mirror of
https://github.com/ikawrakow/ik_llama.cpp.git
synced 2026-01-26 17:20:01 +00:00
645 lines
4.4 MiB
645 lines
4.4 MiB
<!doctype html>
|
||
<html>
|
||
<head>
|
||
<meta charset="UTF-8" />
|
||
<meta
|
||
name="viewport"
|
||
content="width=device-width, initial-scale=1, maximum-scale=1"
|
||
/>
|
||
<meta name="color-scheme" content="light dark" />
|
||
<link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>🦙</text></svg>">
|
||
<title>ik_llama.cpp</title>
|
||
<script type="module" crossorigin>var qO=Object.defineProperty;var Hw=l=>{throw TypeError(l)};var $O=(l,t,e)=>t in l?qO(l,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):l[t]=e;var We=(l,t,e)=>$O(l,typeof t!="symbol"?t+"":t,e),hT=(l,t,e)=>t.has(l)||Hw("Cannot "+e);var m=(l,t,e)=>(hT(l,t,"read from private field"),e?e.call(l):t.get(l)),k=(l,t,e)=>t.has(l)?Hw("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(l):t.set(l,e),z=(l,t,e,n)=>(hT(l,t,"write to private field"),n?n.call(l,e):t.set(l,e),e),J=(l,t,e)=>(hT(l,t,"access private method"),e);var Ri=(l,t,e,n)=>({set _(i){z(l,t,i,e)},get _(){return m(l,t,n)}});(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const s of i)if(s.type==="childList")for(const a of s.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&n(a)}).observe(document,{childList:!0,subtree:!0});function e(i){const s={};return i.integrity&&(s.integrity=i.integrity),i.referrerPolicy&&(s.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?s.credentials="include":i.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function n(i){if(i.ep)return;i.ep=!0;const s=e(i);fetch(i.href,s)}})();var tj=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Gh(l){return l&&l.__esModule&&Object.prototype.hasOwnProperty.call(l,"default")?l.default:l}var bT={exports:{}},jp={},ZT={exports:{}},Fl={};/**
|
||
* @license React
|
||
* react.production.min.js
|
||
*
|
||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||
*
|
||
* This source code is licensed under the MIT license found in the
|
||
* LICENSE file in the root directory of this source tree.
|
||
*/var Qw;function ej(){if(Qw)return Fl;Qw=1;var l=Symbol.for("react.element"),t=Symbol.for("react.portal"),e=Symbol.for("react.fragment"),n=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),s=Symbol.for("react.provider"),a=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),o=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),b=Symbol.iterator;function p(nt){return nt===null||typeof nt!="object"?null:(nt=b&&nt[b]||nt["@@iterator"],typeof nt=="function"?nt:null)}var y={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},M=Object.assign,T={};function Y(nt,bt,$){this.props=nt,this.context=bt,this.refs=T,this.updater=$||y}Y.prototype.isReactComponent={},Y.prototype.setState=function(nt,bt){if(typeof nt!="object"&&typeof nt!="function"&&nt!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,nt,bt,"setState")},Y.prototype.forceUpdate=function(nt){this.updater.enqueueForceUpdate(this,nt,"forceUpdate")};function L(){}L.prototype=Y.prototype;function x(nt,bt,$){this.props=nt,this.context=bt,this.refs=T,this.updater=$||y}var g=x.prototype=new L;g.constructor=x,M(g,Y.prototype),g.isPureReactComponent=!0;var F=Array.isArray,j=Object.prototype.hasOwnProperty,D={current:null},_={key:!0,ref:!0,__self:!0,__source:!0};function ut(nt,bt,$){var _t,ce={},ne=null,Nt=null;if(bt!=null)for(_t in bt.ref!==void 0&&(Nt=bt.ref),bt.key!==void 0&&(ne=""+bt.key),bt)j.call(bt,_t)&&!_.hasOwnProperty(_t)&&(ce[_t]=bt[_t]);var xt=arguments.length-2;if(xt===1)ce.children=$;else if(1<xt){for(var Zt=Array(xt),Ft=0;Ft<xt;Ft++)Zt[Ft]=arguments[Ft+2];ce.children=Zt}if(nt&&nt.defaultProps)for(_t in xt=nt.defaultProps,xt)ce[_t]===void 0&&(ce[_t]=xt[_t]);return{$$typeof:l,type:nt,key:ne,ref:Nt,props:ce,_owner:D.current}}function K(nt,bt){return{$$typeof:l,type:nt.type,key:bt,ref:nt.ref,props:nt.props,_owner:nt._owner}}function f(nt){return typeof nt=="object"&&nt!==null&&nt.$$typeof===l}function lt(nt){var bt={"=":"=0",":":"=2"};return"$"+nt.replace(/[=:]/g,function($){return bt[$]})}var tt=/\/+/g;function ht(nt,bt){return typeof nt=="object"&&nt!==null&&nt.key!=null?lt(""+nt.key):bt.toString(36)}function dt(nt,bt,$,_t,ce){var ne=typeof nt;(ne==="undefined"||ne==="boolean")&&(nt=null);var Nt=!1;if(nt===null)Nt=!0;else switch(ne){case"string":case"number":Nt=!0;break;case"object":switch(nt.$$typeof){case l:case t:Nt=!0}}if(Nt)return Nt=nt,ce=ce(Nt),nt=_t===""?"."+ht(Nt,0):_t,F(ce)?($="",nt!=null&&($=nt.replace(tt,"$&/")+"/"),dt(ce,bt,$,"",function(Ft){return Ft})):ce!=null&&(f(ce)&&(ce=K(ce,$+(!ce.key||Nt&&Nt.key===ce.key?"":(""+ce.key).replace(tt,"$&/")+"/")+nt)),bt.push(ce)),1;if(Nt=0,_t=_t===""?".":_t+":",F(nt))for(var xt=0;xt<nt.length;xt++){ne=nt[xt];var Zt=_t+ht(ne,xt);Nt+=dt(ne,bt,$,Zt,ce)}else if(Zt=p(nt),typeof Zt=="function")for(nt=Zt.call(nt),xt=0;!(ne=nt.next()).done;)ne=ne.value,Zt=_t+ht(ne,xt++),Nt+=dt(ne,bt,$,Zt,ce);else if(ne==="object")throw bt=String(nt),Error("Objects are not valid as a React child (found: "+(bt==="[object Object]"?"object with keys {"+Object.keys(nt).join(", ")+"}":bt)+"). If you meant to render a collection of children, use an array instead.");return Nt}function It(nt,bt,$){if(nt==null)return nt;var _t=[],ce=0;return dt(nt,_t,"","",function(ne){return bt.call($,ne,ce++)}),_t}function kt(nt){if(nt._status===-1){var bt=nt._result;bt=bt(),bt.then(function($){(nt._status===0||nt._status===-1)&&(nt._status=1,nt._result=$)},function($){(nt._status===0||nt._status===-1)&&(nt._status=2,nt._result=$)}),nt._status===-1&&(nt._status=0,nt._result=bt)}if(nt._status===1)return nt._result.default;throw nt._result}var Gt={current:null},gt={transition:null},vt={ReactCurrentDispatcher:Gt,ReactCurrentBatchConfig:gt,ReactCurrentOwner:D};function H(){throw Error("act(...) is not supported in production builds of React.")}return Fl.Children={map:It,forEach:function(nt,bt,$){It(nt,function(){bt.apply(this,arguments)},$)},count:function(nt){var bt=0;return It(nt,function(){bt++}),bt},toArray:function(nt){return It(nt,function(bt){return bt})||[]},only:function(nt){if(!f(nt))throw Error("React.Children.only expected to receive a single React element child.");return nt}},Fl.Component=Y,Fl.Fragment=e,Fl.Profiler=i,Fl.PureComponent=x,Fl.StrictMode=n,Fl.Suspense=o,Fl.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=vt,Fl.act=H,Fl.cloneElement=function(nt,bt,$){if(nt==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+nt+".");var _t=M({},nt.props),ce=nt.key,ne=nt.ref,Nt=nt._owner;if(bt!=null){if(bt.ref!==void 0&&(ne=bt.ref,Nt=D.current),bt.key!==void 0&&(ce=""+bt.key),nt.type&&nt.type.defaultProps)var xt=nt.type.defaultProps;for(Zt in bt)j.call(bt,Zt)&&!_.hasOwnProperty(Zt)&&(_t[Zt]=bt[Zt]===void 0&&xt!==void 0?xt[Zt]:bt[Zt])}var Zt=arguments.length-2;if(Zt===1)_t.children=$;else if(1<Zt){xt=Array(Zt);for(var Ft=0;Ft<Zt;Ft++)xt[Ft]=arguments[Ft+2];_t.children=xt}return{$$typeof:l,type:nt.type,key:ce,ref:ne,props:_t,_owner:Nt}},Fl.createContext=function(nt){return nt={$$typeof:a,_currentValue:nt,_currentValue2:nt,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},nt.Provider={$$typeof:s,_context:nt},nt.Consumer=nt},Fl.createElement=ut,Fl.createFactory=function(nt){var bt=ut.bind(null,nt);return bt.type=nt,bt},Fl.createRef=function(){return{current:null}},Fl.forwardRef=function(nt){return{$$typeof:c,render:nt}},Fl.isValidElement=f,Fl.lazy=function(nt){return{$$typeof:h,_payload:{_status:-1,_result:nt},_init:kt}},Fl.memo=function(nt,bt){return{$$typeof:d,type:nt,compare:bt===void 0?null:bt}},Fl.startTransition=function(nt){var bt=gt.transition;gt.transition={};try{nt()}finally{gt.transition=bt}},Fl.unstable_act=H,Fl.useCallback=function(nt,bt){return Gt.current.useCallback(nt,bt)},Fl.useContext=function(nt){return Gt.current.useContext(nt)},Fl.useDebugValue=function(){},Fl.useDeferredValue=function(nt){return Gt.current.useDeferredValue(nt)},Fl.useEffect=function(nt,bt){return Gt.current.useEffect(nt,bt)},Fl.useId=function(){return Gt.current.useId()},Fl.useImperativeHandle=function(nt,bt,$){return Gt.current.useImperativeHandle(nt,bt,$)},Fl.useInsertionEffect=function(nt,bt){return Gt.current.useInsertionEffect(nt,bt)},Fl.useLayoutEffect=function(nt,bt){return Gt.current.useLayoutEffect(nt,bt)},Fl.useMemo=function(nt,bt){return Gt.current.useMemo(nt,bt)},Fl.useReducer=function(nt,bt,$){return Gt.current.useReducer(nt,bt,$)},Fl.useRef=function(nt){return Gt.current.useRef(nt)},Fl.useState=function(nt){return Gt.current.useState(nt)},Fl.useSyncExternalStore=function(nt,bt,$){return Gt.current.useSyncExternalStore(nt,bt,$)},Fl.useTransition=function(){return Gt.current.useTransition()},Fl.version="18.3.1",Fl}var Bw;function KL(){return Bw||(Bw=1,ZT.exports=ej()),ZT.exports}/**
|
||
* @license React
|
||
* react-jsx-runtime.production.min.js
|
||
*
|
||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||
*
|
||
* This source code is licensed under the MIT license found in the
|
||
* LICENSE file in the root directory of this source tree.
|
||
*/var Aw;function lj(){if(Aw)return jp;Aw=1;var l=KL(),t=Symbol.for("react.element"),e=Symbol.for("react.fragment"),n=Object.prototype.hasOwnProperty,i=l.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function a(c,o,d){var h,b={},p=null,y=null;d!==void 0&&(p=""+d),o.key!==void 0&&(p=""+o.key),o.ref!==void 0&&(y=o.ref);for(h in o)n.call(o,h)&&!s.hasOwnProperty(h)&&(b[h]=o[h]);if(c&&c.defaultProps)for(h in o=c.defaultProps,o)b[h]===void 0&&(b[h]=o[h]);return{$$typeof:t,type:c,key:p,ref:y,props:b,_owner:i.current}}return jp.Fragment=e,jp.jsx=a,jp.jsxs=a,jp}var _w;function nj(){return _w||(_w=1,bT.exports=lj()),bT.exports}var U=nj(),B=KL();const I2=Gh(B);var EN={},pT={exports:{}},ra={},yT={exports:{}},WT={};/**
|
||
* @license React
|
||
* scheduler.production.min.js
|
||
*
|
||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||
*
|
||
* This source code is licensed under the MIT license found in the
|
||
* LICENSE file in the root directory of this source tree.
|
||
*/var qw;function ij(){return qw||(qw=1,function(l){function t(gt,vt){var H=gt.length;gt.push(vt);t:for(;0<H;){var nt=H-1>>>1,bt=gt[nt];if(0<i(bt,vt))gt[nt]=vt,gt[H]=bt,H=nt;else break t}}function e(gt){return gt.length===0?null:gt[0]}function n(gt){if(gt.length===0)return null;var vt=gt[0],H=gt.pop();if(H!==vt){gt[0]=H;t:for(var nt=0,bt=gt.length,$=bt>>>1;nt<$;){var _t=2*(nt+1)-1,ce=gt[_t],ne=_t+1,Nt=gt[ne];if(0>i(ce,H))ne<bt&&0>i(Nt,ce)?(gt[nt]=Nt,gt[ne]=H,nt=ne):(gt[nt]=ce,gt[_t]=H,nt=_t);else if(ne<bt&&0>i(Nt,H))gt[nt]=Nt,gt[ne]=H,nt=ne;else break t}}return vt}function i(gt,vt){var H=gt.sortIndex-vt.sortIndex;return H!==0?H:gt.id-vt.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;l.unstable_now=function(){return s.now()}}else{var a=Date,c=a.now();l.unstable_now=function(){return a.now()-c}}var o=[],d=[],h=1,b=null,p=3,y=!1,M=!1,T=!1,Y=typeof setTimeout=="function"?setTimeout:null,L=typeof clearTimeout=="function"?clearTimeout:null,x=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function g(gt){for(var vt=e(d);vt!==null;){if(vt.callback===null)n(d);else if(vt.startTime<=gt)n(d),vt.sortIndex=vt.expirationTime,t(o,vt);else break;vt=e(d)}}function F(gt){if(T=!1,g(gt),!M)if(e(o)!==null)M=!0,kt(j);else{var vt=e(d);vt!==null&&Gt(F,vt.startTime-gt)}}function j(gt,vt){M=!1,T&&(T=!1,L(ut),ut=-1),y=!0;var H=p;try{for(g(vt),b=e(o);b!==null&&(!(b.expirationTime>vt)||gt&&!lt());){var nt=b.callback;if(typeof nt=="function"){b.callback=null,p=b.priorityLevel;var bt=nt(b.expirationTime<=vt);vt=l.unstable_now(),typeof bt=="function"?b.callback=bt:b===e(o)&&n(o),g(vt)}else n(o);b=e(o)}if(b!==null)var $=!0;else{var _t=e(d);_t!==null&&Gt(F,_t.startTime-vt),$=!1}return $}finally{b=null,p=H,y=!1}}var D=!1,_=null,ut=-1,K=5,f=-1;function lt(){return!(l.unstable_now()-f<K)}function tt(){if(_!==null){var gt=l.unstable_now();f=gt;var vt=!0;try{vt=_(!0,gt)}finally{vt?ht():(D=!1,_=null)}}else D=!1}var ht;if(typeof x=="function")ht=function(){x(tt)};else if(typeof MessageChannel<"u"){var dt=new MessageChannel,It=dt.port2;dt.port1.onmessage=tt,ht=function(){It.postMessage(null)}}else ht=function(){Y(tt,0)};function kt(gt){_=gt,D||(D=!0,ht())}function Gt(gt,vt){ut=Y(function(){gt(l.unstable_now())},vt)}l.unstable_IdlePriority=5,l.unstable_ImmediatePriority=1,l.unstable_LowPriority=4,l.unstable_NormalPriority=3,l.unstable_Profiling=null,l.unstable_UserBlockingPriority=2,l.unstable_cancelCallback=function(gt){gt.callback=null},l.unstable_continueExecution=function(){M||y||(M=!0,kt(j))},l.unstable_forceFrameRate=function(gt){0>gt||125<gt?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):K=0<gt?Math.floor(1e3/gt):5},l.unstable_getCurrentPriorityLevel=function(){return p},l.unstable_getFirstCallbackNode=function(){return e(o)},l.unstable_next=function(gt){switch(p){case 1:case 2:case 3:var vt=3;break;default:vt=p}var H=p;p=vt;try{return gt()}finally{p=H}},l.unstable_pauseExecution=function(){},l.unstable_requestPaint=function(){},l.unstable_runWithPriority=function(gt,vt){switch(gt){case 1:case 2:case 3:case 4:case 5:break;default:gt=3}var H=p;p=gt;try{return vt()}finally{p=H}},l.unstable_scheduleCallback=function(gt,vt,H){var nt=l.unstable_now();switch(typeof H=="object"&&H!==null?(H=H.delay,H=typeof H=="number"&&0<H?nt+H:nt):H=nt,gt){case 1:var bt=-1;break;case 2:bt=250;break;case 5:bt=1073741823;break;case 4:bt=1e4;break;default:bt=5e3}return bt=H+bt,gt={id:h++,callback:vt,priorityLevel:gt,startTime:H,expirationTime:bt,sortIndex:-1},H>nt?(gt.sortIndex=H,t(d,gt),e(o)===null&>===e(d)&&(T?(L(ut),ut=-1):T=!0,Gt(F,H-nt))):(gt.sortIndex=bt,t(o,gt),M||y||(M=!0,kt(j))),gt},l.unstable_shouldYield=lt,l.unstable_wrapCallback=function(gt){var vt=p;return function(){var H=p;p=vt;try{return gt.apply(this,arguments)}finally{p=H}}}}(WT)),WT}var $w;function sj(){return $w||($w=1,yT.exports=ij()),yT.exports}/**
|
||
* @license React
|
||
* react-dom.production.min.js
|
||
*
|
||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||
*
|
||
* This source code is licensed under the MIT license found in the
|
||
* LICENSE file in the root directory of this source tree.
|
||
*/var tz;function aj(){if(tz)return ra;tz=1;var l=KL(),t=sj();function e(r){for(var u="https://reactjs.org/docs/error-decoder.html?invariant="+r,Z=1;Z<arguments.length;Z++)u+="&args[]="+encodeURIComponent(arguments[Z]);return"Minified React error #"+r+"; visit "+u+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var n=new Set,i={};function s(r,u){a(r,u),a(r+"Capture",u)}function a(r,u){for(i[r]=u,r=0;r<u.length;r++)n.add(u[r])}var c=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),o=Object.prototype.hasOwnProperty,d=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,h={},b={};function p(r){return o.call(b,r)?!0:o.call(h,r)?!1:d.test(r)?b[r]=!0:(h[r]=!0,!1)}function y(r,u,Z,N){if(Z!==null&&Z.type===0)return!1;switch(typeof u){case"function":case"symbol":return!0;case"boolean":return N?!1:Z!==null?!Z.acceptsBooleans:(r=r.toLowerCase().slice(0,5),r!=="data-"&&r!=="aria-");default:return!1}}function M(r,u,Z,N){if(u===null||typeof u>"u"||y(r,u,Z,N))return!0;if(N)return!1;if(Z!==null)switch(Z.type){case 3:return!u;case 4:return u===!1;case 5:return isNaN(u);case 6:return isNaN(u)||1>u}return!1}function T(r,u,Z,N,X,w,E){this.acceptsBooleans=u===2||u===3||u===4,this.attributeName=N,this.attributeNamespace=X,this.mustUseProperty=Z,this.propertyName=r,this.type=u,this.sanitizeURL=w,this.removeEmptyString=E}var Y={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(r){Y[r]=new T(r,0,!1,r,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(r){var u=r[0];Y[u]=new T(u,1,!1,r[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(r){Y[r]=new T(r,2,!1,r.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(r){Y[r]=new T(r,2,!1,r,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(r){Y[r]=new T(r,3,!1,r.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(r){Y[r]=new T(r,3,!0,r,null,!1,!1)}),["capture","download"].forEach(function(r){Y[r]=new T(r,4,!1,r,null,!1,!1)}),["cols","rows","size","span"].forEach(function(r){Y[r]=new T(r,6,!1,r,null,!1,!1)}),["rowSpan","start"].forEach(function(r){Y[r]=new T(r,5,!1,r.toLowerCase(),null,!1,!1)});var L=/[\-:]([a-z])/g;function x(r){return r[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(r){var u=r.replace(L,x);Y[u]=new T(u,1,!1,r,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(r){var u=r.replace(L,x);Y[u]=new T(u,1,!1,r,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(r){var u=r.replace(L,x);Y[u]=new T(u,1,!1,r,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(r){Y[r]=new T(r,1,!1,r.toLowerCase(),null,!1,!1)}),Y.xlinkHref=new T("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(r){Y[r]=new T(r,1,!1,r.toLowerCase(),null,!0,!0)});function g(r,u,Z,N){var X=Y.hasOwnProperty(u)?Y[u]:null;(X!==null?X.type!==0:N||!(2<u.length)||u[0]!=="o"&&u[0]!=="O"||u[1]!=="n"&&u[1]!=="N")&&(M(u,Z,X,N)&&(Z=null),N||X===null?p(u)&&(Z===null?r.removeAttribute(u):r.setAttribute(u,""+Z)):X.mustUseProperty?r[X.propertyName]=Z===null?X.type===3?!1:"":Z:(u=X.attributeName,N=X.attributeNamespace,Z===null?r.removeAttribute(u):(X=X.type,Z=X===3||X===4&&Z===!0?"":""+Z,N?r.setAttributeNS(N,u,Z):r.setAttribute(u,Z))))}var F=l.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,j=Symbol.for("react.element"),D=Symbol.for("react.portal"),_=Symbol.for("react.fragment"),ut=Symbol.for("react.strict_mode"),K=Symbol.for("react.profiler"),f=Symbol.for("react.provider"),lt=Symbol.for("react.context"),tt=Symbol.for("react.forward_ref"),ht=Symbol.for("react.suspense"),dt=Symbol.for("react.suspense_list"),It=Symbol.for("react.memo"),kt=Symbol.for("react.lazy"),Gt=Symbol.for("react.offscreen"),gt=Symbol.iterator;function vt(r){return r===null||typeof r!="object"?null:(r=gt&&r[gt]||r["@@iterator"],typeof r=="function"?r:null)}var H=Object.assign,nt;function bt(r){if(nt===void 0)try{throw Error()}catch(Z){var u=Z.stack.trim().match(/\n( *(at )?)/);nt=u&&u[1]||""}return`
|
||
`+nt+r}var $=!1;function _t(r,u){if(!r||$)return"";$=!0;var Z=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(u)if(u=function(){throw Error()},Object.defineProperty(u.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(u,[])}catch(Kt){var N=Kt}Reflect.construct(r,[],u)}else{try{u.call()}catch(Kt){N=Kt}r.call(u.prototype)}else{try{throw Error()}catch(Kt){N=Kt}r()}}catch(Kt){if(Kt&&N&&typeof Kt.stack=="string"){for(var X=Kt.stack.split(`
|
||
`),w=N.stack.split(`
|
||
`),E=X.length-1,st=w.length-1;1<=E&&0<=st&&X[E]!==w[st];)st--;for(;1<=E&&0<=st;E--,st--)if(X[E]!==w[st]){if(E!==1||st!==1)do if(E--,st--,0>st||X[E]!==w[st]){var pt=`
|
||
`+X[E].replace(" at new "," at ");return r.displayName&&pt.includes("<anonymous>")&&(pt=pt.replace("<anonymous>",r.displayName)),pt}while(1<=E&&0<=st);break}}}finally{$=!1,Error.prepareStackTrace=Z}return(r=r?r.displayName||r.name:"")?bt(r):""}function ce(r){switch(r.tag){case 5:return bt(r.type);case 16:return bt("Lazy");case 13:return bt("Suspense");case 19:return bt("SuspenseList");case 0:case 2:case 15:return r=_t(r.type,!1),r;case 11:return r=_t(r.type.render,!1),r;case 1:return r=_t(r.type,!0),r;default:return""}}function ne(r){if(r==null)return null;if(typeof r=="function")return r.displayName||r.name||null;if(typeof r=="string")return r;switch(r){case _:return"Fragment";case D:return"Portal";case K:return"Profiler";case ut:return"StrictMode";case ht:return"Suspense";case dt:return"SuspenseList"}if(typeof r=="object")switch(r.$$typeof){case lt:return(r.displayName||"Context")+".Consumer";case f:return(r._context.displayName||"Context")+".Provider";case tt:var u=r.render;return r=r.displayName,r||(r=u.displayName||u.name||"",r=r!==""?"ForwardRef("+r+")":"ForwardRef"),r;case It:return u=r.displayName||null,u!==null?u:ne(r.type)||"Memo";case kt:u=r._payload,r=r._init;try{return ne(r(u))}catch{}}return null}function Nt(r){var u=r.type;switch(r.tag){case 24:return"Cache";case 9:return(u.displayName||"Context")+".Consumer";case 10:return(u._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return r=u.render,r=r.displayName||r.name||"",u.displayName||(r!==""?"ForwardRef("+r+")":"ForwardRef");case 7:return"Fragment";case 5:return u;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ne(u);case 8:return u===ut?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof u=="function")return u.displayName||u.name||null;if(typeof u=="string")return u}return null}function xt(r){switch(typeof r){case"boolean":case"number":case"string":case"undefined":return r;case"object":return r;default:return""}}function Zt(r){var u=r.type;return(r=r.nodeName)&&r.toLowerCase()==="input"&&(u==="checkbox"||u==="radio")}function Ft(r){var u=Zt(r)?"checked":"value",Z=Object.getOwnPropertyDescriptor(r.constructor.prototype,u),N=""+r[u];if(!r.hasOwnProperty(u)&&typeof Z<"u"&&typeof Z.get=="function"&&typeof Z.set=="function"){var X=Z.get,w=Z.set;return Object.defineProperty(r,u,{configurable:!0,get:function(){return X.call(this)},set:function(E){N=""+E,w.call(this,E)}}),Object.defineProperty(r,u,{enumerable:Z.enumerable}),{getValue:function(){return N},setValue:function(E){N=""+E},stopTracking:function(){r._valueTracker=null,delete r[u]}}}}function te(r){r._valueTracker||(r._valueTracker=Ft(r))}function he(r){if(!r)return!1;var u=r._valueTracker;if(!u)return!0;var Z=u.getValue(),N="";return r&&(N=Zt(r)?r.checked?"true":"false":r.value),r=N,r!==Z?(u.setValue(r),!0):!1}function $e(r){if(r=r||(typeof document<"u"?document:void 0),typeof r>"u")return null;try{return r.activeElement||r.body}catch{return r.body}}function je(r,u){var Z=u.checked;return H({},u,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:Z??r._wrapperState.initialChecked})}function xe(r,u){var Z=u.defaultValue==null?"":u.defaultValue,N=u.checked!=null?u.checked:u.defaultChecked;Z=xt(u.value!=null?u.value:Z),r._wrapperState={initialChecked:N,initialValue:Z,controlled:u.type==="checkbox"||u.type==="radio"?u.checked!=null:u.value!=null}}function Ke(r,u){u=u.checked,u!=null&&g(r,"checked",u,!1)}function Vl(r,u){Ke(r,u);var Z=xt(u.value),N=u.type;if(Z!=null)N==="number"?(Z===0&&r.value===""||r.value!=Z)&&(r.value=""+Z):r.value!==""+Z&&(r.value=""+Z);else if(N==="submit"||N==="reset"){r.removeAttribute("value");return}u.hasOwnProperty("value")?Pl(r,u.type,Z):u.hasOwnProperty("defaultValue")&&Pl(r,u.type,xt(u.defaultValue)),u.checked==null&&u.defaultChecked!=null&&(r.defaultChecked=!!u.defaultChecked)}function gl(r,u,Z){if(u.hasOwnProperty("value")||u.hasOwnProperty("defaultValue")){var N=u.type;if(!(N!=="submit"&&N!=="reset"||u.value!==void 0&&u.value!==null))return;u=""+r._wrapperState.initialValue,Z||u===r.value||(r.value=u),r.defaultValue=u}Z=r.name,Z!==""&&(r.name=""),r.defaultChecked=!!r._wrapperState.initialChecked,Z!==""&&(r.name=Z)}function Pl(r,u,Z){(u!=="number"||$e(r.ownerDocument)!==r)&&(Z==null?r.defaultValue=""+r._wrapperState.initialValue:r.defaultValue!==""+Z&&(r.defaultValue=""+Z))}var Ql=Array.isArray;function El(r,u,Z,N){if(r=r.options,u){u={};for(var X=0;X<Z.length;X++)u["$"+Z[X]]=!0;for(Z=0;Z<r.length;Z++)X=u.hasOwnProperty("$"+r[Z].value),r[Z].selected!==X&&(r[Z].selected=X),X&&N&&(r[Z].defaultSelected=!0)}else{for(Z=""+xt(Z),u=null,X=0;X<r.length;X++){if(r[X].value===Z){r[X].selected=!0,N&&(r[X].defaultSelected=!0);return}u!==null||r[X].disabled||(u=r[X])}u!==null&&(u.selected=!0)}}function pn(r,u){if(u.dangerouslySetInnerHTML!=null)throw Error(e(91));return H({},u,{value:void 0,defaultValue:void 0,children:""+r._wrapperState.initialValue})}function sn(r,u){var Z=u.value;if(Z==null){if(Z=u.children,u=u.defaultValue,Z!=null){if(u!=null)throw Error(e(92));if(Ql(Z)){if(1<Z.length)throw Error(e(93));Z=Z[0]}u=Z}u==null&&(u=""),Z=u}r._wrapperState={initialValue:xt(Z)}}function qt(r,u){var Z=xt(u.value),N=xt(u.defaultValue);Z!=null&&(Z=""+Z,Z!==r.value&&(r.value=Z),u.defaultValue==null&&r.defaultValue!==Z&&(r.defaultValue=Z)),N!=null&&(r.defaultValue=""+N)}function de(r){var u=r.textContent;u===r._wrapperState.initialValue&&u!==""&&u!==null&&(r.value=u)}function Yt(r){switch(r){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Jt(r,u){return r==null||r==="http://www.w3.org/1999/xhtml"?Yt(u):r==="http://www.w3.org/2000/svg"&&u==="foreignObject"?"http://www.w3.org/1999/xhtml":r}var be,ee=function(r){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(u,Z,N,X){MSApp.execUnsafeLocalFunction(function(){return r(u,Z,N,X)})}:r}(function(r,u){if(r.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in r)r.innerHTML=u;else{for(be=be||document.createElement("div"),be.innerHTML="<svg>"+u.valueOf().toString()+"</svg>",u=be.firstChild;r.firstChild;)r.removeChild(r.firstChild);for(;u.firstChild;)r.appendChild(u.firstChild)}});function Q(r,u){if(u){var Z=r.firstChild;if(Z&&Z===r.lastChild&&Z.nodeType===3){Z.nodeValue=u;return}}r.textContent=u}var C={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},q=["Webkit","ms","Moz","O"];Object.keys(C).forEach(function(r){q.forEach(function(u){u=u+r.charAt(0).toUpperCase()+r.substring(1),C[u]=C[r]})});function mt(r,u,Z){return u==null||typeof u=="boolean"||u===""?"":Z||typeof u!="number"||u===0||C.hasOwnProperty(r)&&C[r]?(""+u).trim():u+"px"}function Vt(r,u){r=r.style;for(var Z in u)if(u.hasOwnProperty(Z)){var N=Z.indexOf("--")===0,X=mt(Z,u[Z],N);Z==="float"&&(Z="cssFloat"),N?r.setProperty(Z,X):r[Z]=X}}var ie=H({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Ot(r,u){if(u){if(ie[r]&&(u.children!=null||u.dangerouslySetInnerHTML!=null))throw Error(e(137,r));if(u.dangerouslySetInnerHTML!=null){if(u.children!=null)throw Error(e(60));if(typeof u.dangerouslySetInnerHTML!="object"||!("__html"in u.dangerouslySetInnerHTML))throw Error(e(61))}if(u.style!=null&&typeof u.style!="object")throw Error(e(62))}}function fe(r,u){if(r.indexOf("-")===-1)return typeof u.is=="string";switch(r){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var oe=null;function _e(r){return r=r.target||r.srcElement||window,r.correspondingUseElement&&(r=r.correspondingUseElement),r.nodeType===3?r.parentNode:r}var $t=null,hl=null,xl=null;function Nl(r){if(r=Xp(r)){if(typeof $t!="function")throw Error(e(280));var u=r.stateNode;u&&(u=sN(u),$t(r.stateNode,r.type,u))}}function it(r){hl?xl?xl.push(r):xl=[r]:hl=r}function Et(){if(hl){var r=hl,u=xl;if(xl=hl=null,Nl(r),u)for(r=0;r<u.length;r++)Nl(u[r])}}function le(r,u){return r(u)}function Me(){}var ml=!1;function Ne(r,u,Z){if(ml)return r(u,Z);ml=!0;try{return le(r,u,Z)}finally{ml=!1,(hl!==null||xl!==null)&&(Me(),Et())}}function Ut(r,u){var Z=r.stateNode;if(Z===null)return null;var N=sN(Z);if(N===null)return null;Z=N[u];t:switch(u){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(N=!N.disabled)||(r=r.type,N=!(r==="button"||r==="input"||r==="select"||r==="textarea")),r=!N;break t;default:r=!1}if(r)return null;if(Z&&typeof Z!="function")throw Error(e(231,u,typeof Z));return Z}var At=!1;if(c)try{var Qt={};Object.defineProperty(Qt,"passive",{get:function(){At=!0}}),window.addEventListener("test",Qt,Qt),window.removeEventListener("test",Qt,Qt)}catch{At=!1}function Ve(r,u,Z,N,X,w,E,st,pt){var Kt=Array.prototype.slice.call(arguments,3);try{u.apply(Z,Kt)}catch(re){this.onError(re)}}var He=!1,hn=null,Bl=!1,Yn=null,vi={onError:function(r){He=!0,hn=r}};function Il(r,u,Z,N,X,w,E,st,pt){He=!1,hn=null,Ve.apply(vi,arguments)}function Pn(r,u,Z,N,X,w,E,st,pt){if(Il.apply(this,arguments),He){if(He){var Kt=hn;He=!1,hn=null}else throw Error(e(198));Bl||(Bl=!0,Yn=Kt)}}function Yl(r){var u=r,Z=r;if(r.alternate)for(;u.return;)u=u.return;else{r=u;do u=r,u.flags&4098&&(Z=u.return),r=u.return;while(r)}return u.tag===3?Z:null}function Hn(r){if(r.tag===13){var u=r.memoizedState;if(u===null&&(r=r.alternate,r!==null&&(u=r.memoizedState)),u!==null)return u.dehydrated}return null}function Qn(r){if(Yl(r)!==r)throw Error(e(188))}function Ln(r){var u=r.alternate;if(!u){if(u=Yl(r),u===null)throw Error(e(188));return u!==r?null:r}for(var Z=r,N=u;;){var X=Z.return;if(X===null)break;var w=X.alternate;if(w===null){if(N=X.return,N!==null){Z=N;continue}break}if(X.child===w.child){for(w=X.child;w;){if(w===Z)return Qn(X),r;if(w===N)return Qn(X),u;w=w.sibling}throw Error(e(188))}if(Z.return!==N.return)Z=X,N=w;else{for(var E=!1,st=X.child;st;){if(st===Z){E=!0,Z=X,N=w;break}if(st===N){E=!0,N=X,Z=w;break}st=st.sibling}if(!E){for(st=w.child;st;){if(st===Z){E=!0,Z=w,N=X;break}if(st===N){E=!0,N=w,Z=X;break}st=st.sibling}if(!E)throw Error(e(189))}}if(Z.alternate!==N)throw Error(e(190))}if(Z.tag!==3)throw Error(e(188));return Z.stateNode.current===Z?r:u}function zi(r){return r=Ln(r),r!==null?Ns(r):null}function Ns(r){if(r.tag===5||r.tag===6)return r;for(r=r.child;r!==null;){var u=Ns(r);if(u!==null)return u;r=r.sibling}return null}var ec=t.unstable_scheduleCallback,si=t.unstable_cancelCallback,on=t.unstable_shouldYield,ui=t.unstable_requestPaint,bl=t.unstable_now,Ms=t.unstable_getCurrentPriorityLevel,Ni=t.unstable_ImmediatePriority,ns=t.unstable_UserBlockingPriority,mr=t.unstable_NormalPriority,ye=t.unstable_LowPriority,Qe=t.unstable_IdlePriority,wl=null,fl=null;function On(r){if(fl&&typeof fl.onCommitFiberRoot=="function")try{fl.onCommitFiberRoot(wl,r,void 0,(r.current.flags&128)===128)}catch{}}var ll=Math.clz32?Math.clz32:Ui,Wa=Math.log,ao=Math.LN2;function Ui(r){return r>>>=0,r===0?32:31-(Wa(r)/ao|0)|0}var kl=64,Na=4194304;function ta(r){switch(r&-r){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return r&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return r&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return r}}function ea(r,u){var Z=r.pendingLanes;if(Z===0)return 0;var N=0,X=r.suspendedLanes,w=r.pingedLanes,E=Z&268435455;if(E!==0){var st=E&~X;st!==0?N=ta(st):(w&=E,w!==0&&(N=ta(w)))}else E=Z&~X,E!==0?N=ta(E):w!==0&&(N=ta(w));if(N===0)return 0;if(u!==0&&u!==N&&!(u&X)&&(X=N&-N,w=u&-u,X>=w||X===16&&(w&4194240)!==0))return u;if(N&4&&(N|=Z&16),u=r.entangledLanes,u!==0)for(r=r.entanglements,u&=N;0<u;)Z=31-ll(u),X=1<<Z,N|=r[Z],u&=~X;return N}function y0(r,u){switch(r){case 1:case 2:case 4:return u+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return u+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function W0(r,u){for(var Z=r.suspendedLanes,N=r.pingedLanes,X=r.expirationTimes,w=r.pendingLanes;0<w;){var E=31-ll(w),st=1<<E,pt=X[E];pt===-1?(!(st&Z)||st&N)&&(X[E]=y0(st,u)):pt<=u&&(r.expiredLanes|=st),w&=~st}}function hr(r){return r=r.pendingLanes&-1073741825,r!==0?r:r&1073741824?1073741824:0}function N0(){var r=kl;return kl<<=1,!(kl&4194240)&&(kl=64),r}function Ma(r){for(var u=[],Z=0;31>Z;Z++)u.push(r);return u}function kc(r,u,Z){r.pendingLanes|=u,u!==536870912&&(r.suspendedLanes=0,r.pingedLanes=0),r=r.eventTimes,u=31-ll(u),r[u]=Z}function Ei(r,u){var Z=r.pendingLanes&~u;r.pendingLanes=u,r.suspendedLanes=0,r.pingedLanes=0,r.expiredLanes&=u,r.mutableReadLanes&=u,r.entangledLanes&=u,u=r.entanglements;var N=r.eventTimes;for(r=r.expirationTimes;0<Z;){var X=31-ll(Z),w=1<<X;u[X]=0,N[X]=-1,r[X]=-1,Z&=~w}}function fd(r,u){var Z=r.entangledLanes|=u;for(r=r.entanglements;Z;){var N=31-ll(Z),X=1<<N;X&u|r[N]&u&&(r[N]|=u),Z&=~X}}var Al=0;function Se(r){return r&=-r,1<r?4<r?r&268435455?16:536870912:4:1}var co,Bn,an,mi,is,lc=!1,ss=[],we=null,Fe=null,Ue=null,Ml=new Map,yn=new Map,jn=[],M0="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Ga(r,u){switch(r){case"focusin":case"focusout":we=null;break;case"dragenter":case"dragleave":Fe=null;break;case"mouseover":case"mouseout":Ue=null;break;case"pointerover":case"pointerout":Ml.delete(u.pointerId);break;case"gotpointercapture":case"lostpointercapture":yn.delete(u.pointerId)}}function G0(r,u,Z,N,X,w){return r===null||r.nativeEvent!==w?(r={blockedOn:u,domEventName:Z,eventSystemFlags:N,nativeEvent:w,targetContainers:[X]},u!==null&&(u=Xp(u),u!==null&&Bn(u)),r):(r.eventSystemFlags|=N,u=r.targetContainers,X!==null&&u.indexOf(X)===-1&&u.push(X),r)}function nc(r,u,Z,N,X){switch(u){case"focusin":return we=G0(we,r,u,Z,N,X),!0;case"dragenter":return Fe=G0(Fe,r,u,Z,N,X),!0;case"mouseover":return Ue=G0(Ue,r,u,Z,N,X),!0;case"pointerover":var w=X.pointerId;return Ml.set(w,G0(Ml.get(w)||null,r,u,Z,N,X)),!0;case"gotpointercapture":return w=X.pointerId,yn.set(w,G0(yn.get(w)||null,r,u,Z,N,X)),!0}return!1}function xh(r){var u=k0(r.target);if(u!==null){var Z=Yl(u);if(Z!==null){if(u=Z.tag,u===13){if(u=Hn(Z),u!==null){r.blockedOn=u,is(r.priority,function(){an(Z)});return}}else if(u===3&&Z.stateNode.current.memoizedState.isDehydrated){r.blockedOn=Z.tag===3?Z.stateNode.containerInfo:null;return}}}r.blockedOn=null}function T0(r){if(r.blockedOn!==null)return!1;for(var u=r.targetContainers;0<u.length;){var Z=Y0(r.domEventName,r.eventSystemFlags,u[0],r.nativeEvent);if(Z===null){Z=r.nativeEvent;var N=new Z.constructor(Z.type,Z);oe=N,Z.target.dispatchEvent(N),oe=null}else return u=Xp(Z),u!==null&&Bn(u),r.blockedOn=Z,!1;u.shift()}return!0}function fh(r,u,Z){T0(r)&&Z.delete(u)}function X0(){lc=!1,we!==null&&T0(we)&&(we=null),Fe!==null&&T0(Fe)&&(Fe=null),Ue!==null&&T0(Ue)&&(Ue=null),Ml.forEach(fh),yn.forEach(fh)}function ro(r,u){r.blockedOn===u&&(r.blockedOn=null,lc||(lc=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,X0)))}function Sd(r){function u(X){return ro(X,r)}if(0<ss.length){ro(ss[0],r);for(var Z=1;Z<ss.length;Z++){var N=ss[Z];N.blockedOn===r&&(N.blockedOn=null)}}for(we!==null&&ro(we,r),Fe!==null&&ro(Fe,r),Ue!==null&&ro(Ue,r),Ml.forEach(u),yn.forEach(u),Z=0;Z<jn.length;Z++)N=jn[Z],N.blockedOn===r&&(N.blockedOn=null);for(;0<jn.length&&(Z=jn[0],Z.blockedOn===null);)xh(Z),Z.blockedOn===null&&jn.shift()}var Rd=F.ReactCurrentBatchConfig,br=!0;function QG(r,u,Z,N){var X=Al,w=Rd.transition;Rd.transition=null;try{Al=1,kd(r,u,Z,N)}finally{Al=X,Rd.transition=w}}function BG(r,u,Z,N){var X=Al,w=Rd.transition;Rd.transition=null;try{Al=4,kd(r,u,Z,N)}finally{Al=X,Rd.transition=w}}function kd(r,u,Z,N){if(br){var X=Y0(r,u,Z,N);if(X===null)n5(r,u,N,oo,Z),Ga(r,N);else if(nc(X,r,u,Z,N))N.stopPropagation();else if(Ga(r,N),u&4&&-1<M0.indexOf(r)){for(;X!==null;){var w=Xp(X);if(w!==null&&co(w),w=Y0(r,u,Z,N),w===null&&n5(r,u,N,oo,Z),w===X)break;X=w}X!==null&&N.stopPropagation()}else n5(r,u,N,null,Z)}}var oo=null;function Y0(r,u,Z,N){if(oo=null,r=_e(N),r=k0(r),r!==null)if(u=Yl(r),u===null)r=null;else if(Z=u.tag,Z===13){if(r=Hn(u),r!==null)return r;r=null}else if(Z===3){if(u.stateNode.current.memoizedState.isDehydrated)return u.tag===3?u.stateNode.containerInfo:null;r=null}else u!==r&&(r=null);return oo=r,null}function vW(r){switch(r){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Ms()){case Ni:return 1;case ns:return 4;case mr:case ye:return 16;case Qe:return 536870912;default:return 16}default:return 16}}var Zr=null,up=null,Dd=null;function Sh(){if(Dd)return Dd;var r,u=up,Z=u.length,N,X="value"in Zr?Zr.value:Zr.textContent,w=X.length;for(r=0;r<Z&&u[r]===X[r];r++);var E=Z-r;for(N=1;N<=E&&u[Z-N]===X[w-N];N++);return Dd=X.slice(r,1<N?1-N:void 0)}function L0(r){var u=r.keyCode;return"charCode"in r?(r=r.charCode,r===0&&u===13&&(r=13)):r=u,r===10&&(r=13),32<=r||r===13?r:0}function uo(){return!0}function V0(){return!1}function Ki(r){function u(Z,N,X,w,E){this._reactName=Z,this._targetInst=X,this.type=N,this.nativeEvent=w,this.target=E,this.currentTarget=null;for(var st in r)r.hasOwnProperty(st)&&(Z=r[st],this[st]=Z?Z(w):w[st]);return this.isDefaultPrevented=(w.defaultPrevented!=null?w.defaultPrevented:w.returnValue===!1)?uo:V0,this.isPropagationStopped=V0,this}return H(u.prototype,{preventDefault:function(){this.defaultPrevented=!0;var Z=this.nativeEvent;Z&&(Z.preventDefault?Z.preventDefault():typeof Z.returnValue!="unknown"&&(Z.returnValue=!1),this.isDefaultPrevented=uo)},stopPropagation:function(){var Z=this.nativeEvent;Z&&(Z.stopPropagation?Z.stopPropagation():typeof Z.cancelBubble!="unknown"&&(Z.cancelBubble=!0),this.isPropagationStopped=uo)},persist:function(){},isPersistent:uo}),u}var mo={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(r){return r.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},mp=Ki(mo),pr=H({},mo,{view:0,detail:0}),hp=Ki(pr),I0,w0,ho,hi=H({},pr,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:g0,button:0,buttons:0,relatedTarget:function(r){return r.relatedTarget===void 0?r.fromElement===r.srcElement?r.toElement:r.fromElement:r.relatedTarget},movementX:function(r){return"movementX"in r?r.movementX:(r!==ho&&(ho&&r.type==="mousemove"?(I0=r.screenX-ho.screenX,w0=r.screenY-ho.screenY):w0=I0=0,ho=r),I0)},movementY:function(r){return"movementY"in r?r.movementY:w0}}),Od=Ki(hi),z0=H({},hi,{dataTransfer:0}),UW=Ki(z0),Rh=H({},pr,{relatedTarget:0}),kh=Ki(Rh),EW=H({},mo,{animationName:0,elapsedTime:0,pseudoElement:0}),Dh=Ki(EW),bp=H({},mo,{clipboardData:function(r){return"clipboardData"in r?r.clipboardData:window.clipboardData}}),bo=Ki(bp),Zp=H({},mo,{data:0}),Oh=Ki(Zp),jh={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},pp={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},KW={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function AG(r){var u=this.nativeEvent;return u.getModifierState?u.getModifierState(r):(r=KW[r])?!!u[r]:!1}function g0(){return AG}var Ch=H({},pr,{key:function(r){if(r.key){var u=jh[r.key]||r.key;if(u!=="Unidentified")return u}return r.type==="keypress"?(r=L0(r),r===13?"Enter":String.fromCharCode(r)):r.type==="keydown"||r.type==="keyup"?pp[r.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:g0,charCode:function(r){return r.type==="keypress"?L0(r):0},keyCode:function(r){return r.type==="keydown"||r.type==="keyup"?r.keyCode:0},which:function(r){return r.type==="keypress"?L0(r):r.type==="keydown"||r.type==="keyup"?r.keyCode:0}}),_G=Ki(Ch),yp=H({},hi,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Fh=Ki(yp),qG=H({},pr,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:g0}),PW=Ki(qG),$G=H({},mo,{propertyName:0,elapsedTime:0,pseudoElement:0}),HW=Ki($G),QW=H({},hi,{deltaX:function(r){return"deltaX"in r?r.deltaX:"wheelDeltaX"in r?-r.wheelDeltaX:0},deltaY:function(r){return"deltaY"in r?r.deltaY:"wheelDeltaY"in r?-r.wheelDeltaY:"wheelDelta"in r?-r.wheelDelta:0},deltaZ:0,deltaMode:0}),t5=Ki(QW),BW=[9,13,27,32],x0=c&&"CompositionEvent"in window,jd=null;c&&"documentMode"in document&&(jd=document.documentMode);var AW=c&&"TextEvent"in window&&!jd,_W=c&&(!x0||jd&&8<jd&&11>=jd),qW=" ",$W=!1;function f0(r,u){switch(r){case"keyup":return BW.indexOf(u.keyCode)!==-1;case"keydown":return u.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function ic(r){return r=r.detail,typeof r=="object"&&"data"in r?r.data:null}var Wn=!1;function Jh(r,u){switch(r){case"compositionend":return ic(u);case"keypress":return u.which!==32?null:($W=!0,qW);case"textInput":return r=u.data,r===qW&&$W?null:r;default:return null}}function la(r,u){if(Wn)return r==="compositionend"||!x0&&f0(r,u)?(r=Sh(),Dd=up=Zr=null,Wn=!1,r):null;switch(r){case"paste":return null;case"keypress":if(!(u.ctrlKey||u.altKey||u.metaKey)||u.ctrlKey&&u.altKey){if(u.char&&1<u.char.length)return u.char;if(u.which)return String.fromCharCode(u.which)}return null;case"compositionend":return _W&&u.locale!=="ko"?null:u.data;default:return null}}var e5={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function vh(r){var u=r&&r.nodeName&&r.nodeName.toLowerCase();return u==="input"?!!e5[r.type]:u==="textarea"}function Wp(r,u,Z,N){it(N),u=lN(u,"onChange"),0<u.length&&(Z=new mp("onChange","change",null,Z,N),r.push({event:Z,listeners:u}))}var Ta=null,Zo=null;function Cd(r){oI(r,0)}function Xa(r){var u=Kh(r);if(he(u))return r}function tN(r,u){if(r==="change")return u}var W=!1;if(c){var G;if(c){var I="oninput"in document;if(!I){var R=document.createElement("div");R.setAttribute("oninput","return;"),I=typeof R.oninput=="function"}G=I}else G=!1;W=G&&(!document.documentMode||9<document.documentMode)}function O(){Ta&&(Ta.detachEvent("onpropertychange",P),Zo=Ta=null)}function P(r){if(r.propertyName==="value"&&Xa(Zo)){var u=[];Wp(u,Zo,r,_e(r)),Ne(Cd,u)}}function et(r,u,Z){r==="focusin"?(O(),Ta=u,Zo=Z,Ta.attachEvent("onpropertychange",P)):r==="focusout"&&O()}function ct(r){if(r==="selectionchange"||r==="keyup"||r==="keydown")return Xa(Zo)}function yt(r,u){if(r==="click")return Xa(u)}function Tt(r,u){if(r==="input"||r==="change")return Xa(u)}function zt(r,u){return r===u&&(r!==0||1/r===1/u)||r!==r&&u!==u}var ot=typeof Object.is=="function"?Object.is:zt;function ft(r,u){if(ot(r,u))return!0;if(typeof r!="object"||r===null||typeof u!="object"||u===null)return!1;var Z=Object.keys(r),N=Object.keys(u);if(Z.length!==N.length)return!1;for(N=0;N<Z.length;N++){var X=Z[N];if(!o.call(u,X)||!ot(r[X],u[X]))return!1}return!0}function Wt(r){for(;r&&r.firstChild;)r=r.firstChild;return r}function wt(r,u){var Z=Wt(r);r=0;for(var N;Z;){if(Z.nodeType===3){if(N=r+Z.textContent.length,r<=u&&N>=u)return{node:Z,offset:u-r};r=N}t:{for(;Z;){if(Z.nextSibling){Z=Z.nextSibling;break t}Z=Z.parentNode}Z=void 0}Z=Wt(Z)}}function St(r,u){return r&&u?r===u?!0:r&&r.nodeType===3?!1:u&&u.nodeType===3?St(r,u.parentNode):"contains"in r?r.contains(u):r.compareDocumentPosition?!!(r.compareDocumentPosition(u)&16):!1:!1}function Lt(){for(var r=window,u=$e();u instanceof r.HTMLIFrameElement;){try{var Z=typeof u.contentWindow.location.href=="string"}catch{Z=!1}if(Z)r=u.contentWindow;else break;u=$e(r.document)}return u}function jt(r){var u=r&&r.nodeName&&r.nodeName.toLowerCase();return u&&(u==="input"&&(r.type==="text"||r.type==="search"||r.type==="tel"||r.type==="url"||r.type==="password")||u==="textarea"||r.contentEditable==="true")}function Pt(r){var u=Lt(),Z=r.focusedElem,N=r.selectionRange;if(u!==Z&&Z&&Z.ownerDocument&&St(Z.ownerDocument.documentElement,Z)){if(N!==null&&jt(Z)){if(u=N.start,r=N.end,r===void 0&&(r=u),"selectionStart"in Z)Z.selectionStart=u,Z.selectionEnd=Math.min(r,Z.value.length);else if(r=(u=Z.ownerDocument||document)&&u.defaultView||window,r.getSelection){r=r.getSelection();var X=Z.textContent.length,w=Math.min(N.start,X);N=N.end===void 0?w:Math.min(N.end,X),!r.extend&&w>N&&(X=N,N=w,w=X),X=wt(Z,w);var E=wt(Z,N);X&&E&&(r.rangeCount!==1||r.anchorNode!==X.node||r.anchorOffset!==X.offset||r.focusNode!==E.node||r.focusOffset!==E.offset)&&(u=u.createRange(),u.setStart(X.node,X.offset),r.removeAllRanges(),w>N?(r.addRange(u),r.extend(E.node,E.offset)):(u.setEnd(E.node,E.offset),r.addRange(u)))}}for(u=[],r=Z;r=r.parentNode;)r.nodeType===1&&u.push({element:r,left:r.scrollLeft,top:r.scrollTop});for(typeof Z.focus=="function"&&Z.focus(),Z=0;Z<u.length;Z++)r=u[Z],r.element.scrollLeft=r.left,r.element.scrollTop=r.top}}var Ht=c&&"documentMode"in document&&11>=document.documentMode,Bt=null,Ze=null,Ie=null,pe=!1;function Xe(r,u,Z){var N=Z.window===Z?Z.document:Z.nodeType===9?Z:Z.ownerDocument;pe||Bt==null||Bt!==$e(N)||(N=Bt,"selectionStart"in N&&jt(N)?N={start:N.selectionStart,end:N.selectionEnd}:(N=(N.ownerDocument&&N.ownerDocument.defaultView||window).getSelection(),N={anchorNode:N.anchorNode,anchorOffset:N.anchorOffset,focusNode:N.focusNode,focusOffset:N.focusOffset}),Ie&&ft(Ie,N)||(Ie=N,N=lN(Ze,"onSelect"),0<N.length&&(u=new mp("onSelect","select",null,u,Z),r.push({event:u,listeners:N}),u.target=Bt)))}function ge(r,u){var Z={};return Z[r.toLowerCase()]=u.toLowerCase(),Z["Webkit"+r]="webkit"+u,Z["Moz"+r]="moz"+u,Z}var Ye={animationend:ge("Animation","AnimationEnd"),animationiteration:ge("Animation","AnimationIteration"),animationstart:ge("Animation","AnimationStart"),transitionend:ge("Transition","TransitionEnd")},Oe={},Xl={};c&&(Xl=document.createElement("div").style,"AnimationEvent"in window||(delete Ye.animationend.animation,delete Ye.animationiteration.animation,delete Ye.animationstart.animation),"TransitionEvent"in window||delete Ye.transitionend.transition);function zl(r){if(Oe[r])return Oe[r];if(!Ye[r])return r;var u=Ye[r],Z;for(Z in u)if(u.hasOwnProperty(Z)&&Z in Xl)return Oe[r]=u[Z];return r}var Dl=zl("animationend"),Gs=zl("animationiteration"),Gl=zl("animationstart"),gi=zl("transitionend"),xi=new Map,S0="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Cn(r,u){xi.set(r,u),s(u,[r])}for(var Dc=0;Dc<S0.length;Dc++){var R0=S0[Dc],cO=R0.toLowerCase(),rO=R0[0].toUpperCase()+R0.slice(1);Cn(cO,"on"+rO)}Cn(Dl,"onAnimationEnd"),Cn(Gs,"onAnimationIteration"),Cn(Gl,"onAnimationStart"),Cn("dblclick","onDoubleClick"),Cn("focusin","onFocus"),Cn("focusout","onBlur"),Cn(gi,"onTransitionEnd"),a("onMouseEnter",["mouseout","mouseover"]),a("onMouseLeave",["mouseout","mouseover"]),a("onPointerEnter",["pointerout","pointerover"]),a("onPointerLeave",["pointerout","pointerover"]),s("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),s("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),s("onBeforeInput",["compositionend","keypress","textInput","paste"]),s("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),s("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),s("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Np="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),oO=new Set("cancel close invalid load scroll toggle".split(" ").concat(Np));function rI(r,u,Z){var N=r.type||"unknown-event";r.currentTarget=Z,Pn(N,u,void 0,r),r.currentTarget=null}function oI(r,u){u=(u&4)!==0;for(var Z=0;Z<r.length;Z++){var N=r[Z],X=N.event;N=N.listeners;t:{var w=void 0;if(u)for(var E=N.length-1;0<=E;E--){var st=N[E],pt=st.instance,Kt=st.currentTarget;if(st=st.listener,pt!==w&&X.isPropagationStopped())break t;rI(X,st,Kt),w=pt}else for(E=0;E<N.length;E++){if(st=N[E],pt=st.instance,Kt=st.currentTarget,st=st.listener,pt!==w&&X.isPropagationStopped())break t;rI(X,st,Kt),w=pt}}}if(Bl)throw r=Yn,Bl=!1,Yn=null,r}function Sn(r,u){var Z=u[o5];Z===void 0&&(Z=u[o5]=new Set);var N=r+"__bubble";Z.has(N)||(dI(u,r,2,!1),Z.add(N))}function l5(r,u,Z){var N=0;u&&(N|=4),dI(Z,r,N,u)}var eN="_reactListening"+Math.random().toString(36).slice(2);function Mp(r){if(!r[eN]){r[eN]=!0,n.forEach(function(Z){Z!=="selectionchange"&&(oO.has(Z)||l5(Z,!1,r),l5(Z,!0,r))});var u=r.nodeType===9?r:r.ownerDocument;u===null||u[eN]||(u[eN]=!0,l5("selectionchange",!1,u))}}function dI(r,u,Z,N){switch(vW(u)){case 1:var X=QG;break;case 4:X=BG;break;default:X=kd}Z=X.bind(null,u,Z,r),X=void 0,!At||u!=="touchstart"&&u!=="touchmove"&&u!=="wheel"||(X=!0),N?X!==void 0?r.addEventListener(u,Z,{capture:!0,passive:X}):r.addEventListener(u,Z,!0):X!==void 0?r.addEventListener(u,Z,{passive:X}):r.addEventListener(u,Z,!1)}function n5(r,u,Z,N,X){var w=N;if(!(u&1)&&!(u&2)&&N!==null)t:for(;;){if(N===null)return;var E=N.tag;if(E===3||E===4){var st=N.stateNode.containerInfo;if(st===X||st.nodeType===8&&st.parentNode===X)break;if(E===4)for(E=N.return;E!==null;){var pt=E.tag;if((pt===3||pt===4)&&(pt=E.stateNode.containerInfo,pt===X||pt.nodeType===8&&pt.parentNode===X))return;E=E.return}for(;st!==null;){if(E=k0(st),E===null)return;if(pt=E.tag,pt===5||pt===6){N=w=E;continue t}st=st.parentNode}}N=N.return}Ne(function(){var Kt=w,re=_e(Z),ue=[];t:{var se=xi.get(r);if(se!==void 0){var Ce=mp,qe=r;switch(r){case"keypress":if(L0(Z)===0)break t;case"keydown":case"keyup":Ce=_G;break;case"focusin":qe="focus",Ce=kh;break;case"focusout":qe="blur",Ce=kh;break;case"beforeblur":case"afterblur":Ce=kh;break;case"click":if(Z.button===2)break t;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":Ce=Od;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":Ce=UW;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":Ce=PW;break;case Dl:case Gs:case Gl:Ce=Dh;break;case gi:Ce=HW;break;case"scroll":Ce=hp;break;case"wheel":Ce=t5;break;case"copy":case"cut":case"paste":Ce=bo;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":Ce=Fh}var tl=(u&4)!==0,bi=!tl&&r==="scroll",Rt=tl?se!==null?se+"Capture":null:se;tl=[];for(var Xt=Kt,Ct;Xt!==null;){Ct=Xt;var Le=Ct.stateNode;if(Ct.tag===5&&Le!==null&&(Ct=Le,Rt!==null&&(Le=Ut(Xt,Rt),Le!=null&&tl.push(Gp(Xt,Le,Ct)))),bi)break;Xt=Xt.return}0<tl.length&&(se=new Ce(se,qe,null,Z,re),ue.push({event:se,listeners:tl}))}}if(!(u&7)){t:{if(se=r==="mouseover"||r==="pointerover",Ce=r==="mouseout"||r==="pointerout",se&&Z!==oe&&(qe=Z.relatedTarget||Z.fromElement)&&(k0(qe)||qe[po]))break t;if((Ce||se)&&(se=re.window===re?re:(se=re.ownerDocument)?se.defaultView||se.parentWindow:window,Ce?(qe=Z.relatedTarget||Z.toElement,Ce=Kt,qe=qe?k0(qe):null,qe!==null&&(bi=Yl(qe),qe!==bi||qe.tag!==5&&qe.tag!==6)&&(qe=null)):(Ce=null,qe=Kt),Ce!==qe)){if(tl=Od,Le="onMouseLeave",Rt="onMouseEnter",Xt="mouse",(r==="pointerout"||r==="pointerover")&&(tl=Fh,Le="onPointerLeave",Rt="onPointerEnter",Xt="pointer"),bi=Ce==null?se:Kh(Ce),Ct=qe==null?se:Kh(qe),se=new tl(Le,Xt+"leave",Ce,Z,re),se.target=bi,se.relatedTarget=Ct,Le=null,k0(re)===Kt&&(tl=new tl(Rt,Xt+"enter",qe,Z,re),tl.target=Ct,tl.relatedTarget=bi,Le=tl),bi=Le,Ce&&qe)e:{for(tl=Ce,Rt=qe,Xt=0,Ct=tl;Ct;Ct=Uh(Ct))Xt++;for(Ct=0,Le=Rt;Le;Le=Uh(Le))Ct++;for(;0<Xt-Ct;)tl=Uh(tl),Xt--;for(;0<Ct-Xt;)Rt=Uh(Rt),Ct--;for(;Xt--;){if(tl===Rt||Rt!==null&&tl===Rt.alternate)break e;tl=Uh(tl),Rt=Uh(Rt)}tl=null}else tl=null;Ce!==null&&uI(ue,se,Ce,tl,!1),qe!==null&&bi!==null&&uI(ue,bi,qe,tl,!0)}}t:{if(se=Kt?Kh(Kt):window,Ce=se.nodeName&&se.nodeName.toLowerCase(),Ce==="select"||Ce==="input"&&se.type==="file")var el=tN;else if(vh(se))if(W)el=Tt;else{el=ct;var al=et}else(Ce=se.nodeName)&&Ce.toLowerCase()==="input"&&(se.type==="checkbox"||se.type==="radio")&&(el=yt);if(el&&(el=el(r,Kt))){Wp(ue,el,Z,re);break t}al&&al(r,se,Kt),r==="focusout"&&(al=se._wrapperState)&&al.controlled&&se.type==="number"&&Pl(se,"number",se.value)}switch(al=Kt?Kh(Kt):window,r){case"focusin":(vh(al)||al.contentEditable==="true")&&(Bt=al,Ze=Kt,Ie=null);break;case"focusout":Ie=Ze=Bt=null;break;case"mousedown":pe=!0;break;case"contextmenu":case"mouseup":case"dragend":pe=!1,Xe(ue,Z,re);break;case"selectionchange":if(Ht)break;case"keydown":case"keyup":Xe(ue,Z,re)}var cl;if(x0)t:{switch(r){case"compositionstart":var pl="onCompositionStart";break t;case"compositionend":pl="onCompositionEnd";break t;case"compositionupdate":pl="onCompositionUpdate";break t}pl=void 0}else Wn?f0(r,Z)&&(pl="onCompositionEnd"):r==="keydown"&&Z.keyCode===229&&(pl="onCompositionStart");pl&&(_W&&Z.locale!=="ko"&&(Wn||pl!=="onCompositionStart"?pl==="onCompositionEnd"&&Wn&&(cl=Sh()):(Zr=re,up="value"in Zr?Zr.value:Zr.textContent,Wn=!0)),al=lN(Kt,pl),0<al.length&&(pl=new Oh(pl,r,null,Z,re),ue.push({event:pl,listeners:al}),cl?pl.data=cl:(cl=ic(Z),cl!==null&&(pl.data=cl)))),(cl=AW?Jh(r,Z):la(r,Z))&&(Kt=lN(Kt,"onBeforeInput"),0<Kt.length&&(re=new Oh("onBeforeInput","beforeinput",null,Z,re),ue.push({event:re,listeners:Kt}),re.data=cl))}oI(ue,u)})}function Gp(r,u,Z){return{instance:r,listener:u,currentTarget:Z}}function lN(r,u){for(var Z=u+"Capture",N=[];r!==null;){var X=r,w=X.stateNode;X.tag===5&&w!==null&&(X=w,w=Ut(r,Z),w!=null&&N.unshift(Gp(r,w,X)),w=Ut(r,u),w!=null&&N.push(Gp(r,w,X))),r=r.return}return N}function Uh(r){if(r===null)return null;do r=r.return;while(r&&r.tag!==5);return r||null}function uI(r,u,Z,N,X){for(var w=u._reactName,E=[];Z!==null&&Z!==N;){var st=Z,pt=st.alternate,Kt=st.stateNode;if(pt!==null&&pt===N)break;st.tag===5&&Kt!==null&&(st=Kt,X?(pt=Ut(Z,w),pt!=null&&E.unshift(Gp(Z,pt,st))):X||(pt=Ut(Z,w),pt!=null&&E.push(Gp(Z,pt,st)))),Z=Z.return}E.length!==0&&r.push({event:u,listeners:E})}var dO=/\r\n?/g,uO=/\u0000|\uFFFD/g;function mI(r){return(typeof r=="string"?r:""+r).replace(dO,`
|
||
`).replace(uO,"")}function nN(r,u,Z){if(u=mI(u),mI(r)!==u&&Z)throw Error(e(425))}function iN(){}var i5=null,s5=null;function a5(r,u){return r==="textarea"||r==="noscript"||typeof u.children=="string"||typeof u.children=="number"||typeof u.dangerouslySetInnerHTML=="object"&&u.dangerouslySetInnerHTML!==null&&u.dangerouslySetInnerHTML.__html!=null}var c5=typeof setTimeout=="function"?setTimeout:void 0,mO=typeof clearTimeout=="function"?clearTimeout:void 0,hI=typeof Promise=="function"?Promise:void 0,hO=typeof queueMicrotask=="function"?queueMicrotask:typeof hI<"u"?function(r){return hI.resolve(null).then(r).catch(bO)}:c5;function bO(r){setTimeout(function(){throw r})}function r5(r,u){var Z=u,N=0;do{var X=Z.nextSibling;if(r.removeChild(Z),X&&X.nodeType===8)if(Z=X.data,Z==="/$"){if(N===0){r.removeChild(X),Sd(u);return}N--}else Z!=="$"&&Z!=="$?"&&Z!=="$!"||N++;Z=X}while(Z);Sd(u)}function Fd(r){for(;r!=null;r=r.nextSibling){var u=r.nodeType;if(u===1||u===3)break;if(u===8){if(u=r.data,u==="$"||u==="$!"||u==="$?")break;if(u==="/$")return null}}return r}function bI(r){r=r.previousSibling;for(var u=0;r;){if(r.nodeType===8){var Z=r.data;if(Z==="$"||Z==="$!"||Z==="$?"){if(u===0)return r;u--}else Z==="/$"&&u++}r=r.previousSibling}return null}var Eh=Math.random().toString(36).slice(2),yr="__reactFiber$"+Eh,Tp="__reactProps$"+Eh,po="__reactContainer$"+Eh,o5="__reactEvents$"+Eh,ZO="__reactListeners$"+Eh,pO="__reactHandles$"+Eh;function k0(r){var u=r[yr];if(u)return u;for(var Z=r.parentNode;Z;){if(u=Z[po]||Z[yr]){if(Z=u.alternate,u.child!==null||Z!==null&&Z.child!==null)for(r=bI(r);r!==null;){if(Z=r[yr])return Z;r=bI(r)}return u}r=Z,Z=r.parentNode}return null}function Xp(r){return r=r[yr]||r[po],!r||r.tag!==5&&r.tag!==6&&r.tag!==13&&r.tag!==3?null:r}function Kh(r){if(r.tag===5||r.tag===6)return r.stateNode;throw Error(e(33))}function sN(r){return r[Tp]||null}var d5=[],Ph=-1;function Jd(r){return{current:r}}function Rn(r){0>Ph||(r.current=d5[Ph],d5[Ph]=null,Ph--)}function zn(r,u){Ph++,d5[Ph]=r.current,r.current=u}var vd={},Ts=Jd(vd),na=Jd(!1),D0=vd;function Hh(r,u){var Z=r.type.contextTypes;if(!Z)return vd;var N=r.stateNode;if(N&&N.__reactInternalMemoizedUnmaskedChildContext===u)return N.__reactInternalMemoizedMaskedChildContext;var X={},w;for(w in Z)X[w]=u[w];return N&&(r=r.stateNode,r.__reactInternalMemoizedUnmaskedChildContext=u,r.__reactInternalMemoizedMaskedChildContext=X),X}function ia(r){return r=r.childContextTypes,r!=null}function aN(){Rn(na),Rn(Ts)}function ZI(r,u,Z){if(Ts.current!==vd)throw Error(e(168));zn(Ts,u),zn(na,Z)}function pI(r,u,Z){var N=r.stateNode;if(u=u.childContextTypes,typeof N.getChildContext!="function")return Z;N=N.getChildContext();for(var X in N)if(!(X in u))throw Error(e(108,Nt(r)||"Unknown",X));return H({},Z,N)}function cN(r){return r=(r=r.stateNode)&&r.__reactInternalMemoizedMergedChildContext||vd,D0=Ts.current,zn(Ts,r),zn(na,na.current),!0}function yI(r,u,Z){var N=r.stateNode;if(!N)throw Error(e(169));Z?(r=pI(r,u,D0),N.__reactInternalMemoizedMergedChildContext=r,Rn(na),Rn(Ts),zn(Ts,r)):Rn(na),zn(na,Z)}var yo=null,rN=!1,u5=!1;function WI(r){yo===null?yo=[r]:yo.push(r)}function yO(r){rN=!0,WI(r)}function Ud(){if(!u5&&yo!==null){u5=!0;var r=0,u=Al;try{var Z=yo;for(Al=1;r<Z.length;r++){var N=Z[r];do N=N(!0);while(N!==null)}yo=null,rN=!1}catch(X){throw yo!==null&&(yo=yo.slice(r+1)),ec(Ni,Ud),X}finally{Al=u,u5=!1}}return null}var Qh=[],Bh=0,oN=null,dN=0,sc=[],ac=0,O0=null,Wo=1,No="";function j0(r,u){Qh[Bh++]=dN,Qh[Bh++]=oN,oN=r,dN=u}function NI(r,u,Z){sc[ac++]=Wo,sc[ac++]=No,sc[ac++]=O0,O0=r;var N=Wo;r=No;var X=32-ll(N)-1;N&=~(1<<X),Z+=1;var w=32-ll(u)+X;if(30<w){var E=X-X%5;w=(N&(1<<E)-1).toString(32),N>>=E,X-=E,Wo=1<<32-ll(u)+X|Z<<X|N,No=w+r}else Wo=1<<w|Z<<X|N,No=r}function m5(r){r.return!==null&&(j0(r,1),NI(r,1,0))}function h5(r){for(;r===oN;)oN=Qh[--Bh],Qh[Bh]=null,dN=Qh[--Bh],Qh[Bh]=null;for(;r===O0;)O0=sc[--ac],sc[ac]=null,No=sc[--ac],sc[ac]=null,Wo=sc[--ac],sc[ac]=null}var Ya=null,La=null,Fn=!1,Oc=null;function MI(r,u){var Z=dc(5,null,null,0);Z.elementType="DELETED",Z.stateNode=u,Z.return=r,u=r.deletions,u===null?(r.deletions=[Z],r.flags|=16):u.push(Z)}function GI(r,u){switch(r.tag){case 5:var Z=r.type;return u=u.nodeType!==1||Z.toLowerCase()!==u.nodeName.toLowerCase()?null:u,u!==null?(r.stateNode=u,Ya=r,La=Fd(u.firstChild),!0):!1;case 6:return u=r.pendingProps===""||u.nodeType!==3?null:u,u!==null?(r.stateNode=u,Ya=r,La=null,!0):!1;case 13:return u=u.nodeType!==8?null:u,u!==null?(Z=O0!==null?{id:Wo,overflow:No}:null,r.memoizedState={dehydrated:u,treeContext:Z,retryLane:1073741824},Z=dc(18,null,null,0),Z.stateNode=u,Z.return=r,r.child=Z,Ya=r,La=null,!0):!1;default:return!1}}function b5(r){return(r.mode&1)!==0&&(r.flags&128)===0}function Z5(r){if(Fn){var u=La;if(u){var Z=u;if(!GI(r,u)){if(b5(r))throw Error(e(418));u=Fd(Z.nextSibling);var N=Ya;u&&GI(r,u)?MI(N,Z):(r.flags=r.flags&-4097|2,Fn=!1,Ya=r)}}else{if(b5(r))throw Error(e(418));r.flags=r.flags&-4097|2,Fn=!1,Ya=r}}}function TI(r){for(r=r.return;r!==null&&r.tag!==5&&r.tag!==3&&r.tag!==13;)r=r.return;Ya=r}function uN(r){if(r!==Ya)return!1;if(!Fn)return TI(r),Fn=!0,!1;var u;if((u=r.tag!==3)&&!(u=r.tag!==5)&&(u=r.type,u=u!=="head"&&u!=="body"&&!a5(r.type,r.memoizedProps)),u&&(u=La)){if(b5(r))throw XI(),Error(e(418));for(;u;)MI(r,u),u=Fd(u.nextSibling)}if(TI(r),r.tag===13){if(r=r.memoizedState,r=r!==null?r.dehydrated:null,!r)throw Error(e(317));t:{for(r=r.nextSibling,u=0;r;){if(r.nodeType===8){var Z=r.data;if(Z==="/$"){if(u===0){La=Fd(r.nextSibling);break t}u--}else Z!=="$"&&Z!=="$!"&&Z!=="$?"||u++}r=r.nextSibling}La=null}}else La=Ya?Fd(r.stateNode.nextSibling):null;return!0}function XI(){for(var r=La;r;)r=Fd(r.nextSibling)}function Ah(){La=Ya=null,Fn=!1}function p5(r){Oc===null?Oc=[r]:Oc.push(r)}var WO=F.ReactCurrentBatchConfig;function Yp(r,u,Z){if(r=Z.ref,r!==null&&typeof r!="function"&&typeof r!="object"){if(Z._owner){if(Z=Z._owner,Z){if(Z.tag!==1)throw Error(e(309));var N=Z.stateNode}if(!N)throw Error(e(147,r));var X=N,w=""+r;return u!==null&&u.ref!==null&&typeof u.ref=="function"&&u.ref._stringRef===w?u.ref:(u=function(E){var st=X.refs;E===null?delete st[w]:st[w]=E},u._stringRef=w,u)}if(typeof r!="string")throw Error(e(284));if(!Z._owner)throw Error(e(290,r))}return r}function mN(r,u){throw r=Object.prototype.toString.call(u),Error(e(31,r==="[object Object]"?"object with keys {"+Object.keys(u).join(", ")+"}":r))}function YI(r){var u=r._init;return u(r._payload)}function LI(r){function u(Rt,Xt){if(r){var Ct=Rt.deletions;Ct===null?(Rt.deletions=[Xt],Rt.flags|=16):Ct.push(Xt)}}function Z(Rt,Xt){if(!r)return null;for(;Xt!==null;)u(Rt,Xt),Xt=Xt.sibling;return null}function N(Rt,Xt){for(Rt=new Map;Xt!==null;)Xt.key!==null?Rt.set(Xt.key,Xt):Rt.set(Xt.index,Xt),Xt=Xt.sibling;return Rt}function X(Rt,Xt){return Rt=_d(Rt,Xt),Rt.index=0,Rt.sibling=null,Rt}function w(Rt,Xt,Ct){return Rt.index=Ct,r?(Ct=Rt.alternate,Ct!==null?(Ct=Ct.index,Ct<Xt?(Rt.flags|=2,Xt):Ct):(Rt.flags|=2,Xt)):(Rt.flags|=1048576,Xt)}function E(Rt){return r&&Rt.alternate===null&&(Rt.flags|=2),Rt}function st(Rt,Xt,Ct,Le){return Xt===null||Xt.tag!==6?(Xt=cT(Ct,Rt.mode,Le),Xt.return=Rt,Xt):(Xt=X(Xt,Ct),Xt.return=Rt,Xt)}function pt(Rt,Xt,Ct,Le){var el=Ct.type;return el===_?re(Rt,Xt,Ct.props.children,Le,Ct.key):Xt!==null&&(Xt.elementType===el||typeof el=="object"&&el!==null&&el.$$typeof===kt&&YI(el)===Xt.type)?(Le=X(Xt,Ct.props),Le.ref=Yp(Rt,Xt,Ct),Le.return=Rt,Le):(Le=DN(Ct.type,Ct.key,Ct.props,null,Rt.mode,Le),Le.ref=Yp(Rt,Xt,Ct),Le.return=Rt,Le)}function Kt(Rt,Xt,Ct,Le){return Xt===null||Xt.tag!==4||Xt.stateNode.containerInfo!==Ct.containerInfo||Xt.stateNode.implementation!==Ct.implementation?(Xt=rT(Ct,Rt.mode,Le),Xt.return=Rt,Xt):(Xt=X(Xt,Ct.children||[]),Xt.return=Rt,Xt)}function re(Rt,Xt,Ct,Le,el){return Xt===null||Xt.tag!==7?(Xt=P0(Ct,Rt.mode,Le,el),Xt.return=Rt,Xt):(Xt=X(Xt,Ct),Xt.return=Rt,Xt)}function ue(Rt,Xt,Ct){if(typeof Xt=="string"&&Xt!==""||typeof Xt=="number")return Xt=cT(""+Xt,Rt.mode,Ct),Xt.return=Rt,Xt;if(typeof Xt=="object"&&Xt!==null){switch(Xt.$$typeof){case j:return Ct=DN(Xt.type,Xt.key,Xt.props,null,Rt.mode,Ct),Ct.ref=Yp(Rt,null,Xt),Ct.return=Rt,Ct;case D:return Xt=rT(Xt,Rt.mode,Ct),Xt.return=Rt,Xt;case kt:var Le=Xt._init;return ue(Rt,Le(Xt._payload),Ct)}if(Ql(Xt)||vt(Xt))return Xt=P0(Xt,Rt.mode,Ct,null),Xt.return=Rt,Xt;mN(Rt,Xt)}return null}function se(Rt,Xt,Ct,Le){var el=Xt!==null?Xt.key:null;if(typeof Ct=="string"&&Ct!==""||typeof Ct=="number")return el!==null?null:st(Rt,Xt,""+Ct,Le);if(typeof Ct=="object"&&Ct!==null){switch(Ct.$$typeof){case j:return Ct.key===el?pt(Rt,Xt,Ct,Le):null;case D:return Ct.key===el?Kt(Rt,Xt,Ct,Le):null;case kt:return el=Ct._init,se(Rt,Xt,el(Ct._payload),Le)}if(Ql(Ct)||vt(Ct))return el!==null?null:re(Rt,Xt,Ct,Le,null);mN(Rt,Ct)}return null}function Ce(Rt,Xt,Ct,Le,el){if(typeof Le=="string"&&Le!==""||typeof Le=="number")return Rt=Rt.get(Ct)||null,st(Xt,Rt,""+Le,el);if(typeof Le=="object"&&Le!==null){switch(Le.$$typeof){case j:return Rt=Rt.get(Le.key===null?Ct:Le.key)||null,pt(Xt,Rt,Le,el);case D:return Rt=Rt.get(Le.key===null?Ct:Le.key)||null,Kt(Xt,Rt,Le,el);case kt:var al=Le._init;return Ce(Rt,Xt,Ct,al(Le._payload),el)}if(Ql(Le)||vt(Le))return Rt=Rt.get(Ct)||null,re(Xt,Rt,Le,el,null);mN(Xt,Le)}return null}function qe(Rt,Xt,Ct,Le){for(var el=null,al=null,cl=Xt,pl=Xt=0,Qi=null;cl!==null&&pl<Ct.length;pl++){cl.index>pl?(Qi=cl,cl=null):Qi=cl.sibling;var nn=se(Rt,cl,Ct[pl],Le);if(nn===null){cl===null&&(cl=Qi);break}r&&cl&&nn.alternate===null&&u(Rt,cl),Xt=w(nn,Xt,pl),al===null?el=nn:al.sibling=nn,al=nn,cl=Qi}if(pl===Ct.length)return Z(Rt,cl),Fn&&j0(Rt,pl),el;if(cl===null){for(;pl<Ct.length;pl++)cl=ue(Rt,Ct[pl],Le),cl!==null&&(Xt=w(cl,Xt,pl),al===null?el=cl:al.sibling=cl,al=cl);return Fn&&j0(Rt,pl),el}for(cl=N(Rt,cl);pl<Ct.length;pl++)Qi=Ce(cl,Rt,pl,Ct[pl],Le),Qi!==null&&(r&&Qi.alternate!==null&&cl.delete(Qi.key===null?pl:Qi.key),Xt=w(Qi,Xt,pl),al===null?el=Qi:al.sibling=Qi,al=Qi);return r&&cl.forEach(function(qd){return u(Rt,qd)}),Fn&&j0(Rt,pl),el}function tl(Rt,Xt,Ct,Le){var el=vt(Ct);if(typeof el!="function")throw Error(e(150));if(Ct=el.call(Ct),Ct==null)throw Error(e(151));for(var al=el=null,cl=Xt,pl=Xt=0,Qi=null,nn=Ct.next();cl!==null&&!nn.done;pl++,nn=Ct.next()){cl.index>pl?(Qi=cl,cl=null):Qi=cl.sibling;var qd=se(Rt,cl,nn.value,Le);if(qd===null){cl===null&&(cl=Qi);break}r&&cl&&qd.alternate===null&&u(Rt,cl),Xt=w(qd,Xt,pl),al===null?el=qd:al.sibling=qd,al=qd,cl=Qi}if(nn.done)return Z(Rt,cl),Fn&&j0(Rt,pl),el;if(cl===null){for(;!nn.done;pl++,nn=Ct.next())nn=ue(Rt,nn.value,Le),nn!==null&&(Xt=w(nn,Xt,pl),al===null?el=nn:al.sibling=nn,al=nn);return Fn&&j0(Rt,pl),el}for(cl=N(Rt,cl);!nn.done;pl++,nn=Ct.next())nn=Ce(cl,Rt,pl,nn.value,Le),nn!==null&&(r&&nn.alternate!==null&&cl.delete(nn.key===null?pl:nn.key),Xt=w(nn,Xt,pl),al===null?el=nn:al.sibling=nn,al=nn);return r&&cl.forEach(function(_O){return u(Rt,_O)}),Fn&&j0(Rt,pl),el}function bi(Rt,Xt,Ct,Le){if(typeof Ct=="object"&&Ct!==null&&Ct.type===_&&Ct.key===null&&(Ct=Ct.props.children),typeof Ct=="object"&&Ct!==null){switch(Ct.$$typeof){case j:t:{for(var el=Ct.key,al=Xt;al!==null;){if(al.key===el){if(el=Ct.type,el===_){if(al.tag===7){Z(Rt,al.sibling),Xt=X(al,Ct.props.children),Xt.return=Rt,Rt=Xt;break t}}else if(al.elementType===el||typeof el=="object"&&el!==null&&el.$$typeof===kt&&YI(el)===al.type){Z(Rt,al.sibling),Xt=X(al,Ct.props),Xt.ref=Yp(Rt,al,Ct),Xt.return=Rt,Rt=Xt;break t}Z(Rt,al);break}else u(Rt,al);al=al.sibling}Ct.type===_?(Xt=P0(Ct.props.children,Rt.mode,Le,Ct.key),Xt.return=Rt,Rt=Xt):(Le=DN(Ct.type,Ct.key,Ct.props,null,Rt.mode,Le),Le.ref=Yp(Rt,Xt,Ct),Le.return=Rt,Rt=Le)}return E(Rt);case D:t:{for(al=Ct.key;Xt!==null;){if(Xt.key===al)if(Xt.tag===4&&Xt.stateNode.containerInfo===Ct.containerInfo&&Xt.stateNode.implementation===Ct.implementation){Z(Rt,Xt.sibling),Xt=X(Xt,Ct.children||[]),Xt.return=Rt,Rt=Xt;break t}else{Z(Rt,Xt);break}else u(Rt,Xt);Xt=Xt.sibling}Xt=rT(Ct,Rt.mode,Le),Xt.return=Rt,Rt=Xt}return E(Rt);case kt:return al=Ct._init,bi(Rt,Xt,al(Ct._payload),Le)}if(Ql(Ct))return qe(Rt,Xt,Ct,Le);if(vt(Ct))return tl(Rt,Xt,Ct,Le);mN(Rt,Ct)}return typeof Ct=="string"&&Ct!==""||typeof Ct=="number"?(Ct=""+Ct,Xt!==null&&Xt.tag===6?(Z(Rt,Xt.sibling),Xt=X(Xt,Ct),Xt.return=Rt,Rt=Xt):(Z(Rt,Xt),Xt=cT(Ct,Rt.mode,Le),Xt.return=Rt,Rt=Xt),E(Rt)):Z(Rt,Xt)}return bi}var _h=LI(!0),VI=LI(!1),hN=Jd(null),bN=null,qh=null,y5=null;function W5(){y5=qh=bN=null}function N5(r){var u=hN.current;Rn(hN),r._currentValue=u}function M5(r,u,Z){for(;r!==null;){var N=r.alternate;if((r.childLanes&u)!==u?(r.childLanes|=u,N!==null&&(N.childLanes|=u)):N!==null&&(N.childLanes&u)!==u&&(N.childLanes|=u),r===Z)break;r=r.return}}function $h(r,u){bN=r,y5=qh=null,r=r.dependencies,r!==null&&r.firstContext!==null&&(r.lanes&u&&(sa=!0),r.firstContext=null)}function cc(r){var u=r._currentValue;if(y5!==r)if(r={context:r,memoizedValue:u,next:null},qh===null){if(bN===null)throw Error(e(308));qh=r,bN.dependencies={lanes:0,firstContext:r}}else qh=qh.next=r;return u}var C0=null;function G5(r){C0===null?C0=[r]:C0.push(r)}function II(r,u,Z,N){var X=u.interleaved;return X===null?(Z.next=Z,G5(u)):(Z.next=X.next,X.next=Z),u.interleaved=Z,Mo(r,N)}function Mo(r,u){r.lanes|=u;var Z=r.alternate;for(Z!==null&&(Z.lanes|=u),Z=r,r=r.return;r!==null;)r.childLanes|=u,Z=r.alternate,Z!==null&&(Z.childLanes|=u),Z=r,r=r.return;return Z.tag===3?Z.stateNode:null}var Ed=!1;function T5(r){r.updateQueue={baseState:r.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function wI(r,u){r=r.updateQueue,u.updateQueue===r&&(u.updateQueue={baseState:r.baseState,firstBaseUpdate:r.firstBaseUpdate,lastBaseUpdate:r.lastBaseUpdate,shared:r.shared,effects:r.effects})}function Go(r,u){return{eventTime:r,lane:u,tag:0,payload:null,callback:null,next:null}}function Kd(r,u,Z){var N=r.updateQueue;if(N===null)return null;if(N=N.shared,ql&2){var X=N.pending;return X===null?u.next=u:(u.next=X.next,X.next=u),N.pending=u,Mo(r,Z)}return X=N.interleaved,X===null?(u.next=u,G5(N)):(u.next=X.next,X.next=u),N.interleaved=u,Mo(r,Z)}function ZN(r,u,Z){if(u=u.updateQueue,u!==null&&(u=u.shared,(Z&4194240)!==0)){var N=u.lanes;N&=r.pendingLanes,Z|=N,u.lanes=Z,fd(r,Z)}}function zI(r,u){var Z=r.updateQueue,N=r.alternate;if(N!==null&&(N=N.updateQueue,Z===N)){var X=null,w=null;if(Z=Z.firstBaseUpdate,Z!==null){do{var E={eventTime:Z.eventTime,lane:Z.lane,tag:Z.tag,payload:Z.payload,callback:Z.callback,next:null};w===null?X=w=E:w=w.next=E,Z=Z.next}while(Z!==null);w===null?X=w=u:w=w.next=u}else X=w=u;Z={baseState:N.baseState,firstBaseUpdate:X,lastBaseUpdate:w,shared:N.shared,effects:N.effects},r.updateQueue=Z;return}r=Z.lastBaseUpdate,r===null?Z.firstBaseUpdate=u:r.next=u,Z.lastBaseUpdate=u}function pN(r,u,Z,N){var X=r.updateQueue;Ed=!1;var w=X.firstBaseUpdate,E=X.lastBaseUpdate,st=X.shared.pending;if(st!==null){X.shared.pending=null;var pt=st,Kt=pt.next;pt.next=null,E===null?w=Kt:E.next=Kt,E=pt;var re=r.alternate;re!==null&&(re=re.updateQueue,st=re.lastBaseUpdate,st!==E&&(st===null?re.firstBaseUpdate=Kt:st.next=Kt,re.lastBaseUpdate=pt))}if(w!==null){var ue=X.baseState;E=0,re=Kt=pt=null,st=w;do{var se=st.lane,Ce=st.eventTime;if((N&se)===se){re!==null&&(re=re.next={eventTime:Ce,lane:0,tag:st.tag,payload:st.payload,callback:st.callback,next:null});t:{var qe=r,tl=st;switch(se=u,Ce=Z,tl.tag){case 1:if(qe=tl.payload,typeof qe=="function"){ue=qe.call(Ce,ue,se);break t}ue=qe;break t;case 3:qe.flags=qe.flags&-65537|128;case 0:if(qe=tl.payload,se=typeof qe=="function"?qe.call(Ce,ue,se):qe,se==null)break t;ue=H({},ue,se);break t;case 2:Ed=!0}}st.callback!==null&&st.lane!==0&&(r.flags|=64,se=X.effects,se===null?X.effects=[st]:se.push(st))}else Ce={eventTime:Ce,lane:se,tag:st.tag,payload:st.payload,callback:st.callback,next:null},re===null?(Kt=re=Ce,pt=ue):re=re.next=Ce,E|=se;if(st=st.next,st===null){if(st=X.shared.pending,st===null)break;se=st,st=se.next,se.next=null,X.lastBaseUpdate=se,X.shared.pending=null}}while(!0);if(re===null&&(pt=ue),X.baseState=pt,X.firstBaseUpdate=Kt,X.lastBaseUpdate=re,u=X.shared.interleaved,u!==null){X=u;do E|=X.lane,X=X.next;while(X!==u)}else w===null&&(X.shared.lanes=0);v0|=E,r.lanes=E,r.memoizedState=ue}}function gI(r,u,Z){if(r=u.effects,u.effects=null,r!==null)for(u=0;u<r.length;u++){var N=r[u],X=N.callback;if(X!==null){if(N.callback=null,N=Z,typeof X!="function")throw Error(e(191,X));X.call(N)}}}var Lp={},Wr=Jd(Lp),Vp=Jd(Lp),Ip=Jd(Lp);function F0(r){if(r===Lp)throw Error(e(174));return r}function X5(r,u){switch(zn(Ip,u),zn(Vp,r),zn(Wr,Lp),r=u.nodeType,r){case 9:case 11:u=(u=u.documentElement)?u.namespaceURI:Jt(null,"");break;default:r=r===8?u.parentNode:u,u=r.namespaceURI||null,r=r.tagName,u=Jt(u,r)}Rn(Wr),zn(Wr,u)}function tb(){Rn(Wr),Rn(Vp),Rn(Ip)}function xI(r){F0(Ip.current);var u=F0(Wr.current),Z=Jt(u,r.type);u!==Z&&(zn(Vp,r),zn(Wr,Z))}function Y5(r){Vp.current===r&&(Rn(Wr),Rn(Vp))}var An=Jd(0);function yN(r){for(var u=r;u!==null;){if(u.tag===13){var Z=u.memoizedState;if(Z!==null&&(Z=Z.dehydrated,Z===null||Z.data==="$?"||Z.data==="$!"))return u}else if(u.tag===19&&u.memoizedProps.revealOrder!==void 0){if(u.flags&128)return u}else if(u.child!==null){u.child.return=u,u=u.child;continue}if(u===r)break;for(;u.sibling===null;){if(u.return===null||u.return===r)return null;u=u.return}u.sibling.return=u.return,u=u.sibling}return null}var L5=[];function V5(){for(var r=0;r<L5.length;r++)L5[r]._workInProgressVersionPrimary=null;L5.length=0}var WN=F.ReactCurrentDispatcher,I5=F.ReactCurrentBatchConfig,J0=0,_n=null,fi=null,Pi=null,NN=!1,wp=!1,zp=0,NO=0;function Xs(){throw Error(e(321))}function w5(r,u){if(u===null)return!1;for(var Z=0;Z<u.length&&Z<r.length;Z++)if(!ot(r[Z],u[Z]))return!1;return!0}function z5(r,u,Z,N,X,w){if(J0=w,_n=u,u.memoizedState=null,u.updateQueue=null,u.lanes=0,WN.current=r===null||r.memoizedState===null?XO:YO,r=Z(N,X),wp){w=0;do{if(wp=!1,zp=0,25<=w)throw Error(e(301));w+=1,Pi=fi=null,u.updateQueue=null,WN.current=LO,r=Z(N,X)}while(wp)}if(WN.current=TN,u=fi!==null&&fi.next!==null,J0=0,Pi=fi=_n=null,NN=!1,u)throw Error(e(300));return r}function g5(){var r=zp!==0;return zp=0,r}function Nr(){var r={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Pi===null?_n.memoizedState=Pi=r:Pi=Pi.next=r,Pi}function rc(){if(fi===null){var r=_n.alternate;r=r!==null?r.memoizedState:null}else r=fi.next;var u=Pi===null?_n.memoizedState:Pi.next;if(u!==null)Pi=u,fi=r;else{if(r===null)throw Error(e(310));fi=r,r={memoizedState:fi.memoizedState,baseState:fi.baseState,baseQueue:fi.baseQueue,queue:fi.queue,next:null},Pi===null?_n.memoizedState=Pi=r:Pi=Pi.next=r}return Pi}function gp(r,u){return typeof u=="function"?u(r):u}function x5(r){var u=rc(),Z=u.queue;if(Z===null)throw Error(e(311));Z.lastRenderedReducer=r;var N=fi,X=N.baseQueue,w=Z.pending;if(w!==null){if(X!==null){var E=X.next;X.next=w.next,w.next=E}N.baseQueue=X=w,Z.pending=null}if(X!==null){w=X.next,N=N.baseState;var st=E=null,pt=null,Kt=w;do{var re=Kt.lane;if((J0&re)===re)pt!==null&&(pt=pt.next={lane:0,action:Kt.action,hasEagerState:Kt.hasEagerState,eagerState:Kt.eagerState,next:null}),N=Kt.hasEagerState?Kt.eagerState:r(N,Kt.action);else{var ue={lane:re,action:Kt.action,hasEagerState:Kt.hasEagerState,eagerState:Kt.eagerState,next:null};pt===null?(st=pt=ue,E=N):pt=pt.next=ue,_n.lanes|=re,v0|=re}Kt=Kt.next}while(Kt!==null&&Kt!==w);pt===null?E=N:pt.next=st,ot(N,u.memoizedState)||(sa=!0),u.memoizedState=N,u.baseState=E,u.baseQueue=pt,Z.lastRenderedState=N}if(r=Z.interleaved,r!==null){X=r;do w=X.lane,_n.lanes|=w,v0|=w,X=X.next;while(X!==r)}else X===null&&(Z.lanes=0);return[u.memoizedState,Z.dispatch]}function f5(r){var u=rc(),Z=u.queue;if(Z===null)throw Error(e(311));Z.lastRenderedReducer=r;var N=Z.dispatch,X=Z.pending,w=u.memoizedState;if(X!==null){Z.pending=null;var E=X=X.next;do w=r(w,E.action),E=E.next;while(E!==X);ot(w,u.memoizedState)||(sa=!0),u.memoizedState=w,u.baseQueue===null&&(u.baseState=w),Z.lastRenderedState=w}return[w,N]}function fI(){}function SI(r,u){var Z=_n,N=rc(),X=u(),w=!ot(N.memoizedState,X);if(w&&(N.memoizedState=X,sa=!0),N=N.queue,S5(DI.bind(null,Z,N,r),[r]),N.getSnapshot!==u||w||Pi!==null&&Pi.memoizedState.tag&1){if(Z.flags|=2048,xp(9,kI.bind(null,Z,N,X,u),void 0,null),Hi===null)throw Error(e(349));J0&30||RI(Z,u,X)}return X}function RI(r,u,Z){r.flags|=16384,r={getSnapshot:u,value:Z},u=_n.updateQueue,u===null?(u={lastEffect:null,stores:null},_n.updateQueue=u,u.stores=[r]):(Z=u.stores,Z===null?u.stores=[r]:Z.push(r))}function kI(r,u,Z,N){u.value=Z,u.getSnapshot=N,OI(u)&&jI(r)}function DI(r,u,Z){return Z(function(){OI(u)&&jI(r)})}function OI(r){var u=r.getSnapshot;r=r.value;try{var Z=u();return!ot(r,Z)}catch{return!0}}function jI(r){var u=Mo(r,1);u!==null&&Jc(u,r,1,-1)}function CI(r){var u=Nr();return typeof r=="function"&&(r=r()),u.memoizedState=u.baseState=r,r={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:gp,lastRenderedState:r},u.queue=r,r=r.dispatch=TO.bind(null,_n,r),[u.memoizedState,r]}function xp(r,u,Z,N){return r={tag:r,create:u,destroy:Z,deps:N,next:null},u=_n.updateQueue,u===null?(u={lastEffect:null,stores:null},_n.updateQueue=u,u.lastEffect=r.next=r):(Z=u.lastEffect,Z===null?u.lastEffect=r.next=r:(N=Z.next,Z.next=r,r.next=N,u.lastEffect=r)),r}function FI(){return rc().memoizedState}function MN(r,u,Z,N){var X=Nr();_n.flags|=r,X.memoizedState=xp(1|u,Z,void 0,N===void 0?null:N)}function GN(r,u,Z,N){var X=rc();N=N===void 0?null:N;var w=void 0;if(fi!==null){var E=fi.memoizedState;if(w=E.destroy,N!==null&&w5(N,E.deps)){X.memoizedState=xp(u,Z,w,N);return}}_n.flags|=r,X.memoizedState=xp(1|u,Z,w,N)}function JI(r,u){return MN(8390656,8,r,u)}function S5(r,u){return GN(2048,8,r,u)}function vI(r,u){return GN(4,2,r,u)}function UI(r,u){return GN(4,4,r,u)}function EI(r,u){if(typeof u=="function")return r=r(),u(r),function(){u(null)};if(u!=null)return r=r(),u.current=r,function(){u.current=null}}function KI(r,u,Z){return Z=Z!=null?Z.concat([r]):null,GN(4,4,EI.bind(null,u,r),Z)}function R5(){}function PI(r,u){var Z=rc();u=u===void 0?null:u;var N=Z.memoizedState;return N!==null&&u!==null&&w5(u,N[1])?N[0]:(Z.memoizedState=[r,u],r)}function HI(r,u){var Z=rc();u=u===void 0?null:u;var N=Z.memoizedState;return N!==null&&u!==null&&w5(u,N[1])?N[0]:(r=r(),Z.memoizedState=[r,u],r)}function QI(r,u,Z){return J0&21?(ot(Z,u)||(Z=N0(),_n.lanes|=Z,v0|=Z,r.baseState=!0),u):(r.baseState&&(r.baseState=!1,sa=!0),r.memoizedState=Z)}function MO(r,u){var Z=Al;Al=Z!==0&&4>Z?Z:4,r(!0);var N=I5.transition;I5.transition={};try{r(!1),u()}finally{Al=Z,I5.transition=N}}function BI(){return rc().memoizedState}function GO(r,u,Z){var N=Bd(r);if(Z={lane:N,action:Z,hasEagerState:!1,eagerState:null,next:null},AI(r))_I(u,Z);else if(Z=II(r,u,Z,N),Z!==null){var X=ks();Jc(Z,r,N,X),qI(Z,u,N)}}function TO(r,u,Z){var N=Bd(r),X={lane:N,action:Z,hasEagerState:!1,eagerState:null,next:null};if(AI(r))_I(u,X);else{var w=r.alternate;if(r.lanes===0&&(w===null||w.lanes===0)&&(w=u.lastRenderedReducer,w!==null))try{var E=u.lastRenderedState,st=w(E,Z);if(X.hasEagerState=!0,X.eagerState=st,ot(st,E)){var pt=u.interleaved;pt===null?(X.next=X,G5(u)):(X.next=pt.next,pt.next=X),u.interleaved=X;return}}catch{}finally{}Z=II(r,u,X,N),Z!==null&&(X=ks(),Jc(Z,r,N,X),qI(Z,u,N))}}function AI(r){var u=r.alternate;return r===_n||u!==null&&u===_n}function _I(r,u){wp=NN=!0;var Z=r.pending;Z===null?u.next=u:(u.next=Z.next,Z.next=u),r.pending=u}function qI(r,u,Z){if(Z&4194240){var N=u.lanes;N&=r.pendingLanes,Z|=N,u.lanes=Z,fd(r,Z)}}var TN={readContext:cc,useCallback:Xs,useContext:Xs,useEffect:Xs,useImperativeHandle:Xs,useInsertionEffect:Xs,useLayoutEffect:Xs,useMemo:Xs,useReducer:Xs,useRef:Xs,useState:Xs,useDebugValue:Xs,useDeferredValue:Xs,useTransition:Xs,useMutableSource:Xs,useSyncExternalStore:Xs,useId:Xs,unstable_isNewReconciler:!1},XO={readContext:cc,useCallback:function(r,u){return Nr().memoizedState=[r,u===void 0?null:u],r},useContext:cc,useEffect:JI,useImperativeHandle:function(r,u,Z){return Z=Z!=null?Z.concat([r]):null,MN(4194308,4,EI.bind(null,u,r),Z)},useLayoutEffect:function(r,u){return MN(4194308,4,r,u)},useInsertionEffect:function(r,u){return MN(4,2,r,u)},useMemo:function(r,u){var Z=Nr();return u=u===void 0?null:u,r=r(),Z.memoizedState=[r,u],r},useReducer:function(r,u,Z){var N=Nr();return u=Z!==void 0?Z(u):u,N.memoizedState=N.baseState=u,r={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:r,lastRenderedState:u},N.queue=r,r=r.dispatch=GO.bind(null,_n,r),[N.memoizedState,r]},useRef:function(r){var u=Nr();return r={current:r},u.memoizedState=r},useState:CI,useDebugValue:R5,useDeferredValue:function(r){return Nr().memoizedState=r},useTransition:function(){var r=CI(!1),u=r[0];return r=MO.bind(null,r[1]),Nr().memoizedState=r,[u,r]},useMutableSource:function(){},useSyncExternalStore:function(r,u,Z){var N=_n,X=Nr();if(Fn){if(Z===void 0)throw Error(e(407));Z=Z()}else{if(Z=u(),Hi===null)throw Error(e(349));J0&30||RI(N,u,Z)}X.memoizedState=Z;var w={value:Z,getSnapshot:u};return X.queue=w,JI(DI.bind(null,N,w,r),[r]),N.flags|=2048,xp(9,kI.bind(null,N,w,Z,u),void 0,null),Z},useId:function(){var r=Nr(),u=Hi.identifierPrefix;if(Fn){var Z=No,N=Wo;Z=(N&~(1<<32-ll(N)-1)).toString(32)+Z,u=":"+u+"R"+Z,Z=zp++,0<Z&&(u+="H"+Z.toString(32)),u+=":"}else Z=NO++,u=":"+u+"r"+Z.toString(32)+":";return r.memoizedState=u},unstable_isNewReconciler:!1},YO={readContext:cc,useCallback:PI,useContext:cc,useEffect:S5,useImperativeHandle:KI,useInsertionEffect:vI,useLayoutEffect:UI,useMemo:HI,useReducer:x5,useRef:FI,useState:function(){return x5(gp)},useDebugValue:R5,useDeferredValue:function(r){var u=rc();return QI(u,fi.memoizedState,r)},useTransition:function(){var r=x5(gp)[0],u=rc().memoizedState;return[r,u]},useMutableSource:fI,useSyncExternalStore:SI,useId:BI,unstable_isNewReconciler:!1},LO={readContext:cc,useCallback:PI,useContext:cc,useEffect:S5,useImperativeHandle:KI,useInsertionEffect:vI,useLayoutEffect:UI,useMemo:HI,useReducer:f5,useRef:FI,useState:function(){return f5(gp)},useDebugValue:R5,useDeferredValue:function(r){var u=rc();return fi===null?u.memoizedState=r:QI(u,fi.memoizedState,r)},useTransition:function(){var r=f5(gp)[0],u=rc().memoizedState;return[r,u]},useMutableSource:fI,useSyncExternalStore:SI,useId:BI,unstable_isNewReconciler:!1};function jc(r,u){if(r&&r.defaultProps){u=H({},u),r=r.defaultProps;for(var Z in r)u[Z]===void 0&&(u[Z]=r[Z]);return u}return u}function k5(r,u,Z,N){u=r.memoizedState,Z=Z(N,u),Z=Z==null?u:H({},u,Z),r.memoizedState=Z,r.lanes===0&&(r.updateQueue.baseState=Z)}var XN={isMounted:function(r){return(r=r._reactInternals)?Yl(r)===r:!1},enqueueSetState:function(r,u,Z){r=r._reactInternals;var N=ks(),X=Bd(r),w=Go(N,X);w.payload=u,Z!=null&&(w.callback=Z),u=Kd(r,w,X),u!==null&&(Jc(u,r,X,N),ZN(u,r,X))},enqueueReplaceState:function(r,u,Z){r=r._reactInternals;var N=ks(),X=Bd(r),w=Go(N,X);w.tag=1,w.payload=u,Z!=null&&(w.callback=Z),u=Kd(r,w,X),u!==null&&(Jc(u,r,X,N),ZN(u,r,X))},enqueueForceUpdate:function(r,u){r=r._reactInternals;var Z=ks(),N=Bd(r),X=Go(Z,N);X.tag=2,u!=null&&(X.callback=u),u=Kd(r,X,N),u!==null&&(Jc(u,r,N,Z),ZN(u,r,N))}};function $I(r,u,Z,N,X,w,E){return r=r.stateNode,typeof r.shouldComponentUpdate=="function"?r.shouldComponentUpdate(N,w,E):u.prototype&&u.prototype.isPureReactComponent?!ft(Z,N)||!ft(X,w):!0}function tw(r,u,Z){var N=!1,X=vd,w=u.contextType;return typeof w=="object"&&w!==null?w=cc(w):(X=ia(u)?D0:Ts.current,N=u.contextTypes,w=(N=N!=null)?Hh(r,X):vd),u=new u(Z,w),r.memoizedState=u.state!==null&&u.state!==void 0?u.state:null,u.updater=XN,r.stateNode=u,u._reactInternals=r,N&&(r=r.stateNode,r.__reactInternalMemoizedUnmaskedChildContext=X,r.__reactInternalMemoizedMaskedChildContext=w),u}function ew(r,u,Z,N){r=u.state,typeof u.componentWillReceiveProps=="function"&&u.componentWillReceiveProps(Z,N),typeof u.UNSAFE_componentWillReceiveProps=="function"&&u.UNSAFE_componentWillReceiveProps(Z,N),u.state!==r&&XN.enqueueReplaceState(u,u.state,null)}function D5(r,u,Z,N){var X=r.stateNode;X.props=Z,X.state=r.memoizedState,X.refs={},T5(r);var w=u.contextType;typeof w=="object"&&w!==null?X.context=cc(w):(w=ia(u)?D0:Ts.current,X.context=Hh(r,w)),X.state=r.memoizedState,w=u.getDerivedStateFromProps,typeof w=="function"&&(k5(r,u,w,Z),X.state=r.memoizedState),typeof u.getDerivedStateFromProps=="function"||typeof X.getSnapshotBeforeUpdate=="function"||typeof X.UNSAFE_componentWillMount!="function"&&typeof X.componentWillMount!="function"||(u=X.state,typeof X.componentWillMount=="function"&&X.componentWillMount(),typeof X.UNSAFE_componentWillMount=="function"&&X.UNSAFE_componentWillMount(),u!==X.state&&XN.enqueueReplaceState(X,X.state,null),pN(r,Z,X,N),X.state=r.memoizedState),typeof X.componentDidMount=="function"&&(r.flags|=4194308)}function eb(r,u){try{var Z="",N=u;do Z+=ce(N),N=N.return;while(N);var X=Z}catch(w){X=`
|
||
Error generating stack: `+w.message+`
|
||
`+w.stack}return{value:r,source:u,stack:X,digest:null}}function O5(r,u,Z){return{value:r,source:null,stack:Z??null,digest:u??null}}function j5(r,u){try{console.error(u.value)}catch(Z){setTimeout(function(){throw Z})}}var VO=typeof WeakMap=="function"?WeakMap:Map;function lw(r,u,Z){Z=Go(-1,Z),Z.tag=3,Z.payload={element:null};var N=u.value;return Z.callback=function(){gN||(gN=!0,$5=N),j5(r,u)},Z}function nw(r,u,Z){Z=Go(-1,Z),Z.tag=3;var N=r.type.getDerivedStateFromError;if(typeof N=="function"){var X=u.value;Z.payload=function(){return N(X)},Z.callback=function(){j5(r,u)}}var w=r.stateNode;return w!==null&&typeof w.componentDidCatch=="function"&&(Z.callback=function(){j5(r,u),typeof N!="function"&&(Hd===null?Hd=new Set([this]):Hd.add(this));var E=u.stack;this.componentDidCatch(u.value,{componentStack:E!==null?E:""})}),Z}function iw(r,u,Z){var N=r.pingCache;if(N===null){N=r.pingCache=new VO;var X=new Set;N.set(u,X)}else X=N.get(u),X===void 0&&(X=new Set,N.set(u,X));X.has(Z)||(X.add(Z),r=FO.bind(null,r,u,Z),u.then(r,r))}function sw(r){do{var u;if((u=r.tag===13)&&(u=r.memoizedState,u=u!==null?u.dehydrated!==null:!0),u)return r;r=r.return}while(r!==null);return null}function aw(r,u,Z,N,X){return r.mode&1?(r.flags|=65536,r.lanes=X,r):(r===u?r.flags|=65536:(r.flags|=128,Z.flags|=131072,Z.flags&=-52805,Z.tag===1&&(Z.alternate===null?Z.tag=17:(u=Go(-1,1),u.tag=2,Kd(Z,u,1))),Z.lanes|=1),r)}var IO=F.ReactCurrentOwner,sa=!1;function Rs(r,u,Z,N){u.child=r===null?VI(u,null,Z,N):_h(u,r.child,Z,N)}function cw(r,u,Z,N,X){Z=Z.render;var w=u.ref;return $h(u,X),N=z5(r,u,Z,N,w,X),Z=g5(),r!==null&&!sa?(u.updateQueue=r.updateQueue,u.flags&=-2053,r.lanes&=~X,To(r,u,X)):(Fn&&Z&&m5(u),u.flags|=1,Rs(r,u,N,X),u.child)}function rw(r,u,Z,N,X){if(r===null){var w=Z.type;return typeof w=="function"&&!aT(w)&&w.defaultProps===void 0&&Z.compare===null&&Z.defaultProps===void 0?(u.tag=15,u.type=w,ow(r,u,w,N,X)):(r=DN(Z.type,null,N,u,u.mode,X),r.ref=u.ref,r.return=u,u.child=r)}if(w=r.child,!(r.lanes&X)){var E=w.memoizedProps;if(Z=Z.compare,Z=Z!==null?Z:ft,Z(E,N)&&r.ref===u.ref)return To(r,u,X)}return u.flags|=1,r=_d(w,N),r.ref=u.ref,r.return=u,u.child=r}function ow(r,u,Z,N,X){if(r!==null){var w=r.memoizedProps;if(ft(w,N)&&r.ref===u.ref)if(sa=!1,u.pendingProps=N=w,(r.lanes&X)!==0)r.flags&131072&&(sa=!0);else return u.lanes=r.lanes,To(r,u,X)}return C5(r,u,Z,N,X)}function dw(r,u,Z){var N=u.pendingProps,X=N.children,w=r!==null?r.memoizedState:null;if(N.mode==="hidden")if(!(u.mode&1))u.memoizedState={baseLanes:0,cachePool:null,transitions:null},zn(nb,Va),Va|=Z;else{if(!(Z&1073741824))return r=w!==null?w.baseLanes|Z:Z,u.lanes=u.childLanes=1073741824,u.memoizedState={baseLanes:r,cachePool:null,transitions:null},u.updateQueue=null,zn(nb,Va),Va|=r,null;u.memoizedState={baseLanes:0,cachePool:null,transitions:null},N=w!==null?w.baseLanes:Z,zn(nb,Va),Va|=N}else w!==null?(N=w.baseLanes|Z,u.memoizedState=null):N=Z,zn(nb,Va),Va|=N;return Rs(r,u,X,Z),u.child}function uw(r,u){var Z=u.ref;(r===null&&Z!==null||r!==null&&r.ref!==Z)&&(u.flags|=512,u.flags|=2097152)}function C5(r,u,Z,N,X){var w=ia(Z)?D0:Ts.current;return w=Hh(u,w),$h(u,X),Z=z5(r,u,Z,N,w,X),N=g5(),r!==null&&!sa?(u.updateQueue=r.updateQueue,u.flags&=-2053,r.lanes&=~X,To(r,u,X)):(Fn&&N&&m5(u),u.flags|=1,Rs(r,u,Z,X),u.child)}function mw(r,u,Z,N,X){if(ia(Z)){var w=!0;cN(u)}else w=!1;if($h(u,X),u.stateNode===null)LN(r,u),tw(u,Z,N),D5(u,Z,N,X),N=!0;else if(r===null){var E=u.stateNode,st=u.memoizedProps;E.props=st;var pt=E.context,Kt=Z.contextType;typeof Kt=="object"&&Kt!==null?Kt=cc(Kt):(Kt=ia(Z)?D0:Ts.current,Kt=Hh(u,Kt));var re=Z.getDerivedStateFromProps,ue=typeof re=="function"||typeof E.getSnapshotBeforeUpdate=="function";ue||typeof E.UNSAFE_componentWillReceiveProps!="function"&&typeof E.componentWillReceiveProps!="function"||(st!==N||pt!==Kt)&&ew(u,E,N,Kt),Ed=!1;var se=u.memoizedState;E.state=se,pN(u,N,E,X),pt=u.memoizedState,st!==N||se!==pt||na.current||Ed?(typeof re=="function"&&(k5(u,Z,re,N),pt=u.memoizedState),(st=Ed||$I(u,Z,st,N,se,pt,Kt))?(ue||typeof E.UNSAFE_componentWillMount!="function"&&typeof E.componentWillMount!="function"||(typeof E.componentWillMount=="function"&&E.componentWillMount(),typeof E.UNSAFE_componentWillMount=="function"&&E.UNSAFE_componentWillMount()),typeof E.componentDidMount=="function"&&(u.flags|=4194308)):(typeof E.componentDidMount=="function"&&(u.flags|=4194308),u.memoizedProps=N,u.memoizedState=pt),E.props=N,E.state=pt,E.context=Kt,N=st):(typeof E.componentDidMount=="function"&&(u.flags|=4194308),N=!1)}else{E=u.stateNode,wI(r,u),st=u.memoizedProps,Kt=u.type===u.elementType?st:jc(u.type,st),E.props=Kt,ue=u.pendingProps,se=E.context,pt=Z.contextType,typeof pt=="object"&&pt!==null?pt=cc(pt):(pt=ia(Z)?D0:Ts.current,pt=Hh(u,pt));var Ce=Z.getDerivedStateFromProps;(re=typeof Ce=="function"||typeof E.getSnapshotBeforeUpdate=="function")||typeof E.UNSAFE_componentWillReceiveProps!="function"&&typeof E.componentWillReceiveProps!="function"||(st!==ue||se!==pt)&&ew(u,E,N,pt),Ed=!1,se=u.memoizedState,E.state=se,pN(u,N,E,X);var qe=u.memoizedState;st!==ue||se!==qe||na.current||Ed?(typeof Ce=="function"&&(k5(u,Z,Ce,N),qe=u.memoizedState),(Kt=Ed||$I(u,Z,Kt,N,se,qe,pt)||!1)?(re||typeof E.UNSAFE_componentWillUpdate!="function"&&typeof E.componentWillUpdate!="function"||(typeof E.componentWillUpdate=="function"&&E.componentWillUpdate(N,qe,pt),typeof E.UNSAFE_componentWillUpdate=="function"&&E.UNSAFE_componentWillUpdate(N,qe,pt)),typeof E.componentDidUpdate=="function"&&(u.flags|=4),typeof E.getSnapshotBeforeUpdate=="function"&&(u.flags|=1024)):(typeof E.componentDidUpdate!="function"||st===r.memoizedProps&&se===r.memoizedState||(u.flags|=4),typeof E.getSnapshotBeforeUpdate!="function"||st===r.memoizedProps&&se===r.memoizedState||(u.flags|=1024),u.memoizedProps=N,u.memoizedState=qe),E.props=N,E.state=qe,E.context=pt,N=Kt):(typeof E.componentDidUpdate!="function"||st===r.memoizedProps&&se===r.memoizedState||(u.flags|=4),typeof E.getSnapshotBeforeUpdate!="function"||st===r.memoizedProps&&se===r.memoizedState||(u.flags|=1024),N=!1)}return F5(r,u,Z,N,w,X)}function F5(r,u,Z,N,X,w){uw(r,u);var E=(u.flags&128)!==0;if(!N&&!E)return X&&yI(u,Z,!1),To(r,u,w);N=u.stateNode,IO.current=u;var st=E&&typeof Z.getDerivedStateFromError!="function"?null:N.render();return u.flags|=1,r!==null&&E?(u.child=_h(u,r.child,null,w),u.child=_h(u,null,st,w)):Rs(r,u,st,w),u.memoizedState=N.state,X&&yI(u,Z,!0),u.child}function hw(r){var u=r.stateNode;u.pendingContext?ZI(r,u.pendingContext,u.pendingContext!==u.context):u.context&&ZI(r,u.context,!1),X5(r,u.containerInfo)}function bw(r,u,Z,N,X){return Ah(),p5(X),u.flags|=256,Rs(r,u,Z,N),u.child}var J5={dehydrated:null,treeContext:null,retryLane:0};function v5(r){return{baseLanes:r,cachePool:null,transitions:null}}function Zw(r,u,Z){var N=u.pendingProps,X=An.current,w=!1,E=(u.flags&128)!==0,st;if((st=E)||(st=r!==null&&r.memoizedState===null?!1:(X&2)!==0),st?(w=!0,u.flags&=-129):(r===null||r.memoizedState!==null)&&(X|=1),zn(An,X&1),r===null)return Z5(u),r=u.memoizedState,r!==null&&(r=r.dehydrated,r!==null)?(u.mode&1?r.data==="$!"?u.lanes=8:u.lanes=1073741824:u.lanes=1,null):(E=N.children,r=N.fallback,w?(N=u.mode,w=u.child,E={mode:"hidden",children:E},!(N&1)&&w!==null?(w.childLanes=0,w.pendingProps=E):w=ON(E,N,0,null),r=P0(r,N,Z,null),w.return=u,r.return=u,w.sibling=r,u.child=w,u.child.memoizedState=v5(Z),u.memoizedState=J5,r):U5(u,E));if(X=r.memoizedState,X!==null&&(st=X.dehydrated,st!==null))return wO(r,u,E,N,st,X,Z);if(w){w=N.fallback,E=u.mode,X=r.child,st=X.sibling;var pt={mode:"hidden",children:N.children};return!(E&1)&&u.child!==X?(N=u.child,N.childLanes=0,N.pendingProps=pt,u.deletions=null):(N=_d(X,pt),N.subtreeFlags=X.subtreeFlags&14680064),st!==null?w=_d(st,w):(w=P0(w,E,Z,null),w.flags|=2),w.return=u,N.return=u,N.sibling=w,u.child=N,N=w,w=u.child,E=r.child.memoizedState,E=E===null?v5(Z):{baseLanes:E.baseLanes|Z,cachePool:null,transitions:E.transitions},w.memoizedState=E,w.childLanes=r.childLanes&~Z,u.memoizedState=J5,N}return w=r.child,r=w.sibling,N=_d(w,{mode:"visible",children:N.children}),!(u.mode&1)&&(N.lanes=Z),N.return=u,N.sibling=null,r!==null&&(Z=u.deletions,Z===null?(u.deletions=[r],u.flags|=16):Z.push(r)),u.child=N,u.memoizedState=null,N}function U5(r,u){return u=ON({mode:"visible",children:u},r.mode,0,null),u.return=r,r.child=u}function YN(r,u,Z,N){return N!==null&&p5(N),_h(u,r.child,null,Z),r=U5(u,u.pendingProps.children),r.flags|=2,u.memoizedState=null,r}function wO(r,u,Z,N,X,w,E){if(Z)return u.flags&256?(u.flags&=-257,N=O5(Error(e(422))),YN(r,u,E,N)):u.memoizedState!==null?(u.child=r.child,u.flags|=128,null):(w=N.fallback,X=u.mode,N=ON({mode:"visible",children:N.children},X,0,null),w=P0(w,X,E,null),w.flags|=2,N.return=u,w.return=u,N.sibling=w,u.child=N,u.mode&1&&_h(u,r.child,null,E),u.child.memoizedState=v5(E),u.memoizedState=J5,w);if(!(u.mode&1))return YN(r,u,E,null);if(X.data==="$!"){if(N=X.nextSibling&&X.nextSibling.dataset,N)var st=N.dgst;return N=st,w=Error(e(419)),N=O5(w,N,void 0),YN(r,u,E,N)}if(st=(E&r.childLanes)!==0,sa||st){if(N=Hi,N!==null){switch(E&-E){case 4:X=2;break;case 16:X=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:X=32;break;case 536870912:X=268435456;break;default:X=0}X=X&(N.suspendedLanes|E)?0:X,X!==0&&X!==w.retryLane&&(w.retryLane=X,Mo(r,X),Jc(N,r,X,-1))}return sT(),N=O5(Error(e(421))),YN(r,u,E,N)}return X.data==="$?"?(u.flags|=128,u.child=r.child,u=JO.bind(null,r),X._reactRetry=u,null):(r=w.treeContext,La=Fd(X.nextSibling),Ya=u,Fn=!0,Oc=null,r!==null&&(sc[ac++]=Wo,sc[ac++]=No,sc[ac++]=O0,Wo=r.id,No=r.overflow,O0=u),u=U5(u,N.children),u.flags|=4096,u)}function pw(r,u,Z){r.lanes|=u;var N=r.alternate;N!==null&&(N.lanes|=u),M5(r.return,u,Z)}function E5(r,u,Z,N,X){var w=r.memoizedState;w===null?r.memoizedState={isBackwards:u,rendering:null,renderingStartTime:0,last:N,tail:Z,tailMode:X}:(w.isBackwards=u,w.rendering=null,w.renderingStartTime=0,w.last=N,w.tail=Z,w.tailMode=X)}function yw(r,u,Z){var N=u.pendingProps,X=N.revealOrder,w=N.tail;if(Rs(r,u,N.children,Z),N=An.current,N&2)N=N&1|2,u.flags|=128;else{if(r!==null&&r.flags&128)t:for(r=u.child;r!==null;){if(r.tag===13)r.memoizedState!==null&&pw(r,Z,u);else if(r.tag===19)pw(r,Z,u);else if(r.child!==null){r.child.return=r,r=r.child;continue}if(r===u)break t;for(;r.sibling===null;){if(r.return===null||r.return===u)break t;r=r.return}r.sibling.return=r.return,r=r.sibling}N&=1}if(zn(An,N),!(u.mode&1))u.memoizedState=null;else switch(X){case"forwards":for(Z=u.child,X=null;Z!==null;)r=Z.alternate,r!==null&&yN(r)===null&&(X=Z),Z=Z.sibling;Z=X,Z===null?(X=u.child,u.child=null):(X=Z.sibling,Z.sibling=null),E5(u,!1,X,Z,w);break;case"backwards":for(Z=null,X=u.child,u.child=null;X!==null;){if(r=X.alternate,r!==null&&yN(r)===null){u.child=X;break}r=X.sibling,X.sibling=Z,Z=X,X=r}E5(u,!0,Z,null,w);break;case"together":E5(u,!1,null,null,void 0);break;default:u.memoizedState=null}return u.child}function LN(r,u){!(u.mode&1)&&r!==null&&(r.alternate=null,u.alternate=null,u.flags|=2)}function To(r,u,Z){if(r!==null&&(u.dependencies=r.dependencies),v0|=u.lanes,!(Z&u.childLanes))return null;if(r!==null&&u.child!==r.child)throw Error(e(153));if(u.child!==null){for(r=u.child,Z=_d(r,r.pendingProps),u.child=Z,Z.return=u;r.sibling!==null;)r=r.sibling,Z=Z.sibling=_d(r,r.pendingProps),Z.return=u;Z.sibling=null}return u.child}function zO(r,u,Z){switch(u.tag){case 3:hw(u),Ah();break;case 5:xI(u);break;case 1:ia(u.type)&&cN(u);break;case 4:X5(u,u.stateNode.containerInfo);break;case 10:var N=u.type._context,X=u.memoizedProps.value;zn(hN,N._currentValue),N._currentValue=X;break;case 13:if(N=u.memoizedState,N!==null)return N.dehydrated!==null?(zn(An,An.current&1),u.flags|=128,null):Z&u.child.childLanes?Zw(r,u,Z):(zn(An,An.current&1),r=To(r,u,Z),r!==null?r.sibling:null);zn(An,An.current&1);break;case 19:if(N=(Z&u.childLanes)!==0,r.flags&128){if(N)return yw(r,u,Z);u.flags|=128}if(X=u.memoizedState,X!==null&&(X.rendering=null,X.tail=null,X.lastEffect=null),zn(An,An.current),N)break;return null;case 22:case 23:return u.lanes=0,dw(r,u,Z)}return To(r,u,Z)}var Ww,K5,Nw,Mw;Ww=function(r,u){for(var Z=u.child;Z!==null;){if(Z.tag===5||Z.tag===6)r.appendChild(Z.stateNode);else if(Z.tag!==4&&Z.child!==null){Z.child.return=Z,Z=Z.child;continue}if(Z===u)break;for(;Z.sibling===null;){if(Z.return===null||Z.return===u)return;Z=Z.return}Z.sibling.return=Z.return,Z=Z.sibling}},K5=function(){},Nw=function(r,u,Z,N){var X=r.memoizedProps;if(X!==N){r=u.stateNode,F0(Wr.current);var w=null;switch(Z){case"input":X=je(r,X),N=je(r,N),w=[];break;case"select":X=H({},X,{value:void 0}),N=H({},N,{value:void 0}),w=[];break;case"textarea":X=pn(r,X),N=pn(r,N),w=[];break;default:typeof X.onClick!="function"&&typeof N.onClick=="function"&&(r.onclick=iN)}Ot(Z,N);var E;Z=null;for(Kt in X)if(!N.hasOwnProperty(Kt)&&X.hasOwnProperty(Kt)&&X[Kt]!=null)if(Kt==="style"){var st=X[Kt];for(E in st)st.hasOwnProperty(E)&&(Z||(Z={}),Z[E]="")}else Kt!=="dangerouslySetInnerHTML"&&Kt!=="children"&&Kt!=="suppressContentEditableWarning"&&Kt!=="suppressHydrationWarning"&&Kt!=="autoFocus"&&(i.hasOwnProperty(Kt)?w||(w=[]):(w=w||[]).push(Kt,null));for(Kt in N){var pt=N[Kt];if(st=X!=null?X[Kt]:void 0,N.hasOwnProperty(Kt)&&pt!==st&&(pt!=null||st!=null))if(Kt==="style")if(st){for(E in st)!st.hasOwnProperty(E)||pt&&pt.hasOwnProperty(E)||(Z||(Z={}),Z[E]="");for(E in pt)pt.hasOwnProperty(E)&&st[E]!==pt[E]&&(Z||(Z={}),Z[E]=pt[E])}else Z||(w||(w=[]),w.push(Kt,Z)),Z=pt;else Kt==="dangerouslySetInnerHTML"?(pt=pt?pt.__html:void 0,st=st?st.__html:void 0,pt!=null&&st!==pt&&(w=w||[]).push(Kt,pt)):Kt==="children"?typeof pt!="string"&&typeof pt!="number"||(w=w||[]).push(Kt,""+pt):Kt!=="suppressContentEditableWarning"&&Kt!=="suppressHydrationWarning"&&(i.hasOwnProperty(Kt)?(pt!=null&&Kt==="onScroll"&&Sn("scroll",r),w||st===pt||(w=[])):(w=w||[]).push(Kt,pt))}Z&&(w=w||[]).push("style",Z);var Kt=w;(u.updateQueue=Kt)&&(u.flags|=4)}},Mw=function(r,u,Z,N){Z!==N&&(u.flags|=4)};function fp(r,u){if(!Fn)switch(r.tailMode){case"hidden":u=r.tail;for(var Z=null;u!==null;)u.alternate!==null&&(Z=u),u=u.sibling;Z===null?r.tail=null:Z.sibling=null;break;case"collapsed":Z=r.tail;for(var N=null;Z!==null;)Z.alternate!==null&&(N=Z),Z=Z.sibling;N===null?u||r.tail===null?r.tail=null:r.tail.sibling=null:N.sibling=null}}function Ys(r){var u=r.alternate!==null&&r.alternate.child===r.child,Z=0,N=0;if(u)for(var X=r.child;X!==null;)Z|=X.lanes|X.childLanes,N|=X.subtreeFlags&14680064,N|=X.flags&14680064,X.return=r,X=X.sibling;else for(X=r.child;X!==null;)Z|=X.lanes|X.childLanes,N|=X.subtreeFlags,N|=X.flags,X.return=r,X=X.sibling;return r.subtreeFlags|=N,r.childLanes=Z,u}function gO(r,u,Z){var N=u.pendingProps;switch(h5(u),u.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ys(u),null;case 1:return ia(u.type)&&aN(),Ys(u),null;case 3:return N=u.stateNode,tb(),Rn(na),Rn(Ts),V5(),N.pendingContext&&(N.context=N.pendingContext,N.pendingContext=null),(r===null||r.child===null)&&(uN(u)?u.flags|=4:r===null||r.memoizedState.isDehydrated&&!(u.flags&256)||(u.flags|=1024,Oc!==null&&(lT(Oc),Oc=null))),K5(r,u),Ys(u),null;case 5:Y5(u);var X=F0(Ip.current);if(Z=u.type,r!==null&&u.stateNode!=null)Nw(r,u,Z,N,X),r.ref!==u.ref&&(u.flags|=512,u.flags|=2097152);else{if(!N){if(u.stateNode===null)throw Error(e(166));return Ys(u),null}if(r=F0(Wr.current),uN(u)){N=u.stateNode,Z=u.type;var w=u.memoizedProps;switch(N[yr]=u,N[Tp]=w,r=(u.mode&1)!==0,Z){case"dialog":Sn("cancel",N),Sn("close",N);break;case"iframe":case"object":case"embed":Sn("load",N);break;case"video":case"audio":for(X=0;X<Np.length;X++)Sn(Np[X],N);break;case"source":Sn("error",N);break;case"img":case"image":case"link":Sn("error",N),Sn("load",N);break;case"details":Sn("toggle",N);break;case"input":xe(N,w),Sn("invalid",N);break;case"select":N._wrapperState={wasMultiple:!!w.multiple},Sn("invalid",N);break;case"textarea":sn(N,w),Sn("invalid",N)}Ot(Z,w),X=null;for(var E in w)if(w.hasOwnProperty(E)){var st=w[E];E==="children"?typeof st=="string"?N.textContent!==st&&(w.suppressHydrationWarning!==!0&&nN(N.textContent,st,r),X=["children",st]):typeof st=="number"&&N.textContent!==""+st&&(w.suppressHydrationWarning!==!0&&nN(N.textContent,st,r),X=["children",""+st]):i.hasOwnProperty(E)&&st!=null&&E==="onScroll"&&Sn("scroll",N)}switch(Z){case"input":te(N),gl(N,w,!0);break;case"textarea":te(N),de(N);break;case"select":case"option":break;default:typeof w.onClick=="function"&&(N.onclick=iN)}N=X,u.updateQueue=N,N!==null&&(u.flags|=4)}else{E=X.nodeType===9?X:X.ownerDocument,r==="http://www.w3.org/1999/xhtml"&&(r=Yt(Z)),r==="http://www.w3.org/1999/xhtml"?Z==="script"?(r=E.createElement("div"),r.innerHTML="<script><\/script>",r=r.removeChild(r.firstChild)):typeof N.is=="string"?r=E.createElement(Z,{is:N.is}):(r=E.createElement(Z),Z==="select"&&(E=r,N.multiple?E.multiple=!0:N.size&&(E.size=N.size))):r=E.createElementNS(r,Z),r[yr]=u,r[Tp]=N,Ww(r,u,!1,!1),u.stateNode=r;t:{switch(E=fe(Z,N),Z){case"dialog":Sn("cancel",r),Sn("close",r),X=N;break;case"iframe":case"object":case"embed":Sn("load",r),X=N;break;case"video":case"audio":for(X=0;X<Np.length;X++)Sn(Np[X],r);X=N;break;case"source":Sn("error",r),X=N;break;case"img":case"image":case"link":Sn("error",r),Sn("load",r),X=N;break;case"details":Sn("toggle",r),X=N;break;case"input":xe(r,N),X=je(r,N),Sn("invalid",r);break;case"option":X=N;break;case"select":r._wrapperState={wasMultiple:!!N.multiple},X=H({},N,{value:void 0}),Sn("invalid",r);break;case"textarea":sn(r,N),X=pn(r,N),Sn("invalid",r);break;default:X=N}Ot(Z,X),st=X;for(w in st)if(st.hasOwnProperty(w)){var pt=st[w];w==="style"?Vt(r,pt):w==="dangerouslySetInnerHTML"?(pt=pt?pt.__html:void 0,pt!=null&&ee(r,pt)):w==="children"?typeof pt=="string"?(Z!=="textarea"||pt!=="")&&Q(r,pt):typeof pt=="number"&&Q(r,""+pt):w!=="suppressContentEditableWarning"&&w!=="suppressHydrationWarning"&&w!=="autoFocus"&&(i.hasOwnProperty(w)?pt!=null&&w==="onScroll"&&Sn("scroll",r):pt!=null&&g(r,w,pt,E))}switch(Z){case"input":te(r),gl(r,N,!1);break;case"textarea":te(r),de(r);break;case"option":N.value!=null&&r.setAttribute("value",""+xt(N.value));break;case"select":r.multiple=!!N.multiple,w=N.value,w!=null?El(r,!!N.multiple,w,!1):N.defaultValue!=null&&El(r,!!N.multiple,N.defaultValue,!0);break;default:typeof X.onClick=="function"&&(r.onclick=iN)}switch(Z){case"button":case"input":case"select":case"textarea":N=!!N.autoFocus;break t;case"img":N=!0;break t;default:N=!1}}N&&(u.flags|=4)}u.ref!==null&&(u.flags|=512,u.flags|=2097152)}return Ys(u),null;case 6:if(r&&u.stateNode!=null)Mw(r,u,r.memoizedProps,N);else{if(typeof N!="string"&&u.stateNode===null)throw Error(e(166));if(Z=F0(Ip.current),F0(Wr.current),uN(u)){if(N=u.stateNode,Z=u.memoizedProps,N[yr]=u,(w=N.nodeValue!==Z)&&(r=Ya,r!==null))switch(r.tag){case 3:nN(N.nodeValue,Z,(r.mode&1)!==0);break;case 5:r.memoizedProps.suppressHydrationWarning!==!0&&nN(N.nodeValue,Z,(r.mode&1)!==0)}w&&(u.flags|=4)}else N=(Z.nodeType===9?Z:Z.ownerDocument).createTextNode(N),N[yr]=u,u.stateNode=N}return Ys(u),null;case 13:if(Rn(An),N=u.memoizedState,r===null||r.memoizedState!==null&&r.memoizedState.dehydrated!==null){if(Fn&&La!==null&&u.mode&1&&!(u.flags&128))XI(),Ah(),u.flags|=98560,w=!1;else if(w=uN(u),N!==null&&N.dehydrated!==null){if(r===null){if(!w)throw Error(e(318));if(w=u.memoizedState,w=w!==null?w.dehydrated:null,!w)throw Error(e(317));w[yr]=u}else Ah(),!(u.flags&128)&&(u.memoizedState=null),u.flags|=4;Ys(u),w=!1}else Oc!==null&&(lT(Oc),Oc=null),w=!0;if(!w)return u.flags&65536?u:null}return u.flags&128?(u.lanes=Z,u):(N=N!==null,N!==(r!==null&&r.memoizedState!==null)&&N&&(u.child.flags|=8192,u.mode&1&&(r===null||An.current&1?Si===0&&(Si=3):sT())),u.updateQueue!==null&&(u.flags|=4),Ys(u),null);case 4:return tb(),K5(r,u),r===null&&Mp(u.stateNode.containerInfo),Ys(u),null;case 10:return N5(u.type._context),Ys(u),null;case 17:return ia(u.type)&&aN(),Ys(u),null;case 19:if(Rn(An),w=u.memoizedState,w===null)return Ys(u),null;if(N=(u.flags&128)!==0,E=w.rendering,E===null)if(N)fp(w,!1);else{if(Si!==0||r!==null&&r.flags&128)for(r=u.child;r!==null;){if(E=yN(r),E!==null){for(u.flags|=128,fp(w,!1),N=E.updateQueue,N!==null&&(u.updateQueue=N,u.flags|=4),u.subtreeFlags=0,N=Z,Z=u.child;Z!==null;)w=Z,r=N,w.flags&=14680066,E=w.alternate,E===null?(w.childLanes=0,w.lanes=r,w.child=null,w.subtreeFlags=0,w.memoizedProps=null,w.memoizedState=null,w.updateQueue=null,w.dependencies=null,w.stateNode=null):(w.childLanes=E.childLanes,w.lanes=E.lanes,w.child=E.child,w.subtreeFlags=0,w.deletions=null,w.memoizedProps=E.memoizedProps,w.memoizedState=E.memoizedState,w.updateQueue=E.updateQueue,w.type=E.type,r=E.dependencies,w.dependencies=r===null?null:{lanes:r.lanes,firstContext:r.firstContext}),Z=Z.sibling;return zn(An,An.current&1|2),u.child}r=r.sibling}w.tail!==null&&bl()>ib&&(u.flags|=128,N=!0,fp(w,!1),u.lanes=4194304)}else{if(!N)if(r=yN(E),r!==null){if(u.flags|=128,N=!0,Z=r.updateQueue,Z!==null&&(u.updateQueue=Z,u.flags|=4),fp(w,!0),w.tail===null&&w.tailMode==="hidden"&&!E.alternate&&!Fn)return Ys(u),null}else 2*bl()-w.renderingStartTime>ib&&Z!==1073741824&&(u.flags|=128,N=!0,fp(w,!1),u.lanes=4194304);w.isBackwards?(E.sibling=u.child,u.child=E):(Z=w.last,Z!==null?Z.sibling=E:u.child=E,w.last=E)}return w.tail!==null?(u=w.tail,w.rendering=u,w.tail=u.sibling,w.renderingStartTime=bl(),u.sibling=null,Z=An.current,zn(An,N?Z&1|2:Z&1),u):(Ys(u),null);case 22:case 23:return iT(),N=u.memoizedState!==null,r!==null&&r.memoizedState!==null!==N&&(u.flags|=8192),N&&u.mode&1?Va&1073741824&&(Ys(u),u.subtreeFlags&6&&(u.flags|=8192)):Ys(u),null;case 24:return null;case 25:return null}throw Error(e(156,u.tag))}function xO(r,u){switch(h5(u),u.tag){case 1:return ia(u.type)&&aN(),r=u.flags,r&65536?(u.flags=r&-65537|128,u):null;case 3:return tb(),Rn(na),Rn(Ts),V5(),r=u.flags,r&65536&&!(r&128)?(u.flags=r&-65537|128,u):null;case 5:return Y5(u),null;case 13:if(Rn(An),r=u.memoizedState,r!==null&&r.dehydrated!==null){if(u.alternate===null)throw Error(e(340));Ah()}return r=u.flags,r&65536?(u.flags=r&-65537|128,u):null;case 19:return Rn(An),null;case 4:return tb(),null;case 10:return N5(u.type._context),null;case 22:case 23:return iT(),null;case 24:return null;default:return null}}var VN=!1,Ls=!1,fO=typeof WeakSet=="function"?WeakSet:Set,Pe=null;function lb(r,u){var Z=r.ref;if(Z!==null)if(typeof Z=="function")try{Z(null)}catch(N){ai(r,u,N)}else Z.current=null}function P5(r,u,Z){try{Z()}catch(N){ai(r,u,N)}}var Gw=!1;function SO(r,u){if(i5=br,r=Lt(),jt(r)){if("selectionStart"in r)var Z={start:r.selectionStart,end:r.selectionEnd};else t:{Z=(Z=r.ownerDocument)&&Z.defaultView||window;var N=Z.getSelection&&Z.getSelection();if(N&&N.rangeCount!==0){Z=N.anchorNode;var X=N.anchorOffset,w=N.focusNode;N=N.focusOffset;try{Z.nodeType,w.nodeType}catch{Z=null;break t}var E=0,st=-1,pt=-1,Kt=0,re=0,ue=r,se=null;e:for(;;){for(var Ce;ue!==Z||X!==0&&ue.nodeType!==3||(st=E+X),ue!==w||N!==0&&ue.nodeType!==3||(pt=E+N),ue.nodeType===3&&(E+=ue.nodeValue.length),(Ce=ue.firstChild)!==null;)se=ue,ue=Ce;for(;;){if(ue===r)break e;if(se===Z&&++Kt===X&&(st=E),se===w&&++re===N&&(pt=E),(Ce=ue.nextSibling)!==null)break;ue=se,se=ue.parentNode}ue=Ce}Z=st===-1||pt===-1?null:{start:st,end:pt}}else Z=null}Z=Z||{start:0,end:0}}else Z=null;for(s5={focusedElem:r,selectionRange:Z},br=!1,Pe=u;Pe!==null;)if(u=Pe,r=u.child,(u.subtreeFlags&1028)!==0&&r!==null)r.return=u,Pe=r;else for(;Pe!==null;){u=Pe;try{var qe=u.alternate;if(u.flags&1024)switch(u.tag){case 0:case 11:case 15:break;case 1:if(qe!==null){var tl=qe.memoizedProps,bi=qe.memoizedState,Rt=u.stateNode,Xt=Rt.getSnapshotBeforeUpdate(u.elementType===u.type?tl:jc(u.type,tl),bi);Rt.__reactInternalSnapshotBeforeUpdate=Xt}break;case 3:var Ct=u.stateNode.containerInfo;Ct.nodeType===1?Ct.textContent="":Ct.nodeType===9&&Ct.documentElement&&Ct.removeChild(Ct.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(e(163))}}catch(Le){ai(u,u.return,Le)}if(r=u.sibling,r!==null){r.return=u.return,Pe=r;break}Pe=u.return}return qe=Gw,Gw=!1,qe}function Sp(r,u,Z){var N=u.updateQueue;if(N=N!==null?N.lastEffect:null,N!==null){var X=N=N.next;do{if((X.tag&r)===r){var w=X.destroy;X.destroy=void 0,w!==void 0&&P5(u,Z,w)}X=X.next}while(X!==N)}}function IN(r,u){if(u=u.updateQueue,u=u!==null?u.lastEffect:null,u!==null){var Z=u=u.next;do{if((Z.tag&r)===r){var N=Z.create;Z.destroy=N()}Z=Z.next}while(Z!==u)}}function H5(r){var u=r.ref;if(u!==null){var Z=r.stateNode;switch(r.tag){case 5:r=Z;break;default:r=Z}typeof u=="function"?u(r):u.current=r}}function Tw(r){var u=r.alternate;u!==null&&(r.alternate=null,Tw(u)),r.child=null,r.deletions=null,r.sibling=null,r.tag===5&&(u=r.stateNode,u!==null&&(delete u[yr],delete u[Tp],delete u[o5],delete u[ZO],delete u[pO])),r.stateNode=null,r.return=null,r.dependencies=null,r.memoizedProps=null,r.memoizedState=null,r.pendingProps=null,r.stateNode=null,r.updateQueue=null}function Xw(r){return r.tag===5||r.tag===3||r.tag===4}function Yw(r){t:for(;;){for(;r.sibling===null;){if(r.return===null||Xw(r.return))return null;r=r.return}for(r.sibling.return=r.return,r=r.sibling;r.tag!==5&&r.tag!==6&&r.tag!==18;){if(r.flags&2||r.child===null||r.tag===4)continue t;r.child.return=r,r=r.child}if(!(r.flags&2))return r.stateNode}}function Q5(r,u,Z){var N=r.tag;if(N===5||N===6)r=r.stateNode,u?Z.nodeType===8?Z.parentNode.insertBefore(r,u):Z.insertBefore(r,u):(Z.nodeType===8?(u=Z.parentNode,u.insertBefore(r,Z)):(u=Z,u.appendChild(r)),Z=Z._reactRootContainer,Z!=null||u.onclick!==null||(u.onclick=iN));else if(N!==4&&(r=r.child,r!==null))for(Q5(r,u,Z),r=r.sibling;r!==null;)Q5(r,u,Z),r=r.sibling}function B5(r,u,Z){var N=r.tag;if(N===5||N===6)r=r.stateNode,u?Z.insertBefore(r,u):Z.appendChild(r);else if(N!==4&&(r=r.child,r!==null))for(B5(r,u,Z),r=r.sibling;r!==null;)B5(r,u,Z),r=r.sibling}var as=null,Cc=!1;function Pd(r,u,Z){for(Z=Z.child;Z!==null;)Lw(r,u,Z),Z=Z.sibling}function Lw(r,u,Z){if(fl&&typeof fl.onCommitFiberUnmount=="function")try{fl.onCommitFiberUnmount(wl,Z)}catch{}switch(Z.tag){case 5:Ls||lb(Z,u);case 6:var N=as,X=Cc;as=null,Pd(r,u,Z),as=N,Cc=X,as!==null&&(Cc?(r=as,Z=Z.stateNode,r.nodeType===8?r.parentNode.removeChild(Z):r.removeChild(Z)):as.removeChild(Z.stateNode));break;case 18:as!==null&&(Cc?(r=as,Z=Z.stateNode,r.nodeType===8?r5(r.parentNode,Z):r.nodeType===1&&r5(r,Z),Sd(r)):r5(as,Z.stateNode));break;case 4:N=as,X=Cc,as=Z.stateNode.containerInfo,Cc=!0,Pd(r,u,Z),as=N,Cc=X;break;case 0:case 11:case 14:case 15:if(!Ls&&(N=Z.updateQueue,N!==null&&(N=N.lastEffect,N!==null))){X=N=N.next;do{var w=X,E=w.destroy;w=w.tag,E!==void 0&&(w&2||w&4)&&P5(Z,u,E),X=X.next}while(X!==N)}Pd(r,u,Z);break;case 1:if(!Ls&&(lb(Z,u),N=Z.stateNode,typeof N.componentWillUnmount=="function"))try{N.props=Z.memoizedProps,N.state=Z.memoizedState,N.componentWillUnmount()}catch(st){ai(Z,u,st)}Pd(r,u,Z);break;case 21:Pd(r,u,Z);break;case 22:Z.mode&1?(Ls=(N=Ls)||Z.memoizedState!==null,Pd(r,u,Z),Ls=N):Pd(r,u,Z);break;default:Pd(r,u,Z)}}function Vw(r){var u=r.updateQueue;if(u!==null){r.updateQueue=null;var Z=r.stateNode;Z===null&&(Z=r.stateNode=new fO),u.forEach(function(N){var X=vO.bind(null,r,N);Z.has(N)||(Z.add(N),N.then(X,X))})}}function Fc(r,u){var Z=u.deletions;if(Z!==null)for(var N=0;N<Z.length;N++){var X=Z[N];try{var w=r,E=u,st=E;t:for(;st!==null;){switch(st.tag){case 5:as=st.stateNode,Cc=!1;break t;case 3:as=st.stateNode.containerInfo,Cc=!0;break t;case 4:as=st.stateNode.containerInfo,Cc=!0;break t}st=st.return}if(as===null)throw Error(e(160));Lw(w,E,X),as=null,Cc=!1;var pt=X.alternate;pt!==null&&(pt.return=null),X.return=null}catch(Kt){ai(X,u,Kt)}}if(u.subtreeFlags&12854)for(u=u.child;u!==null;)Iw(u,r),u=u.sibling}function Iw(r,u){var Z=r.alternate,N=r.flags;switch(r.tag){case 0:case 11:case 14:case 15:if(Fc(u,r),Mr(r),N&4){try{Sp(3,r,r.return),IN(3,r)}catch(tl){ai(r,r.return,tl)}try{Sp(5,r,r.return)}catch(tl){ai(r,r.return,tl)}}break;case 1:Fc(u,r),Mr(r),N&512&&Z!==null&&lb(Z,Z.return);break;case 5:if(Fc(u,r),Mr(r),N&512&&Z!==null&&lb(Z,Z.return),r.flags&32){var X=r.stateNode;try{Q(X,"")}catch(tl){ai(r,r.return,tl)}}if(N&4&&(X=r.stateNode,X!=null)){var w=r.memoizedProps,E=Z!==null?Z.memoizedProps:w,st=r.type,pt=r.updateQueue;if(r.updateQueue=null,pt!==null)try{st==="input"&&w.type==="radio"&&w.name!=null&&Ke(X,w),fe(st,E);var Kt=fe(st,w);for(E=0;E<pt.length;E+=2){var re=pt[E],ue=pt[E+1];re==="style"?Vt(X,ue):re==="dangerouslySetInnerHTML"?ee(X,ue):re==="children"?Q(X,ue):g(X,re,ue,Kt)}switch(st){case"input":Vl(X,w);break;case"textarea":qt(X,w);break;case"select":var se=X._wrapperState.wasMultiple;X._wrapperState.wasMultiple=!!w.multiple;var Ce=w.value;Ce!=null?El(X,!!w.multiple,Ce,!1):se!==!!w.multiple&&(w.defaultValue!=null?El(X,!!w.multiple,w.defaultValue,!0):El(X,!!w.multiple,w.multiple?[]:"",!1))}X[Tp]=w}catch(tl){ai(r,r.return,tl)}}break;case 6:if(Fc(u,r),Mr(r),N&4){if(r.stateNode===null)throw Error(e(162));X=r.stateNode,w=r.memoizedProps;try{X.nodeValue=w}catch(tl){ai(r,r.return,tl)}}break;case 3:if(Fc(u,r),Mr(r),N&4&&Z!==null&&Z.memoizedState.isDehydrated)try{Sd(u.containerInfo)}catch(tl){ai(r,r.return,tl)}break;case 4:Fc(u,r),Mr(r);break;case 13:Fc(u,r),Mr(r),X=r.child,X.flags&8192&&(w=X.memoizedState!==null,X.stateNode.isHidden=w,!w||X.alternate!==null&&X.alternate.memoizedState!==null||(q5=bl())),N&4&&Vw(r);break;case 22:if(re=Z!==null&&Z.memoizedState!==null,r.mode&1?(Ls=(Kt=Ls)||re,Fc(u,r),Ls=Kt):Fc(u,r),Mr(r),N&8192){if(Kt=r.memoizedState!==null,(r.stateNode.isHidden=Kt)&&!re&&r.mode&1)for(Pe=r,re=r.child;re!==null;){for(ue=Pe=re;Pe!==null;){switch(se=Pe,Ce=se.child,se.tag){case 0:case 11:case 14:case 15:Sp(4,se,se.return);break;case 1:lb(se,se.return);var qe=se.stateNode;if(typeof qe.componentWillUnmount=="function"){N=se,Z=se.return;try{u=N,qe.props=u.memoizedProps,qe.state=u.memoizedState,qe.componentWillUnmount()}catch(tl){ai(N,Z,tl)}}break;case 5:lb(se,se.return);break;case 22:if(se.memoizedState!==null){gw(ue);continue}}Ce!==null?(Ce.return=se,Pe=Ce):gw(ue)}re=re.sibling}t:for(re=null,ue=r;;){if(ue.tag===5){if(re===null){re=ue;try{X=ue.stateNode,Kt?(w=X.style,typeof w.setProperty=="function"?w.setProperty("display","none","important"):w.display="none"):(st=ue.stateNode,pt=ue.memoizedProps.style,E=pt!=null&&pt.hasOwnProperty("display")?pt.display:null,st.style.display=mt("display",E))}catch(tl){ai(r,r.return,tl)}}}else if(ue.tag===6){if(re===null)try{ue.stateNode.nodeValue=Kt?"":ue.memoizedProps}catch(tl){ai(r,r.return,tl)}}else if((ue.tag!==22&&ue.tag!==23||ue.memoizedState===null||ue===r)&&ue.child!==null){ue.child.return=ue,ue=ue.child;continue}if(ue===r)break t;for(;ue.sibling===null;){if(ue.return===null||ue.return===r)break t;re===ue&&(re=null),ue=ue.return}re===ue&&(re=null),ue.sibling.return=ue.return,ue=ue.sibling}}break;case 19:Fc(u,r),Mr(r),N&4&&Vw(r);break;case 21:break;default:Fc(u,r),Mr(r)}}function Mr(r){var u=r.flags;if(u&2){try{t:{for(var Z=r.return;Z!==null;){if(Xw(Z)){var N=Z;break t}Z=Z.return}throw Error(e(160))}switch(N.tag){case 5:var X=N.stateNode;N.flags&32&&(Q(X,""),N.flags&=-33);var w=Yw(r);B5(r,w,X);break;case 3:case 4:var E=N.stateNode.containerInfo,st=Yw(r);Q5(r,st,E);break;default:throw Error(e(161))}}catch(pt){ai(r,r.return,pt)}r.flags&=-3}u&4096&&(r.flags&=-4097)}function RO(r,u,Z){Pe=r,ww(r)}function ww(r,u,Z){for(var N=(r.mode&1)!==0;Pe!==null;){var X=Pe,w=X.child;if(X.tag===22&&N){var E=X.memoizedState!==null||VN;if(!E){var st=X.alternate,pt=st!==null&&st.memoizedState!==null||Ls;st=VN;var Kt=Ls;if(VN=E,(Ls=pt)&&!Kt)for(Pe=X;Pe!==null;)E=Pe,pt=E.child,E.tag===22&&E.memoizedState!==null?xw(X):pt!==null?(pt.return=E,Pe=pt):xw(X);for(;w!==null;)Pe=w,ww(w),w=w.sibling;Pe=X,VN=st,Ls=Kt}zw(r)}else X.subtreeFlags&8772&&w!==null?(w.return=X,Pe=w):zw(r)}}function zw(r){for(;Pe!==null;){var u=Pe;if(u.flags&8772){var Z=u.alternate;try{if(u.flags&8772)switch(u.tag){case 0:case 11:case 15:Ls||IN(5,u);break;case 1:var N=u.stateNode;if(u.flags&4&&!Ls)if(Z===null)N.componentDidMount();else{var X=u.elementType===u.type?Z.memoizedProps:jc(u.type,Z.memoizedProps);N.componentDidUpdate(X,Z.memoizedState,N.__reactInternalSnapshotBeforeUpdate)}var w=u.updateQueue;w!==null&&gI(u,w,N);break;case 3:var E=u.updateQueue;if(E!==null){if(Z=null,u.child!==null)switch(u.child.tag){case 5:Z=u.child.stateNode;break;case 1:Z=u.child.stateNode}gI(u,E,Z)}break;case 5:var st=u.stateNode;if(Z===null&&u.flags&4){Z=st;var pt=u.memoizedProps;switch(u.type){case"button":case"input":case"select":case"textarea":pt.autoFocus&&Z.focus();break;case"img":pt.src&&(Z.src=pt.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(u.memoizedState===null){var Kt=u.alternate;if(Kt!==null){var re=Kt.memoizedState;if(re!==null){var ue=re.dehydrated;ue!==null&&Sd(ue)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(e(163))}Ls||u.flags&512&&H5(u)}catch(se){ai(u,u.return,se)}}if(u===r){Pe=null;break}if(Z=u.sibling,Z!==null){Z.return=u.return,Pe=Z;break}Pe=u.return}}function gw(r){for(;Pe!==null;){var u=Pe;if(u===r){Pe=null;break}var Z=u.sibling;if(Z!==null){Z.return=u.return,Pe=Z;break}Pe=u.return}}function xw(r){for(;Pe!==null;){var u=Pe;try{switch(u.tag){case 0:case 11:case 15:var Z=u.return;try{IN(4,u)}catch(pt){ai(u,Z,pt)}break;case 1:var N=u.stateNode;if(typeof N.componentDidMount=="function"){var X=u.return;try{N.componentDidMount()}catch(pt){ai(u,X,pt)}}var w=u.return;try{H5(u)}catch(pt){ai(u,w,pt)}break;case 5:var E=u.return;try{H5(u)}catch(pt){ai(u,E,pt)}}}catch(pt){ai(u,u.return,pt)}if(u===r){Pe=null;break}var st=u.sibling;if(st!==null){st.return=u.return,Pe=st;break}Pe=u.return}}var kO=Math.ceil,wN=F.ReactCurrentDispatcher,A5=F.ReactCurrentOwner,oc=F.ReactCurrentBatchConfig,ql=0,Hi=null,Mi=null,cs=0,Va=0,nb=Jd(0),Si=0,Rp=null,v0=0,zN=0,_5=0,kp=null,aa=null,q5=0,ib=1/0,Xo=null,gN=!1,$5=null,Hd=null,xN=!1,Qd=null,fN=0,Dp=0,tT=null,SN=-1,RN=0;function ks(){return ql&6?bl():SN!==-1?SN:SN=bl()}function Bd(r){return r.mode&1?ql&2&&cs!==0?cs&-cs:WO.transition!==null?(RN===0&&(RN=N0()),RN):(r=Al,r!==0||(r=window.event,r=r===void 0?16:vW(r.type)),r):1}function Jc(r,u,Z,N){if(50<Dp)throw Dp=0,tT=null,Error(e(185));kc(r,Z,N),(!(ql&2)||r!==Hi)&&(r===Hi&&(!(ql&2)&&(zN|=Z),Si===4&&Ad(r,cs)),ca(r,N),Z===1&&ql===0&&!(u.mode&1)&&(ib=bl()+500,rN&&Ud()))}function ca(r,u){var Z=r.callbackNode;W0(r,u);var N=ea(r,r===Hi?cs:0);if(N===0)Z!==null&&si(Z),r.callbackNode=null,r.callbackPriority=0;else if(u=N&-N,r.callbackPriority!==u){if(Z!=null&&si(Z),u===1)r.tag===0?yO(Sw.bind(null,r)):WI(Sw.bind(null,r)),hO(function(){!(ql&6)&&Ud()}),Z=null;else{switch(Se(N)){case 1:Z=Ni;break;case 4:Z=ns;break;case 16:Z=mr;break;case 536870912:Z=Qe;break;default:Z=mr}Z=Jw(Z,fw.bind(null,r))}r.callbackPriority=u,r.callbackNode=Z}}function fw(r,u){if(SN=-1,RN=0,ql&6)throw Error(e(327));var Z=r.callbackNode;if(sb()&&r.callbackNode!==Z)return null;var N=ea(r,r===Hi?cs:0);if(N===0)return null;if(N&30||N&r.expiredLanes||u)u=kN(r,N);else{u=N;var X=ql;ql|=2;var w=kw();(Hi!==r||cs!==u)&&(Xo=null,ib=bl()+500,E0(r,u));do try{jO();break}catch(st){Rw(r,st)}while(!0);W5(),wN.current=w,ql=X,Mi!==null?u=0:(Hi=null,cs=0,u=Si)}if(u!==0){if(u===2&&(X=hr(r),X!==0&&(N=X,u=eT(r,X))),u===1)throw Z=Rp,E0(r,0),Ad(r,N),ca(r,bl()),Z;if(u===6)Ad(r,N);else{if(X=r.current.alternate,!(N&30)&&!DO(X)&&(u=kN(r,N),u===2&&(w=hr(r),w!==0&&(N=w,u=eT(r,w))),u===1))throw Z=Rp,E0(r,0),Ad(r,N),ca(r,bl()),Z;switch(r.finishedWork=X,r.finishedLanes=N,u){case 0:case 1:throw Error(e(345));case 2:K0(r,aa,Xo);break;case 3:if(Ad(r,N),(N&130023424)===N&&(u=q5+500-bl(),10<u)){if(ea(r,0)!==0)break;if(X=r.suspendedLanes,(X&N)!==N){ks(),r.pingedLanes|=r.suspendedLanes&X;break}r.timeoutHandle=c5(K0.bind(null,r,aa,Xo),u);break}K0(r,aa,Xo);break;case 4:if(Ad(r,N),(N&4194240)===N)break;for(u=r.eventTimes,X=-1;0<N;){var E=31-ll(N);w=1<<E,E=u[E],E>X&&(X=E),N&=~w}if(N=X,N=bl()-N,N=(120>N?120:480>N?480:1080>N?1080:1920>N?1920:3e3>N?3e3:4320>N?4320:1960*kO(N/1960))-N,10<N){r.timeoutHandle=c5(K0.bind(null,r,aa,Xo),N);break}K0(r,aa,Xo);break;case 5:K0(r,aa,Xo);break;default:throw Error(e(329))}}}return ca(r,bl()),r.callbackNode===Z?fw.bind(null,r):null}function eT(r,u){var Z=kp;return r.current.memoizedState.isDehydrated&&(E0(r,u).flags|=256),r=kN(r,u),r!==2&&(u=aa,aa=Z,u!==null&&lT(u)),r}function lT(r){aa===null?aa=r:aa.push.apply(aa,r)}function DO(r){for(var u=r;;){if(u.flags&16384){var Z=u.updateQueue;if(Z!==null&&(Z=Z.stores,Z!==null))for(var N=0;N<Z.length;N++){var X=Z[N],w=X.getSnapshot;X=X.value;try{if(!ot(w(),X))return!1}catch{return!1}}}if(Z=u.child,u.subtreeFlags&16384&&Z!==null)Z.return=u,u=Z;else{if(u===r)break;for(;u.sibling===null;){if(u.return===null||u.return===r)return!0;u=u.return}u.sibling.return=u.return,u=u.sibling}}return!0}function Ad(r,u){for(u&=~_5,u&=~zN,r.suspendedLanes|=u,r.pingedLanes&=~u,r=r.expirationTimes;0<u;){var Z=31-ll(u),N=1<<Z;r[Z]=-1,u&=~N}}function Sw(r){if(ql&6)throw Error(e(327));sb();var u=ea(r,0);if(!(u&1))return ca(r,bl()),null;var Z=kN(r,u);if(r.tag!==0&&Z===2){var N=hr(r);N!==0&&(u=N,Z=eT(r,N))}if(Z===1)throw Z=Rp,E0(r,0),Ad(r,u),ca(r,bl()),Z;if(Z===6)throw Error(e(345));return r.finishedWork=r.current.alternate,r.finishedLanes=u,K0(r,aa,Xo),ca(r,bl()),null}function nT(r,u){var Z=ql;ql|=1;try{return r(u)}finally{ql=Z,ql===0&&(ib=bl()+500,rN&&Ud())}}function U0(r){Qd!==null&&Qd.tag===0&&!(ql&6)&&sb();var u=ql;ql|=1;var Z=oc.transition,N=Al;try{if(oc.transition=null,Al=1,r)return r()}finally{Al=N,oc.transition=Z,ql=u,!(ql&6)&&Ud()}}function iT(){Va=nb.current,Rn(nb)}function E0(r,u){r.finishedWork=null,r.finishedLanes=0;var Z=r.timeoutHandle;if(Z!==-1&&(r.timeoutHandle=-1,mO(Z)),Mi!==null)for(Z=Mi.return;Z!==null;){var N=Z;switch(h5(N),N.tag){case 1:N=N.type.childContextTypes,N!=null&&aN();break;case 3:tb(),Rn(na),Rn(Ts),V5();break;case 5:Y5(N);break;case 4:tb();break;case 13:Rn(An);break;case 19:Rn(An);break;case 10:N5(N.type._context);break;case 22:case 23:iT()}Z=Z.return}if(Hi=r,Mi=r=_d(r.current,null),cs=Va=u,Si=0,Rp=null,_5=zN=v0=0,aa=kp=null,C0!==null){for(u=0;u<C0.length;u++)if(Z=C0[u],N=Z.interleaved,N!==null){Z.interleaved=null;var X=N.next,w=Z.pending;if(w!==null){var E=w.next;w.next=X,N.next=E}Z.pending=N}C0=null}return r}function Rw(r,u){do{var Z=Mi;try{if(W5(),WN.current=TN,NN){for(var N=_n.memoizedState;N!==null;){var X=N.queue;X!==null&&(X.pending=null),N=N.next}NN=!1}if(J0=0,Pi=fi=_n=null,wp=!1,zp=0,A5.current=null,Z===null||Z.return===null){Si=1,Rp=u,Mi=null;break}t:{var w=r,E=Z.return,st=Z,pt=u;if(u=cs,st.flags|=32768,pt!==null&&typeof pt=="object"&&typeof pt.then=="function"){var Kt=pt,re=st,ue=re.tag;if(!(re.mode&1)&&(ue===0||ue===11||ue===15)){var se=re.alternate;se?(re.updateQueue=se.updateQueue,re.memoizedState=se.memoizedState,re.lanes=se.lanes):(re.updateQueue=null,re.memoizedState=null)}var Ce=sw(E);if(Ce!==null){Ce.flags&=-257,aw(Ce,E,st,w,u),Ce.mode&1&&iw(w,Kt,u),u=Ce,pt=Kt;var qe=u.updateQueue;if(qe===null){var tl=new Set;tl.add(pt),u.updateQueue=tl}else qe.add(pt);break t}else{if(!(u&1)){iw(w,Kt,u),sT();break t}pt=Error(e(426))}}else if(Fn&&st.mode&1){var bi=sw(E);if(bi!==null){!(bi.flags&65536)&&(bi.flags|=256),aw(bi,E,st,w,u),p5(eb(pt,st));break t}}w=pt=eb(pt,st),Si!==4&&(Si=2),kp===null?kp=[w]:kp.push(w),w=E;do{switch(w.tag){case 3:w.flags|=65536,u&=-u,w.lanes|=u;var Rt=lw(w,pt,u);zI(w,Rt);break t;case 1:st=pt;var Xt=w.type,Ct=w.stateNode;if(!(w.flags&128)&&(typeof Xt.getDerivedStateFromError=="function"||Ct!==null&&typeof Ct.componentDidCatch=="function"&&(Hd===null||!Hd.has(Ct)))){w.flags|=65536,u&=-u,w.lanes|=u;var Le=nw(w,st,u);zI(w,Le);break t}}w=w.return}while(w!==null)}Ow(Z)}catch(el){u=el,Mi===Z&&Z!==null&&(Mi=Z=Z.return);continue}break}while(!0)}function kw(){var r=wN.current;return wN.current=TN,r===null?TN:r}function sT(){(Si===0||Si===3||Si===2)&&(Si=4),Hi===null||!(v0&268435455)&&!(zN&268435455)||Ad(Hi,cs)}function kN(r,u){var Z=ql;ql|=2;var N=kw();(Hi!==r||cs!==u)&&(Xo=null,E0(r,u));do try{OO();break}catch(X){Rw(r,X)}while(!0);if(W5(),ql=Z,wN.current=N,Mi!==null)throw Error(e(261));return Hi=null,cs=0,Si}function OO(){for(;Mi!==null;)Dw(Mi)}function jO(){for(;Mi!==null&&!on();)Dw(Mi)}function Dw(r){var u=Fw(r.alternate,r,Va);r.memoizedProps=r.pendingProps,u===null?Ow(r):Mi=u,A5.current=null}function Ow(r){var u=r;do{var Z=u.alternate;if(r=u.return,u.flags&32768){if(Z=xO(Z,u),Z!==null){Z.flags&=32767,Mi=Z;return}if(r!==null)r.flags|=32768,r.subtreeFlags=0,r.deletions=null;else{Si=6,Mi=null;return}}else if(Z=gO(Z,u,Va),Z!==null){Mi=Z;return}if(u=u.sibling,u!==null){Mi=u;return}Mi=u=r}while(u!==null);Si===0&&(Si=5)}function K0(r,u,Z){var N=Al,X=oc.transition;try{oc.transition=null,Al=1,CO(r,u,Z,N)}finally{oc.transition=X,Al=N}return null}function CO(r,u,Z,N){do sb();while(Qd!==null);if(ql&6)throw Error(e(327));Z=r.finishedWork;var X=r.finishedLanes;if(Z===null)return null;if(r.finishedWork=null,r.finishedLanes=0,Z===r.current)throw Error(e(177));r.callbackNode=null,r.callbackPriority=0;var w=Z.lanes|Z.childLanes;if(Ei(r,w),r===Hi&&(Mi=Hi=null,cs=0),!(Z.subtreeFlags&2064)&&!(Z.flags&2064)||xN||(xN=!0,Jw(mr,function(){return sb(),null})),w=(Z.flags&15990)!==0,Z.subtreeFlags&15990||w){w=oc.transition,oc.transition=null;var E=Al;Al=1;var st=ql;ql|=4,A5.current=null,SO(r,Z),Iw(Z,r),Pt(s5),br=!!i5,s5=i5=null,r.current=Z,RO(Z),ui(),ql=st,Al=E,oc.transition=w}else r.current=Z;if(xN&&(xN=!1,Qd=r,fN=X),w=r.pendingLanes,w===0&&(Hd=null),On(Z.stateNode),ca(r,bl()),u!==null)for(N=r.onRecoverableError,Z=0;Z<u.length;Z++)X=u[Z],N(X.value,{componentStack:X.stack,digest:X.digest});if(gN)throw gN=!1,r=$5,$5=null,r;return fN&1&&r.tag!==0&&sb(),w=r.pendingLanes,w&1?r===tT?Dp++:(Dp=0,tT=r):Dp=0,Ud(),null}function sb(){if(Qd!==null){var r=Se(fN),u=oc.transition,Z=Al;try{if(oc.transition=null,Al=16>r?16:r,Qd===null)var N=!1;else{if(r=Qd,Qd=null,fN=0,ql&6)throw Error(e(331));var X=ql;for(ql|=4,Pe=r.current;Pe!==null;){var w=Pe,E=w.child;if(Pe.flags&16){var st=w.deletions;if(st!==null){for(var pt=0;pt<st.length;pt++){var Kt=st[pt];for(Pe=Kt;Pe!==null;){var re=Pe;switch(re.tag){case 0:case 11:case 15:Sp(8,re,w)}var ue=re.child;if(ue!==null)ue.return=re,Pe=ue;else for(;Pe!==null;){re=Pe;var se=re.sibling,Ce=re.return;if(Tw(re),re===Kt){Pe=null;break}if(se!==null){se.return=Ce,Pe=se;break}Pe=Ce}}}var qe=w.alternate;if(qe!==null){var tl=qe.child;if(tl!==null){qe.child=null;do{var bi=tl.sibling;tl.sibling=null,tl=bi}while(tl!==null)}}Pe=w}}if(w.subtreeFlags&2064&&E!==null)E.return=w,Pe=E;else t:for(;Pe!==null;){if(w=Pe,w.flags&2048)switch(w.tag){case 0:case 11:case 15:Sp(9,w,w.return)}var Rt=w.sibling;if(Rt!==null){Rt.return=w.return,Pe=Rt;break t}Pe=w.return}}var Xt=r.current;for(Pe=Xt;Pe!==null;){E=Pe;var Ct=E.child;if(E.subtreeFlags&2064&&Ct!==null)Ct.return=E,Pe=Ct;else t:for(E=Xt;Pe!==null;){if(st=Pe,st.flags&2048)try{switch(st.tag){case 0:case 11:case 15:IN(9,st)}}catch(el){ai(st,st.return,el)}if(st===E){Pe=null;break t}var Le=st.sibling;if(Le!==null){Le.return=st.return,Pe=Le;break t}Pe=st.return}}if(ql=X,Ud(),fl&&typeof fl.onPostCommitFiberRoot=="function")try{fl.onPostCommitFiberRoot(wl,r)}catch{}N=!0}return N}finally{Al=Z,oc.transition=u}}return!1}function jw(r,u,Z){u=eb(Z,u),u=lw(r,u,1),r=Kd(r,u,1),u=ks(),r!==null&&(kc(r,1,u),ca(r,u))}function ai(r,u,Z){if(r.tag===3)jw(r,r,Z);else for(;u!==null;){if(u.tag===3){jw(u,r,Z);break}else if(u.tag===1){var N=u.stateNode;if(typeof u.type.getDerivedStateFromError=="function"||typeof N.componentDidCatch=="function"&&(Hd===null||!Hd.has(N))){r=eb(Z,r),r=nw(u,r,1),u=Kd(u,r,1),r=ks(),u!==null&&(kc(u,1,r),ca(u,r));break}}u=u.return}}function FO(r,u,Z){var N=r.pingCache;N!==null&&N.delete(u),u=ks(),r.pingedLanes|=r.suspendedLanes&Z,Hi===r&&(cs&Z)===Z&&(Si===4||Si===3&&(cs&130023424)===cs&&500>bl()-q5?E0(r,0):_5|=Z),ca(r,u)}function Cw(r,u){u===0&&(r.mode&1?(u=Na,Na<<=1,!(Na&130023424)&&(Na=4194304)):u=1);var Z=ks();r=Mo(r,u),r!==null&&(kc(r,u,Z),ca(r,Z))}function JO(r){var u=r.memoizedState,Z=0;u!==null&&(Z=u.retryLane),Cw(r,Z)}function vO(r,u){var Z=0;switch(r.tag){case 13:var N=r.stateNode,X=r.memoizedState;X!==null&&(Z=X.retryLane);break;case 19:N=r.stateNode;break;default:throw Error(e(314))}N!==null&&N.delete(u),Cw(r,Z)}var Fw;Fw=function(r,u,Z){if(r!==null)if(r.memoizedProps!==u.pendingProps||na.current)sa=!0;else{if(!(r.lanes&Z)&&!(u.flags&128))return sa=!1,zO(r,u,Z);sa=!!(r.flags&131072)}else sa=!1,Fn&&u.flags&1048576&&NI(u,dN,u.index);switch(u.lanes=0,u.tag){case 2:var N=u.type;LN(r,u),r=u.pendingProps;var X=Hh(u,Ts.current);$h(u,Z),X=z5(null,u,N,r,X,Z);var w=g5();return u.flags|=1,typeof X=="object"&&X!==null&&typeof X.render=="function"&&X.$$typeof===void 0?(u.tag=1,u.memoizedState=null,u.updateQueue=null,ia(N)?(w=!0,cN(u)):w=!1,u.memoizedState=X.state!==null&&X.state!==void 0?X.state:null,T5(u),X.updater=XN,u.stateNode=X,X._reactInternals=u,D5(u,N,r,Z),u=F5(null,u,N,!0,w,Z)):(u.tag=0,Fn&&w&&m5(u),Rs(null,u,X,Z),u=u.child),u;case 16:N=u.elementType;t:{switch(LN(r,u),r=u.pendingProps,X=N._init,N=X(N._payload),u.type=N,X=u.tag=EO(N),r=jc(N,r),X){case 0:u=C5(null,u,N,r,Z);break t;case 1:u=mw(null,u,N,r,Z);break t;case 11:u=cw(null,u,N,r,Z);break t;case 14:u=rw(null,u,N,jc(N.type,r),Z);break t}throw Error(e(306,N,""))}return u;case 0:return N=u.type,X=u.pendingProps,X=u.elementType===N?X:jc(N,X),C5(r,u,N,X,Z);case 1:return N=u.type,X=u.pendingProps,X=u.elementType===N?X:jc(N,X),mw(r,u,N,X,Z);case 3:t:{if(hw(u),r===null)throw Error(e(387));N=u.pendingProps,w=u.memoizedState,X=w.element,wI(r,u),pN(u,N,null,Z);var E=u.memoizedState;if(N=E.element,w.isDehydrated)if(w={element:N,isDehydrated:!1,cache:E.cache,pendingSuspenseBoundaries:E.pendingSuspenseBoundaries,transitions:E.transitions},u.updateQueue.baseState=w,u.memoizedState=w,u.flags&256){X=eb(Error(e(423)),u),u=bw(r,u,N,Z,X);break t}else if(N!==X){X=eb(Error(e(424)),u),u=bw(r,u,N,Z,X);break t}else for(La=Fd(u.stateNode.containerInfo.firstChild),Ya=u,Fn=!0,Oc=null,Z=VI(u,null,N,Z),u.child=Z;Z;)Z.flags=Z.flags&-3|4096,Z=Z.sibling;else{if(Ah(),N===X){u=To(r,u,Z);break t}Rs(r,u,N,Z)}u=u.child}return u;case 5:return xI(u),r===null&&Z5(u),N=u.type,X=u.pendingProps,w=r!==null?r.memoizedProps:null,E=X.children,a5(N,X)?E=null:w!==null&&a5(N,w)&&(u.flags|=32),uw(r,u),Rs(r,u,E,Z),u.child;case 6:return r===null&&Z5(u),null;case 13:return Zw(r,u,Z);case 4:return X5(u,u.stateNode.containerInfo),N=u.pendingProps,r===null?u.child=_h(u,null,N,Z):Rs(r,u,N,Z),u.child;case 11:return N=u.type,X=u.pendingProps,X=u.elementType===N?X:jc(N,X),cw(r,u,N,X,Z);case 7:return Rs(r,u,u.pendingProps,Z),u.child;case 8:return Rs(r,u,u.pendingProps.children,Z),u.child;case 12:return Rs(r,u,u.pendingProps.children,Z),u.child;case 10:t:{if(N=u.type._context,X=u.pendingProps,w=u.memoizedProps,E=X.value,zn(hN,N._currentValue),N._currentValue=E,w!==null)if(ot(w.value,E)){if(w.children===X.children&&!na.current){u=To(r,u,Z);break t}}else for(w=u.child,w!==null&&(w.return=u);w!==null;){var st=w.dependencies;if(st!==null){E=w.child;for(var pt=st.firstContext;pt!==null;){if(pt.context===N){if(w.tag===1){pt=Go(-1,Z&-Z),pt.tag=2;var Kt=w.updateQueue;if(Kt!==null){Kt=Kt.shared;var re=Kt.pending;re===null?pt.next=pt:(pt.next=re.next,re.next=pt),Kt.pending=pt}}w.lanes|=Z,pt=w.alternate,pt!==null&&(pt.lanes|=Z),M5(w.return,Z,u),st.lanes|=Z;break}pt=pt.next}}else if(w.tag===10)E=w.type===u.type?null:w.child;else if(w.tag===18){if(E=w.return,E===null)throw Error(e(341));E.lanes|=Z,st=E.alternate,st!==null&&(st.lanes|=Z),M5(E,Z,u),E=w.sibling}else E=w.child;if(E!==null)E.return=w;else for(E=w;E!==null;){if(E===u){E=null;break}if(w=E.sibling,w!==null){w.return=E.return,E=w;break}E=E.return}w=E}Rs(r,u,X.children,Z),u=u.child}return u;case 9:return X=u.type,N=u.pendingProps.children,$h(u,Z),X=cc(X),N=N(X),u.flags|=1,Rs(r,u,N,Z),u.child;case 14:return N=u.type,X=jc(N,u.pendingProps),X=jc(N.type,X),rw(r,u,N,X,Z);case 15:return ow(r,u,u.type,u.pendingProps,Z);case 17:return N=u.type,X=u.pendingProps,X=u.elementType===N?X:jc(N,X),LN(r,u),u.tag=1,ia(N)?(r=!0,cN(u)):r=!1,$h(u,Z),tw(u,N,X),D5(u,N,X,Z),F5(null,u,N,!0,r,Z);case 19:return yw(r,u,Z);case 22:return dw(r,u,Z)}throw Error(e(156,u.tag))};function Jw(r,u){return ec(r,u)}function UO(r,u,Z,N){this.tag=r,this.key=Z,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=u,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=N,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function dc(r,u,Z,N){return new UO(r,u,Z,N)}function aT(r){return r=r.prototype,!(!r||!r.isReactComponent)}function EO(r){if(typeof r=="function")return aT(r)?1:0;if(r!=null){if(r=r.$$typeof,r===tt)return 11;if(r===It)return 14}return 2}function _d(r,u){var Z=r.alternate;return Z===null?(Z=dc(r.tag,u,r.key,r.mode),Z.elementType=r.elementType,Z.type=r.type,Z.stateNode=r.stateNode,Z.alternate=r,r.alternate=Z):(Z.pendingProps=u,Z.type=r.type,Z.flags=0,Z.subtreeFlags=0,Z.deletions=null),Z.flags=r.flags&14680064,Z.childLanes=r.childLanes,Z.lanes=r.lanes,Z.child=r.child,Z.memoizedProps=r.memoizedProps,Z.memoizedState=r.memoizedState,Z.updateQueue=r.updateQueue,u=r.dependencies,Z.dependencies=u===null?null:{lanes:u.lanes,firstContext:u.firstContext},Z.sibling=r.sibling,Z.index=r.index,Z.ref=r.ref,Z}function DN(r,u,Z,N,X,w){var E=2;if(N=r,typeof r=="function")aT(r)&&(E=1);else if(typeof r=="string")E=5;else t:switch(r){case _:return P0(Z.children,X,w,u);case ut:E=8,X|=8;break;case K:return r=dc(12,Z,u,X|2),r.elementType=K,r.lanes=w,r;case ht:return r=dc(13,Z,u,X),r.elementType=ht,r.lanes=w,r;case dt:return r=dc(19,Z,u,X),r.elementType=dt,r.lanes=w,r;case Gt:return ON(Z,X,w,u);default:if(typeof r=="object"&&r!==null)switch(r.$$typeof){case f:E=10;break t;case lt:E=9;break t;case tt:E=11;break t;case It:E=14;break t;case kt:E=16,N=null;break t}throw Error(e(130,r==null?r:typeof r,""))}return u=dc(E,Z,u,X),u.elementType=r,u.type=N,u.lanes=w,u}function P0(r,u,Z,N){return r=dc(7,r,N,u),r.lanes=Z,r}function ON(r,u,Z,N){return r=dc(22,r,N,u),r.elementType=Gt,r.lanes=Z,r.stateNode={isHidden:!1},r}function cT(r,u,Z){return r=dc(6,r,null,u),r.lanes=Z,r}function rT(r,u,Z){return u=dc(4,r.children!==null?r.children:[],r.key,u),u.lanes=Z,u.stateNode={containerInfo:r.containerInfo,pendingChildren:null,implementation:r.implementation},u}function KO(r,u,Z,N,X){this.tag=u,this.containerInfo=r,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Ma(0),this.expirationTimes=Ma(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ma(0),this.identifierPrefix=N,this.onRecoverableError=X,this.mutableSourceEagerHydrationData=null}function oT(r,u,Z,N,X,w,E,st,pt){return r=new KO(r,u,Z,st,pt),u===1?(u=1,w===!0&&(u|=8)):u=0,w=dc(3,null,null,u),r.current=w,w.stateNode=r,w.memoizedState={element:N,isDehydrated:Z,cache:null,transitions:null,pendingSuspenseBoundaries:null},T5(w),r}function PO(r,u,Z){var N=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:D,key:N==null?null:""+N,children:r,containerInfo:u,implementation:Z}}function vw(r){if(!r)return vd;r=r._reactInternals;t:{if(Yl(r)!==r||r.tag!==1)throw Error(e(170));var u=r;do{switch(u.tag){case 3:u=u.stateNode.context;break t;case 1:if(ia(u.type)){u=u.stateNode.__reactInternalMemoizedMergedChildContext;break t}}u=u.return}while(u!==null);throw Error(e(171))}if(r.tag===1){var Z=r.type;if(ia(Z))return pI(r,Z,u)}return u}function Uw(r,u,Z,N,X,w,E,st,pt){return r=oT(Z,N,!0,r,X,w,E,st,pt),r.context=vw(null),Z=r.current,N=ks(),X=Bd(Z),w=Go(N,X),w.callback=u??null,Kd(Z,w,X),r.current.lanes=X,kc(r,X,N),ca(r,N),r}function jN(r,u,Z,N){var X=u.current,w=ks(),E=Bd(X);return Z=vw(Z),u.context===null?u.context=Z:u.pendingContext=Z,u=Go(w,E),u.payload={element:r},N=N===void 0?null:N,N!==null&&(u.callback=N),r=Kd(X,u,E),r!==null&&(Jc(r,X,E,w),ZN(r,X,E)),E}function CN(r){if(r=r.current,!r.child)return null;switch(r.child.tag){case 5:return r.child.stateNode;default:return r.child.stateNode}}function Ew(r,u){if(r=r.memoizedState,r!==null&&r.dehydrated!==null){var Z=r.retryLane;r.retryLane=Z!==0&&Z<u?Z:u}}function dT(r,u){Ew(r,u),(r=r.alternate)&&Ew(r,u)}function HO(){return null}var Kw=typeof reportError=="function"?reportError:function(r){console.error(r)};function uT(r){this._internalRoot=r}FN.prototype.render=uT.prototype.render=function(r){var u=this._internalRoot;if(u===null)throw Error(e(409));jN(r,u,null,null)},FN.prototype.unmount=uT.prototype.unmount=function(){var r=this._internalRoot;if(r!==null){this._internalRoot=null;var u=r.containerInfo;U0(function(){jN(null,r,null,null)}),u[po]=null}};function FN(r){this._internalRoot=r}FN.prototype.unstable_scheduleHydration=function(r){if(r){var u=mi();r={blockedOn:null,target:r,priority:u};for(var Z=0;Z<jn.length&&u!==0&&u<jn[Z].priority;Z++);jn.splice(Z,0,r),Z===0&&xh(r)}};function mT(r){return!(!r||r.nodeType!==1&&r.nodeType!==9&&r.nodeType!==11)}function JN(r){return!(!r||r.nodeType!==1&&r.nodeType!==9&&r.nodeType!==11&&(r.nodeType!==8||r.nodeValue!==" react-mount-point-unstable "))}function Pw(){}function QO(r,u,Z,N,X){if(X){if(typeof N=="function"){var w=N;N=function(){var Kt=CN(E);w.call(Kt)}}var E=Uw(u,N,r,0,null,!1,!1,"",Pw);return r._reactRootContainer=E,r[po]=E.current,Mp(r.nodeType===8?r.parentNode:r),U0(),E}for(;X=r.lastChild;)r.removeChild(X);if(typeof N=="function"){var st=N;N=function(){var Kt=CN(pt);st.call(Kt)}}var pt=oT(r,0,!1,null,null,!1,!1,"",Pw);return r._reactRootContainer=pt,r[po]=pt.current,Mp(r.nodeType===8?r.parentNode:r),U0(function(){jN(u,pt,Z,N)}),pt}function vN(r,u,Z,N,X){var w=Z._reactRootContainer;if(w){var E=w;if(typeof X=="function"){var st=X;X=function(){var pt=CN(E);st.call(pt)}}jN(u,E,r,X)}else E=QO(Z,u,r,X,N);return CN(E)}co=function(r){switch(r.tag){case 3:var u=r.stateNode;if(u.current.memoizedState.isDehydrated){var Z=ta(u.pendingLanes);Z!==0&&(fd(u,Z|1),ca(u,bl()),!(ql&6)&&(ib=bl()+500,Ud()))}break;case 13:U0(function(){var N=Mo(r,1);if(N!==null){var X=ks();Jc(N,r,1,X)}}),dT(r,1)}},Bn=function(r){if(r.tag===13){var u=Mo(r,134217728);if(u!==null){var Z=ks();Jc(u,r,134217728,Z)}dT(r,134217728)}},an=function(r){if(r.tag===13){var u=Bd(r),Z=Mo(r,u);if(Z!==null){var N=ks();Jc(Z,r,u,N)}dT(r,u)}},mi=function(){return Al},is=function(r,u){var Z=Al;try{return Al=r,u()}finally{Al=Z}},$t=function(r,u,Z){switch(u){case"input":if(Vl(r,Z),u=Z.name,Z.type==="radio"&&u!=null){for(Z=r;Z.parentNode;)Z=Z.parentNode;for(Z=Z.querySelectorAll("input[name="+JSON.stringify(""+u)+'][type="radio"]'),u=0;u<Z.length;u++){var N=Z[u];if(N!==r&&N.form===r.form){var X=sN(N);if(!X)throw Error(e(90));he(N),Vl(N,X)}}}break;case"textarea":qt(r,Z);break;case"select":u=Z.value,u!=null&&El(r,!!Z.multiple,u,!1)}},le=nT,Me=U0;var BO={usingClientEntryPoint:!1,Events:[Xp,Kh,sN,it,Et,nT]},Op={findFiberByHostInstance:k0,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},AO={bundleType:Op.bundleType,version:Op.version,rendererPackageName:Op.rendererPackageName,rendererConfig:Op.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:F.ReactCurrentDispatcher,findHostInstanceByFiber:function(r){return r=zi(r),r===null?null:r.stateNode},findFiberByHostInstance:Op.findFiberByHostInstance||HO,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var UN=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!UN.isDisabled&&UN.supportsFiber)try{wl=UN.inject(AO),fl=UN}catch{}}return ra.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=BO,ra.createPortal=function(r,u){var Z=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!mT(u))throw Error(e(200));return PO(r,u,null,Z)},ra.createRoot=function(r,u){if(!mT(r))throw Error(e(299));var Z=!1,N="",X=Kw;return u!=null&&(u.unstable_strictMode===!0&&(Z=!0),u.identifierPrefix!==void 0&&(N=u.identifierPrefix),u.onRecoverableError!==void 0&&(X=u.onRecoverableError)),u=oT(r,1,!1,null,null,Z,!1,N,X),r[po]=u.current,Mp(r.nodeType===8?r.parentNode:r),new uT(u)},ra.findDOMNode=function(r){if(r==null)return null;if(r.nodeType===1)return r;var u=r._reactInternals;if(u===void 0)throw typeof r.render=="function"?Error(e(188)):(r=Object.keys(r).join(","),Error(e(268,r)));return r=zi(u),r=r===null?null:r.stateNode,r},ra.flushSync=function(r){return U0(r)},ra.hydrate=function(r,u,Z){if(!JN(u))throw Error(e(200));return vN(null,r,u,!0,Z)},ra.hydrateRoot=function(r,u,Z){if(!mT(r))throw Error(e(405));var N=Z!=null&&Z.hydratedSources||null,X=!1,w="",E=Kw;if(Z!=null&&(Z.unstable_strictMode===!0&&(X=!0),Z.identifierPrefix!==void 0&&(w=Z.identifierPrefix),Z.onRecoverableError!==void 0&&(E=Z.onRecoverableError)),u=Uw(u,null,r,1,Z??null,X,!1,w,E),r[po]=u.current,Mp(r),N)for(r=0;r<N.length;r++)Z=N[r],X=Z._getVersion,X=X(Z._source),u.mutableSourceEagerHydrationData==null?u.mutableSourceEagerHydrationData=[Z,X]:u.mutableSourceEagerHydrationData.push(Z,X);return new FN(u)},ra.render=function(r,u,Z){if(!JN(u))throw Error(e(200));return vN(null,r,u,!1,Z)},ra.unmountComponentAtNode=function(r){if(!JN(r))throw Error(e(40));return r._reactRootContainer?(U0(function(){vN(null,null,r,!1,function(){r._reactRootContainer=null,r[po]=null})}),!0):!1},ra.unstable_batchedUpdates=nT,ra.unstable_renderSubtreeIntoContainer=function(r,u,Z,N){if(!JN(Z))throw Error(e(200));if(r==null||r._reactInternals===void 0)throw Error(e(38));return vN(r,u,Z,!1,N)},ra.version="18.3.1-next-f1338f8080-20240426",ra}var ez;function cj(){if(ez)return pT.exports;ez=1;function l(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(l)}catch(t){console.error(t)}}return l(),pT.exports=aj(),pT.exports}var lz;function rj(){if(lz)return EN;lz=1;var l=cj();return EN.createRoot=l.createRoot,EN.hydrateRoot=l.hydrateRoot,EN}var oj=rj(),Cp={},nz;function dj(){if(nz)return Cp;nz=1,Object.defineProperty(Cp,"__esModule",{value:!0}),Cp.parse=a,Cp.serialize=d;const l=/^[\u0021-\u003A\u003C\u003E-\u007E]+$/,t=/^[\u0021-\u003A\u003C-\u007E]*$/,e=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,n=/^[\u0020-\u003A\u003D-\u007E]*$/,i=Object.prototype.toString,s=(()=>{const p=function(){};return p.prototype=Object.create(null),p})();function a(p,y){const M=new s,T=p.length;if(T<2)return M;const Y=(y==null?void 0:y.decode)||h;let L=0;do{const x=p.indexOf("=",L);if(x===-1)break;const g=p.indexOf(";",L),F=g===-1?T:g;if(x>F){L=p.lastIndexOf(";",x-1)+1;continue}const j=c(p,L,x),D=o(p,x,j),_=p.slice(j,D);if(M[_]===void 0){let ut=c(p,x+1,F),K=o(p,F,ut);const f=Y(p.slice(ut,K));M[_]=f}L=F+1}while(L<T);return M}function c(p,y,M){do{const T=p.charCodeAt(y);if(T!==32&&T!==9)return y}while(++y<M);return M}function o(p,y,M){for(;y>M;){const T=p.charCodeAt(--y);if(T!==32&&T!==9)return y+1}return M}function d(p,y,M){const T=(M==null?void 0:M.encode)||encodeURIComponent;if(!l.test(p))throw new TypeError(`argument name is invalid: ${p}`);const Y=T(y);if(!t.test(Y))throw new TypeError(`argument val is invalid: ${y}`);let L=p+"="+Y;if(!M)return L;if(M.maxAge!==void 0){if(!Number.isInteger(M.maxAge))throw new TypeError(`option maxAge is invalid: ${M.maxAge}`);L+="; Max-Age="+M.maxAge}if(M.domain){if(!e.test(M.domain))throw new TypeError(`option domain is invalid: ${M.domain}`);L+="; Domain="+M.domain}if(M.path){if(!n.test(M.path))throw new TypeError(`option path is invalid: ${M.path}`);L+="; Path="+M.path}if(M.expires){if(!b(M.expires)||!Number.isFinite(M.expires.valueOf()))throw new TypeError(`option expires is invalid: ${M.expires}`);L+="; Expires="+M.expires.toUTCString()}if(M.httpOnly&&(L+="; HttpOnly"),M.secure&&(L+="; Secure"),M.partitioned&&(L+="; Partitioned"),M.priority)switch(typeof M.priority=="string"?M.priority.toLowerCase():void 0){case"low":L+="; Priority=Low";break;case"medium":L+="; Priority=Medium";break;case"high":L+="; Priority=High";break;default:throw new TypeError(`option priority is invalid: ${M.priority}`)}if(M.sameSite)switch(typeof M.sameSite=="string"?M.sameSite.toLowerCase():M.sameSite){case!0:case"strict":L+="; SameSite=Strict";break;case"lax":L+="; SameSite=Lax";break;case"none":L+="; SameSite=None";break;default:throw new TypeError(`option sameSite is invalid: ${M.sameSite}`)}return L}function h(p){if(p.indexOf("%")===-1)return p;try{return decodeURIComponent(p)}catch{return p}}function b(p){return i.call(p)==="[object Date]"}return Cp}dj();/**
|
||
* react-router v7.1.5
|
||
*
|
||
* Copyright (c) Remix Software Inc.
|
||
*
|
||
* This source code is licensed under the MIT license found in the
|
||
* LICENSE.md file in the root directory of this source tree.
|
||
*
|
||
* @license MIT
|
||
*/var iz="popstate";function uj(l={}){function t(i,s){let{pathname:a="/",search:c="",hash:o=""}=Th(i.location.hash.substring(1));return!a.startsWith("/")&&!a.startsWith(".")&&(a="/"+a),wX("",{pathname:a,search:c,hash:o},s.state&&s.state.usr||null,s.state&&s.state.key||"default")}function e(i,s){let a=i.document.querySelector("base"),c="";if(a&&a.getAttribute("href")){let o=i.location.href,d=o.indexOf("#");c=d===-1?o:o.slice(0,d)}return c+"#"+(typeof s=="string"?s:w2(s))}function n(i,s){cr(i.pathname.charAt(0)==="/",`relative pathnames are not supported in hash history.push(${JSON.stringify(s)})`)}return hj(t,e,n,l)}function ii(l,t){if(l===!1||l===null||typeof l>"u")throw new Error(t)}function cr(l,t){if(!l){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function mj(){return Math.random().toString(36).substring(2,10)}function sz(l,t){return{usr:l.state,key:l.key,idx:t}}function wX(l,t,e=null,n){return{pathname:typeof l=="string"?l:l.pathname,search:"",hash:"",...typeof t=="string"?Th(t):t,state:e,key:t&&t.key||n||mj()}}function w2({pathname:l="/",search:t="",hash:e=""}){return t&&t!=="?"&&(l+=t.charAt(0)==="?"?t:"?"+t),e&&e!=="#"&&(l+=e.charAt(0)==="#"?e:"#"+e),l}function Th(l){let t={};if(l){let e=l.indexOf("#");e>=0&&(t.hash=l.substring(e),l=l.substring(0,e));let n=l.indexOf("?");n>=0&&(t.search=l.substring(n),l=l.substring(0,n)),l&&(t.pathname=l)}return t}function hj(l,t,e,n={}){let{window:i=document.defaultView,v5Compat:s=!1}=n,a=i.history,c="POP",o=null,d=h();d==null&&(d=0,a.replaceState({...a.state,idx:d},""));function h(){return(a.state||{idx:null}).idx}function b(){c="POP";let Y=h(),L=Y==null?null:Y-d;d=Y,o&&o({action:c,location:T.location,delta:L})}function p(Y,L){c="PUSH";let x=wX(T.location,Y,L);e&&e(x,Y),d=h()+1;let g=sz(x,d),F=T.createHref(x);try{a.pushState(g,"",F)}catch(j){if(j instanceof DOMException&&j.name==="DataCloneError")throw j;i.location.assign(F)}s&&o&&o({action:c,location:T.location,delta:1})}function y(Y,L){c="REPLACE";let x=wX(T.location,Y,L);e&&e(x,Y),d=h();let g=sz(x,d),F=T.createHref(x);a.replaceState(g,"",F),s&&o&&o({action:c,location:T.location,delta:0})}function M(Y){let L=i.location.origin!=="null"?i.location.origin:i.location.href,x=typeof Y=="string"?Y:w2(Y);return x=x.replace(/ $/,"%20"),ii(L,`No window.location.(origin|href) available to create URL for href: ${x}`),new URL(x,L)}let T={get action(){return c},get location(){return l(i,a)},listen(Y){if(o)throw new Error("A history only accepts one active listener");return i.addEventListener(iz,b),o=Y,()=>{i.removeEventListener(iz,b),o=null}},createHref(Y){return t(i,Y)},createURL:M,encodeLocation(Y){let L=M(Y);return{pathname:L.pathname,search:L.search,hash:L.hash}},push:p,replace:y,go(Y){return a.go(Y)}};return T}function Lx(l,t,e="/"){return bj(l,t,e,!1)}function bj(l,t,e,n){let i=typeof t=="string"?Th(t):t,s=i0(i.pathname||"/",e);if(s==null)return null;let a=Vx(l);Zj(a);let c=null;for(let o=0;c==null&&o<a.length;++o){let d=Vj(s);c=Yj(a[o],d,n)}return c}function Vx(l,t=[],e=[],n=""){let i=(s,a,c)=>{let o={relativePath:c===void 0?s.path||"":c,caseSensitive:s.caseSensitive===!0,childrenIndex:a,route:s};o.relativePath.startsWith("/")&&(ii(o.relativePath.startsWith(n),`Absolute route path "${o.relativePath}" nested under path "${n}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),o.relativePath=o.relativePath.slice(n.length));let d=Nd([n,o.relativePath]),h=e.concat(o);s.children&&s.children.length>0&&(ii(s.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${d}".`),Vx(s.children,t,h,d)),!(s.path==null&&!s.index)&&t.push({path:d,score:Tj(d,s.index),routesMeta:h})};return l.forEach((s,a)=>{var c;if(s.path===""||!((c=s.path)!=null&&c.includes("?")))i(s,a);else for(let o of Ix(s.path))i(s,a,o)}),t}function Ix(l){let t=l.split("/");if(t.length===0)return[];let[e,...n]=t,i=e.endsWith("?"),s=e.replace(/\?$/,"");if(n.length===0)return i?[s,""]:[s];let a=Ix(n.join("/")),c=[];return c.push(...a.map(o=>o===""?s:[s,o].join("/"))),i&&c.push(...a),c.map(o=>l.startsWith("/")&&o===""?"/":o)}function Zj(l){l.sort((t,e)=>t.score!==e.score?e.score-t.score:Xj(t.routesMeta.map(n=>n.childrenIndex),e.routesMeta.map(n=>n.childrenIndex)))}var pj=/^:[\w-]+$/,yj=3,Wj=2,Nj=1,Mj=10,Gj=-2,az=l=>l==="*";function Tj(l,t){let e=l.split("/"),n=e.length;return e.some(az)&&(n+=Gj),t&&(n+=Wj),e.filter(i=>!az(i)).reduce((i,s)=>i+(pj.test(s)?yj:s===""?Nj:Mj),n)}function Xj(l,t){return l.length===t.length&&l.slice(0,-1).every((n,i)=>n===t[i])?l[l.length-1]-t[t.length-1]:0}function Yj(l,t,e=!1){let{routesMeta:n}=l,i={},s="/",a=[];for(let c=0;c<n.length;++c){let o=n[c],d=c===n.length-1,h=s==="/"?t:t.slice(s.length)||"/",b=z2({path:o.relativePath,caseSensitive:o.caseSensitive,end:d},h),p=o.route;if(!b&&d&&e&&!n[n.length-1].route.index&&(b=z2({path:o.relativePath,caseSensitive:o.caseSensitive,end:!1},h)),!b)return null;Object.assign(i,b.params),a.push({params:i,pathname:Nd([s,b.pathname]),pathnameBase:gj(Nd([s,b.pathnameBase])),route:p}),b.pathnameBase!=="/"&&(s=Nd([s,b.pathnameBase]))}return a}function z2(l,t){typeof l=="string"&&(l={path:l,caseSensitive:!1,end:!0});let[e,n]=Lj(l.path,l.caseSensitive,l.end),i=t.match(e);if(!i)return null;let s=i[0],a=s.replace(/(.)\/+$/,"$1"),c=i.slice(1);return{params:n.reduce((d,{paramName:h,isOptional:b},p)=>{if(h==="*"){let M=c[p]||"";a=s.slice(0,s.length-M.length).replace(/(.)\/+$/,"$1")}const y=c[p];return b&&!y?d[h]=void 0:d[h]=(y||"").replace(/%2F/g,"/"),d},{}),pathname:s,pathnameBase:a,pattern:l}}function Lj(l,t=!1,e=!0){cr(l==="*"||!l.endsWith("*")||l.endsWith("/*"),`Route path "${l}" will be treated as if it were "${l.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${l.replace(/\*$/,"/*")}".`);let n=[],i="^"+l.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(a,c,o)=>(n.push({paramName:c,isOptional:o!=null}),o?"/?([^\\/]+)?":"/([^\\/]+)"));return l.endsWith("*")?(n.push({paramName:"*"}),i+=l==="*"||l==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):e?i+="\\/*$":l!==""&&l!=="/"&&(i+="(?:(?=\\/|$))"),[new RegExp(i,t?void 0:"i"),n]}function Vj(l){try{return l.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return cr(!1,`The URL path "${l}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),l}}function i0(l,t){if(t==="/")return l;if(!l.toLowerCase().startsWith(t.toLowerCase()))return null;let e=t.endsWith("/")?t.length-1:t.length,n=l.charAt(e);return n&&n!=="/"?null:l.slice(e)||"/"}function Ij(l,t="/"){let{pathname:e,search:n="",hash:i=""}=typeof l=="string"?Th(l):l;return{pathname:e?e.startsWith("/")?e:wj(e,t):t,search:xj(n),hash:fj(i)}}function wj(l,t){let e=t.replace(/\/+$/,"").split("/");return l.split("/").forEach(i=>{i===".."?e.length>1&&e.pop():i!=="."&&e.push(i)}),e.length>1?e.join("/"):"/"}function NT(l,t,e,n){return`Cannot include a '${l}' character in a manually specified \`to.${t}\` field [${JSON.stringify(n)}]. Please separate it out to the \`to.${e}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function zj(l){return l.filter((t,e)=>e===0||t.route.path&&t.route.path.length>0)}function wx(l){let t=zj(l);return t.map((e,n)=>n===t.length-1?e.pathname:e.pathnameBase)}function zx(l,t,e,n=!1){let i;typeof l=="string"?i=Th(l):(i={...l},ii(!i.pathname||!i.pathname.includes("?"),NT("?","pathname","search",i)),ii(!i.pathname||!i.pathname.includes("#"),NT("#","pathname","hash",i)),ii(!i.search||!i.search.includes("#"),NT("#","search","hash",i)));let s=l===""||i.pathname==="",a=s?"/":i.pathname,c;if(a==null)c=e;else{let b=t.length-1;if(!n&&a.startsWith("..")){let p=a.split("/");for(;p[0]==="..";)p.shift(),b-=1;i.pathname=p.join("/")}c=b>=0?t[b]:"/"}let o=Ij(i,c),d=a&&a!=="/"&&a.endsWith("/"),h=(s||a===".")&&e.endsWith("/");return!o.pathname.endsWith("/")&&(d||h)&&(o.pathname+="/"),o}var Nd=l=>l.join("/").replace(/\/\/+/g,"/"),gj=l=>l.replace(/\/+$/,"").replace(/^\/*/,"/"),xj=l=>!l||l==="?"?"":l.startsWith("?")?l:"?"+l,fj=l=>!l||l==="#"?"":l.startsWith("#")?l:"#"+l;function Sj(l){return l!=null&&typeof l.status=="number"&&typeof l.statusText=="string"&&typeof l.internal=="boolean"&&"data"in l}var gx=["POST","PUT","PATCH","DELETE"];new Set(gx);var Rj=["GET",...gx];new Set(Rj);var lp=B.createContext(null);lp.displayName="DataRouter";var pG=B.createContext(null);pG.displayName="DataRouterState";var xx=B.createContext({isTransitioning:!1});xx.displayName="ViewTransition";var kj=B.createContext(new Map);kj.displayName="Fetchers";var Dj=B.createContext(null);Dj.displayName="Await";var eo=B.createContext(null);eo.displayName="Navigation";var GW=B.createContext(null);GW.displayName="Location";var ur=B.createContext({outlet:null,matches:[],isDataRoute:!1});ur.displayName="Route";var PL=B.createContext(null);PL.displayName="RouteError";function Oj(l,{relative:t}={}){ii(TW(),"useHref() may be used only in the context of a <Router> component.");let{basename:e,navigator:n}=B.useContext(eo),{hash:i,pathname:s,search:a}=XW(l,{relative:t}),c=s;return e!=="/"&&(c=s==="/"?e:Nd([e,s])),n.createHref({pathname:c,search:a,hash:i})}function TW(){return B.useContext(GW)!=null}function h0(){return ii(TW(),"useLocation() may be used only in the context of a <Router> component."),B.useContext(GW).location}var fx="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Sx(l){B.useContext(eo).static||B.useLayoutEffect(l)}function yG(){let{isDataRoute:l}=B.useContext(ur);return l?$j():jj()}function jj(){ii(TW(),"useNavigate() may be used only in the context of a <Router> component.");let l=B.useContext(lp),{basename:t,navigator:e}=B.useContext(eo),{matches:n}=B.useContext(ur),{pathname:i}=h0(),s=JSON.stringify(wx(n)),a=B.useRef(!1);return Sx(()=>{a.current=!0}),B.useCallback((o,d={})=>{if(cr(a.current,fx),!a.current)return;if(typeof o=="number"){e.go(o);return}let h=zx(o,JSON.parse(s),i,d.relative==="path");l==null&&t!=="/"&&(h.pathname=h.pathname==="/"?t:Nd([t,h.pathname])),(d.replace?e.replace:e.push)(h,d.state,d)},[t,e,s,i,l])}var Cj=B.createContext(null);function Fj(l){let t=B.useContext(ur).outlet;return t&&B.createElement(Cj.Provider,{value:l},t)}function Jj(){let{matches:l}=B.useContext(ur),t=l[l.length-1];return t?t.params:{}}function XW(l,{relative:t}={}){let{matches:e}=B.useContext(ur),{pathname:n}=h0(),i=JSON.stringify(wx(e));return B.useMemo(()=>zx(l,JSON.parse(i),n,t==="path"),[l,i,n,t])}function vj(l,t){return Rx(l,t)}function Rx(l,t,e,n){var x;ii(TW(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:i,static:s}=B.useContext(eo),{matches:a}=B.useContext(ur),c=a[a.length-1],o=c?c.params:{},d=c?c.pathname:"/",h=c?c.pathnameBase:"/",b=c&&c.route;{let g=b&&b.path||"";kx(d,!b||g.endsWith("*")||g.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${d}" (under <Route path="${g}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
|
||
|
||
Please change the parent <Route path="${g}"> to <Route path="${g==="/"?"*":`${g}/*`}">.`)}let p=h0(),y;if(t){let g=typeof t=="string"?Th(t):t;ii(h==="/"||((x=g.pathname)==null?void 0:x.startsWith(h)),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${h}" but pathname "${g.pathname}" was given in the \`location\` prop.`),y=g}else y=p;let M=y.pathname||"/",T=M;if(h!=="/"){let g=h.replace(/^\//,"").split("/");T="/"+M.replace(/^\//,"").split("/").slice(g.length).join("/")}let Y=!s&&e&&e.matches&&e.matches.length>0?e.matches:Lx(l,{pathname:T});cr(b||Y!=null,`No routes matched location "${y.pathname}${y.search}${y.hash}" `),cr(Y==null||Y[Y.length-1].route.element!==void 0||Y[Y.length-1].route.Component!==void 0||Y[Y.length-1].route.lazy!==void 0,`Matched leaf route at location "${y.pathname}${y.search}${y.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let L=Hj(Y&&Y.map(g=>Object.assign({},g,{params:Object.assign({},o,g.params),pathname:Nd([h,i.encodeLocation?i.encodeLocation(g.pathname).pathname:g.pathname]),pathnameBase:g.pathnameBase==="/"?h:Nd([h,i.encodeLocation?i.encodeLocation(g.pathnameBase).pathname:g.pathnameBase])})),a,e,n);return t&&L?B.createElement(GW.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",...y},navigationType:"POP"}},L):L}function Uj(){let l=qj(),t=Sj(l)?`${l.status} ${l.statusText}`:l instanceof Error?l.message:JSON.stringify(l),e=l instanceof Error?l.stack:null,n="rgba(200,200,200, 0.5)",i={padding:"0.5rem",backgroundColor:n},s={padding:"2px 4px",backgroundColor:n},a=null;return console.error("Error handled by React Router default ErrorBoundary:",l),a=B.createElement(B.Fragment,null,B.createElement("p",null,"💿 Hey developer 👋"),B.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",B.createElement("code",{style:s},"ErrorBoundary")," or"," ",B.createElement("code",{style:s},"errorElement")," prop on your route.")),B.createElement(B.Fragment,null,B.createElement("h2",null,"Unexpected Application Error!"),B.createElement("h3",{style:{fontStyle:"italic"}},t),e?B.createElement("pre",{style:i},e):null,a)}var Ej=B.createElement(Uj,null),Kj=class extends B.Component{constructor(l){super(l),this.state={location:l.location,revalidation:l.revalidation,error:l.error}}static getDerivedStateFromError(l){return{error:l}}static getDerivedStateFromProps(l,t){return t.location!==l.location||t.revalidation!=="idle"&&l.revalidation==="idle"?{error:l.error,location:l.location,revalidation:l.revalidation}:{error:l.error!==void 0?l.error:t.error,location:t.location,revalidation:l.revalidation||t.revalidation}}componentDidCatch(l,t){console.error("React Router caught the following error during render",l,t)}render(){return this.state.error!==void 0?B.createElement(ur.Provider,{value:this.props.routeContext},B.createElement(PL.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function Pj({routeContext:l,match:t,children:e}){let n=B.useContext(lp);return n&&n.static&&n.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(n.staticContext._deepestRenderedBoundaryId=t.route.id),B.createElement(ur.Provider,{value:l},e)}function Hj(l,t=[],e=null,n=null){if(l==null){if(!e)return null;if(e.errors)l=e.matches;else if(t.length===0&&!e.initialized&&e.matches.length>0)l=e.matches;else return null}let i=l,s=e==null?void 0:e.errors;if(s!=null){let o=i.findIndex(d=>d.route.id&&(s==null?void 0:s[d.route.id])!==void 0);ii(o>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(s).join(",")}`),i=i.slice(0,Math.min(i.length,o+1))}let a=!1,c=-1;if(e)for(let o=0;o<i.length;o++){let d=i[o];if((d.route.HydrateFallback||d.route.hydrateFallbackElement)&&(c=o),d.route.id){let{loaderData:h,errors:b}=e,p=d.route.loader&&!h.hasOwnProperty(d.route.id)&&(!b||b[d.route.id]===void 0);if(d.route.lazy||p){a=!0,c>=0?i=i.slice(0,c+1):i=[i[0]];break}}}return i.reduceRight((o,d,h)=>{let b,p=!1,y=null,M=null;e&&(b=s&&d.route.id?s[d.route.id]:void 0,y=d.route.errorElement||Ej,a&&(c<0&&h===0?(kx("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),p=!0,M=null):c===h&&(p=!0,M=d.route.hydrateFallbackElement||null)));let T=t.concat(i.slice(0,h+1)),Y=()=>{let L;return b?L=y:p?L=M:d.route.Component?L=B.createElement(d.route.Component,null):d.route.element?L=d.route.element:L=o,B.createElement(Pj,{match:d,routeContext:{outlet:o,matches:T,isDataRoute:e!=null},children:L})};return e&&(d.route.ErrorBoundary||d.route.errorElement||h===0)?B.createElement(Kj,{location:e.location,revalidation:e.revalidation,component:y,error:b,children:Y(),routeContext:{outlet:null,matches:T,isDataRoute:!0}}):Y()},null)}function HL(l){return`${l} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Qj(l){let t=B.useContext(lp);return ii(t,HL(l)),t}function Bj(l){let t=B.useContext(pG);return ii(t,HL(l)),t}function Aj(l){let t=B.useContext(ur);return ii(t,HL(l)),t}function QL(l){let t=Aj(l),e=t.matches[t.matches.length-1];return ii(e.route.id,`${l} can only be used on routes that contain a unique "id"`),e.route.id}function _j(){return QL("useRouteId")}function qj(){var n;let l=B.useContext(PL),t=Bj("useRouteError"),e=QL("useRouteError");return l!==void 0?l:(n=t.errors)==null?void 0:n[e]}function $j(){let{router:l}=Qj("useNavigate"),t=QL("useNavigate"),e=B.useRef(!1);return Sx(()=>{e.current=!0}),B.useCallback(async(i,s={})=>{cr(e.current,fx),e.current&&(typeof i=="number"?l.navigate(i):await l.navigate(i,{fromRouteId:t,...s}))},[l,t])}var cz={};function kx(l,t,e){!t&&!cz[l]&&(cz[l]=!0,cr(!1,e))}B.memo(tC);function tC({routes:l,future:t,state:e}){return Rx(l,void 0,e,t)}function eC(l){return Fj(l.context)}function z1(l){ii(!1,"A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.")}function lC({basename:l="/",children:t=null,location:e,navigationType:n="POP",navigator:i,static:s=!1}){ii(!TW(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let a=l.replace(/^\/*/,"/"),c=B.useMemo(()=>({basename:a,navigator:i,static:s,future:{}}),[a,i,s]);typeof e=="string"&&(e=Th(e));let{pathname:o="/",search:d="",hash:h="",state:b=null,key:p="default"}=e,y=B.useMemo(()=>{let M=i0(o,a);return M==null?null:{location:{pathname:M,search:d,hash:h,state:b,key:p},navigationType:n}},[a,o,d,h,b,p,n]);return cr(y!=null,`<Router basename="${a}"> is not able to match the URL "${o}${d}${h}" because it does not start with the basename, so the <Router> won't render anything.`),y==null?null:B.createElement(eo.Provider,{value:c},B.createElement(GW.Provider,{children:t,value:y}))}function nC({children:l,location:t}){return vj(zX(l),t)}function zX(l,t=[]){let e=[];return B.Children.forEach(l,(n,i)=>{if(!B.isValidElement(n))return;let s=[...t,i];if(n.type===B.Fragment){e.push.apply(e,zX(n.props.children,s));return}ii(n.type===z1,`[${typeof n.type=="string"?n.type:n.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),ii(!n.props.index||!n.props.children,"An index route cannot have child routes.");let a={id:n.props.id||s.join("-"),caseSensitive:n.props.caseSensitive,element:n.props.element,Component:n.props.Component,index:n.props.index,path:n.props.path,loader:n.props.loader,action:n.props.action,hydrateFallbackElement:n.props.hydrateFallbackElement,HydrateFallback:n.props.HydrateFallback,errorElement:n.props.errorElement,ErrorBoundary:n.props.ErrorBoundary,hasErrorBoundary:n.props.hasErrorBoundary===!0||n.props.ErrorBoundary!=null||n.props.errorElement!=null,shouldRevalidate:n.props.shouldRevalidate,handle:n.props.handle,lazy:n.props.lazy};n.props.children&&(a.children=zX(n.props.children,s)),e.push(a)}),e}var g1="get",x1="application/x-www-form-urlencoded";function WG(l){return l!=null&&typeof l.tagName=="string"}function iC(l){return WG(l)&&l.tagName.toLowerCase()==="button"}function sC(l){return WG(l)&&l.tagName.toLowerCase()==="form"}function aC(l){return WG(l)&&l.tagName.toLowerCase()==="input"}function cC(l){return!!(l.metaKey||l.altKey||l.ctrlKey||l.shiftKey)}function rC(l,t){return l.button===0&&(!t||t==="_self")&&!cC(l)}var KN=null;function oC(){if(KN===null)try{new FormData(document.createElement("form"),0),KN=!1}catch{KN=!0}return KN}var dC=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function MT(l){return l!=null&&!dC.has(l)?(cr(!1,`"${l}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${x1}"`),null):l}function uC(l,t){let e,n,i,s,a;if(sC(l)){let c=l.getAttribute("action");n=c?i0(c,t):null,e=l.getAttribute("method")||g1,i=MT(l.getAttribute("enctype"))||x1,s=new FormData(l)}else if(iC(l)||aC(l)&&(l.type==="submit"||l.type==="image")){let c=l.form;if(c==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let o=l.getAttribute("formaction")||c.getAttribute("action");if(n=o?i0(o,t):null,e=l.getAttribute("formmethod")||c.getAttribute("method")||g1,i=MT(l.getAttribute("formenctype"))||MT(c.getAttribute("enctype"))||x1,s=new FormData(c,l),!oC()){let{name:d,type:h,value:b}=l;if(h==="image"){let p=d?`${d}.`:"";s.append(`${p}x`,"0"),s.append(`${p}y`,"0")}else d&&s.append(d,b)}}else{if(WG(l))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');e=g1,n=null,i=x1,a=l}return s&&i==="text/plain"&&(a=s,s=void 0),{action:n,method:e.toLowerCase(),encType:i,formData:s,body:a}}function BL(l,t){if(l===!1||l===null||typeof l>"u")throw new Error(t)}async function mC(l,t){if(l.id in t)return t[l.id];try{let e=await import(l.module);return t[l.id]=e,e}catch(e){return console.error(`Error loading route module \`${l.module}\`, reloading page...`),console.error(e),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function hC(l){return l==null?!1:l.href==null?l.rel==="preload"&&typeof l.imageSrcSet=="string"&&typeof l.imageSizes=="string":typeof l.rel=="string"&&typeof l.href=="string"}async function bC(l,t,e){let n=await Promise.all(l.map(async i=>{let s=t.routes[i.route.id];if(s){let a=await mC(s,e);return a.links?a.links():[]}return[]}));return WC(n.flat(1).filter(hC).filter(i=>i.rel==="stylesheet"||i.rel==="preload").map(i=>i.rel==="stylesheet"?{...i,rel:"prefetch",as:"style"}:{...i,rel:"prefetch"}))}function rz(l,t,e,n,i,s){let a=(o,d)=>e[d]?o.route.id!==e[d].route.id:!0,c=(o,d)=>{var h;return e[d].pathname!==o.pathname||((h=e[d].route.path)==null?void 0:h.endsWith("*"))&&e[d].params["*"]!==o.params["*"]};return s==="assets"?t.filter((o,d)=>a(o,d)||c(o,d)):s==="data"?t.filter((o,d)=>{var b;let h=n.routes[o.route.id];if(!h||!h.hasLoader)return!1;if(a(o,d)||c(o,d))return!0;if(o.route.shouldRevalidate){let p=o.route.shouldRevalidate({currentUrl:new URL(i.pathname+i.search+i.hash,window.origin),currentParams:((b=e[0])==null?void 0:b.params)||{},nextUrl:new URL(l,window.origin),nextParams:o.params,defaultShouldRevalidate:!0});if(typeof p=="boolean")return p}return!0}):[]}function ZC(l,t){return pC(l.map(e=>{let n=t.routes[e.route.id];if(!n)return[];let i=[n.module];return n.imports&&(i=i.concat(n.imports)),i}).flat(1))}function pC(l){return[...new Set(l)]}function yC(l){let t={},e=Object.keys(l).sort();for(let n of e)t[n]=l[n];return t}function WC(l,t){let e=new Set;return new Set(t),l.reduce((n,i)=>{let s=JSON.stringify(yC(i));return e.has(s)||(e.add(s),n.push({key:s,link:i})),n},[])}function NC(l){let t=typeof l=="string"?new URL(l,typeof window>"u"?"server://singlefetch/":window.location.origin):l;return t.pathname==="/"?t.pathname="_root.data":t.pathname=`${t.pathname.replace(/\/$/,"")}.data`,t}function MC(){let l=B.useContext(lp);return BL(l,"You must render this element inside a <DataRouterContext.Provider> element"),l}function GC(){let l=B.useContext(pG);return BL(l,"You must render this element inside a <DataRouterStateContext.Provider> element"),l}var AL=B.createContext(void 0);AL.displayName="FrameworkContext";function Dx(){let l=B.useContext(AL);return BL(l,"You must render this element inside a <HydratedRouter> element"),l}function TC(l,t){let e=B.useContext(AL),[n,i]=B.useState(!1),[s,a]=B.useState(!1),{onFocus:c,onBlur:o,onMouseEnter:d,onMouseLeave:h,onTouchStart:b}=t,p=B.useRef(null);B.useEffect(()=>{if(l==="render"&&a(!0),l==="viewport"){let T=L=>{L.forEach(x=>{a(x.isIntersecting)})},Y=new IntersectionObserver(T,{threshold:.5});return p.current&&Y.observe(p.current),()=>{Y.disconnect()}}},[l]),B.useEffect(()=>{if(n){let T=setTimeout(()=>{a(!0)},100);return()=>{clearTimeout(T)}}},[n]);let y=()=>{i(!0)},M=()=>{i(!1),a(!1)};return e?l!=="intent"?[s,p,{}]:[s,p,{onFocus:Fp(c,y),onBlur:Fp(o,M),onMouseEnter:Fp(d,y),onMouseLeave:Fp(h,M),onTouchStart:Fp(b,y)}]:[!1,p,{}]}function Fp(l,t){return e=>{l&&l(e),e.defaultPrevented||t(e)}}function XC({page:l,...t}){let{router:e}=MC(),n=B.useMemo(()=>Lx(e.routes,l,e.basename),[e.routes,l,e.basename]);return n?B.createElement(LC,{page:l,matches:n,...t}):null}function YC(l){let{manifest:t,routeModules:e}=Dx(),[n,i]=B.useState([]);return B.useEffect(()=>{let s=!1;return bC(l,t,e).then(a=>{s||i(a)}),()=>{s=!0}},[l,t,e]),n}function LC({page:l,matches:t,...e}){let n=h0(),{manifest:i,routeModules:s}=Dx(),{loaderData:a,matches:c}=GC(),o=B.useMemo(()=>rz(l,t,c,i,n,"data"),[l,t,c,i,n]),d=B.useMemo(()=>rz(l,t,c,i,n,"assets"),[l,t,c,i,n]),h=B.useMemo(()=>{if(l===n.pathname+n.search+n.hash)return[];let y=new Set,M=!1;if(t.forEach(Y=>{var x;let L=i.routes[Y.route.id];!L||!L.hasLoader||(!o.some(g=>g.route.id===Y.route.id)&&Y.route.id in a&&((x=s[Y.route.id])!=null&&x.shouldRevalidate)||L.hasClientLoader?M=!0:y.add(Y.route.id))}),y.size===0)return[];let T=NC(l);return M&&y.size>0&&T.searchParams.set("_routes",t.filter(Y=>y.has(Y.route.id)).map(Y=>Y.route.id).join(",")),[T.pathname+T.search]},[a,n,i,o,t,l,s]),b=B.useMemo(()=>ZC(d,i),[d,i]),p=YC(d);return B.createElement(B.Fragment,null,h.map(y=>B.createElement("link",{key:y,rel:"prefetch",as:"fetch",href:y,...e})),b.map(y=>B.createElement("link",{key:y,rel:"modulepreload",href:y,...e})),p.map(({key:y,link:M})=>B.createElement("link",{key:y,...M})))}function VC(...l){return t=>{l.forEach(e=>{typeof e=="function"?e(t):e!=null&&(e.current=t)})}}var Ox=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{Ox&&(window.__reactRouterVersion="7.1.5")}catch{}function IC({basename:l,children:t,window:e}){let n=B.useRef();n.current==null&&(n.current=uj({window:e,v5Compat:!0}));let i=n.current,[s,a]=B.useState({action:i.action,location:i.location}),c=B.useCallback(o=>{B.startTransition(()=>a(o))},[a]);return B.useLayoutEffect(()=>i.listen(c),[i,c]),B.createElement(lC,{basename:l,children:t,location:s.location,navigationType:s.action,navigator:i})}var jx=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Cx=B.forwardRef(function({onClick:t,discover:e="render",prefetch:n="none",relative:i,reloadDocument:s,replace:a,state:c,target:o,to:d,preventScrollReset:h,viewTransition:b,...p},y){let{basename:M}=B.useContext(eo),T=typeof d=="string"&&jx.test(d),Y,L=!1;if(typeof d=="string"&&T&&(Y=d,Ox))try{let K=new URL(window.location.href),f=d.startsWith("//")?new URL(K.protocol+d):new URL(d),lt=i0(f.pathname,M);f.origin===K.origin&<!=null?d=lt+f.search+f.hash:L=!0}catch{cr(!1,`<Link to="${d}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}let x=Oj(d,{relative:i}),[g,F,j]=TC(n,p),D=xC(d,{replace:a,state:c,target:o,preventScrollReset:h,relative:i,viewTransition:b});function _(K){t&&t(K),K.defaultPrevented||D(K)}let ut=B.createElement("a",{...p,...j,href:Y||x,onClick:L||s?t:_,ref:VC(y,F),target:o,"data-discover":!T&&e==="render"?"true":void 0});return g&&!T?B.createElement(B.Fragment,null,ut,B.createElement(XC,{page:x})):ut});Cx.displayName="Link";var wC=B.forwardRef(function({"aria-current":t="page",caseSensitive:e=!1,className:n="",end:i=!1,style:s,to:a,viewTransition:c,children:o,...d},h){let b=XW(a,{relative:d.relative}),p=h0(),y=B.useContext(pG),{navigator:M,basename:T}=B.useContext(eo),Y=y!=null&&DC(b)&&c===!0,L=M.encodeLocation?M.encodeLocation(b).pathname:b.pathname,x=p.pathname,g=y&&y.navigation&&y.navigation.location?y.navigation.location.pathname:null;e||(x=x.toLowerCase(),g=g?g.toLowerCase():null,L=L.toLowerCase()),g&&T&&(g=i0(g,T)||g);const F=L!=="/"&&L.endsWith("/")?L.length-1:L.length;let j=x===L||!i&&x.startsWith(L)&&x.charAt(F)==="/",D=g!=null&&(g===L||!i&&g.startsWith(L)&&g.charAt(L.length)==="/"),_={isActive:j,isPending:D,isTransitioning:Y},ut=j?t:void 0,K;typeof n=="function"?K=n(_):K=[n,j?"active":null,D?"pending":null,Y?"transitioning":null].filter(Boolean).join(" ");let f=typeof s=="function"?s(_):s;return B.createElement(Cx,{...d,"aria-current":ut,className:K,ref:h,style:f,to:a,viewTransition:c},typeof o=="function"?o(_):o)});wC.displayName="NavLink";var zC=B.forwardRef(({discover:l="render",fetcherKey:t,navigate:e,reloadDocument:n,replace:i,state:s,method:a=g1,action:c,onSubmit:o,relative:d,preventScrollReset:h,viewTransition:b,...p},y)=>{let M=RC(),T=kC(c,{relative:d}),Y=a.toLowerCase()==="get"?"get":"post",L=typeof c=="string"&&jx.test(c),x=g=>{if(o&&o(g),g.defaultPrevented)return;g.preventDefault();let F=g.nativeEvent.submitter,j=(F==null?void 0:F.getAttribute("formmethod"))||a;M(F||g.currentTarget,{fetcherKey:t,method:j,navigate:e,replace:i,state:s,relative:d,preventScrollReset:h,viewTransition:b})};return B.createElement("form",{ref:y,method:Y,action:T,onSubmit:n?o:x,...p,"data-discover":!L&&l==="render"?"true":void 0})});zC.displayName="Form";function gC(l){return`${l} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Fx(l){let t=B.useContext(lp);return ii(t,gC(l)),t}function xC(l,{target:t,replace:e,state:n,preventScrollReset:i,relative:s,viewTransition:a}={}){let c=yG(),o=h0(),d=XW(l,{relative:s});return B.useCallback(h=>{if(rC(h,t)){h.preventDefault();let b=e!==void 0?e:w2(o)===w2(d);c(l,{replace:b,state:n,preventScrollReset:i,relative:s,viewTransition:a})}},[o,c,d,e,n,t,l,i,s,a])}var fC=0,SC=()=>`__${String(++fC)}__`;function RC(){let{router:l}=Fx("useSubmit"),{basename:t}=B.useContext(eo),e=_j();return B.useCallback(async(n,i={})=>{let{action:s,method:a,encType:c,formData:o,body:d}=uC(n,t);if(i.navigate===!1){let h=i.fetcherKey||SC();await l.fetch(h,e,i.action||s,{preventScrollReset:i.preventScrollReset,formData:o,body:d,formMethod:i.method||a,formEncType:i.encType||c,flushSync:i.flushSync})}else await l.navigate(i.action||s,{preventScrollReset:i.preventScrollReset,formData:o,body:d,formMethod:i.method||a,formEncType:i.encType||c,replace:i.replace,state:i.state,fromRouteId:e,flushSync:i.flushSync,viewTransition:i.viewTransition})},[l,t,e])}function kC(l,{relative:t}={}){let{basename:e}=B.useContext(eo),n=B.useContext(ur);ii(n,"useFormAction must be used inside a RouteContext");let[i]=n.matches.slice(-1),s={...XW(l||".",{relative:t})},a=h0();if(l==null){s.search=a.search;let c=new URLSearchParams(s.search),o=c.getAll("index");if(o.some(h=>h==="")){c.delete("index"),o.filter(b=>b).forEach(b=>c.append("index",b));let h=c.toString();s.search=h?`?${h}`:""}}return(!l||l===".")&&i.route.index&&(s.search=s.search?s.search.replace(/^\?/,"?index&"):"?index"),e!=="/"&&(s.pathname=s.pathname==="/"?e:Nd([e,s.pathname])),w2(s)}function DC(l,t={}){let e=B.useContext(xx);ii(e!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:n}=Fx("useViewTransitionState"),i=XW(l,{relative:t.relative});if(!e.isTransitioning)return!1;let s=i0(e.currentLocation.pathname,n)||e.currentLocation.pathname,a=i0(e.nextLocation.pathname,n)||e.nextLocation.pathname;return z2(i.pathname,a)!=null||z2(i.pathname,s)!=null}new TextEncoder;const Jx={light:{"color-scheme":"light","--color-base-100":"oklch(100% 0 0)","--color-base-200":"oklch(98% 0 0)","--color-base-300":"oklch(95% 0 0)","--color-base-content":"oklch(21% 0.006 285.885)","--color-primary":"oklch(45% 0.24 277.023)","--color-primary-content":"oklch(93% 0.034 272.788)","--color-secondary":"oklch(65% 0.241 354.308)","--color-secondary-content":"oklch(94% 0.028 342.258)","--color-accent":"oklch(77% 0.152 181.912)","--color-accent-content":"oklch(38% 0.063 188.416)","--color-neutral":"oklch(14% 0.005 285.823)","--color-neutral-content":"oklch(92% 0.004 286.32)","--color-info":"oklch(74% 0.16 232.661)","--color-info-content":"oklch(29% 0.066 243.157)","--color-success":"oklch(76% 0.177 163.223)","--color-success-content":"oklch(37% 0.077 168.94)","--color-warning":"oklch(82% 0.189 84.429)","--color-warning-content":"oklch(41% 0.112 45.904)","--color-error":"oklch(71% 0.194 13.428)","--color-error-content":"oklch(27% 0.105 12.094)","--radius-selector":"0.5rem","--radius-field":"0.25rem","--radius-box":"0.5rem","--size-selector":"0.25rem","--size-field":"0.25rem","--border":"1px","--depth":"1","--noise":"0"},cyberpunk:{"color-scheme":"light","--color-base-100":"oklch(94.51% 0.179 104.32)","--color-base-200":"oklch(91.51% 0.179 104.32)","--color-base-300":"oklch(85.51% 0.179 104.32)","--color-base-content":"oklch(0% 0 0)","--color-primary":"oklch(74.22% 0.209 6.35)","--color-primary-content":"oklch(14.844% 0.041 6.35)","--color-secondary":"oklch(83.33% 0.184 204.72)","--color-secondary-content":"oklch(16.666% 0.036 204.72)","--color-accent":"oklch(71.86% 0.217 310.43)","--color-accent-content":"oklch(14.372% 0.043 310.43)","--color-neutral":"oklch(23.04% 0.065 269.31)","--color-neutral-content":"oklch(94.51% 0.179 104.32)","--color-info":"oklch(72.06% 0.191 231.6)","--color-info-content":"oklch(0% 0 0)","--color-success":"oklch(64.8% 0.15 160)","--color-success-content":"oklch(0% 0 0)","--color-warning":"oklch(84.71% 0.199 83.87)","--color-warning-content":"oklch(0% 0 0)","--color-error":"oklch(71.76% 0.221 22.18)","--color-error-content":"oklch(0% 0 0)","--radius-selector":"0rem","--radius-field":"0rem","--radius-box":"0rem","--size-selector":"0.25rem","--size-field":"0.25rem","--border":"1px","--depth":"0","--noise":"0"},business:{"color-scheme":"dark","--color-base-100":"oklch(24.353% 0 0)","--color-base-200":"oklch(22.648% 0 0)","--color-base-300":"oklch(20.944% 0 0)","--color-base-content":"oklch(84.87% 0 0)","--color-primary":"oklch(41.703% 0.099 251.473)","--color-primary-content":"oklch(88.34% 0.019 251.473)","--color-secondary":"oklch(64.092% 0.027 229.389)","--color-secondary-content":"oklch(12.818% 0.005 229.389)","--color-accent":"oklch(67.271% 0.167 35.791)","--color-accent-content":"oklch(13.454% 0.033 35.791)","--color-neutral":"oklch(27.441% 0.013 253.041)","--color-neutral-content":"oklch(85.488% 0.002 253.041)","--color-info":"oklch(62.616% 0.143 240.033)","--color-info-content":"oklch(12.523% 0.028 240.033)","--color-success":"oklch(70.226% 0.094 156.596)","--color-success-content":"oklch(14.045% 0.018 156.596)","--color-warning":"oklch(77.482% 0.115 81.519)","--color-warning-content":"oklch(15.496% 0.023 81.519)","--color-error":"oklch(51.61% 0.146 29.674)","--color-error-content":"oklch(90.322% 0.029 29.674)","--radius-selector":"0rem","--radius-field":"0.25rem","--radius-box":"0.25rem","--size-selector":"0.25rem","--size-field":"0.25rem","--border":"1px","--depth":"0","--noise":"0"},forest:{"color-scheme":"dark","--color-base-100":"oklch(20.84% 0.008 17.911)","--color-base-200":"oklch(18.522% 0.007 17.911)","--color-base-300":"oklch(16.203% 0.007 17.911)","--color-base-content":"oklch(83.768% 0.001 17.911)","--color-primary":"oklch(68.628% 0.185 148.958)","--color-primary-content":"oklch(0% 0 0)","--color-secondary":"oklch(69.776% 0.135 168.327)","--color-secondary-content":"oklch(13.955% 0.027 168.327)","--color-accent":"oklch(70.628% 0.119 185.713)","--color-accent-content":"oklch(14.125% 0.023 185.713)","--color-neutral":"oklch(30.698% 0.039 171.364)","--color-neutral-content":"oklch(86.139% 0.007 171.364)","--color-info":"oklch(72.06% 0.191 231.6)","--color-info-content":"oklch(0% 0 0)","--color-success":"oklch(64.8% 0.15 160)","--color-success-content":"oklch(0% 0 0)","--color-warning":"oklch(84.71% 0.199 83.87)","--color-warning-content":"oklch(0% 0 0)","--color-error":"oklch(71.76% 0.221 22.18)","--color-error-content":"oklch(0% 0 0)","--radius-selector":"1rem","--radius-field":"2rem","--radius-box":"1rem","--size-selector":"0.25rem","--size-field":"0.25rem","--border":"1px","--depth":"0","--noise":"0"},acid:{"color-scheme":"light","--color-base-100":"oklch(98% 0 0)","--color-base-200":"oklch(95% 0 0)","--color-base-300":"oklch(91% 0 0)","--color-base-content":"oklch(0% 0 0)","--color-primary":"oklch(71.9% 0.357 330.759)","--color-primary-content":"oklch(14.38% 0.071 330.759)","--color-secondary":"oklch(73.37% 0.224 48.25)","--color-secondary-content":"oklch(14.674% 0.044 48.25)","--color-accent":"oklch(92.78% 0.264 122.962)","--color-accent-content":"oklch(18.556% 0.052 122.962)","--color-neutral":"oklch(21.31% 0.128 278.68)","--color-neutral-content":"oklch(84.262% 0.025 278.68)","--color-info":"oklch(60.72% 0.227 252.05)","--color-info-content":"oklch(12.144% 0.045 252.05)","--color-success":"oklch(85.72% 0.266 158.53)","--color-success-content":"oklch(17.144% 0.053 158.53)","--color-warning":"oklch(91.01% 0.212 100.5)","--color-warning-content":"oklch(18.202% 0.042 100.5)","--color-error":"oklch(64.84% 0.293 29.349)","--color-error-content":"oklch(12.968% 0.058 29.349)","--radius-selector":"1rem","--radius-field":"1rem","--radius-box":"1rem","--size-selector":"0.25rem","--size-field":"0.25rem","--border":"1px","--depth":"1","--noise":"0"},nord:{"color-scheme":"light","--color-base-100":"oklch(95.127% 0.007 260.731)","--color-base-200":"oklch(93.299% 0.01 261.788)","--color-base-300":"oklch(89.925% 0.016 262.749)","--color-base-content":"oklch(32.437% 0.022 264.182)","--color-primary":"oklch(59.435% 0.077 254.027)","--color-primary-content":"oklch(11.887% 0.015 254.027)","--color-secondary":"oklch(69.651% 0.059 248.687)","--color-secondary-content":"oklch(13.93% 0.011 248.687)","--color-accent":"oklch(77.464% 0.062 217.469)","--color-accent-content":"oklch(15.492% 0.012 217.469)","--color-neutral":"oklch(45.229% 0.035 264.131)","--color-neutral-content":"oklch(89.925% 0.016 262.749)","--color-info":"oklch(69.207% 0.062 332.664)","--color-info-content":"oklch(13.841% 0.012 332.664)","--color-success":"oklch(76.827% 0.074 131.063)","--color-success-content":"oklch(15.365% 0.014 131.063)","--color-warning":"oklch(85.486% 0.089 84.093)","--color-warning-content":"oklch(17.097% 0.017 84.093)","--color-error":"oklch(60.61% 0.12 15.341)","--color-error-content":"oklch(12.122% 0.024 15.341)","--radius-selector":"1rem","--radius-field":"0.25rem","--radius-box":"0.5rem","--size-selector":"0.25rem","--size-field":"0.25rem","--border":"1px","--depth":"0","--noise":"0"},abyss:{"color-scheme":"dark","--color-base-100":"oklch(20% 0.08 209)","--color-base-200":"oklch(15% 0.08 209)","--color-base-300":"oklch(10% 0.08 209)","--color-base-content":"oklch(90% 0.076 70.697)","--color-primary":"oklch(92% 0.2653 125)","--color-primary-content":"oklch(50% 0.2653 125)","--color-secondary":"oklch(83.27% 0.0764 298.3)","--color-secondary-content":"oklch(43.27% 0.0764 298.3)","--color-accent":"oklch(43% 0 0)","--color-accent-content":"oklch(98% 0 0)","--color-neutral":"oklch(30% 0.08 209)","--color-neutral-content":"oklch(90% 0.076 70.697)","--color-info":"oklch(74% 0.16 232.661)","--color-info-content":"oklch(29% 0.066 243.157)","--color-success":"oklch(79% 0.209 151.711)","--color-success-content":"oklch(26% 0.065 152.934)","--color-warning":"oklch(84.8% 0.1962 84.62)","--color-warning-content":"oklch(44.8% 0.1962 84.62)","--color-error":"oklch(65% 0.1985 24.22)","--color-error-content":"oklch(27% 0.1985 24.22)","--radius-selector":"2rem","--radius-field":"0.25rem","--radius-box":"0.5rem","--size-selector":"0.25rem","--size-field":"0.25rem","--border":"1px","--depth":"1","--noise":"0"},dim:{"color-scheme":"dark","--color-base-100":"oklch(30.857% 0.023 264.149)","--color-base-200":"oklch(28.036% 0.019 264.182)","--color-base-300":"oklch(26.346% 0.018 262.177)","--color-base-content":"oklch(82.901% 0.031 222.959)","--color-primary":"oklch(86.133% 0.141 139.549)","--color-primary-content":"oklch(17.226% 0.028 139.549)","--color-secondary":"oklch(73.375% 0.165 35.353)","--color-secondary-content":"oklch(14.675% 0.033 35.353)","--color-accent":"oklch(74.229% 0.133 311.379)","--color-accent-content":"oklch(14.845% 0.026 311.379)","--color-neutral":"oklch(24.731% 0.02 264.094)","--color-neutral-content":"oklch(82.901% 0.031 222.959)","--color-info":"oklch(86.078% 0.142 206.182)","--color-info-content":"oklch(17.215% 0.028 206.182)","--color-success":"oklch(86.171% 0.142 166.534)","--color-success-content":"oklch(17.234% 0.028 166.534)","--color-warning":"oklch(86.163% 0.142 94.818)","--color-warning-content":"oklch(17.232% 0.028 94.818)","--color-error":"oklch(82.418% 0.099 33.756)","--color-error-content":"oklch(16.483% 0.019 33.756)","--radius-selector":"1rem","--radius-field":"0.5rem","--radius-box":"1rem","--size-selector":"0.25rem","--size-field":"0.25rem","--border":"1px","--depth":"0","--noise":"0"},retro:{"color-scheme":"light","--color-base-100":"oklch(91.637% 0.034 90.515)","--color-base-200":"oklch(88.272% 0.049 91.774)","--color-base-300":"oklch(84.133% 0.065 90.856)","--color-base-content":"oklch(41% 0.112 45.904)","--color-primary":"oklch(80% 0.114 19.571)","--color-primary-content":"oklch(39% 0.141 25.723)","--color-secondary":"oklch(92% 0.084 155.995)","--color-secondary-content":"oklch(44% 0.119 151.328)","--color-accent":"oklch(68% 0.162 75.834)","--color-accent-content":"oklch(41% 0.112 45.904)","--color-neutral":"oklch(44% 0.011 73.639)","--color-neutral-content":"oklch(86% 0.005 56.366)","--color-info":"oklch(58% 0.158 241.966)","--color-info-content":"oklch(96% 0.059 95.617)","--color-success":"oklch(51% 0.096 186.391)","--color-success-content":"oklch(96% 0.059 95.617)","--color-warning":"oklch(64% 0.222 41.116)","--color-warning-content":"oklch(96% 0.059 95.617)","--color-error":"oklch(70% 0.191 22.216)","--color-error-content":"oklch(40% 0.123 38.172)","--radius-selector":"0.25rem","--radius-field":"0.25rem","--radius-box":"0.5rem","--size-selector":"0.25rem","--size-field":"0.25rem","--border":"1px","--depth":"0","--noise":"0"},aqua:{"color-scheme":"dark","--color-base-100":"oklch(37% 0.146 265.522)","--color-base-200":"oklch(28% 0.091 267.935)","--color-base-300":"oklch(22% 0.091 267.935)","--color-base-content":"oklch(90% 0.058 230.902)","--color-primary":"oklch(85.661% 0.144 198.645)","--color-primary-content":"oklch(40.124% 0.068 197.603)","--color-secondary":"oklch(60.682% 0.108 309.782)","--color-secondary-content":"oklch(96% 0.016 293.756)","--color-accent":"oklch(93.426% 0.102 94.555)","--color-accent-content":"oklch(18.685% 0.02 94.555)","--color-neutral":"oklch(27% 0.146 265.522)","--color-neutral-content":"oklch(80% 0.146 265.522)","--color-info":"oklch(54.615% 0.215 262.88)","--color-info-content":"oklch(90.923% 0.043 262.88)","--color-success":"oklch(62.705% 0.169 149.213)","--color-success-content":"oklch(12.541% 0.033 149.213)","--color-warning":"oklch(66.584% 0.157 58.318)","--color-warning-content":"oklch(27% 0.077 45.635)","--color-error":"oklch(73.95% 0.19 27.33)","--color-error-content":"oklch(14.79% 0.038 27.33)","--radius-selector":"1rem","--radius-field":"0.5rem","--radius-box":"1rem","--size-selector":"0.25rem","--size-field":"0.25rem","--border":"1px","--depth":"1","--noise":"0"},synthwave:{"color-scheme":"dark","--color-base-100":"oklch(15% 0.09 281.288)","--color-base-200":"oklch(20% 0.09 281.288)","--color-base-300":"oklch(25% 0.09 281.288)","--color-base-content":"oklch(78% 0.115 274.713)","--color-primary":"oklch(71% 0.202 349.761)","--color-primary-content":"oklch(28% 0.109 3.907)","--color-secondary":"oklch(82% 0.111 230.318)","--color-secondary-content":"oklch(29% 0.066 243.157)","--color-accent":"oklch(75% 0.183 55.934)","--color-accent-content":"oklch(26% 0.079 36.259)","--color-neutral":"oklch(45% 0.24 277.023)","--color-neutral-content":"oklch(87% 0.065 274.039)","--color-info":"oklch(74% 0.16 232.661)","--color-info-content":"oklch(29% 0.066 243.157)","--color-success":"oklch(77% 0.152 181.912)","--color-success-content":"oklch(27% 0.046 192.524)","--color-warning":"oklch(90% 0.182 98.111)","--color-warning-content":"oklch(42% 0.095 57.708)","--color-error":"oklch(73.7% 0.121 32.639)","--color-error-content":"oklch(23.501% 0.096 290.329)","--radius-selector":"1rem","--radius-field":"0.5rem","--radius-box":"1rem","--size-selector":"0.25rem","--size-field":"0.25rem","--border":"1px","--depth":"0","--noise":"0"},dracula:{"color-scheme":"dark","--color-base-100":"oklch(28.822% 0.022 277.508)","--color-base-200":"oklch(26.805% 0.02 277.508)","--color-base-300":"oklch(24.787% 0.019 277.508)","--color-base-content":"oklch(97.747% 0.007 106.545)","--color-primary":"oklch(75.461% 0.183 346.812)","--color-primary-content":"oklch(15.092% 0.036 346.812)","--color-secondary":"oklch(74.202% 0.148 301.883)","--color-secondary-content":"oklch(14.84% 0.029 301.883)","--color-accent":"oklch(83.392% 0.124 66.558)","--color-accent-content":"oklch(16.678% 0.024 66.558)","--color-neutral":"oklch(39.445% 0.032 275.524)","--color-neutral-content":"oklch(87.889% 0.006 275.524)","--color-info":"oklch(88.263% 0.093 212.846)","--color-info-content":"oklch(17.652% 0.018 212.846)","--color-success":"oklch(87.099% 0.219 148.024)","--color-success-content":"oklch(17.419% 0.043 148.024)","--color-warning":"oklch(95.533% 0.134 112.757)","--color-warning-content":"oklch(19.106% 0.026 112.757)","--color-error":"oklch(68.22% 0.206 24.43)","--color-error-content":"oklch(13.644% 0.041 24.43)","--radius-selector":"1rem","--radius-field":"0.5rem","--radius-box":"1rem","--size-selector":"0.25rem","--size-field":"0.25rem","--border":"1px","--depth":"0","--noise":"0"},bumblebee:{"color-scheme":"light","--color-base-100":"oklch(100% 0 0)","--color-base-200":"oklch(97% 0 0)","--color-base-300":"oklch(92% 0 0)","--color-base-content":"oklch(20% 0 0)","--color-primary":"oklch(85% 0.199 91.936)","--color-primary-content":"oklch(42% 0.095 57.708)","--color-secondary":"oklch(75% 0.183 55.934)","--color-secondary-content":"oklch(40% 0.123 38.172)","--color-accent":"oklch(0% 0 0)","--color-accent-content":"oklch(100% 0 0)","--color-neutral":"oklch(37% 0.01 67.558)","--color-neutral-content":"oklch(92% 0.003 48.717)","--color-info":"oklch(74% 0.16 232.661)","--color-info-content":"oklch(39% 0.09 240.876)","--color-success":"oklch(76% 0.177 163.223)","--color-success-content":"oklch(37% 0.077 168.94)","--color-warning":"oklch(82% 0.189 84.429)","--color-warning-content":"oklch(41% 0.112 45.904)","--color-error":"oklch(70% 0.191 22.216)","--color-error-content":"oklch(39% 0.141 25.723)","--radius-selector":"1rem","--radius-field":"0.5rem","--radius-box":"1rem","--size-selector":"0.25rem","--size-field":"0.25rem","--border":"1px","--depth":"1","--noise":"0"},pastel:{"color-scheme":"light","--color-base-100":"oklch(100% 0 0)","--color-base-200":"oklch(98.462% 0.001 247.838)","--color-base-300":"oklch(92.462% 0.001 247.838)","--color-base-content":"oklch(20% 0 0)","--color-primary":"oklch(90% 0.063 306.703)","--color-primary-content":"oklch(49% 0.265 301.924)","--color-secondary":"oklch(89% 0.058 10.001)","--color-secondary-content":"oklch(51% 0.222 16.935)","--color-accent":"oklch(90% 0.093 164.15)","--color-accent-content":"oklch(50% 0.118 165.612)","--color-neutral":"oklch(55% 0.046 257.417)","--color-neutral-content":"oklch(92% 0.013 255.508)","--color-info":"oklch(86% 0.127 207.078)","--color-info-content":"oklch(52% 0.105 223.128)","--color-success":"oklch(87% 0.15 154.449)","--color-success-content":"oklch(52% 0.154 150.069)","--color-warning":"oklch(83% 0.128 66.29)","--color-warning-content":"oklch(55% 0.195 38.402)","--color-error":"oklch(80% 0.114 19.571)","--color-error-content":"oklch(50% 0.213 27.518)","--radius-selector":"1rem","--radius-field":"2rem","--radius-box":"1rem","--size-selector":"0.25rem","--size-field":"0.25rem","--border":"2px","--depth":"0","--noise":"0"},valentine:{"color-scheme":"light","--color-base-100":"oklch(97% 0.014 343.198)","--color-base-200":"oklch(94% 0.028 342.258)","--color-base-300":"oklch(89% 0.061 343.231)","--color-base-content":"oklch(52% 0.223 3.958)","--color-primary":"oklch(65% 0.241 354.308)","--color-primary-content":"oklch(100% 0 0)","--color-secondary":"oklch(62% 0.265 303.9)","--color-secondary-content":"oklch(97% 0.014 308.299)","--color-accent":"oklch(82% 0.111 230.318)","--color-accent-content":"oklch(39% 0.09 240.876)","--color-neutral":"oklch(40% 0.153 2.432)","--color-neutral-content":"oklch(89% 0.061 343.231)","--color-info":"oklch(86% 0.127 207.078)","--color-info-content":"oklch(44% 0.11 240.79)","--color-success":"oklch(84% 0.143 164.978)","--color-success-content":"oklch(43% 0.095 166.913)","--color-warning":"oklch(75% 0.183 55.934)","--color-warning-content":"oklch(26% 0.079 36.259)","--color-error":"oklch(63% 0.237 25.331)","--color-error-content":"oklch(97% 0.013 17.38)","--radius-selector":"1rem","--radius-field":"2rem","--radius-box":"1rem","--size-selector":"0.25rem","--size-field":"0.25rem","--border":"1px","--depth":"0","--noise":"0"},silk:{"color-scheme":"light","--color-base-100":"oklch(97% 0.0035 67.78)","--color-base-200":"oklch(95% 0.0081 61.42)","--color-base-300":"oklch(90% 0.0081 61.42)","--color-base-content":"oklch(40% 0.0081 61.42)","--color-primary":"oklch(23.27% 0.0249 284.3)","--color-primary-content":"oklch(94.22% 0.2505 117.44)","--color-secondary":"oklch(23.27% 0.0249 284.3)","--color-secondary-content":"oklch(73.92% 0.2135 50.94)","--color-accent":"oklch(23.27% 0.0249 284.3)","--color-accent-content":"oklch(88.92% 0.2061 189.9)","--color-neutral":"oklch(20% 0 0)","--color-neutral-content":"oklch(80% 0.0081 61.42)","--color-info":"oklch(80.39% 0.1148 241.68)","--color-info-content":"oklch(30.39% 0.1148 241.68)","--color-success":"oklch(83.92% 0.0901 136.87)","--color-success-content":"oklch(23.92% 0.0901 136.87)","--color-warning":"oklch(83.92% 0.1085 80)","--color-warning-content":"oklch(43.92% 0.1085 80)","--color-error":"oklch(75.1% 0.1814 22.37)","--color-error-content":"oklch(35.1% 0.1814 22.37)","--radius-selector":"2rem","--radius-field":"0.5rem","--radius-box":"1rem","--size-selector":"0.25rem","--size-field":"0.25rem","--border":"2px","--depth":"1","--noise":"0"},winter:{"color-scheme":"light","--color-base-100":"oklch(100% 0 0)","--color-base-200":"oklch(97.466% 0.011 259.822)","--color-base-300":"oklch(93.268% 0.016 262.751)","--color-base-content":"oklch(41.886% 0.053 255.824)","--color-primary":"oklch(56.86% 0.255 257.57)","--color-primary-content":"oklch(91.372% 0.051 257.57)","--color-secondary":"oklch(42.551% 0.161 282.339)","--color-secondary-content":"oklch(88.51% 0.032 282.339)","--color-accent":"oklch(59.939% 0.191 335.171)","--color-accent-content":"oklch(11.988% 0.038 335.171)","--color-neutral":"oklch(19.616% 0.063 257.651)","--color-neutral-content":"oklch(83.923% 0.012 257.651)","--color-info":"oklch(88.127% 0.085 214.515)","--color-info-content":"oklch(17.625% 0.017 214.515)","--color-success":"oklch(80.494% 0.077 197.823)","--color-success-content":"oklch(16.098% 0.015 197.823)","--color-warning":"oklch(89.172% 0.045 71.47)","--color-warning-content":"oklch(17.834% 0.009 71.47)","--color-error":"oklch(73.092% 0.11 20.076)","--color-error-content":"oklch(14.618% 0.022 20.076)","--radius-selector":"1rem","--radius-field":"0.5rem","--radius-box":"1rem","--size-selector":"0.25rem","--size-field":"0.25rem","--border":"1px","--depth":"0","--noise":"0"},night:{"color-scheme":"dark","--color-base-100":"oklch(20.768% 0.039 265.754)","--color-base-200":"oklch(19.314% 0.037 265.754)","--color-base-300":"oklch(17.86% 0.034 265.754)","--color-base-content":"oklch(84.153% 0.007 265.754)","--color-primary":"oklch(75.351% 0.138 232.661)","--color-primary-content":"oklch(15.07% 0.027 232.661)","--color-secondary":"oklch(68.011% 0.158 276.934)","--color-secondary-content":"oklch(13.602% 0.031 276.934)","--color-accent":"oklch(72.36% 0.176 350.048)","--color-accent-content":"oklch(14.472% 0.035 350.048)","--color-neutral":"oklch(27.949% 0.036 260.03)","--color-neutral-content":"oklch(85.589% 0.007 260.03)","--color-info":"oklch(68.455% 0.148 237.251)","--color-info-content":"oklch(0% 0 0)","--color-success":"oklch(78.452% 0.132 181.911)","--color-success-content":"oklch(15.69% 0.026 181.911)","--color-warning":"oklch(83.242% 0.139 82.95)","--color-warning-content":"oklch(16.648% 0.027 82.95)","--color-error":"oklch(71.785% 0.17 13.118)","--color-error-content":"oklch(14.357% 0.034 13.118)","--radius-selector":"1rem","--radius-field":"0.5rem","--radius-box":"1rem","--size-selector":"0.25rem","--size-field":"0.25rem","--border":"1px","--depth":"0","--noise":"0"},lemonade:{"color-scheme":"light","--color-base-100":"oklch(98.71% 0.02 123.72)","--color-base-200":"oklch(91.8% 0.018 123.72)","--color-base-300":"oklch(84.89% 0.017 123.72)","--color-base-content":"oklch(19.742% 0.004 123.72)","--color-primary":"oklch(58.92% 0.199 134.6)","--color-primary-content":"oklch(11.784% 0.039 134.6)","--color-secondary":"oklch(77.75% 0.196 111.09)","--color-secondary-content":"oklch(15.55% 0.039 111.09)","--color-accent":"oklch(85.39% 0.201 100.73)","--color-accent-content":"oklch(17.078% 0.04 100.73)","--color-neutral":"oklch(30.98% 0.075 108.6)","--color-neutral-content":"oklch(86.196% 0.015 108.6)","--color-info":"oklch(86.19% 0.047 224.14)","--color-info-content":"oklch(17.238% 0.009 224.14)","--color-success":"oklch(86.19% 0.047 157.85)","--color-success-content":"oklch(17.238% 0.009 157.85)","--color-warning":"oklch(86.19% 0.047 102.15)","--color-warning-content":"oklch(17.238% 0.009 102.15)","--color-error":"oklch(86.19% 0.047 25.85)","--color-error-content":"oklch(17.238% 0.009 25.85)","--radius-selector":"1rem","--radius-field":"0.5rem","--radius-box":"1rem","--size-selector":"0.25rem","--size-field":"0.25rem","--border":"1px","--depth":"0","--noise":"0"},coffee:{"color-scheme":"dark","--color-base-100":"oklch(24% 0.023 329.708)","--color-base-200":"oklch(21% 0.021 329.708)","--color-base-300":"oklch(16% 0.019 329.708)","--color-base-content":"oklch(72.354% 0.092 79.129)","--color-primary":"oklch(71.996% 0.123 62.756)","--color-primary-content":"oklch(14.399% 0.024 62.756)","--color-secondary":"oklch(34.465% 0.029 199.194)","--color-secondary-content":"oklch(86.893% 0.005 199.194)","--color-accent":"oklch(42.621% 0.074 224.389)","--color-accent-content":"oklch(88.524% 0.014 224.389)","--color-neutral":"oklch(16.51% 0.015 326.261)","--color-neutral-content":"oklch(83.302% 0.003 326.261)","--color-info":"oklch(79.49% 0.063 184.558)","--color-info-content":"oklch(15.898% 0.012 184.558)","--color-success":"oklch(74.722% 0.072 131.116)","--color-success-content":"oklch(14.944% 0.014 131.116)","--color-warning":"oklch(88.15% 0.14 87.722)","--color-warning-content":"oklch(17.63% 0.028 87.722)","--color-error":"oklch(77.318% 0.128 31.871)","--color-error-content":"oklch(15.463% 0.025 31.871)","--radius-selector":"1rem","--radius-field":"0.5rem","--radius-box":"1rem","--size-selector":"0.25rem","--size-field":"0.25rem","--border":"1px","--depth":"0","--noise":"0"},sunset:{"color-scheme":"dark","--color-base-100":"oklch(22% 0.019 237.69)","--color-base-200":"oklch(20% 0.019 237.69)","--color-base-300":"oklch(18% 0.019 237.69)","--color-base-content":"oklch(77.383% 0.043 245.096)","--color-primary":"oklch(74.703% 0.158 39.947)","--color-primary-content":"oklch(14.94% 0.031 39.947)","--color-secondary":"oklch(72.537% 0.177 2.72)","--color-secondary-content":"oklch(14.507% 0.035 2.72)","--color-accent":"oklch(71.294% 0.166 299.844)","--color-accent-content":"oklch(14.258% 0.033 299.844)","--color-neutral":"oklch(26% 0.019 237.69)","--color-neutral-content":"oklch(70% 0.019 237.69)","--color-info":"oklch(85.559% 0.085 206.015)","--color-info-content":"oklch(17.111% 0.017 206.015)","--color-success":"oklch(85.56% 0.085 144.778)","--color-success-content":"oklch(17.112% 0.017 144.778)","--color-warning":"oklch(85.569% 0.084 74.427)","--color-warning-content":"oklch(17.113% 0.016 74.427)","--color-error":"oklch(85.511% 0.078 16.886)","--color-error-content":"oklch(17.102% 0.015 16.886)","--radius-selector":"1rem","--radius-field":"0.5rem","--radius-box":"1rem","--size-selector":"0.25rem","--size-field":"0.25rem","--border":"1px","--depth":"0","--noise":"0"},lofi:{"color-scheme":"light","--color-base-100":"oklch(100% 0 0)","--color-base-200":"oklch(97% 0 0)","--color-base-300":"oklch(94% 0 0)","--color-base-content":"oklch(0% 0 0)","--color-primary":"oklch(15.906% 0 0)","--color-primary-content":"oklch(100% 0 0)","--color-secondary":"oklch(21.455% 0.001 17.278)","--color-secondary-content":"oklch(100% 0 0)","--color-accent":"oklch(26.861% 0 0)","--color-accent-content":"oklch(100% 0 0)","--color-neutral":"oklch(0% 0 0)","--color-neutral-content":"oklch(100% 0 0)","--color-info":"oklch(79.54% 0.103 205.9)","--color-info-content":"oklch(15.908% 0.02 205.9)","--color-success":"oklch(90.13% 0.153 164.14)","--color-success-content":"oklch(18.026% 0.03 164.14)","--color-warning":"oklch(88.37% 0.135 79.94)","--color-warning-content":"oklch(17.674% 0.027 79.94)","--color-error":"oklch(78.66% 0.15 28.47)","--color-error-content":"oklch(15.732% 0.03 28.47)","--radius-selector":"2rem","--radius-field":"0.25rem","--radius-box":"0.5rem","--size-selector":"0.25rem","--size-field":"0.25rem","--border":"1px","--depth":"0","--noise":"0"},fantasy:{"color-scheme":"light","--color-base-100":"oklch(100% 0 0)","--color-base-200":"oklch(93% 0 0)","--color-base-300":"oklch(86% 0 0)","--color-base-content":"oklch(27.807% 0.029 256.847)","--color-primary":"oklch(37.45% 0.189 325.02)","--color-primary-content":"oklch(87.49% 0.037 325.02)","--color-secondary":"oklch(53.92% 0.162 241.36)","--color-secondary-content":"oklch(90.784% 0.032 241.36)","--color-accent":"oklch(75.98% 0.204 56.72)","--color-accent-content":"oklch(15.196% 0.04 56.72)","--color-neutral":"oklch(27.807% 0.029 256.847)","--color-neutral-content":"oklch(85.561% 0.005 256.847)","--color-info":"oklch(72.06% 0.191 231.6)","--color-info-content":"oklch(0% 0 0)","--color-success":"oklch(64.8% 0.15 160)","--color-success-content":"oklch(0% 0 0)","--color-warning":"oklch(84.71% 0.199 83.87)","--color-warning-content":"oklch(0% 0 0)","--color-error":"oklch(71.76% 0.221 22.18)","--color-error-content":"oklch(0% 0 0)","--radius-selector":"1rem","--radius-field":"0.5rem","--radius-box":"1rem","--size-selector":"0.25rem","--size-field":"0.25rem","--border":"1px","--depth":"1","--noise":"0"},cmyk:{"color-scheme":"light","--color-base-100":"oklch(100% 0 0)","--color-base-200":"oklch(95% 0 0)","--color-base-300":"oklch(90% 0 0)","--color-base-content":"oklch(20% 0 0)","--color-primary":"oklch(71.772% 0.133 239.443)","--color-primary-content":"oklch(14.354% 0.026 239.443)","--color-secondary":"oklch(64.476% 0.202 359.339)","--color-secondary-content":"oklch(12.895% 0.04 359.339)","--color-accent":"oklch(94.228% 0.189 105.306)","--color-accent-content":"oklch(18.845% 0.037 105.306)","--color-neutral":"oklch(21.778% 0 0)","--color-neutral-content":"oklch(84.355% 0 0)","--color-info":"oklch(68.475% 0.094 217.284)","--color-info-content":"oklch(13.695% 0.018 217.284)","--color-success":"oklch(46.949% 0.162 321.406)","--color-success-content":"oklch(89.389% 0.032 321.406)","--color-warning":"oklch(71.236% 0.159 52.023)","--color-warning-content":"oklch(14.247% 0.031 52.023)","--color-error":"oklch(62.013% 0.208 28.717)","--color-error-content":"oklch(12.402% 0.041 28.717)","--radius-selector":"1rem","--radius-field":"0.5rem","--radius-box":"1rem","--size-selector":"0.25rem","--size-field":"0.25rem","--border":"1px","--depth":"0","--noise":"0"},halloween:{"color-scheme":"dark","--color-base-100":"oklch(21% 0.006 56.043)","--color-base-200":"oklch(14% 0.004 49.25)","--color-base-300":"oklch(0% 0 0)","--color-base-content":"oklch(84.955% 0 0)","--color-primary":"oklch(77.48% 0.204 60.62)","--color-primary-content":"oklch(19.693% 0.004 196.779)","--color-secondary":"oklch(45.98% 0.248 305.03)","--color-secondary-content":"oklch(89.196% 0.049 305.03)","--color-accent":"oklch(64.8% 0.223 136.073)","--color-accent-content":"oklch(0% 0 0)","--color-neutral":"oklch(24.371% 0.046 65.681)","--color-neutral-content":"oklch(84.874% 0.009 65.681)","--color-info":"oklch(54.615% 0.215 262.88)","--color-info-content":"oklch(90.923% 0.043 262.88)","--color-success":"oklch(62.705% 0.169 149.213)","--color-success-content":"oklch(12.541% 0.033 149.213)","--color-warning":"oklch(66.584% 0.157 58.318)","--color-warning-content":"oklch(13.316% 0.031 58.318)","--color-error":"oklch(65.72% 0.199 27.33)","--color-error-content":"oklch(13.144% 0.039 27.33)","--radius-selector":"1rem","--radius-field":"0.5rem","--radius-box":"1rem","--size-selector":"0.25rem","--size-field":"0.25rem","--border":"1px","--depth":"1","--noise":"0"},dark:{"color-scheme":"dark","--color-base-100":"oklch(25.33% 0.016 252.42)","--color-base-200":"oklch(23.26% 0.014 253.1)","--color-base-300":"oklch(21.15% 0.012 254.09)","--color-base-content":"oklch(97.807% 0.029 256.847)","--color-primary":"oklch(58% 0.233 277.117)","--color-primary-content":"oklch(96% 0.018 272.314)","--color-secondary":"oklch(65% 0.241 354.308)","--color-secondary-content":"oklch(94% 0.028 342.258)","--color-accent":"oklch(77% 0.152 181.912)","--color-accent-content":"oklch(38% 0.063 188.416)","--color-neutral":"oklch(14% 0.005 285.823)","--color-neutral-content":"oklch(92% 0.004 286.32)","--color-info":"oklch(74% 0.16 232.661)","--color-info-content":"oklch(29% 0.066 243.157)","--color-success":"oklch(76% 0.177 163.223)","--color-success-content":"oklch(37% 0.077 168.94)","--color-warning":"oklch(82% 0.189 84.429)","--color-warning-content":"oklch(41% 0.112 45.904)","--color-error":"oklch(71% 0.194 13.428)","--color-error-content":"oklch(27% 0.105 12.094)","--radius-selector":"0.5rem","--radius-field":"0.25rem","--radius-box":"0.5rem","--size-selector":"0.25rem","--size-field":"0.25rem","--border":"1px","--depth":"1","--noise":"0"},autumn:{"color-scheme":"light","--color-base-100":"oklch(95.814% 0 0)","--color-base-200":"oklch(89.107% 0 0)","--color-base-300":"oklch(82.4% 0 0)","--color-base-content":"oklch(19.162% 0 0)","--color-primary":"oklch(40.723% 0.161 17.53)","--color-primary-content":"oklch(88.144% 0.032 17.53)","--color-secondary":"oklch(61.676% 0.169 23.865)","--color-secondary-content":"oklch(12.335% 0.033 23.865)","--color-accent":"oklch(73.425% 0.094 60.729)","--color-accent-content":"oklch(14.685% 0.018 60.729)","--color-neutral":"oklch(54.367% 0.037 51.902)","--color-neutral-content":"oklch(90.873% 0.007 51.902)","--color-info":"oklch(69.224% 0.097 207.284)","--color-info-content":"oklch(13.844% 0.019 207.284)","--color-success":"oklch(60.995% 0.08 174.616)","--color-success-content":"oklch(12.199% 0.016 174.616)","--color-warning":"oklch(70.081% 0.164 56.844)","--color-warning-content":"oklch(14.016% 0.032 56.844)","--color-error":"oklch(53.07% 0.241 24.16)","--color-error-content":"oklch(90.614% 0.048 24.16)","--radius-selector":"1rem","--radius-field":"0.5rem","--radius-box":"1rem","--size-selector":"0.25rem","--size-field":"0.25rem","--border":"1px","--depth":"1","--noise":"0"},corporate:{"color-scheme":"light","--color-base-100":"oklch(100% 0 0)","--color-base-200":"oklch(93% 0 0)","--color-base-300":"oklch(86% 0 0)","--color-base-content":"oklch(22.389% 0.031 278.072)","--color-primary":"oklch(58% 0.158 241.966)","--color-primary-content":"oklch(100% 0 0)","--color-secondary":"oklch(55% 0.046 257.417)","--color-secondary-content":"oklch(100% 0 0)","--color-accent":"oklch(60% 0.118 184.704)","--color-accent-content":"oklch(100% 0 0)","--color-neutral":"oklch(0% 0 0)","--color-neutral-content":"oklch(100% 0 0)","--color-info":"oklch(60% 0.126 221.723)","--color-info-content":"oklch(100% 0 0)","--color-success":"oklch(62% 0.194 149.214)","--color-success-content":"oklch(100% 0 0)","--color-warning":"oklch(85% 0.199 91.936)","--color-warning-content":"oklch(0% 0 0)","--color-error":"oklch(70% 0.191 22.216)","--color-error-content":"oklch(0% 0 0)","--radius-selector":"0.25rem","--radius-field":"0.25rem","--radius-box":"0.25rem","--size-selector":"0.25rem","--size-field":"0.25rem","--border":"1px","--depth":"0","--noise":"0"},emerald:{"color-scheme":"light","--color-base-100":"oklch(100% 0 0)","--color-base-200":"oklch(93% 0 0)","--color-base-300":"oklch(86% 0 0)","--color-base-content":"oklch(35.519% 0.032 262.988)","--color-primary":"oklch(76.662% 0.135 153.45)","--color-primary-content":"oklch(33.387% 0.04 162.24)","--color-secondary":"oklch(61.302% 0.202 261.294)","--color-secondary-content":"oklch(100% 0 0)","--color-accent":"oklch(72.772% 0.149 33.2)","--color-accent-content":"oklch(0% 0 0)","--color-neutral":"oklch(35.519% 0.032 262.988)","--color-neutral-content":"oklch(98.462% 0.001 247.838)","--color-info":"oklch(72.06% 0.191 231.6)","--color-info-content":"oklch(0% 0 0)","--color-success":"oklch(64.8% 0.15 160)","--color-success-content":"oklch(0% 0 0)","--color-warning":"oklch(84.71% 0.199 83.87)","--color-warning-content":"oklch(0% 0 0)","--color-error":"oklch(71.76% 0.221 22.18)","--color-error-content":"oklch(0% 0 0)","--radius-selector":"1rem","--radius-field":"0.5rem","--radius-box":"1rem","--size-selector":"0.25rem","--size-field":"0.25rem","--border":"1px","--depth":"0","--noise":"0"},garden:{"color-scheme":"light","--color-base-100":"oklch(92.951% 0.002 17.197)","--color-base-200":"oklch(86.445% 0.002 17.197)","--color-base-300":"oklch(79.938% 0.001 17.197)","--color-base-content":"oklch(16.961% 0.001 17.32)","--color-primary":"oklch(62.45% 0.278 3.836)","--color-primary-content":"oklch(100% 0 0)","--color-secondary":"oklch(48.495% 0.11 355.095)","--color-secondary-content":"oklch(89.699% 0.022 355.095)","--color-accent":"oklch(56.273% 0.054 154.39)","--color-accent-content":"oklch(100% 0 0)","--color-neutral":"oklch(24.155% 0.049 89.07)","--color-neutral-content":"oklch(92.951% 0.002 17.197)","--color-info":"oklch(72.06% 0.191 231.6)","--color-info-content":"oklch(0% 0 0)","--color-success":"oklch(64.8% 0.15 160)","--color-success-content":"oklch(0% 0 0)","--color-warning":"oklch(84.71% 0.199 83.87)","--color-warning-content":"oklch(0% 0 0)","--color-error":"oklch(71.76% 0.221 22.18)","--color-error-content":"oklch(0% 0 0)","--radius-selector":"1rem","--radius-field":"0.5rem","--radius-box":"1rem","--size-selector":"0.25rem","--size-field":"0.25rem","--border":"1px","--depth":"0","--noise":"0"},caramellatte:{"color-scheme":"light","--color-base-100":"oklch(98% 0.016 73.684)","--color-base-200":"oklch(95% 0.038 75.164)","--color-base-300":"oklch(90% 0.076 70.697)","--color-base-content":"oklch(40% 0.123 38.172)","--color-primary":"oklch(0% 0 0)","--color-primary-content":"oklch(100% 0 0)","--color-secondary":"oklch(22.45% 0.075 37.85)","--color-secondary-content":"oklch(90% 0.076 70.697)","--color-accent":"oklch(46.44% 0.111 37.85)","--color-accent-content":"oklch(90% 0.076 70.697)","--color-neutral":"oklch(55% 0.195 38.402)","--color-neutral-content":"oklch(98% 0.016 73.684)","--color-info":"oklch(42% 0.199 265.638)","--color-info-content":"oklch(90% 0.076 70.697)","--color-success":"oklch(43% 0.095 166.913)","--color-success-content":"oklch(90% 0.076 70.697)","--color-warning":"oklch(82% 0.189 84.429)","--color-warning-content":"oklch(41% 0.112 45.904)","--color-error":"oklch(70% 0.191 22.216)","--color-error-content":"oklch(39% 0.141 25.723)","--radius-selector":"2rem","--radius-field":"0.5rem","--radius-box":"1rem","--size-selector":"0.25rem","--size-field":"0.25rem","--border":"2px","--depth":"1","--noise":"1"},black:{"color-scheme":"dark","--color-base-100":"oklch(0% 0 0)","--color-base-200":"oklch(19% 0 0)","--color-base-300":"oklch(22% 0 0)","--color-base-content":"oklch(87.609% 0 0)","--color-primary":"oklch(35% 0 0)","--color-primary-content":"oklch(100% 0 0)","--color-secondary":"oklch(35% 0 0)","--color-secondary-content":"oklch(100% 0 0)","--color-accent":"oklch(35% 0 0)","--color-accent-content":"oklch(100% 0 0)","--color-neutral":"oklch(35% 0 0)","--color-neutral-content":"oklch(100% 0 0)","--color-info":"oklch(45.201% 0.313 264.052)","--color-info-content":"oklch(89.04% 0.062 264.052)","--color-success":"oklch(51.975% 0.176 142.495)","--color-success-content":"oklch(90.395% 0.035 142.495)","--color-warning":"oklch(96.798% 0.211 109.769)","--color-warning-content":"oklch(19.359% 0.042 109.769)","--color-error":"oklch(62.795% 0.257 29.233)","--color-error-content":"oklch(12.559% 0.051 29.233)","--radius-selector":"0rem","--radius-field":"0rem","--radius-box":"0rem","--size-selector":"0.25rem","--size-field":"0.25rem","--border":"1px","--depth":"0","--noise":"0"},luxury:{"color-scheme":"dark","--color-base-100":"oklch(14.076% 0.004 285.822)","--color-base-200":"oklch(20.219% 0.004 308.229)","--color-base-300":"oklch(23.219% 0.004 308.229)","--color-base-content":"oklch(75.687% 0.123 76.89)","--color-primary":"oklch(100% 0 0)","--color-primary-content":"oklch(20% 0 0)","--color-secondary":"oklch(27.581% 0.064 261.069)","--color-secondary-content":"oklch(85.516% 0.012 261.069)","--color-accent":"oklch(36.674% 0.051 338.825)","--color-accent-content":"oklch(87.334% 0.01 338.825)","--color-neutral":"oklch(24.27% 0.057 59.825)","--color-neutral-content":"oklch(93.203% 0.089 90.861)","--color-info":"oklch(79.061% 0.121 237.133)","--color-info-content":"oklch(15.812% 0.024 237.133)","--color-success":"oklch(78.119% 0.192 132.154)","--color-success-content":"oklch(15.623% 0.038 132.154)","--color-warning":"oklch(86.127% 0.136 102.891)","--color-warning-content":"oklch(17.225% 0.027 102.891)","--color-error":"oklch(71.753% 0.176 22.568)","--color-error-content":"oklch(14.35% 0.035 22.568)","--radius-selector":"1rem","--radius-field":"0.5rem","--radius-box":"1rem","--size-selector":"0.25rem","--size-field":"0.25rem","--border":"1px","--depth":"1","--noise":"0"},wireframe:{"color-scheme":"light","--color-base-100":"oklch(100% 0 0)","--color-base-200":"oklch(97% 0 0)","--color-base-300":"oklch(94% 0 0)","--color-base-content":"oklch(20% 0 0)","--color-primary":"oklch(87% 0 0)","--color-primary-content":"oklch(26% 0 0)","--color-secondary":"oklch(87% 0 0)","--color-secondary-content":"oklch(26% 0 0)","--color-accent":"oklch(87% 0 0)","--color-accent-content":"oklch(26% 0 0)","--color-neutral":"oklch(87% 0 0)","--color-neutral-content":"oklch(26% 0 0)","--color-info":"oklch(44% 0.11 240.79)","--color-info-content":"oklch(90% 0.058 230.902)","--color-success":"oklch(43% 0.095 166.913)","--color-success-content":"oklch(90% 0.093 164.15)","--color-warning":"oklch(47% 0.137 46.201)","--color-warning-content":"oklch(92% 0.12 95.746)","--color-error":"oklch(44% 0.177 26.899)","--color-error-content":"oklch(88% 0.062 18.334)","--radius-selector":"0rem","--radius-field":"0.25rem","--radius-box":"0.25rem","--size-selector":"0.25rem","--size-field":"0.25rem","--border":"1px","--depth":"0","--noise":"0"},cupcake:{"color-scheme":"light","--color-base-100":"oklch(97.788% 0.004 56.375)","--color-base-200":"oklch(93.982% 0.007 61.449)","--color-base-300":"oklch(91.586% 0.006 53.44)","--color-base-content":"oklch(23.574% 0.066 313.189)","--color-primary":"oklch(85% 0.138 181.071)","--color-primary-content":"oklch(43% 0.078 188.216)","--color-secondary":"oklch(89% 0.061 343.231)","--color-secondary-content":"oklch(45% 0.187 3.815)","--color-accent":"oklch(90% 0.076 70.697)","--color-accent-content":"oklch(47% 0.157 37.304)","--color-neutral":"oklch(27% 0.006 286.033)","--color-neutral-content":"oklch(92% 0.004 286.32)","--color-info":"oklch(68% 0.169 237.323)","--color-info-content":"oklch(29% 0.066 243.157)","--color-success":"oklch(69% 0.17 162.48)","--color-success-content":"oklch(26% 0.051 172.552)","--color-warning":"oklch(79% 0.184 86.047)","--color-warning-content":"oklch(28% 0.066 53.813)","--color-error":"oklch(64% 0.246 16.439)","--color-error-content":"oklch(27% 0.105 12.094)","--radius-selector":"1rem","--radius-field":"2rem","--radius-box":"1rem","--size-selector":"0.25rem","--size-field":"0.25rem","--border":"2px","--depth":"1","--noise":"0"}};var J2,v2,kb,om,U2,gX;class OC extends TransformStream{constructor(e){super({transform:(n,i)=>J(this,U2,gX).call(this,n,i),flush:n=>J(this,U2,gX).call(this,`\r
|
||
`,n)});k(this,U2);k(this,J2,"");k(this,v2,!1);k(this,kb,!1);k(this,om,e=>e);z(this,v2,(e==null?void 0:e.allowCR)??!1),z(this,kb,(e==null?void 0:e.returnEmptyLines)??!1),z(this,om,(e==null?void 0:e.mapperFun)??m(this,om))}}J2=new WeakMap,v2=new WeakMap,kb=new WeakMap,om=new WeakMap,U2=new WeakSet,gX=function(e,n){for(e=m(this,J2)+e;;){const i=e.indexOf(`
|
||
`);if(m(this,v2)){const s=e.indexOf("\r");if(s!==-1&&s!==e.length-1&&(i===-1||i-1>s)){const a=m(this,om).call(this,e.slice(0,crOrLfIndex));(m(this,kb)||a)&&n.enqueue(a),e=e.slice(s+1);continue}}if(i!==-1){let s=i;e[i-1]==="\r"&&s--;const a=m(this,om).call(this,e.slice(0,s));(m(this,kb)||a)&&n.enqueue(a),e=e.slice(i+1);continue}break}z(this,J2,e)};const jC=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype);var Ir,E2,ou,Kc,ep,vx,Ux,Xx;let CC=(Xx=class{constructor(t,e){k(this,ep);k(this,Ir);k(this,E2);k(this,ou,!1);k(this,Kc);z(this,Ir,t),z(this,E2,e)}next(){const t=()=>J(this,ep,vx).call(this);return z(this,Kc,m(this,Kc)?m(this,Kc).then(t,t):t()),m(this,Kc)}return(t){const e=()=>J(this,ep,Ux).call(this,t);return m(this,Kc)?m(this,Kc).then(e,e):e()}},Ir=new WeakMap,E2=new WeakMap,ou=new WeakMap,Kc=new WeakMap,ep=new WeakSet,vx=async function(){if(m(this,ou))return{done:!0,value:void 0};let t;try{t=await m(this,Ir).read()}catch(e){throw z(this,Kc,void 0),z(this,ou,!0),m(this,Ir).releaseLock(),e}return t.done&&(z(this,Kc,void 0),z(this,ou,!0),m(this,Ir).releaseLock()),t},Ux=async function(t){if(m(this,ou))return{done:!0,value:t};if(z(this,ou,!0),!m(this,E2)){const e=m(this,Ir).cancel(t);return m(this,Ir).releaseLock(),await e,{done:!0,value:t}}return m(this,Ir).releaseLock(),{done:!0,value:t}},Xx);const _L=Symbol();function Ex(){return this[_L].next()}Object.defineProperty(Ex,"name",{value:"next"});function Kx(l){return this[_L].return(l)}Object.defineProperty(Kx,"name",{value:"return"});const FC=Object.create(jC,{next:{enumerable:!0,configurable:!0,writable:!0,value:Ex},return:{enumerable:!0,configurable:!0,writable:!0,value:Kx}});function JC(l,{preventCancel:t=!1}={}){const e=l.getReader(),n=new CC(e,t),i=Object.create(FC);return i[_L]=n,i}const xX=l=>!!l.toLowerCase,fX=l=>l===!0||l===!1,SX=l=>!xX(l)&&!isNaN(l)&&!fX(l);async function*vC(l){if(!l.body)throw new Error("Response body is empty");const t=l.body.pipeThrough(new TextDecoderStream).pipeThrough(new OC);for await(const e of JC(t))if(e.startsWith("data:")&&!e.endsWith("[DONE]"))yield JSON.parse(e.slice(5));else if(e.startsWith("error:")){const n=JSON.parse(e.slice(6));throw new Error(n.message||"Unknown error")}}const UC=l=>{if(navigator.clipboard&&window.isSecureContext)navigator.clipboard.writeText(l);else{const t=document.createElement("textarea");t.value=l,t.style.position="absolute",t.style.left="-999999px",document.body.prepend(t),t.select(),document.execCommand("copy")}};function EC(l){return l.map(t=>{if(t.role!=="user"||!t.extra)return{role:t.role,content:t.content};const e=[];for(const n of t.extra??[])if(n.type==="context")e.push({type:"text",text:n.content});else if(n.type==="textFile")e.push({type:"text",text:`File: ${n.name}
|
||
Content:
|
||
|
||
${n.content}`});else if(n.type==="imageFile")e.push({type:"image_url",image_url:{url:n.base64Url}});else if(n.type==="audioFile")e.push({type:"input_audio",input_audio:{data:n.base64Data,format:/wav/.test(n.mimeType)?"wav":"mp3"}});else throw new Error("Unknown extra type");return e.push({type:"text",text:t.content}),{role:t.role,content:e}})}function oz(l){let t=l.content;return typeof l.content!="string"&&(t=l.content.map(i=>i.type==="text"?i.text:"").join(`
|
||
`)),t}function KC(l,t){let e="";return t?(e=l.map(i=>{let s=oz(i);return i.role==="system"?s+`
|
||
***`:i.role==="assistant"?"Assistant:"+s:i.role==="user"?"User:"+s:i.role+":"+s}).join(`
|
||
`),e=e+`
|
||
Assistant:`):e=l.map(i=>{let s=oz(i);return i.role==="system"?s+`
|
||
***`:(i.role==="assistant"||i.role==="user",s)}).join(""),e}function PC(l){return console.debug({messages:l}),l.map(t=>{if(t.role!=="assistant")return t;const e=t.content;return{role:t.role,content:t.role==="assistant"?e.split(/<\/think>|<\|end\|>/).at(-1).trim():e}})}function es(l){return Object.entries(l).filter(([t,e])=>e).map(([t,e])=>t).join(" ")}const HC=l=>{const t=new URL(window.location.href);l.forEach(e=>{t.searchParams.delete(e)}),window.history.replaceState({},"",t.toString())},f1=async(l,t)=>{try{const e=await fetch(`${l}/v1/props`,{headers:{"Content-Type":"application/json",...t?{Authorization:`Bearer ${t}`}:{}}});return e.ok,await e.json()}catch(e){throw e}},QC=!1,hb=new URL(".",document.baseURI).href.toString().replace(/\/$/,""),Br={apiKey:"",completionType:"Chat",systemMessage:"You are a helpful assistant.",showTokensPerSecond:!1,showThoughtInProgress:!1,useServerDefaults:!1,excludeThoughtOnReq:!0,pasteLongTextToFileLen:2500,pdfAsImage:!1,reasoning_format:"auto",samplers:"kdypmxntw",temperature:.8,dynatemp_range:0,dynatemp_exponent:1,top_k:40,top_p:.95,min_p:.05,xtc_probability:0,xtc_threshold:.1,adaptive_target:-1,adaptive_decay:.9,top_n_sigma:0,typical_p:1,repeat_last_n:64,repeat_penalty:1,presence_penalty:0,frequency_penalty:0,dry_multiplier:0,dry_base:1.75,dry_allowed_length:2,dry_penalty_last_n:-1,max_tokens:-1,stop_string:"\\n\\n,\\nUser:",prefix_role:"true",custom:"",pyIntepreterEnabled:!1},BC={reasoning_format:"Specify how to parse reasoning content. none: reasoning content in content block. auto: reasoning content in reasoning_content. ",apiKey:"Set the API Key if you are using --api-key option for the server.",completionType:"Set completion type to be either chat or text",systemMessage:"The starting message that defines how model should behave.",pasteLongTextToFileLen:"On pasting long text, it will be converted to a file. You can control the file length by setting the value of this parameter. Value 0 means disable.",samplers:'The order at which samplers are applied, in simplified way. Default is "kdypmxntw": top_k->dry->typ_p->top_p->min_p->xtc->top_sigma->temperature->adaptive_p',temperature:"Controls the randomness of the generated text by affecting the probability distribution of the output tokens. Higher = more random, lower = more focused.",dynatemp_range:"Addon for the temperature sampler. The added value to the range of dynamic temperature, which adjusts probabilities by entropy of tokens.",dynatemp_exponent:"Addon for the temperature sampler. Smoothes out the probability redistribution based on the most probable token.",top_k:"Keeps only k top tokens.",top_p:"Limits tokens to those that together have a cumulative probability of at least p",min_p:"Limits tokens based on the minimum probability for a token to be considered, relative to the probability of the most likely token.",xtc_probability:"XTC sampler cuts out top tokens; this parameter controls the chance of cutting tokens at all. 0 disables XTC.",xtc_threshold:"XTC sampler cuts out top tokens; this parameter controls the token probability that is required to cut that token.",top_n_sigma:"Top-n-sigma sampling filters out low-value tokens by discarding tokens that fall more than n standard deviations below the maximum probability",typical_p:"Sorts and limits tokens based on the difference between log-probability and entropy.",repeat_last_n:"Last n tokens to consider for penalizing repetition",repeat_penalty:"Controls the repetition of token sequences in the generated text",presence_penalty:"Limits tokens based on whether they appear in the output or not.",frequency_penalty:"Limits tokens based on how often they appear in the output.",dry_multiplier:"DRY sampling reduces repetition in generated text even across long contexts. This parameter sets the DRY sampling multiplier.",dry_base:"DRY sampling reduces repetition in generated text even across long contexts. This parameter sets the DRY sampling base value.",dry_allowed_length:"DRY sampling reduces repetition in generated text even across long contexts. This parameter sets the allowed length for DRY sampling.",dry_penalty_last_n:"DRY sampling reduces repetition in generated text even across long contexts. This parameter sets DRY penalty for the last n tokens.",max_tokens:"The maximum number of token per output.",useServerDefaults:"When enabled, skip sending WebUI defaults (e.g., temperature) and use the server's default values instead.",stop_string:"List of stop string separated by comma. Not applied to chat completions.",prefix_role:"Whether to add Role at the start of each message. Not applied to chat completions.",adaptive_target:"Select tokens near this probability (valid range 0.0 to 1.0; <0 = disabled)",adaptive_decay:"Decay rate for target adaptation over time. lower values -> faster but less stable adaptation. (valid range 0.0 to 1.0; ≤0 = no adaptation)",custom:""};Object.entries(Br).filter(l=>SX(l[1])).map(l=>l[0]);const AC=["light","dark"].concat(Object.keys(Jx).filter(l=>l!=="light"&&l!=="dark"));var S1={exports:{}},_C=S1.exports,dz;function qC(){return dz||(dz=1,function(l,t){(function(e,n){l.exports=n()})(_C,function(){var e=function(W,G){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(I,R){I.__proto__=R}||function(I,R){for(var O in R)Object.prototype.hasOwnProperty.call(R,O)&&(I[O]=R[O])})(W,G)},n=function(){return(n=Object.assign||function(W){for(var G,I=1,R=arguments.length;I<R;I++)for(var O in G=arguments[I])Object.prototype.hasOwnProperty.call(G,O)&&(W[O]=G[O]);return W}).apply(this,arguments)};function i(W,G,I){for(var R,O=0,P=G.length;O<P;O++)!R&&O in G||((R=R||Array.prototype.slice.call(G,0,O))[O]=G[O]);return W.concat(R||Array.prototype.slice.call(G))}var s=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:tj,a=Object.keys,c=Array.isArray;function o(W,G){return typeof G!="object"||a(G).forEach(function(I){W[I]=G[I]}),W}typeof Promise>"u"||s.Promise||(s.Promise=Promise);var d=Object.getPrototypeOf,h={}.hasOwnProperty;function b(W,G){return h.call(W,G)}function p(W,G){typeof G=="function"&&(G=G(d(W))),(typeof Reflect>"u"?a:Reflect.ownKeys)(G).forEach(function(I){M(W,I,G[I])})}var y=Object.defineProperty;function M(W,G,I,R){y(W,G,o(I&&b(I,"get")&&typeof I.get=="function"?{get:I.get,set:I.set,configurable:!0}:{value:I,configurable:!0,writable:!0},R))}function T(W){return{from:function(G){return W.prototype=Object.create(G.prototype),M(W.prototype,"constructor",W),{extend:p.bind(null,W.prototype)}}}}var Y=Object.getOwnPropertyDescriptor,L=[].slice;function x(W,G,I){return L.call(W,G,I)}function g(W,G){return G(W)}function F(W){if(!W)throw new Error("Assertion Failed")}function j(W){s.setImmediate?setImmediate(W):setTimeout(W,0)}function D(W,G){if(typeof G=="string"&&b(W,G))return W[G];if(!G)return W;if(typeof G!="string"){for(var I=[],R=0,O=G.length;R<O;++R){var P=D(W,G[R]);I.push(P)}return I}var et=G.indexOf(".");if(et!==-1){var ct=W[G.substr(0,et)];return ct==null?void 0:D(ct,G.substr(et+1))}}function _(W,G,I){if(W&&G!==void 0&&!("isFrozen"in Object&&Object.isFrozen(W)))if(typeof G!="string"&&"length"in G){F(typeof I!="string"&&"length"in I);for(var R=0,O=G.length;R<O;++R)_(W,G[R],I[R])}else{var P,et,ct=G.indexOf(".");ct!==-1?(P=G.substr(0,ct),(et=G.substr(ct+1))===""?I===void 0?c(W)&&!isNaN(parseInt(P))?W.splice(P,1):delete W[P]:W[P]=I:_(ct=!(ct=W[P])||!b(W,P)?W[P]={}:ct,et,I)):I===void 0?c(W)&&!isNaN(parseInt(G))?W.splice(G,1):delete W[G]:W[G]=I}}function ut(W){var G,I={};for(G in W)b(W,G)&&(I[G]=W[G]);return I}var K=[].concat;function f(W){return K.apply([],W)}var Yt="BigUint64Array,BigInt64Array,Array,Boolean,String,Date,RegExp,Blob,File,FileList,FileSystemFileHandle,FileSystemDirectoryHandle,ArrayBuffer,DataView,Uint8ClampedArray,ImageBitmap,ImageData,Map,Set,CryptoKey".split(",").concat(f([8,16,32,64].map(function(W){return["Int","Uint","Float"].map(function(G){return G+W+"Array"})}))).filter(function(W){return s[W]}),lt=new Set(Yt.map(function(W){return s[W]})),tt=null;function ht(W){return tt=new WeakMap,W=function G(I){if(!I||typeof I!="object")return I;var R=tt.get(I);if(R)return R;if(c(I)){R=[],tt.set(I,R);for(var O=0,P=I.length;O<P;++O)R.push(G(I[O]))}else if(lt.has(I.constructor))R=I;else{var et,ct=d(I);for(et in R=ct===Object.prototype?{}:Object.create(ct),tt.set(I,R),I)b(I,et)&&(R[et]=G(I[et]))}return R}(W),tt=null,W}var dt={}.toString;function It(W){return dt.call(W).slice(8,-1)}var kt=typeof Symbol<"u"?Symbol.iterator:"@@iterator",Gt=typeof kt=="symbol"?function(W){var G;return W!=null&&(G=W[kt])&&G.apply(W)}:function(){return null};function gt(W,G){return G=W.indexOf(G),0<=G&&W.splice(G,1),0<=G}var vt={};function H(W){var G,I,R,O;if(arguments.length===1){if(c(W))return W.slice();if(this===vt&&typeof W=="string")return[W];if(O=Gt(W)){for(I=[];!(R=O.next()).done;)I.push(R.value);return I}if(W==null)return[W];if(typeof(G=W.length)!="number")return[W];for(I=new Array(G);G--;)I[G]=W[G];return I}for(G=arguments.length,I=new Array(G);G--;)I[G]=arguments[G];return I}var nt=typeof Symbol<"u"?function(W){return W[Symbol.toStringTag]==="AsyncFunction"}:function(){return!1},de=["Unknown","Constraint","Data","TransactionInactive","ReadOnly","Version","NotFound","InvalidState","InvalidAccess","Abort","Timeout","QuotaExceeded","Syntax","DataClone"],la=["Modify","Bulk","OpenFailed","VersionChange","Schema","Upgrade","InvalidTable","MissingAPI","NoSuchDatabase","InvalidArgument","SubTransaction","Unsupported","Internal","DatabaseClosed","PrematureCommit","ForeignAwait"].concat(de),bt={VersionChanged:"Database version changed by other database connection",DatabaseClosed:"Database has been closed",Abort:"Transaction aborted",TransactionInactive:"Transaction has already completed or failed",MissingAPI:"IndexedDB API missing. Please visit https://tinyurl.com/y2uuvskb"};function $(W,G){this.name=W,this.message=G}function _t(W,G){return W+". Errors: "+Object.keys(G).map(function(I){return G[I].toString()}).filter(function(I,R,O){return O.indexOf(I)===R}).join(`
|
||
`)}function ce(W,G,I,R){this.failures=G,this.failedKeys=R,this.successCount=I,this.message=_t(W,G)}function ne(W,G){this.name="BulkError",this.failures=Object.keys(G).map(function(I){return G[I]}),this.failuresByPos=G,this.message=_t(W,this.failures)}T($).from(Error).extend({toString:function(){return this.name+": "+this.message}}),T(ce).from($),T(ne).from($);var Nt=la.reduce(function(W,G){return W[G]=G+"Error",W},{}),xt=$,Zt=la.reduce(function(W,G){var I=G+"Error";function R(O,P){this.name=I,O?typeof O=="string"?(this.message="".concat(O).concat(P?`
|
||
`+P:""),this.inner=P||null):typeof O=="object"&&(this.message="".concat(O.name," ").concat(O.message),this.inner=O):(this.message=bt[G]||I,this.inner=null)}return T(R).from(xt),W[G]=R,W},{});Zt.Syntax=SyntaxError,Zt.Type=TypeError,Zt.Range=RangeError;var Ft=de.reduce(function(W,G){return W[G+"Error"]=Zt[G],W},{}),te=la.reduce(function(W,G){return["Syntax","Type","Range"].indexOf(G)===-1&&(W[G+"Error"]=Zt[G]),W},{});function he(){}function $e(W){return W}function je(W,G){return W==null||W===$e?G:function(I){return G(W(I))}}function xe(W,G){return function(){W.apply(this,arguments),G.apply(this,arguments)}}function Ke(W,G){return W===he?G:function(){var I=W.apply(this,arguments);I!==void 0&&(arguments[0]=I);var R=this.onsuccess,O=this.onerror;this.onsuccess=null,this.onerror=null;var P=G.apply(this,arguments);return R&&(this.onsuccess=this.onsuccess?xe(R,this.onsuccess):R),O&&(this.onerror=this.onerror?xe(O,this.onerror):O),P!==void 0?P:I}}function Vl(W,G){return W===he?G:function(){W.apply(this,arguments);var I=this.onsuccess,R=this.onerror;this.onsuccess=this.onerror=null,G.apply(this,arguments),I&&(this.onsuccess=this.onsuccess?xe(I,this.onsuccess):I),R&&(this.onerror=this.onerror?xe(R,this.onerror):R)}}function gl(W,G){return W===he?G:function(I){var R=W.apply(this,arguments);o(I,R);var O=this.onsuccess,P=this.onerror;return this.onsuccess=null,this.onerror=null,I=G.apply(this,arguments),O&&(this.onsuccess=this.onsuccess?xe(O,this.onsuccess):O),P&&(this.onerror=this.onerror?xe(P,this.onerror):P),R===void 0?I===void 0?void 0:I:o(R,I)}}function Pl(W,G){return W===he?G:function(){return G.apply(this,arguments)!==!1&&W.apply(this,arguments)}}function Ql(W,G){return W===he?G:function(){var I=W.apply(this,arguments);if(I&&typeof I.then=="function"){for(var R=this,O=arguments.length,P=new Array(O);O--;)P[O]=arguments[O];return I.then(function(){return G.apply(R,P)})}return G.apply(this,arguments)}}te.ModifyError=ce,te.DexieError=$,te.BulkError=ne;var El=typeof location<"u"&&/^(http|https):\/\/(localhost|127\.0\.0\.1)/.test(location.href);function pn(W){El=W}var sn={},qt=100,Yt=typeof Promise>"u"?[]:function(){var W=Promise.resolve();if(typeof crypto>"u"||!crypto.subtle)return[W,d(W),W];var G=crypto.subtle.digest("SHA-512",new Uint8Array([0]));return[G,d(G),W]}(),de=Yt[0],la=Yt[1],Yt=Yt[2],la=la&&la.then,Jt=de&&de.constructor,be=!!Yt,ee=function(W,G){fe.push([W,G]),C&&(queueMicrotask(Me),C=!1)},Q=!0,C=!0,q=[],mt=[],Vt=$e,ie={id:"global",global:!0,ref:0,unhandleds:[],onunhandled:he,pgp:!1,env:{},finalize:he},Ot=ie,fe=[],oe=0,_e=[];function $t(W){if(typeof this!="object")throw new TypeError("Promises must be constructed via new");this._listeners=[],this._lib=!1;var G=this._PSD=Ot;if(typeof W!="function"){if(W!==sn)throw new TypeError("Not a function");return this._state=arguments[1],this._value=arguments[2],void(this._state===!1&&Nl(this,this._value))}this._state=null,this._value=null,++G.ref,function I(R,O){try{O(function(P){if(R._state===null){if(P===R)throw new TypeError("A promise cannot be resolved with itself.");var et=R._lib&&ml();P&&typeof P.then=="function"?I(R,function(ct,yt){P instanceof $t?P._then(ct,yt):P.then(ct,yt)}):(R._state=!0,R._value=P,it(R)),et&&Ne()}},Nl.bind(null,R))}catch(P){Nl(R,P)}}(this,W)}var hl={get:function(){var W=Ot,G=Yn;function I(R,O){var P=this,et=!W.global&&(W!==Ot||G!==Yn),ct=et&&!Yl(),yt=new $t(function(Tt,zt){Et(P,new xl(ec(R,W,et,ct),ec(O,W,et,ct),Tt,zt,W))});return this._consoleTask&&(yt._consoleTask=this._consoleTask),yt}return I.prototype=sn,I},set:function(W){M(this,"then",W&&W.prototype===sn?hl:{get:function(){return W},set:hl.set})}};function xl(W,G,I,R,O){this.onFulfilled=typeof W=="function"?W:null,this.onRejected=typeof G=="function"?G:null,this.resolve=I,this.reject=R,this.psd=O}function Nl(W,G){var I,R;mt.push(G),W._state===null&&(I=W._lib&&ml(),G=Vt(G),W._state=!1,W._value=G,R=W,q.some(function(O){return O._value===R._value})||q.push(R),it(W),I&&Ne())}function it(W){var G=W._listeners;W._listeners=[];for(var I=0,R=G.length;I<R;++I)Et(W,G[I]);var O=W._PSD;--O.ref||O.finalize(),oe===0&&(++oe,ee(function(){--oe==0&&Ut()},[]))}function Et(W,G){if(W._state!==null){var I=W._state?G.onFulfilled:G.onRejected;if(I===null)return(W._state?G.resolve:G.reject)(W._value);++G.psd.ref,++oe,ee(le,[I,W,G])}else W._listeners.push(G)}function le(W,G,I){try{var R,O=G._value;!G._state&&mt.length&&(mt=[]),R=El&&G._consoleTask?G._consoleTask.run(function(){return W(O)}):W(O),G._state||mt.indexOf(O)!==-1||function(P){for(var et=q.length;et;)if(q[--et]._value===P._value)return q.splice(et,1)}(G),I.resolve(R)}catch(P){I.reject(P)}finally{--oe==0&&Ut(),--I.psd.ref||I.psd.finalize()}}function Me(){Ns(ie,function(){ml()&&Ne()})}function ml(){var W=Q;return C=Q=!1,W}function Ne(){var W,G,I;do for(;0<fe.length;)for(W=fe,fe=[],I=W.length,G=0;G<I;++G){var R=W[G];R[0].apply(null,R[1])}while(0<fe.length);C=Q=!0}function Ut(){var W=q;q=[],W.forEach(function(R){R._PSD.onunhandled.call(null,R._value,R)});for(var G=_e.slice(0),I=G.length;I;)G[--I]()}function At(W){return new $t(sn,!1,W)}function Qt(W,G){var I=Ot;return function(){var R=ml(),O=Ot;try{return Ln(I,!0),W.apply(this,arguments)}catch(P){G&&G(P)}finally{Ln(O,!1),R&&Ne()}}}p($t.prototype,{then:hl,_then:function(W,G){Et(this,new xl(null,null,W,G,Ot))},catch:function(W){if(arguments.length===1)return this.then(null,W);var G=W,I=arguments[1];return typeof G=="function"?this.then(null,function(R){return(R instanceof G?I:At)(R)}):this.then(null,function(R){return(R&&R.name===G?I:At)(R)})},finally:function(W){return this.then(function(G){return $t.resolve(W()).then(function(){return G})},function(G){return $t.resolve(W()).then(function(){return At(G)})})},timeout:function(W,G){var I=this;return W<1/0?new $t(function(R,O){var P=setTimeout(function(){return O(new Zt.Timeout(G))},W);I.then(R,O).finally(clearTimeout.bind(null,P))}):this}}),typeof Symbol<"u"&&Symbol.toStringTag&&M($t.prototype,Symbol.toStringTag,"Dexie.Promise"),ie.env=zi(),p($t,{all:function(){var W=H.apply(null,arguments).map(Hn);return new $t(function(G,I){W.length===0&&G([]);var R=W.length;W.forEach(function(O,P){return $t.resolve(O).then(function(et){W[P]=et,--R||G(W)},I)})})},resolve:function(W){return W instanceof $t?W:W&&typeof W.then=="function"?new $t(function(G,I){W.then(G,I)}):new $t(sn,!0,W)},reject:At,race:function(){var W=H.apply(null,arguments).map(Hn);return new $t(function(G,I){W.map(function(R){return $t.resolve(R).then(G,I)})})},PSD:{get:function(){return Ot},set:function(W){return Ot=W}},totalEchoes:{get:function(){return Yn}},newPSD:Il,usePSD:Ns,scheduler:{get:function(){return ee},set:function(W){ee=W}},rejectionMapper:{get:function(){return Vt},set:function(W){Vt=W}},follow:function(W,G){return new $t(function(I,R){return Il(function(O,P){var et=Ot;et.unhandleds=[],et.onunhandled=P,et.finalize=xe(function(){var ct,yt=this;ct=function(){yt.unhandleds.length===0?O():P(yt.unhandleds[0])},_e.push(function Tt(){ct(),_e.splice(_e.indexOf(Tt),1)}),++oe,ee(function(){--oe==0&&Ut()},[])},et.finalize),W()},G,I,R)})}}),Jt&&(Jt.allSettled&&M($t,"allSettled",function(){var W=H.apply(null,arguments).map(Hn);return new $t(function(G){W.length===0&&G([]);var I=W.length,R=new Array(I);W.forEach(function(O,P){return $t.resolve(O).then(function(et){return R[P]={status:"fulfilled",value:et}},function(et){return R[P]={status:"rejected",reason:et}}).then(function(){return--I||G(R)})})})}),Jt.any&&typeof AggregateError<"u"&&M($t,"any",function(){var W=H.apply(null,arguments).map(Hn);return new $t(function(G,I){W.length===0&&I(new AggregateError([]));var R=W.length,O=new Array(R);W.forEach(function(P,et){return $t.resolve(P).then(function(ct){return G(ct)},function(ct){O[et]=ct,--R||I(new AggregateError(O))})})})}),Jt.withResolvers&&($t.withResolvers=Jt.withResolvers));var Ve={awaits:0,echoes:0,id:0},He=0,hn=[],Bl=0,Yn=0,vi=0;function Il(W,G,I,R){var O=Ot,P=Object.create(O);return P.parent=O,P.ref=0,P.global=!1,P.id=++vi,ie.env,P.env=be?{Promise:$t,PromiseProp:{value:$t,configurable:!0,writable:!0},all:$t.all,race:$t.race,allSettled:$t.allSettled,any:$t.any,resolve:$t.resolve,reject:$t.reject}:{},G&&o(P,G),++O.ref,P.finalize=function(){--this.parent.ref||this.parent.finalize()},R=Ns(P,W,I,R),P.ref===0&&P.finalize(),R}function Pn(){return Ve.id||(Ve.id=++He),++Ve.awaits,Ve.echoes+=qt,Ve.id}function Yl(){return!!Ve.awaits&&(--Ve.awaits==0&&(Ve.id=0),Ve.echoes=Ve.awaits*qt,!0)}function Hn(W){return Ve.echoes&&W&&W.constructor===Jt?(Pn(),W.then(function(G){return Yl(),G},function(G){return Yl(),on(G)})):W}function Qn(){var W=hn[hn.length-1];hn.pop(),Ln(W,!1)}function Ln(W,G){var I,R=Ot;(G?!Ve.echoes||Bl++&&W===Ot:!Bl||--Bl&&W===Ot)||queueMicrotask(G?(function(O){++Yn,Ve.echoes&&--Ve.echoes!=0||(Ve.echoes=Ve.awaits=Ve.id=0),hn.push(Ot),Ln(O,!0)}).bind(null,W):Qn),W!==Ot&&(Ot=W,R===ie&&(ie.env=zi()),be&&(I=ie.env.Promise,G=W.env,(R.global||W.global)&&(Object.defineProperty(s,"Promise",G.PromiseProp),I.all=G.all,I.race=G.race,I.resolve=G.resolve,I.reject=G.reject,G.allSettled&&(I.allSettled=G.allSettled),G.any&&(I.any=G.any))))}function zi(){var W=s.Promise;return be?{Promise:W,PromiseProp:Object.getOwnPropertyDescriptor(s,"Promise"),all:W.all,race:W.race,allSettled:W.allSettled,any:W.any,resolve:W.resolve,reject:W.reject}:{}}function Ns(W,G,I,R,O){var P=Ot;try{return Ln(W,!0),G(I,R,O)}finally{Ln(P,!1)}}function ec(W,G,I,R){return typeof W!="function"?W:function(){var O=Ot;I&&Pn(),Ln(G,!0);try{return W.apply(this,arguments)}finally{Ln(O,!1),R&&queueMicrotask(Yl)}}}function si(W){Promise===Jt&&Ve.echoes===0?Bl===0?W():enqueueNativeMicroTask(W):setTimeout(W,0)}(""+la).indexOf("[native code]")===-1&&(Pn=Yl=he);var on=$t.reject,ui="",bl="Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.",Ms="String expected.",Ni=[],ns="__dbnames",mr="readonly",ye="readwrite";function Qe(W,G){return W?G?function(){return W.apply(this,arguments)&&G.apply(this,arguments)}:W:G}var wl={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function fl(W){return typeof W!="string"||/\./.test(W)?function(G){return G}:function(G){return G[W]===void 0&&W in G&&delete(G=ht(G))[W],G}}function On(){throw Zt.Type()}function ll(W,G){try{var I=Wa(W),R=Wa(G);if(I!==R)return I==="Array"?1:R==="Array"?-1:I==="binary"?1:R==="binary"?-1:I==="string"?1:R==="string"?-1:I==="Date"?1:R!=="Date"?NaN:-1;switch(I){case"number":case"Date":case"string":return G<W?1:W<G?-1:0;case"binary":return function(O,P){for(var et=O.length,ct=P.length,yt=et<ct?et:ct,Tt=0;Tt<yt;++Tt)if(O[Tt]!==P[Tt])return O[Tt]<P[Tt]?-1:1;return et===ct?0:et<ct?-1:1}(ao(W),ao(G));case"Array":return function(O,P){for(var et=O.length,ct=P.length,yt=et<ct?et:ct,Tt=0;Tt<yt;++Tt){var zt=ll(O[Tt],P[Tt]);if(zt!==0)return zt}return et===ct?0:et<ct?-1:1}(W,G)}}catch{}return NaN}function Wa(W){var G=typeof W;return G!="object"?G:ArrayBuffer.isView(W)?"binary":(W=It(W),W==="ArrayBuffer"?"binary":W)}function ao(W){return W instanceof Uint8Array?W:ArrayBuffer.isView(W)?new Uint8Array(W.buffer,W.byteOffset,W.byteLength):new Uint8Array(W)}var Ui=(kl.prototype._trans=function(W,G,I){var R=this._tx||Ot.trans,O=this.name,P=El&&typeof console<"u"&&console.createTask&&console.createTask("Dexie: ".concat(W==="readonly"?"read":"write"," ").concat(this.name));function et(Tt,zt,ot){if(!ot.schema[O])throw new Zt.NotFound("Table "+O+" not part of transaction");return G(ot.idbtrans,ot)}var ct=ml();try{var yt=R&&R.db._novip===this.db._novip?R===Ot.trans?R._promise(W,et,I):Il(function(){return R._promise(W,et,I)},{trans:R,transless:Ot.transless||Ot}):function Tt(zt,ot,ft,Wt){if(zt.idbdb&&(zt._state.openComplete||Ot.letThrough||zt._vip)){var wt=zt._createTransaction(ot,ft,zt._dbSchema);try{wt.create(),zt._state.PR1398_maxLoop=3}catch(St){return St.name===Nt.InvalidState&&zt.isOpen()&&0<--zt._state.PR1398_maxLoop?(console.warn("Dexie: Need to reopen db"),zt.close({disableAutoOpen:!1}),zt.open().then(function(){return Tt(zt,ot,ft,Wt)})):on(St)}return wt._promise(ot,function(St,Lt){return Il(function(){return Ot.trans=wt,Wt(St,Lt,wt)})}).then(function(St){if(ot==="readwrite")try{wt.idbtrans.commit()}catch{}return ot==="readonly"?St:wt._completion.then(function(){return St})})}if(zt._state.openComplete)return on(new Zt.DatabaseClosed(zt._state.dbOpenError));if(!zt._state.isBeingOpened){if(!zt._state.autoOpen)return on(new Zt.DatabaseClosed);zt.open().catch(he)}return zt._state.dbReadyPromise.then(function(){return Tt(zt,ot,ft,Wt)})}(this.db,W,[this.name],et);return P&&(yt._consoleTask=P,yt=yt.catch(function(Tt){return console.trace(Tt),on(Tt)})),yt}finally{ct&&Ne()}},kl.prototype.get=function(W,G){var I=this;return W&&W.constructor===Object?this.where(W).first(G):W==null?on(new Zt.Type("Invalid argument to Table.get()")):this._trans("readonly",function(R){return I.core.get({trans:R,key:W}).then(function(O){return I.hook.reading.fire(O)})}).then(G)},kl.prototype.where=function(W){if(typeof W=="string")return new this.db.WhereClause(this,W);if(c(W))return new this.db.WhereClause(this,"[".concat(W.join("+"),"]"));var G=a(W);if(G.length===1)return this.where(G[0]).equals(W[G[0]]);var I=this.schema.indexes.concat(this.schema.primKey).filter(function(ct){if(ct.compound&&G.every(function(Tt){return 0<=ct.keyPath.indexOf(Tt)})){for(var yt=0;yt<G.length;++yt)if(G.indexOf(ct.keyPath[yt])===-1)return!1;return!0}return!1}).sort(function(ct,yt){return ct.keyPath.length-yt.keyPath.length})[0];if(I&&this.db._maxKey!==ui){var P=I.keyPath.slice(0,G.length);return this.where(P).equals(P.map(function(yt){return W[yt]}))}!I&&El&&console.warn("The query ".concat(JSON.stringify(W)," on ").concat(this.name," would benefit from a ")+"compound index [".concat(G.join("+"),"]"));var R=this.schema.idxByName;function O(ct,yt){return ll(ct,yt)===0}var et=G.reduce(function(ot,yt){var Tt=ot[0],zt=ot[1],ot=R[yt],ft=W[yt];return[Tt||ot,Tt||!ot?Qe(zt,ot&&ot.multi?function(Wt){return Wt=D(Wt,yt),c(Wt)&&Wt.some(function(wt){return O(ft,wt)})}:function(Wt){return O(ft,D(Wt,yt))}):zt]},[null,null]),P=et[0],et=et[1];return P?this.where(P.name).equals(W[P.keyPath]).filter(et):I?this.filter(et):this.where(G).equals("")},kl.prototype.filter=function(W){return this.toCollection().and(W)},kl.prototype.count=function(W){return this.toCollection().count(W)},kl.prototype.offset=function(W){return this.toCollection().offset(W)},kl.prototype.limit=function(W){return this.toCollection().limit(W)},kl.prototype.each=function(W){return this.toCollection().each(W)},kl.prototype.toArray=function(W){return this.toCollection().toArray(W)},kl.prototype.toCollection=function(){return new this.db.Collection(new this.db.WhereClause(this))},kl.prototype.orderBy=function(W){return new this.db.Collection(new this.db.WhereClause(this,c(W)?"[".concat(W.join("+"),"]"):W))},kl.prototype.reverse=function(){return this.toCollection().reverse()},kl.prototype.mapToClass=function(W){var G,I=this.db,R=this.name;function O(){return G!==null&&G.apply(this,arguments)||this}(this.schema.mappedClass=W).prototype instanceof On&&(function(yt,Tt){if(typeof Tt!="function"&&Tt!==null)throw new TypeError("Class extends value "+String(Tt)+" is not a constructor or null");function zt(){this.constructor=yt}e(yt,Tt),yt.prototype=Tt===null?Object.create(Tt):(zt.prototype=Tt.prototype,new zt)}(O,G=W),Object.defineProperty(O.prototype,"db",{get:function(){return I},enumerable:!1,configurable:!0}),O.prototype.table=function(){return R},W=O);for(var P=new Set,et=W.prototype;et;et=d(et))Object.getOwnPropertyNames(et).forEach(function(yt){return P.add(yt)});function ct(yt){if(!yt)return yt;var Tt,zt=Object.create(W.prototype);for(Tt in yt)if(!P.has(Tt))try{zt[Tt]=yt[Tt]}catch{}return zt}return this.schema.readHook&&this.hook.reading.unsubscribe(this.schema.readHook),this.schema.readHook=ct,this.hook("reading",ct),W},kl.prototype.defineClass=function(){return this.mapToClass(function(W){o(this,W)})},kl.prototype.add=function(W,G){var I=this,R=this.schema.primKey,O=R.auto,P=R.keyPath,et=W;return P&&O&&(et=fl(P)(W)),this._trans("readwrite",function(ct){return I.core.mutate({trans:ct,type:"add",keys:G!=null?[G]:null,values:[et]})}).then(function(ct){return ct.numFailures?$t.reject(ct.failures[0]):ct.lastResult}).then(function(ct){if(P)try{_(W,P,ct)}catch{}return ct})},kl.prototype.update=function(W,G){return typeof W!="object"||c(W)?this.where(":id").equals(W).modify(G):(W=D(W,this.schema.primKey.keyPath),W===void 0?on(new Zt.InvalidArgument("Given object does not contain its primary key")):this.where(":id").equals(W).modify(G))},kl.prototype.put=function(W,G){var I=this,R=this.schema.primKey,O=R.auto,P=R.keyPath,et=W;return P&&O&&(et=fl(P)(W)),this._trans("readwrite",function(ct){return I.core.mutate({trans:ct,type:"put",values:[et],keys:G!=null?[G]:null})}).then(function(ct){return ct.numFailures?$t.reject(ct.failures[0]):ct.lastResult}).then(function(ct){if(P)try{_(W,P,ct)}catch{}return ct})},kl.prototype.delete=function(W){var G=this;return this._trans("readwrite",function(I){return G.core.mutate({trans:I,type:"delete",keys:[W]})}).then(function(I){return I.numFailures?$t.reject(I.failures[0]):void 0})},kl.prototype.clear=function(){var W=this;return this._trans("readwrite",function(G){return W.core.mutate({trans:G,type:"deleteRange",range:wl})}).then(function(G){return G.numFailures?$t.reject(G.failures[0]):void 0})},kl.prototype.bulkGet=function(W){var G=this;return this._trans("readonly",function(I){return G.core.getMany({keys:W,trans:I}).then(function(R){return R.map(function(O){return G.hook.reading.fire(O)})})})},kl.prototype.bulkAdd=function(W,G,I){var R=this,O=Array.isArray(G)?G:void 0,P=(I=I||(O?void 0:G))?I.allKeys:void 0;return this._trans("readwrite",function(et){var Tt=R.schema.primKey,ct=Tt.auto,Tt=Tt.keyPath;if(Tt&&O)throw new Zt.InvalidArgument("bulkAdd(): keys argument invalid on tables with inbound keys");if(O&&O.length!==W.length)throw new Zt.InvalidArgument("Arguments objects and keys must have the same length");var yt=W.length,Tt=Tt&&ct?W.map(fl(Tt)):W;return R.core.mutate({trans:et,type:"add",keys:O,values:Tt,wantResults:P}).then(function(wt){var ot=wt.numFailures,ft=wt.results,Wt=wt.lastResult,wt=wt.failures;if(ot===0)return P?ft:Wt;throw new ne("".concat(R.name,".bulkAdd(): ").concat(ot," of ").concat(yt," operations failed"),wt)})})},kl.prototype.bulkPut=function(W,G,I){var R=this,O=Array.isArray(G)?G:void 0,P=(I=I||(O?void 0:G))?I.allKeys:void 0;return this._trans("readwrite",function(et){var Tt=R.schema.primKey,ct=Tt.auto,Tt=Tt.keyPath;if(Tt&&O)throw new Zt.InvalidArgument("bulkPut(): keys argument invalid on tables with inbound keys");if(O&&O.length!==W.length)throw new Zt.InvalidArgument("Arguments objects and keys must have the same length");var yt=W.length,Tt=Tt&&ct?W.map(fl(Tt)):W;return R.core.mutate({trans:et,type:"put",keys:O,values:Tt,wantResults:P}).then(function(wt){var ot=wt.numFailures,ft=wt.results,Wt=wt.lastResult,wt=wt.failures;if(ot===0)return P?ft:Wt;throw new ne("".concat(R.name,".bulkPut(): ").concat(ot," of ").concat(yt," operations failed"),wt)})})},kl.prototype.bulkUpdate=function(W){var G=this,I=this.core,R=W.map(function(et){return et.key}),O=W.map(function(et){return et.changes}),P=[];return this._trans("readwrite",function(et){return I.getMany({trans:et,keys:R,cache:"clone"}).then(function(ct){var yt=[],Tt=[];W.forEach(function(ot,ft){var Wt=ot.key,wt=ot.changes,St=ct[ft];if(St){for(var Lt=0,jt=Object.keys(wt);Lt<jt.length;Lt++){var Pt=jt[Lt],Ht=wt[Pt];if(Pt===G.schema.primKey.keyPath){if(ll(Ht,Wt)!==0)throw new Zt.Constraint("Cannot update primary key in bulkUpdate()")}else _(St,Pt,Ht)}P.push(ft),yt.push(Wt),Tt.push(St)}});var zt=yt.length;return I.mutate({trans:et,type:"put",keys:yt,values:Tt,updates:{keys:R,changeSpecs:O}}).then(function(ot){var ft=ot.numFailures,Wt=ot.failures;if(ft===0)return zt;for(var wt=0,St=Object.keys(Wt);wt<St.length;wt++){var Lt,jt=St[wt],Pt=P[Number(jt)];Pt!=null&&(Lt=Wt[jt],delete Wt[jt],Wt[Pt]=Lt)}throw new ne("".concat(G.name,".bulkUpdate(): ").concat(ft," of ").concat(zt," operations failed"),Wt)})})})},kl.prototype.bulkDelete=function(W){var G=this,I=W.length;return this._trans("readwrite",function(R){return G.core.mutate({trans:R,type:"delete",keys:W})}).then(function(et){var O=et.numFailures,P=et.lastResult,et=et.failures;if(O===0)return P;throw new ne("".concat(G.name,".bulkDelete(): ").concat(O," of ").concat(I," operations failed"),et)})},kl);function kl(){}function Na(W){function G(et,ct){if(ct){for(var yt=arguments.length,Tt=new Array(yt-1);--yt;)Tt[yt-1]=arguments[yt];return I[et].subscribe.apply(null,Tt),W}if(typeof et=="string")return I[et]}var I={};G.addEventType=P;for(var R=1,O=arguments.length;R<O;++R)P(arguments[R]);return G;function P(et,ct,yt){if(typeof et!="object"){var Tt;ct=ct||Pl;var zt={subscribers:[],fire:yt=yt||he,subscribe:function(ot){zt.subscribers.indexOf(ot)===-1&&(zt.subscribers.push(ot),zt.fire=ct(zt.fire,ot))},unsubscribe:function(ot){zt.subscribers=zt.subscribers.filter(function(ft){return ft!==ot}),zt.fire=zt.subscribers.reduce(ct,yt)}};return I[et]=G[et]=zt}a(Tt=et).forEach(function(ot){var ft=Tt[ot];if(c(ft))P(ot,Tt[ot][0],Tt[ot][1]);else{if(ft!=="asap")throw new Zt.InvalidArgument("Invalid event config");var Wt=P(ot,$e,function(){for(var wt=arguments.length,St=new Array(wt);wt--;)St[wt]=arguments[wt];Wt.subscribers.forEach(function(Lt){j(function(){Lt.apply(null,St)})})})}})}}function ta(W,G){return T(G).from({prototype:W}),G}function ea(W,G){return!(W.filter||W.algorithm||W.or)&&(G?W.justLimit:!W.replayFilter)}function y0(W,G){W.filter=Qe(W.filter,G)}function W0(W,G,I){var R=W.replayFilter;W.replayFilter=R?function(){return Qe(R(),G())}:G,W.justLimit=I&&!R}function hr(W,G){if(W.isPrimKey)return G.primaryKey;var I=G.getIndexByKeyPath(W.index);if(!I)throw new Zt.Schema("KeyPath "+W.index+" on object store "+G.name+" is not indexed");return I}function N0(W,G,I){var R=hr(W,G.schema);return G.openCursor({trans:I,values:!W.keysOnly,reverse:W.dir==="prev",unique:!!W.unique,query:{index:R,range:W.range}})}function Ma(W,G,I,R){var O=W.replayFilter?Qe(W.filter,W.replayFilter()):W.filter;if(W.or){var P={},et=function(ct,yt,Tt){var zt,ot;O&&!O(yt,Tt,function(ft){return yt.stop(ft)},function(ft){return yt.fail(ft)})||((ot=""+(zt=yt.primaryKey))=="[object ArrayBuffer]"&&(ot=""+new Uint8Array(zt)),b(P,ot)||(P[ot]=!0,G(ct,yt,Tt)))};return Promise.all([W.or._iterate(et,I),kc(N0(W,R,I),W.algorithm,et,!W.keysOnly&&W.valueMapper)])}return kc(N0(W,R,I),Qe(W.algorithm,O),G,!W.keysOnly&&W.valueMapper)}function kc(W,G,I,R){var O=Qt(R?function(P,et,ct){return I(R(P),et,ct)}:I);return W.then(function(P){if(P)return P.start(function(){var et=function(){return P.continue()};G&&!G(P,function(ct){return et=ct},function(ct){P.stop(ct),et=he},function(ct){P.fail(ct),et=he})||O(P.value,P,function(ct){return et=ct}),et()})})}var Ei=(fd.prototype.execute=function(W){var G=this["@@propmod"];if(G.add!==void 0){var I=G.add;if(c(I))return i(i([],c(W)?W:[],!0),I).sort();if(typeof I=="number")return(Number(W)||0)+I;if(typeof I=="bigint")try{return BigInt(W)+I}catch{return BigInt(0)+I}throw new TypeError("Invalid term ".concat(I))}if(G.remove!==void 0){var R=G.remove;if(c(R))return c(W)?W.filter(function(O){return!R.includes(O)}).sort():[];if(typeof R=="number")return Number(W)-R;if(typeof R=="bigint")try{return BigInt(W)-R}catch{return BigInt(0)-R}throw new TypeError("Invalid subtrahend ".concat(R))}return I=(I=G.replacePrefix)===null||I===void 0?void 0:I[0],I&&typeof W=="string"&&W.startsWith(I)?G.replacePrefix[1]+W.substring(I.length):W},fd);function fd(W){this["@@propmod"]=W}var Al=(Se.prototype._read=function(W,G){var I=this._ctx;return I.error?I.table._trans(null,on.bind(null,I.error)):I.table._trans("readonly",W).then(G)},Se.prototype._write=function(W){var G=this._ctx;return G.error?G.table._trans(null,on.bind(null,G.error)):G.table._trans("readwrite",W,"locked")},Se.prototype._addAlgorithm=function(W){var G=this._ctx;G.algorithm=Qe(G.algorithm,W)},Se.prototype._iterate=function(W,G){return Ma(this._ctx,W,G,this._ctx.table.core)},Se.prototype.clone=function(W){var G=Object.create(this.constructor.prototype),I=Object.create(this._ctx);return W&&o(I,W),G._ctx=I,G},Se.prototype.raw=function(){return this._ctx.valueMapper=null,this},Se.prototype.each=function(W){var G=this._ctx;return this._read(function(I){return Ma(G,W,I,G.table.core)})},Se.prototype.count=function(W){var G=this;return this._read(function(I){var R=G._ctx,O=R.table.core;if(ea(R,!0))return O.count({trans:I,query:{index:hr(R,O.schema),range:R.range}}).then(function(et){return Math.min(et,R.limit)});var P=0;return Ma(R,function(){return++P,!1},I,O).then(function(){return P})}).then(W)},Se.prototype.sortBy=function(W,G){var I=W.split(".").reverse(),R=I[0],O=I.length-1;function P(yt,Tt){return Tt?P(yt[I[Tt]],Tt-1):yt[R]}var et=this._ctx.dir==="next"?1:-1;function ct(yt,Tt){return ll(P(yt,O),P(Tt,O))*et}return this.toArray(function(yt){return yt.sort(ct)}).then(G)},Se.prototype.toArray=function(W){var G=this;return this._read(function(I){var R=G._ctx;if(R.dir==="next"&&ea(R,!0)&&0<R.limit){var O=R.valueMapper,P=hr(R,R.table.core.schema);return R.table.core.query({trans:I,limit:R.limit,values:!0,query:{index:P,range:R.range}}).then(function(ct){return ct=ct.result,O?ct.map(O):ct})}var et=[];return Ma(R,function(ct){return et.push(ct)},I,R.table.core).then(function(){return et})},W)},Se.prototype.offset=function(W){var G=this._ctx;return W<=0||(G.offset+=W,ea(G)?W0(G,function(){var I=W;return function(R,O){return I===0||(I===1?--I:O(function(){R.advance(I),I=0}),!1)}}):W0(G,function(){var I=W;return function(){return--I<0}})),this},Se.prototype.limit=function(W){return this._ctx.limit=Math.min(this._ctx.limit,W),W0(this._ctx,function(){var G=W;return function(I,R,O){return--G<=0&&R(O),0<=G}},!0),this},Se.prototype.until=function(W,G){return y0(this._ctx,function(I,R,O){return!W(I.value)||(R(O),G)}),this},Se.prototype.first=function(W){return this.limit(1).toArray(function(G){return G[0]}).then(W)},Se.prototype.last=function(W){return this.reverse().first(W)},Se.prototype.filter=function(W){var G;return y0(this._ctx,function(I){return W(I.value)}),(G=this._ctx).isMatch=Qe(G.isMatch,W),this},Se.prototype.and=function(W){return this.filter(W)},Se.prototype.or=function(W){return new this.db.WhereClause(this._ctx.table,W,this)},Se.prototype.reverse=function(){return this._ctx.dir=this._ctx.dir==="prev"?"next":"prev",this._ondirectionchange&&this._ondirectionchange(this._ctx.dir),this},Se.prototype.desc=function(){return this.reverse()},Se.prototype.eachKey=function(W){var G=this._ctx;return G.keysOnly=!G.isMatch,this.each(function(I,R){W(R.key,R)})},Se.prototype.eachUniqueKey=function(W){return this._ctx.unique="unique",this.eachKey(W)},Se.prototype.eachPrimaryKey=function(W){var G=this._ctx;return G.keysOnly=!G.isMatch,this.each(function(I,R){W(R.primaryKey,R)})},Se.prototype.keys=function(W){var G=this._ctx;G.keysOnly=!G.isMatch;var I=[];return this.each(function(R,O){I.push(O.key)}).then(function(){return I}).then(W)},Se.prototype.primaryKeys=function(W){var G=this._ctx;if(G.dir==="next"&&ea(G,!0)&&0<G.limit)return this._read(function(R){var O=hr(G,G.table.core.schema);return G.table.core.query({trans:R,values:!1,limit:G.limit,query:{index:O,range:G.range}})}).then(function(R){return R.result}).then(W);G.keysOnly=!G.isMatch;var I=[];return this.each(function(R,O){I.push(O.primaryKey)}).then(function(){return I}).then(W)},Se.prototype.uniqueKeys=function(W){return this._ctx.unique="unique",this.keys(W)},Se.prototype.firstKey=function(W){return this.limit(1).keys(function(G){return G[0]}).then(W)},Se.prototype.lastKey=function(W){return this.reverse().firstKey(W)},Se.prototype.distinct=function(){var W=this._ctx,W=W.index&&W.table.schema.idxByName[W.index];if(!W||!W.multi)return this;var G={};return y0(this._ctx,function(O){var R=O.primaryKey.toString(),O=b(G,R);return G[R]=!0,!O}),this},Se.prototype.modify=function(W){var G=this,I=this._ctx;return this._write(function(R){var O,P,et;et=typeof W=="function"?W:(O=a(W),P=O.length,function(Lt){for(var jt=!1,Pt=0;Pt<P;++Pt){var Ht=O[Pt],Bt=W[Ht],Ze=D(Lt,Ht);Bt instanceof Ei?(_(Lt,Ht,Bt.execute(Ze)),jt=!0):Ze!==Bt&&(_(Lt,Ht,Bt),jt=!0)}return jt});var ct=I.table.core,ot=ct.schema.primaryKey,yt=ot.outbound,Tt=ot.extractKey,zt=200,ot=G.db._options.modifyChunkSize;ot&&(zt=typeof ot=="object"?ot[ct.name]||ot["*"]||200:ot);function ft(Lt,Ht){var Pt=Ht.failures,Ht=Ht.numFailures;wt+=Lt-Ht;for(var Bt=0,Ze=a(Pt);Bt<Ze.length;Bt++){var Ie=Ze[Bt];Wt.push(Pt[Ie])}}var Wt=[],wt=0,St=[];return G.clone().primaryKeys().then(function(Lt){function jt(Ht){var Bt=Math.min(zt,Lt.length-Ht);return ct.getMany({trans:R,keys:Lt.slice(Ht,Ht+Bt),cache:"immutable"}).then(function(Ze){for(var Ie=[],pe=[],Xe=yt?[]:null,ge=[],Ye=0;Ye<Bt;++Ye){var Oe=Ze[Ye],Xl={value:ht(Oe),primKey:Lt[Ht+Ye]};et.call(Xl,Xl.value,Xl)!==!1&&(Xl.value==null?ge.push(Lt[Ht+Ye]):yt||ll(Tt(Oe),Tt(Xl.value))===0?(pe.push(Xl.value),yt&&Xe.push(Lt[Ht+Ye])):(ge.push(Lt[Ht+Ye]),Ie.push(Xl.value)))}return Promise.resolve(0<Ie.length&&ct.mutate({trans:R,type:"add",values:Ie}).then(function(zl){for(var Dl in zl.failures)ge.splice(parseInt(Dl),1);ft(Ie.length,zl)})).then(function(){return(0<pe.length||Pt&&typeof W=="object")&&ct.mutate({trans:R,type:"put",keys:Xe,values:pe,criteria:Pt,changeSpec:typeof W!="function"&&W,isAdditionalChunk:0<Ht}).then(function(zl){return ft(pe.length,zl)})}).then(function(){return(0<ge.length||Pt&&W===co)&&ct.mutate({trans:R,type:"delete",keys:ge,criteria:Pt,isAdditionalChunk:0<Ht}).then(function(zl){return ft(ge.length,zl)})}).then(function(){return Lt.length>Ht+Bt&&jt(Ht+zt)})})}var Pt=ea(I)&&I.limit===1/0&&(typeof W!="function"||W===co)&&{index:I.index,range:I.range};return jt(0).then(function(){if(0<Wt.length)throw new ce("Error modifying one or more objects",Wt,wt,St);return Lt.length})})})},Se.prototype.delete=function(){var W=this._ctx,G=W.range;return ea(W)&&(W.isPrimKey||G.type===3)?this._write(function(I){var R=W.table.core.schema.primaryKey,O=G;return W.table.core.count({trans:I,query:{index:R,range:O}}).then(function(P){return W.table.core.mutate({trans:I,type:"deleteRange",range:O}).then(function(et){var ct=et.failures;if(et.lastResult,et.results,et=et.numFailures,et)throw new ce("Could not delete some values",Object.keys(ct).map(function(yt){return ct[yt]}),P-et);return P-et})})}):this.modify(co)},Se);function Se(){}var co=function(W,G){return G.value=null};function Bn(W,G){return W<G?-1:W===G?0:1}function an(W,G){return G<W?-1:W===G?0:1}function mi(W,G,I){return W=W instanceof Fe?new W.Collection(W):W,W._ctx.error=new(I||TypeError)(G),W}function is(W){return new W.Collection(W,function(){return we("")}).limit(0)}function lc(W,G,I,R){var O,P,et,ct,yt,Tt,zt,ot=I.length;if(!I.every(function(wt){return typeof wt=="string"}))return mi(W,Ms);function ft(wt){O=wt==="next"?function(Lt){return Lt.toUpperCase()}:function(Lt){return Lt.toLowerCase()},P=wt==="next"?function(Lt){return Lt.toLowerCase()}:function(Lt){return Lt.toUpperCase()},et=wt==="next"?Bn:an;var St=I.map(function(Lt){return{lower:P(Lt),upper:O(Lt)}}).sort(function(Lt,jt){return et(Lt.lower,jt.lower)});ct=St.map(function(Lt){return Lt.upper}),yt=St.map(function(Lt){return Lt.lower}),zt=(Tt=wt)==="next"?"":R}ft("next"),W=new W.Collection(W,function(){return ss(ct[0],yt[ot-1]+R)}),W._ondirectionchange=function(wt){ft(wt)};var Wt=0;return W._addAlgorithm(function(wt,St,Lt){var jt=wt.key;if(typeof jt!="string")return!1;var Pt=P(jt);if(G(Pt,yt,Wt))return!0;for(var Ht=null,Bt=Wt;Bt<ot;++Bt){var Ze=function(Ie,pe,Xe,ge,Ye,Oe){for(var Xl=Math.min(Ie.length,ge.length),zl=-1,Dl=0;Dl<Xl;++Dl){var Gs=pe[Dl];if(Gs!==ge[Dl])return Ye(Ie[Dl],Xe[Dl])<0?Ie.substr(0,Dl)+Xe[Dl]+Xe.substr(Dl+1):Ye(Ie[Dl],ge[Dl])<0?Ie.substr(0,Dl)+ge[Dl]+Xe.substr(Dl+1):0<=zl?Ie.substr(0,zl)+pe[zl]+Xe.substr(zl+1):null;Ye(Ie[Dl],Gs)<0&&(zl=Dl)}return Xl<ge.length&&Oe==="next"?Ie+Xe.substr(Ie.length):Xl<Ie.length&&Oe==="prev"?Ie.substr(0,Xe.length):zl<0?null:Ie.substr(0,zl)+ge[zl]+Xe.substr(zl+1)}(jt,Pt,ct[Bt],yt[Bt],et,Tt);Ze===null&&Ht===null?Wt=Bt+1:(Ht===null||0<et(Ht,Ze))&&(Ht=Ze)}return St(Ht!==null?function(){wt.continue(Ht+zt)}:Lt),!1}),W}function ss(W,G,I,R){return{type:2,lower:W,upper:G,lowerOpen:I,upperOpen:R}}function we(W){return{type:1,lower:W,upper:W}}var Fe=(Object.defineProperty(Ue.prototype,"Collection",{get:function(){return this._ctx.table.db.Collection},enumerable:!1,configurable:!0}),Ue.prototype.between=function(W,G,I,R){I=I!==!1,R=R===!0;try{return 0<this._cmp(W,G)||this._cmp(W,G)===0&&(I||R)&&(!I||!R)?is(this):new this.Collection(this,function(){return ss(W,G,!I,!R)})}catch{return mi(this,bl)}},Ue.prototype.equals=function(W){return W==null?mi(this,bl):new this.Collection(this,function(){return we(W)})},Ue.prototype.above=function(W){return W==null?mi(this,bl):new this.Collection(this,function(){return ss(W,void 0,!0)})},Ue.prototype.aboveOrEqual=function(W){return W==null?mi(this,bl):new this.Collection(this,function(){return ss(W,void 0,!1)})},Ue.prototype.below=function(W){return W==null?mi(this,bl):new this.Collection(this,function(){return ss(void 0,W,!1,!0)})},Ue.prototype.belowOrEqual=function(W){return W==null?mi(this,bl):new this.Collection(this,function(){return ss(void 0,W)})},Ue.prototype.startsWith=function(W){return typeof W!="string"?mi(this,Ms):this.between(W,W+ui,!0,!0)},Ue.prototype.startsWithIgnoreCase=function(W){return W===""?this.startsWith(W):lc(this,function(G,I){return G.indexOf(I[0])===0},[W],ui)},Ue.prototype.equalsIgnoreCase=function(W){return lc(this,function(G,I){return G===I[0]},[W],"")},Ue.prototype.anyOfIgnoreCase=function(){var W=H.apply(vt,arguments);return W.length===0?is(this):lc(this,function(G,I){return I.indexOf(G)!==-1},W,"")},Ue.prototype.startsWithAnyOfIgnoreCase=function(){var W=H.apply(vt,arguments);return W.length===0?is(this):lc(this,function(G,I){return I.some(function(R){return G.indexOf(R)===0})},W,ui)},Ue.prototype.anyOf=function(){var W=this,G=H.apply(vt,arguments),I=this._cmp;try{G.sort(I)}catch{return mi(this,bl)}if(G.length===0)return is(this);var R=new this.Collection(this,function(){return ss(G[0],G[G.length-1])});R._ondirectionchange=function(P){I=P==="next"?W._ascending:W._descending,G.sort(I)};var O=0;return R._addAlgorithm(function(P,et,ct){for(var yt=P.key;0<I(yt,G[O]);)if(++O===G.length)return et(ct),!1;return I(yt,G[O])===0||(et(function(){P.continue(G[O])}),!1)}),R},Ue.prototype.notEqual=function(W){return this.inAnyRange([[-1/0,W],[W,this.db._maxKey]],{includeLowers:!1,includeUppers:!1})},Ue.prototype.noneOf=function(){var W=H.apply(vt,arguments);if(W.length===0)return new this.Collection(this);try{W.sort(this._ascending)}catch{return mi(this,bl)}var G=W.reduce(function(I,R){return I?I.concat([[I[I.length-1][1],R]]):[[-1/0,R]]},null);return G.push([W[W.length-1],this.db._maxKey]),this.inAnyRange(G,{includeLowers:!1,includeUppers:!1})},Ue.prototype.inAnyRange=function(jt,G){var I=this,R=this._cmp,O=this._ascending,P=this._descending,et=this._min,ct=this._max;if(jt.length===0)return is(this);if(!jt.every(function(Pt){return Pt[0]!==void 0&&Pt[1]!==void 0&&O(Pt[0],Pt[1])<=0}))return mi(this,"First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower",Zt.InvalidArgument);var yt=!G||G.includeLowers!==!1,Tt=G&&G.includeUppers===!0,zt,ot=O;function ft(Pt,Ht){return ot(Pt[0],Ht[0])}try{(zt=jt.reduce(function(Pt,Ht){for(var Bt=0,Ze=Pt.length;Bt<Ze;++Bt){var Ie=Pt[Bt];if(R(Ht[0],Ie[1])<0&&0<R(Ht[1],Ie[0])){Ie[0]=et(Ie[0],Ht[0]),Ie[1]=ct(Ie[1],Ht[1]);break}}return Bt===Ze&&Pt.push(Ht),Pt},[])).sort(ft)}catch{return mi(this,bl)}var Wt=0,wt=Tt?function(Pt){return 0<O(Pt,zt[Wt][1])}:function(Pt){return 0<=O(Pt,zt[Wt][1])},St=yt?function(Pt){return 0<P(Pt,zt[Wt][0])}:function(Pt){return 0<=P(Pt,zt[Wt][0])},Lt=wt,jt=new this.Collection(this,function(){return ss(zt[0][0],zt[zt.length-1][1],!yt,!Tt)});return jt._ondirectionchange=function(Pt){ot=Pt==="next"?(Lt=wt,O):(Lt=St,P),zt.sort(ft)},jt._addAlgorithm(function(Pt,Ht,Bt){for(var Ze,Ie=Pt.key;Lt(Ie);)if(++Wt===zt.length)return Ht(Bt),!1;return!wt(Ze=Ie)&&!St(Ze)||(I._cmp(Ie,zt[Wt][1])===0||I._cmp(Ie,zt[Wt][0])===0||Ht(function(){ot===O?Pt.continue(zt[Wt][0]):Pt.continue(zt[Wt][1])}),!1)}),jt},Ue.prototype.startsWithAnyOf=function(){var W=H.apply(vt,arguments);return W.every(function(G){return typeof G=="string"})?W.length===0?is(this):this.inAnyRange(W.map(function(G){return[G,G+ui]})):mi(this,"startsWithAnyOf() only works with strings")},Ue);function Ue(){}function Ml(W){return Qt(function(G){return yn(G),W(G.target.error),!1})}function yn(W){W.stopPropagation&&W.stopPropagation(),W.preventDefault&&W.preventDefault()}var jn="storagemutated",M0="x-storagemutated-1",Ga=Na(null,jn),G0=(nc.prototype._lock=function(){return F(!Ot.global),++this._reculock,this._reculock!==1||Ot.global||(Ot.lockOwnerFor=this),this},nc.prototype._unlock=function(){if(F(!Ot.global),--this._reculock==0)for(Ot.global||(Ot.lockOwnerFor=null);0<this._blockedFuncs.length&&!this._locked();){var W=this._blockedFuncs.shift();try{Ns(W[1],W[0])}catch{}}return this},nc.prototype._locked=function(){return this._reculock&&Ot.lockOwnerFor!==this},nc.prototype.create=function(W){var G=this;if(!this.mode)return this;var I=this.db.idbdb,R=this.db._state.dbOpenError;if(F(!this.idbtrans),!W&&!I)switch(R&&R.name){case"DatabaseClosedError":throw new Zt.DatabaseClosed(R);case"MissingAPIError":throw new Zt.MissingAPI(R.message,R);default:throw new Zt.OpenFailed(R)}if(!this.active)throw new Zt.TransactionInactive;return F(this._completion._state===null),(W=this.idbtrans=W||(this.db.core||I).transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability})).onerror=Qt(function(O){yn(O),G._reject(W.error)}),W.onabort=Qt(function(O){yn(O),G.active&&G._reject(new Zt.Abort(W.error)),G.active=!1,G.on("abort").fire(O)}),W.oncomplete=Qt(function(){G.active=!1,G._resolve(),"mutatedParts"in W&&Ga.storagemutated.fire(W.mutatedParts)}),this},nc.prototype._promise=function(W,G,I){var R=this;if(W==="readwrite"&&this.mode!=="readwrite")return on(new Zt.ReadOnly("Transaction is readonly"));if(!this.active)return on(new Zt.TransactionInactive);if(this._locked())return new $t(function(P,et){R._blockedFuncs.push([function(){R._promise(W,G,I).then(P,et)},Ot])});if(I)return Il(function(){var P=new $t(function(et,ct){R._lock();var yt=G(et,ct,R);yt&&yt.then&&yt.then(et,ct)});return P.finally(function(){return R._unlock()}),P._lib=!0,P});var O=new $t(function(P,et){var ct=G(P,et,R);ct&&ct.then&&ct.then(P,et)});return O._lib=!0,O},nc.prototype._root=function(){return this.parent?this.parent._root():this},nc.prototype.waitFor=function(W){var G,I=this._root(),R=$t.resolve(W);I._waitingFor?I._waitingFor=I._waitingFor.then(function(){return R}):(I._waitingFor=R,I._waitingQueue=[],G=I.idbtrans.objectStore(I.storeNames[0]),function P(){for(++I._spinCount;I._waitingQueue.length;)I._waitingQueue.shift()();I._waitingFor&&(G.get(-1/0).onsuccess=P)}());var O=I._waitingFor;return new $t(function(P,et){R.then(function(ct){return I._waitingQueue.push(Qt(P.bind(null,ct)))},function(ct){return I._waitingQueue.push(Qt(et.bind(null,ct)))}).finally(function(){I._waitingFor===O&&(I._waitingFor=null)})})},nc.prototype.abort=function(){this.active&&(this.active=!1,this.idbtrans&&this.idbtrans.abort(),this._reject(new Zt.Abort))},nc.prototype.table=function(W){var G=this._memoizedTables||(this._memoizedTables={});if(b(G,W))return G[W];var I=this.schema[W];if(!I)throw new Zt.NotFound("Table "+W+" not part of transaction");return I=new this.db.Table(W,I,this),I.core=this.db.core.table(W),G[W]=I},nc);function nc(){}function xh(W,G,I,R,O,P,et){return{name:W,keyPath:G,unique:I,multi:R,auto:O,compound:P,src:(I&&!et?"&":"")+(R?"*":"")+(O?"++":"")+T0(G)}}function T0(W){return typeof W=="string"?W:W?"["+[].join.call(W,"+")+"]":""}function fh(W,G,I){return{name:W,primKey:G,indexes:I,mappedClass:null,idxByName:(R=function(O){return[O.name,O]},I.reduce(function(O,P,et){return et=R(P,et),et&&(O[et[0]]=et[1]),O},{}))};var R}var X0=function(W){try{return W.only([[]]),X0=function(){return[[]]},[[]]}catch{return X0=function(){return ui},ui}};function ro(W){return W==null?function(){}:typeof W=="string"?(G=W).split(".").length===1?function(I){return I[G]}:function(I){return D(I,G)}:function(I){return D(I,W)};var G}function Sd(W){return[].slice.call(W)}var Rd=0;function br(W){return W==null?":id":typeof W=="string"?W:"[".concat(W.join("+"),"]")}function QG(W,G,yt){function R(Lt){if(Lt.type===3)return null;if(Lt.type===4)throw new Error("Cannot convert never type to IDBKeyRange");var Wt=Lt.lower,wt=Lt.upper,St=Lt.lowerOpen,Lt=Lt.upperOpen;return Wt===void 0?wt===void 0?null:G.upperBound(wt,!!Lt):wt===void 0?G.lowerBound(Wt,!!St):G.bound(Wt,wt,!!St,!!Lt)}function O(ft){var Wt,wt=ft.name;return{name:wt,schema:ft,mutate:function(St){var Lt=St.trans,jt=St.type,Pt=St.keys,Ht=St.values,Bt=St.range;return new Promise(function(Ze,Ie){Ze=Qt(Ze);var pe=Lt.objectStore(wt),Xe=pe.keyPath==null,ge=jt==="put"||jt==="add";if(!ge&&jt!=="delete"&&jt!=="deleteRange")throw new Error("Invalid operation type: "+jt);var Ye,Oe=(Pt||Ht||{length:1}).length;if(Pt&&Ht&&Pt.length!==Ht.length)throw new Error("Given keys array must have same length as given values array.");if(Oe===0)return Ze({numFailures:0,failures:{},results:[],lastResult:void 0});function Xl(Cn){++Gs,yn(Cn)}var zl=[],Dl=[],Gs=0;if(jt==="deleteRange"){if(Bt.type===4)return Ze({numFailures:Gs,failures:Dl,results:[],lastResult:void 0});Bt.type===3?zl.push(Ye=pe.clear()):zl.push(Ye=pe.delete(R(Bt)))}else{var Xe=ge?Xe?[Ht,Pt]:[Ht,null]:[Pt,null],Gl=Xe[0],gi=Xe[1];if(ge)for(var xi=0;xi<Oe;++xi)zl.push(Ye=gi&&gi[xi]!==void 0?pe[jt](Gl[xi],gi[xi]):pe[jt](Gl[xi])),Ye.onerror=Xl;else for(xi=0;xi<Oe;++xi)zl.push(Ye=pe[jt](Gl[xi])),Ye.onerror=Xl}function S0(Cn){Cn=Cn.target.result,zl.forEach(function(Dc,R0){return Dc.error!=null&&(Dl[R0]=Dc.error)}),Ze({numFailures:Gs,failures:Dl,results:jt==="delete"?Pt:zl.map(function(Dc){return Dc.result}),lastResult:Cn})}Ye.onerror=function(Cn){Xl(Cn),S0(Cn)},Ye.onsuccess=S0})},getMany:function(St){var Lt=St.trans,jt=St.keys;return new Promise(function(Pt,Ht){Pt=Qt(Pt);for(var Bt,Ze=Lt.objectStore(wt),Ie=jt.length,pe=new Array(Ie),Xe=0,ge=0,Ye=function(zl){zl=zl.target,pe[zl._pos]=zl.result,++ge===Xe&&Pt(pe)},Oe=Ml(Ht),Xl=0;Xl<Ie;++Xl)jt[Xl]!=null&&((Bt=Ze.get(jt[Xl]))._pos=Xl,Bt.onsuccess=Ye,Bt.onerror=Oe,++Xe);Xe===0&&Pt(pe)})},get:function(St){var Lt=St.trans,jt=St.key;return new Promise(function(Pt,Ht){Pt=Qt(Pt);var Bt=Lt.objectStore(wt).get(jt);Bt.onsuccess=function(Ze){return Pt(Ze.target.result)},Bt.onerror=Ml(Ht)})},query:(Wt=Tt,function(St){return new Promise(function(Lt,jt){Lt=Qt(Lt);var Pt,Ht,Bt,Xe=St.trans,Ze=St.values,Ie=St.limit,Ye=St.query,pe=Ie===1/0?void 0:Ie,ge=Ye.index,Ye=Ye.range,Xe=Xe.objectStore(wt),ge=ge.isPrimaryKey?Xe:Xe.index(ge.name),Ye=R(Ye);if(Ie===0)return Lt({result:[]});Wt?((pe=Ze?ge.getAll(Ye,pe):ge.getAllKeys(Ye,pe)).onsuccess=function(Oe){return Lt({result:Oe.target.result})},pe.onerror=Ml(jt)):(Pt=0,Ht=!Ze&&"openKeyCursor"in ge?ge.openKeyCursor(Ye):ge.openCursor(Ye),Bt=[],Ht.onsuccess=function(Oe){var Xl=Ht.result;return Xl?(Bt.push(Ze?Xl.value:Xl.primaryKey),++Pt===Ie?Lt({result:Bt}):void Xl.continue()):Lt({result:Bt})},Ht.onerror=Ml(jt))})}),openCursor:function(St){var Lt=St.trans,jt=St.values,Pt=St.query,Ht=St.reverse,Bt=St.unique;return new Promise(function(Ze,Ie){Ze=Qt(Ze);var ge=Pt.index,pe=Pt.range,Xe=Lt.objectStore(wt),Xe=ge.isPrimaryKey?Xe:Xe.index(ge.name),ge=Ht?Bt?"prevunique":"prev":Bt?"nextunique":"next",Ye=!jt&&"openKeyCursor"in Xe?Xe.openKeyCursor(R(pe),ge):Xe.openCursor(R(pe),ge);Ye.onerror=Ml(Ie),Ye.onsuccess=Qt(function(Oe){var Xl,zl,Dl,Gs,Gl=Ye.result;Gl?(Gl.___id=++Rd,Gl.done=!1,Xl=Gl.continue.bind(Gl),zl=(zl=Gl.continuePrimaryKey)&&zl.bind(Gl),Dl=Gl.advance.bind(Gl),Gs=function(){throw new Error("Cursor not stopped")},Gl.trans=Lt,Gl.stop=Gl.continue=Gl.continuePrimaryKey=Gl.advance=function(){throw new Error("Cursor not started")},Gl.fail=Qt(Ie),Gl.next=function(){var gi=this,xi=1;return this.start(function(){return xi--?gi.continue():gi.stop()}).then(function(){return gi})},Gl.start=function(gi){function xi(){if(Ye.result)try{gi()}catch(Cn){Gl.fail(Cn)}else Gl.done=!0,Gl.start=function(){throw new Error("Cursor behind last entry")},Gl.stop()}var S0=new Promise(function(Cn,Dc){Cn=Qt(Cn),Ye.onerror=Ml(Dc),Gl.fail=Dc,Gl.stop=function(R0){Gl.stop=Gl.continue=Gl.continuePrimaryKey=Gl.advance=Gs,Cn(R0)}});return Ye.onsuccess=Qt(function(Cn){Ye.onsuccess=xi,xi()}),Gl.continue=Xl,Gl.continuePrimaryKey=zl,Gl.advance=Dl,xi(),S0},Ze(Gl)):Ze(null)},Ie)})},count:function(St){var Lt=St.query,jt=St.trans,Pt=Lt.index,Ht=Lt.range;return new Promise(function(Bt,Ze){var Ie=jt.objectStore(wt),pe=Pt.isPrimaryKey?Ie:Ie.index(Pt.name),Ie=R(Ht),pe=Ie?pe.count(Ie):pe.count();pe.onsuccess=Qt(function(Xe){return Bt(Xe.target.result)}),pe.onerror=Ml(Ze)})}}}var P,et,ct,zt=(et=yt,ct=Sd((P=W).objectStoreNames),{schema:{name:P.name,tables:ct.map(function(ft){return et.objectStore(ft)}).map(function(ft){var Wt=ft.keyPath,Lt=ft.autoIncrement,wt=c(Wt),St={},Lt={name:ft.name,primaryKey:{name:null,isPrimaryKey:!0,outbound:Wt==null,compound:wt,keyPath:Wt,autoIncrement:Lt,unique:!0,extractKey:ro(Wt)},indexes:Sd(ft.indexNames).map(function(jt){return ft.index(jt)}).map(function(Bt){var Pt=Bt.name,Ht=Bt.unique,Ze=Bt.multiEntry,Bt=Bt.keyPath,Ze={name:Pt,compound:c(Bt),keyPath:Bt,unique:Ht,multiEntry:Ze,extractKey:ro(Bt)};return St[br(Bt)]=Ze}),getIndexByKeyPath:function(jt){return St[br(jt)]}};return St[":id"]=Lt.primaryKey,Wt!=null&&(St[br(Wt)]=Lt.primaryKey),Lt})},hasGetAll:0<ct.length&&"getAll"in et.objectStore(ct[0])&&!(typeof navigator<"u"&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604)}),yt=zt.schema,Tt=zt.hasGetAll,zt=yt.tables.map(O),ot={};return zt.forEach(function(ft){return ot[ft.name]=ft}),{stack:"dbcore",transaction:W.transaction.bind(W),table:function(ft){if(!ot[ft])throw new Error("Table '".concat(ft,"' not found"));return ot[ft]},MIN_KEY:-1/0,MAX_KEY:X0(G),schema:yt}}function BG(W,G,I,R){var O=I.IDBKeyRange;return I.indexedDB,{dbcore:(R=QG(G,O,R),W.dbcore.reduce(function(P,et){return et=et.create,n(n({},P),et(P))},R))}}function kd(W,R){var I=R.db,R=BG(W._middlewares,I,W._deps,R);W.core=R.dbcore,W.tables.forEach(function(O){var P=O.name;W.core.schema.tables.some(function(et){return et.name===P})&&(O.core=W.core.table(P),W[P]instanceof W.Table&&(W[P].core=O.core))})}function oo(W,G,I,R){I.forEach(function(O){var P=R[O];G.forEach(function(et){var ct=function yt(Tt,zt){return Y(Tt,zt)||(Tt=d(Tt))&&yt(Tt,zt)}(et,O);(!ct||"value"in ct&&ct.value===void 0)&&(et===W.Transaction.prototype||et instanceof W.Transaction?M(et,O,{get:function(){return this.table(O)},set:function(yt){y(this,O,{value:yt,writable:!0,configurable:!0,enumerable:!0})}}):et[O]=new W.Table(O,P))})})}function Y0(W,G){G.forEach(function(I){for(var R in I)I[R]instanceof W.Table&&delete I[R]})}function vW(W,G){return W._cfg.version-G._cfg.version}function Zr(W,G,I,R){var O=W._dbSchema;I.objectStoreNames.contains("$meta")&&!O.$meta&&(O.$meta=fh("$meta",mo("")[0],[]),W._storeNames.push("$meta"));var P=W._createTransaction("readwrite",W._storeNames,O);P.create(I),P._completion.catch(R);var et=P._reject.bind(P),ct=Ot.transless||Ot;Il(function(){return Ot.trans=P,Ot.transless=ct,G!==0?(kd(W,I),Tt=G,((yt=P).storeNames.includes("$meta")?yt.table("$meta").get("version").then(function(zt){return zt??Tt}):$t.resolve(Tt)).then(function(zt){return ft=zt,Wt=P,wt=I,St=[],zt=(ot=W)._versions,Lt=ot._dbSchema=V0(0,ot.idbdb,wt),(zt=zt.filter(function(jt){return jt._cfg.version>=ft})).length!==0?(zt.forEach(function(jt){St.push(function(){var Pt=Lt,Ht=jt._cfg.dbschema;Ki(ot,Pt,wt),Ki(ot,Ht,wt),Lt=ot._dbSchema=Ht;var Bt=Dd(Pt,Ht);Bt.add.forEach(function(ge){Sh(wt,ge[0],ge[1].primKey,ge[1].indexes)}),Bt.change.forEach(function(ge){if(ge.recreate)throw new Zt.Upgrade("Not yet support for changing primary key");var Ye=wt.objectStore(ge.name);ge.add.forEach(function(Oe){return uo(Ye,Oe)}),ge.change.forEach(function(Oe){Ye.deleteIndex(Oe.name),uo(Ye,Oe)}),ge.del.forEach(function(Oe){return Ye.deleteIndex(Oe)})});var Ze=jt._cfg.contentUpgrade;if(Ze&&jt._cfg.version>ft){kd(ot,wt),Wt._memoizedTables={};var Ie=ut(Ht);Bt.del.forEach(function(ge){Ie[ge]=Pt[ge]}),Y0(ot,[ot.Transaction.prototype]),oo(ot,[ot.Transaction.prototype],a(Ie),Ie),Wt.schema=Ie;var pe,Xe=nt(Ze);return Xe&&Pn(),Bt=$t.follow(function(){var ge;(pe=Ze(Wt))&&Xe&&(ge=Yl.bind(null,null),pe.then(ge,ge))}),pe&&typeof pe.then=="function"?$t.resolve(pe):Bt.then(function(){return pe})}}),St.push(function(Pt){var Ht,Bt,Ze=jt._cfg.dbschema;Ht=Ze,Bt=Pt,[].slice.call(Bt.db.objectStoreNames).forEach(function(Ie){return Ht[Ie]==null&&Bt.db.deleteObjectStore(Ie)}),Y0(ot,[ot.Transaction.prototype]),oo(ot,[ot.Transaction.prototype],ot._storeNames,ot._dbSchema),Wt.schema=ot._dbSchema}),St.push(function(Pt){ot.idbdb.objectStoreNames.contains("$meta")&&(Math.ceil(ot.idbdb.version/10)===jt._cfg.version?(ot.idbdb.deleteObjectStore("$meta"),delete ot._dbSchema.$meta,ot._storeNames=ot._storeNames.filter(function(Ht){return Ht!=="$meta"})):Pt.objectStore("$meta").put(jt._cfg.version,"version"))})}),function jt(){return St.length?$t.resolve(St.shift()(Wt.idbtrans)).then(jt):$t.resolve()}().then(function(){L0(Lt,wt)})):$t.resolve();var ot,ft,Wt,wt,St,Lt}).catch(et)):(a(O).forEach(function(zt){Sh(I,zt,O[zt].primKey,O[zt].indexes)}),kd(W,I),void $t.follow(function(){return W.on.populate.fire(P)}).catch(et));var yt,Tt})}function up(W,G){L0(W._dbSchema,G),G.db.version%10!=0||G.objectStoreNames.contains("$meta")||G.db.createObjectStore("$meta").add(Math.ceil(G.db.version/10-1),"version");var I=V0(0,W.idbdb,G);Ki(W,W._dbSchema,G);for(var R=0,O=Dd(I,W._dbSchema).change;R<O.length;R++){var P=function(et){if(et.change.length||et.recreate)return console.warn("Unable to patch indexes of table ".concat(et.name," because it has changes on the type of index or primary key.")),{value:void 0};var ct=G.objectStore(et.name);et.add.forEach(function(yt){El&&console.debug("Dexie upgrade patch: Creating missing index ".concat(et.name,".").concat(yt.src)),uo(ct,yt)})}(O[R]);if(typeof P=="object")return P.value}}function Dd(W,G){var I,R={del:[],add:[],change:[]};for(I in W)G[I]||R.del.push(I);for(I in G){var O=W[I],P=G[I];if(O){var et={name:I,def:P,recreate:!1,del:[],add:[],change:[]};if(""+(O.primKey.keyPath||"")!=""+(P.primKey.keyPath||"")||O.primKey.auto!==P.primKey.auto)et.recreate=!0,R.change.push(et);else{var ct=O.idxByName,yt=P.idxByName,Tt=void 0;for(Tt in ct)yt[Tt]||et.del.push(Tt);for(Tt in yt){var zt=ct[Tt],ot=yt[Tt];zt?zt.src!==ot.src&&et.change.push(ot):et.add.push(ot)}(0<et.del.length||0<et.add.length||0<et.change.length)&&R.change.push(et)}}else R.add.push([I,P])}return R}function Sh(W,G,I,R){var O=W.db.createObjectStore(G,I.keyPath?{keyPath:I.keyPath,autoIncrement:I.auto}:{autoIncrement:I.auto});return R.forEach(function(P){return uo(O,P)}),O}function L0(W,G){a(W).forEach(function(I){G.db.objectStoreNames.contains(I)||(El&&console.debug("Dexie: Creating missing table",I),Sh(G,I,W[I].primKey,W[I].indexes))})}function uo(W,G){W.createIndex(G.name,G.keyPath,{unique:G.unique,multiEntry:G.multi})}function V0(W,G,I){var R={};return x(G.objectStoreNames,0).forEach(function(O){for(var P=I.objectStore(O),et=xh(T0(Tt=P.keyPath),Tt||"",!0,!1,!!P.autoIncrement,Tt&&typeof Tt!="string",!0),ct=[],yt=0;yt<P.indexNames.length;++yt){var zt=P.index(P.indexNames[yt]),Tt=zt.keyPath,zt=xh(zt.name,Tt,!!zt.unique,!!zt.multiEntry,!1,Tt&&typeof Tt!="string",!1);ct.push(zt)}R[O]=fh(O,et,ct)}),R}function Ki(W,G,I){for(var R=I.db.objectStoreNames,O=0;O<R.length;++O){var P=R[O],et=I.objectStore(P);W._hasGetAll="getAll"in et;for(var ct=0;ct<et.indexNames.length;++ct){var yt=et.indexNames[ct],Tt=et.index(yt).keyPath,zt=typeof Tt=="string"?Tt:"["+x(Tt).join("+")+"]";!G[P]||(Tt=G[P].idxByName[zt])&&(Tt.name=yt,delete G[P].idxByName[zt],G[P].idxByName[yt]=Tt)}}typeof navigator<"u"&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&s.WorkerGlobalScope&&s instanceof s.WorkerGlobalScope&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604&&(W._hasGetAll=!1)}function mo(W){return W.split(",").map(function(G,I){var R=(G=G.trim()).replace(/([&*]|\+\+)/g,""),O=/^\[/.test(R)?R.match(/^\[(.*)\]$/)[1].split("+"):R;return xh(R,O||null,/\&/.test(G),/\*/.test(G),/\+\+/.test(G),c(O),I===0)})}var mp=(pr.prototype._parseStoresSpec=function(W,G){a(W).forEach(function(I){if(W[I]!==null){var R=mo(W[I]),O=R.shift();if(O.unique=!0,O.multi)throw new Zt.Schema("Primary key cannot be multi-valued");R.forEach(function(P){if(P.auto)throw new Zt.Schema("Only primary key can be marked as autoIncrement (++)");if(!P.keyPath)throw new Zt.Schema("Index must have a name and cannot be an empty string")}),G[I]=fh(I,O,R)}})},pr.prototype.stores=function(I){var G=this.db;this._cfg.storesSource=this._cfg.storesSource?o(this._cfg.storesSource,I):I;var I=G._versions,R={},O={};return I.forEach(function(P){o(R,P._cfg.storesSource),O=P._cfg.dbschema={},P._parseStoresSpec(R,O)}),G._dbSchema=O,Y0(G,[G._allTables,G,G.Transaction.prototype]),oo(G,[G._allTables,G,G.Transaction.prototype,this._cfg.tables],a(O),O),G._storeNames=a(O),this},pr.prototype.upgrade=function(W){return this._cfg.contentUpgrade=Ql(this._cfg.contentUpgrade||he,W),this},pr);function pr(){}function hp(W,G){var I=W._dbNamesDB;return I||(I=W._dbNamesDB=new ic(ns,{addons:[],indexedDB:W,IDBKeyRange:G})).version(1).stores({dbnames:"name"}),I.table("dbnames")}function I0(W){return W&&typeof W.databases=="function"}function w0(W){return Il(function(){return Ot.letThrough=!0,W()})}function ho(W){return!("from"in W)}var hi=function(W,G){if(!this){var I=new hi;return W&&"d"in W&&o(I,W),I}o(this,arguments.length?{d:1,from:W,to:1<arguments.length?G:W}:{d:0})};function Od(W,G,I){var R=ll(G,I);if(!isNaN(R)){if(0<R)throw RangeError();if(ho(W))return o(W,{from:G,to:I,d:1});var O=W.l,R=W.r;if(ll(I,W.from)<0)return O?Od(O,G,I):W.l={from:G,to:I,d:1,l:null,r:null},kh(W);if(0<ll(G,W.to))return R?Od(R,G,I):W.r={from:G,to:I,d:1,l:null,r:null},kh(W);ll(G,W.from)<0&&(W.from=G,W.l=null,W.d=R?R.d+1:1),0<ll(I,W.to)&&(W.to=I,W.r=null,W.d=W.l?W.l.d+1:1),I=!W.r,O&&!W.l&&z0(W,O),R&&I&&z0(W,R)}}function z0(W,G){ho(G)||function I(R,yt){var P=yt.from,et=yt.to,ct=yt.l,yt=yt.r;Od(R,P,et),ct&&I(R,ct),yt&&I(R,yt)}(W,G)}function UW(W,G){var I=Rh(G),R=I.next();if(R.done)return!1;for(var O=R.value,P=Rh(W),et=P.next(O.from),ct=et.value;!R.done&&!et.done;){if(ll(ct.from,O.to)<=0&&0<=ll(ct.to,O.from))return!0;ll(O.from,ct.from)<0?O=(R=I.next(ct.from)).value:ct=(et=P.next(O.from)).value}return!1}function Rh(W){var G=ho(W)?null:{s:0,n:W};return{next:function(I){for(var R=0<arguments.length;G;)switch(G.s){case 0:if(G.s=1,R)for(;G.n.l&&ll(I,G.n.from)<0;)G={up:G,n:G.n.l,s:1};else for(;G.n.l;)G={up:G,n:G.n.l,s:1};case 1:if(G.s=2,!R||ll(I,G.n.to)<=0)return{value:G.n,done:!1};case 2:if(G.n.r){G.s=3,G={up:G,n:G.n.r,s:0};continue}case 3:G=G.up}return{done:!0}}}}function kh(W){var G,I,R=(((G=W.r)===null||G===void 0?void 0:G.d)||0)-(((I=W.l)===null||I===void 0?void 0:I.d)||0),O=1<R?"r":R<-1?"l":"";O&&(G=O=="r"?"l":"r",I=n({},W),R=W[O],W.from=R.from,W.to=R.to,W[O]=R[O],I[O]=R[G],(W[G]=I).d=EW(I)),W.d=EW(W)}function EW(I){var G=I.r,I=I.l;return(G?I?Math.max(G.d,I.d):G.d:I?I.d:0)+1}function Dh(W,G){return a(G).forEach(function(I){W[I]?z0(W[I],G[I]):W[I]=function R(O){var P,et,ct={};for(P in O)b(O,P)&&(et=O[P],ct[P]=!et||typeof et!="object"||lt.has(et.constructor)?et:R(et));return ct}(G[I])}),W}function bp(W,G){return W.all||G.all||Object.keys(W).some(function(I){return G[I]&&UW(G[I],W[I])})}p(hi.prototype,((la={add:function(W){return z0(this,W),this},addKey:function(W){return Od(this,W,W),this},addKeys:function(W){var G=this;return W.forEach(function(I){return Od(G,I,I)}),this},hasKey:function(W){var G=Rh(this).next(W).value;return G&&ll(G.from,W)<=0&&0<=ll(G.to,W)}})[kt]=function(){return Rh(this)},la));var bo={},Zp={},Oh=!1;function jh(W){Dh(Zp,W),Oh||(Oh=!0,setTimeout(function(){Oh=!1,pp(Zp,!(Zp={}))},0))}function pp(W,G){G===void 0&&(G=!1);var I=new Set;if(W.all)for(var R=0,O=Object.values(bo);R<O.length;R++)KW(et=O[R],W,I,G);else for(var P in W){var et,ct=/^idb\:\/\/(.*)\/(.*)\//.exec(P);ct&&(P=ct[1],ct=ct[2],(et=bo["idb://".concat(P,"/").concat(ct)])&&KW(et,W,I,G))}I.forEach(function(yt){return yt()})}function KW(W,G,I,R){for(var O=[],P=0,et=Object.entries(W.queries.query);P<et.length;P++){for(var ct=et[P],yt=ct[0],Tt=[],zt=0,ot=ct[1];zt<ot.length;zt++){var ft=ot[zt];bp(G,ft.obsSet)?ft.subscribers.forEach(function(Lt){return I.add(Lt)}):R&&Tt.push(ft)}R&&O.push([yt,Tt])}if(R)for(var Wt=0,wt=O;Wt<wt.length;Wt++){var St=wt[Wt],yt=St[0],Tt=St[1];W.queries.query[yt]=Tt}}function AG(W){var G=W._state,I=W._deps.indexedDB;if(G.isBeingOpened||W.idbdb)return G.dbReadyPromise.then(function(){return G.dbOpenError?on(G.dbOpenError):W});G.isBeingOpened=!0,G.dbOpenError=null,G.openComplete=!1;var R=G.openCanceller,O=Math.round(10*W.verno),P=!1;function et(){if(G.openCanceller!==R)throw new Zt.DatabaseClosed("db.open() was cancelled")}function ct(){return new $t(function(ft,Wt){if(et(),!I)throw new Zt.MissingAPI;var wt=W.name,St=G.autoSchema||!O?I.open(wt):I.open(wt,O);if(!St)throw new Zt.MissingAPI;St.onerror=Ml(Wt),St.onblocked=Qt(W._fireOnBlocked),St.onupgradeneeded=Qt(function(Lt){var jt;zt=St.transaction,G.autoSchema&&!W._options.allowEmptyDB?(St.onerror=yn,zt.abort(),St.result.close(),(jt=I.deleteDatabase(wt)).onsuccess=jt.onerror=Qt(function(){Wt(new Zt.NoSuchDatabase("Database ".concat(wt," doesnt exist")))})):(zt.onerror=Ml(Wt),Lt=Lt.oldVersion>Math.pow(2,62)?0:Lt.oldVersion,ot=Lt<1,W.idbdb=St.result,P&&up(W,zt),Zr(W,Lt/10,zt,Wt))},Wt),St.onsuccess=Qt(function(){zt=null;var Lt,jt,Pt,Ht,Bt,Ze=W.idbdb=St.result,Ie=x(Ze.objectStoreNames);if(0<Ie.length)try{var pe=Ze.transaction((Ht=Ie).length===1?Ht[0]:Ht,"readonly");if(G.autoSchema)jt=Ze,Pt=pe,(Lt=W).verno=jt.version/10,Pt=Lt._dbSchema=V0(0,jt,Pt),Lt._storeNames=x(jt.objectStoreNames,0),oo(Lt,[Lt._allTables],a(Pt),Pt);else if(Ki(W,W._dbSchema,pe),((Bt=Dd(V0(0,(Bt=W).idbdb,pe),Bt._dbSchema)).add.length||Bt.change.some(function(Xe){return Xe.add.length||Xe.change.length}))&&!P)return console.warn("Dexie SchemaDiff: Schema was extended without increasing the number passed to db.version(). Dexie will add missing parts and increment native version number to workaround this."),Ze.close(),O=Ze.version+1,P=!0,ft(ct());kd(W,pe)}catch{}Ni.push(W),Ze.onversionchange=Qt(function(Xe){G.vcFired=!0,W.on("versionchange").fire(Xe)}),Ze.onclose=Qt(function(Xe){W.on("close").fire(Xe)}),ot&&(Bt=W._deps,pe=wt,Ze=Bt.indexedDB,Bt=Bt.IDBKeyRange,I0(Ze)||pe===ns||hp(Ze,Bt).put({name:pe}).catch(he)),ft()},Wt)}).catch(function(ft){switch(ft==null?void 0:ft.name){case"UnknownError":if(0<G.PR1398_maxLoop)return G.PR1398_maxLoop--,console.warn("Dexie: Workaround for Chrome UnknownError on open()"),ct();break;case"VersionError":if(0<O)return O=0,ct()}return $t.reject(ft)})}var yt,Tt=G.dbReadyResolve,zt=null,ot=!1;return $t.race([R,(typeof navigator>"u"?$t.resolve():!navigator.userAgentData&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\//.test(navigator.userAgent)&&indexedDB.databases?new Promise(function(ft){function Wt(){return indexedDB.databases().finally(ft)}yt=setInterval(Wt,100),Wt()}).finally(function(){return clearInterval(yt)}):Promise.resolve()).then(ct)]).then(function(){return et(),G.onReadyBeingFired=[],$t.resolve(w0(function(){return W.on.ready.fire(W.vip)})).then(function ft(){if(0<G.onReadyBeingFired.length){var Wt=G.onReadyBeingFired.reduce(Ql,he);return G.onReadyBeingFired=[],$t.resolve(w0(function(){return Wt(W.vip)})).then(ft)}})}).finally(function(){G.openCanceller===R&&(G.onReadyBeingFired=null,G.isBeingOpened=!1)}).catch(function(ft){G.dbOpenError=ft;try{zt&&zt.abort()}catch{}return R===G.openCanceller&&W._close(),on(ft)}).finally(function(){G.openComplete=!0,Tt()}).then(function(){var ft;return ot&&(ft={},W.tables.forEach(function(Wt){Wt.schema.indexes.forEach(function(wt){wt.name&&(ft["idb://".concat(W.name,"/").concat(Wt.name,"/").concat(wt.name)]=new hi(-1/0,[[[]]]))}),ft["idb://".concat(W.name,"/").concat(Wt.name,"/")]=ft["idb://".concat(W.name,"/").concat(Wt.name,"/:dels")]=new hi(-1/0,[[[]]])}),Ga(jn).fire(ft),pp(ft,!0)),W})}function g0(W){function G(P){return W.next(P)}var I=O(G),R=O(function(P){return W.throw(P)});function O(P){return function(yt){var ct=P(yt),yt=ct.value;return ct.done?yt:yt&&typeof yt.then=="function"?yt.then(I,R):c(yt)?Promise.all(yt).then(I,R):I(yt)}}return O(G)()}function Ch(W,G,I){for(var R=c(W)?W.slice():[W],O=0;O<I;++O)R.push(G);return R}var _G={stack:"dbcore",name:"VirtualIndexMiddleware",level:1,create:function(W){return n(n({},W),{table:function(G){var I=W.table(G),R=I.schema,O={},P=[];function et(ot,ft,Wt){var wt=br(ot),St=O[wt]=O[wt]||[],Lt=ot==null?0:typeof ot=="string"?1:ot.length,jt=0<ft,jt=n(n({},Wt),{name:jt?"".concat(wt,"(virtual-from:").concat(Wt.name,")"):Wt.name,lowLevelIndex:Wt,isVirtual:jt,keyTail:ft,keyLength:Lt,extractKey:ro(ot),unique:!jt&&Wt.unique});return St.push(jt),jt.isPrimaryKey||P.push(jt),1<Lt&&et(Lt===2?ot[0]:ot.slice(0,Lt-1),ft+1,Wt),St.sort(function(Pt,Ht){return Pt.keyTail-Ht.keyTail}),jt}G=et(R.primaryKey.keyPath,0,R.primaryKey),O[":id"]=[G];for(var ct=0,yt=R.indexes;ct<yt.length;ct++){var Tt=yt[ct];et(Tt.keyPath,0,Tt)}function zt(ot){var ft,Wt=ot.query.index;return Wt.isVirtual?n(n({},ot),{query:{index:Wt.lowLevelIndex,range:(ft=ot.query.range,Wt=Wt.keyTail,{type:ft.type===1?2:ft.type,lower:Ch(ft.lower,ft.lowerOpen?W.MAX_KEY:W.MIN_KEY,Wt),lowerOpen:!0,upper:Ch(ft.upper,ft.upperOpen?W.MIN_KEY:W.MAX_KEY,Wt),upperOpen:!0})}}):ot}return n(n({},I),{schema:n(n({},R),{primaryKey:G,indexes:P,getIndexByKeyPath:function(ot){return(ot=O[br(ot)])&&ot[0]}}),count:function(ot){return I.count(zt(ot))},query:function(ot){return I.query(zt(ot))},openCursor:function(ot){var ft=ot.query.index,Wt=ft.keyTail,wt=ft.isVirtual,St=ft.keyLength;return wt?I.openCursor(zt(ot)).then(function(jt){return jt&&Lt(jt)}):I.openCursor(ot);function Lt(jt){return Object.create(jt,{continue:{value:function(Pt){Pt!=null?jt.continue(Ch(Pt,ot.reverse?W.MAX_KEY:W.MIN_KEY,Wt)):ot.unique?jt.continue(jt.key.slice(0,St).concat(ot.reverse?W.MIN_KEY:W.MAX_KEY,Wt)):jt.continue()}},continuePrimaryKey:{value:function(Pt,Ht){jt.continuePrimaryKey(Ch(Pt,W.MAX_KEY,Wt),Ht)}},primaryKey:{get:function(){return jt.primaryKey}},key:{get:function(){var Pt=jt.key;return St===1?Pt[0]:Pt.slice(0,St)}},value:{get:function(){return jt.value}}})}}})}})}};function yp(W,G,I,R){return I=I||{},R=R||"",a(W).forEach(function(O){var P,et,ct;b(G,O)?(P=W[O],et=G[O],typeof P=="object"&&typeof et=="object"&&P&&et?(ct=It(P))!==It(et)?I[R+O]=G[O]:ct==="Object"?yp(P,et,I,R+O+"."):P!==et&&(I[R+O]=G[O]):P!==et&&(I[R+O]=G[O])):I[R+O]=void 0}),a(G).forEach(function(O){b(W,O)||(I[R+O]=G[O])}),I}function Fh(W,G){return G.type==="delete"?G.keys:G.keys||G.values.map(W.extractKey)}var qG={stack:"dbcore",name:"HooksMiddleware",level:2,create:function(W){return n(n({},W),{table:function(G){var I=W.table(G),R=I.schema.primaryKey;return n(n({},I),{mutate:function(O){var P=Ot.trans,et=P.table(G).hook,ct=et.deleting,yt=et.creating,Tt=et.updating;switch(O.type){case"add":if(yt.fire===he)break;return P._promise("readwrite",function(){return zt(O)},!0);case"put":if(yt.fire===he&&Tt.fire===he)break;return P._promise("readwrite",function(){return zt(O)},!0);case"delete":if(ct.fire===he)break;return P._promise("readwrite",function(){return zt(O)},!0);case"deleteRange":if(ct.fire===he)break;return P._promise("readwrite",function(){return function ot(ft,Wt,wt){return I.query({trans:ft,values:!1,query:{index:R,range:Wt},limit:wt}).then(function(St){var Lt=St.result;return zt({type:"delete",keys:Lt,trans:ft}).then(function(jt){return 0<jt.numFailures?Promise.reject(jt.failures[0]):Lt.length<wt?{failures:[],numFailures:0,lastResult:void 0}:ot(ft,n(n({},Wt),{lower:Lt[Lt.length-1],lowerOpen:!0}),wt)})})}(O.trans,O.range,1e4)},!0)}return I.mutate(O);function zt(ot){var ft,Wt,wt,St=Ot.trans,Lt=ot.keys||Fh(R,ot);if(!Lt)throw new Error("Keys missing");return(ot=ot.type==="add"||ot.type==="put"?n(n({},ot),{keys:Lt}):n({},ot)).type!=="delete"&&(ot.values=i([],ot.values)),ot.keys&&(ot.keys=i([],ot.keys)),ft=I,wt=Lt,((Wt=ot).type==="add"?Promise.resolve([]):ft.getMany({trans:Wt.trans,keys:wt,cache:"immutable"})).then(function(jt){var Pt=Lt.map(function(Ht,Bt){var Ze,Ie,pe,Xe=jt[Bt],ge={onerror:null,onsuccess:null};return ot.type==="delete"?ct.fire.call(ge,Ht,Xe,St):ot.type==="add"||Xe===void 0?(Ze=yt.fire.call(ge,Ht,ot.values[Bt],St),Ht==null&&Ze!=null&&(ot.keys[Bt]=Ht=Ze,R.outbound||_(ot.values[Bt],R.keyPath,Ht))):(Ze=yp(Xe,ot.values[Bt]),(Ie=Tt.fire.call(ge,Ze,Ht,Xe,St))&&(pe=ot.values[Bt],Object.keys(Ie).forEach(function(Ye){b(pe,Ye)?pe[Ye]=Ie[Ye]:_(pe,Ye,Ie[Ye])}))),ge});return I.mutate(ot).then(function(Ht){for(var Bt=Ht.failures,Ze=Ht.results,Ie=Ht.numFailures,Ht=Ht.lastResult,pe=0;pe<Lt.length;++pe){var Xe=(Ze||Lt)[pe],ge=Pt[pe];Xe==null?ge.onerror&&ge.onerror(Bt[pe]):ge.onsuccess&&ge.onsuccess(ot.type==="put"&&jt[pe]?ot.values[pe]:Xe)}return{failures:Bt,results:Ze,numFailures:Ie,lastResult:Ht}}).catch(function(Ht){return Pt.forEach(function(Bt){return Bt.onerror&&Bt.onerror(Ht)}),Promise.reject(Ht)})})}}})}})}};function PW(W,G,I){try{if(!G||G.keys.length<W.length)return null;for(var R=[],O=0,P=0;O<G.keys.length&&P<W.length;++O)ll(G.keys[O],W[P])===0&&(R.push(I?ht(G.values[O]):G.values[O]),++P);return R.length===W.length?R:null}catch{return null}}var $G={stack:"dbcore",level:-1,create:function(W){return{table:function(G){var I=W.table(G);return n(n({},I),{getMany:function(R){if(!R.cache)return I.getMany(R);var O=PW(R.keys,R.trans._cache,R.cache==="clone");return O?$t.resolve(O):I.getMany(R).then(function(P){return R.trans._cache={keys:R.keys,values:R.cache==="clone"?ht(P):P},P})},mutate:function(R){return R.type!=="add"&&(R.trans._cache=null),I.mutate(R)}})}}}};function HW(W,G){return W.trans.mode==="readonly"&&!!W.subscr&&!W.trans.explicit&&W.trans.db._options.cache!=="disabled"&&!G.schema.primaryKey.outbound}function QW(W,G){switch(W){case"query":return G.values&&!G.unique;case"get":case"getMany":case"count":case"openCursor":return!1}}var t5={stack:"dbcore",level:0,name:"Observability",create:function(W){var G=W.schema.name,I=new hi(W.MIN_KEY,W.MAX_KEY);return n(n({},W),{transaction:function(R,O,P){if(Ot.subscr&&O!=="readonly")throw new Zt.ReadOnly("Readwrite transaction in liveQuery context. Querier source: ".concat(Ot.querier));return W.transaction(R,O,P)},table:function(R){var O=W.table(R),P=O.schema,et=P.primaryKey,ot=P.indexes,ct=et.extractKey,yt=et.outbound,Tt=et.autoIncrement&&ot.filter(function(Wt){return Wt.compound&&Wt.keyPath.includes(et.keyPath)}),zt=n(n({},O),{mutate:function(Wt){function wt(Ye){return Ye="idb://".concat(G,"/").concat(R,"/").concat(Ye),Ht[Ye]||(Ht[Ye]=new hi)}var St,Lt,jt,Pt=Wt.trans,Ht=Wt.mutatedParts||(Wt.mutatedParts={}),Bt=wt(""),Ze=wt(":dels"),Ie=Wt.type,ge=Wt.type==="deleteRange"?[Wt.range]:Wt.type==="delete"?[Wt.keys]:Wt.values.length<50?[Fh(et,Wt).filter(function(Ye){return Ye}),Wt.values]:[],pe=ge[0],Xe=ge[1],ge=Wt.trans._cache;return c(pe)?(Bt.addKeys(pe),(ge=Ie==="delete"||pe.length===Xe.length?PW(pe,ge):null)||Ze.addKeys(pe),(ge||Xe)&&(St=wt,Lt=ge,jt=Xe,P.indexes.forEach(function(Ye){var Oe=St(Ye.name||"");function Xl(Dl){return Dl!=null?Ye.extractKey(Dl):null}function zl(Dl){return Ye.multiEntry&&c(Dl)?Dl.forEach(function(Gs){return Oe.addKey(Gs)}):Oe.addKey(Dl)}(Lt||jt).forEach(function(Dl,gi){var Gl=Lt&&Xl(Lt[gi]),gi=jt&&Xl(jt[gi]);ll(Gl,gi)!==0&&(Gl!=null&&zl(Gl),gi!=null&&zl(gi))})}))):pe?(Xe={from:(Xe=pe.lower)!==null&&Xe!==void 0?Xe:W.MIN_KEY,to:(Xe=pe.upper)!==null&&Xe!==void 0?Xe:W.MAX_KEY},Ze.add(Xe),Bt.add(Xe)):(Bt.add(I),Ze.add(I),P.indexes.forEach(function(Ye){return wt(Ye.name).add(I)})),O.mutate(Wt).then(function(Ye){return!pe||Wt.type!=="add"&&Wt.type!=="put"||(Bt.addKeys(Ye.results),Tt&&Tt.forEach(function(Oe){for(var Xl=Wt.values.map(function(Gl){return Oe.extractKey(Gl)}),zl=Oe.keyPath.findIndex(function(Gl){return Gl===et.keyPath}),Dl=0,Gs=Ye.results.length;Dl<Gs;++Dl)Xl[Dl][zl]=Ye.results[Dl];wt(Oe.name).addKeys(Xl)})),Pt.mutatedParts=Dh(Pt.mutatedParts||{},Ht),Ye})}}),ot=function(wt){var St=wt.query,wt=St.index,St=St.range;return[wt,new hi((wt=St.lower)!==null&&wt!==void 0?wt:W.MIN_KEY,(St=St.upper)!==null&&St!==void 0?St:W.MAX_KEY)]},ft={get:function(Wt){return[et,new hi(Wt.key)]},getMany:function(Wt){return[et,new hi().addKeys(Wt.keys)]},count:ot,query:ot,openCursor:ot};return a(ft).forEach(function(Wt){zt[Wt]=function(wt){var St=Ot.subscr,Lt=!!St,jt=HW(Ot,O)&&QW(Wt,wt)?wt.obsSet={}:St;if(Lt){var Pt=function(Xe){return Xe="idb://".concat(G,"/").concat(R,"/").concat(Xe),jt[Xe]||(jt[Xe]=new hi)},Ht=Pt(""),Bt=Pt(":dels"),St=ft[Wt](wt),Lt=St[0],St=St[1];if((Wt==="query"&&Lt.isPrimaryKey&&!wt.values?Bt:Pt(Lt.name||"")).add(St),!Lt.isPrimaryKey){if(Wt!=="count"){var Ze=Wt==="query"&&yt&&wt.values&&O.query(n(n({},wt),{values:!1}));return O[Wt].apply(this,arguments).then(function(Xe){if(Wt==="query"){if(yt&&wt.values)return Ze.then(function(Xl){return Xl=Xl.result,Ht.addKeys(Xl),Xe});var ge=wt.values?Xe.result.map(ct):Xe.result;(wt.values?Ht:Bt).addKeys(ge)}else if(Wt==="openCursor"){var Ye=Xe,Oe=wt.values;return Ye&&Object.create(Ye,{key:{get:function(){return Bt.addKey(Ye.primaryKey),Ye.key}},primaryKey:{get:function(){var Xl=Ye.primaryKey;return Bt.addKey(Xl),Xl}},value:{get:function(){return Oe&&Ht.addKey(Ye.primaryKey),Ye.value}}})}return Xe})}Bt.add(I)}}return O[Wt].apply(this,arguments)}}),zt}})}};function BW(W,G,I){if(I.numFailures===0)return G;if(G.type==="deleteRange")return null;var R=G.keys?G.keys.length:"values"in G&&G.values?G.values.length:1;return I.numFailures===R?null:(G=n({},G),c(G.keys)&&(G.keys=G.keys.filter(function(O,P){return!(P in I.failures)})),"values"in G&&c(G.values)&&(G.values=G.values.filter(function(O,P){return!(P in I.failures)})),G)}function x0(W,G){return I=W,((R=G).lower===void 0||(R.lowerOpen?0<ll(I,R.lower):0<=ll(I,R.lower)))&&(W=W,(G=G).upper===void 0||(G.upperOpen?ll(W,G.upper)<0:ll(W,G.upper)<=0));var I,R}function jd(W,G,ft,R,O,P){if(!ft||ft.length===0)return W;var et=G.query.index,ct=et.multiEntry,yt=G.query.range,Tt=R.schema.primaryKey.extractKey,zt=et.extractKey,ot=(et.lowLevelIndex||et).extractKey,ft=ft.reduce(function(Wt,wt){var St=Wt,Lt=[];if(wt.type==="add"||wt.type==="put")for(var jt=new hi,Pt=wt.values.length-1;0<=Pt;--Pt){var Ht,Bt=wt.values[Pt],Ze=Tt(Bt);jt.hasKey(Ze)||(Ht=zt(Bt),(ct&&c(Ht)?Ht.some(function(Ye){return x0(Ye,yt)}):x0(Ht,yt))&&(jt.addKey(Ze),Lt.push(Bt)))}switch(wt.type){case"add":var Ie=new hi().addKeys(G.values?Wt.map(function(Oe){return Tt(Oe)}):Wt),St=Wt.concat(G.values?Lt.filter(function(Oe){return Oe=Tt(Oe),!Ie.hasKey(Oe)&&(Ie.addKey(Oe),!0)}):Lt.map(function(Oe){return Tt(Oe)}).filter(function(Oe){return!Ie.hasKey(Oe)&&(Ie.addKey(Oe),!0)}));break;case"put":var pe=new hi().addKeys(wt.values.map(function(Oe){return Tt(Oe)}));St=Wt.filter(function(Oe){return!pe.hasKey(G.values?Tt(Oe):Oe)}).concat(G.values?Lt:Lt.map(function(Oe){return Tt(Oe)}));break;case"delete":var Xe=new hi().addKeys(wt.keys);St=Wt.filter(function(Oe){return!Xe.hasKey(G.values?Tt(Oe):Oe)});break;case"deleteRange":var ge=wt.range;St=Wt.filter(function(Oe){return!x0(Tt(Oe),ge)})}return St},W);return ft===W?W:(ft.sort(function(Wt,wt){return ll(ot(Wt),ot(wt))||ll(Tt(Wt),Tt(wt))}),G.limit&&G.limit<1/0&&(ft.length>G.limit?ft.length=G.limit:W.length===G.limit&&ft.length<G.limit&&(O.dirty=!0)),P?Object.freeze(ft):ft)}function AW(W,G){return ll(W.lower,G.lower)===0&&ll(W.upper,G.upper)===0&&!!W.lowerOpen==!!G.lowerOpen&&!!W.upperOpen==!!G.upperOpen}function _W(W,G){return function(I,R,O,P){if(I===void 0)return R!==void 0?-1:0;if(R===void 0)return 1;if((R=ll(I,R))===0){if(O&&P)return 0;if(O)return 1;if(P)return-1}return R}(W.lower,G.lower,W.lowerOpen,G.lowerOpen)<=0&&0<=function(I,R,O,P){if(I===void 0)return R!==void 0?1:0;if(R===void 0)return-1;if((R=ll(I,R))===0){if(O&&P)return 0;if(O)return-1;if(P)return 1}return R}(W.upper,G.upper,W.upperOpen,G.upperOpen)}function qW(W,G,I,R){W.subscribers.add(I),R.addEventListener("abort",function(){var O,P;W.subscribers.delete(I),W.subscribers.size===0&&(O=W,P=G,setTimeout(function(){O.subscribers.size===0&>(P,O)},3e3))})}var $W={stack:"dbcore",level:0,name:"Cache",create:function(W){var G=W.schema.name;return n(n({},W),{transaction:function(I,R,O){var P,et,ct=W.transaction(I,R,O);return R==="readwrite"&&(et=(P=new AbortController).signal,O=function(yt){return function(){if(P.abort(),R==="readwrite"){for(var Tt=new Set,zt=0,ot=I;zt<ot.length;zt++){var ft=ot[zt],Wt=bo["idb://".concat(G,"/").concat(ft)];if(Wt){var wt=W.table(ft),St=Wt.optimisticOps.filter(function(Oe){return Oe.trans===ct});if(ct._explicit&&yt&&ct.mutatedParts)for(var Lt=0,jt=Object.values(Wt.queries.query);Lt<jt.length;Lt++)for(var Pt=0,Ht=(Ie=jt[Lt]).slice();Pt<Ht.length;Pt++)bp((pe=Ht[Pt]).obsSet,ct.mutatedParts)&&(gt(Ie,pe),pe.subscribers.forEach(function(Oe){return Tt.add(Oe)}));else if(0<St.length){Wt.optimisticOps=Wt.optimisticOps.filter(function(Oe){return Oe.trans!==ct});for(var Bt=0,Ze=Object.values(Wt.queries.query);Bt<Ze.length;Bt++)for(var Ie,pe,Xe,ge=0,Ye=(Ie=Ze[Bt]).slice();ge<Ye.length;ge++)(pe=Ye[ge]).res!=null&&ct.mutatedParts&&(yt&&!pe.dirty?(Xe=Object.isFrozen(pe.res),Xe=jd(pe.res,pe.req,St,wt,pe,Xe),pe.dirty?(gt(Ie,pe),pe.subscribers.forEach(function(Oe){return Tt.add(Oe)})):Xe!==pe.res&&(pe.res=Xe,pe.promise=$t.resolve({result:Xe}))):(pe.dirty&>(Ie,pe),pe.subscribers.forEach(function(Oe){return Tt.add(Oe)})))}}}Tt.forEach(function(Oe){return Oe()})}}},ct.addEventListener("abort",O(!1),{signal:et}),ct.addEventListener("error",O(!1),{signal:et}),ct.addEventListener("complete",O(!0),{signal:et})),ct},table:function(I){var R=W.table(I),O=R.schema.primaryKey;return n(n({},R),{mutate:function(P){var et=Ot.trans;if(O.outbound||et.db._options.cache==="disabled"||et.explicit||et.idbtrans.mode!=="readwrite")return R.mutate(P);var ct=bo["idb://".concat(G,"/").concat(I)];return ct?(et=R.mutate(P),P.type!=="add"&&P.type!=="put"||!(50<=P.values.length||Fh(O,P).some(function(yt){return yt==null}))?(ct.optimisticOps.push(P),P.mutatedParts&&jh(P.mutatedParts),et.then(function(yt){0<yt.numFailures&&(gt(ct.optimisticOps,P),(yt=BW(0,P,yt))&&ct.optimisticOps.push(yt),P.mutatedParts&&jh(P.mutatedParts))}),et.catch(function(){gt(ct.optimisticOps,P),P.mutatedParts&&jh(P.mutatedParts)})):et.then(function(yt){var Tt=BW(0,n(n({},P),{values:P.values.map(function(zt,ot){var ft;return yt.failures[ot]?zt:(zt=(ft=O.keyPath)!==null&&ft!==void 0&&ft.includes(".")?ht(zt):n({},zt),_(zt,O.keyPath,yt.results[ot]),zt)})}),yt);ct.optimisticOps.push(Tt),queueMicrotask(function(){return P.mutatedParts&&jh(P.mutatedParts)})}),et):R.mutate(P)},query:function(P){if(!HW(Ot,R)||!QW("query",P))return R.query(P);var et=((Tt=Ot.trans)===null||Tt===void 0?void 0:Tt.db._options.cache)==="immutable",ot=Ot,ct=ot.requery,yt=ot.signal,Tt=function(wt,St,Lt,jt){var Pt=bo["idb://".concat(wt,"/").concat(St)];if(!Pt)return[];if(!(St=Pt.queries[Lt]))return[null,!1,Pt,null];var Ht=St[(jt.query?jt.query.index.name:null)||""];if(!Ht)return[null,!1,Pt,null];switch(Lt){case"query":var Bt=Ht.find(function(Ze){return Ze.req.limit===jt.limit&&Ze.req.values===jt.values&&AW(Ze.req.query.range,jt.query.range)});return Bt?[Bt,!0,Pt,Ht]:[Ht.find(function(Ze){return("limit"in Ze.req?Ze.req.limit:1/0)>=jt.limit&&(!jt.values||Ze.req.values)&&_W(Ze.req.query.range,jt.query.range)}),!1,Pt,Ht];case"count":return Bt=Ht.find(function(Ze){return AW(Ze.req.query.range,jt.query.range)}),[Bt,!!Bt,Pt,Ht]}}(G,I,"query",P),zt=Tt[0],ot=Tt[1],ft=Tt[2],Wt=Tt[3];return zt&&ot?zt.obsSet=P.obsSet:(ot=R.query(P).then(function(wt){var St=wt.result;if(zt&&(zt.res=St),et){for(var Lt=0,jt=St.length;Lt<jt;++Lt)Object.freeze(St[Lt]);Object.freeze(St)}else wt.result=ht(St);return wt}).catch(function(wt){return Wt&&zt&>(Wt,zt),Promise.reject(wt)}),zt={obsSet:P.obsSet,promise:ot,subscribers:new Set,type:"query",req:P,dirty:!1},Wt?Wt.push(zt):(Wt=[zt],(ft=ft||(bo["idb://".concat(G,"/").concat(I)]={queries:{query:{},count:{}},objs:new Map,optimisticOps:[],unsignaledParts:{}})).queries.query[P.query.index.name||""]=Wt)),qW(zt,Wt,ct,yt),zt.promise.then(function(wt){return{result:jd(wt.result,P,ft==null?void 0:ft.optimisticOps,R,zt,et)}})}})}})}};function f0(W,G){return new Proxy(W,{get:function(I,R,O){return R==="db"?G:Reflect.get(I,R,O)}})}var ic=(Wn.prototype.version=function(W){if(isNaN(W)||W<.1)throw new Zt.Type("Given version is not a positive number");if(W=Math.round(10*W)/10,this.idbdb||this._state.isBeingOpened)throw new Zt.Schema("Cannot add version when database is open");this.verno=Math.max(this.verno,W);var G=this._versions,I=G.filter(function(R){return R._cfg.version===W})[0];return I||(I=new this.Version(W),G.push(I),G.sort(vW),I.stores({}),this._state.autoSchema=!1,I)},Wn.prototype._whenReady=function(W){var G=this;return this.idbdb&&(this._state.openComplete||Ot.letThrough||this._vip)?W():new $t(function(I,R){if(G._state.openComplete)return R(new Zt.DatabaseClosed(G._state.dbOpenError));if(!G._state.isBeingOpened){if(!G._state.autoOpen)return void R(new Zt.DatabaseClosed);G.open().catch(he)}G._state.dbReadyPromise.then(I,R)}).then(W)},Wn.prototype.use=function(W){var G=W.stack,I=W.create,R=W.level,O=W.name;return O&&this.unuse({stack:G,name:O}),W=this._middlewares[G]||(this._middlewares[G]=[]),W.push({stack:G,create:I,level:R??10,name:O}),W.sort(function(P,et){return P.level-et.level}),this},Wn.prototype.unuse=function(W){var G=W.stack,I=W.name,R=W.create;return G&&this._middlewares[G]&&(this._middlewares[G]=this._middlewares[G].filter(function(O){return R?O.create!==R:!!I&&O.name!==I})),this},Wn.prototype.open=function(){var W=this;return Ns(ie,function(){return AG(W)})},Wn.prototype._close=function(){var W=this._state,G=Ni.indexOf(this);if(0<=G&&Ni.splice(G,1),this.idbdb){try{this.idbdb.close()}catch{}this.idbdb=null}W.isBeingOpened||(W.dbReadyPromise=new $t(function(I){W.dbReadyResolve=I}),W.openCanceller=new $t(function(I,R){W.cancelOpen=R}))},Wn.prototype.close=function(I){var G=(I===void 0?{disableAutoOpen:!0}:I).disableAutoOpen,I=this._state;G?(I.isBeingOpened&&I.cancelOpen(new Zt.DatabaseClosed),this._close(),I.autoOpen=!1,I.dbOpenError=new Zt.DatabaseClosed):(this._close(),I.autoOpen=this._options.autoOpen||I.isBeingOpened,I.openComplete=!1,I.dbOpenError=null)},Wn.prototype.delete=function(W){var G=this;W===void 0&&(W={disableAutoOpen:!0});var I=0<arguments.length&&typeof arguments[0]!="object",R=this._state;return new $t(function(O,P){function et(){G.close(W);var ct=G._deps.indexedDB.deleteDatabase(G.name);ct.onsuccess=Qt(function(){var yt,Tt,zt;yt=G._deps,Tt=G.name,zt=yt.indexedDB,yt=yt.IDBKeyRange,I0(zt)||Tt===ns||hp(zt,yt).delete(Tt).catch(he),O()}),ct.onerror=Ml(P),ct.onblocked=G._fireOnBlocked}if(I)throw new Zt.InvalidArgument("Invalid closeOptions argument to db.delete()");R.isBeingOpened?R.dbReadyPromise.then(et):et()})},Wn.prototype.backendDB=function(){return this.idbdb},Wn.prototype.isOpen=function(){return this.idbdb!==null},Wn.prototype.hasBeenClosed=function(){var W=this._state.dbOpenError;return W&&W.name==="DatabaseClosed"},Wn.prototype.hasFailed=function(){return this._state.dbOpenError!==null},Wn.prototype.dynamicallyOpened=function(){return this._state.autoSchema},Object.defineProperty(Wn.prototype,"tables",{get:function(){var W=this;return a(this._allTables).map(function(G){return W._allTables[G]})},enumerable:!1,configurable:!0}),Wn.prototype.transaction=function(){var W=(function(G,I,R){var O=arguments.length;if(O<2)throw new Zt.InvalidArgument("Too few arguments");for(var P=new Array(O-1);--O;)P[O-1]=arguments[O];return R=P.pop(),[G,f(P),R]}).apply(this,arguments);return this._transaction.apply(this,W)},Wn.prototype._transaction=function(W,G,I){var R=this,O=Ot.trans;O&&O.db===this&&W.indexOf("!")===-1||(O=null);var P,et,ct=W.indexOf("?")!==-1;W=W.replace("!","").replace("?","");try{if(et=G.map(function(Tt){if(Tt=Tt instanceof R.Table?Tt.name:Tt,typeof Tt!="string")throw new TypeError("Invalid table argument to Dexie.transaction(). Only Table or String are allowed");return Tt}),W=="r"||W===mr)P=mr;else{if(W!="rw"&&W!=ye)throw new Zt.InvalidArgument("Invalid transaction mode: "+W);P=ye}if(O){if(O.mode===mr&&P===ye){if(!ct)throw new Zt.SubTransaction("Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY");O=null}O&&et.forEach(function(Tt){if(O&&O.storeNames.indexOf(Tt)===-1){if(!ct)throw new Zt.SubTransaction("Table "+Tt+" not included in parent transaction.");O=null}}),ct&&O&&!O.active&&(O=null)}}catch(Tt){return O?O._promise(null,function(zt,ot){ot(Tt)}):on(Tt)}var yt=(function Tt(zt,ot,ft,Wt,wt){return $t.resolve().then(function(){var St=Ot.transless||Ot,Lt=zt._createTransaction(ot,ft,zt._dbSchema,Wt);if(Lt.explicit=!0,St={trans:Lt,transless:St},Wt)Lt.idbtrans=Wt.idbtrans;else try{Lt.create(),Lt.idbtrans._explicit=!0,zt._state.PR1398_maxLoop=3}catch(Ht){return Ht.name===Nt.InvalidState&&zt.isOpen()&&0<--zt._state.PR1398_maxLoop?(console.warn("Dexie: Need to reopen db"),zt.close({disableAutoOpen:!1}),zt.open().then(function(){return Tt(zt,ot,ft,null,wt)})):on(Ht)}var jt,Pt=nt(wt);return Pt&&Pn(),St=$t.follow(function(){var Ht;(jt=wt.call(Lt,Lt))&&(Pt?(Ht=Yl.bind(null,null),jt.then(Ht,Ht)):typeof jt.next=="function"&&typeof jt.throw=="function"&&(jt=g0(jt)))},St),(jt&&typeof jt.then=="function"?$t.resolve(jt).then(function(Ht){return Lt.active?Ht:on(new Zt.PrematureCommit("Transaction committed too early. See http://bit.ly/2kdckMn"))}):St.then(function(){return jt})).then(function(Ht){return Wt&&Lt._resolve(),Lt._completion.then(function(){return Ht})}).catch(function(Ht){return Lt._reject(Ht),on(Ht)})})}).bind(null,this,P,et,O,I);return O?O._promise(P,yt,"lock"):Ot.trans?Ns(Ot.transless,function(){return R._whenReady(yt)}):this._whenReady(yt)},Wn.prototype.table=function(W){if(!b(this._allTables,W))throw new Zt.InvalidTable("Table ".concat(W," does not exist"));return this._allTables[W]},Wn);function Wn(W,G){var I=this;this._middlewares={},this.verno=0;var R=Wn.dependencies;this._options=G=n({addons:Wn.addons,autoOpen:!0,indexedDB:R.indexedDB,IDBKeyRange:R.IDBKeyRange,cache:"cloned"},G),this._deps={indexedDB:G.indexedDB,IDBKeyRange:G.IDBKeyRange},R=G.addons,this._dbSchema={},this._versions=[],this._storeNames=[],this._allTables={},this.idbdb=null,this._novip=this;var O,P,et,ct,yt,Tt={dbOpenError:null,isBeingOpened:!1,onReadyBeingFired:null,openComplete:!1,dbReadyResolve:he,dbReadyPromise:null,cancelOpen:he,openCanceller:null,autoSchema:!0,PR1398_maxLoop:3,autoOpen:G.autoOpen};Tt.dbReadyPromise=new $t(function(ot){Tt.dbReadyResolve=ot}),Tt.openCanceller=new $t(function(ot,ft){Tt.cancelOpen=ft}),this._state=Tt,this.name=W,this.on=Na(this,"populate","blocked","versionchange","close",{ready:[Ql,he]}),this.on.ready.subscribe=g(this.on.ready.subscribe,function(ot){return function(ft,Wt){Wn.vip(function(){var wt,St=I._state;St.openComplete?(St.dbOpenError||$t.resolve().then(ft),Wt&&ot(ft)):St.onReadyBeingFired?(St.onReadyBeingFired.push(ft),Wt&&ot(ft)):(ot(ft),wt=I,Wt||ot(function Lt(){wt.on.ready.unsubscribe(ft),wt.on.ready.unsubscribe(Lt)}))})}}),this.Collection=(O=this,ta(Al.prototype,function(jt,Lt){this.db=O;var Wt=wl,wt=null;if(Lt)try{Wt=Lt()}catch(Pt){wt=Pt}var St=jt._ctx,Lt=St.table,jt=Lt.hook.reading.fire;this._ctx={table:Lt,index:St.index,isPrimKey:!St.index||Lt.schema.primKey.keyPath&&St.index===Lt.schema.primKey.name,range:Wt,keysOnly:!1,dir:"next",unique:"",algorithm:null,filter:null,replayFilter:null,justLimit:!0,isMatch:null,offset:0,limit:1/0,error:wt,or:St.or,valueMapper:jt!==$e?jt:null}})),this.Table=(P=this,ta(Ui.prototype,function(ot,ft,Wt){this.db=P,this._tx=Wt,this.name=ot,this.schema=ft,this.hook=P._allTables[ot]?P._allTables[ot].hook:Na(null,{creating:[Ke,he],reading:[je,$e],updating:[gl,he],deleting:[Vl,he]})})),this.Transaction=(et=this,ta(G0.prototype,function(ot,ft,Wt,wt,St){var Lt=this;this.db=et,this.mode=ot,this.storeNames=ft,this.schema=Wt,this.chromeTransactionDurability=wt,this.idbtrans=null,this.on=Na(this,"complete","error","abort"),this.parent=St||null,this.active=!0,this._reculock=0,this._blockedFuncs=[],this._resolve=null,this._reject=null,this._waitingFor=null,this._waitingQueue=null,this._spinCount=0,this._completion=new $t(function(jt,Pt){Lt._resolve=jt,Lt._reject=Pt}),this._completion.then(function(){Lt.active=!1,Lt.on.complete.fire()},function(jt){var Pt=Lt.active;return Lt.active=!1,Lt.on.error.fire(jt),Lt.parent?Lt.parent._reject(jt):Pt&&Lt.idbtrans&&Lt.idbtrans.abort(),on(jt)})})),this.Version=(ct=this,ta(mp.prototype,function(ot){this.db=ct,this._cfg={version:ot,storesSource:null,dbschema:{},tables:{},contentUpgrade:null}})),this.WhereClause=(yt=this,ta(Fe.prototype,function(ot,ft,Wt){if(this.db=yt,this._ctx={table:ot,index:ft===":id"?null:ft,or:Wt},this._cmp=this._ascending=ll,this._descending=function(wt,St){return ll(St,wt)},this._max=function(wt,St){return 0<ll(wt,St)?wt:St},this._min=function(wt,St){return ll(wt,St)<0?wt:St},this._IDBKeyRange=yt._deps.IDBKeyRange,!this._IDBKeyRange)throw new Zt.MissingAPI})),this.on("versionchange",function(ot){0<ot.newVersion?console.warn("Another connection wants to upgrade database '".concat(I.name,"'. Closing db now to resume the upgrade.")):console.warn("Another connection wants to delete database '".concat(I.name,"'. Closing db now to resume the delete request.")),I.close({disableAutoOpen:!1})}),this.on("blocked",function(ot){!ot.newVersion||ot.newVersion<ot.oldVersion?console.warn("Dexie.delete('".concat(I.name,"') was blocked")):console.warn("Upgrade '".concat(I.name,"' blocked by other connection holding version ").concat(ot.oldVersion/10))}),this._maxKey=X0(G.IDBKeyRange),this._createTransaction=function(ot,ft,Wt,wt){return new I.Transaction(ot,ft,Wt,I._options.chromeTransactionDurability,wt)},this._fireOnBlocked=function(ot){I.on("blocked").fire(ot),Ni.filter(function(ft){return ft.name===I.name&&ft!==I&&!ft._state.vcFired}).map(function(ft){return ft.on("versionchange").fire(ot)})},this.use($G),this.use($W),this.use(t5),this.use(_G),this.use(qG);var zt=new Proxy(this,{get:function(ot,ft,Wt){if(ft==="_vip")return!0;if(ft==="table")return function(St){return f0(I.table(St),zt)};var wt=Reflect.get(ot,ft,Wt);return wt instanceof Ui?f0(wt,zt):ft==="tables"?wt.map(function(St){return f0(St,zt)}):ft==="_createTransaction"?function(){return f0(wt.apply(this,arguments),zt)}:wt}});this.vip=zt,R.forEach(function(ot){return ot(I)})}var Jh,la=typeof Symbol<"u"&&"observable"in Symbol?Symbol.observable:"@@observable",e5=(vh.prototype.subscribe=function(W,G,I){return this._subscribe(W&&typeof W!="function"?W:{next:W,error:G,complete:I})},vh.prototype[la]=function(){return this},vh);function vh(W){this._subscribe=W}try{Jh={indexedDB:s.indexedDB||s.mozIndexedDB||s.webkitIndexedDB||s.msIndexedDB,IDBKeyRange:s.IDBKeyRange||s.webkitIDBKeyRange}}catch{Jh={indexedDB:null,IDBKeyRange:null}}function Wp(W){var G,I=!1,R=new e5(function(O){var P=nt(W),et,ct=!1,yt={},Tt={},zt={get closed(){return ct},unsubscribe:function(){ct||(ct=!0,et&&et.abort(),ot&&Ga.storagemutated.unsubscribe(Wt))}};O.start&&O.start(zt);var ot=!1,ft=function(){return si(wt)},Wt=function(St){Dh(yt,St),bp(Tt,yt)&&ft()},wt=function(){var St,Lt,jt;!ct&&Jh.indexedDB&&(yt={},St={},et&&et.abort(),et=new AbortController,jt=function(Pt){var Ht=ml();try{P&&Pn();var Bt=Il(W,Pt);return Bt=P?Bt.finally(Yl):Bt}finally{Ht&&Ne()}}(Lt={subscr:St,signal:et.signal,requery:ft,querier:W,trans:null}),Promise.resolve(jt).then(function(Pt){I=!0,G=Pt,ct||Lt.signal.aborted||(yt={},function(Ht){for(var Bt in Ht)if(b(Ht,Bt))return;return 1}(Tt=St)||ot||(Ga(jn,Wt),ot=!0),si(function(){return!ct&&O.next&&O.next(Pt)}))},function(Pt){I=!1,["DatabaseClosedError","AbortError"].includes(Pt==null?void 0:Pt.name)||ct||si(function(){ct||O.error&&O.error(Pt)})}))};return setTimeout(ft,0),zt});return R.hasValue=function(){return I},R.getValue=function(){return G},R}var Ta=ic;function Zo(W){var G=Xa;try{Xa=!0,Ga.storagemutated.fire(W),pp(W,!0)}finally{Xa=G}}p(Ta,n(n({},te),{delete:function(W){return new Ta(W,{addons:[]}).delete()},exists:function(W){return new Ta(W,{addons:[]}).open().then(function(G){return G.close(),!0}).catch("NoSuchDatabaseError",function(){return!1})},getDatabaseNames:function(W){try{return G=Ta.dependencies,I=G.indexedDB,G=G.IDBKeyRange,(I0(I)?Promise.resolve(I.databases()).then(function(R){return R.map(function(O){return O.name}).filter(function(O){return O!==ns})}):hp(I,G).toCollection().primaryKeys()).then(W)}catch{return on(new Zt.MissingAPI)}var G,I},defineClass:function(){return function(W){o(this,W)}},ignoreTransaction:function(W){return Ot.trans?Ns(Ot.transless,W):W()},vip:w0,async:function(W){return function(){try{var G=g0(W.apply(this,arguments));return G&&typeof G.then=="function"?G:$t.resolve(G)}catch(I){return on(I)}}},spawn:function(W,G,I){try{var R=g0(W.apply(I,G||[]));return R&&typeof R.then=="function"?R:$t.resolve(R)}catch(O){return on(O)}},currentTransaction:{get:function(){return Ot.trans||null}},waitFor:function(W,G){return G=$t.resolve(typeof W=="function"?Ta.ignoreTransaction(W):W).timeout(G||6e4),Ot.trans?Ot.trans.waitFor(G):G},Promise:$t,debug:{get:function(){return El},set:function(W){pn(W)}},derive:T,extend:o,props:p,override:g,Events:Na,on:Ga,liveQuery:Wp,extendObservabilitySet:Dh,getByKeyPath:D,setByKeyPath:_,delByKeyPath:function(W,G){typeof G=="string"?_(W,G,void 0):"length"in G&&[].map.call(G,function(I){_(W,I,void 0)})},shallowClone:ut,deepClone:ht,getObjectDiff:yp,cmp:ll,asap:j,minKey:-1/0,addons:[],connections:Ni,errnames:Nt,dependencies:Jh,cache:bo,semVer:"4.0.11",version:"4.0.11".split(".").map(function(W){return parseInt(W)}).reduce(function(W,G,I){return W+G/Math.pow(10,2*I)})})),Ta.maxKey=X0(Ta.dependencies.IDBKeyRange),typeof dispatchEvent<"u"&&typeof addEventListener<"u"&&(Ga(jn,function(W){Xa||(W=new CustomEvent(M0,{detail:W}),Xa=!0,dispatchEvent(W),Xa=!1)}),addEventListener(M0,function(W){W=W.detail,Xa||Zo(W)}));var Cd,Xa=!1,tN=function(){};return typeof BroadcastChannel<"u"&&((tN=function(){(Cd=new BroadcastChannel(M0)).onmessage=function(W){return W.data&&Zo(W.data)}})(),typeof Cd.unref=="function"&&Cd.unref(),Ga(jn,function(W){Xa||Cd.postMessage(W)})),typeof addEventListener<"u"&&(addEventListener("pagehide",function(W){if(!ic.disableBfCache&&W.persisted){El&&console.debug("Dexie: handling persisted pagehide"),Cd!=null&&Cd.close();for(var G=0,I=Ni;G<I.length;G++)I[G].close({disableAutoOpen:!1})}}),addEventListener("pageshow",function(W){!ic.disableBfCache&&W.persisted&&(El&&console.debug("Dexie: handling persisted pageshow"),tN(),Zo({all:new hi(-1/0,[[]])}))})),$t.rejectionMapper=function(W,G){return!W||W instanceof $||W instanceof TypeError||W instanceof SyntaxError||!W.name||!Ft[W.name]?W:(G=new Ft[W.name](G||W.message,W),"stack"in W&&M(G,"stack",{get:function(){return this.inner.stack}}),G)},pn(El),n(ic,Object.freeze({__proto__:null,Dexie:ic,liveQuery:Wp,Entity:On,cmp:ll,PropModification:Ei,replacePrefix:function(W,G){return new Ei({replacePrefix:[W,G]})},add:function(W){return new Ei({add:W})},remove:function(W){return new Ei({remove:W})},default:ic,RangeSet:hi,mergeRanges:z0,rangesOverlap:UW}),{default:ic}),ic})}(S1)),S1.exports}var $C=qC();const RX=Gh($C),uz=Symbol.for("Dexie"),ls=globalThis[uz]||(globalThis[uz]=RX);if(RX.semVer!==ls.semVer)throw new Error(`Two different versions of Dexie loaded in the same app: ${RX.semVer} and ${ls.semVer}`);const{liveQuery:ftt,mergeRanges:Stt,rangesOverlap:Rtt,RangeSet:ktt,cmp:Dtt,Entity:Ott,PropModification:jtt,replacePrefix:Ctt,add:Ftt,remove:Jtt}=ls;var mz={};/*! *****************************************************************************
|
||
Copyright (c) Microsoft Corporation.
|
||
|
||
Permission to use, copy, modify, and/or distribute this software for any
|
||
purpose with or without fee is hereby granted.
|
||
|
||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||
PERFORMANCE OF THIS SOFTWARE.
|
||
***************************************************************************** */var WM=function(){return WM=Object.assign||function(t){for(var e,n=1,i=arguments.length;n<i;n++){e=arguments[n];for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&(t[s]=e[s])}return t},WM.apply(this,arguments)};function s0(l,t,e,n){function i(s){return s instanceof e?s:new e(function(a){a(s)})}return new(e||(e=Promise))(function(s,a){function c(h){try{d(n.next(h))}catch(b){a(b)}}function o(h){try{d(n.throw(h))}catch(b){a(b)}}function d(h){h.done?s(h.value):i(h.value).then(c,o)}d((n=n.apply(l,[])).next())})}function nr(l,t){var e={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},n,i,s,a;return a={next:c(0),throw:c(1),return:c(2)},typeof Symbol=="function"&&(a[Symbol.iterator]=function(){return this}),a;function c(d){return function(h){return o([d,h])}}function o(d){if(n)throw new TypeError("Generator is already executing.");for(;e;)try{if(n=1,i&&(s=d[0]&2?i.return:d[0]?i.throw||((s=i.return)&&s.call(i),0):i.next)&&!(s=s.call(i,d[1])).done)return s;switch(i=0,s&&(d=[d[0]&2,s.value]),d[0]){case 0:case 1:s=d;break;case 4:return e.label++,{value:d[1],done:!1};case 5:e.label++,i=d[1],d=[0];continue;case 7:d=e.ops.pop(),e.trys.pop();continue;default:if(s=e.trys,!(s=s.length>0&&s[s.length-1])&&(d[0]===6||d[0]===2)){e=0;continue}if(d[0]===3&&(!s||d[1]>s[0]&&d[1]<s[3])){e.label=d[1];break}if(d[0]===6&&e.label<s[1]){e.label=s[1],s=d;break}if(s&&e.label<s[2]){e.label=s[2],e.ops.push(d);break}s[2]&&e.ops.pop(),e.trys.pop();continue}d=t.call(l,e)}catch(h){d=[6,h],i=0}finally{n=s=0}if(d[0]&5)throw d[1];return{value:d[0]?d[1]:void 0,done:!0}}}function tF(l){var t=[l.schema.primKey].concat(l.schema.indexes);return t.map(function(e){return e.src}).join(",")}function eF(l){for(var t={},e=0,n=l.tables;e<n.length;e++){var i=n[e];t[i.name]=i.schema}return t}function Px(l,t){return new Promise(function(e,n){var i=new FileReader;i.onabort=function(s){return n(new Error("file read aborted"))},i.onerror=function(s){return n(s.target.error)},i.onload=function(s){return e(s.target.result)},t==="binary"?i.readAsArrayBuffer(l):i.readAsText(l)})}function Hx(l,t){if(typeof FileReaderSync>"u")throw new Error("FileReaderSync missing. Reading blobs synchronously requires code to run from within a web worker. Use TSON.encapsulateAsync() to do it from the main thread.");var e=new FileReaderSync,n=t==="binary"?e.readAsArrayBuffer(l):e.readAsText(l);return n}var kX=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function qL(l,t){return t={exports:{}},l(t,t.exports),t.exports}var NG=qL(function(l,t){(function(e,n){l.exports=n()})(kX,function(){function e(Nt){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?e=function(xt){return typeof xt}:e=function(xt){return xt&&typeof Symbol=="function"&&xt.constructor===Symbol&&xt!==Symbol.prototype?"symbol":typeof xt},e(Nt)}function n(Nt,xt,Zt,Ft,te,he,$e){try{var je=Nt[he]($e),xe=je.value}catch(Ke){Zt(Ke);return}je.done?xt(xe):Promise.resolve(xe).then(Ft,te)}function i(Nt){return function(){var xt=this,Zt=arguments;return new Promise(function(Ft,te){var he=Nt.apply(xt,Zt);function $e(xe){n(he,Ft,te,$e,je,"next",xe)}function je(xe){n(he,Ft,te,$e,je,"throw",xe)}$e(void 0)})}}function s(Nt,xt){if(!(Nt instanceof xt))throw new TypeError("Cannot call a class as a function")}function a(Nt,xt){for(var Zt=0;Zt<xt.length;Zt++){var Ft=xt[Zt];Ft.enumerable=Ft.enumerable||!1,Ft.configurable=!0,"value"in Ft&&(Ft.writable=!0),Object.defineProperty(Nt,Ft.key,Ft)}}function c(Nt,xt,Zt){return xt&&a(Nt.prototype,xt),Nt}function o(Nt,xt,Zt){return xt in Nt?Object.defineProperty(Nt,xt,{value:Zt,enumerable:!0,configurable:!0,writable:!0}):Nt[xt]=Zt,Nt}function d(Nt,xt){var Zt=Object.keys(Nt);if(Object.getOwnPropertySymbols){var Ft=Object.getOwnPropertySymbols(Nt);xt&&(Ft=Ft.filter(function(te){return Object.getOwnPropertyDescriptor(Nt,te).enumerable})),Zt.push.apply(Zt,Ft)}return Zt}function h(Nt){for(var xt=1;xt<arguments.length;xt++){var Zt=arguments[xt]!=null?arguments[xt]:{};xt%2?d(Object(Zt),!0).forEach(function(Ft){o(Nt,Ft,Zt[Ft])}):Object.getOwnPropertyDescriptors?Object.defineProperties(Nt,Object.getOwnPropertyDescriptors(Zt)):d(Object(Zt)).forEach(function(Ft){Object.defineProperty(Nt,Ft,Object.getOwnPropertyDescriptor(Zt,Ft))})}return Nt}function b(Nt,xt){return M(Nt)||Y(Nt,xt)||x()}function p(Nt){return y(Nt)||T(Nt)||L()}function y(Nt){if(Array.isArray(Nt)){for(var xt=0,Zt=new Array(Nt.length);xt<Nt.length;xt++)Zt[xt]=Nt[xt];return Zt}}function M(Nt){if(Array.isArray(Nt))return Nt}function T(Nt){if(Symbol.iterator in Object(Nt)||Object.prototype.toString.call(Nt)==="[object Arguments]")return Array.from(Nt)}function Y(Nt,xt){if(Symbol.iterator in Object(Nt)||Object.prototype.toString.call(Nt)==="[object Arguments]"){var Zt=[],Ft=!0,te=!1,he=void 0;try{for(var $e=Nt[Symbol.iterator](),je;!(Ft=(je=$e.next()).done)&&(Zt.push(je.value),!(xt&&Zt.length===xt));Ft=!0);}catch(xe){te=!0,he=xe}finally{try{!Ft&&$e.return!=null&&$e.return()}finally{if(te)throw he}}return Zt}}function L(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function x(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}var g=function Nt(xt){s(this,Nt),this.p=new Promise(xt)};g.__typeson__type__="TypesonPromise",typeof Symbol<"u"&&(g.prototype[Symbol.toStringTag]="TypesonPromise"),g.prototype.then=function(Nt,xt){var Zt=this;return new g(function(Ft,te){Zt.p.then(function(he){Ft(Nt?Nt(he):he)}).catch(function(he){return xt?xt(he):Promise.reject(he)}).then(Ft,te)})},g.prototype.catch=function(Nt){return this.then(null,Nt)},g.resolve=function(Nt){return new g(function(xt){xt(Nt)})},g.reject=function(Nt){return new g(function(xt,Zt){Zt(Nt)})},["all","race"].forEach(function(Nt){g[Nt]=function(xt){return new g(function(Zt,Ft){Promise[Nt](xt.map(function(te){return te&&te.constructor&&te.constructor.__typeson__type__==="TypesonPromise"?te.p:te})).then(Zt,Ft)})}});var F={},j=F.toString,D={}.hasOwnProperty,_=Object.getPrototypeOf,ut=D.toString;function K(Nt,xt){return dt(Nt)&&typeof Nt.then=="function"&&(!xt||typeof Nt.catch=="function")}function f(Nt){return j.call(Nt).slice(8,-1)}function lt(Nt,xt){if(!Nt||e(Nt)!=="object")return!1;var Zt=_(Nt);if(!Zt)return xt===null;var Ft=D.call(Zt,"constructor")&&Zt.constructor;return typeof Ft!="function"?xt===null:xt===Ft||xt!==null&&ut.call(Ft)===ut.call(xt)||typeof xt=="function"&&typeof Ft.__typeson__type__=="string"&&Ft.__typeson__type__===xt.__typeson__type__}function tt(Nt){if(!Nt||f(Nt)!=="Object")return!1;var xt=_(Nt);return xt?lt(Nt,Object):!0}function ht(Nt){if(!Nt||f(Nt)!=="Object")return!1;var xt=_(Nt);return xt?lt(Nt,Object)||ht(xt):!0}function dt(Nt){return Nt&&e(Nt)==="object"}function It(Nt){return Nt.replace(/~/g,"~0").replace(/\./g,"~1")}function kt(Nt){return Nt.replace(/~1/g,".").replace(/~0/g,"~")}function Gt(Nt,xt){if(xt==="")return Nt;var Zt=xt.indexOf(".");if(Zt>-1){var Ft=Nt[kt(xt.slice(0,Zt))];return Ft===void 0?void 0:Gt(Ft,xt.slice(Zt+1))}return Nt[kt(xt)]}function gt(Nt,xt,Zt){if(xt==="")return Zt;var Ft=xt.indexOf(".");if(Ft>-1){var te=Nt[kt(xt.slice(0,Ft))];return gt(te,xt.slice(Ft+1),Zt)}return Nt[kt(xt)]=Zt,Nt}function vt(Nt){return Nt===null?"null":Array.isArray(Nt)?"array":e(Nt)}var H=Object.keys,nt=Array.isArray,bt={}.hasOwnProperty,$=["type","replaced","iterateIn","iterateUnsetNumeric"];function _t(Nt,xt){if(Nt.keypath==="")return-1;var Zt=Nt.keypath.match(/\./g)||0,Ft=xt.keypath.match(/\./g)||0;return Zt&&(Zt=Zt.length),Ft&&(Ft=Ft.length),Zt>Ft?-1:Zt<Ft?1:Nt.keypath<xt.keypath?-1:Nt.keypath>xt.keypath}var ce=function(){function Nt(xt){s(this,Nt),this.options=xt,this.plainObjectReplacers=[],this.nonplainObjectReplacers=[],this.revivers={},this.types={}}return c(Nt,[{key:"stringify",value:function(Zt,Ft,te,he){he=h({},this.options,{},he,{stringification:!0});var $e=this.encapsulate(Zt,null,he);return nt($e)?JSON.stringify($e[0],Ft,te):$e.then(function(je){return JSON.stringify(je,Ft,te)})}},{key:"stringifySync",value:function(Zt,Ft,te,he){return this.stringify(Zt,Ft,te,h({throwOnBadSyncType:!0},he,{sync:!0}))}},{key:"stringifyAsync",value:function(Zt,Ft,te,he){return this.stringify(Zt,Ft,te,h({throwOnBadSyncType:!0},he,{sync:!1}))}},{key:"parse",value:function(Zt,Ft,te){return te=h({},this.options,{},te,{parse:!0}),this.revive(JSON.parse(Zt,Ft),te)}},{key:"parseSync",value:function(Zt,Ft,te){return this.parse(Zt,Ft,h({throwOnBadSyncType:!0},te,{sync:!0}))}},{key:"parseAsync",value:function(Zt,Ft,te){return this.parse(Zt,Ft,h({throwOnBadSyncType:!0},te,{sync:!1}))}},{key:"specialTypeNames",value:function(Zt,Ft){var te=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return te.returnTypeNames=!0,this.encapsulate(Zt,Ft,te)}},{key:"rootTypeName",value:function(Zt,Ft){var te=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return te.iterateNone=!0,this.encapsulate(Zt,Ft,te)}},{key:"encapsulate",value:function(Zt,Ft,te){te=h({sync:!0},this.options,{},te);var he=te,$e=he.sync,je=this,xe={},Ke=[],Vl=[],gl=[],Pl="cyclic"in te?te.cyclic:!0,Ql=te,El=Ql.encapsulateObserver,pn=Jt("",Zt,Pl,Ft||{},gl);function sn(ee){var Q=Object.values(xe);if(te.iterateNone)return Q.length?Q[0]:Nt.getJSONType(ee);if(Q.length){if(te.returnTypeNames)return p(new Set(Q));!ee||!tt(ee)||bt.call(ee,"$types")?ee={$:ee,$types:{$:xe}}:ee.$types=xe}else dt(ee)&&bt.call(ee,"$types")&&(ee={$:ee,$types:!0});return te.returnTypeNames?!1:ee}function qt(ee,Q){return de.apply(this,arguments)}function de(){return de=i(regeneratorRuntime.mark(function ee(Q,C){var q;return regeneratorRuntime.wrap(function(Vt){for(;;)switch(Vt.prev=Vt.next){case 0:return Vt.next=2,Promise.all(C.map(function(ie){return ie[1].p}));case 2:return q=Vt.sent,Vt.next=5,Promise.all(q.map(function(){var ie=i(regeneratorRuntime.mark(function Ot(fe){var oe,_e,$t,hl,xl,Nl,it,Et,le,Me,ml,Ne,Ut,At;return regeneratorRuntime.wrap(function(Ve){for(;;)switch(Ve.prev=Ve.next){case 0:if(oe=[],_e=C.splice(0,1),$t=b(_e,1),hl=$t[0],xl=b(hl,7),Nl=xl[0],it=xl[2],Et=xl[3],le=xl[4],Me=xl[5],ml=xl[6],Ne=Jt(Nl,fe,it,Et,oe,!0,ml),Ut=lt(Ne,g),!(Nl&&Ut)){Ve.next=11;break}return Ve.next=8,Ne.p;case 8:return At=Ve.sent,le[Me]=At,Ve.abrupt("return",qt(Q,oe));case 11:return Nl?le[Me]=Ne:Ut?Q=Ne.p:Q=Ne,Ve.abrupt("return",qt(Q,oe));case 13:case"end":return Ve.stop()}},Ot)}));return function(Ot){return ie.apply(this,arguments)}}()));case 5:return Vt.abrupt("return",Q);case 6:case"end":return Vt.stop()}},ee)})),de.apply(this,arguments)}function Yt(ee,Q,C){Object.assign(ee,Q);var q=$.map(function(mt){var Vt=ee[mt];return delete ee[mt],Vt});C(),$.forEach(function(mt,Vt){ee[mt]=q[Vt]})}function Jt(ee,Q,C,q,mt,Vt,ie){var Ot,fe={},oe=e(Q),_e=El?function(Ut){var At=ie||q.type||Nt.getJSONType(Q);El(Object.assign(Ut||fe,{keypath:ee,value:Q,cyclic:C,stateObj:q,promisesData:mt,resolvingTypesonPromise:Vt,awaitingTypesonPromise:lt(Q,g)},{type:At}))}:null;if(["string","boolean","number","undefined"].includes(oe))return Q===void 0||oe==="number"&&(isNaN(Q)||Q===-1/0||Q===1/0)?(q.replaced?Ot=Q:Ot=be(ee,Q,q,mt,!1,Vt,_e),Ot!==Q&&(fe={replaced:Ot})):Ot=Q,_e&&_e(),Ot;if(Q===null)return _e&&_e(),Q;if(C&&!q.iterateIn&&!q.iterateUnsetNumeric&&Q&&e(Q)==="object"){var $t=Ke.indexOf(Q);if($t<0)C===!0&&(Ke.push(Q),Vl.push(ee));else return xe[ee]="#",_e&&_e({cyclicKeypath:Vl[$t]}),"#"+Vl[$t]}var hl=tt(Q),xl=nt(Q),Nl=(hl||xl)&&(!je.plainObjectReplacers.length||q.replaced)||q.iterateIn?Q:be(ee,Q,q,mt,hl||xl,null,_e),it;if(Nl!==Q?(Ot=Nl,fe={replaced:Nl}):ee===""&<(Q,g)?(mt.push([ee,Q,C,q,void 0,void 0,q.type]),Ot=Q):xl&&q.iterateIn!=="object"||q.iterateIn==="array"?(it=new Array(Q.length),fe={clone:it}):!["function","symbol"].includes(e(Q))&&!("toJSON"in Q)&&!lt(Q,g)&&!lt(Q,Promise)&&!lt(Q,ArrayBuffer)||hl||q.iterateIn==="object"?(it={},q.addLength&&(it.length=Q.length),fe={clone:it}):Ot=Q,_e&&_e(),te.iterateNone)return it||Ot;if(!it)return Ot;if(q.iterateIn){var Et=function(At){var Qt={ownKeys:bt.call(Q,At)};Yt(q,Qt,function(){var Ve=ee+(ee?".":"")+It(At),He=Jt(Ve,Q[At],!!C,q,mt,Vt);lt(He,g)?mt.push([Ve,He,!!C,q,it,At,q.type]):He!==void 0&&(it[At]=He)})};for(var le in Q)Et(le);_e&&_e({endIterateIn:!0,end:!0})}else H(Q).forEach(function(Ut){var At=ee+(ee?".":"")+It(Ut),Qt={ownKeys:!0};Yt(q,Qt,function(){var Ve=Jt(At,Q[Ut],!!C,q,mt,Vt);lt(Ve,g)?mt.push([At,Ve,!!C,q,it,Ut,q.type]):Ve!==void 0&&(it[Ut]=Ve)})}),_e&&_e({endIterateOwn:!0,end:!0});if(q.iterateUnsetNumeric){for(var Me=Q.length,ml=function(At){if(!(At in Q)){var Qt=ee+(ee?".":"")+At,Ve={ownKeys:!1};Yt(q,Ve,function(){var He=Jt(Qt,void 0,!!C,q,mt,Vt);lt(He,g)?mt.push([Qt,He,!!C,q,it,At,q.type]):He!==void 0&&(it[At]=He)})}},Ne=0;Ne<Me;Ne++)ml(Ne);_e&&_e({endIterateUnsetNumeric:!0,end:!0})}return it}function be(ee,Q,C,q,mt,Vt,ie){for(var Ot=mt?je.plainObjectReplacers:je.nonplainObjectReplacers,fe=Ot.length;fe--;){var oe=Ot[fe];if(oe.test(Q,C)){var _e=oe.type;if(je.revivers[_e]){var $t=xe[ee];xe[ee]=$t?[_e].concat($t):_e}if(Object.assign(C,{type:_e,replaced:!0}),($e||!oe.replaceAsync)&&!oe.replace)return ie&&ie({typeDetected:!0}),Jt(ee,Q,Pl&&"readonly",C,q,Vt,_e);ie&&ie({replacing:!0});var hl=$e||!oe.replaceAsync?"replace":"replaceAsync";return Jt(ee,oe[hl](Q,C),Pl&&"readonly",C,q,Vt,_e)}}return Q}return gl.length?$e&&te.throwOnBadSyncType?function(){throw new TypeError("Sync method requested but async result obtained")}():Promise.resolve(qt(pn,gl)).then(sn):!$e&&te.throwOnBadSyncType?function(){throw new TypeError("Async method requested but sync result obtained")}():te.stringification&&$e?[sn(pn)]:$e?sn(pn):Promise.resolve(sn(pn))}},{key:"encapsulateSync",value:function(Zt,Ft,te){return this.encapsulate(Zt,Ft,h({throwOnBadSyncType:!0},te,{sync:!0}))}},{key:"encapsulateAsync",value:function(Zt,Ft,te){return this.encapsulate(Zt,Ft,h({throwOnBadSyncType:!0},te,{sync:!1}))}},{key:"revive",value:function(Zt,Ft){var te=Zt&&Zt.$types;if(!te)return Zt;if(te===!0)return Zt.$;Ft=h({sync:!0},this.options,{},Ft);var he=Ft,$e=he.sync,je=[],xe={},Ke=!0;te.$&&tt(te.$)&&(Zt=Zt.$,te=te.$,Ke=!1);var Vl=this;function gl(de,Yt){var Jt=Vl.revivers[de]||[],be=b(Jt,1),ee=be[0];if(!ee)throw new Error("Unregistered type: "+de);return $e&&!("revive"in ee)?Yt:ee[$e&&ee.revive?"revive":!$e&&ee.reviveAsync?"reviveAsync":"revive"](Yt,xe)}function Pl(){var de=[];if(Object.entries(te).forEach(function(Yt){var Jt=b(Yt,2),be=Jt[0],ee=Jt[1];ee!=="#"&&[].concat(ee).forEach(function(Q){var C=Vl.revivers[Q]||[null,{}],q=b(C,2),mt=q[1].plain;mt&&(de.push({keypath:be,type:Q}),delete te[be])})}),!!de.length)return de.sort(_t).reduce(function Yt(Jt,be){var ee=be.keypath,Q=be.type;if(K(Jt))return Jt.then(function(mt){return Yt(mt,{keypath:ee,type:Q})});var C=Gt(Zt,ee);if(C=gl(Q,C),lt(C,g))return C.then(function(mt){var Vt=gt(Zt,ee,mt);Vt===mt&&(Zt=Vt)});var q=gt(Zt,ee,C);q===C&&(Zt=q)},void 0)}var Ql=[];function El(de,Yt,Jt,be,ee){if(!(Ke&&de==="$types")){var Q=te[de],C=nt(Yt);if(C||tt(Yt)){var q=C?new Array(Yt.length):{};for(H(Yt).forEach(function($t){var hl=El(de+(de?".":"")+It($t),Yt[$t],Jt||q,q,$t),xl=function(it){return lt(it,ne)?q[$t]=void 0:it!==void 0&&(q[$t]=it),it};lt(hl,g)?Ql.push(hl.then(function(Nl){return xl(Nl)})):xl(hl)}),Yt=q;je.length;){var mt=b(je[0],4),Vt=mt[0],ie=mt[1],Ot=mt[2],fe=mt[3],oe=Gt(Vt,ie);if(oe!==void 0)Ot[fe]=oe;else break;je.splice(0,1)}}if(!Q)return Yt;if(Q==="#"){var _e=Gt(Jt,Yt.slice(1));return _e===void 0&&je.push([Jt,Yt.slice(1),be,ee]),_e}return[].concat(Q).reduce(function $t(hl,xl){return lt(hl,g)?hl.then(function(Nl){return $t(Nl,xl)}):gl(xl,hl)},Yt)}}function pn(de){return lt(de,ne)?void 0:de}var sn=Pl(),qt;return lt(sn,g)?qt=sn.then(function(){return Zt}):(qt=El("",Zt,null),Ql.length&&(qt=g.resolve(qt).then(function(de){return g.all([de].concat(Ql))}).then(function(de){var Yt=b(de,1),Jt=Yt[0];return Jt}))),K(qt)?$e&&Ft.throwOnBadSyncType?function(){throw new TypeError("Sync method requested but async result obtained")}():lt(qt,g)?qt.p.then(pn):qt:!$e&&Ft.throwOnBadSyncType?function(){throw new TypeError("Async method requested but sync result obtained")}():$e?pn(qt):Promise.resolve(pn(qt))}},{key:"reviveSync",value:function(Zt,Ft){return this.revive(Zt,h({throwOnBadSyncType:!0},Ft,{sync:!0}))}},{key:"reviveAsync",value:function(Zt,Ft){return this.revive(Zt,h({throwOnBadSyncType:!0},Ft,{sync:!1}))}},{key:"register",value:function(Zt,Ft){return Ft=Ft||{},[].concat(Zt).forEach(function te(he){var $e=this;if(nt(he))return he.map(function(je){return te.call($e,je)});he&&H(he).forEach(function(je){if(je==="#")throw new TypeError("# cannot be used as a type name as it is reserved for cyclic objects");if(Nt.JSON_TYPES.includes(je))throw new TypeError("Plain JSON object types are reserved as type names");var xe=he[je],Ke=xe&&xe.testPlainObjects?this.plainObjectReplacers:this.nonplainObjectReplacers,Vl=Ke.filter(function(Jt){return Jt.type===je});if(Vl.length&&(Ke.splice(Ke.indexOf(Vl[0]),1),delete this.revivers[je],delete this.types[je]),typeof xe=="function"){var gl=xe;xe={test:function(be){return be&&be.constructor===gl},replace:function(be){return h({},be)},revive:function(be){return Object.assign(Object.create(gl.prototype),be)}}}else if(nt(xe)){var Pl=xe,Ql=b(Pl,3),El=Ql[0],pn=Ql[1],sn=Ql[2];xe={test:El,replace:pn,revive:sn}}if(!(!xe||!xe.test)){var qt={type:je,test:xe.test.bind(xe)};xe.replace&&(qt.replace=xe.replace.bind(xe)),xe.replaceAsync&&(qt.replaceAsync=xe.replaceAsync.bind(xe));var de=typeof Ft.fallback=="number"?Ft.fallback:Ft.fallback?0:1/0;if(xe.testPlainObjects?this.plainObjectReplacers.splice(de,0,qt):this.nonplainObjectReplacers.splice(de,0,qt),xe.revive||xe.reviveAsync){var Yt={};xe.revive&&(Yt.revive=xe.revive.bind(xe)),xe.reviveAsync&&(Yt.reviveAsync=xe.reviveAsync.bind(xe)),this.revivers[je]=[Yt,{plain:xe.testPlainObjects}]}this.types[je]=xe}},this)},this),this}}]),Nt}(),ne=function Nt(){s(this,Nt)};return ne.__typeson__type__="TypesonUndefined",ce.Undefined=ne,ce.Promise=g,ce.isThenable=K,ce.toStringTag=f,ce.hasConstructorOf=lt,ce.isObject=dt,ce.isPlainObject=tt,ce.isUserObject=ht,ce.escapeKeyPathComponent=It,ce.unescapeKeyPathComponent=kt,ce.getByKeyPath=Gt,ce.getJSONType=vt,ce.JSON_TYPES=["null","boolean","number","string","array","object"],ce})}),lF=qL(function(l,t){(function(e,n){l.exports=n()})(kX,function(){function e(Q){return(e=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(C){return typeof C}:function(C){return C&&typeof Symbol=="function"&&C.constructor===Symbol&&C!==Symbol.prototype?"symbol":typeof C})(Q)}function n(Q,C){if(!(Q instanceof C))throw new TypeError("Cannot call a class as a function")}function i(Q,C){for(var q=0;q<C.length;q++){var mt=C[q];mt.enumerable=mt.enumerable||!1,mt.configurable=!0,"value"in mt&&(mt.writable=!0),Object.defineProperty(Q,mt.key,mt)}}function s(Q,C,q){return C in Q?Object.defineProperty(Q,C,{value:q,enumerable:!0,configurable:!0,writable:!0}):Q[C]=q,Q}function a(Q,C){var q=Object.keys(Q);if(Object.getOwnPropertySymbols){var mt=Object.getOwnPropertySymbols(Q);C&&(mt=mt.filter(function(Vt){return Object.getOwnPropertyDescriptor(Q,Vt).enumerable})),q.push.apply(q,mt)}return q}function c(Q){return function(q){if(Array.isArray(q))return o(q)}(Q)||function(q){if(typeof Symbol<"u"&&Symbol.iterator in Object(q))return Array.from(q)}(Q)||function(q,mt){if(q){if(typeof q=="string")return o(q,mt);var Vt=Object.prototype.toString.call(q).slice(8,-1);if(Vt==="Object"&&q.constructor&&(Vt=q.constructor.name),Vt==="Map"||Vt==="Set")return Array.from(q);if(Vt==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Vt))return o(q,mt)}}(Q)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function o(Q,C){(C==null||C>Q.length)&&(C=Q.length);for(var q=0,mt=new Array(C);q<C;q++)mt[q]=Q[q];return mt}function d(Q){return(d=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(q){return typeof q}:function(q){return q&&typeof Symbol=="function"&&q.constructor===Symbol&&q!==Symbol.prototype?"symbol":typeof q})(Q)}function h(Q,C){if(!(Q instanceof C))throw new TypeError("Cannot call a class as a function")}function b(Q,C){for(var q=0;q<C.length;q++){var mt=C[q];mt.enumerable=mt.enumerable||!1,mt.configurable=!0,"value"in mt&&(mt.writable=!0),Object.defineProperty(Q,mt.key,mt)}}function p(Q,C,q){return C in Q?Object.defineProperty(Q,C,{value:q,enumerable:!0,configurable:!0,writable:!0}):Q[C]=q,Q}function y(Q,C){var q=Object.keys(Q);if(Object.getOwnPropertySymbols){var mt=Object.getOwnPropertySymbols(Q);C&&(mt=mt.filter(function(Vt){return Object.getOwnPropertyDescriptor(Q,Vt).enumerable})),q.push.apply(q,mt)}return q}function M(Q){for(var C=1;C<arguments.length;C++){var q=arguments[C]!=null?arguments[C]:{};C%2?y(Object(q),!0).forEach(function(mt){p(Q,mt,q[mt])}):Object.getOwnPropertyDescriptors?Object.defineProperties(Q,Object.getOwnPropertyDescriptors(q)):y(Object(q)).forEach(function(mt){Object.defineProperty(Q,mt,Object.getOwnPropertyDescriptor(q,mt))})}return Q}function T(Q,C){return function(mt){if(Array.isArray(mt))return mt}(Q)||function(mt,Vt){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(mt)))){var ie=[],Ot=!0,fe=!1,oe=void 0;try{for(var _e,$t=mt[Symbol.iterator]();!(Ot=(_e=$t.next()).done)&&(ie.push(_e.value),!Vt||ie.length!==Vt);Ot=!0);}catch(hl){fe=!0,oe=hl}finally{try{Ot||$t.return==null||$t.return()}finally{if(fe)throw oe}}return ie}}(Q,C)||L(Q,C)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function Y(Q){return function(q){if(Array.isArray(q))return x(q)}(Q)||function(q){if(typeof Symbol<"u"&&Symbol.iterator in Object(q))return Array.from(q)}(Q)||L(Q)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function L(Q,C){if(Q){if(typeof Q=="string")return x(Q,C);var q=Object.prototype.toString.call(Q).slice(8,-1);return q==="Object"&&Q.constructor&&(q=Q.constructor.name),q==="Map"||q==="Set"?Array.from(Q):q==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(q)?x(Q,C):void 0}}function x(Q,C){(C==null||C>Q.length)&&(C=Q.length);for(var q=0,mt=new Array(C);q<C;q++)mt[q]=Q[q];return mt}var g=function Q(C){h(this,Q),this.p=new Promise(C)};g.__typeson__type__="TypesonPromise",typeof Symbol<"u"&&(g.prototype[Symbol.toStringTag]="TypesonPromise"),g.prototype.then=function(Q,C){var q=this;return new g(function(mt,Vt){q.p.then(function(ie){mt(Q?Q(ie):ie)}).catch(function(ie){return C?C(ie):Promise.reject(ie)}).then(mt,Vt)})},g.prototype.catch=function(Q){return this.then(null,Q)},g.resolve=function(Q){return new g(function(C){C(Q)})},g.reject=function(Q){return new g(function(C,q){q(Q)})},["all","race"].forEach(function(Q){g[Q]=function(C){return new g(function(q,mt){Promise[Q](C.map(function(Vt){return Vt&&Vt.constructor&&Vt.constructor.__typeson__type__==="TypesonPromise"?Vt.p:Vt})).then(q,mt)})}});var F={}.toString,j={}.hasOwnProperty,D=Object.getPrototypeOf,_=j.toString;function ut(Q,C){return tt(Q)&&typeof Q.then=="function"&&(!C||typeof Q.catch=="function")}function K(Q){return F.call(Q).slice(8,-1)}function f(Q,C){if(!Q||d(Q)!=="object")return!1;var q=D(Q);if(!q)return C===null;var mt=j.call(q,"constructor")&&q.constructor;return typeof mt!="function"?C===null:C===mt||C!==null&&_.call(mt)===_.call(C)||typeof C=="function"&&typeof mt.__typeson__type__=="string"&&mt.__typeson__type__===C.__typeson__type__}function lt(Q){return!(!Q||K(Q)!=="Object")&&(!D(Q)||f(Q,Object))}function tt(Q){return Q&&d(Q)==="object"}function ht(Q){return Q.replace(/~/g,"~0").replace(/\./g,"~1")}function dt(Q){return Q.replace(/~1/g,".").replace(/~0/g,"~")}function It(Q,C){if(C==="")return Q;var q=C.indexOf(".");if(q>-1){var mt=Q[dt(C.slice(0,q))];return mt===void 0?void 0:It(mt,C.slice(q+1))}return Q[dt(C)]}function kt(Q,C,q){if(C==="")return q;var mt=C.indexOf(".");return mt>-1?kt(Q[dt(C.slice(0,mt))],C.slice(mt+1),q):(Q[dt(C)]=q,Q)}function Gt(Q,C,q){return q?C?C(Q):Q:(Q&&Q.then||(Q=Promise.resolve(Q)),C?Q.then(C):Q)}var gt=Object.keys,vt=Array.isArray,H={}.hasOwnProperty,nt=["type","replaced","iterateIn","iterateUnsetNumeric"];function bt(Q){return function(){for(var C=[],q=0;q<arguments.length;q++)C[q]=arguments[q];try{return Promise.resolve(Q.apply(this,C))}catch(mt){return Promise.reject(mt)}}}function $(Q,C){if(Q.keypath==="")return-1;var q=Q.keypath.match(/\./g)||0,mt=C.keypath.match(/\./g)||0;return q&&(q=q.length),mt&&(mt=mt.length),q>mt?-1:q<mt?1:Q.keypath<C.keypath?-1:Q.keypath>C.keypath}var _t=function(){function Q(C){h(this,Q),this.options=C,this.plainObjectReplacers=[],this.nonplainObjectReplacers=[],this.revivers={},this.types={}}return function(q,mt,Vt){return mt&&b(q.prototype,mt),q}(Q,[{key:"stringify",value:function(q,mt,Vt,ie){ie=M(M(M({},this.options),ie),{},{stringification:!0});var Ot=this.encapsulate(q,null,ie);return vt(Ot)?JSON.stringify(Ot[0],mt,Vt):Ot.then(function(fe){return JSON.stringify(fe,mt,Vt)})}},{key:"stringifySync",value:function(q,mt,Vt,ie){return this.stringify(q,mt,Vt,M(M({throwOnBadSyncType:!0},ie),{},{sync:!0}))}},{key:"stringifyAsync",value:function(q,mt,Vt,ie){return this.stringify(q,mt,Vt,M(M({throwOnBadSyncType:!0},ie),{},{sync:!1}))}},{key:"parse",value:function(q,mt,Vt){return Vt=M(M(M({},this.options),Vt),{},{parse:!0}),this.revive(JSON.parse(q,mt),Vt)}},{key:"parseSync",value:function(q,mt,Vt){return this.parse(q,mt,M(M({throwOnBadSyncType:!0},Vt),{},{sync:!0}))}},{key:"parseAsync",value:function(q,mt,Vt){return this.parse(q,mt,M(M({throwOnBadSyncType:!0},Vt),{},{sync:!1}))}},{key:"specialTypeNames",value:function(q,mt){var Vt=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return Vt.returnTypeNames=!0,this.encapsulate(q,mt,Vt)}},{key:"rootTypeName",value:function(q,mt){var Vt=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return Vt.iterateNone=!0,this.encapsulate(q,mt,Vt)}},{key:"encapsulate",value:function(q,mt,Vt){var ie=bt(function(Ne,Ut){return Gt(Promise.all(Ut.map(function(At){return At[1].p})),function(At){return Gt(Promise.all(At.map(bt(function(Qt){var Ve=!1,He=[],hn=T(Ut.splice(0,1),1),Bl=T(hn[0],7),Yn=Bl[0],vi=Bl[2],Il=Bl[3],Pn=Bl[4],Yl=Bl[5],Hn=Bl[6],Qn=Me(Yn,Qt,vi,Il,He,!0,Hn),Ln=f(Qn,g);return function(Ns,ec){var si=Ns();return si&&si.then?si.then(ec):ec(si)}(function(){if(Yn&&Ln)return Gt(Qn.p,function(zi){return Pn[Yl]=zi,Ve=!0,ie(Ne,He)})},function(zi){return Ve?zi:(Yn?Pn[Yl]=Qn:Ne=Ln?Qn.p:Qn,ie(Ne,He))})}))),function(){return Ne})})}),Ot=(Vt=M(M({sync:!0},this.options),Vt)).sync,fe=this,oe={},_e=[],$t=[],hl=[],xl=!("cyclic"in Vt)||Vt.cyclic,Nl=Vt.encapsulateObserver,it=Me("",q,xl,mt||{},hl);function Et(Ne){var Ut=Object.values(oe);if(Vt.iterateNone)return Ut.length?Ut[0]:Q.getJSONType(Ne);if(Ut.length){if(Vt.returnTypeNames)return Y(new Set(Ut));Ne&<(Ne)&&!H.call(Ne,"$types")?Ne.$types=oe:Ne={$:Ne,$types:{$:oe}}}else tt(Ne)&&H.call(Ne,"$types")&&(Ne={$:Ne,$types:!0});return!Vt.returnTypeNames&&Ne}function le(Ne,Ut,At){Object.assign(Ne,Ut);var Qt=nt.map(function(Ve){var He=Ne[Ve];return delete Ne[Ve],He});At(),nt.forEach(function(Ve,He){Ne[Ve]=Qt[He]})}function Me(Ne,Ut,At,Qt,Ve,He,hn){var Bl,Yn={},vi=d(Ut),Il=Nl?function(ui){var bl=hn||Qt.type||Q.getJSONType(Ut);Nl(Object.assign(ui||Yn,{keypath:Ne,value:Ut,cyclic:At,stateObj:Qt,promisesData:Ve,resolvingTypesonPromise:He,awaitingTypesonPromise:f(Ut,g)},{type:bl}))}:null;if(["string","boolean","number","undefined"].includes(vi))return Ut===void 0||Number.isNaN(Ut)||Ut===Number.NEGATIVE_INFINITY||Ut===Number.POSITIVE_INFINITY?(Bl=Qt.replaced?Ut:ml(Ne,Ut,Qt,Ve,!1,He,Il))!==Ut&&(Yn={replaced:Bl}):Bl=Ut,Il&&Il(),Bl;if(Ut===null)return Il&&Il(),Ut;if(At&&!Qt.iterateIn&&!Qt.iterateUnsetNumeric&&Ut&&d(Ut)==="object"){var Pn=_e.indexOf(Ut);if(!(Pn<0))return oe[Ne]="#",Il&&Il({cyclicKeypath:$t[Pn]}),"#"+$t[Pn];At===!0&&(_e.push(Ut),$t.push(Ne))}var Yl,Hn=lt(Ut),Qn=vt(Ut),Ln=(Hn||Qn)&&(!fe.plainObjectReplacers.length||Qt.replaced)||Qt.iterateIn?Ut:ml(Ne,Ut,Qt,Ve,Hn||Qn,null,Il);if(Ln!==Ut?(Bl=Ln,Yn={replaced:Ln}):Ne===""&&f(Ut,g)?(Ve.push([Ne,Ut,At,Qt,void 0,void 0,Qt.type]),Bl=Ut):Qn&&Qt.iterateIn!=="object"||Qt.iterateIn==="array"?(Yl=new Array(Ut.length),Yn={clone:Yl}):(["function","symbol"].includes(d(Ut))||"toJSON"in Ut||f(Ut,g)||f(Ut,Promise)||f(Ut,ArrayBuffer))&&!Hn&&Qt.iterateIn!=="object"?Bl=Ut:(Yl={},Qt.addLength&&(Yl.length=Ut.length),Yn={clone:Yl}),Il&&Il(),Vt.iterateNone)return Yl||Bl;if(!Yl)return Bl;if(Qt.iterateIn){var zi=function(bl){var Ms={ownKeys:H.call(Ut,bl)};le(Qt,Ms,function(){var Ni=Ne+(Ne?".":"")+ht(bl),ns=Me(Ni,Ut[bl],!!At,Qt,Ve,He);f(ns,g)?Ve.push([Ni,ns,!!At,Qt,Yl,bl,Qt.type]):ns!==void 0&&(Yl[bl]=ns)})};for(var Ns in Ut)zi(Ns);Il&&Il({endIterateIn:!0,end:!0})}else gt(Ut).forEach(function(ui){var bl=Ne+(Ne?".":"")+ht(ui);le(Qt,{ownKeys:!0},function(){var Ms=Me(bl,Ut[ui],!!At,Qt,Ve,He);f(Ms,g)?Ve.push([bl,Ms,!!At,Qt,Yl,ui,Qt.type]):Ms!==void 0&&(Yl[ui]=Ms)})}),Il&&Il({endIterateOwn:!0,end:!0});if(Qt.iterateUnsetNumeric){for(var ec=Ut.length,si=function(bl){if(!(bl in Ut)){var Ms=Ne+(Ne?".":"")+bl;le(Qt,{ownKeys:!1},function(){var Ni=Me(Ms,void 0,!!At,Qt,Ve,He);f(Ni,g)?Ve.push([Ms,Ni,!!At,Qt,Yl,bl,Qt.type]):Ni!==void 0&&(Yl[bl]=Ni)})}},on=0;on<ec;on++)si(on);Il&&Il({endIterateUnsetNumeric:!0,end:!0})}return Yl}function ml(Ne,Ut,At,Qt,Ve,He,hn){for(var Bl=Ve?fe.plainObjectReplacers:fe.nonplainObjectReplacers,Yn=Bl.length;Yn--;){var vi=Bl[Yn];if(vi.test(Ut,At)){var Il=vi.type;if(fe.revivers[Il]){var Pn=oe[Ne];oe[Ne]=Pn?[Il].concat(Pn):Il}return Object.assign(At,{type:Il,replaced:!0}),!Ot&&vi.replaceAsync||vi.replace?(hn&&hn({replacing:!0}),Me(Ne,vi[Ot||!vi.replaceAsync?"replace":"replaceAsync"](Ut,At),xl&&"readonly",At,Qt,He,Il)):(hn&&hn({typeDetected:!0}),Me(Ne,Ut,xl&&"readonly",At,Qt,He,Il))}}return Ut}return hl.length?Ot&&Vt.throwOnBadSyncType?function(){throw new TypeError("Sync method requested but async result obtained")}():Promise.resolve(ie(it,hl)).then(Et):!Ot&&Vt.throwOnBadSyncType?function(){throw new TypeError("Async method requested but sync result obtained")}():Vt.stringification&&Ot?[Et(it)]:Ot?Et(it):Promise.resolve(Et(it))}},{key:"encapsulateSync",value:function(q,mt,Vt){return this.encapsulate(q,mt,M(M({throwOnBadSyncType:!0},Vt),{},{sync:!0}))}},{key:"encapsulateAsync",value:function(q,mt,Vt){return this.encapsulate(q,mt,M(M({throwOnBadSyncType:!0},Vt),{},{sync:!1}))}},{key:"revive",value:function(q,mt){var Vt=q&&q.$types;if(!Vt)return q;if(Vt===!0)return q.$;var ie=(mt=M(M({sync:!0},this.options),mt)).sync,Ot=[],fe={},oe=!0;Vt.$&<(Vt.$)&&(q=q.$,Vt=Vt.$,oe=!1);var _e=this;function $t(Et,le){var Me=T(_e.revivers[Et]||[],1)[0];if(!Me)throw new Error("Unregistered type: "+Et);return ie&&!("revive"in Me)?le:Me[ie&&Me.revive?"revive":!ie&&Me.reviveAsync?"reviveAsync":"revive"](le,fe)}var hl=[];function xl(Et){return f(Et,ce)?void 0:Et}var Nl,it=function(){var le=[];if(Object.entries(Vt).forEach(function(Me){var ml=T(Me,2),Ne=ml[0],Ut=ml[1];Ut!=="#"&&[].concat(Ut).forEach(function(At){T(_e.revivers[At]||[null,{}],2)[1].plain&&(le.push({keypath:Ne,type:At}),delete Vt[Ne])})}),le.length)return le.sort($).reduce(function Me(ml,Ne){var Ut=Ne.keypath,At=Ne.type;if(ut(ml))return ml.then(function(He){return Me(He,{keypath:Ut,type:At})});var Qt=It(q,Ut);if(f(Qt=$t(At,Qt),g))return Qt.then(function(He){var hn=kt(q,Ut,He);hn===He&&(q=hn)});var Ve=kt(q,Ut,Qt);Ve===Qt&&(q=Ve)},void 0)}();return f(it,g)?Nl=it.then(function(){return q}):(Nl=function Et(le,Me,ml,Ne,Ut){if(!oe||le!=="$types"){var At=Vt[le],Qt=vt(Me);if(Qt||lt(Me)){var Ve=Qt?new Array(Me.length):{};for(gt(Me).forEach(function(Yl){var Hn=Et(le+(le?".":"")+ht(Yl),Me[Yl],ml||Ve,Ve,Yl),Qn=function(zi){return f(zi,ce)?Ve[Yl]=void 0:zi!==void 0&&(Ve[Yl]=zi),zi};f(Hn,g)?hl.push(Hn.then(function(Ln){return Qn(Ln)})):Qn(Hn)}),Me=Ve;Ot.length;){var He=T(Ot[0],4),hn=He[0],Bl=He[1],Yn=He[2],vi=He[3],Il=It(hn,Bl);if(Il===void 0)break;Yn[vi]=Il,Ot.splice(0,1)}}if(!At)return Me;if(At==="#"){var Pn=It(ml,Me.slice(1));return Pn===void 0&&Ot.push([ml,Me.slice(1),Ne,Ut]),Pn}return[].concat(At).reduce(function Yl(Hn,Qn){return f(Hn,g)?Hn.then(function(Ln){return Yl(Ln,Qn)}):$t(Qn,Hn)},Me)}}("",q,null),hl.length&&(Nl=g.resolve(Nl).then(function(Et){return g.all([Et].concat(hl))}).then(function(Et){return T(Et,1)[0]}))),ut(Nl)?ie&&mt.throwOnBadSyncType?function(){throw new TypeError("Sync method requested but async result obtained")}():f(Nl,g)?Nl.p.then(xl):Nl:!ie&&mt.throwOnBadSyncType?function(){throw new TypeError("Async method requested but sync result obtained")}():ie?xl(Nl):Promise.resolve(xl(Nl))}},{key:"reviveSync",value:function(q,mt){return this.revive(q,M(M({throwOnBadSyncType:!0},mt),{},{sync:!0}))}},{key:"reviveAsync",value:function(q,mt){return this.revive(q,M(M({throwOnBadSyncType:!0},mt),{},{sync:!1}))}},{key:"register",value:function(q,mt){return mt=mt||{},[].concat(q).forEach(function Vt(ie){var Ot=this;if(vt(ie))return ie.map(function(fe){return Vt.call(Ot,fe)});ie&>(ie).forEach(function(fe){if(fe==="#")throw new TypeError("# cannot be used as a type name as it is reserved for cyclic objects");if(Q.JSON_TYPES.includes(fe))throw new TypeError("Plain JSON object types are reserved as type names");var oe=ie[fe],_e=oe&&oe.testPlainObjects?this.plainObjectReplacers:this.nonplainObjectReplacers,$t=_e.filter(function(le){return le.type===fe});if($t.length&&(_e.splice(_e.indexOf($t[0]),1),delete this.revivers[fe],delete this.types[fe]),typeof oe=="function"){var hl=oe;oe={test:function(Me){return Me&&Me.constructor===hl},replace:function(Me){return M({},Me)},revive:function(Me){return Object.assign(Object.create(hl.prototype),Me)}}}else if(vt(oe)){var xl=T(oe,3);oe={test:xl[0],replace:xl[1],revive:xl[2]}}if(oe&&oe.test){var Nl={type:fe,test:oe.test.bind(oe)};oe.replace&&(Nl.replace=oe.replace.bind(oe)),oe.replaceAsync&&(Nl.replaceAsync=oe.replaceAsync.bind(oe));var it=typeof mt.fallback=="number"?mt.fallback:mt.fallback?0:Number.POSITIVE_INFINITY;if(oe.testPlainObjects?this.plainObjectReplacers.splice(it,0,Nl):this.nonplainObjectReplacers.splice(it,0,Nl),oe.revive||oe.reviveAsync){var Et={};oe.revive&&(Et.revive=oe.revive.bind(oe)),oe.reviveAsync&&(Et.reviveAsync=oe.reviveAsync.bind(oe)),this.revivers[fe]=[Et,{plain:oe.testPlainObjects}]}this.types[fe]=oe}},this)},this),this}}]),Q}(),ce=function Q(){h(this,Q)};ce.__typeson__type__="TypesonUndefined",_t.Undefined=ce,_t.Promise=g,_t.isThenable=ut,_t.toStringTag=K,_t.hasConstructorOf=f,_t.isObject=tt,_t.isPlainObject=lt,_t.isUserObject=function Q(C){if(!C||K(C)!=="Object")return!1;var q=D(C);return!q||f(C,Object)||Q(q)},_t.escapeKeyPathComponent=ht,_t.unescapeKeyPathComponent=dt,_t.getByKeyPath=It,_t.getJSONType=function(C){return C===null?"null":Array.isArray(C)?"array":d(C)},_t.JSON_TYPES=["null","boolean","number","string","array","object"];for(var ne={userObject:{test:function(C,q){return _t.isUserObject(C)},replace:function(C){return function(mt){for(var Vt=1;Vt<arguments.length;Vt++){var ie=arguments[Vt]!=null?arguments[Vt]:{};Vt%2?a(Object(ie),!0).forEach(function(Ot){s(mt,Ot,ie[Ot])}):Object.getOwnPropertyDescriptors?Object.defineProperties(mt,Object.getOwnPropertyDescriptors(ie)):a(Object(ie)).forEach(function(Ot){Object.defineProperty(mt,Ot,Object.getOwnPropertyDescriptor(ie,Ot))})}return mt}({},C)},revive:function(C){return C}}},Nt=[{arrayNonindexKeys:{testPlainObjects:!0,test:function(C,q){return!!Array.isArray(C)&&(Object.keys(C).some(function(mt){return String(Number.parseInt(mt))!==mt})&&(q.iterateIn="object",q.addLength=!0),!0)},replace:function(C,q){return q.iterateUnsetNumeric=!0,C},revive:function(C){if(Array.isArray(C))return C;var q=[];return Object.keys(C).forEach(function(mt){var Vt=C[mt];q[mt]=Vt}),q}}},{sparseUndefined:{test:function(C,q){return C===void 0&&q.ownKeys===!1},replace:function(C){return 0},revive:function(C){}}}],xt={undef:{test:function(C,q){return C===void 0&&(q.ownKeys||!("ownKeys"in q))},replace:function(C){return 0},revive:function(C){return new _t.Undefined}}},Zt={StringObject:{test:function(C){return _t.toStringTag(C)==="String"&&e(C)==="object"},replace:function(C){return String(C)},revive:function(C){return new String(C)}},BooleanObject:{test:function(C){return _t.toStringTag(C)==="Boolean"&&e(C)==="object"},replace:function(C){return!!C},revive:function(C){return new Boolean(C)}},NumberObject:{test:function(C){return _t.toStringTag(C)==="Number"&&e(C)==="object"},replace:function(C){return Number(C)},revive:function(C){return new Number(C)}}},Ft=[{nan:{test:function(C){return Number.isNaN(C)},replace:function(C){return"NaN"},revive:function(C){return Number.NaN}}},{infinity:{test:function(C){return C===Number.POSITIVE_INFINITY},replace:function(C){return"Infinity"},revive:function(C){return Number.POSITIVE_INFINITY}}},{negativeInfinity:{test:function(C){return C===Number.NEGATIVE_INFINITY},replace:function(C){return"-Infinity"},revive:function(C){return Number.NEGATIVE_INFINITY}}}],te={date:{test:function(C){return _t.toStringTag(C)==="Date"},replace:function(C){var q=C.getTime();return Number.isNaN(q)?"NaN":q},revive:function(C){return C==="NaN"?new Date(Number.NaN):new Date(C)}}},he={regexp:{test:function(C){return _t.toStringTag(C)==="RegExp"},replace:function(C){return{source:C.source,flags:(C.global?"g":"")+(C.ignoreCase?"i":"")+(C.multiline?"m":"")+(C.sticky?"y":"")+(C.unicode?"u":"")}},revive:function(C){var q=C.source,mt=C.flags;return new RegExp(q,mt)}}},$e={map:{test:function(C){return _t.toStringTag(C)==="Map"},replace:function(C){return c(C.entries())},revive:function(C){return new Map(C)}}},je={set:{test:function(C){return _t.toStringTag(C)==="Set"},replace:function(C){return c(C.values())},revive:function(C){return new Set(C)}}},xe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ke=new Uint8Array(256),Vl=0;Vl<xe.length;Vl++)Ke[xe.charCodeAt(Vl)]=Vl;var gl=function(C,q,mt){mt==null&&(mt=C.byteLength);for(var Vt=new Uint8Array(C,0,mt),ie=Vt.length,Ot="",fe=0;fe<ie;fe+=3)Ot+=xe[Vt[fe]>>2],Ot+=xe[(3&Vt[fe])<<4|Vt[fe+1]>>4],Ot+=xe[(15&Vt[fe+1])<<2|Vt[fe+2]>>6],Ot+=xe[63&Vt[fe+2]];return ie%3==2?Ot=Ot.slice(0,-1)+"=":ie%3==1&&(Ot=Ot.slice(0,-2)+"=="),Ot},Pl=function(C){var q,mt,Vt,ie,Ot=C.length,fe=.75*C.length,oe=0;C[C.length-1]==="="&&(fe--,C[C.length-2]==="="&&fe--);for(var _e=new ArrayBuffer(fe),$t=new Uint8Array(_e),hl=0;hl<Ot;hl+=4)q=Ke[C.charCodeAt(hl)],mt=Ke[C.charCodeAt(hl+1)],Vt=Ke[C.charCodeAt(hl+2)],ie=Ke[C.charCodeAt(hl+3)],$t[oe++]=q<<2|mt>>4,$t[oe++]=(15&mt)<<4|Vt>>2,$t[oe++]=(3&Vt)<<6|63&ie;return _e},Ql={arraybuffer:{test:function(C){return _t.toStringTag(C)==="ArrayBuffer"},replace:function(C,q){q.buffers||(q.buffers=[]);var mt=q.buffers.indexOf(C);return mt>-1?{index:mt}:(q.buffers.push(C),gl(C))},revive:function(C,q){if(q.buffers||(q.buffers=[]),e(C)==="object")return q.buffers[C.index];var mt=Pl(C);return q.buffers.push(mt),mt}}},El=typeof self>"u"?kX:self,pn={};["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array"].forEach(function(Q){var C=Q,q=El[C];q&&(pn[Q.toLowerCase()]={test:function(Vt){return _t.toStringTag(Vt)===C},replace:function(Vt,ie){var Ot=Vt.buffer,fe=Vt.byteOffset,oe=Vt.length;ie.buffers||(ie.buffers=[]);var _e=ie.buffers.indexOf(Ot);return _e>-1?{index:_e,byteOffset:fe,length:oe}:(ie.buffers.push(Ot),{encoded:gl(Ot),byteOffset:fe,length:oe})},revive:function(Vt,ie){ie.buffers||(ie.buffers=[]);var Ot,fe=Vt.byteOffset,oe=Vt.length,_e=Vt.encoded,$t=Vt.index;return"index"in Vt?Ot=ie.buffers[$t]:(Ot=Pl(_e),ie.buffers.push(Ot)),new q(Ot,fe,oe)}})});var sn={dataview:{test:function(C){return _t.toStringTag(C)==="DataView"},replace:function(C,q){var mt=C.buffer,Vt=C.byteOffset,ie=C.byteLength;q.buffers||(q.buffers=[]);var Ot=q.buffers.indexOf(mt);return Ot>-1?{index:Ot,byteOffset:Vt,byteLength:ie}:(q.buffers.push(mt),{encoded:gl(mt),byteOffset:Vt,byteLength:ie})},revive:function(C,q){q.buffers||(q.buffers=[]);var mt,Vt=C.byteOffset,ie=C.byteLength,Ot=C.encoded,fe=C.index;return"index"in C?mt=q.buffers[fe]:(mt=Pl(Ot),q.buffers.push(mt)),new DataView(mt,Vt,ie)}}},qt={IntlCollator:{test:function(C){return _t.hasConstructorOf(C,Intl.Collator)},replace:function(C){return C.resolvedOptions()},revive:function(C){return new Intl.Collator(C.locale,C)}},IntlDateTimeFormat:{test:function(C){return _t.hasConstructorOf(C,Intl.DateTimeFormat)},replace:function(C){return C.resolvedOptions()},revive:function(C){return new Intl.DateTimeFormat(C.locale,C)}},IntlNumberFormat:{test:function(C){return _t.hasConstructorOf(C,Intl.NumberFormat)},replace:function(C){return C.resolvedOptions()},revive:function(C){return new Intl.NumberFormat(C.locale,C)}}};function de(Q){for(var C=new Uint8Array(Q.length),q=0;q<Q.length;q++)C[q]=Q.charCodeAt(q);return C.buffer}var Yt={file:{test:function(C){return _t.toStringTag(C)==="File"},replace:function(C){var q=new XMLHttpRequest;if(q.overrideMimeType("text/plain; charset=x-user-defined"),q.open("GET",URL.createObjectURL(C),!1),q.send(),q.status!==200&&q.status!==0)throw new Error("Bad File access: "+q.status);return{type:C.type,stringContents:q.responseText,name:C.name,lastModified:C.lastModified}},revive:function(C){var q=C.name,mt=C.type,Vt=C.stringContents,ie=C.lastModified;return new File([de(Vt)],q,{type:mt,lastModified:ie})},replaceAsync:function(C){return new _t.Promise(function(q,mt){var Vt=new FileReader;Vt.addEventListener("load",function(){q({type:C.type,stringContents:Vt.result,name:C.name,lastModified:C.lastModified})}),Vt.addEventListener("error",function(){mt(Vt.error)}),Vt.readAsBinaryString(C)})}}},Jt={bigint:{test:function(C){return typeof C=="bigint"},replace:function(C){return String(C)},revive:function(C){return BigInt(C)}}},be={bigintObject:{test:function(C){return e(C)==="object"&&_t.hasConstructorOf(C,BigInt)},replace:function(C){return String(C)},revive:function(C){return new Object(BigInt(C))}}},ee={cryptokey:{test:function(C){return _t.toStringTag(C)==="CryptoKey"&&C.extractable},replaceAsync:function(C){return new _t.Promise(function(q,mt){crypto.subtle.exportKey("jwk",C).catch(function(Vt){mt(Vt)}).then(function(Vt){q({jwk:Vt,algorithm:C.algorithm,usages:C.usages})})})},revive:function(C){var q=C.jwk,mt=C.algorithm,Vt=C.usages;return crypto.subtle.importKey("jwk",q,mt,!0,Vt)}}};return[ne,xt,Nt,Zt,Ft,te,he,{imagedata:{test:function(C){return _t.toStringTag(C)==="ImageData"},replace:function(C){return{array:c(C.data),width:C.width,height:C.height}},revive:function(C){return new ImageData(new Uint8ClampedArray(C.array),C.width,C.height)}}},{imagebitmap:{test:function(C){return _t.toStringTag(C)==="ImageBitmap"||C&&C.dataset&&C.dataset.toStringTag==="ImageBitmap"},replace:function(C){var q=document.createElement("canvas");return q.getContext("2d").drawImage(C,0,0),q.toDataURL()},revive:function(C){var q=document.createElement("canvas"),mt=q.getContext("2d"),Vt=document.createElement("img");return Vt.addEventListener("load",function(){mt.drawImage(Vt,0,0)}),Vt.src=C,q},reviveAsync:function(C){var q=document.createElement("canvas"),mt=q.getContext("2d"),Vt=document.createElement("img");return Vt.addEventListener("load",function(){mt.drawImage(Vt,0,0)}),Vt.src=C,createImageBitmap(q)}}},Yt,{file:Yt.file,filelist:{test:function(C){return _t.toStringTag(C)==="FileList"},replace:function(C){for(var q=[],mt=0;mt<C.length;mt++)q[mt]=C.item(mt);return q},revive:function(C){return new(function(){function q(){n(this,q),this._files=arguments[0],this.length=this._files.length}return function(Vt,ie,Ot){return ie&&i(Vt.prototype,ie),Vt}(q,[{key:"item",value:function(Vt){return this._files[Vt]}},{key:Symbol.toStringTag,get:function(){return"FileList"}}]),q}())(C)}}},{blob:{test:function(C){return _t.toStringTag(C)==="Blob"},replace:function(C){var q=new XMLHttpRequest;if(q.overrideMimeType("text/plain; charset=x-user-defined"),q.open("GET",URL.createObjectURL(C),!1),q.send(),q.status!==200&&q.status!==0)throw new Error("Bad Blob access: "+q.status);return{type:C.type,stringContents:q.responseText}},revive:function(C){var q=C.type,mt=C.stringContents;return new Blob([de(mt)],{type:q})},replaceAsync:function(C){return new _t.Promise(function(q,mt){var Vt=new FileReader;Vt.addEventListener("load",function(){q({type:C.type,stringContents:Vt.result})}),Vt.addEventListener("error",function(){mt(Vt.error)}),Vt.readAsBinaryString(C)})}}}].concat(typeof Map=="function"?$e:[],typeof Set=="function"?je:[],typeof ArrayBuffer=="function"?Ql:[],typeof Uint8Array=="function"?pn:[],typeof DataView=="function"?sn:[],typeof Intl<"u"?qt:[],typeof crypto<"u"?ee:[],typeof BigInt<"u"?[Jt,be]:[])})}),Lb="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ap=new Uint8Array(256);for(var PN=0;PN<Lb.length;PN++)Ap[Lb.codePointAt(PN)]=PN;var DX=function(t,e,n){n==null&&(n=t.byteLength);for(var i=new Uint8Array(t,0,n),s=i.length,a="",c=0;c<s;c+=3)a+=Lb[i[c]>>2],a+=Lb[(i[c]&3)<<4|i[c+1]>>4],a+=Lb[(i[c+1]&15)<<2|i[c+2]>>6],a+=Lb[i[c+2]&63];return s%3===2?a=a.slice(0,-1)+"=":s%3===1&&(a=a.slice(0,-2)+"=="),a},Qx=function(t){var e=t.length,n=t.length*.75,i=0,s,a,c,o;t[t.length-1]==="="&&(n--,t[t.length-2]==="="&&n--);for(var d=new ArrayBuffer(n),h=new Uint8Array(d),b=0;b<e;b+=4)s=Ap[t.codePointAt(b)],a=Ap[t.codePointAt(b+1)],c=Ap[t.codePointAt(b+2)],o=Ap[t.codePointAt(b+3)],h[i++]=s<<2|a>>4,h[i++]=(a&15)<<4|c>>2,h[i++]=(c&3)<<6|o&63;return d},nF=typeof self>"u"?global:self,Bx={};["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array"].forEach(function(l){var t=l,e=nF[t];e&&(Bx[l.toLowerCase()+"2"]={test:function(n){return NG.toStringTag(n)===t},replace:function(n){var i=n.buffer,s=n.byteOffset,a=n.length;return{buffer:i,byteOffset:s,length:a}},revive:function(n){var i=n.buffer,s=n.byteOffset,a=n.length;return new e(i,s,a)}})});var iF={arraybuffer:{test:function(l){return NG.toStringTag(l)==="ArrayBuffer"},replace:function(l){return DX(l,0,l.byteLength)},revive:function(l){var t=Qx(l);return t}}},Xc=new NG().register(lF),sF="FileReaderSync"in self,NM=[],R1=0;Xc.register([iF,Bx,{blob2:{test:function(l){return NG.toStringTag(l)==="Blob"},replace:function(l){if(l.isClosed)throw new Error("The Blob is closed");if(sF){var t=Hx(l,"binary"),e=DX(t,0,t.byteLength);return{type:l.type,data:e}}else{NM.push(l);var n={type:l.type,data:{start:R1,end:R1+l.size}};return R1+=l.size,n}},finalize:function(l,t){l.data=DX(t,0,t.byteLength)},revive:function(l){var t=l.type,e=l.data;return new Blob([Qx(e)],{type:t})}}}]);Xc.mustFinalize=function(){return NM.length>0};Xc.finalize=function(l){return s0(void 0,void 0,void 0,function(){var t,e,n,i,s,a,c,o,d,h,b,p;return nr(this,function(y){switch(y.label){case 0:return[4,Px(new Blob(NM),"binary")];case 1:if(t=y.sent(),l){for(e=0,n=l;e<n.length;e++)if(i=n[e],i.$types){s=i.$types,a=s.$,a&&(s=s.$);for(c in s)o=s[c],d=Xc.types[o],d&&d.finalize&&(h=ls.getByKeyPath(i,a?"$."+c:c),d.finalize(h,t.slice((b=h.data)===null||b===void 0?void 0:b.start,(p=h.data)===null||p===void 0?void 0:p.end)))}}return NM=[],R1=0,[2]}})})};var aF=2e3;function Ax(l,t){return s0(this,void 0,void 0,function(){function e(){return s0(this,void 0,void 0,function(){var b,p,y,M,T,Y,L,x,g,F;return nr(this,function(j){switch(j.label){case 0:return[4,Promise.all(i.map(function(D){return D.count()}))];case 1:b=j.sent(),b.forEach(function(D,_){return a[_].rowCount=D}),h.totalRows=b.reduce(function(D,_){return D+_}),p=JSON.stringify(o,void 0,c?2:void 0),y=p.lastIndexOf("]"),M=p.substring(0,y),s.push(M),T=t.filter,Y=t.transform,L=function(D){var _,ut,K,f,lt,tt,ht,dt,It,kt,Gt,gt;return nr(this,function(vt){switch(vt.label){case 0:_=l.table(D),ut=_.schema.primKey,K=!!ut.keyPath,f=t.numRowsPerChunk||aF,lt=K?{tableName:_.name,inbound:!0,rows:[]}:{tableName:_.name,inbound:!1,rows:[]},tt=JSON.stringify(lt,void 0,c?2:void 0),c&&(tt=tt.split(`
|
||
`).join(`
|
||
`)),ht=tt.lastIndexOf("]"),s.push(tt.substring(0,ht)),dt=null,It=0,kt=!0,Gt=function(){var H,nt,bt,$,_t,xt,ce,ne,Nt,xt;return nr(this,function(Zt){switch(Zt.label){case 0:return d&&ls.ignoreTransaction(function(){return d(h)}),H=dt==null?_.limit(f):_.where(":id").above(dt).limit(f),[4,H.toArray()];case 1:return nt=Zt.sent(),nt.length===0?[2,"break"]:(dt!=null&&It>0&&(s.push(","),c&&s.push(`
|
||
`)),kt=nt.length===f,K?(bt=T?nt.filter(function(Ft){return T(D,Ft)}):nt,$=Y?bt.map(function(Ft){return Y(D,Ft).value}):bt,_t=$.map(function(Ft){return Xc.encapsulate(Ft)}),Xc.mustFinalize()?[4,ls.waitFor(Xc.finalize(_t))]:[3,3]):[3,4]);case 2:Zt.sent(),Zt.label=3;case 3:return xt=JSON.stringify(_t,void 0,c?2:void 0),c&&(xt=xt.split(`
|
||
`).join(`
|
||
`)),s.push(new Blob([xt.substring(1,xt.length-1)])),It=$.length,dt=nt.length>0?ls.getByKeyPath(nt[nt.length-1],ut.keyPath):null,[3,8];case 4:return[4,H.primaryKeys()];case 5:return ce=Zt.sent(),ne=ce.map(function(Ft,te){return[Ft,nt[te]]}),T&&(ne=ne.filter(function(Ft){var te=Ft[0],he=Ft[1];return T(D,he,te)})),Y&&(ne=ne.map(function(Ft){var te=Ft[0],he=Ft[1],$e=Y(D,he,te);return[$e.key,$e.value]})),Nt=ne.map(function(Ft){return Xc.encapsulate(Ft)}),Xc.mustFinalize()?[4,ls.waitFor(Xc.finalize(Nt))]:[3,7];case 6:Zt.sent(),Zt.label=7;case 7:xt=JSON.stringify(Nt,void 0,c?2:void 0),c&&(xt=xt.split(`
|
||
`).join(`
|
||
`)),s.push(new Blob([xt.substring(1,xt.length-1)])),It=ne.length,dt=ce.length>0?ce[ce.length-1]:null,Zt.label=8;case 8:return h.completedRows+=nt.length,[2]}})},vt.label=1;case 1:return kt?[5,Gt()]:[3,3];case 2:return gt=vt.sent(),gt==="break"?[3,3]:[3,1];case 3:return s.push(tt.substr(ht)),h.completedTables+=1,h.completedTables<h.totalTables&&s.push(","),[2]}})},x=0,g=a,j.label=2;case 2:return x<g.length?(F=g[x].name,[5,L(F)]):[3,5];case 3:j.sent(),j.label=4;case 4:return x++,[3,2];case 5:return s.push(p.substr(y)),h.done=!0,d&&ls.ignoreTransaction(function(){return d(h)}),[2]}})})}var n,i,s,a,c,o,d,h;return nr(this,function(b){switch(b.label){case 0:t=t||{},n=t.skipTables?t.skipTables:[],i=l.tables.filter(function(p){return!n.includes(p.name)}),s=[],a=i.map(function(p){return{name:p.name,schema:tF(p),rowCount:0}}),c=t.prettyJson,o={formatName:"dexie",formatVersion:1,data:{databaseName:l.name,databaseVersion:l.verno,tables:a,data:[]}},d=t.progressCallback,h={done:!1,completedRows:0,completedTables:0,totalRows:NaN,totalTables:a.length},b.label=1;case 1:return b.trys.push([1,,6,7]),t.noTransaction?[4,e()]:[3,3];case 2:return b.sent(),[3,5];case 3:return[4,l.transaction("r",l.tables,e)];case 4:b.sent(),b.label=5;case 5:return[3,7];case 6:return Xc.finalize(),[7];case 7:return[2,new Blob(s,{type:"text/json"})]}})})}var cF=1,rF={Stream:function(){}},oF=qL(function(l,t){(function(e){var n=typeof process=="object"&&mz?mz:self;e.parser=function(K){return new y(K)},e.CParser=y,e.CStream=T,e.createStream=M,e.MAX_BUFFER_LENGTH=10*1024*1024,e.DEBUG=n.CDEBUG==="debug",e.INFO=n.CDEBUG==="debug"||n.CDEBUG==="info",e.EVENTS=["value","string","key","openobject","closeobject","openarray","closearray","error","end","ready"];var i={textNode:void 0,numberNode:""},s=e.EVENTS.filter(function(K){return K!=="error"&&K!=="end"}),a=0,c;e.STATE={BEGIN:a++,VALUE:a++,OPEN_OBJECT:a++,CLOSE_OBJECT:a++,OPEN_ARRAY:a++,CLOSE_ARRAY:a++,TEXT_ESCAPE:a++,STRING:a++,BACKSLASH:a++,END:a++,OPEN_KEY:a++,CLOSE_KEY:a++,TRUE:a++,TRUE2:a++,TRUE3:a++,FALSE:a++,FALSE2:a++,FALSE3:a++,FALSE4:a++,NULL:a++,NULL2:a++,NULL3:a++,NUMBER_DECIMAL_POINT:a++,NUMBER_DIGIT:a++};for(var o in e.STATE)e.STATE[e.STATE[o]]=o;a=e.STATE;const d={tab:9,lineFeed:10,carriageReturn:13,space:32,doubleQuote:34,plus:43,comma:44,minus:45,period:46,_0:48,_9:57,colon:58,E:69,openBracket:91,backslash:92,closeBracket:93,a:97,b:98,e:101,f:102,l:108,n:110,r:114,s:115,t:116,u:117,openBrace:123,closeBrace:125};Object.create||(Object.create=function(K){function f(){this.__proto__=K}return f.prototype=K,new f}),Object.getPrototypeOf||(Object.getPrototypeOf=function(K){return K.__proto__}),Object.keys||(Object.keys=function(K){var f=[];for(var lt in K)K.hasOwnProperty(lt)&&f.push(lt);return f});function h(K){var f=Math.max(e.MAX_BUFFER_LENGTH,10),lt=0;for(var tt in i){var ht=K[tt]===void 0?0:K[tt].length;if(ht>f)switch(tt){case"text":closeText(K);break;default:j(K,"Max buffer length exceeded: "+tt)}lt=Math.max(lt,ht)}K.bufferCheckPosition=e.MAX_BUFFER_LENGTH-lt+K.position}function b(K){for(var f in i)K[f]=i[f]}var p=/[\\"\n]/g;function y(K){if(!(this instanceof y))return new y(K);var f=this;b(f),f.bufferCheckPosition=e.MAX_BUFFER_LENGTH,f.q=f.c=f.p="",f.opt=K||{},f.closed=f.closedRoot=f.sawRoot=!1,f.tag=f.error=null,f.state=a.BEGIN,f.stack=new Array,f.position=f.column=0,f.line=1,f.slashed=!1,f.unicodeI=0,f.unicodeS=null,f.depth=0,Y(f,"onready")}y.prototype={end:function(){D(this)},write:ut,resume:function(){return this.error=null,this},close:function(){return this.write(null)}};try{c=rF.Stream}catch{c=function(){}}function M(K){return new T(K)}function T(K){if(!(this instanceof T))return new T(K);this._parser=new y(K),this.writable=!0,this.readable=!0,this.bytes_remaining=0,this.bytes_in_sequence=0,this.temp_buffs={2:new Buffer(2),3:new Buffer(3),4:new Buffer(4)},this.string="";var f=this;c.apply(f),this._parser.onend=function(){f.emit("end")},this._parser.onerror=function(lt){f.emit("error",lt),f._parser.error=null},s.forEach(function(lt){Object.defineProperty(f,"on"+lt,{get:function(){return f._parser["on"+lt]},set:function(tt){if(!tt)return f.removeAllListeners(lt),f._parser["on"+lt]=tt,tt;f.on(lt,tt)},enumerable:!0,configurable:!1})})}T.prototype=Object.create(c.prototype,{constructor:{value:T}}),T.prototype.write=function(K){K=new Buffer(K);for(var f=0;f<K.length;f++){var lt=K[f];if(this.bytes_remaining>0){for(var tt=0;tt<this.bytes_remaining;tt++)this.temp_buffs[this.bytes_in_sequence][this.bytes_in_sequence-this.bytes_remaining+tt]=K[tt];this.string=this.temp_buffs[this.bytes_in_sequence].toString(),this.bytes_in_sequence=this.bytes_remaining=0,f=f+tt-1,this._parser.write(this.string),this.emit("data",this.string);continue}if(this.bytes_remaining===0&<>=128)if(lt>=194&<<=223&&(this.bytes_in_sequence=2),lt>=224&<<=239&&(this.bytes_in_sequence=3),lt>=240&<<=244&&(this.bytes_in_sequence=4),this.bytes_in_sequence+f>K.length){for(var ht=0;ht<=K.length-1-f;ht++)this.temp_buffs[this.bytes_in_sequence][ht]=K[f+ht];return this.bytes_remaining=f+this.bytes_in_sequence-K.length,!0}else{this.string=K.slice(f,f+this.bytes_in_sequence).toString(),f=f+this.bytes_in_sequence-1,this._parser.write(this.string),this.emit("data",this.string);continue}for(var dt=f;dt<K.length&&!(K[dt]>=128);dt++);this.string=K.slice(f,dt).toString(),this._parser.write(this.string),this.emit("data",this.string),f=dt-1}},T.prototype.end=function(K){return K&&K.length&&this._parser.write(K.toString()),this._parser.end(),!0},T.prototype.on=function(K,f){var lt=this;return!lt._parser["on"+K]&&s.indexOf(K)!==-1&&(lt._parser["on"+K]=function(){var tt=arguments.length===1?[arguments[0]]:Array.apply(null,arguments);tt.splice(0,0,K),lt.emit.apply(lt,tt)}),c.prototype.on.call(lt,K,f)},T.prototype.destroy=function(){b(this._parser),this.emit("close")};function Y(K,f,lt){e.INFO&&console.log("-- emit",f,lt),K[f]&&K[f](lt)}function L(K,f,lt){x(K),Y(K,f,lt)}function x(K,f){K.textNode=F(K.opt,K.textNode),K.textNode!==void 0&&Y(K,f||"onvalue",K.textNode),K.textNode=void 0}function g(K){K.numberNode&&Y(K,"onvalue",parseFloat(K.numberNode)),K.numberNode=""}function F(K,f){return f===void 0||(K.trim&&(f=f.trim()),K.normalize&&(f=f.replace(/\s+/g," "))),f}function j(K,f){return x(K),f+=`
|
||
Line: `+K.line+`
|
||
Column: `+K.column+`
|
||
Char: `+K.c,f=new Error(f),K.error=f,Y(K,"onerror",f),K}function D(K){return(K.state!==a.VALUE||K.depth!==0)&&j(K,"Unexpected end"),x(K),K.c="",K.closed=!0,Y(K,"onend"),y.call(K,K.opt),K}function _(K){return K===d.carriageReturn||K===d.lineFeed||K===d.space||K===d.tab}function ut(K){var f=this;if(this.error)throw this.error;if(f.closed)return j(f,"Cannot write after close. Assign an onready handler.");if(K===null)return D(f);var lt=0,tt=K.charCodeAt(0),ht=f.p;for(e.DEBUG&&console.log("write -> ["+K+"]");tt&&(ht=tt,f.c=tt=K.charCodeAt(lt++),ht!==tt?f.p=ht:ht=f.p,!!tt);)switch(e.DEBUG&&console.log(lt,tt,e.STATE[f.state]),f.position++,tt===d.lineFeed?(f.line++,f.column=0):f.column++,f.state){case a.BEGIN:tt===d.openBrace?f.state=a.OPEN_OBJECT:tt===d.openBracket?f.state=a.OPEN_ARRAY:_(tt)||j(f,"Non-whitespace before {[.");continue;case a.OPEN_KEY:case a.OPEN_OBJECT:if(_(tt))continue;if(f.state===a.OPEN_KEY)f.stack.push(a.CLOSE_KEY);else if(tt===d.closeBrace){Y(f,"onopenobject"),this.depth++,Y(f,"oncloseobject"),this.depth--,f.state=f.stack.pop()||a.VALUE;continue}else f.stack.push(a.CLOSE_OBJECT);tt===d.doubleQuote?f.state=a.STRING:j(f,'Malformed object key should start with "');continue;case a.CLOSE_KEY:case a.CLOSE_OBJECT:if(_(tt))continue;f.state,a.CLOSE_KEY,tt===d.colon?(f.state===a.CLOSE_OBJECT?(f.stack.push(a.CLOSE_OBJECT),x(f,"onopenobject"),this.depth++):x(f,"onkey"),f.state=a.VALUE):tt===d.closeBrace?(L(f,"oncloseobject"),this.depth--,f.state=f.stack.pop()||a.VALUE):tt===d.comma?(f.state===a.CLOSE_OBJECT&&f.stack.push(a.CLOSE_OBJECT),x(f),f.state=a.OPEN_KEY):j(f,"Bad object");continue;case a.OPEN_ARRAY:case a.VALUE:if(_(tt))continue;if(f.state===a.OPEN_ARRAY)if(Y(f,"onopenarray"),this.depth++,f.state=a.VALUE,tt===d.closeBracket){Y(f,"onclosearray"),this.depth--,f.state=f.stack.pop()||a.VALUE;continue}else f.stack.push(a.CLOSE_ARRAY);tt===d.doubleQuote?f.state=a.STRING:tt===d.openBrace?f.state=a.OPEN_OBJECT:tt===d.openBracket?f.state=a.OPEN_ARRAY:tt===d.t?f.state=a.TRUE:tt===d.f?f.state=a.FALSE:tt===d.n?f.state=a.NULL:tt===d.minus?f.numberNode+="-":d._0<=tt&&tt<=d._9?(f.numberNode+=String.fromCharCode(tt),f.state=a.NUMBER_DIGIT):j(f,"Bad value");continue;case a.CLOSE_ARRAY:if(tt===d.comma)f.stack.push(a.CLOSE_ARRAY),x(f,"onvalue"),f.state=a.VALUE;else if(tt===d.closeBracket)L(f,"onclosearray"),this.depth--,f.state=f.stack.pop()||a.VALUE;else{if(_(tt))continue;j(f,"Bad array")}continue;case a.STRING:f.textNode===void 0&&(f.textNode="");var dt=lt-1,It=f.slashed,kt=f.unicodeI;t:for(;;){for(e.DEBUG&&console.log(lt,tt,e.STATE[f.state],It);kt>0;)if(f.unicodeS+=String.fromCharCode(tt),tt=K.charCodeAt(lt++),f.position++,kt===4?(f.textNode+=String.fromCharCode(parseInt(f.unicodeS,16)),kt=0,dt=lt-1):kt++,!tt)break t;if(tt===d.doubleQuote&&!It){f.state=f.stack.pop()||a.VALUE,f.textNode+=K.substring(dt,lt-1),f.position+=lt-1-dt;break}if(tt===d.backslash&&!It&&(It=!0,f.textNode+=K.substring(dt,lt-1),f.position+=lt-1-dt,tt=K.charCodeAt(lt++),f.position++,!tt))break;if(It){if(It=!1,tt===d.n?f.textNode+=`
|
||
`:tt===d.r?f.textNode+="\r":tt===d.t?f.textNode+=" ":tt===d.f?f.textNode+="\f":tt===d.b?f.textNode+="\b":tt===d.u?(kt=1,f.unicodeS=""):f.textNode+=String.fromCharCode(tt),tt=K.charCodeAt(lt++),f.position++,dt=lt-1,tt)continue;break}p.lastIndex=lt;var Gt=p.exec(K);if(Gt===null){lt=K.length+1,f.textNode+=K.substring(dt,lt-1),f.position+=lt-1-dt;break}if(lt=Gt.index+1,tt=K.charCodeAt(Gt.index),!tt){f.textNode+=K.substring(dt,lt-1),f.position+=lt-1-dt;break}}f.slashed=It,f.unicodeI=kt;continue;case a.TRUE:tt===d.r?f.state=a.TRUE2:j(f,"Invalid true started with t"+tt);continue;case a.TRUE2:tt===d.u?f.state=a.TRUE3:j(f,"Invalid true started with tr"+tt);continue;case a.TRUE3:tt===d.e?(Y(f,"onvalue",!0),f.state=f.stack.pop()||a.VALUE):j(f,"Invalid true started with tru"+tt);continue;case a.FALSE:tt===d.a?f.state=a.FALSE2:j(f,"Invalid false started with f"+tt);continue;case a.FALSE2:tt===d.l?f.state=a.FALSE3:j(f,"Invalid false started with fa"+tt);continue;case a.FALSE3:tt===d.s?f.state=a.FALSE4:j(f,"Invalid false started with fal"+tt);continue;case a.FALSE4:tt===d.e?(Y(f,"onvalue",!1),f.state=f.stack.pop()||a.VALUE):j(f,"Invalid false started with fals"+tt);continue;case a.NULL:tt===d.u?f.state=a.NULL2:j(f,"Invalid null started with n"+tt);continue;case a.NULL2:tt===d.l?f.state=a.NULL3:j(f,"Invalid null started with nu"+tt);continue;case a.NULL3:tt===d.l?(Y(f,"onvalue",null),f.state=f.stack.pop()||a.VALUE):j(f,"Invalid null started with nul"+tt);continue;case a.NUMBER_DECIMAL_POINT:tt===d.period?(f.numberNode+=".",f.state=a.NUMBER_DIGIT):j(f,"Leading zero not followed by .");continue;case a.NUMBER_DIGIT:d._0<=tt&&tt<=d._9?f.numberNode+=String.fromCharCode(tt):tt===d.period?(f.numberNode.indexOf(".")!==-1&&j(f,"Invalid number has two dots"),f.numberNode+="."):tt===d.e||tt===d.E?((f.numberNode.indexOf("e")!==-1||f.numberNode.indexOf("E")!==-1)&&j(f,"Invalid number has two exponential"),f.numberNode+="e"):tt===d.plus||tt===d.minus?(ht===d.e||ht===d.E||j(f,"Invalid symbol in number"),f.numberNode+=String.fromCharCode(tt)):(g(f),lt--,f.state=f.stack.pop()||a.VALUE);continue;default:j(f,"Unknown state: "+f.state)}return f.position>=f.bufferCheckPosition&&h(f),f}})(t)});function dF(l){var t=0,e=uF(),n={pullAsync:function(i){return s0(this,void 0,void 0,function(){var s,a,c;return nr(this,function(o){switch(o.label){case 0:return s=l.slice(t,t+i),t+=i,[4,Px(s,"text")];case 1:return a=o.sent(),c=e.write(a),n.result=c||{},[2,c]}})})},pullSync:function(i){var s=l.slice(t,t+i);t+=i;var a=Hx(s,"text"),c=e.write(a);return n.result=c||{},c},done:function(){return e.done()},eof:function(){return t>=l.size},result:{}};return n}function uF(l){var t=oF.parser(),e=0,n,i=[],s,a,c=!1,o=!1;return t.onopenobject=function(d){var h={};h.incomplete=!0,n||(n=h),s&&(i.push([a,s,o]),o?s.push(h):s[a]=h),s=h,a=d,o=!1,++e},t.onkey=function(d){return a=d},t.onvalue=function(d){return o?s.push(d):s[a]=d},t.oncloseobject=function(){var d;delete s.incomplete,a=null,--e===0?c=!0:(d=i.pop(),a=d[0],s=d[1],o=d[2])},t.onopenarray=function(){var d=[];d.incomplete=!0,n||(n=d),s&&(i.push([a,s,o]),o?s.push(d):s[a]=d),s=d,o=!0,a=null,++e},t.onclosearray=function(){var d;delete s.incomplete,a=null,--e===0?c=!0:(d=i.pop(),a=d[0],s=d[1],o=d[2])},{write:function(d){return t.write(d),n},done:function(){return c}}}var _x=1024;function mF(l,t){return s0(this,void 0,void 0,function(){var e,n,i,s;return nr(this,function(a){switch(a.label){case 0:return t=t||{},e=t.chunkSizeBytes||_x*1024,[4,$x(l,e)];case 1:return n=a.sent(),i=n.result.data,s=new ls(t.name!==void 0?t.name:i.databaseName),s.version(i.databaseVersion).stores(eF(i)),[4,qx(s,n,t.name!==void 0?WM(WM({},t),{acceptNameDiff:!0}):t)];case 2:return a.sent(),[2,s]}})})}function qx(l,t,e){return s0(this,void 0,void 0,function(){function n(){return s0(this,void 0,void 0,function(){var T,Y,L,x,g;return nr(this,function(F){switch(F.label){case 0:T=function(j){var D,_,ut,K,f,lt,tt,ht,dt,It,kt,Gt,gt;return nr(this,function(vt){switch(vt.label){case 0:if(d.includes(j.tableName))return[2,"continue"];if(!j.rows)return[2,"break"];if(!j.rows.incomplete&&j.rows.length===0)return[2,"continue"];if(h&&ls.ignoreTransaction(function(){return h(b)}),D=j.tableName,_=l.table(D),ut=o.tables.filter(function(H){return H.name===D})[0].schema,!_){if(e.acceptMissingTables)return[2,"continue"];throw new Error("Exported table ".concat(j.tableName," is missing in installed database"))}if(!e.acceptChangedPrimaryKey&&ut.split(",")[0]!=_.schema.primKey.src)throw new Error("Primary key differs for table ".concat(j.tableName,". "));for(K=j.rows,f=[],lt=0;lt<K.length&&(tt=K[lt],!tt.incomplete);lt++)f.push(Xc.revive(tt));return ht=e.filter,dt=e.transform,It=ht?j.inbound?f.filter(function(H){return ht(D,H)}):f.filter(function(H){var nt=H[0],bt=H[1];return ht(D,bt,nt)}):f,dt&&(It=It.map(j.inbound?function(H){return dt(D,H).value}:function(H){var nt=H[0],bt=H[1],$=dt(D,bt,nt);return[$.key,$.value]})),kt=j.inbound?[void 0,It]:[It.map(function(H){return H[0]}),f.map(function(H){return H[1]})],Gt=kt[0],gt=kt[1],e.overwriteValues?[4,_.bulkPut(gt,Gt)]:[3,2];case 1:return vt.sent(),[3,4];case 2:return[4,_.bulkAdd(gt,Gt)];case 3:vt.sent(),vt.label=4;case 4:return b.completedRows+=f.length,f.incomplete||(b.completedTables+=1),K.splice(0,f.length),[2]}})},Y=0,L=o.data,F.label=1;case 1:return Y<L.length?(x=L[Y],[5,T(x)]):[3,4];case 2:if(g=F.sent(),g==="break")return[3,4];F.label=3;case 3:return Y++,[3,1];case 4:for(;o.data.length>0&&o.data[0].rows&&!o.data[0].rows.incomplete;)o.data.splice(0,1);return!s.done()&&!s.eof()?c?(s.pullSync(i),[3,7]):[3,5]:[3,8];case 5:return[4,ls.waitFor(s.pullAsync(i))];case 6:F.sent(),F.label=7;case 7:return[3,9];case 8:return[3,10];case 9:return[3,0];case 10:return[2]}})})}var i,s,a,c,o,d,h,b,p,y,M;return nr(this,function(T){switch(T.label){case 0:return e=e||{},i=e.chunkSizeBytes||_x*1024,[4,$x(t,i)];case 1:if(s=T.sent(),a=s.result,c="FileReaderSync"in self,o=a.data,d=e.skipTables?e.skipTables:[],!e.acceptNameDiff&&l.name!==o.databaseName)throw new Error("Name differs. Current database name is ".concat(l.name," but export is ").concat(o.databaseName));if(!e.acceptVersionDiff&&l.verno!==o.databaseVersion)throw new Error("Database version differs. Current database is in version ".concat(l.verno," but export is ").concat(o.databaseVersion));if(h=e.progressCallback,b={done:!1,completedRows:0,completedTables:0,totalRows:o.tables.reduce(function(Y,L){return Y+L.rowCount},0),totalTables:o.tables.length},h&&ls.ignoreTransaction(function(){return h(b)}),!e.clearTablesBeforeImport)return[3,5];p=0,y=l.tables,T.label=2;case 2:return p<y.length?(M=y[p],d.includes(M.name)?[3,4]:[4,M.clear()]):[3,5];case 3:T.sent(),T.label=4;case 4:return p++,[3,2];case 5:return e.noTransaction?[4,n()]:[3,7];case 6:return T.sent(),[3,9];case 7:return[4,l.transaction("rw",l.tables,n)];case 8:T.sent(),T.label=9;case 9:return b.done=!0,h&&ls.ignoreTransaction(function(){return h(b)}),[2]}})})}function $x(l,t){return s0(this,void 0,void 0,function(){var e,n;return nr(this,function(i){switch(i.label){case 0:e="slice"in l?dF(l):l,i.label=1;case 1:return e.eof()?[3,3]:[4,e.pullAsync(t)];case 2:return i.sent(),e.result.data&&e.result.data.data?[3,3]:[3,1];case 3:if(n=e.result,!n||n.formatName!="dexie")throw new Error("Given file is not a dexie export");if(n.formatVersion>cF)throw new Error("Format version ".concat(n.formatVersion," not supported"));if(!n.data)throw new Error("No data in export file");if(!n.data.databaseName)throw new Error("Missing databaseName in export file");if(!n.data.databaseVersion)throw new Error("Missing databaseVersion in export file");if(!n.data.tables)throw new Error("Missing tables in export file");return[2,e]}})})}ls.prototype.export=function(l){return Ax(this,l)};ls.prototype.import=function(l,t){return qx(this,l,t)};ls.import=function(l,t){return mF(l,t)};let hF={data:""},bF=l=>typeof window=="object"?((l?l.querySelector("#_goober"):window._goober)||Object.assign((l||document.head).appendChild(document.createElement("style")),{innerHTML:" ",id:"_goober"})).firstChild:l||hF,ZF=/(?:([\u0080-\uFFFF\w-%@]+) *:? *([^{;]+?);|([^;}{]*?) *{)|(}\s*)/g,pF=/\/\*[^]*?\*\/| +/g,hz=/\n+/g,au=(l,t)=>{let e="",n="",i="";for(let s in l){let a=l[s];s[0]=="@"?s[1]=="i"?e=s+" "+a+";":n+=s[1]=="f"?au(a,s):s+"{"+au(a,s[1]=="k"?"":t)+"}":typeof a=="object"?n+=au(a,t?t.replace(/([^,])+/g,c=>s.replace(/([^,]*:\S+\([^)]*\))|([^,])+/g,o=>/&/.test(o)?o.replace(/&/g,c):c?c+" "+o:o)):s):a!=null&&(s=/^--/.test(s)?s:s.replace(/[A-Z]/g,"-$&").toLowerCase(),i+=au.p?au.p(s,a):s+":"+a+";")}return e+(t&&i?t+"{"+i+"}":i)+n},Yo={},t3=l=>{if(typeof l=="object"){let t="";for(let e in l)t+=e+t3(l[e]);return t}return l},yF=(l,t,e,n,i)=>{let s=t3(l),a=Yo[s]||(Yo[s]=(o=>{let d=0,h=11;for(;d<o.length;)h=101*h+o.charCodeAt(d++)>>>0;return"go"+h})(s));if(!Yo[a]){let o=s!==l?l:(d=>{let h,b,p=[{}];for(;h=ZF.exec(d.replace(pF,""));)h[4]?p.shift():h[3]?(b=h[3].replace(hz," ").trim(),p.unshift(p[0][b]=p[0][b]||{})):p[0][h[1]]=h[2].replace(hz," ").trim();return p[0]})(l);Yo[a]=au(i?{["@keyframes "+a]:o}:o,e?"":"."+a)}let c=e&&Yo.g?Yo.g:null;return e&&(Yo.g=Yo[a]),((o,d,h,b)=>{b?d.data=d.data.replace(b,o):d.data.indexOf(o)===-1&&(d.data=h?o+d.data:d.data+o)})(Yo[a],t,n,c),a},WF=(l,t,e)=>l.reduce((n,i,s)=>{let a=t[s];if(a&&a.call){let c=a(e),o=c&&c.props&&c.props.className||/^go/.test(c)&&c;a=o?"."+o:c&&typeof c=="object"?c.props?"":au(c,""):c===!1?"":c}return n+i+(a??"")},"");function MG(l){let t=this||{},e=l.call?l(t.p):l;return yF(e.unshift?e.raw?WF(e,[].slice.call(arguments,1),t.p):e.reduce((n,i)=>Object.assign(n,i&&i.call?i(t.p):i),{}):e,bF(t.target),t.g,t.o,t.k)}let e3,OX,jX;MG.bind({g:1});let Yd=MG.bind({k:1});function NF(l,t,e,n){au.p=t,e3=l,OX=e,jX=n}function b0(l,t){let e=this||{};return function(){let n=arguments;function i(s,a){let c=Object.assign({},s),o=c.className||i.className;e.p=Object.assign({theme:OX&&OX()},c),e.o=/ *go\d+/.test(o),c.className=MG.apply(e,n)+(o?" "+o:"");let d=l;return l[0]&&(d=c.as||l,delete c.as),jX&&d[0]&&jX(c),e3(d,c)}return i}}var MF=l=>typeof l=="function",MM=(l,t)=>MF(l)?l(t):l,GF=(()=>{let l=0;return()=>(++l).toString()})(),l3=(()=>{let l;return()=>{if(l===void 0&&typeof window<"u"){let t=matchMedia("(prefers-reduced-motion: reduce)");l=!t||t.matches}return l}})(),TF=20,n3=(l,t)=>{switch(t.type){case 0:return{...l,toasts:[t.toast,...l.toasts].slice(0,TF)};case 1:return{...l,toasts:l.toasts.map(s=>s.id===t.toast.id?{...s,...t.toast}:s)};case 2:let{toast:e}=t;return n3(l,{type:l.toasts.find(s=>s.id===e.id)?1:0,toast:e});case 3:let{toastId:n}=t;return{...l,toasts:l.toasts.map(s=>s.id===n||n===void 0?{...s,dismissed:!0,visible:!1}:s)};case 4:return t.toastId===void 0?{...l,toasts:[]}:{...l,toasts:l.toasts.filter(s=>s.id!==t.toastId)};case 5:return{...l,pausedAt:t.time};case 6:let i=t.time-(l.pausedAt||0);return{...l,pausedAt:void 0,toasts:l.toasts.map(s=>({...s,pauseDuration:s.pauseDuration+i}))}}},k1=[],cm={toasts:[],pausedAt:void 0},Xh=l=>{cm=n3(cm,l),k1.forEach(t=>{t(cm)})},XF={blank:4e3,error:4e3,success:2e3,loading:1/0,custom:4e3},YF=(l={})=>{let[t,e]=B.useState(cm),n=B.useRef(cm);B.useEffect(()=>(n.current!==cm&&e(cm),k1.push(e),()=>{let s=k1.indexOf(e);s>-1&&k1.splice(s,1)}),[]);let i=t.toasts.map(s=>{var a,c,o;return{...l,...l[s.type],...s,removeDelay:s.removeDelay||((a=l[s.type])==null?void 0:a.removeDelay)||(l==null?void 0:l.removeDelay),duration:s.duration||((c=l[s.type])==null?void 0:c.duration)||(l==null?void 0:l.duration)||XF[s.type],style:{...l.style,...(o=l[s.type])==null?void 0:o.style,...s.style}}});return{...t,toasts:i}},LF=(l,t="blank",e)=>({createdAt:Date.now(),visible:!0,dismissed:!1,type:t,ariaProps:{role:"status","aria-live":"polite"},message:l,pauseDuration:0,...e,id:(e==null?void 0:e.id)||GF()}),YW=l=>(t,e)=>{let n=LF(t,l,e);return Xh({type:2,toast:n}),n.id},Hs=(l,t)=>YW("blank")(l,t);Hs.error=YW("error");Hs.success=YW("success");Hs.loading=YW("loading");Hs.custom=YW("custom");Hs.dismiss=l=>{Xh({type:3,toastId:l})};Hs.remove=l=>Xh({type:4,toastId:l});Hs.promise=(l,t,e)=>{let n=Hs.loading(t.loading,{...e,...e==null?void 0:e.loading});return typeof l=="function"&&(l=l()),l.then(i=>{let s=t.success?MM(t.success,i):void 0;return s?Hs.success(s,{id:n,...e,...e==null?void 0:e.success}):Hs.dismiss(n),i}).catch(i=>{let s=t.error?MM(t.error,i):void 0;s?Hs.error(s,{id:n,...e,...e==null?void 0:e.error}):Hs.dismiss(n)}),l};var VF=(l,t)=>{Xh({type:1,toast:{id:l,height:t}})},IF=()=>{Xh({type:5,time:Date.now()})},G2=new Map,wF=1e3,zF=(l,t=wF)=>{if(G2.has(l))return;let e=setTimeout(()=>{G2.delete(l),Xh({type:4,toastId:l})},t);G2.set(l,e)},gF=l=>{let{toasts:t,pausedAt:e}=YF(l);B.useEffect(()=>{if(e)return;let s=Date.now(),a=t.map(c=>{if(c.duration===1/0)return;let o=(c.duration||0)+c.pauseDuration-(s-c.createdAt);if(o<0){c.visible&&Hs.dismiss(c.id);return}return setTimeout(()=>Hs.dismiss(c.id),o)});return()=>{a.forEach(c=>c&&clearTimeout(c))}},[t,e]);let n=B.useCallback(()=>{e&&Xh({type:6,time:Date.now()})},[e]),i=B.useCallback((s,a)=>{let{reverseOrder:c=!1,gutter:o=8,defaultPosition:d}=a||{},h=t.filter(y=>(y.position||d)===(s.position||d)&&y.height),b=h.findIndex(y=>y.id===s.id),p=h.filter((y,M)=>M<b&&y.visible).length;return h.filter(y=>y.visible).slice(...c?[p+1]:[0,p]).reduce((y,M)=>y+(M.height||0)+o,0)},[t]);return B.useEffect(()=>{t.forEach(s=>{if(s.dismissed)zF(s.id,s.removeDelay);else{let a=G2.get(s.id);a&&(clearTimeout(a),G2.delete(s.id))}})},[t]),{toasts:t,handlers:{updateHeight:VF,startPause:IF,endPause:n,calculateOffset:i}}},xF=Yd`
|
||
from {
|
||
transform: scale(0) rotate(45deg);
|
||
opacity: 0;
|
||
}
|
||
to {
|
||
transform: scale(1) rotate(45deg);
|
||
opacity: 1;
|
||
}`,fF=Yd`
|
||
from {
|
||
transform: scale(0);
|
||
opacity: 0;
|
||
}
|
||
to {
|
||
transform: scale(1);
|
||
opacity: 1;
|
||
}`,SF=Yd`
|
||
from {
|
||
transform: scale(0) rotate(90deg);
|
||
opacity: 0;
|
||
}
|
||
to {
|
||
transform: scale(1) rotate(90deg);
|
||
opacity: 1;
|
||
}`,RF=b0("div")`
|
||
width: 20px;
|
||
opacity: 0;
|
||
height: 20px;
|
||
border-radius: 10px;
|
||
background: ${l=>l.primary||"#ff4b4b"};
|
||
position: relative;
|
||
transform: rotate(45deg);
|
||
|
||
animation: ${xF} 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275)
|
||
forwards;
|
||
animation-delay: 100ms;
|
||
|
||
&:after,
|
||
&:before {
|
||
content: '';
|
||
animation: ${fF} 0.15s ease-out forwards;
|
||
animation-delay: 150ms;
|
||
position: absolute;
|
||
border-radius: 3px;
|
||
opacity: 0;
|
||
background: ${l=>l.secondary||"#fff"};
|
||
bottom: 9px;
|
||
left: 4px;
|
||
height: 2px;
|
||
width: 12px;
|
||
}
|
||
|
||
&:before {
|
||
animation: ${SF} 0.15s ease-out forwards;
|
||
animation-delay: 180ms;
|
||
transform: rotate(90deg);
|
||
}
|
||
`,kF=Yd`
|
||
from {
|
||
transform: rotate(0deg);
|
||
}
|
||
to {
|
||
transform: rotate(360deg);
|
||
}
|
||
`,DF=b0("div")`
|
||
width: 12px;
|
||
height: 12px;
|
||
box-sizing: border-box;
|
||
border: 2px solid;
|
||
border-radius: 100%;
|
||
border-color: ${l=>l.secondary||"#e0e0e0"};
|
||
border-right-color: ${l=>l.primary||"#616161"};
|
||
animation: ${kF} 1s linear infinite;
|
||
`,OF=Yd`
|
||
from {
|
||
transform: scale(0) rotate(45deg);
|
||
opacity: 0;
|
||
}
|
||
to {
|
||
transform: scale(1) rotate(45deg);
|
||
opacity: 1;
|
||
}`,jF=Yd`
|
||
0% {
|
||
height: 0;
|
||
width: 0;
|
||
opacity: 0;
|
||
}
|
||
40% {
|
||
height: 0;
|
||
width: 6px;
|
||
opacity: 1;
|
||
}
|
||
100% {
|
||
opacity: 1;
|
||
height: 10px;
|
||
}`,CF=b0("div")`
|
||
width: 20px;
|
||
opacity: 0;
|
||
height: 20px;
|
||
border-radius: 10px;
|
||
background: ${l=>l.primary||"#61d345"};
|
||
position: relative;
|
||
transform: rotate(45deg);
|
||
|
||
animation: ${OF} 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275)
|
||
forwards;
|
||
animation-delay: 100ms;
|
||
&:after {
|
||
content: '';
|
||
box-sizing: border-box;
|
||
animation: ${jF} 0.2s ease-out forwards;
|
||
opacity: 0;
|
||
animation-delay: 200ms;
|
||
position: absolute;
|
||
border-right: 2px solid;
|
||
border-bottom: 2px solid;
|
||
border-color: ${l=>l.secondary||"#fff"};
|
||
bottom: 6px;
|
||
left: 6px;
|
||
height: 10px;
|
||
width: 6px;
|
||
}
|
||
`,FF=b0("div")`
|
||
position: absolute;
|
||
`,JF=b0("div")`
|
||
position: relative;
|
||
display: flex;
|
||
justify-content: center;
|
||
align-items: center;
|
||
min-width: 20px;
|
||
min-height: 20px;
|
||
`,vF=Yd`
|
||
from {
|
||
transform: scale(0.6);
|
||
opacity: 0.4;
|
||
}
|
||
to {
|
||
transform: scale(1);
|
||
opacity: 1;
|
||
}`,UF=b0("div")`
|
||
position: relative;
|
||
transform: scale(0.6);
|
||
opacity: 0.4;
|
||
min-width: 20px;
|
||
animation: ${vF} 0.3s 0.12s cubic-bezier(0.175, 0.885, 0.32, 1.275)
|
||
forwards;
|
||
`,EF=({toast:l})=>{let{icon:t,type:e,iconTheme:n}=l;return t!==void 0?typeof t=="string"?B.createElement(UF,null,t):t:e==="blank"?null:B.createElement(JF,null,B.createElement(DF,{...n}),e!=="loading"&&B.createElement(FF,null,e==="error"?B.createElement(RF,{...n}):B.createElement(CF,{...n})))},KF=l=>`
|
||
0% {transform: translate3d(0,${l*-200}%,0) scale(.6); opacity:.5;}
|
||
100% {transform: translate3d(0,0,0) scale(1); opacity:1;}
|
||
`,PF=l=>`
|
||
0% {transform: translate3d(0,0,-1px) scale(1); opacity:1;}
|
||
100% {transform: translate3d(0,${l*-150}%,-1px) scale(.6); opacity:0;}
|
||
`,HF="0%{opacity:0;} 100%{opacity:1;}",QF="0%{opacity:1;} 100%{opacity:0;}",BF=b0("div")`
|
||
display: flex;
|
||
align-items: center;
|
||
background: #fff;
|
||
color: #363636;
|
||
line-height: 1.3;
|
||
will-change: transform;
|
||
box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1), 0 3px 3px rgba(0, 0, 0, 0.05);
|
||
max-width: 350px;
|
||
pointer-events: auto;
|
||
padding: 8px 10px;
|
||
border-radius: 8px;
|
||
`,AF=b0("div")`
|
||
display: flex;
|
||
justify-content: center;
|
||
margin: 4px 10px;
|
||
color: inherit;
|
||
flex: 1 1 auto;
|
||
white-space: pre-line;
|
||
`,_F=(l,t)=>{let e=l.includes("top")?1:-1,[n,i]=l3()?[HF,QF]:[KF(e),PF(e)];return{animation:t?`${Yd(n)} 0.35s cubic-bezier(.21,1.02,.73,1) forwards`:`${Yd(i)} 0.4s forwards cubic-bezier(.06,.71,.55,1)`}},qF=B.memo(({toast:l,position:t,style:e,children:n})=>{let i=l.height?_F(l.position||t||"top-center",l.visible):{opacity:0},s=B.createElement(EF,{toast:l}),a=B.createElement(AF,{...l.ariaProps},MM(l.message,l));return B.createElement(BF,{className:l.className,style:{...i,...e,...l.style}},typeof n=="function"?n({icon:s,message:a}):B.createElement(B.Fragment,null,s,a))});NF(B.createElement);var $F=({id:l,className:t,style:e,onHeightUpdate:n,children:i})=>{let s=B.useCallback(a=>{if(a){let c=()=>{let o=a.getBoundingClientRect().height;n(l,o)};c(),new MutationObserver(c).observe(a,{subtree:!0,childList:!0,characterData:!0})}},[l,n]);return B.createElement("div",{ref:s,className:t,style:e},i)},tJ=(l,t)=>{let e=l.includes("top"),n=e?{top:0}:{bottom:0},i=l.includes("center")?{justifyContent:"center"}:l.includes("right")?{justifyContent:"flex-end"}:{};return{left:0,right:0,display:"flex",position:"absolute",transition:l3()?void 0:"all 230ms cubic-bezier(.21,1.02,.73,1)",transform:`translateY(${t*(e?1:-1)}px)`,...n,...i}},eJ=MG`
|
||
z-index: 9999;
|
||
> * {
|
||
pointer-events: auto;
|
||
}
|
||
`,HN=16,lJ=({reverseOrder:l,position:t="top-center",toastOptions:e,gutter:n,children:i,containerStyle:s,containerClassName:a})=>{let{toasts:c,handlers:o}=gF(e);return B.createElement("div",{id:"_rht_toaster",style:{position:"fixed",zIndex:9999,top:HN,left:HN,right:HN,bottom:HN,pointerEvents:"none",...s},className:a,onMouseEnter:o.startPause,onMouseLeave:o.endPause},c.map(d=>{let h=d.position||t,b=o.calculateOffset(d,{reverseOrder:l,gutter:n,defaultPosition:t}),p=tJ(h,b);return B.createElement($F,{id:d.id,key:d.id,onHeightUpdate:o.updateHeight,className:d.visible?eJ:"",style:p},d.type==="custom"?MM(d.message,d):i?i(d):B.createElement(qF,{toast:d,position:h}))}))},Dn=Hs;const CX=new EventTarget;let GT=[];const QN=l=>{CX.dispatchEvent(new CustomEvent("conversationChange",{detail:{convId:l}}))},Ol=new ls("LlamacppWebui");Ol.version(1).stores({conversations:"&id, lastModified",messages:"&id, convId, [convId+id], timestamp"});Ol.version(2).stores({conversations:"&id, lastModified, model_name",messages:"&id, convId, [convId+id], timestamp"});const rl={async exportDB(){return await Ax(Ol)},async importDB(l){return await Ol.delete(),await Ol.open(),await Ol.import(l)},async updateConversationName(l,t){await Ol.conversations.update(l,{name:t}),QN(l)},async getAllConversations(){return await nJ().catch(console.error),(await Ol.conversations.toArray()).sort((l,t)=>t.lastModified-l.lastModified)},async getOneConversation(l){return await Ol.conversations.where("id").equals(l).first()??null},async getMessages(l){return await Ol.messages.where({convId:l}).toArray()},filterByLeafNodeId(l,t,e){const n=[],i=new Map;for(const c of l)i.set(c.id,c);let s=i.get(t);if(!s){let c=-1;for(const o of l)o.timestamp>c&&(s=o,c=o.timestamp)}let a=s;for(;a;)(a.type!=="root"||a.type==="root"&&e)&&n.push(a),a=i.get(a.parent??-1);return n.sort((c,o)=>c.timestamp-o.timestamp),n},async createConversation(l){const t=Date.now(),e=t,n=rl.getConfig();let i="";await f1(hb,n.apiKey).then(a=>{console.debug("Server props:",a),i=a.model_name}).catch(a=>{console.error(a)});const s={id:`conv-${t}`,lastModified:t,currNode:e,name:l,model_name:i};return await Ol.conversations.add(s),await Ol.messages.add({id:e,convId:s.id,type:"root",timestamp:t,role:"system",content:"",model_name:s.model_name,parent:-1,children:[]}),s},async appendMsg(l,t,e){if(l.content===null)return;const{convId:n}=l;await Ol.transaction("rw",Ol.conversations,Ol.messages,async()=>{const i=await rl.getOneConversation(n),s=await Ol.messages.where({convId:n,id:t}).first();if(!i)throw new Error(`Conversation ${n} does not exist`);if(!s)throw new Error(`Parent message ID ${t} does not exist in conversation ${n}`);e=e!==""?e:i.model_name,await Ol.conversations.update(n,{lastModified:Date.now(),currNode:l.id,model_name:e}),await Ol.messages.update(t,{children:[...s.children,l.id]}),await Ol.messages.add({...l,parent:t,children:[]})}),QN(n)},async remove(l){await Ol.transaction("rw",Ol.conversations,Ol.messages,async()=>{await Ol.conversations.delete(l),await Ol.messages.where({convId:l}).delete()}),QN(l)},onConversationChanged(l){const t=e=>l(e.detail.convId);GT.push([l,t]),CX.addEventListener("conversationChange",t)},offConversationChanged(l){const t=GT.find(([e,n])=>e===l);t&&CX.removeEventListener("conversationChange",t[1]),GT=[]},getConfig(){const l=JSON.parse(localStorage.getItem("config")||"{}");return{...Br,...l}},setConfig(l){localStorage.setItem("config",JSON.stringify(l))},getTheme(){return localStorage.getItem("theme")||"auto"},setTheme(l){l==="auto"?localStorage.removeItem("theme"):localStorage.setItem("theme",l)},async importConversation(l){var b;const{conv:t,messages:e}=l;let n=t.id;await rl.getOneConversation(n)&&(n=`conv-${Date.now()}`);const s=new Map,a=Date.now();e.forEach((p,y)=>{s.set(p.id,a+y)});const c=e.map(p=>({...p})),o=c.find(p=>p.type==="root");let d=!1;o&&(d=confirm(`This conversation contains a system prompt:
|
||
|
||
"${o.content.slice(0,100)}${o.content.length>100?"...":""}"
|
||
|
||
Update your system settings to use this prompt?`)),c.forEach(p=>{p.id=s.get(p.id),p.convId=n,p.parent=p.parent===-1?-1:s.get(p.parent)??-1,p.children=p.children.map(y=>s.get(y))});const h={...t,id:n,currNode:s.get(t.currNode)||((b=c[0])==null?void 0:b.id)||-1};if(d&&o){const p=rl.getConfig();p.systemMessage=o.content||"",rl.setConfig(p)}return await Ol.transaction("rw",Ol.conversations,Ol.messages,async()=>{await Ol.conversations.add(h),await Ol.messages.bulkAdd(c)}),window.location.reload(),h},async importConversationFromFile(){return new Promise(l=>{const t=document.createElement("input");t.type="file",t.accept=".json,application/json",t.style.display="none",t.onchange=async e=>{var i;const n=(i=e.target.files)==null?void 0:i[0];if(!n){l(null);return}try{const s=await n.text(),a=JSON.parse(s);if(!a.conv||!a.messages)throw new Error("Invalid conversation format");const c=await rl.importConversation(a);l(c)}catch(s){Dn.error("Import failed:"+s),alert(`Import failed: ${s instanceof Error?s.message:"Unknown error"}`),l(null)}finally{document.body.removeChild(t)}},document.body.appendChild(t),t.click()})},async getMessage(l,t){return await Ol.messages.where({convId:l,id:t}).first()},async updateMessage(l){await Ol.transaction("rw",Ol.conversations,Ol.messages,async()=>{await Ol.messages.put(l),await Ol.conversations.update(l.convId,{lastModified:Date.now(),currNode:l.id})}),QN(l.convId)},getPresets(){const l=localStorage.getItem("presets");if(!l)return[];try{return JSON.parse(l)}catch(t){return Dn.error("Failed to parse presets: "+t),[]}},savePreset(l,t){const e=rl.getPresets(),n=Date.now(),i={id:`preset-${n}`,name:l,createdAt:n,config:{...t}};return e.push(i),localStorage.setItem("presets",JSON.stringify(e)),i},updatePreset(l,t){const e=rl.getPresets(),n=e.findIndex(i=>i.id===l);n!==-1&&(e[n].config={...t},localStorage.setItem("presets",JSON.stringify(e)))},deletePreset(l){const e=rl.getPresets().filter(n=>n.id!==l);localStorage.setItem("presets",JSON.stringify(e))}};async function nJ(){if(localStorage.getItem("migratedToIDB"))return;const l=[];for(const t in localStorage)t.startsWith("conv-")&&l.push(JSON.parse(localStorage.getItem(t)??"{}"));l.length!==0&&await Ol.transaction("rw",Ol.conversations,Ol.messages,async()=>{let t=0;for(const e of l){const{id:n,lastModified:i,messages:s}=e,a=s[0],c=s.at(-1);if(s.length<2||!a||!c){console.log(`Skipping conversation ${n} with ${s.length} messages`);continue}const o=a.content??"(no messages)";await Ol.conversations.add({id:n,lastModified:i,currNode:c.id,name:o,model_name:"migrate_name"});const d=s[0].id-2;await Ol.messages.add({id:d,convId:n,type:"root",timestamp:d,role:"system",content:"",parent:-1,model_name:"migrate_name",children:[a.id]});for(let h=0;h<s.length;h++){const b=s[h];await Ol.messages.add({...b,type:"text",convId:n,timestamp:b.id,parent:h===0?d:s[h-1].id,children:h===s.length-1?[]:[s[h+1].id],model_name:""})}t++,console.log(`Migrated conversation ${n} with ${s.length} messages`)}console.log(`Migrated ${t} conversations from localStorage to IndexedDB`),localStorage.setItem("migratedToIDB","1")})}class $0{}We($0,"timercount",1);const i3=B.createContext({}),bz=async l=>{const t=await rl.getOneConversation(l);return t?{conv:t,messages:await rl.getMessages(l)}:null},iJ=({children:l})=>{var tt;const{pathname:t}=h0(),e=yG(),n=z2("/chat/:convId",t),i=(tt=n==null?void 0:n.params)==null?void 0:tt.convId,[s,a]=B.useState(null),[c,o]=B.useState(null),[d,h]=B.useState({}),[b,p]=B.useState({}),[y,M]=B.useState(rl.getConfig()),[T,Y]=B.useState(null),[L,x]=B.useState(!1);B.useEffect(()=>{f1(hb,y.apiKey).then(ht=>{console.debug("Server props:",ht),a(ht)}).catch(ht=>{console.error(ht)})},[]),B.useEffect(()=>{Y(null);const ht=async dt=>{dt===i&&o(await bz(dt))};return rl.onConversationChanged(ht),bz(i??"").then(o),()=>{rl.offConversationChanged(ht)}},[i]);const g=(ht,dt)=>{setTimeout(dt?()=>{h(It=>({...It,[ht]:dt}))}:()=>{h(It=>{const kt={...It};return delete kt[ht],kt})},100)},F=(ht,dt)=>{p(dt?It=>({...It,[ht]:dt}):It=>{const kt={...It};return delete kt[ht],kt})},j=ht=>!!d[ht],D=async(ht,dt,It,kt=!1)=>{var _t,ce,ne,Nt,xt,Zt,Ft,te,he,$e;if(j(ht))return;const Gt=rl.getConfig();if(!await rl.getOneConversation(ht))throw new Error("Current conversation is not found");const vt=rl.filterByLeafNodeId(await rl.getMessages(ht),dt,!1),H=new AbortController;if(F(ht,H),!vt)throw new Error("Current messages are not found");const nt=Date.now()+$0.timercount+1;$0.timercount=$0.timercount+2;let bt;if(kt){const je=await rl.getMessage(ht,dt);if(!je||je.role!=="assistant")throw Dn.error("Cannot continue: target message not found or not an assistant message."),new Error("Cannot continue: target message not found or not an assistant message.");bt={...je,content:je.content||""},g(ht,bt)}else bt={id:nt,convId:ht,type:"text",timestamp:nt,role:"assistant",content:null,parent:dt,children:[],model_name:""},g(ht,bt);try{let je=[...Gt.systemMessage.length===0?[]:[{role:"system",content:Gt.systemMessage}],...EC(vt)],xe="";Gt.excludeThoughtOnReq&&(je=PC(je));let Ke=Gt.completionType==="Text";Ke&&(xe=KC(je,Gt.prefix_role==="true"));const Vl=`"${Gt.stop_string}"`;let gl=JSON.parse(Vl).split(",");gl.length===1&&gl[0]==""&&(gl=`
|
||
|
||
,
|
||
User:`.split(","));const Pl={...Ke?{prompt:xe}:{messages:je},stream:!0,cache_prompt:!0,reasoning_format:Gt.reasoning_format===""?"auto":Gt.reasoning_format,samplers:Gt.samplers,dynatemp_range:Gt.dynatemp_range,dynatemp_exponent:Gt.dynatemp_exponent,xtc_probability:Gt.xtc_probability,xtc_threshold:Gt.xtc_threshold,top_n_sigma:Gt.top_n_sigma,repeat_last_n:Gt.repeat_last_n,repeat_penalty:Gt.repeat_penalty,presence_penalty:Gt.presence_penalty,frequency_penalty:Gt.frequency_penalty,dry_multiplier:Gt.dry_multiplier,dry_base:Gt.dry_base,dry_allowed_length:Gt.dry_allowed_length,dry_penalty_last_n:Gt.dry_penalty_last_n,max_tokens:Gt.max_tokens,adaptive_target:Gt.adaptive_target,adaptive_decay:Gt.adaptive_decay,timings_per_token:!!Gt.showTokensPerSecond,...Ke?{stop:gl}:{},...Gt.useServerDefaults?{}:{temperature:Gt.temperature,top_k:Gt.top_k,top_p:Gt.top_p,min_p:Gt.min_p,typical_p:Gt.typical_p},...Gt.custom.length?JSON.parse(Gt.custom):{}};let Ql=`${hb}/v1/chat/completions`;Ke&&(Ql=`${hb}/v1/completions`);const El=await fetch(`${Ql}`,{method:"POST",headers:{"Content-Type":"application/json",...Gt.apiKey?{Authorization:`Bearer ${Gt.apiKey}`}:{}},body:JSON.stringify(Pl),signal:H.signal});if(El.status!==200){const qt=await El.json();throw new Error(((_t=qt==null?void 0:qt.error)==null?void 0:_t.message)||"Unknown error")}const pn=vC(El);let sn=!1;for await(const qt of pn){if(qt.error)throw new Error(((ce=qt.error)==null?void 0:ce.message)||"Unknown error");let de="";if(Ke)de=($e=(he=qt.choices)==null?void 0:he[0])==null?void 0:$e.text;else{const be=(xt=(Nt=(ne=qt.choices)==null?void 0:ne[0])==null?void 0:Nt.delta)==null?void 0:xt.reasoning_content;be&&(bt.content===null||bt.content===""?(sn=!0,bt={...bt,content:"<think>"+be}):bt={...bt,content:bt.content+be}),de=(te=(Ft=(Zt=qt.choices)==null?void 0:Zt[0])==null?void 0:Ft.delta)==null?void 0:te.content}let Yt=bt.content||"";de&&(sn&&(Yt=Yt+"</think>",sn=!1),bt={...bt,content:Yt+de});const Jt=qt.timings;Jt&&Gt.showTokensPerSecond&&(bt.timings={prompt_n:Jt.prompt_n,prompt_ms:Jt.prompt_ms,predicted_n:Jt.predicted_n,predicted_ms:Jt.predicted_ms,n_ctx:Jt.n_ctx,n_past:Jt.n_past}),g(ht,bt),It()}}catch(je){g(ht,null),je.name==="AbortError"||Dn.error(je instanceof Error?je.message:String(je))}finally{bt.content!==null&&(kt?await rl.updateMessage(bt):bt.content.trim().length>0&&await rl.appendMsg(bt,dt,""))}g(ht,null);const $=bt.id;It($)},_=async(ht,dt,It,kt,Gt)=>{if(j(ht??"")||It.trim().length===0)return!1;if(ht===null||ht.length===0||dt===null){const nt=await rl.createConversation(It.substring(0,256));ht=nt.id,dt=nt.currNode,e(`/chat/${ht}`)}const gt=Date.now()+$0.timercount;$0.timercount=$0.timercount+2;const vt=gt;let H="";await f1(hb,y.apiKey).then(nt=>{console.debug("Server props:",nt),H=nt.model_name}).catch(nt=>{console.error(nt)}),rl.appendMsg({id:vt,timestamp:gt,type:"text",convId:ht,role:"user",content:It,model_name:H,extra:kt,parent:dt,children:[]},dt,H),Gt(vt);try{return await D(ht,vt,Gt,!1),!0}catch{}return!1},ut=ht=>{var dt;g(ht,null),(dt=b[ht])==null||dt.abort()},K=async(ht,dt,It,kt,Gt)=>{if(!j(ht)){if(It!==null){const gt=Date.now(),vt=gt;let H="";await f1(hb,y.apiKey).then(nt=>{console.debug("Server props:",nt),H=nt.model_name}).catch(nt=>{console.error(nt)}),rl.appendMsg({id:vt,timestamp:gt,type:"text",convId:ht,role:"user",content:It,model_name:H,extra:kt,parent:dt,children:[]},dt,H),dt=vt}Gt(dt),await D(ht,dt,Gt)}},f=async(ht,dt,It,kt)=>{if(j(ht))return;const Gt=await rl.getMessage(ht,dt);if(!Gt||Gt.role!=="assistant"){Dn.error("Failed to continue message: Not an assistant message or not found.");return}const gt={...Gt,content:It};await rl.updateMessage(gt)},lt=ht=>{rl.setConfig(ht),M(ht)};return U.jsx(i3.Provider,{value:{isGenerating:j,viewingChat:c,pendingMessages:d,sendMessage:_,stopGenerating:ut,replaceMessageAndGenerate:K,continueMessageAndGenerate:f,canvasData:T,setCanvasData:Y,config:y,saveConfig:lt,showSettings:L,setShowSettings:x,serverProps:s},children:l})},xc=()=>B.useContext(i3),s3=B.createContext(null);function sJ({children:l}){const[t,e]=B.useState({isOpen:!1,message:"",resolve:null}),[n,i]=B.useState({isOpen:!1,message:"",resolve:null}),[s,a]=B.useState({isOpen:!1,message:"",resolve:null}),c=I2.useRef(null),o=M=>new Promise(T=>{e({isOpen:!0,message:M,resolve:T})}),d=(M,T)=>new Promise(Y=>{i({isOpen:!0,message:M,defaultValue:T,resolve:Y})}),h=M=>new Promise(T=>{a({isOpen:!0,message:M,resolve:T})}),b=M=>{var T;(T=t.resolve)==null||T.call(t,M),e({isOpen:!1,message:"",resolve:null})},p=M=>{var T;(T=n.resolve)==null||T.call(n,M),i({isOpen:!1,message:"",resolve:null})},y=()=>{var M;(M=s.resolve)==null||M.call(s),a({isOpen:!1,message:"",resolve:null})};return U.jsxs(s3.Provider,{value:{showConfirm:o,showPrompt:d,showAlert:h},children:[l,t.isOpen&&U.jsx("dialog",{className:"modal modal-open z-[1100]",children:U.jsxs("div",{className:"modal-box",children:[U.jsx("h3",{className:"font-bold text-lg",children:t.message}),U.jsxs("div",{className:"modal-action",children:[U.jsx("button",{className:"btn btn-ghost",onClick:()=>b(!1),children:"Cancel"}),U.jsx("button",{className:"btn btn-error",onClick:()=>b(!0),children:"Confirm"})]})]})}),n.isOpen&&U.jsx("dialog",{className:"modal modal-open z-[1100]",children:U.jsxs("div",{className:"modal-box",children:[U.jsx("h3",{className:"font-bold text-lg",children:n.message}),U.jsx("input",{type:"text",className:"input input-bordered w-full mt-2",defaultValue:n.defaultValue,ref:c,onKeyDown:M=>{M.key==="Enter"&&p(M.target.value)}}),U.jsxs("div",{className:"modal-action",children:[U.jsx("button",{className:"btn btn-ghost",onClick:()=>p(),children:"Cancel"}),U.jsx("button",{className:"btn btn-primary",onClick:()=>{var M;return p((M=c.current)==null?void 0:M.value)},children:"Submit"})]})]})}),s.isOpen&&U.jsx("dialog",{className:"modal modal-open z-[1100]",children:U.jsxs("div",{className:"modal-box",children:[U.jsx("h3",{className:"font-bold text-lg",children:s.message}),U.jsx("div",{className:"modal-action",children:U.jsx("button",{className:"btn",onClick:y,children:"OK"})})]})})]})}function $L(){const l=B.useContext(s3);if(!l)throw new Error("useModals must be used within ModalProvider");return l}function aJ({title:l,titleId:t,...e},n){return B.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},e),l?B.createElement("title",{id:t},l):null,B.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12 12 16.5m0 0L7.5 12m4.5 4.5V3"}))}const a3=B.forwardRef(aJ);function cJ({title:l,titleId:t,...e},n){return B.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},e),l?B.createElement("title",{id:t},l):null,B.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0 3.181 3.183a8.25 8.25 0 0 0 13.803-3.7M4.031 9.865a8.25 8.25 0 0 1 13.803-3.7l3.181 3.182m0-4.991v4.99"}))}const rJ=B.forwardRef(cJ);function oJ({title:l,titleId:t,...e},n){return B.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},e),l?B.createElement("title",{id:t},l):null,B.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5m-13.5-9L12 3m0 0 4.5 4.5M12 3v13.5"}))}const FX=B.forwardRef(oJ);function dJ({title:l,titleId:t,...e},n){return B.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},e),l?B.createElement("title",{id:t},l):null,B.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9.75 3.104v5.714a2.25 2.25 0 0 1-.659 1.591L5 14.5M9.75 3.104c-.251.023-.501.05-.75.082m.75-.082a24.301 24.301 0 0 1 4.5 0m0 0v5.714c0 .597.237 1.17.659 1.591L19.8 15.3M14.25 3.104c.251.023.501.05.75.082M19.8 15.3l-1.57.393A9.065 9.065 0 0 1 12 15a9.065 9.065 0 0 0-6.23-.693L5 14.5m14.8.8 1.402 1.402c1.232 1.232.65 3.318-1.067 3.611A48.309 48.309 0 0 1 12 21c-2.773 0-5.491-.235-8.135-.687-1.718-.293-2.3-2.379-1.067-3.61L5 14.5"}))}const uJ=B.forwardRef(dJ);function mJ({title:l,titleId:t,...e},n){return B.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},e),l?B.createElement("title",{id:t},l):null,B.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M17.593 3.322c1.1.128 1.907 1.077 1.907 2.185V21L12 17.25 4.5 21V5.507c0-1.108.806-2.057 1.907-2.185a48.507 48.507 0 0 1 11.186 0Z"}))}const hJ=B.forwardRef(mJ);function bJ({title:l,titleId:t,...e},n){return B.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},e),l?B.createElement("title",{id:t},l):null,B.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M8.625 12a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Zm0 0H8.25m4.125 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Zm0 0H12m4.125 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Zm0 0h-.375M21 12c0 4.556-4.03 8.25-9 8.25a9.764 9.764 0 0 1-2.555-.337A5.972 5.972 0 0 1 5.41 20.97a5.969 5.969 0 0 1-.474-.065 4.48 4.48 0 0 0 .978-2.025c.09-.457-.133-.901-.467-1.226C3.93 16.178 3 14.189 3 12c0-4.556 4.03-8.25 9-8.25s9 3.694 9 8.25Z"}))}const ZJ=B.forwardRef(bJ);function pJ({title:l,titleId:t,...e},n){return B.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},e),l?B.createElement("title",{id:t},l):null,B.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15.75 19.5 8.25 12l7.5-7.5"}))}const yJ=B.forwardRef(pJ);function WJ({title:l,titleId:t,...e},n){return B.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},e),l?B.createElement("title",{id:t},l):null,B.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m8.25 4.5 7.5 7.5-7.5 7.5"}))}const NJ=B.forwardRef(WJ);function MJ({title:l,titleId:t,...e},n){return B.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},e),l?B.createElement("title",{id:t},l):null,B.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.325.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 0 1 1.37.49l1.296 2.247a1.125 1.125 0 0 1-.26 1.431l-1.003.827c-.293.241-.438.613-.43.992a7.723 7.723 0 0 1 0 .255c-.008.378.137.75.43.991l1.004.827c.424.35.534.955.26 1.43l-1.298 2.247a1.125 1.125 0 0 1-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.47 6.47 0 0 1-.22.128c-.331.183-.581.495-.644.869l-.213 1.281c-.09.543-.56.94-1.11.94h-2.594c-.55 0-1.019-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 0 1-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 0 1-1.369-.49l-1.297-2.247a1.125 1.125 0 0 1 .26-1.431l1.004-.827c.292-.24.437-.613.43-.991a6.932 6.932 0 0 1 0-.255c.007-.38-.138-.751-.43-.992l-1.004-.827a1.125 1.125 0 0 1-.26-1.43l1.297-2.247a1.125 1.125 0 0 1 1.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.086.22-.128.332-.183.582-.495.644-.869l.214-1.28Z"}),B.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z"}))}const GJ=B.forwardRef(MJ);function TJ({title:l,titleId:t,...e},n){return B.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},e),l?B.createElement("title",{id:t},l):null,B.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15.75 17.25v3.375c0 .621-.504 1.125-1.125 1.125h-9.75a1.125 1.125 0 0 1-1.125-1.125V7.875c0-.621.504-1.125 1.125-1.125H6.75a9.06 9.06 0 0 1 1.5.124m7.5 10.376h3.375c.621 0 1.125-.504 1.125-1.125V11.25c0-4.46-3.243-8.161-7.5-8.876a9.06 9.06 0 0 0-1.5-.124H9.375c-.621 0-1.125.504-1.125 1.125v3.5m7.5 10.375H9.375a1.125 1.125 0 0 1-1.125-1.125v-9.25m12 6.625v-1.875a3.375 3.375 0 0 0-3.375-3.375h-1.5a1.125 1.125 0 0 1-1.125-1.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H9.75"}))}const XJ=B.forwardRef(TJ);function YJ({title:l,titleId:t,...e},n){return B.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},e),l?B.createElement("title",{id:t},l):null,B.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m0 12.75h7.5m-7.5 3H12M10.5 2.25H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9Z"}))}const LJ=B.forwardRef(YJ);function VJ({title:l,titleId:t,...e},n){return B.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},e),l?B.createElement("title",{id:t},l):null,B.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 6.75a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5ZM12 12.75a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5ZM12 18.75a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5Z"}))}const IJ=B.forwardRef(VJ);function wJ({title:l,titleId:t,...e},n){return B.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},e),l?B.createElement("title",{id:t},l):null,B.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 3c2.755 0 5.455.232 8.083.678.533.09.917.556.917 1.096v1.044a2.25 2.25 0 0 1-.659 1.591l-5.432 5.432a2.25 2.25 0 0 0-.659 1.591v2.927a2.25 2.25 0 0 1-1.244 2.013L9.75 21v-6.568a2.25 2.25 0 0 0-.659-1.591L3.659 7.409A2.25 2.25 0 0 1 3 5.818V4.774c0-.54.384-1.006.917-1.096A48.32 48.32 0 0 1 12 3Z"}))}const zJ=B.forwardRef(wJ);function gJ({title:l,titleId:t,...e},n){return B.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},e),l?B.createElement("title",{id:t},l):null,B.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M10.05 4.575a1.575 1.575 0 1 0-3.15 0v3m3.15-3v-1.5a1.575 1.575 0 0 1 3.15 0v1.5m-3.15 0 .075 5.925m3.075.75V4.575m0 0a1.575 1.575 0 0 1 3.15 0V15M6.9 7.575a1.575 1.575 0 1 0-3.15 0v8.175a6.75 6.75 0 0 0 6.75 6.75h2.018a5.25 5.25 0 0 0 3.712-1.538l1.732-1.732a5.25 5.25 0 0 0 1.538-3.712l.003-2.024a.668.668 0 0 1 .198-.471 1.575 1.575 0 1 0-2.228-2.228 3.818 3.818 0 0 0-1.12 2.687M6.9 7.575V12m6.27 4.318A4.49 4.49 0 0 1 16.35 15m.002 0h-.002"}))}const xJ=B.forwardRef(gJ);function fJ({title:l,titleId:t,...e},n){return B.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},e),l?B.createElement("title",{id:t},l):null,B.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M21.752 15.002A9.72 9.72 0 0 1 18 15.75c-5.385 0-9.75-4.365-9.75-9.75 0-1.33.266-2.597.748-3.752A9.753 9.753 0 0 0 3 11.25C3 16.635 7.365 21 12.75 21a9.753 9.753 0 0 0 9.002-5.998Z"}))}const SJ=B.forwardRef(fJ);function RJ({title:l,titleId:t,...e},n){return B.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},e),l?B.createElement("title",{id:t},l):null,B.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m16.862 4.487 1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L10.582 16.07a4.5 4.5 0 0 1-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 0 1 1.13-1.897l8.932-8.931Zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0 1 15.75 21H5.25A2.25 2.25 0 0 1 3 18.75V8.25A2.25 2.25 0 0 1 5.25 6H10"}))}const JX=B.forwardRef(RJ);function kJ({title:l,titleId:t,...e},n){return B.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},e),l?B.createElement("title",{id:t},l):null,B.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m16.862 4.487 1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L6.832 19.82a4.5 4.5 0 0 1-1.897 1.13l-2.685.8.8-2.685a4.5 4.5 0 0 1 1.13-1.897L16.863 4.487Zm0 0L19.5 7.125"}))}const c3=B.forwardRef(kJ);function DJ({title:l,titleId:t,...e},n){return B.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},e),l?B.createElement("title",{id:t},l):null,B.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5.25 5.653c0-.856.917-1.398 1.667-.986l11.54 6.347a1.125 1.125 0 0 1 0 1.972l-11.54 6.347a1.125 1.125 0 0 1-1.667-.986V5.653Z"}))}const r3=B.forwardRef(DJ);function OJ({title:l,titleId:t,...e},n){return B.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},e),l?B.createElement("title",{id:t},l):null,B.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19.114 5.636a9 9 0 0 1 0 12.728M16.463 8.288a5.25 5.25 0 0 1 0 7.424M6.75 8.25l4.72-4.72a.75.75 0 0 1 1.28.53v15.88a.75.75 0 0 1-1.28.53l-4.72-4.72H4.51c-.88 0-1.704-.507-1.938-1.354A9.009 9.009 0 0 1 2.25 12c0-.83.112-1.633.322-2.396C2.806 8.756 3.63 8.25 4.51 8.25H6.75Z"}))}const jJ=B.forwardRef(OJ);function CJ({title:l,titleId:t,...e},n){return B.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},e),l?B.createElement("title",{id:t},l):null,B.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M13.5 16.875h3.375m0 0h3.375m-3.375 0V13.5m0 3.375v3.375M6 10.5h2.25a2.25 2.25 0 0 0 2.25-2.25V6a2.25 2.25 0 0 0-2.25-2.25H6A2.25 2.25 0 0 0 3.75 6v2.25A2.25 2.25 0 0 0 6 10.5Zm0 9.75h2.25A2.25 2.25 0 0 0 10.5 18v-2.25a2.25 2.25 0 0 0-2.25-2.25H6a2.25 2.25 0 0 0-2.25 2.25V18A2.25 2.25 0 0 0 6 20.25Zm9.75-9.75H18a2.25 2.25 0 0 0 2.25-2.25V6A2.25 2.25 0 0 0 18 3.75h-2.25A2.25 2.25 0 0 0 13.5 6v2.25a2.25 2.25 0 0 0 2.25 2.25Z"}))}const FJ=B.forwardRef(CJ);function JJ({title:l,titleId:t,...e},n){return B.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},e),l?B.createElement("title",{id:t},l):null,B.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5.25 7.5A2.25 2.25 0 0 1 7.5 5.25h9a2.25 2.25 0 0 1 2.25 2.25v9a2.25 2.25 0 0 1-2.25 2.25h-9a2.25 2.25 0 0 1-2.25-2.25v-9Z"}))}const vJ=B.forwardRef(JJ);function UJ({title:l,titleId:t,...e},n){return B.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},e),l?B.createElement("title",{id:t},l):null,B.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m14.74 9-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 0 0-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 0 0-7.5 0"}))}const tV=B.forwardRef(UJ);function EJ({title:l,titleId:t,...e},n){return B.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},e),l?B.createElement("title",{id:t},l):null,B.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18 18 6M6 6l12 12"}))}const vX=B.forwardRef(EJ);function KJ(){const l=yG(),[t,e]=B.useState(rl.getTheme()),{setShowSettings:n}=xc(),i=y=>{rl.setTheme(y),e(y)};B.useEffect(()=>{var y;document.body.setAttribute("data-theme",t),document.body.setAttribute("data-color-scheme",((y=Jx[t])==null?void 0:y["color-scheme"])??"auto")},[t]);const{showPrompt:s}=$L(),{isGenerating:a,viewingChat:c}=xc(),o=a((c==null?void 0:c.conv.id)??""),d=()=>{if(o||!c)return;const y=c==null?void 0:c.conv.id;window.confirm("Are you sure to delete this conversation?")&&(rl.remove(y),l("/"))};async function h(){if(a((c==null?void 0:c.conv.id)??"")){Dn.error("Cannot rename conversation while generating");return}const y=await s("Enter new name for the conversation",c==null?void 0:c.conv.name);y&&y.trim().length>0&&rl.updateConversationName((c==null?void 0:c.conv.id)??"",y)}async function b(){const y=await rl.importConversationFromFile();y&&(console.log("Successfully imported:",y.name),l(`/chat/${y.id}`))}const p=()=>{if(o||!c)return;const y=c==null?void 0:c.conv.id,M=rl.getConfig().systemMessage,T={conv:{...c.conv},messages:c.messages.map(j=>({...j}))},Y=T.messages.find(j=>j.type==="root");Y&&(Y.content=M);const L=JSON.stringify(T,null,2),x=new Blob([L],{type:"application/json"}),g=URL.createObjectURL(x),F=document.createElement("a");F.href=g,F.download=`conversation_${y}.json`,document.body.appendChild(F),F.click(),document.body.removeChild(F),URL.revokeObjectURL(g)};return U.jsxs("div",{className:"flex flex-row items-center pt-6 pb-6 sticky top-0 z-10 bg-base-100",children:[U.jsx("label",{htmlFor:"toggle-drawer",className:"btn btn-ghost lg:hidden",children:U.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"currentColor",className:"bi bi-list",viewBox:"0 0 16 16",children:U.jsx("path",{fillRule:"evenodd",d:"M2.5 12a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5m0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5m0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5"})})}),U.jsx("div",{className:"grow text-2xl font-bold ml-2",children:"ik_llama.cpp"}),U.jsxs("div",{className:"flex items-center",children:[U.jsxs("div",{className:"dropdown dropdown-end",children:[U.jsx("button",{tabIndex:0,role:"button",className:"btn m-1",disabled:o,children:U.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"currentColor",className:"bi bi-three-dots-vertical",viewBox:"0 0 16 16",children:U.jsx("path",{d:"M9.5 13a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0m0-5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0m0-5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0"})})}),U.jsxs("ul",{tabIndex:0,className:"dropdown-content menu bg-base-100 rounded-box z-[1] w-52 p-2 shadow",children:[!c&&U.jsx("li",{onClick:b,children:U.jsxs("a",{children:[U.jsx(FX,{className:"w-4 h-4"}),"Upload"]})}),c&&U.jsxs(U.Fragment,{children:[U.jsx("li",{onClick:b,children:U.jsxs("a",{children:[U.jsx(FX,{className:"w-4 h-4"}),"Upload"]})}),U.jsx("li",{onClick:h,tabIndex:0,children:U.jsxs("a",{children:[U.jsx(c3,{className:"w-4 h-4"}),"Rename"]})}),U.jsx("li",{onClick:p,children:U.jsxs("a",{children:[U.jsx(a3,{className:"w-4 h-4"}),"Download"]})}),U.jsx("li",{className:"text-error",onClick:d,children:U.jsxs("a",{children:[U.jsx(tV,{className:"w-4 h-4"}),"Delete"]})})]})]})]}),U.jsx("div",{className:"tooltip tooltip-bottom","data-tip":"Settings",children:U.jsx("button",{className:"btn",onClick:()=>n(!0),children:U.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"currentColor",className:"bi bi-gear",viewBox:"0 0 16 16",children:[U.jsx("path",{d:"M8 4.754a3.246 3.246 0 1 0 0 6.492 3.246 3.246 0 0 0 0-6.492M5.754 8a2.246 2.246 0 1 1 4.492 0 2.246 2.246 0 0 1-4.492 0"}),U.jsx("path",{d:"M9.796 1.343c-.527-1.79-3.065-1.79-3.592 0l-.094.319a.873.873 0 0 1-1.255.52l-.292-.16c-1.64-.892-3.433.902-2.54 2.541l.159.292a.873.873 0 0 1-.52 1.255l-.319.094c-1.79.527-1.79 3.065 0 3.592l.319.094a.873.873 0 0 1 .52 1.255l-.16.292c-.892 1.64.901 3.434 2.541 2.54l.292-.159a.873.873 0 0 1 1.255.52l.094.319c.527 1.79 3.065 1.79 3.592 0l.094-.319a.873.873 0 0 1 1.255-.52l.292.16c1.64.893 3.434-.902 2.54-2.541l-.159-.292a.873.873 0 0 1 .52-1.255l.319-.094c1.79-.527 1.79-3.065 0-3.592l-.319-.094a.873.873 0 0 1-.52-1.255l.16-.292c.893-1.64-.902-3.433-2.541-2.54l-.292.159a.873.873 0 0 1-1.255-.52zm-2.633.283c.246-.835 1.428-.835 1.674 0l.094.319a1.873 1.873 0 0 0 2.693 1.115l.291-.16c.764-.415 1.6.42 1.184 1.185l-.159.292a1.873 1.873 0 0 0 1.116 2.692l.318.094c.835.246.835 1.428 0 1.674l-.319.094a1.873 1.873 0 0 0-1.115 2.693l.16.291c.415.764-.42 1.6-1.185 1.184l-.291-.159a1.873 1.873 0 0 0-2.693 1.116l-.094.318c-.246.835-1.428.835-1.674 0l-.094-.319a1.873 1.873 0 0 0-2.692-1.115l-.292.16c-.764.415-1.6-.42-1.184-1.185l.159-.291A1.873 1.873 0 0 0 1.945 8.93l-.319-.094c-.835-.246-.835-1.428 0-1.674l.319-.094A1.873 1.873 0 0 0 3.06 4.377l-.16-.292c-.415-.764.42-1.6 1.185-1.184l.292.159a1.873 1.873 0 0 0 2.692-1.115z"})]})})}),U.jsx("div",{className:"tooltip tooltip-bottom","data-tip":"Themes",children:U.jsxs("div",{className:"dropdown dropdown-end dropdown-bottom",children:[U.jsx("div",{tabIndex:0,role:"button",className:"btn m-1",children:U.jsx(SJ,{className:"w-5 h-5"})}),U.jsxs("ul",{tabIndex:0,className:"dropdown-content bg-base-300 rounded-box z-[1] w-52 p-2 shadow-2xl h-80 overflow-y-auto",children:[U.jsx("li",{children:U.jsx("button",{className:es({"btn btn-sm btn-block btn-ghost justify-start":!0,"btn-active":t==="auto"}),onClick:()=>i("auto"),children:"auto"})}),AC.map(y=>U.jsx("li",{children:U.jsx("input",{type:"radio",name:"theme-dropdown",className:"theme-controller btn btn-sm btn-block btn-ghost justify-start","aria-label":y,value:y,checked:t===y,onChange:M=>M.target.checked&&i(y)})},y))]})]})})]})]})}const PJ=({className:l,...t})=>U.jsx("button",{className:`btn btn-square btn-sm ${l??""}`,...t,children:U.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-6 w-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:U.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M6 18L18 6M6 6l12 12"})})}),D1=({href:l,children:t})=>U.jsx("a",{className:"underline",href:l,target:"_blank",rel:"noopener noreferrer",children:t});function HJ({className:l,onClick:t,onMouseLeave:e,children:n,tooltipsContent:i,disabled:s}){return U.jsx("div",{className:"tooltip tooltip-bottom","data-tip":i,role:"button",onClick:t,children:U.jsx("button",{className:`${l??""} flex items-center justify-center`,disabled:s,onMouseLeave:e,"aria-hidden":!0,children:n})})}class Yh extends Error{}class QJ extends Yh{constructor(t){super(`Invalid DateTime: ${t.toMessage()}`)}}class BJ extends Yh{constructor(t){super(`Invalid Interval: ${t.toMessage()}`)}}class AJ extends Yh{constructor(t){super(`Invalid Duration: ${t.toMessage()}`)}}class Vb extends Yh{}class o3 extends Yh{constructor(t){super(`Invalid unit ${t}`)}}class gs extends Yh{}class $d extends Yh{constructor(){super("Zone is an abstract class")}}const ke="numeric",rr="short",_a="long",GM={year:ke,month:ke,day:ke},d3={year:ke,month:rr,day:ke},_J={year:ke,month:rr,day:ke,weekday:rr},u3={year:ke,month:_a,day:ke},m3={year:ke,month:_a,day:ke,weekday:_a},h3={hour:ke,minute:ke},b3={hour:ke,minute:ke,second:ke},Z3={hour:ke,minute:ke,second:ke,timeZoneName:rr},p3={hour:ke,minute:ke,second:ke,timeZoneName:_a},y3={hour:ke,minute:ke,hourCycle:"h23"},W3={hour:ke,minute:ke,second:ke,hourCycle:"h23"},N3={hour:ke,minute:ke,second:ke,hourCycle:"h23",timeZoneName:rr},M3={hour:ke,minute:ke,second:ke,hourCycle:"h23",timeZoneName:_a},G3={year:ke,month:ke,day:ke,hour:ke,minute:ke},T3={year:ke,month:ke,day:ke,hour:ke,minute:ke,second:ke},X3={year:ke,month:rr,day:ke,hour:ke,minute:ke},Y3={year:ke,month:rr,day:ke,hour:ke,minute:ke,second:ke},qJ={year:ke,month:rr,day:ke,weekday:rr,hour:ke,minute:ke},L3={year:ke,month:_a,day:ke,hour:ke,minute:ke,timeZoneName:rr},V3={year:ke,month:_a,day:ke,hour:ke,minute:ke,second:ke,timeZoneName:rr},I3={year:ke,month:_a,day:ke,weekday:_a,hour:ke,minute:ke,timeZoneName:_a},w3={year:ke,month:_a,day:ke,weekday:_a,hour:ke,minute:ke,second:ke,timeZoneName:_a};class LW{get type(){throw new $d}get name(){throw new $d}get ianaName(){return this.name}get isUniversal(){throw new $d}offsetName(t,e){throw new $d}formatOffset(t,e){throw new $d}offset(t){throw new $d}equals(t){throw new $d}get isValid(){throw new $d}}let TT=null;class GG extends LW{static get instance(){return TT===null&&(TT=new GG),TT}get type(){return"system"}get name(){return new Intl.DateTimeFormat().resolvedOptions().timeZone}get isUniversal(){return!1}offsetName(t,{format:e,locale:n}){return C3(t,e,n)}formatOffset(t,e){return T2(this.offset(t),e)}offset(t){return-new Date(t).getTimezoneOffset()}equals(t){return t.type==="system"}get isValid(){return!0}}const UX=new Map;function $J(l){let t=UX.get(l);return t===void 0&&(t=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:l,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",era:"short"}),UX.set(l,t)),t}const tv={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6};function ev(l,t){const e=l.format(t).replace(/\u200E/g,""),n=/(\d+)\/(\d+)\/(\d+) (AD|BC),? (\d+):(\d+):(\d+)/.exec(e),[,i,s,a,c,o,d,h]=n;return[a,i,s,c,o,d,h]}function lv(l,t){const e=l.formatToParts(t),n=[];for(let i=0;i<e.length;i++){const{type:s,value:a}=e[i],c=tv[s];s==="era"?n[c]=a:Wl(c)||(n[c]=parseInt(a,10))}return n}const XT=new Map;class Ld extends LW{static create(t){let e=XT.get(t);return e===void 0&&XT.set(t,e=new Ld(t)),e}static resetCache(){XT.clear(),UX.clear()}static isValidSpecifier(t){return this.isValidZone(t)}static isValidZone(t){if(!t)return!1;try{return new Intl.DateTimeFormat("en-US",{timeZone:t}).format(),!0}catch{return!1}}constructor(t){super(),this.zoneName=t,this.valid=Ld.isValidZone(t)}get type(){return"iana"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(t,{format:e,locale:n}){return C3(t,e,n,this.name)}formatOffset(t,e){return T2(this.offset(t),e)}offset(t){if(!this.valid)return NaN;const e=new Date(t);if(isNaN(e))return NaN;const n=$J(this.name);let[i,s,a,c,o,d,h]=n.formatToParts?lv(n,e):ev(n,e);c==="BC"&&(i=-Math.abs(i)+1);const p=XG({year:i,month:s,day:a,hour:o===24?0:o,minute:d,second:h,millisecond:0});let y=+e;const M=y%1e3;return y-=M>=0?M:1e3+M,(p-y)/(60*1e3)}equals(t){return t.type==="iana"&&t.name===this.name}get isValid(){return this.valid}}let Zz={};function nv(l,t={}){const e=JSON.stringify([l,t]);let n=Zz[e];return n||(n=new Intl.ListFormat(l,t),Zz[e]=n),n}const EX=new Map;function KX(l,t={}){const e=JSON.stringify([l,t]);let n=EX.get(e);return n===void 0&&(n=new Intl.DateTimeFormat(l,t),EX.set(e,n)),n}const PX=new Map;function iv(l,t={}){const e=JSON.stringify([l,t]);let n=PX.get(e);return n===void 0&&(n=new Intl.NumberFormat(l,t),PX.set(e,n)),n}const HX=new Map;function sv(l,t={}){const{base:e,...n}=t,i=JSON.stringify([l,n]);let s=HX.get(i);return s===void 0&&(s=new Intl.RelativeTimeFormat(l,t),HX.set(i,s)),s}let _p=null;function av(){return _p||(_p=new Intl.DateTimeFormat().resolvedOptions().locale,_p)}const QX=new Map;function z3(l){let t=QX.get(l);return t===void 0&&(t=new Intl.DateTimeFormat(l).resolvedOptions(),QX.set(l,t)),t}const BX=new Map;function cv(l){let t=BX.get(l);if(!t){const e=new Intl.Locale(l);t="getWeekInfo"in e?e.getWeekInfo():e.weekInfo,"minimalDays"in t||(t={...g3,...t}),BX.set(l,t)}return t}function rv(l){const t=l.indexOf("-x-");t!==-1&&(l=l.substring(0,t));const e=l.indexOf("-u-");if(e===-1)return[l];{let n,i;try{n=KX(l).resolvedOptions(),i=l}catch{const o=l.substring(0,e);n=KX(o).resolvedOptions(),i=o}const{numberingSystem:s,calendar:a}=n;return[i,s,a]}}function ov(l,t,e){return(e||t)&&(l.includes("-u-")||(l+="-u"),e&&(l+=`-ca-${e}`),t&&(l+=`-nu-${t}`)),l}function dv(l){const t=[];for(let e=1;e<=12;e++){const n=yl.utc(2009,e,1);t.push(l(n))}return t}function uv(l){const t=[];for(let e=1;e<=7;e++){const n=yl.utc(2016,11,13+e);t.push(l(n))}return t}function BN(l,t,e,n){const i=l.listingMode();return i==="error"?null:i==="en"?e(t):n(t)}function mv(l){return l.numberingSystem&&l.numberingSystem!=="latn"?!1:l.numberingSystem==="latn"||!l.locale||l.locale.startsWith("en")||z3(l.locale).numberingSystem==="latn"}class hv{constructor(t,e,n){this.padTo=n.padTo||0,this.floor=n.floor||!1;const{padTo:i,floor:s,...a}=n;if(!e||Object.keys(a).length>0){const c={useGrouping:!1,...n};n.padTo>0&&(c.minimumIntegerDigits=n.padTo),this.inf=iv(t,c)}}format(t){if(this.inf){const e=this.floor?Math.floor(t):t;return this.inf.format(e)}else{const e=this.floor?Math.floor(t):sV(t,3);return Yi(e,this.padTo)}}}class bv{constructor(t,e,n){this.opts=n,this.originalZone=void 0;let i;if(this.opts.timeZone)this.dt=t;else if(t.zone.type==="fixed"){const a=-1*(t.offset/60),c=a>=0?`Etc/GMT+${a}`:`Etc/GMT${a}`;t.offset!==0&&Ld.create(c).valid?(i=c,this.dt=t):(i="UTC",this.dt=t.offset===0?t:t.setZone("UTC").plus({minutes:t.offset}),this.originalZone=t.zone)}else t.zone.type==="system"?this.dt=t:t.zone.type==="iana"?(this.dt=t,i=t.zone.name):(i="UTC",this.dt=t.setZone("UTC").plus({minutes:t.offset}),this.originalZone=t.zone);const s={...this.opts};s.timeZone=s.timeZone||i,this.dtf=KX(e,s)}format(){return this.originalZone?this.formatToParts().map(({value:t})=>t).join(""):this.dtf.format(this.dt.toJSDate())}formatToParts(){const t=this.dtf.formatToParts(this.dt.toJSDate());return this.originalZone?t.map(e=>{if(e.type==="timeZoneName"){const n=this.originalZone.offsetName(this.dt.ts,{locale:this.dt.locale,format:this.opts.timeZoneName});return{...e,value:n}}else return e}):t}resolvedOptions(){return this.dtf.resolvedOptions()}}class Zv{constructor(t,e,n){this.opts={style:"long",...n},!e&&O3()&&(this.rtf=sv(t,n))}format(t,e){return this.rtf?this.rtf.format(t,e):Ov(e,t,this.opts.numeric,this.opts.style!=="long")}formatToParts(t,e){return this.rtf?this.rtf.formatToParts(t,e):[]}}const g3={firstDay:1,minimalDays:4,weekend:[6,7]};class un{static fromOpts(t){return un.create(t.locale,t.numberingSystem,t.outputCalendar,t.weekSettings,t.defaultToEN)}static create(t,e,n,i,s=!1){const a=t||di.defaultLocale,c=a||(s?"en-US":av()),o=e||di.defaultNumberingSystem,d=n||di.defaultOutputCalendar,h=_X(i)||di.defaultWeekSettings;return new un(c,o,d,h,a)}static resetCache(){_p=null,EX.clear(),PX.clear(),HX.clear(),QX.clear(),BX.clear()}static fromObject({locale:t,numberingSystem:e,outputCalendar:n,weekSettings:i}={}){return un.create(t,e,n,i)}constructor(t,e,n,i,s){const[a,c,o]=rv(t);this.locale=a,this.numberingSystem=e||c||null,this.outputCalendar=n||o||null,this.weekSettings=i,this.intl=ov(this.locale,this.numberingSystem,this.outputCalendar),this.weekdaysCache={format:{},standalone:{}},this.monthsCache={format:{},standalone:{}},this.meridiemCache=null,this.eraCache={},this.specifiedLocale=s,this.fastNumbersCached=null}get fastNumbers(){return this.fastNumbersCached==null&&(this.fastNumbersCached=mv(this)),this.fastNumbersCached}listingMode(){const t=this.isEnglish(),e=(this.numberingSystem===null||this.numberingSystem==="latn")&&(this.outputCalendar===null||this.outputCalendar==="gregory");return t&&e?"en":"intl"}clone(t){return!t||Object.getOwnPropertyNames(t).length===0?this:un.create(t.locale||this.specifiedLocale,t.numberingSystem||this.numberingSystem,t.outputCalendar||this.outputCalendar,_X(t.weekSettings)||this.weekSettings,t.defaultToEN||!1)}redefaultToEN(t={}){return this.clone({...t,defaultToEN:!0})}redefaultToSystem(t={}){return this.clone({...t,defaultToEN:!1})}months(t,e=!1){return BN(this,t,v3,()=>{const n=this.intl==="ja"||this.intl.startsWith("ja-");e&=!n;const i=e?{month:t,day:"numeric"}:{month:t},s=e?"format":"standalone";if(!this.monthsCache[s][t]){const a=n?c=>this.dtFormatter(c,i).format():c=>this.extract(c,i,"month");this.monthsCache[s][t]=dv(a)}return this.monthsCache[s][t]})}weekdays(t,e=!1){return BN(this,t,K3,()=>{const n=e?{weekday:t,year:"numeric",month:"long",day:"numeric"}:{weekday:t},i=e?"format":"standalone";return this.weekdaysCache[i][t]||(this.weekdaysCache[i][t]=uv(s=>this.extract(s,n,"weekday"))),this.weekdaysCache[i][t]})}meridiems(){return BN(this,void 0,()=>P3,()=>{if(!this.meridiemCache){const t={hour:"numeric",hourCycle:"h12"};this.meridiemCache=[yl.utc(2016,11,13,9),yl.utc(2016,11,13,19)].map(e=>this.extract(e,t,"dayperiod"))}return this.meridiemCache})}eras(t){return BN(this,t,H3,()=>{const e={era:t};return this.eraCache[t]||(this.eraCache[t]=[yl.utc(-40,1,1),yl.utc(2017,1,1)].map(n=>this.extract(n,e,"era"))),this.eraCache[t]})}extract(t,e,n){const i=this.dtFormatter(t,e),s=i.formatToParts(),a=s.find(c=>c.type.toLowerCase()===n);return a?a.value:null}numberFormatter(t={}){return new hv(this.intl,t.forceSimple||this.fastNumbers,t)}dtFormatter(t,e={}){return new bv(t,this.intl,e)}relFormatter(t={}){return new Zv(this.intl,this.isEnglish(),t)}listFormatter(t={}){return nv(this.intl,t)}isEnglish(){return this.locale==="en"||this.locale.toLowerCase()==="en-us"||z3(this.intl).locale.startsWith("en-us")}getWeekSettings(){return this.weekSettings?this.weekSettings:j3()?cv(this.locale):g3}getStartOfWeek(){return this.getWeekSettings().firstDay}getMinDaysInFirstWeek(){return this.getWeekSettings().minimalDays}getWeekendDays(){return this.getWeekSettings().weekend}equals(t){return this.locale===t.locale&&this.numberingSystem===t.numberingSystem&&this.outputCalendar===t.outputCalendar}toString(){return`Locale(${this.locale}, ${this.numberingSystem}, ${this.outputCalendar})`}}let YT=null;class Bs extends LW{static get utcInstance(){return YT===null&&(YT=new Bs(0)),YT}static instance(t){return t===0?Bs.utcInstance:new Bs(t)}static parseSpecifier(t){if(t){const e=t.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);if(e)return new Bs(YG(e[1],e[2]))}return null}constructor(t){super(),this.fixed=t}get type(){return"fixed"}get name(){return this.fixed===0?"UTC":`UTC${T2(this.fixed,"narrow")}`}get ianaName(){return this.fixed===0?"Etc/UTC":`Etc/GMT${T2(-this.fixed,"narrow")}`}offsetName(){return this.name}formatOffset(t,e){return T2(this.fixed,e)}get isUniversal(){return!0}offset(){return this.fixed}equals(t){return t.type==="fixed"&&t.fixed===this.fixed}get isValid(){return!0}}class pv extends LW{constructor(t){super(),this.zoneName=t}get type(){return"invalid"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(){return null}formatOffset(){return""}offset(){return NaN}equals(){return!1}get isValid(){return!1}}function cu(l,t){if(Wl(l)||l===null)return t;if(l instanceof LW)return l;if(Tv(l)){const e=l.toLowerCase();return e==="default"?t:e==="local"||e==="system"?GG.instance:e==="utc"||e==="gmt"?Bs.utcInstance:Bs.parseSpecifier(e)||Ld.create(l)}else return n0(l)?Bs.instance(l):typeof l=="object"&&"offset"in l&&typeof l.offset=="function"?l:new pv(l)}const eV={arab:"[٠-٩]",arabext:"[۰-۹]",bali:"[᭐-᭙]",beng:"[০-৯]",deva:"[०-९]",fullwide:"[0-9]",gujr:"[૦-૯]",hanidec:"[〇|一|二|三|四|五|六|七|八|九]",khmr:"[០-៩]",knda:"[೦-೯]",laoo:"[໐-໙]",limb:"[᥆-᥏]",mlym:"[൦-൯]",mong:"[᠐-᠙]",mymr:"[၀-၉]",orya:"[୦-୯]",tamldec:"[௦-௯]",telu:"[౦-౯]",thai:"[๐-๙]",tibt:"[༠-༩]",latn:"\\d"},pz={arab:[1632,1641],arabext:[1776,1785],bali:[6992,7001],beng:[2534,2543],deva:[2406,2415],fullwide:[65296,65303],gujr:[2790,2799],khmr:[6112,6121],knda:[3302,3311],laoo:[3792,3801],limb:[6470,6479],mlym:[3430,3439],mong:[6160,6169],mymr:[4160,4169],orya:[2918,2927],tamldec:[3046,3055],telu:[3174,3183],thai:[3664,3673],tibt:[3872,3881]},yv=eV.hanidec.replace(/[\[|\]]/g,"").split("");function Wv(l){let t=parseInt(l,10);if(isNaN(t)){t="";for(let e=0;e<l.length;e++){const n=l.charCodeAt(e);if(l[e].search(eV.hanidec)!==-1)t+=yv.indexOf(l[e]);else for(const i in pz){const[s,a]=pz[i];n>=s&&n<=a&&(t+=n-s)}}return parseInt(t,10)}else return t}const AX=new Map;function Nv(){AX.clear()}function vc({numberingSystem:l},t=""){const e=l||"latn";let n=AX.get(e);n===void 0&&(n=new Map,AX.set(e,n));let i=n.get(t);return i===void 0&&(i=new RegExp(`${eV[e]}${t}`),n.set(t,i)),i}let yz=()=>Date.now(),Wz="system",Nz=null,Mz=null,Gz=null,Tz=60,Xz,Yz=null,di=class{static get now(){return yz}static set now(t){yz=t}static set defaultZone(t){Wz=t}static get defaultZone(){return cu(Wz,GG.instance)}static get defaultLocale(){return Nz}static set defaultLocale(t){Nz=t}static get defaultNumberingSystem(){return Mz}static set defaultNumberingSystem(t){Mz=t}static get defaultOutputCalendar(){return Gz}static set defaultOutputCalendar(t){Gz=t}static get defaultWeekSettings(){return Yz}static set defaultWeekSettings(t){Yz=_X(t)}static get twoDigitCutoffYear(){return Tz}static set twoDigitCutoffYear(t){Tz=t%100}static get throwOnInvalid(){return Xz}static set throwOnInvalid(t){Xz=t}static resetCaches(){un.resetCache(),Ld.resetCache(),yl.resetCache(),Nv()}};class ir{constructor(t,e){this.reason=t,this.explanation=e}toMessage(){return this.explanation?`${this.reason}: ${this.explanation}`:this.reason}}const x3=[0,31,59,90,120,151,181,212,243,273,304,334],f3=[0,31,60,91,121,152,182,213,244,274,305,335];function Vc(l,t){return new ir("unit out of range",`you specified ${t} (of type ${typeof t}) as a ${l}, which is invalid`)}function lV(l,t,e){const n=new Date(Date.UTC(l,t-1,e));l<100&&l>=0&&n.setUTCFullYear(n.getUTCFullYear()-1900);const i=n.getUTCDay();return i===0?7:i}function S3(l,t,e){return e+(VW(l)?f3:x3)[t-1]}function R3(l,t){const e=VW(l)?f3:x3,n=e.findIndex(s=>s<t),i=t-e[n];return{month:n+1,day:i}}function nV(l,t){return(l-t+7)%7+1}function TM(l,t=4,e=1){const{year:n,month:i,day:s}=l,a=S3(n,i,s),c=nV(lV(n,i,s),e);let o=Math.floor((a-c+14-t)/7),d;return o<1?(d=n-1,o=g2(d,t,e)):o>g2(n,t,e)?(d=n+1,o=1):d=n,{weekYear:d,weekNumber:o,weekday:c,...LG(l)}}function Lz(l,t=4,e=1){const{weekYear:n,weekNumber:i,weekday:s}=l,a=nV(lV(n,1,t),e),c=gb(n);let o=i*7+s-a-7+t,d;o<1?(d=n-1,o+=gb(d)):o>c?(d=n+1,o-=gb(n)):d=n;const{month:h,day:b}=R3(d,o);return{year:d,month:h,day:b,...LG(l)}}function LT(l){const{year:t,month:e,day:n}=l,i=S3(t,e,n);return{year:t,ordinal:i,...LG(l)}}function Vz(l){const{year:t,ordinal:e}=l,{month:n,day:i}=R3(t,e);return{year:t,month:n,day:i,...LG(l)}}function Iz(l,t){if(!Wl(l.localWeekday)||!Wl(l.localWeekNumber)||!Wl(l.localWeekYear)){if(!Wl(l.weekday)||!Wl(l.weekNumber)||!Wl(l.weekYear))throw new Vb("Cannot mix locale-based week fields with ISO-based week fields");return Wl(l.localWeekday)||(l.weekday=l.localWeekday),Wl(l.localWeekNumber)||(l.weekNumber=l.localWeekNumber),Wl(l.localWeekYear)||(l.weekYear=l.localWeekYear),delete l.localWeekday,delete l.localWeekNumber,delete l.localWeekYear,{minDaysInFirstWeek:t.getMinDaysInFirstWeek(),startOfWeek:t.getStartOfWeek()}}else return{minDaysInFirstWeek:4,startOfWeek:1}}function Mv(l,t=4,e=1){const n=TG(l.weekYear),i=Ic(l.weekNumber,1,g2(l.weekYear,t,e)),s=Ic(l.weekday,1,7);return n?i?s?!1:Vc("weekday",l.weekday):Vc("week",l.weekNumber):Vc("weekYear",l.weekYear)}function Gv(l){const t=TG(l.year),e=Ic(l.ordinal,1,gb(l.year));return t?e?!1:Vc("ordinal",l.ordinal):Vc("year",l.year)}function k3(l){const t=TG(l.year),e=Ic(l.month,1,12),n=Ic(l.day,1,XM(l.year,l.month));return t?e?n?!1:Vc("day",l.day):Vc("month",l.month):Vc("year",l.year)}function D3(l){const{hour:t,minute:e,second:n,millisecond:i}=l,s=Ic(t,0,23)||t===24&&e===0&&n===0&&i===0,a=Ic(e,0,59),c=Ic(n,0,59),o=Ic(i,0,999);return s?a?c?o?!1:Vc("millisecond",i):Vc("second",n):Vc("minute",e):Vc("hour",t)}function Wl(l){return typeof l>"u"}function n0(l){return typeof l=="number"}function TG(l){return typeof l=="number"&&l%1===0}function Tv(l){return typeof l=="string"}function Xv(l){return Object.prototype.toString.call(l)==="[object Date]"}function O3(){try{return typeof Intl<"u"&&!!Intl.RelativeTimeFormat}catch{return!1}}function j3(){try{return typeof Intl<"u"&&!!Intl.Locale&&("weekInfo"in Intl.Locale.prototype||"getWeekInfo"in Intl.Locale.prototype)}catch{return!1}}function Yv(l){return Array.isArray(l)?l:[l]}function wz(l,t,e){if(l.length!==0)return l.reduce((n,i)=>{const s=[t(i),i];return n&&e(n[0],s[0])===n[0]?n:s},null)[1]}function Lv(l,t){return t.reduce((e,n)=>(e[n]=l[n],e),{})}function _Z(l,t){return Object.prototype.hasOwnProperty.call(l,t)}function _X(l){if(l==null)return null;if(typeof l!="object")throw new gs("Week settings must be an object");if(!Ic(l.firstDay,1,7)||!Ic(l.minimalDays,1,7)||!Array.isArray(l.weekend)||l.weekend.some(t=>!Ic(t,1,7)))throw new gs("Invalid week settings");return{firstDay:l.firstDay,minimalDays:l.minimalDays,weekend:Array.from(l.weekend)}}function Ic(l,t,e){return TG(l)&&l>=t&&l<=e}function Vv(l,t){return l-t*Math.floor(l/t)}function Yi(l,t=2){const e=l<0;let n;return e?n="-"+(""+-l).padStart(t,"0"):n=(""+l).padStart(t,"0"),n}function su(l){if(!(Wl(l)||l===null||l===""))return parseInt(l,10)}function H0(l){if(!(Wl(l)||l===null||l===""))return parseFloat(l)}function iV(l){if(!(Wl(l)||l===null||l==="")){const t=parseFloat("0."+l)*1e3;return Math.floor(t)}}function sV(l,t,e="round"){const n=10**t;switch(e){case"expand":return l>0?Math.ceil(l*n)/n:Math.floor(l*n)/n;case"trunc":return Math.trunc(l*n)/n;case"round":return Math.round(l*n)/n;case"floor":return Math.floor(l*n)/n;case"ceil":return Math.ceil(l*n)/n;default:throw new RangeError(`Value rounding ${e} is out of range`)}}function VW(l){return l%4===0&&(l%100!==0||l%400===0)}function gb(l){return VW(l)?366:365}function XM(l,t){const e=Vv(t-1,12)+1,n=l+(t-e)/12;return e===2?VW(n)?29:28:[31,null,31,30,31,30,31,31,30,31,30,31][e-1]}function XG(l){let t=Date.UTC(l.year,l.month-1,l.day,l.hour,l.minute,l.second,l.millisecond);return l.year<100&&l.year>=0&&(t=new Date(t),t.setUTCFullYear(l.year,l.month-1,l.day)),+t}function zz(l,t,e){return-nV(lV(l,1,t),e)+t-1}function g2(l,t=4,e=1){const n=zz(l,t,e),i=zz(l+1,t,e);return(gb(l)-n+i)/7}function qX(l){return l>99?l:l>di.twoDigitCutoffYear?1900+l:2e3+l}function C3(l,t,e,n=null){const i=new Date(l),s={hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"};n&&(s.timeZone=n);const a={timeZoneName:t,...s},c=new Intl.DateTimeFormat(e,a).formatToParts(i).find(o=>o.type.toLowerCase()==="timezonename");return c?c.value:null}function YG(l,t){let e=parseInt(l,10);Number.isNaN(e)&&(e=0);const n=parseInt(t,10)||0,i=e<0||Object.is(e,-0)?-n:n;return e*60+i}function F3(l){const t=Number(l);if(typeof l=="boolean"||l===""||!Number.isFinite(t))throw new gs(`Invalid unit value ${l}`);return t}function YM(l,t){const e={};for(const n in l)if(_Z(l,n)){const i=l[n];if(i==null)continue;e[t(n)]=F3(i)}return e}function T2(l,t){const e=Math.trunc(Math.abs(l/60)),n=Math.trunc(Math.abs(l%60)),i=l>=0?"+":"-";switch(t){case"short":return`${i}${Yi(e,2)}:${Yi(n,2)}`;case"narrow":return`${i}${e}${n>0?`:${n}`:""}`;case"techie":return`${i}${Yi(e,2)}${Yi(n,2)}`;default:throw new RangeError(`Value format ${t} is out of range for property format`)}}function LG(l){return Lv(l,["hour","minute","second","millisecond"])}const Iv=["January","February","March","April","May","June","July","August","September","October","November","December"],J3=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wv=["J","F","M","A","M","J","J","A","S","O","N","D"];function v3(l){switch(l){case"narrow":return[...wv];case"short":return[...J3];case"long":return[...Iv];case"numeric":return["1","2","3","4","5","6","7","8","9","10","11","12"];case"2-digit":return["01","02","03","04","05","06","07","08","09","10","11","12"];default:return null}}const U3=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],E3=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],zv=["M","T","W","T","F","S","S"];function K3(l){switch(l){case"narrow":return[...zv];case"short":return[...E3];case"long":return[...U3];case"numeric":return["1","2","3","4","5","6","7"];default:return null}}const P3=["AM","PM"],gv=["Before Christ","Anno Domini"],xv=["BC","AD"],fv=["B","A"];function H3(l){switch(l){case"narrow":return[...fv];case"short":return[...xv];case"long":return[...gv];default:return null}}function Sv(l){return P3[l.hour<12?0:1]}function Rv(l,t){return K3(t)[l.weekday-1]}function kv(l,t){return v3(t)[l.month-1]}function Dv(l,t){return H3(t)[l.year<0?0:1]}function Ov(l,t,e="always",n=!1){const i={years:["year","yr."],quarters:["quarter","qtr."],months:["month","mo."],weeks:["week","wk."],days:["day","day","days"],hours:["hour","hr."],minutes:["minute","min."],seconds:["second","sec."]},s=["hours","minutes","seconds"].indexOf(l)===-1;if(e==="auto"&&s){const b=l==="days";switch(t){case 1:return b?"tomorrow":`next ${i[l][0]}`;case-1:return b?"yesterday":`last ${i[l][0]}`;case 0:return b?"today":`this ${i[l][0]}`}}const a=Object.is(t,-0)||t<0,c=Math.abs(t),o=c===1,d=i[l],h=n?o?d[1]:d[2]||d[1]:o?i[l][0]:l;return a?`${c} ${h} ago`:`in ${c} ${h}`}function gz(l,t){let e="";for(const n of l)n.literal?e+=n.val:e+=t(n.val);return e}const jv={D:GM,DD:d3,DDD:u3,DDDD:m3,t:h3,tt:b3,ttt:Z3,tttt:p3,T:y3,TT:W3,TTT:N3,TTTT:M3,f:G3,ff:X3,fff:L3,ffff:I3,F:T3,FF:Y3,FFF:V3,FFFF:w3};class xs{static create(t,e={}){return new xs(t,e)}static parseFormat(t){let e=null,n="",i=!1;const s=[];for(let a=0;a<t.length;a++){const c=t.charAt(a);c==="'"?((n.length>0||i)&&s.push({literal:i||/^\s+$/.test(n),val:n===""?"'":n}),e=null,n="",i=!i):i||c===e?n+=c:(n.length>0&&s.push({literal:/^\s+$/.test(n),val:n}),n=c,e=c)}return n.length>0&&s.push({literal:i||/^\s+$/.test(n),val:n}),s}static macroTokenToFormatOpts(t){return jv[t]}constructor(t,e){this.opts=e,this.loc=t,this.systemLoc=null}formatWithSystemDefault(t,e){return this.systemLoc===null&&(this.systemLoc=this.loc.redefaultToSystem()),this.systemLoc.dtFormatter(t,{...this.opts,...e}).format()}dtFormatter(t,e={}){return this.loc.dtFormatter(t,{...this.opts,...e})}formatDateTime(t,e){return this.dtFormatter(t,e).format()}formatDateTimeParts(t,e){return this.dtFormatter(t,e).formatToParts()}formatInterval(t,e){return this.dtFormatter(t.start,e).dtf.formatRange(t.start.toJSDate(),t.end.toJSDate())}resolvedOptions(t,e){return this.dtFormatter(t,e).resolvedOptions()}num(t,e=0,n=void 0){if(this.opts.forceSimple)return Yi(t,e);const i={...this.opts};return e>0&&(i.padTo=e),n&&(i.signDisplay=n),this.loc.numberFormatter(i).format(t)}formatDateTimeFromString(t,e){const n=this.loc.listingMode()==="en",i=this.loc.outputCalendar&&this.loc.outputCalendar!=="gregory",s=(y,M)=>this.loc.extract(t,y,M),a=y=>t.isOffsetFixed&&t.offset===0&&y.allowZ?"Z":t.isValid?t.zone.formatOffset(t.ts,y.format):"",c=()=>n?Sv(t):s({hour:"numeric",hourCycle:"h12"},"dayperiod"),o=(y,M)=>n?kv(t,y):s(M?{month:y}:{month:y,day:"numeric"},"month"),d=(y,M)=>n?Rv(t,y):s(M?{weekday:y}:{weekday:y,month:"long",day:"numeric"},"weekday"),h=y=>{const M=xs.macroTokenToFormatOpts(y);return M?this.formatWithSystemDefault(t,M):y},b=y=>n?Dv(t,y):s({era:y},"era"),p=y=>{switch(y){case"S":return this.num(t.millisecond);case"u":case"SSS":return this.num(t.millisecond,3);case"s":return this.num(t.second);case"ss":return this.num(t.second,2);case"uu":return this.num(Math.floor(t.millisecond/10),2);case"uuu":return this.num(Math.floor(t.millisecond/100));case"m":return this.num(t.minute);case"mm":return this.num(t.minute,2);case"h":return this.num(t.hour%12===0?12:t.hour%12);case"hh":return this.num(t.hour%12===0?12:t.hour%12,2);case"H":return this.num(t.hour);case"HH":return this.num(t.hour,2);case"Z":return a({format:"narrow",allowZ:this.opts.allowZ});case"ZZ":return a({format:"short",allowZ:this.opts.allowZ});case"ZZZ":return a({format:"techie",allowZ:this.opts.allowZ});case"ZZZZ":return t.zone.offsetName(t.ts,{format:"short",locale:this.loc.locale});case"ZZZZZ":return t.zone.offsetName(t.ts,{format:"long",locale:this.loc.locale});case"z":return t.zoneName;case"a":return c();case"d":return i?s({day:"numeric"},"day"):this.num(t.day);case"dd":return i?s({day:"2-digit"},"day"):this.num(t.day,2);case"c":return this.num(t.weekday);case"ccc":return d("short",!0);case"cccc":return d("long",!0);case"ccccc":return d("narrow",!0);case"E":return this.num(t.weekday);case"EEE":return d("short",!1);case"EEEE":return d("long",!1);case"EEEEE":return d("narrow",!1);case"L":return i?s({month:"numeric",day:"numeric"},"month"):this.num(t.month);case"LL":return i?s({month:"2-digit",day:"numeric"},"month"):this.num(t.month,2);case"LLL":return o("short",!0);case"LLLL":return o("long",!0);case"LLLLL":return o("narrow",!0);case"M":return i?s({month:"numeric"},"month"):this.num(t.month);case"MM":return i?s({month:"2-digit"},"month"):this.num(t.month,2);case"MMM":return o("short",!1);case"MMMM":return o("long",!1);case"MMMMM":return o("narrow",!1);case"y":return i?s({year:"numeric"},"year"):this.num(t.year);case"yy":return i?s({year:"2-digit"},"year"):this.num(t.year.toString().slice(-2),2);case"yyyy":return i?s({year:"numeric"},"year"):this.num(t.year,4);case"yyyyyy":return i?s({year:"numeric"},"year"):this.num(t.year,6);case"G":return b("short");case"GG":return b("long");case"GGGGG":return b("narrow");case"kk":return this.num(t.weekYear.toString().slice(-2),2);case"kkkk":return this.num(t.weekYear,4);case"W":return this.num(t.weekNumber);case"WW":return this.num(t.weekNumber,2);case"n":return this.num(t.localWeekNumber);case"nn":return this.num(t.localWeekNumber,2);case"ii":return this.num(t.localWeekYear.toString().slice(-2),2);case"iiii":return this.num(t.localWeekYear,4);case"o":return this.num(t.ordinal);case"ooo":return this.num(t.ordinal,3);case"q":return this.num(t.quarter);case"qq":return this.num(t.quarter,2);case"X":return this.num(Math.floor(t.ts/1e3));case"x":return this.num(t.ts);default:return h(y)}};return gz(xs.parseFormat(e),p)}formatDurationFromString(t,e){const n=this.opts.signMode==="negativeLargestOnly"?-1:1,i=h=>{switch(h[0]){case"S":return"milliseconds";case"s":return"seconds";case"m":return"minutes";case"h":return"hours";case"d":return"days";case"w":return"weeks";case"M":return"months";case"y":return"years";default:return null}},s=(h,b)=>p=>{const y=i(p);if(y){const M=b.isNegativeDuration&&y!==b.largestUnit?n:1;let T;return this.opts.signMode==="negativeLargestOnly"&&y!==b.largestUnit?T="never":this.opts.signMode==="all"?T="always":T="auto",this.num(h.get(y)*M,p.length,T)}else return p},a=xs.parseFormat(e),c=a.reduce((h,{literal:b,val:p})=>b?h:h.concat(p),[]),o=t.shiftTo(...c.map(i).filter(h=>h)),d={isNegativeDuration:o<0,largestUnit:Object.keys(o.values)[0]};return gz(a,s(o,d))}}const Q3=/[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/;function np(...l){const t=l.reduce((e,n)=>e+n.source,"");return RegExp(`^${t}$`)}function ip(...l){return t=>l.reduce(([e,n,i],s)=>{const[a,c,o]=s(t,i);return[{...e,...a},c||n,o]},[{},null,1]).slice(0,2)}function sp(l,...t){if(l==null)return[null,null];for(const[e,n]of t){const i=e.exec(l);if(i)return n(i)}return[null,null]}function B3(...l){return(t,e)=>{const n={};let i;for(i=0;i<l.length;i++)n[l[i]]=su(t[e+i]);return[n,null,e+i]}}const A3=/(?:([Zz])|([+-]\d\d)(?::?(\d\d))?)/,Cv=`(?:${A3.source}?(?:\\[(${Q3.source})\\])?)?`,aV=/(\d\d)(?::?(\d\d)(?::?(\d\d)(?:[.,](\d{1,30}))?)?)?/,_3=RegExp(`${aV.source}${Cv}`),cV=RegExp(`(?:[Tt]${_3.source})?`),Fv=/([+-]\d{6}|\d{4})(?:-?(\d\d)(?:-?(\d\d))?)?/,Jv=/(\d{4})-?W(\d\d)(?:-?(\d))?/,vv=/(\d{4})-?(\d{3})/,Uv=B3("weekYear","weekNumber","weekDay"),Ev=B3("year","ordinal"),Kv=/(\d{4})-(\d\d)-(\d\d)/,q3=RegExp(`${aV.source} ?(?:${A3.source}|(${Q3.source}))?`),Pv=RegExp(`(?: ${q3.source})?`);function xb(l,t,e){const n=l[t];return Wl(n)?e:su(n)}function Hv(l,t){return[{year:xb(l,t),month:xb(l,t+1,1),day:xb(l,t+2,1)},null,t+3]}function ap(l,t){return[{hours:xb(l,t,0),minutes:xb(l,t+1,0),seconds:xb(l,t+2,0),milliseconds:iV(l[t+3])},null,t+4]}function IW(l,t){const e=!l[t]&&!l[t+1],n=YG(l[t+1],l[t+2]),i=e?null:Bs.instance(n);return[{},i,t+3]}function wW(l,t){const e=l[t]?Ld.create(l[t]):null;return[{},e,t+1]}const Qv=RegExp(`^T?${aV.source}$`),Bv=/^-?P(?:(?:(-?\d{1,20}(?:\.\d{1,20})?)Y)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20}(?:\.\d{1,20})?)W)?(?:(-?\d{1,20}(?:\.\d{1,20})?)D)?(?:T(?:(-?\d{1,20}(?:\.\d{1,20})?)H)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20})(?:[.,](-?\d{1,20}))?S)?)?)$/;function Av(l){const[t,e,n,i,s,a,c,o,d]=l,h=t[0]==="-",b=o&&o[0]==="-",p=(y,M=!1)=>y!==void 0&&(M||y&&h)?-y:y;return[{years:p(H0(e)),months:p(H0(n)),weeks:p(H0(i)),days:p(H0(s)),hours:p(H0(a)),minutes:p(H0(c)),seconds:p(H0(o),o==="-0"),milliseconds:p(iV(d),b)}]}const _v={GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60};function rV(l,t,e,n,i,s,a){const c={year:t.length===2?qX(su(t)):su(t),month:J3.indexOf(e)+1,day:su(n),hour:su(i),minute:su(s)};return a&&(c.second=su(a)),l&&(c.weekday=l.length>3?U3.indexOf(l)+1:E3.indexOf(l)+1),c}const qv=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/;function $v(l){const[,t,e,n,i,s,a,c,o,d,h,b]=l,p=rV(t,i,n,e,s,a,c);let y;return o?y=_v[o]:d?y=0:y=YG(h,b),[p,new Bs(y)]}function tU(l){return l.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim()}const eU=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/,lU=/^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/,nU=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/;function xz(l){const[,t,e,n,i,s,a,c]=l;return[rV(t,i,n,e,s,a,c),Bs.utcInstance]}function iU(l){const[,t,e,n,i,s,a,c]=l;return[rV(t,c,e,n,i,s,a),Bs.utcInstance]}const sU=np(Fv,cV),aU=np(Jv,cV),cU=np(vv,cV),rU=np(_3),$3=ip(Hv,ap,IW,wW),oU=ip(Uv,ap,IW,wW),dU=ip(Ev,ap,IW,wW),uU=ip(ap,IW,wW);function mU(l){return sp(l,[sU,$3],[aU,oU],[cU,dU],[rU,uU])}function hU(l){return sp(tU(l),[qv,$v])}function bU(l){return sp(l,[eU,xz],[lU,xz],[nU,iU])}function ZU(l){return sp(l,[Bv,Av])}const pU=ip(ap);function yU(l){return sp(l,[Qv,pU])}const WU=np(Kv,Pv),NU=np(q3),MU=ip(ap,IW,wW);function GU(l){return sp(l,[WU,$3],[NU,MU])}const fz="Invalid Duration",tf={weeks:{days:7,hours:7*24,minutes:7*24*60,seconds:7*24*60*60,milliseconds:7*24*60*60*1e3},days:{hours:24,minutes:24*60,seconds:24*60*60,milliseconds:24*60*60*1e3},hours:{minutes:60,seconds:60*60,milliseconds:60*60*1e3},minutes:{seconds:60,milliseconds:60*1e3},seconds:{milliseconds:1e3}},TU={years:{quarters:4,months:12,weeks:52,days:365,hours:365*24,minutes:365*24*60,seconds:365*24*60*60,milliseconds:365*24*60*60*1e3},quarters:{months:3,weeks:13,days:91,hours:91*24,minutes:91*24*60,seconds:91*24*60*60,milliseconds:91*24*60*60*1e3},months:{weeks:4,days:30,hours:30*24,minutes:30*24*60,seconds:30*24*60*60,milliseconds:30*24*60*60*1e3},...tf},uc=146097/400,ab=146097/4800,XU={years:{quarters:4,months:12,weeks:uc/7,days:uc,hours:uc*24,minutes:uc*24*60,seconds:uc*24*60*60,milliseconds:uc*24*60*60*1e3},quarters:{months:3,weeks:uc/28,days:uc/4,hours:uc*24/4,minutes:uc*24*60/4,seconds:uc*24*60*60/4,milliseconds:uc*24*60*60*1e3/4},months:{weeks:ab/7,days:ab,hours:ab*24,minutes:ab*24*60,seconds:ab*24*60*60,milliseconds:ab*24*60*60*1e3},...tf},rm=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],YU=rm.slice(0).reverse();function Lo(l,t,e=!1){const n={values:e?t.values:{...l.values,...t.values||{}},loc:l.loc.clone(t.loc),conversionAccuracy:t.conversionAccuracy||l.conversionAccuracy,matrix:t.matrix||l.matrix};return new $l(n)}function ef(l,t){let e=t.milliseconds??0;for(const n of YU.slice(1))t[n]&&(e+=t[n]*l[n].milliseconds);return e}function Sz(l,t){const e=ef(l,t)<0?-1:1;rm.reduceRight((n,i)=>{if(Wl(t[i]))return n;if(n){const s=t[n]*e,a=l[i][n],c=Math.floor(s/a);t[i]+=c*e,t[n]-=c*a*e}return i},null),rm.reduce((n,i)=>{if(Wl(t[i]))return n;if(n){const s=t[n]%1;t[n]-=s,t[i]+=s*l[n][i]}return i},null)}function Rz(l){const t={};for(const[e,n]of Object.entries(l))n!==0&&(t[e]=n);return t}class $l{constructor(t){const e=t.conversionAccuracy==="longterm"||!1;let n=e?XU:TU;t.matrix&&(n=t.matrix),this.values=t.values,this.loc=t.loc||un.create(),this.conversionAccuracy=e?"longterm":"casual",this.invalid=t.invalid||null,this.matrix=n,this.isLuxonDuration=!0}static fromMillis(t,e){return $l.fromObject({milliseconds:t},e)}static fromObject(t,e={}){if(t==null||typeof t!="object")throw new gs(`Duration.fromObject: argument expected to be an object, got ${t===null?"null":typeof t}`);return new $l({values:YM(t,$l.normalizeUnit),loc:un.fromObject(e),conversionAccuracy:e.conversionAccuracy,matrix:e.matrix})}static fromDurationLike(t){if(n0(t))return $l.fromMillis(t);if($l.isDuration(t))return t;if(typeof t=="object")return $l.fromObject(t);throw new gs(`Unknown duration argument ${t} of type ${typeof t}`)}static fromISO(t,e){const[n]=ZU(t);return n?$l.fromObject(n,e):$l.invalid("unparsable",`the input "${t}" can't be parsed as ISO 8601`)}static fromISOTime(t,e){const[n]=yU(t);return n?$l.fromObject(n,e):$l.invalid("unparsable",`the input "${t}" can't be parsed as ISO 8601`)}static invalid(t,e=null){if(!t)throw new gs("need to specify a reason the Duration is invalid");const n=t instanceof ir?t:new ir(t,e);if(di.throwOnInvalid)throw new AJ(n);return new $l({invalid:n})}static normalizeUnit(t){const e={year:"years",years:"years",quarter:"quarters",quarters:"quarters",month:"months",months:"months",week:"weeks",weeks:"weeks",day:"days",days:"days",hour:"hours",hours:"hours",minute:"minutes",minutes:"minutes",second:"seconds",seconds:"seconds",millisecond:"milliseconds",milliseconds:"milliseconds"}[t&&t.toLowerCase()];if(!e)throw new o3(t);return e}static isDuration(t){return t&&t.isLuxonDuration||!1}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}toFormat(t,e={}){const n={...e,floor:e.round!==!1&&e.floor!==!1};return this.isValid?xs.create(this.loc,n).formatDurationFromString(this,t):fz}toHuman(t={}){if(!this.isValid)return fz;const e=t.showZeros!==!1,n=rm.map(i=>{const s=this.values[i];return Wl(s)||s===0&&!e?null:this.loc.numberFormatter({style:"unit",unitDisplay:"long",...t,unit:i.slice(0,-1)}).format(s)}).filter(i=>i);return this.loc.listFormatter({type:"conjunction",style:t.listStyle||"narrow",...t}).format(n)}toObject(){return this.isValid?{...this.values}:{}}toISO(){if(!this.isValid)return null;let t="P";return this.years!==0&&(t+=this.years+"Y"),(this.months!==0||this.quarters!==0)&&(t+=this.months+this.quarters*3+"M"),this.weeks!==0&&(t+=this.weeks+"W"),this.days!==0&&(t+=this.days+"D"),(this.hours!==0||this.minutes!==0||this.seconds!==0||this.milliseconds!==0)&&(t+="T"),this.hours!==0&&(t+=this.hours+"H"),this.minutes!==0&&(t+=this.minutes+"M"),(this.seconds!==0||this.milliseconds!==0)&&(t+=sV(this.seconds+this.milliseconds/1e3,3)+"S"),t==="P"&&(t+="T0S"),t}toISOTime(t={}){if(!this.isValid)return null;const e=this.toMillis();return e<0||e>=864e5?null:(t={suppressMilliseconds:!1,suppressSeconds:!1,includePrefix:!1,format:"extended",...t,includeOffset:!1},yl.fromMillis(e,{zone:"UTC"}).toISOTime(t))}toJSON(){return this.toISO()}toString(){return this.toISO()}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`Duration { values: ${JSON.stringify(this.values)} }`:`Duration { Invalid, reason: ${this.invalidReason} }`}toMillis(){return this.isValid?ef(this.matrix,this.values):NaN}valueOf(){return this.toMillis()}plus(t){if(!this.isValid)return this;const e=$l.fromDurationLike(t),n={};for(const i of rm)(_Z(e.values,i)||_Z(this.values,i))&&(n[i]=e.get(i)+this.get(i));return Lo(this,{values:n},!0)}minus(t){if(!this.isValid)return this;const e=$l.fromDurationLike(t);return this.plus(e.negate())}mapUnits(t){if(!this.isValid)return this;const e={};for(const n of Object.keys(this.values))e[n]=F3(t(this.values[n],n));return Lo(this,{values:e},!0)}get(t){return this[$l.normalizeUnit(t)]}set(t){if(!this.isValid)return this;const e={...this.values,...YM(t,$l.normalizeUnit)};return Lo(this,{values:e})}reconfigure({locale:t,numberingSystem:e,conversionAccuracy:n,matrix:i}={}){const a={loc:this.loc.clone({locale:t,numberingSystem:e}),matrix:i,conversionAccuracy:n};return Lo(this,a)}as(t){return this.isValid?this.shiftTo(t).get(t):NaN}normalize(){if(!this.isValid)return this;const t=this.toObject();return Sz(this.matrix,t),Lo(this,{values:t},!0)}rescale(){if(!this.isValid)return this;const t=Rz(this.normalize().shiftToAll().toObject());return Lo(this,{values:t},!0)}shiftTo(...t){if(!this.isValid)return this;if(t.length===0)return this;t=t.map(a=>$l.normalizeUnit(a));const e={},n={},i=this.toObject();let s;for(const a of rm)if(t.indexOf(a)>=0){s=a;let c=0;for(const d in n)c+=this.matrix[d][a]*n[d],n[d]=0;n0(i[a])&&(c+=i[a]);const o=Math.trunc(c);e[a]=o,n[a]=(c*1e3-o*1e3)/1e3}else n0(i[a])&&(n[a]=i[a]);for(const a in n)n[a]!==0&&(e[s]+=a===s?n[a]:n[a]/this.matrix[s][a]);return Sz(this.matrix,e),Lo(this,{values:e},!0)}shiftToAll(){return this.isValid?this.shiftTo("years","months","weeks","days","hours","minutes","seconds","milliseconds"):this}negate(){if(!this.isValid)return this;const t={};for(const e of Object.keys(this.values))t[e]=this.values[e]===0?0:-this.values[e];return Lo(this,{values:t},!0)}removeZeros(){if(!this.isValid)return this;const t=Rz(this.values);return Lo(this,{values:t},!0)}get years(){return this.isValid?this.values.years||0:NaN}get quarters(){return this.isValid?this.values.quarters||0:NaN}get months(){return this.isValid?this.values.months||0:NaN}get weeks(){return this.isValid?this.values.weeks||0:NaN}get days(){return this.isValid?this.values.days||0:NaN}get hours(){return this.isValid?this.values.hours||0:NaN}get minutes(){return this.isValid?this.values.minutes||0:NaN}get seconds(){return this.isValid?this.values.seconds||0:NaN}get milliseconds(){return this.isValid?this.values.milliseconds||0:NaN}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}equals(t){if(!this.isValid||!t.isValid||!this.loc.equals(t.loc))return!1;function e(n,i){return n===void 0||n===0?i===void 0||i===0:n===i}for(const n of rm)if(!e(this.values[n],t.values[n]))return!1;return!0}}const cb="Invalid Interval";function LU(l,t){return!l||!l.isValid?oi.invalid("missing or invalid start"):!t||!t.isValid?oi.invalid("missing or invalid end"):t<l?oi.invalid("end before start",`The end of an interval must be after its start, but you had start=${l.toISO()} and end=${t.toISO()}`):null}class oi{constructor(t){this.s=t.start,this.e=t.end,this.invalid=t.invalid||null,this.isLuxonInterval=!0}static invalid(t,e=null){if(!t)throw new gs("need to specify a reason the Interval is invalid");const n=t instanceof ir?t:new ir(t,e);if(di.throwOnInvalid)throw new BJ(n);return new oi({invalid:n})}static fromDateTimes(t,e){const n=Jp(t),i=Jp(e),s=LU(n,i);return s??new oi({start:n,end:i})}static after(t,e){const n=$l.fromDurationLike(e),i=Jp(t);return oi.fromDateTimes(i,i.plus(n))}static before(t,e){const n=$l.fromDurationLike(e),i=Jp(t);return oi.fromDateTimes(i.minus(n),i)}static fromISO(t,e){const[n,i]=(t||"").split("/",2);if(n&&i){let s,a;try{s=yl.fromISO(n,e),a=s.isValid}catch{a=!1}let c,o;try{c=yl.fromISO(i,e),o=c.isValid}catch{o=!1}if(a&&o)return oi.fromDateTimes(s,c);if(a){const d=$l.fromISO(i,e);if(d.isValid)return oi.after(s,d)}else if(o){const d=$l.fromISO(n,e);if(d.isValid)return oi.before(c,d)}}return oi.invalid("unparsable",`the input "${t}" can't be parsed as ISO 8601`)}static isInterval(t){return t&&t.isLuxonInterval||!1}get start(){return this.isValid?this.s:null}get end(){return this.isValid?this.e:null}get lastDateTime(){return this.isValid&&this.e?this.e.minus(1):null}get isValid(){return this.invalidReason===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}length(t="milliseconds"){return this.isValid?this.toDuration(t).get(t):NaN}count(t="milliseconds",e){if(!this.isValid)return NaN;const n=this.start.startOf(t,e);let i;return e!=null&&e.useLocaleWeeks?i=this.end.reconfigure({locale:n.locale}):i=this.end,i=i.startOf(t,e),Math.floor(i.diff(n,t).get(t))+(i.valueOf()!==this.end.valueOf())}hasSame(t){return this.isValid?this.isEmpty()||this.e.minus(1).hasSame(this.s,t):!1}isEmpty(){return this.s.valueOf()===this.e.valueOf()}isAfter(t){return this.isValid?this.s>t:!1}isBefore(t){return this.isValid?this.e<=t:!1}contains(t){return this.isValid?this.s<=t&&this.e>t:!1}set({start:t,end:e}={}){return this.isValid?oi.fromDateTimes(t||this.s,e||this.e):this}splitAt(...t){if(!this.isValid)return[];const e=t.map(Jp).filter(a=>this.contains(a)).sort((a,c)=>a.toMillis()-c.toMillis()),n=[];let{s:i}=this,s=0;for(;i<this.e;){const a=e[s]||this.e,c=+a>+this.e?this.e:a;n.push(oi.fromDateTimes(i,c)),i=c,s+=1}return n}splitBy(t){const e=$l.fromDurationLike(t);if(!this.isValid||!e.isValid||e.as("milliseconds")===0)return[];let{s:n}=this,i=1,s;const a=[];for(;n<this.e;){const c=this.start.plus(e.mapUnits(o=>o*i));s=+c>+this.e?this.e:c,a.push(oi.fromDateTimes(n,s)),n=s,i+=1}return a}divideEqually(t){return this.isValid?this.splitBy(this.length()/t).slice(0,t):[]}overlaps(t){return this.e>t.s&&this.s<t.e}abutsStart(t){return this.isValid?+this.e==+t.s:!1}abutsEnd(t){return this.isValid?+t.e==+this.s:!1}engulfs(t){return this.isValid?this.s<=t.s&&this.e>=t.e:!1}equals(t){return!this.isValid||!t.isValid?!1:this.s.equals(t.s)&&this.e.equals(t.e)}intersection(t){if(!this.isValid)return this;const e=this.s>t.s?this.s:t.s,n=this.e<t.e?this.e:t.e;return e>=n?null:oi.fromDateTimes(e,n)}union(t){if(!this.isValid)return this;const e=this.s<t.s?this.s:t.s,n=this.e>t.e?this.e:t.e;return oi.fromDateTimes(e,n)}static merge(t){const[e,n]=t.sort((i,s)=>i.s-s.s).reduce(([i,s],a)=>s?s.overlaps(a)||s.abutsStart(a)?[i,s.union(a)]:[i.concat([s]),a]:[i,a],[[],null]);return n&&e.push(n),e}static xor(t){let e=null,n=0;const i=[],s=t.map(o=>[{time:o.s,type:"s"},{time:o.e,type:"e"}]),a=Array.prototype.concat(...s),c=a.sort((o,d)=>o.time-d.time);for(const o of c)n+=o.type==="s"?1:-1,n===1?e=o.time:(e&&+e!=+o.time&&i.push(oi.fromDateTimes(e,o.time)),e=null);return oi.merge(i)}difference(...t){return oi.xor([this].concat(t)).map(e=>this.intersection(e)).filter(e=>e&&!e.isEmpty())}toString(){return this.isValid?`[${this.s.toISO()} – ${this.e.toISO()})`:cb}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`Interval { start: ${this.s.toISO()}, end: ${this.e.toISO()} }`:`Interval { Invalid, reason: ${this.invalidReason} }`}toLocaleString(t=GM,e={}){return this.isValid?xs.create(this.s.loc.clone(e),t).formatInterval(this):cb}toISO(t){return this.isValid?`${this.s.toISO(t)}/${this.e.toISO(t)}`:cb}toISODate(){return this.isValid?`${this.s.toISODate()}/${this.e.toISODate()}`:cb}toISOTime(t){return this.isValid?`${this.s.toISOTime(t)}/${this.e.toISOTime(t)}`:cb}toFormat(t,{separator:e=" – "}={}){return this.isValid?`${this.s.toFormat(t)}${e}${this.e.toFormat(t)}`:cb}toDuration(t,e){return this.isValid?this.e.diff(this.s,t,e):$l.invalid(this.invalidReason)}mapEndpoints(t){return oi.fromDateTimes(t(this.s),t(this.e))}}let AN=class{static hasDST(t=di.defaultZone){const e=yl.now().setZone(t).set({month:12});return!t.isUniversal&&e.offset!==e.set({month:6}).offset}static isValidIANAZone(t){return Ld.isValidZone(t)}static normalizeZone(t){return cu(t,di.defaultZone)}static getStartOfWeek({locale:t=null,locObj:e=null}={}){return(e||un.create(t)).getStartOfWeek()}static getMinimumDaysInFirstWeek({locale:t=null,locObj:e=null}={}){return(e||un.create(t)).getMinDaysInFirstWeek()}static getWeekendWeekdays({locale:t=null,locObj:e=null}={}){return(e||un.create(t)).getWeekendDays().slice()}static months(t="long",{locale:e=null,numberingSystem:n=null,locObj:i=null,outputCalendar:s="gregory"}={}){return(i||un.create(e,n,s)).months(t)}static monthsFormat(t="long",{locale:e=null,numberingSystem:n=null,locObj:i=null,outputCalendar:s="gregory"}={}){return(i||un.create(e,n,s)).months(t,!0)}static weekdays(t="long",{locale:e=null,numberingSystem:n=null,locObj:i=null}={}){return(i||un.create(e,n,null)).weekdays(t)}static weekdaysFormat(t="long",{locale:e=null,numberingSystem:n=null,locObj:i=null}={}){return(i||un.create(e,n,null)).weekdays(t,!0)}static meridiems({locale:t=null}={}){return un.create(t).meridiems()}static eras(t="short",{locale:e=null}={}){return un.create(e,null,"gregory").eras(t)}static features(){return{relative:O3(),localeWeek:j3()}}};function kz(l,t){const e=i=>i.toUTC(0,{keepLocalTime:!0}).startOf("day").valueOf(),n=e(t)-e(l);return Math.floor($l.fromMillis(n).as("days"))}function VU(l,t,e){const n=[["years",(o,d)=>d.year-o.year],["quarters",(o,d)=>d.quarter-o.quarter+(d.year-o.year)*4],["months",(o,d)=>d.month-o.month+(d.year-o.year)*12],["weeks",(o,d)=>{const h=kz(o,d);return(h-h%7)/7}],["days",kz]],i={},s=l;let a,c;for(const[o,d]of n)e.indexOf(o)>=0&&(a=o,i[o]=d(l,t),c=s.plus(i),c>t?(i[o]--,l=s.plus(i),l>t&&(c=l,i[o]--,l=s.plus(i))):l=c);return[l,i,c,a]}function IU(l,t,e,n){let[i,s,a,c]=VU(l,t,e);const o=t-i,d=e.filter(b=>["hours","minutes","seconds","milliseconds"].indexOf(b)>=0);d.length===0&&(a<t&&(a=i.plus({[c]:1})),a!==i&&(s[c]=(s[c]||0)+o/(a-i)));const h=$l.fromObject(s,n);return d.length>0?$l.fromMillis(o,n).shiftTo(...d).plus(h):h}const wU="missing Intl.DateTimeFormat.formatToParts support";function cn(l,t=e=>e){return{regex:l,deser:([e])=>t(Wv(e))}}const zU=" ",lf=`[ ${zU}]`,nf=new RegExp(lf,"g");function gU(l){return l.replace(/\./g,"\\.?").replace(nf,lf)}function Dz(l){return l.replace(/\./g,"").replace(nf," ").toLowerCase()}function Uc(l,t){return l===null?null:{regex:RegExp(l.map(gU).join("|")),deser:([e])=>l.findIndex(n=>Dz(e)===Dz(n))+t}}function Oz(l,t){return{regex:l,deser:([,e,n])=>YG(e,n),groups:t}}function _N(l){return{regex:l,deser:([t])=>t}}function xU(l){return l.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function fU(l,t){const e=vc(t),n=vc(t,"{2}"),i=vc(t,"{3}"),s=vc(t,"{4}"),a=vc(t,"{6}"),c=vc(t,"{1,2}"),o=vc(t,"{1,3}"),d=vc(t,"{1,6}"),h=vc(t,"{1,9}"),b=vc(t,"{2,4}"),p=vc(t,"{4,6}"),y=Y=>({regex:RegExp(xU(Y.val)),deser:([L])=>L,literal:!0}),T=(Y=>{if(l.literal)return y(Y);switch(Y.val){case"G":return Uc(t.eras("short"),0);case"GG":return Uc(t.eras("long"),0);case"y":return cn(d);case"yy":return cn(b,qX);case"yyyy":return cn(s);case"yyyyy":return cn(p);case"yyyyyy":return cn(a);case"M":return cn(c);case"MM":return cn(n);case"MMM":return Uc(t.months("short",!0),1);case"MMMM":return Uc(t.months("long",!0),1);case"L":return cn(c);case"LL":return cn(n);case"LLL":return Uc(t.months("short",!1),1);case"LLLL":return Uc(t.months("long",!1),1);case"d":return cn(c);case"dd":return cn(n);case"o":return cn(o);case"ooo":return cn(i);case"HH":return cn(n);case"H":return cn(c);case"hh":return cn(n);case"h":return cn(c);case"mm":return cn(n);case"m":return cn(c);case"q":return cn(c);case"qq":return cn(n);case"s":return cn(c);case"ss":return cn(n);case"S":return cn(o);case"SSS":return cn(i);case"u":return _N(h);case"uu":return _N(c);case"uuu":return cn(e);case"a":return Uc(t.meridiems(),0);case"kkkk":return cn(s);case"kk":return cn(b,qX);case"W":return cn(c);case"WW":return cn(n);case"E":case"c":return cn(e);case"EEE":return Uc(t.weekdays("short",!1),1);case"EEEE":return Uc(t.weekdays("long",!1),1);case"ccc":return Uc(t.weekdays("short",!0),1);case"cccc":return Uc(t.weekdays("long",!0),1);case"Z":case"ZZ":return Oz(new RegExp(`([+-]${c.source})(?::(${n.source}))?`),2);case"ZZZ":return Oz(new RegExp(`([+-]${c.source})(${n.source})?`),2);case"z":return _N(/[a-z_+-/]{1,256}?/i);case" ":return _N(/[^\S\n\r]/);default:return y(Y)}})(l)||{invalidReason:wU};return T.token=l,T}const SU={year:{"2-digit":"yy",numeric:"yyyyy"},month:{numeric:"M","2-digit":"MM",short:"MMM",long:"MMMM"},day:{numeric:"d","2-digit":"dd"},weekday:{short:"EEE",long:"EEEE"},dayperiod:"a",dayPeriod:"a",hour12:{numeric:"h","2-digit":"hh"},hour24:{numeric:"H","2-digit":"HH"},minute:{numeric:"m","2-digit":"mm"},second:{numeric:"s","2-digit":"ss"},timeZoneName:{long:"ZZZZZ",short:"ZZZ"}};function RU(l,t,e){const{type:n,value:i}=l;if(n==="literal"){const o=/^\s+$/.test(i);return{literal:!o,val:o?" ":i}}const s=t[n];let a=n;n==="hour"&&(t.hour12!=null?a=t.hour12?"hour12":"hour24":t.hourCycle!=null?t.hourCycle==="h11"||t.hourCycle==="h12"?a="hour12":a="hour24":a=e.hour12?"hour12":"hour24");let c=SU[a];if(typeof c=="object"&&(c=c[s]),c)return{literal:!1,val:c}}function kU(l){return[`^${l.map(e=>e.regex).reduce((e,n)=>`${e}(${n.source})`,"")}$`,l]}function DU(l,t,e){const n=l.match(t);if(n){const i={};let s=1;for(const a in e)if(_Z(e,a)){const c=e[a],o=c.groups?c.groups+1:1;!c.literal&&c.token&&(i[c.token.val[0]]=c.deser(n.slice(s,s+o))),s+=o}return[n,i]}else return[n,{}]}function OU(l){const t=s=>{switch(s){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":case"H":return"hour";case"d":return"day";case"o":return"ordinal";case"L":case"M":return"month";case"y":return"year";case"E":case"c":return"weekday";case"W":return"weekNumber";case"k":return"weekYear";case"q":return"quarter";default:return null}};let e=null,n;return Wl(l.z)||(e=Ld.create(l.z)),Wl(l.Z)||(e||(e=new Bs(l.Z)),n=l.Z),Wl(l.q)||(l.M=(l.q-1)*3+1),Wl(l.h)||(l.h<12&&l.a===1?l.h+=12:l.h===12&&l.a===0&&(l.h=0)),l.G===0&&l.y&&(l.y=-l.y),Wl(l.u)||(l.S=iV(l.u)),[Object.keys(l).reduce((s,a)=>{const c=t(a);return c&&(s[c]=l[a]),s},{}),e,n]}let VT=null;function jU(){return VT||(VT=yl.fromMillis(1555555555555)),VT}function CU(l,t){if(l.literal)return l;const e=xs.macroTokenToFormatOpts(l.val),n=rf(e,t);return n==null||n.includes(void 0)?l:n}function sf(l,t){return Array.prototype.concat(...l.map(e=>CU(e,t)))}class af{constructor(t,e){if(this.locale=t,this.format=e,this.tokens=sf(xs.parseFormat(e),t),this.units=this.tokens.map(n=>fU(n,t)),this.disqualifyingUnit=this.units.find(n=>n.invalidReason),!this.disqualifyingUnit){const[n,i]=kU(this.units);this.regex=RegExp(n,"i"),this.handlers=i}}explainFromTokens(t){if(this.isValid){const[e,n]=DU(t,this.regex,this.handlers),[i,s,a]=n?OU(n):[null,null,void 0];if(_Z(n,"a")&&_Z(n,"H"))throw new Vb("Can't include meridiem when specifying 24-hour format");return{input:t,tokens:this.tokens,regex:this.regex,rawMatches:e,matches:n,result:i,zone:s,specificOffset:a}}else return{input:t,tokens:this.tokens,invalidReason:this.invalidReason}}get isValid(){return!this.disqualifyingUnit}get invalidReason(){return this.disqualifyingUnit?this.disqualifyingUnit.invalidReason:null}}function cf(l,t,e){return new af(l,e).explainFromTokens(t)}function FU(l,t,e){const{result:n,zone:i,specificOffset:s,invalidReason:a}=cf(l,t,e);return[n,i,s,a]}function rf(l,t){if(!l)return null;const n=xs.create(t,l).dtFormatter(jU()),i=n.formatToParts(),s=n.resolvedOptions();return i.map(a=>RU(a,l,s))}const IT="Invalid DateTime",JU=864e13;function qp(l){return new ir("unsupported zone",`the zone "${l.name}" is not supported`)}function wT(l){return l.weekData===null&&(l.weekData=TM(l.c)),l.weekData}function zT(l){return l.localWeekData===null&&(l.localWeekData=TM(l.c,l.loc.getMinDaysInFirstWeek(),l.loc.getStartOfWeek())),l.localWeekData}function Q0(l,t){const e={ts:l.ts,zone:l.zone,c:l.c,o:l.o,loc:l.loc,invalid:l.invalid};return new yl({...e,...t,old:e})}function of(l,t,e){let n=l-t*60*1e3;const i=e.offset(n);if(t===i)return[n,t];n-=(i-t)*60*1e3;const s=e.offset(n);return i===s?[n,i]:[l-Math.min(i,s)*60*1e3,Math.max(i,s)]}function qN(l,t){l+=t*60*1e3;const e=new Date(l);return{year:e.getUTCFullYear(),month:e.getUTCMonth()+1,day:e.getUTCDate(),hour:e.getUTCHours(),minute:e.getUTCMinutes(),second:e.getUTCSeconds(),millisecond:e.getUTCMilliseconds()}}function O1(l,t,e){return of(XG(l),t,e)}function jz(l,t){const e=l.o,n=l.c.year+Math.trunc(t.years),i=l.c.month+Math.trunc(t.months)+Math.trunc(t.quarters)*3,s={...l.c,year:n,month:i,day:Math.min(l.c.day,XM(n,i))+Math.trunc(t.days)+Math.trunc(t.weeks)*7},a=$l.fromObject({years:t.years-Math.trunc(t.years),quarters:t.quarters-Math.trunc(t.quarters),months:t.months-Math.trunc(t.months),weeks:t.weeks-Math.trunc(t.weeks),days:t.days-Math.trunc(t.days),hours:t.hours,minutes:t.minutes,seconds:t.seconds,milliseconds:t.milliseconds}).as("milliseconds"),c=XG(s);let[o,d]=of(c,e,l.zone);return a!==0&&(o+=a,d=l.zone.offset(o)),{ts:o,o:d}}function rb(l,t,e,n,i,s){const{setZone:a,zone:c}=e;if(l&&Object.keys(l).length!==0||t){const o=t||c,d=yl.fromObject(l,{...e,zone:o,specificOffset:s});return a?d:d.setZone(c)}else return yl.invalid(new ir("unparsable",`the input "${i}" can't be parsed as ${n}`))}function $N(l,t,e=!0){return l.isValid?xs.create(un.create("en-US"),{allowZ:e,forceSimple:!0}).formatDateTimeFromString(l,t):null}function gT(l,t,e){const n=l.c.year>9999||l.c.year<0;let i="";if(n&&l.c.year>=0&&(i+="+"),i+=Yi(l.c.year,n?6:4),e==="year")return i;if(t){if(i+="-",i+=Yi(l.c.month),e==="month")return i;i+="-"}else if(i+=Yi(l.c.month),e==="month")return i;return i+=Yi(l.c.day),i}function Cz(l,t,e,n,i,s,a){let c=!e||l.c.millisecond!==0||l.c.second!==0,o="";switch(a){case"day":case"month":case"year":break;default:if(o+=Yi(l.c.hour),a==="hour")break;if(t){if(o+=":",o+=Yi(l.c.minute),a==="minute")break;c&&(o+=":",o+=Yi(l.c.second))}else{if(o+=Yi(l.c.minute),a==="minute")break;c&&(o+=Yi(l.c.second))}if(a==="second")break;c&&(!n||l.c.millisecond!==0)&&(o+=".",o+=Yi(l.c.millisecond,3))}return i&&(l.isOffsetFixed&&l.offset===0&&!s?o+="Z":l.o<0?(o+="-",o+=Yi(Math.trunc(-l.o/60)),o+=":",o+=Yi(Math.trunc(-l.o%60))):(o+="+",o+=Yi(Math.trunc(l.o/60)),o+=":",o+=Yi(Math.trunc(l.o%60)))),s&&(o+="["+l.zone.ianaName+"]"),o}const df={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},vU={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},UU={ordinal:1,hour:0,minute:0,second:0,millisecond:0},j1=["year","month","day","hour","minute","second","millisecond"],EU=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],KU=["year","ordinal","hour","minute","second","millisecond"];function C1(l){const t={year:"year",years:"year",month:"month",months:"month",day:"day",days:"day",hour:"hour",hours:"hour",minute:"minute",minutes:"minute",quarter:"quarter",quarters:"quarter",second:"second",seconds:"second",millisecond:"millisecond",milliseconds:"millisecond",weekday:"weekday",weekdays:"weekday",weeknumber:"weekNumber",weeksnumber:"weekNumber",weeknumbers:"weekNumber",weekyear:"weekYear",weekyears:"weekYear",ordinal:"ordinal"}[l.toLowerCase()];if(!t)throw new o3(l);return t}function Fz(l){switch(l.toLowerCase()){case"localweekday":case"localweekdays":return"localWeekday";case"localweeknumber":case"localweeknumbers":return"localWeekNumber";case"localweekyear":case"localweekyears":return"localWeekYear";default:return C1(l)}}function PU(l){if($p===void 0&&($p=di.now()),l.type!=="iana")return l.offset($p);const t=l.name;let e=$X.get(t);return e===void 0&&(e=l.offset($p),$X.set(t,e)),e}function Jz(l,t){const e=cu(t.zone,di.defaultZone);if(!e.isValid)return yl.invalid(qp(e));const n=un.fromObject(t);let i,s;if(Wl(l.year))i=di.now();else{for(const o of j1)Wl(l[o])&&(l[o]=df[o]);const a=k3(l)||D3(l);if(a)return yl.invalid(a);const c=PU(e);[i,s]=O1(l,c,e)}return new yl({ts:i,zone:e,loc:n,o:s})}function vz(l,t,e){const n=Wl(e.round)?!0:e.round,i=Wl(e.rounding)?"trunc":e.rounding,s=(c,o)=>(c=sV(c,n||e.calendary?0:2,e.calendary?"round":i),t.loc.clone(e).relFormatter(e).format(c,o)),a=c=>e.calendary?t.hasSame(l,c)?0:t.startOf(c).diff(l.startOf(c),c).get(c):t.diff(l,c).get(c);if(e.unit)return s(a(e.unit),e.unit);for(const c of e.units){const o=a(c);if(Math.abs(o)>=1)return s(o,c)}return s(l>t?-0:0,e.units[e.units.length-1])}function Uz(l){let t={},e;return l.length>0&&typeof l[l.length-1]=="object"?(t=l[l.length-1],e=Array.from(l).slice(0,l.length-1)):e=Array.from(l),[t,e]}let $p;const $X=new Map;class yl{constructor(t){const e=t.zone||di.defaultZone;let n=t.invalid||(Number.isNaN(t.ts)?new ir("invalid input"):null)||(e.isValid?null:qp(e));this.ts=Wl(t.ts)?di.now():t.ts;let i=null,s=null;if(!n)if(t.old&&t.old.ts===this.ts&&t.old.zone.equals(e))[i,s]=[t.old.c,t.old.o];else{const c=n0(t.o)&&!t.old?t.o:e.offset(this.ts);i=qN(this.ts,c),n=Number.isNaN(i.year)?new ir("invalid input"):null,i=n?null:i,s=n?null:c}this._zone=e,this.loc=t.loc||un.create(),this.invalid=n,this.weekData=null,this.localWeekData=null,this.c=i,this.o=s,this.isLuxonDateTime=!0}static now(){return new yl({})}static local(){const[t,e]=Uz(arguments),[n,i,s,a,c,o,d]=e;return Jz({year:n,month:i,day:s,hour:a,minute:c,second:o,millisecond:d},t)}static utc(){const[t,e]=Uz(arguments),[n,i,s,a,c,o,d]=e;return t.zone=Bs.utcInstance,Jz({year:n,month:i,day:s,hour:a,minute:c,second:o,millisecond:d},t)}static fromJSDate(t,e={}){const n=Xv(t)?t.valueOf():NaN;if(Number.isNaN(n))return yl.invalid("invalid input");const i=cu(e.zone,di.defaultZone);return i.isValid?new yl({ts:n,zone:i,loc:un.fromObject(e)}):yl.invalid(qp(i))}static fromMillis(t,e={}){if(n0(t))return t<-864e13||t>JU?yl.invalid("Timestamp out of range"):new yl({ts:t,zone:cu(e.zone,di.defaultZone),loc:un.fromObject(e)});throw new gs(`fromMillis requires a numerical input, but received a ${typeof t} with value ${t}`)}static fromSeconds(t,e={}){if(n0(t))return new yl({ts:t*1e3,zone:cu(e.zone,di.defaultZone),loc:un.fromObject(e)});throw new gs("fromSeconds requires a numerical input")}static fromObject(t,e={}){t=t||{};const n=cu(e.zone,di.defaultZone);if(!n.isValid)return yl.invalid(qp(n));const i=un.fromObject(e),s=YM(t,Fz),{minDaysInFirstWeek:a,startOfWeek:c}=Iz(s,i),o=di.now(),d=Wl(e.specificOffset)?n.offset(o):e.specificOffset,h=!Wl(s.ordinal),b=!Wl(s.year),p=!Wl(s.month)||!Wl(s.day),y=b||p,M=s.weekYear||s.weekNumber;if((y||h)&&M)throw new Vb("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(p&&h)throw new Vb("Can't mix ordinal dates with month/day");const T=M||s.weekday&&!y;let Y,L,x=qN(o,d);T?(Y=EU,L=vU,x=TM(x,a,c)):h?(Y=KU,L=UU,x=LT(x)):(Y=j1,L=df);let g=!1;for(const f of Y){const lt=s[f];Wl(lt)?g?s[f]=L[f]:s[f]=x[f]:g=!0}const F=T?Mv(s,a,c):h?Gv(s):k3(s),j=F||D3(s);if(j)return yl.invalid(j);const D=T?Lz(s,a,c):h?Vz(s):s,[_,ut]=O1(D,d,n),K=new yl({ts:_,zone:n,o:ut,loc:i});return s.weekday&&y&&t.weekday!==K.weekday?yl.invalid("mismatched weekday",`you can't specify both a weekday of ${s.weekday} and a date of ${K.toISO()}`):K.isValid?K:yl.invalid(K.invalid)}static fromISO(t,e={}){const[n,i]=mU(t);return rb(n,i,e,"ISO 8601",t)}static fromRFC2822(t,e={}){const[n,i]=hU(t);return rb(n,i,e,"RFC 2822",t)}static fromHTTP(t,e={}){const[n,i]=bU(t);return rb(n,i,e,"HTTP",e)}static fromFormat(t,e,n={}){if(Wl(t)||Wl(e))throw new gs("fromFormat requires an input string and a format");const{locale:i=null,numberingSystem:s=null}=n,a=un.fromOpts({locale:i,numberingSystem:s,defaultToEN:!0}),[c,o,d,h]=FU(a,t,e);return h?yl.invalid(h):rb(c,o,n,`format ${e}`,t,d)}static fromString(t,e,n={}){return yl.fromFormat(t,e,n)}static fromSQL(t,e={}){const[n,i]=GU(t);return rb(n,i,e,"SQL",t)}static invalid(t,e=null){if(!t)throw new gs("need to specify a reason the DateTime is invalid");const n=t instanceof ir?t:new ir(t,e);if(di.throwOnInvalid)throw new QJ(n);return new yl({invalid:n})}static isDateTime(t){return t&&t.isLuxonDateTime||!1}static parseFormatForOpts(t,e={}){const n=rf(t,un.fromObject(e));return n?n.map(i=>i?i.val:null).join(""):null}static expandFormat(t,e={}){return sf(xs.parseFormat(t),un.fromObject(e)).map(i=>i.val).join("")}static resetCache(){$p=void 0,$X.clear()}get(t){return this[t]}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}get outputCalendar(){return this.isValid?this.loc.outputCalendar:null}get zone(){return this._zone}get zoneName(){return this.isValid?this.zone.name:null}get year(){return this.isValid?this.c.year:NaN}get quarter(){return this.isValid?Math.ceil(this.c.month/3):NaN}get month(){return this.isValid?this.c.month:NaN}get day(){return this.isValid?this.c.day:NaN}get hour(){return this.isValid?this.c.hour:NaN}get minute(){return this.isValid?this.c.minute:NaN}get second(){return this.isValid?this.c.second:NaN}get millisecond(){return this.isValid?this.c.millisecond:NaN}get weekYear(){return this.isValid?wT(this).weekYear:NaN}get weekNumber(){return this.isValid?wT(this).weekNumber:NaN}get weekday(){return this.isValid?wT(this).weekday:NaN}get isWeekend(){return this.isValid&&this.loc.getWeekendDays().includes(this.weekday)}get localWeekday(){return this.isValid?zT(this).weekday:NaN}get localWeekNumber(){return this.isValid?zT(this).weekNumber:NaN}get localWeekYear(){return this.isValid?zT(this).weekYear:NaN}get ordinal(){return this.isValid?LT(this.c).ordinal:NaN}get monthShort(){return this.isValid?AN.months("short",{locObj:this.loc})[this.month-1]:null}get monthLong(){return this.isValid?AN.months("long",{locObj:this.loc})[this.month-1]:null}get weekdayShort(){return this.isValid?AN.weekdays("short",{locObj:this.loc})[this.weekday-1]:null}get weekdayLong(){return this.isValid?AN.weekdays("long",{locObj:this.loc})[this.weekday-1]:null}get offset(){return this.isValid?+this.o:NaN}get offsetNameShort(){return this.isValid?this.zone.offsetName(this.ts,{format:"short",locale:this.locale}):null}get offsetNameLong(){return this.isValid?this.zone.offsetName(this.ts,{format:"long",locale:this.locale}):null}get isOffsetFixed(){return this.isValid?this.zone.isUniversal:null}get isInDST(){return this.isOffsetFixed?!1:this.offset>this.set({month:1,day:1}).offset||this.offset>this.set({month:5}).offset}getPossibleOffsets(){if(!this.isValid||this.isOffsetFixed)return[this];const t=864e5,e=6e4,n=XG(this.c),i=this.zone.offset(n-t),s=this.zone.offset(n+t),a=this.zone.offset(n-i*e),c=this.zone.offset(n-s*e);if(a===c)return[this];const o=n-a*e,d=n-c*e,h=qN(o,a),b=qN(d,c);return h.hour===b.hour&&h.minute===b.minute&&h.second===b.second&&h.millisecond===b.millisecond?[Q0(this,{ts:o}),Q0(this,{ts:d})]:[this]}get isInLeapYear(){return VW(this.year)}get daysInMonth(){return XM(this.year,this.month)}get daysInYear(){return this.isValid?gb(this.year):NaN}get weeksInWeekYear(){return this.isValid?g2(this.weekYear):NaN}get weeksInLocalWeekYear(){return this.isValid?g2(this.localWeekYear,this.loc.getMinDaysInFirstWeek(),this.loc.getStartOfWeek()):NaN}resolvedLocaleOptions(t={}){const{locale:e,numberingSystem:n,calendar:i}=xs.create(this.loc.clone(t),t).resolvedOptions(this);return{locale:e,numberingSystem:n,outputCalendar:i}}toUTC(t=0,e={}){return this.setZone(Bs.instance(t),e)}toLocal(){return this.setZone(di.defaultZone)}setZone(t,{keepLocalTime:e=!1,keepCalendarTime:n=!1}={}){if(t=cu(t,di.defaultZone),t.equals(this.zone))return this;if(t.isValid){let i=this.ts;if(e||n){const s=t.offset(this.ts),a=this.toObject();[i]=O1(a,s,t)}return Q0(this,{ts:i,zone:t})}else return yl.invalid(qp(t))}reconfigure({locale:t,numberingSystem:e,outputCalendar:n}={}){const i=this.loc.clone({locale:t,numberingSystem:e,outputCalendar:n});return Q0(this,{loc:i})}setLocale(t){return this.reconfigure({locale:t})}set(t){if(!this.isValid)return this;const e=YM(t,Fz),{minDaysInFirstWeek:n,startOfWeek:i}=Iz(e,this.loc),s=!Wl(e.weekYear)||!Wl(e.weekNumber)||!Wl(e.weekday),a=!Wl(e.ordinal),c=!Wl(e.year),o=!Wl(e.month)||!Wl(e.day),d=c||o,h=e.weekYear||e.weekNumber;if((d||a)&&h)throw new Vb("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(o&&a)throw new Vb("Can't mix ordinal dates with month/day");let b;s?b=Lz({...TM(this.c,n,i),...e},n,i):Wl(e.ordinal)?(b={...this.toObject(),...e},Wl(e.day)&&(b.day=Math.min(XM(b.year,b.month),b.day))):b=Vz({...LT(this.c),...e});const[p,y]=O1(b,this.o,this.zone);return Q0(this,{ts:p,o:y})}plus(t){if(!this.isValid)return this;const e=$l.fromDurationLike(t);return Q0(this,jz(this,e))}minus(t){if(!this.isValid)return this;const e=$l.fromDurationLike(t).negate();return Q0(this,jz(this,e))}startOf(t,{useLocaleWeeks:e=!1}={}){if(!this.isValid)return this;const n={},i=$l.normalizeUnit(t);switch(i){case"years":n.month=1;case"quarters":case"months":n.day=1;case"weeks":case"days":n.hour=0;case"hours":n.minute=0;case"minutes":n.second=0;case"seconds":n.millisecond=0;break}if(i==="weeks")if(e){const s=this.loc.getStartOfWeek(),{weekday:a}=this;a<s&&(n.weekNumber=this.weekNumber-1),n.weekday=s}else n.weekday=1;if(i==="quarters"){const s=Math.ceil(this.month/3);n.month=(s-1)*3+1}return this.set(n)}endOf(t,e){return this.isValid?this.plus({[t]:1}).startOf(t,e).minus(1):this}toFormat(t,e={}){return this.isValid?xs.create(this.loc.redefaultToEN(e)).formatDateTimeFromString(this,t):IT}toLocaleString(t=GM,e={}){return this.isValid?xs.create(this.loc.clone(e),t).formatDateTime(this):IT}toLocaleParts(t={}){return this.isValid?xs.create(this.loc.clone(t),t).formatDateTimeParts(this):[]}toISO({format:t="extended",suppressSeconds:e=!1,suppressMilliseconds:n=!1,includeOffset:i=!0,extendedZone:s=!1,precision:a="milliseconds"}={}){if(!this.isValid)return null;a=C1(a);const c=t==="extended";let o=gT(this,c,a);return j1.indexOf(a)>=3&&(o+="T"),o+=Cz(this,c,e,n,i,s,a),o}toISODate({format:t="extended",precision:e="day"}={}){return this.isValid?gT(this,t==="extended",C1(e)):null}toISOWeekDate(){return $N(this,"kkkk-'W'WW-c")}toISOTime({suppressMilliseconds:t=!1,suppressSeconds:e=!1,includeOffset:n=!0,includePrefix:i=!1,extendedZone:s=!1,format:a="extended",precision:c="milliseconds"}={}){return this.isValid?(c=C1(c),(i&&j1.indexOf(c)>=3?"T":"")+Cz(this,a==="extended",e,t,n,s,c)):null}toRFC2822(){return $N(this,"EEE, dd LLL yyyy HH:mm:ss ZZZ",!1)}toHTTP(){return $N(this.toUTC(),"EEE, dd LLL yyyy HH:mm:ss 'GMT'")}toSQLDate(){return this.isValid?gT(this,!0):null}toSQLTime({includeOffset:t=!0,includeZone:e=!1,includeOffsetSpace:n=!0}={}){let i="HH:mm:ss.SSS";return(e||t)&&(n&&(i+=" "),e?i+="z":t&&(i+="ZZ")),$N(this,i,!0)}toSQL(t={}){return this.isValid?`${this.toSQLDate()} ${this.toSQLTime(t)}`:null}toString(){return this.isValid?this.toISO():IT}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`DateTime { ts: ${this.toISO()}, zone: ${this.zone.name}, locale: ${this.locale} }`:`DateTime { Invalid, reason: ${this.invalidReason} }`}valueOf(){return this.toMillis()}toMillis(){return this.isValid?this.ts:NaN}toSeconds(){return this.isValid?this.ts/1e3:NaN}toUnixInteger(){return this.isValid?Math.floor(this.ts/1e3):NaN}toJSON(){return this.toISO()}toBSON(){return this.toJSDate()}toObject(t={}){if(!this.isValid)return{};const e={...this.c};return t.includeConfig&&(e.outputCalendar=this.outputCalendar,e.numberingSystem=this.loc.numberingSystem,e.locale=this.loc.locale),e}toJSDate(){return new Date(this.isValid?this.ts:NaN)}diff(t,e="milliseconds",n={}){if(!this.isValid||!t.isValid)return $l.invalid("created by diffing an invalid DateTime");const i={locale:this.locale,numberingSystem:this.numberingSystem,...n},s=Yv(e).map($l.normalizeUnit),a=t.valueOf()>this.valueOf(),c=a?this:t,o=a?t:this,d=IU(c,o,s,i);return a?d.negate():d}diffNow(t="milliseconds",e={}){return this.diff(yl.now(),t,e)}until(t){return this.isValid?oi.fromDateTimes(this,t):this}hasSame(t,e,n){if(!this.isValid)return!1;const i=t.valueOf(),s=this.setZone(t.zone,{keepLocalTime:!0});return s.startOf(e,n)<=i&&i<=s.endOf(e,n)}equals(t){return this.isValid&&t.isValid&&this.valueOf()===t.valueOf()&&this.zone.equals(t.zone)&&this.loc.equals(t.loc)}toRelative(t={}){if(!this.isValid)return null;const e=t.base||yl.fromObject({},{zone:this.zone}),n=t.padding?this<e?-t.padding:t.padding:0;let i=["years","months","days","hours","minutes","seconds"],s=t.unit;return Array.isArray(t.unit)&&(i=t.unit,s=void 0),vz(e,this.plus(n),{...t,numeric:"always",units:i,unit:s})}toRelativeCalendar(t={}){return this.isValid?vz(t.base||yl.fromObject({},{zone:this.zone}),this,{...t,numeric:"auto",units:["years","months","days"],calendary:!0}):null}static min(...t){if(!t.every(yl.isDateTime))throw new gs("min requires all arguments be DateTimes");return wz(t,e=>e.valueOf(),Math.min)}static max(...t){if(!t.every(yl.isDateTime))throw new gs("max requires all arguments be DateTimes");return wz(t,e=>e.valueOf(),Math.max)}static fromFormatExplain(t,e,n={}){const{locale:i=null,numberingSystem:s=null}=n,a=un.fromOpts({locale:i,numberingSystem:s,defaultToEN:!0});return cf(a,t,e)}static fromStringExplain(t,e,n={}){return yl.fromFormatExplain(t,e,n)}static buildFormatParser(t,e={}){const{locale:n=null,numberingSystem:i=null}=e,s=un.fromOpts({locale:n,numberingSystem:i,defaultToEN:!0});return new af(s,t)}static fromFormatParser(t,e,n={}){if(Wl(t)||Wl(e))throw new gs("fromFormatParser requires an input string and a format parser");const{locale:i=null,numberingSystem:s=null}=n,a=un.fromOpts({locale:i,numberingSystem:s,defaultToEN:!0});if(!a.equals(e.locale))throw new gs(`fromFormatParser called with a locale of ${a}, but the format parser was created for ${e.locale}`);const{result:c,zone:o,specificOffset:d,invalidReason:h}=e.explainFromTokens(t);return h?yl.invalid(h):rb(c,o,n,`format ${e.format}`,t,d)}static get DATE_SHORT(){return GM}static get DATE_MED(){return d3}static get DATE_MED_WITH_WEEKDAY(){return _J}static get DATE_FULL(){return u3}static get DATE_HUGE(){return m3}static get TIME_SIMPLE(){return h3}static get TIME_WITH_SECONDS(){return b3}static get TIME_WITH_SHORT_OFFSET(){return Z3}static get TIME_WITH_LONG_OFFSET(){return p3}static get TIME_24_SIMPLE(){return y3}static get TIME_24_WITH_SECONDS(){return W3}static get TIME_24_WITH_SHORT_OFFSET(){return N3}static get TIME_24_WITH_LONG_OFFSET(){return M3}static get DATETIME_SHORT(){return G3}static get DATETIME_SHORT_WITH_SECONDS(){return T3}static get DATETIME_MED(){return X3}static get DATETIME_MED_WITH_SECONDS(){return Y3}static get DATETIME_MED_WITH_WEEKDAY(){return qJ}static get DATETIME_FULL(){return L3}static get DATETIME_FULL_WITH_SECONDS(){return V3}static get DATETIME_HUGE(){return I3}static get DATETIME_HUGE_WITH_SECONDS(){return w3}}function Jp(l){if(yl.isDateTime(l))return l;if(l&&l.valueOf&&n0(l.valueOf()))return yl.fromJSDate(l);if(l&&typeof l=="object")return yl.fromObject(l);throw new gs(`Unknown datetime argument: ${l}, of type ${typeof l}`)}async function HU(){const l=await rl.importConversationFromFile();l&&console.log("Successfully imported:",l.name)}function QU(){const l=Jj(),t=yG(),{isGenerating:e,viewingChat:n}=xc(),[i,s]=B.useState([]),[a,c]=B.useState(null);B.useEffect(()=>{rl.getOneConversation(l.convId??"").then(c)},[l.convId]),B.useEffect(()=>{const b=async()=>{s(await rl.getAllConversations())};return rl.onConversationChanged(b),b(),()=>{rl.offConversationChanged(b)}},[]);const{showConfirm:o,showPrompt:d}=$L(),h=B.useMemo(()=>AU(i),[i]);return U.jsxs(U.Fragment,{children:[U.jsx("input",{id:"toggle-drawer",type:"checkbox",className:"drawer-toggle","aria-label":"Toggle sidebar",defaultChecked:!0}),U.jsxs("div",{className:"drawer-side h-screen lg:h-screen z-50 lg:max-w-64",role:"complementary","aria-label":"Sidebar",tabIndex:0,children:[U.jsx("label",{htmlFor:"toggle-drawer","aria-label":"Close sidebar",className:"drawer-overlay"}),U.jsx("a",{href:"#main-scroll",className:"absolute -left-80 top-0 w-1 h-1 overflow-hidden",children:"Skip to main content"}),U.jsxs("div",{className:"flex flex-col bg-base-200 min-h-full max-w-64 py-4 px-4",children:[U.jsxs("div",{className:"flex flex-row items-center justify-between mb-4 mt-4",children:[U.jsx("h2",{className:"font-bold ml-4",role:"heading",children:"Conversations"}),U.jsx("label",{htmlFor:"toggle-drawer",className:"btn btn-ghost lg:hidden","aria-label":"Close sidebar",role:"button",tabIndex:0,children:U.jsx(vX,{className:"w-5 h-5"})})]}),U.jsxs("button",{className:es({"btn btn-ghost justify-start px-2":!0,"btn-soft":!a}),onClick:()=>t("/"),"aria-label":"New conversation",children:[U.jsx(JX,{className:"w-5 h-5"}),"New Conversations"]}),h.map((b,p)=>U.jsxs("div",{role:"group",children:[b.title?U.jsx("b",{className:"btn btn-ghost btn-xs bg-none btn-disabled block text-xs text-base-content text-start px-2 mb-0 mt-6 font-bold",role:"note","aria-description":b.title,tabIndex:0,children:b.title}):U.jsx("div",{className:"h-2"}),b.conversations.map(y=>U.jsx(BU,{conv:y,isCurrConv:(a==null?void 0:a.id)===y.id,onSelect:()=>{t(`/chat/${y.id}`)},onDelete:async()=>{if(e(y.id)){Dn.error("Cannot delete conversation while generating");return}await o("Are you sure to delete this conversation?")&&(Dn.success("Conversation deleted"),rl.remove(y.id),t("/"))},onDownload:()=>{var j;if(e(y.id)){Dn.error("Cannot download conversation while generating");return}const M=rl.getConfig().systemMessage,T={conv:{...n==null?void 0:n.conv},messages:n==null?void 0:n.messages.map(D=>({...D}))},Y=(j=T.messages)==null?void 0:j.find(D=>D.type==="root");Y&&(Y.content=M);const L=JSON.stringify(T,null,2),x=new Blob([L],{type:"application/json"}),g=URL.createObjectURL(x),F=document.createElement("a");F.href=g,F.download=`conversation_${y.id}.json`,document.body.appendChild(F),F.click(),document.body.removeChild(F),URL.revokeObjectURL(g)},onRename:async()=>{if(e(y.id)){Dn.error("Cannot rename conversation while generating");return}const M=await d("Enter new name for the conversation",y.name);M&&M.trim().length>0&&rl.updateConversationName(y.id,M)}},y.id))]},p)),U.jsx("div",{className:"text-center text-xs opacity-40 mt-auto mx-4 pt-8",children:"Conversations are saved to browser's IndexedDB"})]})]})]})}function BU({conv:l,isCurrConv:t,onSelect:e,onDelete:n,onDownload:i,onRename:s}){return U.jsxs("div",{role:"menuitem",tabIndex:0,"aria-label":l.name,className:es({"group flex flex-row btn btn-ghost justify-start items-center font-normal px-2 h-9":!0,"btn-soft":t}),onClick:e,children:[U.jsx("button",{className:"w-full overflow-hidden truncate text-start",dir:"auto",children:l.name},l.id),U.jsxs("div",{className:"dropdown dropdown-end h-5",children:[U.jsx(HJ,{className:"cursor-pointer opacity-100 xl:opacity-0 group-hover:opacity-100",onClick:()=>{},tooltipsContent:"More",children:U.jsx(IJ,{className:"w-5 h-5"})}),U.jsxs("ul",{"aria-label":"More options",tabIndex:0,className:"dropdown-content menu bg-base-100 rounded-box z-[1] p-2 shadow",children:[U.jsx("li",{onClick:HU,children:U.jsxs("a",{children:[U.jsx(FX,{className:"w-4 h-4"}),"Upload"]})}),U.jsx("li",{onClick:s,tabIndex:0,children:U.jsxs("a",{children:[U.jsx(c3,{className:"w-4 h-4"}),"Rename"]})}),U.jsx("li",{onClick:i,tabIndex:0,children:U.jsxs("a",{children:[U.jsx(a3,{className:"w-4 h-4"}),"Download"]})}),U.jsx("li",{className:"text-error",onClick:n,tabIndex:0,children:U.jsxs("a",{children:[U.jsx(tV,{className:"w-4 h-4"}),"Delete"]})})]})]})]})}function AU(l){var p;const t=yl.now().startOf("day"),e=t.minus({days:1}),n=t.minus({days:2}),i=t.minus({days:7}),s=t.minus({days:30}),a={Today:[],Yesterday:[],"Previous 2 Days":[],"Previous 7 Days":[],"Previous 30 Days":[]},c={},o=[...l].sort((y,M)=>M.lastModified-y.lastModified);for(const y of o){const M=yl.fromMillis(y.lastModified).setZone("America/Chicago");if(M>=t)a.Today.push(y);else if(M>=e)a.Yesterday.push(y);else if(M>=n)a["Previous 2 Days"].push(y);else if(M>=i)a["Previous 7 Days"].push(y);else if(M>=s)a["Previous 30 Days"].push(y);else{const T=M.monthLong,Y=M.year,L=`${T} ${Y}`;c[L]||(c[L]=[]),c[L].push(y)}}const d=[];a.Today.length>0&&d.push({title:void 0,conversations:a.Today});const h=[{key:"Yesterday",display:"Yesterday"},{key:"Previous 2 Days",display:"Previous 2 Days"},{key:"Previous 7 Days",display:"Previous 7 Days"},{key:"Previous 30 Days",display:"Previous 30 Days"}];for(const y of h)((p=a[y.key])==null?void 0:p.length)>0&&d.push({title:y.display,conversations:a[y.key]});const b=Object.keys(c).sort((y,M)=>{const T=new Date(y);return new Date(M).getTime()-T.getTime()});for(const y of b)c[y].length>0&&d.push({title:y,conversations:c[y]});return d}function Ez(l){const t=[],e=String(l||"");let n=e.indexOf(","),i=0,s=!1;for(;!s;){n===-1&&(n=e.length,s=!0);const a=e.slice(i,n).trim();(a||!s)&&t.push(a),i=n+1,n=e.indexOf(",",i)}return t}function _U(l,t){const e={};return(l[l.length-1]===""?[...l,""]:l).join((e.padRight?" ":"")+","+(e.padLeft===!1?"":" ")).trim()}const qU=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,$U=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,tE={};function Kz(l,t){return(tE.jsx?$U:qU).test(l)}const eE=/[ \t\n\f\r]/g;function lE(l){return typeof l=="object"?l.type==="text"?Pz(l.value):!1:Pz(l)}function Pz(l){return l.replace(eE,"")===""}class zW{constructor(t,e,n){this.property=t,this.normal=e,n&&(this.space=n)}}zW.prototype.property={};zW.prototype.normal={};zW.prototype.space=null;function uf(l,t){const e={},n={};let i=-1;for(;++i<l.length;)Object.assign(e,l[i].property),Object.assign(n,l[i].normal);return new zW(e,n,t)}function x2(l){return l.toLowerCase()}class Rc{constructor(t,e){this.property=t,this.attribute=e}}Rc.prototype.space=null;Rc.prototype.boolean=!1;Rc.prototype.booleanish=!1;Rc.prototype.overloadedBoolean=!1;Rc.prototype.number=!1;Rc.prototype.commaSeparated=!1;Rc.prototype.spaceSeparated=!1;Rc.prototype.commaOrSpaceSeparated=!1;Rc.prototype.mustUseProperty=!1;Rc.prototype.defined=!1;let nE=0;const Sl=Lh(),Xi=Lh(),mf=Lh(),Ge=Lh(),gn=Lh(),fb=Lh(),Ia=Lh();function Lh(){return 2**++nE}const tY=Object.freeze(Object.defineProperty({__proto__:null,boolean:Sl,booleanish:Xi,commaOrSpaceSeparated:Ia,commaSeparated:fb,number:Ge,overloadedBoolean:mf,spaceSeparated:gn},Symbol.toStringTag,{value:"Module"})),xT=Object.keys(tY);class oV extends Rc{constructor(t,e,n,i){let s=-1;if(super(t,e),Hz(this,"space",i),typeof n=="number")for(;++s<xT.length;){const a=xT[s];Hz(this,xT[s],(n&tY[a])===tY[a])}}}oV.prototype.defined=!0;function Hz(l,t,e){e&&(l[t]=e)}const iE={}.hasOwnProperty;function cp(l){const t={},e={};let n;for(n in l.properties)if(iE.call(l.properties,n)){const i=l.properties[n],s=new oV(n,l.transform(l.attributes||{},n),i,l.space);l.mustUseProperty&&l.mustUseProperty.includes(n)&&(s.mustUseProperty=!0),t[n]=s,e[x2(n)]=n,e[x2(s.attribute)]=n}return new zW(t,e,l.space)}const hf=cp({space:"xlink",transform(l,t){return"xlink:"+t.slice(5).toLowerCase()},properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null}}),bf=cp({space:"xml",transform(l,t){return"xml:"+t.slice(3).toLowerCase()},properties:{xmlLang:null,xmlBase:null,xmlSpace:null}});function Zf(l,t){return t in l?l[t]:t}function pf(l,t){return Zf(l,t.toLowerCase())}const yf=cp({space:"xmlns",attributes:{xmlnsxlink:"xmlns:xlink"},transform:pf,properties:{xmlns:null,xmlnsXLink:null}}),Wf=cp({transform(l,t){return t==="role"?t:"aria-"+t.slice(4).toLowerCase()},properties:{ariaActiveDescendant:null,ariaAtomic:Xi,ariaAutoComplete:null,ariaBusy:Xi,ariaChecked:Xi,ariaColCount:Ge,ariaColIndex:Ge,ariaColSpan:Ge,ariaControls:gn,ariaCurrent:null,ariaDescribedBy:gn,ariaDetails:null,ariaDisabled:Xi,ariaDropEffect:gn,ariaErrorMessage:null,ariaExpanded:Xi,ariaFlowTo:gn,ariaGrabbed:Xi,ariaHasPopup:null,ariaHidden:Xi,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:gn,ariaLevel:Ge,ariaLive:null,ariaModal:Xi,ariaMultiLine:Xi,ariaMultiSelectable:Xi,ariaOrientation:null,ariaOwns:gn,ariaPlaceholder:null,ariaPosInSet:Ge,ariaPressed:Xi,ariaReadOnly:Xi,ariaRelevant:null,ariaRequired:Xi,ariaRoleDescription:gn,ariaRowCount:Ge,ariaRowIndex:Ge,ariaRowSpan:Ge,ariaSelected:Xi,ariaSetSize:Ge,ariaSort:null,ariaValueMax:Ge,ariaValueMin:Ge,ariaValueNow:Ge,ariaValueText:null,role:null}}),sE=cp({space:"html",attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},transform:pf,mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:fb,acceptCharset:gn,accessKey:gn,action:null,allow:null,allowFullScreen:Sl,allowPaymentRequest:Sl,allowUserMedia:Sl,alt:null,as:null,async:Sl,autoCapitalize:null,autoComplete:gn,autoFocus:Sl,autoPlay:Sl,blocking:gn,capture:null,charSet:null,checked:Sl,cite:null,className:gn,cols:Ge,colSpan:null,content:null,contentEditable:Xi,controls:Sl,controlsList:gn,coords:Ge|fb,crossOrigin:null,data:null,dateTime:null,decoding:null,default:Sl,defer:Sl,dir:null,dirName:null,disabled:Sl,download:mf,draggable:Xi,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:Sl,formTarget:null,headers:gn,height:Ge,hidden:Sl,high:Ge,href:null,hrefLang:null,htmlFor:gn,httpEquiv:gn,id:null,imageSizes:null,imageSrcSet:null,inert:Sl,inputMode:null,integrity:null,is:null,isMap:Sl,itemId:null,itemProp:gn,itemRef:gn,itemScope:Sl,itemType:gn,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:Sl,low:Ge,manifest:null,max:null,maxLength:Ge,media:null,method:null,min:null,minLength:Ge,multiple:Sl,muted:Sl,name:null,nonce:null,noModule:Sl,noValidate:Sl,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:Sl,optimum:Ge,pattern:null,ping:gn,placeholder:null,playsInline:Sl,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:Sl,referrerPolicy:null,rel:gn,required:Sl,reversed:Sl,rows:Ge,rowSpan:Ge,sandbox:gn,scope:null,scoped:Sl,seamless:Sl,selected:Sl,shadowRootClonable:Sl,shadowRootDelegatesFocus:Sl,shadowRootMode:null,shape:null,size:Ge,sizes:null,slot:null,span:Ge,spellCheck:Xi,src:null,srcDoc:null,srcLang:null,srcSet:null,start:Ge,step:null,style:null,tabIndex:Ge,target:null,title:null,translate:null,type:null,typeMustMatch:Sl,useMap:null,value:Xi,width:Ge,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:gn,axis:null,background:null,bgColor:null,border:Ge,borderColor:null,bottomMargin:Ge,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:Sl,declare:Sl,event:null,face:null,frame:null,frameBorder:null,hSpace:Ge,leftMargin:Ge,link:null,longDesc:null,lowSrc:null,marginHeight:Ge,marginWidth:Ge,noResize:Sl,noHref:Sl,noShade:Sl,noWrap:Sl,object:null,profile:null,prompt:null,rev:null,rightMargin:Ge,rules:null,scheme:null,scrolling:Xi,standby:null,summary:null,text:null,topMargin:Ge,valueType:null,version:null,vAlign:null,vLink:null,vSpace:Ge,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:Sl,disableRemotePlayback:Sl,prefix:null,property:null,results:Ge,security:null,unselectable:null}}),aE=cp({space:"svg",attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},transform:Zf,properties:{about:Ia,accentHeight:Ge,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:Ge,amplitude:Ge,arabicForm:null,ascent:Ge,attributeName:null,attributeType:null,azimuth:Ge,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:Ge,by:null,calcMode:null,capHeight:Ge,className:gn,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:Ge,diffuseConstant:Ge,direction:null,display:null,dur:null,divisor:Ge,dominantBaseline:null,download:Sl,dx:null,dy:null,edgeMode:null,editable:null,elevation:Ge,enableBackground:null,end:null,event:null,exponent:Ge,externalResourcesRequired:null,fill:null,fillOpacity:Ge,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:fb,g2:fb,glyphName:fb,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:Ge,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:Ge,horizOriginX:Ge,horizOriginY:Ge,id:null,ideographic:Ge,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:Ge,k:Ge,k1:Ge,k2:Ge,k3:Ge,k4:Ge,kernelMatrix:Ia,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:Ge,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:Ge,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:Ge,overlineThickness:Ge,paintOrder:null,panose1:null,path:null,pathLength:Ge,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:gn,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:Ge,pointsAtY:Ge,pointsAtZ:Ge,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:Ia,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:Ia,rev:Ia,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:Ia,requiredFeatures:Ia,requiredFonts:Ia,requiredFormats:Ia,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:Ge,specularExponent:Ge,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:Ge,strikethroughThickness:Ge,string:null,stroke:null,strokeDashArray:Ia,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:Ge,strokeOpacity:Ge,strokeWidth:null,style:null,surfaceScale:Ge,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:Ia,tabIndex:Ge,tableValues:null,target:null,targetX:Ge,targetY:Ge,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:Ia,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:Ge,underlineThickness:Ge,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:Ge,values:null,vAlphabetic:Ge,vMathematical:Ge,vectorEffect:null,vHanging:Ge,vIdeographic:Ge,version:null,vertAdvY:Ge,vertOriginX:Ge,vertOriginY:Ge,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:Ge,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null}}),cE=/^data[-\w.:]+$/i,Qz=/-[a-z]/g,rE=/[A-Z]/g;function Nf(l,t){const e=x2(t);let n=t,i=Rc;if(e in l.normal)return l.property[l.normal[e]];if(e.length>4&&e.slice(0,4)==="data"&&cE.test(t)){if(t.charAt(4)==="-"){const s=t.slice(5).replace(Qz,dE);n="data"+s.charAt(0).toUpperCase()+s.slice(1)}else{const s=t.slice(4);if(!Qz.test(s)){let a=s.replace(rE,oE);a.charAt(0)!=="-"&&(a="-"+a),t="data"+a}}i=oV}return new i(n,t)}function oE(l){return"-"+l.toLowerCase()}function dE(l){return l.charAt(1).toUpperCase()}const uE={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"},Mf=uf([bf,hf,yf,Wf,sE],"html"),VG=uf([bf,hf,yf,Wf,aE],"svg");function Bz(l){const t=String(l||"").trim();return t?t.split(/[ \t\n\r\f]+/g):[]}function mE(l){return l.join(" ").trim()}var ob={},fT,Az;function hE(){if(Az)return fT;Az=1;var l=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,t=/\n/g,e=/^\s*/,n=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,i=/^:\s*/,s=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,a=/^[;\s]*/,c=/^\s+|\s+$/g,o=`
|
||
`,d="/",h="*",b="",p="comment",y="declaration";fT=function(T,Y){if(typeof T!="string")throw new TypeError("First argument must be a string");if(!T)return[];Y=Y||{};var L=1,x=1;function g(ht){var dt=ht.match(t);dt&&(L+=dt.length);var It=ht.lastIndexOf(o);x=~It?ht.length-It:x+ht.length}function F(){var ht={line:L,column:x};return function(dt){return dt.position=new j(ht),ut(),dt}}function j(ht){this.start=ht,this.end={line:L,column:x},this.source=Y.source}j.prototype.content=T;function D(ht){var dt=new Error(Y.source+":"+L+":"+x+": "+ht);if(dt.reason=ht,dt.filename=Y.source,dt.line=L,dt.column=x,dt.source=T,!Y.silent)throw dt}function _(ht){var dt=ht.exec(T);if(dt){var It=dt[0];return g(It),T=T.slice(It.length),dt}}function ut(){_(e)}function K(ht){var dt;for(ht=ht||[];dt=f();)dt!==!1&&ht.push(dt);return ht}function f(){var ht=F();if(!(d!=T.charAt(0)||h!=T.charAt(1))){for(var dt=2;b!=T.charAt(dt)&&(h!=T.charAt(dt)||d!=T.charAt(dt+1));)++dt;if(dt+=2,b===T.charAt(dt-1))return D("End of comment missing");var It=T.slice(2,dt-2);return x+=2,g(It),T=T.slice(dt),x+=2,ht({type:p,comment:It})}}function lt(){var ht=F(),dt=_(n);if(dt){if(f(),!_(i))return D("property missing ':'");var It=_(s),kt=ht({type:y,property:M(dt[0].replace(l,b)),value:It?M(It[0].replace(l,b)):b});return _(a),kt}}function tt(){var ht=[];K(ht);for(var dt;dt=lt();)dt!==!1&&(ht.push(dt),K(ht));return ht}return ut(),tt()};function M(T){return T?T.replace(c,b):b}return fT}var _z;function bE(){if(_z)return ob;_z=1;var l=ob&&ob.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(ob,"__esModule",{value:!0}),ob.default=e;var t=l(hE());function e(n,i){var s=null;if(!n||typeof n!="string")return s;var a=(0,t.default)(n),c=typeof i=="function";return a.forEach(function(o){if(o.type==="declaration"){var d=o.property,h=o.value;c?i(d,h,o):h&&(s=s||{},s[d]=h)}}),s}return ob}var ZE=bE();const qz=Gh(ZE),pE=qz.default||qz,Gf=Tf("end"),dV=Tf("start");function Tf(l){return t;function t(e){const n=e&&e.position&&e.position[l]||{};if(typeof n.line=="number"&&n.line>0&&typeof n.column=="number"&&n.column>0)return{line:n.line,column:n.column,offset:typeof n.offset=="number"&&n.offset>-1?n.offset:void 0}}}function yE(l){const t=dV(l),e=Gf(l);if(t&&e)return{start:t,end:e}}function X2(l){return!l||typeof l!="object"?"":"position"in l||"type"in l?$z(l.position):"start"in l||"end"in l?$z(l):"line"in l||"column"in l?eY(l):""}function eY(l){return tg(l&&l.line)+":"+tg(l&&l.column)}function $z(l){return eY(l&&l.start)+"-"+eY(l&&l.end)}function tg(l){return l&&typeof l=="number"?l:1}class Ss extends Error{constructor(t,e,n){super(),typeof e=="string"&&(n=e,e=void 0);let i="",s={},a=!1;if(e&&("line"in e&&"column"in e?s={place:e}:"start"in e&&"end"in e?s={place:e}:"type"in e?s={ancestors:[e],place:e.position}:s={...e}),typeof t=="string"?i=t:!s.cause&&t&&(a=!0,i=t.message,s.cause=t),!s.ruleId&&!s.source&&typeof n=="string"){const o=n.indexOf(":");o===-1?s.ruleId=n:(s.source=n.slice(0,o),s.ruleId=n.slice(o+1))}if(!s.place&&s.ancestors&&s.ancestors){const o=s.ancestors[s.ancestors.length-1];o&&(s.place=o.position)}const c=s.place&&"start"in s.place?s.place.start:s.place;this.ancestors=s.ancestors||void 0,this.cause=s.cause||void 0,this.column=c?c.column:void 0,this.fatal=void 0,this.file,this.message=i,this.line=c?c.line:void 0,this.name=X2(s.place)||"1:1",this.place=s.place||void 0,this.reason=this.message,this.ruleId=s.ruleId||void 0,this.source=s.source||void 0,this.stack=a&&s.cause&&typeof s.cause.stack=="string"?s.cause.stack:"",this.actual,this.expected,this.note,this.url}}Ss.prototype.file="";Ss.prototype.name="";Ss.prototype.reason="";Ss.prototype.message="";Ss.prototype.stack="";Ss.prototype.column=void 0;Ss.prototype.line=void 0;Ss.prototype.ancestors=void 0;Ss.prototype.cause=void 0;Ss.prototype.fatal=void 0;Ss.prototype.place=void 0;Ss.prototype.ruleId=void 0;Ss.prototype.source=void 0;const uV={}.hasOwnProperty,WE=new Map,NE=/[A-Z]/g,ME=/-([a-z])/g,GE=new Set(["table","tbody","thead","tfoot","tr"]),TE=new Set(["td","th"]),Xf="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function XE(l,t){if(!t||t.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const e=t.filePath||void 0;let n;if(t.development){if(typeof t.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");n=xE(e,t.jsxDEV)}else{if(typeof t.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof t.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");n=gE(e,t.jsx,t.jsxs)}const i={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:n,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:e,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space==="svg"?VG:Mf,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},s=Yf(i,l,void 0);return s&&typeof s!="string"?s:i.create(l,i.Fragment,{children:s||void 0},void 0)}function Yf(l,t,e){if(t.type==="element")return YE(l,t,e);if(t.type==="mdxFlowExpression"||t.type==="mdxTextExpression")return LE(l,t);if(t.type==="mdxJsxFlowElement"||t.type==="mdxJsxTextElement")return IE(l,t,e);if(t.type==="mdxjsEsm")return VE(l,t);if(t.type==="root")return wE(l,t,e);if(t.type==="text")return zE(l,t)}function YE(l,t,e){const n=l.schema;let i=n;t.tagName.toLowerCase()==="svg"&&n.space==="html"&&(i=VG,l.schema=i),l.ancestors.push(t);const s=Vf(l,t.tagName,!1),a=fE(l,t);let c=hV(l,t);return GE.has(t.tagName)&&(c=c.filter(function(o){return typeof o=="string"?!lE(o):!0})),Lf(l,a,s,t),mV(a,c),l.ancestors.pop(),l.schema=n,l.create(t,s,a,e)}function LE(l,t){if(t.data&&t.data.estree&&l.evaluater){const n=t.data.estree.body[0];return n.type,l.evaluater.evaluateExpression(n.expression)}f2(l,t.position)}function VE(l,t){if(t.data&&t.data.estree&&l.evaluater)return l.evaluater.evaluateProgram(t.data.estree);f2(l,t.position)}function IE(l,t,e){const n=l.schema;let i=n;t.name==="svg"&&n.space==="html"&&(i=VG,l.schema=i),l.ancestors.push(t);const s=t.name===null?l.Fragment:Vf(l,t.name,!0),a=SE(l,t),c=hV(l,t);return Lf(l,a,s,t),mV(a,c),l.ancestors.pop(),l.schema=n,l.create(t,s,a,e)}function wE(l,t,e){const n={};return mV(n,hV(l,t)),l.create(t,l.Fragment,n,e)}function zE(l,t){return t.value}function Lf(l,t,e,n){typeof e!="string"&&e!==l.Fragment&&l.passNode&&(t.node=n)}function mV(l,t){if(t.length>0){const e=t.length>1?t:t[0];e&&(l.children=e)}}function gE(l,t,e){return n;function n(i,s,a,c){const d=Array.isArray(a.children)?e:t;return c?d(s,a,c):d(s,a)}}function xE(l,t){return e;function e(n,i,s,a){const c=Array.isArray(s.children),o=dV(n);return t(i,s,a,c,{columnNumber:o?o.column-1:void 0,fileName:l,lineNumber:o?o.line:void 0},void 0)}}function fE(l,t){const e={};let n,i;for(i in t.properties)if(i!=="children"&&uV.call(t.properties,i)){const s=RE(l,i,t.properties[i]);if(s){const[a,c]=s;l.tableCellAlignToStyle&&a==="align"&&typeof c=="string"&&TE.has(t.tagName)?n=c:e[a]=c}}if(n){const s=e.style||(e.style={});s[l.stylePropertyNameCase==="css"?"text-align":"textAlign"]=n}return e}function SE(l,t){const e={};for(const n of t.attributes)if(n.type==="mdxJsxExpressionAttribute")if(n.data&&n.data.estree&&l.evaluater){const s=n.data.estree.body[0];s.type;const a=s.expression;a.type;const c=a.properties[0];c.type,Object.assign(e,l.evaluater.evaluateExpression(c.argument))}else f2(l,t.position);else{const i=n.name;let s;if(n.value&&typeof n.value=="object")if(n.value.data&&n.value.data.estree&&l.evaluater){const c=n.value.data.estree.body[0];c.type,s=l.evaluater.evaluateExpression(c.expression)}else f2(l,t.position);else s=n.value===null?!0:n.value;e[i]=s}return e}function hV(l,t){const e=[];let n=-1;const i=l.passKeys?new Map:WE;for(;++n<t.children.length;){const s=t.children[n];let a;if(l.passKeys){const o=s.type==="element"?s.tagName:s.type==="mdxJsxFlowElement"||s.type==="mdxJsxTextElement"?s.name:void 0;if(o){const d=i.get(o)||0;a=o+"-"+d,i.set(o,d+1)}}const c=Yf(l,s,a);c!==void 0&&e.push(c)}return e}function RE(l,t,e){const n=Nf(l.schema,t);if(!(e==null||typeof e=="number"&&Number.isNaN(e))){if(Array.isArray(e)&&(e=n.commaSeparated?_U(e):mE(e)),n.property==="style"){let i=typeof e=="object"?e:kE(l,String(e));return l.stylePropertyNameCase==="css"&&(i=DE(i)),["style",i]}return[l.elementAttributeNameCase==="react"&&n.space?uE[n.property]||n.property:n.attribute,e]}}function kE(l,t){const e={};try{pE(t,n)}catch(i){if(!l.ignoreInvalidStyle){const s=i,a=new Ss("Cannot parse `style` attribute",{ancestors:l.ancestors,cause:s,ruleId:"style",source:"hast-util-to-jsx-runtime"});throw a.file=l.filePath||void 0,a.url=Xf+"#cannot-parse-style-attribute",a}}return e;function n(i,s){let a=i;a.slice(0,2)!=="--"&&(a.slice(0,4)==="-ms-"&&(a="ms-"+a.slice(4)),a=a.replace(ME,jE)),e[a]=s}}function Vf(l,t,e){let n;if(!e)n={type:"Literal",value:t};else if(t.includes(".")){const i=t.split(".");let s=-1,a;for(;++s<i.length;){const c=Kz(i[s])?{type:"Identifier",name:i[s]}:{type:"Literal",value:i[s]};a=a?{type:"MemberExpression",object:a,property:c,computed:!!(s&&c.type==="Literal"),optional:!1}:c}n=a}else n=Kz(t)&&!/^[a-z]/.test(t)?{type:"Identifier",name:t}:{type:"Literal",value:t};if(n.type==="Literal"){const i=n.value;return uV.call(l.components,i)?l.components[i]:i}if(l.evaluater)return l.evaluater.evaluateExpression(n);f2(l)}function f2(l,t){const e=new Ss("Cannot handle MDX estrees without `createEvaluater`",{ancestors:l.ancestors,place:t,ruleId:"mdx-estree",source:"hast-util-to-jsx-runtime"});throw e.file=l.filePath||void 0,e.url=Xf+"#cannot-handle-mdx-estrees-without-createevaluater",e}function DE(l){const t={};let e;for(e in l)uV.call(l,e)&&(t[OE(e)]=l[e]);return t}function OE(l){let t=l.replace(NE,CE);return t.slice(0,3)==="ms-"&&(t="-"+t),t}function jE(l,t){return t.toUpperCase()}function CE(l){return"-"+l.toLowerCase()}const ST={action:["form"],cite:["blockquote","del","ins","q"],data:["object"],formAction:["button","input"],href:["a","area","base","link"],icon:["menuitem"],itemId:null,manifest:["html"],ping:["a","area"],poster:["video"],src:["audio","embed","iframe","img","input","script","source","track","video"]},FE={};function bV(l,t){const e=FE,n=typeof e.includeImageAlt=="boolean"?e.includeImageAlt:!0,i=typeof e.includeHtml=="boolean"?e.includeHtml:!0;return If(l,n,i)}function If(l,t,e){if(JE(l)){if("value"in l)return l.type==="html"&&!e?"":l.value;if(t&&"alt"in l&&l.alt)return l.alt;if("children"in l)return eg(l.children,t,e)}return Array.isArray(l)?eg(l,t,e):""}function eg(l,t,e){const n=[];let i=-1;for(;++i<l.length;)n[i]=If(l[i],t,e);return n.join("")}function JE(l){return!!(l&&typeof l=="object")}const lg=document.createElement("i");function ZV(l){const t="&"+l+";";lg.innerHTML=t;const e=lg.textContent;return e.charCodeAt(e.length-1)===59&&l!=="semi"||e===t?!1:e}function qa(l,t,e,n){const i=l.length;let s=0,a;if(t<0?t=-t>i?0:i+t:t=t>i?i:t,e=e>0?e:0,n.length<1e4)a=Array.from(n),a.unshift(t,e),l.splice(...a);else for(e&&l.splice(t,e);s<n.length;)a=n.slice(s,s+1e4),a.unshift(t,0),l.splice(...a),s+=1e4,t+=1e4}function Yc(l,t){return l.length>0?(qa(l,l.length,0,t),l):t}const ng={}.hasOwnProperty;function wf(l){const t={};let e=-1;for(;++e<l.length;)vE(t,l[e]);return t}function vE(l,t){let e;for(e in t){const i=(ng.call(l,e)?l[e]:void 0)||(l[e]={}),s=t[e];let a;if(s)for(a in s){ng.call(i,a)||(i[a]=[]);const c=s[a];UE(i[a],Array.isArray(c)?c:c?[c]:[])}}}function UE(l,t){let e=-1;const n=[];for(;++e<t.length;)(t[e].add==="after"?l:n).push(t[e]);qa(l,0,0,n)}function zf(l,t){const e=Number.parseInt(l,t);return e<9||e===11||e>13&&e<32||e>126&&e<160||e>55295&&e<57344||e>64975&&e<65008||(e&65535)===65535||(e&65535)===65534||e>1114111?"<22>":String.fromCodePoint(e)}function ar(l){return l.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const Qs=Z0(/[A-Za-z]/),fs=Z0(/[\dA-Za-z]/),EE=Z0(/[#-'*+\--9=?A-Z^-~]/);function LM(l){return l!==null&&(l<32||l===127)}const lY=Z0(/\d/),KE=Z0(/[\dA-Fa-f]/),PE=Z0(/[!-/:-@[-`{-~]/);function il(l){return l!==null&&l<-2}function In(l){return l!==null&&(l<0||l===32)}function Kl(l){return l===-2||l===-1||l===32}const IG=Z0(new RegExp("\\p{P}|\\p{S}","u")),Zh=Z0(/\s/);function Z0(l){return t;function t(e){return e!==null&&e>-1&&l.test(String.fromCharCode(e))}}function rp(l){const t=[];let e=-1,n=0,i=0;for(;++e<l.length;){const s=l.charCodeAt(e);let a="";if(s===37&&fs(l.charCodeAt(e+1))&&fs(l.charCodeAt(e+2)))i=2;else if(s<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(s))||(a=String.fromCharCode(s));else if(s>55295&&s<57344){const c=l.charCodeAt(e+1);s<56320&&c>56319&&c<57344?(a=String.fromCharCode(s,c),i=1):a="<22>"}else a=String.fromCharCode(s);a&&(t.push(l.slice(n,e),encodeURIComponent(a)),n=e+i+1,a=""),i&&(e+=i,i=0)}return t.join("")+l.slice(n)}function Ul(l,t,e,n){const i=n?n-1:Number.POSITIVE_INFINITY;let s=0;return a;function a(o){return Kl(o)?(l.enter(e),c(o)):t(o)}function c(o){return Kl(o)&&s++<i?(l.consume(o),c):(l.exit(e),t(o))}}const HE={tokenize:QE};function QE(l){const t=l.attempt(this.parser.constructs.contentInitial,n,i);let e;return t;function n(c){if(c===null){l.consume(c);return}return l.enter("lineEnding"),l.consume(c),l.exit("lineEnding"),Ul(l,t,"linePrefix")}function i(c){return l.enter("paragraph"),s(c)}function s(c){const o=l.enter("chunkText",{contentType:"text",previous:e});return e&&(e.next=o),e=o,a(c)}function a(c){if(c===null){l.exit("chunkText"),l.exit("paragraph"),l.consume(c);return}return il(c)?(l.consume(c),l.exit("chunkText"),s):(l.consume(c),a)}}const BE={tokenize:AE},ig={tokenize:_E};function AE(l){const t=this,e=[];let n=0,i,s,a;return c;function c(g){if(n<e.length){const F=e[n];return t.containerState=F[1],l.attempt(F[0].continuation,o,d)(g)}return d(g)}function o(g){if(n++,t.containerState._closeFlow){t.containerState._closeFlow=void 0,i&&x();const F=t.events.length;let j=F,D;for(;j--;)if(t.events[j][0]==="exit"&&t.events[j][1].type==="chunkFlow"){D=t.events[j][1].end;break}L(n);let _=F;for(;_<t.events.length;)t.events[_][1].end={...D},_++;return qa(t.events,j+1,0,t.events.slice(F)),t.events.length=_,d(g)}return c(g)}function d(g){if(n===e.length){if(!i)return p(g);if(i.currentConstruct&&i.currentConstruct.concrete)return M(g);t.interrupt=!!(i.currentConstruct&&!i._gfmTableDynamicInterruptHack)}return t.containerState={},l.check(ig,h,b)(g)}function h(g){return i&&x(),L(n),p(g)}function b(g){return t.parser.lazy[t.now().line]=n!==e.length,a=t.now().offset,M(g)}function p(g){return t.containerState={},l.attempt(ig,y,M)(g)}function y(g){return n++,e.push([t.currentConstruct,t.containerState]),p(g)}function M(g){if(g===null){i&&x(),L(0),l.consume(g);return}return i=i||t.parser.flow(t.now()),l.enter("chunkFlow",{_tokenizer:i,contentType:"flow",previous:s}),T(g)}function T(g){if(g===null){Y(l.exit("chunkFlow"),!0),L(0),l.consume(g);return}return il(g)?(l.consume(g),Y(l.exit("chunkFlow")),n=0,t.interrupt=void 0,c):(l.consume(g),T)}function Y(g,F){const j=t.sliceStream(g);if(F&&j.push(null),g.previous=s,s&&(s.next=g),s=g,i.defineSkip(g.start),i.write(j),t.parser.lazy[g.start.line]){let D=i.events.length;for(;D--;)if(i.events[D][1].start.offset<a&&(!i.events[D][1].end||i.events[D][1].end.offset>a))return;const _=t.events.length;let ut=_,K,f;for(;ut--;)if(t.events[ut][0]==="exit"&&t.events[ut][1].type==="chunkFlow"){if(K){f=t.events[ut][1].end;break}K=!0}for(L(n),D=_;D<t.events.length;)t.events[D][1].end={...f},D++;qa(t.events,ut+1,0,t.events.slice(_)),t.events.length=D}}function L(g){let F=e.length;for(;F-- >g;){const j=e[F];t.containerState=j[1],j[0].exit.call(t,l)}e.length=g}function x(){i.write([null]),s=void 0,i=void 0,t.containerState._closeFlow=void 0}}function _E(l,t,e){return Ul(l,l.attempt(this.parser.constructs.document,t,e),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function qZ(l){if(l===null||In(l)||Zh(l))return 1;if(IG(l))return 2}function wG(l,t,e){const n=[];let i=-1;for(;++i<l.length;){const s=l[i].resolveAll;s&&!n.includes(s)&&(t=s(t,e),n.push(s))}return t}const nY={name:"attention",resolveAll:qE,tokenize:$E};function qE(l,t){let e=-1,n,i,s,a,c,o,d,h;for(;++e<l.length;)if(l[e][0]==="enter"&&l[e][1].type==="attentionSequence"&&l[e][1]._close){for(n=e;n--;)if(l[n][0]==="exit"&&l[n][1].type==="attentionSequence"&&l[n][1]._open&&t.sliceSerialize(l[n][1]).charCodeAt(0)===t.sliceSerialize(l[e][1]).charCodeAt(0)){if((l[n][1]._close||l[e][1]._open)&&(l[e][1].end.offset-l[e][1].start.offset)%3&&!((l[n][1].end.offset-l[n][1].start.offset+l[e][1].end.offset-l[e][1].start.offset)%3))continue;o=l[n][1].end.offset-l[n][1].start.offset>1&&l[e][1].end.offset-l[e][1].start.offset>1?2:1;const b={...l[n][1].end},p={...l[e][1].start};sg(b,-o),sg(p,o),a={type:o>1?"strongSequence":"emphasisSequence",start:b,end:{...l[n][1].end}},c={type:o>1?"strongSequence":"emphasisSequence",start:{...l[e][1].start},end:p},s={type:o>1?"strongText":"emphasisText",start:{...l[n][1].end},end:{...l[e][1].start}},i={type:o>1?"strong":"emphasis",start:{...a.start},end:{...c.end}},l[n][1].end={...a.start},l[e][1].start={...c.end},d=[],l[n][1].end.offset-l[n][1].start.offset&&(d=Yc(d,[["enter",l[n][1],t],["exit",l[n][1],t]])),d=Yc(d,[["enter",i,t],["enter",a,t],["exit",a,t],["enter",s,t]]),d=Yc(d,wG(t.parser.constructs.insideSpan.null,l.slice(n+1,e),t)),d=Yc(d,[["exit",s,t],["enter",c,t],["exit",c,t],["exit",i,t]]),l[e][1].end.offset-l[e][1].start.offset?(h=2,d=Yc(d,[["enter",l[e][1],t],["exit",l[e][1],t]])):h=0,qa(l,n-1,e-n+3,d),e=n+d.length-h-2;break}}for(e=-1;++e<l.length;)l[e][1].type==="attentionSequence"&&(l[e][1].type="data");return l}function $E(l,t){const e=this.parser.constructs.attentionMarkers.null,n=this.previous,i=qZ(n);let s;return a;function a(o){return s=o,l.enter("attentionSequence"),c(o)}function c(o){if(o===s)return l.consume(o),c;const d=l.exit("attentionSequence"),h=qZ(o),b=!h||h===2&&i||e.includes(o),p=!i||i===2&&h||e.includes(n);return d._open=!!(s===42?b:b&&(i||!p)),d._close=!!(s===42?p:p&&(h||!b)),t(o)}}function sg(l,t){l.column+=t,l.offset+=t,l._bufferIndex+=t}const t4={name:"autolink",tokenize:e4};function e4(l,t,e){let n=0;return i;function i(y){return l.enter("autolink"),l.enter("autolinkMarker"),l.consume(y),l.exit("autolinkMarker"),l.enter("autolinkProtocol"),s}function s(y){return Qs(y)?(l.consume(y),a):y===64?e(y):d(y)}function a(y){return y===43||y===45||y===46||fs(y)?(n=1,c(y)):d(y)}function c(y){return y===58?(l.consume(y),n=0,o):(y===43||y===45||y===46||fs(y))&&n++<32?(l.consume(y),c):(n=0,d(y))}function o(y){return y===62?(l.exit("autolinkProtocol"),l.enter("autolinkMarker"),l.consume(y),l.exit("autolinkMarker"),l.exit("autolink"),t):y===null||y===32||y===60||LM(y)?e(y):(l.consume(y),o)}function d(y){return y===64?(l.consume(y),h):EE(y)?(l.consume(y),d):e(y)}function h(y){return fs(y)?b(y):e(y)}function b(y){return y===46?(l.consume(y),n=0,h):y===62?(l.exit("autolinkProtocol").type="autolinkEmail",l.enter("autolinkMarker"),l.consume(y),l.exit("autolinkMarker"),l.exit("autolink"),t):p(y)}function p(y){if((y===45||fs(y))&&n++<63){const M=y===45?p:b;return l.consume(y),M}return e(y)}}const gW={partial:!0,tokenize:l4};function l4(l,t,e){return n;function n(s){return Kl(s)?Ul(l,i,"linePrefix")(s):i(s)}function i(s){return s===null||il(s)?t(s):e(s)}}const gf={continuation:{tokenize:i4},exit:s4,name:"blockQuote",tokenize:n4};function n4(l,t,e){const n=this;return i;function i(a){if(a===62){const c=n.containerState;return c.open||(l.enter("blockQuote",{_container:!0}),c.open=!0),l.enter("blockQuotePrefix"),l.enter("blockQuoteMarker"),l.consume(a),l.exit("blockQuoteMarker"),s}return e(a)}function s(a){return Kl(a)?(l.enter("blockQuotePrefixWhitespace"),l.consume(a),l.exit("blockQuotePrefixWhitespace"),l.exit("blockQuotePrefix"),t):(l.exit("blockQuotePrefix"),t(a))}}function i4(l,t,e){const n=this;return i;function i(a){return Kl(a)?Ul(l,s,"linePrefix",n.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(a):s(a)}function s(a){return l.attempt(gf,t,e)(a)}}function s4(l){l.exit("blockQuote")}const xf={name:"characterEscape",tokenize:a4};function a4(l,t,e){return n;function n(s){return l.enter("characterEscape"),l.enter("escapeMarker"),l.consume(s),l.exit("escapeMarker"),i}function i(s){return PE(s)?(l.enter("characterEscapeValue"),l.consume(s),l.exit("characterEscapeValue"),l.exit("characterEscape"),t):e(s)}}const ff={name:"characterReference",tokenize:c4};function c4(l,t,e){const n=this;let i=0,s,a;return c;function c(b){return l.enter("characterReference"),l.enter("characterReferenceMarker"),l.consume(b),l.exit("characterReferenceMarker"),o}function o(b){return b===35?(l.enter("characterReferenceMarkerNumeric"),l.consume(b),l.exit("characterReferenceMarkerNumeric"),d):(l.enter("characterReferenceValue"),s=31,a=fs,h(b))}function d(b){return b===88||b===120?(l.enter("characterReferenceMarkerHexadecimal"),l.consume(b),l.exit("characterReferenceMarkerHexadecimal"),l.enter("characterReferenceValue"),s=6,a=KE,h):(l.enter("characterReferenceValue"),s=7,a=lY,h(b))}function h(b){if(b===59&&i){const p=l.exit("characterReferenceValue");return a===fs&&!ZV(n.sliceSerialize(p))?e(b):(l.enter("characterReferenceMarker"),l.consume(b),l.exit("characterReferenceMarker"),l.exit("characterReference"),t)}return a(b)&&i++<s?(l.consume(b),h):e(b)}}const ag={partial:!0,tokenize:o4},cg={concrete:!0,name:"codeFenced",tokenize:r4};function r4(l,t,e){const n=this,i={partial:!0,tokenize:j};let s=0,a=0,c;return o;function o(D){return d(D)}function d(D){const _=n.events[n.events.length-1];return s=_&&_[1].type==="linePrefix"?_[2].sliceSerialize(_[1],!0).length:0,c=D,l.enter("codeFenced"),l.enter("codeFencedFence"),l.enter("codeFencedFenceSequence"),h(D)}function h(D){return D===c?(a++,l.consume(D),h):a<3?e(D):(l.exit("codeFencedFenceSequence"),Kl(D)?Ul(l,b,"whitespace")(D):b(D))}function b(D){return D===null||il(D)?(l.exit("codeFencedFence"),n.interrupt?t(D):l.check(ag,T,F)(D)):(l.enter("codeFencedFenceInfo"),l.enter("chunkString",{contentType:"string"}),p(D))}function p(D){return D===null||il(D)?(l.exit("chunkString"),l.exit("codeFencedFenceInfo"),b(D)):Kl(D)?(l.exit("chunkString"),l.exit("codeFencedFenceInfo"),Ul(l,y,"whitespace")(D)):D===96&&D===c?e(D):(l.consume(D),p)}function y(D){return D===null||il(D)?b(D):(l.enter("codeFencedFenceMeta"),l.enter("chunkString",{contentType:"string"}),M(D))}function M(D){return D===null||il(D)?(l.exit("chunkString"),l.exit("codeFencedFenceMeta"),b(D)):D===96&&D===c?e(D):(l.consume(D),M)}function T(D){return l.attempt(i,F,Y)(D)}function Y(D){return l.enter("lineEnding"),l.consume(D),l.exit("lineEnding"),L}function L(D){return s>0&&Kl(D)?Ul(l,x,"linePrefix",s+1)(D):x(D)}function x(D){return D===null||il(D)?l.check(ag,T,F)(D):(l.enter("codeFlowValue"),g(D))}function g(D){return D===null||il(D)?(l.exit("codeFlowValue"),x(D)):(l.consume(D),g)}function F(D){return l.exit("codeFenced"),t(D)}function j(D,_,ut){let K=0;return f;function f(It){return D.enter("lineEnding"),D.consume(It),D.exit("lineEnding"),lt}function lt(It){return D.enter("codeFencedFence"),Kl(It)?Ul(D,tt,"linePrefix",n.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(It):tt(It)}function tt(It){return It===c?(D.enter("codeFencedFenceSequence"),ht(It)):ut(It)}function ht(It){return It===c?(K++,D.consume(It),ht):K>=a?(D.exit("codeFencedFenceSequence"),Kl(It)?Ul(D,dt,"whitespace")(It):dt(It)):ut(It)}function dt(It){return It===null||il(It)?(D.exit("codeFencedFence"),_(It)):ut(It)}}}function o4(l,t,e){const n=this;return i;function i(a){return a===null?e(a):(l.enter("lineEnding"),l.consume(a),l.exit("lineEnding"),s)}function s(a){return n.parser.lazy[n.now().line]?e(a):t(a)}}const RT={name:"codeIndented",tokenize:u4},d4={partial:!0,tokenize:m4};function u4(l,t,e){const n=this;return i;function i(d){return l.enter("codeIndented"),Ul(l,s,"linePrefix",5)(d)}function s(d){const h=n.events[n.events.length-1];return h&&h[1].type==="linePrefix"&&h[2].sliceSerialize(h[1],!0).length>=4?a(d):e(d)}function a(d){return d===null?o(d):il(d)?l.attempt(d4,a,o)(d):(l.enter("codeFlowValue"),c(d))}function c(d){return d===null||il(d)?(l.exit("codeFlowValue"),a(d)):(l.consume(d),c)}function o(d){return l.exit("codeIndented"),t(d)}}function m4(l,t,e){const n=this;return i;function i(a){return n.parser.lazy[n.now().line]?e(a):il(a)?(l.enter("lineEnding"),l.consume(a),l.exit("lineEnding"),i):Ul(l,s,"linePrefix",5)(a)}function s(a){const c=n.events[n.events.length-1];return c&&c[1].type==="linePrefix"&&c[2].sliceSerialize(c[1],!0).length>=4?t(a):il(a)?i(a):e(a)}}const h4={name:"codeText",previous:Z4,resolve:b4,tokenize:p4};function b4(l){let t=l.length-4,e=3,n,i;if((l[e][1].type==="lineEnding"||l[e][1].type==="space")&&(l[t][1].type==="lineEnding"||l[t][1].type==="space")){for(n=e;++n<t;)if(l[n][1].type==="codeTextData"){l[e][1].type="codeTextPadding",l[t][1].type="codeTextPadding",e+=2,t-=2;break}}for(n=e-1,t++;++n<=t;)i===void 0?n!==t&&l[n][1].type!=="lineEnding"&&(i=n):(n===t||l[n][1].type==="lineEnding")&&(l[i][1].type="codeTextData",n!==i+2&&(l[i][1].end=l[n-1][1].end,l.splice(i+2,n-i-2),t-=n-i-2,n=i+2),i=void 0);return l}function Z4(l){return l!==96||this.events[this.events.length-1][1].type==="characterEscape"}function p4(l,t,e){let n=0,i,s;return a;function a(b){return l.enter("codeText"),l.enter("codeTextSequence"),c(b)}function c(b){return b===96?(l.consume(b),n++,c):(l.exit("codeTextSequence"),o(b))}function o(b){return b===null?e(b):b===32?(l.enter("space"),l.consume(b),l.exit("space"),o):b===96?(s=l.enter("codeTextSequence"),i=0,h(b)):il(b)?(l.enter("lineEnding"),l.consume(b),l.exit("lineEnding"),o):(l.enter("codeTextData"),d(b))}function d(b){return b===null||b===32||b===96||il(b)?(l.exit("codeTextData"),o(b)):(l.consume(b),d)}function h(b){return b===96?(l.consume(b),i++,h):i===n?(l.exit("codeTextSequence"),l.exit("codeText"),t(b)):(s.type="codeTextData",d(b))}}class y4{constructor(t){this.left=t?[...t]:[],this.right=[]}get(t){if(t<0||t>=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return t<this.left.length?this.left[t]:this.right[this.right.length-t+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(t,e){const n=e??Number.POSITIVE_INFINITY;return n<this.left.length?this.left.slice(t,n):t>this.left.length?this.right.slice(this.right.length-n+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-n+this.left.length).reverse())}splice(t,e,n){const i=e||0;this.setCursor(Math.trunc(t));const s=this.right.splice(this.right.length-i,Number.POSITIVE_INFINITY);return n&&vp(this.left,n),s.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),vp(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),vp(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t<this.left.length){const e=this.left.splice(t,Number.POSITIVE_INFINITY);vp(this.right,e.reverse())}else{const e=this.right.splice(this.left.length+this.right.length-t,Number.POSITIVE_INFINITY);vp(this.left,e.reverse())}}}function vp(l,t){let e=0;if(t.length<1e4)l.push(...t);else for(;e<t.length;)l.push(...t.slice(e,e+1e4)),e+=1e4}function Sf(l){const t={};let e=-1,n,i,s,a,c,o,d;const h=new y4(l);for(;++e<h.length;){for(;e in t;)e=t[e];if(n=h.get(e),e&&n[1].type==="chunkFlow"&&h.get(e-1)[1].type==="listItemPrefix"&&(o=n[1]._tokenizer.events,s=0,s<o.length&&o[s][1].type==="lineEndingBlank"&&(s+=2),s<o.length&&o[s][1].type==="content"))for(;++s<o.length&&o[s][1].type!=="content";)o[s][1].type==="chunkText"&&(o[s][1]._isInFirstContentOfListItem=!0,s++);if(n[0]==="enter")n[1].contentType&&(Object.assign(t,W4(h,e)),e=t[e],d=!0);else if(n[1]._container){for(s=e,i=void 0;s--;)if(a=h.get(s),a[1].type==="lineEnding"||a[1].type==="lineEndingBlank")a[0]==="enter"&&(i&&(h.get(i)[1].type="lineEndingBlank"),a[1].type="lineEnding",i=s);else if(a[1].type!=="linePrefix")break;i&&(n[1].end={...h.get(i)[1].start},c=h.slice(i,e),c.unshift(n),h.splice(i,e-i+1,c))}}return qa(l,0,Number.POSITIVE_INFINITY,h.slice(0)),!d}function W4(l,t){const e=l.get(t)[1],n=l.get(t)[2];let i=t-1;const s=[],a=e._tokenizer||n.parser[e.contentType](e.start),c=a.events,o=[],d={};let h,b,p=-1,y=e,M=0,T=0;const Y=[T];for(;y;){for(;l.get(++i)[1]!==y;);s.push(i),y._tokenizer||(h=n.sliceStream(y),y.next||h.push(null),b&&a.defineSkip(y.start),y._isInFirstContentOfListItem&&(a._gfmTasklistFirstContentOfListItem=!0),a.write(h),y._isInFirstContentOfListItem&&(a._gfmTasklistFirstContentOfListItem=void 0)),b=y,y=y.next}for(y=e;++p<c.length;)c[p][0]==="exit"&&c[p-1][0]==="enter"&&c[p][1].type===c[p-1][1].type&&c[p][1].start.line!==c[p][1].end.line&&(T=p+1,Y.push(T),y._tokenizer=void 0,y.previous=void 0,y=y.next);for(a.events=[],y?(y._tokenizer=void 0,y.previous=void 0):Y.pop(),p=Y.length;p--;){const L=c.slice(Y[p],Y[p+1]),x=s.pop();o.push([x,x+L.length-1]),l.splice(x,2,L)}for(o.reverse(),p=-1;++p<o.length;)d[M+o[p][0]]=M+o[p][1],M+=o[p][1]-o[p][0]-1;return d}const N4={resolve:G4,tokenize:T4},M4={partial:!0,tokenize:X4};function G4(l){return Sf(l),l}function T4(l,t){let e;return n;function n(c){return l.enter("content"),e=l.enter("chunkContent",{contentType:"content"}),i(c)}function i(c){return c===null?s(c):il(c)?l.check(M4,a,s)(c):(l.consume(c),i)}function s(c){return l.exit("chunkContent"),l.exit("content"),t(c)}function a(c){return l.consume(c),l.exit("chunkContent"),e.next=l.enter("chunkContent",{contentType:"content",previous:e}),e=e.next,i}}function X4(l,t,e){const n=this;return i;function i(a){return l.exit("chunkContent"),l.enter("lineEnding"),l.consume(a),l.exit("lineEnding"),Ul(l,s,"linePrefix")}function s(a){if(a===null||il(a))return e(a);const c=n.events[n.events.length-1];return!n.parser.constructs.disable.null.includes("codeIndented")&&c&&c[1].type==="linePrefix"&&c[2].sliceSerialize(c[1],!0).length>=4?t(a):l.interrupt(n.parser.constructs.flow,e,t)(a)}}function Rf(l,t,e,n,i,s,a,c,o){const d=o||Number.POSITIVE_INFINITY;let h=0;return b;function b(L){return L===60?(l.enter(n),l.enter(i),l.enter(s),l.consume(L),l.exit(s),p):L===null||L===32||L===41||LM(L)?e(L):(l.enter(n),l.enter(a),l.enter(c),l.enter("chunkString",{contentType:"string"}),T(L))}function p(L){return L===62?(l.enter(s),l.consume(L),l.exit(s),l.exit(i),l.exit(n),t):(l.enter(c),l.enter("chunkString",{contentType:"string"}),y(L))}function y(L){return L===62?(l.exit("chunkString"),l.exit(c),p(L)):L===null||L===60||il(L)?e(L):(l.consume(L),L===92?M:y)}function M(L){return L===60||L===62||L===92?(l.consume(L),y):y(L)}function T(L){return!h&&(L===null||L===41||In(L))?(l.exit("chunkString"),l.exit(c),l.exit(a),l.exit(n),t(L)):h<d&&L===40?(l.consume(L),h++,T):L===41?(l.consume(L),h--,T):L===null||L===32||L===40||LM(L)?e(L):(l.consume(L),L===92?Y:T)}function Y(L){return L===40||L===41||L===92?(l.consume(L),T):T(L)}}function kf(l,t,e,n,i,s){const a=this;let c=0,o;return d;function d(y){return l.enter(n),l.enter(i),l.consume(y),l.exit(i),l.enter(s),h}function h(y){return c>999||y===null||y===91||y===93&&!o||y===94&&!c&&"_hiddenFootnoteSupport"in a.parser.constructs?e(y):y===93?(l.exit(s),l.enter(i),l.consume(y),l.exit(i),l.exit(n),t):il(y)?(l.enter("lineEnding"),l.consume(y),l.exit("lineEnding"),h):(l.enter("chunkString",{contentType:"string"}),b(y))}function b(y){return y===null||y===91||y===93||il(y)||c++>999?(l.exit("chunkString"),h(y)):(l.consume(y),o||(o=!Kl(y)),y===92?p:b)}function p(y){return y===91||y===92||y===93?(l.consume(y),c++,b):b(y)}}function Df(l,t,e,n,i,s){let a;return c;function c(p){return p===34||p===39||p===40?(l.enter(n),l.enter(i),l.consume(p),l.exit(i),a=p===40?41:p,o):e(p)}function o(p){return p===a?(l.enter(i),l.consume(p),l.exit(i),l.exit(n),t):(l.enter(s),d(p))}function d(p){return p===a?(l.exit(s),o(a)):p===null?e(p):il(p)?(l.enter("lineEnding"),l.consume(p),l.exit("lineEnding"),Ul(l,d,"linePrefix")):(l.enter("chunkString",{contentType:"string"}),h(p))}function h(p){return p===a||p===null||il(p)?(l.exit("chunkString"),d(p)):(l.consume(p),p===92?b:h)}function b(p){return p===a||p===92?(l.consume(p),h):h(p)}}function Y2(l,t){let e;return n;function n(i){return il(i)?(l.enter("lineEnding"),l.consume(i),l.exit("lineEnding"),e=!0,n):Kl(i)?Ul(l,n,e?"linePrefix":"lineSuffix")(i):t(i)}}const Y4={name:"definition",tokenize:V4},L4={partial:!0,tokenize:I4};function V4(l,t,e){const n=this;let i;return s;function s(y){return l.enter("definition"),a(y)}function a(y){return kf.call(n,l,c,e,"definitionLabel","definitionLabelMarker","definitionLabelString")(y)}function c(y){return i=ar(n.sliceSerialize(n.events[n.events.length-1][1]).slice(1,-1)),y===58?(l.enter("definitionMarker"),l.consume(y),l.exit("definitionMarker"),o):e(y)}function o(y){return In(y)?Y2(l,d)(y):d(y)}function d(y){return Rf(l,h,e,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(y)}function h(y){return l.attempt(L4,b,b)(y)}function b(y){return Kl(y)?Ul(l,p,"whitespace")(y):p(y)}function p(y){return y===null||il(y)?(l.exit("definition"),n.parser.defined.push(i),t(y)):e(y)}}function I4(l,t,e){return n;function n(c){return In(c)?Y2(l,i)(c):e(c)}function i(c){return Df(l,s,e,"definitionTitle","definitionTitleMarker","definitionTitleString")(c)}function s(c){return Kl(c)?Ul(l,a,"whitespace")(c):a(c)}function a(c){return c===null||il(c)?t(c):e(c)}}const w4={name:"hardBreakEscape",tokenize:z4};function z4(l,t,e){return n;function n(s){return l.enter("hardBreakEscape"),l.consume(s),i}function i(s){return il(s)?(l.exit("hardBreakEscape"),t(s)):e(s)}}const g4={name:"headingAtx",resolve:x4,tokenize:f4};function x4(l,t){let e=l.length-2,n=3,i,s;return l[n][1].type==="whitespace"&&(n+=2),e-2>n&&l[e][1].type==="whitespace"&&(e-=2),l[e][1].type==="atxHeadingSequence"&&(n===e-1||e-4>n&&l[e-2][1].type==="whitespace")&&(e-=n+1===e?2:4),e>n&&(i={type:"atxHeadingText",start:l[n][1].start,end:l[e][1].end},s={type:"chunkText",start:l[n][1].start,end:l[e][1].end,contentType:"text"},qa(l,n,e-n+1,[["enter",i,t],["enter",s,t],["exit",s,t],["exit",i,t]])),l}function f4(l,t,e){let n=0;return i;function i(h){return l.enter("atxHeading"),s(h)}function s(h){return l.enter("atxHeadingSequence"),a(h)}function a(h){return h===35&&n++<6?(l.consume(h),a):h===null||In(h)?(l.exit("atxHeadingSequence"),c(h)):e(h)}function c(h){return h===35?(l.enter("atxHeadingSequence"),o(h)):h===null||il(h)?(l.exit("atxHeading"),t(h)):Kl(h)?Ul(l,c,"whitespace")(h):(l.enter("atxHeadingText"),d(h))}function o(h){return h===35?(l.consume(h),o):(l.exit("atxHeadingSequence"),c(h))}function d(h){return h===null||h===35||In(h)?(l.exit("atxHeadingText"),c(h)):(l.consume(h),d)}}const S4=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],rg=["pre","script","style","textarea"],R4={concrete:!0,name:"htmlFlow",resolveTo:O4,tokenize:j4},k4={partial:!0,tokenize:F4},D4={partial:!0,tokenize:C4};function O4(l){let t=l.length;for(;t--&&!(l[t][0]==="enter"&&l[t][1].type==="htmlFlow"););return t>1&&l[t-2][1].type==="linePrefix"&&(l[t][1].start=l[t-2][1].start,l[t+1][1].start=l[t-2][1].start,l.splice(t-2,2)),l}function j4(l,t,e){const n=this;let i,s,a,c,o;return d;function d($){return h($)}function h($){return l.enter("htmlFlow"),l.enter("htmlFlowData"),l.consume($),b}function b($){return $===33?(l.consume($),p):$===47?(l.consume($),s=!0,T):$===63?(l.consume($),i=3,n.interrupt?t:H):Qs($)?(l.consume($),a=String.fromCharCode($),Y):e($)}function p($){return $===45?(l.consume($),i=2,y):$===91?(l.consume($),i=5,c=0,M):Qs($)?(l.consume($),i=4,n.interrupt?t:H):e($)}function y($){return $===45?(l.consume($),n.interrupt?t:H):e($)}function M($){const _t="CDATA[";return $===_t.charCodeAt(c++)?(l.consume($),c===_t.length?n.interrupt?t:tt:M):e($)}function T($){return Qs($)?(l.consume($),a=String.fromCharCode($),Y):e($)}function Y($){if($===null||$===47||$===62||In($)){const _t=$===47,ce=a.toLowerCase();return!_t&&!s&&rg.includes(ce)?(i=1,n.interrupt?t($):tt($)):S4.includes(a.toLowerCase())?(i=6,_t?(l.consume($),L):n.interrupt?t($):tt($)):(i=7,n.interrupt&&!n.parser.lazy[n.now().line]?e($):s?x($):g($))}return $===45||fs($)?(l.consume($),a+=String.fromCharCode($),Y):e($)}function L($){return $===62?(l.consume($),n.interrupt?t:tt):e($)}function x($){return Kl($)?(l.consume($),x):f($)}function g($){return $===47?(l.consume($),f):$===58||$===95||Qs($)?(l.consume($),F):Kl($)?(l.consume($),g):f($)}function F($){return $===45||$===46||$===58||$===95||fs($)?(l.consume($),F):j($)}function j($){return $===61?(l.consume($),D):Kl($)?(l.consume($),j):g($)}function D($){return $===null||$===60||$===61||$===62||$===96?e($):$===34||$===39?(l.consume($),o=$,_):Kl($)?(l.consume($),D):ut($)}function _($){return $===o?(l.consume($),o=null,K):$===null||il($)?e($):(l.consume($),_)}function ut($){return $===null||$===34||$===39||$===47||$===60||$===61||$===62||$===96||In($)?j($):(l.consume($),ut)}function K($){return $===47||$===62||Kl($)?g($):e($)}function f($){return $===62?(l.consume($),lt):e($)}function lt($){return $===null||il($)?tt($):Kl($)?(l.consume($),lt):e($)}function tt($){return $===45&&i===2?(l.consume($),kt):$===60&&i===1?(l.consume($),Gt):$===62&&i===4?(l.consume($),nt):$===63&&i===3?(l.consume($),H):$===93&&i===5?(l.consume($),vt):il($)&&(i===6||i===7)?(l.exit("htmlFlowData"),l.check(k4,bt,ht)($)):$===null||il($)?(l.exit("htmlFlowData"),ht($)):(l.consume($),tt)}function ht($){return l.check(D4,dt,bt)($)}function dt($){return l.enter("lineEnding"),l.consume($),l.exit("lineEnding"),It}function It($){return $===null||il($)?ht($):(l.enter("htmlFlowData"),tt($))}function kt($){return $===45?(l.consume($),H):tt($)}function Gt($){return $===47?(l.consume($),a="",gt):tt($)}function gt($){if($===62){const _t=a.toLowerCase();return rg.includes(_t)?(l.consume($),nt):tt($)}return Qs($)&&a.length<8?(l.consume($),a+=String.fromCharCode($),gt):tt($)}function vt($){return $===93?(l.consume($),H):tt($)}function H($){return $===62?(l.consume($),nt):$===45&&i===2?(l.consume($),H):tt($)}function nt($){return $===null||il($)?(l.exit("htmlFlowData"),bt($)):(l.consume($),nt)}function bt($){return l.exit("htmlFlow"),t($)}}function C4(l,t,e){const n=this;return i;function i(a){return il(a)?(l.enter("lineEnding"),l.consume(a),l.exit("lineEnding"),s):e(a)}function s(a){return n.parser.lazy[n.now().line]?e(a):t(a)}}function F4(l,t,e){return n;function n(i){return l.enter("lineEnding"),l.consume(i),l.exit("lineEnding"),l.attempt(gW,t,e)}}const J4={name:"htmlText",tokenize:v4};function v4(l,t,e){const n=this;let i,s,a;return c;function c(H){return l.enter("htmlText"),l.enter("htmlTextData"),l.consume(H),o}function o(H){return H===33?(l.consume(H),d):H===47?(l.consume(H),j):H===63?(l.consume(H),g):Qs(H)?(l.consume(H),ut):e(H)}function d(H){return H===45?(l.consume(H),h):H===91?(l.consume(H),s=0,M):Qs(H)?(l.consume(H),x):e(H)}function h(H){return H===45?(l.consume(H),y):e(H)}function b(H){return H===null?e(H):H===45?(l.consume(H),p):il(H)?(a=b,Gt(H)):(l.consume(H),b)}function p(H){return H===45?(l.consume(H),y):b(H)}function y(H){return H===62?kt(H):H===45?p(H):b(H)}function M(H){const nt="CDATA[";return H===nt.charCodeAt(s++)?(l.consume(H),s===nt.length?T:M):e(H)}function T(H){return H===null?e(H):H===93?(l.consume(H),Y):il(H)?(a=T,Gt(H)):(l.consume(H),T)}function Y(H){return H===93?(l.consume(H),L):T(H)}function L(H){return H===62?kt(H):H===93?(l.consume(H),L):T(H)}function x(H){return H===null||H===62?kt(H):il(H)?(a=x,Gt(H)):(l.consume(H),x)}function g(H){return H===null?e(H):H===63?(l.consume(H),F):il(H)?(a=g,Gt(H)):(l.consume(H),g)}function F(H){return H===62?kt(H):g(H)}function j(H){return Qs(H)?(l.consume(H),D):e(H)}function D(H){return H===45||fs(H)?(l.consume(H),D):_(H)}function _(H){return il(H)?(a=_,Gt(H)):Kl(H)?(l.consume(H),_):kt(H)}function ut(H){return H===45||fs(H)?(l.consume(H),ut):H===47||H===62||In(H)?K(H):e(H)}function K(H){return H===47?(l.consume(H),kt):H===58||H===95||Qs(H)?(l.consume(H),f):il(H)?(a=K,Gt(H)):Kl(H)?(l.consume(H),K):kt(H)}function f(H){return H===45||H===46||H===58||H===95||fs(H)?(l.consume(H),f):lt(H)}function lt(H){return H===61?(l.consume(H),tt):il(H)?(a=lt,Gt(H)):Kl(H)?(l.consume(H),lt):K(H)}function tt(H){return H===null||H===60||H===61||H===62||H===96?e(H):H===34||H===39?(l.consume(H),i=H,ht):il(H)?(a=tt,Gt(H)):Kl(H)?(l.consume(H),tt):(l.consume(H),dt)}function ht(H){return H===i?(l.consume(H),i=void 0,It):H===null?e(H):il(H)?(a=ht,Gt(H)):(l.consume(H),ht)}function dt(H){return H===null||H===34||H===39||H===60||H===61||H===96?e(H):H===47||H===62||In(H)?K(H):(l.consume(H),dt)}function It(H){return H===47||H===62||In(H)?K(H):e(H)}function kt(H){return H===62?(l.consume(H),l.exit("htmlTextData"),l.exit("htmlText"),t):e(H)}function Gt(H){return l.exit("htmlTextData"),l.enter("lineEnding"),l.consume(H),l.exit("lineEnding"),gt}function gt(H){return Kl(H)?Ul(l,vt,"linePrefix",n.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(H):vt(H)}function vt(H){return l.enter("htmlTextData"),a(H)}}const pV={name:"labelEnd",resolveAll:P4,resolveTo:H4,tokenize:Q4},U4={tokenize:B4},E4={tokenize:A4},K4={tokenize:_4};function P4(l){let t=-1;const e=[];for(;++t<l.length;){const n=l[t][1];if(e.push(l[t]),n.type==="labelImage"||n.type==="labelLink"||n.type==="labelEnd"){const i=n.type==="labelImage"?4:2;n.type="data",t+=i}}return l.length!==e.length&&qa(l,0,l.length,e),l}function H4(l,t){let e=l.length,n=0,i,s,a,c;for(;e--;)if(i=l[e][1],s){if(i.type==="link"||i.type==="labelLink"&&i._inactive)break;l[e][0]==="enter"&&i.type==="labelLink"&&(i._inactive=!0)}else if(a){if(l[e][0]==="enter"&&(i.type==="labelImage"||i.type==="labelLink")&&!i._balanced&&(s=e,i.type!=="labelLink")){n=2;break}}else i.type==="labelEnd"&&(a=e);const o={type:l[s][1].type==="labelLink"?"link":"image",start:{...l[s][1].start},end:{...l[l.length-1][1].end}},d={type:"label",start:{...l[s][1].start},end:{...l[a][1].end}},h={type:"labelText",start:{...l[s+n+2][1].end},end:{...l[a-2][1].start}};return c=[["enter",o,t],["enter",d,t]],c=Yc(c,l.slice(s+1,s+n+3)),c=Yc(c,[["enter",h,t]]),c=Yc(c,wG(t.parser.constructs.insideSpan.null,l.slice(s+n+4,a-3),t)),c=Yc(c,[["exit",h,t],l[a-2],l[a-1],["exit",d,t]]),c=Yc(c,l.slice(a+1)),c=Yc(c,[["exit",o,t]]),qa(l,s,l.length,c),l}function Q4(l,t,e){const n=this;let i=n.events.length,s,a;for(;i--;)if((n.events[i][1].type==="labelImage"||n.events[i][1].type==="labelLink")&&!n.events[i][1]._balanced){s=n.events[i][1];break}return c;function c(p){return s?s._inactive?b(p):(a=n.parser.defined.includes(ar(n.sliceSerialize({start:s.end,end:n.now()}))),l.enter("labelEnd"),l.enter("labelMarker"),l.consume(p),l.exit("labelMarker"),l.exit("labelEnd"),o):e(p)}function o(p){return p===40?l.attempt(U4,h,a?h:b)(p):p===91?l.attempt(E4,h,a?d:b)(p):a?h(p):b(p)}function d(p){return l.attempt(K4,h,b)(p)}function h(p){return t(p)}function b(p){return s._balanced=!0,e(p)}}function B4(l,t,e){return n;function n(b){return l.enter("resource"),l.enter("resourceMarker"),l.consume(b),l.exit("resourceMarker"),i}function i(b){return In(b)?Y2(l,s)(b):s(b)}function s(b){return b===41?h(b):Rf(l,a,c,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(b)}function a(b){return In(b)?Y2(l,o)(b):h(b)}function c(b){return e(b)}function o(b){return b===34||b===39||b===40?Df(l,d,e,"resourceTitle","resourceTitleMarker","resourceTitleString")(b):h(b)}function d(b){return In(b)?Y2(l,h)(b):h(b)}function h(b){return b===41?(l.enter("resourceMarker"),l.consume(b),l.exit("resourceMarker"),l.exit("resource"),t):e(b)}}function A4(l,t,e){const n=this;return i;function i(c){return kf.call(n,l,s,a,"reference","referenceMarker","referenceString")(c)}function s(c){return n.parser.defined.includes(ar(n.sliceSerialize(n.events[n.events.length-1][1]).slice(1,-1)))?t(c):e(c)}function a(c){return e(c)}}function _4(l,t,e){return n;function n(s){return l.enter("reference"),l.enter("referenceMarker"),l.consume(s),l.exit("referenceMarker"),i}function i(s){return s===93?(l.enter("referenceMarker"),l.consume(s),l.exit("referenceMarker"),l.exit("reference"),t):e(s)}}const q4={name:"labelStartImage",resolveAll:pV.resolveAll,tokenize:$4};function $4(l,t,e){const n=this;return i;function i(c){return l.enter("labelImage"),l.enter("labelImageMarker"),l.consume(c),l.exit("labelImageMarker"),s}function s(c){return c===91?(l.enter("labelMarker"),l.consume(c),l.exit("labelMarker"),l.exit("labelImage"),a):e(c)}function a(c){return c===94&&"_hiddenFootnoteSupport"in n.parser.constructs?e(c):t(c)}}const t7={name:"labelStartLink",resolveAll:pV.resolveAll,tokenize:e7};function e7(l,t,e){const n=this;return i;function i(a){return l.enter("labelLink"),l.enter("labelMarker"),l.consume(a),l.exit("labelMarker"),l.exit("labelLink"),s}function s(a){return a===94&&"_hiddenFootnoteSupport"in n.parser.constructs?e(a):t(a)}}const kT={name:"lineEnding",tokenize:l7};function l7(l,t){return e;function e(n){return l.enter("lineEnding"),l.consume(n),l.exit("lineEnding"),Ul(l,t,"linePrefix")}}const F1={name:"thematicBreak",tokenize:n7};function n7(l,t,e){let n=0,i;return s;function s(d){return l.enter("thematicBreak"),a(d)}function a(d){return i=d,c(d)}function c(d){return d===i?(l.enter("thematicBreakSequence"),o(d)):n>=3&&(d===null||il(d))?(l.exit("thematicBreak"),t(d)):e(d)}function o(d){return d===i?(l.consume(d),n++,o):(l.exit("thematicBreakSequence"),Kl(d)?Ul(l,c,"whitespace")(d):c(d))}}const oa={continuation:{tokenize:c7},exit:o7,name:"list",tokenize:a7},i7={partial:!0,tokenize:d7},s7={partial:!0,tokenize:r7};function a7(l,t,e){const n=this,i=n.events[n.events.length-1];let s=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[1],!0).length:0,a=0;return c;function c(y){const M=n.containerState.type||(y===42||y===43||y===45?"listUnordered":"listOrdered");if(M==="listUnordered"?!n.containerState.marker||y===n.containerState.marker:lY(y)){if(n.containerState.type||(n.containerState.type=M,l.enter(M,{_container:!0})),M==="listUnordered")return l.enter("listItemPrefix"),y===42||y===45?l.check(F1,e,d)(y):d(y);if(!n.interrupt||y===49)return l.enter("listItemPrefix"),l.enter("listItemValue"),o(y)}return e(y)}function o(y){return lY(y)&&++a<10?(l.consume(y),o):(!n.interrupt||a<2)&&(n.containerState.marker?y===n.containerState.marker:y===41||y===46)?(l.exit("listItemValue"),d(y)):e(y)}function d(y){return l.enter("listItemMarker"),l.consume(y),l.exit("listItemMarker"),n.containerState.marker=n.containerState.marker||y,l.check(gW,n.interrupt?e:h,l.attempt(i7,p,b))}function h(y){return n.containerState.initialBlankLine=!0,s++,p(y)}function b(y){return Kl(y)?(l.enter("listItemPrefixWhitespace"),l.consume(y),l.exit("listItemPrefixWhitespace"),p):e(y)}function p(y){return n.containerState.size=s+n.sliceSerialize(l.exit("listItemPrefix"),!0).length,t(y)}}function c7(l,t,e){const n=this;return n.containerState._closeFlow=void 0,l.check(gW,i,s);function i(c){return n.containerState.furtherBlankLines=n.containerState.furtherBlankLines||n.containerState.initialBlankLine,Ul(l,t,"listItemIndent",n.containerState.size+1)(c)}function s(c){return n.containerState.furtherBlankLines||!Kl(c)?(n.containerState.furtherBlankLines=void 0,n.containerState.initialBlankLine=void 0,a(c)):(n.containerState.furtherBlankLines=void 0,n.containerState.initialBlankLine=void 0,l.attempt(s7,t,a)(c))}function a(c){return n.containerState._closeFlow=!0,n.interrupt=void 0,Ul(l,l.attempt(oa,t,e),"linePrefix",n.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(c)}}function r7(l,t,e){const n=this;return Ul(l,i,"listItemIndent",n.containerState.size+1);function i(s){const a=n.events[n.events.length-1];return a&&a[1].type==="listItemIndent"&&a[2].sliceSerialize(a[1],!0).length===n.containerState.size?t(s):e(s)}}function o7(l){l.exit(this.containerState.type)}function d7(l,t,e){const n=this;return Ul(l,i,"listItemPrefixWhitespace",n.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function i(s){const a=n.events[n.events.length-1];return!Kl(s)&&a&&a[1].type==="listItemPrefixWhitespace"?t(s):e(s)}}const og={name:"setextUnderline",resolveTo:u7,tokenize:m7};function u7(l,t){let e=l.length,n,i,s;for(;e--;)if(l[e][0]==="enter"){if(l[e][1].type==="content"){n=e;break}l[e][1].type==="paragraph"&&(i=e)}else l[e][1].type==="content"&&l.splice(e,1),!s&&l[e][1].type==="definition"&&(s=e);const a={type:"setextHeading",start:{...l[i][1].start},end:{...l[l.length-1][1].end}};return l[i][1].type="setextHeadingText",s?(l.splice(i,0,["enter",a,t]),l.splice(s+1,0,["exit",l[n][1],t]),l[n][1].end={...l[s][1].end}):l[n][1]=a,l.push(["exit",a,t]),l}function m7(l,t,e){const n=this;let i;return s;function s(d){let h=n.events.length,b;for(;h--;)if(n.events[h][1].type!=="lineEnding"&&n.events[h][1].type!=="linePrefix"&&n.events[h][1].type!=="content"){b=n.events[h][1].type==="paragraph";break}return!n.parser.lazy[n.now().line]&&(n.interrupt||b)?(l.enter("setextHeadingLine"),i=d,a(d)):e(d)}function a(d){return l.enter("setextHeadingLineSequence"),c(d)}function c(d){return d===i?(l.consume(d),c):(l.exit("setextHeadingLineSequence"),Kl(d)?Ul(l,o,"lineSuffix")(d):o(d))}function o(d){return d===null||il(d)?(l.exit("setextHeadingLine"),t(d)):e(d)}}const h7={tokenize:b7};function b7(l){const t=this,e=l.attempt(gW,n,l.attempt(this.parser.constructs.flowInitial,i,Ul(l,l.attempt(this.parser.constructs.flow,i,l.attempt(N4,i)),"linePrefix")));return e;function n(s){if(s===null){l.consume(s);return}return l.enter("lineEndingBlank"),l.consume(s),l.exit("lineEndingBlank"),t.currentConstruct=void 0,e}function i(s){if(s===null){l.consume(s);return}return l.enter("lineEnding"),l.consume(s),l.exit("lineEnding"),t.currentConstruct=void 0,e}}const Z7={resolveAll:jf()},p7=Of("string"),y7=Of("text");function Of(l){return{resolveAll:jf(l==="text"?W7:void 0),tokenize:t};function t(e){const n=this,i=this.parser.constructs[l],s=e.attempt(i,a,c);return a;function a(h){return d(h)?s(h):c(h)}function c(h){if(h===null){e.consume(h);return}return e.enter("data"),e.consume(h),o}function o(h){return d(h)?(e.exit("data"),s(h)):(e.consume(h),o)}function d(h){if(h===null)return!0;const b=i[h];let p=-1;if(b)for(;++p<b.length;){const y=b[p];if(!y.previous||y.previous.call(n,n.previous))return!0}return!1}}}function jf(l){return t;function t(e,n){let i=-1,s;for(;++i<=e.length;)s===void 0?e[i]&&e[i][1].type==="data"&&(s=i,i++):(!e[i]||e[i][1].type!=="data")&&(i!==s+2&&(e[s][1].end=e[i-1][1].end,e.splice(s+2,i-s-2),i=s+2),s=void 0);return l?l(e,n):e}}function W7(l,t){let e=0;for(;++e<=l.length;)if((e===l.length||l[e][1].type==="lineEnding")&&l[e-1][1].type==="data"){const n=l[e-1][1],i=t.sliceStream(n);let s=i.length,a=-1,c=0,o;for(;s--;){const d=i[s];if(typeof d=="string"){for(a=d.length;d.charCodeAt(a-1)===32;)c++,a--;if(a)break;a=-1}else if(d===-2)o=!0,c++;else if(d!==-1){s++;break}}if(c){const d={type:e===l.length||o||c<2?"lineSuffix":"hardBreakTrailing",start:{_bufferIndex:s?a:n.start._bufferIndex+a,_index:n.start._index+s,line:n.end.line,column:n.end.column-c,offset:n.end.offset-c},end:{...n.end}};n.end={...d.start},n.start.offset===n.end.offset?Object.assign(n,d):(l.splice(e,0,["enter",d,t],["exit",d,t]),e+=2)}e++}return l}const N7={42:oa,43:oa,45:oa,48:oa,49:oa,50:oa,51:oa,52:oa,53:oa,54:oa,55:oa,56:oa,57:oa,62:gf},M7={91:Y4},G7={[-2]:RT,[-1]:RT,32:RT},T7={35:g4,42:F1,45:[og,F1],60:R4,61:og,95:F1,96:cg,126:cg},X7={38:ff,92:xf},Y7={[-5]:kT,[-4]:kT,[-3]:kT,33:q4,38:ff,42:nY,60:[t4,J4],91:t7,92:[w4,xf],93:pV,95:nY,96:h4},L7={null:[nY,Z7]},V7={null:[42,95]},I7={null:[]},w7=Object.freeze(Object.defineProperty({__proto__:null,attentionMarkers:V7,contentInitial:M7,disable:I7,document:N7,flow:T7,flowInitial:G7,insideSpan:L7,string:X7,text:Y7},Symbol.toStringTag,{value:"Module"}));function z7(l,t,e){let n={_bufferIndex:-1,_index:0,line:e&&e.line||1,column:e&&e.column||1,offset:e&&e.offset||0};const i={},s=[];let a=[],c=[];const o={attempt:_(j),check:_(D),consume:x,enter:g,exit:F,interrupt:_(D,{interrupt:!0})},d={code:null,containerState:{},defineSkip:T,events:[],now:M,parser:l,previous:null,sliceSerialize:p,sliceStream:y,write:b};let h=t.tokenize.call(d,o);return t.resolveAll&&s.push(t),d;function b(lt){return a=Yc(a,lt),Y(),a[a.length-1]!==null?[]:(ut(t,0),d.events=wG(s,d.events,d),d.events)}function p(lt,tt){return x7(y(lt),tt)}function y(lt){return g7(a,lt)}function M(){const{_bufferIndex:lt,_index:tt,line:ht,column:dt,offset:It}=n;return{_bufferIndex:lt,_index:tt,line:ht,column:dt,offset:It}}function T(lt){i[lt.line]=lt.column,f()}function Y(){let lt;for(;n._index<a.length;){const tt=a[n._index];if(typeof tt=="string")for(lt=n._index,n._bufferIndex<0&&(n._bufferIndex=0);n._index===lt&&n._bufferIndex<tt.length;)L(tt.charCodeAt(n._bufferIndex));else L(tt)}}function L(lt){h=h(lt)}function x(lt){il(lt)?(n.line++,n.column=1,n.offset+=lt===-3?2:1,f()):lt!==-1&&(n.column++,n.offset++),n._bufferIndex<0?n._index++:(n._bufferIndex++,n._bufferIndex===a[n._index].length&&(n._bufferIndex=-1,n._index++)),d.previous=lt}function g(lt,tt){const ht=tt||{};return ht.type=lt,ht.start=M(),d.events.push(["enter",ht,d]),c.push(ht),ht}function F(lt){const tt=c.pop();return tt.end=M(),d.events.push(["exit",tt,d]),tt}function j(lt,tt){ut(lt,tt.from)}function D(lt,tt){tt.restore()}function _(lt,tt){return ht;function ht(dt,It,kt){let Gt,gt,vt,H;return Array.isArray(dt)?bt(dt):"tokenize"in dt?bt([dt]):nt(dt);function nt(ne){return Nt;function Nt(xt){const Zt=xt!==null&&ne[xt],Ft=xt!==null&&ne.null,te=[...Array.isArray(Zt)?Zt:Zt?[Zt]:[],...Array.isArray(Ft)?Ft:Ft?[Ft]:[]];return bt(te)(xt)}}function bt(ne){return Gt=ne,gt=0,ne.length===0?kt:$(ne[gt])}function $(ne){return Nt;function Nt(xt){return H=K(),vt=ne,ne.partial||(d.currentConstruct=ne),ne.name&&d.parser.constructs.disable.null.includes(ne.name)?ce():ne.tokenize.call(tt?Object.assign(Object.create(d),tt):d,o,_t,ce)(xt)}}function _t(ne){return lt(vt,H),It}function ce(ne){return H.restore(),++gt<Gt.length?$(Gt[gt]):kt}}}function ut(lt,tt){lt.resolveAll&&!s.includes(lt)&&s.push(lt),lt.resolve&&qa(d.events,tt,d.events.length-tt,lt.resolve(d.events.slice(tt),d)),lt.resolveTo&&(d.events=lt.resolveTo(d.events,d))}function K(){const lt=M(),tt=d.previous,ht=d.currentConstruct,dt=d.events.length,It=Array.from(c);return{from:dt,restore:kt};function kt(){n=lt,d.previous=tt,d.currentConstruct=ht,d.events.length=dt,c=It,f()}}function f(){n.line in i&&n.column<2&&(n.column=i[n.line],n.offset+=i[n.line]-1)}}function g7(l,t){const e=t.start._index,n=t.start._bufferIndex,i=t.end._index,s=t.end._bufferIndex;let a;if(e===i)a=[l[e].slice(n,s)];else{if(a=l.slice(e,i),n>-1){const c=a[0];typeof c=="string"?a[0]=c.slice(n):a.shift()}s>0&&a.push(l[i].slice(0,s))}return a}function x7(l,t){let e=-1;const n=[];let i;for(;++e<l.length;){const s=l[e];let a;if(typeof s=="string")a=s;else switch(s){case-5:{a="\r";break}case-4:{a=`
|
||
`;break}case-3:{a=`\r
|
||
`;break}case-2:{a=t?" ":" ";break}case-1:{if(!t&&i)continue;a=" ";break}default:a=String.fromCharCode(s)}i=s===-2,n.push(a)}return n.join("")}function f7(l){const n={constructs:wf([w7,...(l||{}).extensions||[]]),content:i(HE),defined:[],document:i(BE),flow:i(h7),lazy:{},string:i(p7),text:i(y7)};return n;function i(s){return a;function a(c){return z7(n,s,c)}}}function S7(l){for(;!Sf(l););return l}const dg=/[\0\t\n\r]/g;function R7(){let l=1,t="",e=!0,n;return i;function i(s,a,c){const o=[];let d,h,b,p,y;for(s=t+(typeof s=="string"?s.toString():new TextDecoder(a||void 0).decode(s)),b=0,t="",e&&(s.charCodeAt(0)===65279&&b++,e=void 0);b<s.length;){if(dg.lastIndex=b,d=dg.exec(s),p=d&&d.index!==void 0?d.index:s.length,y=s.charCodeAt(p),!d){t=s.slice(b);break}if(y===10&&b===p&&n)o.push(-3),n=void 0;else switch(n&&(o.push(-5),n=void 0),b<p&&(o.push(s.slice(b,p)),l+=p-b),y){case 0:{o.push(65533),l++;break}case 9:{for(h=Math.ceil(l/4)*4,o.push(-2);l++<h;)o.push(-1);break}case 10:{o.push(-4),l=1;break}default:n=!0,l=1}b=p+1}return c&&(n&&o.push(-5),t&&o.push(t),o.push(null)),o}}const k7=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function D7(l){return l.replace(k7,O7)}function O7(l,t,e){if(t)return t;if(e.charCodeAt(0)===35){const i=e.charCodeAt(1),s=i===120||i===88;return zf(e.slice(s?2:1),s?16:10)}return ZV(e)||l}const Cf={}.hasOwnProperty;function j7(l,t,e){return typeof t!="string"&&(e=t,t=void 0),C7(e)(S7(f7(e).document().write(R7()(l,t,!0))))}function C7(l){const t={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:s(Pl),autolinkProtocol:K,autolinkEmail:K,atxHeading:s(xe),blockQuote:s(Ft),characterEscape:K,characterReference:K,codeFenced:s(te),codeFencedFenceInfo:a,codeFencedFenceMeta:a,codeIndented:s(te,a),codeText:s(he,a),codeTextData:K,data:K,codeFlowValue:K,definition:s($e),definitionDestinationString:a,definitionLabelString:a,definitionTitleString:a,emphasis:s(je),hardBreakEscape:s(Ke),hardBreakTrailing:s(Ke),htmlFlow:s(Vl,a),htmlFlowData:K,htmlText:s(Vl,a),htmlTextData:K,image:s(gl),label:a,link:s(Pl),listItem:s(El),listItemValue:p,listOrdered:s(Ql,b),listUnordered:s(Ql),paragraph:s(pn),reference:$,referenceString:a,resourceDestinationString:a,resourceTitleString:a,setextHeading:s(xe),strong:s(sn),thematicBreak:s(de)},exit:{atxHeading:o(),atxHeadingSequence:j,autolink:o(),autolinkEmail:Zt,autolinkProtocol:xt,blockQuote:o(),characterEscapeValue:f,characterReferenceMarkerHexadecimal:ce,characterReferenceMarkerNumeric:ce,characterReferenceValue:ne,characterReference:Nt,codeFenced:o(Y),codeFencedFence:T,codeFencedFenceInfo:y,codeFencedFenceMeta:M,codeFlowValue:f,codeIndented:o(L),codeText:o(It),codeTextData:f,data:f,definition:o(),definitionDestinationString:F,definitionLabelString:x,definitionTitleString:g,emphasis:o(),hardBreakEscape:o(tt),hardBreakTrailing:o(tt),htmlFlow:o(ht),htmlFlowData:f,htmlText:o(dt),htmlTextData:f,image:o(Gt),label:vt,labelText:gt,lineEnding:lt,link:o(kt),listItem:o(),listOrdered:o(),listUnordered:o(),paragraph:o(),referenceString:_t,resourceDestinationString:H,resourceTitleString:nt,resource:bt,setextHeading:o(ut),setextHeadingLineSequence:_,setextHeadingText:D,strong:o(),thematicBreak:o()}};Ff(t,(l||{}).mdastExtensions||[]);const e={};return n;function n(Yt){let Jt={type:"root",children:[]};const be={stack:[Jt],tokenStack:[],config:t,enter:c,exit:d,buffer:a,resume:h,data:e},ee=[];let Q=-1;for(;++Q<Yt.length;)if(Yt[Q][1].type==="listOrdered"||Yt[Q][1].type==="listUnordered")if(Yt[Q][0]==="enter")ee.push(Q);else{const C=ee.pop();Q=i(Yt,C,Q)}for(Q=-1;++Q<Yt.length;){const C=t[Yt[Q][0]];Cf.call(C,Yt[Q][1].type)&&C[Yt[Q][1].type].call(Object.assign({sliceSerialize:Yt[Q][2].sliceSerialize},be),Yt[Q][1])}if(be.tokenStack.length>0){const C=be.tokenStack[be.tokenStack.length-1];(C[1]||ug).call(be,void 0,C[0])}for(Jt.position={start:tu(Yt.length>0?Yt[0][1].start:{line:1,column:1,offset:0}),end:tu(Yt.length>0?Yt[Yt.length-2][1].end:{line:1,column:1,offset:0})},Q=-1;++Q<t.transforms.length;)Jt=t.transforms[Q](Jt)||Jt;return Jt}function i(Yt,Jt,be){let ee=Jt-1,Q=-1,C=!1,q,mt,Vt,ie;for(;++ee<=be;){const Ot=Yt[ee];switch(Ot[1].type){case"listUnordered":case"listOrdered":case"blockQuote":{Ot[0]==="enter"?Q++:Q--,ie=void 0;break}case"lineEndingBlank":{Ot[0]==="enter"&&(q&&!ie&&!Q&&!Vt&&(Vt=ee),ie=void 0);break}case"linePrefix":case"listItemValue":case"listItemMarker":case"listItemPrefix":case"listItemPrefixWhitespace":break;default:ie=void 0}if(!Q&&Ot[0]==="enter"&&Ot[1].type==="listItemPrefix"||Q===-1&&Ot[0]==="exit"&&(Ot[1].type==="listUnordered"||Ot[1].type==="listOrdered")){if(q){let fe=ee;for(mt=void 0;fe--;){const oe=Yt[fe];if(oe[1].type==="lineEnding"||oe[1].type==="lineEndingBlank"){if(oe[0]==="exit")continue;mt&&(Yt[mt][1].type="lineEndingBlank",C=!0),oe[1].type="lineEnding",mt=fe}else if(!(oe[1].type==="linePrefix"||oe[1].type==="blockQuotePrefix"||oe[1].type==="blockQuotePrefixWhitespace"||oe[1].type==="blockQuoteMarker"||oe[1].type==="listItemIndent"))break}Vt&&(!mt||Vt<mt)&&(q._spread=!0),q.end=Object.assign({},mt?Yt[mt][1].start:Ot[1].end),Yt.splice(mt||ee,0,["exit",q,Ot[2]]),ee++,be++}if(Ot[1].type==="listItemPrefix"){const fe={type:"listItem",_spread:!1,start:Object.assign({},Ot[1].start),end:void 0};q=fe,Yt.splice(ee,0,["enter",fe,Ot[2]]),ee++,be++,Vt=void 0,ie=!0}}}return Yt[Jt][1]._spread=C,be}function s(Yt,Jt){return be;function be(ee){c.call(this,Yt(ee),ee),Jt&&Jt.call(this,ee)}}function a(){this.stack.push({type:"fragment",children:[]})}function c(Yt,Jt,be){this.stack[this.stack.length-1].children.push(Yt),this.stack.push(Yt),this.tokenStack.push([Jt,be||void 0]),Yt.position={start:tu(Jt.start),end:void 0}}function o(Yt){return Jt;function Jt(be){Yt&&Yt.call(this,be),d.call(this,be)}}function d(Yt,Jt){const be=this.stack.pop(),ee=this.tokenStack.pop();if(ee)ee[0].type!==Yt.type&&(Jt?Jt.call(this,Yt,ee[0]):(ee[1]||ug).call(this,Yt,ee[0]));else throw new Error("Cannot close `"+Yt.type+"` ("+X2({start:Yt.start,end:Yt.end})+"): it’s not open");be.position.end=tu(Yt.end)}function h(){return bV(this.stack.pop())}function b(){this.data.expectingFirstListItemValue=!0}function p(Yt){if(this.data.expectingFirstListItemValue){const Jt=this.stack[this.stack.length-2];Jt.start=Number.parseInt(this.sliceSerialize(Yt),10),this.data.expectingFirstListItemValue=void 0}}function y(){const Yt=this.resume(),Jt=this.stack[this.stack.length-1];Jt.lang=Yt}function M(){const Yt=this.resume(),Jt=this.stack[this.stack.length-1];Jt.meta=Yt}function T(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function Y(){const Yt=this.resume(),Jt=this.stack[this.stack.length-1];Jt.value=Yt.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),this.data.flowCodeInside=void 0}function L(){const Yt=this.resume(),Jt=this.stack[this.stack.length-1];Jt.value=Yt.replace(/(\r?\n|\r)$/g,"")}function x(Yt){const Jt=this.resume(),be=this.stack[this.stack.length-1];be.label=Jt,be.identifier=ar(this.sliceSerialize(Yt)).toLowerCase()}function g(){const Yt=this.resume(),Jt=this.stack[this.stack.length-1];Jt.title=Yt}function F(){const Yt=this.resume(),Jt=this.stack[this.stack.length-1];Jt.url=Yt}function j(Yt){const Jt=this.stack[this.stack.length-1];if(!Jt.depth){const be=this.sliceSerialize(Yt).length;Jt.depth=be}}function D(){this.data.setextHeadingSlurpLineEnding=!0}function _(Yt){const Jt=this.stack[this.stack.length-1];Jt.depth=this.sliceSerialize(Yt).codePointAt(0)===61?1:2}function ut(){this.data.setextHeadingSlurpLineEnding=void 0}function K(Yt){const be=this.stack[this.stack.length-1].children;let ee=be[be.length-1];(!ee||ee.type!=="text")&&(ee=qt(),ee.position={start:tu(Yt.start),end:void 0},be.push(ee)),this.stack.push(ee)}function f(Yt){const Jt=this.stack.pop();Jt.value+=this.sliceSerialize(Yt),Jt.position.end=tu(Yt.end)}function lt(Yt){const Jt=this.stack[this.stack.length-1];if(this.data.atHardBreak){const be=Jt.children[Jt.children.length-1];be.position.end=tu(Yt.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&t.canContainEols.includes(Jt.type)&&(K.call(this,Yt),f.call(this,Yt))}function tt(){this.data.atHardBreak=!0}function ht(){const Yt=this.resume(),Jt=this.stack[this.stack.length-1];Jt.value=Yt}function dt(){const Yt=this.resume(),Jt=this.stack[this.stack.length-1];Jt.value=Yt}function It(){const Yt=this.resume(),Jt=this.stack[this.stack.length-1];Jt.value=Yt}function kt(){const Yt=this.stack[this.stack.length-1];if(this.data.inReference){const Jt=this.data.referenceType||"shortcut";Yt.type+="Reference",Yt.referenceType=Jt,delete Yt.url,delete Yt.title}else delete Yt.identifier,delete Yt.label;this.data.referenceType=void 0}function Gt(){const Yt=this.stack[this.stack.length-1];if(this.data.inReference){const Jt=this.data.referenceType||"shortcut";Yt.type+="Reference",Yt.referenceType=Jt,delete Yt.url,delete Yt.title}else delete Yt.identifier,delete Yt.label;this.data.referenceType=void 0}function gt(Yt){const Jt=this.sliceSerialize(Yt),be=this.stack[this.stack.length-2];be.label=D7(Jt),be.identifier=ar(Jt).toLowerCase()}function vt(){const Yt=this.stack[this.stack.length-1],Jt=this.resume(),be=this.stack[this.stack.length-1];if(this.data.inReference=!0,be.type==="link"){const ee=Yt.children;be.children=ee}else be.alt=Jt}function H(){const Yt=this.resume(),Jt=this.stack[this.stack.length-1];Jt.url=Yt}function nt(){const Yt=this.resume(),Jt=this.stack[this.stack.length-1];Jt.title=Yt}function bt(){this.data.inReference=void 0}function $(){this.data.referenceType="collapsed"}function _t(Yt){const Jt=this.resume(),be=this.stack[this.stack.length-1];be.label=Jt,be.identifier=ar(this.sliceSerialize(Yt)).toLowerCase(),this.data.referenceType="full"}function ce(Yt){this.data.characterReferenceType=Yt.type}function ne(Yt){const Jt=this.sliceSerialize(Yt),be=this.data.characterReferenceType;let ee;be?(ee=zf(Jt,be==="characterReferenceMarkerNumeric"?10:16),this.data.characterReferenceType=void 0):ee=ZV(Jt);const Q=this.stack[this.stack.length-1];Q.value+=ee}function Nt(Yt){const Jt=this.stack.pop();Jt.position.end=tu(Yt.end)}function xt(Yt){f.call(this,Yt);const Jt=this.stack[this.stack.length-1];Jt.url=this.sliceSerialize(Yt)}function Zt(Yt){f.call(this,Yt);const Jt=this.stack[this.stack.length-1];Jt.url="mailto:"+this.sliceSerialize(Yt)}function Ft(){return{type:"blockquote",children:[]}}function te(){return{type:"code",lang:null,meta:null,value:""}}function he(){return{type:"inlineCode",value:""}}function $e(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function je(){return{type:"emphasis",children:[]}}function xe(){return{type:"heading",depth:0,children:[]}}function Ke(){return{type:"break"}}function Vl(){return{type:"html",value:""}}function gl(){return{type:"image",title:null,url:"",alt:null}}function Pl(){return{type:"link",title:null,url:"",children:[]}}function Ql(Yt){return{type:"list",ordered:Yt.type==="listOrdered",start:null,spread:Yt._spread,children:[]}}function El(Yt){return{type:"listItem",spread:Yt._spread,checked:null,children:[]}}function pn(){return{type:"paragraph",children:[]}}function sn(){return{type:"strong",children:[]}}function qt(){return{type:"text",value:""}}function de(){return{type:"thematicBreak"}}}function tu(l){return{line:l.line,column:l.column,offset:l.offset}}function Ff(l,t){let e=-1;for(;++e<t.length;){const n=t[e];Array.isArray(n)?Ff(l,n):F7(l,n)}}function F7(l,t){let e;for(e in t)if(Cf.call(t,e))switch(e){case"canContainEols":{const n=t[e];n&&l[e].push(...n);break}case"transforms":{const n=t[e];n&&l[e].push(...n);break}case"enter":case"exit":{const n=t[e];n&&Object.assign(l[e],n);break}}}function ug(l,t){throw l?new Error("Cannot close `"+l.type+"` ("+X2({start:l.start,end:l.end})+"): a different token (`"+t.type+"`, "+X2({start:t.start,end:t.end})+") is open"):new Error("Cannot close document, a token (`"+t.type+"`, "+X2({start:t.start,end:t.end})+") is still open")}function J7(l){const t=this;t.parser=e;function e(n){return j7(n,{...t.data("settings"),...l,extensions:t.data("micromarkExtensions")||[],mdastExtensions:t.data("fromMarkdownExtensions")||[]})}}function v7(l,t){const e={type:"element",tagName:"blockquote",properties:{},children:l.wrap(l.all(t),!0)};return l.patch(t,e),l.applyData(t,e)}function U7(l,t){const e={type:"element",tagName:"br",properties:{},children:[]};return l.patch(t,e),[l.applyData(t,e),{type:"text",value:`
|
||
`}]}function E7(l,t){const e=t.value?t.value+`
|
||
`:"",n={};t.lang&&(n.className=["language-"+t.lang]);let i={type:"element",tagName:"code",properties:n,children:[{type:"text",value:e}]};return t.meta&&(i.data={meta:t.meta}),l.patch(t,i),i=l.applyData(t,i),i={type:"element",tagName:"pre",properties:{},children:[i]},l.patch(t,i),i}function K7(l,t){const e={type:"element",tagName:"del",properties:{},children:l.all(t)};return l.patch(t,e),l.applyData(t,e)}function P7(l,t){const e={type:"element",tagName:"em",properties:{},children:l.all(t)};return l.patch(t,e),l.applyData(t,e)}function H7(l,t){const e=typeof l.options.clobberPrefix=="string"?l.options.clobberPrefix:"user-content-",n=String(t.identifier).toUpperCase(),i=rp(n.toLowerCase()),s=l.footnoteOrder.indexOf(n);let a,c=l.footnoteCounts.get(n);c===void 0?(c=0,l.footnoteOrder.push(n),a=l.footnoteOrder.length):a=s+1,c+=1,l.footnoteCounts.set(n,c);const o={type:"element",tagName:"a",properties:{href:"#"+e+"fn-"+i,id:e+"fnref-"+i+(c>1?"-"+c:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(a)}]};l.patch(t,o);const d={type:"element",tagName:"sup",properties:{},children:[o]};return l.patch(t,d),l.applyData(t,d)}function Q7(l,t){const e={type:"element",tagName:"h"+t.depth,properties:{},children:l.all(t)};return l.patch(t,e),l.applyData(t,e)}function B7(l,t){if(l.options.allowDangerousHtml){const e={type:"raw",value:t.value};return l.patch(t,e),l.applyData(t,e)}}function Jf(l,t){const e=t.referenceType;let n="]";if(e==="collapsed"?n+="[]":e==="full"&&(n+="["+(t.label||t.identifier)+"]"),t.type==="imageReference")return[{type:"text",value:"!["+t.alt+n}];const i=l.all(t),s=i[0];s&&s.type==="text"?s.value="["+s.value:i.unshift({type:"text",value:"["});const a=i[i.length-1];return a&&a.type==="text"?a.value+=n:i.push({type:"text",value:n}),i}function A7(l,t){const e=String(t.identifier).toUpperCase(),n=l.definitionById.get(e);if(!n)return Jf(l,t);const i={src:rp(n.url||""),alt:t.alt};n.title!==null&&n.title!==void 0&&(i.title=n.title);const s={type:"element",tagName:"img",properties:i,children:[]};return l.patch(t,s),l.applyData(t,s)}function _7(l,t){const e={src:rp(t.url)};t.alt!==null&&t.alt!==void 0&&(e.alt=t.alt),t.title!==null&&t.title!==void 0&&(e.title=t.title);const n={type:"element",tagName:"img",properties:e,children:[]};return l.patch(t,n),l.applyData(t,n)}function q7(l,t){const e={type:"text",value:t.value.replace(/\r?\n|\r/g," ")};l.patch(t,e);const n={type:"element",tagName:"code",properties:{},children:[e]};return l.patch(t,n),l.applyData(t,n)}function $7(l,t){const e=String(t.identifier).toUpperCase(),n=l.definitionById.get(e);if(!n)return Jf(l,t);const i={href:rp(n.url||"")};n.title!==null&&n.title!==void 0&&(i.title=n.title);const s={type:"element",tagName:"a",properties:i,children:l.all(t)};return l.patch(t,s),l.applyData(t,s)}function tK(l,t){const e={href:rp(t.url)};t.title!==null&&t.title!==void 0&&(e.title=t.title);const n={type:"element",tagName:"a",properties:e,children:l.all(t)};return l.patch(t,n),l.applyData(t,n)}function eK(l,t,e){const n=l.all(t),i=e?lK(e):vf(t),s={},a=[];if(typeof t.checked=="boolean"){const h=n[0];let b;h&&h.type==="element"&&h.tagName==="p"?b=h:(b={type:"element",tagName:"p",properties:{},children:[]},n.unshift(b)),b.children.length>0&&b.children.unshift({type:"text",value:" "}),b.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:t.checked,disabled:!0},children:[]}),s.className=["task-list-item"]}let c=-1;for(;++c<n.length;){const h=n[c];(i||c!==0||h.type!=="element"||h.tagName!=="p")&&a.push({type:"text",value:`
|
||
`}),h.type==="element"&&h.tagName==="p"&&!i?a.push(...h.children):a.push(h)}const o=n[n.length-1];o&&(i||o.type!=="element"||o.tagName!=="p")&&a.push({type:"text",value:`
|
||
`});const d={type:"element",tagName:"li",properties:s,children:a};return l.patch(t,d),l.applyData(t,d)}function lK(l){let t=!1;if(l.type==="list"){t=l.spread||!1;const e=l.children;let n=-1;for(;!t&&++n<e.length;)t=vf(e[n])}return t}function vf(l){const t=l.spread;return t??l.children.length>1}function nK(l,t){const e={},n=l.all(t);let i=-1;for(typeof t.start=="number"&&t.start!==1&&(e.start=t.start);++i<n.length;){const a=n[i];if(a.type==="element"&&a.tagName==="li"&&a.properties&&Array.isArray(a.properties.className)&&a.properties.className.includes("task-list-item")){e.className=["contains-task-list"];break}}const s={type:"element",tagName:t.ordered?"ol":"ul",properties:e,children:l.wrap(n,!0)};return l.patch(t,s),l.applyData(t,s)}function iK(l,t){const e={type:"element",tagName:"p",properties:{},children:l.all(t)};return l.patch(t,e),l.applyData(t,e)}function sK(l,t){const e={type:"root",children:l.wrap(l.all(t))};return l.patch(t,e),l.applyData(t,e)}function aK(l,t){const e={type:"element",tagName:"strong",properties:{},children:l.all(t)};return l.patch(t,e),l.applyData(t,e)}function cK(l,t){const e=l.all(t),n=e.shift(),i=[];if(n){const a={type:"element",tagName:"thead",properties:{},children:l.wrap([n],!0)};l.patch(t.children[0],a),i.push(a)}if(e.length>0){const a={type:"element",tagName:"tbody",properties:{},children:l.wrap(e,!0)},c=dV(t.children[1]),o=Gf(t.children[t.children.length-1]);c&&o&&(a.position={start:c,end:o}),i.push(a)}const s={type:"element",tagName:"table",properties:{},children:l.wrap(i,!0)};return l.patch(t,s),l.applyData(t,s)}function rK(l,t,e){const n=e?e.children:void 0,s=(n?n.indexOf(t):1)===0?"th":"td",a=e&&e.type==="table"?e.align:void 0,c=a?a.length:t.children.length;let o=-1;const d=[];for(;++o<c;){const b=t.children[o],p={},y=a?a[o]:void 0;y&&(p.align=y);let M={type:"element",tagName:s,properties:p,children:[]};b&&(M.children=l.all(b),l.patch(b,M),M=l.applyData(b,M)),d.push(M)}const h={type:"element",tagName:"tr",properties:{},children:l.wrap(d,!0)};return l.patch(t,h),l.applyData(t,h)}function oK(l,t){const e={type:"element",tagName:"td",properties:{},children:l.all(t)};return l.patch(t,e),l.applyData(t,e)}const mg=9,hg=32;function dK(l){const t=String(l),e=/\r?\n|\r/g;let n=e.exec(t),i=0;const s=[];for(;n;)s.push(bg(t.slice(i,n.index),i>0,!0),n[0]),i=n.index+n[0].length,n=e.exec(t);return s.push(bg(t.slice(i),i>0,!1)),s.join("")}function bg(l,t,e){let n=0,i=l.length;if(t){let s=l.codePointAt(n);for(;s===mg||s===hg;)n++,s=l.codePointAt(n)}if(e){let s=l.codePointAt(i-1);for(;s===mg||s===hg;)i--,s=l.codePointAt(i-1)}return i>n?l.slice(n,i):""}function uK(l,t){const e={type:"text",value:dK(String(t.value))};return l.patch(t,e),l.applyData(t,e)}function mK(l,t){const e={type:"element",tagName:"hr",properties:{},children:[]};return l.patch(t,e),l.applyData(t,e)}const hK={blockquote:v7,break:U7,code:E7,delete:K7,emphasis:P7,footnoteReference:H7,heading:Q7,html:B7,imageReference:A7,image:_7,inlineCode:q7,linkReference:$7,link:tK,listItem:eK,list:nK,paragraph:iK,root:sK,strong:aK,table:cK,tableCell:oK,tableRow:rK,text:uK,thematicBreak:mK,toml:t1,yaml:t1,definition:t1,footnoteDefinition:t1};function t1(){}const Uf=-1,zG=0,L2=1,VM=2,yV=3,WV=4,NV=5,MV=6,Ef=7,Kf=8,Zg=typeof self=="object"?self:globalThis,bK=(l,t)=>{const e=(i,s)=>(l.set(s,i),i),n=i=>{if(l.has(i))return l.get(i);const[s,a]=t[i];switch(s){case zG:case Uf:return e(a,i);case L2:{const c=e([],i);for(const o of a)c.push(n(o));return c}case VM:{const c=e({},i);for(const[o,d]of a)c[n(o)]=n(d);return c}case yV:return e(new Date(a),i);case WV:{const{source:c,flags:o}=a;return e(new RegExp(c,o),i)}case NV:{const c=e(new Map,i);for(const[o,d]of a)c.set(n(o),n(d));return c}case MV:{const c=e(new Set,i);for(const o of a)c.add(n(o));return c}case Ef:{const{name:c,message:o}=a;return e(new Zg[c](o),i)}case Kf:return e(BigInt(a),i);case"BigInt":return e(Object(BigInt(a)),i);case"ArrayBuffer":return e(new Uint8Array(a).buffer,a);case"DataView":{const{buffer:c}=new Uint8Array(a);return e(new DataView(c),a)}}return e(new Zg[s](a),i)};return n},pg=l=>bK(new Map,l)(0),db="",{toString:ZK}={},{keys:pK}=Object,Up=l=>{const t=typeof l;if(t!=="object"||!l)return[zG,t];const e=ZK.call(l).slice(8,-1);switch(e){case"Array":return[L2,db];case"Object":return[VM,db];case"Date":return[yV,db];case"RegExp":return[WV,db];case"Map":return[NV,db];case"Set":return[MV,db];case"DataView":return[L2,e]}return e.includes("Array")?[L2,e]:e.includes("Error")?[Ef,e]:[VM,e]},e1=([l,t])=>l===zG&&(t==="function"||t==="symbol"),yK=(l,t,e,n)=>{const i=(a,c)=>{const o=n.push(a)-1;return e.set(c,o),o},s=a=>{if(e.has(a))return e.get(a);let[c,o]=Up(a);switch(c){case zG:{let h=a;switch(o){case"bigint":c=Kf,h=a.toString();break;case"function":case"symbol":if(l)throw new TypeError("unable to serialize "+o);h=null;break;case"undefined":return i([Uf],a)}return i([c,h],a)}case L2:{if(o){let p=a;return o==="DataView"?p=new Uint8Array(a.buffer):o==="ArrayBuffer"&&(p=new Uint8Array(a)),i([o,[...p]],a)}const h=[],b=i([c,h],a);for(const p of a)h.push(s(p));return b}case VM:{if(o)switch(o){case"BigInt":return i([o,a.toString()],a);case"Boolean":case"Number":case"String":return i([o,a.valueOf()],a)}if(t&&"toJSON"in a)return s(a.toJSON());const h=[],b=i([c,h],a);for(const p of pK(a))(l||!e1(Up(a[p])))&&h.push([s(p),s(a[p])]);return b}case yV:return i([c,a.toISOString()],a);case WV:{const{source:h,flags:b}=a;return i([c,{source:h,flags:b}],a)}case NV:{const h=[],b=i([c,h],a);for(const[p,y]of a)(l||!(e1(Up(p))||e1(Up(y))))&&h.push([s(p),s(y)]);return b}case MV:{const h=[],b=i([c,h],a);for(const p of a)(l||!e1(Up(p)))&&h.push(s(p));return b}}const{message:d}=a;return i([c,{name:o,message:d}],a)};return s},yg=(l,{json:t,lossy:e}={})=>{const n=[];return yK(!(t||e),!!t,new Map,n)(l),n},IM=typeof structuredClone=="function"?(l,t)=>t&&("json"in t||"lossy"in t)?pg(yg(l,t)):structuredClone(l):(l,t)=>pg(yg(l,t));function WK(l,t){const e=[{type:"text",value:"↩"}];return t>1&&e.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(t)}]}),e}function NK(l,t){return"Back to reference "+(l+1)+(t>1?"-"+t:"")}function MK(l){const t=typeof l.options.clobberPrefix=="string"?l.options.clobberPrefix:"user-content-",e=l.options.footnoteBackContent||WK,n=l.options.footnoteBackLabel||NK,i=l.options.footnoteLabel||"Footnotes",s=l.options.footnoteLabelTagName||"h2",a=l.options.footnoteLabelProperties||{className:["sr-only"]},c=[];let o=-1;for(;++o<l.footnoteOrder.length;){const d=l.footnoteById.get(l.footnoteOrder[o]);if(!d)continue;const h=l.all(d),b=String(d.identifier).toUpperCase(),p=rp(b.toLowerCase());let y=0;const M=[],T=l.footnoteCounts.get(b);for(;T!==void 0&&++y<=T;){M.length>0&&M.push({type:"text",value:" "});let x=typeof e=="string"?e:e(o,y);typeof x=="string"&&(x={type:"text",value:x}),M.push({type:"element",tagName:"a",properties:{href:"#"+t+"fnref-"+p+(y>1?"-"+y:""),dataFootnoteBackref:"",ariaLabel:typeof n=="string"?n:n(o,y),className:["data-footnote-backref"]},children:Array.isArray(x)?x:[x]})}const Y=h[h.length-1];if(Y&&Y.type==="element"&&Y.tagName==="p"){const x=Y.children[Y.children.length-1];x&&x.type==="text"?x.value+=" ":Y.children.push({type:"text",value:" "}),Y.children.push(...M)}else h.push(...M);const L={type:"element",tagName:"li",properties:{id:t+"fn-"+p},children:l.wrap(h,!0)};l.patch(d,L),c.push(L)}if(c.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:s,properties:{...IM(a),id:"footnote-label"},children:[{type:"text",value:i}]},{type:"text",value:`
|
||
`},{type:"element",tagName:"ol",properties:{},children:l.wrap(c,!0)},{type:"text",value:`
|
||
`}]}}const xW=function(l){if(l==null)return YK;if(typeof l=="function")return gG(l);if(typeof l=="object")return Array.isArray(l)?GK(l):TK(l);if(typeof l=="string")return XK(l);throw new Error("Expected function, string, or object as test")};function GK(l){const t=[];let e=-1;for(;++e<l.length;)t[e]=xW(l[e]);return gG(n);function n(...i){let s=-1;for(;++s<t.length;)if(t[s].apply(this,i))return!0;return!1}}function TK(l){const t=l;return gG(e);function e(n){const i=n;let s;for(s in l)if(i[s]!==t[s])return!1;return!0}}function XK(l){return gG(t);function t(e){return e&&e.type===l}}function gG(l){return t;function t(e,n,i){return!!(LK(e)&&l.call(this,e,typeof n=="number"?n:void 0,i||void 0))}}function YK(){return!0}function LK(l){return l!==null&&typeof l=="object"&&"type"in l}const Pf=[],VK=!0,iY=!1,Hf="skip";function GV(l,t,e,n){let i;typeof t=="function"&&typeof e!="function"?(n=e,e=t):i=t;const s=xW(i),a=n?-1:1;c(l,void 0,[])();function c(o,d,h){const b=o&&typeof o=="object"?o:{};if(typeof b.type=="string"){const y=typeof b.tagName=="string"?b.tagName:typeof b.name=="string"?b.name:void 0;Object.defineProperty(p,"name",{value:"node ("+(o.type+(y?"<"+y+">":""))+")"})}return p;function p(){let y=Pf,M,T,Y;if((!t||s(o,d,h[h.length-1]||void 0))&&(y=IK(e(o,h)),y[0]===iY))return y;if("children"in o&&o.children){const L=o;if(L.children&&y[0]!==Hf)for(T=(n?L.children.length:-1)+a,Y=h.concat(L);T>-1&&T<L.children.length;){const x=L.children[T];if(M=c(x,T,Y)(),M[0]===iY)return M;T=typeof M[1]=="number"?M[1]:T+a}}return y}}}function IK(l){return Array.isArray(l)?l:typeof l=="number"?[VK,l]:l==null?Pf:[l]}function fW(l,t,e,n){let i,s,a;typeof t=="function"&&typeof e!="function"?(s=void 0,a=t,i=e):(s=t,a=e,i=n),GV(l,s,c,i);function c(o,d){const h=d[d.length-1],b=h?h.children.indexOf(o):void 0;return a(o,b,h)}}const sY={}.hasOwnProperty,wK={};function zK(l,t){const e=t||wK,n=new Map,i=new Map,s=new Map,a={...hK,...e.handlers},c={all:d,applyData:xK,definitionById:n,footnoteById:i,footnoteCounts:s,footnoteOrder:[],handlers:a,one:o,options:e,patch:gK,wrap:SK};return fW(l,function(h){if(h.type==="definition"||h.type==="footnoteDefinition"){const b=h.type==="definition"?n:i,p=String(h.identifier).toUpperCase();b.has(p)||b.set(p,h)}}),c;function o(h,b){const p=h.type,y=c.handlers[p];if(sY.call(c.handlers,p)&&y)return y(c,h,b);if(c.options.passThrough&&c.options.passThrough.includes(p)){if("children"in h){const{children:T,...Y}=h,L=IM(Y);return L.children=c.all(h),L}return IM(h)}return(c.options.unknownHandler||fK)(c,h,b)}function d(h){const b=[];if("children"in h){const p=h.children;let y=-1;for(;++y<p.length;){const M=c.one(p[y],h);if(M){if(y&&p[y-1].type==="break"&&(!Array.isArray(M)&&M.type==="text"&&(M.value=Wg(M.value)),!Array.isArray(M)&&M.type==="element")){const T=M.children[0];T&&T.type==="text"&&(T.value=Wg(T.value))}Array.isArray(M)?b.push(...M):b.push(M)}}}return b}}function gK(l,t){l.position&&(t.position=yE(l))}function xK(l,t){let e=t;if(l&&l.data){const n=l.data.hName,i=l.data.hChildren,s=l.data.hProperties;if(typeof n=="string")if(e.type==="element")e.tagName=n;else{const a="children"in e?e.children:[e];e={type:"element",tagName:n,properties:{},children:a}}e.type==="element"&&s&&Object.assign(e.properties,IM(s)),"children"in e&&e.children&&i!==null&&i!==void 0&&(e.children=i)}return e}function fK(l,t){const e=t.data||{},n="value"in t&&!(sY.call(e,"hProperties")||sY.call(e,"hChildren"))?{type:"text",value:t.value}:{type:"element",tagName:"div",properties:{},children:l.all(t)};return l.patch(t,n),l.applyData(t,n)}function SK(l,t){const e=[];let n=-1;for(t&&e.push({type:"text",value:`
|
||
`});++n<l.length;)n&&e.push({type:"text",value:`
|
||
`}),e.push(l[n]);return t&&l.length>0&&e.push({type:"text",value:`
|
||
`}),e}function Wg(l){let t=0,e=l.charCodeAt(t);for(;e===9||e===32;)t++,e=l.charCodeAt(t);return l.slice(t)}function Ng(l,t){const e=zK(l,t),n=e.one(l,void 0),i=MK(e),s=Array.isArray(n)?{type:"root",children:n}:n||{type:"root",children:[]};return i&&s.children.push({type:"text",value:`
|
||
`},i),s}function RK(l,t){return l&&"run"in l?async function(e,n){const i=Ng(e,{file:n,...t});await l.run(i,n)}:function(e,n){return Ng(e,{file:n,...l||t})}}function Mg(l){if(l)throw l}var DT,Gg;function kK(){if(Gg)return DT;Gg=1;var l=Object.prototype.hasOwnProperty,t=Object.prototype.toString,e=Object.defineProperty,n=Object.getOwnPropertyDescriptor,i=function(d){return typeof Array.isArray=="function"?Array.isArray(d):t.call(d)==="[object Array]"},s=function(d){if(!d||t.call(d)!=="[object Object]")return!1;var h=l.call(d,"constructor"),b=d.constructor&&d.constructor.prototype&&l.call(d.constructor.prototype,"isPrototypeOf");if(d.constructor&&!h&&!b)return!1;var p;for(p in d);return typeof p>"u"||l.call(d,p)},a=function(d,h){e&&h.name==="__proto__"?e(d,h.name,{enumerable:!0,configurable:!0,value:h.newValue,writable:!0}):d[h.name]=h.newValue},c=function(d,h){if(h==="__proto__")if(l.call(d,h)){if(n)return n(d,h).value}else return;return d[h]};return DT=function o(){var d,h,b,p,y,M,T=arguments[0],Y=1,L=arguments.length,x=!1;for(typeof T=="boolean"&&(x=T,T=arguments[1]||{},Y=2),(T==null||typeof T!="object"&&typeof T!="function")&&(T={});Y<L;++Y)if(d=arguments[Y],d!=null)for(h in d)b=c(T,h),p=c(d,h),T!==p&&(x&&p&&(s(p)||(y=i(p)))?(y?(y=!1,M=b&&i(b)?b:[]):M=b&&s(b)?b:{},a(T,{name:h,newValue:o(x,M,p)})):typeof p<"u"&&a(T,{name:h,newValue:p}));return T},DT}var DK=kK();const OT=Gh(DK);function aY(l){if(typeof l!="object"||l===null)return!1;const t=Object.getPrototypeOf(l);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in l)&&!(Symbol.iterator in l)}function OK(){const l=[],t={run:e,use:n};return t;function e(...i){let s=-1;const a=i.pop();if(typeof a!="function")throw new TypeError("Expected function as last argument, not "+a);c(null,...i);function c(o,...d){const h=l[++s];let b=-1;if(o){a(o);return}for(;++b<i.length;)(d[b]===null||d[b]===void 0)&&(d[b]=i[b]);i=d,h?jK(h,c)(...d):a(null,...d)}}function n(i){if(typeof i!="function")throw new TypeError("Expected `middelware` to be a function, not "+i);return l.push(i),t}}function jK(l,t){let e;return n;function n(...a){const c=l.length>a.length;let o;c&&a.push(i);try{o=l.apply(this,a)}catch(d){const h=d;if(c&&e)throw h;return i(h)}c||(o&&o.then&&typeof o.then=="function"?o.then(s,i):o instanceof Error?i(o):s(o))}function i(a,...c){e||(e=!0,t(a,...c))}function s(a){i(null,a)}}const Vr={basename:CK,dirname:FK,extname:JK,join:vK,sep:"/"};function CK(l,t){if(t!==void 0&&typeof t!="string")throw new TypeError('"ext" argument must be a string');SW(l);let e=0,n=-1,i=l.length,s;if(t===void 0||t.length===0||t.length>l.length){for(;i--;)if(l.codePointAt(i)===47){if(s){e=i+1;break}}else n<0&&(s=!0,n=i+1);return n<0?"":l.slice(e,n)}if(t===l)return"";let a=-1,c=t.length-1;for(;i--;)if(l.codePointAt(i)===47){if(s){e=i+1;break}}else a<0&&(s=!0,a=i+1),c>-1&&(l.codePointAt(i)===t.codePointAt(c--)?c<0&&(n=i):(c=-1,n=a));return e===n?n=a:n<0&&(n=l.length),l.slice(e,n)}function FK(l){if(SW(l),l.length===0)return".";let t=-1,e=l.length,n;for(;--e;)if(l.codePointAt(e)===47){if(n){t=e;break}}else n||(n=!0);return t<0?l.codePointAt(0)===47?"/":".":t===1&&l.codePointAt(0)===47?"//":l.slice(0,t)}function JK(l){SW(l);let t=l.length,e=-1,n=0,i=-1,s=0,a;for(;t--;){const c=l.codePointAt(t);if(c===47){if(a){n=t+1;break}continue}e<0&&(a=!0,e=t+1),c===46?i<0?i=t:s!==1&&(s=1):i>-1&&(s=-1)}return i<0||e<0||s===0||s===1&&i===e-1&&i===n+1?"":l.slice(i,e)}function vK(...l){let t=-1,e;for(;++t<l.length;)SW(l[t]),l[t]&&(e=e===void 0?l[t]:e+"/"+l[t]);return e===void 0?".":UK(e)}function UK(l){SW(l);const t=l.codePointAt(0)===47;let e=EK(l,!t);return e.length===0&&!t&&(e="."),e.length>0&&l.codePointAt(l.length-1)===47&&(e+="/"),t?"/"+e:e}function EK(l,t){let e="",n=0,i=-1,s=0,a=-1,c,o;for(;++a<=l.length;){if(a<l.length)c=l.codePointAt(a);else{if(c===47)break;c=47}if(c===47){if(!(i===a-1||s===1))if(i!==a-1&&s===2){if(e.length<2||n!==2||e.codePointAt(e.length-1)!==46||e.codePointAt(e.length-2)!==46){if(e.length>2){if(o=e.lastIndexOf("/"),o!==e.length-1){o<0?(e="",n=0):(e=e.slice(0,o),n=e.length-1-e.lastIndexOf("/")),i=a,s=0;continue}}else if(e.length>0){e="",n=0,i=a,s=0;continue}}t&&(e=e.length>0?e+"/..":"..",n=2)}else e.length>0?e+="/"+l.slice(i+1,a):e=l.slice(i+1,a),n=a-i-1;i=a,s=0}else c===46&&s>-1?s++:s=-1}return e}function SW(l){if(typeof l!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(l))}const KK={cwd:PK};function PK(){return"/"}function cY(l){return!!(l!==null&&typeof l=="object"&&"href"in l&&l.href&&"protocol"in l&&l.protocol&&l.auth===void 0)}function HK(l){if(typeof l=="string")l=new URL(l);else if(!cY(l)){const t=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+l+"`");throw t.code="ERR_INVALID_ARG_TYPE",t}if(l.protocol!=="file:"){const t=new TypeError("The URL must be of scheme file");throw t.code="ERR_INVALID_URL_SCHEME",t}return QK(l)}function QK(l){if(l.hostname!==""){const n=new TypeError('File URL host must be "localhost" or empty on darwin');throw n.code="ERR_INVALID_FILE_URL_HOST",n}const t=l.pathname;let e=-1;for(;++e<t.length;)if(t.codePointAt(e)===37&&t.codePointAt(e+1)===50){const n=t.codePointAt(e+2);if(n===70||n===102){const i=new TypeError("File URL path must not include encoded / characters");throw i.code="ERR_INVALID_FILE_URL_PATH",i}}return decodeURIComponent(t)}const jT=["history","path","basename","stem","extname","dirname"];class Qf{constructor(t){let e;t?cY(t)?e={path:t}:typeof t=="string"||BK(t)?e={value:t}:e=t:e={},this.cwd="cwd"in e?"":KK.cwd(),this.data={},this.history=[],this.messages=[],this.value,this.map,this.result,this.stored;let n=-1;for(;++n<jT.length;){const s=jT[n];s in e&&e[s]!==void 0&&e[s]!==null&&(this[s]=s==="history"?[...e[s]]:e[s])}let i;for(i in e)jT.includes(i)||(this[i]=e[i])}get basename(){return typeof this.path=="string"?Vr.basename(this.path):void 0}set basename(t){FT(t,"basename"),CT(t,"basename"),this.path=Vr.join(this.dirname||"",t)}get dirname(){return typeof this.path=="string"?Vr.dirname(this.path):void 0}set dirname(t){Tg(this.basename,"dirname"),this.path=Vr.join(t||"",this.basename)}get extname(){return typeof this.path=="string"?Vr.extname(this.path):void 0}set extname(t){if(CT(t,"extname"),Tg(this.dirname,"extname"),t){if(t.codePointAt(0)!==46)throw new Error("`extname` must start with `.`");if(t.includes(".",1))throw new Error("`extname` cannot contain multiple dots")}this.path=Vr.join(this.dirname,this.stem+(t||""))}get path(){return this.history[this.history.length-1]}set path(t){cY(t)&&(t=HK(t)),FT(t,"path"),this.path!==t&&this.history.push(t)}get stem(){return typeof this.path=="string"?Vr.basename(this.path,this.extname):void 0}set stem(t){FT(t,"stem"),CT(t,"stem"),this.path=Vr.join(this.dirname||"",t+(this.extname||""))}fail(t,e,n){const i=this.message(t,e,n);throw i.fatal=!0,i}info(t,e,n){const i=this.message(t,e,n);return i.fatal=void 0,i}message(t,e,n){const i=new Ss(t,e,n);return this.path&&(i.name=this.path+":"+i.name,i.file=this.path),i.fatal=!1,this.messages.push(i),i}toString(t){return this.value===void 0?"":typeof this.value=="string"?this.value:new TextDecoder(t||void 0).decode(this.value)}}function CT(l,t){if(l&&l.includes(Vr.sep))throw new Error("`"+t+"` cannot be a path: did not expect `"+Vr.sep+"`")}function FT(l,t){if(!l)throw new Error("`"+t+"` cannot be empty")}function Tg(l,t){if(!l)throw new Error("Setting `"+t+"` requires `path` to be set too")}function BK(l){return!!(l&&typeof l=="object"&&"byteLength"in l&&"byteOffset"in l)}const AK=function(l){const n=this.constructor.prototype,i=n[l],s=function(){return i.apply(s,arguments)};return Object.setPrototypeOf(s,n),s},_K={}.hasOwnProperty;class TV extends AK{constructor(){super("copy"),this.Compiler=void 0,this.Parser=void 0,this.attachers=[],this.compiler=void 0,this.freezeIndex=-1,this.frozen=void 0,this.namespace={},this.parser=void 0,this.transformers=OK()}copy(){const t=new TV;let e=-1;for(;++e<this.attachers.length;){const n=this.attachers[e];t.use(...n)}return t.data(OT(!0,{},this.namespace)),t}data(t,e){return typeof t=="string"?arguments.length===2?(UT("data",this.frozen),this.namespace[t]=e,this):_K.call(this.namespace,t)&&this.namespace[t]||void 0:t?(UT("data",this.frozen),this.namespace=t,this):this.namespace}freeze(){if(this.frozen)return this;const t=this;for(;++this.freezeIndex<this.attachers.length;){const[e,...n]=this.attachers[this.freezeIndex];if(n[0]===!1)continue;n[0]===!0&&(n[0]=void 0);const i=e.call(t,...n);typeof i=="function"&&this.transformers.use(i)}return this.frozen=!0,this.freezeIndex=Number.POSITIVE_INFINITY,this}parse(t){this.freeze();const e=l1(t),n=this.parser||this.Parser;return JT("parse",n),n(String(e),e)}process(t,e){const n=this;return this.freeze(),JT("process",this.parser||this.Parser),vT("process",this.compiler||this.Compiler),e?i(void 0,e):new Promise(i);function i(s,a){const c=l1(t),o=n.parse(c);n.run(o,c,function(h,b,p){if(h||!b||!p)return d(h);const y=b,M=n.stringify(y,p);tP(M)?p.value=M:p.result=M,d(h,p)});function d(h,b){h||!b?a(h):s?s(b):e(void 0,b)}}}processSync(t){let e=!1,n;return this.freeze(),JT("processSync",this.parser||this.Parser),vT("processSync",this.compiler||this.Compiler),this.process(t,i),Yg("processSync","process",e),n;function i(s,a){e=!0,Mg(s),n=a}}run(t,e,n){Xg(t),this.freeze();const i=this.transformers;return!n&&typeof e=="function"&&(n=e,e=void 0),n?s(void 0,n):new Promise(s);function s(a,c){const o=l1(e);i.run(t,o,d);function d(h,b,p){const y=b||t;h?c(h):a?a(y):n(void 0,y,p)}}}runSync(t,e){let n=!1,i;return this.run(t,e,s),Yg("runSync","run",n),i;function s(a,c){Mg(a),i=c,n=!0}}stringify(t,e){this.freeze();const n=l1(e),i=this.compiler||this.Compiler;return vT("stringify",i),Xg(t),i(t,n)}use(t,...e){const n=this.attachers,i=this.namespace;if(UT("use",this.frozen),t!=null)if(typeof t=="function")o(t,e);else if(typeof t=="object")Array.isArray(t)?c(t):a(t);else throw new TypeError("Expected usable value, not `"+t+"`");return this;function s(d){if(typeof d=="function")o(d,[]);else if(typeof d=="object")if(Array.isArray(d)){const[h,...b]=d;o(h,b)}else a(d);else throw new TypeError("Expected usable value, not `"+d+"`")}function a(d){if(!("plugins"in d)&&!("settings"in d))throw new Error("Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither");c(d.plugins),d.settings&&(i.settings=OT(!0,i.settings,d.settings))}function c(d){let h=-1;if(d!=null)if(Array.isArray(d))for(;++h<d.length;){const b=d[h];s(b)}else throw new TypeError("Expected a list of plugins, not `"+d+"`")}function o(d,h){let b=-1,p=-1;for(;++b<n.length;)if(n[b][0]===d){p=b;break}if(p===-1)n.push([d,...h]);else if(h.length>0){let[y,...M]=h;const T=n[p][1];aY(T)&&aY(y)&&(y=OT(!0,T,y)),n[p]=[d,y,...M]}}}}const qK=new TV().freeze();function JT(l,t){if(typeof t!="function")throw new TypeError("Cannot `"+l+"` without `parser`")}function vT(l,t){if(typeof t!="function")throw new TypeError("Cannot `"+l+"` without `compiler`")}function UT(l,t){if(t)throw new Error("Cannot call `"+l+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function Xg(l){if(!aY(l)||typeof l.type!="string")throw new TypeError("Expected node, got `"+l+"`")}function Yg(l,t,e){if(!e)throw new Error("`"+l+"` finished async. Use `"+t+"` instead")}function l1(l){return $K(l)?l:new Qf(l)}function $K(l){return!!(l&&typeof l=="object"&&"message"in l&&"messages"in l)}function tP(l){return typeof l=="string"||eP(l)}function eP(l){return!!(l&&typeof l=="object"&&"byteLength"in l&&"byteOffset"in l)}const lP="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",Lg=[],Vg={allowDangerousHtml:!0},nP=/^(https?|ircs?|mailto|xmpp)$/i,iP=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function sP(l){const t=l.allowedElements,e=l.allowElement,n=l.children||"",i=l.className,s=l.components,a=l.disallowedElements,c=l.rehypePlugins||Lg,o=l.remarkPlugins||Lg,d=l.remarkRehypeOptions?{...l.remarkRehypeOptions,...Vg}:Vg,h=l.skipHtml,b=l.unwrapDisallowed,p=l.urlTransform||aP,y=qK().use(J7).use(o).use(RK,d).use(c),M=new Qf;typeof n=="string"&&(M.value=n);for(const x of iP)Object.hasOwn(l,x.from)&&(""+x.from+(x.to?"use `"+x.to+"` instead":"remove it")+lP+x.id,void 0);const T=y.parse(M);let Y=y.runSync(T,M);return i&&(Y={type:"element",tagName:"div",properties:{className:i},children:Y.type==="root"?Y.children:[Y]}),fW(Y,L),XE(Y,{Fragment:U.Fragment,components:s,ignoreInvalidStyle:!0,jsx:U.jsx,jsxs:U.jsxs,passKeys:!0,passNode:!0});function L(x,g,F){if(x.type==="raw"&&F&&typeof g=="number")return h?F.children.splice(g,1):F.children[g]={type:"text",value:x.value},g;if(x.type==="element"){let j;for(j in ST)if(Object.hasOwn(ST,j)&&Object.hasOwn(x.properties,j)){const D=x.properties[j],_=ST[j];(_===null||_.includes(x.tagName))&&(x.properties[j]=p(String(D||""),j,x))}}if(x.type==="element"){let j=t?!t.includes(x.tagName):a?a.includes(x.tagName):!1;if(!j&&e&&typeof g=="number"&&(j=!e(x,g,F)),j&&F&&typeof g=="number")return b&&x.children?F.children.splice(g,1,...x.children):F.children.splice(g,1),g}}}function aP(l){const t=l.indexOf(":"),e=l.indexOf("?"),n=l.indexOf("#"),i=l.indexOf("/");return t===-1||i!==-1&&t>i||e!==-1&&t>e||n!==-1&&t>n||nP.test(l.slice(0,t))?l:""}function Ig(l,t){const e=String(l);if(typeof t!="string")throw new TypeError("Expected character");let n=0,i=e.indexOf(t);for(;i!==-1;)n++,i=e.indexOf(t,i+t.length);return n}function cP(l){if(typeof l!="string")throw new TypeError("Expected a string");return l.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function Bf(l,t,e){const i=xW((e||{}).ignore||[]),s=rP(t);let a=-1;for(;++a<s.length;)GV(l,"text",c);function c(d,h){let b=-1,p;for(;++b<h.length;){const y=h[b],M=p?p.children:void 0;if(i(y,M?M.indexOf(y):void 0,p))return;p=y}if(p)return o(d,h)}function o(d,h){const b=h[h.length-1],p=s[a][0],y=s[a][1];let M=0;const Y=b.children.indexOf(d);let L=!1,x=[];p.lastIndex=0;let g=p.exec(d.value);for(;g;){const F=g.index,j={index:g.index,input:g.input,stack:[...h,d]};let D=y(...g,j);if(typeof D=="string"&&(D=D.length>0?{type:"text",value:D}:void 0),D===!1?p.lastIndex=F+1:(M!==F&&x.push({type:"text",value:d.value.slice(M,F)}),Array.isArray(D)?x.push(...D):D&&x.push(D),M=F+g[0].length,L=!0),!p.global)break;g=p.exec(d.value)}return L?(M<d.value.length&&x.push({type:"text",value:d.value.slice(M)}),b.children.splice(Y,1,...x)):x=[d],Y+x.length}}function rP(l){const t=[];if(!Array.isArray(l))throw new TypeError("Expected find and replace tuple or list of tuples");const e=!l[0]||Array.isArray(l[0])?l:[l];let n=-1;for(;++n<e.length;){const i=e[n];t.push([oP(i[0]),dP(i[1])])}return t}function oP(l){return typeof l=="string"?new RegExp(cP(l),"g"):l}function dP(l){return typeof l=="function"?l:function(){return l}}const ET="phrasing",KT=["autolink","link","image","label"];function uP(){return{transforms:[WP],enter:{literalAutolink:hP,literalAutolinkEmail:PT,literalAutolinkHttp:PT,literalAutolinkWww:PT},exit:{literalAutolink:yP,literalAutolinkEmail:pP,literalAutolinkHttp:bP,literalAutolinkWww:ZP}}}function mP(){return{unsafe:[{character:"@",before:"[+\\-.\\w]",after:"[\\-.\\w]",inConstruct:ET,notInConstruct:KT},{character:".",before:"[Ww]",after:"[\\-.\\w]",inConstruct:ET,notInConstruct:KT},{character:":",before:"[ps]",after:"\\/",inConstruct:ET,notInConstruct:KT}]}}function hP(l){this.enter({type:"link",title:null,url:"",children:[]},l)}function PT(l){this.config.enter.autolinkProtocol.call(this,l)}function bP(l){this.config.exit.autolinkProtocol.call(this,l)}function ZP(l){this.config.exit.data.call(this,l);const t=this.stack[this.stack.length-1];t.type,t.url="http://"+this.sliceSerialize(l)}function pP(l){this.config.exit.autolinkEmail.call(this,l)}function yP(l){this.exit(l)}function WP(l){Bf(l,[[/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi,NP],[new RegExp("(?<=^|\\s|\\p{P}|\\p{S})([-.\\w+]+)@([-\\w]+(?:\\.[-\\w]+)+)","gu"),MP]],{ignore:["link","linkReference"]})}function NP(l,t,e,n,i){let s="";if(!Af(i)||(/^w/i.test(t)&&(e=t+e,t="",s="http://"),!GP(e)))return!1;const a=TP(e+n);if(!a[0])return!1;const c={type:"link",title:null,url:s+t+a[0],children:[{type:"text",value:t+a[0]}]};return a[1]?[c,{type:"text",value:a[1]}]:c}function MP(l,t,e,n){return!Af(n,!0)||/[-\d_]$/.test(e)?!1:{type:"link",title:null,url:"mailto:"+t+"@"+e,children:[{type:"text",value:t+"@"+e}]}}function GP(l){const t=l.split(".");return!(t.length<2||t[t.length-1]&&(/_/.test(t[t.length-1])||!/[a-zA-Z\d]/.test(t[t.length-1]))||t[t.length-2]&&(/_/.test(t[t.length-2])||!/[a-zA-Z\d]/.test(t[t.length-2])))}function TP(l){const t=/[!"&'),.:;<>?\]}]+$/.exec(l);if(!t)return[l,void 0];l=l.slice(0,t.index);let e=t[0],n=e.indexOf(")");const i=Ig(l,"(");let s=Ig(l,")");for(;n!==-1&&i>s;)l+=e.slice(0,n+1),e=e.slice(n+1),n=e.indexOf(")"),s++;return[l,e]}function Af(l,t){const e=l.input.charCodeAt(l.index-1);return(l.index===0||Zh(e)||IG(e))&&(!t||e!==47)}_f.peek=SP;function XP(){return{enter:{gfmFootnoteDefinition:LP,gfmFootnoteDefinitionLabelString:VP,gfmFootnoteCall:zP,gfmFootnoteCallString:gP},exit:{gfmFootnoteDefinition:wP,gfmFootnoteDefinitionLabelString:IP,gfmFootnoteCall:fP,gfmFootnoteCallString:xP}}}function YP(){return{unsafe:[{character:"[",inConstruct:["phrasing","label","reference"]}],handlers:{footnoteDefinition:RP,footnoteReference:_f}}}function LP(l){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},l)}function VP(){this.buffer()}function IP(l){const t=this.resume(),e=this.stack[this.stack.length-1];e.type,e.label=t,e.identifier=ar(this.sliceSerialize(l)).toLowerCase()}function wP(l){this.exit(l)}function zP(l){this.enter({type:"footnoteReference",identifier:"",label:""},l)}function gP(){this.buffer()}function xP(l){const t=this.resume(),e=this.stack[this.stack.length-1];e.type,e.label=t,e.identifier=ar(this.sliceSerialize(l)).toLowerCase()}function fP(l){this.exit(l)}function _f(l,t,e,n){const i=e.createTracker(n);let s=i.move("[^");const a=e.enter("footnoteReference"),c=e.enter("reference");return s+=i.move(e.safe(e.associationId(l),{...i.current(),before:s,after:"]"})),c(),a(),s+=i.move("]"),s}function SP(){return"["}function RP(l,t,e,n){const i=e.createTracker(n);let s=i.move("[^");const a=e.enter("footnoteDefinition"),c=e.enter("label");return s+=i.move(e.safe(e.associationId(l),{...i.current(),before:s,after:"]"})),c(),s+=i.move("]:"+(l.children&&l.children.length>0?" ":"")),i.shift(4),s+=i.move(e.indentLines(e.containerFlow(l,i.current()),kP)),a(),s}function kP(l,t,e){return t===0?l:(e?"":" ")+l}const DP=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];qf.peek=JP;function OP(){return{canContainEols:["delete"],enter:{strikethrough:CP},exit:{strikethrough:FP}}}function jP(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:DP}],handlers:{delete:qf}}}function CP(l){this.enter({type:"delete",children:[]},l)}function FP(l){this.exit(l)}function qf(l,t,e,n){const i=e.createTracker(n),s=e.enter("strikethrough");let a=i.move("~~");return a+=e.containerPhrasing(l,{...i.current(),before:a,after:"~"}),a+=i.move("~~"),s(),a}function JP(){return"~"}function vP(l){return l.length}function UP(l,t){const e=t||{},n=(e.align||[]).concat(),i=e.stringLength||vP,s=[],a=[],c=[],o=[];let d=0,h=-1;for(;++h<l.length;){const T=[],Y=[];let L=-1;for(l[h].length>d&&(d=l[h].length);++L<l[h].length;){const x=EP(l[h][L]);if(e.alignDelimiters!==!1){const g=i(x);Y[L]=g,(o[L]===void 0||g>o[L])&&(o[L]=g)}T.push(x)}a[h]=T,c[h]=Y}let b=-1;if(typeof n=="object"&&"length"in n)for(;++b<d;)s[b]=wg(n[b]);else{const T=wg(n);for(;++b<d;)s[b]=T}b=-1;const p=[],y=[];for(;++b<d;){const T=s[b];let Y="",L="";T===99?(Y=":",L=":"):T===108?Y=":":T===114&&(L=":");let x=e.alignDelimiters===!1?1:Math.max(1,o[b]-Y.length-L.length);const g=Y+"-".repeat(x)+L;e.alignDelimiters!==!1&&(x=Y.length+x+L.length,x>o[b]&&(o[b]=x),y[b]=x),p[b]=g}a.splice(1,0,p),c.splice(1,0,y),h=-1;const M=[];for(;++h<a.length;){const T=a[h],Y=c[h];b=-1;const L=[];for(;++b<d;){const x=T[b]||"";let g="",F="";if(e.alignDelimiters!==!1){const j=o[b]-(Y[b]||0),D=s[b];D===114?g=" ".repeat(j):D===99?j%2?(g=" ".repeat(j/2+.5),F=" ".repeat(j/2-.5)):(g=" ".repeat(j/2),F=g):F=" ".repeat(j)}e.delimiterStart!==!1&&!b&&L.push("|"),e.padding!==!1&&!(e.alignDelimiters===!1&&x==="")&&(e.delimiterStart!==!1||b)&&L.push(" "),e.alignDelimiters!==!1&&L.push(g),L.push(x),e.alignDelimiters!==!1&&L.push(F),e.padding!==!1&&L.push(" "),(e.delimiterEnd!==!1||b!==d-1)&&L.push("|")}M.push(e.delimiterEnd===!1?L.join("").replace(/ +$/,""):L.join(""))}return M.join(`
|
||
`)}function EP(l){return l==null?"":String(l)}function wg(l){const t=typeof l=="string"?l.codePointAt(0):0;return t===67||t===99?99:t===76||t===108?108:t===82||t===114?114:0}function KP(l,t,e,n){const i=e.enter("blockquote"),s=e.createTracker(n);s.move("> "),s.shift(2);const a=e.indentLines(e.containerFlow(l,s.current()),PP);return i(),a}function PP(l,t,e){return">"+(e?"":" ")+l}function HP(l,t){return zg(l,t.inConstruct,!0)&&!zg(l,t.notInConstruct,!1)}function zg(l,t,e){if(typeof t=="string"&&(t=[t]),!t||t.length===0)return e;let n=-1;for(;++n<t.length;)if(l.includes(t[n]))return!0;return!1}function gg(l,t,e,n){let i=-1;for(;++i<e.unsafe.length;)if(e.unsafe[i].character===`
|
||
`&&HP(e.stack,e.unsafe[i]))return/[ \t]/.test(n.before)?"":" ";return`\\
|
||
`}function $f(l,t){const e=String(l);let n=e.indexOf(t),i=n,s=0,a=0;if(typeof t!="string")throw new TypeError("Expected substring");for(;n!==-1;)n===i?++s>a&&(a=s):s=1,i=n+t.length,n=e.indexOf(t,i);return a}function QP(l,t){return!!(t.options.fences===!1&&l.value&&!l.lang&&/[^ \r\n]/.test(l.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(l.value))}function BP(l){const t=l.options.fence||"`";if(t!=="`"&&t!=="~")throw new Error("Cannot serialize code with `"+t+"` for `options.fence`, expected `` ` `` or `~`");return t}function AP(l,t,e,n){const i=BP(e),s=l.value||"",a=i==="`"?"GraveAccent":"Tilde";if(QP(l,e)){const b=e.enter("codeIndented"),p=e.indentLines(s,_P);return b(),p}const c=e.createTracker(n),o=i.repeat(Math.max($f(s,i)+1,3)),d=e.enter("codeFenced");let h=c.move(o);if(l.lang){const b=e.enter(`codeFencedLang${a}`);h+=c.move(e.safe(l.lang,{before:h,after:" ",encode:["`"],...c.current()})),b()}if(l.lang&&l.meta){const b=e.enter(`codeFencedMeta${a}`);h+=c.move(" "),h+=c.move(e.safe(l.meta,{before:h,after:`
|
||
`,encode:["`"],...c.current()})),b()}return h+=c.move(`
|
||
`),s&&(h+=c.move(s+`
|
||
`)),h+=c.move(o),d(),h}function _P(l,t,e){return(e?"":" ")+l}function XV(l){const t=l.options.quote||'"';if(t!=='"'&&t!=="'")throw new Error("Cannot serialize title with `"+t+"` for `options.quote`, expected `\"`, or `'`");return t}function qP(l,t,e,n){const i=XV(e),s=i==='"'?"Quote":"Apostrophe",a=e.enter("definition");let c=e.enter("label");const o=e.createTracker(n);let d=o.move("[");return d+=o.move(e.safe(e.associationId(l),{before:d,after:"]",...o.current()})),d+=o.move("]: "),c(),!l.url||/[\0- \u007F]/.test(l.url)?(c=e.enter("destinationLiteral"),d+=o.move("<"),d+=o.move(e.safe(l.url,{before:d,after:">",...o.current()})),d+=o.move(">")):(c=e.enter("destinationRaw"),d+=o.move(e.safe(l.url,{before:d,after:l.title?" ":`
|
||
`,...o.current()}))),c(),l.title&&(c=e.enter(`title${s}`),d+=o.move(" "+i),d+=o.move(e.safe(l.title,{before:d,after:i,...o.current()})),d+=o.move(i),c()),a(),d}function $P(l){const t=l.options.emphasis||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize emphasis with `"+t+"` for `options.emphasis`, expected `*`, or `_`");return t}function S2(l){return"&#x"+l.toString(16).toUpperCase()+";"}function wM(l,t,e){const n=qZ(l),i=qZ(t);return n===void 0?i===void 0?e==="_"?{inside:!0,outside:!0}:{inside:!1,outside:!1}:i===1?{inside:!0,outside:!0}:{inside:!1,outside:!0}:n===1?i===void 0?{inside:!1,outside:!1}:i===1?{inside:!0,outside:!0}:{inside:!1,outside:!1}:i===void 0?{inside:!1,outside:!1}:i===1?{inside:!0,outside:!1}:{inside:!1,outside:!1}}tS.peek=tH;function tS(l,t,e,n){const i=$P(e),s=e.enter("emphasis"),a=e.createTracker(n),c=a.move(i);let o=a.move(e.containerPhrasing(l,{after:i,before:c,...a.current()}));const d=o.charCodeAt(0),h=wM(n.before.charCodeAt(n.before.length-1),d,i);h.inside&&(o=S2(d)+o.slice(1));const b=o.charCodeAt(o.length-1),p=wM(n.after.charCodeAt(0),b,i);p.inside&&(o=o.slice(0,-1)+S2(b));const y=a.move(i);return s(),e.attentionEncodeSurroundingInfo={after:p.outside,before:h.outside},c+o+y}function tH(l,t,e){return e.options.emphasis||"*"}function eH(l,t){let e=!1;return fW(l,function(n){if("value"in n&&/\r?\n|\r/.test(n.value)||n.type==="break")return e=!0,iY}),!!((!l.depth||l.depth<3)&&bV(l)&&(t.options.setext||e))}function lH(l,t,e,n){const i=Math.max(Math.min(6,l.depth||1),1),s=e.createTracker(n);if(eH(l,e)){const h=e.enter("headingSetext"),b=e.enter("phrasing"),p=e.containerPhrasing(l,{...s.current(),before:`
|
||
`,after:`
|
||
`});return b(),h(),p+`
|
||
`+(i===1?"=":"-").repeat(p.length-(Math.max(p.lastIndexOf("\r"),p.lastIndexOf(`
|
||
`))+1))}const a="#".repeat(i),c=e.enter("headingAtx"),o=e.enter("phrasing");s.move(a+" ");let d=e.containerPhrasing(l,{before:"# ",after:`
|
||
`,...s.current()});return/^[\t ]/.test(d)&&(d=S2(d.charCodeAt(0))+d.slice(1)),d=d?a+" "+d:a,e.options.closeAtx&&(d+=" "+a),o(),c(),d}eS.peek=nH;function eS(l){return l.value||""}function nH(){return"<"}lS.peek=iH;function lS(l,t,e,n){const i=XV(e),s=i==='"'?"Quote":"Apostrophe",a=e.enter("image");let c=e.enter("label");const o=e.createTracker(n);let d=o.move("![");return d+=o.move(e.safe(l.alt,{before:d,after:"]",...o.current()})),d+=o.move("]("),c(),!l.url&&l.title||/[\0- \u007F]/.test(l.url)?(c=e.enter("destinationLiteral"),d+=o.move("<"),d+=o.move(e.safe(l.url,{before:d,after:">",...o.current()})),d+=o.move(">")):(c=e.enter("destinationRaw"),d+=o.move(e.safe(l.url,{before:d,after:l.title?" ":")",...o.current()}))),c(),l.title&&(c=e.enter(`title${s}`),d+=o.move(" "+i),d+=o.move(e.safe(l.title,{before:d,after:i,...o.current()})),d+=o.move(i),c()),d+=o.move(")"),a(),d}function iH(){return"!"}nS.peek=sH;function nS(l,t,e,n){const i=l.referenceType,s=e.enter("imageReference");let a=e.enter("label");const c=e.createTracker(n);let o=c.move("![");const d=e.safe(l.alt,{before:o,after:"]",...c.current()});o+=c.move(d+"]["),a();const h=e.stack;e.stack=[],a=e.enter("reference");const b=e.safe(e.associationId(l),{before:o,after:"]",...c.current()});return a(),e.stack=h,s(),i==="full"||!d||d!==b?o+=c.move(b+"]"):i==="shortcut"?o=o.slice(0,-1):o+=c.move("]"),o}function sH(){return"!"}iS.peek=aH;function iS(l,t,e){let n=l.value||"",i="`",s=-1;for(;new RegExp("(^|[^`])"+i+"([^`]|$)").test(n);)i+="`";for(/[^ \r\n]/.test(n)&&(/^[ \r\n]/.test(n)&&/[ \r\n]$/.test(n)||/^`|`$/.test(n))&&(n=" "+n+" ");++s<e.unsafe.length;){const a=e.unsafe[s],c=e.compilePattern(a);let o;if(a.atBreak)for(;o=c.exec(n);){let d=o.index;n.charCodeAt(d)===10&&n.charCodeAt(d-1)===13&&d--,n=n.slice(0,d)+" "+n.slice(o.index+1)}}return i+n+i}function aH(){return"`"}function sS(l,t){const e=bV(l);return!!(!t.options.resourceLink&&l.url&&!l.title&&l.children&&l.children.length===1&&l.children[0].type==="text"&&(e===l.url||"mailto:"+e===l.url)&&/^[a-z][a-z+.-]+:/i.test(l.url)&&!/[\0- <>\u007F]/.test(l.url))}aS.peek=cH;function aS(l,t,e,n){const i=XV(e),s=i==='"'?"Quote":"Apostrophe",a=e.createTracker(n);let c,o;if(sS(l,e)){const h=e.stack;e.stack=[],c=e.enter("autolink");let b=a.move("<");return b+=a.move(e.containerPhrasing(l,{before:b,after:">",...a.current()})),b+=a.move(">"),c(),e.stack=h,b}c=e.enter("link"),o=e.enter("label");let d=a.move("[");return d+=a.move(e.containerPhrasing(l,{before:d,after:"](",...a.current()})),d+=a.move("]("),o(),!l.url&&l.title||/[\0- \u007F]/.test(l.url)?(o=e.enter("destinationLiteral"),d+=a.move("<"),d+=a.move(e.safe(l.url,{before:d,after:">",...a.current()})),d+=a.move(">")):(o=e.enter("destinationRaw"),d+=a.move(e.safe(l.url,{before:d,after:l.title?" ":")",...a.current()}))),o(),l.title&&(o=e.enter(`title${s}`),d+=a.move(" "+i),d+=a.move(e.safe(l.title,{before:d,after:i,...a.current()})),d+=a.move(i),o()),d+=a.move(")"),c(),d}function cH(l,t,e){return sS(l,e)?"<":"["}cS.peek=rH;function cS(l,t,e,n){const i=l.referenceType,s=e.enter("linkReference");let a=e.enter("label");const c=e.createTracker(n);let o=c.move("[");const d=e.containerPhrasing(l,{before:o,after:"]",...c.current()});o+=c.move(d+"]["),a();const h=e.stack;e.stack=[],a=e.enter("reference");const b=e.safe(e.associationId(l),{before:o,after:"]",...c.current()});return a(),e.stack=h,s(),i==="full"||!d||d!==b?o+=c.move(b+"]"):i==="shortcut"?o=o.slice(0,-1):o+=c.move("]"),o}function rH(){return"["}function YV(l){const t=l.options.bullet||"*";if(t!=="*"&&t!=="+"&&t!=="-")throw new Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}function oH(l){const t=YV(l),e=l.options.bulletOther;if(!e)return t==="*"?"-":"*";if(e!=="*"&&e!=="+"&&e!=="-")throw new Error("Cannot serialize items with `"+e+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(e===t)throw new Error("Expected `bullet` (`"+t+"`) and `bulletOther` (`"+e+"`) to be different");return e}function dH(l){const t=l.options.bulletOrdered||".";if(t!=="."&&t!==")")throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOrdered`, expected `.` or `)`");return t}function rS(l){const t=l.options.rule||"*";if(t!=="*"&&t!=="-"&&t!=="_")throw new Error("Cannot serialize rules with `"+t+"` for `options.rule`, expected `*`, `-`, or `_`");return t}function uH(l,t,e,n){const i=e.enter("list"),s=e.bulletCurrent;let a=l.ordered?dH(e):YV(e);const c=l.ordered?a==="."?")":".":oH(e);let o=t&&e.bulletLastUsed?a===e.bulletLastUsed:!1;if(!l.ordered){const h=l.children?l.children[0]:void 0;if((a==="*"||a==="-")&&h&&(!h.children||!h.children[0])&&e.stack[e.stack.length-1]==="list"&&e.stack[e.stack.length-2]==="listItem"&&e.stack[e.stack.length-3]==="list"&&e.stack[e.stack.length-4]==="listItem"&&e.indexStack[e.indexStack.length-1]===0&&e.indexStack[e.indexStack.length-2]===0&&e.indexStack[e.indexStack.length-3]===0&&(o=!0),rS(e)===a&&h){let b=-1;for(;++b<l.children.length;){const p=l.children[b];if(p&&p.type==="listItem"&&p.children&&p.children[0]&&p.children[0].type==="thematicBreak"){o=!0;break}}}}o&&(a=c),e.bulletCurrent=a;const d=e.containerFlow(l,n);return e.bulletLastUsed=a,e.bulletCurrent=s,i(),d}function mH(l){const t=l.options.listItemIndent||"one";if(t!=="tab"&&t!=="one"&&t!=="mixed")throw new Error("Cannot serialize items with `"+t+"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`");return t}function hH(l,t,e,n){const i=mH(e);let s=e.bulletCurrent||YV(e);t&&t.type==="list"&&t.ordered&&(s=(typeof t.start=="number"&&t.start>-1?t.start:1)+(e.options.incrementListMarker===!1?0:t.children.indexOf(l))+s);let a=s.length+1;(i==="tab"||i==="mixed"&&(t&&t.type==="list"&&t.spread||l.spread))&&(a=Math.ceil(a/4)*4);const c=e.createTracker(n);c.move(s+" ".repeat(a-s.length)),c.shift(a);const o=e.enter("listItem"),d=e.indentLines(e.containerFlow(l,c.current()),h);return o(),d;function h(b,p,y){return p?(y?"":" ".repeat(a))+b:(y?s:s+" ".repeat(a-s.length))+b}}function bH(l,t,e,n){const i=e.enter("paragraph"),s=e.enter("phrasing"),a=e.containerPhrasing(l,n);return s(),i(),a}const ZH=xW(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function pH(l,t,e,n){return(l.children.some(function(a){return ZH(a)})?e.containerPhrasing:e.containerFlow).call(e,l,n)}function yH(l){const t=l.options.strong||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}oS.peek=WH;function oS(l,t,e,n){const i=yH(e),s=e.enter("strong"),a=e.createTracker(n),c=a.move(i+i);let o=a.move(e.containerPhrasing(l,{after:i,before:c,...a.current()}));const d=o.charCodeAt(0),h=wM(n.before.charCodeAt(n.before.length-1),d,i);h.inside&&(o=S2(d)+o.slice(1));const b=o.charCodeAt(o.length-1),p=wM(n.after.charCodeAt(0),b,i);p.inside&&(o=o.slice(0,-1)+S2(b));const y=a.move(i+i);return s(),e.attentionEncodeSurroundingInfo={after:p.outside,before:h.outside},c+o+y}function WH(l,t,e){return e.options.strong||"*"}function NH(l,t,e,n){return e.safe(l.value,n)}function MH(l){const t=l.options.ruleRepetition||3;if(t<3)throw new Error("Cannot serialize rules with repetition `"+t+"` for `options.ruleRepetition`, expected `3` or more");return t}function GH(l,t,e){const n=(rS(e)+(e.options.ruleSpaces?" ":"")).repeat(MH(e));return e.options.ruleSpaces?n.slice(0,-1):n}const dS={blockquote:KP,break:gg,code:AP,definition:qP,emphasis:tS,hardBreak:gg,heading:lH,html:eS,image:lS,imageReference:nS,inlineCode:iS,link:aS,linkReference:cS,list:uH,listItem:hH,paragraph:bH,root:pH,strong:oS,text:NH,thematicBreak:GH};function TH(){return{enter:{table:XH,tableData:xg,tableHeader:xg,tableRow:LH},exit:{codeText:VH,table:YH,tableData:HT,tableHeader:HT,tableRow:HT}}}function XH(l){const t=l._align;this.enter({type:"table",align:t.map(function(e){return e==="none"?null:e}),children:[]},l),this.data.inTable=!0}function YH(l){this.exit(l),this.data.inTable=void 0}function LH(l){this.enter({type:"tableRow",children:[]},l)}function HT(l){this.exit(l)}function xg(l){this.enter({type:"tableCell",children:[]},l)}function VH(l){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,IH));const e=this.stack[this.stack.length-1];e.type,e.value=t,this.exit(l)}function IH(l,t){return t==="|"?t:l}function wH(l){const t=l||{},e=t.tableCellPadding,n=t.tablePipeAlign,i=t.stringLength,s=e?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:`
|
||
`,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:p,table:a,tableCell:o,tableRow:c}};function a(y,M,T,Y){return d(h(y,T,Y),y.align)}function c(y,M,T,Y){const L=b(y,T,Y),x=d([L]);return x.slice(0,x.indexOf(`
|
||
`))}function o(y,M,T,Y){const L=T.enter("tableCell"),x=T.enter("phrasing"),g=T.containerPhrasing(y,{...Y,before:s,after:s});return x(),L(),g}function d(y,M){return UP(y,{align:M,alignDelimiters:n,padding:e,stringLength:i})}function h(y,M,T){const Y=y.children;let L=-1;const x=[],g=M.enter("table");for(;++L<Y.length;)x[L]=b(Y[L],M,T);return g(),x}function b(y,M,T){const Y=y.children;let L=-1;const x=[],g=M.enter("tableRow");for(;++L<Y.length;)x[L]=o(Y[L],y,M,T);return g(),x}function p(y,M,T){let Y=dS.inlineCode(y,M,T);return T.stack.includes("tableCell")&&(Y=Y.replace(/\|/g,"\\$&")),Y}}function zH(){return{exit:{taskListCheckValueChecked:fg,taskListCheckValueUnchecked:fg,paragraph:xH}}}function gH(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:fH}}}function fg(l){const t=this.stack[this.stack.length-2];t.type,t.checked=l.type==="taskListCheckValueChecked"}function xH(l){const t=this.stack[this.stack.length-2];if(t&&t.type==="listItem"&&typeof t.checked=="boolean"){const e=this.stack[this.stack.length-1];e.type;const n=e.children[0];if(n&&n.type==="text"){const i=t.children;let s=-1,a;for(;++s<i.length;){const c=i[s];if(c.type==="paragraph"){a=c;break}}a===e&&(n.value=n.value.slice(1),n.value.length===0?e.children.shift():e.position&&n.position&&typeof n.position.start.offset=="number"&&(n.position.start.column++,n.position.start.offset++,e.position.start=Object.assign({},n.position.start)))}}this.exit(l)}function fH(l,t,e,n){const i=l.children[0],s=typeof l.checked=="boolean"&&i&&i.type==="paragraph",a="["+(l.checked?"x":" ")+"] ",c=e.createTracker(n);s&&c.move(a);let o=dS.listItem(l,t,e,{...n,...c.current()});return s&&(o=o.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,d)),o;function d(h){return h+a}}function SH(){return[uP(),XP(),OP(),TH(),zH()]}function RH(l){return{extensions:[mP(),YP(),jP(),wH(l),gH()]}}const kH={tokenize:JH,partial:!0},uS={tokenize:vH,partial:!0},mS={tokenize:UH,partial:!0},hS={tokenize:EH,partial:!0},DH={tokenize:KH,partial:!0},bS={name:"wwwAutolink",tokenize:CH,previous:pS},ZS={name:"protocolAutolink",tokenize:FH,previous:yS},gd={name:"emailAutolink",tokenize:jH,previous:WS},lo={};function OH(){return{text:lo}}let B0=48;for(;B0<123;)lo[B0]=gd,B0++,B0===58?B0=65:B0===91&&(B0=97);lo[43]=gd;lo[45]=gd;lo[46]=gd;lo[95]=gd;lo[72]=[gd,ZS];lo[104]=[gd,ZS];lo[87]=[gd,bS];lo[119]=[gd,bS];function jH(l,t,e){const n=this;let i,s;return a;function a(b){return!rY(b)||!WS.call(n,n.previous)||LV(n.events)?e(b):(l.enter("literalAutolink"),l.enter("literalAutolinkEmail"),c(b))}function c(b){return rY(b)?(l.consume(b),c):b===64?(l.consume(b),o):e(b)}function o(b){return b===46?l.check(DH,h,d)(b):b===45||b===95||fs(b)?(s=!0,l.consume(b),o):h(b)}function d(b){return l.consume(b),i=!0,o}function h(b){return s&&i&&Qs(n.previous)?(l.exit("literalAutolinkEmail"),l.exit("literalAutolink"),t(b)):e(b)}}function CH(l,t,e){const n=this;return i;function i(a){return a!==87&&a!==119||!pS.call(n,n.previous)||LV(n.events)?e(a):(l.enter("literalAutolink"),l.enter("literalAutolinkWww"),l.check(kH,l.attempt(uS,l.attempt(mS,s),e),e)(a))}function s(a){return l.exit("literalAutolinkWww"),l.exit("literalAutolink"),t(a)}}function FH(l,t,e){const n=this;let i="",s=!1;return a;function a(b){return(b===72||b===104)&&yS.call(n,n.previous)&&!LV(n.events)?(l.enter("literalAutolink"),l.enter("literalAutolinkHttp"),i+=String.fromCodePoint(b),l.consume(b),c):e(b)}function c(b){if(Qs(b)&&i.length<5)return i+=String.fromCodePoint(b),l.consume(b),c;if(b===58){const p=i.toLowerCase();if(p==="http"||p==="https")return l.consume(b),o}return e(b)}function o(b){return b===47?(l.consume(b),s?d:(s=!0,o)):e(b)}function d(b){return b===null||LM(b)||In(b)||Zh(b)||IG(b)?e(b):l.attempt(uS,l.attempt(mS,h),e)(b)}function h(b){return l.exit("literalAutolinkHttp"),l.exit("literalAutolink"),t(b)}}function JH(l,t,e){let n=0;return i;function i(a){return(a===87||a===119)&&n<3?(n++,l.consume(a),i):a===46&&n===3?(l.consume(a),s):e(a)}function s(a){return a===null?e(a):t(a)}}function vH(l,t,e){let n,i,s;return a;function a(d){return d===46||d===95?l.check(hS,o,c)(d):d===null||In(d)||Zh(d)||d!==45&&IG(d)?o(d):(s=!0,l.consume(d),a)}function c(d){return d===95?n=!0:(i=n,n=void 0),l.consume(d),a}function o(d){return i||n||!s?e(d):t(d)}}function UH(l,t){let e=0,n=0;return i;function i(a){return a===40?(e++,l.consume(a),i):a===41&&n<e?s(a):a===33||a===34||a===38||a===39||a===41||a===42||a===44||a===46||a===58||a===59||a===60||a===63||a===93||a===95||a===126?l.check(hS,t,s)(a):a===null||In(a)||Zh(a)?t(a):(l.consume(a),i)}function s(a){return a===41&&n++,l.consume(a),i}}function EH(l,t,e){return n;function n(c){return c===33||c===34||c===39||c===41||c===42||c===44||c===46||c===58||c===59||c===63||c===95||c===126?(l.consume(c),n):c===38?(l.consume(c),s):c===93?(l.consume(c),i):c===60||c===null||In(c)||Zh(c)?t(c):e(c)}function i(c){return c===null||c===40||c===91||In(c)||Zh(c)?t(c):n(c)}function s(c){return Qs(c)?a(c):e(c)}function a(c){return c===59?(l.consume(c),n):Qs(c)?(l.consume(c),a):e(c)}}function KH(l,t,e){return n;function n(s){return l.consume(s),i}function i(s){return fs(s)?e(s):t(s)}}function pS(l){return l===null||l===40||l===42||l===95||l===91||l===93||l===126||In(l)}function yS(l){return!Qs(l)}function WS(l){return!(l===47||rY(l))}function rY(l){return l===43||l===45||l===46||l===95||fs(l)}function LV(l){let t=l.length,e=!1;for(;t--;){const n=l[t][1];if((n.type==="labelLink"||n.type==="labelImage")&&!n._balanced){e=!0;break}if(n._gfmAutolinkLiteralWalkedInto){e=!1;break}}return l.length>0&&!e&&(l[l.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),e}const PH={tokenize:tQ,partial:!0};function HH(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:_H,continuation:{tokenize:qH},exit:$H}},text:{91:{name:"gfmFootnoteCall",tokenize:AH},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:QH,resolveTo:BH}}}}function QH(l,t,e){const n=this;let i=n.events.length;const s=n.parser.gfmFootnotes||(n.parser.gfmFootnotes=[]);let a;for(;i--;){const o=n.events[i][1];if(o.type==="labelImage"){a=o;break}if(o.type==="gfmFootnoteCall"||o.type==="labelLink"||o.type==="label"||o.type==="image"||o.type==="link")break}return c;function c(o){if(!a||!a._balanced)return e(o);const d=ar(n.sliceSerialize({start:a.end,end:n.now()}));return d.codePointAt(0)!==94||!s.includes(d.slice(1))?e(o):(l.enter("gfmFootnoteCallLabelMarker"),l.consume(o),l.exit("gfmFootnoteCallLabelMarker"),t(o))}}function BH(l,t){let e=l.length;for(;e--;)if(l[e][1].type==="labelImage"&&l[e][0]==="enter"){l[e][1];break}l[e+1][1].type="data",l[e+3][1].type="gfmFootnoteCallLabelMarker";const n={type:"gfmFootnoteCall",start:Object.assign({},l[e+3][1].start),end:Object.assign({},l[l.length-1][1].end)},i={type:"gfmFootnoteCallMarker",start:Object.assign({},l[e+3][1].end),end:Object.assign({},l[e+3][1].end)};i.end.column++,i.end.offset++,i.end._bufferIndex++;const s={type:"gfmFootnoteCallString",start:Object.assign({},i.end),end:Object.assign({},l[l.length-1][1].start)},a={type:"chunkString",contentType:"string",start:Object.assign({},s.start),end:Object.assign({},s.end)},c=[l[e+1],l[e+2],["enter",n,t],l[e+3],l[e+4],["enter",i,t],["exit",i,t],["enter",s,t],["enter",a,t],["exit",a,t],["exit",s,t],l[l.length-2],l[l.length-1],["exit",n,t]];return l.splice(e,l.length-e+1,...c),l}function AH(l,t,e){const n=this,i=n.parser.gfmFootnotes||(n.parser.gfmFootnotes=[]);let s=0,a;return c;function c(b){return l.enter("gfmFootnoteCall"),l.enter("gfmFootnoteCallLabelMarker"),l.consume(b),l.exit("gfmFootnoteCallLabelMarker"),o}function o(b){return b!==94?e(b):(l.enter("gfmFootnoteCallMarker"),l.consume(b),l.exit("gfmFootnoteCallMarker"),l.enter("gfmFootnoteCallString"),l.enter("chunkString").contentType="string",d)}function d(b){if(s>999||b===93&&!a||b===null||b===91||In(b))return e(b);if(b===93){l.exit("chunkString");const p=l.exit("gfmFootnoteCallString");return i.includes(ar(n.sliceSerialize(p)))?(l.enter("gfmFootnoteCallLabelMarker"),l.consume(b),l.exit("gfmFootnoteCallLabelMarker"),l.exit("gfmFootnoteCall"),t):e(b)}return In(b)||(a=!0),s++,l.consume(b),b===92?h:d}function h(b){return b===91||b===92||b===93?(l.consume(b),s++,d):d(b)}}function _H(l,t,e){const n=this,i=n.parser.gfmFootnotes||(n.parser.gfmFootnotes=[]);let s,a=0,c;return o;function o(M){return l.enter("gfmFootnoteDefinition")._container=!0,l.enter("gfmFootnoteDefinitionLabel"),l.enter("gfmFootnoteDefinitionLabelMarker"),l.consume(M),l.exit("gfmFootnoteDefinitionLabelMarker"),d}function d(M){return M===94?(l.enter("gfmFootnoteDefinitionMarker"),l.consume(M),l.exit("gfmFootnoteDefinitionMarker"),l.enter("gfmFootnoteDefinitionLabelString"),l.enter("chunkString").contentType="string",h):e(M)}function h(M){if(a>999||M===93&&!c||M===null||M===91||In(M))return e(M);if(M===93){l.exit("chunkString");const T=l.exit("gfmFootnoteDefinitionLabelString");return s=ar(n.sliceSerialize(T)),l.enter("gfmFootnoteDefinitionLabelMarker"),l.consume(M),l.exit("gfmFootnoteDefinitionLabelMarker"),l.exit("gfmFootnoteDefinitionLabel"),p}return In(M)||(c=!0),a++,l.consume(M),M===92?b:h}function b(M){return M===91||M===92||M===93?(l.consume(M),a++,h):h(M)}function p(M){return M===58?(l.enter("definitionMarker"),l.consume(M),l.exit("definitionMarker"),i.includes(s)||i.push(s),Ul(l,y,"gfmFootnoteDefinitionWhitespace")):e(M)}function y(M){return t(M)}}function qH(l,t,e){return l.check(gW,t,l.attempt(PH,t,e))}function $H(l){l.exit("gfmFootnoteDefinition")}function tQ(l,t,e){const n=this;return Ul(l,i,"gfmFootnoteDefinitionIndent",5);function i(s){const a=n.events[n.events.length-1];return a&&a[1].type==="gfmFootnoteDefinitionIndent"&&a[2].sliceSerialize(a[1],!0).length===4?t(s):e(s)}}function eQ(l){let e=(l||{}).singleTilde;const n={name:"strikethrough",tokenize:s,resolveAll:i};return e==null&&(e=!0),{text:{126:n},insideSpan:{null:[n]},attentionMarkers:{null:[126]}};function i(a,c){let o=-1;for(;++o<a.length;)if(a[o][0]==="enter"&&a[o][1].type==="strikethroughSequenceTemporary"&&a[o][1]._close){let d=o;for(;d--;)if(a[d][0]==="exit"&&a[d][1].type==="strikethroughSequenceTemporary"&&a[d][1]._open&&a[o][1].end.offset-a[o][1].start.offset===a[d][1].end.offset-a[d][1].start.offset){a[o][1].type="strikethroughSequence",a[d][1].type="strikethroughSequence";const h={type:"strikethrough",start:Object.assign({},a[d][1].start),end:Object.assign({},a[o][1].end)},b={type:"strikethroughText",start:Object.assign({},a[d][1].end),end:Object.assign({},a[o][1].start)},p=[["enter",h,c],["enter",a[d][1],c],["exit",a[d][1],c],["enter",b,c]],y=c.parser.constructs.insideSpan.null;y&&qa(p,p.length,0,wG(y,a.slice(d+1,o),c)),qa(p,p.length,0,[["exit",b,c],["enter",a[o][1],c],["exit",a[o][1],c],["exit",h,c]]),qa(a,d-1,o-d+3,p),o=d+p.length-2;break}}for(o=-1;++o<a.length;)a[o][1].type==="strikethroughSequenceTemporary"&&(a[o][1].type="data");return a}function s(a,c,o){const d=this.previous,h=this.events;let b=0;return p;function p(M){return d===126&&h[h.length-1][1].type!=="characterEscape"?o(M):(a.enter("strikethroughSequenceTemporary"),y(M))}function y(M){const T=qZ(d);if(M===126)return b>1?o(M):(a.consume(M),b++,y);if(b<2&&!e)return o(M);const Y=a.exit("strikethroughSequenceTemporary"),L=qZ(M);return Y._open=!L||L===2&&!!T,Y._close=!T||T===2&&!!L,c(M)}}}class lQ{constructor(){this.map=[]}add(t,e,n){nQ(this,t,e,n)}consume(t){if(this.map.sort(function(s,a){return s[0]-a[0]}),this.map.length===0)return;let e=this.map.length;const n=[];for(;e>0;)e-=1,n.push(t.slice(this.map[e][0]+this.map[e][1]),this.map[e][2]),t.length=this.map[e][0];n.push(t.slice()),t.length=0;let i=n.pop();for(;i;){for(const s of i)t.push(s);i=n.pop()}this.map.length=0}}function nQ(l,t,e,n){let i=0;if(!(e===0&&n.length===0)){for(;i<l.map.length;){if(l.map[i][0]===t){l.map[i][1]+=e,l.map[i][2].push(...n);return}i+=1}l.map.push([t,e,n])}}function iQ(l,t){let e=!1;const n=[];for(;t<l.length;){const i=l[t];if(e){if(i[0]==="enter")i[1].type==="tableContent"&&n.push(l[t+1][1].type==="tableDelimiterMarker"?"left":"none");else if(i[1].type==="tableContent"){if(l[t-1][1].type==="tableDelimiterMarker"){const s=n.length-1;n[s]=n[s]==="left"?"center":"right"}}else if(i[1].type==="tableDelimiterRow")break}else i[0]==="enter"&&i[1].type==="tableDelimiterRow"&&(e=!0);t+=1}return n}function sQ(){return{flow:{null:{name:"table",tokenize:aQ,resolveAll:cQ}}}}function aQ(l,t,e){const n=this;let i=0,s=0,a;return c;function c(f){let lt=n.events.length-1;for(;lt>-1;){const dt=n.events[lt][1].type;if(dt==="lineEnding"||dt==="linePrefix")lt--;else break}const tt=lt>-1?n.events[lt][1].type:null,ht=tt==="tableHead"||tt==="tableRow"?D:o;return ht===D&&n.parser.lazy[n.now().line]?e(f):ht(f)}function o(f){return l.enter("tableHead"),l.enter("tableRow"),d(f)}function d(f){return f===124||(a=!0,s+=1),h(f)}function h(f){return f===null?e(f):il(f)?s>1?(s=0,n.interrupt=!0,l.exit("tableRow"),l.enter("lineEnding"),l.consume(f),l.exit("lineEnding"),y):e(f):Kl(f)?Ul(l,h,"whitespace")(f):(s+=1,a&&(a=!1,i+=1),f===124?(l.enter("tableCellDivider"),l.consume(f),l.exit("tableCellDivider"),a=!0,h):(l.enter("data"),b(f)))}function b(f){return f===null||f===124||In(f)?(l.exit("data"),h(f)):(l.consume(f),f===92?p:b)}function p(f){return f===92||f===124?(l.consume(f),b):b(f)}function y(f){return n.interrupt=!1,n.parser.lazy[n.now().line]?e(f):(l.enter("tableDelimiterRow"),a=!1,Kl(f)?Ul(l,M,"linePrefix",n.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(f):M(f))}function M(f){return f===45||f===58?Y(f):f===124?(a=!0,l.enter("tableCellDivider"),l.consume(f),l.exit("tableCellDivider"),T):j(f)}function T(f){return Kl(f)?Ul(l,Y,"whitespace")(f):Y(f)}function Y(f){return f===58?(s+=1,a=!0,l.enter("tableDelimiterMarker"),l.consume(f),l.exit("tableDelimiterMarker"),L):f===45?(s+=1,L(f)):f===null||il(f)?F(f):j(f)}function L(f){return f===45?(l.enter("tableDelimiterFiller"),x(f)):j(f)}function x(f){return f===45?(l.consume(f),x):f===58?(a=!0,l.exit("tableDelimiterFiller"),l.enter("tableDelimiterMarker"),l.consume(f),l.exit("tableDelimiterMarker"),g):(l.exit("tableDelimiterFiller"),g(f))}function g(f){return Kl(f)?Ul(l,F,"whitespace")(f):F(f)}function F(f){return f===124?M(f):f===null||il(f)?!a||i!==s?j(f):(l.exit("tableDelimiterRow"),l.exit("tableHead"),t(f)):j(f)}function j(f){return e(f)}function D(f){return l.enter("tableRow"),_(f)}function _(f){return f===124?(l.enter("tableCellDivider"),l.consume(f),l.exit("tableCellDivider"),_):f===null||il(f)?(l.exit("tableRow"),t(f)):Kl(f)?Ul(l,_,"whitespace")(f):(l.enter("data"),ut(f))}function ut(f){return f===null||f===124||In(f)?(l.exit("data"),_(f)):(l.consume(f),f===92?K:ut)}function K(f){return f===92||f===124?(l.consume(f),ut):ut(f)}}function cQ(l,t){let e=-1,n=!0,i=0,s=[0,0,0,0],a=[0,0,0,0],c=!1,o=0,d,h,b;const p=new lQ;for(;++e<l.length;){const y=l[e],M=y[1];y[0]==="enter"?M.type==="tableHead"?(c=!1,o!==0&&(Sg(p,t,o,d,h),h=void 0,o=0),d={type:"table",start:Object.assign({},M.start),end:Object.assign({},M.end)},p.add(e,0,[["enter",d,t]])):M.type==="tableRow"||M.type==="tableDelimiterRow"?(n=!0,b=void 0,s=[0,0,0,0],a=[0,e+1,0,0],c&&(c=!1,h={type:"tableBody",start:Object.assign({},M.start),end:Object.assign({},M.end)},p.add(e,0,[["enter",h,t]])),i=M.type==="tableDelimiterRow"?2:h?3:1):i&&(M.type==="data"||M.type==="tableDelimiterMarker"||M.type==="tableDelimiterFiller")?(n=!1,a[2]===0&&(s[1]!==0&&(a[0]=a[1],b=n1(p,t,s,i,void 0,b),s=[0,0,0,0]),a[2]=e)):M.type==="tableCellDivider"&&(n?n=!1:(s[1]!==0&&(a[0]=a[1],b=n1(p,t,s,i,void 0,b)),s=a,a=[s[1],e,0,0])):M.type==="tableHead"?(c=!0,o=e):M.type==="tableRow"||M.type==="tableDelimiterRow"?(o=e,s[1]!==0?(a[0]=a[1],b=n1(p,t,s,i,e,b)):a[1]!==0&&(b=n1(p,t,a,i,e,b)),i=0):i&&(M.type==="data"||M.type==="tableDelimiterMarker"||M.type==="tableDelimiterFiller")&&(a[3]=e)}for(o!==0&&Sg(p,t,o,d,h),p.consume(t.events),e=-1;++e<t.events.length;){const y=t.events[e];y[0]==="enter"&&y[1].type==="table"&&(y[1]._align=iQ(t.events,e))}return l}function n1(l,t,e,n,i,s){const a=n===1?"tableHeader":n===2?"tableDelimiter":"tableData",c="tableContent";e[0]!==0&&(s.end=Object.assign({},bb(t.events,e[0])),l.add(e[0],0,[["exit",s,t]]));const o=bb(t.events,e[1]);if(s={type:a,start:Object.assign({},o),end:Object.assign({},o)},l.add(e[1],0,[["enter",s,t]]),e[2]!==0){const d=bb(t.events,e[2]),h=bb(t.events,e[3]),b={type:c,start:Object.assign({},d),end:Object.assign({},h)};if(l.add(e[2],0,[["enter",b,t]]),n!==2){const p=t.events[e[2]],y=t.events[e[3]];if(p[1].end=Object.assign({},y[1].end),p[1].type="chunkText",p[1].contentType="text",e[3]>e[2]+1){const M=e[2]+1,T=e[3]-e[2]-1;l.add(M,T,[])}}l.add(e[3]+1,0,[["exit",b,t]])}return i!==void 0&&(s.end=Object.assign({},bb(t.events,i)),l.add(i,0,[["exit",s,t]]),s=void 0),s}function Sg(l,t,e,n,i){const s=[],a=bb(t.events,e);i&&(i.end=Object.assign({},a),s.push(["exit",i,t])),n.end=Object.assign({},a),s.push(["exit",n,t]),l.add(e+1,0,s)}function bb(l,t){const e=l[t],n=e[0]==="enter"?"start":"end";return e[1][n]}const rQ={name:"tasklistCheck",tokenize:dQ};function oQ(){return{text:{91:rQ}}}function dQ(l,t,e){const n=this;return i;function i(o){return n.previous!==null||!n._gfmTasklistFirstContentOfListItem?e(o):(l.enter("taskListCheck"),l.enter("taskListCheckMarker"),l.consume(o),l.exit("taskListCheckMarker"),s)}function s(o){return In(o)?(l.enter("taskListCheckValueUnchecked"),l.consume(o),l.exit("taskListCheckValueUnchecked"),a):o===88||o===120?(l.enter("taskListCheckValueChecked"),l.consume(o),l.exit("taskListCheckValueChecked"),a):e(o)}function a(o){return o===93?(l.enter("taskListCheckMarker"),l.consume(o),l.exit("taskListCheckMarker"),l.exit("taskListCheck"),c):e(o)}function c(o){return il(o)?t(o):Kl(o)?l.check({tokenize:uQ},t,e)(o):e(o)}}function uQ(l,t,e){return Ul(l,n,"whitespace");function n(i){return i===null?e(i):t(i)}}function mQ(l){return wf([OH(),HH(),eQ(l),sQ(),oQ()])}const hQ={};function bQ(l){const t=this,e=l||hQ,n=t.data(),i=n.micromarkExtensions||(n.micromarkExtensions=[]),s=n.fromMarkdownExtensions||(n.fromMarkdownExtensions=[]),a=n.toMarkdownExtensions||(n.toMarkdownExtensions=[]);i.push(mQ(e)),s.push(SH()),a.push(RH(e))}const Rg=function(l,t,e){const n=xW(e);if(!l||!l.type||!l.children)throw new Error("Expected parent node");if(typeof t=="number"){if(t<0||t===Number.POSITIVE_INFINITY)throw new Error("Expected positive finite number as index")}else if(t=l.children.indexOf(t),t<0)throw new Error("Expected child node or index");for(;++t<l.children.length;)if(n(l.children[t],t,l))return l.children[t]},Vh=function(l){if(l==null)return yQ;if(typeof l=="string")return pQ(l);if(typeof l=="object")return ZQ(l);if(typeof l=="function")return VV(l);throw new Error("Expected function, string, or array as `test`")};function ZQ(l){const t=[];let e=-1;for(;++e<l.length;)t[e]=Vh(l[e]);return VV(n);function n(...i){let s=-1;for(;++s<t.length;)if(t[s].apply(this,i))return!0;return!1}}function pQ(l){return VV(t);function t(e){return e.tagName===l}}function VV(l){return t;function t(e,n,i){return!!(WQ(e)&&l.call(this,e,typeof n=="number"?n:void 0,i||void 0))}}function yQ(l){return!!(l&&typeof l=="object"&&"type"in l&&l.type==="element"&&"tagName"in l&&typeof l.tagName=="string")}function WQ(l){return l!==null&&typeof l=="object"&&"type"in l&&"tagName"in l}const kg=/\n/g,Dg=/[\t ]+/g,oY=Vh("br"),Og=Vh(LQ),NQ=Vh("p"),jg=Vh("tr"),MQ=Vh(["datalist","head","noembed","noframes","noscript","rp","script","style","template","title",YQ,VQ]),NS=Vh(["address","article","aside","blockquote","body","caption","center","dd","dialog","dir","dl","dt","div","figure","figcaption","footer","form,","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","legend","li","listing","main","menu","nav","ol","p","plaintext","pre","section","ul","xmp"]);function MS(l,t){const e=t||{},n="children"in l?l.children:[],i=NS(l),s=XS(l,{whitespace:e.whitespace||"normal"}),a=[];(l.type==="text"||l.type==="comment")&&a.push(...TS(l,{breakBefore:!0,breakAfter:!0}));let c=-1;for(;++c<n.length;)a.push(...GS(n[c],l,{whitespace:s,breakBefore:c?void 0:i,breakAfter:c<n.length-1?oY(n[c+1]):i}));const o=[];let d;for(c=-1;++c<a.length;){const h=a[c];typeof h=="number"?d!==void 0&&h>d&&(d=h):h&&(d!==void 0&&d>-1&&o.push(`
|
||
`.repeat(d)||" "),d=-1,o.push(h))}return o.join("")}function GS(l,t,e){return l.type==="element"?GQ(l,t,e):l.type==="text"?e.whitespace==="normal"?TS(l,e):TQ(l):[]}function GQ(l,t,e){const n=XS(l,e),i=l.children||[];let s=-1,a=[];if(MQ(l))return a;let c,o;for(oY(l)||jg(l)&&Rg(t,l,jg)?o=`
|
||
`:NQ(l)?(c=2,o=2):NS(l)&&(c=1,o=1);++s<i.length;)a=a.concat(GS(i[s],l,{whitespace:n,breakBefore:s?void 0:c,breakAfter:s<i.length-1?oY(i[s+1]):o}));return Og(l)&&Rg(t,l,Og)&&a.push(" "),c&&a.unshift(c),o&&a.push(o),a}function TS(l,t){const e=String(l.value),n=[],i=[];let s=0;for(;s<=e.length;){kg.lastIndex=s;const o=kg.exec(e),d=o&&"index"in o?o.index:e.length;n.push(XQ(e.slice(s,d).replace(/[\u061C\u200E\u200F\u202A-\u202E\u2066-\u2069]/g,""),s===0?t.breakBefore:!0,d===e.length?t.breakAfter:!0)),s=d+1}let a=-1,c;for(;++a<n.length;)n[a].charCodeAt(n[a].length-1)===8203||a<n.length-1&&n[a+1].charCodeAt(0)===8203?(i.push(n[a]),c=void 0):n[a]?(typeof c=="number"&&i.push(c),i.push(n[a]),c=0):(a===0||a===n.length-1)&&i.push(0);return i}function TQ(l){return[String(l.value)]}function XQ(l,t,e){const n=[];let i=0,s;for(;i<l.length;){Dg.lastIndex=i;const a=Dg.exec(l);s=a?a.index:l.length,!i&&!s&&a&&!t&&n.push(""),i!==s&&n.push(l.slice(i,s)),i=a?s+a[0].length:s}return i!==s&&!e&&n.push(""),n.join(" ")}function XS(l,t){if(l.type==="element"){const e=l.properties||{};switch(l.tagName){case"listing":case"plaintext":case"xmp":return"pre";case"nobr":return"nowrap";case"pre":return e.wrap?"pre-wrap":"pre";case"td":case"th":return e.noWrap?"nowrap":t.whitespace;case"textarea":return"pre-wrap"}}return t.whitespace}function YQ(l){return!!(l.properties||{}).hidden}function LQ(l){return l.tagName==="td"||l.tagName==="th"}function VQ(l){return l.tagName==="dialog"&&!(l.properties||{}).open}function IQ(l){const t=l.regex,e=l.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),n="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",a="(?!struct)("+n+"|"+t.optional(i)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",c={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},d={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[l.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},l.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},h={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},b={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},l.inherit(d,{className:"string"}),{className:"string",begin:/<.*?>/},e,l.C_BLOCK_COMMENT_MODE]},p={className:"title",begin:t.optional(i)+l.IDENT_RE,relevance:0},y=t.optional(i)+l.IDENT_RE+"\\s*\\(",M=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],T=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],Y=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],L=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],F={type:T,keyword:M,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:Y},j={className:"function.dispatch",relevance:0,keywords:{_hint:L},begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,l.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},D=[j,b,c,e,l.C_BLOCK_COMMENT_MODE,h,d],_={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:F,contains:D.concat([{begin:/\(/,end:/\)/,keywords:F,contains:D.concat(["self"]),relevance:0}]),relevance:0},ut={className:"function",begin:"("+a+"[\\*&\\s]+)+"+y,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:F,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:n,keywords:F,relevance:0},{begin:y,returnBegin:!0,contains:[p],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[d,h]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:F,relevance:0,contains:[e,l.C_BLOCK_COMMENT_MODE,d,h,c,{begin:/\(/,end:/\)/,keywords:F,relevance:0,contains:["self",e,l.C_BLOCK_COMMENT_MODE,d,h,c]}]},c,e,l.C_BLOCK_COMMENT_MODE,b]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:F,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(_,ut,j,D,[b,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\s*<(?!<)",end:">",keywords:F,contains:["self",c]},{begin:l.IDENT_RE+"::",keywords:F},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function wQ(l){const t={type:["boolean","byte","word","String"],built_in:["KeyboardController","MouseController","SoftwareSerial","EthernetServer","EthernetClient","LiquidCrystal","RobotControl","GSMVoiceCall","EthernetUDP","EsploraTFT","HttpClient","RobotMotor","WiFiClient","GSMScanner","FileSystem","Scheduler","GSMServer","YunClient","YunServer","IPAddress","GSMClient","GSMModem","Keyboard","Ethernet","Console","GSMBand","Esplora","Stepper","Process","WiFiUDP","GSM_SMS","Mailbox","USBHost","Firmata","PImage","Client","Server","GSMPIN","FileIO","Bridge","Serial","EEPROM","Stream","Mouse","Audio","Servo","File","Task","GPRS","WiFi","Wire","TFT","GSM","SPI","SD"],_hints:["setup","loop","runShellCommandAsynchronously","analogWriteResolution","retrieveCallingNumber","printFirmwareVersion","analogReadResolution","sendDigitalPortPair","noListenOnLocalhost","readJoystickButton","setFirmwareVersion","readJoystickSwitch","scrollDisplayRight","getVoiceCallStatus","scrollDisplayLeft","writeMicroseconds","delayMicroseconds","beginTransmission","getSignalStrength","runAsynchronously","getAsynchronously","listenOnLocalhost","getCurrentCarrier","readAccelerometer","messageAvailable","sendDigitalPorts","lineFollowConfig","countryNameWrite","runShellCommand","readStringUntil","rewindDirectory","readTemperature","setClockDivider","readLightSensor","endTransmission","analogReference","detachInterrupt","countryNameRead","attachInterrupt","encryptionType","readBytesUntil","robotNameWrite","readMicrophone","robotNameRead","cityNameWrite","userNameWrite","readJoystickY","readJoystickX","mouseReleased","openNextFile","scanNetworks","noInterrupts","digitalWrite","beginSpeaker","mousePressed","isActionDone","mouseDragged","displayLogos","noAutoscroll","addParameter","remoteNumber","getModifiers","keyboardRead","userNameRead","waitContinue","processInput","parseCommand","printVersion","readNetworks","writeMessage","blinkVersion","cityNameRead","readMessage","setDataMode","parsePacket","isListening","setBitOrder","beginPacket","isDirectory","motorsWrite","drawCompass","digitalRead","clearScreen","serialEvent","rightToLeft","setTextSize","leftToRight","requestFrom","keyReleased","compassRead","analogWrite","interrupts","WiFiServer","disconnect","playMelody","parseFloat","autoscroll","getPINUsed","setPINUsed","setTimeout","sendAnalog","readSlider","analogRead","beginWrite","createChar","motorsStop","keyPressed","tempoWrite","readButton","subnetMask","debugPrint","macAddress","writeGreen","randomSeed","attachGPRS","readString","sendString","remotePort","releaseAll","mouseMoved","background","getXChange","getYChange","answerCall","getResult","voiceCall","endPacket","constrain","getSocket","writeJSON","getButton","available","connected","findUntil","readBytes","exitValue","readGreen","writeBlue","startLoop","IPAddress","isPressed","sendSysex","pauseMode","gatewayIP","setCursor","getOemKey","tuneWrite","noDisplay","loadImage","switchPIN","onRequest","onReceive","changePIN","playFile","noBuffer","parseInt","overflow","checkPIN","knobRead","beginTFT","bitClear","updateIR","bitWrite","position","writeRGB","highByte","writeRed","setSpeed","readBlue","noStroke","remoteIP","transfer","shutdown","hangCall","beginSMS","endWrite","attached","maintain","noCursor","checkReg","checkPUK","shiftOut","isValid","shiftIn","pulseIn","connect","println","localIP","pinMode","getIMEI","display","noBlink","process","getBand","running","beginSD","drawBMP","lowByte","setBand","release","bitRead","prepare","pointTo","readRed","setMode","noFill","remove","listen","stroke","detach","attach","noTone","exists","buffer","height","bitSet","circle","config","cursor","random","IRread","setDNS","endSMS","getKey","micros","millis","begin","print","write","ready","flush","width","isPIN","blink","clear","press","mkdir","rmdir","close","point","yield","image","BSSID","click","delay","read","text","move","peek","beep","rect","line","open","seek","fill","size","turn","stop","home","find","step","tone","sqrt","RSSI","SSID","end","bit","tan","cos","sin","pow","map","abs","max","min","get","run","put"],literal:["DIGITAL_MESSAGE","FIRMATA_STRING","ANALOG_MESSAGE","REPORT_DIGITAL","REPORT_ANALOG","INPUT_PULLUP","SET_PIN_MODE","INTERNAL2V56","SYSTEM_RESET","LED_BUILTIN","INTERNAL1V1","SYSEX_START","INTERNAL","EXTERNAL","DEFAULT","OUTPUT","INPUT","HIGH","LOW"]},e=IQ(l),n=e.keywords;return n.type=[...n.type,...t.type],n.literal=[...n.literal,...t.literal],n.built_in=[...n.built_in,...t.built_in],n._hints=t._hints,e.name="Arduino",e.aliases=["ino"],e.supersetOf="cpp",e}function zQ(l){const t=l.regex,e={},n={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[e]}]};Object.assign(e,{className:"variable",variants:[{begin:t.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},n]});const i={className:"subst",begin:/\$\(/,end:/\)/,contains:[l.BACKSLASH_ESCAPE]},s=l.inherit(l.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),a={begin:/<<-?\s*(?=\w+)/,starts:{contains:[l.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},c={className:"string",begin:/"/,end:/"/,contains:[l.BACKSLASH_ESCAPE,e,i]};i.contains.push(c);const o={match:/\\"/},d={className:"string",begin:/'/,end:/'/},h={match:/\\'/},b={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},l.NUMBER_MODE,e]},p=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],y=l.SHEBANG({binary:`(${p.join("|")})`,relevance:10}),M={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[l.inherit(l.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},T=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],Y=["true","false"],L={match:/(\/[a-z._-]+)+/},x=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],g=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],F=["autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp"],j=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:T,literal:Y,built_in:[...x,...g,"set","shopt",...F,...j]},contains:[y,l.SHEBANG(),M,b,s,a,L,c,o,d,h,e]}}function gQ(l){const t=l.regex,e=l.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),n="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",a="("+n+"|"+t.optional(i)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",c={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},d={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[l.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},l.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},h={className:"number",variants:[{match:/\b(0b[01']+)/},{match:/(-?)\b([\d']+(\.[\d']*)?|\.[\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/},{match:/(-?)\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/},{match:/(-?)\b\d+(?:'\d+)*(?:\.\d*(?:'\d*)*)?(?:[eE][-+]?\d+)?/}],relevance:0},b={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include"},contains:[{begin:/\\\n/,relevance:0},l.inherit(d,{className:"string"}),{className:"string",begin:/<.*?>/},e,l.C_BLOCK_COMMENT_MODE]},p={className:"title",begin:t.optional(i)+l.IDENT_RE,relevance:0},y=t.optional(i)+l.IDENT_RE+"\\s*\\(",Y={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","typeof","typeof_unqual","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_BitInt","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal96","_Decimal128","_Decimal64x","_Decimal128x","_Float16","_Float32","_Float64","_Float128","_Float32x","_Float64x","_Float128x","const","static","constexpr","complex","bool","imaginary"],literal:"true false NULL",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"},L=[b,c,e,l.C_BLOCK_COMMENT_MODE,h,d],x={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:Y,contains:L.concat([{begin:/\(/,end:/\)/,keywords:Y,contains:L.concat(["self"]),relevance:0}]),relevance:0},g={begin:"("+a+"[\\*&\\s]+)+"+y,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:Y,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:n,keywords:Y,relevance:0},{begin:y,returnBegin:!0,contains:[l.inherit(p,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:Y,relevance:0,contains:[e,l.C_BLOCK_COMMENT_MODE,d,h,c,{begin:/\(/,end:/\)/,keywords:Y,relevance:0,contains:["self",e,l.C_BLOCK_COMMENT_MODE,d,h,c]}]},c,e,l.C_BLOCK_COMMENT_MODE,b]};return{name:"C",aliases:["h"],keywords:Y,disableAutodetect:!0,illegal:"</",contains:[].concat(x,g,L,[b,{begin:l.IDENT_RE+"::",keywords:Y},{className:"class",beginKeywords:"enum class struct union",end:/[{;:<>=]/,contains:[{beginKeywords:"final class struct"},l.TITLE_MODE]}]),exports:{preprocessor:b,strings:d,keywords:Y}}}function xQ(l){const t=l.regex,e=l.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),n="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",a="(?!struct)("+n+"|"+t.optional(i)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",c={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},d={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[l.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},l.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},h={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},b={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},l.inherit(d,{className:"string"}),{className:"string",begin:/<.*?>/},e,l.C_BLOCK_COMMENT_MODE]},p={className:"title",begin:t.optional(i)+l.IDENT_RE,relevance:0},y=t.optional(i)+l.IDENT_RE+"\\s*\\(",M=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],T=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],Y=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],L=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],F={type:T,keyword:M,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:Y},j={className:"function.dispatch",relevance:0,keywords:{_hint:L},begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,l.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},D=[j,b,c,e,l.C_BLOCK_COMMENT_MODE,h,d],_={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:F,contains:D.concat([{begin:/\(/,end:/\)/,keywords:F,contains:D.concat(["self"]),relevance:0}]),relevance:0},ut={className:"function",begin:"("+a+"[\\*&\\s]+)+"+y,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:F,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:n,keywords:F,relevance:0},{begin:y,returnBegin:!0,contains:[p],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[d,h]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:F,relevance:0,contains:[e,l.C_BLOCK_COMMENT_MODE,d,h,c,{begin:/\(/,end:/\)/,keywords:F,relevance:0,contains:["self",e,l.C_BLOCK_COMMENT_MODE,d,h,c]}]},c,e,l.C_BLOCK_COMMENT_MODE,b]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:F,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(_,ut,j,D,[b,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\s*<(?!<)",end:">",keywords:F,contains:["self",c]},{begin:l.IDENT_RE+"::",keywords:F},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function fQ(l){const t=["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],e=["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"],n=["default","false","null","true"],i=["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"],s=["add","alias","and","ascending","args","async","await","by","descending","dynamic","equals","file","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","record","remove","required","scoped","select","set","unmanaged","value|0","var","when","where","with","yield"],a={keyword:i.concat(s),built_in:t,literal:n},c=l.inherit(l.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),o={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},d={className:"string",begin:/"""("*)(?!")(.|\n)*?"""\1/,relevance:1},h={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},b=l.inherit(h,{illegal:/\n/}),p={className:"subst",begin:/\{/,end:/\}/,keywords:a},y=l.inherit(p,{illegal:/\n/}),M={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},l.BACKSLASH_ESCAPE,y]},T={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},p]},Y=l.inherit(T,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},y]});p.contains=[T,M,h,l.APOS_STRING_MODE,l.QUOTE_STRING_MODE,o,l.C_BLOCK_COMMENT_MODE],y.contains=[Y,M,b,l.APOS_STRING_MODE,l.QUOTE_STRING_MODE,o,l.inherit(l.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];const L={variants:[d,T,M,h,l.APOS_STRING_MODE,l.QUOTE_STRING_MODE]},x={begin:"<",end:">",contains:[{beginKeywords:"in out"},c]},g=l.IDENT_RE+"(<"+l.IDENT_RE+"(\\s*,\\s*"+l.IDENT_RE+")*>)?(\\[\\])?",F={begin:"@"+l.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:a,illegal:/::/,contains:[l.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"\x3C!--|-->"},{begin:"</?",end:">"}]}]}),l.C_LINE_COMMENT_MODE,l.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},L,o,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},c,x,l.C_LINE_COMMENT_MODE,l.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[c,l.C_LINE_COMMENT_MODE,l.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[c,x,l.C_LINE_COMMENT_MODE,l.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+g+"\\s+)+"+l.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:a,contains:[{beginKeywords:e.join(" "),relevance:0},{begin:l.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[l.TITLE_MODE,x],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,relevance:0,contains:[L,o,l.C_BLOCK_COMMENT_MODE]},l.C_LINE_COMMENT_MODE,l.C_BLOCK_COMMENT_MODE]},F]}}const SQ=l=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:l.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[l.APOS_STRING_MODE,l.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:l.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),RQ=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],kQ=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],DQ=[...RQ,...kQ],OQ=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),jQ=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),CQ=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),FQ=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function JQ(l){const t=l.regex,e=SQ(l),n={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},i="and or not only",s=/@-?\w[\w]*(-\w+)*/,a="[a-zA-Z-][a-zA-Z0-9_-]*",c=[l.APOS_STRING_MODE,l.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[e.BLOCK_COMMENT,n,e.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+a,relevance:0},e.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+jQ.join("|")+")"},{begin:":(:)?("+CQ.join("|")+")"}]},e.CSS_VARIABLE,{className:"attribute",begin:"\\b("+FQ.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[e.BLOCK_COMMENT,e.HEXCOLOR,e.IMPORTANT,e.CSS_NUMBER_MODE,...c,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...c,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},e.FUNCTION_DISPATCH]},{begin:t.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:s},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:i,attribute:OQ.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...c,e.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+DQ.join("|")+")\\b"}]}}function vQ(l){const t=l.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:t.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:t.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}function UQ(l){const s={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:s,illegal:"</",contains:[l.C_LINE_COMMENT_MODE,l.C_BLOCK_COMMENT_MODE,{className:"string",variants:[l.QUOTE_STRING_MODE,l.APOS_STRING_MODE,{begin:"`",end:"`"}]},{className:"number",variants:[{match:/-?\b0[xX]\.[a-fA-F0-9](_?[a-fA-F0-9])*[pP][+-]?\d(_?\d)*i?/,relevance:0},{match:/-?\b0[xX](_?[a-fA-F0-9])+((\.([a-fA-F0-9](_?[a-fA-F0-9])*)?)?[pP][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b0[oO](_?[0-7])*i?/,relevance:0},{match:/-?\.\d(_?\d)*([eE][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b\d(_?\d)*(\.(\d(_?\d)*)?)?([eE][+-]?\d(_?\d)*)?i?/,relevance:0}]},{begin:/:=/},{className:"function",beginKeywords:"func",end:"\\s*(\\{|$)",excludeEnd:!0,contains:[l.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:s,illegal:/["']/}]}]}}function EQ(l){const t=l.regex,e=/[_A-Za-z][_0-9A-Za-z]*/;return{name:"GraphQL",aliases:["gql"],case_insensitive:!0,disableAutodetect:!1,keywords:{keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"],literal:["true","false","null"]},contains:[l.HASH_COMMENT_MODE,l.QUOTE_STRING_MODE,l.NUMBER_MODE,{scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation",begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/,end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{scope:"symbol",begin:t.concat(e,t.lookahead(/\s*:/)),relevance:0}],illegal:[/[;<']/,/BEGIN/]}}function KQ(l){const t=l.regex,e={className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:l.NUMBER_RE}]},n=l.COMMENT();n.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];const i={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/}]},s={className:"literal",begin:/\bon|off|true|false|yes|no\b/},a={className:"string",contains:[l.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},c={begin:/\[/,end:/\]/,contains:[n,s,i,a,e,"self"],relevance:0},o=/[A-Za-z0-9_-]+/,d=/"(\\"|[^"])*"/,h=/'[^']*'/,b=t.either(o,d,h),p=t.concat(b,"(\\s*\\.\\s*",b,")*",t.lookahead(/\s*=\s*[^#\s]/));return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[n,{className:"section",begin:/\[+/,end:/\]+/},{begin:p,className:"attr",starts:{end:/$/,contains:[n,c,s,i,a,e]}}]}}var Zb="[0-9](_*[0-9])*",i1=`\\.(${Zb})`,s1="[0-9a-fA-F](_*[0-9a-fA-F])*",Cg={className:"number",variants:[{begin:`(\\b(${Zb})((${i1})|\\.)?|(${i1}))[eE][+-]?(${Zb})[fFdD]?\\b`},{begin:`\\b(${Zb})((${i1})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${i1})[fFdD]?\\b`},{begin:`\\b(${Zb})[fFdD]\\b`},{begin:`\\b0[xX]((${s1})\\.?|(${s1})?\\.(${s1}))[pP][+-]?(${Zb})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${s1})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function YS(l,t,e){return e===-1?"":l.replace(t,n=>YS(l,t,e-1))}function PQ(l){const t=l.regex,e="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",n=e+YS("(?:<"+e+"~~~(?:\\s*,\\s*"+e+"~~~)*>)?",/~~~/g,2),o={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits","goto","when"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},d={className:"meta",begin:"@"+e,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},h={className:"params",begin:/\(/,end:/\)/,keywords:o,relevance:0,contains:[l.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:o,illegal:/<\/|#/,contains:[l.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},l.C_LINE_COMMENT_MODE,l.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[l.BACKSLASH_ESCAPE]},l.APOS_STRING_MODE,l.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,e],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[t.concat(/(?!else)/,e),/\s+/,e,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,e],className:{1:"keyword",3:"title.class"},contains:[h,l.C_LINE_COMMENT_MODE,l.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+n+"\\s+)",l.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:o,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:o,relevance:0,contains:[d,l.APOS_STRING_MODE,l.QUOTE_STRING_MODE,Cg,l.C_BLOCK_COMMENT_MODE]},l.C_LINE_COMMENT_MODE,l.C_BLOCK_COMMENT_MODE]},Cg,d]}}const Fg="[A-Za-z$_][0-9A-Za-z$_]*",HQ=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],QQ=["true","false","null","undefined","NaN","Infinity"],LS=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],VS=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],IS=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],BQ=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],AQ=[].concat(IS,LS,VS);function _Q(l){const t=l.regex,e=(gt,{after:vt})=>{const H="</"+gt[0].slice(1);return gt.input.indexOf(H,vt)!==-1},n=Fg,i={begin:"<>",end:"</>"},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,a={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(gt,vt)=>{const H=gt[0].length+gt.index,nt=gt.input[H];if(nt==="<"||nt===","){vt.ignoreMatch();return}nt===">"&&(e(gt,{after:H})||vt.ignoreMatch());let bt;const $=gt.input.substring(H);if(bt=$.match(/^\s*=/)){vt.ignoreMatch();return}if((bt=$.match(/^\s+extends\s+/))&&bt.index===0){vt.ignoreMatch();return}}},c={$pattern:Fg,keyword:HQ,literal:QQ,built_in:AQ,"variable.language":BQ},o="[0-9](_?[0-9])*",d=`\\.(${o})`,h="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",b={className:"number",variants:[{begin:`(\\b(${h})((${d})|\\.)?|(${d}))[eE][+-]?(${o})\\b`},{begin:`\\b(${h})\\b((${d})\\b|\\.)?|(${d})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},p={className:"subst",begin:"\\$\\{",end:"\\}",keywords:c,contains:[]},y={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[l.BACKSLASH_ESCAPE,p],subLanguage:"xml"}},M={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[l.BACKSLASH_ESCAPE,p],subLanguage:"css"}},T={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[l.BACKSLASH_ESCAPE,p],subLanguage:"graphql"}},Y={className:"string",begin:"`",end:"`",contains:[l.BACKSLASH_ESCAPE,p]},x={className:"comment",variants:[l.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:n+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),l.C_BLOCK_COMMENT_MODE,l.C_LINE_COMMENT_MODE]},g=[l.APOS_STRING_MODE,l.QUOTE_STRING_MODE,y,M,T,Y,{match:/\$\d+/},b];p.contains=g.concat({begin:/\{/,end:/\}/,keywords:c,contains:["self"].concat(g)});const F=[].concat(x,p.contains),j=F.concat([{begin:/(\s*)\(/,end:/\)/,keywords:c,contains:["self"].concat(F)}]),D={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:c,contains:j},_={variants:[{match:[/class/,/\s+/,n,/\s+/,/extends/,/\s+/,t.concat(n,"(",t.concat(/\./,n),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,n],scope:{1:"keyword",3:"title.class"}}]},ut={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...LS,...VS]}},K={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},f={variants:[{match:[/function/,/\s+/,n,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[D],illegal:/%/},lt={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function tt(gt){return t.concat("(?!",gt.join("|"),")")}const ht={match:t.concat(/\b/,tt([...IS,"super","import"].map(gt=>`${gt}\\s*\\(`)),n,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},dt={begin:t.concat(/\./,t.lookahead(t.concat(n,/(?![0-9A-Za-z$_(])/))),end:n,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},It={match:[/get|set/,/\s+/,n,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},D]},kt="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+l.UNDERSCORE_IDENT_RE+")\\s*=>",Gt={match:[/const|var|let/,/\s+/,n,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(kt)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[D]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:c,exports:{PARAMS_CONTAINS:j,CLASS_REFERENCE:ut},illegal:/#(?![$_A-z])/,contains:[l.SHEBANG({label:"shebang",binary:"node",relevance:5}),K,l.APOS_STRING_MODE,l.QUOTE_STRING_MODE,y,M,T,Y,x,{match:/\$\d+/},b,ut,{scope:"attr",match:n+t.lookahead(":"),relevance:0},Gt,{begin:"("+l.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[x,l.REGEXP_MODE,{className:"function",begin:kt,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:l.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:c,contains:j}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:i.begin,end:i.end},{match:s},{begin:a.begin,"on:begin":a.isTrulyOpeningTag,end:a.end}],subLanguage:"xml",contains:[{begin:a.begin,end:a.end,skip:!0,contains:["self"]}]}]},f,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+l.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[D,l.inherit(l.TITLE_MODE,{begin:n,className:"title.function"})]},{match:/\.\.\./,relevance:0},dt,{match:"\\$"+n,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[D]},ht,lt,_,It,{match:/\$[(.]/}]}}function qQ(l){const t={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},e={match:/[{}[\],:]/,className:"punctuation",relevance:0},n=["true","false","null"],i={scope:"literal",beginKeywords:n.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:n},contains:[t,e,l.QUOTE_STRING_MODE,i,l.C_NUMBER_MODE,l.C_LINE_COMMENT_MODE,l.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}var pb="[0-9](_*[0-9])*",a1=`\\.(${pb})`,c1="[0-9a-fA-F](_*[0-9a-fA-F])*",$Q={className:"number",variants:[{begin:`(\\b(${pb})((${a1})|\\.)?|(${a1}))[eE][+-]?(${pb})[fFdD]?\\b`},{begin:`\\b(${pb})((${a1})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${a1})[fFdD]?\\b`},{begin:`\\b(${pb})[fFdD]\\b`},{begin:`\\b0[xX]((${c1})\\.?|(${c1})?\\.(${c1}))[pP][+-]?(${pb})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${c1})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function tB(l){const t={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},e={className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},n={className:"symbol",begin:l.UNDERSCORE_IDENT_RE+"@"},i={className:"subst",begin:/\$\{/,end:/\}/,contains:[l.C_NUMBER_MODE]},s={className:"variable",begin:"\\$"+l.UNDERSCORE_IDENT_RE},a={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[s,i]},{begin:"'",end:"'",illegal:/\n/,contains:[l.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[l.BACKSLASH_ESCAPE,s,i]}]};i.contains.push(a);const c={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+l.UNDERSCORE_IDENT_RE+")?"},o={className:"meta",begin:"@"+l.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[l.inherit(a,{className:"string"}),"self"]}]},d=$Q,h=l.COMMENT("/\\*","\\*/",{contains:[l.C_BLOCK_COMMENT_MODE]}),b={variants:[{className:"type",begin:l.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},p=b;return p.variants[1].contains=[b],b.variants[1].contains=[p],{name:"Kotlin",aliases:["kt","kts"],keywords:t,contains:[l.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),l.C_LINE_COMMENT_MODE,h,e,n,c,o,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:t,relevance:5,contains:[{begin:l.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[l.UNDERSCORE_TITLE_MODE]},{className:"type",begin:/</,end:/>/,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:t,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[b,l.C_LINE_COMMENT_MODE,h],relevance:0},l.C_LINE_COMMENT_MODE,h,c,o,a,l.C_NUMBER_MODE]},h]},{begin:[/class|interface|trait/,/\s+/,l.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},l.UNDERSCORE_TITLE_MODE,{className:"type",begin:/</,end:/>/,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},c,o]},a,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:`
|
||
`},d]}}const eB=l=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:l.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[l.APOS_STRING_MODE,l.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:l.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),lB=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],nB=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],iB=[...lB,...nB],sB=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),wS=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),zS=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),aB=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse(),cB=wS.concat(zS).sort().reverse();function rB(l){const t=eB(l),e=cB,n="and or not only",i="[\\w-]+",s="("+i+"|@\\{"+i+"\\})",a=[],c=[],o=function(g){return{className:"string",begin:"~?"+g+".*?"+g}},d=function(g,F,j){return{className:g,begin:F,relevance:j}},h={$pattern:/[a-z-]+/,keyword:n,attribute:sB.join(" ")},b={begin:"\\(",end:"\\)",contains:c,keywords:h,relevance:0};c.push(l.C_LINE_COMMENT_MODE,l.C_BLOCK_COMMENT_MODE,o("'"),o('"'),t.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},t.HEXCOLOR,b,d("variable","@@?"+i,10),d("variable","@\\{"+i+"\\}"),d("built_in","~?`[^`]*?`"),{className:"attribute",begin:i+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},t.IMPORTANT,{beginKeywords:"and not"},t.FUNCTION_DISPATCH);const p=c.concat({begin:/\{/,end:/\}/,contains:a}),y={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(c)},M={begin:s+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+aB.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:c}}]},T={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:h,returnEnd:!0,contains:c,relevance:0}},Y={className:"variable",variants:[{begin:"@"+i+"\\s*:",relevance:15},{begin:"@"+i}],starts:{end:"[;}]",returnEnd:!0,contains:p}},L={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:s,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[l.C_LINE_COMMENT_MODE,l.C_BLOCK_COMMENT_MODE,y,d("keyword","all\\b"),d("variable","@\\{"+i+"\\}"),{begin:"\\b("+iB.join("|")+")\\b",className:"selector-tag"},t.CSS_NUMBER_MODE,d("selector-tag",s,0),d("selector-id","#"+s),d("selector-class","\\."+s,0),d("selector-tag","&",0),t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+wS.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+zS.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:p},{begin:"!important"},t.FUNCTION_DISPATCH]},x={begin:i+`:(:)?(${e.join("|")})`,returnBegin:!0,contains:[L]};return a.push(l.C_LINE_COMMENT_MODE,l.C_BLOCK_COMMENT_MODE,T,Y,x,M,L,y,t.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:`[=>'/<($"]`,contains:a}}function oB(l){const t="\\[=*\\[",e="\\]=*\\]",n={begin:t,end:e,contains:["self"]},i=[l.COMMENT("--(?!"+t+")","$"),l.COMMENT("--"+t,e,{contains:[n],relevance:10})];return{name:"Lua",aliases:["pluto"],keywords:{$pattern:l.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:i.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[l.inherit(l.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:i}].concat(i)},l.C_NUMBER_MODE,l.APOS_STRING_MODE,l.QUOTE_STRING_MODE,{className:"string",begin:t,end:e,contains:[n],relevance:5}])}}function dB(l){const t={className:"variable",variants:[{begin:"\\$\\("+l.UNDERSCORE_IDENT_RE+"\\)",contains:[l.BACKSLASH_ESCAPE]},{begin:/\$[@%<?\^\+\*]/}]},e={className:"string",begin:/"/,end:/"/,contains:[l.BACKSLASH_ESCAPE,t]},n={className:"variable",begin:/\$\([\w-]+\s/,end:/\)/,keywords:{built_in:"subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value"},contains:[t,e]},i={begin:"^"+l.UNDERSCORE_IDENT_RE+"\\s*(?=[:+?]?=)"},s={className:"meta",begin:/^\.PHONY:/,end:/$/,keywords:{$pattern:/[\.\w]+/,keyword:".PHONY"}},a={className:"section",begin:/^[^\s]+:/,end:/$/,contains:[t]};return{name:"Makefile",aliases:["mk","mak","make"],keywords:{$pattern:/[\w-]+/,keyword:"define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath"},contains:[l.HASH_COMMENT_MODE,t,e,n,i,s,a]}}function uB(l){const t=l.regex,e={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},n={begin:"^[-\\*]{3,}",end:"$"},i={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},s={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},a={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},c=/[A-Za-z][A-Za-z0-9+.-]*/,o={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:t.concat(/\[.+?\]\(/,c,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},d={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},h={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},b=l.inherit(d,{contains:[]}),p=l.inherit(h,{contains:[]});d.contains.push(p),h.contains.push(b);let y=[e,o];return[d,h,b,p].forEach(L=>{L.contains=L.contains.concat(y)}),y=y.concat(d,h),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:y},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:y}]}]},e,s,d,h,{className:"quote",begin:"^>\\s+",contains:y,end:"$"},i,n,o,a,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}function mB(l){const t={className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},e=/[a-zA-Z@][a-zA-Z0-9_]*/,c={"variable.language":["this","super"],$pattern:e,keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]},o={$pattern:e,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:c,illegal:"</",contains:[t,l.C_LINE_COMMENT_MODE,l.C_BLOCK_COMMENT_MODE,l.C_NUMBER_MODE,l.QUOTE_STRING_MODE,l.APOS_STRING_MODE,{className:"string",variants:[{begin:'@"',end:'"',illegal:"\\n",contains:[l.BACKSLASH_ESCAPE]}]},{className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},l.inherit(l.QUOTE_STRING_MODE,{className:"string"}),{className:"string",begin:/<.*?>/,end:/$/,illegal:"\\n"},l.C_LINE_COMMENT_MODE,l.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+o.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:o,contains:[l.UNDERSCORE_TITLE_MODE]},{begin:"\\."+l.UNDERSCORE_IDENT_RE,relevance:0}]}}function hB(l){const t=l.regex,e=["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","class","close","closedir","connect","continue","cos","crypt","dbmclose","dbmopen","defined","delete","die","do","dump","each","else","elsif","endgrent","endhostent","endnetent","endprotoent","endpwent","endservent","eof","eval","exec","exists","exit","exp","fcntl","field","fileno","flock","for","foreach","fork","format","formline","getc","getgrent","getgrgid","getgrnam","gethostbyaddr","gethostbyname","gethostent","getlogin","getnetbyaddr","getnetbyname","getnetent","getpeername","getpgrp","getpriority","getprotobyname","getprotobynumber","getprotoent","getpwent","getpwnam","getpwuid","getservbyname","getservbyport","getservent","getsockname","getsockopt","given","glob","gmtime","goto","grep","gt","hex","if","index","int","ioctl","join","keys","kill","last","lc","lcfirst","length","link","listen","local","localtime","log","lstat","lt","ma","map","method","mkdir","msgctl","msgget","msgrcv","msgsnd","my","ne","next","no","not","oct","open","opendir","or","ord","our","pack","package","pipe","pop","pos","print","printf","prototype","push","q|0","qq","quotemeta","qw","qx","rand","read","readdir","readline","readlink","readpipe","recv","redo","ref","rename","require","reset","return","reverse","rewinddir","rindex","rmdir","say","scalar","seek","seekdir","select","semctl","semget","semop","send","setgrent","sethostent","setnetent","setpgrp","setpriority","setprotoent","setpwent","setservent","setsockopt","shift","shmctl","shmget","shmread","shmwrite","shutdown","sin","sleep","socket","socketpair","sort","splice","split","sprintf","sqrt","srand","stat","state","study","sub","substr","symlink","syscall","sysopen","sysread","sysseek","system","syswrite","tell","telldir","tie","tied","time","times","tr","truncate","uc","ucfirst","umask","undef","unless","unlink","unpack","unshift","untie","until","use","utime","values","vec","wait","waitpid","wantarray","warn","when","while","write","x|0","xor","y|0"],n=/[dualxmsipngr]{0,12}/,i={$pattern:/[\w.]+/,keyword:e.join(" ")},s={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:i},a={begin:/->\{/,end:/\}/},c={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},o={scope:"variable",variants:[{begin:/\$\d/},{begin:t.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[c]},d={className:"number",variants:[{match:/0?\.[0-9][0-9_]+\b/},{match:/\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/},{match:/\b0[0-7][0-7_]*\b/},{match:/\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/},{match:/\b0b[0-1][0-1_]*\b/}],relevance:0},h=[l.BACKSLASH_ESCAPE,s,o],b=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],p=(T,Y,L="\\1")=>{const x=L==="\\1"?L:t.concat(L,Y);return t.concat(t.concat("(?:",T,")"),Y,/(?:\\.|[^\\\/])*?/,x,/(?:\\.|[^\\\/])*?/,L,n)},y=(T,Y,L)=>t.concat(t.concat("(?:",T,")"),Y,/(?:\\.|[^\\\/])*?/,L,n),M=[o,l.HASH_COMMENT_MODE,l.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),a,{className:"string",contains:h,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[l.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[l.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},d,{begin:"(\\/\\/|"+l.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[l.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:p("s|tr|y",t.either(...b,{capture:!0}))},{begin:p("s|tr|y","\\(","\\)")},{begin:p("s|tr|y","\\[","\\]")},{begin:p("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:y("(?:m|qr)?",/\//,/\//)},{begin:y("m|qr",t.either(...b,{capture:!0}),/\1/)},{begin:y("m|qr",/\(/,/\)/)},{begin:y("m|qr",/\[/,/\]/)},{begin:y("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[l.TITLE_MODE,c]},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,contains:[l.TITLE_MODE,c,d]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return s.contains=M,a.contains=M,{name:"Perl",aliases:["pl","pm"],keywords:i,contains:M}}function bB(l){const t=l.regex,e=/(?![A-Za-z0-9])(?![$])/,n=t.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,e),i=t.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,e),s=t.concat(/[A-Z]+/,e),a={scope:"variable",match:"\\$+"+n},c={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},o={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},d=l.inherit(l.APOS_STRING_MODE,{illegal:null}),h=l.inherit(l.QUOTE_STRING_MODE,{illegal:null,contains:l.QUOTE_STRING_MODE.contains.concat(o)}),b={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:l.QUOTE_STRING_MODE.contains.concat(o),"on:begin":(dt,It)=>{It.data._beginMatch=dt[1]||dt[2]},"on:end":(dt,It)=>{It.data._beginMatch!==dt[1]&&It.ignoreMatch()}},p=l.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),y=`[
|
||
]`,M={scope:"string",variants:[h,d,b,p]},T={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},Y=["false","null","true"],L=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],x=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],F={keyword:L,literal:(dt=>{const It=[];return dt.forEach(kt=>{It.push(kt),kt.toLowerCase()===kt?It.push(kt.toUpperCase()):It.push(kt.toLowerCase())}),It})(Y),built_in:x},j=dt=>dt.map(It=>It.replace(/\|\d+$/,"")),D={variants:[{match:[/new/,t.concat(y,"+"),t.concat("(?!",j(x).join("\\b|"),"\\b)"),i],scope:{1:"keyword",4:"title.class"}}]},_=t.concat(n,"\\b(?!\\()"),ut={variants:[{match:[t.concat(/::/,t.lookahead(/(?!class\b)/)),_],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[i,t.concat(/::/,t.lookahead(/(?!class\b)/)),_],scope:{1:"title.class",3:"variable.constant"}},{match:[i,t.concat("::",t.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[i,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},K={scope:"attr",match:t.concat(n,t.lookahead(":"),t.lookahead(/(?!::)/))},f={relevance:0,begin:/\(/,end:/\)/,keywords:F,contains:[K,a,ut,l.C_BLOCK_COMMENT_MODE,M,T,D]},lt={relevance:0,match:[/\b/,t.concat("(?!fn\\b|function\\b|",j(L).join("\\b|"),"|",j(x).join("\\b|"),"\\b)"),n,t.concat(y,"*"),t.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[f]};f.contains.push(lt);const tt=[K,ut,l.C_BLOCK_COMMENT_MODE,M,T,D],ht={begin:t.concat(/#\[\s*\\?/,t.either(i,s)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:Y,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:Y,keyword:["new","array"]},contains:["self",...tt]},...tt,{scope:"meta",variants:[{match:i},{match:s}]}]};return{case_insensitive:!1,keywords:F,contains:[ht,l.HASH_COMMENT_MODE,l.COMMENT("//","$"),l.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:l.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},c,{scope:"variable.language",match:/\$this\b/},a,lt,ut,{match:[/const/,/\s/,n],scope:{1:"keyword",3:"variable.constant"}},D,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},l.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:F,contains:["self",ht,a,ut,l.C_BLOCK_COMMENT_MODE,M,T]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},l.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[l.inherit(l.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},l.UNDERSCORE_TITLE_MODE]},M,T]}}function ZB(l){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},l.inherit(l.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),l.inherit(l.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}function pB(l){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}function yB(l){const t=l.regex,e=new RegExp("[\\p{XID_Start}_]\\p{XID_Continue}*","u"),n=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],c={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:n,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},o={className:"meta",begin:/^(>>>|\.\.\.) /},d={className:"subst",begin:/\{/,end:/\}/,keywords:c,illegal:/#/},h={begin:/\{\{/,relevance:0},b={className:"string",contains:[l.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[l.BACKSLASH_ESCAPE,o],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[l.BACKSLASH_ESCAPE,o],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[l.BACKSLASH_ESCAPE,o,h,d]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[l.BACKSLASH_ESCAPE,o,h,d]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[l.BACKSLASH_ESCAPE,h,d]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[l.BACKSLASH_ESCAPE,h,d]},l.APOS_STRING_MODE,l.QUOTE_STRING_MODE]},p="[0-9](_?[0-9])*",y=`(\\b(${p}))?\\.(${p})|\\b(${p})\\.`,M=`\\b|${n.join("|")}`,T={className:"number",relevance:0,variants:[{begin:`(\\b(${p})|(${y}))[eE][+-]?(${p})[jJ]?(?=${M})`},{begin:`(${y})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${M})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${M})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${M})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${M})`},{begin:`\\b(${p})[jJ](?=${M})`}]},Y={className:"comment",begin:t.lookahead(/# type:/),end:/$/,keywords:c,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},L={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:c,contains:["self",o,T,b,l.HASH_COMMENT_MODE]}]};return d.contains=[b,T,o],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:c,illegal:/(<\/|\?)|=>/,contains:[o,T,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},b,Y,l.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,e],scope:{1:"keyword",3:"title.function"},contains:[L]},{variants:[{match:[/\bclass/,/\s+/,e,/\s*/,/\(\s*/,e,/\s*\)/]},{match:[/\bclass/,/\s+/,e]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[T,L,b]}]}}function WB(l){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}function NB(l){const t=l.regex,e=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,n=t.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),i=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,s=t.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:e,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"},contains:[l.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:t.lookahead(t.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:e},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),l.HASH_COMMENT_MODE,{scope:"string",contains:[l.BACKSLASH_ESCAPE],variants:[l.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),l.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),l.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),l.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),l.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),l.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[i,n]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,n]},{scope:{1:"punctuation",2:"number"},match:[s,n]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,n]}]},{scope:{3:"operator"},match:[e,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:i},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:s},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}function MB(l){const t=l.regex,e="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",n=t.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),i=t.concat(n,/(::\w+)*/),a={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield",...["include","extend","prepend","public","private","protected","raise","throw"]],built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},c={className:"doctag",begin:"@[A-Za-z]+"},o={begin:"#<",end:">"},d=[l.COMMENT("#","$",{contains:[c]}),l.COMMENT("^=begin","^=end",{contains:[c],relevance:10}),l.COMMENT("^__END__",l.MATCH_NOTHING_RE)],h={className:"subst",begin:/#\{/,end:/\}/,keywords:a},b={className:"string",contains:[l.BACKSLASH_ESCAPE,h],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?</,end:/>/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:t.concat(/<<[-~]?'?/,t.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[l.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[l.BACKSLASH_ESCAPE,h]})]}]},p="[1-9](_?[0-9])*|0",y="[0-9](_?[0-9])*",M={className:"number",relevance:0,variants:[{begin:`\\b(${p})(\\.(${y}))?([eE][+-]?(${y})|r)?i?\\b`},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},T={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:a}]},D=[b,{variants:[{match:[/class\s+/,i,/\s+<\s+/,i]},{match:[/\b(class|module)\s+/,i]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:a},{match:[/(include|extend)\s+/,i],scope:{2:"title.class"},keywords:a},{relevance:0,match:[i,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:n,scope:"title.class"},{match:[/def/,/\s+/,e],scope:{1:"keyword",3:"title.function"},contains:[T]},{begin:l.IDENT_RE+"::"},{className:"symbol",begin:l.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[b,{begin:e}],relevance:0},M,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:a},{begin:"("+l.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[l.BACKSLASH_ESCAPE,h],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(o,d),relevance:0}].concat(o,d);h.contains=D,T.contains=D;const f=[{begin:/^\s*=>/,starts:{end:"$",contains:D}},{className:"meta.prompt",begin:"^("+"[>?]>"+"|"+"[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]"+"|"+"(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>"+")(?=[ ])",starts:{end:"$",keywords:a,contains:D}}];return d.unshift(o),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:a,illegal:/\/\*/,contains:[l.SHEBANG({binary:"ruby"})].concat(f).concat(d).concat(D)}}function GB(l){const t=l.regex,e=/(r#)?/,n=t.concat(e,l.UNDERSCORE_IDENT_RE),i=t.concat(e,l.IDENT_RE),s={className:"title.function.invoke",relevance:0,begin:t.concat(/\b/,/(?!let|for|while|if|else|match\b)/,i,t.lookahead(/\s*\(/))},a="([ui](8|16|32|64|128|size)|f(32|64))?",c=["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","union","unsafe","unsized","use","virtual","where","while","yield"],o=["true","false","Some","None","Ok","Err"],d=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","eprintln!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],h=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:l.IDENT_RE+"!?",type:h,keyword:c,literal:o,built_in:d},illegal:"</",contains:[l.C_LINE_COMMENT_MODE,l.COMMENT("/\\*","\\*/",{contains:["self"]}),l.inherit(l.QUOTE_STRING_MODE,{begin:/b?"/,illegal:null}),{className:"symbol",begin:/'[a-zA-Z_][a-zA-Z0-9_]*(?!')/},{scope:"string",variants:[{begin:/b?r(#*)"(.|\n)*?"\1(?!#)/},{begin:/b?'/,end:/'/,contains:[{scope:"char.escape",match:/\\('|\w|x\w{2}|u\w{4}|U\w{8})/}]}]},{className:"number",variants:[{begin:"\\b0b([01_]+)"+a},{begin:"\\b0o([0-7_]+)"+a},{begin:"\\b0x([A-Fa-f0-9_]+)"+a},{begin:"\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)"+a}],relevance:0},{begin:[/fn/,/\s+/,n],className:{1:"keyword",3:"title.function"}},{className:"meta",begin:"#!?\\[",end:"\\]",contains:[{className:"string",begin:/"/,end:/"/,contains:[l.BACKSLASH_ESCAPE]}]},{begin:[/let/,/\s+/,/(?:mut\s+)?/,n],className:{1:"keyword",3:"keyword",4:"variable"}},{begin:[/for/,/\s+/,n,/\s+/,/in/],className:{1:"keyword",3:"variable",5:"keyword"}},{begin:[/type/,/\s+/,n],className:{1:"keyword",3:"title.class"}},{begin:[/(?:trait|enum|struct|union|impl|for)/,/\s+/,n],className:{1:"keyword",3:"title.class"}},{begin:l.IDENT_RE+"::",keywords:{keyword:"Self",built_in:d,type:h}},{className:"punctuation",begin:"->"},s]}}const TB=l=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:l.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[l.APOS_STRING_MODE,l.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:l.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),XB=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],YB=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],LB=[...XB,...YB],VB=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),IB=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),wB=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),zB=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function gB(l){const t=TB(l),e=wB,n=IB,i="@[a-z-]+",s="and or not only",c={className:"variable",begin:"(\\$"+"[a-zA-Z-][a-zA-Z0-9_-]*"+")\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[l.C_LINE_COMMENT_MODE,l.C_BLOCK_COMMENT_MODE,t.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+LB.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+n.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+e.join("|")+")"},c,{begin:/\(/,end:/\)/,contains:[t.CSS_NUMBER_MODE]},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+zB.join("|")+")\\b"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:/:/,end:/[;}{]/,relevance:0,contains:[t.BLOCK_COMMENT,c,t.HEXCOLOR,t.CSS_NUMBER_MODE,l.QUOTE_STRING_MODE,l.APOS_STRING_MODE,t.IMPORTANT,t.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:i,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:s,attribute:VB.join(" ")},contains:[{begin:i,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},c,l.QUOTE_STRING_MODE,l.APOS_STRING_MODE,t.HEXCOLOR,t.CSS_NUMBER_MODE]},t.FUNCTION_DISPATCH]}}function xB(l){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}function fB(l){const t=l.regex,e=l.COMMENT("--","$"),n={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},i={begin:/"/,end:/"/,contains:[{match:/""/}]},s=["true","false","unknown"],a=["double precision","large object","with timezone","without timezone"],c=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],o=["add","asc","collation","desc","final","first","last","view"],d=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],h=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],b=["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"],p=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],y=h,M=[...d,...o].filter(j=>!h.includes(j)),T={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},Y={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},L={match:t.concat(/\b/,t.either(...y),/\s*\(/),relevance:0,keywords:{built_in:y}};function x(j){return t.concat(/\b/,t.either(...j.map(D=>D.replace(/\s+/,"\\s+"))),/\b/)}const g={scope:"keyword",match:x(p),relevance:0};function F(j,{exceptions:D,when:_}={}){const ut=_;return D=D||[],j.map(K=>K.match(/\|\d+$/)||D.includes(K)?K:ut(K)?`${K}|0`:K)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:F(M,{when:j=>j.length<3}),literal:s,type:c,built_in:b},contains:[{scope:"type",match:x(a)},g,L,T,n,i,l.C_NUMBER_MODE,l.C_BLOCK_COMMENT_MODE,e,Y]}}function gS(l){return l?typeof l=="string"?l:l.source:null}function Ep(l){return Gn("(?=",l,")")}function Gn(...l){return l.map(e=>gS(e)).join("")}function SB(l){const t=l[l.length-1];return typeof t=="object"&&t.constructor===Object?(l.splice(l.length-1,1),t):{}}function Es(...l){return"("+(SB(l).capture?"":"?:")+l.map(n=>gS(n)).join("|")+")"}const IV=l=>Gn(/\b/,l,/\w$/.test(l)?/\b/:/\B/),RB=["Protocol","Type"].map(IV),Jg=["init","self"].map(IV),kB=["Any","Self"],QT=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","borrowing","break","case","catch","class","consume","consuming","continue","convenience","copy","default","defer","deinit","didSet","distributed","do","dynamic","each","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","macro","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","package","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],vg=["false","nil","true"],DB=["assignment","associativity","higherThan","left","lowerThan","none","right"],OB=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],Ug=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],xS=Es(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),fS=Es(xS,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),BT=Gn(xS,fS,"*"),SS=Es(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),zM=Es(SS,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),Yr=Gn(SS,zM,"*"),r1=Gn(/[A-Z]/,zM,"*"),jB=["attached","autoclosure",Gn(/convention\(/,Es("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",Gn(/objc\(/,Yr,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],CB=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function FB(l){const t={match:/\s+/,relevance:0},e=l.COMMENT("/\\*","\\*/",{contains:["self"]}),n=[l.C_LINE_COMMENT_MODE,e],i={match:[/\./,Es(...RB,...Jg)],className:{2:"keyword"}},s={match:Gn(/\./,Es(...QT)),relevance:0},a=QT.filter(Ke=>typeof Ke=="string").concat(["_|0"]),c=QT.filter(Ke=>typeof Ke!="string").concat(kB).map(IV),o={variants:[{className:"keyword",match:Es(...c,...Jg)}]},d={$pattern:Es(/\b\w+/,/#\w+/),keyword:a.concat(OB),literal:vg},h=[i,s,o],b={match:Gn(/\./,Es(...Ug)),relevance:0},p={className:"built_in",match:Gn(/\b/,Es(...Ug),/(?=\()/)},y=[b,p],M={match:/->/,relevance:0},T={className:"operator",relevance:0,variants:[{match:BT},{match:`\\.(\\.|${fS})+`}]},Y=[M,T],L="([0-9]_*)+",x="([0-9a-fA-F]_*)+",g={className:"number",relevance:0,variants:[{match:`\\b(${L})(\\.(${L}))?([eE][+-]?(${L}))?\\b`},{match:`\\b0x(${x})(\\.(${x}))?([pP][+-]?(${L}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},F=(Ke="")=>({className:"subst",variants:[{match:Gn(/\\/,Ke,/[0\\tnr"']/)},{match:Gn(/\\/,Ke,/u\{[0-9a-fA-F]{1,8}\}/)}]}),j=(Ke="")=>({className:"subst",match:Gn(/\\/,Ke,/[\t ]*(?:[\r\n]|\r\n)/)}),D=(Ke="")=>({className:"subst",label:"interpol",begin:Gn(/\\/,Ke,/\(/),end:/\)/}),_=(Ke="")=>({begin:Gn(Ke,/"""/),end:Gn(/"""/,Ke),contains:[F(Ke),j(Ke),D(Ke)]}),ut=(Ke="")=>({begin:Gn(Ke,/"/),end:Gn(/"/,Ke),contains:[F(Ke),D(Ke)]}),K={className:"string",variants:[_(),_("#"),_("##"),_("###"),ut(),ut("#"),ut("##"),ut("###")]},f=[l.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[l.BACKSLASH_ESCAPE]}],lt={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:f},tt=Ke=>{const Vl=Gn(Ke,/\//),gl=Gn(/\//,Ke);return{begin:Vl,end:gl,contains:[...f,{scope:"comment",begin:`#(?!.*${gl})`,end:/$/}]}},ht={scope:"regexp",variants:[tt("###"),tt("##"),tt("#"),lt]},dt={match:Gn(/`/,Yr,/`/)},It={className:"variable",match:/\$\d+/},kt={className:"variable",match:`\\$${zM}+`},Gt=[dt,It,kt],gt={match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:CB,contains:[...Y,g,K]}]}},vt={scope:"keyword",match:Gn(/@/,Es(...jB),Ep(Es(/\(/,/\s+/)))},H={scope:"meta",match:Gn(/@/,Yr)},nt=[gt,vt,H],bt={match:Ep(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:Gn(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,zM,"+")},{className:"type",match:r1,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:Gn(/\s+&\s+/,Ep(r1)),relevance:0}]},$={begin:/</,end:/>/,keywords:d,contains:[...n,...h,...nt,M,bt]};bt.contains.push($);const _t={match:Gn(Yr,/\s*:/),keywords:"_|0",relevance:0},ce={begin:/\(/,end:/\)/,relevance:0,keywords:d,contains:["self",_t,...n,ht,...h,...y,...Y,g,K,...Gt,...nt,bt]},ne={begin:/</,end:/>/,keywords:"repeat each",contains:[...n,bt]},Nt={begin:Es(Ep(Gn(Yr,/\s*:/)),Ep(Gn(Yr,/\s+/,Yr,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:Yr}]},xt={begin:/\(/,end:/\)/,keywords:d,contains:[Nt,...n,...h,...Y,g,K,...nt,bt,ce],endsParent:!0,illegal:/["']/},Zt={match:[/(func|macro)/,/\s+/,Es(dt.match,Yr,BT)],className:{1:"keyword",3:"title.function"},contains:[ne,xt,t],illegal:[/\[/,/%/]},Ft={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[ne,xt,t],illegal:/\[|%/},te={match:[/operator/,/\s+/,BT],className:{1:"keyword",3:"title"}},he={begin:[/precedencegroup/,/\s+/,r1],className:{1:"keyword",3:"title"},contains:[bt],keywords:[...DB,...vg],end:/}/},$e={match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:"keyword",3:"keyword",5:"title.function"}},je={match:[/class\b/,/\s+/,/var\b/],scope:{1:"keyword",3:"keyword"}},xe={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,Yr,/\s*/],beginScope:{1:"keyword",3:"title.class"},keywords:d,contains:[ne,...h,{begin:/:/,end:/\{/,keywords:d,contains:[{scope:"title.class.inherited",match:r1},...h],relevance:0}]};for(const Ke of K.variants){const Vl=Ke.contains.find(Pl=>Pl.label==="interpol");Vl.keywords=d;const gl=[...h,...y,...Y,g,K,...Gt];Vl.contains=[...gl,{begin:/\(/,end:/\)/,contains:["self",...gl]}]}return{name:"Swift",keywords:d,contains:[...n,Zt,Ft,$e,je,xe,te,he,{beginKeywords:"import",end:/$/,contains:[...n],relevance:0},ht,...h,...y,...Y,g,K,...Gt,...nt,bt,ce]}}const gM="[A-Za-z$_][0-9A-Za-z$_]*",RS=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],kS=["true","false","null","undefined","NaN","Infinity"],DS=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],OS=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],jS=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],CS=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],FS=[].concat(jS,DS,OS);function JB(l){const t=l.regex,e=(gt,{after:vt})=>{const H="</"+gt[0].slice(1);return gt.input.indexOf(H,vt)!==-1},n=gM,i={begin:"<>",end:"</>"},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,a={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(gt,vt)=>{const H=gt[0].length+gt.index,nt=gt.input[H];if(nt==="<"||nt===","){vt.ignoreMatch();return}nt===">"&&(e(gt,{after:H})||vt.ignoreMatch());let bt;const $=gt.input.substring(H);if(bt=$.match(/^\s*=/)){vt.ignoreMatch();return}if((bt=$.match(/^\s+extends\s+/))&&bt.index===0){vt.ignoreMatch();return}}},c={$pattern:gM,keyword:RS,literal:kS,built_in:FS,"variable.language":CS},o="[0-9](_?[0-9])*",d=`\\.(${o})`,h="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",b={className:"number",variants:[{begin:`(\\b(${h})((${d})|\\.)?|(${d}))[eE][+-]?(${o})\\b`},{begin:`\\b(${h})\\b((${d})\\b|\\.)?|(${d})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},p={className:"subst",begin:"\\$\\{",end:"\\}",keywords:c,contains:[]},y={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[l.BACKSLASH_ESCAPE,p],subLanguage:"xml"}},M={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[l.BACKSLASH_ESCAPE,p],subLanguage:"css"}},T={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[l.BACKSLASH_ESCAPE,p],subLanguage:"graphql"}},Y={className:"string",begin:"`",end:"`",contains:[l.BACKSLASH_ESCAPE,p]},x={className:"comment",variants:[l.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:n+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),l.C_BLOCK_COMMENT_MODE,l.C_LINE_COMMENT_MODE]},g=[l.APOS_STRING_MODE,l.QUOTE_STRING_MODE,y,M,T,Y,{match:/\$\d+/},b];p.contains=g.concat({begin:/\{/,end:/\}/,keywords:c,contains:["self"].concat(g)});const F=[].concat(x,p.contains),j=F.concat([{begin:/(\s*)\(/,end:/\)/,keywords:c,contains:["self"].concat(F)}]),D={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:c,contains:j},_={variants:[{match:[/class/,/\s+/,n,/\s+/,/extends/,/\s+/,t.concat(n,"(",t.concat(/\./,n),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,n],scope:{1:"keyword",3:"title.class"}}]},ut={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...DS,...OS]}},K={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},f={variants:[{match:[/function/,/\s+/,n,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[D],illegal:/%/},lt={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function tt(gt){return t.concat("(?!",gt.join("|"),")")}const ht={match:t.concat(/\b/,tt([...jS,"super","import"].map(gt=>`${gt}\\s*\\(`)),n,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},dt={begin:t.concat(/\./,t.lookahead(t.concat(n,/(?![0-9A-Za-z$_(])/))),end:n,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},It={match:[/get|set/,/\s+/,n,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},D]},kt="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+l.UNDERSCORE_IDENT_RE+")\\s*=>",Gt={match:[/const|var|let/,/\s+/,n,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(kt)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[D]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:c,exports:{PARAMS_CONTAINS:j,CLASS_REFERENCE:ut},illegal:/#(?![$_A-z])/,contains:[l.SHEBANG({label:"shebang",binary:"node",relevance:5}),K,l.APOS_STRING_MODE,l.QUOTE_STRING_MODE,y,M,T,Y,x,{match:/\$\d+/},b,ut,{scope:"attr",match:n+t.lookahead(":"),relevance:0},Gt,{begin:"("+l.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[x,l.REGEXP_MODE,{className:"function",begin:kt,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:l.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:c,contains:j}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:i.begin,end:i.end},{match:s},{begin:a.begin,"on:begin":a.isTrulyOpeningTag,end:a.end}],subLanguage:"xml",contains:[{begin:a.begin,end:a.end,skip:!0,contains:["self"]}]}]},f,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+l.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[D,l.inherit(l.TITLE_MODE,{begin:n,className:"title.function"})]},{match:/\.\.\./,relevance:0},dt,{match:"\\$"+n,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[D]},ht,lt,_,It,{match:/\$[(.]/}]}}function vB(l){const t=l.regex,e=JB(l),n=gM,i=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],s={begin:[/namespace/,/\s+/,l.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},a={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:i},contains:[e.exports.CLASS_REFERENCE]},c={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},o=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],d={$pattern:gM,keyword:RS.concat(o),literal:kS,built_in:FS.concat(i),"variable.language":CS},h={className:"meta",begin:"@"+n},b=(T,Y,L)=>{const x=T.contains.findIndex(g=>g.label===Y);if(x===-1)throw new Error("can not find mode to replace");T.contains.splice(x,1,L)};Object.assign(e.keywords,d),e.exports.PARAMS_CONTAINS.push(h);const p=e.contains.find(T=>T.scope==="attr"),y=Object.assign({},p,{match:t.concat(n,t.lookahead(/\s*\?:/))});e.exports.PARAMS_CONTAINS.push([e.exports.CLASS_REFERENCE,p,y]),e.contains=e.contains.concat([h,s,a,y]),b(e,"shebang",l.SHEBANG()),b(e,"use_strict",c);const M=e.contains.find(T=>T.label==="func.def");return M.relevance=0,Object.assign(e,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),e}function UB(l){const t=l.regex,e={className:"string",begin:/"(""|[^/n])"C\b/},n={className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},i=/\d{1,2}\/\d{1,2}\/\d{4}/,s=/\d{4}-\d{1,2}-\d{1,2}/,a=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,c=/\d{1,2}(:\d{1,2}){1,2}/,o={className:"literal",variants:[{begin:t.concat(/# */,t.either(s,i),/ *#/)},{begin:t.concat(/# */,c,/ *#/)},{begin:t.concat(/# */,a,/ *#/)},{begin:t.concat(/# */,t.either(s,i),/ +/,t.either(a,c),/ *#/)}]},d={className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},h={className:"label",begin:/^\w+:/},b=l.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),p=l.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield",built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[e,n,o,d,h,b,p,{className:"meta",begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:"const disable else elseif enable end externalsource if region then"},contains:[p]}]}}function EB(l){l.regex;const t=l.COMMENT(/\(;/,/;\)/);t.contains.push("self");const e=l.COMMENT(/;;/,/$/),n=["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"],i={begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},s={className:"variable",begin:/\$[\w_]+/},a={match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},c={className:"number",relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/},o={match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},d={className:"keyword",match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/};return{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,keyword:n},contains:[e,t,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},s,a,i,l.QUOTE_STRING_MODE,o,d,c]}}function KB(l){const t=l.regex,e=t.concat(/[\p{L}_]/u,t.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),n=/[\p{L}0-9._:-]+/u,i={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},s={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},a=l.inherit(s,{begin:/\(/,end:/\)/}),c=l.inherit(l.APOS_STRING_MODE,{className:"string"}),o=l.inherit(l.QUOTE_STRING_MODE,{className:"string"}),d={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:n,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[i]},{begin:/'/,end:/'/,contains:[i]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[s,o,c,a,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[s,a,o,c]}]}]},l.COMMENT(/\x3C!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},i,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[o]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[d],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[d],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:t.concat(/</,t.lookahead(t.concat(e,t.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:e,relevance:0,starts:d}]},{className:"tag",begin:t.concat(/<\//,t.lookahead(t.concat(e,/>/))),contains:[{className:"name",begin:e,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}function PB(l){const t="true false yes no null",e="[\\w#;/?:@&=+$,.~*'()[\\]]+",n={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},i={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},s={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},a={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[l.BACKSLASH_ESCAPE,i]},c=l.inherit(a,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),p={className:"number",begin:"\\b"+"[0-9]{4}(-[0-9][0-9]){0,2}"+"([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?"+"(\\.[0-9]*)?"+"([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?"+"\\b"},y={end:",",endsWithParent:!0,excludeEnd:!0,keywords:t,relevance:0},M={begin:/\{/,end:/\}/,contains:[y],illegal:"\\n",relevance:0},T={begin:"\\[",end:"\\]",contains:[y],illegal:"\\n",relevance:0},Y=[n,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+e},{className:"type",begin:"!<"+e+">"},{className:"type",begin:"!"+e},{className:"type",begin:"!!"+e},{className:"meta",begin:"&"+l.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+l.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},l.HASH_COMMENT_MODE,{beginKeywords:t,keywords:{literal:t}},p,{className:"number",begin:l.C_NUMBER_RE+"\\b",relevance:0},M,T,s,a],L=[...Y];return L.pop(),L.push(c),y.contains=L,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:Y}}const HB={arduino:wQ,bash:zQ,c:gQ,cpp:xQ,csharp:fQ,css:JQ,diff:vQ,go:UQ,graphql:EQ,ini:KQ,java:PQ,javascript:_Q,json:qQ,kotlin:tB,less:rB,lua:oB,makefile:dB,markdown:uB,objectivec:mB,perl:hB,php:bB,"php-template":ZB,plaintext:pB,python:yB,"python-repl":WB,r:NB,ruby:MB,rust:GB,scss:gB,shell:xB,sql:fB,swift:FB,typescript:vB,vbnet:UB,wasm:EB,xml:KB,yaml:PB};var AT,Eg;function QB(){if(Eg)return AT;Eg=1;function l(it){return it instanceof Map?it.clear=it.delete=it.set=function(){throw new Error("map is read-only")}:it instanceof Set&&(it.add=it.clear=it.delete=function(){throw new Error("set is read-only")}),Object.freeze(it),Object.getOwnPropertyNames(it).forEach(Et=>{const le=it[Et],Me=typeof le;(Me==="object"||Me==="function")&&!Object.isFrozen(le)&&l(le)}),it}class t{constructor(Et){Et.data===void 0&&(Et.data={}),this.data=Et.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function e(it){return it.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function n(it,...Et){const le=Object.create(null);for(const Me in it)le[Me]=it[Me];return Et.forEach(function(Me){for(const ml in Me)le[ml]=Me[ml]}),le}const i="</span>",s=it=>!!it.scope,a=(it,{prefix:Et})=>{if(it.startsWith("language:"))return it.replace("language:","language-");if(it.includes(".")){const le=it.split(".");return[`${Et}${le.shift()}`,...le.map((Me,ml)=>`${Me}${"_".repeat(ml+1)}`)].join(" ")}return`${Et}${it}`};class c{constructor(Et,le){this.buffer="",this.classPrefix=le.classPrefix,Et.walk(this)}addText(Et){this.buffer+=e(Et)}openNode(Et){if(!s(Et))return;const le=a(Et.scope,{prefix:this.classPrefix});this.span(le)}closeNode(Et){s(Et)&&(this.buffer+=i)}value(){return this.buffer}span(Et){this.buffer+=`<span class="${Et}">`}}const o=(it={})=>{const Et={children:[]};return Object.assign(Et,it),Et};class d{constructor(){this.rootNode=o(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(Et){this.top.children.push(Et)}openNode(Et){const le=o({scope:Et});this.add(le),this.stack.push(le)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(Et){return this.constructor._walk(Et,this.rootNode)}static _walk(Et,le){return typeof le=="string"?Et.addText(le):le.children&&(Et.openNode(le),le.children.forEach(Me=>this._walk(Et,Me)),Et.closeNode(le)),Et}static _collapse(Et){typeof Et!="string"&&Et.children&&(Et.children.every(le=>typeof le=="string")?Et.children=[Et.children.join("")]:Et.children.forEach(le=>{d._collapse(le)}))}}class h extends d{constructor(Et){super(),this.options=Et}addText(Et){Et!==""&&this.add(Et)}startScope(Et){this.openNode(Et)}endScope(){this.closeNode()}__addSublanguage(Et,le){const Me=Et.root;le&&(Me.scope=`language:${le}`),this.add(Me)}toHTML(){return new c(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function b(it){return it?typeof it=="string"?it:it.source:null}function p(it){return T("(?=",it,")")}function y(it){return T("(?:",it,")*")}function M(it){return T("(?:",it,")?")}function T(...it){return it.map(le=>b(le)).join("")}function Y(it){const Et=it[it.length-1];return typeof Et=="object"&&Et.constructor===Object?(it.splice(it.length-1,1),Et):{}}function L(...it){return"("+(Y(it).capture?"":"?:")+it.map(Me=>b(Me)).join("|")+")"}function x(it){return new RegExp(it.toString()+"|").exec("").length-1}function g(it,Et){const le=it&&it.exec(Et);return le&&le.index===0}const F=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function j(it,{joinWith:Et}){let le=0;return it.map(Me=>{le+=1;const ml=le;let Ne=b(Me),Ut="";for(;Ne.length>0;){const At=F.exec(Ne);if(!At){Ut+=Ne;break}Ut+=Ne.substring(0,At.index),Ne=Ne.substring(At.index+At[0].length),At[0][0]==="\\"&&At[1]?Ut+="\\"+String(Number(At[1])+ml):(Ut+=At[0],At[0]==="("&&le++)}return Ut}).map(Me=>`(${Me})`).join(Et)}const D=/\b\B/,_="[a-zA-Z]\\w*",ut="[a-zA-Z_]\\w*",K="\\b\\d+(\\.\\d+)?",f="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",lt="\\b(0b[01]+)",tt="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",ht=(it={})=>{const Et=/^#![ ]*\//;return it.binary&&(it.begin=T(Et,/.*\b/,it.binary,/\b.*/)),n({scope:"meta",begin:Et,end:/$/,relevance:0,"on:begin":(le,Me)=>{le.index!==0&&Me.ignoreMatch()}},it)},dt={begin:"\\\\[\\s\\S]",relevance:0},It={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[dt]},kt={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[dt]},Gt={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},gt=function(it,Et,le={}){const Me=n({scope:"comment",begin:it,end:Et,contains:[]},le);Me.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const ml=L("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return Me.contains.push({begin:T(/[ ]+/,"(",ml,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),Me},vt=gt("//","$"),H=gt("/\\*","\\*/"),nt=gt("#","$"),bt={scope:"number",begin:K,relevance:0},$={scope:"number",begin:f,relevance:0},_t={scope:"number",begin:lt,relevance:0},ce={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[dt,{begin:/\[/,end:/\]/,relevance:0,contains:[dt]}]},ne={scope:"title",begin:_,relevance:0},Nt={scope:"title",begin:ut,relevance:0},xt={begin:"\\.\\s*"+ut,relevance:0};var Ft=Object.freeze({__proto__:null,APOS_STRING_MODE:It,BACKSLASH_ESCAPE:dt,BINARY_NUMBER_MODE:_t,BINARY_NUMBER_RE:lt,COMMENT:gt,C_BLOCK_COMMENT_MODE:H,C_LINE_COMMENT_MODE:vt,C_NUMBER_MODE:$,C_NUMBER_RE:f,END_SAME_AS_BEGIN:function(it){return Object.assign(it,{"on:begin":(Et,le)=>{le.data._beginMatch=Et[1]},"on:end":(Et,le)=>{le.data._beginMatch!==Et[1]&&le.ignoreMatch()}})},HASH_COMMENT_MODE:nt,IDENT_RE:_,MATCH_NOTHING_RE:D,METHOD_GUARD:xt,NUMBER_MODE:bt,NUMBER_RE:K,PHRASAL_WORDS_MODE:Gt,QUOTE_STRING_MODE:kt,REGEXP_MODE:ce,RE_STARTERS_RE:tt,SHEBANG:ht,TITLE_MODE:ne,UNDERSCORE_IDENT_RE:ut,UNDERSCORE_TITLE_MODE:Nt});function te(it,Et){it.input[it.index-1]==="."&&Et.ignoreMatch()}function he(it,Et){it.className!==void 0&&(it.scope=it.className,delete it.className)}function $e(it,Et){Et&&it.beginKeywords&&(it.begin="\\b("+it.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",it.__beforeBegin=te,it.keywords=it.keywords||it.beginKeywords,delete it.beginKeywords,it.relevance===void 0&&(it.relevance=0))}function je(it,Et){Array.isArray(it.illegal)&&(it.illegal=L(...it.illegal))}function xe(it,Et){if(it.match){if(it.begin||it.end)throw new Error("begin & end are not supported with match");it.begin=it.match,delete it.match}}function Ke(it,Et){it.relevance===void 0&&(it.relevance=1)}const Vl=(it,Et)=>{if(!it.beforeMatch)return;if(it.starts)throw new Error("beforeMatch cannot be used with starts");const le=Object.assign({},it);Object.keys(it).forEach(Me=>{delete it[Me]}),it.keywords=le.keywords,it.begin=T(le.beforeMatch,p(le.begin)),it.starts={relevance:0,contains:[Object.assign(le,{endsParent:!0})]},it.relevance=0,delete le.beforeMatch},gl=["of","and","for","in","not","or","if","then","parent","list","value"],Pl="keyword";function Ql(it,Et,le=Pl){const Me=Object.create(null);return typeof it=="string"?ml(le,it.split(" ")):Array.isArray(it)?ml(le,it):Object.keys(it).forEach(function(Ne){Object.assign(Me,Ql(it[Ne],Et,Ne))}),Me;function ml(Ne,Ut){Et&&(Ut=Ut.map(At=>At.toLowerCase())),Ut.forEach(function(At){const Qt=At.split("|");Me[Qt[0]]=[Ne,El(Qt[0],Qt[1])]})}}function El(it,Et){return Et?Number(Et):pn(it)?0:1}function pn(it){return gl.includes(it.toLowerCase())}const sn={},qt=it=>{console.error(it)},de=(it,...Et)=>{console.log(`WARN: ${it}`,...Et)},Yt=(it,Et)=>{sn[`${it}/${Et}`]||(console.log(`Deprecated as of ${it}. ${Et}`),sn[`${it}/${Et}`]=!0)},Jt=new Error;function be(it,Et,{key:le}){let Me=0;const ml=it[le],Ne={},Ut={};for(let At=1;At<=Et.length;At++)Ut[At+Me]=ml[At],Ne[At+Me]=!0,Me+=x(Et[At-1]);it[le]=Ut,it[le]._emit=Ne,it[le]._multi=!0}function ee(it){if(Array.isArray(it.begin)){if(it.skip||it.excludeBegin||it.returnBegin)throw qt("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),Jt;if(typeof it.beginScope!="object"||it.beginScope===null)throw qt("beginScope must be object"),Jt;be(it,it.begin,{key:"beginScope"}),it.begin=j(it.begin,{joinWith:""})}}function Q(it){if(Array.isArray(it.end)){if(it.skip||it.excludeEnd||it.returnEnd)throw qt("skip, excludeEnd, returnEnd not compatible with endScope: {}"),Jt;if(typeof it.endScope!="object"||it.endScope===null)throw qt("endScope must be object"),Jt;be(it,it.end,{key:"endScope"}),it.end=j(it.end,{joinWith:""})}}function C(it){it.scope&&typeof it.scope=="object"&&it.scope!==null&&(it.beginScope=it.scope,delete it.scope)}function q(it){C(it),typeof it.beginScope=="string"&&(it.beginScope={_wrap:it.beginScope}),typeof it.endScope=="string"&&(it.endScope={_wrap:it.endScope}),ee(it),Q(it)}function mt(it){function Et(Ut,At){return new RegExp(b(Ut),"m"+(it.case_insensitive?"i":"")+(it.unicodeRegex?"u":"")+(At?"g":""))}class le{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(At,Qt){Qt.position=this.position++,this.matchIndexes[this.matchAt]=Qt,this.regexes.push([Qt,At]),this.matchAt+=x(At)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const At=this.regexes.map(Qt=>Qt[1]);this.matcherRe=Et(j(At,{joinWith:"|"}),!0),this.lastIndex=0}exec(At){this.matcherRe.lastIndex=this.lastIndex;const Qt=this.matcherRe.exec(At);if(!Qt)return null;const Ve=Qt.findIndex((hn,Bl)=>Bl>0&&hn!==void 0),He=this.matchIndexes[Ve];return Qt.splice(0,Ve),Object.assign(Qt,He)}}class Me{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(At){if(this.multiRegexes[At])return this.multiRegexes[At];const Qt=new le;return this.rules.slice(At).forEach(([Ve,He])=>Qt.addRule(Ve,He)),Qt.compile(),this.multiRegexes[At]=Qt,Qt}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(At,Qt){this.rules.push([At,Qt]),Qt.type==="begin"&&this.count++}exec(At){const Qt=this.getMatcher(this.regexIndex);Qt.lastIndex=this.lastIndex;let Ve=Qt.exec(At);if(this.resumingScanAtSamePosition()&&!(Ve&&Ve.index===this.lastIndex)){const He=this.getMatcher(0);He.lastIndex=this.lastIndex+1,Ve=He.exec(At)}return Ve&&(this.regexIndex+=Ve.position+1,this.regexIndex===this.count&&this.considerAll()),Ve}}function ml(Ut){const At=new Me;return Ut.contains.forEach(Qt=>At.addRule(Qt.begin,{rule:Qt,type:"begin"})),Ut.terminatorEnd&&At.addRule(Ut.terminatorEnd,{type:"end"}),Ut.illegal&&At.addRule(Ut.illegal,{type:"illegal"}),At}function Ne(Ut,At){const Qt=Ut;if(Ut.isCompiled)return Qt;[he,xe,q,Vl].forEach(He=>He(Ut,At)),it.compilerExtensions.forEach(He=>He(Ut,At)),Ut.__beforeBegin=null,[$e,je,Ke].forEach(He=>He(Ut,At)),Ut.isCompiled=!0;let Ve=null;return typeof Ut.keywords=="object"&&Ut.keywords.$pattern&&(Ut.keywords=Object.assign({},Ut.keywords),Ve=Ut.keywords.$pattern,delete Ut.keywords.$pattern),Ve=Ve||/\w+/,Ut.keywords&&(Ut.keywords=Ql(Ut.keywords,it.case_insensitive)),Qt.keywordPatternRe=Et(Ve,!0),At&&(Ut.begin||(Ut.begin=/\B|\b/),Qt.beginRe=Et(Qt.begin),!Ut.end&&!Ut.endsWithParent&&(Ut.end=/\B|\b/),Ut.end&&(Qt.endRe=Et(Qt.end)),Qt.terminatorEnd=b(Qt.end)||"",Ut.endsWithParent&&At.terminatorEnd&&(Qt.terminatorEnd+=(Ut.end?"|":"")+At.terminatorEnd)),Ut.illegal&&(Qt.illegalRe=Et(Ut.illegal)),Ut.contains||(Ut.contains=[]),Ut.contains=[].concat(...Ut.contains.map(function(He){return ie(He==="self"?Ut:He)})),Ut.contains.forEach(function(He){Ne(He,Qt)}),Ut.starts&&Ne(Ut.starts,At),Qt.matcher=ml(Qt),Qt}if(it.compilerExtensions||(it.compilerExtensions=[]),it.contains&&it.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return it.classNameAliases=n(it.classNameAliases||{}),Ne(it)}function Vt(it){return it?it.endsWithParent||Vt(it.starts):!1}function ie(it){return it.variants&&!it.cachedVariants&&(it.cachedVariants=it.variants.map(function(Et){return n(it,{variants:null},Et)})),it.cachedVariants?it.cachedVariants:Vt(it)?n(it,{starts:it.starts?n(it.starts):null}):Object.isFrozen(it)?n(it):it}var Ot="11.11.1";class fe extends Error{constructor(Et,le){super(Et),this.name="HTMLInjectionError",this.html=le}}const oe=e,_e=n,$t=Symbol("nomatch"),hl=7,xl=function(it){const Et=Object.create(null),le=Object.create(null),Me=[];let ml=!0;const Ne="Could not find the language '{}', did you forget to load/include a language module?",Ut={disableAutodetect:!0,name:"Plain text",contains:[]};let At={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:h};function Qt(ye){return At.noHighlightRe.test(ye)}function Ve(ye){let Qe=ye.className+" ";Qe+=ye.parentNode?ye.parentNode.className:"";const wl=At.languageDetectRe.exec(Qe);if(wl){const fl=si(wl[1]);return fl||(de(Ne.replace("{}",wl[1])),de("Falling back to no-highlight mode for this block.",ye)),fl?wl[1]:"no-highlight"}return Qe.split(/\s+/).find(fl=>Qt(fl)||si(fl))}function He(ye,Qe,wl){let fl="",On="";typeof Qe=="object"?(fl=ye,wl=Qe.ignoreIllegals,On=Qe.language):(Yt("10.7.0","highlight(lang, code, ...args) has been deprecated."),Yt("10.7.0",`Please use highlight(code, options) instead.
|
||
https://github.com/highlightjs/highlight.js/issues/2277`),On=ye,fl=Qe),wl===void 0&&(wl=!0);const ll={code:fl,language:On};ns("before:highlight",ll);const Wa=ll.result?ll.result:hn(ll.language,ll.code,wl);return Wa.code=ll.code,ns("after:highlight",Wa),Wa}function hn(ye,Qe,wl,fl){const On=Object.create(null);function ll(we,Fe){return we.keywords[Fe]}function Wa(){if(!Se.keywords){Bn.addText(an);return}let we=0;Se.keywordPatternRe.lastIndex=0;let Fe=Se.keywordPatternRe.exec(an),Ue="";for(;Fe;){Ue+=an.substring(we,Fe.index);const Ml=Ei.case_insensitive?Fe[0].toLowerCase():Fe[0],yn=ll(Se,Ml);if(yn){const[jn,M0]=yn;if(Bn.addText(Ue),Ue="",On[Ml]=(On[Ml]||0)+1,On[Ml]<=hl&&(mi+=M0),jn.startsWith("_"))Ue+=Fe[0];else{const Ga=Ei.classNameAliases[jn]||jn;kl(Fe[0],Ga)}}else Ue+=Fe[0];we=Se.keywordPatternRe.lastIndex,Fe=Se.keywordPatternRe.exec(an)}Ue+=an.substring(we),Bn.addText(Ue)}function ao(){if(an==="")return;let we=null;if(typeof Se.subLanguage=="string"){if(!Et[Se.subLanguage]){Bn.addText(an);return}we=hn(Se.subLanguage,an,!0,co[Se.subLanguage]),co[Se.subLanguage]=we._top}else we=Yn(an,Se.subLanguage.length?Se.subLanguage:null);Se.relevance>0&&(mi+=we.relevance),Bn.__addSublanguage(we._emitter,we.language)}function Ui(){Se.subLanguage!=null?ao():Wa(),an=""}function kl(we,Fe){we!==""&&(Bn.startScope(Fe),Bn.addText(we),Bn.endScope())}function Na(we,Fe){let Ue=1;const Ml=Fe.length-1;for(;Ue<=Ml;){if(!we._emit[Ue]){Ue++;continue}const yn=Ei.classNameAliases[we[Ue]]||we[Ue],jn=Fe[Ue];yn?kl(jn,yn):(an=jn,Wa(),an=""),Ue++}}function ta(we,Fe){return we.scope&&typeof we.scope=="string"&&Bn.openNode(Ei.classNameAliases[we.scope]||we.scope),we.beginScope&&(we.beginScope._wrap?(kl(an,Ei.classNameAliases[we.beginScope._wrap]||we.beginScope._wrap),an=""):we.beginScope._multi&&(Na(we.beginScope,Fe),an="")),Se=Object.create(we,{parent:{value:Se}}),Se}function ea(we,Fe,Ue){let Ml=g(we.endRe,Ue);if(Ml){if(we["on:end"]){const yn=new t(we);we["on:end"](Fe,yn),yn.isMatchIgnored&&(Ml=!1)}if(Ml){for(;we.endsParent&&we.parent;)we=we.parent;return we}}if(we.endsWithParent)return ea(we.parent,Fe,Ue)}function y0(we){return Se.matcher.regexIndex===0?(an+=we[0],1):(ss=!0,0)}function W0(we){const Fe=we[0],Ue=we.rule,Ml=new t(Ue),yn=[Ue.__beforeBegin,Ue["on:begin"]];for(const jn of yn)if(jn&&(jn(we,Ml),Ml.isMatchIgnored))return y0(Fe);return Ue.skip?an+=Fe:(Ue.excludeBegin&&(an+=Fe),Ui(),!Ue.returnBegin&&!Ue.excludeBegin&&(an=Fe)),ta(Ue,we),Ue.returnBegin?0:Fe.length}function hr(we){const Fe=we[0],Ue=Qe.substring(we.index),Ml=ea(Se,we,Ue);if(!Ml)return $t;const yn=Se;Se.endScope&&Se.endScope._wrap?(Ui(),kl(Fe,Se.endScope._wrap)):Se.endScope&&Se.endScope._multi?(Ui(),Na(Se.endScope,we)):yn.skip?an+=Fe:(yn.returnEnd||yn.excludeEnd||(an+=Fe),Ui(),yn.excludeEnd&&(an=Fe));do Se.scope&&Bn.closeNode(),!Se.skip&&!Se.subLanguage&&(mi+=Se.relevance),Se=Se.parent;while(Se!==Ml.parent);return Ml.starts&&ta(Ml.starts,we),yn.returnEnd?0:Fe.length}function N0(){const we=[];for(let Fe=Se;Fe!==Ei;Fe=Fe.parent)Fe.scope&&we.unshift(Fe.scope);we.forEach(Fe=>Bn.openNode(Fe))}let Ma={};function kc(we,Fe){const Ue=Fe&&Fe[0];if(an+=we,Ue==null)return Ui(),0;if(Ma.type==="begin"&&Fe.type==="end"&&Ma.index===Fe.index&&Ue===""){if(an+=Qe.slice(Fe.index,Fe.index+1),!ml){const Ml=new Error(`0 width match regex (${ye})`);throw Ml.languageName=ye,Ml.badRule=Ma.rule,Ml}return 1}if(Ma=Fe,Fe.type==="begin")return W0(Fe);if(Fe.type==="illegal"&&!wl){const Ml=new Error('Illegal lexeme "'+Ue+'" for mode "'+(Se.scope||"<unnamed>")+'"');throw Ml.mode=Se,Ml}else if(Fe.type==="end"){const Ml=hr(Fe);if(Ml!==$t)return Ml}if(Fe.type==="illegal"&&Ue==="")return an+=`
|
||
`,1;if(lc>1e5&&lc>Fe.index*3)throw new Error("potential infinite loop, way more iterations than matches");return an+=Ue,Ue.length}const Ei=si(ye);if(!Ei)throw qt(Ne.replace("{}",ye)),new Error('Unknown language: "'+ye+'"');const fd=mt(Ei);let Al="",Se=fl||fd;const co={},Bn=new At.__emitter(At);N0();let an="",mi=0,is=0,lc=0,ss=!1;try{if(Ei.__emitTokens)Ei.__emitTokens(Qe,Bn);else{for(Se.matcher.considerAll();;){lc++,ss?ss=!1:Se.matcher.considerAll(),Se.matcher.lastIndex=is;const we=Se.matcher.exec(Qe);if(!we)break;const Fe=Qe.substring(is,we.index),Ue=kc(Fe,we);is=we.index+Ue}kc(Qe.substring(is))}return Bn.finalize(),Al=Bn.toHTML(),{language:ye,value:Al,relevance:mi,illegal:!1,_emitter:Bn,_top:Se}}catch(we){if(we.message&&we.message.includes("Illegal"))return{language:ye,value:oe(Qe),illegal:!0,relevance:0,_illegalBy:{message:we.message,index:is,context:Qe.slice(is-100,is+100),mode:we.mode,resultSoFar:Al},_emitter:Bn};if(ml)return{language:ye,value:oe(Qe),illegal:!1,relevance:0,errorRaised:we,_emitter:Bn,_top:Se};throw we}}function Bl(ye){const Qe={value:oe(ye),illegal:!1,relevance:0,_top:Ut,_emitter:new At.__emitter(At)};return Qe._emitter.addText(ye),Qe}function Yn(ye,Qe){Qe=Qe||At.languages||Object.keys(Et);const wl=Bl(ye),fl=Qe.filter(si).filter(ui).map(Ui=>hn(Ui,ye,!1));fl.unshift(wl);const On=fl.sort((Ui,kl)=>{if(Ui.relevance!==kl.relevance)return kl.relevance-Ui.relevance;if(Ui.language&&kl.language){if(si(Ui.language).supersetOf===kl.language)return 1;if(si(kl.language).supersetOf===Ui.language)return-1}return 0}),[ll,Wa]=On,ao=ll;return ao.secondBest=Wa,ao}function vi(ye,Qe,wl){const fl=Qe&&le[Qe]||wl;ye.classList.add("hljs"),ye.classList.add(`language-${fl}`)}function Il(ye){let Qe=null;const wl=Ve(ye);if(Qt(wl))return;if(ns("before:highlightElement",{el:ye,language:wl}),ye.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",ye);return}if(ye.children.length>0&&(At.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(ye)),At.throwUnescapedHTML))throw new fe("One of your code blocks includes unescaped HTML.",ye.innerHTML);Qe=ye;const fl=Qe.textContent,On=wl?He(fl,{language:wl,ignoreIllegals:!0}):Yn(fl);ye.innerHTML=On.value,ye.dataset.highlighted="yes",vi(ye,wl,On.language),ye.result={language:On.language,re:On.relevance,relevance:On.relevance},On.secondBest&&(ye.secondBest={language:On.secondBest.language,relevance:On.secondBest.relevance}),ns("after:highlightElement",{el:ye,result:On,text:fl})}function Pn(ye){At=_e(At,ye)}const Yl=()=>{Ln(),Yt("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function Hn(){Ln(),Yt("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let Qn=!1;function Ln(){function ye(){Ln()}if(document.readyState==="loading"){Qn||window.addEventListener("DOMContentLoaded",ye,!1),Qn=!0;return}document.querySelectorAll(At.cssSelector).forEach(Il)}function zi(ye,Qe){let wl=null;try{wl=Qe(it)}catch(fl){if(qt("Language definition for '{}' could not be registered.".replace("{}",ye)),ml)qt(fl);else throw fl;wl=Ut}wl.name||(wl.name=ye),Et[ye]=wl,wl.rawDefinition=Qe.bind(null,it),wl.aliases&&on(wl.aliases,{languageName:ye})}function Ns(ye){delete Et[ye];for(const Qe of Object.keys(le))le[Qe]===ye&&delete le[Qe]}function ec(){return Object.keys(Et)}function si(ye){return ye=(ye||"").toLowerCase(),Et[ye]||Et[le[ye]]}function on(ye,{languageName:Qe}){typeof ye=="string"&&(ye=[ye]),ye.forEach(wl=>{le[wl.toLowerCase()]=Qe})}function ui(ye){const Qe=si(ye);return Qe&&!Qe.disableAutodetect}function bl(ye){ye["before:highlightBlock"]&&!ye["before:highlightElement"]&&(ye["before:highlightElement"]=Qe=>{ye["before:highlightBlock"](Object.assign({block:Qe.el},Qe))}),ye["after:highlightBlock"]&&!ye["after:highlightElement"]&&(ye["after:highlightElement"]=Qe=>{ye["after:highlightBlock"](Object.assign({block:Qe.el},Qe))})}function Ms(ye){bl(ye),Me.push(ye)}function Ni(ye){const Qe=Me.indexOf(ye);Qe!==-1&&Me.splice(Qe,1)}function ns(ye,Qe){const wl=ye;Me.forEach(function(fl){fl[wl]&&fl[wl](Qe)})}function mr(ye){return Yt("10.7.0","highlightBlock will be removed entirely in v12.0"),Yt("10.7.0","Please use highlightElement now."),Il(ye)}Object.assign(it,{highlight:He,highlightAuto:Yn,highlightAll:Ln,highlightElement:Il,highlightBlock:mr,configure:Pn,initHighlighting:Yl,initHighlightingOnLoad:Hn,registerLanguage:zi,unregisterLanguage:Ns,listLanguages:ec,getLanguage:si,registerAliases:on,autoDetection:ui,inherit:_e,addPlugin:Ms,removePlugin:Ni}),it.debugMode=function(){ml=!1},it.safeMode=function(){ml=!0},it.versionString=Ot,it.regex={concat:T,lookahead:p,either:L,optional:M,anyNumberOfTimes:y};for(const ye in Ft)typeof Ft[ye]=="object"&&l(Ft[ye]);return Object.assign(it,Ft),it},Nl=xl({});return Nl.newInstance=()=>xl({}),AT=Nl,Nl.HighlightJS=Nl,Nl.default=Nl,AT}var BB=QB();const AB=Gh(BB),Kg={},_B="hljs-";function qB(l){const t=AB.newInstance();return l&&s(l),{highlight:e,highlightAuto:n,listLanguages:i,register:s,registerAlias:a,registered:c};function e(o,d,h){const b=h||Kg,p=typeof b.prefix=="string"?b.prefix:_B;if(!t.getLanguage(o))throw new Error("Unknown language: `"+o+"` is not registered");t.configure({__emitter:$B,classPrefix:p});const y=t.highlight(d,{ignoreIllegals:!0,language:o});if(y.errorRaised)throw new Error("Could not highlight with `Highlight.js`",{cause:y.errorRaised});const M=y._emitter.root,T=M.data;return T.language=y.language,T.relevance=y.relevance,M}function n(o,d){const b=(d||Kg).subset||i();let p=-1,y=0,M;for(;++p<b.length;){const T=b[p];if(!t.getLanguage(T))continue;const Y=e(T,o,d);Y.data&&Y.data.relevance!==void 0&&Y.data.relevance>y&&(y=Y.data.relevance,M=Y)}return M||{type:"root",children:[],data:{language:void 0,relevance:y}}}function i(){return t.listLanguages()}function s(o,d){if(typeof o=="string")t.registerLanguage(o,d);else{let h;for(h in o)Object.hasOwn(o,h)&&t.registerLanguage(h,o[h])}}function a(o,d){if(typeof o=="string")t.registerAliases(typeof d=="string"?d:[...d],{languageName:o});else{let h;for(h in o)if(Object.hasOwn(o,h)){const b=o[h];t.registerAliases(typeof b=="string"?b:[...b],{languageName:h})}}}function c(o){return!!t.getLanguage(o)}}class $B{constructor(t){this.options=t,this.root={type:"root",children:[],data:{language:void 0,relevance:0}},this.stack=[this.root]}addText(t){if(t==="")return;const e=this.stack[this.stack.length-1],n=e.children[e.children.length-1];n&&n.type==="text"?n.value+=t:e.children.push({type:"text",value:t})}startScope(t){this.openNode(String(t))}endScope(){this.closeNode()}__addSublanguage(t,e){const n=this.stack[this.stack.length-1],i=t.root.children;e?n.children.push({type:"element",tagName:"span",properties:{className:[e]},children:i}):n.children.push(...i)}openNode(t){const e=this,n=t.split(".").map(function(a,c){return c?a+"_".repeat(c):e.options.classPrefix+a}),i=this.stack[this.stack.length-1],s={type:"element",tagName:"span",properties:{className:n},children:[]};i.children.push(s),this.stack.push(s)}closeNode(){this.stack.pop()}finalize(){}toHTML(){return""}}const tA={};function eA(l){const t=l||tA,e=t.aliases,n=t.detect||!1,i=t.languages||HB,s=t.plainText,a=t.prefix,c=t.subset;let o="hljs";const d=qB(i);if(e&&d.registerAlias(e),a){const h=a.indexOf("-");o=h===-1?a:a.slice(0,h)}return function(h,b){fW(h,"element",function(p,y,M){if(p.tagName!=="code"||!M||M.type!=="element"||M.tagName!=="pre")return;const T=lA(p);if(T===!1||!T&&!n||T&&s&&s.includes(T))return;Array.isArray(p.properties.className)||(p.properties.className=[]),p.properties.className.includes(o)||p.properties.className.unshift(o);const Y=MS(p,{whitespace:"pre"});let L;try{L=T?d.highlight(T,Y,{prefix:a}):d.highlightAuto(Y,{prefix:a,subset:c})}catch(x){const g=x;if(T&&/Unknown language/.test(g.message)){b.message("Cannot highlight as `"+T+"`, it’s not registered",{ancestors:[M,p],cause:g,place:p.position,ruleId:"missing-language",source:"rehype-highlight"});return}throw g}!T&&L.data&&L.data.language&&p.properties.className.push("language-"+L.data.language),L.children.length>0&&(p.children=L.children)})}}function lA(l){const t=l.properties.className;let e=-1;if(!Array.isArray(t))return;let n;for(;++e<t.length;){const i=String(t[e]);if(i==="no-highlight"||i==="nohighlight")return!1;!n&&i.slice(0,5)==="lang-"&&(n=i.slice(5)),!n&&i.slice(0,9)==="language-"&&(n=i.slice(9))}return n}const Pg=/[#.]/g;function nA(l,t){const e=l||"",n={};let i=0,s,a;for(;i<e.length;){Pg.lastIndex=i;const c=Pg.exec(e),o=e.slice(i,c?c.index:e.length);o&&(s?s==="#"?n.id=o:Array.isArray(n.className)?n.className.push(o):n.className=[o]:a=o,i+=o.length),c&&(s=c[0],i++)}return{type:"element",tagName:a||t||"div",properties:n,children:[]}}const dY={}.hasOwnProperty;function JS(l,t,e){const n=e&&cA(e);function i(s,a,...c){let o=-1,d;if(s==null){d={type:"root",children:[]};const h=a;c.unshift(h)}else if(d=nA(s,t),d.tagName=d.tagName.toLowerCase(),n&&dY.call(n,d.tagName)&&(d.tagName=n[d.tagName]),iA(a))c.unshift(a);else{let h;for(h in a)dY.call(a,h)&&sA(l,d.properties,h,a[h])}for(;++o<c.length;)uY(d.children,c[o]);return d.type==="element"&&d.tagName==="template"&&(d.content={type:"root",children:d.children},d.children=[]),d}return i}function iA(l){if(l===null||typeof l!="object"||Array.isArray(l))return!0;if(typeof l.type!="string")return!1;const t=l,e=Object.keys(l);for(const n of e){const i=t[n];if(i&&typeof i=="object"){if(!Array.isArray(i))return!0;const s=i;for(const a of s)if(typeof a!="number"&&typeof a!="string")return!0}}return!!("children"in l&&Array.isArray(l.children))}function sA(l,t,e,n){const i=Nf(l,e);let s=-1,a;if(n!=null){if(typeof n=="number"){if(Number.isNaN(n))return;a=n}else typeof n=="boolean"?a=n:typeof n=="string"?i.spaceSeparated?a=Bz(n):i.commaSeparated?a=Ez(n):i.commaOrSpaceSeparated?a=Bz(Ez(n).join(" ")):a=Hg(i,i.property,n):Array.isArray(n)?a=n.concat():a=i.property==="style"?aA(n):String(n);if(Array.isArray(a)){const c=[];for(;++s<a.length;){const o=Hg(i,i.property,a[s]);c[s]=o}a=c}if(i.property==="className"&&Array.isArray(t.className)){const c=a;a=t.className.concat(c)}t[i.property]=a}}function uY(l,t){let e=-1;if(t!=null)if(typeof t=="string"||typeof t=="number")l.push({type:"text",value:String(t)});else if(Array.isArray(t))for(;++e<t.length;)uY(l,t[e]);else if(typeof t=="object"&&"type"in t)t.type==="root"?uY(l,t.children):l.push(t);else throw new Error("Expected node, nodes, or string, got `"+t+"`")}function Hg(l,t,e){if(typeof e=="string"){if(l.number&&e&&!Number.isNaN(Number(e)))return Number(e);if((l.boolean||l.overloadedBoolean)&&(e===""||x2(e)===x2(t)))return!0}return e}function aA(l){const t=[];let e;for(e in l)dY.call(l,e)&&t.push([e,l[e]].join(": "));return t.join("; ")}function cA(l){const t={};let e=-1;for(;++e<l.length;)t[l[e].toLowerCase()]=l[e];return t}const rA=["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","solidColor","textArea","textPath"],oA=JS(Mf,"div"),dA=JS(VG,"g",rA),_T={html:"http://www.w3.org/1999/xhtml",svg:"http://www.w3.org/2000/svg"};function uA(l,t){return vS(l,{})||{type:"root",children:[]}}function vS(l,t){const e=mA(l,t);return e&&t.afterTransform&&t.afterTransform(l,e),e}function mA(l,t){switch(l.nodeType){case 1:return pA(l,t);case 3:return bA(l);case 8:return ZA(l);case 9:return Qg(l,t);case 10:return hA();case 11:return Qg(l,t);default:return}}function Qg(l,t){return{type:"root",children:US(l,t)}}function hA(){return{type:"doctype"}}function bA(l){return{type:"text",value:l.nodeValue||""}}function ZA(l){return{type:"comment",value:l.nodeValue||""}}function pA(l,t){const e=l.namespaceURI,n=e===_T.svg?dA:oA,i=e===_T.html?l.tagName.toLowerCase():l.tagName,s=e===_T.html&&i==="template"?l.content:l,a=l.getAttributeNames(),c={};let o=-1;for(;++o<a.length;)c[a[o]]=l.getAttribute(a[o])||"";return n(i,c,US(s,t))}function US(l,t){const e=l.childNodes,n=[];let i=-1;for(;++i<e.length;){const s=vS(e[i],t);s!==void 0&&n.push(s)}return n}new DOMParser;function yA(l,t){const e=WA(l);return uA(e)}function WA(l){const t=document.createElement("template");return t.innerHTML=l,t.content}class Ha{constructor(t,e,n){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=t,this.start=e,this.end=n}static range(t,e){return e?!t||!t.loc||!e.loc||t.loc.lexer!==e.loc.lexer?null:new Ha(t.loc.lexer,t.loc.start,e.loc.end):t&&t.loc}}class zc{constructor(t,e){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=t,this.loc=e}range(t,e){return new zc(e,Ha.range(this,t))}}class Te{constructor(t,e){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;var n="KaTeX parse error: "+t,i,s,a=e&&e.loc;if(a&&a.start<=a.end){var c=a.lexer.input;i=a.start,s=a.end,i===c.length?n+=" at end of input: ":n+=" at position "+(i+1)+": ";var o=c.slice(i,s).replace(/[^]/g,"$&̲"),d;i>15?d="…"+c.slice(i-15,i):d=c.slice(0,i);var h;s+15<c.length?h=c.slice(s,s+15)+"…":h=c.slice(s),n+=d+o+h}var b=new Error(n);return b.name="ParseError",b.__proto__=Te.prototype,b.position=i,i!=null&&s!=null&&(b.length=s-i),b.rawMessage=t,b}}Te.prototype.__proto__=Error.prototype;var NA=function(t,e){return t.indexOf(e)!==-1},MA=function(t,e){return t===void 0?e:t},GA=/([A-Z])/g,TA=function(t){return t.replace(GA,"-$1").toLowerCase()},XA={"&":"&",">":">","<":"<",'"':""","'":"'"},YA=/[&><"']/g;function LA(l){return String(l).replace(YA,t=>XA[t])}var ES=function l(t){return t.type==="ordgroup"||t.type==="color"?t.body.length===1?l(t.body[0]):t:t.type==="font"?l(t.body):t},VA=function(t){var e=ES(t);return e.type==="mathord"||e.type==="textord"||e.type==="atom"},IA=function(t){if(!t)throw new Error("Expected non-null, but got "+String(t));return t},wA=function(t){var e=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(t);return e?e[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(e[1])?null:e[1].toLowerCase():"_relative"},sl={contains:NA,deflt:MA,escape:LA,hyphenate:TA,getBaseElem:ES,isCharacterBox:VA,protocolFromUrl:wA},qT={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format <type>"},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color <color>",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:l=>"#"+l},macros:{type:"object",cli:"-m, --macro <def>",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(l,t)=>(t.push(l),t)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:l=>Math.max(0,l),cli:"--min-rule-thickness <size>",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:l=>Math.max(0,l),cli:"-s, --max-size <n>",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:l=>Math.max(0,l),cli:"-e, --max-expand <n>",cliProcessor:l=>l==="Infinity"?1/0:parseInt(l)},globalGroup:{type:"boolean",cli:!1}};function zA(l){if(l.default)return l.default;var t=l.type,e=Array.isArray(t)?t[0]:t;if(typeof e!="string")return e.enum[0];switch(e){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class gA{constructor(t){this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,t=t||{};for(var e in qT)if(qT.hasOwnProperty(e)){var n=qT[e];this[e]=t[e]!==void 0?n.processor?n.processor(t[e]):t[e]:zA(n)}}reportNonstrict(t,e,n){var i=this.strict;if(typeof i=="function"&&(i=i(t,e,n)),!(!i||i==="ignore")){if(i===!0||i==="error")throw new Te("LaTeX-incompatible input and strict mode is set to 'error': "+(e+" ["+t+"]"),n);i==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(e+" ["+t+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+e+" ["+t+"]"))}}useStrictBehavior(t,e,n){var i=this.strict;if(typeof i=="function")try{i=i(t,e,n)}catch{i="error"}return!i||i==="ignore"?!1:i===!0||i==="error"?!0:i==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(e+" ["+t+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+e+" ["+t+"]")),!1)}isTrusted(t){if(t.url&&!t.protocol){var e=sl.protocolFromUrl(t.url);if(e==null)return!1;t.protocol=e}var n=typeof this.trust=="function"?this.trust(t):this.trust;return!!n}}class eu{constructor(t,e,n){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=t,this.size=e,this.cramped=n}sup(){return Ar[xA[this.id]]}sub(){return Ar[fA[this.id]]}fracNum(){return Ar[SA[this.id]]}fracDen(){return Ar[RA[this.id]]}cramp(){return Ar[kA[this.id]]}text(){return Ar[DA[this.id]]}isTight(){return this.size>=2}}var wV=0,xM=1,Sb=2,Md=3,R2=4,wc=5,$Z=6,As=7,Ar=[new eu(wV,0,!1),new eu(xM,0,!0),new eu(Sb,1,!1),new eu(Md,1,!0),new eu(R2,2,!1),new eu(wc,2,!0),new eu($Z,3,!1),new eu(As,3,!0)],xA=[R2,wc,R2,wc,$Z,As,$Z,As],fA=[wc,wc,wc,wc,As,As,As,As],SA=[Sb,Md,R2,wc,$Z,As,$Z,As],RA=[Md,Md,wc,wc,As,As,As,As],kA=[xM,xM,Md,Md,wc,wc,As,As],DA=[wV,xM,Sb,Md,Sb,Md,Sb,Md],dl={DISPLAY:Ar[wV],TEXT:Ar[Sb],SCRIPT:Ar[R2],SCRIPTSCRIPT:Ar[$Z]},mY=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function OA(l){for(var t=0;t<mY.length;t++)for(var e=mY[t],n=0;n<e.blocks.length;n++){var i=e.blocks[n];if(l>=i[0]&&l<=i[1])return e.name}return null}var J1=[];mY.forEach(l=>l.blocks.forEach(t=>J1.push(...t)));function KS(l){for(var t=0;t<J1.length;t+=2)if(l>=J1[t]&&l<=J1[t+1])return!0;return!1}var ub=80,jA=function(t,e){return"M95,"+(622+t+e)+`
|
||
c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14
|
||
c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54
|
||
c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10
|
||
s173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429
|
||
c69,-144,104.5,-217.7,106.5,-221
|
||
l`+t/2.075+" -"+t+`
|
||
c5.3,-9.3,12,-14,20,-14
|
||
H400000v`+(40+t)+`H845.2724
|
||
s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7
|
||
c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z
|
||
M`+(834+t)+" "+e+"h400000v"+(40+t)+"h-400000z"},CA=function(t,e){return"M263,"+(601+t+e)+`c0.7,0,18,39.7,52,119
|
||
c34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120
|
||
c340,-704.7,510.7,-1060.3,512,-1067
|
||
l`+t/2.084+" -"+t+`
|
||
c4.7,-7.3,11,-11,19,-11
|
||
H40000v`+(40+t)+`H1012.3
|
||
s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232
|
||
c-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1
|
||
s-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26
|
||
c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z
|
||
M`+(1001+t)+" "+e+"h400000v"+(40+t)+"h-400000z"},FA=function(t,e){return"M983 "+(10+t+e)+`
|
||
l`+t/3.13+" -"+t+`
|
||
c4,-6.7,10,-10,18,-10 H400000v`+(40+t)+`
|
||
H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7
|
||
s-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744
|
||
c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30
|
||
c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722
|
||
c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5
|
||
c53.7,-170.3,84.5,-266.8,92.5,-289.5z
|
||
M`+(1001+t)+" "+e+"h400000v"+(40+t)+"h-400000z"},JA=function(t,e){return"M424,"+(2398+t+e)+`
|
||
c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514
|
||
c0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20
|
||
s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121
|
||
s209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081
|
||
l`+t/4.223+" -"+t+`c4,-6.7,10,-10,18,-10 H400000
|
||
v`+(40+t)+`H1014.6
|
||
s-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185
|
||
c-2,6,-10,9,-24,9
|
||
c-8,0,-12,-0.7,-12,-2z M`+(1001+t)+" "+e+`
|
||
h400000v`+(40+t)+"h-400000z"},vA=function(t,e){return"M473,"+(2713+t+e)+`
|
||
c339.3,-1799.3,509.3,-2700,510,-2702 l`+t/5.298+" -"+t+`
|
||
c3.3,-7.3,9.3,-11,18,-11 H400000v`+(40+t)+`H1017.7
|
||
s-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9
|
||
c-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200
|
||
c0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26
|
||
s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,
|
||
606zM`+(1001+t)+" "+e+"h400000v"+(40+t)+"H1017.7z"},UA=function(t){var e=t/2;return"M400000 "+t+" H0 L"+e+" 0 l65 45 L145 "+(t-80)+" H400000z"},EA=function(t,e,n){var i=n-54-e-t;return"M702 "+(t+e)+"H400000"+(40+t)+`
|
||
H742v`+i+`l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1
|
||
h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170
|
||
c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667
|
||
219 661 l218 661zM702 `+e+"H400000v"+(40+t)+"H742z"},KA=function(t,e,n){e=1e3*e;var i="";switch(t){case"sqrtMain":i=jA(e,ub);break;case"sqrtSize1":i=CA(e,ub);break;case"sqrtSize2":i=FA(e,ub);break;case"sqrtSize3":i=JA(e,ub);break;case"sqrtSize4":i=vA(e,ub);break;case"sqrtTall":i=EA(e,ub,n)}return i},PA=function(t,e){switch(t){case"⎜":return"M291 0 H417 V"+e+" H291z M291 0 H417 V"+e+" H291z";case"∣":return"M145 0 H188 V"+e+" H145z M145 0 H188 V"+e+" H145z";case"∥":return"M145 0 H188 V"+e+" H145z M145 0 H188 V"+e+" H145z"+("M367 0 H410 V"+e+" H367z M367 0 H410 V"+e+" H367z");case"⎟":return"M457 0 H583 V"+e+" H457z M457 0 H583 V"+e+" H457z";case"⎢":return"M319 0 H403 V"+e+" H319z M319 0 H403 V"+e+" H319z";case"⎥":return"M263 0 H347 V"+e+" H263z M263 0 H347 V"+e+" H263z";case"⎪":return"M384 0 H504 V"+e+" H384z M384 0 H504 V"+e+" H384z";case"⏐":return"M312 0 H355 V"+e+" H312z M312 0 H355 V"+e+" H312z";case"‖":return"M257 0 H300 V"+e+" H257z M257 0 H300 V"+e+" H257z"+("M478 0 H521 V"+e+" H478z M478 0 H521 V"+e+" H478z");default:return""}},Bg={doubleleftarrow:`M262 157
|
||
l10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3
|
||
0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28
|
||
14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5
|
||
c2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5
|
||
157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87
|
||
-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7
|
||
-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z
|
||
m8 0v40h399730v-40zm0 194v40h399730v-40z`,doublerightarrow:`M399738 392l
|
||
-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5
|
||
14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88
|
||
-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68
|
||
-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18
|
||
-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782
|
||
c-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3
|
||
-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z`,leftarrow:`M400000 241H110l3-3c68.7-52.7 113.7-120
|
||
135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8
|
||
-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247
|
||
c-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208
|
||
490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3
|
||
1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202
|
||
l-3-3h399890zM100 241v40h399900v-40z`,leftbrace:`M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117
|
||
-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7
|
||
5-6 9-10 13-.7 1-7.3 1-20 1H6z`,leftbraceunder:`M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13
|
||
35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688
|
||
0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7
|
||
-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`,leftgroup:`M400000 80
|
||
H435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0
|
||
435 0h399565z`,leftgroupunder:`M400000 262
|
||
H435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219
|
||
435 219h399565z`,leftharpoon:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3
|
||
-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5
|
||
-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7
|
||
-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z`,leftharpoonplus:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5
|
||
20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3
|
||
-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7
|
||
-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z
|
||
m0 0v40h400000v-40z`,leftharpoondown:`M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333
|
||
5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5
|
||
1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667
|
||
-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z`,leftharpoondownplus:`M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12
|
||
10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7
|
||
-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0
|
||
v40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z`,lefthook:`M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5
|
||
-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3
|
||
-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21
|
||
71.5 23h399859zM103 281v-40h399897v40z`,leftlinesegment:`M40 281 V428 H0 V94 H40 V241 H400000 v40z
|
||
M40 281 V428 H0 V94 H40 V241 H400000 v40z`,leftmapsto:`M40 281 V448H0V74H40V241H400000v40z
|
||
M40 281 V448H0V74H40V241H400000v40z`,leftToFrom:`M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23
|
||
-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8
|
||
c28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3
|
||
68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`,longequal:`M0 50 h400000 v40H0z m0 194h40000v40H0z
|
||
M0 50 h400000 v40H0z m0 194h40000v40H0z`,midbrace:`M200428 334
|
||
c-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14
|
||
-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7
|
||
311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11
|
||
12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z`,midbraceunder:`M199572 214
|
||
c100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14
|
||
53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3
|
||
11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0
|
||
-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z`,oiintSize1:`M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6
|
||
-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z
|
||
m368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8
|
||
60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z`,oiintSize2:`M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8
|
||
-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z
|
||
m502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2
|
||
c0 110 84 276 504 276s502.4-166 502.4-276z`,oiiintSize1:`M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6
|
||
-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z
|
||
m525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0
|
||
85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z`,oiiintSize2:`M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8
|
||
-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z
|
||
m770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1
|
||
c0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z`,rightarrow:`M0 241v40h399891c-47.3 35.3-84 78-110 128
|
||
-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20
|
||
11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7
|
||
39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85
|
||
-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5
|
||
-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67
|
||
151.7 139 205zm0 0v40h399900v-40z`,rightbrace:`M400000 542l
|
||
-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5
|
||
s-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1
|
||
c124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z`,rightbraceunder:`M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3
|
||
28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237
|
||
-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z`,rightgroup:`M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0
|
||
3-1 3-3v-38c-76-158-257-219-435-219H0z`,rightgroupunder:`M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18
|
||
0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z`,rightharpoon:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3
|
||
-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2
|
||
-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58
|
||
69.2 92 94.5zm0 0v40h399900v-40z`,rightharpoonplus:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11
|
||
-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7
|
||
2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z
|
||
m0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z`,rightharpoondown:`M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8
|
||
8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5
|
||
-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95
|
||
-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z`,rightharpoondownplus:`M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8
|
||
15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3
|
||
8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3
|
||
-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z
|
||
m0-194v40h400000v-40zm0 0v40h400000v-40z`,righthook:`M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3
|
||
15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0
|
||
-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21
|
||
66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`,rightlinesegment:`M399960 241 V94 h40 V428 h-40 V281 H0 v-40z
|
||
M399960 241 V94 h40 V428 h-40 V281 H0 v-40z`,rightToFrom:`M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23
|
||
1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32
|
||
-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142
|
||
-167z M100 147v40h399900v-40zM0 341v40h399900v-40z`,twoheadleftarrow:`M0 167c68 40
|
||
115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69
|
||
-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3
|
||
-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19
|
||
-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101
|
||
10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z`,twoheadrightarrow:`M400000 167
|
||
c-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3
|
||
41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42
|
||
18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333
|
||
-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70
|
||
101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z`,tilde1:`M200 55.538c-77 0-168 73.953-177 73.953-3 0-7
|
||
-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0
|
||
114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0
|
||
4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128
|
||
-68.267.847-113-73.952-191-73.952z`,tilde2:`M344 55.266c-142 0-300.638 81.316-311.5 86.418
|
||
-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9
|
||
31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114
|
||
c1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751
|
||
181.476 676 181.476c-149 0-189-126.21-332-126.21z`,tilde3:`M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457
|
||
-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0
|
||
411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697
|
||
16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696
|
||
-338 0-409-156.573-744-156.573z`,tilde4:`M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345
|
||
-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409
|
||
177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9
|
||
14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409
|
||
-175.236-744-175.236z`,vec:`M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5
|
||
3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11
|
||
10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63
|
||
-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1
|
||
-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59
|
||
H213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359
|
||
c-16-25.333-24-45-24-59z`,widehat1:`M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22
|
||
c-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z`,widehat2:`M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10
|
||
-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat3:`M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10
|
||
-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat4:`M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10
|
||
-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widecheck1:`M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,
|
||
-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z`,widecheck2:`M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,
|
||
-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck3:`M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,
|
||
-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck4:`M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,
|
||
-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,baraboveleftarrow:`M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202
|
||
c4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5
|
||
c-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130
|
||
s-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47
|
||
121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6
|
||
s2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11
|
||
c0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z
|
||
M100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z`,rightarrowabovebar:`M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32
|
||
-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0
|
||
13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39
|
||
-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5
|
||
-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5
|
||
-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67
|
||
151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z`,baraboveshortleftharpoon:`M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11
|
||
c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17
|
||
c2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21
|
||
c-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40
|
||
c-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z
|
||
M0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z`,rightharpoonaboveshortbar:`M0,241 l0,40c399126,0,399993,0,399993,0
|
||
c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,
|
||
-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6
|
||
c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z
|
||
M0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z`,shortbaraboveleftharpoon:`M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11
|
||
c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,
|
||
1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,
|
||
-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z
|
||
M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z`,shortrightharpoonabovebar:`M53,241l0,40c398570,0,399437,0,399437,0
|
||
c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,
|
||
-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6
|
||
c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z
|
||
M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`},HA=function(t,e){switch(t){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+e+` v1759 h347 v-84
|
||
H403z M403 1759 V0 H319 V1759 v`+e+" v1759 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+e+` v1759 H0 v84 H347z
|
||
M347 1759 V0 H263 V1759 v`+e+" v1759 h84z";case"vert":return"M145 15 v585 v"+e+` v585 c2.667,10,9.667,15,21,15
|
||
c10,0,16.667,-5,20,-15 v-585 v`+-e+` v-585 c-2.667,-10,-9.667,-15,-21,-15
|
||
c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+e+" v585 h43z";case"doublevert":return"M145 15 v585 v"+e+` v585 c2.667,10,9.667,15,21,15
|
||
c10,0,16.667,-5,20,-15 v-585 v`+-e+` v-585 c-2.667,-10,-9.667,-15,-21,-15
|
||
c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+e+` v585 h43z
|
||
M367 15 v585 v`+e+` v585 c2.667,10,9.667,15,21,15
|
||
c10,0,16.667,-5,20,-15 v-585 v`+-e+` v-585 c-2.667,-10,-9.667,-15,-21,-15
|
||
c-10,0,-16.667,5,-20,15z M410 15 H367 v585 v`+e+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+e+` v1715 h263 v84 H319z
|
||
MM319 602 V0 H403 V602 v`+e+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+e+` v1799 H0 v-84 H319z
|
||
MM319 602 V0 H403 V602 v`+e+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+e+` v602 h84z
|
||
M403 1759 V0 H319 V1759 v`+e+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+e+` v602 h84z
|
||
M347 1759 V0 h-84 V1759 v`+e+" v602 h84z";case"lparen":return`M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1
|
||
c-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349,
|
||
-36,557 l0,`+(e+84)+`c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,
|
||
949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9
|
||
c0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5,
|
||
-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189
|
||
l0,-`+(e+92)+`c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,
|
||
-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z`;case"rparen":return`M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3,
|
||
63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5
|
||
c11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,`+(e+9)+`
|
||
c-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664
|
||
c-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11
|
||
c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17
|
||
c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558
|
||
l0,-`+(e+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
|
||
-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw new Error("Unknown stretchy delimiter.")}};class RW{constructor(t){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=t,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(t){return sl.contains(this.classes,t)}toNode(){for(var t=document.createDocumentFragment(),e=0;e<this.children.length;e++)t.appendChild(this.children[e].toNode());return t}toMarkup(){for(var t="",e=0;e<this.children.length;e++)t+=this.children[e].toMarkup();return t}toText(){var t=e=>e.toText();return this.children.map(t).join("")}}var Wd={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},o1={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},Ag={Å:"A",Ð:"D",Þ:"o",å:"a",ð:"d",þ:"o",А:"A",Б:"B",В:"B",Г:"F",Д:"A",Е:"E",Ж:"K",З:"3",И:"N",Й:"N",К:"K",Л:"N",М:"M",Н:"H",О:"O",П:"N",Р:"P",С:"C",Т:"T",У:"y",Ф:"O",Х:"X",Ц:"U",Ч:"h",Ш:"W",Щ:"W",Ъ:"B",Ы:"X",Ь:"B",Э:"3",Ю:"X",Я:"R",а:"a",б:"b",в:"a",г:"r",д:"y",е:"e",ж:"m",з:"e",и:"n",й:"n",к:"n",л:"n",м:"m",н:"n",о:"o",п:"n",р:"p",с:"c",т:"o",у:"y",ф:"b",х:"x",ц:"n",ч:"n",ш:"w",щ:"w",ъ:"a",ы:"m",ь:"a",э:"e",ю:"m",я:"r"};function zV(l,t,e){if(!Wd[t])throw new Error("Font metrics not found for font: "+t+".");var n=l.charCodeAt(0),i=Wd[t][n];if(!i&&l[0]in Ag&&(n=Ag[l[0]].charCodeAt(0),i=Wd[t][n]),!i&&e==="text"&&KS(n)&&(i=Wd[t][77]),i)return{depth:i[0],height:i[1],italic:i[2],skew:i[3],width:i[4]}}var $T={};function QA(l){var t;if(l>=5?t=0:l>=3?t=1:t=2,!$T[t]){var e=$T[t]={cssEmPerMu:o1.quad[t]/18};for(var n in o1)o1.hasOwnProperty(n)&&(e[n]=o1[n][t])}return $T[t]}var BA=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],_g=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],qg=function(t,e){return e.size<2?t:BA[t-1][e.size-1]};class fo{constructor(t){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=t.style,this.color=t.color,this.size=t.size||fo.BASESIZE,this.textSize=t.textSize||this.size,this.phantom=!!t.phantom,this.font=t.font||"",this.fontFamily=t.fontFamily||"",this.fontWeight=t.fontWeight||"",this.fontShape=t.fontShape||"",this.sizeMultiplier=_g[this.size-1],this.maxSize=t.maxSize,this.minRuleThickness=t.minRuleThickness,this._fontMetrics=void 0}extend(t){var e={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return new fo(e)}havingStyle(t){return this.style===t?this:this.extend({style:t,size:qg(this.textSize,t)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(t){return this.size===t&&this.textSize===t?this:this.extend({style:this.style.text(),size:t,textSize:t,sizeMultiplier:_g[t-1]})}havingBaseStyle(t){t=t||this.style.text();var e=qg(fo.BASESIZE,t);return this.size===e&&this.textSize===fo.BASESIZE&&this.style===t?this:this.extend({style:t,size:e})}havingBaseSizing(){var t;switch(this.style.id){case 4:case 5:t=3;break;case 6:case 7:t=1;break;default:t=6}return this.extend({style:this.style.text(),size:t})}withColor(t){return this.extend({color:t})}withPhantom(){return this.extend({phantom:!0})}withFont(t){return this.extend({font:t})}withTextFontFamily(t){return this.extend({fontFamily:t,font:""})}withTextFontWeight(t){return this.extend({fontWeight:t,font:""})}withTextFontShape(t){return this.extend({fontShape:t,font:""})}sizingClasses(t){return t.size!==this.size?["sizing","reset-size"+t.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==fo.BASESIZE?["sizing","reset-size"+this.size,"size"+fo.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=QA(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}fo.BASESIZE=6;var hY={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},AA={ex:!0,em:!0,mu:!0},PS=function(t){return typeof t!="string"&&(t=t.unit),t in hY||t in AA||t==="ex"},ni=function(t,e){var n;if(t.unit in hY)n=hY[t.unit]/e.fontMetrics().ptPerEm/e.sizeMultiplier;else if(t.unit==="mu")n=e.fontMetrics().cssEmPerMu;else{var i;if(e.style.isTight()?i=e.havingStyle(e.style.text()):i=e,t.unit==="ex")n=i.fontMetrics().xHeight;else if(t.unit==="em")n=i.fontMetrics().quad;else throw new Te("Invalid unit: '"+t.unit+"'");i!==e&&(n*=i.sizeMultiplier/e.sizeMultiplier)}return Math.min(t.number*n,e.maxSize)},ze=function(t){return+t.toFixed(4)+"em"},a0=function(t){return t.filter(e=>e).join(" ")},HS=function(t,e,n){if(this.classes=t||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=n||{},e){e.style.isTight()&&this.classes.push("mtight");var i=e.getColor();i&&(this.style.color=i)}},QS=function(t){var e=document.createElement(t);e.className=a0(this.classes);for(var n in this.style)this.style.hasOwnProperty(n)&&(e.style[n]=this.style[n]);for(var i in this.attributes)this.attributes.hasOwnProperty(i)&&e.setAttribute(i,this.attributes[i]);for(var s=0;s<this.children.length;s++)e.appendChild(this.children[s].toNode());return e},_A=/[\s"'>/=\x00-\x1f]/,BS=function(t){var e="<"+t;this.classes.length&&(e+=' class="'+sl.escape(a0(this.classes))+'"');var n="";for(var i in this.style)this.style.hasOwnProperty(i)&&(n+=sl.hyphenate(i)+":"+this.style[i]+";");n&&(e+=' style="'+sl.escape(n)+'"');for(var s in this.attributes)if(this.attributes.hasOwnProperty(s)){if(_A.test(s))throw new Te("Invalid attribute name '"+s+"'");e+=" "+s+'="'+sl.escape(this.attributes[s])+'"'}e+=">";for(var a=0;a<this.children.length;a++)e+=this.children[a].toMarkup();return e+="</"+t+">",e};class xG{constructor(t,e,n,i){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,HS.call(this,t,n,i),this.children=e||[]}setAttribute(t,e){this.attributes[t]=e}hasClass(t){return sl.contains(this.classes,t)}toNode(){return QS.call(this,"span")}toMarkup(){return BS.call(this,"span")}}class AS{constructor(t,e,n,i){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,HS.call(this,e,i),this.children=n||[],this.setAttribute("href",t)}setAttribute(t,e){this.attributes[t]=e}hasClass(t){return sl.contains(this.classes,t)}toNode(){return QS.call(this,"a")}toMarkup(){return BS.call(this,"a")}}class qA{constructor(t,e,n){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=e,this.src=t,this.classes=["mord"],this.style=n}hasClass(t){return sl.contains(this.classes,t)}toNode(){var t=document.createElement("img");t.src=this.src,t.alt=this.alt,t.className="mord";for(var e in this.style)this.style.hasOwnProperty(e)&&(t.style[e]=this.style[e]);return t}toMarkup(){var t='<img src="'+sl.escape(this.src)+'"'+(' alt="'+sl.escape(this.alt)+'"'),e="";for(var n in this.style)this.style.hasOwnProperty(n)&&(e+=sl.hyphenate(n)+":"+this.style[n]+";");return e&&(t+=' style="'+sl.escape(e)+'"'),t+="'/>",t}}var $A={î:"ı̂",ï:"ı̈",í:"ı́",ì:"ı̀"};class or{constructor(t,e,n,i,s,a,c,o){this.text=void 0,this.height=void 0,this.depth=void 0,this.italic=void 0,this.skew=void 0,this.width=void 0,this.maxFontSize=void 0,this.classes=void 0,this.style=void 0,this.text=t,this.height=e||0,this.depth=n||0,this.italic=i||0,this.skew=s||0,this.width=a||0,this.classes=c||[],this.style=o||{},this.maxFontSize=0;var d=OA(this.text.charCodeAt(0));d&&this.classes.push(d+"_fallback"),/[îïíì]/.test(this.text)&&(this.text=$A[this.text])}hasClass(t){return sl.contains(this.classes,t)}toNode(){var t=document.createTextNode(this.text),e=null;this.italic>0&&(e=document.createElement("span"),e.style.marginRight=ze(this.italic)),this.classes.length>0&&(e=e||document.createElement("span"),e.className=a0(this.classes));for(var n in this.style)this.style.hasOwnProperty(n)&&(e=e||document.createElement("span"),e.style[n]=this.style[n]);return e?(e.appendChild(t),e):t}toMarkup(){var t=!1,e="<span";this.classes.length&&(t=!0,e+=' class="',e+=sl.escape(a0(this.classes)),e+='"');var n="";this.italic>0&&(n+="margin-right:"+this.italic+"em;");for(var i in this.style)this.style.hasOwnProperty(i)&&(n+=sl.hyphenate(i)+":"+this.style[i]+";");n&&(t=!0,e+=' style="'+sl.escape(n)+'"');var s=sl.escape(this.text);return t?(e+=">",e+=s,e+="</span>",e):s}}class c0{constructor(t,e){this.children=void 0,this.attributes=void 0,this.children=t||[],this.attributes=e||{}}toNode(){var t="http://www.w3.org/2000/svg",e=document.createElementNS(t,"svg");for(var n in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,n)&&e.setAttribute(n,this.attributes[n]);for(var i=0;i<this.children.length;i++)e.appendChild(this.children[i].toNode());return e}toMarkup(){var t='<svg xmlns="http://www.w3.org/2000/svg"';for(var e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&(t+=" "+e+'="'+sl.escape(this.attributes[e])+'"');t+=">";for(var n=0;n<this.children.length;n++)t+=this.children[n].toMarkup();return t+="</svg>",t}}class ph{constructor(t,e){this.pathName=void 0,this.alternate=void 0,this.pathName=t,this.alternate=e}toNode(){var t="http://www.w3.org/2000/svg",e=document.createElementNS(t,"path");return this.alternate?e.setAttribute("d",this.alternate):e.setAttribute("d",Bg[this.pathName]),e}toMarkup(){return this.alternate?'<path d="'+sl.escape(this.alternate)+'"/>':'<path d="'+sl.escape(Bg[this.pathName])+'"/>'}}class $g{constructor(t){this.attributes=void 0,this.attributes=t||{}}toNode(){var t="http://www.w3.org/2000/svg",e=document.createElementNS(t,"line");for(var n in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,n)&&e.setAttribute(n,this.attributes[n]);return e}toMarkup(){var t="<line";for(var e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&(t+=" "+e+'="'+sl.escape(this.attributes[e])+'"');return t+="/>",t}}function t9(l){if(l instanceof or)return l;throw new Error("Expected symbolNode but got "+String(l)+".")}function t6(l){if(l instanceof xG)return l;throw new Error("Expected span<HtmlDomNode> but got "+String(l)+".")}var e6={bin:1,close:1,inner:1,open:1,punct:1,rel:1},l6={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1},fn={math:{},text:{}};function V(l,t,e,n,i,s){fn[l][i]={font:t,group:e,replace:n},s&&n&&(fn[l][n]=fn[l][i])}var S="math",ae="text",v="main",at="ams",Kn="accent-token",Je="bin",$s="close",op="inner",ol="mathord",wi="op-token",tc="open",fG="punct",rt="rel",xd="spacing",Mt="textord";V(S,v,rt,"≡","\\equiv",!0);V(S,v,rt,"≺","\\prec",!0);V(S,v,rt,"≻","\\succ",!0);V(S,v,rt,"∼","\\sim",!0);V(S,v,rt,"⊥","\\perp");V(S,v,rt,"⪯","\\preceq",!0);V(S,v,rt,"⪰","\\succeq",!0);V(S,v,rt,"≃","\\simeq",!0);V(S,v,rt,"∣","\\mid",!0);V(S,v,rt,"≪","\\ll",!0);V(S,v,rt,"≫","\\gg",!0);V(S,v,rt,"≍","\\asymp",!0);V(S,v,rt,"∥","\\parallel");V(S,v,rt,"⋈","\\bowtie",!0);V(S,v,rt,"⌣","\\smile",!0);V(S,v,rt,"⊑","\\sqsubseteq",!0);V(S,v,rt,"⊒","\\sqsupseteq",!0);V(S,v,rt,"≐","\\doteq",!0);V(S,v,rt,"⌢","\\frown",!0);V(S,v,rt,"∋","\\ni",!0);V(S,v,rt,"∝","\\propto",!0);V(S,v,rt,"⊢","\\vdash",!0);V(S,v,rt,"⊣","\\dashv",!0);V(S,v,rt,"∋","\\owns");V(S,v,fG,".","\\ldotp");V(S,v,fG,"⋅","\\cdotp");V(S,v,Mt,"#","\\#");V(ae,v,Mt,"#","\\#");V(S,v,Mt,"&","\\&");V(ae,v,Mt,"&","\\&");V(S,v,Mt,"ℵ","\\aleph",!0);V(S,v,Mt,"∀","\\forall",!0);V(S,v,Mt,"ℏ","\\hbar",!0);V(S,v,Mt,"∃","\\exists",!0);V(S,v,Mt,"∇","\\nabla",!0);V(S,v,Mt,"♭","\\flat",!0);V(S,v,Mt,"ℓ","\\ell",!0);V(S,v,Mt,"♮","\\natural",!0);V(S,v,Mt,"♣","\\clubsuit",!0);V(S,v,Mt,"℘","\\wp",!0);V(S,v,Mt,"♯","\\sharp",!0);V(S,v,Mt,"♢","\\diamondsuit",!0);V(S,v,Mt,"ℜ","\\Re",!0);V(S,v,Mt,"♡","\\heartsuit",!0);V(S,v,Mt,"ℑ","\\Im",!0);V(S,v,Mt,"♠","\\spadesuit",!0);V(S,v,Mt,"§","\\S",!0);V(ae,v,Mt,"§","\\S");V(S,v,Mt,"¶","\\P",!0);V(ae,v,Mt,"¶","\\P");V(S,v,Mt,"†","\\dag");V(ae,v,Mt,"†","\\dag");V(ae,v,Mt,"†","\\textdagger");V(S,v,Mt,"‡","\\ddag");V(ae,v,Mt,"‡","\\ddag");V(ae,v,Mt,"‡","\\textdaggerdbl");V(S,v,$s,"⎱","\\rmoustache",!0);V(S,v,tc,"⎰","\\lmoustache",!0);V(S,v,$s,"⟯","\\rgroup",!0);V(S,v,tc,"⟮","\\lgroup",!0);V(S,v,Je,"∓","\\mp",!0);V(S,v,Je,"⊖","\\ominus",!0);V(S,v,Je,"⊎","\\uplus",!0);V(S,v,Je,"⊓","\\sqcap",!0);V(S,v,Je,"∗","\\ast");V(S,v,Je,"⊔","\\sqcup",!0);V(S,v,Je,"◯","\\bigcirc",!0);V(S,v,Je,"∙","\\bullet",!0);V(S,v,Je,"‡","\\ddagger");V(S,v,Je,"≀","\\wr",!0);V(S,v,Je,"⨿","\\amalg");V(S,v,Je,"&","\\And");V(S,v,rt,"⟵","\\longleftarrow",!0);V(S,v,rt,"⇐","\\Leftarrow",!0);V(S,v,rt,"⟸","\\Longleftarrow",!0);V(S,v,rt,"⟶","\\longrightarrow",!0);V(S,v,rt,"⇒","\\Rightarrow",!0);V(S,v,rt,"⟹","\\Longrightarrow",!0);V(S,v,rt,"↔","\\leftrightarrow",!0);V(S,v,rt,"⟷","\\longleftrightarrow",!0);V(S,v,rt,"⇔","\\Leftrightarrow",!0);V(S,v,rt,"⟺","\\Longleftrightarrow",!0);V(S,v,rt,"↦","\\mapsto",!0);V(S,v,rt,"⟼","\\longmapsto",!0);V(S,v,rt,"↗","\\nearrow",!0);V(S,v,rt,"↩","\\hookleftarrow",!0);V(S,v,rt,"↪","\\hookrightarrow",!0);V(S,v,rt,"↘","\\searrow",!0);V(S,v,rt,"↼","\\leftharpoonup",!0);V(S,v,rt,"⇀","\\rightharpoonup",!0);V(S,v,rt,"↙","\\swarrow",!0);V(S,v,rt,"↽","\\leftharpoondown",!0);V(S,v,rt,"⇁","\\rightharpoondown",!0);V(S,v,rt,"↖","\\nwarrow",!0);V(S,v,rt,"⇌","\\rightleftharpoons",!0);V(S,at,rt,"≮","\\nless",!0);V(S,at,rt,"","\\@nleqslant");V(S,at,rt,"","\\@nleqq");V(S,at,rt,"⪇","\\lneq",!0);V(S,at,rt,"≨","\\lneqq",!0);V(S,at,rt,"","\\@lvertneqq");V(S,at,rt,"⋦","\\lnsim",!0);V(S,at,rt,"⪉","\\lnapprox",!0);V(S,at,rt,"⊀","\\nprec",!0);V(S,at,rt,"⋠","\\npreceq",!0);V(S,at,rt,"⋨","\\precnsim",!0);V(S,at,rt,"⪹","\\precnapprox",!0);V(S,at,rt,"≁","\\nsim",!0);V(S,at,rt,"","\\@nshortmid");V(S,at,rt,"∤","\\nmid",!0);V(S,at,rt,"⊬","\\nvdash",!0);V(S,at,rt,"⊭","\\nvDash",!0);V(S,at,rt,"⋪","\\ntriangleleft");V(S,at,rt,"⋬","\\ntrianglelefteq",!0);V(S,at,rt,"⊊","\\subsetneq",!0);V(S,at,rt,"","\\@varsubsetneq");V(S,at,rt,"⫋","\\subsetneqq",!0);V(S,at,rt,"","\\@varsubsetneqq");V(S,at,rt,"≯","\\ngtr",!0);V(S,at,rt,"","\\@ngeqslant");V(S,at,rt,"","\\@ngeqq");V(S,at,rt,"⪈","\\gneq",!0);V(S,at,rt,"≩","\\gneqq",!0);V(S,at,rt,"","\\@gvertneqq");V(S,at,rt,"⋧","\\gnsim",!0);V(S,at,rt,"⪊","\\gnapprox",!0);V(S,at,rt,"⊁","\\nsucc",!0);V(S,at,rt,"⋡","\\nsucceq",!0);V(S,at,rt,"⋩","\\succnsim",!0);V(S,at,rt,"⪺","\\succnapprox",!0);V(S,at,rt,"≆","\\ncong",!0);V(S,at,rt,"","\\@nshortparallel");V(S,at,rt,"∦","\\nparallel",!0);V(S,at,rt,"⊯","\\nVDash",!0);V(S,at,rt,"⋫","\\ntriangleright");V(S,at,rt,"⋭","\\ntrianglerighteq",!0);V(S,at,rt,"","\\@nsupseteqq");V(S,at,rt,"⊋","\\supsetneq",!0);V(S,at,rt,"","\\@varsupsetneq");V(S,at,rt,"⫌","\\supsetneqq",!0);V(S,at,rt,"","\\@varsupsetneqq");V(S,at,rt,"⊮","\\nVdash",!0);V(S,at,rt,"⪵","\\precneqq",!0);V(S,at,rt,"⪶","\\succneqq",!0);V(S,at,rt,"","\\@nsubseteqq");V(S,at,Je,"⊴","\\unlhd");V(S,at,Je,"⊵","\\unrhd");V(S,at,rt,"↚","\\nleftarrow",!0);V(S,at,rt,"↛","\\nrightarrow",!0);V(S,at,rt,"⇍","\\nLeftarrow",!0);V(S,at,rt,"⇏","\\nRightarrow",!0);V(S,at,rt,"↮","\\nleftrightarrow",!0);V(S,at,rt,"⇎","\\nLeftrightarrow",!0);V(S,at,rt,"△","\\vartriangle");V(S,at,Mt,"ℏ","\\hslash");V(S,at,Mt,"▽","\\triangledown");V(S,at,Mt,"◊","\\lozenge");V(S,at,Mt,"Ⓢ","\\circledS");V(S,at,Mt,"®","\\circledR");V(ae,at,Mt,"®","\\circledR");V(S,at,Mt,"∡","\\measuredangle",!0);V(S,at,Mt,"∄","\\nexists");V(S,at,Mt,"℧","\\mho");V(S,at,Mt,"Ⅎ","\\Finv",!0);V(S,at,Mt,"⅁","\\Game",!0);V(S,at,Mt,"‵","\\backprime");V(S,at,Mt,"▲","\\blacktriangle");V(S,at,Mt,"▼","\\blacktriangledown");V(S,at,Mt,"■","\\blacksquare");V(S,at,Mt,"⧫","\\blacklozenge");V(S,at,Mt,"★","\\bigstar");V(S,at,Mt,"∢","\\sphericalangle",!0);V(S,at,Mt,"∁","\\complement",!0);V(S,at,Mt,"ð","\\eth",!0);V(ae,v,Mt,"ð","ð");V(S,at,Mt,"╱","\\diagup");V(S,at,Mt,"╲","\\diagdown");V(S,at,Mt,"□","\\square");V(S,at,Mt,"□","\\Box");V(S,at,Mt,"◊","\\Diamond");V(S,at,Mt,"¥","\\yen",!0);V(ae,at,Mt,"¥","\\yen",!0);V(S,at,Mt,"✓","\\checkmark",!0);V(ae,at,Mt,"✓","\\checkmark");V(S,at,Mt,"ℶ","\\beth",!0);V(S,at,Mt,"ℸ","\\daleth",!0);V(S,at,Mt,"ℷ","\\gimel",!0);V(S,at,Mt,"ϝ","\\digamma",!0);V(S,at,Mt,"ϰ","\\varkappa");V(S,at,tc,"┌","\\@ulcorner",!0);V(S,at,$s,"┐","\\@urcorner",!0);V(S,at,tc,"└","\\@llcorner",!0);V(S,at,$s,"┘","\\@lrcorner",!0);V(S,at,rt,"≦","\\leqq",!0);V(S,at,rt,"⩽","\\leqslant",!0);V(S,at,rt,"⪕","\\eqslantless",!0);V(S,at,rt,"≲","\\lesssim",!0);V(S,at,rt,"⪅","\\lessapprox",!0);V(S,at,rt,"≊","\\approxeq",!0);V(S,at,Je,"⋖","\\lessdot");V(S,at,rt,"⋘","\\lll",!0);V(S,at,rt,"≶","\\lessgtr",!0);V(S,at,rt,"⋚","\\lesseqgtr",!0);V(S,at,rt,"⪋","\\lesseqqgtr",!0);V(S,at,rt,"≑","\\doteqdot");V(S,at,rt,"≓","\\risingdotseq",!0);V(S,at,rt,"≒","\\fallingdotseq",!0);V(S,at,rt,"∽","\\backsim",!0);V(S,at,rt,"⋍","\\backsimeq",!0);V(S,at,rt,"⫅","\\subseteqq",!0);V(S,at,rt,"⋐","\\Subset",!0);V(S,at,rt,"⊏","\\sqsubset",!0);V(S,at,rt,"≼","\\preccurlyeq",!0);V(S,at,rt,"⋞","\\curlyeqprec",!0);V(S,at,rt,"≾","\\precsim",!0);V(S,at,rt,"⪷","\\precapprox",!0);V(S,at,rt,"⊲","\\vartriangleleft");V(S,at,rt,"⊴","\\trianglelefteq");V(S,at,rt,"⊨","\\vDash",!0);V(S,at,rt,"⊪","\\Vvdash",!0);V(S,at,rt,"⌣","\\smallsmile");V(S,at,rt,"⌢","\\smallfrown");V(S,at,rt,"≏","\\bumpeq",!0);V(S,at,rt,"≎","\\Bumpeq",!0);V(S,at,rt,"≧","\\geqq",!0);V(S,at,rt,"⩾","\\geqslant",!0);V(S,at,rt,"⪖","\\eqslantgtr",!0);V(S,at,rt,"≳","\\gtrsim",!0);V(S,at,rt,"⪆","\\gtrapprox",!0);V(S,at,Je,"⋗","\\gtrdot");V(S,at,rt,"⋙","\\ggg",!0);V(S,at,rt,"≷","\\gtrless",!0);V(S,at,rt,"⋛","\\gtreqless",!0);V(S,at,rt,"⪌","\\gtreqqless",!0);V(S,at,rt,"≖","\\eqcirc",!0);V(S,at,rt,"≗","\\circeq",!0);V(S,at,rt,"≜","\\triangleq",!0);V(S,at,rt,"∼","\\thicksim");V(S,at,rt,"≈","\\thickapprox");V(S,at,rt,"⫆","\\supseteqq",!0);V(S,at,rt,"⋑","\\Supset",!0);V(S,at,rt,"⊐","\\sqsupset",!0);V(S,at,rt,"≽","\\succcurlyeq",!0);V(S,at,rt,"⋟","\\curlyeqsucc",!0);V(S,at,rt,"≿","\\succsim",!0);V(S,at,rt,"⪸","\\succapprox",!0);V(S,at,rt,"⊳","\\vartriangleright");V(S,at,rt,"⊵","\\trianglerighteq");V(S,at,rt,"⊩","\\Vdash",!0);V(S,at,rt,"∣","\\shortmid");V(S,at,rt,"∥","\\shortparallel");V(S,at,rt,"≬","\\between",!0);V(S,at,rt,"⋔","\\pitchfork",!0);V(S,at,rt,"∝","\\varpropto");V(S,at,rt,"◀","\\blacktriangleleft");V(S,at,rt,"∴","\\therefore",!0);V(S,at,rt,"∍","\\backepsilon");V(S,at,rt,"▶","\\blacktriangleright");V(S,at,rt,"∵","\\because",!0);V(S,at,rt,"⋘","\\llless");V(S,at,rt,"⋙","\\gggtr");V(S,at,Je,"⊲","\\lhd");V(S,at,Je,"⊳","\\rhd");V(S,at,rt,"≂","\\eqsim",!0);V(S,v,rt,"⋈","\\Join");V(S,at,rt,"≑","\\Doteq",!0);V(S,at,Je,"∔","\\dotplus",!0);V(S,at,Je,"∖","\\smallsetminus");V(S,at,Je,"⋒","\\Cap",!0);V(S,at,Je,"⋓","\\Cup",!0);V(S,at,Je,"⩞","\\doublebarwedge",!0);V(S,at,Je,"⊟","\\boxminus",!0);V(S,at,Je,"⊞","\\boxplus",!0);V(S,at,Je,"⋇","\\divideontimes",!0);V(S,at,Je,"⋉","\\ltimes",!0);V(S,at,Je,"⋊","\\rtimes",!0);V(S,at,Je,"⋋","\\leftthreetimes",!0);V(S,at,Je,"⋌","\\rightthreetimes",!0);V(S,at,Je,"⋏","\\curlywedge",!0);V(S,at,Je,"⋎","\\curlyvee",!0);V(S,at,Je,"⊝","\\circleddash",!0);V(S,at,Je,"⊛","\\circledast",!0);V(S,at,Je,"⋅","\\centerdot");V(S,at,Je,"⊺","\\intercal",!0);V(S,at,Je,"⋒","\\doublecap");V(S,at,Je,"⋓","\\doublecup");V(S,at,Je,"⊠","\\boxtimes",!0);V(S,at,rt,"⇢","\\dashrightarrow",!0);V(S,at,rt,"⇠","\\dashleftarrow",!0);V(S,at,rt,"⇇","\\leftleftarrows",!0);V(S,at,rt,"⇆","\\leftrightarrows",!0);V(S,at,rt,"⇚","\\Lleftarrow",!0);V(S,at,rt,"↞","\\twoheadleftarrow",!0);V(S,at,rt,"↢","\\leftarrowtail",!0);V(S,at,rt,"↫","\\looparrowleft",!0);V(S,at,rt,"⇋","\\leftrightharpoons",!0);V(S,at,rt,"↶","\\curvearrowleft",!0);V(S,at,rt,"↺","\\circlearrowleft",!0);V(S,at,rt,"↰","\\Lsh",!0);V(S,at,rt,"⇈","\\upuparrows",!0);V(S,at,rt,"↿","\\upharpoonleft",!0);V(S,at,rt,"⇃","\\downharpoonleft",!0);V(S,v,rt,"⊶","\\origof",!0);V(S,v,rt,"⊷","\\imageof",!0);V(S,at,rt,"⊸","\\multimap",!0);V(S,at,rt,"↭","\\leftrightsquigarrow",!0);V(S,at,rt,"⇉","\\rightrightarrows",!0);V(S,at,rt,"⇄","\\rightleftarrows",!0);V(S,at,rt,"↠","\\twoheadrightarrow",!0);V(S,at,rt,"↣","\\rightarrowtail",!0);V(S,at,rt,"↬","\\looparrowright",!0);V(S,at,rt,"↷","\\curvearrowright",!0);V(S,at,rt,"↻","\\circlearrowright",!0);V(S,at,rt,"↱","\\Rsh",!0);V(S,at,rt,"⇊","\\downdownarrows",!0);V(S,at,rt,"↾","\\upharpoonright",!0);V(S,at,rt,"⇂","\\downharpoonright",!0);V(S,at,rt,"⇝","\\rightsquigarrow",!0);V(S,at,rt,"⇝","\\leadsto");V(S,at,rt,"⇛","\\Rrightarrow",!0);V(S,at,rt,"↾","\\restriction");V(S,v,Mt,"‘","`");V(S,v,Mt,"$","\\$");V(ae,v,Mt,"$","\\$");V(ae,v,Mt,"$","\\textdollar");V(S,v,Mt,"%","\\%");V(ae,v,Mt,"%","\\%");V(S,v,Mt,"_","\\_");V(ae,v,Mt,"_","\\_");V(ae,v,Mt,"_","\\textunderscore");V(S,v,Mt,"∠","\\angle",!0);V(S,v,Mt,"∞","\\infty",!0);V(S,v,Mt,"′","\\prime");V(S,v,Mt,"△","\\triangle");V(S,v,Mt,"Γ","\\Gamma",!0);V(S,v,Mt,"Δ","\\Delta",!0);V(S,v,Mt,"Θ","\\Theta",!0);V(S,v,Mt,"Λ","\\Lambda",!0);V(S,v,Mt,"Ξ","\\Xi",!0);V(S,v,Mt,"Π","\\Pi",!0);V(S,v,Mt,"Σ","\\Sigma",!0);V(S,v,Mt,"Υ","\\Upsilon",!0);V(S,v,Mt,"Φ","\\Phi",!0);V(S,v,Mt,"Ψ","\\Psi",!0);V(S,v,Mt,"Ω","\\Omega",!0);V(S,v,Mt,"A","Α");V(S,v,Mt,"B","Β");V(S,v,Mt,"E","Ε");V(S,v,Mt,"Z","Ζ");V(S,v,Mt,"H","Η");V(S,v,Mt,"I","Ι");V(S,v,Mt,"K","Κ");V(S,v,Mt,"M","Μ");V(S,v,Mt,"N","Ν");V(S,v,Mt,"O","Ο");V(S,v,Mt,"P","Ρ");V(S,v,Mt,"T","Τ");V(S,v,Mt,"X","Χ");V(S,v,Mt,"¬","\\neg",!0);V(S,v,Mt,"¬","\\lnot");V(S,v,Mt,"⊤","\\top");V(S,v,Mt,"⊥","\\bot");V(S,v,Mt,"∅","\\emptyset");V(S,at,Mt,"∅","\\varnothing");V(S,v,ol,"α","\\alpha",!0);V(S,v,ol,"β","\\beta",!0);V(S,v,ol,"γ","\\gamma",!0);V(S,v,ol,"δ","\\delta",!0);V(S,v,ol,"ϵ","\\epsilon",!0);V(S,v,ol,"ζ","\\zeta",!0);V(S,v,ol,"η","\\eta",!0);V(S,v,ol,"θ","\\theta",!0);V(S,v,ol,"ι","\\iota",!0);V(S,v,ol,"κ","\\kappa",!0);V(S,v,ol,"λ","\\lambda",!0);V(S,v,ol,"μ","\\mu",!0);V(S,v,ol,"ν","\\nu",!0);V(S,v,ol,"ξ","\\xi",!0);V(S,v,ol,"ο","\\omicron",!0);V(S,v,ol,"π","\\pi",!0);V(S,v,ol,"ρ","\\rho",!0);V(S,v,ol,"σ","\\sigma",!0);V(S,v,ol,"τ","\\tau",!0);V(S,v,ol,"υ","\\upsilon",!0);V(S,v,ol,"ϕ","\\phi",!0);V(S,v,ol,"χ","\\chi",!0);V(S,v,ol,"ψ","\\psi",!0);V(S,v,ol,"ω","\\omega",!0);V(S,v,ol,"ε","\\varepsilon",!0);V(S,v,ol,"ϑ","\\vartheta",!0);V(S,v,ol,"ϖ","\\varpi",!0);V(S,v,ol,"ϱ","\\varrho",!0);V(S,v,ol,"ς","\\varsigma",!0);V(S,v,ol,"φ","\\varphi",!0);V(S,v,Je,"∗","*",!0);V(S,v,Je,"+","+");V(S,v,Je,"−","-",!0);V(S,v,Je,"⋅","\\cdot",!0);V(S,v,Je,"∘","\\circ",!0);V(S,v,Je,"÷","\\div",!0);V(S,v,Je,"±","\\pm",!0);V(S,v,Je,"×","\\times",!0);V(S,v,Je,"∩","\\cap",!0);V(S,v,Je,"∪","\\cup",!0);V(S,v,Je,"∖","\\setminus",!0);V(S,v,Je,"∧","\\land");V(S,v,Je,"∨","\\lor");V(S,v,Je,"∧","\\wedge",!0);V(S,v,Je,"∨","\\vee",!0);V(S,v,Mt,"√","\\surd");V(S,v,tc,"⟨","\\langle",!0);V(S,v,tc,"∣","\\lvert");V(S,v,tc,"∥","\\lVert");V(S,v,$s,"?","?");V(S,v,$s,"!","!");V(S,v,$s,"⟩","\\rangle",!0);V(S,v,$s,"∣","\\rvert");V(S,v,$s,"∥","\\rVert");V(S,v,rt,"=","=");V(S,v,rt,":",":");V(S,v,rt,"≈","\\approx",!0);V(S,v,rt,"≅","\\cong",!0);V(S,v,rt,"≥","\\ge");V(S,v,rt,"≥","\\geq",!0);V(S,v,rt,"←","\\gets");V(S,v,rt,">","\\gt",!0);V(S,v,rt,"∈","\\in",!0);V(S,v,rt,"","\\@not");V(S,v,rt,"⊂","\\subset",!0);V(S,v,rt,"⊃","\\supset",!0);V(S,v,rt,"⊆","\\subseteq",!0);V(S,v,rt,"⊇","\\supseteq",!0);V(S,at,rt,"⊈","\\nsubseteq",!0);V(S,at,rt,"⊉","\\nsupseteq",!0);V(S,v,rt,"⊨","\\models");V(S,v,rt,"←","\\leftarrow",!0);V(S,v,rt,"≤","\\le");V(S,v,rt,"≤","\\leq",!0);V(S,v,rt,"<","\\lt",!0);V(S,v,rt,"→","\\rightarrow",!0);V(S,v,rt,"→","\\to");V(S,at,rt,"≱","\\ngeq",!0);V(S,at,rt,"≰","\\nleq",!0);V(S,v,xd," ","\\ ");V(S,v,xd," ","\\space");V(S,v,xd," ","\\nobreakspace");V(ae,v,xd," ","\\ ");V(ae,v,xd," "," ");V(ae,v,xd," ","\\space");V(ae,v,xd," ","\\nobreakspace");V(S,v,xd,null,"\\nobreak");V(S,v,xd,null,"\\allowbreak");V(S,v,fG,",",",");V(S,v,fG,";",";");V(S,at,Je,"⊼","\\barwedge",!0);V(S,at,Je,"⊻","\\veebar",!0);V(S,v,Je,"⊙","\\odot",!0);V(S,v,Je,"⊕","\\oplus",!0);V(S,v,Je,"⊗","\\otimes",!0);V(S,v,Mt,"∂","\\partial",!0);V(S,v,Je,"⊘","\\oslash",!0);V(S,at,Je,"⊚","\\circledcirc",!0);V(S,at,Je,"⊡","\\boxdot",!0);V(S,v,Je,"△","\\bigtriangleup");V(S,v,Je,"▽","\\bigtriangledown");V(S,v,Je,"†","\\dagger");V(S,v,Je,"⋄","\\diamond");V(S,v,Je,"⋆","\\star");V(S,v,Je,"◃","\\triangleleft");V(S,v,Je,"▹","\\triangleright");V(S,v,tc,"{","\\{");V(ae,v,Mt,"{","\\{");V(ae,v,Mt,"{","\\textbraceleft");V(S,v,$s,"}","\\}");V(ae,v,Mt,"}","\\}");V(ae,v,Mt,"}","\\textbraceright");V(S,v,tc,"{","\\lbrace");V(S,v,$s,"}","\\rbrace");V(S,v,tc,"[","\\lbrack",!0);V(ae,v,Mt,"[","\\lbrack",!0);V(S,v,$s,"]","\\rbrack",!0);V(ae,v,Mt,"]","\\rbrack",!0);V(S,v,tc,"(","\\lparen",!0);V(S,v,$s,")","\\rparen",!0);V(ae,v,Mt,"<","\\textless",!0);V(ae,v,Mt,">","\\textgreater",!0);V(S,v,tc,"⌊","\\lfloor",!0);V(S,v,$s,"⌋","\\rfloor",!0);V(S,v,tc,"⌈","\\lceil",!0);V(S,v,$s,"⌉","\\rceil",!0);V(S,v,Mt,"\\","\\backslash");V(S,v,Mt,"∣","|");V(S,v,Mt,"∣","\\vert");V(ae,v,Mt,"|","\\textbar",!0);V(S,v,Mt,"∥","\\|");V(S,v,Mt,"∥","\\Vert");V(ae,v,Mt,"∥","\\textbardbl");V(ae,v,Mt,"~","\\textasciitilde");V(ae,v,Mt,"\\","\\textbackslash");V(ae,v,Mt,"^","\\textasciicircum");V(S,v,rt,"↑","\\uparrow",!0);V(S,v,rt,"⇑","\\Uparrow",!0);V(S,v,rt,"↓","\\downarrow",!0);V(S,v,rt,"⇓","\\Downarrow",!0);V(S,v,rt,"↕","\\updownarrow",!0);V(S,v,rt,"⇕","\\Updownarrow",!0);V(S,v,wi,"∐","\\coprod");V(S,v,wi,"⋁","\\bigvee");V(S,v,wi,"⋀","\\bigwedge");V(S,v,wi,"⨄","\\biguplus");V(S,v,wi,"⋂","\\bigcap");V(S,v,wi,"⋃","\\bigcup");V(S,v,wi,"∫","\\int");V(S,v,wi,"∫","\\intop");V(S,v,wi,"∬","\\iint");V(S,v,wi,"∭","\\iiint");V(S,v,wi,"∏","\\prod");V(S,v,wi,"∑","\\sum");V(S,v,wi,"⨂","\\bigotimes");V(S,v,wi,"⨁","\\bigoplus");V(S,v,wi,"⨀","\\bigodot");V(S,v,wi,"∮","\\oint");V(S,v,wi,"∯","\\oiint");V(S,v,wi,"∰","\\oiiint");V(S,v,wi,"⨆","\\bigsqcup");V(S,v,wi,"∫","\\smallint");V(ae,v,op,"…","\\textellipsis");V(S,v,op,"…","\\mathellipsis");V(ae,v,op,"…","\\ldots",!0);V(S,v,op,"…","\\ldots",!0);V(S,v,op,"⋯","\\@cdots",!0);V(S,v,op,"⋱","\\ddots",!0);V(S,v,Mt,"⋮","\\varvdots");V(ae,v,Mt,"⋮","\\varvdots");V(S,v,Kn,"ˊ","\\acute");V(S,v,Kn,"ˋ","\\grave");V(S,v,Kn,"¨","\\ddot");V(S,v,Kn,"~","\\tilde");V(S,v,Kn,"ˉ","\\bar");V(S,v,Kn,"˘","\\breve");V(S,v,Kn,"ˇ","\\check");V(S,v,Kn,"^","\\hat");V(S,v,Kn,"⃗","\\vec");V(S,v,Kn,"˙","\\dot");V(S,v,Kn,"˚","\\mathring");V(S,v,ol,"","\\@imath");V(S,v,ol,"","\\@jmath");V(S,v,Mt,"ı","ı");V(S,v,Mt,"ȷ","ȷ");V(ae,v,Mt,"ı","\\i",!0);V(ae,v,Mt,"ȷ","\\j",!0);V(ae,v,Mt,"ß","\\ss",!0);V(ae,v,Mt,"æ","\\ae",!0);V(ae,v,Mt,"œ","\\oe",!0);V(ae,v,Mt,"ø","\\o",!0);V(ae,v,Mt,"Æ","\\AE",!0);V(ae,v,Mt,"Œ","\\OE",!0);V(ae,v,Mt,"Ø","\\O",!0);V(ae,v,Kn,"ˊ","\\'");V(ae,v,Kn,"ˋ","\\`");V(ae,v,Kn,"ˆ","\\^");V(ae,v,Kn,"˜","\\~");V(ae,v,Kn,"ˉ","\\=");V(ae,v,Kn,"˘","\\u");V(ae,v,Kn,"˙","\\.");V(ae,v,Kn,"¸","\\c");V(ae,v,Kn,"˚","\\r");V(ae,v,Kn,"ˇ","\\v");V(ae,v,Kn,"¨",'\\"');V(ae,v,Kn,"˝","\\H");V(ae,v,Kn,"◯","\\textcircled");var _S={"--":!0,"---":!0,"``":!0,"''":!0};V(ae,v,Mt,"–","--",!0);V(ae,v,Mt,"–","\\textendash");V(ae,v,Mt,"—","---",!0);V(ae,v,Mt,"—","\\textemdash");V(ae,v,Mt,"‘","`",!0);V(ae,v,Mt,"‘","\\textquoteleft");V(ae,v,Mt,"’","'",!0);V(ae,v,Mt,"’","\\textquoteright");V(ae,v,Mt,"“","``",!0);V(ae,v,Mt,"“","\\textquotedblleft");V(ae,v,Mt,"”","''",!0);V(ae,v,Mt,"”","\\textquotedblright");V(S,v,Mt,"°","\\degree",!0);V(ae,v,Mt,"°","\\degree");V(ae,v,Mt,"°","\\textdegree",!0);V(S,v,Mt,"£","\\pounds");V(S,v,Mt,"£","\\mathsterling",!0);V(ae,v,Mt,"£","\\pounds");V(ae,v,Mt,"£","\\textsterling",!0);V(S,at,Mt,"✠","\\maltese");V(ae,at,Mt,"✠","\\maltese");var e9='0123456789/@."';for(var tX=0;tX<e9.length;tX++){var l9=e9.charAt(tX);V(S,v,Mt,l9,l9)}var n9='0123456789!@*()-=+";:?/.,';for(var eX=0;eX<n9.length;eX++){var i9=n9.charAt(eX);V(ae,v,Mt,i9,i9)}var fM="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";for(var lX=0;lX<fM.length;lX++){var d1=fM.charAt(lX);V(S,v,ol,d1,d1),V(ae,v,Mt,d1,d1)}V(S,at,Mt,"C","ℂ");V(ae,at,Mt,"C","ℂ");V(S,at,Mt,"H","ℍ");V(ae,at,Mt,"H","ℍ");V(S,at,Mt,"N","ℕ");V(ae,at,Mt,"N","ℕ");V(S,at,Mt,"P","ℙ");V(ae,at,Mt,"P","ℙ");V(S,at,Mt,"Q","ℚ");V(ae,at,Mt,"Q","ℚ");V(S,at,Mt,"R","ℝ");V(ae,at,Mt,"R","ℝ");V(S,at,Mt,"Z","ℤ");V(ae,at,Mt,"Z","ℤ");V(S,v,ol,"h","ℎ");V(ae,v,ol,"h","ℎ");var Zl="";for(var Ds=0;Ds<fM.length;Ds++){var ci=fM.charAt(Ds);Zl=String.fromCharCode(55349,56320+Ds),V(S,v,ol,ci,Zl),V(ae,v,Mt,ci,Zl),Zl=String.fromCharCode(55349,56372+Ds),V(S,v,ol,ci,Zl),V(ae,v,Mt,ci,Zl),Zl=String.fromCharCode(55349,56424+Ds),V(S,v,ol,ci,Zl),V(ae,v,Mt,ci,Zl),Zl=String.fromCharCode(55349,56580+Ds),V(S,v,ol,ci,Zl),V(ae,v,Mt,ci,Zl),Zl=String.fromCharCode(55349,56684+Ds),V(S,v,ol,ci,Zl),V(ae,v,Mt,ci,Zl),Zl=String.fromCharCode(55349,56736+Ds),V(S,v,ol,ci,Zl),V(ae,v,Mt,ci,Zl),Zl=String.fromCharCode(55349,56788+Ds),V(S,v,ol,ci,Zl),V(ae,v,Mt,ci,Zl),Zl=String.fromCharCode(55349,56840+Ds),V(S,v,ol,ci,Zl),V(ae,v,Mt,ci,Zl),Zl=String.fromCharCode(55349,56944+Ds),V(S,v,ol,ci,Zl),V(ae,v,Mt,ci,Zl),Ds<26&&(Zl=String.fromCharCode(55349,56632+Ds),V(S,v,ol,ci,Zl),V(ae,v,Mt,ci,Zl),Zl=String.fromCharCode(55349,56476+Ds),V(S,v,ol,ci,Zl),V(ae,v,Mt,ci,Zl))}Zl="𝕜";V(S,v,ol,"k",Zl);V(ae,v,Mt,"k",Zl);for(var A0=0;A0<10;A0++){var lu=A0.toString();Zl=String.fromCharCode(55349,57294+A0),V(S,v,ol,lu,Zl),V(ae,v,Mt,lu,Zl),Zl=String.fromCharCode(55349,57314+A0),V(S,v,ol,lu,Zl),V(ae,v,Mt,lu,Zl),Zl=String.fromCharCode(55349,57324+A0),V(S,v,ol,lu,Zl),V(ae,v,Mt,lu,Zl),Zl=String.fromCharCode(55349,57334+A0),V(S,v,ol,lu,Zl),V(ae,v,Mt,lu,Zl)}var bY="ÐÞþ";for(var nX=0;nX<bY.length;nX++){var u1=bY.charAt(nX);V(S,v,ol,u1,u1),V(ae,v,Mt,u1,u1)}var m1=[["mathbf","textbf","Main-Bold"],["mathbf","textbf","Main-Bold"],["mathnormal","textit","Math-Italic"],["mathnormal","textit","Math-Italic"],["boldsymbol","boldsymbol","Main-BoldItalic"],["boldsymbol","boldsymbol","Main-BoldItalic"],["mathscr","textscr","Script-Regular"],["","",""],["","",""],["","",""],["mathfrak","textfrak","Fraktur-Regular"],["mathfrak","textfrak","Fraktur-Regular"],["mathbb","textbb","AMS-Regular"],["mathbb","textbb","AMS-Regular"],["mathboldfrak","textboldfrak","Fraktur-Regular"],["mathboldfrak","textboldfrak","Fraktur-Regular"],["mathsf","textsf","SansSerif-Regular"],["mathsf","textsf","SansSerif-Regular"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathitsf","textitsf","SansSerif-Italic"],["mathitsf","textitsf","SansSerif-Italic"],["","",""],["","",""],["mathtt","texttt","Typewriter-Regular"],["mathtt","texttt","Typewriter-Regular"]],s9=[["mathbf","textbf","Main-Bold"],["","",""],["mathsf","textsf","SansSerif-Regular"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathtt","texttt","Typewriter-Regular"]],n6=function(t,e){var n=t.charCodeAt(0),i=t.charCodeAt(1),s=(n-55296)*1024+(i-56320)+65536,a=e==="math"?0:1;if(119808<=s&&s<120484){var c=Math.floor((s-119808)/26);return[m1[c][2],m1[c][a]]}else if(120782<=s&&s<=120831){var o=Math.floor((s-120782)/10);return[s9[o][2],s9[o][a]]}else{if(s===120485||s===120486)return[m1[0][2],m1[0][a]];if(120486<s&&s<120782)return["",""];throw new Te("Unsupported character: "+t)}},SG=function(t,e,n){return fn[n][t]&&fn[n][t].replace&&(t=fn[n][t].replace),{value:t,metrics:zV(t,e,n)}},lr=function(t,e,n,i,s){var a=SG(t,e,n),c=a.metrics;t=a.value;var o;if(c){var d=c.italic;(n==="text"||i&&i.font==="mathit")&&(d=0),o=new or(t,c.height,c.depth,d,c.skew,c.width,s)}else typeof console<"u"&&console.warn("No character metrics "+("for '"+t+"' in style '"+e+"' and mode '"+n+"'")),o=new or(t,0,0,0,0,0,s);if(i){o.maxFontSize=i.sizeMultiplier,i.style.isTight()&&o.classes.push("mtight");var h=i.getColor();h&&(o.style.color=h)}return o},i6=function(t,e,n,i){return i===void 0&&(i=[]),n.font==="boldsymbol"&&SG(t,"Main-Bold",e).metrics?lr(t,"Main-Bold",e,n,i.concat(["mathbf"])):t==="\\"||fn[e][t].font==="main"?lr(t,"Main-Regular",e,n,i):lr(t,"AMS-Regular",e,n,i.concat(["amsrm"]))},s6=function(t,e,n,i,s){return s!=="textord"&&SG(t,"Math-BoldItalic",e).metrics?{fontName:"Math-BoldItalic",fontClass:"boldsymbol"}:{fontName:"Main-Bold",fontClass:"mathbf"}},a6=function(t,e,n){var i=t.mode,s=t.text,a=["mord"],c=i==="math"||i==="text"&&e.font,o=c?e.font:e.fontFamily,d="",h="";if(s.charCodeAt(0)===55349&&([d,h]=n6(s,i)),d.length>0)return lr(s,d,i,e,a.concat(h));if(o){var b,p;if(o==="boldsymbol"){var y=s6(s,i,e,a,n);b=y.fontName,p=[y.fontClass]}else c?(b=tR[o].fontName,p=[o]):(b=h1(o,e.fontWeight,e.fontShape),p=[o,e.fontWeight,e.fontShape]);if(SG(s,b,i).metrics)return lr(s,b,i,e,a.concat(p));if(_S.hasOwnProperty(s)&&b.slice(0,10)==="Typewriter"){for(var M=[],T=0;T<s.length;T++)M.push(lr(s[T],b,i,e,a.concat(p)));return $S(M)}}if(n==="mathord")return lr(s,"Math-Italic",i,e,a.concat(["mathnormal"]));if(n==="textord"){var Y=fn[i][s]&&fn[i][s].font;if(Y==="ams"){var L=h1("amsrm",e.fontWeight,e.fontShape);return lr(s,L,i,e,a.concat("amsrm",e.fontWeight,e.fontShape))}else if(Y==="main"||!Y){var x=h1("textrm",e.fontWeight,e.fontShape);return lr(s,x,i,e,a.concat(e.fontWeight,e.fontShape))}else{var g=h1(Y,e.fontWeight,e.fontShape);return lr(s,g,i,e,a.concat(g,e.fontWeight,e.fontShape))}}else throw new Error("unexpected type: "+n+" in makeOrd")},c6=(l,t)=>{if(a0(l.classes)!==a0(t.classes)||l.skew!==t.skew||l.maxFontSize!==t.maxFontSize)return!1;if(l.classes.length===1){var e=l.classes[0];if(e==="mbin"||e==="mord")return!1}for(var n in l.style)if(l.style.hasOwnProperty(n)&&l.style[n]!==t.style[n])return!1;for(var i in t.style)if(t.style.hasOwnProperty(i)&&l.style[i]!==t.style[i])return!1;return!0},r6=l=>{for(var t=0;t<l.length-1;t++){var e=l[t],n=l[t+1];e instanceof or&&n instanceof or&&c6(e,n)&&(e.text+=n.text,e.height=Math.max(e.height,n.height),e.depth=Math.max(e.depth,n.depth),e.italic=n.italic,l.splice(t+1,1),t--)}return l},gV=function(t){for(var e=0,n=0,i=0,s=0;s<t.children.length;s++){var a=t.children[s];a.height>e&&(e=a.height),a.depth>n&&(n=a.depth),a.maxFontSize>i&&(i=a.maxFontSize)}t.height=e,t.depth=n,t.maxFontSize=i},Za=function(t,e,n,i){var s=new xG(t,e,n,i);return gV(s),s},qS=(l,t,e,n)=>new xG(l,t,e,n),o6=function(t,e,n){var i=Za([t],[],e);return i.height=Math.max(n||e.fontMetrics().defaultRuleThickness,e.minRuleThickness),i.style.borderBottomWidth=ze(i.height),i.maxFontSize=1,i},d6=function(t,e,n,i){var s=new AS(t,e,n,i);return gV(s),s},$S=function(t){var e=new RW(t);return gV(e),e},u6=function(t,e){return t instanceof RW?Za([],[t],e):t},m6=function(t){if(t.positionType==="individualShift"){for(var e=t.children,n=[e[0]],i=-e[0].shift-e[0].elem.depth,s=i,a=1;a<e.length;a++){var c=-e[a].shift-s-e[a].elem.depth,o=c-(e[a-1].elem.height+e[a-1].elem.depth);s=s+c,n.push({type:"kern",size:o}),n.push(e[a])}return{children:n,depth:i}}var d;if(t.positionType==="top"){for(var h=t.positionData,b=0;b<t.children.length;b++){var p=t.children[b];h-=p.type==="kern"?p.size:p.elem.height+p.elem.depth}d=h}else if(t.positionType==="bottom")d=-t.positionData;else{var y=t.children[0];if(y.type!=="elem")throw new Error('First child must have type "elem".');if(t.positionType==="shift")d=-y.elem.depth-t.positionData;else if(t.positionType==="firstBaseline")d=-y.elem.depth;else throw new Error("Invalid positionType "+t.positionType+".")}return{children:t.children,depth:d}},h6=function(t,e){for(var{children:n,depth:i}=m6(t),s=0,a=0;a<n.length;a++){var c=n[a];if(c.type==="elem"){var o=c.elem;s=Math.max(s,o.maxFontSize,o.height)}}s+=2;var d=Za(["pstrut"],[]);d.style.height=ze(s);for(var h=[],b=i,p=i,y=i,M=0;M<n.length;M++){var T=n[M];if(T.type==="kern")y+=T.size;else{var Y=T.elem,L=T.wrapperClasses||[],x=T.wrapperStyle||{},g=Za(L,[d,Y],void 0,x);g.style.top=ze(-s-y-Y.depth),T.marginLeft&&(g.style.marginLeft=T.marginLeft),T.marginRight&&(g.style.marginRight=T.marginRight),h.push(g),y+=Y.height+Y.depth}b=Math.min(b,y),p=Math.max(p,y)}var F=Za(["vlist"],h);F.style.height=ze(p);var j;if(b<0){var D=Za([],[]),_=Za(["vlist"],[D]);_.style.height=ze(-b);var ut=Za(["vlist-s"],[new or("")]);j=[Za(["vlist-r"],[F,ut]),Za(["vlist-r"],[_])]}else j=[Za(["vlist-r"],[F])];var K=Za(["vlist-t"],j);return j.length===2&&K.classes.push("vlist-t2"),K.height=p,K.depth=-b,K},b6=(l,t)=>{var e=Za(["mspace"],[],t),n=ni(l,t);return e.style.marginRight=ze(n),e},h1=function(t,e,n){var i="";switch(t){case"amsrm":i="AMS";break;case"textrm":i="Main";break;case"textsf":i="SansSerif";break;case"texttt":i="Typewriter";break;default:i=t}var s;return e==="textbf"&&n==="textit"?s="BoldItalic":e==="textbf"?s="Bold":e==="textit"?s="Italic":s="Regular",i+"-"+s},tR={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathsfit:{variant:"sans-serif-italic",fontName:"SansSerif-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},eR={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},Z6=function(t,e){var[n,i,s]=eR[t],a=new ph(n),c=new c0([a],{width:ze(i),height:ze(s),style:"width:"+ze(i),viewBox:"0 0 "+1e3*i+" "+1e3*s,preserveAspectRatio:"xMinYMin"}),o=qS(["overlay"],[c],e);return o.height=s,o.style.height=ze(s),o.style.width=ze(i),o},Dt={fontMap:tR,makeSymbol:lr,mathsym:i6,makeSpan:Za,makeSvgSpan:qS,makeLineSpan:o6,makeAnchor:d6,makeFragment:$S,wrapFragment:u6,makeVList:h6,makeOrd:a6,makeGlue:b6,staticSvg:Z6,svgData:eR,tryCombineChars:r6},ti={number:3,unit:"mu"},_0={number:4,unit:"mu"},Vo={number:5,unit:"mu"},p6={mord:{mop:ti,mbin:_0,mrel:Vo,minner:ti},mop:{mord:ti,mop:ti,mrel:Vo,minner:ti},mbin:{mord:_0,mop:_0,mopen:_0,minner:_0},mrel:{mord:Vo,mop:Vo,mopen:Vo,minner:Vo},mopen:{},mclose:{mop:ti,mbin:_0,mrel:Vo,minner:ti},mpunct:{mord:ti,mop:ti,mrel:Vo,mopen:ti,mclose:ti,mpunct:ti,minner:ti},minner:{mord:ti,mop:ti,mbin:_0,mrel:Vo,mopen:ti,mpunct:ti,minner:ti}},y6={mord:{mop:ti},mop:{mord:ti,mop:ti},mbin:{},mrel:{},mopen:{},mclose:{mop:ti},mpunct:{},minner:{mop:ti}},lR={},SM={},RM={};function De(l){for(var{type:t,names:e,props:n,handler:i,htmlBuilder:s,mathmlBuilder:a}=l,c={type:t,numArgs:n.numArgs,argTypes:n.argTypes,allowedInArgument:!!n.allowedInArgument,allowedInText:!!n.allowedInText,allowedInMath:n.allowedInMath===void 0?!0:n.allowedInMath,numOptionalArgs:n.numOptionalArgs||0,infix:!!n.infix,primitive:!!n.primitive,handler:i},o=0;o<e.length;++o)lR[e[o]]=c;t&&(s&&(SM[t]=s),a&&(RM[t]=a))}function Ih(l){var{type:t,htmlBuilder:e,mathmlBuilder:n}=l;De({type:t,names:[],props:{numArgs:0},handler(){throw new Error("Should never be called.")},htmlBuilder:e,mathmlBuilder:n})}var kM=function(t){return t.type==="ordgroup"&&t.body.length===1?t.body[0]:t},yi=function(t){return t.type==="ordgroup"?t.body:[t]},Vd=Dt.makeSpan,W6=["leftmost","mbin","mopen","mrel","mop","mpunct"],N6=["rightmost","mrel","mclose","mpunct"],M6={display:dl.DISPLAY,text:dl.TEXT,script:dl.SCRIPT,scriptscript:dl.SCRIPTSCRIPT},G6={mord:"mord",mop:"mop",mbin:"mbin",mrel:"mrel",mopen:"mopen",mclose:"mclose",mpunct:"mpunct",minner:"minner"},Ji=function(t,e,n,i){i===void 0&&(i=[null,null]);for(var s=[],a=0;a<t.length;a++){var c=ln(t[a],e);if(c instanceof RW){var o=c.children;s.push(...o)}else s.push(c)}if(Dt.tryCombineChars(s),!n)return s;var d=e;if(t.length===1){var h=t[0];h.type==="sizing"?d=e.havingSize(h.size):h.type==="styling"&&(d=e.havingStyle(M6[h.style]))}var b=Vd([i[0]||"leftmost"],[],e),p=Vd([i[1]||"rightmost"],[],e),y=n==="root";return a9(s,(M,T)=>{var Y=T.classes[0],L=M.classes[0];Y==="mbin"&&sl.contains(N6,L)?T.classes[0]="mord":L==="mbin"&&sl.contains(W6,Y)&&(M.classes[0]="mord")},{node:b},p,y),a9(s,(M,T)=>{var Y=ZY(T),L=ZY(M),x=Y&&L?M.hasClass("mtight")?y6[Y][L]:p6[Y][L]:null;if(x)return Dt.makeGlue(x,d)},{node:b},p,y),s},a9=function l(t,e,n,i,s){i&&t.push(i);for(var a=0;a<t.length;a++){var c=t[a],o=nR(c);if(o){l(o.children,e,n,null,s);continue}var d=!c.hasClass("mspace");if(d){var h=e(c,n.node);h&&(n.insertAfter?n.insertAfter(h):(t.unshift(h),a++))}d?n.node=c:s&&c.hasClass("newline")&&(n.node=Vd(["leftmost"])),n.insertAfter=(b=>p=>{t.splice(b+1,0,p),a++})(a)}i&&t.pop()},nR=function(t){return t instanceof RW||t instanceof AS||t instanceof xG&&t.hasClass("enclosing")?t:null},T6=function l(t,e){var n=nR(t);if(n){var i=n.children;if(i.length){if(e==="right")return l(i[i.length-1],"right");if(e==="left")return l(i[0],"left")}}return t},ZY=function(t,e){return t?(e&&(t=T6(t,e)),G6[t.classes[0]]||null):null},k2=function(t,e){var n=["nulldelimiter"].concat(t.baseSizingClasses());return Vd(e.concat(n))},ln=function(t,e,n){if(!t)return Vd();if(SM[t.type]){var i=SM[t.type](t,e);if(n&&e.size!==n.size){i=Vd(e.sizingClasses(n),[i],e);var s=e.sizeMultiplier/n.sizeMultiplier;i.height*=s,i.depth*=s}return i}else throw new Te("Got group of unknown type: '"+t.type+"'")};function b1(l,t){var e=Vd(["base"],l,t),n=Vd(["strut"]);return n.style.height=ze(e.height+e.depth),e.depth&&(n.style.verticalAlign=ze(-e.depth)),e.children.unshift(n),e}function c9(l,t){var e=null;l.length===1&&l[0].type==="tag"&&(e=l[0].tag,l=l[0].body);var n=Ji(l,t,"root"),i;n.length===2&&n[1].hasClass("tag")&&(i=n.pop());for(var s=[],a=[],c=0;c<n.length;c++)if(a.push(n[c]),n[c].hasClass("mbin")||n[c].hasClass("mrel")||n[c].hasClass("allowbreak")){for(var o=!1;c<n.length-1&&n[c+1].hasClass("mspace")&&!n[c+1].hasClass("newline");)c++,a.push(n[c]),n[c].hasClass("nobreak")&&(o=!0);o||(s.push(b1(a,t)),a=[])}else n[c].hasClass("newline")&&(a.pop(),a.length>0&&(s.push(b1(a,t)),a=[]),s.push(n[c]));a.length>0&&s.push(b1(a,t));var d;e?(d=b1(Ji(e,t,!0)),d.classes=["tag"],s.push(d)):i&&s.push(i);var h=Vd(["katex-html"],s);if(h.setAttribute("aria-hidden","true"),d){var b=d.children[0];b.style.height=ze(h.height+h.depth),h.depth&&(b.style.verticalAlign=ze(-h.depth))}return h}function iR(l){return new RW(l)}class Aa{constructor(t,e,n){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=t,this.attributes={},this.children=e||[],this.classes=n||[]}setAttribute(t,e){this.attributes[t]=e}getAttribute(t){return this.attributes[t]}toNode(){var t=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&t.setAttribute(e,this.attributes[e]);this.classes.length>0&&(t.className=a0(this.classes));for(var n=0;n<this.children.length;n++)if(this.children[n]instanceof qr&&this.children[n+1]instanceof qr){for(var i=this.children[n].toText()+this.children[++n].toText();this.children[n+1]instanceof qr;)i+=this.children[++n].toText();t.appendChild(new qr(i).toNode())}else t.appendChild(this.children[n].toNode());return t}toMarkup(){var t="<"+this.type;for(var e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&(t+=" "+e+'="',t+=sl.escape(this.attributes[e]),t+='"');this.classes.length>0&&(t+=' class ="'+sl.escape(a0(this.classes))+'"'),t+=">";for(var n=0;n<this.children.length;n++)t+=this.children[n].toMarkup();return t+="</"+this.type+">",t}toText(){return this.children.map(t=>t.toText()).join("")}}class qr{constructor(t){this.text=void 0,this.text=t}toNode(){return document.createTextNode(this.text)}toMarkup(){return sl.escape(this.toText())}toText(){return this.text}}class X6{constructor(t){this.width=void 0,this.character=void 0,this.width=t,t>=.05555&&t<=.05556?this.character=" ":t>=.1666&&t<=.1667?this.character=" ":t>=.2222&&t<=.2223?this.character=" ":t>=.2777&&t<=.2778?this.character=" ":t>=-.05556&&t<=-.05555?this.character=" ":t>=-.1667&&t<=-.1666?this.character=" ":t>=-.2223&&t<=-.2222?this.character=" ":t>=-.2778&&t<=-.2777?this.character=" ":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var t=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return t.setAttribute("width",ze(this.width)),t}toMarkup(){return this.character?"<mtext>"+this.character+"</mtext>":'<mspace width="'+ze(this.width)+'"/>'}toText(){return this.character?this.character:" "}}var me={MathNode:Aa,TextNode:qr,SpaceNode:X6,newDocumentFragment:iR},fc=function(t,e,n){return fn[e][t]&&fn[e][t].replace&&t.charCodeAt(0)!==55349&&!(_S.hasOwnProperty(t)&&n&&(n.fontFamily&&n.fontFamily.slice(4,6)==="tt"||n.font&&n.font.slice(4,6)==="tt"))&&(t=fn[e][t].replace),new me.TextNode(t)},xV=function(t){return t.length===1?t[0]:new me.MathNode("mrow",t)},fV=function(t,e){if(e.fontFamily==="texttt")return"monospace";if(e.fontFamily==="textsf")return e.fontShape==="textit"&&e.fontWeight==="textbf"?"sans-serif-bold-italic":e.fontShape==="textit"?"sans-serif-italic":e.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(e.fontShape==="textit"&&e.fontWeight==="textbf")return"bold-italic";if(e.fontShape==="textit")return"italic";if(e.fontWeight==="textbf")return"bold";var n=e.font;if(!n||n==="mathnormal")return null;var i=t.mode;if(n==="mathit")return"italic";if(n==="boldsymbol")return t.type==="textord"?"bold":"bold-italic";if(n==="mathbf")return"bold";if(n==="mathbb")return"double-struck";if(n==="mathsfit")return"sans-serif-italic";if(n==="mathfrak")return"fraktur";if(n==="mathscr"||n==="mathcal")return"script";if(n==="mathsf")return"sans-serif";if(n==="mathtt")return"monospace";var s=t.text;if(sl.contains(["\\imath","\\jmath"],s))return null;fn[i][s]&&fn[i][s].replace&&(s=fn[i][s].replace);var a=Dt.fontMap[n].fontName;return zV(s,a,i)?Dt.fontMap[n].variant:null};function iX(l){if(!l)return!1;if(l.type==="mi"&&l.children.length===1){var t=l.children[0];return t instanceof qr&&t.text==="."}else if(l.type==="mo"&&l.children.length===1&&l.getAttribute("separator")==="true"&&l.getAttribute("lspace")==="0em"&&l.getAttribute("rspace")==="0em"){var e=l.children[0];return e instanceof qr&&e.text===","}else return!1}var ya=function(t,e,n){if(t.length===1){var i=wn(t[0],e);return n&&i instanceof Aa&&i.type==="mo"&&(i.setAttribute("lspace","0em"),i.setAttribute("rspace","0em")),[i]}for(var s=[],a,c=0;c<t.length;c++){var o=wn(t[c],e);if(o instanceof Aa&&a instanceof Aa){if(o.type==="mtext"&&a.type==="mtext"&&o.getAttribute("mathvariant")===a.getAttribute("mathvariant")){a.children.push(...o.children);continue}else if(o.type==="mn"&&a.type==="mn"){a.children.push(...o.children);continue}else if(iX(o)&&a.type==="mn"){a.children.push(...o.children);continue}else if(o.type==="mn"&&iX(a))o.children=[...a.children,...o.children],s.pop();else if((o.type==="msup"||o.type==="msub")&&o.children.length>=1&&(a.type==="mn"||iX(a))){var d=o.children[0];d instanceof Aa&&d.type==="mn"&&(d.children=[...a.children,...d.children],s.pop())}else if(a.type==="mi"&&a.children.length===1){var h=a.children[0];if(h instanceof qr&&h.text==="̸"&&(o.type==="mo"||o.type==="mi"||o.type==="mn")){var b=o.children[0];b instanceof qr&&b.text.length>0&&(b.text=b.text.slice(0,1)+"̸"+b.text.slice(1),s.pop())}}}s.push(o),a=o}return s},r0=function(t,e,n){return xV(ya(t,e,n))},wn=function(t,e){if(!t)return new me.MathNode("mrow");if(RM[t.type]){var n=RM[t.type](t,e);return n}else throw new Te("Got group of unknown type: '"+t.type+"'")};function r9(l,t,e,n,i){var s=ya(l,e),a;s.length===1&&s[0]instanceof Aa&&sl.contains(["mrow","mtable"],s[0].type)?a=s[0]:a=new me.MathNode("mrow",s);var c=new me.MathNode("annotation",[new me.TextNode(t)]);c.setAttribute("encoding","application/x-tex");var o=new me.MathNode("semantics",[a,c]),d=new me.MathNode("math",[o]);d.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),n&&d.setAttribute("display","block");var h=i?"katex":"katex-mathml";return Dt.makeSpan([h],[d])}var Y6=function(t){return new fo({style:t.displayMode?dl.DISPLAY:dl.TEXT,maxSize:t.maxSize,minRuleThickness:t.minRuleThickness})},L6=function(t,e){if(e.displayMode){var n=["katex-display"];e.leqno&&n.push("leqno"),e.fleqn&&n.push("fleqn"),t=Dt.makeSpan(n,[t])}return t},V6=function(t,e,n){var i=Y6(n),s;if(n.output==="mathml")return r9(t,e,i,n.displayMode,!0);if(n.output==="html"){var a=c9(t,i);s=Dt.makeSpan(["katex"],[a])}else{var c=r9(t,e,i,n.displayMode,!1),o=c9(t,i);s=Dt.makeSpan(["katex"],[c,o])}return L6(s,n)},I6={widehat:"^",widecheck:"ˇ",widetilde:"~",utilde:"~",overleftarrow:"←",underleftarrow:"←",xleftarrow:"←",overrightarrow:"→",underrightarrow:"→",xrightarrow:"→",underbrace:"⏟",overbrace:"⏞",overgroup:"⏠",undergroup:"⏡",overleftrightarrow:"↔",underleftrightarrow:"↔",xleftrightarrow:"↔",Overrightarrow:"⇒",xRightarrow:"⇒",overleftharpoon:"↼",xleftharpoonup:"↼",overrightharpoon:"⇀",xrightharpoonup:"⇀",xLeftarrow:"⇐",xLeftrightarrow:"⇔",xhookleftarrow:"↩",xhookrightarrow:"↪",xmapsto:"↦",xrightharpoondown:"⇁",xleftharpoondown:"↽",xrightleftharpoons:"⇌",xleftrightharpoons:"⇋",xtwoheadleftarrow:"↞",xtwoheadrightarrow:"↠",xlongequal:"=",xtofrom:"⇄",xrightleftarrows:"⇄",xrightequilibrium:"⇌",xleftequilibrium:"⇋","\\cdrightarrow":"→","\\cdleftarrow":"←","\\cdlongequal":"="},w6=function(t){var e=new me.MathNode("mo",[new me.TextNode(I6[t.replace(/^\\/,"")])]);return e.setAttribute("stretchy","true"),e},z6={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},g6=function(t){return t.type==="ordgroup"?t.body.length:1},x6=function(t,e){function n(){var c=4e5,o=t.label.slice(1);if(sl.contains(["widehat","widecheck","widetilde","utilde"],o)){var d=t,h=g6(d.base),b,p,y;if(h>5)o==="widehat"||o==="widecheck"?(b=420,c=2364,y=.42,p=o+"4"):(b=312,c=2340,y=.34,p="tilde4");else{var M=[1,1,2,2,3,3][h];o==="widehat"||o==="widecheck"?(c=[0,1062,2364,2364,2364][M],b=[0,239,300,360,420][M],y=[0,.24,.3,.3,.36,.42][M],p=o+M):(c=[0,600,1033,2339,2340][M],b=[0,260,286,306,312][M],y=[0,.26,.286,.3,.306,.34][M],p="tilde"+M)}var T=new ph(p),Y=new c0([T],{width:"100%",height:ze(y),viewBox:"0 0 "+c+" "+b,preserveAspectRatio:"none"});return{span:Dt.makeSvgSpan([],[Y],e),minWidth:0,height:y}}else{var L=[],x=z6[o],[g,F,j]=x,D=j/1e3,_=g.length,ut,K;if(_===1){var f=x[3];ut=["hide-tail"],K=[f]}else if(_===2)ut=["halfarrow-left","halfarrow-right"],K=["xMinYMin","xMaxYMin"];else if(_===3)ut=["brace-left","brace-center","brace-right"],K=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support
|
||
`+_+" children.");for(var lt=0;lt<_;lt++){var tt=new ph(g[lt]),ht=new c0([tt],{width:"400em",height:ze(D),viewBox:"0 0 "+c+" "+j,preserveAspectRatio:K[lt]+" slice"}),dt=Dt.makeSvgSpan([ut[lt]],[ht],e);if(_===1)return{span:dt,minWidth:F,height:D};dt.style.height=ze(D),L.push(dt)}return{span:Dt.makeSpan(["stretchy"],L,e),minWidth:F,height:D}}}var{span:i,minWidth:s,height:a}=n();return i.height=a,i.style.height=ze(a),s>0&&(i.style.minWidth=ze(s)),i},f6=function(t,e,n,i,s){var a,c=t.height+t.depth+n+i;if(/fbox|color|angl/.test(e)){if(a=Dt.makeSpan(["stretchy",e],[],s),e==="fbox"){var o=s.color&&s.getColor();o&&(a.style.borderColor=o)}}else{var d=[];/^[bx]cancel$/.test(e)&&d.push(new $g({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(e)&&d.push(new $g({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var h=new c0(d,{width:"100%",height:ze(c)});a=Dt.makeSvgSpan([],[h],s)}return a.height=c,a.style.height=ze(c),a},Id={encloseSpan:f6,mathMLnode:w6,svgSpan:x6};function jl(l,t){if(!l||l.type!==t)throw new Error("Expected node of type "+t+", but got "+(l?"node of type "+l.type:String(l)));return l}function SV(l){var t=RG(l);if(!t)throw new Error("Expected node of symbol group type, but got "+(l?"node of type "+l.type:String(l)));return t}function RG(l){return l&&(l.type==="atom"||l6.hasOwnProperty(l.type))?l:null}var RV=(l,t)=>{var e,n,i;l&&l.type==="supsub"?(n=jl(l.base,"accent"),e=n.base,l.base=e,i=t6(ln(l,t)),l.base=n):(n=jl(l,"accent"),e=n.base);var s=ln(e,t.havingCrampedStyle()),a=n.isShifty&&sl.isCharacterBox(e),c=0;if(a){var o=sl.getBaseElem(e),d=ln(o,t.havingCrampedStyle());c=t9(d).skew}var h=n.label==="\\c",b=h?s.height+s.depth:Math.min(s.height,t.fontMetrics().xHeight),p;if(n.isStretchy)p=Id.svgSpan(n,t),p=Dt.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:s},{type:"elem",elem:p,wrapperClasses:["svg-align"],wrapperStyle:c>0?{width:"calc(100% - "+ze(2*c)+")",marginLeft:ze(2*c)}:void 0}]},t);else{var y,M;n.label==="\\vec"?(y=Dt.staticSvg("vec",t),M=Dt.svgData.vec[1]):(y=Dt.makeOrd({mode:n.mode,text:n.label},t,"textord"),y=t9(y),y.italic=0,M=y.width,h&&(b+=y.depth)),p=Dt.makeSpan(["accent-body"],[y]);var T=n.label==="\\textcircled";T&&(p.classes.push("accent-full"),b=s.height);var Y=c;T||(Y-=M/2),p.style.left=ze(Y),n.label==="\\textcircled"&&(p.style.top=".2em"),p=Dt.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:s},{type:"kern",size:-b},{type:"elem",elem:p}]},t)}var L=Dt.makeSpan(["mord","accent"],[p],t);return i?(i.children[0]=L,i.height=Math.max(L.height,i.height),i.classes[0]="mord",i):L},sR=(l,t)=>{var e=l.isStretchy?Id.mathMLnode(l.label):new me.MathNode("mo",[fc(l.label,l.mode)]),n=new me.MathNode("mover",[wn(l.base,t),e]);return n.setAttribute("accent","true"),n},S6=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(l=>"\\"+l).join("|"));De({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:(l,t)=>{var e=kM(t[0]),n=!S6.test(l.funcName),i=!n||l.funcName==="\\widehat"||l.funcName==="\\widetilde"||l.funcName==="\\widecheck";return{type:"accent",mode:l.parser.mode,label:l.funcName,isStretchy:n,isShifty:i,base:e}},htmlBuilder:RV,mathmlBuilder:sR});De({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(l,t)=>{var e=t[0],n=l.parser.mode;return n==="math"&&(l.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+l.funcName+" works only in text mode"),n="text"),{type:"accent",mode:n,label:l.funcName,isStretchy:!1,isShifty:!0,base:e}},htmlBuilder:RV,mathmlBuilder:sR});De({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(l,t)=>{var{parser:e,funcName:n}=l,i=t[0];return{type:"accentUnder",mode:e.mode,label:n,base:i}},htmlBuilder:(l,t)=>{var e=ln(l.base,t),n=Id.svgSpan(l,t),i=l.label==="\\utilde"?.12:0,s=Dt.makeVList({positionType:"top",positionData:e.height,children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:i},{type:"elem",elem:e}]},t);return Dt.makeSpan(["mord","accentunder"],[s],t)},mathmlBuilder:(l,t)=>{var e=Id.mathMLnode(l.label),n=new me.MathNode("munder",[wn(l.base,t),e]);return n.setAttribute("accentunder","true"),n}});var Z1=l=>{var t=new me.MathNode("mpadded",l?[l]:[]);return t.setAttribute("width","+0.6em"),t.setAttribute("lspace","0.3em"),t};De({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(l,t,e){var{parser:n,funcName:i}=l;return{type:"xArrow",mode:n.mode,label:i,body:t[0],below:e[0]}},htmlBuilder(l,t){var e=t.style,n=t.havingStyle(e.sup()),i=Dt.wrapFragment(ln(l.body,n,t),t),s=l.label.slice(0,2)==="\\x"?"x":"cd";i.classes.push(s+"-arrow-pad");var a;l.below&&(n=t.havingStyle(e.sub()),a=Dt.wrapFragment(ln(l.below,n,t),t),a.classes.push(s+"-arrow-pad"));var c=Id.svgSpan(l,t),o=-t.fontMetrics().axisHeight+.5*c.height,d=-t.fontMetrics().axisHeight-.5*c.height-.111;(i.depth>.25||l.label==="\\xleftequilibrium")&&(d-=i.depth);var h;if(a){var b=-t.fontMetrics().axisHeight+a.height+.5*c.height+.111;h=Dt.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:d},{type:"elem",elem:c,shift:o},{type:"elem",elem:a,shift:b}]},t)}else h=Dt.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:d},{type:"elem",elem:c,shift:o}]},t);return h.children[0].children[0].children[1].classes.push("svg-align"),Dt.makeSpan(["mrel","x-arrow"],[h],t)},mathmlBuilder(l,t){var e=Id.mathMLnode(l.label);e.setAttribute("minsize",l.label.charAt(0)==="x"?"1.75em":"3.0em");var n;if(l.body){var i=Z1(wn(l.body,t));if(l.below){var s=Z1(wn(l.below,t));n=new me.MathNode("munderover",[e,s,i])}else n=new me.MathNode("mover",[e,i])}else if(l.below){var a=Z1(wn(l.below,t));n=new me.MathNode("munder",[e,a])}else n=Z1(),n=new me.MathNode("mover",[e,n]);return n}});var R6=Dt.makeSpan;function aR(l,t){var e=Ji(l.body,t,!0);return R6([l.mclass],e,t)}function cR(l,t){var e,n=ya(l.body,t);return l.mclass==="minner"?e=new me.MathNode("mpadded",n):l.mclass==="mord"?l.isCharacterBox?(e=n[0],e.type="mi"):e=new me.MathNode("mi",n):(l.isCharacterBox?(e=n[0],e.type="mo"):e=new me.MathNode("mo",n),l.mclass==="mbin"?(e.attributes.lspace="0.22em",e.attributes.rspace="0.22em"):l.mclass==="mpunct"?(e.attributes.lspace="0em",e.attributes.rspace="0.17em"):l.mclass==="mopen"||l.mclass==="mclose"?(e.attributes.lspace="0em",e.attributes.rspace="0em"):l.mclass==="minner"&&(e.attributes.lspace="0.0556em",e.attributes.width="+0.1111em")),e}De({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(l,t){var{parser:e,funcName:n}=l,i=t[0];return{type:"mclass",mode:e.mode,mclass:"m"+n.slice(5),body:yi(i),isCharacterBox:sl.isCharacterBox(i)}},htmlBuilder:aR,mathmlBuilder:cR});var kG=l=>{var t=l.type==="ordgroup"&&l.body.length?l.body[0]:l;return t.type==="atom"&&(t.family==="bin"||t.family==="rel")?"m"+t.family:"mord"};De({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(l,t){var{parser:e}=l;return{type:"mclass",mode:e.mode,mclass:kG(t[0]),body:yi(t[1]),isCharacterBox:sl.isCharacterBox(t[1])}}});De({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(l,t){var{parser:e,funcName:n}=l,i=t[1],s=t[0],a;n!=="\\stackrel"?a=kG(i):a="mrel";var c={type:"op",mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:n!=="\\stackrel",body:yi(i)},o={type:"supsub",mode:s.mode,base:c,sup:n==="\\underset"?null:s,sub:n==="\\underset"?s:null};return{type:"mclass",mode:e.mode,mclass:a,body:[o],isCharacterBox:sl.isCharacterBox(o)}},htmlBuilder:aR,mathmlBuilder:cR});De({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(l,t){var{parser:e}=l;return{type:"pmb",mode:e.mode,mclass:kG(t[0]),body:yi(t[0])}},htmlBuilder(l,t){var e=Ji(l.body,t,!0),n=Dt.makeSpan([l.mclass],e,t);return n.style.textShadow="0.02em 0.01em 0.04px",n},mathmlBuilder(l,t){var e=ya(l.body,t),n=new me.MathNode("mstyle",e);return n.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),n}});var k6={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},o9=()=>({type:"styling",body:[],mode:"math",style:"display"}),d9=l=>l.type==="textord"&&l.text==="@",D6=(l,t)=>(l.type==="mathord"||l.type==="atom")&&l.text===t;function O6(l,t,e){var n=k6[l];switch(n){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return e.callFunction(n,[t[0]],[t[1]]);case"\\uparrow":case"\\downarrow":{var i=e.callFunction("\\\\cdleft",[t[0]],[]),s={type:"atom",text:n,mode:"math",family:"rel"},a=e.callFunction("\\Big",[s],[]),c=e.callFunction("\\\\cdright",[t[1]],[]),o={type:"ordgroup",mode:"math",body:[i,a,c]};return e.callFunction("\\\\cdparent",[o],[])}case"\\\\cdlongequal":return e.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var d={type:"textord",text:"\\Vert",mode:"math"};return e.callFunction("\\Big",[d],[])}default:return{type:"textord",text:" ",mode:"math"}}}function j6(l){var t=[];for(l.gullet.beginGroup(),l.gullet.macros.set("\\cr","\\\\\\relax"),l.gullet.beginGroup();;){t.push(l.parseExpression(!1,"\\\\")),l.gullet.endGroup(),l.gullet.beginGroup();var e=l.fetch().text;if(e==="&"||e==="\\\\")l.consume();else if(e==="\\end"){t[t.length-1].length===0&&t.pop();break}else throw new Te("Expected \\\\ or \\cr or \\end",l.nextToken)}for(var n=[],i=[n],s=0;s<t.length;s++){for(var a=t[s],c=o9(),o=0;o<a.length;o++)if(!d9(a[o]))c.body.push(a[o]);else{n.push(c),o+=1;var d=SV(a[o]).text,h=new Array(2);if(h[0]={type:"ordgroup",mode:"math",body:[]},h[1]={type:"ordgroup",mode:"math",body:[]},!("=|.".indexOf(d)>-1))if("<>AV".indexOf(d)>-1)for(var b=0;b<2;b++){for(var p=!0,y=o+1;y<a.length;y++){if(D6(a[y],d)){p=!1,o=y;break}if(d9(a[y]))throw new Te("Missing a "+d+" character to complete a CD arrow.",a[y]);h[b].body.push(a[y])}if(p)throw new Te("Missing a "+d+" character to complete a CD arrow.",a[o])}else throw new Te('Expected one of "<>AV=|." after @',a[o]);var M=O6(d,h,l),T={type:"styling",body:[M],mode:"math",style:"display"};n.push(T),c=o9()}s%2===0?n.push(c):n.shift(),n=[],i.push(n)}l.gullet.endGroup(),l.gullet.endGroup();var Y=new Array(i[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:i,arraystretch:1,addJot:!0,rowGaps:[null],cols:Y,colSeparationType:"CD",hLinesBeforeRow:new Array(i.length+1).fill([])}}De({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(l,t){var{parser:e,funcName:n}=l;return{type:"cdlabel",mode:e.mode,side:n.slice(4),label:t[0]}},htmlBuilder(l,t){var e=t.havingStyle(t.style.sup()),n=Dt.wrapFragment(ln(l.label,e,t),t);return n.classes.push("cd-label-"+l.side),n.style.bottom=ze(.8-n.depth),n.height=0,n.depth=0,n},mathmlBuilder(l,t){var e=new me.MathNode("mrow",[wn(l.label,t)]);return e=new me.MathNode("mpadded",[e]),e.setAttribute("width","0"),l.side==="left"&&e.setAttribute("lspace","-1width"),e.setAttribute("voffset","0.7em"),e=new me.MathNode("mstyle",[e]),e.setAttribute("displaystyle","false"),e.setAttribute("scriptlevel","1"),e}});De({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(l,t){var{parser:e}=l;return{type:"cdlabelparent",mode:e.mode,fragment:t[0]}},htmlBuilder(l,t){var e=Dt.wrapFragment(ln(l.fragment,t),t);return e.classes.push("cd-vert-arrow"),e},mathmlBuilder(l,t){return new me.MathNode("mrow",[wn(l.fragment,t)])}});De({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(l,t){for(var{parser:e}=l,n=jl(t[0],"ordgroup"),i=n.body,s="",a=0;a<i.length;a++){var c=jl(i[a],"textord");s+=c.text}var o=parseInt(s),d;if(isNaN(o))throw new Te("\\@char has non-numeric argument "+s);if(o<0||o>=1114111)throw new Te("\\@char with invalid code point "+s);return o<=65535?d=String.fromCharCode(o):(o-=65536,d=String.fromCharCode((o>>10)+55296,(o&1023)+56320)),{type:"textord",mode:e.mode,text:d}}});var rR=(l,t)=>{var e=Ji(l.body,t.withColor(l.color),!1);return Dt.makeFragment(e)},oR=(l,t)=>{var e=ya(l.body,t.withColor(l.color)),n=new me.MathNode("mstyle",e);return n.setAttribute("mathcolor",l.color),n};De({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(l,t){var{parser:e}=l,n=jl(t[0],"color-token").color,i=t[1];return{type:"color",mode:e.mode,color:n,body:yi(i)}},htmlBuilder:rR,mathmlBuilder:oR});De({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(l,t){var{parser:e,breakOnTokenText:n}=l,i=jl(t[0],"color-token").color;e.gullet.macros.set("\\current@color",i);var s=e.parseExpression(!0,n);return{type:"color",mode:e.mode,color:i,body:s}},htmlBuilder:rR,mathmlBuilder:oR});De({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(l,t,e){var{parser:n}=l,i=n.gullet.future().text==="["?n.parseSizeGroup(!0):null,s=!n.settings.displayMode||!n.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:n.mode,newLine:s,size:i&&jl(i,"size").value}},htmlBuilder(l,t){var e=Dt.makeSpan(["mspace"],[],t);return l.newLine&&(e.classes.push("newline"),l.size&&(e.style.marginTop=ze(ni(l.size,t)))),e},mathmlBuilder(l,t){var e=new me.MathNode("mspace");return l.newLine&&(e.setAttribute("linebreak","newline"),l.size&&e.setAttribute("height",ze(ni(l.size,t)))),e}});var pY={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},dR=l=>{var t=l.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(t))throw new Te("Expected a control sequence",l);return t},C6=l=>{var t=l.gullet.popToken();return t.text==="="&&(t=l.gullet.popToken(),t.text===" "&&(t=l.gullet.popToken())),t},uR=(l,t,e,n)=>{var i=l.gullet.macros.get(e.text);i==null&&(e.noexpand=!0,i={tokens:[e],numArgs:0,unexpandable:!l.gullet.isExpandable(e.text)}),l.gullet.macros.set(t,i,n)};De({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(l){var{parser:t,funcName:e}=l;t.consumeSpaces();var n=t.fetch();if(pY[n.text])return(e==="\\global"||e==="\\\\globallong")&&(n.text=pY[n.text]),jl(t.parseFunction(),"internal");throw new Te("Invalid token after macro prefix",n)}});De({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(l){var{parser:t,funcName:e}=l,n=t.gullet.popToken(),i=n.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(i))throw new Te("Expected a control sequence",n);for(var s=0,a,c=[[]];t.gullet.future().text!=="{";)if(n=t.gullet.popToken(),n.text==="#"){if(t.gullet.future().text==="{"){a=t.gullet.future(),c[s].push("{");break}if(n=t.gullet.popToken(),!/^[1-9]$/.test(n.text))throw new Te('Invalid argument number "'+n.text+'"');if(parseInt(n.text)!==s+1)throw new Te('Argument number "'+n.text+'" out of order');s++,c.push([])}else{if(n.text==="EOF")throw new Te("Expected a macro definition");c[s].push(n.text)}var{tokens:o}=t.gullet.consumeArg();return a&&o.unshift(a),(e==="\\edef"||e==="\\xdef")&&(o=t.gullet.expandTokens(o),o.reverse()),t.gullet.macros.set(i,{tokens:o,numArgs:s,delimiters:c},e===pY[e]),{type:"internal",mode:t.mode}}});De({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(l){var{parser:t,funcName:e}=l,n=dR(t.gullet.popToken());t.gullet.consumeSpaces();var i=C6(t);return uR(t,n,i,e==="\\\\globallet"),{type:"internal",mode:t.mode}}});De({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(l){var{parser:t,funcName:e}=l,n=dR(t.gullet.popToken()),i=t.gullet.popToken(),s=t.gullet.popToken();return uR(t,n,s,e==="\\\\globalfuture"),t.gullet.pushToken(s),t.gullet.pushToken(i),{type:"internal",mode:t.mode}}});var t2=function(t,e,n){var i=fn.math[t]&&fn.math[t].replace,s=zV(i||t,e,n);if(!s)throw new Error("Unsupported symbol "+t+" and font size "+e+".");return s},kV=function(t,e,n,i){var s=n.havingBaseStyle(e),a=Dt.makeSpan(i.concat(s.sizingClasses(n)),[t],n),c=s.sizeMultiplier/n.sizeMultiplier;return a.height*=c,a.depth*=c,a.maxFontSize=s.sizeMultiplier,a},mR=function(t,e,n){var i=e.havingBaseStyle(n),s=(1-e.sizeMultiplier/i.sizeMultiplier)*e.fontMetrics().axisHeight;t.classes.push("delimcenter"),t.style.top=ze(s),t.height-=s,t.depth+=s},F6=function(t,e,n,i,s,a){var c=Dt.makeSymbol(t,"Main-Regular",s,i),o=kV(c,e,i,a);return n&&mR(o,i,e),o},J6=function(t,e,n,i){return Dt.makeSymbol(t,"Size"+e+"-Regular",n,i)},hR=function(t,e,n,i,s,a){var c=J6(t,e,s,i),o=kV(Dt.makeSpan(["delimsizing","size"+e],[c],i),dl.TEXT,i,a);return n&&mR(o,i,dl.TEXT),o},sX=function(t,e,n){var i;e==="Size1-Regular"?i="delim-size1":i="delim-size4";var s=Dt.makeSpan(["delimsizinginner",i],[Dt.makeSpan([],[Dt.makeSymbol(t,e,n)])]);return{type:"elem",elem:s}},aX=function(t,e,n){var i=Wd["Size4-Regular"][t.charCodeAt(0)]?Wd["Size4-Regular"][t.charCodeAt(0)][4]:Wd["Size1-Regular"][t.charCodeAt(0)][4],s=new ph("inner",PA(t,Math.round(1e3*e))),a=new c0([s],{width:ze(i),height:ze(e),style:"width:"+ze(i),viewBox:"0 0 "+1e3*i+" "+Math.round(1e3*e),preserveAspectRatio:"xMinYMin"}),c=Dt.makeSvgSpan([],[a],n);return c.height=e,c.style.height=ze(e),c.style.width=ze(i),{type:"elem",elem:c}},yY=.008,p1={type:"kern",size:-1*yY},v6=["|","\\lvert","\\rvert","\\vert"],U6=["\\|","\\lVert","\\rVert","\\Vert"],bR=function(t,e,n,i,s,a){var c,o,d,h,b="",p=0;c=d=h=t,o=null;var y="Size1-Regular";t==="\\uparrow"?d=h="⏐":t==="\\Uparrow"?d=h="‖":t==="\\downarrow"?c=d="⏐":t==="\\Downarrow"?c=d="‖":t==="\\updownarrow"?(c="\\uparrow",d="⏐",h="\\downarrow"):t==="\\Updownarrow"?(c="\\Uparrow",d="‖",h="\\Downarrow"):sl.contains(v6,t)?(d="∣",b="vert",p=333):sl.contains(U6,t)?(d="∥",b="doublevert",p=556):t==="["||t==="\\lbrack"?(c="⎡",d="⎢",h="⎣",y="Size4-Regular",b="lbrack",p=667):t==="]"||t==="\\rbrack"?(c="⎤",d="⎥",h="⎦",y="Size4-Regular",b="rbrack",p=667):t==="\\lfloor"||t==="⌊"?(d=c="⎢",h="⎣",y="Size4-Regular",b="lfloor",p=667):t==="\\lceil"||t==="⌈"?(c="⎡",d=h="⎢",y="Size4-Regular",b="lceil",p=667):t==="\\rfloor"||t==="⌋"?(d=c="⎥",h="⎦",y="Size4-Regular",b="rfloor",p=667):t==="\\rceil"||t==="⌉"?(c="⎤",d=h="⎥",y="Size4-Regular",b="rceil",p=667):t==="("||t==="\\lparen"?(c="⎛",d="⎜",h="⎝",y="Size4-Regular",b="lparen",p=875):t===")"||t==="\\rparen"?(c="⎞",d="⎟",h="⎠",y="Size4-Regular",b="rparen",p=875):t==="\\{"||t==="\\lbrace"?(c="⎧",o="⎨",h="⎩",d="⎪",y="Size4-Regular"):t==="\\}"||t==="\\rbrace"?(c="⎫",o="⎬",h="⎭",d="⎪",y="Size4-Regular"):t==="\\lgroup"||t==="⟮"?(c="⎧",h="⎩",d="⎪",y="Size4-Regular"):t==="\\rgroup"||t==="⟯"?(c="⎫",h="⎭",d="⎪",y="Size4-Regular"):t==="\\lmoustache"||t==="⎰"?(c="⎧",h="⎭",d="⎪",y="Size4-Regular"):(t==="\\rmoustache"||t==="⎱")&&(c="⎫",h="⎩",d="⎪",y="Size4-Regular");var M=t2(c,y,s),T=M.height+M.depth,Y=t2(d,y,s),L=Y.height+Y.depth,x=t2(h,y,s),g=x.height+x.depth,F=0,j=1;if(o!==null){var D=t2(o,y,s);F=D.height+D.depth,j=2}var _=T+g+F,ut=Math.max(0,Math.ceil((e-_)/(j*L))),K=_+ut*j*L,f=i.fontMetrics().axisHeight;n&&(f*=i.sizeMultiplier);var lt=K/2-f,tt=[];if(b.length>0){var ht=K-T-g,dt=Math.round(K*1e3),It=HA(b,Math.round(ht*1e3)),kt=new ph(b,It),Gt=(p/1e3).toFixed(3)+"em",gt=(dt/1e3).toFixed(3)+"em",vt=new c0([kt],{width:Gt,height:gt,viewBox:"0 0 "+p+" "+dt}),H=Dt.makeSvgSpan([],[vt],i);H.height=dt/1e3,H.style.width=Gt,H.style.height=gt,tt.push({type:"elem",elem:H})}else{if(tt.push(sX(h,y,s)),tt.push(p1),o===null){var nt=K-T-g+2*yY;tt.push(aX(d,nt,i))}else{var bt=(K-T-g-F)/2+2*yY;tt.push(aX(d,bt,i)),tt.push(p1),tt.push(sX(o,y,s)),tt.push(p1),tt.push(aX(d,bt,i))}tt.push(p1),tt.push(sX(c,y,s))}var $=i.havingBaseStyle(dl.TEXT),_t=Dt.makeVList({positionType:"bottom",positionData:lt,children:tt},$);return kV(Dt.makeSpan(["delimsizing","mult"],[_t],$),dl.TEXT,i,a)},cX=80,rX=.08,oX=function(t,e,n,i,s){var a=KA(t,i,n),c=new ph(t,a),o=new c0([c],{width:"400em",height:ze(e),viewBox:"0 0 400000 "+n,preserveAspectRatio:"xMinYMin slice"});return Dt.makeSvgSpan(["hide-tail"],[o],s)},E6=function(t,e){var n=e.havingBaseSizing(),i=WR("\\surd",t*n.sizeMultiplier,yR,n),s=n.sizeMultiplier,a=Math.max(0,e.minRuleThickness-e.fontMetrics().sqrtRuleThickness),c,o=0,d=0,h=0,b;return i.type==="small"?(h=1e3+1e3*a+cX,t<1?s=1:t<1.4&&(s=.7),o=(1+a+rX)/s,d=(1+a)/s,c=oX("sqrtMain",o,h,a,e),c.style.minWidth="0.853em",b=.833/s):i.type==="large"?(h=(1e3+cX)*V2[i.size],d=(V2[i.size]+a)/s,o=(V2[i.size]+a+rX)/s,c=oX("sqrtSize"+i.size,o,h,a,e),c.style.minWidth="1.02em",b=1/s):(o=t+a+rX,d=t+a,h=Math.floor(1e3*t+a)+cX,c=oX("sqrtTall",o,h,a,e),c.style.minWidth="0.742em",b=1.056),c.height=d,c.style.height=ze(o),{span:c,advanceWidth:b,ruleWidth:(e.fontMetrics().sqrtRuleThickness+a)*s}},ZR=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","\\surd"],K6=["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱"],pR=["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],V2=[0,1.2,1.8,2.4,3],P6=function(t,e,n,i,s){if(t==="<"||t==="\\lt"||t==="⟨"?t="\\langle":(t===">"||t==="\\gt"||t==="⟩")&&(t="\\rangle"),sl.contains(ZR,t)||sl.contains(pR,t))return hR(t,e,!1,n,i,s);if(sl.contains(K6,t))return bR(t,V2[e],!1,n,i,s);throw new Te("Illegal delimiter: '"+t+"'")},H6=[{type:"small",style:dl.SCRIPTSCRIPT},{type:"small",style:dl.SCRIPT},{type:"small",style:dl.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],Q6=[{type:"small",style:dl.SCRIPTSCRIPT},{type:"small",style:dl.SCRIPT},{type:"small",style:dl.TEXT},{type:"stack"}],yR=[{type:"small",style:dl.SCRIPTSCRIPT},{type:"small",style:dl.SCRIPT},{type:"small",style:dl.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],B6=function(t){if(t.type==="small")return"Main-Regular";if(t.type==="large")return"Size"+t.size+"-Regular";if(t.type==="stack")return"Size4-Regular";throw new Error("Add support for delim type '"+t.type+"' here.")},WR=function(t,e,n,i){for(var s=Math.min(2,3-i.style.size),a=s;a<n.length&&n[a].type!=="stack";a++){var c=t2(t,B6(n[a]),"math"),o=c.height+c.depth;if(n[a].type==="small"){var d=i.havingBaseStyle(n[a].style);o*=d.sizeMultiplier}if(o>e)return n[a]}return n[n.length-1]},NR=function(t,e,n,i,s,a){t==="<"||t==="\\lt"||t==="⟨"?t="\\langle":(t===">"||t==="\\gt"||t==="⟩")&&(t="\\rangle");var c;sl.contains(pR,t)?c=H6:sl.contains(ZR,t)?c=yR:c=Q6;var o=WR(t,e,c,i);return o.type==="small"?F6(t,o.style,n,i,s,a):o.type==="large"?hR(t,o.size,n,i,s,a):bR(t,e,n,i,s,a)},A6=function(t,e,n,i,s,a){var c=i.fontMetrics().axisHeight*i.sizeMultiplier,o=901,d=5/i.fontMetrics().ptPerEm,h=Math.max(e-c,n+c),b=Math.max(h/500*o,2*h-d);return NR(t,b,!0,i,s,a)},Gd={sqrtImage:E6,sizedDelim:P6,sizeToMaxHeight:V2,customSizedDelim:NR,leftRightDelim:A6},u9={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},_6=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","<",">","\\langle","⟨","\\rangle","⟩","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."];function DG(l,t){var e=RG(l);if(e&&sl.contains(_6,e.text))return e;throw e?new Te("Invalid delimiter '"+e.text+"' after '"+t.funcName+"'",l):new Te("Invalid delimiter type '"+l.type+"'",l)}De({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:(l,t)=>{var e=DG(t[0],l);return{type:"delimsizing",mode:l.parser.mode,size:u9[l.funcName].size,mclass:u9[l.funcName].mclass,delim:e.text}},htmlBuilder:(l,t)=>l.delim==="."?Dt.makeSpan([l.mclass]):Gd.sizedDelim(l.delim,l.size,t,l.mode,[l.mclass]),mathmlBuilder:l=>{var t=[];l.delim!=="."&&t.push(fc(l.delim,l.mode));var e=new me.MathNode("mo",t);l.mclass==="mopen"||l.mclass==="mclose"?e.setAttribute("fence","true"):e.setAttribute("fence","false"),e.setAttribute("stretchy","true");var n=ze(Gd.sizeToMaxHeight[l.size]);return e.setAttribute("minsize",n),e.setAttribute("maxsize",n),e}});function m9(l){if(!l.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}De({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(l,t)=>{var e=l.parser.gullet.macros.get("\\current@color");if(e&&typeof e!="string")throw new Te("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:l.parser.mode,delim:DG(t[0],l).text,color:e}}});De({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(l,t)=>{var e=DG(t[0],l),n=l.parser;++n.leftrightDepth;var i=n.parseExpression(!1);--n.leftrightDepth,n.expect("\\right",!1);var s=jl(n.parseFunction(),"leftright-right");return{type:"leftright",mode:n.mode,body:i,left:e.text,right:s.delim,rightColor:s.color}},htmlBuilder:(l,t)=>{m9(l);for(var e=Ji(l.body,t,!0,["mopen","mclose"]),n=0,i=0,s=!1,a=0;a<e.length;a++)e[a].isMiddle?s=!0:(n=Math.max(e[a].height,n),i=Math.max(e[a].depth,i));n*=t.sizeMultiplier,i*=t.sizeMultiplier;var c;if(l.left==="."?c=k2(t,["mopen"]):c=Gd.leftRightDelim(l.left,n,i,t,l.mode,["mopen"]),e.unshift(c),s)for(var o=1;o<e.length;o++){var d=e[o],h=d.isMiddle;h&&(e[o]=Gd.leftRightDelim(h.delim,n,i,h.options,l.mode,[]))}var b;if(l.right===".")b=k2(t,["mclose"]);else{var p=l.rightColor?t.withColor(l.rightColor):t;b=Gd.leftRightDelim(l.right,n,i,p,l.mode,["mclose"])}return e.push(b),Dt.makeSpan(["minner"],e,t)},mathmlBuilder:(l,t)=>{m9(l);var e=ya(l.body,t);if(l.left!=="."){var n=new me.MathNode("mo",[fc(l.left,l.mode)]);n.setAttribute("fence","true"),e.unshift(n)}if(l.right!=="."){var i=new me.MathNode("mo",[fc(l.right,l.mode)]);i.setAttribute("fence","true"),l.rightColor&&i.setAttribute("mathcolor",l.rightColor),e.push(i)}return xV(e)}});De({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(l,t)=>{var e=DG(t[0],l);if(!l.parser.leftrightDepth)throw new Te("\\middle without preceding \\left",e);return{type:"middle",mode:l.parser.mode,delim:e.text}},htmlBuilder:(l,t)=>{var e;if(l.delim===".")e=k2(t,[]);else{e=Gd.sizedDelim(l.delim,1,t,l.mode,[]);var n={delim:l.delim,options:t};e.isMiddle=n}return e},mathmlBuilder:(l,t)=>{var e=l.delim==="\\vert"||l.delim==="|"?fc("|","text"):fc(l.delim,l.mode),n=new me.MathNode("mo",[e]);return n.setAttribute("fence","true"),n.setAttribute("lspace","0.05em"),n.setAttribute("rspace","0.05em"),n}});var DV=(l,t)=>{var e=Dt.wrapFragment(ln(l.body,t),t),n=l.label.slice(1),i=t.sizeMultiplier,s,a=0,c=sl.isCharacterBox(l.body);if(n==="sout")s=Dt.makeSpan(["stretchy","sout"]),s.height=t.fontMetrics().defaultRuleThickness/i,a=-.5*t.fontMetrics().xHeight;else if(n==="phase"){var o=ni({number:.6,unit:"pt"},t),d=ni({number:.35,unit:"ex"},t),h=t.havingBaseSizing();i=i/h.sizeMultiplier;var b=e.height+e.depth+o+d;e.style.paddingLeft=ze(b/2+o);var p=Math.floor(1e3*b*i),y=UA(p),M=new c0([new ph("phase",y)],{width:"400em",height:ze(p/1e3),viewBox:"0 0 400000 "+p,preserveAspectRatio:"xMinYMin slice"});s=Dt.makeSvgSpan(["hide-tail"],[M],t),s.style.height=ze(b),a=e.depth+o+d}else{/cancel/.test(n)?c||e.classes.push("cancel-pad"):n==="angl"?e.classes.push("anglpad"):e.classes.push("boxpad");var T=0,Y=0,L=0;/box/.test(n)?(L=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness),T=t.fontMetrics().fboxsep+(n==="colorbox"?0:L),Y=T):n==="angl"?(L=Math.max(t.fontMetrics().defaultRuleThickness,t.minRuleThickness),T=4*L,Y=Math.max(0,.25-e.depth)):(T=c?.2:0,Y=T),s=Id.encloseSpan(e,n,T,Y,t),/fbox|boxed|fcolorbox/.test(n)?(s.style.borderStyle="solid",s.style.borderWidth=ze(L)):n==="angl"&&L!==.049&&(s.style.borderTopWidth=ze(L),s.style.borderRightWidth=ze(L)),a=e.depth+Y,l.backgroundColor&&(s.style.backgroundColor=l.backgroundColor,l.borderColor&&(s.style.borderColor=l.borderColor))}var x;if(l.backgroundColor)x=Dt.makeVList({positionType:"individualShift",children:[{type:"elem",elem:s,shift:a},{type:"elem",elem:e,shift:0}]},t);else{var g=/cancel|phase/.test(n)?["svg-align"]:[];x=Dt.makeVList({positionType:"individualShift",children:[{type:"elem",elem:e,shift:0},{type:"elem",elem:s,shift:a,wrapperClasses:g}]},t)}return/cancel/.test(n)&&(x.height=e.height,x.depth=e.depth),/cancel/.test(n)&&!c?Dt.makeSpan(["mord","cancel-lap"],[x],t):Dt.makeSpan(["mord"],[x],t)},OV=(l,t)=>{var e=0,n=new me.MathNode(l.label.indexOf("colorbox")>-1?"mpadded":"menclose",[wn(l.body,t)]);switch(l.label){case"\\cancel":n.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":n.setAttribute("notation","downdiagonalstrike");break;case"\\phase":n.setAttribute("notation","phasorangle");break;case"\\sout":n.setAttribute("notation","horizontalstrike");break;case"\\fbox":n.setAttribute("notation","box");break;case"\\angl":n.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(e=t.fontMetrics().fboxsep*t.fontMetrics().ptPerEm,n.setAttribute("width","+"+2*e+"pt"),n.setAttribute("height","+"+2*e+"pt"),n.setAttribute("lspace",e+"pt"),n.setAttribute("voffset",e+"pt"),l.label==="\\fcolorbox"){var i=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness);n.setAttribute("style","border: "+i+"em solid "+String(l.borderColor))}break;case"\\xcancel":n.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return l.backgroundColor&&n.setAttribute("mathbackground",l.backgroundColor),n};De({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(l,t,e){var{parser:n,funcName:i}=l,s=jl(t[0],"color-token").color,a=t[1];return{type:"enclose",mode:n.mode,label:i,backgroundColor:s,body:a}},htmlBuilder:DV,mathmlBuilder:OV});De({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(l,t,e){var{parser:n,funcName:i}=l,s=jl(t[0],"color-token").color,a=jl(t[1],"color-token").color,c=t[2];return{type:"enclose",mode:n.mode,label:i,backgroundColor:a,borderColor:s,body:c}},htmlBuilder:DV,mathmlBuilder:OV});De({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(l,t){var{parser:e}=l;return{type:"enclose",mode:e.mode,label:"\\fbox",body:t[0]}}});De({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout","\\phase"],props:{numArgs:1},handler(l,t){var{parser:e,funcName:n}=l,i=t[0];return{type:"enclose",mode:e.mode,label:n,body:i}},htmlBuilder:DV,mathmlBuilder:OV});De({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(l,t){var{parser:e}=l;return{type:"enclose",mode:e.mode,label:"\\angl",body:t[0]}}});var MR={};function no(l){for(var{type:t,names:e,props:n,handler:i,htmlBuilder:s,mathmlBuilder:a}=l,c={type:t,numArgs:n.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:i},o=0;o<e.length;++o)MR[e[o]]=c;s&&(SM[t]=s),a&&(RM[t]=a)}var GR={};function A(l,t){GR[l]=t}function h9(l){var t=[];l.consumeSpaces();var e=l.fetch().text;for(e==="\\relax"&&(l.consume(),l.consumeSpaces(),e=l.fetch().text);e==="\\hline"||e==="\\hdashline";)l.consume(),t.push(e==="\\hdashline"),l.consumeSpaces(),e=l.fetch().text;return t}var OG=l=>{var t=l.parser.settings;if(!t.displayMode)throw new Te("{"+l.envName+"} can be used only in display mode.")};function jV(l){if(l.indexOf("ed")===-1)return l.indexOf("*")===-1}function p0(l,t,e){var{hskipBeforeAndAfter:n,addJot:i,cols:s,arraystretch:a,colSeparationType:c,autoTag:o,singleRow:d,emptySingleRow:h,maxNumCols:b,leqno:p}=t;if(l.gullet.beginGroup(),d||l.gullet.macros.set("\\cr","\\\\\\relax"),!a){var y=l.gullet.expandMacroAsText("\\arraystretch");if(y==null)a=1;else if(a=parseFloat(y),!a||a<0)throw new Te("Invalid \\arraystretch: "+y)}l.gullet.beginGroup();var M=[],T=[M],Y=[],L=[],x=o!=null?[]:void 0;function g(){o&&l.gullet.macros.set("\\@eqnsw","1",!0)}function F(){x&&(l.gullet.macros.get("\\df@tag")?(x.push(l.subparse([new zc("\\df@tag")])),l.gullet.macros.set("\\df@tag",void 0,!0)):x.push(!!o&&l.gullet.macros.get("\\@eqnsw")==="1"))}for(g(),L.push(h9(l));;){var j=l.parseExpression(!1,d?"\\end":"\\\\");l.gullet.endGroup(),l.gullet.beginGroup(),j={type:"ordgroup",mode:l.mode,body:j},e&&(j={type:"styling",mode:l.mode,style:e,body:[j]}),M.push(j);var D=l.fetch().text;if(D==="&"){if(b&&M.length===b){if(d||c)throw new Te("Too many tab characters: &",l.nextToken);l.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}l.consume()}else if(D==="\\end"){F(),M.length===1&&j.type==="styling"&&j.body[0].body.length===0&&(T.length>1||!h)&&T.pop(),L.length<T.length+1&&L.push([]);break}else if(D==="\\\\"){l.consume();var _=void 0;l.gullet.future().text!==" "&&(_=l.parseSizeGroup(!0)),Y.push(_?_.value:null),F(),L.push(h9(l)),M=[],T.push(M),g()}else throw new Te("Expected & or \\\\ or \\cr or \\end",l.nextToken)}return l.gullet.endGroup(),l.gullet.endGroup(),{type:"array",mode:l.mode,addJot:i,arraystretch:a,body:T,cols:s,rowGaps:Y,hskipBeforeAndAfter:n,hLinesBeforeRow:L,colSeparationType:c,tags:x,leqno:p}}function CV(l){return l.slice(0,1)==="d"?"display":"text"}var io=function(t,e){var n,i,s=t.body.length,a=t.hLinesBeforeRow,c=0,o=new Array(s),d=[],h=Math.max(e.fontMetrics().arrayRuleWidth,e.minRuleThickness),b=1/e.fontMetrics().ptPerEm,p=5*b;if(t.colSeparationType&&t.colSeparationType==="small"){var y=e.havingStyle(dl.SCRIPT).sizeMultiplier;p=.2778*(y/e.sizeMultiplier)}var M=t.colSeparationType==="CD"?ni({number:3,unit:"ex"},e):12*b,T=3*b,Y=t.arraystretch*M,L=.7*Y,x=.3*Y,g=0;function F(gl){for(var Pl=0;Pl<gl.length;++Pl)Pl>0&&(g+=.25),d.push({pos:g,isDashed:gl[Pl]})}for(F(a[0]),n=0;n<t.body.length;++n){var j=t.body[n],D=L,_=x;c<j.length&&(c=j.length);var ut=new Array(j.length);for(i=0;i<j.length;++i){var K=ln(j[i],e);_<K.depth&&(_=K.depth),D<K.height&&(D=K.height),ut[i]=K}var f=t.rowGaps[n],lt=0;f&&(lt=ni(f,e),lt>0&&(lt+=x,_<lt&&(_=lt),lt=0)),t.addJot&&(_+=T),ut.height=D,ut.depth=_,g+=D,ut.pos=g,g+=_+lt,o[n]=ut,F(a[n+1])}var tt=g/2+e.fontMetrics().axisHeight,ht=t.cols||[],dt=[],It,kt,Gt=[];if(t.tags&&t.tags.some(gl=>gl))for(n=0;n<s;++n){var gt=o[n],vt=gt.pos-tt,H=t.tags[n],nt=void 0;H===!0?nt=Dt.makeSpan(["eqn-num"],[],e):H===!1?nt=Dt.makeSpan([],[],e):nt=Dt.makeSpan([],Ji(H,e,!0),e),nt.depth=gt.depth,nt.height=gt.height,Gt.push({type:"elem",elem:nt,shift:vt})}for(i=0,kt=0;i<c||kt<ht.length;++i,++kt){for(var bt=ht[kt]||{},$=!0;bt.type==="separator";){if($||(It=Dt.makeSpan(["arraycolsep"],[]),It.style.width=ze(e.fontMetrics().doubleRuleSep),dt.push(It)),bt.separator==="|"||bt.separator===":"){var _t=bt.separator==="|"?"solid":"dashed",ce=Dt.makeSpan(["vertical-separator"],[],e);ce.style.height=ze(g),ce.style.borderRightWidth=ze(h),ce.style.borderRightStyle=_t,ce.style.margin="0 "+ze(-h/2);var ne=g-tt;ne&&(ce.style.verticalAlign=ze(-ne)),dt.push(ce)}else throw new Te("Invalid separator type: "+bt.separator);kt++,bt=ht[kt]||{},$=!1}if(!(i>=c)){var Nt=void 0;(i>0||t.hskipBeforeAndAfter)&&(Nt=sl.deflt(bt.pregap,p),Nt!==0&&(It=Dt.makeSpan(["arraycolsep"],[]),It.style.width=ze(Nt),dt.push(It)));var xt=[];for(n=0;n<s;++n){var Zt=o[n],Ft=Zt[i];if(Ft){var te=Zt.pos-tt;Ft.depth=Zt.depth,Ft.height=Zt.height,xt.push({type:"elem",elem:Ft,shift:te})}}xt=Dt.makeVList({positionType:"individualShift",children:xt},e),xt=Dt.makeSpan(["col-align-"+(bt.align||"c")],[xt]),dt.push(xt),(i<c-1||t.hskipBeforeAndAfter)&&(Nt=sl.deflt(bt.postgap,p),Nt!==0&&(It=Dt.makeSpan(["arraycolsep"],[]),It.style.width=ze(Nt),dt.push(It)))}}if(o=Dt.makeSpan(["mtable"],dt),d.length>0){for(var he=Dt.makeLineSpan("hline",e,h),$e=Dt.makeLineSpan("hdashline",e,h),je=[{type:"elem",elem:o,shift:0}];d.length>0;){var xe=d.pop(),Ke=xe.pos-tt;xe.isDashed?je.push({type:"elem",elem:$e,shift:Ke}):je.push({type:"elem",elem:he,shift:Ke})}o=Dt.makeVList({positionType:"individualShift",children:je},e)}if(Gt.length===0)return Dt.makeSpan(["mord"],[o],e);var Vl=Dt.makeVList({positionType:"individualShift",children:Gt},e);return Vl=Dt.makeSpan(["tag"],[Vl],e),Dt.makeFragment([o,Vl])},q6={c:"center ",l:"left ",r:"right "},so=function(t,e){for(var n=[],i=new me.MathNode("mtd",[],["mtr-glue"]),s=new me.MathNode("mtd",[],["mml-eqn-num"]),a=0;a<t.body.length;a++){for(var c=t.body[a],o=[],d=0;d<c.length;d++)o.push(new me.MathNode("mtd",[wn(c[d],e)]));t.tags&&t.tags[a]&&(o.unshift(i),o.push(i),t.leqno?o.unshift(s):o.push(s)),n.push(new me.MathNode("mtr",o))}var h=new me.MathNode("mtable",n),b=t.arraystretch===.5?.1:.16+t.arraystretch-1+(t.addJot?.09:0);h.setAttribute("rowspacing",ze(b));var p="",y="";if(t.cols&&t.cols.length>0){var M=t.cols,T="",Y=!1,L=0,x=M.length;M[0].type==="separator"&&(p+="top ",L=1),M[M.length-1].type==="separator"&&(p+="bottom ",x-=1);for(var g=L;g<x;g++)M[g].type==="align"?(y+=q6[M[g].align],Y&&(T+="none "),Y=!0):M[g].type==="separator"&&Y&&(T+=M[g].separator==="|"?"solid ":"dashed ",Y=!1);h.setAttribute("columnalign",y.trim()),/[sd]/.test(T)&&h.setAttribute("columnlines",T.trim())}if(t.colSeparationType==="align"){for(var F=t.cols||[],j="",D=1;D<F.length;D++)j+=D%2?"0em ":"1em ";h.setAttribute("columnspacing",j.trim())}else t.colSeparationType==="alignat"||t.colSeparationType==="gather"?h.setAttribute("columnspacing","0em"):t.colSeparationType==="small"?h.setAttribute("columnspacing","0.2778em"):t.colSeparationType==="CD"?h.setAttribute("columnspacing","0.5em"):h.setAttribute("columnspacing","1em");var _="",ut=t.hLinesBeforeRow;p+=ut[0].length>0?"left ":"",p+=ut[ut.length-1].length>0?"right ":"";for(var K=1;K<ut.length-1;K++)_+=ut[K].length===0?"none ":ut[K][0]?"dashed ":"solid ";return/[sd]/.test(_)&&h.setAttribute("rowlines",_.trim()),p!==""&&(h=new me.MathNode("menclose",[h]),h.setAttribute("notation",p.trim())),t.arraystretch&&t.arraystretch<1&&(h=new me.MathNode("mstyle",[h]),h.setAttribute("scriptlevel","1")),h},TR=function(t,e){t.envName.indexOf("ed")===-1&&OG(t);var n=[],i=t.envName.indexOf("at")>-1?"alignat":"align",s=t.envName==="split",a=p0(t.parser,{cols:n,addJot:!0,autoTag:s?void 0:jV(t.envName),emptySingleRow:!0,colSeparationType:i,maxNumCols:s?2:void 0,leqno:t.parser.settings.leqno},"display"),c,o=0,d={type:"ordgroup",mode:t.mode,body:[]};if(e[0]&&e[0].type==="ordgroup"){for(var h="",b=0;b<e[0].body.length;b++){var p=jl(e[0].body[b],"textord");h+=p.text}c=Number(h),o=c*2}var y=!o;a.body.forEach(function(L){for(var x=1;x<L.length;x+=2){var g=jl(L[x],"styling"),F=jl(g.body[0],"ordgroup");F.body.unshift(d)}if(y)o<L.length&&(o=L.length);else{var j=L.length/2;if(c<j)throw new Te("Too many math in a row: "+("expected "+c+", but got "+j),L[0])}});for(var M=0;M<o;++M){var T="r",Y=0;M%2===1?T="l":M>0&&y&&(Y=1),n[M]={type:"align",align:T,pregap:Y,postgap:0}}return a.colSeparationType=y?"align":"alignat",a};no({type:"array",names:["array","darray"],props:{numArgs:1},handler(l,t){var e=RG(t[0]),n=e?[t[0]]:jl(t[0],"ordgroup").body,i=n.map(function(a){var c=SV(a),o=c.text;if("lcr".indexOf(o)!==-1)return{type:"align",align:o};if(o==="|")return{type:"separator",separator:"|"};if(o===":")return{type:"separator",separator:":"};throw new Te("Unknown column alignment: "+o,a)}),s={cols:i,hskipBeforeAndAfter:!0,maxNumCols:i.length};return p0(l.parser,s,CV(l.envName))},htmlBuilder:io,mathmlBuilder:so});no({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(l){var t={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[l.envName.replace("*","")],e="c",n={hskipBeforeAndAfter:!1,cols:[{type:"align",align:e}]};if(l.envName.charAt(l.envName.length-1)==="*"){var i=l.parser;if(i.consumeSpaces(),i.fetch().text==="["){if(i.consume(),i.consumeSpaces(),e=i.fetch().text,"lcr".indexOf(e)===-1)throw new Te("Expected l or c or r",i.nextToken);i.consume(),i.consumeSpaces(),i.expect("]"),i.consume(),n.cols=[{type:"align",align:e}]}}var s=p0(l.parser,n,CV(l.envName)),a=Math.max(0,...s.body.map(c=>c.length));return s.cols=new Array(a).fill({type:"align",align:e}),t?{type:"leftright",mode:l.mode,body:[s],left:t[0],right:t[1],rightColor:void 0}:s},htmlBuilder:io,mathmlBuilder:so});no({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(l){var t={arraystretch:.5},e=p0(l.parser,t,"script");return e.colSeparationType="small",e},htmlBuilder:io,mathmlBuilder:so});no({type:"array",names:["subarray"],props:{numArgs:1},handler(l,t){var e=RG(t[0]),n=e?[t[0]]:jl(t[0],"ordgroup").body,i=n.map(function(a){var c=SV(a),o=c.text;if("lc".indexOf(o)!==-1)return{type:"align",align:o};throw new Te("Unknown column alignment: "+o,a)});if(i.length>1)throw new Te("{subarray} can contain only one column");var s={cols:i,hskipBeforeAndAfter:!1,arraystretch:.5};if(s=p0(l.parser,s,"script"),s.body.length>0&&s.body[0].length>1)throw new Te("{subarray} can contain only one column");return s},htmlBuilder:io,mathmlBuilder:so});no({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(l){var t={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},e=p0(l.parser,t,CV(l.envName));return{type:"leftright",mode:l.mode,body:[e],left:l.envName.indexOf("r")>-1?".":"\\{",right:l.envName.indexOf("r")>-1?"\\}":".",rightColor:void 0}},htmlBuilder:io,mathmlBuilder:so});no({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:TR,htmlBuilder:io,mathmlBuilder:so});no({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(l){sl.contains(["gather","gather*"],l.envName)&&OG(l);var t={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:jV(l.envName),emptySingleRow:!0,leqno:l.parser.settings.leqno};return p0(l.parser,t,"display")},htmlBuilder:io,mathmlBuilder:so});no({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:TR,htmlBuilder:io,mathmlBuilder:so});no({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(l){OG(l);var t={autoTag:jV(l.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:l.parser.settings.leqno};return p0(l.parser,t,"display")},htmlBuilder:io,mathmlBuilder:so});no({type:"array",names:["CD"],props:{numArgs:0},handler(l){return OG(l),j6(l.parser)},htmlBuilder:io,mathmlBuilder:so});A("\\nonumber","\\gdef\\@eqnsw{0}");A("\\notag","\\nonumber");De({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(l,t){throw new Te(l.funcName+" valid only within array environment")}});var b9=MR;De({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(l,t){var{parser:e,funcName:n}=l,i=t[0];if(i.type!=="ordgroup")throw new Te("Invalid environment name",i);for(var s="",a=0;a<i.body.length;++a)s+=jl(i.body[a],"textord").text;if(n==="\\begin"){if(!b9.hasOwnProperty(s))throw new Te("No such environment: "+s,i);var c=b9[s],{args:o,optArgs:d}=e.parseArguments("\\begin{"+s+"}",c),h={mode:e.mode,envName:s,parser:e},b=c.handler(h,o,d);e.expect("\\end",!1);var p=e.nextToken,y=jl(e.parseFunction(),"environment");if(y.name!==s)throw new Te("Mismatch: \\begin{"+s+"} matched by \\end{"+y.name+"}",p);return b}return{type:"environment",mode:e.mode,name:s,nameGroup:i}}});var XR=(l,t)=>{var e=l.font,n=t.withFont(e);return ln(l.body,n)},YR=(l,t)=>{var e=l.font,n=t.withFont(e);return wn(l.body,n)},Z9={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};De({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(l,t)=>{var{parser:e,funcName:n}=l,i=kM(t[0]),s=n;return s in Z9&&(s=Z9[s]),{type:"font",mode:e.mode,font:s.slice(1),body:i}},htmlBuilder:XR,mathmlBuilder:YR});De({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(l,t)=>{var{parser:e}=l,n=t[0],i=sl.isCharacterBox(n);return{type:"mclass",mode:e.mode,mclass:kG(n),body:[{type:"font",mode:e.mode,font:"boldsymbol",body:n}],isCharacterBox:i}}});De({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(l,t)=>{var{parser:e,funcName:n,breakOnTokenText:i}=l,{mode:s}=e,a=e.parseExpression(!0,i),c="math"+n.slice(1);return{type:"font",mode:s,font:c,body:{type:"ordgroup",mode:e.mode,body:a}}},htmlBuilder:XR,mathmlBuilder:YR});var LR=(l,t)=>{var e=t;return l==="display"?e=e.id>=dl.SCRIPT.id?e.text():dl.DISPLAY:l==="text"&&e.size===dl.DISPLAY.size?e=dl.TEXT:l==="script"?e=dl.SCRIPT:l==="scriptscript"&&(e=dl.SCRIPTSCRIPT),e},FV=(l,t)=>{var e=LR(l.size,t.style),n=e.fracNum(),i=e.fracDen(),s;s=t.havingStyle(n);var a=ln(l.numer,s,t);if(l.continued){var c=8.5/t.fontMetrics().ptPerEm,o=3.5/t.fontMetrics().ptPerEm;a.height=a.height<c?c:a.height,a.depth=a.depth<o?o:a.depth}s=t.havingStyle(i);var d=ln(l.denom,s,t),h,b,p;l.hasBarLine?(l.barSize?(b=ni(l.barSize,t),h=Dt.makeLineSpan("frac-line",t,b)):h=Dt.makeLineSpan("frac-line",t),b=h.height,p=h.height):(h=null,b=0,p=t.fontMetrics().defaultRuleThickness);var y,M,T;e.size===dl.DISPLAY.size||l.size==="display"?(y=t.fontMetrics().num1,b>0?M=3*p:M=7*p,T=t.fontMetrics().denom1):(b>0?(y=t.fontMetrics().num2,M=p):(y=t.fontMetrics().num3,M=3*p),T=t.fontMetrics().denom2);var Y;if(h){var x=t.fontMetrics().axisHeight;y-a.depth-(x+.5*b)<M&&(y+=M-(y-a.depth-(x+.5*b))),x-.5*b-(d.height-T)<M&&(T+=M-(x-.5*b-(d.height-T)));var g=-(x-.5*b);Y=Dt.makeVList({positionType:"individualShift",children:[{type:"elem",elem:d,shift:T},{type:"elem",elem:h,shift:g},{type:"elem",elem:a,shift:-y}]},t)}else{var L=y-a.depth-(d.height-T);L<M&&(y+=.5*(M-L),T+=.5*(M-L)),Y=Dt.makeVList({positionType:"individualShift",children:[{type:"elem",elem:d,shift:T},{type:"elem",elem:a,shift:-y}]},t)}s=t.havingStyle(e),Y.height*=s.sizeMultiplier/t.sizeMultiplier,Y.depth*=s.sizeMultiplier/t.sizeMultiplier;var F;e.size===dl.DISPLAY.size?F=t.fontMetrics().delim1:e.size===dl.SCRIPTSCRIPT.size?F=t.havingStyle(dl.SCRIPT).fontMetrics().delim2:F=t.fontMetrics().delim2;var j,D;return l.leftDelim==null?j=k2(t,["mopen"]):j=Gd.customSizedDelim(l.leftDelim,F,!0,t.havingStyle(e),l.mode,["mopen"]),l.continued?D=Dt.makeSpan([]):l.rightDelim==null?D=k2(t,["mclose"]):D=Gd.customSizedDelim(l.rightDelim,F,!0,t.havingStyle(e),l.mode,["mclose"]),Dt.makeSpan(["mord"].concat(s.sizingClasses(t)),[j,Dt.makeSpan(["mfrac"],[Y]),D],t)},JV=(l,t)=>{var e=new me.MathNode("mfrac",[wn(l.numer,t),wn(l.denom,t)]);if(!l.hasBarLine)e.setAttribute("linethickness","0px");else if(l.barSize){var n=ni(l.barSize,t);e.setAttribute("linethickness",ze(n))}var i=LR(l.size,t.style);if(i.size!==t.style.size){e=new me.MathNode("mstyle",[e]);var s=i.size===dl.DISPLAY.size?"true":"false";e.setAttribute("displaystyle",s),e.setAttribute("scriptlevel","0")}if(l.leftDelim!=null||l.rightDelim!=null){var a=[];if(l.leftDelim!=null){var c=new me.MathNode("mo",[new me.TextNode(l.leftDelim.replace("\\",""))]);c.setAttribute("fence","true"),a.push(c)}if(a.push(e),l.rightDelim!=null){var o=new me.MathNode("mo",[new me.TextNode(l.rightDelim.replace("\\",""))]);o.setAttribute("fence","true"),a.push(o)}return xV(a)}return e};De({type:"genfrac",names:["\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(l,t)=>{var{parser:e,funcName:n}=l,i=t[0],s=t[1],a,c=null,o=null,d="auto";switch(n){case"\\dfrac":case"\\frac":case"\\tfrac":a=!0;break;case"\\\\atopfrac":a=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":a=!1,c="(",o=")";break;case"\\\\bracefrac":a=!1,c="\\{",o="\\}";break;case"\\\\brackfrac":a=!1,c="[",o="]";break;default:throw new Error("Unrecognized genfrac command")}switch(n){case"\\dfrac":case"\\dbinom":d="display";break;case"\\tfrac":case"\\tbinom":d="text";break}return{type:"genfrac",mode:e.mode,continued:!1,numer:i,denom:s,hasBarLine:a,leftDelim:c,rightDelim:o,size:d,barSize:null}},htmlBuilder:FV,mathmlBuilder:JV});De({type:"genfrac",names:["\\cfrac"],props:{numArgs:2},handler:(l,t)=>{var{parser:e,funcName:n}=l,i=t[0],s=t[1];return{type:"genfrac",mode:e.mode,continued:!0,numer:i,denom:s,hasBarLine:!0,leftDelim:null,rightDelim:null,size:"display",barSize:null}}});De({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(l){var{parser:t,funcName:e,token:n}=l,i;switch(e){case"\\over":i="\\frac";break;case"\\choose":i="\\binom";break;case"\\atop":i="\\\\atopfrac";break;case"\\brace":i="\\\\bracefrac";break;case"\\brack":i="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:t.mode,replaceWith:i,token:n}}});var p9=["display","text","script","scriptscript"],y9=function(t){var e=null;return t.length>0&&(e=t,e=e==="."?null:e),e};De({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(l,t){var{parser:e}=l,n=t[4],i=t[5],s=kM(t[0]),a=s.type==="atom"&&s.family==="open"?y9(s.text):null,c=kM(t[1]),o=c.type==="atom"&&c.family==="close"?y9(c.text):null,d=jl(t[2],"size"),h,b=null;d.isBlank?h=!0:(b=d.value,h=b.number>0);var p="auto",y=t[3];if(y.type==="ordgroup"){if(y.body.length>0){var M=jl(y.body[0],"textord");p=p9[Number(M.text)]}}else y=jl(y,"textord"),p=p9[Number(y.text)];return{type:"genfrac",mode:e.mode,numer:n,denom:i,continued:!1,hasBarLine:h,barSize:b,leftDelim:a,rightDelim:o,size:p}},htmlBuilder:FV,mathmlBuilder:JV});De({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(l,t){var{parser:e,funcName:n,token:i}=l;return{type:"infix",mode:e.mode,replaceWith:"\\\\abovefrac",size:jl(t[0],"size").value,token:i}}});De({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(l,t)=>{var{parser:e,funcName:n}=l,i=t[0],s=IA(jl(t[1],"infix").size),a=t[2],c=s.number>0;return{type:"genfrac",mode:e.mode,numer:i,denom:a,continued:!1,hasBarLine:c,barSize:s,leftDelim:null,rightDelim:null,size:"auto"}},htmlBuilder:FV,mathmlBuilder:JV});var VR=(l,t)=>{var e=t.style,n,i;l.type==="supsub"?(n=l.sup?ln(l.sup,t.havingStyle(e.sup()),t):ln(l.sub,t.havingStyle(e.sub()),t),i=jl(l.base,"horizBrace")):i=jl(l,"horizBrace");var s=ln(i.base,t.havingBaseStyle(dl.DISPLAY)),a=Id.svgSpan(i,t),c;if(i.isOver?(c=Dt.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:a}]},t),c.children[0].children[0].children[1].classes.push("svg-align")):(c=Dt.makeVList({positionType:"bottom",positionData:s.depth+.1+a.height,children:[{type:"elem",elem:a},{type:"kern",size:.1},{type:"elem",elem:s}]},t),c.children[0].children[0].children[0].classes.push("svg-align")),n){var o=Dt.makeSpan(["mord",i.isOver?"mover":"munder"],[c],t);i.isOver?c=Dt.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:o},{type:"kern",size:.2},{type:"elem",elem:n}]},t):c=Dt.makeVList({positionType:"bottom",positionData:o.depth+.2+n.height+n.depth,children:[{type:"elem",elem:n},{type:"kern",size:.2},{type:"elem",elem:o}]},t)}return Dt.makeSpan(["mord",i.isOver?"mover":"munder"],[c],t)},$6=(l,t)=>{var e=Id.mathMLnode(l.label);return new me.MathNode(l.isOver?"mover":"munder",[wn(l.base,t),e])};De({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler(l,t){var{parser:e,funcName:n}=l;return{type:"horizBrace",mode:e.mode,label:n,isOver:/^\\over/.test(n),base:t[0]}},htmlBuilder:VR,mathmlBuilder:$6});De({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(l,t)=>{var{parser:e}=l,n=t[1],i=jl(t[0],"url").url;return e.settings.isTrusted({command:"\\href",url:i})?{type:"href",mode:e.mode,href:i,body:yi(n)}:e.formatUnsupportedCmd("\\href")},htmlBuilder:(l,t)=>{var e=Ji(l.body,t,!1);return Dt.makeAnchor(l.href,[],e,t)},mathmlBuilder:(l,t)=>{var e=r0(l.body,t);return e instanceof Aa||(e=new Aa("mrow",[e])),e.setAttribute("href",l.href),e}});De({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(l,t)=>{var{parser:e}=l,n=jl(t[0],"url").url;if(!e.settings.isTrusted({command:"\\url",url:n}))return e.formatUnsupportedCmd("\\url");for(var i=[],s=0;s<n.length;s++){var a=n[s];a==="~"&&(a="\\textasciitilde"),i.push({type:"textord",mode:"text",text:a})}var c={type:"text",mode:e.mode,font:"\\texttt",body:i};return{type:"href",mode:e.mode,href:n,body:yi(c)}}});De({type:"hbox",names:["\\hbox"],props:{numArgs:1,argTypes:["text"],allowedInText:!0,primitive:!0},handler(l,t){var{parser:e}=l;return{type:"hbox",mode:e.mode,body:yi(t[0])}},htmlBuilder(l,t){var e=Ji(l.body,t,!1);return Dt.makeFragment(e)},mathmlBuilder(l,t){return new me.MathNode("mrow",ya(l.body,t))}});De({type:"html",names:["\\htmlClass","\\htmlId","\\htmlStyle","\\htmlData"],props:{numArgs:2,argTypes:["raw","original"],allowedInText:!0},handler:(l,t)=>{var{parser:e,funcName:n,token:i}=l,s=jl(t[0],"raw").string,a=t[1];e.settings.strict&&e.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var c,o={};switch(n){case"\\htmlClass":o.class=s,c={command:"\\htmlClass",class:s};break;case"\\htmlId":o.id=s,c={command:"\\htmlId",id:s};break;case"\\htmlStyle":o.style=s,c={command:"\\htmlStyle",style:s};break;case"\\htmlData":{for(var d=s.split(","),h=0;h<d.length;h++){var b=d[h].split("=");if(b.length!==2)throw new Te("Error parsing key-value for \\htmlData");o["data-"+b[0].trim()]=b[1].trim()}c={command:"\\htmlData",attributes:o};break}default:throw new Error("Unrecognized html command")}return e.settings.isTrusted(c)?{type:"html",mode:e.mode,attributes:o,body:yi(a)}:e.formatUnsupportedCmd(n)},htmlBuilder:(l,t)=>{var e=Ji(l.body,t,!1),n=["enclosing"];l.attributes.class&&n.push(...l.attributes.class.trim().split(/\s+/));var i=Dt.makeSpan(n,e,t);for(var s in l.attributes)s!=="class"&&l.attributes.hasOwnProperty(s)&&i.setAttribute(s,l.attributes[s]);return i},mathmlBuilder:(l,t)=>r0(l.body,t)});De({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInText:!0},handler:(l,t)=>{var{parser:e}=l;return{type:"htmlmathml",mode:e.mode,html:yi(t[0]),mathml:yi(t[1])}},htmlBuilder:(l,t)=>{var e=Ji(l.html,t,!1);return Dt.makeFragment(e)},mathmlBuilder:(l,t)=>r0(l.mathml,t)});var dX=function(t){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(t))return{number:+t,unit:"bp"};var e=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(t);if(!e)throw new Te("Invalid size: '"+t+"' in \\includegraphics");var n={number:+(e[1]+e[2]),unit:e[3]};if(!PS(n))throw new Te("Invalid unit: '"+n.unit+"' in \\includegraphics.");return n};De({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(l,t,e)=>{var{parser:n}=l,i={number:0,unit:"em"},s={number:.9,unit:"em"},a={number:0,unit:"em"},c="";if(e[0])for(var o=jl(e[0],"raw").string,d=o.split(","),h=0;h<d.length;h++){var b=d[h].split("=");if(b.length===2){var p=b[1].trim();switch(b[0].trim()){case"alt":c=p;break;case"width":i=dX(p);break;case"height":s=dX(p);break;case"totalheight":a=dX(p);break;default:throw new Te("Invalid key: '"+b[0]+"' in \\includegraphics.")}}}var y=jl(t[0],"url").url;return c===""&&(c=y,c=c.replace(/^.*[\\/]/,""),c=c.substring(0,c.lastIndexOf("."))),n.settings.isTrusted({command:"\\includegraphics",url:y})?{type:"includegraphics",mode:n.mode,alt:c,width:i,height:s,totalheight:a,src:y}:n.formatUnsupportedCmd("\\includegraphics")},htmlBuilder:(l,t)=>{var e=ni(l.height,t),n=0;l.totalheight.number>0&&(n=ni(l.totalheight,t)-e);var i=0;l.width.number>0&&(i=ni(l.width,t));var s={height:ze(e+n)};i>0&&(s.width=ze(i)),n>0&&(s.verticalAlign=ze(-n));var a=new qA(l.src,l.alt,s);return a.height=e,a.depth=n,a},mathmlBuilder:(l,t)=>{var e=new me.MathNode("mglyph",[]);e.setAttribute("alt",l.alt);var n=ni(l.height,t),i=0;if(l.totalheight.number>0&&(i=ni(l.totalheight,t)-n,e.setAttribute("valign",ze(-i))),e.setAttribute("height",ze(n+i)),l.width.number>0){var s=ni(l.width,t);e.setAttribute("width",ze(s))}return e.setAttribute("src",l.src),e}});De({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(l,t){var{parser:e,funcName:n}=l,i=jl(t[0],"size");if(e.settings.strict){var s=n[1]==="m",a=i.value.unit==="mu";s?(a||e.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" supports only mu units, "+("not "+i.value.unit+" units")),e.mode!=="math"&&e.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" works only in math mode")):a&&e.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" doesn't support mu units")}return{type:"kern",mode:e.mode,dimension:i.value}},htmlBuilder(l,t){return Dt.makeGlue(l.dimension,t)},mathmlBuilder(l,t){var e=ni(l.dimension,t);return new me.SpaceNode(e)}});De({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(l,t)=>{var{parser:e,funcName:n}=l,i=t[0];return{type:"lap",mode:e.mode,alignment:n.slice(5),body:i}},htmlBuilder:(l,t)=>{var e;l.alignment==="clap"?(e=Dt.makeSpan([],[ln(l.body,t)]),e=Dt.makeSpan(["inner"],[e],t)):e=Dt.makeSpan(["inner"],[ln(l.body,t)]);var n=Dt.makeSpan(["fix"],[]),i=Dt.makeSpan([l.alignment],[e,n],t),s=Dt.makeSpan(["strut"]);return s.style.height=ze(i.height+i.depth),i.depth&&(s.style.verticalAlign=ze(-i.depth)),i.children.unshift(s),i=Dt.makeSpan(["thinbox"],[i],t),Dt.makeSpan(["mord","vbox"],[i],t)},mathmlBuilder:(l,t)=>{var e=new me.MathNode("mpadded",[wn(l.body,t)]);if(l.alignment!=="rlap"){var n=l.alignment==="llap"?"-1":"-0.5";e.setAttribute("lspace",n+"width")}return e.setAttribute("width","0px"),e}});De({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(l,t){var{funcName:e,parser:n}=l,i=n.mode;n.switchMode("math");var s=e==="\\("?"\\)":"$",a=n.parseExpression(!1,s);return n.expect(s),n.switchMode(i),{type:"styling",mode:n.mode,style:"text",body:a}}});De({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(l,t){throw new Te("Mismatched "+l.funcName)}});var W9=(l,t)=>{switch(t.style.size){case dl.DISPLAY.size:return l.display;case dl.TEXT.size:return l.text;case dl.SCRIPT.size:return l.script;case dl.SCRIPTSCRIPT.size:return l.scriptscript;default:return l.text}};De({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(l,t)=>{var{parser:e}=l;return{type:"mathchoice",mode:e.mode,display:yi(t[0]),text:yi(t[1]),script:yi(t[2]),scriptscript:yi(t[3])}},htmlBuilder:(l,t)=>{var e=W9(l,t),n=Ji(e,t,!1);return Dt.makeFragment(n)},mathmlBuilder:(l,t)=>{var e=W9(l,t);return r0(e,t)}});var IR=(l,t,e,n,i,s,a)=>{l=Dt.makeSpan([],[l]);var c=e&&sl.isCharacterBox(e),o,d;if(t){var h=ln(t,n.havingStyle(i.sup()),n);d={elem:h,kern:Math.max(n.fontMetrics().bigOpSpacing1,n.fontMetrics().bigOpSpacing3-h.depth)}}if(e){var b=ln(e,n.havingStyle(i.sub()),n);o={elem:b,kern:Math.max(n.fontMetrics().bigOpSpacing2,n.fontMetrics().bigOpSpacing4-b.height)}}var p;if(d&&o){var y=n.fontMetrics().bigOpSpacing5+o.elem.height+o.elem.depth+o.kern+l.depth+a;p=Dt.makeVList({positionType:"bottom",positionData:y,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:o.elem,marginLeft:ze(-s)},{type:"kern",size:o.kern},{type:"elem",elem:l},{type:"kern",size:d.kern},{type:"elem",elem:d.elem,marginLeft:ze(s)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}else if(o){var M=l.height-a;p=Dt.makeVList({positionType:"top",positionData:M,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:o.elem,marginLeft:ze(-s)},{type:"kern",size:o.kern},{type:"elem",elem:l}]},n)}else if(d){var T=l.depth+a;p=Dt.makeVList({positionType:"bottom",positionData:T,children:[{type:"elem",elem:l},{type:"kern",size:d.kern},{type:"elem",elem:d.elem,marginLeft:ze(s)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}else return l;var Y=[p];if(o&&s!==0&&!c){var L=Dt.makeSpan(["mspace"],[],n);L.style.marginRight=ze(s),Y.unshift(L)}return Dt.makeSpan(["mop","op-limits"],Y,n)},wR=["\\smallint"],dp=(l,t)=>{var e,n,i=!1,s;l.type==="supsub"?(e=l.sup,n=l.sub,s=jl(l.base,"op"),i=!0):s=jl(l,"op");var a=t.style,c=!1;a.size===dl.DISPLAY.size&&s.symbol&&!sl.contains(wR,s.name)&&(c=!0);var o;if(s.symbol){var d=c?"Size2-Regular":"Size1-Regular",h="";if((s.name==="\\oiint"||s.name==="\\oiiint")&&(h=s.name.slice(1),s.name=h==="oiint"?"\\iint":"\\iiint"),o=Dt.makeSymbol(s.name,d,"math",t,["mop","op-symbol",c?"large-op":"small-op"]),h.length>0){var b=o.italic,p=Dt.staticSvg(h+"Size"+(c?"2":"1"),t);o=Dt.makeVList({positionType:"individualShift",children:[{type:"elem",elem:o,shift:0},{type:"elem",elem:p,shift:c?.08:0}]},t),s.name="\\"+h,o.classes.unshift("mop"),o.italic=b}}else if(s.body){var y=Ji(s.body,t,!0);y.length===1&&y[0]instanceof or?(o=y[0],o.classes[0]="mop"):o=Dt.makeSpan(["mop"],y,t)}else{for(var M=[],T=1;T<s.name.length;T++)M.push(Dt.mathsym(s.name[T],s.mode,t));o=Dt.makeSpan(["mop"],M,t)}var Y=0,L=0;return(o instanceof or||s.name==="\\oiint"||s.name==="\\oiiint")&&!s.suppressBaseShift&&(Y=(o.height-o.depth)/2-t.fontMetrics().axisHeight,L=o.italic),i?IR(o,e,n,t,a,L,Y):(Y&&(o.style.position="relative",o.style.top=ze(Y)),o)},kW=(l,t)=>{var e;if(l.symbol)e=new Aa("mo",[fc(l.name,l.mode)]),sl.contains(wR,l.name)&&e.setAttribute("largeop","false");else if(l.body)e=new Aa("mo",ya(l.body,t));else{e=new Aa("mi",[new qr(l.name.slice(1))]);var n=new Aa("mo",[fc("","text")]);l.parentIsSupSub?e=new Aa("mrow",[e,n]):e=iR([e,n])}return e},t8={"∏":"\\prod","∐":"\\coprod","∑":"\\sum","⋀":"\\bigwedge","⋁":"\\bigvee","⋂":"\\bigcap","⋃":"\\bigcup","⨀":"\\bigodot","⨁":"\\bigoplus","⨂":"\\bigotimes","⨄":"\\biguplus","⨆":"\\bigsqcup"};De({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","∏","∐","∑","⋀","⋁","⋂","⋃","⨀","⨁","⨂","⨄","⨆"],props:{numArgs:0},handler:(l,t)=>{var{parser:e,funcName:n}=l,i=n;return i.length===1&&(i=t8[i]),{type:"op",mode:e.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:i}},htmlBuilder:dp,mathmlBuilder:kW});De({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(l,t)=>{var{parser:e}=l,n=t[0];return{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:yi(n)}},htmlBuilder:dp,mathmlBuilder:kW});var e8={"∫":"\\int","∬":"\\iint","∭":"\\iiint","∮":"\\oint","∯":"\\oiint","∰":"\\oiiint"};De({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(l){var{parser:t,funcName:e}=l;return{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:e}},htmlBuilder:dp,mathmlBuilder:kW});De({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(l){var{parser:t,funcName:e}=l;return{type:"op",mode:t.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:e}},htmlBuilder:dp,mathmlBuilder:kW});De({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","∫","∬","∭","∮","∯","∰"],props:{numArgs:0},handler(l){var{parser:t,funcName:e}=l,n=e;return n.length===1&&(n=e8[n]),{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:n}},htmlBuilder:dp,mathmlBuilder:kW});var zR=(l,t)=>{var e,n,i=!1,s;l.type==="supsub"?(e=l.sup,n=l.sub,s=jl(l.base,"operatorname"),i=!0):s=jl(l,"operatorname");var a;if(s.body.length>0){for(var c=s.body.map(b=>{var p=b.text;return typeof p=="string"?{type:"textord",mode:b.mode,text:p}:b}),o=Ji(c,t.withFont("mathrm"),!0),d=0;d<o.length;d++){var h=o[d];h instanceof or&&(h.text=h.text.replace(/\u2212/,"-").replace(/\u2217/,"*"))}a=Dt.makeSpan(["mop"],o,t)}else a=Dt.makeSpan(["mop"],[],t);return i?IR(a,e,n,t,t.style,0,0):a},l8=(l,t)=>{for(var e=ya(l.body,t.withFont("mathrm")),n=!0,i=0;i<e.length;i++){var s=e[i];if(!(s instanceof me.SpaceNode))if(s instanceof me.MathNode)switch(s.type){case"mi":case"mn":case"ms":case"mspace":case"mtext":break;case"mo":{var a=s.children[0];s.children.length===1&&a instanceof me.TextNode?a.text=a.text.replace(/\u2212/,"-").replace(/\u2217/,"*"):n=!1;break}default:n=!1}else n=!1}if(n){var c=e.map(h=>h.toText()).join("");e=[new me.TextNode(c)]}var o=new me.MathNode("mi",e);o.setAttribute("mathvariant","normal");var d=new me.MathNode("mo",[fc("","text")]);return l.parentIsSupSub?new me.MathNode("mrow",[o,d]):me.newDocumentFragment([o,d])};De({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:(l,t)=>{var{parser:e,funcName:n}=l,i=t[0];return{type:"operatorname",mode:e.mode,body:yi(i),alwaysHandleSupSub:n==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},htmlBuilder:zR,mathmlBuilder:l8});A("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");Ih({type:"ordgroup",htmlBuilder(l,t){return l.semisimple?Dt.makeFragment(Ji(l.body,t,!1)):Dt.makeSpan(["mord"],Ji(l.body,t,!0),t)},mathmlBuilder(l,t){return r0(l.body,t,!0)}});De({type:"overline",names:["\\overline"],props:{numArgs:1},handler(l,t){var{parser:e}=l,n=t[0];return{type:"overline",mode:e.mode,body:n}},htmlBuilder(l,t){var e=ln(l.body,t.havingCrampedStyle()),n=Dt.makeLineSpan("overline-line",t),i=t.fontMetrics().defaultRuleThickness,s=Dt.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:e},{type:"kern",size:3*i},{type:"elem",elem:n},{type:"kern",size:i}]},t);return Dt.makeSpan(["mord","overline"],[s],t)},mathmlBuilder(l,t){var e=new me.MathNode("mo",[new me.TextNode("‾")]);e.setAttribute("stretchy","true");var n=new me.MathNode("mover",[wn(l.body,t),e]);return n.setAttribute("accent","true"),n}});De({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(l,t)=>{var{parser:e}=l,n=t[0];return{type:"phantom",mode:e.mode,body:yi(n)}},htmlBuilder:(l,t)=>{var e=Ji(l.body,t.withPhantom(),!1);return Dt.makeFragment(e)},mathmlBuilder:(l,t)=>{var e=ya(l.body,t);return new me.MathNode("mphantom",e)}});De({type:"hphantom",names:["\\hphantom"],props:{numArgs:1,allowedInText:!0},handler:(l,t)=>{var{parser:e}=l,n=t[0];return{type:"hphantom",mode:e.mode,body:n}},htmlBuilder:(l,t)=>{var e=Dt.makeSpan([],[ln(l.body,t.withPhantom())]);if(e.height=0,e.depth=0,e.children)for(var n=0;n<e.children.length;n++)e.children[n].height=0,e.children[n].depth=0;return e=Dt.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:e}]},t),Dt.makeSpan(["mord"],[e],t)},mathmlBuilder:(l,t)=>{var e=ya(yi(l.body),t),n=new me.MathNode("mphantom",e),i=new me.MathNode("mpadded",[n]);return i.setAttribute("height","0px"),i.setAttribute("depth","0px"),i}});De({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(l,t)=>{var{parser:e}=l,n=t[0];return{type:"vphantom",mode:e.mode,body:n}},htmlBuilder:(l,t)=>{var e=Dt.makeSpan(["inner"],[ln(l.body,t.withPhantom())]),n=Dt.makeSpan(["fix"],[]);return Dt.makeSpan(["mord","rlap"],[e,n],t)},mathmlBuilder:(l,t)=>{var e=ya(yi(l.body),t),n=new me.MathNode("mphantom",e),i=new me.MathNode("mpadded",[n]);return i.setAttribute("width","0px"),i}});De({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(l,t){var{parser:e}=l,n=jl(t[0],"size").value,i=t[1];return{type:"raisebox",mode:e.mode,dy:n,body:i}},htmlBuilder(l,t){var e=ln(l.body,t),n=ni(l.dy,t);return Dt.makeVList({positionType:"shift",positionData:-n,children:[{type:"elem",elem:e}]},t)},mathmlBuilder(l,t){var e=new me.MathNode("mpadded",[wn(l.body,t)]),n=l.dy.number+l.dy.unit;return e.setAttribute("voffset",n),e}});De({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0},handler(l){var{parser:t}=l;return{type:"internal",mode:t.mode}}});De({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"]},handler(l,t,e){var{parser:n}=l,i=e[0],s=jl(t[0],"size"),a=jl(t[1],"size");return{type:"rule",mode:n.mode,shift:i&&jl(i,"size").value,width:s.value,height:a.value}},htmlBuilder(l,t){var e=Dt.makeSpan(["mord","rule"],[],t),n=ni(l.width,t),i=ni(l.height,t),s=l.shift?ni(l.shift,t):0;return e.style.borderRightWidth=ze(n),e.style.borderTopWidth=ze(i),e.style.bottom=ze(s),e.width=n,e.height=i+s,e.depth=-s,e.maxFontSize=i*1.125*t.sizeMultiplier,e},mathmlBuilder(l,t){var e=ni(l.width,t),n=ni(l.height,t),i=l.shift?ni(l.shift,t):0,s=t.color&&t.getColor()||"black",a=new me.MathNode("mspace");a.setAttribute("mathbackground",s),a.setAttribute("width",ze(e)),a.setAttribute("height",ze(n));var c=new me.MathNode("mpadded",[a]);return i>=0?c.setAttribute("height",ze(i)):(c.setAttribute("height",ze(i)),c.setAttribute("depth",ze(-i))),c.setAttribute("voffset",ze(i)),c}});function gR(l,t,e){for(var n=Ji(l,t,!1),i=t.sizeMultiplier/e.sizeMultiplier,s=0;s<n.length;s++){var a=n[s].classes.indexOf("sizing");a<0?Array.prototype.push.apply(n[s].classes,t.sizingClasses(e)):n[s].classes[a+1]==="reset-size"+t.size&&(n[s].classes[a+1]="reset-size"+e.size),n[s].height*=i,n[s].depth*=i}return Dt.makeFragment(n)}var N9=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"],n8=(l,t)=>{var e=t.havingSize(l.size);return gR(l.body,e,t)};De({type:"sizing",names:N9,props:{numArgs:0,allowedInText:!0},handler:(l,t)=>{var{breakOnTokenText:e,funcName:n,parser:i}=l,s=i.parseExpression(!1,e);return{type:"sizing",mode:i.mode,size:N9.indexOf(n)+1,body:s}},htmlBuilder:n8,mathmlBuilder:(l,t)=>{var e=t.havingSize(l.size),n=ya(l.body,e),i=new me.MathNode("mstyle",n);return i.setAttribute("mathsize",ze(e.sizeMultiplier)),i}});De({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(l,t,e)=>{var{parser:n}=l,i=!1,s=!1,a=e[0]&&jl(e[0],"ordgroup");if(a)for(var c="",o=0;o<a.body.length;++o){var d=a.body[o];if(c=d.text,c==="t")i=!0;else if(c==="b")s=!0;else{i=!1,s=!1;break}}else i=!0,s=!0;var h=t[0];return{type:"smash",mode:n.mode,body:h,smashHeight:i,smashDepth:s}},htmlBuilder:(l,t)=>{var e=Dt.makeSpan([],[ln(l.body,t)]);if(!l.smashHeight&&!l.smashDepth)return e;if(l.smashHeight&&(e.height=0,e.children))for(var n=0;n<e.children.length;n++)e.children[n].height=0;if(l.smashDepth&&(e.depth=0,e.children))for(var i=0;i<e.children.length;i++)e.children[i].depth=0;var s=Dt.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:e}]},t);return Dt.makeSpan(["mord"],[s],t)},mathmlBuilder:(l,t)=>{var e=new me.MathNode("mpadded",[wn(l.body,t)]);return l.smashHeight&&e.setAttribute("height","0px"),l.smashDepth&&e.setAttribute("depth","0px"),e}});De({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(l,t,e){var{parser:n}=l,i=e[0],s=t[0];return{type:"sqrt",mode:n.mode,body:s,index:i}},htmlBuilder(l,t){var e=ln(l.body,t.havingCrampedStyle());e.height===0&&(e.height=t.fontMetrics().xHeight),e=Dt.wrapFragment(e,t);var n=t.fontMetrics(),i=n.defaultRuleThickness,s=i;t.style.id<dl.TEXT.id&&(s=t.fontMetrics().xHeight);var a=i+s/4,c=e.height+e.depth+a+i,{span:o,ruleWidth:d,advanceWidth:h}=Gd.sqrtImage(c,t),b=o.height-d;b>e.height+e.depth+a&&(a=(a+b-e.height-e.depth)/2);var p=o.height-e.height-a-d;e.style.paddingLeft=ze(h);var y=Dt.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:e,wrapperClasses:["svg-align"]},{type:"kern",size:-(e.height+p)},{type:"elem",elem:o},{type:"kern",size:d}]},t);if(l.index){var M=t.havingStyle(dl.SCRIPTSCRIPT),T=ln(l.index,M,t),Y=.6*(y.height-y.depth),L=Dt.makeVList({positionType:"shift",positionData:-Y,children:[{type:"elem",elem:T}]},t),x=Dt.makeSpan(["root"],[L]);return Dt.makeSpan(["mord","sqrt"],[x,y],t)}else return Dt.makeSpan(["mord","sqrt"],[y],t)},mathmlBuilder(l,t){var{body:e,index:n}=l;return n?new me.MathNode("mroot",[wn(e,t),wn(n,t)]):new me.MathNode("msqrt",[wn(e,t)])}});var M9={display:dl.DISPLAY,text:dl.TEXT,script:dl.SCRIPT,scriptscript:dl.SCRIPTSCRIPT};De({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(l,t){var{breakOnTokenText:e,funcName:n,parser:i}=l,s=i.parseExpression(!0,e),a=n.slice(1,n.length-5);return{type:"styling",mode:i.mode,style:a,body:s}},htmlBuilder(l,t){var e=M9[l.style],n=t.havingStyle(e).withFont("");return gR(l.body,n,t)},mathmlBuilder(l,t){var e=M9[l.style],n=t.havingStyle(e),i=ya(l.body,n),s=new me.MathNode("mstyle",i),a={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},c=a[l.style];return s.setAttribute("scriptlevel",c[0]),s.setAttribute("displaystyle",c[1]),s}});var i8=function(t,e){var n=t.base;if(n)if(n.type==="op"){var i=n.limits&&(e.style.size===dl.DISPLAY.size||n.alwaysHandleSupSub);return i?dp:null}else if(n.type==="operatorname"){var s=n.alwaysHandleSupSub&&(e.style.size===dl.DISPLAY.size||n.limits);return s?zR:null}else{if(n.type==="accent")return sl.isCharacterBox(n.base)?RV:null;if(n.type==="horizBrace"){var a=!t.sub;return a===n.isOver?VR:null}else return null}else return null};Ih({type:"supsub",htmlBuilder(l,t){var e=i8(l,t);if(e)return e(l,t);var{base:n,sup:i,sub:s}=l,a=ln(n,t),c,o,d=t.fontMetrics(),h=0,b=0,p=n&&sl.isCharacterBox(n);if(i){var y=t.havingStyle(t.style.sup());c=ln(i,y,t),p||(h=a.height-y.fontMetrics().supDrop*y.sizeMultiplier/t.sizeMultiplier)}if(s){var M=t.havingStyle(t.style.sub());o=ln(s,M,t),p||(b=a.depth+M.fontMetrics().subDrop*M.sizeMultiplier/t.sizeMultiplier)}var T;t.style===dl.DISPLAY?T=d.sup1:t.style.cramped?T=d.sup3:T=d.sup2;var Y=t.sizeMultiplier,L=ze(.5/d.ptPerEm/Y),x=null;if(o){var g=l.base&&l.base.type==="op"&&l.base.name&&(l.base.name==="\\oiint"||l.base.name==="\\oiiint");(a instanceof or||g)&&(x=ze(-a.italic))}var F;if(c&&o){h=Math.max(h,T,c.depth+.25*d.xHeight),b=Math.max(b,d.sub2);var j=d.defaultRuleThickness,D=4*j;if(h-c.depth-(o.height-b)<D){b=D-(h-c.depth)+o.height;var _=.8*d.xHeight-(h-c.depth);_>0&&(h+=_,b-=_)}var ut=[{type:"elem",elem:o,shift:b,marginRight:L,marginLeft:x},{type:"elem",elem:c,shift:-h,marginRight:L}];F=Dt.makeVList({positionType:"individualShift",children:ut},t)}else if(o){b=Math.max(b,d.sub1,o.height-.8*d.xHeight);var K=[{type:"elem",elem:o,marginLeft:x,marginRight:L}];F=Dt.makeVList({positionType:"shift",positionData:b,children:K},t)}else if(c)h=Math.max(h,T,c.depth+.25*d.xHeight),F=Dt.makeVList({positionType:"shift",positionData:-h,children:[{type:"elem",elem:c,marginRight:L}]},t);else throw new Error("supsub must have either sup or sub.");var f=ZY(a,"right")||"mord";return Dt.makeSpan([f],[a,Dt.makeSpan(["msupsub"],[F])],t)},mathmlBuilder(l,t){var e=!1,n,i;l.base&&l.base.type==="horizBrace"&&(i=!!l.sup,i===l.base.isOver&&(e=!0,n=l.base.isOver)),l.base&&(l.base.type==="op"||l.base.type==="operatorname")&&(l.base.parentIsSupSub=!0);var s=[wn(l.base,t)];l.sub&&s.push(wn(l.sub,t)),l.sup&&s.push(wn(l.sup,t));var a;if(e)a=n?"mover":"munder";else if(l.sub)if(l.sup){var d=l.base;d&&d.type==="op"&&d.limits&&t.style===dl.DISPLAY||d&&d.type==="operatorname"&&d.alwaysHandleSupSub&&(t.style===dl.DISPLAY||d.limits)?a="munderover":a="msubsup"}else{var o=l.base;o&&o.type==="op"&&o.limits&&(t.style===dl.DISPLAY||o.alwaysHandleSupSub)||o&&o.type==="operatorname"&&o.alwaysHandleSupSub&&(o.limits||t.style===dl.DISPLAY)?a="munder":a="msub"}else{var c=l.base;c&&c.type==="op"&&c.limits&&(t.style===dl.DISPLAY||c.alwaysHandleSupSub)||c&&c.type==="operatorname"&&c.alwaysHandleSupSub&&(c.limits||t.style===dl.DISPLAY)?a="mover":a="msup"}return new me.MathNode(a,s)}});Ih({type:"atom",htmlBuilder(l,t){return Dt.mathsym(l.text,l.mode,t,["m"+l.family])},mathmlBuilder(l,t){var e=new me.MathNode("mo",[fc(l.text,l.mode)]);if(l.family==="bin"){var n=fV(l,t);n==="bold-italic"&&e.setAttribute("mathvariant",n)}else l.family==="punct"?e.setAttribute("separator","true"):(l.family==="open"||l.family==="close")&&e.setAttribute("stretchy","false");return e}});var xR={mi:"italic",mn:"normal",mtext:"normal"};Ih({type:"mathord",htmlBuilder(l,t){return Dt.makeOrd(l,t,"mathord")},mathmlBuilder(l,t){var e=new me.MathNode("mi",[fc(l.text,l.mode,t)]),n=fV(l,t)||"italic";return n!==xR[e.type]&&e.setAttribute("mathvariant",n),e}});Ih({type:"textord",htmlBuilder(l,t){return Dt.makeOrd(l,t,"textord")},mathmlBuilder(l,t){var e=fc(l.text,l.mode,t),n=fV(l,t)||"normal",i;return l.mode==="text"?i=new me.MathNode("mtext",[e]):/[0-9]/.test(l.text)?i=new me.MathNode("mn",[e]):l.text==="\\prime"?i=new me.MathNode("mo",[e]):i=new me.MathNode("mi",[e]),n!==xR[i.type]&&i.setAttribute("mathvariant",n),i}});var uX={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},mX={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};Ih({type:"spacing",htmlBuilder(l,t){if(mX.hasOwnProperty(l.text)){var e=mX[l.text].className||"";if(l.mode==="text"){var n=Dt.makeOrd(l,t,"textord");return n.classes.push(e),n}else return Dt.makeSpan(["mspace",e],[Dt.mathsym(l.text,l.mode,t)],t)}else{if(uX.hasOwnProperty(l.text))return Dt.makeSpan(["mspace",uX[l.text]],[],t);throw new Te('Unknown type of space "'+l.text+'"')}},mathmlBuilder(l,t){var e;if(mX.hasOwnProperty(l.text))e=new me.MathNode("mtext",[new me.TextNode(" ")]);else{if(uX.hasOwnProperty(l.text))return new me.MathNode("mspace");throw new Te('Unknown type of space "'+l.text+'"')}return e}});var G9=()=>{var l=new me.MathNode("mtd",[]);return l.setAttribute("width","50%"),l};Ih({type:"tag",mathmlBuilder(l,t){var e=new me.MathNode("mtable",[new me.MathNode("mtr",[G9(),new me.MathNode("mtd",[r0(l.body,t)]),G9(),new me.MathNode("mtd",[r0(l.tag,t)])])]);return e.setAttribute("width","100%"),e}});var T9={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},X9={"\\textbf":"textbf","\\textmd":"textmd"},s8={"\\textit":"textit","\\textup":"textup"},Y9=(l,t)=>{var e=l.font;if(e){if(T9[e])return t.withTextFontFamily(T9[e]);if(X9[e])return t.withTextFontWeight(X9[e]);if(e==="\\emph")return t.fontShape==="textit"?t.withTextFontShape("textup"):t.withTextFontShape("textit")}else return t;return t.withTextFontShape(s8[e])};De({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(l,t){var{parser:e,funcName:n}=l,i=t[0];return{type:"text",mode:e.mode,body:yi(i),font:n}},htmlBuilder(l,t){var e=Y9(l,t),n=Ji(l.body,e,!0);return Dt.makeSpan(["mord","text"],n,e)},mathmlBuilder(l,t){var e=Y9(l,t);return r0(l.body,e)}});De({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(l,t){var{parser:e}=l;return{type:"underline",mode:e.mode,body:t[0]}},htmlBuilder(l,t){var e=ln(l.body,t),n=Dt.makeLineSpan("underline-line",t),i=t.fontMetrics().defaultRuleThickness,s=Dt.makeVList({positionType:"top",positionData:e.height,children:[{type:"kern",size:i},{type:"elem",elem:n},{type:"kern",size:3*i},{type:"elem",elem:e}]},t);return Dt.makeSpan(["mord","underline"],[s],t)},mathmlBuilder(l,t){var e=new me.MathNode("mo",[new me.TextNode("‾")]);e.setAttribute("stretchy","true");var n=new me.MathNode("munder",[wn(l.body,t),e]);return n.setAttribute("accentunder","true"),n}});De({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(l,t){var{parser:e}=l;return{type:"vcenter",mode:e.mode,body:t[0]}},htmlBuilder(l,t){var e=ln(l.body,t),n=t.fontMetrics().axisHeight,i=.5*(e.height-n-(e.depth+n));return Dt.makeVList({positionType:"shift",positionData:i,children:[{type:"elem",elem:e}]},t)},mathmlBuilder(l,t){return new me.MathNode("mpadded",[wn(l.body,t)],["vcenter"])}});De({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(l,t,e){throw new Te("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(l,t){for(var e=L9(l),n=[],i=t.havingStyle(t.style.text()),s=0;s<e.length;s++){var a=e[s];a==="~"&&(a="\\textasciitilde"),n.push(Dt.makeSymbol(a,"Typewriter-Regular",l.mode,i,["mord","texttt"]))}return Dt.makeSpan(["mord","text"].concat(i.sizingClasses(t)),Dt.tryCombineChars(n),i)},mathmlBuilder(l,t){var e=new me.TextNode(L9(l)),n=new me.MathNode("mtext",[e]);return n.setAttribute("mathvariant","monospace"),n}});var L9=l=>l.body.replace(/ /g,l.star?"␣":" "),l0=lR,fR=`[ \r
|
||
]`,a8="\\\\[a-zA-Z@]+",c8="\\\\[^\uD800-\uDFFF]",r8="("+a8+")"+fR+"*",o8=`\\\\(
|
||
|[ \r ]+
|
||
?)[ \r ]*`,WY="[̀-ͯ]",d8=new RegExp(WY+"+$"),u8="("+fR+"+)|"+(o8+"|")+"([!-\\[\\]-‧-豈-]"+(WY+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(WY+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+r8)+("|"+c8+")");class V9{constructor(t,e){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=t,this.settings=e,this.tokenRegex=new RegExp(u8,"g"),this.catcodes={"%":14,"~":13}}setCatcode(t,e){this.catcodes[t]=e}lex(){var t=this.input,e=this.tokenRegex.lastIndex;if(e===t.length)return new zc("EOF",new Ha(this,e,e));var n=this.tokenRegex.exec(t);if(n===null||n.index!==e)throw new Te("Unexpected character: '"+t[e]+"'",new zc(t[e],new Ha(this,e,e+1)));var i=n[6]||n[3]||(n[2]?"\\ ":" ");if(this.catcodes[i]===14){var s=t.indexOf(`
|
||
`,this.tokenRegex.lastIndex);return s===-1?(this.tokenRegex.lastIndex=t.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=s+1,this.lex()}return new zc(i,new Ha(this,e,this.tokenRegex.lastIndex))}}class m8{constructor(t,e){t===void 0&&(t={}),e===void 0&&(e={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=e,this.builtins=t,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new Te("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var t=this.undefStack.pop();for(var e in t)t.hasOwnProperty(e)&&(t[e]==null?delete this.current[e]:this.current[e]=t[e])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(t){return this.current.hasOwnProperty(t)||this.builtins.hasOwnProperty(t)}get(t){return this.current.hasOwnProperty(t)?this.current[t]:this.builtins[t]}set(t,e,n){if(n===void 0&&(n=!1),n){for(var i=0;i<this.undefStack.length;i++)delete this.undefStack[i][t];this.undefStack.length>0&&(this.undefStack[this.undefStack.length-1][t]=e)}else{var s=this.undefStack[this.undefStack.length-1];s&&!s.hasOwnProperty(t)&&(s[t]=this.current[t])}e==null?delete this.current[t]:this.current[t]=e}}var h8=GR;A("\\noexpand",function(l){var t=l.popToken();return l.isExpandable(t.text)&&(t.noexpand=!0,t.treatAsRelax=!0),{tokens:[t],numArgs:0}});A("\\expandafter",function(l){var t=l.popToken();return l.expandOnce(!0),{tokens:[t],numArgs:0}});A("\\@firstoftwo",function(l){var t=l.consumeArgs(2);return{tokens:t[0],numArgs:0}});A("\\@secondoftwo",function(l){var t=l.consumeArgs(2);return{tokens:t[1],numArgs:0}});A("\\@ifnextchar",function(l){var t=l.consumeArgs(3);l.consumeSpaces();var e=l.future();return t[0].length===1&&t[0][0].text===e.text?{tokens:t[1],numArgs:0}:{tokens:t[2],numArgs:0}});A("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");A("\\TextOrMath",function(l){var t=l.consumeArgs(2);return l.mode==="text"?{tokens:t[0],numArgs:0}:{tokens:t[1],numArgs:0}});var I9={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};A("\\char",function(l){var t=l.popToken(),e,n="";if(t.text==="'")e=8,t=l.popToken();else if(t.text==='"')e=16,t=l.popToken();else if(t.text==="`")if(t=l.popToken(),t.text[0]==="\\")n=t.text.charCodeAt(1);else{if(t.text==="EOF")throw new Te("\\char` missing argument");n=t.text.charCodeAt(0)}else e=10;if(e){if(n=I9[t.text],n==null||n>=e)throw new Te("Invalid base-"+e+" digit "+t.text);for(var i;(i=I9[l.future().text])!=null&&i<e;)n*=e,n+=i,l.popToken()}return"\\@char{"+n+"}"});var vV=(l,t,e,n)=>{var i=l.consumeArg().tokens;if(i.length!==1)throw new Te("\\newcommand's first argument must be a macro name");var s=i[0].text,a=l.isDefined(s);if(a&&!t)throw new Te("\\newcommand{"+s+"} attempting to redefine "+(s+"; use \\renewcommand"));if(!a&&!e)throw new Te("\\renewcommand{"+s+"} when command "+s+" does not yet exist; use \\newcommand");var c=0;if(i=l.consumeArg().tokens,i.length===1&&i[0].text==="["){for(var o="",d=l.expandNextToken();d.text!=="]"&&d.text!=="EOF";)o+=d.text,d=l.expandNextToken();if(!o.match(/^\s*[0-9]+\s*$/))throw new Te("Invalid number of arguments: "+o);c=parseInt(o),i=l.consumeArg().tokens}return a&&n||l.macros.set(s,{tokens:i,numArgs:c}),""};A("\\newcommand",l=>vV(l,!1,!0,!1));A("\\renewcommand",l=>vV(l,!0,!1,!1));A("\\providecommand",l=>vV(l,!0,!0,!0));A("\\message",l=>{var t=l.consumeArgs(1)[0];return console.log(t.reverse().map(e=>e.text).join("")),""});A("\\errmessage",l=>{var t=l.consumeArgs(1)[0];return console.error(t.reverse().map(e=>e.text).join("")),""});A("\\show",l=>{var t=l.popToken(),e=t.text;return console.log(t,l.macros.get(e),l0[e],fn.math[e],fn.text[e]),""});A("\\bgroup","{");A("\\egroup","}");A("~","\\nobreakspace");A("\\lq","`");A("\\rq","'");A("\\aa","\\r a");A("\\AA","\\r A");A("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}");A("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");A("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}");A("ℬ","\\mathscr{B}");A("ℰ","\\mathscr{E}");A("ℱ","\\mathscr{F}");A("ℋ","\\mathscr{H}");A("ℐ","\\mathscr{I}");A("ℒ","\\mathscr{L}");A("ℳ","\\mathscr{M}");A("ℛ","\\mathscr{R}");A("ℭ","\\mathfrak{C}");A("ℌ","\\mathfrak{H}");A("ℨ","\\mathfrak{Z}");A("\\Bbbk","\\Bbb{k}");A("·","\\cdotp");A("\\llap","\\mathllap{\\textrm{#1}}");A("\\rlap","\\mathrlap{\\textrm{#1}}");A("\\clap","\\mathclap{\\textrm{#1}}");A("\\mathstrut","\\vphantom{(}");A("\\underbar","\\underline{\\text{#1}}");A("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}');A("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}");A("\\ne","\\neq");A("≠","\\neq");A("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}");A("∉","\\notin");A("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}");A("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}");A("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}");A("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}");A("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}");A("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}");A("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}");A("⟂","\\perp");A("‼","\\mathclose{!\\mkern-0.8mu!}");A("∌","\\notni");A("⌜","\\ulcorner");A("⌝","\\urcorner");A("⌞","\\llcorner");A("⌟","\\lrcorner");A("©","\\copyright");A("®","\\textregistered");A("️","\\textregistered");A("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');A("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');A("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');A("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');A("\\vdots","{\\varvdots\\rule{0pt}{15pt}}");A("⋮","\\vdots");A("\\varGamma","\\mathit{\\Gamma}");A("\\varDelta","\\mathit{\\Delta}");A("\\varTheta","\\mathit{\\Theta}");A("\\varLambda","\\mathit{\\Lambda}");A("\\varXi","\\mathit{\\Xi}");A("\\varPi","\\mathit{\\Pi}");A("\\varSigma","\\mathit{\\Sigma}");A("\\varUpsilon","\\mathit{\\Upsilon}");A("\\varPhi","\\mathit{\\Phi}");A("\\varPsi","\\mathit{\\Psi}");A("\\varOmega","\\mathit{\\Omega}");A("\\substack","\\begin{subarray}{c}#1\\end{subarray}");A("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");A("\\boxed","\\fbox{$\\displaystyle{#1}$}");A("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");A("\\implies","\\DOTSB\\;\\Longrightarrow\\;");A("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");A("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}");A("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");var w9={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"};A("\\dots",function(l){var t="\\dotso",e=l.expandAfterFuture().text;return e in w9?t=w9[e]:(e.slice(0,4)==="\\not"||e in fn.math&&sl.contains(["bin","rel"],fn.math[e].group))&&(t="\\dotsb"),t});var UV={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};A("\\dotso",function(l){var t=l.future().text;return t in UV?"\\ldots\\,":"\\ldots"});A("\\dotsc",function(l){var t=l.future().text;return t in UV&&t!==","?"\\ldots\\,":"\\ldots"});A("\\cdots",function(l){var t=l.future().text;return t in UV?"\\@cdots\\,":"\\@cdots"});A("\\dotsb","\\cdots");A("\\dotsm","\\cdots");A("\\dotsi","\\!\\cdots");A("\\dotsx","\\ldots\\,");A("\\DOTSI","\\relax");A("\\DOTSB","\\relax");A("\\DOTSX","\\relax");A("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");A("\\,","\\tmspace+{3mu}{.1667em}");A("\\thinspace","\\,");A("\\>","\\mskip{4mu}");A("\\:","\\tmspace+{4mu}{.2222em}");A("\\medspace","\\:");A("\\;","\\tmspace+{5mu}{.2777em}");A("\\thickspace","\\;");A("\\!","\\tmspace-{3mu}{.1667em}");A("\\negthinspace","\\!");A("\\negmedspace","\\tmspace-{4mu}{.2222em}");A("\\negthickspace","\\tmspace-{5mu}{.277em}");A("\\enspace","\\kern.5em ");A("\\enskip","\\hskip.5em\\relax");A("\\quad","\\hskip1em\\relax");A("\\qquad","\\hskip2em\\relax");A("\\tag","\\@ifstar\\tag@literal\\tag@paren");A("\\tag@paren","\\tag@literal{({#1})}");A("\\tag@literal",l=>{if(l.macros.get("\\df@tag"))throw new Te("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});A("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");A("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");A("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");A("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");A("\\newline","\\\\\\relax");A("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var SR=ze(Wd["Main-Regular"][84][1]-.7*Wd["Main-Regular"][65][1]);A("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+SR+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");A("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+SR+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");A("\\hspace","\\@ifstar\\@hspacer\\@hspace");A("\\@hspace","\\hskip #1\\relax");A("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");A("\\ordinarycolon",":");A("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");A("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');A("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');A("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');A("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');A("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');A("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');A("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');A("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');A("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');A("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');A("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');A("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');A("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');A("∷","\\dblcolon");A("∹","\\eqcolon");A("≔","\\coloneqq");A("≕","\\eqqcolon");A("⩴","\\Coloneqq");A("\\ratio","\\vcentcolon");A("\\coloncolon","\\dblcolon");A("\\colonequals","\\coloneqq");A("\\coloncolonequals","\\Coloneqq");A("\\equalscolon","\\eqqcolon");A("\\equalscoloncolon","\\Eqqcolon");A("\\colonminus","\\coloneq");A("\\coloncolonminus","\\Coloneq");A("\\minuscolon","\\eqcolon");A("\\minuscoloncolon","\\Eqcolon");A("\\coloncolonapprox","\\Colonapprox");A("\\coloncolonsim","\\Colonsim");A("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");A("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");A("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");A("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");A("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}");A("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");A("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");A("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");A("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");A("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");A("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");A("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");A("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");A("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}");A("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}");A("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}");A("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}");A("\\nleqq","\\html@mathml{\\@nleqq}{≰}");A("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}");A("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}");A("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}");A("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}");A("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}");A("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}");A("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}");A("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}");A("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}");A("\\imath","\\html@mathml{\\@imath}{ı}");A("\\jmath","\\html@mathml{\\@jmath}{ȷ}");A("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}");A("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}");A("⟦","\\llbracket");A("⟧","\\rrbracket");A("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}");A("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}");A("⦃","\\lBrace");A("⦄","\\rBrace");A("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}");A("⦵","\\minuso");A("\\darr","\\downarrow");A("\\dArr","\\Downarrow");A("\\Darr","\\Downarrow");A("\\lang","\\langle");A("\\rang","\\rangle");A("\\uarr","\\uparrow");A("\\uArr","\\Uparrow");A("\\Uarr","\\Uparrow");A("\\N","\\mathbb{N}");A("\\R","\\mathbb{R}");A("\\Z","\\mathbb{Z}");A("\\alef","\\aleph");A("\\alefsym","\\aleph");A("\\Alpha","\\mathrm{A}");A("\\Beta","\\mathrm{B}");A("\\bull","\\bullet");A("\\Chi","\\mathrm{X}");A("\\clubs","\\clubsuit");A("\\cnums","\\mathbb{C}");A("\\Complex","\\mathbb{C}");A("\\Dagger","\\ddagger");A("\\diamonds","\\diamondsuit");A("\\empty","\\emptyset");A("\\Epsilon","\\mathrm{E}");A("\\Eta","\\mathrm{H}");A("\\exist","\\exists");A("\\harr","\\leftrightarrow");A("\\hArr","\\Leftrightarrow");A("\\Harr","\\Leftrightarrow");A("\\hearts","\\heartsuit");A("\\image","\\Im");A("\\infin","\\infty");A("\\Iota","\\mathrm{I}");A("\\isin","\\in");A("\\Kappa","\\mathrm{K}");A("\\larr","\\leftarrow");A("\\lArr","\\Leftarrow");A("\\Larr","\\Leftarrow");A("\\lrarr","\\leftrightarrow");A("\\lrArr","\\Leftrightarrow");A("\\Lrarr","\\Leftrightarrow");A("\\Mu","\\mathrm{M}");A("\\natnums","\\mathbb{N}");A("\\Nu","\\mathrm{N}");A("\\Omicron","\\mathrm{O}");A("\\plusmn","\\pm");A("\\rarr","\\rightarrow");A("\\rArr","\\Rightarrow");A("\\Rarr","\\Rightarrow");A("\\real","\\Re");A("\\reals","\\mathbb{R}");A("\\Reals","\\mathbb{R}");A("\\Rho","\\mathrm{P}");A("\\sdot","\\cdot");A("\\sect","\\S");A("\\spades","\\spadesuit");A("\\sub","\\subset");A("\\sube","\\subseteq");A("\\supe","\\supseteq");A("\\Tau","\\mathrm{T}");A("\\thetasym","\\vartheta");A("\\weierp","\\wp");A("\\Zeta","\\mathrm{Z}");A("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");A("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");A("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");A("\\bra","\\mathinner{\\langle{#1}|}");A("\\ket","\\mathinner{|{#1}\\rangle}");A("\\braket","\\mathinner{\\langle{#1}\\rangle}");A("\\Bra","\\left\\langle#1\\right|");A("\\Ket","\\left|#1\\right\\rangle");var RR=l=>t=>{var e=t.consumeArg().tokens,n=t.consumeArg().tokens,i=t.consumeArg().tokens,s=t.consumeArg().tokens,a=t.macros.get("|"),c=t.macros.get("\\|");t.macros.beginGroup();var o=b=>p=>{l&&(p.macros.set("|",a),i.length&&p.macros.set("\\|",c));var y=b;if(!b&&i.length){var M=p.future();M.text==="|"&&(p.popToken(),y=!0)}return{tokens:y?i:n,numArgs:0}};t.macros.set("|",o(!1)),i.length&&t.macros.set("\\|",o(!0));var d=t.consumeArg().tokens,h=t.expandTokens([...s,...d,...e]);return t.macros.endGroup(),{tokens:h.reverse(),numArgs:0}};A("\\bra@ket",RR(!1));A("\\bra@set",RR(!0));A("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");A("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");A("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");A("\\angln","{\\angl n}");A("\\blue","\\textcolor{##6495ed}{#1}");A("\\orange","\\textcolor{##ffa500}{#1}");A("\\pink","\\textcolor{##ff00af}{#1}");A("\\red","\\textcolor{##df0030}{#1}");A("\\green","\\textcolor{##28ae7b}{#1}");A("\\gray","\\textcolor{gray}{#1}");A("\\purple","\\textcolor{##9d38bd}{#1}");A("\\blueA","\\textcolor{##ccfaff}{#1}");A("\\blueB","\\textcolor{##80f6ff}{#1}");A("\\blueC","\\textcolor{##63d9ea}{#1}");A("\\blueD","\\textcolor{##11accd}{#1}");A("\\blueE","\\textcolor{##0c7f99}{#1}");A("\\tealA","\\textcolor{##94fff5}{#1}");A("\\tealB","\\textcolor{##26edd5}{#1}");A("\\tealC","\\textcolor{##01d1c1}{#1}");A("\\tealD","\\textcolor{##01a995}{#1}");A("\\tealE","\\textcolor{##208170}{#1}");A("\\greenA","\\textcolor{##b6ffb0}{#1}");A("\\greenB","\\textcolor{##8af281}{#1}");A("\\greenC","\\textcolor{##74cf70}{#1}");A("\\greenD","\\textcolor{##1fab54}{#1}");A("\\greenE","\\textcolor{##0d923f}{#1}");A("\\goldA","\\textcolor{##ffd0a9}{#1}");A("\\goldB","\\textcolor{##ffbb71}{#1}");A("\\goldC","\\textcolor{##ff9c39}{#1}");A("\\goldD","\\textcolor{##e07d10}{#1}");A("\\goldE","\\textcolor{##a75a05}{#1}");A("\\redA","\\textcolor{##fca9a9}{#1}");A("\\redB","\\textcolor{##ff8482}{#1}");A("\\redC","\\textcolor{##f9685d}{#1}");A("\\redD","\\textcolor{##e84d39}{#1}");A("\\redE","\\textcolor{##bc2612}{#1}");A("\\maroonA","\\textcolor{##ffbde0}{#1}");A("\\maroonB","\\textcolor{##ff92c6}{#1}");A("\\maroonC","\\textcolor{##ed5fa6}{#1}");A("\\maroonD","\\textcolor{##ca337c}{#1}");A("\\maroonE","\\textcolor{##9e034e}{#1}");A("\\purpleA","\\textcolor{##ddd7ff}{#1}");A("\\purpleB","\\textcolor{##c6b9fc}{#1}");A("\\purpleC","\\textcolor{##aa87ff}{#1}");A("\\purpleD","\\textcolor{##7854ab}{#1}");A("\\purpleE","\\textcolor{##543b78}{#1}");A("\\mintA","\\textcolor{##f5f9e8}{#1}");A("\\mintB","\\textcolor{##edf2df}{#1}");A("\\mintC","\\textcolor{##e0e5cc}{#1}");A("\\grayA","\\textcolor{##f6f7f7}{#1}");A("\\grayB","\\textcolor{##f0f1f2}{#1}");A("\\grayC","\\textcolor{##e3e5e6}{#1}");A("\\grayD","\\textcolor{##d6d8da}{#1}");A("\\grayE","\\textcolor{##babec2}{#1}");A("\\grayF","\\textcolor{##888d93}{#1}");A("\\grayG","\\textcolor{##626569}{#1}");A("\\grayH","\\textcolor{##3b3e40}{#1}");A("\\grayI","\\textcolor{##21242c}{#1}");A("\\kaBlue","\\textcolor{##314453}{#1}");A("\\kaGreen","\\textcolor{##71B307}{#1}");var kR={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class b8{constructor(t,e,n){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=e,this.expansionCount=0,this.feed(t),this.macros=new m8(h8,e.macros),this.mode=n,this.stack=[]}feed(t){this.lexer=new V9(t,this.settings)}switchMode(t){this.mode=t}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(t){this.stack.push(t)}pushTokens(t){this.stack.push(...t)}scanArgument(t){var e,n,i;if(t){if(this.consumeSpaces(),this.future().text!=="[")return null;e=this.popToken(),{tokens:i,end:n}=this.consumeArg(["]"])}else({tokens:i,start:e,end:n}=this.consumeArg());return this.pushToken(new zc("EOF",n.loc)),this.pushTokens(i),e.range(n,"")}consumeSpaces(){for(;;){var t=this.future();if(t.text===" ")this.stack.pop();else break}}consumeArg(t){var e=[],n=t&&t.length>0;n||this.consumeSpaces();var i=this.future(),s,a=0,c=0;do{if(s=this.popToken(),e.push(s),s.text==="{")++a;else if(s.text==="}"){if(--a,a===-1)throw new Te("Extra }",s)}else if(s.text==="EOF")throw new Te("Unexpected end of input in a macro argument, expected '"+(t&&n?t[c]:"}")+"'",s);if(t&&n)if((a===0||a===1&&t[c]==="{")&&s.text===t[c]){if(++c,c===t.length){e.splice(-c,c);break}}else c=0}while(a!==0||n);return i.text==="{"&&e[e.length-1].text==="}"&&(e.pop(),e.shift()),e.reverse(),{tokens:e,start:i,end:s}}consumeArgs(t,e){if(e){if(e.length!==t+1)throw new Te("The length of delimiters doesn't match the number of args!");for(var n=e[0],i=0;i<n.length;i++){var s=this.popToken();if(n[i]!==s.text)throw new Te("Use of the macro doesn't match its definition",s)}}for(var a=[],c=0;c<t;c++)a.push(this.consumeArg(e&&e[c+1]).tokens);return a}countExpansion(t){if(this.expansionCount+=t,this.expansionCount>this.settings.maxExpand)throw new Te("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(t){var e=this.popToken(),n=e.text,i=e.noexpand?null:this._getExpansion(n);if(i==null||t&&i.unexpandable){if(t&&i==null&&n[0]==="\\"&&!this.isDefined(n))throw new Te("Undefined control sequence: "+n);return this.pushToken(e),!1}this.countExpansion(1);var s=i.tokens,a=this.consumeArgs(i.numArgs,i.delimiters);if(i.numArgs){s=s.slice();for(var c=s.length-1;c>=0;--c){var o=s[c];if(o.text==="#"){if(c===0)throw new Te("Incomplete placeholder at end of macro body",o);if(o=s[--c],o.text==="#")s.splice(c+1,1);else if(/^[1-9]$/.test(o.text))s.splice(c,2,...a[+o.text-1]);else throw new Te("Not a valid argument number",o)}}}return this.pushTokens(s),s.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var t=this.stack.pop();return t.treatAsRelax&&(t.text="\\relax"),t}throw new Error}expandMacro(t){return this.macros.has(t)?this.expandTokens([new zc(t)]):void 0}expandTokens(t){var e=[],n=this.stack.length;for(this.pushTokens(t);this.stack.length>n;)if(this.expandOnce(!0)===!1){var i=this.stack.pop();i.treatAsRelax&&(i.noexpand=!1,i.treatAsRelax=!1),e.push(i)}return this.countExpansion(e.length),e}expandMacroAsText(t){var e=this.expandMacro(t);return e&&e.map(n=>n.text).join("")}_getExpansion(t){var e=this.macros.get(t);if(e==null)return e;if(t.length===1){var n=this.lexer.catcodes[t];if(n!=null&&n!==13)return}var i=typeof e=="function"?e(this):e;if(typeof i=="string"){var s=0;if(i.indexOf("#")!==-1)for(var a=i.replace(/##/g,"");a.indexOf("#"+(s+1))!==-1;)++s;for(var c=new V9(i,this.settings),o=[],d=c.lex();d.text!=="EOF";)o.push(d),d=c.lex();o.reverse();var h={tokens:o,numArgs:s};return h}return i}isDefined(t){return this.macros.has(t)||l0.hasOwnProperty(t)||fn.math.hasOwnProperty(t)||fn.text.hasOwnProperty(t)||kR.hasOwnProperty(t)}isExpandable(t){var e=this.macros.get(t);return e!=null?typeof e=="string"||typeof e=="function"||!e.unexpandable:l0.hasOwnProperty(t)&&!l0[t].primitive}}var z9=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,y1=Object.freeze({"₊":"+","₋":"-","₌":"=","₍":"(","₎":")","₀":"0","₁":"1","₂":"2","₃":"3","₄":"4","₅":"5","₆":"6","₇":"7","₈":"8","₉":"9","ₐ":"a","ₑ":"e","ₕ":"h","ᵢ":"i","ⱼ":"j","ₖ":"k","ₗ":"l","ₘ":"m","ₙ":"n","ₒ":"o","ₚ":"p","ᵣ":"r","ₛ":"s","ₜ":"t","ᵤ":"u","ᵥ":"v","ₓ":"x","ᵦ":"β","ᵧ":"γ","ᵨ":"ρ","ᵩ":"ϕ","ᵪ":"χ","⁺":"+","⁻":"-","⁼":"=","⁽":"(","⁾":")","⁰":"0","¹":"1","²":"2","³":"3","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9","ᴬ":"A","ᴮ":"B","ᴰ":"D","ᴱ":"E","ᴳ":"G","ᴴ":"H","ᴵ":"I","ᴶ":"J","ᴷ":"K","ᴸ":"L","ᴹ":"M","ᴺ":"N","ᴼ":"O","ᴾ":"P","ᴿ":"R","ᵀ":"T","ᵁ":"U","ⱽ":"V","ᵂ":"W","ᵃ":"a","ᵇ":"b","ᶜ":"c","ᵈ":"d","ᵉ":"e","ᶠ":"f","ᵍ":"g",ʰ:"h","ⁱ":"i",ʲ:"j","ᵏ":"k",ˡ:"l","ᵐ":"m",ⁿ:"n","ᵒ":"o","ᵖ":"p",ʳ:"r",ˢ:"s","ᵗ":"t","ᵘ":"u","ᵛ":"v",ʷ:"w",ˣ:"x",ʸ:"y","ᶻ":"z","ᵝ":"β","ᵞ":"γ","ᵟ":"δ","ᵠ":"ϕ","ᵡ":"χ","ᶿ":"θ"}),hX={"́":{text:"\\'",math:"\\acute"},"̀":{text:"\\`",math:"\\grave"},"̈":{text:'\\"',math:"\\ddot"},"̃":{text:"\\~",math:"\\tilde"},"̄":{text:"\\=",math:"\\bar"},"̆":{text:"\\u",math:"\\breve"},"̌":{text:"\\v",math:"\\check"},"̂":{text:"\\^",math:"\\hat"},"̇":{text:"\\.",math:"\\dot"},"̊":{text:"\\r",math:"\\mathring"},"̋":{text:"\\H"},"̧":{text:"\\c"}},g9={á:"á",à:"à",ä:"ä",ǟ:"ǟ",ã:"ã",ā:"ā",ă:"ă",ắ:"ắ",ằ:"ằ",ẵ:"ẵ",ǎ:"ǎ",â:"â",ấ:"ấ",ầ:"ầ",ẫ:"ẫ",ȧ:"ȧ",ǡ:"ǡ",å:"å",ǻ:"ǻ",ḃ:"ḃ",ć:"ć",ḉ:"ḉ",č:"č",ĉ:"ĉ",ċ:"ċ",ç:"ç",ď:"ď",ḋ:"ḋ",ḑ:"ḑ",é:"é",è:"è",ë:"ë",ẽ:"ẽ",ē:"ē",ḗ:"ḗ",ḕ:"ḕ",ĕ:"ĕ",ḝ:"ḝ",ě:"ě",ê:"ê",ế:"ế",ề:"ề",ễ:"ễ",ė:"ė",ȩ:"ȩ",ḟ:"ḟ",ǵ:"ǵ",ḡ:"ḡ",ğ:"ğ",ǧ:"ǧ",ĝ:"ĝ",ġ:"ġ",ģ:"ģ",ḧ:"ḧ",ȟ:"ȟ",ĥ:"ĥ",ḣ:"ḣ",ḩ:"ḩ",í:"í",ì:"ì",ï:"ï",ḯ:"ḯ",ĩ:"ĩ",ī:"ī",ĭ:"ĭ",ǐ:"ǐ",î:"î",ǰ:"ǰ",ĵ:"ĵ",ḱ:"ḱ",ǩ:"ǩ",ķ:"ķ",ĺ:"ĺ",ľ:"ľ",ļ:"ļ",ḿ:"ḿ",ṁ:"ṁ",ń:"ń",ǹ:"ǹ",ñ:"ñ",ň:"ň",ṅ:"ṅ",ņ:"ņ",ó:"ó",ò:"ò",ö:"ö",ȫ:"ȫ",õ:"õ",ṍ:"ṍ",ṏ:"ṏ",ȭ:"ȭ",ō:"ō",ṓ:"ṓ",ṑ:"ṑ",ŏ:"ŏ",ǒ:"ǒ",ô:"ô",ố:"ố",ồ:"ồ",ỗ:"ỗ",ȯ:"ȯ",ȱ:"ȱ",ő:"ő",ṕ:"ṕ",ṗ:"ṗ",ŕ:"ŕ",ř:"ř",ṙ:"ṙ",ŗ:"ŗ",ś:"ś",ṥ:"ṥ",š:"š",ṧ:"ṧ",ŝ:"ŝ",ṡ:"ṡ",ş:"ş",ẗ:"ẗ",ť:"ť",ṫ:"ṫ",ţ:"ţ",ú:"ú",ù:"ù",ü:"ü",ǘ:"ǘ",ǜ:"ǜ",ǖ:"ǖ",ǚ:"ǚ",ũ:"ũ",ṹ:"ṹ",ū:"ū",ṻ:"ṻ",ŭ:"ŭ",ǔ:"ǔ",û:"û",ů:"ů",ű:"ű",ṽ:"ṽ",ẃ:"ẃ",ẁ:"ẁ",ẅ:"ẅ",ŵ:"ŵ",ẇ:"ẇ",ẘ:"ẘ",ẍ:"ẍ",ẋ:"ẋ",ý:"ý",ỳ:"ỳ",ÿ:"ÿ",ỹ:"ỹ",ȳ:"ȳ",ŷ:"ŷ",ẏ:"ẏ",ẙ:"ẙ",ź:"ź",ž:"ž",ẑ:"ẑ",ż:"ż",Á:"Á",À:"À",Ä:"Ä",Ǟ:"Ǟ",Ã:"Ã",Ā:"Ā",Ă:"Ă",Ắ:"Ắ",Ằ:"Ằ",Ẵ:"Ẵ",Ǎ:"Ǎ",Â:"Â",Ấ:"Ấ",Ầ:"Ầ",Ẫ:"Ẫ",Ȧ:"Ȧ",Ǡ:"Ǡ",Å:"Å",Ǻ:"Ǻ",Ḃ:"Ḃ",Ć:"Ć",Ḉ:"Ḉ",Č:"Č",Ĉ:"Ĉ",Ċ:"Ċ",Ç:"Ç",Ď:"Ď",Ḋ:"Ḋ",Ḑ:"Ḑ",É:"É",È:"È",Ë:"Ë",Ẽ:"Ẽ",Ē:"Ē",Ḗ:"Ḗ",Ḕ:"Ḕ",Ĕ:"Ĕ",Ḝ:"Ḝ",Ě:"Ě",Ê:"Ê",Ế:"Ế",Ề:"Ề",Ễ:"Ễ",Ė:"Ė",Ȩ:"Ȩ",Ḟ:"Ḟ",Ǵ:"Ǵ",Ḡ:"Ḡ",Ğ:"Ğ",Ǧ:"Ǧ",Ĝ:"Ĝ",Ġ:"Ġ",Ģ:"Ģ",Ḧ:"Ḧ",Ȟ:"Ȟ",Ĥ:"Ĥ",Ḣ:"Ḣ",Ḩ:"Ḩ",Í:"Í",Ì:"Ì",Ï:"Ï",Ḯ:"Ḯ",Ĩ:"Ĩ",Ī:"Ī",Ĭ:"Ĭ",Ǐ:"Ǐ",Î:"Î",İ:"İ",Ĵ:"Ĵ",Ḱ:"Ḱ",Ǩ:"Ǩ",Ķ:"Ķ",Ĺ:"Ĺ",Ľ:"Ľ",Ļ:"Ļ",Ḿ:"Ḿ",Ṁ:"Ṁ",Ń:"Ń",Ǹ:"Ǹ",Ñ:"Ñ",Ň:"Ň",Ṅ:"Ṅ",Ņ:"Ņ",Ó:"Ó",Ò:"Ò",Ö:"Ö",Ȫ:"Ȫ",Õ:"Õ",Ṍ:"Ṍ",Ṏ:"Ṏ",Ȭ:"Ȭ",Ō:"Ō",Ṓ:"Ṓ",Ṑ:"Ṑ",Ŏ:"Ŏ",Ǒ:"Ǒ",Ô:"Ô",Ố:"Ố",Ồ:"Ồ",Ỗ:"Ỗ",Ȯ:"Ȯ",Ȱ:"Ȱ",Ő:"Ő",Ṕ:"Ṕ",Ṗ:"Ṗ",Ŕ:"Ŕ",Ř:"Ř",Ṙ:"Ṙ",Ŗ:"Ŗ",Ś:"Ś",Ṥ:"Ṥ",Š:"Š",Ṧ:"Ṧ",Ŝ:"Ŝ",Ṡ:"Ṡ",Ş:"Ş",Ť:"Ť",Ṫ:"Ṫ",Ţ:"Ţ",Ú:"Ú",Ù:"Ù",Ü:"Ü",Ǘ:"Ǘ",Ǜ:"Ǜ",Ǖ:"Ǖ",Ǚ:"Ǚ",Ũ:"Ũ",Ṹ:"Ṹ",Ū:"Ū",Ṻ:"Ṻ",Ŭ:"Ŭ",Ǔ:"Ǔ",Û:"Û",Ů:"Ů",Ű:"Ű",Ṽ:"Ṽ",Ẃ:"Ẃ",Ẁ:"Ẁ",Ẅ:"Ẅ",Ŵ:"Ŵ",Ẇ:"Ẇ",Ẍ:"Ẍ",Ẋ:"Ẋ",Ý:"Ý",Ỳ:"Ỳ",Ÿ:"Ÿ",Ỹ:"Ỹ",Ȳ:"Ȳ",Ŷ:"Ŷ",Ẏ:"Ẏ",Ź:"Ź",Ž:"Ž",Ẑ:"Ẑ",Ż:"Ż",ά:"ά",ὰ:"ὰ",ᾱ:"ᾱ",ᾰ:"ᾰ",έ:"έ",ὲ:"ὲ",ή:"ή",ὴ:"ὴ",ί:"ί",ὶ:"ὶ",ϊ:"ϊ",ΐ:"ΐ",ῒ:"ῒ",ῑ:"ῑ",ῐ:"ῐ",ό:"ό",ὸ:"ὸ",ύ:"ύ",ὺ:"ὺ",ϋ:"ϋ",ΰ:"ΰ",ῢ:"ῢ",ῡ:"ῡ",ῠ:"ῠ",ώ:"ώ",ὼ:"ὼ",Ύ:"Ύ",Ὺ:"Ὺ",Ϋ:"Ϋ",Ῡ:"Ῡ",Ῠ:"Ῠ",Ώ:"Ώ",Ὼ:"Ὼ"};class jG{constructor(t,e){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new b8(t,e,this.mode),this.settings=e,this.leftrightDepth=0}expect(t,e){if(e===void 0&&(e=!0),this.fetch().text!==t)throw new Te("Expected '"+t+"', got '"+this.fetch().text+"'",this.fetch());e&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(t){this.mode=t,this.gullet.switchMode(t)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var t=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),t}finally{this.gullet.endGroups()}}subparse(t){var e=this.nextToken;this.consume(),this.gullet.pushToken(new zc("}")),this.gullet.pushTokens(t);var n=this.parseExpression(!1);return this.expect("}"),this.nextToken=e,n}parseExpression(t,e){for(var n=[];;){this.mode==="math"&&this.consumeSpaces();var i=this.fetch();if(jG.endOfExpression.indexOf(i.text)!==-1||e&&i.text===e||t&&l0[i.text]&&l0[i.text].infix)break;var s=this.parseAtom(e);if(s){if(s.type==="internal")continue}else break;n.push(s)}return this.mode==="text"&&this.formLigatures(n),this.handleInfixNodes(n)}handleInfixNodes(t){for(var e=-1,n,i=0;i<t.length;i++)if(t[i].type==="infix"){if(e!==-1)throw new Te("only one infix operator per group",t[i].token);e=i,n=t[i].replaceWith}if(e!==-1&&n){var s,a,c=t.slice(0,e),o=t.slice(e+1);c.length===1&&c[0].type==="ordgroup"?s=c[0]:s={type:"ordgroup",mode:this.mode,body:c},o.length===1&&o[0].type==="ordgroup"?a=o[0]:a={type:"ordgroup",mode:this.mode,body:o};var d;return n==="\\\\abovefrac"?d=this.callFunction(n,[s,t[e],a],[]):d=this.callFunction(n,[s,a],[]),[d]}else return t}handleSupSubscript(t){var e=this.fetch(),n=e.text;this.consume(),this.consumeSpaces();var i=this.parseGroup(t);if(!i)throw new Te("Expected group after '"+n+"'",e);return i}formatUnsupportedCmd(t){for(var e=[],n=0;n<t.length;n++)e.push({type:"textord",mode:"text",text:t[n]});var i={type:"text",mode:this.mode,body:e},s={type:"color",mode:this.mode,color:this.settings.errorColor,body:[i]};return s}parseAtom(t){var e=this.parseGroup("atom",t);if(this.mode==="text")return e;for(var n,i;;){this.consumeSpaces();var s=this.fetch();if(s.text==="\\limits"||s.text==="\\nolimits"){if(e&&e.type==="op"){var a=s.text==="\\limits";e.limits=a,e.alwaysHandleSupSub=!0}else if(e&&e.type==="operatorname")e.alwaysHandleSupSub&&(e.limits=s.text==="\\limits");else throw new Te("Limit controls must follow a math operator",s);this.consume()}else if(s.text==="^"){if(n)throw new Te("Double superscript",s);n=this.handleSupSubscript("superscript")}else if(s.text==="_"){if(i)throw new Te("Double subscript",s);i=this.handleSupSubscript("subscript")}else if(s.text==="'"){if(n)throw new Te("Double superscript",s);var c={type:"textord",mode:this.mode,text:"\\prime"},o=[c];for(this.consume();this.fetch().text==="'";)o.push(c),this.consume();this.fetch().text==="^"&&o.push(this.handleSupSubscript("superscript")),n={type:"ordgroup",mode:this.mode,body:o}}else if(y1[s.text]){var d=z9.test(s.text),h=[];for(h.push(new zc(y1[s.text])),this.consume();;){var b=this.fetch().text;if(!y1[b]||z9.test(b)!==d)break;h.unshift(new zc(y1[b])),this.consume()}var p=this.subparse(h);d?i={type:"ordgroup",mode:"math",body:p}:n={type:"ordgroup",mode:"math",body:p}}else break}return n||i?{type:"supsub",mode:this.mode,base:e,sup:n,sub:i}:e}parseFunction(t,e){var n=this.fetch(),i=n.text,s=l0[i];if(!s)return null;if(this.consume(),e&&e!=="atom"&&!s.allowedInArgument)throw new Te("Got function '"+i+"' with no arguments"+(e?" as "+e:""),n);if(this.mode==="text"&&!s.allowedInText)throw new Te("Can't use function '"+i+"' in text mode",n);if(this.mode==="math"&&s.allowedInMath===!1)throw new Te("Can't use function '"+i+"' in math mode",n);var{args:a,optArgs:c}=this.parseArguments(i,s);return this.callFunction(i,a,c,n,t)}callFunction(t,e,n,i,s){var a={funcName:t,parser:this,token:i,breakOnTokenText:s},c=l0[t];if(c&&c.handler)return c.handler(a,e,n);throw new Te("No function handler for "+t)}parseArguments(t,e){var n=e.numArgs+e.numOptionalArgs;if(n===0)return{args:[],optArgs:[]};for(var i=[],s=[],a=0;a<n;a++){var c=e.argTypes&&e.argTypes[a],o=a<e.numOptionalArgs;(e.primitive&&c==null||e.type==="sqrt"&&a===1&&s[0]==null)&&(c="primitive");var d=this.parseGroupOfType("argument to '"+t+"'",c,o);if(o)s.push(d);else if(d!=null)i.push(d);else throw new Te("Null argument, please report this as a bug")}return{args:i,optArgs:s}}parseGroupOfType(t,e,n){switch(e){case"color":return this.parseColorGroup(n);case"size":return this.parseSizeGroup(n);case"url":return this.parseUrlGroup(n);case"math":case"text":return this.parseArgumentGroup(n,e);case"hbox":{var i=this.parseArgumentGroup(n,"text");return i!=null?{type:"styling",mode:i.mode,body:[i],style:"text"}:null}case"raw":{var s=this.parseStringGroup("raw",n);return s!=null?{type:"raw",mode:"text",string:s.text}:null}case"primitive":{if(n)throw new Te("A primitive argument cannot be optional");var a=this.parseGroup(t);if(a==null)throw new Te("Expected group as "+t,this.fetch());return a}case"original":case null:case void 0:return this.parseArgumentGroup(n);default:throw new Te("Unknown group type as "+t,this.fetch())}}consumeSpaces(){for(;this.fetch().text===" ";)this.consume()}parseStringGroup(t,e){var n=this.gullet.scanArgument(e);if(n==null)return null;for(var i="",s;(s=this.fetch()).text!=="EOF";)i+=s.text,this.consume();return this.consume(),n.text=i,n}parseRegexGroup(t,e){for(var n=this.fetch(),i=n,s="",a;(a=this.fetch()).text!=="EOF"&&t.test(s+a.text);)i=a,s+=i.text,this.consume();if(s==="")throw new Te("Invalid "+e+": '"+n.text+"'",n);return n.range(i,s)}parseColorGroup(t){var e=this.parseStringGroup("color",t);if(e==null)return null;var n=/^(#[a-f0-9]{3}|#?[a-f0-9]{6}|[a-z]+)$/i.exec(e.text);if(!n)throw new Te("Invalid color: '"+e.text+"'",e);var i=n[0];return/^[0-9a-f]{6}$/i.test(i)&&(i="#"+i),{type:"color-token",mode:this.mode,color:i}}parseSizeGroup(t){var e,n=!1;if(this.gullet.consumeSpaces(),!t&&this.gullet.future().text!=="{"?e=this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/,"size"):e=this.parseStringGroup("size",t),!e)return null;!t&&e.text.length===0&&(e.text="0pt",n=!0);var i=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e.text);if(!i)throw new Te("Invalid size: '"+e.text+"'",e);var s={number:+(i[1]+i[2]),unit:i[3]};if(!PS(s))throw new Te("Invalid unit: '"+s.unit+"'",e);return{type:"size",mode:this.mode,value:s,isBlank:n}}parseUrlGroup(t){this.gullet.lexer.setCatcode("%",13),this.gullet.lexer.setCatcode("~",12);var e=this.parseStringGroup("url",t);if(this.gullet.lexer.setCatcode("%",14),this.gullet.lexer.setCatcode("~",13),e==null)return null;var n=e.text.replace(/\\([#$%&~_^{}])/g,"$1");return{type:"url",mode:this.mode,url:n}}parseArgumentGroup(t,e){var n=this.gullet.scanArgument(t);if(n==null)return null;var i=this.mode;e&&this.switchMode(e),this.gullet.beginGroup();var s=this.parseExpression(!1,"EOF");this.expect("EOF"),this.gullet.endGroup();var a={type:"ordgroup",mode:this.mode,loc:n.loc,body:s};return e&&this.switchMode(i),a}parseGroup(t,e){var n=this.fetch(),i=n.text,s;if(i==="{"||i==="\\begingroup"){this.consume();var a=i==="{"?"}":"\\endgroup";this.gullet.beginGroup();var c=this.parseExpression(!1,a),o=this.fetch();this.expect(a),this.gullet.endGroup(),s={type:"ordgroup",mode:this.mode,loc:Ha.range(n,o),body:c,semisimple:i==="\\begingroup"||void 0}}else if(s=this.parseFunction(e,t)||this.parseSymbol(),s==null&&i[0]==="\\"&&!kR.hasOwnProperty(i)){if(this.settings.throwOnError)throw new Te("Undefined control sequence: "+i,n);s=this.formatUnsupportedCmd(i),this.consume()}return s}formLigatures(t){for(var e=t.length-1,n=0;n<e;++n){var i=t[n],s=i.text;s==="-"&&t[n+1].text==="-"&&(n+1<e&&t[n+2].text==="-"?(t.splice(n,3,{type:"textord",mode:"text",loc:Ha.range(i,t[n+2]),text:"---"}),e-=2):(t.splice(n,2,{type:"textord",mode:"text",loc:Ha.range(i,t[n+1]),text:"--"}),e-=1)),(s==="'"||s==="`")&&t[n+1].text===s&&(t.splice(n,2,{type:"textord",mode:"text",loc:Ha.range(i,t[n+1]),text:s+s}),e-=1)}}parseSymbol(){var t=this.fetch(),e=t.text;if(/^\\verb[^a-zA-Z]/.test(e)){this.consume();var n=e.slice(5),i=n.charAt(0)==="*";if(i&&(n=n.slice(1)),n.length<2||n.charAt(0)!==n.slice(-1))throw new Te(`\\verb assertion failed --
|
||
please report what input caused this bug`);return n=n.slice(1,-1),{type:"verb",mode:"text",body:n,star:i}}g9.hasOwnProperty(e[0])&&!fn[this.mode][e[0]]&&(this.settings.strict&&this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Accented Unicode text character "'+e[0]+'" used in math mode',t),e=g9[e[0]]+e.slice(1));var s=d8.exec(e);s&&(e=e.substring(0,s.index),e==="i"?e="ı":e==="j"&&(e="ȷ"));var a;if(fn[this.mode][e]){this.settings.strict&&this.mode==="math"&&bY.indexOf(e)>=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+e[0]+'" used in math mode',t);var c=fn[this.mode][e].group,o=Ha.range(t),d;if(e6.hasOwnProperty(c)){var h=c;d={type:"atom",mode:this.mode,family:h,loc:o,text:e}}else d={type:c,mode:this.mode,loc:o,text:e};a=d}else if(e.charCodeAt(0)>=128)this.settings.strict&&(KS(e.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+e[0]+'" used in math mode',t):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+e[0]+'"'+(" ("+e.charCodeAt(0)+")"),t)),a={type:"textord",mode:"text",loc:Ha.range(t),text:e};else return null;if(this.consume(),s)for(var b=0;b<s[0].length;b++){var p=s[0][b];if(!hX[p])throw new Te("Unknown accent ' "+p+"'",t);var y=hX[p][this.mode]||hX[p].text;if(!y)throw new Te("Accent "+p+" unsupported in "+this.mode+" mode",t);a={type:"accent",mode:this.mode,loc:Ha.range(t),label:y,isStretchy:!1,isShifty:!0,base:a}}return a}}jG.endOfExpression=["}","\\endgroup","\\end","\\right","&"];var Z8=function(t,e){if(!(typeof t=="string"||t instanceof String))throw new TypeError("KaTeX can only parse string typed expression");var n=new jG(t,e);delete n.gullet.macros.current["\\df@tag"];var i=n.parse();if(delete n.gullet.macros.current["\\current@color"],delete n.gullet.macros.current["\\color"],n.gullet.macros.get("\\df@tag")){if(!e.displayMode)throw new Te("\\tag works only in display equations");i=[{type:"tag",mode:"text",body:i,tag:n.subparse([new zc("\\df@tag")])}]}return i};typeof document<"u"&&document.compatMode!=="CSS1Compat"&&typeof console<"u"&&console.warn("Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype.");var p8=function(t,e){var n=W8(t,e).toMarkup();return n},y8=function(t,e,n){if(n.throwOnError||!(t instanceof Te))throw t;var i=Dt.makeSpan(["katex-error"],[new or(e)]);return i.setAttribute("title",t.toString()),i.setAttribute("style","color:"+n.errorColor),i},W8=function(t,e){var n=new gA(e);try{var i=Z8(t,n);return V6(i,t,n)}catch(s){return y8(s,t,n)}},x9={renderToString:p8};const N8={},M8=[];function G8(l){const t=l||N8;return function(e,n){GV(e,"element",function(i,s){const a=Array.isArray(i.properties.className)?i.properties.className:M8,c=a.includes("language-math"),o=a.includes("math-display"),d=a.includes("math-inline");let h=o;if(!c&&!o&&!d)return;let b=s[s.length-1],p=i;if(i.tagName==="code"&&c&&b&&b.type==="element"&&b.tagName==="pre"&&(p=b,b=s[s.length-2],h=!0),!b)return;const y=MS(p,{whitespace:"pre"});let M;try{M=x9.renderToString(y,{...t,displayMode:h,throwOnError:!0})}catch(Y){const L=Y,x=L.name.toLowerCase();n.message("Could not render math with KaTeX",{ancestors:[...s,i],cause:L,place:i.position,ruleId:x,source:"rehype-katex"});try{M=x9.renderToString(y,{...t,displayMode:h,strict:"ignore",throwOnError:!1})}catch{M=[{type:"element",tagName:"span",properties:{className:["katex-error"],style:"color:"+(t.errorColor||"#cc0000"),title:String(Y)},children:[{type:"text",value:y}]}]}}typeof M=="string"&&(M=yA(M).children);const T=b.children.indexOf(p);return b.children.splice(T,1,...M),Hf})}}function T8(){return{enter:{mathFlow:l,mathFlowFenceMeta:t,mathText:s},exit:{mathFlow:i,mathFlowFence:n,mathFlowFenceMeta:e,mathFlowValue:c,mathText:a,mathTextData:c}};function l(o){const d={type:"element",tagName:"code",properties:{className:["language-math","math-display"]},children:[]};this.enter({type:"math",meta:null,value:"",data:{hName:"pre",hChildren:[d]}},o)}function t(){this.buffer()}function e(){const o=this.resume(),d=this.stack[this.stack.length-1];d.type,d.meta=o}function n(){this.data.mathFlowInside||(this.buffer(),this.data.mathFlowInside=!0)}function i(o){const d=this.resume().replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),h=this.stack[this.stack.length-1];h.type,this.exit(o),h.value=d;const b=h.data.hChildren[0];b.type,b.tagName,b.children.push({type:"text",value:d}),this.data.mathFlowInside=void 0}function s(o){this.enter({type:"inlineMath",value:"",data:{hName:"code",hProperties:{className:["language-math","math-inline"]},hChildren:[]}},o),this.buffer()}function a(o){const d=this.resume(),h=this.stack[this.stack.length-1];h.type,this.exit(o),h.value=d,h.data.hChildren.push({type:"text",value:d})}function c(o){this.config.enter.data.call(this,o),this.config.exit.data.call(this,o)}}function X8(l){let t=(l||{}).singleDollarTextMath;return t==null&&(t=!0),n.peek=i,{unsafe:[{character:"\r",inConstruct:"mathFlowMeta"},{character:`
|
||
`,inConstruct:"mathFlowMeta"},{character:"$",after:t?void 0:"\\$",inConstruct:"phrasing"},{character:"$",inConstruct:"mathFlowMeta"},{atBreak:!0,character:"$",after:"\\$"}],handlers:{math:e,inlineMath:n}};function e(s,a,c,o){const d=s.value||"",h=c.createTracker(o),b="$".repeat(Math.max($f(d,"$")+1,2)),p=c.enter("mathFlow");let y=h.move(b);if(s.meta){const M=c.enter("mathFlowMeta");y+=h.move(c.safe(s.meta,{after:`
|
||
`,before:y,encode:["$"],...h.current()})),M()}return y+=h.move(`
|
||
`),d&&(y+=h.move(d+`
|
||
`)),y+=h.move(b),p(),y}function n(s,a,c){let o=s.value||"",d=1;for(t||d++;new RegExp("(^|[^$])"+"\\$".repeat(d)+"([^$]|$)").test(o);)d++;const h="$".repeat(d);/[^ \r\n]/.test(o)&&(/^[ \r\n]/.test(o)&&/[ \r\n]$/.test(o)||/^\$|\$$/.test(o))&&(o=" "+o+" ");let b=-1;for(;++b<c.unsafe.length;){const p=c.unsafe[b];if(!p.atBreak)continue;const y=c.compilePattern(p);let M;for(;M=y.exec(o);){let T=M.index;o.codePointAt(T)===10&&o.codePointAt(T-1)===13&&T--,o=o.slice(0,T)+" "+o.slice(M.index+1)}}return h+o+h}function i(){return"$"}}const Y8={tokenize:L8,concrete:!0,name:"mathFlow"},f9={tokenize:V8,partial:!0};function L8(l,t,e){const n=this,i=n.events[n.events.length-1],s=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[1],!0).length:0;let a=0;return c;function c(x){return l.enter("mathFlow"),l.enter("mathFlowFence"),l.enter("mathFlowFenceSequence"),o(x)}function o(x){return x===36?(l.consume(x),a++,o):a<2?e(x):(l.exit("mathFlowFenceSequence"),Ul(l,d,"whitespace")(x))}function d(x){return x===null||il(x)?b(x):(l.enter("mathFlowFenceMeta"),l.enter("chunkString",{contentType:"string"}),h(x))}function h(x){return x===null||il(x)?(l.exit("chunkString"),l.exit("mathFlowFenceMeta"),b(x)):x===36?e(x):(l.consume(x),h)}function b(x){return l.exit("mathFlowFence"),n.interrupt?t(x):l.attempt(f9,p,Y)(x)}function p(x){return l.attempt({tokenize:L,partial:!0},Y,y)(x)}function y(x){return(s?Ul(l,M,"linePrefix",s+1):M)(x)}function M(x){return x===null?Y(x):il(x)?l.attempt(f9,p,Y)(x):(l.enter("mathFlowValue"),T(x))}function T(x){return x===null||il(x)?(l.exit("mathFlowValue"),M(x)):(l.consume(x),T)}function Y(x){return l.exit("mathFlow"),t(x)}function L(x,g,F){let j=0;return Ul(x,D,"linePrefix",n.parser.constructs.disable.null.includes("codeIndented")?void 0:4);function D(K){return x.enter("mathFlowFence"),x.enter("mathFlowFenceSequence"),_(K)}function _(K){return K===36?(j++,x.consume(K),_):j<a?F(K):(x.exit("mathFlowFenceSequence"),Ul(x,ut,"whitespace")(K))}function ut(K){return K===null||il(K)?(x.exit("mathFlowFence"),g(K)):F(K)}}}function V8(l,t,e){const n=this;return i;function i(a){return a===null?t(a):(l.enter("lineEnding"),l.consume(a),l.exit("lineEnding"),s)}function s(a){return n.parser.lazy[n.now().line]?e(a):t(a)}}function I8(l){let e=(l||{}).singleDollarTextMath;return e==null&&(e=!0),{tokenize:n,resolve:w8,previous:z8,name:"mathText"};function n(i,s,a){let c=0,o,d;return h;function h(T){return i.enter("mathText"),i.enter("mathTextSequence"),b(T)}function b(T){return T===36?(i.consume(T),c++,b):c<2&&!e?a(T):(i.exit("mathTextSequence"),p(T))}function p(T){return T===null?a(T):T===36?(d=i.enter("mathTextSequence"),o=0,M(T)):T===32?(i.enter("space"),i.consume(T),i.exit("space"),p):il(T)?(i.enter("lineEnding"),i.consume(T),i.exit("lineEnding"),p):(i.enter("mathTextData"),y(T))}function y(T){return T===null||T===32||T===36||il(T)?(i.exit("mathTextData"),p(T)):(i.consume(T),y)}function M(T){return T===36?(i.consume(T),o++,M):o===c?(i.exit("mathTextSequence"),i.exit("mathText"),s(T)):(d.type="mathTextData",y(T))}}}function w8(l){let t=l.length-4,e=3,n,i;if((l[e][1].type==="lineEnding"||l[e][1].type==="space")&&(l[t][1].type==="lineEnding"||l[t][1].type==="space")){for(n=e;++n<t;)if(l[n][1].type==="mathTextData"){l[t][1].type="mathTextPadding",l[e][1].type="mathTextPadding",e+=2,t-=2;break}}for(n=e-1,t++;++n<=t;)i===void 0?n!==t&&l[n][1].type!=="lineEnding"&&(i=n):(n===t||l[n][1].type==="lineEnding")&&(l[i][1].type="mathTextData",n!==i+2&&(l[i][1].end=l[n-1][1].end,l.splice(i+2,n-i-2),t-=n-i-2,n=i+2),i=void 0);return l}function z8(l){return l!==36||this.events[this.events.length-1][1].type==="characterEscape"}function g8(l){return{flow:{36:Y8},text:{36:I8(l)}}}const x8={};function f8(l){const t=this,e=l||x8,n=t.data(),i=n.micromarkExtensions||(n.micromarkExtensions=[]),s=n.fromMarkdownExtensions||(n.fromMarkdownExtensions=[]),a=n.toMarkdownExtensions||(n.toMarkdownExtensions=[]);i.push(g8(e)),s.push(T8()),a.push(X8(e))}function S8(l){Bf(l,[/\r?\n|\r/g,R8])}function R8(){return{type:"break"}}function k8(){return function(l){S8(l)}}var CG=(l=>(l[l.PY_INTERPRETER=0]="PY_INTERPRETER",l))(CG||{});function S9({content:l,isGenerating:t}){const e=B.useMemo(()=>C8(l),[l]);return U.jsx(sP,{remarkPlugins:[bQ,f8,k8],rehypePlugins:[eA,G8,j8],components:{button:n=>U.jsx(D8,{...n,isGenerating:t,origContent:e})},children:e})}const D8=({node:l,origContent:t,isGenerating:e})=>{var d,h;const{config:n}=xc(),i=((d=l==null?void 0:l.position)==null?void 0:d.start.offset)??0,s=((h=l==null?void 0:l.position)==null?void 0:h.end.offset)??0,a=B.useMemo(()=>t.substring(i,s).replace(/^```[^\n]+\n/g,"").replace(/```$/g,""),[t,i,s]),c=B.useMemo(()=>{var b;return((b=t.substring(i,i+10).match(/^```([^\n]+)\n/))==null?void 0:b[1])??""},[t,i]),o=!e&&n.pyIntepreterEnabled&&c.startsWith("py");return U.jsxs("div",{className:es({"text-right sticky top-[7em] mb-2 mr-2 h-0":!0,"display-none":!(l!=null&&l.position)}),children:[U.jsx(DR,{className:"badge btn-mini",content:a}),o&&U.jsx(O8,{className:"badge btn-mini ml-2",content:a})]})},DR=({content:l,className:t})=>{const[e,n]=B.useState(!1);return U.jsxs("button",{className:t,onClick:()=>{UC(l),n(!0)},onMouseLeave:()=>n(!1),children:[U.jsx(XJ,{className:"h-4 w-4"}),e?"Copied!":"Copy"]})},O8=({content:l,className:t})=>{const{setCanvasData:e}=xc();return U.jsx(U.Fragment,{children:U.jsxs("button",{className:t,onClick:()=>e({type:CG.PY_INTERPRETER,content:l}),children:[U.jsx(r3,{className:"h-4 w-4"}),"Run"]})})};function j8(){return function(l){fW(l,"element",function(t){if(t.tagName==="pre"&&!t.properties.visited){const e={...t};e.properties.visited="true",t.tagName="div",t.properties={};const n={type:"element",tagName:"button",properties:{},children:[],position:t.position};t.children=[n,e]}})}}function C8(l){const t=[];l=l.replace(/(```[\s\S]*?```|`[^`\n]+`)/g,(n,i)=>(t.push(i),`<<CODE_BLOCK_${t.length-1}>>`));const e=[];return l=l.replace(/(\$\$[\s\S]*?\$\$|\\\[[\s\S]*?\\\]|\\\(.*?\\\))/g,n=>(e.push(n),`<<LATEX_${e.length-1}>>`)),l=l.replace(/\$([^$]+)\$/g,(n,i)=>/^\s*\d+(?:\.\d+)?\s*$/.test(i)?n:(e.push(n),`<<LATEX_${e.length-1}>>`)),l=l.replace(/\$(?=\d)/g,"\\$"),l=l.replace(/<<LATEX_(\d+)>>/g,(n,i)=>e[parseInt(i)]),l=l.replace(/<<CODE_BLOCK_(\d+)>>/g,(n,i)=>t[parseInt(i)]),l=F8(l),l=J8(l),l}function F8(l){const t=/(```[\S\s]*?```|`.*?`)|\\\[([\S\s]*?[^\\])\\]|\\\((.*?)\\\)/g;return l.replace(t,(e,n,i,s)=>n??(i!=null?`$$${i}$$`:s!=null?`$${s}$`:e))}function J8(l){return l.replaceAll("$\\ce{","$\\\\ce{").replaceAll("$\\pu{","$\\\\pu{")}function OR({items:l,removeItem:t,clickToShow:e}){const[n,i]=B.useState(-1),s=n>=0?l==null?void 0:l[n]:void 0;return l?U.jsxs("div",{className:"flex flex-row gap-4 overflow-x-auto py-2 px-1 mb-1",role:"group","aria-description":"Selected files",children:[l.map((a,c)=>U.jsxs("div",{className:"indicator",onClick:()=>e&&i(c),tabIndex:0,"aria-description":e?`Click to show: ${a.name}`:void 0,role:e?"button":"menuitem",children:[t&&U.jsx("div",{className:"indicator-item indicator-top",children:U.jsx("button",{"aria-label":"Remove file",className:"btn btn-neutral btn-sm w-4 h-4 p-0 rounded-full",onClick:()=>t(c),children:U.jsx(vX,{className:"h-3 w-3"})})}),U.jsx("div",{className:es({"flex flex-row rounded-md shadow-sm items-center m-0 p-0":!0,"cursor-pointer hover:shadow-md":!!e}),children:a.type==="imageFile"?U.jsx(U.Fragment,{children:U.jsx("img",{src:a.base64Url,alt:`Preview image for ${a.name}`,className:"w-14 h-14 object-cover rounded-md"})}):U.jsxs(U.Fragment,{children:[U.jsx("div",{className:"w-14 h-14 flex items-center justify-center","aria-description":"Document icon",children:a.type==="audioFile"?U.jsx(jJ,{className:"h-8 w-8 text-gray-500"}):U.jsx(LJ,{className:"h-8 w-8 text-gray-500"})}),U.jsx("div",{className:"text-xs pr-4",children:U.jsx("b",{children:a.name??"Extra content"})})]})})]},c)),s&&U.jsxs("dialog",{className:"modal modal-open","aria-description":`Preview ${s.name}`,children:[U.jsxs("div",{className:"modal-box",children:[U.jsxs("div",{className:"flex justify-between items-center mb-4",children:[U.jsx("b",{children:s.name??"Extra content"}),U.jsx("button",{className:"btn btn-ghost btn-sm","aria-label":"Close preview dialog",children:U.jsx(vX,{className:"h-5 w-5",onClick:()=>i(-1)})})]}),s.type==="imageFile"?U.jsx("img",{src:s.base64Url,alt:`Preview image for ${s.name}`}):s.type==="audioFile"?U.jsxs("audio",{controls:!0,className:"w-full","aria-description":`Audio file ${s.name}`,children:[U.jsx("source",{src:`data:${s.mimeType};base64,${s.base64Data}`,type:s.mimeType,"aria-description":`Audio file ${s.name}`}),"Your browser does not support the audio element."]}):U.jsx("div",{className:"overflow-x-auto",children:U.jsx("pre",{className:"whitespace-pre-wrap break-words text-sm",children:s.content})})]}),U.jsx("div",{className:"modal-backdrop",onClick:()=>i(-1)})]})]}):null}function NY(){return NY=Object.assign?Object.assign.bind():function(l){for(var t=1;t<arguments.length;t++){var e=arguments[t];for(var n in e)({}).hasOwnProperty.call(e,n)&&(l[n]=e[n])}return l},NY.apply(null,arguments)}function v8(l,t){if(l==null)return{};var e={};for(var n in l)if({}.hasOwnProperty.call(l,n)){if(t.indexOf(n)!==-1)continue;e[n]=l[n]}return e}var U8=B.useLayoutEffect,E8=function(t){var e=I2.useRef(t);return U8(function(){e.current=t}),e},R9=function(t,e){if(typeof t=="function"){t(e);return}t.current=e},K8=function(t,e){var n=I2.useRef();return I2.useCallback(function(i){t.current=i,n.current&&R9(n.current,null),n.current=e,e&&R9(e,i)},[e])},k9={"min-height":"0","max-height":"none",height:"0",visibility:"hidden",overflow:"hidden",position:"absolute","z-index":"-1000",top:"0",right:"0",display:"block"},P8=function(t){Object.keys(k9).forEach(function(e){t.style.setProperty(e,k9[e],"important")})},D9=P8,Os=null,O9=function(t,e){var n=t.scrollHeight;return e.sizingStyle.boxSizing==="border-box"?n+e.borderSize:n-e.paddingSize};function H8(l,t,e,n){e===void 0&&(e=1),n===void 0&&(n=1/0),Os||(Os=document.createElement("textarea"),Os.setAttribute("tabindex","-1"),Os.setAttribute("aria-hidden","true"),D9(Os)),Os.parentNode===null&&document.body.appendChild(Os);var i=l.paddingSize,s=l.borderSize,a=l.sizingStyle,c=a.boxSizing;Object.keys(a).forEach(function(p){var y=p;Os.style[y]=a[y]}),D9(Os),Os.value=t;var o=O9(Os,l);Os.value=t,o=O9(Os,l),Os.value="x";var d=Os.scrollHeight-i,h=d*e;c==="border-box"&&(h=h+i+s),o=Math.max(h,o);var b=d*n;return c==="border-box"&&(b=b+i+s),o=Math.min(b,o),[o,d]}var j9=function(){},Q8=function(t,e){return t.reduce(function(n,i){return n[i]=e[i],n},{})},B8=["borderBottomWidth","borderLeftWidth","borderRightWidth","borderTopWidth","boxSizing","fontFamily","fontSize","fontStyle","fontWeight","letterSpacing","lineHeight","paddingBottom","paddingLeft","paddingRight","paddingTop","tabSize","textIndent","textRendering","textTransform","width","wordBreak","wordSpacing","scrollbarGutter"],A8=!!document.documentElement.currentStyle,_8=function(t){var e=window.getComputedStyle(t);if(e===null)return null;var n=Q8(B8,e),i=n.boxSizing;if(i==="")return null;A8&&i==="border-box"&&(n.width=parseFloat(n.width)+parseFloat(n.borderRightWidth)+parseFloat(n.borderLeftWidth)+parseFloat(n.paddingRight)+parseFloat(n.paddingLeft)+"px");var s=parseFloat(n.paddingBottom)+parseFloat(n.paddingTop),a=parseFloat(n.borderBottomWidth)+parseFloat(n.borderTopWidth);return{sizingStyle:n,paddingSize:s,borderSize:a}},q8=_8;function EV(l,t,e){var n=E8(e);B.useLayoutEffect(function(){var i=function(a){return n.current(a)};if(l)return l.addEventListener(t,i),function(){return l.removeEventListener(t,i)}},[])}var $8=function(t,e){EV(document.body,"reset",function(n){t.current.form===n.target&&e(n)})},t_=function(t){EV(window,"resize",t)},e_=function(t){EV(document.fonts,"loadingdone",t)},l_=["cacheMeasurements","maxRows","minRows","onChange","onHeightChange"],n_=function(t,e){var n=t.cacheMeasurements,i=t.maxRows,s=t.minRows,a=t.onChange,c=a===void 0?j9:a,o=t.onHeightChange,d=o===void 0?j9:o,h=v8(t,l_),b=h.value!==void 0,p=B.useRef(null),y=K8(p,e),M=B.useRef(0),T=B.useRef(),Y=function(){var g=p.current,F=n&&T.current?T.current:q8(g);if(F){T.current=F;var j=H8(F,g.value||g.placeholder||"x",s,i),D=j[0],_=j[1];M.current!==D&&(M.current=D,g.style.setProperty("height",D+"px","important"),d(D,{rowHeight:_}))}},L=function(g){b||Y(),c(g)};return B.useLayoutEffect(Y),$8(p,function(){if(!b){var x=p.current.value;requestAnimationFrame(function(){var g=p.current;g&&x!==g.value&&Y()})}}),t_(Y),e_(Y),B.createElement("textarea",NY({},h,{onChange:L,ref:y}))},i_=B.forwardRef(n_);function s_({msg:l,siblingLeafNodeIds:t,siblingCurrIdx:e,id:n,onRegenerateMessage:i,onEditMessage:s,onChangeSibling:a,isPending:c,onContinueMessage:o}){const{viewingChat:d,config:h}=xc(),[b,p]=B.useState(null),y=B.useRef(null);B.useEffect(()=>{var j;l.content===null&&((j=y.current)==null||j.scrollIntoView({behavior:"smooth"}))},[l.content]);const M=B.useMemo(()=>l.timings?{...l.timings,prompt_per_second:l.timings.prompt_n/l.timings.prompt_ms*1e3,predicted_per_second:l.timings.predicted_n/l.timings.predicted_ms*1e3}:null,[l.timings]),T=t[e+1],Y=t[e-1],{content:L,thought:x,isThinking:g}=B.useMemo(()=>{if(l.content===null||l.role!=="assistant")return{content:l.content};const j=/<think>|<\|channel\|>analysis<\|message\|>/,D=/<\/think>|<\|end\|>/;let _="",ut="",K=!1,f=l.content.split(j,2);for(_+=f[0];f[1]!==void 0;)f=f[1].split(D,2),ut+=f[0],K=!0,f[1]!==void 0&&(K=!1,f=f[1].split(j,2),_+=f[0]);return{content:_,thought:ut,isThinking:K}},[l]);if(!d)return null;const F=d.conv.model_name;return U.jsxs("div",{className:"group",id:n,role:"group","aria-description":`Message from ${l.role}`,children:[U.jsxs("div",{className:es({chat:!0,"chat-start":l.role!=="user","chat-end":l.role==="user"}),children:[l.extra&&l.extra.length>0&&U.jsx(OR,{items:l.extra,clickToShow:!0}),U.jsxs("div",{className:es({"chat-bubble chat-bubble-primary":!0,"chat-bubble-base-300":l.role!=="user"}),children:[b!==null&&U.jsxs(U.Fragment,{children:[U.jsx(i_,{dir:"auto",className:"textarea textarea-bordered bg-base-100 text-base-content max-w-2xl w-[calc(90vw-8em)]",value:b,onChange:j=>p(j.target.value),minRows:3,maxRows:15}),U.jsx("br",{}),U.jsx("button",{className:"btn btn-ghost mt-2 mr-2",onClick:()=>p(null),children:"Cancel"}),U.jsx("button",{className:"btn mt-2",onClick:()=>{l.content!==null&&(p(null),l.role==="user"?s(l,b):o(l,b))},children:"Submit"})]}),b===null&&U.jsxs(U.Fragment,{children:[L===null?U.jsx(U.Fragment,{children:U.jsx("span",{className:"loading loading-dots loading-md"})}):U.jsx(U.Fragment,{children:U.jsxs("div",{dir:"auto",children:[x&&U.jsxs("details",{className:"collapse bg-base-200 collapse-arrow mb-4",open:g&&h.showThoughtInProgress,children:[U.jsx("summary",{className:"collapse-title",children:c&&g?U.jsxs("span",{children:[U.jsx("span",{"v-if":"isGenerating",className:"loading loading-spinner loading-md mr-2",style:{verticalAlign:"middle"}}),U.jsx("b",{children:"Thinking"})]}):U.jsx("b",{children:"Thought Process"})}),U.jsx("div",{className:"collapse-content",children:U.jsx(S9,{content:x,isGenerating:c})})]}),U.jsx(S9,{content:L,isGenerating:c})]})}),M&&h.showTokensPerSecond&&U.jsxs("div",{className:"dropdown dropdown-hover dropdown-top ax-w-[900px] w-full mt-4",children:[U.jsx("div",{tabIndex:0,role:"button",className:"cursor-pointer font-semibold text-sm opacity-60",children:U.jsxs("div",{className:"font-bold text-xs",children:[M.n_ctx>0&&U.jsxs("div",{className:"flex justify-between items-center",children:[U.jsxs("span",{className:"whitespace-nowrap",children:["Token: ",M.predicted_per_second.toFixed(1)," t/s | Prompt: ",M.prompt_per_second.toFixed(1)," t/s"]}),U.jsxs("span",{className:"hidden lg:block pl-[200px] whitespace-nowrap",children:["Ctx: ",M.predicted_n+M.prompt_n," / ",M.n_past," / ",M.n_ctx]})]}),(M.n_ctx==null||M.n_ctx<=0)&&U.jsxs("div",{children:["Token: ",M.predicted_per_second.toFixed(1)," t/s | Prompt: ",M.prompt_per_second.toFixed(1)," t/s"]})]})}),U.jsxs("div",{className:"dropdown-content bg-base-100 z-10 w-64 p-2 shadow mt-4",children:[U.jsx("p",{className:"text-xs",children:U.jsx("b",{children:F})}),U.jsxs("p",{className:"text-sm",children:[U.jsx("b",{children:"Prompt"}),U.jsx("br",{}),"- Tokens: ",M.prompt_n,U.jsx("br",{}),"- Time: ",M.prompt_ms," ms",U.jsx("br",{}),"- Speed: ",M.prompt_per_second.toFixed(2)," t/s",U.jsx("br",{}),U.jsx("b",{children:"Generation"}),U.jsx("br",{}),"- Tokens: ",M.predicted_n,U.jsx("br",{}),"- Time: ",M.predicted_ms," ms",U.jsx("br",{}),"- Speed: ",M.predicted_per_second.toFixed(2)," t/s",U.jsx("br",{}),U.jsx("b",{children:"Context"}),U.jsx("br",{}),"- n_ctx: ",M.n_ctx,U.jsx("br",{}),"- n_past: ",M.n_past,U.jsx("br",{})]})]})]}),U.jsx("div",{ref:y})]})]})]}),l.content!==null&&!h.showTokensPerSecond&&l.role==="assistant"&&U.jsx("div",{className:"badge border-none outline-none btn-mini show-on-hover mr-2",children:U.jsxs("p",{className:"text-xs",children:["Model: ",F]})}),l.content!==null&&U.jsxs("div",{className:es({"flex items-center gap-2 mx-4 mt-2 mb-2":!0,"flex-row-reverse":l.role==="user"}),children:[t&&t.length>1&&U.jsxs("div",{className:"flex gap-1 items-center opacity-60 text-sm",children:[U.jsx("button",{className:es({"btn btn-sm btn-ghost p-1":!0,"opacity-20":!Y}),onClick:()=>Y&&a(Y),children:U.jsx(yJ,{className:"h-4 w-4"})}),U.jsxs("span",{children:[e+1," / ",t.length]}),U.jsx("button",{className:es({"btn btn-sm btn-ghost p-1":!0,"opacity-20":!T}),onClick:()=>T&&a(T),children:U.jsx(NJ,{className:"h-4 w-4"})})]}),l.role==="user"&&U.jsxs("button",{className:"badge border-none outline-none btn-mini show-on-hover",onClick:()=>p(l.content),disabled:l.content===null,children:[U.jsx(JX,{className:"h-4 w-4"})," Edit"]}),l.role==="assistant"&&U.jsxs(U.Fragment,{children:[!c&&U.jsxs("button",{className:"badge border-none outline-none btn-mini show-on-hover mr-2",onClick:()=>{l.content!==null&&i(l)},disabled:l.content===null,children:[U.jsx(rJ,{className:"h-4 w-4"})," Regenerate"]}),!c&&U.jsxs("button",{className:"badge border-none outline-none btn-mini show-on-hover",onClick:()=>p(l.content),disabled:l.content===null,children:[U.jsx(JX,{className:"h-4 w-4"})," Edit"]})]}),U.jsx(DR,{className:"badge border-none outline-none btn-mini show-on-hover mr-2",content:l.content})]})]})}const jR=typeof SharedArrayBuffer=="function",a_=`
|
||
importScripts("https://cdn.jsdelivr.net/pyodide/v0.27.2/full/pyodide.js");
|
||
|
||
let stdOutAndErr = [];
|
||
|
||
let pyodideReadyPromise = loadPyodide({
|
||
stdout: (data) => stdOutAndErr.push(data),
|
||
stderr: (data) => stdOutAndErr.push(data),
|
||
});
|
||
|
||
let alreadySetBuff = false;
|
||
|
||
self.onmessage = async (event) => {
|
||
stdOutAndErr = [];
|
||
|
||
// make sure loading is done
|
||
const pyodide = await pyodideReadyPromise;
|
||
const { id, python, context, interruptBuffer } = event.data;
|
||
|
||
if (interruptBuffer && !alreadySetBuff) {
|
||
pyodide.setInterruptBuffer(interruptBuffer);
|
||
alreadySetBuff = true;
|
||
}
|
||
|
||
// Now load any packages we need, run the code, and send the result back.
|
||
await pyodide.loadPackagesFromImports(python);
|
||
|
||
// make a Python dictionary with the data from content
|
||
const dict = pyodide.globals.get("dict");
|
||
const globals = dict(Object.entries(context));
|
||
try {
|
||
self.postMessage({ id, running: true });
|
||
// Execute the python code in this context
|
||
const result = pyodide.runPython(python, { globals });
|
||
self.postMessage({ result, id, stdOutAndErr });
|
||
} catch (error) {
|
||
self.postMessage({ error: error.message, id });
|
||
}
|
||
interruptBuffer[0] = 0;
|
||
};
|
||
`;let DM;const Kp=jR?new Uint8Array(new SharedArrayBuffer(1)):null,CR=()=>{DM||(DM=new Worker(URL.createObjectURL(new Blob([a_],{type:"text/javascript"}))))};rl.getConfig().pyIntepreterEnabled&&CR();const c_=(l,t)=>{CR();const e=Math.random()*1e8,n={};return Kp&&(Kp[0]=0),{donePromise:new Promise(a=>{DM.onmessage=c=>{const{error:o,stdOutAndErr:d,running:h}=c.data;if(e===c.data.id)if(h){t();return}else a(o?o.toString():d.join(`
|
||
`))},DM.postMessage({id:e,python:l,context:n,interruptBuffer:Kp})}),interrupt:()=>{console.log("Interrupting..."),console.trace(),Kp&&(Kp[0]=2)}}};function r_(){const{canvasData:l,setCanvasData:t}=xc(),[e,n]=B.useState((l==null?void 0:l.content)??""),[i,s]=B.useState(!1),[a,c]=B.useState(""),[o,d]=B.useState(),[h,b]=B.useState(!1),p=async y=>{o==null||o(),s(!0),c("Loading Pyodide...");const{donePromise:M,interrupt:T}=c_(y,()=>{c("Running..."),b(jR)});d(()=>T);const Y=await M;c(Y),s(!1),b(!1)};return B.useEffect(()=>{n((l==null?void 0:l.content)??""),p((l==null?void 0:l.content)??"")},[l==null?void 0:l.content]),(l==null?void 0:l.type)!==CG.PY_INTERPRETER?null:U.jsx("div",{className:"card bg-base-200 w-full h-full shadow-xl",children:U.jsxs("div",{className:"card-body",children:[U.jsxs("div",{className:"flex justify-between items-center mb-4",children:[U.jsx("span",{className:"text-lg font-bold",children:"Python Interpreter"}),U.jsx(PJ,{className:"bg-base-100",onClick:()=>t(null)})]}),U.jsxs("div",{className:"grid grid-rows-3 gap-4 h-full",children:[U.jsx("textarea",{className:"textarea textarea-bordered w-full h-full font-mono",value:e,onChange:y=>n(y.target.value)}),U.jsxs("div",{className:"font-mono flex flex-col row-span-2",children:[U.jsxs("div",{className:"flex items-center mb-2",children:[U.jsxs("button",{className:"btn btn-sm bg-base-100",onClick:()=>p(e),disabled:i,children:[U.jsx(r3,{className:"h-6 w-6"})," Run"]}),h&&U.jsxs("button",{className:"btn btn-sm bg-base-100 ml-2",onClick:()=>o==null?void 0:o(),children:[U.jsx(vJ,{className:"h-6 w-6"})," Stop"]}),U.jsx("span",{className:"grow text-right text-xs",children:U.jsx(D1,{href:"https://github.com/ggerganov/llama.cpp/issues/11762",children:"Report a bug"})})]}),U.jsx("textarea",{className:"textarea textarea-bordered h-full dark-color",value:a,readOnly:!0})]})]})]})})}const o_=(l,t)=>(B.useEffect(()=>{const e=n=>{var i;if(((i=n.data)==null?void 0:i.command)==="setText"){const s=n.data;l.setValue(s==null?void 0:s.text),s!=null&&s.context&&s.context.length>0&&(t.clearItems(),t.addItems([{type:"context",name:"Extra context",content:s.context}])),l.focus(),setTimeout(()=>{var a,c;(c=(a=l.refOnSubmit).current)==null||c.call(a)},10)}};return window.addEventListener("message",e),()=>window.removeEventListener("message",e)},[l,t]),B.useEffect(()=>{const e=n=>{n.key==="Escape"&&window.parent.postMessage({command:"escapePressed"},"*")};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[]),{}),d_="(min-width: 1024px)",W1=l=>{if(!l)return;if(!window.matchMedia(d_).matches){l.style.height="",l.style.maxHeight="";return}const e=window.getComputedStyle(l).maxHeight;l.style.maxHeight="none",l.style.height="auto",l.style.height=`${l.scrollHeight}px`,l.style.maxHeight=e};function u_(l){const[t,e]=B.useState(l),n=B.useRef(null),i=B.useRef(null);B.useEffect(()=>{const a=n.current;a&&(typeof t=="string"&&t.length>0?(a.value=t,setTimeout(()=>W1(a),0),e("")):setTimeout(()=>W1(a),0))},[n,t]);const s=B.useCallback(a=>{W1(a.currentTarget)},[]);return{value:()=>{var a;return((a=n.current)==null?void 0:a.value)??""},setValue:a=>{const c=n.current;c&&(c.value=a,setTimeout(()=>W1(c),0))},focus:()=>{n.current&&n.current.focus()},ref:n,refOnSubmit:i,onInput:s}}let MY=!1;const nu=(l,t)=>{const e=document.getElementById("main-scroll");if(!e)return;const n=e.scrollHeight-e.scrollTop-e.clientHeight;(!l||n<100)&&(MY||setTimeout(()=>e.scrollTo({top:e.scrollHeight,behavior:"smooth"}),t??80))};function m_(l){B.useEffect(()=>{if(!l.current)return;const t=new ResizeObserver(i=>{nu(!0,10)}),e=document.getElementById("main-scroll");if(!e)return;const n=i=>{i.deltaY<0?MY=!0:MY=!1};return e.addEventListener("wheel",n),t.observe(l.current),()=>{t.disconnect(),e.removeEventListener("wheel",n)}},[l])}function h_({title:l,titleId:t,...e},n){return B.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},e),l?B.createElement("title",{id:t},l):null,B.createElement("path",{fillRule:"evenodd",d:"M11.47 2.47a.75.75 0 0 1 1.06 0l7.5 7.5a.75.75 0 1 1-1.06 1.06l-6.22-6.22V21a.75.75 0 0 1-1.5 0V4.81l-6.22 6.22a.75.75 0 1 1-1.06-1.06l7.5-7.5Z",clipRule:"evenodd"}))}const b_=B.forwardRef(h_);function Z_({title:l,titleId:t,...e},n){return B.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},e),l?B.createElement("title",{id:t},l):null,B.createElement("path",{fillRule:"evenodd",d:"M18.97 3.659a2.25 2.25 0 0 0-3.182 0l-10.94 10.94a3.75 3.75 0 1 0 5.304 5.303l7.693-7.693a.75.75 0 0 1 1.06 1.06l-7.693 7.693a5.25 5.25 0 1 1-7.424-7.424l10.939-10.94a3.75 3.75 0 1 1 5.303 5.304L9.097 18.835l-.008.008-.007.007-.002.002-.003.002A2.25 2.25 0 0 1 5.91 15.66l7.81-7.81a.75.75 0 0 1 1.061 1.06l-7.81 7.81a.75.75 0 0 0 1.054 1.068L18.97 6.84a2.25 2.25 0 0 0 0-3.182Z",clipRule:"evenodd"}))}const p_=B.forwardRef(Z_);function y_({title:l,titleId:t,...e},n){return B.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},e),l?B.createElement("title",{id:t},l):null,B.createElement("path",{fillRule:"evenodd",d:"M4.5 7.5a3 3 0 0 1 3-3h9a3 3 0 0 1 3 3v9a3 3 0 0 1-3 3h-9a3 3 0 0 1-3-3v-9Z",clipRule:"evenodd"}))}const W_=B.forwardRef(y_),Ks=typeof process=="object"&&process+""=="[object process]"&&!process.versions.nw&&!(process.versions.electron&&process.type&&process.type!=="browser"),GY=[.001,0,0,.001,0,0],bX=1.35,Pa={ANY:1,DISPLAY:2,PRINT:4,ANNOTATIONS_FORMS:16,ANNOTATIONS_STORAGE:32,ANNOTATIONS_DISABLE:64,IS_EDITING:128,OPLIST:256},ru={DISABLE:0,ENABLE:1,ENABLE_FORMS:2,ENABLE_STORAGE:3},FR="pdfjs_internal_editor_",Tl={DISABLE:-1,NONE:0,FREETEXT:3,HIGHLIGHT:9,STAMP:13,INK:15,POPUP:16,SIGNATURE:101,COMMENT:102},_l={RESIZE:1,CREATE:2,FREETEXT_SIZE:11,FREETEXT_COLOR:12,FREETEXT_OPACITY:13,INK_COLOR:21,INK_THICKNESS:22,INK_OPACITY:23,HIGHLIGHT_COLOR:31,HIGHLIGHT_THICKNESS:32,HIGHLIGHT_FREE:33,HIGHLIGHT_SHOW_ALL:34,DRAW_STEP:41},N_={PRINT:4,MODIFY_CONTENTS:8,COPY:16,MODIFY_ANNOTATIONS:32,FILL_INTERACTIVE_FORMS:256,COPY_FOR_ACCESSIBILITY:512,ASSEMBLE:1024,PRINT_HIGH_QUALITY:2048},rs={FILL:0,STROKE:1,FILL_STROKE:2,INVISIBLE:3,FILL_STROKE_MASK:3,ADD_TO_PATH_FLAG:4},v1={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3},Ti={TEXT:1,LINK:2,FREETEXT:3,LINE:4,SQUARE:5,CIRCLE:6,POLYGON:7,POLYLINE:8,HIGHLIGHT:9,UNDERLINE:10,SQUIGGLY:11,STRIKEOUT:12,STAMP:13,CARET:14,INK:15,POPUP:16,FILEATTACHMENT:17,SOUND:18,MOVIE:19,WIDGET:20,SCREEN:21,PRINTERMARK:22,TRAPNET:23,WATERMARK:24,THREED:25,REDACT:26},yb={SOLID:1,DASHED:2,BEVELED:3,INSET:4,UNDERLINE:5},FG={ERRORS:0,WARNINGS:1,INFOS:5},D2={dependency:1,setLineWidth:2,setLineCap:3,setLineJoin:4,setMiterLimit:5,setDash:6,setRenderingIntent:7,setFlatness:8,setGState:9,save:10,restore:11,transform:12,moveTo:13,lineTo:14,curveTo:15,curveTo2:16,curveTo3:17,closePath:18,rectangle:19,stroke:20,closeStroke:21,fill:22,eoFill:23,fillStroke:24,eoFillStroke:25,closeFillStroke:26,closeEOFillStroke:27,endPath:28,clip:29,eoClip:30,beginText:31,endText:32,setCharSpacing:33,setWordSpacing:34,setHScale:35,setLeading:36,setFont:37,setTextRenderingMode:38,setTextRise:39,moveText:40,setLeadingMoveText:41,setTextMatrix:42,nextLine:43,showText:44,showSpacedText:45,nextLineShowText:46,nextLineSetSpacingShowText:47,setCharWidth:48,setCharWidthAndBounds:49,setStrokeColorSpace:50,setFillColorSpace:51,setStrokeColor:52,setStrokeColorN:53,setFillColor:54,setFillColorN:55,setStrokeGray:56,setFillGray:57,setStrokeRGBColor:58,setFillRGBColor:59,setStrokeCMYKColor:60,setFillCMYKColor:61,shadingFill:62,beginInlineImage:63,beginImageData:64,endInlineImage:65,paintXObject:66,markPoint:67,markPointProps:68,beginMarkedContent:69,beginMarkedContentProps:70,endMarkedContent:71,beginCompat:72,endCompat:73,paintFormXObjectBegin:74,paintFormXObjectEnd:75,beginGroup:76,endGroup:77,beginAnnotation:80,endAnnotation:81,paintImageMaskXObject:83,paintImageMaskXObjectGroup:84,paintImageXObject:85,paintInlineImageXObject:86,paintInlineImageXObjectGroup:87,paintImageXObjectRepeat:88,paintImageMaskXObjectRepeat:89,paintSolidColorImageMask:90,constructPath:91,setStrokeTransparent:92,setFillTransparent:93,rawFillPath:94},N1={moveTo:0,lineTo:1,curveTo:2,closePath:3},M_={NEED_PASSWORD:1,INCORRECT_PASSWORD:2};let JG=FG.WARNINGS;function G_(l){Number.isInteger(l)&&(JG=l)}function T_(){return JG}function vG(l){JG>=FG.INFOS&&console.log(`Info: ${l}`)}function Ll(l){JG>=FG.WARNINGS&&console.log(`Warning: ${l}`)}function Xn(l){throw new Error(l)}function Vi(l,t){l||Xn(t)}function X_(l){switch(l==null?void 0:l.protocol){case"http:":case"https:":case"ftp:":case"mailto:":case"tel:":return!0;default:return!1}}function JR(l,t=null,e=null){if(!l)return null;if(e&&typeof l=="string"){if(e.addDefaultProtocol&&l.startsWith("www.")){const i=l.match(/\./g);(i==null?void 0:i.length)>=2&&(l=`http://${l}`)}if(e.tryConvertEncoding)try{l=w_(l)}catch{}}const n=t?URL.parse(l,t):URL.parse(l);return X_(n)?n:null}function vR(l,t,e=!1){const n=URL.parse(l);return n?(n.hash=t,n.href):e&&JR(l,"http://example.com")?l.split("#",1)[0]+`${t?`#${t}`:""}`:""}function vl(l,t,e,n=!1){return Object.defineProperty(l,t,{value:e,enumerable:!n,configurable:!0,writable:!1}),e}const wh=function(){function t(e,n){this.message=e,this.name=n}return t.prototype=new Error,t.constructor=t,t}();class C9 extends wh{constructor(t,e){super(t,"PasswordException"),this.code=e}}class ZX extends wh{constructor(t,e){super(t,"UnknownErrorException"),this.details=e}}class TY extends wh{constructor(t){super(t,"InvalidPDFException")}}class OM extends wh{constructor(t,e,n){super(t,"ResponseException"),this.status=e,this.missing=n}}class Y_ extends wh{constructor(t){super(t,"FormatError")}}class o0 extends wh{constructor(t){super(t,"AbortException")}}function UR(l){(typeof l!="object"||(l==null?void 0:l.length)===void 0)&&Xn("Invalid argument for bytesToString");const t=l.length,e=8192;if(t<e)return String.fromCharCode.apply(null,l);const n=[];for(let i=0;i<t;i+=e){const s=Math.min(i+e,t),a=l.subarray(i,s);n.push(String.fromCharCode.apply(null,a))}return n.join("")}function DW(l){typeof l!="string"&&Xn("Invalid argument for stringToBytes");const t=l.length,e=new Uint8Array(t);for(let n=0;n<t;++n)e[n]=l.charCodeAt(n)&255;return e}function L_(l){return String.fromCharCode(l>>24&255,l>>16&255,l>>8&255,l&255)}function V_(){const l=new Uint8Array(4);return l[0]=1,new Uint32Array(l.buffer,0,1)[0]===1}function I_(){try{return new Function(""),!0}catch{return!1}}class Ws{static get isLittleEndian(){return vl(this,"isLittleEndian",V_())}static get isEvalSupported(){return vl(this,"isEvalSupported",I_())}static get isOffscreenCanvasSupported(){return vl(this,"isOffscreenCanvasSupported",typeof OffscreenCanvas<"u")}static get isImageDecoderSupported(){return vl(this,"isImageDecoderSupported",typeof ImageDecoder<"u")}static get platform(){const{platform:t,userAgent:e}=navigator;return vl(this,"platform",{isAndroid:e.includes("Android"),isLinux:t.includes("Linux"),isMac:t.includes("Mac"),isWindows:t.includes("Win"),isFirefox:e.includes("Firefox")})}static get isCSSRoundSupported(){var t,e;return vl(this,"isCSSRoundSupported",(e=(t=globalThis.CSS)==null?void 0:t.supports)==null?void 0:e.call(t,"width: round(1.5px, 1px)"))}}const pX=Array.from(Array(256).keys(),l=>l.toString(16).padStart(2,"0"));var Td,U1,XY;class Ae{static makeHexColor(t,e,n){return`#${pX[t]}${pX[e]}${pX[n]}`}static domMatrixToTransform(t){return[t.a,t.b,t.c,t.d,t.e,t.f]}static scaleMinMax(t,e){let n;t[0]?(t[0]<0&&(n=e[0],e[0]=e[2],e[2]=n),e[0]*=t[0],e[2]*=t[0],t[3]<0&&(n=e[1],e[1]=e[3],e[3]=n),e[1]*=t[3],e[3]*=t[3]):(n=e[0],e[0]=e[1],e[1]=n,n=e[2],e[2]=e[3],e[3]=n,t[1]<0&&(n=e[1],e[1]=e[3],e[3]=n),e[1]*=t[1],e[3]*=t[1],t[2]<0&&(n=e[0],e[0]=e[2],e[2]=n),e[0]*=t[2],e[2]*=t[2]),e[0]+=t[4],e[1]+=t[5],e[2]+=t[4],e[3]+=t[5]}static transform(t,e){return[t[0]*e[0]+t[2]*e[1],t[1]*e[0]+t[3]*e[1],t[0]*e[2]+t[2]*e[3],t[1]*e[2]+t[3]*e[3],t[0]*e[4]+t[2]*e[5]+t[4],t[1]*e[4]+t[3]*e[5]+t[5]]}static multiplyByDOMMatrix(t,e){return[t[0]*e.a+t[2]*e.b,t[1]*e.a+t[3]*e.b,t[0]*e.c+t[2]*e.d,t[1]*e.c+t[3]*e.d,t[0]*e.e+t[2]*e.f+t[4],t[1]*e.e+t[3]*e.f+t[5]]}static applyTransform(t,e,n=0){const i=t[n],s=t[n+1];t[n]=i*e[0]+s*e[2]+e[4],t[n+1]=i*e[1]+s*e[3]+e[5]}static applyTransformToBezier(t,e,n=0){const i=e[0],s=e[1],a=e[2],c=e[3],o=e[4],d=e[5];for(let h=0;h<6;h+=2){const b=t[n+h],p=t[n+h+1];t[n+h]=b*i+p*a+o,t[n+h+1]=b*s+p*c+d}}static applyInverseTransform(t,e){const n=t[0],i=t[1],s=e[0]*e[3]-e[1]*e[2];t[0]=(n*e[3]-i*e[2]+e[2]*e[5]-e[4]*e[3])/s,t[1]=(-n*e[1]+i*e[0]+e[4]*e[1]-e[5]*e[0])/s}static axialAlignedBoundingBox(t,e,n){const i=e[0],s=e[1],a=e[2],c=e[3],o=e[4],d=e[5],h=t[0],b=t[1],p=t[2],y=t[3];let M=i*h+o,T=M,Y=i*p+o,L=Y,x=c*b+d,g=x,F=c*y+d,j=F;if(s!==0||a!==0){const D=s*h,_=s*p,ut=a*b,K=a*y;M+=ut,L+=ut,Y+=K,T+=K,x+=D,j+=D,F+=_,g+=_}n[0]=Math.min(n[0],M,Y,T,L),n[1]=Math.min(n[1],x,F,g,j),n[2]=Math.max(n[2],M,Y,T,L),n[3]=Math.max(n[3],x,F,g,j)}static inverseTransform(t){const e=t[0]*t[3]-t[1]*t[2];return[t[3]/e,-t[1]/e,-t[2]/e,t[0]/e,(t[2]*t[5]-t[4]*t[3])/e,(t[4]*t[1]-t[5]*t[0])/e]}static singularValueDecompose2dScale(t,e){const n=t[0],i=t[1],s=t[2],a=t[3],c=n**2+i**2,o=n*s+i*a,d=s**2+a**2,h=(c+d)/2,b=Math.sqrt(h**2-(c*d-o**2));e[0]=Math.sqrt(h+b||1),e[1]=Math.sqrt(h-b||1)}static normalizeRect(t){const e=t.slice(0);return t[0]>t[2]&&(e[0]=t[2],e[2]=t[0]),t[1]>t[3]&&(e[1]=t[3],e[3]=t[1]),e}static intersect(t,e){const n=Math.max(Math.min(t[0],t[2]),Math.min(e[0],e[2])),i=Math.min(Math.max(t[0],t[2]),Math.max(e[0],e[2]));if(n>i)return null;const s=Math.max(Math.min(t[1],t[3]),Math.min(e[1],e[3])),a=Math.min(Math.max(t[1],t[3]),Math.max(e[1],e[3]));return s>a?null:[n,s,i,a]}static pointBoundingBox(t,e,n){n[0]=Math.min(n[0],t),n[1]=Math.min(n[1],e),n[2]=Math.max(n[2],t),n[3]=Math.max(n[3],e)}static rectBoundingBox(t,e,n,i,s){s[0]=Math.min(s[0],t,n),s[1]=Math.min(s[1],e,i),s[2]=Math.max(s[2],t,n),s[3]=Math.max(s[3],e,i)}static bezierBoundingBox(t,e,n,i,s,a,c,o,d){d[0]=Math.min(d[0],t,c),d[1]=Math.min(d[1],e,o),d[2]=Math.max(d[2],t,c),d[3]=Math.max(d[3],e,o),J(this,Td,XY).call(this,t,n,s,c,e,i,a,o,3*(-t+3*(n-s)+c),6*(t-2*n+s),3*(n-t),d),J(this,Td,XY).call(this,t,n,s,c,e,i,a,o,3*(-e+3*(i-a)+o),6*(e-2*i+a),3*(i-e),d)}}Td=new WeakSet,U1=function(t,e,n,i,s,a,c,o,d,h){if(d<=0||d>=1)return;const b=1-d,p=d*d,y=p*d,M=b*(b*(b*t+3*d*e)+3*p*n)+y*i,T=b*(b*(b*s+3*d*a)+3*p*c)+y*o;h[0]=Math.min(h[0],M),h[1]=Math.min(h[1],T),h[2]=Math.max(h[2],M),h[3]=Math.max(h[3],T)},XY=function(t,e,n,i,s,a,c,o,d,h,b,p){if(Math.abs(d)<1e-12){Math.abs(h)>=1e-12&&J(this,Td,U1).call(this,t,e,n,i,s,a,c,o,-b/h,p);return}const y=h**2-4*b*d;if(y<0)return;const M=Math.sqrt(y),T=2*d;J(this,Td,U1).call(this,t,e,n,i,s,a,c,o,(-h+M)/T,p),J(this,Td,U1).call(this,t,e,n,i,s,a,c,o,(-h-M)/T,p)},k(Ae,Td);function w_(l){return decodeURIComponent(escape(l))}let yX=null,F9=null;function z_(l){return yX||(yX=/([\u00a0\u00b5\u037e\u0eb3\u2000-\u200a\u202f\u2126\ufb00-\ufb04\ufb06\ufb20-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufba1\ufba4-\ufba9\ufbae-\ufbb1\ufbd3-\ufbdc\ufbde-\ufbe7\ufbea-\ufbf8\ufbfc-\ufbfd\ufc00-\ufc5d\ufc64-\ufcf1\ufcf5-\ufd3d\ufd88\ufdf4\ufdfa-\ufdfb\ufe71\ufe77\ufe79\ufe7b\ufe7d]+)|(\ufb05+)/gu,F9=new Map([["ſt","ſt"]])),l.replaceAll(yX,(t,e,n)=>e?e.normalize("NFKC"):F9.get(n))}function ER(){if(typeof crypto.randomUUID=="function")return crypto.randomUUID();const l=new Uint8Array(32);return crypto.getRandomValues(l),UR(l)}const KV="pdfjs_internal_id_";function g_(l,t,e){if(!Array.isArray(e)||e.length<2)return!1;const[n,i,...s]=e;if(!l(n)&&!Number.isInteger(n)||!t(i))return!1;const a=s.length;let c=!0;switch(i.name){case"XYZ":if(a<2||a>3)return!1;break;case"Fit":case"FitB":return a===0;case"FitH":case"FitBH":case"FitV":case"FitBV":if(a>1)return!1;break;case"FitR":if(a!==4)return!1;c=!1;break;default:return!1}for(const o of s)if(!(typeof o=="number"||c&&o===null))return!1;return!0}function Ps(l,t,e){return Math.min(Math.max(l,t),e)}function KR(l){return Uint8Array.prototype.toBase64?l.toBase64():btoa(UR(l))}function x_(l){return Uint8Array.fromBase64?Uint8Array.fromBase64(l):DW(atob(l))}typeof Promise.try!="function"&&(Promise.try=function(l,...t){return new Promise(e=>{e(l(...t))})});typeof Math.sumPrecise!="function"&&(Math.sumPrecise=function(l){return l.reduce((t,e)=>t+e,0)});const Io="http://www.w3.org/2000/svg",im=class im{};We(im,"CSS",96),We(im,"PDF",72),We(im,"PDF_TO_CSS_UNITS",im.CSS/im.PDF);let d0=im;async function OW(l,t="text"){if(e2(l,document.baseURI)){const e=await fetch(l);if(!e.ok)throw new Error(e.statusText);switch(t){case"arraybuffer":return e.arrayBuffer();case"blob":return e.blob();case"json":return e.json()}return e.text()}return new Promise((e,n)=>{const i=new XMLHttpRequest;i.open("GET",l,!0),i.responseType=t,i.onreadystatechange=()=>{if(i.readyState===XMLHttpRequest.DONE){if(i.status===200||i.status===0){switch(t){case"arraybuffer":case"blob":case"json":e(i.response);return}e(i.responseText);return}n(new Error(i.statusText))}},i.send(null)})}class jW{constructor({viewBox:t,userUnit:e,scale:n,rotation:i,offsetX:s=0,offsetY:a=0,dontFlip:c=!1}){this.viewBox=t,this.userUnit=e,this.scale=n,this.rotation=i,this.offsetX=s,this.offsetY=a,n*=e;const o=(t[2]+t[0])/2,d=(t[3]+t[1])/2;let h,b,p,y;switch(i%=360,i<0&&(i+=360),i){case 180:h=-1,b=0,p=0,y=1;break;case 90:h=0,b=1,p=1,y=0;break;case 270:h=0,b=-1,p=-1,y=0;break;case 0:h=1,b=0,p=0,y=-1;break;default:throw new Error("PageViewport: Invalid rotation, must be a multiple of 90 degrees.")}c&&(p=-p,y=-y);let M,T,Y,L;h===0?(M=Math.abs(d-t[1])*n+s,T=Math.abs(o-t[0])*n+a,Y=(t[3]-t[1])*n,L=(t[2]-t[0])*n):(M=Math.abs(o-t[0])*n+s,T=Math.abs(d-t[1])*n+a,Y=(t[2]-t[0])*n,L=(t[3]-t[1])*n),this.transform=[h*n,b*n,p*n,y*n,M-h*n*o-p*n*d,T-b*n*o-y*n*d],this.width=Y,this.height=L}get rawDims(){const t=this.viewBox;return vl(this,"rawDims",{pageWidth:t[2]-t[0],pageHeight:t[3]-t[1],pageX:t[0],pageY:t[1]})}clone({scale:t=this.scale,rotation:e=this.rotation,offsetX:n=this.offsetX,offsetY:i=this.offsetY,dontFlip:s=!1}={}){return new jW({viewBox:this.viewBox.slice(),userUnit:this.userUnit,scale:t,rotation:e,offsetX:n,offsetY:i,dontFlip:s})}convertToViewportPoint(t,e){const n=[t,e];return Ae.applyTransform(n,this.transform),n}convertToViewportRectangle(t){const e=[t[0],t[1]];Ae.applyTransform(e,this.transform);const n=[t[2],t[3]];return Ae.applyTransform(n,this.transform),[e[0],e[1],n[0],n[1]]}convertToPdfPoint(t,e){const n=[t,e];return Ae.applyInverseTransform(n,this.transform),n}}class PV extends wh{constructor(t,e=0){super(t,"RenderingCancelledException"),this.extraDelay=e}}function UG(l){const t=l.length;let e=0;for(;e<t&&l[e].trim()==="";)e++;return l.substring(e,e+5).toLowerCase()==="data:"}function HV(l){return typeof l=="string"&&/\.pdf$/i.test(l)}function f_(l){return[l]=l.split(/[#?]/,1),l.substring(l.lastIndexOf("/")+1)}function S_(l,t="document.pdf"){if(typeof l!="string")return t;if(UG(l))return Ll('getPdfFilenameFromUrl: ignore "data:"-URL for performance reasons.'),t;const n=(c=>{try{return new URL(c)}catch{try{return new URL(decodeURIComponent(c))}catch{try{return new URL(c,"https://foo.bar")}catch{try{return new URL(decodeURIComponent(c),"https://foo.bar")}catch{return null}}}}})(l);if(!n)return t;const i=c=>{try{let o=decodeURIComponent(c);return o.includes("/")?(o=o.split("/").at(-1),o.test(/^\.pdf$/i)?o:c):o}catch{return c}},s=/\.pdf$/i,a=n.pathname.split("/").at(-1);if(s.test(a))return i(a);if(n.searchParams.size>0){const c=Array.from(n.searchParams.values()).reverse();for(const d of c)if(s.test(d))return i(d);const o=Array.from(n.searchParams.keys()).reverse();for(const d of o)if(s.test(d))return i(d)}if(n.hash){const o=/[^/?#=]+\.pdf\b(?!.*\.pdf\b)/i.exec(n.hash);if(o)return i(o[0])}return t}class J9{constructor(){We(this,"started",Object.create(null));We(this,"times",[])}time(t){t in this.started&&Ll(`Timer is already running for ${t}`),this.started[t]=Date.now()}timeEnd(t){t in this.started||Ll(`Timer has not been started for ${t}`),this.times.push({name:t,start:this.started[t],end:Date.now()}),delete this.started[t]}toString(){const t=[];let e=0;for(const{name:n}of this.times)e=Math.max(n.length,e);for(const{name:n,start:i,end:s}of this.times)t.push(`${n.padEnd(e)} ${s-i}ms
|
||
`);return t.join("")}}function e2(l,t){const e=t?URL.parse(l,t):URL.parse(l);return(e==null?void 0:e.protocol)==="http:"||(e==null?void 0:e.protocol)==="https:"}function Sc(l){l.preventDefault()}function Li(l){l.preventDefault(),l.stopPropagation()}function R_(l){console.log("Deprecated API usage: "+l)}var K2;class jM{static toDateObject(t){if(t instanceof Date)return t;if(!t||typeof t!="string")return null;m(this,K2)||z(this,K2,new RegExp("^D:(\\d{4})(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?([Z|+|-])?(\\d{2})?'?(\\d{2})?'?"));const e=m(this,K2).exec(t);if(!e)return null;const n=parseInt(e[1],10);let i=parseInt(e[2],10);i=i>=1&&i<=12?i-1:0;let s=parseInt(e[3],10);s=s>=1&&s<=31?s:1;let a=parseInt(e[4],10);a=a>=0&&a<=23?a:0;let c=parseInt(e[5],10);c=c>=0&&c<=59?c:0;let o=parseInt(e[6],10);o=o>=0&&o<=59?o:0;const d=e[7]||"Z";let h=parseInt(e[8],10);h=h>=0&&h<=23?h:0;let b=parseInt(e[9],10)||0;return b=b>=0&&b<=59?b:0,d==="-"?(a+=h,c+=b):d==="+"&&(a-=h,c-=b),new Date(Date.UTC(n,i,s,a,c,o))}}K2=new WeakMap,k(jM,K2);function k_(l,{scale:t=1,rotation:e=0}){const{width:n,height:i}=l.attributes.style,s=[0,0,parseInt(n),parseInt(i)];return new jW({viewBox:s,userUnit:1,scale:t,rotation:e})}function EG(l){if(l.startsWith("#")){const t=parseInt(l.slice(1),16);return[(t&16711680)>>16,(t&65280)>>8,t&255]}return l.startsWith("rgb(")?l.slice(4,-1).split(",").map(t=>parseInt(t)):l.startsWith("rgba(")?l.slice(5,-1).split(",").map(t=>parseInt(t)).slice(0,3):(Ll(`Not a valid color format: "${l}"`),[0,0,0])}function D_(l){const t=document.createElement("span");t.style.visibility="hidden",t.style.colorScheme="only light",document.body.append(t);for(const e of l.keys()){t.style.color=e;const n=window.getComputedStyle(t).color;l.set(e,EG(n))}t.remove()}function ei(l){const{a:t,b:e,c:n,d:i,e:s,f:a}=l.getTransform();return[t,e,n,i,s,a]}function Gr(l){const{a:t,b:e,c:n,d:i,e:s,f:a}=l.getTransform().invertSelf();return[t,e,n,i,s,a]}function yh(l,t,e=!1,n=!0){if(t instanceof jW){const{pageWidth:i,pageHeight:s}=t.rawDims,{style:a}=l,c=Ws.isCSSRoundSupported,o=`var(--total-scale-factor) * ${i}px`,d=`var(--total-scale-factor) * ${s}px`,h=c?`round(down, ${o}, var(--scale-round-x))`:`calc(${o})`,b=c?`round(down, ${d}, var(--scale-round-y))`:`calc(${d})`;!e||t.rotation%180===0?(a.width=h,a.height=b):(a.width=b,a.height=h)}n&&l.setAttribute("data-main-rotation",t.rotation)}class $r{constructor(){const{pixelRatio:t}=$r;this.sx=t,this.sy=t}get scaled(){return this.sx!==1||this.sy!==1}get symmetric(){return this.sx===this.sy}limitCanvas(t,e,n,i,s=-1){let a=1/0,c=1/0,o=1/0;n=$r.capPixels(n,s),n>0&&(a=Math.sqrt(n/(t*e))),i!==-1&&(c=i/t,o=i/e);const d=Math.min(a,c,o);return this.sx>d||this.sy>d?(this.sx=d,this.sy=d,!0):!1}static get pixelRatio(){return globalThis.devicePixelRatio||1}static capPixels(t,e){if(e>=0){const n=Math.ceil(window.screen.availWidth*window.screen.availHeight*this.pixelRatio**2*(1+e/100));return t>0?Math.min(t,n):n}return t}}const YY=["image/apng","image/avif","image/bmp","image/gif","image/jpeg","image/png","image/svg+xml","image/webp","image/x-icon"];var du,uu,bc,So,P2,Db,Ob,H2,_M,PR,ys,HR,QR,Wb,l2;const go=class go{constructor(t){k(this,ys);k(this,du,null);k(this,uu,null);k(this,bc);k(this,So,null);k(this,P2,null);k(this,Db,null);k(this,Ob,null);z(this,bc,t),m(go,H2)||z(go,H2,Object.freeze({freetext:"pdfjs-editor-remove-freetext-button",highlight:"pdfjs-editor-remove-highlight-button",ink:"pdfjs-editor-remove-ink-button",stamp:"pdfjs-editor-remove-stamp-button",signature:"pdfjs-editor-remove-signature-button"}))}render(){const t=z(this,du,document.createElement("div"));t.classList.add("editToolbar","hidden"),t.setAttribute("role","toolbar");const e=m(this,bc)._uiManager._signal;e instanceof AbortSignal&&!e.aborted&&(t.addEventListener("contextmenu",Sc,{signal:e}),t.addEventListener("pointerdown",J(go,_M,PR),{signal:e}));const n=z(this,So,document.createElement("div"));n.className="buttons",t.append(n);const i=m(this,bc).toolbarPosition;if(i){const{style:s}=t,a=m(this,bc)._uiManager.direction==="ltr"?1-i[0]:i[0];s.insetInlineEnd=`${100*a}%`,s.top=`calc(${100*i[1]}% + var(--editor-toolbar-vert-offset))`}return t}get div(){return m(this,du)}hide(){var t;m(this,du).classList.add("hidden"),(t=m(this,uu))==null||t.hideDropdown()}show(){var t,e;m(this,du).classList.remove("hidden"),(t=m(this,P2))==null||t.shown(),(e=m(this,Db))==null||e.shown()}addDeleteButton(){const{editorType:t,_uiManager:e}=m(this,bc),n=document.createElement("button");n.classList.add("basic","deleteButton"),n.tabIndex=0,n.setAttribute("data-l10n-id",m(go,H2)[t]),J(this,ys,Wb).call(this,n)&&n.addEventListener("click",i=>{e.delete()},{signal:e._signal}),m(this,So).append(n)}async addAltText(t){const e=await t.render();J(this,ys,Wb).call(this,e),m(this,So).append(e,m(this,ys,l2)),z(this,P2,t)}addComment(t){if(m(this,Db))return;const e=t.render();e&&(J(this,ys,Wb).call(this,e),m(this,So).append(e,m(this,ys,l2)),z(this,Db,t),t.toolbar=this)}addColorPicker(t){if(m(this,uu))return;z(this,uu,t);const e=t.renderButton();J(this,ys,Wb).call(this,e),m(this,So).append(e,m(this,ys,l2))}async addEditSignatureButton(t){const e=z(this,Ob,await t.renderEditButton(m(this,bc)));J(this,ys,Wb).call(this,e),m(this,So).append(e,m(this,ys,l2))}async addButton(t,e){switch(t){case"colorPicker":this.addColorPicker(e);break;case"altText":await this.addAltText(e);break;case"editSignature":await this.addEditSignatureButton(e);break;case"delete":this.addDeleteButton();break;case"comment":this.addComment(e);break}}updateEditSignatureButton(t){m(this,Ob)&&(m(this,Ob).title=t)}remove(){var t;m(this,du).remove(),(t=m(this,uu))==null||t.destroy(),z(this,uu,null)}};du=new WeakMap,uu=new WeakMap,bc=new WeakMap,So=new WeakMap,P2=new WeakMap,Db=new WeakMap,Ob=new WeakMap,H2=new WeakMap,_M=new WeakSet,PR=function(t){t.stopPropagation()},ys=new WeakSet,HR=function(t){m(this,bc)._focusEventsAllowed=!1,Li(t)},QR=function(t){m(this,bc)._focusEventsAllowed=!0,Li(t)},Wb=function(t){const e=m(this,bc)._uiManager._signal;return!(e instanceof AbortSignal)||e.aborted?!1:(t.addEventListener("focusin",J(this,ys,HR).bind(this),{capture:!0,signal:e}),t.addEventListener("focusout",J(this,ys,QR).bind(this),{capture:!0,signal:e}),t.addEventListener("contextmenu",Sc,{signal:e}),!0)},l2=function(){const t=document.createElement("div");return t.className="divider",t},k(go,_M),k(go,H2,null);let LY=go;var Q2,dm,Ro,wd,BR,AR,VY;class O_{constructor(t){k(this,wd);k(this,Q2,null);k(this,dm,null);k(this,Ro);z(this,Ro,t)}show(t,e,n){const[i,s]=J(this,wd,AR).call(this,e,n),{style:a}=m(this,dm)||z(this,dm,J(this,wd,BR).call(this));t.append(m(this,dm)),a.insetInlineEnd=`${100*i}%`,a.top=`calc(${100*s}% + var(--editor-toolbar-vert-offset))`}hide(){m(this,dm).remove()}}Q2=new WeakMap,dm=new WeakMap,Ro=new WeakMap,wd=new WeakSet,BR=function(){const t=z(this,dm,document.createElement("div"));t.className="editToolbar",t.setAttribute("role","toolbar");const e=m(this,Ro)._signal;e instanceof AbortSignal&&!e.aborted&&t.addEventListener("contextmenu",Sc,{signal:e});const n=z(this,Q2,document.createElement("div"));return n.className="buttons",t.append(n),m(this,Ro).hasCommentManager()&&J(this,wd,VY).call(this,"commentButton","pdfjs-comment-floating-button","pdfjs-comment-floating-button-label",()=>{m(this,Ro).commentSelection("floating_button")}),J(this,wd,VY).call(this,"highlightButton","pdfjs-highlight-floating-button1","pdfjs-highlight-floating-button-label",()=>{m(this,Ro).highlightSelection("floating_button")}),t},AR=function(t,e){let n=0,i=0;for(const s of t){const a=s.y+s.height;if(a<n)continue;const c=s.x+(e?s.width:0);if(a>n){i=c,n=a;continue}e?c>i&&(i=c):c<i&&(i=c)}return[e?1-i:i,n]},VY=function(t,e,n,i){const s=document.createElement("button");s.classList.add("basic",t),s.tabIndex=0,s.setAttribute("data-l10n-id",e);const a=document.createElement("span");s.append(a),a.className="visuallyHidden",a.setAttribute("data-l10n-id",n);const c=m(this,Ro)._signal;c instanceof AbortSignal&&!c.aborted&&(s.addEventListener("contextmenu",Sc,{signal:c}),s.addEventListener("click",i,{signal:c})),m(this,Q2).append(s)};function _R(l,t,e){for(const n of e)t.addEventListener(n,l[n].bind(l))}var qM;class j_{constructor(){k(this,qM,0)}get id(){return`${FR}${Ri(this,qM)._++}`}}qM=new WeakMap;var jb,B2,Is,Cb,E1;const lI=class lI{constructor(){k(this,Cb);k(this,jb,ER());k(this,B2,0);k(this,Is,null)}static get _isSVGFittingCanvas(){const t='data:image/svg+xml;charset=UTF-8,<svg viewBox="0 0 1 1" width="1" height="1" xmlns="http://www.w3.org/2000/svg"><rect width="1" height="1" style="fill:red;"/></svg>',n=new OffscreenCanvas(1,3).getContext("2d",{willReadFrequently:!0}),i=new Image;i.src=t;const s=i.decode().then(()=>(n.drawImage(i,0,0,1,1,0,0,1,3),new Uint32Array(n.getImageData(0,0,1,1).data.buffer)[0]===0));return vl(this,"_isSVGFittingCanvas",s)}async getFromFile(t){const{lastModified:e,name:n,size:i,type:s}=t;return J(this,Cb,E1).call(this,`${e}_${n}_${i}_${s}`,t)}async getFromUrl(t){return J(this,Cb,E1).call(this,t,t)}async getFromBlob(t,e){const n=await e;return J(this,Cb,E1).call(this,t,n)}async getFromId(t){m(this,Is)||z(this,Is,new Map);const e=m(this,Is).get(t);if(!e)return null;if(e.bitmap)return e.refCounter+=1,e;if(e.file)return this.getFromFile(e.file);if(e.blobPromise){const{blobPromise:n}=e;return delete e.blobPromise,this.getFromBlob(e.id,n)}return this.getFromUrl(e.url)}getFromCanvas(t,e){m(this,Is)||z(this,Is,new Map);let n=m(this,Is).get(t);if(n!=null&&n.bitmap)return n.refCounter+=1,n;const i=new OffscreenCanvas(e.width,e.height);return i.getContext("2d").drawImage(e,0,0),n={bitmap:i.transferToImageBitmap(),id:`image_${m(this,jb)}_${Ri(this,B2)._++}`,refCounter:1,isSvg:!1},m(this,Is).set(t,n),m(this,Is).set(n.id,n),n}getSvgUrl(t){const e=m(this,Is).get(t);return e!=null&&e.isSvg?e.svgUrl:null}deleteId(t){var i;m(this,Is)||z(this,Is,new Map);const e=m(this,Is).get(t);if(!e||(e.refCounter-=1,e.refCounter!==0))return;const{bitmap:n}=e;if(!e.url&&!e.file){const s=new OffscreenCanvas(n.width,n.height);s.getContext("bitmaprenderer").transferFromImageBitmap(n),e.blobPromise=s.convertToBlob()}(i=n.close)==null||i.call(n),e.bitmap=null}isValidId(t){return t.startsWith(`image_${m(this,jb)}_`)}};jb=new WeakMap,B2=new WeakMap,Is=new WeakMap,Cb=new WeakSet,E1=async function(t,e){m(this,Is)||z(this,Is,new Map);let n=m(this,Is).get(t);if(n===null)return null;if(n!=null&&n.bitmap)return n.refCounter+=1,n;try{n||(n={bitmap:null,id:`image_${m(this,jb)}_${Ri(this,B2)._++}`,refCounter:0,isSvg:!1});let i;if(typeof e=="string"?(n.url=e,i=await OW(e,"blob")):e instanceof File?i=n.file=e:e instanceof Blob&&(i=e),i.type==="image/svg+xml"){const s=lI._isSVGFittingCanvas,a=new FileReader,c=new Image,o=new Promise((d,h)=>{c.onload=()=>{n.bitmap=c,n.isSvg=!0,d()},a.onload=async()=>{const b=n.svgUrl=a.result;c.src=await s?`${b}#svgView(preserveAspectRatio(none))`:b},c.onerror=a.onerror=h});a.readAsDataURL(i),await o}else n.bitmap=await createImageBitmap(i);n.refCounter=1}catch(i){Ll(i),n=null}return m(this,Is).set(t,n),n&&m(this,Is).set(n.id,n),n};let IY=lI;var Zi,mu,A2,qn;class C_{constructor(t=128){k(this,Zi,[]);k(this,mu,!1);k(this,A2);k(this,qn,-1);z(this,A2,t)}add({cmd:t,undo:e,post:n,mustExec:i,type:s=NaN,overwriteIfSameType:a=!1,keepUndo:c=!1}){if(i&&t(),m(this,mu))return;const o={cmd:t,undo:e,post:n,type:s};if(m(this,qn)===-1){m(this,Zi).length>0&&(m(this,Zi).length=0),z(this,qn,0),m(this,Zi).push(o);return}if(a&&m(this,Zi)[m(this,qn)].type===s){c&&(o.undo=m(this,Zi)[m(this,qn)].undo),m(this,Zi)[m(this,qn)]=o;return}const d=m(this,qn)+1;d===m(this,A2)?m(this,Zi).splice(0,1):(z(this,qn,d),d<m(this,Zi).length&&m(this,Zi).splice(d)),m(this,Zi).push(o)}undo(){if(m(this,qn)===-1)return;z(this,mu,!0);const{undo:t,post:e}=m(this,Zi)[m(this,qn)];t(),e==null||e(),z(this,mu,!1),z(this,qn,m(this,qn)-1)}redo(){if(m(this,qn)<m(this,Zi).length-1){z(this,qn,m(this,qn)+1),z(this,mu,!0);const{cmd:t,post:e}=m(this,Zi)[m(this,qn)];t(),e==null||e(),z(this,mu,!1)}}hasSomethingToUndo(){return m(this,qn)!==-1}hasSomethingToRedo(){return m(this,qn)<m(this,Zi).length-1}cleanType(t){if(m(this,qn)!==-1){for(let e=m(this,qn);e>=0;e--)if(m(this,Zi)[e].type!==t){m(this,Zi).splice(e+1,m(this,qn)-e),z(this,qn,e);return}m(this,Zi).length=0,z(this,qn,-1)}}destroy(){z(this,Zi,null)}}Zi=new WeakMap,mu=new WeakMap,A2=new WeakMap,qn=new WeakMap;var $M,qR;class CW{constructor(t){k(this,$M);this.buffer=[],this.callbacks=new Map,this.allKeys=new Set;const{isMac:e}=Ws.platform;for(const[n,i,s={}]of t)for(const a of n){const c=a.startsWith("mac+");e&&c?(this.callbacks.set(a.slice(4),{callback:i,options:s}),this.allKeys.add(a.split("+").at(-1))):!e&&!c&&(this.callbacks.set(a,{callback:i,options:s}),this.allKeys.add(a.split("+").at(-1)))}}exec(t,e){if(!this.allKeys.has(e.key))return;const n=this.callbacks.get(J(this,$M,qR).call(this,e));if(!n)return;const{callback:i,options:{bubbles:s=!1,args:a=[],checker:c=null}}=n;c&&!c(t,e)||(i.bind(t,...a,e)(),s||Li(e))}}$M=new WeakSet,qR=function(t){t.altKey&&this.buffer.push("alt"),t.ctrlKey&&this.buffer.push("ctrl"),t.metaKey&&this.buffer.push("meta"),t.shiftKey&&this.buffer.push("shift"),this.buffer.push(t.key);const e=this.buffer.join("+");return this.buffer.length=0,e};const tG=class tG{get _colors(){const t=new Map([["CanvasText",null],["Canvas",null]]);return D_(t),vl(this,"_colors",t)}convert(t){const e=EG(t);if(!window.matchMedia("(forced-colors: active)").matches)return e;for(const[n,i]of this._colors)if(i.every((s,a)=>s===e[a]))return tG._colorsMapping.get(n);return e}getHexCode(t){const e=this._colors.get(t);return e?Ae.makeHexColor(...e):t}};We(tG,"_colorsMapping",new Map([["CanvasText",[0,0,0]],["Canvas",[255,255,255]]]));let wY=tG;var Fb,za,Jb,Oi,os,vb,ko,Ub,Zc,Do,hu,bu,Eb,um,wr,pc,mm,_2,q2,Kb,$2,zr,Zu,Pb,pu,gr,eG,yu,Hb,ty,Wu,hm,Qb,Nu,ey,ji,bn,Oo,Mu,Gu,ly,Bb,ny,Tu,xr,jo,iy,sy,yc,Re,K1,zY,$R,tk,n2,ek,lk,nk,gY,ik,xY,fY,sk,js,wo,ak,ck,SY,rk,i2,RY;const wb=class wb{constructor(t,e,n,i,s,a,c,o,d,h,b,p,y,M,T,Y){k(this,Re);k(this,Fb,new AbortController);k(this,za,null);k(this,Jb,null);k(this,Oi,new Map);k(this,os,new Map);k(this,vb,null);k(this,ko,null);k(this,Ub,null);k(this,Zc,new C_);k(this,Do,null);k(this,hu,null);k(this,bu,null);k(this,Eb,0);k(this,um,new Set);k(this,wr,null);k(this,pc,null);k(this,mm,new Set);We(this,"_editorUndoBar",null);k(this,_2,!1);k(this,q2,!1);k(this,Kb,!1);k(this,$2,null);k(this,zr,null);k(this,Zu,null);k(this,Pb,null);k(this,pu,!1);k(this,gr,null);k(this,eG,new j_);k(this,yu,!1);k(this,Hb,!1);k(this,ty,!1);k(this,Wu,null);k(this,hm,null);k(this,Qb,null);k(this,Nu,null);k(this,ey,null);k(this,ji,Tl.NONE);k(this,bn,new Set);k(this,Oo,null);k(this,Mu,null);k(this,Gu,null);k(this,ly,null);k(this,Bb,null);k(this,ny,{isEditing:!1,isEmpty:!0,hasSomethingToUndo:!1,hasSomethingToRedo:!1,hasSelectedEditor:!1,hasSelectedText:!1});k(this,Tu,[0,0]);k(this,xr,null);k(this,jo,null);k(this,iy,null);k(this,sy,null);k(this,yc,null);const L=this._signal=m(this,Fb).signal;z(this,jo,t),z(this,iy,e),z(this,sy,n),z(this,vb,i),z(this,Do,s),z(this,Mu,a),z(this,Bb,o),this._eventBus=c,c._on("editingaction",this.onEditingAction.bind(this),{signal:L}),c._on("pagechanging",this.onPageChanging.bind(this),{signal:L}),c._on("scalechanging",this.onScaleChanging.bind(this),{signal:L}),c._on("rotationchanging",this.onRotationChanging.bind(this),{signal:L}),c._on("setpreference",this.onSetPreference.bind(this),{signal:L}),c._on("switchannotationeditorparams",x=>this.updateParams(x.type,x.value),{signal:L}),window.addEventListener("pointerdown",()=>{z(this,Hb,!0)},{capture:!0,signal:L}),window.addEventListener("pointerup",()=>{z(this,Hb,!1)},{capture:!0,signal:L}),J(this,Re,ek).call(this),J(this,Re,sk).call(this),J(this,Re,gY).call(this),z(this,ko,o.annotationStorage),z(this,$2,o.filterFactory),z(this,Gu,d),z(this,Pb,h||null),z(this,_2,b),z(this,q2,p),z(this,Kb,y),z(this,ey,M||null),this.viewParameters={realScale:d0.PDF_TO_CSS_UNITS,rotation:0},this.isShiftKeyDown=!1,this._editorUndoBar=T||null,this._supportsPinchToZoom=Y!==!1}static get _keyboardManager(){const t=wb.prototype,e=a=>m(a,jo).contains(document.activeElement)&&document.activeElement.tagName!=="BUTTON"&&a.hasSomethingToControl(),n=(a,{target:c})=>{if(c instanceof HTMLInputElement){const{type:o}=c;return o!=="text"&&o!=="number"}return!0},i=this.TRANSLATE_SMALL,s=this.TRANSLATE_BIG;return vl(this,"_keyboardManager",new CW([[["ctrl+a","mac+meta+a"],t.selectAll,{checker:n}],[["ctrl+z","mac+meta+z"],t.undo,{checker:n}],[["ctrl+y","ctrl+shift+z","mac+meta+shift+z","ctrl+shift+Z","mac+meta+shift+Z"],t.redo,{checker:n}],[["Backspace","alt+Backspace","ctrl+Backspace","shift+Backspace","mac+Backspace","mac+alt+Backspace","mac+ctrl+Backspace","Delete","ctrl+Delete","shift+Delete","mac+Delete"],t.delete,{checker:n}],[["Enter","mac+Enter"],t.addNewEditorFromKeyboard,{checker:(a,{target:c})=>!(c instanceof HTMLButtonElement)&&m(a,jo).contains(c)&&!a.isEnterHandled}],[[" ","mac+ "],t.addNewEditorFromKeyboard,{checker:(a,{target:c})=>!(c instanceof HTMLButtonElement)&&m(a,jo).contains(document.activeElement)}],[["Escape","mac+Escape"],t.unselectAll],[["ArrowLeft","mac+ArrowLeft"],t.translateSelectedEditors,{args:[-i,0],checker:e}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],t.translateSelectedEditors,{args:[-s,0],checker:e}],[["ArrowRight","mac+ArrowRight"],t.translateSelectedEditors,{args:[i,0],checker:e}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],t.translateSelectedEditors,{args:[s,0],checker:e}],[["ArrowUp","mac+ArrowUp"],t.translateSelectedEditors,{args:[0,-i],checker:e}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],t.translateSelectedEditors,{args:[0,-s],checker:e}],[["ArrowDown","mac+ArrowDown"],t.translateSelectedEditors,{args:[0,i],checker:e}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],t.translateSelectedEditors,{args:[0,s],checker:e}]]))}destroy(){var t,e,n,i,s,a,c,o,d;(t=m(this,yc))==null||t.resolve(),z(this,yc,null),(e=m(this,Fb))==null||e.abort(),z(this,Fb,null),this._signal=null;for(const h of m(this,os).values())h.destroy();m(this,os).clear(),m(this,Oi).clear(),m(this,mm).clear(),(n=m(this,Nu))==null||n.clear(),z(this,za,null),m(this,bn).clear(),m(this,Zc).destroy(),(i=m(this,vb))==null||i.destroy(),(s=m(this,Do))==null||s.destroy(),(a=m(this,Mu))==null||a.destroy(),(c=m(this,gr))==null||c.hide(),z(this,gr,null),(o=m(this,Qb))==null||o.destroy(),z(this,Qb,null),z(this,Jb,null),m(this,zr)&&(clearTimeout(m(this,zr)),z(this,zr,null)),m(this,xr)&&(clearTimeout(m(this,xr)),z(this,xr,null)),(d=this._editorUndoBar)==null||d.destroy(),z(this,Bb,null)}combinedSignal(t){return AbortSignal.any([this._signal,t.signal])}get mlManager(){return m(this,ey)}get useNewAltTextFlow(){return m(this,q2)}get useNewAltTextWhenAddingImage(){return m(this,Kb)}get hcmFilter(){return vl(this,"hcmFilter",m(this,Gu)?m(this,$2).addHCMFilter(m(this,Gu).foreground,m(this,Gu).background):"none")}get direction(){return vl(this,"direction",getComputedStyle(m(this,jo)).direction)}get _highlightColors(){return vl(this,"_highlightColors",m(this,Pb)?new Map(m(this,Pb).split(",").map(t=>(t=t.split("=").map(e=>e.trim()),t[1]=t[1].toUpperCase(),t))):null)}get highlightColors(){const{_highlightColors:t}=this;if(!t)return vl(this,"highlightColors",null);const e=new Map,n=!!m(this,Gu);for(const[i,s]of t){const a=i.endsWith("_HCM");if(n&&a){e.set(i.replace("_HCM",""),s);continue}!n&&!a&&e.set(i,s)}return vl(this,"highlightColors",e)}get highlightColorNames(){return vl(this,"highlightColorNames",this.highlightColors?new Map(Array.from(this.highlightColors,t=>t.reverse())):null)}getNonHCMColor(t){if(!this._highlightColors)return t;const e=this.highlightColorNames.get(t);return this._highlightColors.get(e)||t}getNonHCMColorName(t){return this.highlightColorNames.get(t)||t}setCurrentDrawingSession(t){t?(this.unselectAll(),this.disableUserSelect(!0)):this.disableUserSelect(!1),z(this,bu,t)}setMainHighlightColorPicker(t){z(this,Qb,t)}editAltText(t,e=!1){var n;(n=m(this,vb))==null||n.editAltText(this,t,e)}hasCommentManager(){return!!m(this,Do)}editComment(t,e){var n;(n=m(this,Do))==null||n.open(this,t,e)}getSignature(t){var e;(e=m(this,Mu))==null||e.getSignature({uiManager:this,editor:t})}get signatureManager(){return m(this,Mu)}switchToMode(t,e){this._eventBus.on("annotationeditormodechanged",e,{once:!0,signal:this._signal}),this._eventBus.dispatch("showannotationeditorui",{source:this,mode:t})}setPreference(t,e){this._eventBus.dispatch("setpreference",{source:this,name:t,value:e})}onSetPreference({name:t,value:e}){switch(t){case"enableNewAltTextWhenAddingImage":z(this,Kb,e);break}}onPageChanging({pageNumber:t}){z(this,Eb,t-1)}focusMainContainer(){m(this,jo).focus()}findParent(t,e){for(const n of m(this,os).values()){const{x:i,y:s,width:a,height:c}=n.div.getBoundingClientRect();if(t>=i&&t<=i+a&&e>=s&&e<=s+c)return n}return null}disableUserSelect(t=!1){m(this,iy).classList.toggle("noUserSelect",t)}addShouldRescale(t){m(this,mm).add(t)}removeShouldRescale(t){m(this,mm).delete(t)}onScaleChanging({scale:t}){var e;this.commitOrRemove(),this.viewParameters.realScale=t*d0.PDF_TO_CSS_UNITS;for(const n of m(this,mm))n.onScaleChanging();(e=m(this,bu))==null||e.onScaleChanging()}onRotationChanging({pagesRotation:t}){this.commitOrRemove(),this.viewParameters.rotation=t}highlightSelection(t="",e=!1){const n=document.getSelection();if(!n||n.isCollapsed)return;const{anchorNode:i,anchorOffset:s,focusNode:a,focusOffset:c}=n,o=n.toString(),h=J(this,Re,K1).call(this,n).closest(".textLayer"),b=this.getSelectionBoxes(h);if(!b)return;n.empty();const p=J(this,Re,zY).call(this,h),y=m(this,ji)===Tl.NONE,M=()=>{const T=p==null?void 0:p.createAndAddNewEditor({x:0,y:0},!1,{methodOfCreation:t,boxes:b,anchorNode:i,anchorOffset:s,focusNode:a,focusOffset:c,text:o});y&&this.showAllEditors("highlight",!0,!0),e&&(T==null||T.editComment())};if(y){this.switchToMode(Tl.HIGHLIGHT,M);return}M()}commentSelection(t=""){this.highlightSelection(t,!0)}addToAnnotationStorage(t){!t.isEmpty()&&m(this,ko)&&!m(this,ko).has(t.id)&&m(this,ko).setValue(t.id,t)}a11yAlert(t,e=null){const n=m(this,sy);n&&(n.setAttribute("data-l10n-id",t),e?n.setAttribute("data-l10n-args",JSON.stringify(e)):n.removeAttribute("data-l10n-args"))}blur(){if(this.isShiftKeyDown=!1,m(this,pu)&&(z(this,pu,!1),J(this,Re,n2).call(this,"main_toolbar")),!this.hasSelection)return;const{activeElement:t}=document;for(const e of m(this,bn))if(e.div.contains(t)){z(this,hm,[e,t]),e._focusEventsAllowed=!1;break}}focus(){if(!m(this,hm))return;const[t,e]=m(this,hm);z(this,hm,null),e.addEventListener("focusin",()=>{t._focusEventsAllowed=!0},{once:!0,signal:this._signal}),e.focus()}addEditListeners(){J(this,Re,gY).call(this),J(this,Re,xY).call(this)}removeEditListeners(){J(this,Re,ik).call(this),J(this,Re,fY).call(this)}dragOver(t){for(const{type:e}of t.dataTransfer.items)for(const n of m(this,pc))if(n.isHandlingMimeForPasting(e)){t.dataTransfer.dropEffect="copy",t.preventDefault();return}}drop(t){for(const e of t.dataTransfer.items)for(const n of m(this,pc))if(n.isHandlingMimeForPasting(e.type)){n.paste(e,this.currentLayer),t.preventDefault();return}}copy(t){var n;if(t.preventDefault(),(n=m(this,za))==null||n.commitOrRemove(),!this.hasSelection)return;const e=[];for(const i of m(this,bn)){const s=i.serialize(!0);s&&e.push(s)}e.length!==0&&t.clipboardData.setData("application/pdfjs",JSON.stringify(e))}cut(t){this.copy(t),this.delete()}async paste(t){t.preventDefault();const{clipboardData:e}=t;for(const s of e.items)for(const a of m(this,pc))if(a.isHandlingMimeForPasting(s.type)){a.paste(s,this.currentLayer);return}let n=e.getData("application/pdfjs");if(!n)return;try{n=JSON.parse(n)}catch(s){Ll(`paste: "${s.message}".`);return}if(!Array.isArray(n))return;this.unselectAll();const i=this.currentLayer;try{const s=[];for(const o of n){const d=await i.deserialize(o);if(!d)return;s.push(d)}const a=()=>{for(const o of s)J(this,Re,SY).call(this,o);J(this,Re,RY).call(this,s)},c=()=>{for(const o of s)o.remove()};this.addCommands({cmd:a,undo:c,mustExec:!0})}catch(s){Ll(`paste: "${s.message}".`)}}keydown(t){!this.isShiftKeyDown&&t.key==="Shift"&&(this.isShiftKeyDown=!0),m(this,ji)!==Tl.NONE&&!this.isEditorHandlingKeyboard&&wb._keyboardManager.exec(this,t)}keyup(t){this.isShiftKeyDown&&t.key==="Shift"&&(this.isShiftKeyDown=!1,m(this,pu)&&(z(this,pu,!1),J(this,Re,n2).call(this,"main_toolbar")))}onEditingAction({name:t}){switch(t){case"undo":case"redo":case"delete":case"selectAll":this[t]();break;case"highlightSelection":this.highlightSelection("context_menu");break;case"commentSelection":this.commentSelection("context_menu");break}}setEditingState(t){t?(J(this,Re,lk).call(this),J(this,Re,xY).call(this),J(this,Re,js).call(this,{isEditing:m(this,ji)!==Tl.NONE,isEmpty:J(this,Re,i2).call(this),hasSomethingToUndo:m(this,Zc).hasSomethingToUndo(),hasSomethingToRedo:m(this,Zc).hasSomethingToRedo(),hasSelectedEditor:!1})):(J(this,Re,nk).call(this),J(this,Re,fY).call(this),J(this,Re,js).call(this,{isEditing:!1}),this.disableUserSelect(!1))}registerEditorTypes(t){if(!m(this,pc)){z(this,pc,t);for(const e of m(this,pc))J(this,Re,wo).call(this,e.defaultPropertiesToUpdate)}}getId(){return m(this,eG).id}get currentLayer(){return m(this,os).get(m(this,Eb))}getLayer(t){return m(this,os).get(t)}get currentPageIndex(){return m(this,Eb)}addLayer(t){m(this,os).set(t.pageIndex,t),m(this,yu)?t.enable():t.disable()}removeLayer(t){m(this,os).delete(t.pageIndex)}async updateMode(t,e=null,n=!1,i=!1,s=!1){var a,c,o,d,h;if(m(this,ji)!==t&&!(m(this,yc)&&(await m(this,yc).promise,!m(this,yc)))){if(z(this,yc,Promise.withResolvers()),(a=m(this,bu))==null||a.commitOrRemove(),m(this,ji)===Tl.POPUP&&((c=m(this,Do))==null||c.hideSidebar()),z(this,ji,t),t===Tl.NONE){this.setEditingState(!1),J(this,Re,ck).call(this),(o=this._editorUndoBar)==null||o.hide(),m(this,yc).resolve();return}t===Tl.SIGNATURE&&await((d=m(this,Mu))==null?void 0:d.loadSignatures()),t===Tl.POPUP&&(m(this,Jb)||z(this,Jb,await m(this,Bb).getAnnotationsByType(new Set(m(this,pc).map(b=>b._editorType)))),(h=m(this,Do))==null||h.showSidebar(m(this,Jb))),this.setEditingState(!0),await J(this,Re,ak).call(this),this.unselectAll();for(const b of m(this,os).values())b.updateMode(t);if(!e){n&&this.addNewEditorFromKeyboard(),m(this,yc).resolve();return}for(const b of m(this,Oi).values())b.annotationElementId===e||b.id===e?(this.setSelected(b),s?b.editComment():i&&b.enterInEditMode()):b.unselect();m(this,yc).resolve()}}addNewEditorFromKeyboard(){this.currentLayer.canCreateNewEmptyEditor()&&this.currentLayer.addNewEditor()}updateToolbar(t){t.mode!==m(this,ji)&&this._eventBus.dispatch("switchannotationeditormode",{source:this,...t})}updateParams(t,e){if(m(this,pc)){switch(t){case _l.CREATE:this.currentLayer.addNewEditor(e);return;case _l.HIGHLIGHT_SHOW_ALL:this._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",data:{type:"highlight",action:"toggle_visibility"}}}),(m(this,ly)||z(this,ly,new Map)).set(t,e),this.showAllEditors("highlight",e);break}if(this.hasSelection)for(const n of m(this,bn))n.updateParams(t,e);else for(const n of m(this,pc))n.updateDefaultParams(t,e)}}showAllEditors(t,e,n=!1){var s;for(const a of m(this,Oi).values())a.editorType===t&&a.show(e);(((s=m(this,ly))==null?void 0:s.get(_l.HIGHLIGHT_SHOW_ALL))??!0)!==e&&J(this,Re,wo).call(this,[[_l.HIGHLIGHT_SHOW_ALL,e]])}enableWaiting(t=!1){if(m(this,ty)!==t){z(this,ty,t);for(const e of m(this,os).values())t?e.disableClick():e.enableClick(),e.div.classList.toggle("waiting",t)}}getEditors(t){const e=[];for(const n of m(this,Oi).values())n.pageIndex===t&&e.push(n);return e}getEditor(t){return m(this,Oi).get(t)}addEditor(t){m(this,Oi).set(t.id,t)}removeEditor(t){var e,n;t.div.contains(document.activeElement)&&(m(this,zr)&&clearTimeout(m(this,zr)),z(this,zr,setTimeout(()=>{this.focusMainContainer(),z(this,zr,null)},0))),m(this,Oi).delete(t.id),t.annotationElementId&&((e=m(this,Nu))==null||e.delete(t.annotationElementId)),this.unselect(t),(!t.annotationElementId||!m(this,um).has(t.annotationElementId))&&((n=m(this,ko))==null||n.remove(t.id))}addDeletedAnnotationElement(t){m(this,um).add(t.annotationElementId),this.addChangedExistingAnnotation(t),t.deleted=!0}isDeletedAnnotationElement(t){return m(this,um).has(t)}removeDeletedAnnotationElement(t){m(this,um).delete(t.annotationElementId),this.removeChangedExistingAnnotation(t),t.deleted=!1}setActiveEditor(t){m(this,za)!==t&&(z(this,za,t),t&&J(this,Re,wo).call(this,t.propertiesToUpdate))}updateUI(t){m(this,Re,rk)===t&&J(this,Re,wo).call(this,t.propertiesToUpdate)}updateUIForDefaultProperties(t){J(this,Re,wo).call(this,t.defaultPropertiesToUpdate)}toggleSelected(t){if(m(this,bn).has(t)){m(this,bn).delete(t),t.unselect(),J(this,Re,js).call(this,{hasSelectedEditor:this.hasSelection});return}m(this,bn).add(t),t.select(),J(this,Re,wo).call(this,t.propertiesToUpdate),J(this,Re,js).call(this,{hasSelectedEditor:!0})}setSelected(t){var e;this.updateToolbar({mode:t.mode,editId:t.id}),(e=m(this,bu))==null||e.commitOrRemove();for(const n of m(this,bn))n!==t&&n.unselect();m(this,bn).clear(),m(this,bn).add(t),t.select(),J(this,Re,wo).call(this,t.propertiesToUpdate),J(this,Re,js).call(this,{hasSelectedEditor:!0})}isSelected(t){return m(this,bn).has(t)}get firstSelectedEditor(){return m(this,bn).values().next().value}unselect(t){t.unselect(),m(this,bn).delete(t),J(this,Re,js).call(this,{hasSelectedEditor:this.hasSelection})}get hasSelection(){return m(this,bn).size!==0}get isEnterHandled(){return m(this,bn).size===1&&this.firstSelectedEditor.isEnterHandled}undo(){var t;m(this,Zc).undo(),J(this,Re,js).call(this,{hasSomethingToUndo:m(this,Zc).hasSomethingToUndo(),hasSomethingToRedo:!0,isEmpty:J(this,Re,i2).call(this)}),(t=this._editorUndoBar)==null||t.hide()}redo(){m(this,Zc).redo(),J(this,Re,js).call(this,{hasSomethingToUndo:!0,hasSomethingToRedo:m(this,Zc).hasSomethingToRedo(),isEmpty:J(this,Re,i2).call(this)})}addCommands(t){m(this,Zc).add(t),J(this,Re,js).call(this,{hasSomethingToUndo:!0,hasSomethingToRedo:!1,isEmpty:J(this,Re,i2).call(this)})}cleanUndoStack(t){m(this,Zc).cleanType(t)}delete(){var s;this.commitOrRemove();const t=(s=this.currentLayer)==null?void 0:s.endDrawingSession(!0);if(!this.hasSelection&&!t)return;const e=t?[t]:[...m(this,bn)],n=()=>{var a;(a=this._editorUndoBar)==null||a.show(i,e.length===1?e[0].editorType:e.length);for(const c of e)c.remove()},i=()=>{for(const a of e)J(this,Re,SY).call(this,a)};this.addCommands({cmd:n,undo:i,mustExec:!0})}commitOrRemove(){var t;(t=m(this,za))==null||t.commitOrRemove()}hasSomethingToControl(){return m(this,za)||this.hasSelection}selectAll(){for(const t of m(this,bn))t.commit();J(this,Re,RY).call(this,m(this,Oi).values())}unselectAll(){var t;if(!(m(this,za)&&(m(this,za).commitOrRemove(),m(this,ji)!==Tl.NONE))&&!((t=m(this,bu))!=null&&t.commitOrRemove())&&this.hasSelection){for(const e of m(this,bn))e.unselect();m(this,bn).clear(),J(this,Re,js).call(this,{hasSelectedEditor:!1})}}translateSelectedEditors(t,e,n=!1){if(n||this.commitOrRemove(),!this.hasSelection)return;m(this,Tu)[0]+=t,m(this,Tu)[1]+=e;const[i,s]=m(this,Tu),a=[...m(this,bn)],c=1e3;m(this,xr)&&clearTimeout(m(this,xr)),z(this,xr,setTimeout(()=>{z(this,xr,null),m(this,Tu)[0]=m(this,Tu)[1]=0,this.addCommands({cmd:()=>{for(const o of a)m(this,Oi).has(o.id)&&(o.translateInPage(i,s),o.translationDone())},undo:()=>{for(const o of a)m(this,Oi).has(o.id)&&(o.translateInPage(-i,-s),o.translationDone())},mustExec:!1})},c));for(const o of a)o.translateInPage(t,e),o.translationDone()}setUpDragSession(){if(this.hasSelection){this.disableUserSelect(!0),z(this,wr,new Map);for(const t of m(this,bn))m(this,wr).set(t,{savedX:t.x,savedY:t.y,savedPageIndex:t.pageIndex,newX:0,newY:0,newPageIndex:-1})}}endDragSession(){if(!m(this,wr))return!1;this.disableUserSelect(!1);const t=m(this,wr);z(this,wr,null);let e=!1;for(const[{x:i,y:s,pageIndex:a},c]of t)c.newX=i,c.newY=s,c.newPageIndex=a,e||(e=i!==c.savedX||s!==c.savedY||a!==c.savedPageIndex);if(!e)return!1;const n=(i,s,a,c)=>{if(m(this,Oi).has(i.id)){const o=m(this,os).get(c);o?i._setParentAndPosition(o,s,a):(i.pageIndex=c,i.x=s,i.y=a)}};return this.addCommands({cmd:()=>{for(const[i,{newX:s,newY:a,newPageIndex:c}]of t)n(i,s,a,c)},undo:()=>{for(const[i,{savedX:s,savedY:a,savedPageIndex:c}]of t)n(i,s,a,c)},mustExec:!0}),!0}dragSelectedEditors(t,e){if(m(this,wr))for(const n of m(this,wr).keys())n.drag(t,e)}rebuild(t){if(t.parent===null){const e=this.getLayer(t.pageIndex);e?(e.changeParent(t),e.addOrRebuild(t)):(this.addEditor(t),this.addToAnnotationStorage(t),t.rebuild())}else t.parent.addOrRebuild(t)}get isEditorHandlingKeyboard(){var t;return((t=this.getActive())==null?void 0:t.shouldGetKeyboardEvents())||m(this,bn).size===1&&this.firstSelectedEditor.shouldGetKeyboardEvents()}isActive(t){return m(this,za)===t}getActive(){return m(this,za)}getMode(){return m(this,ji)}get imageManager(){return vl(this,"imageManager",new IY)}getSelectionBoxes(t){if(!t)return null;const e=document.getSelection();for(let d=0,h=e.rangeCount;d<h;d++)if(!t.contains(e.getRangeAt(d).commonAncestorContainer))return null;const{x:n,y:i,width:s,height:a}=t.getBoundingClientRect();let c;switch(t.getAttribute("data-main-rotation")){case"90":c=(d,h,b,p)=>({x:(h-i)/a,y:1-(d+b-n)/s,width:p/a,height:b/s});break;case"180":c=(d,h,b,p)=>({x:1-(d+b-n)/s,y:1-(h+p-i)/a,width:b/s,height:p/a});break;case"270":c=(d,h,b,p)=>({x:1-(h+p-i)/a,y:(d-n)/s,width:p/a,height:b/s});break;default:c=(d,h,b,p)=>({x:(d-n)/s,y:(h-i)/a,width:b/s,height:p/a});break}const o=[];for(let d=0,h=e.rangeCount;d<h;d++){const b=e.getRangeAt(d);if(!b.collapsed)for(const{x:p,y,width:M,height:T}of b.getClientRects())M===0||T===0||o.push(c(p,y,M,T))}return o.length===0?null:o}addChangedExistingAnnotation({annotationElementId:t,id:e}){(m(this,Ub)||z(this,Ub,new Map)).set(t,e)}removeChangedExistingAnnotation({annotationElementId:t}){var e;(e=m(this,Ub))==null||e.delete(t)}renderAnnotationElement(t){var i;const e=(i=m(this,Ub))==null?void 0:i.get(t.data.id);if(!e)return;const n=m(this,ko).getRawValue(e);n&&(m(this,ji)===Tl.NONE&&!n.hasBeenModified||n.renderAnnotationElement(t))}setMissingCanvas(t,e,n){var s;const i=(s=m(this,Nu))==null?void 0:s.get(t);i&&(i.setCanvas(e,n),m(this,Nu).delete(t))}addMissingCanvas(t,e){(m(this,Nu)||z(this,Nu,new Map)).set(t,e)}};Fb=new WeakMap,za=new WeakMap,Jb=new WeakMap,Oi=new WeakMap,os=new WeakMap,vb=new WeakMap,ko=new WeakMap,Ub=new WeakMap,Zc=new WeakMap,Do=new WeakMap,hu=new WeakMap,bu=new WeakMap,Eb=new WeakMap,um=new WeakMap,wr=new WeakMap,pc=new WeakMap,mm=new WeakMap,_2=new WeakMap,q2=new WeakMap,Kb=new WeakMap,$2=new WeakMap,zr=new WeakMap,Zu=new WeakMap,Pb=new WeakMap,pu=new WeakMap,gr=new WeakMap,eG=new WeakMap,yu=new WeakMap,Hb=new WeakMap,ty=new WeakMap,Wu=new WeakMap,hm=new WeakMap,Qb=new WeakMap,Nu=new WeakMap,ey=new WeakMap,ji=new WeakMap,bn=new WeakMap,Oo=new WeakMap,Mu=new WeakMap,Gu=new WeakMap,ly=new WeakMap,Bb=new WeakMap,ny=new WeakMap,Tu=new WeakMap,xr=new WeakMap,jo=new WeakMap,iy=new WeakMap,sy=new WeakMap,yc=new WeakMap,Re=new WeakSet,K1=function({anchorNode:t}){return t.nodeType===Node.TEXT_NODE?t.parentElement:t},zY=function(t){const{currentLayer:e}=this;if(e.hasTextLayer(t))return e;for(const n of m(this,os).values())if(n.hasTextLayer(t))return n;return null},$R=function(){const t=document.getSelection();if(!t||t.isCollapsed)return;const n=J(this,Re,K1).call(this,t).closest(".textLayer"),i=this.getSelectionBoxes(n);i&&(m(this,gr)||z(this,gr,new O_(this)),m(this,gr).show(n,i,this.direction==="ltr"))},tk=function(){var s,a,c;const t=document.getSelection();if(!t||t.isCollapsed){m(this,Oo)&&((s=m(this,gr))==null||s.hide(),z(this,Oo,null),J(this,Re,js).call(this,{hasSelectedText:!1}));return}const{anchorNode:e}=t;if(e===m(this,Oo))return;const i=J(this,Re,K1).call(this,t).closest(".textLayer");if(!i){m(this,Oo)&&((a=m(this,gr))==null||a.hide(),z(this,Oo,null),J(this,Re,js).call(this,{hasSelectedText:!1}));return}if((c=m(this,gr))==null||c.hide(),z(this,Oo,e),J(this,Re,js).call(this,{hasSelectedText:!0}),!(m(this,ji)!==Tl.HIGHLIGHT&&m(this,ji)!==Tl.NONE)&&(m(this,ji)===Tl.HIGHLIGHT&&this.showAllEditors("highlight",!0,!0),z(this,pu,this.isShiftKeyDown),!this.isShiftKeyDown)){const o=m(this,ji)===Tl.HIGHLIGHT?J(this,Re,zY).call(this,i):null;if(o==null||o.toggleDrawing(),m(this,Hb)){const d=new AbortController,h=this.combinedSignal(d),b=p=>{p.type==="pointerup"&&p.button!==0||(d.abort(),o==null||o.toggleDrawing(!0),p.type==="pointerup"&&J(this,Re,n2).call(this,"main_toolbar"))};window.addEventListener("pointerup",b,{signal:h}),window.addEventListener("blur",b,{signal:h})}else o==null||o.toggleDrawing(!0),J(this,Re,n2).call(this,"main_toolbar")}},n2=function(t=""){m(this,ji)===Tl.HIGHLIGHT?this.highlightSelection(t):m(this,_2)&&J(this,Re,$R).call(this)},ek=function(){document.addEventListener("selectionchange",J(this,Re,tk).bind(this),{signal:this._signal})},lk=function(){if(m(this,Zu))return;z(this,Zu,new AbortController);const t=this.combinedSignal(m(this,Zu));window.addEventListener("focus",this.focus.bind(this),{signal:t}),window.addEventListener("blur",this.blur.bind(this),{signal:t})},nk=function(){var t;(t=m(this,Zu))==null||t.abort(),z(this,Zu,null)},gY=function(){if(m(this,Wu))return;z(this,Wu,new AbortController);const t=this.combinedSignal(m(this,Wu));window.addEventListener("keydown",this.keydown.bind(this),{signal:t}),window.addEventListener("keyup",this.keyup.bind(this),{signal:t})},ik=function(){var t;(t=m(this,Wu))==null||t.abort(),z(this,Wu,null)},xY=function(){if(m(this,hu))return;z(this,hu,new AbortController);const t=this.combinedSignal(m(this,hu));document.addEventListener("copy",this.copy.bind(this),{signal:t}),document.addEventListener("cut",this.cut.bind(this),{signal:t}),document.addEventListener("paste",this.paste.bind(this),{signal:t})},fY=function(){var t;(t=m(this,hu))==null||t.abort(),z(this,hu,null)},sk=function(){const t=this._signal;document.addEventListener("dragover",this.dragOver.bind(this),{signal:t}),document.addEventListener("drop",this.drop.bind(this),{signal:t})},js=function(t){Object.entries(t).some(([n,i])=>m(this,ny)[n]!==i)&&(this._eventBus.dispatch("annotationeditorstateschanged",{source:this,details:Object.assign(m(this,ny),t)}),m(this,ji)===Tl.HIGHLIGHT&&t.hasSelectedEditor===!1&&J(this,Re,wo).call(this,[[_l.HIGHLIGHT_FREE,!0]]))},wo=function(t){this._eventBus.dispatch("annotationeditorparamschanged",{source:this,details:t})},ak=async function(){if(!m(this,yu)){z(this,yu,!0);const t=[];for(const e of m(this,os).values())t.push(e.enable());await Promise.all(t);for(const e of m(this,Oi).values())e.enable()}},ck=function(){if(this.unselectAll(),m(this,yu)){z(this,yu,!1);for(const t of m(this,os).values())t.disable();for(const t of m(this,Oi).values())t.disable()}},SY=function(t){const e=m(this,os).get(t.pageIndex);e?e.addOrRebuild(t):(this.addEditor(t),this.addToAnnotationStorage(t))},rk=function(){let t=null;for(t of m(this,bn));return t},i2=function(){if(m(this,Oi).size===0)return!0;if(m(this,Oi).size===1)for(const t of m(this,Oi).values())return t.isEmpty();return!1},RY=function(t){for(const e of m(this,bn))e.unselect();m(this,bn).clear();for(const e of t)e.isEmpty()||(m(this,bn).add(e),e.select());J(this,Re,js).call(this,{hasSelectedEditor:this.hasSelection})},We(wb,"TRANSLATE_SMALL",1),We(wb,"TRANSLATE_BIG",10);let Wh=wb;var Bi,fr,Pc,Ab,Sr,ga,_b,Rr,ma,Co,bm,kr,Xu,sr,s2,P1;const Cs=class Cs{constructor(t){k(this,sr);k(this,Bi,null);k(this,fr,!1);k(this,Pc,null);k(this,Ab,null);k(this,Sr,null);k(this,ga,null);k(this,_b,!1);k(this,Rr,null);k(this,ma,null);k(this,Co,null);k(this,bm,null);k(this,kr,!1);z(this,ma,t),z(this,kr,t._uiManager.useNewAltTextFlow),m(Cs,Xu)||z(Cs,Xu,Object.freeze({added:"pdfjs-editor-new-alt-text-added-button","added-label":"pdfjs-editor-new-alt-text-added-button-label",missing:"pdfjs-editor-new-alt-text-missing-button","missing-label":"pdfjs-editor-new-alt-text-missing-button-label",review:"pdfjs-editor-new-alt-text-to-review-button","review-label":"pdfjs-editor-new-alt-text-to-review-button-label"}))}static initialize(t){Cs._l10n??(Cs._l10n=t)}async render(){const t=z(this,Pc,document.createElement("button"));t.className="altText",t.tabIndex="0";const e=z(this,Ab,document.createElement("span"));t.append(e),m(this,kr)?(t.classList.add("new"),t.setAttribute("data-l10n-id",m(Cs,Xu).missing),e.setAttribute("data-l10n-id",m(Cs,Xu)["missing-label"])):(t.setAttribute("data-l10n-id","pdfjs-editor-alt-text-button"),e.setAttribute("data-l10n-id","pdfjs-editor-alt-text-button-label"));const n=m(this,ma)._uiManager._signal;t.addEventListener("contextmenu",Sc,{signal:n}),t.addEventListener("pointerdown",s=>s.stopPropagation(),{signal:n});const i=s=>{s.preventDefault(),m(this,ma)._uiManager.editAltText(m(this,ma)),m(this,kr)&&m(this,ma)._reportTelemetry({action:"pdfjs.image.alt_text.image_status_label_clicked",data:{label:m(this,sr,s2)}})};return t.addEventListener("click",i,{capture:!0,signal:n}),t.addEventListener("keydown",s=>{s.target===t&&s.key==="Enter"&&(z(this,_b,!0),i(s))},{signal:n}),await J(this,sr,P1).call(this),t}finish(){m(this,Pc)&&(m(this,Pc).focus({focusVisible:m(this,_b)}),z(this,_b,!1))}isEmpty(){return m(this,kr)?m(this,Bi)===null:!m(this,Bi)&&!m(this,fr)}hasData(){return m(this,kr)?m(this,Bi)!==null||!!m(this,Co):this.isEmpty()}get guessedText(){return m(this,Co)}async setGuessedText(t){m(this,Bi)===null&&(z(this,Co,t),z(this,bm,await Cs._l10n.get("pdfjs-editor-new-alt-text-generated-alt-text-with-disclaimer",{generatedAltText:t})),J(this,sr,P1).call(this))}toggleAltTextBadge(t=!1){var e;if(!m(this,kr)||m(this,Bi)){(e=m(this,Rr))==null||e.remove(),z(this,Rr,null);return}if(!m(this,Rr)){const n=z(this,Rr,document.createElement("div"));n.className="noAltTextBadge",m(this,ma).div.append(n)}m(this,Rr).classList.toggle("hidden",!t)}serialize(t){let e=m(this,Bi);return!t&&m(this,Co)===e&&(e=m(this,bm)),{altText:e,decorative:m(this,fr),guessedText:m(this,Co),textWithDisclaimer:m(this,bm)}}get data(){return{altText:m(this,Bi),decorative:m(this,fr)}}set data({altText:t,decorative:e,guessedText:n,textWithDisclaimer:i,cancel:s=!1}){n&&(z(this,Co,n),z(this,bm,i)),!(m(this,Bi)===t&&m(this,fr)===e)&&(s||(z(this,Bi,t),z(this,fr,e)),J(this,sr,P1).call(this))}toggle(t=!1){m(this,Pc)&&(!t&&m(this,ga)&&(clearTimeout(m(this,ga)),z(this,ga,null)),m(this,Pc).disabled=!t)}shown(){m(this,ma)._reportTelemetry({action:"pdfjs.image.alt_text.image_status_label_displayed",data:{label:m(this,sr,s2)}})}destroy(){var t,e;(t=m(this,Pc))==null||t.remove(),z(this,Pc,null),z(this,Ab,null),z(this,Sr,null),(e=m(this,Rr))==null||e.remove(),z(this,Rr,null)}};Bi=new WeakMap,fr=new WeakMap,Pc=new WeakMap,Ab=new WeakMap,Sr=new WeakMap,ga=new WeakMap,_b=new WeakMap,Rr=new WeakMap,ma=new WeakMap,Co=new WeakMap,bm=new WeakMap,kr=new WeakMap,Xu=new WeakMap,sr=new WeakSet,s2=function(){return m(this,Bi)&&"added"||m(this,Bi)===null&&this.guessedText&&"review"||"missing"},P1=async function(){var i,s,a;const t=m(this,Pc);if(!t)return;if(m(this,kr)){if(t.classList.toggle("done",!!m(this,Bi)),t.setAttribute("data-l10n-id",m(Cs,Xu)[m(this,sr,s2)]),(i=m(this,Ab))==null||i.setAttribute("data-l10n-id",m(Cs,Xu)[`${m(this,sr,s2)}-label`]),!m(this,Bi)){(s=m(this,Sr))==null||s.remove();return}}else{if(!m(this,Bi)&&!m(this,fr)){t.classList.remove("done"),(a=m(this,Sr))==null||a.remove();return}t.classList.add("done"),t.setAttribute("data-l10n-id","pdfjs-editor-alt-text-edit-button")}let e=m(this,Sr);if(!e){z(this,Sr,e=document.createElement("span")),e.className="tooltip",e.setAttribute("role","tooltip"),e.id=`alt-text-tooltip-${m(this,ma).id}`;const c=100,o=m(this,ma)._uiManager._signal;o.addEventListener("abort",()=>{clearTimeout(m(this,ga)),z(this,ga,null)},{once:!0}),t.addEventListener("mouseenter",()=>{z(this,ga,setTimeout(()=>{z(this,ga,null),m(this,Sr).classList.add("show"),m(this,ma)._reportTelemetry({action:"alt_text_tooltip"})},c))},{signal:o}),t.addEventListener("mouseleave",()=>{var d;m(this,ga)&&(clearTimeout(m(this,ga)),z(this,ga,null)),(d=m(this,Sr))==null||d.classList.remove("show")},{signal:o})}m(this,fr)?e.setAttribute("data-l10n-id","pdfjs-editor-alt-text-decorative-tooltip"):(e.removeAttribute("data-l10n-id"),e.textContent=m(this,Bi)),e.parentNode||t.append(e);const n=m(this,ma).getElementForAltText();n==null||n.setAttribute("aria-describedby",e.id)},k(Cs,Xu,null),We(Cs,"_l10n",null);let CM=Cs;var Dr,Zm,Hc,ay,Fo,qb,Yu;class M1{constructor(t){k(this,Dr,null);k(this,Zm,!1);k(this,Hc,null);k(this,ay,null);k(this,Fo,null);k(this,qb,null);k(this,Yu,!1);z(this,Hc,t),this.toolbar=null}render(){if(!m(this,Hc)._uiManager.hasCommentManager())return null;const t=z(this,Dr,document.createElement("button"));t.className="comment",t.tabIndex="0",t.setAttribute("data-l10n-id","pdfjs-editor-edit-comment-button");const e=m(this,Hc)._uiManager._signal;if(!(e instanceof AbortSignal)||e.aborted)return t;t.addEventListener("contextmenu",Sc,{signal:e}),t.addEventListener("pointerdown",i=>i.stopPropagation(),{signal:e});const n=i=>{i.preventDefault(),this.edit()};return t.addEventListener("click",n,{capture:!0,signal:e}),t.addEventListener("keydown",i=>{i.target===t&&i.key==="Enter"&&(z(this,Zm,!0),n(i))},{signal:e}),t}edit(){const{bottom:t,left:e,right:n}=m(this,Hc).getClientDimensions(),i={top:t};m(this,Hc)._uiManager.direction==="ltr"?i.right=n:i.left=e,m(this,Hc)._uiManager.editComment(m(this,Hc),i)}finish(){m(this,Dr)&&(m(this,Dr).focus({focusVisible:m(this,Zm)}),z(this,Zm,!1))}isDeleted(){return m(this,Yu)||m(this,Fo)===""}hasBeenEdited(){return this.isDeleted()||m(this,Fo)!==m(this,ay)}serialize(){return this.data}get data(){return{text:m(this,Fo),date:m(this,qb),deleted:m(this,Yu)}}set data(t){if(t===null){z(this,Fo,""),z(this,Yu,!0);return}z(this,Fo,t),z(this,qb,new Date),z(this,Yu,!1)}setInitialText(t){z(this,ay,t),this.data=t}toggle(t=!1){m(this,Dr)&&(m(this,Dr).disabled=!t)}shown(){}destroy(){var t;(t=m(this,Dr))==null||t.remove(),z(this,Dr,null),z(this,Fo,""),z(this,qb,null),z(this,Hc,null),z(this,Zm,!1),z(this,Yu,!1)}}Dr=new WeakMap,Zm=new WeakMap,Hc=new WeakMap,ay=new WeakMap,Fo=new WeakMap,qb=new WeakMap,Yu=new WeakMap;var $b,pm,cy,ry,oy,dy,uy,Jo,ym,vo,Wm,Uo,u0,ok,dk,uk;const nI=class nI{constructor({container:t,isPinchingDisabled:e=null,isPinchingStopped:n=null,onPinchStart:i=null,onPinching:s=null,onPinchEnd:a=null,signal:c}){k(this,u0);k(this,$b);k(this,pm,!1);k(this,cy,null);k(this,ry);k(this,oy);k(this,dy);k(this,uy);k(this,Jo,null);k(this,ym);k(this,vo,null);k(this,Wm);k(this,Uo,null);z(this,$b,t),z(this,cy,n),z(this,ry,e),z(this,oy,i),z(this,dy,s),z(this,uy,a),z(this,Wm,new AbortController),z(this,ym,AbortSignal.any([c,m(this,Wm).signal])),t.addEventListener("touchstart",J(this,u0,ok).bind(this),{passive:!1,signal:m(this,ym)})}get MIN_TOUCH_DISTANCE_TO_PINCH(){return 35/$r.pixelRatio}destroy(){var t,e;(t=m(this,Wm))==null||t.abort(),z(this,Wm,null),(e=m(this,Jo))==null||e.abort(),z(this,Jo,null)}};$b=new WeakMap,pm=new WeakMap,cy=new WeakMap,ry=new WeakMap,oy=new WeakMap,dy=new WeakMap,uy=new WeakMap,Jo=new WeakMap,ym=new WeakMap,vo=new WeakMap,Wm=new WeakMap,Uo=new WeakMap,u0=new WeakSet,ok=function(t){var i,s,a;if((i=m(this,ry))!=null&&i.call(this))return;if(t.touches.length===1){if(m(this,Jo))return;const c=z(this,Jo,new AbortController),o=AbortSignal.any([m(this,ym),c.signal]),d=m(this,$b),h={capture:!0,signal:o,passive:!1},b=p=>{var y;p.pointerType==="touch"&&((y=m(this,Jo))==null||y.abort(),z(this,Jo,null))};d.addEventListener("pointerdown",p=>{p.pointerType==="touch"&&(Li(p),b(p))},h),d.addEventListener("pointerup",b,h),d.addEventListener("pointercancel",b,h);return}if(!m(this,Uo)){z(this,Uo,new AbortController);const c=AbortSignal.any([m(this,ym),m(this,Uo).signal]),o=m(this,$b),d={signal:c,capture:!1,passive:!1};o.addEventListener("touchmove",J(this,u0,dk).bind(this),d);const h=J(this,u0,uk).bind(this);o.addEventListener("touchend",h,d),o.addEventListener("touchcancel",h,d),d.capture=!0,o.addEventListener("pointerdown",Li,d),o.addEventListener("pointermove",Li,d),o.addEventListener("pointercancel",Li,d),o.addEventListener("pointerup",Li,d),(s=m(this,oy))==null||s.call(this)}if(Li(t),t.touches.length!==2||(a=m(this,cy))!=null&&a.call(this)){z(this,vo,null);return}let[e,n]=t.touches;e.identifier>n.identifier&&([e,n]=[n,e]),z(this,vo,{touch0X:e.screenX,touch0Y:e.screenY,touch1X:n.screenX,touch1Y:n.screenY})},dk=function(t){var F;if(!m(this,vo)||t.touches.length!==2)return;Li(t);let[e,n]=t.touches;e.identifier>n.identifier&&([e,n]=[n,e]);const{screenX:i,screenY:s}=e,{screenX:a,screenY:c}=n,o=m(this,vo),{touch0X:d,touch0Y:h,touch1X:b,touch1Y:p}=o,y=b-d,M=p-h,T=a-i,Y=c-s,L=Math.hypot(T,Y)||1,x=Math.hypot(y,M)||1;if(!m(this,pm)&&Math.abs(x-L)<=nI.MIN_TOUCH_DISTANCE_TO_PINCH)return;if(o.touch0X=i,o.touch0Y=s,o.touch1X=a,o.touch1Y=c,!m(this,pm)){z(this,pm,!0);return}const g=[(i+a)/2,(s+c)/2];(F=m(this,dy))==null||F.call(this,g,x,L)},uk=function(t){var e;t.touches.length>=2||(m(this,Uo)&&(m(this,Uo).abort(),z(this,Uo,null),(e=m(this,uy))==null||e.call(this)),m(this,vo)&&(Li(t),z(this,vo,null),z(this,pm,!1)))};let FM=nI;var Nm,Qc,vn,ds,tZ,Lu,my,Mm,us,Gm,Eo,Vu,hy,Tm,xa,by,Xm,Ko,Or,eZ,lZ,Wc,Ym,Zy,lG,ul,kY,py,DY,H1,mk,hk,OY,Q1,jY,bk,Zk,pk,CY,yk,FY,Wk,Nk,Mk,JY,a2;const Cl=class Cl{constructor(t){k(this,ul);k(this,Nm,null);k(this,Qc,null);k(this,vn,null);k(this,ds,null);k(this,tZ,!1);k(this,Lu,null);k(this,my,"");k(this,Mm,!1);k(this,us,null);k(this,Gm,null);k(this,Eo,null);k(this,Vu,null);k(this,hy,"");k(this,Tm,!1);k(this,xa,null);k(this,by,!1);k(this,Xm,!1);k(this,Ko,!1);k(this,Or,null);k(this,eZ,0);k(this,lZ,0);k(this,Wc,null);k(this,Ym,null);We(this,"isSelected",!1);We(this,"_isCopy",!1);We(this,"_editToolbar",null);We(this,"_initialOptions",Object.create(null));We(this,"_initialData",null);We(this,"_isVisible",!0);We(this,"_uiManager",null);We(this,"_focusEventsAllowed",!0);k(this,Zy,!1);k(this,lG,Cl._zIndex++);this.parent=t.parent,this.id=t.id,this.width=this.height=null,this.pageIndex=t.parent.pageIndex,this.name=t.name,this.div=null,this._uiManager=t.uiManager,this.annotationElementId=null,this._willKeepAspectRatio=!1,this._initialOptions.isCentered=t.isCentered,this._structTreeParentId=null,this.annotationElementId=t.annotationElementId||null;const{rotation:e,rawDims:{pageWidth:n,pageHeight:i,pageX:s,pageY:a}}=this.parent.viewport;this.rotation=e,this.pageRotation=(360+e-this._uiManager.viewParameters.rotation)%360,this.pageDimensions=[n,i],this.pageTranslation=[s,a];const[c,o]=this.parentDimensions;this.x=t.x/c,this.y=t.y/o,this.isAttachedToDOM=!1,this.deleted=!1}static get _resizerKeyboardManager(){const t=Cl.prototype._resizeWithKeyboard,e=Wh.TRANSLATE_SMALL,n=Wh.TRANSLATE_BIG;return vl(this,"_resizerKeyboardManager",new CW([[["ArrowLeft","mac+ArrowLeft"],t,{args:[-e,0]}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],t,{args:[-n,0]}],[["ArrowRight","mac+ArrowRight"],t,{args:[e,0]}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],t,{args:[n,0]}],[["ArrowUp","mac+ArrowUp"],t,{args:[0,-e]}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],t,{args:[0,-n]}],[["ArrowDown","mac+ArrowDown"],t,{args:[0,e]}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],t,{args:[0,n]}],[["Escape","mac+Escape"],Cl.prototype._stopResizingWithKeyboard]]))}get editorType(){return Object.getPrototypeOf(this).constructor._type}get mode(){return Object.getPrototypeOf(this).constructor._editorType}static get isDrawer(){return!1}static get _defaultLineColor(){return vl(this,"_defaultLineColor",this._colorManager.getHexCode("CanvasText"))}static deleteAnnotationElement(t){const e=new F_({id:t.parent.getNextId(),parent:t.parent,uiManager:t._uiManager});e.annotationElementId=t.annotationElementId,e.deleted=!0,e._uiManager.addToAnnotationStorage(e)}static initialize(t,e){if(Cl._l10n??(Cl._l10n=t),Cl._l10nResizer||(Cl._l10nResizer=Object.freeze({topLeft:"pdfjs-editor-resizer-top-left",topMiddle:"pdfjs-editor-resizer-top-middle",topRight:"pdfjs-editor-resizer-top-right",middleRight:"pdfjs-editor-resizer-middle-right",bottomRight:"pdfjs-editor-resizer-bottom-right",bottomMiddle:"pdfjs-editor-resizer-bottom-middle",bottomLeft:"pdfjs-editor-resizer-bottom-left",middleLeft:"pdfjs-editor-resizer-middle-left"})),Cl._borderLineWidth!==-1)return;const n=getComputedStyle(document.documentElement);Cl._borderLineWidth=parseFloat(n.getPropertyValue("--outline-width"))||0}static updateDefaultParams(t,e){}static get defaultPropertiesToUpdate(){return[]}static isHandlingMimeForPasting(t){return!1}static paste(t,e){Xn("Not implemented")}get propertiesToUpdate(){return[]}get _isDraggable(){return m(this,Zy)}set _isDraggable(t){var e;z(this,Zy,t),(e=this.div)==null||e.classList.toggle("draggable",t)}get isEnterHandled(){return!0}center(){const[t,e]=this.pageDimensions;switch(this.parentRotation){case 90:this.x-=this.height*e/(t*2),this.y+=this.width*t/(e*2);break;case 180:this.x+=this.width/2,this.y+=this.height/2;break;case 270:this.x+=this.height*e/(t*2),this.y-=this.width*t/(e*2);break;default:this.x-=this.width/2,this.y-=this.height/2;break}this.fixAndSetPosition()}addCommands(t){this._uiManager.addCommands(t)}get currentLayer(){return this._uiManager.currentLayer}setInBackground(){this.div.style.zIndex=0}setInForeground(){this.div.style.zIndex=m(this,lG)}setParent(t){t!==null?(this.pageIndex=t.pageIndex,this.pageDimensions=t.pageDimensions):J(this,ul,a2).call(this),this.parent=t}focusin(t){this._focusEventsAllowed&&(m(this,Tm)?z(this,Tm,!1):this.parent.setSelected(this))}focusout(t){var n;if(!this._focusEventsAllowed||!this.isAttachedToDOM)return;const e=t.relatedTarget;e!=null&&e.closest(`#${this.id}`)||(t.preventDefault(),(n=this.parent)!=null&&n.isMultipleSelection||this.commitOrRemove())}commitOrRemove(){this.isEmpty()?this.remove():this.commit()}commit(){this.isInEditMode()&&this.addToAnnotationStorage()}addToAnnotationStorage(){this._uiManager.addToAnnotationStorage(this)}setAt(t,e,n,i){const[s,a]=this.parentDimensions;[n,i]=this.screenToPageTranslation(n,i),this.x=(t+n)/s,this.y=(e+i)/a,this.fixAndSetPosition()}_moveAfterPaste(t,e){const[n,i]=this.parentDimensions;this.setAt(t*n,e*i,this.width*n,this.height*i),this._onTranslated()}translate(t,e){J(this,ul,kY).call(this,this.parentDimensions,t,e)}translateInPage(t,e){m(this,xa)||z(this,xa,[this.x,this.y,this.width,this.height]),J(this,ul,kY).call(this,this.pageDimensions,t,e),this.div.scrollIntoView({block:"nearest"})}translationDone(){this._onTranslated(this.x,this.y)}drag(t,e){m(this,xa)||z(this,xa,[this.x,this.y,this.width,this.height]);const{div:n,parentDimensions:[i,s]}=this;if(this.x+=t/i,this.y+=e/s,this.parent&&(this.x<0||this.x>1||this.y<0||this.y>1)){const{x:b,y:p}=this.div.getBoundingClientRect();this.parent.findNewParent(this,b,p)&&(this.x-=Math.floor(this.x),this.y-=Math.floor(this.y))}let{x:a,y:c}=this;const[o,d]=this.getBaseTranslation();a+=o,c+=d;const{style:h}=n;h.left=`${(100*a).toFixed(2)}%`,h.top=`${(100*c).toFixed(2)}%`,this._onTranslating(a,c),n.scrollIntoView({block:"nearest"})}_onTranslating(t,e){}_onTranslated(t,e){}get _hasBeenMoved(){return!!m(this,xa)&&(m(this,xa)[0]!==this.x||m(this,xa)[1]!==this.y)}get _hasBeenResized(){return!!m(this,xa)&&(m(this,xa)[2]!==this.width||m(this,xa)[3]!==this.height)}getBaseTranslation(){const[t,e]=this.parentDimensions,{_borderLineWidth:n}=Cl,i=n/t,s=n/e;switch(this.rotation){case 90:return[-i,s];case 180:return[i,s];case 270:return[i,-s];default:return[-i,-s]}}get _mustFixPosition(){return!0}fixAndSetPosition(t=this.rotation){const{div:{style:e},pageDimensions:[n,i]}=this;let{x:s,y:a,width:c,height:o}=this;if(c*=n,o*=i,s*=n,a*=i,this._mustFixPosition)switch(t){case 0:s=Ps(s,0,n-c),a=Ps(a,0,i-o);break;case 90:s=Ps(s,0,n-o),a=Ps(a,c,i);break;case 180:s=Ps(s,c,n),a=Ps(a,o,i);break;case 270:s=Ps(s,o,n),a=Ps(a,0,i-c);break}this.x=s/=n,this.y=a/=i;const[d,h]=this.getBaseTranslation();s+=d,a+=h,e.left=`${(100*s).toFixed(2)}%`,e.top=`${(100*a).toFixed(2)}%`,this.moveInDOM()}screenToPageTranslation(t,e){var n;return J(n=Cl,py,DY).call(n,t,e,this.parentRotation)}pageTranslationToScreen(t,e){var n;return J(n=Cl,py,DY).call(n,t,e,360-this.parentRotation)}get parentScale(){return this._uiManager.viewParameters.realScale}get parentRotation(){return(this._uiManager.viewParameters.rotation+this.pageRotation)%360}get parentDimensions(){const{parentScale:t,pageDimensions:[e,n]}=this;return[e*t,n*t]}setDims(t,e){const[n,i]=this.parentDimensions,{style:s}=this.div;s.width=`${(100*t/n).toFixed(2)}%`,m(this,Mm)||(s.height=`${(100*e/i).toFixed(2)}%`)}fixDims(){const{style:t}=this.div,{height:e,width:n}=t,i=n.endsWith("%"),s=!m(this,Mm)&&e.endsWith("%");if(i&&s)return;const[a,c]=this.parentDimensions;i||(t.width=`${(100*parseFloat(n)/a).toFixed(2)}%`),!m(this,Mm)&&!s&&(t.height=`${(100*parseFloat(e)/c).toFixed(2)}%`)}getInitialTranslation(){return[0,0]}_onResized(){}static _round(t){return Math.round(t*1e4)/1e4}_onResizing(){}altTextFinish(){var t;(t=m(this,vn))==null||t.finish()}get toolbarButtons(){return null}async addEditToolbar(){if(this._editToolbar||m(this,Xm))return this._editToolbar;this._editToolbar=new LY(this),this.div.append(this._editToolbar.render());const{toolbarButtons:t}=this;if(t)for(const[e,n]of t)await this._editToolbar.addButton(e,n);return this._editToolbar.addButton("comment",this.addCommentButton()),this._editToolbar.addButton("delete"),this._editToolbar}removeEditToolbar(){var t;this._editToolbar&&(this._editToolbar.remove(),this._editToolbar=null,(t=m(this,vn))==null||t.destroy())}addContainer(t){var n;const e=(n=this._editToolbar)==null?void 0:n.div;e?e.before(t):this.div.append(t)}getClientDimensions(){return this.div.getBoundingClientRect()}createAltText(){return m(this,vn)||(CM.initialize(Cl._l10n),z(this,vn,new CM(this)),m(this,Nm)&&(m(this,vn).data=m(this,Nm),z(this,Nm,null))),m(this,vn)}get altTextData(){var t;return(t=m(this,vn))==null?void 0:t.data}set altTextData(t){m(this,vn)&&(m(this,vn).data=t)}get guessedAltText(){var t;return(t=m(this,vn))==null?void 0:t.guessedText}async setGuessedAltText(t){var e;await((e=m(this,vn))==null?void 0:e.setGuessedText(t))}serializeAltText(t){var e;return(e=m(this,vn))==null?void 0:e.serialize(t)}hasAltText(){return!!m(this,vn)&&!m(this,vn).isEmpty()}hasAltTextData(){var t;return((t=m(this,vn))==null?void 0:t.hasData())??!1}addCommentButton(){return m(this,ds)?m(this,ds):z(this,ds,new M1(this))}get commentColor(){return null}get comment(){const t=m(this,ds);return{text:t.data.text,date:t.data.date,deleted:t.isDeleted(),color:this.commentColor}}set comment(t){m(this,ds)||z(this,ds,new M1(this)),m(this,ds).data=t}setCommentData(t){m(this,ds)||z(this,ds,new M1(this)),m(this,ds).setInitialText(t)}get hasEditedComment(){var t;return(t=m(this,ds))==null?void 0:t.hasBeenEdited()}async editComment(){m(this,ds)||z(this,ds,new M1(this)),m(this,ds).edit()}addComment(t){if(this.hasEditedComment){const[,,,i]=t.rect,[s]=this.pageDimensions,[a]=this.pageTranslation,c=a+s+1,o=i-100,d=c+180;t.popup={contents:this.comment.text,deleted:this.comment.deleted,rect:[c,o,d,i]}}}render(){var a;const t=this.div=document.createElement("div");t.setAttribute("data-editor-rotation",(360-this.rotation)%360),t.className=this.name,t.setAttribute("id",this.id),t.tabIndex=m(this,tZ)?-1:0,t.setAttribute("role","application"),this.defaultL10nId&&t.setAttribute("data-l10n-id",this.defaultL10nId),this._isVisible||t.classList.add("hidden"),this.setInForeground(),J(this,ul,FY).call(this);const[e,n]=this.parentDimensions;this.parentRotation%180!==0&&(t.style.maxWidth=`${(100*n/e).toFixed(2)}%`,t.style.maxHeight=`${(100*e/n).toFixed(2)}%`);const[i,s]=this.getInitialTranslation();return this.translate(i,s),_R(this,t,["keydown","pointerdown","dblclick"]),this.isResizable&&this._uiManager._supportsPinchToZoom&&(m(this,Ym)||z(this,Ym,new FM({container:t,isPinchingDisabled:()=>!this.isSelected,onPinchStart:J(this,ul,bk).bind(this),onPinching:J(this,ul,Zk).bind(this),onPinchEnd:J(this,ul,pk).bind(this),signal:this._uiManager._signal}))),(a=this._uiManager._editorUndoBar)==null||a.hide(),t}pointerdown(t){const{isMac:e}=Ws.platform;if(t.button!==0||t.ctrlKey&&e){t.preventDefault();return}if(z(this,Tm,!0),this._isDraggable){J(this,ul,yk).call(this,t);return}J(this,ul,CY).call(this,t)}_onStartDragging(){}_onStopDragging(){}moveInDOM(){m(this,Or)&&clearTimeout(m(this,Or)),z(this,Or,setTimeout(()=>{var t;z(this,Or,null),(t=this.parent)==null||t.moveEditorInDOM(this)},0))}_setParentAndPosition(t,e,n){t.changeParent(this),this.x=e,this.y=n,this.fixAndSetPosition(),this._onTranslated()}getRect(t,e,n=this.rotation){const i=this.parentScale,[s,a]=this.pageDimensions,[c,o]=this.pageTranslation,d=t/i,h=e/i,b=this.x*s,p=this.y*a,y=this.width*s,M=this.height*a;switch(n){case 0:return[b+d+c,a-p-h-M+o,b+d+y+c,a-p-h+o];case 90:return[b+h+c,a-p+d+o,b+h+M+c,a-p+d+y+o];case 180:return[b-d-y+c,a-p+h+o,b-d+c,a-p+h+M+o];case 270:return[b-h-M+c,a-p-d-y+o,b-h+c,a-p-d+o];default:throw new Error("Invalid rotation")}}getRectInCurrentCoords(t,e){const[n,i,s,a]=t,c=s-n,o=a-i;switch(this.rotation){case 0:return[n,e-a,c,o];case 90:return[n,e-i,o,c];case 180:return[s,e-i,c,o];case 270:return[s,e-a,o,c];default:throw new Error("Invalid rotation")}}getPDFRect(){return this.getRect(0,0)}onceAdded(t){}isEmpty(){return!1}enableEditMode(){return this.isInEditMode()?!1:(this.parent.setEditingState(!1),z(this,Xm,!0),!0)}disableEditMode(){return this.isInEditMode()?(this.parent.setEditingState(!0),z(this,Xm,!1),!0):!1}isInEditMode(){return m(this,Xm)}shouldGetKeyboardEvents(){return m(this,Ko)}needsToBeRebuilt(){return this.div&&!this.isAttachedToDOM}get isOnScreen(){const{top:t,left:e,bottom:n,right:i}=this.getClientDimensions(),{innerHeight:s,innerWidth:a}=window;return e<a&&i>0&&t<s&&n>0}rebuild(){J(this,ul,FY).call(this)}rotate(t){}resize(){}serializeDeleted(){var t;return{id:this.annotationElementId,deleted:!0,pageIndex:this.pageIndex,popupRef:((t=this._initialData)==null?void 0:t.popupRef)||""}}serialize(t=!1,e=null){Xn("An editor must be serializable")}static async deserialize(t,e,n){const i=new this.prototype.constructor({parent:e,id:e.getNextId(),uiManager:n,annotationElementId:t.annotationElementId});i.rotation=t.rotation,z(i,Nm,t.accessibilityData),i._isCopy=t.isCopy||!1;const[s,a]=i.pageDimensions,[c,o,d,h]=i.getRectInCurrentCoords(t.rect,a);return i.x=c/s,i.y=o/a,i.width=d/s,i.height=h/a,i}get hasBeenModified(){return!!this.annotationElementId&&(this.deleted||this.serialize()!==null)}remove(){var t,e;if((t=m(this,Vu))==null||t.abort(),z(this,Vu,null),this.isEmpty()||this.commit(),this.parent?this.parent.remove(this):this._uiManager.removeEditor(this),m(this,Or)&&(clearTimeout(m(this,Or)),z(this,Or,null)),J(this,ul,a2).call(this),this.removeEditToolbar(),m(this,Wc)){for(const n of m(this,Wc).values())clearTimeout(n);z(this,Wc,null)}this.parent=null,(e=m(this,Ym))==null||e.destroy(),z(this,Ym,null)}get isResizable(){return!1}makeResizable(){this.isResizable&&(J(this,ul,mk).call(this),m(this,us).classList.remove("hidden"))}get toolbarPosition(){return null}keydown(t){if(!this.isResizable||t.target!==this.div||t.key!=="Enter")return;this._uiManager.setSelected(this),z(this,Eo,{savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height});const e=m(this,us).children;if(!m(this,Qc)){z(this,Qc,Array.from(e));const a=J(this,ul,Wk).bind(this),c=J(this,ul,Nk).bind(this),o=this._uiManager._signal;for(const d of m(this,Qc)){const h=d.getAttribute("data-resizer-name");d.setAttribute("role","spinbutton"),d.addEventListener("keydown",a,{signal:o}),d.addEventListener("blur",c,{signal:o}),d.addEventListener("focus",J(this,ul,Mk).bind(this,h),{signal:o}),d.setAttribute("data-l10n-id",Cl._l10nResizer[h])}}const n=m(this,Qc)[0];let i=0;for(const a of e){if(a===n)break;i++}const s=(360-this.rotation+this.parentRotation)%360/90*(m(this,Qc).length/4);if(s!==i){if(s<i)for(let c=0;c<i-s;c++)m(this,us).append(m(this,us).firstChild);else if(s>i)for(let c=0;c<s-i;c++)m(this,us).firstChild.before(m(this,us).lastChild);let a=0;for(const c of e){const d=m(this,Qc)[a++].getAttribute("data-resizer-name");c.setAttribute("data-l10n-id",Cl._l10nResizer[d])}}J(this,ul,JY).call(this,0),z(this,Ko,!0),m(this,us).firstChild.focus({focusVisible:!0}),t.preventDefault(),t.stopImmediatePropagation()}_resizeWithKeyboard(t,e){m(this,Ko)&&J(this,ul,jY).call(this,m(this,hy),{deltaX:t,deltaY:e,fromKeyboard:!0})}_stopResizingWithKeyboard(){J(this,ul,a2).call(this),this.div.focus()}select(){var t,e,n;if(!(this.isSelected&&this._editToolbar)){if(this.isSelected=!0,this.makeResizable(),(t=this.div)==null||t.classList.add("selectedEditor"),!this._editToolbar){this.addEditToolbar().then(()=>{var i,s;(i=this.div)!=null&&i.classList.contains("selectedEditor")&&((s=this._editToolbar)==null||s.show())});return}(e=this._editToolbar)==null||e.show(),(n=m(this,vn))==null||n.toggleAltTextBadge(!1)}}unselect(){var t,e,n,i,s;this.isSelected&&(this.isSelected=!1,(t=m(this,us))==null||t.classList.add("hidden"),(e=this.div)==null||e.classList.remove("selectedEditor"),(n=this.div)!=null&&n.contains(document.activeElement)&&this._uiManager.currentLayer.div.focus({preventScroll:!0}),(i=this._editToolbar)==null||i.hide(),(s=m(this,vn))==null||s.toggleAltTextBadge(!0))}updateParams(t,e){}disableEditing(){}enableEditing(){}get canChangeContent(){return!1}enterInEditMode(){this.canChangeContent&&(this.enableEditMode(),this.div.focus())}dblclick(t){this.enterInEditMode(),this.parent.updateToolbar({mode:this.constructor._editorType,editId:this.id})}getElementForAltText(){return this.div}get contentDiv(){return this.div}get isEditing(){return m(this,by)}set isEditing(t){z(this,by,t),this.parent&&(t?(this.parent.setSelected(this),this.parent.setActiveEditor(this)):this.parent.setActiveEditor(null))}setAspectRatio(t,e){z(this,Mm,!0);const n=t/e,{style:i}=this.div;i.aspectRatio=n,i.height="auto"}static get MIN_SIZE(){return 16}static canCreateNewEmptyEditor(){return!0}get telemetryInitialData(){return{action:"added"}}get telemetryFinalData(){return null}_reportTelemetry(t,e=!1){if(e){m(this,Wc)||z(this,Wc,new Map);const{action:n}=t;let i=m(this,Wc).get(n);i&&clearTimeout(i),i=setTimeout(()=>{this._reportTelemetry(t),m(this,Wc).delete(n),m(this,Wc).size===0&&z(this,Wc,null)},Cl._telemetryTimeout),m(this,Wc).set(n,i);return}t.type||(t.type=this.editorType),this._uiManager._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",data:t}})}show(t=this._isVisible){this.div.classList.toggle("hidden",!t),this._isVisible=t}enable(){this.div&&(this.div.tabIndex=0),z(this,tZ,!1)}disable(){this.div&&(this.div.tabIndex=-1),z(this,tZ,!0)}renderAnnotationElement(t){if(this.deleted)return t.hide(),null;let e=t.container.querySelector(".annotationContent");if(!e)e=document.createElement("div"),e.classList.add("annotationContent",this.editorType),t.container.prepend(e);else if(e.nodeName==="CANVAS"){const n=e;e=document.createElement("div"),e.classList.add("annotationContent",this.editorType),n.before(e)}return e}resetAnnotationElement(t){const{firstChild:e}=t.container;(e==null?void 0:e.nodeName)==="DIV"&&e.classList.contains("annotationContent")&&e.remove()}};Nm=new WeakMap,Qc=new WeakMap,vn=new WeakMap,ds=new WeakMap,tZ=new WeakMap,Lu=new WeakMap,my=new WeakMap,Mm=new WeakMap,us=new WeakMap,Gm=new WeakMap,Eo=new WeakMap,Vu=new WeakMap,hy=new WeakMap,Tm=new WeakMap,xa=new WeakMap,by=new WeakMap,Xm=new WeakMap,Ko=new WeakMap,Or=new WeakMap,eZ=new WeakMap,lZ=new WeakMap,Wc=new WeakMap,Ym=new WeakMap,Zy=new WeakMap,lG=new WeakMap,ul=new WeakSet,kY=function([t,e],n,i){[n,i]=this.screenToPageTranslation(n,i),this.x+=n/t,this.y+=i/e,this._onTranslating(this.x,this.y),this.fixAndSetPosition()},py=new WeakSet,DY=function(t,e,n){switch(n){case 90:return[e,-t];case 180:return[-t,-e];case 270:return[-e,t];default:return[t,e]}},H1=function(t){switch(t){case 90:{const[e,n]=this.pageDimensions;return[0,-e/n,n/e,0]}case 180:return[-1,0,0,-1];case 270:{const[e,n]=this.pageDimensions;return[0,e/n,-n/e,0]}default:return[1,0,0,1]}},mk=function(){if(m(this,us))return;z(this,us,document.createElement("div")),m(this,us).classList.add("resizers");const t=this._willKeepAspectRatio?["topLeft","topRight","bottomRight","bottomLeft"]:["topLeft","topMiddle","topRight","middleRight","bottomRight","bottomMiddle","bottomLeft","middleLeft"],e=this._uiManager._signal;for(const n of t){const i=document.createElement("div");m(this,us).append(i),i.classList.add("resizer",n),i.setAttribute("data-resizer-name",n),i.addEventListener("pointerdown",J(this,ul,hk).bind(this,n),{signal:e}),i.addEventListener("contextmenu",Sc,{signal:e}),i.tabIndex=-1}this.div.prepend(m(this,us))},hk=function(t,e){var h;e.preventDefault();const{isMac:n}=Ws.platform;if(e.button!==0||e.ctrlKey&&n)return;(h=m(this,vn))==null||h.toggle(!1);const i=this._isDraggable;this._isDraggable=!1,z(this,Gm,[e.screenX,e.screenY]);const s=new AbortController,a=this._uiManager.combinedSignal(s);this.parent.togglePointerEvents(!1),window.addEventListener("pointermove",J(this,ul,jY).bind(this,t),{passive:!0,capture:!0,signal:a}),window.addEventListener("touchmove",Li,{passive:!1,signal:a}),window.addEventListener("contextmenu",Sc,{signal:a}),z(this,Eo,{savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height});const c=this.parent.div.style.cursor,o=this.div.style.cursor;this.div.style.cursor=this.parent.div.style.cursor=window.getComputedStyle(e.target).cursor;const d=()=>{var b;s.abort(),this.parent.togglePointerEvents(!0),(b=m(this,vn))==null||b.toggle(!0),this._isDraggable=i,this.parent.div.style.cursor=c,this.div.style.cursor=o,J(this,ul,Q1).call(this)};window.addEventListener("pointerup",d,{signal:a}),window.addEventListener("blur",d,{signal:a})},OY=function(t,e,n,i){this.width=n,this.height=i,this.x=t,this.y=e;const[s,a]=this.parentDimensions;this.setDims(s*n,a*i),this.fixAndSetPosition(),this._onResized()},Q1=function(){if(!m(this,Eo))return;const{savedX:t,savedY:e,savedWidth:n,savedHeight:i}=m(this,Eo);z(this,Eo,null);const s=this.x,a=this.y,c=this.width,o=this.height;s===t&&a===e&&c===n&&o===i||this.addCommands({cmd:J(this,ul,OY).bind(this,s,a,c,o),undo:J(this,ul,OY).bind(this,t,e,n,i),mustExec:!0})},jY=function(t,e){const[n,i]=this.parentDimensions,s=this.x,a=this.y,c=this.width,o=this.height,d=Cl.MIN_SIZE/n,h=Cl.MIN_SIZE/i,b=J(this,ul,H1).call(this,this.rotation),p=(kt,Gt)=>[b[0]*kt+b[2]*Gt,b[1]*kt+b[3]*Gt],y=J(this,ul,H1).call(this,360-this.rotation),M=(kt,Gt)=>[y[0]*kt+y[2]*Gt,y[1]*kt+y[3]*Gt];let T,Y,L=!1,x=!1;switch(t){case"topLeft":L=!0,T=(kt,Gt)=>[0,0],Y=(kt,Gt)=>[kt,Gt];break;case"topMiddle":T=(kt,Gt)=>[kt/2,0],Y=(kt,Gt)=>[kt/2,Gt];break;case"topRight":L=!0,T=(kt,Gt)=>[kt,0],Y=(kt,Gt)=>[0,Gt];break;case"middleRight":x=!0,T=(kt,Gt)=>[kt,Gt/2],Y=(kt,Gt)=>[0,Gt/2];break;case"bottomRight":L=!0,T=(kt,Gt)=>[kt,Gt],Y=(kt,Gt)=>[0,0];break;case"bottomMiddle":T=(kt,Gt)=>[kt/2,Gt],Y=(kt,Gt)=>[kt/2,0];break;case"bottomLeft":L=!0,T=(kt,Gt)=>[0,Gt],Y=(kt,Gt)=>[kt,0];break;case"middleLeft":x=!0,T=(kt,Gt)=>[0,Gt/2],Y=(kt,Gt)=>[kt,Gt/2];break}const g=T(c,o),F=Y(c,o);let j=p(...F);const D=Cl._round(s+j[0]),_=Cl._round(a+j[1]);let ut=1,K=1,f,lt;if(e.fromKeyboard)({deltaX:f,deltaY:lt}=e);else{const{screenX:kt,screenY:Gt}=e,[gt,vt]=m(this,Gm);[f,lt]=this.screenToPageTranslation(kt-gt,Gt-vt),m(this,Gm)[0]=kt,m(this,Gm)[1]=Gt}if([f,lt]=M(f/n,lt/i),L){const kt=Math.hypot(c,o);ut=K=Math.max(Math.min(Math.hypot(F[0]-g[0]-f,F[1]-g[1]-lt)/kt,1/c,1/o),d/c,h/o)}else x?ut=Ps(Math.abs(F[0]-g[0]-f),d,1)/c:K=Ps(Math.abs(F[1]-g[1]-lt),h,1)/o;const tt=Cl._round(c*ut),ht=Cl._round(o*K);j=p(...Y(tt,ht));const dt=D-j[0],It=_-j[1];m(this,xa)||z(this,xa,[this.x,this.y,this.width,this.height]),this.width=tt,this.height=ht,this.x=dt,this.y=It,this.setDims(n*tt,i*ht),this.fixAndSetPosition(),this._onResizing()},bk=function(){var t;z(this,Eo,{savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height}),(t=m(this,vn))==null||t.toggle(!1),this.parent.togglePointerEvents(!1)},Zk=function(t,e,n){let s=.7*(n/e)+1-.7;if(s===1)return;const a=J(this,ul,H1).call(this,this.rotation),c=(D,_)=>[a[0]*D+a[2]*_,a[1]*D+a[3]*_],[o,d]=this.parentDimensions,h=this.x,b=this.y,p=this.width,y=this.height,M=Cl.MIN_SIZE/o,T=Cl.MIN_SIZE/d;s=Math.max(Math.min(s,1/p,1/y),M/p,T/y);const Y=Cl._round(p*s),L=Cl._round(y*s);if(Y===p&&L===y)return;m(this,xa)||z(this,xa,[h,b,p,y]);const x=c(p/2,y/2),g=Cl._round(h+x[0]),F=Cl._round(b+x[1]),j=c(Y/2,L/2);this.x=g-j[0],this.y=F-j[1],this.width=Y,this.height=L,this.setDims(o*Y,d*L),this.fixAndSetPosition(),this._onResizing()},pk=function(){var t;(t=m(this,vn))==null||t.toggle(!0),this.parent.togglePointerEvents(!0),J(this,ul,Q1).call(this)},CY=function(t){const{isMac:e}=Ws.platform;t.ctrlKey&&!e||t.shiftKey||t.metaKey&&e?this.parent.toggleSelected(this):this.parent.setSelected(this)},yk=function(t){const{isSelected:e}=this;this._uiManager.setUpDragSession();let n=!1;const i=new AbortController,s=this._uiManager.combinedSignal(i),a={capture:!0,passive:!1,signal:s},c=d=>{i.abort(),z(this,Lu,null),z(this,Tm,!1),this._uiManager.endDragSession()||J(this,ul,CY).call(this,d),n&&this._onStopDragging()};e&&(z(this,eZ,t.clientX),z(this,lZ,t.clientY),z(this,Lu,t.pointerId),z(this,my,t.pointerType),window.addEventListener("pointermove",d=>{n||(n=!0,this._onStartDragging());const{clientX:h,clientY:b,pointerId:p}=d;if(p!==m(this,Lu)){Li(d);return}const[y,M]=this.screenToPageTranslation(h-m(this,eZ),b-m(this,lZ));z(this,eZ,h),z(this,lZ,b),this._uiManager.dragSelectedEditors(y,M)},a),window.addEventListener("touchmove",Li,a),window.addEventListener("pointerdown",d=>{d.pointerType===m(this,my)&&(m(this,Ym)||d.isPrimary)&&c(d),Li(d)},a));const o=d=>{if(!m(this,Lu)||m(this,Lu)===d.pointerId){c(d);return}Li(d)};window.addEventListener("pointerup",o,{signal:s}),window.addEventListener("blur",o,{signal:s})},FY=function(){if(m(this,Vu)||!this.div)return;z(this,Vu,new AbortController);const t=this._uiManager.combinedSignal(m(this,Vu));this.div.addEventListener("focusin",this.focusin.bind(this),{signal:t}),this.div.addEventListener("focusout",this.focusout.bind(this),{signal:t})},Wk=function(t){Cl._resizerKeyboardManager.exec(this,t)},Nk=function(t){var e;m(this,Ko)&&((e=t.relatedTarget)==null?void 0:e.parentNode)!==m(this,us)&&J(this,ul,a2).call(this)},Mk=function(t){z(this,hy,m(this,Ko)?t:"")},JY=function(t){if(m(this,Qc))for(const e of m(this,Qc))e.tabIndex=t},a2=function(){z(this,Ko,!1),J(this,ul,JY).call(this,-1),J(this,ul,Q1).call(this)},k(Cl,py),We(Cl,"_l10n",null),We(Cl,"_l10nResizer",null),We(Cl,"_borderLineWidth",-1),We(Cl,"_colorManager",new wY),We(Cl,"_zIndex",1),We(Cl,"_telemetryTimeout",1e3);let xn=Cl;class F_ extends xn{constructor(t){super(t),this.annotationElementId=t.annotationElementId,this.deleted=!0}serialize(){return this.serializeDeleted()}}const v9=3285377520,mc=4294901760,Tr=65535;class Gk{constructor(t){this.h1=t?t&4294967295:v9,this.h2=t?t&4294967295:v9}update(t){let e,n;if(typeof t=="string"){e=new Uint8Array(t.length*2),n=0;for(let T=0,Y=t.length;T<Y;T++){const L=t.charCodeAt(T);L<=255?e[n++]=L:(e[n++]=L>>>8,e[n++]=L&255)}}else if(ArrayBuffer.isView(t))e=t.slice(),n=e.byteLength;else throw new Error("Invalid data format, must be a string or TypedArray.");const i=n>>2,s=n-i*4,a=new Uint32Array(e.buffer,0,i);let c=0,o=0,d=this.h1,h=this.h2;const b=3432918353,p=461845907,y=b&Tr,M=p&Tr;for(let T=0;T<i;T++)T&1?(c=a[T],c=c*b&mc|c*y&Tr,c=c<<15|c>>>17,c=c*p&mc|c*M&Tr,d^=c,d=d<<13|d>>>19,d=d*5+3864292196):(o=a[T],o=o*b&mc|o*y&Tr,o=o<<15|o>>>17,o=o*p&mc|o*M&Tr,h^=o,h=h<<13|h>>>19,h=h*5+3864292196);switch(c=0,s){case 3:c^=e[i*4+2]<<16;case 2:c^=e[i*4+1]<<8;case 1:c^=e[i*4],c=c*b&mc|c*y&Tr,c=c<<15|c>>>17,c=c*p&mc|c*M&Tr,i&1?d^=c:h^=c}this.h1=d,this.h2=h}hexdigest(){let t=this.h1,e=this.h2;return t^=e>>>1,t=t*3981806797&mc|t*36045&Tr,e=e*4283543511&mc|((e<<16|t>>>16)*2950163797&mc)>>>16,t^=e>>>1,t=t*444984403&mc|t*60499&Tr,e=e*3301882366&mc|((e<<16|t>>>16)*3120437893&mc)>>>16,t^=e>>>1,(t>>>0).toString(16).padStart(8,"0")+(e>>>0).toString(16).padStart(8,"0")}}const vY=Object.freeze({map:null,hash:"",transfer:void 0});var Lm,Vm,ms,nG,Tk;class QV{constructor(){k(this,nG);k(this,Lm,!1);k(this,Vm,null);k(this,ms,new Map);this.onSetModified=null,this.onResetModified=null,this.onAnnotationEditor=null}getValue(t,e){const n=m(this,ms).get(t);return n===void 0?e:Object.assign(e,n)}getRawValue(t){return m(this,ms).get(t)}remove(t){if(m(this,ms).delete(t),m(this,ms).size===0&&this.resetModified(),typeof this.onAnnotationEditor=="function"){for(const e of m(this,ms).values())if(e instanceof xn)return;this.onAnnotationEditor(null)}}setValue(t,e){const n=m(this,ms).get(t);let i=!1;if(n!==void 0)for(const[s,a]of Object.entries(e))n[s]!==a&&(i=!0,n[s]=a);else i=!0,m(this,ms).set(t,e);i&&J(this,nG,Tk).call(this),e instanceof xn&&typeof this.onAnnotationEditor=="function"&&this.onAnnotationEditor(e.constructor._type)}has(t){return m(this,ms).has(t)}get size(){return m(this,ms).size}resetModified(){m(this,Lm)&&(z(this,Lm,!1),typeof this.onResetModified=="function"&&this.onResetModified())}get print(){return new Xk(this)}get serializable(){if(m(this,ms).size===0)return vY;const t=new Map,e=new Gk,n=[],i=Object.create(null);let s=!1;for(const[a,c]of m(this,ms)){const o=c instanceof xn?c.serialize(!1,i):c;o&&(t.set(a,o),e.update(`${a}:${JSON.stringify(o)}`),s||(s=!!o.bitmap))}if(s)for(const a of t.values())a.bitmap&&n.push(a.bitmap);return t.size>0?{map:t,hash:e.hexdigest(),transfer:n}:vY}get editorStats(){let t=null;const e=new Map;for(const n of m(this,ms).values()){if(!(n instanceof xn))continue;const i=n.telemetryFinalData;if(!i)continue;const{type:s}=i;e.has(s)||e.set(s,Object.getPrototypeOf(n).constructor),t||(t=Object.create(null));const a=t[s]||(t[s]=new Map);for(const[c,o]of Object.entries(i)){if(c==="type")continue;let d=a.get(c);d||(d=new Map,a.set(c,d));const h=d.get(o)??0;d.set(o,h+1)}}for(const[n,i]of e)t[n]=i.computeTelemetryFinalData(t[n]);return t}resetModifiedIds(){z(this,Vm,null)}get modifiedIds(){if(m(this,Vm))return m(this,Vm);const t=[];for(const e of m(this,ms).values())!(e instanceof xn)||!e.annotationElementId||!e.serialize()||t.push(e.annotationElementId);return z(this,Vm,{ids:new Set(t),hash:t.join(",")})}[Symbol.iterator](){return m(this,ms).entries()}}Lm=new WeakMap,Vm=new WeakMap,ms=new WeakMap,nG=new WeakSet,Tk=function(){m(this,Lm)||(z(this,Lm,!0),typeof this.onSetModified=="function"&&this.onSetModified())};var yy;class Xk extends QV{constructor(e){super();k(this,yy);const{map:n,hash:i,transfer:s}=e.serializable,a=structuredClone(n,s?{transfer:s}:null);z(this,yy,{map:a,hash:i,transfer:s})}get print(){Xn("Should not call PrintAnnotationStorage.print")}get serializable(){return m(this,yy)}get modifiedIds(){return vl(this,"modifiedIds",{ids:new Set,hash:""})}}yy=new WeakMap;var nZ;class J_{constructor({ownerDocument:t=globalThis.document,styleElement:e=null}){k(this,nZ,new Set);this._document=t,this.nativeFontFaces=new Set,this.styleElement=null,this.loadingRequests=[],this.loadTestFontId=0}addNativeFontFace(t){this.nativeFontFaces.add(t),this._document.fonts.add(t)}removeNativeFontFace(t){this.nativeFontFaces.delete(t),this._document.fonts.delete(t)}insertRule(t){this.styleElement||(this.styleElement=this._document.createElement("style"),this._document.documentElement.getElementsByTagName("head")[0].append(this.styleElement));const e=this.styleElement.sheet;e.insertRule(t,e.cssRules.length)}clear(){for(const t of this.nativeFontFaces)this._document.fonts.delete(t);this.nativeFontFaces.clear(),m(this,nZ).clear(),this.styleElement&&(this.styleElement.remove(),this.styleElement=null)}async loadSystemFont({systemFontInfo:t,disableFontFace:e,_inspectFont:n}){if(!(!t||m(this,nZ).has(t.loadedName))){if(Vi(!e,"loadSystemFont shouldn't be called when `disableFontFace` is set."),this.isFontLoadingAPISupported){const{loadedName:i,src:s,style:a}=t,c=new FontFace(i,s,a);this.addNativeFontFace(c);try{await c.load(),m(this,nZ).add(i),n==null||n(t)}catch{Ll(`Cannot load system font: ${t.baseFontName}, installing it could help to improve PDF rendering.`),this.removeNativeFontFace(c)}return}Xn("Not implemented: loadSystemFont without the Font Loading API.")}}async bind(t){if(t.attached||t.missingFile&&!t.systemFontInfo)return;if(t.attached=!0,t.systemFontInfo){await this.loadSystemFont(t);return}if(this.isFontLoadingAPISupported){const n=t.createNativeFontFace();if(n){this.addNativeFontFace(n);try{await n.loaded}catch(i){throw Ll(`Failed to load font '${n.family}': '${i}'.`),t.disableFontFace=!0,i}}return}const e=t.createFontFaceRule();if(e){if(this.insertRule(e),this.isSyncFontLoadingSupported)return;await new Promise(n=>{const i=this._queueLoadingCallback(n);this._prepareFontLoadEvent(t,i)})}}get isFontLoadingAPISupported(){var e;const t=!!((e=this._document)!=null&&e.fonts);return vl(this,"isFontLoadingAPISupported",t)}get isSyncFontLoadingSupported(){return vl(this,"isSyncFontLoadingSupported",Ks||Ws.platform.isFirefox)}_queueLoadingCallback(t){function e(){for(Vi(!i.done,"completeRequest() cannot be called twice."),i.done=!0;n.length>0&&n[0].done;){const s=n.shift();setTimeout(s.callback,0)}}const{loadingRequests:n}=this,i={done:!1,complete:e,callback:t};return n.push(i),i}get _loadTestFont(){const t=atob("T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQAFQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAAALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgAAAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACMAooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4DIP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAAAAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUAAQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgABAAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABYAAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAAAC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAAAAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQACAQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTjFQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==");return vl(this,"_loadTestFont",t)}_prepareFontLoadEvent(t,e){function n(F,j){return F.charCodeAt(j)<<24|F.charCodeAt(j+1)<<16|F.charCodeAt(j+2)<<8|F.charCodeAt(j+3)&255}function i(F,j,D,_){const ut=F.substring(0,j),K=F.substring(j+D);return ut+_+K}let s,a;const c=this._document.createElement("canvas");c.width=1,c.height=1;const o=c.getContext("2d");let d=0;function h(F,j){if(++d>30){Ll("Load test font never loaded."),j();return}if(o.font="30px "+F,o.fillText(".",0,20),o.getImageData(0,0,1,1).data[3]>0){j();return}setTimeout(h.bind(null,F,j))}const b=`lt${Date.now()}${this.loadTestFontId++}`;let p=this._loadTestFont;p=i(p,976,b.length,b);const M=16,T=1482184792;let Y=n(p,M);for(s=0,a=b.length-3;s<a;s+=4)Y=Y-T+n(b,s)|0;s<b.length&&(Y=Y-T+n(b+"XXX",s)|0),p=i(p,M,4,L_(Y));const L=`url(data:font/opentype;base64,${btoa(p)});`,x=`@font-face {font-family:"${b}";src:${L}}`;this.insertRule(x);const g=this._document.createElement("div");g.style.visibility="hidden",g.style.width=g.style.height="10px",g.style.position="absolute",g.style.top=g.style.left="0px";for(const F of[t.loadedName,b]){const j=this._document.createElement("span");j.textContent="Hi",j.style.fontFamily=F,g.append(j)}this._document.body.append(g),h(b,()=>{g.remove(),e.complete()})}}nZ=new WeakMap;class v_{constructor(t,e=null){this.compiledGlyphs=Object.create(null);for(const n in t)this[n]=t[n];this._inspectFont=e}createNativeFontFace(){var e;if(!this.data||this.disableFontFace)return null;let t;if(!this.cssFontInfo)t=new FontFace(this.loadedName,this.data,{});else{const n={weight:this.cssFontInfo.fontWeight};this.cssFontInfo.italicAngle&&(n.style=`oblique ${this.cssFontInfo.italicAngle}deg`),t=new FontFace(this.cssFontInfo.fontFamily,this.data,n)}return(e=this._inspectFont)==null||e.call(this,this),t}createFontFaceRule(){var n;if(!this.data||this.disableFontFace)return null;const t=`url(data:${this.mimetype};base64,${KR(this.data)});`;let e;if(!this.cssFontInfo)e=`@font-face {font-family:"${this.loadedName}";src:${t}}`;else{let i=`font-weight: ${this.cssFontInfo.fontWeight};`;this.cssFontInfo.italicAngle&&(i+=`font-style: oblique ${this.cssFontInfo.italicAngle}deg;`),e=`@font-face {font-family:"${this.cssFontInfo.fontFamily}";${i}src:${t}}`}return(n=this._inspectFont)==null||n.call(this,this,t),e}getPathGenerator(t,e){if(this.compiledGlyphs[e]!==void 0)return this.compiledGlyphs[e];const n=this.loadedName+"_path_"+e;let i;try{i=t.get(n)}catch(a){Ll(`getPathGenerator - ignoring character: "${a}".`)}const s=new Path2D(i||"");return this.fontExtraProperties||t.delete(n),this.compiledGlyphs[e]=s}}function U_(l){if(l instanceof URL)return l.href;if(typeof l=="string"){if(Ks)return l;const t=URL.parse(l,window.location);if(t)return t.href}throw new Error("Invalid PDF url data: either string or URL-object is expected in the url property.")}function E_(l){if(Ks&&typeof Buffer<"u"&&l instanceof Buffer)throw new Error("Please provide binary data as `Uint8Array`, rather than `Buffer`.");if(l instanceof Uint8Array&&l.byteLength===l.buffer.byteLength)return l;if(typeof l=="string")return DW(l);if(l instanceof ArrayBuffer||ArrayBuffer.isView(l)||typeof l=="object"&&!isNaN(l==null?void 0:l.length))return new Uint8Array(l);throw new Error("Invalid PDF binary data: either TypedArray, string, or array-like object is expected in the data property.")}function G1(l){if(typeof l!="string")return null;if(l.endsWith("/"))return l;throw new Error(`Invalid factory url: "${l}" must include trailing slash.`)}const UY=l=>typeof l=="object"&&Number.isInteger(l==null?void 0:l.num)&&l.num>=0&&Number.isInteger(l==null?void 0:l.gen)&&l.gen>=0,K_=l=>typeof l=="object"&&typeof(l==null?void 0:l.name)=="string",P_=g_.bind(null,UY,K_);var Po,iG;class H_{constructor(){k(this,Po,new Map);k(this,iG,Promise.resolve())}postMessage(t,e){const n={data:structuredClone(t,e?{transfer:e}:null)};m(this,iG).then(()=>{for(const[i]of m(this,Po))i.call(this,n)})}addEventListener(t,e,n=null){let i=null;if((n==null?void 0:n.signal)instanceof AbortSignal){const{signal:s}=n;if(s.aborted){Ll("LoopbackPort - cannot use an `aborted` signal.");return}const a=()=>this.removeEventListener(t,e);i=()=>s.removeEventListener("abort",a),s.addEventListener("abort",a)}m(this,Po).set(e,i)}removeEventListener(t,e){const n=m(this,Po).get(e);n==null||n(),m(this,Po).delete(e)}terminate(){for(const[,t]of m(this,Po))t==null||t();m(this,Po).clear()}}Po=new WeakMap,iG=new WeakMap;const T1={DATA:1,ERROR:2},Gi={CANCEL:1,CANCEL_COMPLETE:2,CLOSE:3,ENQUEUE:4,ERROR:5,PULL:6,PULL_COMPLETE:7,START_COMPLETE:8};function U9(){}function da(l){if(l instanceof o0||l instanceof TY||l instanceof C9||l instanceof OM||l instanceof ZX)return l;switch(l instanceof Error||typeof l=="object"&&l!==null||Xn('wrapReason: Expected "reason" to be a (possibly cloned) Error.'),l.name){case"AbortException":return new o0(l.message);case"InvalidPDFException":return new TY(l.message);case"PasswordException":return new C9(l.message,l.code);case"ResponseException":return new OM(l.message,l.status,l.missing);case"UnknownErrorException":return new ZX(l.message,l.details)}return new ZX(l.message,l.toString())}var iZ,gc,Yk,Lk,Vk,B1;class c2{constructor(t,e,n){k(this,gc);k(this,iZ,new AbortController);this.sourceName=t,this.targetName=e,this.comObj=n,this.callbackId=1,this.streamId=1,this.streamSinks=Object.create(null),this.streamControllers=Object.create(null),this.callbackCapabilities=Object.create(null),this.actionHandler=Object.create(null),n.addEventListener("message",J(this,gc,Yk).bind(this),{signal:m(this,iZ).signal})}on(t,e){const n=this.actionHandler;if(n[t])throw new Error(`There is already an actionName called "${t}"`);n[t]=e}send(t,e,n){this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:t,data:e},n)}sendWithPromise(t,e,n){const i=this.callbackId++,s=Promise.withResolvers();this.callbackCapabilities[i]=s;try{this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:t,callbackId:i,data:e},n)}catch(a){s.reject(a)}return s.promise}sendWithStream(t,e,n,i){const s=this.streamId++,a=this.sourceName,c=this.targetName,o=this.comObj;return new ReadableStream({start:d=>{const h=Promise.withResolvers();return this.streamControllers[s]={controller:d,startCall:h,pullCall:null,cancelCall:null,isClosed:!1},o.postMessage({sourceName:a,targetName:c,action:t,streamId:s,data:e,desiredSize:d.desiredSize},i),h.promise},pull:d=>{const h=Promise.withResolvers();return this.streamControllers[s].pullCall=h,o.postMessage({sourceName:a,targetName:c,stream:Gi.PULL,streamId:s,desiredSize:d.desiredSize}),h.promise},cancel:d=>{Vi(d instanceof Error,"cancel must have a valid reason");const h=Promise.withResolvers();return this.streamControllers[s].cancelCall=h,this.streamControllers[s].isClosed=!0,o.postMessage({sourceName:a,targetName:c,stream:Gi.CANCEL,streamId:s,reason:da(d)}),h.promise}},n)}destroy(){var t;(t=m(this,iZ))==null||t.abort(),z(this,iZ,null)}}iZ=new WeakMap,gc=new WeakSet,Yk=function({data:t}){if(t.targetName!==this.sourceName)return;if(t.stream){J(this,gc,Vk).call(this,t);return}if(t.callback){const n=t.callbackId,i=this.callbackCapabilities[n];if(!i)throw new Error(`Cannot resolve callback ${n}`);if(delete this.callbackCapabilities[n],t.callback===T1.DATA)i.resolve(t.data);else if(t.callback===T1.ERROR)i.reject(da(t.reason));else throw new Error("Unexpected callback case");return}const e=this.actionHandler[t.action];if(!e)throw new Error(`Unknown action from worker: ${t.action}`);if(t.callbackId){const n=this.sourceName,i=t.sourceName,s=this.comObj;Promise.try(e,t.data).then(function(a){s.postMessage({sourceName:n,targetName:i,callback:T1.DATA,callbackId:t.callbackId,data:a})},function(a){s.postMessage({sourceName:n,targetName:i,callback:T1.ERROR,callbackId:t.callbackId,reason:da(a)})});return}if(t.streamId){J(this,gc,Lk).call(this,t);return}e(t.data)},Lk=function(t){const e=t.streamId,n=this.sourceName,i=t.sourceName,s=this.comObj,a=this,c=this.actionHandler[t.action],o={enqueue(d,h=1,b){if(this.isCancelled)return;const p=this.desiredSize;this.desiredSize-=h,p>0&&this.desiredSize<=0&&(this.sinkCapability=Promise.withResolvers(),this.ready=this.sinkCapability.promise),s.postMessage({sourceName:n,targetName:i,stream:Gi.ENQUEUE,streamId:e,chunk:d},b)},close(){this.isCancelled||(this.isCancelled=!0,s.postMessage({sourceName:n,targetName:i,stream:Gi.CLOSE,streamId:e}),delete a.streamSinks[e])},error(d){Vi(d instanceof Error,"error must have a valid reason"),!this.isCancelled&&(this.isCancelled=!0,s.postMessage({sourceName:n,targetName:i,stream:Gi.ERROR,streamId:e,reason:da(d)}))},sinkCapability:Promise.withResolvers(),onPull:null,onCancel:null,isCancelled:!1,desiredSize:t.desiredSize,ready:null};o.sinkCapability.resolve(),o.ready=o.sinkCapability.promise,this.streamSinks[e]=o,Promise.try(c,t.data,o).then(function(){s.postMessage({sourceName:n,targetName:i,stream:Gi.START_COMPLETE,streamId:e,success:!0})},function(d){s.postMessage({sourceName:n,targetName:i,stream:Gi.START_COMPLETE,streamId:e,reason:da(d)})})},Vk=function(t){const e=t.streamId,n=this.sourceName,i=t.sourceName,s=this.comObj,a=this.streamControllers[e],c=this.streamSinks[e];switch(t.stream){case Gi.START_COMPLETE:t.success?a.startCall.resolve():a.startCall.reject(da(t.reason));break;case Gi.PULL_COMPLETE:t.success?a.pullCall.resolve():a.pullCall.reject(da(t.reason));break;case Gi.PULL:if(!c){s.postMessage({sourceName:n,targetName:i,stream:Gi.PULL_COMPLETE,streamId:e,success:!0});break}c.desiredSize<=0&&t.desiredSize>0&&c.sinkCapability.resolve(),c.desiredSize=t.desiredSize,Promise.try(c.onPull||U9).then(function(){s.postMessage({sourceName:n,targetName:i,stream:Gi.PULL_COMPLETE,streamId:e,success:!0})},function(d){s.postMessage({sourceName:n,targetName:i,stream:Gi.PULL_COMPLETE,streamId:e,reason:da(d)})});break;case Gi.ENQUEUE:if(Vi(a,"enqueue should have stream controller"),a.isClosed)break;a.controller.enqueue(t.chunk);break;case Gi.CLOSE:if(Vi(a,"close should have stream controller"),a.isClosed)break;a.isClosed=!0,a.controller.close(),J(this,gc,B1).call(this,a,e);break;case Gi.ERROR:Vi(a,"error should have stream controller"),a.controller.error(da(t.reason)),J(this,gc,B1).call(this,a,e);break;case Gi.CANCEL_COMPLETE:t.success?a.cancelCall.resolve():a.cancelCall.reject(da(t.reason)),J(this,gc,B1).call(this,a,e);break;case Gi.CANCEL:if(!c)break;const o=da(t.reason);Promise.try(c.onCancel||U9,o).then(function(){s.postMessage({sourceName:n,targetName:i,stream:Gi.CANCEL_COMPLETE,streamId:e,success:!0})},function(d){s.postMessage({sourceName:n,targetName:i,stream:Gi.CANCEL_COMPLETE,streamId:e,reason:da(d)})}),c.sinkCapability.reject(o),c.isCancelled=!0,delete this.streamSinks[e];break;default:throw new Error("Unexpected stream case")}},B1=async function(t,e){var n,i,s;await Promise.allSettled([(n=t.startCall)==null?void 0:n.promise,(i=t.pullCall)==null?void 0:i.promise,(s=t.cancelCall)==null?void 0:s.promise]),delete this.streamControllers[e]};var Wy;class Ik{constructor({enableHWA:t=!1}){k(this,Wy,!1);z(this,Wy,t)}create(t,e){if(t<=0||e<=0)throw new Error("Invalid canvas size");const n=this._createCanvas(t,e);return{canvas:n,context:n.getContext("2d",{willReadFrequently:!m(this,Wy)})}}reset(t,e,n){if(!t.canvas)throw new Error("Canvas is not specified");if(e<=0||n<=0)throw new Error("Invalid canvas size");t.canvas.width=e,t.canvas.height=n}destroy(t){if(!t.canvas)throw new Error("Canvas is not specified");t.canvas.width=0,t.canvas.height=0,t.canvas=null,t.context=null}_createCanvas(t,e){Xn("Abstract method `_createCanvas` called.")}}Wy=new WeakMap;class Q_ extends Ik{constructor({ownerDocument:t=globalThis.document,enableHWA:e=!1}){super({enableHWA:e}),this._document=t}_createCanvas(t,e){const n=this._document.createElement("canvas");return n.width=t,n.height=e,n}}class wk{constructor({baseUrl:t=null,isCompressed:e=!0}){this.baseUrl=t,this.isCompressed=e}async fetch({name:t}){if(!this.baseUrl)throw new Error("Ensure that the `cMapUrl` and `cMapPacked` API parameters are provided.");if(!t)throw new Error("CMap name must be specified.");const e=this.baseUrl+t+(this.isCompressed?".bcmap":"");return this._fetch(e).then(n=>({cMapData:n,isCompressed:this.isCompressed})).catch(n=>{throw new Error(`Unable to load ${this.isCompressed?"binary ":""}CMap at: ${e}`)})}async _fetch(t){Xn("Abstract method `_fetch` called.")}}class E9 extends wk{async _fetch(t){const e=await OW(t,this.isCompressed?"arraybuffer":"text");return e instanceof ArrayBuffer?new Uint8Array(e):DW(e)}}class zk{addFilter(t){return"none"}addHCMFilter(t,e){return"none"}addAlphaFilter(t){return"none"}addLuminosityFilter(t){return"none"}addHighlightHCMFilter(t,e,n,i,s){return"none"}destroy(t=!1){}}var Im,sZ,Ho,Qo,ws,wm,zm,ve,Vs,r2,Nb,A1,Mb,gk,EY,Gb,o2,d2,KY,u2;class B_ extends zk{constructor({docId:e,ownerDocument:n=globalThis.document}){super();k(this,ve);k(this,Im);k(this,sZ);k(this,Ho);k(this,Qo);k(this,ws);k(this,wm);k(this,zm,0);z(this,Qo,e),z(this,ws,n)}addFilter(e){if(!e)return"none";let n=m(this,ve,Vs).get(e);if(n)return n;const[i,s,a]=J(this,ve,A1).call(this,e),c=e.length===1?i:`${i}${s}${a}`;if(n=m(this,ve,Vs).get(c),n)return m(this,ve,Vs).set(e,n),n;const o=`g_${m(this,Qo)}_transfer_map_${Ri(this,zm)._++}`,d=J(this,ve,Mb).call(this,o);m(this,ve,Vs).set(e,d),m(this,ve,Vs).set(c,d);const h=J(this,ve,Gb).call(this,o);return J(this,ve,d2).call(this,i,s,a,h),d}addHCMFilter(e,n){var M;const i=`${e}-${n}`,s="base";let a=m(this,ve,r2).get(s);if((a==null?void 0:a.key)===i||(a?((M=a.filter)==null||M.remove(),a.key=i,a.url="none",a.filter=null):(a={key:i,url:"none",filter:null},m(this,ve,r2).set(s,a)),!e||!n))return a.url;const c=J(this,ve,u2).call(this,e);e=Ae.makeHexColor(...c);const o=J(this,ve,u2).call(this,n);if(n=Ae.makeHexColor(...o),m(this,ve,Nb).style.color="",e==="#000000"&&n==="#ffffff"||e===n)return a.url;const d=new Array(256);for(let T=0;T<=255;T++){const Y=T/255;d[T]=Y<=.03928?Y/12.92:((Y+.055)/1.055)**2.4}const h=d.join(","),b=`g_${m(this,Qo)}_hcm_filter`,p=a.filter=J(this,ve,Gb).call(this,b);J(this,ve,d2).call(this,h,h,h,p),J(this,ve,EY).call(this,p);const y=(T,Y)=>{const L=c[T]/255,x=o[T]/255,g=new Array(Y+1);for(let F=0;F<=Y;F++)g[F]=L+F/Y*(x-L);return g.join(",")};return J(this,ve,d2).call(this,y(0,5),y(1,5),y(2,5),p),a.url=J(this,ve,Mb).call(this,b),a.url}addAlphaFilter(e){let n=m(this,ve,Vs).get(e);if(n)return n;const[i]=J(this,ve,A1).call(this,[e]),s=`alpha_${i}`;if(n=m(this,ve,Vs).get(s),n)return m(this,ve,Vs).set(e,n),n;const a=`g_${m(this,Qo)}_alpha_map_${Ri(this,zm)._++}`,c=J(this,ve,Mb).call(this,a);m(this,ve,Vs).set(e,c),m(this,ve,Vs).set(s,c);const o=J(this,ve,Gb).call(this,a);return J(this,ve,KY).call(this,i,o),c}addLuminosityFilter(e){let n=m(this,ve,Vs).get(e||"luminosity");if(n)return n;let i,s;if(e?([i]=J(this,ve,A1).call(this,[e]),s=`luminosity_${i}`):s="luminosity",n=m(this,ve,Vs).get(s),n)return m(this,ve,Vs).set(e,n),n;const a=`g_${m(this,Qo)}_luminosity_map_${Ri(this,zm)._++}`,c=J(this,ve,Mb).call(this,a);m(this,ve,Vs).set(e,c),m(this,ve,Vs).set(s,c);const o=J(this,ve,Gb).call(this,a);return J(this,ve,gk).call(this,o),e&&J(this,ve,KY).call(this,i,o),c}addHighlightHCMFilter(e,n,i,s,a){var x;const c=`${n}-${i}-${s}-${a}`;let o=m(this,ve,r2).get(e);if((o==null?void 0:o.key)===c||(o?((x=o.filter)==null||x.remove(),o.key=c,o.url="none",o.filter=null):(o={key:c,url:"none",filter:null},m(this,ve,r2).set(e,o)),!n||!i))return o.url;const[d,h]=[n,i].map(J(this,ve,u2).bind(this));let b=Math.round(.2126*d[0]+.7152*d[1]+.0722*d[2]),p=Math.round(.2126*h[0]+.7152*h[1]+.0722*h[2]),[y,M]=[s,a].map(J(this,ve,u2).bind(this));p<b&&([b,p,y,M]=[p,b,M,y]),m(this,ve,Nb).style.color="";const T=(g,F,j)=>{const D=new Array(256),_=(p-b)/j,ut=g/255,K=(F-g)/(255*j);let f=0;for(let lt=0;lt<=j;lt++){const tt=Math.round(b+lt*_),ht=ut+lt*K;for(let dt=f;dt<=tt;dt++)D[dt]=ht;f=tt+1}for(let lt=f;lt<256;lt++)D[lt]=D[f-1];return D.join(",")},Y=`g_${m(this,Qo)}_hcm_${e}_filter`,L=o.filter=J(this,ve,Gb).call(this,Y);return J(this,ve,EY).call(this,L),J(this,ve,d2).call(this,T(y[0],M[0],5),T(y[1],M[1],5),T(y[2],M[2],5),L),o.url=J(this,ve,Mb).call(this,Y),o.url}destroy(e=!1){var n,i,s,a;e&&((n=m(this,wm))!=null&&n.size)||((i=m(this,Ho))==null||i.parentNode.parentNode.remove(),z(this,Ho,null),(s=m(this,sZ))==null||s.clear(),z(this,sZ,null),(a=m(this,wm))==null||a.clear(),z(this,wm,null),z(this,zm,0))}}Im=new WeakMap,sZ=new WeakMap,Ho=new WeakMap,Qo=new WeakMap,ws=new WeakMap,wm=new WeakMap,zm=new WeakMap,ve=new WeakSet,Vs=function(){return m(this,sZ)||z(this,sZ,new Map)},r2=function(){return m(this,wm)||z(this,wm,new Map)},Nb=function(){if(!m(this,Ho)){const e=m(this,ws).createElement("div"),{style:n}=e;n.visibility="hidden",n.contain="strict",n.width=n.height=0,n.position="absolute",n.top=n.left=0,n.zIndex=-1;const i=m(this,ws).createElementNS(Io,"svg");i.setAttribute("width",0),i.setAttribute("height",0),z(this,Ho,m(this,ws).createElementNS(Io,"defs")),e.append(i),i.append(m(this,Ho)),m(this,ws).body.append(e)}return m(this,Ho)},A1=function(e){if(e.length===1){const d=e[0],h=new Array(256);for(let p=0;p<256;p++)h[p]=d[p]/255;const b=h.join(",");return[b,b,b]}const[n,i,s]=e,a=new Array(256),c=new Array(256),o=new Array(256);for(let d=0;d<256;d++)a[d]=n[d]/255,c[d]=i[d]/255,o[d]=s[d]/255;return[a.join(","),c.join(","),o.join(",")]},Mb=function(e){if(m(this,Im)===void 0){z(this,Im,"");const n=m(this,ws).URL;n!==m(this,ws).baseURI&&(UG(n)?Ll('#createUrl: ignore "data:"-URL for performance reasons.'):z(this,Im,vR(n,"")))}return`url(${m(this,Im)}#${e})`},gk=function(e){const n=m(this,ws).createElementNS(Io,"feColorMatrix");n.setAttribute("type","matrix"),n.setAttribute("values","0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0.59 0.11 0 0"),e.append(n)},EY=function(e){const n=m(this,ws).createElementNS(Io,"feColorMatrix");n.setAttribute("type","matrix"),n.setAttribute("values","0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0"),e.append(n)},Gb=function(e){const n=m(this,ws).createElementNS(Io,"filter");return n.setAttribute("color-interpolation-filters","sRGB"),n.setAttribute("id",e),m(this,ve,Nb).append(n),n},o2=function(e,n,i){const s=m(this,ws).createElementNS(Io,n);s.setAttribute("type","discrete"),s.setAttribute("tableValues",i),e.append(s)},d2=function(e,n,i,s){const a=m(this,ws).createElementNS(Io,"feComponentTransfer");s.append(a),J(this,ve,o2).call(this,a,"feFuncR",e),J(this,ve,o2).call(this,a,"feFuncG",n),J(this,ve,o2).call(this,a,"feFuncB",i)},KY=function(e,n){const i=m(this,ws).createElementNS(Io,"feComponentTransfer");n.append(i),J(this,ve,o2).call(this,i,"feFuncA",e)},u2=function(e){return m(this,ve,Nb).style.color=e,EG(getComputedStyle(m(this,ve,Nb)).getPropertyValue("color"))};class xk{constructor({baseUrl:t=null}){this.baseUrl=t}async fetch({filename:t}){if(!this.baseUrl)throw new Error("Ensure that the `standardFontDataUrl` API parameter is provided.");if(!t)throw new Error("Font filename must be specified.");const e=`${this.baseUrl}${t}`;return this._fetch(e).catch(n=>{throw new Error(`Unable to load font data at: ${e}`)})}async _fetch(t){Xn("Abstract method `_fetch` called.")}}class K9 extends xk{async _fetch(t){const e=await OW(t,"arraybuffer");return new Uint8Array(e)}}class fk{constructor({baseUrl:t=null}){this.baseUrl=t}async fetch({filename:t}){if(!this.baseUrl)throw new Error("Ensure that the `wasmUrl` API parameter is provided.");if(!t)throw new Error("Wasm filename must be specified.");const e=`${this.baseUrl}${t}`;return this._fetch(e).catch(n=>{throw new Error(`Unable to load wasm data at: ${e}`)})}async _fetch(t){Xn("Abstract method `_fetch` called.")}}class P9 extends fk{async _fetch(t){const e=await OW(t,"arraybuffer");return new Uint8Array(e)}}Ks&&Ll("Please use the `legacy` build in Node.js environments.");async function BV(l){const e=await process.getBuiltinModule("fs").promises.readFile(l);return new Uint8Array(e)}class A_ extends zk{}class __ extends Ik{_createCanvas(t,e){return process.getBuiltinModule("module").createRequire(import.meta.url)("@napi-rs/canvas").createCanvas(t,e)}}class q_ extends wk{async _fetch(t){return BV(t)}}class $_ extends xk{async _fetch(t){return BV(t)}}class tq extends fk{async _fetch(t){return BV(t)}}const mb="__forcedDependency";var fa,Fs,aZ,jr,cZ,Bo,Zn,Nn,Ao,Sa,Iu,rZ,wu,zu;class eq{constructor(t){k(this,fa,{__proto__:null});k(this,Fs,{__proto__:null,transform:[],moveText:[],sameLineText:[],[mb]:[]});k(this,aZ,new Map);k(this,jr,[]);k(this,cZ,[]);k(this,Bo,[[1,0,0,1,0,0]]);k(this,Zn,[-1/0,-1/0,1/0,1/0]);k(this,Nn,new Float64Array([1/0,1/0,-1/0,-1/0]));k(this,Ao,-1);k(this,Sa,new Set);k(this,Iu,new Map);k(this,rZ,new Map);k(this,wu);k(this,zu);z(this,wu,t.width),z(this,zu,t.height)}save(t){return z(this,fa,{__proto__:m(this,fa)}),z(this,Fs,{__proto__:m(this,Fs),transform:{__proto__:m(this,Fs).transform},moveText:{__proto__:m(this,Fs).moveText},sameLineText:{__proto__:m(this,Fs).sameLineText},[mb]:{__proto__:m(this,Fs)[mb]}}),z(this,Zn,{__proto__:m(this,Zn)}),m(this,jr).push([t,null]),this}restore(t){const e=Object.getPrototypeOf(m(this,fa));if(e===null)return this;z(this,fa,e),z(this,Fs,Object.getPrototypeOf(m(this,Fs))),z(this,Zn,Object.getPrototypeOf(m(this,Zn)));const n=m(this,jr).pop();return n!==void 0&&(n[1]=t),this}recordOpenMarker(t){return m(this,jr).push([t,null]),this}getOpenMarker(){return m(this,jr).length===0?null:m(this,jr).at(-1)[0]}recordCloseMarker(t){const e=m(this,jr).pop();return e!==void 0&&(e[1]=t),this}beginMarkedContent(t){return m(this,cZ).push([t,null]),this}endMarkedContent(t){const e=m(this,cZ).pop();return e!==void 0&&(e[1]=t),this}pushBaseTransform(t){return m(this,Bo).push(Ae.multiplyByDOMMatrix(m(this,Bo).at(-1),t.getTransform())),this}popBaseTransform(){return m(this,Bo).length>1&&m(this,Bo).pop(),this}recordSimpleData(t,e){return m(this,fa)[t]=e,this}recordIncrementalData(t,e){return m(this,Fs)[t].push(e),this}resetIncrementalData(t,e){return m(this,Fs)[t].length=0,this}recordNamedData(t,e){return m(this,aZ).set(t,e),this}recordFutureForcedDependency(t,e){return this.recordIncrementalData(mb,e),this}inheritSimpleDataAsFutureForcedDependencies(t){for(const e of t)e in m(this,fa)&&this.recordFutureForcedDependency(e,m(this,fa)[e]);return this}inheritPendingDependenciesAsFutureForcedDependencies(){for(const t of m(this,Sa))this.recordFutureForcedDependency(mb,t);return this}resetBBox(t){return z(this,Ao,t),m(this,Nn)[0]=1/0,m(this,Nn)[1]=1/0,m(this,Nn)[2]=-1/0,m(this,Nn)[3]=-1/0,this}get hasPendingBBox(){return m(this,Ao)!==-1}recordClipBox(t,e,n,i,s,a){const c=Ae.multiplyByDOMMatrix(m(this,Bo).at(-1),e.getTransform()),o=[1/0,1/0,-1/0,-1/0];Ae.axialAlignedBoundingBox([n,s,i,a],c,o);const d=Ae.intersect(m(this,Zn),o);return d?(m(this,Zn)[0]=d[0],m(this,Zn)[1]=d[1],m(this,Zn)[2]=d[2],m(this,Zn)[3]=d[3]):(m(this,Zn)[0]=m(this,Zn)[1]=1/0,m(this,Zn)[2]=m(this,Zn)[3]=-1/0),this}recordBBox(t,e,n,i,s,a){const c=m(this,Zn);if(c[0]===1/0)return this;const o=Ae.multiplyByDOMMatrix(m(this,Bo).at(-1),e.getTransform());if(c[0]===-1/0)return Ae.axialAlignedBoundingBox([n,s,i,a],o,m(this,Nn)),this;const d=[1/0,1/0,-1/0,-1/0];return Ae.axialAlignedBoundingBox([n,s,i,a],o,d),m(this,Nn)[0]=Math.min(m(this,Nn)[0],Math.max(d[0],c[0])),m(this,Nn)[1]=Math.min(m(this,Nn)[1],Math.max(d[1],c[1])),m(this,Nn)[2]=Math.max(m(this,Nn)[2],Math.min(d[2],c[2])),m(this,Nn)[3]=Math.max(m(this,Nn)[3],Math.min(d[3],c[3])),this}recordCharacterBBox(t,e,n,i=1,s=0,a=0,c){const o=n.bbox;let d,h;if(o&&(d=o[2]!==o[0]&&o[3]!==o[1]&&m(this,rZ).get(n),d!==!1&&(h=[0,0,0,0],Ae.axialAlignedBoundingBox(o,n.fontMatrix,h),(i!==1||s!==0||a!==0)&&Ae.scaleMinMax([i,0,0,-i,s,a],h),d)))return this.recordBBox(t,e,h[0],h[2],h[1],h[3]);if(!c)return this.recordFullPageBBox(t);const b=c();return o&&h&&d===void 0&&(d=h[0]<=s-b.actualBoundingBoxLeft&&h[2]>=s+b.actualBoundingBoxRight&&h[1]<=a-b.actualBoundingBoxAscent&&h[3]>=a+b.actualBoundingBoxDescent,m(this,rZ).set(n,d),d)?this.recordBBox(t,e,h[0],h[2],h[1],h[3]):this.recordBBox(t,e,s-b.actualBoundingBoxLeft,s+b.actualBoundingBoxRight,a-b.actualBoundingBoxAscent,a+b.actualBoundingBoxDescent)}recordFullPageBBox(t){return m(this,Nn)[0]=Math.max(0,m(this,Zn)[0]),m(this,Nn)[1]=Math.max(0,m(this,Zn)[1]),m(this,Nn)[2]=Math.min(m(this,wu),m(this,Zn)[2]),m(this,Nn)[3]=Math.min(m(this,zu),m(this,Zn)[3]),this}getSimpleIndex(t){return m(this,fa)[t]}recordDependencies(t,e){const n=m(this,Sa),i=m(this,fa),s=m(this,Fs);for(const a of e)a in m(this,fa)?n.add(i[a]):a in s&&s[a].forEach(n.add,n);return this}copyDependenciesFromIncrementalOperation(t,e){const n=m(this,Iu),i=m(this,Sa);for(const s of m(this,Fs)[e])n.get(s).dependencies.forEach(i.add,i.add(s));return this}recordNamedDependency(t,e){return m(this,aZ).has(e)&&m(this,Sa).add(m(this,aZ).get(e)),this}recordOperation(t,e=!1){this.recordDependencies(t,[mb]);const n=new Set(m(this,Sa)),i=m(this,jr).concat(m(this,cZ)),s=m(this,Ao)===t?{minX:m(this,Nn)[0],minY:m(this,Nn)[1],maxX:m(this,Nn)[2],maxY:m(this,Nn)[3]}:null;return m(this,Iu).set(t,{bbox:s,pairs:i,dependencies:n}),e||z(this,Ao,-1),m(this,Sa).clear(),this}bboxToClipBoxDropOperation(t){return m(this,Ao)!==-1&&(z(this,Ao,-1),m(this,Zn)[0]=Math.max(m(this,Zn)[0],m(this,Nn)[0]),m(this,Zn)[1]=Math.max(m(this,Zn)[1],m(this,Nn)[1]),m(this,Zn)[2]=Math.min(m(this,Zn)[2],m(this,Nn)[2]),m(this,Zn)[3]=Math.min(m(this,Zn)[3],m(this,Nn)[3])),m(this,Sa).clear(),this}_takePendingDependencies(){const t=m(this,Sa);return z(this,Sa,new Set),t}_extractOperation(t){const e=m(this,Iu).get(t);return m(this,Iu).delete(t),e}_pushPendingDependencies(t){for(const e of t)m(this,Sa).add(e)}take(){return m(this,rZ).clear(),Array.from(m(this,Iu),([t,{bbox:e,pairs:n,dependencies:i}])=>(n.forEach(s=>s.forEach(i.add,i)),i.delete(t),{minX:((e==null?void 0:e.minX)??0)/m(this,wu),maxX:((e==null?void 0:e.maxX)??m(this,wu))/m(this,wu),minY:((e==null?void 0:e.minY)??0)/m(this,zu),maxY:((e==null?void 0:e.maxY)??m(this,zu))/m(this,zu),dependencies:Array.from(i).sort((s,a)=>s-a),idx:t}))}}fa=new WeakMap,Fs=new WeakMap,aZ=new WeakMap,jr=new WeakMap,cZ=new WeakMap,Bo=new WeakMap,Zn=new WeakMap,Nn=new WeakMap,Ao=new WeakMap,Sa=new WeakMap,Iu=new WeakMap,rZ=new WeakMap,wu=new WeakMap,zu=new WeakMap;var dn,$n,oZ,gu,dZ;const iI=class iI{constructor(t,e){k(this,dn);k(this,$n);k(this,oZ,0);k(this,gu);k(this,dZ,0);if(t instanceof iI)return t;z(this,dn,t),z(this,gu,t._takePendingDependencies()),z(this,$n,e)}save(t){return Ri(this,dZ)._++,m(this,dn).save(m(this,$n)),this}restore(t){return m(this,dZ)>0&&(m(this,dn).restore(m(this,$n)),Ri(this,dZ)._--),this}recordOpenMarker(t){return Ri(this,oZ)._++,this}getOpenMarker(){return m(this,oZ)>0?m(this,$n):m(this,dn).getOpenMarker()}recordCloseMarker(t){return Ri(this,oZ)._--,this}beginMarkedContent(t){return this}endMarkedContent(t){return this}pushBaseTransform(t){return m(this,dn).pushBaseTransform(t),this}popBaseTransform(){return m(this,dn).popBaseTransform(),this}recordSimpleData(t,e){return m(this,dn).recordSimpleData(t,m(this,$n)),this}recordIncrementalData(t,e){return m(this,dn).recordIncrementalData(t,m(this,$n)),this}resetIncrementalData(t,e){return m(this,dn).resetIncrementalData(t,m(this,$n)),this}recordNamedData(t,e){return this}recordFutureForcedDependency(t,e){return m(this,dn).recordFutureForcedDependency(t,m(this,$n)),this}inheritSimpleDataAsFutureForcedDependencies(t){return m(this,dn).inheritSimpleDataAsFutureForcedDependencies(t),this}inheritPendingDependenciesAsFutureForcedDependencies(){return m(this,dn).inheritPendingDependenciesAsFutureForcedDependencies(),this}resetBBox(t){return m(this,dn).hasPendingBBox||m(this,dn).resetBBox(m(this,$n)),this}get hasPendingBBox(){return m(this,dn).hasPendingBBox}recordClipBox(t,e,n,i,s,a){return m(this,dn).recordClipBox(m(this,$n),e,n,i,s,a),this}recordBBox(t,e,n,i,s,a){return m(this,dn).recordBBox(m(this,$n),e,n,i,s,a),this}recordCharacterBBox(t,e,n,i,s,a,c){return m(this,dn).recordCharacterBBox(m(this,$n),e,n,i,s,a,c),this}recordFullPageBBox(t){return m(this,dn).recordFullPageBBox(m(this,$n)),this}getSimpleIndex(t){return m(this,dn).getSimpleIndex(t)}recordDependencies(t,e){return m(this,dn).recordDependencies(m(this,$n),e),this}copyDependenciesFromIncrementalOperation(t,e){return m(this,dn).copyDependenciesFromIncrementalOperation(m(this,$n),e),this}recordNamedDependency(t,e){return m(this,dn).recordNamedDependency(m(this,$n),e),this}recordOperation(t){m(this,dn).recordOperation(m(this,$n),!0);const e=m(this,dn)._extractOperation(m(this,$n));for(const n of e.dependencies)m(this,gu).add(n);return m(this,gu).delete(m(this,$n)),m(this,gu).delete(null),this}bboxToClipBoxDropOperation(t){return m(this,dn).bboxToClipBoxDropOperation(m(this,$n)),this}recordNestedDependencies(){m(this,dn)._pushPendingDependencies(m(this,gu))}take(){throw new Error("Unreachable")}};dn=new WeakMap,$n=new WeakMap,oZ=new WeakMap,gu=new WeakMap,dZ=new WeakMap;let JM=iI;const hc={stroke:["path","transform","filter","strokeColor","strokeAlpha","lineWidth","lineCap","lineJoin","miterLimit","dash"],fill:["path","transform","filter","fillColor","fillAlpha","globalCompositeOperation","SMask"],imageXObject:["transform","SMask","filter","fillAlpha","strokeAlpha","globalCompositeOperation"],rawFillPath:["filter","fillColor","fillAlpha"],showText:["transform","leading","charSpacing","wordSpacing","hScale","textRise","moveText","textMatrix","font","filter","fillColor","textRenderingMode","SMask","fillAlpha","strokeAlpha","globalCompositeOperation"],transform:["transform"],transformAndFill:["transform","fillColor"]},Zs={FILL:"Fill",STROKE:"Stroke",SHADING:"Shading"};function PY(l,t){if(!t)return;const e=t[2]-t[0],n=t[3]-t[1],i=new Path2D;i.rect(t[0],t[1],e,n),l.clip(i)}class AV{isModifyingCurrentTransform(){return!1}getPattern(){Xn("Abstract method `getPattern` called.")}}class lq extends AV{constructor(t){super(),this._type=t[1],this._bbox=t[2],this._colorStops=t[3],this._p0=t[4],this._p1=t[5],this._r0=t[6],this._r1=t[7],this.matrix=null}_createGradient(t){let e;this._type==="axial"?e=t.createLinearGradient(this._p0[0],this._p0[1],this._p1[0],this._p1[1]):this._type==="radial"&&(e=t.createRadialGradient(this._p0[0],this._p0[1],this._r0,this._p1[0],this._p1[1],this._r1));for(const n of this._colorStops)e.addColorStop(n[0],n[1]);return e}getPattern(t,e,n,i){let s;if(i===Zs.STROKE||i===Zs.FILL){const a=e.current.getClippedPathBoundingBox(i,ei(t))||[0,0,0,0],c=Math.ceil(a[2]-a[0])||1,o=Math.ceil(a[3]-a[1])||1,d=e.cachedCanvases.getCanvas("pattern",c,o),h=d.context;h.clearRect(0,0,h.canvas.width,h.canvas.height),h.beginPath(),h.rect(0,0,h.canvas.width,h.canvas.height),h.translate(-a[0],-a[1]),n=Ae.transform(n,[1,0,0,1,a[0],a[1]]),h.transform(...e.baseTransform),this.matrix&&h.transform(...this.matrix),PY(h,this._bbox),h.fillStyle=this._createGradient(h),h.fill(),s=t.createPattern(d.canvas,"no-repeat");const b=new DOMMatrix(n);s.setTransform(b)}else PY(t,this._bbox),s=this._createGradient(t);return s}}function WX(l,t,e,n,i,s,a,c){const o=t.coords,d=t.colors,h=l.data,b=l.width*4;let p;o[e+1]>o[n+1]&&(p=e,e=n,n=p,p=s,s=a,a=p),o[n+1]>o[i+1]&&(p=n,n=i,i=p,p=a,a=c,c=p),o[e+1]>o[n+1]&&(p=e,e=n,n=p,p=s,s=a,a=p);const y=(o[e]+t.offsetX)*t.scaleX,M=(o[e+1]+t.offsetY)*t.scaleY,T=(o[n]+t.offsetX)*t.scaleX,Y=(o[n+1]+t.offsetY)*t.scaleY,L=(o[i]+t.offsetX)*t.scaleX,x=(o[i+1]+t.offsetY)*t.scaleY;if(M>=x)return;const g=d[s],F=d[s+1],j=d[s+2],D=d[a],_=d[a+1],ut=d[a+2],K=d[c],f=d[c+1],lt=d[c+2],tt=Math.round(M),ht=Math.round(x);let dt,It,kt,Gt,gt,vt,H,nt;for(let bt=tt;bt<=ht;bt++){if(bt<Y){const Nt=bt<M?0:(M-bt)/(M-Y);dt=y-(y-T)*Nt,It=g-(g-D)*Nt,kt=F-(F-_)*Nt,Gt=j-(j-ut)*Nt}else{let Nt;bt>x?Nt=1:Y===x?Nt=0:Nt=(Y-bt)/(Y-x),dt=T-(T-L)*Nt,It=D-(D-K)*Nt,kt=_-(_-f)*Nt,Gt=ut-(ut-lt)*Nt}let $;bt<M?$=0:bt>x?$=1:$=(M-bt)/(M-x),gt=y-(y-L)*$,vt=g-(g-K)*$,H=F-(F-f)*$,nt=j-(j-lt)*$;const _t=Math.round(Math.min(dt,gt)),ce=Math.round(Math.max(dt,gt));let ne=b*bt+_t*4;for(let Nt=_t;Nt<=ce;Nt++)$=(dt-Nt)/(dt-gt),$<0?$=0:$>1&&($=1),h[ne++]=It-(It-vt)*$|0,h[ne++]=kt-(kt-H)*$|0,h[ne++]=Gt-(Gt-nt)*$|0,h[ne++]=255}}function nq(l,t,e){const n=t.coords,i=t.colors;let s,a;switch(t.type){case"lattice":const c=t.verticesPerRow,o=Math.floor(n.length/c)-1,d=c-1;for(s=0;s<o;s++){let h=s*c;for(let b=0;b<d;b++,h++)WX(l,e,n[h],n[h+1],n[h+c],i[h],i[h+1],i[h+c]),WX(l,e,n[h+c+1],n[h+1],n[h+c],i[h+c+1],i[h+1],i[h+c])}break;case"triangles":for(s=0,a=n.length;s<a;s+=3)WX(l,e,n[s],n[s+1],n[s+2],i[s],i[s+1],i[s+2]);break;default:throw new Error("illegal figure")}}class iq extends AV{constructor(t){super(),this._coords=t[2],this._colors=t[3],this._figures=t[4],this._bounds=t[5],this._bbox=t[6],this._background=t[7],this.matrix=null}_createMeshCanvas(t,e,n){const c=Math.floor(this._bounds[0]),o=Math.floor(this._bounds[1]),d=Math.ceil(this._bounds[2])-c,h=Math.ceil(this._bounds[3])-o,b=Math.min(Math.ceil(Math.abs(d*t[0]*1.1)),3e3),p=Math.min(Math.ceil(Math.abs(h*t[1]*1.1)),3e3),y=d/b,M=h/p,T={coords:this._coords,colors:this._colors,offsetX:-c,offsetY:-o,scaleX:1/y,scaleY:1/M},Y=b+2*2,L=p+2*2,x=n.getCanvas("mesh",Y,L),g=x.context,F=g.createImageData(b,p);if(e){const D=F.data;for(let _=0,ut=D.length;_<ut;_+=4)D[_]=e[0],D[_+1]=e[1],D[_+2]=e[2],D[_+3]=255}for(const D of this._figures)nq(F,D,T);return g.putImageData(F,2,2),{canvas:x.canvas,offsetX:c-2*y,offsetY:o-2*M,scaleX:y,scaleY:M}}isModifyingCurrentTransform(){return!0}getPattern(t,e,n,i){PY(t,this._bbox);const s=new Float32Array(2);if(i===Zs.SHADING)Ae.singularValueDecompose2dScale(ei(t),s);else if(this.matrix){Ae.singularValueDecompose2dScale(this.matrix,s);const[c,o]=s;Ae.singularValueDecompose2dScale(e.baseTransform,s),s[0]*=c,s[1]*=o}else Ae.singularValueDecompose2dScale(e.baseTransform,s);const a=this._createMeshCanvas(s,i===Zs.SHADING?null:this._background,e.cachedCanvases);return i!==Zs.SHADING&&(t.setTransform(...e.baseTransform),this.matrix&&t.transform(...this.matrix)),t.translate(a.offsetX,a.offsetY),t.scale(a.scaleX,a.scaleY),t.createPattern(a.canvas,"no-repeat")}}class sq extends AV{getPattern(){return"hotpink"}}function aq(l){switch(l[0]){case"RadialAxial":return new lq(l);case"Mesh":return new iq(l);case"Dummy":return new sq}throw new Error(`Unknown IR type: ${l[0]}`)}const H9={COLORED:1,UNCOLORED:2},sG=class sG{constructor(t,e,n,i){this.color=t[1],this.operatorList=t[2],this.matrix=t[3],this.bbox=t[4],this.xstep=t[5],this.ystep=t[6],this.paintType=t[7],this.tilingType=t[8],this.ctx=e,this.canvasGraphicsFactory=n,this.baseTransform=i}createPatternCanvas(t){var gt,vt,H,nt;const{bbox:e,operatorList:n,paintType:i,tilingType:s,color:a,canvasGraphicsFactory:c}=this;let{xstep:o,ystep:d}=this;o=Math.abs(o),d=Math.abs(d),vG("TilingType: "+s);const h=e[0],b=e[1],p=e[2],y=e[3],M=p-h,T=y-b,Y=new Float32Array(2);Ae.singularValueDecompose2dScale(this.matrix,Y);const[L,x]=Y;Ae.singularValueDecompose2dScale(this.baseTransform,Y);const g=L*Y[0],F=x*Y[1];let j=M,D=T,_=!1,ut=!1;const K=Math.ceil(o*g),f=Math.ceil(d*F),lt=Math.ceil(M*g),tt=Math.ceil(T*F);K>=lt?j=o:_=!0,f>=tt?D=d:ut=!0;const ht=this.getSizeAndScale(j,this.ctx.canvas.width,g),dt=this.getSizeAndScale(D,this.ctx.canvas.height,F),It=t.cachedCanvases.getCanvas("pattern",ht.size,dt.size),kt=It.context,Gt=c.createCanvasGraphics(kt);if(Gt.groupLevel=t.groupLevel,this.setFillAndStrokeStyleToContext(Gt,i,a),kt.translate(-ht.scale*h,-dt.scale*b),Gt.transform(0,ht.scale,0,0,dt.scale,0,0),kt.save(),(gt=Gt.dependencyTracker)==null||gt.save(),this.clipBbox(Gt,h,b,p,y),Gt.baseTransform=ei(Gt.ctx),Gt.executeOperatorList(n),Gt.endDrawing(),(nt=(vt=Gt.dependencyTracker)==null?void 0:(H=vt.restore()).recordNestedDependencies)==null||nt.call(H),kt.restore(),_||ut){const bt=It.canvas;_&&(j=o),ut&&(D=d);const $=this.getSizeAndScale(j,this.ctx.canvas.width,g),_t=this.getSizeAndScale(D,this.ctx.canvas.height,F),ce=$.size,ne=_t.size,Nt=t.cachedCanvases.getCanvas("pattern-workaround",ce,ne),xt=Nt.context,Zt=_?Math.floor(M/o):0,Ft=ut?Math.floor(T/d):0;for(let te=0;te<=Zt;te++)for(let he=0;he<=Ft;he++)xt.drawImage(bt,ce*te,ne*he,ce,ne,0,0,ce,ne);return{canvas:Nt.canvas,scaleX:$.scale,scaleY:_t.scale,offsetX:h,offsetY:b}}return{canvas:It.canvas,scaleX:ht.scale,scaleY:dt.scale,offsetX:h,offsetY:b}}getSizeAndScale(t,e,n){const i=Math.max(sG.MAX_PATTERN_SIZE,e);let s=Math.ceil(t*n);return s>=i?s=i:n=s/t,{scale:n,size:s}}clipBbox(t,e,n,i,s){const a=i-e,c=s-n;t.ctx.rect(e,n,a,c),Ae.axialAlignedBoundingBox([e,n,i,s],ei(t.ctx),t.current.minMax),t.clip(),t.endPath()}setFillAndStrokeStyleToContext(t,e,n){const i=t.ctx,s=t.current;switch(e){case H9.COLORED:const{fillStyle:a,strokeStyle:c}=this.ctx;i.fillStyle=s.fillColor=a,i.strokeStyle=s.strokeColor=c;break;case H9.UNCOLORED:i.fillStyle=i.strokeStyle=n,s.fillColor=s.strokeColor=n;break;default:throw new Y_(`Unsupported paint type: ${e}`)}}isModifyingCurrentTransform(){return!1}getPattern(t,e,n,i){let s=n;i!==Zs.SHADING&&(s=Ae.transform(s,e.baseTransform),this.matrix&&(s=Ae.transform(s,this.matrix)));const a=this.createPatternCanvas(e);let c=new DOMMatrix(s);c=c.translate(a.offsetX,a.offsetY),c=c.scale(1/a.scaleX,1/a.scaleY);const o=t.createPattern(a.canvas,"repeat");return o.setTransform(c),o}};We(sG,"MAX_PATTERN_SIZE",3e3);let HY=sG;function cq({src:l,srcPos:t=0,dest:e,width:n,height:i,nonBlackColor:s=4294967295,inverseDecode:a=!1}){const c=Ws.isLittleEndian?4278190080:255,[o,d]=a?[s,c]:[c,s],h=n>>3,b=n&7,p=l.length;e=new Uint32Array(e.buffer);let y=0;for(let M=0;M<i;M++){for(const Y=t+h;t<Y;t++){const L=t<p?l[t]:255;e[y++]=L&128?d:o,e[y++]=L&64?d:o,e[y++]=L&32?d:o,e[y++]=L&16?d:o,e[y++]=L&8?d:o,e[y++]=L&4?d:o,e[y++]=L&2?d:o,e[y++]=L&1?d:o}if(b===0)continue;const T=t<p?l[t++]:255;for(let Y=0;Y<b;Y++)e[y++]=T&1<<7-Y?d:o}return{srcPos:t,destPos:y}}const Q9=16,B9=100,rq=15,A9=10,pa=16,NX=new DOMMatrix,Qa=new Float32Array(2),Ib=new Float32Array([1/0,1/0,-1/0,-1/0]);function oq(l,t){if(l._removeMirroring)throw new Error("Context is already forwarding operations.");l.__originalSave=l.save,l.__originalRestore=l.restore,l.__originalRotate=l.rotate,l.__originalScale=l.scale,l.__originalTranslate=l.translate,l.__originalTransform=l.transform,l.__originalSetTransform=l.setTransform,l.__originalResetTransform=l.resetTransform,l.__originalClip=l.clip,l.__originalMoveTo=l.moveTo,l.__originalLineTo=l.lineTo,l.__originalBezierCurveTo=l.bezierCurveTo,l.__originalRect=l.rect,l.__originalClosePath=l.closePath,l.__originalBeginPath=l.beginPath,l._removeMirroring=()=>{l.save=l.__originalSave,l.restore=l.__originalRestore,l.rotate=l.__originalRotate,l.scale=l.__originalScale,l.translate=l.__originalTranslate,l.transform=l.__originalTransform,l.setTransform=l.__originalSetTransform,l.resetTransform=l.__originalResetTransform,l.clip=l.__originalClip,l.moveTo=l.__originalMoveTo,l.lineTo=l.__originalLineTo,l.bezierCurveTo=l.__originalBezierCurveTo,l.rect=l.__originalRect,l.closePath=l.__originalClosePath,l.beginPath=l.__originalBeginPath,delete l._removeMirroring},l.save=function(){t.save(),this.__originalSave()},l.restore=function(){t.restore(),this.__originalRestore()},l.translate=function(e,n){t.translate(e,n),this.__originalTranslate(e,n)},l.scale=function(e,n){t.scale(e,n),this.__originalScale(e,n)},l.transform=function(e,n,i,s,a,c){t.transform(e,n,i,s,a,c),this.__originalTransform(e,n,i,s,a,c)},l.setTransform=function(e,n,i,s,a,c){t.setTransform(e,n,i,s,a,c),this.__originalSetTransform(e,n,i,s,a,c)},l.resetTransform=function(){t.resetTransform(),this.__originalResetTransform()},l.rotate=function(e){t.rotate(e),this.__originalRotate(e)},l.clip=function(e){t.clip(e),this.__originalClip(e)},l.moveTo=function(e,n){t.moveTo(e,n),this.__originalMoveTo(e,n)},l.lineTo=function(e,n){t.lineTo(e,n),this.__originalLineTo(e,n)},l.bezierCurveTo=function(e,n,i,s,a,c){t.bezierCurveTo(e,n,i,s,a,c),this.__originalBezierCurveTo(e,n,i,s,a,c)},l.rect=function(e,n,i,s){t.rect(e,n,i,s),this.__originalRect(e,n,i,s)},l.closePath=function(){t.closePath(),this.__originalClosePath()},l.beginPath=function(){t.beginPath(),this.__originalBeginPath()}}class dq{constructor(t){this.canvasFactory=t,this.cache=Object.create(null)}getCanvas(t,e,n){let i;return this.cache[t]!==void 0?(i=this.cache[t],this.canvasFactory.reset(i,e,n)):(i=this.canvasFactory.create(e,n),this.cache[t]=i),i}delete(t){delete this.cache[t]}clear(){for(const t in this.cache){const e=this.cache[t];this.canvasFactory.destroy(e),delete this.cache[t]}}}function X1(l,t,e,n,i,s,a,c,o,d){const[h,b,p,y,M,T]=ei(l);if(b===0&&p===0){const x=a*h+M,g=Math.round(x),F=c*y+T,j=Math.round(F),D=(a+o)*h+M,_=Math.abs(Math.round(D)-g)||1,ut=(c+d)*y+T,K=Math.abs(Math.round(ut)-j)||1;return l.setTransform(Math.sign(h),0,0,Math.sign(y),g,j),l.drawImage(t,e,n,i,s,0,0,_,K),l.setTransform(h,b,p,y,M,T),[_,K]}if(h===0&&y===0){const x=c*p+M,g=Math.round(x),F=a*b+T,j=Math.round(F),D=(c+d)*p+M,_=Math.abs(Math.round(D)-g)||1,ut=(a+o)*b+T,K=Math.abs(Math.round(ut)-j)||1;return l.setTransform(0,Math.sign(b),Math.sign(p),0,g,j),l.drawImage(t,e,n,i,s,0,0,K,_),l.setTransform(h,b,p,y,M,T),[K,_]}l.drawImage(t,e,n,i,s,a,c,o,d);const Y=Math.hypot(h,b),L=Math.hypot(p,y);return[Y*o,L*d]}class _9{constructor(t,e,n){We(this,"alphaIsShape",!1);We(this,"fontSize",0);We(this,"fontSizeScale",1);We(this,"textMatrix",null);We(this,"textMatrixScale",1);We(this,"fontMatrix",GY);We(this,"leading",0);We(this,"x",0);We(this,"y",0);We(this,"lineX",0);We(this,"lineY",0);We(this,"charSpacing",0);We(this,"wordSpacing",0);We(this,"textHScale",1);We(this,"textRenderingMode",rs.FILL);We(this,"textRise",0);We(this,"fillColor","#000000");We(this,"strokeColor","#000000");We(this,"patternFill",!1);We(this,"patternStroke",!1);We(this,"fillAlpha",1);We(this,"strokeAlpha",1);We(this,"lineWidth",1);We(this,"activeSMask",null);We(this,"transferMaps","none");n==null||n(this),this.clipBox=new Float32Array([0,0,t,e]),this.minMax=Ib.slice()}clone(){const t=Object.create(this);return t.clipBox=this.clipBox.slice(),t.minMax=this.minMax.slice(),t}getPathBoundingBox(t=Zs.FILL,e=null){const n=this.minMax.slice();if(t===Zs.STROKE){e||Xn("Stroke bounding box must include transform."),Ae.singularValueDecompose2dScale(e,Qa);const i=Qa[0]*this.lineWidth/2,s=Qa[1]*this.lineWidth/2;n[0]-=i,n[1]-=s,n[2]+=i,n[3]+=s}return n}updateClipFromPath(){const t=Ae.intersect(this.clipBox,this.getPathBoundingBox());this.startNewPathAndClipBox(t||[0,0,0,0])}isEmptyClip(){return this.minMax[0]===1/0}startNewPathAndClipBox(t){this.clipBox.set(t,0),this.minMax.set(Ib,0)}getClippedPathBoundingBox(t=Zs.FILL,e=null){return Ae.intersect(this.clipBox,this.getPathBoundingBox(t,e))}}function q9(l,t){if(t instanceof ImageData){l.putImageData(t,0,0);return}const e=t.height,n=t.width,i=e%pa,s=(e-i)/pa,a=i===0?s:s+1,c=l.createImageData(n,pa);let o=0,d;const h=t.data,b=c.data;let p,y,M,T;if(t.kind===v1.GRAYSCALE_1BPP){const Y=h.byteLength,L=new Uint32Array(b.buffer,0,b.byteLength>>2),x=L.length,g=n+7>>3,F=4294967295,j=Ws.isLittleEndian?4278190080:255;for(p=0;p<a;p++){for(M=p<s?pa:i,d=0,y=0;y<M;y++){const D=Y-o;let _=0;const ut=D>g?n:D*8-7,K=ut&-8;let f=0,lt=0;for(;_<K;_+=8)lt=h[o++],L[d++]=lt&128?F:j,L[d++]=lt&64?F:j,L[d++]=lt&32?F:j,L[d++]=lt&16?F:j,L[d++]=lt&8?F:j,L[d++]=lt&4?F:j,L[d++]=lt&2?F:j,L[d++]=lt&1?F:j;for(;_<ut;_++)f===0&&(lt=h[o++],f=128),L[d++]=lt&f?F:j,f>>=1}for(;d<x;)L[d++]=0;l.putImageData(c,0,p*pa)}}else if(t.kind===v1.RGBA_32BPP){for(y=0,T=n*pa*4,p=0;p<s;p++)b.set(h.subarray(o,o+T)),o+=T,l.putImageData(c,0,y),y+=pa;p<a&&(T=n*i*4,b.set(h.subarray(o,o+T)),l.putImageData(c,0,y))}else if(t.kind===v1.RGB_24BPP)for(M=pa,T=n*M,p=0;p<a;p++){for(p>=s&&(M=i,T=n*M),d=0,y=T;y--;)b[d++]=h[o++],b[d++]=h[o++],b[d++]=h[o++],b[d++]=255;l.putImageData(c,0,p*pa)}else throw new Error(`bad image kind: ${t.kind}`)}function $9(l,t){if(t.bitmap){l.drawImage(t.bitmap,0,0);return}const e=t.height,n=t.width,i=e%pa,s=(e-i)/pa,a=i===0?s:s+1,c=l.createImageData(n,pa);let o=0;const d=t.data,h=c.data;for(let b=0;b<a;b++){const p=b<s?pa:i;({srcPos:o}=cq({src:d,srcPos:o,dest:h,width:n,height:p,nonBlackColor:0})),l.putImageData(c,0,b*pa)}}function Pp(l,t){const e=["strokeStyle","fillStyle","fillRule","globalAlpha","lineWidth","lineCap","lineJoin","miterLimit","globalCompositeOperation","font","filter"];for(const n of e)l[n]!==void 0&&(t[n]=l[n]);l.setLineDash!==void 0&&(t.setLineDash(l.getLineDash()),t.lineDashOffset=l.lineDashOffset)}function Y1(l){l.strokeStyle=l.fillStyle="#000000",l.fillRule="nonzero",l.globalAlpha=1,l.lineWidth=1,l.lineCap="butt",l.lineJoin="miter",l.miterLimit=10,l.globalCompositeOperation="source-over",l.font="10px sans-serif",l.setLineDash!==void 0&&(l.setLineDash([]),l.lineDashOffset=0);const{filter:t}=l;t!=="none"&&t!==""&&(l.filter="none")}function tx(l,t){if(t)return!0;Ae.singularValueDecompose2dScale(l,Qa);const e=Math.fround($r.pixelRatio*d0.PDF_TO_CSS_UNITS);return Qa[0]<=e&&Qa[1]<=e}const uq=["butt","round","square"],mq=["miter","round","bevel"],hq={},ex={};var dr,QY,BY,AY;const sI=class sI{constructor(t,e,n,i,s,{optionalContentConfig:a,markedContentStack:c=null},o,d,h){k(this,dr);this.ctx=t,this.current=new _9(this.ctx.canvas.width,this.ctx.canvas.height),this.stateStack=[],this.pendingClip=null,this.pendingEOFill=!1,this.res=null,this.xobjs=null,this.commonObjs=e,this.objs=n,this.canvasFactory=i,this.filterFactory=s,this.groupStack=[],this.baseTransform=null,this.baseTransformStack=[],this.groupLevel=0,this.smaskStack=[],this.smaskCounter=0,this.tempSMask=null,this.suspendedCtx=null,this.contentVisible=!0,this.markedContentStack=c||[],this.optionalContentConfig=a,this.cachedCanvases=new dq(this.canvasFactory),this.cachedPatterns=new Map,this.annotationCanvasMap=o,this.viewportScale=1,this.outputScaleX=1,this.outputScaleY=1,this.pageColors=d,this._cachedScaleForStroking=[-1,0],this._cachedGetSinglePixelWidth=null,this._cachedBitmapsMap=new Map,this.dependencyTracker=h??null}getObject(t,e,n=null){var i;return typeof e=="string"?((i=this.dependencyTracker)==null||i.recordNamedDependency(t,e),e.startsWith("g_")?this.commonObjs.get(e):this.objs.get(e)):n}beginDrawing({transform:t,viewport:e,transparency:n=!1,background:i=null}){const s=this.ctx.canvas.width,a=this.ctx.canvas.height,c=this.ctx.fillStyle;if(this.ctx.fillStyle=i||"#ffffff",this.ctx.fillRect(0,0,s,a),this.ctx.fillStyle=c,n){const o=this.cachedCanvases.getCanvas("transparent",s,a);this.compositeCtx=this.ctx,this.transparentCanvas=o.canvas,this.ctx=o.context,this.ctx.save(),this.ctx.transform(...ei(this.compositeCtx))}this.ctx.save(),Y1(this.ctx),t&&(this.ctx.transform(...t),this.outputScaleX=t[0],this.outputScaleY=t[0]),this.ctx.transform(...e.transform),this.viewportScale=e.scale,this.baseTransform=ei(this.ctx)}executeOperatorList(t,e,n,i,s){var L;const a=t.argsArray,c=t.fnArray;let o=e||0;const d=a.length;if(d===o)return o;const h=d-o>A9&&typeof n=="function",b=h?Date.now()+rq:0;let p=0;const y=this.commonObjs,M=this.objs;let T,Y;for(;;){if(i!==void 0&&o===i.nextBreakPoint)return i.breakIt(o,n),o;if(!s||s.has(o))if(T=c[o],Y=a[o]??null,T!==D2.dependency)Y===null?this[T](o):this[T](o,...Y);else for(const x of Y){(L=this.dependencyTracker)==null||L.recordNamedData(x,o);const g=x.startsWith("g_")?y:M;if(!g.has(x))return g.get(x,n),o}if(o++,o===d)return o;if(h&&++p>A9){if(Date.now()>b)return n(),o;p=0}}}endDrawing(){J(this,dr,QY).call(this),this.cachedCanvases.clear(),this.cachedPatterns.clear();for(const t of this._cachedBitmapsMap.values()){for(const e of t.values())typeof HTMLCanvasElement<"u"&&e instanceof HTMLCanvasElement&&(e.width=e.height=0);t.clear()}this._cachedBitmapsMap.clear(),J(this,dr,BY).call(this)}_scaleImage(t,e){const n=t.width??t.displayWidth,i=t.height??t.displayHeight;let s=Math.max(Math.hypot(e[0],e[1]),1),a=Math.max(Math.hypot(e[2],e[3]),1),c=n,o=i,d="prescale1",h,b;for(;s>2&&c>1||a>2&&o>1;){let p=c,y=o;s>2&&c>1&&(p=c>=16384?Math.floor(c/2)-1||1:Math.ceil(c/2),s/=c/p),a>2&&o>1&&(y=o>=16384?Math.floor(o/2)-1||1:Math.ceil(o)/2,a/=o/y),h=this.cachedCanvases.getCanvas(d,p,y),b=h.context,b.clearRect(0,0,p,y),b.drawImage(t,0,0,c,o,0,0,p,y),t=h.canvas,c=p,o=y,d=d==="prescale1"?"prescale2":"prescale1"}return{img:t,paintWidth:c,paintHeight:o}}_createMaskCanvas(t,e){var f,lt;const n=this.ctx,{width:i,height:s}=e,a=this.current.fillColor,c=this.current.patternFill,o=ei(n);let d,h,b,p;if((e.bitmap||e.data)&&e.count>1){const tt=e.bitmap||e.data.buffer;h=JSON.stringify(c?o:[o.slice(0,4),a]),d=this._cachedBitmapsMap.get(tt),d||(d=new Map,this._cachedBitmapsMap.set(tt,d));const ht=d.get(h);if(ht&&!c){const dt=Math.round(Math.min(o[0],o[2])+o[4]),It=Math.round(Math.min(o[1],o[3])+o[5]);return(f=this.dependencyTracker)==null||f.recordDependencies(t,hc.transformAndFill),{canvas:ht,offsetX:dt,offsetY:It}}b=ht}b||(p=this.cachedCanvases.getCanvas("maskCanvas",i,s),$9(p.context,e));let y=Ae.transform(o,[1/i,0,0,-1/s,0,0]);y=Ae.transform(y,[1,0,0,1,0,-s]);const M=Ib.slice();Ae.axialAlignedBoundingBox([0,0,i,s],y,M);const[T,Y,L,x]=M,g=Math.round(L-T)||1,F=Math.round(x-Y)||1,j=this.cachedCanvases.getCanvas("fillCanvas",g,F),D=j.context,_=T,ut=Y;D.translate(-_,-ut),D.transform(...y),b||(b=this._scaleImage(p.canvas,Gr(D)),b=b.img,d&&c&&d.set(h,b)),D.imageSmoothingEnabled=tx(ei(D),e.interpolate),X1(D,b,0,0,b.width,b.height,0,0,i,s),D.globalCompositeOperation="source-in";const K=Ae.transform(Gr(D),[1,0,0,1,-_,-ut]);return D.fillStyle=c?a.getPattern(n,this,K,Zs.FILL):a,D.fillRect(0,0,i,s),d&&!c&&(this.cachedCanvases.delete("fillCanvas"),d.set(h,j.canvas)),(lt=this.dependencyTracker)==null||lt.recordDependencies(t,hc.transformAndFill),{canvas:j.canvas,offsetX:Math.round(_),offsetY:Math.round(ut)}}setLineWidth(t,e){var n;(n=this.dependencyTracker)==null||n.recordSimpleData("lineWidth",t),e!==this.current.lineWidth&&(this._cachedScaleForStroking[0]=-1),this.current.lineWidth=e,this.ctx.lineWidth=e}setLineCap(t,e){var n;(n=this.dependencyTracker)==null||n.recordSimpleData("lineCap",t),this.ctx.lineCap=uq[e]}setLineJoin(t,e){var n;(n=this.dependencyTracker)==null||n.recordSimpleData("lineJoin",t),this.ctx.lineJoin=mq[e]}setMiterLimit(t,e){var n;(n=this.dependencyTracker)==null||n.recordSimpleData("miterLimit",t),this.ctx.miterLimit=e}setDash(t,e,n){var s;(s=this.dependencyTracker)==null||s.recordSimpleData("dash",t);const i=this.ctx;i.setLineDash!==void 0&&(i.setLineDash(e),i.lineDashOffset=n)}setRenderingIntent(t,e){}setFlatness(t,e){}setGState(t,e){var n,i,s,a,c;for(const[o,d]of e)switch(o){case"LW":this.setLineWidth(t,d);break;case"LC":this.setLineCap(t,d);break;case"LJ":this.setLineJoin(t,d);break;case"ML":this.setMiterLimit(t,d);break;case"D":this.setDash(t,d[0],d[1]);break;case"RI":this.setRenderingIntent(t,d);break;case"FL":this.setFlatness(t,d);break;case"Font":this.setFont(t,d[0],d[1]);break;case"CA":(n=this.dependencyTracker)==null||n.recordSimpleData("strokeAlpha",t),this.current.strokeAlpha=d;break;case"ca":(i=this.dependencyTracker)==null||i.recordSimpleData("fillAlpha",t),this.ctx.globalAlpha=this.current.fillAlpha=d;break;case"BM":(s=this.dependencyTracker)==null||s.recordSimpleData("globalCompositeOperation",t),this.ctx.globalCompositeOperation=d;break;case"SMask":(a=this.dependencyTracker)==null||a.recordSimpleData("SMask",t),this.current.activeSMask=d?this.tempSMask:null,this.tempSMask=null,this.checkSMaskState();break;case"TR":(c=this.dependencyTracker)==null||c.recordSimpleData("filter",t),this.ctx.filter=this.current.transferMaps=this.filterFactory.addFilter(d);break}}get inSMaskMode(){return!!this.suspendedCtx}checkSMaskState(){const t=this.inSMaskMode;this.current.activeSMask&&!t?this.beginSMaskMode():!this.current.activeSMask&&t&&this.endSMaskMode()}beginSMaskMode(t){if(this.inSMaskMode)throw new Error("beginSMaskMode called while already in smask mode");const e=this.ctx.canvas.width,n=this.ctx.canvas.height,i="smaskGroupAt"+this.groupLevel,s=this.cachedCanvases.getCanvas(i,e,n);this.suspendedCtx=this.ctx;const a=this.ctx=s.context;a.setTransform(this.suspendedCtx.getTransform()),Pp(this.suspendedCtx,a),oq(a,this.suspendedCtx),this.setGState(t,[["BM","source-over"]])}endSMaskMode(){if(!this.inSMaskMode)throw new Error("endSMaskMode called while not in smask mode");this.ctx._removeMirroring(),Pp(this.ctx,this.suspendedCtx),this.ctx=this.suspendedCtx,this.suspendedCtx=null}compose(t){if(!this.current.activeSMask)return;t?(t[0]=Math.floor(t[0]),t[1]=Math.floor(t[1]),t[2]=Math.ceil(t[2]),t[3]=Math.ceil(t[3])):t=[0,0,this.ctx.canvas.width,this.ctx.canvas.height];const e=this.current.activeSMask,n=this.suspendedCtx;this.composeSMask(n,e,this.ctx,t),this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.clearRect(0,0,this.ctx.canvas.width,this.ctx.canvas.height),this.ctx.restore()}composeSMask(t,e,n,i){const s=i[0],a=i[1],c=i[2]-s,o=i[3]-a;c===0||o===0||(this.genericComposeSMask(e.context,n,c,o,e.subtype,e.backdrop,e.transferMap,s,a,e.offsetX,e.offsetY),t.save(),t.globalAlpha=1,t.globalCompositeOperation="source-over",t.setTransform(1,0,0,1,0,0),t.drawImage(n.canvas,0,0),t.restore())}genericComposeSMask(t,e,n,i,s,a,c,o,d,h,b){let p=t.canvas,y=o-h,M=d-b;if(a)if(y<0||M<0||y+n>p.width||M+i>p.height){const Y=this.cachedCanvases.getCanvas("maskExtension",n,i),L=Y.context;L.drawImage(p,-y,-M),L.globalCompositeOperation="destination-atop",L.fillStyle=a,L.fillRect(0,0,n,i),L.globalCompositeOperation="source-over",p=Y.canvas,y=M=0}else{t.save(),t.globalAlpha=1,t.setTransform(1,0,0,1,0,0);const Y=new Path2D;Y.rect(y,M,n,i),t.clip(Y),t.globalCompositeOperation="destination-atop",t.fillStyle=a,t.fillRect(y,M,n,i),t.restore()}e.save(),e.globalAlpha=1,e.setTransform(1,0,0,1,0,0),s==="Alpha"&&c?e.filter=this.filterFactory.addAlphaFilter(c):s==="Luminosity"&&(e.filter=this.filterFactory.addLuminosityFilter(c));const T=new Path2D;T.rect(o,d,n,i),e.clip(T),e.globalCompositeOperation="destination-in",e.drawImage(p,y,M,n,i,o,d,n,i),e.restore()}save(t){var n;this.inSMaskMode&&Pp(this.ctx,this.suspendedCtx),this.ctx.save();const e=this.current;this.stateStack.push(e),this.current=e.clone(),(n=this.dependencyTracker)==null||n.save(t)}restore(t){var e;if((e=this.dependencyTracker)==null||e.restore(t),this.stateStack.length===0){this.inSMaskMode&&this.endSMaskMode();return}this.current=this.stateStack.pop(),this.ctx.restore(),this.inSMaskMode&&Pp(this.suspendedCtx,this.ctx),this.checkSMaskState(),this.pendingClip=null,this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null}transform(t,e,n,i,s,a,c){var o;(o=this.dependencyTracker)==null||o.recordIncrementalData("transform",t),this.ctx.transform(e,n,i,s,a,c),this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null}constructPath(t,e,n,i){let[s]=n;if(!i){s||(s=n[0]=new Path2D),this[e](t,s);return}if(this.dependencyTracker!==null){const a=e===D2.stroke?this.current.lineWidth/2:0;this.dependencyTracker.resetBBox(t).recordBBox(t,this.ctx,i[0]-a,i[2]+a,i[1]-a,i[3]+a).recordDependencies(t,["transform"])}if(!(s instanceof Path2D)){const a=n[0]=new Path2D;for(let c=0,o=s.length;c<o;)switch(s[c++]){case N1.moveTo:a.moveTo(s[c++],s[c++]);break;case N1.lineTo:a.lineTo(s[c++],s[c++]);break;case N1.curveTo:a.bezierCurveTo(s[c++],s[c++],s[c++],s[c++],s[c++],s[c++]);break;case N1.closePath:a.closePath();break;default:Ll(`Unrecognized drawing path operator: ${s[c-1]}`);break}s=a}Ae.axialAlignedBoundingBox(i,ei(this.ctx),this.current.minMax),this[e](t,s),this._pathStartIdx=t}closePath(t){this.ctx.closePath()}stroke(t,e,n=!0){var a;const i=this.ctx,s=this.current.strokeColor;if(i.globalAlpha=this.current.strokeAlpha,this.contentVisible)if(typeof s=="object"&&(s!=null&&s.getPattern)){const c=s.isModifyingCurrentTransform()?i.getTransform():null;if(i.save(),i.strokeStyle=s.getPattern(i,this,Gr(i),Zs.STROKE),c){const o=new Path2D;o.addPath(e,i.getTransform().invertSelf().multiplySelf(c)),e=o}this.rescaleAndStroke(e,!1),i.restore()}else this.rescaleAndStroke(e,!0);(a=this.dependencyTracker)==null||a.recordDependencies(t,hc.stroke),n&&this.consumePath(t,e,this.current.getClippedPathBoundingBox(Zs.STROKE,ei(this.ctx))),i.globalAlpha=this.current.fillAlpha}closeStroke(t,e){this.stroke(t,e)}fill(t,e,n=!0){var d,h,b;const i=this.ctx,s=this.current.fillColor,a=this.current.patternFill;let c=!1;if(a){const p=s.isModifyingCurrentTransform()?i.getTransform():null;if((d=this.dependencyTracker)==null||d.save(t),i.save(),i.fillStyle=s.getPattern(i,this,Gr(i),Zs.FILL),p){const y=new Path2D;y.addPath(e,i.getTransform().invertSelf().multiplySelf(p)),e=y}c=!0}const o=this.current.getClippedPathBoundingBox();this.contentVisible&&o!==null&&(this.pendingEOFill?(i.fill(e,"evenodd"),this.pendingEOFill=!1):i.fill(e)),(h=this.dependencyTracker)==null||h.recordDependencies(t,hc.fill),c&&(i.restore(),(b=this.dependencyTracker)==null||b.restore(t)),n&&this.consumePath(t,e,o)}eoFill(t,e){this.pendingEOFill=!0,this.fill(t,e)}fillStroke(t,e){this.fill(t,e,!1),this.stroke(t,e,!1),this.consumePath(t,e)}eoFillStroke(t,e){this.pendingEOFill=!0,this.fillStroke(t,e)}closeFillStroke(t,e){this.fillStroke(t,e)}closeEOFillStroke(t,e){this.pendingEOFill=!0,this.fillStroke(t,e)}endPath(t,e){this.consumePath(t,e)}rawFillPath(t,e){var n;this.ctx.fill(e),(n=this.dependencyTracker)==null||n.recordDependencies(t,hc.rawFillPath).recordOperation(t)}clip(t){var e;(e=this.dependencyTracker)==null||e.recordFutureForcedDependency("clipMode",t),this.pendingClip=hq}eoClip(t){var e;(e=this.dependencyTracker)==null||e.recordFutureForcedDependency("clipMode",t),this.pendingClip=ex}beginText(t){var e;this.current.textMatrix=null,this.current.textMatrixScale=1,this.current.x=this.current.lineX=0,this.current.y=this.current.lineY=0,(e=this.dependencyTracker)==null||e.recordOpenMarker(t).resetIncrementalData("sameLineText").resetIncrementalData("moveText",t)}endText(t){const e=this.pendingTextPaths,n=this.ctx;if(this.dependencyTracker){const{dependencyTracker:i}=this;e!==void 0&&i.recordFutureForcedDependency("textClip",i.getOpenMarker()).recordFutureForcedDependency("textClip",t),i.recordCloseMarker(t)}if(e!==void 0){const i=new Path2D,s=n.getTransform().invertSelf();for(const{transform:a,x:c,y:o,fontSize:d,path:h}of e)h&&i.addPath(h,new DOMMatrix(a).preMultiplySelf(s).translate(c,o).scale(d,-d));n.clip(i)}delete this.pendingTextPaths}setCharSpacing(t,e){var n;(n=this.dependencyTracker)==null||n.recordSimpleData("charSpacing",t),this.current.charSpacing=e}setWordSpacing(t,e){var n;(n=this.dependencyTracker)==null||n.recordSimpleData("wordSpacing",t),this.current.wordSpacing=e}setHScale(t,e){var n;(n=this.dependencyTracker)==null||n.recordSimpleData("hScale",t),this.current.textHScale=e/100}setLeading(t,e){var n;(n=this.dependencyTracker)==null||n.recordSimpleData("leading",t),this.current.leading=-e}setFont(t,e,n){var b,p;(b=this.dependencyTracker)==null||b.recordSimpleData("font",t).recordNamedDependency(t,e);const i=this.commonObjs.get(e),s=this.current;if(!i)throw new Error(`Can't find font for ${e}`);if(s.fontMatrix=i.fontMatrix||GY,(s.fontMatrix[0]===0||s.fontMatrix[3]===0)&&Ll("Invalid font matrix for font "+e),n<0?(n=-n,s.fontDirection=-1):s.fontDirection=1,this.current.font=i,this.current.fontSize=n,i.isType3Font)return;const a=i.loadedName||"sans-serif",c=((p=i.systemFontInfo)==null?void 0:p.css)||`"${a}", ${i.fallbackName}`;let o="normal";i.black?o="900":i.bold&&(o="bold");const d=i.italic?"italic":"normal";let h=n;n<Q9?h=Q9:n>B9&&(h=B9),this.current.fontSizeScale=n/h,this.ctx.font=`${d} ${o} ${h}px ${c}`}setTextRenderingMode(t,e){var n;(n=this.dependencyTracker)==null||n.recordSimpleData("textRenderingMode",t),this.current.textRenderingMode=e}setTextRise(t,e){var n;(n=this.dependencyTracker)==null||n.recordSimpleData("textRise",t),this.current.textRise=e}moveText(t,e,n){var i;(i=this.dependencyTracker)==null||i.resetIncrementalData("sameLineText").recordIncrementalData("moveText",t),this.current.x=this.current.lineX+=e,this.current.y=this.current.lineY+=n}setLeadingMoveText(t,e,n){this.setLeading(t,-n),this.moveText(t,e,n)}setTextMatrix(t,e){var i;(i=this.dependencyTracker)==null||i.recordSimpleData("textMatrix",t);const{current:n}=this;n.textMatrix=e,n.textMatrixScale=Math.hypot(e[0],e[1]),n.x=n.lineX=0,n.y=n.lineY=0}nextLine(t){var e;this.moveText(t,0,this.current.leading),(e=this.dependencyTracker)==null||e.recordIncrementalData("moveText",this.dependencyTracker.getSimpleIndex("leading")??t)}paintChar(t,e,n,i,s,a){var L,x,g,F;const c=this.ctx,o=this.current,d=o.font,h=o.textRenderingMode,b=o.fontSize/o.fontSizeScale,p=h&rs.FILL_STROKE_MASK,y=!!(h&rs.ADD_TO_PATH_FLAG),M=o.patternFill&&!d.missingFile,T=o.patternStroke&&!d.missingFile;let Y;if((d.disableFontFace||y||M||T)&&!d.missingFile&&(Y=d.getPathGenerator(this.commonObjs,e)),Y&&(d.disableFontFace||M||T)){c.save(),c.translate(n,i),c.scale(b,-b),(L=this.dependencyTracker)==null||L.recordCharacterBBox(t,c,d);let j;if(p===rs.FILL||p===rs.FILL_STROKE)if(s){j=c.getTransform(),c.setTransform(...s);const D=J(this,dr,AY).call(this,Y,j,s);c.fill(D)}else c.fill(Y);if(p===rs.STROKE||p===rs.FILL_STROKE)if(a){j||(j=c.getTransform()),c.setTransform(...a);const{a:D,b:_,c:ut,d:K}=j,f=Ae.inverseTransform(a),lt=Ae.transform([D,_,ut,K,0,0],f);Ae.singularValueDecompose2dScale(lt,Qa),c.lineWidth*=Math.max(Qa[0],Qa[1])/b,c.stroke(J(this,dr,AY).call(this,Y,j,a))}else c.lineWidth/=b,c.stroke(Y);c.restore()}else(p===rs.FILL||p===rs.FILL_STROKE)&&(c.fillText(e,n,i),(x=this.dependencyTracker)==null||x.recordCharacterBBox(t,c,d,b,n,i,()=>c.measureText(e))),(p===rs.STROKE||p===rs.FILL_STROKE)&&(this.dependencyTracker&&((g=this.dependencyTracker)==null||g.recordCharacterBBox(t,c,d,b,n,i,()=>c.measureText(e)).recordDependencies(t,hc.stroke)),c.strokeText(e,n,i));y&&((this.pendingTextPaths||(this.pendingTextPaths=[])).push({transform:ei(c),x:n,y:i,fontSize:b,path:Y}),(F=this.dependencyTracker)==null||F.recordCharacterBBox(t,c,d,b,n,i))}get isFontSubpixelAAEnabled(){const{context:t}=this.cachedCanvases.getCanvas("isFontSubpixelAAEnabled",10,10);t.scale(1.5,1),t.fillText("I",0,10);const e=t.getImageData(0,0,10,10).data;let n=!1;for(let i=3;i<e.length;i+=4)if(e[i]>0&&e[i]<255){n=!0;break}return vl(this,"isFontSubpixelAAEnabled",n)}showText(t,e){var ut,K,f,lt;this.dependencyTracker&&(this.dependencyTracker.recordDependencies(t,hc.showText).copyDependenciesFromIncrementalOperation(t,"sameLineText").resetBBox(t),this.current.textRenderingMode&rs.ADD_TO_PATH_FLAG&&this.dependencyTracker.recordFutureForcedDependency("textClip",t).inheritPendingDependenciesAsFutureForcedDependencies());const n=this.current,i=n.font;if(i.isType3Font){this.showType3Text(t,e),(ut=this.dependencyTracker)==null||ut.recordOperation(t).recordIncrementalData("sameLineText",t);return}const s=n.fontSize;if(s===0){(K=this.dependencyTracker)==null||K.recordOperation(t);return}const a=this.ctx,c=n.fontSizeScale,o=n.charSpacing,d=n.wordSpacing,h=n.fontDirection,b=n.textHScale*h,p=e.length,y=i.vertical,M=y?1:-1,T=i.defaultVMetrics,Y=s*n.fontMatrix[0],L=n.textRenderingMode===rs.FILL&&!i.disableFontFace&&!n.patternFill;a.save(),n.textMatrix&&a.transform(...n.textMatrix),a.translate(n.x,n.y+n.textRise),h>0?a.scale(b,-1):a.scale(b,1);let x,g;if(n.patternFill){a.save();const tt=n.fillColor.getPattern(a,this,Gr(a),Zs.FILL);x=ei(a),a.restore(),a.fillStyle=tt}if(n.patternStroke){a.save();const tt=n.strokeColor.getPattern(a,this,Gr(a),Zs.STROKE);g=ei(a),a.restore(),a.strokeStyle=tt}let F=n.lineWidth;const j=n.textMatrixScale;if(j===0||F===0){const tt=n.textRenderingMode&rs.FILL_STROKE_MASK;(tt===rs.STROKE||tt===rs.FILL_STROKE)&&(F=this.getSinglePixelWidth())}else F/=j;if(c!==1&&(a.scale(c,c),F/=c),a.lineWidth=F,i.isInvalidPDFjsFont){const tt=[];let ht=0;for(const It of e)tt.push(It.unicode),ht+=It.width;const dt=tt.join("");if(a.fillText(dt,0,0),this.dependencyTracker!==null){const It=a.measureText(dt);this.dependencyTracker.recordBBox(t,this.ctx,-It.actualBoundingBoxLeft,It.actualBoundingBoxRight,-It.actualBoundingBoxAscent,It.actualBoundingBoxDescent).recordOperation(t).recordIncrementalData("sameLineText",t)}n.x+=ht*Y*b,a.restore(),this.compose();return}let D=0,_;for(_=0;_<p;++_){const tt=e[_];if(typeof tt=="number"){D+=M*tt*s/1e3;continue}let ht=!1;const dt=(tt.isSpace?d:0)+o,It=tt.fontChar,kt=tt.accent;let Gt,gt,vt=tt.width;if(y){const bt=tt.vmetric||T,$=-(tt.vmetric?bt[1]:vt*.5)*Y,_t=bt[2]*Y;vt=bt?-bt[0]:vt,Gt=$/c,gt=(D+_t)/c}else Gt=D/c,gt=0;let H;if(i.remeasure&&vt>0){H=a.measureText(It);const bt=H.width*1e3/s*c;if(vt<bt&&this.isFontSubpixelAAEnabled){const $=vt/bt;ht=!0,a.save(),a.scale($,1),Gt/=$}else vt!==bt&&(Gt+=(vt-bt)/2e3*s/c)}if(this.contentVisible&&(tt.isInFont||i.missingFile)){if(L&&!kt)a.fillText(It,Gt,gt),(f=this.dependencyTracker)==null||f.recordCharacterBBox(t,a,H?{bbox:null}:i,s/c,Gt,gt,()=>H??a.measureText(It));else if(this.paintChar(t,It,Gt,gt,x,g),kt){const bt=Gt+s*kt.offset.x/c,$=gt-s*kt.offset.y/c;this.paintChar(t,kt.fontChar,bt,$,x,g)}}const nt=y?vt*Y-dt*h:vt*Y+dt*h;D+=nt,ht&&a.restore()}y?n.y-=D:n.x+=D*b,a.restore(),this.compose(),(lt=this.dependencyTracker)==null||lt.recordOperation(t).recordIncrementalData("sameLineText",t)}showType3Text(t,e){const n=this.ctx,i=this.current,s=i.font,a=i.fontSize,c=i.fontDirection,o=s.vertical?1:-1,d=i.charSpacing,h=i.wordSpacing,b=i.textHScale*c,p=i.fontMatrix||GY,y=e.length,M=i.textRenderingMode===rs.INVISIBLE;let T,Y,L,x;if(M||a===0)return;this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null,n.save(),i.textMatrix&&n.transform(...i.textMatrix),n.translate(i.x,i.y+i.textRise),n.scale(b,c);const g=this.dependencyTracker;for(this.dependencyTracker=g?new JM(g,t):null,T=0;T<y;++T){if(Y=e[T],typeof Y=="number"){x=o*Y*a/1e3,this.ctx.translate(x,0),i.x+=x*b;continue}const F=(Y.isSpace?h:0)+d,j=s.charProcOperatorList[Y.operatorListId];j?this.contentVisible&&(this.save(),n.scale(a,a),n.transform(...p),this.executeOperatorList(j),this.restore()):Ll(`Type3 character "${Y.operatorListId}" is not available.`);const D=[Y.width,0];Ae.applyTransform(D,p),L=D[0]*a+F,n.translate(L,0),i.x+=L*b}n.restore(),g&&(this.dependencyTracker.recordNestedDependencies(),this.dependencyTracker=g)}setCharWidth(t,e,n){}setCharWidthAndBounds(t,e,n,i,s,a,c){var d;const o=new Path2D;o.rect(i,s,a-i,c-s),this.ctx.clip(o),(d=this.dependencyTracker)==null||d.recordBBox(t,this.ctx,i,a,s,c).recordClipBox(t,this.ctx,i,a,s,c),this.endPath(t)}getColorN_Pattern(t,e){let n;if(e[0]==="TilingPattern"){const i=this.baseTransform||ei(this.ctx),s={createCanvasGraphics:a=>new sI(a,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:this.optionalContentConfig,markedContentStack:this.markedContentStack},void 0,void 0,this.dependencyTracker?new JM(this.dependencyTracker,t):null)};n=new HY(e,this.ctx,s,i)}else n=this._getPattern(t,e[1],e[2]);return n}setStrokeColorN(t,...e){var n;(n=this.dependencyTracker)==null||n.recordSimpleData("strokeColor",t),this.current.strokeColor=this.getColorN_Pattern(t,e),this.current.patternStroke=!0}setFillColorN(t,...e){var n;(n=this.dependencyTracker)==null||n.recordSimpleData("fillColor",t),this.current.fillColor=this.getColorN_Pattern(t,e),this.current.patternFill=!0}setStrokeRGBColor(t,e){var n;(n=this.dependencyTracker)==null||n.recordSimpleData("strokeColor",t),this.ctx.strokeStyle=this.current.strokeColor=e,this.current.patternStroke=!1}setStrokeTransparent(t){var e;(e=this.dependencyTracker)==null||e.recordSimpleData("strokeColor",t),this.ctx.strokeStyle=this.current.strokeColor="transparent",this.current.patternStroke=!1}setFillRGBColor(t,e){var n;(n=this.dependencyTracker)==null||n.recordSimpleData("fillColor",t),this.ctx.fillStyle=this.current.fillColor=e,this.current.patternFill=!1}setFillTransparent(t){var e;(e=this.dependencyTracker)==null||e.recordSimpleData("fillColor",t),this.ctx.fillStyle=this.current.fillColor="transparent",this.current.patternFill=!1}_getPattern(t,e,n=null){let i;return this.cachedPatterns.has(e)?i=this.cachedPatterns.get(e):(i=aq(this.getObject(t,e)),this.cachedPatterns.set(e,i)),n&&(i.matrix=n),i}shadingFill(t,e){var a;if(!this.contentVisible)return;const n=this.ctx;this.save(t);const i=this._getPattern(t,e);n.fillStyle=i.getPattern(n,this,Gr(n),Zs.SHADING);const s=Gr(n);if(s){const{width:c,height:o}=n.canvas,d=Ib.slice();Ae.axialAlignedBoundingBox([0,0,c,o],s,d);const[h,b,p,y]=d;this.ctx.fillRect(h,b,p-h,y-b)}else this.ctx.fillRect(-1e10,-1e10,2e10,2e10);(a=this.dependencyTracker)==null||a.resetBBox(t).recordFullPageBBox(t).recordDependencies(t,hc.transform).recordDependencies(t,hc.fill).recordOperation(t),this.compose(this.current.getClippedPathBoundingBox()),this.restore(t)}beginInlineImage(){Xn("Should not call beginInlineImage")}beginImageData(){Xn("Should not call beginImageData")}paintFormXObjectBegin(t,e,n){var i;if(this.contentVisible&&(this.save(t),this.baseTransformStack.push(this.baseTransform),e&&this.transform(t,...e),this.baseTransform=ei(this.ctx),n)){Ae.axialAlignedBoundingBox(n,this.baseTransform,this.current.minMax);const[s,a,c,o]=n,d=new Path2D;d.rect(s,a,c-s,o-a),this.ctx.clip(d),(i=this.dependencyTracker)==null||i.recordClipBox(t,this.ctx,s,c,a,o),this.endPath(t)}}paintFormXObjectEnd(t){this.contentVisible&&(this.restore(t),this.baseTransform=this.baseTransformStack.pop())}beginGroup(t,e){var g;if(!this.contentVisible)return;this.save(t),this.inSMaskMode&&(this.endSMaskMode(),this.current.activeSMask=null);const n=this.ctx;e.isolated||vG("TODO: Support non-isolated groups."),e.knockout&&Ll("Knockout groups not supported.");const i=ei(n);if(e.matrix&&n.transform(...e.matrix),!e.bbox)throw new Error("Bounding box is required.");let s=Ib.slice();Ae.axialAlignedBoundingBox(e.bbox,ei(n),s);const a=[0,0,n.canvas.width,n.canvas.height];s=Ae.intersect(s,a)||[0,0,0,0];const c=Math.floor(s[0]),o=Math.floor(s[1]),d=Math.max(Math.ceil(s[2])-c,1),h=Math.max(Math.ceil(s[3])-o,1);this.current.startNewPathAndClipBox([0,0,d,h]);let b="groupAt"+this.groupLevel;e.smask&&(b+="_smask_"+this.smaskCounter++%2);const p=this.cachedCanvases.getCanvas(b,d,h),y=p.context;y.translate(-c,-o),y.transform(...i);let M=new Path2D;const[T,Y,L,x]=e.bbox;if(M.rect(T,Y,L-T,x-Y),e.matrix){const F=new Path2D;F.addPath(M,new DOMMatrix(e.matrix)),M=F}y.clip(M),e.smask&&this.smaskStack.push({canvas:p.canvas,context:y,offsetX:c,offsetY:o,subtype:e.smask.subtype,backdrop:e.smask.backdrop,transferMap:e.smask.transferMap||null,startTransformInverse:null}),(!e.smask||this.dependencyTracker)&&(n.setTransform(1,0,0,1,0,0),n.translate(c,o),n.save()),Pp(n,y),this.ctx=y,(g=this.dependencyTracker)==null||g.inheritSimpleDataAsFutureForcedDependencies(["fillAlpha","strokeAlpha","globalCompositeOperation"]).pushBaseTransform(n),this.setGState(t,[["BM","source-over"],["ca",1],["CA",1]]),this.groupStack.push(n),this.groupLevel++}endGroup(t,e){var s;if(!this.contentVisible)return;this.groupLevel--;const n=this.ctx,i=this.groupStack.pop();if(this.ctx=i,this.ctx.imageSmoothingEnabled=!1,(s=this.dependencyTracker)==null||s.popBaseTransform(),e.smask)this.tempSMask=this.smaskStack.pop(),this.restore(t),this.dependencyTracker&&this.ctx.restore();else{this.ctx.restore();const a=ei(this.ctx);this.restore(t),this.ctx.save(),this.ctx.setTransform(...a);const c=Ib.slice();Ae.axialAlignedBoundingBox([0,0,n.canvas.width,n.canvas.height],a,c),this.ctx.drawImage(n.canvas,0,0),this.ctx.restore(),this.compose(c)}}beginAnnotation(t,e,n,i,s,a){if(J(this,dr,QY).call(this),Y1(this.ctx),this.ctx.save(),this.save(t),this.baseTransform&&this.ctx.setTransform(...this.baseTransform),n){const c=n[2]-n[0],o=n[3]-n[1];if(a&&this.annotationCanvasMap){i=i.slice(),i[4]-=n[0],i[5]-=n[1],n=n.slice(),n[0]=n[1]=0,n[2]=c,n[3]=o,Ae.singularValueDecompose2dScale(ei(this.ctx),Qa);const{viewportScale:d}=this,h=Math.ceil(c*this.outputScaleX*d),b=Math.ceil(o*this.outputScaleY*d);this.annotationCanvas=this.canvasFactory.create(h,b);const{canvas:p,context:y}=this.annotationCanvas;this.annotationCanvasMap.set(e,p),this.annotationCanvas.savedCtx=this.ctx,this.ctx=y,this.ctx.save(),this.ctx.setTransform(Qa[0],0,0,-Qa[1],0,o*Qa[1]),Y1(this.ctx)}else{Y1(this.ctx),this.endPath(t);const d=new Path2D;d.rect(n[0],n[1],c,o),this.ctx.clip(d)}}this.current=new _9(this.ctx.canvas.width,this.ctx.canvas.height),this.transform(t,...i),this.transform(t,...s)}endAnnotation(t){this.annotationCanvas&&(this.ctx.restore(),J(this,dr,BY).call(this),this.ctx=this.annotationCanvas.savedCtx,delete this.annotationCanvas.savedCtx,delete this.annotationCanvas)}paintImageMaskXObject(t,e){var c;if(!this.contentVisible)return;const n=e.count;e=this.getObject(t,e.data,e),e.count=n;const i=this.ctx,s=this._createMaskCanvas(t,e),a=s.canvas;i.save(),i.setTransform(1,0,0,1,0,0),i.drawImage(a,s.offsetX,s.offsetY),(c=this.dependencyTracker)==null||c.resetBBox(t).recordBBox(t,this.ctx,s.offsetX,s.offsetX+a.width,s.offsetY,s.offsetY+a.height).recordOperation(t),i.restore(),this.compose()}paintImageMaskXObjectRepeat(t,e,n,i=0,s=0,a,c){var b,p,y;if(!this.contentVisible)return;e=this.getObject(t,e.data,e);const o=this.ctx;o.save();const d=ei(o);o.transform(n,i,s,a,0,0);const h=this._createMaskCanvas(t,e);o.setTransform(1,0,0,1,h.offsetX-d[4],h.offsetY-d[5]),(b=this.dependencyTracker)==null||b.resetBBox(t);for(let M=0,T=c.length;M<T;M+=2){const Y=Ae.transform(d,[n,i,s,a,c[M],c[M+1]]);o.drawImage(h.canvas,Y[4],Y[5]),(p=this.dependencyTracker)==null||p.recordBBox(t,this.ctx,Y[4],Y[4]+h.canvas.width,Y[5],Y[5]+h.canvas.height)}o.restore(),this.compose(),(y=this.dependencyTracker)==null||y.recordOperation(t)}paintImageMaskXObjectGroup(t,e){var a,c,o;if(!this.contentVisible)return;const n=this.ctx,i=this.current.fillColor,s=this.current.patternFill;(a=this.dependencyTracker)==null||a.resetBBox(t).recordDependencies(t,hc.transformAndFill);for(const d of e){const{data:h,width:b,height:p,transform:y}=d,M=this.cachedCanvases.getCanvas("maskCanvas",b,p),T=M.context;T.save();const Y=this.getObject(t,h,d);$9(T,Y),T.globalCompositeOperation="source-in",T.fillStyle=s?i.getPattern(T,this,Gr(n),Zs.FILL):i,T.fillRect(0,0,b,p),T.restore(),n.save(),n.transform(...y),n.scale(1,-1),X1(n,M.canvas,0,0,b,p,0,-1,1,1),(c=this.dependencyTracker)==null||c.recordBBox(t,n,0,b,0,p),n.restore()}this.compose(),(o=this.dependencyTracker)==null||o.recordOperation(t)}paintImageXObject(t,e){if(!this.contentVisible)return;const n=this.getObject(t,e);if(!n){Ll("Dependent image isn't ready yet");return}this.paintInlineImageXObject(t,n)}paintImageXObjectRepeat(t,e,n,i,s){if(!this.contentVisible)return;const a=this.getObject(t,e);if(!a){Ll("Dependent image isn't ready yet");return}const c=a.width,o=a.height,d=[];for(let h=0,b=s.length;h<b;h+=2)d.push({transform:[n,0,0,i,s[h],s[h+1]],x:0,y:0,w:c,h:o});this.paintInlineImageXObjectGroup(t,a,d)}applyTransferMapsToCanvas(t){return this.current.transferMaps!=="none"&&(t.filter=this.current.transferMaps,t.drawImage(t.canvas,0,0),t.filter="none"),t.canvas}applyTransferMapsToBitmap(t){if(this.current.transferMaps==="none")return t.bitmap;const{bitmap:e,width:n,height:i}=t,s=this.cachedCanvases.getCanvas("inlineImage",n,i),a=s.context;return a.filter=this.current.transferMaps,a.drawImage(e,0,0),a.filter="none",s.canvas}paintInlineImageXObject(t,e){var d;if(!this.contentVisible)return;const n=e.width,i=e.height,s=this.ctx;this.save(t);const{filter:a}=s;a!=="none"&&a!==""&&(s.filter="none"),s.scale(1/n,-1/i);let c;if(e.bitmap)c=this.applyTransferMapsToBitmap(e);else if(typeof HTMLElement=="function"&&e instanceof HTMLElement||!e.data)c=e;else{const b=this.cachedCanvases.getCanvas("inlineImage",n,i).context;q9(b,e),c=this.applyTransferMapsToCanvas(b)}const o=this._scaleImage(c,Gr(s));s.imageSmoothingEnabled=tx(ei(s),e.interpolate),(d=this.dependencyTracker)==null||d.resetBBox(t).recordBBox(t,s,0,n,-i,0).recordDependencies(t,hc.imageXObject).recordOperation(t),X1(s,o.img,0,0,o.paintWidth,o.paintHeight,0,-i,n,i),this.compose(),this.restore(t)}paintInlineImageXObjectGroup(t,e,n){var a,c,o;if(!this.contentVisible)return;const i=this.ctx;let s;if(e.bitmap)s=e.bitmap;else{const d=e.width,h=e.height,p=this.cachedCanvases.getCanvas("inlineImage",d,h).context;q9(p,e),s=this.applyTransferMapsToCanvas(p)}(a=this.dependencyTracker)==null||a.resetBBox(t);for(const d of n)i.save(),i.transform(...d.transform),i.scale(1,-1),X1(i,s,d.x,d.y,d.w,d.h,0,-1,1,1),(c=this.dependencyTracker)==null||c.recordBBox(t,i,0,1,-1,0),i.restore();(o=this.dependencyTracker)==null||o.recordOperation(t),this.compose()}paintSolidColorImageMask(t){var e;this.contentVisible&&((e=this.dependencyTracker)==null||e.resetBBox(t).recordBBox(t,this.ctx,0,1,0,1).recordDependencies(t,hc.fill).recordOperation(t),this.ctx.fillRect(0,0,1,1),this.compose())}markPoint(t,e){}markPointProps(t,e,n){}beginMarkedContent(t,e){var n;(n=this.dependencyTracker)==null||n.beginMarkedContent(t),this.markedContentStack.push({visible:!0})}beginMarkedContentProps(t,e,n){var i;(i=this.dependencyTracker)==null||i.beginMarkedContent(t),e==="OC"?this.markedContentStack.push({visible:this.optionalContentConfig.isVisible(n)}):this.markedContentStack.push({visible:!0}),this.contentVisible=this.isContentVisible()}endMarkedContent(t){var e;(e=this.dependencyTracker)==null||e.endMarkedContent(t),this.markedContentStack.pop(),this.contentVisible=this.isContentVisible()}beginCompat(t){}endCompat(t){}consumePath(t,e,n){var a,c;const i=this.current.isEmptyClip();this.pendingClip&&this.current.updateClipFromPath(),this.pendingClip||this.compose(n);const s=this.ctx;this.pendingClip?(i||(this.pendingClip===ex?s.clip(e,"evenodd"):s.clip(e)),this.pendingClip=null,(a=this.dependencyTracker)==null||a.bboxToClipBoxDropOperation(t).recordFutureForcedDependency("clipPath",t)):(c=this.dependencyTracker)==null||c.recordOperation(t),this.current.startNewPathAndClipBox(this.current.clipBox)}getSinglePixelWidth(){if(!this._cachedGetSinglePixelWidth){const t=ei(this.ctx);if(t[1]===0&&t[2]===0)this._cachedGetSinglePixelWidth=1/Math.min(Math.abs(t[0]),Math.abs(t[3]));else{const e=Math.abs(t[0]*t[3]-t[2]*t[1]),n=Math.hypot(t[0],t[2]),i=Math.hypot(t[1],t[3]);this._cachedGetSinglePixelWidth=Math.max(n,i)/e}}return this._cachedGetSinglePixelWidth}getScaleForStroking(){if(this._cachedScaleForStroking[0]===-1){const{lineWidth:t}=this.current,{a:e,b:n,c:i,d:s}=this.ctx.getTransform();let a,c;if(n===0&&i===0){const o=Math.abs(e),d=Math.abs(s);if(o===d)if(t===0)a=c=1/o;else{const h=o*t;a=c=h<1?1/h:1}else if(t===0)a=1/o,c=1/d;else{const h=o*t,b=d*t;a=h<1?1/h:1,c=b<1?1/b:1}}else{const o=Math.abs(e*s-n*i),d=Math.hypot(e,n),h=Math.hypot(i,s);if(t===0)a=h/o,c=d/o;else{const b=t*o;a=h>b?h/b:1,c=d>b?d/b:1}}this._cachedScaleForStroking[0]=a,this._cachedScaleForStroking[1]=c}return this._cachedScaleForStroking}rescaleAndStroke(t,e){const{ctx:n,current:{lineWidth:i}}=this,[s,a]=this.getScaleForStroking();if(s===a){n.lineWidth=(i||1)*s,n.stroke(t);return}const c=n.getLineDash();e&&n.save(),n.scale(s,a),NX.a=1/s,NX.d=1/a;const o=new Path2D;if(o.addPath(t,NX),c.length>0){const d=Math.max(s,a);n.setLineDash(c.map(h=>h/d)),n.lineDashOffset/=d}n.lineWidth=i||1,n.stroke(o),e&&n.restore()}isContentVisible(){for(let t=this.markedContentStack.length-1;t>=0;t--)if(!this.markedContentStack[t].visible)return!1;return!0}};dr=new WeakSet,QY=function(){for(;this.stateStack.length||this.inSMaskMode;)this.restore();this.current.activeSMask=null,this.ctx.restore(),this.transparentCanvas&&(this.ctx=this.compositeCtx,this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.drawImage(this.transparentCanvas,0,0),this.ctx.restore(),this.transparentCanvas=null)},BY=function(){if(this.pageColors){const t=this.filterFactory.addHCMFilter(this.pageColors.foreground,this.pageColors.background);if(t!=="none"){const e=this.ctx.filter;this.ctx.filter=t,this.ctx.drawImage(this.ctx.canvas,0,0),this.ctx.filter=e}}},AY=function(t,e,n){const i=new Path2D;return i.addPath(t,new DOMMatrix(n).invertSelf().multiplySelf(e)),i};let Rb=sI;for(const l in D2)Rb.prototype[l]!==void 0&&(Rb.prototype[D2[l]]=Rb.prototype[l]);var Ny,My;class _r{static get workerPort(){return m(this,Ny)}static set workerPort(t){if(!(typeof Worker<"u"&&t instanceof Worker)&&t!==null)throw new Error("Invalid `workerPort` type.");z(this,Ny,t)}static get workerSrc(){return m(this,My)}static set workerSrc(t){if(typeof t!="string")throw new Error("Invalid `workerSrc` type.");z(this,My,t)}}Ny=new WeakMap,My=new WeakMap,k(_r,Ny,null),k(_r,My,"");var uZ,Gy;class bq{constructor({parsedData:t,rawData:e}){k(this,uZ);k(this,Gy);z(this,uZ,t),z(this,Gy,e)}getRaw(){return m(this,Gy)}get(t){return m(this,uZ).get(t)??null}[Symbol.iterator](){return m(this,uZ).entries()}}uZ=new WeakMap,Gy=new WeakMap;const Tb=Symbol("INTERNAL");var Ty,Xy,Yy,mZ;class Zq{constructor(t,{name:e,intent:n,usage:i,rbGroups:s}){k(this,Ty,!1);k(this,Xy,!1);k(this,Yy,!1);k(this,mZ,!0);z(this,Ty,!!(t&Pa.DISPLAY)),z(this,Xy,!!(t&Pa.PRINT)),this.name=e,this.intent=n,this.usage=i,this.rbGroups=s}get visible(){if(m(this,Yy))return m(this,mZ);if(!m(this,mZ))return!1;const{print:t,view:e}=this.usage;return m(this,Ty)?(e==null?void 0:e.viewState)!=="OFF":m(this,Xy)?(t==null?void 0:t.printState)!=="OFF":!0}_setVisible(t,e,n=!1){t!==Tb&&Xn("Internal method `_setVisible` called."),z(this,Yy,n),z(this,mZ,e)}}Ty=new WeakMap,Xy=new WeakMap,Yy=new WeakMap,mZ=new WeakMap;var xu,Mn,hZ,bZ,Ly,_Y;class pq{constructor(t,e=Pa.DISPLAY){k(this,Ly);k(this,xu,null);k(this,Mn,new Map);k(this,hZ,null);k(this,bZ,null);if(this.renderingIntent=e,this.name=null,this.creator=null,t!==null){this.name=t.name,this.creator=t.creator,z(this,bZ,t.order);for(const n of t.groups)m(this,Mn).set(n.id,new Zq(e,n));if(t.baseState==="OFF")for(const n of m(this,Mn).values())n._setVisible(Tb,!1);for(const n of t.on)m(this,Mn).get(n)._setVisible(Tb,!0);for(const n of t.off)m(this,Mn).get(n)._setVisible(Tb,!1);z(this,hZ,this.getHash())}}isVisible(t){if(m(this,Mn).size===0)return!0;if(!t)return vG("Optional content group not defined."),!0;if(t.type==="OCG")return m(this,Mn).has(t.id)?m(this,Mn).get(t.id).visible:(Ll(`Optional content group not found: ${t.id}`),!0);if(t.type==="OCMD"){if(t.expression)return J(this,Ly,_Y).call(this,t.expression);if(!t.policy||t.policy==="AnyOn"){for(const e of t.ids){if(!m(this,Mn).has(e))return Ll(`Optional content group not found: ${e}`),!0;if(m(this,Mn).get(e).visible)return!0}return!1}else if(t.policy==="AllOn"){for(const e of t.ids){if(!m(this,Mn).has(e))return Ll(`Optional content group not found: ${e}`),!0;if(!m(this,Mn).get(e).visible)return!1}return!0}else if(t.policy==="AnyOff"){for(const e of t.ids){if(!m(this,Mn).has(e))return Ll(`Optional content group not found: ${e}`),!0;if(!m(this,Mn).get(e).visible)return!0}return!1}else if(t.policy==="AllOff"){for(const e of t.ids){if(!m(this,Mn).has(e))return Ll(`Optional content group not found: ${e}`),!0;if(m(this,Mn).get(e).visible)return!1}return!0}return Ll(`Unknown optional content policy ${t.policy}.`),!0}return Ll(`Unknown group type ${t.type}.`),!0}setVisibility(t,e=!0,n=!0){var s;const i=m(this,Mn).get(t);if(!i){Ll(`Optional content group not found: ${t}`);return}if(n&&e&&i.rbGroups.length)for(const a of i.rbGroups)for(const c of a)c!==t&&((s=m(this,Mn).get(c))==null||s._setVisible(Tb,!1,!0));i._setVisible(Tb,!!e,!0),z(this,xu,null)}setOCGState({state:t,preserveRB:e}){let n;for(const i of t){switch(i){case"ON":case"OFF":case"Toggle":n=i;continue}const s=m(this,Mn).get(i);if(s)switch(n){case"ON":this.setVisibility(i,!0,e);break;case"OFF":this.setVisibility(i,!1,e);break;case"Toggle":this.setVisibility(i,!s.visible,e);break}}z(this,xu,null)}get hasInitialVisibility(){return m(this,hZ)===null||this.getHash()===m(this,hZ)}getOrder(){return m(this,Mn).size?m(this,bZ)?m(this,bZ).slice():[...m(this,Mn).keys()]:null}getGroup(t){return m(this,Mn).get(t)||null}getHash(){if(m(this,xu)!==null)return m(this,xu);const t=new Gk;for(const[e,n]of m(this,Mn))t.update(`${e}:${n.visible}`);return z(this,xu,t.hexdigest())}[Symbol.iterator](){return m(this,Mn).entries()}}xu=new WeakMap,Mn=new WeakMap,hZ=new WeakMap,bZ=new WeakMap,Ly=new WeakSet,_Y=function(t){const e=t.length;if(e<2)return!0;const n=t[0];for(let i=1;i<e;i++){const s=t[i];let a;if(Array.isArray(s))a=J(this,Ly,_Y).call(this,s);else if(m(this,Mn).has(s))a=m(this,Mn).get(s).visible;else return Ll(`Optional content group not found: ${s}`),!0;switch(n){case"And":if(!a)return!1;break;case"Or":if(a)return!0;break;case"Not":return!a;default:return!0}}return n==="And"};class yq{constructor(t,{disableRange:e=!1,disableStream:n=!1}){Vi(t,'PDFDataTransportStream - missing required "pdfDataRangeTransport" argument.');const{length:i,initialData:s,progressiveDone:a,contentDispositionFilename:c}=t;if(this._queuedChunks=[],this._progressiveDone=a,this._contentDispositionFilename=c,(s==null?void 0:s.length)>0){const o=s instanceof Uint8Array&&s.byteLength===s.buffer.byteLength?s.buffer:new Uint8Array(s).buffer;this._queuedChunks.push(o)}this._pdfDataRangeTransport=t,this._isStreamingSupported=!n,this._isRangeSupported=!e,this._contentLength=i,this._fullRequestReader=null,this._rangeReaders=[],t.addRangeListener((o,d)=>{this._onReceiveData({begin:o,chunk:d})}),t.addProgressListener((o,d)=>{this._onProgress({loaded:o,total:d})}),t.addProgressiveReadListener(o=>{this._onReceiveData({chunk:o})}),t.addProgressiveDoneListener(()=>{this._onProgressiveDone()}),t.transportReady()}_onReceiveData({begin:t,chunk:e}){const n=e instanceof Uint8Array&&e.byteLength===e.buffer.byteLength?e.buffer:new Uint8Array(e).buffer;if(t===void 0)this._fullRequestReader?this._fullRequestReader._enqueue(n):this._queuedChunks.push(n);else{const i=this._rangeReaders.some(function(s){return s._begin!==t?!1:(s._enqueue(n),!0)});Vi(i,"_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found.")}}get _progressiveDataLength(){var t;return((t=this._fullRequestReader)==null?void 0:t._loaded)??0}_onProgress(t){var e,n,i,s;t.total===void 0?(n=(e=this._rangeReaders[0])==null?void 0:e.onProgress)==null||n.call(e,{loaded:t.loaded}):(s=(i=this._fullRequestReader)==null?void 0:i.onProgress)==null||s.call(i,{loaded:t.loaded,total:t.total})}_onProgressiveDone(){var t;(t=this._fullRequestReader)==null||t.progressiveDone(),this._progressiveDone=!0}_removeRangeReader(t){const e=this._rangeReaders.indexOf(t);e>=0&&this._rangeReaders.splice(e,1)}getFullReader(){Vi(!this._fullRequestReader,"PDFDataTransportStream.getFullReader can only be called once.");const t=this._queuedChunks;return this._queuedChunks=null,new Wq(this,t,this._progressiveDone,this._contentDispositionFilename)}getRangeReader(t,e){if(e<=this._progressiveDataLength)return null;const n=new Nq(this,t,e);return this._pdfDataRangeTransport.requestDataRange(t,e),this._rangeReaders.push(n),n}cancelAllRequests(t){var e;(e=this._fullRequestReader)==null||e.cancel(t);for(const n of this._rangeReaders.slice(0))n.cancel(t);this._pdfDataRangeTransport.abort()}}class Wq{constructor(t,e,n=!1,i=null){this._stream=t,this._done=n||!1,this._filename=HV(i)?i:null,this._queuedChunks=e||[],this._loaded=0;for(const s of this._queuedChunks)this._loaded+=s.byteLength;this._requests=[],this._headersReady=Promise.resolve(),t._fullRequestReader=this,this.onProgress=null}_enqueue(t){this._done||(this._requests.length>0?this._requests.shift().resolve({value:t,done:!1}):this._queuedChunks.push(t),this._loaded+=t.byteLength)}get headersReady(){return this._headersReady}get filename(){return this._filename}get isRangeSupported(){return this._stream._isRangeSupported}get isStreamingSupported(){return this._stream._isStreamingSupported}get contentLength(){return this._stream._contentLength}async read(){if(this._queuedChunks.length>0)return{value:this._queuedChunks.shift(),done:!1};if(this._done)return{value:void 0,done:!0};const t=Promise.withResolvers();return this._requests.push(t),t.promise}cancel(t){this._done=!0;for(const e of this._requests)e.resolve({value:void 0,done:!0});this._requests.length=0}progressiveDone(){this._done||(this._done=!0)}}class Nq{constructor(t,e,n){this._stream=t,this._begin=e,this._end=n,this._queuedChunk=null,this._requests=[],this._done=!1,this.onProgress=null}_enqueue(t){if(!this._done){if(this._requests.length===0)this._queuedChunk=t;else{this._requests.shift().resolve({value:t,done:!1});for(const n of this._requests)n.resolve({value:void 0,done:!0});this._requests.length=0}this._done=!0,this._stream._removeRangeReader(this)}}get isStreamingSupported(){return!1}async read(){if(this._queuedChunk){const e=this._queuedChunk;return this._queuedChunk=null,{value:e,done:!1}}if(this._done)return{value:void 0,done:!0};const t=Promise.withResolvers();return this._requests.push(t),t.promise}cancel(t){this._done=!0;for(const e of this._requests)e.resolve({value:void 0,done:!0});this._requests.length=0,this._stream._removeRangeReader(this)}}function Mq(l){let t=!0,e=n("filename\\*","i").exec(l);if(e){e=e[1];let h=c(e);return h=unescape(h),h=o(h),h=d(h),s(h)}if(e=a(l),e){const h=d(e);return s(h)}if(e=n("filename","i").exec(l),e){e=e[1];let h=c(e);return h=d(h),s(h)}function n(h,b){return new RegExp("(?:^|;)\\s*"+h+'\\s*=\\s*([^";\\s][^;\\s]*|"(?:[^"\\\\]|\\\\"?)+"?)',b)}function i(h,b){if(h){if(!/^[\x00-\xFF]+$/.test(b))return b;try{const p=new TextDecoder(h,{fatal:!0}),y=DW(b);b=p.decode(y),t=!1}catch{}}return b}function s(h){return t&&/[\x80-\xff]/.test(h)&&(h=i("utf-8",h),t&&(h=i("iso-8859-1",h))),h}function a(h){const b=[];let p;const y=n("filename\\*((?!0\\d)\\d+)(\\*?)","ig");for(;(p=y.exec(h))!==null;){let[,T,Y,L]=p;if(T=parseInt(T,10),T in b){if(T===0)break;continue}b[T]=[Y,L]}const M=[];for(let T=0;T<b.length&&T in b;++T){let[Y,L]=b[T];L=c(L),Y&&(L=unescape(L),T===0&&(L=o(L))),M.push(L)}return M.join("")}function c(h){if(h.startsWith('"')){const b=h.slice(1).split('\\"');for(let p=0;p<b.length;++p){const y=b[p].indexOf('"');y!==-1&&(b[p]=b[p].slice(0,y),b.length=p+1),b[p]=b[p].replaceAll(/\\(.)/g,"$1")}h=b.join('"')}return h}function o(h){const b=h.indexOf("'");if(b===-1)return h;const p=h.slice(0,b),M=h.slice(b+1).replace(/^[^']*'/,"");return i(p,M)}function d(h){return!h.startsWith("=?")||/[\x00-\x19\x80-\xff]/.test(h)?h:h.replaceAll(/=\?([\w-]*)\?([QqBb])\?((?:[^?]|\?(?!=))*)\?=/g,function(b,p,y,M){if(y==="q"||y==="Q")return M=M.replaceAll("_"," "),M=M.replaceAll(/=([0-9a-fA-F]{2})/g,function(T,Y){return String.fromCharCode(parseInt(Y,16))}),i(p,M);try{M=atob(M)}catch{}return i(p,M)})}return""}function Sk(l,t){const e=new Headers;if(!l||!t||typeof t!="object")return e;for(const n in t){const i=t[n];i!==void 0&&e.append(n,i)}return e}function KG(l){var t;return((t=URL.parse(l))==null?void 0:t.origin)??null}function Rk({responseHeaders:l,isHttp:t,rangeChunkSize:e,disableRange:n}){const i={allowRangeRequests:!1,suggestedLength:void 0},s=parseInt(l.get("Content-Length"),10);return!Number.isInteger(s)||(i.suggestedLength=s,s<=2*e)||n||!t||l.get("Accept-Ranges")!=="bytes"||(l.get("Content-Encoding")||"identity")!=="identity"||(i.allowRangeRequests=!0),i}function kk(l){const t=l.get("Content-Disposition");if(t){let e=Mq(t);if(e.includes("%"))try{e=decodeURIComponent(e)}catch{}if(HV(e))return e}return null}function FW(l,t){return new OM(`Unexpected server response (${l}) while retrieving PDF "${t}".`,l,l===404||l===0&&t.startsWith("file:"))}function Dk(l){return l===200||l===206}function Ok(l,t,e){return{method:"GET",headers:l,signal:e.signal,mode:"cors",credentials:t?"include":"same-origin",redirect:"follow"}}function jk(l){return l instanceof Uint8Array?l.buffer:l instanceof ArrayBuffer?l:(Ll(`getArrayBuffer - unexpected data format: ${l}`),new Uint8Array(l).buffer)}class Gq{constructor(t){We(this,"_responseOrigin",null);this.source=t,this.isHttp=/^https?:/i.test(t.url),this.headers=Sk(this.isHttp,t.httpHeaders),this._fullRequestReader=null,this._rangeRequestReaders=[]}get _progressiveDataLength(){var t;return((t=this._fullRequestReader)==null?void 0:t._loaded)??0}getFullReader(){return Vi(!this._fullRequestReader,"PDFFetchStream.getFullReader can only be called once."),this._fullRequestReader=new Tq(this),this._fullRequestReader}getRangeReader(t,e){if(e<=this._progressiveDataLength)return null;const n=new Xq(this,t,e);return this._rangeRequestReaders.push(n),n}cancelAllRequests(t){var e;(e=this._fullRequestReader)==null||e.cancel(t);for(const n of this._rangeRequestReaders.slice(0))n.cancel(t)}}class Tq{constructor(t){this._stream=t,this._reader=null,this._loaded=0,this._filename=null;const e=t.source;this._withCredentials=e.withCredentials||!1,this._contentLength=e.length,this._headersCapability=Promise.withResolvers(),this._disableRange=e.disableRange||!1,this._rangeChunkSize=e.rangeChunkSize,!this._rangeChunkSize&&!this._disableRange&&(this._disableRange=!0),this._abortController=new AbortController,this._isStreamingSupported=!e.disableStream,this._isRangeSupported=!e.disableRange;const n=new Headers(t.headers),i=e.url;fetch(i,Ok(n,this._withCredentials,this._abortController)).then(s=>{if(t._responseOrigin=KG(s.url),!Dk(s.status))throw FW(s.status,i);this._reader=s.body.getReader(),this._headersCapability.resolve();const a=s.headers,{allowRangeRequests:c,suggestedLength:o}=Rk({responseHeaders:a,isHttp:t.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});this._isRangeSupported=c,this._contentLength=o||this._contentLength,this._filename=kk(a),!this._isStreamingSupported&&this._isRangeSupported&&this.cancel(new o0("Streaming is disabled."))}).catch(this._headersCapability.reject),this.onProgress=null}get headersReady(){return this._headersCapability.promise}get filename(){return this._filename}get contentLength(){return this._contentLength}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}async read(){var n;await this._headersCapability.promise;const{value:t,done:e}=await this._reader.read();return e?{value:t,done:e}:(this._loaded+=t.byteLength,(n=this.onProgress)==null||n.call(this,{loaded:this._loaded,total:this._contentLength}),{value:jk(t),done:!1})}cancel(t){var e;(e=this._reader)==null||e.cancel(t),this._abortController.abort()}}class Xq{constructor(t,e,n){this._stream=t,this._reader=null,this._loaded=0;const i=t.source;this._withCredentials=i.withCredentials||!1,this._readCapability=Promise.withResolvers(),this._isStreamingSupported=!i.disableStream,this._abortController=new AbortController;const s=new Headers(t.headers);s.append("Range",`bytes=${e}-${n-1}`);const a=i.url;fetch(a,Ok(s,this._withCredentials,this._abortController)).then(c=>{const o=KG(c.url);if(o!==t._responseOrigin)throw new Error(`Expected range response-origin "${o}" to match "${t._responseOrigin}".`);if(!Dk(c.status))throw FW(c.status,a);this._readCapability.resolve(),this._reader=c.body.getReader()}).catch(this._readCapability.reject),this.onProgress=null}get isStreamingSupported(){return this._isStreamingSupported}async read(){var n;await this._readCapability.promise;const{value:t,done:e}=await this._reader.read();return e?{value:t,done:e}:(this._loaded+=t.byteLength,(n=this.onProgress)==null||n.call(this,{loaded:this._loaded}),{value:jk(t),done:!1})}cancel(t){var e;(e=this._reader)==null||e.cancel(t),this._abortController.abort()}}const MX=200,GX=206;function Yq(l){const t=l.response;return typeof t!="string"?t:DW(t).buffer}class Lq{constructor({url:t,httpHeaders:e,withCredentials:n}){We(this,"_responseOrigin",null);this.url=t,this.isHttp=/^https?:/i.test(t),this.headers=Sk(this.isHttp,e),this.withCredentials=n||!1,this.currXhrId=0,this.pendingRequests=Object.create(null)}request(t){const e=new XMLHttpRequest,n=this.currXhrId++,i=this.pendingRequests[n]={xhr:e};e.open("GET",this.url),e.withCredentials=this.withCredentials;for(const[s,a]of this.headers)e.setRequestHeader(s,a);return this.isHttp&&"begin"in t&&"end"in t?(e.setRequestHeader("Range",`bytes=${t.begin}-${t.end-1}`),i.expectedStatus=GX):i.expectedStatus=MX,e.responseType="arraybuffer",Vi(t.onError,"Expected `onError` callback to be provided."),e.onerror=()=>{t.onError(e.status)},e.onreadystatechange=this.onStateChange.bind(this,n),e.onprogress=this.onProgress.bind(this,n),i.onHeadersReceived=t.onHeadersReceived,i.onDone=t.onDone,i.onError=t.onError,i.onProgress=t.onProgress,e.send(null),n}onProgress(t,e){var i;const n=this.pendingRequests[t];n&&((i=n.onProgress)==null||i.call(n,e))}onStateChange(t,e){const n=this.pendingRequests[t];if(!n)return;const i=n.xhr;if(i.readyState>=2&&n.onHeadersReceived&&(n.onHeadersReceived(),delete n.onHeadersReceived),i.readyState!==4||!(t in this.pendingRequests))return;if(delete this.pendingRequests[t],i.status===0&&this.isHttp){n.onError(i.status);return}const s=i.status||MX;if(!(s===MX&&n.expectedStatus===GX)&&s!==n.expectedStatus){n.onError(i.status);return}const c=Yq(i);if(s===GX){const o=i.getResponseHeader("Content-Range"),d=/bytes (\d+)-(\d+)\/(\d+)/.exec(o);d?n.onDone({begin:parseInt(d[1],10),chunk:c}):(Ll('Missing or invalid "Content-Range" header.'),n.onError(0))}else c?n.onDone({begin:0,chunk:c}):n.onError(i.status)}getRequestXhr(t){return this.pendingRequests[t].xhr}isPendingRequest(t){return t in this.pendingRequests}abortRequest(t){const e=this.pendingRequests[t].xhr;delete this.pendingRequests[t],e.abort()}}class Vq{constructor(t){this._source=t,this._manager=new Lq(t),this._rangeChunkSize=t.rangeChunkSize,this._fullRequestReader=null,this._rangeRequestReaders=[]}_onRangeRequestReaderClosed(t){const e=this._rangeRequestReaders.indexOf(t);e>=0&&this._rangeRequestReaders.splice(e,1)}getFullReader(){return Vi(!this._fullRequestReader,"PDFNetworkStream.getFullReader can only be called once."),this._fullRequestReader=new Iq(this._manager,this._source),this._fullRequestReader}getRangeReader(t,e){const n=new wq(this._manager,t,e);return n.onClosed=this._onRangeRequestReaderClosed.bind(this),this._rangeRequestReaders.push(n),n}cancelAllRequests(t){var e;(e=this._fullRequestReader)==null||e.cancel(t);for(const n of this._rangeRequestReaders.slice(0))n.cancel(t)}}class Iq{constructor(t,e){this._manager=t,this._url=e.url,this._fullRequestId=t.request({onHeadersReceived:this._onHeadersReceived.bind(this),onDone:this._onDone.bind(this),onError:this._onError.bind(this),onProgress:this._onProgress.bind(this)}),this._headersCapability=Promise.withResolvers(),this._disableRange=e.disableRange||!1,this._contentLength=e.length,this._rangeChunkSize=e.rangeChunkSize,!this._rangeChunkSize&&!this._disableRange&&(this._disableRange=!0),this._isStreamingSupported=!1,this._isRangeSupported=!1,this._cachedChunks=[],this._requests=[],this._done=!1,this._storedError=void 0,this._filename=null,this.onProgress=null}_onHeadersReceived(){const t=this._fullRequestId,e=this._manager.getRequestXhr(t);this._manager._responseOrigin=KG(e.responseURL);const n=e.getAllResponseHeaders(),i=new Headers(n?n.trimStart().replace(/[^\S ]+$/,"").split(/[\r\n]+/).map(c=>{const[o,...d]=c.split(": ");return[o,d.join(": ")]}):[]),{allowRangeRequests:s,suggestedLength:a}=Rk({responseHeaders:i,isHttp:this._manager.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});s&&(this._isRangeSupported=!0),this._contentLength=a||this._contentLength,this._filename=kk(i),this._isRangeSupported&&this._manager.abortRequest(t),this._headersCapability.resolve()}_onDone(t){if(t&&(this._requests.length>0?this._requests.shift().resolve({value:t.chunk,done:!1}):this._cachedChunks.push(t.chunk)),this._done=!0,!(this._cachedChunks.length>0)){for(const e of this._requests)e.resolve({value:void 0,done:!0});this._requests.length=0}}_onError(t){this._storedError=FW(t,this._url),this._headersCapability.reject(this._storedError);for(const e of this._requests)e.reject(this._storedError);this._requests.length=0,this._cachedChunks.length=0}_onProgress(t){var e;(e=this.onProgress)==null||e.call(this,{loaded:t.loaded,total:t.lengthComputable?t.total:this._contentLength})}get filename(){return this._filename}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}get contentLength(){return this._contentLength}get headersReady(){return this._headersCapability.promise}async read(){if(await this._headersCapability.promise,this._storedError)throw this._storedError;if(this._cachedChunks.length>0)return{value:this._cachedChunks.shift(),done:!1};if(this._done)return{value:void 0,done:!0};const t=Promise.withResolvers();return this._requests.push(t),t.promise}cancel(t){this._done=!0,this._headersCapability.reject(t);for(const e of this._requests)e.resolve({value:void 0,done:!0});this._requests.length=0,this._manager.isPendingRequest(this._fullRequestId)&&this._manager.abortRequest(this._fullRequestId),this._fullRequestReader=null}}class wq{constructor(t,e,n){this._manager=t,this._url=t.url,this._requestId=t.request({begin:e,end:n,onHeadersReceived:this._onHeadersReceived.bind(this),onDone:this._onDone.bind(this),onError:this._onError.bind(this),onProgress:this._onProgress.bind(this)}),this._requests=[],this._queuedChunk=null,this._done=!1,this._storedError=void 0,this.onProgress=null,this.onClosed=null}_onHeadersReceived(){var e;const t=KG((e=this._manager.getRequestXhr(this._requestId))==null?void 0:e.responseURL);t!==this._manager._responseOrigin&&(this._storedError=new Error(`Expected range response-origin "${t}" to match "${this._manager._responseOrigin}".`),this._onError(0))}_close(){var t;(t=this.onClosed)==null||t.call(this,this)}_onDone(t){const e=t.chunk;this._requests.length>0?this._requests.shift().resolve({value:e,done:!1}):this._queuedChunk=e,this._done=!0;for(const n of this._requests)n.resolve({value:void 0,done:!0});this._requests.length=0,this._close()}_onError(t){this._storedError??(this._storedError=FW(t,this._url));for(const e of this._requests)e.reject(this._storedError);this._requests.length=0,this._queuedChunk=null}_onProgress(t){var e;this.isStreamingSupported||(e=this.onProgress)==null||e.call(this,{loaded:t.loaded})}get isStreamingSupported(){return!1}async read(){if(this._storedError)throw this._storedError;if(this._queuedChunk!==null){const e=this._queuedChunk;return this._queuedChunk=null,{value:e,done:!1}}if(this._done)return{value:void 0,done:!0};const t=Promise.withResolvers();return this._requests.push(t),t.promise}cancel(t){this._done=!0;for(const e of this._requests)e.resolve({value:void 0,done:!0});this._requests.length=0,this._manager.isPendingRequest(this._requestId)&&this._manager.abortRequest(this._requestId),this._close()}}const zq=/^[a-z][a-z0-9\-+.]+:/i;function gq(l){if(zq.test(l))return new URL(l);const t=process.getBuiltinModule("url");return new URL(t.pathToFileURL(l))}class xq{constructor(t){this.source=t,this.url=gq(t.url),Vi(this.url.protocol==="file:","PDFNodeStream only supports file:// URLs."),this._fullRequestReader=null,this._rangeRequestReaders=[]}get _progressiveDataLength(){var t;return((t=this._fullRequestReader)==null?void 0:t._loaded)??0}getFullReader(){return Vi(!this._fullRequestReader,"PDFNodeStream.getFullReader can only be called once."),this._fullRequestReader=new fq(this),this._fullRequestReader}getRangeReader(t,e){if(e<=this._progressiveDataLength)return null;const n=new Sq(this,t,e);return this._rangeRequestReaders.push(n),n}cancelAllRequests(t){var e;(e=this._fullRequestReader)==null||e.cancel(t);for(const n of this._rangeRequestReaders.slice(0))n.cancel(t)}}class fq{constructor(t){this._url=t.url,this._done=!1,this._storedError=null,this.onProgress=null;const e=t.source;this._contentLength=e.length,this._loaded=0,this._filename=null,this._disableRange=e.disableRange||!1,this._rangeChunkSize=e.rangeChunkSize,!this._rangeChunkSize&&!this._disableRange&&(this._disableRange=!0),this._isStreamingSupported=!e.disableStream,this._isRangeSupported=!e.disableRange,this._readableStream=null,this._readCapability=Promise.withResolvers(),this._headersCapability=Promise.withResolvers();const n=process.getBuiltinModule("fs");n.promises.lstat(this._url).then(i=>{this._contentLength=i.size,this._setReadableStream(n.createReadStream(this._url)),this._headersCapability.resolve()},i=>{i.code==="ENOENT"&&(i=FW(0,this._url.href)),this._storedError=i,this._headersCapability.reject(i)})}get headersReady(){return this._headersCapability.promise}get filename(){return this._filename}get contentLength(){return this._contentLength}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}async read(){var n;if(await this._readCapability.promise,this._done)return{value:void 0,done:!0};if(this._storedError)throw this._storedError;const t=this._readableStream.read();return t===null?(this._readCapability=Promise.withResolvers(),this.read()):(this._loaded+=t.length,(n=this.onProgress)==null||n.call(this,{loaded:this._loaded,total:this._contentLength}),{value:new Uint8Array(t).buffer,done:!1})}cancel(t){if(!this._readableStream){this._error(t);return}this._readableStream.destroy(t)}_error(t){this._storedError=t,this._readCapability.resolve()}_setReadableStream(t){this._readableStream=t,t.on("readable",()=>{this._readCapability.resolve()}),t.on("end",()=>{t.destroy(),this._done=!0,this._readCapability.resolve()}),t.on("error",e=>{this._error(e)}),!this._isStreamingSupported&&this._isRangeSupported&&this._error(new o0("streaming is disabled")),this._storedError&&this._readableStream.destroy(this._storedError)}}class Sq{constructor(t,e,n){this._url=t.url,this._done=!1,this._storedError=null,this.onProgress=null,this._loaded=0,this._readableStream=null,this._readCapability=Promise.withResolvers();const i=t.source;this._isStreamingSupported=!i.disableStream;const s=process.getBuiltinModule("fs");this._setReadableStream(s.createReadStream(this._url,{start:e,end:n-1}))}get isStreamingSupported(){return this._isStreamingSupported}async read(){var n;if(await this._readCapability.promise,this._done)return{value:void 0,done:!0};if(this._storedError)throw this._storedError;const t=this._readableStream.read();return t===null?(this._readCapability=Promise.withResolvers(),this.read()):(this._loaded+=t.length,(n=this.onProgress)==null||n.call(this,{loaded:this._loaded}),{value:new Uint8Array(t).buffer,done:!1})}cancel(t){if(!this._readableStream){this._error(t);return}this._readableStream.destroy(t)}_error(t){this._storedError=t,this._readCapability.resolve()}_setReadableStream(t){this._readableStream=t,t.on("readable",()=>{this._readCapability.resolve()}),t.on("end",()=>{t.destroy(),this._done=!0,this._readCapability.resolve()}),t.on("error",e=>{this._error(e)}),this._storedError&&this._readableStream.destroy(this._storedError)}}const Hp=Symbol("INITIAL_DATA");var Ra,Vy,qY;class Ck{constructor(){k(this,Vy);k(this,Ra,Object.create(null))}get(t,e=null){if(e){const i=J(this,Vy,qY).call(this,t);return i.promise.then(()=>e(i.data)),null}const n=m(this,Ra)[t];if(!n||n.data===Hp)throw new Error(`Requesting object that isn't resolved yet ${t}.`);return n.data}has(t){const e=m(this,Ra)[t];return!!e&&e.data!==Hp}delete(t){const e=m(this,Ra)[t];return!e||e.data===Hp?!1:(delete m(this,Ra)[t],!0)}resolve(t,e=null){const n=J(this,Vy,qY).call(this,t);n.data=e,n.resolve()}clear(){var t;for(const e in m(this,Ra)){const{data:n}=m(this,Ra)[e];(t=n==null?void 0:n.bitmap)==null||t.close()}z(this,Ra,Object.create(null))}*[Symbol.iterator](){for(const t in m(this,Ra)){const{data:e}=m(this,Ra)[t];e!==Hp&&(yield[t,e])}}}Ra=new WeakMap,Vy=new WeakSet,qY=function(t){var e;return(e=m(this,Ra))[t]||(e[t]={...Promise.withResolvers(),data:Hp})};const Rq=1e5,lx=30;var Yx,fu,ha,Iy,wy,gm,_o,zy,gy,xm,ZZ,pZ,Su,yZ,xy,WZ,fm,fy,Sy,NZ,Sm,Ry,Ru,MZ,zd,Fk,Jk,$Y,$a,_1,tL,vk,Uk;const ki=class ki{constructor({textContentSource:t,container:e,viewport:n}){k(this,zd);k(this,fu,Promise.withResolvers());k(this,ha,null);k(this,Iy,!1);k(this,wy,!!((Yx=globalThis.FontInspector)!=null&&Yx.enabled));k(this,gm,null);k(this,_o,null);k(this,zy,0);k(this,gy,0);k(this,xm,null);k(this,ZZ,null);k(this,pZ,0);k(this,Su,0);k(this,yZ,Object.create(null));k(this,xy,[]);k(this,WZ,null);k(this,fm,[]);k(this,fy,new WeakMap);k(this,Sy,null);var o;if(t instanceof ReadableStream)z(this,WZ,t);else if(typeof t=="object")z(this,WZ,new ReadableStream({start(d){d.enqueue(t),d.close()}}));else throw new Error('No "textContentSource" parameter specified.');z(this,ha,z(this,ZZ,e)),z(this,Su,n.scale*$r.pixelRatio),z(this,pZ,n.rotation),z(this,_o,{div:null,properties:null,ctx:null});const{pageWidth:i,pageHeight:s,pageX:a,pageY:c}=n.rawDims;z(this,Sy,[1,0,0,-1,-a,c+s]),z(this,gy,i),z(this,zy,s),J(o=ki,$a,vk).call(o),yh(e,n),m(this,fu).promise.finally(()=>{m(ki,MZ).delete(this),z(this,_o,null),z(this,yZ,null)}).catch(()=>{})}static get fontFamilyMap(){const{isWindows:t,isFirefox:e}=Ws.platform;return vl(this,"fontFamilyMap",new Map([["sans-serif",`${t&&e?"Calibri, ":""}sans-serif`],["monospace",`${t&&e?"Lucida Console, ":""}monospace`]]))}render(){const t=()=>{m(this,xm).read().then(({value:e,done:n})=>{if(n){m(this,fu).resolve();return}m(this,gm)??z(this,gm,e.lang),Object.assign(m(this,yZ),e.styles),J(this,zd,Fk).call(this,e.items),t()},m(this,fu).reject)};return z(this,xm,m(this,WZ).getReader()),m(ki,MZ).add(this),t(),m(this,fu).promise}update({viewport:t,onBefore:e=null}){var s;const n=t.scale*$r.pixelRatio,i=t.rotation;if(i!==m(this,pZ)&&(e==null||e(),z(this,pZ,i),yh(m(this,ZZ),{rotation:i})),n!==m(this,Su)){e==null||e(),z(this,Su,n);const a={div:null,properties:null,ctx:J(s=ki,$a,_1).call(s,m(this,gm))};for(const c of m(this,fm))a.properties=m(this,fy).get(c),a.div=c,J(this,zd,$Y).call(this,a)}}cancel(){var e;const t=new o0("TextLayer task cancelled.");(e=m(this,xm))==null||e.cancel(t).catch(()=>{}),z(this,xm,null),m(this,fu).reject(t)}get textDivs(){return m(this,fm)}get textContentItemsStr(){return m(this,xy)}static cleanup(){if(!(m(this,MZ).size>0)){m(this,NZ).clear();for(const{canvas:t}of m(this,Sm).values())t.remove();m(this,Sm).clear()}}};fu=new WeakMap,ha=new WeakMap,Iy=new WeakMap,wy=new WeakMap,gm=new WeakMap,_o=new WeakMap,zy=new WeakMap,gy=new WeakMap,xm=new WeakMap,ZZ=new WeakMap,pZ=new WeakMap,Su=new WeakMap,yZ=new WeakMap,xy=new WeakMap,WZ=new WeakMap,fm=new WeakMap,fy=new WeakMap,Sy=new WeakMap,NZ=new WeakMap,Sm=new WeakMap,Ry=new WeakMap,Ru=new WeakMap,MZ=new WeakMap,zd=new WeakSet,Fk=function(t){var i,s;if(m(this,Iy))return;(s=m(this,_o)).ctx??(s.ctx=J(i=ki,$a,_1).call(i,m(this,gm)));const e=m(this,fm),n=m(this,xy);for(const a of t){if(e.length>Rq){Ll("Ignoring additional textDivs for performance reasons."),z(this,Iy,!0);return}if(a.str===void 0){if(a.type==="beginMarkedContentProps"||a.type==="beginMarkedContent"){const c=m(this,ha);z(this,ha,document.createElement("span")),m(this,ha).classList.add("markedContent"),a.id&&m(this,ha).setAttribute("id",`${a.id}`),c.append(m(this,ha))}else a.type==="endMarkedContent"&&z(this,ha,m(this,ha).parentNode);continue}n.push(a.str),J(this,zd,Jk).call(this,a)}},Jk=function(t){var T;const e=document.createElement("span"),n={angle:0,canvasWidth:0,hasText:t.str!=="",hasEOL:t.hasEOL,fontSize:0};m(this,fm).push(e);const i=Ae.transform(m(this,Sy),t.transform);let s=Math.atan2(i[1],i[0]);const a=m(this,yZ)[t.fontName];a.vertical&&(s+=Math.PI/2);let c=m(this,wy)&&a.fontSubstitution||a.fontFamily;c=ki.fontFamilyMap.get(c)||c;const o=Math.hypot(i[2],i[3]),d=o*J(T=ki,$a,Uk).call(T,c,a,m(this,gm));let h,b;s===0?(h=i[4],b=i[5]-d):(h=i[4]+d*Math.sin(s),b=i[5]-d*Math.cos(s));const p="calc(var(--total-scale-factor) *",y=e.style;m(this,ha)===m(this,ZZ)?(y.left=`${(100*h/m(this,gy)).toFixed(2)}%`,y.top=`${(100*b/m(this,zy)).toFixed(2)}%`):(y.left=`${p}${h.toFixed(2)}px)`,y.top=`${p}${b.toFixed(2)}px)`),y.fontSize=`${p}${(m(ki,Ru)*o).toFixed(2)}px)`,y.fontFamily=c,n.fontSize=o,e.setAttribute("role","presentation"),e.textContent=t.str,e.dir=t.dir,m(this,wy)&&(e.dataset.fontName=a.fontSubstitutionLoadedName||t.fontName),s!==0&&(n.angle=s*(180/Math.PI));let M=!1;if(t.str.length>1)M=!0;else if(t.str!==" "&&t.transform[0]!==t.transform[3]){const Y=Math.abs(t.transform[0]),L=Math.abs(t.transform[3]);Y!==L&&Math.max(Y,L)/Math.min(Y,L)>1.5&&(M=!0)}if(M&&(n.canvasWidth=a.vertical?t.height:t.width),m(this,fy).set(e,n),m(this,_o).div=e,m(this,_o).properties=n,J(this,zd,$Y).call(this,m(this,_o)),n.hasText&&m(this,ha).append(e),n.hasEOL){const Y=document.createElement("br");Y.setAttribute("role","presentation"),m(this,ha).append(Y)}},$Y=function(t){var c;const{div:e,properties:n,ctx:i}=t,{style:s}=e;let a="";if(m(ki,Ru)>1&&(a=`scale(${1/m(ki,Ru)})`),n.canvasWidth!==0&&n.hasText){const{fontFamily:o}=s,{canvasWidth:d,fontSize:h}=n;J(c=ki,$a,tL).call(c,i,h*m(this,Su),o);const{width:b}=i.measureText(e.textContent);b>0&&(a=`scaleX(${d*m(this,Su)/b}) ${a}`)}n.angle!==0&&(a=`rotate(${n.angle}deg) ${a}`),a.length>0&&(s.transform=a)},$a=new WeakSet,_1=function(t=null){let e=m(this,Sm).get(t||(t=""));if(!e){const n=document.createElement("canvas");n.className="hiddenCanvasElement",n.lang=t,document.body.append(n),e=n.getContext("2d",{alpha:!1,willReadFrequently:!0}),m(this,Sm).set(t,e),m(this,Ry).set(e,{size:0,family:""})}return e},tL=function(t,e,n){const i=m(this,Ry).get(t);e===i.size&&n===i.family||(t.font=`${e}px ${n}`,i.size=e,i.family=n)},vk=function(){if(m(this,Ru)!==null)return;const t=document.createElement("div");t.style.opacity=0,t.style.lineHeight=1,t.style.fontSize="1px",t.style.position="absolute",t.textContent="X",document.body.append(t),z(this,Ru,t.getBoundingClientRect().height),t.remove()},Uk=function(t,e,n){const i=m(this,NZ).get(t);if(i)return i;const s=J(this,$a,_1).call(this,n);s.canvas.width=s.canvas.height=lx,J(this,$a,tL).call(this,s,lx,t);const a=s.measureText(""),c=a.fontBoundingBoxAscent,o=Math.abs(a.fontBoundingBoxDescent);s.canvas.width=s.canvas.height=0;let d=.8;return c?d=c/(c+o):(Ws.platform.isFirefox&&Ll("Enable the `dom.textMetrics.fontBoundingBox.enabled` preference in `about:config` to improve TextLayer rendering."),e.ascent?d=e.ascent:e.descent&&(d=1+e.descent)),m(this,NZ).set(t,d),d},k(ki,$a),k(ki,NZ,new Map),k(ki,Sm,new Map),k(ki,Ry,new WeakMap),k(ki,Ru,null),k(ki,MZ,new Set);let O2=ki;class j2{static textContent(t){const e=[],n={items:e,styles:Object.create(null)};function i(s){var o;if(!s)return;let a=null;const c=s.name;if(c==="#text")a=s.value;else if(j2.shouldBuildText(c))(o=s==null?void 0:s.attributes)!=null&&o.textContent?a=s.attributes.textContent:s.value&&(a=s.value);else return;if(a!==null&&e.push({str:a}),!!s.children)for(const d of s.children)i(d)}return i(t),n}static shouldBuildText(t){return!(t==="textarea"||t==="input"||t==="option"||t==="select")}}const kq=100;function _V(l={}){typeof l=="string"||l instanceof URL?l={url:l}:(l instanceof ArrayBuffer||ArrayBuffer.isView(l))&&(l={data:l});const t=new eL,{docId:e}=t,n=l.url?U_(l.url):null,i=l.data?E_(l.data):null,s=l.httpHeaders||null,a=l.withCredentials===!0,c=l.password??null,o=l.range instanceof Ek?l.range:null,d=Number.isInteger(l.rangeChunkSize)&&l.rangeChunkSize>0?l.rangeChunkSize:2**16;let h=l.worker instanceof C2?l.worker:null;const b=l.verbosity,p=typeof l.docBaseUrl=="string"&&!UG(l.docBaseUrl)?l.docBaseUrl:null,y=G1(l.cMapUrl),M=l.cMapPacked!==!1,T=l.CMapReaderFactory||(Ks?q_:E9),Y=G1(l.iccUrl),L=G1(l.standardFontDataUrl),x=l.StandardFontDataFactory||(Ks?$_:K9),g=G1(l.wasmUrl),F=l.WasmFactory||(Ks?tq:P9),j=l.stopAtErrors!==!0,D=Number.isInteger(l.maxImageSize)&&l.maxImageSize>-1?l.maxImageSize:-1,_=l.isEvalSupported!==!1,ut=typeof l.isOffscreenCanvasSupported=="boolean"?l.isOffscreenCanvasSupported:!Ks,K=typeof l.isImageDecoderSupported=="boolean"?l.isImageDecoderSupported:!Ks&&(Ws.platform.isFirefox||!globalThis.chrome),f=Number.isInteger(l.canvasMaxAreaInBytes)?l.canvasMaxAreaInBytes:-1,lt=typeof l.disableFontFace=="boolean"?l.disableFontFace:Ks,tt=l.fontExtraProperties===!0,ht=l.enableXfa===!0,dt=l.ownerDocument||globalThis.document,It=l.disableRange===!0,kt=l.disableStream===!0,Gt=l.disableAutoFetch===!0,gt=l.pdfBug===!0,vt=l.CanvasFactory||(Ks?__:Q_),H=l.FilterFactory||(Ks?A_:B_),nt=l.enableHWA===!0,bt=l.useWasm!==!1,$=o?o.length:l.length??NaN,_t=typeof l.useSystemFonts=="boolean"?l.useSystemFonts:!Ks&&!lt,ce=typeof l.useWorkerFetch=="boolean"?l.useWorkerFetch:!!(T===E9&&x===K9&&F===P9&&y&&L&&g&&e2(y,document.baseURI)&&e2(L,document.baseURI)&&e2(g,document.baseURI)),ne=null;G_(b);const Nt={canvasFactory:new vt({ownerDocument:dt,enableHWA:nt}),filterFactory:new H({docId:e,ownerDocument:dt}),cMapReaderFactory:ce?null:new T({baseUrl:y,isCompressed:M}),standardFontDataFactory:ce?null:new x({baseUrl:L}),wasmFactory:ce?null:new F({baseUrl:g})};h||(h=C2.create({verbosity:b,port:_r.workerPort}),t._worker=h);const xt={docId:e,apiVersion:"5.4.149",data:i,password:c,disableAutoFetch:Gt,rangeChunkSize:d,length:$,docBaseUrl:p,enableXfa:ht,evaluatorOptions:{maxImageSize:D,disableFontFace:lt,ignoreErrors:j,isEvalSupported:_,isOffscreenCanvasSupported:ut,isImageDecoderSupported:K,canvasMaxAreaInBytes:f,fontExtraProperties:tt,useSystemFonts:_t,useWasm:bt,useWorkerFetch:ce,cMapUrl:y,iccUrl:Y,standardFontDataUrl:L,wasmUrl:g}},Zt={ownerDocument:dt,pdfBug:gt,styleElement:ne,loadingParams:{disableAutoFetch:Gt,enableXfa:ht}};return h.promise.then(function(){if(t.destroyed)throw new Error("Loading aborted");if(h.destroyed)throw new Error("Worker was destroyed");const Ft=h.messageHandler.sendWithPromise("GetDocRequest",xt,i?[i.buffer]:null);let te;if(o)te=new yq(o,{disableRange:It,disableStream:kt});else if(!i){if(!n)throw new Error("getDocument - no `url` parameter provided.");const he=e2(n)?Gq:Ks?xq:Vq;te=new he({url:n,length:$,httpHeaders:s,withCredentials:a,rangeChunkSize:d,disableRange:It,disableStream:kt})}return Ft.then(he=>{if(t.destroyed)throw new Error("Loading aborted");if(h.destroyed)throw new Error("Worker was destroyed");const $e=new c2(e,he,h.port),je=new jq($e,t,te,Zt,Nt,nt);t._transport=je,$e.send("Ready",null)})}).catch(t._capability.reject),t}var aG;const cG=class cG{constructor(){We(this,"_capability",Promise.withResolvers());We(this,"_transport",null);We(this,"_worker",null);We(this,"docId",`d${Ri(cG,aG)._++}`);We(this,"destroyed",!1);We(this,"onPassword",null);We(this,"onProgress",null)}get promise(){return this._capability.promise}async destroy(){var t,e,n,i;this.destroyed=!0;try{(t=this._worker)!=null&&t.port&&(this._worker._pendingDestroy=!0),await((e=this._transport)==null?void 0:e.destroy())}catch(s){throw(n=this._worker)!=null&&n.port&&delete this._worker._pendingDestroy,s}this._transport=null,(i=this._worker)==null||i.destroy(),this._worker=null}async getData(){return this._transport.getData()}};aG=new WeakMap,k(cG,aG,0);let eL=cG;var Rm,ky,Dy,Oy,jy;class Ek{constructor(t,e,n=!1,i=null){k(this,Rm,Promise.withResolvers());k(this,ky,[]);k(this,Dy,[]);k(this,Oy,[]);k(this,jy,[]);this.length=t,this.initialData=e,this.progressiveDone=n,this.contentDispositionFilename=i}addRangeListener(t){m(this,jy).push(t)}addProgressListener(t){m(this,Oy).push(t)}addProgressiveReadListener(t){m(this,Dy).push(t)}addProgressiveDoneListener(t){m(this,ky).push(t)}onDataRange(t,e){for(const n of m(this,jy))n(t,e)}onDataProgress(t,e){m(this,Rm).promise.then(()=>{for(const n of m(this,Oy))n(t,e)})}onDataProgressiveRead(t){m(this,Rm).promise.then(()=>{for(const e of m(this,Dy))e(t)})}onDataProgressiveDone(){m(this,Rm).promise.then(()=>{for(const t of m(this,ky))t()})}transportReady(){m(this,Rm).resolve()}requestDataRange(t,e){Xn("Abstract method PDFDataRangeTransport.requestDataRange")}abort(){}}Rm=new WeakMap,ky=new WeakMap,Dy=new WeakMap,Oy=new WeakMap,jy=new WeakMap;class Dq{constructor(t,e){this._pdfInfo=t,this._transport=e}get annotationStorage(){return this._transport.annotationStorage}get canvasFactory(){return this._transport.canvasFactory}get filterFactory(){return this._transport.filterFactory}get numPages(){return this._pdfInfo.numPages}get fingerprints(){return this._pdfInfo.fingerprints}get isPureXfa(){return vl(this,"isPureXfa",!!this._transport._htmlForXfa)}get allXfaHtml(){return this._transport._htmlForXfa}getPage(t){return this._transport.getPage(t)}getPageIndex(t){return this._transport.getPageIndex(t)}getDestinations(){return this._transport.getDestinations()}getDestination(t){return this._transport.getDestination(t)}getPageLabels(){return this._transport.getPageLabels()}getPageLayout(){return this._transport.getPageLayout()}getPageMode(){return this._transport.getPageMode()}getViewerPreferences(){return this._transport.getViewerPreferences()}getOpenAction(){return this._transport.getOpenAction()}getAttachments(){return this._transport.getAttachments()}getAnnotationsByType(t,e){return this._transport.getAnnotationsByType(t,e)}getJSActions(){return this._transport.getDocJSActions()}getOutline(){return this._transport.getOutline()}getOptionalContentConfig({intent:t="display"}={}){const{renderingIntent:e}=this._transport.getRenderingIntent(t);return this._transport.getOptionalContentConfig(e)}getPermissions(){return this._transport.getPermissions()}getMetadata(){return this._transport.getMetadata()}getMarkInfo(){return this._transport.getMarkInfo()}getData(){return this._transport.getData()}saveDocument(){return this._transport.saveDocument()}getDownloadInfo(){return this._transport.downloadInfoCapability.promise}cleanup(t=!1){return this._transport.startCleanup(t||this.isPureXfa)}destroy(){return this.loadingTask.destroy()}cachedPageNumber(t){return this._transport.cachedPageNumber(t)}get loadingParams(){return this._transport.loadingParams}get loadingTask(){return this._transport.loadingTask}getFieldObjects(){return this._transport.getFieldObjects()}hasJSActions(){return this._transport.hasJSActions()}getCalculationOrderIds(){return this._transport.getCalculationOrderIds()}}var qo,km,m2;class Oq{constructor(t,e,n,i=!1){k(this,km);k(this,qo,!1);this._pageIndex=t,this._pageInfo=e,this._transport=n,this._stats=i?new J9:null,this._pdfBug=i,this.commonObjs=n.commonObjs,this.objs=new Ck,this._intentStates=new Map,this.destroyed=!1,this.recordedGroups=null}get pageNumber(){return this._pageIndex+1}get rotate(){return this._pageInfo.rotate}get ref(){return this._pageInfo.ref}get userUnit(){return this._pageInfo.userUnit}get view(){return this._pageInfo.view}getViewport({scale:t,rotation:e=this.rotate,offsetX:n=0,offsetY:i=0,dontFlip:s=!1}={}){return new jW({viewBox:this.view,userUnit:this.userUnit,scale:t,rotation:e,offsetX:n,offsetY:i,dontFlip:s})}getAnnotations({intent:t="display"}={}){const{renderingIntent:e}=this._transport.getRenderingIntent(t);return this._transport.getAnnotations(this._pageIndex,e)}getJSActions(){return this._transport.getPageJSActions(this._pageIndex)}get filterFactory(){return this._transport.filterFactory}get isPureXfa(){return vl(this,"isPureXfa",!!this._transport._htmlForXfa)}async getXfa(){var t;return((t=this._transport._htmlForXfa)==null?void 0:t.children[this._pageIndex])||null}render({canvasContext:t,canvas:e=t.canvas,viewport:n,intent:i="display",annotationMode:s=ru.ENABLE,transform:a=null,background:c=null,optionalContentConfigPromise:o=null,annotationCanvasMap:d=null,pageColors:h=null,printAnnotationStorage:b=null,isEditing:p=!1,recordOperations:y=!1,filteredOperationIndexes:M=null}){var ut,K,f;(ut=this._stats)==null||ut.time("Overall");const T=this._transport.getRenderingIntent(i,s,b,p),{renderingIntent:Y,cacheKey:L}=T;z(this,qo,!1),o||(o=this._transport.getOptionalContentConfig(Y));let x=this._intentStates.get(L);x||(x=Object.create(null),this._intentStates.set(L,x)),x.streamReaderCancelTimeout&&(clearTimeout(x.streamReaderCancelTimeout),x.streamReaderCancelTimeout=null);const g=!!(Y&Pa.PRINT);x.displayReadyCapability||(x.displayReadyCapability=Promise.withResolvers(),x.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},(K=this._stats)==null||K.time("Page Request"),this._pumpOperatorList(T));const F=!this.recordedGroups&&(y||this._pdfBug&&((f=globalThis.StepperManager)==null?void 0:f.enabled)),j=lt=>{var tt,ht,dt;if(x.renderTasks.delete(D),F){const It=(tt=D.gfx)==null?void 0:tt.dependencyTracker.take();It?((ht=D.stepper)==null||ht.setOperatorGroups(It),y&&(this.recordedGroups=It)):y&&(this.recordedGroups=[])}g&&z(this,qo,!0),J(this,km,m2).call(this),lt?(D.capability.reject(lt),this._abortOperatorList({intentState:x,reason:lt instanceof Error?lt:new Error(lt)})):D.capability.resolve(),this._stats&&(this._stats.timeEnd("Rendering"),this._stats.timeEnd("Overall"),(dt=globalThis.Stats)!=null&&dt.enabled&&globalThis.Stats.add(this.pageNumber,this._stats))},D=new lL({callback:j,params:{canvas:e,canvasContext:t,dependencyTracker:F?new eq(e):null,viewport:n,transform:a,background:c},objs:this.objs,commonObjs:this.commonObjs,annotationCanvasMap:d,operatorList:x.operatorList,pageIndex:this._pageIndex,canvasFactory:this._transport.canvasFactory,filterFactory:this._transport.filterFactory,useRequestAnimationFrame:!g,pdfBug:this._pdfBug,pageColors:h,enableHWA:this._transport.enableHWA,filteredOperationIndexes:M});(x.renderTasks||(x.renderTasks=new Set)).add(D);const _=D.task;return Promise.all([x.displayReadyCapability.promise,o]).then(([lt,tt])=>{var ht;if(this.destroyed){j();return}if((ht=this._stats)==null||ht.time("Rendering"),!(tt.renderingIntent&Y))throw new Error("Must use the same `intent`-argument when calling the `PDFPageProxy.render` and `PDFDocumentProxy.getOptionalContentConfig` methods.");D.initializeGraphics({transparency:lt,optionalContentConfig:tt}),D.operatorListChanged()}).catch(j),_}getOperatorList({intent:t="display",annotationMode:e=ru.ENABLE,printAnnotationStorage:n=null,isEditing:i=!1}={}){var d;function s(){c.operatorList.lastChunk&&(c.opListReadCapability.resolve(c.operatorList),c.renderTasks.delete(o))}const a=this._transport.getRenderingIntent(t,e,n,i,!0);let c=this._intentStates.get(a.cacheKey);c||(c=Object.create(null),this._intentStates.set(a.cacheKey,c));let o;return c.opListReadCapability||(o=Object.create(null),o.operatorListChanged=s,c.opListReadCapability=Promise.withResolvers(),(c.renderTasks||(c.renderTasks=new Set)).add(o),c.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},(d=this._stats)==null||d.time("Page Request"),this._pumpOperatorList(a)),c.opListReadCapability.promise}streamTextContent({includeMarkedContent:t=!1,disableNormalization:e=!1}={}){return this._transport.messageHandler.sendWithStream("GetTextContent",{pageIndex:this._pageIndex,includeMarkedContent:t===!0,disableNormalization:e===!0},{highWaterMark:100,size(i){return i.items.length}})}getTextContent(t={}){if(this._transport._htmlForXfa)return this.getXfa().then(n=>j2.textContent(n));const e=this.streamTextContent(t);return new Promise(function(n,i){function s(){a.read().then(function({value:o,done:d}){if(d){n(c);return}c.lang??(c.lang=o.lang),Object.assign(c.styles,o.styles),c.items.push(...o.items),s()},i)}const a=e.getReader(),c={items:[],styles:Object.create(null),lang:null};s()})}getStructTree(){return this._transport.getStructTree(this._pageIndex)}_destroy(){this.destroyed=!0;const t=[];for(const e of this._intentStates.values())if(this._abortOperatorList({intentState:e,reason:new Error("Page was destroyed."),force:!0}),!e.opListReadCapability)for(const n of e.renderTasks)t.push(n.completed),n.cancel();return this.objs.clear(),z(this,qo,!1),Promise.all(t)}cleanup(t=!1){z(this,qo,!0);const e=J(this,km,m2).call(this);return t&&e&&this._stats&&(this._stats=new J9),e}_startRenderPage(t,e){var i,s;const n=this._intentStates.get(e);n&&((i=this._stats)==null||i.timeEnd("Page Request"),(s=n.displayReadyCapability)==null||s.resolve(t))}_renderPageChunk(t,e){for(let n=0,i=t.length;n<i;n++)e.operatorList.fnArray.push(t.fnArray[n]),e.operatorList.argsArray.push(t.argsArray[n]);e.operatorList.lastChunk=t.lastChunk,e.operatorList.separateAnnots=t.separateAnnots;for(const n of e.renderTasks)n.operatorListChanged();t.lastChunk&&J(this,km,m2).call(this)}_pumpOperatorList({renderingIntent:t,cacheKey:e,annotationStorageSerializable:n,modifiedIds:i}){const{map:s,transfer:a}=n,o=this._transport.messageHandler.sendWithStream("GetOperatorList",{pageIndex:this._pageIndex,intent:t,cacheKey:e,annotationStorage:s,modifiedIds:i},a).getReader(),d=this._intentStates.get(e);d.streamReader=o;const h=()=>{o.read().then(({value:b,done:p})=>{if(p){d.streamReader=null;return}this._transport.destroyed||(this._renderPageChunk(b,d),h())},b=>{if(d.streamReader=null,!this._transport.destroyed){if(d.operatorList){d.operatorList.lastChunk=!0;for(const p of d.renderTasks)p.operatorListChanged();J(this,km,m2).call(this)}if(d.displayReadyCapability)d.displayReadyCapability.reject(b);else if(d.opListReadCapability)d.opListReadCapability.reject(b);else throw b}})};h()}_abortOperatorList({intentState:t,reason:e,force:n=!1}){if(t.streamReader){if(t.streamReaderCancelTimeout&&(clearTimeout(t.streamReaderCancelTimeout),t.streamReaderCancelTimeout=null),!n){if(t.renderTasks.size>0)return;if(e instanceof PV){let i=kq;e.extraDelay>0&&e.extraDelay<1e3&&(i+=e.extraDelay),t.streamReaderCancelTimeout=setTimeout(()=>{t.streamReaderCancelTimeout=null,this._abortOperatorList({intentState:t,reason:e,force:!0})},i);return}}if(t.streamReader.cancel(new o0(e.message)).catch(()=>{}),t.streamReader=null,!this._transport.destroyed){for(const[i,s]of this._intentStates)if(s===t){this._intentStates.delete(i);break}this.cleanup()}}}get stats(){return this._stats}}qo=new WeakMap,km=new WeakSet,m2=function(){if(!m(this,qo)||this.destroyed)return!1;for(const{renderTasks:t,operatorList:e}of this._intentStates.values())if(t.size>0||!e.lastChunk)return!1;return this._intentStates.clear(),this.objs.clear(),z(this,qo,!1),!0};var ku,Bc,$o,Dm,rG,Om,jm,_s,q1,Kk,Pk,h2,GZ,$1;const Jn=class Jn{constructor({name:t=null,port:e=null,verbosity:n=T_()}={}){k(this,_s);k(this,ku,Promise.withResolvers());k(this,Bc,null);k(this,$o,null);k(this,Dm,null);if(this.name=t,this.destroyed=!1,this.verbosity=n,e){if(m(Jn,jm).has(e))throw new Error("Cannot use more than one PDFWorker per port.");m(Jn,jm).set(e,this),J(this,_s,Kk).call(this,e)}else J(this,_s,Pk).call(this)}get promise(){return m(this,ku).promise}get port(){return m(this,$o)}get messageHandler(){return m(this,Bc)}destroy(){var t,e;this.destroyed=!0,(t=m(this,Dm))==null||t.terminate(),z(this,Dm,null),m(Jn,jm).delete(m(this,$o)),z(this,$o,null),(e=m(this,Bc))==null||e.destroy(),z(this,Bc,null)}static create(t){const e=m(this,jm).get(t==null?void 0:t.port);if(e){if(e._pendingDestroy)throw new Error("PDFWorker.create - the worker is being destroyed.\nPlease remember to await `PDFDocumentLoadingTask.destroy()`-calls.");return e}return new Jn(t)}static get workerSrc(){if(_r.workerSrc)return _r.workerSrc;throw new Error('No "GlobalWorkerOptions.workerSrc" specified.')}static get _setupFakeWorkerGlobal(){return vl(this,"_setupFakeWorkerGlobal",(async()=>m(this,GZ,$1)?m(this,GZ,$1):(await import(this.workerSrc)).WorkerMessageHandler)())}};ku=new WeakMap,Bc=new WeakMap,$o=new WeakMap,Dm=new WeakMap,rG=new WeakMap,Om=new WeakMap,jm=new WeakMap,_s=new WeakSet,q1=function(){m(this,ku).resolve(),m(this,Bc).send("configure",{verbosity:this.verbosity})},Kk=function(t){z(this,$o,t),z(this,Bc,new c2("main","worker",t)),m(this,Bc).on("ready",()=>{}),J(this,_s,q1).call(this)},Pk=function(){if(m(Jn,Om)||m(Jn,GZ,$1)){J(this,_s,h2).call(this);return}let{workerSrc:t}=Jn;try{Jn._isSameOrigin(window.location,t)||(t=Jn._createCDNWrapper(new URL(t,window.location).href));const e=new Worker(t,{type:"module"}),n=new c2("main","worker",e),i=()=>{s.abort(),n.destroy(),e.terminate(),this.destroyed?m(this,ku).reject(new Error("Worker was destroyed")):J(this,_s,h2).call(this)},s=new AbortController;e.addEventListener("error",()=>{m(this,Dm)||i()},{signal:s.signal}),n.on("test",c=>{if(s.abort(),this.destroyed||!c){i();return}z(this,Bc,n),z(this,$o,e),z(this,Dm,e),J(this,_s,q1).call(this)}),n.on("ready",c=>{if(s.abort(),this.destroyed){i();return}try{a()}catch{J(this,_s,h2).call(this)}});const a=()=>{const c=new Uint8Array;n.send("test",c,[c.buffer])};a();return}catch{vG("The worker has been disabled.")}J(this,_s,h2).call(this)},h2=function(){m(Jn,Om)||(Ll("Setting up fake worker."),z(Jn,Om,!0)),Jn._setupFakeWorkerGlobal.then(t=>{if(this.destroyed){m(this,ku).reject(new Error("Worker was destroyed"));return}const e=new H_;z(this,$o,e);const n=`fake${Ri(Jn,rG)._++}`,i=new c2(n+"_worker",n,e);t.setup(i,e),z(this,Bc,new c2(n,n+"_worker",e)),J(this,_s,q1).call(this)}).catch(t=>{m(this,ku).reject(new Error(`Setting up fake worker failed: "${t.message}".`))})},GZ=new WeakSet,$1=function(){var t;try{return((t=globalThis.pdfjsWorker)==null?void 0:t.WorkerMessageHandler)||null}catch{return null}},k(Jn,GZ),k(Jn,rG,0),k(Jn,Om,!1),k(Jn,jm,new WeakMap),Ks&&(z(Jn,Om,!0),_r.workerSrc||(_r.workerSrc="./pdf.worker.mjs")),Jn._isSameOrigin=(t,e)=>{const n=URL.parse(t);if(!(n!=null&&n.origin)||n.origin==="null")return!1;const i=new URL(e,n);return n.origin===i.origin},Jn._createCDNWrapper=t=>{const e=`await import("${t}");`;return URL.createObjectURL(new Blob([e],{type:"text/javascript"}))},Jn.fromPort=t=>{if(R_("`PDFWorker.fromPort` - please use `PDFWorker.create` instead."),!(t!=null&&t.port))throw new Error("PDFWorker.fromPort - invalid method signature.");return Jn.create(t)};let C2=Jn;var td,Cr,TZ,XZ,ed,Cm,b2;class jq{constructor(t,e,n,i,s,a){k(this,Cm);k(this,td,new Map);k(this,Cr,new Map);k(this,TZ,new Map);k(this,XZ,new Map);k(this,ed,null);this.messageHandler=t,this.loadingTask=e,this.commonObjs=new Ck,this.fontLoader=new J_({ownerDocument:i.ownerDocument,styleElement:i.styleElement}),this.loadingParams=i.loadingParams,this._params=i,this.canvasFactory=s.canvasFactory,this.filterFactory=s.filterFactory,this.cMapReaderFactory=s.cMapReaderFactory,this.standardFontDataFactory=s.standardFontDataFactory,this.wasmFactory=s.wasmFactory,this.destroyed=!1,this.destroyCapability=null,this._networkStream=n,this._fullReader=null,this._lastProgress=null,this.downloadInfoCapability=Promise.withResolvers(),this.enableHWA=a,this.setupMessageHandler()}get annotationStorage(){return vl(this,"annotationStorage",new QV)}getRenderingIntent(t,e=ru.ENABLE,n=null,i=!1,s=!1){let a=Pa.DISPLAY,c=vY;switch(t){case"any":a=Pa.ANY;break;case"display":break;case"print":a=Pa.PRINT;break;default:Ll(`getRenderingIntent - invalid intent: ${t}`)}const o=a&Pa.PRINT&&n instanceof Xk?n:this.annotationStorage;switch(e){case ru.DISABLE:a+=Pa.ANNOTATIONS_DISABLE;break;case ru.ENABLE:break;case ru.ENABLE_FORMS:a+=Pa.ANNOTATIONS_FORMS;break;case ru.ENABLE_STORAGE:a+=Pa.ANNOTATIONS_STORAGE,c=o.serializable;break;default:Ll(`getRenderingIntent - invalid annotationMode: ${e}`)}i&&(a+=Pa.IS_EDITING),s&&(a+=Pa.OPLIST);const{ids:d,hash:h}=o.modifiedIds,b=[a,c.hash,h];return{renderingIntent:a,cacheKey:b.join("_"),annotationStorageSerializable:c,modifiedIds:d}}destroy(){var n;if(this.destroyCapability)return this.destroyCapability.promise;this.destroyed=!0,this.destroyCapability=Promise.withResolvers(),(n=m(this,ed))==null||n.reject(new Error("Worker was destroyed during onPassword callback"));const t=[];for(const i of m(this,Cr).values())t.push(i._destroy());m(this,Cr).clear(),m(this,TZ).clear(),m(this,XZ).clear(),this.hasOwnProperty("annotationStorage")&&this.annotationStorage.resetModified();const e=this.messageHandler.sendWithPromise("Terminate",null);return t.push(e),Promise.all(t).then(()=>{var i,s;this.commonObjs.clear(),this.fontLoader.clear(),m(this,td).clear(),this.filterFactory.destroy(),O2.cleanup(),(i=this._networkStream)==null||i.cancelAllRequests(new o0("Worker was terminated.")),(s=this.messageHandler)==null||s.destroy(),this.messageHandler=null,this.destroyCapability.resolve()},this.destroyCapability.reject),this.destroyCapability.promise}setupMessageHandler(){const{messageHandler:t,loadingTask:e}=this;t.on("GetReader",(n,i)=>{Vi(this._networkStream,"GetReader - no `IPDFStream` instance available."),this._fullReader=this._networkStream.getFullReader(),this._fullReader.onProgress=s=>{this._lastProgress={loaded:s.loaded,total:s.total}},i.onPull=()=>{this._fullReader.read().then(function({value:s,done:a}){if(a){i.close();return}Vi(s instanceof ArrayBuffer,"GetReader - expected an ArrayBuffer."),i.enqueue(new Uint8Array(s),1,[s])}).catch(s=>{i.error(s)})},i.onCancel=s=>{this._fullReader.cancel(s),i.ready.catch(a=>{if(!this.destroyed)throw a})}}),t.on("ReaderHeadersReady",async n=>{var c;await this._fullReader.headersReady;const{isStreamingSupported:i,isRangeSupported:s,contentLength:a}=this._fullReader;return(!i||!s)&&(this._lastProgress&&((c=e.onProgress)==null||c.call(e,this._lastProgress)),this._fullReader.onProgress=o=>{var d;(d=e.onProgress)==null||d.call(e,{loaded:o.loaded,total:o.total})}),{isStreamingSupported:i,isRangeSupported:s,contentLength:a}}),t.on("GetRangeReader",(n,i)=>{Vi(this._networkStream,"GetRangeReader - no `IPDFStream` instance available.");const s=this._networkStream.getRangeReader(n.begin,n.end);if(!s){i.close();return}i.onPull=()=>{s.read().then(function({value:a,done:c}){if(c){i.close();return}Vi(a instanceof ArrayBuffer,"GetRangeReader - expected an ArrayBuffer."),i.enqueue(new Uint8Array(a),1,[a])}).catch(a=>{i.error(a)})},i.onCancel=a=>{s.cancel(a),i.ready.catch(c=>{if(!this.destroyed)throw c})}}),t.on("GetDoc",({pdfInfo:n})=>{this._numPages=n.numPages,this._htmlForXfa=n.htmlForXfa,delete n.htmlForXfa,e._capability.resolve(new Dq(n,this))}),t.on("DocException",n=>{e._capability.reject(da(n))}),t.on("PasswordRequest",n=>{z(this,ed,Promise.withResolvers());try{if(!e.onPassword)throw da(n);const i=s=>{s instanceof Error?m(this,ed).reject(s):m(this,ed).resolve({password:s})};e.onPassword(i,n.code)}catch(i){m(this,ed).reject(i)}return m(this,ed).promise}),t.on("DataLoaded",n=>{var i;(i=e.onProgress)==null||i.call(e,{loaded:n.length,total:n.length}),this.downloadInfoCapability.resolve(n)}),t.on("StartRenderPage",n=>{if(this.destroyed)return;m(this,Cr).get(n.pageIndex)._startRenderPage(n.transparency,n.cacheKey)}),t.on("commonobj",([n,i,s])=>{var a;if(this.destroyed||this.commonObjs.has(n))return null;switch(i){case"Font":if("error"in s){const h=s.error;Ll(`Error during font loading: ${h}`),this.commonObjs.resolve(n,h);break}const c=this._params.pdfBug&&((a=globalThis.FontInspector)!=null&&a.enabled)?(h,b)=>globalThis.FontInspector.fontAdded(h,b):null,o=new v_(s,c);this.fontLoader.bind(o).catch(()=>t.sendWithPromise("FontFallback",{id:n})).finally(()=>{!o.fontExtraProperties&&o.data&&(o.data=null),this.commonObjs.resolve(n,o)});break;case"CopyLocalImage":const{imageRef:d}=s;Vi(d,"The imageRef must be defined.");for(const h of m(this,Cr).values())for(const[,b]of h.objs)if((b==null?void 0:b.ref)===d)return b.dataLen?(this.commonObjs.resolve(n,structuredClone(b)),b.dataLen):null;break;case"FontPath":case"Image":case"Pattern":this.commonObjs.resolve(n,s);break;default:throw new Error(`Got unknown common object type ${i}`)}return null}),t.on("obj",([n,i,s,a])=>{var o;if(this.destroyed)return;const c=m(this,Cr).get(i);if(!c.objs.has(n)){if(c._intentStates.size===0){(o=a==null?void 0:a.bitmap)==null||o.close();return}switch(s){case"Image":case"Pattern":c.objs.resolve(n,a);break;default:throw new Error(`Got unknown object type ${s}`)}}}),t.on("DocProgress",n=>{var i;this.destroyed||(i=e.onProgress)==null||i.call(e,{loaded:n.loaded,total:n.total})}),t.on("FetchBinaryData",async n=>{if(this.destroyed)throw new Error("Worker was destroyed.");const i=this[n.type];if(!i)throw new Error(`${n.type} not initialized, see the \`useWorkerFetch\` parameter.`);return i.fetch(n)})}getData(){return this.messageHandler.sendWithPromise("GetData",null)}saveDocument(){var n;this.annotationStorage.size<=0&&Ll("saveDocument called while `annotationStorage` is empty, please use the getData-method instead.");const{map:t,transfer:e}=this.annotationStorage.serializable;return this.messageHandler.sendWithPromise("SaveDocument",{isPureXfa:!!this._htmlForXfa,numPages:this._numPages,annotationStorage:t,filename:((n=this._fullReader)==null?void 0:n.filename)??null},e).finally(()=>{this.annotationStorage.resetModified()})}getPage(t){if(!Number.isInteger(t)||t<=0||t>this._numPages)return Promise.reject(new Error("Invalid page request."));const e=t-1,n=m(this,TZ).get(e);if(n)return n;const i=this.messageHandler.sendWithPromise("GetPage",{pageIndex:e}).then(s=>{if(this.destroyed)throw new Error("Transport destroyed");s.refStr&&m(this,XZ).set(s.refStr,t);const a=new Oq(e,s,this,this._params.pdfBug);return m(this,Cr).set(e,a),a});return m(this,TZ).set(e,i),i}getPageIndex(t){return UY(t)?this.messageHandler.sendWithPromise("GetPageIndex",{num:t.num,gen:t.gen}):Promise.reject(new Error("Invalid pageIndex request."))}getAnnotations(t,e){return this.messageHandler.sendWithPromise("GetAnnotations",{pageIndex:t,intent:e})}getFieldObjects(){return J(this,Cm,b2).call(this,"GetFieldObjects")}hasJSActions(){return J(this,Cm,b2).call(this,"HasJSActions")}getCalculationOrderIds(){return this.messageHandler.sendWithPromise("GetCalculationOrderIds",null)}getDestinations(){return this.messageHandler.sendWithPromise("GetDestinations",null)}getDestination(t){return typeof t!="string"?Promise.reject(new Error("Invalid destination request.")):this.messageHandler.sendWithPromise("GetDestination",{id:t})}getPageLabels(){return this.messageHandler.sendWithPromise("GetPageLabels",null)}getPageLayout(){return this.messageHandler.sendWithPromise("GetPageLayout",null)}getPageMode(){return this.messageHandler.sendWithPromise("GetPageMode",null)}getViewerPreferences(){return this.messageHandler.sendWithPromise("GetViewerPreferences",null)}getOpenAction(){return this.messageHandler.sendWithPromise("GetOpenAction",null)}getAttachments(){return this.messageHandler.sendWithPromise("GetAttachments",null)}getAnnotationsByType(t,e){return this.messageHandler.sendWithPromise("GetAnnotationsByType",{types:t,pageIndexesToSkip:e})}getDocJSActions(){return J(this,Cm,b2).call(this,"GetDocJSActions")}getPageJSActions(t){return this.messageHandler.sendWithPromise("GetPageJSActions",{pageIndex:t})}getStructTree(t){return this.messageHandler.sendWithPromise("GetStructTree",{pageIndex:t})}getOutline(){return this.messageHandler.sendWithPromise("GetOutline",null)}getOptionalContentConfig(t){return J(this,Cm,b2).call(this,"GetOptionalContentConfig").then(e=>new pq(e,t))}getPermissions(){return this.messageHandler.sendWithPromise("GetPermissions",null)}getMetadata(){const t="GetMetadata",e=m(this,td).get(t);if(e)return e;const n=this.messageHandler.sendWithPromise(t,null).then(i=>{var s,a;return{info:i[0],metadata:i[1]?new bq(i[1]):null,contentDispositionFilename:((s=this._fullReader)==null?void 0:s.filename)??null,contentLength:((a=this._fullReader)==null?void 0:a.contentLength)??null}});return m(this,td).set(t,n),n}getMarkInfo(){return this.messageHandler.sendWithPromise("GetMarkInfo",null)}async startCleanup(t=!1){if(!this.destroyed){await this.messageHandler.sendWithPromise("Cleanup",null);for(const e of m(this,Cr).values())if(!e.cleanup())throw new Error(`startCleanup: Page ${e.pageNumber} is currently rendering.`);this.commonObjs.clear(),t||this.fontLoader.clear(),m(this,td).clear(),this.filterFactory.destroy(!0),O2.cleanup()}}cachedPageNumber(t){if(!UY(t))return null;const e=t.gen===0?`${t.num}R`:`${t.num}R${t.gen}`;return m(this,XZ).get(e)??null}}td=new WeakMap,Cr=new WeakMap,TZ=new WeakMap,XZ=new WeakMap,ed=new WeakMap,Cm=new WeakSet,b2=function(t,e=null){const n=m(this,td).get(t);if(n)return n;const i=this.messageHandler.sendWithPromise(t,e);return m(this,td).set(t,i),i};var Du;class Cq{constructor(t){k(this,Du,null);We(this,"onContinue",null);We(this,"onError",null);z(this,Du,t)}get promise(){return m(this,Du).capability.promise}cancel(t=0){m(this,Du).cancel(null,t)}get separateAnnots(){const{separateAnnots:t}=m(this,Du).operatorList;if(!t)return!1;const{annotationCanvasMap:e}=m(this,Du);return t.form||t.canvas&&(e==null?void 0:e.size)>0}}Du=new WeakMap;var Ou,Fm;const sm=class sm{constructor({callback:t,params:e,objs:n,commonObjs:i,annotationCanvasMap:s,operatorList:a,pageIndex:c,canvasFactory:o,filterFactory:d,useRequestAnimationFrame:h=!1,pdfBug:b=!1,pageColors:p=null,enableHWA:y=!1,filteredOperationIndexes:M=null}){k(this,Ou,null);this.callback=t,this.params=e,this.objs=n,this.commonObjs=i,this.annotationCanvasMap=s,this.operatorListIdx=null,this.operatorList=a,this._pageIndex=c,this.canvasFactory=o,this.filterFactory=d,this._pdfBug=b,this.pageColors=p,this.running=!1,this.graphicsReadyCallback=null,this.graphicsReady=!1,this._useRequestAnimationFrame=h===!0&&typeof window<"u",this.cancelled=!1,this.capability=Promise.withResolvers(),this.task=new Cq(this),this._cancelBound=this.cancel.bind(this),this._continueBound=this._continue.bind(this),this._scheduleNextBound=this._scheduleNext.bind(this),this._nextBound=this._next.bind(this),this._canvas=e.canvas,this._canvasContext=e.canvas?null:e.canvasContext,this._enableHWA=y,this._dependencyTracker=e.dependencyTracker,this._filteredOperationIndexes=M}get completed(){return this.capability.promise.catch(function(){})}initializeGraphics({transparency:t=!1,optionalContentConfig:e}){var o,d;if(this.cancelled)return;if(this._canvas){if(m(sm,Fm).has(this._canvas))throw new Error("Cannot use the same canvas during multiple render() operations. Use different canvas or ensure previous operations were cancelled or completed.");m(sm,Fm).add(this._canvas)}this._pdfBug&&((o=globalThis.StepperManager)!=null&&o.enabled)&&(this.stepper=globalThis.StepperManager.create(this._pageIndex),this.stepper.init(this.operatorList),this.stepper.nextBreakPoint=this.stepper.getNextBreakPoint());const{viewport:n,transform:i,background:s,dependencyTracker:a}=this.params,c=this._canvasContext||this._canvas.getContext("2d",{alpha:!1,willReadFrequently:!this._enableHWA});this.gfx=new Rb(c,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:e},this.annotationCanvasMap,this.pageColors,a),this.gfx.beginDrawing({transform:i,viewport:n,transparency:t,background:s}),this.operatorListIdx=0,this.graphicsReady=!0,(d=this.graphicsReadyCallback)==null||d.call(this)}cancel(t=null,e=0){var n,i,s;this.running=!1,this.cancelled=!0,(n=this.gfx)==null||n.endDrawing(),m(this,Ou)&&(window.cancelAnimationFrame(m(this,Ou)),z(this,Ou,null)),m(sm,Fm).delete(this._canvas),t||(t=new PV(`Rendering cancelled, page ${this._pageIndex+1}`,e)),this.callback(t),(s=(i=this.task).onError)==null||s.call(i,t)}operatorListChanged(){var t;if(!this.graphicsReady){this.graphicsReadyCallback||(this.graphicsReadyCallback=this._continueBound);return}(t=this.stepper)==null||t.updateOperatorList(this.operatorList),!this.running&&this._continue()}_continue(){this.running=!0,!this.cancelled&&(this.task.onContinue?this.task.onContinue(this._scheduleNextBound):this._scheduleNext())}_scheduleNext(){this._useRequestAnimationFrame?z(this,Ou,window.requestAnimationFrame(()=>{z(this,Ou,null),this._nextBound().catch(this._cancelBound)})):Promise.resolve().then(this._nextBound).catch(this._cancelBound)}async _next(){this.cancelled||(this.operatorListIdx=this.gfx.executeOperatorList(this.operatorList,this.operatorListIdx,this._continueBound,this.stepper,this._filteredOperationIndexes),this.operatorListIdx===this.operatorList.argsArray.length&&(this.running=!1,this.operatorList.lastChunk&&(this.gfx.endDrawing(),m(sm,Fm).delete(this._canvas),this.callback())))}};Ou=new WeakMap,Fm=new WeakMap,k(sm,Fm,new WeakSet);let lL=sm;const Fq="5.4.149",Jq="9e2e9e209";var ka,Jm,YZ,Ci,Cy,LZ,ld,Fy,ju,Ac,Jy,Tn,nL,iL,sL,tm,Hk,iu;const ua=class ua{constructor({editor:t=null,uiManager:e=null}){k(this,Tn);k(this,ka,null);k(this,Jm,null);k(this,YZ);k(this,Ci,null);k(this,Cy,!1);k(this,LZ,!1);k(this,ld,null);k(this,Fy);k(this,ju,null);k(this,Ac,null);var n,i;t?(z(this,LZ,!1),z(this,ld,t)):z(this,LZ,!0),z(this,Ac,(t==null?void 0:t._uiManager)||e),z(this,Fy,m(this,Ac)._eventBus),z(this,YZ,((n=t==null?void 0:t.color)==null?void 0:n.toUpperCase())||((i=m(this,Ac))==null?void 0:i.highlightColors.values().next().value)||"#FFFF98"),m(ua,Jy)||z(ua,Jy,Object.freeze({blue:"pdfjs-editor-colorpicker-blue",green:"pdfjs-editor-colorpicker-green",pink:"pdfjs-editor-colorpicker-pink",red:"pdfjs-editor-colorpicker-red",yellow:"pdfjs-editor-colorpicker-yellow"}))}static get _keyboardManager(){return vl(this,"_keyboardManager",new CW([[["Escape","mac+Escape"],ua.prototype._hideDropdownFromKeyboard],[[" ","mac+ "],ua.prototype._colorSelectFromKeyboard],[["ArrowDown","ArrowRight","mac+ArrowDown","mac+ArrowRight"],ua.prototype._moveToNext],[["ArrowUp","ArrowLeft","mac+ArrowUp","mac+ArrowLeft"],ua.prototype._moveToPrevious],[["Home","mac+Home"],ua.prototype._moveToBeginning],[["End","mac+End"],ua.prototype._moveToEnd]]))}renderButton(){const t=z(this,ka,document.createElement("button"));t.className="colorPicker",t.tabIndex="0",t.setAttribute("data-l10n-id","pdfjs-editor-colorpicker-button"),t.ariaHasPopup="true",m(this,ld)&&(t.ariaControls=`${m(this,ld).id}_colorpicker_dropdown`);const e=m(this,Ac)._signal;t.addEventListener("click",J(this,Tn,tm).bind(this),{signal:e}),t.addEventListener("keydown",J(this,Tn,sL).bind(this),{signal:e});const n=z(this,Jm,document.createElement("span"));return n.className="swatch",n.ariaHidden="true",n.style.backgroundColor=m(this,YZ),t.append(n),t}renderMainDropdown(){const t=z(this,Ci,J(this,Tn,nL).call(this));return t.ariaOrientation="horizontal",t.ariaLabelledBy="highlightColorPickerLabel",t}_colorSelectFromKeyboard(t){if(t.target===m(this,ka)){J(this,Tn,tm).call(this,t);return}const e=t.target.getAttribute("data-color");e&&J(this,Tn,iL).call(this,e,t)}_moveToNext(t){var e,n;if(!m(this,Tn,iu)){J(this,Tn,tm).call(this,t);return}if(t.target===m(this,ka)){(e=m(this,Ci).firstChild)==null||e.focus();return}(n=t.target.nextSibling)==null||n.focus()}_moveToPrevious(t){var e,n;if(t.target===((e=m(this,Ci))==null?void 0:e.firstChild)||t.target===m(this,ka)){m(this,Tn,iu)&&this._hideDropdownFromKeyboard();return}m(this,Tn,iu)||J(this,Tn,tm).call(this,t),(n=t.target.previousSibling)==null||n.focus()}_moveToBeginning(t){var e;if(!m(this,Tn,iu)){J(this,Tn,tm).call(this,t);return}(e=m(this,Ci).firstChild)==null||e.focus()}_moveToEnd(t){var e;if(!m(this,Tn,iu)){J(this,Tn,tm).call(this,t);return}(e=m(this,Ci).lastChild)==null||e.focus()}hideDropdown(){var t,e;(t=m(this,Ci))==null||t.classList.add("hidden"),m(this,ka).ariaExpanded="false",(e=m(this,ju))==null||e.abort(),z(this,ju,null)}_hideDropdownFromKeyboard(){var t;if(!m(this,LZ)){if(!m(this,Tn,iu)){(t=m(this,ld))==null||t.unselect();return}this.hideDropdown(),m(this,ka).focus({preventScroll:!0,focusVisible:m(this,Cy)})}}updateColor(t){if(m(this,Jm)&&(m(this,Jm).style.backgroundColor=t),!m(this,Ci))return;const e=m(this,Ac).highlightColors.values();for(const n of m(this,Ci).children)n.ariaSelected=e.next().value===t.toUpperCase()}destroy(){var t,e;(t=m(this,ka))==null||t.remove(),z(this,ka,null),z(this,Jm,null),(e=m(this,Ci))==null||e.remove(),z(this,Ci,null)}};ka=new WeakMap,Jm=new WeakMap,YZ=new WeakMap,Ci=new WeakMap,Cy=new WeakMap,LZ=new WeakMap,ld=new WeakMap,Fy=new WeakMap,ju=new WeakMap,Ac=new WeakMap,Jy=new WeakMap,Tn=new WeakSet,nL=function(){const t=document.createElement("div"),e=m(this,Ac)._signal;t.addEventListener("contextmenu",Sc,{signal:e}),t.className="dropdown",t.role="listbox",t.ariaMultiSelectable="false",t.ariaOrientation="vertical",t.setAttribute("data-l10n-id","pdfjs-editor-colorpicker-dropdown"),m(this,ld)&&(t.id=`${m(this,ld).id}_colorpicker_dropdown`);for(const[n,i]of m(this,Ac).highlightColors){const s=document.createElement("button");s.tabIndex="0",s.role="option",s.setAttribute("data-color",i),s.title=n,s.setAttribute("data-l10n-id",m(ua,Jy)[n]);const a=document.createElement("span");s.append(a),a.className="swatch",a.style.backgroundColor=i,s.ariaSelected=i===m(this,YZ),s.addEventListener("click",J(this,Tn,iL).bind(this,i),{signal:e}),t.append(s)}return t.addEventListener("keydown",J(this,Tn,sL).bind(this),{signal:e}),t},iL=function(t,e){e.stopPropagation(),m(this,Fy).dispatch("switchannotationeditorparams",{source:this,type:_l.HIGHLIGHT_COLOR,value:t}),this.updateColor(t)},sL=function(t){ua._keyboardManager.exec(this,t)},tm=function(t){if(m(this,Tn,iu)){this.hideDropdown();return}if(z(this,Cy,t.detail===0),m(this,ju)||(z(this,ju,new AbortController),window.addEventListener("pointerdown",J(this,Tn,Hk).bind(this),{signal:m(this,Ac).combinedSignal(m(this,ju))})),m(this,ka).ariaExpanded="true",m(this,Ci)){m(this,Ci).classList.remove("hidden");return}const e=z(this,Ci,J(this,Tn,nL).call(this));m(this,ka).append(e)},Hk=function(t){var e;(e=m(this,Ci))!=null&&e.contains(t.target)||this.hideDropdown()},iu=function(){return m(this,Ci)&&!m(this,Ci).classList.contains("hidden")},k(ua,Jy,null);let vM=ua;var Fr,vy,VZ,Uy;const am=class am{constructor(t){k(this,Fr,null);k(this,vy,null);k(this,VZ,null);z(this,vy,t),z(this,VZ,t._uiManager),m(am,Uy)||z(am,Uy,Object.freeze({freetext:"pdfjs-editor-color-picker-free-text-input",ink:"pdfjs-editor-color-picker-ink-input"}))}renderButton(){if(m(this,Fr))return m(this,Fr);const{editorType:t,colorType:e,colorValue:n}=m(this,vy),i=z(this,Fr,document.createElement("input"));return i.type="color",i.value=n||"#000000",i.className="basicColorPicker",i.tabIndex=0,i.setAttribute("data-l10n-id",m(am,Uy)[t]),i.addEventListener("input",()=>{m(this,VZ).updateParams(e,i.value)},{signal:m(this,VZ)._signal}),i}update(t){m(this,Fr)&&(m(this,Fr).value=t)}destroy(){var t;(t=m(this,Fr))==null||t.remove(),z(this,Fr,null)}hideDropdown(){}};Fr=new WeakMap,vy=new WeakMap,VZ=new WeakMap,Uy=new WeakMap,k(am,Uy,null);let UM=am;function nx(l){return Math.floor(Math.max(0,Math.min(1,l))*255).toString(16).padStart(2,"0")}function Qp(l){return Math.max(0,Math.min(255,255*l))}class ix{static CMYK_G([t,e,n,i]){return["G",1-Math.min(1,.3*t+.59*n+.11*e+i)]}static G_CMYK([t]){return["CMYK",0,0,0,1-t]}static G_RGB([t]){return["RGB",t,t,t]}static G_rgb([t]){return t=Qp(t),[t,t,t]}static G_HTML([t]){const e=nx(t);return`#${e}${e}${e}`}static RGB_G([t,e,n]){return["G",.3*t+.59*e+.11*n]}static RGB_rgb(t){return t.map(Qp)}static RGB_HTML(t){return`#${t.map(nx).join("")}`}static T_HTML(){return"#00000000"}static T_rgb(){return[null]}static CMYK_RGB([t,e,n,i]){return["RGB",1-Math.min(1,t+i),1-Math.min(1,n+i),1-Math.min(1,e+i)]}static CMYK_rgb([t,e,n,i]){return[Qp(1-Math.min(1,t+i)),Qp(1-Math.min(1,n+i)),Qp(1-Math.min(1,e+i))]}static CMYK_HTML(t){const e=this.CMYK_RGB(t).slice(1);return this.RGB_HTML(e)}static RGB_CMYK([t,e,n]){const i=1-t,s=1-e,a=1-n,c=Math.min(i,s,a);return["CMYK",i,s,a,c]}}class vq{create(t,e,n=!1){if(t<=0||e<=0)throw new Error("Invalid SVG dimensions");const i=this._createSVG("svg:svg");return i.setAttribute("version","1.1"),n||(i.setAttribute("width",`${t}px`),i.setAttribute("height",`${e}px`)),i.setAttribute("preserveAspectRatio","none"),i.setAttribute("viewBox",`0 0 ${t} ${e}`),i}createElement(t){if(typeof t!="string")throw new Error("Invalid SVG element type");return this._createSVG(t)}_createSVG(t){Xn("Abstract method `_createSVG` called.")}}class EM extends vq{_createSVG(t){return document.createElementNS(Io,t)}}class Qk{static setupStorage(t,e,n,i,s){const a=i.getValue(e,{value:null});switch(n.name){case"textarea":if(a.value!==null&&(t.textContent=a.value),s==="print")break;t.addEventListener("input",c=>{i.setValue(e,{value:c.target.value})});break;case"input":if(n.attributes.type==="radio"||n.attributes.type==="checkbox"){if(a.value===n.attributes.xfaOn?t.setAttribute("checked",!0):a.value===n.attributes.xfaOff&&t.removeAttribute("checked"),s==="print")break;t.addEventListener("change",c=>{i.setValue(e,{value:c.target.checked?c.target.getAttribute("xfaOn"):c.target.getAttribute("xfaOff")})})}else{if(a.value!==null&&t.setAttribute("value",a.value),s==="print")break;t.addEventListener("input",c=>{i.setValue(e,{value:c.target.value})})}break;case"select":if(a.value!==null){t.setAttribute("value",a.value);for(const c of n.children)c.attributes.value===a.value?c.attributes.selected=!0:c.attributes.hasOwnProperty("selected")&&delete c.attributes.selected}t.addEventListener("input",c=>{const o=c.target.options,d=o.selectedIndex===-1?"":o[o.selectedIndex].value;i.setValue(e,{value:d})});break}}static setAttributes({html:t,element:e,storage:n=null,intent:i,linkService:s}){const{attributes:a}=e,c=t instanceof HTMLAnchorElement;a.type==="radio"&&(a.name=`${a.name}-${i}`);for(const[o,d]of Object.entries(a))if(d!=null)switch(o){case"class":d.length&&t.setAttribute(o,d.join(" "));break;case"dataId":break;case"id":t.setAttribute("data-element-id",d);break;case"style":Object.assign(t.style,d);break;case"textContent":t.textContent=d;break;default:(!c||o!=="href"&&o!=="newWindow")&&t.setAttribute(o,d)}c&&s.addLinkAttributes(t,a.href,a.newWindow),n&&a.dataId&&this.setupStorage(t,a.dataId,e,n)}static render(t){var b,p;const e=t.annotationStorage,n=t.linkService,i=t.xfaHtml,s=t.intent||"display",a=document.createElement(i.name);i.attributes&&this.setAttributes({html:a,element:i,intent:s,linkService:n});const c=s!=="richText",o=t.div;if(o.append(a),t.viewport){const y=`matrix(${t.viewport.transform.join(",")})`;o.style.transform=y}c&&o.setAttribute("class","xfaLayer xfaFont");const d=[];if(i.children.length===0){if(i.value){const y=document.createTextNode(i.value);a.append(y),c&&j2.shouldBuildText(i.name)&&d.push(y)}return{textDivs:d}}const h=[[i,-1,a]];for(;h.length>0;){const[y,M,T]=h.at(-1);if(M+1===y.children.length){h.pop();continue}const Y=y.children[++h.at(-1)[1]];if(Y===null)continue;const{name:L}=Y;if(L==="#text"){const g=document.createTextNode(Y.value);d.push(g),T.append(g);continue}const x=(b=Y==null?void 0:Y.attributes)!=null&&b.xmlns?document.createElementNS(Y.attributes.xmlns,L):document.createElement(L);if(T.append(x),Y.attributes&&this.setAttributes({html:x,element:Y,storage:e,intent:s,linkService:n}),((p=Y.children)==null?void 0:p.length)>0)h.push([Y,-1,x]);else if(Y.value){const g=document.createTextNode(Y.value);c&&j2.shouldBuildText(L)&&d.push(g),x.append(g)}}for(const y of o.querySelectorAll(".xfaNonInteractive input, .xfaNonInteractive textarea"))y.setAttribute("readOnly",!0);return{textDivs:d}}static update(t){const e=`matrix(${t.viewport.transform.join(",")})`;t.div.style.transform=e,t.div.hidden=!1}}const Uq=9,Nh=new WeakSet,Eq=new Date().getTimezoneOffset()*60*1e3;class sx{static create(t){switch(t.data.annotationType){case Ti.LINK:return new qV(t);case Ti.TEXT:return new Kq(t);case Ti.WIDGET:switch(t.data.fieldType){case"Tx":return new Pq(t);case"Btn":return t.data.radioButton?new qk(t):t.data.checkBox?new Qq(t):new Bq(t);case"Ch":return new Aq(t);case"Sig":return new Hq(t)}return new zh(t);case Ti.POPUP:return new cL(t);case Ti.FREETEXT:return new sD(t);case Ti.LINE:return new qq(t);case Ti.SQUARE:return new $q(t);case Ti.CIRCLE:return new t$(t);case Ti.POLYLINE:return new aD(t);case Ti.CARET:return new l$(t);case Ti.INK:return new $V(t);case Ti.POLYGON:return new e$(t);case Ti.HIGHLIGHT:return new cD(t);case Ti.UNDERLINE:return new n$(t);case Ti.SQUIGGLY:return new i$(t);case Ti.STRIKEOUT:return new s$(t);case Ti.STAMP:return new rD(t);case Ti.FILEATTACHMENT:return new a$(t);default:return new Wi(t)}}}var vm,IZ,nd,Mh,Bk,aL;const aI=class aI{constructor(t,{isRenderable:e=!1,ignoreBorder:n=!1,createQuadrilaterals:i=!1}={}){k(this,Mh);k(this,vm,null);k(this,IZ,!1);k(this,nd,null);this.isRenderable=e,this.data=t.data,this.layer=t.layer,this.linkService=t.linkService,this.downloadManager=t.downloadManager,this.imageResourcesPath=t.imageResourcesPath,this.renderForms=t.renderForms,this.svgFactory=t.svgFactory,this.annotationStorage=t.annotationStorage,this.enableComment=t.enableComment,this.enableScripting=t.enableScripting,this.hasJSActions=t.hasJSActions,this._fieldObjects=t.fieldObjects,this.parent=t.parent,e&&(this.container=this._createContainer(n)),i&&this._createQuadrilaterals()}static _hasPopupData({contentsObj:t,richText:e}){return!!(t!=null&&t.str||e!=null&&e.str)}get _isEditable(){return this.data.isEditable}get hasPopupData(){return aI._hasPopupData(this.data)}get hasCommentButton(){return this.enableComment&&this._isEditable&&this.hasPopupElement}get commentButtonPosition(){const{quadPoints:t,rect:e}=this.data;let n=-1/0,i=-1/0;if((t==null?void 0:t.length)>=8){for(let s=0;s<t.length;s+=8)t[s+1]>i?(i=t[s+1],n=t[s+2]):t[s+1]===i&&(n=Math.max(n,t[s+2]));return[n,i]}return e?[e[2],e[3]]:null}get commentButtonColor(){if(!this.data.color)return null;const[t,e,n]=this.data.color,s=255*(1-(this.data.opacity??1));return J(this,Mh,Bk).call(this,Math.min(t+s,255),Math.min(e+s,255),Math.min(n+s,255))}_normalizePoint(t){const{page:{view:e},viewport:{rawDims:{pageWidth:n,pageHeight:i,pageX:s,pageY:a}}}=this.parent;return t[1]=e[3]-t[1]+e[1],t[0]=100*(t[0]-s)/n,t[1]=100*(t[1]-a)/i,t}updateEdited(t){var s;if(!this.container)return;t.rect&&(m(this,vm)||z(this,vm,{rect:this.data.rect.slice(0)}));const{rect:e,popup:n}=t;e&&J(this,Mh,aL).call(this,e);let i=((s=m(this,nd))==null?void 0:s.popup)||this.popup;!i&&(n!=null&&n.text)&&(this._createPopup(n),i=m(this,nd).popup),i&&(i.updateEdited(t),n!=null&&n.deleted&&(i.remove(),z(this,nd,null),this.popup=null))}resetEdited(){var t;m(this,vm)&&(J(this,Mh,aL).call(this,m(this,vm).rect),(t=m(this,nd))==null||t.popup.resetEdited(),z(this,vm,null))}_createContainer(t){const{data:e,parent:{page:n,viewport:i}}=this,s=document.createElement("section");s.setAttribute("data-annotation-id",e.id),!(this instanceof zh)&&!(this instanceof qV)&&(s.tabIndex=0);const{style:a}=s;if(a.zIndex=this.parent.zIndex,this.parent.zIndex+=2,e.alternativeText&&(s.title=e.alternativeText),e.noRotate&&s.classList.add("norotate"),!e.rect||this instanceof cL){const{rotation:T}=e;return!e.hasOwnCanvas&&T!==0&&this.setRotation(T,s),s}const{width:c,height:o}=this;if(!t&&e.borderStyle.width>0){a.borderWidth=`${e.borderStyle.width}px`;const T=e.borderStyle.horizontalCornerRadius,Y=e.borderStyle.verticalCornerRadius;if(T>0||Y>0){const x=`calc(${T}px * var(--total-scale-factor)) / calc(${Y}px * var(--total-scale-factor))`;a.borderRadius=x}else if(this instanceof qk){const x=`calc(${c}px * var(--total-scale-factor)) / calc(${o}px * var(--total-scale-factor))`;a.borderRadius=x}switch(e.borderStyle.style){case yb.SOLID:a.borderStyle="solid";break;case yb.DASHED:a.borderStyle="dashed";break;case yb.BEVELED:Ll("Unimplemented border style: beveled");break;case yb.INSET:Ll("Unimplemented border style: inset");break;case yb.UNDERLINE:a.borderBottomStyle="solid";break}const L=e.borderColor||null;L?(z(this,IZ,!0),a.borderColor=Ae.makeHexColor(L[0]|0,L[1]|0,L[2]|0)):a.borderWidth=0}const d=Ae.normalizeRect([e.rect[0],n.view[3]-e.rect[1]+n.view[1],e.rect[2],n.view[3]-e.rect[3]+n.view[1]]),{pageWidth:h,pageHeight:b,pageX:p,pageY:y}=i.rawDims;a.left=`${100*(d[0]-p)/h}%`,a.top=`${100*(d[1]-y)/b}%`;const{rotation:M}=e;return e.hasOwnCanvas||M===0?(a.width=`${100*c/h}%`,a.height=`${100*o/b}%`):this.setRotation(M,s),s}setRotation(t,e=this.container){if(!this.data.rect)return;const{pageWidth:n,pageHeight:i}=this.parent.viewport.rawDims;let{width:s,height:a}=this;t%180!==0&&([s,a]=[a,s]),e.style.width=`${100*s/n}%`,e.style.height=`${100*a/i}%`,e.setAttribute("data-main-rotation",(360-t)%360)}get _commonActions(){const t=(e,n,i)=>{const s=i.detail[e],a=s[0],c=s.slice(1);i.target.style[n]=ix[`${a}_HTML`](c),this.annotationStorage.setValue(this.data.id,{[n]:ix[`${a}_rgb`](c)})};return vl(this,"_commonActions",{display:e=>{const{display:n}=e.detail,i=n%2===1;this.container.style.visibility=i?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{noView:i,noPrint:n===1||n===2})},print:e=>{this.annotationStorage.setValue(this.data.id,{noPrint:!e.detail.print})},hidden:e=>{const{hidden:n}=e.detail;this.container.style.visibility=n?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{noPrint:n,noView:n})},focus:e=>{setTimeout(()=>e.target.focus({preventScroll:!1}),0)},userName:e=>{e.target.title=e.detail.userName},readonly:e=>{e.target.disabled=e.detail.readonly},required:e=>{this._setRequired(e.target,e.detail.required)},bgColor:e=>{t("bgColor","backgroundColor",e)},fillColor:e=>{t("fillColor","backgroundColor",e)},fgColor:e=>{t("fgColor","color",e)},textColor:e=>{t("textColor","color",e)},borderColor:e=>{t("borderColor","borderColor",e)},strokeColor:e=>{t("strokeColor","borderColor",e)},rotation:e=>{const n=e.detail.rotation;this.setRotation(n),this.annotationStorage.setValue(this.data.id,{rotation:n})}})}_dispatchEventFromSandbox(t,e){const n=this._commonActions;for(const i of Object.keys(e.detail)){const s=t[i]||n[i];s==null||s(e)}}_setDefaultPropertiesFromJS(t){if(!this.enableScripting)return;const e=this.annotationStorage.getRawValue(this.data.id);if(!e)return;const n=this._commonActions;for(const[i,s]of Object.entries(e)){const a=n[i];if(a){const c={detail:{[i]:s},target:t};a(c),delete e[i]}}}_createQuadrilaterals(){if(!this.container)return;const{quadPoints:t}=this.data;if(!t)return;const[e,n,i,s]=this.data.rect.map(T=>Math.fround(T));if(t.length===8){const[T,Y,L,x]=t.subarray(2,6);if(i===T&&s===Y&&e===L&&n===x)return}const{style:a}=this.container;let c;if(m(this,IZ)){const{borderColor:T,borderWidth:Y}=a;a.borderWidth=0,c=["url('data:image/svg+xml;utf8,",'<svg xmlns="http://www.w3.org/2000/svg"',' preserveAspectRatio="none" viewBox="0 0 1 1">',`<g fill="transparent" stroke="${T}" stroke-width="${Y}">`],this.container.classList.add("hasBorder")}const o=i-e,d=s-n,{svgFactory:h}=this,b=h.createElement("svg");b.classList.add("quadrilateralsContainer"),b.setAttribute("width",0),b.setAttribute("height",0),b.role="none";const p=h.createElement("defs");b.append(p);const y=h.createElement("clipPath"),M=`clippath_${this.data.id}`;y.setAttribute("id",M),y.setAttribute("clipPathUnits","objectBoundingBox"),p.append(y);for(let T=2,Y=t.length;T<Y;T+=8){const L=t[T],x=t[T+1],g=t[T+2],F=t[T+3],j=h.createElement("rect"),D=(g-e)/o,_=(s-x)/d,ut=(L-g)/o,K=(x-F)/d;j.setAttribute("x",D),j.setAttribute("y",_),j.setAttribute("width",ut),j.setAttribute("height",K),y.append(j),c==null||c.push(`<rect vector-effect="non-scaling-stroke" x="${D}" y="${_}" width="${ut}" height="${K}"/>`)}m(this,IZ)&&(c.push("</g></svg>')"),a.backgroundImage=c.join("")),this.container.append(b),this.container.style.clipPath=`url(#${M})`}_createPopup(t=null){const{data:e}=this;let n,i;t?(n={str:t.text},i=t.date):(n=e.contentsObj,i=e.modificationDate);const s=z(this,nd,new cL({data:{color:e.color,titleObj:e.titleObj,modificationDate:i,contentsObj:n,richText:e.richText,parentRect:e.rect,borderStyle:0,id:`popup_${e.id}`,rotation:e.rotation,noRotate:!0},linkService:this.linkService,parent:this.parent,elements:[this]}));this.parent.div.append(s.render())}get hasPopupElement(){return!!(m(this,nd)||this.popup||this.data.popupRef)}render(){Xn("Abstract method `AnnotationElement.render` called")}_getElementsByName(t,e=null){const n=[];if(this._fieldObjects){const i=this._fieldObjects[t];if(i)for(const{page:s,id:a,exportValues:c}of i){if(s===-1||a===e)continue;const o=typeof c=="string"?c:null,d=document.querySelector(`[data-element-id="${a}"]`);if(d&&!Nh.has(d)){Ll(`_getElementsByName - element not allowed: ${a}`);continue}n.push({id:a,exportValue:o,domElement:d})}return n}for(const i of document.getElementsByName(t)){const{exportValue:s}=i,a=i.getAttribute("data-element-id");a!==e&&Nh.has(i)&&n.push({id:a,exportValue:s,domElement:i})}return n}show(){var t;this.container&&(this.container.hidden=!1),(t=this.popup)==null||t.maybeShow()}hide(){var t;this.container&&(this.container.hidden=!0),(t=this.popup)==null||t.forceHide()}getElementsToTriggerPopup(){return this.container}addHighlightArea(){const t=this.getElementsToTriggerPopup();if(Array.isArray(t))for(const e of t)e.classList.add("highlightArea");else t.classList.add("highlightArea")}_editOnDoubleClick(){if(!this._isEditable)return;const{annotationEditorType:t,data:{id:e}}=this;this.container.addEventListener("dblclick",()=>{var n;(n=this.linkService.eventBus)==null||n.dispatch("switchannotationeditormode",{source:this,mode:t,editId:e,mustEnterInEditMode:!0})})}get width(){return this.data.rect[2]-this.data.rect[0]}get height(){return this.data.rect[3]-this.data.rect[1]}};vm=new WeakMap,IZ=new WeakMap,nd=new WeakMap,Mh=new WeakSet,Bk=function(t,e,n){t/=255,e/=255,n/=255;const i=Math.max(t,e,n),s=Math.min(t,e,n),a=(i+s)/2,c=((1+Math.sqrt(a))/2*100).toFixed(2);if(i===s)return`hsl(0, 0%, ${c}%)`;const o=i-s;let d;i===t?d=(e-n)/o+(e<n?6:0):i===e?d=(n-t)/o+2:d=(t-e)/o+4,d=(d*60).toFixed(2);const h=(o/(1-Math.abs(2*a-1))*100).toFixed(2);return`hsl(${d}, ${h}%, ${c}%)`},aL=function(t){const{container:{style:e},data:{rect:n,rotation:i},parent:{viewport:{rawDims:{pageWidth:s,pageHeight:a,pageX:c,pageY:o}}}}=this;n==null||n.splice(0,4,...t),e.left=`${100*(t[0]-c)/s}%`,e.top=`${100*(a-t[3]+o)/a}%`,i===0?(e.width=`${100*(t[2]-t[0])/s}%`,e.height=`${100*(t[3]-t[1])/a}%`):this.setRotation(i)};let Wi=aI;var Ba,em,Ak,_k;class qV extends Wi{constructor(e,n=null){super(e,{isRenderable:!0,ignoreBorder:!!(n!=null&&n.ignoreBorder),createQuadrilaterals:!0});k(this,Ba);this.isTooltipOnly=e.data.isTooltipOnly}render(){const{data:e,linkService:n}=this,i=document.createElement("a");i.setAttribute("data-element-id",e.id);let s=!1;return e.url?(n.addLinkAttributes(i,e.url,e.newWindow),s=!0):e.action?(this._bindNamedAction(i,e.action,e.overlaidText),s=!0):e.attachment?(J(this,Ba,Ak).call(this,i,e.attachment,e.overlaidText,e.attachmentDest),s=!0):e.setOCGState?(J(this,Ba,_k).call(this,i,e.setOCGState,e.overlaidText),s=!0):e.dest?(this._bindLink(i,e.dest,e.overlaidText),s=!0):(e.actions&&(e.actions.Action||e.actions["Mouse Up"]||e.actions["Mouse Down"])&&this.enableScripting&&this.hasJSActions&&(this._bindJSAction(i,e),s=!0),e.resetForm?(this._bindResetFormAction(i,e.resetForm),s=!0):this.isTooltipOnly&&!s&&(this._bindLink(i,""),s=!0)),this.container.classList.add("linkAnnotation"),s&&this.container.append(i),this.container}_bindLink(e,n,i=""){e.href=this.linkService.getDestinationHash(n),e.onclick=()=>(n&&this.linkService.goToDestination(n),!1),(n||n==="")&&J(this,Ba,em).call(this),i&&(e.title=i)}_bindNamedAction(e,n,i=""){e.href=this.linkService.getAnchorUrl(""),e.onclick=()=>(this.linkService.executeNamedAction(n),!1),i&&(e.title=i),J(this,Ba,em).call(this)}_bindJSAction(e,n){e.href=this.linkService.getAnchorUrl("");const i=new Map([["Action","onclick"],["Mouse Up","onmouseup"],["Mouse Down","onmousedown"]]);for(const s of Object.keys(n.actions)){const a=i.get(s);a&&(e[a]=()=>{var c;return(c=this.linkService.eventBus)==null||c.dispatch("dispatcheventinsandbox",{source:this,detail:{id:n.id,name:s}}),!1})}n.overlaidText&&(e.title=n.overlaidText),e.onclick||(e.onclick=()=>!1),J(this,Ba,em).call(this)}_bindResetFormAction(e,n){const i=e.onclick;if(i||(e.href=this.linkService.getAnchorUrl("")),J(this,Ba,em).call(this),!this._fieldObjects){Ll('_bindResetFormAction - "resetForm" action not supported, ensure that the `fieldObjects` parameter is provided.'),i||(e.onclick=()=>!1);return}e.onclick=()=>{var b;i==null||i();const{fields:s,refs:a,include:c}=n,o=[];if(s.length!==0||a.length!==0){const p=new Set(a);for(const y of s){const M=this._fieldObjects[y]||[];for(const{id:T}of M)p.add(T)}for(const y of Object.values(this._fieldObjects))for(const M of y)p.has(M.id)===c&&o.push(M)}else for(const p of Object.values(this._fieldObjects))o.push(...p);const d=this.annotationStorage,h=[];for(const p of o){const{id:y}=p;switch(h.push(y),p.type){case"text":{const T=p.defaultValue||"";d.setValue(y,{value:T});break}case"checkbox":case"radiobutton":{const T=p.defaultValue===p.exportValues;d.setValue(y,{value:T});break}case"combobox":case"listbox":{const T=p.defaultValue||"";d.setValue(y,{value:T});break}default:continue}const M=document.querySelector(`[data-element-id="${y}"]`);if(M){if(!Nh.has(M)){Ll(`_bindResetFormAction - element not allowed: ${y}`);continue}}else continue;M.dispatchEvent(new Event("resetform"))}return this.enableScripting&&((b=this.linkService.eventBus)==null||b.dispatch("dispatcheventinsandbox",{source:this,detail:{id:"app",ids:h,name:"ResetForm"}})),!1}}}Ba=new WeakSet,em=function(){this.container.setAttribute("data-internal-link","")},Ak=function(e,n,i="",s=null){e.href=this.linkService.getAnchorUrl(""),n.description?e.title=n.description:i&&(e.title=i),e.onclick=()=>{var a;return(a=this.downloadManager)==null||a.openOrDownloadData(n.content,n.filename,s),!1},J(this,Ba,em).call(this)},_k=function(e,n,i=""){e.href=this.linkService.getAnchorUrl(""),e.onclick=()=>(this.linkService.executeSetOCGState(n),!1),i&&(e.title=i),J(this,Ba,em).call(this)};class Kq extends Wi{constructor(t){super(t,{isRenderable:!0})}render(){this.container.classList.add("textAnnotation");const t=document.createElement("img");return t.src=this.imageResourcesPath+"annotation-"+this.data.name.toLowerCase()+".svg",t.setAttribute("data-l10n-id","pdfjs-text-annotation-type"),t.setAttribute("data-l10n-args",JSON.stringify({type:this.data.name})),!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container.append(t),this.container}}class zh extends Wi{render(){return this.container}showElementAndHideCanvas(t){var e;this.data.hasOwnCanvas&&(((e=t.previousSibling)==null?void 0:e.nodeName)==="CANVAS"&&(t.previousSibling.hidden=!0),t.hidden=!1)}_getKeyModifier(t){return Ws.platform.isMac?t.metaKey:t.ctrlKey}_setEventListener(t,e,n,i,s){n.includes("mouse")?t.addEventListener(n,a=>{var c;(c=this.linkService.eventBus)==null||c.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:i,value:s(a),shift:a.shiftKey,modifier:this._getKeyModifier(a)}})}):t.addEventListener(n,a=>{var c;if(n==="blur"){if(!e.focused||!a.relatedTarget)return;e.focused=!1}else if(n==="focus"){if(e.focused)return;e.focused=!0}s&&((c=this.linkService.eventBus)==null||c.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:i,value:s(a)}}))})}_setEventListeners(t,e,n,i){var s,a,c;for(const[o,d]of n)(d==="Action"||(s=this.data.actions)!=null&&s[d])&&((d==="Focus"||d==="Blur")&&(e||(e={focused:!1})),this._setEventListener(t,e,o,d,i),d==="Focus"&&!((a=this.data.actions)!=null&&a.Blur)?this._setEventListener(t,e,"blur","Blur",null):d==="Blur"&&!((c=this.data.actions)!=null&&c.Focus)&&this._setEventListener(t,e,"focus","Focus",null))}_setBackgroundColor(t){const e=this.data.backgroundColor||null;t.style.backgroundColor=e===null?"transparent":Ae.makeHexColor(e[0],e[1],e[2])}_setTextStyle(t){const e=["left","center","right"],{fontColor:n}=this.data.defaultAppearanceData,i=this.data.defaultAppearanceData.fontSize||Uq,s=t.style;let a;const c=2,o=d=>Math.round(10*d)/10;if(this.data.multiLine){const d=Math.abs(this.data.rect[3]-this.data.rect[1]-c),h=Math.round(d/(bX*i))||1,b=d/h;a=Math.min(i,o(b/bX))}else{const d=Math.abs(this.data.rect[3]-this.data.rect[1]-c);a=Math.min(i,o(d/bX))}s.fontSize=`calc(${a}px * var(--total-scale-factor))`,s.color=Ae.makeHexColor(n[0],n[1],n[2]),this.data.textAlignment!==null&&(s.textAlign=e[this.data.textAlignment])}_setRequired(t,e){e?t.setAttribute("required",!0):t.removeAttribute("required"),t.setAttribute("aria-required",e)}}class Pq extends zh{constructor(t){const e=t.renderForms||t.data.hasOwnCanvas||!t.data.hasAppearance&&!!t.data.fieldValue;super(t,{isRenderable:e})}setPropertyOnSiblings(t,e,n,i){const s=this.annotationStorage;for(const a of this._getElementsByName(t.name,t.id))a.domElement&&(a.domElement[e]=n),s.setValue(a.id,{[i]:n})}render(){var i,s;const t=this.annotationStorage,e=this.data.id;this.container.classList.add("textWidgetAnnotation");let n=null;if(this.renderForms){const a=t.getValue(e,{value:this.data.fieldValue});let c=a.value||"";const o=t.getValue(e,{charLimit:this.data.maxLen}).charLimit;o&&c.length>o&&(c=c.slice(0,o));let d=a.formattedValue||((i=this.data.textContent)==null?void 0:i.join(`
|
||
`))||null;d&&this.data.comb&&(d=d.replaceAll(/\s+/g,""));const h={userValue:c,formattedValue:d,lastCommittedValue:null,commitKey:1,focused:!1};this.data.multiLine?(n=document.createElement("textarea"),n.textContent=d??c,this.data.doNotScroll&&(n.style.overflowY="hidden")):(n=document.createElement("input"),n.type=this.data.password?"password":"text",n.setAttribute("value",d??c),this.data.doNotScroll&&(n.style.overflowX="hidden")),this.data.hasOwnCanvas&&(n.hidden=!0),Nh.add(n),n.setAttribute("data-element-id",e),n.disabled=this.data.readOnly,n.name=this.data.fieldName,n.tabIndex=0;const{datetimeFormat:b,datetimeType:p,timeStep:y}=this.data,M=!!p&&this.enableScripting;b&&(n.title=b),this._setRequired(n,this.data.required),o&&(n.maxLength=o),n.addEventListener("input",Y=>{t.setValue(e,{value:Y.target.value}),this.setPropertyOnSiblings(n,"value",Y.target.value,"value"),h.formattedValue=null}),n.addEventListener("resetform",Y=>{const L=this.data.defaultFieldValue??"";n.value=h.userValue=L,h.formattedValue=null});let T=Y=>{const{formattedValue:L}=h;L!=null&&(Y.target.value=L),Y.target.scrollLeft=0};if(this.enableScripting&&this.hasJSActions){n.addEventListener("focus",L=>{var g;if(h.focused)return;const{target:x}=L;if(M&&(x.type=p,y&&(x.step=y)),h.userValue){const F=h.userValue;if(M)if(p==="time"){const j=new Date(F),D=[j.getHours(),j.getMinutes(),j.getSeconds()];x.value=D.map(_=>_.toString().padStart(2,"0")).join(":")}else x.value=new Date(F-Eq).toISOString().split(p==="date"?"T":".",1)[0];else x.value=F}h.lastCommittedValue=x.value,h.commitKey=1,(g=this.data.actions)!=null&&g.Focus||(h.focused=!0)}),n.addEventListener("updatefromsandbox",L=>{this.showElementAndHideCanvas(L.target);const x={value(g){h.userValue=g.detail.value??"",M||t.setValue(e,{value:h.userValue.toString()}),g.target.value=h.userValue},formattedValue(g){const{formattedValue:F}=g.detail;h.formattedValue=F,F!=null&&g.target!==document.activeElement&&(g.target.value=F);const j={formattedValue:F};M&&(j.value=F),t.setValue(e,j)},selRange(g){g.target.setSelectionRange(...g.detail.selRange)},charLimit:g=>{var _;const{charLimit:F}=g.detail,{target:j}=g;if(F===0){j.removeAttribute("maxLength");return}j.setAttribute("maxLength",F);let D=h.userValue;!D||D.length<=F||(D=D.slice(0,F),j.value=h.userValue=D,t.setValue(e,{value:D}),(_=this.linkService.eventBus)==null||_.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e,name:"Keystroke",value:D,willCommit:!0,commitKey:1,selStart:j.selectionStart,selEnd:j.selectionEnd}}))}};this._dispatchEventFromSandbox(x,L)}),n.addEventListener("keydown",L=>{var F;h.commitKey=1;let x=-1;if(L.key==="Escape"?x=0:L.key==="Enter"&&!this.data.multiLine?x=2:L.key==="Tab"&&(h.commitKey=3),x===-1)return;const{value:g}=L.target;h.lastCommittedValue!==g&&(h.lastCommittedValue=g,h.userValue=g,(F=this.linkService.eventBus)==null||F.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e,name:"Keystroke",value:g,willCommit:!0,commitKey:x,selStart:L.target.selectionStart,selEnd:L.target.selectionEnd}}))});const Y=T;T=null,n.addEventListener("blur",L=>{var F,j;if(!h.focused||!L.relatedTarget)return;(F=this.data.actions)!=null&&F.Blur||(h.focused=!1);const{target:x}=L;let{value:g}=x;if(M){if(g&&p==="time"){const D=g.split(":").map(_=>parseInt(_,10));g=new Date(2e3,0,1,D[0],D[1],D[2]||0).valueOf(),x.step=""}else g=new Date(g).valueOf();x.type="text"}h.userValue=g,h.lastCommittedValue!==g&&((j=this.linkService.eventBus)==null||j.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e,name:"Keystroke",value:g,willCommit:!0,commitKey:h.commitKey,selStart:L.target.selectionStart,selEnd:L.target.selectionEnd}})),Y(L)}),(s=this.data.actions)!=null&&s.Keystroke&&n.addEventListener("beforeinput",L=>{var K;h.lastCommittedValue=null;const{data:x,target:g}=L,{value:F,selectionStart:j,selectionEnd:D}=g;let _=j,ut=D;switch(L.inputType){case"deleteWordBackward":{const f=F.substring(0,j).match(/\w*[^\w]*$/);f&&(_-=f[0].length);break}case"deleteWordForward":{const f=F.substring(j).match(/^[^\w]*\w*/);f&&(ut+=f[0].length);break}case"deleteContentBackward":j===D&&(_-=1);break;case"deleteContentForward":j===D&&(ut+=1);break}L.preventDefault(),(K=this.linkService.eventBus)==null||K.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e,name:"Keystroke",value:F,change:x||"",willCommit:!1,selStart:_,selEnd:ut}})}),this._setEventListeners(n,h,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],L=>L.target.value)}if(T&&n.addEventListener("blur",T),this.data.comb){const L=(this.data.rect[2]-this.data.rect[0])/o;n.classList.add("comb"),n.style.letterSpacing=`calc(${L}px * var(--total-scale-factor) - 1ch)`}}else n=document.createElement("div"),n.textContent=this.data.fieldValue,n.style.verticalAlign="middle",n.style.display="table-cell",this.data.hasOwnCanvas&&(n.hidden=!0);return this._setTextStyle(n),this._setBackgroundColor(n),this._setDefaultPropertiesFromJS(n),this.container.append(n),this.container}}class Hq extends zh{constructor(t){super(t,{isRenderable:!!t.data.hasOwnCanvas})}}class Qq extends zh{constructor(t){super(t,{isRenderable:t.renderForms})}render(){const t=this.annotationStorage,e=this.data,n=e.id;let i=t.getValue(n,{value:e.exportValue===e.fieldValue}).value;typeof i=="string"&&(i=i!=="Off",t.setValue(n,{value:i})),this.container.classList.add("buttonWidgetAnnotation","checkBox");const s=document.createElement("input");return Nh.add(s),s.setAttribute("data-element-id",n),s.disabled=e.readOnly,this._setRequired(s,this.data.required),s.type="checkbox",s.name=e.fieldName,i&&s.setAttribute("checked",!0),s.setAttribute("exportValue",e.exportValue),s.tabIndex=0,s.addEventListener("change",a=>{const{name:c,checked:o}=a.target;for(const d of this._getElementsByName(c,n)){const h=o&&d.exportValue===e.exportValue;d.domElement&&(d.domElement.checked=h),t.setValue(d.id,{value:h})}t.setValue(n,{value:o})}),s.addEventListener("resetform",a=>{const c=e.defaultFieldValue||"Off";a.target.checked=c===e.exportValue}),this.enableScripting&&this.hasJSActions&&(s.addEventListener("updatefromsandbox",a=>{const c={value(o){o.target.checked=o.detail.value!=="Off",t.setValue(n,{value:o.target.checked})}};this._dispatchEventFromSandbox(c,a)}),this._setEventListeners(s,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],a=>a.target.checked)),this._setBackgroundColor(s),this._setDefaultPropertiesFromJS(s),this.container.append(s),this.container}}class qk extends zh{constructor(t){super(t,{isRenderable:t.renderForms})}render(){this.container.classList.add("buttonWidgetAnnotation","radioButton");const t=this.annotationStorage,e=this.data,n=e.id;let i=t.getValue(n,{value:e.fieldValue===e.buttonValue}).value;if(typeof i=="string"&&(i=i!==e.buttonValue,t.setValue(n,{value:i})),i)for(const a of this._getElementsByName(e.fieldName,n))t.setValue(a.id,{value:!1});const s=document.createElement("input");if(Nh.add(s),s.setAttribute("data-element-id",n),s.disabled=e.readOnly,this._setRequired(s,this.data.required),s.type="radio",s.name=e.fieldName,i&&s.setAttribute("checked",!0),s.tabIndex=0,s.addEventListener("change",a=>{const{name:c,checked:o}=a.target;for(const d of this._getElementsByName(c,n))t.setValue(d.id,{value:!1});t.setValue(n,{value:o})}),s.addEventListener("resetform",a=>{const c=e.defaultFieldValue;a.target.checked=c!=null&&c===e.buttonValue}),this.enableScripting&&this.hasJSActions){const a=e.buttonValue;s.addEventListener("updatefromsandbox",c=>{const o={value:d=>{const h=a===d.detail.value;for(const b of this._getElementsByName(d.target.name)){const p=h&&b.id===n;b.domElement&&(b.domElement.checked=p),t.setValue(b.id,{value:p})}}};this._dispatchEventFromSandbox(o,c)}),this._setEventListeners(s,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],c=>c.target.checked)}return this._setBackgroundColor(s),this._setDefaultPropertiesFromJS(s),this.container.append(s),this.container}}class Bq extends qV{constructor(t){super(t,{ignoreBorder:t.data.hasAppearance})}render(){const t=super.render();t.classList.add("buttonWidgetAnnotation","pushButton");const e=t.lastChild;return this.enableScripting&&this.hasJSActions&&e&&(this._setDefaultPropertiesFromJS(e),e.addEventListener("updatefromsandbox",n=>{this._dispatchEventFromSandbox({},n)})),t}}class Aq extends zh{constructor(t){super(t,{isRenderable:t.renderForms})}render(){this.container.classList.add("choiceWidgetAnnotation");const t=this.annotationStorage,e=this.data.id,n=t.getValue(e,{value:this.data.fieldValue}),i=document.createElement("select");Nh.add(i),i.setAttribute("data-element-id",e),i.disabled=this.data.readOnly,this._setRequired(i,this.data.required),i.name=this.data.fieldName,i.tabIndex=0;let s=this.data.combo&&this.data.options.length>0;this.data.combo||(i.size=this.data.options.length,this.data.multiSelect&&(i.multiple=!0)),i.addEventListener("resetform",h=>{const b=this.data.defaultFieldValue;for(const p of i.options)p.selected=p.value===b});for(const h of this.data.options){const b=document.createElement("option");b.textContent=h.displayValue,b.value=h.exportValue,n.value.includes(h.exportValue)&&(b.setAttribute("selected",!0),s=!1),i.append(b)}let a=null;if(s){const h=document.createElement("option");h.value=" ",h.setAttribute("hidden",!0),h.setAttribute("selected",!0),i.prepend(h),a=()=>{h.remove(),i.removeEventListener("input",a),a=null},i.addEventListener("input",a)}const c=h=>{const b=h?"value":"textContent",{options:p,multiple:y}=i;return y?Array.prototype.filter.call(p,M=>M.selected).map(M=>M[b]):p.selectedIndex===-1?null:p[p.selectedIndex][b]};let o=c(!1);const d=h=>{const b=h.target.options;return Array.prototype.map.call(b,p=>({displayValue:p.textContent,exportValue:p.value}))};return this.enableScripting&&this.hasJSActions?(i.addEventListener("updatefromsandbox",h=>{const b={value(p){a==null||a();const y=p.detail.value,M=new Set(Array.isArray(y)?y:[y]);for(const T of i.options)T.selected=M.has(T.value);t.setValue(e,{value:c(!0)}),o=c(!1)},multipleSelection(p){i.multiple=!0},remove(p){const y=i.options,M=p.detail.remove;y[M].selected=!1,i.remove(M),y.length>0&&Array.prototype.findIndex.call(y,Y=>Y.selected)===-1&&(y[0].selected=!0),t.setValue(e,{value:c(!0),items:d(p)}),o=c(!1)},clear(p){for(;i.length!==0;)i.remove(0);t.setValue(e,{value:null,items:[]}),o=c(!1)},insert(p){const{index:y,displayValue:M,exportValue:T}=p.detail.insert,Y=i.children[y],L=document.createElement("option");L.textContent=M,L.value=T,Y?Y.before(L):i.append(L),t.setValue(e,{value:c(!0),items:d(p)}),o=c(!1)},items(p){const{items:y}=p.detail;for(;i.length!==0;)i.remove(0);for(const M of y){const{displayValue:T,exportValue:Y}=M,L=document.createElement("option");L.textContent=T,L.value=Y,i.append(L)}i.options.length>0&&(i.options[0].selected=!0),t.setValue(e,{value:c(!0),items:d(p)}),o=c(!1)},indices(p){const y=new Set(p.detail.indices);for(const M of p.target.options)M.selected=y.has(M.index);t.setValue(e,{value:c(!0)}),o=c(!1)},editable(p){p.target.disabled=!p.detail.editable}};this._dispatchEventFromSandbox(b,h)}),i.addEventListener("input",h=>{var y;const b=c(!0),p=c(!1);t.setValue(e,{value:b}),h.preventDefault(),(y=this.linkService.eventBus)==null||y.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e,name:"Keystroke",value:o,change:p,changeEx:b,willCommit:!1,commitKey:1,keyDown:!1}})}),this._setEventListeners(i,null,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"],["input","Action"],["input","Validate"]],h=>h.target.value)):i.addEventListener("input",function(h){t.setValue(e,{value:c(!0)})}),this.data.combo&&this._setTextStyle(i),this._setBackgroundColor(i),this._setDefaultPropertiesFromJS(i),this.container.append(i),this.container}}class cL extends Wi{constructor(t){const{data:e,elements:n}=t;super(t,{isRenderable:Wi._hasPopupData(e)}),this.elements=n,this.popup=null}render(){const{container:t}=this;t.classList.add("popupAnnotation"),t.role="comment";const e=this.popup=new _q({container:this.container,color:this.data.color,titleObj:this.data.titleObj,modificationDate:this.data.modificationDate||this.data.creationDate,contentsObj:this.data.contentsObj,richText:this.data.richText,rect:this.data.rect,parentRect:this.data.parentRect||null,parent:this.parent,elements:this.elements,open:this.data.open,eventBus:this.linkService.eventBus}),n=[];for(const i of this.elements)i.popup=e,i.container.ariaHasPopup="dialog",n.push(i.data.id),i.addHighlightArea();return this.container.setAttribute("aria-controls",n.map(i=>`${KV}${i}`).join(",")),this.container}}var Um,oG,dG,Em,wZ,ri,id,Cu,sd,Ey,Ky,zZ,Jr,Da,ad,cd,Py,Fu,gZ,Hy,rd,xZ,Km,Ju,Hl,tM,$k,tD,eM,rL,eD,lD,nD,iD,lM,nM,oL;class _q{constructor({container:t,color:e,elements:n,titleObj:i,modificationDate:s,contentsObj:a,richText:c,parent:o,rect:d,parentRect:h,open:b,eventBus:p=null}){k(this,Hl);k(this,Um,J(this,Hl,nD).bind(this));k(this,oG,J(this,Hl,oL).bind(this));k(this,dG,J(this,Hl,nM).bind(this));k(this,Em,J(this,Hl,lM).bind(this));k(this,wZ,null);k(this,ri,null);k(this,id,null);k(this,Cu,null);k(this,sd,null);k(this,Ey,null);k(this,Ky,null);k(this,zZ,null);k(this,Jr,!1);k(this,Da,null);k(this,ad,null);k(this,cd,null);k(this,Py,null);k(this,Fu,null);k(this,gZ,null);k(this,Hy,null);k(this,rd,null);k(this,xZ,null);k(this,Km,null);k(this,Ju,!1);z(this,ri,t),z(this,xZ,i),z(this,id,a),z(this,rd,c),z(this,Ky,o),z(this,wZ,e),z(this,Hy,d),z(this,zZ,h),z(this,sd,n),z(this,Ey,p),z(this,Cu,jM.toDateObject(s)),this.trigger=n.flatMap(y=>y.getElementsToTriggerPopup()),J(this,Hl,tM).call(this),m(this,ri).hidden=!0,b&&J(this,Hl,lM).call(this)}render(){var i;if(m(this,Da))return;const t=z(this,Da,document.createElement("div"));if(t.className="popup",m(this,wZ)){const s=t.style.outlineColor=Ae.makeHexColor(...m(this,wZ));t.style.backgroundColor=`color-mix(in srgb, ${s} 30%, white)`}const e=document.createElement("span");if(e.className="header",(i=m(this,xZ))!=null&&i.str){const s=document.createElement("span");s.className="title",e.append(s),{dir:s.dir,str:s.textContent}=m(this,xZ)}if(t.append(e),m(this,Cu)){const s=document.createElement("time");s.className="popupDate",s.setAttribute("data-l10n-id","pdfjs-annotation-date-time-string"),s.setAttribute("data-l10n-args",JSON.stringify({dateObj:m(this,Cu).valueOf()})),s.dateTime=m(this,Cu).toISOString(),e.append(s)}const n=m(this,Hl,eM);if(n)Qk.render({xfaHtml:n,intent:"richText",div:t}),t.lastChild.classList.add("richText","popupContent");else{const s=this._formatContents(m(this,id));t.append(s)}m(this,ri).append(t)}_formatContents({str:t,dir:e}){const n=document.createElement("p");n.classList.add("popupContent"),n.dir=e;const i=t.split(/(?:\r\n?|\n)/);for(let s=0,a=i.length;s<a;++s){const c=i[s];n.append(document.createTextNode(c)),s<a-1&&n.append(document.createElement("br"))}return n}updateEdited({rect:t,popup:e,deleted:n}){var i;if(n||e!=null&&e.deleted){this.remove();return}J(this,Hl,tM).call(this),m(this,Km)||z(this,Km,{contentsObj:m(this,id),richText:m(this,rd)}),t&&z(this,cd,null),e&&(z(this,rd,J(this,Hl,lD).call(this,e.text)),z(this,Cu,jM.toDateObject(e.date)),z(this,id,null)),(i=m(this,Da))==null||i.remove(),z(this,Da,null)}resetEdited(){var t;m(this,Km)&&({contentsObj:Ri(this,id)._,richText:Ri(this,rd)._}=m(this,Km),z(this,Km,null),(t=m(this,Da))==null||t.remove(),z(this,Da,null),z(this,cd,null))}remove(){var t,e;(t=m(this,ad))==null||t.abort(),z(this,ad,null),(e=m(this,Da))==null||e.remove(),z(this,Da,null),z(this,Ju,!1),z(this,Jr,!1);for(const n of this.trigger)n.classList.remove("popupTriggerArea")}forceHide(){z(this,Ju,this.isVisible),m(this,Ju)&&(m(this,ri).hidden=!0)}maybeShow(){J(this,Hl,tM).call(this),m(this,Ju)&&(m(this,Da)||J(this,Hl,nM).call(this),z(this,Ju,!1),m(this,ri).hidden=!1)}get isVisible(){return m(this,ri).hidden===!1}}Um=new WeakMap,oG=new WeakMap,dG=new WeakMap,Em=new WeakMap,wZ=new WeakMap,ri=new WeakMap,id=new WeakMap,Cu=new WeakMap,sd=new WeakMap,Ey=new WeakMap,Ky=new WeakMap,zZ=new WeakMap,Jr=new WeakMap,Da=new WeakMap,ad=new WeakMap,cd=new WeakMap,Py=new WeakMap,Fu=new WeakMap,gZ=new WeakMap,Hy=new WeakMap,rd=new WeakMap,xZ=new WeakMap,Km=new WeakMap,Ju=new WeakMap,Hl=new WeakSet,tM=function(){var e;if(m(this,ad))return;z(this,ad,new AbortController);const{signal:t}=m(this,ad);for(const n of this.trigger)n.addEventListener("click",m(this,Em),{signal:t}),n.addEventListener("mouseenter",m(this,dG),{signal:t}),n.addEventListener("mouseleave",m(this,oG),{signal:t}),n.classList.add("popupTriggerArea");for(const n of m(this,sd))(e=n.container)==null||e.addEventListener("keydown",m(this,Um),{signal:t});J(this,Hl,tD).call(this)},$k=function(){const t=m(this,sd).find(e=>e.hasCommentButton);t&&(z(this,Fu,t._normalizePoint(t.commentButtonPosition)),z(this,gZ,t.commentButtonColor))},tD=function(){if(m(this,Py)||(m(this,Fu)||J(this,Hl,$k).call(this),!m(this,Fu)))return;const t=z(this,Py,document.createElement("button"));t.className="annotationCommentButton";const e=m(this,sd)[0].container;t.style.zIndex=e.style.zIndex+1,t.tabIndex=0;const{signal:n}=m(this,ad);t.addEventListener("hover",m(this,Em),{signal:n}),t.addEventListener("keydown",m(this,Um),{signal:n}),t.addEventListener("click",()=>{var c;const[{data:{id:s},annotationEditorType:a}]=m(this,sd);(c=m(this,Ey))==null||c.dispatch("switchannotationeditormode",{source:this,editId:s,mode:a,editComment:!0})},{signal:n});const{style:i}=t;i.left=`calc(${m(this,Fu)[0]}%)`,i.top=`calc(${m(this,Fu)[1]}% - var(--comment-button-dim))`,m(this,gZ)&&(i.backgroundColor=m(this,gZ)),e.after(t)},eM=function(){const t=m(this,rd),e=m(this,id);return t!=null&&t.str&&(!(e!=null&&e.str)||e.str===t.str)&&m(this,rd).html||null},rL=function(){var t,e,n;return((n=(e=(t=m(this,Hl,eM))==null?void 0:t.attributes)==null?void 0:e.style)==null?void 0:n.fontSize)||0},eD=function(){var t,e,n;return((n=(e=(t=m(this,Hl,eM))==null?void 0:t.attributes)==null?void 0:e.style)==null?void 0:n.color)||null},lD=function(t){const e=[],n={str:t,html:{name:"div",attributes:{dir:"auto"},children:[{name:"p",children:e}]}},i={style:{color:m(this,Hl,eD),fontSize:m(this,Hl,rL)?`calc(${m(this,Hl,rL)}px * var(--total-scale-factor))`:""}};for(const s of t.split(`
|
||
`))e.push({name:"span",value:s,attributes:i});return n},nD=function(t){t.altKey||t.shiftKey||t.ctrlKey||t.metaKey||(t.key==="Enter"||t.key==="Escape"&&m(this,Jr))&&J(this,Hl,lM).call(this)},iD=function(){if(m(this,cd)!==null)return;const{page:{view:t},viewport:{rawDims:{pageWidth:e,pageHeight:n,pageX:i,pageY:s}}}=m(this,Ky);let a=!!m(this,zZ),c=a?m(this,zZ):m(this,Hy);for(const M of m(this,sd))if(!c||Ae.intersect(M.data.rect,c)!==null){c=M.data.rect,a=!0;break}const o=Ae.normalizeRect([c[0],t[3]-c[1]+t[1],c[2],t[3]-c[3]+t[1]]),h=a?c[2]-c[0]+5:0,b=o[0]+h,p=o[1];z(this,cd,[100*(b-i)/e,100*(p-s)/n]);const{style:y}=m(this,ri);y.left=`${m(this,cd)[0]}%`,y.top=`${m(this,cd)[1]}%`},lM=function(){z(this,Jr,!m(this,Jr)),m(this,Jr)?(J(this,Hl,nM).call(this),m(this,ri).addEventListener("click",m(this,Em)),m(this,ri).addEventListener("keydown",m(this,Um))):(J(this,Hl,oL).call(this),m(this,ri).removeEventListener("click",m(this,Em)),m(this,ri).removeEventListener("keydown",m(this,Um)))},nM=function(){m(this,Da)||this.render(),this.isVisible?m(this,Jr)&&m(this,ri).classList.add("focused"):(J(this,Hl,iD).call(this),m(this,ri).hidden=!1,m(this,ri).style.zIndex=parseInt(m(this,ri).style.zIndex)+1e3)},oL=function(){m(this,ri).classList.remove("focused"),!(m(this,Jr)||!this.isVisible)&&(m(this,ri).hidden=!0,m(this,ri).style.zIndex=parseInt(m(this,ri).style.zIndex)-1e3)};class sD extends Wi{constructor(t){super(t,{isRenderable:!0,ignoreBorder:!0}),this.textContent=t.data.textContent,this.textPosition=t.data.textPosition,this.annotationEditorType=Tl.FREETEXT}render(){if(this.container.classList.add("freeTextAnnotation"),this.textContent){const t=document.createElement("div");t.classList.add("annotationTextContent"),t.setAttribute("role","comment");for(const e of this.textContent){const n=document.createElement("span");n.textContent=e,t.append(n)}this.container.append(t)}return!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this._editOnDoubleClick(),this.container}}var Qy;class qq extends Wi{constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0});k(this,Qy,null)}render(){this.container.classList.add("lineAnnotation");const{data:e,width:n,height:i}=this,s=this.svgFactory.create(n,i,!0),a=z(this,Qy,this.svgFactory.createElement("svg:line"));return a.setAttribute("x1",e.rect[2]-e.lineCoordinates[0]),a.setAttribute("y1",e.rect[3]-e.lineCoordinates[1]),a.setAttribute("x2",e.rect[2]-e.lineCoordinates[2]),a.setAttribute("y2",e.rect[3]-e.lineCoordinates[3]),a.setAttribute("stroke-width",e.borderStyle.width||1),a.setAttribute("stroke","transparent"),a.setAttribute("fill","transparent"),s.append(a),this.container.append(s),!e.popupRef&&this.hasPopupData&&this._createPopup(),this.container}getElementsToTriggerPopup(){return m(this,Qy)}addHighlightArea(){this.container.classList.add("highlightArea")}}Qy=new WeakMap;var By;class $q extends Wi{constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0});k(this,By,null)}render(){this.container.classList.add("squareAnnotation");const{data:e,width:n,height:i}=this,s=this.svgFactory.create(n,i,!0),a=e.borderStyle.width,c=z(this,By,this.svgFactory.createElement("svg:rect"));return c.setAttribute("x",a/2),c.setAttribute("y",a/2),c.setAttribute("width",n-a),c.setAttribute("height",i-a),c.setAttribute("stroke-width",a||1),c.setAttribute("stroke","transparent"),c.setAttribute("fill","transparent"),s.append(c),this.container.append(s),!e.popupRef&&this.hasPopupData&&this._createPopup(),this.container}getElementsToTriggerPopup(){return m(this,By)}addHighlightArea(){this.container.classList.add("highlightArea")}}By=new WeakMap;var Ay;class t$ extends Wi{constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0});k(this,Ay,null)}render(){this.container.classList.add("circleAnnotation");const{data:e,width:n,height:i}=this,s=this.svgFactory.create(n,i,!0),a=e.borderStyle.width,c=z(this,Ay,this.svgFactory.createElement("svg:ellipse"));return c.setAttribute("cx",n/2),c.setAttribute("cy",i/2),c.setAttribute("rx",n/2-a/2),c.setAttribute("ry",i/2-a/2),c.setAttribute("stroke-width",a||1),c.setAttribute("stroke","transparent"),c.setAttribute("fill","transparent"),s.append(c),this.container.append(s),!e.popupRef&&this.hasPopupData&&this._createPopup(),this.container}getElementsToTriggerPopup(){return m(this,Ay)}addHighlightArea(){this.container.classList.add("highlightArea")}}Ay=new WeakMap;var _y;class aD extends Wi{constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0});k(this,_y,null);this.containerClassName="polylineAnnotation",this.svgElementName="svg:polyline"}render(){this.container.classList.add(this.containerClassName);const{data:{rect:e,vertices:n,borderStyle:i,popupRef:s},width:a,height:c}=this;if(!n)return this.container;const o=this.svgFactory.create(a,c,!0);let d=[];for(let b=0,p=n.length;b<p;b+=2){const y=n[b]-e[0],M=e[3]-n[b+1];d.push(`${y},${M}`)}d=d.join(" ");const h=z(this,_y,this.svgFactory.createElement(this.svgElementName));return h.setAttribute("points",d),h.setAttribute("stroke-width",i.width||1),h.setAttribute("stroke","transparent"),h.setAttribute("fill","transparent"),o.append(h),this.container.append(o),!s&&this.hasPopupData&&this._createPopup(),this.container}getElementsToTriggerPopup(){return m(this,_y)}addHighlightArea(){this.container.classList.add("highlightArea")}}_y=new WeakMap;class e$ extends aD{constructor(t){super(t),this.containerClassName="polygonAnnotation",this.svgElementName="svg:polygon"}}class l$ extends Wi{constructor(t){super(t,{isRenderable:!0,ignoreBorder:!0})}render(){return this.container.classList.add("caretAnnotation"),!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container}}var qy,Pm,$y,dL;class $V extends Wi{constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0});k(this,$y);k(this,qy,null);k(this,Pm,[]);this.containerClassName="inkAnnotation",this.svgElementName="svg:polyline",this.annotationEditorType=this.data.it==="InkHighlight"?Tl.HIGHLIGHT:Tl.INK}render(){this.container.classList.add(this.containerClassName);const{data:{rect:e,rotation:n,inkLists:i,borderStyle:s,popupRef:a}}=this,{transform:c,width:o,height:d}=J(this,$y,dL).call(this,n,e),h=this.svgFactory.create(o,d,!0),b=z(this,qy,this.svgFactory.createElement("svg:g"));h.append(b),b.setAttribute("stroke-width",s.width||1),b.setAttribute("stroke-linecap","round"),b.setAttribute("stroke-linejoin","round"),b.setAttribute("stroke-miterlimit",10),b.setAttribute("stroke","transparent"),b.setAttribute("fill","transparent"),b.setAttribute("transform",c);for(let p=0,y=i.length;p<y;p++){const M=this.svgFactory.createElement(this.svgElementName);m(this,Pm).push(M),M.setAttribute("points",i[p].join(",")),b.append(M)}return!a&&this.hasPopupData&&this._createPopup(),this.container.append(h),this._editOnDoubleClick(),this.container}updateEdited(e){super.updateEdited(e);const{thickness:n,points:i,rect:s}=e,a=m(this,qy);if(n>=0&&a.setAttribute("stroke-width",n||1),i)for(let c=0,o=m(this,Pm).length;c<o;c++)m(this,Pm)[c].setAttribute("points",i[c].join(","));if(s){const{transform:c,width:o,height:d}=J(this,$y,dL).call(this,this.data.rotation,s);a.parentElement.setAttribute("viewBox",`0 0 ${o} ${d}`),a.setAttribute("transform",c)}}getElementsToTriggerPopup(){return m(this,Pm)}addHighlightArea(){this.container.classList.add("highlightArea")}get commentButtonPosition(){const{inkLists:e,rect:n}=this.data;if((e==null?void 0:e.length)>=1){let i=-1/0,s=-1/0;for(const a of e)for(let c=0,o=a.length;c<o;c+=2)a[c+1]>s?(s=a[c+1],i=a[c]):a[c+1]===s&&(i=Math.max(i,a[c]));if(i!==1/0)return[i,s]}return n?[n[2],n[3]]:null}}qy=new WeakMap,Pm=new WeakMap,$y=new WeakSet,dL=function(e,n){switch(e){case 90:return{transform:`rotate(90) translate(${-n[0]},${n[1]}) scale(1,-1)`,width:n[3]-n[1],height:n[2]-n[0]};case 180:return{transform:`rotate(180) translate(${-n[2]},${n[1]}) scale(1,-1)`,width:n[2]-n[0],height:n[3]-n[1]};case 270:return{transform:`rotate(270) translate(${-n[2]},${n[3]}) scale(1,-1)`,width:n[3]-n[1],height:n[2]-n[0]};default:return{transform:`translate(${-n[0]},${n[3]}) scale(1,-1)`,width:n[2]-n[0],height:n[3]-n[1]}}};class cD extends Wi{constructor(t){super(t,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0}),this.annotationEditorType=Tl.HIGHLIGHT}render(){const{data:{overlaidText:t,popupRef:e}}=this;if(!e&&this.hasPopupData&&this._createPopup(),this.container.classList.add("highlightAnnotation"),this._editOnDoubleClick(),t){const n=document.createElement("mark");n.classList.add("overlaidText"),n.textContent=t,this.container.append(n)}return this.container}}class n$ extends Wi{constructor(t){super(t,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){const{data:{overlaidText:t,popupRef:e}}=this;if(!e&&this.hasPopupData&&this._createPopup(),this.container.classList.add("underlineAnnotation"),t){const n=document.createElement("u");n.classList.add("overlaidText"),n.textContent=t,this.container.append(n)}return this.container}}class i$ extends Wi{constructor(t){super(t,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){const{data:{overlaidText:t,popupRef:e}}=this;if(!e&&this.hasPopupData&&this._createPopup(),this.container.classList.add("squigglyAnnotation"),t){const n=document.createElement("u");n.classList.add("overlaidText"),n.textContent=t,this.container.append(n)}return this.container}}class s$ extends Wi{constructor(t){super(t,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){const{data:{overlaidText:t,popupRef:e}}=this;if(!e&&this.hasPopupData&&this._createPopup(),this.container.classList.add("strikeoutAnnotation"),t){const n=document.createElement("s");n.classList.add("overlaidText"),n.textContent=t,this.container.append(n)}return this.container}}class rD extends Wi{constructor(t){super(t,{isRenderable:!0,ignoreBorder:!0}),this.annotationEditorType=Tl.STAMP}render(){return this.container.classList.add("stampAnnotation"),this.container.setAttribute("role","img"),!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this._editOnDoubleClick(),this.container}}var tW,eW,uL;class a$ extends Wi{constructor(e){var i;super(e,{isRenderable:!0});k(this,eW);k(this,tW,null);const{file:n}=this.data;this.filename=n.filename,this.content=n.content,(i=this.linkService.eventBus)==null||i.dispatch("fileattachmentannotation",{source:this,...n})}render(){this.container.classList.add("fileAttachmentAnnotation");const{container:e,data:n}=this;let i;n.hasAppearance||n.fillAlpha===0?i=document.createElement("div"):(i=document.createElement("img"),i.src=`${this.imageResourcesPath}annotation-${/paperclip/i.test(n.name)?"paperclip":"pushpin"}.svg`,n.fillAlpha&&n.fillAlpha<1&&(i.style=`filter: opacity(${Math.round(n.fillAlpha*100)}%);`)),i.addEventListener("dblclick",J(this,eW,uL).bind(this)),z(this,tW,i);const{isMac:s}=Ws.platform;return e.addEventListener("keydown",a=>{a.key==="Enter"&&(s?a.metaKey:a.ctrlKey)&&J(this,eW,uL).call(this)}),!n.popupRef&&this.hasPopupData?this._createPopup():i.classList.add("popupTriggerArea"),e.append(i),e}getElementsToTriggerPopup(){return m(this,tW)}addHighlightArea(){this.container.classList.add("highlightArea")}}tW=new WeakMap,eW=new WeakSet,uL=function(){var e;(e=this.downloadManager)==null||e.openOrDownloadData(this.content,this.filename)};var lW,Hm,vu,nW,m0,hL,bL;const cI=class cI{constructor({div:t,accessibilityManager:e,annotationCanvasMap:n,annotationEditorUIManager:i,page:s,viewport:a,structTreeLayer:c}){k(this,m0);k(this,lW,null);k(this,Hm,null);k(this,vu,new Map);k(this,nW,null);this.div=t,z(this,lW,e),z(this,Hm,n),z(this,nW,c||null),this.page=s,this.viewport=a,this.zIndex=0,this._annotationEditorUIManager=i}hasEditableAnnotations(){return m(this,vu).size>0}async render(t){var a;const{annotations:e}=t,n=this.div;yh(n,this.viewport);const i=new Map,s={data:null,layer:n,linkService:t.linkService,downloadManager:t.downloadManager,imageResourcesPath:t.imageResourcesPath||"",renderForms:t.renderForms!==!1,svgFactory:new EM,annotationStorage:t.annotationStorage||new QV,enableComment:t.enableComment===!0,enableScripting:t.enableScripting===!0,hasJSActions:t.hasJSActions,fieldObjects:t.fieldObjects,parent:this,elements:null};for(const c of e){if(c.noHTML)continue;const o=c.annotationType===Ti.POPUP;if(o){const b=i.get(c.id);if(!b)continue;s.elements=b}else if(c.rect[2]===c.rect[0]||c.rect[3]===c.rect[1])continue;s.data=c;const d=sx.create(s);if(!d.isRenderable)continue;if(!o&&c.popupRef){const b=i.get(c.popupRef);b?b.push(d):i.set(c.popupRef,[d])}const h=d.render();c.hidden&&(h.style.visibility="hidden"),await J(this,m0,hL).call(this,h,c.id,s.elements),d._isEditable&&(m(this,vu).set(d.data.id,d),(a=this._annotationEditorUIManager)==null||a.renderAnnotationElement(d))}J(this,m0,bL).call(this)}async addLinkAnnotations(t,e){const n={data:null,layer:this.div,linkService:e,svgFactory:new EM,parent:this};for(const i of t){i.borderStyle||(i.borderStyle=cI._defaultBorderStyle),n.data=i;const s=sx.create(n);if(!s.isRenderable)continue;const a=s.render();await J(this,m0,hL).call(this,a,i.id,null)}}update({viewport:t}){const e=this.div;this.viewport=t,yh(e,{rotation:t.rotation}),J(this,m0,bL).call(this),e.hidden=!1}getEditableAnnotations(){return Array.from(m(this,vu).values())}getEditableAnnotation(t){return m(this,vu).get(t)}static get _defaultBorderStyle(){return vl(this,"_defaultBorderStyle",Object.freeze({width:1,rawWidth:1,style:yb.SOLID,dashArray:[3],horizontalCornerRadius:0,verticalCornerRadius:0}))}};lW=new WeakMap,Hm=new WeakMap,vu=new WeakMap,nW=new WeakMap,m0=new WeakSet,hL=async function(t,e,n){var c,o;const i=t.firstChild||t,s=i.id=`${KV}${e}`,a=await((c=m(this,nW))==null?void 0:c.getAriaAttributes(s));if(a)for(const[d,h]of a)i.setAttribute(d,h);n?n.at(-1).container.after(t):(this.div.append(t),(o=m(this,lW))==null||o.moveElementInDOM(this.div,t,i,!1))},bL=function(){var e;if(!m(this,Hm))return;const t=this.div;for(const[n,i]of m(this,Hm)){const s=t.querySelector(`[data-annotation-id="${n}"]`);if(!s)continue;i.className="annotationContent";const{firstChild:a}=s;a?a.nodeName==="CANVAS"?a.replaceWith(i):a.classList.contains("annotationContent")?a.after(i):a.before(i):s.append(i);const c=m(this,vu).get(n);c&&(c._hasNoCanvas?((e=this._annotationEditorUIManager)==null||e.setMissingCanvas(n,s.id,i),c._hasNoCanvas=!1):c.canvas=i)}m(this,Hm).clear()};let mL=cI;const L1=/\r\n?|\n/g;var Nc,Oa,iW,Qm,ja,Ii,oD,dD,uD,iM,Xd,sM,aM,mD,pL,hD;const kn=class kn extends xn{constructor(e){super({...e,name:"freeTextEditor"});k(this,Ii);k(this,Nc);k(this,Oa,"");k(this,iW,`${this.id}-editor`);k(this,Qm,null);k(this,ja);We(this,"_colorPicker",null);z(this,Nc,e.color||kn._defaultColor||xn._defaultLineColor),z(this,ja,e.fontSize||kn._defaultFontSize),this.annotationElementId||this._uiManager.a11yAlert("pdfjs-editor-freetext-added-alert")}static get _keyboardManager(){const e=kn.prototype,n=a=>a.isEmpty(),i=Wh.TRANSLATE_SMALL,s=Wh.TRANSLATE_BIG;return vl(this,"_keyboardManager",new CW([[["ctrl+s","mac+meta+s","ctrl+p","mac+meta+p"],e.commitOrRemove,{bubbles:!0}],[["ctrl+Enter","mac+meta+Enter","Escape","mac+Escape"],e.commitOrRemove],[["ArrowLeft","mac+ArrowLeft"],e._translateEmpty,{args:[-i,0],checker:n}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],e._translateEmpty,{args:[-s,0],checker:n}],[["ArrowRight","mac+ArrowRight"],e._translateEmpty,{args:[i,0],checker:n}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],e._translateEmpty,{args:[s,0],checker:n}],[["ArrowUp","mac+ArrowUp"],e._translateEmpty,{args:[0,-i],checker:n}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],e._translateEmpty,{args:[0,-s],checker:n}],[["ArrowDown","mac+ArrowDown"],e._translateEmpty,{args:[0,i],checker:n}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],e._translateEmpty,{args:[0,s],checker:n}]]))}static initialize(e,n){xn.initialize(e,n);const i=getComputedStyle(document.documentElement);this._internalPadding=parseFloat(i.getPropertyValue("--freetext-padding"))}static updateDefaultParams(e,n){switch(e){case _l.FREETEXT_SIZE:kn._defaultFontSize=n;break;case _l.FREETEXT_COLOR:kn._defaultColor=n;break}}updateParams(e,n){switch(e){case _l.FREETEXT_SIZE:J(this,Ii,oD).call(this,n);break;case _l.FREETEXT_COLOR:J(this,Ii,dD).call(this,n);break}}static get defaultPropertiesToUpdate(){return[[_l.FREETEXT_SIZE,kn._defaultFontSize],[_l.FREETEXT_COLOR,kn._defaultColor||xn._defaultLineColor]]}get propertiesToUpdate(){return[[_l.FREETEXT_SIZE,m(this,ja)],[_l.FREETEXT_COLOR,m(this,Nc)]]}get toolbarButtons(){return this._colorPicker||(this._colorPicker=new UM(this)),[["colorPicker",this._colorPicker]]}get colorType(){return _l.FREETEXT_COLOR}get colorValue(){return m(this,Nc)}_translateEmpty(e,n){this._uiManager.translateSelectedEditors(e,n,!0)}getInitialTranslation(){const e=this.parentScale;return[-kn._internalPadding*e,-(kn._internalPadding+m(this,ja))*e]}rebuild(){this.parent&&(super.rebuild(),this.div!==null&&(this.isAttachedToDOM||this.parent.add(this)))}enableEditMode(){if(!super.enableEditMode())return!1;this.overlayDiv.classList.remove("enabled"),this.editorDiv.contentEditable=!0,this._isDraggable=!1,this.div.removeAttribute("aria-activedescendant"),z(this,Qm,new AbortController);const e=this._uiManager.combinedSignal(m(this,Qm));return this.editorDiv.addEventListener("keydown",this.editorDivKeydown.bind(this),{signal:e}),this.editorDiv.addEventListener("focus",this.editorDivFocus.bind(this),{signal:e}),this.editorDiv.addEventListener("blur",this.editorDivBlur.bind(this),{signal:e}),this.editorDiv.addEventListener("input",this.editorDivInput.bind(this),{signal:e}),this.editorDiv.addEventListener("paste",this.editorDivPaste.bind(this),{signal:e}),!0}disableEditMode(){var e;return super.disableEditMode()?(this.overlayDiv.classList.add("enabled"),this.editorDiv.contentEditable=!1,this.div.setAttribute("aria-activedescendant",m(this,iW)),this._isDraggable=!0,(e=m(this,Qm))==null||e.abort(),z(this,Qm,null),this.div.focus({preventScroll:!0}),this.isEditing=!1,this.parent.div.classList.add("freetextEditing"),!0):!1}focusin(e){this._focusEventsAllowed&&(super.focusin(e),e.target!==this.editorDiv&&this.editorDiv.focus())}onceAdded(e){var n;this.width||(this.enableEditMode(),e&&this.editorDiv.focus(),(n=this._initialOptions)!=null&&n.isCentered&&this.center(),this._initialOptions=null)}isEmpty(){return!this.editorDiv||this.editorDiv.innerText.trim()===""}remove(){this.isEditing=!1,this.parent&&(this.parent.setEditingState(!0),this.parent.div.classList.add("freetextEditing")),super.remove()}commit(){if(!this.isInEditMode())return;super.commit(),this.disableEditMode();const e=m(this,Oa),n=z(this,Oa,J(this,Ii,uD).call(this).trimEnd());if(e===n)return;const i=s=>{if(z(this,Oa,s),!s){this.remove();return}J(this,Ii,aM).call(this),this._uiManager.rebuild(this),J(this,Ii,iM).call(this)};this.addCommands({cmd:()=>{i(n)},undo:()=>{i(e)},mustExec:!1}),J(this,Ii,iM).call(this)}shouldGetKeyboardEvents(){return this.isInEditMode()}enterInEditMode(){this.enableEditMode(),this.editorDiv.focus()}keydown(e){e.target===this.div&&e.key==="Enter"&&(this.enterInEditMode(),e.preventDefault())}editorDivKeydown(e){kn._keyboardManager.exec(this,e)}editorDivFocus(e){this.isEditing=!0}editorDivBlur(e){this.isEditing=!1}editorDivInput(e){this.parent.div.classList.toggle("freetextEditing",this.isEmpty())}disableEditing(){this.editorDiv.setAttribute("role","comment"),this.editorDiv.removeAttribute("aria-multiline")}enableEditing(){this.editorDiv.setAttribute("role","textbox"),this.editorDiv.setAttribute("aria-multiline",!0)}get canChangeContent(){return!0}render(){if(this.div)return this.div;let e,n;(this._isCopy||this.annotationElementId)&&(e=this.x,n=this.y),super.render(),this.editorDiv=document.createElement("div"),this.editorDiv.className="internal",this.editorDiv.setAttribute("id",m(this,iW)),this.editorDiv.setAttribute("data-l10n-id","pdfjs-free-text2"),this.editorDiv.setAttribute("data-l10n-attrs","default-content"),this.enableEditing(),this.editorDiv.contentEditable=!0;const{style:i}=this.editorDiv;if(i.fontSize=`calc(${m(this,ja)}px * var(--total-scale-factor))`,i.color=m(this,Nc),this.div.append(this.editorDiv),this.overlayDiv=document.createElement("div"),this.overlayDiv.classList.add("overlay","enabled"),this.div.append(this.overlayDiv),this._isCopy||this.annotationElementId){const[s,a]=this.parentDimensions;if(this.annotationElementId){const{position:c}=this._initialData;let[o,d]=this.getInitialTranslation();[o,d]=this.pageTranslationToScreen(o,d);const[h,b]=this.pageDimensions,[p,y]=this.pageTranslation;let M,T;switch(this.rotation){case 0:M=e+(c[0]-p)/h,T=n+this.height-(c[1]-y)/b;break;case 90:M=e+(c[0]-p)/h,T=n-(c[1]-y)/b,[o,d]=[d,-o];break;case 180:M=e-this.width+(c[0]-p)/h,T=n-(c[1]-y)/b,[o,d]=[-o,-d];break;case 270:M=e+(c[0]-p-this.height*b)/h,T=n+(c[1]-y-this.width*h)/b,[o,d]=[-d,o];break}this.setAt(M*s,T*a,o,d)}else this._moveAfterPaste(e,n);J(this,Ii,aM).call(this),this._isDraggable=!0,this.editorDiv.contentEditable=!1}else this._isDraggable=!1,this.editorDiv.contentEditable=!0;return this.div}editorDivPaste(e){var M,T,Y;const n=e.clipboardData||window.clipboardData,{types:i}=n;if(i.length===1&&i[0]==="text/plain")return;e.preventDefault();const s=J(M=kn,Xd,pL).call(M,n.getData("text")||"").replaceAll(L1,`
|
||
`);if(!s)return;const a=window.getSelection();if(!a.rangeCount)return;this.editorDiv.normalize(),a.deleteFromDocument();const c=a.getRangeAt(0);if(!s.includes(`
|
||
`)){c.insertNode(document.createTextNode(s)),this.editorDiv.normalize(),a.collapseToStart();return}const{startContainer:o,startOffset:d}=c,h=[],b=[];if(o.nodeType===Node.TEXT_NODE){const L=o.parentElement;if(b.push(o.nodeValue.slice(d).replaceAll(L1,"")),L!==this.editorDiv){let x=h;for(const g of this.editorDiv.childNodes){if(g===L){x=b;continue}x.push(J(T=kn,Xd,sM).call(T,g))}}h.push(o.nodeValue.slice(0,d).replaceAll(L1,""))}else if(o===this.editorDiv){let L=h,x=0;for(const g of this.editorDiv.childNodes)x++===d&&(L=b),L.push(J(Y=kn,Xd,sM).call(Y,g))}z(this,Oa,`${h.join(`
|
||
`)}${s}${b.join(`
|
||
`)}`),J(this,Ii,aM).call(this);const p=new Range;let y=Math.sumPrecise(h.map(L=>L.length));for(const{firstChild:L}of this.editorDiv.childNodes)if(L.nodeType===Node.TEXT_NODE){const x=L.nodeValue.length;if(y<=x){p.setStart(L,y),p.setEnd(L,y);break}y-=x}a.removeAllRanges(),a.addRange(p)}get contentDiv(){return this.editorDiv}getPDFRect(){const e=kn._internalPadding*this.parentScale;return this.getRect(e,e)}static async deserialize(e,n,i){var c;let s=null;if(e instanceof sD){const{data:{defaultAppearanceData:{fontSize:o,fontColor:d},rect:h,rotation:b,id:p,popupRef:y,contentsObj:M},textContent:T,textPosition:Y,parent:{page:{pageNumber:L}}}=e;if(!T||T.length===0)return null;s=e={annotationType:Tl.FREETEXT,color:Array.from(d),fontSize:o,value:T.join(`
|
||
`),position:Y,pageIndex:L-1,rect:h.slice(0),rotation:b,annotationElementId:p,id:p,deleted:!1,popupRef:y,comment:(M==null?void 0:M.str)||null}}const a=await super.deserialize(e,n,i);return z(a,ja,e.fontSize),z(a,Nc,Ae.makeHexColor(...e.color)),z(a,Oa,J(c=kn,Xd,pL).call(c,e.value)),a._initialData=s,e.comment&&a.setCommentData(e.comment),a}serialize(e=!1){if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();const n=this.getPDFRect(),i=xn._colorManager.convert(this.isAttachedToDOM?getComputedStyle(this.editorDiv).color:m(this,Nc)),s={annotationType:Tl.FREETEXT,color:i,fontSize:m(this,ja),value:J(this,Ii,mD).call(this),pageIndex:this.pageIndex,rect:n,rotation:this.rotation,structTreeParentId:this._structTreeParentId};return this.addComment(s),e?(s.isCopy=!0,s):this.annotationElementId&&!J(this,Ii,hD).call(this,s)?null:(s.id=this.annotationElementId,s)}renderAnnotationElement(e){const n=super.renderAnnotationElement(e);if(!n)return null;const{style:i}=n;i.fontSize=`calc(${m(this,ja)}px * var(--total-scale-factor))`,i.color=m(this,Nc),n.replaceChildren();for(const a of m(this,Oa).split(`
|
||
`)){const c=document.createElement("div");c.append(a?document.createTextNode(a):document.createElement("br")),n.append(c)}const s={rect:this.getPDFRect()};return s.popup=this.hasEditedComment?this.comment:{text:m(this,Oa)},e.updateEdited(s),n}resetAnnotationElement(e){super.resetAnnotationElement(e),e.resetEdited()}};Nc=new WeakMap,Oa=new WeakMap,iW=new WeakMap,Qm=new WeakMap,ja=new WeakMap,Ii=new WeakSet,oD=function(e){const n=s=>{this.editorDiv.style.fontSize=`calc(${s}px * var(--total-scale-factor))`,this.translate(0,-(s-m(this,ja))*this.parentScale),z(this,ja,s),J(this,Ii,iM).call(this)},i=m(this,ja);this.addCommands({cmd:n.bind(this,e),undo:n.bind(this,i),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:_l.FREETEXT_SIZE,overwriteIfSameType:!0,keepUndo:!0})},dD=function(e){const n=s=>{var a;z(this,Nc,this.editorDiv.style.color=s),(a=this._colorPicker)==null||a.update(s)},i=m(this,Nc);this.addCommands({cmd:n.bind(this,e),undo:n.bind(this,i),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:_l.FREETEXT_COLOR,overwriteIfSameType:!0,keepUndo:!0})},uD=function(){var i;const e=[];this.editorDiv.normalize();let n=null;for(const s of this.editorDiv.childNodes)(n==null?void 0:n.nodeType)===Node.TEXT_NODE&&s.nodeName==="BR"||(e.push(J(i=kn,Xd,sM).call(i,s)),n=s);return e.join(`
|
||
`)},iM=function(){const[e,n]=this.parentDimensions;let i;if(this.isAttachedToDOM)i=this.div.getBoundingClientRect();else{const{currentLayer:s,div:a}=this,c=a.style.display,o=a.classList.contains("hidden");a.classList.remove("hidden"),a.style.display="hidden",s.div.append(this.div),i=a.getBoundingClientRect(),a.remove(),a.style.display=c,a.classList.toggle("hidden",o)}this.rotation%180===this.parentRotation%180?(this.width=i.width/e,this.height=i.height/n):(this.width=i.height/e,this.height=i.width/n),this.fixAndSetPosition()},Xd=new WeakSet,sM=function(e){return(e.nodeType===Node.TEXT_NODE?e.nodeValue:e.innerText).replaceAll(L1,"")},aM=function(){if(this.editorDiv.replaceChildren(),!!m(this,Oa))for(const e of m(this,Oa).split(`
|
||
`)){const n=document.createElement("div");n.append(e?document.createTextNode(e):document.createElement("br")),this.editorDiv.append(n)}},mD=function(){return m(this,Oa).replaceAll(" "," ")},pL=function(e){return e.replaceAll(" "," ")},hD=function(e){const{value:n,fontSize:i,color:s,pageIndex:a}=this._initialData;return this.hasEditedComment||this._hasBeenMoved||e.value!==n||e.fontSize!==i||e.color.some((c,o)=>c!==s[o])||e.pageIndex!==a},k(kn,Xd),We(kn,"_freeTextDefaultContent",""),We(kn,"_internalPadding",0),We(kn,"_defaultColor",null),We(kn,"_defaultFontSize",10),We(kn,"_type","freetext"),We(kn,"_editorType",Tl.FREETEXT);let ZL=kn;class Ee{toSVGPath(){Xn("Abstract method `toSVGPath` must be implemented.")}get box(){Xn("Abstract getter `box` must be implemented.")}serialize(t,e){Xn("Abstract method `serialize` must be implemented.")}static _rescale(t,e,n,i,s,a){a||(a=new Float32Array(t.length));for(let c=0,o=t.length;c<o;c+=2)a[c]=e+t[c]*i,a[c+1]=n+t[c+1]*s;return a}static _rescaleAndSwap(t,e,n,i,s,a){a||(a=new Float32Array(t.length));for(let c=0,o=t.length;c<o;c+=2)a[c]=e+t[c+1]*i,a[c+1]=n+t[c]*s;return a}static _translate(t,e,n,i){i||(i=new Float32Array(t.length));for(let s=0,a=t.length;s<a;s+=2)i[s]=e+t[s],i[s+1]=n+t[s+1];return i}static svgRound(t){return Math.round(t*1e4)}static _normalizePoint(t,e,n,i,s){switch(s){case 90:return[1-e/n,t/i];case 180:return[1-t/n,1-e/i];case 270:return[e/n,1-t/i];default:return[t/n,e/i]}}static _normalizePagePoint(t,e,n){switch(n){case 90:return[1-e,t];case 180:return[1-t,1-e];case 270:return[e,1-t];default:return[t,e]}}static createBezierPoints(t,e,n,i,s,a){return[(t+5*n)/6,(e+5*i)/6,(5*n+s)/6,(5*i+a)/6,(n+s)/2,(i+a)/2]}}We(Ee,"PRECISION",1e-4);var Ca,_c,fZ,SZ,vr,Jl,Bm,Am,sW,aW,RZ,kZ,Uu,cW,uG,mG,Fi,Z2,bD,ZD,pD,yD,WD,ND;const xo=class xo{constructor({x:t,y:e},n,i,s,a,c=0){k(this,Fi);k(this,Ca);k(this,_c,[]);k(this,fZ);k(this,SZ);k(this,vr,[]);k(this,Jl,new Float32Array(18));k(this,Bm);k(this,Am);k(this,sW);k(this,aW);k(this,RZ);k(this,kZ);k(this,Uu,[]);z(this,Ca,n),z(this,kZ,s*i),z(this,SZ,a),m(this,Jl).set([NaN,NaN,NaN,NaN,t,e],6),z(this,fZ,c),z(this,aW,m(xo,cW)*i),z(this,sW,m(xo,mG)*i),z(this,RZ,i),m(this,Uu).push(t,e)}isEmpty(){return isNaN(m(this,Jl)[8])}add({x:t,y:e}){var K;z(this,Bm,t),z(this,Am,e);const[n,i,s,a]=m(this,Ca);let[c,o,d,h]=m(this,Jl).subarray(8,12);const b=t-d,p=e-h,y=Math.hypot(b,p);if(y<m(this,sW))return!1;const M=y-m(this,aW),T=M/y,Y=T*b,L=T*p;let x=c,g=o;c=d,o=h,d+=Y,h+=L,(K=m(this,Uu))==null||K.push(t,e);const F=-L/M,j=Y/M,D=F*m(this,kZ),_=j*m(this,kZ);return m(this,Jl).set(m(this,Jl).subarray(2,8),0),m(this,Jl).set([d+D,h+_],4),m(this,Jl).set(m(this,Jl).subarray(14,18),12),m(this,Jl).set([d-D,h-_],16),isNaN(m(this,Jl)[6])?(m(this,vr).length===0&&(m(this,Jl).set([c+D,o+_],2),m(this,vr).push(NaN,NaN,NaN,NaN,(c+D-n)/s,(o+_-i)/a),m(this,Jl).set([c-D,o-_],14),m(this,_c).push(NaN,NaN,NaN,NaN,(c-D-n)/s,(o-_-i)/a)),m(this,Jl).set([x,g,c,o,d,h],6),!this.isEmpty()):(m(this,Jl).set([x,g,c,o,d,h],6),Math.abs(Math.atan2(g-o,x-c)-Math.atan2(L,Y))<Math.PI/2?([c,o,d,h]=m(this,Jl).subarray(2,6),m(this,vr).push(NaN,NaN,NaN,NaN,((c+d)/2-n)/s,((o+h)/2-i)/a),[c,o,x,g]=m(this,Jl).subarray(14,18),m(this,_c).push(NaN,NaN,NaN,NaN,((x+c)/2-n)/s,((g+o)/2-i)/a),!0):([x,g,c,o,d,h]=m(this,Jl).subarray(0,6),m(this,vr).push(((x+5*c)/6-n)/s,((g+5*o)/6-i)/a,((5*c+d)/6-n)/s,((5*o+h)/6-i)/a,((c+d)/2-n)/s,((o+h)/2-i)/a),[d,h,c,o,x,g]=m(this,Jl).subarray(12,18),m(this,_c).push(((x+5*c)/6-n)/s,((g+5*o)/6-i)/a,((5*c+d)/6-n)/s,((5*o+h)/6-i)/a,((c+d)/2-n)/s,((o+h)/2-i)/a),!0))}toSVGPath(){if(this.isEmpty())return"";const t=m(this,vr),e=m(this,_c);if(isNaN(m(this,Jl)[6])&&!this.isEmpty())return J(this,Fi,bD).call(this);const n=[];n.push(`M${t[4]} ${t[5]}`);for(let i=6;i<t.length;i+=6)isNaN(t[i])?n.push(`L${t[i+4]} ${t[i+5]}`):n.push(`C${t[i]} ${t[i+1]} ${t[i+2]} ${t[i+3]} ${t[i+4]} ${t[i+5]}`);J(this,Fi,pD).call(this,n);for(let i=e.length-6;i>=6;i-=6)isNaN(e[i])?n.push(`L${e[i+4]} ${e[i+5]}`):n.push(`C${e[i]} ${e[i+1]} ${e[i+2]} ${e[i+3]} ${e[i+4]} ${e[i+5]}`);return J(this,Fi,ZD).call(this,n),n.join(" ")}newFreeDrawOutline(t,e,n,i,s,a){return new MD(t,e,n,i,s,a)}getOutlines(){var b;const t=m(this,vr),e=m(this,_c),n=m(this,Jl),[i,s,a,c]=m(this,Ca),o=new Float32Array((((b=m(this,Uu))==null?void 0:b.length)??0)+2);for(let p=0,y=o.length-2;p<y;p+=2)o[p]=(m(this,Uu)[p]-i)/a,o[p+1]=(m(this,Uu)[p+1]-s)/c;if(o[o.length-2]=(m(this,Bm)-i)/a,o[o.length-1]=(m(this,Am)-s)/c,isNaN(n[6])&&!this.isEmpty())return J(this,Fi,yD).call(this,o);const d=new Float32Array(m(this,vr).length+24+m(this,_c).length);let h=t.length;for(let p=0;p<h;p+=2){if(isNaN(t[p])){d[p]=d[p+1]=NaN;continue}d[p]=t[p],d[p+1]=t[p+1]}h=J(this,Fi,ND).call(this,d,h);for(let p=e.length-6;p>=6;p-=6)for(let y=0;y<6;y+=2){if(isNaN(e[p+y])){d[h]=d[h+1]=NaN,h+=2;continue}d[h]=e[p+y],d[h+1]=e[p+y+1],h+=2}return J(this,Fi,WD).call(this,d,h),this.newFreeDrawOutline(d,o,m(this,Ca),m(this,RZ),m(this,fZ),m(this,SZ))}};Ca=new WeakMap,_c=new WeakMap,fZ=new WeakMap,SZ=new WeakMap,vr=new WeakMap,Jl=new WeakMap,Bm=new WeakMap,Am=new WeakMap,sW=new WeakMap,aW=new WeakMap,RZ=new WeakMap,kZ=new WeakMap,Uu=new WeakMap,cW=new WeakMap,uG=new WeakMap,mG=new WeakMap,Fi=new WeakSet,Z2=function(){const t=m(this,Jl).subarray(4,6),e=m(this,Jl).subarray(16,18),[n,i,s,a]=m(this,Ca);return[(m(this,Bm)+(t[0]-e[0])/2-n)/s,(m(this,Am)+(t[1]-e[1])/2-i)/a,(m(this,Bm)+(e[0]-t[0])/2-n)/s,(m(this,Am)+(e[1]-t[1])/2-i)/a]},bD=function(){const[t,e,n,i]=m(this,Ca),[s,a,c,o]=J(this,Fi,Z2).call(this);return`M${(m(this,Jl)[2]-t)/n} ${(m(this,Jl)[3]-e)/i} L${(m(this,Jl)[4]-t)/n} ${(m(this,Jl)[5]-e)/i} L${s} ${a} L${c} ${o} L${(m(this,Jl)[16]-t)/n} ${(m(this,Jl)[17]-e)/i} L${(m(this,Jl)[14]-t)/n} ${(m(this,Jl)[15]-e)/i} Z`},ZD=function(t){const e=m(this,_c);t.push(`L${e[4]} ${e[5]} Z`)},pD=function(t){const[e,n,i,s]=m(this,Ca),a=m(this,Jl).subarray(4,6),c=m(this,Jl).subarray(16,18),[o,d,h,b]=J(this,Fi,Z2).call(this);t.push(`L${(a[0]-e)/i} ${(a[1]-n)/s} L${o} ${d} L${h} ${b} L${(c[0]-e)/i} ${(c[1]-n)/s}`)},yD=function(t){const e=m(this,Jl),[n,i,s,a]=m(this,Ca),[c,o,d,h]=J(this,Fi,Z2).call(this),b=new Float32Array(36);return b.set([NaN,NaN,NaN,NaN,(e[2]-n)/s,(e[3]-i)/a,NaN,NaN,NaN,NaN,(e[4]-n)/s,(e[5]-i)/a,NaN,NaN,NaN,NaN,c,o,NaN,NaN,NaN,NaN,d,h,NaN,NaN,NaN,NaN,(e[16]-n)/s,(e[17]-i)/a,NaN,NaN,NaN,NaN,(e[14]-n)/s,(e[15]-i)/a],0),this.newFreeDrawOutline(b,t,m(this,Ca),m(this,RZ),m(this,fZ),m(this,SZ))},WD=function(t,e){const n=m(this,_c);return t.set([NaN,NaN,NaN,NaN,n[4],n[5]],e),e+=6},ND=function(t,e){const n=m(this,Jl).subarray(4,6),i=m(this,Jl).subarray(16,18),[s,a,c,o]=m(this,Ca),[d,h,b,p]=J(this,Fi,Z2).call(this);return t.set([NaN,NaN,NaN,NaN,(n[0]-s)/c,(n[1]-a)/o,NaN,NaN,NaN,NaN,d,h,NaN,NaN,NaN,NaN,b,p,NaN,NaN,NaN,NaN,(i[0]-s)/c,(i[1]-a)/o],e),e+=24},k(xo,cW,8),k(xo,uG,2),k(xo,mG,m(xo,cW)+m(xo,uG));let KM=xo;var DZ,_m,od,rW,Fa,oW,pi,hG,GD;class MD extends Ee{constructor(e,n,i,s,a,c){super();k(this,hG);k(this,DZ);k(this,_m,new Float32Array(4));k(this,od);k(this,rW);k(this,Fa);k(this,oW);k(this,pi);z(this,pi,e),z(this,Fa,n),z(this,DZ,i),z(this,oW,s),z(this,od,a),z(this,rW,c),this.lastPoint=[NaN,NaN],J(this,hG,GD).call(this,c);const[o,d,h,b]=m(this,_m);for(let p=0,y=e.length;p<y;p+=2)e[p]=(e[p]-o)/h,e[p+1]=(e[p+1]-d)/b;for(let p=0,y=n.length;p<y;p+=2)n[p]=(n[p]-o)/h,n[p+1]=(n[p+1]-d)/b}toSVGPath(){const e=[`M${m(this,pi)[4]} ${m(this,pi)[5]}`];for(let n=6,i=m(this,pi).length;n<i;n+=6){if(isNaN(m(this,pi)[n])){e.push(`L${m(this,pi)[n+4]} ${m(this,pi)[n+5]}`);continue}e.push(`C${m(this,pi)[n]} ${m(this,pi)[n+1]} ${m(this,pi)[n+2]} ${m(this,pi)[n+3]} ${m(this,pi)[n+4]} ${m(this,pi)[n+5]}`)}return e.push("Z"),e.join(" ")}serialize([e,n,i,s],a){const c=i-e,o=s-n;let d,h;switch(a){case 0:d=Ee._rescale(m(this,pi),e,s,c,-o),h=Ee._rescale(m(this,Fa),e,s,c,-o);break;case 90:d=Ee._rescaleAndSwap(m(this,pi),e,n,c,o),h=Ee._rescaleAndSwap(m(this,Fa),e,n,c,o);break;case 180:d=Ee._rescale(m(this,pi),i,n,-c,o),h=Ee._rescale(m(this,Fa),i,n,-c,o);break;case 270:d=Ee._rescaleAndSwap(m(this,pi),i,s,-c,-o),h=Ee._rescaleAndSwap(m(this,Fa),i,s,-c,-o);break}return{outline:Array.from(d),points:[Array.from(h)]}}get box(){return m(this,_m)}newOutliner(e,n,i,s,a,c=0){return new KM(e,n,i,s,a,c)}getNewOutline(e,n){const[i,s,a,c]=m(this,_m),[o,d,h,b]=m(this,DZ),p=a*h,y=c*b,M=i*h+o,T=s*b+d,Y=this.newOutliner({x:m(this,Fa)[0]*p+M,y:m(this,Fa)[1]*y+T},m(this,DZ),m(this,oW),e,m(this,rW),n??m(this,od));for(let L=2;L<m(this,Fa).length;L+=2)Y.add({x:m(this,Fa)[L]*p+M,y:m(this,Fa)[L+1]*y+T});return Y.getOutlines()}}DZ=new WeakMap,_m=new WeakMap,od=new WeakMap,rW=new WeakMap,Fa=new WeakMap,oW=new WeakMap,pi=new WeakMap,hG=new WeakSet,GD=function(e){const n=m(this,pi);let i=n[4],s=n[5];const a=[i,s,i,s];let c=i,o=s;const d=e?Math.max:Math.min;for(let b=6,p=n.length;b<p;b+=6){const y=n[b+4],M=n[b+5];if(isNaN(n[b]))Ae.pointBoundingBox(y,M,a),o<M?(c=y,o=M):o===M&&(c=d(c,y));else{const T=[1/0,1/0,-1/0,-1/0];Ae.bezierBoundingBox(i,s,...n.slice(b,b+6),T),Ae.rectBoundingBox(...T,a),o<T[3]?(c=T[2],o=T[3]):o===T[3]&&(c=d(c,T[2]))}i=y,s=M}const h=m(this,_m);h[0]=a[0]-m(this,od),h[1]=a[1]-m(this,od),h[2]=a[2]-a[0]+2*m(this,od),h[3]=a[3]-a[1]+2*m(this,od),this.lastPoint=[c,o]};var dW,uW,Eu,qc,qs,TD,cM,XD,YD,WL;class yL{constructor(t,e=0,n=0,i=!0){k(this,qs);k(this,dW);k(this,uW);k(this,Eu,[]);k(this,qc,[]);const s=[1/0,1/0,-1/0,-1/0],a=10**-4;for(const{x:y,y:M,width:T,height:Y}of t){const L=Math.floor((y-e)/a)*a,x=Math.ceil((y+T+e)/a)*a,g=Math.floor((M-e)/a)*a,F=Math.ceil((M+Y+e)/a)*a,j=[L,g,F,!0],D=[x,g,F,!1];m(this,Eu).push(j,D),Ae.rectBoundingBox(L,g,x,F,s)}const c=s[2]-s[0]+2*n,o=s[3]-s[1]+2*n,d=s[0]-n,h=s[1]-n,b=m(this,Eu).at(i?-1:-2),p=[b[0],b[2]];for(const y of m(this,Eu)){const[M,T,Y]=y;y[0]=(M-d)/c,y[1]=(T-h)/o,y[2]=(Y-h)/o}z(this,dW,new Float32Array([d,h,c,o])),z(this,uW,p)}getOutlines(){m(this,Eu).sort((e,n)=>e[0]-n[0]||e[1]-n[1]||e[2]-n[2]);const t=[];for(const e of m(this,Eu))e[3]?(t.push(...J(this,qs,WL).call(this,e)),J(this,qs,XD).call(this,e)):(J(this,qs,YD).call(this,e),t.push(...J(this,qs,WL).call(this,e)));return J(this,qs,TD).call(this,t)}}dW=new WeakMap,uW=new WeakMap,Eu=new WeakMap,qc=new WeakMap,qs=new WeakSet,TD=function(t){const e=[],n=new Set;for(const a of t){const[c,o,d]=a;e.push([c,o,a],[c,d,a])}e.sort((a,c)=>a[1]-c[1]||a[0]-c[0]);for(let a=0,c=e.length;a<c;a+=2){const o=e[a][2],d=e[a+1][2];o.push(d),d.push(o),n.add(o),n.add(d)}const i=[];let s;for(;n.size>0;){const a=n.values().next().value;let[c,o,d,h,b]=a;n.delete(a);let p=c,y=o;for(s=[c,d],i.push(s);;){let M;if(n.has(h))M=h;else if(n.has(b))M=b;else break;n.delete(M),[c,o,d,h,b]=M,p!==c&&(s.push(p,y,c,y===o?o:d),p=c),y=y===o?d:o}s.push(p,y)}return new c$(i,m(this,dW),m(this,uW))},cM=function(t){const e=m(this,qc);let n=0,i=e.length-1;for(;n<=i;){const s=n+i>>1,a=e[s][0];if(a===t)return s;a<t?n=s+1:i=s-1}return i+1},XD=function([,t,e]){const n=J(this,qs,cM).call(this,t);m(this,qc).splice(n,0,[t,e])},YD=function([,t,e]){const n=J(this,qs,cM).call(this,t);for(let i=n;i<m(this,qc).length;i++){const[s,a]=m(this,qc)[i];if(s!==t)break;if(s===t&&a===e){m(this,qc).splice(i,1);return}}for(let i=n-1;i>=0;i--){const[s,a]=m(this,qc)[i];if(s!==t)break;if(s===t&&a===e){m(this,qc).splice(i,1);return}}},WL=function(t){const[e,n,i]=t,s=[[e,n,i]],a=J(this,qs,cM).call(this,i);for(let c=0;c<a;c++){const[o,d]=m(this,qc)[c];for(let h=0,b=s.length;h<b;h++){const[,p,y]=s[h];if(!(d<=p||y<=o)){if(p>=o){if(y>d)s[h][1]=d;else{if(b===1)return[];s.splice(h,1),h--,b--}continue}s[h][2]=o,y>d&&s.push([e,d,y])}}}return s};var mW,OZ;class c$ extends Ee{constructor(e,n,i){super();k(this,mW);k(this,OZ);z(this,OZ,e),z(this,mW,n),this.lastPoint=i}toSVGPath(){const e=[];for(const n of m(this,OZ)){let[i,s]=n;e.push(`M${i} ${s}`);for(let a=2;a<n.length;a+=2){const c=n[a],o=n[a+1];c===i?(e.push(`V${o}`),s=o):o===s&&(e.push(`H${c}`),i=c)}e.push("Z")}return e.join(" ")}serialize([e,n,i,s],a){const c=[],o=i-e,d=s-n;for(const h of m(this,OZ)){const b=new Array(h.length);for(let p=0;p<h.length;p+=2)b[p]=e+h[p]*o,b[p+1]=s-h[p+1]*d;c.push(b)}return c}get box(){return m(this,mW)}get classNamesForOutlining(){return["highlightOutline"]}}mW=new WeakMap,OZ=new WeakMap;class NL extends KM{newFreeDrawOutline(t,e,n,i,s,a){return new r$(t,e,n,i,s,a)}}class r$ extends MD{newOutliner(t,e,n,i,s,a=0){return new NL(t,e,n,i,s,a)}}var jZ,hW,dd,qm,bW,ba,ZW,pW,$m,Mc,Ja,hs,CZ,ud,zs,FZ,Gc,yW,Rl,ML,rM,LD,VD,ID,GL,lm,Lc,Xb,wD,oM,p2,zD,gD,xD,fD,SD;const rn=class rn extends xn{constructor(e){super({...e,name:"highlightEditor"});k(this,Rl);k(this,jZ,null);k(this,hW,0);k(this,dd);k(this,qm,null);k(this,bW,null);k(this,ba,null);k(this,ZW,null);k(this,pW,0);k(this,$m,null);k(this,Mc,null);k(this,Ja,null);k(this,hs,!1);k(this,CZ,null);k(this,ud);k(this,zs,null);k(this,FZ,"");k(this,Gc);k(this,yW,"");this.color=e.color||rn._defaultColor,z(this,Gc,e.thickness||rn._defaultThickness),z(this,ud,e.opacity||rn._defaultOpacity),z(this,dd,e.boxes||null),z(this,yW,e.methodOfCreation||""),z(this,FZ,e.text||""),this._isDraggable=!1,this.defaultL10nId="pdfjs-editor-highlight-editor",e.highlightId>-1?(z(this,hs,!0),J(this,Rl,rM).call(this,e),J(this,Rl,lm).call(this)):m(this,dd)&&(z(this,jZ,e.anchorNode),z(this,hW,e.anchorOffset),z(this,ZW,e.focusNode),z(this,pW,e.focusOffset),J(this,Rl,ML).call(this),J(this,Rl,lm).call(this),this.rotate(this.rotation)),this.annotationElementId||this._uiManager.a11yAlert("pdfjs-editor-highlight-added-alert")}static get _keyboardManager(){const e=rn.prototype;return vl(this,"_keyboardManager",new CW([[["ArrowLeft","mac+ArrowLeft"],e._moveCaret,{args:[0]}],[["ArrowRight","mac+ArrowRight"],e._moveCaret,{args:[1]}],[["ArrowUp","mac+ArrowUp"],e._moveCaret,{args:[2]}],[["ArrowDown","mac+ArrowDown"],e._moveCaret,{args:[3]}]]))}get telemetryInitialData(){return{action:"added",type:m(this,hs)?"free_highlight":"highlight",color:this._uiManager.getNonHCMColorName(this.color),thickness:m(this,Gc),methodOfCreation:m(this,yW)}}get telemetryFinalData(){return{type:"highlight",color:this._uiManager.getNonHCMColorName(this.color)}}get commentColor(){return this.color}static computeTelemetryFinalData(e){return{numberOfColors:e.get("color").size}}static initialize(e,n){var i;xn.initialize(e,n),rn._defaultColor||(rn._defaultColor=((i=n.highlightColors)==null?void 0:i.values().next().value)||"#fff066")}static updateDefaultParams(e,n){switch(e){case _l.HIGHLIGHT_COLOR:rn._defaultColor=n;break;case _l.HIGHLIGHT_THICKNESS:rn._defaultThickness=n;break}}translateInPage(e,n){}get toolbarPosition(){return m(this,CZ)}updateParams(e,n){switch(e){case _l.HIGHLIGHT_COLOR:J(this,Rl,LD).call(this,n);break;case _l.HIGHLIGHT_THICKNESS:J(this,Rl,VD).call(this,n);break}}static get defaultPropertiesToUpdate(){return[[_l.HIGHLIGHT_COLOR,rn._defaultColor],[_l.HIGHLIGHT_THICKNESS,rn._defaultThickness]]}get propertiesToUpdate(){return[[_l.HIGHLIGHT_COLOR,this.color||rn._defaultColor],[_l.HIGHLIGHT_THICKNESS,m(this,Gc)||rn._defaultThickness],[_l.HIGHLIGHT_FREE,m(this,hs)]]}get toolbarButtons(){return this._uiManager.highlightColors?[["colorPicker",z(this,bW,new vM({editor:this}))]]:super.toolbarButtons}disableEditing(){super.disableEditing(),this.div.classList.toggle("disabled",!0)}enableEditing(){super.enableEditing(),this.div.classList.toggle("disabled",!1)}fixAndSetPosition(){return super.fixAndSetPosition(J(this,Rl,p2).call(this))}getBaseTranslation(){return[0,0]}getRect(e,n){return super.getRect(e,n,J(this,Rl,p2).call(this))}onceAdded(e){this.annotationElementId||this.parent.addUndoableEditor(this),e&&this.div.focus()}remove(){J(this,Rl,GL).call(this),this._reportTelemetry({action:"deleted"}),super.remove()}rebuild(){this.parent&&(super.rebuild(),this.div!==null&&(J(this,Rl,lm).call(this),this.isAttachedToDOM||this.parent.add(this)))}setParent(e){var i;let n=!1;this.parent&&!e?J(this,Rl,GL).call(this):e&&(J(this,Rl,lm).call(this,e),n=!this.parent&&((i=this.div)==null?void 0:i.classList.contains("selectedEditor"))),super.setParent(e),this.show(this._isVisible),n&&this.select()}rotate(e){var s,a,c;const{drawLayer:n}=this.parent;let i;m(this,hs)?(e=(e-this.rotation+360)%360,i=J(s=rn,Lc,Xb).call(s,m(this,Mc).box,e)):i=J(a=rn,Lc,Xb).call(a,[this.x,this.y,this.width,this.height],e),n.updateProperties(m(this,Ja),{bbox:i,root:{"data-main-rotation":e}}),n.updateProperties(m(this,zs),{bbox:J(c=rn,Lc,Xb).call(c,m(this,ba).box,e),root:{"data-main-rotation":e}})}render(){if(this.div)return this.div;const e=super.render();m(this,FZ)&&(e.setAttribute("aria-label",m(this,FZ)),e.setAttribute("role","mark")),m(this,hs)?e.classList.add("free"):this.div.addEventListener("keydown",J(this,Rl,wD).bind(this),{signal:this._uiManager._signal});const n=z(this,$m,document.createElement("div"));e.append(n),n.setAttribute("aria-hidden","true"),n.className="internal",n.style.clipPath=m(this,qm);const[i,s]=this.parentDimensions;return this.setDims(this.width*i,this.height*s),_R(this,m(this,$m),["pointerover","pointerleave"]),this.enableEditing(),e}pointerover(){var e;this.isSelected||(e=this.parent)==null||e.drawLayer.updateProperties(m(this,zs),{rootClass:{hovered:!0}})}pointerleave(){var e;this.isSelected||(e=this.parent)==null||e.drawLayer.updateProperties(m(this,zs),{rootClass:{hovered:!1}})}_moveCaret(e){switch(this.parent.unselect(this),e){case 0:case 2:J(this,Rl,oM).call(this,!0);break;case 1:case 3:J(this,Rl,oM).call(this,!1);break}}select(){var e;super.select(),m(this,zs)&&((e=this.parent)==null||e.drawLayer.updateProperties(m(this,zs),{rootClass:{hovered:!1,selected:!0}}))}unselect(){var e;super.unselect(),m(this,zs)&&((e=this.parent)==null||e.drawLayer.updateProperties(m(this,zs),{rootClass:{selected:!1}}),m(this,hs)||J(this,Rl,oM).call(this,!1))}get _mustFixPosition(){return!m(this,hs)}show(e=this._isVisible){super.show(e),this.parent&&(this.parent.drawLayer.updateProperties(m(this,Ja),{rootClass:{hidden:!e}}),this.parent.drawLayer.updateProperties(m(this,zs),{rootClass:{hidden:!e}}))}static startHighlighting(e,n,{target:i,x:s,y:a}){const{x:c,y:o,width:d,height:h}=i.getBoundingClientRect(),b=new AbortController,p=e.combinedSignal(b),y=M=>{b.abort(),J(this,Lc,fD).call(this,e,M)};window.addEventListener("blur",y,{signal:p}),window.addEventListener("pointerup",y,{signal:p}),window.addEventListener("pointerdown",Li,{capture:!0,passive:!1,signal:p}),window.addEventListener("contextmenu",Sc,{signal:p}),i.addEventListener("pointermove",J(this,Lc,xD).bind(this,e),{signal:p}),this._freeHighlight=new NL({x:s,y:a},[c,o,d,h],e.scale,this._defaultThickness/2,n,.001),{id:this._freeHighlightId,clipPathId:this._freeHighlightClipId}=e.drawLayer.draw({bbox:[0,0,1,1],root:{viewBox:"0 0 1 1",fill:this._defaultColor,"fill-opacity":this._defaultOpacity},rootClass:{highlight:!0,free:!0},path:{d:this._freeHighlight.toSVGPath()}},!0,!0)}static async deserialize(e,n,i){var T,Y,L,x;let s=null;if(e instanceof cD){const{data:{quadPoints:g,rect:F,rotation:j,id:D,color:_,opacity:ut,popupRef:K,contentsObj:f},parent:{page:{pageNumber:lt}}}=e;s=e={annotationType:Tl.HIGHLIGHT,color:Array.from(_),opacity:ut,quadPoints:g,boxes:null,pageIndex:lt-1,rect:F.slice(0),rotation:j,annotationElementId:D,id:D,deleted:!1,popupRef:K,comment:(f==null?void 0:f.str)||null}}else if(e instanceof $V){const{data:{inkLists:g,rect:F,rotation:j,id:D,color:_,borderStyle:{rawWidth:ut},popupRef:K,contentsObj:f},parent:{page:{pageNumber:lt}}}=e;s=e={annotationType:Tl.HIGHLIGHT,color:Array.from(_),thickness:ut,inkLists:g,boxes:null,pageIndex:lt-1,rect:F.slice(0),rotation:j,annotationElementId:D,id:D,deleted:!1,popupRef:K,comment:(f==null?void 0:f.str)||null}}const{color:a,quadPoints:c,inkLists:o,opacity:d}=e,h=await super.deserialize(e,n,i);h.color=Ae.makeHexColor(...a),z(h,ud,d||1),o&&z(h,Gc,e.thickness),h._initialData=s,e.comment&&h.setCommentData(e.comment);const[b,p]=h.pageDimensions,[y,M]=h.pageTranslation;if(c){const g=z(h,dd,[]);for(let F=0;F<c.length;F+=8)g.push({x:(c[F]-y)/b,y:1-(c[F+1]-M)/p,width:(c[F+2]-c[F])/b,height:(c[F+1]-c[F+5])/p});J(T=h,Rl,ML).call(T),J(Y=h,Rl,lm).call(Y),h.rotate(h.rotation)}else if(o){z(h,hs,!0);const g=o[0],F={x:g[0]-y,y:p-(g[1]-M)},j=new NL(F,[0,0,b,p],1,m(h,Gc)/2,!0,.001);for(let ut=0,K=g.length;ut<K;ut+=2)F.x=g[ut]-y,F.y=p-(g[ut+1]-M),j.add(F);const{id:D,clipPathId:_}=n.drawLayer.draw({bbox:[0,0,1,1],root:{viewBox:"0 0 1 1",fill:h.color,"fill-opacity":h._defaultOpacity},rootClass:{highlight:!0,free:!0},path:{d:j.toSVGPath()}},!0,!0);J(L=h,Rl,rM).call(L,{highlightOutlines:j.getOutlines(),highlightId:D,clipPathId:_}),J(x=h,Rl,lm).call(x),h.rotate(h.parentRotation)}return h}serialize(e=!1){if(this.isEmpty()||e)return null;if(this.deleted)return this.serializeDeleted();const n=this.getPDFRect(),i=xn._colorManager.convert(this._uiManager.getNonHCMColor(this.color)),s={annotationType:Tl.HIGHLIGHT,color:i,opacity:m(this,ud),thickness:m(this,Gc),quadPoints:J(this,Rl,zD).call(this),outlines:J(this,Rl,gD).call(this,n),pageIndex:this.pageIndex,rect:n,rotation:J(this,Rl,p2).call(this),structTreeParentId:this._structTreeParentId};return this.addComment(s),this.annotationElementId&&!J(this,Rl,SD).call(this,s)?null:(s.id=this.annotationElementId,s)}renderAnnotationElement(e){if(this.deleted)return e.hide(),null;const n={rect:this.getPDFRect()};return this.hasEditedComment&&(n.popup=this.comment),e.updateEdited(n),null}static canCreateNewEmptyEditor(){return!1}};jZ=new WeakMap,hW=new WeakMap,dd=new WeakMap,qm=new WeakMap,bW=new WeakMap,ba=new WeakMap,ZW=new WeakMap,pW=new WeakMap,$m=new WeakMap,Mc=new WeakMap,Ja=new WeakMap,hs=new WeakMap,CZ=new WeakMap,ud=new WeakMap,zs=new WeakMap,FZ=new WeakMap,Gc=new WeakMap,yW=new WeakMap,Rl=new WeakSet,ML=function(){const e=new yL(m(this,dd),.001);z(this,Mc,e.getOutlines()),[this.x,this.y,this.width,this.height]=m(this,Mc).box;const n=new yL(m(this,dd),.0025,.001,this._uiManager.direction==="ltr");z(this,ba,n.getOutlines());const{lastPoint:i}=m(this,ba);z(this,CZ,[(i[0]-this.x)/this.width,(i[1]-this.y)/this.height])},rM=function({highlightOutlines:e,highlightId:n,clipPathId:i}){var b,p;if(z(this,Mc,e),z(this,ba,e.getNewOutline(m(this,Gc)/2+1.5,.0025)),n>=0)z(this,Ja,n),z(this,qm,i),this.parent.drawLayer.finalizeDraw(n,{bbox:e.box,path:{d:e.toSVGPath()}}),z(this,zs,this.parent.drawLayer.drawOutline({rootClass:{highlightOutline:!0,free:!0},bbox:m(this,ba).box,path:{d:m(this,ba).toSVGPath()}},!0));else if(this.parent){const y=this.parent.viewport.rotation;this.parent.drawLayer.updateProperties(m(this,Ja),{bbox:J(b=rn,Lc,Xb).call(b,m(this,Mc).box,(y-this.rotation+360)%360),path:{d:e.toSVGPath()}}),this.parent.drawLayer.updateProperties(m(this,zs),{bbox:J(p=rn,Lc,Xb).call(p,m(this,ba).box,y),path:{d:m(this,ba).toSVGPath()}})}const[a,c,o,d]=e.box;switch(this.rotation){case 0:this.x=a,this.y=c,this.width=o,this.height=d;break;case 90:{const[y,M]=this.parentDimensions;this.x=c,this.y=1-a,this.width=o*M/y,this.height=d*y/M;break}case 180:this.x=1-a,this.y=1-c,this.width=o,this.height=d;break;case 270:{const[y,M]=this.parentDimensions;this.x=1-c,this.y=a,this.width=o*M/y,this.height=d*y/M;break}}const{lastPoint:h}=m(this,ba);z(this,CZ,[(h[0]-a)/o,(h[1]-c)/d])},LD=function(e){const n=(a,c)=>{var o,d;this.color=a,z(this,ud,c),(o=this.parent)==null||o.drawLayer.updateProperties(m(this,Ja),{root:{fill:a,"fill-opacity":c}}),(d=m(this,bW))==null||d.updateColor(a)},i=this.color,s=m(this,ud);this.addCommands({cmd:n.bind(this,e,rn._defaultOpacity),undo:n.bind(this,i,s),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:_l.HIGHLIGHT_COLOR,overwriteIfSameType:!0,keepUndo:!0}),this._reportTelemetry({action:"color_changed",color:this._uiManager.getNonHCMColorName(e)},!0)},VD=function(e){const n=m(this,Gc),i=s=>{z(this,Gc,s),J(this,Rl,ID).call(this,s)};this.addCommands({cmd:i.bind(this,e),undo:i.bind(this,n),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:_l.INK_THICKNESS,overwriteIfSameType:!0,keepUndo:!0}),this._reportTelemetry({action:"thickness_changed",thickness:e},!0)},ID=function(e){if(!m(this,hs))return;J(this,Rl,rM).call(this,{highlightOutlines:m(this,Mc).getNewOutline(e/2)}),this.fixAndSetPosition();const[n,i]=this.parentDimensions;this.setDims(this.width*n,this.height*i)},GL=function(){m(this,Ja)===null||!this.parent||(this.parent.drawLayer.remove(m(this,Ja)),z(this,Ja,null),this.parent.drawLayer.remove(m(this,zs)),z(this,zs,null))},lm=function(e=this.parent){m(this,Ja)===null&&({id:Ri(this,Ja)._,clipPathId:Ri(this,qm)._}=e.drawLayer.draw({bbox:m(this,Mc).box,root:{viewBox:"0 0 1 1",fill:this.color,"fill-opacity":m(this,ud)},rootClass:{highlight:!0,free:m(this,hs)},path:{d:m(this,Mc).toSVGPath()}},!1,!0),z(this,zs,e.drawLayer.drawOutline({rootClass:{highlightOutline:!0,free:m(this,hs)},bbox:m(this,ba).box,path:{d:m(this,ba).toSVGPath()}},m(this,hs))),m(this,$m)&&(m(this,$m).style.clipPath=m(this,qm)))},Lc=new WeakSet,Xb=function([e,n,i,s],a){switch(a){case 90:return[1-n-s,e,s,i];case 180:return[1-e-i,1-n-s,i,s];case 270:return[n,1-e-i,s,i]}return[e,n,i,s]},wD=function(e){rn._keyboardManager.exec(this,e)},oM=function(e){if(!m(this,jZ))return;const n=window.getSelection();e?n.setPosition(m(this,jZ),m(this,hW)):n.setPosition(m(this,ZW),m(this,pW))},p2=function(){return m(this,hs)?this.rotation:0},zD=function(){if(m(this,hs))return null;const[e,n]=this.pageDimensions,[i,s]=this.pageTranslation,a=m(this,dd),c=new Float32Array(a.length*8);let o=0;for(const{x:d,y:h,width:b,height:p}of a){const y=d*e+i,M=(1-h)*n+s;c[o]=c[o+4]=y,c[o+1]=c[o+3]=M,c[o+2]=c[o+6]=y+b*e,c[o+5]=c[o+7]=M-p*n,o+=8}return c},gD=function(e){return m(this,Mc).serialize(e,J(this,Rl,p2).call(this))},xD=function(e,n){this._freeHighlight.add(n)&&e.drawLayer.updateProperties(this._freeHighlightId,{path:{d:this._freeHighlight.toSVGPath()}})},fD=function(e,n){this._freeHighlight.isEmpty()?e.drawLayer.remove(this._freeHighlightId):e.createAndAddNewEditor(n,!1,{highlightId:this._freeHighlightId,highlightOutlines:this._freeHighlight.getOutlines(),clipPathId:this._freeHighlightClipId,methodOfCreation:"main_toolbar"}),this._freeHighlightId=-1,this._freeHighlight=null,this._freeHighlightClipId=""},SD=function(e){const{color:n}=this._initialData;return this.hasEditedComment||e.color.some((i,s)=>i!==n[s])},k(rn,Lc),We(rn,"_defaultColor",null),We(rn,"_defaultOpacity",1),We(rn,"_defaultThickness",12),We(rn,"_type","highlight"),We(rn,"_editorType",Tl.HIGHLIGHT),We(rn,"_freeHighlightId",-1),We(rn,"_freeHighlight",null),We(rn,"_freeHighlightClipId","");let PM=rn;var th;class RD{constructor(){k(this,th,Object.create(null))}updateProperty(t,e){this[t]=e,this.updateSVGProperty(t,e)}updateProperties(t){if(t)for(const[e,n]of Object.entries(t))e.startsWith("_")||this.updateProperty(e,n)}updateSVGProperty(t,e){m(this,th)[t]=e}toSVGProperties(){const t=m(this,th);return z(this,th,Object.create(null)),{root:t}}reset(){z(this,th,Object.create(null))}updateAll(t=this){this.updateProperties(t)}clone(){Xn("Not implemented")}}th=new WeakMap;var va,JZ,Ai,eh,lh,Ku,Pu,Hu,nh,tn,TL,XL,YL,y2,kD,dM,W2,Yb;const Be=class Be extends xn{constructor(e){super(e);k(this,tn);k(this,va,null);k(this,JZ);We(this,"_colorPicker",null);We(this,"_drawId",null);z(this,JZ,e.mustBeCommitted||!1),this._addOutlines(e)}_addOutlines(e){e.drawOutlines&&(J(this,tn,TL).call(this,e),J(this,tn,y2).call(this))}static _mergeSVGProperties(e,n){const i=new Set(Object.keys(e));for(const[s,a]of Object.entries(n))i.has(s)?Object.assign(e[s],a):e[s]=a;return e}static getDefaultDrawingOptions(e){Xn("Not implemented")}static get typesMap(){Xn("Not implemented")}static get isDrawer(){return!0}static get supportMultipleDrawings(){return!1}static updateDefaultParams(e,n){const i=this.typesMap.get(e);i&&this._defaultDrawingOptions.updateProperty(i,n),this._currentParent&&(m(Be,Ai).updateProperty(i,n),this._currentParent.drawLayer.updateProperties(this._currentDrawId,this._defaultDrawingOptions.toSVGProperties()))}updateParams(e,n){const i=this.constructor.typesMap.get(e);i&&this._updateProperty(e,i,n)}static get defaultPropertiesToUpdate(){const e=[],n=this._defaultDrawingOptions;for(const[i,s]of this.typesMap)e.push([i,n[s]]);return e}get propertiesToUpdate(){const e=[],{_drawingOptions:n}=this;for(const[i,s]of this.constructor.typesMap)e.push([i,n[s]]);return e}_updateProperty(e,n,i){const s=this._drawingOptions,a=s[n],c=o=>{var h,b;s.updateProperty(n,o);const d=m(this,va).updateProperty(n,o);d&&J(this,tn,W2).call(this,d),(h=this.parent)==null||h.drawLayer.updateProperties(this._drawId,s.toSVGProperties()),e===this.colorType&&((b=this._colorPicker)==null||b.update(o))};this.addCommands({cmd:c.bind(this,i),undo:c.bind(this,a),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:e,overwriteIfSameType:!0,keepUndo:!0})}_onResizing(){var e;(e=this.parent)==null||e.drawLayer.updateProperties(this._drawId,Be._mergeSVGProperties(m(this,va).getPathResizingSVGProperties(J(this,tn,dM).call(this)),{bbox:J(this,tn,Yb).call(this)}))}_onResized(){var e;(e=this.parent)==null||e.drawLayer.updateProperties(this._drawId,Be._mergeSVGProperties(m(this,va).getPathResizedSVGProperties(J(this,tn,dM).call(this)),{bbox:J(this,tn,Yb).call(this)}))}_onTranslating(e,n){var i;(i=this.parent)==null||i.drawLayer.updateProperties(this._drawId,{bbox:J(this,tn,Yb).call(this)})}_onTranslated(){var e;(e=this.parent)==null||e.drawLayer.updateProperties(this._drawId,Be._mergeSVGProperties(m(this,va).getPathTranslatedSVGProperties(J(this,tn,dM).call(this),this.parentDimensions),{bbox:J(this,tn,Yb).call(this)}))}_onStartDragging(){var e;(e=this.parent)==null||e.drawLayer.updateProperties(this._drawId,{rootClass:{moving:!0}})}_onStopDragging(){var e;(e=this.parent)==null||e.drawLayer.updateProperties(this._drawId,{rootClass:{moving:!1}})}commit(){super.commit(),this.disableEditMode(),this.disableEditing()}disableEditing(){super.disableEditing(),this.div.classList.toggle("disabled",!0)}enableEditing(){super.enableEditing(),this.div.classList.toggle("disabled",!1)}getBaseTranslation(){return[0,0]}get isResizable(){return!0}onceAdded(e){this.annotationElementId||this.parent.addUndoableEditor(this),this._isDraggable=!0,m(this,JZ)&&(z(this,JZ,!1),this.commit(),this.parent.setSelected(this),e&&this.isOnScreen&&this.div.focus())}remove(){J(this,tn,YL).call(this),super.remove()}rebuild(){this.parent&&(super.rebuild(),this.div!==null&&(J(this,tn,y2).call(this),J(this,tn,W2).call(this,m(this,va).box),this.isAttachedToDOM||this.parent.add(this)))}setParent(e){var i;let n=!1;this.parent&&!e?(this._uiManager.removeShouldRescale(this),J(this,tn,YL).call(this)):e&&(this._uiManager.addShouldRescale(this),J(this,tn,y2).call(this,e),n=!this.parent&&((i=this.div)==null?void 0:i.classList.contains("selectedEditor"))),super.setParent(e),n&&this.select()}rotate(){this.parent&&this.parent.drawLayer.updateProperties(this._drawId,Be._mergeSVGProperties({bbox:J(this,tn,Yb).call(this)},m(this,va).updateRotation((this.parentRotation-this.rotation+360)%360)))}onScaleChanging(){this.parent&&J(this,tn,W2).call(this,m(this,va).updateParentDimensions(this.parentDimensions,this.parent.scale))}static onScaleChangingWhenDrawing(){}render(){if(this.div)return this.div;let e,n;this._isCopy&&(e=this.x,n=this.y);const i=super.render();i.classList.add("draw");const s=document.createElement("div");i.append(s),s.setAttribute("aria-hidden","true"),s.className="internal";const[a,c]=this.parentDimensions;return this.setDims(this.width*a,this.height*c),this._uiManager.addShouldRescale(this),this.disableEditing(),this._isCopy&&this._moveAfterPaste(e,n),i}static createDrawerInstance(e,n,i,s,a){Xn("Not implemented")}static startDrawing(e,n,i,s){var Y;const{target:a,offsetX:c,offsetY:o,pointerId:d,pointerType:h}=s;if(m(Be,Pu)&&m(Be,Pu)!==h)return;const{viewport:{rotation:b}}=e,{width:p,height:y}=a.getBoundingClientRect(),M=z(Be,eh,new AbortController),T=e.combinedSignal(M);if(m(Be,Ku)||z(Be,Ku,d),m(Be,Pu)??z(Be,Pu,h),window.addEventListener("pointerup",L=>{var x;m(Be,Ku)===L.pointerId?this._endDraw(L):(x=m(Be,Hu))==null||x.delete(L.pointerId)},{signal:T}),window.addEventListener("pointercancel",L=>{var x;m(Be,Ku)===L.pointerId?this._currentParent.endDrawingSession():(x=m(Be,Hu))==null||x.delete(L.pointerId)},{signal:T}),window.addEventListener("pointerdown",L=>{m(Be,Pu)===L.pointerType&&((m(Be,Hu)||z(Be,Hu,new Set)).add(L.pointerId),m(Be,Ai).isCancellable()&&(m(Be,Ai).removeLastElement(),m(Be,Ai).isEmpty()?this._currentParent.endDrawingSession(!0):this._endDraw(null)))},{capture:!0,passive:!1,signal:T}),window.addEventListener("contextmenu",Sc,{signal:T}),a.addEventListener("pointermove",this._drawMove.bind(this),{signal:T}),a.addEventListener("touchmove",L=>{L.timeStamp===m(Be,nh)&&Li(L)},{signal:T}),e.toggleDrawing(),(Y=n._editorUndoBar)==null||Y.hide(),m(Be,Ai)){e.drawLayer.updateProperties(this._currentDrawId,m(Be,Ai).startNew(c,o,p,y,b));return}n.updateUIForDefaultProperties(this),z(Be,Ai,this.createDrawerInstance(c,o,p,y,b)),z(Be,lh,this.getDefaultDrawingOptions()),this._currentParent=e,{id:this._currentDrawId}=e.drawLayer.draw(this._mergeSVGProperties(m(Be,lh).toSVGProperties(),m(Be,Ai).defaultSVGProperties),!0,!1)}static _drawMove(e){var a;if(z(Be,nh,-1),!m(Be,Ai))return;const{offsetX:n,offsetY:i,pointerId:s}=e;if(m(Be,Ku)===s){if(((a=m(Be,Hu))==null?void 0:a.size)>=1){this._endDraw(e);return}this._currentParent.drawLayer.updateProperties(this._currentDrawId,m(Be,Ai).add(n,i)),z(Be,nh,e.timeStamp),Li(e)}}static _cleanup(e){e&&(this._currentDrawId=-1,this._currentParent=null,z(Be,Ai,null),z(Be,lh,null),z(Be,Pu,null),z(Be,nh,NaN)),m(Be,eh)&&(m(Be,eh).abort(),z(Be,eh,null),z(Be,Ku,NaN),z(Be,Hu,null))}static _endDraw(e){const n=this._currentParent;if(n){if(n.toggleDrawing(!0),this._cleanup(!1),(e==null?void 0:e.target)===n.div&&n.drawLayer.updateProperties(this._currentDrawId,m(Be,Ai).end(e.offsetX,e.offsetY)),this.supportMultipleDrawings){const i=m(Be,Ai),s=this._currentDrawId,a=i.getLastElement();n.addCommands({cmd:()=>{n.drawLayer.updateProperties(s,i.setLastElement(a))},undo:()=>{n.drawLayer.updateProperties(s,i.removeLastElement())},mustExec:!1,type:_l.DRAW_STEP});return}this.endDrawing(!1)}}static endDrawing(e){const n=this._currentParent;if(!n)return null;if(n.toggleDrawing(!0),n.cleanUndoStack(_l.DRAW_STEP),!m(Be,Ai).isEmpty()){const{pageDimensions:[i,s],scale:a}=n,c=n.createAndAddNewEditor({offsetX:0,offsetY:0},!1,{drawId:this._currentDrawId,drawOutlines:m(Be,Ai).getOutlines(i*a,s*a,a,this._INNER_MARGIN),drawingOptions:m(Be,lh),mustBeCommitted:!e});return this._cleanup(!0),c}return n.drawLayer.remove(this._currentDrawId),this._cleanup(!0),null}createDrawingOptions(e){}static deserializeDraw(e,n,i,s,a,c){Xn("Not implemented")}static async deserialize(e,n,i){var b,p;const{rawDims:{pageWidth:s,pageHeight:a,pageX:c,pageY:o}}=n.viewport,d=this.deserializeDraw(c,o,s,a,this._INNER_MARGIN,e),h=await super.deserialize(e,n,i);return h.createDrawingOptions(e),J(b=h,tn,TL).call(b,{drawOutlines:d}),J(p=h,tn,y2).call(p),h.onScaleChanging(),h.rotate(),h}serializeDraw(e){const[n,i]=this.pageTranslation,[s,a]=this.pageDimensions;return m(this,va).serialize([n,i,s,a],e)}renderAnnotationElement(e){return e.updateEdited({rect:this.getPDFRect()}),null}static canCreateNewEmptyEditor(){return!1}};va=new WeakMap,JZ=new WeakMap,Ai=new WeakMap,eh=new WeakMap,lh=new WeakMap,Ku=new WeakMap,Pu=new WeakMap,Hu=new WeakMap,nh=new WeakMap,tn=new WeakSet,TL=function({drawOutlines:e,drawId:n,drawingOptions:i}){z(this,va,e),this._drawingOptions||(this._drawingOptions=i),this.annotationElementId||this._uiManager.a11yAlert(`pdfjs-editor-${this.editorType}-added-alert`),n>=0?(this._drawId=n,this.parent.drawLayer.finalizeDraw(n,e.defaultProperties)):this._drawId=J(this,tn,XL).call(this,e,this.parent),J(this,tn,W2).call(this,e.box)},XL=function(e,n){const{id:i}=n.drawLayer.draw(Be._mergeSVGProperties(this._drawingOptions.toSVGProperties(),e.defaultSVGProperties),!1,!1);return i},YL=function(){this._drawId===null||!this.parent||(this.parent.drawLayer.remove(this._drawId),this._drawId=null,this._drawingOptions.reset())},y2=function(e=this.parent){if(!(this._drawId!==null&&this.parent===e)){if(this._drawId!==null){this.parent.drawLayer.updateParent(this._drawId,e.drawLayer);return}this._drawingOptions.updateAll(),this._drawId=J(this,tn,XL).call(this,m(this,va),e)}},kD=function([e,n,i,s]){const{parentDimensions:[a,c],rotation:o}=this;switch(o){case 90:return[n,1-e,i*(c/a),s*(a/c)];case 180:return[1-e,1-n,i,s];case 270:return[1-n,e,i*(c/a),s*(a/c)];default:return[e,n,i,s]}},dM=function(){const{x:e,y:n,width:i,height:s,parentDimensions:[a,c],rotation:o}=this;switch(o){case 90:return[1-n,e,i*(a/c),s*(c/a)];case 180:return[1-e,1-n,i,s];case 270:return[n,1-e,i*(a/c),s*(c/a)];default:return[e,n,i,s]}},W2=function(e){if([this.x,this.y,this.width,this.height]=J(this,tn,kD).call(this,e),this.div){this.fixAndSetPosition();const[n,i]=this.parentDimensions;this.setDims(this.width*n,this.height*i)}this._onResized()},Yb=function(){const{x:e,y:n,width:i,height:s,rotation:a,parentRotation:c,parentDimensions:[o,d]}=this;switch((a*4+c)/90){case 1:return[1-n-s,e,s,i];case 2:return[1-e-i,1-n-s,i,s];case 3:return[n,1-e-i,s,i];case 4:return[e,n-i*(o/d),s*(d/o),i*(o/d)];case 5:return[1-n,e,i*(o/d),s*(d/o)];case 6:return[1-e-s*(d/o),1-n,s*(d/o),i*(o/d)];case 7:return[n-i*(o/d),1-e-s*(d/o),i*(o/d),s*(d/o)];case 8:return[e-i,n-s,i,s];case 9:return[1-n,e-i,s,i];case 10:return[1-e,1-n,i,s];case 11:return[n-s,1-e,s,i];case 12:return[e-s*(d/o),n,s*(d/o),i*(o/d)];case 13:return[1-n-i*(o/d),e-s*(d/o),i*(o/d),s*(d/o)];case 14:return[1-e,1-n-i*(o/d),s*(d/o),i*(o/d)];case 15:return[n,1-e,i*(o/d),s*(d/o)];default:return[e,n,i,s]}},We(Be,"_currentDrawId",-1),We(Be,"_currentParent",null),k(Be,Ai,null),k(Be,eh,null),k(Be,lh,null),k(Be,Ku,NaN),k(Be,Pu,null),k(Be,Hu,null),k(Be,nh,NaN),We(Be,"_INNER_MARGIN",3);let HM=Be;var Ur,_i,qi,ih,vZ,Js,bs,Tc,sh,ah,ch,UZ,uM;class o${constructor(t,e,n,i,s,a){k(this,UZ);k(this,Ur,new Float64Array(6));k(this,_i);k(this,qi);k(this,ih);k(this,vZ);k(this,Js);k(this,bs,"");k(this,Tc,0);k(this,sh,new JW);k(this,ah);k(this,ch);z(this,ah,n),z(this,ch,i),z(this,ih,s),z(this,vZ,a),[t,e]=J(this,UZ,uM).call(this,t,e);const c=z(this,_i,[NaN,NaN,NaN,NaN,t,e]);z(this,Js,[t,e]),z(this,qi,[{line:c,points:m(this,Js)}]),m(this,Ur).set(c,0)}updateProperty(t,e){t==="stroke-width"&&z(this,vZ,e)}isEmpty(){return!m(this,qi)||m(this,qi).length===0}isCancellable(){return m(this,Js).length<=10}add(t,e){[t,e]=J(this,UZ,uM).call(this,t,e);const[n,i,s,a]=m(this,Ur).subarray(2,6),c=t-s,o=e-a;return Math.hypot(m(this,ah)*c,m(this,ch)*o)<=2?null:(m(this,Js).push(t,e),isNaN(n)?(m(this,Ur).set([s,a,t,e],2),m(this,_i).push(NaN,NaN,NaN,NaN,t,e),{path:{d:this.toSVGPath()}}):(isNaN(m(this,Ur)[0])&&m(this,_i).splice(6,6),m(this,Ur).set([n,i,s,a,t,e],0),m(this,_i).push(...Ee.createBezierPoints(n,i,s,a,t,e)),{path:{d:this.toSVGPath()}}))}end(t,e){const n=this.add(t,e);return n||(m(this,Js).length===2?{path:{d:this.toSVGPath()}}:null)}startNew(t,e,n,i,s){z(this,ah,n),z(this,ch,i),z(this,ih,s),[t,e]=J(this,UZ,uM).call(this,t,e);const a=z(this,_i,[NaN,NaN,NaN,NaN,t,e]);z(this,Js,[t,e]);const c=m(this,qi).at(-1);return c&&(c.line=new Float32Array(c.line),c.points=new Float32Array(c.points)),m(this,qi).push({line:a,points:m(this,Js)}),m(this,Ur).set(a,0),z(this,Tc,0),this.toSVGPath(),null}getLastElement(){return m(this,qi).at(-1)}setLastElement(t){return m(this,qi)?(m(this,qi).push(t),z(this,_i,t.line),z(this,Js,t.points),z(this,Tc,0),{path:{d:this.toSVGPath()}}):m(this,sh).setLastElement(t)}removeLastElement(){if(!m(this,qi))return m(this,sh).removeLastElement();m(this,qi).pop(),z(this,bs,"");for(let t=0,e=m(this,qi).length;t<e;t++){const{line:n,points:i}=m(this,qi)[t];z(this,_i,n),z(this,Js,i),z(this,Tc,0),this.toSVGPath()}return{path:{d:m(this,bs)}}}toSVGPath(){const t=Ee.svgRound(m(this,_i)[4]),e=Ee.svgRound(m(this,_i)[5]);if(m(this,Js).length===2)return z(this,bs,`${m(this,bs)} M ${t} ${e} Z`),m(this,bs);if(m(this,Js).length<=6){const i=m(this,bs).lastIndexOf("M");z(this,bs,`${m(this,bs).slice(0,i)} M ${t} ${e}`),z(this,Tc,6)}if(m(this,Js).length===4){const i=Ee.svgRound(m(this,_i)[10]),s=Ee.svgRound(m(this,_i)[11]);return z(this,bs,`${m(this,bs)} L ${i} ${s}`),z(this,Tc,12),m(this,bs)}const n=[];m(this,Tc)===0&&(n.push(`M ${t} ${e}`),z(this,Tc,6));for(let i=m(this,Tc),s=m(this,_i).length;i<s;i+=6){const[a,c,o,d,h,b]=m(this,_i).slice(i,i+6).map(Ee.svgRound);n.push(`C${a} ${c} ${o} ${d} ${h} ${b}`)}return z(this,bs,m(this,bs)+n.join(" ")),z(this,Tc,m(this,_i).length),m(this,bs)}getOutlines(t,e,n,i){const s=m(this,qi).at(-1);return s.line=new Float32Array(s.line),s.points=new Float32Array(s.points),m(this,sh).build(m(this,qi),t,e,n,m(this,ih),m(this,vZ),i),z(this,Ur,null),z(this,_i,null),z(this,qi,null),z(this,bs,null),m(this,sh)}get defaultSVGProperties(){return{root:{viewBox:"0 0 10000 10000"},rootClass:{draw:!0},bbox:[0,0,1,1]}}}Ur=new WeakMap,_i=new WeakMap,qi=new WeakMap,ih=new WeakMap,vZ=new WeakMap,Js=new WeakMap,bs=new WeakMap,Tc=new WeakMap,sh=new WeakMap,ah=new WeakMap,ch=new WeakMap,UZ=new WeakSet,uM=function(t,e){return Ee._normalizePoint(t,e,m(this,ah),m(this,ch),m(this,ih))};var vs,WW,NW,Ua,Er,Kr,EZ,KZ,rh,ps,zo,DD,OD,jD;class JW extends Ee{constructor(){super(...arguments);k(this,ps);k(this,vs);k(this,WW,0);k(this,NW);k(this,Ua);k(this,Er);k(this,Kr);k(this,EZ);k(this,KZ);k(this,rh)}build(e,n,i,s,a,c,o){z(this,Er,n),z(this,Kr,i),z(this,EZ,s),z(this,KZ,a),z(this,rh,c),z(this,NW,o??0),z(this,Ua,e),J(this,ps,OD).call(this)}get thickness(){return m(this,rh)}setLastElement(e){return m(this,Ua).push(e),{path:{d:this.toSVGPath()}}}removeLastElement(){return m(this,Ua).pop(),{path:{d:this.toSVGPath()}}}toSVGPath(){const e=[];for(const{line:n}of m(this,Ua)){if(e.push(`M${Ee.svgRound(n[4])} ${Ee.svgRound(n[5])}`),n.length===6){e.push("Z");continue}if(n.length===12&&isNaN(n[6])){e.push(`L${Ee.svgRound(n[10])} ${Ee.svgRound(n[11])}`);continue}for(let i=6,s=n.length;i<s;i+=6){const[a,c,o,d,h,b]=n.subarray(i,i+6).map(Ee.svgRound);e.push(`C${a} ${c} ${o} ${d} ${h} ${b}`)}}return e.join("")}serialize([e,n,i,s],a){const c=[],o=[],[d,h,b,p]=J(this,ps,DD).call(this);let y,M,T,Y,L,x,g,F,j;switch(m(this,KZ)){case 0:j=Ee._rescale,y=e,M=n+s,T=i,Y=-s,L=e+d*i,x=n+(1-h-p)*s,g=e+(d+b)*i,F=n+(1-h)*s;break;case 90:j=Ee._rescaleAndSwap,y=e,M=n,T=i,Y=s,L=e+h*i,x=n+d*s,g=e+(h+p)*i,F=n+(d+b)*s;break;case 180:j=Ee._rescale,y=e+i,M=n,T=-i,Y=s,L=e+(1-d-b)*i,x=n+h*s,g=e+(1-d)*i,F=n+(h+p)*s;break;case 270:j=Ee._rescaleAndSwap,y=e+i,M=n+s,T=-i,Y=-s,L=e+(1-h-p)*i,x=n+(1-d-b)*s,g=e+(1-h)*i,F=n+(1-d)*s;break}for(const{line:D,points:_}of m(this,Ua))c.push(j(D,y,M,T,Y,a?new Array(D.length):null)),o.push(j(_,y,M,T,Y,a?new Array(_.length):null));return{lines:c,points:o,rect:[L,x,g,F]}}static deserialize(e,n,i,s,a,{paths:{lines:c,points:o},rotation:d,thickness:h}){const b=[];let p,y,M,T,Y;switch(d){case 0:Y=Ee._rescale,p=-e/i,y=n/s+1,M=1/i,T=-1/s;break;case 90:Y=Ee._rescaleAndSwap,p=-n/s,y=-e/i,M=1/s,T=1/i;break;case 180:Y=Ee._rescale,p=e/i+1,y=-n/s,M=-1/i,T=1/s;break;case 270:Y=Ee._rescaleAndSwap,p=n/s+1,y=e/i+1,M=-1/s,T=-1/i;break}if(!c){c=[];for(const x of o){const g=x.length;if(g===2){c.push(new Float32Array([NaN,NaN,NaN,NaN,x[0],x[1]]));continue}if(g===4){c.push(new Float32Array([NaN,NaN,NaN,NaN,x[0],x[1],NaN,NaN,NaN,NaN,x[2],x[3]]));continue}const F=new Float32Array(3*(g-2));c.push(F);let[j,D,_,ut]=x.subarray(0,4);F.set([NaN,NaN,NaN,NaN,j,D],0);for(let K=4;K<g;K+=2){const f=x[K],lt=x[K+1];F.set(Ee.createBezierPoints(j,D,_,ut,f,lt),(K-2)*3),[j,D,_,ut]=[_,ut,f,lt]}}}for(let x=0,g=c.length;x<g;x++)b.push({line:Y(c[x].map(F=>F??NaN),p,y,M,T),points:Y(o[x].map(F=>F??NaN),p,y,M,T)});const L=new this.prototype.constructor;return L.build(b,i,s,1,d,h,a),L}get box(){return m(this,vs)}updateProperty(e,n){return e==="stroke-width"?J(this,ps,jD).call(this,n):null}updateParentDimensions([e,n],i){const[s,a]=J(this,ps,zo).call(this);z(this,Er,e),z(this,Kr,n),z(this,EZ,i);const[c,o]=J(this,ps,zo).call(this),d=c-s,h=o-a,b=m(this,vs);return b[0]-=d,b[1]-=h,b[2]+=2*d,b[3]+=2*h,b}updateRotation(e){return z(this,WW,e),{path:{transform:this.rotationTransform}}}get viewBox(){return m(this,vs).map(Ee.svgRound).join(" ")}get defaultProperties(){const[e,n]=m(this,vs);return{root:{viewBox:this.viewBox},path:{"transform-origin":`${Ee.svgRound(e)} ${Ee.svgRound(n)}`}}}get rotationTransform(){const[,,e,n]=m(this,vs);let i=0,s=0,a=0,c=0,o=0,d=0;switch(m(this,WW)){case 90:s=n/e,a=-e/n,o=e;break;case 180:i=-1,c=-1,o=e,d=n;break;case 270:s=-n/e,a=e/n,d=n;break;default:return""}return`matrix(${i} ${s} ${a} ${c} ${Ee.svgRound(o)} ${Ee.svgRound(d)})`}getPathResizingSVGProperties([e,n,i,s]){const[a,c]=J(this,ps,zo).call(this),[o,d,h,b]=m(this,vs);if(Math.abs(h-a)<=Ee.PRECISION||Math.abs(b-c)<=Ee.PRECISION){const Y=e+i/2-(o+h/2),L=n+s/2-(d+b/2);return{path:{"transform-origin":`${Ee.svgRound(e)} ${Ee.svgRound(n)}`,transform:`${this.rotationTransform} translate(${Y} ${L})`}}}const p=(i-2*a)/(h-2*a),y=(s-2*c)/(b-2*c),M=h/i,T=b/s;return{path:{"transform-origin":`${Ee.svgRound(o)} ${Ee.svgRound(d)}`,transform:`${this.rotationTransform} scale(${M} ${T}) translate(${Ee.svgRound(a)} ${Ee.svgRound(c)}) scale(${p} ${y}) translate(${Ee.svgRound(-a)} ${Ee.svgRound(-c)})`}}}getPathResizedSVGProperties([e,n,i,s]){const[a,c]=J(this,ps,zo).call(this),o=m(this,vs),[d,h,b,p]=o;if(o[0]=e,o[1]=n,o[2]=i,o[3]=s,Math.abs(b-a)<=Ee.PRECISION||Math.abs(p-c)<=Ee.PRECISION){const L=e+i/2-(d+b/2),x=n+s/2-(h+p/2);for(const{line:g,points:F}of m(this,Ua))Ee._translate(g,L,x,g),Ee._translate(F,L,x,F);return{root:{viewBox:this.viewBox},path:{"transform-origin":`${Ee.svgRound(e)} ${Ee.svgRound(n)}`,transform:this.rotationTransform||null,d:this.toSVGPath()}}}const y=(i-2*a)/(b-2*a),M=(s-2*c)/(p-2*c),T=-y*(d+a)+e+a,Y=-M*(h+c)+n+c;if(y!==1||M!==1||T!==0||Y!==0)for(const{line:L,points:x}of m(this,Ua))Ee._rescale(L,T,Y,y,M,L),Ee._rescale(x,T,Y,y,M,x);return{root:{viewBox:this.viewBox},path:{"transform-origin":`${Ee.svgRound(e)} ${Ee.svgRound(n)}`,transform:this.rotationTransform||null,d:this.toSVGPath()}}}getPathTranslatedSVGProperties([e,n],i){const[s,a]=i,c=m(this,vs),o=e-c[0],d=n-c[1];if(m(this,Er)===s&&m(this,Kr)===a)for(const{line:h,points:b}of m(this,Ua))Ee._translate(h,o,d,h),Ee._translate(b,o,d,b);else{const h=m(this,Er)/s,b=m(this,Kr)/a;z(this,Er,s),z(this,Kr,a);for(const{line:p,points:y}of m(this,Ua))Ee._rescale(p,o,d,h,b,p),Ee._rescale(y,o,d,h,b,y);c[2]*=h,c[3]*=b}return c[0]=e,c[1]=n,{root:{viewBox:this.viewBox},path:{d:this.toSVGPath(),"transform-origin":`${Ee.svgRound(e)} ${Ee.svgRound(n)}`}}}get defaultSVGProperties(){const e=m(this,vs);return{root:{viewBox:this.viewBox},rootClass:{draw:!0},path:{d:this.toSVGPath(),"transform-origin":`${Ee.svgRound(e[0])} ${Ee.svgRound(e[1])}`,transform:this.rotationTransform||null},bbox:e}}}vs=new WeakMap,WW=new WeakMap,NW=new WeakMap,Ua=new WeakMap,Er=new WeakMap,Kr=new WeakMap,EZ=new WeakMap,KZ=new WeakMap,rh=new WeakMap,ps=new WeakSet,zo=function(e=m(this,rh)){const n=m(this,NW)+e/2*m(this,EZ);return m(this,KZ)%180===0?[n/m(this,Er),n/m(this,Kr)]:[n/m(this,Kr),n/m(this,Er)]},DD=function(){const[e,n,i,s]=m(this,vs),[a,c]=J(this,ps,zo).call(this,0);return[e+a,n+c,i-2*a,s-2*c]},OD=function(){const e=z(this,vs,new Float32Array([1/0,1/0,-1/0,-1/0]));for(const{line:s}of m(this,Ua)){if(s.length<=12){for(let o=4,d=s.length;o<d;o+=6)Ae.pointBoundingBox(s[o],s[o+1],e);continue}let a=s[4],c=s[5];for(let o=6,d=s.length;o<d;o+=6){const[h,b,p,y,M,T]=s.subarray(o,o+6);Ae.bezierBoundingBox(a,c,h,b,p,y,M,T,e),a=M,c=T}}const[n,i]=J(this,ps,zo).call(this);e[0]=Ps(e[0]-n,0,1),e[1]=Ps(e[1]-i,0,1),e[2]=Ps(e[2]+n,0,1),e[3]=Ps(e[3]+i,0,1),e[2]-=e[0],e[3]-=e[1]},jD=function(e){const[n,i]=J(this,ps,zo).call(this);z(this,rh,e);const[s,a]=J(this,ps,zo).call(this),[c,o]=[s-n,a-i],d=m(this,vs);return d[0]-=c,d[1]-=o,d[2]+=2*c,d[3]+=2*o,d};class PG extends RD{constructor(t){super(),this._viewParameters=t,super.updateProperties({fill:"none",stroke:xn._defaultLineColor,"stroke-opacity":1,"stroke-width":1,"stroke-linecap":"round","stroke-linejoin":"round","stroke-miterlimit":10})}updateSVGProperty(t,e){t==="stroke-width"&&(e??(e=this["stroke-width"]),e*=this._viewParameters.realScale),super.updateSVGProperty(t,e)}clone(){const t=new PG(this._viewParameters);return t.updateAll(this),t}}var bG,CD;const zb=class zb extends HM{constructor(e){super({...e,name:"inkEditor"});k(this,bG);this._willKeepAspectRatio=!0,this.defaultL10nId="pdfjs-editor-ink-editor"}static initialize(e,n){xn.initialize(e,n),this._defaultDrawingOptions=new PG(n.viewParameters)}static getDefaultDrawingOptions(e){const n=this._defaultDrawingOptions.clone();return n.updateProperties(e),n}static get supportMultipleDrawings(){return!0}static get typesMap(){return vl(this,"typesMap",new Map([[_l.INK_THICKNESS,"stroke-width"],[_l.INK_COLOR,"stroke"],[_l.INK_OPACITY,"stroke-opacity"]]))}static createDrawerInstance(e,n,i,s,a){return new o$(e,n,i,s,a,this._defaultDrawingOptions["stroke-width"])}static deserializeDraw(e,n,i,s,a,c){return JW.deserialize(e,n,i,s,a,c)}static async deserialize(e,n,i){let s=null;if(e instanceof $V){const{data:{inkLists:c,rect:o,rotation:d,id:h,color:b,opacity:p,borderStyle:{rawWidth:y},popupRef:M,contentsObj:T},parent:{page:{pageNumber:Y}}}=e;s=e={annotationType:Tl.INK,color:Array.from(b),thickness:y,opacity:p,paths:{points:c},boxes:null,pageIndex:Y-1,rect:o.slice(0),rotation:d,annotationElementId:h,id:h,deleted:!1,popupRef:M,comment:(T==null?void 0:T.str)||null}}const a=await super.deserialize(e,n,i);return a._initialData=s,e.comment&&a.setCommentData(e.comment),a}get toolbarButtons(){return this._colorPicker||(this._colorPicker=new UM(this)),[["colorPicker",this._colorPicker]]}get colorType(){return _l.INK_COLOR}get colorValue(){return this._drawingOptions.stroke}onScaleChanging(){if(!this.parent)return;super.onScaleChanging();const{_drawId:e,_drawingOptions:n,parent:i}=this;n.updateSVGProperty("stroke-width"),i.drawLayer.updateProperties(e,n.toSVGProperties())}static onScaleChangingWhenDrawing(){const e=this._currentParent;e&&(super.onScaleChangingWhenDrawing(),this._defaultDrawingOptions.updateSVGProperty("stroke-width"),e.drawLayer.updateProperties(this._currentDrawId,this._defaultDrawingOptions.toSVGProperties()))}createDrawingOptions({color:e,thickness:n,opacity:i}){this._drawingOptions=zb.getDefaultDrawingOptions({stroke:Ae.makeHexColor(...e),"stroke-width":n,"stroke-opacity":i})}serialize(e=!1){if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();const{lines:n,points:i,rect:s}=this.serializeDraw(e),{_drawingOptions:{stroke:a,"stroke-opacity":c,"stroke-width":o}}=this,d={annotationType:Tl.INK,color:xn._colorManager.convert(a),opacity:c,thickness:o,paths:{lines:n,points:i},pageIndex:this.pageIndex,rect:s,rotation:this.rotation,structTreeParentId:this._structTreeParentId};return this.addComment(d),e?(d.isCopy=!0,d):this.annotationElementId&&!J(this,bG,CD).call(this,d)?null:(d.id=this.annotationElementId,d)}renderAnnotationElement(e){if(this.deleted)return e.hide(),null;const{points:n,rect:i}=this.serializeDraw(!1),s={rect:i,thickness:this._drawingOptions["stroke-width"],points:n};return this.hasEditedComment&&(s.popup=this.comment),e.updateEdited(s),null}};bG=new WeakSet,CD=function(e){const{color:n,thickness:i,opacity:s,pageIndex:a}=this._initialData;return this.hasEditedComment||this._hasBeenMoved||this._hasBeenResized||e.color.some((c,o)=>c!==n[o])||e.thickness!==i||e.opacity!==s||e.pageIndex!==a},We(zb,"_type","ink"),We(zb,"_editorType",Tl.INK),We(zb,"_defaultDrawingOptions",null);let LL=zb;class VL extends JW{toSVGPath(){let t=super.toSVGPath();return t.endsWith("Z")||(t+="Z"),t}}const V1=8,Bp=3;var oh,mn,IL,$c,FD,JD,wL,mM,vD,UD,ED,zL,gL,KD;class yd{static extractContoursFromText(t,{fontFamily:e,fontStyle:n,fontWeight:i},s,a,c,o){let d=new OffscreenCanvas(1,1),h=d.getContext("2d",{alpha:!1});const b=200,p=h.font=`${n} ${i} ${b}px ${e}`,{actualBoundingBoxLeft:y,actualBoundingBoxRight:M,actualBoundingBoxAscent:T,actualBoundingBoxDescent:Y,fontBoundingBoxAscent:L,fontBoundingBoxDescent:x,width:g}=h.measureText(t),F=1.5,j=Math.ceil(Math.max(Math.abs(y)+Math.abs(M)||0,g)*F),D=Math.ceil(Math.max(Math.abs(T)+Math.abs(Y)||b,Math.abs(L)+Math.abs(x)||b)*F);d=new OffscreenCanvas(j,D),h=d.getContext("2d",{alpha:!0,willReadFrequently:!0}),h.font=p,h.filter="grayscale(1)",h.fillStyle="white",h.fillRect(0,0,j,D),h.fillStyle="black",h.fillText(t,j*(F-1)/2,D*(3-F)/2);const _=J(this,mn,zL).call(this,h.getImageData(0,0,j,D).data),ut=J(this,mn,ED).call(this,_),K=J(this,mn,gL).call(this,ut),f=J(this,mn,wL).call(this,_,j,D,K);return this.processDrawnLines({lines:{curves:f,width:j,height:D},pageWidth:s,pageHeight:a,rotation:c,innerMargin:o,mustSmooth:!0,areContours:!0})}static process(t,e,n,i,s){const[a,c,o]=J(this,mn,KD).call(this,t),[d,h]=J(this,mn,UD).call(this,a,c,o,Math.hypot(c,o)*m(this,oh).sigmaSFactor,m(this,oh).sigmaR,m(this,oh).kernelSize),b=J(this,mn,gL).call(this,h),p=J(this,mn,wL).call(this,d,c,o,b);return this.processDrawnLines({lines:{curves:p,width:c,height:o},pageWidth:e,pageHeight:n,rotation:i,innerMargin:s,mustSmooth:!0,areContours:!0})}static processDrawnLines({lines:t,pageWidth:e,pageHeight:n,rotation:i,innerMargin:s,mustSmooth:a,areContours:c}){i%180!==0&&([e,n]=[n,e]);const{curves:o,width:d,height:h}=t,b=t.thickness??0,p=[],y=Math.min(e/d,n/h),M=y/e,T=y/n,Y=[];for(const{points:x}of o){const g=a?J(this,mn,vD).call(this,x):x;if(!g)continue;Y.push(g);const F=g.length,j=new Float32Array(F),D=new Float32Array(3*(F===2?2:F-2));if(p.push({line:D,points:j}),F===2){j[0]=g[0]*M,j[1]=g[1]*T,D.set([NaN,NaN,NaN,NaN,j[0],j[1]],0);continue}let[_,ut,K,f]=g;_*=M,ut*=T,K*=M,f*=T,j.set([_,ut,K,f],0),D.set([NaN,NaN,NaN,NaN,_,ut],0);for(let lt=4;lt<F;lt+=2){const tt=j[lt]=g[lt]*M,ht=j[lt+1]=g[lt+1]*T;D.set(Ee.createBezierPoints(_,ut,K,f,tt,ht),(lt-2)*3),[_,ut,K,f]=[K,f,tt,ht]}}if(p.length===0)return null;const L=c?new VL:new JW;return L.build(p,e,n,1,i,c?0:b,s),{outline:L,newCurves:Y,areContours:c,thickness:b,width:d,height:h}}static async compressSignature({outlines:t,areContours:e,thickness:n,width:i,height:s}){let a=1/0,c=-1/0,o=0;for(const g of t){o+=g.length;for(let F=2,j=g.length;F<j;F++){const D=g[F]-g[F-2];a=Math.min(a,D),c=Math.max(c,D)}}let d;a>=-128&&c<=127?d=Int8Array:a>=-32768&&c<=32767?d=Int16Array:d=Int32Array;const h=t.length,b=V1+Bp*h,p=new Uint32Array(b);let y=0;p[y++]=b*Uint32Array.BYTES_PER_ELEMENT+(o-2*h)*d.BYTES_PER_ELEMENT,p[y++]=0,p[y++]=i,p[y++]=s,p[y++]=e?0:1,p[y++]=Math.max(0,Math.floor(n??0)),p[y++]=h,p[y++]=d.BYTES_PER_ELEMENT;for(const g of t)p[y++]=g.length-2,p[y++]=g[0],p[y++]=g[1];const M=new CompressionStream("deflate-raw"),T=M.writable.getWriter();await T.ready,T.write(p);const Y=d.prototype.constructor;for(const g of t){const F=new Y(g.length-2);for(let j=2,D=g.length;j<D;j++)F[j-2]=g[j]-g[j-2];T.write(F)}T.close();const L=await new Response(M.readable).arrayBuffer(),x=new Uint8Array(L);return KR(x)}static async decompressSignature(t){try{const e=x_(t),{readable:n,writable:i}=new DecompressionStream("deflate-raw"),s=i.getWriter();await s.ready,s.write(e).then(async()=>{await s.ready,await s.close()}).catch(()=>{});let a=null,c=0;for await(const g of n)a||(a=new Uint8Array(new Uint32Array(g.buffer,0,4)[0])),a.set(g,c),c+=g.length;const o=new Uint32Array(a.buffer,0,a.length>>2),d=o[1];if(d!==0)throw new Error(`Invalid version: ${d}`);const h=o[2],b=o[3],p=o[4]===0,y=o[5],M=o[6],T=o[7],Y=[],L=(V1+Bp*M)*Uint32Array.BYTES_PER_ELEMENT;let x;switch(T){case Int8Array.BYTES_PER_ELEMENT:x=new Int8Array(a.buffer,L);break;case Int16Array.BYTES_PER_ELEMENT:x=new Int16Array(a.buffer,L);break;case Int32Array.BYTES_PER_ELEMENT:x=new Int32Array(a.buffer,L);break}c=0;for(let g=0;g<M;g++){const F=o[Bp*g+V1],j=new Float32Array(F+2);Y.push(j);for(let D=0;D<Bp-1;D++)j[D]=o[Bp*g+V1+D+1];for(let D=0;D<F;D++)j[D+2]=j[D]+x[c++]}return{areContours:p,thickness:y,outlines:Y,width:h,height:b}}catch(e){return Ll(`decompressSignature: ${e}`),null}}}oh=new WeakMap,mn=new WeakSet,IL=function(t,e,n,i){return n-=t,i-=e,n===0?i>0?0:4:n===1?i+6:2-i},$c=new WeakMap,FD=function(t,e,n,i,s,a,c){const o=J(this,mn,IL).call(this,n,i,s,a);for(let d=0;d<8;d++){const h=(-d+o-c+16)%8,b=m(this,$c)[2*h],p=m(this,$c)[2*h+1];if(t[(n+b)*e+(i+p)]!==0)return h}return-1},JD=function(t,e,n,i,s,a,c){const o=J(this,mn,IL).call(this,n,i,s,a);for(let d=0;d<8;d++){const h=(d+o+c+16)%8,b=m(this,$c)[2*h],p=m(this,$c)[2*h+1];if(t[(n+b)*e+(i+p)]!==0)return h}return-1},wL=function(t,e,n,i){const s=t.length,a=new Int32Array(s);for(let h=0;h<s;h++)a[h]=t[h]<=i?1:0;for(let h=1;h<n-1;h++)a[h*e]=a[h*e+e-1]=0;for(let h=0;h<e;h++)a[h]=a[e*n-1-h]=0;let c=1,o;const d=[];for(let h=1;h<n-1;h++){o=1;for(let b=1;b<e-1;b++){const p=h*e+b,y=a[p];if(y===0)continue;let M=h,T=b;if(y===1&&a[p-1]===0)c+=1,T-=1;else if(y>=1&&a[p+1]===0)c+=1,T+=1,y>1&&(o=y);else{y!==1&&(o=Math.abs(y));continue}const Y=[b,h],L=T===b+1,x={isHole:L,points:Y,id:c,parent:0};d.push(x);let g;for(const lt of d)if(lt.id===o){g=lt;break}g?g.isHole?x.parent=L?g.parent:o:x.parent=L?o:g.parent:x.parent=L?o:0;const F=J(this,mn,FD).call(this,a,e,h,b,M,T,0);if(F===-1){a[p]=-c,a[p]!==1&&(o=Math.abs(a[p]));continue}let j=m(this,$c)[2*F],D=m(this,$c)[2*F+1];const _=h+j,ut=b+D;M=_,T=ut;let K=h,f=b;for(;;){const lt=J(this,mn,JD).call(this,a,e,K,f,M,T,1);j=m(this,$c)[2*lt],D=m(this,$c)[2*lt+1];const tt=K+j,ht=f+D;Y.push(ht,tt);const dt=K*e+f;if(a[dt+1]===0?a[dt]=-c:a[dt]===1&&(a[dt]=c),tt===h&&ht===b&&K===_&&f===ut){a[p]!==1&&(o=Math.abs(a[p]));break}else M=K,T=f,K=tt,f=ht}}}return d},mM=function(t,e,n,i){if(n-e<=4){for(let _=e;_<n-2;_+=2)i.push(t[_],t[_+1]);return}const s=t[e],a=t[e+1],c=t[n-4]-s,o=t[n-3]-a,d=Math.hypot(c,o),h=c/d,b=o/d,p=h*a-b*s,y=o/c,M=1/d,T=Math.atan(y),Y=Math.cos(T),L=Math.sin(T),x=M*(Math.abs(Y)+Math.abs(L)),g=M*(1-x+x**2),F=Math.max(Math.atan(Math.abs(L+Y)*g),Math.atan(Math.abs(L-Y)*g));let j=0,D=e;for(let _=e+2;_<n-2;_+=2){const ut=Math.abs(p-h*t[_+1]+b*t[_]);ut>j&&(D=_,j=ut)}j>(d*F)**2?(J(this,mn,mM).call(this,t,e,D+2,i),J(this,mn,mM).call(this,t,D,n,i)):i.push(s,a)},vD=function(t){const e=[],n=t.length;return J(this,mn,mM).call(this,t,0,n,e),e.push(t[n-2],t[n-1]),e.length<=4?null:e},UD=function(t,e,n,i,s,a){const c=new Float32Array(a**2),o=-2*i**2,d=a>>1;for(let T=0;T<a;T++){const Y=(T-d)**2;for(let L=0;L<a;L++)c[T*a+L]=Math.exp((Y+(L-d)**2)/o)}const h=new Float32Array(256),b=-2*s**2;for(let T=0;T<256;T++)h[T]=Math.exp(T**2/b);const p=t.length,y=new Uint8Array(p),M=new Uint32Array(256);for(let T=0;T<n;T++)for(let Y=0;Y<e;Y++){const L=T*e+Y,x=t[L];let g=0,F=0;for(let D=0;D<a;D++){const _=T+D-d;if(!(_<0||_>=n))for(let ut=0;ut<a;ut++){const K=Y+ut-d;if(K<0||K>=e)continue;const f=t[_*e+K],lt=c[D*a+ut]*h[Math.abs(f-x)];g+=f*lt,F+=lt}}const j=y[L]=Math.round(g/F);M[j]++}return[y,M]},ED=function(t){const e=new Uint32Array(256);for(const n of t)e[n]++;return e},zL=function(t){const e=t.length,n=new Uint8ClampedArray(e>>2);let i=-1/0,s=1/0;for(let c=0,o=n.length;c<o;c++){const d=n[c]=t[c<<2];i=Math.max(i,d),s=Math.min(s,d)}const a=255/(i-s);for(let c=0,o=n.length;c<o;c++)n[c]=(n[c]-s)*a;return n},gL=function(t){let e,n=-1/0,i=-1/0;const s=t.findIndex(o=>o!==0);let a=s,c=s;for(e=s;e<256;e++){const o=t[e];o>n&&(e-a>i&&(i=e-a,c=e-1),n=o,a=e)}for(e=c-1;e>=0&&!(t[e]>t[e+1]);e--);return e},KD=function(t){const e=t,{width:n,height:i}=t,{maxDim:s}=m(this,oh);let a=n,c=i;if(n>s||i>s){let p=n,y=i,M=Math.log2(Math.max(n,i)/s);const T=Math.floor(M);M=M===T?T-1:T;for(let L=0;L<M;L++){a=Math.ceil(p/2),c=Math.ceil(y/2);const x=new OffscreenCanvas(a,c);x.getContext("2d").drawImage(t,0,0,p,y,0,0,a,c),p=a,y=c,t!==e&&t.close(),t=x.transferToImageBitmap()}const Y=Math.min(s/a,s/c);a=Math.round(a*Y),c=Math.round(c*Y)}const d=new OffscreenCanvas(a,c).getContext("2d",{willReadFrequently:!0});d.fillStyle="white",d.fillRect(0,0,a,c),d.filter="grayscale(1)",d.drawImage(t,0,0,t.width,t.height,0,0,a,c);const h=d.getImageData(0,0,a,c).data;return[J(this,mn,zL).call(this,h),a,c]},k(yd,mn),k(yd,oh,{maxDim:512,sigmaSFactor:.02,sigmaR:25,kernelSize:16}),k(yd,$c,new Int32Array([0,1,-1,1,-1,0,-1,-1,0,-1,1,-1,1,0,1,1]));class tI extends RD{constructor(){super(),super.updateProperties({fill:xn._defaultLineColor,"stroke-width":0})}clone(){const t=new tI;return t.updateAll(this),t}}class eI extends PG{constructor(t){super(t),super.updateProperties({stroke:xn._defaultLineColor,"stroke-width":1})}clone(){const t=new eI(this._viewParameters);return t.updateAll(this),t}}var Qu,Pr,Bu,dh;const wa=class wa extends HM{constructor(e){super({...e,mustBeCommitted:!0,name:"signatureEditor"});k(this,Qu,!1);k(this,Pr,null);k(this,Bu,null);k(this,dh,null);this._willKeepAspectRatio=!0,z(this,Bu,e.signatureData||null),z(this,Pr,null),this.defaultL10nId="pdfjs-editor-signature-editor1"}static initialize(e,n){xn.initialize(e,n),this._defaultDrawingOptions=new tI,this._defaultDrawnSignatureOptions=new eI(n.viewParameters)}static getDefaultDrawingOptions(e){const n=this._defaultDrawingOptions.clone();return n.updateProperties(e),n}static get supportMultipleDrawings(){return!1}static get typesMap(){return vl(this,"typesMap",new Map)}static get isDrawer(){return!1}get telemetryFinalData(){return{type:"signature",hasDescription:!!m(this,Pr)}}static computeTelemetryFinalData(e){const n=e.get("hasDescription");return{hasAltText:n.get(!0)??0,hasNoAltText:n.get(!1)??0}}get isResizable(){return!0}onScaleChanging(){this._drawId!==null&&super.onScaleChanging()}render(){if(this.div)return this.div;let e,n;const{_isCopy:i}=this;if(i&&(this._isCopy=!1,e=this.x,n=this.y),super.render(),this._drawId===null)if(m(this,Bu)){const{lines:s,mustSmooth:a,areContours:c,description:o,uuid:d,heightInPage:h}=m(this,Bu),{rawDims:{pageWidth:b,pageHeight:p},rotation:y}=this.parent.viewport,M=yd.processDrawnLines({lines:s,pageWidth:b,pageHeight:p,rotation:y,innerMargin:wa._INNER_MARGIN,mustSmooth:a,areContours:c});this.addSignature(M,h,o,d)}else this.div.setAttribute("data-l10n-args",JSON.stringify({description:""})),this.div.hidden=!0,this._uiManager.getSignature(this);else this.div.setAttribute("data-l10n-args",JSON.stringify({description:m(this,Pr)||""}));return i&&(this._isCopy=!0,this._moveAfterPaste(e,n)),this.div}setUuid(e){z(this,dh,e),this.addEditToolbar()}getUuid(){return m(this,dh)}get description(){return m(this,Pr)}set description(e){z(this,Pr,e),this.div&&(this.div.setAttribute("data-l10n-args",JSON.stringify({description:e})),super.addEditToolbar().then(n=>{n==null||n.updateEditSignatureButton(e)}))}getSignaturePreview(){const{newCurves:e,areContours:n,thickness:i,width:s,height:a}=m(this,Bu),c=Math.max(s,a),o=yd.processDrawnLines({lines:{curves:e.map(d=>({points:d})),thickness:i,width:s,height:a},pageWidth:c,pageHeight:c,rotation:0,innerMargin:0,mustSmooth:!1,areContours:n});return{areContours:n,outline:o.outline}}get toolbarButtons(){return this._uiManager.signatureManager?[["editSignature",this._uiManager.signatureManager]]:super.toolbarButtons}addSignature(e,n,i,s){const{x:a,y:c}=this,{outline:o}=z(this,Bu,e);z(this,Qu,o instanceof VL),this.description=i;let d;m(this,Qu)?d=wa.getDefaultDrawingOptions():(d=wa._defaultDrawnSignatureOptions.clone(),d.updateProperties({"stroke-width":o.thickness})),this._addOutlines({drawOutlines:o,drawingOptions:d});const[h,b]=this.parentDimensions,[,p]=this.pageDimensions;let y=n/p;y=y>=1?.5:y,this.width*=y/this.height,this.width>=1&&(y*=.9/this.width,this.width=.9),this.height=y,this.setDims(h*this.width,b*this.height),this.x=a,this.y=c,this.center(),this._onResized(),this.onScaleChanging(),this.rotate(),this._uiManager.addToAnnotationStorage(this),this.setUuid(s),this._reportTelemetry({action:"pdfjs.signature.inserted",data:{hasBeenSaved:!!s,hasDescription:!!i}}),this.div.hidden=!1}getFromImage(e){const{rawDims:{pageWidth:n,pageHeight:i},rotation:s}=this.parent.viewport;return yd.process(e,n,i,s,wa._INNER_MARGIN)}getFromText(e,n){const{rawDims:{pageWidth:i,pageHeight:s},rotation:a}=this.parent.viewport;return yd.extractContoursFromText(e,n,i,s,a,wa._INNER_MARGIN)}getDrawnSignature(e){const{rawDims:{pageWidth:n,pageHeight:i},rotation:s}=this.parent.viewport;return yd.processDrawnLines({lines:e,pageWidth:n,pageHeight:i,rotation:s,innerMargin:wa._INNER_MARGIN,mustSmooth:!1,areContours:!1})}createDrawingOptions({areContours:e,thickness:n}){e?this._drawingOptions=wa.getDefaultDrawingOptions():(this._drawingOptions=wa._defaultDrawnSignatureOptions.clone(),this._drawingOptions.updateProperties({"stroke-width":n}))}serialize(e=!1){if(this.isEmpty())return null;const{lines:n,points:i,rect:s}=this.serializeDraw(e),{_drawingOptions:{"stroke-width":a}}=this,c={annotationType:Tl.SIGNATURE,isSignature:!0,areContours:m(this,Qu),color:[0,0,0],thickness:m(this,Qu)?0:a,pageIndex:this.pageIndex,rect:s,rotation:this.rotation,structTreeParentId:this._structTreeParentId};return this.addComment(c),e?(c.paths={lines:n,points:i},c.uuid=m(this,dh),c.isCopy=!0):c.lines=n,m(this,Pr)&&(c.accessibilityData={type:"Figure",alt:m(this,Pr)}),c}static deserializeDraw(e,n,i,s,a,c){return c.areContours?VL.deserialize(e,n,i,s,a,c):JW.deserialize(e,n,i,s,a,c)}static async deserialize(e,n,i){var a;const s=await super.deserialize(e,n,i);return z(s,Qu,e.areContours),s.description=((a=e.accessibilityData)==null?void 0:a.alt)||"",z(s,dh,e.uuid),s}};Qu=new WeakMap,Pr=new WeakMap,Bu=new WeakMap,dh=new WeakMap,We(wa,"_type","signature"),We(wa,"_editorType",Tl.SIGNATURE),We(wa,"_defaultDrawingOptions",null);let xL=wa;var Un,$i,Au,md,_u,PZ,hd,uh,Hr,Ea,HZ,en,N2,M2,hM,bM,ZM,SL,pM,PD;class fL extends xn{constructor(e){super({...e,name:"stampEditor"});k(this,en);k(this,Un,null);k(this,$i,null);k(this,Au,null);k(this,md,null);k(this,_u,null);k(this,PZ,"");k(this,hd,null);k(this,uh,!1);k(this,Hr,null);k(this,Ea,!1);k(this,HZ,!1);z(this,md,e.bitmapUrl),z(this,_u,e.bitmapFile),this.defaultL10nId="pdfjs-editor-stamp-editor"}static initialize(e,n){xn.initialize(e,n)}static isHandlingMimeForPasting(e){return YY.includes(e)}static paste(e,n){n.pasteEditor({mode:Tl.STAMP},{bitmapFile:e.getAsFile()})}altTextFinish(){this._uiManager.useNewAltTextFlow&&(this.div.hidden=!1),super.altTextFinish()}get telemetryFinalData(){var e;return{type:"stamp",hasAltText:!!((e=this.altTextData)!=null&&e.altText)}}static computeTelemetryFinalData(e){const n=e.get("hasAltText");return{hasAltText:n.get(!0)??0,hasNoAltText:n.get(!1)??0}}async mlGuessAltText(e=null,n=!0){if(this.hasAltTextData())return null;const{mlManager:i}=this._uiManager;if(!i)throw new Error("No ML.");if(!await i.isEnabledFor("altText"))throw new Error("ML isn't enabled for alt text.");const{data:s,width:a,height:c}=e||this.copyCanvas(null,null,!0).imageData,o=await i.guess({name:"altText",request:{data:s,width:a,height:c,channels:s.length/(a*c)}});if(!o)throw new Error("No response from the AI service.");if(o.error)throw new Error("Error from the AI service.");if(o.cancel)return null;if(!o.output)throw new Error("No valid response from the AI service.");const d=o.output;return await this.setGuessedAltText(d),n&&!this.hasAltTextData()&&(this.altTextData={alt:d,decorative:!1}),d}remove(){var e;m(this,$i)&&(z(this,Un,null),this._uiManager.imageManager.deleteId(m(this,$i)),(e=m(this,hd))==null||e.remove(),z(this,hd,null),m(this,Hr)&&(clearTimeout(m(this,Hr)),z(this,Hr,null))),super.remove()}rebuild(){if(!this.parent){m(this,$i)&&J(this,en,hM).call(this);return}super.rebuild(),this.div!==null&&(m(this,$i)&&m(this,hd)===null&&J(this,en,hM).call(this),this.isAttachedToDOM||this.parent.add(this))}onceAdded(e){this._isDraggable=!0,e&&this.div.focus()}isEmpty(){return!(m(this,Au)||m(this,Un)||m(this,md)||m(this,_u)||m(this,$i)||m(this,uh))}get toolbarButtons(){return[["altText",this.createAltText()]]}get isResizable(){return!0}render(){if(this.div)return this.div;let e,n;return this._isCopy&&(e=this.x,n=this.y),super.render(),this.div.hidden=!0,this.createAltText(),m(this,uh)||(m(this,Un)?J(this,en,bM).call(this):J(this,en,hM).call(this)),this._isCopy&&this._moveAfterPaste(e,n),this._uiManager.addShouldRescale(this),this.div}setCanvas(e,n){const{id:i,bitmap:s}=this._uiManager.imageManager.getFromCanvas(e,n);n.remove(),i&&this._uiManager.imageManager.isValidId(i)&&(z(this,$i,i),s&&z(this,Un,s),z(this,uh,!1),J(this,en,bM).call(this))}_onResized(){this.onScaleChanging()}onScaleChanging(){if(!this.parent)return;m(this,Hr)!==null&&clearTimeout(m(this,Hr)),z(this,Hr,setTimeout(()=>{z(this,Hr,null),J(this,en,SL).call(this)},200))}copyCanvas(e,n,i=!1){var y;e||(e=224);const{width:s,height:a}=m(this,Un),c=new $r;let o=m(this,Un),d=s,h=a,b=null;if(n){if(s>n||a>n){const ut=Math.min(n/s,n/a);d=Math.floor(s*ut),h=Math.floor(a*ut)}b=document.createElement("canvas");const M=b.width=Math.ceil(d*c.sx),T=b.height=Math.ceil(h*c.sy);m(this,Ea)||(o=J(this,en,ZM).call(this,M,T));const Y=b.getContext("2d");Y.filter=this._uiManager.hcmFilter;let L="white",x="#cfcfd8";this._uiManager.hcmFilter!=="none"?x="black":(y=window.matchMedia)!=null&&y.call(window,"(prefers-color-scheme: dark)").matches&&(L="#8f8f9d",x="#42414d");const g=15,F=g*c.sx,j=g*c.sy,D=new OffscreenCanvas(F*2,j*2),_=D.getContext("2d");_.fillStyle=L,_.fillRect(0,0,F*2,j*2),_.fillStyle=x,_.fillRect(0,0,F,j),_.fillRect(F,j,F,j),Y.fillStyle=Y.createPattern(D,"repeat"),Y.fillRect(0,0,M,T),Y.drawImage(o,0,0,o.width,o.height,0,0,M,T)}let p=null;if(i){let M,T;if(c.symmetric&&o.width<e&&o.height<e)M=o.width,T=o.height;else if(o=m(this,Un),s>e||a>e){const x=Math.min(e/s,e/a);M=Math.floor(s*x),T=Math.floor(a*x),m(this,Ea)||(o=J(this,en,ZM).call(this,M,T))}const L=new OffscreenCanvas(M,T).getContext("2d",{willReadFrequently:!0});L.drawImage(o,0,0,o.width,o.height,0,0,M,T),p={width:M,height:T,data:L.getImageData(0,0,M,T).data}}return{canvas:b,width:d,height:h,imageData:p}}static async deserialize(e,n,i){var Y;let s=null,a=!1;if(e instanceof rD){const{data:{rect:L,rotation:x,id:g,structParent:F,popupRef:j,contentsObj:D},container:_,parent:{page:{pageNumber:ut}},canvas:K}=e;let f,lt;K?(delete e.canvas,{id:f,bitmap:lt}=i.imageManager.getFromCanvas(_.id,K),K.remove()):(a=!0,e._hasNoCanvas=!0);const tt=((Y=await n._structTree.getAriaAttributes(`${KV}${g}`))==null?void 0:Y.get("aria-label"))||"";s=e={annotationType:Tl.STAMP,bitmapId:f,bitmap:lt,pageIndex:ut-1,rect:L.slice(0),rotation:x,annotationElementId:g,id:g,deleted:!1,accessibilityData:{decorative:!1,altText:tt},isSvg:!1,structParent:F,popupRef:j,comment:(D==null?void 0:D.str)||null}}const c=await super.deserialize(e,n,i),{rect:o,bitmap:d,bitmapUrl:h,bitmapId:b,isSvg:p,accessibilityData:y}=e;a?(i.addMissingCanvas(e.id,c),z(c,uh,!0)):b&&i.imageManager.isValidId(b)?(z(c,$i,b),d&&z(c,Un,d)):z(c,md,h),z(c,Ea,p);const[M,T]=c.pageDimensions;return c.width=(o[2]-o[0])/M,c.height=(o[3]-o[1])/T,y&&(c.altTextData=y),c._initialData=s,e.comment&&c.setCommentData(e.comment),z(c,HZ,!!s),c}serialize(e=!1,n=null){if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();const i={annotationType:Tl.STAMP,bitmapId:m(this,$i),pageIndex:this.pageIndex,rect:this.getPDFRect(),rotation:this.rotation,isSvg:m(this,Ea),structTreeParentId:this._structTreeParentId};if(this.addComment(i),e)return i.bitmapUrl=J(this,en,pM).call(this,!0),i.accessibilityData=this.serializeAltText(!0),i.isCopy=!0,i;const{decorative:s,altText:a}=this.serializeAltText(!1);if(!s&&a&&(i.accessibilityData={type:"Figure",alt:a}),this.annotationElementId){const o=J(this,en,PD).call(this,i);if(o.isSame)return null;o.isSameAltText?delete i.accessibilityData:i.accessibilityData.structParent=this._initialData.structParent??-1}if(i.id=this.annotationElementId,n===null)return i;n.stamps||(n.stamps=new Map);const c=m(this,Ea)?(i.rect[2]-i.rect[0])*(i.rect[3]-i.rect[1]):null;if(!n.stamps.has(m(this,$i)))n.stamps.set(m(this,$i),{area:c,serialized:i}),i.bitmap=J(this,en,pM).call(this,!1);else if(m(this,Ea)){const o=n.stamps.get(m(this,$i));c>o.area&&(o.area=c,o.serialized.bitmap.close(),o.serialized.bitmap=J(this,en,pM).call(this,!1))}return i}renderAnnotationElement(e){if(this.deleted)return e.hide(),null;const n={rect:this.getPDFRect()};return this.hasEditedComment&&(n.popup=this.comment),e.updateEdited(n),null}}Un=new WeakMap,$i=new WeakMap,Au=new WeakMap,md=new WeakMap,_u=new WeakMap,PZ=new WeakMap,hd=new WeakMap,uh=new WeakMap,Hr=new WeakMap,Ea=new WeakMap,HZ=new WeakMap,en=new WeakSet,N2=function(e,n=!1){if(!e){this.remove();return}z(this,Un,e.bitmap),n||(z(this,$i,e.id),z(this,Ea,e.isSvg)),e.file&&z(this,PZ,e.file.name),J(this,en,bM).call(this)},M2=function(){if(z(this,Au,null),this._uiManager.enableWaiting(!1),!!m(this,hd)){if(this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&m(this,Un)){this.addEditToolbar().then(()=>{this._editToolbar.hide(),this._uiManager.editAltText(this,!0)});return}if(!this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&m(this,Un)){this._reportTelemetry({action:"pdfjs.image.image_added",data:{alt_text_modal:!1,alt_text_type:"empty"}});try{this.mlGuessAltText()}catch{}}this.div.focus()}},hM=function(){if(m(this,$i)){this._uiManager.enableWaiting(!0),this._uiManager.imageManager.getFromId(m(this,$i)).then(i=>J(this,en,N2).call(this,i,!0)).finally(()=>J(this,en,M2).call(this));return}if(m(this,md)){const i=m(this,md);z(this,md,null),this._uiManager.enableWaiting(!0),z(this,Au,this._uiManager.imageManager.getFromUrl(i).then(s=>J(this,en,N2).call(this,s)).finally(()=>J(this,en,M2).call(this)));return}if(m(this,_u)){const i=m(this,_u);z(this,_u,null),this._uiManager.enableWaiting(!0),z(this,Au,this._uiManager.imageManager.getFromFile(i).then(s=>J(this,en,N2).call(this,s)).finally(()=>J(this,en,M2).call(this)));return}const e=document.createElement("input");e.type="file",e.accept=YY.join(",");const n=this._uiManager._signal;z(this,Au,new Promise(i=>{e.addEventListener("change",async()=>{if(!e.files||e.files.length===0)this.remove();else{this._uiManager.enableWaiting(!0);const s=await this._uiManager.imageManager.getFromFile(e.files[0]);this._reportTelemetry({action:"pdfjs.image.image_selected",data:{alt_text_modal:this._uiManager.useNewAltTextFlow}}),J(this,en,N2).call(this,s)}i()},{signal:n}),e.addEventListener("cancel",()=>{this.remove(),i()},{signal:n})}).finally(()=>J(this,en,M2).call(this))),e.click()},bM=function(){var b;const{div:e}=this;let{width:n,height:i}=m(this,Un);const[s,a]=this.pageDimensions,c=.75;if(this.width)n=this.width*s,i=this.height*a;else if(n>c*s||i>c*a){const p=Math.min(c*s/n,c*a/i);n*=p,i*=p}const[o,d]=this.parentDimensions;this.setDims(n*o/s,i*d/a),this._uiManager.enableWaiting(!1);const h=z(this,hd,document.createElement("canvas"));h.setAttribute("role","img"),this.addContainer(h),this.width=n/s,this.height=i/a,(b=this._initialOptions)!=null&&b.isCentered?this.center():this.fixAndSetPosition(),this._initialOptions=null,(!this._uiManager.useNewAltTextWhenAddingImage||!this._uiManager.useNewAltTextFlow||this.annotationElementId)&&(e.hidden=!1),J(this,en,SL).call(this),m(this,HZ)||(this.parent.addUndoableEditor(this),z(this,HZ,!0)),this._reportTelemetry({action:"inserted_image"}),m(this,PZ)&&this.div.setAttribute("aria-description",m(this,PZ)),this.annotationElementId||this._uiManager.a11yAlert("pdfjs-editor-stamp-added-alert")},ZM=function(e,n){const{width:i,height:s}=m(this,Un);let a=i,c=s,o=m(this,Un);for(;a>2*e||c>2*n;){const d=a,h=c;a>2*e&&(a=a>=16384?Math.floor(a/2)-1:Math.ceil(a/2)),c>2*n&&(c=c>=16384?Math.floor(c/2)-1:Math.ceil(c/2));const b=new OffscreenCanvas(a,c);b.getContext("2d").drawImage(o,0,0,d,h,0,0,a,c),o=b.transferToImageBitmap()}return o},SL=function(){const[e,n]=this.parentDimensions,{width:i,height:s}=this,a=new $r,c=Math.ceil(i*e*a.sx),o=Math.ceil(s*n*a.sy),d=m(this,hd);if(!d||d.width===c&&d.height===o)return;d.width=c,d.height=o;const h=m(this,Ea)?m(this,Un):J(this,en,ZM).call(this,c,o),b=d.getContext("2d");b.filter=this._uiManager.hcmFilter,b.drawImage(h,0,0,h.width,h.height,0,0,c,o)},pM=function(e){if(e){if(m(this,Ea)){const s=this._uiManager.imageManager.getSvgUrl(m(this,$i));if(s)return s}const n=document.createElement("canvas");return{width:n.width,height:n.height}=m(this,Un),n.getContext("2d").drawImage(m(this,Un),0,0),n.toDataURL()}if(m(this,Ea)){const[n,i]=this.pageDimensions,s=Math.round(this.width*n*d0.PDF_TO_CSS_UNITS),a=Math.round(this.height*i*d0.PDF_TO_CSS_UNITS),c=new OffscreenCanvas(s,a);return c.getContext("2d").drawImage(m(this,Un),0,0,m(this,Un).width,m(this,Un).height,0,0,s,a),c.transferToImageBitmap()}return structuredClone(m(this,Un))},PD=function(e){var c;const{pageIndex:n,accessibilityData:{altText:i}}=this._initialData,s=e.pageIndex===n,a=(((c=e.accessibilityData)==null?void 0:c.alt)||"")===i;return{isSame:!this.hasEditedComment&&!this._hasBeenMoved&&!this._hasBeenResized&&s&&a,isSameAltText:a}},We(fL,"_type","stamp"),We(fL,"_editorType",Tl.STAMP);var mh,QZ,Qr,qu,bd,Ka,$u,BZ,hh,tr,Zd,ts,pd,t0,AZ,nl,e0,En,HD,Lr,kL,DL,yM;const Ec=class Ec{constructor({uiManager:t,pageIndex:e,div:n,structTreeLayer:i,accessibilityManager:s,annotationLayer:a,drawLayer:c,textLayer:o,viewport:d,l10n:h}){k(this,En);k(this,mh);k(this,QZ,!1);k(this,Qr,null);k(this,qu,null);k(this,bd,null);k(this,Ka,new Map);k(this,$u,!1);k(this,BZ,!1);k(this,hh,!1);k(this,tr,null);k(this,Zd,null);k(this,ts,null);k(this,pd,null);k(this,t0,null);k(this,AZ,-1);k(this,nl);const b=[...m(Ec,e0).values()];if(!Ec._initialized){Ec._initialized=!0;for(const p of b)p.initialize(h,t)}t.registerEditorTypes(b),z(this,nl,t),this.pageIndex=e,this.div=n,z(this,mh,s),z(this,Qr,a),this.viewport=d,z(this,ts,o),this.drawLayer=c,this._structTree=i,m(this,nl).addLayer(this)}get isEmpty(){return m(this,Ka).size===0}get isInvisible(){return this.isEmpty&&m(this,nl).getMode()===Tl.NONE}updateToolbar(t){m(this,nl).updateToolbar(t)}updateMode(t=m(this,nl).getMode()){switch(J(this,En,yM).call(this),t){case Tl.NONE:this.disableTextSelection(),this.togglePointerEvents(!1),this.toggleAnnotationLayerPointerEvents(!0),this.disableClick();return;case Tl.INK:this.disableTextSelection(),this.togglePointerEvents(!0),this.enableClick();break;case Tl.HIGHLIGHT:this.enableTextSelection(),this.togglePointerEvents(!1),this.disableClick();break;default:this.disableTextSelection(),this.togglePointerEvents(!0),this.enableClick()}this.toggleAnnotationLayerPointerEvents(!1);const{classList:e}=this.div;for(const n of m(Ec,e0).values())e.toggle(`${n._type}Editing`,t===n._editorType);this.div.hidden=!1}hasTextLayer(t){var e;return t===((e=m(this,ts))==null?void 0:e.div)}setEditingState(t){m(this,nl).setEditingState(t)}addCommands(t){m(this,nl).addCommands(t)}cleanUndoStack(t){m(this,nl).cleanUndoStack(t)}toggleDrawing(t=!1){this.div.classList.toggle("drawing",!t)}togglePointerEvents(t=!1){this.div.classList.toggle("disabled",!t)}toggleAnnotationLayerPointerEvents(t=!1){var e;(e=m(this,Qr))==null||e.div.classList.toggle("disabled",!t)}async enable(){var n;z(this,hh,!0),this.div.tabIndex=0,this.togglePointerEvents(!0),(n=m(this,t0))==null||n.abort(),z(this,t0,null);const t=new Set;for(const i of m(this,Ka).values())i.enableEditing(),i.show(!0),i.annotationElementId&&(m(this,nl).removeChangedExistingAnnotation(i),t.add(i.annotationElementId));if(!m(this,Qr)){z(this,hh,!1);return}const e=m(this,Qr).getEditableAnnotations();for(const i of e){if(i.hide(),m(this,nl).isDeletedAnnotationElement(i.data.id)||t.has(i.data.id))continue;const s=await this.deserialize(i);s&&(this.addOrRebuild(s),s.enableEditing())}z(this,hh,!1)}disable(){var i;if(z(this,BZ,!0),this.div.tabIndex=-1,this.togglePointerEvents(!1),m(this,ts)&&!m(this,t0)){z(this,t0,new AbortController);const s=m(this,nl).combinedSignal(m(this,t0));m(this,ts).div.addEventListener("pointerdown",a=>{const{clientX:o,clientY:d,timeStamp:h}=a,b=m(this,AZ);if(h-b>500){z(this,AZ,h);return}z(this,AZ,-1);const{classList:p}=this.div;p.toggle("getElements",!0);const y=document.elementsFromPoint(o,d);if(p.toggle("getElements",!1),!this.div.contains(y[0]))return;let M;const T=new RegExp(`^${FR}[0-9]+$`);for(const L of y)if(T.test(L.id)){M=L.id;break}if(!M)return;const Y=m(this,Ka).get(M);(Y==null?void 0:Y.annotationElementId)===null&&(a.stopPropagation(),a.preventDefault(),Y.dblclick())},{signal:s,capture:!0})}const t=new Map,e=new Map;for(const s of m(this,Ka).values())if(s.disableEditing(),!!s.annotationElementId){if(s.serialize()!==null){t.set(s.annotationElementId,s);continue}else e.set(s.annotationElementId,s);(i=this.getEditableAnnotation(s.annotationElementId))==null||i.show(),s.remove()}if(m(this,Qr)){const s=m(this,Qr).getEditableAnnotations();for(const a of s){const{id:c}=a.data;if(m(this,nl).isDeletedAnnotationElement(c)){a.updateEdited({deleted:!0});continue}let o=e.get(c);if(o){o.resetAnnotationElement(a),o.show(!1),a.show();continue}o=t.get(c),o&&(m(this,nl).addChangedExistingAnnotation(o),o.renderAnnotationElement(a)&&o.show(!1)),a.show()}}J(this,En,yM).call(this),this.isEmpty&&(this.div.hidden=!0);const{classList:n}=this.div;for(const s of m(Ec,e0).values())n.remove(`${s._type}Editing`);this.disableTextSelection(),this.toggleAnnotationLayerPointerEvents(!0),z(this,BZ,!1)}getEditableAnnotation(t){var e;return((e=m(this,Qr))==null?void 0:e.getEditableAnnotation(t))||null}setActiveEditor(t){m(this,nl).getActive()!==t&&m(this,nl).setActiveEditor(t)}enableTextSelection(){var t;if(this.div.tabIndex=-1,(t=m(this,ts))!=null&&t.div&&!m(this,pd)){z(this,pd,new AbortController);const e=m(this,nl).combinedSignal(m(this,pd));m(this,ts).div.addEventListener("pointerdown",J(this,En,HD).bind(this),{signal:e}),m(this,ts).div.classList.add("highlighting")}}disableTextSelection(){var t;this.div.tabIndex=0,(t=m(this,ts))!=null&&t.div&&m(this,pd)&&(m(this,pd).abort(),z(this,pd,null),m(this,ts).div.classList.remove("highlighting"))}enableClick(){if(m(this,qu))return;z(this,qu,new AbortController);const t=m(this,nl).combinedSignal(m(this,qu));this.div.addEventListener("pointerdown",this.pointerdown.bind(this),{signal:t});const e=this.pointerup.bind(this);this.div.addEventListener("pointerup",e,{signal:t}),this.div.addEventListener("pointercancel",e,{signal:t})}disableClick(){var t;(t=m(this,qu))==null||t.abort(),z(this,qu,null)}attach(t){m(this,Ka).set(t.id,t);const{annotationElementId:e}=t;e&&m(this,nl).isDeletedAnnotationElement(e)&&m(this,nl).removeDeletedAnnotationElement(t)}detach(t){var e;m(this,Ka).delete(t.id),(e=m(this,mh))==null||e.removePointerInTextLayer(t.contentDiv),!m(this,BZ)&&t.annotationElementId&&m(this,nl).addDeletedAnnotationElement(t)}remove(t){this.detach(t),m(this,nl).removeEditor(t),t.div.remove(),t.isAttachedToDOM=!1}changeParent(t){var e;t.parent!==this&&(t.parent&&t.annotationElementId&&(m(this,nl).addDeletedAnnotationElement(t.annotationElementId),xn.deleteAnnotationElement(t),t.annotationElementId=null),this.attach(t),(e=t.parent)==null||e.detach(t),t.setParent(this),t.div&&t.isAttachedToDOM&&(t.div.remove(),this.div.append(t.div)))}add(t){if(!(t.parent===this&&t.isAttachedToDOM)){if(this.changeParent(t),m(this,nl).addEditor(t),this.attach(t),!t.isAttachedToDOM){const e=t.render();this.div.append(e),t.isAttachedToDOM=!0}t.fixAndSetPosition(),t.onceAdded(!m(this,hh)),m(this,nl).addToAnnotationStorage(t),t._reportTelemetry(t.telemetryInitialData)}}moveEditorInDOM(t){var n;if(!t.isAttachedToDOM)return;const{activeElement:e}=document;t.div.contains(e)&&!m(this,bd)&&(t._focusEventsAllowed=!1,z(this,bd,setTimeout(()=>{z(this,bd,null),t.div.contains(document.activeElement)?t._focusEventsAllowed=!0:(t.div.addEventListener("focusin",()=>{t._focusEventsAllowed=!0},{once:!0,signal:m(this,nl)._signal}),e.focus())},0))),t._structTreeParentId=(n=m(this,mh))==null?void 0:n.moveElementInDOM(this.div,t.div,t.contentDiv,!0)}addOrRebuild(t){t.needsToBeRebuilt()?(t.parent||(t.parent=this),t.rebuild(),t.show()):this.add(t)}addUndoableEditor(t){const e=()=>t._uiManager.rebuild(t),n=()=>{t.remove()};this.addCommands({cmd:e,undo:n,mustExec:!1})}getNextId(){return m(this,nl).getId()}combinedSignal(t){return m(this,nl).combinedSignal(t)}canCreateNewEmptyEditor(){var t;return(t=m(this,En,Lr))==null?void 0:t.canCreateNewEmptyEditor()}async pasteEditor(t,e){this.updateToolbar(t),await m(this,nl).updateMode(t.mode);const{offsetX:n,offsetY:i}=J(this,En,DL).call(this),s=this.getNextId(),a=J(this,En,kL).call(this,{parent:this,id:s,x:n,y:i,uiManager:m(this,nl),isCentered:!0,...e});a&&this.add(a)}async deserialize(t){var e;return await((e=m(Ec,e0).get(t.annotationType??t.annotationEditorType))==null?void 0:e.deserialize(t,this,m(this,nl)))||null}createAndAddNewEditor(t,e,n={}){const i=this.getNextId(),s=J(this,En,kL).call(this,{parent:this,id:i,x:t.offsetX,y:t.offsetY,uiManager:m(this,nl),isCentered:e,...n});return s&&this.add(s),s}addNewEditor(t={}){this.createAndAddNewEditor(J(this,En,DL).call(this),!0,t)}setSelected(t){m(this,nl).setSelected(t)}toggleSelected(t){m(this,nl).toggleSelected(t)}unselect(t){m(this,nl).unselect(t)}pointerup(t){var i;const{isMac:e}=Ws.platform;if(t.button!==0||t.ctrlKey&&e||t.target!==this.div||!m(this,$u)||(z(this,$u,!1),(i=m(this,En,Lr))!=null&&i.isDrawer&&m(this,En,Lr).supportMultipleDrawings))return;if(!m(this,QZ)){z(this,QZ,!0);return}const n=m(this,nl).getMode();if(n===Tl.STAMP||n===Tl.SIGNATURE){m(this,nl).unselectAll();return}this.createAndAddNewEditor(t,!1)}pointerdown(t){var i;if(m(this,nl).getMode()===Tl.HIGHLIGHT&&this.enableTextSelection(),m(this,$u)){z(this,$u,!1);return}const{isMac:e}=Ws.platform;if(t.button!==0||t.ctrlKey&&e||t.target!==this.div)return;if(z(this,$u,!0),(i=m(this,En,Lr))!=null&&i.isDrawer){this.startDrawingSession(t);return}const n=m(this,nl).getActive();z(this,QZ,!n||n.isEmpty())}startDrawingSession(t){if(this.div.focus({preventScroll:!0}),m(this,tr)){m(this,En,Lr).startDrawing(this,m(this,nl),!1,t);return}m(this,nl).setCurrentDrawingSession(this),z(this,tr,new AbortController);const e=m(this,nl).combinedSignal(m(this,tr));this.div.addEventListener("blur",({relatedTarget:n})=>{n&&!this.div.contains(n)&&(z(this,Zd,null),this.commitOrRemove())},{signal:e}),m(this,En,Lr).startDrawing(this,m(this,nl),!1,t)}pause(t){if(t){const{activeElement:e}=document;this.div.contains(e)&&z(this,Zd,e);return}m(this,Zd)&&setTimeout(()=>{var e;(e=m(this,Zd))==null||e.focus(),z(this,Zd,null)},0)}endDrawingSession(t=!1){return m(this,tr)?(m(this,nl).setCurrentDrawingSession(null),m(this,tr).abort(),z(this,tr,null),z(this,Zd,null),m(this,En,Lr).endDrawing(t)):null}findNewParent(t,e,n){const i=m(this,nl).findParent(e,n);return i===null||i===this?!1:(i.changeParent(t),!0)}commitOrRemove(){return m(this,tr)?(this.endDrawingSession(),!0):!1}onScaleChanging(){m(this,tr)&&m(this,En,Lr).onScaleChangingWhenDrawing(this)}destroy(){var t,e;this.commitOrRemove(),((t=m(this,nl).getActive())==null?void 0:t.parent)===this&&(m(this,nl).commitOrRemove(),m(this,nl).setActiveEditor(null)),m(this,bd)&&(clearTimeout(m(this,bd)),z(this,bd,null));for(const n of m(this,Ka).values())(e=m(this,mh))==null||e.removePointerInTextLayer(n.contentDiv),n.setParent(null),n.isAttachedToDOM=!1,n.div.remove();this.div=null,m(this,Ka).clear(),m(this,nl).removeLayer(this)}render({viewport:t}){this.viewport=t,yh(this.div,t);for(const e of m(this,nl).getEditors(this.pageIndex))this.add(e),e.rebuild();this.updateMode()}update({viewport:t}){m(this,nl).commitOrRemove(),J(this,En,yM).call(this);const e=this.viewport.rotation,n=t.rotation;if(this.viewport=t,yh(this.div,{rotation:n}),e!==n)for(const i of m(this,Ka).values())i.rotate(n)}get pageDimensions(){const{pageWidth:t,pageHeight:e}=this.viewport.rawDims;return[t,e]}get scale(){return m(this,nl).viewParameters.realScale}};mh=new WeakMap,QZ=new WeakMap,Qr=new WeakMap,qu=new WeakMap,bd=new WeakMap,Ka=new WeakMap,$u=new WeakMap,BZ=new WeakMap,hh=new WeakMap,tr=new WeakMap,Zd=new WeakMap,ts=new WeakMap,pd=new WeakMap,t0=new WeakMap,AZ=new WeakMap,nl=new WeakMap,e0=new WeakMap,En=new WeakSet,HD=function(t){m(this,nl).unselectAll();const{target:e}=t;if(e===m(this,ts).div||(e.getAttribute("role")==="img"||e.classList.contains("endOfContent"))&&m(this,ts).div.contains(e)){const{isMac:n}=Ws.platform;if(t.button!==0||t.ctrlKey&&n)return;m(this,nl).showAllEditors("highlight",!0,!0),m(this,ts).div.classList.add("free"),this.toggleDrawing(),PM.startHighlighting(this,m(this,nl).direction==="ltr",{target:m(this,ts).div,x:t.x,y:t.y}),m(this,ts).div.addEventListener("pointerup",()=>{m(this,ts).div.classList.remove("free"),this.toggleDrawing(!0)},{once:!0,signal:m(this,nl)._signal}),t.preventDefault()}},Lr=function(){return m(Ec,e0).get(m(this,nl).getMode())},kL=function(t){const e=m(this,En,Lr);return e?new e.prototype.constructor(t):null},DL=function(){const{x:t,y:e,width:n,height:i}=this.div.getBoundingClientRect(),s=Math.max(0,t),a=Math.max(0,e),c=Math.min(window.innerWidth,t+n),o=Math.min(window.innerHeight,e+i),d=(s+c)/2-t,h=(a+o)/2-e,[b,p]=this.viewport.rotation%180===0?[d,h]:[h,d];return{offsetX:b,offsetY:p}},yM=function(){for(const t of m(this,Ka).values())t.isEmpty()&&t.remove()},We(Ec,"_initialized",!1),k(Ec,e0,new Map([ZL,LL,fL,PM,xL].map(t=>[t._editorType,t])));let RL=Ec;var er,Us,bh,MW,ZG,QD,to,jL,BD,CL;const Di=class Di{constructor({pageIndex:t}){k(this,to);k(this,er,null);k(this,Us,new Map);k(this,bh,new Map);this.pageIndex=t}setParent(t){if(!m(this,er)){z(this,er,t);return}if(m(this,er)!==t){if(m(this,Us).size>0)for(const e of m(this,Us).values())e.remove(),t.append(e);z(this,er,t)}}static get _svgFactory(){return vl(this,"_svgFactory",new EM)}draw(t,e=!1,n=!1){const i=Ri(Di,MW)._++,s=J(this,to,jL).call(this),a=Di._svgFactory.createElement("defs");s.append(a);const c=Di._svgFactory.createElement("path");a.append(c);const o=`path_p${this.pageIndex}_${i}`;c.setAttribute("id",o),c.setAttribute("vector-effect","non-scaling-stroke"),e&&m(this,bh).set(i,c);const d=n?J(this,to,BD).call(this,a,o):null,h=Di._svgFactory.createElement("use");return s.append(h),h.setAttribute("href",`#${o}`),this.updateProperties(s,t),m(this,Us).set(i,s),{id:i,clipPathId:`url(#${d})`}}drawOutline(t,e){const n=Ri(Di,MW)._++,i=J(this,to,jL).call(this),s=Di._svgFactory.createElement("defs");i.append(s);const a=Di._svgFactory.createElement("path");s.append(a);const c=`path_p${this.pageIndex}_${n}`;a.setAttribute("id",c),a.setAttribute("vector-effect","non-scaling-stroke");let o;if(e){const b=Di._svgFactory.createElement("mask");s.append(b),o=`mask_p${this.pageIndex}_${n}`,b.setAttribute("id",o),b.setAttribute("maskUnits","objectBoundingBox");const p=Di._svgFactory.createElement("rect");b.append(p),p.setAttribute("width","1"),p.setAttribute("height","1"),p.setAttribute("fill","white");const y=Di._svgFactory.createElement("use");b.append(y),y.setAttribute("href",`#${c}`),y.setAttribute("stroke","none"),y.setAttribute("fill","black"),y.setAttribute("fill-rule","nonzero"),y.classList.add("mask")}const d=Di._svgFactory.createElement("use");i.append(d),d.setAttribute("href",`#${c}`),o&&d.setAttribute("mask",`url(#${o})`);const h=d.cloneNode();return i.append(h),d.classList.add("mainOutline"),h.classList.add("secondaryOutline"),this.updateProperties(i,t),m(this,Us).set(n,i),n}finalizeDraw(t,e){m(this,bh).delete(t),this.updateProperties(t,e)}updateProperties(t,e){var o;if(!e)return;const{root:n,bbox:i,rootClass:s,path:a}=e,c=typeof t=="number"?m(this,Us).get(t):t;if(c){if(n&&J(this,to,CL).call(this,c,n),i&&J(o=Di,ZG,QD).call(o,c,i),s){const{classList:d}=c;for(const[h,b]of Object.entries(s))d.toggle(h,b)}if(a){const h=c.firstChild.firstChild;J(this,to,CL).call(this,h,a)}}}updateParent(t,e){if(e===this)return;const n=m(this,Us).get(t);n&&(m(e,er).append(n),m(this,Us).delete(t),m(e,Us).set(t,n))}remove(t){m(this,bh).delete(t),m(this,er)!==null&&(m(this,Us).get(t).remove(),m(this,Us).delete(t))}destroy(){z(this,er,null);for(const t of m(this,Us).values())t.remove();m(this,Us).clear(),m(this,bh).clear()}};er=new WeakMap,Us=new WeakMap,bh=new WeakMap,MW=new WeakMap,ZG=new WeakSet,QD=function(t,[e,n,i,s]){const{style:a}=t;a.top=`${100*n}%`,a.left=`${100*e}%`,a.width=`${100*i}%`,a.height=`${100*s}%`},to=new WeakSet,jL=function(){const t=Di._svgFactory.create(1,1,!0);return m(this,er).append(t),t.setAttribute("aria-hidden",!0),t},BD=function(t,e){const n=Di._svgFactory.createElement("clipPath");t.append(n);const i=`clip_${e}`;n.setAttribute("id",i),n.setAttribute("clipPathUnits","objectBoundingBox");const s=Di._svgFactory.createElement("use");return n.append(s),s.setAttribute("href",`#${e}`),s.classList.add("clip"),i},CL=function(t,e){for(const[n,i]of Object.entries(e))i===null?t.removeAttribute(n):t.setAttribute(n,i)},k(Di,ZG),k(Di,MW,0);let OL=Di;globalThis._pdfjsTestingUtils={HighlightOutliner:yL};globalThis.pdfjsLib={AbortException:o0,AnnotationEditorLayer:RL,AnnotationEditorParamsType:_l,AnnotationEditorType:Tl,AnnotationEditorUIManager:Wh,AnnotationLayer:mL,AnnotationMode:ru,AnnotationType:Ti,build:Jq,ColorPicker:vM,createValidAbsoluteUrl:JR,DOMSVGFactory:EM,DrawLayer:OL,FeatureTest:Ws,fetchData:OW,getDocument:_V,getFilenameFromUrl:f_,getPdfFilenameFromUrl:S_,getRGB:EG,getUuid:ER,getXfaPageViewport:k_,GlobalWorkerOptions:_r,ImageKind:v1,InvalidPDFException:TY,isDataScheme:UG,isPdfFile:HV,isValidExplicitDest:P_,MathClamp:Ps,noContextMenu:Sc,normalizeUnicode:z_,OPS:D2,OutputScale:$r,PasswordResponses:M_,PDFDataRangeTransport:Ek,PDFDateString:jM,PDFWorker:C2,PermissionFlag:N_,PixelsPerInch:d0,RenderingCancelledException:PV,ResponseException:OM,setLayerDimensions:yh,shadow:vl,SignatureExtractor:yd,stopEvent:Li,SupportedImageMimeTypes:YY,TextLayer:O2,TouchManager:FM,updateUrlHash:vR,Util:Ae,VerbosityLevel:FG,version:Fq,XfaLayer:Qk};const d$="data:text/javascript;base64,LyoqCiAqIEBsaWNzdGFydCBUaGUgZm9sbG93aW5nIGlzIHRoZSBlbnRpcmUgbGljZW5zZSBub3RpY2UgZm9yIHRoZQogKiBKYXZhU2NyaXB0IGNvZGUgaW4gdGhpcyBwYWdlCiAqCiAqIENvcHlyaWdodCAyMDI0IE1vemlsbGEgRm91bmRhdGlvbgogKgogKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgogKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKICoKICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAogKgogKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBAbGljZW5kIFRoZSBhYm92ZSBpcyB0aGUgZW50aXJlIGxpY2Vuc2Ugbm90aWNlIGZvciB0aGUKICogSmF2YVNjcmlwdCBjb2RlIGluIHRoaXMgcGFnZQogKi8KLyoqCiAqIHBkZmpzVmVyc2lvbiA9IDUuNC4xNDkKICogcGRmanNCdWlsZCA9IDllMmU5ZTIwOQogKi9jb25zdCBlPSEoIm9iamVjdCIhPXR5cGVvZiBwcm9jZXNzfHxwcm9jZXNzKyIiIT0iW29iamVjdCBwcm9jZXNzXSJ8fHByb2Nlc3MudmVyc2lvbnMubnd8fHByb2Nlc3MudmVyc2lvbnMuZWxlY3Ryb24mJnByb2Nlc3MudHlwZSYmImJyb3dzZXIiIT09cHJvY2Vzcy50eXBlKSx0PVsuMDAxLDAsMCwuMDAxLDAsMF0sYT0xLjM1LHI9LjM1LGk9LjI1OTI1OTI1OTI1OTI1OTI0LG49MSxzPTIsbz00LGM9OCxsPTE2LGg9NjQsdT0xMjgsZD0yNTYsZj0icGRmanNfaW50ZXJuYWxfZWRpdG9yXyIsZz0zLHA9OSxtPTEzLGI9MTUseT0xMDEsdz17UFJJTlQ6NCxNT0RJRllfQ09OVEVOVFM6OCxDT1BZOjE2LE1PRElGWV9BTk5PVEFUSU9OUzozMixGSUxMX0lOVEVSQUNUSVZFX0ZPUk1TOjI1NixDT1BZX0ZPUl9BQ0NFU1NJQklMSVRZOjUxMixBU1NFTUJMRToxMDI0LFBSSU5UX0hJR0hfUVVBTElUWToyMDQ4fSx4PTAsUz00LGs9MSxDPTIsdj0zLEY9e1RFWFQ6MSxMSU5LOjIsRlJFRVRFWFQ6MyxMSU5FOjQsU1FVQVJFOjUsQ0lSQ0xFOjYsUE9MWUdPTjo3LFBPTFlMSU5FOjgsSElHSExJR0hUOjksVU5ERVJMSU5FOjEwLFNRVUlHR0xZOjExLFNUUklLRU9VVDoxMixTVEFNUDoxMyxDQVJFVDoxNCxJTks6MTUsUE9QVVA6MTYsRklMRUFUVEFDSE1FTlQ6MTcsU09VTkQ6MTgsTU9WSUU6MTksV0lER0VUOjIwLFNDUkVFTjoyMSxQUklOVEVSTUFSSzoyMixUUkFQTkVUOjIzLFdBVEVSTUFSSzoyNCxUSFJFRUQ6MjUsUkVEQUNUOjI2fSxUPSJHcm91cCIsTz0iUiIsTT0xLEQ9MixSPTQsTj0xNixFPTMyLEw9MTI4LGo9NTEyLF89MSxVPTIsWD00MDk2LHE9ODE5MixIPTMyNzY4LFc9NjU1MzYsej0xMzEwNzIsJD0xMDQ4NTc2LEc9MjA5NzE1MixWPTgzODg2MDgsSz0xNjc3NzIxNixKPTEsWT0yLFo9MyxRPTQsZWU9NSx0ZT17RToiTW91c2UgRW50ZXIiLFg6Ik1vdXNlIEV4aXQiLEQ6Ik1vdXNlIERvd24iLFU6Ik1vdXNlIFVwIixGbzoiRm9jdXMiLEJsOiJCbHVyIixQTzoiUGFnZU9wZW4iLFBDOiJQYWdlQ2xvc2UiLFBWOiJQYWdlVmlzaWJsZSIsUEk6IlBhZ2VJbnZpc2libGUiLEs6IktleXN0cm9rZSIsRjoiRm9ybWF0IixWOiJWYWxpZGF0ZSIsQzoiQ2FsY3VsYXRlIn0sYWU9e1dDOiJXaWxsQ2xvc2UiLFdTOiJXaWxsU2F2ZSIsRFM6IkRpZFNhdmUiLFdQOiJXaWxsUHJpbnQiLERQOiJEaWRQcmludCJ9LHJlPXtPOiJQYWdlT3BlbiIsQzoiUGFnZUNsb3NlIn0saWU9MSxuZT01LHNlPTEsb2U9MixjZT0zLGxlPTQsaGU9NSx1ZT02LGRlPTcsZmU9OCxnZT05LHBlPTEwLG1lPTExLGJlPTEyLHllPTEzLHdlPTE0LHhlPTE1LFNlPTE2LEFlPTE3LGtlPTE4LENlPTE5LHZlPTIwLEZlPTIxLEllPTIyLFRlPTIzLE9lPTI0LE1lPTI1LERlPTI2LEJlPTI3LFJlPTI4LE5lPTI5LEVlPTMwLFBlPTMxLExlPTMyLGplPTMzLF9lPTM0LFVlPTM1LFhlPTM2LHFlPTM3LEhlPTM4LFdlPTM5LHplPTQwLCRlPTQxLEdlPTQyLFZlPTQzLEtlPTQ0LEplPTQ1LFllPTQ2LFplPTQ3LFFlPTQ4LGV0PTQ5LHR0PTUwLGF0PTUxLHJ0PTUyLGl0PTUzLG50PTU0LHN0PTU1LG90PTU2LGN0PTU3LGx0PTU4LGh0PTU5LHV0PTYwLGR0PTYxLGZ0PTYyLGd0PTYzLHB0PTY0LG10PTY1LGJ0PTY2LHl0PTY3LHd0PTY4LHh0PTY5LFN0PTcwLEF0PTcxLGt0PTcyLEN0PTczLHZ0PTc0LEZ0PTc1LEl0PTc2LFR0PTc3LE90PTgwLE10PTgxLER0PTgzLEJ0PTg0LFJ0PTg1LE50PTg2LEV0PTg3LFB0PTg4LEx0PTg5LGp0PTkwLF90PTkxLFV0PTkyLFh0PTkzLHF0PTk0LEh0PTAsV3Q9MSx6dD0yLCR0PTMsR3Q9MSxWdD0yO2xldCBLdD1pZTtmdW5jdGlvbiBnZXRWZXJib3NpdHlMZXZlbCgpe3JldHVybiBLdH1mdW5jdGlvbiBpbmZvKGUpe0t0Pj1uZSYmY29uc29sZS5sb2coYEluZm86ICR7ZX1gKX1mdW5jdGlvbiB3YXJuKGUpe0t0Pj1pZSYmY29uc29sZS5sb2coYFdhcm5pbmc6ICR7ZX1gKX1mdW5jdGlvbiB1bnJlYWNoYWJsZShlKXt0aHJvdyBuZXcgRXJyb3IoZSl9ZnVuY3Rpb24gYXNzZXJ0KGUsdCl7ZXx8dW5yZWFjaGFibGUodCl9ZnVuY3Rpb24gY3JlYXRlVmFsaWRBYnNvbHV0ZVVybChlLHQ9bnVsbCxhPW51bGwpe2lmKCFlKXJldHVybiBudWxsO2lmKGEmJiJzdHJpbmciPT10eXBlb2YgZSl7aWYoYS5hZGREZWZhdWx0UHJvdG9jb2wmJmUuc3RhcnRzV2l0aCgid3d3LiIpKXtjb25zdCB0PWUubWF0Y2goL1wuL2cpO3Q/Lmxlbmd0aD49MiYmKGU9YGh0dHA6Ly8ke2V9YCl9aWYoYS50cnlDb252ZXJ0RW5jb2RpbmcpdHJ5e2U9c3RyaW5nVG9VVEY4U3RyaW5nKGUpfWNhdGNoe319Y29uc3Qgcj10P1VSTC5wYXJzZShlLHQpOlVSTC5wYXJzZShlKTtyZXR1cm4gZnVuY3Rpb24gX2lzVmFsaWRQcm90b2NvbChlKXtzd2l0Y2goZT8ucHJvdG9jb2wpe2Nhc2UiaHR0cDoiOmNhc2UiaHR0cHM6IjpjYXNlImZ0cDoiOmNhc2UibWFpbHRvOiI6Y2FzZSJ0ZWw6IjpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX0ocik/cjpudWxsfWZ1bmN0aW9uIHNoYWRvdyhlLHQsYSxyPSExKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHt2YWx1ZTphLGVudW1lcmFibGU6IXIsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiExfSk7cmV0dXJuIGF9Y29uc3QgSnQ9ZnVuY3Rpb24gQmFzZUV4Y2VwdGlvbkNsb3N1cmUoKXtmdW5jdGlvbiBCYXNlRXhjZXB0aW9uKGUsdCl7dGhpcy5tZXNzYWdlPWU7dGhpcy5uYW1lPXR9QmFzZUV4Y2VwdGlvbi5wcm90b3R5cGU9bmV3IEVycm9yO0Jhc2VFeGNlcHRpb24uY29uc3RydWN0b3I9QmFzZUV4Y2VwdGlvbjtyZXR1cm4gQmFzZUV4Y2VwdGlvbn0oKTtjbGFzcyBQYXNzd29yZEV4Y2VwdGlvbiBleHRlbmRzIEp0e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSwiUGFzc3dvcmRFeGNlcHRpb24iKTt0aGlzLmNvZGU9dH19Y2xhc3MgVW5rbm93bkVycm9yRXhjZXB0aW9uIGV4dGVuZHMgSnR7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLCJVbmtub3duRXJyb3JFeGNlcHRpb24iKTt0aGlzLmRldGFpbHM9dH19Y2xhc3MgSW52YWxpZFBERkV4Y2VwdGlvbiBleHRlbmRzIEp0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUsIkludmFsaWRQREZFeGNlcHRpb24iKX19Y2xhc3MgUmVzcG9uc2VFeGNlcHRpb24gZXh0ZW5kcyBKdHtjb25zdHJ1Y3RvcihlLHQsYSl7c3VwZXIoZSwiUmVzcG9uc2VFeGNlcHRpb24iKTt0aGlzLnN0YXR1cz10O3RoaXMubWlzc2luZz1hfX1jbGFzcyBGb3JtYXRFcnJvciBleHRlbmRzIEp0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUsIkZvcm1hdEVycm9yIil9fWNsYXNzIEFib3J0RXhjZXB0aW9uIGV4dGVuZHMgSnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSwiQWJvcnRFeGNlcHRpb24iKX19ZnVuY3Rpb24gYnl0ZXNUb1N0cmluZyhlKXsib2JqZWN0Ij09dHlwZW9mIGUmJnZvaWQgMCE9PWU/Lmxlbmd0aHx8dW5yZWFjaGFibGUoIkludmFsaWQgYXJndW1lbnQgZm9yIGJ5dGVzVG9TdHJpbmciKTtjb25zdCB0PWUubGVuZ3RoLGE9ODE5MjtpZih0PGEpcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxlKTtjb25zdCByPVtdO2ZvcihsZXQgaT0wO2k8dDtpKz1hKXtjb25zdCBuPU1hdGgubWluKGkrYSx0KSxzPWUuc3ViYXJyYXkoaSxuKTtyLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLHMpKX1yZXR1cm4gci5qb2luKCIiKX1mdW5jdGlvbiBzdHJpbmdUb0J5dGVzKGUpeyJzdHJpbmciIT10eXBlb2YgZSYmdW5yZWFjaGFibGUoIkludmFsaWQgYXJndW1lbnQgZm9yIHN0cmluZ1RvQnl0ZXMiKTtjb25zdCB0PWUubGVuZ3RoLGE9bmV3IFVpbnQ4QXJyYXkodCk7Zm9yKGxldCByPTA7cjx0OysrcilhW3JdPTI1NSZlLmNoYXJDb2RlQXQocik7cmV0dXJuIGF9ZnVuY3Rpb24gc3RyaW5nMzIoZSl7cmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoZT4+MjQmMjU1LGU+PjE2JjI1NSxlPj44JjI1NSwyNTUmZSl9ZnVuY3Rpb24gb2JqZWN0U2l6ZShlKXtyZXR1cm4gT2JqZWN0LmtleXMoZSkubGVuZ3RofWNsYXNzIEZlYXR1cmVUZXN0e3N0YXRpYyBnZXQgaXNMaXR0bGVFbmRpYW4oKXtyZXR1cm4gc2hhZG93KHRoaXMsImlzTGl0dGxlRW5kaWFuIixmdW5jdGlvbiBpc0xpdHRsZUVuZGlhbigpe2NvbnN0IGU9bmV3IFVpbnQ4QXJyYXkoNCk7ZVswXT0xO3JldHVybiAxPT09bmV3IFVpbnQzMkFycmF5KGUuYnVmZmVyLDAsMSlbMF19KCkpfXN0YXRpYyBnZXQgaXNFdmFsU3VwcG9ydGVkKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJpc0V2YWxTdXBwb3J0ZWQiLGZ1bmN0aW9uIGlzRXZhbFN1cHBvcnRlZCgpe3RyeXtuZXcgRnVuY3Rpb24oIiIpO3JldHVybiEwfWNhdGNoe3JldHVybiExfX0oKSl9c3RhdGljIGdldCBpc09mZnNjcmVlbkNhbnZhc1N1cHBvcnRlZCgpe3JldHVybiBzaGFkb3codGhpcywiaXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWQiLCJ1bmRlZmluZWQiIT10eXBlb2YgT2Zmc2NyZWVuQ2FudmFzKX1zdGF0aWMgZ2V0IGlzSW1hZ2VEZWNvZGVyU3VwcG9ydGVkKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJpc0ltYWdlRGVjb2RlclN1cHBvcnRlZCIsInVuZGVmaW5lZCIhPXR5cGVvZiBJbWFnZURlY29kZXIpfXN0YXRpYyBnZXQgcGxhdGZvcm0oKXtjb25zdHtwbGF0Zm9ybTplLHVzZXJBZ2VudDp0fT1uYXZpZ2F0b3I7cmV0dXJuIHNoYWRvdyh0aGlzLCJwbGF0Zm9ybSIse2lzQW5kcm9pZDp0LmluY2x1ZGVzKCJBbmRyb2lkIiksaXNMaW51eDplLmluY2x1ZGVzKCJMaW51eCIpLGlzTWFjOmUuaW5jbHVkZXMoIk1hYyIpLGlzV2luZG93czplLmluY2x1ZGVzKCJXaW4iKSxpc0ZpcmVmb3g6dC5pbmNsdWRlcygiRmlyZWZveCIpfSl9c3RhdGljIGdldCBpc0NTU1JvdW5kU3VwcG9ydGVkKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJpc0NTU1JvdW5kU3VwcG9ydGVkIixnbG9iYWxUaGlzLkNTUz8uc3VwcG9ydHM/Ligid2lkdGg6IHJvdW5kKDEuNXB4LCAxcHgpIikpfX1jb25zdCBZdD1BcnJheS5mcm9tKEFycmF5KDI1Nikua2V5cygpLChlPT5lLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCIwIikpKTtjbGFzcyBVdGlse3N0YXRpYyBtYWtlSGV4Q29sb3IoZSx0LGEpe3JldHVybmAjJHtZdFtlXX0ke1l0W3RdfSR7WXRbYV19YH1zdGF0aWMgZG9tTWF0cml4VG9UcmFuc2Zvcm0oZSl7cmV0dXJuW2UuYSxlLmIsZS5jLGUuZCxlLmUsZS5mXX1zdGF0aWMgc2NhbGVNaW5NYXgoZSx0KXtsZXQgYTtpZihlWzBdKXtpZihlWzBdPDApe2E9dFswXTt0WzBdPXRbMl07dFsyXT1hfXRbMF0qPWVbMF07dFsyXSo9ZVswXTtpZihlWzNdPDApe2E9dFsxXTt0WzFdPXRbM107dFszXT1hfXRbMV0qPWVbM107dFszXSo9ZVszXX1lbHNle2E9dFswXTt0WzBdPXRbMV07dFsxXT1hO2E9dFsyXTt0WzJdPXRbM107dFszXT1hO2lmKGVbMV08MCl7YT10WzFdO3RbMV09dFszXTt0WzNdPWF9dFsxXSo9ZVsxXTt0WzNdKj1lWzFdO2lmKGVbMl08MCl7YT10WzBdO3RbMF09dFsyXTt0WzJdPWF9dFswXSo9ZVsyXTt0WzJdKj1lWzJdfXRbMF0rPWVbNF07dFsxXSs9ZVs1XTt0WzJdKz1lWzRdO3RbM10rPWVbNV19c3RhdGljIHRyYW5zZm9ybShlLHQpe3JldHVybltlWzBdKnRbMF0rZVsyXSp0WzFdLGVbMV0qdFswXStlWzNdKnRbMV0sZVswXSp0WzJdK2VbMl0qdFszXSxlWzFdKnRbMl0rZVszXSp0WzNdLGVbMF0qdFs0XStlWzJdKnRbNV0rZVs0XSxlWzFdKnRbNF0rZVszXSp0WzVdK2VbNV1dfXN0YXRpYyBtdWx0aXBseUJ5RE9NTWF0cml4KGUsdCl7cmV0dXJuW2VbMF0qdC5hK2VbMl0qdC5iLGVbMV0qdC5hK2VbM10qdC5iLGVbMF0qdC5jK2VbMl0qdC5kLGVbMV0qdC5jK2VbM10qdC5kLGVbMF0qdC5lK2VbMl0qdC5mK2VbNF0sZVsxXSp0LmUrZVszXSp0LmYrZVs1XV19c3RhdGljIGFwcGx5VHJhbnNmb3JtKGUsdCxhPTApe2NvbnN0IHI9ZVthXSxpPWVbYSsxXTtlW2FdPXIqdFswXStpKnRbMl0rdFs0XTtlW2ErMV09cip0WzFdK2kqdFszXSt0WzVdfXN0YXRpYyBhcHBseVRyYW5zZm9ybVRvQmV6aWVyKGUsdCxhPTApe2NvbnN0IHI9dFswXSxpPXRbMV0sbj10WzJdLHM9dFszXSxvPXRbNF0sYz10WzVdO2ZvcihsZXQgdD0wO3Q8Njt0Kz0yKXtjb25zdCBsPWVbYSt0XSxoPWVbYSt0KzFdO2VbYSt0XT1sKnIraCpuK287ZVthK3QrMV09bCppK2gqcytjfX1zdGF0aWMgYXBwbHlJbnZlcnNlVHJhbnNmb3JtKGUsdCl7Y29uc3QgYT1lWzBdLHI9ZVsxXSxpPXRbMF0qdFszXS10WzFdKnRbMl07ZVswXT0oYSp0WzNdLXIqdFsyXSt0WzJdKnRbNV0tdFs0XSp0WzNdKS9pO2VbMV09KC1hKnRbMV0rcip0WzBdK3RbNF0qdFsxXS10WzVdKnRbMF0pL2l9c3RhdGljIGF4aWFsQWxpZ25lZEJvdW5kaW5nQm94KGUsdCxhKXtjb25zdCByPXRbMF0saT10WzFdLG49dFsyXSxzPXRbM10sbz10WzRdLGM9dFs1XSxsPWVbMF0saD1lWzFdLHU9ZVsyXSxkPWVbM107bGV0IGY9cipsK28sZz1mLHA9cip1K28sbT1wLGI9cypoK2MseT1iLHc9cypkK2MseD13O2lmKDAhPT1pfHwwIT09bil7Y29uc3QgZT1pKmwsdD1pKnUsYT1uKmgscj1uKmQ7Zis9YTttKz1hO3ArPXI7Zys9cjtiKz1lO3grPWU7dys9dDt5Kz10fWFbMF09TWF0aC5taW4oYVswXSxmLHAsZyxtKTthWzFdPU1hdGgubWluKGFbMV0sYix3LHkseCk7YVsyXT1NYXRoLm1heChhWzJdLGYscCxnLG0pO2FbM109TWF0aC5tYXgoYVszXSxiLHcseSx4KX1zdGF0aWMgaW52ZXJzZVRyYW5zZm9ybShlKXtjb25zdCB0PWVbMF0qZVszXS1lWzFdKmVbMl07cmV0dXJuW2VbM10vdCwtZVsxXS90LC1lWzJdL3QsZVswXS90LChlWzJdKmVbNV0tZVs0XSplWzNdKS90LChlWzRdKmVbMV0tZVs1XSplWzBdKS90XX1zdGF0aWMgc2luZ3VsYXJWYWx1ZURlY29tcG9zZTJkU2NhbGUoZSx0KXtjb25zdCBhPWVbMF0scj1lWzFdLGk9ZVsyXSxuPWVbM10scz1hKioyK3IqKjIsbz1hKmkrcipuLGM9aSoqMituKioyLGw9KHMrYykvMixoPU1hdGguc3FydChsKioyLShzKmMtbyoqMikpO3RbMF09TWF0aC5zcXJ0KGwraHx8MSk7dFsxXT1NYXRoLnNxcnQobC1ofHwxKX1zdGF0aWMgbm9ybWFsaXplUmVjdChlKXtjb25zdCB0PWUuc2xpY2UoMCk7aWYoZVswXT5lWzJdKXt0WzBdPWVbMl07dFsyXT1lWzBdfWlmKGVbMV0+ZVszXSl7dFsxXT1lWzNdO3RbM109ZVsxXX1yZXR1cm4gdH1zdGF0aWMgaW50ZXJzZWN0KGUsdCl7Y29uc3QgYT1NYXRoLm1heChNYXRoLm1pbihlWzBdLGVbMl0pLE1hdGgubWluKHRbMF0sdFsyXSkpLHI9TWF0aC5taW4oTWF0aC5tYXgoZVswXSxlWzJdKSxNYXRoLm1heCh0WzBdLHRbMl0pKTtpZihhPnIpcmV0dXJuIG51bGw7Y29uc3QgaT1NYXRoLm1heChNYXRoLm1pbihlWzFdLGVbM10pLE1hdGgubWluKHRbMV0sdFszXSkpLG49TWF0aC5taW4oTWF0aC5tYXgoZVsxXSxlWzNdKSxNYXRoLm1heCh0WzFdLHRbM10pKTtyZXR1cm4gaT5uP251bGw6W2EsaSxyLG5dfXN0YXRpYyBwb2ludEJvdW5kaW5nQm94KGUsdCxhKXthWzBdPU1hdGgubWluKGFbMF0sZSk7YVsxXT1NYXRoLm1pbihhWzFdLHQpO2FbMl09TWF0aC5tYXgoYVsyXSxlKTthWzNdPU1hdGgubWF4KGFbM10sdCl9c3RhdGljIHJlY3RCb3VuZGluZ0JveChlLHQsYSxyLGkpe2lbMF09TWF0aC5taW4oaVswXSxlLGEpO2lbMV09TWF0aC5taW4oaVsxXSx0LHIpO2lbMl09TWF0aC5tYXgoaVsyXSxlLGEpO2lbM109TWF0aC5tYXgoaVszXSx0LHIpfXN0YXRpYyNlKGUsdCxhLHIsaSxuLHMsbyxjLGwpe2lmKGM8PTB8fGM+PTEpcmV0dXJuO2NvbnN0IGg9MS1jLHU9YypjLGQ9dSpjLGY9aCooaCooaCplKzMqYyp0KSszKnUqYSkrZCpyLGc9aCooaCooaCppKzMqYypuKSszKnUqcykrZCpvO2xbMF09TWF0aC5taW4obFswXSxmKTtsWzFdPU1hdGgubWluKGxbMV0sZyk7bFsyXT1NYXRoLm1heChsWzJdLGYpO2xbM109TWF0aC5tYXgobFszXSxnKX1zdGF0aWMjdChlLHQsYSxyLGksbixzLG8sYyxsLGgsdSl7aWYoTWF0aC5hYnMoYyk8MWUtMTIpe01hdGguYWJzKGwpPj0xZS0xMiYmdGhpcy4jZShlLHQsYSxyLGksbixzLG8sLWgvbCx1KTtyZXR1cm59Y29uc3QgZD1sKioyLTQqaCpjO2lmKGQ8MClyZXR1cm47Y29uc3QgZj1NYXRoLnNxcnQoZCksZz0yKmM7dGhpcy4jZShlLHQsYSxyLGksbixzLG8sKC1sK2YpL2csdSk7dGhpcy4jZShlLHQsYSxyLGksbixzLG8sKC1sLWYpL2csdSl9c3RhdGljIGJlemllckJvdW5kaW5nQm94KGUsdCxhLHIsaSxuLHMsbyxjKXtjWzBdPU1hdGgubWluKGNbMF0sZSxzKTtjWzFdPU1hdGgubWluKGNbMV0sdCxvKTtjWzJdPU1hdGgubWF4KGNbMl0sZSxzKTtjWzNdPU1hdGgubWF4KGNbM10sdCxvKTt0aGlzLiN0KGUsYSxpLHMsdCxyLG4sbywzKigzKihhLWkpLWUrcyksNiooZS0yKmEraSksMyooYS1lKSxjKTt0aGlzLiN0KGUsYSxpLHMsdCxyLG4sbywzKigzKihyLW4pLXQrbyksNioodC0yKnIrbiksMyooci10KSxjKX19Y29uc3QgWnQ9WzAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDcyOCw3MTEsNzEwLDcyOSw3MzMsNzMxLDczMCw3MzIsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsODIyNiw4MjI0LDgyMjUsODIzMCw4MjEyLDgyMTEsNDAyLDgyNjAsODI0OSw4MjUwLDg3MjIsODI0MCw4MjIyLDgyMjAsODIyMSw4MjE2LDgyMTcsODIxOCw4NDgyLDY0MjU3LDY0MjU4LDMyMSwzMzgsMzUyLDM3NiwzODEsMzA1LDMyMiwzMzksMzUzLDM4MiwwLDgzNjRdO2Z1bmN0aW9uIHN0cmluZ1RvUERGU3RyaW5nKGUsdD0hMSl7aWYoZVswXT49IsOvIil7bGV0IGE7aWYoIsO+Ij09PWVbMF0mJiLDvyI9PT1lWzFdKXthPSJ1dGYtMTZiZSI7ZS5sZW5ndGglMj09MSYmKGU9ZS5zbGljZSgwLC0xKSl9ZWxzZSBpZigiw78iPT09ZVswXSYmIsO+Ij09PWVbMV0pe2E9InV0Zi0xNmxlIjtlLmxlbmd0aCUyPT0xJiYoZT1lLnNsaWNlKDAsLTEpKX1lbHNlIsOvIj09PWVbMF0mJiLCuyI9PT1lWzFdJiYiwr8iPT09ZVsyXSYmKGE9InV0Zi04Iik7aWYoYSl0cnl7Y29uc3Qgcj1uZXcgVGV4dERlY29kZXIoYSx7ZmF0YWw6ITB9KSxpPXN0cmluZ1RvQnl0ZXMoZSksbj1yLmRlY29kZShpKTtyZXR1cm4gdHx8IW4uaW5jbHVkZXMoIhsiKT9uOm4ucmVwbGFjZUFsbCgvXHgxYlteXHgxYl0qKD86XHgxYnwkKS9nLCIiKX1jYXRjaChlKXt3YXJuKGBzdHJpbmdUb1BERlN0cmluZzogIiR7ZX0iLmApfX1jb25zdCBhPVtdO2ZvcihsZXQgcj0wLGk9ZS5sZW5ndGg7cjxpO3IrKyl7Y29uc3Qgbj1lLmNoYXJDb2RlQXQocik7aWYoIXQmJjI3PT09bil7Zm9yKDsrK3I8aSYmMjchPT1lLmNoYXJDb2RlQXQocik7KTtjb250aW51ZX1jb25zdCBzPVp0W25dO2EucHVzaChzP1N0cmluZy5mcm9tQ2hhckNvZGUocyk6ZS5jaGFyQXQocikpfXJldHVybiBhLmpvaW4oIiIpfWZ1bmN0aW9uIHN0cmluZ1RvVVRGOFN0cmluZyhlKXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGVzY2FwZShlKSl9ZnVuY3Rpb24gdXRmOFN0cmluZ1RvU3RyaW5nKGUpe3JldHVybiB1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoZSkpfWZ1bmN0aW9uIGlzQXJyYXlFcXVhbChlLHQpe2lmKGUubGVuZ3RoIT09dC5sZW5ndGgpcmV0dXJuITE7Zm9yKGxldCBhPTAscj1lLmxlbmd0aDthPHI7YSsrKWlmKGVbYV0hPT10W2FdKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIGdldE1vZGlmaWNhdGlvbkRhdGUoZT1uZXcgRGF0ZSl7ZSBpbnN0YW5jZW9mIERhdGV8fChlPW5ldyBEYXRlKGUpKTtyZXR1cm5bZS5nZXRVVENGdWxsWWVhcigpLnRvU3RyaW5nKCksKGUuZ2V0VVRDTW9udGgoKSsxKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKSxlLmdldFVUQ0RhdGUoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKSxlLmdldFVUQ0hvdXJzKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIiksZS5nZXRVVENNaW51dGVzKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIiksZS5nZXRVVENTZWNvbmRzKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIildLmpvaW4oIiIpfWxldCBRdD1udWxsLGVhPW51bGw7ZnVuY3Rpb24gTWF0aENsYW1wKGUsdCxhKXtyZXR1cm4gTWF0aC5taW4oTWF0aC5tYXgoZSx0KSxhKX1mdW5jdGlvbiB0b0hleFV0aWwoZSl7cmV0dXJuIFVpbnQ4QXJyYXkucHJvdG90eXBlLnRvSGV4P2UudG9IZXgoKTpBcnJheS5mcm9tKGUsKGU9Pll0W2VdKSkuam9pbigiIil9ImZ1bmN0aW9uIiE9dHlwZW9mIFByb21pc2UudHJ5JiYoUHJvbWlzZS50cnk9ZnVuY3Rpb24oZSwuLi50KXtyZXR1cm4gbmV3IFByb21pc2UoKGE9PnthKGUoLi4udCkpfSkpfSk7ImZ1bmN0aW9uIiE9dHlwZW9mIE1hdGguc3VtUHJlY2lzZSYmKE1hdGguc3VtUHJlY2lzZT1mdW5jdGlvbihlKXtyZXR1cm4gZS5yZWR1Y2UoKChlLHQpPT5lK3QpLDApfSk7Y29uc3QgdGE9U3ltYm9sKCJDSVJDVUxBUl9SRUYiKSxhYT1TeW1ib2woIkVPRiIpO2xldCByYT1PYmplY3QuY3JlYXRlKG51bGwpLGlhPU9iamVjdC5jcmVhdGUobnVsbCksbmE9T2JqZWN0LmNyZWF0ZShudWxsKTtjbGFzcyBOYW1le2NvbnN0cnVjdG9yKGUpe3RoaXMubmFtZT1lfXN0YXRpYyBnZXQoZSl7cmV0dXJuIGlhW2VdfHw9bmV3IE5hbWUoZSl9fWNsYXNzIENtZHtjb25zdHJ1Y3RvcihlKXt0aGlzLmNtZD1lfXN0YXRpYyBnZXQoZSl7cmV0dXJuIHJhW2VdfHw9bmV3IENtZChlKX19Y29uc3Qgc2E9ZnVuY3Rpb24gbm9uU2VyaWFsaXphYmxlQ2xvc3VyZSgpe3JldHVybiBzYX07Y2xhc3MgRGljdHtjb25zdHJ1Y3RvcihlPW51bGwpe3RoaXMuX21hcD1uZXcgTWFwO3RoaXMueHJlZj1lO3RoaXMub2JqSWQ9bnVsbDt0aGlzLnN1cHByZXNzRW5jcnlwdGlvbj0hMTt0aGlzLl9fbm9uU2VyaWFsaXphYmxlX189c2F9YXNzaWduWHJlZihlKXt0aGlzLnhyZWY9ZX1nZXQgc2l6ZSgpe3JldHVybiB0aGlzLl9tYXAuc2l6ZX1nZXQoZSx0LGEpe2xldCByPXRoaXMuX21hcC5nZXQoZSk7aWYodm9pZCAwPT09ciYmdm9pZCAwIT09dCl7cj10aGlzLl9tYXAuZ2V0KHQpO3ZvaWQgMD09PXImJnZvaWQgMCE9PWEmJihyPXRoaXMuX21hcC5nZXQoYSkpfXJldHVybiByIGluc3RhbmNlb2YgUmVmJiZ0aGlzLnhyZWY/dGhpcy54cmVmLmZldGNoKHIsdGhpcy5zdXBwcmVzc0VuY3J5cHRpb24pOnJ9YXN5bmMgZ2V0QXN5bmMoZSx0LGEpe2xldCByPXRoaXMuX21hcC5nZXQoZSk7aWYodm9pZCAwPT09ciYmdm9pZCAwIT09dCl7cj10aGlzLl9tYXAuZ2V0KHQpO3ZvaWQgMD09PXImJnZvaWQgMCE9PWEmJihyPXRoaXMuX21hcC5nZXQoYSkpfXJldHVybiByIGluc3RhbmNlb2YgUmVmJiZ0aGlzLnhyZWY/dGhpcy54cmVmLmZldGNoQXN5bmMocix0aGlzLnN1cHByZXNzRW5jcnlwdGlvbik6cn1nZXRBcnJheShlLHQsYSl7bGV0IHI9dGhpcy5fbWFwLmdldChlKTtpZih2b2lkIDA9PT1yJiZ2b2lkIDAhPT10KXtyPXRoaXMuX21hcC5nZXQodCk7dm9pZCAwPT09ciYmdm9pZCAwIT09YSYmKHI9dGhpcy5fbWFwLmdldChhKSl9ciBpbnN0YW5jZW9mIFJlZiYmdGhpcy54cmVmJiYocj10aGlzLnhyZWYuZmV0Y2gocix0aGlzLnN1cHByZXNzRW5jcnlwdGlvbikpO2lmKEFycmF5LmlzQXJyYXkocikpe3I9ci5zbGljZSgpO2ZvcihsZXQgZT0wLHQ9ci5sZW5ndGg7ZTx0O2UrKylyW2VdaW5zdGFuY2VvZiBSZWYmJnRoaXMueHJlZiYmKHJbZV09dGhpcy54cmVmLmZldGNoKHJbZV0sdGhpcy5zdXBwcmVzc0VuY3J5cHRpb24pKX1yZXR1cm4gcn1nZXRSYXcoZSl7cmV0dXJuIHRoaXMuX21hcC5nZXQoZSl9Z2V0S2V5cygpe3JldHVyblsuLi50aGlzLl9tYXAua2V5cygpXX1nZXRSYXdWYWx1ZXMoKXtyZXR1cm5bLi4udGhpcy5fbWFwLnZhbHVlcygpXX1zZXQoZSx0KXt0aGlzLl9tYXAuc2V0KGUsdCl9c2V0SWZOb3RFeGlzdHMoZSx0KXt0aGlzLmhhcyhlKXx8dGhpcy5zZXQoZSx0KX1zZXRJZk51bWJlcihlLHQpeyJudW1iZXIiPT10eXBlb2YgdCYmdGhpcy5zZXQoZSx0KX1zZXRJZkFycmF5KGUsdCl7KEFycmF5LmlzQXJyYXkodCl8fEFycmF5QnVmZmVyLmlzVmlldyh0KSkmJnRoaXMuc2V0KGUsdCl9c2V0SWZEZWZpbmVkKGUsdCl7bnVsbCE9dCYmdGhpcy5zZXQoZSx0KX1zZXRJZk5hbWUoZSx0KXsic3RyaW5nIj09dHlwZW9mIHQ/dGhpcy5zZXQoZSxOYW1lLmdldCh0KSk6dCBpbnN0YW5jZW9mIE5hbWUmJnRoaXMuc2V0KGUsdCl9aGFzKGUpe3JldHVybiB0aGlzLl9tYXAuaGFzKGUpfSpbU3ltYm9sLml0ZXJhdG9yXSgpe2Zvcihjb25zdFtlLHRdb2YgdGhpcy5fbWFwKXlpZWxkW2UsdCBpbnN0YW5jZW9mIFJlZiYmdGhpcy54cmVmP3RoaXMueHJlZi5mZXRjaCh0LHRoaXMuc3VwcHJlc3NFbmNyeXB0aW9uKTp0XX1zdGF0aWMgZ2V0IGVtcHR5KCl7Y29uc3QgZT1uZXcgRGljdChudWxsKTtlLnNldD0oZSx0KT0+e3VucmVhY2hhYmxlKCJTaG91bGQgbm90IGNhbGwgYHNldGAgb24gdGhlIGVtcHR5IGRpY3Rpb25hcnkuIil9O3JldHVybiBzaGFkb3codGhpcywiZW1wdHkiLGUpfXN0YXRpYyBtZXJnZSh7eHJlZjplLGRpY3RBcnJheTp0LG1lcmdlU3ViRGljdHM6YT0hMX0pe2NvbnN0IHI9bmV3IERpY3QoZSksaT1uZXcgTWFwO2Zvcihjb25zdCBlIG9mIHQpaWYoZSBpbnN0YW5jZW9mIERpY3QpZm9yKGNvbnN0W3Qscl1vZiBlLl9tYXApe2xldCBlPWkuZ2V0KHQpO2lmKHZvaWQgMD09PWUpe2U9W107aS5zZXQodCxlKX1lbHNlIGlmKCEoYSYmciBpbnN0YW5jZW9mIERpY3QpKWNvbnRpbnVlO2UucHVzaChyKX1mb3IoY29uc3RbdCxhXW9mIGkpe2lmKDE9PT1hLmxlbmd0aHx8IShhWzBdaW5zdGFuY2VvZiBEaWN0KSl7ci5fbWFwLnNldCh0LGFbMF0pO2NvbnRpbnVlfWNvbnN0IGk9bmV3IERpY3QoZSk7Zm9yKGNvbnN0IGUgb2YgYSlmb3IoY29uc3RbdCxhXW9mIGUuX21hcClpLl9tYXAuaGFzKHQpfHxpLl9tYXAuc2V0KHQsYSk7aS5zaXplPjAmJnIuX21hcC5zZXQodCxpKX1pLmNsZWFyKCk7cmV0dXJuIHIuc2l6ZT4wP3I6RGljdC5lbXB0eX1jbG9uZSgpe2NvbnN0IGU9bmV3IERpY3QodGhpcy54cmVmKTtmb3IoY29uc3QgdCBvZiB0aGlzLmdldEtleXMoKSllLnNldCh0LHRoaXMuZ2V0UmF3KHQpKTtyZXR1cm4gZX1kZWxldGUoZSl7ZGVsZXRlIHRoaXMuX21hcFtlXX19Y2xhc3MgUmVme2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5udW09ZTt0aGlzLmdlbj10fXRvU3RyaW5nKCl7cmV0dXJuIDA9PT10aGlzLmdlbj9gJHt0aGlzLm51bX1SYDpgJHt0aGlzLm51bX1SJHt0aGlzLmdlbn1gfXN0YXRpYyBmcm9tU3RyaW5nKGUpe2NvbnN0IHQ9bmFbZV07aWYodClyZXR1cm4gdDtjb25zdCBhPS9eKFxkKylSKFxkKikkLy5leGVjKGUpO3JldHVybiBhJiYiMCIhPT1hWzFdP25hW2VdPW5ldyBSZWYocGFyc2VJbnQoYVsxXSksYVsyXT9wYXJzZUludChhWzJdKTowKTpudWxsfXN0YXRpYyBnZXQoZSx0KXtjb25zdCBhPTA9PT10P2Ake2V9UmA6YCR7ZX1SJHt0fWA7cmV0dXJuIG5hW2FdfHw9bmV3IFJlZihlLHQpfX1jbGFzcyBSZWZTZXR7Y29uc3RydWN0b3IoZT1udWxsKXt0aGlzLl9zZXQ9bmV3IFNldChlPy5fc2V0KX1oYXMoZSl7cmV0dXJuIHRoaXMuX3NldC5oYXMoZS50b1N0cmluZygpKX1wdXQoZSl7dGhpcy5fc2V0LmFkZChlLnRvU3RyaW5nKCkpfXJlbW92ZShlKXt0aGlzLl9zZXQuZGVsZXRlKGUudG9TdHJpbmcoKSl9W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gdGhpcy5fc2V0LnZhbHVlcygpfWNsZWFyKCl7dGhpcy5fc2V0LmNsZWFyKCl9fWNsYXNzIFJlZlNldENhY2hle2NvbnN0cnVjdG9yKCl7dGhpcy5fbWFwPW5ldyBNYXB9Z2V0IHNpemUoKXtyZXR1cm4gdGhpcy5fbWFwLnNpemV9Z2V0KGUpe3JldHVybiB0aGlzLl9tYXAuZ2V0KGUudG9TdHJpbmcoKSl9aGFzKGUpe3JldHVybiB0aGlzLl9tYXAuaGFzKGUudG9TdHJpbmcoKSl9cHV0KGUsdCl7dGhpcy5fbWFwLnNldChlLnRvU3RyaW5nKCksdCl9cHV0QWxpYXMoZSx0KXt0aGlzLl9tYXAuc2V0KGUudG9TdHJpbmcoKSx0aGlzLmdldCh0KSl9W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gdGhpcy5fbWFwLnZhbHVlcygpfWNsZWFyKCl7dGhpcy5fbWFwLmNsZWFyKCl9KnZhbHVlcygpe3lpZWxkKnRoaXMuX21hcC52YWx1ZXMoKX0qaXRlbXMoKXtmb3IoY29uc3RbZSx0XW9mIHRoaXMuX21hcCl5aWVsZFtSZWYuZnJvbVN0cmluZyhlKSx0XX19ZnVuY3Rpb24gaXNOYW1lKGUsdCl7cmV0dXJuIGUgaW5zdGFuY2VvZiBOYW1lJiYodm9pZCAwPT09dHx8ZS5uYW1lPT09dCl9ZnVuY3Rpb24gaXNDbWQoZSx0KXtyZXR1cm4gZSBpbnN0YW5jZW9mIENtZCYmKHZvaWQgMD09PXR8fGUuY21kPT09dCl9ZnVuY3Rpb24gaXNEaWN0KGUsdCl7cmV0dXJuIGUgaW5zdGFuY2VvZiBEaWN0JiYodm9pZCAwPT09dHx8aXNOYW1lKGUuZ2V0KCJUeXBlIiksdCkpfWZ1bmN0aW9uIGlzUmVmc0VxdWFsKGUsdCl7cmV0dXJuIGUubnVtPT09dC5udW0mJmUuZ2VuPT09dC5nZW59Y2xhc3MgQmFzZVN0cmVhbXtnZXQgbGVuZ3RoKCl7dW5yZWFjaGFibGUoIkFic3RyYWN0IGdldHRlciBgbGVuZ3RoYCBhY2Nlc3NlZCIpfWdldCBpc0VtcHR5KCl7dW5yZWFjaGFibGUoIkFic3RyYWN0IGdldHRlciBgaXNFbXB0eWAgYWNjZXNzZWQiKX1nZXQgaXNEYXRhTG9hZGVkKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJpc0RhdGFMb2FkZWQiLCEwKX1nZXRCeXRlKCl7dW5yZWFjaGFibGUoIkFic3RyYWN0IG1ldGhvZCBgZ2V0Qnl0ZWAgY2FsbGVkIil9Z2V0Qnl0ZXMoZSl7dW5yZWFjaGFibGUoIkFic3RyYWN0IG1ldGhvZCBgZ2V0Qnl0ZXNgIGNhbGxlZCIpfWFzeW5jIGdldEltYWdlRGF0YShlLHQpe3JldHVybiB0aGlzLmdldEJ5dGVzKGUsdCl9YXN5bmMgYXN5bmNHZXRCeXRlcygpe3VucmVhY2hhYmxlKCJBYnN0cmFjdCBtZXRob2QgYGFzeW5jR2V0Qnl0ZXNgIGNhbGxlZCIpfWdldCBpc0FzeW5jKCl7cmV0dXJuITF9Z2V0IGlzQXN5bmNEZWNvZGVyKCl7cmV0dXJuITF9Z2V0IGNhbkFzeW5jRGVjb2RlSW1hZ2VGcm9tQnVmZmVyKCl7cmV0dXJuITF9YXN5bmMgZ2V0VHJhbnNmZXJhYmxlSW1hZ2UoKXtyZXR1cm4gbnVsbH1wZWVrQnl0ZSgpe2NvbnN0IGU9dGhpcy5nZXRCeXRlKCk7LTEhPT1lJiZ0aGlzLnBvcy0tO3JldHVybiBlfXBlZWtCeXRlcyhlKXtjb25zdCB0PXRoaXMuZ2V0Qnl0ZXMoZSk7dGhpcy5wb3MtPXQubGVuZ3RoO3JldHVybiB0fWdldFVpbnQxNigpe2NvbnN0IGU9dGhpcy5nZXRCeXRlKCksdD10aGlzLmdldEJ5dGUoKTtyZXR1cm4tMT09PWV8fC0xPT09dD8tMTooZTw8OCkrdH1nZXRJbnQzMigpe3JldHVybih0aGlzLmdldEJ5dGUoKTw8MjQpKyh0aGlzLmdldEJ5dGUoKTw8MTYpKyh0aGlzLmdldEJ5dGUoKTw8OCkrdGhpcy5nZXRCeXRlKCl9Z2V0Qnl0ZVJhbmdlKGUsdCl7dW5yZWFjaGFibGUoIkFic3RyYWN0IG1ldGhvZCBgZ2V0Qnl0ZVJhbmdlYCBjYWxsZWQiKX1nZXRTdHJpbmcoZSl7cmV0dXJuIGJ5dGVzVG9TdHJpbmcodGhpcy5nZXRCeXRlcyhlKSl9c2tpcChlKXt0aGlzLnBvcys9ZXx8MX1yZXNldCgpe3VucmVhY2hhYmxlKCJBYnN0cmFjdCBtZXRob2QgYHJlc2V0YCBjYWxsZWQiKX1tb3ZlU3RhcnQoKXt1bnJlYWNoYWJsZSgiQWJzdHJhY3QgbWV0aG9kIGBtb3ZlU3RhcnRgIGNhbGxlZCIpfW1ha2VTdWJTdHJlYW0oZSx0LGE9bnVsbCl7dW5yZWFjaGFibGUoIkFic3RyYWN0IG1ldGhvZCBgbWFrZVN1YlN0cmVhbWAgY2FsbGVkIil9Z2V0QmFzZVN0cmVhbXMoKXtyZXR1cm4gbnVsbH19Y29uc3Qgb2E9L15bMS05XVwuXGQkLyxjYT0yKiozMS0xLGxhPVsxLDAsMCwxLDAsMF0saGE9WyJDb2xvclNwYWNlIiwiRXh0R1N0YXRlIiwiRm9udCIsIlBhdHRlcm4iLCJQcm9wZXJ0aWVzIiwiU2hhZGluZyIsIlhPYmplY3QiXSx1YT1bIkV4dEdTdGF0ZSIsIkZvbnQiLCJQcm9wZXJ0aWVzIiwiWE9iamVjdCJdO2Z1bmN0aW9uIGdldExvb2t1cFRhYmxlRmFjdG9yeShlKXtsZXQgdDtyZXR1cm4gZnVuY3Rpb24oKXtpZihlKXt0PU9iamVjdC5jcmVhdGUobnVsbCk7ZSh0KTtlPW51bGx9cmV0dXJuIHR9fWNsYXNzIE1pc3NpbmdEYXRhRXhjZXB0aW9uIGV4dGVuZHMgSnR7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihgTWlzc2luZyBkYXRhIFske2V9LCAke3R9KWAsIk1pc3NpbmdEYXRhRXhjZXB0aW9uIik7dGhpcy5iZWdpbj1lO3RoaXMuZW5kPXR9fWNsYXNzIFBhcnNlckVPRkV4Y2VwdGlvbiBleHRlbmRzIEp0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUsIlBhcnNlckVPRkV4Y2VwdGlvbiIpfX1jbGFzcyBYUmVmRW50cnlFeGNlcHRpb24gZXh0ZW5kcyBKdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJYUmVmRW50cnlFeGNlcHRpb24iKX19Y2xhc3MgWFJlZlBhcnNlRXhjZXB0aW9uIGV4dGVuZHMgSnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSwiWFJlZlBhcnNlRXhjZXB0aW9uIil9fWZ1bmN0aW9uIGFycmF5QnVmZmVyc1RvQnl0ZXMoZSl7Y29uc3QgdD1lLmxlbmd0aDtpZigwPT09dClyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoMCk7aWYoMT09PXQpcmV0dXJuIG5ldyBVaW50OEFycmF5KGVbMF0pO2xldCBhPTA7Zm9yKGxldCByPTA7cjx0O3IrKylhKz1lW3JdLmJ5dGVMZW5ndGg7Y29uc3Qgcj1uZXcgVWludDhBcnJheShhKTtsZXQgaT0wO2ZvcihsZXQgYT0wO2E8dDthKyspe2NvbnN0IHQ9bmV3IFVpbnQ4QXJyYXkoZVthXSk7ci5zZXQodCxpKTtpKz10LmJ5dGVMZW5ndGh9cmV0dXJuIHJ9YXN5bmMgZnVuY3Rpb24gZmV0Y2hCaW5hcnlEYXRhKGUpe2NvbnN0IHQ9YXdhaXQgZmV0Y2goZSk7aWYoIXQub2spdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gZmV0Y2ggZmlsZSAiJHtlfSIgd2l0aCAiJHt0LnN0YXR1c1RleHR9Ii5gKTtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoYXdhaXQgdC5hcnJheUJ1ZmZlcigpKX1mdW5jdGlvbiBnZXRJbmhlcml0YWJsZVByb3BlcnR5KHtkaWN0OmUsa2V5OnQsZ2V0QXJyYXk6YT0hMSxzdG9wV2hlbkZvdW5kOnI9ITB9KXtsZXQgaTtjb25zdCBuPW5ldyBSZWZTZXQ7Zm9yKDtlIGluc3RhbmNlb2YgRGljdCYmKCFlLm9iaklkfHwhbi5oYXMoZS5vYmpJZCkpOyl7ZS5vYmpJZCYmbi5wdXQoZS5vYmpJZCk7Y29uc3Qgcz1hP2UuZ2V0QXJyYXkodCk6ZS5nZXQodCk7aWYodm9pZCAwIT09cyl7aWYocilyZXR1cm4gczsoaXx8PVtdKS5wdXNoKHMpfWU9ZS5nZXQoIlBhcmVudCIpfXJldHVybiBpfWNvbnN0IGRhPVsiIiwiQyIsIkNDIiwiQ0NDIiwiQ0QiLCJEIiwiREMiLCJEQ0MiLCJEQ0NDIiwiQ00iLCIiLCJYIiwiWFgiLCJYWFgiLCJYTCIsIkwiLCJMWCIsIkxYWCIsIkxYWFgiLCJYQyIsIiIsIkkiLCJJSSIsIklJSSIsIklWIiwiViIsIlZJIiwiVklJIiwiVklJSSIsIklYIl07ZnVuY3Rpb24gdG9Sb21hbk51bWVyYWxzKGUsdD0hMSl7YXNzZXJ0KE51bWJlci5pc0ludGVnZXIoZSkmJmU+MCwiVGhlIG51bWJlciBzaG91bGQgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyLiIpO2NvbnN0IGE9Ik0iLnJlcGVhdChlLzFlM3wwKStkYVtlJTFlMy8xMDB8MF0rZGFbMTArKGUlMTAwLzEwfDApXStkYVsyMCtlJTEwXTtyZXR1cm4gdD9hLnRvTG93ZXJDYXNlKCk6YX1mdW5jdGlvbiBsb2cyKGUpe3JldHVybiBlPjA/TWF0aC5jZWlsKE1hdGgubG9nMihlKSk6MH1mdW5jdGlvbiByZWFkSW50OChlLHQpe3JldHVybiBlW3RdPDwyND4+MjR9ZnVuY3Rpb24gcmVhZEludDE2KGUsdCl7cmV0dXJuKGVbdF08PDI0fGVbdCsxXTw8MTYpPj4xNn1mdW5jdGlvbiByZWFkVWludDE2KGUsdCl7cmV0dXJuIGVbdF08PDh8ZVt0KzFdfWZ1bmN0aW9uIHJlYWRVaW50MzIoZSx0KXtyZXR1cm4oZVt0XTw8MjR8ZVt0KzFdPDwxNnxlW3QrMl08PDh8ZVt0KzNdKT4+PjB9ZnVuY3Rpb24gaXNXaGl0ZVNwYWNlKGUpe3JldHVybiAzMj09PWV8fDk9PT1lfHwxMz09PWV8fDEwPT09ZX1mdW5jdGlvbiBpc051bWJlckFycmF5KGUsdCl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSk/KG51bGw9PT10fHxlLmxlbmd0aD09PXQpJiZlLmV2ZXJ5KChlPT4ibnVtYmVyIj09dHlwZW9mIGUpKTpBcnJheUJ1ZmZlci5pc1ZpZXcoZSkmJiEoZSBpbnN0YW5jZW9mIEJpZ0ludDY0QXJyYXl8fGUgaW5zdGFuY2VvZiBCaWdVaW50NjRBcnJheSkmJihudWxsPT09dHx8ZS5sZW5ndGg9PT10KX1mdW5jdGlvbiBsb29rdXBNYXRyaXgoZSx0KXtyZXR1cm4gaXNOdW1iZXJBcnJheShlLDYpP2U6dH1mdW5jdGlvbiBsb29rdXBSZWN0KGUsdCl7cmV0dXJuIGlzTnVtYmVyQXJyYXkoZSw0KT9lOnR9ZnVuY3Rpb24gbG9va3VwTm9ybWFsUmVjdChlLHQpe3JldHVybiBpc051bWJlckFycmF5KGUsNCk/VXRpbC5ub3JtYWxpemVSZWN0KGUpOnR9ZnVuY3Rpb24gcGFyc2VYRkFQYXRoKGUpe2NvbnN0IHQ9LyguKylcWyhcZCspXF0kLztyZXR1cm4gZS5zcGxpdCgiLiIpLm1hcCgoZT0+e2NvbnN0IGE9ZS5tYXRjaCh0KTtyZXR1cm4gYT97bmFtZTphWzFdLHBvczpwYXJzZUludChhWzJdLDEwKX06e25hbWU6ZSxwb3M6MH19KSl9ZnVuY3Rpb24gZXNjYXBlUERGTmFtZShlKXtjb25zdCB0PVtdO2xldCBhPTA7Zm9yKGxldCByPTAsaT1lLmxlbmd0aDtyPGk7cisrKXtjb25zdCBpPWUuY2hhckNvZGVBdChyKTtpZihpPDMzfHxpPjEyNnx8MzU9PT1pfHw0MD09PWl8fDQxPT09aXx8NjA9PT1pfHw2Mj09PWl8fDkxPT09aXx8OTM9PT1pfHwxMjM9PT1pfHwxMjU9PT1pfHw0Nz09PWl8fDM3PT09aSl7YTxyJiZ0LnB1c2goZS5zdWJzdHJpbmcoYSxyKSk7dC5wdXNoKGAjJHtpLnRvU3RyaW5nKDE2KX1gKTthPXIrMX19aWYoMD09PXQubGVuZ3RoKXJldHVybiBlO2E8ZS5sZW5ndGgmJnQucHVzaChlLnN1YnN0cmluZyhhLGUubGVuZ3RoKSk7cmV0dXJuIHQuam9pbigiIil9ZnVuY3Rpb24gZXNjYXBlU3RyaW5nKGUpe3JldHVybiBlLnJlcGxhY2VBbGwoLyhbKClcXFxuXHJdKS9nLChlPT4iXG4iPT09ZT8iXFxuIjoiXHIiPT09ZT8iXFxyIjpgXFwke2V9YCkpfWZ1bmN0aW9uIF9jb2xsZWN0SlMoZSx0LGEscil7aWYoIWUpcmV0dXJuO2xldCBpPW51bGw7aWYoZSBpbnN0YW5jZW9mIFJlZil7aWYoci5oYXMoZSkpcmV0dXJuO2k9ZTtyLnB1dChpKTtlPXQuZmV0Y2goZSl9aWYoQXJyYXkuaXNBcnJheShlKSlmb3IoY29uc3QgaSBvZiBlKV9jb2xsZWN0SlMoaSx0LGEscik7ZWxzZSBpZihlIGluc3RhbmNlb2YgRGljdCl7aWYoaXNOYW1lKGUuZ2V0KCJTIiksIkphdmFTY3JpcHQiKSl7Y29uc3QgdD1lLmdldCgiSlMiKTtsZXQgcjt0IGluc3RhbmNlb2YgQmFzZVN0cmVhbT9yPXQuZ2V0U3RyaW5nKCk6InN0cmluZyI9PXR5cGVvZiB0JiYocj10KTtyJiY9c3RyaW5nVG9QREZTdHJpbmcociwhMCkucmVwbGFjZUFsbCgiXDAiLCIiKTtyJiZhLnB1c2goci50cmltKCkpfV9jb2xsZWN0SlMoZS5nZXRSYXcoIk5leHQiKSx0LGEscil9aSYmci5yZW1vdmUoaSl9ZnVuY3Rpb24gY29sbGVjdEFjdGlvbnMoZSx0LGEpe2NvbnN0IHI9T2JqZWN0LmNyZWF0ZShudWxsKSxpPWdldEluaGVyaXRhYmxlUHJvcGVydHkoe2RpY3Q6dCxrZXk6IkFBIixzdG9wV2hlbkZvdW5kOiExfSk7aWYoaSlmb3IobGV0IHQ9aS5sZW5ndGgtMTt0Pj0wO3QtLSl7Y29uc3Qgbj1pW3RdO2lmKG4gaW5zdGFuY2VvZiBEaWN0KWZvcihjb25zdCB0IG9mIG4uZ2V0S2V5cygpKXtjb25zdCBpPWFbdF07aWYoIWkpY29udGludWU7Y29uc3Qgcz1bXTtfY29sbGVjdEpTKG4uZ2V0UmF3KHQpLGUscyxuZXcgUmVmU2V0KTtzLmxlbmd0aD4wJiYocltpXT1zKX19aWYodC5oYXMoIkEiKSl7Y29uc3QgYT1bXTtfY29sbGVjdEpTKHQuZ2V0KCJBIiksZSxhLG5ldyBSZWZTZXQpO2EubGVuZ3RoPjAmJihyLkFjdGlvbj1hKX1yZXR1cm4gb2JqZWN0U2l6ZShyKT4wP3I6bnVsbH1jb25zdCBmYT17NjA6IiZsdDsiLDYyOiImZ3Q7IiwzODoiJmFtcDsiLDM0OiImcXVvdDsiLDM5OiImYXBvczsifTtmdW5jdGlvbipjb2RlUG9pbnRJdGVyKGUpe2ZvcihsZXQgdD0wLGE9ZS5sZW5ndGg7dDxhO3QrKyl7Y29uc3QgYT1lLmNvZGVQb2ludEF0KHQpO2E+NTUyOTUmJihhPDU3MzQ0fHxhPjY1NTMzKSYmdCsrO3lpZWxkIGF9fWZ1bmN0aW9uIGVuY29kZVRvWG1sU3RyaW5nKGUpe2NvbnN0IHQ9W107bGV0IGE9MDtmb3IobGV0IHI9MCxpPWUubGVuZ3RoO3I8aTtyKyspe2NvbnN0IGk9ZS5jb2RlUG9pbnRBdChyKTtpZigzMjw9aSYmaTw9MTI2KXtjb25zdCBuPWZhW2ldO2lmKG4pe2E8ciYmdC5wdXNoKGUuc3Vic3RyaW5nKGEscikpO3QucHVzaChuKTthPXIrMX19ZWxzZXthPHImJnQucHVzaChlLnN1YnN0cmluZyhhLHIpKTt0LnB1c2goYCYjeCR7aS50b1N0cmluZygxNikudG9VcHBlckNhc2UoKX07YCk7aT41NTI5NSYmKGk8NTczNDR8fGk+NjU1MzMpJiZyKys7YT1yKzF9fWlmKDA9PT10Lmxlbmd0aClyZXR1cm4gZTthPGUubGVuZ3RoJiZ0LnB1c2goZS5zdWJzdHJpbmcoYSxlLmxlbmd0aCkpO3JldHVybiB0LmpvaW4oIiIpfWZ1bmN0aW9uIHZhbGlkYXRlRm9udE5hbWUoZSx0PSExKXtjb25zdCBhPS9eKCJ8JykuKigifCcpJC8uZXhlYyhlKTtpZihhJiZhWzFdPT09YVsyXSl7aWYobmV3IFJlZ0V4cChgW15cXFxcXSR7YVsxXX1gKS50ZXN0KGUuc2xpY2UoMSwtMSkpKXt0JiZ3YXJuKGBGb250RmFtaWx5IGNvbnRhaW5zIHVuZXNjYXBlZCAke2FbMV19OiAke2V9LmApO3JldHVybiExfX1lbHNlIGZvcihjb25zdCBhIG9mIGUuc3BsaXQoL1sgXHRdKy8pKWlmKC9eKFxkfCgtKFxkfC0pKSkvLnRlc3QoYSl8fCEvXltcdy1cXF0rJC8udGVzdChhKSl7dCYmd2FybihgRm9udEZhbWlseSBjb250YWlucyBpbnZhbGlkIDxjdXN0b20taWRlbnQ+OiAke2V9LmApO3JldHVybiExfXJldHVybiEwfWZ1bmN0aW9uIHZhbGlkYXRlQ1NTRm9udChlKXtjb25zdCB0PW5ldyBTZXQoWyIxMDAiLCIyMDAiLCIzMDAiLCI0MDAiLCI1MDAiLCI2MDAiLCI3MDAiLCI4MDAiLCI5MDAiLCIxMDAwIiwibm9ybWFsIiwiYm9sZCIsImJvbGRlciIsImxpZ2h0ZXIiXSkse2ZvbnRGYW1pbHk6YSxmb250V2VpZ2h0OnIsaXRhbGljQW5nbGU6aX09ZTtpZighdmFsaWRhdGVGb250TmFtZShhLCEwKSlyZXR1cm4hMTtjb25zdCBuPXI/ci50b1N0cmluZygpOiIiO2UuZm9udFdlaWdodD10LmhhcyhuKT9uOiI0MDAiO2NvbnN0IHM9cGFyc2VGbG9hdChpKTtlLml0YWxpY0FuZ2xlPWlzTmFOKHMpfHxzPC05MHx8cz45MD8iMTQiOmkudG9TdHJpbmcoKTtyZXR1cm4hMH1mdW5jdGlvbiByZWNvdmVySnNVUkwoZSl7Y29uc3QgdD1uZXcgUmVnRXhwKCJeXFxzKigiK1siYXBwLmxhdW5jaFVSTCIsIndpbmRvdy5vcGVuIiwieGZhLmhvc3QuZ290b1VSTCJdLmpvaW4oInwiKS5yZXBsYWNlQWxsKCIuIiwiXFwuIikrIilcXCgoPzonfFwiKShbXidcIl0qKSg/Oid8XCIpKD86LFxccyooXFx3KylcXCl8XFwpKSIsImkiKS5leGVjKGUpO3JldHVybiB0Py5bMl0/e3VybDp0WzJdLG5ld1dpbmRvdzoiYXBwLmxhdW5jaFVSTCI9PT10WzFdJiYidHJ1ZSI9PT10WzNdfTpudWxsfWZ1bmN0aW9uIG51bWJlclRvU3RyaW5nKGUpe2lmKE51bWJlci5pc0ludGVnZXIoZSkpcmV0dXJuIGUudG9TdHJpbmcoKTtjb25zdCB0PU1hdGgucm91bmQoMTAwKmUpO3JldHVybiB0JTEwMD09MD8odC8xMDApLnRvU3RyaW5nKCk6dCUxMD09MD9lLnRvRml4ZWQoMSk6ZS50b0ZpeGVkKDIpfWZ1bmN0aW9uIGdldE5ld0Fubm90YXRpb25zTWFwKGUpe2lmKCFlKXJldHVybiBudWxsO2NvbnN0IHQ9bmV3IE1hcDtmb3IoY29uc3RbYSxyXW9mIGUpe2lmKCFhLnN0YXJ0c1dpdGgoZikpY29udGludWU7bGV0IGU9dC5nZXQoci5wYWdlSW5kZXgpO2lmKCFlKXtlPVtdO3Quc2V0KHIucGFnZUluZGV4LGUpfWUucHVzaChyKX1yZXR1cm4gdC5zaXplPjA/dDpudWxsfWZ1bmN0aW9uIHN0cmluZ1RvQXNjaWlPclVURjE2QkUoZSl7cmV0dXJuIG51bGw9PWV8fGZ1bmN0aW9uIGlzQXNjaWkoZSl7aWYoInN0cmluZyIhPXR5cGVvZiBlKXJldHVybiExO3JldHVybiFlfHwvXltceDAwLVx4N0ZdKiQvLnRlc3QoZSl9KGUpP2U6c3RyaW5nVG9VVEYxNlN0cmluZyhlLCEwKX1mdW5jdGlvbiBzdHJpbmdUb1VURjE2SGV4U3RyaW5nKGUpe2NvbnN0IHQ9W107Zm9yKGxldCBhPTAscj1lLmxlbmd0aDthPHI7YSsrKXtjb25zdCByPWUuY2hhckNvZGVBdChhKTt0LnB1c2goWXRbcj4+OCYyNTVdLFl0WzI1NSZyXSl9cmV0dXJuIHQuam9pbigiIil9ZnVuY3Rpb24gc3RyaW5nVG9VVEYxNlN0cmluZyhlLHQ9ITEpe2NvbnN0IGE9W107dCYmYS5wdXNoKCLDvsO/Iik7Zm9yKGxldCB0PTAscj1lLmxlbmd0aDt0PHI7dCsrKXtjb25zdCByPWUuY2hhckNvZGVBdCh0KTthLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShyPj44JjI1NSksU3RyaW5nLmZyb21DaGFyQ29kZSgyNTUmcikpfXJldHVybiBhLmpvaW4oIiIpfWZ1bmN0aW9uIGdldFJvdGF0aW9uTWF0cml4KGUsdCxhKXtzd2l0Y2goZSl7Y2FzZSA5MDpyZXR1cm5bMCwxLC0xLDAsdCwwXTtjYXNlIDE4MDpyZXR1cm5bLTEsMCwwLC0xLHQsYV07Y2FzZSAyNzA6cmV0dXJuWzAsLTEsMSwwLDAsYV07ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgcm90YXRpb24iKX19ZnVuY3Rpb24gZ2V0U2l6ZUluQnl0ZXMoZSl7cmV0dXJuIE1hdGguY2VpbChNYXRoLmNlaWwoTWF0aC5sb2cyKDErZSkpLzgpfWNsYXNzIFFDTVN7c3RhdGljI2E9bnVsbDtzdGF0aWMgX21lbW9yeT1udWxsO3N0YXRpYyBfbXVzdEFkZEFscGhhPSExO3N0YXRpYyBfZGVzdEJ1ZmZlcj1udWxsO3N0YXRpYyBfZGVzdE9mZnNldD0wO3N0YXRpYyBfZGVzdExlbmd0aD0wO3N0YXRpYyBfY3NzQ29sb3I9IiI7c3RhdGljIF9tYWtlSGV4Q29sb3I9bnVsbDtzdGF0aWMgZ2V0IF9tZW1vcnlBcnJheSgpe2NvbnN0IGU9dGhpcy4jYTtyZXR1cm4gZT8uYnl0ZUxlbmd0aD9lOnRoaXMuI2E9bmV3IFVpbnQ4QXJyYXkodGhpcy5fbWVtb3J5LmJ1ZmZlcil9fWxldCBnYTtjb25zdCBwYT0idW5kZWZpbmVkIiE9dHlwZW9mIFRleHREZWNvZGVyP25ldyBUZXh0RGVjb2RlcigidXRmLTgiLHtpZ25vcmVCT006ITAsZmF0YWw6ITB9KTp7ZGVjb2RlOigpPT57dGhyb3cgRXJyb3IoIlRleHREZWNvZGVyIG5vdCBhdmFpbGFibGUiKX19OyJ1bmRlZmluZWQiIT10eXBlb2YgVGV4dERlY29kZXImJnBhLmRlY29kZSgpO2xldCBtYT1udWxsO2Z1bmN0aW9uIGdldFVpbnQ4QXJyYXlNZW1vcnkwKCl7bnVsbCE9PW1hJiYwIT09bWEuYnl0ZUxlbmd0aHx8KG1hPW5ldyBVaW50OEFycmF5KGdhLm1lbW9yeS5idWZmZXIpKTtyZXR1cm4gbWF9bGV0IGJhPTA7ZnVuY3Rpb24gcGFzc0FycmF5OFRvV2FzbTAoZSx0KXtjb25zdCBhPXQoMSplLmxlbmd0aCwxKT4+PjA7Z2V0VWludDhBcnJheU1lbW9yeTAoKS5zZXQoZSxhLzEpO2JhPWUubGVuZ3RoO3JldHVybiBhfWNvbnN0IHlhPU9iamVjdC5mcmVlemUoe1JHQjg6MCwwOiJSR0I4IixSR0JBODoxLDE6IlJHQkE4IixCR1JBODoyLDI6IkJHUkE4IixHcmF5ODozLDM6IkdyYXk4IixHcmF5QTg6NCw0OiJHcmF5QTgiLENNWUs6NSw1OiJDTVlLIn0pLHdhPU9iamVjdC5mcmVlemUoe1BlcmNlcHR1YWw6MCwwOiJQZXJjZXB0dWFsIixSZWxhdGl2ZUNvbG9yaW1ldHJpYzoxLDE6IlJlbGF0aXZlQ29sb3JpbWV0cmljIixTYXR1cmF0aW9uOjIsMjoiU2F0dXJhdGlvbiIsQWJzb2x1dGVDb2xvcmltZXRyaWM6MywzOiJBYnNvbHV0ZUNvbG9yaW1ldHJpYyJ9KTtmdW5jdGlvbiBfX3diZ19nZXRfaW1wb3J0cygpe2NvbnN0IGU9e3diZzp7fX07ZS53YmcuX193YmdfY29weXJlc3VsdF9iMDhlZTdkMjczZjI5NWRkPWZ1bmN0aW9uKGUsdCl7IWZ1bmN0aW9uIGNvcHlfcmVzdWx0KGUsdCl7Y29uc3R7X211c3RBZGRBbHBoYTphLF9kZXN0QnVmZmVyOnIsX2Rlc3RPZmZzZXQ6aSxfZGVzdExlbmd0aDpuLF9tZW1vcnlBcnJheTpzfT1RQ01TO2lmKHQhPT1uKWlmKGEpZm9yKGxldCBhPWUsbj1lK3Qsbz1pO2E8bjthKz0zLG8rPTQpe3Jbb109c1thXTtyW28rMV09c1thKzFdO3JbbysyXT1zW2ErMl07cltvKzNdPTI1NX1lbHNlIGZvcihsZXQgYT1lLG49ZSt0LG89aTthPG47YSs9MyxvKz00KXtyW29dPXNbYV07cltvKzFdPXNbYSsxXTtyW28rMl09c1thKzJdfWVsc2Ugci5zZXQocy5zdWJhcnJheShlLGUrdCksaSl9KGU+Pj4wLHQ+Pj4wKX07ZS53YmcuX193YmdfY29weXJnYl9kNjBjZTE3YmIwNWQ5YjY3PWZ1bmN0aW9uKGUpeyFmdW5jdGlvbiBjb3B5X3JnYihlKXtjb25zdHtfZGVzdEJ1ZmZlcjp0LF9kZXN0T2Zmc2V0OmEsX21lbW9yeUFycmF5OnJ9PVFDTVM7dFthXT1yW2VdO3RbYSsxXT1yW2UrMV07dFthKzJdPXJbZSsyXX0oZT4+PjApfTtlLndiZy5fX3diZ19tYWtlY3NzUkdCXzg5M2JmMGNkOWZkYjMwMmQ9ZnVuY3Rpb24oZSl7IWZ1bmN0aW9uIG1ha2VfY3NzUkdCKGUpe2NvbnN0e19tZW1vcnlBcnJheTp0fT1RQ01TO1FDTVMuX2Nzc0NvbG9yPVFDTVMuX21ha2VIZXhDb2xvcih0W2VdLHRbZSsxXSx0W2UrMl0pfShlPj4+MCl9O2Uud2JnLl9fd2JpbmRnZW5faW5pdF9leHRlcm5yZWZfdGFibGU9ZnVuY3Rpb24oKXtjb25zdCBlPWdhLl9fd2JpbmRnZW5fZXhwb3J0XzAsdD1lLmdyb3coNCk7ZS5zZXQoMCx2b2lkIDApO2Uuc2V0KHQrMCx2b2lkIDApO2Uuc2V0KHQrMSxudWxsKTtlLnNldCh0KzIsITApO2Uuc2V0KHQrMywhMSl9O2Uud2JnLl9fd2JpbmRnZW5fdGhyb3c9ZnVuY3Rpb24oZSx0KXt0aHJvdyBuZXcgRXJyb3IoZnVuY3Rpb24gZ2V0U3RyaW5nRnJvbVdhc20wKGUsdCl7ZT4+Pj0wO3JldHVybiBwYS5kZWNvZGUoZ2V0VWludDhBcnJheU1lbW9yeTAoKS5zdWJhcnJheShlLGUrdCkpfShlLHQpKX07cmV0dXJuIGV9ZnVuY3Rpb24gX193YmdfZmluYWxpemVfaW5pdChlLHQpe2dhPWUuZXhwb3J0cztfX3diZ19pbml0Ll9fd2JpbmRnZW5fd2FzbV9tb2R1bGU9dDttYT1udWxsO2dhLl9fd2JpbmRnZW5fc3RhcnQoKTtyZXR1cm4gZ2F9YXN5bmMgZnVuY3Rpb24gX193YmdfaW5pdChlKXtpZih2b2lkIDAhPT1nYSlyZXR1cm4gZ2E7dm9pZCAwIT09ZSYmKE9iamVjdC5nZXRQcm90b3R5cGVPZihlKT09PU9iamVjdC5wcm90b3R5cGU/KHttb2R1bGVfb3JfcGF0aDplfT1lKTpjb25zb2xlLndhcm4oInVzaW5nIGRlcHJlY2F0ZWQgcGFyYW1ldGVycyBmb3IgdGhlIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uOyBwYXNzIGEgc2luZ2xlIG9iamVjdCBpbnN0ZWFkIikpO2NvbnN0IHQ9X193YmdfZ2V0X2ltcG9ydHMoKTsoInN0cmluZyI9PXR5cGVvZiBlfHwiZnVuY3Rpb24iPT10eXBlb2YgUmVxdWVzdCYmZSBpbnN0YW5jZW9mIFJlcXVlc3R8fCJmdW5jdGlvbiI9PXR5cGVvZiBVUkwmJmUgaW5zdGFuY2VvZiBVUkwpJiYoZT1mZXRjaChlKSk7Y29uc3R7aW5zdGFuY2U6YSxtb2R1bGU6cn09YXdhaXQgYXN5bmMgZnVuY3Rpb24gX193YmdfbG9hZChlLHQpe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBSZXNwb25zZSYmZSBpbnN0YW5jZW9mIFJlc3BvbnNlKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGVTdHJlYW1pbmcpdHJ5e3JldHVybiBhd2FpdCBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZVN0cmVhbWluZyhlLHQpfWNhdGNoKHQpe2lmKCJhcHBsaWNhdGlvbi93YXNtIj09ZS5oZWFkZXJzLmdldCgiQ29udGVudC1UeXBlIikpdGhyb3cgdDtjb25zb2xlLndhcm4oImBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZVN0cmVhbWluZ2AgZmFpbGVkIGJlY2F1c2UgeW91ciBzZXJ2ZXIgZG9lcyBub3Qgc2VydmUgV2FzbSB3aXRoIGBhcHBsaWNhdGlvbi93YXNtYCBNSU1FIHR5cGUuIEZhbGxpbmcgYmFjayB0byBgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGVgIHdoaWNoIGlzIHNsb3dlci4gT3JpZ2luYWwgZXJyb3I6XG4iLHQpfWNvbnN0IGE9YXdhaXQgZS5hcnJheUJ1ZmZlcigpO3JldHVybiBhd2FpdCBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShhLHQpfXtjb25zdCBhPWF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKGUsdCk7cmV0dXJuIGEgaW5zdGFuY2VvZiBXZWJBc3NlbWJseS5JbnN0YW5jZT97aW5zdGFuY2U6YSxtb2R1bGU6ZX06YX19KGF3YWl0IGUsdCk7cmV0dXJuIF9fd2JnX2ZpbmFsaXplX2luaXQoYSxyKX1jbGFzcyBDb2xvclNwYWNle3N0YXRpYyNyPW5ldyBVaW50OENsYW1wZWRBcnJheSgzKTtjb25zdHJ1Y3RvcihlLHQpe3RoaXMubmFtZT1lO3RoaXMubnVtQ29tcHM9dH1nZXRSZ2IoZSx0LGE9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KDMpKXt0aGlzLmdldFJnYkl0ZW0oZSx0LGEsMCk7cmV0dXJuIGF9Z2V0UmdiSGV4KGUsdCl7Y29uc3QgYT10aGlzLmdldFJnYihlLHQsQ29sb3JTcGFjZS4jcik7cmV0dXJuIFV0aWwubWFrZUhleENvbG9yKGFbMF0sYVsxXSxhWzJdKX1nZXRSZ2JJdGVtKGUsdCxhLHIpe3VucmVhY2hhYmxlKCJTaG91bGQgbm90IGNhbGwgQ29sb3JTcGFjZS5nZXRSZ2JJdGVtIil9Z2V0UmdiQnVmZmVyKGUsdCxhLHIsaSxuLHMpe3VucmVhY2hhYmxlKCJTaG91bGQgbm90IGNhbGwgQ29sb3JTcGFjZS5nZXRSZ2JCdWZmZXIiKX1nZXRPdXRwdXRMZW5ndGgoZSx0KXt1bnJlYWNoYWJsZSgiU2hvdWxkIG5vdCBjYWxsIENvbG9yU3BhY2UuZ2V0T3V0cHV0TGVuZ3RoIil9aXNQYXNzdGhyb3VnaChlKXtyZXR1cm4hMX1pc0RlZmF1bHREZWNvZGUoZSx0KXtyZXR1cm4gQ29sb3JTcGFjZS5pc0RlZmF1bHREZWNvZGUoZSx0aGlzLm51bUNvbXBzKX1maWxsUmdiKGUsdCxhLHIsaSxuLHMsbyxjKXtjb25zdCBsPXQqYTtsZXQgaD1udWxsO2NvbnN0IHU9MTw8cyxkPWEhPT1pfHx0IT09cjtpZih0aGlzLmlzUGFzc3Rocm91Z2gocykpaD1vO2Vsc2UgaWYoMT09PXRoaXMubnVtQ29tcHMmJmw+dSYmIkRldmljZUdyYXkiIT09dGhpcy5uYW1lJiYiRGV2aWNlUkdCIiE9PXRoaXMubmFtZSl7Y29uc3QgdD1zPD04P25ldyBVaW50OEFycmF5KHUpOm5ldyBVaW50MTZBcnJheSh1KTtmb3IobGV0IGU9MDtlPHU7ZSsrKXRbZV09ZTtjb25zdCBhPW5ldyBVaW50OENsYW1wZWRBcnJheSgzKnUpO3RoaXMuZ2V0UmdiQnVmZmVyKHQsMCx1LGEsMCxzLDApO2lmKGQpe2g9bmV3IFVpbnQ4QXJyYXkoMypsKTtsZXQgZT0wO2ZvcihsZXQgdD0wO3Q8bDsrK3Qpe2NvbnN0IHI9MypvW3RdO2hbZSsrXT1hW3JdO2hbZSsrXT1hW3IrMV07aFtlKytdPWFbcisyXX19ZWxzZXtsZXQgdD0wO2ZvcihsZXQgcj0wO3I8bDsrK3Ipe2NvbnN0IGk9MypvW3JdO2VbdCsrXT1hW2ldO2VbdCsrXT1hW2krMV07ZVt0KytdPWFbaSsyXTt0Kz1jfX19ZWxzZSBpZihkKXtoPW5ldyBVaW50OENsYW1wZWRBcnJheSgzKmwpO3RoaXMuZ2V0UmdiQnVmZmVyKG8sMCxsLGgsMCxzLDApfWVsc2UgdGhpcy5nZXRSZ2JCdWZmZXIobywwLHIqbixlLDAscyxjKTtpZihoKWlmKGQpIWZ1bmN0aW9uIHJlc2l6ZVJnYkltYWdlKGUsdCxhLHIsaSxuLHMpe3M9MSE9PXM/MDpzO2NvbnN0IG89YS9pLGM9ci9uO2xldCBsLGg9MDtjb25zdCB1PW5ldyBVaW50MTZBcnJheShpKSxkPTMqYTtmb3IobGV0IGU9MDtlPGk7ZSsrKXVbZV09MypNYXRoLmZsb29yKGUqbyk7Zm9yKGxldCBhPTA7YTxuO2ErKyl7Y29uc3Qgcj1NYXRoLmZsb29yKGEqYykqZDtmb3IobGV0IGE9MDthPGk7YSsrKXtsPXIrdVthXTt0W2grK109ZVtsKytdO3RbaCsrXT1lW2wrK107dFtoKytdPWVbbCsrXTtoKz1zfX19KGgsZSx0LGEscixpLGMpO2Vsc2V7bGV0IHQ9MCxhPTA7Zm9yKGxldCBpPTAscz1yKm47aTxzO2krKyl7ZVt0KytdPWhbYSsrXTtlW3QrK109aFthKytdO2VbdCsrXT1oW2ErK107dCs9Y319fWdldCB1c2VzWmVyb1RvT25lUmFuZ2UoKXtyZXR1cm4gc2hhZG93KHRoaXMsInVzZXNaZXJvVG9PbmVSYW5nZSIsITApfXN0YXRpYyBpc0RlZmF1bHREZWNvZGUoZSx0KXtpZighQXJyYXkuaXNBcnJheShlKSlyZXR1cm4hMDtpZigyKnQhPT1lLmxlbmd0aCl7d2FybigiVGhlIGRlY29kZSBtYXAgaXMgbm90IHRoZSBjb3JyZWN0IGxlbmd0aCIpO3JldHVybiEwfWZvcihsZXQgdD0wLGE9ZS5sZW5ndGg7dDxhO3QrPTIpaWYoMCE9PWVbdF18fDEhPT1lW3QrMV0pcmV0dXJuITE7cmV0dXJuITB9fWNsYXNzIEFsdGVybmF0ZUNTIGV4dGVuZHMgQ29sb3JTcGFjZXtjb25zdHJ1Y3RvcihlLHQsYSl7c3VwZXIoIkFsdGVybmF0ZSIsZSk7dGhpcy5iYXNlPXQ7dGhpcy50aW50Rm49YTt0aGlzLnRtcEJ1Zj1uZXcgRmxvYXQzMkFycmF5KHQubnVtQ29tcHMpfWdldFJnYkl0ZW0oZSx0LGEscil7Y29uc3QgaT10aGlzLnRtcEJ1Zjt0aGlzLnRpbnRGbihlLHQsaSwwKTt0aGlzLmJhc2UuZ2V0UmdiSXRlbShpLDAsYSxyKX1nZXRSZ2JCdWZmZXIoZSx0LGEscixpLG4scyl7Y29uc3Qgbz10aGlzLnRpbnRGbixjPXRoaXMuYmFzZSxsPTEvKCgxPDxuKS0xKSxoPWMubnVtQ29tcHMsdT1jLnVzZXNaZXJvVG9PbmVSYW5nZSxkPShjLmlzUGFzc3Rocm91Z2goOCl8fCF1KSYmMD09PXM7bGV0IGY9ZD9pOjA7Y29uc3QgZz1kP3I6bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KGgqYSkscD10aGlzLm51bUNvbXBzLG09bmV3IEZsb2F0MzJBcnJheShwKSxiPW5ldyBGbG9hdDMyQXJyYXkoaCk7bGV0IHksdztmb3IoeT0wO3k8YTt5Kyspe2Zvcih3PTA7dzxwO3crKyltW3ddPWVbdCsrXSpsO28obSwwLGIsMCk7aWYodSlmb3Iodz0wO3c8aDt3KyspZ1tmKytdPTI1NSpiW3ddO2Vsc2V7Yy5nZXRSZ2JJdGVtKGIsMCxnLGYpO2YrPWh9fWR8fGMuZ2V0UmdiQnVmZmVyKGcsMCxhLHIsaSw4LHMpfWdldE91dHB1dExlbmd0aChlLHQpe3JldHVybiB0aGlzLmJhc2UuZ2V0T3V0cHV0TGVuZ3RoKGUqdGhpcy5iYXNlLm51bUNvbXBzL3RoaXMubnVtQ29tcHMsdCl9fWNsYXNzIFBhdHRlcm5DUyBleHRlbmRzIENvbG9yU3BhY2V7Y29uc3RydWN0b3IoZSl7c3VwZXIoIlBhdHRlcm4iLG51bGwpO3RoaXMuYmFzZT1lfWlzRGVmYXVsdERlY29kZShlLHQpe3VucmVhY2hhYmxlKCJTaG91bGQgbm90IGNhbGwgUGF0dGVybkNTLmlzRGVmYXVsdERlY29kZSIpfX1jbGFzcyBJbmRleGVkQ1MgZXh0ZW5kcyBDb2xvclNwYWNle2NvbnN0cnVjdG9yKGUsdCxhKXtzdXBlcigiSW5kZXhlZCIsMSk7dGhpcy5iYXNlPWU7dGhpcy5oaWdoVmFsPXQ7Y29uc3Qgcj1lLm51bUNvbXBzKih0KzEpO3RoaXMubG9va3VwPW5ldyBVaW50OEFycmF5KHIpO2lmKGEgaW5zdGFuY2VvZiBCYXNlU3RyZWFtKXtjb25zdCBlPWEuZ2V0Qnl0ZXMocik7dGhpcy5sb29rdXAuc2V0KGUpfWVsc2V7aWYoInN0cmluZyIhPXR5cGVvZiBhKXRocm93IG5ldyBGb3JtYXRFcnJvcihgSW5kZXhlZENTIC0gdW5yZWNvZ25pemVkIGxvb2t1cCB0YWJsZTogJHthfWApO2ZvcihsZXQgZT0wO2U8cjsrK2UpdGhpcy5sb29rdXBbZV09MjU1JmEuY2hhckNvZGVBdChlKX19Z2V0UmdiSXRlbShlLHQsYSxyKXtjb25zdHtiYXNlOmksaGlnaFZhbDpuLGxvb2t1cDpzfT10aGlzLG89TWF0aENsYW1wKE1hdGgucm91bmQoZVt0XSksMCxuKSppLm51bUNvbXBzO2kuZ2V0UmdiQnVmZmVyKHMsbywxLGEsciw4LDApfWdldFJnYkJ1ZmZlcihlLHQsYSxyLGksbixzKXtjb25zdHtiYXNlOm8saGlnaFZhbDpjLGxvb2t1cDpsfT10aGlzLHtudW1Db21wczpofT1vLHU9by5nZXRPdXRwdXRMZW5ndGgoaCxzKTtmb3IobGV0IG49MDtuPGE7KytuKXtjb25zdCBhPU1hdGhDbGFtcChNYXRoLnJvdW5kKGVbdCsrXSksMCxjKSpoO28uZ2V0UmdiQnVmZmVyKGwsYSwxLHIsaSw4LHMpO2krPXV9fWdldE91dHB1dExlbmd0aChlLHQpe3JldHVybiB0aGlzLmJhc2UuZ2V0T3V0cHV0TGVuZ3RoKGUqdGhpcy5iYXNlLm51bUNvbXBzLHQpfWlzRGVmYXVsdERlY29kZShlLHQpe2lmKCFBcnJheS5pc0FycmF5KGUpKXJldHVybiEwO2lmKDIhPT1lLmxlbmd0aCl7d2FybigiRGVjb2RlIG1hcCBsZW5ndGggaXMgbm90IGNvcnJlY3QiKTtyZXR1cm4hMH1pZighTnVtYmVyLmlzSW50ZWdlcih0KXx8dDwxKXt3YXJuKCJCaXRzIHBlciBjb21wb25lbnQgaXMgbm90IGNvcnJlY3QiKTtyZXR1cm4hMH1yZXR1cm4gMD09PWVbMF0mJmVbMV09PT0oMTw8dCktMX19Y2xhc3MgRGV2aWNlR3JheUNTIGV4dGVuZHMgQ29sb3JTcGFjZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCJEZXZpY2VHcmF5IiwxKX1nZXRSZ2JJdGVtKGUsdCxhLHIpe2NvbnN0IGk9MjU1KmVbdF07YVtyXT1hW3IrMV09YVtyKzJdPWl9Z2V0UmdiQnVmZmVyKGUsdCxhLHIsaSxuLHMpe2NvbnN0IG89MjU1LygoMTw8biktMSk7bGV0IGM9dCxsPWk7Zm9yKGxldCB0PTA7dDxhOysrdCl7Y29uc3QgdD1vKmVbYysrXTtyW2wrK109dDtyW2wrK109dDtyW2wrK109dDtsKz1zfX1nZXRPdXRwdXRMZW5ndGgoZSx0KXtyZXR1cm4gZSooMyt0KX19Y2xhc3MgRGV2aWNlUmdiQ1MgZXh0ZW5kcyBDb2xvclNwYWNle2NvbnN0cnVjdG9yKCl7c3VwZXIoIkRldmljZVJHQiIsMyl9Z2V0UmdiSXRlbShlLHQsYSxyKXthW3JdPTI1NSplW3RdO2FbcisxXT0yNTUqZVt0KzFdO2FbcisyXT0yNTUqZVt0KzJdfWdldFJnYkJ1ZmZlcihlLHQsYSxyLGksbixzKXtpZig4PT09biYmMD09PXMpe3Iuc2V0KGUuc3ViYXJyYXkodCx0KzMqYSksaSk7cmV0dXJufWNvbnN0IG89MjU1LygoMTw8biktMSk7bGV0IGM9dCxsPWk7Zm9yKGxldCB0PTA7dDxhOysrdCl7cltsKytdPW8qZVtjKytdO3JbbCsrXT1vKmVbYysrXTtyW2wrK109byplW2MrK107bCs9c319Z2V0T3V0cHV0TGVuZ3RoKGUsdCl7cmV0dXJuIGUqKDMrdCkvM3wwfWlzUGFzc3Rocm91Z2goZSl7cmV0dXJuIDg9PT1lfX1jbGFzcyBEZXZpY2VSZ2JhQ1MgZXh0ZW5kcyBDb2xvclNwYWNle2NvbnN0cnVjdG9yKCl7c3VwZXIoIkRldmljZVJHQkEiLDQpfWdldE91dHB1dExlbmd0aChlLHQpe3JldHVybiA0KmV9aXNQYXNzdGhyb3VnaChlKXtyZXR1cm4gOD09PWV9ZmlsbFJnYihlLHQsYSxyLGksbixzLG8sYyl7YSE9PWl8fHQhPT1yP2Z1bmN0aW9uIHJlc2l6ZVJnYmFJbWFnZShlLHQsYSxyLGksbixzKXtjb25zdCBvPWEvaSxjPXIvbjtsZXQgbD0wO2NvbnN0IGg9bmV3IFVpbnQxNkFycmF5KGkpO2lmKDE9PT1zKXtmb3IobGV0IGU9MDtlPGk7ZSsrKWhbZV09TWF0aC5mbG9vcihlKm8pO2NvbnN0IHI9bmV3IFVpbnQzMkFycmF5KGUuYnVmZmVyKSxzPW5ldyBVaW50MzJBcnJheSh0LmJ1ZmZlciksdT1GZWF0dXJlVGVzdC5pc0xpdHRsZUVuZGlhbj8xNjc3NzIxNTo0Mjk0OTY3MDQwO2ZvcihsZXQgZT0wO2U8bjtlKyspe2NvbnN0IHQ9ci5zdWJhcnJheShNYXRoLmZsb29yKGUqYykqYSk7Zm9yKGxldCBlPTA7ZTxpO2UrKylzW2wrK118PXRbaFtlXV0mdX19ZWxzZXtjb25zdCByPTQscz1hKnI7Zm9yKGxldCBlPTA7ZTxpO2UrKyloW2VdPU1hdGguZmxvb3IoZSpvKSpyO2ZvcihsZXQgYT0wO2E8bjthKyspe2NvbnN0IHI9ZS5zdWJhcnJheShNYXRoLmZsb29yKGEqYykqcyk7Zm9yKGxldCBlPTA7ZTxpO2UrKyl7Y29uc3QgYT1oW2VdO3RbbCsrXT1yW2FdO3RbbCsrXT1yW2ErMV07dFtsKytdPXJbYSsyXX19fX0obyxlLHQsYSxyLGksYyk6ZnVuY3Rpb24gY29weVJnYmFJbWFnZShlLHQsYSl7aWYoMT09PWEpe2NvbnN0IGE9bmV3IFVpbnQzMkFycmF5KGUuYnVmZmVyKSxyPW5ldyBVaW50MzJBcnJheSh0LmJ1ZmZlciksaT1GZWF0dXJlVGVzdC5pc0xpdHRsZUVuZGlhbj8xNjc3NzIxNTo0Mjk0OTY3MDQwO2ZvcihsZXQgZT0wLHQ9YS5sZW5ndGg7ZTx0O2UrKylyW2VdfD1hW2VdJml9ZWxzZXtsZXQgYT0wO2ZvcihsZXQgcj0wLGk9ZS5sZW5ndGg7cjxpO3IrPTQpe3RbYSsrXT1lW3JdO3RbYSsrXT1lW3IrMV07dFthKytdPWVbcisyXX19fShvLGUsYyl9fWNsYXNzIERldmljZUNteWtDUyBleHRlbmRzIENvbG9yU3BhY2V7Y29uc3RydWN0b3IoKXtzdXBlcigiRGV2aWNlQ01ZSyIsNCl9I2koZSx0LGEscixpKXtjb25zdCBuPWVbdF0qYSxzPWVbdCsxXSphLG89ZVt0KzJdKmEsYz1lW3QrM10qYTtyW2ldPTI1NStuKigtNC4zODczMzIzODQ2MDk5ODgqbis1NC40ODYxNTE5NDE4OTE3NipzKzE4LjgyMjkwNTAyMTY1MzAyKm8rMjEyLjI1NjYyNDUxNjM5NTg1KmMtMjg1LjIzMzEwMjYxMzcwMDQpK3MqKDEuNzE0OTc2MzQ3NzM2MjEzNCpzLTUuNjA5NjczNjkwNDA0NzMxNSpvKy0xNy44NzM4NzA4NjE0MTU0NDQqYy01LjQ5NzAwNjQyNzE5NjM2NikrbyooLTIuNTIxNzM0MDEzMTY4MzAzMypvLTIxLjI0ODkyMzMzNzM1MzA3MypjKzE3LjUxMTkyNzA4NDE4MTMpK2MqKC0yMS44NjEyMjE0NzQ2MzYwNSpjLTE4OS40ODE4MDgzNTkyMjc0Nyk7cltpKzFdPTI1NStuKig4Ljg0MTA0MTQyMjAzNjE0OSpuKzYwLjExODAyNzA0NTU5NzM2NipzKzYuODcxNDI1NTkyMDQ5MDA3Km8rMzEuMTU5MTAwMTMwMDU1OTIyKmMtNzkuMjk3MDg0NDgxNjU0OCkrcyooLTE1LjMxMDM2MTMwNjk2NzgxNypzKzE3LjU3NTI1MTI2MTEwOTQ4MipvKzEzMS4zNTI1MDkxMjQ5Mzk3NipjLTE5MC45NDUzMzAyNTg4OTUxKStvKig0LjQ0NDMzOTEwMjg1MjczOSpvKzkuODYzMjg2MTQ5MzQwNSpjLTI0Ljg2NzQxNTgyNTU1ODc4KStjKigtMjAuNzM3MzI1NDcxMTgxMDM0KmMtMTg3LjgwNDUzNzA5NzE5NTc4KTtyW2krMl09MjU1K24qKC44ODQyNTIyNDMwMDAzMjk2Km4rOC4wNzg2Nzc1MDMxMTI5MjgqcyszMC44OTk3ODMwOTcwMzcyOSpvLS4yMzg4MzIzODY4OTE3ODkzNCpjLTE0LjE4MzU3Njc5OTY3MzI4NikrcyooMTAuNDk1OTMyNzM0MzIwNzIqcys2My4wMjM3ODQ5NDc1NDA1MipvKzUwLjYwNjk1NzY1NjM2MDczNCpjLTExMi4yMzg4NDI1MzcxOTI0OCkrbyooLjAzMjk2MDQxMTE0ODczMjE3Km8rMTE1LjYwMzg0NDQ5NjQ2NjQxKmMtMTkzLjU4MjA5MzU2ODYxNTA1KStjKigtMjIuMzM4MTY4MDczMDk4ODYqYy0xODAuMTI2MTM5NzQ3MDgzNjcpfWdldFJnYkl0ZW0oZSx0LGEscil7dGhpcy4jaShlLHQsMSxhLHIpfWdldFJnYkJ1ZmZlcihlLHQsYSxyLGksbixzKXtjb25zdCBvPTEvKCgxPDxuKS0xKTtmb3IobGV0IG49MDtuPGE7bisrKXt0aGlzLiNpKGUsdCxvLHIsaSk7dCs9NDtpKz0zK3N9fWdldE91dHB1dExlbmd0aChlLHQpe3JldHVybiBlLzQqKDMrdCl8MH19Y2xhc3MgQ2FsR3JheUNTIGV4dGVuZHMgQ29sb3JTcGFjZXtjb25zdHJ1Y3RvcihlLHQsYSl7c3VwZXIoIkNhbEdyYXkiLDEpO2lmKCFlKXRocm93IG5ldyBGb3JtYXRFcnJvcigiV2hpdGVQb2ludCBtaXNzaW5nIC0gcmVxdWlyZWQgZm9yIGNvbG9yIHNwYWNlIENhbEdyYXkiKTtbdGhpcy5YVyx0aGlzLllXLHRoaXMuWlddPWU7W3RoaXMuWEIsdGhpcy5ZQix0aGlzLlpCXT10fHxbMCwwLDBdO3RoaXMuRz1hfHwxO2lmKHRoaXMuWFc8MHx8dGhpcy5aVzwwfHwxIT09dGhpcy5ZVyl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYEludmFsaWQgV2hpdGVQb2ludCBjb21wb25lbnRzIGZvciAke3RoaXMubmFtZX0sIG5vIGZhbGxiYWNrIGF2YWlsYWJsZWApO2lmKHRoaXMuWEI8MHx8dGhpcy5ZQjwwfHx0aGlzLlpCPDApe2luZm8oYEludmFsaWQgQmxhY2tQb2ludCBmb3IgJHt0aGlzLm5hbWV9LCBmYWxsaW5nIGJhY2sgdG8gZGVmYXVsdC5gKTt0aGlzLlhCPXRoaXMuWUI9dGhpcy5aQj0wfTA9PT10aGlzLlhCJiYwPT09dGhpcy5ZQiYmMD09PXRoaXMuWkJ8fHdhcm4oYCR7dGhpcy5uYW1lfSwgQmxhY2tQb2ludDogWEI6ICR7dGhpcy5YQn0sIFlCOiAke3RoaXMuWUJ9LCBaQjogJHt0aGlzLlpCfSwgb25seSBkZWZhdWx0IHZhbHVlcyBhcmUgc3VwcG9ydGVkLmApO2lmKHRoaXMuRzwxKXtpbmZvKGBJbnZhbGlkIEdhbW1hOiAke3RoaXMuR30gZm9yICR7dGhpcy5uYW1lfSwgZmFsbGluZyBiYWNrIHRvIGRlZmF1bHQuYCk7dGhpcy5HPTF9fSNpKGUsdCxhLHIsaSl7Y29uc3Qgbj0oZVt0XSppKSoqdGhpcy5HLHM9dGhpcy5ZVypuLG89TWF0aC5tYXgoMjk1LjgqcyoqLjMzMzMzMzMzMzMzMzMzMzMtNDAuOCwwKTthW3JdPW87YVtyKzFdPW87YVtyKzJdPW99Z2V0UmdiSXRlbShlLHQsYSxyKXt0aGlzLiNpKGUsdCxhLHIsMSl9Z2V0UmdiQnVmZmVyKGUsdCxhLHIsaSxuLHMpe2NvbnN0IG89MS8oKDE8PG4pLTEpO2ZvcihsZXQgbj0wO248YTsrK24pe3RoaXMuI2koZSx0LHIsaSxvKTt0Kz0xO2krPTMrc319Z2V0T3V0cHV0TGVuZ3RoKGUsdCl7cmV0dXJuIGUqKDMrdCl9fWNsYXNzIENhbFJHQkNTIGV4dGVuZHMgQ29sb3JTcGFjZXtzdGF0aWMjbj1uZXcgRmxvYXQzMkFycmF5KFsuODk1MSwuMjY2NCwtLjE2MTQsLS43NTAyLDEuNzEzNSwuMDM2NywuMDM4OSwtLjA2ODUsMS4wMjk2XSk7c3RhdGljI3M9bmV3IEZsb2F0MzJBcnJheShbLjk4Njk5MjksLS4xNDcwNTQzLC4xNTk5NjI3LC40MzIzMDUzLC41MTgzNjAzLC4wNDkyOTEyLC0uMDA4NTI4NywuMDQwMDQyOCwuOTY4NDg2N10pO3N0YXRpYyNvPW5ldyBGbG9hdDMyQXJyYXkoWzMuMjQwNDU0MiwtMS41MzcxMzg1LC0uNDk4NTMxNCwtLjk2OTI2NiwxLjg3NjAxMDgsLjA0MTU1NiwuMDU1NjQzNCwtLjIwNDAyNTksMS4wNTcyMjUyXSk7c3RhdGljI2M9bmV3IEZsb2F0MzJBcnJheShbMSwxLDFdKTtzdGF0aWMjbD1uZXcgRmxvYXQzMkFycmF5KDMpO3N0YXRpYyNoPW5ldyBGbG9hdDMyQXJyYXkoMyk7c3RhdGljI3U9bmV3IEZsb2F0MzJBcnJheSgzKTtzdGF0aWMjZD0oMjQvMTE2KSoqMy84O2NvbnN0cnVjdG9yKGUsdCxhLHIpe3N1cGVyKCJDYWxSR0IiLDMpO2lmKCFlKXRocm93IG5ldyBGb3JtYXRFcnJvcigiV2hpdGVQb2ludCBtaXNzaW5nIC0gcmVxdWlyZWQgZm9yIGNvbG9yIHNwYWNlIENhbFJHQiIpO2NvbnN0W2ksbixzXT10aGlzLndoaXRlUG9pbnQ9ZSxbbyxjLGxdPXRoaXMuYmxhY2tQb2ludD10fHxuZXcgRmxvYXQzMkFycmF5KDMpO1t0aGlzLkdSLHRoaXMuR0csdGhpcy5HQl09YXx8bmV3IEZsb2F0MzJBcnJheShbMSwxLDFdKTtbdGhpcy5NWEEsdGhpcy5NWUEsdGhpcy5NWkEsdGhpcy5NWEIsdGhpcy5NWUIsdGhpcy5NWkIsdGhpcy5NWEMsdGhpcy5NWUMsdGhpcy5NWkNdPXJ8fG5ldyBGbG9hdDMyQXJyYXkoWzEsMCwwLDAsMSwwLDAsMCwxXSk7aWYoaTwwfHxzPDB8fDEhPT1uKXRocm93IG5ldyBGb3JtYXRFcnJvcihgSW52YWxpZCBXaGl0ZVBvaW50IGNvbXBvbmVudHMgZm9yICR7dGhpcy5uYW1lfSwgbm8gZmFsbGJhY2sgYXZhaWxhYmxlYCk7aWYobzwwfHxjPDB8fGw8MCl7aW5mbyhgSW52YWxpZCBCbGFja1BvaW50IGZvciAke3RoaXMubmFtZX0gWyR7b30sICR7Y30sICR7bH1dLCBmYWxsaW5nIGJhY2sgdG8gZGVmYXVsdC5gKTt0aGlzLmJsYWNrUG9pbnQ9bmV3IEZsb2F0MzJBcnJheSgzKX1pZih0aGlzLkdSPDB8fHRoaXMuR0c8MHx8dGhpcy5HQjwwKXtpbmZvKGBJbnZhbGlkIEdhbW1hIFske3RoaXMuR1J9LCAke3RoaXMuR0d9LCAke3RoaXMuR0J9XSBmb3IgJHt0aGlzLm5hbWV9LCBmYWxsaW5nIGJhY2sgdG8gZGVmYXVsdC5gKTt0aGlzLkdSPXRoaXMuR0c9dGhpcy5HQj0xfX0jZihlLHQsYSl7YVswXT1lWzBdKnRbMF0rZVsxXSp0WzFdK2VbMl0qdFsyXTthWzFdPWVbM10qdFswXStlWzRdKnRbMV0rZVs1XSp0WzJdO2FbMl09ZVs2XSp0WzBdK2VbN10qdFsxXStlWzhdKnRbMl19I2coZSx0LGEpe2FbMF09MSp0WzBdL2VbMF07YVsxXT0xKnRbMV0vZVsxXTthWzJdPTEqdFsyXS9lWzJdfSNwKGUsdCxhKXthWzBdPS45NTA0Nyp0WzBdL2VbMF07YVsxXT0xKnRbMV0vZVsxXTthWzJdPTEuMDg4ODMqdFsyXS9lWzJdfSNtKGUpe3JldHVybiBlPD0uMDAzMTMwOD9NYXRoQ2xhbXAoMTIuOTIqZSwwLDEpOmU+PS45OTU1NDUyNT8xOk1hdGhDbGFtcCgxLjA1NSplKiooMS8yLjQpLS4wNTUsMCwxKX0jYihlKXtyZXR1cm4gZTwwPy10aGlzLiNiKC1lKTplPjg/KChlKzE2KS8xMTYpKiozOmUqQ2FsUkdCQ1MuI2R9I3koZSx0LGEpe2lmKDA9PT1lWzBdJiYwPT09ZVsxXSYmMD09PWVbMl0pe2FbMF09dFswXTthWzFdPXRbMV07YVsyXT10WzJdO3JldHVybn1jb25zdCByPXRoaXMuI2IoMCksaT0oMS1yKS8oMS10aGlzLiNiKGVbMF0pKSxuPTEtaSxzPSgxLXIpLygxLXRoaXMuI2IoZVsxXSkpLG89MS1zLGM9KDEtcikvKDEtdGhpcy4jYihlWzJdKSksbD0xLWM7YVswXT10WzBdKmkrbjthWzFdPXRbMV0qcytvO2FbMl09dFsyXSpjK2x9I3coZSx0LGEpe2lmKDE9PT1lWzBdJiYxPT09ZVsyXSl7YVswXT10WzBdO2FbMV09dFsxXTthWzJdPXRbMl07cmV0dXJufWNvbnN0IHI9YTt0aGlzLiNmKENhbFJHQkNTLiNuLHQscik7Y29uc3QgaT1DYWxSR0JDUy4jbDt0aGlzLiNnKGUscixpKTt0aGlzLiNmKENhbFJHQkNTLiNzLGksYSl9I3goZSx0LGEpe2NvbnN0IHI9YTt0aGlzLiNmKENhbFJHQkNTLiNuLHQscik7Y29uc3QgaT1DYWxSR0JDUy4jbDt0aGlzLiNwKGUscixpKTt0aGlzLiNmKENhbFJHQkNTLiNzLGksYSl9I2koZSx0LGEscixpKXtjb25zdCBuPU1hdGhDbGFtcChlW3RdKmksMCwxKSxzPU1hdGhDbGFtcChlW3QrMV0qaSwwLDEpLG89TWF0aENsYW1wKGVbdCsyXSppLDAsMSksYz0xPT09bj8xOm4qKnRoaXMuR1IsbD0xPT09cz8xOnMqKnRoaXMuR0csaD0xPT09bz8xOm8qKnRoaXMuR0IsdT10aGlzLk1YQSpjK3RoaXMuTVhCKmwrdGhpcy5NWEMqaCxkPXRoaXMuTVlBKmMrdGhpcy5NWUIqbCt0aGlzLk1ZQypoLGY9dGhpcy5NWkEqYyt0aGlzLk1aQipsK3RoaXMuTVpDKmgsZz1DYWxSR0JDUy4jaDtnWzBdPXU7Z1sxXT1kO2dbMl09Zjtjb25zdCBwPUNhbFJHQkNTLiN1O3RoaXMuI3codGhpcy53aGl0ZVBvaW50LGcscCk7Y29uc3QgbT1DYWxSR0JDUy4jaDt0aGlzLiN5KHRoaXMuYmxhY2tQb2ludCxwLG0pO2NvbnN0IGI9Q2FsUkdCQ1MuI3U7dGhpcy4jeChDYWxSR0JDUy4jYyxtLGIpO2NvbnN0IHk9Q2FsUkdCQ1MuI2g7dGhpcy4jZihDYWxSR0JDUy4jbyxiLHkpO2Fbcl09MjU1KnRoaXMuI20oeVswXSk7YVtyKzFdPTI1NSp0aGlzLiNtKHlbMV0pO2FbcisyXT0yNTUqdGhpcy4jbSh5WzJdKX1nZXRSZ2JJdGVtKGUsdCxhLHIpe3RoaXMuI2koZSx0LGEsciwxKX1nZXRSZ2JCdWZmZXIoZSx0LGEscixpLG4scyl7Y29uc3Qgbz0xLygoMTw8biktMSk7Zm9yKGxldCBuPTA7bjxhOysrbil7dGhpcy4jaShlLHQscixpLG8pO3QrPTM7aSs9MytzfX1nZXRPdXRwdXRMZW5ndGgoZSx0KXtyZXR1cm4gZSooMyt0KS8zfDB9fWNsYXNzIExhYkNTIGV4dGVuZHMgQ29sb3JTcGFjZXtjb25zdHJ1Y3RvcihlLHQsYSl7c3VwZXIoIkxhYiIsMyk7aWYoIWUpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJXaGl0ZVBvaW50IG1pc3NpbmcgLSByZXF1aXJlZCBmb3IgY29sb3Igc3BhY2UgTGFiIik7W3RoaXMuWFcsdGhpcy5ZVyx0aGlzLlpXXT1lO1t0aGlzLmFtaW4sdGhpcy5hbWF4LHRoaXMuYm1pbix0aGlzLmJtYXhdPWF8fFstMTAwLDEwMCwtMTAwLDEwMF07W3RoaXMuWEIsdGhpcy5ZQix0aGlzLlpCXT10fHxbMCwwLDBdO2lmKHRoaXMuWFc8MHx8dGhpcy5aVzwwfHwxIT09dGhpcy5ZVyl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkludmFsaWQgV2hpdGVQb2ludCBjb21wb25lbnRzLCBubyBmYWxsYmFjayBhdmFpbGFibGUiKTtpZih0aGlzLlhCPDB8fHRoaXMuWUI8MHx8dGhpcy5aQjwwKXtpbmZvKCJJbnZhbGlkIEJsYWNrUG9pbnQsIGZhbGxpbmcgYmFjayB0byBkZWZhdWx0Iik7dGhpcy5YQj10aGlzLllCPXRoaXMuWkI9MH1pZih0aGlzLmFtaW4+dGhpcy5hbWF4fHx0aGlzLmJtaW4+dGhpcy5ibWF4KXtpbmZvKCJJbnZhbGlkIFJhbmdlLCBmYWxsaW5nIGJhY2sgdG8gZGVmYXVsdHMiKTt0aGlzLmFtaW49LTEwMDt0aGlzLmFtYXg9MTAwO3RoaXMuYm1pbj0tMTAwO3RoaXMuYm1heD0xMDB9fSNTKGUpe3JldHVybiBlPj02LzI5P2UqKjM6MTA4Lzg0MSooZS00LzI5KX0jQShlLHQsYSxyKXtyZXR1cm4gYStlKihyLWEpL3R9I2koZSx0LGEscixpKXtsZXQgbj1lW3RdLHM9ZVt0KzFdLG89ZVt0KzJdO2lmKCExIT09YSl7bj10aGlzLiNBKG4sYSwwLDEwMCk7cz10aGlzLiNBKHMsYSx0aGlzLmFtaW4sdGhpcy5hbWF4KTtvPXRoaXMuI0EobyxhLHRoaXMuYm1pbix0aGlzLmJtYXgpfXM+dGhpcy5hbWF4P3M9dGhpcy5hbWF4OnM8dGhpcy5hbWluJiYocz10aGlzLmFtaW4pO28+dGhpcy5ibWF4P289dGhpcy5ibWF4Om88dGhpcy5ibWluJiYobz10aGlzLmJtaW4pO2NvbnN0IGM9KG4rMTYpLzExNixsPWMrcy81MDAsaD1jLW8vMjAwLHU9dGhpcy5YVyp0aGlzLiNTKGwpLGQ9dGhpcy5ZVyp0aGlzLiNTKGMpLGY9dGhpcy5aVyp0aGlzLiNTKGgpO2xldCBnLHAsbTtpZih0aGlzLlpXPDEpe2c9My4xMzM5KnUrLTEuNjE3KmQrLS40OTA2KmY7cD0tLjk3ODUqdSsxLjkxNipkKy4wMzMzKmY7bT0uMDcyKnUrLS4yMjkqZCsxLjQwNTcqZn1lbHNle2c9My4yNDA2KnUrLTEuNTM3MipkKy0uNDk4NipmO3A9LS45Njg5KnUrMS44NzU4KmQrLjA0MTUqZjttPS4wNTU3KnUrLS4yMDQqZCsxLjA1NypmfXJbaV09MjU1Kk1hdGguc3FydChnKTtyW2krMV09MjU1Kk1hdGguc3FydChwKTtyW2krMl09MjU1Kk1hdGguc3FydChtKX1nZXRSZ2JJdGVtKGUsdCxhLHIpe3RoaXMuI2koZSx0LCExLGEscil9Z2V0UmdiQnVmZmVyKGUsdCxhLHIsaSxuLHMpe2NvbnN0IG89KDE8PG4pLTE7Zm9yKGxldCBuPTA7bjxhO24rKyl7dGhpcy4jaShlLHQsbyxyLGkpO3QrPTM7aSs9MytzfX1nZXRPdXRwdXRMZW5ndGgoZSx0KXtyZXR1cm4gZSooMyt0KS8zfDB9aXNEZWZhdWx0RGVjb2RlKGUsdCl7cmV0dXJuITB9Z2V0IHVzZXNaZXJvVG9PbmVSYW5nZSgpe3JldHVybiBzaGFkb3codGhpcywidXNlc1plcm9Ub09uZVJhbmdlIiwhMSl9fWZ1bmN0aW9uIGZldGNoU3luYyhlKXtjb25zdCB0PW5ldyBYTUxIdHRwUmVxdWVzdDt0Lm9wZW4oIkdFVCIsZSwhMSk7dC5yZXNwb25zZVR5cGU9ImFycmF5YnVmZmVyIjt0LnNlbmQobnVsbCk7cmV0dXJuIHQucmVzcG9uc2V9Y2xhc3MgSWNjQ29sb3JTcGFjZSBleHRlbmRzIENvbG9yU3BhY2V7I2s7I0M7c3RhdGljI3Y9ITA7c3RhdGljI0Y9bnVsbDtzdGF0aWMjST1udWxsO2NvbnN0cnVjdG9yKGUsdCxhKXtpZighSWNjQ29sb3JTcGFjZS5pc1VzYWJsZSl0aHJvdyBuZXcgRXJyb3IoIk5vIElDQyBjb2xvciBzcGFjZSBzdXBwb3J0Iik7c3VwZXIodCxhKTtsZXQgcjtzd2l0Y2goYSl7Y2FzZSAxOnI9eWEuR3JheTg7dGhpcy4jQz0oZSx0LGEpPT5mdW5jdGlvbiBxY21zX2NvbnZlcnRfb25lKGUsdCxhKXtnYS5xY21zX2NvbnZlcnRfb25lKGUsdCxhKX0odGhpcy4jaywyNTUqZVt0XSxhKTticmVhaztjYXNlIDM6cj15YS5SR0I4O3RoaXMuI0M9KGUsdCxhKT0+ZnVuY3Rpb24gcWNtc19jb252ZXJ0X3RocmVlKGUsdCxhLHIsaSl7Z2EucWNtc19jb252ZXJ0X3RocmVlKGUsdCxhLHIsaSl9KHRoaXMuI2ssMjU1KmVbdF0sMjU1KmVbdCsxXSwyNTUqZVt0KzJdLGEpO2JyZWFrO2Nhc2UgNDpyPXlhLkNNWUs7dGhpcy4jQz0oZSx0LGEpPT5mdW5jdGlvbiBxY21zX2NvbnZlcnRfZm91cihlLHQsYSxyLGksbil7Z2EucWNtc19jb252ZXJ0X2ZvdXIoZSx0LGEscixpLG4pfSh0aGlzLiNrLDI1NSplW3RdLDI1NSplW3QrMV0sMjU1KmVbdCsyXSwyNTUqZVt0KzNdLGEpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKGBVbnN1cHBvcnRlZCBudW1iZXIgb2YgY29tcG9uZW50czogJHthfWApfXRoaXMuI2s9ZnVuY3Rpb24gcWNtc190cmFuc2Zvcm1lcl9mcm9tX21lbW9yeShlLHQsYSl7Y29uc3Qgcj1wYXNzQXJyYXk4VG9XYXNtMChlLGdhLl9fd2JpbmRnZW5fbWFsbG9jKSxpPWJhO3JldHVybiBnYS5xY21zX3RyYW5zZm9ybWVyX2Zyb21fbWVtb3J5KHIsaSx0LGEpPj4+MH0oZSxyLHdhLlBlcmNlcHR1YWwpO2lmKCF0aGlzLiNrKXRocm93IG5ldyBFcnJvcigiRmFpbGVkIHRvIGNyZWF0ZSBJQ0MgY29sb3Igc3BhY2UiKTtJY2NDb2xvclNwYWNlLiNJfHw9bmV3IEZpbmFsaXphdGlvblJlZ2lzdHJ5KChlPT57IWZ1bmN0aW9uIHFjbXNfZHJvcF90cmFuc2Zvcm1lcihlKXtnYS5xY21zX2Ryb3BfdHJhbnNmb3JtZXIoZSl9KGUpfSkpO0ljY0NvbG9yU3BhY2UuI0kucmVnaXN0ZXIodGhpcyx0aGlzLiNrKX1nZXRSZ2JIZXgoZSx0KXt0aGlzLiNDKGUsdCwhMCk7cmV0dXJuIFFDTVMuX2Nzc0NvbG9yfWdldFJnYkl0ZW0oZSx0LGEscil7UUNNUy5fZGVzdEJ1ZmZlcj1hO1FDTVMuX2Rlc3RPZmZzZXQ9cjtRQ01TLl9kZXN0TGVuZ3RoPTM7dGhpcy4jQyhlLHQsITEpO1FDTVMuX2Rlc3RCdWZmZXI9bnVsbH1nZXRSZ2JCdWZmZXIoZSx0LGEscixpLG4scyl7ZT1lLnN1YmFycmF5KHQsdCthKnRoaXMubnVtQ29tcHMpO2lmKDghPT1uKXtjb25zdCB0PTI1NS8oKDE8PG4pLTEpO2ZvcihsZXQgYT0wLHI9ZS5sZW5ndGg7YTxyO2ErKyllW2FdKj10fVFDTVMuX211c3RBZGRBbHBoYT1zJiZyLmJ1ZmZlcj09PWUuYnVmZmVyO1FDTVMuX2Rlc3RCdWZmZXI9cjtRQ01TLl9kZXN0T2Zmc2V0PWk7UUNNUy5fZGVzdExlbmd0aD1hKigzK3MpOyFmdW5jdGlvbiBxY21zX2NvbnZlcnRfYXJyYXkoZSx0KXtjb25zdCBhPXBhc3NBcnJheThUb1dhc20wKHQsZ2EuX193YmluZGdlbl9tYWxsb2MpLHI9YmE7Z2EucWNtc19jb252ZXJ0X2FycmF5KGUsYSxyKX0odGhpcy4jayxlKTtRQ01TLl9tdXN0QWRkQWxwaGE9ITE7UUNNUy5fZGVzdEJ1ZmZlcj1udWxsfWdldE91dHB1dExlbmd0aChlLHQpe3JldHVybiBlL3RoaXMubnVtQ29tcHMqKDMrdCl8MH1zdGF0aWMgc2V0T3B0aW9ucyh7dXNlV2FzbTplLHVzZVdvcmtlckZldGNoOnQsd2FzbVVybDphfSl7aWYodCl7dGhpcy4jdj1lO3RoaXMuI0Y9YX1lbHNlIHRoaXMuI3Y9ITF9c3RhdGljIGdldCBpc1VzYWJsZSgpe2xldCBlPSExO2lmKHRoaXMuI3YpaWYodGhpcy4jRil0cnl7dGhpcy5fbW9kdWxlPWZ1bmN0aW9uIGluaXRTeW5jKGUpe2lmKHZvaWQgMCE9PWdhKXJldHVybiBnYTt2b2lkIDAhPT1lJiYoT2JqZWN0LmdldFByb3RvdHlwZU9mKGUpPT09T2JqZWN0LnByb3RvdHlwZT8oe21vZHVsZTplfT1lKTpjb25zb2xlLndhcm4oInVzaW5nIGRlcHJlY2F0ZWQgcGFyYW1ldGVycyBmb3IgYGluaXRTeW5jKClgOyBwYXNzIGEgc2luZ2xlIG9iamVjdCBpbnN0ZWFkIikpO2NvbnN0IHQ9X193YmdfZ2V0X2ltcG9ydHMoKTtlIGluc3RhbmNlb2YgV2ViQXNzZW1ibHkuTW9kdWxlfHwoZT1uZXcgV2ViQXNzZW1ibHkuTW9kdWxlKGUpKTtyZXR1cm4gX193YmdfZmluYWxpemVfaW5pdChuZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2UoZSx0KSxlKX0oe21vZHVsZTpmZXRjaFN5bmMoYCR7dGhpcy4jRn1xY21zX2JnLndhc21gKX0pO2U9ISF0aGlzLl9tb2R1bGU7UUNNUy5fbWVtb3J5PXRoaXMuX21vZHVsZS5tZW1vcnk7UUNNUy5fbWFrZUhleENvbG9yPVV0aWwubWFrZUhleENvbG9yfWNhdGNoKGUpe3dhcm4oYElDQ0Jhc2VkIGNvbG9yIHNwYWNlOiAiJHtlfSIuYCl9ZWxzZSB3YXJuKCJObyBJQ0MgY29sb3Igc3BhY2Ugc3VwcG9ydCBkdWUgdG8gbWlzc2luZyBgd2FzbVVybGAgQVBJIG9wdGlvbiIpO3JldHVybiBzaGFkb3codGhpcywiaXNVc2FibGUiLGUpfX1jbGFzcyBDbXlrSUNDQmFzZWRDUyBleHRlbmRzIEljY0NvbG9yU3BhY2V7c3RhdGljI1Q7Y29uc3RydWN0b3IoKXtzdXBlcihuZXcgVWludDhBcnJheShmZXRjaFN5bmMoYCR7Q215a0lDQ0Jhc2VkQ1MuI1R9Q0dBVFMwMDFDb21wYXQtdjItbWljcm8uaWNjYCkpLCJEZXZpY2VDTVlLIiw0KX1zdGF0aWMgc2V0T3B0aW9ucyh7aWNjVXJsOmV9KXt0aGlzLiNUPWV9c3RhdGljIGdldCBpc1VzYWJsZSgpe2xldCBlPSExO0ljY0NvbG9yU3BhY2UuaXNVc2FibGUmJih0aGlzLiNUP2U9ITA6d2FybigiTm8gQ01ZSyBJQ0MgcHJvZmlsZSBzdXBwb3J0IGR1ZSB0byBtaXNzaW5nIGBpY2NVcmxgIEFQSSBvcHRpb24iKSk7cmV0dXJuIHNoYWRvdyh0aGlzLCJpc1VzYWJsZSIsZSl9fWNsYXNzIFN0cmVhbSBleHRlbmRzIEJhc2VTdHJlYW17Y29uc3RydWN0b3IoZSx0LGEscil7c3VwZXIoKTt0aGlzLmJ5dGVzPWUgaW5zdGFuY2VvZiBVaW50OEFycmF5P2U6bmV3IFVpbnQ4QXJyYXkoZSk7dGhpcy5zdGFydD10fHwwO3RoaXMucG9zPXRoaXMuc3RhcnQ7dGhpcy5lbmQ9dCthfHx0aGlzLmJ5dGVzLmxlbmd0aDt0aGlzLmRpY3Q9cn1nZXQgbGVuZ3RoKCl7cmV0dXJuIHRoaXMuZW5kLXRoaXMuc3RhcnR9Z2V0IGlzRW1wdHkoKXtyZXR1cm4gMD09PXRoaXMubGVuZ3RofWdldEJ5dGUoKXtyZXR1cm4gdGhpcy5wb3M+PXRoaXMuZW5kPy0xOnRoaXMuYnl0ZXNbdGhpcy5wb3MrK119Z2V0Qnl0ZXMoZSl7Y29uc3QgdD10aGlzLmJ5dGVzLGE9dGhpcy5wb3Mscj10aGlzLmVuZDtpZighZSlyZXR1cm4gdC5zdWJhcnJheShhLHIpO2xldCBpPWErZTtpPnImJihpPXIpO3RoaXMucG9zPWk7cmV0dXJuIHQuc3ViYXJyYXkoYSxpKX1nZXRCeXRlUmFuZ2UoZSx0KXtlPDAmJihlPTApO3Q+dGhpcy5lbmQmJih0PXRoaXMuZW5kKTtyZXR1cm4gdGhpcy5ieXRlcy5zdWJhcnJheShlLHQpfXJlc2V0KCl7dGhpcy5wb3M9dGhpcy5zdGFydH1tb3ZlU3RhcnQoKXt0aGlzLnN0YXJ0PXRoaXMucG9zfW1ha2VTdWJTdHJlYW0oZSx0LGE9bnVsbCl7cmV0dXJuIG5ldyBTdHJlYW0odGhpcy5ieXRlcy5idWZmZXIsZSx0LGEpfX1jbGFzcyBTdHJpbmdTdHJlYW0gZXh0ZW5kcyBTdHJlYW17Y29uc3RydWN0b3IoZSl7c3VwZXIoc3RyaW5nVG9CeXRlcyhlKSl9fWNsYXNzIE51bGxTdHJlYW0gZXh0ZW5kcyBTdHJlYW17Y29uc3RydWN0b3IoKXtzdXBlcihuZXcgVWludDhBcnJheSgwKSl9fWNsYXNzIENodW5rZWRTdHJlYW0gZXh0ZW5kcyBTdHJlYW17Y29uc3RydWN0b3IoZSx0LGEpe3N1cGVyKG5ldyBVaW50OEFycmF5KGUpLDAsZSxudWxsKTt0aGlzLmNodW5rU2l6ZT10O3RoaXMuX2xvYWRlZENodW5rcz1uZXcgU2V0O3RoaXMubnVtQ2h1bmtzPU1hdGguY2VpbChlL3QpO3RoaXMubWFuYWdlcj1hO3RoaXMucHJvZ3Jlc3NpdmVEYXRhTGVuZ3RoPTA7dGhpcy5sYXN0U3VjY2Vzc2Z1bEVuc3VyZUJ5dGVDaHVuaz0tMX1nZXRNaXNzaW5nQ2h1bmtzKCl7Y29uc3QgZT1bXTtmb3IobGV0IHQ9MCxhPXRoaXMubnVtQ2h1bmtzO3Q8YTsrK3QpdGhpcy5fbG9hZGVkQ2h1bmtzLmhhcyh0KXx8ZS5wdXNoKHQpO3JldHVybiBlfWdldCBudW1DaHVua3NMb2FkZWQoKXtyZXR1cm4gdGhpcy5fbG9hZGVkQ2h1bmtzLnNpemV9Z2V0IGlzRGF0YUxvYWRlZCgpe3JldHVybiB0aGlzLm51bUNodW5rc0xvYWRlZD09PXRoaXMubnVtQ2h1bmtzfW9uUmVjZWl2ZURhdGEoZSx0KXtjb25zdCBhPXRoaXMuY2h1bmtTaXplO2lmKGUlYSE9MCl0aHJvdyBuZXcgRXJyb3IoYEJhZCBiZWdpbiBvZmZzZXQ6ICR7ZX1gKTtjb25zdCByPWUrdC5ieXRlTGVuZ3RoO2lmKHIlYSE9MCYmciE9PXRoaXMuYnl0ZXMubGVuZ3RoKXRocm93IG5ldyBFcnJvcihgQmFkIGVuZCBvZmZzZXQ6ICR7cn1gKTt0aGlzLmJ5dGVzLnNldChuZXcgVWludDhBcnJheSh0KSxlKTtjb25zdCBpPU1hdGguZmxvb3IoZS9hKSxuPU1hdGguZmxvb3IoKHItMSkvYSkrMTtmb3IobGV0IGU9aTtlPG47KytlKXRoaXMuX2xvYWRlZENodW5rcy5hZGQoZSl9b25SZWNlaXZlUHJvZ3Jlc3NpdmVEYXRhKGUpe2xldCB0PXRoaXMucHJvZ3Jlc3NpdmVEYXRhTGVuZ3RoO2NvbnN0IGE9TWF0aC5mbG9vcih0L3RoaXMuY2h1bmtTaXplKTt0aGlzLmJ5dGVzLnNldChuZXcgVWludDhBcnJheShlKSx0KTt0Kz1lLmJ5dGVMZW5ndGg7dGhpcy5wcm9ncmVzc2l2ZURhdGFMZW5ndGg9dDtjb25zdCByPXQ+PXRoaXMuZW5kP3RoaXMubnVtQ2h1bmtzOk1hdGguZmxvb3IodC90aGlzLmNodW5rU2l6ZSk7Zm9yKGxldCBlPWE7ZTxyOysrZSl0aGlzLl9sb2FkZWRDaHVua3MuYWRkKGUpfWVuc3VyZUJ5dGUoZSl7aWYoZTx0aGlzLnByb2dyZXNzaXZlRGF0YUxlbmd0aClyZXR1cm47Y29uc3QgdD1NYXRoLmZsb29yKGUvdGhpcy5jaHVua1NpemUpO2lmKCEodD50aGlzLm51bUNodW5rcykmJnQhPT10aGlzLmxhc3RTdWNjZXNzZnVsRW5zdXJlQnl0ZUNodW5rKXtpZighdGhpcy5fbG9hZGVkQ2h1bmtzLmhhcyh0KSl0aHJvdyBuZXcgTWlzc2luZ0RhdGFFeGNlcHRpb24oZSxlKzEpO3RoaXMubGFzdFN1Y2Nlc3NmdWxFbnN1cmVCeXRlQ2h1bms9dH19ZW5zdXJlUmFuZ2UoZSx0KXtpZihlPj10KXJldHVybjtpZih0PD10aGlzLnByb2dyZXNzaXZlRGF0YUxlbmd0aClyZXR1cm47Y29uc3QgYT1NYXRoLmZsb29yKGUvdGhpcy5jaHVua1NpemUpO2lmKGE+dGhpcy5udW1DaHVua3MpcmV0dXJuO2NvbnN0IHI9TWF0aC5taW4oTWF0aC5mbG9vcigodC0xKS90aGlzLmNodW5rU2l6ZSkrMSx0aGlzLm51bUNodW5rcyk7Zm9yKGxldCBpPWE7aTxyOysraSlpZighdGhpcy5fbG9hZGVkQ2h1bmtzLmhhcyhpKSl0aHJvdyBuZXcgTWlzc2luZ0RhdGFFeGNlcHRpb24oZSx0KX1uZXh0RW1wdHlDaHVuayhlKXtjb25zdCB0PXRoaXMubnVtQ2h1bmtzO2ZvcihsZXQgYT0wO2E8dDsrK2Epe2NvbnN0IHI9KGUrYSkldDtpZighdGhpcy5fbG9hZGVkQ2h1bmtzLmhhcyhyKSlyZXR1cm4gcn1yZXR1cm4gbnVsbH1oYXNDaHVuayhlKXtyZXR1cm4gdGhpcy5fbG9hZGVkQ2h1bmtzLmhhcyhlKX1nZXRCeXRlKCl7Y29uc3QgZT10aGlzLnBvcztpZihlPj10aGlzLmVuZClyZXR1cm4tMTtlPj10aGlzLnByb2dyZXNzaXZlRGF0YUxlbmd0aCYmdGhpcy5lbnN1cmVCeXRlKGUpO3JldHVybiB0aGlzLmJ5dGVzW3RoaXMucG9zKytdfWdldEJ5dGVzKGUpe2NvbnN0IHQ9dGhpcy5ieXRlcyxhPXRoaXMucG9zLHI9dGhpcy5lbmQ7aWYoIWUpe3I+dGhpcy5wcm9ncmVzc2l2ZURhdGFMZW5ndGgmJnRoaXMuZW5zdXJlUmFuZ2UoYSxyKTtyZXR1cm4gdC5zdWJhcnJheShhLHIpfWxldCBpPWErZTtpPnImJihpPXIpO2k+dGhpcy5wcm9ncmVzc2l2ZURhdGFMZW5ndGgmJnRoaXMuZW5zdXJlUmFuZ2UoYSxpKTt0aGlzLnBvcz1pO3JldHVybiB0LnN1YmFycmF5KGEsaSl9Z2V0Qnl0ZVJhbmdlKGUsdCl7ZTwwJiYoZT0wKTt0PnRoaXMuZW5kJiYodD10aGlzLmVuZCk7dD50aGlzLnByb2dyZXNzaXZlRGF0YUxlbmd0aCYmdGhpcy5lbnN1cmVSYW5nZShlLHQpO3JldHVybiB0aGlzLmJ5dGVzLnN1YmFycmF5KGUsdCl9bWFrZVN1YlN0cmVhbShlLHQsYT1udWxsKXt0P2UrdD50aGlzLnByb2dyZXNzaXZlRGF0YUxlbmd0aCYmdGhpcy5lbnN1cmVSYW5nZShlLGUrdCk6ZT49dGhpcy5wcm9ncmVzc2l2ZURhdGFMZW5ndGgmJnRoaXMuZW5zdXJlQnl0ZShlKTtmdW5jdGlvbiBDaHVua2VkU3RyZWFtU3Vic3RyZWFtKCl7fUNodW5rZWRTdHJlYW1TdWJzdHJlYW0ucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodGhpcyk7Q2h1bmtlZFN0cmVhbVN1YnN0cmVhbS5wcm90b3R5cGUuZ2V0TWlzc2luZ0NodW5rcz1mdW5jdGlvbigpe2NvbnN0IGU9dGhpcy5jaHVua1NpemUsdD1NYXRoLmZsb29yKHRoaXMuc3RhcnQvZSksYT1NYXRoLmZsb29yKCh0aGlzLmVuZC0xKS9lKSsxLHI9W107Zm9yKGxldCBlPXQ7ZTxhOysrZSl0aGlzLl9sb2FkZWRDaHVua3MuaGFzKGUpfHxyLnB1c2goZSk7cmV0dXJuIHJ9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShDaHVua2VkU3RyZWFtU3Vic3RyZWFtLnByb3RvdHlwZSwiaXNEYXRhTG9hZGVkIix7Z2V0KCl7cmV0dXJuIHRoaXMubnVtQ2h1bmtzTG9hZGVkPT09dGhpcy5udW1DaHVua3N8fDA9PT10aGlzLmdldE1pc3NpbmdDaHVua3MoKS5sZW5ndGh9LGNvbmZpZ3VyYWJsZTohMH0pO2NvbnN0IHI9bmV3IENodW5rZWRTdHJlYW1TdWJzdHJlYW07ci5wb3M9ci5zdGFydD1lO3IuZW5kPWUrdHx8dGhpcy5lbmQ7ci5kaWN0PWE7cmV0dXJuIHJ9Z2V0QmFzZVN0cmVhbXMoKXtyZXR1cm5bdGhpc119fWNsYXNzIENodW5rZWRTdHJlYW1NYW5hZ2Vye2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5sZW5ndGg9dC5sZW5ndGg7dGhpcy5jaHVua1NpemU9dC5yYW5nZUNodW5rU2l6ZTt0aGlzLnN0cmVhbT1uZXcgQ2h1bmtlZFN0cmVhbSh0aGlzLmxlbmd0aCx0aGlzLmNodW5rU2l6ZSx0aGlzKTt0aGlzLnBkZk5ldHdvcmtTdHJlYW09ZTt0aGlzLmRpc2FibGVBdXRvRmV0Y2g9dC5kaXNhYmxlQXV0b0ZldGNoO3RoaXMubXNnSGFuZGxlcj10Lm1zZ0hhbmRsZXI7dGhpcy5jdXJyUmVxdWVzdElkPTA7dGhpcy5fY2h1bmtzTmVlZGVkQnlSZXF1ZXN0PW5ldyBNYXA7dGhpcy5fcmVxdWVzdHNCeUNodW5rPW5ldyBNYXA7dGhpcy5fcHJvbWlzZXNCeVJlcXVlc3Q9bmV3IE1hcDt0aGlzLnByb2dyZXNzaXZlRGF0YUxlbmd0aD0wO3RoaXMuYWJvcnRlZD0hMTt0aGlzLl9sb2FkZWRTdHJlYW1DYXBhYmlsaXR5PVByb21pc2Uud2l0aFJlc29sdmVycygpfXNlbmRSZXF1ZXN0KGUsdCl7Y29uc3QgYT10aGlzLnBkZk5ldHdvcmtTdHJlYW0uZ2V0UmFuZ2VSZWFkZXIoZSx0KTthLmlzU3RyZWFtaW5nU3VwcG9ydGVkfHwoYS5vblByb2dyZXNzPXRoaXMub25Qcm9ncmVzcy5iaW5kKHRoaXMpKTtsZXQgcj1bXSxpPTA7cmV0dXJuIG5ldyBQcm9taXNlKCgoZSx0KT0+e2NvbnN0IHJlYWRDaHVuaz0oe3ZhbHVlOm4sZG9uZTpzfSk9Pnt0cnl7aWYocyl7Y29uc3QgdD1hcnJheUJ1ZmZlcnNUb0J5dGVzKHIpO3I9bnVsbDtlKHQpO3JldHVybn1pKz1uLmJ5dGVMZW5ndGg7YS5pc1N0cmVhbWluZ1N1cHBvcnRlZCYmdGhpcy5vblByb2dyZXNzKHtsb2FkZWQ6aX0pO3IucHVzaChuKTthLnJlYWQoKS50aGVuKHJlYWRDaHVuayx0KX1jYXRjaChlKXt0KGUpfX07YS5yZWFkKCkudGhlbihyZWFkQ2h1bmssdCl9KSkudGhlbigodD0+e3RoaXMuYWJvcnRlZHx8dGhpcy5vblJlY2VpdmVEYXRhKHtjaHVuazp0LGJlZ2luOmV9KX0pKX1yZXF1ZXN0QWxsQ2h1bmtzKGU9ITEpe2lmKCFlKXtjb25zdCBlPXRoaXMuc3RyZWFtLmdldE1pc3NpbmdDaHVua3MoKTt0aGlzLl9yZXF1ZXN0Q2h1bmtzKGUpfXJldHVybiB0aGlzLl9sb2FkZWRTdHJlYW1DYXBhYmlsaXR5LnByb21pc2V9X3JlcXVlc3RDaHVua3MoZSl7Y29uc3QgdD10aGlzLmN1cnJSZXF1ZXN0SWQrKyxhPW5ldyBTZXQ7dGhpcy5fY2h1bmtzTmVlZGVkQnlSZXF1ZXN0LnNldCh0LGEpO2Zvcihjb25zdCB0IG9mIGUpdGhpcy5zdHJlYW0uaGFzQ2h1bmsodCl8fGEuYWRkKHQpO2lmKDA9PT1hLnNpemUpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO2NvbnN0IHI9UHJvbWlzZS53aXRoUmVzb2x2ZXJzKCk7dGhpcy5fcHJvbWlzZXNCeVJlcXVlc3Quc2V0KHQscik7Y29uc3QgaT1bXTtmb3IoY29uc3QgZSBvZiBhKXtsZXQgYT10aGlzLl9yZXF1ZXN0c0J5Q2h1bmsuZ2V0KGUpO2lmKCFhKXthPVtdO3RoaXMuX3JlcXVlc3RzQnlDaHVuay5zZXQoZSxhKTtpLnB1c2goZSl9YS5wdXNoKHQpfWlmKGkubGVuZ3RoPjApe2NvbnN0IGU9dGhpcy5ncm91cENodW5rcyhpKTtmb3IoY29uc3QgdCBvZiBlKXtjb25zdCBlPXQuYmVnaW5DaHVuayp0aGlzLmNodW5rU2l6ZSxhPU1hdGgubWluKHQuZW5kQ2h1bmsqdGhpcy5jaHVua1NpemUsdGhpcy5sZW5ndGgpO3RoaXMuc2VuZFJlcXVlc3QoZSxhKS5jYXRjaChyLnJlamVjdCl9fXJldHVybiByLnByb21pc2UuY2F0Y2goKGU9PntpZighdGhpcy5hYm9ydGVkKXRocm93IGV9KSl9Z2V0U3RyZWFtKCl7cmV0dXJuIHRoaXMuc3RyZWFtfXJlcXVlc3RSYW5nZShlLHQpe3Q9TWF0aC5taW4odCx0aGlzLmxlbmd0aCk7Y29uc3QgYT10aGlzLmdldEJlZ2luQ2h1bmsoZSkscj10aGlzLmdldEVuZENodW5rKHQpLGk9W107Zm9yKGxldCBlPWE7ZTxyOysrZSlpLnB1c2goZSk7cmV0dXJuIHRoaXMuX3JlcXVlc3RDaHVua3MoaSl9cmVxdWVzdFJhbmdlcyhlPVtdKXtjb25zdCB0PVtdO2Zvcihjb25zdCBhIG9mIGUpe2NvbnN0IGU9dGhpcy5nZXRCZWdpbkNodW5rKGEuYmVnaW4pLHI9dGhpcy5nZXRFbmRDaHVuayhhLmVuZCk7Zm9yKGxldCBhPWU7YTxyOysrYSl0LmluY2x1ZGVzKGEpfHx0LnB1c2goYSl9dC5zb3J0KCgoZSx0KT0+ZS10KSk7cmV0dXJuIHRoaXMuX3JlcXVlc3RDaHVua3ModCl9Z3JvdXBDaHVua3MoZSl7Y29uc3QgdD1bXTtsZXQgYT0tMSxyPS0xO2ZvcihsZXQgaT0wLG49ZS5sZW5ndGg7aTxuOysraSl7Y29uc3Qgbj1lW2ldO2E8MCYmKGE9bik7aWYocj49MCYmcisxIT09bil7dC5wdXNoKHtiZWdpbkNodW5rOmEsZW5kQ2h1bms6cisxfSk7YT1ufWkrMT09PWUubGVuZ3RoJiZ0LnB1c2goe2JlZ2luQ2h1bms6YSxlbmRDaHVuazpuKzF9KTtyPW59cmV0dXJuIHR9b25Qcm9ncmVzcyhlKXt0aGlzLm1zZ0hhbmRsZXIuc2VuZCgiRG9jUHJvZ3Jlc3MiLHtsb2FkZWQ6dGhpcy5zdHJlYW0ubnVtQ2h1bmtzTG9hZGVkKnRoaXMuY2h1bmtTaXplK2UubG9hZGVkLHRvdGFsOnRoaXMubGVuZ3RofSl9b25SZWNlaXZlRGF0YShlKXtjb25zdCB0PWUuY2h1bmssYT12b2lkIDA9PT1lLmJlZ2luLHI9YT90aGlzLnByb2dyZXNzaXZlRGF0YUxlbmd0aDplLmJlZ2luLGk9cit0LmJ5dGVMZW5ndGgsbj1NYXRoLmZsb29yKHIvdGhpcy5jaHVua1NpemUpLHM9aTx0aGlzLmxlbmd0aD9NYXRoLmZsb29yKGkvdGhpcy5jaHVua1NpemUpOk1hdGguY2VpbChpL3RoaXMuY2h1bmtTaXplKTtpZihhKXt0aGlzLnN0cmVhbS5vblJlY2VpdmVQcm9ncmVzc2l2ZURhdGEodCk7dGhpcy5wcm9ncmVzc2l2ZURhdGFMZW5ndGg9aX1lbHNlIHRoaXMuc3RyZWFtLm9uUmVjZWl2ZURhdGEocix0KTt0aGlzLnN0cmVhbS5pc0RhdGFMb2FkZWQmJnRoaXMuX2xvYWRlZFN0cmVhbUNhcGFiaWxpdHkucmVzb2x2ZSh0aGlzLnN0cmVhbSk7Y29uc3Qgbz1bXTtmb3IobGV0IGU9bjtlPHM7KytlKXtjb25zdCB0PXRoaXMuX3JlcXVlc3RzQnlDaHVuay5nZXQoZSk7aWYodCl7dGhpcy5fcmVxdWVzdHNCeUNodW5rLmRlbGV0ZShlKTtmb3IoY29uc3QgYSBvZiB0KXtjb25zdCB0PXRoaXMuX2NodW5rc05lZWRlZEJ5UmVxdWVzdC5nZXQoYSk7dC5oYXMoZSkmJnQuZGVsZXRlKGUpO3Quc2l6ZT4wfHxvLnB1c2goYSl9fX1pZighdGhpcy5kaXNhYmxlQXV0b0ZldGNoJiYwPT09dGhpcy5fcmVxdWVzdHNCeUNodW5rLnNpemUpe2xldCBlO2lmKDE9PT10aGlzLnN0cmVhbS5udW1DaHVua3NMb2FkZWQpe2NvbnN0IHQ9dGhpcy5zdHJlYW0ubnVtQ2h1bmtzLTE7dGhpcy5zdHJlYW0uaGFzQ2h1bmsodCl8fChlPXQpfWVsc2UgZT10aGlzLnN0cmVhbS5uZXh0RW1wdHlDaHVuayhzKTtOdW1iZXIuaXNJbnRlZ2VyKGUpJiZ0aGlzLl9yZXF1ZXN0Q2h1bmtzKFtlXSl9Zm9yKGNvbnN0IGUgb2Ygbyl7Y29uc3QgdD10aGlzLl9wcm9taXNlc0J5UmVxdWVzdC5nZXQoZSk7dGhpcy5fcHJvbWlzZXNCeVJlcXVlc3QuZGVsZXRlKGUpO3QucmVzb2x2ZSgpfXRoaXMubXNnSGFuZGxlci5zZW5kKCJEb2NQcm9ncmVzcyIse2xvYWRlZDp0aGlzLnN0cmVhbS5udW1DaHVua3NMb2FkZWQqdGhpcy5jaHVua1NpemUsdG90YWw6dGhpcy5sZW5ndGh9KX1vbkVycm9yKGUpe3RoaXMuX2xvYWRlZFN0cmVhbUNhcGFiaWxpdHkucmVqZWN0KGUpfWdldEJlZ2luQ2h1bmsoZSl7cmV0dXJuIE1hdGguZmxvb3IoZS90aGlzLmNodW5rU2l6ZSl9Z2V0RW5kQ2h1bmsoZSl7cmV0dXJuIE1hdGguZmxvb3IoKGUtMSkvdGhpcy5jaHVua1NpemUpKzF9YWJvcnQoZSl7dGhpcy5hYm9ydGVkPSEwO3RoaXMucGRmTmV0d29ya1N0cmVhbT8uY2FuY2VsQWxsUmVxdWVzdHMoZSk7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fcHJvbWlzZXNCeVJlcXVlc3QudmFsdWVzKCkpdC5yZWplY3QoZSl9fWZ1bmN0aW9uIGNvbnZlcnRUb1JHQkEoZSl7c3dpdGNoKGUua2luZCl7Y2FzZSBrOnJldHVybiBjb252ZXJ0QmxhY2tBbmRXaGl0ZVRvUkdCQShlKTtjYXNlIEM6cmV0dXJuIGZ1bmN0aW9uIGNvbnZlcnRSR0JUb1JHQkEoe3NyYzplLHNyY1Bvczp0PTAsZGVzdDphLGRlc3RQb3M6cj0wLHdpZHRoOmksaGVpZ2h0Om59KXtsZXQgcz0wO2NvbnN0IG89aSpuKjMsYz1vPj4yLGw9bmV3IFVpbnQzMkFycmF5KGUuYnVmZmVyLHQsYyk7aWYoRmVhdHVyZVRlc3QuaXNMaXR0bGVFbmRpYW4pe2Zvcig7czxjLTI7cys9MyxyKz00KXtjb25zdCBlPWxbc10sdD1sW3MrMV0saT1sW3MrMl07YVtyXT00Mjc4MTkwMDgwfGU7YVtyKzFdPWU+Pj4yNHx0PDw4fDQyNzgxOTAwODA7YVtyKzJdPXQ+Pj4xNnxpPDwxNnw0Mjc4MTkwMDgwO2FbciszXT1pPj4+OHw0Mjc4MTkwMDgwfWZvcihsZXQgaT00KnMsbj10K287aTxuO2krPTMpYVtyKytdPWVbaV18ZVtpKzFdPDw4fGVbaSsyXTw8MTZ8NDI3ODE5MDA4MH1lbHNle2Zvcig7czxjLTI7cys9MyxyKz00KXtjb25zdCBlPWxbc10sdD1sW3MrMV0saT1sW3MrMl07YVtyXT0yNTV8ZTthW3IrMV09ZTw8MjR8dD4+Pjh8MjU1O2FbcisyXT10PDwxNnxpPj4+MTZ8MjU1O2FbciszXT1pPDw4fDI1NX1mb3IobGV0IGk9NCpzLG49dCtvO2k8bjtpKz0zKWFbcisrXT1lW2ldPDwyNHxlW2krMV08PDE2fGVbaSsyXTw8OHwyNTV9cmV0dXJue3NyY1Bvczp0K28sZGVzdFBvczpyfX0oZSl9cmV0dXJuIG51bGx9ZnVuY3Rpb24gY29udmVydEJsYWNrQW5kV2hpdGVUb1JHQkEoe3NyYzplLHNyY1Bvczp0PTAsZGVzdDphLHdpZHRoOnIsaGVpZ2h0Omksbm9uQmxhY2tDb2xvcjpuPTQyOTQ5NjcyOTUsaW52ZXJzZURlY29kZTpzPSExfSl7Y29uc3Qgbz1GZWF0dXJlVGVzdC5pc0xpdHRsZUVuZGlhbj80Mjc4MTkwMDgwOjI1NSxbYyxsXT1zP1tuLG9dOltvLG5dLGg9cj4+Myx1PTcmcixkPWUubGVuZ3RoO2E9bmV3IFVpbnQzMkFycmF5KGEuYnVmZmVyKTtsZXQgZj0wO2ZvcihsZXQgcj0wO3I8aTtyKyspe2Zvcihjb25zdCByPXQraDt0PHI7dCsrKXtjb25zdCByPXQ8ZD9lW3RdOjI1NTthW2YrK109MTI4JnI/bDpjO2FbZisrXT02NCZyP2w6YzthW2YrK109MzImcj9sOmM7YVtmKytdPTE2JnI/bDpjO2FbZisrXT04JnI/bDpjO2FbZisrXT00JnI/bDpjO2FbZisrXT0yJnI/bDpjO2FbZisrXT0xJnI/bDpjfWlmKDA9PT11KWNvbnRpbnVlO2NvbnN0IHI9dDxkP2VbdCsrXToyNTU7Zm9yKGxldCBlPTA7ZTx1O2UrKylhW2YrK109ciYxPDw3LWU/bDpjfXJldHVybntzcmNQb3M6dCxkZXN0UG9zOmZ9fWNsYXNzIEltYWdlUmVzaXplcntzdGF0aWMjTz0yMDQ4O3N0YXRpYyNNPUZlYXR1cmVUZXN0LmlzSW1hZ2VEZWNvZGVyU3VwcG9ydGVkO2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5faW1nRGF0YT1lO3RoaXMuX2lzTWFzaz10fXN0YXRpYyBnZXQgY2FuVXNlSW1hZ2VEZWNvZGVyKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJjYW5Vc2VJbWFnZURlY29kZXIiLHRoaXMuI00/SW1hZ2VEZWNvZGVyLmlzVHlwZVN1cHBvcnRlZCgiaW1hZ2UvYm1wIik6UHJvbWlzZS5yZXNvbHZlKCExKSl9c3RhdGljIG5lZWRzVG9CZVJlc2l6ZWQoZSx0KXtpZihlPD10aGlzLiNPJiZ0PD10aGlzLiNPKXJldHVybiExO2NvbnN0e01BWF9ESU06YX09dGhpcztpZihlPmF8fHQ+YSlyZXR1cm4hMDtjb25zdCByPWUqdDtpZih0aGlzLl9oYXNNYXhBcmVhKXJldHVybiByPnRoaXMuTUFYX0FSRUE7aWYocjx0aGlzLiNPKioyKXJldHVybiExO2lmKHRoaXMuX2FyZUdvb2REaW1zKGUsdCkpe3RoaXMuI089TWF0aC5tYXgodGhpcy4jTyxNYXRoLmZsb29yKE1hdGguc3FydChlKnQpKSk7cmV0dXJuITF9dGhpcy4jTz10aGlzLl9ndWVzc01heCh0aGlzLiNPLGEsMTI4LDApO3JldHVybiByPih0aGlzLk1BWF9BUkVBPXRoaXMuI08qKjIpfXN0YXRpYyBnZXRSZWR1Y2VQb3dlckZvckpQWChlLHQsYSl7Y29uc3Qgcj1lKnQsaT0yKiozMC8oNCphKTtpZighdGhpcy5uZWVkc1RvQmVSZXNpemVkKGUsdCkpcmV0dXJuIHI+aT9NYXRoLmNlaWwoTWF0aC5sb2cyKHIvaSkpOjA7Y29uc3R7TUFYX0RJTTpuLE1BWF9BUkVBOnN9PXRoaXMsbz1NYXRoLm1heChlL24sdC9uLE1hdGguc3FydChyL01hdGgubWluKGkscykpKTtyZXR1cm4gTWF0aC5jZWlsKE1hdGgubG9nMihvKSl9c3RhdGljIGdldCBNQVhfRElNKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJNQVhfRElNIix0aGlzLl9ndWVzc01heCgyMDQ4LDY1NTM3LDAsMSkpfXN0YXRpYyBnZXQgTUFYX0FSRUEoKXt0aGlzLl9oYXNNYXhBcmVhPSEwO3JldHVybiBzaGFkb3codGhpcywiTUFYX0FSRUEiLHRoaXMuX2d1ZXNzTWF4KHRoaXMuI08sdGhpcy5NQVhfRElNLDEyOCwwKSoqMil9c3RhdGljIHNldCBNQVhfQVJFQShlKXtpZihlPj0wKXt0aGlzLl9oYXNNYXhBcmVhPSEwO3NoYWRvdyh0aGlzLCJNQVhfQVJFQSIsZSl9fXN0YXRpYyBzZXRPcHRpb25zKHtjYW52YXNNYXhBcmVhSW5CeXRlczplPS0xLGlzSW1hZ2VEZWNvZGVyU3VwcG9ydGVkOnQ9ITF9KXt0aGlzLl9oYXNNYXhBcmVhfHwodGhpcy5NQVhfQVJFQT1lPj4yKTt0aGlzLiNNPXR9c3RhdGljIF9hcmVHb29kRGltcyhlLHQpe3RyeXtjb25zdCBhPW5ldyBPZmZzY3JlZW5DYW52YXMoZSx0KSxyPWEuZ2V0Q29udGV4dCgiMmQiKTtyLmZpbGxSZWN0KDAsMCwxLDEpO2NvbnN0IGk9ci5nZXRJbWFnZURhdGEoMCwwLDEsMSkuZGF0YVszXTthLndpZHRoPWEuaGVpZ2h0PTE7cmV0dXJuIDAhPT1pfWNhdGNoe3JldHVybiExfX1zdGF0aWMgX2d1ZXNzTWF4KGUsdCxhLHIpe2Zvcig7ZSthKzE8dDspe2NvbnN0IGE9TWF0aC5mbG9vcigoZSt0KS8yKSxpPXJ8fGE7dGhpcy5fYXJlR29vZERpbXMoYSxpKT9lPWE6dD1hfXJldHVybiBlfXN0YXRpYyBhc3luYyBjcmVhdGVJbWFnZShlLHQ9ITEpe3JldHVybiBuZXcgSW1hZ2VSZXNpemVyKGUsdCkuX2NyZWF0ZUltYWdlKCl9YXN5bmMgX2NyZWF0ZUltYWdlKCl7Y29uc3R7X2ltZ0RhdGE6ZX09dGhpcyx7d2lkdGg6dCxoZWlnaHQ6YX09ZTtpZih0KmEqND5jYSl7Y29uc3QgZT10aGlzLiNEKCk7aWYoZSlyZXR1cm4gZX1jb25zdCByPXRoaXMuX2VuY29kZUJNUCgpO2xldCBpLG47aWYoYXdhaXQgSW1hZ2VSZXNpemVyLmNhblVzZUltYWdlRGVjb2Rlcil7aT1uZXcgSW1hZ2VEZWNvZGVyKHtkYXRhOnIsdHlwZToiaW1hZ2UvYm1wIixwcmVmZXJBbmltYXRpb246ITEsdHJhbnNmZXI6W3IuYnVmZmVyXX0pO249aS5kZWNvZGUoKS5jYXRjaCgoZT0+e3dhcm4oYEJNUCBpbWFnZSBkZWNvZGluZyBmYWlsZWQ6ICR7ZX1gKTtyZXR1cm4gY3JlYXRlSW1hZ2VCaXRtYXAobmV3IEJsb2IoW3RoaXMuX2VuY29kZUJNUCgpLmJ1ZmZlcl0se3R5cGU6ImltYWdlL2JtcCJ9KSl9KSkuZmluYWxseSgoKCk9PntpLmNsb3NlKCl9KSl9ZWxzZSBuPWNyZWF0ZUltYWdlQml0bWFwKG5ldyBCbG9iKFtyLmJ1ZmZlcl0se3R5cGU6ImltYWdlL2JtcCJ9KSk7Y29uc3R7TUFYX0FSRUE6cyxNQVhfRElNOm99PUltYWdlUmVzaXplcixjPU1hdGgubWF4KHQvbyxhL28sTWF0aC5zcXJ0KHQqYS9zKSksbD1NYXRoLm1heChjLDIpLGg9TWF0aC5yb3VuZCgxMCooYysxLjI1KSkvMTAvbCx1PU1hdGguZmxvb3IoTWF0aC5sb2cyKGgpKSxkPW5ldyBBcnJheSh1KzIpLmZpbGwoMik7ZFswXT1sO2Quc3BsaWNlKC0xLDEsaC8oMTw8dSkpO2xldCBmPXQsZz1hO2NvbnN0IHA9YXdhaXQgbjtsZXQgbT1wLmltYWdlfHxwO2Zvcihjb25zdCBlIG9mIGQpe2NvbnN0IHQ9ZixhPWc7Zj1NYXRoLmZsb29yKGYvZSktMTtnPU1hdGguZmxvb3IoZy9lKS0xO2NvbnN0IHI9bmV3IE9mZnNjcmVlbkNhbnZhcyhmLGcpO3IuZ2V0Q29udGV4dCgiMmQiKS5kcmF3SW1hZ2UobSwwLDAsdCxhLDAsMCxmLGcpO20uY2xvc2UoKTttPXIudHJhbnNmZXJUb0ltYWdlQml0bWFwKCl9ZS5kYXRhPW51bGw7ZS5iaXRtYXA9bTtlLndpZHRoPWY7ZS5oZWlnaHQ9ZztyZXR1cm4gZX0jRCgpe2NvbnN0e19pbWdEYXRhOmV9PXRoaXMse2RhdGE6dCx3aWR0aDphLGhlaWdodDpyLGtpbmQ6aX09ZSxuPWEqcio0LHM9TWF0aC5jZWlsKE1hdGgubG9nMihuL2NhKSksbz1hPj5zLGM9cj4+cztsZXQgbCxoPXI7dHJ5e2w9bmV3IFVpbnQ4QXJyYXkobil9Y2F0Y2h7bGV0IGU9TWF0aC5mbG9vcihNYXRoLmxvZzIobisxKSk7Zm9yKDs7KXRyeXtsPW5ldyBVaW50OEFycmF5KDIqKmUtMSk7YnJlYWt9Y2F0Y2h7ZS09MX1oPU1hdGguZmxvb3IoKDIqKmUtMSkvKDQqYSkpO2NvbnN0IHQ9YSpoKjQ7dDxsLmxlbmd0aCYmKGw9bmV3IFVpbnQ4QXJyYXkodCkpfWNvbnN0IHU9bmV3IFVpbnQzMkFycmF5KGwuYnVmZmVyKSxkPW5ldyBVaW50MzJBcnJheShvKmMpO2xldCBmPTAsZz0wO2NvbnN0IHA9TWF0aC5jZWlsKHIvaCksbT1yJWg9PTA/cjpyJWg7Zm9yKGxldCBlPTA7ZTxwO2UrKyl7Y29uc3Qgcj1lPHAtMT9oOm07KHtzcmNQb3M6Zn09Y29udmVydFRvUkdCQSh7a2luZDppLHNyYzp0LGRlc3Q6dSx3aWR0aDphLGhlaWdodDpyLGludmVyc2VEZWNvZGU6dGhpcy5faXNNYXNrLHNyY1BvczpmfSkpO2ZvcihsZXQgZT0wLHQ9cj4+cztlPHQ7ZSsrKXtjb25zdCB0PXUuc3ViYXJyYXkoKGU8PHMpKmEpO2ZvcihsZXQgZT0wO2U8bztlKyspZFtnKytdPXRbZTw8c119fWlmKEltYWdlUmVzaXplci5uZWVkc1RvQmVSZXNpemVkKG8sYykpe2UuZGF0YT1kO2Uud2lkdGg9bztlLmhlaWdodD1jO2Uua2luZD12O3JldHVybiBudWxsfWNvbnN0IGI9bmV3IE9mZnNjcmVlbkNhbnZhcyhvLGMpO2IuZ2V0Q29udGV4dCgiMmQiLHt3aWxsUmVhZEZyZXF1ZW50bHk6ITB9KS5wdXRJbWFnZURhdGEobmV3IEltYWdlRGF0YShuZXcgVWludDhDbGFtcGVkQXJyYXkoZC5idWZmZXIpLG8sYyksMCwwKTtlLmRhdGE9bnVsbDtlLmJpdG1hcD1iLnRyYW5zZmVyVG9JbWFnZUJpdG1hcCgpO2Uud2lkdGg9bztlLmhlaWdodD1jO3JldHVybiBlfV9lbmNvZGVCTVAoKXtjb25zdHt3aWR0aDplLGhlaWdodDp0LGtpbmQ6YX09dGhpcy5faW1nRGF0YTtsZXQgcixpPXRoaXMuX2ltZ0RhdGEuZGF0YSxuPW5ldyBVaW50OEFycmF5KDApLHM9bixvPTA7c3dpdGNoKGEpe2Nhc2Ugazp7cj0xO249bmV3IFVpbnQ4QXJyYXkodGhpcy5faXNNYXNrP1syNTUsMjU1LDI1NSwyNTUsMCwwLDAsMF06WzAsMCwwLDAsMjU1LDI1NSwyNTUsMjU1XSk7Y29uc3QgYT1lKzc+PjMscz1hKzMmLTQ7aWYoYSE9PXMpe2NvbnN0IGU9bmV3IFVpbnQ4QXJyYXkocyp0KTtsZXQgcj0wO2ZvcihsZXQgbj0wLG89dCphO248bztuKz1hLHIrPXMpZS5zZXQoaS5zdWJhcnJheShuLG4rYSkscik7aT1lfWJyZWFrfWNhc2UgQzpyPTI0O2lmKDMmZSl7Y29uc3QgYT0zKmUscj1hKzMmLTQsbj1yLWEscz1uZXcgVWludDhBcnJheShyKnQpO2xldCBvPTA7Zm9yKGxldCBlPTAscj10KmE7ZTxyO2UrPWEpe2NvbnN0IHQ9aS5zdWJhcnJheShlLGUrYSk7Zm9yKGxldCBlPTA7ZTxhO2UrPTMpe3NbbysrXT10W2UrMl07c1tvKytdPXRbZSsxXTtzW28rK109dFtlXX1vKz1ufWk9c31lbHNlIGZvcihsZXQgZT0wLHQ9aS5sZW5ndGg7ZTx0O2UrPTMpe2NvbnN0IHQ9aVtlXTtpW2VdPWlbZSsyXTtpW2UrMl09dH1icmVhaztjYXNlIHY6cj0zMjtvPTM7cz1uZXcgVWludDhBcnJheSg2OCk7Y29uc3QgYT1uZXcgRGF0YVZpZXcocy5idWZmZXIpO2lmKEZlYXR1cmVUZXN0LmlzTGl0dGxlRW5kaWFuKXthLnNldFVpbnQzMigwLDI1NSwhMCk7YS5zZXRVaW50MzIoNCw2NTI4MCwhMCk7YS5zZXRVaW50MzIoOCwxNjcxMTY4MCwhMCk7YS5zZXRVaW50MzIoMTIsNDI3ODE5MDA4MCwhMCl9ZWxzZXthLnNldFVpbnQzMigwLDQyNzgxOTAwODAsITApO2Euc2V0VWludDMyKDQsMTY3MTE2ODAsITApO2Euc2V0VWludDMyKDgsNjUyODAsITApO2Euc2V0VWludDMyKDEyLDI1NSwhMCl9YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgZm9ybWF0Iil9bGV0IGM9MDtjb25zdCBsPTQwK3MubGVuZ3RoLGg9MTQrbCtuLmxlbmd0aCtpLmxlbmd0aCx1PW5ldyBVaW50OEFycmF5KGgpLGQ9bmV3IERhdGFWaWV3KHUuYnVmZmVyKTtkLnNldFVpbnQxNihjLDE5Nzc4LCEwKTtjKz0yO2Quc2V0VWludDMyKGMsaCwhMCk7Yys9NDtkLnNldFVpbnQzMihjLDAsITApO2MrPTQ7ZC5zZXRVaW50MzIoYywxNCtsK24ubGVuZ3RoLCEwKTtjKz00O2Quc2V0VWludDMyKGMsbCwhMCk7Yys9NDtkLnNldEludDMyKGMsZSwhMCk7Yys9NDtkLnNldEludDMyKGMsLXQsITApO2MrPTQ7ZC5zZXRVaW50MTYoYywxLCEwKTtjKz0yO2Quc2V0VWludDE2KGMsciwhMCk7Yys9MjtkLnNldFVpbnQzMihjLG8sITApO2MrPTQ7ZC5zZXRVaW50MzIoYywwLCEwKTtjKz00O2Quc2V0SW50MzIoYywwLCEwKTtjKz00O2Quc2V0SW50MzIoYywwLCEwKTtjKz00O2Quc2V0VWludDMyKGMsbi5sZW5ndGgvNCwhMCk7Yys9NDtkLnNldFVpbnQzMihjLDAsITApO2MrPTQ7dS5zZXQocyxjKTtjKz1zLmxlbmd0aDt1LnNldChuLGMpO2MrPW4ubGVuZ3RoO3Uuc2V0KGksYyk7cmV0dXJuIHV9fWNvbnN0IHhhPW5ldyBVaW50OEFycmF5KDApO2NsYXNzIERlY29kZVN0cmVhbSBleHRlbmRzIEJhc2VTdHJlYW17Y29uc3RydWN0b3IoZSl7c3VwZXIoKTt0aGlzLl9yYXdNaW5CdWZmZXJMZW5ndGg9ZXx8MDt0aGlzLnBvcz0wO3RoaXMuYnVmZmVyTGVuZ3RoPTA7dGhpcy5lb2Y9ITE7dGhpcy5idWZmZXI9eGE7dGhpcy5taW5CdWZmZXJMZW5ndGg9NTEyO2lmKGUpZm9yKDt0aGlzLm1pbkJ1ZmZlckxlbmd0aDxlOyl0aGlzLm1pbkJ1ZmZlckxlbmd0aCo9Mn1nZXQgaXNFbXB0eSgpe2Zvcig7IXRoaXMuZW9mJiYwPT09dGhpcy5idWZmZXJMZW5ndGg7KXRoaXMucmVhZEJsb2NrKCk7cmV0dXJuIDA9PT10aGlzLmJ1ZmZlckxlbmd0aH1lbnN1cmVCdWZmZXIoZSl7Y29uc3QgdD10aGlzLmJ1ZmZlcjtpZihlPD10LmJ5dGVMZW5ndGgpcmV0dXJuIHQ7bGV0IGE9dGhpcy5taW5CdWZmZXJMZW5ndGg7Zm9yKDthPGU7KWEqPTI7Y29uc3Qgcj1uZXcgVWludDhBcnJheShhKTtyLnNldCh0KTtyZXR1cm4gdGhpcy5idWZmZXI9cn1nZXRCeXRlKCl7Y29uc3QgZT10aGlzLnBvcztmb3IoO3RoaXMuYnVmZmVyTGVuZ3RoPD1lOyl7aWYodGhpcy5lb2YpcmV0dXJuLTE7dGhpcy5yZWFkQmxvY2soKX1yZXR1cm4gdGhpcy5idWZmZXJbdGhpcy5wb3MrK119Z2V0Qnl0ZXMoZSx0PW51bGwpe2NvbnN0IGE9dGhpcy5wb3M7bGV0IHI7aWYoZSl7dGhpcy5lbnN1cmVCdWZmZXIoYStlKTtyPWErZTtmb3IoOyF0aGlzLmVvZiYmdGhpcy5idWZmZXJMZW5ndGg8cjspdGhpcy5yZWFkQmxvY2sodCk7Y29uc3QgaT10aGlzLmJ1ZmZlckxlbmd0aDtyPmkmJihyPWkpfWVsc2V7Zm9yKDshdGhpcy5lb2Y7KXRoaXMucmVhZEJsb2NrKHQpO3I9dGhpcy5idWZmZXJMZW5ndGh9dGhpcy5wb3M9cjtyZXR1cm4gdGhpcy5idWZmZXIuc3ViYXJyYXkoYSxyKX1hc3luYyBnZXRJbWFnZURhdGEoZSx0KXtpZighdGhpcy5jYW5Bc3luY0RlY29kZUltYWdlRnJvbUJ1ZmZlcilyZXR1cm4gdGhpcy5pc0FzeW5jRGVjb2Rlcj90aGlzLmRlY29kZUltYWdlKG51bGwsdCk6dGhpcy5nZXRCeXRlcyhlLHQpO2NvbnN0IGE9YXdhaXQgdGhpcy5zdHJlYW0uYXN5bmNHZXRCeXRlcygpO3JldHVybiB0aGlzLmRlY29kZUltYWdlKGEsdCl9cmVzZXQoKXt0aGlzLnBvcz0wfW1ha2VTdWJTdHJlYW0oZSx0LGE9bnVsbCl7aWYodm9pZCAwPT09dClmb3IoOyF0aGlzLmVvZjspdGhpcy5yZWFkQmxvY2soKTtlbHNle2NvbnN0IGE9ZSt0O2Zvcig7dGhpcy5idWZmZXJMZW5ndGg8PWEmJiF0aGlzLmVvZjspdGhpcy5yZWFkQmxvY2soKX1yZXR1cm4gbmV3IFN0cmVhbSh0aGlzLmJ1ZmZlcixlLHQsYSl9Z2V0QmFzZVN0cmVhbXMoKXtyZXR1cm4gdGhpcy5zdHI/dGhpcy5zdHIuZ2V0QmFzZVN0cmVhbXMoKTpudWxsfX1jbGFzcyBTdHJlYW1zU2VxdWVuY2VTdHJlYW0gZXh0ZW5kcyBEZWNvZGVTdHJlYW17Y29uc3RydWN0b3IoZSx0PW51bGwpe2U9ZS5maWx0ZXIoKGU9PmUgaW5zdGFuY2VvZiBCYXNlU3RyZWFtKSk7bGV0IGE9MDtmb3IoY29uc3QgdCBvZiBlKWErPXQgaW5zdGFuY2VvZiBEZWNvZGVTdHJlYW0/dC5fcmF3TWluQnVmZmVyTGVuZ3RoOnQubGVuZ3RoO3N1cGVyKGEpO3RoaXMuc3RyZWFtcz1lO3RoaXMuX29uRXJyb3I9dH1yZWFkQmxvY2soKXtjb25zdCBlPXRoaXMuc3RyZWFtcztpZigwPT09ZS5sZW5ndGgpe3RoaXMuZW9mPSEwO3JldHVybn1jb25zdCB0PWUuc2hpZnQoKTtsZXQgYTt0cnl7YT10LmdldEJ5dGVzKCl9Y2F0Y2goZSl7aWYodGhpcy5fb25FcnJvcil7dGhpcy5fb25FcnJvcihlLHQuZGljdD8ub2JqSWQpO3JldHVybn10aHJvdyBlfWNvbnN0IHI9dGhpcy5idWZmZXJMZW5ndGgsaT1yK2EubGVuZ3RoO3RoaXMuZW5zdXJlQnVmZmVyKGkpLnNldChhLHIpO3RoaXMuYnVmZmVyTGVuZ3RoPWl9Z2V0QmFzZVN0cmVhbXMoKXtjb25zdCBlPVtdO2Zvcihjb25zdCB0IG9mIHRoaXMuc3RyZWFtcyl7Y29uc3QgYT10LmdldEJhc2VTdHJlYW1zKCk7YSYmZS5wdXNoKC4uLmEpfXJldHVybiBlLmxlbmd0aD4wP2U6bnVsbH19Y2xhc3MgQ29sb3JTcGFjZVV0aWxze3N0YXRpYyBwYXJzZSh7Y3M6ZSx4cmVmOnQscmVzb3VyY2VzOmE9bnVsbCxwZGZGdW5jdGlvbkZhY3Rvcnk6cixnbG9iYWxDb2xvclNwYWNlQ2FjaGU6aSxsb2NhbENvbG9yU3BhY2VDYWNoZTpuLGFzeW5jSWZOb3RDYWNoZWQ6cz0hMX0pe2NvbnN0IG89e3hyZWY6dCxyZXNvdXJjZXM6YSxwZGZGdW5jdGlvbkZhY3Rvcnk6cixnbG9iYWxDb2xvclNwYWNlQ2FjaGU6aSxsb2NhbENvbG9yU3BhY2VDYWNoZTpufTtsZXQgYyxsLGg7aWYoZSBpbnN0YW5jZW9mIFJlZil7bD1lO2NvbnN0IGE9aS5nZXRCeVJlZihsKXx8bi5nZXRCeVJlZihsKTtpZihhKXJldHVybiBhO2U9dC5mZXRjaChlKX1pZihlIGluc3RhbmNlb2YgTmFtZSl7Yz1lLm5hbWU7Y29uc3QgdD1uLmdldEJ5TmFtZShjKTtpZih0KXJldHVybiB0fXRyeXtoPXRoaXMuI0IoZSxvKX1jYXRjaChlKXtpZihzJiYhKGUgaW5zdGFuY2VvZiBNaXNzaW5nRGF0YUV4Y2VwdGlvbikpcmV0dXJuIFByb21pc2UucmVqZWN0KGUpO3Rocm93IGV9aWYoY3x8bCl7bi5zZXQoYyxsLGgpO2wmJmkuc2V0KG51bGwsbCxoKX1yZXR1cm4gcz9Qcm9taXNlLnJlc29sdmUoaCk6aH1zdGF0aWMjUihlLHQpe2NvbnN0e2dsb2JhbENvbG9yU3BhY2VDYWNoZTphfT10O2xldCByO2lmKGUgaW5zdGFuY2VvZiBSZWYpe3I9ZTtjb25zdCB0PWEuZ2V0QnlSZWYocik7aWYodClyZXR1cm4gdH1jb25zdCBpPXRoaXMuI0IoZSx0KTtyJiZhLnNldChudWxsLHIsaSk7cmV0dXJuIGl9c3RhdGljI0IoZSx0KXtjb25zdHt4cmVmOmEscmVzb3VyY2VzOnIscGRmRnVuY3Rpb25GYWN0b3J5OmksZ2xvYmFsQ29sb3JTcGFjZUNhY2hlOm59PXQ7aWYoKGU9YS5mZXRjaElmUmVmKGUpKWluc3RhbmNlb2YgTmFtZSlzd2l0Y2goZS5uYW1lKXtjYXNlIkciOmNhc2UiRGV2aWNlR3JheSI6cmV0dXJuIHRoaXMuZ3JheTtjYXNlIlJHQiI6Y2FzZSJEZXZpY2VSR0IiOnJldHVybiB0aGlzLnJnYjtjYXNlIkRldmljZVJHQkEiOnJldHVybiB0aGlzLnJnYmE7Y2FzZSJDTVlLIjpjYXNlIkRldmljZUNNWUsiOnJldHVybiB0aGlzLmNteWs7Y2FzZSJQYXR0ZXJuIjpyZXR1cm4gbmV3IFBhdHRlcm5DUyhudWxsKTtkZWZhdWx0OmlmKHIgaW5zdGFuY2VvZiBEaWN0KXtjb25zdCBhPXIuZ2V0KCJDb2xvclNwYWNlIik7aWYoYSBpbnN0YW5jZW9mIERpY3Qpe2NvbnN0IHI9YS5nZXQoZS5uYW1lKTtpZihyKXtpZihyIGluc3RhbmNlb2YgTmFtZSlyZXR1cm4gdGhpcy4jQihyLHQpO2U9cjticmVha319fXdhcm4oYFVucmVjb2duaXplZCBDb2xvclNwYWNlOiAke2UubmFtZX1gKTtyZXR1cm4gdGhpcy5ncmF5fWlmKEFycmF5LmlzQXJyYXkoZSkpe2NvbnN0IHI9YS5mZXRjaElmUmVmKGVbMF0pLm5hbWU7bGV0IHMsbyxjLGwsaCx1O3N3aXRjaChyKXtjYXNlIkciOmNhc2UiRGV2aWNlR3JheSI6cmV0dXJuIHRoaXMuZ3JheTtjYXNlIlJHQiI6Y2FzZSJEZXZpY2VSR0IiOnJldHVybiB0aGlzLnJnYjtjYXNlIkNNWUsiOmNhc2UiRGV2aWNlQ01ZSyI6cmV0dXJuIHRoaXMuY215aztjYXNlIkNhbEdyYXkiOnM9YS5mZXRjaElmUmVmKGVbMV0pO2w9cy5nZXRBcnJheSgiV2hpdGVQb2ludCIpO2g9cy5nZXRBcnJheSgiQmxhY2tQb2ludCIpO3U9cy5nZXQoIkdhbW1hIik7cmV0dXJuIG5ldyBDYWxHcmF5Q1MobCxoLHUpO2Nhc2UiQ2FsUkdCIjpzPWEuZmV0Y2hJZlJlZihlWzFdKTtsPXMuZ2V0QXJyYXkoIldoaXRlUG9pbnQiKTtoPXMuZ2V0QXJyYXkoIkJsYWNrUG9pbnQiKTt1PXMuZ2V0QXJyYXkoIkdhbW1hIik7Y29uc3QgZD1zLmdldEFycmF5KCJNYXRyaXgiKTtyZXR1cm4gbmV3IENhbFJHQkNTKGwsaCx1LGQpO2Nhc2UiSUNDQmFzZWQiOmNvbnN0IGY9ZVsxXWluc3RhbmNlb2YgUmVmO2lmKGYpe2NvbnN0IHQ9bi5nZXRCeVJlZihlWzFdKTtpZih0KXJldHVybiB0fWNvbnN0IGc9YS5mZXRjaElmUmVmKGVbMV0pLHA9Zy5kaWN0O289cC5nZXQoIk4iKTtpZihJY2NDb2xvclNwYWNlLmlzVXNhYmxlKXRyeXtjb25zdCB0PW5ldyBJY2NDb2xvclNwYWNlKGcuZ2V0Qnl0ZXMoKSwiSUNDQmFzZWQiLG8pO2YmJm4uc2V0KG51bGwsZVsxXSx0KTtyZXR1cm4gdH1jYXRjaCh0KXtpZih0IGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pdGhyb3cgdDt3YXJuKGBJQ0NCYXNlZCBjb2xvciBzcGFjZSAoJHtlWzFdfSk6ICIke3R9Ii5gKX1jb25zdCBtPXAuZ2V0UmF3KCJBbHRlcm5hdGUiKTtpZihtKXtjb25zdCBlPXRoaXMuI1IobSx0KTtpZihlLm51bUNvbXBzPT09bylyZXR1cm4gZTt3YXJuKCJJQ0NCYXNlZCBjb2xvciBzcGFjZTogSWdub3JpbmcgaW5jb3JyZWN0IC9BbHRlcm5hdGUgZW50cnkuIil9aWYoMT09PW8pcmV0dXJuIHRoaXMuZ3JheTtpZigzPT09bylyZXR1cm4gdGhpcy5yZ2I7aWYoND09PW8pcmV0dXJuIHRoaXMuY215azticmVhaztjYXNlIlBhdHRlcm4iOmM9ZVsxXXx8bnVsbDtjJiYoYz10aGlzLiNSKGMsdCkpO3JldHVybiBuZXcgUGF0dGVybkNTKGMpO2Nhc2UiSSI6Y2FzZSJJbmRleGVkIjpjPXRoaXMuI1IoZVsxXSx0KTtjb25zdCBiPU1hdGhDbGFtcChhLmZldGNoSWZSZWYoZVsyXSksMCwyNTUpLHk9YS5mZXRjaElmUmVmKGVbM10pO3JldHVybiBuZXcgSW5kZXhlZENTKGMsYix5KTtjYXNlIlNlcGFyYXRpb24iOmNhc2UiRGV2aWNlTiI6Y29uc3Qgdz1hLmZldGNoSWZSZWYoZVsxXSk7bz1BcnJheS5pc0FycmF5KHcpP3cubGVuZ3RoOjE7Yz10aGlzLiNSKGVbMl0sdCk7Y29uc3QgeD1pLmNyZWF0ZShlWzNdKTtyZXR1cm4gbmV3IEFsdGVybmF0ZUNTKG8sYyx4KTtjYXNlIkxhYiI6cz1hLmZldGNoSWZSZWYoZVsxXSk7bD1zLmdldEFycmF5KCJXaGl0ZVBvaW50Iik7aD1zLmdldEFycmF5KCJCbGFja1BvaW50Iik7Y29uc3QgUz1zLmdldEFycmF5KCJSYW5nZSIpO3JldHVybiBuZXcgTGFiQ1MobCxoLFMpO2RlZmF1bHQ6d2FybihgVW5pbXBsZW1lbnRlZCBDb2xvclNwYWNlIG9iamVjdDogJHtyfWApO3JldHVybiB0aGlzLmdyYXl9fXdhcm4oYFVucmVjb2duaXplZCBDb2xvclNwYWNlIG9iamVjdDogJHtlfWApO3JldHVybiB0aGlzLmdyYXl9c3RhdGljIGdldCBncmF5KCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJncmF5IixuZXcgRGV2aWNlR3JheUNTKX1zdGF0aWMgZ2V0IHJnYigpe3JldHVybiBzaGFkb3codGhpcywicmdiIixuZXcgRGV2aWNlUmdiQ1MpfXN0YXRpYyBnZXQgcmdiYSgpe3JldHVybiBzaGFkb3codGhpcywicmdiYSIsbmV3IERldmljZVJnYmFDUyl9c3RhdGljIGdldCBjbXlrKCl7aWYoQ215a0lDQ0Jhc2VkQ1MuaXNVc2FibGUpdHJ5e3JldHVybiBzaGFkb3codGhpcywiY215ayIsbmV3IENteWtJQ0NCYXNlZENTKX1jYXRjaHt3YXJuKCJDTVlLIGZhbGxiYWNrOiBEZXZpY2VDTVlLIil9cmV0dXJuIHNoYWRvdyh0aGlzLCJjbXlrIixuZXcgRGV2aWNlQ215a0NTKX19Y2xhc3MgSnBlZ0Vycm9yIGV4dGVuZHMgSnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSwiSnBlZ0Vycm9yIil9fWNsYXNzIEROTE1hcmtlckVycm9yIGV4dGVuZHMgSnR7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLCJETkxNYXJrZXJFcnJvciIpO3RoaXMuc2NhbkxpbmVzPXR9fWNsYXNzIEVPSU1hcmtlckVycm9yIGV4dGVuZHMgSnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSwiRU9JTWFya2VyRXJyb3IiKX19Y29uc3QgU2E9bmV3IFVpbnQ4QXJyYXkoWzAsMSw4LDE2LDksMiwzLDEwLDE3LDI0LDMyLDI1LDE4LDExLDQsNSwxMiwxOSwyNiwzMyw0MCw0OCw0MSwzNCwyNywyMCwxMyw2LDcsMTQsMjEsMjgsMzUsNDIsNDksNTYsNTcsNTAsNDMsMzYsMjksMjIsMTUsMjMsMzAsMzcsNDQsNTEsNTgsNTksNTIsNDUsMzgsMzEsMzksNDYsNTMsNjAsNjEsNTQsNDcsNTUsNjIsNjNdKSxBYT00MDE3LGthPTc5OSxDYT0zNDA2LHZhPTIyNzYsRmE9MTU2NyxJYT0zNzg0LFRhPTU3OTMsT2E9Mjg5NjtmdW5jdGlvbiBidWlsZEh1ZmZtYW5UYWJsZShlLHQpe2xldCBhLHIsaT0wLG49MTY7Zm9yKDtuPjAmJiFlW24tMV07KW4tLTtjb25zdCBzPVt7Y2hpbGRyZW46W10saW5kZXg6MH1dO2xldCBvLGM9c1swXTtmb3IoYT0wO2E8bjthKyspe2ZvcihyPTA7cjxlW2FdO3IrKyl7Yz1zLnBvcCgpO2MuY2hpbGRyZW5bYy5pbmRleF09dFtpXTtmb3IoO2MuaW5kZXg+MDspYz1zLnBvcCgpO2MuaW5kZXgrKztzLnB1c2goYyk7Zm9yKDtzLmxlbmd0aDw9YTspe3MucHVzaChvPXtjaGlsZHJlbjpbXSxpbmRleDowfSk7Yy5jaGlsZHJlbltjLmluZGV4XT1vLmNoaWxkcmVuO2M9b31pKyt9aWYoYSsxPG4pe3MucHVzaChvPXtjaGlsZHJlbjpbXSxpbmRleDowfSk7Yy5jaGlsZHJlbltjLmluZGV4XT1vLmNoaWxkcmVuO2M9b319cmV0dXJuIHNbMF0uY2hpbGRyZW59ZnVuY3Rpb24gZ2V0QmxvY2tCdWZmZXJPZmZzZXQoZSx0LGEpe3JldHVybiA2NCooKGUuYmxvY2tzUGVyTGluZSsxKSp0K2EpfWZ1bmN0aW9uIGRlY29kZVNjYW4oZSx0LGEscixpLG4scyxvLGMsbD0hMSl7Y29uc3QgaD1hLm1jdXNQZXJMaW5lLHU9YS5wcm9ncmVzc2l2ZSxkPXQ7bGV0IGY9MCxnPTA7ZnVuY3Rpb24gcmVhZEJpdCgpe2lmKGc+MCl7Zy0tO3JldHVybiBmPj5nJjF9Zj1lW3QrK107aWYoMjU1PT09Zil7Y29uc3Qgcj1lW3QrK107aWYocil7aWYoMjIwPT09ciYmbCl7Y29uc3Qgcj1yZWFkVWludDE2KGUsdCs9Mik7dCs9MjtpZihyPjAmJnIhPT1hLnNjYW5MaW5lcyl0aHJvdyBuZXcgRE5MTWFya2VyRXJyb3IoIkZvdW5kIEROTCBtYXJrZXIgKDB4RkZEQykgd2hpbGUgcGFyc2luZyBzY2FuIGRhdGEiLHIpfWVsc2UgaWYoMjE3PT09cil7aWYobCl7Y29uc3QgZT15Kig4PT09YS5wcmVjaXNpb24/ODowKTtpZihlPjAmJk1hdGgucm91bmQoYS5zY2FuTGluZXMvZSk+PTUpdGhyb3cgbmV3IEROTE1hcmtlckVycm9yKCJGb3VuZCBFT0kgbWFya2VyICgweEZGRDkpIHdoaWxlIHBhcnNpbmcgc2NhbiBkYXRhLCBwb3NzaWJseSBjYXVzZWQgYnkgaW5jb3JyZWN0IGBzY2FuTGluZXNgIHBhcmFtZXRlciIsZSl9dGhyb3cgbmV3IEVPSU1hcmtlckVycm9yKCJGb3VuZCBFT0kgbWFya2VyICgweEZGRDkpIHdoaWxlIHBhcnNpbmcgc2NhbiBkYXRhIil9dGhyb3cgbmV3IEpwZWdFcnJvcihgdW5leHBlY3RlZCBtYXJrZXIgJHsoZjw8OHxyKS50b1N0cmluZygxNil9YCl9fWc9NztyZXR1cm4gZj4+Pjd9ZnVuY3Rpb24gZGVjb2RlSHVmZm1hbihlKXtsZXQgdD1lO2Zvcig7Oyl7dD10W3JlYWRCaXQoKV07c3dpdGNoKHR5cGVvZiB0KXtjYXNlIm51bWJlciI6cmV0dXJuIHQ7Y2FzZSJvYmplY3QiOmNvbnRpbnVlfXRocm93IG5ldyBKcGVnRXJyb3IoImludmFsaWQgaHVmZm1hbiBzZXF1ZW5jZSIpfX1mdW5jdGlvbiByZWNlaXZlKGUpe2xldCB0PTA7Zm9yKDtlPjA7KXt0PXQ8PDF8cmVhZEJpdCgpO2UtLX1yZXR1cm4gdH1mdW5jdGlvbiByZWNlaXZlQW5kRXh0ZW5kKGUpe2lmKDE9PT1lKXJldHVybiAxPT09cmVhZEJpdCgpPzE6LTE7Y29uc3QgdD1yZWNlaXZlKGUpO3JldHVybiB0Pj0xPDxlLTE/dDp0KygtMTw8ZSkrMX1sZXQgcD0wO2xldCBtLGI9MDtsZXQgeT0wO2Z1bmN0aW9uIGRlY29kZU1jdShlLHQsYSxyLGkpe2NvbnN0IG49YSVoO3k9KGEvaHwwKSplLnYrcjtjb25zdCBzPW4qZS5oK2k7dChlLGdldEJsb2NrQnVmZmVyT2Zmc2V0KGUseSxzKSl9ZnVuY3Rpb24gZGVjb2RlQmxvY2soZSx0LGEpe3k9YS9lLmJsb2Nrc1BlckxpbmV8MDtjb25zdCByPWElZS5ibG9ja3NQZXJMaW5lO3QoZSxnZXRCbG9ja0J1ZmZlck9mZnNldChlLHkscikpfWNvbnN0IHc9ci5sZW5ndGg7bGV0IHgsUyxrLEMsdixGO0Y9dT8wPT09bj8wPT09bz9mdW5jdGlvbiBkZWNvZGVEQ0ZpcnN0KGUsdCl7Y29uc3QgYT1kZWNvZGVIdWZmbWFuKGUuaHVmZm1hblRhYmxlREMpLHI9MD09PWE/MDpyZWNlaXZlQW5kRXh0ZW5kKGEpPDxjO2UuYmxvY2tEYXRhW3RdPWUucHJlZCs9cn06ZnVuY3Rpb24gZGVjb2RlRENTdWNjZXNzaXZlKGUsdCl7ZS5ibG9ja0RhdGFbdF18PXJlYWRCaXQoKTw8Y306MD09PW8/ZnVuY3Rpb24gZGVjb2RlQUNGaXJzdChlLHQpe2lmKHA+MCl7cC0tO3JldHVybn1sZXQgYT1uO2NvbnN0IHI9cztmb3IoO2E8PXI7KXtjb25zdCByPWRlY29kZUh1ZmZtYW4oZS5odWZmbWFuVGFibGVBQyksaT0xNSZyLG49cj4+NDtpZigwPT09aSl7aWYobjwxNSl7cD1yZWNlaXZlKG4pKygxPDxuKS0xO2JyZWFrfWErPTE2O2NvbnRpbnVlfWErPW47Y29uc3Qgcz1TYVthXTtlLmJsb2NrRGF0YVt0K3NdPXJlY2VpdmVBbmRFeHRlbmQoaSkqKDE8PGMpO2ErK319OmZ1bmN0aW9uIGRlY29kZUFDU3VjY2Vzc2l2ZShlLHQpe2xldCBhPW47Y29uc3Qgcj1zO2xldCBpLG8sbD0wO2Zvcig7YTw9cjspe2NvbnN0IHI9dCtTYVthXSxuPWUuYmxvY2tEYXRhW3JdPDA/LTE6MTtzd2l0Y2goYil7Y2FzZSAwOm89ZGVjb2RlSHVmZm1hbihlLmh1ZmZtYW5UYWJsZUFDKTtpPTE1Jm87bD1vPj40O2lmKDA9PT1pKWlmKGw8MTUpe3A9cmVjZWl2ZShsKSsoMTw8bCk7Yj00fWVsc2V7bD0xNjtiPTF9ZWxzZXtpZigxIT09aSl0aHJvdyBuZXcgSnBlZ0Vycm9yKCJpbnZhbGlkIEFDbiBlbmNvZGluZyIpO209cmVjZWl2ZUFuZEV4dGVuZChpKTtiPWw/MjozfWNvbnRpbnVlO2Nhc2UgMTpjYXNlIDI6aWYoZS5ibG9ja0RhdGFbcl0pZS5ibG9ja0RhdGFbcl0rPW4qKHJlYWRCaXQoKTw8Yyk7ZWxzZXtsLS07MD09PWwmJihiPTI9PT1iPzM6MCl9YnJlYWs7Y2FzZSAzOmlmKGUuYmxvY2tEYXRhW3JdKWUuYmxvY2tEYXRhW3JdKz1uKihyZWFkQml0KCk8PGMpO2Vsc2V7ZS5ibG9ja0RhdGFbcl09bTw8YztiPTB9YnJlYWs7Y2FzZSA0OmUuYmxvY2tEYXRhW3JdJiYoZS5ibG9ja0RhdGFbcl0rPW4qKHJlYWRCaXQoKTw8YykpfWErK31pZig0PT09Yil7cC0tOzA9PT1wJiYoYj0wKX19OmZ1bmN0aW9uIGRlY29kZUJhc2VsaW5lKGUsdCl7Y29uc3QgYT1kZWNvZGVIdWZmbWFuKGUuaHVmZm1hblRhYmxlREMpLHI9MD09PWE/MDpyZWNlaXZlQW5kRXh0ZW5kKGEpO2UuYmxvY2tEYXRhW3RdPWUucHJlZCs9cjtsZXQgaT0xO2Zvcig7aTw2NDspe2NvbnN0IGE9ZGVjb2RlSHVmZm1hbihlLmh1ZmZtYW5UYWJsZUFDKSxyPTE1JmEsbj1hPj40O2lmKDA9PT1yKXtpZihuPDE1KWJyZWFrO2krPTE2O2NvbnRpbnVlfWkrPW47Y29uc3Qgcz1TYVtpXTtlLmJsb2NrRGF0YVt0K3NdPXJlY2VpdmVBbmRFeHRlbmQocik7aSsrfX07bGV0IFQsTz0wO2NvbnN0IE09MT09PXc/clswXS5ibG9ja3NQZXJMaW5lKnJbMF0uYmxvY2tzUGVyQ29sdW1uOmgqYS5tY3VzUGVyQ29sdW1uO2xldCBELFI7Zm9yKDtPPD1NOyl7Y29uc3QgYT1pP01hdGgubWluKE0tTyxpKTpNO2lmKGE+MCl7Zm9yKFM9MDtTPHc7UysrKXJbU10ucHJlZD0wO3A9MDtpZigxPT09dyl7eD1yWzBdO2Zvcih2PTA7djxhO3YrKyl7ZGVjb2RlQmxvY2soeCxGLE8pO08rK319ZWxzZSBmb3Iodj0wO3Y8YTt2Kyspe2ZvcihTPTA7Uzx3O1MrKyl7eD1yW1NdO0Q9eC5oO1I9eC52O2ZvcihrPTA7azxSO2srKylmb3IoQz0wO0M8RDtDKyspZGVjb2RlTWN1KHgsRixPLGssQyl9TysrfX1nPTA7VD1maW5kTmV4dEZpbGVNYXJrZXIoZSx0KTtpZighVClicmVhaztpZihULmludmFsaWQpe3dhcm4oYGRlY29kZVNjYW4gLSAke2E+MD8idW5leHBlY3RlZCI6ImV4Y2Vzc2l2ZSJ9IE1DVSBkYXRhLCBjdXJyZW50IG1hcmtlciBpczogJHtULmludmFsaWR9YCk7dD1ULm9mZnNldH1pZighKFQubWFya2VyPj02NTQ4OCYmVC5tYXJrZXI8PTY1NDk1KSlicmVhazt0Kz0yfXJldHVybiB0LWR9ZnVuY3Rpb24gcXVhbnRpemVBbmRJbnZlcnNlKGUsdCxhKXtjb25zdCByPWUucXVhbnRpemF0aW9uVGFibGUsaT1lLmJsb2NrRGF0YTtsZXQgbixzLG8sYyxsLGgsdSxkLGYsZyxwLG0sYix5LHcseCxTO2lmKCFyKXRocm93IG5ldyBKcGVnRXJyb3IoIm1pc3NpbmcgcmVxdWlyZWQgUXVhbnRpemF0aW9uIFRhYmxlLiIpO2ZvcihsZXQgZT0wO2U8NjQ7ZSs9OCl7Zj1pW3QrZV07Zz1pW3QrZSsxXTtwPWlbdCtlKzJdO209aVt0K2UrM107Yj1pW3QrZSs0XTt5PWlbdCtlKzVdO3c9aVt0K2UrNl07eD1pW3QrZSs3XTtmKj1yW2VdO2lmKGd8cHxtfGJ8eXx3fHgpe2cqPXJbZSsxXTtwKj1yW2UrMl07bSo9cltlKzNdO2IqPXJbZSs0XTt5Kj1yW2UrNV07dyo9cltlKzZdO3gqPXJbZSs3XTtuPVRhKmYrMTI4Pj44O3M9VGEqYisxMjg+Pjg7bz1wO2M9dztsPU9hKihnLXgpKzEyOD4+ODtkPU9hKihnK3gpKzEyOD4+ODtoPW08PDQ7dT15PDw0O249bitzKzE+PjE7cz1uLXM7Uz1vKklhK2MqRmErMTI4Pj44O289bypGYS1jKklhKzEyOD4+ODtjPVM7bD1sK3UrMT4+MTt1PWwtdTtkPWQraCsxPj4xO2g9ZC1oO249bitjKzE+PjE7Yz1uLWM7cz1zK28rMT4+MTtvPXMtbztTPWwqdmErZCpDYSsyMDQ4Pj4xMjtsPWwqQ2EtZCp2YSsyMDQ4Pj4xMjtkPVM7Uz1oKmthK3UqQWErMjA0OD4+MTI7aD1oKkFhLXUqa2ErMjA0OD4+MTI7dT1TO2FbZV09bitkO2FbZSs3XT1uLWQ7YVtlKzFdPXMrdTthW2UrNl09cy11O2FbZSsyXT1vK2g7YVtlKzVdPW8taDthW2UrM109YytsO2FbZSs0XT1jLWx9ZWxzZXtTPVRhKmYrNTEyPj4xMDthW2VdPVM7YVtlKzFdPVM7YVtlKzJdPVM7YVtlKzNdPVM7YVtlKzRdPVM7YVtlKzVdPVM7YVtlKzZdPVM7YVtlKzddPVN9fWZvcihsZXQgZT0wO2U8ODsrK2Upe2Y9YVtlXTtnPWFbZSs4XTtwPWFbZSsxNl07bT1hW2UrMjRdO2I9YVtlKzMyXTt5PWFbZSs0MF07dz1hW2UrNDhdO3g9YVtlKzU2XTtpZihnfHB8bXxifHl8d3x4KXtuPVRhKmYrMjA0OD4+MTI7cz1UYSpiKzIwNDg+PjEyO289cDtjPXc7bD1PYSooZy14KSsyMDQ4Pj4xMjtkPU9hKihnK3gpKzIwNDg+PjEyO2g9bTt1PXk7bj00MTEyKyhuK3MrMT4+MSk7cz1uLXM7Uz1vKklhK2MqRmErMjA0OD4+MTI7bz1vKkZhLWMqSWErMjA0OD4+MTI7Yz1TO2w9bCt1KzE+PjE7dT1sLXU7ZD1kK2grMT4+MTtoPWQtaDtuPW4rYysxPj4xO2M9bi1jO3M9cytvKzE+PjE7bz1zLW87Uz1sKnZhK2QqQ2ErMjA0OD4+MTI7bD1sKkNhLWQqdmErMjA0OD4+MTI7ZD1TO1M9aCprYSt1KkFhKzIwNDg+PjEyO2g9aCpBYS11KmthKzIwNDg+PjEyO3U9UztmPW4rZDt4PW4tZDtnPXMrdTt3PXMtdTtwPW8raDt5PW8taDttPWMrbDtiPWMtbDtmPDE2P2Y9MDpmPj00MDgwP2Y9MjU1OmY+Pj00O2c8MTY/Zz0wOmc+PTQwODA/Zz0yNTU6Zz4+PTQ7cDwxNj9wPTA6cD49NDA4MD9wPTI1NTpwPj49NDttPDE2P209MDptPj00MDgwP209MjU1Om0+Pj00O2I8MTY/Yj0wOmI+PTQwODA/Yj0yNTU6Yj4+PTQ7eTwxNj95PTA6eT49NDA4MD95PTI1NTp5Pj49NDt3PDE2P3c9MDp3Pj00MDgwP3c9MjU1Onc+Pj00O3g8MTY/eD0wOng+PTQwODA/eD0yNTU6eD4+PTQ7aVt0K2VdPWY7aVt0K2UrOF09ZztpW3QrZSsxNl09cDtpW3QrZSsyNF09bTtpW3QrZSszMl09YjtpW3QrZSs0MF09eTtpW3QrZSs0OF09dztpW3QrZSs1Nl09eH1lbHNle1M9VGEqZis4MTkyPj4xNDtTPVM8LTIwNDA/MDpTPj0yMDI0PzI1NTpTKzIwNTY+PjQ7aVt0K2VdPVM7aVt0K2UrOF09UztpW3QrZSsxNl09UztpW3QrZSsyNF09UztpW3QrZSszMl09UztpW3QrZSs0MF09UztpW3QrZSs0OF09UztpW3QrZSs1Nl09U319fWZ1bmN0aW9uIGJ1aWxkQ29tcG9uZW50RGF0YShlLHQpe2NvbnN0IGE9dC5ibG9ja3NQZXJMaW5lLHI9dC5ibG9ja3NQZXJDb2x1bW4saT1uZXcgSW50MTZBcnJheSg2NCk7Zm9yKGxldCBlPTA7ZTxyO2UrKylmb3IobGV0IHI9MDtyPGE7cisrKXtxdWFudGl6ZUFuZEludmVyc2UodCxnZXRCbG9ja0J1ZmZlck9mZnNldCh0LGUsciksaSl9cmV0dXJuIHQuYmxvY2tEYXRhfWZ1bmN0aW9uIGZpbmROZXh0RmlsZU1hcmtlcihlLHQsYT10KXtjb25zdCByPWUubGVuZ3RoLTE7bGV0IGk9YTx0P2E6dDtpZih0Pj1yKXJldHVybiBudWxsO2NvbnN0IG49cmVhZFVpbnQxNihlLHQpO2lmKG4+PTY1NDcyJiZuPD02NTUzNClyZXR1cm57aW52YWxpZDpudWxsLG1hcmtlcjpuLG9mZnNldDp0fTtsZXQgcz1yZWFkVWludDE2KGUsaSk7Zm9yKDshKHM+PTY1NDcyJiZzPD02NTUzNCk7KXtpZigrK2k+PXIpcmV0dXJuIG51bGw7cz1yZWFkVWludDE2KGUsaSl9cmV0dXJue2ludmFsaWQ6bi50b1N0cmluZygxNiksbWFya2VyOnMsb2Zmc2V0Oml9fWZ1bmN0aW9uIHByZXBhcmVDb21wb25lbnRzKGUpe2NvbnN0IHQ9TWF0aC5jZWlsKGUuc2FtcGxlc1BlckxpbmUvOC9lLm1heEgpLGE9TWF0aC5jZWlsKGUuc2NhbkxpbmVzLzgvZS5tYXhWKTtmb3IoY29uc3QgciBvZiBlLmNvbXBvbmVudHMpe2NvbnN0IGk9TWF0aC5jZWlsKE1hdGguY2VpbChlLnNhbXBsZXNQZXJMaW5lLzgpKnIuaC9lLm1heEgpLG49TWF0aC5jZWlsKE1hdGguY2VpbChlLnNjYW5MaW5lcy84KSpyLnYvZS5tYXhWKSxzPXQqci5oLG89NjQqKGEqci52KSoocysxKTtyLmJsb2NrRGF0YT1uZXcgSW50MTZBcnJheShvKTtyLmJsb2Nrc1BlckxpbmU9aTtyLmJsb2Nrc1BlckNvbHVtbj1ufWUubWN1c1BlckxpbmU9dDtlLm1jdXNQZXJDb2x1bW49YX1mdW5jdGlvbiByZWFkRGF0YUJsb2NrKGUsdCl7Y29uc3QgYT1yZWFkVWludDE2KGUsdCk7bGV0IHI9KHQrPTIpK2EtMjtjb25zdCBpPWZpbmROZXh0RmlsZU1hcmtlcihlLHIsdCk7aWYoaT8uaW52YWxpZCl7d2FybigicmVhZERhdGFCbG9jayAtIGluY29ycmVjdCBsZW5ndGgsIGN1cnJlbnQgbWFya2VyIGlzOiAiK2kuaW52YWxpZCk7cj1pLm9mZnNldH1jb25zdCBuPWUuc3ViYXJyYXkodCxyKTtyZXR1cm57YXBwRGF0YTpuLG9sZE9mZnNldDp0LG5ld09mZnNldDp0K24ubGVuZ3RofX1mdW5jdGlvbiBza2lwRGF0YShlLHQpe2NvbnN0IGE9cmVhZFVpbnQxNihlLHQpLHI9KHQrPTIpK2EtMixpPWZpbmROZXh0RmlsZU1hcmtlcihlLHIsdCk7cmV0dXJuIGk/LmludmFsaWQ/aS5vZmZzZXQ6cn1jbGFzcyBKcGVnSW1hZ2V7Y29uc3RydWN0b3Ioe2RlY29kZVRyYW5zZm9ybTplPW51bGwsY29sb3JUcmFuc2Zvcm06dD0tMX09e30pe3RoaXMuX2RlY29kZVRyYW5zZm9ybT1lO3RoaXMuX2NvbG9yVHJhbnNmb3JtPXR9c3RhdGljIGNhblVzZUltYWdlRGVjb2RlcihlLHQ9LTEpe2xldCBhPW51bGwscj0wLGk9bnVsbCxuPXJlYWRVaW50MTYoZSxyKTtyKz0yO2lmKDY1NDk2IT09bil0aHJvdyBuZXcgSnBlZ0Vycm9yKCJTT0kgbm90IGZvdW5kIik7bj1yZWFkVWludDE2KGUscik7cis9MjtlOmZvcig7NjU0OTchPT1uOyl7c3dpdGNoKG4pe2Nhc2UgNjU1MDU6Y29uc3R7YXBwRGF0YTp0LG9sZE9mZnNldDpzLG5ld09mZnNldDpvfT1yZWFkRGF0YUJsb2NrKGUscik7cj1vO2lmKDY5PT09dFswXSYmMTIwPT09dFsxXSYmMTA1PT09dFsyXSYmMTAyPT09dFszXSYmMD09PXRbNF0mJjA9PT10WzVdKXtpZihhKXRocm93IG5ldyBKcGVnRXJyb3IoIkR1cGxpY2F0ZSBFWElGLWJsb2NrcyBmb3VuZC4iKTthPXtleGlmU3RhcnQ6cys2LGV4aWZFbmQ6b319bj1yZWFkVWludDE2KGUscik7cis9Mjtjb250aW51ZTtjYXNlIDY1NDcyOmNhc2UgNjU0NzM6Y2FzZSA2NTQ3NDppPWVbcis3XTticmVhayBlO2Nhc2UgNjU1MzU6MjU1IT09ZVtyXSYmci0tfXI9c2tpcERhdGEoZSxyKTtuPXJlYWRVaW50MTYoZSxyKTtyKz0yfXJldHVybiA0PT09aXx8Mz09PWkmJjA9PT10P251bGw6YXx8e319cGFyc2UoZSx7ZG5sU2NhbkxpbmVzOnQ9bnVsbH09e30pe2xldCBhLHIsaT0wLG49bnVsbCxzPW51bGwsbz0wO2NvbnN0IGM9W10sbD1bXSxoPVtdO2xldCB1PXJlYWRVaW50MTYoZSxpKTtpKz0yO2lmKDY1NDk2IT09dSl0aHJvdyBuZXcgSnBlZ0Vycm9yKCJTT0kgbm90IGZvdW5kIik7dT1yZWFkVWludDE2KGUsaSk7aSs9MjtlOmZvcig7NjU0OTchPT11Oyl7bGV0IGQsZixnO3N3aXRjaCh1KXtjYXNlIDY1NTA0OmNhc2UgNjU1MDU6Y2FzZSA2NTUwNjpjYXNlIDY1NTA3OmNhc2UgNjU1MDg6Y2FzZSA2NTUwOTpjYXNlIDY1NTEwOmNhc2UgNjU1MTE6Y2FzZSA2NTUxMjpjYXNlIDY1NTEzOmNhc2UgNjU1MTQ6Y2FzZSA2NTUxNTpjYXNlIDY1NTE2OmNhc2UgNjU1MTc6Y2FzZSA2NTUxODpjYXNlIDY1NTE5OmNhc2UgNjU1MzQ6Y29uc3R7YXBwRGF0YTpwLG5ld09mZnNldDptfT1yZWFkRGF0YUJsb2NrKGUsaSk7aT1tOzY1NTA0PT09dSYmNzQ9PT1wWzBdJiY3MD09PXBbMV0mJjczPT09cFsyXSYmNzA9PT1wWzNdJiYwPT09cFs0XSYmKG49e3ZlcnNpb246e21ham9yOnBbNV0sbWlub3I6cFs2XX0sZGVuc2l0eVVuaXRzOnBbN10seERlbnNpdHk6cFs4XTw8OHxwWzldLHlEZW5zaXR5OnBbMTBdPDw4fHBbMTFdLHRodW1iV2lkdGg6cFsxMl0sdGh1bWJIZWlnaHQ6cFsxM10sdGh1bWJEYXRhOnAuc3ViYXJyYXkoMTQsMTQrMypwWzEyXSpwWzEzXSl9KTs2NTUxOD09PXUmJjY1PT09cFswXSYmMTAwPT09cFsxXSYmMTExPT09cFsyXSYmOTg9PT1wWzNdJiYxMDE9PT1wWzRdJiYocz17dmVyc2lvbjpwWzVdPDw4fHBbNl0sZmxhZ3MwOnBbN108PDh8cFs4XSxmbGFnczE6cFs5XTw8OHxwWzEwXSx0cmFuc2Zvcm1Db2RlOnBbMTFdfSk7YnJlYWs7Y2FzZSA2NTQ5OTpjb25zdCBiPXJlYWRVaW50MTYoZSxpKTtpKz0yO2NvbnN0IHk9YitpLTI7bGV0IHc7Zm9yKDtpPHk7KXtjb25zdCB0PWVbaSsrXSxhPW5ldyBVaW50MTZBcnJheSg2NCk7aWYodD4+NCl7aWYodD4+NCE9MSl0aHJvdyBuZXcgSnBlZ0Vycm9yKCJEUVQgLSBpbnZhbGlkIHRhYmxlIHNwZWMiKTtmb3IoZj0wO2Y8NjQ7ZisrKXt3PVNhW2ZdO2Fbd109cmVhZFVpbnQxNihlLGkpO2krPTJ9fWVsc2UgZm9yKGY9MDtmPDY0O2YrKyl7dz1TYVtmXTthW3ddPWVbaSsrXX1jWzE1JnRdPWF9YnJlYWs7Y2FzZSA2NTQ3MjpjYXNlIDY1NDczOmNhc2UgNjU0NzQ6aWYoYSl0aHJvdyBuZXcgSnBlZ0Vycm9yKCJPbmx5IHNpbmdsZSBmcmFtZSBKUEVHcyBzdXBwb3J0ZWQiKTtpKz0yO2E9e307YS5leHRlbmRlZD02NTQ3Mz09PXU7YS5wcm9ncmVzc2l2ZT02NTQ3ND09PXU7YS5wcmVjaXNpb249ZVtpKytdO2NvbnN0IHg9cmVhZFVpbnQxNihlLGkpO2krPTI7YS5zY2FuTGluZXM9dHx8eDthLnNhbXBsZXNQZXJMaW5lPXJlYWRVaW50MTYoZSxpKTtpKz0yO2EuY29tcG9uZW50cz1bXTthLmNvbXBvbmVudElkcz17fTtjb25zdCBTPWVbaSsrXTtsZXQgaz0wLEM9MDtmb3IoZD0wO2Q8UztkKyspe2NvbnN0IHQ9ZVtpXSxyPWVbaSsxXT4+NCxuPTE1JmVbaSsxXTtrPHImJihrPXIpO0M8biYmKEM9bik7Y29uc3Qgcz1lW2krMl07Zz1hLmNvbXBvbmVudHMucHVzaCh7aDpyLHY6bixxdWFudGl6YXRpb25JZDpzLHF1YW50aXphdGlvblRhYmxlOm51bGx9KTthLmNvbXBvbmVudElkc1t0XT1nLTE7aSs9M31hLm1heEg9azthLm1heFY9QztwcmVwYXJlQ29tcG9uZW50cyhhKTticmVhaztjYXNlIDY1NDc2OmNvbnN0IHY9cmVhZFVpbnQxNihlLGkpO2krPTI7Zm9yKGQ9MjtkPHY7KXtjb25zdCB0PWVbaSsrXSxhPW5ldyBVaW50OEFycmF5KDE2KTtsZXQgcj0wO2ZvcihmPTA7ZjwxNjtmKyssaSsrKXIrPWFbZl09ZVtpXTtjb25zdCBuPW5ldyBVaW50OEFycmF5KHIpO2ZvcihmPTA7ZjxyO2YrKyxpKyspbltmXT1lW2ldO2QrPTE3K3I7KHQ+PjQ/bDpoKVsxNSZ0XT1idWlsZEh1ZmZtYW5UYWJsZShhLG4pfWJyZWFrO2Nhc2UgNjU1MDE6aSs9MjtyPXJlYWRVaW50MTYoZSxpKTtpKz0yO2JyZWFrO2Nhc2UgNjU0OTg6Y29uc3QgRj0xPT0rK28mJiF0O2krPTI7Y29uc3QgVD1lW2krK10sTz1bXTtmb3IoZD0wO2Q8VDtkKyspe2NvbnN0IHQ9ZVtpKytdLHI9YS5jb21wb25lbnRJZHNbdF0sbj1hLmNvbXBvbmVudHNbcl07bi5pbmRleD10O2NvbnN0IHM9ZVtpKytdO24uaHVmZm1hblRhYmxlREM9aFtzPj40XTtuLmh1ZmZtYW5UYWJsZUFDPWxbMTUmc107Ty5wdXNoKG4pfWNvbnN0IE09ZVtpKytdLEQ9ZVtpKytdLFI9ZVtpKytdO3RyeXtpKz1kZWNvZGVTY2FuKGUsaSxhLE8scixNLEQsUj4+NCwxNSZSLEYpfWNhdGNoKHQpe2lmKHQgaW5zdGFuY2VvZiBETkxNYXJrZXJFcnJvcil7d2FybihgJHt0Lm1lc3NhZ2V9IC0tIGF0dGVtcHRpbmcgdG8gcmUtcGFyc2UgdGhlIEpQRUcgaW1hZ2UuYCk7cmV0dXJuIHRoaXMucGFyc2UoZSx7ZG5sU2NhbkxpbmVzOnQuc2NhbkxpbmVzfSl9aWYodCBpbnN0YW5jZW9mIEVPSU1hcmtlckVycm9yKXt3YXJuKGAke3QubWVzc2FnZX0gLS0gaWdub3JpbmcgdGhlIHJlc3Qgb2YgdGhlIGltYWdlIGRhdGEuYCk7YnJlYWsgZX10aHJvdyB0fWJyZWFrO2Nhc2UgNjU1MDA6aSs9NDticmVhaztjYXNlIDY1NTM1OjI1NSE9PWVbaV0mJmktLTticmVhaztkZWZhdWx0OmNvbnN0IE49ZmluZE5leHRGaWxlTWFya2VyKGUsaS0yLGktMyk7aWYoTj8uaW52YWxpZCl7d2FybigiSnBlZ0ltYWdlLnBhcnNlIC0gdW5leHBlY3RlZCBkYXRhLCBjdXJyZW50IG1hcmtlciBpczogIitOLmludmFsaWQpO2k9Ti5vZmZzZXQ7YnJlYWt9aWYoIU58fGk+PWUubGVuZ3RoLTEpe3dhcm4oIkpwZWdJbWFnZS5wYXJzZSAtIHJlYWNoZWQgdGhlIGVuZCBvZiB0aGUgaW1hZ2UgZGF0YSB3aXRob3V0IGZpbmRpbmcgYW4gRU9JIG1hcmtlciAoMHhGRkQ5KS4iKTticmVhayBlfXRocm93IG5ldyBKcGVnRXJyb3IoIkpwZWdJbWFnZS5wYXJzZSAtIHVua25vd24gbWFya2VyOiAiK3UudG9TdHJpbmcoMTYpKX11PXJlYWRVaW50MTYoZSxpKTtpKz0yfWlmKCFhKXRocm93IG5ldyBKcGVnRXJyb3IoIkpwZWdJbWFnZS5wYXJzZSAtIG5vIGZyYW1lIGRhdGEgZm91bmQuIik7dGhpcy53aWR0aD1hLnNhbXBsZXNQZXJMaW5lO3RoaXMuaGVpZ2h0PWEuc2NhbkxpbmVzO3RoaXMuamZpZj1uO3RoaXMuYWRvYmU9czt0aGlzLmNvbXBvbmVudHM9W107Zm9yKGNvbnN0IGUgb2YgYS5jb21wb25lbnRzKXtjb25zdCB0PWNbZS5xdWFudGl6YXRpb25JZF07dCYmKGUucXVhbnRpemF0aW9uVGFibGU9dCk7dGhpcy5jb21wb25lbnRzLnB1c2goe2luZGV4OmUuaW5kZXgsb3V0cHV0OmJ1aWxkQ29tcG9uZW50RGF0YSgwLGUpLHNjYWxlWDplLmgvYS5tYXhILHNjYWxlWTplLnYvYS5tYXhWLGJsb2Nrc1BlckxpbmU6ZS5ibG9ja3NQZXJMaW5lLGJsb2Nrc1BlckNvbHVtbjplLmJsb2Nrc1BlckNvbHVtbn0pfXRoaXMubnVtQ29tcG9uZW50cz10aGlzLmNvbXBvbmVudHMubGVuZ3RofV9nZXRMaW5lYXJpemVkQmxvY2tEYXRhKGUsdCxhPSExKXtjb25zdCByPXRoaXMud2lkdGgvZSxpPXRoaXMuaGVpZ2h0L3Q7bGV0IG4scyxvLGMsbCxoLHUsZCxmLGcscCxtPTA7Y29uc3QgYj10aGlzLmNvbXBvbmVudHMubGVuZ3RoLHk9ZSp0KmIsdz1uZXcgVWludDhDbGFtcGVkQXJyYXkoeSkseD1uZXcgVWludDMyQXJyYXkoZSksUz00Mjk0OTY3Mjg4O2xldCBrO2Zvcih1PTA7dTxiO3UrKyl7bj10aGlzLmNvbXBvbmVudHNbdV07cz1uLnNjYWxlWCpyO289bi5zY2FsZVkqaTttPXU7cD1uLm91dHB1dDtjPW4uYmxvY2tzUGVyTGluZSsxPDwzO2lmKHMhPT1rKXtmb3IobD0wO2w8ZTtsKyspe2Q9MHxsKnM7eFtsXT0oZCZTKTw8M3w3JmR9az1zfWZvcihoPTA7aDx0O2grKyl7ZD0wfGgqbztnPWMqKGQmUyl8KDcmZCk8PDM7Zm9yKGw9MDtsPGU7bCsrKXt3W21dPXBbZyt4W2xdXTttKz1ifX19bGV0IEM9dGhpcy5fZGVjb2RlVHJhbnNmb3JtO2F8fDQhPT1ifHxDfHwoQz1uZXcgSW50MzJBcnJheShbLTI1NiwyNTUsLTI1NiwyNTUsLTI1NiwyNTUsLTI1NiwyNTVdKSk7aWYoQylmb3IodT0wO3U8eTspZm9yKGQ9MCxmPTA7ZDxiO2QrKyx1KyssZis9Mil3W3VdPSh3W3VdKkNbZl0+PjgpK0NbZisxXTtyZXR1cm4gd31nZXQgX2lzQ29sb3JDb252ZXJzaW9uTmVlZGVkKCl7cmV0dXJuIHRoaXMuYWRvYmU/ISF0aGlzLmFkb2JlLnRyYW5zZm9ybUNvZGU6Mz09PXRoaXMubnVtQ29tcG9uZW50cz8wIT09dGhpcy5fY29sb3JUcmFuc2Zvcm0mJig4MiE9PXRoaXMuY29tcG9uZW50c1swXS5pbmRleHx8NzEhPT10aGlzLmNvbXBvbmVudHNbMV0uaW5kZXh8fDY2IT09dGhpcy5jb21wb25lbnRzWzJdLmluZGV4KToxPT09dGhpcy5fY29sb3JUcmFuc2Zvcm19X2NvbnZlcnRZY2NUb1JnYihlKXtsZXQgdCxhLHI7Zm9yKGxldCBpPTAsbj1lLmxlbmd0aDtpPG47aSs9Myl7dD1lW2ldO2E9ZVtpKzFdO3I9ZVtpKzJdO2VbaV09dC0xNzkuNDU2KzEuNDAyKnI7ZVtpKzFdPXQrMTM1LjQ1OS0uMzQ0KmEtLjcxNCpyO2VbaSsyXT10LTIyNi44MTYrMS43NzIqYX1yZXR1cm4gZX1fY29udmVydFljY1RvUmdiYShlLHQpe2ZvcihsZXQgYT0wLHI9MCxpPWUubGVuZ3RoO2E8aTthKz0zLHIrPTQpe2NvbnN0IGk9ZVthXSxuPWVbYSsxXSxzPWVbYSsyXTt0W3JdPWktMTc5LjQ1NisxLjQwMipzO3RbcisxXT1pKzEzNS40NTktLjM0NCpuLS43MTQqczt0W3IrMl09aS0yMjYuODE2KzEuNzcyKm47dFtyKzNdPTI1NX1yZXR1cm4gdH1fY29udmVydFljY2tUb1JnYihlKXt0aGlzLl9jb252ZXJ0WWNja1RvQ215ayhlKTtyZXR1cm4gdGhpcy5fY29udmVydENteWtUb1JnYihlKX1fY29udmVydFljY2tUb1JnYmEoZSl7dGhpcy5fY29udmVydFljY2tUb0NteWsoZSk7cmV0dXJuIHRoaXMuX2NvbnZlcnRDbXlrVG9SZ2JhKGUpfV9jb252ZXJ0WWNja1RvQ215ayhlKXtsZXQgdCxhLHI7Zm9yKGxldCBpPTAsbj1lLmxlbmd0aDtpPG47aSs9NCl7dD1lW2ldO2E9ZVtpKzFdO3I9ZVtpKzJdO2VbaV09NDM0LjQ1Ni10LTEuNDAyKnI7ZVtpKzFdPTExOS41NDEtdCsuMzQ0KmErLjcxNCpyO2VbaSsyXT00ODEuODE2LXQtMS43NzIqYX1yZXR1cm4gZX1fY29udmVydENteWtUb1JnYihlKXtjb25zdCB0PWUubGVuZ3RoLzQ7Q29sb3JTcGFjZVV0aWxzLmNteWsuZ2V0UmdiQnVmZmVyKGUsMCx0LGUsMCw4LDApO3JldHVybiBlLnN1YmFycmF5KDAsMyp0KX1fY29udmVydENteWtUb1JnYmEoZSl7Q29sb3JTcGFjZVV0aWxzLmNteWsuZ2V0UmdiQnVmZmVyKGUsMCxlLmxlbmd0aC80LGUsMCw4LDEpO2lmKENvbG9yU3BhY2VVdGlscy5jbXlrIGluc3RhbmNlb2YgRGV2aWNlQ215a0NTKWZvcihsZXQgdD0zLGE9ZS5sZW5ndGg7dDxhO3QrPTQpZVt0XT0yNTU7cmV0dXJuIGV9Z2V0RGF0YSh7d2lkdGg6ZSxoZWlnaHQ6dCxmb3JjZVJHQkE6YT0hMSxmb3JjZVJHQjpyPSExLGlzU291cmNlUERGOmk9ITF9KXtpZih0aGlzLm51bUNvbXBvbmVudHM+NCl0aHJvdyBuZXcgSnBlZ0Vycm9yKCJVbnN1cHBvcnRlZCBjb2xvciBtb2RlIik7Y29uc3Qgbj10aGlzLl9nZXRMaW5lYXJpemVkQmxvY2tEYXRhKGUsdCxpKTtpZigxPT09dGhpcy5udW1Db21wb25lbnRzJiYoYXx8cikpe2NvbnN0IGU9bi5sZW5ndGgqKGE/NDozKSx0PW5ldyBVaW50OENsYW1wZWRBcnJheShlKTtsZXQgcj0wO2lmKGEpIWZ1bmN0aW9uIGdyYXlUb1JHQkEoZSx0KXtpZihGZWF0dXJlVGVzdC5pc0xpdHRsZUVuZGlhbilmb3IobGV0IGE9MCxyPWUubGVuZ3RoO2E8cjthKyspdFthXT02NTc5MyplW2FdfDQyNzgxOTAwODA7ZWxzZSBmb3IobGV0IGE9MCxyPWUubGVuZ3RoO2E8cjthKyspdFthXT0xNjg0MzAwOCplW2FdfDI1NX0obixuZXcgVWludDMyQXJyYXkodC5idWZmZXIpKTtlbHNlIGZvcihjb25zdCBlIG9mIG4pe3RbcisrXT1lO3RbcisrXT1lO3RbcisrXT1lfXJldHVybiB0fWlmKDM9PT10aGlzLm51bUNvbXBvbmVudHMmJnRoaXMuX2lzQ29sb3JDb252ZXJzaW9uTmVlZGVkKXtpZihhKXtjb25zdCBlPW5ldyBVaW50OENsYW1wZWRBcnJheShuLmxlbmd0aC8zKjQpO3JldHVybiB0aGlzLl9jb252ZXJ0WWNjVG9SZ2JhKG4sZSl9cmV0dXJuIHRoaXMuX2NvbnZlcnRZY2NUb1JnYihuKX1pZig0PT09dGhpcy5udW1Db21wb25lbnRzKXtpZih0aGlzLl9pc0NvbG9yQ29udmVyc2lvbk5lZWRlZClyZXR1cm4gYT90aGlzLl9jb252ZXJ0WWNja1RvUmdiYShuKTpyP3RoaXMuX2NvbnZlcnRZY2NrVG9SZ2Iobik6dGhpcy5fY29udmVydFljY2tUb0NteWsobik7aWYoYSlyZXR1cm4gdGhpcy5fY29udmVydENteWtUb1JnYmEobik7aWYocilyZXR1cm4gdGhpcy5fY29udmVydENteWtUb1JnYihuKX1yZXR1cm4gbn19Y2xhc3MgSnBlZ1N0cmVhbSBleHRlbmRzIERlY29kZVN0cmVhbXtzdGF0aWMjTT1GZWF0dXJlVGVzdC5pc0ltYWdlRGVjb2RlclN1cHBvcnRlZDtjb25zdHJ1Y3RvcihlLHQsYSl7c3VwZXIodCk7dGhpcy5zdHJlYW09ZTt0aGlzLmRpY3Q9ZS5kaWN0O3RoaXMubWF5YmVMZW5ndGg9dDt0aGlzLnBhcmFtcz1hfXN0YXRpYyBnZXQgY2FuVXNlSW1hZ2VEZWNvZGVyKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJjYW5Vc2VJbWFnZURlY29kZXIiLHRoaXMuI00/SW1hZ2VEZWNvZGVyLmlzVHlwZVN1cHBvcnRlZCgiaW1hZ2UvanBlZyIpOlByb21pc2UucmVzb2x2ZSghMSkpfXN0YXRpYyBzZXRPcHRpb25zKHtpc0ltYWdlRGVjb2RlclN1cHBvcnRlZDplPSExfSl7dGhpcy4jTT1lfWdldCBieXRlcygpe3JldHVybiBzaGFkb3codGhpcywiYnl0ZXMiLHRoaXMuc3RyZWFtLmdldEJ5dGVzKHRoaXMubWF5YmVMZW5ndGgpKX1lbnN1cmVCdWZmZXIoZSl7fXJlYWRCbG9jaygpe3RoaXMuZGVjb2RlSW1hZ2UoKX1nZXQganBlZ09wdGlvbnMoKXtjb25zdCBlPXtkZWNvZGVUcmFuc2Zvcm06dm9pZCAwLGNvbG9yVHJhbnNmb3JtOnZvaWQgMH0sdD10aGlzLmRpY3QuZ2V0QXJyYXkoIkQiLCJEZWNvZGUiKTtpZigodGhpcy5mb3JjZVJHQkF8fHRoaXMuZm9yY2VSR0IpJiZBcnJheS5pc0FycmF5KHQpKXtjb25zdCBhPXRoaXMuZGljdC5nZXQoIkJQQyIsIkJpdHNQZXJDb21wb25lbnQiKXx8OCxyPXQubGVuZ3RoLGk9bmV3IEludDMyQXJyYXkocik7bGV0IG49ITE7Y29uc3Qgcz0oMTw8YSktMTtmb3IobGV0IGU9MDtlPHI7ZSs9Mil7aVtlXT0yNTYqKHRbZSsxXS10W2VdKXwwO2lbZSsxXT10W2VdKnN8MDsyNTY9PT1pW2VdJiYwPT09aVtlKzFdfHwobj0hMCl9biYmKGUuZGVjb2RlVHJhbnNmb3JtPWkpfWlmKHRoaXMucGFyYW1zIGluc3RhbmNlb2YgRGljdCl7Y29uc3QgdD10aGlzLnBhcmFtcy5nZXQoIkNvbG9yVHJhbnNmb3JtIik7TnVtYmVyLmlzSW50ZWdlcih0KSYmKGUuY29sb3JUcmFuc2Zvcm09dCl9cmV0dXJuIHNoYWRvdyh0aGlzLCJqcGVnT3B0aW9ucyIsZSl9I04oZSl7Zm9yKGxldCB0PTAsYT1lLmxlbmd0aC0xO3Q8YTt0KyspaWYoMjU1PT09ZVt0XSYmMjE2PT09ZVt0KzFdKXt0PjAmJihlPWUuc3ViYXJyYXkodCkpO2JyZWFrfXJldHVybiBlfWRlY29kZUltYWdlKGUpe2lmKHRoaXMuZW9mKXJldHVybiB0aGlzLmJ1ZmZlcjtlPXRoaXMuI04oZXx8dGhpcy5ieXRlcyk7Y29uc3QgdD1uZXcgSnBlZ0ltYWdlKHRoaXMuanBlZ09wdGlvbnMpO3QucGFyc2UoZSk7Y29uc3QgYT10LmdldERhdGEoe3dpZHRoOnRoaXMuZHJhd1dpZHRoLGhlaWdodDp0aGlzLmRyYXdIZWlnaHQsZm9yY2VSR0JBOnRoaXMuZm9yY2VSR0JBLGZvcmNlUkdCOnRoaXMuZm9yY2VSR0IsaXNTb3VyY2VQREY6ITB9KTt0aGlzLmJ1ZmZlcj1hO3RoaXMuYnVmZmVyTGVuZ3RoPWEubGVuZ3RoO3RoaXMuZW9mPSEwO3JldHVybiB0aGlzLmJ1ZmZlcn1nZXQgY2FuQXN5bmNEZWNvZGVJbWFnZUZyb21CdWZmZXIoKXtyZXR1cm4gdGhpcy5zdHJlYW0uaXNBc3luY31hc3luYyBnZXRUcmFuc2ZlcmFibGVJbWFnZSgpe2lmKCFhd2FpdCBKcGVnU3RyZWFtLmNhblVzZUltYWdlRGVjb2RlcilyZXR1cm4gbnVsbDtjb25zdCBlPXRoaXMuanBlZ09wdGlvbnM7aWYoZS5kZWNvZGVUcmFuc2Zvcm0pcmV0dXJuIG51bGw7bGV0IHQ7dHJ5e2NvbnN0IGE9dGhpcy5jYW5Bc3luY0RlY29kZUltYWdlRnJvbUJ1ZmZlciYmYXdhaXQgdGhpcy5zdHJlYW0uYXN5bmNHZXRCeXRlcygpfHx0aGlzLmJ5dGVzO2lmKCFhKXJldHVybiBudWxsO2xldCByPXRoaXMuI04oYSk7Y29uc3QgaT1KcGVnSW1hZ2UuY2FuVXNlSW1hZ2VEZWNvZGVyKHIsZS5jb2xvclRyYW5zZm9ybSk7aWYoIWkpcmV0dXJuIG51bGw7aWYoaS5leGlmU3RhcnQpe3I9ci5zbGljZSgpO3IuZmlsbCgwLGkuZXhpZlN0YXJ0LGkuZXhpZkVuZCl9dD1uZXcgSW1hZ2VEZWNvZGVyKHtkYXRhOnIsdHlwZToiaW1hZ2UvanBlZyIscHJlZmVyQW5pbWF0aW9uOiExfSk7cmV0dXJuKGF3YWl0IHQuZGVjb2RlKCkpLmltYWdlfWNhdGNoKGUpe3dhcm4oYGdldFRyYW5zZmVyYWJsZUltYWdlIC0gZmFpbGVkOiAiJHtlfSIuYCk7cmV0dXJuIG51bGx9ZmluYWxseXt0Py5jbG9zZSgpfX19dmFyIE9wZW5KUEVHPWFzeW5jIGZ1bmN0aW9uKGU9e30pe3ZhciB0LGEscj1lLGk9bmV3IFByb21pc2UoKChlLHIpPT57dD1lO2E9cn0pKSxuPSIuL3RoaXMucHJvZ3JhbSIscXVpdF89KGUsdCk9Pnt0aHJvdyB0fSxzPWltcG9ydC5tZXRhLnVybDt0cnl7bmV3IFVSTCgiLiIscykuaHJlZn1jYXRjaHt9dmFyIG8sYyxsLGgsdSxkLGY9Y29uc29sZS5sb2cuYmluZChjb25zb2xlKSxnPWNvbnNvbGUuZXJyb3IuYmluZChjb25zb2xlKSxwPSExO2Z1bmN0aW9uIHVwZGF0ZU1lbW9yeVZpZXdzKCl7dmFyIGU9by5idWZmZXI7bD1uZXcgSW50OEFycmF5KGUpO25ldyBJbnQxNkFycmF5KGUpO2g9bmV3IFVpbnQ4QXJyYXkoZSk7bmV3IFVpbnQxNkFycmF5KGUpO3U9bmV3IEludDMyQXJyYXkoZSk7ZD1uZXcgVWludDMyQXJyYXkoZSk7bmV3IEZsb2F0MzJBcnJheShlKTtuZXcgRmxvYXQ2NEFycmF5KGUpO25ldyBCaWdJbnQ2NEFycmF5KGUpO25ldyBCaWdVaW50NjRBcnJheShlKX12YXIgbT0wLGI9bnVsbDtjbGFzcyBFeGl0U3RhdHVze25hbWU9IkV4aXRTdGF0dXMiO2NvbnN0cnVjdG9yKGUpe3RoaXMubWVzc2FnZT1gUHJvZ3JhbSB0ZXJtaW5hdGVkIHdpdGggZXhpdCgke2V9KWA7dGhpcy5zdGF0dXM9ZX19dmFyIGNhbGxSdW50aW1lQ2FsbGJhY2tzPWU9Pntmb3IoO2UubGVuZ3RoPjA7KWUuc2hpZnQoKShyKX0seT1bXSxhZGRPblBvc3RSdW49ZT0+eS5wdXNoKGUpLHc9W10sYWRkT25QcmVSdW49ZT0+dy5wdXNoKGUpLHg9ITAsUz0wLGs9e30saGFuZGxlRXhjZXB0aW9uPWU9PntpZihlIGluc3RhbmNlb2YgRXhpdFN0YXR1c3x8InVud2luZCI9PWUpcmV0dXJuIGM7cXVpdF8oMCxlKX0sa2VlcFJ1bnRpbWVBbGl2ZT0oKT0+eHx8Uz4wLF9wcm9jX2V4aXQ9ZT0+e2M9ZTtpZigha2VlcFJ1bnRpbWVBbGl2ZSgpKXtyLm9uRXhpdD8uKGUpO3A9ITB9cXVpdF8oMCxuZXcgRXhpdFN0YXR1cyhlKSl9LF9leGl0PShlLHQpPT57Yz1lO19wcm9jX2V4aXQoZSl9LGNhbGxVc2VyQ2FsbGJhY2s9ZT0+e2lmKCFwKXRyeXtlKCk7KCgpPT57aWYoIWtlZXBSdW50aW1lQWxpdmUoKSl0cnl7X2V4aXQoYyl9Y2F0Y2goZSl7aGFuZGxlRXhjZXB0aW9uKGUpfX0pKCl9Y2F0Y2goZSl7aGFuZGxlRXhjZXB0aW9uKGUpfX0sZ3Jvd01lbW9yeT1lPT57dmFyIHQ9KGUtby5idWZmZXIuYnl0ZUxlbmd0aCs2NTUzNSkvNjU1MzZ8MDt0cnl7by5ncm93KHQpO3VwZGF0ZU1lbW9yeVZpZXdzKCk7cmV0dXJuIDF9Y2F0Y2goZSl7fX0sQz17fSxnZXRFbnZTdHJpbmdzPSgpPT57aWYoIWdldEVudlN0cmluZ3Muc3RyaW5ncyl7dmFyIGU9e1VTRVI6IndlYl91c2VyIixMT0dOQU1FOiJ3ZWJfdXNlciIsUEFUSDoiLyIsUFdEOiIvIixIT01FOiIvaG9tZS93ZWJfdXNlciIsTEFORzooIm9iamVjdCI9PXR5cGVvZiBuYXZpZ2F0b3ImJm5hdmlnYXRvci5sYW5ndWFnZXMmJm5hdmlnYXRvci5sYW5ndWFnZXNbMF18fCJDIikucmVwbGFjZSgiLSIsIl8iKSsiLlVURi04IixfOm58fCIuL3RoaXMucHJvZ3JhbSJ9O2Zvcih2YXIgdCBpbiBDKXZvaWQgMD09PUNbdF0/ZGVsZXRlIGVbdF06ZVt0XT1DW3RdO3ZhciBhPVtdO2Zvcih2YXIgdCBpbiBlKWEucHVzaChgJHt0fT0ke2VbdF19YCk7Z2V0RW52U3RyaW5ncy5zdHJpbmdzPWF9cmV0dXJuIGdldEVudlN0cmluZ3Muc3RyaW5nc30sbGVuZ3RoQnl0ZXNVVEY4PWU9Pntmb3IodmFyIHQ9MCxhPTA7YTxlLmxlbmd0aDsrK2Epe3ZhciByPWUuY2hhckNvZGVBdChhKTtpZihyPD0xMjcpdCsrO2Vsc2UgaWYocjw9MjA0Nyl0Kz0yO2Vsc2UgaWYocj49NTUyOTYmJnI8PTU3MzQzKXt0Kz00OysrYX1lbHNlIHQrPTN9cmV0dXJuIHR9LHY9W251bGwsW10sW11dLEY9InVuZGVmaW5lZCIhPXR5cGVvZiBUZXh0RGVjb2Rlcj9uZXcgVGV4dERlY29kZXI6dm9pZCAwLFVURjhBcnJheVRvU3RyaW5nPShlLHQ9MCxhPU5hTik9Pntmb3IodmFyIHI9dCthLGk9dDtlW2ldJiYhKGk+PXIpOykrK2k7aWYoaS10PjE2JiZlLmJ1ZmZlciYmRilyZXR1cm4gRi5kZWNvZGUoZS5zdWJhcnJheSh0LGkpKTtmb3IodmFyIG49IiI7dDxpOyl7dmFyIHM9ZVt0KytdO2lmKDEyOCZzKXt2YXIgbz02MyZlW3QrK107aWYoMTkyIT0oMjI0JnMpKXt2YXIgYz02MyZlW3QrK107aWYoKHM9MjI0PT0oMjQwJnMpPygxNSZzKTw8MTJ8bzw8NnxjOig3JnMpPDwxOHxvPDwxMnxjPDw2fDYzJmVbdCsrXSk8NjU1MzYpbis9U3RyaW5nLmZyb21DaGFyQ29kZShzKTtlbHNle3ZhciBsPXMtNjU1MzY7bis9U3RyaW5nLmZyb21DaGFyQ29kZSg1NTI5NnxsPj4xMCw1NjMyMHwxMDIzJmwpfX1lbHNlIG4rPVN0cmluZy5mcm9tQ2hhckNvZGUoKDMxJnMpPDw2fG8pfWVsc2Ugbis9U3RyaW5nLmZyb21DaGFyQ29kZShzKX1yZXR1cm4gbn0scHJpbnRDaGFyPShlLHQpPT57dmFyIGE9dltlXTtpZigwPT09dHx8MTA9PT10KXsoMT09PWU/ZjpnKShVVEY4QXJyYXlUb1N0cmluZyhhKSk7YS5sZW5ndGg9MH1lbHNlIGEucHVzaCh0KX0sVVRGOFRvU3RyaW5nPShlLHQpPT5lP1VURjhBcnJheVRvU3RyaW5nKGgsZSx0KToiIjtyLm5vRXhpdFJ1bnRpbWUmJih4PXIubm9FeGl0UnVudGltZSk7ci5wcmludCYmKGY9ci5wcmludCk7ci5wcmludEVyciYmKGc9ci5wcmludEVycik7ci53YXNtQmluYXJ5JiZyLndhc21CaW5hcnk7ci5hcmd1bWVudHMmJnIuYXJndW1lbnRzO3IudGhpc1Byb2dyYW0mJihuPXIudGhpc1Byb2dyYW0pO3Iud3JpdGVBcnJheVRvTWVtb3J5PShlLHQpPT57bC5zZXQoZSx0KX07dmFyIFQ9e2w6KCk9PmZ1bmN0aW9uIGFib3J0KGUpe3Iub25BYm9ydD8uKGUpO2coZT0iQWJvcnRlZCgiK2UrIikiKTtwPSEwO2UrPSIuIEJ1aWxkIHdpdGggLXNBU1NFUlRJT05TIGZvciBtb3JlIGluZm8uIjt2YXIgdD1uZXcgV2ViQXNzZW1ibHkuUnVudGltZUVycm9yKGUpO2EodCk7dGhyb3cgdH0oIiIpLGs6KCk9Pnt4PSExO1M9MH0sbTooZSx0KT0+e2lmKGtbZV0pe2NsZWFyVGltZW91dChrW2VdLmlkKTtkZWxldGUga1tlXX1pZighdClyZXR1cm4gMDt2YXIgYT1zZXRUaW1lb3V0KCgoKT0+e2RlbGV0ZSBrW2VdO2NhbGxVc2VyQ2FsbGJhY2soKCgpPT5NKGUscGVyZm9ybWFuY2Uubm93KCkpKSl9KSx0KTtrW2VdPXtpZDphLHRpbWVvdXRfbXM6dH07cmV0dXJuIDB9LGc6ZnVuY3Rpb24gX2NvcHlfcGl4ZWxzXzEoZSx0KXtlPj49Mjtjb25zdCBhPXIuaW1hZ2VEYXRhPW5ldyBVaW50OENsYW1wZWRBcnJheSh0KSxpPXUuc3ViYXJyYXkoZSxlK3QpO2Euc2V0KGkpfSxmOmZ1bmN0aW9uIF9jb3B5X3BpeGVsc18zKGUsdCxhLGkpe2U+Pj0yO3Q+Pj0yO2E+Pj0yO2NvbnN0IG49ci5pbWFnZURhdGE9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KDMqaSkscz11LnN1YmFycmF5KGUsZStpKSxvPXUuc3ViYXJyYXkodCx0K2kpLGM9dS5zdWJhcnJheShhLGEraSk7Zm9yKGxldCBlPTA7ZTxpO2UrKyl7blszKmVdPXNbZV07blszKmUrMV09b1tlXTtuWzMqZSsyXT1jW2VdfX0sZTpmdW5jdGlvbiBfY29weV9waXhlbHNfNChlLHQsYSxpLG4pe2U+Pj0yO3Q+Pj0yO2E+Pj0yO2k+Pj0yO2NvbnN0IHM9ci5pbWFnZURhdGE9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KDQqbiksbz11LnN1YmFycmF5KGUsZStuKSxjPXUuc3ViYXJyYXkodCx0K24pLGw9dS5zdWJhcnJheShhLGErbiksaD11LnN1YmFycmF5KGksaStuKTtmb3IobGV0IGU9MDtlPG47ZSsrKXtzWzQqZV09b1tlXTtzWzQqZSsxXT1jW2VdO3NbNCplKzJdPWxbZV07c1s0KmUrM109aFtlXX19LG46ZT0+e3ZhciB0LGEscj1oLmxlbmd0aCxpPTIxNDc0ODM2NDg7aWYoKGU+Pj49MCk+aSlyZXR1cm4hMTtmb3IodmFyIG49MTtuPD00O24qPTIpe3ZhciBzPXIqKDErLjIvbik7cz1NYXRoLm1pbihzLGUrMTAwNjYzMjk2KTt2YXIgbz1NYXRoLm1pbihpLCh0PU1hdGgubWF4KGUscyksYT02NTUzNixNYXRoLmNlaWwodC9hKSphKSk7aWYoZ3Jvd01lbW9yeShvKSlyZXR1cm4hMH1yZXR1cm4hMX0scDooZSx0KT0+e3ZhciBhPTAscj0wO2Zvcih2YXIgaSBvZiBnZXRFbnZTdHJpbmdzKCkpe3ZhciBuPXQrYTtkW2Urcj4+Ml09bjthKz0oKGUsdCxhLHIpPT57aWYoIShyPjApKXJldHVybiAwO2Zvcih2YXIgaT1hLG49YStyLTEscz0wO3M8ZS5sZW5ndGg7KytzKXt2YXIgbz1lLmNoYXJDb2RlQXQocyk7bz49NTUyOTYmJm88PTU3MzQzJiYobz02NTUzNisoKDEwMjMmbyk8PDEwKXwxMDIzJmUuY2hhckNvZGVBdCgrK3MpKTtpZihvPD0xMjcpe2lmKGE+PW4pYnJlYWs7dFthKytdPW99ZWxzZSBpZihvPD0yMDQ3KXtpZihhKzE+PW4pYnJlYWs7dFthKytdPTE5MnxvPj42O3RbYSsrXT0xMjh8NjMmb31lbHNlIGlmKG88PTY1NTM1KXtpZihhKzI+PW4pYnJlYWs7dFthKytdPTIyNHxvPj4xMjt0W2ErK109MTI4fG8+PjYmNjM7dFthKytdPTEyOHw2MyZvfWVsc2V7aWYoYSszPj1uKWJyZWFrO3RbYSsrXT0yNDB8bz4+MTg7dFthKytdPTEyOHxvPj4xMiY2Mzt0W2ErK109MTI4fG8+PjYmNjM7dFthKytdPTEyOHw2MyZvfX10W2FdPTA7cmV0dXJuIGEtaX0pKGksaCxuLDEvMCkrMTtyKz00fXJldHVybiAwfSxxOihlLHQpPT57dmFyIGE9Z2V0RW52U3RyaW5ncygpO2RbZT4+Ml09YS5sZW5ndGg7dmFyIHI9MDtmb3IodmFyIGkgb2YgYSlyKz1sZW5ndGhCeXRlc1VURjgoaSkrMTtkW3Q+PjJdPXI7cmV0dXJuIDB9LGI6ZT0+NTIsbzpmdW5jdGlvbiBfZmRfc2VlayhlLHQsYSxyKXt0PShpPXQpPC05MDA3MTk5MjU0NzQwOTkyfHxpPjkwMDcxOTkyNTQ3NDA5OTI/TmFOOk51bWJlcihpKTt2YXIgaTtyZXR1cm4gNzB9LGM6KGUsdCxhLHIpPT57Zm9yKHZhciBpPTAsbj0wO248YTtuKyspe3ZhciBzPWRbdD4+Ml0sbz1kW3QrND4+Ml07dCs9ODtmb3IodmFyIGM9MDtjPG87YysrKXByaW50Q2hhcihlLGhbcytjXSk7aSs9b31kW3I+PjJdPWk7cmV0dXJuIDB9LHI6ZnVuY3Rpb24gX2dyYXlfdG9fcmdiYShlLHQpe2U+Pj0yO2NvbnN0IGE9ci5pbWFnZURhdGE9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KDQqdCksaT11LnN1YmFycmF5KGUsZSt0KTtmb3IobGV0IGU9MDtlPHQ7ZSsrKXthWzQqZV09YVs0KmUrMV09YVs0KmUrMl09aVtlXTthWzQqZSszXT0yNTV9fSxpOmZ1bmN0aW9uIF9ncmF5YV90b19yZ2JhKGUsdCxhKXtlPj49Mjt0Pj49Mjtjb25zdCBpPXIuaW1hZ2VEYXRhPW5ldyBVaW50OENsYW1wZWRBcnJheSg0KmEpLG49dS5zdWJhcnJheShlLGUrYSkscz11LnN1YmFycmF5KHQsdCthKTtmb3IobGV0IGU9MDtlPGE7ZSsrKXtpWzQqZV09aVs0KmUrMV09aVs0KmUrMl09bltlXTtpWzQqZSszXT1zW2VdfX0sZDpmdW5jdGlvbiBfanNQcmludFdhcm5pbmcoZSl7Y29uc3QgdD1VVEY4VG9TdHJpbmcoZSk7KHIud2Fybnx8Y29uc29sZS53YXJuKShgT3BlbkpQRUc6ICR7dH1gKX0sajpfcHJvY19leGl0LGg6ZnVuY3Rpb24gX3JnYl90b19yZ2JhKGUsdCxhLGkpe2U+Pj0yO3Q+Pj0yO2E+Pj0yO2NvbnN0IG49ci5pbWFnZURhdGE9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KDQqaSkscz11LnN1YmFycmF5KGUsZStpKSxvPXUuc3ViYXJyYXkodCx0K2kpLGM9dS5zdWJhcnJheShhLGEraSk7Zm9yKGxldCBlPTA7ZTxpO2UrKyl7bls0KmVdPXNbZV07bls0KmUrMV09b1tlXTtuWzQqZSsyXT1jW2VdO25bNCplKzNdPTI1NX19LGE6ZnVuY3Rpb24gX3N0b3JlRXJyb3JNZXNzYWdlKGUpe2NvbnN0IHQ9VVRGOFRvU3RyaW5nKGUpO3IuZXJyb3JNZXNzYWdlcz9yLmVycm9yTWVzc2FnZXMrPSJcbiIrdDpyLmVycm9yTWVzc2FnZXM9dH19LE89YXdhaXQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlV2FzbSgpe2Z1bmN0aW9uIHJlY2VpdmVJbnN0YW5jZShlLHQpe089ZS5leHBvcnRzO289Ty5zO3VwZGF0ZU1lbW9yeVZpZXdzKCk7IWZ1bmN0aW9uIHJlbW92ZVJ1bkRlcGVuZGVuY3koZSl7bS0tO3IubW9uaXRvclJ1bkRlcGVuZGVuY2llcz8uKG0pO2lmKDA9PW0mJmIpe3ZhciB0PWI7Yj1udWxsO3QoKX19KCk7cmV0dXJuIE99IWZ1bmN0aW9uIGFkZFJ1bkRlcGVuZGVuY3koZSl7bSsrO3IubW9uaXRvclJ1bkRlcGVuZGVuY2llcz8uKG0pfSgpO3ZhciBlPWZ1bmN0aW9uIGdldFdhc21JbXBvcnRzKCl7cmV0dXJue2E6VH19KCk7cmV0dXJuIG5ldyBQcm9taXNlKCgodCxhKT0+e3IuaW5zdGFudGlhdGVXYXNtKGUsKChlLGEpPT57dChyZWNlaXZlSW5zdGFuY2UoZSkpfSkpfSkpfSgpLE09KE8udCxyLl9tYWxsb2M9Ty51LHIuX2ZyZWU9Ty52LHIuX2pwMl9kZWNvZGU9Ty53LE8ueCk7IWZ1bmN0aW9uIHByZUluaXQoKXtpZihyLnByZUluaXQpeyJmdW5jdGlvbiI9PXR5cGVvZiByLnByZUluaXQmJihyLnByZUluaXQ9W3IucHJlSW5pdF0pO2Zvcig7ci5wcmVJbml0Lmxlbmd0aD4wOylyLnByZUluaXQuc2hpZnQoKSgpfX0oKTshZnVuY3Rpb24gcnVuKCl7aWYobT4wKWI9cnVuO2Vsc2V7IWZ1bmN0aW9uIHByZVJ1bigpe2lmKHIucHJlUnVuKXsiZnVuY3Rpb24iPT10eXBlb2Ygci5wcmVSdW4mJihyLnByZVJ1bj1bci5wcmVSdW5dKTtmb3IoO3IucHJlUnVuLmxlbmd0aDspYWRkT25QcmVSdW4oci5wcmVSdW4uc2hpZnQoKSl9Y2FsbFJ1bnRpbWVDYWxsYmFja3Modyl9KCk7aWYobT4wKWI9cnVuO2Vsc2UgaWYoci5zZXRTdGF0dXMpe3Iuc2V0U3RhdHVzKCJSdW5uaW5nLi4uIik7c2V0VGltZW91dCgoKCk9PntzZXRUaW1lb3V0KCgoKT0+ci5zZXRTdGF0dXMoIiIpKSwxKTtkb1J1bigpfSksMSl9ZWxzZSBkb1J1bigpfWZ1bmN0aW9uIGRvUnVuKCl7ci5jYWxsZWRSdW49ITA7aWYoIXApeyFmdW5jdGlvbiBpbml0UnVudGltZSgpe08udCgpfSgpO3Qocik7ci5vblJ1bnRpbWVJbml0aWFsaXplZD8uKCk7IWZ1bmN0aW9uIHBvc3RSdW4oKXtpZihyLnBvc3RSdW4peyJmdW5jdGlvbiI9PXR5cGVvZiByLnBvc3RSdW4mJihyLnBvc3RSdW49W3IucG9zdFJ1bl0pO2Zvcig7ci5wb3N0UnVuLmxlbmd0aDspYWRkT25Qb3N0UnVuKHIucG9zdFJ1bi5zaGlmdCgpKX1jYWxsUnVudGltZUNhbGxiYWNrcyh5KX0oKX19fSgpO3JldHVybiBpfTtjb25zdCBNYT1PcGVuSlBFRztjbGFzcyBKcHhFcnJvciBleHRlbmRzIEp0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUsIkpweEVycm9yIil9fWNsYXNzIEpweEltYWdle3N0YXRpYyNFPW51bGw7c3RhdGljI1A9bnVsbDtzdGF0aWMjTD1udWxsO3N0YXRpYyN2PSEwO3N0YXRpYyNqPSEwO3N0YXRpYyNGPW51bGw7c3RhdGljIHNldE9wdGlvbnMoe2hhbmRsZXI6ZSx1c2VXYXNtOnQsdXNlV29ya2VyRmV0Y2g6YSx3YXNtVXJsOnJ9KXt0aGlzLiN2PXQ7dGhpcy4jaj1hO3RoaXMuI0Y9cjthfHwodGhpcy4jUD1lKX1zdGF0aWMgYXN5bmMjXyhlKXtjb25zdCB0PWAke3RoaXMuI0Z9b3BlbmpwZWdfbm93YXNtX2ZhbGxiYWNrLmpzYDtsZXQgYT1udWxsO3RyeXthPShhd2FpdCBpbXBvcnQoCi8qd2VicGFja0lnbm9yZTogdHJ1ZSovCi8qQHZpdGUtaWdub3JlKi8KdCkpLmRlZmF1bHQoKX1jYXRjaChlKXt3YXJuKGBKcHhJbWFnZSNnZXRKc01vZHVsZTogJHtlfWApfWUoYSl9c3RhdGljIGFzeW5jI1UoZSx0LGEpe2NvbnN0IHI9Im9wZW5qcGVnLndhc20iO3RyeXt0aGlzLiNFfHwodGhpcy4jaj90aGlzLiNFPWF3YWl0IGZldGNoQmluYXJ5RGF0YShgJHt0aGlzLiNGfSR7cn1gKTp0aGlzLiNFPWF3YWl0IHRoaXMuI1Auc2VuZFdpdGhQcm9taXNlKCJGZXRjaEJpbmFyeURhdGEiLHt0eXBlOiJ3YXNtRmFjdG9yeSIsZmlsZW5hbWU6cn0pKTtyZXR1cm4gYSgoYXdhaXQgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUodGhpcy4jRSx0KSkuaW5zdGFuY2UpfWNhdGNoKHQpe3dhcm4oYEpweEltYWdlI2luc3RhbnRpYXRlV2FzbTogJHt0fWApO3RoaXMuI18oZSk7cmV0dXJuIG51bGx9ZmluYWxseXt0aGlzLiNQPW51bGx9fXN0YXRpYyBhc3luYyBkZWNvZGUoZSx7bnVtQ29tcG9uZW50czp0PTQsaXNJbmRleGVkQ29sb3JtYXA6YT0hMSxzbWFza0luRGF0YTpyPSExLHJlZHVjZVBvd2VyOmk9MH09e30pe2lmKCF0aGlzLiNMKXtjb25zdHtwcm9taXNlOmUscmVzb2x2ZTp0fT1Qcm9taXNlLndpdGhSZXNvbHZlcnMoKSxhPVtlXTt0aGlzLiN2P2EucHVzaChNYSh7d2FybixpbnN0YW50aWF0ZVdhc206dGhpcy4jVS5iaW5kKHRoaXMsdCl9KSk6dGhpcy4jXyh0KTt0aGlzLiNMPVByb21pc2UucmFjZShhKX1jb25zdCBuPWF3YWl0IHRoaXMuI0w7aWYoIW4pdGhyb3cgbmV3IEpweEVycm9yKCJPcGVuSlBFRyBmYWlsZWQgdG8gaW5pdGlhbGl6ZSIpO2xldCBzO3RyeXtjb25zdCBvPWUubGVuZ3RoO3M9bi5fbWFsbG9jKG8pO24ud3JpdGVBcnJheVRvTWVtb3J5KGUscyk7aWYobi5fanAyX2RlY29kZShzLG8sdD4wP3Q6MCwhIWEsISFyLGkpKXtjb25zdHtlcnJvck1lc3NhZ2VzOmV9PW47aWYoZSl7ZGVsZXRlIG4uZXJyb3JNZXNzYWdlczt0aHJvdyBuZXcgSnB4RXJyb3IoZSl9dGhyb3cgbmV3IEpweEVycm9yKCJVbmtub3duIGVycm9yIil9Y29uc3R7aW1hZ2VEYXRhOmN9PW47bi5pbWFnZURhdGE9bnVsbDtyZXR1cm4gY31maW5hbGx5e3MmJm4uX2ZyZWUocyl9fXN0YXRpYyBjbGVhbnVwKCl7dGhpcy4jTD1udWxsfXN0YXRpYyBwYXJzZUltYWdlUHJvcGVydGllcyhlKXtsZXQgdD1lLmdldEJ5dGUoKTtmb3IoO3Q+PTA7KXtjb25zdCBhPXQ7dD1lLmdldEJ5dGUoKTtpZig2NTM2MT09PShhPDw4fHQpKXtlLnNraXAoNCk7Y29uc3QgdD1lLmdldEludDMyKCk+Pj4wLGE9ZS5nZXRJbnQzMigpPj4+MCxyPWUuZ2V0SW50MzIoKT4+PjAsaT1lLmdldEludDMyKCk+Pj4wO2Uuc2tpcCgxNik7cmV0dXJue3dpZHRoOnQtcixoZWlnaHQ6YS1pLGJpdHNQZXJDb21wb25lbnQ6OCxjb21wb25lbnRzQ291bnQ6ZS5nZXRVaW50MTYoKX19fXRocm93IG5ldyBKcHhFcnJvcigiTm8gc2l6ZSBtYXJrZXIgZm91bmQgaW4gSlBYIHN0cmVhbSIpfX1mdW5jdGlvbiBhZGRTdGF0ZShlLHQsYSxyLGkpe2xldCBuPWU7Zm9yKGxldCBlPTAsYT10Lmxlbmd0aC0xO2U8YTtlKyspe2NvbnN0IGE9dFtlXTtuPW5bYV18fD1bXX1uW3QuYXQoLTEpXT17Y2hlY2tGbjphLGl0ZXJhdGVGbjpyLHByb2Nlc3NGbjppfX1jb25zdCBEYT1bXTthZGRTdGF0ZShEYSxbcGUsYmUsTnQsbWVdLG51bGwsKGZ1bmN0aW9uIGl0ZXJhdGVJbmxpbmVJbWFnZUdyb3VwKGUsdCl7Y29uc3QgYT1lLmZuQXJyYXkscj0odC0oZS5pQ3Vyci0zKSklNDtzd2l0Y2gocil7Y2FzZSAwOnJldHVybiBhW3RdPT09cGU7Y2FzZSAxOnJldHVybiBhW3RdPT09YmU7Y2FzZSAyOnJldHVybiBhW3RdPT09TnQ7Y2FzZSAzOnJldHVybiBhW3RdPT09bWV9dGhyb3cgbmV3IEVycm9yKGBpdGVyYXRlSW5saW5lSW1hZ2VHcm91cCAtIGludmFsaWQgcG9zOiAke3J9YCl9KSwoZnVuY3Rpb24gZm91bmRJbmxpbmVJbWFnZUdyb3VwKGUsdCl7Y29uc3QgYT1lLmZuQXJyYXkscj1lLmFyZ3NBcnJheSxpPWUuaUN1cnIsbj1pLTMscz1pLTIsbz1pLTEsYz1NYXRoLm1pbihNYXRoLmZsb29yKCh0LW4pLzQpLDIwMCk7aWYoYzwxMClyZXR1cm4gdC0odC1uKSU0O2xldCBsPTA7Y29uc3QgaD1bXTtsZXQgdT0wLGQ9MSxmPTE7Zm9yKGxldCBlPTA7ZTxjO2UrKyl7Y29uc3QgdD1yW3MrKGU8PDIpXSxhPXJbbysoZTw8MildWzBdO2lmKGQrYS53aWR0aD4xZTMpe2w9TWF0aC5tYXgobCxkKTtmKz11KzI7ZD0wO3U9MH1oLnB1c2goe3RyYW5zZm9ybTp0LHg6ZCx5OmYsdzphLndpZHRoLGg6YS5oZWlnaHR9KTtkKz1hLndpZHRoKzI7dT1NYXRoLm1heCh1LGEuaGVpZ2h0KX1jb25zdCBnPU1hdGgubWF4KGwsZCkrMSxwPWYrdSsxLG09bmV3IFVpbnQ4QXJyYXkoZypwKjQpLGI9Zzw8Mjtmb3IobGV0IGU9MDtlPGM7ZSsrKXtjb25zdCB0PXJbbysoZTw8MildWzBdLmRhdGEsYT1oW2VdLnc8PDI7bGV0IGk9MCxuPWhbZV0ueCtoW2VdLnkqZzw8MjttLnNldCh0LnN1YmFycmF5KDAsYSksbi1iKTtmb3IobGV0IHI9MCxzPWhbZV0uaDtyPHM7cisrKXttLnNldCh0LnN1YmFycmF5KGksaSthKSxuKTtpKz1hO24rPWJ9bS5zZXQodC5zdWJhcnJheShpLWEsaSksbik7Zm9yKDtuPj0wOyl7dFtuLTRdPXRbbl07dFtuLTNdPXRbbisxXTt0W24tMl09dFtuKzJdO3Rbbi0xXT10W24rM107dFtuK2FdPXRbbithLTRdO3RbbithKzFdPXRbbithLTNdO3RbbithKzJdPXRbbithLTJdO3RbbithKzNdPXRbbithLTFdO24tPWJ9fWNvbnN0IHk9e3dpZHRoOmcsaGVpZ2h0OnB9O2lmKGUuaXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWQpe2NvbnN0IGU9bmV3IE9mZnNjcmVlbkNhbnZhcyhnLHApO2UuZ2V0Q29udGV4dCgiMmQiKS5wdXRJbWFnZURhdGEobmV3IEltYWdlRGF0YShuZXcgVWludDhDbGFtcGVkQXJyYXkobS5idWZmZXIpLGcscCksMCwwKTt5LmJpdG1hcD1lLnRyYW5zZmVyVG9JbWFnZUJpdG1hcCgpO3kuZGF0YT1udWxsfWVsc2V7eS5raW5kPXY7eS5kYXRhPW19YS5zcGxpY2Uobiw0KmMsRXQpO3Iuc3BsaWNlKG4sNCpjLFt5LGhdKTtyZXR1cm4gbisxfSkpO2FkZFN0YXRlKERhLFtwZSxiZSxEdCxtZV0sbnVsbCwoZnVuY3Rpb24gaXRlcmF0ZUltYWdlTWFza0dyb3VwKGUsdCl7Y29uc3QgYT1lLmZuQXJyYXkscj0odC0oZS5pQ3Vyci0zKSklNDtzd2l0Y2gocil7Y2FzZSAwOnJldHVybiBhW3RdPT09cGU7Y2FzZSAxOnJldHVybiBhW3RdPT09YmU7Y2FzZSAyOnJldHVybiBhW3RdPT09RHQ7Y2FzZSAzOnJldHVybiBhW3RdPT09bWV9dGhyb3cgbmV3IEVycm9yKGBpdGVyYXRlSW1hZ2VNYXNrR3JvdXAgLSBpbnZhbGlkIHBvczogJHtyfWApfSksKGZ1bmN0aW9uIGZvdW5kSW1hZ2VNYXNrR3JvdXAoZSx0KXtjb25zdCBhPWUuZm5BcnJheSxyPWUuYXJnc0FycmF5LGk9ZS5pQ3VycixuPWktMyxzPWktMixvPWktMTtsZXQgYz1NYXRoLmZsb29yKCh0LW4pLzQpO2lmKGM8MTApcmV0dXJuIHQtKHQtbiklNDtsZXQgbCxoLHU9ITE7Y29uc3QgZD1yW29dWzBdLGY9cltzXVswXSxnPXJbc11bMV0scD1yW3NdWzJdLG09cltzXVszXTtpZihnPT09cCl7dT0hMDtsPXMrNDtsZXQgZT1vKzQ7Zm9yKGxldCB0PTE7dDxjO3QrKyxsKz00LGUrPTQpe2g9cltsXTtpZihyW2VdWzBdIT09ZHx8aFswXSE9PWZ8fGhbMV0hPT1nfHxoWzJdIT09cHx8aFszXSE9PW0pe3Q8MTA/dT0hMTpjPXQ7YnJlYWt9fX1pZih1KXtjPU1hdGgubWluKGMsMWUzKTtjb25zdCBlPW5ldyBGbG9hdDMyQXJyYXkoMipjKTtsPXM7Zm9yKGxldCB0PTA7dDxjO3QrKyxsKz00KXtoPXJbbF07ZVt0PDwxXT1oWzRdO2VbMSsodDw8MSldPWhbNV19YS5zcGxpY2Uobiw0KmMsTHQpO3Iuc3BsaWNlKG4sNCpjLFtkLGYsZyxwLG0sZV0pfWVsc2V7Yz1NYXRoLm1pbihjLDEwMCk7Y29uc3QgZT1bXTtmb3IobGV0IHQ9MDt0PGM7dCsrKXtoPXJbcysodDw8MildO2NvbnN0IGE9cltvKyh0PDwyKV1bMF07ZS5wdXNoKHtkYXRhOmEuZGF0YSx3aWR0aDphLndpZHRoLGhlaWdodDphLmhlaWdodCxpbnRlcnBvbGF0ZTphLmludGVycG9sYXRlLGNvdW50OmEuY291bnQsdHJhbnNmb3JtOmh9KX1hLnNwbGljZShuLDQqYyxCdCk7ci5zcGxpY2Uobiw0KmMsW2VdKX1yZXR1cm4gbisxfSkpO2FkZFN0YXRlKERhLFtwZSxiZSxSdCxtZV0sKGZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5hcmdzQXJyYXksYT1lLmlDdXJyLTI7cmV0dXJuIDA9PT10W2FdWzFdJiYwPT09dFthXVsyXX0pLChmdW5jdGlvbiBpdGVyYXRlSW1hZ2VHcm91cChlLHQpe2NvbnN0IGE9ZS5mbkFycmF5LHI9ZS5hcmdzQXJyYXksaT0odC0oZS5pQ3Vyci0zKSklNDtzd2l0Y2goaSl7Y2FzZSAwOnJldHVybiBhW3RdPT09cGU7Y2FzZSAxOmlmKGFbdF0hPT1iZSlyZXR1cm4hMTtjb25zdCBpPWUuaUN1cnItMixuPXJbaV1bMF0scz1yW2ldWzNdO3JldHVybiByW3RdWzBdPT09biYmMD09PXJbdF1bMV0mJjA9PT1yW3RdWzJdJiZyW3RdWzNdPT09cztjYXNlIDI6aWYoYVt0XSE9PVJ0KXJldHVybiExO2NvbnN0IG89cltlLmlDdXJyLTFdWzBdO3JldHVybiByW3RdWzBdPT09bztjYXNlIDM6cmV0dXJuIGFbdF09PT1tZX10aHJvdyBuZXcgRXJyb3IoYGl0ZXJhdGVJbWFnZUdyb3VwIC0gaW52YWxpZCBwb3M6ICR7aX1gKX0pLChmdW5jdGlvbihlLHQpe2NvbnN0IGE9ZS5mbkFycmF5LHI9ZS5hcmdzQXJyYXksaT1lLmlDdXJyLG49aS0zLHM9aS0yLG89cltpLTFdWzBdLGM9cltzXVswXSxsPXJbc11bM10saD1NYXRoLm1pbihNYXRoLmZsb29yKCh0LW4pLzQpLDFlMyk7aWYoaDwzKXJldHVybiB0LSh0LW4pJTQ7Y29uc3QgdT1uZXcgRmxvYXQzMkFycmF5KDIqaCk7bGV0IGQ9cztmb3IobGV0IGU9MDtlPGg7ZSsrLGQrPTQpe2NvbnN0IHQ9cltkXTt1W2U8PDFdPXRbNF07dVsxKyhlPDwxKV09dFs1XX1jb25zdCBmPVtvLGMsbCx1XTthLnNwbGljZShuLDQqaCxQdCk7ci5zcGxpY2Uobiw0KmgsZik7cmV0dXJuIG4rMX0pKTthZGRTdGF0ZShEYSxbUGUscWUsR2UsS2UsTGVdLG51bGwsKGZ1bmN0aW9uIGl0ZXJhdGVTaG93VGV4dEdyb3VwKGUsdCl7Y29uc3QgYT1lLmZuQXJyYXkscj1lLmFyZ3NBcnJheSxpPSh0LShlLmlDdXJyLTQpKSU1O3N3aXRjaChpKXtjYXNlIDA6cmV0dXJuIGFbdF09PT1QZTtjYXNlIDE6cmV0dXJuIGFbdF09PT1xZTtjYXNlIDI6cmV0dXJuIGFbdF09PT1HZTtjYXNlIDM6aWYoYVt0XSE9PUtlKXJldHVybiExO2NvbnN0IGk9ZS5pQ3Vyci0zLG49cltpXVswXSxzPXJbaV1bMV07cmV0dXJuIHJbdF1bMF09PT1uJiZyW3RdWzFdPT09cztjYXNlIDQ6cmV0dXJuIGFbdF09PT1MZX10aHJvdyBuZXcgRXJyb3IoYGl0ZXJhdGVTaG93VGV4dEdyb3VwIC0gaW52YWxpZCBwb3M6ICR7aX1gKX0pLChmdW5jdGlvbihlLHQpe2NvbnN0IGE9ZS5mbkFycmF5LHI9ZS5hcmdzQXJyYXksaT1lLmlDdXJyLG49aS00LHM9aS0zLG89aS0yLGM9aS0xLGw9aSxoPXJbc11bMF0sdT1yW3NdWzFdO2xldCBkPU1hdGgubWluKE1hdGguZmxvb3IoKHQtbikvNSksMWUzKTtpZihkPDMpcmV0dXJuIHQtKHQtbiklNTtsZXQgZj1uO2lmKG4+PTQmJmFbbi00XT09PWFbc10mJmFbbi0zXT09PWFbb10mJmFbbi0yXT09PWFbY10mJmFbbi0xXT09PWFbbF0mJnJbbi00XVswXT09PWgmJnJbbi00XVsxXT09PXUpe2QrKztmLT01fWxldCBnPWYrNDtmb3IobGV0IGU9MTtlPGQ7ZSsrKXthLnNwbGljZShnLDMpO3Iuc3BsaWNlKGcsMyk7Zys9Mn1yZXR1cm4gZysxfSkpO2FkZFN0YXRlKERhLFtwZSxiZSxfdCxtZV0sKGU9Pntjb25zdCB0PWUuYXJnc0FycmF5LGE9dFtlLmlDdXJyLTFdWzBdO2lmKGEhPT12ZSYmYSE9PUZlJiZhIT09T2UmJmEhPT1NZSYmYSE9PURlJiZhIT09QmUpcmV0dXJuITA7Y29uc3Qgcj10W2UuaUN1cnItMl07cmV0dXJuIDE9PT1yWzBdJiYwPT09clsxXSYmMD09PXJbMl0mJjE9PT1yWzNdfSksKCgpPT4hMSksKChlLHQpPT57Y29uc3R7Zm5BcnJheTphLGFyZ3NBcnJheTpyfT1lLGk9ZS5pQ3VycixuPWktMyxzPWktMixvPXJbaS0xXSxjPXJbc10sWyxbbF0saF09bztpZihoKXtVdGlsLnNjYWxlTWluTWF4KGMsaCk7Zm9yKGxldCBlPTAsdD1sLmxlbmd0aDtlPHQ7KXN3aXRjaChsW2UrK10pe2Nhc2UgSHQ6Y2FzZSBXdDpVdGlsLmFwcGx5VHJhbnNmb3JtKGwsYyxlKTtlKz0yO2JyZWFrO2Nhc2UgenQ6VXRpbC5hcHBseVRyYW5zZm9ybVRvQmV6aWVyKGwsYyxlKTtlKz02fX1hLnNwbGljZShuLDQsX3QpO3Iuc3BsaWNlKG4sNCxvKTtyZXR1cm4gbisxfSkpO2NsYXNzIE51bGxPcHRpbWl6ZXJ7Y29uc3RydWN0b3IoZSl7dGhpcy5xdWV1ZT1lfV9vcHRpbWl6ZSgpe31wdXNoKGUsdCl7dGhpcy5xdWV1ZS5mbkFycmF5LnB1c2goZSk7dGhpcy5xdWV1ZS5hcmdzQXJyYXkucHVzaCh0KTt0aGlzLl9vcHRpbWl6ZSgpfWZsdXNoKCl7fXJlc2V0KCl7fX1jbGFzcyBRdWV1ZU9wdGltaXplciBleHRlbmRzIE51bGxPcHRpbWl6ZXJ7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSk7dGhpcy5zdGF0ZT1udWxsO3RoaXMuY29udGV4dD17aUN1cnI6MCxmbkFycmF5OmUuZm5BcnJheSxhcmdzQXJyYXk6ZS5hcmdzQXJyYXksaXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWQ6T3BlcmF0b3JMaXN0LmlzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkfTt0aGlzLm1hdGNoPW51bGw7dGhpcy5sYXN0UHJvY2Vzc2VkPTB9X29wdGltaXplKCl7Y29uc3QgZT10aGlzLnF1ZXVlLmZuQXJyYXk7bGV0IHQ9dGhpcy5sYXN0UHJvY2Vzc2VkLGE9ZS5sZW5ndGgscj10aGlzLnN0YXRlLGk9dGhpcy5tYXRjaDtpZighciYmIWkmJnQrMT09PWEmJiFEYVtlW3RdXSl7dGhpcy5sYXN0UHJvY2Vzc2VkPWE7cmV0dXJufWNvbnN0IG49dGhpcy5jb250ZXh0O2Zvcig7dDxhOyl7aWYoaSl7aWYoKDAsaS5pdGVyYXRlRm4pKG4sdCkpe3QrKztjb250aW51ZX10PSgwLGkucHJvY2Vzc0ZuKShuLHQrMSk7YT1lLmxlbmd0aDtpPW51bGw7cj1udWxsO2lmKHQ+PWEpYnJlYWt9cj0ocnx8RGEpW2VbdF1dO2lmKHImJiFBcnJheS5pc0FycmF5KHIpKXtuLmlDdXJyPXQ7dCsrO2lmKCFyLmNoZWNrRm58fCgwLHIuY2hlY2tGbikobikpe2k9cjtyPW51bGx9ZWxzZSByPW51bGx9ZWxzZSB0Kyt9dGhpcy5zdGF0ZT1yO3RoaXMubWF0Y2g9aTt0aGlzLmxhc3RQcm9jZXNzZWQ9dH1mbHVzaCgpe2Zvcig7dGhpcy5tYXRjaDspe2NvbnN0IGU9dGhpcy5xdWV1ZS5mbkFycmF5Lmxlbmd0aDt0aGlzLmxhc3RQcm9jZXNzZWQ9KDAsdGhpcy5tYXRjaC5wcm9jZXNzRm4pKHRoaXMuY29udGV4dCxlKTt0aGlzLm1hdGNoPW51bGw7dGhpcy5zdGF0ZT1udWxsO3RoaXMuX29wdGltaXplKCl9fXJlc2V0KCl7dGhpcy5zdGF0ZT1udWxsO3RoaXMubWF0Y2g9bnVsbDt0aGlzLmxhc3RQcm9jZXNzZWQ9MH19Y2xhc3MgT3BlcmF0b3JMaXN0e3N0YXRpYyBDSFVOS19TSVpFPTFlMztzdGF0aWMgQ0hVTktfU0laRV9BQk9VVD10aGlzLkNIVU5LX1NJWkUtNTtzdGF0aWMgaXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWQ9ITE7Y29uc3RydWN0b3IoZT0wLHQpe3RoaXMuX3N0cmVhbVNpbms9dDt0aGlzLmZuQXJyYXk9W107dGhpcy5hcmdzQXJyYXk9W107dGhpcy5vcHRpbWl6ZXI9IXR8fGUmZD9uZXcgTnVsbE9wdGltaXplcih0aGlzKTpuZXcgUXVldWVPcHRpbWl6ZXIodGhpcyk7dGhpcy5kZXBlbmRlbmNpZXM9bmV3IFNldDt0aGlzLl90b3RhbExlbmd0aD0wO3RoaXMud2VpZ2h0PTA7dGhpcy5fcmVzb2x2ZWQ9dD9udWxsOlByb21pc2UucmVzb2x2ZSgpfXN0YXRpYyBzZXRPcHRpb25zKHtpc09mZnNjcmVlbkNhbnZhc1N1cHBvcnRlZDplfSl7dGhpcy5pc09mZnNjcmVlbkNhbnZhc1N1cHBvcnRlZD1lfWdldCBsZW5ndGgoKXtyZXR1cm4gdGhpcy5hcmdzQXJyYXkubGVuZ3RofWdldCByZWFkeSgpe3JldHVybiB0aGlzLl9yZXNvbHZlZHx8dGhpcy5fc3RyZWFtU2luay5yZWFkeX1nZXQgdG90YWxMZW5ndGgoKXtyZXR1cm4gdGhpcy5fdG90YWxMZW5ndGgrdGhpcy5sZW5ndGh9YWRkT3AoZSx0KXt0aGlzLm9wdGltaXplci5wdXNoKGUsdCk7dGhpcy53ZWlnaHQrKzt0aGlzLl9zdHJlYW1TaW5rJiYodGhpcy53ZWlnaHQ+PU9wZXJhdG9yTGlzdC5DSFVOS19TSVpFfHx0aGlzLndlaWdodD49T3BlcmF0b3JMaXN0LkNIVU5LX1NJWkVfQUJPVVQmJihlPT09bWV8fGU9PT1MZSkpJiZ0aGlzLmZsdXNoKCl9YWRkSW1hZ2VPcHMoZSx0LGEscj0hMSl7aWYocil7dGhpcy5hZGRPcChwZSk7dGhpcy5hZGRPcChnZSxbW1siU01hc2siLCExXV1dKX12b2lkIDAhPT1hJiZ0aGlzLmFkZE9wKFN0LFsiT0MiLGFdKTt0aGlzLmFkZE9wKGUsdCk7dm9pZCAwIT09YSYmdGhpcy5hZGRPcChBdCxbXSk7ciYmdGhpcy5hZGRPcChtZSl9YWRkRGVwZW5kZW5jeShlKXtpZighdGhpcy5kZXBlbmRlbmNpZXMuaGFzKGUpKXt0aGlzLmRlcGVuZGVuY2llcy5hZGQoZSk7dGhpcy5hZGRPcChzZSxbZV0pfX1hZGREZXBlbmRlbmNpZXMoZSl7Zm9yKGNvbnN0IHQgb2YgZSl0aGlzLmFkZERlcGVuZGVuY3kodCl9YWRkT3BMaXN0KGUpe2lmKGUgaW5zdGFuY2VvZiBPcGVyYXRvckxpc3Qpe2Zvcihjb25zdCB0IG9mIGUuZGVwZW5kZW5jaWVzKXRoaXMuZGVwZW5kZW5jaWVzLmFkZCh0KTtmb3IobGV0IHQ9MCxhPWUubGVuZ3RoO3Q8YTt0KyspdGhpcy5hZGRPcChlLmZuQXJyYXlbdF0sZS5hcmdzQXJyYXlbdF0pfWVsc2Ugd2FybignYWRkT3BMaXN0IC0gaWdub3JpbmcgaW52YWxpZCAib3BMaXN0IiBwYXJhbWV0ZXIuJyl9Z2V0SVIoKXtyZXR1cm57Zm5BcnJheTp0aGlzLmZuQXJyYXksYXJnc0FycmF5OnRoaXMuYXJnc0FycmF5LGxlbmd0aDp0aGlzLmxlbmd0aH19Z2V0IF90cmFuc2ZlcnMoKXtjb25zdCBlPVtdLHtmbkFycmF5OnQsYXJnc0FycmF5OmEsbGVuZ3RoOnJ9PXRoaXM7Zm9yKGxldCBpPTA7aTxyO2krKylzd2l0Y2godFtpXSl7Y2FzZSBOdDpjYXNlIEV0OmNhc2UgRHQ6e2NvbnN0e2JpdG1hcDp0LGRhdGE6cn09YVtpXVswXTsodHx8cj8uYnVmZmVyKSYmZS5wdXNoKHR8fHIuYnVmZmVyKTticmVha31jYXNlIF90Ontjb25zdFssW3RdLHJdPWFbaV07dCYmZS5wdXNoKHQuYnVmZmVyLHIuYnVmZmVyKTticmVha31jYXNlIHZ0OmNvbnN0W3Qscl09YVtpXTt0JiZlLnB1c2godC5idWZmZXIpO3ImJmUucHVzaChyLmJ1ZmZlcik7YnJlYWs7Y2FzZSBHZTplLnB1c2goYVtpXVswXS5idWZmZXIpfXJldHVybiBlfWZsdXNoKGU9ITEsdD1udWxsKXt0aGlzLm9wdGltaXplci5mbHVzaCgpO2NvbnN0IGE9dGhpcy5sZW5ndGg7dGhpcy5fdG90YWxMZW5ndGgrPWE7dGhpcy5fc3RyZWFtU2luay5lbnF1ZXVlKHtmbkFycmF5OnRoaXMuZm5BcnJheSxhcmdzQXJyYXk6dGhpcy5hcmdzQXJyYXksbGFzdENodW5rOmUsc2VwYXJhdGVBbm5vdHM6dCxsZW5ndGg6YX0sMSx0aGlzLl90cmFuc2ZlcnMpO3RoaXMuZGVwZW5kZW5jaWVzLmNsZWFyKCk7dGhpcy5mbkFycmF5Lmxlbmd0aD0wO3RoaXMuYXJnc0FycmF5Lmxlbmd0aD0wO3RoaXMud2VpZ2h0PTA7dGhpcy5vcHRpbWl6ZXIucmVzZXQoKX19ZnVuY3Rpb24gaGV4VG9JbnQoZSx0KXtsZXQgYT0wO2ZvcihsZXQgcj0wO3I8PXQ7cisrKWE9YTw8OHxlW3JdO3JldHVybiBhPj4+MH1mdW5jdGlvbiBoZXhUb1N0cihlLHQpe3JldHVybiAxPT09dD9TdHJpbmcuZnJvbUNoYXJDb2RlKGVbMF0sZVsxXSk6Mz09PXQ/U3RyaW5nLmZyb21DaGFyQ29kZShlWzBdLGVbMV0sZVsyXSxlWzNdKTpTdHJpbmcuZnJvbUNoYXJDb2RlKC4uLmUuc3ViYXJyYXkoMCx0KzEpKX1mdW5jdGlvbiBhZGRIZXgoZSx0LGEpe2xldCByPTA7Zm9yKGxldCBpPWE7aT49MDtpLS0pe3IrPWVbaV0rdFtpXTtlW2ldPTI1NSZyO3I+Pj04fX1mdW5jdGlvbiBpbmNIZXgoZSx0KXtsZXQgYT0xO2ZvcihsZXQgcj10O3I+PTAmJmE+MDtyLS0pe2ErPWVbcl07ZVtyXT0yNTUmYTthPj49OH19Y29uc3QgQmE9MTY7Y2xhc3MgQmluYXJ5Q01hcFN0cmVhbXtjb25zdHJ1Y3RvcihlKXt0aGlzLmJ1ZmZlcj1lO3RoaXMucG9zPTA7dGhpcy5lbmQ9ZS5sZW5ndGg7dGhpcy50bXBCdWY9bmV3IFVpbnQ4QXJyYXkoMTkpfXJlYWRCeXRlKCl7cmV0dXJuIHRoaXMucG9zPj10aGlzLmVuZD8tMTp0aGlzLmJ1ZmZlclt0aGlzLnBvcysrXX1yZWFkTnVtYmVyKCl7bGV0IGUsdD0wO2Rve2NvbnN0IGE9dGhpcy5yZWFkQnl0ZSgpO2lmKGE8MCl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoInVuZXhwZWN0ZWQgRU9GIGluIGJjbWFwIik7ZT0hKDEyOCZhKTt0PXQ8PDd8MTI3JmF9d2hpbGUoIWUpO3JldHVybiB0fXJlYWRTaWduZWQoKXtjb25zdCBlPXRoaXMucmVhZE51bWJlcigpO3JldHVybiAxJmU/fihlPj4+MSk6ZT4+PjF9cmVhZEhleChlLHQpe2Uuc2V0KHRoaXMuYnVmZmVyLnN1YmFycmF5KHRoaXMucG9zLHRoaXMucG9zK3QrMSkpO3RoaXMucG9zKz10KzF9cmVhZEhleE51bWJlcihlLHQpe2xldCBhO2NvbnN0IHI9dGhpcy50bXBCdWY7bGV0IGk9MDtkb3tjb25zdCBlPXRoaXMucmVhZEJ5dGUoKTtpZihlPDApdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJ1bmV4cGVjdGVkIEVPRiBpbiBiY21hcCIpO2E9ISgxMjgmZSk7cltpKytdPTEyNyZlfXdoaWxlKCFhKTtsZXQgbj10LHM9MCxvPTA7Zm9yKDtuPj0wOyl7Zm9yKDtvPDgmJnIubGVuZ3RoPjA7KXtzfD1yWy0taV08PG87bys9N31lW25dPTI1NSZzO24tLTtzPj49ODtvLT04fX1yZWFkSGV4U2lnbmVkKGUsdCl7dGhpcy5yZWFkSGV4TnVtYmVyKGUsdCk7Y29uc3QgYT0xJmVbdF0/MjU1OjA7bGV0IHI9MDtmb3IobGV0IGk9MDtpPD10O2krKyl7cj0oMSZyKTw8OHxlW2ldO2VbaV09cj4+MV5hfX1yZWFkU3RyaW5nKCl7Y29uc3QgZT10aGlzLnJlYWROdW1iZXIoKSx0PW5ldyBBcnJheShlKTtmb3IobGV0IGE9MDthPGU7YSsrKXRbYV09dGhpcy5yZWFkTnVtYmVyKCk7cmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoLi4udCl9fWNsYXNzIEJpbmFyeUNNYXBSZWFkZXJ7YXN5bmMgcHJvY2VzcyhlLHQsYSl7Y29uc3Qgcj1uZXcgQmluYXJ5Q01hcFN0cmVhbShlKSxpPXIucmVhZEJ5dGUoKTt0LnZlcnRpY2FsPSEhKDEmaSk7bGV0IG49bnVsbDtjb25zdCBzPW5ldyBVaW50OEFycmF5KEJhKSxvPW5ldyBVaW50OEFycmF5KEJhKSxjPW5ldyBVaW50OEFycmF5KEJhKSxsPW5ldyBVaW50OEFycmF5KEJhKSxoPW5ldyBVaW50OEFycmF5KEJhKTtsZXQgdSxkO2Zvcig7KGQ9ci5yZWFkQnl0ZSgpKT49MDspe2NvbnN0IGU9ZD4+NTtpZig3PT09ZSl7c3dpdGNoKDMxJmQpe2Nhc2UgMDpyLnJlYWRTdHJpbmcoKTticmVhaztjYXNlIDE6bj1yLnJlYWRTdHJpbmcoKX1jb250aW51ZX1jb25zdCBhPSEhKDE2JmQpLGk9MTUmZDtpZihpKzE+QmEpdGhyb3cgbmV3IEVycm9yKCJCaW5hcnlDTWFwUmVhZGVyLnByb2Nlc3M6IEludmFsaWQgZGF0YVNpemUuIik7Y29uc3QgZj0xLGc9ci5yZWFkTnVtYmVyKCk7c3dpdGNoKGUpe2Nhc2UgMDpyLnJlYWRIZXgocyxpKTtyLnJlYWRIZXhOdW1iZXIobyxpKTthZGRIZXgobyxzLGkpO3QuYWRkQ29kZXNwYWNlUmFuZ2UoaSsxLGhleFRvSW50KHMsaSksaGV4VG9JbnQobyxpKSk7Zm9yKGxldCBlPTE7ZTxnO2UrKyl7aW5jSGV4KG8saSk7ci5yZWFkSGV4TnVtYmVyKHMsaSk7YWRkSGV4KHMsbyxpKTtyLnJlYWRIZXhOdW1iZXIobyxpKTthZGRIZXgobyxzLGkpO3QuYWRkQ29kZXNwYWNlUmFuZ2UoaSsxLGhleFRvSW50KHMsaSksaGV4VG9JbnQobyxpKSl9YnJlYWs7Y2FzZSAxOnIucmVhZEhleChzLGkpO3IucmVhZEhleE51bWJlcihvLGkpO2FkZEhleChvLHMsaSk7ci5yZWFkTnVtYmVyKCk7Zm9yKGxldCBlPTE7ZTxnO2UrKyl7aW5jSGV4KG8saSk7ci5yZWFkSGV4TnVtYmVyKHMsaSk7YWRkSGV4KHMsbyxpKTtyLnJlYWRIZXhOdW1iZXIobyxpKTthZGRIZXgobyxzLGkpO3IucmVhZE51bWJlcigpfWJyZWFrO2Nhc2UgMjpyLnJlYWRIZXgoYyxpKTt1PXIucmVhZE51bWJlcigpO3QubWFwT25lKGhleFRvSW50KGMsaSksdSk7Zm9yKGxldCBlPTE7ZTxnO2UrKyl7aW5jSGV4KGMsaSk7aWYoIWEpe3IucmVhZEhleE51bWJlcihoLGkpO2FkZEhleChjLGgsaSl9dT1yLnJlYWRTaWduZWQoKSsodSsxKTt0Lm1hcE9uZShoZXhUb0ludChjLGkpLHUpfWJyZWFrO2Nhc2UgMzpyLnJlYWRIZXgocyxpKTtyLnJlYWRIZXhOdW1iZXIobyxpKTthZGRIZXgobyxzLGkpO3U9ci5yZWFkTnVtYmVyKCk7dC5tYXBDaWRSYW5nZShoZXhUb0ludChzLGkpLGhleFRvSW50KG8saSksdSk7Zm9yKGxldCBlPTE7ZTxnO2UrKyl7aW5jSGV4KG8saSk7aWYoYSlzLnNldChvKTtlbHNle3IucmVhZEhleE51bWJlcihzLGkpO2FkZEhleChzLG8saSl9ci5yZWFkSGV4TnVtYmVyKG8saSk7YWRkSGV4KG8scyxpKTt1PXIucmVhZE51bWJlcigpO3QubWFwQ2lkUmFuZ2UoaGV4VG9JbnQocyxpKSxoZXhUb0ludChvLGkpLHUpfWJyZWFrO2Nhc2UgNDpyLnJlYWRIZXgoYyxmKTtyLnJlYWRIZXgobCxpKTt0Lm1hcE9uZShoZXhUb0ludChjLGYpLGhleFRvU3RyKGwsaSkpO2ZvcihsZXQgZT0xO2U8ZztlKyspe2luY0hleChjLGYpO2lmKCFhKXtyLnJlYWRIZXhOdW1iZXIoaCxmKTthZGRIZXgoYyxoLGYpfWluY0hleChsLGkpO3IucmVhZEhleFNpZ25lZChoLGkpO2FkZEhleChsLGgsaSk7dC5tYXBPbmUoaGV4VG9JbnQoYyxmKSxoZXhUb1N0cihsLGkpKX1icmVhaztjYXNlIDU6ci5yZWFkSGV4KHMsZik7ci5yZWFkSGV4TnVtYmVyKG8sZik7YWRkSGV4KG8scyxmKTtyLnJlYWRIZXgobCxpKTt0Lm1hcEJmUmFuZ2UoaGV4VG9JbnQocyxmKSxoZXhUb0ludChvLGYpLGhleFRvU3RyKGwsaSkpO2ZvcihsZXQgZT0xO2U8ZztlKyspe2luY0hleChvLGYpO2lmKGEpcy5zZXQobyk7ZWxzZXtyLnJlYWRIZXhOdW1iZXIocyxmKTthZGRIZXgocyxvLGYpfXIucmVhZEhleE51bWJlcihvLGYpO2FkZEhleChvLHMsZik7ci5yZWFkSGV4KGwsaSk7dC5tYXBCZlJhbmdlKGhleFRvSW50KHMsZiksaGV4VG9JbnQobyxmKSxoZXhUb1N0cihsLGkpKX1icmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcihgQmluYXJ5Q01hcFJlYWRlci5wcm9jZXNzIC0gdW5rbm93biB0eXBlOiAke2V9YCl9fXJldHVybiBuP2Eobik6dH19Y2xhc3MgQXNjaWk4NVN0cmVhbSBleHRlbmRzIERlY29kZVN0cmVhbXtjb25zdHJ1Y3RvcihlLHQpe3QmJih0Kj0uOCk7c3VwZXIodCk7dGhpcy5zdHI9ZTt0aGlzLmRpY3Q9ZS5kaWN0O3RoaXMuaW5wdXQ9bmV3IFVpbnQ4QXJyYXkoNSl9cmVhZEJsb2NrKCl7Y29uc3QgZT10aGlzLnN0cjtsZXQgdD1lLmdldEJ5dGUoKTtmb3IoO2lzV2hpdGVTcGFjZSh0KTspdD1lLmdldEJ5dGUoKTtpZigtMT09PXR8fDEyNj09PXQpe3RoaXMuZW9mPSEwO3JldHVybn1jb25zdCBhPXRoaXMuYnVmZmVyTGVuZ3RoO2xldCByLGk7aWYoMTIyPT09dCl7cj10aGlzLmVuc3VyZUJ1ZmZlcihhKzQpO2ZvcihpPTA7aTw0OysraSlyW2EraV09MDt0aGlzLmJ1ZmZlckxlbmd0aCs9NH1lbHNle2NvbnN0IG49dGhpcy5pbnB1dDtuWzBdPXQ7Zm9yKGk9MTtpPDU7KytpKXt0PWUuZ2V0Qnl0ZSgpO2Zvcig7aXNXaGl0ZVNwYWNlKHQpOyl0PWUuZ2V0Qnl0ZSgpO25baV09dDtpZigtMT09PXR8fDEyNj09PXQpYnJlYWt9cj10aGlzLmVuc3VyZUJ1ZmZlcihhK2ktMSk7dGhpcy5idWZmZXJMZW5ndGgrPWktMTtpZihpPDUpe2Zvcig7aTw1OysraSluW2ldPTExNzt0aGlzLmVvZj0hMH1sZXQgcz0wO2ZvcihpPTA7aTw1OysraSlzPTg1KnMrKG5baV0tMzMpO2ZvcihpPTM7aT49MDstLWkpe3JbYStpXT0yNTUmcztzPj49OH19fX1jbGFzcyBBc2NpaUhleFN0cmVhbSBleHRlbmRzIERlY29kZVN0cmVhbXtjb25zdHJ1Y3RvcihlLHQpe3QmJih0Kj0uNSk7c3VwZXIodCk7dGhpcy5zdHI9ZTt0aGlzLmRpY3Q9ZS5kaWN0O3RoaXMuZmlyc3REaWdpdD0tMX1yZWFkQmxvY2soKXtjb25zdCBlPXRoaXMuc3RyLmdldEJ5dGVzKDhlMyk7aWYoIWUubGVuZ3RoKXt0aGlzLmVvZj0hMDtyZXR1cm59Y29uc3QgdD1lLmxlbmd0aCsxPj4xLGE9dGhpcy5lbnN1cmVCdWZmZXIodGhpcy5idWZmZXJMZW5ndGgrdCk7bGV0IHI9dGhpcy5idWZmZXJMZW5ndGgsaT10aGlzLmZpcnN0RGlnaXQ7Zm9yKGNvbnN0IHQgb2YgZSl7bGV0IGU7aWYodD49NDgmJnQ8PTU3KWU9MTUmdDtlbHNle2lmKCEodD49NjUmJnQ8PTcwfHx0Pj05NyYmdDw9MTAyKSl7aWYoNjI9PT10KXt0aGlzLmVvZj0hMDticmVha31jb250aW51ZX1lPTkrKDE1JnQpfWlmKGk8MClpPWU7ZWxzZXthW3IrK109aTw8NHxlO2k9LTF9fWlmKGk+PTAmJnRoaXMuZW9mKXthW3IrK109aTw8NDtpPS0xfXRoaXMuZmlyc3REaWdpdD1pO3RoaXMuYnVmZmVyTGVuZ3RoPXJ9fWNvbnN0IFJhPS0xLE5hPVtbLTEsLTFdLFstMSwtMV0sWzcsOF0sWzcsN10sWzYsNl0sWzYsNl0sWzYsNV0sWzYsNV0sWzQsMF0sWzQsMF0sWzQsMF0sWzQsMF0sWzQsMF0sWzQsMF0sWzQsMF0sWzQsMF0sWzMsMV0sWzMsMV0sWzMsMV0sWzMsMV0sWzMsMV0sWzMsMV0sWzMsMV0sWzMsMV0sWzMsMV0sWzMsMV0sWzMsMV0sWzMsMV0sWzMsMV0sWzMsMV0sWzMsMV0sWzMsMV0sWzMsNF0sWzMsNF0sWzMsNF0sWzMsNF0sWzMsNF0sWzMsNF0sWzMsNF0sWzMsNF0sWzMsNF0sWzMsNF0sWzMsNF0sWzMsNF0sWzMsNF0sWzMsNF0sWzMsNF0sWzMsNF0sWzMsM10sWzMsM10sWzMsM10sWzMsM10sWzMsM10sWzMsM10sWzMsM10sWzMsM10sWzMsM10sWzMsM10sWzMsM10sWzMsM10sWzMsM10sWzMsM10sWzMsM10sWzMsM10sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl1dLEVhPVtbLTEsLTFdLFsxMiwtMl0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFsxMSwxNzkyXSxbMTEsMTc5Ml0sWzEyLDE5ODRdLFsxMiwyMDQ4XSxbMTIsMjExMl0sWzEyLDIxNzZdLFsxMiwyMjQwXSxbMTIsMjMwNF0sWzExLDE4NTZdLFsxMSwxODU2XSxbMTEsMTkyMF0sWzExLDE5MjBdLFsxMiwyMzY4XSxbMTIsMjQzMl0sWzEyLDI0OTZdLFsxMiwyNTYwXV0sUGE9W1stMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWzgsMjldLFs4LDI5XSxbOCwzMF0sWzgsMzBdLFs4LDQ1XSxbOCw0NV0sWzgsNDZdLFs4LDQ2XSxbNywyMl0sWzcsMjJdLFs3LDIyXSxbNywyMl0sWzcsMjNdLFs3LDIzXSxbNywyM10sWzcsMjNdLFs4LDQ3XSxbOCw0N10sWzgsNDhdLFs4LDQ4XSxbNiwxM10sWzYsMTNdLFs2LDEzXSxbNiwxM10sWzYsMTNdLFs2LDEzXSxbNiwxM10sWzYsMTNdLFs3LDIwXSxbNywyMF0sWzcsMjBdLFs3LDIwXSxbOCwzM10sWzgsMzNdLFs4LDM0XSxbOCwzNF0sWzgsMzVdLFs4LDM1XSxbOCwzNl0sWzgsMzZdLFs4LDM3XSxbOCwzN10sWzgsMzhdLFs4LDM4XSxbNywxOV0sWzcsMTldLFs3LDE5XSxbNywxOV0sWzgsMzFdLFs4LDMxXSxbOCwzMl0sWzgsMzJdLFs2LDFdLFs2LDFdLFs2LDFdLFs2LDFdLFs2LDFdLFs2LDFdLFs2LDFdLFs2LDFdLFs2LDEyXSxbNiwxMl0sWzYsMTJdLFs2LDEyXSxbNiwxMl0sWzYsMTJdLFs2LDEyXSxbNiwxMl0sWzgsNTNdLFs4LDUzXSxbOCw1NF0sWzgsNTRdLFs3LDI2XSxbNywyNl0sWzcsMjZdLFs3LDI2XSxbOCwzOV0sWzgsMzldLFs4LDQwXSxbOCw0MF0sWzgsNDFdLFs4LDQxXSxbOCw0Ml0sWzgsNDJdLFs4LDQzXSxbOCw0M10sWzgsNDRdLFs4LDQ0XSxbNywyMV0sWzcsMjFdLFs3LDIxXSxbNywyMV0sWzcsMjhdLFs3LDI4XSxbNywyOF0sWzcsMjhdLFs4LDYxXSxbOCw2MV0sWzgsNjJdLFs4LDYyXSxbOCw2M10sWzgsNjNdLFs4LDBdLFs4LDBdLFs4LDMyMF0sWzgsMzIwXSxbOCwzODRdLFs4LDM4NF0sWzUsMTBdLFs1LDEwXSxbNSwxMF0sWzUsMTBdLFs1LDEwXSxbNSwxMF0sWzUsMTBdLFs1LDEwXSxbNSwxMF0sWzUsMTBdLFs1LDEwXSxbNSwxMF0sWzUsMTBdLFs1LDEwXSxbNSwxMF0sWzUsMTBdLFs1LDExXSxbNSwxMV0sWzUsMTFdLFs1LDExXSxbNSwxMV0sWzUsMTFdLFs1LDExXSxbNSwxMV0sWzUsMTFdLFs1LDExXSxbNSwxMV0sWzUsMTFdLFs1LDExXSxbNSwxMV0sWzUsMTFdLFs1LDExXSxbNywyN10sWzcsMjddLFs3LDI3XSxbNywyN10sWzgsNTldLFs4LDU5XSxbOCw2MF0sWzgsNjBdLFs5LDE0NzJdLFs5LDE1MzZdLFs5LDE2MDBdLFs5LDE3MjhdLFs3LDE4XSxbNywxOF0sWzcsMThdLFs3LDE4XSxbNywyNF0sWzcsMjRdLFs3LDI0XSxbNywyNF0sWzgsNDldLFs4LDQ5XSxbOCw1MF0sWzgsNTBdLFs4LDUxXSxbOCw1MV0sWzgsNTJdLFs4LDUyXSxbNywyNV0sWzcsMjVdLFs3LDI1XSxbNywyNV0sWzgsNTVdLFs4LDU1XSxbOCw1Nl0sWzgsNTZdLFs4LDU3XSxbOCw1N10sWzgsNThdLFs4LDU4XSxbNiwxOTJdLFs2LDE5Ml0sWzYsMTkyXSxbNiwxOTJdLFs2LDE5Ml0sWzYsMTkyXSxbNiwxOTJdLFs2LDE5Ml0sWzYsMTY2NF0sWzYsMTY2NF0sWzYsMTY2NF0sWzYsMTY2NF0sWzYsMTY2NF0sWzYsMTY2NF0sWzYsMTY2NF0sWzYsMTY2NF0sWzgsNDQ4XSxbOCw0NDhdLFs4LDUxMl0sWzgsNTEyXSxbOSw3MDRdLFs5LDc2OF0sWzgsNjQwXSxbOCw2NDBdLFs4LDU3Nl0sWzgsNTc2XSxbOSw4MzJdLFs5LDg5Nl0sWzksOTYwXSxbOSwxMDI0XSxbOSwxMDg4XSxbOSwxMTUyXSxbOSwxMjE2XSxbOSwxMjgwXSxbOSwxMzQ0XSxbOSwxNDA4XSxbNywyNTZdLFs3LDI1Nl0sWzcsMjU2XSxbNywyNTZdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs1LDEyOF0sWzUsMTI4XSxbNSwxMjhdLFs1LDEyOF0sWzUsMTI4XSxbNSwxMjhdLFs1LDEyOF0sWzUsMTI4XSxbNSwxMjhdLFs1LDEyOF0sWzUsMTI4XSxbNSwxMjhdLFs1LDEyOF0sWzUsMTI4XSxbNSwxMjhdLFs1LDEyOF0sWzUsOF0sWzUsOF0sWzUsOF0sWzUsOF0sWzUsOF0sWzUsOF0sWzUsOF0sWzUsOF0sWzUsOF0sWzUsOF0sWzUsOF0sWzUsOF0sWzUsOF0sWzUsOF0sWzUsOF0sWzUsOF0sWzUsOV0sWzUsOV0sWzUsOV0sWzUsOV0sWzUsOV0sWzUsOV0sWzUsOV0sWzUsOV0sWzUsOV0sWzUsOV0sWzUsOV0sWzUsOV0sWzUsOV0sWzUsOV0sWzUsOV0sWzUsOV0sWzYsMTZdLFs2LDE2XSxbNiwxNl0sWzYsMTZdLFs2LDE2XSxbNiwxNl0sWzYsMTZdLFs2LDE2XSxbNiwxN10sWzYsMTddLFs2LDE3XSxbNiwxN10sWzYsMTddLFs2LDE3XSxbNiwxN10sWzYsMTddLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs2LDE0XSxbNiwxNF0sWzYsMTRdLFs2LDE0XSxbNiwxNF0sWzYsMTRdLFs2LDE0XSxbNiwxNF0sWzYsMTVdLFs2LDE1XSxbNiwxNV0sWzYsMTVdLFs2LDE1XSxbNiwxNV0sWzYsMTVdLFs2LDE1XSxbNSw2NF0sWzUsNjRdLFs1LDY0XSxbNSw2NF0sWzUsNjRdLFs1LDY0XSxbNSw2NF0sWzUsNjRdLFs1LDY0XSxbNSw2NF0sWzUsNjRdLFs1LDY0XSxbNSw2NF0sWzUsNjRdLFs1LDY0XSxbNSw2NF0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN11dLExhPVtbLTEsLTFdLFstMSwtMV0sWzEyLC0yXSxbMTIsLTJdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWzExLDE3OTJdLFsxMSwxNzkyXSxbMTEsMTc5Ml0sWzExLDE3OTJdLFsxMiwxOTg0XSxbMTIsMTk4NF0sWzEyLDIwNDhdLFsxMiwyMDQ4XSxbMTIsMjExMl0sWzEyLDIxMTJdLFsxMiwyMTc2XSxbMTIsMjE3Nl0sWzEyLDIyNDBdLFsxMiwyMjQwXSxbMTIsMjMwNF0sWzEyLDIzMDRdLFsxMSwxODU2XSxbMTEsMTg1Nl0sWzExLDE4NTZdLFsxMSwxODU2XSxbMTEsMTkyMF0sWzExLDE5MjBdLFsxMSwxOTIwXSxbMTEsMTkyMF0sWzEyLDIzNjhdLFsxMiwyMzY4XSxbMTIsMjQzMl0sWzEyLDI0MzJdLFsxMiwyNDk2XSxbMTIsMjQ5Nl0sWzEyLDI1NjBdLFsxMiwyNTYwXSxbMTAsMThdLFsxMCwxOF0sWzEwLDE4XSxbMTAsMThdLFsxMCwxOF0sWzEwLDE4XSxbMTAsMThdLFsxMCwxOF0sWzEyLDUyXSxbMTIsNTJdLFsxMyw2NDBdLFsxMyw3MDRdLFsxMyw3NjhdLFsxMyw4MzJdLFsxMiw1NV0sWzEyLDU1XSxbMTIsNTZdLFsxMiw1Nl0sWzEzLDEyODBdLFsxMywxMzQ0XSxbMTMsMTQwOF0sWzEzLDE0NzJdLFsxMiw1OV0sWzEyLDU5XSxbMTIsNjBdLFsxMiw2MF0sWzEzLDE1MzZdLFsxMywxNjAwXSxbMTEsMjRdLFsxMSwyNF0sWzExLDI0XSxbMTEsMjRdLFsxMSwyNV0sWzExLDI1XSxbMTEsMjVdLFsxMSwyNV0sWzEzLDE2NjRdLFsxMywxNzI4XSxbMTIsMzIwXSxbMTIsMzIwXSxbMTIsMzg0XSxbMTIsMzg0XSxbMTIsNDQ4XSxbMTIsNDQ4XSxbMTMsNTEyXSxbMTMsNTc2XSxbMTIsNTNdLFsxMiw1M10sWzEyLDU0XSxbMTIsNTRdLFsxMyw4OTZdLFsxMyw5NjBdLFsxMywxMDI0XSxbMTMsMTA4OF0sWzEzLDExNTJdLFsxMywxMjE2XSxbMTAsNjRdLFsxMCw2NF0sWzEwLDY0XSxbMTAsNjRdLFsxMCw2NF0sWzEwLDY0XSxbMTAsNjRdLFsxMCw2NF1dLGphPVtbOCwxM10sWzgsMTNdLFs4LDEzXSxbOCwxM10sWzgsMTNdLFs4LDEzXSxbOCwxM10sWzgsMTNdLFs4LDEzXSxbOCwxM10sWzgsMTNdLFs4LDEzXSxbOCwxM10sWzgsMTNdLFs4LDEzXSxbOCwxM10sWzExLDIzXSxbMTEsMjNdLFsxMiw1MF0sWzEyLDUxXSxbMTIsNDRdLFsxMiw0NV0sWzEyLDQ2XSxbMTIsNDddLFsxMiw1N10sWzEyLDU4XSxbMTIsNjFdLFsxMiwyNTZdLFsxMCwxNl0sWzEwLDE2XSxbMTAsMTZdLFsxMCwxNl0sWzEwLDE3XSxbMTAsMTddLFsxMCwxN10sWzEwLDE3XSxbMTIsNDhdLFsxMiw0OV0sWzEyLDYyXSxbMTIsNjNdLFsxMiwzMF0sWzEyLDMxXSxbMTIsMzJdLFsxMiwzM10sWzEyLDQwXSxbMTIsNDFdLFsxMSwyMl0sWzExLDIyXSxbOCwxNF0sWzgsMTRdLFs4LDE0XSxbOCwxNF0sWzgsMTRdLFs4LDE0XSxbOCwxNF0sWzgsMTRdLFs4LDE0XSxbOCwxNF0sWzgsMTRdLFs4LDE0XSxbOCwxNF0sWzgsMTRdLFs4LDE0XSxbOCwxNF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs5LDE1XSxbOSwxNV0sWzksMTVdLFs5LDE1XSxbOSwxNV0sWzksMTVdLFs5LDE1XSxbOSwxNV0sWzEyLDEyOF0sWzEyLDE5Ml0sWzEyLDI2XSxbMTIsMjddLFsxMiwyOF0sWzEyLDI5XSxbMTEsMTldLFsxMSwxOV0sWzExLDIwXSxbMTEsMjBdLFsxMiwzNF0sWzEyLDM1XSxbMTIsMzZdLFsxMiwzN10sWzEyLDM4XSxbMTIsMzldLFsxMSwyMV0sWzExLDIxXSxbMTIsNDJdLFsxMiw0M10sWzEwLDBdLFsxMCwwXSxbMTAsMF0sWzEwLDBdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl1dLF9hPVtbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFs2LDldLFs2LDhdLFs1LDddLFs1LDddLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFsyLDNdLFsyLDNdLFsyLDNdLFsyLDNdLFsyLDNdLFsyLDNdLFsyLDNdLFsyLDNdLFsyLDNdLFsyLDNdLFsyLDNdLFsyLDNdLFsyLDNdLFsyLDNdLFsyLDNdLFsyLDNdLFsyLDJdLFsyLDJdLFsyLDJdLFsyLDJdLFsyLDJdLFsyLDJdLFsyLDJdLFsyLDJdLFsyLDJdLFsyLDJdLFsyLDJdLFsyLDJdLFsyLDJdLFsyLDJdLFsyLDJdLFsyLDJdXTtjbGFzcyBDQ0lUVEZheERlY29kZXJ7Y29uc3RydWN0b3IoZSx0PXt9KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZT8ubmV4dCl0aHJvdyBuZXcgRXJyb3IoJ0NDSVRURmF4RGVjb2RlciAtIGludmFsaWQgInNvdXJjZSIgcGFyYW1ldGVyLicpO3RoaXMuc291cmNlPWU7dGhpcy5lb2Y9ITE7dGhpcy5lbmNvZGluZz10Lkt8fDA7dGhpcy5lb2xpbmU9dC5FbmRPZkxpbmV8fCExO3RoaXMuYnl0ZUFsaWduPXQuRW5jb2RlZEJ5dGVBbGlnbnx8ITE7dGhpcy5jb2x1bW5zPXQuQ29sdW1uc3x8MTcyODt0aGlzLnJvd3M9dC5Sb3dzfHwwO3RoaXMuZW9ibG9jaz10LkVuZE9mQmxvY2s/PyEwO3RoaXMuYmxhY2s9dC5CbGFja0lzMXx8ITE7dGhpcy5jb2RpbmdMaW5lPW5ldyBVaW50MzJBcnJheSh0aGlzLmNvbHVtbnMrMSk7dGhpcy5yZWZMaW5lPW5ldyBVaW50MzJBcnJheSh0aGlzLmNvbHVtbnMrMik7dGhpcy5jb2RpbmdMaW5lWzBdPXRoaXMuY29sdW1uczt0aGlzLmNvZGluZ1Bvcz0wO3RoaXMucm93PTA7dGhpcy5uZXh0TGluZTJEPXRoaXMuZW5jb2Rpbmc8MDt0aGlzLmlucHV0Qml0cz0wO3RoaXMuaW5wdXRCdWY9MDt0aGlzLm91dHB1dEJpdHM9MDt0aGlzLnJvd3NEb25lPSExO2xldCBhO2Zvcig7MD09PShhPXRoaXMuX2xvb2tCaXRzKDEyKSk7KXRoaXMuX2VhdEJpdHMoMSk7MT09PWEmJnRoaXMuX2VhdEJpdHMoMTIpO2lmKHRoaXMuZW5jb2Rpbmc+MCl7dGhpcy5uZXh0TGluZTJEPSF0aGlzLl9sb29rQml0cygxKTt0aGlzLl9lYXRCaXRzKDEpfX1yZWFkTmV4dENoYXIoKXtpZih0aGlzLmVvZilyZXR1cm4tMTtjb25zdCBlPXRoaXMucmVmTGluZSx0PXRoaXMuY29kaW5nTGluZSxhPXRoaXMuY29sdW1ucztsZXQgcixpLG4scyxvO2lmKDA9PT10aGlzLm91dHB1dEJpdHMpe3RoaXMucm93c0RvbmUmJih0aGlzLmVvZj0hMCk7aWYodGhpcy5lb2YpcmV0dXJuLTE7dGhpcy5lcnI9ITE7bGV0IG4sbyxjO2lmKHRoaXMubmV4dExpbmUyRCl7Zm9yKHM9MDt0W3NdPGE7KytzKWVbc109dFtzXTtlW3MrK109YTtlW3NdPWE7dFswXT0wO3RoaXMuY29kaW5nUG9zPTA7cj0wO2k9MDtmb3IoO3RbdGhpcy5jb2RpbmdQb3NdPGE7KXtuPXRoaXMuX2dldFR3b0RpbUNvZGUoKTtzd2l0Y2gobil7Y2FzZSAwOnRoaXMuX2FkZFBpeGVscyhlW3IrMV0saSk7ZVtyKzFdPGEmJihyKz0yKTticmVhaztjYXNlIDE6bj1vPTA7aWYoaSl7ZG97bis9Yz10aGlzLl9nZXRCbGFja0NvZGUoKX13aGlsZShjPj02NCk7ZG97bys9Yz10aGlzLl9nZXRXaGl0ZUNvZGUoKX13aGlsZShjPj02NCl9ZWxzZXtkb3tuKz1jPXRoaXMuX2dldFdoaXRlQ29kZSgpfXdoaWxlKGM+PTY0KTtkb3tvKz1jPXRoaXMuX2dldEJsYWNrQ29kZSgpfXdoaWxlKGM+PTY0KX10aGlzLl9hZGRQaXhlbHModFt0aGlzLmNvZGluZ1Bvc10rbixpKTt0W3RoaXMuY29kaW5nUG9zXTxhJiZ0aGlzLl9hZGRQaXhlbHModFt0aGlzLmNvZGluZ1Bvc10rbywxXmkpO2Zvcig7ZVtyXTw9dFt0aGlzLmNvZGluZ1Bvc10mJmVbcl08YTspcis9MjticmVhaztjYXNlIDc6dGhpcy5fYWRkUGl4ZWxzKGVbcl0rMyxpKTtpXj0xO2lmKHRbdGhpcy5jb2RpbmdQb3NdPGEpeysrcjtmb3IoO2Vbcl08PXRbdGhpcy5jb2RpbmdQb3NdJiZlW3JdPGE7KXIrPTJ9YnJlYWs7Y2FzZSA1OnRoaXMuX2FkZFBpeGVscyhlW3JdKzIsaSk7aV49MTtpZih0W3RoaXMuY29kaW5nUG9zXTxhKXsrK3I7Zm9yKDtlW3JdPD10W3RoaXMuY29kaW5nUG9zXSYmZVtyXTxhOylyKz0yfWJyZWFrO2Nhc2UgMzp0aGlzLl9hZGRQaXhlbHMoZVtyXSsxLGkpO2lePTE7aWYodFt0aGlzLmNvZGluZ1Bvc108YSl7KytyO2Zvcig7ZVtyXTw9dFt0aGlzLmNvZGluZ1Bvc10mJmVbcl08YTspcis9Mn1icmVhaztjYXNlIDI6dGhpcy5fYWRkUGl4ZWxzKGVbcl0saSk7aV49MTtpZih0W3RoaXMuY29kaW5nUG9zXTxhKXsrK3I7Zm9yKDtlW3JdPD10W3RoaXMuY29kaW5nUG9zXSYmZVtyXTxhOylyKz0yfWJyZWFrO2Nhc2UgODp0aGlzLl9hZGRQaXhlbHNOZWcoZVtyXS0zLGkpO2lePTE7aWYodFt0aGlzLmNvZGluZ1Bvc108YSl7cj4wPy0tcjorK3I7Zm9yKDtlW3JdPD10W3RoaXMuY29kaW5nUG9zXSYmZVtyXTxhOylyKz0yfWJyZWFrO2Nhc2UgNjp0aGlzLl9hZGRQaXhlbHNOZWcoZVtyXS0yLGkpO2lePTE7aWYodFt0aGlzLmNvZGluZ1Bvc108YSl7cj4wPy0tcjorK3I7Zm9yKDtlW3JdPD10W3RoaXMuY29kaW5nUG9zXSYmZVtyXTxhOylyKz0yfWJyZWFrO2Nhc2UgNDp0aGlzLl9hZGRQaXhlbHNOZWcoZVtyXS0xLGkpO2lePTE7aWYodFt0aGlzLmNvZGluZ1Bvc108YSl7cj4wPy0tcjorK3I7Zm9yKDtlW3JdPD10W3RoaXMuY29kaW5nUG9zXSYmZVtyXTxhOylyKz0yfWJyZWFrO2Nhc2UgUmE6dGhpcy5fYWRkUGl4ZWxzKGEsMCk7dGhpcy5lb2Y9ITA7YnJlYWs7ZGVmYXVsdDppbmZvKCJiYWQgMmQgY29kZSIpO3RoaXMuX2FkZFBpeGVscyhhLDApO3RoaXMuZXJyPSEwfX19ZWxzZXt0WzBdPTA7dGhpcy5jb2RpbmdQb3M9MDtpPTA7Zm9yKDt0W3RoaXMuY29kaW5nUG9zXTxhOyl7bj0wO2lmKGkpZG97bis9Yz10aGlzLl9nZXRCbGFja0NvZGUoKX13aGlsZShjPj02NCk7ZWxzZSBkb3tuKz1jPXRoaXMuX2dldFdoaXRlQ29kZSgpfXdoaWxlKGM+PTY0KTt0aGlzLl9hZGRQaXhlbHModFt0aGlzLmNvZGluZ1Bvc10rbixpKTtpXj0xfX1sZXQgbD0hMTt0aGlzLmJ5dGVBbGlnbiYmKHRoaXMuaW5wdXRCaXRzJj0tOCk7aWYodGhpcy5lb2Jsb2NrfHx0aGlzLnJvdyE9PXRoaXMucm93cy0xKXtuPXRoaXMuX2xvb2tCaXRzKDEyKTtpZih0aGlzLmVvbGluZSlmb3IoO24hPT1SYSYmMSE9PW47KXt0aGlzLl9lYXRCaXRzKDEpO249dGhpcy5fbG9va0JpdHMoMTIpfWVsc2UgZm9yKDswPT09bjspe3RoaXMuX2VhdEJpdHMoMSk7bj10aGlzLl9sb29rQml0cygxMil9aWYoMT09PW4pe3RoaXMuX2VhdEJpdHMoMTIpO2w9ITB9ZWxzZSBuPT09UmEmJih0aGlzLmVvZj0hMCl9ZWxzZSB0aGlzLnJvd3NEb25lPSEwO2lmKCF0aGlzLmVvZiYmdGhpcy5lbmNvZGluZz4wJiYhdGhpcy5yb3dzRG9uZSl7dGhpcy5uZXh0TGluZTJEPSF0aGlzLl9sb29rQml0cygxKTt0aGlzLl9lYXRCaXRzKDEpfWlmKHRoaXMuZW9ibG9jayYmbCYmdGhpcy5ieXRlQWxpZ24pe249dGhpcy5fbG9va0JpdHMoMTIpO2lmKDE9PT1uKXt0aGlzLl9lYXRCaXRzKDEyKTtpZih0aGlzLmVuY29kaW5nPjApe3RoaXMuX2xvb2tCaXRzKDEpO3RoaXMuX2VhdEJpdHMoMSl9aWYodGhpcy5lbmNvZGluZz49MClmb3Iocz0wO3M8NDsrK3Mpe249dGhpcy5fbG9va0JpdHMoMTIpOzEhPT1uJiZpbmZvKCJiYWQgcnRjIGNvZGU6ICIrbik7dGhpcy5fZWF0Qml0cygxMik7aWYodGhpcy5lbmNvZGluZz4wKXt0aGlzLl9sb29rQml0cygxKTt0aGlzLl9lYXRCaXRzKDEpfX10aGlzLmVvZj0hMH19ZWxzZSBpZih0aGlzLmVyciYmdGhpcy5lb2xpbmUpe2Zvcig7Oyl7bj10aGlzLl9sb29rQml0cygxMyk7aWYobj09PVJhKXt0aGlzLmVvZj0hMDtyZXR1cm4tMX1pZihuPj4xPT0xKWJyZWFrO3RoaXMuX2VhdEJpdHMoMSl9dGhpcy5fZWF0Qml0cygxMik7aWYodGhpcy5lbmNvZGluZz4wKXt0aGlzLl9lYXRCaXRzKDEpO3RoaXMubmV4dExpbmUyRD0hKDEmbil9fXRoaXMub3V0cHV0Qml0cz10WzBdPjA/dFt0aGlzLmNvZGluZ1Bvcz0wXTp0W3RoaXMuY29kaW5nUG9zPTFdO3RoaXMucm93Kyt9aWYodGhpcy5vdXRwdXRCaXRzPj04KXtvPTEmdGhpcy5jb2RpbmdQb3M/MDoyNTU7dGhpcy5vdXRwdXRCaXRzLT04O2lmKDA9PT10aGlzLm91dHB1dEJpdHMmJnRbdGhpcy5jb2RpbmdQb3NdPGEpe3RoaXMuY29kaW5nUG9zKys7dGhpcy5vdXRwdXRCaXRzPXRbdGhpcy5jb2RpbmdQb3NdLXRbdGhpcy5jb2RpbmdQb3MtMV19fWVsc2V7bj04O289MDtkb3tpZigibnVtYmVyIiE9dHlwZW9mIHRoaXMub3V0cHV0Qml0cyl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoJ0ludmFsaWQgL0NDSVRURmF4RGVjb2RlIGRhdGEsICJvdXRwdXRCaXRzIiBtdXN0IGJlIGEgbnVtYmVyLicpO2lmKHRoaXMub3V0cHV0Qml0cz5uKXtvPDw9bjsxJnRoaXMuY29kaW5nUG9zfHwob3w9MjU1Pj44LW4pO3RoaXMub3V0cHV0Qml0cy09bjtuPTB9ZWxzZXtvPDw9dGhpcy5vdXRwdXRCaXRzOzEmdGhpcy5jb2RpbmdQb3N8fChvfD0yNTU+PjgtdGhpcy5vdXRwdXRCaXRzKTtuLT10aGlzLm91dHB1dEJpdHM7dGhpcy5vdXRwdXRCaXRzPTA7aWYodFt0aGlzLmNvZGluZ1Bvc108YSl7dGhpcy5jb2RpbmdQb3MrKzt0aGlzLm91dHB1dEJpdHM9dFt0aGlzLmNvZGluZ1Bvc10tdFt0aGlzLmNvZGluZ1Bvcy0xXX1lbHNlIGlmKG4+MCl7bzw8PW47bj0wfX19d2hpbGUobil9dGhpcy5ibGFjayYmKG9ePTI1NSk7cmV0dXJuIG99X2FkZFBpeGVscyhlLHQpe2NvbnN0IGE9dGhpcy5jb2RpbmdMaW5lO2xldCByPXRoaXMuY29kaW5nUG9zO2lmKGU+YVtyXSl7aWYoZT50aGlzLmNvbHVtbnMpe2luZm8oInJvdyBpcyB3cm9uZyBsZW5ndGgiKTt0aGlzLmVycj0hMDtlPXRoaXMuY29sdW1uc30xJnJedCYmKytyO2Fbcl09ZX10aGlzLmNvZGluZ1Bvcz1yfV9hZGRQaXhlbHNOZWcoZSx0KXtjb25zdCBhPXRoaXMuY29kaW5nTGluZTtsZXQgcj10aGlzLmNvZGluZ1BvcztpZihlPmFbcl0pe2lmKGU+dGhpcy5jb2x1bW5zKXtpbmZvKCJyb3cgaXMgd3JvbmcgbGVuZ3RoIik7dGhpcy5lcnI9ITA7ZT10aGlzLmNvbHVtbnN9MSZyXnQmJisrcjthW3JdPWV9ZWxzZSBpZihlPGFbcl0pe2lmKGU8MCl7aW5mbygiaW52YWxpZCBjb2RlIik7dGhpcy5lcnI9ITA7ZT0wfWZvcig7cj4wJiZlPGFbci0xXTspLS1yO2Fbcl09ZX10aGlzLmNvZGluZ1Bvcz1yfV9maW5kVGFibGVDb2RlKGUsdCxhLHIpe2NvbnN0IGk9cnx8MDtmb3IobGV0IHI9ZTtyPD10Oysrcil7bGV0IGU9dGhpcy5fbG9va0JpdHMocik7aWYoZT09PVJhKXJldHVyblshMCwxLCExXTtyPHQmJihlPDw9dC1yKTtpZighaXx8ZT49aSl7Y29uc3QgdD1hW2UtaV07aWYodFswXT09PXIpe3RoaXMuX2VhdEJpdHMocik7cmV0dXJuWyEwLHRbMV0sITBdfX19cmV0dXJuWyExLDAsITFdfV9nZXRUd29EaW1Db2RlKCl7bGV0IGUsdD0wO2lmKHRoaXMuZW9ibG9jayl7dD10aGlzLl9sb29rQml0cyg3KTtlPU5hW3RdO2lmKGU/LlswXT4wKXt0aGlzLl9lYXRCaXRzKGVbMF0pO3JldHVybiBlWzFdfX1lbHNle2NvbnN0IGU9dGhpcy5fZmluZFRhYmxlQ29kZSgxLDcsTmEpO2lmKGVbMF0mJmVbMl0pcmV0dXJuIGVbMV19aW5mbygiQmFkIHR3byBkaW0gY29kZSIpO3JldHVybiBSYX1fZ2V0V2hpdGVDb2RlKCl7bGV0IGUsdD0wO2lmKHRoaXMuZW9ibG9jayl7dD10aGlzLl9sb29rQml0cygxMik7aWYodD09PVJhKXJldHVybiAxO2U9dD4+NT9QYVt0Pj4zXTpFYVt0XTtpZihlWzBdPjApe3RoaXMuX2VhdEJpdHMoZVswXSk7cmV0dXJuIGVbMV19fWVsc2V7bGV0IGU9dGhpcy5fZmluZFRhYmxlQ29kZSgxLDksUGEpO2lmKGVbMF0pcmV0dXJuIGVbMV07ZT10aGlzLl9maW5kVGFibGVDb2RlKDExLDEyLEVhKTtpZihlWzBdKXJldHVybiBlWzFdfWluZm8oImJhZCB3aGl0ZSBjb2RlIik7dGhpcy5fZWF0Qml0cygxKTtyZXR1cm4gMX1fZ2V0QmxhY2tDb2RlKCl7bGV0IGUsdDtpZih0aGlzLmVvYmxvY2spe2U9dGhpcy5fbG9va0JpdHMoMTMpO2lmKGU9PT1SYSlyZXR1cm4gMTt0PWU+Pjc/IShlPj45KSYmZT4+Nz9qYVsoZT4+MSktNjRdOl9hW2U+PjddOkxhW2VdO2lmKHRbMF0+MCl7dGhpcy5fZWF0Qml0cyh0WzBdKTtyZXR1cm4gdFsxXX19ZWxzZXtsZXQgZT10aGlzLl9maW5kVGFibGVDb2RlKDIsNixfYSk7aWYoZVswXSlyZXR1cm4gZVsxXTtlPXRoaXMuX2ZpbmRUYWJsZUNvZGUoNywxMixqYSw2NCk7aWYoZVswXSlyZXR1cm4gZVsxXTtlPXRoaXMuX2ZpbmRUYWJsZUNvZGUoMTAsMTMsTGEpO2lmKGVbMF0pcmV0dXJuIGVbMV19aW5mbygiYmFkIGJsYWNrIGNvZGUiKTt0aGlzLl9lYXRCaXRzKDEpO3JldHVybiAxfV9sb29rQml0cyhlKXtsZXQgdDtmb3IoO3RoaXMuaW5wdXRCaXRzPGU7KXtpZigtMT09PSh0PXRoaXMuc291cmNlLm5leHQoKSkpcmV0dXJuIDA9PT10aGlzLmlucHV0Qml0cz9SYTp0aGlzLmlucHV0QnVmPDxlLXRoaXMuaW5wdXRCaXRzJjY1NTM1Pj4xNi1lO3RoaXMuaW5wdXRCdWY9dGhpcy5pbnB1dEJ1Zjw8OHx0O3RoaXMuaW5wdXRCaXRzKz04fXJldHVybiB0aGlzLmlucHV0QnVmPj50aGlzLmlucHV0Qml0cy1lJjY1NTM1Pj4xNi1lfV9lYXRCaXRzKGUpeyh0aGlzLmlucHV0Qml0cy09ZSk8MCYmKHRoaXMuaW5wdXRCaXRzPTApfX1jbGFzcyBDQ0lUVEZheFN0cmVhbSBleHRlbmRzIERlY29kZVN0cmVhbXtjb25zdHJ1Y3RvcihlLHQsYSl7c3VwZXIodCk7dGhpcy5zdHI9ZTt0aGlzLmRpY3Q9ZS5kaWN0O2EgaW5zdGFuY2VvZiBEaWN0fHwoYT1EaWN0LmVtcHR5KTtjb25zdCByPXtuZXh0OigpPT5lLmdldEJ5dGUoKX07dGhpcy5jY2l0dEZheERlY29kZXI9bmV3IENDSVRURmF4RGVjb2RlcihyLHtLOmEuZ2V0KCJLIiksRW5kT2ZMaW5lOmEuZ2V0KCJFbmRPZkxpbmUiKSxFbmNvZGVkQnl0ZUFsaWduOmEuZ2V0KCJFbmNvZGVkQnl0ZUFsaWduIiksQ29sdW1uczphLmdldCgiQ29sdW1ucyIpLFJvd3M6YS5nZXQoIlJvd3MiKSxFbmRPZkJsb2NrOmEuZ2V0KCJFbmRPZkJsb2NrIiksQmxhY2tJczE6YS5nZXQoIkJsYWNrSXMxIil9KX1yZWFkQmxvY2soKXtmb3IoOyF0aGlzLmVvZjspe2NvbnN0IGU9dGhpcy5jY2l0dEZheERlY29kZXIucmVhZE5leHRDaGFyKCk7aWYoLTE9PT1lKXt0aGlzLmVvZj0hMDtyZXR1cm59dGhpcy5lbnN1cmVCdWZmZXIodGhpcy5idWZmZXJMZW5ndGgrMSk7dGhpcy5idWZmZXJbdGhpcy5idWZmZXJMZW5ndGgrK109ZX19fWNvbnN0IFVhPW5ldyBJbnQzMkFycmF5KFsxNiwxNywxOCwwLDgsNyw5LDYsMTAsNSwxMSw0LDEyLDMsMTMsMiwxNCwxLDE1XSksWGE9bmV3IEludDMyQXJyYXkoWzMsNCw1LDYsNyw4LDksMTAsNjU1NDcsNjU1NDksNjU1NTEsNjU1NTMsMTMxMDkxLDEzMTA5NSwxMzEwOTksMTMxMTAzLDE5NjY0MywxOTY2NTEsMTk2NjU5LDE5NjY2NywyNjIyMTEsMjYyMjI3LDI2MjI0MywyNjIyNTksMzI3ODExLDMyNzg0MywzMjc4NzUsMzI3OTA3LDI1OCwyNTgsMjU4XSkscWE9bmV3IEludDMyQXJyYXkoWzEsMiwzLDQsNjU1NDEsNjU1NDMsMTMxMDgxLDEzMTA4NSwxOTY2MjUsMTk2NjMzLDI2MjE3NywyNjIxOTMsMzI3NzQ1LDMyNzc3NywzOTMzNDUsMzkzNDA5LDQ1OTAwOSw0NTkxMzcsNTI0ODAxLDUyNTA1Nyw1OTA4NDksNTkxMzYxLDY1NzQwOSw2NTg0MzMsNzI0OTkzLDcyNzA0MSw3OTQ2MjUsNzk4NzIxLDg2ODM1Myw4NzY1NDVdKSxIYT1bbmV3IEludDMyQXJyYXkoWzQ1OTAwOCw1MjQzNjgsNTI0MzA0LDUyNDU2OCw0NTkwMjQsNTI0NDAwLDUyNDMzNiw1OTAwMTYsNDU5MDE2LDUyNDM4NCw1MjQzMjAsNTg5OTg0LDUyNDI4OCw1MjQ0MTYsNTI0MzUyLDU5MDA0OCw0NTkwMTIsNTI0Mzc2LDUyNDMxMiw1ODk5NjgsNDU5MDI4LDUyNDQwOCw1MjQzNDQsNTkwMDMyLDQ1OTAyMCw1MjQzOTIsNTI0MzI4LDU5ZTQsNTI0Mjk2LDUyNDQyNCw1MjQzNjAsNTkwMDY0LDQ1OTAxMCw1MjQzNzIsNTI0MzA4LDUyNDU3Miw0NTkwMjYsNTI0NDA0LDUyNDM0MCw1OTAwMjQsNDU5MDE4LDUyNDM4OCw1MjQzMjQsNTg5OTkyLDUyNDI5Miw1MjQ0MjAsNTI0MzU2LDU5MDA1Niw0NTkwMTQsNTI0MzgwLDUyNDMxNiw1ODk5NzYsNDU5MDMwLDUyNDQxMiw1MjQzNDgsNTkwMDQwLDQ1OTAyMiw1MjQzOTYsNTI0MzMyLDU5MDAwOCw1MjQzMDAsNTI0NDI4LDUyNDM2NCw1OTAwNzIsNDU5MDA5LDUyNDM3MCw1MjQzMDYsNTI0NTcwLDQ1OTAyNSw1MjQ0MDIsNTI0MzM4LDU5MDAyMCw0NTkwMTcsNTI0Mzg2LDUyNDMyMiw1ODk5ODgsNTI0MjkwLDUyNDQxOCw1MjQzNTQsNTkwMDUyLDQ1OTAxMyw1MjQzNzgsNTI0MzE0LDU4OTk3Miw0NTkwMjksNTI0NDEwLDUyNDM0Niw1OTAwMzYsNDU5MDIxLDUyNDM5NCw1MjQzMzAsNTkwMDA0LDUyNDI5OCw1MjQ0MjYsNTI0MzYyLDU5MDA2OCw0NTkwMTEsNTI0Mzc0LDUyNDMxMCw1MjQ1NzQsNDU5MDI3LDUyNDQwNiw1MjQzNDIsNTkwMDI4LDQ1OTAxOSw1MjQzOTAsNTI0MzI2LDU4OTk5Niw1MjQyOTQsNTI0NDIyLDUyNDM1OCw1OTAwNjAsNDU5MDE1LDUyNDM4Miw1MjQzMTgsNTg5OTgwLDQ1OTAzMSw1MjQ0MTQsNTI0MzUwLDU5MDA0NCw0NTkwMjMsNTI0Mzk4LDUyNDMzNCw1OTAwMTIsNTI0MzAyLDUyNDQzMCw1MjQzNjYsNTkwMDc2LDQ1OTAwOCw1MjQzNjksNTI0MzA1LDUyNDU2OSw0NTkwMjQsNTI0NDAxLDUyNDMzNyw1OTAwMTgsNDU5MDE2LDUyNDM4NSw1MjQzMjEsNTg5OTg2LDUyNDI4OSw1MjQ0MTcsNTI0MzUzLDU5MDA1MCw0NTkwMTIsNTI0Mzc3LDUyNDMxMyw1ODk5NzAsNDU5MDI4LDUyNDQwOSw1MjQzNDUsNTkwMDM0LDQ1OTAyMCw1MjQzOTMsNTI0MzI5LDU5MDAwMiw1MjQyOTcsNTI0NDI1LDUyNDM2MSw1OTAwNjYsNDU5MDEwLDUyNDM3Myw1MjQzMDksNTI0NTczLDQ1OTAyNiw1MjQ0MDUsNTI0MzQxLDU5MDAyNiw0NTkwMTgsNTI0Mzg5LDUyNDMyNSw1ODk5OTQsNTI0MjkzLDUyNDQyMSw1MjQzNTcsNTkwMDU4LDQ1OTAxNCw1MjQzODEsNTI0MzE3LDU4OTk3OCw0NTkwMzAsNTI0NDEzLDUyNDM0OSw1OTAwNDIsNDU5MDIyLDUyNDM5Nyw1MjQzMzMsNTkwMDEwLDUyNDMwMSw1MjQ0MjksNTI0MzY1LDU5MDA3NCw0NTkwMDksNTI0MzcxLDUyNDMwNyw1MjQ1NzEsNDU5MDI1LDUyNDQwMyw1MjQzMzksNTkwMDIyLDQ1OTAxNyw1MjQzODcsNTI0MzIzLDU4OTk5MCw1MjQyOTEsNTI0NDE5LDUyNDM1NSw1OTAwNTQsNDU5MDEzLDUyNDM3OSw1MjQzMTUsNTg5OTc0LDQ1OTAyOSw1MjQ0MTEsNTI0MzQ3LDU5MDAzOCw0NTkwMjEsNTI0Mzk1LDUyNDMzMSw1OTAwMDYsNTI0Mjk5LDUyNDQyNyw1MjQzNjMsNTkwMDcwLDQ1OTAxMSw1MjQzNzUsNTI0MzExLDUyNDU3NSw0NTkwMjcsNTI0NDA3LDUyNDM0Myw1OTAwMzAsNDU5MDE5LDUyNDM5MSw1MjQzMjcsNTg5OTk4LDUyNDI5NSw1MjQ0MjMsNTI0MzU5LDU5MDA2Miw0NTkwMTUsNTI0MzgzLDUyNDMxOSw1ODk5ODIsNDU5MDMxLDUyNDQxNSw1MjQzNTEsNTkwMDQ2LDQ1OTAyMyw1MjQzOTksNTI0MzM1LDU5MDAxNCw1MjQzMDMsNTI0NDMxLDUyNDM2Nyw1OTAwNzgsNDU5MDA4LDUyNDM2OCw1MjQzMDQsNTI0NTY4LDQ1OTAyNCw1MjQ0MDAsNTI0MzM2LDU5MDAxNyw0NTkwMTYsNTI0Mzg0LDUyNDMyMCw1ODk5ODUsNTI0Mjg4LDUyNDQxNiw1MjQzNTIsNTkwMDQ5LDQ1OTAxMiw1MjQzNzYsNTI0MzEyLDU4OTk2OSw0NTkwMjgsNTI0NDA4LDUyNDM0NCw1OTAwMzMsNDU5MDIwLDUyNDM5Miw1MjQzMjgsNTkwMDAxLDUyNDI5Niw1MjQ0MjQsNTI0MzYwLDU5MDA2NSw0NTkwMTAsNTI0MzcyLDUyNDMwOCw1MjQ1NzIsNDU5MDI2LDUyNDQwNCw1MjQzNDAsNTkwMDI1LDQ1OTAxOCw1MjQzODgsNTI0MzI0LDU4OTk5Myw1MjQyOTIsNTI0NDIwLDUyNDM1Niw1OTAwNTcsNDU5MDE0LDUyNDM4MCw1MjQzMTYsNTg5OTc3LDQ1OTAzMCw1MjQ0MTIsNTI0MzQ4LDU5MDA0MSw0NTkwMjIsNTI0Mzk2LDUyNDMzMiw1OTAwMDksNTI0MzAwLDUyNDQyOCw1MjQzNjQsNTkwMDczLDQ1OTAwOSw1MjQzNzAsNTI0MzA2LDUyNDU3MCw0NTkwMjUsNTI0NDAyLDUyNDMzOCw1OTAwMjEsNDU5MDE3LDUyNDM4Niw1MjQzMjIsNTg5OTg5LDUyNDI5MCw1MjQ0MTgsNTI0MzU0LDU5MDA1Myw0NTkwMTMsNTI0Mzc4LDUyNDMxNCw1ODk5NzMsNDU5MDI5LDUyNDQxMCw1MjQzNDYsNTkwMDM3LDQ1OTAyMSw1MjQzOTQsNTI0MzMwLDU5MDAwNSw1MjQyOTgsNTI0NDI2LDUyNDM2Miw1OTAwNjksNDU5MDExLDUyNDM3NCw1MjQzMTAsNTI0NTc0LDQ1OTAyNyw1MjQ0MDYsNTI0MzQyLDU5MDAyOSw0NTkwMTksNTI0MzkwLDUyNDMyNiw1ODk5OTcsNTI0Mjk0LDUyNDQyMiw1MjQzNTgsNTkwMDYxLDQ1OTAxNSw1MjQzODIsNTI0MzE4LDU4OTk4MSw0NTkwMzEsNTI0NDE0LDUyNDM1MCw1OTAwNDUsNDU5MDIzLDUyNDM5OCw1MjQzMzQsNTkwMDEzLDUyNDMwMiw1MjQ0MzAsNTI0MzY2LDU5MDA3Nyw0NTkwMDgsNTI0MzY5LDUyNDMwNSw1MjQ1NjksNDU5MDI0LDUyNDQwMSw1MjQzMzcsNTkwMDE5LDQ1OTAxNiw1MjQzODUsNTI0MzIxLDU4OTk4Nyw1MjQyODksNTI0NDE3LDUyNDM1Myw1OTAwNTEsNDU5MDEyLDUyNDM3Nyw1MjQzMTMsNTg5OTcxLDQ1OTAyOCw1MjQ0MDksNTI0MzQ1LDU5MDAzNSw0NTkwMjAsNTI0MzkzLDUyNDMyOSw1OTAwMDMsNTI0Mjk3LDUyNDQyNSw1MjQzNjEsNTkwMDY3LDQ1OTAxMCw1MjQzNzMsNTI0MzA5LDUyNDU3Myw0NTkwMjYsNTI0NDA1LDUyNDM0MSw1OTAwMjcsNDU5MDE4LDUyNDM4OSw1MjQzMjUsNTg5OTk1LDUyNDI5Myw1MjQ0MjEsNTI0MzU3LDU5MDA1OSw0NTkwMTQsNTI0MzgxLDUyNDMxNyw1ODk5NzksNDU5MDMwLDUyNDQxMyw1MjQzNDksNTkwMDQzLDQ1OTAyMiw1MjQzOTcsNTI0MzMzLDU5MDAxMSw1MjQzMDEsNTI0NDI5LDUyNDM2NSw1OTAwNzUsNDU5MDA5LDUyNDM3MSw1MjQzMDcsNTI0NTcxLDQ1OTAyNSw1MjQ0MDMsNTI0MzM5LDU5MDAyMyw0NTkwMTcsNTI0Mzg3LDUyNDMyMyw1ODk5OTEsNTI0MjkxLDUyNDQxOSw1MjQzNTUsNTkwMDU1LDQ1OTAxMyw1MjQzNzksNTI0MzE1LDU4OTk3NSw0NTkwMjksNTI0NDExLDUyNDM0Nyw1OTAwMzksNDU5MDIxLDUyNDM5NSw1MjQzMzEsNTkwMDA3LDUyNDI5OSw1MjQ0MjcsNTI0MzYzLDU5MDA3MSw0NTkwMTEsNTI0Mzc1LDUyNDMxMSw1MjQ1NzUsNDU5MDI3LDUyNDQwNyw1MjQzNDMsNTkwMDMxLDQ1OTAxOSw1MjQzOTEsNTI0MzI3LDU4OTk5OSw1MjQyOTUsNTI0NDIzLDUyNDM1OSw1OTAwNjMsNDU5MDE1LDUyNDM4Myw1MjQzMTksNTg5OTgzLDQ1OTAzMSw1MjQ0MTUsNTI0MzUxLDU5MDA0Nyw0NTkwMjMsNTI0Mzk5LDUyNDMzNSw1OTAwMTUsNTI0MzAzLDUyNDQzMSw1MjQzNjcsNTkwMDc5XSksOV0sV2E9W25ldyBJbnQzMkFycmF5KFszMjc2ODAsMzI3Njk2LDMyNzY4OCwzMjc3MDQsMzI3Njg0LDMyNzcwMCwzMjc2OTIsMzI3NzA4LDMyNzY4MiwzMjc2OTgsMzI3NjkwLDMyNzcwNiwzMjc2ODYsMzI3NzAyLDMyNzY5NCwwLDMyNzY4MSwzMjc2OTcsMzI3Njg5LDMyNzcwNSwzMjc2ODUsMzI3NzAxLDMyNzY5MywzMjc3MDksMzI3NjgzLDMyNzY5OSwzMjc2OTEsMzI3NzA3LDMyNzY4NywzMjc3MDMsMzI3Njk1LDBdKSw1XTtjbGFzcyBGbGF0ZVN0cmVhbSBleHRlbmRzIERlY29kZVN0cmVhbXtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKHQpO3RoaXMuc3RyPWU7dGhpcy5kaWN0PWUuZGljdDtjb25zdCBhPWUuZ2V0Qnl0ZSgpLHI9ZS5nZXRCeXRlKCk7aWYoLTE9PT1hfHwtMT09PXIpdGhyb3cgbmV3IEZvcm1hdEVycm9yKGBJbnZhbGlkIGhlYWRlciBpbiBmbGF0ZSBzdHJlYW06ICR7YX0sICR7cn1gKTtpZig4IT0oMTUmYSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKGBVbmtub3duIGNvbXByZXNzaW9uIG1ldGhvZCBpbiBmbGF0ZSBzdHJlYW06ICR7YX0sICR7cn1gKTtpZigoKGE8PDgpK3IpJTMxIT0wKXRocm93IG5ldyBGb3JtYXRFcnJvcihgQmFkIEZDSEVDSyBpbiBmbGF0ZSBzdHJlYW06ICR7YX0sICR7cn1gKTtpZigzMiZyKXRocm93IG5ldyBGb3JtYXRFcnJvcihgRkRJQ1QgYml0IHNldCBpbiBmbGF0ZSBzdHJlYW06ICR7YX0sICR7cn1gKTt0aGlzLmNvZGVTaXplPTA7dGhpcy5jb2RlQnVmPTB9YXN5bmMgZ2V0SW1hZ2VEYXRhKGUsdCl7Y29uc3QgYT1hd2FpdCB0aGlzLmFzeW5jR2V0Qnl0ZXMoKTtyZXR1cm4gYT9hLmxlbmd0aDw9ZT9hOmEuc3ViYXJyYXkoMCxlKTp0aGlzLmdldEJ5dGVzKGUpfWFzeW5jIGFzeW5jR2V0Qnl0ZXMoKXt0aGlzLnN0ci5yZXNldCgpO2NvbnN0IGU9dGhpcy5zdHIuZ2V0Qnl0ZXMoKTt0cnl7Y29uc3R7cmVhZGFibGU6dCx3cml0YWJsZTphfT1uZXcgRGVjb21wcmVzc2lvblN0cmVhbSgiZGVmbGF0ZSIpLHI9YS5nZXRXcml0ZXIoKTthd2FpdCByLnJlYWR5O3Iud3JpdGUoZSkudGhlbigoYXN5bmMoKT0+e2F3YWl0IHIucmVhZHk7YXdhaXQgci5jbG9zZSgpfSkpLmNhdGNoKCgoKT0+e30pKTtjb25zdCBpPVtdO2xldCBuPTA7Zm9yIGF3YWl0KGNvbnN0IGUgb2YgdCl7aS5wdXNoKGUpO24rPWUuYnl0ZUxlbmd0aH1jb25zdCBzPW5ldyBVaW50OEFycmF5KG4pO2xldCBvPTA7Zm9yKGNvbnN0IGUgb2YgaSl7cy5zZXQoZSxvKTtvKz1lLmJ5dGVMZW5ndGh9cmV0dXJuIHN9Y2F0Y2h7dGhpcy5zdHI9bmV3IFN0cmVhbShlLDIsZS5sZW5ndGgsdGhpcy5zdHIuZGljdCk7dGhpcy5yZXNldCgpO3JldHVybiBudWxsfX1nZXQgaXNBc3luYygpe3JldHVybiEwfWdldEJpdHMoZSl7Y29uc3QgdD10aGlzLnN0cjtsZXQgYSxyPXRoaXMuY29kZVNpemUsaT10aGlzLmNvZGVCdWY7Zm9yKDtyPGU7KXtpZigtMT09PShhPXQuZ2V0Qnl0ZSgpKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkJhZCBlbmNvZGluZyBpbiBmbGF0ZSBzdHJlYW0iKTtpfD1hPDxyO3IrPTh9YT1pJigxPDxlKS0xO3RoaXMuY29kZUJ1Zj1pPj5lO3RoaXMuY29kZVNpemU9ci09ZTtyZXR1cm4gYX1nZXRDb2RlKGUpe2NvbnN0IHQ9dGhpcy5zdHIsYT1lWzBdLHI9ZVsxXTtsZXQgaSxuPXRoaXMuY29kZVNpemUscz10aGlzLmNvZGVCdWY7Zm9yKDtuPHImJi0xIT09KGk9dC5nZXRCeXRlKCkpOyl7c3w9aTw8bjtuKz04fWNvbnN0IG89YVtzJigxPDxyKS0xXSxjPW8+PjE2LGw9NjU1MzUmbztpZihjPDF8fG48Yyl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkJhZCBlbmNvZGluZyBpbiBmbGF0ZSBzdHJlYW0iKTt0aGlzLmNvZGVCdWY9cz4+Yzt0aGlzLmNvZGVTaXplPW4tYztyZXR1cm4gbH1nZW5lcmF0ZUh1ZmZtYW5UYWJsZShlKXtjb25zdCB0PWUubGVuZ3RoO2xldCBhLHI9MDtmb3IoYT0wO2E8dDsrK2EpZVthXT5yJiYocj1lW2FdKTtjb25zdCBpPTE8PHIsbj1uZXcgSW50MzJBcnJheShpKTtmb3IobGV0IHM9MSxvPTAsYz0yO3M8PXI7KytzLG88PD0xLGM8PD0xKWZvcihsZXQgcj0wO3I8dDsrK3IpaWYoZVtyXT09PXMpe2xldCBlPTAsdD1vO2ZvcihhPTA7YTxzOysrYSl7ZT1lPDwxfDEmdDt0Pj49MX1mb3IoYT1lO2E8aTthKz1jKW5bYV09czw8MTZ8cjsrK299cmV0dXJuW24scl19I1goZSl7aW5mbyhlKTt0aGlzLmVvZj0hMH1yZWFkQmxvY2soKXtsZXQgZSx0LGE7Y29uc3Qgcj10aGlzLnN0cjt0cnl7dD10aGlzLmdldEJpdHMoMyl9Y2F0Y2goZSl7dGhpcy4jWChlLm1lc3NhZ2UpO3JldHVybn0xJnQmJih0aGlzLmVvZj0hMCk7dD4+PTE7aWYoMD09PXQpe2xldCB0O2lmKC0xPT09KHQ9ci5nZXRCeXRlKCkpKXt0aGlzLiNYKCJCYWQgYmxvY2sgaGVhZGVyIGluIGZsYXRlIHN0cmVhbSIpO3JldHVybn1sZXQgYT10O2lmKC0xPT09KHQ9ci5nZXRCeXRlKCkpKXt0aGlzLiNYKCJCYWQgYmxvY2sgaGVhZGVyIGluIGZsYXRlIHN0cmVhbSIpO3JldHVybn1hfD10PDw4O2lmKC0xPT09KHQ9ci5nZXRCeXRlKCkpKXt0aGlzLiNYKCJCYWQgYmxvY2sgaGVhZGVyIGluIGZsYXRlIHN0cmVhbSIpO3JldHVybn1sZXQgaT10O2lmKC0xPT09KHQ9ci5nZXRCeXRlKCkpKXt0aGlzLiNYKCJCYWQgYmxvY2sgaGVhZGVyIGluIGZsYXRlIHN0cmVhbSIpO3JldHVybn1pfD10PDw4O2lmKGkhPT0oNjU1MzUmfmEpJiYoMCE9PWF8fDAhPT1pKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkJhZCB1bmNvbXByZXNzZWQgYmxvY2sgbGVuZ3RoIGluIGZsYXRlIHN0cmVhbSIpO3RoaXMuY29kZUJ1Zj0wO3RoaXMuY29kZVNpemU9MDtjb25zdCBuPXRoaXMuYnVmZmVyTGVuZ3RoLHM9bithO2U9dGhpcy5lbnN1cmVCdWZmZXIocyk7dGhpcy5idWZmZXJMZW5ndGg9cztpZigwPT09YSktMT09PXIucGVla0J5dGUoKSYmKHRoaXMuZW9mPSEwKTtlbHNle2NvbnN0IHQ9ci5nZXRCeXRlcyhhKTtlLnNldCh0LG4pO3QubGVuZ3RoPGEmJih0aGlzLmVvZj0hMCl9cmV0dXJufWxldCBpLG47aWYoMT09PXQpe2k9SGE7bj1XYX1lbHNle2lmKDIhPT10KXRocm93IG5ldyBGb3JtYXRFcnJvcigiVW5rbm93biBibG9jayB0eXBlIGluIGZsYXRlIHN0cmVhbSIpO3tjb25zdCBlPXRoaXMuZ2V0Qml0cyg1KSsyNTcsdD10aGlzLmdldEJpdHMoNSkrMSxyPXRoaXMuZ2V0Qml0cyg0KSs0LHM9bmV3IFVpbnQ4QXJyYXkoVWEubGVuZ3RoKTtsZXQgbztmb3Iobz0wO288cjsrK28pc1tVYVtvXV09dGhpcy5nZXRCaXRzKDMpO2NvbnN0IGM9dGhpcy5nZW5lcmF0ZUh1ZmZtYW5UYWJsZShzKTthPTA7bz0wO2NvbnN0IGw9ZSt0LGg9bmV3IFVpbnQ4QXJyYXkobCk7bGV0IHUsZCxmO2Zvcig7bzxsOyl7Y29uc3QgZT10aGlzLmdldENvZGUoYyk7aWYoMTY9PT1lKXt1PTI7ZD0zO2Y9YX1lbHNlIGlmKDE3PT09ZSl7dT0zO2Q9MztmPWE9MH1lbHNle2lmKDE4IT09ZSl7aFtvKytdPWE9ZTtjb250aW51ZX11PTc7ZD0xMTtmPWE9MH1sZXQgdD10aGlzLmdldEJpdHModSkrZDtmb3IoO3QtLSA+MDspaFtvKytdPWZ9aT10aGlzLmdlbmVyYXRlSHVmZm1hblRhYmxlKGguc3ViYXJyYXkoMCxlKSk7bj10aGlzLmdlbmVyYXRlSHVmZm1hblRhYmxlKGguc3ViYXJyYXkoZSxsKSl9fWU9dGhpcy5idWZmZXI7bGV0IHM9ZT9lLmxlbmd0aDowLG89dGhpcy5idWZmZXJMZW5ndGg7Zm9yKDs7KXtsZXQgdD10aGlzLmdldENvZGUoaSk7aWYodDwyNTYpe2lmKG8rMT49cyl7ZT10aGlzLmVuc3VyZUJ1ZmZlcihvKzEpO3M9ZS5sZW5ndGh9ZVtvKytdPXQ7Y29udGludWV9aWYoMjU2PT09dCl7dGhpcy5idWZmZXJMZW5ndGg9bztyZXR1cm59dC09MjU3O3Q9WGFbdF07bGV0IHI9dD4+MTY7cj4wJiYocj10aGlzLmdldEJpdHMocikpO2E9KDY1NTM1JnQpK3I7dD10aGlzLmdldENvZGUobik7dD1xYVt0XTtyPXQ+PjE2O3I+MCYmKHI9dGhpcy5nZXRCaXRzKHIpKTtjb25zdCBjPSg2NTUzNSZ0KStyO2lmKG8rYT49cyl7ZT10aGlzLmVuc3VyZUJ1ZmZlcihvK2EpO3M9ZS5sZW5ndGh9Zm9yKGxldCB0PTA7dDxhOysrdCwrK28pZVtvXT1lW28tY119fX1jb25zdCB6YT1be3FlOjIyMDE3LG5tcHM6MSxubHBzOjEsc3dpdGNoRmxhZzoxfSx7cWU6MTMzMTMsbm1wczoyLG5scHM6Nixzd2l0Y2hGbGFnOjB9LHtxZTo2MTQ1LG5tcHM6MyxubHBzOjksc3dpdGNoRmxhZzowfSx7cWU6Mjc1MyxubXBzOjQsbmxwczoxMixzd2l0Y2hGbGFnOjB9LHtxZToxMzEzLG5tcHM6NSxubHBzOjI5LHN3aXRjaEZsYWc6MH0se3FlOjU0NSxubXBzOjM4LG5scHM6MzMsc3dpdGNoRmxhZzowfSx7cWU6MjIwMTcsbm1wczo3LG5scHM6Nixzd2l0Y2hGbGFnOjF9LHtxZToyMTUwNSxubXBzOjgsbmxwczoxNCxzd2l0Y2hGbGFnOjB9LHtxZToxODQzMyxubXBzOjksbmxwczoxNCxzd2l0Y2hGbGFnOjB9LHtxZToxNDMzNyxubXBzOjEwLG5scHM6MTQsc3dpdGNoRmxhZzowfSx7cWU6MTIyODksbm1wczoxMSxubHBzOjE3LHN3aXRjaEZsYWc6MH0se3FlOjkyMTcsbm1wczoxMixubHBzOjE4LHN3aXRjaEZsYWc6MH0se3FlOjcxNjksbm1wczoxMyxubHBzOjIwLHN3aXRjaEZsYWc6MH0se3FlOjU2MzMsbm1wczoyOSxubHBzOjIxLHN3aXRjaEZsYWc6MH0se3FlOjIyMDE3LG5tcHM6MTUsbmxwczoxNCxzd2l0Y2hGbGFnOjF9LHtxZToyMTUwNSxubXBzOjE2LG5scHM6MTQsc3dpdGNoRmxhZzowfSx7cWU6MjA3Mzcsbm1wczoxNyxubHBzOjE1LHN3aXRjaEZsYWc6MH0se3FlOjE4NDMzLG5tcHM6MTgsbmxwczoxNixzd2l0Y2hGbGFnOjB9LHtxZToxNDMzNyxubXBzOjE5LG5scHM6MTcsc3dpdGNoRmxhZzowfSx7cWU6MTMzMTMsbm1wczoyMCxubHBzOjE4LHN3aXRjaEZsYWc6MH0se3FlOjEyMjg5LG5tcHM6MjEsbmxwczoxOSxzd2l0Y2hGbGFnOjB9LHtxZToxMDI0MSxubXBzOjIyLG5scHM6MTksc3dpdGNoRmxhZzowfSx7cWU6OTIxNyxubXBzOjIzLG5scHM6MjAsc3dpdGNoRmxhZzowfSx7cWU6ODcwNSxubXBzOjI0LG5scHM6MjEsc3dpdGNoRmxhZzowfSx7cWU6NzE2OSxubXBzOjI1LG5scHM6MjIsc3dpdGNoRmxhZzowfSx7cWU6NjE0NSxubXBzOjI2LG5scHM6MjMsc3dpdGNoRmxhZzowfSx7cWU6NTYzMyxubXBzOjI3LG5scHM6MjQsc3dpdGNoRmxhZzowfSx7cWU6NTEyMSxubXBzOjI4LG5scHM6MjUsc3dpdGNoRmxhZzowfSx7cWU6NDYwOSxubXBzOjI5LG5scHM6MjYsc3dpdGNoRmxhZzowfSx7cWU6NDM1MyxubXBzOjMwLG5scHM6Mjcsc3dpdGNoRmxhZzowfSx7cWU6Mjc1MyxubXBzOjMxLG5scHM6Mjgsc3dpdGNoRmxhZzowfSx7cWU6MjQ5NyxubXBzOjMyLG5scHM6Mjksc3dpdGNoRmxhZzowfSx7cWU6MjIwOSxubXBzOjMzLG5scHM6MzAsc3dpdGNoRmxhZzowfSx7cWU6MTMxMyxubXBzOjM0LG5scHM6MzEsc3dpdGNoRmxhZzowfSx7cWU6MTA4OSxubXBzOjM1LG5scHM6MzIsc3dpdGNoRmxhZzowfSx7cWU6NjczLG5tcHM6MzYsbmxwczozMyxzd2l0Y2hGbGFnOjB9LHtxZTo1NDUsbm1wczozNyxubHBzOjM0LHN3aXRjaEZsYWc6MH0se3FlOjMyMSxubXBzOjM4LG5scHM6MzUsc3dpdGNoRmxhZzowfSx7cWU6MjczLG5tcHM6MzksbmxwczozNixzd2l0Y2hGbGFnOjB9LHtxZToxMzMsbm1wczo0MCxubHBzOjM3LHN3aXRjaEZsYWc6MH0se3FlOjczLG5tcHM6NDEsbmxwczozOCxzd2l0Y2hGbGFnOjB9LHtxZTozNyxubXBzOjQyLG5scHM6Mzksc3dpdGNoRmxhZzowfSx7cWU6MjEsbm1wczo0MyxubHBzOjQwLHN3aXRjaEZsYWc6MH0se3FlOjksbm1wczo0NCxubHBzOjQxLHN3aXRjaEZsYWc6MH0se3FlOjUsbm1wczo0NSxubHBzOjQyLHN3aXRjaEZsYWc6MH0se3FlOjEsbm1wczo0NSxubHBzOjQzLHN3aXRjaEZsYWc6MH0se3FlOjIyMDE3LG5tcHM6NDYsbmxwczo0Nixzd2l0Y2hGbGFnOjB9XTtjbGFzcyBBcml0aG1ldGljRGVjb2Rlcntjb25zdHJ1Y3RvcihlLHQsYSl7dGhpcy5kYXRhPWU7dGhpcy5icD10O3RoaXMuZGF0YUVuZD1hO3RoaXMuY2hpZ2g9ZVt0XTt0aGlzLmNsb3c9MDt0aGlzLmJ5dGVJbigpO3RoaXMuY2hpZ2g9dGhpcy5jaGlnaDw8NyY2NTUzNXx0aGlzLmNsb3c+PjkmMTI3O3RoaXMuY2xvdz10aGlzLmNsb3c8PDcmNjU1MzU7dGhpcy5jdC09Nzt0aGlzLmE9MzI3Njh9Ynl0ZUluKCl7Y29uc3QgZT10aGlzLmRhdGE7bGV0IHQ9dGhpcy5icDtpZigyNTU9PT1lW3RdKWlmKGVbdCsxXT4xNDMpe3RoaXMuY2xvdys9NjUyODA7dGhpcy5jdD04fWVsc2V7dCsrO3RoaXMuY2xvdys9ZVt0XTw8OTt0aGlzLmN0PTc7dGhpcy5icD10fWVsc2V7dCsrO3RoaXMuY2xvdys9dDx0aGlzLmRhdGFFbmQ/ZVt0XTw8ODo2NTI4MDt0aGlzLmN0PTg7dGhpcy5icD10fWlmKHRoaXMuY2xvdz42NTUzNSl7dGhpcy5jaGlnaCs9dGhpcy5jbG93Pj4xNjt0aGlzLmNsb3cmPTY1NTM1fX1yZWFkQml0KGUsdCl7bGV0IGE9ZVt0XT4+MSxyPTEmZVt0XTtjb25zdCBpPXphW2FdLG49aS5xZTtsZXQgcyxvPXRoaXMuYS1uO2lmKHRoaXMuY2hpZ2g8bilpZihvPG4pe289bjtzPXI7YT1pLm5tcHN9ZWxzZXtvPW47cz0xXnI7MT09PWkuc3dpdGNoRmxhZyYmKHI9cyk7YT1pLm5scHN9ZWxzZXt0aGlzLmNoaWdoLT1uO2lmKDMyNzY4Jm8pe3RoaXMuYT1vO3JldHVybiByfWlmKG88bil7cz0xXnI7MT09PWkuc3dpdGNoRmxhZyYmKHI9cyk7YT1pLm5scHN9ZWxzZXtzPXI7YT1pLm5tcHN9fWRvezA9PT10aGlzLmN0JiZ0aGlzLmJ5dGVJbigpO288PD0xO3RoaXMuY2hpZ2g9dGhpcy5jaGlnaDw8MSY2NTUzNXx0aGlzLmNsb3c+PjE1JjE7dGhpcy5jbG93PXRoaXMuY2xvdzw8MSY2NTUzNTt0aGlzLmN0LS19d2hpbGUoISgzMjc2OCZvKSk7dGhpcy5hPW87ZVt0XT1hPDwxfHI7cmV0dXJuIHN9fWNsYXNzIEpiaWcyRXJyb3IgZXh0ZW5kcyBKdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJKYmlnMkVycm9yIil9fWNsYXNzIENvbnRleHRDYWNoZXtnZXRDb250ZXh0cyhlKXtyZXR1cm4gZSBpbiB0aGlzP3RoaXNbZV06dGhpc1tlXT1uZXcgSW50OEFycmF5KDY1NTM2KX19Y2xhc3MgRGVjb2RpbmdDb250ZXh0e2NvbnN0cnVjdG9yKGUsdCxhKXt0aGlzLmRhdGE9ZTt0aGlzLnN0YXJ0PXQ7dGhpcy5lbmQ9YX1nZXQgZGVjb2Rlcigpe3JldHVybiBzaGFkb3codGhpcywiZGVjb2RlciIsbmV3IEFyaXRobWV0aWNEZWNvZGVyKHRoaXMuZGF0YSx0aGlzLnN0YXJ0LHRoaXMuZW5kKSl9Z2V0IGNvbnRleHRDYWNoZSgpe3JldHVybiBzaGFkb3codGhpcywiY29udGV4dENhY2hlIixuZXcgQ29udGV4dENhY2hlKX19ZnVuY3Rpb24gZGVjb2RlSW50ZWdlcihlLHQsYSl7Y29uc3Qgcj1lLmdldENvbnRleHRzKHQpO2xldCBpPTE7ZnVuY3Rpb24gcmVhZEJpdHMoZSl7bGV0IHQ9MDtmb3IobGV0IG49MDtuPGU7bisrKXtjb25zdCBlPWEucmVhZEJpdChyLGkpO2k9aTwyNTY/aTw8MXxlOjUxMSYoaTw8MXxlKXwyNTY7dD10PDwxfGV9cmV0dXJuIHQ+Pj4wfWNvbnN0IG49cmVhZEJpdHMoMSkscz1yZWFkQml0cygxKT9yZWFkQml0cygxKT9yZWFkQml0cygxKT9yZWFkQml0cygxKT9yZWFkQml0cygxKT9yZWFkQml0cygzMikrNDQzNjpyZWFkQml0cygxMikrMzQwOnJlYWRCaXRzKDgpKzg0OnJlYWRCaXRzKDYpKzIwOnJlYWRCaXRzKDQpKzQ6cmVhZEJpdHMoMik7bGV0IG87MD09PW4/bz1zOnM+MCYmKG89LXMpO3JldHVybiBvPj0tMjE0NzQ4MzY0OCYmbzw9Y2E/bzpudWxsfWZ1bmN0aW9uIGRlY29kZUlBSUQoZSx0LGEpe2NvbnN0IHI9ZS5nZXRDb250ZXh0cygiSUFJRCIpO2xldCBpPTE7Zm9yKGxldCBlPTA7ZTxhO2UrKyl7aT1pPDwxfHQucmVhZEJpdChyLGkpfXJldHVybiBhPDMxP2kmKDE8PGEpLTE6MjE0NzQ4MzY0NyZpfWNvbnN0ICRhPVsiU3ltYm9sRGljdGlvbmFyeSIsbnVsbCxudWxsLG51bGwsIkludGVybWVkaWF0ZVRleHRSZWdpb24iLG51bGwsIkltbWVkaWF0ZVRleHRSZWdpb24iLCJJbW1lZGlhdGVMb3NzbGVzc1RleHRSZWdpb24iLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCwiUGF0dGVybkRpY3Rpb25hcnkiLG51bGwsbnVsbCxudWxsLCJJbnRlcm1lZGlhdGVIYWxmdG9uZVJlZ2lvbiIsbnVsbCwiSW1tZWRpYXRlSGFsZnRvbmVSZWdpb24iLCJJbW1lZGlhdGVMb3NzbGVzc0hhbGZ0b25lUmVnaW9uIixudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCwiSW50ZXJtZWRpYXRlR2VuZXJpY1JlZ2lvbiIsbnVsbCwiSW1tZWRpYXRlR2VuZXJpY1JlZ2lvbiIsIkltbWVkaWF0ZUxvc3NsZXNzR2VuZXJpY1JlZ2lvbiIsIkludGVybWVkaWF0ZUdlbmVyaWNSZWZpbmVtZW50UmVnaW9uIixudWxsLCJJbW1lZGlhdGVHZW5lcmljUmVmaW5lbWVudFJlZ2lvbiIsIkltbWVkaWF0ZUxvc3NsZXNzR2VuZXJpY1JlZmluZW1lbnRSZWdpb24iLG51bGwsbnVsbCxudWxsLG51bGwsIlBhZ2VJbmZvcm1hdGlvbiIsIkVuZE9mUGFnZSIsIkVuZE9mU3RyaXBlIiwiRW5kT2ZGaWxlIiwiUHJvZmlsZXMiLCJUYWJsZXMiLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCwiRXh0ZW5zaW9uIl0sR2E9W1t7eDotMSx5Oi0yfSx7eDowLHk6LTJ9LHt4OjEseTotMn0se3g6LTIseTotMX0se3g6LTEseTotMX0se3g6MCx5Oi0xfSx7eDoxLHk6LTF9LHt4OjIseTotMX0se3g6LTQseTowfSx7eDotMyx5OjB9LHt4Oi0yLHk6MH0se3g6LTEseTowfV0sW3t4Oi0xLHk6LTJ9LHt4OjAseTotMn0se3g6MSx5Oi0yfSx7eDoyLHk6LTJ9LHt4Oi0yLHk6LTF9LHt4Oi0xLHk6LTF9LHt4OjAseTotMX0se3g6MSx5Oi0xfSx7eDoyLHk6LTF9LHt4Oi0zLHk6MH0se3g6LTIseTowfSx7eDotMSx5OjB9XSxbe3g6LTEseTotMn0se3g6MCx5Oi0yfSx7eDoxLHk6LTJ9LHt4Oi0yLHk6LTF9LHt4Oi0xLHk6LTF9LHt4OjAseTotMX0se3g6MSx5Oi0xfSx7eDotMix5OjB9LHt4Oi0xLHk6MH1dLFt7eDotMyx5Oi0xfSx7eDotMix5Oi0xfSx7eDotMSx5Oi0xfSx7eDowLHk6LTF9LHt4OjEseTotMX0se3g6LTQseTowfSx7eDotMyx5OjB9LHt4Oi0yLHk6MH0se3g6LTEseTowfV1dLFZhPVt7Y29kaW5nOlt7eDowLHk6LTF9LHt4OjEseTotMX0se3g6LTEseTowfV0scmVmZXJlbmNlOlt7eDowLHk6LTF9LHt4OjEseTotMX0se3g6LTEseTowfSx7eDowLHk6MH0se3g6MSx5OjB9LHt4Oi0xLHk6MX0se3g6MCx5OjF9LHt4OjEseToxfV19LHtjb2Rpbmc6W3t4Oi0xLHk6LTF9LHt4OjAseTotMX0se3g6MSx5Oi0xfSx7eDotMSx5OjB9XSxyZWZlcmVuY2U6W3t4OjAseTotMX0se3g6LTEseTowfSx7eDowLHk6MH0se3g6MSx5OjB9LHt4OjAseToxfSx7eDoxLHk6MX1dfV0sS2E9WzM5NzE3LDE5NDEsMjI5LDQwNV0sSmE9WzMyLDhdO2Z1bmN0aW9uIGRlY29kZUJpdG1hcChlLHQsYSxyLGksbixzLG8pe2lmKGUpe3JldHVybiBkZWNvZGVNTVJCaXRtYXAobmV3IFJlYWRlcihvLmRhdGEsby5zdGFydCxvLmVuZCksdCxhLCExKX1pZigwPT09ciYmIW4mJiFpJiY0PT09cy5sZW5ndGgmJjM9PT1zWzBdLngmJi0xPT09c1swXS55JiYtMz09PXNbMV0ueCYmLTE9PT1zWzFdLnkmJjI9PT1zWzJdLngmJi0yPT09c1syXS55JiYtMj09PXNbM10ueCYmLTI9PT1zWzNdLnkpcmV0dXJuIGZ1bmN0aW9uIGRlY29kZUJpdG1hcFRlbXBsYXRlMChlLHQsYSl7Y29uc3Qgcj1hLmRlY29kZXIsaT1hLmNvbnRleHRDYWNoZS5nZXRDb250ZXh0cygiR0IiKSxuPVtdO2xldCBzLG8sYyxsLGgsdSxkO2ZvcihvPTA7bzx0O28rKyl7aD1uW29dPW5ldyBVaW50OEFycmF5KGUpO3U9bzwxP2g6bltvLTFdO2Q9bzwyP2g6bltvLTJdO3M9ZFswXTw8MTN8ZFsxXTw8MTJ8ZFsyXTw8MTF8dVswXTw8N3x1WzFdPDw2fHVbMl08PDV8dVszXTw8NDtmb3IoYz0wO2M8ZTtjKyspe2hbY109bD1yLnJlYWRCaXQoaSxzKTtzPSgzMTczNSZzKTw8MXwoYyszPGU/ZFtjKzNdPDwxMTowKXwoYys0PGU/dVtjKzRdPDw0OjApfGx9fXJldHVybiBufSh0LGEsbyk7Y29uc3QgYz0hIW4sbD1HYVtyXS5jb25jYXQocyk7bC5zb3J0KCgoZSx0KT0+ZS55LXQueXx8ZS54LXQueCkpO2NvbnN0IGg9bC5sZW5ndGgsdT1uZXcgSW50OEFycmF5KGgpLGQ9bmV3IEludDhBcnJheShoKSxmPVtdO2xldCBnLHAsbT0wLGI9MCx5PTAsdz0wO2ZvcihwPTA7cDxoO3ArKyl7dVtwXT1sW3BdLng7ZFtwXT1sW3BdLnk7Yj1NYXRoLm1pbihiLGxbcF0ueCk7eT1NYXRoLm1heCh5LGxbcF0ueCk7dz1NYXRoLm1pbih3LGxbcF0ueSk7cDxoLTEmJmxbcF0ueT09PWxbcCsxXS55JiZsW3BdLng9PT1sW3ArMV0ueC0xP218PTE8PGgtMS1wOmYucHVzaChwKX1jb25zdCB4PWYubGVuZ3RoLFM9bmV3IEludDhBcnJheSh4KSxrPW5ldyBJbnQ4QXJyYXkoeCksQz1uZXcgVWludDE2QXJyYXkoeCk7Zm9yKGc9MDtnPHg7ZysrKXtwPWZbZ107U1tnXT1sW3BdLng7a1tnXT1sW3BdLnk7Q1tnXT0xPDxoLTEtcH1jb25zdCB2PS1iLEY9LXcsVD10LXksTz1LYVtyXTtsZXQgTT1uZXcgVWludDhBcnJheSh0KTtjb25zdCBEPVtdLFI9by5kZWNvZGVyLE49by5jb250ZXh0Q2FjaGUuZ2V0Q29udGV4dHMoIkdCIik7bGV0IEUsTCxqLF8sVSxYPTAscT0wO2ZvcihsZXQgZT0wO2U8YTtlKyspe2lmKGkpe1hePVIucmVhZEJpdChOLE8pO2lmKFgpe0QucHVzaChNKTtjb250aW51ZX19TT1uZXcgVWludDhBcnJheShNKTtELnB1c2goTSk7Zm9yKEU9MDtFPHQ7RSsrKXtpZihjJiZuW2VdW0VdKXtNW0VdPTA7Y29udGludWV9aWYoRT49diYmRTxUJiZlPj1GKXtxPXE8PDEmbTtmb3IocD0wO3A8eDtwKyspe0w9ZStrW3BdO2o9RStTW3BdO189RFtMXVtqXTtpZihfKXtfPUNbcF07cXw9X319fWVsc2V7cT0wO1U9aC0xO2ZvcihwPTA7cDxoO3ArKyxVLS0pe2o9RSt1W3BdO2lmKGo+PTAmJmo8dCl7TD1lK2RbcF07aWYoTD49MCl7Xz1EW0xdW2pdO18mJihxfD1fPDxVKX19fX1jb25zdCBhPVIucmVhZEJpdChOLHEpO01bRV09YX19cmV0dXJuIER9ZnVuY3Rpb24gZGVjb2RlUmVmaW5lbWVudChlLHQsYSxyLGksbixzLG8sYyl7bGV0IGw9VmFbYV0uY29kaW5nOzA9PT1hJiYobD1sLmNvbmNhdChbb1swXV0pKTtjb25zdCBoPWwubGVuZ3RoLHU9bmV3IEludDMyQXJyYXkoaCksZD1uZXcgSW50MzJBcnJheShoKTtsZXQgZjtmb3IoZj0wO2Y8aDtmKyspe3VbZl09bFtmXS54O2RbZl09bFtmXS55fWxldCBnPVZhW2FdLnJlZmVyZW5jZTswPT09YSYmKGc9Zy5jb25jYXQoW29bMV1dKSk7Y29uc3QgcD1nLmxlbmd0aCxtPW5ldyBJbnQzMkFycmF5KHApLGI9bmV3IEludDMyQXJyYXkocCk7Zm9yKGY9MDtmPHA7ZisrKXttW2ZdPWdbZl0ueDtiW2ZdPWdbZl0ueX1jb25zdCB5PXJbMF0ubGVuZ3RoLHc9ci5sZW5ndGgseD1KYVthXSxTPVtdLGs9Yy5kZWNvZGVyLEM9Yy5jb250ZXh0Q2FjaGUuZ2V0Q29udGV4dHMoIkdSIik7bGV0IHY9MDtmb3IobGV0IGE9MDthPHQ7YSsrKXtpZihzKXt2Xj1rLnJlYWRCaXQoQyx4KTtpZih2KXRocm93IG5ldyBKYmlnMkVycm9yKCJwcmVkaWN0aW9uIGlzIG5vdCBzdXBwb3J0ZWQiKX1jb25zdCB0PW5ldyBVaW50OEFycmF5KGUpO1MucHVzaCh0KTtmb3IobGV0IHM9MDtzPGU7cysrKXtsZXQgbyxjLGw9MDtmb3IoZj0wO2Y8aDtmKyspe289YStkW2ZdO2M9cyt1W2ZdO288MHx8YzwwfHxjPj1lP2w8PD0xOmw9bDw8MXxTW29dW2NdfWZvcihmPTA7ZjxwO2YrKyl7bz1hK2JbZl0tbjtjPXMrbVtmXS1pO288MHx8bz49d3x8YzwwfHxjPj15P2w8PD0xOmw9bDw8MXxyW29dW2NdfWNvbnN0IGc9ay5yZWFkQml0KEMsbCk7dFtzXT1nfX1yZXR1cm4gU31mdW5jdGlvbiBkZWNvZGVUZXh0UmVnaW9uKGUsdCxhLHIsaSxuLHMsbyxjLGwsaCx1LGQsZixnLHAsbSxiLHkpe2lmKGUmJnQpdGhyb3cgbmV3IEpiaWcyRXJyb3IoInJlZmluZW1lbnQgd2l0aCBIdWZmbWFuIGlzIG5vdCBzdXBwb3J0ZWQiKTtjb25zdCB3PVtdO2xldCB4LFM7Zm9yKHg9MDt4PHI7eCsrKXtTPW5ldyBVaW50OEFycmF5KGEpO2kmJlMuZmlsbChpKTt3LnB1c2goUyl9Y29uc3Qgaz1tLmRlY29kZXIsQz1tLmNvbnRleHRDYWNoZTtsZXQgdj1lPy1mLnRhYmxlRGVsdGFULmRlY29kZSh5KTotZGVjb2RlSW50ZWdlcihDLCJJQURUIixrKSxGPTA7eD0wO2Zvcig7eDxuOyl7dis9ZT9mLnRhYmxlRGVsdGFULmRlY29kZSh5KTpkZWNvZGVJbnRlZ2VyKEMsIklBRFQiLGspO0YrPWU/Zi50YWJsZUZpcnN0Uy5kZWNvZGUoeSk6ZGVjb2RlSW50ZWdlcihDLCJJQUZTIixrKTtsZXQgcj1GO2Zvcig7Oyl7bGV0IGk9MDtzPjEmJihpPWU/eS5yZWFkQml0cyhiKTpkZWNvZGVJbnRlZ2VyKEMsIklBSVQiLGspKTtjb25zdCBuPXMqditpLEY9ZT9mLnN5bWJvbElEVGFibGUuZGVjb2RlKHkpOmRlY29kZUlBSUQoQyxrLGMpLFQ9dCYmKGU/eS5yZWFkQml0KCk6ZGVjb2RlSW50ZWdlcihDLCJJQVJJIixrKSk7bGV0IE89b1tGXSxNPU9bMF0ubGVuZ3RoLEQ9Ty5sZW5ndGg7aWYoVCl7Y29uc3QgZT1kZWNvZGVJbnRlZ2VyKEMsIklBUkRXIixrKSx0PWRlY29kZUludGVnZXIoQywiSUFSREgiLGspO00rPWU7RCs9dDtPPWRlY29kZVJlZmluZW1lbnQoTSxELGcsTywoZT4+MSkrZGVjb2RlSW50ZWdlcihDLCJJQVJEWCIsayksKHQ+PjEpK2RlY29kZUludGVnZXIoQywiSUFSRFkiLGspLCExLHAsbSl9bGV0IFI9MDtsPzEmdT9SPUQtMTpyKz1ELTE6dT4xP3IrPU0tMTpSPU0tMTtjb25zdCBOPW4tKDEmdT8wOkQtMSksRT1yLSgyJnU/TS0xOjApO2xldCBMLGosXztpZihsKWZvcihMPTA7TDxEO0wrKyl7Uz13W0UrTF07aWYoIVMpY29udGludWU7Xz1PW0xdO2NvbnN0IGU9TWF0aC5taW4oYS1OLE0pO3N3aXRjaChkKXtjYXNlIDA6Zm9yKGo9MDtqPGU7aisrKVNbTitqXXw9X1tqXTticmVhaztjYXNlIDI6Zm9yKGo9MDtqPGU7aisrKVNbTitqXV49X1tqXTticmVhaztkZWZhdWx0OnRocm93IG5ldyBKYmlnMkVycm9yKGBvcGVyYXRvciAke2R9IGlzIG5vdCBzdXBwb3J0ZWRgKX19ZWxzZSBmb3Ioaj0wO2o8RDtqKyspe1M9d1tOK2pdO2lmKFMpe189T1tqXTtzd2l0Y2goZCl7Y2FzZSAwOmZvcihMPTA7TDxNO0wrKylTW0UrTF18PV9bTF07YnJlYWs7Y2FzZSAyOmZvcihMPTA7TDxNO0wrKylTW0UrTF1ePV9bTF07YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgSmJpZzJFcnJvcihgb3BlcmF0b3IgJHtkfSBpcyBub3Qgc3VwcG9ydGVkYCl9fX14Kys7Y29uc3QgVT1lP2YudGFibGVEZWx0YVMuZGVjb2RlKHkpOmRlY29kZUludGVnZXIoQywiSUFEUyIsayk7aWYobnVsbD09PVUpYnJlYWs7cis9UitVK2h9fXJldHVybiB3fWZ1bmN0aW9uIHJlYWRTZWdtZW50SGVhZGVyKGUsdCl7Y29uc3QgYT17fTthLm51bWJlcj1yZWFkVWludDMyKGUsdCk7Y29uc3Qgcj1lW3QrNF0saT02MyZyO2lmKCEkYVtpXSl0aHJvdyBuZXcgSmJpZzJFcnJvcigiaW52YWxpZCBzZWdtZW50IHR5cGU6ICIraSk7YS50eXBlPWk7YS50eXBlTmFtZT0kYVtpXTthLmRlZmVycmVkTm9uUmV0YWluPSEhKDEyOCZyKTtjb25zdCBuPSEhKDY0JnIpLHM9ZVt0KzVdO2xldCBvPXM+PjUmNztjb25zdCBjPVszMSZzXTtsZXQgbD10KzY7aWYoNz09PXMpe289NTM2ODcwOTExJnJlYWRVaW50MzIoZSxsLTEpO2wrPTM7bGV0IHQ9bys3Pj4zO2NbMF09ZVtsKytdO2Zvcig7LS10PjA7KWMucHVzaChlW2wrK10pfWVsc2UgaWYoNT09PXN8fDY9PT1zKXRocm93IG5ldyBKYmlnMkVycm9yKCJpbnZhbGlkIHJlZmVycmVkLXRvIGZsYWdzIik7YS5yZXRhaW5CaXRzPWM7bGV0IGg9NDthLm51bWJlcjw9MjU2P2g9MTphLm51bWJlcjw9NjU1MzYmJihoPTIpO2NvbnN0IHU9W107bGV0IGQsZjtmb3IoZD0wO2Q8bztkKyspe2xldCB0O3Q9MT09PWg/ZVtsXToyPT09aD9yZWFkVWludDE2KGUsbCk6cmVhZFVpbnQzMihlLGwpO3UucHVzaCh0KTtsKz1ofWEucmVmZXJyZWRUbz11O2lmKG4pe2EucGFnZUFzc29jaWF0aW9uPXJlYWRVaW50MzIoZSxsKTtsKz00fWVsc2UgYS5wYWdlQXNzb2NpYXRpb249ZVtsKytdO2EubGVuZ3RoPXJlYWRVaW50MzIoZSxsKTtsKz00O2lmKDQyOTQ5NjcyOTU9PT1hLmxlbmd0aCl7aWYoMzghPT1pKXRocm93IG5ldyBKYmlnMkVycm9yKCJpbnZhbGlkIHVua25vd24gc2VnbWVudCBsZW5ndGgiKTt7Y29uc3QgdD1yZWFkUmVnaW9uU2VnbWVudEluZm9ybWF0aW9uKGUsbCkscj0hISgxJmVbbCtZYV0pLGk9NixuPW5ldyBVaW50OEFycmF5KGkpO2lmKCFyKXtuWzBdPTI1NTtuWzFdPTE3Mn1uWzJdPXQuaGVpZ2h0Pj4+MjQmMjU1O25bM109dC5oZWlnaHQ+PjE2JjI1NTtuWzRdPXQuaGVpZ2h0Pj44JjI1NTtuWzVdPTI1NSZ0LmhlaWdodDtmb3IoZD1sLGY9ZS5sZW5ndGg7ZDxmO2QrKyl7bGV0IHQ9MDtmb3IoO3Q8aSYmblt0XT09PWVbZCt0XTspdCsrO2lmKHQ9PT1pKXthLmxlbmd0aD1kK2k7YnJlYWt9fWlmKDQyOTQ5NjcyOTU9PT1hLmxlbmd0aCl0aHJvdyBuZXcgSmJpZzJFcnJvcigic2VnbWVudCBlbmQgd2FzIG5vdCBmb3VuZCIpfX1hLmhlYWRlckVuZD1sO3JldHVybiBhfWZ1bmN0aW9uIHJlYWRTZWdtZW50cyhlLHQsYSxyKXtjb25zdCBpPVtdO2xldCBuPWE7Zm9yKDtuPHI7KXtjb25zdCBhPXJlYWRTZWdtZW50SGVhZGVyKHQsbik7bj1hLmhlYWRlckVuZDtjb25zdCByPXtoZWFkZXI6YSxkYXRhOnR9O2lmKCFlLnJhbmRvbUFjY2Vzcyl7ci5zdGFydD1uO24rPWEubGVuZ3RoO3IuZW5kPW59aS5wdXNoKHIpO2lmKDUxPT09YS50eXBlKWJyZWFrfWlmKGUucmFuZG9tQWNjZXNzKWZvcihsZXQgZT0wLHQ9aS5sZW5ndGg7ZTx0O2UrKyl7aVtlXS5zdGFydD1uO24rPWlbZV0uaGVhZGVyLmxlbmd0aDtpW2VdLmVuZD1ufXJldHVybiBpfWZ1bmN0aW9uIHJlYWRSZWdpb25TZWdtZW50SW5mb3JtYXRpb24oZSx0KXtyZXR1cm57d2lkdGg6cmVhZFVpbnQzMihlLHQpLGhlaWdodDpyZWFkVWludDMyKGUsdCs0KSx4OnJlYWRVaW50MzIoZSx0KzgpLHk6cmVhZFVpbnQzMihlLHQrMTIpLGNvbWJpbmF0aW9uT3BlcmF0b3I6NyZlW3QrMTZdfX1jb25zdCBZYT0xNztmdW5jdGlvbiBwcm9jZXNzU2VnbWVudChlLHQpe2NvbnN0IGE9ZS5oZWFkZXIscj1lLmRhdGEsaT1lLmVuZDtsZXQgbixzLG8sYyxsPWUuc3RhcnQ7c3dpdGNoKGEudHlwZSl7Y2FzZSAwOmNvbnN0IGU9e30sdD1yZWFkVWludDE2KHIsbCk7ZS5odWZmbWFuPSEhKDEmdCk7ZS5yZWZpbmVtZW50PSEhKDImdCk7ZS5odWZmbWFuREhTZWxlY3Rvcj10Pj4yJjM7ZS5odWZmbWFuRFdTZWxlY3Rvcj10Pj40JjM7ZS5iaXRtYXBTaXplU2VsZWN0b3I9dD4+NiYxO2UuYWdncmVnYXRpb25JbnN0YW5jZXNTZWxlY3Rvcj10Pj43JjE7ZS5iaXRtYXBDb2RpbmdDb250ZXh0VXNlZD0hISgyNTYmdCk7ZS5iaXRtYXBDb2RpbmdDb250ZXh0UmV0YWluZWQ9ISEoNTEyJnQpO2UudGVtcGxhdGU9dD4+MTAmMztlLnJlZmluZW1lbnRUZW1wbGF0ZT10Pj4xMiYxO2wrPTI7aWYoIWUuaHVmZm1hbil7Yz0wPT09ZS50ZW1wbGF0ZT80OjE7cz1bXTtmb3Iobz0wO288YztvKyspe3MucHVzaCh7eDpyZWFkSW50OChyLGwpLHk6cmVhZEludDgocixsKzEpfSk7bCs9Mn1lLmF0PXN9aWYoZS5yZWZpbmVtZW50JiYhZS5yZWZpbmVtZW50VGVtcGxhdGUpe3M9W107Zm9yKG89MDtvPDI7bysrKXtzLnB1c2goe3g6cmVhZEludDgocixsKSx5OnJlYWRJbnQ4KHIsbCsxKX0pO2wrPTJ9ZS5yZWZpbmVtZW50QXQ9c31lLm51bWJlck9mRXhwb3J0ZWRTeW1ib2xzPXJlYWRVaW50MzIocixsKTtsKz00O2UubnVtYmVyT2ZOZXdTeW1ib2xzPXJlYWRVaW50MzIocixsKTtsKz00O249W2UsYS5udW1iZXIsYS5yZWZlcnJlZFRvLHIsbCxpXTticmVhaztjYXNlIDY6Y2FzZSA3OmNvbnN0IGg9e307aC5pbmZvPXJlYWRSZWdpb25TZWdtZW50SW5mb3JtYXRpb24ocixsKTtsKz1ZYTtjb25zdCB1PXJlYWRVaW50MTYocixsKTtsKz0yO2guaHVmZm1hbj0hISgxJnUpO2gucmVmaW5lbWVudD0hISgyJnUpO2gubG9nU3RyaXBTaXplPXU+PjImMztoLnN0cmlwU2l6ZT0xPDxoLmxvZ1N0cmlwU2l6ZTtoLnJlZmVyZW5jZUNvcm5lcj11Pj40JjM7aC50cmFuc3Bvc2VkPSEhKDY0JnUpO2guY29tYmluYXRpb25PcGVyYXRvcj11Pj43JjM7aC5kZWZhdWx0UGl4ZWxWYWx1ZT11Pj45JjE7aC5kc09mZnNldD11PDwxNz4+Mjc7aC5yZWZpbmVtZW50VGVtcGxhdGU9dT4+MTUmMTtpZihoLmh1ZmZtYW4pe2NvbnN0IGU9cmVhZFVpbnQxNihyLGwpO2wrPTI7aC5odWZmbWFuRlM9MyZlO2guaHVmZm1hbkRTPWU+PjImMztoLmh1ZmZtYW5EVD1lPj40JjM7aC5odWZmbWFuUmVmaW5lbWVudERXPWU+PjYmMztoLmh1ZmZtYW5SZWZpbmVtZW50REg9ZT4+OCYzO2guaHVmZm1hblJlZmluZW1lbnREWD1lPj4xMCYzO2guaHVmZm1hblJlZmluZW1lbnREWT1lPj4xMiYzO2guaHVmZm1hblJlZmluZW1lbnRTaXplU2VsZWN0b3I9ISEoMTYzODQmZSl9aWYoaC5yZWZpbmVtZW50JiYhaC5yZWZpbmVtZW50VGVtcGxhdGUpe3M9W107Zm9yKG89MDtvPDI7bysrKXtzLnB1c2goe3g6cmVhZEludDgocixsKSx5OnJlYWRJbnQ4KHIsbCsxKX0pO2wrPTJ9aC5yZWZpbmVtZW50QXQ9c31oLm51bWJlck9mU3ltYm9sSW5zdGFuY2VzPXJlYWRVaW50MzIocixsKTtsKz00O249W2gsYS5yZWZlcnJlZFRvLHIsbCxpXTticmVhaztjYXNlIDE2OmNvbnN0IGQ9e30sZj1yW2wrK107ZC5tbXI9ISEoMSZmKTtkLnRlbXBsYXRlPWY+PjEmMztkLnBhdHRlcm5XaWR0aD1yW2wrK107ZC5wYXR0ZXJuSGVpZ2h0PXJbbCsrXTtkLm1heFBhdHRlcm5JbmRleD1yZWFkVWludDMyKHIsbCk7bCs9NDtuPVtkLGEubnVtYmVyLHIsbCxpXTticmVhaztjYXNlIDIyOmNhc2UgMjM6Y29uc3QgZz17fTtnLmluZm89cmVhZFJlZ2lvblNlZ21lbnRJbmZvcm1hdGlvbihyLGwpO2wrPVlhO2NvbnN0IHA9cltsKytdO2cubW1yPSEhKDEmcCk7Zy50ZW1wbGF0ZT1wPj4xJjM7Zy5lbmFibGVTa2lwPSEhKDgmcCk7Zy5jb21iaW5hdGlvbk9wZXJhdG9yPXA+PjQmNztnLmRlZmF1bHRQaXhlbFZhbHVlPXA+PjcmMTtnLmdyaWRXaWR0aD1yZWFkVWludDMyKHIsbCk7bCs9NDtnLmdyaWRIZWlnaHQ9cmVhZFVpbnQzMihyLGwpO2wrPTQ7Zy5ncmlkT2Zmc2V0WD00Mjk0OTY3Mjk1JnJlYWRVaW50MzIocixsKTtsKz00O2cuZ3JpZE9mZnNldFk9NDI5NDk2NzI5NSZyZWFkVWludDMyKHIsbCk7bCs9NDtnLmdyaWRWZWN0b3JYPXJlYWRVaW50MTYocixsKTtsKz0yO2cuZ3JpZFZlY3Rvclk9cmVhZFVpbnQxNihyLGwpO2wrPTI7bj1bZyxhLnJlZmVycmVkVG8scixsLGldO2JyZWFrO2Nhc2UgMzg6Y2FzZSAzOTpjb25zdCBtPXt9O20uaW5mbz1yZWFkUmVnaW9uU2VnbWVudEluZm9ybWF0aW9uKHIsbCk7bCs9WWE7Y29uc3QgYj1yW2wrK107bS5tbXI9ISEoMSZiKTttLnRlbXBsYXRlPWI+PjEmMzttLnByZWRpY3Rpb249ISEoOCZiKTtpZighbS5tbXIpe2M9MD09PW0udGVtcGxhdGU/NDoxO3M9W107Zm9yKG89MDtvPGM7bysrKXtzLnB1c2goe3g6cmVhZEludDgocixsKSx5OnJlYWRJbnQ4KHIsbCsxKX0pO2wrPTJ9bS5hdD1zfW49W20scixsLGldO2JyZWFrO2Nhc2UgNDg6Y29uc3QgeT17d2lkdGg6cmVhZFVpbnQzMihyLGwpLGhlaWdodDpyZWFkVWludDMyKHIsbCs0KSxyZXNvbHV0aW9uWDpyZWFkVWludDMyKHIsbCs4KSxyZXNvbHV0aW9uWTpyZWFkVWludDMyKHIsbCsxMil9OzQyOTQ5NjcyOTU9PT15LmhlaWdodCYmZGVsZXRlIHkuaGVpZ2h0O2NvbnN0IHc9cltsKzE2XTtyZWFkVWludDE2KHIsbCsxNyk7eS5sb3NzbGVzcz0hISgxJncpO3kucmVmaW5lbWVudD0hISgyJncpO3kuZGVmYXVsdFBpeGVsVmFsdWU9dz4+MiYxO3kuY29tYmluYXRpb25PcGVyYXRvcj13Pj4zJjM7eS5yZXF1aXJlc0J1ZmZlcj0hISgzMiZ3KTt5LmNvbWJpbmF0aW9uT3BlcmF0b3JPdmVycmlkZT0hISg2NCZ3KTtuPVt5XTticmVhaztjYXNlIDQ5OmNhc2UgNTA6Y2FzZSA1MTpjYXNlIDYyOmJyZWFrO2Nhc2UgNTM6bj1bYS5udW1iZXIscixsLGldO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEpiaWcyRXJyb3IoYHNlZ21lbnQgdHlwZSAke2EudHlwZU5hbWV9KCR7YS50eXBlfSkgaXMgbm90IGltcGxlbWVudGVkYCl9Y29uc3QgaD0ib24iK2EudHlwZU5hbWU7aCBpbiB0JiZ0W2hdLmFwcGx5KHQsbil9ZnVuY3Rpb24gcHJvY2Vzc1NlZ21lbnRzKGUsdCl7Zm9yKGxldCBhPTAscj1lLmxlbmd0aDthPHI7YSsrKXByb2Nlc3NTZWdtZW50KGVbYV0sdCl9Y2xhc3MgU2ltcGxlU2VnbWVudFZpc2l0b3J7b25QYWdlSW5mb3JtYXRpb24oZSl7dGhpcy5jdXJyZW50UGFnZUluZm89ZTtjb25zdCB0PWUud2lkdGgrNz4+MyxhPW5ldyBVaW50OENsYW1wZWRBcnJheSh0KmUuaGVpZ2h0KTtlLmRlZmF1bHRQaXhlbFZhbHVlJiZhLmZpbGwoMjU1KTt0aGlzLmJ1ZmZlcj1hfWRyYXdCaXRtYXAoZSx0KXtjb25zdCBhPXRoaXMuY3VycmVudFBhZ2VJbmZvLHI9ZS53aWR0aCxpPWUuaGVpZ2h0LG49YS53aWR0aCs3Pj4zLHM9YS5jb21iaW5hdGlvbk9wZXJhdG9yT3ZlcnJpZGU/ZS5jb21iaW5hdGlvbk9wZXJhdG9yOmEuY29tYmluYXRpb25PcGVyYXRvcixvPXRoaXMuYnVmZmVyLGM9MTI4Pj4oNyZlLngpO2xldCBsLGgsdSxkLGY9ZS55Km4rKGUueD4+Myk7c3dpdGNoKHMpe2Nhc2UgMDpmb3IobD0wO2w8aTtsKyspe3U9YztkPWY7Zm9yKGg9MDtoPHI7aCsrKXt0W2xdW2hdJiYob1tkXXw9dSk7dT4+PTE7aWYoIXUpe3U9MTI4O2QrK319Zis9bn1icmVhaztjYXNlIDI6Zm9yKGw9MDtsPGk7bCsrKXt1PWM7ZD1mO2ZvcihoPTA7aDxyO2grKyl7dFtsXVtoXSYmKG9bZF1ePXUpO3U+Pj0xO2lmKCF1KXt1PTEyODtkKyt9fWYrPW59YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgSmJpZzJFcnJvcihgb3BlcmF0b3IgJHtzfSBpcyBub3Qgc3VwcG9ydGVkYCl9fW9uSW1tZWRpYXRlR2VuZXJpY1JlZ2lvbihlLHQsYSxyKXtjb25zdCBpPWUuaW5mbyxuPW5ldyBEZWNvZGluZ0NvbnRleHQodCxhLHIpLHM9ZGVjb2RlQml0bWFwKGUubW1yLGkud2lkdGgsaS5oZWlnaHQsZS50ZW1wbGF0ZSxlLnByZWRpY3Rpb24sbnVsbCxlLmF0LG4pO3RoaXMuZHJhd0JpdG1hcChpLHMpfW9uSW1tZWRpYXRlTG9zc2xlc3NHZW5lcmljUmVnaW9uKCl7dGhpcy5vbkltbWVkaWF0ZUdlbmVyaWNSZWdpb24oLi4uYXJndW1lbnRzKX1vblN5bWJvbERpY3Rpb25hcnkoZSx0LGEscixpLG4pe2xldCBzLG87aWYoZS5odWZmbWFuKXtzPWZ1bmN0aW9uIGdldFN5bWJvbERpY3Rpb25hcnlIdWZmbWFuVGFibGVzKGUsdCxhKXtsZXQgcixpLG4scyxvPTA7c3dpdGNoKGUuaHVmZm1hbkRIU2VsZWN0b3Ipe2Nhc2UgMDpjYXNlIDE6cj1nZXRTdGFuZGFyZFRhYmxlKGUuaHVmZm1hbkRIU2VsZWN0b3IrNCk7YnJlYWs7Y2FzZSAzOnI9Z2V0Q3VzdG9tSHVmZm1hblRhYmxlKG8sdCxhKTtvKys7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgSmJpZzJFcnJvcigiaW52YWxpZCBIdWZmbWFuIERIIHNlbGVjdG9yIil9c3dpdGNoKGUuaHVmZm1hbkRXU2VsZWN0b3Ipe2Nhc2UgMDpjYXNlIDE6aT1nZXRTdGFuZGFyZFRhYmxlKGUuaHVmZm1hbkRXU2VsZWN0b3IrMik7YnJlYWs7Y2FzZSAzOmk9Z2V0Q3VzdG9tSHVmZm1hblRhYmxlKG8sdCxhKTtvKys7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgSmJpZzJFcnJvcigiaW52YWxpZCBIdWZmbWFuIERXIHNlbGVjdG9yIil9aWYoZS5iaXRtYXBTaXplU2VsZWN0b3Ipe249Z2V0Q3VzdG9tSHVmZm1hblRhYmxlKG8sdCxhKTtvKyt9ZWxzZSBuPWdldFN0YW5kYXJkVGFibGUoMSk7cz1lLmFnZ3JlZ2F0aW9uSW5zdGFuY2VzU2VsZWN0b3I/Z2V0Q3VzdG9tSHVmZm1hblRhYmxlKG8sdCxhKTpnZXRTdGFuZGFyZFRhYmxlKDEpO3JldHVybnt0YWJsZURlbHRhSGVpZ2h0OnIsdGFibGVEZWx0YVdpZHRoOmksdGFibGVCaXRtYXBTaXplOm4sdGFibGVBZ2dyZWdhdGVJbnN0YW5jZXM6c319KGUsYSx0aGlzLmN1c3RvbVRhYmxlcyk7bz1uZXcgUmVhZGVyKHIsaSxuKX1sZXQgYz10aGlzLnN5bWJvbHM7Y3x8KHRoaXMuc3ltYm9scz1jPXt9KTtjb25zdCBsPVtdO2Zvcihjb25zdCBlIG9mIGEpe2NvbnN0IHQ9Y1tlXTt0JiZsLnB1c2goLi4udCl9Y29uc3QgaD1uZXcgRGVjb2RpbmdDb250ZXh0KHIsaSxuKTtjW3RdPWZ1bmN0aW9uIGRlY29kZVN5bWJvbERpY3Rpb25hcnkoZSx0LGEscixpLG4scyxvLGMsbCxoLHUpe2lmKGUmJnQpdGhyb3cgbmV3IEpiaWcyRXJyb3IoInN5bWJvbCByZWZpbmVtZW50IHdpdGggSHVmZm1hbiBpcyBub3Qgc3VwcG9ydGVkIik7Y29uc3QgZD1bXTtsZXQgZj0wLGc9bG9nMihhLmxlbmd0aCtyKTtjb25zdCBwPWguZGVjb2RlcixtPWguY29udGV4dENhY2hlO2xldCBiLHk7aWYoZSl7Yj1nZXRTdGFuZGFyZFRhYmxlKDEpO3k9W107Zz1NYXRoLm1heChnLDEpfWZvcig7ZC5sZW5ndGg8cjspe2YrPWU/bi50YWJsZURlbHRhSGVpZ2h0LmRlY29kZSh1KTpkZWNvZGVJbnRlZ2VyKG0sIklBREgiLHApO2xldCByPTAsaT0wO2NvbnN0IGI9ZT95Lmxlbmd0aDowO2Zvcig7Oyl7Y29uc3QgYj1lP24udGFibGVEZWx0YVdpZHRoLmRlY29kZSh1KTpkZWNvZGVJbnRlZ2VyKG0sIklBRFciLHApO2lmKG51bGw9PT1iKWJyZWFrO3IrPWI7aSs9cjtsZXQgdztpZih0KXtjb25zdCBpPWRlY29kZUludGVnZXIobSwiSUFBSSIscCk7aWYoaT4xKXc9ZGVjb2RlVGV4dFJlZ2lvbihlLHQscixmLDAsaSwxLGEuY29uY2F0KGQpLGcsMCwwLDEsMCxuLGMsbCxoLDAsdSk7ZWxzZXtjb25zdCBlPWRlY29kZUlBSUQobSxwLGcpLHQ9ZGVjb2RlSW50ZWdlcihtLCJJQVJEWCIscCksaT1kZWNvZGVJbnRlZ2VyKG0sIklBUkRZIixwKTt3PWRlY29kZVJlZmluZW1lbnQocixmLGMsZTxhLmxlbmd0aD9hW2VdOmRbZS1hLmxlbmd0aF0sdCxpLCExLGwsaCl9ZC5wdXNoKHcpfWVsc2UgaWYoZSl5LnB1c2gocik7ZWxzZXt3PWRlY29kZUJpdG1hcCghMSxyLGYscywhMSxudWxsLG8saCk7ZC5wdXNoKHcpfX1pZihlJiYhdCl7Y29uc3QgZT1uLnRhYmxlQml0bWFwU2l6ZS5kZWNvZGUodSk7dS5ieXRlQWxpZ24oKTtsZXQgdDtpZigwPT09ZSl0PXJlYWRVbmNvbXByZXNzZWRCaXRtYXAodSxpLGYpO2Vsc2V7Y29uc3QgYT11LmVuZCxyPXUucG9zaXRpb24rZTt1LmVuZD1yO3Q9ZGVjb2RlTU1SQml0bWFwKHUsaSxmLCExKTt1LmVuZD1hO3UucG9zaXRpb249cn1jb25zdCBhPXkubGVuZ3RoO2lmKGI9PT1hLTEpZC5wdXNoKHQpO2Vsc2V7bGV0IGUscixpLG4scyxvPTA7Zm9yKGU9YjtlPGE7ZSsrKXtuPXlbZV07aT1vK247cz1bXTtmb3Iocj0wO3I8ZjtyKyspcy5wdXNoKHRbcl0uc3ViYXJyYXkobyxpKSk7ZC5wdXNoKHMpO289aX19fX1jb25zdCB3PVtdLHg9W107bGV0IFMsayxDPSExO2NvbnN0IHY9YS5sZW5ndGgrcjtmb3IoO3gubGVuZ3RoPHY7KXtsZXQgdD1lP2IuZGVjb2RlKHUpOmRlY29kZUludGVnZXIobSwiSUFFWCIscCk7Zm9yKDt0LS07KXgucHVzaChDKTtDPSFDfWZvcihTPTAsaz1hLmxlbmd0aDtTPGs7UysrKXhbU10mJncucHVzaChhW1NdKTtmb3IobGV0IGU9MDtlPHI7UysrLGUrKyl4W1NdJiZ3LnB1c2goZFtlXSk7cmV0dXJuIHd9KGUuaHVmZm1hbixlLnJlZmluZW1lbnQsbCxlLm51bWJlck9mTmV3U3ltYm9scyxlLm51bWJlck9mRXhwb3J0ZWRTeW1ib2xzLHMsZS50ZW1wbGF0ZSxlLmF0LGUucmVmaW5lbWVudFRlbXBsYXRlLGUucmVmaW5lbWVudEF0LGgsbyl9b25JbW1lZGlhdGVUZXh0UmVnaW9uKGUsdCxhLHIsaSl7Y29uc3Qgbj1lLmluZm87bGV0IHMsbztjb25zdCBjPXRoaXMuc3ltYm9scyxsPVtdO2Zvcihjb25zdCBlIG9mIHQpe2NvbnN0IHQ9Y1tlXTt0JiZsLnB1c2goLi4udCl9Y29uc3QgaD1sb2cyKGwubGVuZ3RoKTtpZihlLmh1ZmZtYW4pe289bmV3IFJlYWRlcihhLHIsaSk7cz1mdW5jdGlvbiBnZXRUZXh0UmVnaW9uSHVmZm1hblRhYmxlcyhlLHQsYSxyLGkpe2NvbnN0IG49W107Zm9yKGxldCBlPTA7ZTw9MzQ7ZSsrKXtjb25zdCB0PWkucmVhZEJpdHMoNCk7bi5wdXNoKG5ldyBIdWZmbWFuTGluZShbZSx0LDAsMF0pKX1jb25zdCBzPW5ldyBIdWZmbWFuVGFibGUobiwhMSk7bi5sZW5ndGg9MDtmb3IobGV0IGU9MDtlPHI7KXtjb25zdCB0PXMuZGVjb2RlKGkpO2lmKHQ+PTMyKXtsZXQgYSxyLHM7c3dpdGNoKHQpe2Nhc2UgMzI6aWYoMD09PWUpdGhyb3cgbmV3IEpiaWcyRXJyb3IoIm5vIHByZXZpb3VzIHZhbHVlIGluIHN5bWJvbCBJRCB0YWJsZSIpO3I9aS5yZWFkQml0cygyKSszO2E9bltlLTFdLnByZWZpeExlbmd0aDticmVhaztjYXNlIDMzOnI9aS5yZWFkQml0cygzKSszO2E9MDticmVhaztjYXNlIDM0OnI9aS5yZWFkQml0cyg3KSsxMTthPTA7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgSmJpZzJFcnJvcigiaW52YWxpZCBjb2RlIGxlbmd0aCBpbiBzeW1ib2wgSUQgdGFibGUiKX1mb3Iocz0wO3M8cjtzKyspe24ucHVzaChuZXcgSHVmZm1hbkxpbmUoW2UsYSwwLDBdKSk7ZSsrfX1lbHNle24ucHVzaChuZXcgSHVmZm1hbkxpbmUoW2UsdCwwLDBdKSk7ZSsrfX1pLmJ5dGVBbGlnbigpO2NvbnN0IG89bmV3IEh1ZmZtYW5UYWJsZShuLCExKTtsZXQgYyxsLGgsdT0wO3N3aXRjaChlLmh1ZmZtYW5GUyl7Y2FzZSAwOmNhc2UgMTpjPWdldFN0YW5kYXJkVGFibGUoZS5odWZmbWFuRlMrNik7YnJlYWs7Y2FzZSAzOmM9Z2V0Q3VzdG9tSHVmZm1hblRhYmxlKHUsdCxhKTt1Kys7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgSmJpZzJFcnJvcigiaW52YWxpZCBIdWZmbWFuIEZTIHNlbGVjdG9yIil9c3dpdGNoKGUuaHVmZm1hbkRTKXtjYXNlIDA6Y2FzZSAxOmNhc2UgMjpsPWdldFN0YW5kYXJkVGFibGUoZS5odWZmbWFuRFMrOCk7YnJlYWs7Y2FzZSAzOmw9Z2V0Q3VzdG9tSHVmZm1hblRhYmxlKHUsdCxhKTt1Kys7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgSmJpZzJFcnJvcigiaW52YWxpZCBIdWZmbWFuIERTIHNlbGVjdG9yIil9c3dpdGNoKGUuaHVmZm1hbkRUKXtjYXNlIDA6Y2FzZSAxOmNhc2UgMjpoPWdldFN0YW5kYXJkVGFibGUoZS5odWZmbWFuRFQrMTEpO2JyZWFrO2Nhc2UgMzpoPWdldEN1c3RvbUh1ZmZtYW5UYWJsZSh1LHQsYSk7dSsrO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEpiaWcyRXJyb3IoImludmFsaWQgSHVmZm1hbiBEVCBzZWxlY3RvciIpfWlmKGUucmVmaW5lbWVudCl0aHJvdyBuZXcgSmJpZzJFcnJvcigicmVmaW5lbWVudCB3aXRoIEh1ZmZtYW4gaXMgbm90IHN1cHBvcnRlZCIpO3JldHVybntzeW1ib2xJRFRhYmxlOm8sdGFibGVGaXJzdFM6Yyx0YWJsZURlbHRhUzpsLHRhYmxlRGVsdGFUOmh9fShlLHQsdGhpcy5jdXN0b21UYWJsZXMsbC5sZW5ndGgsbyl9Y29uc3QgdT1uZXcgRGVjb2RpbmdDb250ZXh0KGEscixpKSxkPWRlY29kZVRleHRSZWdpb24oZS5odWZmbWFuLGUucmVmaW5lbWVudCxuLndpZHRoLG4uaGVpZ2h0LGUuZGVmYXVsdFBpeGVsVmFsdWUsZS5udW1iZXJPZlN5bWJvbEluc3RhbmNlcyxlLnN0cmlwU2l6ZSxsLGgsZS50cmFuc3Bvc2VkLGUuZHNPZmZzZXQsZS5yZWZlcmVuY2VDb3JuZXIsZS5jb21iaW5hdGlvbk9wZXJhdG9yLHMsZS5yZWZpbmVtZW50VGVtcGxhdGUsZS5yZWZpbmVtZW50QXQsdSxlLmxvZ1N0cmlwU2l6ZSxvKTt0aGlzLmRyYXdCaXRtYXAobixkKX1vbkltbWVkaWF0ZUxvc3NsZXNzVGV4dFJlZ2lvbigpe3RoaXMub25JbW1lZGlhdGVUZXh0UmVnaW9uKC4uLmFyZ3VtZW50cyl9b25QYXR0ZXJuRGljdGlvbmFyeShlLHQsYSxyLGkpe2xldCBuPXRoaXMucGF0dGVybnM7bnx8KHRoaXMucGF0dGVybnM9bj17fSk7Y29uc3Qgcz1uZXcgRGVjb2RpbmdDb250ZXh0KGEscixpKTtuW3RdPWZ1bmN0aW9uIGRlY29kZVBhdHRlcm5EaWN0aW9uYXJ5KGUsdCxhLHIsaSxuKXtjb25zdCBzPVtdO2lmKCFlKXtzLnB1c2goe3g6LXQseTowfSk7MD09PWkmJnMucHVzaCh7eDotMyx5Oi0xfSx7eDoyLHk6LTJ9LHt4Oi0yLHk6LTJ9KX1jb25zdCBvPWRlY29kZUJpdG1hcChlLChyKzEpKnQsYSxpLCExLG51bGwscyxuKSxjPVtdO2ZvcihsZXQgZT0wO2U8PXI7ZSsrKXtjb25zdCByPVtdLGk9dCplLG49aSt0O2ZvcihsZXQgZT0wO2U8YTtlKyspci5wdXNoKG9bZV0uc3ViYXJyYXkoaSxuKSk7Yy5wdXNoKHIpfXJldHVybiBjfShlLm1tcixlLnBhdHRlcm5XaWR0aCxlLnBhdHRlcm5IZWlnaHQsZS5tYXhQYXR0ZXJuSW5kZXgsZS50ZW1wbGF0ZSxzKX1vbkltbWVkaWF0ZUhhbGZ0b25lUmVnaW9uKGUsdCxhLHIsaSl7Y29uc3Qgbj10aGlzLnBhdHRlcm5zW3RbMF1dLHM9ZS5pbmZvLG89bmV3IERlY29kaW5nQ29udGV4dChhLHIsaSksYz1mdW5jdGlvbiBkZWNvZGVIYWxmdG9uZVJlZ2lvbihlLHQsYSxyLGksbixzLG8sYyxsLGgsdSxkLGYsZyl7aWYocyl0aHJvdyBuZXcgSmJpZzJFcnJvcigic2tpcCBpcyBub3Qgc3VwcG9ydGVkIik7aWYoMCE9PW8pdGhyb3cgbmV3IEpiaWcyRXJyb3IoYG9wZXJhdG9yICIke299IiBpcyBub3Qgc3VwcG9ydGVkIGluIGhhbGZ0b25lIHJlZ2lvbmApO2NvbnN0IHA9W107bGV0IG0sYix5O2ZvcihtPTA7bTxpO20rKyl7eT1uZXcgVWludDhBcnJheShyKTtuJiZ5LmZpbGwobik7cC5wdXNoKHkpfWNvbnN0IHc9dC5sZW5ndGgseD10WzBdLFM9eFswXS5sZW5ndGgsaz14Lmxlbmd0aCxDPWxvZzIodyksdj1bXTtpZighZSl7di5wdXNoKHt4OmE8PTE/MzoyLHk6LTF9KTswPT09YSYmdi5wdXNoKHt4Oi0zLHk6LTF9LHt4OjIseTotMn0se3g6LTIseTotMn0pfWNvbnN0IEY9W107bGV0IFQsTyxNLEQsUixOLEUsTCxqLF8sVTtlJiYoVD1uZXcgUmVhZGVyKGcuZGF0YSxnLnN0YXJ0LGcuZW5kKSk7Zm9yKG09Qy0xO20+PTA7bS0tKXtPPWU/ZGVjb2RlTU1SQml0bWFwKFQsYyxsLCEwKTpkZWNvZGVCaXRtYXAoITEsYyxsLGEsITEsbnVsbCx2LGcpO0ZbbV09T31mb3IoTT0wO008bDtNKyspZm9yKEQ9MDtEPGM7RCsrKXtSPTA7Tj0wO2ZvcihiPUMtMTtiPj0wO2ItLSl7Ul49RltiXVtNXVtEXTtOfD1SPDxifUU9dFtOXTtMPWgrTSpmK0QqZD4+ODtqPXUrTSpkLUQqZj4+ODtpZihMPj0wJiZMK1M8PXImJmo+PTAmJmorazw9aSlmb3IobT0wO208azttKyspe1U9cFtqK21dO189RVttXTtmb3IoYj0wO2I8UztiKyspVVtMK2JdfD1fW2JdfWVsc2V7bGV0IGUsdDtmb3IobT0wO208azttKyspe3Q9aittO2lmKCEodDwwfHx0Pj1pKSl7VT1wW3RdO189RVttXTtmb3IoYj0wO2I8UztiKyspe2U9TCtiO2U+PTAmJmU8ciYmKFVbZV18PV9bYl0pfX19fX1yZXR1cm4gcH0oZS5tbXIsbixlLnRlbXBsYXRlLHMud2lkdGgscy5oZWlnaHQsZS5kZWZhdWx0UGl4ZWxWYWx1ZSxlLmVuYWJsZVNraXAsZS5jb21iaW5hdGlvbk9wZXJhdG9yLGUuZ3JpZFdpZHRoLGUuZ3JpZEhlaWdodCxlLmdyaWRPZmZzZXRYLGUuZ3JpZE9mZnNldFksZS5ncmlkVmVjdG9yWCxlLmdyaWRWZWN0b3JZLG8pO3RoaXMuZHJhd0JpdG1hcChzLGMpfW9uSW1tZWRpYXRlTG9zc2xlc3NIYWxmdG9uZVJlZ2lvbigpe3RoaXMub25JbW1lZGlhdGVIYWxmdG9uZVJlZ2lvbiguLi5hcmd1bWVudHMpfW9uVGFibGVzKGUsdCxhLHIpe2xldCBpPXRoaXMuY3VzdG9tVGFibGVzO2l8fCh0aGlzLmN1c3RvbVRhYmxlcz1pPXt9KTtpW2VdPWZ1bmN0aW9uIGRlY29kZVRhYmxlc1NlZ21lbnQoZSx0LGEpe2NvbnN0IHI9ZVt0XSxpPTQyOTQ5NjcyOTUmcmVhZFVpbnQzMihlLHQrMSksbj00Mjk0OTY3Mjk1JnJlYWRVaW50MzIoZSx0KzUpLHM9bmV3IFJlYWRlcihlLHQrOSxhKSxvPTErKHI+PjEmNyksYz0xKyhyPj40JjcpLGw9W107bGV0IGgsdSxkPWk7ZG97aD1zLnJlYWRCaXRzKG8pO3U9cy5yZWFkQml0cyhjKTtsLnB1c2gobmV3IEh1ZmZtYW5MaW5lKFtkLGgsdSwwXSkpO2QrPTE8PHV9d2hpbGUoZDxuKTtoPXMucmVhZEJpdHMobyk7bC5wdXNoKG5ldyBIdWZmbWFuTGluZShbaS0xLGgsMzIsMCwibG93ZXIiXSkpO2g9cy5yZWFkQml0cyhvKTtsLnB1c2gobmV3IEh1ZmZtYW5MaW5lKFtuLGgsMzIsMF0pKTtpZigxJnIpe2g9cy5yZWFkQml0cyhvKTtsLnB1c2gobmV3IEh1ZmZtYW5MaW5lKFtoLDBdKSl9cmV0dXJuIG5ldyBIdWZmbWFuVGFibGUobCwhMSl9KHQsYSxyKX19Y2xhc3MgSHVmZm1hbkxpbmV7Y29uc3RydWN0b3IoZSl7aWYoMj09PWUubGVuZ3RoKXt0aGlzLmlzT09CPSEwO3RoaXMucmFuZ2VMb3c9MDt0aGlzLnByZWZpeExlbmd0aD1lWzBdO3RoaXMucmFuZ2VMZW5ndGg9MDt0aGlzLnByZWZpeENvZGU9ZVsxXTt0aGlzLmlzTG93ZXJSYW5nZT0hMX1lbHNle3RoaXMuaXNPT0I9ITE7dGhpcy5yYW5nZUxvdz1lWzBdO3RoaXMucHJlZml4TGVuZ3RoPWVbMV07dGhpcy5yYW5nZUxlbmd0aD1lWzJdO3RoaXMucHJlZml4Q29kZT1lWzNdO3RoaXMuaXNMb3dlclJhbmdlPSJsb3dlciI9PT1lWzRdfX19Y2xhc3MgSHVmZm1hblRyZWVOb2Rle2NvbnN0cnVjdG9yKGUpe3RoaXMuY2hpbGRyZW49W107aWYoZSl7dGhpcy5pc0xlYWY9ITA7dGhpcy5yYW5nZUxlbmd0aD1lLnJhbmdlTGVuZ3RoO3RoaXMucmFuZ2VMb3c9ZS5yYW5nZUxvdzt0aGlzLmlzTG93ZXJSYW5nZT1lLmlzTG93ZXJSYW5nZTt0aGlzLmlzT09CPWUuaXNPT0J9ZWxzZSB0aGlzLmlzTGVhZj0hMX1idWlsZFRyZWUoZSx0KXtjb25zdCBhPWUucHJlZml4Q29kZT4+dCYxO2lmKHQ8PTApdGhpcy5jaGlsZHJlblthXT1uZXcgSHVmZm1hblRyZWVOb2RlKGUpO2Vsc2V7bGV0IHI9dGhpcy5jaGlsZHJlblthXTtyfHwodGhpcy5jaGlsZHJlblthXT1yPW5ldyBIdWZmbWFuVHJlZU5vZGUobnVsbCkpO3IuYnVpbGRUcmVlKGUsdC0xKX19ZGVjb2RlTm9kZShlKXtpZih0aGlzLmlzTGVhZil7aWYodGhpcy5pc09PQilyZXR1cm4gbnVsbDtjb25zdCB0PWUucmVhZEJpdHModGhpcy5yYW5nZUxlbmd0aCk7cmV0dXJuIHRoaXMucmFuZ2VMb3crKHRoaXMuaXNMb3dlclJhbmdlPy10OnQpfWNvbnN0IHQ9dGhpcy5jaGlsZHJlbltlLnJlYWRCaXQoKV07aWYoIXQpdGhyb3cgbmV3IEpiaWcyRXJyb3IoImludmFsaWQgSHVmZm1hbiBkYXRhIik7cmV0dXJuIHQuZGVjb2RlTm9kZShlKX19Y2xhc3MgSHVmZm1hblRhYmxle2NvbnN0cnVjdG9yKGUsdCl7dHx8dGhpcy5hc3NpZ25QcmVmaXhDb2RlcyhlKTt0aGlzLnJvb3ROb2RlPW5ldyBIdWZmbWFuVHJlZU5vZGUobnVsbCk7Zm9yKGxldCB0PTAsYT1lLmxlbmd0aDt0PGE7dCsrKXtjb25zdCBhPWVbdF07YS5wcmVmaXhMZW5ndGg+MCYmdGhpcy5yb290Tm9kZS5idWlsZFRyZWUoYSxhLnByZWZpeExlbmd0aC0xKX19ZGVjb2RlKGUpe3JldHVybiB0aGlzLnJvb3ROb2RlLmRlY29kZU5vZGUoZSl9YXNzaWduUHJlZml4Q29kZXMoZSl7Y29uc3QgdD1lLmxlbmd0aDtsZXQgYT0wO2ZvcihsZXQgcj0wO3I8dDtyKyspYT1NYXRoLm1heChhLGVbcl0ucHJlZml4TGVuZ3RoKTtjb25zdCByPW5ldyBVaW50MzJBcnJheShhKzEpO2ZvcihsZXQgYT0wO2E8dDthKyspcltlW2FdLnByZWZpeExlbmd0aF0rKztsZXQgaSxuLHMsbz0xLGM9MDtyWzBdPTA7Zm9yKDtvPD1hOyl7Yz1jK3Jbby0xXTw8MTtpPWM7bj0wO2Zvcig7bjx0Oyl7cz1lW25dO2lmKHMucHJlZml4TGVuZ3RoPT09byl7cy5wcmVmaXhDb2RlPWk7aSsrfW4rK31vKyt9fX1jb25zdCBaYT17fTtmdW5jdGlvbiBnZXRTdGFuZGFyZFRhYmxlKGUpe2xldCB0LGE9WmFbZV07aWYoYSlyZXR1cm4gYTtzd2l0Y2goZSl7Y2FzZSAxOnQ9W1swLDEsNCwwXSxbMTYsMiw4LDJdLFsyNzIsMywxNiw2XSxbNjU4MDgsMywzMiw3XV07YnJlYWs7Y2FzZSAyOnQ9W1swLDEsMCwwXSxbMSwyLDAsMl0sWzIsMywwLDZdLFszLDQsMywxNF0sWzExLDUsNiwzMF0sWzc1LDYsMzIsNjJdLFs2LDYzXV07YnJlYWs7Y2FzZSAzOnQ9W1stMjU2LDgsOCwyNTRdLFswLDEsMCwwXSxbMSwyLDAsMl0sWzIsMywwLDZdLFszLDQsMywxNF0sWzExLDUsNiwzMF0sWy0yNTcsOCwzMiwyNTUsImxvd2VyIl0sWzc1LDcsMzIsMTI2XSxbNiw2Ml1dO2JyZWFrO2Nhc2UgNDp0PVtbMSwxLDAsMF0sWzIsMiwwLDJdLFszLDMsMCw2XSxbNCw0LDMsMTRdLFsxMiw1LDYsMzBdLFs3Niw1LDMyLDMxXV07YnJlYWs7Y2FzZSA1OnQ9W1stMjU1LDcsOCwxMjZdLFsxLDEsMCwwXSxbMiwyLDAsMl0sWzMsMywwLDZdLFs0LDQsMywxNF0sWzEyLDUsNiwzMF0sWy0yNTYsNywzMiwxMjcsImxvd2VyIl0sWzc2LDYsMzIsNjJdXTticmVhaztjYXNlIDY6dD1bWy0yMDQ4LDUsMTAsMjhdLFstMTAyNCw0LDksOF0sWy01MTIsNCw4LDldLFstMjU2LDQsNywxMF0sWy0xMjgsNSw2LDI5XSxbLTY0LDUsNSwzMF0sWy0zMiw0LDUsMTFdLFswLDIsNywwXSxbMTI4LDMsNywyXSxbMjU2LDMsOCwzXSxbNTEyLDQsOSwxMl0sWzEwMjQsNCwxMCwxM10sWy0yMDQ5LDYsMzIsNjIsImxvd2VyIl0sWzIwNDgsNiwzMiw2M11dO2JyZWFrO2Nhc2UgNzp0PVtbLTEwMjQsNCw5LDhdLFstNTEyLDMsOCwwXSxbLTI1Niw0LDcsOV0sWy0xMjgsNSw2LDI2XSxbLTY0LDUsNSwyN10sWy0zMiw0LDUsMTBdLFswLDQsNSwxMV0sWzMyLDUsNSwyOF0sWzY0LDUsNiwyOV0sWzEyOCw0LDcsMTJdLFsyNTYsMyw4LDFdLFs1MTIsMyw5LDJdLFsxMDI0LDMsMTAsM10sWy0xMDI1LDUsMzIsMzAsImxvd2VyIl0sWzIwNDgsNSwzMiwzMV1dO2JyZWFrO2Nhc2UgODp0PVtbLTE1LDgsMywyNTJdLFstNyw5LDEsNTA4XSxbLTUsOCwxLDI1M10sWy0zLDksMCw1MDldLFstMiw3LDAsMTI0XSxbLTEsNCwwLDEwXSxbMCwyLDEsMF0sWzIsNSwwLDI2XSxbMyw2LDAsNThdLFs0LDMsNCw0XSxbMjAsNiwxLDU5XSxbMjIsNCw0LDExXSxbMzgsNCw1LDEyXSxbNzAsNSw2LDI3XSxbMTM0LDUsNywyOF0sWzI2Miw2LDcsNjBdLFszOTAsNyw4LDEyNV0sWzY0Niw2LDEwLDYxXSxbLTE2LDksMzIsNTEwLCJsb3dlciJdLFsxNjcwLDksMzIsNTExXSxbMiwxXV07YnJlYWs7Y2FzZSA5OnQ9W1stMzEsOCw0LDI1Ml0sWy0xNSw5LDIsNTA4XSxbLTExLDgsMiwyNTNdLFstNyw5LDEsNTA5XSxbLTUsNywxLDEyNF0sWy0zLDQsMSwxMF0sWy0xLDMsMSwyXSxbMSwzLDEsM10sWzMsNSwxLDI2XSxbNSw2LDEsNThdLFs3LDMsNSw0XSxbMzksNiwyLDU5XSxbNDMsNCw1LDExXSxbNzUsNCw2LDEyXSxbMTM5LDUsNywyN10sWzI2Nyw1LDgsMjhdLFs1MjMsNiw4LDYwXSxbNzc5LDcsOSwxMjVdLFsxMjkxLDYsMTEsNjFdLFstMzIsOSwzMiw1MTAsImxvd2VyIl0sWzMzMzksOSwzMiw1MTFdLFsyLDBdXTticmVhaztjYXNlIDEwOnQ9W1stMjEsNyw0LDEyMl0sWy01LDgsMCwyNTJdLFstNCw3LDAsMTIzXSxbLTMsNSwwLDI0XSxbLTIsMiwyLDBdLFsyLDUsMCwyNV0sWzMsNiwwLDU0XSxbNCw3LDAsMTI0XSxbNSw4LDAsMjUzXSxbNiwyLDYsMV0sWzcwLDUsNSwyNl0sWzEwMiw2LDUsNTVdLFsxMzQsNiw2LDU2XSxbMTk4LDYsNyw1N10sWzMyNiw2LDgsNThdLFs1ODIsNiw5LDU5XSxbMTA5NCw2LDEwLDYwXSxbMjExOCw3LDExLDEyNV0sWy0yMiw4LDMyLDI1NCwibG93ZXIiXSxbNDE2Niw4LDMyLDI1NV0sWzIsMl1dO2JyZWFrO2Nhc2UgMTE6dD1bWzEsMSwwLDBdLFsyLDIsMSwyXSxbNCw0LDAsMTJdLFs1LDQsMSwxM10sWzcsNSwxLDI4XSxbOSw1LDIsMjldLFsxMyw2LDIsNjBdLFsxNyw3LDIsMTIyXSxbMjEsNywzLDEyM10sWzI5LDcsNCwxMjRdLFs0NSw3LDUsMTI1XSxbNzcsNyw2LDEyNl0sWzE0MSw3LDMyLDEyN11dO2JyZWFrO2Nhc2UgMTI6dD1bWzEsMSwwLDBdLFsyLDIsMCwyXSxbMywzLDEsNl0sWzUsNSwwLDI4XSxbNiw1LDEsMjldLFs4LDYsMSw2MF0sWzEwLDcsMCwxMjJdLFsxMSw3LDEsMTIzXSxbMTMsNywyLDEyNF0sWzE3LDcsMywxMjVdLFsyNSw3LDQsMTI2XSxbNDEsOCw1LDI1NF0sWzczLDgsMzIsMjU1XV07YnJlYWs7Y2FzZSAxMzp0PVtbMSwxLDAsMF0sWzIsMywwLDRdLFszLDQsMCwxMl0sWzQsNSwwLDI4XSxbNSw0LDEsMTNdLFs3LDMsMyw1XSxbMTUsNiwxLDU4XSxbMTcsNiwyLDU5XSxbMjEsNiwzLDYwXSxbMjksNiw0LDYxXSxbNDUsNiw1LDYyXSxbNzcsNyw2LDEyNl0sWzE0MSw3LDMyLDEyN11dO2JyZWFrO2Nhc2UgMTQ6dD1bWy0yLDMsMCw0XSxbLTEsMywwLDVdLFswLDEsMCwwXSxbMSwzLDAsNl0sWzIsMywwLDddXTticmVhaztjYXNlIDE1OnQ9W1stMjQsNyw0LDEyNF0sWy04LDYsMiw2MF0sWy00LDUsMSwyOF0sWy0yLDQsMCwxMl0sWy0xLDMsMCw0XSxbMCwxLDAsMF0sWzEsMywwLDVdLFsyLDQsMCwxM10sWzMsNSwxLDI5XSxbNSw2LDIsNjFdLFs5LDcsNCwxMjVdLFstMjUsNywzMiwxMjYsImxvd2VyIl0sWzI1LDcsMzIsMTI3XV07YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgSmJpZzJFcnJvcihgc3RhbmRhcmQgdGFibGUgQi4ke2V9IGRvZXMgbm90IGV4aXN0YCl9Zm9yKGxldCBlPTAsYT10Lmxlbmd0aDtlPGE7ZSsrKXRbZV09bmV3IEh1ZmZtYW5MaW5lKHRbZV0pO2E9bmV3IEh1ZmZtYW5UYWJsZSh0LCEwKTtaYVtlXT1hO3JldHVybiBhfWNsYXNzIFJlYWRlcntjb25zdHJ1Y3RvcihlLHQsYSl7dGhpcy5kYXRhPWU7dGhpcy5zdGFydD10O3RoaXMuZW5kPWE7dGhpcy5wb3NpdGlvbj10O3RoaXMuc2hpZnQ9LTE7dGhpcy5jdXJyZW50Qnl0ZT0wfXJlYWRCaXQoKXtpZih0aGlzLnNoaWZ0PDApe2lmKHRoaXMucG9zaXRpb24+PXRoaXMuZW5kKXRocm93IG5ldyBKYmlnMkVycm9yKCJlbmQgb2YgZGF0YSB3aGlsZSByZWFkaW5nIGJpdCIpO3RoaXMuY3VycmVudEJ5dGU9dGhpcy5kYXRhW3RoaXMucG9zaXRpb24rK107dGhpcy5zaGlmdD03fWNvbnN0IGU9dGhpcy5jdXJyZW50Qnl0ZT4+dGhpcy5zaGlmdCYxO3RoaXMuc2hpZnQtLTtyZXR1cm4gZX1yZWFkQml0cyhlKXtsZXQgdCxhPTA7Zm9yKHQ9ZS0xO3Q+PTA7dC0tKWF8PXRoaXMucmVhZEJpdCgpPDx0O3JldHVybiBhfWJ5dGVBbGlnbigpe3RoaXMuc2hpZnQ9LTF9bmV4dCgpe3JldHVybiB0aGlzLnBvc2l0aW9uPj10aGlzLmVuZD8tMTp0aGlzLmRhdGFbdGhpcy5wb3NpdGlvbisrXX19ZnVuY3Rpb24gZ2V0Q3VzdG9tSHVmZm1hblRhYmxlKGUsdCxhKXtsZXQgcj0wO2ZvcihsZXQgaT0wLG49dC5sZW5ndGg7aTxuO2krKyl7Y29uc3Qgbj1hW3RbaV1dO2lmKG4pe2lmKGU9PT1yKXJldHVybiBuO3IrK319dGhyb3cgbmV3IEpiaWcyRXJyb3IoImNhbid0IGZpbmQgY3VzdG9tIEh1ZmZtYW4gdGFibGUiKX1mdW5jdGlvbiByZWFkVW5jb21wcmVzc2VkQml0bWFwKGUsdCxhKXtjb25zdCByPVtdO2ZvcihsZXQgaT0wO2k8YTtpKyspe2NvbnN0IGE9bmV3IFVpbnQ4QXJyYXkodCk7ci5wdXNoKGEpO2ZvcihsZXQgcj0wO3I8dDtyKyspYVtyXT1lLnJlYWRCaXQoKTtlLmJ5dGVBbGlnbigpfXJldHVybiByfWZ1bmN0aW9uIGRlY29kZU1NUkJpdG1hcChlLHQsYSxyKXtjb25zdCBpPW5ldyBDQ0lUVEZheERlY29kZXIoZSx7SzotMSxDb2x1bW5zOnQsUm93czphLEJsYWNrSXMxOiEwLEVuZE9mQmxvY2s6cn0pLG49W107bGV0IHMsbz0hMTtmb3IobGV0IGU9MDtlPGE7ZSsrKXtjb25zdCBlPW5ldyBVaW50OEFycmF5KHQpO24ucHVzaChlKTtsZXQgYT0tMTtmb3IobGV0IHI9MDtyPHQ7cisrKXtpZihhPDApe3M9aS5yZWFkTmV4dENoYXIoKTtpZigtMT09PXMpe3M9MDtvPSEwfWE9N31lW3JdPXM+PmEmMTthLS19fWlmKHImJiFvKXtjb25zdCBlPTU7Zm9yKGxldCB0PTA7dDxlJiYtMSE9PWkucmVhZE5leHRDaGFyKCk7dCsrKTt9cmV0dXJuIG59Y2xhc3MgSmJpZzJJbWFnZXtwYXJzZUNodW5rcyhlKXtyZXR1cm4gZnVuY3Rpb24gcGFyc2VKYmlnMkNodW5rcyhlKXtjb25zdCB0PW5ldyBTaW1wbGVTZWdtZW50VmlzaXRvcjtmb3IobGV0IGE9MCxyPWUubGVuZ3RoO2E8cjthKyspe2NvbnN0IHI9ZVthXTtwcm9jZXNzU2VnbWVudHMocmVhZFNlZ21lbnRzKHt9LHIuZGF0YSxyLnN0YXJ0LHIuZW5kKSx0KX1yZXR1cm4gdC5idWZmZXJ9KGUpfXBhcnNlKGUpe3Rocm93IG5ldyBFcnJvcigiTm90IGltcGxlbWVudGVkOiBKYmlnMkltYWdlLnBhcnNlIil9fWNsYXNzIEpiaWcyU3RyZWFtIGV4dGVuZHMgRGVjb2RlU3RyZWFte2NvbnN0cnVjdG9yKGUsdCxhKXtzdXBlcih0KTt0aGlzLnN0cmVhbT1lO3RoaXMuZGljdD1lLmRpY3Q7dGhpcy5tYXliZUxlbmd0aD10O3RoaXMucGFyYW1zPWF9Z2V0IGJ5dGVzKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJieXRlcyIsdGhpcy5zdHJlYW0uZ2V0Qnl0ZXModGhpcy5tYXliZUxlbmd0aCkpfWVuc3VyZUJ1ZmZlcihlKXt9cmVhZEJsb2NrKCl7dGhpcy5kZWNvZGVJbWFnZSgpfWRlY29kZUltYWdlKGUpe2lmKHRoaXMuZW9mKXJldHVybiB0aGlzLmJ1ZmZlcjtlfHw9dGhpcy5ieXRlcztjb25zdCB0PW5ldyBKYmlnMkltYWdlLGE9W107aWYodGhpcy5wYXJhbXMgaW5zdGFuY2VvZiBEaWN0KXtjb25zdCBlPXRoaXMucGFyYW1zLmdldCgiSkJJRzJHbG9iYWxzIik7aWYoZSBpbnN0YW5jZW9mIEJhc2VTdHJlYW0pe2NvbnN0IHQ9ZS5nZXRCeXRlcygpO2EucHVzaCh7ZGF0YTp0LHN0YXJ0OjAsZW5kOnQubGVuZ3RofSl9fWEucHVzaCh7ZGF0YTplLHN0YXJ0OjAsZW5kOmUubGVuZ3RofSk7Y29uc3Qgcj10LnBhcnNlQ2h1bmtzKGEpLGk9ci5sZW5ndGg7Zm9yKGxldCBlPTA7ZTxpO2UrKylyW2VdXj0yNTU7dGhpcy5idWZmZXI9cjt0aGlzLmJ1ZmZlckxlbmd0aD1pO3RoaXMuZW9mPSEwO3JldHVybiB0aGlzLmJ1ZmZlcn1nZXQgY2FuQXN5bmNEZWNvZGVJbWFnZUZyb21CdWZmZXIoKXtyZXR1cm4gdGhpcy5zdHJlYW0uaXNBc3luY319Y2xhc3MgSnB4U3RyZWFtIGV4dGVuZHMgRGVjb2RlU3RyZWFte2NvbnN0cnVjdG9yKGUsdCxhKXtzdXBlcih0KTt0aGlzLnN0cmVhbT1lO3RoaXMuZGljdD1lLmRpY3Q7dGhpcy5tYXliZUxlbmd0aD10O3RoaXMucGFyYW1zPWF9Z2V0IGJ5dGVzKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJieXRlcyIsdGhpcy5zdHJlYW0uZ2V0Qnl0ZXModGhpcy5tYXliZUxlbmd0aCkpfWVuc3VyZUJ1ZmZlcihlKXt9cmVhZEJsb2NrKGUpe3VucmVhY2hhYmxlKCJKcHhTdHJlYW0ucmVhZEJsb2NrIil9Z2V0IGlzQXN5bmNEZWNvZGVyKCl7cmV0dXJuITB9YXN5bmMgZGVjb2RlSW1hZ2UoZSx0KXtpZih0aGlzLmVvZilyZXR1cm4gdGhpcy5idWZmZXI7ZXx8PXRoaXMuYnl0ZXM7dGhpcy5idWZmZXI9YXdhaXQgSnB4SW1hZ2UuZGVjb2RlKGUsdCk7dGhpcy5idWZmZXJMZW5ndGg9dGhpcy5idWZmZXIubGVuZ3RoO3RoaXMuZW9mPSEwO3JldHVybiB0aGlzLmJ1ZmZlcn1nZXQgY2FuQXN5bmNEZWNvZGVJbWFnZUZyb21CdWZmZXIoKXtyZXR1cm4gdGhpcy5zdHJlYW0uaXNBc3luY319Y2xhc3MgTFpXU3RyZWFtIGV4dGVuZHMgRGVjb2RlU3RyZWFte2NvbnN0cnVjdG9yKGUsdCxhKXtzdXBlcih0KTt0aGlzLnN0cj1lO3RoaXMuZGljdD1lLmRpY3Q7dGhpcy5jYWNoZWREYXRhPTA7dGhpcy5iaXRzQ2FjaGVkPTA7Y29uc3Qgcj00MDk2LGk9e2Vhcmx5Q2hhbmdlOmEsY29kZUxlbmd0aDo5LG5leHRDb2RlOjI1OCxkaWN0aW9uYXJ5VmFsdWVzOm5ldyBVaW50OEFycmF5KHIpLGRpY3Rpb25hcnlMZW5ndGhzOm5ldyBVaW50MTZBcnJheShyKSxkaWN0aW9uYXJ5UHJldkNvZGVzOm5ldyBVaW50MTZBcnJheShyKSxjdXJyZW50U2VxdWVuY2U6bmV3IFVpbnQ4QXJyYXkociksY3VycmVudFNlcXVlbmNlTGVuZ3RoOjB9O2ZvcihsZXQgZT0wO2U8MjU2OysrZSl7aS5kaWN0aW9uYXJ5VmFsdWVzW2VdPWU7aS5kaWN0aW9uYXJ5TGVuZ3Roc1tlXT0xfXRoaXMubHp3U3RhdGU9aX1yZWFkQml0cyhlKXtsZXQgdD10aGlzLmJpdHNDYWNoZWQsYT10aGlzLmNhY2hlZERhdGE7Zm9yKDt0PGU7KXtjb25zdCBlPXRoaXMuc3RyLmdldEJ5dGUoKTtpZigtMT09PWUpe3RoaXMuZW9mPSEwO3JldHVybiBudWxsfWE9YTw8OHxlO3QrPTh9dGhpcy5iaXRzQ2FjaGVkPXQtPWU7dGhpcy5jYWNoZWREYXRhPWE7dGhpcy5sYXN0Q29kZT1udWxsO3JldHVybiBhPj4+dCYoMTw8ZSktMX1yZWFkQmxvY2soKXtsZXQgZSx0LGEscj0xMDI0O2NvbnN0IGk9dGhpcy5sendTdGF0ZTtpZighaSlyZXR1cm47Y29uc3Qgbj1pLmVhcmx5Q2hhbmdlO2xldCBzPWkubmV4dENvZGU7Y29uc3Qgbz1pLmRpY3Rpb25hcnlWYWx1ZXMsYz1pLmRpY3Rpb25hcnlMZW5ndGhzLGw9aS5kaWN0aW9uYXJ5UHJldkNvZGVzO2xldCBoPWkuY29kZUxlbmd0aCx1PWkucHJldkNvZGU7Y29uc3QgZD1pLmN1cnJlbnRTZXF1ZW5jZTtsZXQgZj1pLmN1cnJlbnRTZXF1ZW5jZUxlbmd0aCxnPTAscD10aGlzLmJ1ZmZlckxlbmd0aCxtPXRoaXMuZW5zdXJlQnVmZmVyKHRoaXMuYnVmZmVyTGVuZ3RoK3IpO2ZvcihlPTA7ZTw1MTI7ZSsrKXtjb25zdCBlPXRoaXMucmVhZEJpdHMoaCksaT1mPjA7aWYoZTwyNTYpe2RbMF09ZTtmPTF9ZWxzZXtpZighKGU+PTI1OCkpe2lmKDI1Nj09PWUpe2g9OTtzPTI1ODtmPTA7Y29udGludWV9dGhpcy5lb2Y9ITA7ZGVsZXRlIHRoaXMubHp3U3RhdGU7YnJlYWt9aWYoZTxzKXtmPWNbZV07Zm9yKHQ9Zi0xLGE9ZTt0Pj0wO3QtLSl7ZFt0XT1vW2FdO2E9bFthXX19ZWxzZSBkW2YrK109ZFswXX1pZihpKXtsW3NdPXU7Y1tzXT1jW3VdKzE7b1tzXT1kWzBdO3MrKztoPXMrbiZzK24tMT9oOjB8TWF0aC5taW4oTWF0aC5sb2cocytuKS8uNjkzMTQ3MTgwNTU5OTQ1MysxLDEyKX11PWU7Zys9ZjtpZihyPGcpe2Rve3IrPTUxMn13aGlsZShyPGcpO209dGhpcy5lbnN1cmVCdWZmZXIodGhpcy5idWZmZXJMZW5ndGgrcil9Zm9yKHQ9MDt0PGY7dCsrKW1bcCsrXT1kW3RdfWkubmV4dENvZGU9cztpLmNvZGVMZW5ndGg9aDtpLnByZXZDb2RlPXU7aS5jdXJyZW50U2VxdWVuY2VMZW5ndGg9Zjt0aGlzLmJ1ZmZlckxlbmd0aD1wfX1jbGFzcyBQcmVkaWN0b3JTdHJlYW0gZXh0ZW5kcyBEZWNvZGVTdHJlYW17Y29uc3RydWN0b3IoZSx0LGEpe3N1cGVyKHQpO2lmKCEoYSBpbnN0YW5jZW9mIERpY3QpKXJldHVybiBlO2NvbnN0IHI9dGhpcy5wcmVkaWN0b3I9YS5nZXQoIlByZWRpY3RvciIpfHwxO2lmKHI8PTEpcmV0dXJuIGU7aWYoMiE9PXImJihyPDEwfHxyPjE1KSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYFVuc3VwcG9ydGVkIHByZWRpY3RvcjogJHtyfWApO3RoaXMucmVhZEJsb2NrPTI9PT1yP3RoaXMucmVhZEJsb2NrVGlmZjp0aGlzLnJlYWRCbG9ja1BuZzt0aGlzLnN0cj1lO3RoaXMuZGljdD1lLmRpY3Q7Y29uc3QgaT10aGlzLmNvbG9ycz1hLmdldCgiQ29sb3JzIil8fDEsbj10aGlzLmJpdHM9YS5nZXQoIkJQQyIsIkJpdHNQZXJDb21wb25lbnQiKXx8OCxzPXRoaXMuY29sdW1ucz1hLmdldCgiQ29sdW1ucyIpfHwxO3RoaXMucGl4Qnl0ZXM9aSpuKzc+PjM7dGhpcy5yb3dCeXRlcz1zKmkqbis3Pj4zO3JldHVybiB0aGlzfXJlYWRCbG9ja1RpZmYoKXtjb25zdCBlPXRoaXMucm93Qnl0ZXMsdD10aGlzLmJ1ZmZlckxlbmd0aCxhPXRoaXMuZW5zdXJlQnVmZmVyKHQrZSkscj10aGlzLmJpdHMsaT10aGlzLmNvbG9ycyxuPXRoaXMuc3RyLmdldEJ5dGVzKGUpO3RoaXMuZW9mPSFuLmxlbmd0aDtpZih0aGlzLmVvZilyZXR1cm47bGV0IHMsbz0wLGM9MCxsPTAsaD0wLHU9dDtpZigxPT09ciYmMT09PWkpZm9yKHM9MDtzPGU7KytzKXtsZXQgZT1uW3NdXm87ZV49ZT4+MTtlXj1lPj4yO2VePWU+PjQ7bz0oMSZlKTw8NzthW3UrK109ZX1lbHNlIGlmKDg9PT1yKXtmb3Iocz0wO3M8aTsrK3MpYVt1KytdPW5bc107Zm9yKDtzPGU7KytzKXthW3VdPWFbdS1pXStuW3NdO3UrK319ZWxzZSBpZigxNj09PXIpe2NvbnN0IHQ9MippO2ZvcihzPTA7czx0OysrcylhW3UrK109bltzXTtmb3IoO3M8ZTtzKz0yKXtjb25zdCBlPSgoMjU1Jm5bc10pPDw4KSsoMjU1Jm5bcysxXSkrKCgyNTUmYVt1LXRdKTw8OCkrKDI1NSZhW3UtdCsxXSk7YVt1KytdPWU+PjgmMjU1O2FbdSsrXT0yNTUmZX19ZWxzZXtjb25zdCBlPW5ldyBVaW50OEFycmF5KGkrMSksdT0oMTw8ciktMTtsZXQgZD0wLGY9dDtjb25zdCBnPXRoaXMuY29sdW1ucztmb3Iocz0wO3M8ZzsrK3MpZm9yKGxldCB0PTA7dDxpOysrdCl7aWYobDxyKXtvPW88PDh8MjU1Jm5bZCsrXTtsKz04fWVbdF09ZVt0XSsobz4+bC1yKSZ1O2wtPXI7Yz1jPDxyfGVbdF07aCs9cjtpZihoPj04KXthW2YrK109Yz4+aC04JjI1NTtoLT04fX1oPjAmJihhW2YrK109KGM8PDgtaCkrKG8mKDE8PDgtaCktMSkpfXRoaXMuYnVmZmVyTGVuZ3RoKz1lfXJlYWRCbG9ja1BuZygpe2NvbnN0IGU9dGhpcy5yb3dCeXRlcyx0PXRoaXMucGl4Qnl0ZXMsYT10aGlzLnN0ci5nZXRCeXRlKCkscj10aGlzLnN0ci5nZXRCeXRlcyhlKTt0aGlzLmVvZj0hci5sZW5ndGg7aWYodGhpcy5lb2YpcmV0dXJuO2NvbnN0IGk9dGhpcy5idWZmZXJMZW5ndGgsbj10aGlzLmVuc3VyZUJ1ZmZlcihpK2UpO2xldCBzPW4uc3ViYXJyYXkoaS1lLGkpOzA9PT1zLmxlbmd0aCYmKHM9bmV3IFVpbnQ4QXJyYXkoZSkpO2xldCBvLGMsbCxoPWk7c3dpdGNoKGEpe2Nhc2UgMDpmb3Iobz0wO288ZTsrK28pbltoKytdPXJbb107YnJlYWs7Y2FzZSAxOmZvcihvPTA7bzx0OysrbyluW2grK109cltvXTtmb3IoO288ZTsrK28pe25baF09bltoLXRdK3Jbb10mMjU1O2grK31icmVhaztjYXNlIDI6Zm9yKG89MDtvPGU7KytvKW5baCsrXT1zW29dK3Jbb10mMjU1O2JyZWFrO2Nhc2UgMzpmb3Iobz0wO288dDsrK28pbltoKytdPShzW29dPj4xKStyW29dO2Zvcig7bzxlOysrbyl7bltoXT0oc1tvXStuW2gtdF0+PjEpK3Jbb10mMjU1O2grK31icmVhaztjYXNlIDQ6Zm9yKG89MDtvPHQ7KytvKXtjPXNbb107bD1yW29dO25baCsrXT1jK2x9Zm9yKDtvPGU7KytvKXtjPXNbb107Y29uc3QgZT1zW28tdF0sYT1uW2gtdF0saT1hK2MtZTtsZXQgdT1pLWE7dTwwJiYodT0tdSk7bGV0IGQ9aS1jO2Q8MCYmKGQ9LWQpO2xldCBmPWktZTtmPDAmJihmPS1mKTtsPXJbb107bltoKytdPXU8PWQmJnU8PWY/YStsOmQ8PWY/YytsOmUrbH1icmVhaztkZWZhdWx0OnRocm93IG5ldyBGb3JtYXRFcnJvcihgVW5zdXBwb3J0ZWQgcHJlZGljdG9yOiAke2F9YCl9dGhpcy5idWZmZXJMZW5ndGgrPWV9fWNsYXNzIFJ1bkxlbmd0aFN0cmVhbSBleHRlbmRzIERlY29kZVN0cmVhbXtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKHQpO3RoaXMuc3RyPWU7dGhpcy5kaWN0PWUuZGljdH1yZWFkQmxvY2soKXtjb25zdCBlPXRoaXMuc3RyLmdldEJ5dGVzKDIpO2lmKCFlfHxlLmxlbmd0aDwyfHwxMjg9PT1lWzBdKXt0aGlzLmVvZj0hMDtyZXR1cm59bGV0IHQsYT10aGlzLmJ1ZmZlckxlbmd0aCxyPWVbMF07aWYocjwxMjgpe3Q9dGhpcy5lbnN1cmVCdWZmZXIoYStyKzEpO3RbYSsrXT1lWzFdO2lmKHI+MCl7Y29uc3QgZT10aGlzLnN0ci5nZXRCeXRlcyhyKTt0LnNldChlLGEpO2ErPXJ9fWVsc2V7cj0yNTctcjt0PXRoaXMuZW5zdXJlQnVmZmVyKGErcisxKTt0LmZpbGwoZVsxXSxhLGErcik7YSs9cn10aGlzLmJ1ZmZlckxlbmd0aD1hfX1jbGFzcyBQYXJzZXJ7Y29uc3RydWN0b3Ioe2xleGVyOmUseHJlZjp0LGFsbG93U3RyZWFtczphPSExLHJlY292ZXJ5TW9kZTpyPSExfSl7dGhpcy5sZXhlcj1lO3RoaXMueHJlZj10O3RoaXMuYWxsb3dTdHJlYW1zPWE7dGhpcy5yZWNvdmVyeU1vZGU9cjt0aGlzLmltYWdlQ2FjaGU9T2JqZWN0LmNyZWF0ZShudWxsKTt0aGlzLl9pbWFnZUlkPTA7dGhpcy5yZWZpbGwoKX1yZWZpbGwoKXt0aGlzLmJ1ZjE9dGhpcy5sZXhlci5nZXRPYmooKTt0aGlzLmJ1ZjI9dGhpcy5sZXhlci5nZXRPYmooKX1zaGlmdCgpe2lmKHRoaXMuYnVmMiBpbnN0YW5jZW9mIENtZCYmIklEIj09PXRoaXMuYnVmMi5jbWQpe3RoaXMuYnVmMT10aGlzLmJ1ZjI7dGhpcy5idWYyPW51bGx9ZWxzZXt0aGlzLmJ1ZjE9dGhpcy5idWYyO3RoaXMuYnVmMj10aGlzLmxleGVyLmdldE9iaigpfX10cnlTaGlmdCgpe3RyeXt0aGlzLnNoaWZ0KCk7cmV0dXJuITB9Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKXRocm93IGU7cmV0dXJuITF9fWdldE9iaihlPW51bGwpe2NvbnN0IHQ9dGhpcy5idWYxO3RoaXMuc2hpZnQoKTtpZih0IGluc3RhbmNlb2YgQ21kKXN3aXRjaCh0LmNtZCl7Y2FzZSJCSSI6cmV0dXJuIHRoaXMubWFrZUlubGluZUltYWdlKGUpO2Nhc2UiWyI6Y29uc3QgYT1bXTtmb3IoOyFpc0NtZCh0aGlzLmJ1ZjEsIl0iKSYmdGhpcy5idWYxIT09YWE7KWEucHVzaCh0aGlzLmdldE9iaihlKSk7aWYodGhpcy5idWYxPT09YWEpe2lmKHRoaXMucmVjb3ZlcnlNb2RlKXJldHVybiBhO3Rocm93IG5ldyBQYXJzZXJFT0ZFeGNlcHRpb24oIkVuZCBvZiBmaWxlIGluc2lkZSBhcnJheS4iKX10aGlzLnNoaWZ0KCk7cmV0dXJuIGE7Y2FzZSI8PCI6Y29uc3Qgcj1uZXcgRGljdCh0aGlzLnhyZWYpO2Zvcig7IWlzQ21kKHRoaXMuYnVmMSwiPj4iKSYmdGhpcy5idWYxIT09YWE7KXtpZighKHRoaXMuYnVmMSBpbnN0YW5jZW9mIE5hbWUpKXtpbmZvKCJNYWxmb3JtZWQgZGljdGlvbmFyeToga2V5IG11c3QgYmUgYSBuYW1lIG9iamVjdCIpO3RoaXMuc2hpZnQoKTtjb250aW51ZX1jb25zdCB0PXRoaXMuYnVmMS5uYW1lO3RoaXMuc2hpZnQoKTtpZih0aGlzLmJ1ZjE9PT1hYSlicmVhaztyLnNldCh0LHRoaXMuZ2V0T2JqKGUpKX1pZih0aGlzLmJ1ZjE9PT1hYSl7aWYodGhpcy5yZWNvdmVyeU1vZGUpcmV0dXJuIHI7dGhyb3cgbmV3IFBhcnNlckVPRkV4Y2VwdGlvbigiRW5kIG9mIGZpbGUgaW5zaWRlIGRpY3Rpb25hcnkuIil9aWYoaXNDbWQodGhpcy5idWYyLCJzdHJlYW0iKSlyZXR1cm4gdGhpcy5hbGxvd1N0cmVhbXM/dGhpcy5tYWtlU3RyZWFtKHIsZSk6cjt0aGlzLnNoaWZ0KCk7cmV0dXJuIHI7ZGVmYXVsdDpyZXR1cm4gdH1pZihOdW1iZXIuaXNJbnRlZ2VyKHQpKXtpZihOdW1iZXIuaXNJbnRlZ2VyKHRoaXMuYnVmMSkmJmlzQ21kKHRoaXMuYnVmMiwiUiIpKXtjb25zdCBlPVJlZi5nZXQodCx0aGlzLmJ1ZjEpO3RoaXMuc2hpZnQoKTt0aGlzLnNoaWZ0KCk7cmV0dXJuIGV9cmV0dXJuIHR9cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0JiZlP2UuZGVjcnlwdFN0cmluZyh0KTp0fWZpbmREZWZhdWx0SW5saW5lU3RyZWFtRW5kKGUpe2NvbnN0e2tub3duQ29tbWFuZHM6dH09dGhpcy5sZXhlcixhPWUucG9zO2xldCByLGksbj0wO2Zvcig7LTEhPT0ocj1lLmdldEJ5dGUoKSk7KWlmKDA9PT1uKW49Njk9PT1yPzE6MDtlbHNlIGlmKDE9PT1uKW49NzM9PT1yPzI6MDtlbHNlIGlmKDMyPT09cnx8MTA9PT1yfHwxMz09PXIpe2k9ZS5wb3M7Y29uc3QgYT1lLnBlZWtCeXRlcygxNSkscz1hLmxlbmd0aDtpZigwPT09cylicmVhaztmb3IobGV0IGU9MDtlPHM7ZSsrKXtyPWFbZV07aWYoKDAhPT1yfHwwPT09YVtlKzFdKSYmKDEwIT09ciYmMTMhPT1yJiYocjwzMnx8cj4xMjcpKSl7bj0wO2JyZWFrfX1pZigyIT09biljb250aW51ZTtpZighdCl7d2FybigiZmluZERlZmF1bHRJbmxpbmVTdHJlYW1FbmQgLSBgbGV4ZXIua25vd25Db21tYW5kc2AgaXMgdW5kZWZpbmVkLiIpO2NvbnRpbnVlfWNvbnN0IG89bmV3IExleGVyKG5ldyBTdHJlYW0oZS5wZWVrQnl0ZXMoNzUpKSx0KTtvLl9oZXhTdHJpbmdXYXJuPSgpPT57fTtsZXQgYz0wO2Zvcig7Oyl7Y29uc3QgZT1vLmdldE9iaigpO2lmKGU9PT1hYSl7bj0wO2JyZWFrfWlmKGUgaW5zdGFuY2VvZiBDbWQpe2NvbnN0IGE9dFtlLmNtZF07aWYoIWEpe249MDticmVha31pZihhLnZhcmlhYmxlQXJncz9jPD1hLm51bUFyZ3M6Yz09PWEubnVtQXJncylicmVhaztjPTB9ZWxzZSBjKyt9aWYoMj09PW4pYnJlYWt9ZWxzZSBuPTA7aWYoLTE9PT1yKXt3YXJuKCJmaW5kRGVmYXVsdElubGluZVN0cmVhbUVuZDogUmVhY2hlZCB0aGUgZW5kIG9mIHRoZSBzdHJlYW0gd2l0aG91dCBmaW5kaW5nIGEgdmFsaWQgRUkgbWFya2VyIik7aWYoaSl7d2FybignLi4uIHRyeWluZyB0byByZWNvdmVyIGJ5IHVzaW5nIHRoZSBsYXN0ICJFSSIgb2NjdXJyZW5jZS4nKTtlLnNraXAoLShlLnBvcy1pKSl9fWxldCBzPTQ7ZS5za2lwKC1zKTtyPWUucGVla0J5dGUoKTtlLnNraXAocyk7aXNXaGl0ZVNwYWNlKHIpfHxzLS07cmV0dXJuIGUucG9zLXMtYX1maW5kRENURGVjb2RlSW5saW5lU3RyZWFtRW5kKGUpe2NvbnN0IHQ9ZS5wb3M7bGV0IGEscixpPSExO2Zvcig7LTEhPT0oYT1lLmdldEJ5dGUoKSk7KWlmKDI1NT09PWEpe3N3aXRjaChlLmdldEJ5dGUoKSl7Y2FzZSAwOmJyZWFrO2Nhc2UgMjU1OmUuc2tpcCgtMSk7YnJlYWs7Y2FzZSAyMTc6aT0hMDticmVhaztjYXNlIDE5MjpjYXNlIDE5MzpjYXNlIDE5NDpjYXNlIDE5NTpjYXNlIDE5NzpjYXNlIDE5ODpjYXNlIDE5OTpjYXNlIDIwMTpjYXNlIDIwMjpjYXNlIDIwMzpjYXNlIDIwNTpjYXNlIDIwNjpjYXNlIDIwNzpjYXNlIDE5NjpjYXNlIDIwNDpjYXNlIDIxODpjYXNlIDIxOTpjYXNlIDIyMDpjYXNlIDIyMTpjYXNlIDIyMjpjYXNlIDIyMzpjYXNlIDIyNDpjYXNlIDIyNTpjYXNlIDIyNjpjYXNlIDIyNzpjYXNlIDIyODpjYXNlIDIyOTpjYXNlIDIzMDpjYXNlIDIzMTpjYXNlIDIzMjpjYXNlIDIzMzpjYXNlIDIzNDpjYXNlIDIzNTpjYXNlIDIzNjpjYXNlIDIzNzpjYXNlIDIzODpjYXNlIDIzOTpjYXNlIDI1NDpyPWUuZ2V0VWludDE2KCk7cj4yP2Uuc2tpcChyLTIpOmUuc2tpcCgtMil9aWYoaSlicmVha31jb25zdCBuPWUucG9zLXQ7aWYoLTE9PT1hKXt3YXJuKCJJbmxpbmUgRENURGVjb2RlIGltYWdlIHN0cmVhbTogRU9JIG1hcmtlciBub3QgZm91bmQsIHNlYXJjaGluZyBmb3IgL0VJLyBpbnN0ZWFkLiIpO2Uuc2tpcCgtbik7cmV0dXJuIHRoaXMuZmluZERlZmF1bHRJbmxpbmVTdHJlYW1FbmQoZSl9dGhpcy5pbmxpbmVTdHJlYW1Ta2lwRUkoZSk7cmV0dXJuIG59ZmluZEFTQ0lJODVEZWNvZGVJbmxpbmVTdHJlYW1FbmQoZSl7Y29uc3QgdD1lLnBvcztsZXQgYTtmb3IoOy0xIT09KGE9ZS5nZXRCeXRlKCkpOylpZigxMjY9PT1hKXtjb25zdCB0PWUucG9zO2E9ZS5wZWVrQnl0ZSgpO2Zvcig7aXNXaGl0ZVNwYWNlKGEpOyl7ZS5za2lwKCk7YT1lLnBlZWtCeXRlKCl9aWYoNjI9PT1hKXtlLnNraXAoKTticmVha31pZihlLnBvcz50KXtjb25zdCB0PWUucGVla0J5dGVzKDIpO2lmKDY5PT09dFswXSYmNzM9PT10WzFdKWJyZWFrfX1jb25zdCByPWUucG9zLXQ7aWYoLTE9PT1hKXt3YXJuKCJJbmxpbmUgQVNDSUk4NURlY29kZSBpbWFnZSBzdHJlYW06IEVPRCBtYXJrZXIgbm90IGZvdW5kLCBzZWFyY2hpbmcgZm9yIC9FSS8gaW5zdGVhZC4iKTtlLnNraXAoLXIpO3JldHVybiB0aGlzLmZpbmREZWZhdWx0SW5saW5lU3RyZWFtRW5kKGUpfXRoaXMuaW5saW5lU3RyZWFtU2tpcEVJKGUpO3JldHVybiByfWZpbmRBU0NJSUhleERlY29kZUlubGluZVN0cmVhbUVuZChlKXtjb25zdCB0PWUucG9zO2xldCBhO2Zvcig7LTEhPT0oYT1lLmdldEJ5dGUoKSkmJjYyIT09YTspO2NvbnN0IHI9ZS5wb3MtdDtpZigtMT09PWEpe3dhcm4oIklubGluZSBBU0NJSUhleERlY29kZSBpbWFnZSBzdHJlYW06IEVPRCBtYXJrZXIgbm90IGZvdW5kLCBzZWFyY2hpbmcgZm9yIC9FSS8gaW5zdGVhZC4iKTtlLnNraXAoLXIpO3JldHVybiB0aGlzLmZpbmREZWZhdWx0SW5saW5lU3RyZWFtRW5kKGUpfXRoaXMuaW5saW5lU3RyZWFtU2tpcEVJKGUpO3JldHVybiByfWlubGluZVN0cmVhbVNraXBFSShlKXtsZXQgdCxhPTA7Zm9yKDstMSE9PSh0PWUuZ2V0Qnl0ZSgpKTspaWYoMD09PWEpYT02OT09PXQ/MTowO2Vsc2UgaWYoMT09PWEpYT03Mz09PXQ/MjowO2Vsc2UgaWYoMj09PWEpYnJlYWt9bWFrZUlubGluZUltYWdlKGUpe2NvbnN0IHQ9dGhpcy5sZXhlcixhPXQuc3RyZWFtLHI9T2JqZWN0LmNyZWF0ZShudWxsKTtsZXQgaTtmb3IoOyFpc0NtZCh0aGlzLmJ1ZjEsIklEIikmJnRoaXMuYnVmMSE9PWFhOyl7aWYoISh0aGlzLmJ1ZjEgaW5zdGFuY2VvZiBOYW1lKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkRpY3Rpb25hcnkga2V5IG11c3QgYmUgYSBuYW1lIG9iamVjdCIpO2NvbnN0IHQ9dGhpcy5idWYxLm5hbWU7dGhpcy5zaGlmdCgpO2lmKHRoaXMuYnVmMT09PWFhKWJyZWFrO3JbdF09dGhpcy5nZXRPYmooZSl9LTEhPT10LmJlZ2luSW5saW5lSW1hZ2VQb3MmJihpPWEucG9zLXQuYmVnaW5JbmxpbmVJbWFnZVBvcyk7Y29uc3Qgbj10aGlzLnhyZWYuZmV0Y2hJZlJlZihyLkZ8fHIuRmlsdGVyKTtsZXQgcztpZihuIGluc3RhbmNlb2YgTmFtZSlzPW4ubmFtZTtlbHNlIGlmKEFycmF5LmlzQXJyYXkobikpe2NvbnN0IGU9dGhpcy54cmVmLmZldGNoSWZSZWYoblswXSk7ZSBpbnN0YW5jZW9mIE5hbWUmJihzPWUubmFtZSl9Y29uc3Qgbz1hLnBvcztsZXQgYyxsO3N3aXRjaChzKXtjYXNlIkRDVCI6Y2FzZSJEQ1REZWNvZGUiOmM9dGhpcy5maW5kRENURGVjb2RlSW5saW5lU3RyZWFtRW5kKGEpO2JyZWFrO2Nhc2UiQTg1IjpjYXNlIkFTQ0lJODVEZWNvZGUiOmM9dGhpcy5maW5kQVNDSUk4NURlY29kZUlubGluZVN0cmVhbUVuZChhKTticmVhaztjYXNlIkFIeCI6Y2FzZSJBU0NJSUhleERlY29kZSI6Yz10aGlzLmZpbmRBU0NJSUhleERlY29kZUlubGluZVN0cmVhbUVuZChhKTticmVhaztkZWZhdWx0OmM9dGhpcy5maW5kRGVmYXVsdElubGluZVN0cmVhbUVuZChhKX1pZihjPDFlMyYmaT4wKXtjb25zdCBlPWEucG9zO2EucG9zPXQuYmVnaW5JbmxpbmVJbWFnZVBvcztsPWZ1bmN0aW9uIGdldElubGluZUltYWdlQ2FjaGVLZXkoZSl7Y29uc3QgdD1bXSxhPWUubGVuZ3RoO2xldCByPTA7Zm9yKDtyPGEtMTspdC5wdXNoKGVbcisrXTw8OHxlW3IrK10pO3I8YSYmdC5wdXNoKGVbcl0pO3JldHVybiBhKyJfIitTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsdCl9KGEuZ2V0Qnl0ZXMoaStjKSk7YS5wb3M9ZTtjb25zdCByPXRoaXMuaW1hZ2VDYWNoZVtsXTtpZih2b2lkIDAhPT1yKXt0aGlzLmJ1ZjI9Q21kLmdldCgiRUkiKTt0aGlzLnNoaWZ0KCk7ci5yZXNldCgpO3JldHVybiByfX1jb25zdCBoPW5ldyBEaWN0KHRoaXMueHJlZik7Zm9yKGNvbnN0IGUgaW4gciloLnNldChlLHJbZV0pO2xldCB1PWEubWFrZVN1YlN0cmVhbShvLGMsaCk7ZSYmKHU9ZS5jcmVhdGVTdHJlYW0odSxjKSk7dT10aGlzLmZpbHRlcih1LGgsYyk7dS5kaWN0PWg7aWYodm9pZCAwIT09bCl7dS5jYWNoZUtleT0iaW5saW5lX2ltZ18iKyArK3RoaXMuX2ltYWdlSWQ7dGhpcy5pbWFnZUNhY2hlW2xdPXV9dGhpcy5idWYyPUNtZC5nZXQoIkVJIik7dGhpcy5zaGlmdCgpO3JldHVybiB1fSNxKGUpe2NvbnN0e3N0cmVhbTp0fT10aGlzLmxleGVyO3QucG9zPWU7Y29uc3QgYT1uZXcgVWludDhBcnJheShbMTAxLDExMCwxMDBdKSxyPWEubGVuZ3RoLGk9W25ldyBVaW50OEFycmF5KFsxMTUsMTE2LDExNCwxMDEsOTcsMTA5XSksbmV3IFVpbnQ4QXJyYXkoWzExNSwxMTYsMTAxLDk3LDEwOV0pLG5ldyBVaW50OEFycmF5KFsxMTUsMTE2LDExNCwxMDEsOTddKV0sbj05LXI7Zm9yKDt0LnBvczx0LmVuZDspe2NvbnN0IHM9dC5wZWVrQnl0ZXMoMjA0OCksbz1zLmxlbmd0aC05O2lmKG88PTApYnJlYWs7bGV0IGM9MDtmb3IoO2M8bzspe2xldCBvPTA7Zm9yKDtvPHImJnNbYytvXT09PWFbb107KW8rKztpZihvPj1yKXtsZXQgcj0hMTtmb3IoY29uc3QgZSBvZiBpKXtjb25zdCB0PWUubGVuZ3RoO2xldCBpPTA7Zm9yKDtpPHQmJnNbYytvK2ldPT09ZVtpXTspaSsrO2lmKGk+PW4pe3I9ITA7YnJlYWt9aWYoaT49dCl7aWYoaXNXaGl0ZVNwYWNlKHNbYytvK2ldKSl7aW5mbyhgRm91bmQgIiR7Ynl0ZXNUb1N0cmluZyhbLi4uYSwuLi5lXSl9IiB3aGVuIHNlYXJjaGluZyBmb3IgZW5kc3RyZWFtIGNvbW1hbmQuYCk7cj0hMH1icmVha319aWYocil7dC5wb3MrPWM7cmV0dXJuIHQucG9zLWV9fWMrK310LnBvcys9b31yZXR1cm4tMX1tYWtlU3RyZWFtKGUsdCl7Y29uc3QgYT10aGlzLmxleGVyO2xldCByPWEuc3RyZWFtO2Euc2tpcFRvTmV4dExpbmUoKTtjb25zdCBpPXIucG9zLTE7bGV0IG49ZS5nZXQoIkxlbmd0aCIpO2lmKCFOdW1iZXIuaXNJbnRlZ2VyKG4pKXtpbmZvKGBCYWQgbGVuZ3RoICIke24mJm4udG9TdHJpbmcoKX0iIGluIHN0cmVhbS5gKTtuPTB9ci5wb3M9aStuO2EubmV4dENoYXIoKTtpZih0aGlzLnRyeVNoaWZ0KCkmJmlzQ21kKHRoaXMuYnVmMiwiZW5kc3RyZWFtIikpdGhpcy5zaGlmdCgpO2Vsc2V7bj10aGlzLiNxKGkpO2lmKG48MCl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIk1pc3NpbmcgZW5kc3RyZWFtIGNvbW1hbmQuIik7YS5uZXh0Q2hhcigpO3RoaXMuc2hpZnQoKTt0aGlzLnNoaWZ0KCl9dGhpcy5zaGlmdCgpO3I9ci5tYWtlU3ViU3RyZWFtKGksbixlKTt0JiYocj10LmNyZWF0ZVN0cmVhbShyLG4pKTtyPXRoaXMuZmlsdGVyKHIsZSxuKTtyLmRpY3Q9ZTtyZXR1cm4gcn1maWx0ZXIoZSx0LGEpe2xldCByPXQuZ2V0KCJGIiwiRmlsdGVyIiksaT10LmdldCgiRFAiLCJEZWNvZGVQYXJtcyIpO2lmKHIgaW5zdGFuY2VvZiBOYW1lKXtBcnJheS5pc0FycmF5KGkpJiZ3YXJuKCIvRGVjb2RlUGFybXMgc2hvdWxkIG5vdCBiZSBhbiBBcnJheSwgd2hlbiAvRmlsdGVyIGlzIGEgTmFtZS4iKTtyZXR1cm4gdGhpcy5tYWtlRmlsdGVyKGUsci5uYW1lLGEsaSl9bGV0IG49YTtpZihBcnJheS5pc0FycmF5KHIpKXtjb25zdCB0PXIsYT1pO2ZvcihsZXQgcz0wLG89dC5sZW5ndGg7czxvOysrcyl7cj10aGlzLnhyZWYuZmV0Y2hJZlJlZih0W3NdKTtpZighKHIgaW5zdGFuY2VvZiBOYW1lKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYEJhZCBmaWx0ZXIgbmFtZSAiJHtyfSJgKTtpPW51bGw7QXJyYXkuaXNBcnJheShhKSYmcyBpbiBhJiYoaT10aGlzLnhyZWYuZmV0Y2hJZlJlZihhW3NdKSk7ZT10aGlzLm1ha2VGaWx0ZXIoZSxyLm5hbWUsbixpKTtuPW51bGx9fXJldHVybiBlfW1ha2VGaWx0ZXIoZSx0LGEscil7aWYoMD09PWEpe3dhcm4oYEVtcHR5ICIke3R9IiBzdHJlYW0uYCk7cmV0dXJuIG5ldyBOdWxsU3RyZWFtfXRyeXtzd2l0Y2godCl7Y2FzZSJGbCI6Y2FzZSJGbGF0ZURlY29kZSI6cmV0dXJuIHI/bmV3IFByZWRpY3RvclN0cmVhbShuZXcgRmxhdGVTdHJlYW0oZSxhKSxhLHIpOm5ldyBGbGF0ZVN0cmVhbShlLGEpO2Nhc2UiTFpXIjpjYXNlIkxaV0RlY29kZSI6bGV0IHQ9MTtpZihyKXtyLmhhcygiRWFybHlDaGFuZ2UiKSYmKHQ9ci5nZXQoIkVhcmx5Q2hhbmdlIikpO3JldHVybiBuZXcgUHJlZGljdG9yU3RyZWFtKG5ldyBMWldTdHJlYW0oZSxhLHQpLGEscil9cmV0dXJuIG5ldyBMWldTdHJlYW0oZSxhLHQpO2Nhc2UiRENUIjpjYXNlIkRDVERlY29kZSI6cmV0dXJuIG5ldyBKcGVnU3RyZWFtKGUsYSxyKTtjYXNlIkpQWCI6Y2FzZSJKUFhEZWNvZGUiOnJldHVybiBuZXcgSnB4U3RyZWFtKGUsYSxyKTtjYXNlIkE4NSI6Y2FzZSJBU0NJSTg1RGVjb2RlIjpyZXR1cm4gbmV3IEFzY2lpODVTdHJlYW0oZSxhKTtjYXNlIkFIeCI6Y2FzZSJBU0NJSUhleERlY29kZSI6cmV0dXJuIG5ldyBBc2NpaUhleFN0cmVhbShlLGEpO2Nhc2UiQ0NGIjpjYXNlIkNDSVRURmF4RGVjb2RlIjpyZXR1cm4gbmV3IENDSVRURmF4U3RyZWFtKGUsYSxyKTtjYXNlIlJMIjpjYXNlIlJ1bkxlbmd0aERlY29kZSI6cmV0dXJuIG5ldyBSdW5MZW5ndGhTdHJlYW0oZSxhKTtjYXNlIkpCSUcyRGVjb2RlIjpyZXR1cm4gbmV3IEpiaWcyU3RyZWFtKGUsYSxyKX13YXJuKGBGaWx0ZXIgIiR7dH0iIGlzIG5vdCBzdXBwb3J0ZWQuYCk7cmV0dXJuIGV9Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKXRocm93IGU7d2FybihgSW52YWxpZCBzdHJlYW06ICIke2V9ImApO3JldHVybiBuZXcgTnVsbFN0cmVhbX19fWNvbnN0IFFhPVsxLDAsMCwwLDAsMCwwLDAsMCwxLDEsMCwxLDEsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMSwwLDAsMCwwLDIsMCwwLDIsMiwwLDAsMCwwLDAsMiwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwyLDAsMiwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDIsMCwyLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwyLDAsMiwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwXTtmdW5jdGlvbiB0b0hleERpZ2l0KGUpe3JldHVybiBlPj00OCYmZTw9NTc/MTUmZTplPj02NSYmZTw9NzB8fGU+PTk3JiZlPD0xMDI/OSsoMTUmZSk6LTF9Y2xhc3MgTGV4ZXJ7Y29uc3RydWN0b3IoZSx0PW51bGwpe3RoaXMuc3RyZWFtPWU7dGhpcy5uZXh0Q2hhcigpO3RoaXMuc3RyQnVmPVtdO3RoaXMua25vd25Db21tYW5kcz10O3RoaXMuX2hleFN0cmluZ051bVdhcm49MDt0aGlzLmJlZ2luSW5saW5lSW1hZ2VQb3M9LTF9bmV4dENoYXIoKXtyZXR1cm4gdGhpcy5jdXJyZW50Q2hhcj10aGlzLnN0cmVhbS5nZXRCeXRlKCl9cGVla0NoYXIoKXtyZXR1cm4gdGhpcy5zdHJlYW0ucGVla0J5dGUoKX1nZXROdW1iZXIoKXtsZXQgZT10aGlzLmN1cnJlbnRDaGFyLHQ9ITEsYT0wLHI9MTtpZig0NT09PWUpe3I9LTE7ZT10aGlzLm5leHRDaGFyKCk7NDU9PT1lJiYoZT10aGlzLm5leHRDaGFyKCkpfWVsc2UgNDM9PT1lJiYoZT10aGlzLm5leHRDaGFyKCkpO2lmKDEwPT09ZXx8MTM9PT1lKWRve2U9dGhpcy5uZXh0Q2hhcigpfXdoaWxlKDEwPT09ZXx8MTM9PT1lKTtpZig0Nj09PWUpe2E9MTA7ZT10aGlzLm5leHRDaGFyKCl9aWYoZTw0OHx8ZT41Nyl7Y29uc3QgdD1gSW52YWxpZCBudW1iZXI6ICR7U3RyaW5nLmZyb21DaGFyQ29kZShlKX0gKGNoYXJDb2RlICR7ZX0pYDtpZihpc1doaXRlU3BhY2UoZSl8fDQwPT09ZXx8NjA9PT1lfHwtMT09PWUpe2luZm8oYExleGVyLmdldE51bWJlciAtICIke3R9Ii5gKTtyZXR1cm4gMH10aHJvdyBuZXcgRm9ybWF0RXJyb3IodCl9bGV0IGk9ZS00OCxuPTAscz0xO2Zvcig7KGU9dGhpcy5uZXh0Q2hhcigpKT49MDspaWYoZT49NDgmJmU8PTU3KXtjb25zdCByPWUtNDg7aWYodCluPTEwKm4rcjtlbHNlezAhPT1hJiYoYSo9MTApO2k9MTAqaStyfX1lbHNlIGlmKDQ2PT09ZSl7aWYoMCE9PWEpYnJlYWs7YT0xfWVsc2UgaWYoNDU9PT1lKXdhcm4oIkJhZGx5IGZvcm1hdHRlZCBudW1iZXI6IG1pbnVzIHNpZ24gaW4gdGhlIG1pZGRsZSIpO2Vsc2V7aWYoNjkhPT1lJiYxMDEhPT1lKWJyZWFrO2U9dGhpcy5wZWVrQ2hhcigpO2lmKDQzPT09ZXx8NDU9PT1lKXtzPTQ1PT09ZT8tMToxO3RoaXMubmV4dENoYXIoKX1lbHNlIGlmKGU8NDh8fGU+NTcpYnJlYWs7dD0hMH0wIT09YSYmKGkvPWEpO3QmJihpKj0xMCoqKHMqbikpO3JldHVybiByKml9Z2V0U3RyaW5nKCl7bGV0IGU9MSx0PSExO2NvbnN0IGE9dGhpcy5zdHJCdWY7YS5sZW5ndGg9MDtsZXQgcj10aGlzLm5leHRDaGFyKCk7Zm9yKDs7KXtsZXQgaT0hMTtzd2l0Y2goMHxyKXtjYXNlLTE6d2FybigiVW50ZXJtaW5hdGVkIHN0cmluZyIpO3Q9ITA7YnJlYWs7Y2FzZSA0MDorK2U7YS5wdXNoKCIoIik7YnJlYWs7Y2FzZSA0MTppZigwPT0tLWUpe3RoaXMubmV4dENoYXIoKTt0PSEwfWVsc2UgYS5wdXNoKCIpIik7YnJlYWs7Y2FzZSA5MjpyPXRoaXMubmV4dENoYXIoKTtzd2l0Y2gocil7Y2FzZS0xOndhcm4oIlVudGVybWluYXRlZCBzdHJpbmciKTt0PSEwO2JyZWFrO2Nhc2UgMTEwOmEucHVzaCgiXG4iKTticmVhaztjYXNlIDExNDphLnB1c2goIlxyIik7YnJlYWs7Y2FzZSAxMTY6YS5wdXNoKCJcdCIpO2JyZWFrO2Nhc2UgOTg6YS5wdXNoKCJcYiIpO2JyZWFrO2Nhc2UgMTAyOmEucHVzaCgiXGYiKTticmVhaztjYXNlIDkyOmNhc2UgNDA6Y2FzZSA0MTphLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShyKSk7YnJlYWs7Y2FzZSA0ODpjYXNlIDQ5OmNhc2UgNTA6Y2FzZSA1MTpjYXNlIDUyOmNhc2UgNTM6Y2FzZSA1NDpjYXNlIDU1OmxldCBlPTE1JnI7cj10aGlzLm5leHRDaGFyKCk7aT0hMDtpZihyPj00OCYmcjw9NTUpe2U9KGU8PDMpKygxNSZyKTtyPXRoaXMubmV4dENoYXIoKTtpZihyPj00OCYmcjw9NTUpe2k9ITE7ZT0oZTw8MykrKDE1JnIpfX1hLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShlKSk7YnJlYWs7Y2FzZSAxMzoxMD09PXRoaXMucGVla0NoYXIoKSYmdGhpcy5uZXh0Q2hhcigpO2JyZWFrO2Nhc2UgMTA6YnJlYWs7ZGVmYXVsdDphLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShyKSl9YnJlYWs7ZGVmYXVsdDphLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShyKSl9aWYodClicmVhaztpfHwocj10aGlzLm5leHRDaGFyKCkpfXJldHVybiBhLmpvaW4oIiIpfWdldE5hbWUoKXtsZXQgZSx0O2NvbnN0IGE9dGhpcy5zdHJCdWY7YS5sZW5ndGg9MDtmb3IoOyhlPXRoaXMubmV4dENoYXIoKSk+PTAmJiFRYVtlXTspaWYoMzU9PT1lKXtlPXRoaXMubmV4dENoYXIoKTtpZihRYVtlXSl7d2FybigiTGV4ZXJfZ2V0TmFtZTogTlVNQkVSIFNJR04gKCMpIHNob3VsZCBiZSBmb2xsb3dlZCBieSBhIGhleGFkZWNpbWFsIG51bWJlci4iKTthLnB1c2goIiMiKTticmVha31jb25zdCByPXRvSGV4RGlnaXQoZSk7aWYoLTEhPT1yKXt0PWU7ZT10aGlzLm5leHRDaGFyKCk7Y29uc3QgaT10b0hleERpZ2l0KGUpO2lmKC0xPT09aSl7d2FybihgTGV4ZXJfZ2V0TmFtZTogSWxsZWdhbCBkaWdpdCAoJHtTdHJpbmcuZnJvbUNoYXJDb2RlKGUpfSkgaW4gaGV4YWRlY2ltYWwgbnVtYmVyLmApO2EucHVzaCgiIyIsU3RyaW5nLmZyb21DaGFyQ29kZSh0KSk7aWYoUWFbZV0pYnJlYWs7YS5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoZSkpO2NvbnRpbnVlfWEucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKHI8PDR8aSkpfWVsc2UgYS5wdXNoKCIjIixTdHJpbmcuZnJvbUNoYXJDb2RlKGUpKX1lbHNlIGEucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKGUpKTthLmxlbmd0aD4xMjcmJndhcm4oYE5hbWUgdG9rZW4gaXMgbG9uZ2VyIHRoYW4gYWxsb3dlZCBieSB0aGUgc3BlYzogJHthLmxlbmd0aH1gKTtyZXR1cm4gTmFtZS5nZXQoYS5qb2luKCIiKSl9X2hleFN0cmluZ1dhcm4oZSl7NSE9dGhpcy5faGV4U3RyaW5nTnVtV2FybisrP3RoaXMuX2hleFN0cmluZ051bVdhcm4+NXx8d2FybihgZ2V0SGV4U3RyaW5nIC0gaWdub3JpbmcgaW52YWxpZCBjaGFyYWN0ZXI6ICR7ZX1gKTp3YXJuKCJnZXRIZXhTdHJpbmcgLSBpZ25vcmluZyBhZGRpdGlvbmFsIGludmFsaWQgY2hhcmFjdGVycy4iKX1nZXRIZXhTdHJpbmcoKXtjb25zdCBlPXRoaXMuc3RyQnVmO2UubGVuZ3RoPTA7bGV0IHQ9dGhpcy5jdXJyZW50Q2hhcixhPS0xLHI9LTE7dGhpcy5faGV4U3RyaW5nTnVtV2Fybj0wO2Zvcig7Oyl7aWYodDwwKXt3YXJuKCJVbnRlcm1pbmF0ZWQgaGV4IHN0cmluZyIpO2JyZWFrfWlmKDYyPT09dCl7dGhpcy5uZXh0Q2hhcigpO2JyZWFrfWlmKDEhPT1RYVt0XSl7cj10b0hleERpZ2l0KHQpO2lmKC0xPT09cil0aGlzLl9oZXhTdHJpbmdXYXJuKHQpO2Vsc2UgaWYoLTE9PT1hKWE9cjtlbHNle2UucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKGE8PDR8cikpO2E9LTF9dD10aGlzLm5leHRDaGFyKCl9ZWxzZSB0PXRoaXMubmV4dENoYXIoKX0tMSE9PWEmJmUucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKGE8PDQpKTtyZXR1cm4gZS5qb2luKCIiKX1nZXRPYmooKXtsZXQgZT0hMSx0PXRoaXMuY3VycmVudENoYXI7Zm9yKDs7KXtpZih0PDApcmV0dXJuIGFhO2lmKGUpMTAhPT10JiYxMyE9PXR8fChlPSExKTtlbHNlIGlmKDM3PT09dCllPSEwO2Vsc2UgaWYoMSE9PVFhW3RdKWJyZWFrO3Q9dGhpcy5uZXh0Q2hhcigpfXN3aXRjaCgwfHQpe2Nhc2UgNDg6Y2FzZSA0OTpjYXNlIDUwOmNhc2UgNTE6Y2FzZSA1MjpjYXNlIDUzOmNhc2UgNTQ6Y2FzZSA1NTpjYXNlIDU2OmNhc2UgNTc6Y2FzZSA0MzpjYXNlIDQ1OmNhc2UgNDY6cmV0dXJuIHRoaXMuZ2V0TnVtYmVyKCk7Y2FzZSA0MDpyZXR1cm4gdGhpcy5nZXRTdHJpbmcoKTtjYXNlIDQ3OnJldHVybiB0aGlzLmdldE5hbWUoKTtjYXNlIDkxOnRoaXMubmV4dENoYXIoKTtyZXR1cm4gQ21kLmdldCgiWyIpO2Nhc2UgOTM6dGhpcy5uZXh0Q2hhcigpO3JldHVybiBDbWQuZ2V0KCJdIik7Y2FzZSA2MDp0PXRoaXMubmV4dENoYXIoKTtpZig2MD09PXQpe3RoaXMubmV4dENoYXIoKTtyZXR1cm4gQ21kLmdldCgiPDwiKX1yZXR1cm4gdGhpcy5nZXRIZXhTdHJpbmcoKTtjYXNlIDYyOnQ9dGhpcy5uZXh0Q2hhcigpO2lmKDYyPT09dCl7dGhpcy5uZXh0Q2hhcigpO3JldHVybiBDbWQuZ2V0KCI+PiIpfXJldHVybiBDbWQuZ2V0KCI+Iik7Y2FzZSAxMjM6dGhpcy5uZXh0Q2hhcigpO3JldHVybiBDbWQuZ2V0KCJ7Iik7Y2FzZSAxMjU6dGhpcy5uZXh0Q2hhcigpO3JldHVybiBDbWQuZ2V0KCJ9Iik7Y2FzZSA0MTp0aGlzLm5leHRDaGFyKCk7dGhyb3cgbmV3IEZvcm1hdEVycm9yKGBJbGxlZ2FsIGNoYXJhY3RlcjogJHt0fWApfWxldCBhPVN0cmluZy5mcm9tQ2hhckNvZGUodCk7aWYodDwzMnx8dD4xMjcpe2NvbnN0IGU9dGhpcy5wZWVrQ2hhcigpO2lmKGU+PTMyJiZlPD0xMjcpe3RoaXMubmV4dENoYXIoKTtyZXR1cm4gQ21kLmdldChhKX19Y29uc3Qgcj10aGlzLmtub3duQ29tbWFuZHM7bGV0IGk9dm9pZCAwIT09cj8uW2FdO2Zvcig7KHQ9dGhpcy5uZXh0Q2hhcigpKT49MCYmIVFhW3RdOyl7Y29uc3QgZT1hK1N0cmluZy5mcm9tQ2hhckNvZGUodCk7aWYoaSYmdm9pZCAwPT09cltlXSlicmVhaztpZigxMjg9PT1hLmxlbmd0aCl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYENvbW1hbmQgdG9rZW4gdG9vIGxvbmc6ICR7YS5sZW5ndGh9YCk7YT1lO2k9dm9pZCAwIT09cj8uW2FdfWlmKCJ0cnVlIj09PWEpcmV0dXJuITA7aWYoImZhbHNlIj09PWEpcmV0dXJuITE7aWYoIm51bGwiPT09YSlyZXR1cm4gbnVsbDsiQkkiPT09YSYmKHRoaXMuYmVnaW5JbmxpbmVJbWFnZVBvcz10aGlzLnN0cmVhbS5wb3MpO3JldHVybiBDbWQuZ2V0KGEpfXNraXBUb05leHRMaW5lKCl7bGV0IGU9dGhpcy5jdXJyZW50Q2hhcjtmb3IoO2U+PTA7KXtpZigxMz09PWUpe2U9dGhpcy5uZXh0Q2hhcigpOzEwPT09ZSYmdGhpcy5uZXh0Q2hhcigpO2JyZWFrfWlmKDEwPT09ZSl7dGhpcy5uZXh0Q2hhcigpO2JyZWFrfWU9dGhpcy5uZXh0Q2hhcigpfX19Y2xhc3MgTGluZWFyaXphdGlvbntzdGF0aWMgY3JlYXRlKGUpe2Z1bmN0aW9uIGdldEludChlLHQsYT0hMSl7Y29uc3Qgcj1lLmdldCh0KTtpZihOdW1iZXIuaXNJbnRlZ2VyKHIpJiYoYT9yPj0wOnI+MCkpcmV0dXJuIHI7dGhyb3cgbmV3IEVycm9yKGBUaGUgIiR7dH0iIHBhcmFtZXRlciBpbiB0aGUgbGluZWFyaXphdGlvbiBkaWN0aW9uYXJ5IGlzIGludmFsaWQuYCl9Y29uc3QgdD1uZXcgUGFyc2VyKHtsZXhlcjpuZXcgTGV4ZXIoZSkseHJlZjpudWxsfSksYT10LmdldE9iaigpLHI9dC5nZXRPYmooKSxpPXQuZ2V0T2JqKCksbj10LmdldE9iaigpO2xldCBzLG87aWYoIShOdW1iZXIuaXNJbnRlZ2VyKGEpJiZOdW1iZXIuaXNJbnRlZ2VyKHIpJiZpc0NtZChpLCJvYmoiKSYmbiBpbnN0YW5jZW9mIERpY3QmJiJudW1iZXIiPT10eXBlb2Yocz1uLmdldCgiTGluZWFyaXplZCIpKSYmcz4wKSlyZXR1cm4gbnVsbDtpZigobz1nZXRJbnQobiwiTCIpKSE9PWUubGVuZ3RoKXRocm93IG5ldyBFcnJvcignVGhlICJMIiBwYXJhbWV0ZXIgaW4gdGhlIGxpbmVhcml6YXRpb24gZGljdGlvbmFyeSBkb2VzIG5vdCBlcXVhbCB0aGUgc3RyZWFtIGxlbmd0aC4nKTtyZXR1cm57bGVuZ3RoOm8saGludHM6ZnVuY3Rpb24gZ2V0SGludHMoZSl7Y29uc3QgdD1lLmdldCgiSCIpO2xldCBhO2lmKEFycmF5LmlzQXJyYXkodCkmJigyPT09KGE9dC5sZW5ndGgpfHw0PT09YSkpe2ZvcihsZXQgZT0wO2U8YTtlKyspe2NvbnN0IGE9dFtlXTtpZighKE51bWJlci5pc0ludGVnZXIoYSkmJmE+MCkpdGhyb3cgbmV3IEVycm9yKGBIaW50ICgke2V9KSBpbiB0aGUgbGluZWFyaXphdGlvbiBkaWN0aW9uYXJ5IGlzIGludmFsaWQuYCl9cmV0dXJuIHR9dGhyb3cgbmV3IEVycm9yKCJIaW50IGFycmF5IGluIHRoZSBsaW5lYXJpemF0aW9uIGRpY3Rpb25hcnkgaXMgaW52YWxpZC4iKX0obiksb2JqZWN0TnVtYmVyRmlyc3Q6Z2V0SW50KG4sIk8iKSxlbmRGaXJzdDpnZXRJbnQobiwiRSIpLG51bVBhZ2VzOmdldEludChuLCJOIiksbWFpblhSZWZFbnRyaWVzT2Zmc2V0OmdldEludChuLCJUIikscGFnZUZpcnN0Om4uaGFzKCJQIik/Z2V0SW50KG4sIlAiLCEwKTowfX19Y29uc3QgZXI9WyJBZG9iZS1HQjEtVUNTMiIsIkFkb2JlLUNOUzEtVUNTMiIsIkFkb2JlLUphcGFuMS1VQ1MyIiwiQWRvYmUtS29yZWExLVVDUzIiLCI3OC1FVUMtSCIsIjc4LUVVQy1WIiwiNzgtSCIsIjc4LVJLU0otSCIsIjc4LVJLU0otViIsIjc4LVYiLCI3OG1zLVJLU0otSCIsIjc4bXMtUktTSi1WIiwiODNwdi1SS1NKLUgiLCI5MG1zLVJLU0otSCIsIjkwbXMtUktTSi1WIiwiOTBtc3AtUktTSi1IIiwiOTBtc3AtUktTSi1WIiwiOTBwdi1SS1NKLUgiLCI5MHB2LVJLU0otViIsIkFkZC1IIiwiQWRkLVJLU0otSCIsIkFkZC1SS1NKLVYiLCJBZGQtViIsIkFkb2JlLUNOUzEtMCIsIkFkb2JlLUNOUzEtMSIsIkFkb2JlLUNOUzEtMiIsIkFkb2JlLUNOUzEtMyIsIkFkb2JlLUNOUzEtNCIsIkFkb2JlLUNOUzEtNSIsIkFkb2JlLUNOUzEtNiIsIkFkb2JlLUdCMS0wIiwiQWRvYmUtR0IxLTEiLCJBZG9iZS1HQjEtMiIsIkFkb2JlLUdCMS0zIiwiQWRvYmUtR0IxLTQiLCJBZG9iZS1HQjEtNSIsIkFkb2JlLUphcGFuMS0wIiwiQWRvYmUtSmFwYW4xLTEiLCJBZG9iZS1KYXBhbjEtMiIsIkFkb2JlLUphcGFuMS0zIiwiQWRvYmUtSmFwYW4xLTQiLCJBZG9iZS1KYXBhbjEtNSIsIkFkb2JlLUphcGFuMS02IiwiQWRvYmUtS29yZWExLTAiLCJBZG9iZS1Lb3JlYTEtMSIsIkFkb2JlLUtvcmVhMS0yIiwiQjUtSCIsIkI1LVYiLCJCNXBjLUgiLCJCNXBjLVYiLCJDTlMtRVVDLUgiLCJDTlMtRVVDLVYiLCJDTlMxLUgiLCJDTlMxLVYiLCJDTlMyLUgiLCJDTlMyLVYiLCJFVEhLLUI1LUgiLCJFVEhLLUI1LVYiLCJFVGVuLUI1LUgiLCJFVGVuLUI1LVYiLCJFVGVubXMtQjUtSCIsIkVUZW5tcy1CNS1WIiwiRVVDLUgiLCJFVUMtViIsIkV4dC1IIiwiRXh0LVJLU0otSCIsIkV4dC1SS1NKLVYiLCJFeHQtViIsIkdCLUVVQy1IIiwiR0ItRVVDLVYiLCJHQi1IIiwiR0ItViIsIkdCSy1FVUMtSCIsIkdCSy1FVUMtViIsIkdCSzJLLUgiLCJHQksySy1WIiwiR0JLcC1FVUMtSCIsIkdCS3AtRVVDLVYiLCJHQlQtRVVDLUgiLCJHQlQtRVVDLVYiLCJHQlQtSCIsIkdCVC1WIiwiR0JUcGMtRVVDLUgiLCJHQlRwYy1FVUMtViIsIkdCcGMtRVVDLUgiLCJHQnBjLUVVQy1WIiwiSCIsIkhLZGxhLUI1LUgiLCJIS2RsYS1CNS1WIiwiSEtkbGItQjUtSCIsIkhLZGxiLUI1LVYiLCJIS2djY3MtQjUtSCIsIkhLZ2Njcy1CNS1WIiwiSEttMzE0LUI1LUgiLCJIS20zMTQtQjUtViIsIkhLbTQ3MS1CNS1IIiwiSEttNDcxLUI1LVYiLCJIS3Njcy1CNS1IIiwiSEtzY3MtQjUtViIsIkhhbmtha3UiLCJIaXJhZ2FuYSIsIktTQy1FVUMtSCIsIktTQy1FVUMtViIsIktTQy1IIiwiS1NDLUpvaGFiLUgiLCJLU0MtSm9oYWItViIsIktTQy1WIiwiS1NDbXMtVUhDLUgiLCJLU0Ntcy1VSEMtSFctSCIsIktTQ21zLVVIQy1IVy1WIiwiS1NDbXMtVUhDLVYiLCJLU0NwYy1FVUMtSCIsIktTQ3BjLUVVQy1WIiwiS2F0YWthbmEiLCJOV1AtSCIsIk5XUC1WIiwiUktTSi1IIiwiUktTSi1WIiwiUm9tYW4iLCJVbmlDTlMtVUNTMi1IIiwiVW5pQ05TLVVDUzItViIsIlVuaUNOUy1VVEYxNi1IIiwiVW5pQ05TLVVURjE2LVYiLCJVbmlDTlMtVVRGMzItSCIsIlVuaUNOUy1VVEYzMi1WIiwiVW5pQ05TLVVURjgtSCIsIlVuaUNOUy1VVEY4LVYiLCJVbmlHQi1VQ1MyLUgiLCJVbmlHQi1VQ1MyLVYiLCJVbmlHQi1VVEYxNi1IIiwiVW5pR0ItVVRGMTYtViIsIlVuaUdCLVVURjMyLUgiLCJVbmlHQi1VVEYzMi1WIiwiVW5pR0ItVVRGOC1IIiwiVW5pR0ItVVRGOC1WIiwiVW5pSklTLVVDUzItSCIsIlVuaUpJUy1VQ1MyLUhXLUgiLCJVbmlKSVMtVUNTMi1IVy1WIiwiVW5pSklTLVVDUzItViIsIlVuaUpJUy1VVEYxNi1IIiwiVW5pSklTLVVURjE2LVYiLCJVbmlKSVMtVVRGMzItSCIsIlVuaUpJUy1VVEYzMi1WIiwiVW5pSklTLVVURjgtSCIsIlVuaUpJUy1VVEY4LVYiLCJVbmlKSVMyMDA0LVVURjE2LUgiLCJVbmlKSVMyMDA0LVVURjE2LVYiLCJVbmlKSVMyMDA0LVVURjMyLUgiLCJVbmlKSVMyMDA0LVVURjMyLVYiLCJVbmlKSVMyMDA0LVVURjgtSCIsIlVuaUpJUzIwMDQtVVRGOC1WIiwiVW5pSklTUHJvLVVDUzItSFctViIsIlVuaUpJU1Byby1VQ1MyLVYiLCJVbmlKSVNQcm8tVVRGOC1WIiwiVW5pSklTWDAyMTMtVVRGMzItSCIsIlVuaUpJU1gwMjEzLVVURjMyLVYiLCJVbmlKSVNYMDIxMzIwMDQtVVRGMzItSCIsIlVuaUpJU1gwMjEzMjAwNC1VVEYzMi1WIiwiVW5pS1MtVUNTMi1IIiwiVW5pS1MtVUNTMi1WIiwiVW5pS1MtVVRGMTYtSCIsIlVuaUtTLVVURjE2LVYiLCJVbmlLUy1VVEYzMi1IIiwiVW5pS1MtVVRGMzItViIsIlVuaUtTLVVURjgtSCIsIlVuaUtTLVVURjgtViIsIlYiLCJXUC1TeW1ib2wiXSx0cj0yKioyNC0xO2NsYXNzIENNYXB7Y29uc3RydWN0b3IoZT0hMSl7dGhpcy5jb2Rlc3BhY2VSYW5nZXM9W1tdLFtdLFtdLFtdXTt0aGlzLm51bUNvZGVzcGFjZVJhbmdlcz0wO3RoaXMuX21hcD1bXTt0aGlzLm5hbWU9IiI7dGhpcy52ZXJ0aWNhbD0hMTt0aGlzLnVzZUNNYXA9bnVsbDt0aGlzLmJ1aWx0SW5DTWFwPWV9YWRkQ29kZXNwYWNlUmFuZ2UoZSx0LGEpe3RoaXMuY29kZXNwYWNlUmFuZ2VzW2UtMV0ucHVzaCh0LGEpO3RoaXMubnVtQ29kZXNwYWNlUmFuZ2VzKyt9bWFwQ2lkUmFuZ2UoZSx0LGEpe2lmKHQtZT50cil0aHJvdyBuZXcgRXJyb3IoIm1hcENpZFJhbmdlIC0gaWdub3JpbmcgZGF0YSBhYm92ZSBNQVhfTUFQX1JBTkdFLiIpO2Zvcig7ZTw9dDspdGhpcy5fbWFwW2UrK109YSsrfW1hcEJmUmFuZ2UoZSx0LGEpe2lmKHQtZT50cil0aHJvdyBuZXcgRXJyb3IoIm1hcEJmUmFuZ2UgLSBpZ25vcmluZyBkYXRhIGFib3ZlIE1BWF9NQVBfUkFOR0UuIik7Y29uc3Qgcj1hLmxlbmd0aC0xO2Zvcig7ZTw9dDspe3RoaXMuX21hcFtlKytdPWE7Y29uc3QgdD1hLmNoYXJDb2RlQXQocikrMTt0PjI1NT9hPWEuc3Vic3RyaW5nKDAsci0xKStTdHJpbmcuZnJvbUNoYXJDb2RlKGEuY2hhckNvZGVBdChyLTEpKzEpKyJcMCI6YT1hLnN1YnN0cmluZygwLHIpK1N0cmluZy5mcm9tQ2hhckNvZGUodCl9fW1hcEJmUmFuZ2VUb0FycmF5KGUsdCxhKXtpZih0LWU+dHIpdGhyb3cgbmV3IEVycm9yKCJtYXBCZlJhbmdlVG9BcnJheSAtIGlnbm9yaW5nIGRhdGEgYWJvdmUgTUFYX01BUF9SQU5HRS4iKTtjb25zdCByPWEubGVuZ3RoO2xldCBpPTA7Zm9yKDtlPD10JiZpPHI7KXt0aGlzLl9tYXBbZV09YVtpKytdOysrZX19bWFwT25lKGUsdCl7dGhpcy5fbWFwW2VdPXR9bG9va3VwKGUpe3JldHVybiB0aGlzLl9tYXBbZV19Y29udGFpbnMoZSl7cmV0dXJuIHZvaWQgMCE9PXRoaXMuX21hcFtlXX1mb3JFYWNoKGUpe2NvbnN0IHQ9dGhpcy5fbWFwLGE9dC5sZW5ndGg7aWYoYTw9NjU1MzYpZm9yKGxldCByPTA7cjxhO3IrKyl2b2lkIDAhPT10W3JdJiZlKHIsdFtyXSk7ZWxzZSBmb3IoY29uc3QgYSBpbiB0KWUoYSx0W2FdKX1jaGFyQ29kZU9mKGUpe2NvbnN0IHQ9dGhpcy5fbWFwO2lmKHQubGVuZ3RoPD02NTUzNilyZXR1cm4gdC5pbmRleE9mKGUpO2Zvcihjb25zdCBhIGluIHQpaWYodFthXT09PWUpcmV0dXJuIDB8YTtyZXR1cm4tMX1nZXRNYXAoKXtyZXR1cm4gdGhpcy5fbWFwfXJlYWRDaGFyQ29kZShlLHQsYSl7bGV0IHI9MDtjb25zdCBpPXRoaXMuY29kZXNwYWNlUmFuZ2VzO2ZvcihsZXQgbj0wLHM9aS5sZW5ndGg7bjxzO24rKyl7cj0ocjw8OHxlLmNoYXJDb2RlQXQodCtuKSk+Pj4wO2NvbnN0IHM9aVtuXTtmb3IobGV0IGU9MCx0PXMubGVuZ3RoO2U8dDspe2NvbnN0IHQ9c1tlKytdLGk9c1tlKytdO2lmKHI+PXQmJnI8PWkpe2EuY2hhcmNvZGU9cjthLmxlbmd0aD1uKzE7cmV0dXJufX19YS5jaGFyY29kZT0wO2EubGVuZ3RoPTF9Z2V0Q2hhckNvZGVMZW5ndGgoZSl7Y29uc3QgdD10aGlzLmNvZGVzcGFjZVJhbmdlcztmb3IobGV0IGE9MCxyPXQubGVuZ3RoO2E8cjthKyspe2NvbnN0IHI9dFthXTtmb3IobGV0IHQ9MCxpPXIubGVuZ3RoO3Q8aTspe2NvbnN0IGk9clt0KytdLG49clt0KytdO2lmKGU+PWkmJmU8PW4pcmV0dXJuIGErMX19cmV0dXJuIDF9Z2V0IGxlbmd0aCgpe3JldHVybiB0aGlzLl9tYXAubGVuZ3RofWdldCBpc0lkZW50aXR5Q01hcCgpe2lmKCJJZGVudGl0eS1IIiE9PXRoaXMubmFtZSYmIklkZW50aXR5LVYiIT09dGhpcy5uYW1lKXJldHVybiExO2lmKDY1NTM2IT09dGhpcy5fbWFwLmxlbmd0aClyZXR1cm4hMTtmb3IobGV0IGU9MDtlPDY1NTM2O2UrKylpZih0aGlzLl9tYXBbZV0hPT1lKXJldHVybiExO3JldHVybiEwfX1jbGFzcyBJZGVudGl0eUNNYXAgZXh0ZW5kcyBDTWFwe2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoKTt0aGlzLnZlcnRpY2FsPWU7dGhpcy5hZGRDb2Rlc3BhY2VSYW5nZSh0LDAsNjU1MzUpfW1hcENpZFJhbmdlKGUsdCxhKXt1bnJlYWNoYWJsZSgic2hvdWxkIG5vdCBjYWxsIG1hcENpZFJhbmdlIil9bWFwQmZSYW5nZShlLHQsYSl7dW5yZWFjaGFibGUoInNob3VsZCBub3QgY2FsbCBtYXBCZlJhbmdlIil9bWFwQmZSYW5nZVRvQXJyYXkoZSx0LGEpe3VucmVhY2hhYmxlKCJzaG91bGQgbm90IGNhbGwgbWFwQmZSYW5nZVRvQXJyYXkiKX1tYXBPbmUoZSx0KXt1bnJlYWNoYWJsZSgic2hvdWxkIG5vdCBjYWxsIG1hcENpZE9uZSIpfWxvb2t1cChlKXtyZXR1cm4gTnVtYmVyLmlzSW50ZWdlcihlKSYmZTw9NjU1MzU/ZTp2b2lkIDB9Y29udGFpbnMoZSl7cmV0dXJuIE51bWJlci5pc0ludGVnZXIoZSkmJmU8PTY1NTM1fWZvckVhY2goZSl7Zm9yKGxldCB0PTA7dDw9NjU1MzU7dCsrKWUodCx0KX1jaGFyQ29kZU9mKGUpe3JldHVybiBOdW1iZXIuaXNJbnRlZ2VyKGUpJiZlPD02NTUzNT9lOi0xfWdldE1hcCgpe2NvbnN0IGU9bmV3IEFycmF5KDY1NTM2KTtmb3IobGV0IHQ9MDt0PD02NTUzNTt0KyspZVt0XT10O3JldHVybiBlfWdldCBsZW5ndGgoKXtyZXR1cm4gNjU1MzZ9Z2V0IGlzSWRlbnRpdHlDTWFwKCl7dW5yZWFjaGFibGUoInNob3VsZCBub3QgYWNjZXNzIC5pc0lkZW50aXR5Q01hcCIpfX1mdW5jdGlvbiBzdHJUb0ludChlKXtsZXQgdD0wO2ZvcihsZXQgYT0wO2E8ZS5sZW5ndGg7YSsrKXQ9dDw8OHxlLmNoYXJDb2RlQXQoYSk7cmV0dXJuIHQ+Pj4wfWZ1bmN0aW9uIGV4cGVjdFN0cmluZyhlKXtpZigic3RyaW5nIiE9dHlwZW9mIGUpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJNYWxmb3JtZWQgQ01hcDogZXhwZWN0ZWQgc3RyaW5nLiIpfWZ1bmN0aW9uIGV4cGVjdEludChlKXtpZighTnVtYmVyLmlzSW50ZWdlcihlKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIk1hbGZvcm1lZCBDTWFwOiBleHBlY3RlZCBpbnQuIil9ZnVuY3Rpb24gcGFyc2VCZkNoYXIoZSx0KXtmb3IoOzspe2xldCBhPXQuZ2V0T2JqKCk7aWYoYT09PWFhKWJyZWFrO2lmKGlzQ21kKGEsImVuZGJmY2hhciIpKXJldHVybjtleHBlY3RTdHJpbmcoYSk7Y29uc3Qgcj1zdHJUb0ludChhKTthPXQuZ2V0T2JqKCk7ZXhwZWN0U3RyaW5nKGEpO2NvbnN0IGk9YTtlLm1hcE9uZShyLGkpfX1mdW5jdGlvbiBwYXJzZUJmUmFuZ2UoZSx0KXtmb3IoOzspe2xldCBhPXQuZ2V0T2JqKCk7aWYoYT09PWFhKWJyZWFrO2lmKGlzQ21kKGEsImVuZGJmcmFuZ2UiKSlyZXR1cm47ZXhwZWN0U3RyaW5nKGEpO2NvbnN0IHI9c3RyVG9JbnQoYSk7YT10LmdldE9iaigpO2V4cGVjdFN0cmluZyhhKTtjb25zdCBpPXN0clRvSW50KGEpO2E9dC5nZXRPYmooKTtpZihOdW1iZXIuaXNJbnRlZ2VyKGEpfHwic3RyaW5nIj09dHlwZW9mIGEpe2NvbnN0IHQ9TnVtYmVyLmlzSW50ZWdlcihhKT9TdHJpbmcuZnJvbUNoYXJDb2RlKGEpOmE7ZS5tYXBCZlJhbmdlKHIsaSx0KX1lbHNle2lmKCFpc0NtZChhLCJbIikpYnJlYWs7e2E9dC5nZXRPYmooKTtjb25zdCBuPVtdO2Zvcig7IWlzQ21kKGEsIl0iKSYmYSE9PWFhOyl7bi5wdXNoKGEpO2E9dC5nZXRPYmooKX1lLm1hcEJmUmFuZ2VUb0FycmF5KHIsaSxuKX19fXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCBiZiByYW5nZS4iKX1mdW5jdGlvbiBwYXJzZUNpZENoYXIoZSx0KXtmb3IoOzspe2xldCBhPXQuZ2V0T2JqKCk7aWYoYT09PWFhKWJyZWFrO2lmKGlzQ21kKGEsImVuZGNpZGNoYXIiKSlyZXR1cm47ZXhwZWN0U3RyaW5nKGEpO2NvbnN0IHI9c3RyVG9JbnQoYSk7YT10LmdldE9iaigpO2V4cGVjdEludChhKTtjb25zdCBpPWE7ZS5tYXBPbmUocixpKX19ZnVuY3Rpb24gcGFyc2VDaWRSYW5nZShlLHQpe2Zvcig7Oyl7bGV0IGE9dC5nZXRPYmooKTtpZihhPT09YWEpYnJlYWs7aWYoaXNDbWQoYSwiZW5kY2lkcmFuZ2UiKSlyZXR1cm47ZXhwZWN0U3RyaW5nKGEpO2NvbnN0IHI9c3RyVG9JbnQoYSk7YT10LmdldE9iaigpO2V4cGVjdFN0cmluZyhhKTtjb25zdCBpPXN0clRvSW50KGEpO2E9dC5nZXRPYmooKTtleHBlY3RJbnQoYSk7Y29uc3Qgbj1hO2UubWFwQ2lkUmFuZ2UocixpLG4pfX1mdW5jdGlvbiBwYXJzZUNvZGVzcGFjZVJhbmdlKGUsdCl7Zm9yKDs7KXtsZXQgYT10LmdldE9iaigpO2lmKGE9PT1hYSlicmVhaztpZihpc0NtZChhLCJlbmRjb2Rlc3BhY2VyYW5nZSIpKXJldHVybjtpZigic3RyaW5nIiE9dHlwZW9mIGEpYnJlYWs7Y29uc3Qgcj1zdHJUb0ludChhKTthPXQuZ2V0T2JqKCk7aWYoInN0cmluZyIhPXR5cGVvZiBhKWJyZWFrO2NvbnN0IGk9c3RyVG9JbnQoYSk7ZS5hZGRDb2Rlc3BhY2VSYW5nZShhLmxlbmd0aCxyLGkpfXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCBjb2Rlc3BhY2UgcmFuZ2UuIil9ZnVuY3Rpb24gcGFyc2VXTW9kZShlLHQpe2NvbnN0IGE9dC5nZXRPYmooKTtOdW1iZXIuaXNJbnRlZ2VyKGEpJiYoZS52ZXJ0aWNhbD0hIWEpfWZ1bmN0aW9uIHBhcnNlQ01hcE5hbWUoZSx0KXtjb25zdCBhPXQuZ2V0T2JqKCk7YSBpbnN0YW5jZW9mIE5hbWUmJihlLm5hbWU9YS5uYW1lKX1hc3luYyBmdW5jdGlvbiBwYXJzZUNNYXAoZSx0LGEscil7bGV0IGksbjtlOmZvcig7Oyl0cnl7Y29uc3QgYT10LmdldE9iaigpO2lmKGE9PT1hYSlicmVhaztpZihhIGluc3RhbmNlb2YgTmFtZSl7IldNb2RlIj09PWEubmFtZT9wYXJzZVdNb2RlKGUsdCk6IkNNYXBOYW1lIj09PWEubmFtZSYmcGFyc2VDTWFwTmFtZShlLHQpO2k9YX1lbHNlIGlmKGEgaW5zdGFuY2VvZiBDbWQpc3dpdGNoKGEuY21kKXtjYXNlImVuZGNtYXAiOmJyZWFrIGU7Y2FzZSJ1c2VjbWFwIjppIGluc3RhbmNlb2YgTmFtZSYmKG49aS5uYW1lKTticmVhaztjYXNlImJlZ2luY29kZXNwYWNlcmFuZ2UiOnBhcnNlQ29kZXNwYWNlUmFuZ2UoZSx0KTticmVhaztjYXNlImJlZ2luYmZjaGFyIjpwYXJzZUJmQ2hhcihlLHQpO2JyZWFrO2Nhc2UiYmVnaW5jaWRjaGFyIjpwYXJzZUNpZENoYXIoZSx0KTticmVhaztjYXNlImJlZ2luYmZyYW5nZSI6cGFyc2VCZlJhbmdlKGUsdCk7YnJlYWs7Y2FzZSJiZWdpbmNpZHJhbmdlIjpwYXJzZUNpZFJhbmdlKGUsdCl9fWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZiBNaXNzaW5nRGF0YUV4Y2VwdGlvbil0aHJvdyBlO3dhcm4oIkludmFsaWQgY01hcCBkYXRhOiAiK2UpO2NvbnRpbnVlfSFyJiZuJiYocj1uKTtyZXR1cm4gcj9leHRlbmRDTWFwKGUsYSxyKTplfWFzeW5jIGZ1bmN0aW9uIGV4dGVuZENNYXAoZSx0LGEpe2UudXNlQ01hcD1hd2FpdCBjcmVhdGVCdWlsdEluQ01hcChhLHQpO2lmKDA9PT1lLm51bUNvZGVzcGFjZVJhbmdlcyl7Y29uc3QgdD1lLnVzZUNNYXAuY29kZXNwYWNlUmFuZ2VzO2ZvcihsZXQgYT0wO2E8dC5sZW5ndGg7YSsrKWUuY29kZXNwYWNlUmFuZ2VzW2FdPXRbYV0uc2xpY2UoKTtlLm51bUNvZGVzcGFjZVJhbmdlcz1lLnVzZUNNYXAubnVtQ29kZXNwYWNlUmFuZ2VzfWUudXNlQ01hcC5mb3JFYWNoKChmdW5jdGlvbih0LGEpe2UuY29udGFpbnModCl8fGUubWFwT25lKHQsYSl9KSk7cmV0dXJuIGV9YXN5bmMgZnVuY3Rpb24gY3JlYXRlQnVpbHRJbkNNYXAoZSx0KXtpZigiSWRlbnRpdHktSCI9PT1lKXJldHVybiBuZXcgSWRlbnRpdHlDTWFwKCExLDIpO2lmKCJJZGVudGl0eS1WIj09PWUpcmV0dXJuIG5ldyBJZGVudGl0eUNNYXAoITAsMik7aWYoIWVyLmluY2x1ZGVzKGUpKXRocm93IG5ldyBFcnJvcigiVW5rbm93biBDTWFwIG5hbWU6ICIrZSk7aWYoIXQpdGhyb3cgbmV3IEVycm9yKCJCdWlsdC1pbiBDTWFwIHBhcmFtZXRlcnMgYXJlIG5vdCBwcm92aWRlZC4iKTtjb25zdHtjTWFwRGF0YTphLGlzQ29tcHJlc3NlZDpyfT1hd2FpdCB0KGUpLGk9bmV3IENNYXAoITApO2lmKHIpcmV0dXJuKG5ldyBCaW5hcnlDTWFwUmVhZGVyKS5wcm9jZXNzKGEsaSwoZT0+ZXh0ZW5kQ01hcChpLHQsZSkpKTtjb25zdCBuPW5ldyBMZXhlcihuZXcgU3RyZWFtKGEpKTtyZXR1cm4gcGFyc2VDTWFwKGksbix0LG51bGwpfWNsYXNzIENNYXBGYWN0b3J5e3N0YXRpYyBhc3luYyBjcmVhdGUoe2VuY29kaW5nOmUsZmV0Y2hCdWlsdEluQ01hcDp0LHVzZUNNYXA6YX0pe2lmKGUgaW5zdGFuY2VvZiBOYW1lKXJldHVybiBjcmVhdGVCdWlsdEluQ01hcChlLm5hbWUsdCk7aWYoZSBpbnN0YW5jZW9mIEJhc2VTdHJlYW0pe2NvbnN0IHI9YXdhaXQgcGFyc2VDTWFwKG5ldyBDTWFwLG5ldyBMZXhlcihlKSx0LGEpO3JldHVybiByLmlzSWRlbnRpdHlDTWFwP2NyZWF0ZUJ1aWx0SW5DTWFwKHIubmFtZSx0KTpyfXRocm93IG5ldyBFcnJvcigiRW5jb2RpbmcgcmVxdWlyZWQuIil9fWNvbnN0IGFyPVsiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwic3BhY2UiLCJleGNsYW1zbWFsbCIsIkh1bmdhcnVtbGF1dHNtYWxsIiwiIiwiZG9sbGFyb2xkc3R5bGUiLCJkb2xsYXJzdXBlcmlvciIsImFtcGVyc2FuZHNtYWxsIiwiQWN1dGVzbWFsbCIsInBhcmVubGVmdHN1cGVyaW9yIiwicGFyZW5yaWdodHN1cGVyaW9yIiwidHdvZG90ZW5sZWFkZXIiLCJvbmVkb3RlbmxlYWRlciIsImNvbW1hIiwiaHlwaGVuIiwicGVyaW9kIiwiZnJhY3Rpb24iLCJ6ZXJvb2xkc3R5bGUiLCJvbmVvbGRzdHlsZSIsInR3b29sZHN0eWxlIiwidGhyZWVvbGRzdHlsZSIsImZvdXJvbGRzdHlsZSIsImZpdmVvbGRzdHlsZSIsInNpeG9sZHN0eWxlIiwic2V2ZW5vbGRzdHlsZSIsImVpZ2h0b2xkc3R5bGUiLCJuaW5lb2xkc3R5bGUiLCJjb2xvbiIsInNlbWljb2xvbiIsImNvbW1hc3VwZXJpb3IiLCJ0aHJlZXF1YXJ0ZXJzZW1kYXNoIiwicGVyaW9kc3VwZXJpb3IiLCJxdWVzdGlvbnNtYWxsIiwiIiwiYXN1cGVyaW9yIiwiYnN1cGVyaW9yIiwiY2VudHN1cGVyaW9yIiwiZHN1cGVyaW9yIiwiZXN1cGVyaW9yIiwiIiwiIiwiIiwiaXN1cGVyaW9yIiwiIiwiIiwibHN1cGVyaW9yIiwibXN1cGVyaW9yIiwibnN1cGVyaW9yIiwib3N1cGVyaW9yIiwiIiwiIiwicnN1cGVyaW9yIiwic3N1cGVyaW9yIiwidHN1cGVyaW9yIiwiIiwiZmYiLCJmaSIsImZsIiwiZmZpIiwiZmZsIiwicGFyZW5sZWZ0aW5mZXJpb3IiLCIiLCJwYXJlbnJpZ2h0aW5mZXJpb3IiLCJDaXJjdW1mbGV4c21hbGwiLCJoeXBoZW5zdXBlcmlvciIsIkdyYXZlc21hbGwiLCJBc21hbGwiLCJCc21hbGwiLCJDc21hbGwiLCJEc21hbGwiLCJFc21hbGwiLCJGc21hbGwiLCJHc21hbGwiLCJIc21hbGwiLCJJc21hbGwiLCJKc21hbGwiLCJLc21hbGwiLCJMc21hbGwiLCJNc21hbGwiLCJOc21hbGwiLCJPc21hbGwiLCJQc21hbGwiLCJRc21hbGwiLCJSc21hbGwiLCJTc21hbGwiLCJUc21hbGwiLCJVc21hbGwiLCJWc21hbGwiLCJXc21hbGwiLCJYc21hbGwiLCJZc21hbGwiLCJac21hbGwiLCJjb2xvbm1vbmV0YXJ5Iiwib25lZml0dGVkIiwicnVwaWFoIiwiVGlsZGVzbWFsbCIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsImV4Y2xhbWRvd25zbWFsbCIsImNlbnRvbGRzdHlsZSIsIkxzbGFzaHNtYWxsIiwiIiwiIiwiU2Nhcm9uc21hbGwiLCJaY2Fyb25zbWFsbCIsIkRpZXJlc2lzc21hbGwiLCJCcmV2ZXNtYWxsIiwiQ2Fyb25zbWFsbCIsIiIsIkRvdGFjY2VudHNtYWxsIiwiIiwiIiwiTWFjcm9uc21hbGwiLCIiLCIiLCJmaWd1cmVkYXNoIiwiaHlwaGVuaW5mZXJpb3IiLCIiLCIiLCJPZ29uZWtzbWFsbCIsIlJpbmdzbWFsbCIsIkNlZGlsbGFzbWFsbCIsIiIsIiIsIiIsIm9uZXF1YXJ0ZXIiLCJvbmVoYWxmIiwidGhyZWVxdWFydGVycyIsInF1ZXN0aW9uZG93bnNtYWxsIiwib25lZWlnaHRoIiwidGhyZWVlaWdodGhzIiwiZml2ZWVpZ2h0aHMiLCJzZXZlbmVpZ2h0aHMiLCJvbmV0aGlyZCIsInR3b3RoaXJkcyIsIiIsIiIsInplcm9zdXBlcmlvciIsIm9uZXN1cGVyaW9yIiwidHdvc3VwZXJpb3IiLCJ0aHJlZXN1cGVyaW9yIiwiZm91cnN1cGVyaW9yIiwiZml2ZXN1cGVyaW9yIiwic2l4c3VwZXJpb3IiLCJzZXZlbnN1cGVyaW9yIiwiZWlnaHRzdXBlcmlvciIsIm5pbmVzdXBlcmlvciIsInplcm9pbmZlcmlvciIsIm9uZWluZmVyaW9yIiwidHdvaW5mZXJpb3IiLCJ0aHJlZWluZmVyaW9yIiwiZm91cmluZmVyaW9yIiwiZml2ZWluZmVyaW9yIiwic2l4aW5mZXJpb3IiLCJzZXZlbmluZmVyaW9yIiwiZWlnaHRpbmZlcmlvciIsIm5pbmVpbmZlcmlvciIsImNlbnRpbmZlcmlvciIsImRvbGxhcmluZmVyaW9yIiwicGVyaW9kaW5mZXJpb3IiLCJjb21tYWluZmVyaW9yIiwiQWdyYXZlc21hbGwiLCJBYWN1dGVzbWFsbCIsIkFjaXJjdW1mbGV4c21hbGwiLCJBdGlsZGVzbWFsbCIsIkFkaWVyZXNpc3NtYWxsIiwiQXJpbmdzbWFsbCIsIkFFc21hbGwiLCJDY2VkaWxsYXNtYWxsIiwiRWdyYXZlc21hbGwiLCJFYWN1dGVzbWFsbCIsIkVjaXJjdW1mbGV4c21hbGwiLCJFZGllcmVzaXNzbWFsbCIsIklncmF2ZXNtYWxsIiwiSWFjdXRlc21hbGwiLCJJY2lyY3VtZmxleHNtYWxsIiwiSWRpZXJlc2lzc21hbGwiLCJFdGhzbWFsbCIsIk50aWxkZXNtYWxsIiwiT2dyYXZlc21hbGwiLCJPYWN1dGVzbWFsbCIsIk9jaXJjdW1mbGV4c21hbGwiLCJPdGlsZGVzbWFsbCIsIk9kaWVyZXNpc3NtYWxsIiwiT0VzbWFsbCIsIk9zbGFzaHNtYWxsIiwiVWdyYXZlc21hbGwiLCJVYWN1dGVzbWFsbCIsIlVjaXJjdW1mbGV4c21hbGwiLCJVZGllcmVzaXNzbWFsbCIsIllhY3V0ZXNtYWxsIiwiVGhvcm5zbWFsbCIsIllkaWVyZXNpc3NtYWxsIl0scnI9WyIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCJzcGFjZSIsImV4Y2xhbXNtYWxsIiwiSHVuZ2FydW1sYXV0c21hbGwiLCJjZW50b2xkc3R5bGUiLCJkb2xsYXJvbGRzdHlsZSIsImRvbGxhcnN1cGVyaW9yIiwiYW1wZXJzYW5kc21hbGwiLCJBY3V0ZXNtYWxsIiwicGFyZW5sZWZ0c3VwZXJpb3IiLCJwYXJlbnJpZ2h0c3VwZXJpb3IiLCJ0d29kb3RlbmxlYWRlciIsIm9uZWRvdGVubGVhZGVyIiwiY29tbWEiLCJoeXBoZW4iLCJwZXJpb2QiLCJmcmFjdGlvbiIsInplcm9vbGRzdHlsZSIsIm9uZW9sZHN0eWxlIiwidHdvb2xkc3R5bGUiLCJ0aHJlZW9sZHN0eWxlIiwiZm91cm9sZHN0eWxlIiwiZml2ZW9sZHN0eWxlIiwic2l4b2xkc3R5bGUiLCJzZXZlbm9sZHN0eWxlIiwiZWlnaHRvbGRzdHlsZSIsIm5pbmVvbGRzdHlsZSIsImNvbG9uIiwic2VtaWNvbG9uIiwiIiwidGhyZWVxdWFydGVyc2VtZGFzaCIsIiIsInF1ZXN0aW9uc21hbGwiLCIiLCIiLCIiLCIiLCJFdGhzbWFsbCIsIiIsIiIsIm9uZXF1YXJ0ZXIiLCJvbmVoYWxmIiwidGhyZWVxdWFydGVycyIsIm9uZWVpZ2h0aCIsInRocmVlZWlnaHRocyIsImZpdmVlaWdodGhzIiwic2V2ZW5laWdodGhzIiwib25ldGhpcmQiLCJ0d290aGlyZHMiLCIiLCIiLCIiLCIiLCIiLCIiLCJmZiIsImZpIiwiZmwiLCJmZmkiLCJmZmwiLCJwYXJlbmxlZnRpbmZlcmlvciIsIiIsInBhcmVucmlnaHRpbmZlcmlvciIsIkNpcmN1bWZsZXhzbWFsbCIsImh5cGhlbmluZmVyaW9yIiwiR3JhdmVzbWFsbCIsIkFzbWFsbCIsIkJzbWFsbCIsIkNzbWFsbCIsIkRzbWFsbCIsIkVzbWFsbCIsIkZzbWFsbCIsIkdzbWFsbCIsIkhzbWFsbCIsIklzbWFsbCIsIkpzbWFsbCIsIktzbWFsbCIsIkxzbWFsbCIsIk1zbWFsbCIsIk5zbWFsbCIsIk9zbWFsbCIsIlBzbWFsbCIsIlFzbWFsbCIsIlJzbWFsbCIsIlNzbWFsbCIsIlRzbWFsbCIsIlVzbWFsbCIsIlZzbWFsbCIsIldzbWFsbCIsIlhzbWFsbCIsIllzbWFsbCIsIlpzbWFsbCIsImNvbG9ubW9uZXRhcnkiLCJvbmVmaXR0ZWQiLCJydXBpYWgiLCJUaWxkZXNtYWxsIiwiIiwiIiwiYXN1cGVyaW9yIiwiY2VudHN1cGVyaW9yIiwiIiwiIiwiIiwiIiwiQWFjdXRlc21hbGwiLCJBZ3JhdmVzbWFsbCIsIkFjaXJjdW1mbGV4c21hbGwiLCJBZGllcmVzaXNzbWFsbCIsIkF0aWxkZXNtYWxsIiwiQXJpbmdzbWFsbCIsIkNjZWRpbGxhc21hbGwiLCJFYWN1dGVzbWFsbCIsIkVncmF2ZXNtYWxsIiwiRWNpcmN1bWZsZXhzbWFsbCIsIkVkaWVyZXNpc3NtYWxsIiwiSWFjdXRlc21hbGwiLCJJZ3JhdmVzbWFsbCIsIkljaXJjdW1mbGV4c21hbGwiLCJJZGllcmVzaXNzbWFsbCIsIk50aWxkZXNtYWxsIiwiT2FjdXRlc21hbGwiLCJPZ3JhdmVzbWFsbCIsIk9jaXJjdW1mbGV4c21hbGwiLCJPZGllcmVzaXNzbWFsbCIsIk90aWxkZXNtYWxsIiwiVWFjdXRlc21hbGwiLCJVZ3JhdmVzbWFsbCIsIlVjaXJjdW1mbGV4c21hbGwiLCJVZGllcmVzaXNzbWFsbCIsIiIsImVpZ2h0c3VwZXJpb3IiLCJmb3VyaW5mZXJpb3IiLCJ0aHJlZWluZmVyaW9yIiwic2l4aW5mZXJpb3IiLCJlaWdodGluZmVyaW9yIiwic2V2ZW5pbmZlcmlvciIsIlNjYXJvbnNtYWxsIiwiIiwiY2VudGluZmVyaW9yIiwidHdvaW5mZXJpb3IiLCIiLCJEaWVyZXNpc3NtYWxsIiwiIiwiQ2Fyb25zbWFsbCIsIm9zdXBlcmlvciIsImZpdmVpbmZlcmlvciIsIiIsImNvbW1haW5mZXJpb3IiLCJwZXJpb2RpbmZlcmlvciIsIllhY3V0ZXNtYWxsIiwiIiwiZG9sbGFyaW5mZXJpb3IiLCIiLCIiLCJUaG9ybnNtYWxsIiwiIiwibmluZWluZmVyaW9yIiwiemVyb2luZmVyaW9yIiwiWmNhcm9uc21hbGwiLCJBRXNtYWxsIiwiT3NsYXNoc21hbGwiLCJxdWVzdGlvbmRvd25zbWFsbCIsIm9uZWluZmVyaW9yIiwiTHNsYXNoc21hbGwiLCIiLCIiLCIiLCIiLCIiLCIiLCJDZWRpbGxhc21hbGwiLCIiLCIiLCIiLCIiLCIiLCJPRXNtYWxsIiwiZmlndXJlZGFzaCIsImh5cGhlbnN1cGVyaW9yIiwiIiwiIiwiIiwiIiwiZXhjbGFtZG93bnNtYWxsIiwiIiwiWWRpZXJlc2lzc21hbGwiLCIiLCJvbmVzdXBlcmlvciIsInR3b3N1cGVyaW9yIiwidGhyZWVzdXBlcmlvciIsImZvdXJzdXBlcmlvciIsImZpdmVzdXBlcmlvciIsInNpeHN1cGVyaW9yIiwic2V2ZW5zdXBlcmlvciIsIm5pbmVzdXBlcmlvciIsInplcm9zdXBlcmlvciIsIiIsImVzdXBlcmlvciIsInJzdXBlcmlvciIsInRzdXBlcmlvciIsIiIsIiIsImlzdXBlcmlvciIsInNzdXBlcmlvciIsImRzdXBlcmlvciIsIiIsIiIsIiIsIiIsIiIsImxzdXBlcmlvciIsIk9nb25la3NtYWxsIiwiQnJldmVzbWFsbCIsIk1hY3JvbnNtYWxsIiwiYnN1cGVyaW9yIiwibnN1cGVyaW9yIiwibXN1cGVyaW9yIiwiY29tbWFzdXBlcmlvciIsInBlcmlvZHN1cGVyaW9yIiwiRG90YWNjZW50c21hbGwiLCJSaW5nc21hbGwiLCIiLCIiLCIiLCIiXSxpcj1bIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsInNwYWNlIiwiZXhjbGFtIiwicXVvdGVkYmwiLCJudW1iZXJzaWduIiwiZG9sbGFyIiwicGVyY2VudCIsImFtcGVyc2FuZCIsInF1b3Rlc2luZ2xlIiwicGFyZW5sZWZ0IiwicGFyZW5yaWdodCIsImFzdGVyaXNrIiwicGx1cyIsImNvbW1hIiwiaHlwaGVuIiwicGVyaW9kIiwic2xhc2giLCJ6ZXJvIiwib25lIiwidHdvIiwidGhyZWUiLCJmb3VyIiwiZml2ZSIsInNpeCIsInNldmVuIiwiZWlnaHQiLCJuaW5lIiwiY29sb24iLCJzZW1pY29sb24iLCJsZXNzIiwiZXF1YWwiLCJncmVhdGVyIiwicXVlc3Rpb24iLCJhdCIsIkEiLCJCIiwiQyIsIkQiLCJFIiwiRiIsIkciLCJIIiwiSSIsIkoiLCJLIiwiTCIsIk0iLCJOIiwiTyIsIlAiLCJRIiwiUiIsIlMiLCJUIiwiVSIsIlYiLCJXIiwiWCIsIlkiLCJaIiwiYnJhY2tldGxlZnQiLCJiYWNrc2xhc2giLCJicmFja2V0cmlnaHQiLCJhc2NpaWNpcmN1bSIsInVuZGVyc2NvcmUiLCJncmF2ZSIsImEiLCJiIiwiYyIsImQiLCJlIiwiZiIsImciLCJoIiwiaSIsImoiLCJrIiwibCIsIm0iLCJuIiwibyIsInAiLCJxIiwiciIsInMiLCJ0IiwidSIsInYiLCJ3IiwieCIsInkiLCJ6IiwiYnJhY2VsZWZ0IiwiYmFyIiwiYnJhY2VyaWdodCIsImFzY2lpdGlsZGUiLCIiLCJBZGllcmVzaXMiLCJBcmluZyIsIkNjZWRpbGxhIiwiRWFjdXRlIiwiTnRpbGRlIiwiT2RpZXJlc2lzIiwiVWRpZXJlc2lzIiwiYWFjdXRlIiwiYWdyYXZlIiwiYWNpcmN1bWZsZXgiLCJhZGllcmVzaXMiLCJhdGlsZGUiLCJhcmluZyIsImNjZWRpbGxhIiwiZWFjdXRlIiwiZWdyYXZlIiwiZWNpcmN1bWZsZXgiLCJlZGllcmVzaXMiLCJpYWN1dGUiLCJpZ3JhdmUiLCJpY2lyY3VtZmxleCIsImlkaWVyZXNpcyIsIm50aWxkZSIsIm9hY3V0ZSIsIm9ncmF2ZSIsIm9jaXJjdW1mbGV4Iiwib2RpZXJlc2lzIiwib3RpbGRlIiwidWFjdXRlIiwidWdyYXZlIiwidWNpcmN1bWZsZXgiLCJ1ZGllcmVzaXMiLCJkYWdnZXIiLCJkZWdyZWUiLCJjZW50Iiwic3RlcmxpbmciLCJzZWN0aW9uIiwiYnVsbGV0IiwicGFyYWdyYXBoIiwiZ2VybWFuZGJscyIsInJlZ2lzdGVyZWQiLCJjb3B5cmlnaHQiLCJ0cmFkZW1hcmsiLCJhY3V0ZSIsImRpZXJlc2lzIiwibm90ZXF1YWwiLCJBRSIsIk9zbGFzaCIsImluZmluaXR5IiwicGx1c21pbnVzIiwibGVzc2VxdWFsIiwiZ3JlYXRlcmVxdWFsIiwieWVuIiwibXUiLCJwYXJ0aWFsZGlmZiIsInN1bW1hdGlvbiIsInByb2R1Y3QiLCJwaSIsImludGVncmFsIiwib3JkZmVtaW5pbmUiLCJvcmRtYXNjdWxpbmUiLCJPbWVnYSIsImFlIiwib3NsYXNoIiwicXVlc3Rpb25kb3duIiwiZXhjbGFtZG93biIsImxvZ2ljYWxub3QiLCJyYWRpY2FsIiwiZmxvcmluIiwiYXBwcm94ZXF1YWwiLCJEZWx0YSIsImd1aWxsZW1vdGxlZnQiLCJndWlsbGVtb3RyaWdodCIsImVsbGlwc2lzIiwic3BhY2UiLCJBZ3JhdmUiLCJBdGlsZGUiLCJPdGlsZGUiLCJPRSIsIm9lIiwiZW5kYXNoIiwiZW1kYXNoIiwicXVvdGVkYmxsZWZ0IiwicXVvdGVkYmxyaWdodCIsInF1b3RlbGVmdCIsInF1b3RlcmlnaHQiLCJkaXZpZGUiLCJsb3plbmdlIiwieWRpZXJlc2lzIiwiWWRpZXJlc2lzIiwiZnJhY3Rpb24iLCJjdXJyZW5jeSIsImd1aWxzaW5nbGxlZnQiLCJndWlsc2luZ2xyaWdodCIsImZpIiwiZmwiLCJkYWdnZXJkYmwiLCJwZXJpb2RjZW50ZXJlZCIsInF1b3Rlc2luZ2xiYXNlIiwicXVvdGVkYmxiYXNlIiwicGVydGhvdXNhbmQiLCJBY2lyY3VtZmxleCIsIkVjaXJjdW1mbGV4IiwiQWFjdXRlIiwiRWRpZXJlc2lzIiwiRWdyYXZlIiwiSWFjdXRlIiwiSWNpcmN1bWZsZXgiLCJJZGllcmVzaXMiLCJJZ3JhdmUiLCJPYWN1dGUiLCJPY2lyY3VtZmxleCIsImFwcGxlIiwiT2dyYXZlIiwiVWFjdXRlIiwiVWNpcmN1bWZsZXgiLCJVZ3JhdmUiLCJkb3RsZXNzaSIsImNpcmN1bWZsZXgiLCJ0aWxkZSIsIm1hY3JvbiIsImJyZXZlIiwiZG90YWNjZW50IiwicmluZyIsImNlZGlsbGEiLCJodW5nYXJ1bWxhdXQiLCJvZ29uZWsiLCJjYXJvbiJdLG5yPVsiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwic3BhY2UiLCJleGNsYW0iLCJxdW90ZWRibCIsIm51bWJlcnNpZ24iLCJkb2xsYXIiLCJwZXJjZW50IiwiYW1wZXJzYW5kIiwicXVvdGVyaWdodCIsInBhcmVubGVmdCIsInBhcmVucmlnaHQiLCJhc3RlcmlzayIsInBsdXMiLCJjb21tYSIsImh5cGhlbiIsInBlcmlvZCIsInNsYXNoIiwiemVybyIsIm9uZSIsInR3byIsInRocmVlIiwiZm91ciIsImZpdmUiLCJzaXgiLCJzZXZlbiIsImVpZ2h0IiwibmluZSIsImNvbG9uIiwic2VtaWNvbG9uIiwibGVzcyIsImVxdWFsIiwiZ3JlYXRlciIsInF1ZXN0aW9uIiwiYXQiLCJBIiwiQiIsIkMiLCJEIiwiRSIsIkYiLCJHIiwiSCIsIkkiLCJKIiwiSyIsIkwiLCJNIiwiTiIsIk8iLCJQIiwiUSIsIlIiLCJTIiwiVCIsIlUiLCJWIiwiVyIsIlgiLCJZIiwiWiIsImJyYWNrZXRsZWZ0IiwiYmFja3NsYXNoIiwiYnJhY2tldHJpZ2h0IiwiYXNjaWljaXJjdW0iLCJ1bmRlcnNjb3JlIiwicXVvdGVsZWZ0IiwiYSIsImIiLCJjIiwiZCIsImUiLCJmIiwiZyIsImgiLCJpIiwiaiIsImsiLCJsIiwibSIsIm4iLCJvIiwicCIsInEiLCJyIiwicyIsInQiLCJ1IiwidiIsInciLCJ4IiwieSIsInoiLCJicmFjZWxlZnQiLCJiYXIiLCJicmFjZXJpZ2h0IiwiYXNjaWl0aWxkZSIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsImV4Y2xhbWRvd24iLCJjZW50Iiwic3RlcmxpbmciLCJmcmFjdGlvbiIsInllbiIsImZsb3JpbiIsInNlY3Rpb24iLCJjdXJyZW5jeSIsInF1b3Rlc2luZ2xlIiwicXVvdGVkYmxsZWZ0IiwiZ3VpbGxlbW90bGVmdCIsImd1aWxzaW5nbGxlZnQiLCJndWlsc2luZ2xyaWdodCIsImZpIiwiZmwiLCIiLCJlbmRhc2giLCJkYWdnZXIiLCJkYWdnZXJkYmwiLCJwZXJpb2RjZW50ZXJlZCIsIiIsInBhcmFncmFwaCIsImJ1bGxldCIsInF1b3Rlc2luZ2xiYXNlIiwicXVvdGVkYmxiYXNlIiwicXVvdGVkYmxyaWdodCIsImd1aWxsZW1vdHJpZ2h0IiwiZWxsaXBzaXMiLCJwZXJ0aG91c2FuZCIsIiIsInF1ZXN0aW9uZG93biIsIiIsImdyYXZlIiwiYWN1dGUiLCJjaXJjdW1mbGV4IiwidGlsZGUiLCJtYWNyb24iLCJicmV2ZSIsImRvdGFjY2VudCIsImRpZXJlc2lzIiwiIiwicmluZyIsImNlZGlsbGEiLCIiLCJodW5nYXJ1bWxhdXQiLCJvZ29uZWsiLCJjYXJvbiIsImVtZGFzaCIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIkFFIiwiIiwib3JkZmVtaW5pbmUiLCIiLCIiLCIiLCIiLCJMc2xhc2giLCJPc2xhc2giLCJPRSIsIm9yZG1hc2N1bGluZSIsIiIsIiIsIiIsIiIsIiIsImFlIiwiIiwiIiwiIiwiZG90bGVzc2kiLCIiLCIiLCJsc2xhc2giLCJvc2xhc2giLCJvZSIsImdlcm1hbmRibHMiLCIiLCIiLCIiLCIiXSxzcj1bIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsInNwYWNlIiwiZXhjbGFtIiwicXVvdGVkYmwiLCJudW1iZXJzaWduIiwiZG9sbGFyIiwicGVyY2VudCIsImFtcGVyc2FuZCIsInF1b3Rlc2luZ2xlIiwicGFyZW5sZWZ0IiwicGFyZW5yaWdodCIsImFzdGVyaXNrIiwicGx1cyIsImNvbW1hIiwiaHlwaGVuIiwicGVyaW9kIiwic2xhc2giLCJ6ZXJvIiwib25lIiwidHdvIiwidGhyZWUiLCJmb3VyIiwiZml2ZSIsInNpeCIsInNldmVuIiwiZWlnaHQiLCJuaW5lIiwiY29sb24iLCJzZW1pY29sb24iLCJsZXNzIiwiZXF1YWwiLCJncmVhdGVyIiwicXVlc3Rpb24iLCJhdCIsIkEiLCJCIiwiQyIsIkQiLCJFIiwiRiIsIkciLCJIIiwiSSIsIkoiLCJLIiwiTCIsIk0iLCJOIiwiTyIsIlAiLCJRIiwiUiIsIlMiLCJUIiwiVSIsIlYiLCJXIiwiWCIsIlkiLCJaIiwiYnJhY2tldGxlZnQiLCJiYWNrc2xhc2giLCJicmFja2V0cmlnaHQiLCJhc2NpaWNpcmN1bSIsInVuZGVyc2NvcmUiLCJncmF2ZSIsImEiLCJiIiwiYyIsImQiLCJlIiwiZiIsImciLCJoIiwiaSIsImoiLCJrIiwibCIsIm0iLCJuIiwibyIsInAiLCJxIiwiciIsInMiLCJ0IiwidSIsInYiLCJ3IiwieCIsInkiLCJ6IiwiYnJhY2VsZWZ0IiwiYmFyIiwiYnJhY2VyaWdodCIsImFzY2lpdGlsZGUiLCJidWxsZXQiLCJFdXJvIiwiYnVsbGV0IiwicXVvdGVzaW5nbGJhc2UiLCJmbG9yaW4iLCJxdW90ZWRibGJhc2UiLCJlbGxpcHNpcyIsImRhZ2dlciIsImRhZ2dlcmRibCIsImNpcmN1bWZsZXgiLCJwZXJ0aG91c2FuZCIsIlNjYXJvbiIsImd1aWxzaW5nbGxlZnQiLCJPRSIsImJ1bGxldCIsIlpjYXJvbiIsImJ1bGxldCIsImJ1bGxldCIsInF1b3RlbGVmdCIsInF1b3RlcmlnaHQiLCJxdW90ZWRibGxlZnQiLCJxdW90ZWRibHJpZ2h0IiwiYnVsbGV0IiwiZW5kYXNoIiwiZW1kYXNoIiwidGlsZGUiLCJ0cmFkZW1hcmsiLCJzY2Fyb24iLCJndWlsc2luZ2xyaWdodCIsIm9lIiwiYnVsbGV0IiwiemNhcm9uIiwiWWRpZXJlc2lzIiwic3BhY2UiLCJleGNsYW1kb3duIiwiY2VudCIsInN0ZXJsaW5nIiwiY3VycmVuY3kiLCJ5ZW4iLCJicm9rZW5iYXIiLCJzZWN0aW9uIiwiZGllcmVzaXMiLCJjb3B5cmlnaHQiLCJvcmRmZW1pbmluZSIsImd1aWxsZW1vdGxlZnQiLCJsb2dpY2Fsbm90IiwiaHlwaGVuIiwicmVnaXN0ZXJlZCIsIm1hY3JvbiIsImRlZ3JlZSIsInBsdXNtaW51cyIsInR3b3N1cGVyaW9yIiwidGhyZWVzdXBlcmlvciIsImFjdXRlIiwibXUiLCJwYXJhZ3JhcGgiLCJwZXJpb2RjZW50ZXJlZCIsImNlZGlsbGEiLCJvbmVzdXBlcmlvciIsIm9yZG1hc2N1bGluZSIsImd1aWxsZW1vdHJpZ2h0Iiwib25lcXVhcnRlciIsIm9uZWhhbGYiLCJ0aHJlZXF1YXJ0ZXJzIiwicXVlc3Rpb25kb3duIiwiQWdyYXZlIiwiQWFjdXRlIiwiQWNpcmN1bWZsZXgiLCJBdGlsZGUiLCJBZGllcmVzaXMiLCJBcmluZyIsIkFFIiwiQ2NlZGlsbGEiLCJFZ3JhdmUiLCJFYWN1dGUiLCJFY2lyY3VtZmxleCIsIkVkaWVyZXNpcyIsIklncmF2ZSIsIklhY3V0ZSIsIkljaXJjdW1mbGV4IiwiSWRpZXJlc2lzIiwiRXRoIiwiTnRpbGRlIiwiT2dyYXZlIiwiT2FjdXRlIiwiT2NpcmN1bWZsZXgiLCJPdGlsZGUiLCJPZGllcmVzaXMiLCJtdWx0aXBseSIsIk9zbGFzaCIsIlVncmF2ZSIsIlVhY3V0ZSIsIlVjaXJjdW1mbGV4IiwiVWRpZXJlc2lzIiwiWWFjdXRlIiwiVGhvcm4iLCJnZXJtYW5kYmxzIiwiYWdyYXZlIiwiYWFjdXRlIiwiYWNpcmN1bWZsZXgiLCJhdGlsZGUiLCJhZGllcmVzaXMiLCJhcmluZyIsImFlIiwiY2NlZGlsbGEiLCJlZ3JhdmUiLCJlYWN1dGUiLCJlY2lyY3VtZmxleCIsImVkaWVyZXNpcyIsImlncmF2ZSIsImlhY3V0ZSIsImljaXJjdW1mbGV4IiwiaWRpZXJlc2lzIiwiZXRoIiwibnRpbGRlIiwib2dyYXZlIiwib2FjdXRlIiwib2NpcmN1bWZsZXgiLCJvdGlsZGUiLCJvZGllcmVzaXMiLCJkaXZpZGUiLCJvc2xhc2giLCJ1Z3JhdmUiLCJ1YWN1dGUiLCJ1Y2lyY3VtZmxleCIsInVkaWVyZXNpcyIsInlhY3V0ZSIsInRob3JuIiwieWRpZXJlc2lzIl0sb3I9WyIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCJzcGFjZSIsImV4Y2xhbSIsInVuaXZlcnNhbCIsIm51bWJlcnNpZ24iLCJleGlzdGVudGlhbCIsInBlcmNlbnQiLCJhbXBlcnNhbmQiLCJzdWNodGhhdCIsInBhcmVubGVmdCIsInBhcmVucmlnaHQiLCJhc3Rlcmlza21hdGgiLCJwbHVzIiwiY29tbWEiLCJtaW51cyIsInBlcmlvZCIsInNsYXNoIiwiemVybyIsIm9uZSIsInR3byIsInRocmVlIiwiZm91ciIsImZpdmUiLCJzaXgiLCJzZXZlbiIsImVpZ2h0IiwibmluZSIsImNvbG9uIiwic2VtaWNvbG9uIiwibGVzcyIsImVxdWFsIiwiZ3JlYXRlciIsInF1ZXN0aW9uIiwiY29uZ3J1ZW50IiwiQWxwaGEiLCJCZXRhIiwiQ2hpIiwiRGVsdGEiLCJFcHNpbG9uIiwiUGhpIiwiR2FtbWEiLCJFdGEiLCJJb3RhIiwidGhldGExIiwiS2FwcGEiLCJMYW1iZGEiLCJNdSIsIk51IiwiT21pY3JvbiIsIlBpIiwiVGhldGEiLCJSaG8iLCJTaWdtYSIsIlRhdSIsIlVwc2lsb24iLCJzaWdtYTEiLCJPbWVnYSIsIlhpIiwiUHNpIiwiWmV0YSIsImJyYWNrZXRsZWZ0IiwidGhlcmVmb3JlIiwiYnJhY2tldHJpZ2h0IiwicGVycGVuZGljdWxhciIsInVuZGVyc2NvcmUiLCJyYWRpY2FsZXgiLCJhbHBoYSIsImJldGEiLCJjaGkiLCJkZWx0YSIsImVwc2lsb24iLCJwaGkiLCJnYW1tYSIsImV0YSIsImlvdGEiLCJwaGkxIiwia2FwcGEiLCJsYW1iZGEiLCJtdSIsIm51Iiwib21pY3JvbiIsInBpIiwidGhldGEiLCJyaG8iLCJzaWdtYSIsInRhdSIsInVwc2lsb24iLCJvbWVnYTEiLCJvbWVnYSIsInhpIiwicHNpIiwiemV0YSIsImJyYWNlbGVmdCIsImJhciIsImJyYWNlcmlnaHQiLCJzaW1pbGFyIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiRXVybyIsIlVwc2lsb24xIiwibWludXRlIiwibGVzc2VxdWFsIiwiZnJhY3Rpb24iLCJpbmZpbml0eSIsImZsb3JpbiIsImNsdWIiLCJkaWFtb25kIiwiaGVhcnQiLCJzcGFkZSIsImFycm93Ym90aCIsImFycm93bGVmdCIsImFycm93dXAiLCJhcnJvd3JpZ2h0IiwiYXJyb3dkb3duIiwiZGVncmVlIiwicGx1c21pbnVzIiwic2Vjb25kIiwiZ3JlYXRlcmVxdWFsIiwibXVsdGlwbHkiLCJwcm9wb3J0aW9uYWwiLCJwYXJ0aWFsZGlmZiIsImJ1bGxldCIsImRpdmlkZSIsIm5vdGVxdWFsIiwiZXF1aXZhbGVuY2UiLCJhcHByb3hlcXVhbCIsImVsbGlwc2lzIiwiYXJyb3d2ZXJ0ZXgiLCJhcnJvd2hvcml6ZXgiLCJjYXJyaWFnZXJldHVybiIsImFsZXBoIiwiSWZyYWt0dXIiLCJSZnJha3R1ciIsIndlaWVyc3RyYXNzIiwiY2lyY2xlbXVsdGlwbHkiLCJjaXJjbGVwbHVzIiwiZW1wdHlzZXQiLCJpbnRlcnNlY3Rpb24iLCJ1bmlvbiIsInByb3BlcnN1cGVyc2V0IiwicmVmbGV4c3VwZXJzZXQiLCJub3RzdWJzZXQiLCJwcm9wZXJzdWJzZXQiLCJyZWZsZXhzdWJzZXQiLCJlbGVtZW50Iiwibm90ZWxlbWVudCIsImFuZ2xlIiwiZ3JhZGllbnQiLCJyZWdpc3RlcnNlcmlmIiwiY29weXJpZ2h0c2VyaWYiLCJ0cmFkZW1hcmtzZXJpZiIsInByb2R1Y3QiLCJyYWRpY2FsIiwiZG90bWF0aCIsImxvZ2ljYWxub3QiLCJsb2dpY2FsYW5kIiwibG9naWNhbG9yIiwiYXJyb3dkYmxib3RoIiwiYXJyb3dkYmxsZWZ0IiwiYXJyb3dkYmx1cCIsImFycm93ZGJscmlnaHQiLCJhcnJvd2RibGRvd24iLCJsb3plbmdlIiwiYW5nbGVsZWZ0IiwicmVnaXN0ZXJzYW5zIiwiY29weXJpZ2h0c2FucyIsInRyYWRlbWFya3NhbnMiLCJzdW1tYXRpb24iLCJwYXJlbmxlZnR0cCIsInBhcmVubGVmdGV4IiwicGFyZW5sZWZ0YnQiLCJicmFja2V0bGVmdHRwIiwiYnJhY2tldGxlZnRleCIsImJyYWNrZXRsZWZ0YnQiLCJicmFjZWxlZnR0cCIsImJyYWNlbGVmdG1pZCIsImJyYWNlbGVmdGJ0IiwiYnJhY2VleCIsIiIsImFuZ2xlcmlnaHQiLCJpbnRlZ3JhbCIsImludGVncmFsdHAiLCJpbnRlZ3JhbGV4IiwiaW50ZWdyYWxidCIsInBhcmVucmlnaHR0cCIsInBhcmVucmlnaHRleCIsInBhcmVucmlnaHRidCIsImJyYWNrZXRyaWdodHRwIiwiYnJhY2tldHJpZ2h0ZXgiLCJicmFja2V0cmlnaHRidCIsImJyYWNlcmlnaHR0cCIsImJyYWNlcmlnaHRtaWQiLCJicmFjZXJpZ2h0YnQiLCIiXSxjcj1bIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsInNwYWNlIiwiYTEiLCJhMiIsImEyMDIiLCJhMyIsImE0IiwiYTUiLCJhMTE5IiwiYTExOCIsImExMTciLCJhMTEiLCJhMTIiLCJhMTMiLCJhMTQiLCJhMTUiLCJhMTYiLCJhMTA1IiwiYTE3IiwiYTE4IiwiYTE5IiwiYTIwIiwiYTIxIiwiYTIyIiwiYTIzIiwiYTI0IiwiYTI1IiwiYTI2IiwiYTI3IiwiYTI4IiwiYTYiLCJhNyIsImE4IiwiYTkiLCJhMTAiLCJhMjkiLCJhMzAiLCJhMzEiLCJhMzIiLCJhMzMiLCJhMzQiLCJhMzUiLCJhMzYiLCJhMzciLCJhMzgiLCJhMzkiLCJhNDAiLCJhNDEiLCJhNDIiLCJhNDMiLCJhNDQiLCJhNDUiLCJhNDYiLCJhNDciLCJhNDgiLCJhNDkiLCJhNTAiLCJhNTEiLCJhNTIiLCJhNTMiLCJhNTQiLCJhNTUiLCJhNTYiLCJhNTciLCJhNTgiLCJhNTkiLCJhNjAiLCJhNjEiLCJhNjIiLCJhNjMiLCJhNjQiLCJhNjUiLCJhNjYiLCJhNjciLCJhNjgiLCJhNjkiLCJhNzAiLCJhNzEiLCJhNzIiLCJhNzMiLCJhNzQiLCJhMjAzIiwiYTc1IiwiYTIwNCIsImE3NiIsImE3NyIsImE3OCIsImE3OSIsImE4MSIsImE4MiIsImE4MyIsImE4NCIsImE5NyIsImE5OCIsImE5OSIsImExMDAiLCIiLCJhODkiLCJhOTAiLCJhOTMiLCJhOTQiLCJhOTEiLCJhOTIiLCJhMjA1IiwiYTg1IiwiYTIwNiIsImE4NiIsImE4NyIsImE4OCIsImE5NSIsImE5NiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsImExMDEiLCJhMTAyIiwiYTEwMyIsImExMDQiLCJhMTA2IiwiYTEwNyIsImExMDgiLCJhMTEyIiwiYTExMSIsImExMTAiLCJhMTA5IiwiYTEyMCIsImExMjEiLCJhMTIyIiwiYTEyMyIsImExMjQiLCJhMTI1IiwiYTEyNiIsImExMjciLCJhMTI4IiwiYTEyOSIsImExMzAiLCJhMTMxIiwiYTEzMiIsImExMzMiLCJhMTM0IiwiYTEzNSIsImExMzYiLCJhMTM3IiwiYTEzOCIsImExMzkiLCJhMTQwIiwiYTE0MSIsImExNDIiLCJhMTQzIiwiYTE0NCIsImExNDUiLCJhMTQ2IiwiYTE0NyIsImExNDgiLCJhMTQ5IiwiYTE1MCIsImExNTEiLCJhMTUyIiwiYTE1MyIsImExNTQiLCJhMTU1IiwiYTE1NiIsImExNTciLCJhMTU4IiwiYTE1OSIsImExNjAiLCJhMTYxIiwiYTE2MyIsImExNjQiLCJhMTk2IiwiYTE2NSIsImExOTIiLCJhMTY2IiwiYTE2NyIsImExNjgiLCJhMTY5IiwiYTE3MCIsImExNzEiLCJhMTcyIiwiYTE3MyIsImExNjIiLCJhMTc0IiwiYTE3NSIsImExNzYiLCJhMTc3IiwiYTE3OCIsImExNzkiLCJhMTkzIiwiYTE4MCIsImExOTkiLCJhMTgxIiwiYTIwMCIsImExODIiLCIiLCJhMjAxIiwiYTE4MyIsImExODQiLCJhMTk3IiwiYTE4NSIsImExOTQiLCJhMTk4IiwiYTE4NiIsImExOTUiLCJhMTg3IiwiYTE4OCIsImExODkiLCJhMTkwIiwiYTE5MSIsIiJdO2Z1bmN0aW9uIGdldEVuY29kaW5nKGUpe3N3aXRjaChlKXtjYXNlIldpbkFuc2lFbmNvZGluZyI6cmV0dXJuIHNyO2Nhc2UiU3RhbmRhcmRFbmNvZGluZyI6cmV0dXJuIG5yO2Nhc2UiTWFjUm9tYW5FbmNvZGluZyI6cmV0dXJuIGlyO2Nhc2UiU3ltYm9sU2V0RW5jb2RpbmciOnJldHVybiBvcjtjYXNlIlphcGZEaW5nYmF0c0VuY29kaW5nIjpyZXR1cm4gY3I7Y2FzZSJFeHBlcnRFbmNvZGluZyI6cmV0dXJuIGFyO2Nhc2UiTWFjRXhwZXJ0RW5jb2RpbmciOnJldHVybiBycjtkZWZhdWx0OnJldHVybiBudWxsfX1jb25zdCBscj1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGZ1bmN0aW9uKGUpe2UuQT02NTtlLkFFPTE5ODtlLkFFYWN1dGU9NTA4O2UuQUVtYWNyb249NDgyO2UuQUVzbWFsbD02MzQ2MjtlLkFhY3V0ZT0xOTM7ZS5BYWN1dGVzbWFsbD02MzQ1NztlLkFicmV2ZT0yNTg7ZS5BYnJldmVhY3V0ZT03ODU0O2UuQWJyZXZlY3lyaWxsaWM9MTIzMjtlLkFicmV2ZWRvdGJlbG93PTc4NjI7ZS5BYnJldmVncmF2ZT03ODU2O2UuQWJyZXZlaG9va2Fib3ZlPTc4NTg7ZS5BYnJldmV0aWxkZT03ODYwO2UuQWNhcm9uPTQ2MTtlLkFjaXJjbGU9OTM5ODtlLkFjaXJjdW1mbGV4PTE5NDtlLkFjaXJjdW1mbGV4YWN1dGU9Nzg0NDtlLkFjaXJjdW1mbGV4ZG90YmVsb3c9Nzg1MjtlLkFjaXJjdW1mbGV4Z3JhdmU9Nzg0NjtlLkFjaXJjdW1mbGV4aG9va2Fib3ZlPTc4NDg7ZS5BY2lyY3VtZmxleHNtYWxsPTYzNDU4O2UuQWNpcmN1bWZsZXh0aWxkZT03ODUwO2UuQWN1dGU9NjMxNzc7ZS5BY3V0ZXNtYWxsPTYzNDEyO2UuQWN5cmlsbGljPTEwNDA7ZS5BZGJsZ3JhdmU9NTEyO2UuQWRpZXJlc2lzPTE5NjtlLkFkaWVyZXNpc2N5cmlsbGljPTEyMzQ7ZS5BZGllcmVzaXNtYWNyb249NDc4O2UuQWRpZXJlc2lzc21hbGw9NjM0NjA7ZS5BZG90YmVsb3c9Nzg0MDtlLkFkb3RtYWNyb249NDgwO2UuQWdyYXZlPTE5MjtlLkFncmF2ZXNtYWxsPTYzNDU2O2UuQWhvb2thYm92ZT03ODQyO2UuQWllY3lyaWxsaWM9MTIzNjtlLkFpbnZlcnRlZGJyZXZlPTUxNDtlLkFscGhhPTkxMztlLkFscGhhdG9ub3M9OTAyO2UuQW1hY3Jvbj0yNTY7ZS5BbW9ub3NwYWNlPTY1MzEzO2UuQW9nb25laz0yNjA7ZS5BcmluZz0xOTc7ZS5BcmluZ2FjdXRlPTUwNjtlLkFyaW5nYmVsb3c9NzY4MDtlLkFyaW5nc21hbGw9NjM0NjE7ZS5Bc21hbGw9NjMzMjk7ZS5BdGlsZGU9MTk1O2UuQXRpbGRlc21hbGw9NjM0NTk7ZS5BeWJhcm1lbmlhbj0xMzI5O2UuQj02NjtlLkJjaXJjbGU9OTM5OTtlLkJkb3RhY2NlbnQ9NzY4MjtlLkJkb3RiZWxvdz03Njg0O2UuQmVjeXJpbGxpYz0xMDQxO2UuQmVuYXJtZW5pYW49MTMzMDtlLkJldGE9OTE0O2UuQmhvb2s9Mzg1O2UuQmxpbmViZWxvdz03Njg2O2UuQm1vbm9zcGFjZT02NTMxNDtlLkJyZXZlc21hbGw9NjMyMjA7ZS5Cc21hbGw9NjMzMzA7ZS5CdG9wYmFyPTM4NjtlLkM9Njc7ZS5DYWFybWVuaWFuPTEzNDI7ZS5DYWN1dGU9MjYyO2UuQ2Fyb249NjMxNzg7ZS5DYXJvbnNtYWxsPTYzMjIxO2UuQ2Nhcm9uPTI2ODtlLkNjZWRpbGxhPTE5OTtlLkNjZWRpbGxhYWN1dGU9NzY4ODtlLkNjZWRpbGxhc21hbGw9NjM0NjM7ZS5DY2lyY2xlPTk0MDA7ZS5DY2lyY3VtZmxleD0yNjQ7ZS5DZG90PTI2NjtlLkNkb3RhY2NlbnQ9MjY2O2UuQ2VkaWxsYXNtYWxsPTYzNDE2O2UuQ2hhYXJtZW5pYW49MTM1MztlLkNoZWFia2hhc2lhbmN5cmlsbGljPTEyMTI7ZS5DaGVjeXJpbGxpYz0xMDYzO2UuQ2hlZGVzY2VuZGVyYWJraGFzaWFuY3lyaWxsaWM9MTIxNDtlLkNoZWRlc2NlbmRlcmN5cmlsbGljPTEyMDY7ZS5DaGVkaWVyZXNpc2N5cmlsbGljPTEyNjg7ZS5DaGVoYXJtZW5pYW49MTM0NztlLkNoZWtoYWthc3NpYW5jeXJpbGxpYz0xMjI3O2UuQ2hldmVydGljYWxzdHJva2VjeXJpbGxpYz0xMjA4O2UuQ2hpPTkzNTtlLkNob29rPTM5MTtlLkNpcmN1bWZsZXhzbWFsbD02MzIyMjtlLkNtb25vc3BhY2U9NjUzMTU7ZS5Db2FybWVuaWFuPTEzNjE7ZS5Dc21hbGw9NjMzMzE7ZS5EPTY4O2UuRFo9NDk3O2UuRFpjYXJvbj00NTI7ZS5EYWFybWVuaWFuPTEzMzI7ZS5EYWZyaWNhbj0zOTM7ZS5EY2Fyb249MjcwO2UuRGNlZGlsbGE9NzY5NjtlLkRjaXJjbGU9OTQwMTtlLkRjaXJjdW1mbGV4YmVsb3c9NzY5ODtlLkRjcm9hdD0yNzI7ZS5EZG90YWNjZW50PTc2OTA7ZS5EZG90YmVsb3c9NzY5MjtlLkRlY3lyaWxsaWM9MTA0NDtlLkRlaWNvcHRpYz0xMDA2O2UuRGVsdGE9ODcxMDtlLkRlbHRhZ3JlZWs9OTE2O2UuRGhvb2s9Mzk0O2UuRGllcmVzaXM9NjMxNzk7ZS5EaWVyZXNpc0FjdXRlPTYzMTgwO2UuRGllcmVzaXNHcmF2ZT02MzE4MTtlLkRpZXJlc2lzc21hbGw9NjM0MDA7ZS5EaWdhbW1hZ3JlZWs9OTg4O2UuRGplY3lyaWxsaWM9MTAyNjtlLkRsaW5lYmVsb3c9NzY5NDtlLkRtb25vc3BhY2U9NjUzMTY7ZS5Eb3RhY2NlbnRzbWFsbD02MzIyMztlLkRzbGFzaD0yNzI7ZS5Ec21hbGw9NjMzMzI7ZS5EdG9wYmFyPTM5NTtlLkR6PTQ5ODtlLkR6Y2Fyb249NDUzO2UuRHplYWJraGFzaWFuY3lyaWxsaWM9MTI0ODtlLkR6ZWN5cmlsbGljPTEwMjk7ZS5EemhlY3lyaWxsaWM9MTAzOTtlLkU9Njk7ZS5FYWN1dGU9MjAxO2UuRWFjdXRlc21hbGw9NjM0NjU7ZS5FYnJldmU9Mjc2O2UuRWNhcm9uPTI4MjtlLkVjZWRpbGxhYnJldmU9NzcwODtlLkVjaGFybWVuaWFuPTEzMzM7ZS5FY2lyY2xlPTk0MDI7ZS5FY2lyY3VtZmxleD0yMDI7ZS5FY2lyY3VtZmxleGFjdXRlPTc4NzA7ZS5FY2lyY3VtZmxleGJlbG93PTc3MDQ7ZS5FY2lyY3VtZmxleGRvdGJlbG93PTc4Nzg7ZS5FY2lyY3VtZmxleGdyYXZlPTc4NzI7ZS5FY2lyY3VtZmxleGhvb2thYm92ZT03ODc0O2UuRWNpcmN1bWZsZXhzbWFsbD02MzQ2NjtlLkVjaXJjdW1mbGV4dGlsZGU9Nzg3NjtlLkVjeXJpbGxpYz0xMDI4O2UuRWRibGdyYXZlPTUxNjtlLkVkaWVyZXNpcz0yMDM7ZS5FZGllcmVzaXNzbWFsbD02MzQ2NztlLkVkb3Q9Mjc4O2UuRWRvdGFjY2VudD0yNzg7ZS5FZG90YmVsb3c9Nzg2NDtlLkVmY3lyaWxsaWM9MTA2MDtlLkVncmF2ZT0yMDA7ZS5FZ3JhdmVzbWFsbD02MzQ2NDtlLkVoYXJtZW5pYW49MTMzNTtlLkVob29rYWJvdmU9Nzg2NjtlLkVpZ2h0cm9tYW49ODU1MTtlLkVpbnZlcnRlZGJyZXZlPTUxODtlLkVpb3RpZmllZGN5cmlsbGljPTExMjQ7ZS5FbGN5cmlsbGljPTEwNTE7ZS5FbGV2ZW5yb21hbj04NTU0O2UuRW1hY3Jvbj0yNzQ7ZS5FbWFjcm9uYWN1dGU9NzcwMjtlLkVtYWNyb25ncmF2ZT03NzAwO2UuRW1jeXJpbGxpYz0xMDUyO2UuRW1vbm9zcGFjZT02NTMxNztlLkVuY3lyaWxsaWM9MTA1MztlLkVuZGVzY2VuZGVyY3lyaWxsaWM9MTE4NjtlLkVuZz0zMzA7ZS5FbmdoZWN5cmlsbGljPTExODg7ZS5Fbmhvb2tjeXJpbGxpYz0xMjIzO2UuRW9nb25laz0yODA7ZS5Fb3Blbj00MDA7ZS5FcHNpbG9uPTkxNztlLkVwc2lsb250b25vcz05MDQ7ZS5FcmN5cmlsbGljPTEwNTY7ZS5FcmV2ZXJzZWQ9Mzk4O2UuRXJldmVyc2VkY3lyaWxsaWM9MTA2OTtlLkVzY3lyaWxsaWM9MTA1NztlLkVzZGVzY2VuZGVyY3lyaWxsaWM9MTE5NDtlLkVzaD00MjU7ZS5Fc21hbGw9NjMzMzM7ZS5FdGE9OTE5O2UuRXRhcm1lbmlhbj0xMzM2O2UuRXRhdG9ub3M9OTA1O2UuRXRoPTIwODtlLkV0aHNtYWxsPTYzNDcyO2UuRXRpbGRlPTc4Njg7ZS5FdGlsZGViZWxvdz03NzA2O2UuRXVybz04MzY0O2UuRXpoPTQzOTtlLkV6aGNhcm9uPTQ5NDtlLkV6aHJldmVyc2VkPTQ0MDtlLkY9NzA7ZS5GY2lyY2xlPTk0MDM7ZS5GZG90YWNjZW50PTc3MTA7ZS5GZWhhcm1lbmlhbj0xMzY2O2UuRmVpY29wdGljPTk5NjtlLkZob29rPTQwMTtlLkZpdGFjeXJpbGxpYz0xMTM4O2UuRml2ZXJvbWFuPTg1NDg7ZS5GbW9ub3NwYWNlPTY1MzE4O2UuRm91cnJvbWFuPTg1NDc7ZS5Gc21hbGw9NjMzMzQ7ZS5HPTcxO2UuR0JzcXVhcmU9MTMxOTE7ZS5HYWN1dGU9NTAwO2UuR2FtbWE9OTE1O2UuR2FtbWFhZnJpY2FuPTQwNDtlLkdhbmdpYWNvcHRpYz0xMDAyO2UuR2JyZXZlPTI4NjtlLkdjYXJvbj00ODY7ZS5HY2VkaWxsYT0yOTA7ZS5HY2lyY2xlPTk0MDQ7ZS5HY2lyY3VtZmxleD0yODQ7ZS5HY29tbWFhY2NlbnQ9MjkwO2UuR2RvdD0yODg7ZS5HZG90YWNjZW50PTI4ODtlLkdlY3lyaWxsaWM9MTA0MztlLkdoYWRhcm1lbmlhbj0xMzQ2O2UuR2hlbWlkZGxlaG9va2N5cmlsbGljPTExNzI7ZS5HaGVzdHJva2VjeXJpbGxpYz0xMTcwO2UuR2hldXB0dXJuY3lyaWxsaWM9MTE2ODtlLkdob29rPTQwMztlLkdpbWFybWVuaWFuPTEzMzE7ZS5HamVjeXJpbGxpYz0xMDI3O2UuR21hY3Jvbj03NzEyO2UuR21vbm9zcGFjZT02NTMxOTtlLkdyYXZlPTYzMTgyO2UuR3JhdmVzbWFsbD02MzMyODtlLkdzbWFsbD02MzMzNTtlLkdzbWFsbGhvb2s9NjY3O2UuR3N0cm9rZT00ODQ7ZS5IPTcyO2UuSDE4NTMzPTk2Nzk7ZS5IMTg1NDM9OTY0MjtlLkgxODU1MT05NjQzO2UuSDIyMDczPTk2MzM7ZS5IUHNxdWFyZT0xMzI1OTtlLkhhYWJraGFzaWFuY3lyaWxsaWM9MTE5MjtlLkhhZGVzY2VuZGVyY3lyaWxsaWM9MTIwMjtlLkhhcmRzaWduY3lyaWxsaWM9MTA2NjtlLkhiYXI9Mjk0O2UuSGJyZXZlYmVsb3c9NzcyMjtlLkhjZWRpbGxhPTc3MjA7ZS5IY2lyY2xlPTk0MDU7ZS5IY2lyY3VtZmxleD0yOTI7ZS5IZGllcmVzaXM9NzcxODtlLkhkb3RhY2NlbnQ9NzcxNDtlLkhkb3RiZWxvdz03NzE2O2UuSG1vbm9zcGFjZT02NTMyMDtlLkhvYXJtZW5pYW49MTM0NDtlLkhvcmljb3B0aWM9MWUzO2UuSHNtYWxsPTYzMzM2O2UuSHVuZ2FydW1sYXV0PTYzMTgzO2UuSHVuZ2FydW1sYXV0c21hbGw9NjMyMjQ7ZS5IenNxdWFyZT0xMzIwMDtlLkk9NzM7ZS5JQWN5cmlsbGljPTEwNzE7ZS5JSj0zMDY7ZS5JVWN5cmlsbGljPTEwNzA7ZS5JYWN1dGU9MjA1O2UuSWFjdXRlc21hbGw9NjM0Njk7ZS5JYnJldmU9MzAwO2UuSWNhcm9uPTQ2MztlLkljaXJjbGU9OTQwNjtlLkljaXJjdW1mbGV4PTIwNjtlLkljaXJjdW1mbGV4c21hbGw9NjM0NzA7ZS5JY3lyaWxsaWM9MTAzMDtlLklkYmxncmF2ZT01MjA7ZS5JZGllcmVzaXM9MjA3O2UuSWRpZXJlc2lzYWN1dGU9NzcyNjtlLklkaWVyZXNpc2N5cmlsbGljPTEyNTI7ZS5JZGllcmVzaXNzbWFsbD02MzQ3MTtlLklkb3Q9MzA0O2UuSWRvdGFjY2VudD0zMDQ7ZS5JZG90YmVsb3c9Nzg4MjtlLkllYnJldmVjeXJpbGxpYz0xMjM4O2UuSWVjeXJpbGxpYz0xMDQ1O2UuSWZyYWt0dXI9ODQ2NTtlLklncmF2ZT0yMDQ7ZS5JZ3JhdmVzbWFsbD02MzQ2ODtlLklob29rYWJvdmU9Nzg4MDtlLklpY3lyaWxsaWM9MTA0ODtlLklpbnZlcnRlZGJyZXZlPTUyMjtlLklpc2hvcnRjeXJpbGxpYz0xMDQ5O2UuSW1hY3Jvbj0yOTg7ZS5JbWFjcm9uY3lyaWxsaWM9MTI1MDtlLkltb25vc3BhY2U9NjUzMjE7ZS5Jbmlhcm1lbmlhbj0xMzM5O2UuSW9jeXJpbGxpYz0xMDI1O2UuSW9nb25laz0zMDI7ZS5Jb3RhPTkyMTtlLklvdGFhZnJpY2FuPTQwNjtlLklvdGFkaWVyZXNpcz05Mzg7ZS5Jb3RhdG9ub3M9OTA2O2UuSXNtYWxsPTYzMzM3O2UuSXN0cm9rZT00MDc7ZS5JdGlsZGU9Mjk2O2UuSXRpbGRlYmVsb3c9NzcyNDtlLkl6aGl0c2FjeXJpbGxpYz0xMTQwO2UuSXpoaXRzYWRibGdyYXZlY3lyaWxsaWM9MTE0MjtlLko9NzQ7ZS5KYWFybWVuaWFuPTEzNDU7ZS5KY2lyY2xlPTk0MDc7ZS5KY2lyY3VtZmxleD0zMDg7ZS5KZWN5cmlsbGljPTEwMzI7ZS5KaGVoYXJtZW5pYW49MTM1NTtlLkptb25vc3BhY2U9NjUzMjI7ZS5Kc21hbGw9NjMzMzg7ZS5LPTc1O2UuS0JzcXVhcmU9MTMxODk7ZS5LS3NxdWFyZT0xMzI2MTtlLkthYmFzaGtpcmN5cmlsbGljPTExODQ7ZS5LYWN1dGU9NzcyODtlLkthY3lyaWxsaWM9MTA1MDtlLkthZGVzY2VuZGVyY3lyaWxsaWM9MTE3ODtlLkthaG9va2N5cmlsbGljPTEyMTk7ZS5LYXBwYT05MjI7ZS5LYXN0cm9rZWN5cmlsbGljPTExODI7ZS5LYXZlcnRpY2Fsc3Ryb2tlY3lyaWxsaWM9MTE4MDtlLktjYXJvbj00ODg7ZS5LY2VkaWxsYT0zMTA7ZS5LY2lyY2xlPTk0MDg7ZS5LY29tbWFhY2NlbnQ9MzEwO2UuS2RvdGJlbG93PTc3MzA7ZS5LZWhhcm1lbmlhbj0xMzY0O2UuS2VuYXJtZW5pYW49MTM0MztlLktoYWN5cmlsbGljPTEwNjE7ZS5LaGVpY29wdGljPTk5ODtlLktob29rPTQwODtlLktqZWN5cmlsbGljPTEwMzY7ZS5LbGluZWJlbG93PTc3MzI7ZS5LbW9ub3NwYWNlPTY1MzIzO2UuS29wcGFjeXJpbGxpYz0xMTUyO2UuS29wcGFncmVlaz05OTA7ZS5Lc2ljeXJpbGxpYz0xMTM0O2UuS3NtYWxsPTYzMzM5O2UuTD03NjtlLkxKPTQ1NTtlLkxMPTYzMTY3O2UuTGFjdXRlPTMxMztlLkxhbWJkYT05MjM7ZS5MY2Fyb249MzE3O2UuTGNlZGlsbGE9MzE1O2UuTGNpcmNsZT05NDA5O2UuTGNpcmN1bWZsZXhiZWxvdz03NzQwO2UuTGNvbW1hYWNjZW50PTMxNTtlLkxkb3Q9MzE5O2UuTGRvdGFjY2VudD0zMTk7ZS5MZG90YmVsb3c9NzczNDtlLkxkb3RiZWxvd21hY3Jvbj03NzM2O2UuTGl3bmFybWVuaWFuPTEzNDA7ZS5Maj00NTY7ZS5MamVjeXJpbGxpYz0xMDMzO2UuTGxpbmViZWxvdz03NzM4O2UuTG1vbm9zcGFjZT02NTMyNDtlLkxzbGFzaD0zMjE7ZS5Mc2xhc2hzbWFsbD02MzIyNTtlLkxzbWFsbD02MzM0MDtlLk09Nzc7ZS5NQnNxdWFyZT0xMzE5MDtlLk1hY3Jvbj02MzE4NDtlLk1hY3JvbnNtYWxsPTYzNDA3O2UuTWFjdXRlPTc3NDI7ZS5NY2lyY2xlPTk0MTA7ZS5NZG90YWNjZW50PTc3NDQ7ZS5NZG90YmVsb3c9Nzc0NjtlLk1lbmFybWVuaWFuPTEzNDg7ZS5NbW9ub3NwYWNlPTY1MzI1O2UuTXNtYWxsPTYzMzQxO2UuTXR1cm5lZD00MTI7ZS5NdT05MjQ7ZS5OPTc4O2UuTko9NDU4O2UuTmFjdXRlPTMyMztlLk5jYXJvbj0zMjc7ZS5OY2VkaWxsYT0zMjU7ZS5OY2lyY2xlPTk0MTE7ZS5OY2lyY3VtZmxleGJlbG93PTc3NTQ7ZS5OY29tbWFhY2NlbnQ9MzI1O2UuTmRvdGFjY2VudD03NzQ4O2UuTmRvdGJlbG93PTc3NTA7ZS5OaG9va2xlZnQ9NDEzO2UuTmluZXJvbWFuPTg1NTI7ZS5Oaj00NTk7ZS5OamVjeXJpbGxpYz0xMDM0O2UuTmxpbmViZWxvdz03NzUyO2UuTm1vbm9zcGFjZT02NTMyNjtlLk5vd2FybWVuaWFuPTEzNTA7ZS5Oc21hbGw9NjMzNDI7ZS5OdGlsZGU9MjA5O2UuTnRpbGRlc21hbGw9NjM0NzM7ZS5OdT05MjU7ZS5PPTc5O2UuT0U9MzM4O2UuT0VzbWFsbD02MzIyNjtlLk9hY3V0ZT0yMTE7ZS5PYWN1dGVzbWFsbD02MzQ3NTtlLk9iYXJyZWRjeXJpbGxpYz0xMjU2O2UuT2JhcnJlZGRpZXJlc2lzY3lyaWxsaWM9MTI1ODtlLk9icmV2ZT0zMzQ7ZS5PY2Fyb249NDY1O2UuT2NlbnRlcmVkdGlsZGU9NDE1O2UuT2NpcmNsZT05NDEyO2UuT2NpcmN1bWZsZXg9MjEyO2UuT2NpcmN1bWZsZXhhY3V0ZT03ODg4O2UuT2NpcmN1bWZsZXhkb3RiZWxvdz03ODk2O2UuT2NpcmN1bWZsZXhncmF2ZT03ODkwO2UuT2NpcmN1bWZsZXhob29rYWJvdmU9Nzg5MjtlLk9jaXJjdW1mbGV4c21hbGw9NjM0NzY7ZS5PY2lyY3VtZmxleHRpbGRlPTc4OTQ7ZS5PY3lyaWxsaWM9MTA1NDtlLk9kYmxhY3V0ZT0zMzY7ZS5PZGJsZ3JhdmU9NTI0O2UuT2RpZXJlc2lzPTIxNDtlLk9kaWVyZXNpc2N5cmlsbGljPTEyNTQ7ZS5PZGllcmVzaXNzbWFsbD02MzQ3ODtlLk9kb3RiZWxvdz03ODg0O2UuT2dvbmVrc21hbGw9NjMyMjc7ZS5PZ3JhdmU9MjEwO2UuT2dyYXZlc21hbGw9NjM0NzQ7ZS5PaGFybWVuaWFuPTEzNjU7ZS5PaG09ODQ4NjtlLk9ob29rYWJvdmU9Nzg4NjtlLk9ob3JuPTQxNjtlLk9ob3JuYWN1dGU9Nzg5ODtlLk9ob3JuZG90YmVsb3c9NzkwNjtlLk9ob3JuZ3JhdmU9NzkwMDtlLk9ob3JuaG9va2Fib3ZlPTc5MDI7ZS5PaG9ybnRpbGRlPTc5MDQ7ZS5PaHVuZ2FydW1sYXV0PTMzNjtlLk9pPTQxODtlLk9pbnZlcnRlZGJyZXZlPTUyNjtlLk9tYWNyb249MzMyO2UuT21hY3JvbmFjdXRlPTc3NjI7ZS5PbWFjcm9uZ3JhdmU9Nzc2MDtlLk9tZWdhPTg0ODY7ZS5PbWVnYWN5cmlsbGljPTExMjA7ZS5PbWVnYWdyZWVrPTkzNztlLk9tZWdhcm91bmRjeXJpbGxpYz0xMTQ2O2UuT21lZ2F0aXRsb2N5cmlsbGljPTExNDg7ZS5PbWVnYXRvbm9zPTkxMTtlLk9taWNyb249OTI3O2UuT21pY3JvbnRvbm9zPTkwODtlLk9tb25vc3BhY2U9NjUzMjc7ZS5PbmVyb21hbj04NTQ0O2UuT29nb25laz00OTA7ZS5Pb2dvbmVrbWFjcm9uPTQ5MjtlLk9vcGVuPTM5MDtlLk9zbGFzaD0yMTY7ZS5Pc2xhc2hhY3V0ZT01MTA7ZS5Pc2xhc2hzbWFsbD02MzQ4MDtlLk9zbWFsbD02MzM0MztlLk9zdHJva2VhY3V0ZT01MTA7ZS5PdGN5cmlsbGljPTExNTA7ZS5PdGlsZGU9MjEzO2UuT3RpbGRlYWN1dGU9Nzc1NjtlLk90aWxkZWRpZXJlc2lzPTc3NTg7ZS5PdGlsZGVzbWFsbD02MzQ3NztlLlA9ODA7ZS5QYWN1dGU9Nzc2NDtlLlBjaXJjbGU9OTQxMztlLlBkb3RhY2NlbnQ9Nzc2NjtlLlBlY3lyaWxsaWM9MTA1NTtlLlBlaGFybWVuaWFuPTEzNTQ7ZS5QZW1pZGRsZWhvb2tjeXJpbGxpYz0xMTkwO2UuUGhpPTkzNDtlLlBob29rPTQyMDtlLlBpPTkyODtlLlBpd3Jhcm1lbmlhbj0xMzYzO2UuUG1vbm9zcGFjZT02NTMyODtlLlBzaT05MzY7ZS5Qc2ljeXJpbGxpYz0xMTM2O2UuUHNtYWxsPTYzMzQ0O2UuUT04MTtlLlFjaXJjbGU9OTQxNDtlLlFtb25vc3BhY2U9NjUzMjk7ZS5Rc21hbGw9NjMzNDU7ZS5SPTgyO2UuUmFhcm1lbmlhbj0xMzU2O2UuUmFjdXRlPTM0MDtlLlJjYXJvbj0zNDQ7ZS5SY2VkaWxsYT0zNDI7ZS5SY2lyY2xlPTk0MTU7ZS5SY29tbWFhY2NlbnQ9MzQyO2UuUmRibGdyYXZlPTUyODtlLlJkb3RhY2NlbnQ9Nzc2ODtlLlJkb3RiZWxvdz03NzcwO2UuUmRvdGJlbG93bWFjcm9uPTc3NzI7ZS5SZWhhcm1lbmlhbj0xMzYwO2UuUmZyYWt0dXI9ODQ3NjtlLlJobz05Mjk7ZS5SaW5nc21hbGw9NjMyMjg7ZS5SaW52ZXJ0ZWRicmV2ZT01MzA7ZS5SbGluZWJlbG93PTc3NzQ7ZS5SbW9ub3NwYWNlPTY1MzMwO2UuUnNtYWxsPTYzMzQ2O2UuUnNtYWxsaW52ZXJ0ZWQ9NjQxO2UuUnNtYWxsaW52ZXJ0ZWRzdXBlcmlvcj02OTQ7ZS5TPTgzO2UuU0YwMTAwMDA9OTQ4NDtlLlNGMDIwMDAwPTk0OTI7ZS5TRjAzMDAwMD05NDg4O2UuU0YwNDAwMDA9OTQ5NjtlLlNGMDUwMDAwPTk1MzI7ZS5TRjA2MDAwMD05NTE2O2UuU0YwNzAwMDA9OTUyNDtlLlNGMDgwMDAwPTk1MDA7ZS5TRjA5MDAwMD05NTA4O2UuU0YxMDAwMDA9OTQ3MjtlLlNGMTEwMDAwPTk0NzQ7ZS5TRjE5MDAwMD05NTY5O2UuU0YyMDAwMDA9OTU3MDtlLlNGMjEwMDAwPTk1NTg7ZS5TRjIyMDAwMD05NTU3O2UuU0YyMzAwMDA9OTU3MTtlLlNGMjQwMDAwPTk1NTM7ZS5TRjI1MDAwMD05NTU5O2UuU0YyNjAwMDA9OTU2NTtlLlNGMjcwMDAwPTk1NjQ7ZS5TRjI4MDAwMD05NTYzO2UuU0YzNjAwMDA9OTU2NjtlLlNGMzcwMDAwPTk1Njc7ZS5TRjM4MDAwMD05NTYyO2UuU0YzOTAwMDA9OTU1NjtlLlNGNDAwMDAwPTk1Nzc7ZS5TRjQxMDAwMD05NTc0O2UuU0Y0MjAwMDA9OTU2ODtlLlNGNDMwMDAwPTk1NTI7ZS5TRjQ0MDAwMD05NTgwO2UuU0Y0NTAwMDA9OTU3NTtlLlNGNDYwMDAwPTk1NzY7ZS5TRjQ3MDAwMD05NTcyO2UuU0Y0ODAwMDA9OTU3MztlLlNGNDkwMDAwPTk1NjE7ZS5TRjUwMDAwMD05NTYwO2UuU0Y1MTAwMDA9OTU1NDtlLlNGNTIwMDAwPTk1NTU7ZS5TRjUzMDAwMD05NTc5O2UuU0Y1NDAwMDA9OTU3ODtlLlNhY3V0ZT0zNDY7ZS5TYWN1dGVkb3RhY2NlbnQ9Nzc4MDtlLlNhbXBpZ3JlZWs9OTkyO2UuU2Nhcm9uPTM1MjtlLlNjYXJvbmRvdGFjY2VudD03NzgyO2UuU2Nhcm9uc21hbGw9NjMyMjk7ZS5TY2VkaWxsYT0zNTA7ZS5TY2h3YT0zOTk7ZS5TY2h3YWN5cmlsbGljPTEyNDA7ZS5TY2h3YWRpZXJlc2lzY3lyaWxsaWM9MTI0MjtlLlNjaXJjbGU9OTQxNjtlLlNjaXJjdW1mbGV4PTM0ODtlLlNjb21tYWFjY2VudD01MzY7ZS5TZG90YWNjZW50PTc3NzY7ZS5TZG90YmVsb3c9Nzc3ODtlLlNkb3RiZWxvd2RvdGFjY2VudD03Nzg0O2UuU2VoYXJtZW5pYW49MTM1NztlLlNldmVucm9tYW49ODU1MDtlLlNoYWFybWVuaWFuPTEzNTE7ZS5TaGFjeXJpbGxpYz0xMDY0O2UuU2hjaGFjeXJpbGxpYz0xMDY1O2UuU2hlaWNvcHRpYz05OTQ7ZS5TaGhhY3lyaWxsaWM9MTIxMDtlLlNoaW1hY29wdGljPTEwMDQ7ZS5TaWdtYT05MzE7ZS5TaXhyb21hbj04NTQ5O2UuU21vbm9zcGFjZT02NTMzMTtlLlNvZnRzaWduY3lyaWxsaWM9MTA2ODtlLlNzbWFsbD02MzM0NztlLlN0aWdtYWdyZWVrPTk4NjtlLlQ9ODQ7ZS5UYXU9OTMyO2UuVGJhcj0zNTg7ZS5UY2Fyb249MzU2O2UuVGNlZGlsbGE9MzU0O2UuVGNpcmNsZT05NDE3O2UuVGNpcmN1bWZsZXhiZWxvdz03NzkyO2UuVGNvbW1hYWNjZW50PTM1NDtlLlRkb3RhY2NlbnQ9Nzc4NjtlLlRkb3RiZWxvdz03Nzg4O2UuVGVjeXJpbGxpYz0xMDU4O2UuVGVkZXNjZW5kZXJjeXJpbGxpYz0xMTk2O2UuVGVucm9tYW49ODU1MztlLlRldHNlY3lyaWxsaWM9MTIwNDtlLlRoZXRhPTkyMDtlLlRob29rPTQyODtlLlRob3JuPTIyMjtlLlRob3Juc21hbGw9NjM0ODY7ZS5UaHJlZXJvbWFuPTg1NDY7ZS5UaWxkZXNtYWxsPTYzMjMwO2UuVGl3bmFybWVuaWFuPTEzNTk7ZS5UbGluZWJlbG93PTc3OTA7ZS5UbW9ub3NwYWNlPTY1MzMyO2UuVG9hcm1lbmlhbj0xMzM3O2UuVG9uZWZpdmU9NDQ0O2UuVG9uZXNpeD0zODg7ZS5Ub25ldHdvPTQyMztlLlRyZXRyb2ZsZXhob29rPTQzMDtlLlRzZWN5cmlsbGljPTEwNjI7ZS5Uc2hlY3lyaWxsaWM9MTAzNTtlLlRzbWFsbD02MzM0ODtlLlR3ZWx2ZXJvbWFuPTg1NTU7ZS5Ud29yb21hbj04NTQ1O2UuVT04NTtlLlVhY3V0ZT0yMTg7ZS5VYWN1dGVzbWFsbD02MzQ4MjtlLlVicmV2ZT0zNjQ7ZS5VY2Fyb249NDY3O2UuVWNpcmNsZT05NDE4O2UuVWNpcmN1bWZsZXg9MjE5O2UuVWNpcmN1bWZsZXhiZWxvdz03Nzk4O2UuVWNpcmN1bWZsZXhzbWFsbD02MzQ4MztlLlVjeXJpbGxpYz0xMDU5O2UuVWRibGFjdXRlPTM2ODtlLlVkYmxncmF2ZT01MzI7ZS5VZGllcmVzaXM9MjIwO2UuVWRpZXJlc2lzYWN1dGU9NDcxO2UuVWRpZXJlc2lzYmVsb3c9Nzc5NDtlLlVkaWVyZXNpc2Nhcm9uPTQ3MztlLlVkaWVyZXNpc2N5cmlsbGljPTEyNjQ7ZS5VZGllcmVzaXNncmF2ZT00NzU7ZS5VZGllcmVzaXNtYWNyb249NDY5O2UuVWRpZXJlc2lzc21hbGw9NjM0ODQ7ZS5VZG90YmVsb3c9NzkwODtlLlVncmF2ZT0yMTc7ZS5VZ3JhdmVzbWFsbD02MzQ4MTtlLlVob29rYWJvdmU9NzkxMDtlLlVob3JuPTQzMTtlLlVob3JuYWN1dGU9NzkxMjtlLlVob3JuZG90YmVsb3c9NzkyMDtlLlVob3JuZ3JhdmU9NzkxNDtlLlVob3JuaG9va2Fib3ZlPTc5MTY7ZS5VaG9ybnRpbGRlPTc5MTg7ZS5VaHVuZ2FydW1sYXV0PTM2ODtlLlVodW5nYXJ1bWxhdXRjeXJpbGxpYz0xMjY2O2UuVWludmVydGVkYnJldmU9NTM0O2UuVWtjeXJpbGxpYz0xMTQ0O2UuVW1hY3Jvbj0zNjI7ZS5VbWFjcm9uY3lyaWxsaWM9MTI2MjtlLlVtYWNyb25kaWVyZXNpcz03ODAyO2UuVW1vbm9zcGFjZT02NTMzMztlLlVvZ29uZWs9MzcwO2UuVXBzaWxvbj05MzM7ZS5VcHNpbG9uMT05Nzg7ZS5VcHNpbG9uYWN1dGVob29rc3ltYm9sZ3JlZWs9OTc5O2UuVXBzaWxvbmFmcmljYW49NDMzO2UuVXBzaWxvbmRpZXJlc2lzPTkzOTtlLlVwc2lsb25kaWVyZXNpc2hvb2tzeW1ib2xncmVlaz05ODA7ZS5VcHNpbG9uaG9va3N5bWJvbD05Nzg7ZS5VcHNpbG9udG9ub3M9OTEwO2UuVXJpbmc9MzY2O2UuVXNob3J0Y3lyaWxsaWM9MTAzODtlLlVzbWFsbD02MzM0OTtlLlVzdHJhaWdodGN5cmlsbGljPTExOTg7ZS5Vc3RyYWlnaHRzdHJva2VjeXJpbGxpYz0xMjAwO2UuVXRpbGRlPTM2MDtlLlV0aWxkZWFjdXRlPTc4MDA7ZS5VdGlsZGViZWxvdz03Nzk2O2UuVj04NjtlLlZjaXJjbGU9OTQxOTtlLlZkb3RiZWxvdz03ODA2O2UuVmVjeXJpbGxpYz0xMDQyO2UuVmV3YXJtZW5pYW49MTM1ODtlLlZob29rPTQzNDtlLlZtb25vc3BhY2U9NjUzMzQ7ZS5Wb2FybWVuaWFuPTEzNTI7ZS5Wc21hbGw9NjMzNTA7ZS5WdGlsZGU9NzgwNDtlLlc9ODc7ZS5XYWN1dGU9NzgxMDtlLldjaXJjbGU9OTQyMDtlLldjaXJjdW1mbGV4PTM3MjtlLldkaWVyZXNpcz03ODEyO2UuV2RvdGFjY2VudD03ODE0O2UuV2RvdGJlbG93PTc4MTY7ZS5XZ3JhdmU9NzgwODtlLldtb25vc3BhY2U9NjUzMzU7ZS5Xc21hbGw9NjMzNTE7ZS5YPTg4O2UuWGNpcmNsZT05NDIxO2UuWGRpZXJlc2lzPTc4MjA7ZS5YZG90YWNjZW50PTc4MTg7ZS5YZWhhcm1lbmlhbj0xMzQxO2UuWGk9OTI2O2UuWG1vbm9zcGFjZT02NTMzNjtlLlhzbWFsbD02MzM1MjtlLlk9ODk7ZS5ZYWN1dGU9MjIxO2UuWWFjdXRlc21hbGw9NjM0ODU7ZS5ZYXRjeXJpbGxpYz0xMTIyO2UuWWNpcmNsZT05NDIyO2UuWWNpcmN1bWZsZXg9Mzc0O2UuWWRpZXJlc2lzPTM3NjtlLllkaWVyZXNpc3NtYWxsPTYzNDg3O2UuWWRvdGFjY2VudD03ODIyO2UuWWRvdGJlbG93PTc5MjQ7ZS5ZZXJpY3lyaWxsaWM9MTA2NztlLlllcnVkaWVyZXNpc2N5cmlsbGljPTEyNzI7ZS5ZZ3JhdmU9NzkyMjtlLllob29rPTQzNTtlLllob29rYWJvdmU9NzkyNjtlLllpYXJtZW5pYW49MTM0OTtlLllpY3lyaWxsaWM9MTAzMTtlLllpd25hcm1lbmlhbj0xMzYyO2UuWW1vbm9zcGFjZT02NTMzNztlLllzbWFsbD02MzM1MztlLll0aWxkZT03OTI4O2UuWXVzYmlnY3lyaWxsaWM9MTEzMDtlLll1c2JpZ2lvdGlmaWVkY3lyaWxsaWM9MTEzMjtlLll1c2xpdHRsZWN5cmlsbGljPTExMjY7ZS5ZdXNsaXR0bGVpb3RpZmllZGN5cmlsbGljPTExMjg7ZS5aPTkwO2UuWmFhcm1lbmlhbj0xMzM0O2UuWmFjdXRlPTM3NztlLlpjYXJvbj0zODE7ZS5aY2Fyb25zbWFsbD02MzIzMTtlLlpjaXJjbGU9OTQyMztlLlpjaXJjdW1mbGV4PTc4MjQ7ZS5aZG90PTM3OTtlLlpkb3RhY2NlbnQ9Mzc5O2UuWmRvdGJlbG93PTc4MjY7ZS5aZWN5cmlsbGljPTEwNDc7ZS5aZWRlc2NlbmRlcmN5cmlsbGljPTExNzY7ZS5aZWRpZXJlc2lzY3lyaWxsaWM9MTI0NjtlLlpldGE9OTE4O2UuWmhlYXJtZW5pYW49MTMzODtlLlpoZWJyZXZlY3lyaWxsaWM9MTIxNztlLlpoZWN5cmlsbGljPTEwNDY7ZS5aaGVkZXNjZW5kZXJjeXJpbGxpYz0xMTc0O2UuWmhlZGllcmVzaXNjeXJpbGxpYz0xMjQ0O2UuWmxpbmViZWxvdz03ODI4O2UuWm1vbm9zcGFjZT02NTMzODtlLlpzbWFsbD02MzM1NDtlLlpzdHJva2U9NDM3O2UuYT05NztlLmFhYmVuZ2FsaT0yNDM4O2UuYWFjdXRlPTIyNTtlLmFhZGV2YT0yMzEwO2UuYWFndWphcmF0aT0yNjk0O2UuYWFndXJtdWtoaT0yNTY2O2UuYWFtYXRyYWd1cm11a2hpPTI2MjI7ZS5hYXJ1c3F1YXJlPTEzMDU5O2UuYWF2b3dlbHNpZ25iZW5nYWxpPTI0OTQ7ZS5hYXZvd2Vsc2lnbmRldmE9MjM2NjtlLmFhdm93ZWxzaWduZ3VqYXJhdGk9Mjc1MDtlLmFiYnJldmlhdGlvbm1hcmthcm1lbmlhbj0xMzc1O2UuYWJicmV2aWF0aW9uc2lnbmRldmE9MjQxNjtlLmFiZW5nYWxpPTI0Mzc7ZS5hYm9wb21vZm89MTI1NzA7ZS5hYnJldmU9MjU5O2UuYWJyZXZlYWN1dGU9Nzg1NTtlLmFicmV2ZWN5cmlsbGljPTEyMzM7ZS5hYnJldmVkb3RiZWxvdz03ODYzO2UuYWJyZXZlZ3JhdmU9Nzg1NztlLmFicmV2ZWhvb2thYm92ZT03ODU5O2UuYWJyZXZldGlsZGU9Nzg2MTtlLmFjYXJvbj00NjI7ZS5hY2lyY2xlPTk0MjQ7ZS5hY2lyY3VtZmxleD0yMjY7ZS5hY2lyY3VtZmxleGFjdXRlPTc4NDU7ZS5hY2lyY3VtZmxleGRvdGJlbG93PTc4NTM7ZS5hY2lyY3VtZmxleGdyYXZlPTc4NDc7ZS5hY2lyY3VtZmxleGhvb2thYm92ZT03ODQ5O2UuYWNpcmN1bWZsZXh0aWxkZT03ODUxO2UuYWN1dGU9MTgwO2UuYWN1dGViZWxvd2NtYj03OTE7ZS5hY3V0ZWNtYj03Njk7ZS5hY3V0ZWNvbWI9NzY5O2UuYWN1dGVkZXZhPTIzODg7ZS5hY3V0ZWxvd21vZD03MTk7ZS5hY3V0ZXRvbmVjbWI9ODMzO2UuYWN5cmlsbGljPTEwNzI7ZS5hZGJsZ3JhdmU9NTEzO2UuYWRkYWtndXJtdWtoaT0yNjczO2UuYWRldmE9MjMwOTtlLmFkaWVyZXNpcz0yMjg7ZS5hZGllcmVzaXNjeXJpbGxpYz0xMjM1O2UuYWRpZXJlc2lzbWFjcm9uPTQ3OTtlLmFkb3RiZWxvdz03ODQxO2UuYWRvdG1hY3Jvbj00ODE7ZS5hZT0yMzA7ZS5hZWFjdXRlPTUwOTtlLmFla29yZWFuPTEyNjI0O2UuYWVtYWNyb249NDgzO2UuYWZpaTAwMjA4PTgyMTM7ZS5hZmlpMDg5NDE9ODM1NjtlLmFmaWkxMDAxNz0xMDQwO2UuYWZpaTEwMDE4PTEwNDE7ZS5hZmlpMTAwMTk9MTA0MjtlLmFmaWkxMDAyMD0xMDQzO2UuYWZpaTEwMDIxPTEwNDQ7ZS5hZmlpMTAwMjI9MTA0NTtlLmFmaWkxMDAyMz0xMDI1O2UuYWZpaTEwMDI0PTEwNDY7ZS5hZmlpMTAwMjU9MTA0NztlLmFmaWkxMDAyNj0xMDQ4O2UuYWZpaTEwMDI3PTEwNDk7ZS5hZmlpMTAwMjg9MTA1MDtlLmFmaWkxMDAyOT0xMDUxO2UuYWZpaTEwMDMwPTEwNTI7ZS5hZmlpMTAwMzE9MTA1MztlLmFmaWkxMDAzMj0xMDU0O2UuYWZpaTEwMDMzPTEwNTU7ZS5hZmlpMTAwMzQ9MTA1NjtlLmFmaWkxMDAzNT0xMDU3O2UuYWZpaTEwMDM2PTEwNTg7ZS5hZmlpMTAwMzc9MTA1OTtlLmFmaWkxMDAzOD0xMDYwO2UuYWZpaTEwMDM5PTEwNjE7ZS5hZmlpMTAwNDA9MTA2MjtlLmFmaWkxMDA0MT0xMDYzO2UuYWZpaTEwMDQyPTEwNjQ7ZS5hZmlpMTAwNDM9MTA2NTtlLmFmaWkxMDA0ND0xMDY2O2UuYWZpaTEwMDQ1PTEwNjc7ZS5hZmlpMTAwNDY9MTA2ODtlLmFmaWkxMDA0Nz0xMDY5O2UuYWZpaTEwMDQ4PTEwNzA7ZS5hZmlpMTAwNDk9MTA3MTtlLmFmaWkxMDA1MD0xMTY4O2UuYWZpaTEwMDUxPTEwMjY7ZS5hZmlpMTAwNTI9MTAyNztlLmFmaWkxMDA1Mz0xMDI4O2UuYWZpaTEwMDU0PTEwMjk7ZS5hZmlpMTAwNTU9MTAzMDtlLmFmaWkxMDA1Nj0xMDMxO2UuYWZpaTEwMDU3PTEwMzI7ZS5hZmlpMTAwNTg9MTAzMztlLmFmaWkxMDA1OT0xMDM0O2UuYWZpaTEwMDYwPTEwMzU7ZS5hZmlpMTAwNjE9MTAzNjtlLmFmaWkxMDA2Mj0xMDM4O2UuYWZpaTEwMDYzPTYzMTcyO2UuYWZpaTEwMDY0PTYzMTczO2UuYWZpaTEwMDY1PTEwNzI7ZS5hZmlpMTAwNjY9MTA3MztlLmFmaWkxMDA2Nz0xMDc0O2UuYWZpaTEwMDY4PTEwNzU7ZS5hZmlpMTAwNjk9MTA3NjtlLmFmaWkxMDA3MD0xMDc3O2UuYWZpaTEwMDcxPTExMDU7ZS5hZmlpMTAwNzI9MTA3ODtlLmFmaWkxMDA3Mz0xMDc5O2UuYWZpaTEwMDc0PTEwODA7ZS5hZmlpMTAwNzU9MTA4MTtlLmFmaWkxMDA3Nj0xMDgyO2UuYWZpaTEwMDc3PTEwODM7ZS5hZmlpMTAwNzg9MTA4NDtlLmFmaWkxMDA3OT0xMDg1O2UuYWZpaTEwMDgwPTEwODY7ZS5hZmlpMTAwODE9MTA4NztlLmFmaWkxMDA4Mj0xMDg4O2UuYWZpaTEwMDgzPTEwODk7ZS5hZmlpMTAwODQ9MTA5MDtlLmFmaWkxMDA4NT0xMDkxO2UuYWZpaTEwMDg2PTEwOTI7ZS5hZmlpMTAwODc9MTA5MztlLmFmaWkxMDA4OD0xMDk0O2UuYWZpaTEwMDg5PTEwOTU7ZS5hZmlpMTAwOTA9MTA5NjtlLmFmaWkxMDA5MT0xMDk3O2UuYWZpaTEwMDkyPTEwOTg7ZS5hZmlpMTAwOTM9MTA5OTtlLmFmaWkxMDA5ND0xMTAwO2UuYWZpaTEwMDk1PTExMDE7ZS5hZmlpMTAwOTY9MTEwMjtlLmFmaWkxMDA5Nz0xMTAzO2UuYWZpaTEwMDk4PTExNjk7ZS5hZmlpMTAwOTk9MTEwNjtlLmFmaWkxMDEwMD0xMTA3O2UuYWZpaTEwMTAxPTExMDg7ZS5hZmlpMTAxMDI9MTEwOTtlLmFmaWkxMDEwMz0xMTEwO2UuYWZpaTEwMTA0PTExMTE7ZS5hZmlpMTAxMDU9MTExMjtlLmFmaWkxMDEwNj0xMTEzO2UuYWZpaTEwMTA3PTExMTQ7ZS5hZmlpMTAxMDg9MTExNTtlLmFmaWkxMDEwOT0xMTE2O2UuYWZpaTEwMTEwPTExMTg7ZS5hZmlpMTAxNDU9MTAzOTtlLmFmaWkxMDE0Nj0xMTIyO2UuYWZpaTEwMTQ3PTExMzg7ZS5hZmlpMTAxNDg9MTE0MDtlLmFmaWkxMDE5Mj02MzE3NDtlLmFmaWkxMDE5Mz0xMTE5O2UuYWZpaTEwMTk0PTExMjM7ZS5hZmlpMTAxOTU9MTEzOTtlLmFmaWkxMDE5Nj0xMTQxO2UuYWZpaTEwODMxPTYzMTc1O2UuYWZpaTEwODMyPTYzMTc2O2UuYWZpaTEwODQ2PTEyNDE7ZS5hZmlpMjk5PTgyMDY7ZS5hZmlpMzAwPTgyMDc7ZS5hZmlpMzAxPTgyMDU7ZS5hZmlpNTczODE9MTY0MjtlLmFmaWk1NzM4OD0xNTQ4O2UuYWZpaTU3MzkyPTE2MzI7ZS5hZmlpNTczOTM9MTYzMztlLmFmaWk1NzM5ND0xNjM0O2UuYWZpaTU3Mzk1PTE2MzU7ZS5hZmlpNTczOTY9MTYzNjtlLmFmaWk1NzM5Nz0xNjM3O2UuYWZpaTU3Mzk4PTE2Mzg7ZS5hZmlpNTczOTk9MTYzOTtlLmFmaWk1NzQwMD0xNjQwO2UuYWZpaTU3NDAxPTE2NDE7ZS5hZmlpNTc0MDM9MTU2MztlLmFmaWk1NzQwNz0xNTY3O2UuYWZpaTU3NDA5PTE1Njk7ZS5hZmlpNTc0MTA9MTU3MDtlLmFmaWk1NzQxMT0xNTcxO2UuYWZpaTU3NDEyPTE1NzI7ZS5hZmlpNTc0MTM9MTU3MztlLmFmaWk1NzQxND0xNTc0O2UuYWZpaTU3NDE1PTE1NzU7ZS5hZmlpNTc0MTY9MTU3NjtlLmFmaWk1NzQxNz0xNTc3O2UuYWZpaTU3NDE4PTE1Nzg7ZS5hZmlpNTc0MTk9MTU3OTtlLmFmaWk1NzQyMD0xNTgwO2UuYWZpaTU3NDIxPTE1ODE7ZS5hZmlpNTc0MjI9MTU4MjtlLmFmaWk1NzQyMz0xNTgzO2UuYWZpaTU3NDI0PTE1ODQ7ZS5hZmlpNTc0MjU9MTU4NTtlLmFmaWk1NzQyNj0xNTg2O2UuYWZpaTU3NDI3PTE1ODc7ZS5hZmlpNTc0Mjg9MTU4ODtlLmFmaWk1NzQyOT0xNTg5O2UuYWZpaTU3NDMwPTE1OTA7ZS5hZmlpNTc0MzE9MTU5MTtlLmFmaWk1NzQzMj0xNTkyO2UuYWZpaTU3NDMzPTE1OTM7ZS5hZmlpNTc0MzQ9MTU5NDtlLmFmaWk1NzQ0MD0xNjAwO2UuYWZpaTU3NDQxPTE2MDE7ZS5hZmlpNTc0NDI9MTYwMjtlLmFmaWk1NzQ0Mz0xNjAzO2UuYWZpaTU3NDQ0PTE2MDQ7ZS5hZmlpNTc0NDU9MTYwNTtlLmFmaWk1NzQ0Nj0xNjA2O2UuYWZpaTU3NDQ4PTE2MDg7ZS5hZmlpNTc0NDk9MTYwOTtlLmFmaWk1NzQ1MD0xNjEwO2UuYWZpaTU3NDUxPTE2MTE7ZS5hZmlpNTc0NTI9MTYxMjtlLmFmaWk1NzQ1Mz0xNjEzO2UuYWZpaTU3NDU0PTE2MTQ7ZS5hZmlpNTc0NTU9MTYxNTtlLmFmaWk1NzQ1Nj0xNjE2O2UuYWZpaTU3NDU3PTE2MTc7ZS5hZmlpNTc0NTg9MTYxODtlLmFmaWk1NzQ3MD0xNjA3O2UuYWZpaTU3NTA1PTE3MDA7ZS5hZmlpNTc1MDY9MTY2MjtlLmFmaWk1NzUwNz0xNjcwO2UuYWZpaTU3NTA4PTE2ODg7ZS5hZmlpNTc1MDk9MTcxMTtlLmFmaWk1NzUxMT0xNjU3O2UuYWZpaTU3NTEyPTE2NzI7ZS5hZmlpNTc1MTM9MTY4MTtlLmFmaWk1NzUxND0xNzIyO2UuYWZpaTU3NTE5PTE3NDY7ZS5hZmlpNTc1MzQ9MTc0OTtlLmFmaWk1NzYzNj04MzYyO2UuYWZpaTU3NjQ1PTE0NzA7ZS5hZmlpNTc2NTg9MTQ3NTtlLmFmaWk1NzY2ND0xNDg4O2UuYWZpaTU3NjY1PTE0ODk7ZS5hZmlpNTc2NjY9MTQ5MDtlLmFmaWk1NzY2Nz0xNDkxO2UuYWZpaTU3NjY4PTE0OTI7ZS5hZmlpNTc2Njk9MTQ5MztlLmFmaWk1NzY3MD0xNDk0O2UuYWZpaTU3NjcxPTE0OTU7ZS5hZmlpNTc2NzI9MTQ5NjtlLmFmaWk1NzY3Mz0xNDk3O2UuYWZpaTU3Njc0PTE0OTg7ZS5hZmlpNTc2NzU9MTQ5OTtlLmFmaWk1NzY3Nj0xNTAwO2UuYWZpaTU3Njc3PTE1MDE7ZS5hZmlpNTc2Nzg9MTUwMjtlLmFmaWk1NzY3OT0xNTAzO2UuYWZpaTU3NjgwPTE1MDQ7ZS5hZmlpNTc2ODE9MTUwNTtlLmFmaWk1NzY4Mj0xNTA2O2UuYWZpaTU3NjgzPTE1MDc7ZS5hZmlpNTc2ODQ9MTUwODtlLmFmaWk1NzY4NT0xNTA5O2UuYWZpaTU3Njg2PTE1MTA7ZS5hZmlpNTc2ODc9MTUxMTtlLmFmaWk1NzY4OD0xNTEyO2UuYWZpaTU3Njg5PTE1MTM7ZS5hZmlpNTc2OTA9MTUxNDtlLmFmaWk1NzY5ND02NDI5ODtlLmFmaWk1NzY5NT02NDI5OTtlLmFmaWk1NzcwMD02NDMzMTtlLmFmaWk1NzcwNT02NDI4NztlLmFmaWk1NzcxNj0xNTIwO2UuYWZpaTU3NzE3PTE1MjE7ZS5hZmlpNTc3MTg9MTUyMjtlLmFmaWk1NzcyMz02NDMwOTtlLmFmaWk1Nzc5Mz0xNDYwO2UuYWZpaTU3Nzk0PTE0NjE7ZS5hZmlpNTc3OTU9MTQ2MjtlLmFmaWk1Nzc5Nj0xNDY3O2UuYWZpaTU3Nzk3PTE0NjQ7ZS5hZmlpNTc3OTg9MTQ2MztlLmFmaWk1Nzc5OT0xNDU2O2UuYWZpaTU3ODAwPTE0NTg7ZS5hZmlpNTc4MDE9MTQ1NztlLmFmaWk1NzgwMj0xNDU5O2UuYWZpaTU3ODAzPTE0NzQ7ZS5hZmlpNTc4MDQ9MTQ3MztlLmFmaWk1NzgwNj0xNDY1O2UuYWZpaTU3ODA3PTE0Njg7ZS5hZmlpNTc4Mzk9MTQ2OTtlLmFmaWk1Nzg0MT0xNDcxO2UuYWZpaTU3ODQyPTE0NzI7ZS5hZmlpNTc5Mjk9NzAwO2UuYWZpaTYxMjQ4PTg0NTM7ZS5hZmlpNjEyODk9ODQ2NztlLmFmaWk2MTM1Mj04NDcwO2UuYWZpaTYxNTczPTgyMzY7ZS5hZmlpNjE1NzQ9ODIzNztlLmFmaWk2MTU3NT04MjM4O2UuYWZpaTYxNjY0PTgyMDQ7ZS5hZmlpNjMxNjc9MTY0NTtlLmFmaWk2NDkzNz03MDE7ZS5hZ3JhdmU9MjI0O2UuYWd1amFyYXRpPTI2OTM7ZS5hZ3VybXVraGk9MjU2NTtlLmFoaXJhZ2FuYT0xMjM1NDtlLmFob29rYWJvdmU9Nzg0MztlLmFpYmVuZ2FsaT0yNDQ4O2UuYWlib3BvbW9mbz0xMjU3NDtlLmFpZGV2YT0yMzIwO2UuYWllY3lyaWxsaWM9MTIzNztlLmFpZ3VqYXJhdGk9MjcwNDtlLmFpZ3VybXVraGk9MjU3NjtlLmFpbWF0cmFndXJtdWtoaT0yNjMyO2UuYWluYXJhYmljPTE1OTM7ZS5haW5maW5hbGFyYWJpYz02NTIyNjtlLmFpbmluaXRpYWxhcmFiaWM9NjUyMjc7ZS5haW5tZWRpYWxhcmFiaWM9NjUyMjg7ZS5haW52ZXJ0ZWRicmV2ZT01MTU7ZS5haXZvd2Vsc2lnbmJlbmdhbGk9MjUwNDtlLmFpdm93ZWxzaWduZGV2YT0yMzc2O2UuYWl2b3dlbHNpZ25ndWphcmF0aT0yNzYwO2UuYWthdGFrYW5hPTEyNDUwO2UuYWthdGFrYW5haGFsZndpZHRoPTY1MzkzO2UuYWtvcmVhbj0xMjYyMztlLmFsZWY9MTQ4ODtlLmFsZWZhcmFiaWM9MTU3NTtlLmFsZWZkYWdlc2hoZWJyZXc9NjQzMDQ7ZS5hbGVmZmluYWxhcmFiaWM9NjUxNjY7ZS5hbGVmaGFtemFhYm92ZWFyYWJpYz0xNTcxO2UuYWxlZmhhbXphYWJvdmVmaW5hbGFyYWJpYz02NTE1NjtlLmFsZWZoYW16YWJlbG93YXJhYmljPTE1NzM7ZS5hbGVmaGFtemFiZWxvd2ZpbmFsYXJhYmljPTY1MTYwO2UuYWxlZmhlYnJldz0xNDg4O2UuYWxlZmxhbWVkaGVicmV3PTY0MzM1O2UuYWxlZm1hZGRhYWJvdmVhcmFiaWM9MTU3MDtlLmFsZWZtYWRkYWFib3ZlZmluYWxhcmFiaWM9NjUxNTQ7ZS5hbGVmbWFrc3VyYWFyYWJpYz0xNjA5O2UuYWxlZm1ha3N1cmFmaW5hbGFyYWJpYz02NTI2NDtlLmFsZWZtYWtzdXJhaW5pdGlhbGFyYWJpYz02NTI2NztlLmFsZWZtYWtzdXJhbWVkaWFsYXJhYmljPTY1MjY4O2UuYWxlZnBhdGFoaGVicmV3PTY0MzAyO2UuYWxlZnFhbWF0c2hlYnJldz02NDMwMztlLmFsZXBoPTg1MDE7ZS5hbGxlcXVhbD04NzgwO2UuYWxwaGE9OTQ1O2UuYWxwaGF0b25vcz05NDA7ZS5hbWFjcm9uPTI1NztlLmFtb25vc3BhY2U9NjUzNDU7ZS5hbXBlcnNhbmQ9Mzg7ZS5hbXBlcnNhbmRtb25vc3BhY2U9NjUyODY7ZS5hbXBlcnNhbmRzbWFsbD02MzI3MDtlLmFtc3F1YXJlPTEzMjUwO2UuYW5ib3BvbW9mbz0xMjU3ODtlLmFuZ2JvcG9tb2ZvPTEyNTgwO2UuYW5nYnJhY2tldGxlZnQ9MTIyOTY7ZS5hbmdicmFja2V0cmlnaHQ9MTIyOTc7ZS5hbmdraGFua2h1dGhhaT0zNjc0O2UuYW5nbGU9ODczNjtlLmFuZ2xlYnJhY2tldGxlZnQ9MTIyOTY7ZS5hbmdsZWJyYWNrZXRsZWZ0dmVydGljYWw9NjUwODc7ZS5hbmdsZWJyYWNrZXRyaWdodD0xMjI5NztlLmFuZ2xlYnJhY2tldHJpZ2h0dmVydGljYWw9NjUwODg7ZS5hbmdsZWxlZnQ9OTAwMTtlLmFuZ2xlcmlnaHQ9OTAwMjtlLmFuZ3N0cm9tPTg0OTE7ZS5hbm90ZWxlaWE9OTAzO2UuYW51ZGF0dGFkZXZhPTIzODY7ZS5hbnVzdmFyYWJlbmdhbGk9MjQzNDtlLmFudXN2YXJhZGV2YT0yMzA2O2UuYW51c3ZhcmFndWphcmF0aT0yNjkwO2UuYW9nb25laz0yNjE7ZS5hcGFhdG9zcXVhcmU9MTMwNTY7ZS5hcGFyZW49OTM3MjtlLmFwb3N0cm9waGVhcm1lbmlhbj0xMzcwO2UuYXBvc3Ryb3BoZW1vZD03MDA7ZS5hcHBsZT02Mzc0MztlLmFwcHJvYWNoZXM9ODc4NDtlLmFwcHJveGVxdWFsPTg3NzY7ZS5hcHByb3hlcXVhbG9yaW1hZ2U9ODc4NjtlLmFwcHJveGltYXRlbHllcXVhbD04NzczO2UuYXJhZWFla29yZWFuPTEyNjg2O2UuYXJhZWFrb3JlYW49MTI2ODU7ZS5hcmM9ODk3ODtlLmFyaWdodGhhbGZyaW5nPTc4MzQ7ZS5hcmluZz0yMjk7ZS5hcmluZ2FjdXRlPTUwNztlLmFyaW5nYmVsb3c9NzY4MTtlLmFycm93Ym90aD04NTk2O2UuYXJyb3dkYXNoZG93bj04Njc1O2UuYXJyb3dkYXNobGVmdD04NjcyO2UuYXJyb3dkYXNocmlnaHQ9ODY3NDtlLmFycm93ZGFzaHVwPTg2NzM7ZS5hcnJvd2RibGJvdGg9ODY2MDtlLmFycm93ZGJsZG93bj04NjU5O2UuYXJyb3dkYmxsZWZ0PTg2NTY7ZS5hcnJvd2RibHJpZ2h0PTg2NTg7ZS5hcnJvd2RibHVwPTg2NTc7ZS5hcnJvd2Rvd249ODU5NTtlLmFycm93ZG93bmxlZnQ9ODYwMTtlLmFycm93ZG93bnJpZ2h0PTg2MDA7ZS5hcnJvd2Rvd253aGl0ZT04NjgxO2UuYXJyb3doZWFkZG93bm1vZD03MDk7ZS5hcnJvd2hlYWRsZWZ0bW9kPTcwNjtlLmFycm93aGVhZHJpZ2h0bW9kPTcwNztlLmFycm93aGVhZHVwbW9kPTcwODtlLmFycm93aG9yaXpleD02MzcxOTtlLmFycm93bGVmdD04NTkyO2UuYXJyb3dsZWZ0ZGJsPTg2NTY7ZS5hcnJvd2xlZnRkYmxzdHJva2U9ODY1MztlLmFycm93bGVmdG92ZXJyaWdodD04NjQ2O2UuYXJyb3dsZWZ0d2hpdGU9ODY3ODtlLmFycm93cmlnaHQ9ODU5NDtlLmFycm93cmlnaHRkYmxzdHJva2U9ODY1NTtlLmFycm93cmlnaHRoZWF2eT0xMDE0MjtlLmFycm93cmlnaHRvdmVybGVmdD04NjQ0O2UuYXJyb3dyaWdodHdoaXRlPTg2ODA7ZS5hcnJvd3RhYmxlZnQ9ODY3NjtlLmFycm93dGFicmlnaHQ9ODY3NztlLmFycm93dXA9ODU5MztlLmFycm93dXBkbj04NTk3O2UuYXJyb3d1cGRuYnNlPTg2MTY7ZS5hcnJvd3VwZG93bmJhc2U9ODYxNjtlLmFycm93dXBsZWZ0PTg1OTg7ZS5hcnJvd3VwbGVmdG9mZG93bj04NjQ1O2UuYXJyb3d1cHJpZ2h0PTg1OTk7ZS5hcnJvd3Vwd2hpdGU9ODY3OTtlLmFycm93dmVydGV4PTYzNzE4O2UuYXNjaWljaXJjdW09OTQ7ZS5hc2NpaWNpcmN1bW1vbm9zcGFjZT02NTM0MjtlLmFzY2lpdGlsZGU9MTI2O2UuYXNjaWl0aWxkZW1vbm9zcGFjZT02NTM3NDtlLmFzY3JpcHQ9NTkzO2UuYXNjcmlwdHR1cm5lZD01OTQ7ZS5hc21hbGxoaXJhZ2FuYT0xMjM1MztlLmFzbWFsbGthdGFrYW5hPTEyNDQ5O2UuYXNtYWxsa2F0YWthbmFoYWxmd2lkdGg9NjUzODM7ZS5hc3Rlcmlzaz00MjtlLmFzdGVyaXNrYWx0b25lYXJhYmljPTE2NDU7ZS5hc3Rlcmlza2FyYWJpYz0xNjQ1O2UuYXN0ZXJpc2ttYXRoPTg3Mjc7ZS5hc3Rlcmlza21vbm9zcGFjZT02NTI5MDtlLmFzdGVyaXNrc21hbGw9NjUxMjE7ZS5hc3RlcmlzbT04MjU4O2UuYXN1cGVyaW9yPTYzMjA5O2UuYXN5bXB0b3RpY2FsbHllcXVhbD04NzcxO2UuYXQ9NjQ7ZS5hdGlsZGU9MjI3O2UuYXRtb25vc3BhY2U9NjUzMTI7ZS5hdHNtYWxsPTY1MTMxO2UuYXR1cm5lZD01OTI7ZS5hdWJlbmdhbGk9MjQ1MjtlLmF1Ym9wb21vZm89MTI1NzY7ZS5hdWRldmE9MjMyNDtlLmF1Z3VqYXJhdGk9MjcwODtlLmF1Z3VybXVraGk9MjU4MDtlLmF1bGVuZ3RobWFya2JlbmdhbGk9MjUxOTtlLmF1bWF0cmFndXJtdWtoaT0yNjM2O2UuYXV2b3dlbHNpZ25iZW5nYWxpPTI1MDg7ZS5hdXZvd2Vsc2lnbmRldmE9MjM4MDtlLmF1dm93ZWxzaWduZ3VqYXJhdGk9Mjc2NDtlLmF2YWdyYWhhZGV2YT0yMzY1O2UuYXliYXJtZW5pYW49MTM3NztlLmF5aW49MTUwNjtlLmF5aW5hbHRvbmVoZWJyZXc9NjQyODg7ZS5heWluaGVicmV3PTE1MDY7ZS5iPTk4O2UuYmFiZW5nYWxpPTI0NzY7ZS5iYWNrc2xhc2g9OTI7ZS5iYWNrc2xhc2htb25vc3BhY2U9NjUzNDA7ZS5iYWRldmE9MjM0ODtlLmJhZ3VqYXJhdGk9MjczMjtlLmJhZ3VybXVraGk9MjYwNDtlLmJhaGlyYWdhbmE9MTI0MDA7ZS5iYWh0dGhhaT0zNjQ3O2UuYmFrYXRha2FuYT0xMjQ5NjtlLmJhcj0xMjQ7ZS5iYXJtb25vc3BhY2U9NjUzNzI7ZS5iYm9wb21vZm89MTI1NDk7ZS5iY2lyY2xlPTk0MjU7ZS5iZG90YWNjZW50PTc2ODM7ZS5iZG90YmVsb3c9NzY4NTtlLmJlYW1lZHNpeHRlZW50aG5vdGVzPTk4MzY7ZS5iZWNhdXNlPTg3NTc7ZS5iZWN5cmlsbGljPTEwNzM7ZS5iZWhhcmFiaWM9MTU3NjtlLmJlaGZpbmFsYXJhYmljPTY1MTY4O2UuYmVoaW5pdGlhbGFyYWJpYz02NTE2OTtlLmJlaGlyYWdhbmE9MTI0MDk7ZS5iZWhtZWRpYWxhcmFiaWM9NjUxNzA7ZS5iZWhtZWVtaW5pdGlhbGFyYWJpYz02NDY3MTtlLmJlaG1lZW1pc29sYXRlZGFyYWJpYz02NDUyMDtlLmJlaG5vb25maW5hbGFyYWJpYz02NDYyMTtlLmJla2F0YWthbmE9MTI1MDU7ZS5iZW5hcm1lbmlhbj0xMzc4O2UuYmV0PTE0ODk7ZS5iZXRhPTk0NjtlLmJldGFzeW1ib2xncmVlaz05NzY7ZS5iZXRkYWdlc2g9NjQzMDU7ZS5iZXRkYWdlc2hoZWJyZXc9NjQzMDU7ZS5iZXRoZWJyZXc9MTQ4OTtlLmJldHJhZmVoZWJyZXc9NjQzMzI7ZS5iaGFiZW5nYWxpPTI0Nzc7ZS5iaGFkZXZhPTIzNDk7ZS5iaGFndWphcmF0aT0yNzMzO2UuYmhhZ3VybXVraGk9MjYwNTtlLmJob29rPTU5NTtlLmJpaGlyYWdhbmE9MTI0MDM7ZS5iaWthdGFrYW5hPTEyNDk5O2UuYmlsYWJpYWxjbGljaz02NjQ7ZS5iaW5kaWd1cm11a2hpPTI1NjI7ZS5iaXJ1c3F1YXJlPTEzMTA1O2UuYmxhY2tjaXJjbGU9OTY3OTtlLmJsYWNrZGlhbW9uZD05NjcwO2UuYmxhY2tkb3ducG9pbnRpbmd0cmlhbmdsZT05NjYwO2UuYmxhY2tsZWZ0cG9pbnRpbmdwb2ludGVyPTk2Njg7ZS5ibGFja2xlZnRwb2ludGluZ3RyaWFuZ2xlPTk2NjQ7ZS5ibGFja2xlbnRpY3VsYXJicmFja2V0bGVmdD0xMjMwNDtlLmJsYWNrbGVudGljdWxhcmJyYWNrZXRsZWZ0dmVydGljYWw9NjUwODM7ZS5ibGFja2xlbnRpY3VsYXJicmFja2V0cmlnaHQ9MTIzMDU7ZS5ibGFja2xlbnRpY3VsYXJicmFja2V0cmlnaHR2ZXJ0aWNhbD02NTA4NDtlLmJsYWNrbG93ZXJsZWZ0dHJpYW5nbGU9OTY5OTtlLmJsYWNrbG93ZXJyaWdodHRyaWFuZ2xlPTk2OTg7ZS5ibGFja3JlY3RhbmdsZT05NjQ0O2UuYmxhY2tyaWdodHBvaW50aW5ncG9pbnRlcj05NjU4O2UuYmxhY2tyaWdodHBvaW50aW5ndHJpYW5nbGU9OTY1NDtlLmJsYWNrc21hbGxzcXVhcmU9OTY0MjtlLmJsYWNrc21pbGluZ2ZhY2U9OTc4NztlLmJsYWNrc3F1YXJlPTk2MzI7ZS5ibGFja3N0YXI9OTczMztlLmJsYWNrdXBwZXJsZWZ0dHJpYW5nbGU9OTcwMDtlLmJsYWNrdXBwZXJyaWdodHRyaWFuZ2xlPTk3MDE7ZS5ibGFja3VwcG9pbnRpbmdzbWFsbHRyaWFuZ2xlPTk2NTI7ZS5ibGFja3VwcG9pbnRpbmd0cmlhbmdsZT05NjUwO2UuYmxhbms9OTI1MTtlLmJsaW5lYmVsb3c9NzY4NztlLmJsb2NrPTk2MDg7ZS5ibW9ub3NwYWNlPTY1MzQ2O2UuYm9iYWltYWl0aGFpPTM2MTA7ZS5ib2hpcmFnYW5hPTEyNDEyO2UuYm9rYXRha2FuYT0xMjUwODtlLmJwYXJlbj05MzczO2UuYnFzcXVhcmU9MTMyNTE7ZS5icmFjZWV4PTYzNzMyO2UuYnJhY2VsZWZ0PTEyMztlLmJyYWNlbGVmdGJ0PTYzNzMxO2UuYnJhY2VsZWZ0bWlkPTYzNzMwO2UuYnJhY2VsZWZ0bW9ub3NwYWNlPTY1MzcxO2UuYnJhY2VsZWZ0c21hbGw9NjUxMTU7ZS5icmFjZWxlZnR0cD02MzcyOTtlLmJyYWNlbGVmdHZlcnRpY2FsPTY1MDc5O2UuYnJhY2VyaWdodD0xMjU7ZS5icmFjZXJpZ2h0YnQ9NjM3NDI7ZS5icmFjZXJpZ2h0bWlkPTYzNzQxO2UuYnJhY2VyaWdodG1vbm9zcGFjZT02NTM3MztlLmJyYWNlcmlnaHRzbWFsbD02NTExNjtlLmJyYWNlcmlnaHR0cD02Mzc0MDtlLmJyYWNlcmlnaHR2ZXJ0aWNhbD02NTA4MDtlLmJyYWNrZXRsZWZ0PTkxO2UuYnJhY2tldGxlZnRidD02MzcyODtlLmJyYWNrZXRsZWZ0ZXg9NjM3Mjc7ZS5icmFja2V0bGVmdG1vbm9zcGFjZT02NTMzOTtlLmJyYWNrZXRsZWZ0dHA9NjM3MjY7ZS5icmFja2V0cmlnaHQ9OTM7ZS5icmFja2V0cmlnaHRidD02MzczOTtlLmJyYWNrZXRyaWdodGV4PTYzNzM4O2UuYnJhY2tldHJpZ2h0bW9ub3NwYWNlPTY1MzQxO2UuYnJhY2tldHJpZ2h0dHA9NjM3Mzc7ZS5icmV2ZT03Mjg7ZS5icmV2ZWJlbG93Y21iPTgxNDtlLmJyZXZlY21iPTc3NDtlLmJyZXZlaW52ZXJ0ZWRiZWxvd2NtYj04MTU7ZS5icmV2ZWludmVydGVkY21iPTc4NTtlLmJyZXZlaW52ZXJ0ZWRkb3VibGVjbWI9ODY1O2UuYnJpZGdlYmVsb3djbWI9ODEwO2UuYnJpZGdlaW52ZXJ0ZWRiZWxvd2NtYj04MjY7ZS5icm9rZW5iYXI9MTY2O2UuYnN0cm9rZT0zODQ7ZS5ic3VwZXJpb3I9NjMyMTA7ZS5idG9wYmFyPTM4NztlLmJ1aGlyYWdhbmE9MTI0MDY7ZS5idWthdGFrYW5hPTEyNTAyO2UuYnVsbGV0PTgyMjY7ZS5idWxsZXRpbnZlcnNlPTk2ODg7ZS5idWxsZXRvcGVyYXRvcj04NzI5O2UuYnVsbHNleWU9OTY3ODtlLmM9OTk7ZS5jYWFybWVuaWFuPTEzOTA7ZS5jYWJlbmdhbGk9MjQ1ODtlLmNhY3V0ZT0yNjM7ZS5jYWRldmE9MjMzMDtlLmNhZ3VqYXJhdGk9MjcxNDtlLmNhZ3VybXVraGk9MjU4NjtlLmNhbHNxdWFyZT0xMzE5MjtlLmNhbmRyYWJpbmR1YmVuZ2FsaT0yNDMzO2UuY2FuZHJhYmluZHVjbWI9Nzg0O2UuY2FuZHJhYmluZHVkZXZhPTIzMDU7ZS5jYW5kcmFiaW5kdWd1amFyYXRpPTI2ODk7ZS5jYXBzbG9jaz04NjgyO2UuY2FyZW9mPTg0NTM7ZS5jYXJvbj03MTE7ZS5jYXJvbmJlbG93Y21iPTgxMjtlLmNhcm9uY21iPTc4MDtlLmNhcnJpYWdlcmV0dXJuPTg2Mjk7ZS5jYm9wb21vZm89MTI1Njg7ZS5jY2Fyb249MjY5O2UuY2NlZGlsbGE9MjMxO2UuY2NlZGlsbGFhY3V0ZT03Njg5O2UuY2NpcmNsZT05NDI2O2UuY2NpcmN1bWZsZXg9MjY1O2UuY2N1cmw9NTk3O2UuY2RvdD0yNjc7ZS5jZG90YWNjZW50PTI2NztlLmNkc3F1YXJlPTEzMjUzO2UuY2VkaWxsYT0xODQ7ZS5jZWRpbGxhY21iPTgwNztlLmNlbnQ9MTYyO2UuY2VudGlncmFkZT04NDUxO2UuY2VudGluZmVyaW9yPTYzMTk5O2UuY2VudG1vbm9zcGFjZT02NTUwNDtlLmNlbnRvbGRzdHlsZT02MzM5NDtlLmNlbnRzdXBlcmlvcj02MzIwMDtlLmNoYWFybWVuaWFuPTE0MDE7ZS5jaGFiZW5nYWxpPTI0NTk7ZS5jaGFkZXZhPTIzMzE7ZS5jaGFndWphcmF0aT0yNzE1O2UuY2hhZ3VybXVraGk9MjU4NztlLmNoYm9wb21vZm89MTI1NjQ7ZS5jaGVhYmtoYXNpYW5jeXJpbGxpYz0xMjEzO2UuY2hlY2ttYXJrPTEwMDAzO2UuY2hlY3lyaWxsaWM9MTA5NTtlLmNoZWRlc2NlbmRlcmFia2hhc2lhbmN5cmlsbGljPTEyMTU7ZS5jaGVkZXNjZW5kZXJjeXJpbGxpYz0xMjA3O2UuY2hlZGllcmVzaXNjeXJpbGxpYz0xMjY5O2UuY2hlaGFybWVuaWFuPTEzOTU7ZS5jaGVraGFrYXNzaWFuY3lyaWxsaWM9MTIyODtlLmNoZXZlcnRpY2Fsc3Ryb2tlY3lyaWxsaWM9MTIwOTtlLmNoaT05Njc7ZS5jaGlldWNoYWNpcmNsZWtvcmVhbj0xMjkxOTtlLmNoaWV1Y2hhcGFyZW5rb3JlYW49MTI4MjM7ZS5jaGlldWNoY2lyY2xla29yZWFuPTEyOTA1O2UuY2hpZXVjaGtvcmVhbj0xMjYxODtlLmNoaWV1Y2hwYXJlbmtvcmVhbj0xMjgwOTtlLmNob2NoYW5ndGhhaT0zNTk0O2UuY2hvY2hhbnRoYWk9MzU5MjtlLmNob2NoaW5ndGhhaT0zNTkzO2UuY2hvY2hvZXRoYWk9MzU5NjtlLmNob29rPTM5MjtlLmNpZXVjYWNpcmNsZWtvcmVhbj0xMjkxODtlLmNpZXVjYXBhcmVua29yZWFuPTEyODIyO2UuY2lldWNjaXJjbGVrb3JlYW49MTI5MDQ7ZS5jaWV1Y2tvcmVhbj0xMjYxNjtlLmNpZXVjcGFyZW5rb3JlYW49MTI4MDg7ZS5jaWV1Y3VwYXJlbmtvcmVhbj0xMjgyODtlLmNpcmNsZT05Njc1O2UuY2lyY2xlY29weXJ0PTE2OTtlLmNpcmNsZW11bHRpcGx5PTg4NTU7ZS5jaXJjbGVvdD04ODU3O2UuY2lyY2xlcGx1cz04ODUzO2UuY2lyY2xlcG9zdGFsbWFyaz0xMjM0MjtlLmNpcmNsZXdpdGhsZWZ0aGFsZmJsYWNrPTk2ODA7ZS5jaXJjbGV3aXRocmlnaHRoYWxmYmxhY2s9OTY4MTtlLmNpcmN1bWZsZXg9NzEwO2UuY2lyY3VtZmxleGJlbG93Y21iPTgxMztlLmNpcmN1bWZsZXhjbWI9NzcwO2UuY2xlYXI9ODk5OTtlLmNsaWNrYWx2ZW9sYXI9NDUwO2UuY2xpY2tkZW50YWw9NDQ4O2UuY2xpY2tsYXRlcmFsPTQ0OTtlLmNsaWNrcmV0cm9mbGV4PTQ1MTtlLmNsdWI9OTgyNztlLmNsdWJzdWl0YmxhY2s9OTgyNztlLmNsdWJzdWl0d2hpdGU9OTgzMTtlLmNtY3ViZWRzcXVhcmU9MTMyMjA7ZS5jbW9ub3NwYWNlPTY1MzQ3O2UuY21zcXVhcmVkc3F1YXJlPTEzMjE2O2UuY29hcm1lbmlhbj0xNDA5O2UuY29sb249NTg7ZS5jb2xvbm1vbmV0YXJ5PTgzNTM7ZS5jb2xvbm1vbm9zcGFjZT02NTMwNjtlLmNvbG9uc2lnbj04MzUzO2UuY29sb25zbWFsbD02NTEwOTtlLmNvbG9udHJpYW5ndWxhcmhhbGZtb2Q9NzIxO2UuY29sb250cmlhbmd1bGFybW9kPTcyMDtlLmNvbW1hPTQ0O2UuY29tbWFhYm92ZWNtYj03ODc7ZS5jb21tYWFib3ZlcmlnaHRjbWI9Nzg5O2UuY29tbWFhY2NlbnQ9NjMxNzE7ZS5jb21tYWFyYWJpYz0xNTQ4O2UuY29tbWFhcm1lbmlhbj0xMzczO2UuY29tbWFpbmZlcmlvcj02MzIwMTtlLmNvbW1hbW9ub3NwYWNlPTY1MjkyO2UuY29tbWFyZXZlcnNlZGFib3ZlY21iPTc4ODtlLmNvbW1hcmV2ZXJzZWRtb2Q9NzAxO2UuY29tbWFzbWFsbD02NTEwNDtlLmNvbW1hc3VwZXJpb3I9NjMyMDI7ZS5jb21tYXR1cm5lZGFib3ZlY21iPTc4NjtlLmNvbW1hdHVybmVkbW9kPTY5OTtlLmNvbXBhc3M9OTc4ODtlLmNvbmdydWVudD04NzczO2UuY29udG91cmludGVncmFsPTg3NTA7ZS5jb250cm9sPTg5NjM7ZS5jb250cm9sQUNLPTY7ZS5jb250cm9sQkVMPTc7ZS5jb250cm9sQlM9ODtlLmNvbnRyb2xDQU49MjQ7ZS5jb250cm9sQ1I9MTM7ZS5jb250cm9sREMxPTE3O2UuY29udHJvbERDMj0xODtlLmNvbnRyb2xEQzM9MTk7ZS5jb250cm9sREM0PTIwO2UuY29udHJvbERFTD0xMjc7ZS5jb250cm9sRExFPTE2O2UuY29udHJvbEVNPTI1O2UuY29udHJvbEVOUT01O2UuY29udHJvbEVPVD00O2UuY29udHJvbEVTQz0yNztlLmNvbnRyb2xFVEI9MjM7ZS5jb250cm9sRVRYPTM7ZS5jb250cm9sRkY9MTI7ZS5jb250cm9sRlM9Mjg7ZS5jb250cm9sR1M9Mjk7ZS5jb250cm9sSFQ9OTtlLmNvbnRyb2xMRj0xMDtlLmNvbnRyb2xOQUs9MjE7ZS5jb250cm9sTlVMTD0wO2UuY29udHJvbFJTPTMwO2UuY29udHJvbFNJPTE1O2UuY29udHJvbFNPPTE0O2UuY29udHJvbFNPVD0yO2UuY29udHJvbFNUWD0xO2UuY29udHJvbFNVQj0yNjtlLmNvbnRyb2xTWU49MjI7ZS5jb250cm9sVVM9MzE7ZS5jb250cm9sVlQ9MTE7ZS5jb3B5cmlnaHQ9MTY5O2UuY29weXJpZ2h0c2Fucz02MzcyMTtlLmNvcHlyaWdodHNlcmlmPTYzMTkzO2UuY29ybmVyYnJhY2tldGxlZnQ9MTIzMDA7ZS5jb3JuZXJicmFja2V0bGVmdGhhbGZ3aWR0aD02NTM3ODtlLmNvcm5lcmJyYWNrZXRsZWZ0dmVydGljYWw9NjUwODk7ZS5jb3JuZXJicmFja2V0cmlnaHQ9MTIzMDE7ZS5jb3JuZXJicmFja2V0cmlnaHRoYWxmd2lkdGg9NjUzNzk7ZS5jb3JuZXJicmFja2V0cmlnaHR2ZXJ0aWNhbD02NTA5MDtlLmNvcnBvcmF0aW9uc3F1YXJlPTEzMTgzO2UuY29zcXVhcmU9MTMyNTU7ZS5jb3Zlcmtnc3F1YXJlPTEzMjU0O2UuY3BhcmVuPTkzNzQ7ZS5jcnV6ZWlybz04MzU0O2UuY3N0cmV0Y2hlZD02NjM7ZS5jdXJseWFuZD04OTExO2UuY3VybHlvcj04OTEwO2UuY3VycmVuY3k9MTY0O2UuY3lyQnJldmU9NjMxODU7ZS5jeXJGbGV4PTYzMTg2O2UuY3lyYnJldmU9NjMxODg7ZS5jeXJmbGV4PTYzMTg5O2UuZD0xMDA7ZS5kYWFybWVuaWFuPTEzODA7ZS5kYWJlbmdhbGk9MjQ3MDtlLmRhZGFyYWJpYz0xNTkwO2UuZGFkZXZhPTIzNDI7ZS5kYWRmaW5hbGFyYWJpYz02NTIxNDtlLmRhZGluaXRpYWxhcmFiaWM9NjUyMTU7ZS5kYWRtZWRpYWxhcmFiaWM9NjUyMTY7ZS5kYWdlc2g9MTQ2ODtlLmRhZ2VzaGhlYnJldz0xNDY4O2UuZGFnZ2VyPTgyMjQ7ZS5kYWdnZXJkYmw9ODIyNTtlLmRhZ3VqYXJhdGk9MjcyNjtlLmRhZ3VybXVraGk9MjU5ODtlLmRhaGlyYWdhbmE9MTIzODQ7ZS5kYWthdGFrYW5hPTEyNDgwO2UuZGFsYXJhYmljPTE1ODM7ZS5kYWxldD0xNDkxO2UuZGFsZXRkYWdlc2g9NjQzMDc7ZS5kYWxldGRhZ2VzaGhlYnJldz02NDMwNztlLmRhbGV0aGVicmV3PTE0OTE7ZS5kYWxmaW5hbGFyYWJpYz02NTE5NDtlLmRhbW1hYXJhYmljPTE2MTU7ZS5kYW1tYWxvd2FyYWJpYz0xNjE1O2UuZGFtbWF0YW5hbHRvbmVhcmFiaWM9MTYxMjtlLmRhbW1hdGFuYXJhYmljPTE2MTI7ZS5kYW5kYT0yNDA0O2UuZGFyZ2FoZWJyZXc9MTQ0NztlLmRhcmdhbGVmdGhlYnJldz0xNDQ3O2UuZGFzaWFwbmV1bWF0YWN5cmlsbGljY21iPTExNTc7ZS5kYmxHcmF2ZT02MzE4NztlLmRibGFuZ2xlYnJhY2tldGxlZnQ9MTIyOTg7ZS5kYmxhbmdsZWJyYWNrZXRsZWZ0dmVydGljYWw9NjUwODU7ZS5kYmxhbmdsZWJyYWNrZXRyaWdodD0xMjI5OTtlLmRibGFuZ2xlYnJhY2tldHJpZ2h0dmVydGljYWw9NjUwODY7ZS5kYmxhcmNoaW52ZXJ0ZWRiZWxvd2NtYj04MTE7ZS5kYmxhcnJvd2xlZnQ9ODY2MDtlLmRibGFycm93cmlnaHQ9ODY1ODtlLmRibGRhbmRhPTI0MDU7ZS5kYmxncmF2ZT02MzE5MDtlLmRibGdyYXZlY21iPTc4MztlLmRibGludGVncmFsPTg3NDg7ZS5kYmxsb3dsaW5lPTgyMTU7ZS5kYmxsb3dsaW5lY21iPTgxOTtlLmRibG92ZXJsaW5lY21iPTgzMTtlLmRibHByaW1lbW9kPTY5ODtlLmRibHZlcnRpY2FsYmFyPTgyMTQ7ZS5kYmx2ZXJ0aWNhbGxpbmVhYm92ZWNtYj03ODI7ZS5kYm9wb21vZm89MTI1NTM7ZS5kYnNxdWFyZT0xMzI1NjtlLmRjYXJvbj0yNzE7ZS5kY2VkaWxsYT03Njk3O2UuZGNpcmNsZT05NDI3O2UuZGNpcmN1bWZsZXhiZWxvdz03Njk5O2UuZGNyb2F0PTI3MztlLmRkYWJlbmdhbGk9MjQ2NTtlLmRkYWRldmE9MjMzNztlLmRkYWd1amFyYXRpPTI3MjE7ZS5kZGFndXJtdWtoaT0yNTkzO2UuZGRhbGFyYWJpYz0xNjcyO2UuZGRhbGZpbmFsYXJhYmljPTY0MzkzO2UuZGRkaGFkZXZhPTIzOTY7ZS5kZGhhYmVuZ2FsaT0yNDY2O2UuZGRoYWRldmE9MjMzODtlLmRkaGFndWphcmF0aT0yNzIyO2UuZGRoYWd1cm11a2hpPTI1OTQ7ZS5kZG90YWNjZW50PTc2OTE7ZS5kZG90YmVsb3c9NzY5MztlLmRlY2ltYWxzZXBhcmF0b3JhcmFiaWM9MTY0MztlLmRlY2ltYWxzZXBhcmF0b3JwZXJzaWFuPTE2NDM7ZS5kZWN5cmlsbGljPTEwNzY7ZS5kZWdyZWU9MTc2O2UuZGVoaWhlYnJldz0xNDUzO2UuZGVoaXJhZ2FuYT0xMjM5MTtlLmRlaWNvcHRpYz0xMDA3O2UuZGVrYXRha2FuYT0xMjQ4NztlLmRlbGV0ZWxlZnQ9OTAwMztlLmRlbGV0ZXJpZ2h0PTg5OTg7ZS5kZWx0YT05NDg7ZS5kZWx0YXR1cm5lZD0zOTc7ZS5kZW5vbWluYXRvcm1pbnVzb25lbnVtZXJhdG9yYmVuZ2FsaT0yNTUyO2UuZGV6aD02NzY7ZS5kaGFiZW5nYWxpPTI0NzE7ZS5kaGFkZXZhPTIzNDM7ZS5kaGFndWphcmF0aT0yNzI3O2UuZGhhZ3VybXVraGk9MjU5OTtlLmRob29rPTU5OTtlLmRpYWx5dGlrYXRvbm9zPTkwMTtlLmRpYWx5dGlrYXRvbm9zY21iPTgzNjtlLmRpYW1vbmQ9OTgzMDtlLmRpYW1vbmRzdWl0d2hpdGU9OTgyNjtlLmRpZXJlc2lzPTE2ODtlLmRpZXJlc2lzYWN1dGU9NjMxOTE7ZS5kaWVyZXNpc2JlbG93Y21iPTgwNDtlLmRpZXJlc2lzY21iPTc3NjtlLmRpZXJlc2lzZ3JhdmU9NjMxOTI7ZS5kaWVyZXNpc3Rvbm9zPTkwMTtlLmRpaGlyYWdhbmE9MTIzODY7ZS5kaWthdGFrYW5hPTEyNDgyO2UuZGl0dG9tYXJrPTEyMjkxO2UuZGl2aWRlPTI0NztlLmRpdmlkZXM9ODczOTtlLmRpdmlzaW9uc2xhc2g9ODcyNTtlLmRqZWN5cmlsbGljPTExMDY7ZS5ka3NoYWRlPTk2MTk7ZS5kbGluZWJlbG93PTc2OTU7ZS5kbHNxdWFyZT0xMzIwNztlLmRtYWNyb249MjczO2UuZG1vbm9zcGFjZT02NTM0ODtlLmRuYmxvY2s9OTYwNDtlLmRvY2hhZGF0aGFpPTM1OTg7ZS5kb2Rla3RoYWk9MzYwNDtlLmRvaGlyYWdhbmE9MTIzOTM7ZS5kb2thdGFrYW5hPTEyNDg5O2UuZG9sbGFyPTM2O2UuZG9sbGFyaW5mZXJpb3I9NjMyMDM7ZS5kb2xsYXJtb25vc3BhY2U9NjUyODQ7ZS5kb2xsYXJvbGRzdHlsZT02MzI2ODtlLmRvbGxhcnNtYWxsPTY1MTI5O2UuZG9sbGFyc3VwZXJpb3I9NjMyMDQ7ZS5kb25nPTgzNjM7ZS5kb3J1c3F1YXJlPTEzMDk0O2UuZG90YWNjZW50PTcyOTtlLmRvdGFjY2VudGNtYj03NzU7ZS5kb3RiZWxvd2NtYj04MDM7ZS5kb3RiZWxvd2NvbWI9ODAzO2UuZG90a2F0YWthbmE9MTI1Mzk7ZS5kb3RsZXNzaT0zMDU7ZS5kb3RsZXNzaj02MzE2NjtlLmRvdGxlc3Nqc3Ryb2tlaG9vaz02NDQ7ZS5kb3RtYXRoPTg5MDE7ZS5kb3R0ZWRjaXJjbGU9OTY3NjtlLmRvdWJsZXlvZHBhdGFoPTY0Mjg3O2UuZG91YmxleW9kcGF0YWhoZWJyZXc9NjQyODc7ZS5kb3dudGFja2JlbG93Y21iPTc5ODtlLmRvd250YWNrbW9kPTcyNTtlLmRwYXJlbj05Mzc1O2UuZHN1cGVyaW9yPTYzMjExO2UuZHRhaWw9NTk4O2UuZHRvcGJhcj0zOTY7ZS5kdWhpcmFnYW5hPTEyMzg5O2UuZHVrYXRha2FuYT0xMjQ4NTtlLmR6PTQ5OTtlLmR6YWx0b25lPTY3NTtlLmR6Y2Fyb249NDU0O2UuZHpjdXJsPTY3NztlLmR6ZWFia2hhc2lhbmN5cmlsbGljPTEyNDk7ZS5kemVjeXJpbGxpYz0xMTA5O2UuZHpoZWN5cmlsbGljPTExMTk7ZS5lPTEwMTtlLmVhY3V0ZT0yMzM7ZS5lYXJ0aD05NzkzO2UuZWJlbmdhbGk9MjQ0NztlLmVib3BvbW9mbz0xMjU3MjtlLmVicmV2ZT0yNzc7ZS5lY2FuZHJhZGV2YT0yMzE3O2UuZWNhbmRyYWd1amFyYXRpPTI3MDE7ZS5lY2FuZHJhdm93ZWxzaWduZGV2YT0yMzczO2UuZWNhbmRyYXZvd2Vsc2lnbmd1amFyYXRpPTI3NTc7ZS5lY2Fyb249MjgzO2UuZWNlZGlsbGFicmV2ZT03NzA5O2UuZWNoYXJtZW5pYW49MTM4MTtlLmVjaHlpd25hcm1lbmlhbj0xNDE1O2UuZWNpcmNsZT05NDI4O2UuZWNpcmN1bWZsZXg9MjM0O2UuZWNpcmN1bWZsZXhhY3V0ZT03ODcxO2UuZWNpcmN1bWZsZXhiZWxvdz03NzA1O2UuZWNpcmN1bWZsZXhkb3RiZWxvdz03ODc5O2UuZWNpcmN1bWZsZXhncmF2ZT03ODczO2UuZWNpcmN1bWZsZXhob29rYWJvdmU9Nzg3NTtlLmVjaXJjdW1mbGV4dGlsZGU9Nzg3NztlLmVjeXJpbGxpYz0xMTA4O2UuZWRibGdyYXZlPTUxNztlLmVkZXZhPTIzMTk7ZS5lZGllcmVzaXM9MjM1O2UuZWRvdD0yNzk7ZS5lZG90YWNjZW50PTI3OTtlLmVkb3RiZWxvdz03ODY1O2UuZWVndXJtdWtoaT0yNTc1O2UuZWVtYXRyYWd1cm11a2hpPTI2MzE7ZS5lZmN5cmlsbGljPTEwOTI7ZS5lZ3JhdmU9MjMyO2UuZWd1amFyYXRpPTI3MDM7ZS5laGFybWVuaWFuPTEzODM7ZS5laGJvcG9tb2ZvPTEyNTczO2UuZWhpcmFnYW5hPTEyMzYwO2UuZWhvb2thYm92ZT03ODY3O2UuZWlib3BvbW9mbz0xMjU3NTtlLmVpZ2h0PTU2O2UuZWlnaHRhcmFiaWM9MTY0MDtlLmVpZ2h0YmVuZ2FsaT0yNTQyO2UuZWlnaHRjaXJjbGU9OTMxOTtlLmVpZ2h0Y2lyY2xlaW52ZXJzZXNhbnNzZXJpZj0xMDEyOTtlLmVpZ2h0ZGV2YT0yNDE0O2UuZWlnaHRlZW5jaXJjbGU9OTMyOTtlLmVpZ2h0ZWVucGFyZW49OTM0OTtlLmVpZ2h0ZWVucGVyaW9kPTkzNjk7ZS5laWdodGd1amFyYXRpPTI3OTg7ZS5laWdodGd1cm11a2hpPTI2NzA7ZS5laWdodGhhY2thcmFiaWM9MTY0MDtlLmVpZ2h0aGFuZ3pob3U9MTIzMjg7ZS5laWdodGhub3RlYmVhbWVkPTk4MzU7ZS5laWdodGlkZW9ncmFwaGljcGFyZW49MTI4Mzk7ZS5laWdodGluZmVyaW9yPTgzMjg7ZS5laWdodG1vbm9zcGFjZT02NTMwNDtlLmVpZ2h0b2xkc3R5bGU9NjMyODg7ZS5laWdodHBhcmVuPTkzMzk7ZS5laWdodHBlcmlvZD05MzU5O2UuZWlnaHRwZXJzaWFuPTE3ODQ7ZS5laWdodHJvbWFuPTg1Njc7ZS5laWdodHN1cGVyaW9yPTgzMTI7ZS5laWdodHRoYWk9MzY3MjtlLmVpbnZlcnRlZGJyZXZlPTUxOTtlLmVpb3RpZmllZGN5cmlsbGljPTExMjU7ZS5la2F0YWthbmE9MTI0NTY7ZS5la2F0YWthbmFoYWxmd2lkdGg9NjUzOTY7ZS5la29ua2FyZ3VybXVraGk9MjY3NjtlLmVrb3JlYW49MTI2Mjg7ZS5lbGN5cmlsbGljPTEwODM7ZS5lbGVtZW50PTg3MTI7ZS5lbGV2ZW5jaXJjbGU9OTMyMjtlLmVsZXZlbnBhcmVuPTkzNDI7ZS5lbGV2ZW5wZXJpb2Q9OTM2MjtlLmVsZXZlbnJvbWFuPTg1NzA7ZS5lbGxpcHNpcz04MjMwO2UuZWxsaXBzaXN2ZXJ0aWNhbD04OTQyO2UuZW1hY3Jvbj0yNzU7ZS5lbWFjcm9uYWN1dGU9NzcwMztlLmVtYWNyb25ncmF2ZT03NzAxO2UuZW1jeXJpbGxpYz0xMDg0O2UuZW1kYXNoPTgyMTI7ZS5lbWRhc2h2ZXJ0aWNhbD02NTA3MztlLmVtb25vc3BhY2U9NjUzNDk7ZS5lbXBoYXNpc21hcmthcm1lbmlhbj0xMzcxO2UuZW1wdHlzZXQ9ODcwOTtlLmVuYm9wb21vZm89MTI1Nzk7ZS5lbmN5cmlsbGljPTEwODU7ZS5lbmRhc2g9ODIxMTtlLmVuZGFzaHZlcnRpY2FsPTY1MDc0O2UuZW5kZXNjZW5kZXJjeXJpbGxpYz0xMTg3O2UuZW5nPTMzMTtlLmVuZ2JvcG9tb2ZvPTEyNTgxO2UuZW5naGVjeXJpbGxpYz0xMTg5O2UuZW5ob29rY3lyaWxsaWM9MTIyNDtlLmVuc3BhY2U9ODE5NDtlLmVvZ29uZWs9MjgxO2UuZW9rb3JlYW49MTI2Mjc7ZS5lb3Blbj02MDM7ZS5lb3BlbmNsb3NlZD02NjY7ZS5lb3BlbnJldmVyc2VkPTYwNDtlLmVvcGVucmV2ZXJzZWRjbG9zZWQ9NjA2O2UuZW9wZW5yZXZlcnNlZGhvb2s9NjA1O2UuZXBhcmVuPTkzNzY7ZS5lcHNpbG9uPTk0OTtlLmVwc2lsb250b25vcz05NDE7ZS5lcXVhbD02MTtlLmVxdWFsbW9ub3NwYWNlPTY1MzA5O2UuZXF1YWxzbWFsbD02NTEyNjtlLmVxdWFsc3VwZXJpb3I9ODMxNjtlLmVxdWl2YWxlbmNlPTg4MDE7ZS5lcmJvcG9tb2ZvPTEyNTgyO2UuZXJjeXJpbGxpYz0xMDg4O2UuZXJldmVyc2VkPTYwMDtlLmVyZXZlcnNlZGN5cmlsbGljPTExMDE7ZS5lc2N5cmlsbGljPTEwODk7ZS5lc2Rlc2NlbmRlcmN5cmlsbGljPTExOTU7ZS5lc2g9NjQzO2UuZXNoY3VybD02NDY7ZS5lc2hvcnRkZXZhPTIzMTg7ZS5lc2hvcnR2b3dlbHNpZ25kZXZhPTIzNzQ7ZS5lc2hyZXZlcnNlZGxvb3A9NDI2O2UuZXNoc3F1YXRyZXZlcnNlZD02NDU7ZS5lc21hbGxoaXJhZ2FuYT0xMjM1OTtlLmVzbWFsbGthdGFrYW5hPTEyNDU1O2UuZXNtYWxsa2F0YWthbmFoYWxmd2lkdGg9NjUzODY7ZS5lc3RpbWF0ZWQ9ODQ5NDtlLmVzdXBlcmlvcj02MzIxMjtlLmV0YT05NTE7ZS5ldGFybWVuaWFuPTEzODQ7ZS5ldGF0b25vcz05NDI7ZS5ldGg9MjQwO2UuZXRpbGRlPTc4Njk7ZS5ldGlsZGViZWxvdz03NzA3O2UuZXRuYWh0YWZvdWtoaGVicmV3PTE0MjU7ZS5ldG5haHRhZm91a2hsZWZ0aGVicmV3PTE0MjU7ZS5ldG5haHRhaGVicmV3PTE0MjU7ZS5ldG5haHRhbGVmdGhlYnJldz0xNDI1O2UuZXR1cm5lZD00Nzc7ZS5ldWtvcmVhbj0xMjY0MTtlLmV1cm89ODM2NDtlLmV2b3dlbHNpZ25iZW5nYWxpPTI1MDM7ZS5ldm93ZWxzaWduZGV2YT0yMzc1O2UuZXZvd2Vsc2lnbmd1amFyYXRpPTI3NTk7ZS5leGNsYW09MzM7ZS5leGNsYW1hcm1lbmlhbj0xMzcyO2UuZXhjbGFtZGJsPTgyNTI7ZS5leGNsYW1kb3duPTE2MTtlLmV4Y2xhbWRvd25zbWFsbD02MzM5MztlLmV4Y2xhbW1vbm9zcGFjZT02NTI4MTtlLmV4Y2xhbXNtYWxsPTYzMjY1O2UuZXhpc3RlbnRpYWw9ODcwNztlLmV6aD02NTg7ZS5lemhjYXJvbj00OTU7ZS5lemhjdXJsPTY1OTtlLmV6aHJldmVyc2VkPTQ0MTtlLmV6aHRhaWw9NDQyO2UuZj0xMDI7ZS5mYWRldmE9MjM5ODtlLmZhZ3VybXVraGk9MjY1NDtlLmZhaHJlbmhlaXQ9ODQ1NztlLmZhdGhhYXJhYmljPTE2MTQ7ZS5mYXRoYWxvd2FyYWJpYz0xNjE0O2UuZmF0aGF0YW5hcmFiaWM9MTYxMTtlLmZib3BvbW9mbz0xMjU1MjtlLmZjaXJjbGU9OTQyOTtlLmZkb3RhY2NlbnQ9NzcxMTtlLmZlaGFyYWJpYz0xNjAxO2UuZmVoYXJtZW5pYW49MTQxNDtlLmZlaGZpbmFsYXJhYmljPTY1MjM0O2UuZmVoaW5pdGlhbGFyYWJpYz02NTIzNTtlLmZlaG1lZGlhbGFyYWJpYz02NTIzNjtlLmZlaWNvcHRpYz05OTc7ZS5mZW1hbGU9OTc5MjtlLmZmPTY0MjU2O2UuZl9mPTY0MjU2O2UuZmZpPTY0MjU5O2UuZl9mX2k9NjQyNTk7ZS5mZmw9NjQyNjA7ZS5mX2ZfbD02NDI2MDtlLmZpPTY0MjU3O2UuZl9pPTY0MjU3O2UuZmlmdGVlbmNpcmNsZT05MzI2O2UuZmlmdGVlbnBhcmVuPTkzNDY7ZS5maWZ0ZWVucGVyaW9kPTkzNjY7ZS5maWd1cmVkYXNoPTgyMTA7ZS5maWxsZWRib3g9OTYzMjtlLmZpbGxlZHJlY3Q9OTY0NDtlLmZpbmFsa2FmPTE0OTg7ZS5maW5hbGthZmRhZ2VzaD02NDMxNDtlLmZpbmFsa2FmZGFnZXNoaGVicmV3PTY0MzE0O2UuZmluYWxrYWZoZWJyZXc9MTQ5ODtlLmZpbmFsbWVtPTE1MDE7ZS5maW5hbG1lbWhlYnJldz0xNTAxO2UuZmluYWxudW49MTUwMztlLmZpbmFsbnVuaGVicmV3PTE1MDM7ZS5maW5hbHBlPTE1MDc7ZS5maW5hbHBlaGVicmV3PTE1MDc7ZS5maW5hbHRzYWRpPTE1MDk7ZS5maW5hbHRzYWRpaGVicmV3PTE1MDk7ZS5maXJzdHRvbmVjaGluZXNlPTcxMztlLmZpc2hleWU9OTY3MztlLmZpdGFjeXJpbGxpYz0xMTM5O2UuZml2ZT01MztlLmZpdmVhcmFiaWM9MTYzNztlLmZpdmViZW5nYWxpPTI1Mzk7ZS5maXZlY2lyY2xlPTkzMTY7ZS5maXZlY2lyY2xlaW52ZXJzZXNhbnNzZXJpZj0xMDEyNjtlLmZpdmVkZXZhPTI0MTE7ZS5maXZlZWlnaHRocz04NTQxO2UuZml2ZWd1amFyYXRpPTI3OTU7ZS5maXZlZ3VybXVraGk9MjY2NztlLmZpdmVoYWNrYXJhYmljPTE2Mzc7ZS5maXZlaGFuZ3pob3U9MTIzMjU7ZS5maXZlaWRlb2dyYXBoaWNwYXJlbj0xMjgzNjtlLmZpdmVpbmZlcmlvcj04MzI1O2UuZml2ZW1vbm9zcGFjZT02NTMwMTtlLmZpdmVvbGRzdHlsZT02MzI4NTtlLmZpdmVwYXJlbj05MzM2O2UuZml2ZXBlcmlvZD05MzU2O2UuZml2ZXBlcnNpYW49MTc4MTtlLmZpdmVyb21hbj04NTY0O2UuZml2ZXN1cGVyaW9yPTgzMDk7ZS5maXZldGhhaT0zNjY5O2UuZmw9NjQyNTg7ZS5mX2w9NjQyNTg7ZS5mbG9yaW49NDAyO2UuZm1vbm9zcGFjZT02NTM1MDtlLmZtc3F1YXJlPTEzMjA5O2UuZm9mYW50aGFpPTM2MTU7ZS5mb2ZhdGhhaT0zNjEzO2UuZm9uZ21hbnRoYWk9MzY2MztlLmZvcmFsbD04NzA0O2UuZm91cj01MjtlLmZvdXJhcmFiaWM9MTYzNjtlLmZvdXJiZW5nYWxpPTI1Mzg7ZS5mb3VyY2lyY2xlPTkzMTU7ZS5mb3VyY2lyY2xlaW52ZXJzZXNhbnNzZXJpZj0xMDEyNTtlLmZvdXJkZXZhPTI0MTA7ZS5mb3VyZ3VqYXJhdGk9Mjc5NDtlLmZvdXJndXJtdWtoaT0yNjY2O2UuZm91cmhhY2thcmFiaWM9MTYzNjtlLmZvdXJoYW5nemhvdT0xMjMyNDtlLmZvdXJpZGVvZ3JhcGhpY3BhcmVuPTEyODM1O2UuZm91cmluZmVyaW9yPTgzMjQ7ZS5mb3VybW9ub3NwYWNlPTY1MzAwO2UuZm91cm51bWVyYXRvcmJlbmdhbGk9MjU1MTtlLmZvdXJvbGRzdHlsZT02MzI4NDtlLmZvdXJwYXJlbj05MzM1O2UuZm91cnBlcmlvZD05MzU1O2UuZm91cnBlcnNpYW49MTc4MDtlLmZvdXJyb21hbj04NTYzO2UuZm91cnN1cGVyaW9yPTgzMDg7ZS5mb3VydGVlbmNpcmNsZT05MzI1O2UuZm91cnRlZW5wYXJlbj05MzQ1O2UuZm91cnRlZW5wZXJpb2Q9OTM2NTtlLmZvdXJ0aGFpPTM2Njg7ZS5mb3VydGh0b25lY2hpbmVzZT03MTU7ZS5mcGFyZW49OTM3NztlLmZyYWN0aW9uPTgyNjA7ZS5mcmFuYz04MzU1O2UuZz0xMDM7ZS5nYWJlbmdhbGk9MjQ1NTtlLmdhY3V0ZT01MDE7ZS5nYWRldmE9MjMyNztlLmdhZmFyYWJpYz0xNzExO2UuZ2FmZmluYWxhcmFiaWM9NjQ0MDM7ZS5nYWZpbml0aWFsYXJhYmljPTY0NDA0O2UuZ2FmbWVkaWFsYXJhYmljPTY0NDA1O2UuZ2FndWphcmF0aT0yNzExO2UuZ2FndXJtdWtoaT0yNTgzO2UuZ2FoaXJhZ2FuYT0xMjM2NDtlLmdha2F0YWthbmE9MTI0NjA7ZS5nYW1tYT05NDc7ZS5nYW1tYWxhdGluc21hbGw9NjExO2UuZ2FtbWFzdXBlcmlvcj03MzY7ZS5nYW5naWFjb3B0aWM9MTAwMztlLmdib3BvbW9mbz0xMjU1NztlLmdicmV2ZT0yODc7ZS5nY2Fyb249NDg3O2UuZ2NlZGlsbGE9MjkxO2UuZ2NpcmNsZT05NDMwO2UuZ2NpcmN1bWZsZXg9Mjg1O2UuZ2NvbW1hYWNjZW50PTI5MTtlLmdkb3Q9Mjg5O2UuZ2RvdGFjY2VudD0yODk7ZS5nZWN5cmlsbGljPTEwNzU7ZS5nZWhpcmFnYW5hPTEyMzcwO2UuZ2VrYXRha2FuYT0xMjQ2NjtlLmdlb21ldHJpY2FsbHllcXVhbD04Nzg1O2UuZ2VyZXNoYWNjZW50aGVicmV3PTE0MzY7ZS5nZXJlc2hoZWJyZXc9MTUyMztlLmdlcmVzaG11cWRhbWhlYnJldz0xNDM3O2UuZ2VybWFuZGJscz0yMjM7ZS5nZXJzaGF5aW1hY2NlbnRoZWJyZXc9MTQzODtlLmdlcnNoYXlpbWhlYnJldz0xNTI0O2UuZ2V0YW1hcms9MTIzMDc7ZS5naGFiZW5nYWxpPTI0NTY7ZS5naGFkYXJtZW5pYW49MTM5NDtlLmdoYWRldmE9MjMyODtlLmdoYWd1amFyYXRpPTI3MTI7ZS5naGFndXJtdWtoaT0yNTg0O2UuZ2hhaW5hcmFiaWM9MTU5NDtlLmdoYWluZmluYWxhcmFiaWM9NjUyMzA7ZS5naGFpbmluaXRpYWxhcmFiaWM9NjUyMzE7ZS5naGFpbm1lZGlhbGFyYWJpYz02NTIzMjtlLmdoZW1pZGRsZWhvb2tjeXJpbGxpYz0xMTczO2UuZ2hlc3Ryb2tlY3lyaWxsaWM9MTE3MTtlLmdoZXVwdHVybmN5cmlsbGljPTExNjk7ZS5naGhhZGV2YT0yMzk0O2UuZ2hoYWd1cm11a2hpPTI2NTA7ZS5naG9vaz02MDg7ZS5naHpzcXVhcmU9MTMyMDM7ZS5naWhpcmFnYW5hPTEyMzY2O2UuZ2lrYXRha2FuYT0xMjQ2MjtlLmdpbWFybWVuaWFuPTEzNzk7ZS5naW1lbD0xNDkwO2UuZ2ltZWxkYWdlc2g9NjQzMDY7ZS5naW1lbGRhZ2VzaGhlYnJldz02NDMwNjtlLmdpbWVsaGVicmV3PTE0OTA7ZS5namVjeXJpbGxpYz0xMTA3O2UuZ2xvdHRhbGludmVydGVkc3Ryb2tlPTQ0NjtlLmdsb3R0YWxzdG9wPTY2MDtlLmdsb3R0YWxzdG9waW52ZXJ0ZWQ9NjYyO2UuZ2xvdHRhbHN0b3Btb2Q9NzA0O2UuZ2xvdHRhbHN0b3ByZXZlcnNlZD02NjE7ZS5nbG90dGFsc3RvcHJldmVyc2VkbW9kPTcwNTtlLmdsb3R0YWxzdG9wcmV2ZXJzZWRzdXBlcmlvcj03NDA7ZS5nbG90dGFsc3RvcHN0cm9rZT02NzM7ZS5nbG90dGFsc3RvcHN0cm9rZXJldmVyc2VkPTY3NDtlLmdtYWNyb249NzcxMztlLmdtb25vc3BhY2U9NjUzNTE7ZS5nb2hpcmFnYW5hPTEyMzcyO2UuZ29rYXRha2FuYT0xMjQ2ODtlLmdwYXJlbj05Mzc4O2UuZ3Bhc3F1YXJlPTEzMjI4O2UuZ3JhZGllbnQ9ODcxMTtlLmdyYXZlPTk2O2UuZ3JhdmViZWxvd2NtYj03OTA7ZS5ncmF2ZWNtYj03Njg7ZS5ncmF2ZWNvbWI9NzY4O2UuZ3JhdmVkZXZhPTIzODc7ZS5ncmF2ZWxvd21vZD03MTg7ZS5ncmF2ZW1vbm9zcGFjZT02NTM0NDtlLmdyYXZldG9uZWNtYj04MzI7ZS5ncmVhdGVyPTYyO2UuZ3JlYXRlcmVxdWFsPTg4MDU7ZS5ncmVhdGVyZXF1YWxvcmxlc3M9ODkyMztlLmdyZWF0ZXJtb25vc3BhY2U9NjUzMTA7ZS5ncmVhdGVyb3JlcXVpdmFsZW50PTg4MTk7ZS5ncmVhdGVyb3JsZXNzPTg4MjM7ZS5ncmVhdGVyb3ZlcmVxdWFsPTg4MDc7ZS5ncmVhdGVyc21hbGw9NjUxMjU7ZS5nc2NyaXB0PTYwOTtlLmdzdHJva2U9NDg1O2UuZ3VoaXJhZ2FuYT0xMjM2ODtlLmd1aWxsZW1vdGxlZnQ9MTcxO2UuZ3VpbGxlbW90cmlnaHQ9MTg3O2UuZ3VpbHNpbmdsbGVmdD04MjQ5O2UuZ3VpbHNpbmdscmlnaHQ9ODI1MDtlLmd1a2F0YWthbmE9MTI0NjQ7ZS5ndXJhbXVzcXVhcmU9MTMwODA7ZS5neXNxdWFyZT0xMzI1NztlLmg9MTA0O2UuaGFhYmtoYXNpYW5jeXJpbGxpYz0xMTkzO2UuaGFhbHRvbmVhcmFiaWM9MTcyOTtlLmhhYmVuZ2FsaT0yNDg5O2UuaGFkZXNjZW5kZXJjeXJpbGxpYz0xMjAzO2UuaGFkZXZhPTIzNjE7ZS5oYWd1amFyYXRpPTI3NDU7ZS5oYWd1cm11a2hpPTI2MTc7ZS5oYWhhcmFiaWM9MTU4MTtlLmhhaGZpbmFsYXJhYmljPTY1MTg2O2UuaGFoaW5pdGlhbGFyYWJpYz02NTE4NztlLmhhaGlyYWdhbmE9MTIzOTk7ZS5oYWhtZWRpYWxhcmFiaWM9NjUxODg7ZS5oYWl0dXNxdWFyZT0xMzA5ODtlLmhha2F0YWthbmE9MTI0OTU7ZS5oYWthdGFrYW5haGFsZndpZHRoPTY1NDE4O2UuaGFsYW50Z3VybXVraGk9MjYzNztlLmhhbXphYXJhYmljPTE1Njk7ZS5oYW16YWxvd2FyYWJpYz0xNTY5O2UuaGFuZ3VsZmlsbGVyPTEyNjQ0O2UuaGFyZHNpZ25jeXJpbGxpYz0xMDk4O2UuaGFycG9vbmxlZnRiYXJidXA9ODYzNjtlLmhhcnBvb25yaWdodGJhcmJ1cD04NjQwO2UuaGFzcXVhcmU9MTMyNTg7ZS5oYXRhZnBhdGFoPTE0NTg7ZS5oYXRhZnBhdGFoMTY9MTQ1ODtlLmhhdGFmcGF0YWgyMz0xNDU4O2UuaGF0YWZwYXRhaDJmPTE0NTg7ZS5oYXRhZnBhdGFoaGVicmV3PTE0NTg7ZS5oYXRhZnBhdGFobmFycm93aGVicmV3PTE0NTg7ZS5oYXRhZnBhdGFocXVhcnRlcmhlYnJldz0xNDU4O2UuaGF0YWZwYXRhaHdpZGVoZWJyZXc9MTQ1ODtlLmhhdGFmcWFtYXRzPTE0NTk7ZS5oYXRhZnFhbWF0czFiPTE0NTk7ZS5oYXRhZnFhbWF0czI4PTE0NTk7ZS5oYXRhZnFhbWF0czM0PTE0NTk7ZS5oYXRhZnFhbWF0c2hlYnJldz0xNDU5O2UuaGF0YWZxYW1hdHNuYXJyb3doZWJyZXc9MTQ1OTtlLmhhdGFmcWFtYXRzcXVhcnRlcmhlYnJldz0xNDU5O2UuaGF0YWZxYW1hdHN3aWRlaGVicmV3PTE0NTk7ZS5oYXRhZnNlZ29sPTE0NTc7ZS5oYXRhZnNlZ29sMTc9MTQ1NztlLmhhdGFmc2Vnb2wyND0xNDU3O2UuaGF0YWZzZWdvbDMwPTE0NTc7ZS5oYXRhZnNlZ29saGVicmV3PTE0NTc7ZS5oYXRhZnNlZ29sbmFycm93aGVicmV3PTE0NTc7ZS5oYXRhZnNlZ29scXVhcnRlcmhlYnJldz0xNDU3O2UuaGF0YWZzZWdvbHdpZGVoZWJyZXc9MTQ1NztlLmhiYXI9Mjk1O2UuaGJvcG9tb2ZvPTEyNTU5O2UuaGJyZXZlYmVsb3c9NzcyMztlLmhjZWRpbGxhPTc3MjE7ZS5oY2lyY2xlPTk0MzE7ZS5oY2lyY3VtZmxleD0yOTM7ZS5oZGllcmVzaXM9NzcxOTtlLmhkb3RhY2NlbnQ9NzcxNTtlLmhkb3RiZWxvdz03NzE3O2UuaGU9MTQ5MjtlLmhlYXJ0PTk4Mjk7ZS5oZWFydHN1aXRibGFjaz05ODI5O2UuaGVhcnRzdWl0d2hpdGU9OTgyNTtlLmhlZGFnZXNoPTY0MzA4O2UuaGVkYWdlc2hoZWJyZXc9NjQzMDg7ZS5oZWhhbHRvbmVhcmFiaWM9MTcyOTtlLmhlaGFyYWJpYz0xNjA3O2UuaGVoZWJyZXc9MTQ5MjtlLmhlaGZpbmFsYWx0b25lYXJhYmljPTY0NDIzO2UuaGVoZmluYWxhbHR0d29hcmFiaWM9NjUyNTg7ZS5oZWhmaW5hbGFyYWJpYz02NTI1ODtlLmhlaGhhbXphYWJvdmVmaW5hbGFyYWJpYz02NDQyMTtlLmhlaGhhbXphYWJvdmVpc29sYXRlZGFyYWJpYz02NDQyMDtlLmhlaGluaXRpYWxhbHRvbmVhcmFiaWM9NjQ0MjQ7ZS5oZWhpbml0aWFsYXJhYmljPTY1MjU5O2UuaGVoaXJhZ2FuYT0xMjQwODtlLmhlaG1lZGlhbGFsdG9uZWFyYWJpYz02NDQyNTtlLmhlaG1lZGlhbGFyYWJpYz02NTI2MDtlLmhlaXNlaWVyYXNxdWFyZT0xMzE3OTtlLmhla2F0YWthbmE9MTI1MDQ7ZS5oZWthdGFrYW5haGFsZndpZHRoPTY1NDIxO2UuaGVrdXRhYXJ1c3F1YXJlPTEzMTEwO2UuaGVuZ2hvb2s9NjE1O2UuaGVydXR1c3F1YXJlPTEzMTEzO2UuaGV0PTE0OTU7ZS5oZXRoZWJyZXc9MTQ5NTtlLmhob29rPTYxNDtlLmhob29rc3VwZXJpb3I9Njg5O2UuaGlldWhhY2lyY2xla29yZWFuPTEyOTIzO2UuaGlldWhhcGFyZW5rb3JlYW49MTI4Mjc7ZS5oaWV1aGNpcmNsZWtvcmVhbj0xMjkwOTtlLmhpZXVoa29yZWFuPTEyNjIyO2UuaGlldWhwYXJlbmtvcmVhbj0xMjgxMztlLmhpaGlyYWdhbmE9MTI0MDI7ZS5oaWthdGFrYW5hPTEyNDk4O2UuaGlrYXRha2FuYWhhbGZ3aWR0aD02NTQxOTtlLmhpcmlxPTE0NjA7ZS5oaXJpcTE0PTE0NjA7ZS5oaXJpcTIxPTE0NjA7ZS5oaXJpcTJkPTE0NjA7ZS5oaXJpcWhlYnJldz0xNDYwO2UuaGlyaXFuYXJyb3doZWJyZXc9MTQ2MDtlLmhpcmlxcXVhcnRlcmhlYnJldz0xNDYwO2UuaGlyaXF3aWRlaGVicmV3PTE0NjA7ZS5obGluZWJlbG93PTc4MzA7ZS5obW9ub3NwYWNlPTY1MzUyO2UuaG9hcm1lbmlhbj0xMzkyO2UuaG9oaXB0aGFpPTM2Mjc7ZS5ob2hpcmFnYW5hPTEyNDExO2UuaG9rYXRha2FuYT0xMjUwNztlLmhva2F0YWthbmFoYWxmd2lkdGg9NjU0MjI7ZS5ob2xhbT0xNDY1O2UuaG9sYW0xOT0xNDY1O2UuaG9sYW0yNj0xNDY1O2UuaG9sYW0zMj0xNDY1O2UuaG9sYW1oZWJyZXc9MTQ2NTtlLmhvbGFtbmFycm93aGVicmV3PTE0NjU7ZS5ob2xhbXF1YXJ0ZXJoZWJyZXc9MTQ2NTtlLmhvbGFtd2lkZWhlYnJldz0xNDY1O2UuaG9ub2todWt0aGFpPTM2MzA7ZS5ob29rYWJvdmVjb21iPTc3NztlLmhvb2tjbWI9Nzc3O2UuaG9va3BhbGF0YWxpemVkYmVsb3djbWI9ODAxO2UuaG9va3JldHJvZmxleGJlbG93Y21iPTgwMjtlLmhvb25zcXVhcmU9MTMxMjI7ZS5ob3JpY29wdGljPTEwMDE7ZS5ob3Jpem9udGFsYmFyPTgyMTM7ZS5ob3JuY21iPTc5NTtlLmhvdHNwcmluZ3M9OTgzMjtlLmhvdXNlPTg5NjI7ZS5ocGFyZW49OTM3OTtlLmhzdXBlcmlvcj02ODg7ZS5odHVybmVkPTYxMztlLmh1aGlyYWdhbmE9MTI0MDU7ZS5odWlpdG9zcXVhcmU9MTMxMDc7ZS5odWthdGFrYW5hPTEyNTAxO2UuaHVrYXRha2FuYWhhbGZ3aWR0aD02NTQyMDtlLmh1bmdhcnVtbGF1dD03MzM7ZS5odW5nYXJ1bWxhdXRjbWI9Nzc5O2UuaHY9NDA1O2UuaHlwaGVuPTQ1O2UuaHlwaGVuaW5mZXJpb3I9NjMyMDU7ZS5oeXBoZW5tb25vc3BhY2U9NjUyOTM7ZS5oeXBoZW5zbWFsbD02NTEyMztlLmh5cGhlbnN1cGVyaW9yPTYzMjA2O2UuaHlwaGVudHdvPTgyMDg7ZS5pPTEwNTtlLmlhY3V0ZT0yMzc7ZS5pYWN5cmlsbGljPTExMDM7ZS5pYmVuZ2FsaT0yNDM5O2UuaWJvcG9tb2ZvPTEyNTgzO2UuaWJyZXZlPTMwMTtlLmljYXJvbj00NjQ7ZS5pY2lyY2xlPTk0MzI7ZS5pY2lyY3VtZmxleD0yMzg7ZS5pY3lyaWxsaWM9MTExMDtlLmlkYmxncmF2ZT01MjE7ZS5pZGVvZ3JhcGhlYXJ0aGNpcmNsZT0xMjk0MztlLmlkZW9ncmFwaGZpcmVjaXJjbGU9MTI5Mzk7ZS5pZGVvZ3JhcGhpY2FsbGlhbmNlcGFyZW49MTI4NjM7ZS5pZGVvZ3JhcGhpY2NhbGxwYXJlbj0xMjg1ODtlLmlkZW9ncmFwaGljY2VudHJlY2lyY2xlPTEyOTY1O2UuaWRlb2dyYXBoaWNjbG9zZT0xMjI5NDtlLmlkZW9ncmFwaGljY29tbWE9MTIyODk7ZS5pZGVvZ3JhcGhpY2NvbW1hbGVmdD02NTM4MDtlLmlkZW9ncmFwaGljY29uZ3JhdHVsYXRpb25wYXJlbj0xMjg1NTtlLmlkZW9ncmFwaGljY29ycmVjdGNpcmNsZT0xMjk2MztlLmlkZW9ncmFwaGljZWFydGhwYXJlbj0xMjg0NztlLmlkZW9ncmFwaGljZW50ZXJwcmlzZXBhcmVuPTEyODYxO2UuaWRlb2dyYXBoaWNleGNlbGxlbnRjaXJjbGU9MTI5NTc7ZS5pZGVvZ3JhcGhpY2Zlc3RpdmFscGFyZW49MTI4NjQ7ZS5pZGVvZ3JhcGhpY2ZpbmFuY2lhbGNpcmNsZT0xMjk1MDtlLmlkZW9ncmFwaGljZmluYW5jaWFscGFyZW49MTI4NTQ7ZS5pZGVvZ3JhcGhpY2ZpcmVwYXJlbj0xMjg0MztlLmlkZW9ncmFwaGljaGF2ZXBhcmVuPTEyODUwO2UuaWRlb2dyYXBoaWNoaWdoY2lyY2xlPTEyOTY0O2UuaWRlb2dyYXBoaWNpdGVyYXRpb25tYXJrPTEyMjkzO2UuaWRlb2dyYXBoaWNsYWJvcmNpcmNsZT0xMjk1MjtlLmlkZW9ncmFwaGljbGFib3JwYXJlbj0xMjg1NjtlLmlkZW9ncmFwaGljbGVmdGNpcmNsZT0xMjk2NztlLmlkZW9ncmFwaGljbG93Y2lyY2xlPTEyOTY2O2UuaWRlb2dyYXBoaWNtZWRpY2luZWNpcmNsZT0xMjk2OTtlLmlkZW9ncmFwaGljbWV0YWxwYXJlbj0xMjg0NjtlLmlkZW9ncmFwaGljbW9vbnBhcmVuPTEyODQyO2UuaWRlb2dyYXBoaWNuYW1lcGFyZW49MTI4NTI7ZS5pZGVvZ3JhcGhpY3BlcmlvZD0xMjI5MDtlLmlkZW9ncmFwaGljcHJpbnRjaXJjbGU9MTI5NTg7ZS5pZGVvZ3JhcGhpY3JlYWNocGFyZW49MTI4Njc7ZS5pZGVvZ3JhcGhpY3JlcHJlc2VudHBhcmVuPTEyODU3O2UuaWRlb2dyYXBoaWNyZXNvdXJjZXBhcmVuPTEyODYyO2UuaWRlb2dyYXBoaWNyaWdodGNpcmNsZT0xMjk2ODtlLmlkZW9ncmFwaGljc2VjcmV0Y2lyY2xlPTEyOTUzO2UuaWRlb2dyYXBoaWNzZWxmcGFyZW49MTI4NjY7ZS5pZGVvZ3JhcGhpY3NvY2lldHlwYXJlbj0xMjg1MTtlLmlkZW9ncmFwaGljc3BhY2U9MTIyODg7ZS5pZGVvZ3JhcGhpY3NwZWNpYWxwYXJlbj0xMjg1MztlLmlkZW9ncmFwaGljc3RvY2twYXJlbj0xMjg0OTtlLmlkZW9ncmFwaGljc3R1ZHlwYXJlbj0xMjg1OTtlLmlkZW9ncmFwaGljc3VucGFyZW49MTI4NDg7ZS5pZGVvZ3JhcGhpY3N1cGVydmlzZXBhcmVuPTEyODYwO2UuaWRlb2dyYXBoaWN3YXRlcnBhcmVuPTEyODQ0O2UuaWRlb2dyYXBoaWN3b29kcGFyZW49MTI4NDU7ZS5pZGVvZ3JhcGhpY3plcm89MTIyOTU7ZS5pZGVvZ3JhcGhtZXRhbGNpcmNsZT0xMjk0MjtlLmlkZW9ncmFwaG1vb25jaXJjbGU9MTI5Mzg7ZS5pZGVvZ3JhcGhuYW1lY2lyY2xlPTEyOTQ4O2UuaWRlb2dyYXBoc3VuY2lyY2xlPTEyOTQ0O2UuaWRlb2dyYXBod2F0ZXJjaXJjbGU9MTI5NDA7ZS5pZGVvZ3JhcGh3b29kY2lyY2xlPTEyOTQxO2UuaWRldmE9MjMxMTtlLmlkaWVyZXNpcz0yMzk7ZS5pZGllcmVzaXNhY3V0ZT03NzI3O2UuaWRpZXJlc2lzY3lyaWxsaWM9MTI1MztlLmlkb3RiZWxvdz03ODgzO2UuaWVicmV2ZWN5cmlsbGljPTEyMzk7ZS5pZWN5cmlsbGljPTEwNzc7ZS5pZXVuZ2FjaXJjbGVrb3JlYW49MTI5MTc7ZS5pZXVuZ2FwYXJlbmtvcmVhbj0xMjgyMTtlLmlldW5nY2lyY2xla29yZWFuPTEyOTAzO2UuaWV1bmdrb3JlYW49MTI2MTU7ZS5pZXVuZ3BhcmVua29yZWFuPTEyODA3O2UuaWdyYXZlPTIzNjtlLmlndWphcmF0aT0yNjk1O2UuaWd1cm11a2hpPTI1Njc7ZS5paGlyYWdhbmE9MTIzNTY7ZS5paG9va2Fib3ZlPTc4ODE7ZS5paWJlbmdhbGk9MjQ0MDtlLmlpY3lyaWxsaWM9MTA4MDtlLmlpZGV2YT0yMzEyO2UuaWlndWphcmF0aT0yNjk2O2UuaWlndXJtdWtoaT0yNTY4O2UuaWltYXRyYWd1cm11a2hpPTI2MjQ7ZS5paW52ZXJ0ZWRicmV2ZT01MjM7ZS5paXNob3J0Y3lyaWxsaWM9MTA4MTtlLmlpdm93ZWxzaWduYmVuZ2FsaT0yNDk2O2UuaWl2b3dlbHNpZ25kZXZhPTIzNjg7ZS5paXZvd2Vsc2lnbmd1amFyYXRpPTI3NTI7ZS5paj0zMDc7ZS5pa2F0YWthbmE9MTI0NTI7ZS5pa2F0YWthbmFoYWxmd2lkdGg9NjUzOTQ7ZS5pa29yZWFuPTEyNjQzO2UuaWxkZT03MzI7ZS5pbHV5aGVicmV3PTE0NTI7ZS5pbWFjcm9uPTI5OTtlLmltYWNyb25jeXJpbGxpYz0xMjUxO2UuaW1hZ2VvcmFwcHJveGltYXRlbHllcXVhbD04Nzg3O2UuaW1hdHJhZ3VybXVraGk9MjYyMztlLmltb25vc3BhY2U9NjUzNTM7ZS5pbmNyZW1lbnQ9ODcxMDtlLmluZmluaXR5PTg3MzQ7ZS5pbmlhcm1lbmlhbj0xMzg3O2UuaW50ZWdyYWw9ODc0NztlLmludGVncmFsYm90dG9tPTg5OTM7ZS5pbnRlZ3JhbGJ0PTg5OTM7ZS5pbnRlZ3JhbGV4PTYzNzMzO2UuaW50ZWdyYWx0b3A9ODk5MjtlLmludGVncmFsdHA9ODk5MjtlLmludGVyc2VjdGlvbj04NzQ1O2UuaW50aXNxdWFyZT0xMzA2MTtlLmludmJ1bGxldD05Njg4O2UuaW52Y2lyY2xlPTk2ODk7ZS5pbnZzbWlsZWZhY2U9OTc4NztlLmlvY3lyaWxsaWM9MTEwNTtlLmlvZ29uZWs9MzAzO2UuaW90YT05NTM7ZS5pb3RhZGllcmVzaXM9OTcwO2UuaW90YWRpZXJlc2lzdG9ub3M9OTEyO2UuaW90YWxhdGluPTYxNztlLmlvdGF0b25vcz05NDM7ZS5pcGFyZW49OTM4MDtlLmlyaWd1cm11a2hpPTI2NzQ7ZS5pc21hbGxoaXJhZ2FuYT0xMjM1NTtlLmlzbWFsbGthdGFrYW5hPTEyNDUxO2UuaXNtYWxsa2F0YWthbmFoYWxmd2lkdGg9NjUzODQ7ZS5pc3NoYXJiZW5nYWxpPTI1NTQ7ZS5pc3Ryb2tlPTYxNjtlLmlzdXBlcmlvcj02MzIxMztlLml0ZXJhdGlvbmhpcmFnYW5hPTEyNDQ1O2UuaXRlcmF0aW9ua2F0YWthbmE9MTI1NDE7ZS5pdGlsZGU9Mjk3O2UuaXRpbGRlYmVsb3c9NzcyNTtlLml1Ym9wb21vZm89MTI1ODU7ZS5pdWN5cmlsbGljPTExMDI7ZS5pdm93ZWxzaWduYmVuZ2FsaT0yNDk1O2UuaXZvd2Vsc2lnbmRldmE9MjM2NztlLml2b3dlbHNpZ25ndWphcmF0aT0yNzUxO2UuaXpoaXRzYWN5cmlsbGljPTExNDE7ZS5pemhpdHNhZGJsZ3JhdmVjeXJpbGxpYz0xMTQzO2Uuaj0xMDY7ZS5qYWFybWVuaWFuPTEzOTM7ZS5qYWJlbmdhbGk9MjQ2MDtlLmphZGV2YT0yMzMyO2UuamFndWphcmF0aT0yNzE2O2UuamFndXJtdWtoaT0yNTg4O2UuamJvcG9tb2ZvPTEyNTYwO2UuamNhcm9uPTQ5NjtlLmpjaXJjbGU9OTQzMztlLmpjaXJjdW1mbGV4PTMwOTtlLmpjcm9zc2VkdGFpbD02Njk7ZS5qZG90bGVzc3N0cm9rZT02MDc7ZS5qZWN5cmlsbGljPTExMTI7ZS5qZWVtYXJhYmljPTE1ODA7ZS5qZWVtZmluYWxhcmFiaWM9NjUxODI7ZS5qZWVtaW5pdGlhbGFyYWJpYz02NTE4MztlLmplZW1tZWRpYWxhcmFiaWM9NjUxODQ7ZS5qZWhhcmFiaWM9MTY4ODtlLmplaGZpbmFsYXJhYmljPTY0Mzk1O2UuamhhYmVuZ2FsaT0yNDYxO2UuamhhZGV2YT0yMzMzO2UuamhhZ3VqYXJhdGk9MjcxNztlLmpoYWd1cm11a2hpPTI1ODk7ZS5qaGVoYXJtZW5pYW49MTQwMztlLmppcz0xMjI5MjtlLmptb25vc3BhY2U9NjUzNTQ7ZS5qcGFyZW49OTM4MTtlLmpzdXBlcmlvcj02OTA7ZS5rPTEwNztlLmthYmFzaGtpcmN5cmlsbGljPTExODU7ZS5rYWJlbmdhbGk9MjQ1MztlLmthY3V0ZT03NzI5O2Uua2FjeXJpbGxpYz0xMDgyO2Uua2FkZXNjZW5kZXJjeXJpbGxpYz0xMTc5O2Uua2FkZXZhPTIzMjU7ZS5rYWY9MTQ5OTtlLmthZmFyYWJpYz0xNjAzO2Uua2FmZGFnZXNoPTY0MzE1O2Uua2FmZGFnZXNoaGVicmV3PTY0MzE1O2Uua2FmZmluYWxhcmFiaWM9NjUyNDI7ZS5rYWZoZWJyZXc9MTQ5OTtlLmthZmluaXRpYWxhcmFiaWM9NjUyNDM7ZS5rYWZtZWRpYWxhcmFiaWM9NjUyNDQ7ZS5rYWZyYWZlaGVicmV3PTY0MzMzO2Uua2FndWphcmF0aT0yNzA5O2Uua2FndXJtdWtoaT0yNTgxO2Uua2FoaXJhZ2FuYT0xMjM2MztlLmthaG9va2N5cmlsbGljPTEyMjA7ZS5rYWthdGFrYW5hPTEyNDU5O2Uua2FrYXRha2FuYWhhbGZ3aWR0aD02NTM5ODtlLmthcHBhPTk1NDtlLmthcHBhc3ltYm9sZ3JlZWs9MTAwODtlLmthcHllb3VubWlldW1rb3JlYW49MTI2NTc7ZS5rYXB5ZW91bnBoaWV1cGhrb3JlYW49MTI2NzY7ZS5rYXB5ZW91bnBpZXVwa29yZWFuPTEyNjY0O2Uua2FweWVvdW5zc2FuZ3BpZXVwa29yZWFuPTEyNjY1O2Uua2Fyb3JpaXNxdWFyZT0xMzA2OTtlLmthc2hpZGFhdXRvYXJhYmljPTE2MDA7ZS5rYXNoaWRhYXV0b25vc2lkZWJlYXJpbmdhcmFiaWM9MTYwMDtlLmthc21hbGxrYXRha2FuYT0xMjUzMztlLmthc3F1YXJlPTEzMTg4O2Uua2FzcmFhcmFiaWM9MTYxNjtlLmthc3JhdGFuYXJhYmljPTE2MTM7ZS5rYXN0cm9rZWN5cmlsbGljPTExODM7ZS5rYXRhaGlyYXByb2xvbmdtYXJraGFsZndpZHRoPTY1MzkyO2Uua2F2ZXJ0aWNhbHN0cm9rZWN5cmlsbGljPTExODE7ZS5rYm9wb21vZm89MTI1NTg7ZS5rY2Fsc3F1YXJlPTEzMTkzO2Uua2Nhcm9uPTQ4OTtlLmtjZWRpbGxhPTMxMTtlLmtjaXJjbGU9OTQzNDtlLmtjb21tYWFjY2VudD0zMTE7ZS5rZG90YmVsb3c9NzczMTtlLmtlaGFybWVuaWFuPTE0MTI7ZS5rZWhpcmFnYW5hPTEyMzY5O2Uua2VrYXRha2FuYT0xMjQ2NTtlLmtla2F0YWthbmFoYWxmd2lkdGg9NjU0MDE7ZS5rZW5hcm1lbmlhbj0xMzkxO2Uua2VzbWFsbGthdGFrYW5hPTEyNTM0O2Uua2dyZWVubGFuZGljPTMxMjtlLmtoYWJlbmdhbGk9MjQ1NDtlLmtoYWN5cmlsbGljPTEwOTM7ZS5raGFkZXZhPTIzMjY7ZS5raGFndWphcmF0aT0yNzEwO2Uua2hhZ3VybXVraGk9MjU4MjtlLmtoYWhhcmFiaWM9MTU4MjtlLmtoYWhmaW5hbGFyYWJpYz02NTE5MDtlLmtoYWhpbml0aWFsYXJhYmljPTY1MTkxO2Uua2hhaG1lZGlhbGFyYWJpYz02NTE5MjtlLmtoZWljb3B0aWM9OTk5O2Uua2hoYWRldmE9MjM5MztlLmtoaGFndXJtdWtoaT0yNjQ5O2Uua2hpZXVraGFjaXJjbGVrb3JlYW49MTI5MjA7ZS5raGlldWtoYXBhcmVua29yZWFuPTEyODI0O2Uua2hpZXVraGNpcmNsZWtvcmVhbj0xMjkwNjtlLmtoaWV1a2hrb3JlYW49MTI2MTk7ZS5raGlldWtocGFyZW5rb3JlYW49MTI4MTA7ZS5raG9raGFpdGhhaT0zNTg2O2Uua2hva2hvbnRoYWk9MzU4OTtlLmtob2todWF0dGhhaT0zNTg3O2Uua2hva2h3YWl0aGFpPTM1ODg7ZS5raG9tdXR0aGFpPTM2NzU7ZS5raG9vaz00MDk7ZS5raG9yYWtoYW5ndGhhaT0zNTkwO2Uua2h6c3F1YXJlPTEzMjAxO2Uua2loaXJhZ2FuYT0xMjM2NTtlLmtpa2F0YWthbmE9MTI0NjE7ZS5raWthdGFrYW5haGFsZndpZHRoPTY1Mzk5O2Uua2lyb2d1cmFtdXNxdWFyZT0xMzA3NztlLmtpcm9tZWV0b3J1c3F1YXJlPTEzMDc4O2Uua2lyb3NxdWFyZT0xMzA3NjtlLmtpeWVva2FjaXJjbGVrb3JlYW49MTI5MTA7ZS5raXllb2thcGFyZW5rb3JlYW49MTI4MTQ7ZS5raXllb2tjaXJjbGVrb3JlYW49MTI4OTY7ZS5raXllb2trb3JlYW49MTI1OTM7ZS5raXllb2twYXJlbmtvcmVhbj0xMjgwMDtlLmtpeWVva3Npb3Nrb3JlYW49MTI1OTU7ZS5ramVjeXJpbGxpYz0xMTE2O2Uua2xpbmViZWxvdz03NzMzO2Uua2xzcXVhcmU9MTMyMDg7ZS5rbWN1YmVkc3F1YXJlPTEzMjIyO2Uua21vbm9zcGFjZT02NTM1NTtlLmttc3F1YXJlZHNxdWFyZT0xMzIxODtlLmtvaGlyYWdhbmE9MTIzNzE7ZS5rb2htc3F1YXJlPTEzMjQ4O2Uua29rYWl0aGFpPTM1ODU7ZS5rb2thdGFrYW5hPTEyNDY3O2Uua29rYXRha2FuYWhhbGZ3aWR0aD02NTQwMjtlLmtvb3Bvc3F1YXJlPTEzMDg2O2Uua29wcGFjeXJpbGxpYz0xMTUzO2Uua29yZWFuc3RhbmRhcmRzeW1ib2w9MTI5Mjc7ZS5rb3JvbmlzY21iPTgzNTtlLmtwYXJlbj05MzgyO2Uua3Bhc3F1YXJlPTEzMjI2O2Uua3NpY3lyaWxsaWM9MTEzNTtlLmt0c3F1YXJlPTEzMjYzO2Uua3R1cm5lZD02NzA7ZS5rdWhpcmFnYW5hPTEyMzY3O2Uua3VrYXRha2FuYT0xMjQ2MztlLmt1a2F0YWthbmFoYWxmd2lkdGg9NjU0MDA7ZS5rdnNxdWFyZT0xMzI0MDtlLmt3c3F1YXJlPTEzMjQ2O2UubD0xMDg7ZS5sYWJlbmdhbGk9MjQ4MjtlLmxhY3V0ZT0zMTQ7ZS5sYWRldmE9MjM1NDtlLmxhZ3VqYXJhdGk9MjczODtlLmxhZ3VybXVraGk9MjYxMDtlLmxha2toYW5neWFvdGhhaT0zNjUzO2UubGFtYWxlZmZpbmFsYXJhYmljPTY1Mjc2O2UubGFtYWxlZmhhbXphYWJvdmVmaW5hbGFyYWJpYz02NTI3MjtlLmxhbWFsZWZoYW16YWFib3ZlaXNvbGF0ZWRhcmFiaWM9NjUyNzE7ZS5sYW1hbGVmaGFtemFiZWxvd2ZpbmFsYXJhYmljPTY1Mjc0O2UubGFtYWxlZmhhbXphYmVsb3dpc29sYXRlZGFyYWJpYz02NTI3MztlLmxhbWFsZWZpc29sYXRlZGFyYWJpYz02NTI3NTtlLmxhbWFsZWZtYWRkYWFib3ZlZmluYWxhcmFiaWM9NjUyNzA7ZS5sYW1hbGVmbWFkZGFhYm92ZWlzb2xhdGVkYXJhYmljPTY1MjY5O2UubGFtYXJhYmljPTE2MDQ7ZS5sYW1iZGE9OTU1O2UubGFtYmRhc3Ryb2tlPTQxMTtlLmxhbWVkPTE1MDA7ZS5sYW1lZGRhZ2VzaD02NDMxNjtlLmxhbWVkZGFnZXNoaGVicmV3PTY0MzE2O2UubGFtZWRoZWJyZXc9MTUwMDtlLmxhbWZpbmFsYXJhYmljPTY1MjQ2O2UubGFtaGFoaW5pdGlhbGFyYWJpYz02NDcxNDtlLmxhbWluaXRpYWxhcmFiaWM9NjUyNDc7ZS5sYW1qZWVtaW5pdGlhbGFyYWJpYz02NDcxMztlLmxhbWtoYWhpbml0aWFsYXJhYmljPTY0NzE1O2UubGFtbGFtaGVoaXNvbGF0ZWRhcmFiaWM9NjUwMTA7ZS5sYW1tZWRpYWxhcmFiaWM9NjUyNDg7ZS5sYW1tZWVtaGFoaW5pdGlhbGFyYWJpYz02NDkwNDtlLmxhbW1lZW1pbml0aWFsYXJhYmljPTY0NzE2O2UubGFyZ2VjaXJjbGU9OTcxMTtlLmxiYXI9NDEwO2UubGJlbHQ9NjIwO2UubGJvcG9tb2ZvPTEyNTU2O2UubGNhcm9uPTMxODtlLmxjZWRpbGxhPTMxNjtlLmxjaXJjbGU9OTQzNTtlLmxjaXJjdW1mbGV4YmVsb3c9Nzc0MTtlLmxjb21tYWFjY2VudD0zMTY7ZS5sZG90PTMyMDtlLmxkb3RhY2NlbnQ9MzIwO2UubGRvdGJlbG93PTc3MzU7ZS5sZG90YmVsb3dtYWNyb249NzczNztlLmxlZnRhbmdsZWFib3ZlY21iPTc5NDtlLmxlZnR0YWNrYmVsb3djbWI9NzkyO2UubGVzcz02MDtlLmxlc3NlcXVhbD04ODA0O2UubGVzc2VxdWFsb3JncmVhdGVyPTg5MjI7ZS5sZXNzbW9ub3NwYWNlPTY1MzA4O2UubGVzc29yZXF1aXZhbGVudD04ODE4O2UubGVzc29yZ3JlYXRlcj04ODIyO2UubGVzc292ZXJlcXVhbD04ODA2O2UubGVzc3NtYWxsPTY1MTI0O2UubGV6aD02MjI7ZS5sZmJsb2NrPTk2MTI7ZS5saG9va3JldHJvZmxleD02MjE7ZS5saXJhPTgzNTY7ZS5saXduYXJtZW5pYW49MTM4ODtlLmxqPTQ1NztlLmxqZWN5cmlsbGljPTExMTM7ZS5sbD02MzE2ODtlLmxsYWRldmE9MjM1NTtlLmxsYWd1amFyYXRpPTI3Mzk7ZS5sbGluZWJlbG93PTc3Mzk7ZS5sbGxhZGV2YT0yMzU2O2UubGx2b2NhbGljYmVuZ2FsaT0yNTI5O2UubGx2b2NhbGljZGV2YT0yNDAxO2UubGx2b2NhbGljdm93ZWxzaWduYmVuZ2FsaT0yNTMxO2UubGx2b2NhbGljdm93ZWxzaWduZGV2YT0yNDAzO2UubG1pZGRsZXRpbGRlPTYxOTtlLmxtb25vc3BhY2U9NjUzNTY7ZS5sbXNxdWFyZT0xMzI2NDtlLmxvY2h1bGF0aGFpPTM2Mjg7ZS5sb2dpY2FsYW5kPTg3NDM7ZS5sb2dpY2Fsbm90PTE3MjtlLmxvZ2ljYWxub3RyZXZlcnNlZD04OTc2O2UubG9naWNhbG9yPTg3NDQ7ZS5sb2xpbmd0aGFpPTM2MjE7ZS5sb25ncz0zODM7ZS5sb3dsaW5lY2VudGVybGluZT02NTEwMjtlLmxvd2xpbmVjbWI9ODE4O2UubG93bGluZWRhc2hlZD02NTEwMTtlLmxvemVuZ2U9OTY3NDtlLmxwYXJlbj05MzgzO2UubHNsYXNoPTMyMjtlLmxzcXVhcmU9ODQ2NztlLmxzdXBlcmlvcj02MzIxNDtlLmx0c2hhZGU9OTYxNztlLmx1dGhhaT0zNjIyO2UubHZvY2FsaWNiZW5nYWxpPTI0NDQ7ZS5sdm9jYWxpY2RldmE9MjMxNjtlLmx2b2NhbGljdm93ZWxzaWduYmVuZ2FsaT0yNTMwO2UubHZvY2FsaWN2b3dlbHNpZ25kZXZhPTI0MDI7ZS5seHNxdWFyZT0xMzI2NztlLm09MTA5O2UubWFiZW5nYWxpPTI0Nzg7ZS5tYWNyb249MTc1O2UubWFjcm9uYmVsb3djbWI9ODE3O2UubWFjcm9uY21iPTc3MjtlLm1hY3Jvbmxvd21vZD03MTc7ZS5tYWNyb25tb25vc3BhY2U9NjU1MDc7ZS5tYWN1dGU9Nzc0MztlLm1hZGV2YT0yMzUwO2UubWFndWphcmF0aT0yNzM0O2UubWFndXJtdWtoaT0yNjA2O2UubWFoYXBha2hoZWJyZXc9MTQ0NDtlLm1haGFwYWtobGVmdGhlYnJldz0xNDQ0O2UubWFoaXJhZ2FuYT0xMjQxNDtlLm1haWNoYXR0YXdhbG93bGVmdHRoYWk9NjM2Mzc7ZS5tYWljaGF0dGF3YWxvd3JpZ2h0dGhhaT02MzYzNjtlLm1haWNoYXR0YXdhdGhhaT0zNjU5O2UubWFpY2hhdHRhd2F1cHBlcmxlZnR0aGFpPTYzNjM1O2UubWFpZWtsb3dsZWZ0dGhhaT02MzYyODtlLm1haWVrbG93cmlnaHR0aGFpPTYzNjI3O2UubWFpZWt0aGFpPTM2NTY7ZS5tYWlla3VwcGVybGVmdHRoYWk9NjM2MjY7ZS5tYWloYW5ha2F0bGVmdHRoYWk9NjM2MjA7ZS5tYWloYW5ha2F0dGhhaT0zNjMzO2UubWFpdGFpa2h1bGVmdHRoYWk9NjM2MjU7ZS5tYWl0YWlraHV0aGFpPTM2NTU7ZS5tYWl0aG9sb3dsZWZ0dGhhaT02MzYzMTtlLm1haXRob2xvd3JpZ2h0dGhhaT02MzYzMDtlLm1haXRob3RoYWk9MzY1NztlLm1haXRob3VwcGVybGVmdHRoYWk9NjM2Mjk7ZS5tYWl0cmlsb3dsZWZ0dGhhaT02MzYzNDtlLm1haXRyaWxvd3JpZ2h0dGhhaT02MzYzMztlLm1haXRyaXRoYWk9MzY1ODtlLm1haXRyaXVwcGVybGVmdHRoYWk9NjM2MzI7ZS5tYWl5YW1va3RoYWk9MzY1NDtlLm1ha2F0YWthbmE9MTI1MTA7ZS5tYWthdGFrYW5haGFsZndpZHRoPTY1NDIzO2UubWFsZT05Nzk0O2UubWFuc3lvbnNxdWFyZT0xMzEyNztlLm1hcWFmaGVicmV3PTE0NzA7ZS5tYXJzPTk3OTQ7ZS5tYXNvcmFjaXJjbGVoZWJyZXc9MTQ1NTtlLm1hc3F1YXJlPTEzMTg3O2UubWJvcG9tb2ZvPTEyNTUxO2UubWJzcXVhcmU9MTMyNjg7ZS5tY2lyY2xlPTk0MzY7ZS5tY3ViZWRzcXVhcmU9MTMyMjE7ZS5tZG90YWNjZW50PTc3NDU7ZS5tZG90YmVsb3c9Nzc0NztlLm1lZW1hcmFiaWM9MTYwNTtlLm1lZW1maW5hbGFyYWJpYz02NTI1MDtlLm1lZW1pbml0aWFsYXJhYmljPTY1MjUxO2UubWVlbW1lZGlhbGFyYWJpYz02NTI1MjtlLm1lZW1tZWVtaW5pdGlhbGFyYWJpYz02NDcyMTtlLm1lZW1tZWVtaXNvbGF0ZWRhcmFiaWM9NjQ1ODQ7ZS5tZWV0b3J1c3F1YXJlPTEzMTMzO2UubWVoaXJhZ2FuYT0xMjQxNztlLm1laXppZXJhc3F1YXJlPTEzMTgyO2UubWVrYXRha2FuYT0xMjUxMztlLm1la2F0YWthbmFoYWxmd2lkdGg9NjU0MjY7ZS5tZW09MTUwMjtlLm1lbWRhZ2VzaD02NDMxODtlLm1lbWRhZ2VzaGhlYnJldz02NDMxODtlLm1lbWhlYnJldz0xNTAyO2UubWVuYXJtZW5pYW49MTM5NjtlLm1lcmtoYWhlYnJldz0xNDQ1O2UubWVya2hha2VmdWxhaGVicmV3PTE0NDY7ZS5tZXJraGFrZWZ1bGFsZWZ0aGVicmV3PTE0NDY7ZS5tZXJraGFsZWZ0aGVicmV3PTE0NDU7ZS5taG9vaz02MjU7ZS5taHpzcXVhcmU9MTMyMDI7ZS5taWRkbGVkb3RrYXRha2FuYWhhbGZ3aWR0aD02NTM4MTtlLm1pZGRvdD0xODM7ZS5taWV1bWFjaXJjbGVrb3JlYW49MTI5MTQ7ZS5taWV1bWFwYXJlbmtvcmVhbj0xMjgxODtlLm1pZXVtY2lyY2xla29yZWFuPTEyOTAwO2UubWlldW1rb3JlYW49MTI2MDk7ZS5taWV1bXBhbnNpb3Nrb3JlYW49MTI2NTY7ZS5taWV1bXBhcmVua29yZWFuPTEyODA0O2UubWlldW1waWV1cGtvcmVhbj0xMjY1NDtlLm1pZXVtc2lvc2tvcmVhbj0xMjY1NTtlLm1paGlyYWdhbmE9MTI0MTU7ZS5taWthdGFrYW5hPTEyNTExO2UubWlrYXRha2FuYWhhbGZ3aWR0aD02NTQyNDtlLm1pbnVzPTg3MjI7ZS5taW51c2JlbG93Y21iPTgwMDtlLm1pbnVzY2lyY2xlPTg4NTQ7ZS5taW51c21vZD03Mjc7ZS5taW51c3BsdXM9ODcyMztlLm1pbnV0ZT04MjQyO2UubWlyaWJhYXJ1c3F1YXJlPTEzMTMwO2UubWlyaXNxdWFyZT0xMzEyOTtlLm1sb25nbGVndHVybmVkPTYyNDtlLm1sc3F1YXJlPTEzMjA2O2UubW1jdWJlZHNxdWFyZT0xMzIxOTtlLm1tb25vc3BhY2U9NjUzNTc7ZS5tbXNxdWFyZWRzcXVhcmU9MTMyMTU7ZS5tb2hpcmFnYW5hPTEyNDE4O2UubW9obXNxdWFyZT0xMzI0OTtlLm1va2F0YWthbmE9MTI1MTQ7ZS5tb2thdGFrYW5haGFsZndpZHRoPTY1NDI3O2UubW9sc3F1YXJlPTEzMjcwO2UubW9tYXRoYWk9MzYxNztlLm1vdmVyc3NxdWFyZT0xMzIyMztlLm1vdmVyc3NxdWFyZWRzcXVhcmU9MTMyMjQ7ZS5tcGFyZW49OTM4NDtlLm1wYXNxdWFyZT0xMzIyNztlLm1zc3F1YXJlPTEzMjM1O2UubXN1cGVyaW9yPTYzMjE1O2UubXR1cm5lZD02MjM7ZS5tdT0xODE7ZS5tdTE9MTgxO2UubXVhc3F1YXJlPTEzMTg2O2UubXVjaGdyZWF0ZXI9ODgxMTtlLm11Y2hsZXNzPTg4MTA7ZS5tdWZzcXVhcmU9MTMxOTY7ZS5tdWdyZWVrPTk1NjtlLm11Z3NxdWFyZT0xMzE5NztlLm11aGlyYWdhbmE9MTI0MTY7ZS5tdWthdGFrYW5hPTEyNTEyO2UubXVrYXRha2FuYWhhbGZ3aWR0aD02NTQyNTtlLm11bHNxdWFyZT0xMzIwNTtlLm11bHRpcGx5PTIxNTtlLm11bXNxdWFyZT0xMzIxMTtlLm11bmFoaGVicmV3PTE0NDM7ZS5tdW5haGxlZnRoZWJyZXc9MTQ0MztlLm11c2ljYWxub3RlPTk4MzQ7ZS5tdXNpY2Fsbm90ZWRibD05ODM1O2UubXVzaWNmbGF0c2lnbj05ODM3O2UubXVzaWNzaGFycHNpZ249OTgzOTtlLm11c3NxdWFyZT0xMzIzNDtlLm11dnNxdWFyZT0xMzIzODtlLm11d3NxdWFyZT0xMzI0NDtlLm12bWVnYXNxdWFyZT0xMzI0MTtlLm12c3F1YXJlPTEzMjM5O2UubXdtZWdhc3F1YXJlPTEzMjQ3O2UubXdzcXVhcmU9MTMyNDU7ZS5uPTExMDtlLm5hYmVuZ2FsaT0yNDcyO2UubmFibGE9ODcxMTtlLm5hY3V0ZT0zMjQ7ZS5uYWRldmE9MjM0NDtlLm5hZ3VqYXJhdGk9MjcyODtlLm5hZ3VybXVraGk9MjYwMDtlLm5haGlyYWdhbmE9MTIzOTQ7ZS5uYWthdGFrYW5hPTEyNDkwO2UubmFrYXRha2FuYWhhbGZ3aWR0aD02NTQxMztlLm5hcG9zdHJvcGhlPTMyOTtlLm5hc3F1YXJlPTEzMTg1O2UubmJvcG9tb2ZvPTEyNTU1O2UubmJzcGFjZT0xNjA7ZS5uY2Fyb249MzI4O2UubmNlZGlsbGE9MzI2O2UubmNpcmNsZT05NDM3O2UubmNpcmN1bWZsZXhiZWxvdz03NzU1O2UubmNvbW1hYWNjZW50PTMyNjtlLm5kb3RhY2NlbnQ9Nzc0OTtlLm5kb3RiZWxvdz03NzUxO2UubmVoaXJhZ2FuYT0xMjM5NztlLm5la2F0YWthbmE9MTI0OTM7ZS5uZWthdGFrYW5haGFsZndpZHRoPTY1NDE2O2UubmV3c2hlcWVsc2lnbj04MzYyO2UubmZzcXVhcmU9MTMxOTU7ZS5uZ2FiZW5nYWxpPTI0NTc7ZS5uZ2FkZXZhPTIzMjk7ZS5uZ2FndWphcmF0aT0yNzEzO2UubmdhZ3VybXVraGk9MjU4NTtlLm5nb25ndXRoYWk9MzU5MTtlLm5oaXJhZ2FuYT0xMjQzNTtlLm5ob29rbGVmdD02MjY7ZS5uaG9va3JldHJvZmxleD02Mjc7ZS5uaWV1bmFjaXJjbGVrb3JlYW49MTI5MTE7ZS5uaWV1bmFwYXJlbmtvcmVhbj0xMjgxNTtlLm5pZXVuY2lldWNrb3JlYW49MTI1OTc7ZS5uaWV1bmNpcmNsZWtvcmVhbj0xMjg5NztlLm5pZXVuaGlldWhrb3JlYW49MTI1OTg7ZS5uaWV1bmtvcmVhbj0xMjU5NjtlLm5pZXVucGFuc2lvc2tvcmVhbj0xMjY0ODtlLm5pZXVucGFyZW5rb3JlYW49MTI4MDE7ZS5uaWV1bnNpb3Nrb3JlYW49MTI2NDc7ZS5uaWV1bnRpa2V1dGtvcmVhbj0xMjY0NjtlLm5paGlyYWdhbmE9MTIzOTU7ZS5uaWthdGFrYW5hPTEyNDkxO2UubmlrYXRha2FuYWhhbGZ3aWR0aD02NTQxNDtlLm5pa2hhaGl0bGVmdHRoYWk9NjM2NDE7ZS5uaWtoYWhpdHRoYWk9MzY2MTtlLm5pbmU9NTc7ZS5uaW5lYXJhYmljPTE2NDE7ZS5uaW5lYmVuZ2FsaT0yNTQzO2UubmluZWNpcmNsZT05MzIwO2UubmluZWNpcmNsZWludmVyc2VzYW5zc2VyaWY9MTAxMzA7ZS5uaW5lZGV2YT0yNDE1O2UubmluZWd1amFyYXRpPTI3OTk7ZS5uaW5lZ3VybXVraGk9MjY3MTtlLm5pbmVoYWNrYXJhYmljPTE2NDE7ZS5uaW5laGFuZ3pob3U9MTIzMjk7ZS5uaW5laWRlb2dyYXBoaWNwYXJlbj0xMjg0MDtlLm5pbmVpbmZlcmlvcj04MzI5O2UubmluZW1vbm9zcGFjZT02NTMwNTtlLm5pbmVvbGRzdHlsZT02MzI4OTtlLm5pbmVwYXJlbj05MzQwO2UubmluZXBlcmlvZD05MzYwO2UubmluZXBlcnNpYW49MTc4NTtlLm5pbmVyb21hbj04NTY4O2UubmluZXN1cGVyaW9yPTgzMTM7ZS5uaW5ldGVlbmNpcmNsZT05MzMwO2UubmluZXRlZW5wYXJlbj05MzUwO2UubmluZXRlZW5wZXJpb2Q9OTM3MDtlLm5pbmV0aGFpPTM2NzM7ZS5uaj00NjA7ZS5uamVjeXJpbGxpYz0xMTE0O2UubmthdGFrYW5hPTEyNTMxO2UubmthdGFrYW5haGFsZndpZHRoPTY1NDM3O2UubmxlZ3JpZ2h0bG9uZz00MTQ7ZS5ubGluZWJlbG93PTc3NTM7ZS5ubW9ub3NwYWNlPTY1MzU4O2Uubm1zcXVhcmU9MTMyMTA7ZS5ubmFiZW5nYWxpPTI0Njc7ZS5ubmFkZXZhPTIzMzk7ZS5ubmFndWphcmF0aT0yNzIzO2Uubm5hZ3VybXVraGk9MjU5NTtlLm5ubmFkZXZhPTIzNDU7ZS5ub2hpcmFnYW5hPTEyMzk4O2Uubm9rYXRha2FuYT0xMjQ5NDtlLm5va2F0YWthbmFoYWxmd2lkdGg9NjU0MTc7ZS5ub25icmVha2luZ3NwYWNlPTE2MDtlLm5vbmVudGhhaT0zNjAzO2Uubm9udXRoYWk9MzYwOTtlLm5vb25hcmFiaWM9MTYwNjtlLm5vb25maW5hbGFyYWJpYz02NTI1NDtlLm5vb25naHVubmFhcmFiaWM9MTcyMjtlLm5vb25naHVubmFmaW5hbGFyYWJpYz02NDQxNTtlLm5vb25pbml0aWFsYXJhYmljPTY1MjU1O2Uubm9vbmplZW1pbml0aWFsYXJhYmljPTY0NzIyO2Uubm9vbmplZW1pc29sYXRlZGFyYWJpYz02NDU4NztlLm5vb25tZWRpYWxhcmFiaWM9NjUyNTY7ZS5ub29ubWVlbWluaXRpYWxhcmFiaWM9NjQ3MjU7ZS5ub29ubWVlbWlzb2xhdGVkYXJhYmljPTY0NTkwO2Uubm9vbm5vb25maW5hbGFyYWJpYz02NDY1MztlLm5vdGNvbnRhaW5zPTg3MTY7ZS5ub3RlbGVtZW50PTg3MTM7ZS5ub3RlbGVtZW50b2Y9ODcxMztlLm5vdGVxdWFsPTg4MDA7ZS5ub3RncmVhdGVyPTg4MTU7ZS5ub3RncmVhdGVybm9yZXF1YWw9ODgxNztlLm5vdGdyZWF0ZXJub3JsZXNzPTg4MjU7ZS5ub3RpZGVudGljYWw9ODgwMjtlLm5vdGxlc3M9ODgxNDtlLm5vdGxlc3Nub3JlcXVhbD04ODE2O2Uubm90cGFyYWxsZWw9ODc0MjtlLm5vdHByZWNlZGVzPTg4MzI7ZS5ub3RzdWJzZXQ9ODgzNjtlLm5vdHN1Y2NlZWRzPTg4MzM7ZS5ub3RzdXBlcnNldD04ODM3O2Uubm93YXJtZW5pYW49MTM5ODtlLm5wYXJlbj05Mzg1O2UubnNzcXVhcmU9MTMyMzM7ZS5uc3VwZXJpb3I9ODMxOTtlLm50aWxkZT0yNDE7ZS5udT05NTc7ZS5udWhpcmFnYW5hPTEyMzk2O2UubnVrYXRha2FuYT0xMjQ5MjtlLm51a2F0YWthbmFoYWxmd2lkdGg9NjU0MTU7ZS5udWt0YWJlbmdhbGk9MjQ5MjtlLm51a3RhZGV2YT0yMzY0O2UubnVrdGFndWphcmF0aT0yNzQ4O2UubnVrdGFndXJtdWtoaT0yNjIwO2UubnVtYmVyc2lnbj0zNTtlLm51bWJlcnNpZ25tb25vc3BhY2U9NjUyODM7ZS5udW1iZXJzaWduc21hbGw9NjUxMTk7ZS5udW1lcmFsc2lnbmdyZWVrPTg4NDtlLm51bWVyYWxzaWdubG93ZXJncmVlaz04ODU7ZS5udW1lcm89ODQ3MDtlLm51bj0xNTA0O2UubnVuZGFnZXNoPTY0MzIwO2UubnVuZGFnZXNoaGVicmV3PTY0MzIwO2UubnVuaGVicmV3PTE1MDQ7ZS5udnNxdWFyZT0xMzIzNztlLm53c3F1YXJlPTEzMjQzO2UubnlhYmVuZ2FsaT0yNDYyO2UubnlhZGV2YT0yMzM0O2UubnlhZ3VqYXJhdGk9MjcxODtlLm55YWd1cm11a2hpPTI1OTA7ZS5vPTExMTtlLm9hY3V0ZT0yNDM7ZS5vYW5ndGhhaT0zNjI5O2Uub2JhcnJlZD02Mjk7ZS5vYmFycmVkY3lyaWxsaWM9MTI1NztlLm9iYXJyZWRkaWVyZXNpc2N5cmlsbGljPTEyNTk7ZS5vYmVuZ2FsaT0yNDUxO2Uub2JvcG9tb2ZvPTEyNTcxO2Uub2JyZXZlPTMzNTtlLm9jYW5kcmFkZXZhPTIzMjE7ZS5vY2FuZHJhZ3VqYXJhdGk9MjcwNTtlLm9jYW5kcmF2b3dlbHNpZ25kZXZhPTIzNzc7ZS5vY2FuZHJhdm93ZWxzaWduZ3VqYXJhdGk9Mjc2MTtlLm9jYXJvbj00NjY7ZS5vY2lyY2xlPTk0Mzg7ZS5vY2lyY3VtZmxleD0yNDQ7ZS5vY2lyY3VtZmxleGFjdXRlPTc4ODk7ZS5vY2lyY3VtZmxleGRvdGJlbG93PTc4OTc7ZS5vY2lyY3VtZmxleGdyYXZlPTc4OTE7ZS5vY2lyY3VtZmxleGhvb2thYm92ZT03ODkzO2Uub2NpcmN1bWZsZXh0aWxkZT03ODk1O2Uub2N5cmlsbGljPTEwODY7ZS5vZGJsYWN1dGU9MzM3O2Uub2RibGdyYXZlPTUyNTtlLm9kZXZhPTIzMjM7ZS5vZGllcmVzaXM9MjQ2O2Uub2RpZXJlc2lzY3lyaWxsaWM9MTI1NTtlLm9kb3RiZWxvdz03ODg1O2Uub2U9MzM5O2Uub2Vrb3JlYW49MTI2MzQ7ZS5vZ29uZWs9NzMxO2Uub2dvbmVrY21iPTgwODtlLm9ncmF2ZT0yNDI7ZS5vZ3VqYXJhdGk9MjcwNztlLm9oYXJtZW5pYW49MTQxMztlLm9oaXJhZ2FuYT0xMjM2MjtlLm9ob29rYWJvdmU9Nzg4NztlLm9ob3JuPTQxNztlLm9ob3JuYWN1dGU9Nzg5OTtlLm9ob3JuZG90YmVsb3c9NzkwNztlLm9ob3JuZ3JhdmU9NzkwMTtlLm9ob3JuaG9va2Fib3ZlPTc5MDM7ZS5vaG9ybnRpbGRlPTc5MDU7ZS5vaHVuZ2FydW1sYXV0PTMzNztlLm9pPTQxOTtlLm9pbnZlcnRlZGJyZXZlPTUyNztlLm9rYXRha2FuYT0xMjQ1ODtlLm9rYXRha2FuYWhhbGZ3aWR0aD02NTM5NztlLm9rb3JlYW49MTI2MzE7ZS5vbGVoZWJyZXc9MTQ1MTtlLm9tYWNyb249MzMzO2Uub21hY3JvbmFjdXRlPTc3NjM7ZS5vbWFjcm9uZ3JhdmU9Nzc2MTtlLm9tZGV2YT0yMzg0O2Uub21lZ2E9OTY5O2Uub21lZ2ExPTk4MjtlLm9tZWdhY3lyaWxsaWM9MTEyMTtlLm9tZWdhbGF0aW5jbG9zZWQ9NjMxO2Uub21lZ2Fyb3VuZGN5cmlsbGljPTExNDc7ZS5vbWVnYXRpdGxvY3lyaWxsaWM9MTE0OTtlLm9tZWdhdG9ub3M9OTc0O2Uub21ndWphcmF0aT0yNzY4O2Uub21pY3Jvbj05NTk7ZS5vbWljcm9udG9ub3M9OTcyO2Uub21vbm9zcGFjZT02NTM1OTtlLm9uZT00OTtlLm9uZWFyYWJpYz0xNjMzO2Uub25lYmVuZ2FsaT0yNTM1O2Uub25lY2lyY2xlPTkzMTI7ZS5vbmVjaXJjbGVpbnZlcnNlc2Fuc3NlcmlmPTEwMTIyO2Uub25lZGV2YT0yNDA3O2Uub25lZG90ZW5sZWFkZXI9ODIyODtlLm9uZWVpZ2h0aD04NTM5O2Uub25lZml0dGVkPTYzMTk2O2Uub25lZ3VqYXJhdGk9Mjc5MTtlLm9uZWd1cm11a2hpPTI2NjM7ZS5vbmVoYWNrYXJhYmljPTE2MzM7ZS5vbmVoYWxmPTE4OTtlLm9uZWhhbmd6aG91PTEyMzIxO2Uub25laWRlb2dyYXBoaWNwYXJlbj0xMjgzMjtlLm9uZWluZmVyaW9yPTgzMjE7ZS5vbmVtb25vc3BhY2U9NjUyOTc7ZS5vbmVudW1lcmF0b3JiZW5nYWxpPTI1NDg7ZS5vbmVvbGRzdHlsZT02MzI4MTtlLm9uZXBhcmVuPTkzMzI7ZS5vbmVwZXJpb2Q9OTM1MjtlLm9uZXBlcnNpYW49MTc3NztlLm9uZXF1YXJ0ZXI9MTg4O2Uub25lcm9tYW49ODU2MDtlLm9uZXN1cGVyaW9yPTE4NTtlLm9uZXRoYWk9MzY2NTtlLm9uZXRoaXJkPTg1MzE7ZS5vb2dvbmVrPTQ5MTtlLm9vZ29uZWttYWNyb249NDkzO2Uub29ndXJtdWtoaT0yNTc5O2Uub29tYXRyYWd1cm11a2hpPTI2MzU7ZS5vb3Blbj01OTY7ZS5vcGFyZW49OTM4NjtlLm9wZW5idWxsZXQ9OTcwMjtlLm9wdGlvbj04OTk3O2Uub3JkZmVtaW5pbmU9MTcwO2Uub3JkbWFzY3VsaW5lPTE4NjtlLm9ydGhvZ29uYWw9ODczNTtlLm9zaG9ydGRldmE9MjMyMjtlLm9zaG9ydHZvd2Vsc2lnbmRldmE9MjM3ODtlLm9zbGFzaD0yNDg7ZS5vc2xhc2hhY3V0ZT01MTE7ZS5vc21hbGxoaXJhZ2FuYT0xMjM2MTtlLm9zbWFsbGthdGFrYW5hPTEyNDU3O2Uub3NtYWxsa2F0YWthbmFoYWxmd2lkdGg9NjUzODc7ZS5vc3Ryb2tlYWN1dGU9NTExO2Uub3N1cGVyaW9yPTYzMjE2O2Uub3RjeXJpbGxpYz0xMTUxO2Uub3RpbGRlPTI0NTtlLm90aWxkZWFjdXRlPTc3NTc7ZS5vdGlsZGVkaWVyZXNpcz03NzU5O2Uub3Vib3BvbW9mbz0xMjU3NztlLm92ZXJsaW5lPTgyNTQ7ZS5vdmVybGluZWNlbnRlcmxpbmU9NjUwOTg7ZS5vdmVybGluZWNtYj03NzM7ZS5vdmVybGluZWRhc2hlZD02NTA5NztlLm92ZXJsaW5lZGJsd2F2eT02NTEwMDtlLm92ZXJsaW5ld2F2eT02NTA5OTtlLm92ZXJzY29yZT0xNzU7ZS5vdm93ZWxzaWduYmVuZ2FsaT0yNTA3O2Uub3Zvd2Vsc2lnbmRldmE9MjM3OTtlLm92b3dlbHNpZ25ndWphcmF0aT0yNzYzO2UucD0xMTI7ZS5wYWFtcHNzcXVhcmU9MTMxODQ7ZS5wYWFzZW50b3NxdWFyZT0xMzA5OTtlLnBhYmVuZ2FsaT0yNDc0O2UucGFjdXRlPTc3NjU7ZS5wYWRldmE9MjM0NjtlLnBhZ2Vkb3duPTg2NzE7ZS5wYWdldXA9ODY3MDtlLnBhZ3VqYXJhdGk9MjczMDtlLnBhZ3VybXVraGk9MjYwMjtlLnBhaGlyYWdhbmE9MTI0MDE7ZS5wYWl5YW5ub2l0aGFpPTM2MzE7ZS5wYWthdGFrYW5hPTEyNDk3O2UucGFsYXRhbGl6YXRpb25jeXJpbGxpY2NtYj0xMTU2O2UucGFsb2Noa2FjeXJpbGxpYz0xMjE2O2UucGFuc2lvc2tvcmVhbj0xMjY3MTtlLnBhcmFncmFwaD0xODI7ZS5wYXJhbGxlbD04NzQxO2UucGFyZW5sZWZ0PTQwO2UucGFyZW5sZWZ0YWx0b25lYXJhYmljPTY0ODMwO2UucGFyZW5sZWZ0YnQ9NjM3MjU7ZS5wYXJlbmxlZnRleD02MzcyNDtlLnBhcmVubGVmdGluZmVyaW9yPTgzMzM7ZS5wYXJlbmxlZnRtb25vc3BhY2U9NjUyODg7ZS5wYXJlbmxlZnRzbWFsbD02NTExMztlLnBhcmVubGVmdHN1cGVyaW9yPTgzMTc7ZS5wYXJlbmxlZnR0cD02MzcyMztlLnBhcmVubGVmdHZlcnRpY2FsPTY1MDc3O2UucGFyZW5yaWdodD00MTtlLnBhcmVucmlnaHRhbHRvbmVhcmFiaWM9NjQ4MzE7ZS5wYXJlbnJpZ2h0YnQ9NjM3MzY7ZS5wYXJlbnJpZ2h0ZXg9NjM3MzU7ZS5wYXJlbnJpZ2h0aW5mZXJpb3I9ODMzNDtlLnBhcmVucmlnaHRtb25vc3BhY2U9NjUyODk7ZS5wYXJlbnJpZ2h0c21hbGw9NjUxMTQ7ZS5wYXJlbnJpZ2h0c3VwZXJpb3I9ODMxODtlLnBhcmVucmlnaHR0cD02MzczNDtlLnBhcmVucmlnaHR2ZXJ0aWNhbD02NTA3ODtlLnBhcnRpYWxkaWZmPTg3MDY7ZS5wYXNlcWhlYnJldz0xNDcyO2UucGFzaHRhaGVicmV3PTE0MzM7ZS5wYXNxdWFyZT0xMzIyNTtlLnBhdGFoPTE0NjM7ZS5wYXRhaDExPTE0NjM7ZS5wYXRhaDFkPTE0NjM7ZS5wYXRhaDJhPTE0NjM7ZS5wYXRhaGhlYnJldz0xNDYzO2UucGF0YWhuYXJyb3doZWJyZXc9MTQ2MztlLnBhdGFocXVhcnRlcmhlYnJldz0xNDYzO2UucGF0YWh3aWRlaGVicmV3PTE0NjM7ZS5wYXplcmhlYnJldz0xNDQxO2UucGJvcG9tb2ZvPTEyNTUwO2UucGNpcmNsZT05NDM5O2UucGRvdGFjY2VudD03NzY3O2UucGU9MTUwODtlLnBlY3lyaWxsaWM9MTA4NztlLnBlZGFnZXNoPTY0MzI0O2UucGVkYWdlc2hoZWJyZXc9NjQzMjQ7ZS5wZWV6aXNxdWFyZT0xMzExNTtlLnBlZmluYWxkYWdlc2hoZWJyZXc9NjQzMjM7ZS5wZWhhcmFiaWM9MTY2MjtlLnBlaGFybWVuaWFuPTE0MDI7ZS5wZWhlYnJldz0xNTA4O2UucGVoZmluYWxhcmFiaWM9NjQzNDM7ZS5wZWhpbml0aWFsYXJhYmljPTY0MzQ0O2UucGVoaXJhZ2FuYT0xMjQxMDtlLnBlaG1lZGlhbGFyYWJpYz02NDM0NTtlLnBla2F0YWthbmE9MTI1MDY7ZS5wZW1pZGRsZWhvb2tjeXJpbGxpYz0xMTkxO2UucGVyYWZlaGVicmV3PTY0MzM0O2UucGVyY2VudD0zNztlLnBlcmNlbnRhcmFiaWM9MTY0MjtlLnBlcmNlbnRtb25vc3BhY2U9NjUyODU7ZS5wZXJjZW50c21hbGw9NjUxMzA7ZS5wZXJpb2Q9NDY7ZS5wZXJpb2Rhcm1lbmlhbj0xNDE3O2UucGVyaW9kY2VudGVyZWQ9MTgzO2UucGVyaW9kaGFsZndpZHRoPTY1Mzc3O2UucGVyaW9kaW5mZXJpb3I9NjMyMDc7ZS5wZXJpb2Rtb25vc3BhY2U9NjUyOTQ7ZS5wZXJpb2RzbWFsbD02NTEwNjtlLnBlcmlvZHN1cGVyaW9yPTYzMjA4O2UucGVyaXNwb21lbmlncmVla2NtYj04MzQ7ZS5wZXJwZW5kaWN1bGFyPTg4Njk7ZS5wZXJ0aG91c2FuZD04MjQwO2UucGVzZXRhPTgzNTk7ZS5wZnNxdWFyZT0xMzE5NDtlLnBoYWJlbmdhbGk9MjQ3NTtlLnBoYWRldmE9MjM0NztlLnBoYWd1amFyYXRpPTI3MzE7ZS5waGFndXJtdWtoaT0yNjAzO2UucGhpPTk2NjtlLnBoaTE9OTgxO2UucGhpZXVwaGFjaXJjbGVrb3JlYW49MTI5MjI7ZS5waGlldXBoYXBhcmVua29yZWFuPTEyODI2O2UucGhpZXVwaGNpcmNsZWtvcmVhbj0xMjkwODtlLnBoaWV1cGhrb3JlYW49MTI2MjE7ZS5waGlldXBocGFyZW5rb3JlYW49MTI4MTI7ZS5waGlsYXRpbj02MzI7ZS5waGludGh1dGhhaT0zNjQyO2UucGhpc3ltYm9sZ3JlZWs9OTgxO2UucGhvb2s9NDIxO2UucGhvcGhhbnRoYWk9MzYxNDtlLnBob3BodW5ndGhhaT0zNjEyO2UucGhvc2FtcGhhb3RoYWk9MzYxNjtlLnBpPTk2MDtlLnBpZXVwYWNpcmNsZWtvcmVhbj0xMjkxNTtlLnBpZXVwYXBhcmVua29yZWFuPTEyODE5O2UucGlldXBjaWV1Y2tvcmVhbj0xMjY2MjtlLnBpZXVwY2lyY2xla29yZWFuPTEyOTAxO2UucGlldXBraXllb2trb3JlYW49MTI2NTg7ZS5waWV1cGtvcmVhbj0xMjYxMDtlLnBpZXVwcGFyZW5rb3JlYW49MTI4MDU7ZS5waWV1cHNpb3NraXllb2trb3JlYW49MTI2NjA7ZS5waWV1cHNpb3Nrb3JlYW49MTI2MTI7ZS5waWV1cHNpb3N0aWtldXRrb3JlYW49MTI2NjE7ZS5waWV1cHRoaWV1dGhrb3JlYW49MTI2NjM7ZS5waWV1cHRpa2V1dGtvcmVhbj0xMjY1OTtlLnBpaGlyYWdhbmE9MTI0MDQ7ZS5waWthdGFrYW5hPTEyNTAwO2UucGlzeW1ib2xncmVlaz05ODI7ZS5waXdyYXJtZW5pYW49MTQxMTtlLnBsYW5ja292ZXIycGk9ODQ2MztlLnBsYW5ja292ZXIycGkxPTg0NjM7ZS5wbHVzPTQzO2UucGx1c2JlbG93Y21iPTc5OTtlLnBsdXNjaXJjbGU9ODg1MztlLnBsdXNtaW51cz0xNzc7ZS5wbHVzbW9kPTcyNjtlLnBsdXNtb25vc3BhY2U9NjUyOTE7ZS5wbHVzc21hbGw9NjUxMjI7ZS5wbHVzc3VwZXJpb3I9ODMxNDtlLnBtb25vc3BhY2U9NjUzNjA7ZS5wbXNxdWFyZT0xMzI3MjtlLnBvaGlyYWdhbmE9MTI0MTM7ZS5wb2ludGluZ2luZGV4ZG93bndoaXRlPTk3NTk7ZS5wb2ludGluZ2luZGV4bGVmdHdoaXRlPTk3NTY7ZS5wb2ludGluZ2luZGV4cmlnaHR3aGl0ZT05NzU4O2UucG9pbnRpbmdpbmRleHVwd2hpdGU9OTc1NztlLnBva2F0YWthbmE9MTI1MDk7ZS5wb3BsYXRoYWk9MzYxMTtlLnBvc3RhbG1hcms9MTIzMDY7ZS5wb3N0YWxtYXJrZmFjZT0xMjMyMDtlLnBwYXJlbj05Mzg3O2UucHJlY2VkZXM9ODgyNjtlLnByZXNjcmlwdGlvbj04NDc4O2UucHJpbWVtb2Q9Njk3O2UucHJpbWVyZXZlcnNlZD04MjQ1O2UucHJvZHVjdD04NzE5O2UucHJvamVjdGl2ZT04OTY1O2UucHJvbG9uZ2Vka2FuYT0xMjU0MDtlLnByb3BlbGxvcj04OTg0O2UucHJvcGVyc3Vic2V0PTg4MzQ7ZS5wcm9wZXJzdXBlcnNldD04ODM1O2UucHJvcG9ydGlvbj04NzU5O2UucHJvcG9ydGlvbmFsPTg3MzM7ZS5wc2k9OTY4O2UucHNpY3lyaWxsaWM9MTEzNztlLnBzaWxpcG5ldW1hdGFjeXJpbGxpY2NtYj0xMTU4O2UucHNzcXVhcmU9MTMyMzI7ZS5wdWhpcmFnYW5hPTEyNDA3O2UucHVrYXRha2FuYT0xMjUwMztlLnB2c3F1YXJlPTEzMjM2O2UucHdzcXVhcmU9MTMyNDI7ZS5xPTExMztlLnFhZGV2YT0yMzkyO2UucWFkbWFoZWJyZXc9MTQ0ODtlLnFhZmFyYWJpYz0xNjAyO2UucWFmZmluYWxhcmFiaWM9NjUyMzg7ZS5xYWZpbml0aWFsYXJhYmljPTY1MjM5O2UucWFmbWVkaWFsYXJhYmljPTY1MjQwO2UucWFtYXRzPTE0NjQ7ZS5xYW1hdHMxMD0xNDY0O2UucWFtYXRzMWE9MTQ2NDtlLnFhbWF0czFjPTE0NjQ7ZS5xYW1hdHMyNz0xNDY0O2UucWFtYXRzMjk9MTQ2NDtlLnFhbWF0czMzPTE0NjQ7ZS5xYW1hdHNkZT0xNDY0O2UucWFtYXRzaGVicmV3PTE0NjQ7ZS5xYW1hdHNuYXJyb3doZWJyZXc9MTQ2NDtlLnFhbWF0c3FhdGFuaGVicmV3PTE0NjQ7ZS5xYW1hdHNxYXRhbm5hcnJvd2hlYnJldz0xNDY0O2UucWFtYXRzcWF0YW5xdWFydGVyaGVicmV3PTE0NjQ7ZS5xYW1hdHNxYXRhbndpZGVoZWJyZXc9MTQ2NDtlLnFhbWF0c3F1YXJ0ZXJoZWJyZXc9MTQ2NDtlLnFhbWF0c3dpZGVoZWJyZXc9MTQ2NDtlLnFhcm5leXBhcmFoZWJyZXc9MTQzOTtlLnFib3BvbW9mbz0xMjU2MTtlLnFjaXJjbGU9OTQ0MDtlLnFob29rPTY3MjtlLnFtb25vc3BhY2U9NjUzNjE7ZS5xb2Y9MTUxMTtlLnFvZmRhZ2VzaD02NDMyNztlLnFvZmRhZ2VzaGhlYnJldz02NDMyNztlLnFvZmhlYnJldz0xNTExO2UucXBhcmVuPTkzODg7ZS5xdWFydGVybm90ZT05ODMzO2UucXVidXRzPTE0Njc7ZS5xdWJ1dHMxOD0xNDY3O2UucXVidXRzMjU9MTQ2NztlLnF1YnV0czMxPTE0Njc7ZS5xdWJ1dHNoZWJyZXc9MTQ2NztlLnF1YnV0c25hcnJvd2hlYnJldz0xNDY3O2UucXVidXRzcXVhcnRlcmhlYnJldz0xNDY3O2UucXVidXRzd2lkZWhlYnJldz0xNDY3O2UucXVlc3Rpb249NjM7ZS5xdWVzdGlvbmFyYWJpYz0xNTY3O2UucXVlc3Rpb25hcm1lbmlhbj0xMzc0O2UucXVlc3Rpb25kb3duPTE5MTtlLnF1ZXN0aW9uZG93bnNtYWxsPTYzNDIzO2UucXVlc3Rpb25ncmVlaz04OTQ7ZS5xdWVzdGlvbm1vbm9zcGFjZT02NTMxMTtlLnF1ZXN0aW9uc21hbGw9NjMyOTU7ZS5xdW90ZWRibD0zNDtlLnF1b3RlZGJsYmFzZT04MjIyO2UucXVvdGVkYmxsZWZ0PTgyMjA7ZS5xdW90ZWRibG1vbm9zcGFjZT02NTI4MjtlLnF1b3RlZGJscHJpbWU9MTIzMTg7ZS5xdW90ZWRibHByaW1lcmV2ZXJzZWQ9MTIzMTc7ZS5xdW90ZWRibHJpZ2h0PTgyMjE7ZS5xdW90ZWxlZnQ9ODIxNjtlLnF1b3RlbGVmdHJldmVyc2VkPTgyMTk7ZS5xdW90ZXJldmVyc2VkPTgyMTk7ZS5xdW90ZXJpZ2h0PTgyMTc7ZS5xdW90ZXJpZ2h0bj0zMjk7ZS5xdW90ZXNpbmdsYmFzZT04MjE4O2UucXVvdGVzaW5nbGU9Mzk7ZS5xdW90ZXNpbmdsZW1vbm9zcGFjZT02NTI4NztlLnI9MTE0O2UucmFhcm1lbmlhbj0xNDA0O2UucmFiZW5nYWxpPTI0ODA7ZS5yYWN1dGU9MzQxO2UucmFkZXZhPTIzNTI7ZS5yYWRpY2FsPTg3MzA7ZS5yYWRpY2FsZXg9NjM3MTc7ZS5yYWRvdmVyc3NxdWFyZT0xMzIzMDtlLnJhZG92ZXJzc3F1YXJlZHNxdWFyZT0xMzIzMTtlLnJhZHNxdWFyZT0xMzIyOTtlLnJhZmU9MTQ3MTtlLnJhZmVoZWJyZXc9MTQ3MTtlLnJhZ3VqYXJhdGk9MjczNjtlLnJhZ3VybXVraGk9MjYwODtlLnJhaGlyYWdhbmE9MTI0MjU7ZS5yYWthdGFrYW5hPTEyNTIxO2UucmFrYXRha2FuYWhhbGZ3aWR0aD02NTQzMTtlLnJhbG93ZXJkaWFnb25hbGJlbmdhbGk9MjU0NTtlLnJhbWlkZGxlZGlhZ29uYWxiZW5nYWxpPTI1NDQ7ZS5yYW1zaG9ybj02MTI7ZS5yYXRpbz04NzU4O2UucmJvcG9tb2ZvPTEyNTY2O2UucmNhcm9uPTM0NTtlLnJjZWRpbGxhPTM0MztlLnJjaXJjbGU9OTQ0MTtlLnJjb21tYWFjY2VudD0zNDM7ZS5yZGJsZ3JhdmU9NTI5O2UucmRvdGFjY2VudD03NzY5O2UucmRvdGJlbG93PTc3NzE7ZS5yZG90YmVsb3dtYWNyb249Nzc3MztlLnJlZmVyZW5jZW1hcms9ODI1MTtlLnJlZmxleHN1YnNldD04ODM4O2UucmVmbGV4c3VwZXJzZXQ9ODgzOTtlLnJlZ2lzdGVyZWQ9MTc0O2UucmVnaXN0ZXJzYW5zPTYzNzIwO2UucmVnaXN0ZXJzZXJpZj02MzE5NDtlLnJlaGFyYWJpYz0xNTg1O2UucmVoYXJtZW5pYW49MTQwODtlLnJlaGZpbmFsYXJhYmljPTY1MTk4O2UucmVoaXJhZ2FuYT0xMjQyODtlLnJla2F0YWthbmE9MTI1MjQ7ZS5yZWthdGFrYW5haGFsZndpZHRoPTY1NDM0O2UucmVzaD0xNTEyO2UucmVzaGRhZ2VzaGhlYnJldz02NDMyODtlLnJlc2hoZWJyZXc9MTUxMjtlLnJldmVyc2VkdGlsZGU9ODc2NTtlLnJldmlhaGVicmV3PTE0MzE7ZS5yZXZpYW11Z3Jhc2hoZWJyZXc9MTQzMTtlLnJldmxvZ2ljYWxub3Q9ODk3NjtlLnJmaXNoaG9vaz02Mzg7ZS5yZmlzaGhvb2tyZXZlcnNlZD02Mzk7ZS5yaGFiZW5nYWxpPTI1MjU7ZS5yaGFkZXZhPTIzOTc7ZS5yaG89OTYxO2Uucmhvb2s9NjM3O2Uucmhvb2t0dXJuZWQ9NjM1O2Uucmhvb2t0dXJuZWRzdXBlcmlvcj02OTM7ZS5yaG9zeW1ib2xncmVlaz0xMDA5O2UucmhvdGljaG9va21vZD03MzQ7ZS5yaWV1bGFjaXJjbGVrb3JlYW49MTI5MTM7ZS5yaWV1bGFwYXJlbmtvcmVhbj0xMjgxNztlLnJpZXVsY2lyY2xla29yZWFuPTEyODk5O2UucmlldWxoaWV1aGtvcmVhbj0xMjYwODtlLnJpZXVsa2l5ZW9ra29yZWFuPTEyNjAyO2UucmlldWxraXllb2tzaW9za29yZWFuPTEyNjQ5O2UucmlldWxrb3JlYW49MTI2MDE7ZS5yaWV1bG1pZXVta29yZWFuPTEyNjAzO2UucmlldWxwYW5zaW9za29yZWFuPTEyNjUyO2UucmlldWxwYXJlbmtvcmVhbj0xMjgwMztlLnJpZXVscGhpZXVwaGtvcmVhbj0xMjYwNztlLnJpZXVscGlldXBrb3JlYW49MTI2MDQ7ZS5yaWV1bHBpZXVwc2lvc2tvcmVhbj0xMjY1MTtlLnJpZXVsc2lvc2tvcmVhbj0xMjYwNTtlLnJpZXVsdGhpZXV0aGtvcmVhbj0xMjYwNjtlLnJpZXVsdGlrZXV0a29yZWFuPTEyNjUwO2UucmlldWx5ZW9yaW5oaWV1aGtvcmVhbj0xMjY1MztlLnJpZ2h0YW5nbGU9ODczNTtlLnJpZ2h0dGFja2JlbG93Y21iPTc5MztlLnJpZ2h0dHJpYW5nbGU9ODg5NTtlLnJpaGlyYWdhbmE9MTI0MjY7ZS5yaWthdGFrYW5hPTEyNTIyO2UucmlrYXRha2FuYWhhbGZ3aWR0aD02NTQzMjtlLnJpbmc9NzMwO2UucmluZ2JlbG93Y21iPTgwNTtlLnJpbmdjbWI9Nzc4O2UucmluZ2hhbGZsZWZ0PTcwMztlLnJpbmdoYWxmbGVmdGFybWVuaWFuPTEzNjk7ZS5yaW5naGFsZmxlZnRiZWxvd2NtYj03OTY7ZS5yaW5naGFsZmxlZnRjZW50ZXJlZD03MjM7ZS5yaW5naGFsZnJpZ2h0PTcwMjtlLnJpbmdoYWxmcmlnaHRiZWxvd2NtYj04MjU7ZS5yaW5naGFsZnJpZ2h0Y2VudGVyZWQ9NzIyO2UucmludmVydGVkYnJldmU9NTMxO2Uucml0dG9ydXNxdWFyZT0xMzEzNztlLnJsaW5lYmVsb3c9Nzc3NTtlLnJsb25nbGVnPTYzNjtlLnJsb25nbGVndHVybmVkPTYzNDtlLnJtb25vc3BhY2U9NjUzNjI7ZS5yb2hpcmFnYW5hPTEyNDI5O2Uucm9rYXRha2FuYT0xMjUyNTtlLnJva2F0YWthbmFoYWxmd2lkdGg9NjU0MzU7ZS5yb3J1YXRoYWk9MzYxOTtlLnJwYXJlbj05Mzg5O2UucnJhYmVuZ2FsaT0yNTI0O2UucnJhZGV2YT0yMzUzO2UucnJhZ3VybXVraGk9MjY1MjtlLnJyZWhhcmFiaWM9MTY4MTtlLnJyZWhmaW5hbGFyYWJpYz02NDM5NztlLnJydm9jYWxpY2JlbmdhbGk9MjUyODtlLnJydm9jYWxpY2RldmE9MjQwMDtlLnJydm9jYWxpY2d1amFyYXRpPTI3ODQ7ZS5ycnZvY2FsaWN2b3dlbHNpZ25iZW5nYWxpPTI1MDA7ZS5ycnZvY2FsaWN2b3dlbHNpZ25kZXZhPTIzNzI7ZS5ycnZvY2FsaWN2b3dlbHNpZ25ndWphcmF0aT0yNzU2O2UucnN1cGVyaW9yPTYzMjE3O2UucnRibG9jaz05NjE2O2UucnR1cm5lZD02MzM7ZS5ydHVybmVkc3VwZXJpb3I9NjkyO2UucnVoaXJhZ2FuYT0xMjQyNztlLnJ1a2F0YWthbmE9MTI1MjM7ZS5ydWthdGFrYW5haGFsZndpZHRoPTY1NDMzO2UucnVwZWVtYXJrYmVuZ2FsaT0yNTQ2O2UucnVwZWVzaWduYmVuZ2FsaT0yNTQ3O2UucnVwaWFoPTYzMTk3O2UucnV0aGFpPTM2MjA7ZS5ydm9jYWxpY2JlbmdhbGk9MjQ0MztlLnJ2b2NhbGljZGV2YT0yMzE1O2UucnZvY2FsaWNndWphcmF0aT0yNjk5O2UucnZvY2FsaWN2b3dlbHNpZ25iZW5nYWxpPTI0OTk7ZS5ydm9jYWxpY3Zvd2Vsc2lnbmRldmE9MjM3MTtlLnJ2b2NhbGljdm93ZWxzaWduZ3VqYXJhdGk9Mjc1NTtlLnM9MTE1O2Uuc2FiZW5nYWxpPTI0ODg7ZS5zYWN1dGU9MzQ3O2Uuc2FjdXRlZG90YWNjZW50PTc3ODE7ZS5zYWRhcmFiaWM9MTU4OTtlLnNhZGV2YT0yMzYwO2Uuc2FkZmluYWxhcmFiaWM9NjUyMTA7ZS5zYWRpbml0aWFsYXJhYmljPTY1MjExO2Uuc2FkbWVkaWFsYXJhYmljPTY1MjEyO2Uuc2FndWphcmF0aT0yNzQ0O2Uuc2FndXJtdWtoaT0yNjE2O2Uuc2FoaXJhZ2FuYT0xMjM3MztlLnNha2F0YWthbmE9MTI0Njk7ZS5zYWthdGFrYW5haGFsZndpZHRoPTY1NDAzO2Uuc2FsbGFsbGFob3VhbGF5aGV3YXNhbGxhbWFyYWJpYz02NTAxODtlLnNhbWVraD0xNTA1O2Uuc2FtZWtoZGFnZXNoPTY0MzIxO2Uuc2FtZWtoZGFnZXNoaGVicmV3PTY0MzIxO2Uuc2FtZWtoaGVicmV3PTE1MDU7ZS5zYXJhYWF0aGFpPTM2MzQ7ZS5zYXJhYWV0aGFpPTM2NDk7ZS5zYXJhYWltYWltYWxhaXRoYWk9MzY1MjtlLnNhcmFhaW1haW11YW50aGFpPTM2NTE7ZS5zYXJhYW10aGFpPTM2MzU7ZS5zYXJhYXRoYWk9MzYzMjtlLnNhcmFldGhhaT0zNjQ4O2Uuc2FyYWlpbGVmdHRoYWk9NjM2MjI7ZS5zYXJhaWl0aGFpPTM2Mzc7ZS5zYXJhaWxlZnR0aGFpPTYzNjIxO2Uuc2FyYWl0aGFpPTM2MzY7ZS5zYXJhb3RoYWk9MzY1MDtlLnNhcmF1ZWVsZWZ0dGhhaT02MzYyNDtlLnNhcmF1ZWV0aGFpPTM2Mzk7ZS5zYXJhdWVsZWZ0dGhhaT02MzYyMztlLnNhcmF1ZXRoYWk9MzYzODtlLnNhcmF1dGhhaT0zNjQwO2Uuc2FyYXV1dGhhaT0zNjQxO2Uuc2JvcG9tb2ZvPTEyNTY5O2Uuc2Nhcm9uPTM1MztlLnNjYXJvbmRvdGFjY2VudD03NzgzO2Uuc2NlZGlsbGE9MzUxO2Uuc2Nod2E9NjAxO2Uuc2Nod2FjeXJpbGxpYz0xMjQxO2Uuc2Nod2FkaWVyZXNpc2N5cmlsbGljPTEyNDM7ZS5zY2h3YWhvb2s9NjAyO2Uuc2NpcmNsZT05NDQyO2Uuc2NpcmN1bWZsZXg9MzQ5O2Uuc2NvbW1hYWNjZW50PTUzNztlLnNkb3RhY2NlbnQ9Nzc3NztlLnNkb3RiZWxvdz03Nzc5O2Uuc2RvdGJlbG93ZG90YWNjZW50PTc3ODU7ZS5zZWFndWxsYmVsb3djbWI9ODI4O2Uuc2Vjb25kPTgyNDM7ZS5zZWNvbmR0b25lY2hpbmVzZT03MTQ7ZS5zZWN0aW9uPTE2NztlLnNlZW5hcmFiaWM9MTU4NztlLnNlZW5maW5hbGFyYWJpYz02NTIwMjtlLnNlZW5pbml0aWFsYXJhYmljPTY1MjAzO2Uuc2Vlbm1lZGlhbGFyYWJpYz02NTIwNDtlLnNlZ29sPTE0NjI7ZS5zZWdvbDEzPTE0NjI7ZS5zZWdvbDFmPTE0NjI7ZS5zZWdvbDJjPTE0NjI7ZS5zZWdvbGhlYnJldz0xNDYyO2Uuc2Vnb2xuYXJyb3doZWJyZXc9MTQ2MjtlLnNlZ29scXVhcnRlcmhlYnJldz0xNDYyO2Uuc2Vnb2x0YWhlYnJldz0xNDI2O2Uuc2Vnb2x3aWRlaGVicmV3PTE0NjI7ZS5zZWhhcm1lbmlhbj0xNDA1O2Uuc2VoaXJhZ2FuYT0xMjM3OTtlLnNla2F0YWthbmE9MTI0NzU7ZS5zZWthdGFrYW5haGFsZndpZHRoPTY1NDA2O2Uuc2VtaWNvbG9uPTU5O2Uuc2VtaWNvbG9uYXJhYmljPTE1NjM7ZS5zZW1pY29sb25tb25vc3BhY2U9NjUzMDc7ZS5zZW1pY29sb25zbWFsbD02NTEwODtlLnNlbWl2b2ljZWRtYXJra2FuYT0xMjQ0NDtlLnNlbWl2b2ljZWRtYXJra2FuYWhhbGZ3aWR0aD02NTQzOTtlLnNlbnRpc3F1YXJlPTEzMDkwO2Uuc2VudG9zcXVhcmU9MTMwOTE7ZS5zZXZlbj01NTtlLnNldmVuYXJhYmljPTE2Mzk7ZS5zZXZlbmJlbmdhbGk9MjU0MTtlLnNldmVuY2lyY2xlPTkzMTg7ZS5zZXZlbmNpcmNsZWludmVyc2VzYW5zc2VyaWY9MTAxMjg7ZS5zZXZlbmRldmE9MjQxMztlLnNldmVuZWlnaHRocz04NTQyO2Uuc2V2ZW5ndWphcmF0aT0yNzk3O2Uuc2V2ZW5ndXJtdWtoaT0yNjY5O2Uuc2V2ZW5oYWNrYXJhYmljPTE2Mzk7ZS5zZXZlbmhhbmd6aG91PTEyMzI3O2Uuc2V2ZW5pZGVvZ3JhcGhpY3BhcmVuPTEyODM4O2Uuc2V2ZW5pbmZlcmlvcj04MzI3O2Uuc2V2ZW5tb25vc3BhY2U9NjUzMDM7ZS5zZXZlbm9sZHN0eWxlPTYzMjg3O2Uuc2V2ZW5wYXJlbj05MzM4O2Uuc2V2ZW5wZXJpb2Q9OTM1ODtlLnNldmVucGVyc2lhbj0xNzgzO2Uuc2V2ZW5yb21hbj04NTY2O2Uuc2V2ZW5zdXBlcmlvcj04MzExO2Uuc2V2ZW50ZWVuY2lyY2xlPTkzMjg7ZS5zZXZlbnRlZW5wYXJlbj05MzQ4O2Uuc2V2ZW50ZWVucGVyaW9kPTkzNjg7ZS5zZXZlbnRoYWk9MzY3MTtlLnNmdGh5cGhlbj0xNzM7ZS5zaGFhcm1lbmlhbj0xMzk5O2Uuc2hhYmVuZ2FsaT0yNDg2O2Uuc2hhY3lyaWxsaWM9MTA5NjtlLnNoYWRkYWFyYWJpYz0xNjE3O2Uuc2hhZGRhZGFtbWFhcmFiaWM9NjQ2MDk7ZS5zaGFkZGFkYW1tYXRhbmFyYWJpYz02NDYwNjtlLnNoYWRkYWZhdGhhYXJhYmljPTY0NjA4O2Uuc2hhZGRha2FzcmFhcmFiaWM9NjQ2MTA7ZS5zaGFkZGFrYXNyYXRhbmFyYWJpYz02NDYwNztlLnNoYWRlPTk2MTg7ZS5zaGFkZWRhcms9OTYxOTtlLnNoYWRlbGlnaHQ9OTYxNztlLnNoYWRlbWVkaXVtPTk2MTg7ZS5zaGFkZXZhPTIzNTg7ZS5zaGFndWphcmF0aT0yNzQyO2Uuc2hhZ3VybXVraGk9MjYxNDtlLnNoYWxzaGVsZXRoZWJyZXc9MTQyNztlLnNoYm9wb21vZm89MTI1NjU7ZS5zaGNoYWN5cmlsbGljPTEwOTc7ZS5zaGVlbmFyYWJpYz0xNTg4O2Uuc2hlZW5maW5hbGFyYWJpYz02NTIwNjtlLnNoZWVuaW5pdGlhbGFyYWJpYz02NTIwNztlLnNoZWVubWVkaWFsYXJhYmljPTY1MjA4O2Uuc2hlaWNvcHRpYz05OTU7ZS5zaGVxZWw9ODM2MjtlLnNoZXFlbGhlYnJldz04MzYyO2Uuc2hldmE9MTQ1NjtlLnNoZXZhMTE1PTE0NTY7ZS5zaGV2YTE1PTE0NTY7ZS5zaGV2YTIyPTE0NTY7ZS5zaGV2YTJlPTE0NTY7ZS5zaGV2YWhlYnJldz0xNDU2O2Uuc2hldmFuYXJyb3doZWJyZXc9MTQ1NjtlLnNoZXZhcXVhcnRlcmhlYnJldz0xNDU2O2Uuc2hldmF3aWRlaGVicmV3PTE0NTY7ZS5zaGhhY3lyaWxsaWM9MTIxMTtlLnNoaW1hY29wdGljPTEwMDU7ZS5zaGluPTE1MTM7ZS5zaGluZGFnZXNoPTY0MzI5O2Uuc2hpbmRhZ2VzaGhlYnJldz02NDMyOTtlLnNoaW5kYWdlc2hzaGluZG90PTY0MzAwO2Uuc2hpbmRhZ2VzaHNoaW5kb3RoZWJyZXc9NjQzMDA7ZS5zaGluZGFnZXNoc2luZG90PTY0MzAxO2Uuc2hpbmRhZ2VzaHNpbmRvdGhlYnJldz02NDMwMTtlLnNoaW5kb3RoZWJyZXc9MTQ3MztlLnNoaW5oZWJyZXc9MTUxMztlLnNoaW5zaGluZG90PTY0Mjk4O2Uuc2hpbnNoaW5kb3RoZWJyZXc9NjQyOTg7ZS5zaGluc2luZG90PTY0Mjk5O2Uuc2hpbnNpbmRvdGhlYnJldz02NDI5OTtlLnNob29rPTY0MjtlLnNpZ21hPTk2MztlLnNpZ21hMT05NjI7ZS5zaWdtYWZpbmFsPTk2MjtlLnNpZ21hbHVuYXRlc3ltYm9sZ3JlZWs9MTAxMDtlLnNpaGlyYWdhbmE9MTIzNzU7ZS5zaWthdGFrYW5hPTEyNDcxO2Uuc2lrYXRha2FuYWhhbGZ3aWR0aD02NTQwNDtlLnNpbHVxaGVicmV3PTE0Njk7ZS5zaWx1cWxlZnRoZWJyZXc9MTQ2OTtlLnNpbWlsYXI9ODc2NDtlLnNpbmRvdGhlYnJldz0xNDc0O2Uuc2lvc2FjaXJjbGVrb3JlYW49MTI5MTY7ZS5zaW9zYXBhcmVua29yZWFuPTEyODIwO2Uuc2lvc2NpZXVja29yZWFuPTEyNjcwO2Uuc2lvc2NpcmNsZWtvcmVhbj0xMjkwMjtlLnNpb3NraXllb2trb3JlYW49MTI2NjY7ZS5zaW9za29yZWFuPTEyNjEzO2Uuc2lvc25pZXVua29yZWFuPTEyNjY3O2Uuc2lvc3BhcmVua29yZWFuPTEyODA2O2Uuc2lvc3BpZXVwa29yZWFuPTEyNjY5O2Uuc2lvc3Rpa2V1dGtvcmVhbj0xMjY2ODtlLnNpeD01NDtlLnNpeGFyYWJpYz0xNjM4O2Uuc2l4YmVuZ2FsaT0yNTQwO2Uuc2l4Y2lyY2xlPTkzMTc7ZS5zaXhjaXJjbGVpbnZlcnNlc2Fuc3NlcmlmPTEwMTI3O2Uuc2l4ZGV2YT0yNDEyO2Uuc2l4Z3VqYXJhdGk9Mjc5NjtlLnNpeGd1cm11a2hpPTI2Njg7ZS5zaXhoYWNrYXJhYmljPTE2Mzg7ZS5zaXhoYW5nemhvdT0xMjMyNjtlLnNpeGlkZW9ncmFwaGljcGFyZW49MTI4Mzc7ZS5zaXhpbmZlcmlvcj04MzI2O2Uuc2l4bW9ub3NwYWNlPTY1MzAyO2Uuc2l4b2xkc3R5bGU9NjMyODY7ZS5zaXhwYXJlbj05MzM3O2Uuc2l4cGVyaW9kPTkzNTc7ZS5zaXhwZXJzaWFuPTE3ODI7ZS5zaXhyb21hbj04NTY1O2Uuc2l4c3VwZXJpb3I9ODMxMDtlLnNpeHRlZW5jaXJjbGU9OTMyNztlLnNpeHRlZW5jdXJyZW5jeWRlbm9taW5hdG9yYmVuZ2FsaT0yNTUzO2Uuc2l4dGVlbnBhcmVuPTkzNDc7ZS5zaXh0ZWVucGVyaW9kPTkzNjc7ZS5zaXh0aGFpPTM2NzA7ZS5zbGFzaD00NztlLnNsYXNobW9ub3NwYWNlPTY1Mjk1O2Uuc2xvbmc9MzgzO2Uuc2xvbmdkb3RhY2NlbnQ9NzgzNTtlLnNtaWxlZmFjZT05Nzg2O2Uuc21vbm9zcGFjZT02NTM2MztlLnNvZnBhc3VxaGVicmV3PTE0NzU7ZS5zb2Z0aHlwaGVuPTE3MztlLnNvZnRzaWduY3lyaWxsaWM9MTEwMDtlLnNvaGlyYWdhbmE9MTIzODE7ZS5zb2thdGFrYW5hPTEyNDc3O2Uuc29rYXRha2FuYWhhbGZ3aWR0aD02NTQwNztlLnNvbGlkdXNsb25nb3ZlcmxheWNtYj04MjQ7ZS5zb2xpZHVzc2hvcnRvdmVybGF5Y21iPTgyMztlLnNvcnVzaXRoYWk9MzYyNTtlLnNvc2FsYXRoYWk9MzYyNDtlLnNvc290aGFpPTM1OTU7ZS5zb3N1YXRoYWk9MzYyNjtlLnNwYWNlPTMyO2Uuc3BhY2VoYWNrYXJhYmljPTMyO2Uuc3BhZGU9OTgyNDtlLnNwYWRlc3VpdGJsYWNrPTk4MjQ7ZS5zcGFkZXN1aXR3aGl0ZT05ODI4O2Uuc3BhcmVuPTkzOTA7ZS5zcXVhcmViZWxvd2NtYj04Mjc7ZS5zcXVhcmVjYz0xMzI1MjtlLnNxdWFyZWNtPTEzMjEzO2Uuc3F1YXJlZGlhZ29uYWxjcm9zc2hhdGNoZmlsbD05NjQxO2Uuc3F1YXJlaG9yaXpvbnRhbGZpbGw9OTYzNjtlLnNxdWFyZWtnPTEzMTk5O2Uuc3F1YXJla209MTMyMTQ7ZS5zcXVhcmVrbWNhcGl0YWw9MTMyNjI7ZS5zcXVhcmVsbj0xMzI2NTtlLnNxdWFyZWxvZz0xMzI2NjtlLnNxdWFyZW1nPTEzMTk4O2Uuc3F1YXJlbWlsPTEzMjY5O2Uuc3F1YXJlbW09MTMyMTI7ZS5zcXVhcmVtc3F1YXJlZD0xMzIxNztlLnNxdWFyZW9ydGhvZ29uYWxjcm9zc2hhdGNoZmlsbD05NjM4O2Uuc3F1YXJldXBwZXJsZWZ0dG9sb3dlcnJpZ2h0ZmlsbD05NjM5O2Uuc3F1YXJldXBwZXJyaWdodHRvbG93ZXJsZWZ0ZmlsbD05NjQwO2Uuc3F1YXJldmVydGljYWxmaWxsPTk2Mzc7ZS5zcXVhcmV3aGl0ZXdpdGhzbWFsbGJsYWNrPTk2MzU7ZS5zcnNxdWFyZT0xMzI3NTtlLnNzYWJlbmdhbGk9MjQ4NztlLnNzYWRldmE9MjM1OTtlLnNzYWd1amFyYXRpPTI3NDM7ZS5zc2FuZ2NpZXVja29yZWFuPTEyNjE3O2Uuc3NhbmdoaWV1aGtvcmVhbj0xMjY3NztlLnNzYW5naWV1bmdrb3JlYW49MTI2NzI7ZS5zc2FuZ2tpeWVva2tvcmVhbj0xMjU5NDtlLnNzYW5nbmlldW5rb3JlYW49MTI2NDU7ZS5zc2FuZ3BpZXVwa29yZWFuPTEyNjExO2Uuc3NhbmdzaW9za29yZWFuPTEyNjE0O2Uuc3Nhbmd0aWtldXRrb3JlYW49MTI2MDA7ZS5zc3VwZXJpb3I9NjMyMTg7ZS5zdGVybGluZz0xNjM7ZS5zdGVybGluZ21vbm9zcGFjZT02NTUwNTtlLnN0cm9rZWxvbmdvdmVybGF5Y21iPTgyMjtlLnN0cm9rZXNob3J0b3ZlcmxheWNtYj04MjE7ZS5zdWJzZXQ9ODgzNDtlLnN1YnNldG5vdGVxdWFsPTg4NDI7ZS5zdWJzZXRvcmVxdWFsPTg4Mzg7ZS5zdWNjZWVkcz04ODI3O2Uuc3VjaHRoYXQ9ODcxNTtlLnN1aGlyYWdhbmE9MTIzNzc7ZS5zdWthdGFrYW5hPTEyNDczO2Uuc3VrYXRha2FuYWhhbGZ3aWR0aD02NTQwNTtlLnN1a3VuYXJhYmljPTE2MTg7ZS5zdW1tYXRpb249ODcyMTtlLnN1bj05Nzg4O2Uuc3VwZXJzZXQ9ODgzNTtlLnN1cGVyc2V0bm90ZXF1YWw9ODg0MztlLnN1cGVyc2V0b3JlcXVhbD04ODM5O2Uuc3ZzcXVhcmU9MTMyNzY7ZS5zeW91d2FlcmFzcXVhcmU9MTMxODA7ZS50PTExNjtlLnRhYmVuZ2FsaT0yNDY4O2UudGFja2Rvd249ODg2ODtlLnRhY2tsZWZ0PTg4Njc7ZS50YWRldmE9MjM0MDtlLnRhZ3VqYXJhdGk9MjcyNDtlLnRhZ3VybXVraGk9MjU5NjtlLnRhaGFyYWJpYz0xNTkxO2UudGFoZmluYWxhcmFiaWM9NjUyMTg7ZS50YWhpbml0aWFsYXJhYmljPTY1MjE5O2UudGFoaXJhZ2FuYT0xMjM4MztlLnRhaG1lZGlhbGFyYWJpYz02NTIyMDtlLnRhaXN5b3VlcmFzcXVhcmU9MTMxODE7ZS50YWthdGFrYW5hPTEyNDc5O2UudGFrYXRha2FuYWhhbGZ3aWR0aD02NTQwODtlLnRhdHdlZWxhcmFiaWM9MTYwMDtlLnRhdT05NjQ7ZS50YXY9MTUxNDtlLnRhdmRhZ2VzPTY0MzMwO2UudGF2ZGFnZXNoPTY0MzMwO2UudGF2ZGFnZXNoaGVicmV3PTY0MzMwO2UudGF2aGVicmV3PTE1MTQ7ZS50YmFyPTM1OTtlLnRib3BvbW9mbz0xMjU1NDtlLnRjYXJvbj0zNTc7ZS50Y2N1cmw9NjgwO2UudGNlZGlsbGE9MzU1O2UudGNoZWhhcmFiaWM9MTY3MDtlLnRjaGVoZmluYWxhcmFiaWM9NjQzNzk7ZS50Y2hlaGluaXRpYWxhcmFiaWM9NjQzODA7ZS50Y2hlaG1lZGlhbGFyYWJpYz02NDM4MTtlLnRjaXJjbGU9OTQ0MztlLnRjaXJjdW1mbGV4YmVsb3c9Nzc5MztlLnRjb21tYWFjY2VudD0zNTU7ZS50ZGllcmVzaXM9NzgzMTtlLnRkb3RhY2NlbnQ9Nzc4NztlLnRkb3RiZWxvdz03Nzg5O2UudGVjeXJpbGxpYz0xMDkwO2UudGVkZXNjZW5kZXJjeXJpbGxpYz0xMTk3O2UudGVoYXJhYmljPTE1Nzg7ZS50ZWhmaW5hbGFyYWJpYz02NTE3NDtlLnRlaGhhaGluaXRpYWxhcmFiaWM9NjQ2NzQ7ZS50ZWhoYWhpc29sYXRlZGFyYWJpYz02NDUyNDtlLnRlaGluaXRpYWxhcmFiaWM9NjUxNzU7ZS50ZWhpcmFnYW5hPTEyMzkwO2UudGVoamVlbWluaXRpYWxhcmFiaWM9NjQ2NzM7ZS50ZWhqZWVtaXNvbGF0ZWRhcmFiaWM9NjQ1MjM7ZS50ZWhtYXJidXRhYXJhYmljPTE1Nzc7ZS50ZWhtYXJidXRhZmluYWxhcmFiaWM9NjUxNzI7ZS50ZWhtZWRpYWxhcmFiaWM9NjUxNzY7ZS50ZWhtZWVtaW5pdGlhbGFyYWJpYz02NDY3NjtlLnRlaG1lZW1pc29sYXRlZGFyYWJpYz02NDUyNjtlLnRlaG5vb25maW5hbGFyYWJpYz02NDYyNztlLnRla2F0YWthbmE9MTI0ODY7ZS50ZWthdGFrYW5haGFsZndpZHRoPTY1NDExO2UudGVsZXBob25lPTg0ODE7ZS50ZWxlcGhvbmVibGFjaz05NzQyO2UudGVsaXNoYWdlZG9sYWhlYnJldz0xNDQwO2UudGVsaXNoYXFldGFuYWhlYnJldz0xNDQ5O2UudGVuY2lyY2xlPTkzMjE7ZS50ZW5pZGVvZ3JhcGhpY3BhcmVuPTEyODQxO2UudGVucGFyZW49OTM0MTtlLnRlbnBlcmlvZD05MzYxO2UudGVucm9tYW49ODU2OTtlLnRlc2g9Njc5O2UudGV0PTE0OTY7ZS50ZXRkYWdlc2g9NjQzMTI7ZS50ZXRkYWdlc2hoZWJyZXc9NjQzMTI7ZS50ZXRoZWJyZXc9MTQ5NjtlLnRldHNlY3lyaWxsaWM9MTIwNTtlLnRldmlyaGVicmV3PTE0MzU7ZS50ZXZpcmxlZnRoZWJyZXc9MTQzNTtlLnRoYWJlbmdhbGk9MjQ2OTtlLnRoYWRldmE9MjM0MTtlLnRoYWd1amFyYXRpPTI3MjU7ZS50aGFndXJtdWtoaT0yNTk3O2UudGhhbGFyYWJpYz0xNTg0O2UudGhhbGZpbmFsYXJhYmljPTY1MTk2O2UudGhhbnRoYWtoYXRsb3dsZWZ0dGhhaT02MzY0MDtlLnRoYW50aGFraGF0bG93cmlnaHR0aGFpPTYzNjM5O2UudGhhbnRoYWtoYXR0aGFpPTM2NjA7ZS50aGFudGhha2hhdHVwcGVybGVmdHRoYWk9NjM2Mzg7ZS50aGVoYXJhYmljPTE1Nzk7ZS50aGVoZmluYWxhcmFiaWM9NjUxNzg7ZS50aGVoaW5pdGlhbGFyYWJpYz02NTE3OTtlLnRoZWhtZWRpYWxhcmFiaWM9NjUxODA7ZS50aGVyZWV4aXN0cz04NzA3O2UudGhlcmVmb3JlPTg3NTY7ZS50aGV0YT05NTI7ZS50aGV0YTE9OTc3O2UudGhldGFzeW1ib2xncmVlaz05Nzc7ZS50aGlldXRoYWNpcmNsZWtvcmVhbj0xMjkyMTtlLnRoaWV1dGhhcGFyZW5rb3JlYW49MTI4MjU7ZS50aGlldXRoY2lyY2xla29yZWFuPTEyOTA3O2UudGhpZXV0aGtvcmVhbj0xMjYyMDtlLnRoaWV1dGhwYXJlbmtvcmVhbj0xMjgxMTtlLnRoaXJ0ZWVuY2lyY2xlPTkzMjQ7ZS50aGlydGVlbnBhcmVuPTkzNDQ7ZS50aGlydGVlbnBlcmlvZD05MzY0O2UudGhvbmFuZ21vbnRob3RoYWk9MzYwMTtlLnRob29rPTQyOTtlLnRob3BodXRoYW90aGFpPTM2MDI7ZS50aG9ybj0yNTQ7ZS50aG90aGFoYW50aGFpPTM2MDc7ZS50aG90aGFudGhhaT0zNjAwO2UudGhvdGhvbmd0aGFpPTM2MDg7ZS50aG90aHVuZ3RoYWk9MzYwNjtlLnRob3VzYW5kY3lyaWxsaWM9MTE1NDtlLnRob3VzYW5kc3NlcGFyYXRvcmFyYWJpYz0xNjQ0O2UudGhvdXNhbmRzc2VwYXJhdG9ycGVyc2lhbj0xNjQ0O2UudGhyZWU9NTE7ZS50aHJlZWFyYWJpYz0xNjM1O2UudGhyZWViZW5nYWxpPTI1Mzc7ZS50aHJlZWNpcmNsZT05MzE0O2UudGhyZWVjaXJjbGVpbnZlcnNlc2Fuc3NlcmlmPTEwMTI0O2UudGhyZWVkZXZhPTI0MDk7ZS50aHJlZWVpZ2h0aHM9ODU0MDtlLnRocmVlZ3VqYXJhdGk9Mjc5MztlLnRocmVlZ3VybXVraGk9MjY2NTtlLnRocmVlaGFja2FyYWJpYz0xNjM1O2UudGhyZWVoYW5nemhvdT0xMjMyMztlLnRocmVlaWRlb2dyYXBoaWNwYXJlbj0xMjgzNDtlLnRocmVlaW5mZXJpb3I9ODMyMztlLnRocmVlbW9ub3NwYWNlPTY1Mjk5O2UudGhyZWVudW1lcmF0b3JiZW5nYWxpPTI1NTA7ZS50aHJlZW9sZHN0eWxlPTYzMjgzO2UudGhyZWVwYXJlbj05MzM0O2UudGhyZWVwZXJpb2Q9OTM1NDtlLnRocmVlcGVyc2lhbj0xNzc5O2UudGhyZWVxdWFydGVycz0xOTA7ZS50aHJlZXF1YXJ0ZXJzZW1kYXNoPTYzMTk4O2UudGhyZWVyb21hbj04NTYyO2UudGhyZWVzdXBlcmlvcj0xNzk7ZS50aHJlZXRoYWk9MzY2NztlLnRoenNxdWFyZT0xMzIwNDtlLnRpaGlyYWdhbmE9MTIzODU7ZS50aWthdGFrYW5hPTEyNDgxO2UudGlrYXRha2FuYWhhbGZ3aWR0aD02NTQwOTtlLnRpa2V1dGFjaXJjbGVrb3JlYW49MTI5MTI7ZS50aWtldXRhcGFyZW5rb3JlYW49MTI4MTY7ZS50aWtldXRjaXJjbGVrb3JlYW49MTI4OTg7ZS50aWtldXRrb3JlYW49MTI1OTk7ZS50aWtldXRwYXJlbmtvcmVhbj0xMjgwMjtlLnRpbGRlPTczMjtlLnRpbGRlYmVsb3djbWI9ODE2O2UudGlsZGVjbWI9NzcxO2UudGlsZGVjb21iPTc3MTtlLnRpbGRlZG91YmxlY21iPTg2NDtlLnRpbGRlb3BlcmF0b3I9ODc2NDtlLnRpbGRlb3ZlcmxheWNtYj04MjA7ZS50aWxkZXZlcnRpY2FsY21iPTgzMDtlLnRpbWVzY2lyY2xlPTg4NTU7ZS50aXBlaGFoZWJyZXc9MTQzMDtlLnRpcGVoYWxlZnRoZWJyZXc9MTQzMDtlLnRpcHBpZ3VybXVraGk9MjY3MjtlLnRpdGxvY3lyaWxsaWNjbWI9MTE1NTtlLnRpd25hcm1lbmlhbj0xNDA3O2UudGxpbmViZWxvdz03NzkxO2UudG1vbm9zcGFjZT02NTM2NDtlLnRvYXJtZW5pYW49MTM4NTtlLnRvaGlyYWdhbmE9MTIzOTI7ZS50b2thdGFrYW5hPTEyNDg4O2UudG9rYXRha2FuYWhhbGZ3aWR0aD02NTQxMjtlLnRvbmViYXJleHRyYWhpZ2htb2Q9NzQxO2UudG9uZWJhcmV4dHJhbG93bW9kPTc0NTtlLnRvbmViYXJoaWdobW9kPTc0MjtlLnRvbmViYXJsb3dtb2Q9NzQ0O2UudG9uZWJhcm1pZG1vZD03NDM7ZS50b25lZml2ZT00NDU7ZS50b25lc2l4PTM4OTtlLnRvbmV0d289NDI0O2UudG9ub3M9OTAwO2UudG9uc3F1YXJlPTEzMDk1O2UudG9wYXRha3RoYWk9MzU5OTtlLnRvcnRvaXNlc2hlbGxicmFja2V0bGVmdD0xMjMwODtlLnRvcnRvaXNlc2hlbGxicmFja2V0bGVmdHNtYWxsPTY1MTE3O2UudG9ydG9pc2VzaGVsbGJyYWNrZXRsZWZ0dmVydGljYWw9NjUwODE7ZS50b3J0b2lzZXNoZWxsYnJhY2tldHJpZ2h0PTEyMzA5O2UudG9ydG9pc2VzaGVsbGJyYWNrZXRyaWdodHNtYWxsPTY1MTE4O2UudG9ydG9pc2VzaGVsbGJyYWNrZXRyaWdodHZlcnRpY2FsPTY1MDgyO2UudG90YW90aGFpPTM2MDU7ZS50cGFsYXRhbGhvb2s9NDI3O2UudHBhcmVuPTkzOTE7ZS50cmFkZW1hcms9ODQ4MjtlLnRyYWRlbWFya3NhbnM9NjM3MjI7ZS50cmFkZW1hcmtzZXJpZj02MzE5NTtlLnRyZXRyb2ZsZXhob29rPTY0ODtlLnRyaWFnZG49OTY2MDtlLnRyaWFnbGY9OTY2ODtlLnRyaWFncnQ9OTY1ODtlLnRyaWFndXA9OTY1MDtlLnRzPTY3ODtlLnRzYWRpPTE1MTA7ZS50c2FkaWRhZ2VzaD02NDMyNjtlLnRzYWRpZGFnZXNoaGVicmV3PTY0MzI2O2UudHNhZGloZWJyZXc9MTUxMDtlLnRzZWN5cmlsbGljPTEwOTQ7ZS50c2VyZT0xNDYxO2UudHNlcmUxMj0xNDYxO2UudHNlcmUxZT0xNDYxO2UudHNlcmUyYj0xNDYxO2UudHNlcmVoZWJyZXc9MTQ2MTtlLnRzZXJlbmFycm93aGVicmV3PTE0NjE7ZS50c2VyZXF1YXJ0ZXJoZWJyZXc9MTQ2MTtlLnRzZXJld2lkZWhlYnJldz0xNDYxO2UudHNoZWN5cmlsbGljPTExMTU7ZS50c3VwZXJpb3I9NjMyMTk7ZS50dGFiZW5nYWxpPTI0NjM7ZS50dGFkZXZhPTIzMzU7ZS50dGFndWphcmF0aT0yNzE5O2UudHRhZ3VybXVraGk9MjU5MTtlLnR0ZWhhcmFiaWM9MTY1NztlLnR0ZWhmaW5hbGFyYWJpYz02NDM1OTtlLnR0ZWhpbml0aWFsYXJhYmljPTY0MzYwO2UudHRlaG1lZGlhbGFyYWJpYz02NDM2MTtlLnR0aGFiZW5nYWxpPTI0NjQ7ZS50dGhhZGV2YT0yMzM2O2UudHRoYWd1amFyYXRpPTI3MjA7ZS50dGhhZ3VybXVraGk9MjU5MjtlLnR0dXJuZWQ9NjQ3O2UudHVoaXJhZ2FuYT0xMjM4ODtlLnR1a2F0YWthbmE9MTI0ODQ7ZS50dWthdGFrYW5haGFsZndpZHRoPTY1NDEwO2UudHVzbWFsbGhpcmFnYW5hPTEyMzg3O2UudHVzbWFsbGthdGFrYW5hPTEyNDgzO2UudHVzbWFsbGthdGFrYW5haGFsZndpZHRoPTY1MzkxO2UudHdlbHZlY2lyY2xlPTkzMjM7ZS50d2VsdmVwYXJlbj05MzQzO2UudHdlbHZlcGVyaW9kPTkzNjM7ZS50d2VsdmVyb21hbj04NTcxO2UudHdlbnR5Y2lyY2xlPTkzMzE7ZS50d2VudHloYW5nemhvdT0yMTMxNjtlLnR3ZW50eXBhcmVuPTkzNTE7ZS50d2VudHlwZXJpb2Q9OTM3MTtlLnR3bz01MDtlLnR3b2FyYWJpYz0xNjM0O2UudHdvYmVuZ2FsaT0yNTM2O2UudHdvY2lyY2xlPTkzMTM7ZS50d29jaXJjbGVpbnZlcnNlc2Fuc3NlcmlmPTEwMTIzO2UudHdvZGV2YT0yNDA4O2UudHdvZG90ZW5sZWFkZXI9ODIyOTtlLnR3b2RvdGxlYWRlcj04MjI5O2UudHdvZG90bGVhZGVydmVydGljYWw9NjUwNzI7ZS50d29ndWphcmF0aT0yNzkyO2UudHdvZ3VybXVraGk9MjY2NDtlLnR3b2hhY2thcmFiaWM9MTYzNDtlLnR3b2hhbmd6aG91PTEyMzIyO2UudHdvaWRlb2dyYXBoaWNwYXJlbj0xMjgzMztlLnR3b2luZmVyaW9yPTgzMjI7ZS50d29tb25vc3BhY2U9NjUyOTg7ZS50d29udW1lcmF0b3JiZW5nYWxpPTI1NDk7ZS50d29vbGRzdHlsZT02MzI4MjtlLnR3b3BhcmVuPTkzMzM7ZS50d29wZXJpb2Q9OTM1MztlLnR3b3BlcnNpYW49MTc3ODtlLnR3b3JvbWFuPTg1NjE7ZS50d29zdHJva2U9NDQzO2UudHdvc3VwZXJpb3I9MTc4O2UudHdvdGhhaT0zNjY2O2UudHdvdGhpcmRzPTg1MzI7ZS51PTExNztlLnVhY3V0ZT0yNTA7ZS51YmFyPTY0OTtlLnViZW5nYWxpPTI0NDE7ZS51Ym9wb21vZm89MTI1ODQ7ZS51YnJldmU9MzY1O2UudWNhcm9uPTQ2ODtlLnVjaXJjbGU9OTQ0NDtlLnVjaXJjdW1mbGV4PTI1MTtlLnVjaXJjdW1mbGV4YmVsb3c9Nzc5OTtlLnVjeXJpbGxpYz0xMDkxO2UudWRhdHRhZGV2YT0yMzg1O2UudWRibGFjdXRlPTM2OTtlLnVkYmxncmF2ZT01MzM7ZS51ZGV2YT0yMzEzO2UudWRpZXJlc2lzPTI1MjtlLnVkaWVyZXNpc2FjdXRlPTQ3MjtlLnVkaWVyZXNpc2JlbG93PTc3OTU7ZS51ZGllcmVzaXNjYXJvbj00NzQ7ZS51ZGllcmVzaXNjeXJpbGxpYz0xMjY1O2UudWRpZXJlc2lzZ3JhdmU9NDc2O2UudWRpZXJlc2lzbWFjcm9uPTQ3MDtlLnVkb3RiZWxvdz03OTA5O2UudWdyYXZlPTI0OTtlLnVndWphcmF0aT0yNjk3O2UudWd1cm11a2hpPTI1Njk7ZS51aGlyYWdhbmE9MTIzNTg7ZS51aG9va2Fib3ZlPTc5MTE7ZS51aG9ybj00MzI7ZS51aG9ybmFjdXRlPTc5MTM7ZS51aG9ybmRvdGJlbG93PTc5MjE7ZS51aG9ybmdyYXZlPTc5MTU7ZS51aG9ybmhvb2thYm92ZT03OTE3O2UudWhvcm50aWxkZT03OTE5O2UudWh1bmdhcnVtbGF1dD0zNjk7ZS51aHVuZ2FydW1sYXV0Y3lyaWxsaWM9MTI2NztlLnVpbnZlcnRlZGJyZXZlPTUzNTtlLnVrYXRha2FuYT0xMjQ1NDtlLnVrYXRha2FuYWhhbGZ3aWR0aD02NTM5NTtlLnVrY3lyaWxsaWM9MTE0NTtlLnVrb3JlYW49MTI2MzY7ZS51bWFjcm9uPTM2MztlLnVtYWNyb25jeXJpbGxpYz0xMjYzO2UudW1hY3JvbmRpZXJlc2lzPTc4MDM7ZS51bWF0cmFndXJtdWtoaT0yNjI1O2UudW1vbm9zcGFjZT02NTM2NTtlLnVuZGVyc2NvcmU9OTU7ZS51bmRlcnNjb3JlZGJsPTgyMTU7ZS51bmRlcnNjb3JlbW9ub3NwYWNlPTY1MzQzO2UudW5kZXJzY29yZXZlcnRpY2FsPTY1MDc1O2UudW5kZXJzY29yZXdhdnk9NjUxMDM7ZS51bmlvbj04NzQ2O2UudW5pdmVyc2FsPTg3MDQ7ZS51b2dvbmVrPTM3MTtlLnVwYXJlbj05MzkyO2UudXBibG9jaz05NjAwO2UudXBwZXJkb3RoZWJyZXc9MTQ3NjtlLnVwc2lsb249OTY1O2UudXBzaWxvbmRpZXJlc2lzPTk3MTtlLnVwc2lsb25kaWVyZXNpc3Rvbm9zPTk0NDtlLnVwc2lsb25sYXRpbj02NTA7ZS51cHNpbG9udG9ub3M9OTczO2UudXB0YWNrYmVsb3djbWI9Nzk3O2UudXB0YWNrbW9kPTcyNDtlLnVyYWd1cm11a2hpPTI2NzU7ZS51cmluZz0zNjc7ZS51c2hvcnRjeXJpbGxpYz0xMTE4O2UudXNtYWxsaGlyYWdhbmE9MTIzNTc7ZS51c21hbGxrYXRha2FuYT0xMjQ1MztlLnVzbWFsbGthdGFrYW5haGFsZndpZHRoPTY1Mzg1O2UudXN0cmFpZ2h0Y3lyaWxsaWM9MTE5OTtlLnVzdHJhaWdodHN0cm9rZWN5cmlsbGljPTEyMDE7ZS51dGlsZGU9MzYxO2UudXRpbGRlYWN1dGU9NzgwMTtlLnV0aWxkZWJlbG93PTc3OTc7ZS51dWJlbmdhbGk9MjQ0MjtlLnV1ZGV2YT0yMzE0O2UudXVndWphcmF0aT0yNjk4O2UudXVndXJtdWtoaT0yNTcwO2UudXVtYXRyYWd1cm11a2hpPTI2MjY7ZS51dXZvd2Vsc2lnbmJlbmdhbGk9MjQ5ODtlLnV1dm93ZWxzaWduZGV2YT0yMzcwO2UudXV2b3dlbHNpZ25ndWphcmF0aT0yNzU0O2UudXZvd2Vsc2lnbmJlbmdhbGk9MjQ5NztlLnV2b3dlbHNpZ25kZXZhPTIzNjk7ZS51dm93ZWxzaWduZ3VqYXJhdGk9Mjc1MztlLnY9MTE4O2UudmFkZXZhPTIzNTc7ZS52YWd1amFyYXRpPTI3NDE7ZS52YWd1cm11a2hpPTI2MTM7ZS52YWthdGFrYW5hPTEyNTM1O2UudmF2PTE0OTM7ZS52YXZkYWdlc2g9NjQzMDk7ZS52YXZkYWdlc2g2NT02NDMwOTtlLnZhdmRhZ2VzaGhlYnJldz02NDMwOTtlLnZhdmhlYnJldz0xNDkzO2UudmF2aG9sYW09NjQzMzE7ZS52YXZob2xhbWhlYnJldz02NDMzMTtlLnZhdnZhdmhlYnJldz0xNTIwO2UudmF2eW9kaGVicmV3PTE1MjE7ZS52Y2lyY2xlPTk0NDU7ZS52ZG90YmVsb3c9NzgwNztlLnZlY3lyaWxsaWM9MTA3NDtlLnZlaGFyYWJpYz0xNzAwO2UudmVoZmluYWxhcmFiaWM9NjQzNjM7ZS52ZWhpbml0aWFsYXJhYmljPTY0MzY0O2UudmVobWVkaWFsYXJhYmljPTY0MzY1O2UudmVrYXRha2FuYT0xMjUzNztlLnZlbnVzPTk3OTI7ZS52ZXJ0aWNhbGJhcj0xMjQ7ZS52ZXJ0aWNhbGxpbmVhYm92ZWNtYj03ODE7ZS52ZXJ0aWNhbGxpbmViZWxvd2NtYj04MDk7ZS52ZXJ0aWNhbGxpbmVsb3dtb2Q9NzE2O2UudmVydGljYWxsaW5lbW9kPTcxMjtlLnZld2FybWVuaWFuPTE0MDY7ZS52aG9vaz02NTE7ZS52aWthdGFrYW5hPTEyNTM2O2UudmlyYW1hYmVuZ2FsaT0yNTA5O2UudmlyYW1hZGV2YT0yMzgxO2UudmlyYW1hZ3VqYXJhdGk9Mjc2NTtlLnZpc2FyZ2FiZW5nYWxpPTI0MzU7ZS52aXNhcmdhZGV2YT0yMzA3O2UudmlzYXJnYWd1amFyYXRpPTI2OTE7ZS52bW9ub3NwYWNlPTY1MzY2O2Uudm9hcm1lbmlhbj0xNDAwO2Uudm9pY2VkaXRlcmF0aW9uaGlyYWdhbmE9MTI0NDY7ZS52b2ljZWRpdGVyYXRpb25rYXRha2FuYT0xMjU0MjtlLnZvaWNlZG1hcmtrYW5hPTEyNDQzO2Uudm9pY2VkbWFya2thbmFoYWxmd2lkdGg9NjU0Mzg7ZS52b2thdGFrYW5hPTEyNTM4O2UudnBhcmVuPTkzOTM7ZS52dGlsZGU9NzgwNTtlLnZ0dXJuZWQ9NjUyO2UudnVoaXJhZ2FuYT0xMjQzNjtlLnZ1a2F0YWthbmE9MTI1MzI7ZS53PTExOTtlLndhY3V0ZT03ODExO2Uud2Fla29yZWFuPTEyNjMzO2Uud2FoaXJhZ2FuYT0xMjQzMTtlLndha2F0YWthbmE9MTI1Mjc7ZS53YWthdGFrYW5haGFsZndpZHRoPTY1NDM2O2Uud2Frb3JlYW49MTI2MzI7ZS53YXNtYWxsaGlyYWdhbmE9MTI0MzA7ZS53YXNtYWxsa2F0YWthbmE9MTI1MjY7ZS53YXR0b3NxdWFyZT0xMzE0MztlLndhdmVkYXNoPTEyMzE2O2Uud2F2eXVuZGVyc2NvcmV2ZXJ0aWNhbD02NTA3NjtlLndhd2FyYWJpYz0xNjA4O2Uud2F3ZmluYWxhcmFiaWM9NjUyNjI7ZS53YXdoYW16YWFib3ZlYXJhYmljPTE1NzI7ZS53YXdoYW16YWFib3ZlZmluYWxhcmFiaWM9NjUxNTg7ZS53YnNxdWFyZT0xMzI3NztlLndjaXJjbGU9OTQ0NjtlLndjaXJjdW1mbGV4PTM3MztlLndkaWVyZXNpcz03ODEzO2Uud2RvdGFjY2VudD03ODE1O2Uud2RvdGJlbG93PTc4MTc7ZS53ZWhpcmFnYW5hPTEyNDMzO2Uud2VpZXJzdHJhc3M9ODQ3MjtlLndla2F0YWthbmE9MTI1Mjk7ZS53ZWtvcmVhbj0xMjYzODtlLndlb2tvcmVhbj0xMjYzNztlLndncmF2ZT03ODA5O2Uud2hpdGVidWxsZXQ9OTcwMjtlLndoaXRlY2lyY2xlPTk2NzU7ZS53aGl0ZWNpcmNsZWludmVyc2U9OTY4OTtlLndoaXRlY29ybmVyYnJhY2tldGxlZnQ9MTIzMDI7ZS53aGl0ZWNvcm5lcmJyYWNrZXRsZWZ0dmVydGljYWw9NjUwOTE7ZS53aGl0ZWNvcm5lcmJyYWNrZXRyaWdodD0xMjMwMztlLndoaXRlY29ybmVyYnJhY2tldHJpZ2h0dmVydGljYWw9NjUwOTI7ZS53aGl0ZWRpYW1vbmQ9OTY3MTtlLndoaXRlZGlhbW9uZGNvbnRhaW5pbmdibGFja3NtYWxsZGlhbW9uZD05NjcyO2Uud2hpdGVkb3ducG9pbnRpbmdzbWFsbHRyaWFuZ2xlPTk2NjM7ZS53aGl0ZWRvd25wb2ludGluZ3RyaWFuZ2xlPTk2NjE7ZS53aGl0ZWxlZnRwb2ludGluZ3NtYWxsdHJpYW5nbGU9OTY2NztlLndoaXRlbGVmdHBvaW50aW5ndHJpYW5nbGU9OTY2NTtlLndoaXRlbGVudGljdWxhcmJyYWNrZXRsZWZ0PTEyMzEwO2Uud2hpdGVsZW50aWN1bGFyYnJhY2tldHJpZ2h0PTEyMzExO2Uud2hpdGVyaWdodHBvaW50aW5nc21hbGx0cmlhbmdsZT05NjU3O2Uud2hpdGVyaWdodHBvaW50aW5ndHJpYW5nbGU9OTY1NTtlLndoaXRlc21hbGxzcXVhcmU9OTY0MztlLndoaXRlc21pbGluZ2ZhY2U9OTc4NjtlLndoaXRlc3F1YXJlPTk2MzM7ZS53aGl0ZXN0YXI9OTczNDtlLndoaXRldGVsZXBob25lPTk3NDM7ZS53aGl0ZXRvcnRvaXNlc2hlbGxicmFja2V0bGVmdD0xMjMxMjtlLndoaXRldG9ydG9pc2VzaGVsbGJyYWNrZXRyaWdodD0xMjMxMztlLndoaXRldXBwb2ludGluZ3NtYWxsdHJpYW5nbGU9OTY1MztlLndoaXRldXBwb2ludGluZ3RyaWFuZ2xlPTk2NTE7ZS53aWhpcmFnYW5hPTEyNDMyO2Uud2lrYXRha2FuYT0xMjUyODtlLndpa29yZWFuPTEyNjM5O2Uud21vbm9zcGFjZT02NTM2NztlLndvaGlyYWdhbmE9MTI0MzQ7ZS53b2thdGFrYW5hPTEyNTMwO2Uud29rYXRha2FuYWhhbGZ3aWR0aD02NTM4MjtlLndvbj04MzYxO2Uud29ubW9ub3NwYWNlPTY1NTEwO2Uud293YWVudGhhaT0zNjIzO2Uud3BhcmVuPTkzOTQ7ZS53cmluZz03ODMyO2Uud3N1cGVyaW9yPTY5NTtlLnd0dXJuZWQ9NjUzO2Uud3lubj00NDc7ZS54PTEyMDtlLnhhYm92ZWNtYj04Mjk7ZS54Ym9wb21vZm89MTI1NjI7ZS54Y2lyY2xlPTk0NDc7ZS54ZGllcmVzaXM9NzgyMTtlLnhkb3RhY2NlbnQ9NzgxOTtlLnhlaGFybWVuaWFuPTEzODk7ZS54aT05NTg7ZS54bW9ub3NwYWNlPTY1MzY4O2UueHBhcmVuPTkzOTU7ZS54c3VwZXJpb3I9NzM5O2UueT0xMjE7ZS55YWFkb3NxdWFyZT0xMzEzNDtlLnlhYmVuZ2FsaT0yNDc5O2UueWFjdXRlPTI1MztlLnlhZGV2YT0yMzUxO2UueWFla29yZWFuPTEyNjI2O2UueWFndWphcmF0aT0yNzM1O2UueWFndXJtdWtoaT0yNjA3O2UueWFoaXJhZ2FuYT0xMjQyMDtlLnlha2F0YWthbmE9MTI1MTY7ZS55YWthdGFrYW5haGFsZndpZHRoPTY1NDI4O2UueWFrb3JlYW49MTI2MjU7ZS55YW1ha2thbnRoYWk9MzY2MjtlLnlhc21hbGxoaXJhZ2FuYT0xMjQxOTtlLnlhc21hbGxrYXRha2FuYT0xMjUxNTtlLnlhc21hbGxrYXRha2FuYWhhbGZ3aWR0aD02NTM4ODtlLnlhdGN5cmlsbGljPTExMjM7ZS55Y2lyY2xlPTk0NDg7ZS55Y2lyY3VtZmxleD0zNzU7ZS55ZGllcmVzaXM9MjU1O2UueWRvdGFjY2VudD03ODIzO2UueWRvdGJlbG93PTc5MjU7ZS55ZWhhcmFiaWM9MTYxMDtlLnllaGJhcnJlZWFyYWJpYz0xNzQ2O2UueWVoYmFycmVlZmluYWxhcmFiaWM9NjQ0MzE7ZS55ZWhmaW5hbGFyYWJpYz02NTI2NjtlLnllaGhhbXphYWJvdmVhcmFiaWM9MTU3NDtlLnllaGhhbXphYWJvdmVmaW5hbGFyYWJpYz02NTE2MjtlLnllaGhhbXphYWJvdmVpbml0aWFsYXJhYmljPTY1MTYzO2UueWVoaGFtemFhYm92ZW1lZGlhbGFyYWJpYz02NTE2NDtlLnllaGluaXRpYWxhcmFiaWM9NjUyNjc7ZS55ZWhtZWRpYWxhcmFiaWM9NjUyNjg7ZS55ZWhtZWVtaW5pdGlhbGFyYWJpYz02NDczMztlLnllaG1lZW1pc29sYXRlZGFyYWJpYz02NDYwMDtlLnllaG5vb25maW5hbGFyYWJpYz02NDY2MDtlLnllaHRocmVlZG90c2JlbG93YXJhYmljPTE3NDU7ZS55ZWtvcmVhbj0xMjYzMDtlLnllbj0xNjU7ZS55ZW5tb25vc3BhY2U9NjU1MDk7ZS55ZW9rb3JlYW49MTI2Mjk7ZS55ZW9yaW5oaWV1aGtvcmVhbj0xMjY3ODtlLnllcmFoYmVueW9tb2hlYnJldz0xNDUwO2UueWVyYWhiZW55b21vbGVmdGhlYnJldz0xNDUwO2UueWVyaWN5cmlsbGljPTEwOTk7ZS55ZXJ1ZGllcmVzaXNjeXJpbGxpYz0xMjczO2UueWVzaWV1bmdrb3JlYW49MTI2NzM7ZS55ZXNpZXVuZ3BhbnNpb3Nrb3JlYW49MTI2NzU7ZS55ZXNpZXVuZ3Npb3Nrb3JlYW49MTI2NzQ7ZS55ZXRpdmhlYnJldz0xNDM0O2UueWdyYXZlPTc5MjM7ZS55aG9vaz00MzY7ZS55aG9va2Fib3ZlPTc5Mjc7ZS55aWFybWVuaWFuPTEzOTc7ZS55aWN5cmlsbGljPTExMTE7ZS55aWtvcmVhbj0xMjY0MjtlLnlpbnlhbmc9OTc3NTtlLnlpd25hcm1lbmlhbj0xNDEwO2UueW1vbm9zcGFjZT02NTM2OTtlLnlvZD0xNDk3O2UueW9kZGFnZXNoPTY0MzEzO2UueW9kZGFnZXNoaGVicmV3PTY0MzEzO2UueW9kaGVicmV3PTE0OTc7ZS55b2R5b2RoZWJyZXc9MTUyMjtlLnlvZHlvZHBhdGFoaGVicmV3PTY0Mjg3O2UueW9oaXJhZ2FuYT0xMjQyNDtlLnlvaWtvcmVhbj0xMjY4MTtlLnlva2F0YWthbmE9MTI1MjA7ZS55b2thdGFrYW5haGFsZndpZHRoPTY1NDMwO2UueW9rb3JlYW49MTI2MzU7ZS55b3NtYWxsaGlyYWdhbmE9MTI0MjM7ZS55b3NtYWxsa2F0YWthbmE9MTI1MTk7ZS55b3NtYWxsa2F0YWthbmFoYWxmd2lkdGg9NjUzOTA7ZS55b3RncmVlaz0xMDExO2UueW95YWVrb3JlYW49MTI2ODA7ZS55b3lha29yZWFuPTEyNjc5O2UueW95YWt0aGFpPTM2MTg7ZS55b3lpbmd0aGFpPTM1OTc7ZS55cGFyZW49OTM5NjtlLnlwb2dlZ3JhbW1lbmk9ODkwO2UueXBvZ2VncmFtbWVuaWdyZWVrY21iPTgzNztlLnlyPTQyMjtlLnlyaW5nPTc4MzM7ZS55c3VwZXJpb3I9Njk2O2UueXRpbGRlPTc5Mjk7ZS55dHVybmVkPTY1NDtlLnl1aGlyYWdhbmE9MTI0MjI7ZS55dWlrb3JlYW49MTI2ODQ7ZS55dWthdGFrYW5hPTEyNTE4O2UueXVrYXRha2FuYWhhbGZ3aWR0aD02NTQyOTtlLnl1a29yZWFuPTEyNjQwO2UueXVzYmlnY3lyaWxsaWM9MTEzMTtlLnl1c2JpZ2lvdGlmaWVkY3lyaWxsaWM9MTEzMztlLnl1c2xpdHRsZWN5cmlsbGljPTExMjc7ZS55dXNsaXR0bGVpb3RpZmllZGN5cmlsbGljPTExMjk7ZS55dXNtYWxsaGlyYWdhbmE9MTI0MjE7ZS55dXNtYWxsa2F0YWthbmE9MTI1MTc7ZS55dXNtYWxsa2F0YWthbmFoYWxmd2lkdGg9NjUzODk7ZS55dXlla29yZWFuPTEyNjgzO2UueXV5ZW9rb3JlYW49MTI2ODI7ZS55eWFiZW5nYWxpPTI1Mjc7ZS55eWFkZXZhPTIzOTk7ZS56PTEyMjtlLnphYXJtZW5pYW49MTM4MjtlLnphY3V0ZT0zNzg7ZS56YWRldmE9MjM5NTtlLnphZ3VybXVraGk9MjY1MTtlLnphaGFyYWJpYz0xNTkyO2UuemFoZmluYWxhcmFiaWM9NjUyMjI7ZS56YWhpbml0aWFsYXJhYmljPTY1MjIzO2UuemFoaXJhZ2FuYT0xMjM3NDtlLnphaG1lZGlhbGFyYWJpYz02NTIyNDtlLnphaW5hcmFiaWM9MTU4NjtlLnphaW5maW5hbGFyYWJpYz02NTIwMDtlLnpha2F0YWthbmE9MTI0NzA7ZS56YXFlZmdhZG9saGVicmV3PTE0Mjk7ZS56YXFlZnFhdGFuaGVicmV3PTE0Mjg7ZS56YXJxYWhlYnJldz0xNDMyO2UuemF5aW49MTQ5NDtlLnpheWluZGFnZXNoPTY0MzEwO2UuemF5aW5kYWdlc2hoZWJyZXc9NjQzMTA7ZS56YXlpbmhlYnJldz0xNDk0O2UuemJvcG9tb2ZvPTEyNTY3O2UuemNhcm9uPTM4MjtlLnpjaXJjbGU9OTQ0OTtlLnpjaXJjdW1mbGV4PTc4MjU7ZS56Y3VybD02NTc7ZS56ZG90PTM4MDtlLnpkb3RhY2NlbnQ9MzgwO2UuemRvdGJlbG93PTc4Mjc7ZS56ZWN5cmlsbGljPTEwNzk7ZS56ZWRlc2NlbmRlcmN5cmlsbGljPTExNzc7ZS56ZWRpZXJlc2lzY3lyaWxsaWM9MTI0NztlLnplaGlyYWdhbmE9MTIzODA7ZS56ZWthdGFrYW5hPTEyNDc2O2UuemVybz00ODtlLnplcm9hcmFiaWM9MTYzMjtlLnplcm9iZW5nYWxpPTI1MzQ7ZS56ZXJvZGV2YT0yNDA2O2UuemVyb2d1amFyYXRpPTI3OTA7ZS56ZXJvZ3VybXVraGk9MjY2MjtlLnplcm9oYWNrYXJhYmljPTE2MzI7ZS56ZXJvaW5mZXJpb3I9ODMyMDtlLnplcm9tb25vc3BhY2U9NjUyOTY7ZS56ZXJvb2xkc3R5bGU9NjMyODA7ZS56ZXJvcGVyc2lhbj0xNzc2O2UuemVyb3N1cGVyaW9yPTgzMDQ7ZS56ZXJvdGhhaT0zNjY0O2UuemVyb3dpZHRoam9pbmVyPTY1Mjc5O2UuemVyb3dpZHRobm9uam9pbmVyPTgyMDQ7ZS56ZXJvd2lkdGhzcGFjZT04MjAzO2UuemV0YT05NTA7ZS56aGJvcG9tb2ZvPTEyNTYzO2UuemhlYXJtZW5pYW49MTM4NjtlLnpoZWJyZXZlY3lyaWxsaWM9MTIxODtlLnpoZWN5cmlsbGljPTEwNzg7ZS56aGVkZXNjZW5kZXJjeXJpbGxpYz0xMTc1O2UuemhlZGllcmVzaXNjeXJpbGxpYz0xMjQ1O2UuemloaXJhZ2FuYT0xMjM3NjtlLnppa2F0YWthbmE9MTI0NzI7ZS56aW5vcmhlYnJldz0xNDU0O2UuemxpbmViZWxvdz03ODI5O2Uuem1vbm9zcGFjZT02NTM3MDtlLnpvaGlyYWdhbmE9MTIzODI7ZS56b2thdGFrYW5hPTEyNDc4O2UuenBhcmVuPTkzOTc7ZS56cmV0cm9mbGV4aG9vaz02NTY7ZS56c3Ryb2tlPTQzODtlLnp1aGlyYWdhbmE9MTIzNzg7ZS56dWthdGFrYW5hPTEyNDc0O2VbIi5ub3RkZWYiXT0wO2UuYW5nYnJhY2tldGxlZnRiaWc9OTAwMTtlLmFuZ2JyYWNrZXRsZWZ0QmlnPTkwMDE7ZS5hbmdicmFja2V0bGVmdGJpZ2c9OTAwMTtlLmFuZ2JyYWNrZXRsZWZ0QmlnZz05MDAxO2UuYW5nYnJhY2tldHJpZ2h0QmlnPTkwMDI7ZS5hbmdicmFja2V0cmlnaHRiaWc9OTAwMjtlLmFuZ2JyYWNrZXRyaWdodEJpZ2c9OTAwMjtlLmFuZ2JyYWNrZXRyaWdodGJpZ2c9OTAwMjtlLmFycm93aG9va2xlZnQ9ODYxODtlLmFycm93aG9va3JpZ2h0PTg2MTc7ZS5hcnJvd2xlZnR0b3BoYWxmPTg2MzY7ZS5hcnJvd2xlZnRib3RoYWxmPTg2Mzc7ZS5hcnJvd25vcnRoZWFzdD04NTk5O2UuYXJyb3dub3J0aHdlc3Q9ODU5ODtlLmFycm93cmlnaHR0b3BoYWxmPTg2NDA7ZS5hcnJvd3JpZ2h0Ym90aGFsZj04NjQxO2UuYXJyb3dzb3V0aGVhc3Q9ODYwMDtlLmFycm93c291dGh3ZXN0PTg2MDE7ZS5iYWNrc2xhc2hiaWc9ODcyNjtlLmJhY2tzbGFzaEJpZz04NzI2O2UuYmFja3NsYXNoQmlnZz04NzI2O2UuYmFja3NsYXNoYmlnZz04NzI2O2UuYmFyZGJsPTgyMTQ7ZS5icmFjZWh0aXBkb3dubGVmdD02NTA3OTtlLmJyYWNlaHRpcGRvd25yaWdodD02NTA3OTtlLmJyYWNlaHRpcHVwbGVmdD02NTA4MDtlLmJyYWNlaHRpcHVwcmlnaHQ9NjUwODA7ZS5icmFjZWxlZnRCaWc9MTIzO2UuYnJhY2VsZWZ0YmlnPTEyMztlLmJyYWNlbGVmdGJpZ2c9MTIzO2UuYnJhY2VsZWZ0QmlnZz0xMjM7ZS5icmFjZXJpZ2h0QmlnPTEyNTtlLmJyYWNlcmlnaHRiaWc9MTI1O2UuYnJhY2VyaWdodGJpZ2c9MTI1O2UuYnJhY2VyaWdodEJpZ2c9MTI1O2UuYnJhY2tldGxlZnRiaWc9OTE7ZS5icmFja2V0bGVmdEJpZz05MTtlLmJyYWNrZXRsZWZ0YmlnZz05MTtlLmJyYWNrZXRsZWZ0QmlnZz05MTtlLmJyYWNrZXRyaWdodEJpZz05MztlLmJyYWNrZXRyaWdodGJpZz05MztlLmJyYWNrZXRyaWdodGJpZ2c9OTM7ZS5icmFja2V0cmlnaHRCaWdnPTkzO2UuY2VpbGluZ2xlZnRiaWc9ODk2ODtlLmNlaWxpbmdsZWZ0QmlnPTg5Njg7ZS5jZWlsaW5nbGVmdEJpZ2c9ODk2ODtlLmNlaWxpbmdsZWZ0YmlnZz04OTY4O2UuY2VpbGluZ3JpZ2h0YmlnPTg5Njk7ZS5jZWlsaW5ncmlnaHRCaWc9ODk2OTtlLmNlaWxpbmdyaWdodGJpZ2c9ODk2OTtlLmNlaWxpbmdyaWdodEJpZ2c9ODk2OTtlLmNpcmNsZWRvdGRpc3BsYXk9ODg1NztlLmNpcmNsZWRvdHRleHQ9ODg1NztlLmNpcmNsZW11bHRpcGx5ZGlzcGxheT04ODU1O2UuY2lyY2xlbXVsdGlwbHl0ZXh0PTg4NTU7ZS5jaXJjbGVwbHVzZGlzcGxheT04ODUzO2UuY2lyY2xlcGx1c3RleHQ9ODg1MztlLmNvbnRpbnRlZ3JhbGRpc3BsYXk9ODc1MDtlLmNvbnRpbnRlZ3JhbHRleHQ9ODc1MDtlLmNvcHJvZHVjdGRpc3BsYXk9ODcyMDtlLmNvcHJvZHVjdHRleHQ9ODcyMDtlLmZsb29ybGVmdEJpZz04OTcwO2UuZmxvb3JsZWZ0YmlnPTg5NzA7ZS5mbG9vcmxlZnRiaWdnPTg5NzA7ZS5mbG9vcmxlZnRCaWdnPTg5NzA7ZS5mbG9vcnJpZ2h0YmlnPTg5NzE7ZS5mbG9vcnJpZ2h0QmlnPTg5NzE7ZS5mbG9vcnJpZ2h0QmlnZz04OTcxO2UuZmxvb3JyaWdodGJpZ2c9ODk3MTtlLmhhdHdpZGU9NzcwO2UuaGF0d2lkZXI9NzcwO2UuaGF0d2lkZXN0PTc3MDtlLmludGVyY2FsPTc0ODg7ZS5pbnRlZ3JhbGRpc3BsYXk9ODc0NztlLmludGVncmFsdGV4dD04NzQ3O2UuaW50ZXJzZWN0aW9uZGlzcGxheT04ODk4O2UuaW50ZXJzZWN0aW9udGV4dD04ODk4O2UubG9naWNhbGFuZGRpc3BsYXk9ODc0MztlLmxvZ2ljYWxhbmR0ZXh0PTg3NDM7ZS5sb2dpY2Fsb3JkaXNwbGF5PTg3NDQ7ZS5sb2dpY2Fsb3J0ZXh0PTg3NDQ7ZS5wYXJlbmxlZnRCaWc9NDA7ZS5wYXJlbmxlZnRiaWc9NDA7ZS5wYXJlbmxlZnRCaWdnPTQwO2UucGFyZW5sZWZ0YmlnZz00MDtlLnBhcmVucmlnaHRCaWc9NDE7ZS5wYXJlbnJpZ2h0YmlnPTQxO2UucGFyZW5yaWdodEJpZ2c9NDE7ZS5wYXJlbnJpZ2h0YmlnZz00MTtlLnByaW1lPTgyNDI7ZS5wcm9kdWN0ZGlzcGxheT04NzE5O2UucHJvZHVjdHRleHQ9ODcxOTtlLnJhZGljYWxiaWc9ODczMDtlLnJhZGljYWxCaWc9ODczMDtlLnJhZGljYWxCaWdnPTg3MzA7ZS5yYWRpY2FsYmlnZz04NzMwO2UucmFkaWNhbGJ0PTg3MzA7ZS5yYWRpY2FsdHA9ODczMDtlLnJhZGljYWx2ZXJ0ZXg9ODczMDtlLnNsYXNoYmlnPTQ3O2Uuc2xhc2hCaWc9NDc7ZS5zbGFzaEJpZ2c9NDc7ZS5zbGFzaGJpZ2c9NDc7ZS5zdW1tYXRpb25kaXNwbGF5PTg3MjE7ZS5zdW1tYXRpb250ZXh0PTg3MjE7ZS50aWxkZXdpZGU9NzMyO2UudGlsZGV3aWRlcj03MzI7ZS50aWxkZXdpZGVzdD03MzI7ZS51bmlvbmRpc3BsYXk9ODg5OTtlLnVuaW9ubXVsdGlkaXNwbGF5PTg4NDY7ZS51bmlvbm11bHRpdGV4dD04ODQ2O2UudW5pb25zcWRpc3BsYXk9ODg1MjtlLnVuaW9uc3F0ZXh0PTg4NTI7ZS51bmlvbnRleHQ9ODg5OTtlLnZleHRlbmRkb3VibGU9ODc0MTtlLnZleHRlbmRzaW5nbGU9ODczOX0pKSxocj1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGZ1bmN0aW9uKGUpe2Uuc3BhY2U9MzI7ZS5hMT05OTg1O2UuYTI9OTk4NjtlLmEyMDI9OTk4NztlLmEzPTk5ODg7ZS5hND05NzQyO2UuYTU9OTk5MDtlLmExMTk9OTk5MTtlLmExMTg9OTk5MjtlLmExMTc9OTk5MztlLmExMT05NzU1O2UuYTEyPTk3NTg7ZS5hMTM9OTk5NjtlLmExND05OTk3O2UuYTE1PTk5OTg7ZS5hMTY9OTk5OTtlLmExMDU9MWU0O2UuYTE3PTEwMDAxO2UuYTE4PTEwMDAyO2UuYTE5PTEwMDAzO2UuYTIwPTEwMDA0O2UuYTIxPTEwMDA1O2UuYTIyPTEwMDA2O2UuYTIzPTEwMDA3O2UuYTI0PTEwMDA4O2UuYTI1PTEwMDA5O2UuYTI2PTEwMDEwO2UuYTI3PTEwMDExO2UuYTI4PTEwMDEyO2UuYTY9MTAwMTM7ZS5hNz0xMDAxNDtlLmE4PTEwMDE1O2UuYTk9MTAwMTY7ZS5hMTA9MTAwMTc7ZS5hMjk9MTAwMTg7ZS5hMzA9MTAwMTk7ZS5hMzE9MTAwMjA7ZS5hMzI9MTAwMjE7ZS5hMzM9MTAwMjI7ZS5hMzQ9MTAwMjM7ZS5hMzU9OTczMztlLmEzNj0xMDAyNTtlLmEzNz0xMDAyNjtlLmEzOD0xMDAyNztlLmEzOT0xMDAyODtlLmE0MD0xMDAyOTtlLmE0MT0xMDAzMDtlLmE0Mj0xMDAzMTtlLmE0Mz0xMDAzMjtlLmE0ND0xMDAzMztlLmE0NT0xMDAzNDtlLmE0Nj0xMDAzNTtlLmE0Nz0xMDAzNjtlLmE0OD0xMDAzNztlLmE0OT0xMDAzODtlLmE1MD0xMDAzOTtlLmE1MT0xMDA0MDtlLmE1Mj0xMDA0MTtlLmE1Mz0xMDA0MjtlLmE1ND0xMDA0MztlLmE1NT0xMDA0NDtlLmE1Nj0xMDA0NTtlLmE1Nz0xMDA0NjtlLmE1OD0xMDA0NztlLmE1OT0xMDA0ODtlLmE2MD0xMDA0OTtlLmE2MT0xMDA1MDtlLmE2Mj0xMDA1MTtlLmE2Mz0xMDA1MjtlLmE2ND0xMDA1MztlLmE2NT0xMDA1NDtlLmE2Nj0xMDA1NTtlLmE2Nz0xMDA1NjtlLmE2OD0xMDA1NztlLmE2OT0xMDA1ODtlLmE3MD0xMDA1OTtlLmE3MT05Njc5O2UuYTcyPTEwMDYxO2UuYTczPTk2MzI7ZS5hNzQ9MTAwNjM7ZS5hMjAzPTEwMDY0O2UuYTc1PTEwMDY1O2UuYTIwND0xMDA2NjtlLmE3Nj05NjUwO2UuYTc3PTk2NjA7ZS5hNzg9OTY3MDtlLmE3OT0xMDA3MDtlLmE4MT05Njg3O2UuYTgyPTEwMDcyO2UuYTgzPTEwMDczO2UuYTg0PTEwMDc0O2UuYTk3PTEwMDc1O2UuYTk4PTEwMDc2O2UuYTk5PTEwMDc3O2UuYTEwMD0xMDA3ODtlLmExMDE9MTAwODE7ZS5hMTAyPTEwMDgyO2UuYTEwMz0xMDA4MztlLmExMDQ9MTAwODQ7ZS5hMTA2PTEwMDg1O2UuYTEwNz0xMDA4NjtlLmExMDg9MTAwODc7ZS5hMTEyPTk4Mjc7ZS5hMTExPTk4MzA7ZS5hMTEwPTk4Mjk7ZS5hMTA5PTk4MjQ7ZS5hMTIwPTkzMTI7ZS5hMTIxPTkzMTM7ZS5hMTIyPTkzMTQ7ZS5hMTIzPTkzMTU7ZS5hMTI0PTkzMTY7ZS5hMTI1PTkzMTc7ZS5hMTI2PTkzMTg7ZS5hMTI3PTkzMTk7ZS5hMTI4PTkzMjA7ZS5hMTI5PTkzMjE7ZS5hMTMwPTEwMTAyO2UuYTEzMT0xMDEwMztlLmExMzI9MTAxMDQ7ZS5hMTMzPTEwMTA1O2UuYTEzND0xMDEwNjtlLmExMzU9MTAxMDc7ZS5hMTM2PTEwMTA4O2UuYTEzNz0xMDEwOTtlLmExMzg9MTAxMTA7ZS5hMTM5PTEwMTExO2UuYTE0MD0xMDExMjtlLmExNDE9MTAxMTM7ZS5hMTQyPTEwMTE0O2UuYTE0Mz0xMDExNTtlLmExNDQ9MTAxMTY7ZS5hMTQ1PTEwMTE3O2UuYTE0Nj0xMDExODtlLmExNDc9MTAxMTk7ZS5hMTQ4PTEwMTIwO2UuYTE0OT0xMDEyMTtlLmExNTA9MTAxMjI7ZS5hMTUxPTEwMTIzO2UuYTE1Mj0xMDEyNDtlLmExNTM9MTAxMjU7ZS5hMTU0PTEwMTI2O2UuYTE1NT0xMDEyNztlLmExNTY9MTAxMjg7ZS5hMTU3PTEwMTI5O2UuYTE1OD0xMDEzMDtlLmExNTk9MTAxMzE7ZS5hMTYwPTEwMTMyO2UuYTE2MT04NTk0O2UuYTE2Mz04NTk2O2UuYTE2ND04NTk3O2UuYTE5Nj0xMDEzNjtlLmExNjU9MTAxMzc7ZS5hMTkyPTEwMTM4O2UuYTE2Nj0xMDEzOTtlLmExNjc9MTAxNDA7ZS5hMTY4PTEwMTQxO2UuYTE2OT0xMDE0MjtlLmExNzA9MTAxNDM7ZS5hMTcxPTEwMTQ0O2UuYTE3Mj0xMDE0NTtlLmExNzM9MTAxNDY7ZS5hMTYyPTEwMTQ3O2UuYTE3ND0xMDE0ODtlLmExNzU9MTAxNDk7ZS5hMTc2PTEwMTUwO2UuYTE3Nz0xMDE1MTtlLmExNzg9MTAxNTI7ZS5hMTc5PTEwMTUzO2UuYTE5Mz0xMDE1NDtlLmExODA9MTAxNTU7ZS5hMTk5PTEwMTU2O2UuYTE4MT0xMDE1NztlLmEyMDA9MTAxNTg7ZS5hMTgyPTEwMTU5O2UuYTIwMT0xMDE2MTtlLmExODM9MTAxNjI7ZS5hMTg0PTEwMTYzO2UuYTE5Nz0xMDE2NDtlLmExODU9MTAxNjU7ZS5hMTk0PTEwMTY2O2UuYTE5OD0xMDE2NztlLmExODY9MTAxNjg7ZS5hMTk1PTEwMTY5O2UuYTE4Nz0xMDE3MDtlLmExODg9MTAxNzE7ZS5hMTg5PTEwMTcyO2UuYTE5MD0xMDE3MztlLmExOTE9MTAxNzQ7ZS5hODk9MTAwODg7ZS5hOTA9MTAwODk7ZS5hOTM9MTAwOTA7ZS5hOTQ9MTAwOTE7ZS5hOTE9MTAwOTI7ZS5hOTI9MTAwOTM7ZS5hMjA1PTEwMDk0O2UuYTg1PTEwMDk1O2UuYTIwNj0xMDA5NjtlLmE4Nj0xMDA5NztlLmE4Nz0xMDA5ODtlLmE4OD0xMDA5OTtlLmE5NT0xMDEwMDtlLmE5Nj0xMDEwMTtlWyIubm90ZGVmIl09MH0pKSx1cj1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGZ1bmN0aW9uKGUpe2VbNjM3MjFdPTE2OTtlWzYzMTkzXT0xNjk7ZVs2MzcyMF09MTc0O2VbNjMxOTRdPTE3NDtlWzYzNzIyXT04NDgyO2VbNjMxOTVdPTg0ODI7ZVs2MzcyOV09OTEyNztlWzYzNzMwXT05MTI4O2VbNjM3MzFdPTkxMjk7ZVs2Mzc0MF09OTEzMTtlWzYzNzQxXT05MTMyO2VbNjM3NDJdPTkxMzM7ZVs2MzcyNl09OTEyMTtlWzYzNzI3XT05MTIyO2VbNjM3MjhdPTkxMjM7ZVs2MzczN109OTEyNDtlWzYzNzM4XT05MTI1O2VbNjM3MzldPTkxMjY7ZVs2MzcyM109OTExNTtlWzYzNzI0XT05MTE2O2VbNjM3MjVdPTkxMTc7ZVs2MzczNF09OTExODtlWzYzNzM1XT05MTE5O2VbNjM3MzZdPTkxMjB9KSk7ZnVuY3Rpb24gZ2V0VW5pY29kZUZvckdseXBoKGUsdCl7bGV0IGE9dFtlXTtpZih2b2lkIDAhPT1hKXJldHVybiBhO2lmKCFlKXJldHVybi0xO2lmKCJ1Ij09PWVbMF0pe2NvbnN0IHQ9ZS5sZW5ndGg7bGV0IHI7aWYoNz09PXQmJiJuIj09PWVbMV0mJiJpIj09PWVbMl0pcj1lLnN1YnN0cmluZygzKTtlbHNle2lmKCEodD49NSYmdDw9NykpcmV0dXJuLTE7cj1lLnN1YnN0cmluZygxKX1pZihyPT09ci50b1VwcGVyQ2FzZSgpKXthPXBhcnNlSW50KHIsMTYpO2lmKGE+PTApcmV0dXJuIGF9fXJldHVybi0xfWNvbnN0IGRyPVtbMCwxMjddLFsxMjgsMjU1XSxbMjU2LDM4M10sWzM4NCw1OTFdLFs1OTIsNjg3LDc0MjQsNzU1MSw3NTUyLDc2MTVdLFs2ODgsNzY3LDQyNzUyLDQyNzgzXSxbNzY4LDg3OSw3NjE2LDc2NzldLFs4ODAsMTAyM10sWzExMzkyLDExNTE5XSxbMTAyNCwxMjc5LDEyODAsMTMyNywxMTc0NCwxMTc3NSw0MjU2MCw0MjY1NV0sWzEzMjgsMTQyM10sWzE0MjQsMTUzNV0sWzQyMjQwLDQyNTU5XSxbMTUzNiwxNzkxLDE4NzIsMTkxOV0sWzE5ODQsMjA0N10sWzIzMDQsMjQzMV0sWzI0MzIsMjU1OV0sWzI1NjAsMjY4N10sWzI2ODgsMjgxNV0sWzI4MTYsMjk0M10sWzI5NDQsMzA3MV0sWzMwNzIsMzE5OV0sWzMyMDAsMzMyN10sWzMzMjgsMzQ1NV0sWzM1ODQsMzcxMV0sWzM3MTIsMzgzOV0sWzQyNTYsNDM1MSwxMTUyMCwxMTU2N10sWzY5MTIsNzAzOV0sWzQzNTIsNDYwN10sWzc2ODAsNzkzNSwxMTM2MCwxMTM5MSw0Mjc4NCw0MzAwN10sWzc5MzYsODE5MV0sWzgxOTIsODMwMywxMTc3NiwxMTkwM10sWzgzMDQsODM1MV0sWzgzNTIsODM5OV0sWzg0MDAsODQ0N10sWzg0NDgsODUyN10sWzg1MjgsODU5MV0sWzg1OTIsODcwMywxMDIyNCwxMDIzOSwxMDQ5NiwxMDYyMywxMTAwOCwxMTI2M10sWzg3MDQsODk1OSwxMDc1MiwxMTAwNywxMDE3NiwxMDIyMywxMDYyNCwxMDc1MV0sWzg5NjAsOTIxNV0sWzkyMTYsOTI3OV0sWzkyODAsOTMxMV0sWzkzMTIsOTQ3MV0sWzk0NzIsOTU5OV0sWzk2MDAsOTYzMV0sWzk2MzIsOTcyN10sWzk3MjgsOTk4M10sWzk5ODQsMTAxNzVdLFsxMjI4OCwxMjM1MV0sWzEyMzUyLDEyNDQ3XSxbMTI0NDgsMTI1NDMsMTI3ODQsMTI3OTldLFsxMjU0NCwxMjU5MSwxMjcwNCwxMjczNV0sWzEyNTkyLDEyNjg3XSxbNDMwNzIsNDMxMzVdLFsxMjgwMCwxMzA1NV0sWzEzMDU2LDEzMzExXSxbNDQwMzIsNTUyMTVdLFs1NTI5Niw1NzM0M10sWzY3ODQwLDY3ODcxXSxbMTk5NjgsNDA5NTksMTE5MDQsMTIwMzEsMTIwMzIsMTIyNTUsMTIyNzIsMTIyODcsMTMzMTIsMTk5MDMsMTMxMDcyLDE3Mzc5MSwxMjY4OCwxMjcwM10sWzU3MzQ0LDYzNzQzXSxbMTI3MzYsMTI3ODMsNjM3NDQsNjQyNTUsMTk0NTYwLDE5NTEwM10sWzY0MjU2LDY0MzM1XSxbNjQzMzYsNjUwMjNdLFs2NTA1Niw2NTA3MV0sWzY1MDQwLDY1MDU1XSxbNjUxMDQsNjUxMzVdLFs2NTEzNiw2NTI3OV0sWzY1MjgwLDY1NTE5XSxbNjU1MjAsNjU1MzVdLFszODQwLDQwOTVdLFsxNzkyLDE4NzFdLFsxOTIwLDE5ODNdLFszNDU2LDM1ODNdLFs0MDk2LDQyNTVdLFs0NjA4LDQ5OTEsNDk5Miw1MDIzLDExNjQ4LDExNzQzXSxbNTAyNCw1MTE5XSxbNTEyMCw1NzU5XSxbNTc2MCw1NzkxXSxbNTc5Miw1ODg3XSxbNjAxNiw2MTQzXSxbNjE0NCw2MzE5XSxbMTAyNDAsMTA0OTVdLFs0MDk2MCw0MjEyN10sWzU4ODgsNTkxOSw1OTIwLDU5NTEsNTk1Miw1OTgzLDU5ODQsNjAxNV0sWzY2MzA0LDY2MzUxXSxbNjYzNTIsNjYzODNdLFs2NjU2MCw2NjYzOV0sWzExODc4NCwxMTkwMzksMTE5MDQwLDExOTI5NSwxMTkyOTYsMTE5Mzc1XSxbMTE5ODA4LDEyMDgzMV0sWzEwNDQ0ODAsMTA0ODU3M10sWzY1MDI0LDY1MDM5LDkxNzc2MCw5MTc5OTldLFs5MTc1MDQsOTE3NjMxXSxbNjQwMCw2NDc5XSxbNjQ4MCw2NTI3XSxbNjUyOCw2NjIzXSxbNjY1Niw2Njg3XSxbMTEyNjQsMTEzNTldLFsxMTU2OCwxMTY0N10sWzE5OTA0LDE5OTY3XSxbNDMwMDgsNDMwNTVdLFs2NTUzNiw2NTY2Myw2NTY2NCw2NTc5MSw2NTc5Miw2NTg1NV0sWzY1ODU2LDY1OTM1XSxbNjY0MzIsNjY0NjNdLFs2NjQ2NCw2NjUyN10sWzY2NjQwLDY2Njg3XSxbNjY2ODgsNjY3MzVdLFs2NzU4NCw2NzY0N10sWzY4MDk2LDY4MTkxXSxbMTE5NTUyLDExOTY0N10sWzczNzI4LDc0NzUxLDc0NzUyLDc0ODc5XSxbMTE5NjQ4LDExOTY3OV0sWzcwNDAsNzEwM10sWzcxNjgsNzI0N10sWzcyNDgsNzI5NV0sWzQzMTM2LDQzMjMxXSxbNDMyNjQsNDMzMTFdLFs0MzMxMiw0MzM1OV0sWzQzNTIwLDQzNjE1XSxbNjU5MzYsNjU5OTldLFs2NmUzLDY2MDQ3XSxbNjYyMDgsNjYyNzEsNjYxNzYsNjYyMDcsNjc4NzIsNjc5MDNdLFsxMjcwMjQsMTI3MTM1LDEyNjk3NiwxMjcwMjNdXTtmdW5jdGlvbiBnZXRVbmljb2RlUmFuZ2VGb3IoZSx0PS0xKXtpZigtMSE9PXQpe2NvbnN0IGE9ZHJbdF07Zm9yKGxldCByPTAsaT1hLmxlbmd0aDtyPGk7cis9MilpZihlPj1hW3JdJiZlPD1hW3IrMV0pcmV0dXJuIHR9Zm9yKGxldCB0PTAsYT1kci5sZW5ndGg7dDxhO3QrKyl7Y29uc3QgYT1kclt0XTtmb3IobGV0IHI9MCxpPWEubGVuZ3RoO3I8aTtyKz0yKWlmKGU+PWFbcl0mJmU8PWFbcisxXSlyZXR1cm4gdH1yZXR1cm4tMX1jb25zdCBmcj1uZXcgUmVnRXhwKCJeKFxccyl8KFxccHtNbn0pfChcXHB7Q2Z9KSQiLCJ1IiksZ3I9bmV3IE1hcDtjb25zdCBwcj0hMCxtcj0xLGJyPTIseXI9NCx3cj0zMix4cj1bIi5ub3RkZWYiLCIubnVsbCIsIm5vbm1hcmtpbmdyZXR1cm4iLCJzcGFjZSIsImV4Y2xhbSIsInF1b3RlZGJsIiwibnVtYmVyc2lnbiIsImRvbGxhciIsInBlcmNlbnQiLCJhbXBlcnNhbmQiLCJxdW90ZXNpbmdsZSIsInBhcmVubGVmdCIsInBhcmVucmlnaHQiLCJhc3RlcmlzayIsInBsdXMiLCJjb21tYSIsImh5cGhlbiIsInBlcmlvZCIsInNsYXNoIiwiemVybyIsIm9uZSIsInR3byIsInRocmVlIiwiZm91ciIsImZpdmUiLCJzaXgiLCJzZXZlbiIsImVpZ2h0IiwibmluZSIsImNvbG9uIiwic2VtaWNvbG9uIiwibGVzcyIsImVxdWFsIiwiZ3JlYXRlciIsInF1ZXN0aW9uIiwiYXQiLCJBIiwiQiIsIkMiLCJEIiwiRSIsIkYiLCJHIiwiSCIsIkkiLCJKIiwiSyIsIkwiLCJNIiwiTiIsIk8iLCJQIiwiUSIsIlIiLCJTIiwiVCIsIlUiLCJWIiwiVyIsIlgiLCJZIiwiWiIsImJyYWNrZXRsZWZ0IiwiYmFja3NsYXNoIiwiYnJhY2tldHJpZ2h0IiwiYXNjaWljaXJjdW0iLCJ1bmRlcnNjb3JlIiwiZ3JhdmUiLCJhIiwiYiIsImMiLCJkIiwiZSIsImYiLCJnIiwiaCIsImkiLCJqIiwiayIsImwiLCJtIiwibiIsIm8iLCJwIiwicSIsInIiLCJzIiwidCIsInUiLCJ2IiwidyIsIngiLCJ5IiwieiIsImJyYWNlbGVmdCIsImJhciIsImJyYWNlcmlnaHQiLCJhc2NpaXRpbGRlIiwiQWRpZXJlc2lzIiwiQXJpbmciLCJDY2VkaWxsYSIsIkVhY3V0ZSIsIk50aWxkZSIsIk9kaWVyZXNpcyIsIlVkaWVyZXNpcyIsImFhY3V0ZSIsImFncmF2ZSIsImFjaXJjdW1mbGV4IiwiYWRpZXJlc2lzIiwiYXRpbGRlIiwiYXJpbmciLCJjY2VkaWxsYSIsImVhY3V0ZSIsImVncmF2ZSIsImVjaXJjdW1mbGV4IiwiZWRpZXJlc2lzIiwiaWFjdXRlIiwiaWdyYXZlIiwiaWNpcmN1bWZsZXgiLCJpZGllcmVzaXMiLCJudGlsZGUiLCJvYWN1dGUiLCJvZ3JhdmUiLCJvY2lyY3VtZmxleCIsIm9kaWVyZXNpcyIsIm90aWxkZSIsInVhY3V0ZSIsInVncmF2ZSIsInVjaXJjdW1mbGV4IiwidWRpZXJlc2lzIiwiZGFnZ2VyIiwiZGVncmVlIiwiY2VudCIsInN0ZXJsaW5nIiwic2VjdGlvbiIsImJ1bGxldCIsInBhcmFncmFwaCIsImdlcm1hbmRibHMiLCJyZWdpc3RlcmVkIiwiY29weXJpZ2h0IiwidHJhZGVtYXJrIiwiYWN1dGUiLCJkaWVyZXNpcyIsIm5vdGVxdWFsIiwiQUUiLCJPc2xhc2giLCJpbmZpbml0eSIsInBsdXNtaW51cyIsImxlc3NlcXVhbCIsImdyZWF0ZXJlcXVhbCIsInllbiIsIm11IiwicGFydGlhbGRpZmYiLCJzdW1tYXRpb24iLCJwcm9kdWN0IiwicGkiLCJpbnRlZ3JhbCIsIm9yZGZlbWluaW5lIiwib3JkbWFzY3VsaW5lIiwiT21lZ2EiLCJhZSIsIm9zbGFzaCIsInF1ZXN0aW9uZG93biIsImV4Y2xhbWRvd24iLCJsb2dpY2Fsbm90IiwicmFkaWNhbCIsImZsb3JpbiIsImFwcHJveGVxdWFsIiwiRGVsdGEiLCJndWlsbGVtb3RsZWZ0IiwiZ3VpbGxlbW90cmlnaHQiLCJlbGxpcHNpcyIsIm5vbmJyZWFraW5nc3BhY2UiLCJBZ3JhdmUiLCJBdGlsZGUiLCJPdGlsZGUiLCJPRSIsIm9lIiwiZW5kYXNoIiwiZW1kYXNoIiwicXVvdGVkYmxsZWZ0IiwicXVvdGVkYmxyaWdodCIsInF1b3RlbGVmdCIsInF1b3RlcmlnaHQiLCJkaXZpZGUiLCJsb3plbmdlIiwieWRpZXJlc2lzIiwiWWRpZXJlc2lzIiwiZnJhY3Rpb24iLCJjdXJyZW5jeSIsImd1aWxzaW5nbGxlZnQiLCJndWlsc2luZ2xyaWdodCIsImZpIiwiZmwiLCJkYWdnZXJkYmwiLCJwZXJpb2RjZW50ZXJlZCIsInF1b3Rlc2luZ2xiYXNlIiwicXVvdGVkYmxiYXNlIiwicGVydGhvdXNhbmQiLCJBY2lyY3VtZmxleCIsIkVjaXJjdW1mbGV4IiwiQWFjdXRlIiwiRWRpZXJlc2lzIiwiRWdyYXZlIiwiSWFjdXRlIiwiSWNpcmN1bWZsZXgiLCJJZGllcmVzaXMiLCJJZ3JhdmUiLCJPYWN1dGUiLCJPY2lyY3VtZmxleCIsImFwcGxlIiwiT2dyYXZlIiwiVWFjdXRlIiwiVWNpcmN1bWZsZXgiLCJVZ3JhdmUiLCJkb3RsZXNzaSIsImNpcmN1bWZsZXgiLCJ0aWxkZSIsIm1hY3JvbiIsImJyZXZlIiwiZG90YWNjZW50IiwicmluZyIsImNlZGlsbGEiLCJodW5nYXJ1bWxhdXQiLCJvZ29uZWsiLCJjYXJvbiIsIkxzbGFzaCIsImxzbGFzaCIsIlNjYXJvbiIsInNjYXJvbiIsIlpjYXJvbiIsInpjYXJvbiIsImJyb2tlbmJhciIsIkV0aCIsImV0aCIsIllhY3V0ZSIsInlhY3V0ZSIsIlRob3JuIiwidGhvcm4iLCJtaW51cyIsIm11bHRpcGx5Iiwib25lc3VwZXJpb3IiLCJ0d29zdXBlcmlvciIsInRocmVlc3VwZXJpb3IiLCJvbmVoYWxmIiwib25lcXVhcnRlciIsInRocmVlcXVhcnRlcnMiLCJmcmFuYyIsIkdicmV2ZSIsImdicmV2ZSIsIklkb3RhY2NlbnQiLCJTY2VkaWxsYSIsInNjZWRpbGxhIiwiQ2FjdXRlIiwiY2FjdXRlIiwiQ2Nhcm9uIiwiY2Nhcm9uIiwiZGNyb2F0Il07ZnVuY3Rpb24gcmVjb3ZlckdseXBoTmFtZShlLHQpe2lmKHZvaWQgMCE9PXRbZV0pcmV0dXJuIGU7Y29uc3QgYT1nZXRVbmljb2RlRm9yR2x5cGgoZSx0KTtpZigtMSE9PWEpZm9yKGNvbnN0IGUgaW4gdClpZih0W2VdPT09YSlyZXR1cm4gZTtpbmZvKCJVbmFibGUgdG8gcmVjb3ZlciBhIHN0YW5kYXJkIGdseXBoIG5hbWUgZm9yOiAiK2UpO3JldHVybiBlfWZ1bmN0aW9uIHR5cGUxRm9udEdseXBoTWFwcGluZyhlLHQsYSl7Y29uc3Qgcj1PYmplY3QuY3JlYXRlKG51bGwpO2xldCBpLG4scztjb25zdCBvPSEhKGUuZmxhZ3MmeXIpO2lmKGUuaXNJbnRlcm5hbEZvbnQpe3M9dDtmb3Iobj0wO248cy5sZW5ndGg7bisrKXtpPWEuaW5kZXhPZihzW25dKTtyW25dPWk+PTA/aTowfX1lbHNlIGlmKGUuYmFzZUVuY29kaW5nTmFtZSl7cz1nZXRFbmNvZGluZyhlLmJhc2VFbmNvZGluZ05hbWUpO2ZvcihuPTA7bjxzLmxlbmd0aDtuKyspe2k9YS5pbmRleE9mKHNbbl0pO3Jbbl09aT49MD9pOjB9fWVsc2UgaWYobylmb3IobiBpbiB0KXJbbl09dFtuXTtlbHNle3M9bnI7Zm9yKG49MDtuPHMubGVuZ3RoO24rKyl7aT1hLmluZGV4T2Yoc1tuXSk7cltuXT1pPj0wP2k6MH19Y29uc3QgYz1lLmRpZmZlcmVuY2VzO2xldCBsO2lmKGMpZm9yKG4gaW4gYyl7Y29uc3QgZT1jW25dO2k9YS5pbmRleE9mKGUpO2lmKC0xPT09aSl7bHx8KGw9bHIoKSk7Y29uc3QgdD1yZWNvdmVyR2x5cGhOYW1lKGUsbCk7dCE9PWUmJihpPWEuaW5kZXhPZih0KSl9cltuXT1pPj0wP2k6MH1yZXR1cm4gcn1mdW5jdGlvbiBub3JtYWxpemVGb250TmFtZShlKXtyZXR1cm4gZS5yZXBsYWNlQWxsKC9bLF9dL2csIi0iKS5yZXBsYWNlQWxsKC9ccy9nLCIiKX1jb25zdCBTcj1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGU9PntlWzgyMTFdPTY1MDc0O2VbODIxMl09NjUwNzM7ZVs4MjI5XT02NTA3MjtlWzgyMzBdPTY1MDQ5O2VbMTIyODldPTY1MDQxO2VbMTIyOTBdPTY1MDQyO2VbMTIyOTZdPTY1MDg3O2VbMTIyOTddPTY1MDg4O2VbMTIyOThdPTY1MDg1O2VbMTIyOTldPTY1MDg2O2VbMTIzMDBdPTY1MDg5O2VbMTIzMDFdPTY1MDkwO2VbMTIzMDJdPTY1MDkxO2VbMTIzMDNdPTY1MDkyO2VbMTIzMDRdPTY1MDgzO2VbMTIzMDVdPTY1MDg0O2VbMTIzMDhdPTY1MDgxO2VbMTIzMDldPTY1MDgyO2VbMTIzMTBdPTY1MDQ3O2VbMTIzMTFdPTY1MDQ4O2VbNjUxMDNdPTY1MDc2O2VbNjUyODFdPTY1MDQ1O2VbNjUyODhdPTY1MDc3O2VbNjUyODldPTY1MDc4O2VbNjUyOTJdPTY1MDQwO2VbNjUzMDZdPTY1MDQzO2VbNjUzMDddPTY1MDQ0O2VbNjUzMTFdPTY1MDQ2O2VbNjUzMzldPTY1MDk1O2VbNjUzNDFdPTY1MDk2O2VbNjUzNDNdPTY1MDc1O2VbNjUzNzFdPTY1MDc5O2VbNjUzNzNdPTY1MDgwfSkpO2NvbnN0IEFyPVsiLm5vdGRlZiIsInNwYWNlIiwiZXhjbGFtIiwicXVvdGVkYmwiLCJudW1iZXJzaWduIiwiZG9sbGFyIiwicGVyY2VudCIsImFtcGVyc2FuZCIsInF1b3RlcmlnaHQiLCJwYXJlbmxlZnQiLCJwYXJlbnJpZ2h0IiwiYXN0ZXJpc2siLCJwbHVzIiwiY29tbWEiLCJoeXBoZW4iLCJwZXJpb2QiLCJzbGFzaCIsInplcm8iLCJvbmUiLCJ0d28iLCJ0aHJlZSIsImZvdXIiLCJmaXZlIiwic2l4Iiwic2V2ZW4iLCJlaWdodCIsIm5pbmUiLCJjb2xvbiIsInNlbWljb2xvbiIsImxlc3MiLCJlcXVhbCIsImdyZWF0ZXIiLCJxdWVzdGlvbiIsImF0IiwiQSIsIkIiLCJDIiwiRCIsIkUiLCJGIiwiRyIsIkgiLCJJIiwiSiIsIksiLCJMIiwiTSIsIk4iLCJPIiwiUCIsIlEiLCJSIiwiUyIsIlQiLCJVIiwiViIsIlciLCJYIiwiWSIsIloiLCJicmFja2V0bGVmdCIsImJhY2tzbGFzaCIsImJyYWNrZXRyaWdodCIsImFzY2lpY2lyY3VtIiwidW5kZXJzY29yZSIsInF1b3RlbGVmdCIsImEiLCJiIiwiYyIsImQiLCJlIiwiZiIsImciLCJoIiwiaSIsImoiLCJrIiwibCIsIm0iLCJuIiwibyIsInAiLCJxIiwiciIsInMiLCJ0IiwidSIsInYiLCJ3IiwieCIsInkiLCJ6IiwiYnJhY2VsZWZ0IiwiYmFyIiwiYnJhY2VyaWdodCIsImFzY2lpdGlsZGUiLCJleGNsYW1kb3duIiwiY2VudCIsInN0ZXJsaW5nIiwiZnJhY3Rpb24iLCJ5ZW4iLCJmbG9yaW4iLCJzZWN0aW9uIiwiY3VycmVuY3kiLCJxdW90ZXNpbmdsZSIsInF1b3RlZGJsbGVmdCIsImd1aWxsZW1vdGxlZnQiLCJndWlsc2luZ2xsZWZ0IiwiZ3VpbHNpbmdscmlnaHQiLCJmaSIsImZsIiwiZW5kYXNoIiwiZGFnZ2VyIiwiZGFnZ2VyZGJsIiwicGVyaW9kY2VudGVyZWQiLCJwYXJhZ3JhcGgiLCJidWxsZXQiLCJxdW90ZXNpbmdsYmFzZSIsInF1b3RlZGJsYmFzZSIsInF1b3RlZGJscmlnaHQiLCJndWlsbGVtb3RyaWdodCIsImVsbGlwc2lzIiwicGVydGhvdXNhbmQiLCJxdWVzdGlvbmRvd24iLCJncmF2ZSIsImFjdXRlIiwiY2lyY3VtZmxleCIsInRpbGRlIiwibWFjcm9uIiwiYnJldmUiLCJkb3RhY2NlbnQiLCJkaWVyZXNpcyIsInJpbmciLCJjZWRpbGxhIiwiaHVuZ2FydW1sYXV0Iiwib2dvbmVrIiwiY2Fyb24iLCJlbWRhc2giLCJBRSIsIm9yZGZlbWluaW5lIiwiTHNsYXNoIiwiT3NsYXNoIiwiT0UiLCJvcmRtYXNjdWxpbmUiLCJhZSIsImRvdGxlc3NpIiwibHNsYXNoIiwib3NsYXNoIiwib2UiLCJnZXJtYW5kYmxzIiwib25lc3VwZXJpb3IiLCJsb2dpY2Fsbm90IiwibXUiLCJ0cmFkZW1hcmsiLCJFdGgiLCJvbmVoYWxmIiwicGx1c21pbnVzIiwiVGhvcm4iLCJvbmVxdWFydGVyIiwiZGl2aWRlIiwiYnJva2VuYmFyIiwiZGVncmVlIiwidGhvcm4iLCJ0aHJlZXF1YXJ0ZXJzIiwidHdvc3VwZXJpb3IiLCJyZWdpc3RlcmVkIiwibWludXMiLCJldGgiLCJtdWx0aXBseSIsInRocmVlc3VwZXJpb3IiLCJjb3B5cmlnaHQiLCJBYWN1dGUiLCJBY2lyY3VtZmxleCIsIkFkaWVyZXNpcyIsIkFncmF2ZSIsIkFyaW5nIiwiQXRpbGRlIiwiQ2NlZGlsbGEiLCJFYWN1dGUiLCJFY2lyY3VtZmxleCIsIkVkaWVyZXNpcyIsIkVncmF2ZSIsIklhY3V0ZSIsIkljaXJjdW1mbGV4IiwiSWRpZXJlc2lzIiwiSWdyYXZlIiwiTnRpbGRlIiwiT2FjdXRlIiwiT2NpcmN1bWZsZXgiLCJPZGllcmVzaXMiLCJPZ3JhdmUiLCJPdGlsZGUiLCJTY2Fyb24iLCJVYWN1dGUiLCJVY2lyY3VtZmxleCIsIlVkaWVyZXNpcyIsIlVncmF2ZSIsIllhY3V0ZSIsIllkaWVyZXNpcyIsIlpjYXJvbiIsImFhY3V0ZSIsImFjaXJjdW1mbGV4IiwiYWRpZXJlc2lzIiwiYWdyYXZlIiwiYXJpbmciLCJhdGlsZGUiLCJjY2VkaWxsYSIsImVhY3V0ZSIsImVjaXJjdW1mbGV4IiwiZWRpZXJlc2lzIiwiZWdyYXZlIiwiaWFjdXRlIiwiaWNpcmN1bWZsZXgiLCJpZGllcmVzaXMiLCJpZ3JhdmUiLCJudGlsZGUiLCJvYWN1dGUiLCJvY2lyY3VtZmxleCIsIm9kaWVyZXNpcyIsIm9ncmF2ZSIsIm90aWxkZSIsInNjYXJvbiIsInVhY3V0ZSIsInVjaXJjdW1mbGV4IiwidWRpZXJlc2lzIiwidWdyYXZlIiwieWFjdXRlIiwieWRpZXJlc2lzIiwiemNhcm9uIl0sa3I9WyIubm90ZGVmIiwic3BhY2UiLCJleGNsYW1zbWFsbCIsIkh1bmdhcnVtbGF1dHNtYWxsIiwiZG9sbGFyb2xkc3R5bGUiLCJkb2xsYXJzdXBlcmlvciIsImFtcGVyc2FuZHNtYWxsIiwiQWN1dGVzbWFsbCIsInBhcmVubGVmdHN1cGVyaW9yIiwicGFyZW5yaWdodHN1cGVyaW9yIiwidHdvZG90ZW5sZWFkZXIiLCJvbmVkb3RlbmxlYWRlciIsImNvbW1hIiwiaHlwaGVuIiwicGVyaW9kIiwiZnJhY3Rpb24iLCJ6ZXJvb2xkc3R5bGUiLCJvbmVvbGRzdHlsZSIsInR3b29sZHN0eWxlIiwidGhyZWVvbGRzdHlsZSIsImZvdXJvbGRzdHlsZSIsImZpdmVvbGRzdHlsZSIsInNpeG9sZHN0eWxlIiwic2V2ZW5vbGRzdHlsZSIsImVpZ2h0b2xkc3R5bGUiLCJuaW5lb2xkc3R5bGUiLCJjb2xvbiIsInNlbWljb2xvbiIsImNvbW1hc3VwZXJpb3IiLCJ0aHJlZXF1YXJ0ZXJzZW1kYXNoIiwicGVyaW9kc3VwZXJpb3IiLCJxdWVzdGlvbnNtYWxsIiwiYXN1cGVyaW9yIiwiYnN1cGVyaW9yIiwiY2VudHN1cGVyaW9yIiwiZHN1cGVyaW9yIiwiZXN1cGVyaW9yIiwiaXN1cGVyaW9yIiwibHN1cGVyaW9yIiwibXN1cGVyaW9yIiwibnN1cGVyaW9yIiwib3N1cGVyaW9yIiwicnN1cGVyaW9yIiwic3N1cGVyaW9yIiwidHN1cGVyaW9yIiwiZmYiLCJmaSIsImZsIiwiZmZpIiwiZmZsIiwicGFyZW5sZWZ0aW5mZXJpb3IiLCJwYXJlbnJpZ2h0aW5mZXJpb3IiLCJDaXJjdW1mbGV4c21hbGwiLCJoeXBoZW5zdXBlcmlvciIsIkdyYXZlc21hbGwiLCJBc21hbGwiLCJCc21hbGwiLCJDc21hbGwiLCJEc21hbGwiLCJFc21hbGwiLCJGc21hbGwiLCJHc21hbGwiLCJIc21hbGwiLCJJc21hbGwiLCJKc21hbGwiLCJLc21hbGwiLCJMc21hbGwiLCJNc21hbGwiLCJOc21hbGwiLCJPc21hbGwiLCJQc21hbGwiLCJRc21hbGwiLCJSc21hbGwiLCJTc21hbGwiLCJUc21hbGwiLCJVc21hbGwiLCJWc21hbGwiLCJXc21hbGwiLCJYc21hbGwiLCJZc21hbGwiLCJac21hbGwiLCJjb2xvbm1vbmV0YXJ5Iiwib25lZml0dGVkIiwicnVwaWFoIiwiVGlsZGVzbWFsbCIsImV4Y2xhbWRvd25zbWFsbCIsImNlbnRvbGRzdHlsZSIsIkxzbGFzaHNtYWxsIiwiU2Nhcm9uc21hbGwiLCJaY2Fyb25zbWFsbCIsIkRpZXJlc2lzc21hbGwiLCJCcmV2ZXNtYWxsIiwiQ2Fyb25zbWFsbCIsIkRvdGFjY2VudHNtYWxsIiwiTWFjcm9uc21hbGwiLCJmaWd1cmVkYXNoIiwiaHlwaGVuaW5mZXJpb3IiLCJPZ29uZWtzbWFsbCIsIlJpbmdzbWFsbCIsIkNlZGlsbGFzbWFsbCIsIm9uZXF1YXJ0ZXIiLCJvbmVoYWxmIiwidGhyZWVxdWFydGVycyIsInF1ZXN0aW9uZG93bnNtYWxsIiwib25lZWlnaHRoIiwidGhyZWVlaWdodGhzIiwiZml2ZWVpZ2h0aHMiLCJzZXZlbmVpZ2h0aHMiLCJvbmV0aGlyZCIsInR3b3RoaXJkcyIsInplcm9zdXBlcmlvciIsIm9uZXN1cGVyaW9yIiwidHdvc3VwZXJpb3IiLCJ0aHJlZXN1cGVyaW9yIiwiZm91cnN1cGVyaW9yIiwiZml2ZXN1cGVyaW9yIiwic2l4c3VwZXJpb3IiLCJzZXZlbnN1cGVyaW9yIiwiZWlnaHRzdXBlcmlvciIsIm5pbmVzdXBlcmlvciIsInplcm9pbmZlcmlvciIsIm9uZWluZmVyaW9yIiwidHdvaW5mZXJpb3IiLCJ0aHJlZWluZmVyaW9yIiwiZm91cmluZmVyaW9yIiwiZml2ZWluZmVyaW9yIiwic2l4aW5mZXJpb3IiLCJzZXZlbmluZmVyaW9yIiwiZWlnaHRpbmZlcmlvciIsIm5pbmVpbmZlcmlvciIsImNlbnRpbmZlcmlvciIsImRvbGxhcmluZmVyaW9yIiwicGVyaW9kaW5mZXJpb3IiLCJjb21tYWluZmVyaW9yIiwiQWdyYXZlc21hbGwiLCJBYWN1dGVzbWFsbCIsIkFjaXJjdW1mbGV4c21hbGwiLCJBdGlsZGVzbWFsbCIsIkFkaWVyZXNpc3NtYWxsIiwiQXJpbmdzbWFsbCIsIkFFc21hbGwiLCJDY2VkaWxsYXNtYWxsIiwiRWdyYXZlc21hbGwiLCJFYWN1dGVzbWFsbCIsIkVjaXJjdW1mbGV4c21hbGwiLCJFZGllcmVzaXNzbWFsbCIsIklncmF2ZXNtYWxsIiwiSWFjdXRlc21hbGwiLCJJY2lyY3VtZmxleHNtYWxsIiwiSWRpZXJlc2lzc21hbGwiLCJFdGhzbWFsbCIsIk50aWxkZXNtYWxsIiwiT2dyYXZlc21hbGwiLCJPYWN1dGVzbWFsbCIsIk9jaXJjdW1mbGV4c21hbGwiLCJPdGlsZGVzbWFsbCIsIk9kaWVyZXNpc3NtYWxsIiwiT0VzbWFsbCIsIk9zbGFzaHNtYWxsIiwiVWdyYXZlc21hbGwiLCJVYWN1dGVzbWFsbCIsIlVjaXJjdW1mbGV4c21hbGwiLCJVZGllcmVzaXNzbWFsbCIsIllhY3V0ZXNtYWxsIiwiVGhvcm5zbWFsbCIsIllkaWVyZXNpc3NtYWxsIl0sQ3I9WyIubm90ZGVmIiwic3BhY2UiLCJkb2xsYXJvbGRzdHlsZSIsImRvbGxhcnN1cGVyaW9yIiwicGFyZW5sZWZ0c3VwZXJpb3IiLCJwYXJlbnJpZ2h0c3VwZXJpb3IiLCJ0d29kb3RlbmxlYWRlciIsIm9uZWRvdGVubGVhZGVyIiwiY29tbWEiLCJoeXBoZW4iLCJwZXJpb2QiLCJmcmFjdGlvbiIsInplcm9vbGRzdHlsZSIsIm9uZW9sZHN0eWxlIiwidHdvb2xkc3R5bGUiLCJ0aHJlZW9sZHN0eWxlIiwiZm91cm9sZHN0eWxlIiwiZml2ZW9sZHN0eWxlIiwic2l4b2xkc3R5bGUiLCJzZXZlbm9sZHN0eWxlIiwiZWlnaHRvbGRzdHlsZSIsIm5pbmVvbGRzdHlsZSIsImNvbG9uIiwic2VtaWNvbG9uIiwiY29tbWFzdXBlcmlvciIsInRocmVlcXVhcnRlcnNlbWRhc2giLCJwZXJpb2RzdXBlcmlvciIsImFzdXBlcmlvciIsImJzdXBlcmlvciIsImNlbnRzdXBlcmlvciIsImRzdXBlcmlvciIsImVzdXBlcmlvciIsImlzdXBlcmlvciIsImxzdXBlcmlvciIsIm1zdXBlcmlvciIsIm5zdXBlcmlvciIsIm9zdXBlcmlvciIsInJzdXBlcmlvciIsInNzdXBlcmlvciIsInRzdXBlcmlvciIsImZmIiwiZmkiLCJmbCIsImZmaSIsImZmbCIsInBhcmVubGVmdGluZmVyaW9yIiwicGFyZW5yaWdodGluZmVyaW9yIiwiaHlwaGVuc3VwZXJpb3IiLCJjb2xvbm1vbmV0YXJ5Iiwib25lZml0dGVkIiwicnVwaWFoIiwiY2VudG9sZHN0eWxlIiwiZmlndXJlZGFzaCIsImh5cGhlbmluZmVyaW9yIiwib25lcXVhcnRlciIsIm9uZWhhbGYiLCJ0aHJlZXF1YXJ0ZXJzIiwib25lZWlnaHRoIiwidGhyZWVlaWdodGhzIiwiZml2ZWVpZ2h0aHMiLCJzZXZlbmVpZ2h0aHMiLCJvbmV0aGlyZCIsInR3b3RoaXJkcyIsInplcm9zdXBlcmlvciIsIm9uZXN1cGVyaW9yIiwidHdvc3VwZXJpb3IiLCJ0aHJlZXN1cGVyaW9yIiwiZm91cnN1cGVyaW9yIiwiZml2ZXN1cGVyaW9yIiwic2l4c3VwZXJpb3IiLCJzZXZlbnN1cGVyaW9yIiwiZWlnaHRzdXBlcmlvciIsIm5pbmVzdXBlcmlvciIsInplcm9pbmZlcmlvciIsIm9uZWluZmVyaW9yIiwidHdvaW5mZXJpb3IiLCJ0aHJlZWluZmVyaW9yIiwiZm91cmluZmVyaW9yIiwiZml2ZWluZmVyaW9yIiwic2l4aW5mZXJpb3IiLCJzZXZlbmluZmVyaW9yIiwiZWlnaHRpbmZlcmlvciIsIm5pbmVpbmZlcmlvciIsImNlbnRpbmZlcmlvciIsImRvbGxhcmluZmVyaW9yIiwicGVyaW9kaW5mZXJpb3IiLCJjb21tYWluZmVyaW9yIl0sdnI9WyIubm90ZGVmIiwic3BhY2UiLCJleGNsYW0iLCJxdW90ZWRibCIsIm51bWJlcnNpZ24iLCJkb2xsYXIiLCJwZXJjZW50IiwiYW1wZXJzYW5kIiwicXVvdGVyaWdodCIsInBhcmVubGVmdCIsInBhcmVucmlnaHQiLCJhc3RlcmlzayIsInBsdXMiLCJjb21tYSIsImh5cGhlbiIsInBlcmlvZCIsInNsYXNoIiwiemVybyIsIm9uZSIsInR3byIsInRocmVlIiwiZm91ciIsImZpdmUiLCJzaXgiLCJzZXZlbiIsImVpZ2h0IiwibmluZSIsImNvbG9uIiwic2VtaWNvbG9uIiwibGVzcyIsImVxdWFsIiwiZ3JlYXRlciIsInF1ZXN0aW9uIiwiYXQiLCJBIiwiQiIsIkMiLCJEIiwiRSIsIkYiLCJHIiwiSCIsIkkiLCJKIiwiSyIsIkwiLCJNIiwiTiIsIk8iLCJQIiwiUSIsIlIiLCJTIiwiVCIsIlUiLCJWIiwiVyIsIlgiLCJZIiwiWiIsImJyYWNrZXRsZWZ0IiwiYmFja3NsYXNoIiwiYnJhY2tldHJpZ2h0IiwiYXNjaWljaXJjdW0iLCJ1bmRlcnNjb3JlIiwicXVvdGVsZWZ0IiwiYSIsImIiLCJjIiwiZCIsImUiLCJmIiwiZyIsImgiLCJpIiwiaiIsImsiLCJsIiwibSIsIm4iLCJvIiwicCIsInEiLCJyIiwicyIsInQiLCJ1IiwidiIsInciLCJ4IiwieSIsInoiLCJicmFjZWxlZnQiLCJiYXIiLCJicmFjZXJpZ2h0IiwiYXNjaWl0aWxkZSIsImV4Y2xhbWRvd24iLCJjZW50Iiwic3RlcmxpbmciLCJmcmFjdGlvbiIsInllbiIsImZsb3JpbiIsInNlY3Rpb24iLCJjdXJyZW5jeSIsInF1b3Rlc2luZ2xlIiwicXVvdGVkYmxsZWZ0IiwiZ3VpbGxlbW90bGVmdCIsImd1aWxzaW5nbGxlZnQiLCJndWlsc2luZ2xyaWdodCIsImZpIiwiZmwiLCJlbmRhc2giLCJkYWdnZXIiLCJkYWdnZXJkYmwiLCJwZXJpb2RjZW50ZXJlZCIsInBhcmFncmFwaCIsImJ1bGxldCIsInF1b3Rlc2luZ2xiYXNlIiwicXVvdGVkYmxiYXNlIiwicXVvdGVkYmxyaWdodCIsImd1aWxsZW1vdHJpZ2h0IiwiZWxsaXBzaXMiLCJwZXJ0aG91c2FuZCIsInF1ZXN0aW9uZG93biIsImdyYXZlIiwiYWN1dGUiLCJjaXJjdW1mbGV4IiwidGlsZGUiLCJtYWNyb24iLCJicmV2ZSIsImRvdGFjY2VudCIsImRpZXJlc2lzIiwicmluZyIsImNlZGlsbGEiLCJodW5nYXJ1bWxhdXQiLCJvZ29uZWsiLCJjYXJvbiIsImVtZGFzaCIsIkFFIiwib3JkZmVtaW5pbmUiLCJMc2xhc2giLCJPc2xhc2giLCJPRSIsIm9yZG1hc2N1bGluZSIsImFlIiwiZG90bGVzc2kiLCJsc2xhc2giLCJvc2xhc2giLCJvZSIsImdlcm1hbmRibHMiLCJvbmVzdXBlcmlvciIsImxvZ2ljYWxub3QiLCJtdSIsInRyYWRlbWFyayIsIkV0aCIsIm9uZWhhbGYiLCJwbHVzbWludXMiLCJUaG9ybiIsIm9uZXF1YXJ0ZXIiLCJkaXZpZGUiLCJicm9rZW5iYXIiLCJkZWdyZWUiLCJ0aG9ybiIsInRocmVlcXVhcnRlcnMiLCJ0d29zdXBlcmlvciIsInJlZ2lzdGVyZWQiLCJtaW51cyIsImV0aCIsIm11bHRpcGx5IiwidGhyZWVzdXBlcmlvciIsImNvcHlyaWdodCIsIkFhY3V0ZSIsIkFjaXJjdW1mbGV4IiwiQWRpZXJlc2lzIiwiQWdyYXZlIiwiQXJpbmciLCJBdGlsZGUiLCJDY2VkaWxsYSIsIkVhY3V0ZSIsIkVjaXJjdW1mbGV4IiwiRWRpZXJlc2lzIiwiRWdyYXZlIiwiSWFjdXRlIiwiSWNpcmN1bWZsZXgiLCJJZGllcmVzaXMiLCJJZ3JhdmUiLCJOdGlsZGUiLCJPYWN1dGUiLCJPY2lyY3VtZmxleCIsIk9kaWVyZXNpcyIsIk9ncmF2ZSIsIk90aWxkZSIsIlNjYXJvbiIsIlVhY3V0ZSIsIlVjaXJjdW1mbGV4IiwiVWRpZXJlc2lzIiwiVWdyYXZlIiwiWWFjdXRlIiwiWWRpZXJlc2lzIiwiWmNhcm9uIiwiYWFjdXRlIiwiYWNpcmN1bWZsZXgiLCJhZGllcmVzaXMiLCJhZ3JhdmUiLCJhcmluZyIsImF0aWxkZSIsImNjZWRpbGxhIiwiZWFjdXRlIiwiZWNpcmN1bWZsZXgiLCJlZGllcmVzaXMiLCJlZ3JhdmUiLCJpYWN1dGUiLCJpY2lyY3VtZmxleCIsImlkaWVyZXNpcyIsImlncmF2ZSIsIm50aWxkZSIsIm9hY3V0ZSIsIm9jaXJjdW1mbGV4Iiwib2RpZXJlc2lzIiwib2dyYXZlIiwib3RpbGRlIiwic2Nhcm9uIiwidWFjdXRlIiwidWNpcmN1bWZsZXgiLCJ1ZGllcmVzaXMiLCJ1Z3JhdmUiLCJ5YWN1dGUiLCJ5ZGllcmVzaXMiLCJ6Y2Fyb24iLCJleGNsYW1zbWFsbCIsIkh1bmdhcnVtbGF1dHNtYWxsIiwiZG9sbGFyb2xkc3R5bGUiLCJkb2xsYXJzdXBlcmlvciIsImFtcGVyc2FuZHNtYWxsIiwiQWN1dGVzbWFsbCIsInBhcmVubGVmdHN1cGVyaW9yIiwicGFyZW5yaWdodHN1cGVyaW9yIiwidHdvZG90ZW5sZWFkZXIiLCJvbmVkb3RlbmxlYWRlciIsInplcm9vbGRzdHlsZSIsIm9uZW9sZHN0eWxlIiwidHdvb2xkc3R5bGUiLCJ0aHJlZW9sZHN0eWxlIiwiZm91cm9sZHN0eWxlIiwiZml2ZW9sZHN0eWxlIiwic2l4b2xkc3R5bGUiLCJzZXZlbm9sZHN0eWxlIiwiZWlnaHRvbGRzdHlsZSIsIm5pbmVvbGRzdHlsZSIsImNvbW1hc3VwZXJpb3IiLCJ0aHJlZXF1YXJ0ZXJzZW1kYXNoIiwicGVyaW9kc3VwZXJpb3IiLCJxdWVzdGlvbnNtYWxsIiwiYXN1cGVyaW9yIiwiYnN1cGVyaW9yIiwiY2VudHN1cGVyaW9yIiwiZHN1cGVyaW9yIiwiZXN1cGVyaW9yIiwiaXN1cGVyaW9yIiwibHN1cGVyaW9yIiwibXN1cGVyaW9yIiwibnN1cGVyaW9yIiwib3N1cGVyaW9yIiwicnN1cGVyaW9yIiwic3N1cGVyaW9yIiwidHN1cGVyaW9yIiwiZmYiLCJmZmkiLCJmZmwiLCJwYXJlbmxlZnRpbmZlcmlvciIsInBhcmVucmlnaHRpbmZlcmlvciIsIkNpcmN1bWZsZXhzbWFsbCIsImh5cGhlbnN1cGVyaW9yIiwiR3JhdmVzbWFsbCIsIkFzbWFsbCIsIkJzbWFsbCIsIkNzbWFsbCIsIkRzbWFsbCIsIkVzbWFsbCIsIkZzbWFsbCIsIkdzbWFsbCIsIkhzbWFsbCIsIklzbWFsbCIsIkpzbWFsbCIsIktzbWFsbCIsIkxzbWFsbCIsIk1zbWFsbCIsIk5zbWFsbCIsIk9zbWFsbCIsIlBzbWFsbCIsIlFzbWFsbCIsIlJzbWFsbCIsIlNzbWFsbCIsIlRzbWFsbCIsIlVzbWFsbCIsIlZzbWFsbCIsIldzbWFsbCIsIlhzbWFsbCIsIllzbWFsbCIsIlpzbWFsbCIsImNvbG9ubW9uZXRhcnkiLCJvbmVmaXR0ZWQiLCJydXBpYWgiLCJUaWxkZXNtYWxsIiwiZXhjbGFtZG93bnNtYWxsIiwiY2VudG9sZHN0eWxlIiwiTHNsYXNoc21hbGwiLCJTY2Fyb25zbWFsbCIsIlpjYXJvbnNtYWxsIiwiRGllcmVzaXNzbWFsbCIsIkJyZXZlc21hbGwiLCJDYXJvbnNtYWxsIiwiRG90YWNjZW50c21hbGwiLCJNYWNyb25zbWFsbCIsImZpZ3VyZWRhc2giLCJoeXBoZW5pbmZlcmlvciIsIk9nb25la3NtYWxsIiwiUmluZ3NtYWxsIiwiQ2VkaWxsYXNtYWxsIiwicXVlc3Rpb25kb3duc21hbGwiLCJvbmVlaWdodGgiLCJ0aHJlZWVpZ2h0aHMiLCJmaXZlZWlnaHRocyIsInNldmVuZWlnaHRocyIsIm9uZXRoaXJkIiwidHdvdGhpcmRzIiwiemVyb3N1cGVyaW9yIiwiZm91cnN1cGVyaW9yIiwiZml2ZXN1cGVyaW9yIiwic2l4c3VwZXJpb3IiLCJzZXZlbnN1cGVyaW9yIiwiZWlnaHRzdXBlcmlvciIsIm5pbmVzdXBlcmlvciIsInplcm9pbmZlcmlvciIsIm9uZWluZmVyaW9yIiwidHdvaW5mZXJpb3IiLCJ0aHJlZWluZmVyaW9yIiwiZm91cmluZmVyaW9yIiwiZml2ZWluZmVyaW9yIiwic2l4aW5mZXJpb3IiLCJzZXZlbmluZmVyaW9yIiwiZWlnaHRpbmZlcmlvciIsIm5pbmVpbmZlcmlvciIsImNlbnRpbmZlcmlvciIsImRvbGxhcmluZmVyaW9yIiwicGVyaW9kaW5mZXJpb3IiLCJjb21tYWluZmVyaW9yIiwiQWdyYXZlc21hbGwiLCJBYWN1dGVzbWFsbCIsIkFjaXJjdW1mbGV4c21hbGwiLCJBdGlsZGVzbWFsbCIsIkFkaWVyZXNpc3NtYWxsIiwiQXJpbmdzbWFsbCIsIkFFc21hbGwiLCJDY2VkaWxsYXNtYWxsIiwiRWdyYXZlc21hbGwiLCJFYWN1dGVzbWFsbCIsIkVjaXJjdW1mbGV4c21hbGwiLCJFZGllcmVzaXNzbWFsbCIsIklncmF2ZXNtYWxsIiwiSWFjdXRlc21hbGwiLCJJY2lyY3VtZmxleHNtYWxsIiwiSWRpZXJlc2lzc21hbGwiLCJFdGhzbWFsbCIsIk50aWxkZXNtYWxsIiwiT2dyYXZlc21hbGwiLCJPYWN1dGVzbWFsbCIsIk9jaXJjdW1mbGV4c21hbGwiLCJPdGlsZGVzbWFsbCIsIk9kaWVyZXNpc3NtYWxsIiwiT0VzbWFsbCIsIk9zbGFzaHNtYWxsIiwiVWdyYXZlc21hbGwiLCJVYWN1dGVzbWFsbCIsIlVjaXJjdW1mbGV4c21hbGwiLCJVZGllcmVzaXNzbWFsbCIsIllhY3V0ZXNtYWxsIiwiVGhvcm5zbWFsbCIsIllkaWVyZXNpc3NtYWxsIiwiMDAxLjAwMCIsIjAwMS4wMDEiLCIwMDEuMDAyIiwiMDAxLjAwMyIsIkJsYWNrIiwiQm9sZCIsIkJvb2siLCJMaWdodCIsIk1lZGl1bSIsIlJlZ3VsYXIiLCJSb21hbiIsIlNlbWlib2xkIl0sRnI9MzkxLElyPVtudWxsLHtpZDoiaHN0ZW0iLG1pbjoyLHN0YWNrQ2xlYXJpbmc6ITAsc3RlbTohMH0sbnVsbCx7aWQ6InZzdGVtIixtaW46MixzdGFja0NsZWFyaW5nOiEwLHN0ZW06ITB9LHtpZDoidm1vdmV0byIsbWluOjEsc3RhY2tDbGVhcmluZzohMH0se2lkOiJybGluZXRvIixtaW46MixyZXNldFN0YWNrOiEwfSx7aWQ6ImhsaW5ldG8iLG1pbjoxLHJlc2V0U3RhY2s6ITB9LHtpZDoidmxpbmV0byIsbWluOjEscmVzZXRTdGFjazohMH0se2lkOiJycmN1cnZldG8iLG1pbjo2LHJlc2V0U3RhY2s6ITB9LG51bGwse2lkOiJjYWxsc3ViciIsbWluOjEsdW5kZWZTdGFjazohMH0se2lkOiJyZXR1cm4iLG1pbjowLHVuZGVmU3RhY2s6ITB9LG51bGwsbnVsbCx7aWQ6ImVuZGNoYXIiLG1pbjowLHN0YWNrQ2xlYXJpbmc6ITB9LG51bGwsbnVsbCxudWxsLHtpZDoiaHN0ZW1obSIsbWluOjIsc3RhY2tDbGVhcmluZzohMCxzdGVtOiEwfSx7aWQ6ImhpbnRtYXNrIixtaW46MCxzdGFja0NsZWFyaW5nOiEwfSx7aWQ6ImNudHJtYXNrIixtaW46MCxzdGFja0NsZWFyaW5nOiEwfSx7aWQ6InJtb3ZldG8iLG1pbjoyLHN0YWNrQ2xlYXJpbmc6ITB9LHtpZDoiaG1vdmV0byIsbWluOjEsc3RhY2tDbGVhcmluZzohMH0se2lkOiJ2c3RlbWhtIixtaW46MixzdGFja0NsZWFyaW5nOiEwLHN0ZW06ITB9LHtpZDoicmN1cnZlbGluZSIsbWluOjgscmVzZXRTdGFjazohMH0se2lkOiJybGluZWN1cnZlIixtaW46OCxyZXNldFN0YWNrOiEwfSx7aWQ6InZ2Y3VydmV0byIsbWluOjQscmVzZXRTdGFjazohMH0se2lkOiJoaGN1cnZldG8iLG1pbjo0LHJlc2V0U3RhY2s6ITB9LG51bGwse2lkOiJjYWxsZ3N1YnIiLG1pbjoxLHVuZGVmU3RhY2s6ITB9LHtpZDoidmhjdXJ2ZXRvIixtaW46NCxyZXNldFN0YWNrOiEwfSx7aWQ6Imh2Y3VydmV0byIsbWluOjQscmVzZXRTdGFjazohMH1dLFRyPVtudWxsLG51bGwsbnVsbCx7aWQ6ImFuZCIsbWluOjIsc3RhY2tEZWx0YTotMX0se2lkOiJvciIsbWluOjIsc3RhY2tEZWx0YTotMX0se2lkOiJub3QiLG1pbjoxLHN0YWNrRGVsdGE6MH0sbnVsbCxudWxsLG51bGwse2lkOiJhYnMiLG1pbjoxLHN0YWNrRGVsdGE6MH0se2lkOiJhZGQiLG1pbjoyLHN0YWNrRGVsdGE6LTEsc3RhY2tGbihlLHQpe2VbdC0yXT1lW3QtMl0rZVt0LTFdfX0se2lkOiJzdWIiLG1pbjoyLHN0YWNrRGVsdGE6LTEsc3RhY2tGbihlLHQpe2VbdC0yXT1lW3QtMl0tZVt0LTFdfX0se2lkOiJkaXYiLG1pbjoyLHN0YWNrRGVsdGE6LTEsc3RhY2tGbihlLHQpe2VbdC0yXT1lW3QtMl0vZVt0LTFdfX0sbnVsbCx7aWQ6Im5lZyIsbWluOjEsc3RhY2tEZWx0YTowLHN0YWNrRm4oZSx0KXtlW3QtMV09LWVbdC0xXX19LHtpZDoiZXEiLG1pbjoyLHN0YWNrRGVsdGE6LTF9LG51bGwsbnVsbCx7aWQ6ImRyb3AiLG1pbjoxLHN0YWNrRGVsdGE6LTF9LG51bGwse2lkOiJwdXQiLG1pbjoyLHN0YWNrRGVsdGE6LTJ9LHtpZDoiZ2V0IixtaW46MSxzdGFja0RlbHRhOjB9LHtpZDoiaWZlbHNlIixtaW46NCxzdGFja0RlbHRhOi0zfSx7aWQ6InJhbmRvbSIsbWluOjAsc3RhY2tEZWx0YToxfSx7aWQ6Im11bCIsbWluOjIsc3RhY2tEZWx0YTotMSxzdGFja0ZuKGUsdCl7ZVt0LTJdPWVbdC0yXSplW3QtMV19fSxudWxsLHtpZDoic3FydCIsbWluOjEsc3RhY2tEZWx0YTowfSx7aWQ6ImR1cCIsbWluOjEsc3RhY2tEZWx0YToxfSx7aWQ6ImV4Y2giLG1pbjoyLHN0YWNrRGVsdGE6MH0se2lkOiJpbmRleCIsbWluOjIsc3RhY2tEZWx0YTowfSx7aWQ6InJvbGwiLG1pbjozLHN0YWNrRGVsdGE6LTJ9LG51bGwsbnVsbCxudWxsLHtpZDoiaGZsZXgiLG1pbjo3LHJlc2V0U3RhY2s6ITB9LHtpZDoiZmxleCIsbWluOjEzLHJlc2V0U3RhY2s6ITB9LHtpZDoiaGZsZXgxIixtaW46OSxyZXNldFN0YWNrOiEwfSx7aWQ6ImZsZXgxIixtaW46MTEscmVzZXRTdGFjazohMH1dO2NsYXNzIENGRlBhcnNlcntjb25zdHJ1Y3RvcihlLHQsYSl7dGhpcy5ieXRlcz1lLmdldEJ5dGVzKCk7dGhpcy5wcm9wZXJ0aWVzPXQ7dGhpcy5zZWFjQW5hbHlzaXNFbmFibGVkPSEhYX1wYXJzZSgpe2NvbnN0IGU9dGhpcy5wcm9wZXJ0aWVzLHQ9bmV3IENGRjt0aGlzLmNmZj10O2NvbnN0IGE9dGhpcy5wYXJzZUhlYWRlcigpLHI9dGhpcy5wYXJzZUluZGV4KGEuZW5kUG9zKSxpPXRoaXMucGFyc2VJbmRleChyLmVuZFBvcyksbj10aGlzLnBhcnNlSW5kZXgoaS5lbmRQb3MpLHM9dGhpcy5wYXJzZUluZGV4KG4uZW5kUG9zKSxvPXRoaXMucGFyc2VEaWN0KGkub2JqLmdldCgwKSksYz10aGlzLmNyZWF0ZURpY3QoQ0ZGVG9wRGljdCxvLHQuc3RyaW5ncyk7dC5oZWFkZXI9YS5vYmo7dC5uYW1lcz10aGlzLnBhcnNlTmFtZUluZGV4KHIub2JqKTt0LnN0cmluZ3M9dGhpcy5wYXJzZVN0cmluZ0luZGV4KG4ub2JqKTt0LnRvcERpY3Q9Yzt0Lmdsb2JhbFN1YnJJbmRleD1zLm9iajt0aGlzLnBhcnNlUHJpdmF0ZURpY3QodC50b3BEaWN0KTt0LmlzQ0lERm9udD1jLmhhc05hbWUoIlJPUyIpO2NvbnN0IGw9Yy5nZXRCeU5hbWUoIkNoYXJTdHJpbmdzIiksaD10aGlzLnBhcnNlSW5kZXgobCkub2JqLHU9Yy5nZXRCeU5hbWUoIkZvbnRNYXRyaXgiKTt1JiYoZS5mb250TWF0cml4PXUpO2NvbnN0IGQ9Yy5nZXRCeU5hbWUoIkZvbnRCQm94Iik7aWYoZCl7ZS5hc2NlbnQ9TWF0aC5tYXgoZFszXSxkWzFdKTtlLmRlc2NlbnQ9TWF0aC5taW4oZFsxXSxkWzNdKTtlLmFzY2VudFNjYWxlZD0hMH1sZXQgZixnO2lmKHQuaXNDSURGb250KXtjb25zdCBlPXRoaXMucGFyc2VJbmRleChjLmdldEJ5TmFtZSgiRkRBcnJheSIpKS5vYmo7Zm9yKGxldCBhPTAscj1lLmNvdW50O2E8cjsrK2Epe2NvbnN0IHI9ZS5nZXQoYSksaT10aGlzLmNyZWF0ZURpY3QoQ0ZGVG9wRGljdCx0aGlzLnBhcnNlRGljdChyKSx0LnN0cmluZ3MpO3RoaXMucGFyc2VQcml2YXRlRGljdChpKTt0LmZkQXJyYXkucHVzaChpKX1nPW51bGw7Zj10aGlzLnBhcnNlQ2hhcnNldHMoYy5nZXRCeU5hbWUoImNoYXJzZXQiKSxoLmNvdW50LHQuc3RyaW5ncywhMCk7dC5mZFNlbGVjdD10aGlzLnBhcnNlRkRTZWxlY3QoYy5nZXRCeU5hbWUoIkZEU2VsZWN0IiksaC5jb3VudCl9ZWxzZXtmPXRoaXMucGFyc2VDaGFyc2V0cyhjLmdldEJ5TmFtZSgiY2hhcnNldCIpLGguY291bnQsdC5zdHJpbmdzLCExKTtnPXRoaXMucGFyc2VFbmNvZGluZyhjLmdldEJ5TmFtZSgiRW5jb2RpbmciKSxlLHQuc3RyaW5ncyxmLmNoYXJzZXQpfXQuY2hhcnNldD1mO3QuZW5jb2Rpbmc9Zztjb25zdCBwPXRoaXMucGFyc2VDaGFyU3RyaW5ncyh7Y2hhclN0cmluZ3M6aCxsb2NhbFN1YnJJbmRleDpjLnByaXZhdGVEaWN0LnN1YnJzSW5kZXgsZ2xvYmFsU3VickluZGV4OnMub2JqLGZkU2VsZWN0OnQuZmRTZWxlY3QsZmRBcnJheTp0LmZkQXJyYXkscHJpdmF0ZURpY3Q6Yy5wcml2YXRlRGljdH0pO3QuY2hhclN0cmluZ3M9cC5jaGFyU3RyaW5nczt0LnNlYWNzPXAuc2VhY3M7dC53aWR0aHM9cC53aWR0aHM7cmV0dXJuIHR9cGFyc2VIZWFkZXIoKXtsZXQgZT10aGlzLmJ5dGVzO2NvbnN0IHQ9ZS5sZW5ndGg7bGV0IGE9MDtmb3IoO2E8dCYmMSE9PWVbYV07KSsrYTtpZihhPj10KXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCBDRkYgaGVhZGVyIik7aWYoMCE9PWEpe2luZm8oImNmZiBkYXRhIGlzIHNoaWZ0ZWQiKTtlPWUuc3ViYXJyYXkoYSk7dGhpcy5ieXRlcz1lfWNvbnN0IHI9ZVswXSxpPWVbMV0sbj1lWzJdLHM9ZVszXTtyZXR1cm57b2JqOm5ldyBDRkZIZWFkZXIocixpLG4scyksZW5kUG9zOm59fXBhcnNlRGljdChlKXtsZXQgdD0wO2Z1bmN0aW9uIHBhcnNlT3BlcmFuZCgpe2xldCBhPWVbdCsrXTtpZigzMD09PWEpcmV0dXJuIGZ1bmN0aW9uIHBhcnNlRmxvYXRPcGVyYW5kKCl7bGV0IGE9IiI7Y29uc3Qgcj0xNSxpPVsiMCIsIjEiLCIyIiwiMyIsIjQiLCI1IiwiNiIsIjciLCI4IiwiOSIsIi4iLCJFIiwiRS0iLG51bGwsIi0iXSxuPWUubGVuZ3RoO2Zvcig7dDxuOyl7Y29uc3Qgbj1lW3QrK10scz1uPj40LG89MTUmbjtpZihzPT09cilicmVhazthKz1pW3NdO2lmKG89PT1yKWJyZWFrO2ErPWlbb119cmV0dXJuIHBhcnNlRmxvYXQoYSl9KCk7aWYoMjg9PT1hKXthPXJlYWRJbnQxNihlLHQpO3QrPTI7cmV0dXJuIGF9aWYoMjk9PT1hKXthPWVbdCsrXTthPWE8PDh8ZVt0KytdO2E9YTw8OHxlW3QrK107YT1hPDw4fGVbdCsrXTtyZXR1cm4gYX1pZihhPj0zMiYmYTw9MjQ2KXJldHVybiBhLTEzOTtpZihhPj0yNDcmJmE8PTI1MClyZXR1cm4gMjU2KihhLTI0NykrZVt0KytdKzEwODtpZihhPj0yNTEmJmE8PTI1NClyZXR1cm4tMjU2KihhLTI1MSktZVt0KytdLTEwODt3YXJuKCdDRkZQYXJzZXJfcGFyc2VEaWN0OiAiJythKyciIGlzIGEgcmVzZXJ2ZWQgY29tbWFuZC4nKTtyZXR1cm4gTmFOfWxldCBhPVtdO2NvbnN0IHI9W107dD0wO2NvbnN0IGk9ZS5sZW5ndGg7Zm9yKDt0PGk7KXtsZXQgaT1lW3RdO2lmKGk8PTIxKXsxMj09PWkmJihpPWk8PDh8ZVsrK3RdKTtyLnB1c2goW2ksYV0pO2E9W107Kyt0fWVsc2UgYS5wdXNoKHBhcnNlT3BlcmFuZCgpKX1yZXR1cm4gcn1wYXJzZUluZGV4KGUpe2NvbnN0IHQ9bmV3IENGRkluZGV4LGE9dGhpcy5ieXRlcyxyPWFbZSsrXTw8OHxhW2UrK10saT1bXTtsZXQgbixzLG89ZTtpZigwIT09cil7Y29uc3QgdD1hW2UrK10sYz1lKyhyKzEpKnQtMTtmb3Iobj0wLHM9cisxO248czsrK24pe2xldCByPTA7Zm9yKGxldCBpPTA7aTx0OysraSl7cjw8PTg7cis9YVtlKytdfWkucHVzaChjK3IpfW89aVtyXX1mb3Iobj0wLHM9aS5sZW5ndGgtMTtuPHM7KytuKXtjb25zdCBlPWlbbl0scj1pW24rMV07dC5hZGQoYS5zdWJhcnJheShlLHIpKX1yZXR1cm57b2JqOnQsZW5kUG9zOm99fXBhcnNlTmFtZUluZGV4KGUpe2NvbnN0IHQ9W107Zm9yKGxldCBhPTAscj1lLmNvdW50O2E8cjsrK2Epe2NvbnN0IHI9ZS5nZXQoYSk7dC5wdXNoKGJ5dGVzVG9TdHJpbmcocikpfXJldHVybiB0fXBhcnNlU3RyaW5nSW5kZXgoZSl7Y29uc3QgdD1uZXcgQ0ZGU3RyaW5ncztmb3IobGV0IGE9MCxyPWUuY291bnQ7YTxyOysrYSl7Y29uc3Qgcj1lLmdldChhKTt0LmFkZChieXRlc1RvU3RyaW5nKHIpKX1yZXR1cm4gdH1jcmVhdGVEaWN0KGUsdCxhKXtjb25zdCByPW5ldyBlKGEpO2Zvcihjb25zdFtlLGFdb2YgdClyLnNldEJ5S2V5KGUsYSk7cmV0dXJuIHJ9cGFyc2VDaGFyU3RyaW5nKGUsdCxhLHIpe2lmKCF0fHxlLmNhbGxEZXB0aD4xMClyZXR1cm4hMTtsZXQgaT1lLnN0YWNrU2l6ZTtjb25zdCBuPWUuc3RhY2s7bGV0IHM9dC5sZW5ndGg7Zm9yKGxldCBvPTA7bzxzOyl7Y29uc3QgYz10W28rK107bGV0IGw9bnVsbDtpZigxMj09PWMpe2NvbnN0IGU9dFtvKytdO2lmKDA9PT1lKXt0W28tMl09MTM5O3Rbby0xXT0yMjtpPTB9ZWxzZSBsPVRyW2VdfWVsc2UgaWYoMjg9PT1jKXtuW2ldPXJlYWRJbnQxNih0LG8pO28rPTI7aSsrfWVsc2UgaWYoMTQ9PT1jKXtpZihpPj00KXtpLT00O2lmKHRoaXMuc2VhY0FuYWx5c2lzRW5hYmxlZCl7ZS5zZWFjPW4uc2xpY2UoaSxpKzQpO3JldHVybiExfX1sPUlyW2NdfWVsc2UgaWYoYz49MzImJmM8PTI0Nil7bltpXT1jLTEzOTtpKyt9ZWxzZSBpZihjPj0yNDcmJmM8PTI1NCl7bltpXT1jPDI1MT8oYy0yNDc8PDgpK3Rbb10rMTA4Oi0oYy0yNTE8PDgpLXRbb10tMTA4O28rKztpKyt9ZWxzZSBpZigyNTU9PT1jKXtuW2ldPSh0W29dPDwyNHx0W28rMV08PDE2fHRbbysyXTw8OHx0W28rM10pLzY1NTM2O28rPTQ7aSsrfWVsc2UgaWYoMTk9PT1jfHwyMD09PWMpe2UuaGludHMrPWk+PjE7aWYoMD09PWUuaGludHMpe3QuY29weVdpdGhpbihvLTEsbywtMSk7by09MTtzLT0xO2NvbnRpbnVlfW8rPWUuaGludHMrNz4+MztpJT0yO2w9SXJbY119ZWxzZXtpZigxMD09PWN8fDI5PT09Yyl7Y29uc3QgdD0xMD09PWM/YTpyO2lmKCF0KXtsPUlyW2NdO3dhcm4oIk1pc3Npbmcgc3VicnNJbmRleCBmb3IgIitsLmlkKTtyZXR1cm4hMX1sZXQgcz0zMjc2ODt0LmNvdW50PDEyNDA/cz0xMDc6dC5jb3VudDwzMzkwMCYmKHM9MTEzMSk7Y29uc3Qgbz1uWy0taV0rcztpZihvPDB8fG8+PXQuY291bnR8fGlzTmFOKG8pKXtsPUlyW2NdO3dhcm4oIk91dCBvZiBib3VuZHMgc3VickluZGV4IGZvciAiK2wuaWQpO3JldHVybiExfWUuc3RhY2tTaXplPWk7ZS5jYWxsRGVwdGgrKztpZighdGhpcy5wYXJzZUNoYXJTdHJpbmcoZSx0LmdldChvKSxhLHIpKXJldHVybiExO2UuY2FsbERlcHRoLS07aT1lLnN0YWNrU2l6ZTtjb250aW51ZX1pZigxMT09PWMpe2Uuc3RhY2tTaXplPWk7cmV0dXJuITB9aWYoMD09PWMmJm89PT10Lmxlbmd0aCl7dFtvLTFdPTE0O2w9SXJbMTRdfWVsc2V7aWYoOT09PWMpe3QuY29weVdpdGhpbihvLTEsbywtMSk7by09MTtzLT0xO2NvbnRpbnVlfWw9SXJbY119fWlmKGwpe2lmKGwuc3RlbSl7ZS5oaW50cys9aT4+MTtpZigzPT09Y3x8MjM9PT1jKWUuaGFzVlN0ZW1zPSEwO2Vsc2UgaWYoZS5oYXNWU3RlbXMmJigxPT09Y3x8MTg9PT1jKSl7d2FybigiQ0ZGIHN0ZW0gaGludHMgYXJlIGluIHdyb25nIG9yZGVyIik7dFtvLTFdPTE9PT1jPzM6MjN9fWlmKCJtaW4iaW4gbCYmIWUudW5kZWZTdGFjayYmaTxsLm1pbil7d2FybigiTm90IGVub3VnaCBwYXJhbWV0ZXJzIGZvciAiK2wuaWQrIjsgYWN0dWFsOiAiK2krIiwgZXhwZWN0ZWQ6ICIrbC5taW4pO2lmKDA9PT1pKXt0W28tMV09MTQ7cmV0dXJuITB9cmV0dXJuITF9aWYoZS5maXJzdFN0YWNrQ2xlYXJpbmcmJmwuc3RhY2tDbGVhcmluZyl7ZS5maXJzdFN0YWNrQ2xlYXJpbmc9ITE7aS09bC5taW47aT49MiYmbC5zdGVtP2klPTI6aT4xJiZ3YXJuKCJGb3VuZCB0b28gbWFueSBwYXJhbWV0ZXJzIGZvciBzdGFjay1jbGVhcmluZyBjb21tYW5kIik7aT4wJiYoZS53aWR0aD1uW2ktMV0pfWlmKCJzdGFja0RlbHRhImluIGwpeyJzdGFja0ZuImluIGwmJmwuc3RhY2tGbihuLGkpO2krPWwuc3RhY2tEZWx0YX1lbHNlIGlmKGwuc3RhY2tDbGVhcmluZylpPTA7ZWxzZSBpZihsLnJlc2V0U3RhY2spe2k9MDtlLnVuZGVmU3RhY2s9ITF9ZWxzZSBpZihsLnVuZGVmU3RhY2spe2k9MDtlLnVuZGVmU3RhY2s9ITA7ZS5maXJzdFN0YWNrQ2xlYXJpbmc9ITF9fX1zPHQubGVuZ3RoJiZ0LmZpbGwoMTQscyk7ZS5zdGFja1NpemU9aTtyZXR1cm4hMH1wYXJzZUNoYXJTdHJpbmdzKHtjaGFyU3RyaW5nczplLGxvY2FsU3VickluZGV4OnQsZ2xvYmFsU3VickluZGV4OmEsZmRTZWxlY3Q6cixmZEFycmF5OmkscHJpdmF0ZURpY3Q6bn0pe2NvbnN0IHM9W10sbz1bXSxjPWUuY291bnQ7Zm9yKGxldCBsPTA7bDxjO2wrKyl7Y29uc3QgYz1lLmdldChsKSxoPXtjYWxsRGVwdGg6MCxzdGFja1NpemU6MCxzdGFjazpbXSx1bmRlZlN0YWNrOiEwLGhpbnRzOjAsZmlyc3RTdGFja0NsZWFyaW5nOiEwLHNlYWM6bnVsbCx3aWR0aDpudWxsLGhhc1ZTdGVtczohMX07bGV0IHU9ITAsZD1udWxsLGY9bjtpZihyJiZpLmxlbmd0aCl7Y29uc3QgZT1yLmdldEZESW5kZXgobCk7aWYoLTE9PT1lKXt3YXJuKCJHbHlwaCBpbmRleCBpcyBub3QgaW4gZmQgc2VsZWN0LiIpO3U9ITF9aWYoZT49aS5sZW5ndGgpe3dhcm4oIkludmFsaWQgZmQgaW5kZXggZm9yIGdseXBoIGluZGV4LiIpO3U9ITF9aWYodSl7Zj1pW2VdLnByaXZhdGVEaWN0O2Q9Zi5zdWJyc0luZGV4fX1lbHNlIHQmJihkPXQpO3UmJih1PXRoaXMucGFyc2VDaGFyU3RyaW5nKGgsYyxkLGEpKTtpZihudWxsIT09aC53aWR0aCl7Y29uc3QgZT1mLmdldEJ5TmFtZSgibm9taW5hbFdpZHRoWCIpO29bbF09ZStoLndpZHRofWVsc2V7Y29uc3QgZT1mLmdldEJ5TmFtZSgiZGVmYXVsdFdpZHRoWCIpO29bbF09ZX1udWxsIT09aC5zZWFjJiYoc1tsXT1oLnNlYWMpO3V8fGUuc2V0KGwsbmV3IFVpbnQ4QXJyYXkoWzE0XSkpfXJldHVybntjaGFyU3RyaW5nczplLHNlYWNzOnMsd2lkdGhzOm99fWVtcHR5UHJpdmF0ZURpY3Rpb25hcnkoZSl7Y29uc3QgdD10aGlzLmNyZWF0ZURpY3QoQ0ZGUHJpdmF0ZURpY3QsW10sZS5zdHJpbmdzKTtlLnNldEJ5S2V5KDE4LFswLDBdKTtlLnByaXZhdGVEaWN0PXR9cGFyc2VQcml2YXRlRGljdChlKXtpZighZS5oYXNOYW1lKCJQcml2YXRlIikpe3RoaXMuZW1wdHlQcml2YXRlRGljdGlvbmFyeShlKTtyZXR1cm59Y29uc3QgdD1lLmdldEJ5TmFtZSgiUHJpdmF0ZSIpO2lmKCFBcnJheS5pc0FycmF5KHQpfHwyIT09dC5sZW5ndGgpe2UucmVtb3ZlQnlOYW1lKCJQcml2YXRlIik7cmV0dXJufWNvbnN0IGE9dFswXSxyPXRbMV07aWYoMD09PWF8fHI+PXRoaXMuYnl0ZXMubGVuZ3RoKXt0aGlzLmVtcHR5UHJpdmF0ZURpY3Rpb25hcnkoZSk7cmV0dXJufWNvbnN0IGk9cithLG49dGhpcy5ieXRlcy5zdWJhcnJheShyLGkpLHM9dGhpcy5wYXJzZURpY3Qobiksbz10aGlzLmNyZWF0ZURpY3QoQ0ZGUHJpdmF0ZURpY3QscyxlLnN0cmluZ3MpO2UucHJpdmF0ZURpY3Q9bzswPT09by5nZXRCeU5hbWUoIkV4cGFuc2lvbkZhY3RvciIpJiZvLnNldEJ5TmFtZSgiRXhwYW5zaW9uRmFjdG9yIiwuMDYpO2lmKCFvLmdldEJ5TmFtZSgiU3VicnMiKSlyZXR1cm47Y29uc3QgYz1vLmdldEJ5TmFtZSgiU3VicnMiKSxsPXIrYztpZigwPT09Y3x8bD49dGhpcy5ieXRlcy5sZW5ndGgpe3RoaXMuZW1wdHlQcml2YXRlRGljdGlvbmFyeShlKTtyZXR1cm59Y29uc3QgaD10aGlzLnBhcnNlSW5kZXgobCk7by5zdWJyc0luZGV4PWgub2JqfXBhcnNlQ2hhcnNldHMoZSx0LGEscil7aWYoMD09PWUpcmV0dXJuIG5ldyBDRkZDaGFyc2V0KCEwLERyLklTT19BRE9CRSxBcik7aWYoMT09PWUpcmV0dXJuIG5ldyBDRkZDaGFyc2V0KCEwLERyLkVYUEVSVCxrcik7aWYoMj09PWUpcmV0dXJuIG5ldyBDRkZDaGFyc2V0KCEwLERyLkVYUEVSVF9TVUJTRVQsQ3IpO2NvbnN0IGk9dGhpcy5ieXRlcyxuPWUscz1pW2UrK10sbz1bcj8wOiIubm90ZGVmIl07bGV0IGMsbCxoO3QtPTE7c3dpdGNoKHMpe2Nhc2UgMDpmb3IoaD0wO2g8dDtoKyspe2M9aVtlKytdPDw4fGlbZSsrXTtvLnB1c2gocj9jOmEuZ2V0KGMpKX1icmVhaztjYXNlIDE6Zm9yKDtvLmxlbmd0aDw9dDspe2M9aVtlKytdPDw4fGlbZSsrXTtsPWlbZSsrXTtmb3IoaD0wO2g8PWw7aCsrKW8ucHVzaChyP2MrKzphLmdldChjKyspKX1icmVhaztjYXNlIDI6Zm9yKDtvLmxlbmd0aDw9dDspe2M9aVtlKytdPDw4fGlbZSsrXTtsPWlbZSsrXTw8OHxpW2UrK107Zm9yKGg9MDtoPD1sO2grKylvLnB1c2gocj9jKys6YS5nZXQoYysrKSl9YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlVua25vd24gY2hhcnNldCBmb3JtYXQiKX1jb25zdCB1PWUsZD1pLnN1YmFycmF5KG4sdSk7cmV0dXJuIG5ldyBDRkZDaGFyc2V0KCExLHMsbyxkKX1wYXJzZUVuY29kaW5nKGUsdCxhLHIpe2NvbnN0IGk9T2JqZWN0LmNyZWF0ZShudWxsKSxuPXRoaXMuYnl0ZXM7bGV0IHMsbyxjLGw9ITEsaD1udWxsO2lmKDA9PT1lfHwxPT09ZSl7bD0hMDtzPWU7Y29uc3QgdD1lP2FyOm5yO2ZvcihvPTAsYz1yLmxlbmd0aDtvPGM7bysrKXtjb25zdCBlPXQuaW5kZXhPZihyW29dKTstMSE9PWUmJihpW2VdPW8pfX1lbHNle2NvbnN0IHQ9ZTtzPW5bZSsrXTtzd2l0Y2goMTI3JnMpe2Nhc2UgMDpjb25zdCB0PW5bZSsrXTtmb3Iobz0xO288PXQ7bysrKWlbbltlKytdXT1vO2JyZWFrO2Nhc2UgMTpjb25zdCBhPW5bZSsrXTtsZXQgcj0xO2ZvcihvPTA7bzxhO28rKyl7Y29uc3QgdD1uW2UrK10sYT1uW2UrK107Zm9yKGxldCBlPXQ7ZTw9dCthO2UrKylpW2VdPXIrK31icmVhaztkZWZhdWx0OnRocm93IG5ldyBGb3JtYXRFcnJvcihgVW5rbm93biBlbmNvZGluZyBmb3JtYXQ6ICR7c30gaW4gQ0ZGYCl9Y29uc3QgYz1lO2lmKDEyOCZzKXtuW3RdJj0xMjc7IWZ1bmN0aW9uIHJlYWRTdXBwbGVtZW50KCl7Y29uc3QgdD1uW2UrK107Zm9yKG89MDtvPHQ7bysrKXtjb25zdCB0PW5bZSsrXSxzPShuW2UrK108PDgpKygyNTUmbltlKytdKTtpW3RdPXIuaW5kZXhPZihhLmdldChzKSl9fSgpfWg9bi5zdWJhcnJheSh0LGMpfXMmPTEyNztyZXR1cm4gbmV3IENGRkVuY29kaW5nKGwscyxpLGgpfXBhcnNlRkRTZWxlY3QoZSx0KXtjb25zdCBhPXRoaXMuYnl0ZXMscj1hW2UrK10saT1bXTtsZXQgbjtzd2l0Y2gocil7Y2FzZSAwOmZvcihuPTA7bjx0Oysrbil7Y29uc3QgdD1hW2UrK107aS5wdXNoKHQpfWJyZWFrO2Nhc2UgMzpjb25zdCBzPWFbZSsrXTw8OHxhW2UrK107Zm9yKG49MDtuPHM7KytuKXtsZXQgdD1hW2UrK108PDh8YVtlKytdO2lmKDA9PT1uJiYwIT09dCl7d2FybigicGFyc2VGRFNlbGVjdDogVGhlIGZpcnN0IHJhbmdlIG11c3QgaGF2ZSBhIGZpcnN0IEdJRCBvZiAwIC0tIHRyeWluZyB0byByZWNvdmVyLiIpO3Q9MH1jb25zdCByPWFbZSsrXSxzPWFbZV08PDh8YVtlKzFdO2ZvcihsZXQgZT10O2U8czsrK2UpaS5wdXNoKHIpfWUrPTI7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYHBhcnNlRkRTZWxlY3Q6IFVua25vd24gZm9ybWF0ICIke3J9Ii5gKX1pZihpLmxlbmd0aCE9PXQpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJwYXJzZUZEU2VsZWN0OiBJbnZhbGlkIGZvbnQgZGF0YS4iKTtyZXR1cm4gbmV3IENGRkZEU2VsZWN0KHIsaSl9fWNsYXNzIENGRntjb25zdHJ1Y3Rvcigpe3RoaXMuaGVhZGVyPW51bGw7dGhpcy5uYW1lcz1bXTt0aGlzLnRvcERpY3Q9bnVsbDt0aGlzLnN0cmluZ3M9bmV3IENGRlN0cmluZ3M7dGhpcy5nbG9iYWxTdWJySW5kZXg9bnVsbDt0aGlzLmVuY29kaW5nPW51bGw7dGhpcy5jaGFyc2V0PW51bGw7dGhpcy5jaGFyU3RyaW5ncz1udWxsO3RoaXMuZmRBcnJheT1bXTt0aGlzLmZkU2VsZWN0PW51bGw7dGhpcy5pc0NJREZvbnQ9ITF9ZHVwbGljYXRlRmlyc3RHbHlwaCgpe2lmKHRoaXMuY2hhclN0cmluZ3MuY291bnQ+PTY1NTM1KXt3YXJuKCJOb3QgZW5vdWdoIHNwYWNlIGluIGNoYXJzdHJpbmdzIHRvIGR1cGxpY2F0ZSBmaXJzdCBnbHlwaC4iKTtyZXR1cm59Y29uc3QgZT10aGlzLmNoYXJTdHJpbmdzLmdldCgwKTt0aGlzLmNoYXJTdHJpbmdzLmFkZChlKTt0aGlzLmlzQ0lERm9udCYmdGhpcy5mZFNlbGVjdC5mZFNlbGVjdC5wdXNoKHRoaXMuZmRTZWxlY3QuZmRTZWxlY3RbMF0pfWhhc0dseXBoSWQoZSl7aWYoZTwwfHxlPj10aGlzLmNoYXJTdHJpbmdzLmNvdW50KXJldHVybiExO3JldHVybiB0aGlzLmNoYXJTdHJpbmdzLmdldChlKS5sZW5ndGg+MH19Y2xhc3MgQ0ZGSGVhZGVye2NvbnN0cnVjdG9yKGUsdCxhLHIpe3RoaXMubWFqb3I9ZTt0aGlzLm1pbm9yPXQ7dGhpcy5oZHJTaXplPWE7dGhpcy5vZmZTaXplPXJ9fWNsYXNzIENGRlN0cmluZ3N7Y29uc3RydWN0b3IoKXt0aGlzLnN0cmluZ3M9W119Z2V0KGUpe3JldHVybiBlPj0wJiZlPD0zOTA/dnJbZV06ZS1Gcjw9dGhpcy5zdHJpbmdzLmxlbmd0aD90aGlzLnN0cmluZ3NbZS1Gcl06dnJbMF19Z2V0U0lEKGUpe2xldCB0PXZyLmluZGV4T2YoZSk7aWYoLTEhPT10KXJldHVybiB0O3Q9dGhpcy5zdHJpbmdzLmluZGV4T2YoZSk7cmV0dXJuLTEhPT10P3QrRnI6LTF9YWRkKGUpe3RoaXMuc3RyaW5ncy5wdXNoKGUpfWdldCBjb3VudCgpe3JldHVybiB0aGlzLnN0cmluZ3MubGVuZ3RofX1jbGFzcyBDRkZJbmRleHtjb25zdHJ1Y3Rvcigpe3RoaXMub2JqZWN0cz1bXTt0aGlzLmxlbmd0aD0wfWFkZChlKXt0aGlzLmxlbmd0aCs9ZS5sZW5ndGg7dGhpcy5vYmplY3RzLnB1c2goZSl9c2V0KGUsdCl7dGhpcy5sZW5ndGgrPXQubGVuZ3RoLXRoaXMub2JqZWN0c1tlXS5sZW5ndGg7dGhpcy5vYmplY3RzW2VdPXR9Z2V0KGUpe3JldHVybiB0aGlzLm9iamVjdHNbZV19Z2V0IGNvdW50KCl7cmV0dXJuIHRoaXMub2JqZWN0cy5sZW5ndGh9fWNsYXNzIENGRkRpY3R7Y29uc3RydWN0b3IoZSx0KXt0aGlzLmtleVRvTmFtZU1hcD1lLmtleVRvTmFtZU1hcDt0aGlzLm5hbWVUb0tleU1hcD1lLm5hbWVUb0tleU1hcDt0aGlzLmRlZmF1bHRzPWUuZGVmYXVsdHM7dGhpcy50eXBlcz1lLnR5cGVzO3RoaXMub3Bjb2Rlcz1lLm9wY29kZXM7dGhpcy5vcmRlcj1lLm9yZGVyO3RoaXMuc3RyaW5ncz10O3RoaXMudmFsdWVzPU9iamVjdC5jcmVhdGUobnVsbCl9c2V0QnlLZXkoZSx0KXtpZighKGUgaW4gdGhpcy5rZXlUb05hbWVNYXApKXJldHVybiExO2lmKDA9PT10Lmxlbmd0aClyZXR1cm4hMDtmb3IoY29uc3QgYSBvZiB0KWlmKGlzTmFOKGEpKXt3YXJuKGBJbnZhbGlkIENGRkRpY3QgdmFsdWU6ICIke3R9IiBmb3Iga2V5ICIke2V9Ii5gKTtyZXR1cm4hMH1jb25zdCBhPXRoaXMudHlwZXNbZV07Im51bSIhPT1hJiYic2lkIiE9PWEmJiJvZmZzZXQiIT09YXx8KHQ9dFswXSk7dGhpcy52YWx1ZXNbZV09dDtyZXR1cm4hMH1zZXRCeU5hbWUoZSx0KXtpZighKGUgaW4gdGhpcy5uYW1lVG9LZXlNYXApKXRocm93IG5ldyBGb3JtYXRFcnJvcihgSW52YWxpZCBkaWN0aW9uYXJ5IG5hbWUgIiR7ZX0iYCk7dGhpcy52YWx1ZXNbdGhpcy5uYW1lVG9LZXlNYXBbZV1dPXR9aGFzTmFtZShlKXtyZXR1cm4gdGhpcy5uYW1lVG9LZXlNYXBbZV1pbiB0aGlzLnZhbHVlc31nZXRCeU5hbWUoZSl7aWYoIShlIGluIHRoaXMubmFtZVRvS2V5TWFwKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYEludmFsaWQgZGljdGlvbmFyeSBuYW1lICR7ZX0iYCk7Y29uc3QgdD10aGlzLm5hbWVUb0tleU1hcFtlXTtyZXR1cm4gdCBpbiB0aGlzLnZhbHVlcz90aGlzLnZhbHVlc1t0XTp0aGlzLmRlZmF1bHRzW3RdfXJlbW92ZUJ5TmFtZShlKXtkZWxldGUgdGhpcy52YWx1ZXNbdGhpcy5uYW1lVG9LZXlNYXBbZV1dfXN0YXRpYyBjcmVhdGVUYWJsZXMoZSl7Y29uc3QgdD17a2V5VG9OYW1lTWFwOnt9LG5hbWVUb0tleU1hcDp7fSxkZWZhdWx0czp7fSx0eXBlczp7fSxvcGNvZGVzOnt9LG9yZGVyOltdfTtmb3IoY29uc3QgYSBvZiBlKXtjb25zdCBlPUFycmF5LmlzQXJyYXkoYVswXSk/KGFbMF1bMF08PDgpK2FbMF1bMV06YVswXTt0LmtleVRvTmFtZU1hcFtlXT1hWzFdO3QubmFtZVRvS2V5TWFwW2FbMV1dPWU7dC50eXBlc1tlXT1hWzJdO3QuZGVmYXVsdHNbZV09YVszXTt0Lm9wY29kZXNbZV09QXJyYXkuaXNBcnJheShhWzBdKT9hWzBdOlthWzBdXTt0Lm9yZGVyLnB1c2goZSl9cmV0dXJuIHR9fWNvbnN0IE9yPVtbWzEyLDMwXSwiUk9TIixbInNpZCIsInNpZCIsIm51bSJdLG51bGxdLFtbMTIsMjBdLCJTeW50aGV0aWNCYXNlIiwibnVtIixudWxsXSxbMCwidmVyc2lvbiIsInNpZCIsbnVsbF0sWzEsIk5vdGljZSIsInNpZCIsbnVsbF0sW1sxMiwwXSwiQ29weXJpZ2h0Iiwic2lkIixudWxsXSxbMiwiRnVsbE5hbWUiLCJzaWQiLG51bGxdLFszLCJGYW1pbHlOYW1lIiwic2lkIixudWxsXSxbNCwiV2VpZ2h0Iiwic2lkIixudWxsXSxbWzEyLDFdLCJpc0ZpeGVkUGl0Y2giLCJudW0iLDBdLFtbMTIsMl0sIkl0YWxpY0FuZ2xlIiwibnVtIiwwXSxbWzEyLDNdLCJVbmRlcmxpbmVQb3NpdGlvbiIsIm51bSIsLTEwMF0sW1sxMiw0XSwiVW5kZXJsaW5lVGhpY2tuZXNzIiwibnVtIiw1MF0sW1sxMiw1XSwiUGFpbnRUeXBlIiwibnVtIiwwXSxbWzEyLDZdLCJDaGFyc3RyaW5nVHlwZSIsIm51bSIsMl0sW1sxMiw3XSwiRm9udE1hdHJpeCIsWyJudW0iLCJudW0iLCJudW0iLCJudW0iLCJudW0iLCJudW0iXSxbLjAwMSwwLDAsLjAwMSwwLDBdXSxbMTMsIlVuaXF1ZUlEIiwibnVtIixudWxsXSxbNSwiRm9udEJCb3giLFsibnVtIiwibnVtIiwibnVtIiwibnVtIl0sWzAsMCwwLDBdXSxbWzEyLDhdLCJTdHJva2VXaWR0aCIsIm51bSIsMF0sWzE0LCJYVUlEIiwiYXJyYXkiLG51bGxdLFsxNSwiY2hhcnNldCIsIm9mZnNldCIsMF0sWzE2LCJFbmNvZGluZyIsIm9mZnNldCIsMF0sWzE3LCJDaGFyU3RyaW5ncyIsIm9mZnNldCIsMF0sWzE4LCJQcml2YXRlIixbIm9mZnNldCIsIm9mZnNldCJdLG51bGxdLFtbMTIsMjFdLCJQb3N0U2NyaXB0Iiwic2lkIixudWxsXSxbWzEyLDIyXSwiQmFzZUZvbnROYW1lIiwic2lkIixudWxsXSxbWzEyLDIzXSwiQmFzZUZvbnRCbGVuZCIsImRlbHRhIixudWxsXSxbWzEyLDMxXSwiQ0lERm9udFZlcnNpb24iLCJudW0iLDBdLFtbMTIsMzJdLCJDSURGb250UmV2aXNpb24iLCJudW0iLDBdLFtbMTIsMzNdLCJDSURGb250VHlwZSIsIm51bSIsMF0sW1sxMiwzNF0sIkNJRENvdW50IiwibnVtIiw4NzIwXSxbWzEyLDM1XSwiVUlEQmFzZSIsIm51bSIsbnVsbF0sW1sxMiwzN10sIkZEU2VsZWN0Iiwib2Zmc2V0IixudWxsXSxbWzEyLDM2XSwiRkRBcnJheSIsIm9mZnNldCIsbnVsbF0sW1sxMiwzOF0sIkZvbnROYW1lIiwic2lkIixudWxsXV07Y2xhc3MgQ0ZGVG9wRGljdCBleHRlbmRzIENGRkRpY3R7c3RhdGljIGdldCB0YWJsZXMoKXtyZXR1cm4gc2hhZG93KHRoaXMsInRhYmxlcyIsdGhpcy5jcmVhdGVUYWJsZXMoT3IpKX1jb25zdHJ1Y3RvcihlKXtzdXBlcihDRkZUb3BEaWN0LnRhYmxlcyxlKTt0aGlzLnByaXZhdGVEaWN0PW51bGx9fWNvbnN0IE1yPVtbNiwiQmx1ZVZhbHVlcyIsImRlbHRhIixudWxsXSxbNywiT3RoZXJCbHVlcyIsImRlbHRhIixudWxsXSxbOCwiRmFtaWx5Qmx1ZXMiLCJkZWx0YSIsbnVsbF0sWzksIkZhbWlseU90aGVyQmx1ZXMiLCJkZWx0YSIsbnVsbF0sW1sxMiw5XSwiQmx1ZVNjYWxlIiwibnVtIiwuMDM5NjI1XSxbWzEyLDEwXSwiQmx1ZVNoaWZ0IiwibnVtIiw3XSxbWzEyLDExXSwiQmx1ZUZ1enoiLCJudW0iLDFdLFsxMCwiU3RkSFciLCJudW0iLG51bGxdLFsxMSwiU3RkVlciLCJudW0iLG51bGxdLFtbMTIsMTJdLCJTdGVtU25hcEgiLCJkZWx0YSIsbnVsbF0sW1sxMiwxM10sIlN0ZW1TbmFwViIsImRlbHRhIixudWxsXSxbWzEyLDE0XSwiRm9yY2VCb2xkIiwibnVtIiwwXSxbWzEyLDE3XSwiTGFuZ3VhZ2VHcm91cCIsIm51bSIsMF0sW1sxMiwxOF0sIkV4cGFuc2lvbkZhY3RvciIsIm51bSIsLjA2XSxbWzEyLDE5XSwiaW5pdGlhbFJhbmRvbVNlZWQiLCJudW0iLDBdLFsyMCwiZGVmYXVsdFdpZHRoWCIsIm51bSIsMF0sWzIxLCJub21pbmFsV2lkdGhYIiwibnVtIiwwXSxbMTksIlN1YnJzIiwib2Zmc2V0IixudWxsXV07Y2xhc3MgQ0ZGUHJpdmF0ZURpY3QgZXh0ZW5kcyBDRkZEaWN0e3N0YXRpYyBnZXQgdGFibGVzKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJ0YWJsZXMiLHRoaXMuY3JlYXRlVGFibGVzKE1yKSl9Y29uc3RydWN0b3IoZSl7c3VwZXIoQ0ZGUHJpdmF0ZURpY3QudGFibGVzLGUpO3RoaXMuc3VicnNJbmRleD1udWxsfX1jb25zdCBEcj17SVNPX0FET0JFOjAsRVhQRVJUOjEsRVhQRVJUX1NVQlNFVDoyfTtjbGFzcyBDRkZDaGFyc2V0e2NvbnN0cnVjdG9yKGUsdCxhLHIpe3RoaXMucHJlZGVmaW5lZD1lO3RoaXMuZm9ybWF0PXQ7dGhpcy5jaGFyc2V0PWE7dGhpcy5yYXc9cn19Y2xhc3MgQ0ZGRW5jb2Rpbmd7Y29uc3RydWN0b3IoZSx0LGEscil7dGhpcy5wcmVkZWZpbmVkPWU7dGhpcy5mb3JtYXQ9dDt0aGlzLmVuY29kaW5nPWE7dGhpcy5yYXc9cn19Y2xhc3MgQ0ZGRkRTZWxlY3R7Y29uc3RydWN0b3IoZSx0KXt0aGlzLmZvcm1hdD1lO3RoaXMuZmRTZWxlY3Q9dH1nZXRGREluZGV4KGUpe3JldHVybiBlPDB8fGU+PXRoaXMuZmRTZWxlY3QubGVuZ3RoPy0xOnRoaXMuZmRTZWxlY3RbZV19fWNsYXNzIENGRk9mZnNldFRyYWNrZXJ7Y29uc3RydWN0b3IoKXt0aGlzLm9mZnNldHM9T2JqZWN0LmNyZWF0ZShudWxsKX1pc1RyYWNraW5nKGUpe3JldHVybiBlIGluIHRoaXMub2Zmc2V0c310cmFjayhlLHQpe2lmKGUgaW4gdGhpcy5vZmZzZXRzKXRocm93IG5ldyBGb3JtYXRFcnJvcihgQWxyZWFkeSB0cmFja2luZyBsb2NhdGlvbiBvZiAke2V9YCk7dGhpcy5vZmZzZXRzW2VdPXR9b2Zmc2V0KGUpe2Zvcihjb25zdCB0IGluIHRoaXMub2Zmc2V0cyl0aGlzLm9mZnNldHNbdF0rPWV9c2V0RW50cnlMb2NhdGlvbihlLHQsYSl7aWYoIShlIGluIHRoaXMub2Zmc2V0cykpdGhyb3cgbmV3IEZvcm1hdEVycm9yKGBOb3QgdHJhY2tpbmcgbG9jYXRpb24gb2YgJHtlfWApO2NvbnN0IHI9YS5kYXRhLGk9dGhpcy5vZmZzZXRzW2VdO2ZvcihsZXQgZT0wLGE9dC5sZW5ndGg7ZTxhOysrZSl7Y29uc3QgYT01KmUraSxuPWErMSxzPWErMixvPWErMyxjPWErNDtpZigyOSE9PXJbYV18fDAhPT1yW25dfHwwIT09cltzXXx8MCE9PXJbb118fDAhPT1yW2NdKXRocm93IG5ldyBGb3JtYXRFcnJvcigid3JpdGluZyB0byBhbiBvZmZzZXQgdGhhdCBpcyBub3QgZW1wdHkiKTtjb25zdCBsPXRbZV07clthXT0yOTtyW25dPWw+PjI0JjI1NTtyW3NdPWw+PjE2JjI1NTtyW29dPWw+PjgmMjU1O3JbY109MjU1Jmx9fX1jbGFzcyBDRkZDb21waWxlcntjb25zdHJ1Y3RvcihlKXt0aGlzLmNmZj1lfWNvbXBpbGUoKXtjb25zdCBlPXRoaXMuY2ZmLHQ9e2RhdGE6W10sbGVuZ3RoOjAsYWRkKGUpe3RyeXt0aGlzLmRhdGEucHVzaCguLi5lKX1jYXRjaHt0aGlzLmRhdGE9dGhpcy5kYXRhLmNvbmNhdChlKX10aGlzLmxlbmd0aD10aGlzLmRhdGEubGVuZ3RofX0sYT10aGlzLmNvbXBpbGVIZWFkZXIoZS5oZWFkZXIpO3QuYWRkKGEpO2NvbnN0IHI9dGhpcy5jb21waWxlTmFtZUluZGV4KGUubmFtZXMpO3QuYWRkKHIpO2lmKGUuaXNDSURGb250JiZlLnRvcERpY3QuaGFzTmFtZSgiRm9udE1hdHJpeCIpKXtjb25zdCB0PWUudG9wRGljdC5nZXRCeU5hbWUoIkZvbnRNYXRyaXgiKTtlLnRvcERpY3QucmVtb3ZlQnlOYW1lKCJGb250TWF0cml4Iik7Zm9yKGNvbnN0IGEgb2YgZS5mZEFycmF5KXtsZXQgZT10LnNsaWNlKDApO2EuaGFzTmFtZSgiRm9udE1hdHJpeCIpJiYoZT1VdGlsLnRyYW5zZm9ybShlLGEuZ2V0QnlOYW1lKCJGb250TWF0cml4IikpKTthLnNldEJ5TmFtZSgiRm9udE1hdHJpeCIsZSl9fWNvbnN0IGk9ZS50b3BEaWN0LmdldEJ5TmFtZSgiWFVJRCIpO2k/Lmxlbmd0aD4xNiYmZS50b3BEaWN0LnJlbW92ZUJ5TmFtZSgiWFVJRCIpO2UudG9wRGljdC5zZXRCeU5hbWUoImNoYXJzZXQiLDApO2xldCBuPXRoaXMuY29tcGlsZVRvcERpY3RzKFtlLnRvcERpY3RdLHQubGVuZ3RoLGUuaXNDSURGb250KTt0LmFkZChuLm91dHB1dCk7Y29uc3Qgcz1uLnRyYWNrZXJzWzBdLG89dGhpcy5jb21waWxlU3RyaW5nSW5kZXgoZS5zdHJpbmdzLnN0cmluZ3MpO3QuYWRkKG8pO2NvbnN0IGM9dGhpcy5jb21waWxlSW5kZXgoZS5nbG9iYWxTdWJySW5kZXgpO3QuYWRkKGMpO2lmKGUuZW5jb2RpbmcmJmUudG9wRGljdC5oYXNOYW1lKCJFbmNvZGluZyIpKWlmKGUuZW5jb2RpbmcucHJlZGVmaW5lZClzLnNldEVudHJ5TG9jYXRpb24oIkVuY29kaW5nIixbZS5lbmNvZGluZy5mb3JtYXRdLHQpO2Vsc2V7Y29uc3QgYT10aGlzLmNvbXBpbGVFbmNvZGluZyhlLmVuY29kaW5nKTtzLnNldEVudHJ5TG9jYXRpb24oIkVuY29kaW5nIixbdC5sZW5ndGhdLHQpO3QuYWRkKGEpfWNvbnN0IGw9dGhpcy5jb21waWxlQ2hhcnNldChlLmNoYXJzZXQsZS5jaGFyU3RyaW5ncy5jb3VudCxlLnN0cmluZ3MsZS5pc0NJREZvbnQpO3Muc2V0RW50cnlMb2NhdGlvbigiY2hhcnNldCIsW3QubGVuZ3RoXSx0KTt0LmFkZChsKTtjb25zdCBoPXRoaXMuY29tcGlsZUNoYXJTdHJpbmdzKGUuY2hhclN0cmluZ3MpO3Muc2V0RW50cnlMb2NhdGlvbigiQ2hhclN0cmluZ3MiLFt0Lmxlbmd0aF0sdCk7dC5hZGQoaCk7aWYoZS5pc0NJREZvbnQpe3Muc2V0RW50cnlMb2NhdGlvbigiRkRTZWxlY3QiLFt0Lmxlbmd0aF0sdCk7Y29uc3QgYT10aGlzLmNvbXBpbGVGRFNlbGVjdChlLmZkU2VsZWN0KTt0LmFkZChhKTtuPXRoaXMuY29tcGlsZVRvcERpY3RzKGUuZmRBcnJheSx0Lmxlbmd0aCwhMCk7cy5zZXRFbnRyeUxvY2F0aW9uKCJGREFycmF5IixbdC5sZW5ndGhdLHQpO3QuYWRkKG4ub3V0cHV0KTtjb25zdCByPW4udHJhY2tlcnM7dGhpcy5jb21waWxlUHJpdmF0ZURpY3RzKGUuZmRBcnJheSxyLHQpfXRoaXMuY29tcGlsZVByaXZhdGVEaWN0cyhbZS50b3BEaWN0XSxbc10sdCk7dC5hZGQoWzBdKTtyZXR1cm4gdC5kYXRhfWVuY29kZU51bWJlcihlKXtyZXR1cm4gTnVtYmVyLmlzSW50ZWdlcihlKT90aGlzLmVuY29kZUludGVnZXIoZSk6dGhpcy5lbmNvZGVGbG9hdChlKX1zdGF0aWMgZ2V0IEVuY29kZUZsb2F0UmVnRXhwKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJFbmNvZGVGbG9hdFJlZ0V4cCIsL1wuKFxkKj8pKD86OXs1LDIwfXwwezUsMjB9KVxkezAsMn0oPzplKC4rKXwkKS8pfWVuY29kZUZsb2F0KGUpe2xldCB0PWUudG9TdHJpbmcoKTtjb25zdCBhPUNGRkNvbXBpbGVyLkVuY29kZUZsb2F0UmVnRXhwLmV4ZWModCk7aWYoYSl7Y29uc3Qgcj1wYXJzZUZsb2F0KCIxZSIrKChhWzJdPythWzJdOjApK2FbMV0ubGVuZ3RoKSk7dD0oTWF0aC5yb3VuZChlKnIpL3IpLnRvU3RyaW5nKCl9bGV0IHIsaSxuPSIiO2ZvcihyPTAsaT10Lmxlbmd0aDtyPGk7KytyKXtjb25zdCBlPXRbcl07bis9ImUiPT09ZT8iLSI9PT10Wysrcl0/ImMiOiJiIjoiLiI9PT1lPyJhIjoiLSI9PT1lPyJlIjplfW4rPTEmbi5sZW5ndGg/ImYiOiJmZiI7Y29uc3Qgcz1bMzBdO2ZvcihyPTAsaT1uLmxlbmd0aDtyPGk7cis9MilzLnB1c2gocGFyc2VJbnQobi5zdWJzdHJpbmcocixyKzIpLDE2KSk7cmV0dXJuIHN9ZW5jb2RlSW50ZWdlcihlKXtsZXQgdDt0PWU+PS0xMDcmJmU8PTEwNz9bZSsxMzldOmU+PTEwOCYmZTw9MTEzMT9bMjQ3KygoZS09MTA4KT4+OCksMjU1JmVdOmU+PS0xMTMxJiZlPD0tMTA4P1syNTErKChlPS1lLTEwOCk+PjgpLDI1NSZlXTplPj0tMzI3NjgmJmU8PTMyNzY3P1syOCxlPj44JjI1NSwyNTUmZV06WzI5LGU+PjI0JjI1NSxlPj4xNiYyNTUsZT4+OCYyNTUsMjU1JmVdO3JldHVybiB0fWNvbXBpbGVIZWFkZXIoZSl7cmV0dXJuW2UubWFqb3IsZS5taW5vciw0LGUub2ZmU2l6ZV19Y29tcGlsZU5hbWVJbmRleChlKXtjb25zdCB0PW5ldyBDRkZJbmRleDtmb3IoY29uc3QgYSBvZiBlKXtjb25zdCBlPU1hdGgubWluKGEubGVuZ3RoLDEyNyk7bGV0IHI9bmV3IEFycmF5KGUpO2ZvcihsZXQgdD0wO3Q8ZTt0Kyspe2xldCBlPWFbdF07KGU8IiEifHxlPiJ+Inx8IlsiPT09ZXx8Il0iPT09ZXx8IigiPT09ZXx8IikiPT09ZXx8InsiPT09ZXx8In0iPT09ZXx8IjwiPT09ZXx8Ij4iPT09ZXx8Ii8iPT09ZXx8IiUiPT09ZSkmJihlPSJfIik7clt0XT1lfXI9ci5qb2luKCIiKTsiIj09PXImJihyPSJCYWRfRm9udF9OYW1lIik7dC5hZGQoc3RyaW5nVG9CeXRlcyhyKSl9cmV0dXJuIHRoaXMuY29tcGlsZUluZGV4KHQpfWNvbXBpbGVUb3BEaWN0cyhlLHQsYSl7Y29uc3Qgcj1bXTtsZXQgaT1uZXcgQ0ZGSW5kZXg7Zm9yKGNvbnN0IG4gb2YgZSl7aWYoYSl7bi5yZW1vdmVCeU5hbWUoIkNJREZvbnRWZXJzaW9uIik7bi5yZW1vdmVCeU5hbWUoIkNJREZvbnRSZXZpc2lvbiIpO24ucmVtb3ZlQnlOYW1lKCJDSURGb250VHlwZSIpO24ucmVtb3ZlQnlOYW1lKCJDSURDb3VudCIpO24ucmVtb3ZlQnlOYW1lKCJVSURCYXNlIil9Y29uc3QgZT1uZXcgQ0ZGT2Zmc2V0VHJhY2tlcixzPXRoaXMuY29tcGlsZURpY3QobixlKTtyLnB1c2goZSk7aS5hZGQocyk7ZS5vZmZzZXQodCl9aT10aGlzLmNvbXBpbGVJbmRleChpLHIpO3JldHVybnt0cmFja2VyczpyLG91dHB1dDppfX1jb21waWxlUHJpdmF0ZURpY3RzKGUsdCxhKXtmb3IobGV0IHI9MCxpPWUubGVuZ3RoO3I8aTsrK3Ipe2NvbnN0IGk9ZVtyXSxuPWkucHJpdmF0ZURpY3Q7aWYoIW58fCFpLmhhc05hbWUoIlByaXZhdGUiKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlRoZXJlIG11c3QgYmUgYSBwcml2YXRlIGRpY3Rpb25hcnkuIik7Y29uc3Qgcz1uZXcgQ0ZGT2Zmc2V0VHJhY2tlcixvPXRoaXMuY29tcGlsZURpY3QobixzKTtsZXQgYz1hLmxlbmd0aDtzLm9mZnNldChjKTtvLmxlbmd0aHx8KGM9MCk7dFtyXS5zZXRFbnRyeUxvY2F0aW9uKCJQcml2YXRlIixbby5sZW5ndGgsY10sYSk7YS5hZGQobyk7aWYobi5zdWJyc0luZGV4JiZuLmhhc05hbWUoIlN1YnJzIikpe2NvbnN0IGU9dGhpcy5jb21waWxlSW5kZXgobi5zdWJyc0luZGV4KTtzLnNldEVudHJ5TG9jYXRpb24oIlN1YnJzIixbby5sZW5ndGhdLGEpO2EuYWRkKGUpfX19Y29tcGlsZURpY3QoZSx0KXtjb25zdCBhPVtdO2Zvcihjb25zdCByIG9mIGUub3JkZXIpe2lmKCEociBpbiBlLnZhbHVlcykpY29udGludWU7bGV0IGk9ZS52YWx1ZXNbcl0sbj1lLnR5cGVzW3JdO0FycmF5LmlzQXJyYXkobil8fChuPVtuXSk7QXJyYXkuaXNBcnJheShpKXx8KGk9W2ldKTtpZigwIT09aS5sZW5ndGgpe2ZvcihsZXQgcz0wLG89bi5sZW5ndGg7czxvOysrcyl7Y29uc3Qgbz1uW3NdLGM9aVtzXTtzd2l0Y2gobyl7Y2FzZSJudW0iOmNhc2Uic2lkIjphLnB1c2goLi4udGhpcy5lbmNvZGVOdW1iZXIoYykpO2JyZWFrO2Nhc2Uib2Zmc2V0Ijpjb25zdCBuPWUua2V5VG9OYW1lTWFwW3JdO3QuaXNUcmFja2luZyhuKXx8dC50cmFjayhuLGEubGVuZ3RoKTthLnB1c2goMjksMCwwLDAsMCk7YnJlYWs7Y2FzZSJhcnJheSI6Y2FzZSJkZWx0YSI6YS5wdXNoKC4uLnRoaXMuZW5jb2RlTnVtYmVyKGMpKTtmb3IobGV0IGU9MSx0PWkubGVuZ3RoO2U8dDsrK2UpYS5wdXNoKC4uLnRoaXMuZW5jb2RlTnVtYmVyKGlbZV0pKTticmVhaztkZWZhdWx0OnRocm93IG5ldyBGb3JtYXRFcnJvcihgVW5rbm93biBkYXRhIHR5cGUgb2YgJHtvfWApfX1hLnB1c2goLi4uZS5vcGNvZGVzW3JdKX19cmV0dXJuIGF9Y29tcGlsZVN0cmluZ0luZGV4KGUpe2NvbnN0IHQ9bmV3IENGRkluZGV4O2Zvcihjb25zdCBhIG9mIGUpdC5hZGQoc3RyaW5nVG9CeXRlcyhhKSk7cmV0dXJuIHRoaXMuY29tcGlsZUluZGV4KHQpfWNvbXBpbGVDaGFyU3RyaW5ncyhlKXtjb25zdCB0PW5ldyBDRkZJbmRleDtmb3IobGV0IGE9MDthPGUuY291bnQ7YSsrKXtjb25zdCByPWUuZ2V0KGEpOzAhPT1yLmxlbmd0aD90LmFkZChyKTp0LmFkZChuZXcgVWludDhBcnJheShbMTM5LDE0XSkpfXJldHVybiB0aGlzLmNvbXBpbGVJbmRleCh0KX1jb21waWxlQ2hhcnNldChlLHQsYSxyKXtsZXQgaTtjb25zdCBuPXQtMTtpZihyKXtjb25zdCBlPW4tMTtpPW5ldyBVaW50OEFycmF5KFsyLDAsMSxlPj44JjI1NSwyNTUmZV0pfWVsc2V7aT1uZXcgVWludDhBcnJheSgxKzIqbik7aVswXT0wO2xldCB0PTA7Y29uc3Qgcj1lLmNoYXJzZXQubGVuZ3RoO2xldCBzPSExO2ZvcihsZXQgbj0xO248aS5sZW5ndGg7bis9Mil7bGV0IG89MDtpZih0PHIpe2NvbnN0IHI9ZS5jaGFyc2V0W3QrK107bz1hLmdldFNJRChyKTtpZigtMT09PW8pe289MDtpZighcyl7cz0hMDt3YXJuKGBDb3VsZG4ndCBmaW5kICR7cn0gaW4gQ0ZGIHN0cmluZ3NgKX19fWlbbl09bz4+OCYyNTU7aVtuKzFdPTI1NSZvfX1yZXR1cm4gdGhpcy5jb21waWxlVHlwZWRBcnJheShpKX1jb21waWxlRW5jb2RpbmcoZSl7cmV0dXJuIHRoaXMuY29tcGlsZVR5cGVkQXJyYXkoZS5yYXcpfWNvbXBpbGVGRFNlbGVjdChlKXtjb25zdCB0PWUuZm9ybWF0O2xldCBhLHI7c3dpdGNoKHQpe2Nhc2UgMDphPW5ldyBVaW50OEFycmF5KDErZS5mZFNlbGVjdC5sZW5ndGgpO2FbMF09dDtmb3Iocj0wO3I8ZS5mZFNlbGVjdC5sZW5ndGg7cisrKWFbcisxXT1lLmZkU2VsZWN0W3JdO2JyZWFrO2Nhc2UgMzpjb25zdCBpPTA7bGV0IG49ZS5mZFNlbGVjdFswXTtjb25zdCBzPVt0LDAsMCxpPj44JjI1NSwyNTUmaSxuXTtmb3Iocj0xO3I8ZS5mZFNlbGVjdC5sZW5ndGg7cisrKXtjb25zdCB0PWUuZmRTZWxlY3Rbcl07aWYodCE9PW4pe3MucHVzaChyPj44JjI1NSwyNTUmcix0KTtuPXR9fWNvbnN0IG89KHMubGVuZ3RoLTMpLzM7c1sxXT1vPj44JjI1NTtzWzJdPTI1NSZvO3MucHVzaChyPj44JjI1NSwyNTUmcik7YT1uZXcgVWludDhBcnJheShzKX1yZXR1cm4gdGhpcy5jb21waWxlVHlwZWRBcnJheShhKX1jb21waWxlVHlwZWRBcnJheShlKXtyZXR1cm4gQXJyYXkuZnJvbShlKX1jb21waWxlSW5kZXgoZSx0PVtdKXtjb25zdCBhPWUub2JqZWN0cyxyPWEubGVuZ3RoO2lmKDA9PT1yKXJldHVyblswLDBdO2NvbnN0IGk9W3I+PjgmMjU1LDI1NSZyXTtsZXQgbixzLG89MTtmb3Iobj0wO248cjsrK24pbys9YVtuXS5sZW5ndGg7cz1vPDI1Nj8xOm88NjU1MzY/MjpvPDE2Nzc3MjE2PzM6NDtpLnB1c2gocyk7bGV0IGM9MTtmb3Iobj0wO248cisxO24rKyl7MT09PXM/aS5wdXNoKDI1NSZjKToyPT09cz9pLnB1c2goYz4+OCYyNTUsMjU1JmMpOjM9PT1zP2kucHVzaChjPj4xNiYyNTUsYz4+OCYyNTUsMjU1JmMpOmkucHVzaChjPj4+MjQmMjU1LGM+PjE2JjI1NSxjPj44JjI1NSwyNTUmYyk7YVtuXSYmKGMrPWFbbl0ubGVuZ3RoKX1mb3Iobj0wO248cjtuKyspe3Rbbl0mJnRbbl0ub2Zmc2V0KGkubGVuZ3RoKTtpLnB1c2goLi4uYVtuXSl9cmV0dXJuIGl9fWNvbnN0IFJyPWdldExvb2t1cFRhYmxlRmFjdG9yeSgoZnVuY3Rpb24oZSl7ZVsiVGltZXMtUm9tYW4iXT0iVGltZXMtUm9tYW4iO2UuSGVsdmV0aWNhPSJIZWx2ZXRpY2EiO2UuQ291cmllcj0iQ291cmllciI7ZS5TeW1ib2w9IlN5bWJvbCI7ZVsiVGltZXMtQm9sZCJdPSJUaW1lcy1Cb2xkIjtlWyJIZWx2ZXRpY2EtQm9sZCJdPSJIZWx2ZXRpY2EtQm9sZCI7ZVsiQ291cmllci1Cb2xkIl09IkNvdXJpZXItQm9sZCI7ZS5aYXBmRGluZ2JhdHM9IlphcGZEaW5nYmF0cyI7ZVsiVGltZXMtSXRhbGljIl09IlRpbWVzLUl0YWxpYyI7ZVsiSGVsdmV0aWNhLU9ibGlxdWUiXT0iSGVsdmV0aWNhLU9ibGlxdWUiO2VbIkNvdXJpZXItT2JsaXF1ZSJdPSJDb3VyaWVyLU9ibGlxdWUiO2VbIlRpbWVzLUJvbGRJdGFsaWMiXT0iVGltZXMtQm9sZEl0YWxpYyI7ZVsiSGVsdmV0aWNhLUJvbGRPYmxpcXVlIl09IkhlbHZldGljYS1Cb2xkT2JsaXF1ZSI7ZVsiQ291cmllci1Cb2xkT2JsaXF1ZSJdPSJDb3VyaWVyLUJvbGRPYmxpcXVlIjtlLkFyaWFsTmFycm93PSJIZWx2ZXRpY2EiO2VbIkFyaWFsTmFycm93LUJvbGQiXT0iSGVsdmV0aWNhLUJvbGQiO2VbIkFyaWFsTmFycm93LUJvbGRJdGFsaWMiXT0iSGVsdmV0aWNhLUJvbGRPYmxpcXVlIjtlWyJBcmlhbE5hcnJvdy1JdGFsaWMiXT0iSGVsdmV0aWNhLU9ibGlxdWUiO2UuQXJpYWxCbGFjaz0iSGVsdmV0aWNhIjtlWyJBcmlhbEJsYWNrLUJvbGQiXT0iSGVsdmV0aWNhLUJvbGQiO2VbIkFyaWFsQmxhY2stQm9sZEl0YWxpYyJdPSJIZWx2ZXRpY2EtQm9sZE9ibGlxdWUiO2VbIkFyaWFsQmxhY2stSXRhbGljIl09IkhlbHZldGljYS1PYmxpcXVlIjtlWyJBcmlhbC1CbGFjayJdPSJIZWx2ZXRpY2EiO2VbIkFyaWFsLUJsYWNrLUJvbGQiXT0iSGVsdmV0aWNhLUJvbGQiO2VbIkFyaWFsLUJsYWNrLUJvbGRJdGFsaWMiXT0iSGVsdmV0aWNhLUJvbGRPYmxpcXVlIjtlWyJBcmlhbC1CbGFjay1JdGFsaWMiXT0iSGVsdmV0aWNhLU9ibGlxdWUiO2UuQXJpYWw9IkhlbHZldGljYSI7ZVsiQXJpYWwtQm9sZCJdPSJIZWx2ZXRpY2EtQm9sZCI7ZVsiQXJpYWwtQm9sZEl0YWxpYyJdPSJIZWx2ZXRpY2EtQm9sZE9ibGlxdWUiO2VbIkFyaWFsLUl0YWxpYyJdPSJIZWx2ZXRpY2EtT2JsaXF1ZSI7ZS5BcmlhbE1UPSJIZWx2ZXRpY2EiO2VbIkFyaWFsLUJvbGRJdGFsaWNNVCJdPSJIZWx2ZXRpY2EtQm9sZE9ibGlxdWUiO2VbIkFyaWFsLUJvbGRNVCJdPSJIZWx2ZXRpY2EtQm9sZCI7ZVsiQXJpYWwtSXRhbGljTVQiXT0iSGVsdmV0aWNhLU9ibGlxdWUiO2VbIkFyaWFsLUJvbGRJdGFsaWNNVC1Cb2xkSXRhbGljIl09IkhlbHZldGljYS1Cb2xkT2JsaXF1ZSI7ZVsiQXJpYWwtQm9sZE1ULUJvbGQiXT0iSGVsdmV0aWNhLUJvbGQiO2VbIkFyaWFsLUl0YWxpY01ULUl0YWxpYyJdPSJIZWx2ZXRpY2EtT2JsaXF1ZSI7ZS5BcmlhbFVuaWNvZGVNUz0iSGVsdmV0aWNhIjtlWyJBcmlhbFVuaWNvZGVNUy1Cb2xkIl09IkhlbHZldGljYS1Cb2xkIjtlWyJBcmlhbFVuaWNvZGVNUy1Cb2xkSXRhbGljIl09IkhlbHZldGljYS1Cb2xkT2JsaXF1ZSI7ZVsiQXJpYWxVbmljb2RlTVMtSXRhbGljIl09IkhlbHZldGljYS1PYmxpcXVlIjtlWyJDb3VyaWVyLUJvbGRJdGFsaWMiXT0iQ291cmllci1Cb2xkT2JsaXF1ZSI7ZVsiQ291cmllci1JdGFsaWMiXT0iQ291cmllci1PYmxpcXVlIjtlLkNvdXJpZXJOZXc9IkNvdXJpZXIiO2VbIkNvdXJpZXJOZXctQm9sZCJdPSJDb3VyaWVyLUJvbGQiO2VbIkNvdXJpZXJOZXctQm9sZEl0YWxpYyJdPSJDb3VyaWVyLUJvbGRPYmxpcXVlIjtlWyJDb3VyaWVyTmV3LUl0YWxpYyJdPSJDb3VyaWVyLU9ibGlxdWUiO2VbIkNvdXJpZXJOZXdQUy1Cb2xkSXRhbGljTVQiXT0iQ291cmllci1Cb2xkT2JsaXF1ZSI7ZVsiQ291cmllck5ld1BTLUJvbGRNVCJdPSJDb3VyaWVyLUJvbGQiO2VbIkNvdXJpZXJOZXdQUy1JdGFsaWNNVCJdPSJDb3VyaWVyLU9ibGlxdWUiO2UuQ291cmllck5ld1BTTVQ9IkNvdXJpZXIiO2VbIkhlbHZldGljYS1Cb2xkSXRhbGljIl09IkhlbHZldGljYS1Cb2xkT2JsaXF1ZSI7ZVsiSGVsdmV0aWNhLUl0YWxpYyJdPSJIZWx2ZXRpY2EtT2JsaXF1ZSI7ZVsiSGVsdmV0aWNhTFRTdGQtQm9sZCJdPSJIZWx2ZXRpY2EtQm9sZCI7ZVsiU3ltYm9sLUJvbGQiXT0iU3ltYm9sIjtlWyJTeW1ib2wtQm9sZEl0YWxpYyJdPSJTeW1ib2wiO2VbIlN5bWJvbC1JdGFsaWMiXT0iU3ltYm9sIjtlLlRpbWVzTmV3Um9tYW49IlRpbWVzLVJvbWFuIjtlWyJUaW1lc05ld1JvbWFuLUJvbGQiXT0iVGltZXMtQm9sZCI7ZVsiVGltZXNOZXdSb21hbi1Cb2xkSXRhbGljIl09IlRpbWVzLUJvbGRJdGFsaWMiO2VbIlRpbWVzTmV3Um9tYW4tSXRhbGljIl09IlRpbWVzLUl0YWxpYyI7ZS5UaW1lc05ld1JvbWFuUFM9IlRpbWVzLVJvbWFuIjtlWyJUaW1lc05ld1JvbWFuUFMtQm9sZCJdPSJUaW1lcy1Cb2xkIjtlWyJUaW1lc05ld1JvbWFuUFMtQm9sZEl0YWxpYyJdPSJUaW1lcy1Cb2xkSXRhbGljIjtlWyJUaW1lc05ld1JvbWFuUFMtQm9sZEl0YWxpY01UIl09IlRpbWVzLUJvbGRJdGFsaWMiO2VbIlRpbWVzTmV3Um9tYW5QUy1Cb2xkTVQiXT0iVGltZXMtQm9sZCI7ZVsiVGltZXNOZXdSb21hblBTLUl0YWxpYyJdPSJUaW1lcy1JdGFsaWMiO2VbIlRpbWVzTmV3Um9tYW5QUy1JdGFsaWNNVCJdPSJUaW1lcy1JdGFsaWMiO2UuVGltZXNOZXdSb21hblBTTVQ9IlRpbWVzLVJvbWFuIjtlWyJUaW1lc05ld1JvbWFuUFNNVC1Cb2xkIl09IlRpbWVzLUJvbGQiO2VbIlRpbWVzTmV3Um9tYW5QU01ULUJvbGRJdGFsaWMiXT0iVGltZXMtQm9sZEl0YWxpYyI7ZVsiVGltZXNOZXdSb21hblBTTVQtSXRhbGljIl09IlRpbWVzLUl0YWxpYyJ9KSksTnI9Z2V0TG9va3VwVGFibGVGYWN0b3J5KChmdW5jdGlvbihlKXtlLkNvdXJpZXI9IkZveGl0Rml4ZWQucGZiIjtlWyJDb3VyaWVyLUJvbGQiXT0iRm94aXRGaXhlZEJvbGQucGZiIjtlWyJDb3VyaWVyLUJvbGRPYmxpcXVlIl09IkZveGl0Rml4ZWRCb2xkSXRhbGljLnBmYiI7ZVsiQ291cmllci1PYmxpcXVlIl09IkZveGl0Rml4ZWRJdGFsaWMucGZiIjtlLkhlbHZldGljYT0iTGliZXJhdGlvblNhbnMtUmVndWxhci50dGYiO2VbIkhlbHZldGljYS1Cb2xkIl09IkxpYmVyYXRpb25TYW5zLUJvbGQudHRmIjtlWyJIZWx2ZXRpY2EtQm9sZE9ibGlxdWUiXT0iTGliZXJhdGlvblNhbnMtQm9sZEl0YWxpYy50dGYiO2VbIkhlbHZldGljYS1PYmxpcXVlIl09IkxpYmVyYXRpb25TYW5zLUl0YWxpYy50dGYiO2VbIlRpbWVzLVJvbWFuIl09IkZveGl0U2VyaWYucGZiIjtlWyJUaW1lcy1Cb2xkIl09IkZveGl0U2VyaWZCb2xkLnBmYiI7ZVsiVGltZXMtQm9sZEl0YWxpYyJdPSJGb3hpdFNlcmlmQm9sZEl0YWxpYy5wZmIiO2VbIlRpbWVzLUl0YWxpYyJdPSJGb3hpdFNlcmlmSXRhbGljLnBmYiI7ZS5TeW1ib2w9IkZveGl0U3ltYm9sLnBmYiI7ZS5aYXBmRGluZ2JhdHM9IkZveGl0RGluZ2JhdHMucGZiIjtlWyJMaWJlcmF0aW9uU2Fucy1SZWd1bGFyIl09IkxpYmVyYXRpb25TYW5zLVJlZ3VsYXIudHRmIjtlWyJMaWJlcmF0aW9uU2Fucy1Cb2xkIl09IkxpYmVyYXRpb25TYW5zLUJvbGQudHRmIjtlWyJMaWJlcmF0aW9uU2Fucy1JdGFsaWMiXT0iTGliZXJhdGlvblNhbnMtSXRhbGljLnR0ZiI7ZVsiTGliZXJhdGlvblNhbnMtQm9sZEl0YWxpYyJdPSJMaWJlcmF0aW9uU2Fucy1Cb2xkSXRhbGljLnR0ZiJ9KSksRXI9Z2V0TG9va3VwVGFibGVGYWN0b3J5KChmdW5jdGlvbihlKXtlLkNhbGlicmk9IkhlbHZldGljYSI7ZVsiQ2FsaWJyaS1Cb2xkIl09IkhlbHZldGljYS1Cb2xkIjtlWyJDYWxpYnJpLUJvbGRJdGFsaWMiXT0iSGVsdmV0aWNhLUJvbGRPYmxpcXVlIjtlWyJDYWxpYnJpLUl0YWxpYyJdPSJIZWx2ZXRpY2EtT2JsaXF1ZSI7ZS5DZW50dXJ5R290aGljPSJIZWx2ZXRpY2EiO2VbIkNlbnR1cnlHb3RoaWMtQm9sZCJdPSJIZWx2ZXRpY2EtQm9sZCI7ZVsiQ2VudHVyeUdvdGhpYy1Cb2xkSXRhbGljIl09IkhlbHZldGljYS1Cb2xkT2JsaXF1ZSI7ZVsiQ2VudHVyeUdvdGhpYy1JdGFsaWMiXT0iSGVsdmV0aWNhLU9ibGlxdWUiO2UuQ29taWNTYW5zTVM9IkNvbWljIFNhbnMgTVMiO2VbIkNvbWljU2Fuc01TLUJvbGQiXT0iQ29taWMgU2FucyBNUy1Cb2xkIjtlWyJDb21pY1NhbnNNUy1Cb2xkSXRhbGljIl09IkNvbWljIFNhbnMgTVMtQm9sZEl0YWxpYyI7ZVsiQ29taWNTYW5zTVMtSXRhbGljIl09IkNvbWljIFNhbnMgTVMtSXRhbGljIjtlLkdpbGxTYW5zTVQ9IkhlbHZldGljYSI7ZVsiR2lsbFNhbnNNVC1Cb2xkIl09IkhlbHZldGljYS1Cb2xkIjtlWyJHaWxsU2Fuc01ULUJvbGRJdGFsaWMiXT0iSGVsdmV0aWNhLUJvbGRPYmxpcXVlIjtlWyJHaWxsU2Fuc01ULUl0YWxpYyJdPSJIZWx2ZXRpY2EtT2JsaXF1ZSI7ZS5JbXBhY3Q9IkhlbHZldGljYSI7ZVsiSXRjU3ltYm9sLUJvbGQiXT0iSGVsdmV0aWNhLUJvbGQiO2VbIkl0Y1N5bWJvbC1Cb2xkSXRhbGljIl09IkhlbHZldGljYS1Cb2xkT2JsaXF1ZSI7ZVsiSXRjU3ltYm9sLUJvb2siXT0iSGVsdmV0aWNhIjtlWyJJdGNTeW1ib2wtQm9va0l0YWxpYyJdPSJIZWx2ZXRpY2EtT2JsaXF1ZSI7ZVsiSXRjU3ltYm9sLU1lZGl1bSJdPSJIZWx2ZXRpY2EiO2VbIkl0Y1N5bWJvbC1NZWRpdW1JdGFsaWMiXT0iSGVsdmV0aWNhLU9ibGlxdWUiO2UuTHVjaWRhQ29uc29sZT0iQ291cmllciI7ZVsiTHVjaWRhQ29uc29sZS1Cb2xkIl09IkNvdXJpZXItQm9sZCI7ZVsiTHVjaWRhQ29uc29sZS1Cb2xkSXRhbGljIl09IkNvdXJpZXItQm9sZE9ibGlxdWUiO2VbIkx1Y2lkYUNvbnNvbGUtSXRhbGljIl09IkNvdXJpZXItT2JsaXF1ZSI7ZVsiTHVjaWRhU2Fucy1EZW1pIl09IkhlbHZldGljYS1Cb2xkIjtlWyJNUy1Hb3RoaWMiXT0iTVMgR290aGljIjtlWyJNUy1Hb3RoaWMtQm9sZCJdPSJNUyBHb3RoaWMtQm9sZCI7ZVsiTVMtR290aGljLUJvbGRJdGFsaWMiXT0iTVMgR290aGljLUJvbGRJdGFsaWMiO2VbIk1TLUdvdGhpYy1JdGFsaWMiXT0iTVMgR290aGljLUl0YWxpYyI7ZVsiTVMtTWluY2hvIl09Ik1TIE1pbmNobyI7ZVsiTVMtTWluY2hvLUJvbGQiXT0iTVMgTWluY2hvLUJvbGQiO2VbIk1TLU1pbmNoby1Cb2xkSXRhbGljIl09Ik1TIE1pbmNoby1Cb2xkSXRhbGljIjtlWyJNUy1NaW5jaG8tSXRhbGljIl09Ik1TIE1pbmNoby1JdGFsaWMiO2VbIk1TLVBHb3RoaWMiXT0iTVMgUEdvdGhpYyI7ZVsiTVMtUEdvdGhpYy1Cb2xkIl09Ik1TIFBHb3RoaWMtQm9sZCI7ZVsiTVMtUEdvdGhpYy1Cb2xkSXRhbGljIl09Ik1TIFBHb3RoaWMtQm9sZEl0YWxpYyI7ZVsiTVMtUEdvdGhpYy1JdGFsaWMiXT0iTVMgUEdvdGhpYy1JdGFsaWMiO2VbIk1TLVBNaW5jaG8iXT0iTVMgUE1pbmNobyI7ZVsiTVMtUE1pbmNoby1Cb2xkIl09Ik1TIFBNaW5jaG8tQm9sZCI7ZVsiTVMtUE1pbmNoby1Cb2xkSXRhbGljIl09Ik1TIFBNaW5jaG8tQm9sZEl0YWxpYyI7ZVsiTVMtUE1pbmNoby1JdGFsaWMiXT0iTVMgUE1pbmNoby1JdGFsaWMiO2UuTnVwdGlhbFNjcmlwdD0iVGltZXMtSXRhbGljIjtlLlNlZ29lVUlTeW1ib2w9IkhlbHZldGljYSJ9KSksUHI9Z2V0TG9va3VwVGFibGVGYWN0b3J5KChmdW5jdGlvbihlKXtlWyJBZG9iZSBKZW5zb24iXT0hMDtlWyJBZG9iZSBUZXh0Il09ITA7ZS5BbGJlcnR1cz0hMDtlLkFsZHVzPSEwO2UuQWxleGFuZHJpYT0hMDtlLkFsZ2VyaWFuPSEwO2VbIkFtZXJpY2FuIFR5cGV3cml0ZXIiXT0hMDtlLkFudGlxdWE9ITA7ZS5BcGV4PSEwO2UuQXJubz0hMDtlLkFzdGVyPSEwO2UuQXVyb3JhPSEwO2UuQmFza2VydmlsbGU9ITA7ZS5CZWxsPSEwO2UuQmVtYm89ITA7ZVsiQmVtYm8gU2Nob29sYm9vayJdPSEwO2UuQmVuZ3VpYXQ9ITA7ZVsiQmVya2VsZXkgT2xkIFN0eWxlIl09ITA7ZVsiQmVybmhhcmQgTW9kZXJuIl09ITA7ZVsiQmVydGhvbGQgQ2l0eSJdPSEwO2UuQm9kb25pPSEwO2VbIkJhdWVyIEJvZG9uaSJdPSEwO2VbIkJvb2sgQW50aXF1YSJdPSEwO2UuQm9va21hbj0hMDtlWyJCb3JkZWF1eCBSb21hbiJdPSEwO2VbIkNhbGlmb3JuaWFuIEZCIl09ITA7ZS5DYWxpc3RvPSEwO2UuQ2FsdmVydD0hMDtlLkNhcGl0YWxzPSEwO2UuQ2FtYnJpYT0hMDtlLkNhcnRpZXI9ITA7ZS5DYXNsb249ITA7ZS5DYXR1bGw9ITA7ZS5DZW50YXVyPSEwO2VbIkNlbnR1cnkgT2xkIFN0eWxlIl09ITA7ZVsiQ2VudHVyeSBTY2hvb2xib29rIl09ITA7ZS5DaGFwYXJyYWw9ITA7ZVsiQ2hhcmlzIFNJTCJdPSEwO2UuQ2hlbHRlbmhhbT0hMDtlWyJDaG9sbGEgU2xhYiJdPSEwO2UuQ2xhcmVuZG9uPSEwO2UuQ2xlYXJmYWNlPSEwO2UuQ29jaGluPSEwO2UuQ29sb25uYT0hMDtlWyJDb21wdXRlciBNb2Rlcm4iXT0hMDtlWyJDb25jcmV0ZSBSb21hbiJdPSEwO2UuQ29uc3RhbnRpYT0hMDtlWyJDb29wZXIgQmxhY2siXT0hMDtlLkNvcm9uYT0hMDtlLkVjb3R5cGU9ITA7ZS5FZ3lwdGllbm5lPSEwO2UuRWxlcGhhbnQ9ITA7ZS5FeGNlbHNpb3I9ITA7ZS5GYWlyZmllbGQ9ITA7ZVsiRkYgU2NhbGEiXT0hMDtlLkZvbGthcmQ9ITA7ZS5Gb290bGlnaHQ9ITA7ZS5GcmVlU2VyaWY9ITA7ZVsiRnJpeiBRdWFkcmF0YSJdPSEwO2UuR2FyYW1vbmQ9ITA7ZS5HZW50aXVtPSEwO2UuR2VvcmdpYT0hMDtlLkdsb3VjZXN0ZXI9ITA7ZVsiR291ZHkgT2xkIFN0eWxlIl09ITA7ZVsiR291ZHkgU2Nob29sYm9vayJdPSEwO2VbIkdvdWR5IFBybyBGb250Il09ITA7ZS5HcmFuam9uPSEwO2VbIkd1YXJkaWFuIEVneXB0aWFuIl09ITA7ZS5IZWF0aGVyPSEwO2UuSGVyY3VsZXM9ITA7ZVsiSGlnaCBUb3dlciBUZXh0Il09ITA7ZS5IaXJvc2hpZ2U9ITA7ZVsiSG9lZmxlciBUZXh0Il09ITA7ZVsiSHVtYW5hIFNlcmlmIl09ITA7ZS5JbXByaW50PSEwO2VbIklvbmljIE5vLiA1Il09ITA7ZS5KYW5zb249ITA7ZS5Kb2FubmE9ITA7ZS5Lb3Jpbm5hPSEwO2UuTGV4aWNvbj0hMDtlLkxpYmVyYXRpb25TZXJpZj0hMDtlWyJMaWJlcmF0aW9uIFNlcmlmIl09ITA7ZVsiTGludXggTGliZXJ0aW5lIl09ITA7ZS5MaXRlcmF0dXJuYXlhPSEwO2UuTHVjaWRhPSEwO2VbIkx1Y2lkYSBCcmlnaHQiXT0hMDtlLk1lbGlvcj0hMDtlLk1lbXBoaXM9ITA7ZS5NaWxsZXI9ITA7ZS5NaW5pb249ITA7ZS5Nb2Rlcm49ITA7ZVsiTW9uYSBMaXNhIl09ITA7ZVsiTXJzIEVhdmVzIl09ITA7ZVsiTVMgU2VyaWYiXT0hMDtlWyJNdXNlbyBTbGFiIl09ITA7ZVsiTmV3IFlvcmsiXT0hMDtlWyJOaW1idXMgUm9tYW4iXT0hMDtlWyJOUFMgUmF3bGluc29uIFJvYWR3YXkiXT0hMDtlLk51cHRpYWxTY3JpcHQ9ITA7ZS5QYWxhdGlubz0hMDtlLlBlcnBldHVhPSEwO2UuUGxhbnRpbj0hMDtlWyJQbGFudGluIFNjaG9vbGJvb2siXT0hMDtlLlBsYXliaWxsPSEwO2VbIlBvb3IgUmljaGFyZCJdPSEwO2VbIlJhd2xpbnNvbiBSb2Fkd2F5Il09ITA7ZS5SZW5hdWx0PSEwO2UuUmVxdWllbT0hMDtlLlJvY2t3ZWxsPSEwO2UuUm9tYW49ITA7ZVsiUm90aXMgU2VyaWYiXT0hMDtlLlNhYm9uPSEwO2UuU2NhbGE9ITA7ZS5TZWFndWxsPSEwO2UuU2lzdGluYT0hMDtlLlNvdXZlbmlyPSEwO2UuU1RJWD0hMDtlWyJTdG9uZSBJbmZvcm1hbCJdPSEwO2VbIlN0b25lIFNlcmlmIl09ITA7ZS5TeWxmYWVuPSEwO2UuVGltZXM9ITA7ZS5UcmFqYW49ITA7ZVsiVHJpbml0w6kiXT0hMDtlWyJUcnVtcCBNZWRpYWV2YWwiXT0hMDtlLlV0b3BpYT0hMDtlWyJWYWxlIFR5cGUiXT0hMDtlWyJCaXRzdHJlYW0gVmVyYSJdPSEwO2VbIlZlcmEgU2VyaWYiXT0hMDtlLlZlcnNhaWxsZXM9ITA7ZS5XYW50ZWQ9ITA7ZS5XZWlzcz0hMDtlWyJXaWRlIExhdGluIl09ITA7ZS5XaW5kc29yPSEwO2UuWElUUz0hMH0pKSxMcj1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGZ1bmN0aW9uKGUpe2UuRGluZ2JhdHM9ITA7ZS5TeW1ib2w9ITA7ZS5aYXBmRGluZ2JhdHM9ITA7ZS5XaW5nZGluZ3M9ITA7ZVsiV2luZ2RpbmdzLUJvbGQiXT0hMDtlWyJXaW5nZGluZ3MtUmVndWxhciJdPSEwfSkpLGpyPWdldExvb2t1cFRhYmxlRmFjdG9yeSgoZnVuY3Rpb24oZSl7ZVsyXT0xMDtlWzNdPTMyO2VbNF09MzM7ZVs1XT0zNDtlWzZdPTM1O2VbN109MzY7ZVs4XT0zNztlWzldPTM4O2VbMTBdPTM5O2VbMTFdPTQwO2VbMTJdPTQxO2VbMTNdPTQyO2VbMTRdPTQzO2VbMTVdPTQ0O2VbMTZdPTQ1O2VbMTddPTQ2O2VbMThdPTQ3O2VbMTldPTQ4O2VbMjBdPTQ5O2VbMjFdPTUwO2VbMjJdPTUxO2VbMjNdPTUyO2VbMjRdPTUzO2VbMjVdPTU0O2VbMjZdPTU1O2VbMjddPTU2O2VbMjhdPTU3O2VbMjldPTU4O2VbMzBdPTg5NDtlWzMxXT02MDtlWzMyXT02MTtlWzMzXT02MjtlWzM0XT02MztlWzM1XT02NDtlWzM2XT02NTtlWzM3XT02NjtlWzM4XT02NztlWzM5XT02ODtlWzQwXT02OTtlWzQxXT03MDtlWzQyXT03MTtlWzQzXT03MjtlWzQ0XT03MztlWzQ1XT03NDtlWzQ2XT03NTtlWzQ3XT03NjtlWzQ4XT03NztlWzQ5XT03ODtlWzUwXT03OTtlWzUxXT04MDtlWzUyXT04MTtlWzUzXT04MjtlWzU0XT04MztlWzU1XT04NDtlWzU2XT04NTtlWzU3XT04NjtlWzU4XT04NztlWzU5XT04ODtlWzYwXT04OTtlWzYxXT05MDtlWzYyXT05MTtlWzYzXT05MjtlWzY0XT05MztlWzY1XT05NDtlWzY2XT05NTtlWzY3XT05NjtlWzY4XT05NztlWzY5XT05ODtlWzcwXT05OTtlWzcxXT0xMDA7ZVs3Ml09MTAxO2VbNzNdPTEwMjtlWzc0XT0xMDM7ZVs3NV09MTA0O2VbNzZdPTEwNTtlWzc3XT0xMDY7ZVs3OF09MTA3O2VbNzldPTEwODtlWzgwXT0xMDk7ZVs4MV09MTEwO2VbODJdPTExMTtlWzgzXT0xMTI7ZVs4NF09MTEzO2VbODVdPTExNDtlWzg2XT0xMTU7ZVs4N109MTE2O2VbODhdPTExNztlWzg5XT0xMTg7ZVs5MF09MTE5O2VbOTFdPTEyMDtlWzkyXT0xMjE7ZVs5M109MTIyO2VbOTRdPTEyMztlWzk1XT0xMjQ7ZVs5Nl09MTI1O2VbOTddPTEyNjtlWzk4XT0xOTY7ZVs5OV09MTk3O2VbMTAwXT0xOTk7ZVsxMDFdPTIwMTtlWzEwMl09MjA5O2VbMTAzXT0yMTQ7ZVsxMDRdPTIyMDtlWzEwNV09MjI1O2VbMTA2XT0yMjQ7ZVsxMDddPTIyNjtlWzEwOF09MjI4O2VbMTA5XT0yMjc7ZVsxMTBdPTIyOTtlWzExMV09MjMxO2VbMTEyXT0yMzM7ZVsxMTNdPTIzMjtlWzExNF09MjM0O2VbMTE1XT0yMzU7ZVsxMTZdPTIzNztlWzExN109MjM2O2VbMTE4XT0yMzg7ZVsxMTldPTIzOTtlWzEyMF09MjQxO2VbMTIxXT0yNDM7ZVsxMjJdPTI0MjtlWzEyM109MjQ0O2VbMTI0XT0yNDY7ZVsxMjVdPTI0NTtlWzEyNl09MjUwO2VbMTI3XT0yNDk7ZVsxMjhdPTI1MTtlWzEyOV09MjUyO2VbMTMwXT04MjI0O2VbMTMxXT0xNzY7ZVsxMzJdPTE2MjtlWzEzM109MTYzO2VbMTM0XT0xNjc7ZVsxMzVdPTgyMjY7ZVsxMzZdPTE4MjtlWzEzN109MjIzO2VbMTM4XT0xNzQ7ZVsxMzldPTE2OTtlWzE0MF09ODQ4MjtlWzE0MV09MTgwO2VbMTQyXT0xNjg7ZVsxNDNdPTg4MDA7ZVsxNDRdPTE5ODtlWzE0NV09MjE2O2VbMTQ2XT04NzM0O2VbMTQ3XT0xNzc7ZVsxNDhdPTg4MDQ7ZVsxNDldPTg4MDU7ZVsxNTBdPTE2NTtlWzE1MV09MTgxO2VbMTUyXT04NzA2O2VbMTUzXT04NzIxO2VbMTU0XT04NzE5O2VbMTU2XT04NzQ3O2VbMTU3XT0xNzA7ZVsxNThdPTE4NjtlWzE1OV09ODQ4NjtlWzE2MF09MjMwO2VbMTYxXT0yNDg7ZVsxNjJdPTE5MTtlWzE2M109MTYxO2VbMTY0XT0xNzI7ZVsxNjVdPTg3MzA7ZVsxNjZdPTQwMjtlWzE2N109ODc3NjtlWzE2OF09ODcxMDtlWzE2OV09MTcxO2VbMTcwXT0xODc7ZVsxNzFdPTgyMzA7ZVsxNzldPTgyMjA7ZVsxODBdPTgyMjE7ZVsxODFdPTgyMTY7ZVsxODJdPTgyMTc7ZVsyMDBdPTE5MztlWzIwM109MjA1O2VbMjA3XT0yMTE7ZVsyMTBdPTIxODtlWzIyM109NzExO2VbMjI0XT0zMjE7ZVsyMjVdPTMyMjtlWzIyNl09MzUyO2VbMjI3XT0zNTM7ZVsyMjhdPTM4MTtlWzIyOV09MzgyO2VbMjMzXT0yMjE7ZVsyMzRdPTI1MztlWzI1Ml09MjYzO2VbMjUzXT0yNjg7ZVsyNTRdPTI2OTtlWzI1OF09MjU4O2VbMjYwXT0yNjA7ZVsyNjFdPTI2MTtlWzI2NV09MjgwO2VbMjY2XT0yODE7ZVsyNjddPTI4MjtlWzI2OF09MjgzO2VbMjY5XT0zMTM7ZVsyNzVdPTMyMztlWzI3Nl09MzI0O2VbMjc4XT0zMjg7ZVsyODNdPTM0NDtlWzI4NF09MzQ1O2VbMjg1XT0zNDY7ZVsyODZdPTM0NztlWzI5Ml09MzY3O2VbMjk1XT0zNzc7ZVsyOTZdPTM3ODtlWzI5OF09MzgwO2VbMzA1XT05NjM7ZVszMDZdPTk2NDtlWzMwN109OTY2O2VbMzA4XT04MjE1O2VbMzA5XT04MjUyO2VbMzEwXT04MzE5O2VbMzExXT04MzU5O2VbMzEyXT04NTkyO2VbMzEzXT04NTkzO2VbMzM3XT05NTUyO2VbNDkzXT0xMDM5O2VbNDk0XT0xMDQwO2VbNTcwXT0xMDQwO2VbNTcxXT0xMDQxO2VbNTcyXT0xMDQyO2VbNTczXT0xMDQzO2VbNTc0XT0xMDQ0O2VbNTc1XT0xMDQ1O2VbNTc2XT0xMDQ2O2VbNTc3XT0xMDQ3O2VbNTc4XT0xMDQ4O2VbNTc5XT0xMDQ5O2VbNTgwXT0xMDUwO2VbNTgxXT0xMDUxO2VbNTgyXT0xMDUyO2VbNTgzXT0xMDUzO2VbNTg0XT0xMDU0O2VbNTg1XT0xMDU1O2VbNTg2XT0xMDU2O2VbNTg3XT0xMDU3O2VbNTg4XT0xMDU4O2VbNTg5XT0xMDU5O2VbNTkwXT0xMDYwO2VbNTkxXT0xMDYxO2VbNTkyXT0xMDYyO2VbNTkzXT0xMDYzO2VbNTk0XT0xMDY0O2VbNTk1XT0xMDY1O2VbNTk2XT0xMDY2O2VbNTk3XT0xMDY3O2VbNTk4XT0xMDY4O2VbNTk5XT0xMDY5O2VbNjAwXT0xMDcwO2VbNjcyXT0xNDg4O2VbNjczXT0xNDg5O2VbNjc0XT0xNDkwO2VbNjc1XT0xNDkxO2VbNjc2XT0xNDkyO2VbNjc3XT0xNDkzO2VbNjc4XT0xNDk0O2VbNjc5XT0xNDk1O2VbNjgwXT0xNDk2O2VbNjgxXT0xNDk3O2VbNjgyXT0xNDk4O2VbNjgzXT0xNDk5O2VbNjg0XT0xNTAwO2VbNjg1XT0xNTAxO2VbNjg2XT0xNTAyO2VbNjg3XT0xNTAzO2VbNjg4XT0xNTA0O2VbNjg5XT0xNTA1O2VbNjkwXT0xNTA2O2VbNjkxXT0xNTA3O2VbNjkyXT0xNTA4O2VbNjkzXT0xNTA5O2VbNjk0XT0xNTEwO2VbNjk1XT0xNTExO2VbNjk2XT0xNTEyO2VbNjk3XT0xNTEzO2VbNjk4XT0xNTE0O2VbNzA1XT0xNTI0O2VbNzA2XT04MzYyO2VbNzEwXT02NDI4ODtlWzcxMV09NjQyOTg7ZVs3NTldPTE2MTc7ZVs3NjFdPTE3NzY7ZVs3NjNdPTE3Nzg7ZVs3NzVdPTE2NTI7ZVs3NzddPTE3NjQ7ZVs3NzhdPTE3ODA7ZVs3NzldPTE3ODE7ZVs3ODBdPTE3ODI7ZVs3ODJdPTc3MTtlWzc4M109NjQ3MjY7ZVs3ODZdPTgzNjM7ZVs3ODhdPTg1MzI7ZVs3OTBdPTc2ODtlWzc5MV09NzY5O2VbNzkyXT03Njg7ZVs3OTVdPTgwMztlWzc5N109NjQzMzY7ZVs3OThdPTY0MzM3O2VbNzk5XT02NDM0MjtlWzgwMF09NjQzNDM7ZVs4MDFdPTY0MzQ0O2VbODAyXT02NDM0NTtlWzgwM109NjQzNjI7ZVs4MDRdPTY0MzYzO2VbODA1XT02NDM2NDtlWzI0MjRdPTc4MjE7ZVsyNDI1XT03ODIyO2VbMjQyNl09NzgyMztlWzI0MjddPTc4MjQ7ZVsyNDI4XT03ODI1O2VbMjQyOV09NzgyNjtlWzI0MzBdPTc4Mjc7ZVsyNDMzXT03NjgyO2VbMjY3OF09ODA0NTtlWzI2NzldPTgwNDY7ZVsyODMwXT0xNTUyO2VbMjgzOF09Njg2O2VbMjg0MF09NzUxO2VbMjg0Ml09NzUzO2VbMjg0M109NzU0O2VbMjg0NF09NzU1O2VbMjg0Nl09NzU3O2VbMjg1Nl09NzY3O2VbMjg1N109ODQ4O2VbMjg1OF09ODQ5O2VbMjg2Ml09ODUzO2VbMjg2M109ODU0O2VbMjg2NF09ODU1O2VbMjg2NV09ODYxO2VbMjg2Nl09ODYyO2VbMjkwNl09NzQ2MDtlWzI5MDhdPTc0NjI7ZVsyOTA5XT03NDYzO2VbMjkxMF09NzQ2NDtlWzI5MTJdPTc0NjY7ZVsyOTEzXT03NDY3O2VbMjkxNF09NzQ2ODtlWzI5MTZdPTc0NzA7ZVsyOTE3XT03NDcxO2VbMjkxOF09NzQ3MjtlWzI5MjBdPTc0NzQ7ZVsyOTIxXT03NDc1O2VbMjkyMl09NzQ3NjtlWzI5MjRdPTc0Nzg7ZVsyOTI1XT03NDc5O2VbMjkyNl09NzQ4MDtlWzI5MjhdPTc0ODI7ZVsyOTI5XT03NDgzO2VbMjkzMF09NzQ4NDtlWzI5MzJdPTc0ODY7ZVsyOTMzXT03NDg3O2VbMjkzNF09NzQ4ODtlWzI5MzZdPTc0OTA7ZVsyOTM3XT03NDkxO2VbMjkzOF09NzQ5MjtlWzI5NDBdPTc0OTQ7ZVsyOTQxXT03NDk1O2VbMjk0Ml09NzQ5NjtlWzI5NDRdPTc0OTg7ZVsyOTQ2XT03NTAwO2VbMjk0OF09NzUwMjtlWzI5NTBdPTc1MDQ7ZVsyOTUxXT03NTA1O2VbMjk1Ml09NzUwNjtlWzI5NTRdPTc1MDg7ZVsyOTU1XT03NTA5O2VbMjk1Nl09NzUxMDtlWzI5NThdPTc1MTI7ZVsyOTU5XT03NTEzO2VbMjk2MF09NzUxNDtlWzI5NjJdPTc1MTY7ZVsyOTYzXT03NTE3O2VbMjk2NF09NzUxODtlWzI5NjZdPTc1MjA7ZVsyOTY3XT03NTIxO2VbMjk2OF09NzUyMjtlWzI5NzBdPTc1MjQ7ZVsyOTcxXT03NTI1O2VbMjk3Ml09NzUyNjtlWzI5NzRdPTc1Mjg7ZVsyOTc1XT03NTI5O2VbMjk3Nl09NzUzMDtlWzI5NzhdPTE1Mzc7ZVsyOTc5XT0xNTM4O2VbMjk4MF09MTUzOTtlWzI5ODJdPTE1NDk7ZVsyOTgzXT0xNTUxO2VbMjk4NF09MTU1MjtlWzI5ODZdPTE1NTQ7ZVsyOTg3XT0xNTU1O2VbMjk4OF09MTU1NjtlWzI5OTBdPTE2MjM7ZVsyOTkxXT0xNjI0O2VbMjk5NV09MTc3NTtlWzI5OTldPTE3OTE7ZVszMDAyXT02NDI5MDtlWzMwMDNdPTY0MjkxO2VbMzAwNF09NjQyOTI7ZVszMDA2XT02NDI5NDtlWzMwMDddPTY0Mjk1O2VbMzAwOF09NjQyOTY7ZVszMDExXT0xOTAwO2VbMzAxNF09ODIyMztlWzMwMTVdPTgyNDQ7ZVszMDE3XT03NTMyO2VbMzAxOF09NzUzMztlWzMwMTldPTc1MzQ7ZVszMDc1XT03NTkwO2VbMzA3Nl09NzU5MTtlWzMwNzldPTc1OTQ7ZVszMDgwXT03NTk1O2VbMzA4M109NzU5ODtlWzMwODRdPTc1OTk7ZVszMDg3XT03NjAyO2VbMzA4OF09NzYwMztlWzMwOTFdPTc2MDY7ZVszMDkyXT03NjA3O2VbMzA5NV09NzYxMDtlWzMwOTZdPTc2MTE7ZVszMDk5XT03NjE0O2VbMzEwMF09NzYxNTtlWzMxMDNdPTc2MTg7ZVszMTA0XT03NjE5O2VbMzEwN109ODMzNztlWzMxMDhdPTgzMzg7ZVszMTE2XT0xODg0O2VbMzExOV09MTg4NTtlWzMxMjBdPTE4ODU7ZVszMTIzXT0xODg2O2VbMzEyNF09MTg4NjtlWzMxMjddPTE4ODc7ZVszMTI4XT0xODg3O2VbMzEzMV09MTg4ODtlWzMxMzJdPTE4ODg7ZVszMTM1XT0xODg5O2VbMzEzNl09MTg4OTtlWzMxMzldPTE4OTA7ZVszMTQwXT0xODkwO2VbMzE0M109MTg5MTtlWzMxNDRdPTE4OTE7ZVszMTQ3XT0xODkyO2VbMzE0OF09MTg5MjtlWzMxNTNdPTU4MDtlWzMxNTRdPTU4MTtlWzMxNTddPTU4NDtlWzMxNThdPTU4NTtlWzMxNjFdPTU4ODtlWzMxNjJdPTU4OTtlWzMxNjVdPTg5MTtlWzMxNjZdPTg5MjtlWzMxNjldPTEyNzQ7ZVszMTcwXT0xMjc1O2VbMzE3M109MTI3ODtlWzMxNzRdPTEyNzk7ZVszMTgxXT03NjIyO2VbMzE4Ml09NzYyMztlWzMyODJdPTExNzk5O2VbMzMxNl09NTc4O2VbMzM3OV09NDI3ODU7ZVszMzkzXT0xMTU5O2VbMzQxNl09ODM3N30pKSxfcj1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGZ1bmN0aW9uKGUpe2VbMjI3XT0zMjI7ZVsyNjRdPTI2MTtlWzI5MV09MzQ2fSkpLFVyPWdldExvb2t1cFRhYmxlRmFjdG9yeSgoZnVuY3Rpb24oZSl7ZVsxXT0zMjtlWzRdPTY1O2VbNV09MTkyO2VbNl09MTkzO2VbOV09MTk2O2VbMTddPTY2O2VbMThdPTY3O2VbMjFdPTI2ODtlWzI0XT02ODtlWzI4XT02OTtlWzI5XT0yMDA7ZVszMF09MjAxO2VbMzJdPTI4MjtlWzM4XT03MDtlWzM5XT03MTtlWzQ0XT03MjtlWzQ3XT03MztlWzQ4XT0yMDQ7ZVs0OV09MjA1O2VbNThdPTc0O2VbNjBdPTc1O2VbNjJdPTc2O2VbNjhdPTc3O2VbNjldPTc4O2VbNzVdPTc5O2VbNzZdPTIxMDtlWzgwXT0yMTQ7ZVs4N109ODA7ZVs4OV09ODE7ZVs5MF09ODI7ZVs5Ml09MzQ0O2VbOTRdPTgzO2VbOTddPTM1MjtlWzEwMF09ODQ7ZVsxMDRdPTg1O2VbMTA5XT0yMjA7ZVsxMTVdPTg2O2VbMTE2XT04NztlWzEyMV09ODg7ZVsxMjJdPTg5O2VbMTI0XT0yMjE7ZVsxMjddPTkwO2VbMTI5XT0zODE7ZVsyNThdPTk3O2VbMjU5XT0yMjQ7ZVsyNjBdPTIyNTtlWzI2M109MjI4O2VbMjY4XT0yNjE7ZVsyNzFdPTk4O2VbMjcyXT05OTtlWzI3M109MjYzO2VbMjc1XT0yNjk7ZVsyODJdPTEwMDtlWzI4Nl09MTAxO2VbMjg3XT0yMzI7ZVsyODhdPTIzMztlWzI5MF09MjgzO2VbMjk1XT0yODE7ZVsyOTZdPTEwMjtlWzMzNl09MTAzO2VbMzQ2XT0xMDQ7ZVszNDldPTEwNTtlWzM1MF09MjM2O2VbMzUxXT0yMzc7ZVszNjFdPTEwNjtlWzM2NF09MTA3O2VbMzY3XT0xMDg7ZVszNzFdPTMyMjtlWzM3M109MTA5O2VbMzc0XT0xMTA7ZVszODFdPTExMTtlWzM4Ml09MjQyO2VbMzgzXT0yNDM7ZVszODZdPTI0NjtlWzM5M109MTEyO2VbMzk1XT0xMTM7ZVszOTZdPTExNDtlWzM5OF09MzQ1O2VbNDAwXT0xMTU7ZVs0MDFdPTM0NztlWzQwM109MzUzO2VbNDEwXT0xMTY7ZVs0MzddPTExNztlWzQ0Ml09MjUyO2VbNDQ4XT0xMTg7ZVs0NDldPTExOTtlWzQ1NF09MTIwO2VbNDU1XT0xMjE7ZVs0NTddPTI1MztlWzQ2MF09MTIyO2VbNDYyXT0zODI7ZVs0NjNdPTM4MDtlWzg1M109NDQ7ZVs4NTVdPTU4O2VbODU2XT00NjtlWzg3Nl09NDc7ZVs4NzhdPTQ1O2VbODgyXT00NTtlWzg5NF09NDA7ZVs4OTVdPTQxO2VbODk2XT05MTtlWzg5N109OTM7ZVs5MjNdPTY0O2VbOTQwXT0xNjM7ZVsxMDA0XT00ODtlWzEwMDVdPTQ5O2VbMTAwNl09NTA7ZVsxMDA3XT01MTtlWzEwMDhdPTUyO2VbMTAwOV09NTM7ZVsxMDEwXT01NDtlWzEwMTFdPTU1O2VbMTAxMl09NTY7ZVsxMDEzXT01NztlWzEwODFdPTM3O2VbMTA4NV09NDM7ZVsxMDg2XT00NX0pKTtmdW5jdGlvbiBnZXRTdGFuZGFyZEZvbnROYW1lKGUpe2NvbnN0IHQ9bm9ybWFsaXplRm9udE5hbWUoZSk7cmV0dXJuIFJyKClbdF19ZnVuY3Rpb24gaXNLbm93bkZvbnROYW1lKGUpe2NvbnN0IHQ9bm9ybWFsaXplRm9udE5hbWUoZSk7cmV0dXJuISEoUnIoKVt0XXx8RXIoKVt0XXx8UHIoKVt0XXx8THIoKVt0XSl9Y2xhc3MgVG9Vbmljb2RlTWFwe2NvbnN0cnVjdG9yKGU9W10pe3RoaXMuX21hcD1lfWdldCBsZW5ndGgoKXtyZXR1cm4gdGhpcy5fbWFwLmxlbmd0aH1mb3JFYWNoKGUpe2Zvcihjb25zdCB0IGluIHRoaXMuX21hcCllKHQsdGhpcy5fbWFwW3RdLmNvZGVQb2ludEF0KDApKX1oYXMoZSl7cmV0dXJuIHZvaWQgMCE9PXRoaXMuX21hcFtlXX1nZXQoZSl7cmV0dXJuIHRoaXMuX21hcFtlXX1jaGFyQ29kZU9mKGUpe2NvbnN0IHQ9dGhpcy5fbWFwO2lmKHQubGVuZ3RoPD02NTUzNilyZXR1cm4gdC5pbmRleE9mKGUpO2Zvcihjb25zdCBhIGluIHQpaWYodFthXT09PWUpcmV0dXJuIDB8YTtyZXR1cm4tMX1hbWVuZChlKXtmb3IoY29uc3QgdCBpbiBlKXRoaXMuX21hcFt0XT1lW3RdfX1jbGFzcyBJZGVudGl0eVRvVW5pY29kZU1hcHtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuZmlyc3RDaGFyPWU7dGhpcy5sYXN0Q2hhcj10fWdldCBsZW5ndGgoKXtyZXR1cm4gdGhpcy5sYXN0Q2hhcisxLXRoaXMuZmlyc3RDaGFyfWZvckVhY2goZSl7Zm9yKGxldCB0PXRoaXMuZmlyc3RDaGFyLGE9dGhpcy5sYXN0Q2hhcjt0PD1hO3QrKyllKHQsdCl9aGFzKGUpe3JldHVybiB0aGlzLmZpcnN0Q2hhcjw9ZSYmZTw9dGhpcy5sYXN0Q2hhcn1nZXQoZSl7aWYodGhpcy5maXJzdENoYXI8PWUmJmU8PXRoaXMubGFzdENoYXIpcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoZSl9Y2hhckNvZGVPZihlKXtyZXR1cm4gTnVtYmVyLmlzSW50ZWdlcihlKSYmZT49dGhpcy5maXJzdENoYXImJmU8PXRoaXMubGFzdENoYXI/ZTotMX1hbWVuZChlKXt1bnJlYWNoYWJsZSgiU2hvdWxkIG5vdCBjYWxsIGFtZW5kKCkiKX19Y2xhc3MgQ0ZGRm9udHtjb25zdHJ1Y3RvcihlLHQpe3RoaXMucHJvcGVydGllcz10O2NvbnN0IGE9bmV3IENGRlBhcnNlcihlLHQscHIpO3RoaXMuY2ZmPWEucGFyc2UoKTt0aGlzLmNmZi5kdXBsaWNhdGVGaXJzdEdseXBoKCk7Y29uc3Qgcj1uZXcgQ0ZGQ29tcGlsZXIodGhpcy5jZmYpO3RoaXMuc2VhY3M9dGhpcy5jZmYuc2VhY3M7dHJ5e3RoaXMuZGF0YT1yLmNvbXBpbGUoKX1jYXRjaHt3YXJuKCJGYWlsZWQgdG8gY29tcGlsZSBmb250ICIrdC5sb2FkZWROYW1lKTt0aGlzLmRhdGE9ZX10aGlzLl9jcmVhdGVCdWlsdEluRW5jb2RpbmcoKX1nZXQgbnVtR2x5cGhzKCl7cmV0dXJuIHRoaXMuY2ZmLmNoYXJTdHJpbmdzLmNvdW50fWdldENoYXJzZXQoKXtyZXR1cm4gdGhpcy5jZmYuY2hhcnNldC5jaGFyc2V0fWdldEdseXBoTWFwcGluZygpe2NvbnN0IGU9dGhpcy5jZmYsdD10aGlzLnByb3BlcnRpZXMse2NpZFRvR2lkTWFwOmEsY01hcDpyfT10LGk9ZS5jaGFyc2V0LmNoYXJzZXQ7bGV0IG4scztpZih0LmNvbXBvc2l0ZSl7bGV0IHQsbztpZihhPy5sZW5ndGg+MCl7dD1PYmplY3QuY3JlYXRlKG51bGwpO2ZvcihsZXQgZT0wLHI9YS5sZW5ndGg7ZTxyO2UrKyl7Y29uc3Qgcj1hW2VdO3ZvaWQgMCE9PXImJih0W3JdPWUpfX1uPU9iamVjdC5jcmVhdGUobnVsbCk7aWYoZS5pc0NJREZvbnQpZm9yKHM9MDtzPGkubGVuZ3RoO3MrKyl7Y29uc3QgZT1pW3NdO289ci5jaGFyQ29kZU9mKGUpO3ZvaWQgMCE9PXQ/LltvXSYmKG89dFtvXSk7bltvXT1zfWVsc2UgZm9yKHM9MDtzPGUuY2hhclN0cmluZ3MuY291bnQ7cysrKXtvPXIuY2hhckNvZGVPZihzKTtuW29dPXN9cmV0dXJuIG59bGV0IG89ZS5lbmNvZGluZz9lLmVuY29kaW5nLmVuY29kaW5nOm51bGw7dC5pc0ludGVybmFsRm9udCYmKG89dC5kZWZhdWx0RW5jb2RpbmcpO249dHlwZTFGb250R2x5cGhNYXBwaW5nKHQsbyxpKTtyZXR1cm4gbn1oYXNHbHlwaElkKGUpe3JldHVybiB0aGlzLmNmZi5oYXNHbHlwaElkKGUpfV9jcmVhdGVCdWlsdEluRW5jb2RpbmcoKXtjb25zdHtjaGFyc2V0OmUsZW5jb2Rpbmc6dH09dGhpcy5jZmY7aWYoIWV8fCF0KXJldHVybjtjb25zdCBhPWUuY2hhcnNldCxyPXQuZW5jb2RpbmcsaT1bXTtmb3IoY29uc3QgZSBpbiByKXtjb25zdCB0PXJbZV07aWYodD49MCl7Y29uc3Qgcj1hW3RdO3ImJihpW2VdPXIpfX1pLmxlbmd0aD4wJiYodGhpcy5wcm9wZXJ0aWVzLmJ1aWx0SW5FbmNvZGluZz1pKX19ZnVuY3Rpb24gZ2V0RmxvYXQyMTQoZSx0KXtyZXR1cm4gcmVhZEludDE2KGUsdCkvMTYzODR9ZnVuY3Rpb24gZ2V0U3Vicm91dGluZUJpYXMoZSl7Y29uc3QgdD1lLmxlbmd0aDtsZXQgYT0zMjc2ODt0PDEyNDA/YT0xMDc6dDwzMzkwMCYmKGE9MTEzMSk7cmV0dXJuIGF9ZnVuY3Rpb24gcGFyc2VDbWFwKGUsdCxhKXtjb25zdCByPTE9PT1yZWFkVWludDE2KGUsdCsyKT9yZWFkVWludDMyKGUsdCs4KTpyZWFkVWludDMyKGUsdCsxNiksaT1yZWFkVWludDE2KGUsdCtyKTtsZXQgbixzLG87aWYoND09PWkpe3JlYWRVaW50MTYoZSx0K3IrMik7Y29uc3QgYT1yZWFkVWludDE2KGUsdCtyKzYpPj4xO3M9dCtyKzE0O249W107Zm9yKG89MDtvPGE7bysrLHMrPTIpbltvXT17ZW5kOnJlYWRVaW50MTYoZSxzKX07cys9Mjtmb3Iobz0wO288YTtvKysscys9MiluW29dLnN0YXJ0PXJlYWRVaW50MTYoZSxzKTtmb3Iobz0wO288YTtvKysscys9MiluW29dLmlkRGVsdGE9cmVhZFVpbnQxNihlLHMpO2ZvcihvPTA7bzxhO28rKyxzKz0yKXtsZXQgdD1yZWFkVWludDE2KGUscyk7aWYoMCE9PXQpe25bb10uaWRzPVtdO2ZvcihsZXQgYT0wLHI9bltvXS5lbmQtbltvXS5zdGFydCsxO2E8cjthKyspe25bb10uaWRzW2FdPXJlYWRVaW50MTYoZSxzK3QpO3QrPTJ9fX1yZXR1cm4gbn1pZigxMj09PWkpe2NvbnN0IGE9cmVhZFVpbnQzMihlLHQrcisxMik7cz10K3IrMTY7bj1bXTtmb3Iobz0wO288YTtvKyspe3Q9cmVhZFVpbnQzMihlLHMpO24ucHVzaCh7c3RhcnQ6dCxlbmQ6cmVhZFVpbnQzMihlLHMrNCksaWREZWx0YTpyZWFkVWludDMyKGUscys4KS10fSk7cys9MTJ9cmV0dXJuIG59dGhyb3cgbmV3IEZvcm1hdEVycm9yKGB1bnN1cHBvcnRlZCBjbWFwOiAke2l9YCl9ZnVuY3Rpb24gcGFyc2VDZmYoZSx0LGEscil7Y29uc3QgaT1uZXcgQ0ZGUGFyc2VyKG5ldyBTdHJlYW0oZSx0LGEtdCkse30scikucGFyc2UoKTtyZXR1cm57Z2x5cGhzOmkuY2hhclN0cmluZ3Mub2JqZWN0cyxzdWJyczppLnRvcERpY3QucHJpdmF0ZURpY3Q/LnN1YnJzSW5kZXg/Lm9iamVjdHMsZ3N1YnJzOmkuZ2xvYmFsU3VickluZGV4Py5vYmplY3RzLGlzQ0ZGQ0lERm9udDppLmlzQ0lERm9udCxmZFNlbGVjdDppLmZkU2VsZWN0LGZkQXJyYXk6aS5mZEFycmF5fX1mdW5jdGlvbiBsb29rdXBDbWFwKGUsdCl7Y29uc3QgYT10LmNvZGVQb2ludEF0KDApO2xldCByPTAsaT0wLG49ZS5sZW5ndGgtMTtmb3IoO2k8bjspe2NvbnN0IHQ9aStuKzE+PjE7YTxlW3RdLnN0YXJ0P249dC0xOmk9dH1lW2ldLnN0YXJ0PD1hJiZhPD1lW2ldLmVuZCYmKHI9ZVtpXS5pZERlbHRhKyhlW2ldLmlkcz9lW2ldLmlkc1thLWVbaV0uc3RhcnRdOmEpJjY1NTM1KTtyZXR1cm57Y2hhckNvZGU6YSxnbHlwaElkOnJ9fWZ1bmN0aW9uIGNvbXBpbGVHbHlmKGUsdCxhKXtmdW5jdGlvbiBtb3ZlVG8oZSxhKXtzJiZ0LmFkZCgiTCIscyk7cz1bZSxhXTt0LmFkZCgiTSIsW2UsYV0pfWZ1bmN0aW9uIGxpbmVUbyhlLGEpe3QuYWRkKCJMIixbZSxhXSl9ZnVuY3Rpb24gcXVhZHJhdGljQ3VydmVUbyhlLGEscixpKXt0LmFkZCgiUSIsW2UsYSxyLGldKX1sZXQgcj0wO2NvbnN0IGk9cmVhZEludDE2KGUscik7bGV0IG4scz1udWxsLG89MCxjPTA7cis9MTA7aWYoaTwwKWRve249cmVhZFVpbnQxNihlLHIpO2NvbnN0IGk9cmVhZFVpbnQxNihlLHIrMik7cis9NDtsZXQgcyxsO2lmKDEmbil7aWYoMiZuKXtzPXJlYWRJbnQxNihlLHIpO2w9cmVhZEludDE2KGUscisyKX1lbHNle3M9cmVhZFVpbnQxNihlLHIpO2w9cmVhZFVpbnQxNihlLHIrMil9cis9NH1lbHNlIGlmKDImbil7cz1yZWFkSW50OChlLHIrKyk7bD1yZWFkSW50OChlLHIrKyl9ZWxzZXtzPWVbcisrXTtsPWVbcisrXX1pZigyJm4pe289cztjPWx9ZWxzZXtvPTA7Yz0wfWxldCBoPTEsdT0xLGQ9MCxmPTA7aWYoOCZuKXtoPXU9Z2V0RmxvYXQyMTQoZSxyKTtyKz0yfWVsc2UgaWYoNjQmbil7aD1nZXRGbG9hdDIxNChlLHIpO3U9Z2V0RmxvYXQyMTQoZSxyKzIpO3IrPTR9ZWxzZSBpZigxMjgmbil7aD1nZXRGbG9hdDIxNChlLHIpO2Q9Z2V0RmxvYXQyMTQoZSxyKzIpO2Y9Z2V0RmxvYXQyMTQoZSxyKzQpO3U9Z2V0RmxvYXQyMTQoZSxyKzYpO3IrPTh9Y29uc3QgZz1hLmdseXBoc1tpXTtpZihnKXt0LnNhdmUoKTt0LnRyYW5zZm9ybShbaCxkLGYsdSxvLGNdKTtjb21waWxlR2x5ZihnLHQsYSk7dC5yZXN0b3JlKCl9fXdoaWxlKDMyJm4pO2Vsc2V7Y29uc3QgdD1bXTtsZXQgYSxzO2ZvcihhPTA7YTxpO2ErKyl7dC5wdXNoKHJlYWRVaW50MTYoZSxyKSk7cis9Mn1yKz0yK3JlYWRVaW50MTYoZSxyKTtjb25zdCBsPXQuYXQoLTEpKzEsaD1bXTtmb3IoO2gubGVuZ3RoPGw7KXtuPWVbcisrXTtsZXQgdD0xOzgmbiYmKHQrPWVbcisrXSk7Zm9yKDt0LS0gPjA7KWgucHVzaCh7ZmxhZ3M6bn0pfWZvcihhPTA7YTxsO2ErKyl7c3dpdGNoKDE4JmhbYV0uZmxhZ3Mpe2Nhc2UgMDpvKz1yZWFkSW50MTYoZSxyKTtyKz0yO2JyZWFrO2Nhc2UgMjpvLT1lW3IrK107YnJlYWs7Y2FzZSAxODpvKz1lW3IrK119aFthXS54PW99Zm9yKGE9MDthPGw7YSsrKXtzd2l0Y2goMzYmaFthXS5mbGFncyl7Y2FzZSAwOmMrPXJlYWRJbnQxNihlLHIpO3IrPTI7YnJlYWs7Y2FzZSA0OmMtPWVbcisrXTticmVhaztjYXNlIDM2OmMrPWVbcisrXX1oW2FdLnk9Y31sZXQgdT0wO2ZvcihyPTA7cjxpO3IrKyl7Y29uc3QgZT10W3JdLGk9aC5zbGljZSh1LGUrMSk7aWYoMSZpWzBdLmZsYWdzKWkucHVzaChpWzBdKTtlbHNlIGlmKDEmaS5hdCgtMSkuZmxhZ3MpaS51bnNoaWZ0KGkuYXQoLTEpKTtlbHNle2NvbnN0IGU9e2ZsYWdzOjEseDooaVswXS54K2kuYXQoLTEpLngpLzIseTooaVswXS55K2kuYXQoLTEpLnkpLzJ9O2kudW5zaGlmdChlKTtpLnB1c2goZSl9bW92ZVRvKGlbMF0ueCxpWzBdLnkpO2ZvcihhPTEscz1pLmxlbmd0aDthPHM7YSsrKWlmKDEmaVthXS5mbGFncylsaW5lVG8oaVthXS54LGlbYV0ueSk7ZWxzZSBpZigxJmlbYSsxXS5mbGFncyl7cXVhZHJhdGljQ3VydmVUbyhpW2FdLngsaVthXS55LGlbYSsxXS54LGlbYSsxXS55KTthKyt9ZWxzZSBxdWFkcmF0aWNDdXJ2ZVRvKGlbYV0ueCxpW2FdLnksKGlbYV0ueCtpW2ErMV0ueCkvMiwoaVthXS55K2lbYSsxXS55KS8yKTt1PWUrMX19fWZ1bmN0aW9uIGNvbXBpbGVDaGFyU3RyaW5nKGUsdCxhLHIpe2Z1bmN0aW9uIG1vdmVUbyhlLGEpe2MmJnQuYWRkKCJMIixjKTtjPVtlLGFdO3QuYWRkKCJNIixbZSxhXSl9ZnVuY3Rpb24gbGluZVRvKGUsYSl7dC5hZGQoIkwiLFtlLGFdKX1mdW5jdGlvbiBiZXppZXJDdXJ2ZVRvKGUsYSxyLGksbixzKXt0LmFkZCgiQyIsW2UsYSxyLGksbixzXSl9Y29uc3QgaT1bXTtsZXQgbj0wLHM9MCxvPTAsYz1udWxsOyFmdW5jdGlvbiBwYXJzZShlKXtsZXQgYz0wO2Zvcig7YzxlLmxlbmd0aDspe2xldCBsLGgsdSxkLGYsZyxwLG0sYix5PSExLHc9ZVtjKytdO3N3aXRjaCh3KXtjYXNlIDE6Y2FzZSAzOmNhc2UgMTg6Y2FzZSAyMzpvKz1pLmxlbmd0aD4+MTt5PSEwO2JyZWFrO2Nhc2UgNDpzKz1pLnBvcCgpO21vdmVUbyhuLHMpO3k9ITA7YnJlYWs7Y2FzZSA1OmZvcig7aS5sZW5ndGg+MDspe24rPWkuc2hpZnQoKTtzKz1pLnNoaWZ0KCk7bGluZVRvKG4scyl9YnJlYWs7Y2FzZSA2OmZvcig7aS5sZW5ndGg+MDspe24rPWkuc2hpZnQoKTtsaW5lVG8obixzKTtpZigwPT09aS5sZW5ndGgpYnJlYWs7cys9aS5zaGlmdCgpO2xpbmVUbyhuLHMpfWJyZWFrO2Nhc2UgNzpmb3IoO2kubGVuZ3RoPjA7KXtzKz1pLnNoaWZ0KCk7bGluZVRvKG4scyk7aWYoMD09PWkubGVuZ3RoKWJyZWFrO24rPWkuc2hpZnQoKTtsaW5lVG8obixzKX1icmVhaztjYXNlIDg6Zm9yKDtpLmxlbmd0aD4wOyl7bD1uK2kuc2hpZnQoKTt1PXMraS5zaGlmdCgpO2g9bCtpLnNoaWZ0KCk7ZD11K2kuc2hpZnQoKTtuPWgraS5zaGlmdCgpO3M9ZCtpLnNoaWZ0KCk7YmV6aWVyQ3VydmVUbyhsLHUsaCxkLG4scyl9YnJlYWs7Y2FzZSAxMDptPWkucG9wKCk7Yj1udWxsO2lmKGEuaXNDRkZDSURGb250KXtjb25zdCBlPWEuZmRTZWxlY3QuZ2V0RkRJbmRleChyKTtpZihlPj0wJiZlPGEuZmRBcnJheS5sZW5ndGgpe2NvbnN0IHQ9YS5mZEFycmF5W2VdO2xldCByO3QucHJpdmF0ZURpY3Q/LnN1YnJzSW5kZXgmJihyPXQucHJpdmF0ZURpY3Quc3VicnNJbmRleC5vYmplY3RzKTtpZihyKXttKz1nZXRTdWJyb3V0aW5lQmlhcyhyKTtiPXJbbV19fWVsc2Ugd2FybigiSW52YWxpZCBmZCBpbmRleCBmb3IgZ2x5cGggaW5kZXguIil9ZWxzZSBiPWEuc3VicnNbbSthLnN1YnJzQmlhc107YiYmcGFyc2UoYik7YnJlYWs7Y2FzZSAxMTpyZXR1cm47Y2FzZSAxMjp3PWVbYysrXTtzd2l0Y2godyl7Y2FzZSAzNDpsPW4raS5zaGlmdCgpO2g9bCtpLnNoaWZ0KCk7Zj1zK2kuc2hpZnQoKTtuPWgraS5zaGlmdCgpO2JlemllckN1cnZlVG8obCxzLGgsZixuLGYpO2w9bitpLnNoaWZ0KCk7aD1sK2kuc2hpZnQoKTtuPWgraS5zaGlmdCgpO2JlemllckN1cnZlVG8obCxmLGgscyxuLHMpO2JyZWFrO2Nhc2UgMzU6bD1uK2kuc2hpZnQoKTt1PXMraS5zaGlmdCgpO2g9bCtpLnNoaWZ0KCk7ZD11K2kuc2hpZnQoKTtuPWgraS5zaGlmdCgpO3M9ZCtpLnNoaWZ0KCk7YmV6aWVyQ3VydmVUbyhsLHUsaCxkLG4scyk7bD1uK2kuc2hpZnQoKTt1PXMraS5zaGlmdCgpO2g9bCtpLnNoaWZ0KCk7ZD11K2kuc2hpZnQoKTtuPWgraS5zaGlmdCgpO3M9ZCtpLnNoaWZ0KCk7YmV6aWVyQ3VydmVUbyhsLHUsaCxkLG4scyk7aS5wb3AoKTticmVhaztjYXNlIDM2Omw9bitpLnNoaWZ0KCk7Zj1zK2kuc2hpZnQoKTtoPWwraS5zaGlmdCgpO2c9ZitpLnNoaWZ0KCk7bj1oK2kuc2hpZnQoKTtiZXppZXJDdXJ2ZVRvKGwsZixoLGcsbixnKTtsPW4raS5zaGlmdCgpO2g9bCtpLnNoaWZ0KCk7cD1nK2kuc2hpZnQoKTtuPWgraS5zaGlmdCgpO2JlemllckN1cnZlVG8obCxnLGgscCxuLHMpO2JyZWFrO2Nhc2UgMzc6Y29uc3QgZT1uLHQ9cztsPW4raS5zaGlmdCgpO3U9cytpLnNoaWZ0KCk7aD1sK2kuc2hpZnQoKTtkPXUraS5zaGlmdCgpO249aCtpLnNoaWZ0KCk7cz1kK2kuc2hpZnQoKTtiZXppZXJDdXJ2ZVRvKGwsdSxoLGQsbixzKTtsPW4raS5zaGlmdCgpO3U9cytpLnNoaWZ0KCk7aD1sK2kuc2hpZnQoKTtkPXUraS5zaGlmdCgpO249aDtzPWQ7TWF0aC5hYnMobi1lKT5NYXRoLmFicyhzLXQpP24rPWkuc2hpZnQoKTpzKz1pLnNoaWZ0KCk7YmV6aWVyQ3VydmVUbyhsLHUsaCxkLG4scyk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYHVua25vd24gb3BlcmF0b3I6IDEyICR7d31gKX1icmVhaztjYXNlIDE0OmlmKGkubGVuZ3RoPj00KXtjb25zdCBlPWkucG9wKCkscj1pLnBvcCgpO3M9aS5wb3AoKTtuPWkucG9wKCk7dC5zYXZlKCk7dC50cmFuc2xhdGUobixzKTtsZXQgbz1sb29rdXBDbWFwKGEuY21hcCxTdHJpbmcuZnJvbUNoYXJDb2RlKGEuZ2x5cGhOYW1lTWFwW25yW2VdXSkpO2NvbXBpbGVDaGFyU3RyaW5nKGEuZ2x5cGhzW28uZ2x5cGhJZF0sdCxhLG8uZ2x5cGhJZCk7dC5yZXN0b3JlKCk7bz1sb29rdXBDbWFwKGEuY21hcCxTdHJpbmcuZnJvbUNoYXJDb2RlKGEuZ2x5cGhOYW1lTWFwW25yW3JdXSkpO2NvbXBpbGVDaGFyU3RyaW5nKGEuZ2x5cGhzW28uZ2x5cGhJZF0sdCxhLG8uZ2x5cGhJZCl9cmV0dXJuO2Nhc2UgMTk6Y2FzZSAyMDpvKz1pLmxlbmd0aD4+MTtjKz1vKzc+PjM7eT0hMDticmVhaztjYXNlIDIxOnMrPWkucG9wKCk7bis9aS5wb3AoKTttb3ZlVG8obixzKTt5PSEwO2JyZWFrO2Nhc2UgMjI6bis9aS5wb3AoKTttb3ZlVG8obixzKTt5PSEwO2JyZWFrO2Nhc2UgMjQ6Zm9yKDtpLmxlbmd0aD4yOyl7bD1uK2kuc2hpZnQoKTt1PXMraS5zaGlmdCgpO2g9bCtpLnNoaWZ0KCk7ZD11K2kuc2hpZnQoKTtuPWgraS5zaGlmdCgpO3M9ZCtpLnNoaWZ0KCk7YmV6aWVyQ3VydmVUbyhsLHUsaCxkLG4scyl9bis9aS5zaGlmdCgpO3MrPWkuc2hpZnQoKTtsaW5lVG8obixzKTticmVhaztjYXNlIDI1OmZvcig7aS5sZW5ndGg+Njspe24rPWkuc2hpZnQoKTtzKz1pLnNoaWZ0KCk7bGluZVRvKG4scyl9bD1uK2kuc2hpZnQoKTt1PXMraS5zaGlmdCgpO2g9bCtpLnNoaWZ0KCk7ZD11K2kuc2hpZnQoKTtuPWgraS5zaGlmdCgpO3M9ZCtpLnNoaWZ0KCk7YmV6aWVyQ3VydmVUbyhsLHUsaCxkLG4scyk7YnJlYWs7Y2FzZSAyNjppLmxlbmd0aCUyJiYobis9aS5zaGlmdCgpKTtmb3IoO2kubGVuZ3RoPjA7KXtsPW47dT1zK2kuc2hpZnQoKTtoPWwraS5zaGlmdCgpO2Q9dStpLnNoaWZ0KCk7bj1oO3M9ZCtpLnNoaWZ0KCk7YmV6aWVyQ3VydmVUbyhsLHUsaCxkLG4scyl9YnJlYWs7Y2FzZSAyNzppLmxlbmd0aCUyJiYocys9aS5zaGlmdCgpKTtmb3IoO2kubGVuZ3RoPjA7KXtsPW4raS5zaGlmdCgpO3U9cztoPWwraS5zaGlmdCgpO2Q9dStpLnNoaWZ0KCk7bj1oK2kuc2hpZnQoKTtzPWQ7YmV6aWVyQ3VydmVUbyhsLHUsaCxkLG4scyl9YnJlYWs7Y2FzZSAyODppLnB1c2gocmVhZEludDE2KGUsYykpO2MrPTI7YnJlYWs7Y2FzZSAyOTptPWkucG9wKCkrYS5nc3VicnNCaWFzO2I9YS5nc3VicnNbbV07YiYmcGFyc2UoYik7YnJlYWs7Y2FzZSAzMDpmb3IoO2kubGVuZ3RoPjA7KXtsPW47dT1zK2kuc2hpZnQoKTtoPWwraS5zaGlmdCgpO2Q9dStpLnNoaWZ0KCk7bj1oK2kuc2hpZnQoKTtzPWQrKDE9PT1pLmxlbmd0aD9pLnNoaWZ0KCk6MCk7YmV6aWVyQ3VydmVUbyhsLHUsaCxkLG4scyk7aWYoMD09PWkubGVuZ3RoKWJyZWFrO2w9bitpLnNoaWZ0KCk7dT1zO2g9bCtpLnNoaWZ0KCk7ZD11K2kuc2hpZnQoKTtzPWQraS5zaGlmdCgpO249aCsoMT09PWkubGVuZ3RoP2kuc2hpZnQoKTowKTtiZXppZXJDdXJ2ZVRvKGwsdSxoLGQsbixzKX1icmVhaztjYXNlIDMxOmZvcig7aS5sZW5ndGg+MDspe2w9bitpLnNoaWZ0KCk7dT1zO2g9bCtpLnNoaWZ0KCk7ZD11K2kuc2hpZnQoKTtzPWQraS5zaGlmdCgpO249aCsoMT09PWkubGVuZ3RoP2kuc2hpZnQoKTowKTtiZXppZXJDdXJ2ZVRvKGwsdSxoLGQsbixzKTtpZigwPT09aS5sZW5ndGgpYnJlYWs7bD1uO3U9cytpLnNoaWZ0KCk7aD1sK2kuc2hpZnQoKTtkPXUraS5zaGlmdCgpO249aCtpLnNoaWZ0KCk7cz1kKygxPT09aS5sZW5ndGg/aS5zaGlmdCgpOjApO2JlemllckN1cnZlVG8obCx1LGgsZCxuLHMpfWJyZWFrO2RlZmF1bHQ6aWYodzwzMil0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYHVua25vd24gb3BlcmF0b3I6ICR7d31gKTtpZih3PDI0NylpLnB1c2gody0xMzkpO2Vsc2UgaWYodzwyNTEpaS5wdXNoKDI1Nioody0yNDcpK2VbYysrXSsxMDgpO2Vsc2UgaWYodzwyNTUpaS5wdXNoKDI1NiotKHctMjUxKS1lW2MrK10tMTA4KTtlbHNle2kucHVzaCgoZVtjXTw8MjR8ZVtjKzFdPDwxNnxlW2MrMl08PDh8ZVtjKzNdKS82NTUzNik7Yys9NH19eSYmKGkubGVuZ3RoPTApfX0oZSl9Y2xhc3MgQ29tbWFuZHN7Y21kcz1bXTt0cmFuc2Zvcm1TdGFjaz1bXTtjdXJyZW50VHJhbnNmb3JtPVsxLDAsMCwxLDAsMF07YWRkKGUsdCl7aWYodCl7Y29uc3R7Y3VycmVudFRyYW5zZm9ybTphfT10aGlzO2ZvcihsZXQgZT0wLHI9dC5sZW5ndGg7ZTxyO2UrPTIpVXRpbC5hcHBseVRyYW5zZm9ybSh0LGEsZSk7dGhpcy5jbWRzLnB1c2goYCR7ZX0ke3Quam9pbigiICIpfWApfWVsc2UgdGhpcy5jbWRzLnB1c2goZSl9dHJhbnNmb3JtKGUpe3RoaXMuY3VycmVudFRyYW5zZm9ybT1VdGlsLnRyYW5zZm9ybSh0aGlzLmN1cnJlbnRUcmFuc2Zvcm0sZSl9dHJhbnNsYXRlKGUsdCl7dGhpcy50cmFuc2Zvcm0oWzEsMCwwLDEsZSx0XSl9c2F2ZSgpe3RoaXMudHJhbnNmb3JtU3RhY2sucHVzaCh0aGlzLmN1cnJlbnRUcmFuc2Zvcm0uc2xpY2UoKSl9cmVzdG9yZSgpe3RoaXMuY3VycmVudFRyYW5zZm9ybT10aGlzLnRyYW5zZm9ybVN0YWNrLnBvcCgpfHxbMSwwLDAsMSwwLDBdfWdldFNWRygpe3JldHVybiB0aGlzLmNtZHMuam9pbigiIil9fWNsYXNzIENvbXBpbGVkRm9udHtjb25zdHJ1Y3RvcihlKXt0aGlzLmZvbnRNYXRyaXg9ZTt0aGlzLmNvbXBpbGVkR2x5cGhzPU9iamVjdC5jcmVhdGUobnVsbCk7dGhpcy5jb21waWxlZENoYXJDb2RlVG9HbHlwaElkPU9iamVjdC5jcmVhdGUobnVsbCl9Z2V0UGF0aEpzKGUpe2NvbnN0e2NoYXJDb2RlOnQsZ2x5cGhJZDphfT1sb29rdXBDbWFwKHRoaXMuY21hcCxlKTtsZXQgcixpPXRoaXMuY29tcGlsZWRHbHlwaHNbYV07aWYodm9pZCAwPT09aSl7dHJ5e2k9dGhpcy5jb21waWxlR2x5cGgodGhpcy5nbHlwaHNbYV0sYSl9Y2F0Y2goZSl7aT0iIjtyPWV9dGhpcy5jb21waWxlZEdseXBoc1thXT1pfXRoaXMuY29tcGlsZWRDaGFyQ29kZVRvR2x5cGhJZFt0XT8/PWE7aWYocil0aHJvdyByO3JldHVybiBpfWNvbXBpbGVHbHlwaChlLGEpe2lmKCFlPy5sZW5ndGh8fDE0PT09ZVswXSlyZXR1cm4iIjtsZXQgcj10aGlzLmZvbnRNYXRyaXg7aWYodGhpcy5pc0NGRkNJREZvbnQpe2NvbnN0IGU9dGhpcy5mZFNlbGVjdC5nZXRGREluZGV4KGEpO2lmKGU+PTAmJmU8dGhpcy5mZEFycmF5Lmxlbmd0aCl7cj10aGlzLmZkQXJyYXlbZV0uZ2V0QnlOYW1lKCJGb250TWF0cml4Iil8fHR9ZWxzZSB3YXJuKCJJbnZhbGlkIGZkIGluZGV4IGZvciBnbHlwaCBpbmRleC4iKX1hc3NlcnQoaXNOdW1iZXJBcnJheShyLDYpLCJFeHBlY3RlZCBhIHZhbGlkIGZvbnRNYXRyaXguIik7Y29uc3QgaT1uZXcgQ29tbWFuZHM7aS50cmFuc2Zvcm0oci5zbGljZSgpKTt0aGlzLmNvbXBpbGVHbHlwaEltcGwoZSxpLGEpO2kuYWRkKCJaIik7cmV0dXJuIGkuZ2V0U1ZHKCl9Y29tcGlsZUdseXBoSW1wbCgpe3VucmVhY2hhYmxlKCJDaGlsZHJlbiBjbGFzc2VzIHNob3VsZCBpbXBsZW1lbnQgdGhpcy4iKX1oYXNCdWlsdFBhdGgoZSl7Y29uc3R7Y2hhckNvZGU6dCxnbHlwaElkOmF9PWxvb2t1cENtYXAodGhpcy5jbWFwLGUpO3JldHVybiB2b2lkIDAhPT10aGlzLmNvbXBpbGVkR2x5cGhzW2FdJiZ2b2lkIDAhPT10aGlzLmNvbXBpbGVkQ2hhckNvZGVUb0dseXBoSWRbdF19fWNsYXNzIFRydWVUeXBlQ29tcGlsZWQgZXh0ZW5kcyBDb21waWxlZEZvbnR7Y29uc3RydWN0b3IoZSx0LGEpe3N1cGVyKGF8fFs0ODhlLTYsMCwwLDQ4OGUtNiwwLDBdKTt0aGlzLmdseXBocz1lO3RoaXMuY21hcD10fWNvbXBpbGVHbHlwaEltcGwoZSx0KXtjb21waWxlR2x5ZihlLHQsdGhpcyl9fWNsYXNzIFR5cGUyQ29tcGlsZWQgZXh0ZW5kcyBDb21waWxlZEZvbnR7Y29uc3RydWN0b3IoZSx0LGEpe3N1cGVyKGF8fFsuMDAxLDAsMCwuMDAxLDAsMF0pO3RoaXMuZ2x5cGhzPWUuZ2x5cGhzO3RoaXMuZ3N1YnJzPWUuZ3N1YnJzfHxbXTt0aGlzLnN1YnJzPWUuc3VicnN8fFtdO3RoaXMuY21hcD10O3RoaXMuZ2x5cGhOYW1lTWFwPWxyKCk7dGhpcy5nc3VicnNCaWFzPWdldFN1YnJvdXRpbmVCaWFzKHRoaXMuZ3N1YnJzKTt0aGlzLnN1YnJzQmlhcz1nZXRTdWJyb3V0aW5lQmlhcyh0aGlzLnN1YnJzKTt0aGlzLmlzQ0ZGQ0lERm9udD1lLmlzQ0ZGQ0lERm9udDt0aGlzLmZkU2VsZWN0PWUuZmRTZWxlY3Q7dGhpcy5mZEFycmF5PWUuZmRBcnJheX1jb21waWxlR2x5cGhJbXBsKGUsdCxhKXtjb21waWxlQ2hhclN0cmluZyhlLHQsdGhpcyxhKX19Y2xhc3MgRm9udFJlbmRlcmVyRmFjdG9yeXtzdGF0aWMgY3JlYXRlKGUsdCl7Y29uc3QgYT1uZXcgVWludDhBcnJheShlLmRhdGEpO2xldCByLGksbixzLG8sYztjb25zdCBsPXJlYWRVaW50MTYoYSw0KTtmb3IobGV0IGU9MCxoPTEyO2U8bDtlKyssaCs9MTYpe2NvbnN0IGU9Ynl0ZXNUb1N0cmluZyhhLnN1YmFycmF5KGgsaCs0KSksbD1yZWFkVWludDMyKGEsaCs4KSx1PXJlYWRVaW50MzIoYSxoKzEyKTtzd2l0Y2goZSl7Y2FzZSJjbWFwIjpyPXBhcnNlQ21hcChhLGwpO2JyZWFrO2Nhc2UiZ2x5ZiI6aT1hLnN1YmFycmF5KGwsbCt1KTticmVhaztjYXNlImxvY2EiOm49YS5zdWJhcnJheShsLGwrdSk7YnJlYWs7Y2FzZSJoZWFkIjpjPXJlYWRVaW50MTYoYSxsKzE4KTtvPXJlYWRVaW50MTYoYSxsKzUwKTticmVhaztjYXNlIkNGRiAiOnM9cGFyc2VDZmYoYSxsLGwrdSx0KX19aWYoaSl7Y29uc3QgdD1jP1sxL2MsMCwwLDEvYywwLDBdOmUuZm9udE1hdHJpeDtyZXR1cm4gbmV3IFRydWVUeXBlQ29tcGlsZWQoZnVuY3Rpb24gcGFyc2VHbHlmVGFibGUoZSx0LGEpe2xldCByLGk7aWYoYSl7cj00O2k9cmVhZFVpbnQzMn1lbHNle3I9MjtpPShlLHQpPT4yKnJlYWRVaW50MTYoZSx0KX1jb25zdCBuPVtdO2xldCBzPWkodCwwKTtmb3IobGV0IGE9cjthPHQubGVuZ3RoO2ErPXIpe2NvbnN0IHI9aSh0LGEpO24ucHVzaChlLnN1YmFycmF5KHMscikpO3M9cn1yZXR1cm4gbn0oaSxuLG8pLHIsdCl9cmV0dXJuIG5ldyBUeXBlMkNvbXBpbGVkKHMscixlLmZvbnRNYXRyaXgpfX1jb25zdCBYcj1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGZ1bmN0aW9uKGUpe2UuQ291cmllcj02MDA7ZVsiQ291cmllci1Cb2xkIl09NjAwO2VbIkNvdXJpZXItQm9sZE9ibGlxdWUiXT02MDA7ZVsiQ291cmllci1PYmxpcXVlIl09NjAwO2UuSGVsdmV0aWNhPWdldExvb2t1cFRhYmxlRmFjdG9yeSgoZnVuY3Rpb24oZSl7ZS5zcGFjZT0yNzg7ZS5leGNsYW09Mjc4O2UucXVvdGVkYmw9MzU1O2UubnVtYmVyc2lnbj01NTY7ZS5kb2xsYXI9NTU2O2UucGVyY2VudD04ODk7ZS5hbXBlcnNhbmQ9NjY3O2UucXVvdGVyaWdodD0yMjI7ZS5wYXJlbmxlZnQ9MzMzO2UucGFyZW5yaWdodD0zMzM7ZS5hc3Rlcmlzaz0zODk7ZS5wbHVzPTU4NDtlLmNvbW1hPTI3ODtlLmh5cGhlbj0zMzM7ZS5wZXJpb2Q9Mjc4O2Uuc2xhc2g9Mjc4O2UuemVybz01NTY7ZS5vbmU9NTU2O2UudHdvPTU1NjtlLnRocmVlPTU1NjtlLmZvdXI9NTU2O2UuZml2ZT01NTY7ZS5zaXg9NTU2O2Uuc2V2ZW49NTU2O2UuZWlnaHQ9NTU2O2UubmluZT01NTY7ZS5jb2xvbj0yNzg7ZS5zZW1pY29sb249Mjc4O2UubGVzcz01ODQ7ZS5lcXVhbD01ODQ7ZS5ncmVhdGVyPTU4NDtlLnF1ZXN0aW9uPTU1NjtlLmF0PTEwMTU7ZS5BPTY2NztlLkI9NjY3O2UuQz03MjI7ZS5EPTcyMjtlLkU9NjY3O2UuRj02MTE7ZS5HPTc3ODtlLkg9NzIyO2UuST0yNzg7ZS5KPTUwMDtlLks9NjY3O2UuTD01NTY7ZS5NPTgzMztlLk49NzIyO2UuTz03Nzg7ZS5QPTY2NztlLlE9Nzc4O2UuUj03MjI7ZS5TPTY2NztlLlQ9NjExO2UuVT03MjI7ZS5WPTY2NztlLlc9OTQ0O2UuWD02Njc7ZS5ZPTY2NztlLlo9NjExO2UuYnJhY2tldGxlZnQ9Mjc4O2UuYmFja3NsYXNoPTI3ODtlLmJyYWNrZXRyaWdodD0yNzg7ZS5hc2NpaWNpcmN1bT00Njk7ZS51bmRlcnNjb3JlPTU1NjtlLnF1b3RlbGVmdD0yMjI7ZS5hPTU1NjtlLmI9NTU2O2UuYz01MDA7ZS5kPTU1NjtlLmU9NTU2O2UuZj0yNzg7ZS5nPTU1NjtlLmg9NTU2O2UuaT0yMjI7ZS5qPTIyMjtlLms9NTAwO2UubD0yMjI7ZS5tPTgzMztlLm49NTU2O2Uubz01NTY7ZS5wPTU1NjtlLnE9NTU2O2Uucj0zMzM7ZS5zPTUwMDtlLnQ9Mjc4O2UudT01NTY7ZS52PTUwMDtlLnc9NzIyO2UueD01MDA7ZS55PTUwMDtlLno9NTAwO2UuYnJhY2VsZWZ0PTMzNDtlLmJhcj0yNjA7ZS5icmFjZXJpZ2h0PTMzNDtlLmFzY2lpdGlsZGU9NTg0O2UuZXhjbGFtZG93bj0zMzM7ZS5jZW50PTU1NjtlLnN0ZXJsaW5nPTU1NjtlLmZyYWN0aW9uPTE2NztlLnllbj01NTY7ZS5mbG9yaW49NTU2O2Uuc2VjdGlvbj01NTY7ZS5jdXJyZW5jeT01NTY7ZS5xdW90ZXNpbmdsZT0xOTE7ZS5xdW90ZWRibGxlZnQ9MzMzO2UuZ3VpbGxlbW90bGVmdD01NTY7ZS5ndWlsc2luZ2xsZWZ0PTMzMztlLmd1aWxzaW5nbHJpZ2h0PTMzMztlLmZpPTUwMDtlLmZsPTUwMDtlLmVuZGFzaD01NTY7ZS5kYWdnZXI9NTU2O2UuZGFnZ2VyZGJsPTU1NjtlLnBlcmlvZGNlbnRlcmVkPTI3ODtlLnBhcmFncmFwaD01Mzc7ZS5idWxsZXQ9MzUwO2UucXVvdGVzaW5nbGJhc2U9MjIyO2UucXVvdGVkYmxiYXNlPTMzMztlLnF1b3RlZGJscmlnaHQ9MzMzO2UuZ3VpbGxlbW90cmlnaHQ9NTU2O2UuZWxsaXBzaXM9MWUzO2UucGVydGhvdXNhbmQ9MWUzO2UucXVlc3Rpb25kb3duPTYxMTtlLmdyYXZlPTMzMztlLmFjdXRlPTMzMztlLmNpcmN1bWZsZXg9MzMzO2UudGlsZGU9MzMzO2UubWFjcm9uPTMzMztlLmJyZXZlPTMzMztlLmRvdGFjY2VudD0zMzM7ZS5kaWVyZXNpcz0zMzM7ZS5yaW5nPTMzMztlLmNlZGlsbGE9MzMzO2UuaHVuZ2FydW1sYXV0PTMzMztlLm9nb25laz0zMzM7ZS5jYXJvbj0zMzM7ZS5lbWRhc2g9MWUzO2UuQUU9MWUzO2Uub3JkZmVtaW5pbmU9MzcwO2UuTHNsYXNoPTU1NjtlLk9zbGFzaD03Nzg7ZS5PRT0xZTM7ZS5vcmRtYXNjdWxpbmU9MzY1O2UuYWU9ODg5O2UuZG90bGVzc2k9Mjc4O2UubHNsYXNoPTIyMjtlLm9zbGFzaD02MTE7ZS5vZT05NDQ7ZS5nZXJtYW5kYmxzPTYxMTtlLklkaWVyZXNpcz0yNzg7ZS5lYWN1dGU9NTU2O2UuYWJyZXZlPTU1NjtlLnVodW5nYXJ1bWxhdXQ9NTU2O2UuZWNhcm9uPTU1NjtlLllkaWVyZXNpcz02Njc7ZS5kaXZpZGU9NTg0O2UuWWFjdXRlPTY2NztlLkFjaXJjdW1mbGV4PTY2NztlLmFhY3V0ZT01NTY7ZS5VY2lyY3VtZmxleD03MjI7ZS55YWN1dGU9NTAwO2Uuc2NvbW1hYWNjZW50PTUwMDtlLmVjaXJjdW1mbGV4PTU1NjtlLlVyaW5nPTcyMjtlLlVkaWVyZXNpcz03MjI7ZS5hb2dvbmVrPTU1NjtlLlVhY3V0ZT03MjI7ZS51b2dvbmVrPTU1NjtlLkVkaWVyZXNpcz02Njc7ZS5EY3JvYXQ9NzIyO2UuY29tbWFhY2NlbnQ9MjUwO2UuY29weXJpZ2h0PTczNztlLkVtYWNyb249NjY3O2UuY2Nhcm9uPTUwMDtlLmFyaW5nPTU1NjtlLk5jb21tYWFjY2VudD03MjI7ZS5sYWN1dGU9MjIyO2UuYWdyYXZlPTU1NjtlLlRjb21tYWFjY2VudD02MTE7ZS5DYWN1dGU9NzIyO2UuYXRpbGRlPTU1NjtlLkVkb3RhY2NlbnQ9NjY3O2Uuc2Nhcm9uPTUwMDtlLnNjZWRpbGxhPTUwMDtlLmlhY3V0ZT0yNzg7ZS5sb3plbmdlPTQ3MTtlLlJjYXJvbj03MjI7ZS5HY29tbWFhY2NlbnQ9Nzc4O2UudWNpcmN1bWZsZXg9NTU2O2UuYWNpcmN1bWZsZXg9NTU2O2UuQW1hY3Jvbj02Njc7ZS5yY2Fyb249MzMzO2UuY2NlZGlsbGE9NTAwO2UuWmRvdGFjY2VudD02MTE7ZS5UaG9ybj02Njc7ZS5PbWFjcm9uPTc3ODtlLlJhY3V0ZT03MjI7ZS5TYWN1dGU9NjY3O2UuZGNhcm9uPTY0MztlLlVtYWNyb249NzIyO2UudXJpbmc9NTU2O2UudGhyZWVzdXBlcmlvcj0zMzM7ZS5PZ3JhdmU9Nzc4O2UuQWdyYXZlPTY2NztlLkFicmV2ZT02Njc7ZS5tdWx0aXBseT01ODQ7ZS51YWN1dGU9NTU2O2UuVGNhcm9uPTYxMTtlLnBhcnRpYWxkaWZmPTQ3NjtlLnlkaWVyZXNpcz01MDA7ZS5OYWN1dGU9NzIyO2UuaWNpcmN1bWZsZXg9Mjc4O2UuRWNpcmN1bWZsZXg9NjY3O2UuYWRpZXJlc2lzPTU1NjtlLmVkaWVyZXNpcz01NTY7ZS5jYWN1dGU9NTAwO2UubmFjdXRlPTU1NjtlLnVtYWNyb249NTU2O2UuTmNhcm9uPTcyMjtlLklhY3V0ZT0yNzg7ZS5wbHVzbWludXM9NTg0O2UuYnJva2VuYmFyPTI2MDtlLnJlZ2lzdGVyZWQ9NzM3O2UuR2JyZXZlPTc3ODtlLklkb3RhY2NlbnQ9Mjc4O2Uuc3VtbWF0aW9uPTYwMDtlLkVncmF2ZT02Njc7ZS5yYWN1dGU9MzMzO2Uub21hY3Jvbj01NTY7ZS5aYWN1dGU9NjExO2UuWmNhcm9uPTYxMTtlLmdyZWF0ZXJlcXVhbD01NDk7ZS5FdGg9NzIyO2UuQ2NlZGlsbGE9NzIyO2UubGNvbW1hYWNjZW50PTIyMjtlLnRjYXJvbj0zMTc7ZS5lb2dvbmVrPTU1NjtlLlVvZ29uZWs9NzIyO2UuQWFjdXRlPTY2NztlLkFkaWVyZXNpcz02Njc7ZS5lZ3JhdmU9NTU2O2UuemFjdXRlPTUwMDtlLmlvZ29uZWs9MjIyO2UuT2FjdXRlPTc3ODtlLm9hY3V0ZT01NTY7ZS5hbWFjcm9uPTU1NjtlLnNhY3V0ZT01MDA7ZS5pZGllcmVzaXM9Mjc4O2UuT2NpcmN1bWZsZXg9Nzc4O2UuVWdyYXZlPTcyMjtlLkRlbHRhPTYxMjtlLnRob3JuPTU1NjtlLnR3b3N1cGVyaW9yPTMzMztlLk9kaWVyZXNpcz03Nzg7ZS5tdT01NTY7ZS5pZ3JhdmU9Mjc4O2Uub2h1bmdhcnVtbGF1dD01NTY7ZS5Fb2dvbmVrPTY2NztlLmRjcm9hdD01NTY7ZS50aHJlZXF1YXJ0ZXJzPTgzNDtlLlNjZWRpbGxhPTY2NztlLmxjYXJvbj0yOTk7ZS5LY29tbWFhY2NlbnQ9NjY3O2UuTGFjdXRlPTU1NjtlLnRyYWRlbWFyaz0xZTM7ZS5lZG90YWNjZW50PTU1NjtlLklncmF2ZT0yNzg7ZS5JbWFjcm9uPTI3ODtlLkxjYXJvbj01NTY7ZS5vbmVoYWxmPTgzNDtlLmxlc3NlcXVhbD01NDk7ZS5vY2lyY3VtZmxleD01NTY7ZS5udGlsZGU9NTU2O2UuVWh1bmdhcnVtbGF1dD03MjI7ZS5FYWN1dGU9NjY3O2UuZW1hY3Jvbj01NTY7ZS5nYnJldmU9NTU2O2Uub25lcXVhcnRlcj04MzQ7ZS5TY2Fyb249NjY3O2UuU2NvbW1hYWNjZW50PTY2NztlLk9odW5nYXJ1bWxhdXQ9Nzc4O2UuZGVncmVlPTQwMDtlLm9ncmF2ZT01NTY7ZS5DY2Fyb249NzIyO2UudWdyYXZlPTU1NjtlLnJhZGljYWw9NDUzO2UuRGNhcm9uPTcyMjtlLnJjb21tYWFjY2VudD0zMzM7ZS5OdGlsZGU9NzIyO2Uub3RpbGRlPTU1NjtlLlJjb21tYWFjY2VudD03MjI7ZS5MY29tbWFhY2NlbnQ9NTU2O2UuQXRpbGRlPTY2NztlLkFvZ29uZWs9NjY3O2UuQXJpbmc9NjY3O2UuT3RpbGRlPTc3ODtlLnpkb3RhY2NlbnQ9NTAwO2UuRWNhcm9uPTY2NztlLklvZ29uZWs9Mjc4O2Uua2NvbW1hYWNjZW50PTUwMDtlLm1pbnVzPTU4NDtlLkljaXJjdW1mbGV4PTI3ODtlLm5jYXJvbj01NTY7ZS50Y29tbWFhY2NlbnQ9Mjc4O2UubG9naWNhbG5vdD01ODQ7ZS5vZGllcmVzaXM9NTU2O2UudWRpZXJlc2lzPTU1NjtlLm5vdGVxdWFsPTU0OTtlLmdjb21tYWFjY2VudD01NTY7ZS5ldGg9NTU2O2UuemNhcm9uPTUwMDtlLm5jb21tYWFjY2VudD01NTY7ZS5vbmVzdXBlcmlvcj0zMzM7ZS5pbWFjcm9uPTI3ODtlLkV1cm89NTU2fSkpO2VbIkhlbHZldGljYS1Cb2xkIl09Z2V0TG9va3VwVGFibGVGYWN0b3J5KChmdW5jdGlvbihlKXtlLnNwYWNlPTI3ODtlLmV4Y2xhbT0zMzM7ZS5xdW90ZWRibD00NzQ7ZS5udW1iZXJzaWduPTU1NjtlLmRvbGxhcj01NTY7ZS5wZXJjZW50PTg4OTtlLmFtcGVyc2FuZD03MjI7ZS5xdW90ZXJpZ2h0PTI3ODtlLnBhcmVubGVmdD0zMzM7ZS5wYXJlbnJpZ2h0PTMzMztlLmFzdGVyaXNrPTM4OTtlLnBsdXM9NTg0O2UuY29tbWE9Mjc4O2UuaHlwaGVuPTMzMztlLnBlcmlvZD0yNzg7ZS5zbGFzaD0yNzg7ZS56ZXJvPTU1NjtlLm9uZT01NTY7ZS50d289NTU2O2UudGhyZWU9NTU2O2UuZm91cj01NTY7ZS5maXZlPTU1NjtlLnNpeD01NTY7ZS5zZXZlbj01NTY7ZS5laWdodD01NTY7ZS5uaW5lPTU1NjtlLmNvbG9uPTMzMztlLnNlbWljb2xvbj0zMzM7ZS5sZXNzPTU4NDtlLmVxdWFsPTU4NDtlLmdyZWF0ZXI9NTg0O2UucXVlc3Rpb249NjExO2UuYXQ9OTc1O2UuQT03MjI7ZS5CPTcyMjtlLkM9NzIyO2UuRD03MjI7ZS5FPTY2NztlLkY9NjExO2UuRz03Nzg7ZS5IPTcyMjtlLkk9Mjc4O2UuSj01NTY7ZS5LPTcyMjtlLkw9NjExO2UuTT04MzM7ZS5OPTcyMjtlLk89Nzc4O2UuUD02Njc7ZS5RPTc3ODtlLlI9NzIyO2UuUz02Njc7ZS5UPTYxMTtlLlU9NzIyO2UuVj02Njc7ZS5XPTk0NDtlLlg9NjY3O2UuWT02Njc7ZS5aPTYxMTtlLmJyYWNrZXRsZWZ0PTMzMztlLmJhY2tzbGFzaD0yNzg7ZS5icmFja2V0cmlnaHQ9MzMzO2UuYXNjaWljaXJjdW09NTg0O2UudW5kZXJzY29yZT01NTY7ZS5xdW90ZWxlZnQ9Mjc4O2UuYT01NTY7ZS5iPTYxMTtlLmM9NTU2O2UuZD02MTE7ZS5lPTU1NjtlLmY9MzMzO2UuZz02MTE7ZS5oPTYxMTtlLmk9Mjc4O2Uuaj0yNzg7ZS5rPTU1NjtlLmw9Mjc4O2UubT04ODk7ZS5uPTYxMTtlLm89NjExO2UucD02MTE7ZS5xPTYxMTtlLnI9Mzg5O2Uucz01NTY7ZS50PTMzMztlLnU9NjExO2Uudj01NTY7ZS53PTc3ODtlLng9NTU2O2UueT01NTY7ZS56PTUwMDtlLmJyYWNlbGVmdD0zODk7ZS5iYXI9MjgwO2UuYnJhY2VyaWdodD0zODk7ZS5hc2NpaXRpbGRlPTU4NDtlLmV4Y2xhbWRvd249MzMzO2UuY2VudD01NTY7ZS5zdGVybGluZz01NTY7ZS5mcmFjdGlvbj0xNjc7ZS55ZW49NTU2O2UuZmxvcmluPTU1NjtlLnNlY3Rpb249NTU2O2UuY3VycmVuY3k9NTU2O2UucXVvdGVzaW5nbGU9MjM4O2UucXVvdGVkYmxsZWZ0PTUwMDtlLmd1aWxsZW1vdGxlZnQ9NTU2O2UuZ3VpbHNpbmdsbGVmdD0zMzM7ZS5ndWlsc2luZ2xyaWdodD0zMzM7ZS5maT02MTE7ZS5mbD02MTE7ZS5lbmRhc2g9NTU2O2UuZGFnZ2VyPTU1NjtlLmRhZ2dlcmRibD01NTY7ZS5wZXJpb2RjZW50ZXJlZD0yNzg7ZS5wYXJhZ3JhcGg9NTU2O2UuYnVsbGV0PTM1MDtlLnF1b3Rlc2luZ2xiYXNlPTI3ODtlLnF1b3RlZGJsYmFzZT01MDA7ZS5xdW90ZWRibHJpZ2h0PTUwMDtlLmd1aWxsZW1vdHJpZ2h0PTU1NjtlLmVsbGlwc2lzPTFlMztlLnBlcnRob3VzYW5kPTFlMztlLnF1ZXN0aW9uZG93bj02MTE7ZS5ncmF2ZT0zMzM7ZS5hY3V0ZT0zMzM7ZS5jaXJjdW1mbGV4PTMzMztlLnRpbGRlPTMzMztlLm1hY3Jvbj0zMzM7ZS5icmV2ZT0zMzM7ZS5kb3RhY2NlbnQ9MzMzO2UuZGllcmVzaXM9MzMzO2UucmluZz0zMzM7ZS5jZWRpbGxhPTMzMztlLmh1bmdhcnVtbGF1dD0zMzM7ZS5vZ29uZWs9MzMzO2UuY2Fyb249MzMzO2UuZW1kYXNoPTFlMztlLkFFPTFlMztlLm9yZGZlbWluaW5lPTM3MDtlLkxzbGFzaD02MTE7ZS5Pc2xhc2g9Nzc4O2UuT0U9MWUzO2Uub3JkbWFzY3VsaW5lPTM2NTtlLmFlPTg4OTtlLmRvdGxlc3NpPTI3ODtlLmxzbGFzaD0yNzg7ZS5vc2xhc2g9NjExO2Uub2U9OTQ0O2UuZ2VybWFuZGJscz02MTE7ZS5JZGllcmVzaXM9Mjc4O2UuZWFjdXRlPTU1NjtlLmFicmV2ZT01NTY7ZS51aHVuZ2FydW1sYXV0PTYxMTtlLmVjYXJvbj01NTY7ZS5ZZGllcmVzaXM9NjY3O2UuZGl2aWRlPTU4NDtlLllhY3V0ZT02Njc7ZS5BY2lyY3VtZmxleD03MjI7ZS5hYWN1dGU9NTU2O2UuVWNpcmN1bWZsZXg9NzIyO2UueWFjdXRlPTU1NjtlLnNjb21tYWFjY2VudD01NTY7ZS5lY2lyY3VtZmxleD01NTY7ZS5VcmluZz03MjI7ZS5VZGllcmVzaXM9NzIyO2UuYW9nb25laz01NTY7ZS5VYWN1dGU9NzIyO2UudW9nb25laz02MTE7ZS5FZGllcmVzaXM9NjY3O2UuRGNyb2F0PTcyMjtlLmNvbW1hYWNjZW50PTI1MDtlLmNvcHlyaWdodD03Mzc7ZS5FbWFjcm9uPTY2NztlLmNjYXJvbj01NTY7ZS5hcmluZz01NTY7ZS5OY29tbWFhY2NlbnQ9NzIyO2UubGFjdXRlPTI3ODtlLmFncmF2ZT01NTY7ZS5UY29tbWFhY2NlbnQ9NjExO2UuQ2FjdXRlPTcyMjtlLmF0aWxkZT01NTY7ZS5FZG90YWNjZW50PTY2NztlLnNjYXJvbj01NTY7ZS5zY2VkaWxsYT01NTY7ZS5pYWN1dGU9Mjc4O2UubG96ZW5nZT00OTQ7ZS5SY2Fyb249NzIyO2UuR2NvbW1hYWNjZW50PTc3ODtlLnVjaXJjdW1mbGV4PTYxMTtlLmFjaXJjdW1mbGV4PTU1NjtlLkFtYWNyb249NzIyO2UucmNhcm9uPTM4OTtlLmNjZWRpbGxhPTU1NjtlLlpkb3RhY2NlbnQ9NjExO2UuVGhvcm49NjY3O2UuT21hY3Jvbj03Nzg7ZS5SYWN1dGU9NzIyO2UuU2FjdXRlPTY2NztlLmRjYXJvbj03NDM7ZS5VbWFjcm9uPTcyMjtlLnVyaW5nPTYxMTtlLnRocmVlc3VwZXJpb3I9MzMzO2UuT2dyYXZlPTc3ODtlLkFncmF2ZT03MjI7ZS5BYnJldmU9NzIyO2UubXVsdGlwbHk9NTg0O2UudWFjdXRlPTYxMTtlLlRjYXJvbj02MTE7ZS5wYXJ0aWFsZGlmZj00OTQ7ZS55ZGllcmVzaXM9NTU2O2UuTmFjdXRlPTcyMjtlLmljaXJjdW1mbGV4PTI3ODtlLkVjaXJjdW1mbGV4PTY2NztlLmFkaWVyZXNpcz01NTY7ZS5lZGllcmVzaXM9NTU2O2UuY2FjdXRlPTU1NjtlLm5hY3V0ZT02MTE7ZS51bWFjcm9uPTYxMTtlLk5jYXJvbj03MjI7ZS5JYWN1dGU9Mjc4O2UucGx1c21pbnVzPTU4NDtlLmJyb2tlbmJhcj0yODA7ZS5yZWdpc3RlcmVkPTczNztlLkdicmV2ZT03Nzg7ZS5JZG90YWNjZW50PTI3ODtlLnN1bW1hdGlvbj02MDA7ZS5FZ3JhdmU9NjY3O2UucmFjdXRlPTM4OTtlLm9tYWNyb249NjExO2UuWmFjdXRlPTYxMTtlLlpjYXJvbj02MTE7ZS5ncmVhdGVyZXF1YWw9NTQ5O2UuRXRoPTcyMjtlLkNjZWRpbGxhPTcyMjtlLmxjb21tYWFjY2VudD0yNzg7ZS50Y2Fyb249Mzg5O2UuZW9nb25laz01NTY7ZS5Vb2dvbmVrPTcyMjtlLkFhY3V0ZT03MjI7ZS5BZGllcmVzaXM9NzIyO2UuZWdyYXZlPTU1NjtlLnphY3V0ZT01MDA7ZS5pb2dvbmVrPTI3ODtlLk9hY3V0ZT03Nzg7ZS5vYWN1dGU9NjExO2UuYW1hY3Jvbj01NTY7ZS5zYWN1dGU9NTU2O2UuaWRpZXJlc2lzPTI3ODtlLk9jaXJjdW1mbGV4PTc3ODtlLlVncmF2ZT03MjI7ZS5EZWx0YT02MTI7ZS50aG9ybj02MTE7ZS50d29zdXBlcmlvcj0zMzM7ZS5PZGllcmVzaXM9Nzc4O2UubXU9NjExO2UuaWdyYXZlPTI3ODtlLm9odW5nYXJ1bWxhdXQ9NjExO2UuRW9nb25laz02Njc7ZS5kY3JvYXQ9NjExO2UudGhyZWVxdWFydGVycz04MzQ7ZS5TY2VkaWxsYT02Njc7ZS5sY2Fyb249NDAwO2UuS2NvbW1hYWNjZW50PTcyMjtlLkxhY3V0ZT02MTE7ZS50cmFkZW1hcms9MWUzO2UuZWRvdGFjY2VudD01NTY7ZS5JZ3JhdmU9Mjc4O2UuSW1hY3Jvbj0yNzg7ZS5MY2Fyb249NjExO2Uub25laGFsZj04MzQ7ZS5sZXNzZXF1YWw9NTQ5O2Uub2NpcmN1bWZsZXg9NjExO2UubnRpbGRlPTYxMTtlLlVodW5nYXJ1bWxhdXQ9NzIyO2UuRWFjdXRlPTY2NztlLmVtYWNyb249NTU2O2UuZ2JyZXZlPTYxMTtlLm9uZXF1YXJ0ZXI9ODM0O2UuU2Nhcm9uPTY2NztlLlNjb21tYWFjY2VudD02Njc7ZS5PaHVuZ2FydW1sYXV0PTc3ODtlLmRlZ3JlZT00MDA7ZS5vZ3JhdmU9NjExO2UuQ2Nhcm9uPTcyMjtlLnVncmF2ZT02MTE7ZS5yYWRpY2FsPTU0OTtlLkRjYXJvbj03MjI7ZS5yY29tbWFhY2NlbnQ9Mzg5O2UuTnRpbGRlPTcyMjtlLm90aWxkZT02MTE7ZS5SY29tbWFhY2NlbnQ9NzIyO2UuTGNvbW1hYWNjZW50PTYxMTtlLkF0aWxkZT03MjI7ZS5Bb2dvbmVrPTcyMjtlLkFyaW5nPTcyMjtlLk90aWxkZT03Nzg7ZS56ZG90YWNjZW50PTUwMDtlLkVjYXJvbj02Njc7ZS5Jb2dvbmVrPTI3ODtlLmtjb21tYWFjY2VudD01NTY7ZS5taW51cz01ODQ7ZS5JY2lyY3VtZmxleD0yNzg7ZS5uY2Fyb249NjExO2UudGNvbW1hYWNjZW50PTMzMztlLmxvZ2ljYWxub3Q9NTg0O2Uub2RpZXJlc2lzPTYxMTtlLnVkaWVyZXNpcz02MTE7ZS5ub3RlcXVhbD01NDk7ZS5nY29tbWFhY2NlbnQ9NjExO2UuZXRoPTYxMTtlLnpjYXJvbj01MDA7ZS5uY29tbWFhY2NlbnQ9NjExO2Uub25lc3VwZXJpb3I9MzMzO2UuaW1hY3Jvbj0yNzg7ZS5FdXJvPTU1Nn0pKTtlWyJIZWx2ZXRpY2EtQm9sZE9ibGlxdWUiXT1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGZ1bmN0aW9uKGUpe2Uuc3BhY2U9Mjc4O2UuZXhjbGFtPTMzMztlLnF1b3RlZGJsPTQ3NDtlLm51bWJlcnNpZ249NTU2O2UuZG9sbGFyPTU1NjtlLnBlcmNlbnQ9ODg5O2UuYW1wZXJzYW5kPTcyMjtlLnF1b3RlcmlnaHQ9Mjc4O2UucGFyZW5sZWZ0PTMzMztlLnBhcmVucmlnaHQ9MzMzO2UuYXN0ZXJpc2s9Mzg5O2UucGx1cz01ODQ7ZS5jb21tYT0yNzg7ZS5oeXBoZW49MzMzO2UucGVyaW9kPTI3ODtlLnNsYXNoPTI3ODtlLnplcm89NTU2O2Uub25lPTU1NjtlLnR3bz01NTY7ZS50aHJlZT01NTY7ZS5mb3VyPTU1NjtlLmZpdmU9NTU2O2Uuc2l4PTU1NjtlLnNldmVuPTU1NjtlLmVpZ2h0PTU1NjtlLm5pbmU9NTU2O2UuY29sb249MzMzO2Uuc2VtaWNvbG9uPTMzMztlLmxlc3M9NTg0O2UuZXF1YWw9NTg0O2UuZ3JlYXRlcj01ODQ7ZS5xdWVzdGlvbj02MTE7ZS5hdD05NzU7ZS5BPTcyMjtlLkI9NzIyO2UuQz03MjI7ZS5EPTcyMjtlLkU9NjY3O2UuRj02MTE7ZS5HPTc3ODtlLkg9NzIyO2UuST0yNzg7ZS5KPTU1NjtlLks9NzIyO2UuTD02MTE7ZS5NPTgzMztlLk49NzIyO2UuTz03Nzg7ZS5QPTY2NztlLlE9Nzc4O2UuUj03MjI7ZS5TPTY2NztlLlQ9NjExO2UuVT03MjI7ZS5WPTY2NztlLlc9OTQ0O2UuWD02Njc7ZS5ZPTY2NztlLlo9NjExO2UuYnJhY2tldGxlZnQ9MzMzO2UuYmFja3NsYXNoPTI3ODtlLmJyYWNrZXRyaWdodD0zMzM7ZS5hc2NpaWNpcmN1bT01ODQ7ZS51bmRlcnNjb3JlPTU1NjtlLnF1b3RlbGVmdD0yNzg7ZS5hPTU1NjtlLmI9NjExO2UuYz01NTY7ZS5kPTYxMTtlLmU9NTU2O2UuZj0zMzM7ZS5nPTYxMTtlLmg9NjExO2UuaT0yNzg7ZS5qPTI3ODtlLms9NTU2O2UubD0yNzg7ZS5tPTg4OTtlLm49NjExO2Uubz02MTE7ZS5wPTYxMTtlLnE9NjExO2Uucj0zODk7ZS5zPTU1NjtlLnQ9MzMzO2UudT02MTE7ZS52PTU1NjtlLnc9Nzc4O2UueD01NTY7ZS55PTU1NjtlLno9NTAwO2UuYnJhY2VsZWZ0PTM4OTtlLmJhcj0yODA7ZS5icmFjZXJpZ2h0PTM4OTtlLmFzY2lpdGlsZGU9NTg0O2UuZXhjbGFtZG93bj0zMzM7ZS5jZW50PTU1NjtlLnN0ZXJsaW5nPTU1NjtlLmZyYWN0aW9uPTE2NztlLnllbj01NTY7ZS5mbG9yaW49NTU2O2Uuc2VjdGlvbj01NTY7ZS5jdXJyZW5jeT01NTY7ZS5xdW90ZXNpbmdsZT0yMzg7ZS5xdW90ZWRibGxlZnQ9NTAwO2UuZ3VpbGxlbW90bGVmdD01NTY7ZS5ndWlsc2luZ2xsZWZ0PTMzMztlLmd1aWxzaW5nbHJpZ2h0PTMzMztlLmZpPTYxMTtlLmZsPTYxMTtlLmVuZGFzaD01NTY7ZS5kYWdnZXI9NTU2O2UuZGFnZ2VyZGJsPTU1NjtlLnBlcmlvZGNlbnRlcmVkPTI3ODtlLnBhcmFncmFwaD01NTY7ZS5idWxsZXQ9MzUwO2UucXVvdGVzaW5nbGJhc2U9Mjc4O2UucXVvdGVkYmxiYXNlPTUwMDtlLnF1b3RlZGJscmlnaHQ9NTAwO2UuZ3VpbGxlbW90cmlnaHQ9NTU2O2UuZWxsaXBzaXM9MWUzO2UucGVydGhvdXNhbmQ9MWUzO2UucXVlc3Rpb25kb3duPTYxMTtlLmdyYXZlPTMzMztlLmFjdXRlPTMzMztlLmNpcmN1bWZsZXg9MzMzO2UudGlsZGU9MzMzO2UubWFjcm9uPTMzMztlLmJyZXZlPTMzMztlLmRvdGFjY2VudD0zMzM7ZS5kaWVyZXNpcz0zMzM7ZS5yaW5nPTMzMztlLmNlZGlsbGE9MzMzO2UuaHVuZ2FydW1sYXV0PTMzMztlLm9nb25laz0zMzM7ZS5jYXJvbj0zMzM7ZS5lbWRhc2g9MWUzO2UuQUU9MWUzO2Uub3JkZmVtaW5pbmU9MzcwO2UuTHNsYXNoPTYxMTtlLk9zbGFzaD03Nzg7ZS5PRT0xZTM7ZS5vcmRtYXNjdWxpbmU9MzY1O2UuYWU9ODg5O2UuZG90bGVzc2k9Mjc4O2UubHNsYXNoPTI3ODtlLm9zbGFzaD02MTE7ZS5vZT05NDQ7ZS5nZXJtYW5kYmxzPTYxMTtlLklkaWVyZXNpcz0yNzg7ZS5lYWN1dGU9NTU2O2UuYWJyZXZlPTU1NjtlLnVodW5nYXJ1bWxhdXQ9NjExO2UuZWNhcm9uPTU1NjtlLllkaWVyZXNpcz02Njc7ZS5kaXZpZGU9NTg0O2UuWWFjdXRlPTY2NztlLkFjaXJjdW1mbGV4PTcyMjtlLmFhY3V0ZT01NTY7ZS5VY2lyY3VtZmxleD03MjI7ZS55YWN1dGU9NTU2O2Uuc2NvbW1hYWNjZW50PTU1NjtlLmVjaXJjdW1mbGV4PTU1NjtlLlVyaW5nPTcyMjtlLlVkaWVyZXNpcz03MjI7ZS5hb2dvbmVrPTU1NjtlLlVhY3V0ZT03MjI7ZS51b2dvbmVrPTYxMTtlLkVkaWVyZXNpcz02Njc7ZS5EY3JvYXQ9NzIyO2UuY29tbWFhY2NlbnQ9MjUwO2UuY29weXJpZ2h0PTczNztlLkVtYWNyb249NjY3O2UuY2Nhcm9uPTU1NjtlLmFyaW5nPTU1NjtlLk5jb21tYWFjY2VudD03MjI7ZS5sYWN1dGU9Mjc4O2UuYWdyYXZlPTU1NjtlLlRjb21tYWFjY2VudD02MTE7ZS5DYWN1dGU9NzIyO2UuYXRpbGRlPTU1NjtlLkVkb3RhY2NlbnQ9NjY3O2Uuc2Nhcm9uPTU1NjtlLnNjZWRpbGxhPTU1NjtlLmlhY3V0ZT0yNzg7ZS5sb3plbmdlPTQ5NDtlLlJjYXJvbj03MjI7ZS5HY29tbWFhY2NlbnQ9Nzc4O2UudWNpcmN1bWZsZXg9NjExO2UuYWNpcmN1bWZsZXg9NTU2O2UuQW1hY3Jvbj03MjI7ZS5yY2Fyb249Mzg5O2UuY2NlZGlsbGE9NTU2O2UuWmRvdGFjY2VudD02MTE7ZS5UaG9ybj02Njc7ZS5PbWFjcm9uPTc3ODtlLlJhY3V0ZT03MjI7ZS5TYWN1dGU9NjY3O2UuZGNhcm9uPTc0MztlLlVtYWNyb249NzIyO2UudXJpbmc9NjExO2UudGhyZWVzdXBlcmlvcj0zMzM7ZS5PZ3JhdmU9Nzc4O2UuQWdyYXZlPTcyMjtlLkFicmV2ZT03MjI7ZS5tdWx0aXBseT01ODQ7ZS51YWN1dGU9NjExO2UuVGNhcm9uPTYxMTtlLnBhcnRpYWxkaWZmPTQ5NDtlLnlkaWVyZXNpcz01NTY7ZS5OYWN1dGU9NzIyO2UuaWNpcmN1bWZsZXg9Mjc4O2UuRWNpcmN1bWZsZXg9NjY3O2UuYWRpZXJlc2lzPTU1NjtlLmVkaWVyZXNpcz01NTY7ZS5jYWN1dGU9NTU2O2UubmFjdXRlPTYxMTtlLnVtYWNyb249NjExO2UuTmNhcm9uPTcyMjtlLklhY3V0ZT0yNzg7ZS5wbHVzbWludXM9NTg0O2UuYnJva2VuYmFyPTI4MDtlLnJlZ2lzdGVyZWQ9NzM3O2UuR2JyZXZlPTc3ODtlLklkb3RhY2NlbnQ9Mjc4O2Uuc3VtbWF0aW9uPTYwMDtlLkVncmF2ZT02Njc7ZS5yYWN1dGU9Mzg5O2Uub21hY3Jvbj02MTE7ZS5aYWN1dGU9NjExO2UuWmNhcm9uPTYxMTtlLmdyZWF0ZXJlcXVhbD01NDk7ZS5FdGg9NzIyO2UuQ2NlZGlsbGE9NzIyO2UubGNvbW1hYWNjZW50PTI3ODtlLnRjYXJvbj0zODk7ZS5lb2dvbmVrPTU1NjtlLlVvZ29uZWs9NzIyO2UuQWFjdXRlPTcyMjtlLkFkaWVyZXNpcz03MjI7ZS5lZ3JhdmU9NTU2O2UuemFjdXRlPTUwMDtlLmlvZ29uZWs9Mjc4O2UuT2FjdXRlPTc3ODtlLm9hY3V0ZT02MTE7ZS5hbWFjcm9uPTU1NjtlLnNhY3V0ZT01NTY7ZS5pZGllcmVzaXM9Mjc4O2UuT2NpcmN1bWZsZXg9Nzc4O2UuVWdyYXZlPTcyMjtlLkRlbHRhPTYxMjtlLnRob3JuPTYxMTtlLnR3b3N1cGVyaW9yPTMzMztlLk9kaWVyZXNpcz03Nzg7ZS5tdT02MTE7ZS5pZ3JhdmU9Mjc4O2Uub2h1bmdhcnVtbGF1dD02MTE7ZS5Fb2dvbmVrPTY2NztlLmRjcm9hdD02MTE7ZS50aHJlZXF1YXJ0ZXJzPTgzNDtlLlNjZWRpbGxhPTY2NztlLmxjYXJvbj00MDA7ZS5LY29tbWFhY2NlbnQ9NzIyO2UuTGFjdXRlPTYxMTtlLnRyYWRlbWFyaz0xZTM7ZS5lZG90YWNjZW50PTU1NjtlLklncmF2ZT0yNzg7ZS5JbWFjcm9uPTI3ODtlLkxjYXJvbj02MTE7ZS5vbmVoYWxmPTgzNDtlLmxlc3NlcXVhbD01NDk7ZS5vY2lyY3VtZmxleD02MTE7ZS5udGlsZGU9NjExO2UuVWh1bmdhcnVtbGF1dD03MjI7ZS5FYWN1dGU9NjY3O2UuZW1hY3Jvbj01NTY7ZS5nYnJldmU9NjExO2Uub25lcXVhcnRlcj04MzQ7ZS5TY2Fyb249NjY3O2UuU2NvbW1hYWNjZW50PTY2NztlLk9odW5nYXJ1bWxhdXQ9Nzc4O2UuZGVncmVlPTQwMDtlLm9ncmF2ZT02MTE7ZS5DY2Fyb249NzIyO2UudWdyYXZlPTYxMTtlLnJhZGljYWw9NTQ5O2UuRGNhcm9uPTcyMjtlLnJjb21tYWFjY2VudD0zODk7ZS5OdGlsZGU9NzIyO2Uub3RpbGRlPTYxMTtlLlJjb21tYWFjY2VudD03MjI7ZS5MY29tbWFhY2NlbnQ9NjExO2UuQXRpbGRlPTcyMjtlLkFvZ29uZWs9NzIyO2UuQXJpbmc9NzIyO2UuT3RpbGRlPTc3ODtlLnpkb3RhY2NlbnQ9NTAwO2UuRWNhcm9uPTY2NztlLklvZ29uZWs9Mjc4O2Uua2NvbW1hYWNjZW50PTU1NjtlLm1pbnVzPTU4NDtlLkljaXJjdW1mbGV4PTI3ODtlLm5jYXJvbj02MTE7ZS50Y29tbWFhY2NlbnQ9MzMzO2UubG9naWNhbG5vdD01ODQ7ZS5vZGllcmVzaXM9NjExO2UudWRpZXJlc2lzPTYxMTtlLm5vdGVxdWFsPTU0OTtlLmdjb21tYWFjY2VudD02MTE7ZS5ldGg9NjExO2UuemNhcm9uPTUwMDtlLm5jb21tYWFjY2VudD02MTE7ZS5vbmVzdXBlcmlvcj0zMzM7ZS5pbWFjcm9uPTI3ODtlLkV1cm89NTU2fSkpO2VbIkhlbHZldGljYS1PYmxpcXVlIl09Z2V0TG9va3VwVGFibGVGYWN0b3J5KChmdW5jdGlvbihlKXtlLnNwYWNlPTI3ODtlLmV4Y2xhbT0yNzg7ZS5xdW90ZWRibD0zNTU7ZS5udW1iZXJzaWduPTU1NjtlLmRvbGxhcj01NTY7ZS5wZXJjZW50PTg4OTtlLmFtcGVyc2FuZD02Njc7ZS5xdW90ZXJpZ2h0PTIyMjtlLnBhcmVubGVmdD0zMzM7ZS5wYXJlbnJpZ2h0PTMzMztlLmFzdGVyaXNrPTM4OTtlLnBsdXM9NTg0O2UuY29tbWE9Mjc4O2UuaHlwaGVuPTMzMztlLnBlcmlvZD0yNzg7ZS5zbGFzaD0yNzg7ZS56ZXJvPTU1NjtlLm9uZT01NTY7ZS50d289NTU2O2UudGhyZWU9NTU2O2UuZm91cj01NTY7ZS5maXZlPTU1NjtlLnNpeD01NTY7ZS5zZXZlbj01NTY7ZS5laWdodD01NTY7ZS5uaW5lPTU1NjtlLmNvbG9uPTI3ODtlLnNlbWljb2xvbj0yNzg7ZS5sZXNzPTU4NDtlLmVxdWFsPTU4NDtlLmdyZWF0ZXI9NTg0O2UucXVlc3Rpb249NTU2O2UuYXQ9MTAxNTtlLkE9NjY3O2UuQj02Njc7ZS5DPTcyMjtlLkQ9NzIyO2UuRT02Njc7ZS5GPTYxMTtlLkc9Nzc4O2UuSD03MjI7ZS5JPTI3ODtlLko9NTAwO2UuSz02Njc7ZS5MPTU1NjtlLk09ODMzO2UuTj03MjI7ZS5PPTc3ODtlLlA9NjY3O2UuUT03Nzg7ZS5SPTcyMjtlLlM9NjY3O2UuVD02MTE7ZS5VPTcyMjtlLlY9NjY3O2UuVz05NDQ7ZS5YPTY2NztlLlk9NjY3O2UuWj02MTE7ZS5icmFja2V0bGVmdD0yNzg7ZS5iYWNrc2xhc2g9Mjc4O2UuYnJhY2tldHJpZ2h0PTI3ODtlLmFzY2lpY2lyY3VtPTQ2OTtlLnVuZGVyc2NvcmU9NTU2O2UucXVvdGVsZWZ0PTIyMjtlLmE9NTU2O2UuYj01NTY7ZS5jPTUwMDtlLmQ9NTU2O2UuZT01NTY7ZS5mPTI3ODtlLmc9NTU2O2UuaD01NTY7ZS5pPTIyMjtlLmo9MjIyO2Uuaz01MDA7ZS5sPTIyMjtlLm09ODMzO2Uubj01NTY7ZS5vPTU1NjtlLnA9NTU2O2UucT01NTY7ZS5yPTMzMztlLnM9NTAwO2UudD0yNzg7ZS51PTU1NjtlLnY9NTAwO2Uudz03MjI7ZS54PTUwMDtlLnk9NTAwO2Uuej01MDA7ZS5icmFjZWxlZnQ9MzM0O2UuYmFyPTI2MDtlLmJyYWNlcmlnaHQ9MzM0O2UuYXNjaWl0aWxkZT01ODQ7ZS5leGNsYW1kb3duPTMzMztlLmNlbnQ9NTU2O2Uuc3Rlcmxpbmc9NTU2O2UuZnJhY3Rpb249MTY3O2UueWVuPTU1NjtlLmZsb3Jpbj01NTY7ZS5zZWN0aW9uPTU1NjtlLmN1cnJlbmN5PTU1NjtlLnF1b3Rlc2luZ2xlPTE5MTtlLnF1b3RlZGJsbGVmdD0zMzM7ZS5ndWlsbGVtb3RsZWZ0PTU1NjtlLmd1aWxzaW5nbGxlZnQ9MzMzO2UuZ3VpbHNpbmdscmlnaHQ9MzMzO2UuZmk9NTAwO2UuZmw9NTAwO2UuZW5kYXNoPTU1NjtlLmRhZ2dlcj01NTY7ZS5kYWdnZXJkYmw9NTU2O2UucGVyaW9kY2VudGVyZWQ9Mjc4O2UucGFyYWdyYXBoPTUzNztlLmJ1bGxldD0zNTA7ZS5xdW90ZXNpbmdsYmFzZT0yMjI7ZS5xdW90ZWRibGJhc2U9MzMzO2UucXVvdGVkYmxyaWdodD0zMzM7ZS5ndWlsbGVtb3RyaWdodD01NTY7ZS5lbGxpcHNpcz0xZTM7ZS5wZXJ0aG91c2FuZD0xZTM7ZS5xdWVzdGlvbmRvd249NjExO2UuZ3JhdmU9MzMzO2UuYWN1dGU9MzMzO2UuY2lyY3VtZmxleD0zMzM7ZS50aWxkZT0zMzM7ZS5tYWNyb249MzMzO2UuYnJldmU9MzMzO2UuZG90YWNjZW50PTMzMztlLmRpZXJlc2lzPTMzMztlLnJpbmc9MzMzO2UuY2VkaWxsYT0zMzM7ZS5odW5nYXJ1bWxhdXQ9MzMzO2Uub2dvbmVrPTMzMztlLmNhcm9uPTMzMztlLmVtZGFzaD0xZTM7ZS5BRT0xZTM7ZS5vcmRmZW1pbmluZT0zNzA7ZS5Mc2xhc2g9NTU2O2UuT3NsYXNoPTc3ODtlLk9FPTFlMztlLm9yZG1hc2N1bGluZT0zNjU7ZS5hZT04ODk7ZS5kb3RsZXNzaT0yNzg7ZS5sc2xhc2g9MjIyO2Uub3NsYXNoPTYxMTtlLm9lPTk0NDtlLmdlcm1hbmRibHM9NjExO2UuSWRpZXJlc2lzPTI3ODtlLmVhY3V0ZT01NTY7ZS5hYnJldmU9NTU2O2UudWh1bmdhcnVtbGF1dD01NTY7ZS5lY2Fyb249NTU2O2UuWWRpZXJlc2lzPTY2NztlLmRpdmlkZT01ODQ7ZS5ZYWN1dGU9NjY3O2UuQWNpcmN1bWZsZXg9NjY3O2UuYWFjdXRlPTU1NjtlLlVjaXJjdW1mbGV4PTcyMjtlLnlhY3V0ZT01MDA7ZS5zY29tbWFhY2NlbnQ9NTAwO2UuZWNpcmN1bWZsZXg9NTU2O2UuVXJpbmc9NzIyO2UuVWRpZXJlc2lzPTcyMjtlLmFvZ29uZWs9NTU2O2UuVWFjdXRlPTcyMjtlLnVvZ29uZWs9NTU2O2UuRWRpZXJlc2lzPTY2NztlLkRjcm9hdD03MjI7ZS5jb21tYWFjY2VudD0yNTA7ZS5jb3B5cmlnaHQ9NzM3O2UuRW1hY3Jvbj02Njc7ZS5jY2Fyb249NTAwO2UuYXJpbmc9NTU2O2UuTmNvbW1hYWNjZW50PTcyMjtlLmxhY3V0ZT0yMjI7ZS5hZ3JhdmU9NTU2O2UuVGNvbW1hYWNjZW50PTYxMTtlLkNhY3V0ZT03MjI7ZS5hdGlsZGU9NTU2O2UuRWRvdGFjY2VudD02Njc7ZS5zY2Fyb249NTAwO2Uuc2NlZGlsbGE9NTAwO2UuaWFjdXRlPTI3ODtlLmxvemVuZ2U9NDcxO2UuUmNhcm9uPTcyMjtlLkdjb21tYWFjY2VudD03Nzg7ZS51Y2lyY3VtZmxleD01NTY7ZS5hY2lyY3VtZmxleD01NTY7ZS5BbWFjcm9uPTY2NztlLnJjYXJvbj0zMzM7ZS5jY2VkaWxsYT01MDA7ZS5aZG90YWNjZW50PTYxMTtlLlRob3JuPTY2NztlLk9tYWNyb249Nzc4O2UuUmFjdXRlPTcyMjtlLlNhY3V0ZT02Njc7ZS5kY2Fyb249NjQzO2UuVW1hY3Jvbj03MjI7ZS51cmluZz01NTY7ZS50aHJlZXN1cGVyaW9yPTMzMztlLk9ncmF2ZT03Nzg7ZS5BZ3JhdmU9NjY3O2UuQWJyZXZlPTY2NztlLm11bHRpcGx5PTU4NDtlLnVhY3V0ZT01NTY7ZS5UY2Fyb249NjExO2UucGFydGlhbGRpZmY9NDc2O2UueWRpZXJlc2lzPTUwMDtlLk5hY3V0ZT03MjI7ZS5pY2lyY3VtZmxleD0yNzg7ZS5FY2lyY3VtZmxleD02Njc7ZS5hZGllcmVzaXM9NTU2O2UuZWRpZXJlc2lzPTU1NjtlLmNhY3V0ZT01MDA7ZS5uYWN1dGU9NTU2O2UudW1hY3Jvbj01NTY7ZS5OY2Fyb249NzIyO2UuSWFjdXRlPTI3ODtlLnBsdXNtaW51cz01ODQ7ZS5icm9rZW5iYXI9MjYwO2UucmVnaXN0ZXJlZD03Mzc7ZS5HYnJldmU9Nzc4O2UuSWRvdGFjY2VudD0yNzg7ZS5zdW1tYXRpb249NjAwO2UuRWdyYXZlPTY2NztlLnJhY3V0ZT0zMzM7ZS5vbWFjcm9uPTU1NjtlLlphY3V0ZT02MTE7ZS5aY2Fyb249NjExO2UuZ3JlYXRlcmVxdWFsPTU0OTtlLkV0aD03MjI7ZS5DY2VkaWxsYT03MjI7ZS5sY29tbWFhY2NlbnQ9MjIyO2UudGNhcm9uPTMxNztlLmVvZ29uZWs9NTU2O2UuVW9nb25laz03MjI7ZS5BYWN1dGU9NjY3O2UuQWRpZXJlc2lzPTY2NztlLmVncmF2ZT01NTY7ZS56YWN1dGU9NTAwO2UuaW9nb25laz0yMjI7ZS5PYWN1dGU9Nzc4O2Uub2FjdXRlPTU1NjtlLmFtYWNyb249NTU2O2Uuc2FjdXRlPTUwMDtlLmlkaWVyZXNpcz0yNzg7ZS5PY2lyY3VtZmxleD03Nzg7ZS5VZ3JhdmU9NzIyO2UuRGVsdGE9NjEyO2UudGhvcm49NTU2O2UudHdvc3VwZXJpb3I9MzMzO2UuT2RpZXJlc2lzPTc3ODtlLm11PTU1NjtlLmlncmF2ZT0yNzg7ZS5vaHVuZ2FydW1sYXV0PTU1NjtlLkVvZ29uZWs9NjY3O2UuZGNyb2F0PTU1NjtlLnRocmVlcXVhcnRlcnM9ODM0O2UuU2NlZGlsbGE9NjY3O2UubGNhcm9uPTI5OTtlLktjb21tYWFjY2VudD02Njc7ZS5MYWN1dGU9NTU2O2UudHJhZGVtYXJrPTFlMztlLmVkb3RhY2NlbnQ9NTU2O2UuSWdyYXZlPTI3ODtlLkltYWNyb249Mjc4O2UuTGNhcm9uPTU1NjtlLm9uZWhhbGY9ODM0O2UubGVzc2VxdWFsPTU0OTtlLm9jaXJjdW1mbGV4PTU1NjtlLm50aWxkZT01NTY7ZS5VaHVuZ2FydW1sYXV0PTcyMjtlLkVhY3V0ZT02Njc7ZS5lbWFjcm9uPTU1NjtlLmdicmV2ZT01NTY7ZS5vbmVxdWFydGVyPTgzNDtlLlNjYXJvbj02Njc7ZS5TY29tbWFhY2NlbnQ9NjY3O2UuT2h1bmdhcnVtbGF1dD03Nzg7ZS5kZWdyZWU9NDAwO2Uub2dyYXZlPTU1NjtlLkNjYXJvbj03MjI7ZS51Z3JhdmU9NTU2O2UucmFkaWNhbD00NTM7ZS5EY2Fyb249NzIyO2UucmNvbW1hYWNjZW50PTMzMztlLk50aWxkZT03MjI7ZS5vdGlsZGU9NTU2O2UuUmNvbW1hYWNjZW50PTcyMjtlLkxjb21tYWFjY2VudD01NTY7ZS5BdGlsZGU9NjY3O2UuQW9nb25laz02Njc7ZS5BcmluZz02Njc7ZS5PdGlsZGU9Nzc4O2UuemRvdGFjY2VudD01MDA7ZS5FY2Fyb249NjY3O2UuSW9nb25laz0yNzg7ZS5rY29tbWFhY2NlbnQ9NTAwO2UubWludXM9NTg0O2UuSWNpcmN1bWZsZXg9Mjc4O2UubmNhcm9uPTU1NjtlLnRjb21tYWFjY2VudD0yNzg7ZS5sb2dpY2Fsbm90PTU4NDtlLm9kaWVyZXNpcz01NTY7ZS51ZGllcmVzaXM9NTU2O2Uubm90ZXF1YWw9NTQ5O2UuZ2NvbW1hYWNjZW50PTU1NjtlLmV0aD01NTY7ZS56Y2Fyb249NTAwO2UubmNvbW1hYWNjZW50PTU1NjtlLm9uZXN1cGVyaW9yPTMzMztlLmltYWNyb249Mjc4O2UuRXVybz01NTZ9KSk7ZS5TeW1ib2w9Z2V0TG9va3VwVGFibGVGYWN0b3J5KChmdW5jdGlvbihlKXtlLnNwYWNlPTI1MDtlLmV4Y2xhbT0zMzM7ZS51bml2ZXJzYWw9NzEzO2UubnVtYmVyc2lnbj01MDA7ZS5leGlzdGVudGlhbD01NDk7ZS5wZXJjZW50PTgzMztlLmFtcGVyc2FuZD03Nzg7ZS5zdWNodGhhdD00Mzk7ZS5wYXJlbmxlZnQ9MzMzO2UucGFyZW5yaWdodD0zMzM7ZS5hc3Rlcmlza21hdGg9NTAwO2UucGx1cz01NDk7ZS5jb21tYT0yNTA7ZS5taW51cz01NDk7ZS5wZXJpb2Q9MjUwO2Uuc2xhc2g9Mjc4O2UuemVybz01MDA7ZS5vbmU9NTAwO2UudHdvPTUwMDtlLnRocmVlPTUwMDtlLmZvdXI9NTAwO2UuZml2ZT01MDA7ZS5zaXg9NTAwO2Uuc2V2ZW49NTAwO2UuZWlnaHQ9NTAwO2UubmluZT01MDA7ZS5jb2xvbj0yNzg7ZS5zZW1pY29sb249Mjc4O2UubGVzcz01NDk7ZS5lcXVhbD01NDk7ZS5ncmVhdGVyPTU0OTtlLnF1ZXN0aW9uPTQ0NDtlLmNvbmdydWVudD01NDk7ZS5BbHBoYT03MjI7ZS5CZXRhPTY2NztlLkNoaT03MjI7ZS5EZWx0YT02MTI7ZS5FcHNpbG9uPTYxMTtlLlBoaT03NjM7ZS5HYW1tYT02MDM7ZS5FdGE9NzIyO2UuSW90YT0zMzM7ZS50aGV0YTE9NjMxO2UuS2FwcGE9NzIyO2UuTGFtYmRhPTY4NjtlLk11PTg4OTtlLk51PTcyMjtlLk9taWNyb249NzIyO2UuUGk9NzY4O2UuVGhldGE9NzQxO2UuUmhvPTU1NjtlLlNpZ21hPTU5MjtlLlRhdT02MTE7ZS5VcHNpbG9uPTY5MDtlLnNpZ21hMT00Mzk7ZS5PbWVnYT03Njg7ZS5YaT02NDU7ZS5Qc2k9Nzk1O2UuWmV0YT02MTE7ZS5icmFja2V0bGVmdD0zMzM7ZS50aGVyZWZvcmU9ODYzO2UuYnJhY2tldHJpZ2h0PTMzMztlLnBlcnBlbmRpY3VsYXI9NjU4O2UudW5kZXJzY29yZT01MDA7ZS5yYWRpY2FsZXg9NTAwO2UuYWxwaGE9NjMxO2UuYmV0YT01NDk7ZS5jaGk9NTQ5O2UuZGVsdGE9NDk0O2UuZXBzaWxvbj00Mzk7ZS5waGk9NTIxO2UuZ2FtbWE9NDExO2UuZXRhPTYwMztlLmlvdGE9MzI5O2UucGhpMT02MDM7ZS5rYXBwYT01NDk7ZS5sYW1iZGE9NTQ5O2UubXU9NTc2O2UubnU9NTIxO2Uub21pY3Jvbj01NDk7ZS5waT01NDk7ZS50aGV0YT01MjE7ZS5yaG89NTQ5O2Uuc2lnbWE9NjAzO2UudGF1PTQzOTtlLnVwc2lsb249NTc2O2Uub21lZ2ExPTcxMztlLm9tZWdhPTY4NjtlLnhpPTQ5MztlLnBzaT02ODY7ZS56ZXRhPTQ5NDtlLmJyYWNlbGVmdD00ODA7ZS5iYXI9MjAwO2UuYnJhY2VyaWdodD00ODA7ZS5zaW1pbGFyPTU0OTtlLkV1cm89NzUwO2UuVXBzaWxvbjE9NjIwO2UubWludXRlPTI0NztlLmxlc3NlcXVhbD01NDk7ZS5mcmFjdGlvbj0xNjc7ZS5pbmZpbml0eT03MTM7ZS5mbG9yaW49NTAwO2UuY2x1Yj03NTM7ZS5kaWFtb25kPTc1MztlLmhlYXJ0PTc1MztlLnNwYWRlPTc1MztlLmFycm93Ym90aD0xMDQyO2UuYXJyb3dsZWZ0PTk4NztlLmFycm93dXA9NjAzO2UuYXJyb3dyaWdodD05ODc7ZS5hcnJvd2Rvd249NjAzO2UuZGVncmVlPTQwMDtlLnBsdXNtaW51cz01NDk7ZS5zZWNvbmQ9NDExO2UuZ3JlYXRlcmVxdWFsPTU0OTtlLm11bHRpcGx5PTU0OTtlLnByb3BvcnRpb25hbD03MTM7ZS5wYXJ0aWFsZGlmZj00OTQ7ZS5idWxsZXQ9NDYwO2UuZGl2aWRlPTU0OTtlLm5vdGVxdWFsPTU0OTtlLmVxdWl2YWxlbmNlPTU0OTtlLmFwcHJveGVxdWFsPTU0OTtlLmVsbGlwc2lzPTFlMztlLmFycm93dmVydGV4PTYwMztlLmFycm93aG9yaXpleD0xZTM7ZS5jYXJyaWFnZXJldHVybj02NTg7ZS5hbGVwaD04MjM7ZS5JZnJha3R1cj02ODY7ZS5SZnJha3R1cj03OTU7ZS53ZWllcnN0cmFzcz05ODc7ZS5jaXJjbGVtdWx0aXBseT03Njg7ZS5jaXJjbGVwbHVzPTc2ODtlLmVtcHR5c2V0PTgyMztlLmludGVyc2VjdGlvbj03Njg7ZS51bmlvbj03Njg7ZS5wcm9wZXJzdXBlcnNldD03MTM7ZS5yZWZsZXhzdXBlcnNldD03MTM7ZS5ub3RzdWJzZXQ9NzEzO2UucHJvcGVyc3Vic2V0PTcxMztlLnJlZmxleHN1YnNldD03MTM7ZS5lbGVtZW50PTcxMztlLm5vdGVsZW1lbnQ9NzEzO2UuYW5nbGU9NzY4O2UuZ3JhZGllbnQ9NzEzO2UucmVnaXN0ZXJzZXJpZj03OTA7ZS5jb3B5cmlnaHRzZXJpZj03OTA7ZS50cmFkZW1hcmtzZXJpZj04OTA7ZS5wcm9kdWN0PTgyMztlLnJhZGljYWw9NTQ5O2UuZG90bWF0aD0yNTA7ZS5sb2dpY2Fsbm90PTcxMztlLmxvZ2ljYWxhbmQ9NjAzO2UubG9naWNhbG9yPTYwMztlLmFycm93ZGJsYm90aD0xMDQyO2UuYXJyb3dkYmxsZWZ0PTk4NztlLmFycm93ZGJsdXA9NjAzO2UuYXJyb3dkYmxyaWdodD05ODc7ZS5hcnJvd2RibGRvd249NjAzO2UubG96ZW5nZT00OTQ7ZS5hbmdsZWxlZnQ9MzI5O2UucmVnaXN0ZXJzYW5zPTc5MDtlLmNvcHlyaWdodHNhbnM9NzkwO2UudHJhZGVtYXJrc2Fucz03ODY7ZS5zdW1tYXRpb249NzEzO2UucGFyZW5sZWZ0dHA9Mzg0O2UucGFyZW5sZWZ0ZXg9Mzg0O2UucGFyZW5sZWZ0YnQ9Mzg0O2UuYnJhY2tldGxlZnR0cD0zODQ7ZS5icmFja2V0bGVmdGV4PTM4NDtlLmJyYWNrZXRsZWZ0YnQ9Mzg0O2UuYnJhY2VsZWZ0dHA9NDk0O2UuYnJhY2VsZWZ0bWlkPTQ5NDtlLmJyYWNlbGVmdGJ0PTQ5NDtlLmJyYWNlZXg9NDk0O2UuYW5nbGVyaWdodD0zMjk7ZS5pbnRlZ3JhbD0yNzQ7ZS5pbnRlZ3JhbHRwPTY4NjtlLmludGVncmFsZXg9Njg2O2UuaW50ZWdyYWxidD02ODY7ZS5wYXJlbnJpZ2h0dHA9Mzg0O2UucGFyZW5yaWdodGV4PTM4NDtlLnBhcmVucmlnaHRidD0zODQ7ZS5icmFja2V0cmlnaHR0cD0zODQ7ZS5icmFja2V0cmlnaHRleD0zODQ7ZS5icmFja2V0cmlnaHRidD0zODQ7ZS5icmFjZXJpZ2h0dHA9NDk0O2UuYnJhY2VyaWdodG1pZD00OTQ7ZS5icmFjZXJpZ2h0YnQ9NDk0O2UuYXBwbGU9NzkwfSkpO2VbIlRpbWVzLVJvbWFuIl09Z2V0TG9va3VwVGFibGVGYWN0b3J5KChmdW5jdGlvbihlKXtlLnNwYWNlPTI1MDtlLmV4Y2xhbT0zMzM7ZS5xdW90ZWRibD00MDg7ZS5udW1iZXJzaWduPTUwMDtlLmRvbGxhcj01MDA7ZS5wZXJjZW50PTgzMztlLmFtcGVyc2FuZD03Nzg7ZS5xdW90ZXJpZ2h0PTMzMztlLnBhcmVubGVmdD0zMzM7ZS5wYXJlbnJpZ2h0PTMzMztlLmFzdGVyaXNrPTUwMDtlLnBsdXM9NTY0O2UuY29tbWE9MjUwO2UuaHlwaGVuPTMzMztlLnBlcmlvZD0yNTA7ZS5zbGFzaD0yNzg7ZS56ZXJvPTUwMDtlLm9uZT01MDA7ZS50d289NTAwO2UudGhyZWU9NTAwO2UuZm91cj01MDA7ZS5maXZlPTUwMDtlLnNpeD01MDA7ZS5zZXZlbj01MDA7ZS5laWdodD01MDA7ZS5uaW5lPTUwMDtlLmNvbG9uPTI3ODtlLnNlbWljb2xvbj0yNzg7ZS5sZXNzPTU2NDtlLmVxdWFsPTU2NDtlLmdyZWF0ZXI9NTY0O2UucXVlc3Rpb249NDQ0O2UuYXQ9OTIxO2UuQT03MjI7ZS5CPTY2NztlLkM9NjY3O2UuRD03MjI7ZS5FPTYxMTtlLkY9NTU2O2UuRz03MjI7ZS5IPTcyMjtlLkk9MzMzO2UuSj0zODk7ZS5LPTcyMjtlLkw9NjExO2UuTT04ODk7ZS5OPTcyMjtlLk89NzIyO2UuUD01NTY7ZS5RPTcyMjtlLlI9NjY3O2UuUz01NTY7ZS5UPTYxMTtlLlU9NzIyO2UuVj03MjI7ZS5XPTk0NDtlLlg9NzIyO2UuWT03MjI7ZS5aPTYxMTtlLmJyYWNrZXRsZWZ0PTMzMztlLmJhY2tzbGFzaD0yNzg7ZS5icmFja2V0cmlnaHQ9MzMzO2UuYXNjaWljaXJjdW09NDY5O2UudW5kZXJzY29yZT01MDA7ZS5xdW90ZWxlZnQ9MzMzO2UuYT00NDQ7ZS5iPTUwMDtlLmM9NDQ0O2UuZD01MDA7ZS5lPTQ0NDtlLmY9MzMzO2UuZz01MDA7ZS5oPTUwMDtlLmk9Mjc4O2Uuaj0yNzg7ZS5rPTUwMDtlLmw9Mjc4O2UubT03Nzg7ZS5uPTUwMDtlLm89NTAwO2UucD01MDA7ZS5xPTUwMDtlLnI9MzMzO2Uucz0zODk7ZS50PTI3ODtlLnU9NTAwO2Uudj01MDA7ZS53PTcyMjtlLng9NTAwO2UueT01MDA7ZS56PTQ0NDtlLmJyYWNlbGVmdD00ODA7ZS5iYXI9MjAwO2UuYnJhY2VyaWdodD00ODA7ZS5hc2NpaXRpbGRlPTU0MTtlLmV4Y2xhbWRvd249MzMzO2UuY2VudD01MDA7ZS5zdGVybGluZz01MDA7ZS5mcmFjdGlvbj0xNjc7ZS55ZW49NTAwO2UuZmxvcmluPTUwMDtlLnNlY3Rpb249NTAwO2UuY3VycmVuY3k9NTAwO2UucXVvdGVzaW5nbGU9MTgwO2UucXVvdGVkYmxsZWZ0PTQ0NDtlLmd1aWxsZW1vdGxlZnQ9NTAwO2UuZ3VpbHNpbmdsbGVmdD0zMzM7ZS5ndWlsc2luZ2xyaWdodD0zMzM7ZS5maT01NTY7ZS5mbD01NTY7ZS5lbmRhc2g9NTAwO2UuZGFnZ2VyPTUwMDtlLmRhZ2dlcmRibD01MDA7ZS5wZXJpb2RjZW50ZXJlZD0yNTA7ZS5wYXJhZ3JhcGg9NDUzO2UuYnVsbGV0PTM1MDtlLnF1b3Rlc2luZ2xiYXNlPTMzMztlLnF1b3RlZGJsYmFzZT00NDQ7ZS5xdW90ZWRibHJpZ2h0PTQ0NDtlLmd1aWxsZW1vdHJpZ2h0PTUwMDtlLmVsbGlwc2lzPTFlMztlLnBlcnRob3VzYW5kPTFlMztlLnF1ZXN0aW9uZG93bj00NDQ7ZS5ncmF2ZT0zMzM7ZS5hY3V0ZT0zMzM7ZS5jaXJjdW1mbGV4PTMzMztlLnRpbGRlPTMzMztlLm1hY3Jvbj0zMzM7ZS5icmV2ZT0zMzM7ZS5kb3RhY2NlbnQ9MzMzO2UuZGllcmVzaXM9MzMzO2UucmluZz0zMzM7ZS5jZWRpbGxhPTMzMztlLmh1bmdhcnVtbGF1dD0zMzM7ZS5vZ29uZWs9MzMzO2UuY2Fyb249MzMzO2UuZW1kYXNoPTFlMztlLkFFPTg4OTtlLm9yZGZlbWluaW5lPTI3NjtlLkxzbGFzaD02MTE7ZS5Pc2xhc2g9NzIyO2UuT0U9ODg5O2Uub3JkbWFzY3VsaW5lPTMxMDtlLmFlPTY2NztlLmRvdGxlc3NpPTI3ODtlLmxzbGFzaD0yNzg7ZS5vc2xhc2g9NTAwO2Uub2U9NzIyO2UuZ2VybWFuZGJscz01MDA7ZS5JZGllcmVzaXM9MzMzO2UuZWFjdXRlPTQ0NDtlLmFicmV2ZT00NDQ7ZS51aHVuZ2FydW1sYXV0PTUwMDtlLmVjYXJvbj00NDQ7ZS5ZZGllcmVzaXM9NzIyO2UuZGl2aWRlPTU2NDtlLllhY3V0ZT03MjI7ZS5BY2lyY3VtZmxleD03MjI7ZS5hYWN1dGU9NDQ0O2UuVWNpcmN1bWZsZXg9NzIyO2UueWFjdXRlPTUwMDtlLnNjb21tYWFjY2VudD0zODk7ZS5lY2lyY3VtZmxleD00NDQ7ZS5VcmluZz03MjI7ZS5VZGllcmVzaXM9NzIyO2UuYW9nb25laz00NDQ7ZS5VYWN1dGU9NzIyO2UudW9nb25laz01MDA7ZS5FZGllcmVzaXM9NjExO2UuRGNyb2F0PTcyMjtlLmNvbW1hYWNjZW50PTI1MDtlLmNvcHlyaWdodD03NjA7ZS5FbWFjcm9uPTYxMTtlLmNjYXJvbj00NDQ7ZS5hcmluZz00NDQ7ZS5OY29tbWFhY2NlbnQ9NzIyO2UubGFjdXRlPTI3ODtlLmFncmF2ZT00NDQ7ZS5UY29tbWFhY2NlbnQ9NjExO2UuQ2FjdXRlPTY2NztlLmF0aWxkZT00NDQ7ZS5FZG90YWNjZW50PTYxMTtlLnNjYXJvbj0zODk7ZS5zY2VkaWxsYT0zODk7ZS5pYWN1dGU9Mjc4O2UubG96ZW5nZT00NzE7ZS5SY2Fyb249NjY3O2UuR2NvbW1hYWNjZW50PTcyMjtlLnVjaXJjdW1mbGV4PTUwMDtlLmFjaXJjdW1mbGV4PTQ0NDtlLkFtYWNyb249NzIyO2UucmNhcm9uPTMzMztlLmNjZWRpbGxhPTQ0NDtlLlpkb3RhY2NlbnQ9NjExO2UuVGhvcm49NTU2O2UuT21hY3Jvbj03MjI7ZS5SYWN1dGU9NjY3O2UuU2FjdXRlPTU1NjtlLmRjYXJvbj01ODg7ZS5VbWFjcm9uPTcyMjtlLnVyaW5nPTUwMDtlLnRocmVlc3VwZXJpb3I9MzAwO2UuT2dyYXZlPTcyMjtlLkFncmF2ZT03MjI7ZS5BYnJldmU9NzIyO2UubXVsdGlwbHk9NTY0O2UudWFjdXRlPTUwMDtlLlRjYXJvbj02MTE7ZS5wYXJ0aWFsZGlmZj00NzY7ZS55ZGllcmVzaXM9NTAwO2UuTmFjdXRlPTcyMjtlLmljaXJjdW1mbGV4PTI3ODtlLkVjaXJjdW1mbGV4PTYxMTtlLmFkaWVyZXNpcz00NDQ7ZS5lZGllcmVzaXM9NDQ0O2UuY2FjdXRlPTQ0NDtlLm5hY3V0ZT01MDA7ZS51bWFjcm9uPTUwMDtlLk5jYXJvbj03MjI7ZS5JYWN1dGU9MzMzO2UucGx1c21pbnVzPTU2NDtlLmJyb2tlbmJhcj0yMDA7ZS5yZWdpc3RlcmVkPTc2MDtlLkdicmV2ZT03MjI7ZS5JZG90YWNjZW50PTMzMztlLnN1bW1hdGlvbj02MDA7ZS5FZ3JhdmU9NjExO2UucmFjdXRlPTMzMztlLm9tYWNyb249NTAwO2UuWmFjdXRlPTYxMTtlLlpjYXJvbj02MTE7ZS5ncmVhdGVyZXF1YWw9NTQ5O2UuRXRoPTcyMjtlLkNjZWRpbGxhPTY2NztlLmxjb21tYWFjY2VudD0yNzg7ZS50Y2Fyb249MzI2O2UuZW9nb25laz00NDQ7ZS5Vb2dvbmVrPTcyMjtlLkFhY3V0ZT03MjI7ZS5BZGllcmVzaXM9NzIyO2UuZWdyYXZlPTQ0NDtlLnphY3V0ZT00NDQ7ZS5pb2dvbmVrPTI3ODtlLk9hY3V0ZT03MjI7ZS5vYWN1dGU9NTAwO2UuYW1hY3Jvbj00NDQ7ZS5zYWN1dGU9Mzg5O2UuaWRpZXJlc2lzPTI3ODtlLk9jaXJjdW1mbGV4PTcyMjtlLlVncmF2ZT03MjI7ZS5EZWx0YT02MTI7ZS50aG9ybj01MDA7ZS50d29zdXBlcmlvcj0zMDA7ZS5PZGllcmVzaXM9NzIyO2UubXU9NTAwO2UuaWdyYXZlPTI3ODtlLm9odW5nYXJ1bWxhdXQ9NTAwO2UuRW9nb25laz02MTE7ZS5kY3JvYXQ9NTAwO2UudGhyZWVxdWFydGVycz03NTA7ZS5TY2VkaWxsYT01NTY7ZS5sY2Fyb249MzQ0O2UuS2NvbW1hYWNjZW50PTcyMjtlLkxhY3V0ZT02MTE7ZS50cmFkZW1hcms9OTgwO2UuZWRvdGFjY2VudD00NDQ7ZS5JZ3JhdmU9MzMzO2UuSW1hY3Jvbj0zMzM7ZS5MY2Fyb249NjExO2Uub25laGFsZj03NTA7ZS5sZXNzZXF1YWw9NTQ5O2Uub2NpcmN1bWZsZXg9NTAwO2UubnRpbGRlPTUwMDtlLlVodW5nYXJ1bWxhdXQ9NzIyO2UuRWFjdXRlPTYxMTtlLmVtYWNyb249NDQ0O2UuZ2JyZXZlPTUwMDtlLm9uZXF1YXJ0ZXI9NzUwO2UuU2Nhcm9uPTU1NjtlLlNjb21tYWFjY2VudD01NTY7ZS5PaHVuZ2FydW1sYXV0PTcyMjtlLmRlZ3JlZT00MDA7ZS5vZ3JhdmU9NTAwO2UuQ2Nhcm9uPTY2NztlLnVncmF2ZT01MDA7ZS5yYWRpY2FsPTQ1MztlLkRjYXJvbj03MjI7ZS5yY29tbWFhY2NlbnQ9MzMzO2UuTnRpbGRlPTcyMjtlLm90aWxkZT01MDA7ZS5SY29tbWFhY2NlbnQ9NjY3O2UuTGNvbW1hYWNjZW50PTYxMTtlLkF0aWxkZT03MjI7ZS5Bb2dvbmVrPTcyMjtlLkFyaW5nPTcyMjtlLk90aWxkZT03MjI7ZS56ZG90YWNjZW50PTQ0NDtlLkVjYXJvbj02MTE7ZS5Jb2dvbmVrPTMzMztlLmtjb21tYWFjY2VudD01MDA7ZS5taW51cz01NjQ7ZS5JY2lyY3VtZmxleD0zMzM7ZS5uY2Fyb249NTAwO2UudGNvbW1hYWNjZW50PTI3ODtlLmxvZ2ljYWxub3Q9NTY0O2Uub2RpZXJlc2lzPTUwMDtlLnVkaWVyZXNpcz01MDA7ZS5ub3RlcXVhbD01NDk7ZS5nY29tbWFhY2NlbnQ9NTAwO2UuZXRoPTUwMDtlLnpjYXJvbj00NDQ7ZS5uY29tbWFhY2NlbnQ9NTAwO2Uub25lc3VwZXJpb3I9MzAwO2UuaW1hY3Jvbj0yNzg7ZS5FdXJvPTUwMH0pKTtlWyJUaW1lcy1Cb2xkIl09Z2V0TG9va3VwVGFibGVGYWN0b3J5KChmdW5jdGlvbihlKXtlLnNwYWNlPTI1MDtlLmV4Y2xhbT0zMzM7ZS5xdW90ZWRibD01NTU7ZS5udW1iZXJzaWduPTUwMDtlLmRvbGxhcj01MDA7ZS5wZXJjZW50PTFlMztlLmFtcGVyc2FuZD04MzM7ZS5xdW90ZXJpZ2h0PTMzMztlLnBhcmVubGVmdD0zMzM7ZS5wYXJlbnJpZ2h0PTMzMztlLmFzdGVyaXNrPTUwMDtlLnBsdXM9NTcwO2UuY29tbWE9MjUwO2UuaHlwaGVuPTMzMztlLnBlcmlvZD0yNTA7ZS5zbGFzaD0yNzg7ZS56ZXJvPTUwMDtlLm9uZT01MDA7ZS50d289NTAwO2UudGhyZWU9NTAwO2UuZm91cj01MDA7ZS5maXZlPTUwMDtlLnNpeD01MDA7ZS5zZXZlbj01MDA7ZS5laWdodD01MDA7ZS5uaW5lPTUwMDtlLmNvbG9uPTMzMztlLnNlbWljb2xvbj0zMzM7ZS5sZXNzPTU3MDtlLmVxdWFsPTU3MDtlLmdyZWF0ZXI9NTcwO2UucXVlc3Rpb249NTAwO2UuYXQ9OTMwO2UuQT03MjI7ZS5CPTY2NztlLkM9NzIyO2UuRD03MjI7ZS5FPTY2NztlLkY9NjExO2UuRz03Nzg7ZS5IPTc3ODtlLkk9Mzg5O2UuSj01MDA7ZS5LPTc3ODtlLkw9NjY3O2UuTT05NDQ7ZS5OPTcyMjtlLk89Nzc4O2UuUD02MTE7ZS5RPTc3ODtlLlI9NzIyO2UuUz01NTY7ZS5UPTY2NztlLlU9NzIyO2UuVj03MjI7ZS5XPTFlMztlLlg9NzIyO2UuWT03MjI7ZS5aPTY2NztlLmJyYWNrZXRsZWZ0PTMzMztlLmJhY2tzbGFzaD0yNzg7ZS5icmFja2V0cmlnaHQ9MzMzO2UuYXNjaWljaXJjdW09NTgxO2UudW5kZXJzY29yZT01MDA7ZS5xdW90ZWxlZnQ9MzMzO2UuYT01MDA7ZS5iPTU1NjtlLmM9NDQ0O2UuZD01NTY7ZS5lPTQ0NDtlLmY9MzMzO2UuZz01MDA7ZS5oPTU1NjtlLmk9Mjc4O2Uuaj0zMzM7ZS5rPTU1NjtlLmw9Mjc4O2UubT04MzM7ZS5uPTU1NjtlLm89NTAwO2UucD01NTY7ZS5xPTU1NjtlLnI9NDQ0O2Uucz0zODk7ZS50PTMzMztlLnU9NTU2O2Uudj01MDA7ZS53PTcyMjtlLng9NTAwO2UueT01MDA7ZS56PTQ0NDtlLmJyYWNlbGVmdD0zOTQ7ZS5iYXI9MjIwO2UuYnJhY2VyaWdodD0zOTQ7ZS5hc2NpaXRpbGRlPTUyMDtlLmV4Y2xhbWRvd249MzMzO2UuY2VudD01MDA7ZS5zdGVybGluZz01MDA7ZS5mcmFjdGlvbj0xNjc7ZS55ZW49NTAwO2UuZmxvcmluPTUwMDtlLnNlY3Rpb249NTAwO2UuY3VycmVuY3k9NTAwO2UucXVvdGVzaW5nbGU9Mjc4O2UucXVvdGVkYmxsZWZ0PTUwMDtlLmd1aWxsZW1vdGxlZnQ9NTAwO2UuZ3VpbHNpbmdsbGVmdD0zMzM7ZS5ndWlsc2luZ2xyaWdodD0zMzM7ZS5maT01NTY7ZS5mbD01NTY7ZS5lbmRhc2g9NTAwO2UuZGFnZ2VyPTUwMDtlLmRhZ2dlcmRibD01MDA7ZS5wZXJpb2RjZW50ZXJlZD0yNTA7ZS5wYXJhZ3JhcGg9NTQwO2UuYnVsbGV0PTM1MDtlLnF1b3Rlc2luZ2xiYXNlPTMzMztlLnF1b3RlZGJsYmFzZT01MDA7ZS5xdW90ZWRibHJpZ2h0PTUwMDtlLmd1aWxsZW1vdHJpZ2h0PTUwMDtlLmVsbGlwc2lzPTFlMztlLnBlcnRob3VzYW5kPTFlMztlLnF1ZXN0aW9uZG93bj01MDA7ZS5ncmF2ZT0zMzM7ZS5hY3V0ZT0zMzM7ZS5jaXJjdW1mbGV4PTMzMztlLnRpbGRlPTMzMztlLm1hY3Jvbj0zMzM7ZS5icmV2ZT0zMzM7ZS5kb3RhY2NlbnQ9MzMzO2UuZGllcmVzaXM9MzMzO2UucmluZz0zMzM7ZS5jZWRpbGxhPTMzMztlLmh1bmdhcnVtbGF1dD0zMzM7ZS5vZ29uZWs9MzMzO2UuY2Fyb249MzMzO2UuZW1kYXNoPTFlMztlLkFFPTFlMztlLm9yZGZlbWluaW5lPTMwMDtlLkxzbGFzaD02Njc7ZS5Pc2xhc2g9Nzc4O2UuT0U9MWUzO2Uub3JkbWFzY3VsaW5lPTMzMDtlLmFlPTcyMjtlLmRvdGxlc3NpPTI3ODtlLmxzbGFzaD0yNzg7ZS5vc2xhc2g9NTAwO2Uub2U9NzIyO2UuZ2VybWFuZGJscz01NTY7ZS5JZGllcmVzaXM9Mzg5O2UuZWFjdXRlPTQ0NDtlLmFicmV2ZT01MDA7ZS51aHVuZ2FydW1sYXV0PTU1NjtlLmVjYXJvbj00NDQ7ZS5ZZGllcmVzaXM9NzIyO2UuZGl2aWRlPTU3MDtlLllhY3V0ZT03MjI7ZS5BY2lyY3VtZmxleD03MjI7ZS5hYWN1dGU9NTAwO2UuVWNpcmN1bWZsZXg9NzIyO2UueWFjdXRlPTUwMDtlLnNjb21tYWFjY2VudD0zODk7ZS5lY2lyY3VtZmxleD00NDQ7ZS5VcmluZz03MjI7ZS5VZGllcmVzaXM9NzIyO2UuYW9nb25laz01MDA7ZS5VYWN1dGU9NzIyO2UudW9nb25laz01NTY7ZS5FZGllcmVzaXM9NjY3O2UuRGNyb2F0PTcyMjtlLmNvbW1hYWNjZW50PTI1MDtlLmNvcHlyaWdodD03NDc7ZS5FbWFjcm9uPTY2NztlLmNjYXJvbj00NDQ7ZS5hcmluZz01MDA7ZS5OY29tbWFhY2NlbnQ9NzIyO2UubGFjdXRlPTI3ODtlLmFncmF2ZT01MDA7ZS5UY29tbWFhY2NlbnQ9NjY3O2UuQ2FjdXRlPTcyMjtlLmF0aWxkZT01MDA7ZS5FZG90YWNjZW50PTY2NztlLnNjYXJvbj0zODk7ZS5zY2VkaWxsYT0zODk7ZS5pYWN1dGU9Mjc4O2UubG96ZW5nZT00OTQ7ZS5SY2Fyb249NzIyO2UuR2NvbW1hYWNjZW50PTc3ODtlLnVjaXJjdW1mbGV4PTU1NjtlLmFjaXJjdW1mbGV4PTUwMDtlLkFtYWNyb249NzIyO2UucmNhcm9uPTQ0NDtlLmNjZWRpbGxhPTQ0NDtlLlpkb3RhY2NlbnQ9NjY3O2UuVGhvcm49NjExO2UuT21hY3Jvbj03Nzg7ZS5SYWN1dGU9NzIyO2UuU2FjdXRlPTU1NjtlLmRjYXJvbj02NzI7ZS5VbWFjcm9uPTcyMjtlLnVyaW5nPTU1NjtlLnRocmVlc3VwZXJpb3I9MzAwO2UuT2dyYXZlPTc3ODtlLkFncmF2ZT03MjI7ZS5BYnJldmU9NzIyO2UubXVsdGlwbHk9NTcwO2UudWFjdXRlPTU1NjtlLlRjYXJvbj02Njc7ZS5wYXJ0aWFsZGlmZj00OTQ7ZS55ZGllcmVzaXM9NTAwO2UuTmFjdXRlPTcyMjtlLmljaXJjdW1mbGV4PTI3ODtlLkVjaXJjdW1mbGV4PTY2NztlLmFkaWVyZXNpcz01MDA7ZS5lZGllcmVzaXM9NDQ0O2UuY2FjdXRlPTQ0NDtlLm5hY3V0ZT01NTY7ZS51bWFjcm9uPTU1NjtlLk5jYXJvbj03MjI7ZS5JYWN1dGU9Mzg5O2UucGx1c21pbnVzPTU3MDtlLmJyb2tlbmJhcj0yMjA7ZS5yZWdpc3RlcmVkPTc0NztlLkdicmV2ZT03Nzg7ZS5JZG90YWNjZW50PTM4OTtlLnN1bW1hdGlvbj02MDA7ZS5FZ3JhdmU9NjY3O2UucmFjdXRlPTQ0NDtlLm9tYWNyb249NTAwO2UuWmFjdXRlPTY2NztlLlpjYXJvbj02Njc7ZS5ncmVhdGVyZXF1YWw9NTQ5O2UuRXRoPTcyMjtlLkNjZWRpbGxhPTcyMjtlLmxjb21tYWFjY2VudD0yNzg7ZS50Y2Fyb249NDE2O2UuZW9nb25laz00NDQ7ZS5Vb2dvbmVrPTcyMjtlLkFhY3V0ZT03MjI7ZS5BZGllcmVzaXM9NzIyO2UuZWdyYXZlPTQ0NDtlLnphY3V0ZT00NDQ7ZS5pb2dvbmVrPTI3ODtlLk9hY3V0ZT03Nzg7ZS5vYWN1dGU9NTAwO2UuYW1hY3Jvbj01MDA7ZS5zYWN1dGU9Mzg5O2UuaWRpZXJlc2lzPTI3ODtlLk9jaXJjdW1mbGV4PTc3ODtlLlVncmF2ZT03MjI7ZS5EZWx0YT02MTI7ZS50aG9ybj01NTY7ZS50d29zdXBlcmlvcj0zMDA7ZS5PZGllcmVzaXM9Nzc4O2UubXU9NTU2O2UuaWdyYXZlPTI3ODtlLm9odW5nYXJ1bWxhdXQ9NTAwO2UuRW9nb25laz02Njc7ZS5kY3JvYXQ9NTU2O2UudGhyZWVxdWFydGVycz03NTA7ZS5TY2VkaWxsYT01NTY7ZS5sY2Fyb249Mzk0O2UuS2NvbW1hYWNjZW50PTc3ODtlLkxhY3V0ZT02Njc7ZS50cmFkZW1hcms9MWUzO2UuZWRvdGFjY2VudD00NDQ7ZS5JZ3JhdmU9Mzg5O2UuSW1hY3Jvbj0zODk7ZS5MY2Fyb249NjY3O2Uub25laGFsZj03NTA7ZS5sZXNzZXF1YWw9NTQ5O2Uub2NpcmN1bWZsZXg9NTAwO2UubnRpbGRlPTU1NjtlLlVodW5nYXJ1bWxhdXQ9NzIyO2UuRWFjdXRlPTY2NztlLmVtYWNyb249NDQ0O2UuZ2JyZXZlPTUwMDtlLm9uZXF1YXJ0ZXI9NzUwO2UuU2Nhcm9uPTU1NjtlLlNjb21tYWFjY2VudD01NTY7ZS5PaHVuZ2FydW1sYXV0PTc3ODtlLmRlZ3JlZT00MDA7ZS5vZ3JhdmU9NTAwO2UuQ2Nhcm9uPTcyMjtlLnVncmF2ZT01NTY7ZS5yYWRpY2FsPTU0OTtlLkRjYXJvbj03MjI7ZS5yY29tbWFhY2NlbnQ9NDQ0O2UuTnRpbGRlPTcyMjtlLm90aWxkZT01MDA7ZS5SY29tbWFhY2NlbnQ9NzIyO2UuTGNvbW1hYWNjZW50PTY2NztlLkF0aWxkZT03MjI7ZS5Bb2dvbmVrPTcyMjtlLkFyaW5nPTcyMjtlLk90aWxkZT03Nzg7ZS56ZG90YWNjZW50PTQ0NDtlLkVjYXJvbj02Njc7ZS5Jb2dvbmVrPTM4OTtlLmtjb21tYWFjY2VudD01NTY7ZS5taW51cz01NzA7ZS5JY2lyY3VtZmxleD0zODk7ZS5uY2Fyb249NTU2O2UudGNvbW1hYWNjZW50PTMzMztlLmxvZ2ljYWxub3Q9NTcwO2Uub2RpZXJlc2lzPTUwMDtlLnVkaWVyZXNpcz01NTY7ZS5ub3RlcXVhbD01NDk7ZS5nY29tbWFhY2NlbnQ9NTAwO2UuZXRoPTUwMDtlLnpjYXJvbj00NDQ7ZS5uY29tbWFhY2NlbnQ9NTU2O2Uub25lc3VwZXJpb3I9MzAwO2UuaW1hY3Jvbj0yNzg7ZS5FdXJvPTUwMH0pKTtlWyJUaW1lcy1Cb2xkSXRhbGljIl09Z2V0TG9va3VwVGFibGVGYWN0b3J5KChmdW5jdGlvbihlKXtlLnNwYWNlPTI1MDtlLmV4Y2xhbT0zODk7ZS5xdW90ZWRibD01NTU7ZS5udW1iZXJzaWduPTUwMDtlLmRvbGxhcj01MDA7ZS5wZXJjZW50PTgzMztlLmFtcGVyc2FuZD03Nzg7ZS5xdW90ZXJpZ2h0PTMzMztlLnBhcmVubGVmdD0zMzM7ZS5wYXJlbnJpZ2h0PTMzMztlLmFzdGVyaXNrPTUwMDtlLnBsdXM9NTcwO2UuY29tbWE9MjUwO2UuaHlwaGVuPTMzMztlLnBlcmlvZD0yNTA7ZS5zbGFzaD0yNzg7ZS56ZXJvPTUwMDtlLm9uZT01MDA7ZS50d289NTAwO2UudGhyZWU9NTAwO2UuZm91cj01MDA7ZS5maXZlPTUwMDtlLnNpeD01MDA7ZS5zZXZlbj01MDA7ZS5laWdodD01MDA7ZS5uaW5lPTUwMDtlLmNvbG9uPTMzMztlLnNlbWljb2xvbj0zMzM7ZS5sZXNzPTU3MDtlLmVxdWFsPTU3MDtlLmdyZWF0ZXI9NTcwO2UucXVlc3Rpb249NTAwO2UuYXQ9ODMyO2UuQT02Njc7ZS5CPTY2NztlLkM9NjY3O2UuRD03MjI7ZS5FPTY2NztlLkY9NjY3O2UuRz03MjI7ZS5IPTc3ODtlLkk9Mzg5O2UuSj01MDA7ZS5LPTY2NztlLkw9NjExO2UuTT04ODk7ZS5OPTcyMjtlLk89NzIyO2UuUD02MTE7ZS5RPTcyMjtlLlI9NjY3O2UuUz01NTY7ZS5UPTYxMTtlLlU9NzIyO2UuVj02Njc7ZS5XPTg4OTtlLlg9NjY3O2UuWT02MTE7ZS5aPTYxMTtlLmJyYWNrZXRsZWZ0PTMzMztlLmJhY2tzbGFzaD0yNzg7ZS5icmFja2V0cmlnaHQ9MzMzO2UuYXNjaWljaXJjdW09NTcwO2UudW5kZXJzY29yZT01MDA7ZS5xdW90ZWxlZnQ9MzMzO2UuYT01MDA7ZS5iPTUwMDtlLmM9NDQ0O2UuZD01MDA7ZS5lPTQ0NDtlLmY9MzMzO2UuZz01MDA7ZS5oPTU1NjtlLmk9Mjc4O2Uuaj0yNzg7ZS5rPTUwMDtlLmw9Mjc4O2UubT03Nzg7ZS5uPTU1NjtlLm89NTAwO2UucD01MDA7ZS5xPTUwMDtlLnI9Mzg5O2Uucz0zODk7ZS50PTI3ODtlLnU9NTU2O2Uudj00NDQ7ZS53PTY2NztlLng9NTAwO2UueT00NDQ7ZS56PTM4OTtlLmJyYWNlbGVmdD0zNDg7ZS5iYXI9MjIwO2UuYnJhY2VyaWdodD0zNDg7ZS5hc2NpaXRpbGRlPTU3MDtlLmV4Y2xhbWRvd249Mzg5O2UuY2VudD01MDA7ZS5zdGVybGluZz01MDA7ZS5mcmFjdGlvbj0xNjc7ZS55ZW49NTAwO2UuZmxvcmluPTUwMDtlLnNlY3Rpb249NTAwO2UuY3VycmVuY3k9NTAwO2UucXVvdGVzaW5nbGU9Mjc4O2UucXVvdGVkYmxsZWZ0PTUwMDtlLmd1aWxsZW1vdGxlZnQ9NTAwO2UuZ3VpbHNpbmdsbGVmdD0zMzM7ZS5ndWlsc2luZ2xyaWdodD0zMzM7ZS5maT01NTY7ZS5mbD01NTY7ZS5lbmRhc2g9NTAwO2UuZGFnZ2VyPTUwMDtlLmRhZ2dlcmRibD01MDA7ZS5wZXJpb2RjZW50ZXJlZD0yNTA7ZS5wYXJhZ3JhcGg9NTAwO2UuYnVsbGV0PTM1MDtlLnF1b3Rlc2luZ2xiYXNlPTMzMztlLnF1b3RlZGJsYmFzZT01MDA7ZS5xdW90ZWRibHJpZ2h0PTUwMDtlLmd1aWxsZW1vdHJpZ2h0PTUwMDtlLmVsbGlwc2lzPTFlMztlLnBlcnRob3VzYW5kPTFlMztlLnF1ZXN0aW9uZG93bj01MDA7ZS5ncmF2ZT0zMzM7ZS5hY3V0ZT0zMzM7ZS5jaXJjdW1mbGV4PTMzMztlLnRpbGRlPTMzMztlLm1hY3Jvbj0zMzM7ZS5icmV2ZT0zMzM7ZS5kb3RhY2NlbnQ9MzMzO2UuZGllcmVzaXM9MzMzO2UucmluZz0zMzM7ZS5jZWRpbGxhPTMzMztlLmh1bmdhcnVtbGF1dD0zMzM7ZS5vZ29uZWs9MzMzO2UuY2Fyb249MzMzO2UuZW1kYXNoPTFlMztlLkFFPTk0NDtlLm9yZGZlbWluaW5lPTI2NjtlLkxzbGFzaD02MTE7ZS5Pc2xhc2g9NzIyO2UuT0U9OTQ0O2Uub3JkbWFzY3VsaW5lPTMwMDtlLmFlPTcyMjtlLmRvdGxlc3NpPTI3ODtlLmxzbGFzaD0yNzg7ZS5vc2xhc2g9NTAwO2Uub2U9NzIyO2UuZ2VybWFuZGJscz01MDA7ZS5JZGllcmVzaXM9Mzg5O2UuZWFjdXRlPTQ0NDtlLmFicmV2ZT01MDA7ZS51aHVuZ2FydW1sYXV0PTU1NjtlLmVjYXJvbj00NDQ7ZS5ZZGllcmVzaXM9NjExO2UuZGl2aWRlPTU3MDtlLllhY3V0ZT02MTE7ZS5BY2lyY3VtZmxleD02Njc7ZS5hYWN1dGU9NTAwO2UuVWNpcmN1bWZsZXg9NzIyO2UueWFjdXRlPTQ0NDtlLnNjb21tYWFjY2VudD0zODk7ZS5lY2lyY3VtZmxleD00NDQ7ZS5VcmluZz03MjI7ZS5VZGllcmVzaXM9NzIyO2UuYW9nb25laz01MDA7ZS5VYWN1dGU9NzIyO2UudW9nb25laz01NTY7ZS5FZGllcmVzaXM9NjY3O2UuRGNyb2F0PTcyMjtlLmNvbW1hYWNjZW50PTI1MDtlLmNvcHlyaWdodD03NDc7ZS5FbWFjcm9uPTY2NztlLmNjYXJvbj00NDQ7ZS5hcmluZz01MDA7ZS5OY29tbWFhY2NlbnQ9NzIyO2UubGFjdXRlPTI3ODtlLmFncmF2ZT01MDA7ZS5UY29tbWFhY2NlbnQ9NjExO2UuQ2FjdXRlPTY2NztlLmF0aWxkZT01MDA7ZS5FZG90YWNjZW50PTY2NztlLnNjYXJvbj0zODk7ZS5zY2VkaWxsYT0zODk7ZS5pYWN1dGU9Mjc4O2UubG96ZW5nZT00OTQ7ZS5SY2Fyb249NjY3O2UuR2NvbW1hYWNjZW50PTcyMjtlLnVjaXJjdW1mbGV4PTU1NjtlLmFjaXJjdW1mbGV4PTUwMDtlLkFtYWNyb249NjY3O2UucmNhcm9uPTM4OTtlLmNjZWRpbGxhPTQ0NDtlLlpkb3RhY2NlbnQ9NjExO2UuVGhvcm49NjExO2UuT21hY3Jvbj03MjI7ZS5SYWN1dGU9NjY3O2UuU2FjdXRlPTU1NjtlLmRjYXJvbj02MDg7ZS5VbWFjcm9uPTcyMjtlLnVyaW5nPTU1NjtlLnRocmVlc3VwZXJpb3I9MzAwO2UuT2dyYXZlPTcyMjtlLkFncmF2ZT02Njc7ZS5BYnJldmU9NjY3O2UubXVsdGlwbHk9NTcwO2UudWFjdXRlPTU1NjtlLlRjYXJvbj02MTE7ZS5wYXJ0aWFsZGlmZj00OTQ7ZS55ZGllcmVzaXM9NDQ0O2UuTmFjdXRlPTcyMjtlLmljaXJjdW1mbGV4PTI3ODtlLkVjaXJjdW1mbGV4PTY2NztlLmFkaWVyZXNpcz01MDA7ZS5lZGllcmVzaXM9NDQ0O2UuY2FjdXRlPTQ0NDtlLm5hY3V0ZT01NTY7ZS51bWFjcm9uPTU1NjtlLk5jYXJvbj03MjI7ZS5JYWN1dGU9Mzg5O2UucGx1c21pbnVzPTU3MDtlLmJyb2tlbmJhcj0yMjA7ZS5yZWdpc3RlcmVkPTc0NztlLkdicmV2ZT03MjI7ZS5JZG90YWNjZW50PTM4OTtlLnN1bW1hdGlvbj02MDA7ZS5FZ3JhdmU9NjY3O2UucmFjdXRlPTM4OTtlLm9tYWNyb249NTAwO2UuWmFjdXRlPTYxMTtlLlpjYXJvbj02MTE7ZS5ncmVhdGVyZXF1YWw9NTQ5O2UuRXRoPTcyMjtlLkNjZWRpbGxhPTY2NztlLmxjb21tYWFjY2VudD0yNzg7ZS50Y2Fyb249MzY2O2UuZW9nb25laz00NDQ7ZS5Vb2dvbmVrPTcyMjtlLkFhY3V0ZT02Njc7ZS5BZGllcmVzaXM9NjY3O2UuZWdyYXZlPTQ0NDtlLnphY3V0ZT0zODk7ZS5pb2dvbmVrPTI3ODtlLk9hY3V0ZT03MjI7ZS5vYWN1dGU9NTAwO2UuYW1hY3Jvbj01MDA7ZS5zYWN1dGU9Mzg5O2UuaWRpZXJlc2lzPTI3ODtlLk9jaXJjdW1mbGV4PTcyMjtlLlVncmF2ZT03MjI7ZS5EZWx0YT02MTI7ZS50aG9ybj01MDA7ZS50d29zdXBlcmlvcj0zMDA7ZS5PZGllcmVzaXM9NzIyO2UubXU9NTc2O2UuaWdyYXZlPTI3ODtlLm9odW5nYXJ1bWxhdXQ9NTAwO2UuRW9nb25laz02Njc7ZS5kY3JvYXQ9NTAwO2UudGhyZWVxdWFydGVycz03NTA7ZS5TY2VkaWxsYT01NTY7ZS5sY2Fyb249MzgyO2UuS2NvbW1hYWNjZW50PTY2NztlLkxhY3V0ZT02MTE7ZS50cmFkZW1hcms9MWUzO2UuZWRvdGFjY2VudD00NDQ7ZS5JZ3JhdmU9Mzg5O2UuSW1hY3Jvbj0zODk7ZS5MY2Fyb249NjExO2Uub25laGFsZj03NTA7ZS5sZXNzZXF1YWw9NTQ5O2Uub2NpcmN1bWZsZXg9NTAwO2UubnRpbGRlPTU1NjtlLlVodW5nYXJ1bWxhdXQ9NzIyO2UuRWFjdXRlPTY2NztlLmVtYWNyb249NDQ0O2UuZ2JyZXZlPTUwMDtlLm9uZXF1YXJ0ZXI9NzUwO2UuU2Nhcm9uPTU1NjtlLlNjb21tYWFjY2VudD01NTY7ZS5PaHVuZ2FydW1sYXV0PTcyMjtlLmRlZ3JlZT00MDA7ZS5vZ3JhdmU9NTAwO2UuQ2Nhcm9uPTY2NztlLnVncmF2ZT01NTY7ZS5yYWRpY2FsPTU0OTtlLkRjYXJvbj03MjI7ZS5yY29tbWFhY2NlbnQ9Mzg5O2UuTnRpbGRlPTcyMjtlLm90aWxkZT01MDA7ZS5SY29tbWFhY2NlbnQ9NjY3O2UuTGNvbW1hYWNjZW50PTYxMTtlLkF0aWxkZT02Njc7ZS5Bb2dvbmVrPTY2NztlLkFyaW5nPTY2NztlLk90aWxkZT03MjI7ZS56ZG90YWNjZW50PTM4OTtlLkVjYXJvbj02Njc7ZS5Jb2dvbmVrPTM4OTtlLmtjb21tYWFjY2VudD01MDA7ZS5taW51cz02MDY7ZS5JY2lyY3VtZmxleD0zODk7ZS5uY2Fyb249NTU2O2UudGNvbW1hYWNjZW50PTI3ODtlLmxvZ2ljYWxub3Q9NjA2O2Uub2RpZXJlc2lzPTUwMDtlLnVkaWVyZXNpcz01NTY7ZS5ub3RlcXVhbD01NDk7ZS5nY29tbWFhY2NlbnQ9NTAwO2UuZXRoPTUwMDtlLnpjYXJvbj0zODk7ZS5uY29tbWFhY2NlbnQ9NTU2O2Uub25lc3VwZXJpb3I9MzAwO2UuaW1hY3Jvbj0yNzg7ZS5FdXJvPTUwMH0pKTtlWyJUaW1lcy1JdGFsaWMiXT1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGZ1bmN0aW9uKGUpe2Uuc3BhY2U9MjUwO2UuZXhjbGFtPTMzMztlLnF1b3RlZGJsPTQyMDtlLm51bWJlcnNpZ249NTAwO2UuZG9sbGFyPTUwMDtlLnBlcmNlbnQ9ODMzO2UuYW1wZXJzYW5kPTc3ODtlLnF1b3RlcmlnaHQ9MzMzO2UucGFyZW5sZWZ0PTMzMztlLnBhcmVucmlnaHQ9MzMzO2UuYXN0ZXJpc2s9NTAwO2UucGx1cz02NzU7ZS5jb21tYT0yNTA7ZS5oeXBoZW49MzMzO2UucGVyaW9kPTI1MDtlLnNsYXNoPTI3ODtlLnplcm89NTAwO2Uub25lPTUwMDtlLnR3bz01MDA7ZS50aHJlZT01MDA7ZS5mb3VyPTUwMDtlLmZpdmU9NTAwO2Uuc2l4PTUwMDtlLnNldmVuPTUwMDtlLmVpZ2h0PTUwMDtlLm5pbmU9NTAwO2UuY29sb249MzMzO2Uuc2VtaWNvbG9uPTMzMztlLmxlc3M9Njc1O2UuZXF1YWw9Njc1O2UuZ3JlYXRlcj02NzU7ZS5xdWVzdGlvbj01MDA7ZS5hdD05MjA7ZS5BPTYxMTtlLkI9NjExO2UuQz02Njc7ZS5EPTcyMjtlLkU9NjExO2UuRj02MTE7ZS5HPTcyMjtlLkg9NzIyO2UuST0zMzM7ZS5KPTQ0NDtlLks9NjY3O2UuTD01NTY7ZS5NPTgzMztlLk49NjY3O2UuTz03MjI7ZS5QPTYxMTtlLlE9NzIyO2UuUj02MTE7ZS5TPTUwMDtlLlQ9NTU2O2UuVT03MjI7ZS5WPTYxMTtlLlc9ODMzO2UuWD02MTE7ZS5ZPTU1NjtlLlo9NTU2O2UuYnJhY2tldGxlZnQ9Mzg5O2UuYmFja3NsYXNoPTI3ODtlLmJyYWNrZXRyaWdodD0zODk7ZS5hc2NpaWNpcmN1bT00MjI7ZS51bmRlcnNjb3JlPTUwMDtlLnF1b3RlbGVmdD0zMzM7ZS5hPTUwMDtlLmI9NTAwO2UuYz00NDQ7ZS5kPTUwMDtlLmU9NDQ0O2UuZj0yNzg7ZS5nPTUwMDtlLmg9NTAwO2UuaT0yNzg7ZS5qPTI3ODtlLms9NDQ0O2UubD0yNzg7ZS5tPTcyMjtlLm49NTAwO2Uubz01MDA7ZS5wPTUwMDtlLnE9NTAwO2Uucj0zODk7ZS5zPTM4OTtlLnQ9Mjc4O2UudT01MDA7ZS52PTQ0NDtlLnc9NjY3O2UueD00NDQ7ZS55PTQ0NDtlLno9Mzg5O2UuYnJhY2VsZWZ0PTQwMDtlLmJhcj0yNzU7ZS5icmFjZXJpZ2h0PTQwMDtlLmFzY2lpdGlsZGU9NTQxO2UuZXhjbGFtZG93bj0zODk7ZS5jZW50PTUwMDtlLnN0ZXJsaW5nPTUwMDtlLmZyYWN0aW9uPTE2NztlLnllbj01MDA7ZS5mbG9yaW49NTAwO2Uuc2VjdGlvbj01MDA7ZS5jdXJyZW5jeT01MDA7ZS5xdW90ZXNpbmdsZT0yMTQ7ZS5xdW90ZWRibGxlZnQ9NTU2O2UuZ3VpbGxlbW90bGVmdD01MDA7ZS5ndWlsc2luZ2xsZWZ0PTMzMztlLmd1aWxzaW5nbHJpZ2h0PTMzMztlLmZpPTUwMDtlLmZsPTUwMDtlLmVuZGFzaD01MDA7ZS5kYWdnZXI9NTAwO2UuZGFnZ2VyZGJsPTUwMDtlLnBlcmlvZGNlbnRlcmVkPTI1MDtlLnBhcmFncmFwaD01MjM7ZS5idWxsZXQ9MzUwO2UucXVvdGVzaW5nbGJhc2U9MzMzO2UucXVvdGVkYmxiYXNlPTU1NjtlLnF1b3RlZGJscmlnaHQ9NTU2O2UuZ3VpbGxlbW90cmlnaHQ9NTAwO2UuZWxsaXBzaXM9ODg5O2UucGVydGhvdXNhbmQ9MWUzO2UucXVlc3Rpb25kb3duPTUwMDtlLmdyYXZlPTMzMztlLmFjdXRlPTMzMztlLmNpcmN1bWZsZXg9MzMzO2UudGlsZGU9MzMzO2UubWFjcm9uPTMzMztlLmJyZXZlPTMzMztlLmRvdGFjY2VudD0zMzM7ZS5kaWVyZXNpcz0zMzM7ZS5yaW5nPTMzMztlLmNlZGlsbGE9MzMzO2UuaHVuZ2FydW1sYXV0PTMzMztlLm9nb25laz0zMzM7ZS5jYXJvbj0zMzM7ZS5lbWRhc2g9ODg5O2UuQUU9ODg5O2Uub3JkZmVtaW5pbmU9Mjc2O2UuTHNsYXNoPTU1NjtlLk9zbGFzaD03MjI7ZS5PRT05NDQ7ZS5vcmRtYXNjdWxpbmU9MzEwO2UuYWU9NjY3O2UuZG90bGVzc2k9Mjc4O2UubHNsYXNoPTI3ODtlLm9zbGFzaD01MDA7ZS5vZT02Njc7ZS5nZXJtYW5kYmxzPTUwMDtlLklkaWVyZXNpcz0zMzM7ZS5lYWN1dGU9NDQ0O2UuYWJyZXZlPTUwMDtlLnVodW5nYXJ1bWxhdXQ9NTAwO2UuZWNhcm9uPTQ0NDtlLllkaWVyZXNpcz01NTY7ZS5kaXZpZGU9Njc1O2UuWWFjdXRlPTU1NjtlLkFjaXJjdW1mbGV4PTYxMTtlLmFhY3V0ZT01MDA7ZS5VY2lyY3VtZmxleD03MjI7ZS55YWN1dGU9NDQ0O2Uuc2NvbW1hYWNjZW50PTM4OTtlLmVjaXJjdW1mbGV4PTQ0NDtlLlVyaW5nPTcyMjtlLlVkaWVyZXNpcz03MjI7ZS5hb2dvbmVrPTUwMDtlLlVhY3V0ZT03MjI7ZS51b2dvbmVrPTUwMDtlLkVkaWVyZXNpcz02MTE7ZS5EY3JvYXQ9NzIyO2UuY29tbWFhY2NlbnQ9MjUwO2UuY29weXJpZ2h0PTc2MDtlLkVtYWNyb249NjExO2UuY2Nhcm9uPTQ0NDtlLmFyaW5nPTUwMDtlLk5jb21tYWFjY2VudD02Njc7ZS5sYWN1dGU9Mjc4O2UuYWdyYXZlPTUwMDtlLlRjb21tYWFjY2VudD01NTY7ZS5DYWN1dGU9NjY3O2UuYXRpbGRlPTUwMDtlLkVkb3RhY2NlbnQ9NjExO2Uuc2Nhcm9uPTM4OTtlLnNjZWRpbGxhPTM4OTtlLmlhY3V0ZT0yNzg7ZS5sb3plbmdlPTQ3MTtlLlJjYXJvbj02MTE7ZS5HY29tbWFhY2NlbnQ9NzIyO2UudWNpcmN1bWZsZXg9NTAwO2UuYWNpcmN1bWZsZXg9NTAwO2UuQW1hY3Jvbj02MTE7ZS5yY2Fyb249Mzg5O2UuY2NlZGlsbGE9NDQ0O2UuWmRvdGFjY2VudD01NTY7ZS5UaG9ybj02MTE7ZS5PbWFjcm9uPTcyMjtlLlJhY3V0ZT02MTE7ZS5TYWN1dGU9NTAwO2UuZGNhcm9uPTU0NDtlLlVtYWNyb249NzIyO2UudXJpbmc9NTAwO2UudGhyZWVzdXBlcmlvcj0zMDA7ZS5PZ3JhdmU9NzIyO2UuQWdyYXZlPTYxMTtlLkFicmV2ZT02MTE7ZS5tdWx0aXBseT02NzU7ZS51YWN1dGU9NTAwO2UuVGNhcm9uPTU1NjtlLnBhcnRpYWxkaWZmPTQ3NjtlLnlkaWVyZXNpcz00NDQ7ZS5OYWN1dGU9NjY3O2UuaWNpcmN1bWZsZXg9Mjc4O2UuRWNpcmN1bWZsZXg9NjExO2UuYWRpZXJlc2lzPTUwMDtlLmVkaWVyZXNpcz00NDQ7ZS5jYWN1dGU9NDQ0O2UubmFjdXRlPTUwMDtlLnVtYWNyb249NTAwO2UuTmNhcm9uPTY2NztlLklhY3V0ZT0zMzM7ZS5wbHVzbWludXM9Njc1O2UuYnJva2VuYmFyPTI3NTtlLnJlZ2lzdGVyZWQ9NzYwO2UuR2JyZXZlPTcyMjtlLklkb3RhY2NlbnQ9MzMzO2Uuc3VtbWF0aW9uPTYwMDtlLkVncmF2ZT02MTE7ZS5yYWN1dGU9Mzg5O2Uub21hY3Jvbj01MDA7ZS5aYWN1dGU9NTU2O2UuWmNhcm9uPTU1NjtlLmdyZWF0ZXJlcXVhbD01NDk7ZS5FdGg9NzIyO2UuQ2NlZGlsbGE9NjY3O2UubGNvbW1hYWNjZW50PTI3ODtlLnRjYXJvbj0zMDA7ZS5lb2dvbmVrPTQ0NDtlLlVvZ29uZWs9NzIyO2UuQWFjdXRlPTYxMTtlLkFkaWVyZXNpcz02MTE7ZS5lZ3JhdmU9NDQ0O2UuemFjdXRlPTM4OTtlLmlvZ29uZWs9Mjc4O2UuT2FjdXRlPTcyMjtlLm9hY3V0ZT01MDA7ZS5hbWFjcm9uPTUwMDtlLnNhY3V0ZT0zODk7ZS5pZGllcmVzaXM9Mjc4O2UuT2NpcmN1bWZsZXg9NzIyO2UuVWdyYXZlPTcyMjtlLkRlbHRhPTYxMjtlLnRob3JuPTUwMDtlLnR3b3N1cGVyaW9yPTMwMDtlLk9kaWVyZXNpcz03MjI7ZS5tdT01MDA7ZS5pZ3JhdmU9Mjc4O2Uub2h1bmdhcnVtbGF1dD01MDA7ZS5Fb2dvbmVrPTYxMTtlLmRjcm9hdD01MDA7ZS50aHJlZXF1YXJ0ZXJzPTc1MDtlLlNjZWRpbGxhPTUwMDtlLmxjYXJvbj0zMDA7ZS5LY29tbWFhY2NlbnQ9NjY3O2UuTGFjdXRlPTU1NjtlLnRyYWRlbWFyaz05ODA7ZS5lZG90YWNjZW50PTQ0NDtlLklncmF2ZT0zMzM7ZS5JbWFjcm9uPTMzMztlLkxjYXJvbj02MTE7ZS5vbmVoYWxmPTc1MDtlLmxlc3NlcXVhbD01NDk7ZS5vY2lyY3VtZmxleD01MDA7ZS5udGlsZGU9NTAwO2UuVWh1bmdhcnVtbGF1dD03MjI7ZS5FYWN1dGU9NjExO2UuZW1hY3Jvbj00NDQ7ZS5nYnJldmU9NTAwO2Uub25lcXVhcnRlcj03NTA7ZS5TY2Fyb249NTAwO2UuU2NvbW1hYWNjZW50PTUwMDtlLk9odW5nYXJ1bWxhdXQ9NzIyO2UuZGVncmVlPTQwMDtlLm9ncmF2ZT01MDA7ZS5DY2Fyb249NjY3O2UudWdyYXZlPTUwMDtlLnJhZGljYWw9NDUzO2UuRGNhcm9uPTcyMjtlLnJjb21tYWFjY2VudD0zODk7ZS5OdGlsZGU9NjY3O2Uub3RpbGRlPTUwMDtlLlJjb21tYWFjY2VudD02MTE7ZS5MY29tbWFhY2NlbnQ9NTU2O2UuQXRpbGRlPTYxMTtlLkFvZ29uZWs9NjExO2UuQXJpbmc9NjExO2UuT3RpbGRlPTcyMjtlLnpkb3RhY2NlbnQ9Mzg5O2UuRWNhcm9uPTYxMTtlLklvZ29uZWs9MzMzO2Uua2NvbW1hYWNjZW50PTQ0NDtlLm1pbnVzPTY3NTtlLkljaXJjdW1mbGV4PTMzMztlLm5jYXJvbj01MDA7ZS50Y29tbWFhY2NlbnQ9Mjc4O2UubG9naWNhbG5vdD02NzU7ZS5vZGllcmVzaXM9NTAwO2UudWRpZXJlc2lzPTUwMDtlLm5vdGVxdWFsPTU0OTtlLmdjb21tYWFjY2VudD01MDA7ZS5ldGg9NTAwO2UuemNhcm9uPTM4OTtlLm5jb21tYWFjY2VudD01MDA7ZS5vbmVzdXBlcmlvcj0zMDA7ZS5pbWFjcm9uPTI3ODtlLkV1cm89NTAwfSkpO2UuWmFwZkRpbmdiYXRzPWdldExvb2t1cFRhYmxlRmFjdG9yeSgoZnVuY3Rpb24oZSl7ZS5zcGFjZT0yNzg7ZS5hMT05NzQ7ZS5hMj05NjE7ZS5hMjAyPTk3NDtlLmEzPTk4MDtlLmE0PTcxOTtlLmE1PTc4OTtlLmExMTk9NzkwO2UuYTExOD03OTE7ZS5hMTE3PTY5MDtlLmExMT05NjA7ZS5hMTI9OTM5O2UuYTEzPTU0OTtlLmExND04NTU7ZS5hMTU9OTExO2UuYTE2PTkzMztlLmExMDU9OTExO2UuYTE3PTk0NTtlLmExOD05NzQ7ZS5hMTk9NzU1O2UuYTIwPTg0NjtlLmEyMT03NjI7ZS5hMjI9NzYxO2UuYTIzPTU3MTtlLmEyND02Nzc7ZS5hMjU9NzYzO2UuYTI2PTc2MDtlLmEyNz03NTk7ZS5hMjg9NzU0O2UuYTY9NDk0O2UuYTc9NTUyO2UuYTg9NTM3O2UuYTk9NTc3O2UuYTEwPTY5MjtlLmEyOT03ODY7ZS5hMzA9Nzg4O2UuYTMxPTc4ODtlLmEzMj03OTA7ZS5hMzM9NzkzO2UuYTM0PTc5NDtlLmEzNT04MTY7ZS5hMzY9ODIzO2UuYTM3PTc4OTtlLmEzOD04NDE7ZS5hMzk9ODIzO2UuYTQwPTgzMztlLmE0MT04MTY7ZS5hNDI9ODMxO2UuYTQzPTkyMztlLmE0ND03NDQ7ZS5hNDU9NzIzO2UuYTQ2PTc0OTtlLmE0Nz03OTA7ZS5hNDg9NzkyO2UuYTQ5PTY5NTtlLmE1MD03NzY7ZS5hNTE9NzY4O2UuYTUyPTc5MjtlLmE1Mz03NTk7ZS5hNTQ9NzA3O2UuYTU1PTcwODtlLmE1Nj02ODI7ZS5hNTc9NzAxO2UuYTU4PTgyNjtlLmE1OT04MTU7ZS5hNjA9Nzg5O2UuYTYxPTc4OTtlLmE2Mj03MDc7ZS5hNjM9Njg3O2UuYTY0PTY5NjtlLmE2NT02ODk7ZS5hNjY9Nzg2O2UuYTY3PTc4NztlLmE2OD03MTM7ZS5hNjk9NzkxO2UuYTcwPTc4NTtlLmE3MT03OTE7ZS5hNzI9ODczO2UuYTczPTc2MTtlLmE3ND03NjI7ZS5hMjAzPTc2MjtlLmE3NT03NTk7ZS5hMjA0PTc1OTtlLmE3Nj04OTI7ZS5hNzc9ODkyO2UuYTc4PTc4ODtlLmE3OT03ODQ7ZS5hODE9NDM4O2UuYTgyPTEzODtlLmE4Mz0yNzc7ZS5hODQ9NDE1O2UuYTk3PTM5MjtlLmE5OD0zOTI7ZS5hOTk9NjY4O2UuYTEwMD02Njg7ZS5hODk9MzkwO2UuYTkwPTM5MDtlLmE5Mz0zMTc7ZS5hOTQ9MzE3O2UuYTkxPTI3NjtlLmE5Mj0yNzY7ZS5hMjA1PTUwOTtlLmE4NT01MDk7ZS5hMjA2PTQxMDtlLmE4Nj00MTA7ZS5hODc9MjM0O2UuYTg4PTIzNDtlLmE5NT0zMzQ7ZS5hOTY9MzM0O2UuYTEwMT03MzI7ZS5hMTAyPTU0NDtlLmExMDM9NTQ0O2UuYTEwND05MTA7ZS5hMTA2PTY2NztlLmExMDc9NzYwO2UuYTEwOD03NjA7ZS5hMTEyPTc3NjtlLmExMTE9NTk1O2UuYTExMD02OTQ7ZS5hMTA5PTYyNjtlLmExMjA9Nzg4O2UuYTEyMT03ODg7ZS5hMTIyPTc4ODtlLmExMjM9Nzg4O2UuYTEyND03ODg7ZS5hMTI1PTc4ODtlLmExMjY9Nzg4O2UuYTEyNz03ODg7ZS5hMTI4PTc4ODtlLmExMjk9Nzg4O2UuYTEzMD03ODg7ZS5hMTMxPTc4ODtlLmExMzI9Nzg4O2UuYTEzMz03ODg7ZS5hMTM0PTc4ODtlLmExMzU9Nzg4O2UuYTEzNj03ODg7ZS5hMTM3PTc4ODtlLmExMzg9Nzg4O2UuYTEzOT03ODg7ZS5hMTQwPTc4ODtlLmExNDE9Nzg4O2UuYTE0Mj03ODg7ZS5hMTQzPTc4ODtlLmExNDQ9Nzg4O2UuYTE0NT03ODg7ZS5hMTQ2PTc4ODtlLmExNDc9Nzg4O2UuYTE0OD03ODg7ZS5hMTQ5PTc4ODtlLmExNTA9Nzg4O2UuYTE1MT03ODg7ZS5hMTUyPTc4ODtlLmExNTM9Nzg4O2UuYTE1ND03ODg7ZS5hMTU1PTc4ODtlLmExNTY9Nzg4O2UuYTE1Nz03ODg7ZS5hMTU4PTc4ODtlLmExNTk9Nzg4O2UuYTE2MD04OTQ7ZS5hMTYxPTgzODtlLmExNjM9MTAxNjtlLmExNjQ9NDU4O2UuYTE5Nj03NDg7ZS5hMTY1PTkyNDtlLmExOTI9NzQ4O2UuYTE2Nj05MTg7ZS5hMTY3PTkyNztlLmExNjg9OTI4O2UuYTE2OT05Mjg7ZS5hMTcwPTgzNDtlLmExNzE9ODczO2UuYTE3Mj04Mjg7ZS5hMTczPTkyNDtlLmExNjI9OTI0O2UuYTE3ND05MTc7ZS5hMTc1PTkzMDtlLmExNzY9OTMxO2UuYTE3Nz00NjM7ZS5hMTc4PTg4MztlLmExNzk9ODM2O2UuYTE5Mz04MzY7ZS5hMTgwPTg2NztlLmExOTk9ODY3O2UuYTE4MT02OTY7ZS5hMjAwPTY5NjtlLmExODI9ODc0O2UuYTIwMT04NzQ7ZS5hMTgzPTc2MDtlLmExODQ9OTQ2O2UuYTE5Nz03NzE7ZS5hMTg1PTg2NTtlLmExOTQ9NzcxO2UuYTE5OD04ODg7ZS5hMTg2PTk2NztlLmExOTU9ODg4O2UuYTE4Nz04MzE7ZS5hMTg4PTg3MztlLmExODk9OTI3O2UuYTE5MD05NzA7ZS5hMTkxPTkxOH0pKX0pKSxxcj1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGZ1bmN0aW9uKGUpe2UuQ291cmllcj17YXNjZW50OjYyOSxkZXNjZW50Oi0xNTcsY2FwSGVpZ2h0OjU2Mix4SGVpZ2h0Oi00MjZ9O2VbIkNvdXJpZXItQm9sZCJdPXthc2NlbnQ6NjI5LGRlc2NlbnQ6LTE1NyxjYXBIZWlnaHQ6NTYyLHhIZWlnaHQ6NDM5fTtlWyJDb3VyaWVyLU9ibGlxdWUiXT17YXNjZW50OjYyOSxkZXNjZW50Oi0xNTcsY2FwSGVpZ2h0OjU2Mix4SGVpZ2h0OjQyNn07ZVsiQ291cmllci1Cb2xkT2JsaXF1ZSJdPXthc2NlbnQ6NjI5LGRlc2NlbnQ6LTE1NyxjYXBIZWlnaHQ6NTYyLHhIZWlnaHQ6NDI2fTtlLkhlbHZldGljYT17YXNjZW50OjcxOCxkZXNjZW50Oi0yMDcsY2FwSGVpZ2h0OjcxOCx4SGVpZ2h0OjUyM307ZVsiSGVsdmV0aWNhLUJvbGQiXT17YXNjZW50OjcxOCxkZXNjZW50Oi0yMDcsY2FwSGVpZ2h0OjcxOCx4SGVpZ2h0OjUzMn07ZVsiSGVsdmV0aWNhLU9ibGlxdWUiXT17YXNjZW50OjcxOCxkZXNjZW50Oi0yMDcsY2FwSGVpZ2h0OjcxOCx4SGVpZ2h0OjUyM307ZVsiSGVsdmV0aWNhLUJvbGRPYmxpcXVlIl09e2FzY2VudDo3MTgsZGVzY2VudDotMjA3LGNhcEhlaWdodDo3MTgseEhlaWdodDo1MzJ9O2VbIlRpbWVzLVJvbWFuIl09e2FzY2VudDo2ODMsZGVzY2VudDotMjE3LGNhcEhlaWdodDo2NjIseEhlaWdodDo0NTB9O2VbIlRpbWVzLUJvbGQiXT17YXNjZW50OjY4MyxkZXNjZW50Oi0yMTcsY2FwSGVpZ2h0OjY3Nix4SGVpZ2h0OjQ2MX07ZVsiVGltZXMtSXRhbGljIl09e2FzY2VudDo2ODMsZGVzY2VudDotMjE3LGNhcEhlaWdodDo2NTMseEhlaWdodDo0NDF9O2VbIlRpbWVzLUJvbGRJdGFsaWMiXT17YXNjZW50OjY4MyxkZXNjZW50Oi0yMTcsY2FwSGVpZ2h0OjY2OSx4SGVpZ2h0OjQ2Mn07ZS5TeW1ib2w9e2FzY2VudDpNYXRoLk5hTixkZXNjZW50Ok1hdGguTmFOLGNhcEhlaWdodDpNYXRoLk5hTix4SGVpZ2h0Ok1hdGguTmFOfTtlLlphcGZEaW5nYmF0cz17YXNjZW50Ok1hdGguTmFOLGRlc2NlbnQ6TWF0aC5OYU4sY2FwSGVpZ2h0Ok1hdGguTmFOLHhIZWlnaHQ6TWF0aC5OYU59fSkpO2NsYXNzIEdseWZUYWJsZXtjb25zdHJ1Y3Rvcih7Z2x5ZlRhYmxlOmUsaXNHbHlwaExvY2F0aW9uc0xvbmc6dCxsb2NhVGFibGU6YSxudW1HbHlwaHM6cn0pe3RoaXMuZ2x5cGhzPVtdO2NvbnN0IGk9bmV3IERhdGFWaWV3KGEuYnVmZmVyLGEuYnl0ZU9mZnNldCxhLmJ5dGVMZW5ndGgpLG49bmV3IERhdGFWaWV3KGUuYnVmZmVyLGUuYnl0ZU9mZnNldCxlLmJ5dGVMZW5ndGgpLHM9dD80OjI7bGV0IG89dD9pLmdldFVpbnQzMigwKToyKmkuZ2V0VWludDE2KDApLGM9MDtmb3IobGV0IGU9MDtlPHI7ZSsrKXtjKz1zO2NvbnN0IGU9dD9pLmdldFVpbnQzMihjKToyKmkuZ2V0VWludDE2KGMpO2lmKGU9PT1vKXt0aGlzLmdseXBocy5wdXNoKG5ldyBHbHlwaCh7fSkpO2NvbnRpbnVlfWNvbnN0IGE9R2x5cGgucGFyc2UobyxuKTt0aGlzLmdseXBocy5wdXNoKGEpO289ZX19Z2V0U2l6ZSgpe3JldHVybiBNYXRoLnN1bVByZWNpc2UodGhpcy5nbHlwaHMubWFwKChlPT5lLmdldFNpemUoKSszJi00KSkpfXdyaXRlKCl7Y29uc3QgZT10aGlzLmdldFNpemUoKSx0PW5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoZSkpLGE9ZT4xMzEwNzAscj1hPzQ6MixpPW5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoKHRoaXMuZ2x5cGhzLmxlbmd0aCsxKSpyKSk7YT9pLnNldFVpbnQzMigwLDApOmkuc2V0VWludDE2KDAsMCk7bGV0IG49MCxzPTA7Zm9yKGNvbnN0IGUgb2YgdGhpcy5nbHlwaHMpe24rPWUud3JpdGUobix0KTtuPW4rMyYtNDtzKz1yO2E/aS5zZXRVaW50MzIocyxuKTppLnNldFVpbnQxNihzLG4+PjEpfXJldHVybntpc0xvY2F0aW9uTG9uZzphLGxvY2E6bmV3IFVpbnQ4QXJyYXkoaS5idWZmZXIpLGdseWY6bmV3IFVpbnQ4QXJyYXkodC5idWZmZXIpfX1zY2FsZShlKXtmb3IobGV0IHQ9MCxhPXRoaXMuZ2x5cGhzLmxlbmd0aDt0PGE7dCsrKXRoaXMuZ2x5cGhzW3RdLnNjYWxlKGVbdF0pfX1jbGFzcyBHbHlwaHtjb25zdHJ1Y3Rvcih7aGVhZGVyOmU9bnVsbCxzaW1wbGU6dD1udWxsLGNvbXBvc2l0ZXM6YT1udWxsfSl7dGhpcy5oZWFkZXI9ZTt0aGlzLnNpbXBsZT10O3RoaXMuY29tcG9zaXRlcz1hfXN0YXRpYyBwYXJzZShlLHQpe2NvbnN0W2Escl09R2x5cGhIZWFkZXIucGFyc2UoZSx0KTtlKz1hO2lmKHIubnVtYmVyT2ZDb250b3VyczwwKXtjb25zdCBhPVtdO2Zvcig7Oyl7Y29uc3RbcixpXT1Db21wb3NpdGVHbHlwaC5wYXJzZShlLHQpO2UrPXI7YS5wdXNoKGkpO2lmKCEoMzImaS5mbGFncykpYnJlYWt9cmV0dXJuIG5ldyBHbHlwaCh7aGVhZGVyOnIsY29tcG9zaXRlczphfSl9Y29uc3QgaT1TaW1wbGVHbHlwaC5wYXJzZShlLHQsci5udW1iZXJPZkNvbnRvdXJzKTtyZXR1cm4gbmV3IEdseXBoKHtoZWFkZXI6cixzaW1wbGU6aX0pfWdldFNpemUoKXtpZighdGhpcy5oZWFkZXIpcmV0dXJuIDA7Y29uc3QgZT10aGlzLnNpbXBsZT90aGlzLnNpbXBsZS5nZXRTaXplKCk6TWF0aC5zdW1QcmVjaXNlKHRoaXMuY29tcG9zaXRlcy5tYXAoKGU9PmUuZ2V0U2l6ZSgpKSkpO3JldHVybiB0aGlzLmhlYWRlci5nZXRTaXplKCkrZX13cml0ZShlLHQpe2lmKCF0aGlzLmhlYWRlcilyZXR1cm4gMDtjb25zdCBhPWU7ZSs9dGhpcy5oZWFkZXIud3JpdGUoZSx0KTtpZih0aGlzLnNpbXBsZSllKz10aGlzLnNpbXBsZS53cml0ZShlLHQpO2Vsc2UgZm9yKGNvbnN0IGEgb2YgdGhpcy5jb21wb3NpdGVzKWUrPWEud3JpdGUoZSx0KTtyZXR1cm4gZS1hfXNjYWxlKGUpe2lmKCF0aGlzLmhlYWRlcilyZXR1cm47Y29uc3QgdD0odGhpcy5oZWFkZXIueE1pbit0aGlzLmhlYWRlci54TWF4KS8yO3RoaXMuaGVhZGVyLnNjYWxlKHQsZSk7aWYodGhpcy5zaW1wbGUpdGhpcy5zaW1wbGUuc2NhbGUodCxlKTtlbHNlIGZvcihjb25zdCBhIG9mIHRoaXMuY29tcG9zaXRlcylhLnNjYWxlKHQsZSl9fWNsYXNzIEdseXBoSGVhZGVye2NvbnN0cnVjdG9yKHtudW1iZXJPZkNvbnRvdXJzOmUseE1pbjp0LHlNaW46YSx4TWF4OnIseU1heDppfSl7dGhpcy5udW1iZXJPZkNvbnRvdXJzPWU7dGhpcy54TWluPXQ7dGhpcy55TWluPWE7dGhpcy54TWF4PXI7dGhpcy55TWF4PWl9c3RhdGljIHBhcnNlKGUsdCl7cmV0dXJuWzEwLG5ldyBHbHlwaEhlYWRlcih7bnVtYmVyT2ZDb250b3Vyczp0LmdldEludDE2KGUpLHhNaW46dC5nZXRJbnQxNihlKzIpLHlNaW46dC5nZXRJbnQxNihlKzQpLHhNYXg6dC5nZXRJbnQxNihlKzYpLHlNYXg6dC5nZXRJbnQxNihlKzgpfSldfWdldFNpemUoKXtyZXR1cm4gMTB9d3JpdGUoZSx0KXt0LnNldEludDE2KGUsdGhpcy5udW1iZXJPZkNvbnRvdXJzKTt0LnNldEludDE2KGUrMix0aGlzLnhNaW4pO3Quc2V0SW50MTYoZSs0LHRoaXMueU1pbik7dC5zZXRJbnQxNihlKzYsdGhpcy54TWF4KTt0LnNldEludDE2KGUrOCx0aGlzLnlNYXgpO3JldHVybiAxMH1zY2FsZShlLHQpe3RoaXMueE1pbj1NYXRoLnJvdW5kKGUrKHRoaXMueE1pbi1lKSp0KTt0aGlzLnhNYXg9TWF0aC5yb3VuZChlKyh0aGlzLnhNYXgtZSkqdCl9fWNsYXNzIENvbnRvdXJ7Y29uc3RydWN0b3Ioe2ZsYWdzOmUseENvb3JkaW5hdGVzOnQseUNvb3JkaW5hdGVzOmF9KXt0aGlzLnhDb29yZGluYXRlcz10O3RoaXMueUNvb3JkaW5hdGVzPWE7dGhpcy5mbGFncz1lfX1jbGFzcyBTaW1wbGVHbHlwaHtjb25zdHJ1Y3Rvcih7Y29udG91cnM6ZSxpbnN0cnVjdGlvbnM6dH0pe3RoaXMuY29udG91cnM9ZTt0aGlzLmluc3RydWN0aW9ucz10fXN0YXRpYyBwYXJzZShlLHQsYSl7Y29uc3Qgcj1bXTtmb3IobGV0IGk9MDtpPGE7aSsrKXtjb25zdCBhPXQuZ2V0VWludDE2KGUpO2UrPTI7ci5wdXNoKGEpfWNvbnN0IGk9clthLTFdKzEsbj10LmdldFVpbnQxNihlKTtlKz0yO2NvbnN0IHM9bmV3IFVpbnQ4QXJyYXkodCkuc2xpY2UoZSxlK24pO2UrPW47Y29uc3Qgbz1bXTtmb3IobGV0IGE9MDthPGk7ZSsrLGErKyl7bGV0IHI9dC5nZXRVaW50OChlKTtvLnB1c2gocik7aWYoOCZyKXtjb25zdCBpPXQuZ2V0VWludDgoKytlKTtyXj04O2ZvcihsZXQgZT0wO2U8aTtlKyspby5wdXNoKHIpO2ErPWl9fWNvbnN0IGM9W107bGV0IGw9W10saD1bXSx1PVtdO2NvbnN0IGQ9W107bGV0IGY9MCxnPTA7Zm9yKGxldCBhPTA7YTxpO2ErKyl7Y29uc3QgaT1vW2FdO2lmKDImaSl7Y29uc3QgYT10LmdldFVpbnQ4KGUrKyk7Zys9MTYmaT9hOi1hO2wucHVzaChnKX1lbHNlIGlmKDE2JmkpbC5wdXNoKGcpO2Vsc2V7Zys9dC5nZXRJbnQxNihlKTtlKz0yO2wucHVzaChnKX1pZihyW2ZdPT09YSl7ZisrO2MucHVzaChsKTtsPVtdfX1nPTA7Zj0wO2ZvcihsZXQgYT0wO2E8aTthKyspe2NvbnN0IGk9b1thXTtpZig0Jmkpe2NvbnN0IGE9dC5nZXRVaW50OChlKyspO2crPTMyJmk/YTotYTtoLnB1c2goZyl9ZWxzZSBpZigzMiZpKWgucHVzaChnKTtlbHNle2crPXQuZ2V0SW50MTYoZSk7ZSs9MjtoLnB1c2goZyl9dS5wdXNoKDEmaXw2NCZpKTtpZihyW2ZdPT09YSl7bD1jW2ZdO2YrKztkLnB1c2gobmV3IENvbnRvdXIoe2ZsYWdzOnUseENvb3JkaW5hdGVzOmwseUNvb3JkaW5hdGVzOmh9KSk7aD1bXTt1PVtdfX1yZXR1cm4gbmV3IFNpbXBsZUdseXBoKHtjb250b3VyczpkLGluc3RydWN0aW9uczpzfSl9Z2V0U2l6ZSgpe2xldCBlPTIqdGhpcy5jb250b3Vycy5sZW5ndGgrMit0aGlzLmluc3RydWN0aW9ucy5sZW5ndGgsdD0wLGE9MDtmb3IoY29uc3QgciBvZiB0aGlzLmNvbnRvdXJzKXtlKz1yLmZsYWdzLmxlbmd0aDtmb3IobGV0IGk9MCxuPXIueENvb3JkaW5hdGVzLmxlbmd0aDtpPG47aSsrKXtjb25zdCBuPXIueENvb3JkaW5hdGVzW2ldLHM9ci55Q29vcmRpbmF0ZXNbaV07bGV0IG89TWF0aC5hYnMobi10KTtvPjI1NT9lKz0yOm8+MCYmKGUrPTEpO3Q9bjtvPU1hdGguYWJzKHMtYSk7bz4yNTU/ZSs9MjpvPjAmJihlKz0xKTthPXN9fXJldHVybiBlfXdyaXRlKGUsdCl7Y29uc3QgYT1lLHI9W10saT1bXSxuPVtdO2xldCBzPTAsbz0wO2Zvcihjb25zdCBhIG9mIHRoaXMuY29udG91cnMpe2ZvcihsZXQgZT0wLHQ9YS54Q29vcmRpbmF0ZXMubGVuZ3RoO2U8dDtlKyspe2xldCB0PWEuZmxhZ3NbZV07Y29uc3QgYz1hLnhDb29yZGluYXRlc1tlXTtsZXQgbD1jLXM7aWYoMD09PWwpe3R8PTE2O3IucHVzaCgwKX1lbHNle2NvbnN0IGU9TWF0aC5hYnMobCk7aWYoZTw9MjU1KXt0fD1sPj0wPzE4OjI7ci5wdXNoKGUpfWVsc2Ugci5wdXNoKGwpfXM9Yztjb25zdCBoPWEueUNvb3JkaW5hdGVzW2VdO2w9aC1vO2lmKDA9PT1sKXt0fD0zMjtpLnB1c2goMCl9ZWxzZXtjb25zdCBlPU1hdGguYWJzKGwpO2lmKGU8PTI1NSl7dHw9bD49MD8zNjo0O2kucHVzaChlKX1lbHNlIGkucHVzaChsKX1vPWg7bi5wdXNoKHQpfXQuc2V0VWludDE2KGUsci5sZW5ndGgtMSk7ZSs9Mn10LnNldFVpbnQxNihlLHRoaXMuaW5zdHJ1Y3Rpb25zLmxlbmd0aCk7ZSs9MjtpZih0aGlzLmluc3RydWN0aW9ucy5sZW5ndGgpe25ldyBVaW50OEFycmF5KHQuYnVmZmVyLDAsdC5idWZmZXIuYnl0ZUxlbmd0aCkuc2V0KHRoaXMuaW5zdHJ1Y3Rpb25zLGUpO2UrPXRoaXMuaW5zdHJ1Y3Rpb25zLmxlbmd0aH1mb3IoY29uc3QgYSBvZiBuKXQuc2V0VWludDgoZSsrLGEpO2ZvcihsZXQgYT0wLGk9ci5sZW5ndGg7YTxpO2ErKyl7Y29uc3QgaT1yW2FdLHM9blthXTtpZigyJnMpdC5zZXRVaW50OChlKyssaSk7ZWxzZSBpZighKDE2JnMpKXt0LnNldEludDE2KGUsaSk7ZSs9Mn19Zm9yKGxldCBhPTAscj1pLmxlbmd0aDthPHI7YSsrKXtjb25zdCByPWlbYV0scz1uW2FdO2lmKDQmcyl0LnNldFVpbnQ4KGUrKyxyKTtlbHNlIGlmKCEoMzImcykpe3Quc2V0SW50MTYoZSxyKTtlKz0yfX1yZXR1cm4gZS1hfXNjYWxlKGUsdCl7Zm9yKGNvbnN0IGEgb2YgdGhpcy5jb250b3VycylpZigwIT09YS54Q29vcmRpbmF0ZXMubGVuZ3RoKWZvcihsZXQgcj0wLGk9YS54Q29vcmRpbmF0ZXMubGVuZ3RoO3I8aTtyKyspYS54Q29vcmRpbmF0ZXNbcl09TWF0aC5yb3VuZChlKyhhLnhDb29yZGluYXRlc1tyXS1lKSp0KX19Y2xhc3MgQ29tcG9zaXRlR2x5cGh7Y29uc3RydWN0b3Ioe2ZsYWdzOmUsZ2x5cGhJbmRleDp0LGFyZ3VtZW50MTphLGFyZ3VtZW50MjpyLHRyYW5zZjppLGluc3RydWN0aW9uczpufSl7dGhpcy5mbGFncz1lO3RoaXMuZ2x5cGhJbmRleD10O3RoaXMuYXJndW1lbnQxPWE7dGhpcy5hcmd1bWVudDI9cjt0aGlzLnRyYW5zZj1pO3RoaXMuaW5zdHJ1Y3Rpb25zPW59c3RhdGljIHBhcnNlKGUsdCl7Y29uc3QgYT1lLHI9W107bGV0IGk9dC5nZXRVaW50MTYoZSk7Y29uc3Qgbj10LmdldFVpbnQxNihlKzIpO2UrPTQ7bGV0IHMsbztpZigxJmkpe2lmKDImaSl7cz10LmdldEludDE2KGUpO289dC5nZXRJbnQxNihlKzIpfWVsc2V7cz10LmdldFVpbnQxNihlKTtvPXQuZ2V0VWludDE2KGUrMil9ZSs9NDtpXj0xfWVsc2V7aWYoMiZpKXtzPXQuZ2V0SW50OChlKTtvPXQuZ2V0SW50OChlKzEpfWVsc2V7cz10LmdldFVpbnQ4KGUpO289dC5nZXRVaW50OChlKzEpfWUrPTJ9aWYoOCZpKXtyLnB1c2godC5nZXRVaW50MTYoZSkpO2UrPTJ9ZWxzZSBpZig2NCZpKXtyLnB1c2godC5nZXRVaW50MTYoZSksdC5nZXRVaW50MTYoZSsyKSk7ZSs9NH1lbHNlIGlmKDEyOCZpKXtyLnB1c2godC5nZXRVaW50MTYoZSksdC5nZXRVaW50MTYoZSsyKSx0LmdldFVpbnQxNihlKzQpLHQuZ2V0VWludDE2KGUrNikpO2UrPTh9bGV0IGM9bnVsbDtpZigyNTYmaSl7Y29uc3QgYT10LmdldFVpbnQxNihlKTtlKz0yO2M9bmV3IFVpbnQ4QXJyYXkodCkuc2xpY2UoZSxlK2EpO2UrPWF9cmV0dXJuW2UtYSxuZXcgQ29tcG9zaXRlR2x5cGgoe2ZsYWdzOmksZ2x5cGhJbmRleDpuLGFyZ3VtZW50MTpzLGFyZ3VtZW50MjpvLHRyYW5zZjpyLGluc3RydWN0aW9uczpjfSldfWdldFNpemUoKXtsZXQgZT00KzIqdGhpcy50cmFuc2YubGVuZ3RoOzI1NiZ0aGlzLmZsYWdzJiYoZSs9Mit0aGlzLmluc3RydWN0aW9ucy5sZW5ndGgpO2UrPTI7MiZ0aGlzLmZsYWdzP3RoaXMuYXJndW1lbnQxPj0tMTI4JiZ0aGlzLmFyZ3VtZW50MTw9MTI3JiZ0aGlzLmFyZ3VtZW50Mj49LTEyOCYmdGhpcy5hcmd1bWVudDI8PTEyN3x8KGUrPTIpOnRoaXMuYXJndW1lbnQxPj0wJiZ0aGlzLmFyZ3VtZW50MTw9MjU1JiZ0aGlzLmFyZ3VtZW50Mj49MCYmdGhpcy5hcmd1bWVudDI8PTI1NXx8KGUrPTIpO3JldHVybiBlfXdyaXRlKGUsdCl7Y29uc3QgYT1lOzImdGhpcy5mbGFncz90aGlzLmFyZ3VtZW50MT49LTEyOCYmdGhpcy5hcmd1bWVudDE8PTEyNyYmdGhpcy5hcmd1bWVudDI+PS0xMjgmJnRoaXMuYXJndW1lbnQyPD0xMjd8fCh0aGlzLmZsYWdzfD0xKTp0aGlzLmFyZ3VtZW50MT49MCYmdGhpcy5hcmd1bWVudDE8PTI1NSYmdGhpcy5hcmd1bWVudDI+PTAmJnRoaXMuYXJndW1lbnQyPD0yNTV8fCh0aGlzLmZsYWdzfD0xKTt0LnNldFVpbnQxNihlLHRoaXMuZmxhZ3MpO3Quc2V0VWludDE2KGUrMix0aGlzLmdseXBoSW5kZXgpO2UrPTQ7aWYoMSZ0aGlzLmZsYWdzKXtpZigyJnRoaXMuZmxhZ3Mpe3Quc2V0SW50MTYoZSx0aGlzLmFyZ3VtZW50MSk7dC5zZXRJbnQxNihlKzIsdGhpcy5hcmd1bWVudDIpfWVsc2V7dC5zZXRVaW50MTYoZSx0aGlzLmFyZ3VtZW50MSk7dC5zZXRVaW50MTYoZSsyLHRoaXMuYXJndW1lbnQyKX1lKz00fWVsc2V7dC5zZXRVaW50OChlLHRoaXMuYXJndW1lbnQxKTt0LnNldFVpbnQ4KGUrMSx0aGlzLmFyZ3VtZW50Mik7ZSs9Mn1pZigyNTYmdGhpcy5mbGFncyl7dC5zZXRVaW50MTYoZSx0aGlzLmluc3RydWN0aW9ucy5sZW5ndGgpO2UrPTI7aWYodGhpcy5pbnN0cnVjdGlvbnMubGVuZ3RoKXtuZXcgVWludDhBcnJheSh0LmJ1ZmZlciwwLHQuYnVmZmVyLmJ5dGVMZW5ndGgpLnNldCh0aGlzLmluc3RydWN0aW9ucyxlKTtlKz10aGlzLmluc3RydWN0aW9ucy5sZW5ndGh9fXJldHVybiBlLWF9c2NhbGUoZSx0KXt9fWZ1bmN0aW9uIHdyaXRlSW50MTYoZSx0LGEpe2VbdF09YT4+OCYyNTU7ZVt0KzFdPTI1NSZhfWZ1bmN0aW9uIHdyaXRlSW50MzIoZSx0LGEpe2VbdF09YT4+MjQmMjU1O2VbdCsxXT1hPj4xNiYyNTU7ZVt0KzJdPWE+PjgmMjU1O2VbdCszXT0yNTUmYX1mdW5jdGlvbiB3cml0ZURhdGEoZSx0LGEpe2lmKGEgaW5zdGFuY2VvZiBVaW50OEFycmF5KWUuc2V0KGEsdCk7ZWxzZSBpZigic3RyaW5nIj09dHlwZW9mIGEpZm9yKGxldCByPTAsaT1hLmxlbmd0aDtyPGk7cisrKWVbdCsrXT0yNTUmYS5jaGFyQ29kZUF0KHIpO2Vsc2UgZm9yKGNvbnN0IHIgb2YgYSllW3QrK109MjU1JnJ9Y2xhc3MgT3BlblR5cGVGaWxlQnVpbGRlcntjb25zdHJ1Y3RvcihlKXt0aGlzLnNmbnQ9ZTt0aGlzLnRhYmxlcz1PYmplY3QuY3JlYXRlKG51bGwpfXN0YXRpYyBnZXRTZWFyY2hQYXJhbXMoZSx0KXtsZXQgYT0xLHI9MDtmb3IoOyhhXmUpPmE7KXthPDw9MTtyKyt9Y29uc3QgaT1hKnQ7cmV0dXJue3JhbmdlOmksZW50cnk6cixyYW5nZVNoaWZ0OnQqZS1pfX10b0FycmF5KCl7bGV0IGU9dGhpcy5zZm50O2NvbnN0IHQ9dGhpcy50YWJsZXMsYT1PYmplY3Qua2V5cyh0KTthLnNvcnQoKTtjb25zdCByPWEubGVuZ3RoO2xldCBpLG4scyxvLGMsbD0xMisxNipyO2NvbnN0IGg9W2xdO2ZvcihpPTA7aTxyO2krKyl7bz10W2FbaV1dO2wrPShvLmxlbmd0aCszJi00KT4+PjA7aC5wdXNoKGwpfWNvbnN0IHU9bmV3IFVpbnQ4QXJyYXkobCk7Zm9yKGk9MDtpPHI7aSsrKXtvPXRbYVtpXV07d3JpdGVEYXRhKHUsaFtpXSxvKX0idHJ1ZSI9PT1lJiYoZT1zdHJpbmczMig2NTUzNikpO3VbMF09MjU1JmUuY2hhckNvZGVBdCgwKTt1WzFdPTI1NSZlLmNoYXJDb2RlQXQoMSk7dVsyXT0yNTUmZS5jaGFyQ29kZUF0KDIpO3VbM109MjU1JmUuY2hhckNvZGVBdCgzKTt3cml0ZUludDE2KHUsNCxyKTtjb25zdCBkPU9wZW5UeXBlRmlsZUJ1aWxkZXIuZ2V0U2VhcmNoUGFyYW1zKHIsMTYpO3dyaXRlSW50MTYodSw2LGQucmFuZ2UpO3dyaXRlSW50MTYodSw4LGQuZW50cnkpO3dyaXRlSW50MTYodSwxMCxkLnJhbmdlU2hpZnQpO2w9MTI7Zm9yKGk9MDtpPHI7aSsrKXtjPWFbaV07dVtsXT0yNTUmYy5jaGFyQ29kZUF0KDApO3VbbCsxXT0yNTUmYy5jaGFyQ29kZUF0KDEpO3VbbCsyXT0yNTUmYy5jaGFyQ29kZUF0KDIpO3VbbCszXT0yNTUmYy5jaGFyQ29kZUF0KDMpO2xldCBlPTA7Zm9yKG49aFtpXSxzPWhbaSsxXTtuPHM7bis9NCl7ZT1lK3JlYWRVaW50MzIodSxuKT4+PjB9d3JpdGVJbnQzMih1LGwrNCxlKTt3cml0ZUludDMyKHUsbCs4LGhbaV0pO3dyaXRlSW50MzIodSxsKzEyLHRbY10ubGVuZ3RoKTtsKz0xNn1yZXR1cm4gdX1hZGRUYWJsZShlLHQpe2lmKGUgaW4gdGhpcy50YWJsZXMpdGhyb3cgbmV3IEVycm9yKCJUYWJsZSAiK2UrIiBhbHJlYWR5IGV4aXN0cyIpO3RoaXMudGFibGVzW2VdPXR9fWNvbnN0IEhyPVs0XSxXcj1bNV0senI9WzZdLCRyPVs3XSxHcj1bOF0sVnI9WzEyLDM1XSxLcj1bMTRdLEpyPVsyMV0sWXI9WzIyXSxacj1bMzBdLFFyPVszMV07Y2xhc3MgVHlwZTFDaGFyU3RyaW5ne2NvbnN0cnVjdG9yKCl7dGhpcy53aWR0aD0wO3RoaXMubHNiPTA7dGhpcy5mbGV4aW5nPSExO3RoaXMub3V0cHV0PVtdO3RoaXMuc3RhY2s9W119Y29udmVydChlLHQsYSl7Y29uc3Qgcj1lLmxlbmd0aDtsZXQgaSxuLHMsbz0hMTtmb3IobGV0IGM9MDtjPHI7YysrKXtsZXQgcj1lW2NdO2lmKHI8MzIpezEyPT09ciYmKHI9KHI8PDgpK2VbKytjXSk7c3dpdGNoKHIpe2Nhc2UgMTpjYXNlIDM6Y2FzZSA5OmNhc2UgMzA3MjpjYXNlIDMwNzM6Y2FzZSAzMDc0OmNhc2UgMzEwNTp0aGlzLnN0YWNrPVtdO2JyZWFrO2Nhc2UgNDppZih0aGlzLmZsZXhpbmcpe2lmKHRoaXMuc3RhY2subGVuZ3RoPDEpe289ITA7YnJlYWt9Y29uc3QgZT10aGlzLnN0YWNrLnBvcCgpO3RoaXMuc3RhY2sucHVzaCgwLGUpO2JyZWFrfW89dGhpcy5leGVjdXRlQ29tbWFuZCgxLEhyKTticmVhaztjYXNlIDU6bz10aGlzLmV4ZWN1dGVDb21tYW5kKDIsV3IpO2JyZWFrO2Nhc2UgNjpvPXRoaXMuZXhlY3V0ZUNvbW1hbmQoMSx6cik7YnJlYWs7Y2FzZSA3Om89dGhpcy5leGVjdXRlQ29tbWFuZCgxLCRyKTticmVhaztjYXNlIDg6bz10aGlzLmV4ZWN1dGVDb21tYW5kKDYsR3IpO2JyZWFrO2Nhc2UgMTA6aWYodGhpcy5zdGFjay5sZW5ndGg8MSl7bz0hMDticmVha31zPXRoaXMuc3RhY2sucG9wKCk7aWYoIXRbc10pe289ITA7YnJlYWt9bz10aGlzLmNvbnZlcnQodFtzXSx0LGEpO2JyZWFrO2Nhc2UgMTE6cmV0dXJuIG87Y2FzZSAxMzppZih0aGlzLnN0YWNrLmxlbmd0aDwyKXtvPSEwO2JyZWFrfWk9dGhpcy5zdGFjay5wb3AoKTtuPXRoaXMuc3RhY2sucG9wKCk7dGhpcy5sc2I9bjt0aGlzLndpZHRoPWk7dGhpcy5zdGFjay5wdXNoKGksbik7bz10aGlzLmV4ZWN1dGVDb21tYW5kKDIsWXIpO2JyZWFrO2Nhc2UgMTQ6dGhpcy5vdXRwdXQucHVzaChLclswXSk7YnJlYWs7Y2FzZSAyMTppZih0aGlzLmZsZXhpbmcpYnJlYWs7bz10aGlzLmV4ZWN1dGVDb21tYW5kKDIsSnIpO2JyZWFrO2Nhc2UgMjI6aWYodGhpcy5mbGV4aW5nKXt0aGlzLnN0YWNrLnB1c2goMCk7YnJlYWt9bz10aGlzLmV4ZWN1dGVDb21tYW5kKDEsWXIpO2JyZWFrO2Nhc2UgMzA6bz10aGlzLmV4ZWN1dGVDb21tYW5kKDQsWnIpO2JyZWFrO2Nhc2UgMzE6bz10aGlzLmV4ZWN1dGVDb21tYW5kKDQsUXIpO2JyZWFrO2Nhc2UgMzA3ODppZihhKXtjb25zdCBlPXRoaXMuc3RhY2suYXQoLTUpO3RoaXMuc2VhYz10aGlzLnN0YWNrLnNwbGljZSgtNCw0KTt0aGlzLnNlYWNbMF0rPXRoaXMubHNiLWU7bz10aGlzLmV4ZWN1dGVDb21tYW5kKDAsS3IpfWVsc2Ugbz10aGlzLmV4ZWN1dGVDb21tYW5kKDQsS3IpO2JyZWFrO2Nhc2UgMzA3OTppZih0aGlzLnN0YWNrLmxlbmd0aDw0KXtvPSEwO2JyZWFrfXRoaXMuc3RhY2sucG9wKCk7aT10aGlzLnN0YWNrLnBvcCgpO2NvbnN0IGU9dGhpcy5zdGFjay5wb3AoKTtuPXRoaXMuc3RhY2sucG9wKCk7dGhpcy5sc2I9bjt0aGlzLndpZHRoPWk7dGhpcy5zdGFjay5wdXNoKGksbixlKTtvPXRoaXMuZXhlY3V0ZUNvbW1hbmQoMyxKcik7YnJlYWs7Y2FzZSAzMDg0OmlmKHRoaXMuc3RhY2subGVuZ3RoPDIpe289ITA7YnJlYWt9Y29uc3QgYz10aGlzLnN0YWNrLnBvcCgpLGw9dGhpcy5zdGFjay5wb3AoKTt0aGlzLnN0YWNrLnB1c2gobC9jKTticmVhaztjYXNlIDMwODg6aWYodGhpcy5zdGFjay5sZW5ndGg8Mil7bz0hMDticmVha31zPXRoaXMuc3RhY2sucG9wKCk7Y29uc3QgaD10aGlzLnN0YWNrLnBvcCgpO2lmKDA9PT1zJiYzPT09aCl7Y29uc3QgZT10aGlzLnN0YWNrLnNwbGljZSgtMTcsMTcpO3RoaXMuc3RhY2sucHVzaChlWzJdK2VbMF0sZVszXStlWzFdLGVbNF0sZVs1XSxlWzZdLGVbN10sZVs4XSxlWzldLGVbMTBdLGVbMTFdLGVbMTJdLGVbMTNdLGVbMTRdKTtvPXRoaXMuZXhlY3V0ZUNvbW1hbmQoMTMsVnIsITApO3RoaXMuZmxleGluZz0hMTt0aGlzLnN0YWNrLnB1c2goZVsxNV0sZVsxNl0pfWVsc2UgMT09PXMmJjA9PT1oJiYodGhpcy5mbGV4aW5nPSEwKTticmVhaztjYXNlIDMwODk6YnJlYWs7ZGVmYXVsdDp3YXJuKCdVbmtub3duIHR5cGUgMSBjaGFyc3RyaW5nIGNvbW1hbmQgb2YgIicrcisnIicpfWlmKG8pYnJlYWt9ZWxzZXtyPD0yNDY/ci09MTM5OnI9cjw9MjUwPzI1Niooci0yNDcpK2VbKytjXSsxMDg6cjw9MjU0Py0yNTYqKHItMjUxKS1lWysrY10tMTA4OigyNTUmZVsrK2NdKTw8MjR8KDI1NSZlWysrY10pPDwxNnwoMjU1JmVbKytjXSk8PDh8MjU1JmVbKytjXTt0aGlzLnN0YWNrLnB1c2gocil9fXJldHVybiBvfWV4ZWN1dGVDb21tYW5kKGUsdCxhKXtjb25zdCByPXRoaXMuc3RhY2subGVuZ3RoO2lmKGU+cilyZXR1cm4hMDtjb25zdCBpPXItZTtmb3IobGV0IGU9aTtlPHI7ZSsrKXtsZXQgdD10aGlzLnN0YWNrW2VdO2lmKE51bWJlci5pc0ludGVnZXIodCkpdGhpcy5vdXRwdXQucHVzaCgyOCx0Pj44JjI1NSwyNTUmdCk7ZWxzZXt0PTY1NTM2KnR8MDt0aGlzLm91dHB1dC5wdXNoKDI1NSx0Pj4yNCYyNTUsdD4+MTYmMjU1LHQ+PjgmMjU1LDI1NSZ0KX19dGhpcy5vdXRwdXQucHVzaCguLi50KTthP3RoaXMuc3RhY2suc3BsaWNlKGksZSk6dGhpcy5zdGFjay5sZW5ndGg9MDtyZXR1cm4hMX19ZnVuY3Rpb24gaXNIZXhEaWdpdChlKXtyZXR1cm4gZT49NDgmJmU8PTU3fHxlPj02NSYmZTw9NzB8fGU+PTk3JiZlPD0xMDJ9ZnVuY3Rpb24gZGVjcnlwdChlLHQsYSl7aWYoYT49ZS5sZW5ndGgpcmV0dXJuIG5ldyBVaW50OEFycmF5KDApO2xldCByLGksbj0wfHQ7Zm9yKHI9MDtyPGE7cisrKW49NTI4NDUqKGVbcl0rbikrMjI3MTkmNjU1MzU7Y29uc3Qgcz1lLmxlbmd0aC1hLG89bmV3IFVpbnQ4QXJyYXkocyk7Zm9yKHI9YSxpPTA7aTxzO3IrKyxpKyspe2NvbnN0IHQ9ZVtyXTtvW2ldPXRebj4+ODtuPTUyODQ1Kih0K24pKzIyNzE5JjY1NTM1fXJldHVybiBvfWZ1bmN0aW9uIGlzU3BlY2lhbChlKXtyZXR1cm4gNDc9PT1lfHw5MT09PWV8fDkzPT09ZXx8MTIzPT09ZXx8MTI1PT09ZXx8NDA9PT1lfHw0MT09PWV9Y2xhc3MgVHlwZTFQYXJzZXJ7Y29uc3RydWN0b3IoZSx0LGEpe2lmKHQpe2NvbnN0IHQ9ZS5nZXRCeXRlcygpLGE9ISgoaXNIZXhEaWdpdCh0WzBdKXx8aXNXaGl0ZVNwYWNlKHRbMF0pKSYmaXNIZXhEaWdpdCh0WzFdKSYmaXNIZXhEaWdpdCh0WzJdKSYmaXNIZXhEaWdpdCh0WzNdKSYmaXNIZXhEaWdpdCh0WzRdKSYmaXNIZXhEaWdpdCh0WzVdKSYmaXNIZXhEaWdpdCh0WzZdKSYmaXNIZXhEaWdpdCh0WzddKSk7ZT1uZXcgU3RyZWFtKGE/ZGVjcnlwdCh0LDU1NjY1LDQpOmZ1bmN0aW9uIGRlY3J5cHRBc2NpaShlLHQsYSl7bGV0IHI9MHx0O2NvbnN0IGk9ZS5sZW5ndGgsbj1uZXcgVWludDhBcnJheShpPj4+MSk7bGV0IHMsbztmb3Iocz0wLG89MDtzPGk7cysrKXtjb25zdCB0PWVbc107aWYoIWlzSGV4RGlnaXQodCkpY29udGludWU7cysrO2xldCBhO2Zvcig7czxpJiYhaXNIZXhEaWdpdChhPWVbc10pOylzKys7aWYoczxpKXtjb25zdCBlPXBhcnNlSW50KFN0cmluZy5mcm9tQ2hhckNvZGUodCxhKSwxNik7bltvKytdPWVecj4+ODtyPTUyODQ1KihlK3IpKzIyNzE5JjY1NTM1fX1yZXR1cm4gbi5zbGljZShhLG8pfSh0LDU1NjY1LDQpKX10aGlzLnNlYWNBbmFseXNpc0VuYWJsZWQ9ISFhO3RoaXMuc3RyZWFtPWU7dGhpcy5uZXh0Q2hhcigpfXJlYWROdW1iZXJBcnJheSgpe3RoaXMuZ2V0VG9rZW4oKTtjb25zdCBlPVtdO2Zvcig7Oyl7Y29uc3QgdD10aGlzLmdldFRva2VuKCk7aWYobnVsbD09PXR8fCJdIj09PXR8fCJ9Ij09PXQpYnJlYWs7ZS5wdXNoKHBhcnNlRmxvYXQodHx8MCkpfXJldHVybiBlfXJlYWROdW1iZXIoKXtjb25zdCBlPXRoaXMuZ2V0VG9rZW4oKTtyZXR1cm4gcGFyc2VGbG9hdChlfHwwKX1yZWFkSW50KCl7Y29uc3QgZT10aGlzLmdldFRva2VuKCk7cmV0dXJuIDB8cGFyc2VJbnQoZXx8MCwxMCl9cmVhZEJvb2xlYW4oKXtyZXR1cm4idHJ1ZSI9PT10aGlzLmdldFRva2VuKCk/MTowfW5leHRDaGFyKCl7cmV0dXJuIHRoaXMuY3VycmVudENoYXI9dGhpcy5zdHJlYW0uZ2V0Qnl0ZSgpfXByZXZDaGFyKCl7dGhpcy5zdHJlYW0uc2tpcCgtMik7cmV0dXJuIHRoaXMuY3VycmVudENoYXI9dGhpcy5zdHJlYW0uZ2V0Qnl0ZSgpfWdldFRva2VuKCl7bGV0IGU9ITEsdD10aGlzLmN1cnJlbnRDaGFyO2Zvcig7Oyl7aWYoLTE9PT10KXJldHVybiBudWxsO2lmKGUpMTAhPT10JiYxMyE9PXR8fChlPSExKTtlbHNlIGlmKDM3PT09dCllPSEwO2Vsc2UgaWYoIWlzV2hpdGVTcGFjZSh0KSlicmVhazt0PXRoaXMubmV4dENoYXIoKX1pZihpc1NwZWNpYWwodCkpe3RoaXMubmV4dENoYXIoKTtyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZSh0KX1sZXQgYT0iIjtkb3thKz1TdHJpbmcuZnJvbUNoYXJDb2RlKHQpO3Q9dGhpcy5uZXh0Q2hhcigpfXdoaWxlKHQ+PTAmJiFpc1doaXRlU3BhY2UodCkmJiFpc1NwZWNpYWwodCkpO3JldHVybiBhfXJlYWRDaGFyU3RyaW5ncyhlLHQpe3JldHVybi0xPT09dD9lOmRlY3J5cHQoZSw0MzMwLHQpfWV4dHJhY3RGb250UHJvZ3JhbShlKXtjb25zdCB0PXRoaXMuc3RyZWFtLGE9W10scj1bXSxpPU9iamVjdC5jcmVhdGUobnVsbCk7aS5sZW5JVj00O2NvbnN0IG49e3N1YnJzOltdLGNoYXJzdHJpbmdzOltdLHByb3BlcnRpZXM6e3ByaXZhdGVEYXRhOml9fTtsZXQgcyxvLGMsbDtmb3IoO251bGwhPT0ocz10aGlzLmdldFRva2VuKCkpOylpZigiLyI9PT1zKXtzPXRoaXMuZ2V0VG9rZW4oKTtzd2l0Y2gocyl7Y2FzZSJDaGFyU3RyaW5ncyI6dGhpcy5nZXRUb2tlbigpO3RoaXMuZ2V0VG9rZW4oKTt0aGlzLmdldFRva2VuKCk7dGhpcy5nZXRUb2tlbigpO2Zvcig7Oyl7cz10aGlzLmdldFRva2VuKCk7aWYobnVsbD09PXN8fCJlbmQiPT09cylicmVhaztpZigiLyIhPT1zKWNvbnRpbnVlO2NvbnN0IGU9dGhpcy5nZXRUb2tlbigpO289dGhpcy5yZWFkSW50KCk7dGhpcy5nZXRUb2tlbigpO2M9bz4wP3QuZ2V0Qnl0ZXMobyk6bmV3IFVpbnQ4QXJyYXkoMCk7bD1uLnByb3BlcnRpZXMucHJpdmF0ZURhdGEubGVuSVY7Y29uc3QgYT10aGlzLnJlYWRDaGFyU3RyaW5ncyhjLGwpO3RoaXMubmV4dENoYXIoKTtzPXRoaXMuZ2V0VG9rZW4oKTsibm9hY2Nlc3MiPT09cz90aGlzLmdldFRva2VuKCk6Ii8iPT09cyYmdGhpcy5wcmV2Q2hhcigpO3IucHVzaCh7Z2x5cGg6ZSxlbmNvZGVkOmF9KX1icmVhaztjYXNlIlN1YnJzIjp0aGlzLnJlYWRJbnQoKTt0aGlzLmdldFRva2VuKCk7Zm9yKDsiZHVwIj09PXRoaXMuZ2V0VG9rZW4oKTspe2NvbnN0IGU9dGhpcy5yZWFkSW50KCk7bz10aGlzLnJlYWRJbnQoKTt0aGlzLmdldFRva2VuKCk7Yz1vPjA/dC5nZXRCeXRlcyhvKTpuZXcgVWludDhBcnJheSgwKTtsPW4ucHJvcGVydGllcy5wcml2YXRlRGF0YS5sZW5JVjtjb25zdCByPXRoaXMucmVhZENoYXJTdHJpbmdzKGMsbCk7dGhpcy5uZXh0Q2hhcigpO3M9dGhpcy5nZXRUb2tlbigpOyJub2FjY2VzcyI9PT1zJiZ0aGlzLmdldFRva2VuKCk7YVtlXT1yfWJyZWFrO2Nhc2UiQmx1ZVZhbHVlcyI6Y2FzZSJPdGhlckJsdWVzIjpjYXNlIkZhbWlseUJsdWVzIjpjYXNlIkZhbWlseU90aGVyQmx1ZXMiOmNvbnN0IGU9dGhpcy5yZWFkTnVtYmVyQXJyYXkoKTtlLmxlbmd0aD4wJiZlLmxlbmd0aCwwO2JyZWFrO2Nhc2UiU3RlbVNuYXBIIjpjYXNlIlN0ZW1TbmFwViI6bi5wcm9wZXJ0aWVzLnByaXZhdGVEYXRhW3NdPXRoaXMucmVhZE51bWJlckFycmF5KCk7YnJlYWs7Y2FzZSJTdGRIVyI6Y2FzZSJTdGRWVyI6bi5wcm9wZXJ0aWVzLnByaXZhdGVEYXRhW3NdPXRoaXMucmVhZE51bWJlckFycmF5KClbMF07YnJlYWs7Y2FzZSJCbHVlU2hpZnQiOmNhc2UibGVuSVYiOmNhc2UiQmx1ZUZ1enoiOmNhc2UiQmx1ZVNjYWxlIjpjYXNlIkxhbmd1YWdlR3JvdXAiOm4ucHJvcGVydGllcy5wcml2YXRlRGF0YVtzXT10aGlzLnJlYWROdW1iZXIoKTticmVhaztjYXNlIkV4cGFuc2lvbkZhY3RvciI6bi5wcm9wZXJ0aWVzLnByaXZhdGVEYXRhW3NdPXRoaXMucmVhZE51bWJlcigpfHwuMDY7YnJlYWs7Y2FzZSJGb3JjZUJvbGQiOm4ucHJvcGVydGllcy5wcml2YXRlRGF0YVtzXT10aGlzLnJlYWRCb29sZWFuKCl9fWZvcihjb25zdHtlbmNvZGVkOnQsZ2x5cGg6aX1vZiByKXtjb25zdCByPW5ldyBUeXBlMUNoYXJTdHJpbmcscz1yLmNvbnZlcnQodCxhLHRoaXMuc2VhY0FuYWx5c2lzRW5hYmxlZCk7bGV0IG89ci5vdXRwdXQ7cyYmKG89WzE0XSk7Y29uc3QgYz17Z2x5cGhOYW1lOmksY2hhcnN0cmluZzpvLHdpZHRoOnIud2lkdGgsbHNiOnIubHNiLHNlYWM6ci5zZWFjfTsiLm5vdGRlZiI9PT1pP24uY2hhcnN0cmluZ3MudW5zaGlmdChjKTpuLmNoYXJzdHJpbmdzLnB1c2goYyk7aWYoZS5idWlsdEluRW5jb2Rpbmcpe2NvbnN0IHQ9ZS5idWlsdEluRW5jb2RpbmcuaW5kZXhPZihpKTt0Pi0xJiZ2b2lkIDA9PT1lLndpZHRoc1t0XSYmdD49ZS5maXJzdENoYXImJnQ8PWUubGFzdENoYXImJihlLndpZHRoc1t0XT1yLndpZHRoKX19cmV0dXJuIG59ZXh0cmFjdEZvbnRIZWFkZXIoZSl7bGV0IHQ7Zm9yKDtudWxsIT09KHQ9dGhpcy5nZXRUb2tlbigpKTspaWYoIi8iPT09dCl7dD10aGlzLmdldFRva2VuKCk7c3dpdGNoKHQpe2Nhc2UiRm9udE1hdHJpeCI6Y29uc3QgYT10aGlzLnJlYWROdW1iZXJBcnJheSgpO2UuZm9udE1hdHJpeD1hO2JyZWFrO2Nhc2UiRW5jb2RpbmciOmNvbnN0IHI9dGhpcy5nZXRUb2tlbigpO2xldCBpO2lmKC9eXGQrJC8udGVzdChyKSl7aT1bXTtjb25zdCBlPTB8cGFyc2VJbnQociwxMCk7dGhpcy5nZXRUb2tlbigpO2ZvcihsZXQgYT0wO2E8ZTthKyspe3Q9dGhpcy5nZXRUb2tlbigpO2Zvcig7ImR1cCIhPT10JiYiZGVmIiE9PXQ7KXt0PXRoaXMuZ2V0VG9rZW4oKTtpZihudWxsPT09dClyZXR1cm59aWYoImRlZiI9PT10KWJyZWFrO2NvbnN0IGU9dGhpcy5yZWFkSW50KCk7dGhpcy5nZXRUb2tlbigpO2NvbnN0IGE9dGhpcy5nZXRUb2tlbigpO2lbZV09YTt0aGlzLmdldFRva2VuKCl9fWVsc2UgaT1nZXRFbmNvZGluZyhyKTtlLmJ1aWx0SW5FbmNvZGluZz1pO2JyZWFrO2Nhc2UiRm9udEJCb3giOmNvbnN0IG49dGhpcy5yZWFkTnVtYmVyQXJyYXkoKTtlLmFzY2VudD1NYXRoLm1heChuWzNdLG5bMV0pO2UuZGVzY2VudD1NYXRoLm1pbihuWzFdLG5bM10pO2UuYXNjZW50U2NhbGVkPSEwfX19fWZ1bmN0aW9uIGZpbmRCbG9jayhlLHQsYSl7Y29uc3Qgcj1lLmxlbmd0aCxpPXQubGVuZ3RoLG49ci1pO2xldCBzPWEsbz0hMTtmb3IoO3M8bjspe2xldCBhPTA7Zm9yKDthPGkmJmVbcythXT09PXRbYV07KWErKztpZihhPj1pKXtzKz1hO2Zvcig7czxyJiZpc1doaXRlU3BhY2UoZVtzXSk7KXMrKztvPSEwO2JyZWFrfXMrK31yZXR1cm57Zm91bmQ6byxsZW5ndGg6c319Y2xhc3MgVHlwZTFGb250e2NvbnN0cnVjdG9yKGUsdCxhKXtsZXQgcj1hLmxlbmd0aDEsaT1hLmxlbmd0aDIsbj10LnBlZWtCeXRlcyg2KTtjb25zdCBzPTEyOD09PW5bMF0mJjE9PT1uWzFdO2lmKHMpe3Quc2tpcCg2KTtyPW5bNV08PDI0fG5bNF08PDE2fG5bM108PDh8blsyXX1jb25zdCBvPWZ1bmN0aW9uIGdldEhlYWRlckJsb2NrKGUsdCl7Y29uc3QgYT1bMTAxLDEwMSwxMjAsMTAxLDk5XSxyPWUucG9zO2xldCBpLG4scyxvO3RyeXtpPWUuZ2V0Qnl0ZXModCk7bj1pLmxlbmd0aH1jYXRjaHt9aWYobj09PXQpe3M9ZmluZEJsb2NrKGksYSx0LTIqYS5sZW5ndGgpO2lmKHMuZm91bmQmJnMubGVuZ3RoPT09dClyZXR1cm57c3RyZWFtOm5ldyBTdHJlYW0oaSksbGVuZ3RoOnR9fXdhcm4oJ0ludmFsaWQgIkxlbmd0aDEiIHByb3BlcnR5IGluIFR5cGUxIGZvbnQgLS0gdHJ5aW5nIHRvIHJlY292ZXIuJyk7ZS5wb3M9cjtmb3IoOzspe3M9ZmluZEJsb2NrKGUucGVla0J5dGVzKDIwNDgpLGEsMCk7aWYoMD09PXMubGVuZ3RoKWJyZWFrO2UucG9zKz1zLmxlbmd0aDtpZihzLmZvdW5kKXtvPWUucG9zLXI7YnJlYWt9fWUucG9zPXI7aWYobylyZXR1cm57c3RyZWFtOm5ldyBTdHJlYW0oZS5nZXRCeXRlcyhvKSksbGVuZ3RoOm99O3dhcm4oJ1VuYWJsZSB0byByZWNvdmVyICJMZW5ndGgxIiBwcm9wZXJ0eSBpbiBUeXBlMSBmb250IC0tIHVzaW5nIGFzIGlzLicpO3JldHVybntzdHJlYW06bmV3IFN0cmVhbShlLmdldEJ5dGVzKHQpKSxsZW5ndGg6dH19KHQscik7bmV3IFR5cGUxUGFyc2VyKG8uc3RyZWFtLCExLHByKS5leHRyYWN0Rm9udEhlYWRlcihhKTtpZihzKXtuPXQuZ2V0Qnl0ZXMoNik7aT1uWzVdPDwyNHxuWzRdPDwxNnxuWzNdPDw4fG5bMl19Y29uc3QgYz1mdW5jdGlvbiBnZXRFZXhlY0Jsb2NrKGUsdCl7Y29uc3QgYT1lLmdldEJ5dGVzKCk7aWYoMD09PWEubGVuZ3RoKXRocm93IG5ldyBGb3JtYXRFcnJvcigiZ2V0RWV4ZWNCbG9jayAtIG5vIGZvbnQgcHJvZ3JhbSBmb3VuZC4iKTtyZXR1cm57c3RyZWFtOm5ldyBTdHJlYW0oYSksbGVuZ3RoOmEubGVuZ3RofX0odCksbD1uZXcgVHlwZTFQYXJzZXIoYy5zdHJlYW0sITAscHIpLmV4dHJhY3RGb250UHJvZ3JhbShhKTtmb3IoY29uc3QgZSBpbiBsLnByb3BlcnRpZXMpYVtlXT1sLnByb3BlcnRpZXNbZV07Y29uc3QgaD1sLmNoYXJzdHJpbmdzLHU9dGhpcy5nZXRUeXBlMkNoYXJzdHJpbmdzKGgpLGQ9dGhpcy5nZXRUeXBlMlN1YnJzKGwuc3VicnMpO3RoaXMuY2hhcnN0cmluZ3M9aDt0aGlzLmRhdGE9dGhpcy53cmFwKGUsdSx0aGlzLmNoYXJzdHJpbmdzLGQsYSk7dGhpcy5zZWFjcz10aGlzLmdldFNlYWNzKGwuY2hhcnN0cmluZ3MpfWdldCBudW1HbHlwaHMoKXtyZXR1cm4gdGhpcy5jaGFyc3RyaW5ncy5sZW5ndGgrMX1nZXRDaGFyc2V0KCl7Y29uc3QgZT1bIi5ub3RkZWYiXTtmb3IoY29uc3R7Z2x5cGhOYW1lOnR9b2YgdGhpcy5jaGFyc3RyaW5ncyllLnB1c2godCk7cmV0dXJuIGV9Z2V0R2x5cGhNYXBwaW5nKGUpe2NvbnN0IHQ9dGhpcy5jaGFyc3RyaW5ncztpZihlLmNvbXBvc2l0ZSl7Y29uc3QgYT1PYmplY3QuY3JlYXRlKG51bGwpO2ZvcihsZXQgcj0wLGk9dC5sZW5ndGg7cjxpO3IrKyl7YVtlLmNNYXAuY2hhckNvZGVPZihyKV09cisxfXJldHVybiBhfWNvbnN0IGE9WyIubm90ZGVmIl07bGV0IHIsaTtmb3IoaT0wO2k8dC5sZW5ndGg7aSsrKWEucHVzaCh0W2ldLmdseXBoTmFtZSk7Y29uc3Qgbj1lLmJ1aWx0SW5FbmNvZGluZztpZihuKXtyPU9iamVjdC5jcmVhdGUobnVsbCk7Zm9yKGNvbnN0IGUgaW4gbil7aT1hLmluZGV4T2YobltlXSk7aT49MCYmKHJbZV09aSl9fXJldHVybiB0eXBlMUZvbnRHbHlwaE1hcHBpbmcoZSxyLGEpfWhhc0dseXBoSWQoZSl7aWYoZTwwfHxlPj10aGlzLm51bUdseXBocylyZXR1cm4hMTtpZigwPT09ZSlyZXR1cm4hMDtyZXR1cm4gdGhpcy5jaGFyc3RyaW5nc1tlLTFdLmNoYXJzdHJpbmcubGVuZ3RoPjB9Z2V0U2VhY3MoZSl7Y29uc3QgdD1bXTtmb3IobGV0IGE9MCxyPWUubGVuZ3RoO2E8cjthKyspe2NvbnN0IHI9ZVthXTtyLnNlYWMmJih0W2ErMV09ci5zZWFjKX1yZXR1cm4gdH1nZXRUeXBlMkNoYXJzdHJpbmdzKGUpe2NvbnN0IHQ9W107Zm9yKGNvbnN0IGEgb2YgZSl0LnB1c2goYS5jaGFyc3RyaW5nKTtyZXR1cm4gdH1nZXRUeXBlMlN1YnJzKGUpe2xldCB0PTA7Y29uc3QgYT1lLmxlbmd0aDt0PWE8MTEzMz8xMDc6YTwzMzc2OT8xMTMxOjMyNzY4O2NvbnN0IHI9W107bGV0IGk7Zm9yKGk9MDtpPHQ7aSsrKXIucHVzaChbMTFdKTtmb3IoaT0wO2k8YTtpKyspci5wdXNoKGVbaV0pO3JldHVybiByfXdyYXAoZSx0LGEscixpKXtjb25zdCBuPW5ldyBDRkY7bi5oZWFkZXI9bmV3IENGRkhlYWRlcigxLDAsNCw0KTtuLm5hbWVzPVtlXTtjb25zdCBzPW5ldyBDRkZUb3BEaWN0O3Muc2V0QnlOYW1lKCJ2ZXJzaW9uIiwzOTEpO3Muc2V0QnlOYW1lKCJOb3RpY2UiLDM5Mik7cy5zZXRCeU5hbWUoIkZ1bGxOYW1lIiwzOTMpO3Muc2V0QnlOYW1lKCJGYW1pbHlOYW1lIiwzOTQpO3Muc2V0QnlOYW1lKCJXZWlnaHQiLDM5NSk7cy5zZXRCeU5hbWUoIkVuY29kaW5nIixudWxsKTtzLnNldEJ5TmFtZSgiRm9udE1hdHJpeCIsaS5mb250TWF0cml4KTtzLnNldEJ5TmFtZSgiRm9udEJCb3giLGkuYmJveCk7cy5zZXRCeU5hbWUoImNoYXJzZXQiLG51bGwpO3Muc2V0QnlOYW1lKCJDaGFyU3RyaW5ncyIsbnVsbCk7cy5zZXRCeU5hbWUoIlByaXZhdGUiLG51bGwpO24udG9wRGljdD1zO2NvbnN0IG89bmV3IENGRlN0cmluZ3M7by5hZGQoIlZlcnNpb24gMC4xMSIpO28uYWRkKCJTZWUgb3JpZ2luYWwgbm90aWNlIik7by5hZGQoZSk7by5hZGQoZSk7by5hZGQoIk1lZGl1bSIpO24uc3RyaW5ncz1vO24uZ2xvYmFsU3VickluZGV4PW5ldyBDRkZJbmRleDtjb25zdCBjPXQubGVuZ3RoLGw9WyIubm90ZGVmIl07bGV0IGgsdTtmb3IoaD0wO2g8YztoKyspe2NvbnN0IGU9YVtoXS5nbHlwaE5hbWU7LTE9PT12ci5pbmRleE9mKGUpJiZvLmFkZChlKTtsLnB1c2goZSl9bi5jaGFyc2V0PW5ldyBDRkZDaGFyc2V0KCExLDAsbCk7Y29uc3QgZD1uZXcgQ0ZGSW5kZXg7ZC5hZGQoWzEzOSwxNF0pO2ZvcihoPTA7aDxjO2grKylkLmFkZCh0W2hdKTtuLmNoYXJTdHJpbmdzPWQ7Y29uc3QgZj1uZXcgQ0ZGUHJpdmF0ZURpY3Q7Zi5zZXRCeU5hbWUoIlN1YnJzIixudWxsKTtjb25zdCBnPVsiQmx1ZVZhbHVlcyIsIk90aGVyQmx1ZXMiLCJGYW1pbHlCbHVlcyIsIkZhbWlseU90aGVyQmx1ZXMiLCJTdGVtU25hcEgiLCJTdGVtU25hcFYiLCJCbHVlU2hpZnQiLCJCbHVlRnV6eiIsIkJsdWVTY2FsZSIsIkxhbmd1YWdlR3JvdXAiLCJFeHBhbnNpb25GYWN0b3IiLCJGb3JjZUJvbGQiLCJTdGRIVyIsIlN0ZFZXIl07Zm9yKGg9MCx1PWcubGVuZ3RoO2g8dTtoKyspe2NvbnN0IGU9Z1toXTtpZighKGUgaW4gaS5wcml2YXRlRGF0YSkpY29udGludWU7Y29uc3QgdD1pLnByaXZhdGVEYXRhW2VdO2lmKEFycmF5LmlzQXJyYXkodCkpZm9yKGxldCBlPXQubGVuZ3RoLTE7ZT4wO2UtLSl0W2VdLT10W2UtMV07Zi5zZXRCeU5hbWUoZSx0KX1uLnRvcERpY3QucHJpdmF0ZURpY3Q9Zjtjb25zdCBwPW5ldyBDRkZJbmRleDtmb3IoaD0wLHU9ci5sZW5ndGg7aDx1O2grKylwLmFkZChyW2hdKTtmLnN1YnJzSW5kZXg9cDtyZXR1cm4gbmV3IENGRkNvbXBpbGVyKG4pLmNvbXBpbGUoKX19Y29uc3QgZWk9W1s1NzM0NCw2Mzc0M10sWzEwNDg1NzYsMTExNDEwOV1dLHRpPTFlMyxhaT1bImFzY2VudCIsImJib3giLCJibGFjayIsImJvbGQiLCJjaGFyUHJvY09wZXJhdG9yTGlzdCIsImNzc0ZvbnRJbmZvIiwiZGF0YSIsImRlZmF1bHRWTWV0cmljcyIsImRlZmF1bHRXaWR0aCIsImRlc2NlbnQiLCJkaXNhYmxlRm9udEZhY2UiLCJmYWxsYmFja05hbWUiLCJmb250RXh0cmFQcm9wZXJ0aWVzIiwiZm9udE1hdHJpeCIsImlzSW52YWxpZFBERmpzRm9udCIsImlzVHlwZTNGb250IiwiaXRhbGljIiwibG9hZGVkTmFtZSIsIm1pbWV0eXBlIiwibWlzc2luZ0ZpbGUiLCJuYW1lIiwicmVtZWFzdXJlIiwic3lzdGVtRm9udEluZm8iLCJ2ZXJ0aWNhbCJdLHJpPVsiY01hcCIsImNvbXBvc2l0ZSIsImRlZmF1bHRFbmNvZGluZyIsImRpZmZlcmVuY2VzIiwiaXNNb25vc3BhY2UiLCJpc1NlcmlmRm9udCIsImlzU3ltYm9saWNGb250Iiwic2VhY01hcCIsInN1YnR5cGUiLCJ0b0ZvbnRDaGFyIiwidG9Vbmljb2RlIiwidHlwZSIsInZtZXRyaWNzIiwid2lkdGhzIl07ZnVuY3Rpb24gYWRqdXN0V2lkdGhzKGUpe2lmKCFlLmZvbnRNYXRyaXgpcmV0dXJuO2lmKGUuZm9udE1hdHJpeFswXT09PXRbMF0pcmV0dXJuO2NvbnN0IGE9LjAwMS9lLmZvbnRNYXRyaXhbMF0scj1lLndpZHRocztmb3IoY29uc3QgZSBpbiByKXJbZV0qPWE7ZS5kZWZhdWx0V2lkdGgqPWF9ZnVuY3Rpb24gYW1lbmRGYWxsYmFja1RvVW5pY29kZShlKXtpZighZS5mYWxsYmFja1RvVW5pY29kZSlyZXR1cm47aWYoZS50b1VuaWNvZGUgaW5zdGFuY2VvZiBJZGVudGl0eVRvVW5pY29kZU1hcClyZXR1cm47Y29uc3QgdD1bXTtmb3IoY29uc3QgYSBpbiBlLmZhbGxiYWNrVG9Vbmljb2RlKWUudG9Vbmljb2RlLmhhcyhhKXx8KHRbYV09ZS5mYWxsYmFja1RvVW5pY29kZVthXSk7dC5sZW5ndGg+MCYmZS50b1VuaWNvZGUuYW1lbmQodCl9Y2xhc3MgZm9udHNfR2x5cGh7Y29uc3RydWN0b3IoZSx0LGEscixpLG4scyxvLGMpe3RoaXMub3JpZ2luYWxDaGFyQ29kZT1lO3RoaXMuZm9udENoYXI9dDt0aGlzLnVuaWNvZGU9YTt0aGlzLmFjY2VudD1yO3RoaXMud2lkdGg9aTt0aGlzLnZtZXRyaWM9bjt0aGlzLm9wZXJhdG9yTGlzdElkPXM7dGhpcy5pc1NwYWNlPW87dGhpcy5pc0luRm9udD1jfWdldCBjYXRlZ29yeSgpe3JldHVybiBzaGFkb3codGhpcywiY2F0ZWdvcnkiLGZ1bmN0aW9uIGdldENoYXJVbmljb2RlQ2F0ZWdvcnkoZSl7Y29uc3QgdD1nci5nZXQoZSk7aWYodClyZXR1cm4gdDtjb25zdCBhPWUubWF0Y2goZnIpLHI9e2lzV2hpdGVzcGFjZTohIWE/LlsxXSxpc1plcm9XaWR0aERpYWNyaXRpYzohIWE/LlsyXSxpc0ludmlzaWJsZUZvcm1hdE1hcms6ISFhPy5bM119O2dyLnNldChlLHIpO3JldHVybiByfSh0aGlzLnVuaWNvZGUpLCEwKX19ZnVuY3Rpb24gaW50MTYoZSx0KXtyZXR1cm4oZTw8OCkrdH1mdW5jdGlvbiB3cml0ZVNpZ25lZEludDE2KGUsdCxhKXtlW3QrMV09YTtlW3RdPWE+Pj44fWZ1bmN0aW9uIHNpZ25lZEludDE2KGUsdCl7Y29uc3QgYT0oZTw8OCkrdDtyZXR1cm4gMzI3NjgmYT9hLTY1NTM2OmF9ZnVuY3Rpb24gc3RyaW5nMTYoZSl7cmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoZT4+OCYyNTUsMjU1JmUpfWZ1bmN0aW9uIHNhZmVTdHJpbmcxNihlKXtlPjMyNzY3P2U9MzI3Njc6ZTwtMzI3NjgmJihlPS0zMjc2OCk7cmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoZT4+OCYyNTUsMjU1JmUpfWZ1bmN0aW9uIGlzVHJ1ZVR5cGVDb2xsZWN0aW9uRmlsZShlKXtyZXR1cm4idHRjZiI9PT1ieXRlc1RvU3RyaW5nKGUucGVla0J5dGVzKDQpKX1mdW5jdGlvbiBnZXRGb250RmlsZVR5cGUoZSx7dHlwZTp0LHN1YnR5cGU6YSxjb21wb3NpdGU6cn0pe2xldCBpLG47aWYoZnVuY3Rpb24gaXNUcnVlVHlwZUZpbGUoZSl7Y29uc3QgdD1lLnBlZWtCeXRlcyg0KTtyZXR1cm4gNjU1MzY9PT1yZWFkVWludDMyKHQsMCl8fCJ0cnVlIj09PWJ5dGVzVG9TdHJpbmcodCl9KGUpfHxpc1RydWVUeXBlQ29sbGVjdGlvbkZpbGUoZSkpaT1yPyJDSURGb250VHlwZTIiOiJUcnVlVHlwZSI7ZWxzZSBpZihmdW5jdGlvbiBpc09wZW5UeXBlRmlsZShlKXtyZXR1cm4iT1RUTyI9PT1ieXRlc1RvU3RyaW5nKGUucGVla0J5dGVzKDQpKX0oZSkpaT1yPyJDSURGb250VHlwZTIiOiJPcGVuVHlwZSI7ZWxzZSBpZihmdW5jdGlvbiBpc1R5cGUxRmlsZShlKXtjb25zdCB0PWUucGVla0J5dGVzKDIpO3JldHVybiAzNz09PXRbMF0mJjMzPT09dFsxXXx8MTI4PT09dFswXSYmMT09PXRbMV19KGUpKWk9cj8iQ0lERm9udFR5cGUwIjoiTU1UeXBlMSI9PT10PyJNTVR5cGUxIjoiVHlwZTEiO2Vsc2UgaWYoZnVuY3Rpb24gaXNDRkZGaWxlKGUpe2NvbnN0IHQ9ZS5wZWVrQnl0ZXMoNCk7cmV0dXJuIHRbMF0+PTEmJnRbM10+PTEmJnRbM108PTR9KGUpKWlmKHIpe2k9IkNJREZvbnRUeXBlMCI7bj0iQ0lERm9udFR5cGUwQyJ9ZWxzZXtpPSJNTVR5cGUxIj09PXQ/Ik1NVHlwZTEiOiJUeXBlMSI7bj0iVHlwZTFDIn1lbHNle3dhcm4oImdldEZvbnRGaWxlVHlwZTogVW5hYmxlIHRvIGRldGVjdCBjb3JyZWN0IGZvbnQgZmlsZSBUeXBlL1N1YnR5cGUuIik7aT10O249YX1yZXR1cm5baSxuXX1mdW5jdGlvbiBhcHBseVN0YW5kYXJkRm9udEdseXBoTWFwKGUsdCl7Zm9yKGNvbnN0IGEgaW4gdCllWythXT10W2FdfWZ1bmN0aW9uIGJ1aWxkVG9Gb250Q2hhcihlLHQsYSl7Y29uc3Qgcj1bXTtsZXQgaTtmb3IobGV0IGE9MCxuPWUubGVuZ3RoO2E8bjthKyspe2k9Z2V0VW5pY29kZUZvckdseXBoKGVbYV0sdCk7LTEhPT1pJiYoclthXT1pKX1mb3IoY29uc3QgZSBpbiBhKXtpPWdldFVuaWNvZGVGb3JHbHlwaChhW2VdLHQpOy0xIT09aSYmKHJbK2VdPWkpfXJldHVybiByfWZ1bmN0aW9uIGlzTWFjTmFtZVJlY29yZChlKXtyZXR1cm4gMT09PWUucGxhdGZvcm0mJjA9PT1lLmVuY29kaW5nJiYwPT09ZS5sYW5ndWFnZX1mdW5jdGlvbiBpc1dpbk5hbWVSZWNvcmQoZSl7cmV0dXJuIDM9PT1lLnBsYXRmb3JtJiYxPT09ZS5lbmNvZGluZyYmMTAzMz09PWUubGFuZ3VhZ2V9ZnVuY3Rpb24gY29udmVydENpZFN0cmluZyhlLHQsYT0hMSl7c3dpdGNoKHQubGVuZ3RoKXtjYXNlIDE6cmV0dXJuIHQuY2hhckNvZGVBdCgwKTtjYXNlIDI6cmV0dXJuIHQuY2hhckNvZGVBdCgwKTw8OHx0LmNoYXJDb2RlQXQoMSl9Y29uc3Qgcj1gVW5zdXBwb3J0ZWQgQ0lEIHN0cmluZyAoY2hhckNvZGUgJHtlfSk6ICIke3R9Ii5gO2lmKGEpdGhyb3cgbmV3IEZvcm1hdEVycm9yKHIpO3dhcm4ocik7cmV0dXJuIHR9ZnVuY3Rpb24gYWRqdXN0TWFwcGluZyhlLHQsYSxyKXtjb25zdCBpPU9iamVjdC5jcmVhdGUobnVsbCksbj1uZXcgTWFwLHM9W10sbz1uZXcgU2V0O2xldCBjPTA7bGV0IGw9ZWlbY11bMF0saD1laVtjXVsxXTtsZXQgdT1udWxsO2Zvcihjb25zdCBmIGluIGUpe2xldCBnPWVbZl07aWYoIXQoZykpY29udGludWU7aWYobD5oKXtjKys7aWYoYz49ZWkubGVuZ3RoKXt3YXJuKCJSYW4gb3V0IG9mIHNwYWNlIGluIGZvbnQgcHJpdmF0ZSB1c2UgYXJlYS4iKTticmVha31sPWVpW2NdWzBdO2g9ZWlbY11bMV19Y29uc3QgcD1sKys7MD09PWcmJihnPWEpO2xldCBtPXIuZ2V0KGYpO2lmKCJzdHJpbmciPT10eXBlb2YgbSlpZigxPT09bS5sZW5ndGgpbT1tLmNvZGVQb2ludEF0KDApO2Vsc2V7aWYoIXUpe3U9bmV3IE1hcDtmb3IobGV0IGU9NjQyNTY7ZTw9NjQzMzU7ZSsrKXtjb25zdCB0PVN0cmluZy5mcm9tQ2hhckNvZGUoZSkubm9ybWFsaXplKCJORktEIik7dC5sZW5ndGg+MSYmdS5zZXQodCxlKX19bT11LmdldChtKXx8bS5jb2RlUG9pbnRBdCgwKX1pZihtJiYhKGQ9bSxlaVswXVswXTw9ZCYmZDw9ZWlbMF1bMV18fGVpWzFdWzBdPD1kJiZkPD1laVsxXVsxXSkmJiFvLmhhcyhnKSl7bi5zZXQobSxnKTtvLmFkZChnKX1pW3BdPWc7c1tmXT1wfXZhciBkO3JldHVybnt0b0ZvbnRDaGFyOnMsY2hhckNvZGVUb0dseXBoSWQ6aSx0b1VuaWNvZGVFeHRyYU1hcDpuLG5leHRBdmFpbGFibGVGb250Q2hhckNvZGU6bH19ZnVuY3Rpb24gY3JlYXRlQ21hcFRhYmxlKGUsdCxhKXtjb25zdCByPWZ1bmN0aW9uIGdldFJhbmdlcyhlLHQsYSl7Y29uc3Qgcj1bXTtmb3IoY29uc3QgdCBpbiBlKWVbdF0+PWF8fHIucHVzaCh7Zm9udENoYXJDb2RlOjB8dCxnbHlwaElkOmVbdF19KTtpZih0KWZvcihjb25zdFtlLGldb2YgdClpPj1hfHxyLnB1c2goe2ZvbnRDaGFyQ29kZTplLGdseXBoSWQ6aX0pOzA9PT1yLmxlbmd0aCYmci5wdXNoKHtmb250Q2hhckNvZGU6MCxnbHlwaElkOjB9KTtyLnNvcnQoKChlLHQpPT5lLmZvbnRDaGFyQ29kZS10LmZvbnRDaGFyQ29kZSkpO2NvbnN0IGk9W10sbj1yLmxlbmd0aDtmb3IobGV0IGU9MDtlPG47KXtjb25zdCB0PXJbZV0uZm9udENoYXJDb2RlLGE9W3JbZV0uZ2x5cGhJZF07KytlO2xldCBzPXQ7Zm9yKDtlPG4mJnMrMT09PXJbZV0uZm9udENoYXJDb2RlOyl7YS5wdXNoKHJbZV0uZ2x5cGhJZCk7KytzOysrZTtpZig2NTUzNT09PXMpYnJlYWt9aS5wdXNoKFt0LHMsYV0pfXJldHVybiBpfShlLHQsYSksaT1yLmF0KC0xKVsxXT42NTUzNT8yOjE7bGV0IG4scyxvLGMsbD0iXDBcMCIrc3RyaW5nMTYoaSkrIlwwA1wwASIrc3RyaW5nMzIoNCs4KmkpO2ZvcihuPXIubGVuZ3RoLTE7bj49MCYmIShyW25dWzBdPD02NTUzNSk7LS1uKTtjb25zdCBoPW4rMTtyW25dWzBdPDY1NTM1JiY2NTUzNT09PXJbbl1bMV0mJihyW25dWzFdPTY1NTM0KTtjb25zdCB1PXJbbl1bMV08NjU1MzU/MTowLGQ9aCt1LGY9T3BlblR5cGVGaWxlQnVpbGRlci5nZXRTZWFyY2hQYXJhbXMoZCwyKTtsZXQgZyxwLG0sYix5PSIiLHc9IiIseD0iIixTPSIiLGs9IiIsQz0wO2ZvcihuPTAscz1oO248cztuKyspe2c9cltuXTtwPWdbMF07bT1nWzFdO3krPXN0cmluZzE2KHApO3crPXN0cmluZzE2KG0pO2I9Z1syXTtsZXQgZT0hMDtmb3Iobz0xLGM9Yi5sZW5ndGg7bzxjOysrbylpZihiW29dIT09YltvLTFdKzEpe2U9ITE7YnJlYWt9aWYoZSl7eCs9c3RyaW5nMTYoYlswXS1wJjY1NTM1KTtTKz1zdHJpbmcxNigwKX1lbHNle2NvbnN0IGU9MiooZC1uKSsyKkM7Qys9bS1wKzE7eCs9c3RyaW5nMTYoMCk7Uys9c3RyaW5nMTYoZSk7Zm9yKG89MCxjPWIubGVuZ3RoO288YzsrK28pays9c3RyaW5nMTYoYltvXSl9fWlmKHU+MCl7dys9IsO/w78iO3krPSLDv8O/Ijt4Kz0iXDABIjtTKz0iXDBcMCJ9Y29uc3Qgdj0iXDBcMCIrc3RyaW5nMTYoMipkKStzdHJpbmcxNihmLnJhbmdlKStzdHJpbmcxNihmLmVudHJ5KStzdHJpbmcxNihmLnJhbmdlU2hpZnQpK3crIlwwXDAiK3kreCtTK2s7bGV0IEY9IiIsVD0iIjtpZihpPjEpe2wrPSJcMANcMFxuIitzdHJpbmczMig0KzgqaSs0K3YubGVuZ3RoKTtGPSIiO2ZvcihuPTAscz1yLmxlbmd0aDtuPHM7bisrKXtnPXJbbl07cD1nWzBdO2I9Z1syXTtsZXQgZT1iWzBdO2ZvcihvPTEsYz1iLmxlbmd0aDtvPGM7KytvKWlmKGJbb10hPT1iW28tMV0rMSl7bT1nWzBdK28tMTtGKz1zdHJpbmczMihwKStzdHJpbmczMihtKStzdHJpbmczMihlKTtwPW0rMTtlPWJbb119Ris9c3RyaW5nMzIocCkrc3RyaW5nMzIoZ1sxXSkrc3RyaW5nMzIoZSl9VD0iXDBcZlwwXDAiK3N0cmluZzMyKEYubGVuZ3RoKzE2KSsiXDBcMFwwXDAiK3N0cmluZzMyKEYubGVuZ3RoLzEyKX1yZXR1cm4gbCsiXDAEIitzdHJpbmcxNih2Lmxlbmd0aCs0KSt2K1QrRn1mdW5jdGlvbiBjcmVhdGVPUzJUYWJsZShlLHQsYSl7YXx8PXt1bml0c1BlckVtOjAseU1heDowLHlNaW46MCxhc2NlbnQ6MCxkZXNjZW50OjB9O2xldCByPTAsaT0wLG49MCxzPTAsbz1udWxsLGM9MCxsPS0xO2lmKHQpe2ZvcihsZXQgZSBpbiB0KXtlfD0wOyhvPmV8fCFvKSYmKG89ZSk7YzxlJiYoYz1lKTtsPWdldFVuaWNvZGVSYW5nZUZvcihlLGwpO2lmKGw8MzIpcnw9MTw8bDtlbHNlIGlmKGw8NjQpaXw9MTw8bC0zMjtlbHNlIGlmKGw8OTYpbnw9MTw8bC02NDtlbHNle2lmKCEobDwxMjMpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiVW5pY29kZSByYW5nZXMgQml0cyA+IDEyMyBhcmUgcmVzZXJ2ZWQgZm9yIGludGVybmFsIHVzYWdlIik7c3w9MTw8bC05Nn19Yz42NTUzNSYmKGM9NjU1MzUpfWVsc2V7bz0wO2M9MjU1fWNvbnN0IGg9ZS5iYm94fHxbMCwwLDAsMF0sdT1hLnVuaXRzUGVyRW18fChlLmZvbnRNYXRyaXg/MS9NYXRoLm1heCguLi5lLmZvbnRNYXRyaXguc2xpY2UoMCw0KS5tYXAoTWF0aC5hYnMpKToxZTMpLGQ9ZS5hc2NlbnRTY2FsZWQ/MTp1L3RpLGY9YS5hc2NlbnR8fE1hdGgucm91bmQoZCooZS5hc2NlbnR8fGhbM10pKTtsZXQgZz1hLmRlc2NlbnR8fE1hdGgucm91bmQoZCooZS5kZXNjZW50fHxoWzFdKSk7Zz4wJiZlLmRlc2NlbnQ+MCYmaFsxXTwwJiYoZz0tZyk7Y29uc3QgcD1hLnlNYXh8fGYsbT0tYS55TWlufHwtZztyZXR1cm4iXDADAiQBw7RcMAVcMFwwAsKKAsK7XDBcMFwwwowCwooCwrtcMFwwAcOfXHgwMDEBAlwwXDBcMFwwBiIrU3RyaW5nLmZyb21DaGFyQ29kZShlLmZpeGVkUGl0Y2g/OTowKSsiXDBcMFwwXDBcMFwwIitzdHJpbmczMihyKStzdHJpbmczMihpKStzdHJpbmczMihuKStzdHJpbmczMihzKSsiKjIxKiIrc3RyaW5nMTYoZS5pdGFsaWNBbmdsZT8xOjApK3N0cmluZzE2KG98fGUuZmlyc3RDaGFyKStzdHJpbmcxNihjfHxlLmxhc3RDaGFyKStzdHJpbmcxNihmKStzdHJpbmcxNihnKSsiXDBkIitzdHJpbmcxNihwKStzdHJpbmcxNihtKSsiXDBcMFwwXDBcMFwwXDBcMCIrc3RyaW5nMTYoZS54SGVpZ2h0KStzdHJpbmcxNihlLmNhcEhlaWdodCkrc3RyaW5nMTYoMCkrc3RyaW5nMTYob3x8ZS5maXJzdENoYXIpKyJcMAMifWZ1bmN0aW9uIGNyZWF0ZVBvc3RUYWJsZShlKXtyZXR1cm4iXDADXDBcMCIrc3RyaW5nMzIoTWF0aC5mbG9vcig2NTUzNiplLml0YWxpY0FuZ2xlKSkrIlwwXDBcMFwwIitzdHJpbmczMihlLmZpeGVkUGl0Y2g/MTowKSsiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAifWZ1bmN0aW9uIGNyZWF0ZVBvc3RzY3JpcHROYW1lKGUpe3JldHVybiBlLnJlcGxhY2VBbGwoL1teXHgyMS1ceDdFXXxbW1xdKCl7fTw+LyVdL2csIiIpLnNsaWNlKDAsNjMpfWZ1bmN0aW9uIGNyZWF0ZU5hbWVUYWJsZShlLHQpe3R8fCh0PVtbXSxbXV0pO2NvbnN0IGE9W3RbMF1bMF18fCJPcmlnaW5hbCBsaWNlbmNlIix0WzBdWzFdfHxlLHRbMF1bMl18fCJVbmtub3duIix0WzBdWzNdfHwidW5pcXVlSUQiLHRbMF1bNF18fGUsdFswXVs1XXx8IlZlcnNpb24gMC4xMSIsdFswXVs2XXx8Y3JlYXRlUG9zdHNjcmlwdE5hbWUoZSksdFswXVs3XXx8IlVua25vd24iLHRbMF1bOF18fCJVbmtub3duIix0WzBdWzldfHwiVW5rbm93biJdLHI9W107bGV0IGksbixzLG8sYztmb3IoaT0wLG49YS5sZW5ndGg7aTxuO2krKyl7Yz10WzFdW2ldfHxhW2ldO2NvbnN0IGU9W107Zm9yKHM9MCxvPWMubGVuZ3RoO3M8bztzKyspZS5wdXNoKHN0cmluZzE2KGMuY2hhckNvZGVBdChzKSkpO3IucHVzaChlLmpvaW4oIiIpKX1jb25zdCBsPVthLHJdLGg9WyJcMAEiLCJcMAMiXSx1PVsiXDBcMCIsIlwwASJdLGQ9WyJcMFwwIiwiBFx0Il0sZj1hLmxlbmd0aCpoLmxlbmd0aDtsZXQgZz0iXDBcMCIrc3RyaW5nMTYoZikrc3RyaW5nMTYoMTIqZis2KSxwPTA7Zm9yKGk9MCxuPWgubGVuZ3RoO2k8bjtpKyspe2NvbnN0IGU9bFtpXTtmb3Iocz0wLG89ZS5sZW5ndGg7czxvO3MrKyl7Yz1lW3NdO2crPWhbaV0rdVtpXStkW2ldK3N0cmluZzE2KHMpK3N0cmluZzE2KGMubGVuZ3RoKStzdHJpbmcxNihwKTtwKz1jLmxlbmd0aH19Zys9YS5qb2luKCIiKStyLmpvaW4oIiIpO3JldHVybiBnfWNsYXNzIEZvbnR7Y29uc3RydWN0b3IoZSx0LGEscil7dGhpcy5uYW1lPWU7dGhpcy5wc05hbWU9bnVsbDt0aGlzLm1pbWV0eXBlPW51bGw7dGhpcy5kaXNhYmxlRm9udEZhY2U9ci5kaXNhYmxlRm9udEZhY2U7dGhpcy5mb250RXh0cmFQcm9wZXJ0aWVzPXIuZm9udEV4dHJhUHJvcGVydGllczt0aGlzLmxvYWRlZE5hbWU9YS5sb2FkZWROYW1lO3RoaXMuaXNUeXBlM0ZvbnQ9YS5pc1R5cGUzRm9udDt0aGlzLm1pc3NpbmdGaWxlPSExO3RoaXMuY3NzRm9udEluZm89YS5jc3NGb250SW5mbzt0aGlzLl9jaGFyc0NhY2hlPU9iamVjdC5jcmVhdGUobnVsbCk7dGhpcy5fZ2x5cGhDYWNoZT1PYmplY3QuY3JlYXRlKG51bGwpO2xldCBpPSEhKGEuZmxhZ3MmYnIpO2lmKCFpJiYhYS5pc1NpbXVsYXRlZEZsYWdzKXtjb25zdCB0PWUucmVwbGFjZUFsbCgvWyxfXS9nLCItIikuc3BsaXQoIi0iLDEpWzBdLGE9UHIoKTtmb3IoY29uc3QgZSBvZiB0LnNwbGl0KCIrIikpaWYoYVtlXSl7aT0hMDticmVha319dGhpcy5pc1NlcmlmRm9udD1pO3RoaXMuaXNTeW1ib2xpY0ZvbnQ9ISEoYS5mbGFncyZ5cik7dGhpcy5pc01vbm9zcGFjZT0hIShhLmZsYWdzJm1yKTtsZXR7dHlwZTpuLHN1YnR5cGU6c309YTt0aGlzLnR5cGU9bjt0aGlzLnN1YnR5cGU9czt0aGlzLnN5c3RlbUZvbnRJbmZvPWEuc3lzdGVtRm9udEluZm87Y29uc3Qgbz1lLm1hdGNoKC9eSW52YWxpZFBERmpzRm9udF8oLiopX1xkKyQvKTt0aGlzLmlzSW52YWxpZFBERmpzRm9udD0hIW87dGhpcy5pc0ludmFsaWRQREZqc0ZvbnQ/dGhpcy5mYWxsYmFja05hbWU9b1sxXTp0aGlzLmlzTW9ub3NwYWNlP3RoaXMuZmFsbGJhY2tOYW1lPSJtb25vc3BhY2UiOnRoaXMuaXNTZXJpZkZvbnQ/dGhpcy5mYWxsYmFja05hbWU9InNlcmlmIjp0aGlzLmZhbGxiYWNrTmFtZT0ic2Fucy1zZXJpZiI7aWYodGhpcy5zeXN0ZW1Gb250SW5mbz8uZ3Vlc3NGYWxsYmFjayl7dGhpcy5zeXN0ZW1Gb250SW5mby5ndWVzc0ZhbGxiYWNrPSExO3RoaXMuc3lzdGVtRm9udEluZm8uY3NzKz1gLCR7dGhpcy5mYWxsYmFja05hbWV9YH10aGlzLmRpZmZlcmVuY2VzPWEuZGlmZmVyZW5jZXM7dGhpcy53aWR0aHM9YS53aWR0aHM7dGhpcy5kZWZhdWx0V2lkdGg9YS5kZWZhdWx0V2lkdGg7dGhpcy5jb21wb3NpdGU9YS5jb21wb3NpdGU7dGhpcy5jTWFwPWEuY01hcDt0aGlzLmNhcEhlaWdodD1hLmNhcEhlaWdodC90aTt0aGlzLmFzY2VudD1hLmFzY2VudC90aTt0aGlzLmRlc2NlbnQ9YS5kZXNjZW50L3RpO3RoaXMubGluZUhlaWdodD10aGlzLmFzY2VudC10aGlzLmRlc2NlbnQ7dGhpcy5mb250TWF0cml4PWEuZm9udE1hdHJpeDt0aGlzLmJib3g9YS5iYm94O3RoaXMuZGVmYXVsdEVuY29kaW5nPWEuZGVmYXVsdEVuY29kaW5nO3RoaXMudG9Vbmljb2RlPWEudG9Vbmljb2RlO3RoaXMudG9Gb250Q2hhcj1bXTtpZigiVHlwZTMiPT09YS50eXBlKXtmb3IobGV0IGU9MDtlPDI1NjtlKyspdGhpcy50b0ZvbnRDaGFyW2VdPXRoaXMuZGlmZmVyZW5jZXNbZV18fGEuZGVmYXVsdEVuY29kaW5nW2VdO3JldHVybn10aGlzLmNpZEVuY29kaW5nPWEuY2lkRW5jb2Rpbmd8fCIiO3RoaXMudmVydGljYWw9ISFhLnZlcnRpY2FsO2lmKHRoaXMudmVydGljYWwpe3RoaXMudm1ldHJpY3M9YS52bWV0cmljczt0aGlzLmRlZmF1bHRWTWV0cmljcz1hLmRlZmF1bHRWTWV0cmljc31pZighdHx8dC5pc0VtcHR5KXt0JiZ3YXJuKCdGb250IGZpbGUgaXMgZW1wdHkgaW4gIicrZSsnIiAoJyt0aGlzLmxvYWRlZE5hbWUrIikiKTt0aGlzLmZhbGxiYWNrVG9TeXN0ZW1Gb250KGEpO3JldHVybn1bbixzXT1nZXRGb250RmlsZVR5cGUodCxhKTtuPT09dGhpcy50eXBlJiZzPT09dGhpcy5zdWJ0eXBlfHxpbmZvKGBJbmNvbnNpc3RlbnQgZm9udCBmaWxlIFR5cGUvU3ViVHlwZSwgZXhwZWN0ZWQ6ICR7dGhpcy50eXBlfS8ke3RoaXMuc3VidHlwZX0gYnV0IGZvdW5kOiAke259LyR7c30uYCk7bGV0IGM7dHJ5e3N3aXRjaChuKXtjYXNlIk1NVHlwZTEiOmluZm8oIk1NVHlwZTEgZm9udCAoIitlKyIpLCBmYWxsaW5nIGJhY2sgdG8gVHlwZTEuIik7Y2FzZSJUeXBlMSI6Y2FzZSJDSURGb250VHlwZTAiOnRoaXMubWltZXR5cGU9ImZvbnQvb3BlbnR5cGUiO2NvbnN0IHI9IlR5cGUxQyI9PT1zfHwiQ0lERm9udFR5cGUwQyI9PT1zP25ldyBDRkZGb250KHQsYSk6bmV3IFR5cGUxRm9udChlLHQsYSk7YWRqdXN0V2lkdGhzKGEpO2M9dGhpcy5jb252ZXJ0KGUscixhKTticmVhaztjYXNlIk9wZW5UeXBlIjpjYXNlIlRydWVUeXBlIjpjYXNlIkNJREZvbnRUeXBlMiI6dGhpcy5taW1ldHlwZT0iZm9udC9vcGVudHlwZSI7Yz10aGlzLmNoZWNrQW5kUmVwYWlyKGUsdCxhKTthZGp1c3RXaWR0aHMoYSk7dGhpcy5pc09wZW5UeXBlJiYobj0iT3BlblR5cGUiKTticmVhaztkZWZhdWx0OnRocm93IG5ldyBGb3JtYXRFcnJvcihgRm9udCAke259IGlzIG5vdCBzdXBwb3J0ZWRgKX19Y2F0Y2goZSl7d2FybihlKTt0aGlzLmZhbGxiYWNrVG9TeXN0ZW1Gb250KGEpO3JldHVybn1hbWVuZEZhbGxiYWNrVG9Vbmljb2RlKGEpO3RoaXMuZGF0YT1jO3RoaXMudHlwZT1uO3RoaXMuc3VidHlwZT1zO3RoaXMuZm9udE1hdHJpeD1hLmZvbnRNYXRyaXg7dGhpcy53aWR0aHM9YS53aWR0aHM7dGhpcy5kZWZhdWx0V2lkdGg9YS5kZWZhdWx0V2lkdGg7dGhpcy50b1VuaWNvZGU9YS50b1VuaWNvZGU7dGhpcy5zZWFjTWFwPWEuc2VhY01hcH1nZXQgcmVuZGVyZXIoKXtyZXR1cm4gc2hhZG93KHRoaXMsInJlbmRlcmVyIixGb250UmVuZGVyZXJGYWN0b3J5LmNyZWF0ZSh0aGlzLHByKSl9ZXhwb3J0RGF0YSgpe2NvbnN0IGU9dGhpcy5mb250RXh0cmFQcm9wZXJ0aWVzP1suLi5haSwuLi5yaV06YWksdD1PYmplY3QuY3JlYXRlKG51bGwpO2Zvcihjb25zdCBhIG9mIGUpe2NvbnN0IGU9dGhpc1thXTt2b2lkIDAhPT1lJiYodFthXT1lKX1yZXR1cm4gdH1mYWxsYmFja1RvU3lzdGVtRm9udChlKXt0aGlzLm1pc3NpbmdGaWxlPSEwO2NvbnN0e25hbWU6dCx0eXBlOmF9PXRoaXM7bGV0IHI9bm9ybWFsaXplRm9udE5hbWUodCk7Y29uc3QgaT1ScigpLG49RXIoKSxzPSEhaVtyXSxvPSEoIW5bcl18fCFpW25bcl1dKTtyPWlbcl18fG5bcl18fHI7Y29uc3QgYz1xcigpW3JdO2lmKGMpe2lzTmFOKHRoaXMuYXNjZW50KSYmKHRoaXMuYXNjZW50PWMuYXNjZW50L3RpKTtpc05hTih0aGlzLmRlc2NlbnQpJiYodGhpcy5kZXNjZW50PWMuZGVzY2VudC90aSk7aXNOYU4odGhpcy5jYXBIZWlnaHQpJiYodGhpcy5jYXBIZWlnaHQ9Yy5jYXBIZWlnaHQvdGkpfXRoaXMuYm9sZD0vYm9sZC9naS50ZXN0KHIpO3RoaXMuaXRhbGljPS9vYmxpcXVlfGl0YWxpYy9naS50ZXN0KHIpO3RoaXMuYmxhY2s9L0JsYWNrL2cudGVzdCh0KTtjb25zdCBsPS9OYXJyb3cvZy50ZXN0KHQpO3RoaXMucmVtZWFzdXJlPSghc3x8bCkmJk9iamVjdC5rZXlzKHRoaXMud2lkdGhzKS5sZW5ndGg+MDtpZigoc3x8bykmJiJDSURGb250VHlwZTIiPT09YSYmdGhpcy5jaWRFbmNvZGluZy5zdGFydHNXaXRoKCJJZGVudGl0eS0iKSl7Y29uc3QgYT1lLmNpZFRvR2lkTWFwLHI9W107YXBwbHlTdGFuZGFyZEZvbnRHbHlwaE1hcChyLGpyKCkpOy9BcmlhbC0/QmxhY2svaS50ZXN0KHQpP2FwcGx5U3RhbmRhcmRGb250R2x5cGhNYXAocixfcigpKTovQ2FsaWJyaS9pLnRlc3QodCkmJmFwcGx5U3RhbmRhcmRGb250R2x5cGhNYXAocixVcigpKTtpZihhKXtmb3IoY29uc3QgZSBpbiByKXtjb25zdCB0PXJbZV07dm9pZCAwIT09YVt0XSYmKHJbK2VdPWFbdF0pfWEubGVuZ3RoIT09dGhpcy50b1VuaWNvZGUubGVuZ3RoJiZlLmhhc0luY2x1ZGVkVG9Vbmljb2RlTWFwJiZ0aGlzLnRvVW5pY29kZSBpbnN0YW5jZW9mIElkZW50aXR5VG9Vbmljb2RlTWFwJiZ0aGlzLnRvVW5pY29kZS5mb3JFYWNoKChmdW5jdGlvbihlLHQpe2NvbnN0IGk9cltlXTt2b2lkIDA9PT1hW2ldJiYoclsrZV09dCl9KSl9dGhpcy50b1VuaWNvZGUgaW5zdGFuY2VvZiBJZGVudGl0eVRvVW5pY29kZU1hcHx8dGhpcy50b1VuaWNvZGUuZm9yRWFjaCgoZnVuY3Rpb24oZSx0KXtyWytlXT10fSkpO3RoaXMudG9Gb250Q2hhcj1yO3RoaXMudG9Vbmljb2RlPW5ldyBUb1VuaWNvZGVNYXAocil9ZWxzZSBpZigvU3ltYm9sL2kudGVzdChyKSl0aGlzLnRvRm9udENoYXI9YnVpbGRUb0ZvbnRDaGFyKG9yLGxyKCksdGhpcy5kaWZmZXJlbmNlcyk7ZWxzZSBpZigvRGluZ2JhdHMvaS50ZXN0KHIpKXRoaXMudG9Gb250Q2hhcj1idWlsZFRvRm9udENoYXIoY3IsaHIoKSx0aGlzLmRpZmZlcmVuY2VzKTtlbHNlIGlmKHN8fG8pe2NvbnN0IGU9YnVpbGRUb0ZvbnRDaGFyKHRoaXMuZGVmYXVsdEVuY29kaW5nLGxyKCksdGhpcy5kaWZmZXJlbmNlcyk7IkNJREZvbnRUeXBlMiIhPT1hfHx0aGlzLmNpZEVuY29kaW5nLnN0YXJ0c1dpdGgoIklkZW50aXR5LSIpfHx0aGlzLnRvVW5pY29kZSBpbnN0YW5jZW9mIElkZW50aXR5VG9Vbmljb2RlTWFwfHx0aGlzLnRvVW5pY29kZS5mb3JFYWNoKChmdW5jdGlvbih0LGEpe2VbK3RdPWF9KSk7dGhpcy50b0ZvbnRDaGFyPWV9ZWxzZXtjb25zdCBlPWxyKCksYT1bXTt0aGlzLnRvVW5pY29kZS5mb3JFYWNoKCgodCxyKT0+e2lmKCF0aGlzLmNvbXBvc2l0ZSl7Y29uc3QgYT1nZXRVbmljb2RlRm9yR2x5cGgodGhpcy5kaWZmZXJlbmNlc1t0XXx8dGhpcy5kZWZhdWx0RW5jb2RpbmdbdF0sZSk7LTEhPT1hJiYocj1hKX1hWyt0XT1yfSkpO3RoaXMuY29tcG9zaXRlJiZ0aGlzLnRvVW5pY29kZSBpbnN0YW5jZW9mIElkZW50aXR5VG9Vbmljb2RlTWFwJiYvVGFob21hfFZlcmRhbmEvaS50ZXN0KHQpJiZhcHBseVN0YW5kYXJkRm9udEdseXBoTWFwKGEsanIoKSk7dGhpcy50b0ZvbnRDaGFyPWF9YW1lbmRGYWxsYmFja1RvVW5pY29kZShlKTt0aGlzLmxvYWRlZE5hbWU9ci5zcGxpdCgiLSIsMSlbMF19Y2hlY2tBbmRSZXBhaXIoZSx0LGEpe2NvbnN0IHI9WyJPUy8yIiwiY21hcCIsImhlYWQiLCJoaGVhIiwiaG10eCIsIm1heHAiLCJuYW1lIiwicG9zdCIsImxvY2EiLCJnbHlmIiwiZnBnbSIsInByZXAiLCJjdnQgIiwiQ0ZGICJdO2Z1bmN0aW9uIHJlYWRUYWJsZXMoZSx0KXtjb25zdCBhPU9iamVjdC5jcmVhdGUobnVsbCk7YVsiT1MvMiJdPW51bGw7YS5jbWFwPW51bGw7YS5oZWFkPW51bGw7YS5oaGVhPW51bGw7YS5obXR4PW51bGw7YS5tYXhwPW51bGw7YS5uYW1lPW51bGw7YS5wb3N0PW51bGw7Zm9yKGxldCBpPTA7aTx0O2krKyl7Y29uc3QgdD1yZWFkVGFibGVFbnRyeShlKTtyLmluY2x1ZGVzKHQudGFnKSYmKDAhPT10Lmxlbmd0aCYmKGFbdC50YWddPXQpKX1yZXR1cm4gYX1mdW5jdGlvbiByZWFkVGFibGVFbnRyeShlKXtjb25zdCB0PWUuZ2V0U3RyaW5nKDQpLGE9ZS5nZXRJbnQzMigpPj4+MCxyPWUuZ2V0SW50MzIoKT4+PjAsaT1lLmdldEludDMyKCk+Pj4wLG49ZS5wb3M7ZS5wb3M9ZS5zdGFydHx8MDtlLnNraXAocik7Y29uc3Qgcz1lLmdldEJ5dGVzKGkpO2UucG9zPW47aWYoImhlYWQiPT09dCl7c1s4XT1zWzldPXNbMTBdPXNbMTFdPTA7c1sxN118PTMyfXJldHVybnt0YWc6dCxjaGVja3N1bTphLGxlbmd0aDppLG9mZnNldDpyLGRhdGE6c319ZnVuY3Rpb24gcmVhZE9wZW5UeXBlSGVhZGVyKGUpe3JldHVybnt2ZXJzaW9uOmUuZ2V0U3RyaW5nKDQpLG51bVRhYmxlczplLmdldFVpbnQxNigpLHNlYXJjaFJhbmdlOmUuZ2V0VWludDE2KCksZW50cnlTZWxlY3RvcjplLmdldFVpbnQxNigpLHJhbmdlU2hpZnQ6ZS5nZXRVaW50MTYoKX19ZnVuY3Rpb24gc2FuaXRpemVHbHlwaChlLHQsYSxyLGksbil7Y29uc3Qgcz17bGVuZ3RoOjAsc2l6ZU9mSW5zdHJ1Y3Rpb25zOjB9O2lmKHQ8MHx8dD49ZS5sZW5ndGh8fGE+ZS5sZW5ndGh8fGEtdDw9MTIpcmV0dXJuIHM7Y29uc3Qgbz1lLnN1YmFycmF5KHQsYSksYz1zaWduZWRJbnQxNihvWzJdLG9bM10pLGw9c2lnbmVkSW50MTYob1s0XSxvWzVdKSxoPXNpZ25lZEludDE2KG9bNl0sb1s3XSksdT1zaWduZWRJbnQxNihvWzhdLG9bOV0pO2lmKGM+aCl7d3JpdGVTaWduZWRJbnQxNihvLDIsaCk7d3JpdGVTaWduZWRJbnQxNihvLDYsYyl9aWYobD51KXt3cml0ZVNpZ25lZEludDE2KG8sNCx1KTt3cml0ZVNpZ25lZEludDE2KG8sOCxsKX1jb25zdCBkPXNpZ25lZEludDE2KG9bMF0sb1sxXSk7aWYoZDwwKXtpZihkPC0xKXJldHVybiBzO3Iuc2V0KG8saSk7cy5sZW5ndGg9by5sZW5ndGg7cmV0dXJuIHN9bGV0IGYsZz0xMCxwPTA7Zm9yKGY9MDtmPGQ7ZisrKXtwPShvW2ddPDw4fG9bZysxXSkrMTtnKz0yfWNvbnN0IG09ZyxiPW9bZ108PDh8b1tnKzFdO3Muc2l6ZU9mSW5zdHJ1Y3Rpb25zPWI7Zys9MitiO2NvbnN0IHk9ZztsZXQgdz0wO2ZvcihmPTA7ZjxwO2YrKyl7Y29uc3QgZT1vW2crK107MTkyJmUmJihvW2ctMV09NjMmZSk7bGV0IHQ9MjsyJmU/dD0xOjE2JmUmJih0PTApO2xldCBhPTI7NCZlP2E9MTozMiZlJiYoYT0wKTtjb25zdCByPXQrYTt3Kz1yO2lmKDgmZSl7Y29uc3QgZT1vW2crK107MD09PWUmJihvW2ctMV1ePTgpO2YrPWU7dys9ZSpyfX1pZigwPT09dylyZXR1cm4gcztsZXQgeD1nK3c7aWYoeD5vLmxlbmd0aClyZXR1cm4gcztpZighbiYmYj4wKXtyLnNldChvLnN1YmFycmF5KDAsbSksaSk7ci5zZXQoWzAsMF0saSttKTtyLnNldChvLnN1YmFycmF5KHkseCksaSttKzIpO3gtPWI7by5sZW5ndGgteD4zJiYoeD14KzMmLTQpO3MubGVuZ3RoPXg7cmV0dXJuIHN9aWYoby5sZW5ndGgteD4zKXt4PXgrMyYtNDtyLnNldChvLnN1YmFycmF5KDAseCksaSk7cy5sZW5ndGg9eDtyZXR1cm4gc31yLnNldChvLGkpO3MubGVuZ3RoPW8ubGVuZ3RoO3JldHVybiBzfWZ1bmN0aW9uIHJlYWROYW1lVGFibGUoZSl7Y29uc3QgYT0odC5zdGFydHx8MCkrZS5vZmZzZXQ7dC5wb3M9YTtjb25zdCByPVtbXSxbXV0saT1bXSxuPWUubGVuZ3RoLHM9YStuO2lmKDAhPT10LmdldFVpbnQxNigpfHxuPDYpcmV0dXJuW3IsaV07Y29uc3Qgbz10LmdldFVpbnQxNigpLGM9dC5nZXRVaW50MTYoKTtsZXQgbCxoO2ZvcihsPTA7bDxvJiZ0LnBvcysxMjw9cztsKyspe2NvbnN0IGU9e3BsYXRmb3JtOnQuZ2V0VWludDE2KCksZW5jb2Rpbmc6dC5nZXRVaW50MTYoKSxsYW5ndWFnZTp0LmdldFVpbnQxNigpLG5hbWU6dC5nZXRVaW50MTYoKSxsZW5ndGg6dC5nZXRVaW50MTYoKSxvZmZzZXQ6dC5nZXRVaW50MTYoKX07KGlzTWFjTmFtZVJlY29yZChlKXx8aXNXaW5OYW1lUmVjb3JkKGUpKSYmaS5wdXNoKGUpfWZvcihsPTAsaD1pLmxlbmd0aDtsPGg7bCsrKXtjb25zdCBlPWlbbF07aWYoZS5sZW5ndGg8PTApY29udGludWU7Y29uc3Qgbj1hK2MrZS5vZmZzZXQ7aWYobitlLmxlbmd0aD5zKWNvbnRpbnVlO3QucG9zPW47Y29uc3Qgbz1lLm5hbWU7aWYoZS5lbmNvZGluZyl7bGV0IGE9IiI7Zm9yKGxldCByPTAsaT1lLmxlbmd0aDtyPGk7cis9MilhKz1TdHJpbmcuZnJvbUNoYXJDb2RlKHQuZ2V0VWludDE2KCkpO3JbMV1bb109YX1lbHNlIHJbMF1bb109dC5nZXRTdHJpbmcoZS5sZW5ndGgpfXJldHVybltyLGldfWNvbnN0IGk9WzAsMCwwLDAsMCwwLDAsMCwtMiwtMiwtMiwtMiwwLDAsLTIsLTUsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsMCwwLC0xLDAsLTEsLTEsLTEsLTEsMSwtMSwtOTk5LDAsMSwwLC0xLC0yLDAsLTEsLTIsLTEsLTEsMCwtMSwtMSwwLDAsLTk5OSwtOTk5LC0xLC0xLC0xLC0xLC0yLC05OTksLTIsLTIsLTk5OSwwLC0yLC0yLDAsMCwtMiwwLC0yLDAsMCwwLC0yLC0xLC0xLDEsMSwwLDAsLTEsLTEsLTEsLTEsLTEsLTEsLTEsMCwwLC0xLDAsLTEsLTEsMCwtOTk5LC0xLC0xLC0xLC0xLC0xLC0xLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLC0yLC05OTksLTk5OSwtOTk5LC05OTksLTk5OSwtMSwtMSwtMiwtMiwwLDAsMCwwLC0xLC0xLC05OTksLTIsLTIsMCwwLC0xLC0yLC0yLDAsMCwwLC0xLC0xLC0xLC0yXTtmdW5jdGlvbiBzYW5pdGl6ZVRUUHJvZ3JhbShlLHQpe2xldCBhLHIsbixzLG8sYz1lLmRhdGEsbD0wLGg9MCx1PTA7Y29uc3QgZD1bXSxmPVtdLGc9W107bGV0IHA9dC50b29Db21wbGV4VG9Gb2xsb3dGdW5jdGlvbnMsbT0hMSxiPTAseT0wO2ZvcihsZXQgZT1jLmxlbmd0aDtsPGU7KXtjb25zdCBlPWNbbCsrXTtpZig2ND09PWUpe3I9Y1tsKytdO2lmKG18fHkpbCs9cjtlbHNlIGZvcihhPTA7YTxyO2ErKylkLnB1c2goY1tsKytdKX1lbHNlIGlmKDY1PT09ZSl7cj1jW2wrK107aWYobXx8eSlsKz0yKnI7ZWxzZSBmb3IoYT0wO2E8cjthKyspe249Y1tsKytdO2QucHVzaChuPDw4fGNbbCsrXSl9fWVsc2UgaWYoMTc2PT0oMjQ4JmUpKXtyPWUtMTc2KzE7aWYobXx8eSlsKz1yO2Vsc2UgZm9yKGE9MDthPHI7YSsrKWQucHVzaChjW2wrK10pfWVsc2UgaWYoMTg0PT0oMjQ4JmUpKXtyPWUtMTg0KzE7aWYobXx8eSlsKz0yKnI7ZWxzZSBmb3IoYT0wO2E8cjthKyspe249Y1tsKytdO2QucHVzaChzaWduZWRJbnQxNihuLGNbbCsrXSkpfX1lbHNlIGlmKDQzIT09ZXx8cClpZig0NCE9PWV8fHApe2lmKDQ1PT09ZSlpZihtKXttPSExO2g9bH1lbHNle289Zi5wb3AoKTtpZighbyl7d2FybigiVFQ6IEVOREYgYmFkIHN0YWNrIik7dC5oaW50c1ZhbGlkPSExO3JldHVybn1zPWcucG9wKCk7Yz1vLmRhdGE7bD1vLmk7dC5mdW5jdGlvbnNTdGFja0RlbHRhc1tzXT1kLmxlbmd0aC1vLnN0YWNrVG9wfWVsc2UgaWYoMTM3PT09ZSl7aWYobXx8eSl7d2FybigiVFQ6IG5lc3RlZCBJREVGcyBub3QgYWxsb3dlZCIpO3A9ITB9bT0hMDt1PWx9ZWxzZSBpZig4OD09PWUpKytiO2Vsc2UgaWYoMjc9PT1lKXk9YjtlbHNlIGlmKDg5PT09ZSl7eT09PWImJih5PTApOy0tYn1lbHNlIGlmKDI4PT09ZSYmIW0mJiF5KXtjb25zdCBlPWQuYXQoLTEpO2U+MCYmKGwrPWUtMSl9fWVsc2V7aWYobXx8eSl7d2FybigiVFQ6IG5lc3RlZCBGREVGcyBub3QgYWxsb3dlZCIpO3A9ITB9bT0hMDt1PWw7cz1kLnBvcCgpO3QuZnVuY3Rpb25zRGVmaW5lZFtzXT17ZGF0YTpjLGk6bH19ZWxzZSBpZighbSYmIXkpe3M9ZC5hdCgtMSk7aWYoaXNOYU4ocykpaW5mbygiVFQ6IENBTEwgZW1wdHkgc3RhY2sgKG9yIGludmFsaWQgZW50cnkpLiIpO2Vsc2V7dC5mdW5jdGlvbnNVc2VkW3NdPSEwO2lmKHMgaW4gdC5mdW5jdGlvbnNTdGFja0RlbHRhcyl7Y29uc3QgZT1kLmxlbmd0aCt0LmZ1bmN0aW9uc1N0YWNrRGVsdGFzW3NdO2lmKGU8MCl7d2FybigiVFQ6IENBTEwgaW52YWxpZCBmdW5jdGlvbnMgc3RhY2sgZGVsdGEuIik7dC5oaW50c1ZhbGlkPSExO3JldHVybn1kLmxlbmd0aD1lfWVsc2UgaWYocyBpbiB0LmZ1bmN0aW9uc0RlZmluZWQmJiFnLmluY2x1ZGVzKHMpKXtmLnB1c2goe2RhdGE6YyxpOmwsc3RhY2tUb3A6ZC5sZW5ndGgtMX0pO2cucHVzaChzKTtvPXQuZnVuY3Rpb25zRGVmaW5lZFtzXTtpZighbyl7d2FybigiVFQ6IENBTEwgbm9uLWV4aXN0ZW50IGZ1bmN0aW9uIik7dC5oaW50c1ZhbGlkPSExO3JldHVybn1jPW8uZGF0YTtsPW8uaX19fWlmKCFtJiYheSl7bGV0IHQ9MDtlPD0xNDI/dD1pW2VdOmU+PTE5MiYmZTw9MjIzP3Q9LTE6ZT49MjI0JiYodD0tMik7aWYoZT49MTEzJiZlPD0xMTcpe3I9ZC5wb3AoKTtpc05hTihyKXx8KHQ9Miotcil9Zm9yKDt0PDAmJmQubGVuZ3RoPjA7KXtkLnBvcCgpO3QrK31mb3IoO3Q+MDspe2QucHVzaChOYU4pO3QtLX19fXQudG9vQ29tcGxleFRvRm9sbG93RnVuY3Rpb25zPXA7Y29uc3Qgdz1bY107bD5jLmxlbmd0aCYmdy5wdXNoKG5ldyBVaW50OEFycmF5KGwtYy5sZW5ndGgpKTtpZih1Pmgpe3dhcm4oIlRUOiBjb21wbGVtZW50aW5nIGEgbWlzc2luZyBmdW5jdGlvbiB0YWlsIik7dy5wdXNoKG5ldyBVaW50OEFycmF5KFszNCw0NV0pKX0hZnVuY3Rpb24gZm9sZFRUVGFibGUoZSx0KXtpZih0Lmxlbmd0aD4xKXtsZXQgYSxyLGk9MDtmb3IoYT0wLHI9dC5sZW5ndGg7YTxyO2ErKylpKz10W2FdLmxlbmd0aDtpPWkrMyYtNDtjb25zdCBuPW5ldyBVaW50OEFycmF5KGkpO2xldCBzPTA7Zm9yKGE9MCxyPXQubGVuZ3RoO2E8cjthKyspe24uc2V0KHRbYV0scyk7cys9dFthXS5sZW5ndGh9ZS5kYXRhPW47ZS5sZW5ndGg9aX19KGUsdyl9bGV0IG4scyxvLGM7aWYoaXNUcnVlVHlwZUNvbGxlY3Rpb25GaWxlKHQ9bmV3IFN0cmVhbShuZXcgVWludDhBcnJheSh0LmdldEJ5dGVzKCkpKSkpe2NvbnN0IGU9ZnVuY3Rpb24gcmVhZFRydWVUeXBlQ29sbGVjdGlvbkRhdGEoZSx0KXtjb25zdHtudW1Gb250czphLG9mZnNldFRhYmxlOnJ9PWZ1bmN0aW9uIHJlYWRUcnVlVHlwZUNvbGxlY3Rpb25IZWFkZXIoZSl7Y29uc3QgdD1lLmdldFN0cmluZyg0KTthc3NlcnQoInR0Y2YiPT09dCwiTXVzdCBiZSBhIFRydWVUeXBlIENvbGxlY3Rpb24gZm9udC4iKTtjb25zdCBhPWUuZ2V0VWludDE2KCkscj1lLmdldFVpbnQxNigpLGk9ZS5nZXRJbnQzMigpPj4+MCxuPVtdO2ZvcihsZXQgdD0wO3Q8aTt0Kyspbi5wdXNoKGUuZ2V0SW50MzIoKT4+PjApO2NvbnN0IHM9e3R0Y1RhZzp0LG1ham9yVmVyc2lvbjphLG1pbm9yVmVyc2lvbjpyLG51bUZvbnRzOmksb2Zmc2V0VGFibGU6bn07c3dpdGNoKGEpe2Nhc2UgMTpyZXR1cm4gcztjYXNlIDI6cy5kc2lnVGFnPWUuZ2V0SW50MzIoKT4+PjA7cy5kc2lnTGVuZ3RoPWUuZ2V0SW50MzIoKT4+PjA7cy5kc2lnT2Zmc2V0PWUuZ2V0SW50MzIoKT4+PjA7cmV0dXJuIHN9dGhyb3cgbmV3IEZvcm1hdEVycm9yKGBJbnZhbGlkIFRydWVUeXBlIENvbGxlY3Rpb24gbWFqb3JWZXJzaW9uOiAke2F9LmApfShlKSxpPXQuc3BsaXQoIisiKTtsZXQgbjtmb3IobGV0IHM9MDtzPGE7cysrKXtlLnBvcz0oZS5zdGFydHx8MCkrcltzXTtjb25zdCBhPXJlYWRPcGVuVHlwZUhlYWRlcihlKSxvPXJlYWRUYWJsZXMoZSxhLm51bVRhYmxlcyk7aWYoIW8ubmFtZSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoJ1RydWVUeXBlIENvbGxlY3Rpb24gZm9udCBtdXN0IGNvbnRhaW4gYSAibmFtZSIgdGFibGUuJyk7Y29uc3RbY109cmVhZE5hbWVUYWJsZShvLm5hbWUpO2ZvcihsZXQgZT0wLHI9Yy5sZW5ndGg7ZTxyO2UrKylmb3IobGV0IHI9MCxzPWNbZV0ubGVuZ3RoO3I8cztyKyspe2NvbnN0IHM9Y1tlXVtyXT8ucmVwbGFjZUFsbCgvXHMvZywiIik7aWYocyl7aWYocz09PXQpcmV0dXJue2hlYWRlcjphLHRhYmxlczpvfTtpZighKGkubGVuZ3RoPDIpKWZvcihjb25zdCBlIG9mIGkpcz09PWUmJihuPXtuYW1lOmUsaGVhZGVyOmEsdGFibGVzOm99KX19fWlmKG4pe3dhcm4oYFRydWVUeXBlIENvbGxlY3Rpb24gZG9lcyBub3QgY29udGFpbiAiJHt0fSIgZm9udCwgZmFsbGluZyBiYWNrIHRvICIke24ubmFtZX0iIGZvbnQgaW5zdGVhZC5gKTtyZXR1cm57aGVhZGVyOm4uaGVhZGVyLHRhYmxlczpuLnRhYmxlc319dGhyb3cgbmV3IEZvcm1hdEVycm9yKGBUcnVlVHlwZSBDb2xsZWN0aW9uIGRvZXMgbm90IGNvbnRhaW4gIiR7dH0iIGZvbnQuYCl9KHQsdGhpcy5uYW1lKTtuPWUuaGVhZGVyO3M9ZS50YWJsZXN9ZWxzZXtuPXJlYWRPcGVuVHlwZUhlYWRlcih0KTtzPXJlYWRUYWJsZXModCxuLm51bVRhYmxlcyl9Y29uc3QgbD0hc1siQ0ZGICJdO2lmKGwpe2lmKCFzLmxvY2EpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCdSZXF1aXJlZCAibG9jYSIgdGFibGUgaXMgbm90IGZvdW5kJyk7aWYoIXMuZ2x5Zil7d2FybignUmVxdWlyZWQgImdseWYiIHRhYmxlIGlzIG5vdCBmb3VuZCAtLSB0cnlpbmcgdG8gcmVjb3Zlci4nKTtzLmdseWY9e3RhZzoiZ2x5ZiIsZGF0YTpuZXcgVWludDhBcnJheSgwKX19dGhpcy5pc09wZW5UeXBlPSExfWVsc2V7Y29uc3QgdD1hLmNvbXBvc2l0ZSYmKGEuY2lkVG9HaWRNYXA/Lmxlbmd0aD4wfHwhKGEuY01hcCBpbnN0YW5jZW9mIElkZW50aXR5Q01hcCkpO2lmKCJPVFRPIj09PW4udmVyc2lvbiYmIXR8fCFzLmhlYWR8fCFzLmhoZWF8fCFzLm1heHB8fCFzLnBvc3Qpe2M9bmV3IFN0cmVhbShzWyJDRkYgIl0uZGF0YSk7bz1uZXcgQ0ZGRm9udChjLGEpO3JldHVybiB0aGlzLmNvbnZlcnQoZSxvLGEpfWRlbGV0ZSBzLmdseWY7ZGVsZXRlIHMubG9jYTtkZWxldGUgcy5mcGdtO2RlbGV0ZSBzLnByZXA7ZGVsZXRlIHNbImN2dCAiXTt0aGlzLmlzT3BlblR5cGU9ITB9aWYoIXMubWF4cCl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoJ1JlcXVpcmVkICJtYXhwIiB0YWJsZSBpcyBub3QgZm91bmQnKTt0LnBvcz0odC5zdGFydHx8MCkrcy5tYXhwLm9mZnNldDtsZXQgaD10LmdldEludDMyKCk7Y29uc3QgdT10LmdldFVpbnQxNigpO2lmKDY1NTM2IT09aCYmMjA0ODAhPT1oKXtpZig2PT09cy5tYXhwLmxlbmd0aCloPTIwNDgwO2Vsc2V7aWYoIShzLm1heHAubGVuZ3RoPj0zMikpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCcibWF4cCIgdGFibGUgaGFzIGEgd3JvbmcgdmVyc2lvbiBudW1iZXInKTtoPTY1NTM2fSFmdW5jdGlvbiB3cml0ZVVpbnQzMihlLHQsYSl7ZVt0KzNdPTI1NSZhO2VbdCsyXT1hPj4+ODtlW3QrMV09YT4+PjE2O2VbdF09YT4+PjI0fShzLm1heHAuZGF0YSwwLGgpfWlmKGEuc2NhbGVGYWN0b3JzPy5sZW5ndGg9PT11JiZsKXtjb25zdHtzY2FsZUZhY3RvcnM6ZX09YSx0PWludDE2KHMuaGVhZC5kYXRhWzUwXSxzLmhlYWQuZGF0YVs1MV0pLHI9bmV3IEdseWZUYWJsZSh7Z2x5ZlRhYmxlOnMuZ2x5Zi5kYXRhLGlzR2x5cGhMb2NhdGlvbnNMb25nOnQsbG9jYVRhYmxlOnMubG9jYS5kYXRhLG51bUdseXBoczp1fSk7ci5zY2FsZShlKTtjb25zdHtnbHlmOmksbG9jYTpuLGlzTG9jYXRpb25Mb25nOm99PXIud3JpdGUoKTtzLmdseWYuZGF0YT1pO3MubG9jYS5kYXRhPW47aWYobyE9PSEhdCl7cy5oZWFkLmRhdGFbNTBdPTA7cy5oZWFkLmRhdGFbNTFdPW8/MTowfWNvbnN0IGM9cy5obXR4LmRhdGE7Zm9yKGxldCB0PTA7dDx1O3QrKyl7Y29uc3QgYT00KnQscj1NYXRoLnJvdW5kKGVbdF0qaW50MTYoY1thXSxjW2ErMV0pKTtjW2FdPXI+PjgmMjU1O2NbYSsxXT0yNTUmcjt3cml0ZVNpZ25lZEludDE2KGMsYSsyLE1hdGgucm91bmQoZVt0XSpzaWduZWRJbnQxNihjW2ErMl0sY1thKzNdKSkpfX1sZXQgZD11KzEsZj0hMDtpZihkPjY1NTM1KXtmPSExO2Q9dTt3YXJuKCJOb3QgZW5vdWdoIHNwYWNlIGluIGdseWZzIHRvIGR1cGxpY2F0ZSBmaXJzdCBnbHlwaC4iKX1sZXQgZz0wLHA9MDtpZihoPj02NTUzNiYmcy5tYXhwLmxlbmd0aD49MzIpe3QucG9zKz04O2lmKHQuZ2V0VWludDE2KCk+Mil7cy5tYXhwLmRhdGFbMTRdPTA7cy5tYXhwLmRhdGFbMTVdPTJ9dC5wb3MrPTQ7Zz10LmdldFVpbnQxNigpO3QucG9zKz00O3A9dC5nZXRVaW50MTYoKX1zLm1heHAuZGF0YVs0XT1kPj44O3MubWF4cC5kYXRhWzVdPTI1NSZkO2NvbnN0IG09ZnVuY3Rpb24gc2FuaXRpemVUVFByb2dyYW1zKGUsdCxhLHIpe2NvbnN0IGk9e2Z1bmN0aW9uc0RlZmluZWQ6W10sZnVuY3Rpb25zVXNlZDpbXSxmdW5jdGlvbnNTdGFja0RlbHRhczpbXSx0b29Db21wbGV4VG9Gb2xsb3dGdW5jdGlvbnM6ITEsaGludHNWYWxpZDohMH07ZSYmc2FuaXRpemVUVFByb2dyYW0oZSxpKTt0JiZzYW5pdGl6ZVRUUHJvZ3JhbSh0LGkpO2UmJmZ1bmN0aW9uIGNoZWNrSW52YWxpZEZ1bmN0aW9ucyhlLHQpe2lmKCFlLnRvb0NvbXBsZXhUb0ZvbGxvd0Z1bmN0aW9ucylpZihlLmZ1bmN0aW9uc0RlZmluZWQubGVuZ3RoPnQpe3dhcm4oIlRUOiBtb3JlIGZ1bmN0aW9ucyBkZWZpbmVkIHRoYW4gZXhwZWN0ZWQiKTtlLmhpbnRzVmFsaWQ9ITF9ZWxzZSBmb3IobGV0IGE9MCxyPWUuZnVuY3Rpb25zVXNlZC5sZW5ndGg7YTxyO2ErKyl7aWYoYT50KXt3YXJuKCJUVDogaW52YWxpZCBmdW5jdGlvbiBpZDogIithKTtlLmhpbnRzVmFsaWQ9ITE7cmV0dXJufWlmKGUuZnVuY3Rpb25zVXNlZFthXSYmIWUuZnVuY3Rpb25zRGVmaW5lZFthXSl7d2FybigiVFQ6IHVuZGVmaW5lZCBmdW5jdGlvbjogIithKTtlLmhpbnRzVmFsaWQ9ITE7cmV0dXJufX19KGkscik7aWYoYSYmMSZhLmxlbmd0aCl7Y29uc3QgZT1uZXcgVWludDhBcnJheShhLmxlbmd0aCsxKTtlLnNldChhLmRhdGEpO2EuZGF0YT1lfXJldHVybiBpLmhpbnRzVmFsaWR9KHMuZnBnbSxzLnByZXAsc1siY3Z0ICJdLGcpO2lmKCFtKXtkZWxldGUgcy5mcGdtO2RlbGV0ZSBzLnByZXA7ZGVsZXRlIHNbImN2dCAiXX0hZnVuY3Rpb24gc2FuaXRpemVNZXRyaWNzKGUsdCxhLHIsaSxuKXtpZighdCl7YSYmKGEuZGF0YT1udWxsKTtyZXR1cm59ZS5wb3M9KGUuc3RhcnR8fDApK3Qub2Zmc2V0O2UucG9zKz00O2UucG9zKz0yO2UucG9zKz0yO2UucG9zKz0yO2UucG9zKz0yO2UucG9zKz0yO2UucG9zKz0yO2UucG9zKz0yO2UucG9zKz0yO2UucG9zKz0yO2NvbnN0IHM9ZS5nZXRVaW50MTYoKTtlLnBvcys9ODtlLnBvcys9MjtsZXQgbz1lLmdldFVpbnQxNigpO2lmKDAhPT1zKXtpZighKDImaW50MTYoci5kYXRhWzQ0XSxyLmRhdGFbNDVdKSkpe3QuZGF0YVsyMl09MDt0LmRhdGFbMjNdPTB9fWlmKG8+aSl7aW5mbyhgVGhlIG51bU9mTWV0cmljcyAoJHtvfSkgc2hvdWxkIG5vdCBiZSBncmVhdGVyIHRoYW4gdGhlIG51bUdseXBocyAoJHtpfSkuYCk7bz1pO3QuZGF0YVszNF09KDY1MjgwJm8pPj44O3QuZGF0YVszNV09MjU1Jm99Y29uc3QgYz1pLW8tKGEubGVuZ3RoLTQqbz4+MSk7aWYoYz4wKXtjb25zdCBlPW5ldyBVaW50OEFycmF5KGEubGVuZ3RoKzIqYyk7ZS5zZXQoYS5kYXRhKTtpZihuKXtlW2EubGVuZ3RoXT1hLmRhdGFbMl07ZVthLmxlbmd0aCsxXT1hLmRhdGFbM119YS5kYXRhPWV9fSh0LHMuaGhlYSxzLmhtdHgscy5oZWFkLGQsZik7aWYoIXMuaGVhZCl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoJ1JlcXVpcmVkICJoZWFkIiB0YWJsZSBpcyBub3QgZm91bmQnKTshZnVuY3Rpb24gc2FuaXRpemVIZWFkKGUsdCxhKXtjb25zdCByPWUuZGF0YSxpPWZ1bmN0aW9uIGludDMyKGUsdCxhLHIpe3JldHVybihlPDwyNCkrKHQ8PDE2KSsoYTw8OCkrcn0oclswXSxyWzFdLHJbMl0sclszXSk7aWYoaT4+MTYhPTEpe2luZm8oIkF0dGVtcHRpbmcgdG8gZml4IGludmFsaWQgdmVyc2lvbiBpbiBoZWFkIHRhYmxlOiAiK2kpO3JbMF09MDtyWzFdPTE7clsyXT0wO3JbM109MH1jb25zdCBuPWludDE2KHJbNTBdLHJbNTFdKTtpZihuPDB8fG4+MSl7aW5mbygiQXR0ZW1wdGluZyB0byBmaXggaW52YWxpZCBpbmRleFRvTG9jRm9ybWF0IGluIGhlYWQgdGFibGU6ICIrbik7Y29uc3QgZT10KzE7aWYoYT09PWU8PDEpe3JbNTBdPTA7cls1MV09MH1lbHNle2lmKGEhPT1lPDwyKXRocm93IG5ldyBGb3JtYXRFcnJvcigiQ291bGQgbm90IGZpeCBpbmRleFRvTG9jRm9ybWF0OiAiK24pO3JbNTBdPTA7cls1MV09MX19fShzLmhlYWQsdSxsP3MubG9jYS5sZW5ndGg6MCk7bGV0IGI9T2JqZWN0LmNyZWF0ZShudWxsKTtpZihsKXtjb25zdCBlPWludDE2KHMuaGVhZC5kYXRhWzUwXSxzLmhlYWQuZGF0YVs1MV0pLHQ9ZnVuY3Rpb24gc2FuaXRpemVHbHlwaExvY2F0aW9ucyhlLHQsYSxyLGksbixzKXtsZXQgbyxjLGw7aWYocil7bz00O2M9ZnVuY3Rpb24gZm9udEl0ZW1EZWNvZGVMb25nKGUsdCl7cmV0dXJuIGVbdF08PDI0fGVbdCsxXTw8MTZ8ZVt0KzJdPDw4fGVbdCszXX07bD1mdW5jdGlvbiBmb250SXRlbUVuY29kZUxvbmcoZSx0LGEpe2VbdF09YT4+PjI0JjI1NTtlW3QrMV09YT4+MTYmMjU1O2VbdCsyXT1hPj44JjI1NTtlW3QrM109MjU1JmF9fWVsc2V7bz0yO2M9ZnVuY3Rpb24gZm9udEl0ZW1EZWNvZGUoZSx0KXtyZXR1cm4gZVt0XTw8OXxlW3QrMV08PDF9O2w9ZnVuY3Rpb24gZm9udEl0ZW1FbmNvZGUoZSx0LGEpe2VbdF09YT4+OSYyNTU7ZVt0KzFdPWE+PjEmMjU1fX1jb25zdCBoPW4/YSsxOmEsdT1vKigxK2gpLGQ9bmV3IFVpbnQ4QXJyYXkodSk7ZC5zZXQoZS5kYXRhLnN1YmFycmF5KDAsdSkpO2UuZGF0YT1kO2NvbnN0IGY9dC5kYXRhLGc9Zi5sZW5ndGgscD1uZXcgVWludDhBcnJheShnKTtsZXQgbSxiO2NvbnN0IHk9W107Zm9yKG09MCxiPTA7bTxhKzE7bSsrLGIrPW8pe2xldCBlPWMoZCxiKTtlPmcmJihlPWcpO3kucHVzaCh7aW5kZXg6bSxvZmZzZXQ6ZSxlbmRPZmZzZXQ6MH0pfXkuc29ydCgoKGUsdCk9PmUub2Zmc2V0LXQub2Zmc2V0KSk7Zm9yKG09MDttPGE7bSsrKXlbbV0uZW5kT2Zmc2V0PXlbbSsxXS5vZmZzZXQ7eS5zb3J0KCgoZSx0KT0+ZS5pbmRleC10LmluZGV4KSk7Zm9yKG09MDttPGE7bSsrKXtjb25zdHtvZmZzZXQ6ZSxlbmRPZmZzZXQ6dH09eVttXTtpZigwIT09ZXx8MCE9PXQpYnJlYWs7Y29uc3QgYT15W20rMV0ub2Zmc2V0O2lmKDAhPT1hKXt5W21dLmVuZE9mZnNldD1hO2JyZWFrfX1jb25zdCB3PXkuYXQoLTIpOzAhPT13Lm9mZnNldCYmMD09PXcuZW5kT2Zmc2V0JiYody5lbmRPZmZzZXQ9Zyk7Y29uc3QgeD1PYmplY3QuY3JlYXRlKG51bGwpO2xldCBTPTA7bChkLDAsUyk7Zm9yKG09MCxiPW87bTxhO20rKyxiKz1vKXtjb25zdCBlPXNhbml0aXplR2x5cGgoZix5W21dLm9mZnNldCx5W21dLmVuZE9mZnNldCxwLFMsaSksdD1lLmxlbmd0aDswPT09dCYmKHhbbV09ITApO2Uuc2l6ZU9mSW5zdHJ1Y3Rpb25zPnMmJihzPWUuc2l6ZU9mSW5zdHJ1Y3Rpb25zKTtTKz10O2woZCxiLFMpfWlmKDA9PT1TKXtjb25zdCBlPW5ldyBVaW50OEFycmF5KFswLDEsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsNDksMF0pO2ZvcihtPTAsYj1vO208aDttKyssYis9bylsKGQsYixlLmxlbmd0aCk7dC5kYXRhPWV9ZWxzZSBpZihuKXtjb25zdCBhPWMoZCxvKTtpZihwLmxlbmd0aD5hK1MpdC5kYXRhPXAuc3ViYXJyYXkoMCxhK1MpO2Vsc2V7dC5kYXRhPW5ldyBVaW50OEFycmF5KGErUyk7dC5kYXRhLnNldChwLnN1YmFycmF5KDAsUykpfXQuZGF0YS5zZXQocC5zdWJhcnJheSgwLGEpLFMpO2woZS5kYXRhLGQubGVuZ3RoLW8sUythKX1lbHNlIHQuZGF0YT1wLnN1YmFycmF5KDAsUyk7cmV0dXJue21pc3NpbmdHbHlwaHM6eCxtYXhTaXplT2ZJbnN0cnVjdGlvbnM6c319KHMubG9jYSxzLmdseWYsdSxlLG0sZixwKTtiPXQubWlzc2luZ0dseXBocztpZihoPj02NTUzNiYmcy5tYXhwLmxlbmd0aD49MzIpe3MubWF4cC5kYXRhWzI2XT10Lm1heFNpemVPZkluc3RydWN0aW9ucz4+ODtzLm1heHAuZGF0YVsyN109MjU1JnQubWF4U2l6ZU9mSW5zdHJ1Y3Rpb25zfX1pZighcy5oaGVhKXRocm93IG5ldyBGb3JtYXRFcnJvcignUmVxdWlyZWQgImhoZWEiIHRhYmxlIGlzIG5vdCBmb3VuZCcpO2lmKDA9PT1zLmhoZWEuZGF0YVsxMF0mJjA9PT1zLmhoZWEuZGF0YVsxMV0pe3MuaGhlYS5kYXRhWzEwXT0yNTU7cy5oaGVhLmRhdGFbMTFdPTI1NX1jb25zdCB5PXt1bml0c1BlckVtOmludDE2KHMuaGVhZC5kYXRhWzE4XSxzLmhlYWQuZGF0YVsxOV0pLHlNYXg6c2lnbmVkSW50MTYocy5oZWFkLmRhdGFbNDJdLHMuaGVhZC5kYXRhWzQzXSkseU1pbjpzaWduZWRJbnQxNihzLmhlYWQuZGF0YVszOF0scy5oZWFkLmRhdGFbMzldKSxhc2NlbnQ6c2lnbmVkSW50MTYocy5oaGVhLmRhdGFbNF0scy5oaGVhLmRhdGFbNV0pLGRlc2NlbnQ6c2lnbmVkSW50MTYocy5oaGVhLmRhdGFbNl0scy5oaGVhLmRhdGFbN10pLGxpbmVHYXA6c2lnbmVkSW50MTYocy5oaGVhLmRhdGFbOF0scy5oaGVhLmRhdGFbOV0pfTt0aGlzLmFzY2VudD15LmFzY2VudC95LnVuaXRzUGVyRW07dGhpcy5kZXNjZW50PXkuZGVzY2VudC95LnVuaXRzUGVyRW07dGhpcy5saW5lR2FwPXkubGluZUdhcC95LnVuaXRzUGVyRW07aWYodGhpcy5jc3NGb250SW5mbz8ubGluZUhlaWdodCl7dGhpcy5saW5lSGVpZ2h0PXRoaXMuY3NzRm9udEluZm8ubWV0cmljcy5saW5lSGVpZ2h0O3RoaXMubGluZUdhcD10aGlzLmNzc0ZvbnRJbmZvLm1ldHJpY3MubGluZUdhcH1lbHNlIHRoaXMubGluZUhlaWdodD10aGlzLmFzY2VudC10aGlzLmRlc2NlbnQrdGhpcy5saW5lR2FwO3MucG9zdCYmZnVuY3Rpb24gcmVhZFBvc3RTY3JpcHRUYWJsZShlLGEscil7Y29uc3QgaT0odC5zdGFydHx8MCkrZS5vZmZzZXQ7dC5wb3M9aTtjb25zdCBuPWkrZS5sZW5ndGgscz10LmdldEludDMyKCk7dC5za2lwKDI4KTtsZXQgbyxjLGw9ITA7c3dpdGNoKHMpe2Nhc2UgNjU1MzY6bz14cjticmVhaztjYXNlIDEzMTA3Mjpjb25zdCBlPXQuZ2V0VWludDE2KCk7aWYoZSE9PXIpe2w9ITE7YnJlYWt9Y29uc3QgaT1bXTtmb3IoYz0wO2M8ZTsrK2Mpe2NvbnN0IGU9dC5nZXRVaW50MTYoKTtpZihlPj0zMjc2OCl7bD0hMTticmVha31pLnB1c2goZSl9aWYoIWwpYnJlYWs7Y29uc3QgaD1bXSx1PVtdO2Zvcig7dC5wb3M8bjspe2NvbnN0IGU9dC5nZXRCeXRlKCk7dS5sZW5ndGg9ZTtmb3IoYz0wO2M8ZTsrK2MpdVtjXT1TdHJpbmcuZnJvbUNoYXJDb2RlKHQuZ2V0Qnl0ZSgpKTtoLnB1c2godS5qb2luKCIiKSl9bz1bXTtmb3IoYz0wO2M8ZTsrK2Mpe2NvbnN0IGU9aVtjXTtlPDI1OD9vLnB1c2goeHJbZV0pOm8ucHVzaChoW2UtMjU4XSl9YnJlYWs7Y2FzZSAxOTY2MDg6YnJlYWs7ZGVmYXVsdDp3YXJuKCJVbmtub3duL3Vuc3VwcG9ydGVkIHBvc3QgdGFibGUgdmVyc2lvbiAiK3MpO2w9ITE7YS5kZWZhdWx0RW5jb2RpbmcmJihvPWEuZGVmYXVsdEVuY29kaW5nKX1hLmdseXBoTmFtZXM9bztyZXR1cm4gbH0ocy5wb3N0LGEsdSk7cy5wb3N0PXt0YWc6InBvc3QiLGRhdGE6Y3JlYXRlUG9zdFRhYmxlKGEpfTtjb25zdCB3PU9iamVjdC5jcmVhdGUobnVsbCk7ZnVuY3Rpb24gaGFzR2x5cGgoZSl7cmV0dXJuIWJbZV19aWYoYS5jb21wb3NpdGUpe2NvbnN0IGU9YS5jaWRUb0dpZE1hcHx8W10sdD0wPT09ZS5sZW5ndGg7YS5jTWFwLmZvckVhY2goKGZ1bmN0aW9uKGEscil7InN0cmluZyI9PXR5cGVvZiByJiYocj1jb252ZXJ0Q2lkU3RyaW5nKGEsciwhMCkpO2lmKHI+NjU1MzUpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJNYXggc2l6ZSBvZiBDSUQgaXMgNjUsNTM1Iik7bGV0IGk9LTE7dD9pPXI6dm9pZCAwIT09ZVtyXSYmKGk9ZVtyXSk7aT49MCYmaTx1JiZoYXNHbHlwaChpKSYmKHdbYV09aSl9KSl9ZWxzZXtjb25zdCBlPWZ1bmN0aW9uIHJlYWRDbWFwVGFibGUoZSx0LGEscil7aWYoIWUpe3dhcm4oIk5vIGNtYXAgdGFibGUgYXZhaWxhYmxlLiIpO3JldHVybntwbGF0Zm9ybUlkOi0xLGVuY29kaW5nSWQ6LTEsbWFwcGluZ3M6W10saGFzU2hvcnRDbWFwOiExfX1sZXQgaSxuPSh0LnN0YXJ0fHwwKStlLm9mZnNldDt0LnBvcz1uO3Quc2tpcCgyKTtjb25zdCBzPXQuZ2V0VWludDE2KCk7bGV0IG8sYz0hMTtmb3IobGV0IGU9MDtlPHM7ZSsrKXtjb25zdCBpPXQuZ2V0VWludDE2KCksbj10LmdldFVpbnQxNigpLGw9dC5nZXRJbnQzMigpPj4+MDtsZXQgaD0hMTtpZihvPy5wbGF0Zm9ybUlkIT09aXx8bz8uZW5jb2RpbmdJZCE9PW4pe2lmKDAhPT1pfHwwIT09biYmMSE9PW4mJjMhPT1uKWlmKDE9PT1pJiYwPT09biloPSEwO2Vsc2UgaWYoMyE9PWl8fDEhPT1ufHwhciYmbyl7aWYoYSYmMz09PWkmJjA9PT1uKXtoPSEwO2xldCBhPSEwO2lmKGU8cy0xKXtjb25zdCBlPXQucGVla0J5dGVzKDIpO2ludDE2KGVbMF0sZVsxXSk8aSYmKGE9ITEpfWEmJihjPSEwKX19ZWxzZXtoPSEwO2F8fChjPSEwKX1lbHNlIGg9ITA7aCYmKG89e3BsYXRmb3JtSWQ6aSxlbmNvZGluZ0lkOm4sb2Zmc2V0Omx9KTtpZihjKWJyZWFrfX1vJiYodC5wb3M9bitvLm9mZnNldCk7aWYoIW98fC0xPT09dC5wZWVrQnl0ZSgpKXt3YXJuKCJDb3VsZCBub3QgZmluZCBhIHByZWZlcnJlZCBjbWFwIHRhYmxlLiIpO3JldHVybntwbGF0Zm9ybUlkOi0xLGVuY29kaW5nSWQ6LTEsbWFwcGluZ3M6W10saGFzU2hvcnRDbWFwOiExfX1jb25zdCBsPXQuZ2V0VWludDE2KCk7bGV0IGg9ITE7Y29uc3QgdT1bXTtsZXQgZCxmO2lmKDA9PT1sKXt0LnNraXAoNCk7Zm9yKGQ9MDtkPDI1NjtkKyspe2NvbnN0IGU9dC5nZXRCeXRlKCk7ZSYmdS5wdXNoKHtjaGFyQ29kZTpkLGdseXBoSWQ6ZX0pfWg9ITB9ZWxzZSBpZigyPT09bCl7dC5za2lwKDQpO2NvbnN0IGU9W107bGV0IGE9MDtmb3IobGV0IHI9MDtyPDI1NjtyKyspe2NvbnN0IHI9dC5nZXRVaW50MTYoKT4+MztlLnB1c2gocik7YT1NYXRoLm1heChyLGEpfWNvbnN0IHI9W107Zm9yKGxldCBlPTA7ZTw9YTtlKyspci5wdXNoKHtmaXJzdENvZGU6dC5nZXRVaW50MTYoKSxlbnRyeUNvdW50OnQuZ2V0VWludDE2KCksaWREZWx0YTpzaWduZWRJbnQxNih0LmdldEJ5dGUoKSx0LmdldEJ5dGUoKSksaWRSYW5nZVBvczp0LnBvcyt0LmdldFVpbnQxNigpfSk7Zm9yKGxldCBhPTA7YTwyNTY7YSsrKWlmKDA9PT1lW2FdKXt0LnBvcz1yWzBdLmlkUmFuZ2VQb3MrMiphO2Y9dC5nZXRVaW50MTYoKTt1LnB1c2goe2NoYXJDb2RlOmEsZ2x5cGhJZDpmfSl9ZWxzZXtjb25zdCBpPXJbZVthXV07Zm9yKGQ9MDtkPGkuZW50cnlDb3VudDtkKyspe2NvbnN0IGU9KGE8PDgpK2QraS5maXJzdENvZGU7dC5wb3M9aS5pZFJhbmdlUG9zKzIqZDtmPXQuZ2V0VWludDE2KCk7MCE9PWYmJihmPShmK2kuaWREZWx0YSklNjU1MzYpO3UucHVzaCh7Y2hhckNvZGU6ZSxnbHlwaElkOmZ9KX19fWVsc2UgaWYoND09PWwpe3Quc2tpcCg0KTtjb25zdCBlPXQuZ2V0VWludDE2KCk+PjE7dC5za2lwKDYpO2NvbnN0IGE9W107bGV0IHI7Zm9yKHI9MDtyPGU7cisrKWEucHVzaCh7ZW5kOnQuZ2V0VWludDE2KCl9KTt0LnNraXAoMik7Zm9yKHI9MDtyPGU7cisrKWFbcl0uc3RhcnQ9dC5nZXRVaW50MTYoKTtmb3Iocj0wO3I8ZTtyKyspYVtyXS5kZWx0YT10LmdldFVpbnQxNigpO2xldCBzLG89MDtmb3Iocj0wO3I8ZTtyKyspe2k9YVtyXTtjb25zdCBuPXQuZ2V0VWludDE2KCk7aWYobil7cz0obj4+MSktKGUtcik7aS5vZmZzZXRJbmRleD1zO289TWF0aC5tYXgobyxzK2kuZW5kLWkuc3RhcnQrMSl9ZWxzZSBpLm9mZnNldEluZGV4PS0xfWNvbnN0IGM9W107Zm9yKGQ9MDtkPG87ZCsrKWMucHVzaCh0LmdldFVpbnQxNigpKTtmb3Iocj0wO3I8ZTtyKyspe2k9YVtyXTtuPWkuc3RhcnQ7Y29uc3QgZT1pLmVuZCx0PWkuZGVsdGE7cz1pLm9mZnNldEluZGV4O2ZvcihkPW47ZDw9ZTtkKyspaWYoNjU1MzUhPT1kKXtmPXM8MD9kOmNbcytkLW5dO2Y9Zit0JjY1NTM1O3UucHVzaCh7Y2hhckNvZGU6ZCxnbHlwaElkOmZ9KX19fWVsc2UgaWYoNj09PWwpe3Quc2tpcCg0KTtjb25zdCBlPXQuZ2V0VWludDE2KCksYT10LmdldFVpbnQxNigpO2ZvcihkPTA7ZDxhO2QrKyl7Zj10LmdldFVpbnQxNigpO2NvbnN0IGE9ZStkO3UucHVzaCh7Y2hhckNvZGU6YSxnbHlwaElkOmZ9KX19ZWxzZXtpZigxMiE9PWwpe3dhcm4oImNtYXAgdGFibGUgaGFzIHVuc3VwcG9ydGVkIGZvcm1hdDogIitsKTtyZXR1cm57cGxhdGZvcm1JZDotMSxlbmNvZGluZ0lkOi0xLG1hcHBpbmdzOltdLGhhc1Nob3J0Q21hcDohMX19e3Quc2tpcCgxMCk7Y29uc3QgZT10LmdldEludDMyKCk+Pj4wO2ZvcihkPTA7ZDxlO2QrKyl7Y29uc3QgZT10LmdldEludDMyKCk+Pj4wLGE9dC5nZXRJbnQzMigpPj4+MDtsZXQgcj10LmdldEludDMyKCk+Pj4wO2ZvcihsZXQgdD1lO3Q8PWE7dCsrKXUucHVzaCh7Y2hhckNvZGU6dCxnbHlwaElkOnIrK30pfX19dS5zb3J0KCgoZSx0KT0+ZS5jaGFyQ29kZS10LmNoYXJDb2RlKSk7Y29uc3QgZz1bXSxwPW5ldyBTZXQ7Zm9yKGNvbnN0IGUgb2YgdSl7Y29uc3R7Y2hhckNvZGU6dH09ZTtpZighcC5oYXModCkpe3AuYWRkKHQpO2cucHVzaChlKX19cmV0dXJue3BsYXRmb3JtSWQ6by5wbGF0Zm9ybUlkLGVuY29kaW5nSWQ6by5lbmNvZGluZ0lkLG1hcHBpbmdzOmcsaGFzU2hvcnRDbWFwOmh9fShzLmNtYXAsdCx0aGlzLmlzU3ltYm9saWNGb250LGEuaGFzRW5jb2RpbmcpLHI9ZS5wbGF0Zm9ybUlkLGk9ZS5lbmNvZGluZ0lkLG49ZS5tYXBwaW5ncztsZXQgbz1bXSxjPSExOyFhLmhhc0VuY29kaW5nfHwiTWFjUm9tYW5FbmNvZGluZyIhPT1hLmJhc2VFbmNvZGluZ05hbWUmJiJXaW5BbnNpRW5jb2RpbmciIT09YS5iYXNlRW5jb2RpbmdOYW1lfHwobz1nZXRFbmNvZGluZyhhLmJhc2VFbmNvZGluZ05hbWUpKTtpZihhLmhhc0VuY29kaW5nJiYhdGhpcy5pc1N5bWJvbGljRm9udCYmKDM9PT1yJiYxPT09aXx8MT09PXImJjA9PT1pKSl7Y29uc3QgZT1scigpO2ZvcihsZXQgdD0wO3Q8MjU2O3QrKyl7bGV0IHM7cz12b2lkIDAhPT10aGlzLmRpZmZlcmVuY2VzW3RdP3RoaXMuZGlmZmVyZW5jZXNbdF06by5sZW5ndGgmJiIiIT09b1t0XT9vW3RdOm5yW3RdO2lmKCFzKWNvbnRpbnVlO2NvbnN0IGM9cmVjb3ZlckdseXBoTmFtZShzLGUpO2xldCBsOzM9PT1yJiYxPT09aT9sPWVbY106MT09PXImJjA9PT1pJiYobD1pci5pbmRleE9mKGMpKTtpZih2b2lkIDA9PT1sKXtpZighYS5nbHlwaE5hbWVzJiZhLmhhc0luY2x1ZGVkVG9Vbmljb2RlTWFwJiYhKHRoaXMudG9Vbmljb2RlIGluc3RhbmNlb2YgSWRlbnRpdHlUb1VuaWNvZGVNYXApKXtjb25zdCBlPXRoaXMudG9Vbmljb2RlLmdldCh0KTtlJiYobD1lLmNvZGVQb2ludEF0KDApKX1pZih2b2lkIDA9PT1sKWNvbnRpbnVlfWZvcihjb25zdCBlIG9mIG4paWYoZS5jaGFyQ29kZT09PWwpe3dbdF09ZS5nbHlwaElkO2JyZWFrfX19ZWxzZSBpZigwPT09cil7Zm9yKGNvbnN0IGUgb2Ygbil3W2UuY2hhckNvZGVdPWUuZ2x5cGhJZDtjPSEwfWVsc2UgaWYoMz09PXImJjA9PT1pKWZvcihjb25zdCBlIG9mIG4pe2xldCB0PWUuY2hhckNvZGU7dD49NjE0NDAmJnQ8PTYxNjk1JiYodCY9MjU1KTt3W3RdPWUuZ2x5cGhJZH1lbHNlIGZvcihjb25zdCBlIG9mIG4pd1tlLmNoYXJDb2RlXT1lLmdseXBoSWQ7aWYoYS5nbHlwaE5hbWVzJiYoby5sZW5ndGh8fHRoaXMuZGlmZmVyZW5jZXMubGVuZ3RoKSlmb3IobGV0IGU9MDtlPDI1NjsrK2Upe2lmKCFjJiZ2b2lkIDAhPT13W2VdKWNvbnRpbnVlO2NvbnN0IHQ9dGhpcy5kaWZmZXJlbmNlc1tlXXx8b1tlXTtpZighdCljb250aW51ZTtjb25zdCByPWEuZ2x5cGhOYW1lcy5pbmRleE9mKHQpO3I+MCYmaGFzR2x5cGgocikmJih3W2VdPXIpfX0wPT09dy5sZW5ndGgmJih3WzBdPTApO2xldCB4PWQtMTtmfHwoeD0wKTtpZighYS5jc3NGb250SW5mbyl7Y29uc3QgZT1hZGp1c3RNYXBwaW5nKHcsaGFzR2x5cGgseCx0aGlzLnRvVW5pY29kZSk7dGhpcy50b0ZvbnRDaGFyPWUudG9Gb250Q2hhcjtzLmNtYXA9e3RhZzoiY21hcCIsZGF0YTpjcmVhdGVDbWFwVGFibGUoZS5jaGFyQ29kZVRvR2x5cGhJZCxlLnRvVW5pY29kZUV4dHJhTWFwLGQpfTtzWyJPUy8yIl0mJmZ1bmN0aW9uIHZhbGlkYXRlT1MyVGFibGUoZSx0KXt0LnBvcz0odC5zdGFydHx8MCkrZS5vZmZzZXQ7Y29uc3QgYT10LmdldFVpbnQxNigpO3Quc2tpcCg2MCk7Y29uc3Qgcj10LmdldFVpbnQxNigpO2lmKGE8NCYmNzY4JnIpcmV0dXJuITE7aWYodC5nZXRVaW50MTYoKT50LmdldFVpbnQxNigpKXJldHVybiExO3Quc2tpcCg2KTtpZigwPT09dC5nZXRVaW50MTYoKSlyZXR1cm4hMTtlLmRhdGFbOF09ZS5kYXRhWzldPTA7cmV0dXJuITB9KHNbIk9TLzIiXSx0KXx8KHNbIk9TLzIiXT17dGFnOiJPUy8yIixkYXRhOmNyZWF0ZU9TMlRhYmxlKGEsZS5jaGFyQ29kZVRvR2x5cGhJZCx5KX0pfWlmKCFsKXRyeXtjPW5ldyBTdHJlYW0oc1siQ0ZGICJdLmRhdGEpO289bmV3IENGRlBhcnNlcihjLGEscHIpLnBhcnNlKCk7by5kdXBsaWNhdGVGaXJzdEdseXBoKCk7Y29uc3QgZT1uZXcgQ0ZGQ29tcGlsZXIobyk7c1siQ0ZGICJdLmRhdGE9ZS5jb21waWxlKCl9Y2F0Y2h7d2FybigiRmFpbGVkIHRvIGNvbXBpbGUgZm9udCAiK2EubG9hZGVkTmFtZSl9aWYocy5uYW1lKXtjb25zdFt0LHJdPXJlYWROYW1lVGFibGUocy5uYW1lKTtzLm5hbWUuZGF0YT1jcmVhdGVOYW1lVGFibGUoZSx0KTt0aGlzLnBzTmFtZT10WzBdWzZdfHxudWxsO2EuY29tcG9zaXRlfHxmdW5jdGlvbiBhZGp1c3RUcnVlVHlwZVRvVW5pY29kZShlLHQsYSl7aWYoZS5pc0ludGVybmFsRm9udClyZXR1cm47aWYoZS5oYXNJbmNsdWRlZFRvVW5pY29kZU1hcClyZXR1cm47aWYoZS5oYXNFbmNvZGluZylyZXR1cm47aWYoZS50b1VuaWNvZGUgaW5zdGFuY2VvZiBJZGVudGl0eVRvVW5pY29kZU1hcClyZXR1cm47aWYoIXQpcmV0dXJuO2lmKDA9PT1hLmxlbmd0aClyZXR1cm47aWYoZS5kZWZhdWx0RW5jb2Rpbmc9PT1zcilyZXR1cm47Zm9yKGNvbnN0IGUgb2YgYSlpZighaXNXaW5OYW1lUmVjb3JkKGUpKXJldHVybjtjb25zdCByPXNyLGk9W10sbj1scigpO2Zvcihjb25zdCBlIGluIHIpe2NvbnN0IHQ9cltlXTtpZigiIj09PXQpY29udGludWU7Y29uc3QgYT1uW3RdO3ZvaWQgMCE9PWEmJihpW2VdPVN0cmluZy5mcm9tQ2hhckNvZGUoYSkpfWkubGVuZ3RoPjAmJmUudG9Vbmljb2RlLmFtZW5kKGkpfShhLHRoaXMuaXNTeW1ib2xpY0ZvbnQscil9ZWxzZSBzLm5hbWU9e3RhZzoibmFtZSIsZGF0YTpjcmVhdGVOYW1lVGFibGUodGhpcy5uYW1lKX07Y29uc3QgUz1uZXcgT3BlblR5cGVGaWxlQnVpbGRlcihuLnZlcnNpb24pO2Zvcihjb25zdCBlIGluIHMpUy5hZGRUYWJsZShlLHNbZV0uZGF0YSk7cmV0dXJuIFMudG9BcnJheSgpfWNvbnZlcnQoZSxhLHIpe3IuZml4ZWRQaXRjaD0hMTtyLmJ1aWx0SW5FbmNvZGluZyYmZnVuY3Rpb24gYWRqdXN0VHlwZTFUb1VuaWNvZGUoZSx0KXtpZihlLmlzSW50ZXJuYWxGb250KXJldHVybjtpZihlLmhhc0luY2x1ZGVkVG9Vbmljb2RlTWFwKXJldHVybjtpZih0PT09ZS5kZWZhdWx0RW5jb2RpbmcpcmV0dXJuO2lmKGUudG9Vbmljb2RlIGluc3RhbmNlb2YgSWRlbnRpdHlUb1VuaWNvZGVNYXApcmV0dXJuO2NvbnN0IGE9W10scj1scigpO2Zvcihjb25zdCBpIGluIHQpe2lmKGUuaGFzRW5jb2RpbmcmJihlLmJhc2VFbmNvZGluZ05hbWV8fHZvaWQgMCE9PWUuZGlmZmVyZW5jZXNbaV0pKWNvbnRpbnVlO2NvbnN0IG49Z2V0VW5pY29kZUZvckdseXBoKHRbaV0scik7LTEhPT1uJiYoYVtpXT1TdHJpbmcuZnJvbUNoYXJDb2RlKG4pKX1hLmxlbmd0aD4wJiZlLnRvVW5pY29kZS5hbWVuZChhKX0ocixyLmJ1aWx0SW5FbmNvZGluZyk7bGV0IGk9MTthIGluc3RhbmNlb2YgQ0ZGRm9udCYmKGk9YS5udW1HbHlwaHMtMSk7Y29uc3Qgbj1hLmdldEdseXBoTWFwcGluZyhyKTtsZXQgcz1udWxsLG89bixjPW51bGw7aWYoIXIuY3NzRm9udEluZm8pe3M9YWRqdXN0TWFwcGluZyhuLGEuaGFzR2x5cGhJZC5iaW5kKGEpLGksdGhpcy50b1VuaWNvZGUpO3RoaXMudG9Gb250Q2hhcj1zLnRvRm9udENoYXI7bz1zLmNoYXJDb2RlVG9HbHlwaElkO2M9cy50b1VuaWNvZGVFeHRyYU1hcH1jb25zdCBsPWEubnVtR2x5cGhzO2Z1bmN0aW9uIGdldENoYXJDb2RlcyhlLHQpe2xldCBhPW51bGw7Zm9yKGNvbnN0IHIgaW4gZSl0PT09ZVtyXSYmKGF8fD1bXSkucHVzaCgwfHIpO3JldHVybiBhfWZ1bmN0aW9uIGNyZWF0ZUNoYXJDb2RlKGUsdCl7Zm9yKGNvbnN0IGEgaW4gZSlpZih0PT09ZVthXSlyZXR1cm4gMHxhO3MuY2hhckNvZGVUb0dseXBoSWRbcy5uZXh0QXZhaWxhYmxlRm9udENoYXJDb2RlXT10O3JldHVybiBzLm5leHRBdmFpbGFibGVGb250Q2hhckNvZGUrK31jb25zdCBoPWEuc2VhY3M7aWYocyYmaD8ubGVuZ3RoKXtjb25zdCBlPXIuZm9udE1hdHJpeHx8dCxpPWEuZ2V0Q2hhcnNldCgpLG89T2JqZWN0LmNyZWF0ZShudWxsKTtmb3IobGV0IHQgaW4gaCl7dHw9MDtjb25zdCBhPWhbdF0scj1uclthWzJdXSxjPW5yW2FbM11dLGw9aS5pbmRleE9mKHIpLHU9aS5pbmRleE9mKGMpO2lmKGw8MHx8dTwwKWNvbnRpbnVlO2NvbnN0IGQ9e3g6YVswXSplWzBdK2FbMV0qZVsyXStlWzRdLHk6YVswXSplWzFdK2FbMV0qZVszXStlWzVdfSxmPWdldENoYXJDb2RlcyhuLHQpO2lmKGYpZm9yKGNvbnN0IGUgb2YgZil7Y29uc3QgdD1zLmNoYXJDb2RlVG9HbHlwaElkLGE9Y3JlYXRlQ2hhckNvZGUodCxsKSxyPWNyZWF0ZUNoYXJDb2RlKHQsdSk7b1tlXT17YmFzZUZvbnRDaGFyQ29kZTphLGFjY2VudEZvbnRDaGFyQ29kZTpyLGFjY2VudE9mZnNldDpkfX19ci5zZWFjTWFwPW99Y29uc3QgdT1yLmZvbnRNYXRyaXg/MS9NYXRoLm1heCguLi5yLmZvbnRNYXRyaXguc2xpY2UoMCw0KS5tYXAoTWF0aC5hYnMpKToxZTMsZD1uZXcgT3BlblR5cGVGaWxlQnVpbGRlcigiT1RUTyIpO2QuYWRkVGFibGUoIkNGRiAiLGEuZGF0YSk7ZC5hZGRUYWJsZSgiT1MvMiIsY3JlYXRlT1MyVGFibGUocixvKSk7ZC5hZGRUYWJsZSgiY21hcCIsY3JlYXRlQ21hcFRhYmxlKG8sYyxsKSk7ZC5hZGRUYWJsZSgiaGVhZCIsIlwwAVwwXDBcMFwwEFwwXDBcMFwwXDBfDzzDtVwwXDAiK3NhZmVTdHJpbmcxNih1KSsiXDBcMFwwXDDCnlx2fidcMFwwXDBcMMKeXHZ+J1wwXDAiK3NhZmVTdHJpbmcxNihyLmRlc2NlbnQpKyIPw78iK3NhZmVTdHJpbmcxNihyLmFzY2VudCkrc3RyaW5nMTYoci5pdGFsaWNBbmdsZT8yOjApKyJcMBFcMFwwXDBcMFwwXDAiKTtkLmFkZFRhYmxlKCJoaGVhIiwiXDABXDBcMCIrc2FmZVN0cmluZzE2KHIuYXNjZW50KStzYWZlU3RyaW5nMTYoci5kZXNjZW50KSsiXDBcMMO/w79cMFwwXDBcMFwwXDAiK3NhZmVTdHJpbmcxNihyLmNhcEhlaWdodCkrc2FmZVN0cmluZzE2KE1hdGgudGFuKHIuaXRhbGljQW5nbGUpKnIueEhlaWdodCkrIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIrc3RyaW5nMTYobCkpO2QuYWRkVGFibGUoImhtdHgiLGZ1bmN0aW9uIGZvbnRGaWVsZHNIbXR4KCl7Y29uc3QgZT1hLmNoYXJzdHJpbmdzLHQ9YS5jZmY/YS5jZmYud2lkdGhzOm51bGw7bGV0IHI9IlwwXDBcMFwwIjtmb3IobGV0IGE9MSxpPWw7YTxpO2ErKyl7bGV0IGk9MDtpZihlKXtjb25zdCB0PWVbYS0xXTtpPSJ3aWR0aCJpbiB0P3Qud2lkdGg6MH1lbHNlIHQmJihpPU1hdGguY2VpbCh0W2FdfHwwKSk7cis9c3RyaW5nMTYoaSkrc3RyaW5nMTYoMCl9cmV0dXJuIHJ9KCkpO2QuYWRkVGFibGUoIm1heHAiLCJcMFwwUFwwIitzdHJpbmcxNihsKSk7ZC5hZGRUYWJsZSgibmFtZSIsY3JlYXRlTmFtZVRhYmxlKGUpKTtkLmFkZFRhYmxlKCJwb3N0IixjcmVhdGVQb3N0VGFibGUocikpO3JldHVybiBkLnRvQXJyYXkoKX1nZXQgX3NwYWNlV2lkdGgoKXtjb25zdCBlPVsic3BhY2UiLCJtaW51cyIsIm9uZSIsImkiLCJJIl07bGV0IHQ7Zm9yKGNvbnN0IGEgb2YgZSl7aWYoYSBpbiB0aGlzLndpZHRocyl7dD10aGlzLndpZHRoc1thXTticmVha31jb25zdCBlPWxyKClbYV07bGV0IHI9MDtpZih0aGlzLmNvbXBvc2l0ZSYmdGhpcy5jTWFwLmNvbnRhaW5zKGUpKXtyPXRoaXMuY01hcC5sb29rdXAoZSk7InN0cmluZyI9PXR5cGVvZiByJiYocj1jb252ZXJ0Q2lkU3RyaW5nKGUscikpfSFyJiZ0aGlzLnRvVW5pY29kZSYmKHI9dGhpcy50b1VuaWNvZGUuY2hhckNvZGVPZihlKSk7cjw9MCYmKHI9ZSk7dD10aGlzLndpZHRoc1tyXTtpZih0KWJyZWFrfXJldHVybiBzaGFkb3codGhpcywiX3NwYWNlV2lkdGgiLHR8fHRoaXMuZGVmYXVsdFdpZHRoKX1fY2hhclRvR2x5cGgoZSx0PSExKXtsZXQgYSxyLGksbj10aGlzLl9nbHlwaENhY2hlW2VdO2lmKG4/LmlzU3BhY2U9PT10KXJldHVybiBuO2xldCBzPWU7aWYodGhpcy5jTWFwPy5jb250YWlucyhlKSl7cz10aGlzLmNNYXAubG9va3VwKGUpOyJzdHJpbmciPT10eXBlb2YgcyYmKHM9Y29udmVydENpZFN0cmluZyhlLHMpKX1yPXRoaXMud2lkdGhzW3NdOyJudW1iZXIiIT10eXBlb2YgciYmKHI9dGhpcy5kZWZhdWx0V2lkdGgpO2NvbnN0IG89dGhpcy52bWV0cmljcz8uW3NdO2xldCBjPXRoaXMudG9Vbmljb2RlLmdldChlKXx8ZTsibnVtYmVyIj09dHlwZW9mIGMmJihjPVN0cmluZy5mcm9tQ2hhckNvZGUoYykpO2xldCBsPXZvaWQgMCE9PXRoaXMudG9Gb250Q2hhcltlXTthPXRoaXMudG9Gb250Q2hhcltlXXx8ZTtpZih0aGlzLm1pc3NpbmdGaWxlKXtjb25zdCB0PXRoaXMuZGlmZmVyZW5jZXNbZV18fHRoaXMuZGVmYXVsdEVuY29kaW5nW2VdO2lmKCgiLm5vdGRlZiI9PT10fHwiIj09PXQpJiYiVHlwZTEiPT09dGhpcy50eXBlKXthPTMyO2lmKCIiPT09dCl7cnx8PXRoaXMuX3NwYWNlV2lkdGg7Yz1TdHJpbmcuZnJvbUNoYXJDb2RlKGEpfX1hPWZ1bmN0aW9uIG1hcFNwZWNpYWxVbmljb2RlVmFsdWVzKGUpe3JldHVybiBlPj02NTUyMCYmZTw9NjU1MzU/MDplPj02Mjk3NiYmZTw9NjM3NDM/dXIoKVtlXXx8ZToxNzM9PT1lPzQ1OmV9KGEpfXRoaXMuaXNUeXBlM0ZvbnQmJihpPWEpO2xldCBoPW51bGw7aWYodGhpcy5zZWFjTWFwPy5bZV0pe2w9ITA7Y29uc3QgdD10aGlzLnNlYWNNYXBbZV07YT10LmJhc2VGb250Q2hhckNvZGU7aD17Zm9udENoYXI6U3RyaW5nLmZyb21Db2RlUG9pbnQodC5hY2NlbnRGb250Q2hhckNvZGUpLG9mZnNldDp0LmFjY2VudE9mZnNldH19bGV0IHU9IiI7Im51bWJlciI9PXR5cGVvZiBhJiYoYTw9MTExNDExMT91PVN0cmluZy5mcm9tQ29kZVBvaW50KGEpOndhcm4oYGNoYXJUb0dseXBoIC0gaW52YWxpZCBmb250Q2hhckNvZGU6ICR7YX1gKSk7aWYodGhpcy5taXNzaW5nRmlsZSYmdGhpcy52ZXJ0aWNhbCYmMT09PXUubGVuZ3RoKXtjb25zdCBlPVNyKClbdS5jaGFyQ29kZUF0KDApXTtlJiYodT1jPVN0cmluZy5mcm9tQ2hhckNvZGUoZSkpfW49bmV3IGZvbnRzX0dseXBoKGUsdSxjLGgscixvLGksdCxsKTtyZXR1cm4gdGhpcy5fZ2x5cGhDYWNoZVtlXT1ufWNoYXJzVG9HbHlwaHMoZSl7bGV0IHQ9dGhpcy5fY2hhcnNDYWNoZVtlXTtpZih0KXJldHVybiB0O3Q9W107aWYodGhpcy5jTWFwKXtjb25zdCBhPU9iamVjdC5jcmVhdGUobnVsbCkscj1lLmxlbmd0aDtsZXQgaT0wO2Zvcig7aTxyOyl7dGhpcy5jTWFwLnJlYWRDaGFyQ29kZShlLGksYSk7Y29uc3R7Y2hhcmNvZGU6cixsZW5ndGg6bn09YTtpKz1uO2NvbnN0IHM9dGhpcy5fY2hhclRvR2x5cGgociwxPT09biYmMzI9PT1lLmNoYXJDb2RlQXQoaS0xKSk7dC5wdXNoKHMpfX1lbHNlIGZvcihsZXQgYT0wLHI9ZS5sZW5ndGg7YTxyOysrYSl7Y29uc3Qgcj1lLmNoYXJDb2RlQXQoYSksaT10aGlzLl9jaGFyVG9HbHlwaChyLDMyPT09cik7dC5wdXNoKGkpfXJldHVybiB0aGlzLl9jaGFyc0NhY2hlW2VdPXR9Z2V0Q2hhclBvc2l0aW9ucyhlKXtjb25zdCB0PVtdO2lmKHRoaXMuY01hcCl7Y29uc3QgYT1PYmplY3QuY3JlYXRlKG51bGwpO2xldCByPTA7Zm9yKDtyPGUubGVuZ3RoOyl7dGhpcy5jTWFwLnJlYWRDaGFyQ29kZShlLHIsYSk7Y29uc3QgaT1hLmxlbmd0aDt0LnB1c2goW3IscitpXSk7cis9aX19ZWxzZSBmb3IobGV0IGE9MCxyPWUubGVuZ3RoO2E8cjsrK2EpdC5wdXNoKFthLGErMV0pO3JldHVybiB0fWdldCBnbHlwaENhY2hlVmFsdWVzKCl7cmV0dXJuIE9iamVjdC52YWx1ZXModGhpcy5fZ2x5cGhDYWNoZSl9ZW5jb2RlU3RyaW5nKGUpe2NvbnN0IHQ9W10sYT1bXSxoYXNDdXJyZW50QnVmRXJyb3JzPSgpPT50Lmxlbmd0aCUyPT0xLHI9dGhpcy50b1VuaWNvZGUgaW5zdGFuY2VvZiBJZGVudGl0eVRvVW5pY29kZU1hcD9lPT50aGlzLnRvVW5pY29kZS5jaGFyQ29kZU9mKGUpOmU9PnRoaXMudG9Vbmljb2RlLmNoYXJDb2RlT2YoU3RyaW5nLmZyb21Db2RlUG9pbnQoZSkpO2ZvcihsZXQgaT0wLG49ZS5sZW5ndGg7aTxuO2krKyl7Y29uc3Qgbj1lLmNvZGVQb2ludEF0KGkpO24+NTUyOTUmJihuPDU3MzQ0fHxuPjY1NTMzKSYmaSsrO2lmKHRoaXMudG9Vbmljb2RlKXtjb25zdCBlPXIobik7aWYoLTEhPT1lKXtpZihoYXNDdXJyZW50QnVmRXJyb3JzKCkpe3QucHVzaChhLmpvaW4oIiIpKTthLmxlbmd0aD0wfWZvcihsZXQgdD0odGhpcy5jTWFwP3RoaXMuY01hcC5nZXRDaGFyQ29kZUxlbmd0aChlKToxKS0xO3Q+PTA7dC0tKWEucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKGU+PjgqdCYyNTUpKTtjb250aW51ZX19aWYoIWhhc0N1cnJlbnRCdWZFcnJvcnMoKSl7dC5wdXNoKGEuam9pbigiIikpO2EubGVuZ3RoPTB9YS5wdXNoKFN0cmluZy5mcm9tQ29kZVBvaW50KG4pKX10LnB1c2goYS5qb2luKCIiKSk7cmV0dXJuIHR9fWNsYXNzIEVycm9yRm9udHtjb25zdHJ1Y3RvcihlKXt0aGlzLmVycm9yPWU7dGhpcy5sb2FkZWROYW1lPSJnX2ZvbnRfZXJyb3IiO3RoaXMubWlzc2luZ0ZpbGU9ITB9Y2hhcnNUb0dseXBocygpe3JldHVybltdfWVuY29kZVN0cmluZyhlKXtyZXR1cm5bZV19ZXhwb3J0RGF0YSgpe3JldHVybntlcnJvcjp0aGlzLmVycm9yfX19Y29uc3QgaWk9MixuaT0zLHNpPTQsb2k9NSxjaT02LGxpPTc7Y2xhc3MgUGF0dGVybntjb25zdHJ1Y3Rvcigpe3VucmVhY2hhYmxlKCJDYW5ub3QgaW5pdGlhbGl6ZSBQYXR0ZXJuLiIpfXN0YXRpYyBwYXJzZVNoYWRpbmcoZSx0LGEscixpLG4pe2NvbnN0IHM9ZSBpbnN0YW5jZW9mIEJhc2VTdHJlYW0/ZS5kaWN0OmUsbz1zLmdldCgiU2hhZGluZ1R5cGUiKTt0cnl7c3dpdGNoKG8pe2Nhc2UgaWk6Y2FzZSBuaTpyZXR1cm4gbmV3IFJhZGlhbEF4aWFsU2hhZGluZyhzLHQsYSxyLGksbik7Y2FzZSBzaTpjYXNlIG9pOmNhc2UgY2k6Y2FzZSBsaTpyZXR1cm4gbmV3IE1lc2hTaGFkaW5nKGUsdCxhLHIsaSxuKTtkZWZhdWx0OnRocm93IG5ldyBGb3JtYXRFcnJvcigiVW5zdXBwb3J0ZWQgU2hhZGluZ1R5cGU6ICIrbyl9fWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZiBNaXNzaW5nRGF0YUV4Y2VwdGlvbil0aHJvdyBlO3dhcm4oZSk7cmV0dXJuIG5ldyBEdW1teVNoYWRpbmd9fX1jbGFzcyBCYXNlU2hhZGluZ3tzdGF0aWMgU01BTExfTlVNQkVSPTFlLTY7Z2V0SVIoKXt1bnJlYWNoYWJsZSgiQWJzdHJhY3QgbWV0aG9kIGBnZXRJUmAgY2FsbGVkLiIpfX1jbGFzcyBSYWRpYWxBeGlhbFNoYWRpbmcgZXh0ZW5kcyBCYXNlU2hhZGluZ3tjb25zdHJ1Y3RvcihlLHQsYSxyLGksbil7c3VwZXIoKTt0aGlzLnNoYWRpbmdUeXBlPWUuZ2V0KCJTaGFkaW5nVHlwZSIpO2xldCBzPTA7dGhpcy5zaGFkaW5nVHlwZT09PWlpP3M9NDp0aGlzLnNoYWRpbmdUeXBlPT09bmkmJihzPTYpO3RoaXMuY29vcmRzQXJyPWUuZ2V0QXJyYXkoIkNvb3JkcyIpO2lmKCFpc051bWJlckFycmF5KHRoaXMuY29vcmRzQXJyLHMpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiUmFkaWFsQXhpYWxTaGFkaW5nOiBJbnZhbGlkIC9Db29yZHMgYXJyYXkuIik7Y29uc3Qgbz1Db2xvclNwYWNlVXRpbHMucGFyc2Uoe2NzOmUuZ2V0UmF3KCJDUyIpfHxlLmdldFJhdygiQ29sb3JTcGFjZSIpLHhyZWY6dCxyZXNvdXJjZXM6YSxwZGZGdW5jdGlvbkZhY3Rvcnk6cixnbG9iYWxDb2xvclNwYWNlQ2FjaGU6aSxsb2NhbENvbG9yU3BhY2VDYWNoZTpufSk7dGhpcy5iYm94PWxvb2t1cE5vcm1hbFJlY3QoZS5nZXRBcnJheSgiQkJveCIpLG51bGwpO2xldCBjPTAsbD0xO2NvbnN0IGg9ZS5nZXRBcnJheSgiRG9tYWluIik7aXNOdW1iZXJBcnJheShoLDIpJiYoW2MsbF09aCk7bGV0IHU9ITEsZD0hMTtjb25zdCBmPWUuZ2V0QXJyYXkoIkV4dGVuZCIpOyhmdW5jdGlvbiBpc0Jvb2xlYW5BcnJheShlLHQpe3JldHVybiBBcnJheS5pc0FycmF5KGUpJiYobnVsbD09PXR8fGUubGVuZ3RoPT09dCkmJmUuZXZlcnkoKGU9PiJib29sZWFuIj09dHlwZW9mIGUpKX0pKGYsMikmJihbdSxkXT1mKTtpZighKHRoaXMuc2hhZGluZ1R5cGUhPT1uaXx8dSYmZCkpe2NvbnN0W2UsdCxhLHIsaSxuXT10aGlzLmNvb3Jkc0FycixzPU1hdGguaHlwb3QoZS1yLHQtaSk7YTw9bitzJiZuPD1hK3MmJndhcm4oIlVuc3VwcG9ydGVkIHJhZGlhbCBncmFkaWVudC4iKX10aGlzLmV4dGVuZFN0YXJ0PXU7dGhpcy5leHRlbmRFbmQ9ZDtjb25zdCBnPWUuZ2V0UmF3KCJGdW5jdGlvbiIpLHA9ci5jcmVhdGUoZywhMCksbT0obC1jKS84NDAsYj10aGlzLmNvbG9yU3RvcHM9W107aWYoYz49bHx8bTw9MCl7aW5mbygiQmFkIHNoYWRpbmcgZG9tYWluLiIpO3JldHVybn1jb25zdCB5PW5ldyBGbG9hdDMyQXJyYXkoby5udW1Db21wcyksdz1uZXcgRmxvYXQzMkFycmF5KDEpO2xldCB4PTA7d1swXT1jO3AodywwLHksMCk7Y29uc3QgUz1uZXcgVWludDhDbGFtcGVkQXJyYXkoMyk7by5nZXRSZ2IoeSwwLFMpO2xldFtrLEMsdl09UztiLnB1c2goWzAsVXRpbC5tYWtlSGV4Q29sb3IoayxDLHYpXSk7bGV0IEY9MTt3WzBdPWMrbTtwKHcsMCx5LDApO28uZ2V0UmdiKHksMCxTKTtsZXRbVCxPLE1dPVMsRD1ULWsrMSxSPU8tQysxLE49TS12KzEsRT1ULWstMSxMPU8tQy0xLGo9TS12LTE7Zm9yKGxldCBlPTI7ZTw4NDA7ZSsrKXt3WzBdPWMrZSptO3AodywwLHksMCk7by5nZXRSZ2IoeSwwLFMpO2NvbnN0W3QsYSxyXT1TLGk9ZS14O0Q9TWF0aC5taW4oRCwodC1rKzEpL2kpO1I9TWF0aC5taW4oUiwoYS1DKzEpL2kpO049TWF0aC5taW4oTiwoci12KzEpL2kpO0U9TWF0aC5tYXgoRSwodC1rLTEpL2kpO0w9TWF0aC5tYXgoTCwoYS1DLTEpL2kpO2o9TWF0aC5tYXgoaiwoci12LTEpL2kpO2lmKCEoRTw9RCYmTDw9UiYmajw9Tikpe2NvbnN0IGU9VXRpbC5tYWtlSGV4Q29sb3IoVCxPLE0pO2IucHVzaChbRi84NDAsZV0pO0Q9dC1UKzE7Uj1hLU8rMTtOPXItTSsxO0U9dC1ULTE7TD1hLU8tMTtqPXItTS0xO3g9RjtrPVQ7Qz1PO3Y9TX1GPWU7VD10O089YTtNPXJ9Yi5wdXNoKFsxLFV0aWwubWFrZUhleENvbG9yKFQsTyxNKV0pO2xldCBfPSJ0cmFuc3BhcmVudCI7ZS5oYXMoIkJhY2tncm91bmQiKSYmKF89by5nZXRSZ2JIZXgoZS5nZXQoIkJhY2tncm91bmQiKSwwKSk7aWYoIXUpe2IudW5zaGlmdChbMCxfXSk7YlsxXVswXSs9QmFzZVNoYWRpbmcuU01BTExfTlVNQkVSfWlmKCFkKXtiLmF0KC0xKVswXS09QmFzZVNoYWRpbmcuU01BTExfTlVNQkVSO2IucHVzaChbMSxfXSl9dGhpcy5jb2xvclN0b3BzPWJ9Z2V0SVIoKXtjb25zdHtjb29yZHNBcnI6ZSxzaGFkaW5nVHlwZTp0fT10aGlzO2xldCBhLHIsaSxuLHM7aWYodD09PWlpKXtyPVtlWzBdLGVbMV1dO2k9W2VbMl0sZVszXV07bj1udWxsO3M9bnVsbDthPSJheGlhbCJ9ZWxzZSBpZih0PT09bmkpe3I9W2VbMF0sZVsxXV07aT1bZVszXSxlWzRdXTtuPWVbMl07cz1lWzVdO2E9InJhZGlhbCJ9ZWxzZSB1bnJlYWNoYWJsZShgZ2V0UGF0dGVybiB0eXBlIHVua25vd246ICR7dH1gKTtyZXR1cm5bIlJhZGlhbEF4aWFsIixhLHRoaXMuYmJveCx0aGlzLmNvbG9yU3RvcHMscixpLG4sc119fWNsYXNzIE1lc2hTdHJlYW1SZWFkZXJ7Y29uc3RydWN0b3IoZSx0KXt0aGlzLnN0cmVhbT1lO3RoaXMuY29udGV4dD10O3RoaXMuYnVmZmVyPTA7dGhpcy5idWZmZXJMZW5ndGg9MDtjb25zdCBhPXQubnVtQ29tcHM7dGhpcy50bXBDb21wc0J1Zj1uZXcgRmxvYXQzMkFycmF5KGEpO2NvbnN0IHI9dC5jb2xvclNwYWNlLm51bUNvbXBzO3RoaXMudG1wQ3NDb21wc0J1Zj10LmNvbG9yRm4/bmV3IEZsb2F0MzJBcnJheShyKTp0aGlzLnRtcENvbXBzQnVmfWdldCBoYXNEYXRhKCl7aWYodGhpcy5zdHJlYW0uZW5kKXJldHVybiB0aGlzLnN0cmVhbS5wb3M8dGhpcy5zdHJlYW0uZW5kO2lmKHRoaXMuYnVmZmVyTGVuZ3RoPjApcmV0dXJuITA7Y29uc3QgZT10aGlzLnN0cmVhbS5nZXRCeXRlKCk7aWYoZTwwKXJldHVybiExO3RoaXMuYnVmZmVyPWU7dGhpcy5idWZmZXJMZW5ndGg9ODtyZXR1cm4hMH1yZWFkQml0cyhlKXtjb25zdHtzdHJlYW06dH09dGhpcztsZXR7YnVmZmVyOmEsYnVmZmVyTGVuZ3RoOnJ9PXRoaXM7aWYoMzI9PT1lKXtpZigwPT09cilyZXR1cm4gdC5nZXRJbnQzMigpPj4+MDthPWE8PDI0fHQuZ2V0Qnl0ZSgpPDwxNnx0LmdldEJ5dGUoKTw8OHx0LmdldEJ5dGUoKTtjb25zdCBlPXQuZ2V0Qnl0ZSgpO3RoaXMuYnVmZmVyPWUmKDE8PHIpLTE7cmV0dXJuKGE8PDgtcnwoMjU1JmUpPj5yKT4+PjB9aWYoOD09PWUmJjA9PT1yKXJldHVybiB0LmdldEJ5dGUoKTtmb3IoO3I8ZTspe2E9YTw8OHx0LmdldEJ5dGUoKTtyKz04fXItPWU7dGhpcy5idWZmZXJMZW5ndGg9cjt0aGlzLmJ1ZmZlcj1hJigxPDxyKS0xO3JldHVybiBhPj5yfWFsaWduKCl7dGhpcy5idWZmZXI9MDt0aGlzLmJ1ZmZlckxlbmd0aD0wfXJlYWRGbGFnKCl7cmV0dXJuIHRoaXMucmVhZEJpdHModGhpcy5jb250ZXh0LmJpdHNQZXJGbGFnKX1yZWFkQ29vcmRpbmF0ZSgpe2NvbnN0e2JpdHNQZXJDb29yZGluYXRlOmUsZGVjb2RlOnR9PXRoaXMuY29udGV4dCxhPXRoaXMucmVhZEJpdHMoZSkscj10aGlzLnJlYWRCaXRzKGUpLGk9ZTwzMj8xLygoMTw8ZSktMSk6Mi4zMjgzMDY0MzY1Mzg2OTYzZS0xMDtyZXR1cm5bYSppKih0WzFdLXRbMF0pK3RbMF0scippKih0WzNdLXRbMl0pK3RbMl1dfXJlYWRDb21wb25lbnRzKCl7Y29uc3R7Yml0c1BlckNvbXBvbmVudDplLGNvbG9yRm46dCxjb2xvclNwYWNlOmEsZGVjb2RlOnIsbnVtQ29tcHM6aX09dGhpcy5jb250ZXh0LG49ZTwzMj8xLygoMTw8ZSktMSk6Mi4zMjgzMDY0MzY1Mzg2OTYzZS0xMCxzPXRoaXMudG1wQ29tcHNCdWY7Zm9yKGxldCB0PTAsYT00O3Q8aTt0KyssYSs9Mil7Y29uc3QgaT10aGlzLnJlYWRCaXRzKGUpO3NbdF09aSpuKihyW2ErMV0tclthXSkrclthXX1jb25zdCBvPXRoaXMudG1wQ3NDb21wc0J1Zjt0Py4ocywwLG8sMCk7cmV0dXJuIGEuZ2V0UmdiKG8sMCl9fWxldCBoaT1PYmplY3QuY3JlYXRlKG51bGwpO2Z1bmN0aW9uIGdldEIoZSl7cmV0dXJuIGhpW2VdfHw9ZnVuY3Rpb24gYnVpbGRCKGUpe2NvbnN0IHQ9W107Zm9yKGxldCBhPTA7YTw9ZTthKyspe2NvbnN0IHI9YS9lLGk9MS1yO3QucHVzaChuZXcgRmxvYXQzMkFycmF5KFtpKiozLDMqcippKioyLDMqcioqMippLHIqKjNdKSl9cmV0dXJuIHR9KGUpfWNsYXNzIE1lc2hTaGFkaW5nIGV4dGVuZHMgQmFzZVNoYWRpbmd7c3RhdGljIE1JTl9TUExJVF9QQVRDSF9DSFVOS1NfQU1PVU5UPTM7c3RhdGljIE1BWF9TUExJVF9QQVRDSF9DSFVOS1NfQU1PVU5UPTIwO3N0YXRpYyBUUklBTkdMRV9ERU5TSVRZPTIwO2NvbnN0cnVjdG9yKGUsdCxhLHIsaSxuKXtzdXBlcigpO2lmKCEoZSBpbnN0YW5jZW9mIEJhc2VTdHJlYW0pKXRocm93IG5ldyBGb3JtYXRFcnJvcigiTWVzaCBkYXRhIGlzIG5vdCBhIHN0cmVhbSIpO2NvbnN0IHM9ZS5kaWN0O3RoaXMuc2hhZGluZ1R5cGU9cy5nZXQoIlNoYWRpbmdUeXBlIik7dGhpcy5iYm94PWxvb2t1cE5vcm1hbFJlY3Qocy5nZXRBcnJheSgiQkJveCIpLG51bGwpO2NvbnN0IG89Q29sb3JTcGFjZVV0aWxzLnBhcnNlKHtjczpzLmdldFJhdygiQ1MiKXx8cy5nZXRSYXcoIkNvbG9yU3BhY2UiKSx4cmVmOnQscmVzb3VyY2VzOmEscGRmRnVuY3Rpb25GYWN0b3J5OnIsZ2xvYmFsQ29sb3JTcGFjZUNhY2hlOmksbG9jYWxDb2xvclNwYWNlQ2FjaGU6bn0pO3RoaXMuYmFja2dyb3VuZD1zLmhhcygiQmFja2dyb3VuZCIpP28uZ2V0UmdiKHMuZ2V0KCJCYWNrZ3JvdW5kIiksMCk6bnVsbDtjb25zdCBjPXMuZ2V0UmF3KCJGdW5jdGlvbiIpLGw9Yz9yLmNyZWF0ZShjLCEwKTpudWxsO3RoaXMuY29vcmRzPVtdO3RoaXMuY29sb3JzPVtdO3RoaXMuZmlndXJlcz1bXTtjb25zdCBoPXtiaXRzUGVyQ29vcmRpbmF0ZTpzLmdldCgiQml0c1BlckNvb3JkaW5hdGUiKSxiaXRzUGVyQ29tcG9uZW50OnMuZ2V0KCJCaXRzUGVyQ29tcG9uZW50IiksYml0c1BlckZsYWc6cy5nZXQoIkJpdHNQZXJGbGFnIiksZGVjb2RlOnMuZ2V0QXJyYXkoIkRlY29kZSIpLGNvbG9yRm46bCxjb2xvclNwYWNlOm8sbnVtQ29tcHM6bD8xOm8ubnVtQ29tcHN9LHU9bmV3IE1lc2hTdHJlYW1SZWFkZXIoZSxoKTtsZXQgZD0hMTtzd2l0Y2godGhpcy5zaGFkaW5nVHlwZSl7Y2FzZSBzaTp0aGlzLl9kZWNvZGVUeXBlNFNoYWRpbmcodSk7YnJlYWs7Y2FzZSBvaTpjb25zdCBlPTB8cy5nZXQoIlZlcnRpY2VzUGVyUm93Iik7aWYoZTwyKXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCBWZXJ0aWNlc1BlclJvdyIpO3RoaXMuX2RlY29kZVR5cGU1U2hhZGluZyh1LGUpO2JyZWFrO2Nhc2UgY2k6dGhpcy5fZGVjb2RlVHlwZTZTaGFkaW5nKHUpO2Q9ITA7YnJlYWs7Y2FzZSBsaTp0aGlzLl9kZWNvZGVUeXBlN1NoYWRpbmcodSk7ZD0hMDticmVhaztkZWZhdWx0OnVucmVhY2hhYmxlKCJVbnN1cHBvcnRlZCBtZXNoIHR5cGUuIil9aWYoZCl7dGhpcy5fdXBkYXRlQm91bmRzKCk7Zm9yKGxldCBlPTAsdD10aGlzLmZpZ3VyZXMubGVuZ3RoO2U8dDtlKyspdGhpcy5fYnVpbGRGaWd1cmVGcm9tUGF0Y2goZSl9dGhpcy5fdXBkYXRlQm91bmRzKCk7dGhpcy5fcGFja0RhdGEoKX1fZGVjb2RlVHlwZTRTaGFkaW5nKGUpe2NvbnN0IHQ9dGhpcy5jb29yZHMsYT10aGlzLmNvbG9ycyxyPVtdLGk9W107bGV0IG49MDtmb3IoO2UuaGFzRGF0YTspe2NvbnN0IHM9ZS5yZWFkRmxhZygpLG89ZS5yZWFkQ29vcmRpbmF0ZSgpLGM9ZS5yZWFkQ29tcG9uZW50cygpO2lmKDA9PT1uKXtpZighKDA8PXMmJnM8PTIpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiVW5rbm93biB0eXBlNCBmbGFnIik7c3dpdGNoKHMpe2Nhc2UgMDpuPTM7YnJlYWs7Y2FzZSAxOmkucHVzaChpLmF0KC0yKSxpLmF0KC0xKSk7bj0xO2JyZWFrO2Nhc2UgMjppLnB1c2goaS5hdCgtMyksaS5hdCgtMSkpO249MX1yLnB1c2gocyl9aS5wdXNoKHQubGVuZ3RoKTt0LnB1c2gobyk7YS5wdXNoKGMpO24tLTtlLmFsaWduKCl9dGhpcy5maWd1cmVzLnB1c2goe3R5cGU6InRyaWFuZ2xlcyIsY29vcmRzOm5ldyBJbnQzMkFycmF5KGkpLGNvbG9yczpuZXcgSW50MzJBcnJheShpKX0pfV9kZWNvZGVUeXBlNVNoYWRpbmcoZSx0KXtjb25zdCBhPXRoaXMuY29vcmRzLHI9dGhpcy5jb2xvcnMsaT1bXTtmb3IoO2UuaGFzRGF0YTspe2NvbnN0IHQ9ZS5yZWFkQ29vcmRpbmF0ZSgpLG49ZS5yZWFkQ29tcG9uZW50cygpO2kucHVzaChhLmxlbmd0aCk7YS5wdXNoKHQpO3IucHVzaChuKX10aGlzLmZpZ3VyZXMucHVzaCh7dHlwZToibGF0dGljZSIsY29vcmRzOm5ldyBJbnQzMkFycmF5KGkpLGNvbG9yczpuZXcgSW50MzJBcnJheShpKSx2ZXJ0aWNlc1BlclJvdzp0fSl9X2RlY29kZVR5cGU2U2hhZGluZyhlKXtjb25zdCB0PXRoaXMuY29vcmRzLGE9dGhpcy5jb2xvcnMscj1uZXcgSW50MzJBcnJheSgxNiksaT1uZXcgSW50MzJBcnJheSg0KTtmb3IoO2UuaGFzRGF0YTspe2NvbnN0IG49ZS5yZWFkRmxhZygpO2lmKCEoMDw9biYmbjw9MykpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJVbmtub3duIHR5cGU2IGZsYWciKTtjb25zdCBzPXQubGVuZ3RoO2ZvcihsZXQgYT0wLHI9MCE9PW4/ODoxMjthPHI7YSsrKXQucHVzaChlLnJlYWRDb29yZGluYXRlKCkpO2NvbnN0IG89YS5sZW5ndGg7Zm9yKGxldCB0PTAscj0wIT09bj8yOjQ7dDxyO3QrKylhLnB1c2goZS5yZWFkQ29tcG9uZW50cygpKTtsZXQgYyxsLGgsdTtzd2l0Y2gobil7Y2FzZSAwOnJbMTJdPXMrMztyWzEzXT1zKzQ7clsxNF09cys1O3JbMTVdPXMrNjtyWzhdPXMrMjtyWzExXT1zKzc7cls0XT1zKzE7cls3XT1zKzg7clswXT1zO3JbMV09cysxMTtyWzJdPXMrMTA7clszXT1zKzk7aVsyXT1vKzE7aVszXT1vKzI7aVswXT1vO2lbMV09byszO2JyZWFrO2Nhc2UgMTpjPXJbMTJdO2w9clsxM107aD1yWzE0XTt1PXJbMTVdO3JbMTJdPXU7clsxM109cyswO3JbMTRdPXMrMTtyWzE1XT1zKzI7cls4XT1oO3JbMTFdPXMrMztyWzRdPWw7cls3XT1zKzQ7clswXT1jO3JbMV09cys3O3JbMl09cys2O3JbM109cys1O2M9aVsyXTtsPWlbM107aVsyXT1sO2lbM109bztpWzBdPWM7aVsxXT1vKzE7YnJlYWs7Y2FzZSAyOmM9clsxNV07bD1yWzExXTtyWzEyXT1yWzNdO3JbMTNdPXMrMDtyWzE0XT1zKzE7clsxNV09cysyO3JbOF09cls3XTtyWzExXT1zKzM7cls0XT1sO3JbN109cys0O3JbMF09YztyWzFdPXMrNztyWzJdPXMrNjtyWzNdPXMrNTtjPWlbM107aVsyXT1pWzFdO2lbM109bztpWzBdPWM7aVsxXT1vKzE7YnJlYWs7Y2FzZSAzOnJbMTJdPXJbMF07clsxM109cyswO3JbMTRdPXMrMTtyWzE1XT1zKzI7cls4XT1yWzFdO3JbMTFdPXMrMztyWzRdPXJbMl07cls3XT1zKzQ7clswXT1yWzNdO3JbMV09cys3O3JbMl09cys2O3JbM109cys1O2lbMl09aVswXTtpWzNdPW87aVswXT1pWzFdO2lbMV09bysxfXJbNV09dC5sZW5ndGg7dC5wdXNoKFsoLTQqdFtyWzBdXVswXS10W3JbMTVdXVswXSs2Kih0W3JbNF1dWzBdK3RbclsxXV1bMF0pLTIqKHRbclsxMl1dWzBdK3RbclszXV1bMF0pKzMqKHRbclsxM11dWzBdK3Rbcls3XV1bMF0pKS85LCgtNCp0W3JbMF1dWzFdLXRbclsxNV1dWzFdKzYqKHRbcls0XV1bMV0rdFtyWzFdXVsxXSktMioodFtyWzEyXV1bMV0rdFtyWzNdXVsxXSkrMyoodFtyWzEzXV1bMV0rdFtyWzddXVsxXSkpLzldKTtyWzZdPXQubGVuZ3RoO3QucHVzaChbKC00KnRbclszXV1bMF0tdFtyWzEyXV1bMF0rNioodFtyWzJdXVswXSt0W3JbN11dWzBdKS0yKih0W3JbMF1dWzBdK3RbclsxNV1dWzBdKSszKih0W3JbNF1dWzBdK3RbclsxNF1dWzBdKSkvOSwoLTQqdFtyWzNdXVsxXS10W3JbMTJdXVsxXSs2Kih0W3JbMl1dWzFdK3Rbcls3XV1bMV0pLTIqKHRbclswXV1bMV0rdFtyWzE1XV1bMV0pKzMqKHRbcls0XV1bMV0rdFtyWzE0XV1bMV0pKS85XSk7cls5XT10Lmxlbmd0aDt0LnB1c2goWygtNCp0W3JbMTJdXVswXS10W3JbM11dWzBdKzYqKHRbcls4XV1bMF0rdFtyWzEzXV1bMF0pLTIqKHRbclswXV1bMF0rdFtyWzE1XV1bMF0pKzMqKHRbclsxMV1dWzBdK3RbclsxXV1bMF0pKS85LCgtNCp0W3JbMTJdXVsxXS10W3JbM11dWzFdKzYqKHRbcls4XV1bMV0rdFtyWzEzXV1bMV0pLTIqKHRbclswXV1bMV0rdFtyWzE1XV1bMV0pKzMqKHRbclsxMV1dWzFdK3RbclsxXV1bMV0pKS85XSk7clsxMF09dC5sZW5ndGg7dC5wdXNoKFsoLTQqdFtyWzE1XV1bMF0tdFtyWzBdXVswXSs2Kih0W3JbMTFdXVswXSt0W3JbMTRdXVswXSktMioodFtyWzEyXV1bMF0rdFtyWzNdXVswXSkrMyoodFtyWzJdXVswXSt0W3JbOF1dWzBdKSkvOSwoLTQqdFtyWzE1XV1bMV0tdFtyWzBdXVsxXSs2Kih0W3JbMTFdXVsxXSt0W3JbMTRdXVsxXSktMioodFtyWzEyXV1bMV0rdFtyWzNdXVsxXSkrMyoodFtyWzJdXVsxXSt0W3JbOF1dWzFdKSkvOV0pO3RoaXMuZmlndXJlcy5wdXNoKHt0eXBlOiJwYXRjaCIsY29vcmRzOm5ldyBJbnQzMkFycmF5KHIpLGNvbG9yczpuZXcgSW50MzJBcnJheShpKX0pfX1fZGVjb2RlVHlwZTdTaGFkaW5nKGUpe2NvbnN0IHQ9dGhpcy5jb29yZHMsYT10aGlzLmNvbG9ycyxyPW5ldyBJbnQzMkFycmF5KDE2KSxpPW5ldyBJbnQzMkFycmF5KDQpO2Zvcig7ZS5oYXNEYXRhOyl7Y29uc3Qgbj1lLnJlYWRGbGFnKCk7aWYoISgwPD1uJiZuPD0zKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlVua25vd24gdHlwZTcgZmxhZyIpO2NvbnN0IHM9dC5sZW5ndGg7Zm9yKGxldCBhPTAscj0wIT09bj8xMjoxNjthPHI7YSsrKXQucHVzaChlLnJlYWRDb29yZGluYXRlKCkpO2NvbnN0IG89YS5sZW5ndGg7Zm9yKGxldCB0PTAscj0wIT09bj8yOjQ7dDxyO3QrKylhLnB1c2goZS5yZWFkQ29tcG9uZW50cygpKTtsZXQgYyxsLGgsdTtzd2l0Y2gobil7Y2FzZSAwOnJbMTJdPXMrMztyWzEzXT1zKzQ7clsxNF09cys1O3JbMTVdPXMrNjtyWzhdPXMrMjtyWzldPXMrMTM7clsxMF09cysxNDtyWzExXT1zKzc7cls0XT1zKzE7cls1XT1zKzEyO3JbNl09cysxNTtyWzddPXMrODtyWzBdPXM7clsxXT1zKzExO3JbMl09cysxMDtyWzNdPXMrOTtpWzJdPW8rMTtpWzNdPW8rMjtpWzBdPW87aVsxXT1vKzM7YnJlYWs7Y2FzZSAxOmM9clsxMl07bD1yWzEzXTtoPXJbMTRdO3U9clsxNV07clsxMl09dTtyWzEzXT1zKzA7clsxNF09cysxO3JbMTVdPXMrMjtyWzhdPWg7cls5XT1zKzk7clsxMF09cysxMDtyWzExXT1zKzM7cls0XT1sO3JbNV09cys4O3JbNl09cysxMTtyWzddPXMrNDtyWzBdPWM7clsxXT1zKzc7clsyXT1zKzY7clszXT1zKzU7Yz1pWzJdO2w9aVszXTtpWzJdPWw7aVszXT1vO2lbMF09YztpWzFdPW8rMTticmVhaztjYXNlIDI6Yz1yWzE1XTtsPXJbMTFdO3JbMTJdPXJbM107clsxM109cyswO3JbMTRdPXMrMTtyWzE1XT1zKzI7cls4XT1yWzddO3JbOV09cys5O3JbMTBdPXMrMTA7clsxMV09cyszO3JbNF09bDtyWzVdPXMrODtyWzZdPXMrMTE7cls3XT1zKzQ7clswXT1jO3JbMV09cys3O3JbMl09cys2O3JbM109cys1O2M9aVszXTtpWzJdPWlbMV07aVszXT1vO2lbMF09YztpWzFdPW8rMTticmVhaztjYXNlIDM6clsxMl09clswXTtyWzEzXT1zKzA7clsxNF09cysxO3JbMTVdPXMrMjtyWzhdPXJbMV07cls5XT1zKzk7clsxMF09cysxMDtyWzExXT1zKzM7cls0XT1yWzJdO3JbNV09cys4O3JbNl09cysxMTtyWzddPXMrNDtyWzBdPXJbM107clsxXT1zKzc7clsyXT1zKzY7clszXT1zKzU7aVsyXT1pWzBdO2lbM109bztpWzBdPWlbMV07aVsxXT1vKzF9dGhpcy5maWd1cmVzLnB1c2goe3R5cGU6InBhdGNoIixjb29yZHM6bmV3IEludDMyQXJyYXkociksY29sb3JzOm5ldyBJbnQzMkFycmF5KGkpfSl9fV9idWlsZEZpZ3VyZUZyb21QYXRjaChlKXtjb25zdCB0PXRoaXMuZmlndXJlc1tlXTthc3NlcnQoInBhdGNoIj09PXQudHlwZSwiVW5leHBlY3RlZCBwYXRjaCBtZXNoIGZpZ3VyZSIpO2NvbnN0IGE9dGhpcy5jb29yZHMscj10aGlzLmNvbG9ycyxpPXQuY29vcmRzLG49dC5jb2xvcnMscz1NYXRoLm1pbihhW2lbMF1dWzBdLGFbaVszXV1bMF0sYVtpWzEyXV1bMF0sYVtpWzE1XV1bMF0pLG89TWF0aC5taW4oYVtpWzBdXVsxXSxhW2lbM11dWzFdLGFbaVsxMl1dWzFdLGFbaVsxNV1dWzFdKSxjPU1hdGgubWF4KGFbaVswXV1bMF0sYVtpWzNdXVswXSxhW2lbMTJdXVswXSxhW2lbMTVdXVswXSksbD1NYXRoLm1heChhW2lbMF1dWzFdLGFbaVszXV1bMV0sYVtpWzEyXV1bMV0sYVtpWzE1XV1bMV0pO2xldCBoPU1hdGguY2VpbCgoYy1zKSpNZXNoU2hhZGluZy5UUklBTkdMRV9ERU5TSVRZLyh0aGlzLmJvdW5kc1syXS10aGlzLmJvdW5kc1swXSkpO2g9TWF0aENsYW1wKGgsTWVzaFNoYWRpbmcuTUlOX1NQTElUX1BBVENIX0NIVU5LU19BTU9VTlQsTWVzaFNoYWRpbmcuTUFYX1NQTElUX1BBVENIX0NIVU5LU19BTU9VTlQpO2xldCB1PU1hdGguY2VpbCgobC1vKSpNZXNoU2hhZGluZy5UUklBTkdMRV9ERU5TSVRZLyh0aGlzLmJvdW5kc1szXS10aGlzLmJvdW5kc1sxXSkpO3U9TWF0aENsYW1wKHUsTWVzaFNoYWRpbmcuTUlOX1NQTElUX1BBVENIX0NIVU5LU19BTU9VTlQsTWVzaFNoYWRpbmcuTUFYX1NQTElUX1BBVENIX0NIVU5LU19BTU9VTlQpO2NvbnN0IGQ9aCsxLGY9bmV3IEludDMyQXJyYXkoKHUrMSkqZCksZz1uZXcgSW50MzJBcnJheSgodSsxKSpkKTtsZXQgcD0wO2NvbnN0IG09bmV3IFVpbnQ4QXJyYXkoMyksYj1uZXcgVWludDhBcnJheSgzKSx5PXJbblswXV0sdz1yW25bMV1dLHg9cltuWzJdXSxTPXJbblszXV0saz1nZXRCKHUpLEM9Z2V0QihoKTtmb3IobGV0IGU9MDtlPD11O2UrKyl7bVswXT0oeVswXSoodS1lKSt4WzBdKmUpL3V8MDttWzFdPSh5WzFdKih1LWUpK3hbMV0qZSkvdXwwO21bMl09KHlbMl0qKHUtZSkreFsyXSplKS91fDA7YlswXT0od1swXSoodS1lKStTWzBdKmUpL3V8MDtiWzFdPSh3WzFdKih1LWUpK1NbMV0qZSkvdXwwO2JbMl09KHdbMl0qKHUtZSkrU1syXSplKS91fDA7Zm9yKGxldCB0PTA7dDw9aDt0KysscCsrKXtpZighKDAhPT1lJiZlIT09dXx8MCE9PXQmJnQhPT1oKSljb250aW51ZTtsZXQgbj0wLHM9MCxvPTA7Zm9yKGxldCByPTA7cjw9MztyKyspZm9yKGxldCBjPTA7Yzw9MztjKyssbysrKXtjb25zdCBsPWtbZV1bcl0qQ1t0XVtjXTtuKz1hW2lbb11dWzBdKmw7cys9YVtpW29dXVsxXSpsfWZbcF09YS5sZW5ndGg7YS5wdXNoKFtuLHNdKTtnW3BdPXIubGVuZ3RoO2NvbnN0IGM9bmV3IFVpbnQ4QXJyYXkoMyk7Y1swXT0obVswXSooaC10KStiWzBdKnQpL2h8MDtjWzFdPShtWzFdKihoLXQpK2JbMV0qdCkvaHwwO2NbMl09KG1bMl0qKGgtdCkrYlsyXSp0KS9ofDA7ci5wdXNoKGMpfX1mWzBdPWlbMF07Z1swXT1uWzBdO2ZbaF09aVszXTtnW2hdPW5bMV07ZltkKnVdPWlbMTJdO2dbZCp1XT1uWzJdO2ZbZCp1K2hdPWlbMTVdO2dbZCp1K2hdPW5bM107dGhpcy5maWd1cmVzW2VdPXt0eXBlOiJsYXR0aWNlIixjb29yZHM6Zixjb2xvcnM6Zyx2ZXJ0aWNlc1BlclJvdzpkfX1fdXBkYXRlQm91bmRzKCl7bGV0IGU9dGhpcy5jb29yZHNbMF1bMF0sdD10aGlzLmNvb3Jkc1swXVsxXSxhPWUscj10O2ZvcihsZXQgaT0xLG49dGhpcy5jb29yZHMubGVuZ3RoO2k8bjtpKyspe2NvbnN0IG49dGhpcy5jb29yZHNbaV1bMF0scz10aGlzLmNvb3Jkc1tpXVsxXTtlPWU+bj9uOmU7dD10PnM/czp0O2E9YTxuP246YTtyPXI8cz9zOnJ9dGhpcy5ib3VuZHM9W2UsdCxhLHJdfV9wYWNrRGF0YSgpe2xldCBlLHQsYSxyO2NvbnN0IGk9dGhpcy5jb29yZHMsbj1uZXcgRmxvYXQzMkFycmF5KDIqaS5sZW5ndGgpO2ZvcihlPTAsYT0wLHQ9aS5sZW5ndGg7ZTx0O2UrKyl7Y29uc3QgdD1pW2VdO25bYSsrXT10WzBdO25bYSsrXT10WzFdfXRoaXMuY29vcmRzPW47Y29uc3Qgcz10aGlzLmNvbG9ycyxvPW5ldyBVaW50OEFycmF5KDMqcy5sZW5ndGgpO2ZvcihlPTAsYT0wLHQ9cy5sZW5ndGg7ZTx0O2UrKyl7Y29uc3QgdD1zW2VdO29bYSsrXT10WzBdO29bYSsrXT10WzFdO29bYSsrXT10WzJdfXRoaXMuY29sb3JzPW87Y29uc3QgYz10aGlzLmZpZ3VyZXM7Zm9yKGU9MCx0PWMubGVuZ3RoO2U8dDtlKyspe2NvbnN0IHQ9Y1tlXSxpPXQuY29vcmRzLG49dC5jb2xvcnM7Zm9yKGE9MCxyPWkubGVuZ3RoO2E8cjthKyspe2lbYV0qPTI7blthXSo9M319fWdldElSKCl7Y29uc3R7Ym91bmRzOmV9PXRoaXM7aWYoZVsyXS1lWzBdPT0wfHxlWzNdLWVbMV09PTApdGhyb3cgbmV3IEZvcm1hdEVycm9yKGBJbnZhbGlkIE1lc2hTaGFkaW5nIGJvdW5kczogWyR7ZX1dLmApO3JldHVyblsiTWVzaCIsdGhpcy5zaGFkaW5nVHlwZSx0aGlzLmNvb3Jkcyx0aGlzLmNvbG9ycyx0aGlzLmZpZ3VyZXMsZSx0aGlzLmJib3gsdGhpcy5iYWNrZ3JvdW5kXX19Y2xhc3MgRHVtbXlTaGFkaW5nIGV4dGVuZHMgQmFzZVNoYWRpbmd7Z2V0SVIoKXtyZXR1cm5bIkR1bW15Il19fWZ1bmN0aW9uIGdldFRpbGluZ1BhdHRlcm5JUihlLHQsYSl7Y29uc3Qgcj1sb29rdXBNYXRyaXgodC5nZXRBcnJheSgiTWF0cml4IiksbGEpLGk9bG9va3VwTm9ybWFsUmVjdCh0LmdldEFycmF5KCJCQm94IiksbnVsbCk7aWYoIWl8fGlbMl0taVswXT09MHx8aVszXS1pWzFdPT0wKXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCBnZXRUaWxpbmdQYXR0ZXJuSVIgL0JCb3ggYXJyYXkuIik7Y29uc3Qgbj10LmdldCgiWFN0ZXAiKTtpZigibnVtYmVyIiE9dHlwZW9mIG4pdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIGdldFRpbGluZ1BhdHRlcm5JUiAvWFN0ZXAgdmFsdWUuIik7Y29uc3Qgcz10LmdldCgiWVN0ZXAiKTtpZigibnVtYmVyIiE9dHlwZW9mIHMpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIGdldFRpbGluZ1BhdHRlcm5JUiAvWVN0ZXAgdmFsdWUuIik7Y29uc3Qgbz10LmdldCgiUGFpbnRUeXBlIik7aWYoIU51bWJlci5pc0ludGVnZXIobykpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIGdldFRpbGluZ1BhdHRlcm5JUiAvUGFpbnRUeXBlIHZhbHVlLiIpO2NvbnN0IGM9dC5nZXQoIlRpbGluZ1R5cGUiKTtpZighTnVtYmVyLmlzSW50ZWdlcihjKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkludmFsaWQgZ2V0VGlsaW5nUGF0dGVybklSIC9UaWxpbmdUeXBlIHZhbHVlLiIpO3JldHVyblsiVGlsaW5nUGF0dGVybiIsYSxlLHIsaSxuLHMsbyxjXX1jb25zdCB1aT1bMS4zODc3LDEsMSwxLC45NzgwMSwuOTI0ODIsLjg5NTUyLC45MTEzMywuODE5ODgsLjk3NTY2LC45ODE1MiwuOTM1NDgsLjkzNTQ4LDEuMjc5OCwuODUyODQsLjkyNzk0LDEsLjk2MTM0LDEuNTQ2NTcsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC44Mjg0NSwuODI4NDUsLjg1Mjg0LC44NTI4NCwuODUyODQsLjc1ODU5LC45MjEzOCwuODM5MDgsLjc3NjIsLjczMjkzLC44NzI4OSwuNzMxMzMsLjc1MTQsLjgxOTIxLC44NzM1NiwuOTU5NTgsLjU5NTI2LC43NTcyNywuNjkyMjUsMS4wNDkyNCwuOTEyMSwuODY5NDMsLjc5Nzk1LC44ODE5OCwuNzc5NTgsLjcwODY0LC44MTA1NSwuOTAzOTksLjg4NjUzLC45NjAxNywuODI1NzcsLjc3ODkyLC43ODI1NywuOTc1MDcsMS41NDY1NywuOTc1MDcsLjg1Mjg0LC44OTU1MiwuOTAxNzYsLjg4NzYyLC44Nzg1LC43NTI0MSwuODc4NSwuOTA1MTgsLjk1MDE1LC43NzYxOCwuODc4NSwuODg0MDEsLjkxOTE2LC44NjMwNCwuODg0MDEsLjkxNDg4LC44Nzg1LC44ODAxLC44Nzg1LC44Nzg1LC45MTM0MywuNzE3MywxLjA0MTA2LC44Nzg1LC44NTA3NSwuOTU3OTQsLjgyNjE2LC44NTE2MiwuNzk0OTIsLjg4MzMxLDEuNjk4MDgsLjg4MzMxLC44NTI4NCwuOTc4MDEsLjg5NTUyLC45MTEzMywuODk1NTIsLjkxMTMzLDEuNzgwMSwuODk1NTIsMS4yNDQ4NywxLjEzMjU0LDEuMTI0MDEsLjk2ODM5LC44NTI4NCwuNjg3ODcsLjcwNjQ1LC44NTU5MiwuOTA3NDcsMS4wMTQ2NiwxLjAwODgsLjkwMzIzLDEsMS4wNzQ2MywxLC45MTA1NiwuNzU4MDYsMS4xOTExOCwuOTY4MzksLjc4ODY0LC44Mjg0NSwuODQxMzMsLjc1ODU5LC44MzkwOCwuODM5MDgsLjgzOTA4LC44MzkwOCwuODM5MDgsLjgzOTA4LC43NzUzOSwuNzMyOTMsLjczMTMzLC43MzEzMywuNzMxMzMsLjczMTMzLC45NTk1OCwuOTU5NTgsLjk1OTU4LC45NTk1OCwuODg1MDYsLjkxMjEsLjg2OTQzLC44Njk0MywuODY5NDMsLjg2OTQzLC44Njk0MywuODUyODQsLjg3NTA4LC45MDM5OSwuOTAzOTksLjkwMzk5LC45MDM5OSwuNzc4OTIsLjc5Nzk1LC45MDgwNywuODg3NjIsLjg4NzYyLC44ODc2MiwuODg3NjIsLjg4NzYyLC44ODc2MiwuODcxNSwuNzUyNDEsLjkwNTE4LC45MDUxOCwuOTA1MTgsLjkwNTE4LC44ODQwMSwuODg0MDEsLjg4NDAxLC44ODQwMSwuODc4NSwuODc4NSwuODgwMSwuODgwMSwuODgwMSwuODgwMSwuODgwMSwuOTA3NDcsLjg5MDQ5LC44Nzg1LC44Nzg1LC44Nzg1LC44Nzg1LC44NTE2MiwuODc4NSwuODUxNjIsLjgzOTA4LC44ODc2MiwuODM5MDgsLjg4NzYyLC44MzkwOCwuODg3NjIsLjczMjkzLC43NTI0MSwuNzMyOTMsLjc1MjQxLC43MzI5MywuNzUyNDEsLjczMjkzLC43NTI0MSwuODcyODksLjgzMDE2LC44ODUwNiwuOTMxMjUsLjczMTMzLC45MDUxOCwuNzMxMzMsLjkwNTE4LC43MzEzMywuOTA1MTgsLjczMTMzLC45MDUxOCwuNzMxMzMsLjkwNTE4LC44MTkyMSwuNzc2MTgsLjgxOTIxLC43NzYxOCwuODE5MjEsLjc3NjE4LDEsMSwuODczNTYsLjg3ODUsLjkxMDc1LC44OTYwOCwuOTU5NTgsLjg4NDAxLC45NTk1OCwuODg0MDEsLjk1OTU4LC44ODQwMSwuOTU5NTgsLjg4NDAxLC45NTk1OCwuODg0MDEsLjc2MjI5LC45MDE2NywuNTk1MjYsLjkxOTE2LDEsMSwuODYzMDQsLjY5MjI1LC44ODQwMSwxLDEsLjcwNDI0LC43OTQ2OCwuOTE5MjYsLjg4MTc1LC43MDgyMywuOTQ5MDMsLjkxMjEsLjg3ODUsMSwxLC45MTIxLC44Nzg1LC44NzgwMiwuODg2NTYsLjg3ODUsLjg2OTQzLC44ODAxLC44Njk0MywuODgwMSwuODY5NDMsLjg4MDEsLjg3NDAyLC44OTI5MSwuNzc5NTgsLjkxMzQzLDEsMSwuNzc5NTgsLjkxMzQzLC43MDg2NCwuNzE3MywuNzA4NjQsLjcxNzMsLjcwODY0LC43MTczLC43MDg2NCwuNzE3MywxLDEsLjgxMDU1LC43NTg0MSwuODEwNTUsMS4wNjQ1MiwuOTAzOTksLjg3ODUsLjkwMzk5LC44Nzg1LC45MDM5OSwuODc4NSwuOTAzOTksLjg3ODUsLjkwMzk5LC44Nzg1LC45MDM5OSwuODc4NSwuOTYwMTcsLjk1Nzk0LC43Nzg5MiwuODUxNjIsLjc3ODkyLC43ODI1NywuNzk0OTIsLjc4MjU3LC43OTQ5MiwuNzgyNTcsLjc5NDkyLC45Mjk3LC41Njg5MiwuODM5MDgsLjg4NzYyLC43NzUzOSwuODcxNSwuODc1MDgsLjg5MDQ5LDEsMSwuODEwNTUsMS4wNDEwNiwxLjIwNTI4LDEuMjA1MjgsMSwxLjE1NTQzLC43MDY3NCwuOTgzODcsLjk0NzIxLDEuMzM0MzEsMS40NTg5NCwuOTUxNjEsMS4wNjMwMywuODM5MDgsLjgwMzUyLC41NzE4NCwuNjk2NSwuNTYyODksLjgyMDAxLC41NjAyOSwuODEyMzUsMS4wMjk4OCwuODM5MDgsLjc3NjIsLjY4MTU2LC44MDM2NywuNzMxMzMsLjc4MjU3LC44NzM1NiwuODY5NDMsLjk1OTU4LC43NTcyNywuODkwMTksMS4wNDkyNCwuOTEyMSwuNzY0OCwuODY5NDMsLjg3MzU2LC43OTc5NSwuNzgyNzUsLjgxMDU1LC43Nzg5MiwuOTc2MiwuODI1NzcsLjk5ODE5LC44NDg5NiwuOTU5NTgsLjc3ODkyLC45NjEwOCwxLjAxNDA3LC44OTA0OSwxLjAyOTg4LC45NDIxMSwuOTYxMDgsLjg5MzYsLjg0MDIxLC44Nzg0MiwuOTYzOTksLjc5MTA5LC44OTA0OSwxLjAwODEzLDEuMDI5ODgsLjg2MDc3LC44NzQ0NSwuOTIwOTksLjg0NzIzLC44NjUxMywuODgwMSwuNzU2MzgsLjg1NzE0LC43ODIxNiwuNzk1ODYsLjg3OTY1LC45NDIxMSwuOTc3NDcsLjc4Mjg3LC45NzkyNiwuODQ5NzEsMS4wMjk4OCwuOTQyMTEsLjg4MDEsLjk0MjExLC44NDk3MSwuNzMxMzMsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjkwMjY0LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC45MDUxOCwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuOTA1NDgsMSwxLDEsMSwxLDEsLjk2MDE3LC45NTc5NCwuOTYwMTcsLjk1Nzk0LC45NjAxNywuOTU3OTQsLjc3ODkyLC44NTE2MiwxLDEsLjg5NTUyLC45MDUyNywxLC45MDM2MywuOTI3OTQsLjkyNzk0LC45Mjc5NCwuOTI3OTQsLjg3MDEyLC44NzAxMiwuODcwMTIsLjg5NTUyLC44OTU1MiwxLjQyMjU5LC43MTE0MywxLjA2MTUyLDEsMSwxLjAzMzcyLDEuMDMzNzIsLjk3MTcxLDEuNDk1NiwyLjI4MDcsLjkzODM1LC44MzQwNiwuOTExMzMsLjg0MTA3LC45MTEzMywxLDEsMSwuNzIwMjEsMSwxLjIzMTA4LC44MzQ4OSwuODg1MjUsLjg4NTI1LC44MTQ5OSwuOTA1MjcsMS44MTA1NSwuOTA1MjcsMS44MTA1NSwxLjMxMDA2LDEuNTM3MTEsLjk0NDM0LDEuMDg2OTYsMSwuOTUwMTgsLjc3MTkyLC44NTI4NCwuOTA3NDcsMS4xNzUzNCwuNjk4MjUsLjk3MTYsMS4zNzA3NywuOTA3NDcsLjkwNzQ3LC44NTM1NiwuOTA3NDcsLjkwNzQ3LDEuNDQ5NDcsLjg1Mjg0LC44OTQxLC44OTQxLC43MDU3MiwuOCwuNzA1NzIsLjcwNTcyLC43MDU3MiwuNzA1NzIsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC45OTg2MiwuOTk4NjIsMSwxLDEsMSwxLDEuMDgwMDQsLjkxMDI3LDEsMSwxLC45OTg2MiwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuOTA3MjcsLjkwNzI3LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxXSxkaT17bGluZUhlaWdodDoxLjIyMDcsbGluZUdhcDouMjIwN30sZmk9WzEuMzg3NywxLDEsMSwuOTc4MDEsLjkyNDgyLC44OTU1MiwuOTExMzMsLjgxOTg4LC45NzU2NiwuOTgxNTIsLjkzNTQ4LC45MzU0OCwxLjI3OTgsLjg1Mjg0LC45Mjc5NCwxLC45NjEzNCwxLjU2MjM5LC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuODI4NDUsLjgyODQ1LC44NTI4NCwuODUyODQsLjg1Mjg0LC43NTg1OSwuOTIxMzgsLjgzOTA4LC43NzYyLC43MTgwNSwuODcyODksLjczMTMzLC43NTE0LC44MTkyMSwuODczNTYsLjk1OTU4LC41OTUyNiwuNzU3MjcsLjY5MjI1LDEuMDQ5MjQsLjkwODcyLC44NTkzOCwuNzk3OTUsLjg3MDY4LC43Nzk1OCwuNjk3NjYsLjgxMDU1LC45MDM5OSwuODg2NTMsLjk2MDY4LC44MjU3NywuNzc4OTIsLjc4MjU3LC45NzUwNywxLjUyOSwuOTc1MDcsLjg1Mjg0LC44OTU1MiwuOTAxNzYsLjk0OTA4LC44NjQxMSwuNzQwMTIsLjg2NDExLC44ODMyMywuOTUwMTUsLjg2NDExLC44NjMzMSwuODg0MDEsLjkxOTE2LC44NjMwNCwuODg0MDEsLjkwMzksLjg2MzMxLC44NjMzMSwuODY0MTEsLjg2NDExLC45MDQ2NCwuNzA4NTIsMS4wNDEwNiwuODYzMzEsLjg0MzcyLC45NTc5NCwuODI2MTYsLjg0NTQ4LC43OTQ5MiwuODgzMzEsMS42OTgwOCwuODgzMzEsLjg1Mjg0LC45NzgwMSwuODk1NTIsLjkxMTMzLC44OTU1MiwuOTExMzMsMS43ODAxLC44OTU1MiwxLjI0NDg3LDEuMTMyNTQsMS4xOTEyOSwuOTY4MzksLjg1Mjg0LC42ODc4NywuNzA2NDUsLjg1NTkyLC45MDc0NywxLjAxNDY2LDEuMDA4OCwuOTAzMjMsMSwxLjA3NDYzLDEsLjkxMDU2LC43NTgwNiwxLjE5MTE4LC45NjgzOSwuNzg4NjQsLjgyODQ1LC44NDEzMywuNzU4NTksLjgzOTA4LC44MzkwOCwuODM5MDgsLjgzOTA4LC44MzkwOCwuODM5MDgsLjc3NTM5LC43MTgwNSwuNzMxMzMsLjczMTMzLC43MzEzMywuNzMxMzMsLjk1OTU4LC45NTk1OCwuOTU5NTgsLjk1OTU4LC44ODUwNiwuOTA4NzIsLjg1OTM4LC44NTkzOCwuODU5MzgsLjg1OTM4LC44NTkzOCwuODUyODQsLjg3MDY4LC45MDM5OSwuOTAzOTksLjkwMzk5LC45MDM5OSwuNzc4OTIsLjc5Nzk1LC45MDgwNywuOTQ5MDgsLjk0OTA4LC45NDkwOCwuOTQ5MDgsLjk0OTA4LC45NDkwOCwuODU4ODcsLjc0MDEyLC44ODMyMywuODgzMjMsLjg4MzIzLC44ODMyMywuODg0MDEsLjg4NDAxLC44ODQwMSwuODg0MDEsLjg3ODUsLjg2MzMxLC44NjMzMSwuODYzMzEsLjg2MzMxLC44NjMzMSwuODYzMzEsLjkwNzQ3LC44OTA0OSwuODYzMzEsLjg2MzMxLC44NjMzMSwuODYzMzEsLjg0NTQ4LC44NjQxMSwuODQ1NDgsLjgzOTA4LC45NDkwOCwuODM5MDgsLjk0OTA4LC44MzkwOCwuOTQ5MDgsLjcxODA1LC43NDAxMiwuNzE4MDUsLjc0MDEyLC43MTgwNSwuNzQwMTIsLjcxODA1LC43NDAxMiwuODcyODksLjc5NTM4LC44ODUwNiwuOTI3MjYsLjczMTMzLC44ODMyMywuNzMxMzMsLjg4MzIzLC43MzEzMywuODgzMjMsLjczMTMzLC44ODMyMywuNzMxMzMsLjg4MzIzLC44MTkyMSwuODY0MTEsLjgxOTIxLC44NjQxMSwuODE5MjEsLjg2NDExLDEsMSwuODczNTYsLjg2MzMxLC45MTA3NSwuODc3NywuOTU5NTgsLjg4NDAxLC45NTk1OCwuODg0MDEsLjk1OTU4LC44ODQwMSwuOTU5NTgsLjg4NDAxLC45NTk1OCwuODg0MDEsLjc2NDY3LC45MDE2NywuNTk1MjYsLjkxOTE2LDEsMSwuODYzMDQsLjY5MjI1LC44ODQwMSwxLDEsLjcwNDI0LC43NzMxMiwuOTE5MjYsLjg4MTc1LC43MDgyMywuOTQ5MDMsLjkwODcyLC44NjMzMSwxLDEsLjkwODcyLC44NjMzMSwuODY5MDYsLjg4MTE2LC44NjMzMSwuODU5MzgsLjg2MzMxLC44NTkzOCwuODYzMzEsLjg1OTM4LC44NjMzMSwuODc0MDIsLjg2NTQ5LC43Nzk1OCwuOTA0NjQsMSwxLC43Nzk1OCwuOTA0NjQsLjY5NzY2LC43MDg1MiwuNjk3NjYsLjcwODUyLC42OTc2NiwuNzA4NTIsLjY5NzY2LC43MDg1MiwxLDEsLjgxMDU1LC43NTg0MSwuODEwNTUsMS4wNjQ1MiwuOTAzOTksLjg2MzMxLC45MDM5OSwuODYzMzEsLjkwMzk5LC44NjMzMSwuOTAzOTksLjg2MzMxLC45MDM5OSwuODYzMzEsLjkwMzk5LC44NjMzMSwuOTYwNjgsLjk1Nzk0LC43Nzg5MiwuODQ1NDgsLjc3ODkyLC43ODI1NywuNzk0OTIsLjc4MjU3LC43OTQ5MiwuNzgyNTcsLjc5NDkyLC45Mjk3LC41Njg5MiwuODM5MDgsLjk0OTA4LC43NzUzOSwuODU4ODcsLjg3MDY4LC44OTA0OSwxLDEsLjgxMDU1LDEuMDQxMDYsMS4yMDUyOCwxLjIwNTI4LDEsMS4xNTU0MywuNzAwODgsLjk4Mzg3LC45NDcyMSwxLjMzNDMxLDEuNDU4OTQsLjk1MTYxLDEuNDgzODcsLjgzOTA4LC44MDM1MiwuNTcxMTgsLjY5NjUsLjU2MzQ3LC43OTE3OSwuNTU4NTMsLjgwMzQ2LDEuMDI5ODgsLjgzOTA4LC43NzYyLC42NzE3NCwuODYwMzYsLjczMTMzLC43ODI1NywuODczNTYsLjg2NDQxLC45NTk1OCwuNzU3MjcsLjg5MDE5LDEuMDQ5MjQsLjkwODcyLC43NDg4OSwuODU5MzgsLjg3ODkxLC43OTc5NSwuNzk1NywuODEwNTUsLjc3ODkyLC45NzQ0NywuODI1NzcsLjk3NDY2LC44NzE3OSwuOTU5NTgsLjc3ODkyLC45NDI1MiwuOTU2MTIsLjg3NTMsMS4wMjk4OCwuOTI3MzMsLjk0MjUyLC44NzQxMSwuODQwMjEsLjg3MjgsLjk1NjEyLC43NDA4MSwuODc1MywxLjAyMTg5LDEuMDI5ODgsLjg0ODE0LC44NzQ0NSwuOTE4MjIsLjg0NzIzLC44NTY2OCwuODYzMzEsLjgxMzQ0LC44NzU4MSwuNzY0MjIsLjgyMDQ2LC45NjA1NywuOTI3MzMsLjk5Mzc1LC43ODAyMiwuOTU0NTIsLjg2MDE1LDEuMDI5ODgsLjkyNzMzLC44NjMzMSwuOTI3MzMsLjg2MDE1LC43MzEzMywxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuOTA2MzEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjg4MzIzLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC44NTE3NCwxLDEsMSwxLDEsMSwuOTYwNjgsLjk1Nzk0LC45NjA2OCwuOTU3OTQsLjk2MDY4LC45NTc5NCwuNzc4OTIsLjg0NTQ4LDEsMSwuODk1NTIsLjkwNTI3LDEsLjkwMzYzLC45Mjc5NCwuOTI3OTQsLjkyNzk0LC44OTgwNywuODcwMTIsLjg3MDEyLC44NzAxMiwuODk1NTIsLjg5NTUyLDEuNDIyNTksLjcxMDk0LDEuMDYxNTIsMSwxLDEuMDMzNzIsMS4wMzM3MiwuOTcxNzEsMS40OTU2LDIuMjgwNywuOTI5NzIsLjgzNDA2LC45MTEzMywuODMzMjYsLjkxMTMzLDEsMSwxLC43MjAyMSwxLDEuMjMxMDgsLjgzNDg5LC44ODUyNSwuODg1MjUsLjgxNDk5LC45MDYxNiwxLjgxMDU1LC45MDUyNywxLjgxMDU1LDEuMzEwNywxLjUzNzExLC45NDQzNCwxLjA4Njk2LDEsLjk1MDE4LC43NzE5MiwuODUyODQsLjkwNzQ3LDEuMTc1MzQsLjY5ODI1LC45NzE2LDEuMzcwNzcsLjkwNzQ3LC45MDc0NywuODUzNTYsLjkwNzQ3LC45MDc0NywxLjQ0OTQ3LC44NTI4NCwuODk0MSwuODk0MSwuNzA1NzIsLjgsLjcwNTcyLC43MDU3MiwuNzA1NzIsLjcwNTcyLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuOTk4NjIsLjk5ODYyLDEsMSwxLDEsMSwxLjA4MDA0LC45MTAyNywxLDEsMSwuOTk4NjIsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjkwNzI3LC45MDcyNywxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMV0sZ2k9e2xpbmVIZWlnaHQ6MS4yMjA3LGxpbmVHYXA6LjIyMDd9LHBpPVsxLjM4NzcsMSwxLDEsMS4xNzIyMywxLjEyOTMsLjg5NTUyLC45MTEzMywuODAzOTUsMS4wMjI2OSwxLjE1NjAxLC45MTA1NiwuOTEwNTYsMS4yNzk4LC44NTI4NCwuODk4MDcsMSwuOTA4NjEsMS4zOTU0MywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjk2MzA5LC45NjMwOSwuODUyODQsLjg1Mjg0LC44NTI4NCwuODMzMTksLjg4MDcxLC44Njc1LC44MTU1MiwuNzIzNDYsLjg1MTkzLC43MzIwNiwuNzUyMiwuODExMDUsLjg2Mjc1LC45MDY4NSwuNjM3NywuNzc4OTIsLjc1NTkzLDEuMDI2MzgsLjg5MjQ5LC44NDExOCwuNzc0NTIsLjg1Mzc0LC43NTE4NiwuNjc3ODksLjc5Nzc2LC44ODg0NCwuODUwNjYsLjk0MzA5LC43NzgxOCwuNzMwNiwuNzY2NTksMS4xMDM2OSwxLjM4MzEzLDEuMTAzNjksMS4wNjEzOSwuODk1NTIsLjg3MzksLjkyNDUsLjkyNDUsLjgzMjAzLC45MjQ1LC44NTg2NSwxLjA5ODQyLC45MjQ1LC45MjQ1LDEuMDMyOTcsMS4wNzY5MiwuOTA5MTgsMS4wMzI5NywuOTQ5NTksLjkyNDUsLjkyMjc0LC45MjQ1LC45MjQ1LDEuMDI5MzMsLjc3ODMyLDEuMjA1NjIsLjkyNDUsLjg5MTYsLjk4OTg2LC44NjYyMSwuODk0NTMsLjc5MDA0LC45NDE1MiwxLjc3MjU2LC45NDE1MiwuODUyODQsLjk3ODAxLC44OTU1MiwuOTExMzMsLjg5NTUyLC45MTEzMywxLjkxNzI5LC44OTU1MiwxLjE3ODg5LDEuMTMyNTQsMS4xNjM1OSwuOTIwOTgsLjg1Mjg0LC42ODc4NywuNzEzNTMsLjg0NzM3LC45MDc0NywxLjAwODgsMS4wMDQ0LC44NzY4MywxLDEuMDkwOTEsMSwuOTIyMjksLjczOSwxLjE1NjQyLC45MjA5OCwuNzYyODgsLjgwNTA0LC44MDk3MiwuNzU4NTksLjg2NzUsLjg2NzUsLjg2NzUsLjg2NzUsLjg2NzUsLjg2NzUsLjc2MzE4LC43MjM0NiwuNzMyMDYsLjczMjA2LC43MzIwNiwuNzMyMDYsLjkwNjg1LC45MDY4NSwuOTA2ODUsLjkwNjg1LC44NjQ3NywuODkyNDksLjg0MTE4LC44NDExOCwuODQxMTgsLjg0MTE4LC44NDExOCwuODUyODQsLjg0NTU3LC44ODg0NCwuODg4NDQsLjg4ODQ0LC44ODg0NCwuNzMwNiwuNzc0NTIsLjg2MzMxLC45MjQ1LC45MjQ1LC45MjQ1LC45MjQ1LC45MjQ1LC45MjQ1LC44NDg0MywuODMyMDMsLjg1ODY1LC44NTg2NSwuODU4NjUsLjg1ODY1LC44MjYwMSwuODI2MDEsLjgyNjAxLC44MjYwMSwuOTQ0NjksLjkyNDUsLjkyMjc0LC45MjI3NCwuOTIyNzQsLjkyMjc0LC45MjI3NCwuOTA3NDcsLjg2NjUxLC45MjQ1LC45MjQ1LC45MjQ1LC45MjQ1LC44OTQ1MywuOTI0NSwuODk0NTMsLjg2NzUsLjkyNDUsLjg2NzUsLjkyNDUsLjg2NzUsLjkyNDUsLjcyMzQ2LC44MzIwMywuNzIzNDYsLjgzMjAzLC43MjM0NiwuODMyMDMsLjcyMzQ2LC44MzIwMywuODUxOTMsLjg4NzUsLjg2NDc3LC45OTAzNCwuNzMyMDYsLjg1ODY1LC43MzIwNiwuODU4NjUsLjczMjA2LC44NTg2NSwuNzMyMDYsLjg1ODY1LC43MzIwNiwuODU4NjUsLjgxMTA1LC45MjQ1LC44MTEwNSwuOTI0NSwuODExMDUsLjkyNDUsMSwxLC44NjI3NSwuOTI0NSwuOTA4NzIsLjkzNTkxLC45MDY4NSwuODI2MDEsLjkwNjg1LC44MjYwMSwuOTA2ODUsLjgyNjAxLC45MDY4NSwxLjAzMjk3LC45MDY4NSwuODI2MDEsLjc3ODk2LDEuMDU2MTEsLjYzNzcsMS4wNzY5MiwxLDEsLjkwOTE4LC43NTU5MywxLjAzMjk3LDEsMSwuNzYwMzIsLjkzNzUsLjk4MTU2LC45MzQwNywuNzcyNjEsMS4xMTQyOSwuODkyNDksLjkyNDUsMSwxLC44OTI0OSwuOTI0NSwuOTI1MzQsLjg2Njk4LC45MjQ1LC44NDExOCwuOTIyNzQsLjg0MTE4LC45MjI3NCwuODQxMTgsLjkyMjc0LC44NjY3LC44NjI5MSwuNzUxODYsMS4wMjkzMywxLDEsLjc1MTg2LDEuMDI5MzMsLjY3Nzg5LC43NzgzMiwuNjc3ODksLjc3ODMyLC42Nzc4OSwuNzc4MzIsLjY3Nzg5LC43NzgzMiwxLDEsLjc5Nzc2LC45NzY1NSwuNzk3NzYsMS4yMzAyMywuODg4NDQsLjkyNDUsLjg4ODQ0LC45MjQ1LC44ODg0NCwuOTI0NSwuODg4NDQsLjkyNDUsLjg4ODQ0LC45MjQ1LC44ODg0NCwuOTI0NSwuOTQzMDksLjk4OTg2LC43MzA2LC44OTQ1MywuNzMwNiwuNzY2NTksLjc5MDA0LC43NjY1OSwuNzkwMDQsLjc2NjU5LC43OTAwNCwxLjA5MjMxLC41NDg3MywuODY3NSwuOTI0NSwuNzYzMTgsLjg0ODQzLC44NDU1NywuODY2NTEsMSwxLC43OTc3NiwxLjIwNTYyLDEuMTg2MjIsMS4xODYyMiwxLDEuMTQzNywuNjcwMDksLjk2MzM0LC45MzY5NSwxLjM1MTkxLDEuNDA5MDksLjk1MTYxLDEuNDgzODcsLjg2NzUsLjkwODYxLC42MTkyLC43MzYzLC42NDgyNCwuODI0MTEsLjU2MzIxLC44NTY5NiwxLjIzNTE2LC44Njc1LC44MTU1MiwuNzI4NiwuODQxMzQsLjczMjA2LC43NjY1OSwuODYyNzUsLjg0MzY5LC45MDY4NSwuNzc4OTIsLjg1ODcxLDEuMDI2MzgsLjg5MjQ5LC43NTgyOCwuODQxMTgsLjg1OTg0LC43NzQ1MiwuNzY0NjYsLjc5Nzc2LC43MzA2LC45MDc4MiwuNzc4MTgsLjkwMywuODcyOTEsLjkwNjg1LC43MzA2LC45OTA1OCwxLjAzNjY3LC45NDYzNSwxLjIzNTE2LC45ODQ5LC45OTA1OCwuOTIzOTMsLjg5MTYsLjk0MiwxLjAzNjY3LC43NTAyNiwuOTQ2MzUsMS4wMjk3LDEuMjM1MTYsLjkwOTE4LC45NDA0OCwuOTgyMTcsLjg5NzQ2LC44NDE1MywuOTIyNzQsLjgyNTA3LC44ODgzMiwuODQ0MzgsLjg4MTc4LDEuMDM1MjUsLjk4NDksMS4wMDIyNSwuNzgwODYsLjk3MjQ4LC44OTQwNCwxLjIzNTE2LC45ODQ5LC45MjI3NCwuOTg0OSwuODk0MDQsLjczMjA2LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC44OTY5MywxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuODU4NjUsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjkwOTMzLDEsMSwxLDEsMSwxLC45NDMwOSwuOTg5ODYsLjk0MzA5LC45ODk4NiwuOTQzMDksLjk4OTg2LC43MzA2LC44OTQ1MywxLDEsLjg5NTUyLC45MDUyNywxLC45MDE4NiwxLjEyMzA4LDEuMTIzMDgsMS4xMjMwOCwxLjEyMzA4LDEuMjU2NiwxLjI1NjYsMS4yNTY2LC44OTU1MiwuODk1NTIsMS40MjI1OSwuNjg5OTQsMS4wMzgwOSwxLDEsMS4wMTc2LDEuMDE3NiwxLjExNTIzLDEuNDk1NiwyLjAxNDYyLC45Nzg1OCwuODI2MTYsLjkxMTMzLC44MzQzNywuOTExMzMsMSwxLDEsLjcwNTA4LDEsMS4yMzEwOCwuNzk4MDEsLjg0NDI2LC44NDQyNiwuNzc0LC45MDU3MiwxLjgxMDU1LC45MDc0OSwxLjgxMDU1LDEuMjg4MDksMS41NTQ2OSwuOTQ0MzQsMS4wNzgwNiwxLC45NzA5NCwuNzU4OSwuODUyODQsLjkwNzQ3LDEuMTk2NTgsLjY5ODI1LC45NzYyMiwxLjMzNTEyLC45MDc0NywuOTA3NDcsLjg1Mjg0LC45MDc0NywuOTA3NDcsMS40NDk0NywuODUyODQsLjg5NDEsLjg5NDEsLjcwNTcyLC44LC43MDU3MiwuNzA1NzIsLjcwNTcyLC43MDU3MiwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjk5ODYyLC45OTg2MiwxLDEsMSwxLDEsMS4wMzM2LC45MTAyNywxLDEsMSwuOTk4NjIsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMS4wNTg1OSwxLjA1ODU5LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxXSxtaT17bGluZUhlaWdodDoxLjIyMDcsbGluZUdhcDouMjIwN30sYmk9WzEuMzg3NywxLDEsMSwxLjE3MjIzLDEuMTI5MywuODk1NTIsLjkxMTMzLC44MDM5NSwxLjAyMjY5LDEuMTU2MDEsLjkxMDU2LC45MTA1NiwxLjI3OTgsLjg1Mjg0LC44OTgwNywxLC45MDg2MSwxLjM5MDE2LC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTYzMDksLjk2MzA5LC44NTI4NCwuODUyODQsLjg1Mjg0LC44MzMxOSwuODgwNzEsLjg2NzUsLjgxNTUyLC43MzgzNCwuODUxOTMsLjczMjA2LC43NTIyLC44MTEwNSwuODYyNzUsLjkwNjg1LC42Mzc3LC43Nzg5MiwuNzU1OTMsMS4wMjYzOCwuODkzODUsLjg1MTIyLC43NzQ1MiwuODY1MDMsLjc1MTg2LC42ODg4NywuNzk3NzYsLjg4ODQ0LC44NTA2NiwuOTQyNTgsLjc3ODE4LC43MzA2LC43NjY1OSwxLjEwMzY5LDEuMzkwMTYsMS4xMDM2OSwxLjA2MTM5LC44OTU1MiwuODczOSwuODYxMjgsLjk0NDY5LC44NDU3LC45NDQ2OSwuODk0NjQsMS4wOTg0MiwuODQ2MzYsLjk0NDY5LDEuMDMyOTcsMS4wNzY5MiwuOTA5MTgsMS4wMzI5NywuOTU4OTcsLjk0NDY5LC45NDgyLC45NDQ2OSwuOTQ0NjksMS4wNDY5MiwuNzgyMjMsMS4yMDU2MiwuOTQ0NjksLjkwMzMyLC45ODk4NiwuODY2MjEsLjkwNTI3LC43OTAwNCwuOTQxNTIsMS43NzI1NiwuOTQxNTIsLjg1Mjg0LC45NzgwMSwuODk1NTIsLjkxMTMzLC44OTU1MiwuOTExMzMsMS45MTcyOSwuODk1NTIsMS4xNzg4OSwxLjEzMjU0LDEuMDg3MDcsLjkyMDk4LC44NTI4NCwuNjg3ODcsLjcxMzUzLC44NDczNywuOTA3NDcsMS4wMDg4LDEuMDA0NCwuODc2ODMsMSwxLjA5MDkxLDEsLjkyMjI5LC43MzksMS4xNTY0MiwuOTIwOTgsLjc2Mjg4LC44MDUwNCwuODA5NzIsLjc1ODU5LC44Njc1LC44Njc1LC44Njc1LC44Njc1LC44Njc1LC44Njc1LC43NjMxOCwuNzM4MzQsLjczMjA2LC43MzIwNiwuNzMyMDYsLjczMjA2LC45MDY4NSwuOTA2ODUsLjkwNjg1LC45MDY4NSwuODY0NzcsLjg5Mzg1LC44NTEyMiwuODUxMjIsLjg1MTIyLC44NTEyMiwuODUxMjIsLjg1Mjg0LC44NTMxMSwuODg4NDQsLjg4ODQ0LC44ODg0NCwuODg4NDQsLjczMDYsLjc3NDUyLC44NjMzMSwuODYxMjgsLjg2MTI4LC44NjEyOCwuODYxMjgsLjg2MTI4LC44NjEyOCwuODY5MywuODQ1NywuODk0NjQsLjg5NDY0LC44OTQ2NCwuODk0NjQsLjgyNjAxLC44MjYwMSwuODI2MDEsLjgyNjAxLC45NDQ2OSwuOTQ0NjksLjk0ODIsLjk0ODIsLjk0ODIsLjk0ODIsLjk0ODIsLjkwNzQ3LC44NjY1MSwuOTQ0NjksLjk0NDY5LC45NDQ2OSwuOTQ0NjksLjkwNTI3LC45NDQ2OSwuOTA1MjcsLjg2NzUsLjg2MTI4LC44Njc1LC44NjEyOCwuODY3NSwuODYxMjgsLjczODM0LC44NDU3LC43MzgzNCwuODQ1NywuNzM4MzQsLjg0NTcsLjczODM0LC44NDU3LC44NTE5MywuOTI0NTQsLjg2NDc3LC45OTIxLC43MzIwNiwuODk0NjQsLjczMjA2LC44OTQ2NCwuNzMyMDYsLjg5NDY0LC43MzIwNiwuODk0NjQsLjczMjA2LC44OTQ2NCwuODExMDUsLjg0NjM2LC44MTEwNSwuODQ2MzYsLjgxMTA1LC44NDYzNiwxLDEsLjg2Mjc1LC45NDQ2OSwuOTA4NzIsLjk1Nzg2LC45MDY4NSwuODI2MDEsLjkwNjg1LC44MjYwMSwuOTA2ODUsLjgyNjAxLC45MDY4NSwxLjAzMjk3LC45MDY4NSwuODI2MDEsLjc3NzQxLDEuMDU2MTEsLjYzNzcsMS4wNzY5MiwxLDEsLjkwOTE4LC43NTU5MywxLjAzMjk3LDEsMSwuNzYwMzIsLjkwNDUyLC45ODE1NiwxLjExODQyLC43NzI2MSwxLjExNDI5LC44OTM4NSwuOTQ0NjksMSwxLC44OTM4NSwuOTQ0NjksLjk1ODc3LC44NjkwMSwuOTQ0NjksLjg1MTIyLC45NDgyLC44NTEyMiwuOTQ4MiwuODUxMjIsLjk0ODIsLjg2NjcsLjkwMDE2LC43NTE4NiwxLjA0NjkyLDEsMSwuNzUxODYsMS4wNDY5MiwuNjg4ODcsLjc4MjIzLC42ODg4NywuNzgyMjMsLjY4ODg3LC43ODIyMywuNjg4ODcsLjc4MjIzLDEsMSwuNzk3NzYsLjkyMTg4LC43OTc3NiwxLjIzMDIzLC44ODg0NCwuOTQ0NjksLjg4ODQ0LC45NDQ2OSwuODg4NDQsLjk0NDY5LC44ODg0NCwuOTQ0NjksLjg4ODQ0LC45NDQ2OSwuODg4NDQsLjk0NDY5LC45NDI1OCwuOTg5ODYsLjczMDYsLjkwNTI3LC43MzA2LC43NjY1OSwuNzkwMDQsLjc2NjU5LC43OTAwNCwuNzY2NTksLjc5MDA0LDEuMDkyMzEsLjU0ODczLC44Njc1LC44NjEyOCwuNzYzMTgsLjg2OTMsLjg1MzExLC44NjY1MSwxLDEsLjc5Nzc2LDEuMjA1NjIsMS4xODYyMiwxLjE4NjIyLDEsMS4xNDM3LC42Nzc0MiwuOTYzMzQsLjkzNjk1LDEuMzUxOTEsMS40MDkwOSwuOTUxNjEsMS40ODM4NywuODY2ODYsLjkwODYxLC42MjI2NywuNzQzNTksLjY1NjQ5LC44NTQ5OCwuNTY5NjMsLjg4MjU0LDEuMjM1MTYsLjg2NzUsLjgxNTUyLC43NTQ0MywuODQ1MDMsLjczMjA2LC43NjY1OSwuODYyNzUsLjg1MTIyLC45MDY4NSwuNzc4OTIsLjg1NzQ2LDEuMDI2MzgsLjg5Mzg1LC43NTY1NywuODUxMjIsLjg2Mjc1LC43NzQ1MiwuNzQxNzEsLjc5Nzc2LC43MzA2LC45NTE2NSwuNzc4MTgsLjg5NzcyLC44ODgzMSwuOTA2ODUsLjczMDYsLjk4MTQyLDEuMDIxOTEsLjk2NTc2LDEuMjM1MTYsLjk5MDE4LC45ODE0MiwuOTIzNiwuODkyNTgsLjk0MDM1LDEuMDIxOTEsLjc4ODQ4LC45NjU3NiwuOTU2MSwxLjIzNTE2LC45MDkxOCwuOTI1NzgsLjk1NDI0LC44OTc0NiwuODM5NjksLjk0ODIsLjgwMTEzLC44OTQ0MiwuODUyMDgsLjg2MTU1LC45ODAyMiwuOTkwMTgsMS4wMDQ1MiwuODEyMDksLjk5MjQ3LC44OTE4MSwxLjIzNTE2LC45OTAxOCwuOTQ4MiwuOTkwMTgsLjg5MTgxLC43MzIwNiwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuODg4NDQsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjg5NDY0LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC45Njc2NiwxLDEsMSwxLDEsMSwuOTQyNTgsLjk4OTg2LC45NDI1OCwuOTg5ODYsLjk0MjU4LC45ODk4NiwuNzMwNiwuOTA1MjcsMSwxLC44OTU1MiwuOTA1MjcsMSwuOTAxODYsMS4xMjMwOCwxLjEyMzA4LDEuMTIzMDgsMS4xMjMwOCwxLjI1NjYsMS4yNTY2LDEuMjU2NiwuODk1NTIsLjg5NTUyLDEuNDIyNTksLjY5MDQzLDEuMDM4MDksMSwxLDEuMDE3NiwxLjAxNzYsMS4xMTUyMywxLjQ5NTYsMi4wMTQ2MiwuOTkzMzEsLjgyNjE2LC45MTEzMywuODQyODYsLjkxMTMzLDEsMSwxLC43MDUwOCwxLDEuMjMxMDgsLjc5ODAxLC44NDQyNiwuODQ0MjYsLjc3NCwuOTA1MjcsMS44MTA1NSwuOTA1MjcsMS44MTA1NSwxLjI4ODA5LDEuNTU0NjksLjk0NDM0LDEuMDc4MDYsMSwuOTcwOTQsLjc1ODksLjg1Mjg0LC45MDc0NywxLjE5NjU4LC42OTgyNSwuOTc2MjIsMS4zMzUxMiwuOTA3NDcsLjkwNzQ3LC44NTM1NiwuOTA3NDcsLjkwNzQ3LDEuNDQ5NDcsLjg1Mjg0LC44OTQxLC44OTQxLC43MDU3MiwuOCwuNzA1NzIsLjcwNTcyLC43MDU3MiwuNzA1NzIsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC45OTg2MiwuOTk4NjIsMSwxLDEsMSwxLDEuMDMzNiwuOTEwMjcsMSwxLDEsLjk5ODYyLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEuMDU4NTksMS4wNTg1OSwxLDEsMSwxLjA3MTg1LC45OTQxMywuOTYzMzQsMS4wODA2NSwxLDEsMSwxLDEsMSwxLDEsMSwxLDFdLHlpPXtsaW5lSGVpZ2h0OjEuMjIwNyxsaW5lR2FwOi4yMjA3fSx3aT1bLjc2MTE2LDEsMSwxLjAwMDYsLjk5OTk4LC45OTk3NCwuOTk5NzMsLjk5OTczLC45OTk4MiwuOTk5NzcsMS4wMDA4NywuOTk5OTgsLjk5OTk4LC45OTk1OSwxLjAwMDAzLDEuMDAwNiwuOTk5OTgsMS4wMDA2LDEuMDAwNiwuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTk4LDEsMS4wMDAwMywxLjAwMDAzLDEuMDAwMDMsMS4wMDAyNiwuOTk5OSwuOTk5NzcsLjk5OTc3LC45OTk3NywuOTk5NzcsMS4wMDAwMSwxLjAwMDI2LDEuMDAwMjIsLjk5OTc3LDEuMDAwNiwuOTk5NzMsLjk5OTc3LDEuMDAwMjYsLjk5OTk5LC45OTk3NywxLjAwMDIyLDEuMDAwMDEsMS4wMDAyMiwuOTk5NzcsMS4wMDAwMSwxLjAwMDI2LC45OTk3NywxLjAwMDAxLDEuMDAwMTYsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMjYsLjk5OTk4LDEuMDAwNiwuOTk5OTgsMS4wMDAwMywuOTk5NzMsLjk5OTk4LC45OTk3MywxLjAwMDI2LC45OTk3MywxLjAwMDI2LC45OTk3MywuOTk5OTgsMS4wMDAyNiwxLjAwMDI2LDEuMDAwNiwxLjAwMDYsLjk5OTczLDEuMDAwNiwuOTk5ODIsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwuOTk5NTksLjk5OTczLC45OTk5OCwxLjAwMDI2LC45OTk3MywxLjAwMDIyLC45OTk3MywuOTk5NzMsMSwuOTk5NTksMS4wMDA3NywuOTk5NTksMS4wMDAwMywuOTk5OTgsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLDEuMDAwNzcsLjk5OTczLC45OTk5OCwxLjAwMDI1LC45OTk2OCwuOTk5NzMsMS4wMDAwMywxLjAwMDI1LC42MDI5OSwxLjAwMDI0LDEuMDY0MDksMSwxLC45OTk5OCwxLC45OTk3MywxLjAwMDYsLjk5OTk4LDEsLjk5OTM2LC45OTk3MywxLjAwMDAyLDEuMDAwMDIsMS4wMDAwMiwxLjAwMDI2LC45OTk3NywuOTk5NzcsLjk5OTc3LC45OTk3NywuOTk5NzcsLjk5OTc3LDEsLjk5OTc3LDEuMDAwMDEsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMDEsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LC45OTk3NywuOTk5NzcsMS4wMDAyMiwxLjAwMDIyLDEuMDAwMjIsMS4wMDAyMiwxLjAwMDIyLDEuMDAwMDMsMS4wMDAyMiwuOTk5NzcsLjk5OTc3LC45OTk3NywuOTk5NzcsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMjYsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTgyLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsMS4wNjQwOSwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsLjk5OTczLDEuMDAwMjYsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LDEuMDMzNzQsLjk5OTc3LDEuMDAwMjYsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMS4wMDAyMiwxLjAwMDI2LDEuMDAwMjIsMS4wMDAyNiwxLjAwMDIyLDEuMDAwMjYsMS4wMDAyMiwxLjAwMDI2LC45OTk3NywxLjAwMDI2LC45OTk3NywxLjAwMDI2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDQyLC45OTk3MywuOTk5NzMsMS4wMDA2LC45OTk3NywuOTk5NzMsLjk5OTczLDEuMDAwMjYsMS4wMDA2LDEuMDAwMjYsMS4wMDA2LDEuMDAwMjYsMS4wMzgyOCwxLjAwMDI2LC45OTk5OSwxLjAwMDI2LDEuMDAwNiwuOTk5NzcsMS4wMDAyNiwuOTk5NzcsMS4wMDAyNiwuOTk5NzcsMS4wMDAyNiwuOTk5MywuOTk5OCwxLjAwMDI2LDEuMDAwMjIsMS4wMDAyNiwxLjAwMDIyLDEuMDAwMjYsMS4wMDAyMiwxLjAwMDI2LDEsMS4wMDAxNiwuOTk5NzcsLjk5OTU5LC45OTk3NywuOTk5NTksLjk5OTc3LC45OTk1OSwxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDI2LC45OTk5OCwxLjAwMDI2LC44MTIxLDEuMDAwMjYsLjk5OTk4LC45OTk3NywxLjAwMDI2LC45OTk3NywxLjAwMDI2LC45OTk3NywxLjAwMDI2LC45OTk3NywxLjAwMDI2LC45OTk3NywxLjAwMDI2LC45OTk3NywxLjAwMDI2LDEuMDAwMTYsMS4wMDAyMiwxLjAwMDAxLC45OTk3MywxLjAwMDAxLDEuMDAwMjYsMSwxLjAwMDI2LDEsMS4wMDAyNiwxLDEuMDAwNiwuOTk5NzMsLjk5OTc3LC45OTk3MywxLC45OTk4MiwxLjAwMDIyLDEuMDAwMjYsMS4wMDAwMSwuOTk5NzMsMS4wMDAyNiwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LDEuMDAwMzQsLjk5OTc3LDEsLjk5OTk3LDEuMDAwMjYsMS4wMDA3OCwxLjAwMDM2LC45OTk3MywxLjAwMDEzLDEuMDAwNiwuOTk5NzcsLjk5OTc3LC45OTk4OCwuODUxNDgsMS4wMDAwMSwxLjAwMDI2LC45OTk3NywxLjAwMDIyLDEuMDAwNiwuOTk5NzcsMS4wMDAwMSwuOTk5OTksLjk5OTc3LDEuMDAwNjksMS4wMDAyMiwuOTk5NzcsMS4wMDAwMSwuOTk5ODQsMS4wMDAyNiwxLjAwMDAxLDEuMDAwMjQsMS4wMDAwMSwuOTk5OSwxLDEuMDAwNiwxLjAwMDAxLDEuMDAwNDEsLjk5OTYyLDEuMDAwMjYsMS4wMDA2LC45OTk5NSwxLjAwMDQxLC45OTk0MiwuOTk5NzMsLjk5OTI3LDEuMDAwODIsLjk5OTAyLDEuMDAwMjYsMS4wMDA4NywxLjAwMDYsMS4wMDA2OSwuOTk5NzMsLjk5ODY3LC45OTk3MywuOTk5MywxLjAwMDI2LDEuMDAwNDksMS4wMDA1NiwxLC45OTk4OCwuOTk5MzUsLjk5OTk1LC45OTk1NCwxLjAwMDU1LC45OTk0NSwxLjAwMDMyLDEuMDAwNiwuOTk5OTUsMS4wMDAyNiwuOTk5OTUsMS4wMDAzMiwxLjAwMDAxLDEuMDAwMDgsLjk5OTcxLDEuMDAwMTksLjk5OTQsMS4wMDAwMSwxLjAwMDYsMS4wMDA0NCwuOTk5NzMsMS4wMDAyMywxLjAwMDQ3LDEsLjk5OTQyLC45OTU2MSwuOTk5ODksMS4wMDAzNSwuOTk5NzcsMS4wMDAzNSwuOTk5NzcsMS4wMDAxOSwuOTk5NDQsMS4wMDAwMSwxLjAwMDIxLC45OTkyNiwxLjAwMDM1LDEuMDAwMzUsLjk5OTQyLDEuMDAwNDgsLjk5OTk5LC45OTk3NywxLjAwMDIyLDEuMDAwMzUsMS4wMDAwMSwuOTk5NzcsMS4wMDAyNiwuOTk5ODksMS4wMDA1NywxLjAwMDAxLC45OTkzNiwxLjAwMDUyLDEuMDAwMTIsLjk5OTk2LDEuMDAwNDMsMSwxLjAwMDM1LC45OTk0LC45OTk3NiwxLjAwMDM1LC45OTk3MywxLjAwMDUyLDEuMDAwNDEsMS4wMDExOSwxLjAwMDM3LC45OTk3MywxLjAwMDAyLC45OTk4NiwxLjAwMDQxLDEuMDAwNDEsLjk5OTAyLC45OTk2LDEuMDAwMzQsLjk5OTk5LDEuMDAwMjYsLjk5OTk5LDEuMDAwMjYsLjk5OTczLDEuMDAwNTIsLjk5OTczLDEsLjk5OTczLDEuMDAwNDEsMS4wMDA3NSwuOTk5NCwxLjAwMDMsLjk5OTk5LDEsMS4wMDA0MSwuOTk5NTUsMSwuOTk5MTUsLjk5OTczLC45OTk3MywxLjAwMDI2LDEuMDAxMTksLjk5OTU1LC45OTk3MywxLjAwMDYsLjk5OTExLDEuMDAwNiwxLjAwMDI2LC45OTk3MiwxLjAwMDI2LC45OTkwMiwxLjAwMDQxLC45OTk3MywuOTk5OTksMSwxLDEuMDAwMzgsMS4wMDA1LDEuMDAwMTYsMS4wMDAyMiwxLjAwMDE2LDEuMDAwMjIsMS4wMDAxNiwxLjAwMDIyLDEuMDAwMDEsLjk5OTczLDEsMSwuOTk5NzMsMSwxLC45OTk1NSwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMSwxLDEsLjk5OTczLC45OTk3MywuOTk5NzIsMSwxLDEuMDAxMDYsLjk5OTk5LC45OTk5OCwuOTk5OTgsLjk5OTk5LC45OTk5OCwxLjY2NDc1LDEsLjk5OTczLC45OTk3MywxLjAwMDIzLC45OTk3MywuOTk5NzEsMS4wMDA0NywxLjAwMDIzLDEsLjk5OTkxLC45OTk4NCwxLjAwMDAyLDEuMDAwMDIsMS4wMDAwMiwxLjAwMDAyLDEsMSwxLDEsMSwxLDEsLjk5OTcyLDEsMS4yMDk4NSwxLjM5NzEzLDEuMDAwMDMsMS4wMDAzMSwxLjAwMDE1LDEsLjk5NTYxLDEuMDAwMjcsMS4wMDAzMSwxLjAwMDMxLC45OTkxNSwxLjAwMDMxLDEuMDAwMzEsLjk5OTk5LDEuMDAwMDMsLjk5OTk5LC45OTk5OSwxLjQxMTQ0LDEuNiwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDA1NzksMS40MDU3OSwxLjM2NjI1LC45OTk5OSwxLC45OTg2MSwuOTk4NjEsMSwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LC45OTk3MiwuOTk5OTksLjk5OTk5LC45OTk5OSwuOTk5OTksMS40MDQ4MywxLC45OTk3NywxLjAwMDU0LDEsMSwuOTk5NTMsLjk5OTYyLDEuMDAwNDIsLjk5OTUsMSwxLDEsMSwxLDEsMSwxLC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwxLDEsMSwxLDEsMSwxLDEsMSwxLDFdLHhpPXtsaW5lSGVpZ2h0OjEuMixsaW5lR2FwOi4yfSxTaT1bLjc2MTE2LDEsMSwxLjAwMDYsLjk5OTk4LC45OTk3NCwuOTk5NzMsLjk5OTczLC45OTk4MiwuOTk5NzcsMS4wMDA4NywuOTk5OTgsLjk5OTk4LC45OTk1OSwxLjAwMDAzLDEuMDAwNiwuOTk5OTgsMS4wMDA2LDEuMDAwNiwuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTk4LDEsMS4wMDAwMywxLjAwMDAzLDEuMDAwMDMsMS4wMDAyNiwuOTk5OSwuOTk5NzcsLjk5OTc3LC45OTk3NywuOTk5NzcsMS4wMDAwMSwxLjAwMDI2LDEuMDAwMjIsLjk5OTc3LDEuMDAwNiwuOTk5NzMsLjk5OTc3LDEuMDAwMjYsLjk5OTk5LC45OTk3NywxLjAwMDIyLDEuMDAwMDEsMS4wMDAyMiwuOTk5NzcsMS4wMDAwMSwxLjAwMDI2LC45OTk3NywxLjAwMDAxLDEuMDAwMTYsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMjYsLjk5OTk4LDEuMDAwNiwuOTk5OTgsMS4wMDAwMywuOTk5NzMsLjk5OTk4LC45OTk3MywxLjAwMDI2LC45OTk3MywxLjAwMDI2LC45OTk3MywuOTk5OTgsMS4wMDAyNiwxLjAwMDI2LDEuMDAwNiwxLjAwMDYsLjk5OTczLDEuMDAwNiwuOTk5ODIsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwuOTk5NTksLjk5OTczLC45OTk5OCwxLjAwMDI2LC45OTk3MywxLjAwMDIyLC45OTk3MywuOTk5NzMsMSwuOTk5NTksMS4wMDA3NywuOTk5NTksMS4wMDAwMywuOTk5OTgsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLDEuMDAwNzcsLjk5OTczLC45OTk5OCwxLjAwMDI1LC45OTk2OCwuOTk5NzMsMS4wMDAwMywxLjAwMDI1LC42MDI5OSwxLjAwMDI0LDEuMDY0MDksMSwxLC45OTk5OCwxLC45OTk3MywxLjAwMDYsLjk5OTk4LDEsLjk5OTM2LC45OTk3MywxLjAwMDAyLDEuMDAwMDIsMS4wMDAwMiwxLjAwMDI2LC45OTk3NywuOTk5NzcsLjk5OTc3LC45OTk3NywuOTk5NzcsLjk5OTc3LDEsLjk5OTc3LDEuMDAwMDEsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMDEsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LC45OTk3NywuOTk5NzcsMS4wMDAyMiwxLjAwMDIyLDEuMDAwMjIsMS4wMDAyMiwxLjAwMDIyLDEuMDAwMDMsMS4wMDAyMiwuOTk5NzcsLjk5OTc3LC45OTk3NywuOTk5NzcsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMjYsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTgyLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsMS4wNjQwOSwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsLjk5OTczLDEuMDAwMjYsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LDEuMDA0NCwuOTk5NzcsMS4wMDAyNiwxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDIyLDEuMDAwMjYsMS4wMDAyMiwxLjAwMDI2LDEuMDAwMjIsMS4wMDAyNiwxLjAwMDIyLDEuMDAwMjYsLjk5OTc3LDEuMDAwMjYsLjk5OTc3LDEuMDAwMjYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LC45OTk3MSwuOTk5NzMsLjk5OTczLDEuMDAwNiwuOTk5NzcsLjk5OTczLC45OTk3MywxLjAwMDI2LDEuMDAwNiwxLjAwMDI2LDEuMDAwNiwxLjAwMDI2LDEuMDEwMTEsMS4wMDAyNiwuOTk5OTksMS4wMDAyNiwxLjAwMDYsLjk5OTc3LDEuMDAwMjYsLjk5OTc3LDEuMDAwMjYsLjk5OTc3LDEuMDAwMjYsLjk5OTMsLjk5OTgsMS4wMDAyNiwxLjAwMDIyLDEuMDAwMjYsMS4wMDAyMiwxLjAwMDI2LDEuMDAwMjIsMS4wMDAyNiwxLDEuMDAwMTYsLjk5OTc3LC45OTk1OSwuOTk5NzcsLjk5OTU5LC45OTk3NywuOTk5NTksMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMS4wMDAyNiwuOTk5OTgsMS4wMDAyNiwuODEyMSwxLjAwMDI2LC45OTk5OCwuOTk5NzcsMS4wMDAyNiwuOTk5NzcsMS4wMDAyNiwuOTk5NzcsMS4wMDAyNiwuOTk5NzcsMS4wMDAyNiwuOTk5NzcsMS4wMDAyNiwuOTk5NzcsMS4wMDAyNiwxLjAwMDE2LDEuMDAwMjIsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwxLjAwMDI2LDEsMS4wMDAyNiwxLDEuMDAwMjYsMSwxLjAwMDYsLjk5OTczLC45OTk3NywuOTk5NzMsMSwuOTk5ODIsMS4wMDAyMiwxLjAwMDI2LDEuMDAwMDEsLjk5OTczLDEuMDAwMjYsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTc3LDEsMSwxLjAwMDI2LC45OTk2OSwuOTk5NzIsLjk5OTgxLC45OTk4LDEuMDAwNiwuOTk5NzcsLjk5OTc3LDEuMDAwMjIsLjkxMTU1LDEuMDAwMDEsMS4wMDAyNiwuOTk5NzcsMS4wMDAyMiwxLjAwMDYsLjk5OTc3LDEuMDAwMDEsLjk5OTk5LC45OTk3NywuOTk5NjYsMS4wMDAyMiwxLjAwMDMyLDEuMDAwMDEsLjk5OTQ0LDEuMDAwMjYsMS4wMDAwMSwuOTk5NjgsMS4wMDAwMSwxLjAwMDQ3LDEsMS4wMDA2LDEuMDAwMDEsLjk5OTgxLDEuMDAxMDEsMS4wMDAyNiwxLjAwMDYsLjk5OTQ4LC45OTk4MSwxLjAwMDY0LC45OTk3MywuOTk5NDIsMS4wMDEwMSwxLjAwMDYxLDEuMDAwMjYsMS4wMDA2OSwxLjAwMDYsMS4wMDAxNCwuOTk5NzMsMS4wMTMyMiwuOTk5NzMsMS4wMDA2NSwxLjAwMDI2LDEuMDAwMTIsLjk5OTIzLDEsMS4wMDA2NCwxLjAwMDc2LC45OTk0OCwxLjAwMDU1LDEuMDAwNjMsMS4wMDAwNywuOTk5NDMsMS4wMDA2LC45OTk0OCwxLjAwMDI2LC45OTk0OCwuOTk5NDMsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMjksMS4wMDAzOCwxLjAwMDM1LDEuMDAwMDEsMS4wMDA2LDEuMDAwNiwuOTk5NzMsLjk5OTc4LDEuMDAwMDEsMS4wMDA1NywuOTk5ODksLjk5OTY3LC45OTk2NCwuOTk5NjcsLjk5OTc3LC45OTk5OSwuOTk5NzcsMS4wMDAzOCwuOTk5NzcsMS4wMDAwMSwuOTk5NzMsMS4wMDA2NiwuOTk5NjcsLjk5OTY3LDEuMDAwNDEsLjk5OTk4LC45OTk5OSwuOTk5NzcsMS4wMDAyMiwuOTk5NjcsMS4wMDAwMSwuOTk5NzcsMS4wMDAyNiwuOTk5NjQsMS4wMDAzMSwxLjAwMDAxLC45OTk5OSwuOTk5OTksMSwxLjAwMDIzLDEsMSwuOTk5OTksMS4wMDAzNSwxLjAwMDAxLC45OTk5OSwuOTk5NzMsLjk5OTc3LC45OTk5OSwxLjAwMDU4LC45OTk3MywuOTk5NzMsLjk5OTU1LC45OTk1LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDMyLC45OTk4OSwxLjAwMDM0LC45OTk5OSwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwuOTk5NzMsLjQ1OTk4LC45OTk3MywxLjAwMDI2LC45OTk3MywxLjAwMDAxLC45OTk5OSwuOTk5ODIsLjk5OTk0LC45OTk5NiwxLDEuMDAwNDIsMS4wMDA0NCwxLjAwMDI5LDEuMDAwMjMsLjk5OTczLC45OTk3MywxLjAwMDI2LC45OTk0OSwxLjAwMDAyLC45OTk3MywxLjAwMDYsMS4wMDA2LDEuMDAwNiwuOTk5NzUsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMzIsLjk4Njg1LC45OTk3MywxLjAwMDI2LDEsMSwuOTk5NjYsMS4wMDA0NCwxLjAwMDE2LDEuMDAwMjIsMS4wMDAxNiwxLjAwMDIyLDEuMDAwMTYsMS4wMDAyMiwxLjAwMDAxLC45OTk3MywxLDEsLjk5OTczLDEsMSwuOTk5NTUsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEsMSwxLC45OTk3MywuOTk5NzMsLjk5OTcyLDEsMSwxLjAwMTA2LC45OTk5OSwuOTk5OTgsLjk5OTk4LC45OTk5OSwuOTk5OTgsMS42NjQ3NSwxLC45OTk3MywuOTk5NzMsMSwuOTk5NzMsLjk5OTcxLC45OTk3OCwxLDEsLjk5OTkxLC45OTk4NCwxLjAwMDAyLDEuMDAwMDIsMS4wMDAwMiwxLjAwMDAyLDEuMDAwOTgsMSwxLDEsMS4wMDA0OSwxLDEsLjk5OTcyLDEsMS4yMDk4NSwxLjM5NzEzLDEuMDAwMDMsMS4wMDAzMSwxLjAwMDE1LDEsLjk5NTYxLDEuMDAwMjcsMS4wMDAzMSwxLjAwMDMxLC45OTkxNSwxLjAwMDMxLDEuMDAwMzEsLjk5OTk5LDEuMDAwMDMsLjk5OTk5LC45OTk5OSwxLjQxMTQ0LDEuNiwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDA1NzksMS40MDU3OSwxLjM2NjI1LC45OTk5OSwxLC45OTg2MSwuOTk4NjEsMSwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LC45OTk3MiwuOTk5OTksLjk5OTk5LC45OTk5OSwuOTk5OTksMS40MDQ4MywxLC45OTk3NywxLjAwMDU0LDEsMSwuOTk5NTMsLjk5OTYyLDEuMDAwNDIsLjk5OTUsMSwxLDEsMSwxLDEsMSwxLC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwxLDEsMSwxLDEsMSwxLDEsMSwxLDFdLEFpPXtsaW5lSGVpZ2h0OjEuMzUsbGluZUdhcDouMn0sa2k9Wy43NjExNiwxLDEsMS4wMDA2LDEuMDAwNiwxLjAwMDA2LC45OTk3MywuOTk5NzMsLjk5OTgyLDEuMDAwMDEsMS4wMDA0MywuOTk5OTgsLjk5OTk4LC45OTk1OSwxLjAwMDAzLDEuMDAwNiwuOTk5OTgsMS4wMDA2LDEuMDAwNiwuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsMS4wMDA2LDEsMS4wMDAwMywxLjAwMDAzLDEuMDAwMDMsLjk5OTczLC45OTk4NywxLjAwMDAxLDEuMDAwMDEsLjk5OTc3LC45OTk3NywxLjAwMDAxLDEuMDAwMjYsMS4wMDAyMiwuOTk5NzcsMS4wMDA2LDEsMS4wMDAwMSwuOTk5NzMsLjk5OTk5LC45OTk3NywxLjAwMDIyLDEuMDAwMDEsMS4wMDAyMiwuOTk5NzcsMS4wMDAwMSwxLjAwMDI2LC45OTk3NywxLjAwMDAxLDEuMDAwMTYsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMjYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsLjk5OTQ5LC45OTk3MywuOTk5OTgsLjk5OTczLC45OTk3MywxLC45OTk3MywuOTk5NzMsMS4wMDA2LC45OTk3MywuOTk5NzMsLjk5OTI0LC45OTkyNCwxLC45OTkyNCwuOTk5OTksLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk5OCwxLDEuMDAwNiwuOTk5NzMsMSwuOTk5NzcsMSwxLDEsMS4wMDAwNSwxLjAwMDksMS4wMDAwNSwxLjAwMDAzLC45OTk5OCwuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsMS4wMDA5LC45OTk3MywuOTk5OTgsMS4wMDAyNSwuOTk5NjgsLjk5OTczLDEuMDAwMDMsMS4wMDAyNSwuNjAyOTksMS4wMDAyNCwxLjA2NDA5LDEsMSwuOTk5OTgsMSwuOTk5OCwxLjAwMDYsLjk5OTk4LDEsLjk5OTM2LC45OTk3MywxLjAwMDAyLDEuMDAwMDIsMS4wMDAwMiwxLjAwMDI2LDEuMDAwMDEsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMDEsMS4wMDAwMSwxLjAwMDAxLDEsLjk5OTc3LDEuMDAwMDEsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMDEsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LC45OTk3NywuOTk5NzcsMS4wMDAyMiwxLjAwMDIyLDEuMDAwMjIsMS4wMDAyMiwxLjAwMDIyLDEuMDAwMDMsMS4wMDAyMiwuOTk5NzcsLjk5OTc3LC45OTk3NywuOTk5NzcsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMjYsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTgyLDEsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsMS4wNjQwOSwxLjAwMDI2LC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywxLC45OTk3MywxLDEuMDAwMDEsLjk5OTczLDEuMDAwMDEsLjk5OTczLDEuMDAwMDEsLjk5OTczLC45OTk3NywxLC45OTk3NywxLC45OTk3NywxLC45OTk3NywxLC45OTk3NywxLjAyODgsLjk5OTc3LC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDIyLC45OTk3MywxLjAwMDIyLC45OTk3MywxLjAwMDIyLC45OTk3MywxLjAwMDIyLC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LC45OTkyNCwxLjAwMDYsMS4wMDA2LC45OTk0NiwxLjAwMDM0LDEsLjk5OTI0LDEuMDAwMDEsMSwxLC45OTk3MywuOTk5MjQsLjk5OTczLC45OTkyNCwuOTk5NzMsMS4wNjMxMSwuOTk5NzMsMS4wMDAyNCwuOTk5NzMsLjk5OTI0LC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLDEuMDAwNDEsLjk5OTgsLjk5OTczLDEuMDAwMjIsLjk5OTczLDEuMDAwMjIsLjk5OTczLDEuMDAwMjIsLjk5OTczLDEsMS4wMDAxNiwuOTk5NzcsLjk5OTk4LC45OTk3NywuOTk5OTgsLjk5OTc3LC45OTk5OCwxLjAwMDAxLDEsMS4wMDAwMSwxLDEuMDAwMDEsMSwxLjAwMDAxLDEsMS4wMDAyNiwxLjAwMDYsMS4wMDAyNiwuODk1NDcsMS4wMDAyNiwxLjAwMDYsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsMS4wMDAxNiwuOTk5NzcsMS4wMDAwMSwxLDEuMDAwMDEsMS4wMDAyNiwxLDEuMDAwMjYsMSwxLjAwMDI2LDEsLjk5OTI0LC45OTk3MywxLjAwMDAxLC45OTk3MywxLC45OTk4MiwxLjAwMDIyLDEuMDAwMjYsMS4wMDAwMSwxLDEuMDAwMjYsMS4wMDA2LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsMS4wMDAwMSwxLDEuMDAwNTQsLjk5OTc3LDEuMDAwODQsMS4wMDAwNywuOTk5NzMsMS4wMDAxMywuOTk5MjQsMS4wMDAwMSwxLjAwMDAxLC45OTk0NSwuOTEyMjEsMS4wMDAwMSwxLjAwMDI2LC45OTk3NywxLjAwMDIyLDEuMDAwNiwxLjAwMDAxLDEuMDAwMDEsLjk5OTk5LC45OTk3NywuOTk5MzMsMS4wMDAyMiwxLjAwMDU0LDEuMDAwMDEsMS4wMDA2NSwxLjAwMDI2LDEuMDAwMDEsMS4wMDAxLDEuMDAwMDEsMS4wMDA1MiwxLDEuMDAwNiwxLjAwMDAxLC45OTk0NSwuOTk4OTcsLjk5OTY4LC45OTkyNCwxLjAwMDM2LC45OTk0NSwuOTk5NDksMSwxLjAwMDYsLjk5ODk3LC45OTkxOCwuOTk5NjgsLjk5OTExLC45OTkyNCwxLC45OTk2MiwxLjAxNDg3LDEsMS4wMDA1LC45OTk3MywxLjAwMDEyLDEuMDAwNDMsMSwuOTk5OTUsLjk5OTk0LDEuMDAwMzYsLjk5OTQ3LDEuMDAwMTksMS4wMDA2MywxLjAwMDI1LC45OTkyNCwxLjAwMDM2LC45OTk3MywxLjAwMDM2LDEuMDAwMjUsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMjcsMS4wMDAxLDEuMDAwNjgsMS4wMDAwMSwxLjAwMDYsMS4wMDA2LDEsMS4wMDAwOCwuOTk5NTcsLjk5OTcyLC45OTk0LC45OTk1NCwuOTk5NzUsMS4wMDA1MSwxLjAwMDAxLDEuMDAwMTksMS4wMDAwMSwxLjAwMDEsLjk5OTg2LDEuMDAwMDEsMS4wMDAwMSwxLjAwMDM4LC45OTk1NCwuOTk5NTQsLjk5OTQsMS4wMDA2NiwuOTk5OTksLjk5OTc3LDEuMDAwMjIsMS4wMDA1NCwxLjAwMDAxLC45OTk3NywxLjAwMDI2LC45OTk3NSwxLjAwMDEsMS4wMDAwMSwuOTk5OTMsLjk5OTUsLjk5OTU1LDEuMDAwMTYsLjk5OTc4LC45OTk3NCwxLjAwMDE5LDEuMDAwMjIsLjk5OTU1LDEuMDAwNTMsLjk5OTczLDEuMDAwODksMS4wMDAwNSwuOTk5NjcsMS4wMDA0OCwuOTk5NzMsMS4wMDAwMiwxLjAwMDM0LC45OTk3MywuOTk5NzMsLjk5OTY0LDEuMDAwMDYsMS4wMDA2NiwuOTk5NDcsLjk5OTczLC45ODg5NCwuOTk5NzMsMSwuNDQ4OTgsMSwuOTk5NDYsMSwxLjAwMDM5LDEuMDAwODIsLjk5OTkxLC45OTk5MSwuOTk5ODUsMS4wMDAyMiwxLjAwMDIzLDEuMDAwNjEsMS4wMDAwNiwuOTk5NjYsLjk5OTczLC45OTk3MywuOTk5NzMsMS4wMDAxOSwxLjAwMDgsMSwuOTk5MjQsLjk5OTI0LC45OTkyNCwuOTk5ODMsMS4wMDA0NCwuOTk5NzMsLjk5OTY0LC45ODMzMiwxLC45OTk3MywxLDEsLjk5OTYyLC45OTg5NSwxLjAwMDE2LC45OTk3NywxLjAwMDE2LC45OTk3NywxLjAwMDE2LC45OTk3NywxLjAwMDAxLDEsMSwxLC45OTk3MywxLDEsLjk5OTU1LC45OTkyNCwuOTk5MjQsLjk5OTI0LC45OTkyNCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5NzMsLjk5OTczLC45OTk3MiwxLDEsMS4wMDI2NywuOTk5OTksLjk5OTk4LC45OTk5OCwxLC45OTk5OCwxLjY2NDc1LDEsLjk5OTczLC45OTk3MywxLjAwMDIzLC45OTk3MywxLjAwNDIzLC45OTkyNSwuOTk5OTksMSwuOTk5OTEsLjk5OTg0LDEuMDAwMDIsMS4wMDAwMiwxLjAwMDAyLDEuMDAwMDIsMS4wMDA0OSwxLDEuMDAyNDUsMSwxLDEsMSwuOTYzMjksMSwxLjIwOTg1LDEuMzk3MTMsMS4wMDAwMywuODI1NCwxLjAwMDE1LDEsMS4wMDAzNSwxLjAwMDI3LDEuMDAwMzEsMS4wMDAzMSwxLjAwMDAzLDEuMDAwMzEsMS4wMDAzMSwuOTk5OTksMS4wMDAwMywuOTk5OTksLjk5OTk5LDEuNDExNDQsMS42LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MDU3OSwxLjQwNTc5LDEuMzY2MjUsLjk5OTk5LDEsLjk5ODYxLC45OTg2MSwxLDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsLjk1MzE3LC45OTk5OSwuOTk5OTksLjk5OTk5LC45OTk5OSwxLjQwNDgzLDEsLjk5OTc3LDEuMDAwNTQsMSwxLC45OTk1MywuOTk5NjIsMS4wMDA0MiwuOTk5NSwxLDEsMSwxLDEsMSwxLDEsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LDEsMSwxLDEsMSwxLDEsMSwxLDEsMV0sQ2k9e2xpbmVIZWlnaHQ6MS4zNSxsaW5lR2FwOi4yfSx2aT1bLjc2MTE2LDEsMSwxLjAwMDYsMS4wMDA2LDEuMDAwMDYsLjk5OTczLC45OTk3MywuOTk5ODIsMS4wMDAwMSwxLjAwMDQzLC45OTk5OCwuOTk5OTgsLjk5OTU5LDEuMDAwMDMsMS4wMDA2LC45OTk5OCwxLjAwMDYsMS4wMDA2LC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywxLjAwMDYsMSwxLjAwMDAzLDEuMDAwMDMsMS4wMDAwMywuOTk5NzMsLjk5OTg3LDEuMDAwMDEsMS4wMDAwMSwuOTk5NzcsLjk5OTc3LDEuMDAwMDEsMS4wMDAyNiwxLjAwMDIyLC45OTk3NywxLjAwMDYsMSwxLjAwMDAxLC45OTk3MywuOTk5OTksLjk5OTc3LDEuMDAwMjIsMS4wMDAwMSwxLjAwMDIyLC45OTk3NywxLjAwMDAxLDEuMDAwMjYsLjk5OTc3LDEuMDAwMDEsMS4wMDAxNiwxLjAwMDAxLDEuMDAwMDEsMS4wMDAyNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwuOTk5NDksLjk5OTczLC45OTk5OCwuOTk5NzMsLjk5OTczLDEsLjk5OTczLC45OTk3MywxLjAwMDYsLjk5OTczLC45OTk3MywuOTk5MjQsLjk5OTI0LDEsLjk5OTI0LC45OTk5OSwuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTk4LDEsMS4wMDA2LC45OTk3MywxLC45OTk3NywxLDEsMSwxLjAwMDA1LDEuMDAwOSwxLjAwMDA1LDEuMDAwMDMsLjk5OTk4LC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywxLjAwMDksLjk5OTczLC45OTk5OCwxLjAwMDI1LC45OTk2OCwuOTk5NzMsMS4wMDAwMywxLjAwMDI1LC42MDI5OSwxLjAwMDI0LDEuMDY0MDksMSwxLC45OTk5OCwxLC45OTk4LDEuMDAwNiwuOTk5OTgsMSwuOTk5MzYsLjk5OTczLDEuMDAwMDIsMS4wMDAwMiwxLjAwMDAyLDEuMDAwMjYsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMDEsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMDEsMSwuOTk5NzcsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMDEsMS4wMDAwMSwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsLjk5OTc3LC45OTk3NywxLjAwMDIyLDEuMDAwMjIsMS4wMDAyMiwxLjAwMDIyLDEuMDAwMjIsMS4wMDAwMywxLjAwMDIyLC45OTk3NywuOTk5NzcsLjk5OTc3LC45OTk3NywxLjAwMDAxLDEuMDAwMDEsMS4wMDAyNiwuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5ODIsMSwuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywxLjA2NDA5LDEuMDAwMjYsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLDEsLjk5OTczLDEsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsLjk5OTc3LDEsLjk5OTc3LDEsLjk5OTc3LDEsLjk5OTc3LDEsLjk5OTc3LDEuMDQ1OTYsLjk5OTc3LC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDIyLC45OTk3MywxLjAwMDIyLC45OTk3MywxLjAwMDIyLC45OTk3MywxLjAwMDIyLC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LC45OTkyNCwxLjAwMDYsMS4wMDA2LDEuMDAwMTksMS4wMDAzNCwxLC45OTkyNCwxLjAwMDAxLDEsMSwuOTk5NzMsLjk5OTI0LC45OTk3MywuOTk5MjQsLjk5OTczLDEuMDI1NzIsLjk5OTczLDEuMDAwMDUsLjk5OTczLC45OTkyNCwuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywuOTk5OTksLjk5OTgsLjk5OTczLDEuMDAwMjIsLjk5OTczLDEuMDAwMjIsLjk5OTczLDEuMDAwMjIsLjk5OTczLDEsMS4wMDAxNiwuOTk5NzcsLjk5OTk4LC45OTk3NywuOTk5OTgsLjk5OTc3LC45OTk5OCwxLjAwMDAxLDEsMS4wMDAwMSwxLDEuMDAwMDEsMSwxLjAwMDAxLDEsMS4wMDAyNiwxLjAwMDYsMS4wMDAyNiwuODQ1MzMsMS4wMDAyNiwxLjAwMDYsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsMS4wMDAxNiwuOTk5NzcsMS4wMDAwMSwxLDEuMDAwMDEsMS4wMDAyNiwxLDEuMDAwMjYsMSwxLjAwMDI2LDEsLjk5OTI0LC45OTk3MywxLjAwMDAxLC45OTk3MywxLC45OTk4MiwxLjAwMDIyLDEuMDAwMjYsMS4wMDAwMSwxLDEuMDAwMjYsMS4wMDA2LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTI4LDEsLjk5OTc3LDEuMDAwMTMsMS4wMDA1NSwuOTk5NDcsLjk5OTQ1LC45OTk0MSwuOTk5MjQsMS4wMDAwMSwxLjAwMDAxLDEuMDAwNCwuOTE2MjEsMS4wMDAwMSwxLjAwMDI2LC45OTk3NywxLjAwMDIyLDEuMDAwNiwxLjAwMDAxLDEuMDAwMDUsLjk5OTk5LC45OTk3NywxLjAwMDE1LDEuMDAwMjIsLjk5OTc3LDEuMDAwMDEsLjk5OTczLDEuMDAwMjYsMS4wMDAwMSwxLjAwMDE5LDEuMDAwMDEsLjk5OTQ2LDEsMS4wMDA2LDEuMDAwMDEsLjk5OTc4LDEuMDAwNDUsLjk5OTczLC45OTkyNCwxLjAwMDIzLC45OTk3OCwuOTk5NjYsMSwxLjAwMDY1LDEuMDAwNDUsMS4wMDAxOSwuOTk5NzMsLjk5OTczLC45OTkyNCwxLDEsLjk2NDk5LDEsMS4wMDA1NSwuOTk5NzMsMS4wMDAwOCwxLjAwMDI3LDEsLjk5OTcsLjk5OTk1LDEuMDAwMjMsLjk5OTMzLDEuMDAwMTksMS4wMDAxNSwxLjAwMDMxLC45OTkyNCwxLjAwMDIzLC45OTk3MywxLjAwMDIzLDEuMDAwMzEsMS4wMDAwMSwuOTk5MjgsMS4wMDAyOSwxLjAwMDkyLDEuMDAwMzUsMS4wMDAwMSwxLjAwMDYsMS4wMDA2LDEsLjk5OTg4LC45OTk3NSwxLDEuMDAwODIsLjk5NTYxLC45OTk2LDEuMDAwMzUsMS4wMDAwMSwuOTk5NjIsMS4wMDAwMSwxLjAwMDkyLC45OTk2NCwxLjAwMDAxLC45OTk2MywuOTk5OTksMS4wMDAzNSwxLjAwMDM1LDEuMDAwODIsLjk5OTYyLC45OTk5OSwuOTk5NzcsMS4wMDAyMiwxLjAwMDM1LDEuMDAwMDEsLjk5OTc3LDEuMDAwMjYsLjk5OTYsLjk5OTY3LDEuMDAwMDEsMS4wMDAzNCwxLjAwMDc0LDEuMDAwNTQsMS4wMDA1MywxLjAwMDYzLC45OTk3MSwuOTk5NjIsMS4wMDAzNSwuOTk5NzUsLjk5OTc3LC45OTk3MywxLjAwMDQzLC45OTk1MywxLjAwMDcsLjk5OTE1LC45OTk3MywxLjAwMDA4LC45OTg5MiwxLjAwMDczLDEuMDAwNzMsMS4wMDExNCwuOTk5MTUsMS4wMDA3MywuOTk5NTUsLjk5OTczLDEuMDAwOTIsLjk5OTczLDEsLjk5OTk4LDEsMS4wMDAzLDEsMS4wMDA0MywxLjAwMDAxLC45OTk2OSwxLjAwMDMsMSwxLjAwMDM1LDEuMDAwMDEsLjk5OTUsMSwxLjAwMDkyLC45OTk3MywuOTk5NzMsLjk5OTczLDEuMDAwNywuOTk5NSwxLC45OTkyNCwxLjAwMDYsLjk5OTI0LC45OTk3MiwxLjAwMDYyLC45OTk3MywxLjAwMTE0LDEuMDAwNzMsMSwuOTk5NTUsMSwxLDEuMDAwNDcsLjk5OTY4LDEuMDAwMTYsLjk5OTc3LDEuMDAwMTYsLjk5OTc3LDEuMDAwMTYsLjk5OTc3LDEuMDAwMDEsMSwxLDEsLjk5OTczLDEsMSwuOTk5NTUsLjk5OTI0LC45OTkyNCwuOTk5MjQsLjk5OTI0LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk3MywuOTk5NzMsLjk5OTcyLDEsMSwxLjAwMjY3LC45OTk5OSwuOTk5OTgsLjk5OTk4LDEsLjk5OTk4LDEuNjY0NzUsMSwuOTk5NzMsLjk5OTczLDEuMDAwMjMsLjk5OTczLC45OTk3MSwuOTk5MjUsMS4wMDAyMywxLC45OTk5MSwuOTk5ODQsMS4wMDAwMiwxLjAwMDAyLDEuMDAwMDIsMS4wMDAwMiwxLDEsMSwxLDEsMSwxLC45NjMyOSwxLDEuMjA5ODUsMS4zOTcxMywxLjAwMDAzLC44MjU0LDEuMDAwMTUsMSwxLjAwMDM1LDEuMDAwMjcsMS4wMDAzMSwxLjAwMDMxLC45OTkxNSwxLjAwMDMxLDEuMDAwMzEsLjk5OTk5LDEuMDAwMDMsLjk5OTk5LC45OTk5OSwxLjQxMTQ0LDEuNiwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDA1NzksMS40MDU3OSwxLjM2NjI1LC45OTk5OSwxLC45OTg2MSwuOTk4NjEsMSwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LC45NTMxNywuOTk5OTksLjk5OTk5LC45OTk5OSwuOTk5OTksMS40MDQ4MywxLC45OTk3NywxLjAwMDU0LDEsMSwuOTk5NTMsLjk5OTYyLDEuMDAwNDIsLjk5OTUsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxXSxGaT17bGluZUhlaWdodDoxLjIsbGluZUdhcDouMn0sSWk9WzM2NSwwLDMzMywyNzgsMzMzLDQ3NCw1NTYsNTU2LDg4OSw3MjIsMjM4LDMzMywzMzMsMzg5LDU4NCwyNzgsMzMzLDI3OCwyNzgsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDMzMywzMzMsNTg0LDU4NCw1ODQsNjExLDk3NSw3MjIsNzIyLDcyMiw3MjIsNjY3LDYxMSw3NzgsNzIyLDI3OCw1NTYsNzIyLDYxMSw4MzMsNzIyLDc3OCw2NjcsNzc4LDcyMiw2NjcsNjExLDcyMiw2NjcsOTQ0LDY2Nyw2NjcsNjExLDMzMywyNzgsMzMzLDU4NCw1NTYsMzMzLDU1Niw2MTEsNTU2LDYxMSw1NTYsMzMzLDYxMSw2MTEsMjc4LDI3OCw1NTYsMjc4LDg4OSw2MTEsNjExLDYxMSw2MTEsMzg5LDU1NiwzMzMsNjExLDU1Niw3NzgsNTU2LDU1Niw1MDAsMzg5LDI4MCwzODksNTg0LDMzMyw1NTYsNTU2LDU1Niw1NTYsMjgwLDU1NiwzMzMsNzM3LDM3MCw1NTYsNTg0LDczNyw1NTIsNDAwLDU0OSwzMzMsMzMzLDMzMyw1NzYsNTU2LDI3OCwzMzMsMzMzLDM2NSw1NTYsODM0LDgzNCw4MzQsNjExLDcyMiw3MjIsNzIyLDcyMiw3MjIsNzIyLDFlMyw3MjIsNjY3LDY2Nyw2NjcsNjY3LDI3OCwyNzgsMjc4LDI3OCw3MjIsNzIyLDc3OCw3NzgsNzc4LDc3OCw3NzgsNTg0LDc3OCw3MjIsNzIyLDcyMiw3MjIsNjY3LDY2Nyw2MTEsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsODg5LDU1Niw1NTYsNTU2LDU1Niw1NTYsMjc4LDI3OCwyNzgsMjc4LDYxMSw2MTEsNjExLDYxMSw2MTEsNjExLDYxMSw1NDksNjExLDYxMSw2MTEsNjExLDYxMSw1NTYsNjExLDU1Niw3MjIsNTU2LDcyMiw1NTYsNzIyLDU1Niw3MjIsNTU2LDcyMiw1NTYsNzIyLDU1Niw3MjIsNTU2LDcyMiw3MTksNzIyLDYxMSw2NjcsNTU2LDY2Nyw1NTYsNjY3LDU1Niw2NjcsNTU2LDY2Nyw1NTYsNzc4LDYxMSw3NzgsNjExLDc3OCw2MTEsNzc4LDYxMSw3MjIsNjExLDcyMiw2MTEsMjc4LDI3OCwyNzgsMjc4LDI3OCwyNzgsMjc4LDI3OCwyNzgsMjc4LDc4NSw1NTYsNTU2LDI3OCw3MjIsNTU2LDU1Niw2MTEsMjc4LDYxMSwyNzgsNjExLDM4NSw2MTEsNDc5LDYxMSwyNzgsNzIyLDYxMSw3MjIsNjExLDcyMiw2MTEsNzA4LDcyMyw2MTEsNzc4LDYxMSw3NzgsNjExLDc3OCw2MTEsMWUzLDk0NCw3MjIsMzg5LDcyMiwzODksNzIyLDM4OSw2NjcsNTU2LDY2Nyw1NTYsNjY3LDU1Niw2NjcsNTU2LDYxMSwzMzMsNjExLDQ3OSw2MTEsMzMzLDcyMiw2MTEsNzIyLDYxMSw3MjIsNjExLDcyMiw2MTEsNzIyLDYxMSw3MjIsNjExLDk0NCw3NzgsNjY3LDU1Niw2NjcsNjExLDUwMCw2MTEsNTAwLDYxMSw1MDAsMjc4LDU1Niw3MjIsNTU2LDFlMyw4ODksNzc4LDYxMSw2NjcsNTU2LDYxMSwzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDQ2NSw3MjIsMzMzLDg1Myw5MDYsNDc0LDgyNSw5MjcsODM4LDI3OCw3MjIsNzIyLDYwMSw3MTksNjY3LDYxMSw3MjIsNzc4LDI3OCw3MjIsNjY3LDgzMyw3MjIsNjQ0LDc3OCw3MjIsNjY3LDYwMCw2MTEsNjY3LDgyMSw2NjcsODA5LDgwMiwyNzgsNjY3LDYxNSw0NTEsNjExLDI3OCw1ODIsNjE1LDYxMCw1NTYsNjA2LDQ3NSw0NjAsNjExLDU0MSwyNzgsNTU4LDU1Niw2MTIsNTU2LDQ0NSw2MTEsNzY2LDYxOSw1MjAsNjg0LDQ0Niw1ODIsNzE1LDU3Niw3NTMsODQ1LDI3OCw1ODIsNjExLDU4Miw4NDUsNjY3LDY2OSw4ODUsNTY3LDcxMSw2NjcsMjc4LDI3Niw1NTYsMTA5NCwxMDYyLDg3NSw2MTAsNzIyLDYyMiw3MTksNzIyLDcxOSw3MjIsNTY3LDcxMiw2NjcsOTA0LDYyNiw3MTksNzE5LDYxMCw3MDIsODMzLDcyMiw3NzgsNzE5LDY2Nyw3MjIsNjExLDYyMiw4NTQsNjY3LDczMCw3MDMsMTAwNSwxMDE5LDg3MCw5NzksNzE5LDcxMSwxMDMxLDcxOSw1NTYsNjE4LDYxNSw0MTcsNjM1LDU1Niw3MDksNDk3LDYxNSw2MTUsNTAwLDYzNSw3NDAsNjA0LDYxMSw2MDQsNjExLDU1Niw0OTAsNTU2LDg3NSw1NTYsNjE1LDU4MSw4MzMsODQ0LDcyOSw4NTQsNjE1LDU1Miw4NTQsNTgzLDU1Niw1NTYsNjExLDQxNyw1NTIsNTU2LDI3OCwyODEsMjc4LDk2OSw5MDYsNjExLDUwMCw2MTUsNTU2LDYwNCw3NzgsNjExLDQ4Nyw0NDcsOTQ0LDc3OCw5NDQsNzc4LDk0NCw3NzgsNjY3LDU1NiwzMzMsMzMzLDU1NiwxZTMsMWUzLDU1MiwyNzgsMjc4LDI3OCwyNzgsNTAwLDUwMCw1MDAsNTU2LDU1NiwzNTAsMWUzLDFlMywyNDAsNDc5LDMzMywzMzMsNjA0LDMzMywxNjcsMzk2LDU1Niw1NTYsMTA5NCw1NTYsODg1LDQ4OSwxMTE1LDFlMyw3NjgsNjAwLDgzNCw4MzQsODM0LDgzNCwxZTMsNTAwLDFlMyw1MDAsMWUzLDUwMCw1MDAsNDk0LDYxMiw4MjMsNzEzLDU4NCw1NDksNzEzLDk3OSw3MjIsMjc0LDU0OSw1NDksNTgzLDU0OSw1NDksNjA0LDU4NCw2MDQsNjA0LDcwOCw2MjUsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzI5LDYwNCw2MDQsMzU0LDM1NCwxZTMsOTkwLDk5MCw5OTAsOTkwLDQ5NCw2MDQsNjA0LDYwNCw2MDQsMzU0LDEwMjEsMTA1Miw5MTcsNzUwLDc1MCw1MzEsNjU2LDU5NCw1MTAsNTAwLDc1MCw3NTAsNjExLDYxMSwzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDIyMiwyMjIsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzM10sVGk9Wy0xLC0xLC0xLDMyLDMzLDM0LDM1LDM2LDM3LDM4LDM5LDQwLDQxLDQyLDQzLDQ0LDQ1LDQ2LDQ3LDQ4LDQ5LDUwLDUxLDUyLDUzLDU0LDU1LDU2LDU3LDU4LDU5LDYwLDYxLDYyLDYzLDY0LDY1LDY2LDY3LDY4LDY5LDcwLDcxLDcyLDczLDc0LDc1LDc2LDc3LDc4LDc5LDgwLDgxLDgyLDgzLDg0LDg1LDg2LDg3LDg4LDg5LDkwLDkxLDkyLDkzLDk0LDk1LDk2LDk3LDk4LDk5LDEwMCwxMDEsMTAyLDEwMywxMDQsMTA1LDEwNiwxMDcsMTA4LDEwOSwxMTAsMTExLDExMiwxMTMsMTE0LDExNSwxMTYsMTE3LDExOCwxMTksMTIwLDEyMSwxMjIsMTIzLDEyNCwxMjUsMTI2LDE2MSwxNjIsMTYzLDE2NCwxNjUsMTY2LDE2NywxNjgsMTY5LDE3MCwxNzEsMTcyLDE3NCwxNzUsMTc2LDE3NywxNzgsMTc5LDE4MCwxODEsMTgyLDE4MywxODQsMTg1LDE4NiwxODcsMTg4LDE4OSwxOTAsMTkxLDE5MiwxOTMsMTk0LDE5NSwxOTYsMTk3LDE5OCwxOTksMjAwLDIwMSwyMDIsMjAzLDIwNCwyMDUsMjA2LDIwNywyMDgsMjA5LDIxMCwyMTEsMjEyLDIxMywyMTQsMjE1LDIxNiwyMTcsMjE4LDIxOSwyMjAsMjIxLDIyMiwyMjMsMjI0LDIyNSwyMjYsMjI3LDIyOCwyMjksMjMwLDIzMSwyMzIsMjMzLDIzNCwyMzUsMjM2LDIzNywyMzgsMjM5LDI0MCwyNDEsMjQyLDI0MywyNDQsMjQ1LDI0NiwyNDcsMjQ4LDI0OSwyNTAsMjUxLDI1MiwyNTMsMjU0LDI1NSwyNTYsMjU3LDI1OCwyNTksMjYwLDI2MSwyNjIsMjYzLDI2NCwyNjUsMjY2LDI2NywyNjgsMjY5LDI3MCwyNzEsMjcyLDI3MywyNzQsMjc1LDI3NiwyNzcsMjc4LDI3OSwyODAsMjgxLDI4MiwyODMsMjg0LDI4NSwyODYsMjg3LDI4OCwyODksMjkwLDI5MSwyOTIsMjkzLDI5NCwyOTUsMjk2LDI5NywyOTgsMjk5LDMwMCwzMDEsMzAyLDMwMywzMDQsMzA1LDMwNiwzMDcsMzA4LDMwOSwzMTAsMzExLDMxMiwzMTMsMzE0LDMxNSwzMTYsMzE3LDMxOCwzMTksMzIwLDMyMSwzMjIsMzIzLDMyNCwzMjUsMzI2LDMyNywzMjgsMzI5LDMzMCwzMzEsMzMyLDMzMywzMzQsMzM1LDMzNiwzMzcsMzM4LDMzOSwzNDAsMzQxLDM0MiwzNDMsMzQ0LDM0NSwzNDYsMzQ3LDM0OCwzNDksMzUwLDM1MSwzNTIsMzUzLDM1NCwzNTUsMzU2LDM1NywzNTgsMzU5LDM2MCwzNjEsMzYyLDM2MywzNjQsMzY1LDM2NiwzNjcsMzY4LDM2OSwzNzAsMzcxLDM3MiwzNzMsMzc0LDM3NSwzNzYsMzc3LDM3OCwzNzksMzgwLDM4MSwzODIsMzgzLDQwMiw1MDYsNTA3LDUwOCw1MDksNTEwLDUxMSw1MzYsNTM3LDUzOCw1MzksNzEwLDcxMSw3MTMsNzI4LDcyOSw3MzAsNzMxLDczMiw3MzMsOTAwLDkwMSw5MDIsOTAzLDkwNCw5MDUsOTA2LDkwOCw5MTAsOTExLDkxMiw5MTMsOTE0LDkxNSw5MTYsOTE3LDkxOCw5MTksOTIwLDkyMSw5MjIsOTIzLDkyNCw5MjUsOTI2LDkyNyw5MjgsOTI5LDkzMSw5MzIsOTMzLDkzNCw5MzUsOTM2LDkzNyw5MzgsOTM5LDk0MCw5NDEsOTQyLDk0Myw5NDQsOTQ1LDk0Niw5NDcsOTQ4LDk0OSw5NTAsOTUxLDk1Miw5NTMsOTU0LDk1NSw5NTYsOTU3LDk1OCw5NTksOTYwLDk2MSw5NjIsOTYzLDk2NCw5NjUsOTY2LDk2Nyw5NjgsOTY5LDk3MCw5NzEsOTcyLDk3Myw5NzQsMTAyNCwxMDI1LDEwMjYsMTAyNywxMDI4LDEwMjksMTAzMCwxMDMxLDEwMzIsMTAzMywxMDM0LDEwMzUsMTAzNiwxMDM3LDEwMzgsMTAzOSwxMDQwLDEwNDEsMTA0MiwxMDQzLDEwNDQsMTA0NSwxMDQ2LDEwNDcsMTA0OCwxMDQ5LDEwNTAsMTA1MSwxMDUyLDEwNTMsMTA1NCwxMDU1LDEwNTYsMTA1NywxMDU4LDEwNTksMTA2MCwxMDYxLDEwNjIsMTA2MywxMDY0LDEwNjUsMTA2NiwxMDY3LDEwNjgsMTA2OSwxMDcwLDEwNzEsMTA3MiwxMDczLDEwNzQsMTA3NSwxMDc2LDEwNzcsMTA3OCwxMDc5LDEwODAsMTA4MSwxMDgyLDEwODMsMTA4NCwxMDg1LDEwODYsMTA4NywxMDg4LDEwODksMTA5MCwxMDkxLDEwOTIsMTA5MywxMDk0LDEwOTUsMTA5NiwxMDk3LDEwOTgsMTA5OSwxMTAwLDExMDEsMTEwMiwxMTAzLDExMDQsMTEwNSwxMTA2LDExMDcsMTEwOCwxMTA5LDExMTAsMTExMSwxMTEyLDExMTMsMTExNCwxMTE1LDExMTYsMTExNywxMTE4LDExMTksMTEzOCwxMTM5LDExNjgsMTE2OSw3ODA4LDc4MDksNzgxMCw3ODExLDc4MTIsNzgxMyw3OTIyLDc5MjMsODIwOCw4MjA5LDgyMTEsODIxMiw4MjEzLDgyMTUsODIxNiw4MjE3LDgyMTgsODIxOSw4MjIwLDgyMjEsODIyMiw4MjI0LDgyMjUsODIyNiw4MjMwLDgyNDAsODI0Miw4MjQzLDgyNDksODI1MCw4MjUyLDgyNTQsODI2MCw4MzE5LDgzNTUsODM1Niw4MzU5LDgzNjQsODQ1Myw4NDY3LDg0NzAsODQ4Miw4NDg2LDg0OTQsODUzOSw4NTQwLDg1NDEsODU0Miw4NTkyLDg1OTMsODU5NCw4NTk1LDg1OTYsODU5Nyw4NjE2LDg3MDYsODcxMCw4NzE5LDg3MjEsODcyMiw4NzMwLDg3MzQsODczNSw4NzQ1LDg3NDcsODc3Niw4ODAwLDg4MDEsODgwNCw4ODA1LDg5NjIsODk3Niw4OTkyLDg5OTMsOTQ3Miw5NDc0LDk0ODQsOTQ4OCw5NDkyLDk0OTYsOTUwMCw5NTA4LDk1MTYsOTUyNCw5NTMyLDk1NTIsOTU1Myw5NTU0LDk1NTUsOTU1Niw5NTU3LDk1NTgsOTU1OSw5NTYwLDk1NjEsOTU2Miw5NTYzLDk1NjQsOTU2NSw5NTY2LDk1NjcsOTU2OCw5NTY5LDk1NzAsOTU3MSw5NTcyLDk1NzMsOTU3NCw5NTc1LDk1NzYsOTU3Nyw5NTc4LDk1NzksOTU4MCw5NjAwLDk2MDQsOTYwOCw5NjEyLDk2MTYsOTYxNyw5NjE4LDk2MTksOTYzMiw5NjMzLDk2NDIsOTY0Myw5NjQ0LDk2NTAsOTY1OCw5NjYwLDk2NjgsOTY3NCw5Njc1LDk2NzksOTY4OCw5Njg5LDk3MDIsOTc4Niw5Nzg3LDk3ODgsOTc5Miw5Nzk0LDk4MjQsOTgyNyw5ODI5LDk4MzAsOTgzNCw5ODM1LDk4MzYsNjE0NDEsNjE0NDIsNjE0NDUsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTFdLE9pPVszNjUsMCwzMzMsMjc4LDMzMyw0NzQsNTU2LDU1Niw4ODksNzIyLDIzOCwzMzMsMzMzLDM4OSw1ODQsMjc4LDMzMywyNzgsMjc4LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1NiwzMzMsMzMzLDU4NCw1ODQsNTg0LDYxMSw5NzUsNzIyLDcyMiw3MjIsNzIyLDY2Nyw2MTEsNzc4LDcyMiwyNzgsNTU2LDcyMiw2MTEsODMzLDcyMiw3NzgsNjY3LDc3OCw3MjIsNjY3LDYxMSw3MjIsNjY3LDk0NCw2NjcsNjY3LDYxMSwzMzMsMjc4LDMzMyw1ODQsNTU2LDMzMyw1NTYsNjExLDU1Niw2MTEsNTU2LDMzMyw2MTEsNjExLDI3OCwyNzgsNTU2LDI3OCw4ODksNjExLDYxMSw2MTEsNjExLDM4OSw1NTYsMzMzLDYxMSw1NTYsNzc4LDU1Niw1NTYsNTAwLDM4OSwyODAsMzg5LDU4NCwzMzMsNTU2LDU1Niw1NTYsNTU2LDI4MCw1NTYsMzMzLDczNywzNzAsNTU2LDU4NCw3MzcsNTUyLDQwMCw1NDksMzMzLDMzMywzMzMsNTc2LDU1NiwyNzgsMzMzLDMzMywzNjUsNTU2LDgzNCw4MzQsODM0LDYxMSw3MjIsNzIyLDcyMiw3MjIsNzIyLDcyMiwxZTMsNzIyLDY2Nyw2NjcsNjY3LDY2NywyNzgsMjc4LDI3OCwyNzgsNzIyLDcyMiw3NzgsNzc4LDc3OCw3NzgsNzc4LDU4NCw3NzgsNzIyLDcyMiw3MjIsNzIyLDY2Nyw2NjcsNjExLDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDg4OSw1NTYsNTU2LDU1Niw1NTYsNTU2LDI3OCwyNzgsMjc4LDI3OCw2MTEsNjExLDYxMSw2MTEsNjExLDYxMSw2MTEsNTQ5LDYxMSw2MTEsNjExLDYxMSw2MTEsNTU2LDYxMSw1NTYsNzIyLDU1Niw3MjIsNTU2LDcyMiw1NTYsNzIyLDU1Niw3MjIsNTU2LDcyMiw1NTYsNzIyLDU1Niw3MjIsNzQwLDcyMiw2MTEsNjY3LDU1Niw2NjcsNTU2LDY2Nyw1NTYsNjY3LDU1Niw2NjcsNTU2LDc3OCw2MTEsNzc4LDYxMSw3NzgsNjExLDc3OCw2MTEsNzIyLDYxMSw3MjIsNjExLDI3OCwyNzgsMjc4LDI3OCwyNzgsMjc4LDI3OCwyNzgsMjc4LDI3OCw3ODIsNTU2LDU1NiwyNzgsNzIyLDU1Niw1NTYsNjExLDI3OCw2MTEsMjc4LDYxMSwzOTYsNjExLDQ3OSw2MTEsMjc4LDcyMiw2MTEsNzIyLDYxMSw3MjIsNjExLDcwOCw3MjMsNjExLDc3OCw2MTEsNzc4LDYxMSw3NzgsNjExLDFlMyw5NDQsNzIyLDM4OSw3MjIsMzg5LDcyMiwzODksNjY3LDU1Niw2NjcsNTU2LDY2Nyw1NTYsNjY3LDU1Niw2MTEsMzMzLDYxMSw0NzksNjExLDMzMyw3MjIsNjExLDcyMiw2MTEsNzIyLDYxMSw3MjIsNjExLDcyMiw2MTEsNzIyLDYxMSw5NDQsNzc4LDY2Nyw1NTYsNjY3LDYxMSw1MDAsNjExLDUwMCw2MTEsNTAwLDI3OCw1NTYsNzIyLDU1NiwxZTMsODg5LDc3OCw2MTEsNjY3LDU1Niw2MTEsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsNzIyLDMzMyw4NTQsOTA2LDQ3Myw4NDQsOTMwLDg0NywyNzgsNzIyLDcyMiw2MTAsNjcxLDY2Nyw2MTEsNzIyLDc3OCwyNzgsNzIyLDY2Nyw4MzMsNzIyLDY1Nyw3NzgsNzE4LDY2Nyw1OTAsNjExLDY2Nyw4MjIsNjY3LDgyOSw3ODEsMjc4LDY2Nyw2MjAsNDc5LDYxMSwyNzgsNTkxLDYyMCw2MjEsNTU2LDYxMCw0NzksNDkyLDYxMSw1NTgsMjc4LDU2Niw1NTYsNjAzLDU1Niw0NTAsNjExLDcxMiw2MDUsNTMyLDY2NCw0MDksNTkxLDcwNCw1NzgsNzczLDgzNCwyNzgsNTkxLDYxMSw1OTEsODM0LDY2Nyw2NjcsODg2LDYxNCw3MTksNjY3LDI3OCwyNzgsNTU2LDEwOTQsMTA0Miw4NTQsNjIyLDcxOSw2NzcsNzE5LDcyMiw3MDgsNzIyLDYxNCw3MjIsNjY3LDkyNyw2NDMsNzE5LDcxOSw2MTUsNjg3LDgzMyw3MjIsNzc4LDcxOSw2NjcsNzIyLDYxMSw2NzcsNzgxLDY2Nyw3MjksNzA4LDk3OSw5ODksODU0LDFlMyw3MDgsNzE5LDEwNDIsNzI5LDU1Niw2MTksNjA0LDUzNCw2MTgsNTU2LDczNiw1MTAsNjExLDYxMSw1MDcsNjIyLDc0MCw2MDQsNjExLDYxMSw2MTEsNTU2LDg4OSw1NTYsODg1LDU1Niw2NDYsNTgzLDg4OSw5MzUsNzA3LDg1NCw1OTQsNTUyLDg2NSw1ODksNTU2LDU1Niw2MTEsNDY5LDU2Myw1NTYsMjc4LDI3OCwyNzgsOTY5LDkwNiw2MTEsNTA3LDYxOSw1NTYsNjExLDc3OCw2MTEsNTc1LDQ2Nyw5NDQsNzc4LDk0NCw3NzgsOTQ0LDc3OCw2NjcsNTU2LDMzMywzMzMsNTU2LDFlMywxZTMsNTUyLDI3OCwyNzgsMjc4LDI3OCw1MDAsNTAwLDUwMCw1NTYsNTU2LDM1MCwxZTMsMWUzLDI0MCw0NzksMzMzLDMzMyw2MDQsMzMzLDE2NywzOTYsNTU2LDU1NiwxMTA0LDU1Niw4ODUsNTE2LDExNDYsMWUzLDc2OCw2MDAsODM0LDgzNCw4MzQsODM0LDk5OSw1MDAsMWUzLDUwMCwxZTMsNTAwLDUwMCw0OTQsNjEyLDgyMyw3MTMsNTg0LDU0OSw3MTMsOTc5LDcyMiwyNzQsNTQ5LDU0OSw1ODMsNTQ5LDU0OSw2MDQsNTg0LDYwNCw2MDQsNzA4LDYyNSw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MjksNjA0LDYwNCwzNTQsMzU0LDFlMyw5OTAsOTkwLDk5MCw5OTAsNDk0LDYwNCw2MDQsNjA0LDYwNCwzNTQsMTAyMSwxMDUyLDkxNyw3NTAsNzUwLDUzMSw2NTYsNTk0LDUxMCw1MDAsNzUwLDc1MCw2MTEsNjExLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMjIyLDIyMiwzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzXSxNaT1bLTEsLTEsLTEsMzIsMzMsMzQsMzUsMzYsMzcsMzgsMzksNDAsNDEsNDIsNDMsNDQsNDUsNDYsNDcsNDgsNDksNTAsNTEsNTIsNTMsNTQsNTUsNTYsNTcsNTgsNTksNjAsNjEsNjIsNjMsNjQsNjUsNjYsNjcsNjgsNjksNzAsNzEsNzIsNzMsNzQsNzUsNzYsNzcsNzgsNzksODAsODEsODIsODMsODQsODUsODYsODcsODgsODksOTAsOTEsOTIsOTMsOTQsOTUsOTYsOTcsOTgsOTksMTAwLDEwMSwxMDIsMTAzLDEwNCwxMDUsMTA2LDEwNywxMDgsMTA5LDExMCwxMTEsMTEyLDExMywxMTQsMTE1LDExNiwxMTcsMTE4LDExOSwxMjAsMTIxLDEyMiwxMjMsMTI0LDEyNSwxMjYsMTYxLDE2MiwxNjMsMTY0LDE2NSwxNjYsMTY3LDE2OCwxNjksMTcwLDE3MSwxNzIsMTc0LDE3NSwxNzYsMTc3LDE3OCwxNzksMTgwLDE4MSwxODIsMTgzLDE4NCwxODUsMTg2LDE4NywxODgsMTg5LDE5MCwxOTEsMTkyLDE5MywxOTQsMTk1LDE5NiwxOTcsMTk4LDE5OSwyMDAsMjAxLDIwMiwyMDMsMjA0LDIwNSwyMDYsMjA3LDIwOCwyMDksMjEwLDIxMSwyMTIsMjEzLDIxNCwyMTUsMjE2LDIxNywyMTgsMjE5LDIyMCwyMjEsMjIyLDIyMywyMjQsMjI1LDIyNiwyMjcsMjI4LDIyOSwyMzAsMjMxLDIzMiwyMzMsMjM0LDIzNSwyMzYsMjM3LDIzOCwyMzksMjQwLDI0MSwyNDIsMjQzLDI0NCwyNDUsMjQ2LDI0NywyNDgsMjQ5LDI1MCwyNTEsMjUyLDI1MywyNTQsMjU1LDI1NiwyNTcsMjU4LDI1OSwyNjAsMjYxLDI2MiwyNjMsMjY0LDI2NSwyNjYsMjY3LDI2OCwyNjksMjcwLDI3MSwyNzIsMjczLDI3NCwyNzUsMjc2LDI3NywyNzgsMjc5LDI4MCwyODEsMjgyLDI4MywyODQsMjg1LDI4NiwyODcsMjg4LDI4OSwyOTAsMjkxLDI5MiwyOTMsMjk0LDI5NSwyOTYsMjk3LDI5OCwyOTksMzAwLDMwMSwzMDIsMzAzLDMwNCwzMDUsMzA2LDMwNywzMDgsMzA5LDMxMCwzMTEsMzEyLDMxMywzMTQsMzE1LDMxNiwzMTcsMzE4LDMxOSwzMjAsMzIxLDMyMiwzMjMsMzI0LDMyNSwzMjYsMzI3LDMyOCwzMjksMzMwLDMzMSwzMzIsMzMzLDMzNCwzMzUsMzM2LDMzNywzMzgsMzM5LDM0MCwzNDEsMzQyLDM0MywzNDQsMzQ1LDM0NiwzNDcsMzQ4LDM0OSwzNTAsMzUxLDM1MiwzNTMsMzU0LDM1NSwzNTYsMzU3LDM1OCwzNTksMzYwLDM2MSwzNjIsMzYzLDM2NCwzNjUsMzY2LDM2NywzNjgsMzY5LDM3MCwzNzEsMzcyLDM3MywzNzQsMzc1LDM3NiwzNzcsMzc4LDM3OSwzODAsMzgxLDM4MiwzODMsNDAyLDUwNiw1MDcsNTA4LDUwOSw1MTAsNTExLDUzNiw1MzcsNTM4LDUzOSw3MTAsNzExLDcxMyw3MjgsNzI5LDczMCw3MzEsNzMyLDczMyw5MDAsOTAxLDkwMiw5MDMsOTA0LDkwNSw5MDYsOTA4LDkxMCw5MTEsOTEyLDkxMyw5MTQsOTE1LDkxNiw5MTcsOTE4LDkxOSw5MjAsOTIxLDkyMiw5MjMsOTI0LDkyNSw5MjYsOTI3LDkyOCw5MjksOTMxLDkzMiw5MzMsOTM0LDkzNSw5MzYsOTM3LDkzOCw5MzksOTQwLDk0MSw5NDIsOTQzLDk0NCw5NDUsOTQ2LDk0Nyw5NDgsOTQ5LDk1MCw5NTEsOTUyLDk1Myw5NTQsOTU1LDk1Niw5NTcsOTU4LDk1OSw5NjAsOTYxLDk2Miw5NjMsOTY0LDk2NSw5NjYsOTY3LDk2OCw5NjksOTcwLDk3MSw5NzIsOTczLDk3NCwxMDI0LDEwMjUsMTAyNiwxMDI3LDEwMjgsMTAyOSwxMDMwLDEwMzEsMTAzMiwxMDMzLDEwMzQsMTAzNSwxMDM2LDEwMzcsMTAzOCwxMDM5LDEwNDAsMTA0MSwxMDQyLDEwNDMsMTA0NCwxMDQ1LDEwNDYsMTA0NywxMDQ4LDEwNDksMTA1MCwxMDUxLDEwNTIsMTA1MywxMDU0LDEwNTUsMTA1NiwxMDU3LDEwNTgsMTA1OSwxMDYwLDEwNjEsMTA2MiwxMDYzLDEwNjQsMTA2NSwxMDY2LDEwNjcsMTA2OCwxMDY5LDEwNzAsMTA3MSwxMDcyLDEwNzMsMTA3NCwxMDc1LDEwNzYsMTA3NywxMDc4LDEwNzksMTA4MCwxMDgxLDEwODIsMTA4MywxMDg0LDEwODUsMTA4NiwxMDg3LDEwODgsMTA4OSwxMDkwLDEwOTEsMTA5MiwxMDkzLDEwOTQsMTA5NSwxMDk2LDEwOTcsMTA5OCwxMDk5LDExMDAsMTEwMSwxMTAyLDExMDMsMTEwNCwxMTA1LDExMDYsMTEwNywxMTA4LDExMDksMTExMCwxMTExLDExMTIsMTExMywxMTE0LDExMTUsMTExNiwxMTE3LDExMTgsMTExOSwxMTM4LDExMzksMTE2OCwxMTY5LDc4MDgsNzgwOSw3ODEwLDc4MTEsNzgxMiw3ODEzLDc5MjIsNzkyMyw4MjA4LDgyMDksODIxMSw4MjEyLDgyMTMsODIxNSw4MjE2LDgyMTcsODIxOCw4MjE5LDgyMjAsODIyMSw4MjIyLDgyMjQsODIyNSw4MjI2LDgyMzAsODI0MCw4MjQyLDgyNDMsODI0OSw4MjUwLDgyNTIsODI1NCw4MjYwLDgzMTksODM1NSw4MzU2LDgzNTksODM2NCw4NDUzLDg0NjcsODQ3MCw4NDgyLDg0ODYsODQ5NCw4NTM5LDg1NDAsODU0MSw4NTQyLDg1OTIsODU5Myw4NTk0LDg1OTUsODU5Niw4NTk3LDg2MTYsODcwNiw4NzEwLDg3MTksODcyMSw4NzIyLDg3MzAsODczNCw4NzM1LDg3NDUsODc0Nyw4Nzc2LDg4MDAsODgwMSw4ODA0LDg4MDUsODk2Miw4OTc2LDg5OTIsODk5Myw5NDcyLDk0NzQsOTQ4NCw5NDg4LDk0OTIsOTQ5Niw5NTAwLDk1MDgsOTUxNiw5NTI0LDk1MzIsOTU1Miw5NTUzLDk1NTQsOTU1NSw5NTU2LDk1NTcsOTU1OCw5NTU5LDk1NjAsOTU2MSw5NTYyLDk1NjMsOTU2NCw5NTY1LDk1NjYsOTU2Nyw5NTY4LDk1NjksOTU3MCw5NTcxLDk1NzIsOTU3Myw5NTc0LDk1NzUsOTU3Niw5NTc3LDk1NzgsOTU3OSw5NTgwLDk2MDAsOTYwNCw5NjA4LDk2MTIsOTYxNiw5NjE3LDk2MTgsOTYxOSw5NjMyLDk2MzMsOTY0Miw5NjQzLDk2NDQsOTY1MCw5NjU4LDk2NjAsOTY2OCw5Njc0LDk2NzUsOTY3OSw5Njg4LDk2ODksOTcwMiw5Nzg2LDk3ODcsOTc4OCw5NzkyLDk3OTQsOTgyNCw5ODI3LDk4MjksOTgzMCw5ODM0LDk4MzUsOTgzNiw2MTQ0MSw2MTQ0Miw2MTQ0NSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMV0sRGk9WzM2NSwwLDMzMywyNzgsMjc4LDM1NSw1NTYsNTU2LDg4OSw2NjcsMTkxLDMzMywzMzMsMzg5LDU4NCwyNzgsMzMzLDI3OCwyNzgsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDI3OCwyNzgsNTg0LDU4NCw1ODQsNTU2LDEwMTUsNjY3LDY2Nyw3MjIsNzIyLDY2Nyw2MTEsNzc4LDcyMiwyNzgsNTAwLDY2Nyw1NTYsODMzLDcyMiw3NzgsNjY3LDc3OCw3MjIsNjY3LDYxMSw3MjIsNjY3LDk0NCw2NjcsNjY3LDYxMSwyNzgsMjc4LDI3OCw0NjksNTU2LDMzMyw1NTYsNTU2LDUwMCw1NTYsNTU2LDI3OCw1NTYsNTU2LDIyMiwyMjIsNTAwLDIyMiw4MzMsNTU2LDU1Niw1NTYsNTU2LDMzMyw1MDAsMjc4LDU1Niw1MDAsNzIyLDUwMCw1MDAsNTAwLDMzNCwyNjAsMzM0LDU4NCwzMzMsNTU2LDU1Niw1NTYsNTU2LDI2MCw1NTYsMzMzLDczNywzNzAsNTU2LDU4NCw3MzcsNTUyLDQwMCw1NDksMzMzLDMzMywzMzMsNTc2LDUzNywyNzgsMzMzLDMzMywzNjUsNTU2LDgzNCw4MzQsODM0LDYxMSw2NjcsNjY3LDY2Nyw2NjcsNjY3LDY2NywxZTMsNzIyLDY2Nyw2NjcsNjY3LDY2NywyNzgsMjc4LDI3OCwyNzgsNzIyLDcyMiw3NzgsNzc4LDc3OCw3NzgsNzc4LDU4NCw3NzgsNzIyLDcyMiw3MjIsNzIyLDY2Nyw2NjcsNjExLDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDg4OSw1MDAsNTU2LDU1Niw1NTYsNTU2LDI3OCwyNzgsMjc4LDI3OCw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTQ5LDYxMSw1NTYsNTU2LDU1Niw1NTYsNTAwLDU1Niw1MDAsNjY3LDU1Niw2NjcsNTU2LDY2Nyw1NTYsNzIyLDUwMCw3MjIsNTAwLDcyMiw1MDAsNzIyLDUwMCw3MjIsNjI1LDcyMiw1NTYsNjY3LDU1Niw2NjcsNTU2LDY2Nyw1NTYsNjY3LDU1Niw2NjcsNTU2LDc3OCw1NTYsNzc4LDU1Niw3NzgsNTU2LDc3OCw1NTYsNzIyLDU1Niw3MjIsNTU2LDI3OCwyNzgsMjc4LDI3OCwyNzgsMjc4LDI3OCwyMjIsMjc4LDI3OCw3MzMsNDQ0LDUwMCwyMjIsNjY3LDUwMCw1MDAsNTU2LDIyMiw1NTYsMjIyLDU1NiwyODEsNTU2LDQwMCw1NTYsMjIyLDcyMiw1NTYsNzIyLDU1Niw3MjIsNTU2LDYxNSw3MjMsNTU2LDc3OCw1NTYsNzc4LDU1Niw3NzgsNTU2LDFlMyw5NDQsNzIyLDMzMyw3MjIsMzMzLDcyMiwzMzMsNjY3LDUwMCw2NjcsNTAwLDY2Nyw1MDAsNjY3LDUwMCw2MTEsMjc4LDYxMSwzNTQsNjExLDI3OCw3MjIsNTU2LDcyMiw1NTYsNzIyLDU1Niw3MjIsNTU2LDcyMiw1NTYsNzIyLDU1Niw5NDQsNzIyLDY2Nyw1MDAsNjY3LDYxMSw1MDAsNjExLDUwMCw2MTEsNTAwLDIyMiw1NTYsNjY3LDU1NiwxZTMsODg5LDc3OCw2MTEsNjY3LDUwMCw2MTEsMjc4LDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsNjY3LDI3OCw3ODksODQ2LDM4OSw3OTQsODY1LDc3NSwyMjIsNjY3LDY2Nyw1NzAsNjcxLDY2Nyw2MTEsNzIyLDc3OCwyNzgsNjY3LDY2Nyw4MzMsNzIyLDY0OCw3NzgsNzI1LDY2Nyw2MDAsNjExLDY2Nyw4MzcsNjY3LDgzMSw3NjEsMjc4LDY2Nyw1NzAsNDM5LDU1NSwyMjIsNTUwLDU3MCw1NzEsNTAwLDU1Niw0MzksNDYzLDU1NSw1NDIsMjIyLDUwMCw0OTIsNTQ4LDUwMCw0NDcsNTU2LDY3MCw1NzMsNDg2LDYwMywzNzQsNTUwLDY1Miw1NDYsNzI4LDc3OSwyMjIsNTUwLDU1Niw1NTAsNzc5LDY2Nyw2NjcsODQzLDU0NCw3MDgsNjY3LDI3OCwyNzgsNTAwLDEwNjYsOTgyLDg0NCw1ODksNzE1LDYzOSw3MjQsNjY3LDY1MSw2NjcsNTQ0LDcwNCw2NjcsOTE3LDYxNCw3MTUsNzE1LDU4OSw2ODYsODMzLDcyMiw3NzgsNzI1LDY2Nyw3MjIsNjExLDYzOSw3OTUsNjY3LDcyNyw2NzMsOTIwLDkyMyw4MDUsODg2LDY1MSw2OTQsMTAyMiw2ODIsNTU2LDU2Miw1MjIsNDkzLDU1Myw1NTYsNjg4LDQ2NSw1NTYsNTU2LDQ3Miw1NjQsNjg2LDU1MCw1NTYsNTU2LDU1Niw1MDAsODMzLDUwMCw4MzUsNTAwLDU3Miw1MTgsODMwLDg1MSw2MjEsNzM2LDUyNiw0OTIsNzUyLDUzNCw1NTYsNTU2LDU1NiwzNzgsNDk2LDUwMCwyMjIsMjIyLDIyMiw5MTAsODI4LDU1Niw0NzIsNTY1LDUwMCw1NTYsNzc4LDU1Niw0OTIsMzM5LDk0NCw3MjIsOTQ0LDcyMiw5NDQsNzIyLDY2Nyw1MDAsMzMzLDMzMyw1NTYsMWUzLDFlMyw1NTIsMjIyLDIyMiwyMjIsMjIyLDMzMywzMzMsMzMzLDU1Niw1NTYsMzUwLDFlMywxZTMsMTg4LDM1NCwzMzMsMzMzLDUwMCwzMzMsMTY3LDM2NSw1NTYsNTU2LDEwOTQsNTU2LDg4NSwzMjMsMTA4MywxZTMsNzY4LDYwMCw4MzQsODM0LDgzNCw4MzQsMWUzLDUwMCw5OTgsNTAwLDFlMyw1MDAsNTAwLDQ5NCw2MTIsODIzLDcxMyw1ODQsNTQ5LDcxMyw5NzksNzE5LDI3NCw1NDksNTQ5LDU4NCw1NDksNTQ5LDYwNCw1ODQsNjA0LDYwNCw3MDgsNjI1LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcyOSw2MDQsNjA0LDM1NCwzNTQsMWUzLDk5MCw5OTAsOTkwLDk5MCw0OTQsNjA0LDYwNCw2MDQsNjA0LDM1NCwxMDIxLDEwNTIsOTE3LDc1MCw3NTAsNTMxLDY1Niw1OTQsNTEwLDUwMCw3NTAsNzUwLDUwMCw1MDAsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywyMjIsMjIyLDI5NCwyOTQsMzI0LDMyNCwzMTYsMzI4LDM5OCwyODVdLEJpPVstMSwtMSwtMSwzMiwzMywzNCwzNSwzNiwzNywzOCwzOSw0MCw0MSw0Miw0Myw0NCw0NSw0Niw0Nyw0OCw0OSw1MCw1MSw1Miw1Myw1NCw1NSw1Niw1Nyw1OCw1OSw2MCw2MSw2Miw2Myw2NCw2NSw2Niw2Nyw2OCw2OSw3MCw3MSw3Miw3Myw3NCw3NSw3Niw3Nyw3OCw3OSw4MCw4MSw4Miw4Myw4NCw4NSw4Niw4Nyw4OCw4OSw5MCw5MSw5Miw5Myw5NCw5NSw5Niw5Nyw5OCw5OSwxMDAsMTAxLDEwMiwxMDMsMTA0LDEwNSwxMDYsMTA3LDEwOCwxMDksMTEwLDExMSwxMTIsMTEzLDExNCwxMTUsMTE2LDExNywxMTgsMTE5LDEyMCwxMjEsMTIyLDEyMywxMjQsMTI1LDEyNiwxNjEsMTYyLDE2MywxNjQsMTY1LDE2NiwxNjcsMTY4LDE2OSwxNzAsMTcxLDE3MiwxNzQsMTc1LDE3NiwxNzcsMTc4LDE3OSwxODAsMTgxLDE4MiwxODMsMTg0LDE4NSwxODYsMTg3LDE4OCwxODksMTkwLDE5MSwxOTIsMTkzLDE5NCwxOTUsMTk2LDE5NywxOTgsMTk5LDIwMCwyMDEsMjAyLDIwMywyMDQsMjA1LDIwNiwyMDcsMjA4LDIwOSwyMTAsMjExLDIxMiwyMTMsMjE0LDIxNSwyMTYsMjE3LDIxOCwyMTksMjIwLDIyMSwyMjIsMjIzLDIyNCwyMjUsMjI2LDIyNywyMjgsMjI5LDIzMCwyMzEsMjMyLDIzMywyMzQsMjM1LDIzNiwyMzcsMjM4LDIzOSwyNDAsMjQxLDI0MiwyNDMsMjQ0LDI0NSwyNDYsMjQ3LDI0OCwyNDksMjUwLDI1MSwyNTIsMjUzLDI1NCwyNTUsMjU2LDI1NywyNTgsMjU5LDI2MCwyNjEsMjYyLDI2MywyNjQsMjY1LDI2NiwyNjcsMjY4LDI2OSwyNzAsMjcxLDI3MiwyNzMsMjc0LDI3NSwyNzYsMjc3LDI3OCwyNzksMjgwLDI4MSwyODIsMjgzLDI4NCwyODUsMjg2LDI4NywyODgsMjg5LDI5MCwyOTEsMjkyLDI5MywyOTQsMjk1LDI5NiwyOTcsMjk4LDI5OSwzMDAsMzAxLDMwMiwzMDMsMzA0LDMwNSwzMDYsMzA3LDMwOCwzMDksMzEwLDMxMSwzMTIsMzEzLDMxNCwzMTUsMzE2LDMxNywzMTgsMzE5LDMyMCwzMjEsMzIyLDMyMywzMjQsMzI1LDMyNiwzMjcsMzI4LDMyOSwzMzAsMzMxLDMzMiwzMzMsMzM0LDMzNSwzMzYsMzM3LDMzOCwzMzksMzQwLDM0MSwzNDIsMzQzLDM0NCwzNDUsMzQ2LDM0NywzNDgsMzQ5LDM1MCwzNTEsMzUyLDM1MywzNTQsMzU1LDM1NiwzNTcsMzU4LDM1OSwzNjAsMzYxLDM2MiwzNjMsMzY0LDM2NSwzNjYsMzY3LDM2OCwzNjksMzcwLDM3MSwzNzIsMzczLDM3NCwzNzUsMzc2LDM3NywzNzgsMzc5LDM4MCwzODEsMzgyLDM4Myw0MDIsNTA2LDUwNyw1MDgsNTA5LDUxMCw1MTEsNTM2LDUzNyw1MzgsNTM5LDcxMCw3MTEsNzEzLDcyOCw3MjksNzMwLDczMSw3MzIsNzMzLDkwMCw5MDEsOTAyLDkwMyw5MDQsOTA1LDkwNiw5MDgsOTEwLDkxMSw5MTIsOTEzLDkxNCw5MTUsOTE2LDkxNyw5MTgsOTE5LDkyMCw5MjEsOTIyLDkyMyw5MjQsOTI1LDkyNiw5MjcsOTI4LDkyOSw5MzEsOTMyLDkzMyw5MzQsOTM1LDkzNiw5MzcsOTM4LDkzOSw5NDAsOTQxLDk0Miw5NDMsOTQ0LDk0NSw5NDYsOTQ3LDk0OCw5NDksOTUwLDk1MSw5NTIsOTUzLDk1NCw5NTUsOTU2LDk1Nyw5NTgsOTU5LDk2MCw5NjEsOTYyLDk2Myw5NjQsOTY1LDk2Niw5NjcsOTY4LDk2OSw5NzAsOTcxLDk3Miw5NzMsOTc0LDEwMjQsMTAyNSwxMDI2LDEwMjcsMTAyOCwxMDI5LDEwMzAsMTAzMSwxMDMyLDEwMzMsMTAzNCwxMDM1LDEwMzYsMTAzNywxMDM4LDEwMzksMTA0MCwxMDQxLDEwNDIsMTA0MywxMDQ0LDEwNDUsMTA0NiwxMDQ3LDEwNDgsMTA0OSwxMDUwLDEwNTEsMTA1MiwxMDUzLDEwNTQsMTA1NSwxMDU2LDEwNTcsMTA1OCwxMDU5LDEwNjAsMTA2MSwxMDYyLDEwNjMsMTA2NCwxMDY1LDEwNjYsMTA2NywxMDY4LDEwNjksMTA3MCwxMDcxLDEwNzIsMTA3MywxMDc0LDEwNzUsMTA3NiwxMDc3LDEwNzgsMTA3OSwxMDgwLDEwODEsMTA4MiwxMDgzLDEwODQsMTA4NSwxMDg2LDEwODcsMTA4OCwxMDg5LDEwOTAsMTA5MSwxMDkyLDEwOTMsMTA5NCwxMDk1LDEwOTYsMTA5NywxMDk4LDEwOTksMTEwMCwxMTAxLDExMDIsMTEwMywxMTA0LDExMDUsMTEwNiwxMTA3LDExMDgsMTEwOSwxMTEwLDExMTEsMTExMiwxMTEzLDExMTQsMTExNSwxMTE2LDExMTcsMTExOCwxMTE5LDExMzgsMTEzOSwxMTY4LDExNjksNzgwOCw3ODA5LDc4MTAsNzgxMSw3ODEyLDc4MTMsNzkyMiw3OTIzLDgyMDgsODIwOSw4MjExLDgyMTIsODIxMyw4MjE1LDgyMTYsODIxNyw4MjE4LDgyMTksODIyMCw4MjIxLDgyMjIsODIyNCw4MjI1LDgyMjYsODIzMCw4MjQwLDgyNDIsODI0Myw4MjQ5LDgyNTAsODI1Miw4MjU0LDgyNjAsODMxOSw4MzU1LDgzNTYsODM1OSw4MzY0LDg0NTMsODQ2Nyw4NDcwLDg0ODIsODQ4Niw4NDk0LDg1MzksODU0MCw4NTQxLDg1NDIsODU5Miw4NTkzLDg1OTQsODU5NSw4NTk2LDg1OTcsODYxNiw4NzA2LDg3MTAsODcxOSw4NzIxLDg3MjIsODczMCw4NzM0LDg3MzUsODc0NSw4NzQ3LDg3NzYsODgwMCw4ODAxLDg4MDQsODgwNSw4OTYyLDg5NzYsODk5Miw4OTkzLDk0NzIsOTQ3NCw5NDg0LDk0ODgsOTQ5Miw5NDk2LDk1MDAsOTUwOCw5NTE2LDk1MjQsOTUzMiw5NTUyLDk1NTMsOTU1NCw5NTU1LDk1NTYsOTU1Nyw5NTU4LDk1NTksOTU2MCw5NTYxLDk1NjIsOTU2Myw5NTY0LDk1NjUsOTU2Niw5NTY3LDk1NjgsOTU2OSw5NTcwLDk1NzEsOTU3Miw5NTczLDk1NzQsOTU3NSw5NTc2LDk1NzcsOTU3OCw5NTc5LDk1ODAsOTYwMCw5NjA0LDk2MDgsOTYxMiw5NjE2LDk2MTcsOTYxOCw5NjE5LDk2MzIsOTYzMyw5NjQyLDk2NDMsOTY0NCw5NjUwLDk2NTgsOTY2MCw5NjY4LDk2NzQsOTY3NSw5Njc5LDk2ODgsOTY4OSw5NzAyLDk3ODYsOTc4Nyw5Nzg4LDk3OTIsOTc5NCw5ODI0LDk4MjcsOTgyOSw5ODMwLDk4MzQsOTgzNSw5ODM2LDYxNDQxLDYxNDQyLDYxNDQ1LC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xXSxSaT1bMzY1LDAsMzMzLDI3OCwyNzgsMzU1LDU1Niw1NTYsODg5LDY2NywxOTEsMzMzLDMzMywzODksNTg0LDI3OCwzMzMsMjc4LDI3OCw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsMjc4LDI3OCw1ODQsNTg0LDU4NCw1NTYsMTAxNSw2NjcsNjY3LDcyMiw3MjIsNjY3LDYxMSw3NzgsNzIyLDI3OCw1MDAsNjY3LDU1Niw4MzMsNzIyLDc3OCw2NjcsNzc4LDcyMiw2NjcsNjExLDcyMiw2NjcsOTQ0LDY2Nyw2NjcsNjExLDI3OCwyNzgsMjc4LDQ2OSw1NTYsMzMzLDU1Niw1NTYsNTAwLDU1Niw1NTYsMjc4LDU1Niw1NTYsMjIyLDIyMiw1MDAsMjIyLDgzMyw1NTYsNTU2LDU1Niw1NTYsMzMzLDUwMCwyNzgsNTU2LDUwMCw3MjIsNTAwLDUwMCw1MDAsMzM0LDI2MCwzMzQsNTg0LDMzMyw1NTYsNTU2LDU1Niw1NTYsMjYwLDU1NiwzMzMsNzM3LDM3MCw1NTYsNTg0LDczNyw1NTIsNDAwLDU0OSwzMzMsMzMzLDMzMyw1NzYsNTM3LDI3OCwzMzMsMzMzLDM2NSw1NTYsODM0LDgzNCw4MzQsNjExLDY2Nyw2NjcsNjY3LDY2Nyw2NjcsNjY3LDFlMyw3MjIsNjY3LDY2Nyw2NjcsNjY3LDI3OCwyNzgsMjc4LDI3OCw3MjIsNzIyLDc3OCw3NzgsNzc4LDc3OCw3NzgsNTg0LDc3OCw3MjIsNzIyLDcyMiw3MjIsNjY3LDY2Nyw2MTEsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsODg5LDUwMCw1NTYsNTU2LDU1Niw1NTYsMjc4LDI3OCwyNzgsMjc4LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NDksNjExLDU1Niw1NTYsNTU2LDU1Niw1MDAsNTU2LDUwMCw2NjcsNTU2LDY2Nyw1NTYsNjY3LDU1Niw3MjIsNTAwLDcyMiw1MDAsNzIyLDUwMCw3MjIsNTAwLDcyMiw2MTUsNzIyLDU1Niw2NjcsNTU2LDY2Nyw1NTYsNjY3LDU1Niw2NjcsNTU2LDY2Nyw1NTYsNzc4LDU1Niw3NzgsNTU2LDc3OCw1NTYsNzc4LDU1Niw3MjIsNTU2LDcyMiw1NTYsMjc4LDI3OCwyNzgsMjc4LDI3OCwyNzgsMjc4LDIyMiwyNzgsMjc4LDczNSw0NDQsNTAwLDIyMiw2NjcsNTAwLDUwMCw1NTYsMjIyLDU1NiwyMjIsNTU2LDI5Miw1NTYsMzM0LDU1NiwyMjIsNzIyLDU1Niw3MjIsNTU2LDcyMiw1NTYsNjA0LDcyMyw1NTYsNzc4LDU1Niw3NzgsNTU2LDc3OCw1NTYsMWUzLDk0NCw3MjIsMzMzLDcyMiwzMzMsNzIyLDMzMyw2NjcsNTAwLDY2Nyw1MDAsNjY3LDUwMCw2NjcsNTAwLDYxMSwyNzgsNjExLDM3NSw2MTEsMjc4LDcyMiw1NTYsNzIyLDU1Niw3MjIsNTU2LDcyMiw1NTYsNzIyLDU1Niw3MjIsNTU2LDk0NCw3MjIsNjY3LDUwMCw2NjcsNjExLDUwMCw2MTEsNTAwLDYxMSw1MDAsMjIyLDU1Niw2NjcsNTU2LDFlMyw4ODksNzc4LDYxMSw2NjcsNTAwLDYxMSwyNzgsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMyw2NjcsMjc4LDc4NCw4MzgsMzg0LDc3NCw4NTUsNzUyLDIyMiw2NjcsNjY3LDU1MSw2NjgsNjY3LDYxMSw3MjIsNzc4LDI3OCw2NjcsNjY4LDgzMyw3MjIsNjUwLDc3OCw3MjIsNjY3LDYxOCw2MTEsNjY3LDc5OCw2NjcsODM1LDc0OCwyNzgsNjY3LDU3OCw0NDYsNTU2LDIyMiw1NDcsNTc4LDU3NSw1MDAsNTU3LDQ0Niw0NDEsNTU2LDU1NiwyMjIsNTAwLDUwMCw1NzYsNTAwLDQ0OCw1NTYsNjkwLDU2OSw0ODIsNjE3LDM5NSw1NDcsNjQ4LDUyNSw3MTMsNzgxLDIyMiw1NDcsNTU2LDU0Nyw3ODEsNjY3LDY2Nyw4NjUsNTQyLDcxOSw2NjcsMjc4LDI3OCw1MDAsMTA1NywxMDEwLDg1NCw1ODMsNzIyLDYzNSw3MTksNjY3LDY1Niw2NjcsNTQyLDY3Nyw2NjcsOTIzLDYwNCw3MTksNzE5LDU4Myw2NTYsODMzLDcyMiw3NzgsNzE5LDY2Nyw3MjIsNjExLDYzNSw3NjAsNjY3LDc0MCw2NjcsOTE3LDkzOCw3OTIsODg1LDY1Niw3MTksMTAxMCw3MjIsNTU2LDU3Myw1MzEsMzY1LDU4Myw1NTYsNjY5LDQ1OCw1NTksNTU5LDQzOCw1ODMsNjg4LDU1Miw1NTYsNTQyLDU1Niw1MDAsNDU4LDUwMCw4MjMsNTAwLDU3Myw1MjEsODAyLDgyMyw2MjUsNzE5LDUyMSw1MTAsNzUwLDU0Miw1NTYsNTU2LDU1NiwzNjUsNTEwLDUwMCwyMjIsMjc4LDIyMiw5MDYsODEyLDU1Niw0MzgsNTU5LDUwMCw1NTIsNzc4LDU1Niw0ODksNDExLDk0NCw3MjIsOTQ0LDcyMiw5NDQsNzIyLDY2Nyw1MDAsMzMzLDMzMyw1NTYsMWUzLDFlMyw1NTIsMjIyLDIyMiwyMjIsMjIyLDMzMywzMzMsMzMzLDU1Niw1NTYsMzUwLDFlMywxZTMsMTg4LDM1NCwzMzMsMzMzLDUwMCwzMzMsMTY3LDM2NSw1NTYsNTU2LDEwOTQsNTU2LDg4NSwzMjMsMTA3MywxZTMsNzY4LDYwMCw4MzQsODM0LDgzNCw4MzQsMWUzLDUwMCwxZTMsNTAwLDFlMyw1MDAsNTAwLDQ5NCw2MTIsODIzLDcxMyw1ODQsNTQ5LDcxMyw5NzksNzE5LDI3NCw1NDksNTQ5LDU4Myw1NDksNTQ5LDYwNCw1ODQsNjA0LDYwNCw3MDgsNjI1LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcyOSw2MDQsNjA0LDM1NCwzNTQsMWUzLDk5MCw5OTAsOTkwLDk5MCw0OTQsNjA0LDYwNCw2MDQsNjA0LDM1NCwxMDIxLDEwNTIsOTE3LDc1MCw3NTAsNTMxLDY1Niw1OTQsNTEwLDUwMCw3NTAsNzUwLDUwMCw1MDAsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywyMjIsMjIyLDI5NCwyOTQsMzI0LDMyNCwzMTYsMzI4LDM5OCwyODVdLE5pPVstMSwtMSwtMSwzMiwzMywzNCwzNSwzNiwzNywzOCwzOSw0MCw0MSw0Miw0Myw0NCw0NSw0Niw0Nyw0OCw0OSw1MCw1MSw1Miw1Myw1NCw1NSw1Niw1Nyw1OCw1OSw2MCw2MSw2Miw2Myw2NCw2NSw2Niw2Nyw2OCw2OSw3MCw3MSw3Miw3Myw3NCw3NSw3Niw3Nyw3OCw3OSw4MCw4MSw4Miw4Myw4NCw4NSw4Niw4Nyw4OCw4OSw5MCw5MSw5Miw5Myw5NCw5NSw5Niw5Nyw5OCw5OSwxMDAsMTAxLDEwMiwxMDMsMTA0LDEwNSwxMDYsMTA3LDEwOCwxMDksMTEwLDExMSwxMTIsMTEzLDExNCwxMTUsMTE2LDExNywxMTgsMTE5LDEyMCwxMjEsMTIyLDEyMywxMjQsMTI1LDEyNiwxNjEsMTYyLDE2MywxNjQsMTY1LDE2NiwxNjcsMTY4LDE2OSwxNzAsMTcxLDE3MiwxNzQsMTc1LDE3NiwxNzcsMTc4LDE3OSwxODAsMTgxLDE4MiwxODMsMTg0LDE4NSwxODYsMTg3LDE4OCwxODksMTkwLDE5MSwxOTIsMTkzLDE5NCwxOTUsMTk2LDE5NywxOTgsMTk5LDIwMCwyMDEsMjAyLDIwMywyMDQsMjA1LDIwNiwyMDcsMjA4LDIwOSwyMTAsMjExLDIxMiwyMTMsMjE0LDIxNSwyMTYsMjE3LDIxOCwyMTksMjIwLDIyMSwyMjIsMjIzLDIyNCwyMjUsMjI2LDIyNywyMjgsMjI5LDIzMCwyMzEsMjMyLDIzMywyMzQsMjM1LDIzNiwyMzcsMjM4LDIzOSwyNDAsMjQxLDI0MiwyNDMsMjQ0LDI0NSwyNDYsMjQ3LDI0OCwyNDksMjUwLDI1MSwyNTIsMjUzLDI1NCwyNTUsMjU2LDI1NywyNTgsMjU5LDI2MCwyNjEsMjYyLDI2MywyNjQsMjY1LDI2NiwyNjcsMjY4LDI2OSwyNzAsMjcxLDI3MiwyNzMsMjc0LDI3NSwyNzYsMjc3LDI3OCwyNzksMjgwLDI4MSwyODIsMjgzLDI4NCwyODUsMjg2LDI4NywyODgsMjg5LDI5MCwyOTEsMjkyLDI5MywyOTQsMjk1LDI5NiwyOTcsMjk4LDI5OSwzMDAsMzAxLDMwMiwzMDMsMzA0LDMwNSwzMDYsMzA3LDMwOCwzMDksMzEwLDMxMSwzMTIsMzEzLDMxNCwzMTUsMzE2LDMxNywzMTgsMzE5LDMyMCwzMjEsMzIyLDMyMywzMjQsMzI1LDMyNiwzMjcsMzI4LDMyOSwzMzAsMzMxLDMzMiwzMzMsMzM0LDMzNSwzMzYsMzM3LDMzOCwzMzksMzQwLDM0MSwzNDIsMzQzLDM0NCwzNDUsMzQ2LDM0NywzNDgsMzQ5LDM1MCwzNTEsMzUyLDM1MywzNTQsMzU1LDM1NiwzNTcsMzU4LDM1OSwzNjAsMzYxLDM2MiwzNjMsMzY0LDM2NSwzNjYsMzY3LDM2OCwzNjksMzcwLDM3MSwzNzIsMzczLDM3NCwzNzUsMzc2LDM3NywzNzgsMzc5LDM4MCwzODEsMzgyLDM4Myw0MDIsNTA2LDUwNyw1MDgsNTA5LDUxMCw1MTEsNTM2LDUzNyw1MzgsNTM5LDcxMCw3MTEsNzEzLDcyOCw3MjksNzMwLDczMSw3MzIsNzMzLDkwMCw5MDEsOTAyLDkwMyw5MDQsOTA1LDkwNiw5MDgsOTEwLDkxMSw5MTIsOTEzLDkxNCw5MTUsOTE2LDkxNyw5MTgsOTE5LDkyMCw5MjEsOTIyLDkyMyw5MjQsOTI1LDkyNiw5MjcsOTI4LDkyOSw5MzEsOTMyLDkzMyw5MzQsOTM1LDkzNiw5MzcsOTM4LDkzOSw5NDAsOTQxLDk0Miw5NDMsOTQ0LDk0NSw5NDYsOTQ3LDk0OCw5NDksOTUwLDk1MSw5NTIsOTUzLDk1NCw5NTUsOTU2LDk1Nyw5NTgsOTU5LDk2MCw5NjEsOTYyLDk2Myw5NjQsOTY1LDk2Niw5NjcsOTY4LDk2OSw5NzAsOTcxLDk3Miw5NzMsOTc0LDEwMjQsMTAyNSwxMDI2LDEwMjcsMTAyOCwxMDI5LDEwMzAsMTAzMSwxMDMyLDEwMzMsMTAzNCwxMDM1LDEwMzYsMTAzNywxMDM4LDEwMzksMTA0MCwxMDQxLDEwNDIsMTA0MywxMDQ0LDEwNDUsMTA0NiwxMDQ3LDEwNDgsMTA0OSwxMDUwLDEwNTEsMTA1MiwxMDUzLDEwNTQsMTA1NSwxMDU2LDEwNTcsMTA1OCwxMDU5LDEwNjAsMTA2MSwxMDYyLDEwNjMsMTA2NCwxMDY1LDEwNjYsMTA2NywxMDY4LDEwNjksMTA3MCwxMDcxLDEwNzIsMTA3MywxMDc0LDEwNzUsMTA3NiwxMDc3LDEwNzgsMTA3OSwxMDgwLDEwODEsMTA4MiwxMDgzLDEwODQsMTA4NSwxMDg2LDEwODcsMTA4OCwxMDg5LDEwOTAsMTA5MSwxMDkyLDEwOTMsMTA5NCwxMDk1LDEwOTYsMTA5NywxMDk4LDEwOTksMTEwMCwxMTAxLDExMDIsMTEwMywxMTA0LDExMDUsMTEwNiwxMTA3LDExMDgsMTEwOSwxMTEwLDExMTEsMTExMiwxMTEzLDExMTQsMTExNSwxMTE2LDExMTcsMTExOCwxMTE5LDExMzgsMTEzOSwxMTY4LDExNjksNzgwOCw3ODA5LDc4MTAsNzgxMSw3ODEyLDc4MTMsNzkyMiw3OTIzLDgyMDgsODIwOSw4MjExLDgyMTIsODIxMyw4MjE1LDgyMTYsODIxNyw4MjE4LDgyMTksODIyMCw4MjIxLDgyMjIsODIyNCw4MjI1LDgyMjYsODIzMCw4MjQwLDgyNDIsODI0Myw4MjQ5LDgyNTAsODI1Miw4MjU0LDgyNjAsODMxOSw4MzU1LDgzNTYsODM1OSw4MzY0LDg0NTMsODQ2Nyw4NDcwLDg0ODIsODQ4Niw4NDk0LDg1MzksODU0MCw4NTQxLDg1NDIsODU5Miw4NTkzLDg1OTQsODU5NSw4NTk2LDg1OTcsODYxNiw4NzA2LDg3MTAsODcxOSw4NzIxLDg3MjIsODczMCw4NzM0LDg3MzUsODc0NSw4NzQ3LDg3NzYsODgwMCw4ODAxLDg4MDQsODgwNSw4OTYyLDg5NzYsODk5Miw4OTkzLDk0NzIsOTQ3NCw5NDg0LDk0ODgsOTQ5Miw5NDk2LDk1MDAsOTUwOCw5NTE2LDk1MjQsOTUzMiw5NTUyLDk1NTMsOTU1NCw5NTU1LDk1NTYsOTU1Nyw5NTU4LDk1NTksOTU2MCw5NTYxLDk1NjIsOTU2Myw5NTY0LDk1NjUsOTU2Niw5NTY3LDk1NjgsOTU2OSw5NTcwLDk1NzEsOTU3Miw5NTczLDk1NzQsOTU3NSw5NTc2LDk1NzcsOTU3OCw5NTc5LDk1ODAsOTYwMCw5NjA0LDk2MDgsOTYxMiw5NjE2LDk2MTcsOTYxOCw5NjE5LDk2MzIsOTYzMyw5NjQyLDk2NDMsOTY0NCw5NjUwLDk2NTgsOTY2MCw5NjY4LDk2NzQsOTY3NSw5Njc5LDk2ODgsOTY4OSw5NzAyLDk3ODYsOTc4Nyw5Nzg4LDk3OTIsOTc5NCw5ODI0LDk4MjcsOTgyOSw5ODMwLDk4MzQsOTgzNSw5ODM2LDYxNDQxLDYxNDQyLDYxNDQ1LC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xXSxFaT1bMS4zNjg5OCwxLDEsLjcyNzA2LC44MDQ3OSwuODM3MzQsLjk4ODk0LC45OTc5MywuOTg5NywuOTM4ODQsLjg2MjA5LC45NDI5MiwuOTQyOTIsMS4xNjY2MSwxLjAyMDU4LC45MzU4MiwuOTY2OTQsLjkzNTgyLDEuMTkxMzcsLjk5NzkzLC45OTc5MywuOTk3OTMsLjk5NzkzLC45OTc5MywuOTk3OTMsLjk5NzkzLC45OTc5MywuOTk3OTMsLjk5NzkzLC43ODA3NiwuNzgwNzYsMS4wMjA1OCwxLjAyMDU4LDEuMDIwNTgsLjcyODUxLC43ODk2NiwuOTA4MzgsLjgzNjM3LC44MjM5MSwuOTYzNzYsLjgwMDYxLC44NjI3NSwuODc2OCwuOTU0MDcsMS4wMjU4LC43MzkwMSwuODUwMjIsLjgzNjU1LDEuMDE1NiwuOTU1NDYsLjkyMTc5LC44NzEwNywuOTIxNzksLjgyMTE0LC44MDk2LC44OTcxMywuOTQ0MzgsLjk1MzUzLC45NDA4MywuOTE5MDUsLjkwNDA2LC45NDQ2LC45NDI5MiwxLjE4Nzc3LC45NDI5MiwxLjAyMDU4LC44OTkwMywuOTAwODgsLjk0OTM4LC45Nzg5OCwuODEwOTMsLjk3NTcxLC45NDkzOCwxLjAyNCwuOTU3NywuOTU5MzMsLjk4NjIxLDEuMDQ3NCwuOTc0NTUsLjk4OTgxLC45NjcyLC45NTkzMywuOTQ0NiwuOTc4OTgsLjk3NDA3LC45NzY0NiwuNzgwMzYsMS4xMDIwOCwuOTU0NDIsLjk1Mjk4LC45NzU3OSwuOTMzMiwuOTQwMzksLjkzOCwuODA2ODcsMS4wMTE0OSwuODA2ODcsMS4wMjA1OCwuODA0NzksLjk5NzkzLC45OTc5MywuOTk3OTMsLjk5NzkzLDEuMDExNDksMS4wMDg3MiwuOTAwODgsLjkxODgyLDEuMDIxMywuODM2MSwxLjAyMDU4LC42MjI5NSwuNTQzMjQsLjg5MDIyLDEuMDg1OTUsMSwxLC45MDA4OCwxLC45NzQ1NSwuOTM1ODIsLjkwMDg4LDEsMS4wNTY4NiwuODM2MSwuOTk2NDIsLjk5NjQyLC45OTY0MiwuNzI4NTEsLjkwODM4LC45MDgzOCwuOTA4MzgsLjkwODM4LC45MDgzOCwuOTA4MzgsLjg2OCwuODIzOTEsLjgwMDYxLC44MDA2MSwuODAwNjEsLjgwMDYxLDEuMDI1OCwxLjAyNTgsMS4wMjU4LDEuMDI1OCwuOTc0ODQsLjk1NTQ2LC45MjE3OSwuOTIxNzksLjkyMTc5LC45MjE3OSwuOTIxNzksMS4wMjA1OCwuOTIxNzksLjk0NDM4LC45NDQzOCwuOTQ0MzgsLjk0NDM4LC45MDQwNiwuODY5NTgsLjk4MjI1LC45NDkzOCwuOTQ5MzgsLjk0OTM4LC45NDkzOCwuOTQ5MzgsLjk0OTM4LC45MDMxLC44MTA5MywuOTQ5MzgsLjk0OTM4LC45NDkzOCwuOTQ5MzgsLjk4NjIxLC45ODYyMSwuOTg2MjEsLjk4NjIxLC45Mzk2OSwuOTU5MzMsLjk0NDYsLjk0NDYsLjk0NDYsLjk0NDYsLjk0NDYsMS4wODU5NSwuOTQ0NiwuOTU0NDIsLjk1NDQyLC45NTQ0MiwuOTU0NDIsLjk0MDM5LC45Nzg5OCwuOTQwMzksLjkwODM4LC45NDkzOCwuOTA4MzgsLjk0OTM4LC45MDgzOCwuOTQ5MzgsLjgyMzkxLC44MTA5MywuODIzOTEsLjgxMDkzLC44MjM5MSwuODEwOTMsLjgyMzkxLC44MTA5MywuOTYzNzYsLjg0MzEzLC45NzQ4NCwuOTc1NzEsLjgwMDYxLC45NDkzOCwuODAwNjEsLjk0OTM4LC44MDA2MSwuOTQ5MzgsLjgwMDYxLC45NDkzOCwuODAwNjEsLjk0OTM4LC44NzY4LC45NTc3LC44NzY4LC45NTc3LC44NzY4LC45NTc3LDEsMSwuOTU0MDcsLjk1OTMzLC45NzA2OSwuOTU5MzMsMS4wMjU4LC45ODYyMSwxLjAyNTgsLjk4NjIxLDEuMDI1OCwuOTg2MjEsMS4wMjU4LC45ODYyMSwxLjAyNTgsLjk4NjIxLC44ODcsMS4wMTU5MSwuNzM5MDEsMS4wNDc0LDEsMSwuOTc0NTUsLjgzNjU1LC45ODk4MSwxLDEsLjgzNjU1LC43Mzk3NywuODM2NTUsLjczOTAzLC44NDYzOCwxLjAzMywuOTU1NDYsLjk1OTMzLDEsMSwuOTU1NDYsLjk1OTMzLC44MjcxLC45NTQxNywuOTU5MzMsLjkyMTc5LC45NDQ2LC45MjE3OSwuOTQ0NiwuOTIxNzksLjk0NDYsLjkzNiwuOTE5NjQsLjgyMTE0LC45NzY0NiwxLDEsLjgyMTE0LC45NzY0NiwuODA5NiwuNzgwMzYsLjgwOTYsLjc4MDM2LDEsMSwuODA5NiwuNzgwMzYsMSwxLC44OTcxMywuNzc0NTIsLjg5NzEzLDEuMTAyMDgsLjk0NDM4LC45NTQ0MiwuOTQ0MzgsLjk1NDQyLC45NDQzOCwuOTU0NDIsLjk0NDM4LC45NTQ0MiwuOTQ0MzgsLjk1NDQyLC45NDQzOCwuOTU0NDIsLjk0MDgzLC45NzU3OSwuOTA0MDYsLjk0MDM5LC45MDQwNiwuOTQ0NiwuOTM4LC45NDQ2LC45MzgsLjk0NDYsLjkzOCwxLC45OTc5MywuOTA4MzgsLjk0OTM4LC44NjgsLjkwMzEsLjkyMTc5LC45NDQ2LDEsMSwuODk3MTMsMS4xMDIwOCwuOTAwODgsLjkwMDg4LC45MDA4OCwuOTAwODgsLjkwMDg4LC45MDA4OCwuOTAwODgsLjkwMDg4LC45MDA4OCwuOTA5ODksLjkzNTgsLjkxOTQ1LC44MzE4MSwuNzUyNjEsLjg3OTkyLC44Mjk3NiwuOTYwMzQsLjgzNjg5LC45NzI2OCwxLjAwNzgsLjkwODM4LC44MzYzNywuODAxOSwuOTAxNTcsLjgwMDYxLC45NDQ2LC45NTQwNywuOTI0MzYsMS4wMjU4LC44NTAyMiwuOTcxNTMsMS4wMTU2LC45NTU0NiwuODkxOTIsLjkyMTc5LC45MjM2MSwuODcxMDcsLjk2MzE4LC44OTcxMywuOTM3MDQsLjk1NjM4LC45MTkwNSwuOTE3MDksLjkyNzk2LDEuMDI1OCwuOTM3MDQsLjk0ODM2LDEuMDM3MywuOTU5MzMsMS4wMDc4LC45NTg3MSwuOTQ4MzYsLjk2MTc0LC45MjYwMSwuOTQ5OCwuOTg2MDcsLjk1Nzc2LC45NTkzMywxLjA1NDUzLDEuMDA3OCwuOTgyNzUsLjkzMTQsLjk1NjE3LC45MTcwMSwxLjA1OTkzLC45NDQ2LC43ODM2NywuOTU1MywxLC44NjgzMiwxLjAxMjgsLjk1ODcxLC45OTM5NCwuODc1NDgsLjk2MzYxLC44Njc3NCwxLjAwNzgsLjk1ODcxLC45NDQ2LC45NTg3MSwuODY3NzQsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuOTQwODMsLjk3NTc5LC45NDA4MywuOTc1NzksLjk0MDgzLC45NzU3OSwuOTA0MDYsLjk0MDM5LC45NjY5NCwxLC44OTkwMywxLDEsMSwuOTM1ODIsLjkzNTgyLC45MzU4MiwxLC45MDgsLjkwOCwuOTE4LC45NDIxOSwuOTQyMTksLjk2NTQ0LDEsMS4yODUsMSwxLC44MTA3OSwuODEwNzksMSwxLC43NDg1NCwxLDEsMSwxLC45OTc5MywxLDEsMSwuNjUsMSwxLjM2MTQ1LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLjE3MTczLDEsLjgwNTM1LC43NjE2OSwxLjAyMDU4LDEuMDczMiwxLjA1NDg2LDEsMSwxLjMwNjkyLDEuMDg1OTUsMS4wODU5NSwxLDEuMDg1OTUsMS4wODU5NSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEuMTYxNjEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMV0sUGk9e2xpbmVIZWlnaHQ6MS4yLGxpbmVHYXA6LjJ9LGppPVsxLjM2ODk4LDEsMSwuNjYyMjcsLjgwNzc5LC44MTYyNSwuOTcyNzYsLjk3Mjc2LC45NzczMywuOTIyMjIsLjgzMjY2LC45NDI5MiwuOTQyOTIsMS4xNjE0OCwxLjAyMDU4LC45MzU4MiwuOTY2OTQsLjkzNTgyLDEuMTczMzcsLjk3Mjc2LC45NzI3NiwuOTcyNzYsLjk3Mjc2LC45NzI3NiwuOTcyNzYsLjk3Mjc2LC45NzI3NiwuOTcyNzYsLjk3Mjc2LC43ODA3NiwuNzgwNzYsMS4wMjA1OCwxLjAyMDU4LDEuMDIwNTgsLjcxNTQxLC43NjgxMywuODU1NzYsLjgwNTkxLC44MDcyOSwuOTQyOTksLjc3NTEyLC44MzY1NSwuODY1MjMsLjkyMjIyLC45ODYyMSwuNzE3NDMsLjgxNjk4LC43OTcyNiwuOTg1NTgsLjkyMjIyLC45MDYzNywuODM4MDksLjkwNjM3LC44MDcyOSwuNzY0NjMsLjg2Mjc1LC45MDY5OSwuOTE2MDUsLjkxNTQsLjg1MzA4LC44NTQ1OCwuOTA1MzEsLjk0MjkyLDEuMjEyOTYsLjk0MjkyLDEuMDIwNTgsLjg5OTAzLDEuMTg2MTYsLjk5NjEzLC45MTY3NywuNzgyMTYsLjkxNjc3LC45MDA4MywuOTg3OTYsLjkxMzUsLjkyMTY4LC45NTM4MSwuOTg5ODEsLjk1Mjk4LC45NTM4MSwuOTM0NTksLjkyMTY4LC45MTUxMywuOTIwMDQsLjkxNjc3LC45NTA3NywuNzQ4LDEuMDQ1MDIsLjkxNjc3LC45MjA2MSwuOTQyMzYsLjg5NTQ0LC44OTM2NCwuOSwuODA2ODcsLjg1NzgsLjgwNjg3LDEuMDIwNTgsLjgwNzc5LC45NzI3NiwuOTcyNzYsLjk3Mjc2LC45NzI3NiwuODU3OCwuOTk5NzMsMS4xODYxNiwuOTEzMzksMS4wODA3NCwuODI4OTEsMS4wMjA1OCwuNTU1MDksLjcxNTI2LC44OTAyMiwxLjA4NTk1LDEsMSwxLjE4NjE2LDEsLjk2NzM2LC45MzU4MiwxLjE4NjE2LDEsMS4wNDg2NCwuODI3MTEsLjk5MDQzLC45OTA0MywuOTkwNDMsLjcxNTQxLC44NTU3NiwuODU1NzYsLjg1NTc2LC44NTU3NiwuODU1NzYsLjg1NTc2LC44NDUsLjgwNzI5LC43NzUxMiwuNzc1MTIsLjc3NTEyLC43NzUxMiwuOTg2MjEsLjk4NjIxLC45ODYyMSwuOTg2MjEsLjk1OTYxLC45MjIyMiwuOTA2MzcsLjkwNjM3LC45MDYzNywuOTA2MzcsLjkwNjM3LDEuMDIwNTgsLjkwMjUxLC45MDY5OSwuOTA2OTksLjkwNjk5LC45MDY5OSwuODU0NTgsLjgzNjU5LC45NDk1MSwuOTk2MTMsLjk5NjEzLC45OTYxMywuOTk2MTMsLjk5NjEzLC45OTYxMywuODU4MTEsLjc4MjE2LC45MDA4MywuOTAwODMsLjkwMDgzLC45MDA4MywuOTUzODEsLjk1MzgxLC45NTM4MSwuOTUzODEsLjkxMzUsLjkyMTY4LC45MTUxMywuOTE1MTMsLjkxNTEzLC45MTUxMywuOTE1MTMsMS4wODU5NSwuOTE2NzcsLjkxNjc3LC45MTY3NywuOTE2NzcsLjkxNjc3LC44OTM2NCwuOTIzMzIsLjg5MzY0LC44NTU3NiwuOTk2MTMsLjg1NTc2LC45OTYxMywuODU1NzYsLjk5NjEzLC44MDcyOSwuNzgyMTYsLjgwNzI5LC43ODIxNiwuODA3MjksLjc4MjE2LC44MDcyOSwuNzgyMTYsLjk0Mjk5LC43Njc4MywuOTU5NjEsLjkxNjc3LC43NzUxMiwuOTAwODMsLjc3NTEyLC45MDA4MywuNzc1MTIsLjkwMDgzLC43NzUxMiwuOTAwODMsLjc3NTEyLC45MDA4MywuODY1MjMsLjkxMzUsLjg2NTIzLC45MTM1LC44NjUyMywuOTEzNSwxLDEsLjkyMjIyLC45MjE2OCwuOTIyMjIsLjkyMTY4LC45ODYyMSwuOTUzODEsLjk4NjIxLC45NTM4MSwuOTg2MjEsLjk1MzgxLC45ODYyMSwuOTUzODEsLjk4NjIxLC45NTM4MSwuODYwMzYsLjk3MDk2LC43MTc0MywuOTg5ODEsMSwxLC45NTI5OCwuNzk3MjYsLjk1MzgxLDEsMSwuNzk3MjYsLjY4OTQsLjc5NzI2LC43NDMyMSwuODE2OTEsMS4wMDA2LC45MjIyMiwuOTIxNjgsMSwxLC45MjIyMiwuOTIxNjgsLjc5NDY0LC45MjA5OCwuOTIxNjgsLjkwNjM3LC45MTUxMywuOTA2MzcsLjkxNTEzLC45MDYzNywuOTE1MTMsLjkwOSwuODc1MTQsLjgwNzI5LC45NTA3NywxLDEsLjgwNzI5LC45NTA3NywuNzY0NjMsLjc0OCwuNzY0NjMsLjc0OCwxLDEsLjc2NDYzLC43NDgsMSwxLC44NjI3NSwuNzI2NTEsLjg2Mjc1LDEuMDQ1MDIsLjkwNjk5LC45MTY3NywuOTA2OTksLjkxNjc3LC45MDY5OSwuOTE2NzcsLjkwNjk5LC45MTY3NywuOTA2OTksLjkxNjc3LC45MDY5OSwuOTE2NzcsLjkxNTQsLjk0MjM2LC44NTQ1OCwuODkzNjQsLjg1NDU4LC45MDUzMSwuOSwuOTA1MzEsLjksLjkwNTMxLC45LDEsLjk3Mjc2LC44NTU3NiwuOTk2MTMsLjg0NSwuODU4MTEsLjkwMjUxLC45MTY3NywxLDEsLjg2Mjc1LDEuMDQ1MDIsMS4xODYxNiwxLjE4NjE2LDEuMTg2MTYsMS4xODYxNiwxLjE4NjE2LDEuMTg2MTYsMS4xODYxNiwxLjE4NjE2LDEuMTg2MTYsMS4wMDg5OSwxLjMwNjI4LC44NTU3NiwuODAxNzgsLjY2ODYyLC43OTI3LC42OTMyMywuODgxMjcsLjcyNDU5LC44OTcxMSwuOTUzODEsLjg1NTc2LC44MDU5MSwuNzgwNSwuOTQ3MjksLjc3NTEyLC45MDUzMSwuOTIyMjIsLjkwNjM3LC45ODYyMSwuODE2OTgsLjkyNjU1LC45ODU1OCwuOTIyMjIsLjg1MzU5LC45MDYzNywuOTA5NzYsLjgzODA5LC45NDUyMywuODYyNzUsLjgzNTA5LC45MzE1NywuODUzMDgsLjgzMzkyLC45MjM0NiwuOTg2MjEsLjgzNTA5LC45Mjg4NiwuOTEzMjQsLjkyMTY4LC45NTM4MSwuOTA2NDYsLjkyODg2LC45MDU1NywuODY4NDcsLjkwMjc2LC45MTMyNCwuODY4NDIsLjkyMTY4LC45OTUzMSwuOTUzODEsLjkyMjQsLjg1NDA4LC45MjY5OSwuODY4NDcsMS4wMDUxLC45MTUxMywuODA0ODcsLjkzNDgxLDEsLjg4MTU5LDEuMDUyMTQsLjkwNjQ2LC45NzM1NSwuODE1MzksLjg5Mzk4LC44NTkyMywuOTUzODEsLjkwNjQ2LC45MTUxMywuOTA2NDYsLjg1OTIzLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjkxNTQsLjk0MjM2LC45MTU0LC45NDIzNiwuOTE1NCwuOTQyMzYsLjg1NDU4LC44OTM2NCwuOTY2OTQsMSwuODk5MDMsMSwxLDEsLjkxNzgyLC45MTc4MiwuOTE3ODIsMSwuODk2LC44OTYsLjg5NiwuOTMzMiwuOTMzMiwuOTU5NzMsMSwxLjI2LDEsMSwuODA0NzksLjgwMTc4LDEsMSwuODU2MzMsMSwxLDEsMSwuOTcyNzYsMSwxLDEsLjY5OCwxLDEuMzYxNDUsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEuMTQ1NDIsMSwuNzkxOTksLjc4Njk0LDEuMDIwNTgsMS4wMzQ5MywxLjA1NDg2LDEsMSwxLjIzMDI2LDEuMDg1OTUsMS4wODU5NSwxLDEuMDg1OTUsMS4wODU5NSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEuMjAwMDYsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMV0sX2k9e2xpbmVIZWlnaHQ6MS4yLGxpbmVHYXA6LjJ9LFhpPVsxLjM2ODk4LDEsMSwuNjU1MDcsLjg0OTQzLC44NTYzOSwuODg0NjUsLjg4NDY1LC44NjkzNiwuODgzMDcsLjg2OTQ4LC44NTI4MywuODUyODMsMS4wNjM4MywxLjAyMDU4LC43NTk0NSwuOTIxOSwuNzU5NDUsMS4xNzMzNywuODg0NjUsLjg4NDY1LC44ODQ2NSwuODg0NjUsLjg4NDY1LC44ODQ2NSwuODg0NjUsLjg4NDY1LC44ODQ2NSwuODg0NjUsLjc1OTQ1LC43NTk0NSwxLjAyMDU4LDEuMDIwNTgsMS4wMjA1OCwuNjkwNDYsLjcwOTI2LC44NTE1OCwuNzc4MTIsLjc2ODUyLC44OTU5MSwuNzA0NjYsLjc2MTI1LC44MDA5NCwuODY4MjIsLjgzODY0LC43MjgsLjc3MjEyLC43OTQ3NSwuOTM2MzcsLjg3NTE0LC44NTg4LC43NjAxMywuODU4OCwuNzI0MjEsLjY5ODY2LC43NzU5OCwuODU5OTEsLjgwODExLC44NzgzMiwuNzgxMTIsLjc3NTEyLC44NTYyLDEuMDIyMiwxLjE4NDE3LDEuMDIyMiwxLjI3MDE0LC44OTkwMywxLjE1MDEyLC45Mzg1OSwuOTQzOTksLjg0NiwuOTQzOTksLjgxNDUzLDEuMDE4NiwuOTQyMTksLjk2MDE3LDEuMDMwNzUsMS4wMjE3NSwuOTEyLDEuMDMwNzUsLjk2OTk4LC45NjAxNywuOTM4NTksLjk0Mzk5LC45NDM5OSwuOTU0OTMsLjc0NiwxLjEyNjU4LC45NDU3OCwuOTEsLjk3OSwuODgyLC44ODIsLjgzLC44NTAzNCwuODM1MzcsLjg1MDM0LDEuMDIwNTgsLjcwODY5LC44ODQ2NSwuODg0NjUsLjg4NDY1LC44ODQ2NSwuODM1MzcsLjkwMDgzLDEuMTUwMTIsLjkxNjEsLjk0NTY1LC43MzU0MSwxLjAyMDU4LC41MzYwOSwuNjkzNTMsLjc5NTE5LDEuMDg1OTUsMSwxLDEuMTUwMTIsMSwuOTE5NzQsLjc1OTQ1LDEuMTUwMTIsMSwuOTQ0NiwuNzMzNjEsLjkwMDUsLjkwMDUsLjkwMDUsLjYyODY0LC44NTE1OCwuODUxNTgsLjg1MTU4LC44NTE1OCwuODUxNTgsLjg1MTU4LC43NzMsLjc2ODUyLC43MDQ2NiwuNzA0NjYsLjcwNDY2LC43MDQ2NiwuODM4NjQsLjgzODY0LC44Mzg2NCwuODM4NjQsLjkwNTYxLC44NzUxNCwuODU4OCwuODU4OCwuODU4OCwuODU4OCwuODU4OCwxLjAyMDU4LC44NTc1MSwuODU5OTEsLjg1OTkxLC44NTk5MSwuODU5OTEsLjc3NTEyLC43NjAxMywuODgwNzUsLjkzODU5LC45Mzg1OSwuOTM4NTksLjkzODU5LC45Mzg1OSwuOTM4NTksLjgwNzUsLjg0NiwuODE0NTMsLjgxNDUzLC44MTQ1MywuODE0NTMsLjgyNDI0LC44MjQyNCwuODI0MjQsLjgyNDI0LC45Mjc4LC45NjAxNywuOTM4NTksLjkzODU5LC45Mzg1OSwuOTM4NTksLjkzODU5LDEuMDg1OTUsLjg1NjIsLjk0NTc4LC45NDU3OCwuOTQ1NzgsLjk0NTc4LC44ODIsLjk0NTc4LC44ODIsLjg1MTU4LC45Mzg1OSwuODUxNTgsLjkzODU5LC44NTE1OCwuOTM4NTksLjc2ODUyLC44NDYsLjc2ODUyLC44NDYsLjc2ODUyLC44NDYsLjc2ODUyLC44NDYsLjg5NTkxLC44NTQ0LC45MDU2MSwuOTQzOTksLjcwNDY2LC44MTQ1MywuNzA0NjYsLjgxNDUzLC43MDQ2NiwuODE0NTMsLjcwNDY2LC44MTQ1MywuNzA0NjYsLjgxNDUzLC44MDA5NCwuOTQyMTksLjgwMDk0LC45NDIxOSwuODAwOTQsLjk0MjE5LDEsMSwuODY4MjIsLjk2MDE3LC44NjgyMiwuOTYwMTcsLjgzODY0LC44MjQyNCwuODM4NjQsLjgyNDI0LC44Mzg2NCwuODI0MjQsLjgzODY0LDEuMDMwNzUsLjgzODY0LC44MjQyNCwuODE0MDIsMS4wMjczOCwuNzI4LDEuMDIxNzUsMSwxLC45MTIsLjc5NDc1LDEuMDMwNzUsMSwxLC43OTQ3NSwuODM5MTEsLjc5NDc1LC42NjI2NiwuODA1NTMsMS4wNjY3NiwuODc1MTQsLjk2MDE3LDEsMSwuODc1MTQsLjk2MDE3LC44Njg2NSwuODczOTYsLjk2MDE3LC44NTg4LC45Mzg1OSwuODU4OCwuOTM4NTksLjg1ODgsLjkzODU5LC44NjcsLjg0NzU5LC43MjQyMSwuOTU0OTMsMSwxLC43MjQyMSwuOTU0OTMsLjY5ODY2LC43NDYsLjY5ODY2LC43NDYsMSwxLC42OTg2NiwuNzQ2LDEsMSwuNzc1OTgsLjg4NDE3LC43NzU5OCwxLjEyNjU4LC44NTk5MSwuOTQ1NzgsLjg1OTkxLC45NDU3OCwuODU5OTEsLjk0NTc4LC44NTk5MSwuOTQ1NzgsLjg1OTkxLC45NDU3OCwuODU5OTEsLjk0NTc4LC44NzgzMiwuOTc5LC43NzUxMiwuODgyLC43NzUxMiwuODU2MiwuODMsLjg1NjIsLjgzLC44NTYyLC44MywxLC44ODQ2NSwuODUxNTgsLjkzODU5LC43NzMsLjgwNzUsLjg1NzUxLC44NTYyLDEsMSwuNzc1OTgsMS4xMjY1OCwxLjE1MDEyLDEuMTUwMTIsMS4xNTAxMiwxLjE1MDEyLDEuMTUwMTIsMS4xNTMxMywxLjE1MDEyLDEuMTUwMTIsMS4xNTAxMiwxLjA4MTA2LDEuMDM5MDEsLjg1MTU4LC43NzAyNSwuNjIyNjQsLjc2NDYsLjY1MzUxLC44NjAyNiwuNjk0NjEsLjg5OTQ3LDEuMDMwNzUsLjg1MTU4LC43NzgxMiwuNzY0NDksLjg4ODM2LC43MDQ2NiwuODU2MiwuODY4MjIsLjg1ODgsLjgzODY0LC43NzIxMiwuODUzMDgsLjkzNjM3LC44NzUxNCwuODIzNTIsLjg1ODgsLjg1NzAxLC43NjAxMywuODkwNTgsLjc3NTk4LC44MTU2LC44MjU2NSwuNzgxMTIsLjc3ODk5LC44OTM4NiwuODM4NjQsLjgxNTYsLjk0ODYsLjkyMzg4LC45NjE4NiwxLjAzMDc1LC45MTEyMywuOTQ4NiwuOTMyOTgsLjg3OCwuOTM5NDIsLjkyMzg4LC44NDU5NiwuOTYxODYsLjk1MTE5LDEuMDMwNzUsLjkyMiwuODg3ODcsLjk1ODI5LC44OCwuOTM1NTksLjkzODU5LC43ODgxNSwuOTM3NTgsMSwuODkyMTcsMS4wMzczNywuOTExMjMsLjkzOTY5LC43NzQ4NywuODU3NjksLjg2Nzk5LDEuMDMwNzUsLjkxMTIzLC45Mzg1OSwuOTExMjMsLjg2Nzk5LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjg3ODMyLC45NzksLjg3ODMyLC45NzksLjg3ODMyLC45NzksLjc3NTEyLC44ODIsLjkyMTksMSwuODk5MDMsMSwxLDEsLjg3MzIxLC44NzMyMSwuODczMjEsMSwxLjAyNywxLjAyNywxLjAyNywuODY4NDcsLjg2ODQ3LC43OTEyMSwxLDEuMTI0LDEsMSwuNzM1NzIsLjczNTcyLDEsMSwuODUwMzQsMSwxLDEsMSwuODg0NjUsMSwxLDEsLjY2OSwxLDEuMzYxNDUsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEuMDQ4MjgsMSwuNzQ5NDgsLjc1MTg3LDEuMDIwNTgsLjk4MzkxLDEuMDIxMTksMSwxLDEuMDYyMzMsMS4wODU5NSwxLjA4NTk1LDEsMS4wODU5NSwxLjA4NTk1LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMS4wNTIzMywxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxXSxxaT17bGluZUhlaWdodDoxLjIsbGluZUdhcDouMn0sSGk9WzEuMzY4OTgsMSwxLC43NjMwNSwuODI3ODQsLjk0OTM1LC44OTM2NCwuOTIyNDEsLjg5MDczLC45MDcwNiwuOTg0NzIsLjg1MjgzLC44NTI4MywxLjA2NjQsMS4wMjA1OCwuNzQ1MDUsLjkyMTksLjc0NTA1LDEuMjM0NTYsLjkyMjQxLC45MjI0MSwuOTIyNDEsLjkyMjQxLC45MjI0MSwuOTIyNDEsLjkyMjQxLC45MjI0MSwuOTIyNDEsLjkyMjQxLC43NDUwNSwuNzQ1MDUsMS4wMjA1OCwxLjAyMDU4LDEuMDIwNTgsLjczMDAyLC43MjYwMSwuOTE3NTUsLjgxMjYsLjgwMzE0LC45MjIyMiwuNzM3NjQsLjc5NzI2LC44MzA1MSwuOTAyODQsLjg2MDIzLC43NCwuODEyNiwuODQ4NjksLjk2NTE4LC45MTExNSwuODg1OCwuNzk3NjEsLjg4NTgsLjc0NDk4LC43MzkxNCwuODEzNjMsLjg5NTkxLC44MzY1OSwuODk2MzMsLjg1NjA4LC44MTExLC45MDUzMSwxLjAyMjIsMS4yMjczNiwxLjAyMjIsMS4yNzAxNCwuODk5MDMsLjkwMDg4LC44NjY2NywxLjAyMzEsLjg5NiwxLjAxNDExLC45MDA4MywxLjA1MDk5LDEuMDA1MTIsLjk5NzkzLDEuMDUzMjYsMS4wOTM3NywuOTM4LDEuMDYyMjYsMS4wMDExOSwuOTk3OTMsLjk4NzE0LDEuMDIzMSwxLjAxMjMxLC45ODE5NiwuNzkyLDEuMTkxMzcsLjk5MDc0LC45NjIsMS4wMTkxNSwuOTI2LC45NDIsLjg1NiwuODUwMzQsLjkyMDA2LC44NTAzNCwxLjAyMDU4LC42OTA2NywuOTIyNDEsLjkyMjQxLC45MjI0MSwuOTIyNDEsLjkyMDA2LC45MzMyLC45MDA4OCwuOTE4ODIsLjkzNDg0LC43NTMzOSwxLjAyMDU4LC41Njg2NiwuNTQzMjQsLjc5NTE5LDEuMDg1OTUsMSwxLC45MDA4OCwxLC45NTMyNSwuNzQ1MDUsLjkwMDg4LDEsLjk3MTk4LC43NTMzOSwuOTEwMDksLjkxMDA5LC45MTAwOSwuNjY0NjYsLjkxNzU1LC45MTc1NSwuOTE3NTUsLjkxNzU1LC45MTc1NSwuOTE3NTUsLjc4OCwuODAzMTQsLjczNzY0LC43Mzc2NCwuNzM3NjQsLjczNzY0LC44NjAyMywuODYwMjMsLjg2MDIzLC44NjAyMywuOTI5MTUsLjkxMTE1LC44ODU4LC44ODU4LC44ODU4LC44ODU4LC44ODU4LDEuMDIwNTgsLjg4NTgsLjg5NTkxLC44OTU5MSwuODk1OTEsLjg5NTkxLC44MTExLC43OTYxMSwuODk3MTMsLjg2NjY3LC44NjY2NywuODY2NjcsLjg2NjY3LC44NjY2NywuODY2NjcsLjg2OTM2LC44OTYsLjkwMDgzLC45MDA4MywuOTAwODMsLjkwMDgzLC44NDIyNCwuODQyMjQsLjg0MjI0LC44NDIyNCwuOTcyNzYsLjk5NzkzLC45ODcxNCwuOTg3MTQsLjk4NzE0LC45ODcxNCwuOTg3MTQsMS4wODU5NSwuODk4NzYsLjk5MDc0LC45OTA3NCwuOTkwNzQsLjk5MDc0LC45NDIsMS4wMjMxLC45NDIsLjkxNzU1LC44NjY2NywuOTE3NTUsLjg2NjY3LC45MTc1NSwuODY2NjcsLjgwMzE0LC44OTYsLjgwMzE0LC44OTYsLjgwMzE0LC44OTYsLjgwMzE0LC44OTYsLjkyMjIyLC45MzM3MiwuOTI5MTUsMS4wMTQxMSwuNzM3NjQsLjkwMDgzLC43Mzc2NCwuOTAwODMsLjczNzY0LC45MDA4MywuNzM3NjQsLjkwMDgzLC43Mzc2NCwuOTAwODMsLjgzMDUxLDEuMDA1MTIsLjgzMDUxLDEuMDA1MTIsLjgzMDUxLDEuMDA1MTIsMSwxLC45MDI4NCwuOTk3OTMsLjkwOTc2LC45OTc5MywuODYwMjMsLjg0MjI0LC44NjAyMywuODQyMjQsLjg2MDIzLC44NDIyNCwuODYwMjMsMS4wNTMyNiwuODYwMjMsLjg0MjI0LC44Mjg3MywxLjA3NDY5LC43NCwxLjA5Mzc3LDEsMSwuOTM4LC44NDg2OSwxLjA2MjI2LDEsMSwuODQ4NjksLjgzNzA0LC44NDg2OSwuODE0NDEsLjg1NTg4LDEuMDg5MjcsLjkxMTE1LC45OTc5MywxLDEsLjkxMTE1LC45OTc5MywuOTE4ODcsLjkwOTkxLC45OTc5MywuODg1OCwuOTg3MTQsLjg4NTgsLjk4NzE0LC44ODU4LC45ODcxNCwuODk0LC45MTQzNCwuNzQ0OTgsLjk4MTk2LDEsMSwuNzQ0OTgsLjk4MTk2LC43MzkxNCwuNzkyLC43MzkxNCwuNzkyLDEsMSwuNzM5MTQsLjc5MiwxLDEsLjgxMzYzLC45MDQsLjgxMzYzLDEuMTkxMzcsLjg5NTkxLC45OTA3NCwuODk1OTEsLjk5MDc0LC44OTU5MSwuOTkwNzQsLjg5NTkxLC45OTA3NCwuODk1OTEsLjk5MDc0LC44OTU5MSwuOTkwNzQsLjg5NjMzLDEuMDE5MTUsLjgxMTEsLjk0MiwuODExMSwuOTA1MzEsLjg1NiwuOTA1MzEsLjg1NiwuOTA1MzEsLjg1NiwxLC45MjI0MSwuOTE3NTUsLjg2NjY3LC43ODgsLjg2OTM2LC44ODU4LC44OTg3NiwxLDEsLjgxMzYzLDEuMTkxMzcsLjkwMDg4LC45MDA4OCwuOTAwODgsLjkwMDg4LC45MDA4OCwuOTAwODgsLjkwMDg4LC45MDA4OCwuOTAwODgsLjkwMzg4LDEuMDM5MDEsLjkyMTM4LC43ODEwNSwuNzE1NCwuODYxNjksLjgwNTEzLC45NDAwNywuODI1MjgsLjk4NjEyLDEuMDYyMjYsLjkxNzU1LC44MTI2LC44MTg4NCwuOTI4MTksLjczNzY0LC45MDUzMSwuOTAyODQsLjg4NTgsLjg2MDIzLC44MTI2LC45MTE3MiwuOTY1MTgsLjkxMTE1LC44MzA4OSwuODg1OCwuODc3OTEsLjc5NzYxLC44OTI5NywuODEzNjMsLjg4MTU3LC44OTk5MiwuODU2MDgsLjgxOTkyLC45NDMwNywuODYwMjMsLjg4MTU3LC45NTMwOCwuOTg2OTksLjk5NzkzLDEuMDYyMjYsLjk1ODE3LC45NTMwOCwuOTczNTgsLjkyOCwuOTgwODgsLjk4Njk5LC45Mjc2MSwuOTk3OTMsLjk2MDE3LDEuMDYyMjYsLjk4NiwuOTQ0LC45NTk3OCwuOTM4LC45NjcwNSwuOTg3MTQsLjgwNDQyLC45ODk3MiwxLC44OTc2MiwxLjA0NTUyLC45NTgxNywuOTkwMDcsLjg3MDY0LC45MTg3OSwuODg4ODgsMS4wNjIyNiwuOTU4MTcsLjk4NzE0LC45NTgxNywuODg4ODgsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuODk2MzMsMS4wMTkxNSwuODk2MzMsMS4wMTkxNSwuODk2MzMsMS4wMTkxNSwuODExMSwuOTQyLC45MjE5LDEsLjg5OTAzLDEsMSwxLC45MzE3MywuOTMxNzMsLjkzMTczLDEsMS4wNjMwNCwxLjA2MzA0LDEuMDY5MDQsLjg5OTAzLC44OTkwMywuODA1NDksMSwxLjE1NiwxLDEsLjc2NTc1LC43NjU3NSwxLDEsLjcyNDU4LDEsMSwxLDEsLjkyMjQxLDEsMSwxLC42MTksMSwxLjM2MTQ1LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLjA3MjU3LDEsLjc0NzA1LC43MTExOSwxLjAyMDU4LDEuMDI0LDEuMDIxMTksMSwxLDEuMTUzNiwxLjA4NTk1LDEuMDg1OTUsMSwxLjA4NTk1LDEuMDg1OTUsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLjA1NjM4LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDFdLFdpPXtsaW5lSGVpZ2h0OjEuMixsaW5lR2FwOi4yfSx6aT1bMS43NjczOCwxLDEsLjk5Mjk3LC45ODI0LDEuMDQwMTYsMS4wNjQ5NywxLjAzNDI0LC45NzUyOSwxLjE3NjQ3LDEuMjMyMDMsMS4xMDg1LDEuMTA4NSwxLjE2OTM5LDEuMjEwNywuOTc1NCwxLjIxNDA4LC45NzU0LDEuNTk1NzgsMS4wMzQyNCwxLjAzNDI0LDEuMDM0MjQsMS4wMzQyNCwxLjAzNDI0LDEuMDM0MjQsMS4wMzQyNCwxLjAzNDI0LDEuMDM0MjQsMS4wMzQyNCwuODEzNzgsLjgxMzc4LDEuMjEwNywxLjIxMDcsMS4yMTA3LC43MTcwMywuOTc4NDcsLjk3MzYzLC44ODc3NiwuODY0MSwxLjAyMDk2LC43OTc5NSwuODUxMzIsLjkxNCwxLjA2MDg1LDEuMTQwNiwuODAwNywuODk4NTgsLjgzNjkzLDEuMTQ4ODksMS4wOTM5OCwuOTc0ODksLjkyMDk0LC45NzQ4OSwuOTAzOTksLjg0MDQxLC45NTkyMywxLjAwMTM1LDEsMS4wNjQ2NywuOTgyNDMsLjkwOTk2LC45OTM2MSwxLjEwODUsMS41Njk0MiwxLjEwODUsMS4yMTA3LC43NDYyNywuOTQyODIsLjk2NzUyLDEuMDE1MTksLjg2MzA0LDEuMDEzNTksLjk3Mjc4LDEuMTUxMDMsMS4wMTM1OSwuOTg1NjEsMS4wMjI4NSwxLjAyMjg1LDEuMDA1MjcsMS4wMjI4NSwxLjAzMDIsLjk5MDQxLDEuMDAwOCwxLjAxNTE5LDEuMDEzNTksMS4wMjI1OCwuNzkxMDQsMS4xNjg2MiwuOTkwNDEsLjk3NDU0LDEuMDI1MTEsLjk5Mjk4LC45Njc1MiwuOTU4MDEsLjk0ODU2LDEuMTY1NzksLjk0ODU2LDEuMjEwNywuOTgyNCwxLjAzNDI0LDEuMDM0MjQsMSwxLjAzNDI0LDEuMTY1NzksLjg3MjcsMS4zODcxLDEuMTg2MjIsMS4xMDgxOCwxLjA0NDc4LDEuMjEwNywxLjE4NjIyLC43NTE1NSwuOTQ5OTQsMS4yODgyNiwxLjIxNDA4LDEuMjE0MDgsLjkxMDU2LDEsLjkxNTcyLC45NzU0LC42NDY2MywxLjE4MzI4LDEuMjQ4NjYsMS4wNDQ3OCwxLjE0MTY5LDEuMTU3NDksMS4xNzM4OSwuNzE3MDMsLjk3MzYzLC45NzM2MywuOTczNjMsLjk3MzYzLC45NzM2MywuOTczNjMsLjkzNTA2LC44NjQxLC43OTc5NSwuNzk3OTUsLjc5Nzk1LC43OTc5NSwxLjE0MDYsMS4xNDA2LDEuMTQwNiwxLjE0MDYsMS4wMjA5NiwxLjA5Mzk4LC45NzQyNiwuOTc0MjYsLjk3NDI2LC45NzQyNiwuOTc0MjYsMS4yMTA3LC45NzQ4OSwxLjAwMTM1LDEuMDAxMzUsMS4wMDEzNSwxLjAwMTM1LC45MDk5NiwuOTIwOTQsMS4wMjc5OCwuOTY3NTIsLjk2NzUyLC45Njc1MiwuOTY3NTIsLjk2NzUyLC45Njc1MiwuOTMxMzYsLjg2MzA0LC45NzI3OCwuOTcyNzgsLjk3Mjc4LC45NzI3OCwxLjAyMjg1LDEuMDIyODUsMS4wMjI4NSwxLjAyMjg1LC45NzEyMiwuOTkwNDEsMSwxLDEsMSwxLDEuMjg4MjYsMS4wMDA4LC45OTA0MSwuOTkwNDEsLjk5MDQxLC45OTA0MSwuOTY3NTIsMS4wMTUxOSwuOTY3NTIsLjk3MzYzLC45Njc1MiwuOTczNjMsLjk2NzUyLC45NzM2MywuOTY3NTIsLjg2NDEsLjg2MzA0LC44NjQxLC44NjMwNCwuODY0MSwuODYzMDQsLjg2NDEsLjg2MzA0LDEuMDIwOTYsMS4wMzA1NywxLjAyMDk2LDEuMDM1MTcsLjc5Nzk1LC45NzI3OCwuNzk3OTUsLjk3Mjc4LC43OTc5NSwuOTcyNzgsLjc5Nzk1LC45NzI3OCwuNzk3OTUsLjk3Mjc4LC45MTQsMS4wMTM1OSwuOTE0LDEuMDEzNTksLjkxNCwxLjAxMzU5LDEsMSwxLjA2MDg1LC45ODU2MSwxLjA2MDg1LDEuMDA4NzksMS4xNDA2LDEuMDIyODUsMS4xNDA2LDEuMDIyODUsMS4xNDA2LDEuMDIyODUsMS4xNDA2LDEuMDIyODUsMS4xNDA2LDEuMDIyODUsLjk3MTM4LDEuMDg2OTIsLjgwMDcsMS4wMjI4NSwxLDEsMS4wMDUyNywuODM2OTMsMS4wMjI4NSwxLDEsLjgzNjkzLC45NDU1LC44MzY5MywuOTA0MTgsLjgzNjkzLDEuMTMwMDUsMS4wOTM5OCwuOTkwNDEsMSwxLDEuMDkzOTgsLjk5MDQxLC45NjY5MiwxLjA5MjUxLC45OTA0MSwuOTc0ODksMS4wMDA4LC45NzQ4OSwxLjAwMDgsLjk3NDg5LDEuMDAwOCwuOTM5OTQsLjk3OTMxLC45MDM5OSwxLjAyMjU4LDEsMSwuOTAzOTksMS4wMjI1OCwuODQwNDEsLjc5MTA0LC44NDA0MSwuNzkxMDQsLjg0MDQxLC43OTEwNCwuODQwNDEsLjc5MTA0LDEsMSwuOTU5MjMsMS4wNzAzNCwuOTU5MjMsMS4xNjg2MiwxLjAwMTM1LC45OTA0MSwxLjAwMTM1LC45OTA0MSwxLjAwMTM1LC45OTA0MSwxLjAwMTM1LC45OTA0MSwxLjAwMTM1LC45OTA0MSwxLjAwMTM1LC45OTA0MSwxLjA2NDY3LDEuMDI1MTEsLjkwOTk2LC45Njc1MiwuOTA5OTYsLjk5MzYxLC45NTgwMSwuOTkzNjEsLjk1ODAxLC45OTM2MSwuOTU4MDEsMS4wNzczMywxLjAzNDI0LC45NzM2MywuOTY3NTIsLjkzNTA2LC45MzEzNiwuOTc0ODksMS4wMDA4LDEsMSwuOTU5MjMsMS4xNjg2MiwxLjE1MTAzLDEuMTUxMDMsMS4wMTE3MywxLjAzOTU5LC43NTk1MywuODEzNzgsLjc5OTEyLDEuMTUxMDMsMS4yMTk5NCwuOTUxNjEsLjg3ODE1LDEuMDExNDksLjgxNTI1LC43Njc2LC45ODE2NywxLjAxMTM0LDEuMDI1NDYsLjg0MDk3LDEuMDMwODksMS4xODEwMiwuOTczNjMsLjg4Nzc2LC44NTEzNCwuOTc4MjYsLjc5Nzk1LC45OTM2MSwxLjA2MDg1LC45NzQ4OSwxLjE0MDYsLjg5ODU4LDEuMDM4OCwxLjE0ODg5LDEuMDkzOTgsLjg2MDM5LC45NzQ4OSwxLjA1OTUsLjkyMDk0LC45NDc5MywuOTU5MjMsLjkwOTk2LC45OTM0NiwuOTgyNDMsMS4wMjExMiwuOTU0OTMsMS4xNDA2LC45MDk5NiwxLjAzNTc0LDEuMDI1OTcsMS4wMDA4LDEuMTgxMDIsMS4wNjYyOCwxLjAzNTc0LDEuMDE5MiwxLjAxOTMyLDEuMDA4ODYsLjk3NTMxLDEuMDEwNiwxLjAwMDgsMS4xMzE4OSwxLjE4MTAyLDEuMDIyNzcsLjk4NjgzLDEuMDAxNiwuOTk1NjEsMS4wNzIzNywxLjAwMDgsLjkwNDM0LC45OTkyMSwuOTM4MDMsLjg5NjUsMS4yMzA4NSwxLjA2NjI4LDEuMDQ5ODMsLjk2MjY4LDEuMDQ5OSwuOTg0MzksMS4xODEwMiwxLjA2NjI4LDEuMDAwOCwxLjA2NjI4LC45ODQzOSwuNzk3OTUsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMS4wOTQ2NiwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuOTcyNzgsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMS4wMjA2NSwxLDEsMSwxLDEsMSwxLjA2NDY3LDEuMDI1MTEsMS4wNjQ2NywxLjAyNTExLDEuMDY0NjcsMS4wMjUxMSwuOTA5OTYsLjk2NzUyLDEsMS4yMTQwOCwuODk5MDMsMSwxLC43NTE1NSwxLjA0Mzk0LDEuMDQzOTQsMS4wNDM5NCwxLjA0Mzk0LC45ODYzMywuOTg2MzMsLjk4NjMzLC43MzA0NywuNzMwNDcsMS4yMDY0MiwuOTEyMTEsMS4yNTYzNSwxLjIyMiwxLjAyOTU2LDEuMDMzNzIsMS4wMzM3MiwuOTYwMzksMS4yNDYzMywxLDEuMTI0NTQsLjkzNTAzLDEuMDM0MjQsMS4xOTY4NywxLjAzNDI0LDEsMSwxLC43NzEsMSwxLDEuMTU3NDksMS4xNTc0OSwxLjE1NzQ5LDEuMTA5NDgsLjg2Mjc5LC45NDQzNCwuODYyNzksLjk0NDM0LC44NjE4MiwxLDEsMS4xNjg5NywxLC45NjA4NSwuOTAxMzcsMS4yMTA3LDEuMTg0MTYsMS4xMzk3MywuNjk4MjUsLjk3MTYsMi4xMDMzOSwxLjI5MDA0LDEuMjkwMDQsMS4yMTE3MiwxLjI5MDA0LDEuMjkwMDQsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLjQyNjAzLDEsLjk5ODYyLC45OTg2MiwxLC44NzAyNSwuODcwMjUsLjg3MDI1LC44NzAyNSwxLjE4ODc0LDEuNDI2MDMsMSwxLjQyNjAzLDEuNDI2MDMsLjk5ODYyLDEsMSwxLDEsMSwxLjI4ODYsMS4wNDMxNSwxLjE1Mjk2LDEuMzQxNjMsMSwxLDEsMS4wOTE5MywxLjA5MTkzLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxXSwkaT17bGluZUhlaWdodDoxLjMzMDA4LGxpbmVHYXA6MH0sR2k9WzEuNzY3MzgsMSwxLC45ODk0NiwxLjAzOTU5LDEuMDQwMTYsMS4wMjgwOSwxLjAzNiwuOTc2MzksMS4xMDk1MywxLjIzMjAzLDEuMTExNDQsMS4xMTE0NCwxLjE2OTM5LDEuMjEyMzcsLjk3NTQsMS4yMTI2MSwuOTc1NCwxLjU5NzU0LDEuMDM2LDEuMDM2LDEuMDM2LDEuMDM2LDEuMDM2LDEuMDM2LDEuMDM2LDEuMDM2LDEuMDM2LDEuMDM2LC44MTM3OCwuODEzNzgsMS4yMTIzNywxLjIxMjM3LDEuMjEyMzcsLjczNTQxLC45Nzg0NywuOTczNjMsLjg5NzIzLC44Nzg5NywxLjA0MjYsLjc5NDI5LC44NTI5MiwuOTExNDksMS4wNTgxNSwxLjE0MDYsLjc5NjMxLC45MDEyOCwuODM4NTMsMS4wNDM5NiwxLjEwNjE1LC45NzU1MiwuOTQ0MzYsLjk3NTUyLC44ODY0MSwuODA1MjcsLjk2MDgzLDEuMDAxMzUsMSwxLjA2Nzc3LC45ODE3LC45MTE0MiwuOTkzNjEsMS4xMTE0NCwxLjU3MjkzLDEuMTExNDQsMS4yMTIzNywuNzQ2MjcsMS4zMTgxOCwxLjA2NTg1LC45NzA0MiwuODMwNTUsLjk3MDQyLC45MzUwMywxLjEyNjEsLjk3MDQyLC45NzkyMiwxLjE0MjM2LC45NDU1MiwxLjAxMDU0LDEuMTQyMzYsMS4wMjQ3MSwuOTc5MjIsLjk0MTY1LC45NzA0MiwuOTcwNDIsMS4wMjc2LC43ODkyOSwxLjEyNjEsLjk3OTIyLC45NTg3NCwxLjAyMTk3LC45ODUwNywuOTY3NTIsLjk3MTY4LC45NTEwNywxLjE2NTc5LC45NTEwNywxLjIxMjM3LDEuMDM5NTksMS4wMzYsMS4wMzYsMSwxLjAzNiwxLjE2NTc5LC44NzM1NywxLjMxODE4LDEuMTg3NTQsMS4yNjc4MSwxLjA1MzU2LDEuMjEyMzcsMS4xODYyMiwuNzk0ODcsLjk0OTk0LDEuMjkwMDQsMS4yNDA0NywxLjI0MDQ3LDEuMzE4MTgsMSwuOTE0ODQsLjk3NTQsMS4zMTgxOCwxLjEzNDksMS4yNDg2NiwxLjA1MzU2LDEuMTM5MzQsMS4xNTU3NCwxLjE3Mzg5LC43MzU0MSwuOTczNjMsLjk3MzYzLC45NzM2MywuOTczNjMsLjk3MzYzLC45NzM2MywuOTQzODUsLjg3ODk3LC43OTQyOSwuNzk0MjksLjc5NDI5LC43OTQyOSwxLjE0MDYsMS4xNDA2LDEuMTQwNiwxLjE0MDYsMS4wNDI2LDEuMTA2MTUsLjk3NTUyLC45NzU1MiwuOTc1NTIsLjk3NTUyLC45NzU1MiwxLjIxMjM3LC45NzU1MiwxLjAwMTM1LDEuMDAxMzUsMS4wMDEzNSwxLjAwMTM1LC45MTE0MiwuOTQ0MzYsLjk4NzIxLDEuMDY1ODUsMS4wNjU4NSwxLjA2NTg1LDEuMDY1ODUsMS4wNjU4NSwxLjA2NTg1LC45NjcwNSwuODMwNTUsLjkzNTAzLC45MzUwMywuOTM1MDMsLjkzNTAzLDEuMTQyMzYsMS4xNDIzNiwxLjE0MjM2LDEuMTQyMzYsLjkzMTI1LC45NzkyMiwuOTQxNjUsLjk0MTY1LC45NDE2NSwuOTQxNjUsLjk0MTY1LDEuMjkwMDQsLjk0MTY1LC45NzkyMiwuOTc5MjIsLjk3OTIyLC45NzkyMiwuOTY3NTIsLjk3MDQyLC45Njc1MiwuOTczNjMsMS4wNjU4NSwuOTczNjMsMS4wNjU4NSwuOTczNjMsMS4wNjU4NSwuODc4OTcsLjgzMDU1LC44Nzg5NywuODMwNTUsLjg3ODk3LC44MzA1NSwuODc4OTcsLjgzMDU1LDEuMDQyNiwxLjAwMzMsMS4wNDI2LC45NzA0MiwuNzk0MjksLjkzNTAzLC43OTQyOSwuOTM1MDMsLjc5NDI5LC45MzUwMywuNzk0MjksLjkzNTAzLC43OTQyOSwuOTM1MDMsLjkxMTQ5LC45NzA0MiwuOTExNDksLjk3MDQyLC45MTE0OSwuOTcwNDIsMSwxLDEuMDU4MTUsLjk3OTIyLDEuMDU4MTUsLjk3OTIyLDEuMTQwNiwxLjE0MjM2LDEuMTQwNiwxLjE0MjM2LDEuMTQwNiwxLjE0MjM2LDEuMTQwNiwxLjE0MjM2LDEuMTQwNiwxLjE0MjM2LC45NzQ0MSwxLjA0MzAyLC43OTYzMSwxLjAxNTgyLDEsMSwxLjAxMDU0LC44Mzg1MywxLjE0MjM2LDEsMSwuODM4NTMsMS4wOTEyNSwuODM4NTMsLjkwNDE4LC44Mzg1MywxLjE5NTA4LDEuMTA2MTUsLjk3OTIyLDEsMSwxLjEwNjE1LC45NzkyMiwxLjAxMDM0LDEuMTA0NjYsLjk3OTIyLC45NzU1MiwuOTQxNjUsLjk3NTUyLC45NDE2NSwuOTc1NTIsLjk0MTY1LC45MTYwMiwuOTE5ODEsLjg4NjQxLDEuMDI3NiwxLDEsLjg4NjQxLDEuMDI3NiwuODA1MjcsLjc4OTI5LC44MDUyNywuNzg5MjksLjgwNTI3LC43ODkyOSwuODA1MjcsLjc4OTI5LDEsMSwuOTYwODMsMS4wNTQwMywuOTU5MjMsMS4xNjg2MiwxLjAwMTM1LC45NzkyMiwxLjAwMTM1LC45NzkyMiwxLjAwMTM1LC45NzkyMiwxLjAwMTM1LC45NzkyMiwxLjAwMTM1LC45NzkyMiwxLjAwMTM1LC45NzkyMiwxLjA2Nzc3LDEuMDIxOTcsLjkxMTQyLC45Njc1MiwuOTExNDIsLjk5MzYxLC45NzE2OCwuOTkzNjEsLjk3MTY4LC45OTM2MSwuOTcxNjgsMS4yMzE5OSwxLjAzNiwuOTczNjMsMS4wNjU4NSwuOTQzODUsLjk2NzA1LC45NzU1MiwuOTQxNjUsMSwxLC45NjA4MywxLjEyNjEsMS4zMTgxOCwxLjMxODE4LDEuMzE4MTgsMS4zMTgxOCwxLjMxODE4LDEuMzE4MTgsMS4zMTgxOCwxLjMxODE4LDEuMzE4MTgsLjk1MTYxLDEuMjcxMjYsMS4wMDgxMSwuODMyODQsLjc3NzAyLC45OTEzNywuOTUyNTMsMS4wMzQ3LC44NjE0MiwxLjA3MjA1LDEuMTQyMzYsLjk3MzYzLC44OTcyMywuODY4NjksMS4wOTgxOCwuNzk0MjksLjk5MzYxLDEuMDU4MTUsLjk3NTUyLDEuMTQwNiwuOTAxMjgsMS4wNjY2MiwxLjA0Mzk2LDEuMTA2MTUsLjg0OTE4LC45NzU1MiwxLjA0Njk0LC45NDQzNiwuOTgwMTUsLjk2MDgzLC45MTE0MiwxLjAwMzU2LC45ODE3LDEuMDE5NDUsLjk4OTk5LDEuMTQwNiwuOTExNDIsMS4wNDk2MSwuOTg5OCwxLjAwNjM5LDEuMTQyMzYsMS4wNzUxNCwxLjA0OTYxLC45OTYwNywxLjAyODk3LDEuMDA4LC45ODk4LC45NTEzNCwxLjAwNjM5LDEuMTExMjEsMS4xNDIzNiwxLjAwNTE4LC45Nzk4MSwxLjAyMTg2LDEsMS4wODU3OCwuOTQxNjUsLjk5MzE0LC45ODM4NywuOTMwMjgsLjkzMzc3LDEuMzUxMjUsMS4wNzUxNCwxLjEwNjg3LC45MzQ5MSwxLjA0MjMyLDEuMDAzNTEsMS4xNDIzNiwxLjA3NTE0LC45NDE2NSwxLjA3NTE0LDEuMDAzNTEsLjc5NDI5LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEuMDkwOTcsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjkzNTAzLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC45NjYwOSwxLDEsMSwxLDEsMSwxLjA2Nzc3LDEuMDIxOTcsMS4wNjc3NywxLjAyMTk3LDEuMDY3NzcsMS4wMjE5NywuOTExNDIsLjk2NzUyLDEsMS4yMTI2MSwuODk5MDMsMSwxLC43NTE1NSwxLjA0NzQ1LDEuMDQ3NDUsMS4wNDc0NSwxLjA0Mzk0LC45ODYzMywuOTg2MzMsLjk4NjMzLC43Mjk1OSwuNzI5NTksMS4yMDUwMiwuOTE0MDYsMS4yNjUxNCwxLjIyMiwxLjAyOTU2LDEuMDMzNzIsMS4wMzM3MiwuOTYwMzksMS4yNDYzMywxLDEuMDkxMjUsLjkzMzI3LDEuMDMzMzYsMS4xNjU0MSwxLjAzNiwxLDEsMSwuNzcxLDEsMSwxLjE1NTc0LDEuMTU1NzQsMS4xNTU3NCwxLjE1NTc0LC44NjM2NCwuOTQ0MzQsLjg2Mjc5LC45NDQzNCwuODYyMjQsMSwxLDEuMTY3OTgsMSwuOTYwODUsLjkwMDY4LDEuMjEyMzcsMS4xODQxNiwxLjEzOTA0LC42OTgyNSwuOTcxNiwyLjEwMzM5LDEuMjkwMDQsMS4yOTAwNCwxLjIxMzM5LDEuMjkwMDQsMS4yOTAwNCwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEuNDI2MDMsMSwuOTk4NjIsLjk5ODYyLDEsLjg3MDI1LC44NzAyNSwuODcwMjUsLjg3MDI1LDEuMTg3NzUsMS40MjYwMywxLDEuNDI2MDMsMS40MjYwMywuOTk4NjIsMSwxLDEsMSwxLDEuMjg4NiwxLjA0MzE1LDEuMTUyOTYsMS4zNDE2MywxLDEsMSwxLjEzMjY5LDEuMTMyNjksMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDFdLFZpPXtsaW5lSGVpZ2h0OjEuMzMwMDgsbGluZUdhcDowfSxLaT1bMS43NjczOCwxLDEsLjk4OTQ2LDEuMTQ3NjMsMS4wNTM2NSwxLjA2MjM0LC45NjkyNywuOTI1ODYsMS4xNTM3MywxLjE4NDE0LC45MTM0OSwuOTEzNDksMS4wNzQwMywxLjE3MzA4LC43ODM4MywxLjIwMDg4LC43ODM4MywxLjQyNTMxLC45NjkyNywuOTY5MjcsLjk2OTI3LC45NjkyNywuOTY5MjcsLjk2OTI3LC45NjkyNywuOTY5MjcsLjk2OTI3LC45NjkyNywuNzgzODMsLjc4MzgzLDEuMTczMDgsMS4xNzMwOCwxLjE3MzA4LC43NzM0OSwuOTQ1NjUsLjk0NzI5LC44NTk0NCwuODg1MDYsLjk4NTgsLjc0ODE3LC44MDAxNiwuODg0NDksLjk4MDM5LC45NTc4MiwuNjkyMzgsLjg5ODk4LC44MzIzMSwuOTgxODMsMS4wMzk4OSwuOTY5MjQsLjg2MjM3LC45NjkyNCwuODA1OTUsLjc0NTI0LC44NjA5MSwuOTU0MDIsLjk0MTQzLC45ODQ0OCwuODg1OCwuODMwODksLjkzMjg1LDEuMDk0OSwxLjM5MDE2LDEuMDk0OSwxLjQ1OTk0LC43NDYyNywxLjA0ODM5LC45NzQ1NCwuOTc0NTQsLjg3MjA3LC45NzQ1NCwuODc1MzMsMS4wNjE1MSwuOTc0NTQsMS4wMDE3NiwxLjE2NDg0LDEuMDgxMzIsLjk4MDQ3LDEuMTY0ODQsMS4wMjk4OSwxLjAxMDU0LC45NjIyNSwuOTc0NTQsLjk3NDU0LDEuMDY1OTgsLjc5MDA0LDEuMTYzNDQsMS4wMDM1MSwuOTQ2MjksLjk5NzMsLjkxMDE2LC45Njc3NywuOTA0MywuOTEwODIsLjkyNDgxLC45MTA4MiwxLjE3MzA4LC45NTc0OCwuOTY5MjcsLjk2OTI3LDEsLjk2OTI3LC45MjQ4MSwuODA1OTcsMS4wNDgzOSwxLjIzMzkzLDEuMTc4MSwuOTI0NSwxLjE3MzA4LDEuMjA4MDgsLjYzMjE4LC45NDI2MSwxLjI0ODIyLDEuMDk5NzEsMS4wOTk3MSwxLjA0ODM5LDEsLjg1MjczLC43ODAzMiwxLjA0ODM5LDEuMDk5NzEsMS4yMjMyNiwuOTI0NSwxLjA5ODM2LDEuMTM1MjUsMS4xNTIyMiwuNzA0MjQsLjk0NzI5LC45NDcyOSwuOTQ3MjksLjk0NzI5LC45NDcyOSwuOTQ3MjksLjg1NDk4LC44ODUwNiwuNzQ4MTcsLjc0ODE3LC43NDgxNywuNzQ4MTcsLjk1NzgyLC45NTc4MiwuOTU3ODIsLjk1NzgyLC45ODU4LDEuMDM5ODksLjk2OTI0LC45NjkyNCwuOTY5MjQsLjk2OTI0LC45NjkyNCwxLjE3MzA4LC45NjkyNCwuOTU0MDIsLjk1NDAyLC45NTQwMiwuOTU0MDIsLjgzMDg5LC44NjIzNywuODg0MDksLjk3NDU0LC45NzQ1NCwuOTc0NTQsLjk3NDU0LC45NzQ1NCwuOTc0NTQsLjkyOTE2LC44NzIwNywuODc1MzMsLjg3NTMzLC44NzUzMywuODc1MzMsLjkzMTQ2LC45MzE0NiwuOTMxNDYsLjkzMTQ2LC45Mzg1NCwxLjAxMDU0LC45NjIyNSwuOTYyMjUsLjk2MjI1LC45NjIyNSwuOTYyMjUsMS4yNDgyMiwuODc2MSwxLjAwMzUxLDEuMDAzNTEsMS4wMDM1MSwxLjAwMzUxLC45Njc3NywuOTc0NTQsLjk2Nzc3LC45NDcyOSwuOTc0NTQsLjk0NzI5LC45NzQ1NCwuOTQ3MjksLjk3NDU0LC44ODUwNiwuODcyMDcsLjg4NTA2LC44NzIwNywuODg1MDYsLjg3MjA3LC44ODUwNiwuODcyMDcsLjk4NTgsLjk1MzkxLC45ODU4LC45NzQ1NCwuNzQ4MTcsLjg3NTMzLC43NDgxNywuODc1MzMsLjc0ODE3LC44NzUzMywuNzQ4MTcsLjg3NTMzLC43NDgxNywuODc1MzMsLjg4NDQ5LC45NzQ1NCwuODg0NDksLjk3NDU0LC44ODQ0OSwuOTc0NTQsMSwxLC45ODAzOSwxLjAwMTc2LC45ODAzOSwxLjAwMTc2LC45NTc4MiwuOTMxNDYsLjk1NzgyLC45MzE0NiwuOTU3ODIsLjkzMTQ2LC45NTc4MiwxLjE2NDg0LC45NTc4MiwuOTMxNDYsLjg0NDIxLDEuMTI3NjEsLjY5MjM4LDEuMDgxMzIsMSwxLC45ODA0NywuODMyMzEsMS4xNjQ4NCwxLDEsLjg0NzIzLDEuMDQ4NjEsLjg0NzIzLC43ODc1NSwuODMyMzEsMS4yMzczNiwxLjAzOTg5LDEuMDEwNTQsMSwxLDEuMDM5ODksMS4wMTA1NCwuOTg1NywxLjAzODQ5LDEuMDEwNTQsLjk2OTI0LC45NjIyNSwuOTY5MjQsLjk2MjI1LC45NjkyNCwuOTYyMjUsLjkyMzgzLC45MDE3MSwuODA1OTUsMS4wNjU5OCwxLDEsLjgwNTk1LDEuMDY1OTgsLjc0NTI0LC43OTAwNCwuNzQ1MjQsLjc5MDA0LC43NDUyNCwuNzkwMDQsLjc0NTI0LC43OTAwNCwxLDEsLjg2MDkxLDEuMDI3NTksLjg1NzcxLDEuMTYzNDQsLjk1NDAyLDEuMDAzNTEsLjk1NDAyLDEuMDAzNTEsLjk1NDAyLDEuMDAzNTEsLjk1NDAyLDEuMDAzNTEsLjk1NDAyLDEuMDAzNTEsLjk1NDAyLDEuMDAzNTEsLjk4NDQ4LC45OTczLC44MzA4OSwuOTY3NzcsLjgzMDg5LC45MzI4NSwuOTA0MywuOTMyODUsLjkwNDMsLjkzMjg1LC45MDQzLDEuMzE4NjgsLjk2OTI3LC45NDcyOSwuOTc0NTQsLjg1NDk4LC45MjkxNiwuOTY5MjQsLjg3NjEsMSwxLC44NjA5MSwxLjE2MzQ0LDEuMDQ4MzksMS4wNDgzOSwxLjA0ODM5LDEuMDQ4MzksMS4wNDgzOSwxLjA0ODM5LDEuMDQ4MzksMS4wNDgzOSwxLjA0ODM5LC44MTk2NSwuODE5NjUsLjk0NzI5LC43ODAzMiwuNzEwMjIsLjkwODgzLC44NDE3MSwuOTk4NzcsLjc3NTk2LDEuMDU3MzQsMS4yLC45NDcyOSwuODU5NDQsLjgyNzkxLC45NjA3LC43NDgxNywuOTMyODUsLjk4MDM5LC45NjkyNCwuOTU3ODIsLjg5ODk4LC45ODMxNiwuOTgxODMsMS4wMzk4OSwuNzg2MTQsLjk2OTI0LC45NzY0MiwuODYyMzcsLjg2MDc1LC44NjA5MSwuODMwODksLjkwMDgyLC44ODU4LC45NzI5NiwxLjAxMjg0LC45NTc4MiwuODMwODksMS4wOTc2LDEuMDQsMS4wMzM0MiwxLjIsMS4wNjc1LDEuMDk3NiwuOTgyMDUsMS4wMzgwOSwxLjA1MDk3LDEuMDQsLjk1MzY0LDEuMDMzNDIsMS4wNTQwMSwxLjIsMS4wMjE0OCwxLjAxMTksMS4wNDcyNCwxLjAxMjcsMS4wMjczMiwuOTYyMjUsLjg5NjUsLjk3NzgzLC45MzU3NCwuOTQ4MTgsMS4zMDY3OSwxLjA2NzUsMS4xMTgyNiwuOTk4MjEsMS4wNTU3LDEuMDMyNiwxLjIsMS4wNjc1LC45NjIyNSwxLjA2NzUsMS4wMzI2LC43NDgxNywxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLjAzNzU0LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC44NzUzMywxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuOTg3MDUsMSwxLDEsMSwxLDEsLjk4NDQ4LC45OTczLC45ODQ0OCwuOTk3MywuOTg0NDgsLjk5NzMsLjgzMDg5LC45Njc3NywxLDEuMjAwODgsLjg5OTAzLDEsMSwuNzUxNTUsLjk0OTQ1LC45NDk0NSwuOTQ5NDUsLjk0OTQ1LDEuMTIzMTcsMS4xMjMxNywxLjEyMzE3LC42NzYwMywuNjc2MDMsMS4xNTYyMSwuNzM1ODQsMS4yMTE5MSwxLjIyMTM1LDEuMDY0ODMsLjk0ODY4LC45NDg2OCwuOTU5OTYsMS4yNDYzMywxLDEuMDc0OTcsLjg3NzA5LC45NjkyNywxLjAxNDczLC45NjkyNywxLDEsMSwuNzcyOTUsMSwxLDEuMDk4MzYsMS4wOTgzNiwxLjA5ODM2LDEuMDE1MjIsLjg2MzIxLC45NDQzNCwuODY0OSwuOTQ0MzQsLjg2MTgyLDEsMSwxLjA4MywxLC45MTU3OCwuODY0MzgsMS4xNzMwOCwxLjE4NDE2LDEuMTQ1ODksLjY5ODI1LC45NzYyMiwxLjk2NzkxLDEuMjQ4MjIsMS4yNDgyMiwxLjE3MzA4LDEuMjQ4MjIsMS4yNDgyMiwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEuNDI2MDMsMSwuOTk4NjIsLjk5ODYyLDEsLjg3MDI1LC44NzAyNSwuODcwMjUsLjg3MDI1LDEuMTc5ODQsMS40MjYwMywxLDEuNDI2MDMsMS40MjYwMywuOTk4NjIsMSwxLDEsMSwxLDEuMjg4NiwxLjA0MzE1LDEuMTUyOTYsMS4zNDE2MywxLDEsMSwxLjEwNzQyLDEuMTA3NDIsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDFdLEppPXtsaW5lSGVpZ2h0OjEuMzMwMDgsbGluZUdhcDowfSxZaT1bMS43NjczOCwxLDEsLjk4NTk0LDEuMDIyODUsMS4xMDQ1NCwxLjA2MjM0LC45NjkyNywuOTIwMzcsMS4xOTk4NSwxLjIwNDYsLjkwNjE2LC45MDYxNiwxLjA3MTUyLDEuMTcxNCwuNzgwMzIsMS4yMDA4OCwuNzgwMzIsMS40MDI0NiwuOTY5MjcsLjk2OTI3LC45NjkyNywuOTY5MjcsLjk2OTI3LC45NjkyNywuOTY5MjcsLjk2OTI3LC45NjkyNywuOTY5MjcsLjc4MDMyLC43ODAzMiwxLjE3MTQsMS4xNzE0LDEuMTcxNCwuODA1OTcsLjk0MDg0LC45NjcwNiwuODU5NDQsLjg1NzM0LC45NzA5MywuNzU4NDIsLjc5OTM2LC44ODE5OCwuOTgzMSwuOTU3ODIsLjcxMzg3LC44Njk2OSwuODQ2MzYsMS4wNzc5NiwxLjAzNTg0LC45NjkyNCwuODM5NjgsLjk2OTI0LC44MjgyNiwuNzk2NDksLjg1NzcxLC45NTEzMiwuOTMxMTksLjk4OTY1LC44ODQzMywuODI4NywuOTMzNjUsMS4wODYxMiwxLjM2MzgsMS4wODYxMiwxLjQ1Nzg2LC43NDYyNywuODA0OTksLjkxNDg0LDEuMDU3MDcsLjkyMzgzLDEuMDU4ODIsLjk0MDMsMS4xMjY1NCwxLjA1ODgyLDEuMDE3NTYsMS4wOTAxMSwxLjA5MDExLC45OTQxNCwxLjA5MDExLDEuMDM0LDEuMDE3NTYsMS4wNTM1NiwxLjA1NzA3LDEuMDU4ODIsMS4wNDM5OSwuODQ4NjMsMS4yMTk2OCwxLjAxNzU2LC45NTgwMSwxLjAwMDY4LC45MTc5NywuOTY3NzcsLjkwNDMsLjkwMzUxLC45MjEwNSwuOTAzNTEsMS4xNzE0LC44NTMzNywuOTY5MjcsLjk2OTI3LC45OTkxMiwuOTY5MjcsLjkyMTA1LC44MDU5NywxLjI0MzQsMS4yMDgwOCwxLjA1OTM3LC45MDk1NywxLjE3MTQsMS4yMDgwOCwuNzUxNTUsLjk0MjYxLDEuMjQ2NDQsMS4wOTk3MSwxLjA5OTcxLC44NDc1MSwxLC44NTI3MywuNzgwMzIsLjYxNTg0LDEuMDU0MjUsMS4xNzkxNCwuOTA5NTcsMS4wODY2NSwxLjExNTkzLDEuMTQxNjksLjczMzgxLC45NjcwNiwuOTY3MDYsLjk2NzA2LC45NjcwNiwuOTY3MDYsLjk2NzA2LC44NjAzNSwuODU3MzQsLjc1ODQyLC43NTg0MiwuNzU4NDIsLjc1ODQyLC45NTc4MiwuOTU3ODIsLjk1NzgyLC45NTc4MiwuOTcwOTMsMS4wMzU4NCwuOTY5MjQsLjk2OTI0LC45NjkyNCwuOTY5MjQsLjk2OTI0LDEuMTcxNCwuOTY5MjQsLjk1MTMyLC45NTEzMiwuOTUxMzIsLjk1MTMyLC44Mjg3LC44Mzk2OCwuODkwNDksLjkxNDg0LC45MTQ4NCwuOTE0ODQsLjkxNDg0LC45MTQ4NCwuOTE0ODQsLjkzNTc1LC45MjM4MywuOTQwMywuOTQwMywuOTQwMywuOTQwMywuODcxNywuODcxNywuODcxNywuODcxNywxLjAwNTI3LDEuMDE3NTYsMS4wNTM1NiwxLjA1MzU2LDEuMDUzNTYsMS4wNTM1NiwxLjA1MzU2LDEuMjQ2NDQsLjk1OTIzLDEuMDE3NTYsMS4wMTc1NiwxLjAxNzU2LDEuMDE3NTYsLjk2Nzc3LDEuMDU3MDcsLjk2Nzc3LC45NjcwNiwuOTE0ODQsLjk2NzA2LC45MTQ4NCwuOTY3MDYsLjkxNDg0LC44NTczNCwuOTIzODMsLjg1NzM0LC45MjM4MywuODU3MzQsLjkyMzgzLC44NTczNCwuOTIzODMsLjk3MDkzLDEuMDk2OSwuOTcwOTMsMS4wNTg4MiwuNzU4NDIsLjk0MDMsLjc1ODQyLC45NDAzLC43NTg0MiwuOTQwMywuNzU4NDIsLjk0MDMsLjc1ODQyLC45NDAzLC44ODE5OCwxLjA1ODgyLC44ODE5OCwxLjA1ODgyLC44ODE5OCwxLjA1ODgyLDEsMSwuOTgzMSwxLjAxNzU2LC45ODMxLDEuMDE3NTYsLjk1NzgyLC44NzE3LC45NTc4MiwuODcxNywuOTU3ODIsLjg3MTcsLjk1NzgyLDEuMDkwMTEsLjk1NzgyLC44NzE3LC44NDc4NCwxLjExNTUxLC43MTM4NywxLjA5MDExLDEsMSwuOTk0MTQsLjg0NjM2LDEuMDkwMTEsMSwxLC44NDYzNiwxLjA1MzYsLjg0NjM2LC45NDI5OCwuODQ2MzYsMS4yMzI5NywxLjAzNTg0LDEuMDE3NTYsMSwxLDEuMDM1ODQsMS4wMTc1NiwxLjAwMzIzLDEuMDM0NDQsMS4wMTc1NiwuOTY5MjQsMS4wNTM1NiwuOTY5MjQsMS4wNTM1NiwuOTY5MjQsMS4wNTM1NiwuOTMwNjYsLjk4MjkzLC44MjgyNiwxLjA0Mzk5LDEsMSwuODI4MjYsMS4wNDM5OSwuNzk2NDksLjg0ODYzLC43OTY0OSwuODQ4NjMsLjc5NjQ5LC44NDg2MywuNzk2NDksLjg0ODYzLDEsMSwuODU3NzEsMS4xNzMxOCwuODU3NzEsMS4yMTk2OCwuOTUxMzIsMS4wMTc1NiwuOTUxMzIsMS4wMTc1NiwuOTUxMzIsMS4wMTc1NiwuOTUxMzIsMS4wMTc1NiwuOTUxMzIsMS4wMTc1NiwuOTUxMzIsMS4wMTc1NiwuOTg5NjUsMS4wMDA2OCwuODI4NywuOTY3NzcsLjgyODcsLjkzMzY1LC45MDQzLC45MzM2NSwuOTA0MywuOTMzNjUsLjkwNDMsMS4wODU3MSwuOTY5MjcsLjk2NzA2LC45MTQ4NCwuODYwMzUsLjkzNTc1LC45NjkyNCwuOTU5MjMsMSwxLC44NTc3MSwxLjIxOTY4LDEuMTE0MzcsMS4xMTQzNywuOTMxMDksLjkxMjAyLC42MDQxMSwuODQxNjQsLjU1NTcyLDEuMDExNzMsLjk3MzYxLC44MTgxOCwuODE4MTgsLjk2NjM1LC43ODAzMiwuNzI3MjcsLjkyMzY2LC45ODYwMSwxLjAzNDA1LC43Nzk2OCwxLjA5Nzk5LDEuMiwuOTY3MDYsLjg1OTQ0LC44NTYzOCwuOTY0OTEsLjc1ODQyLC45MzM2NSwuOTgzMSwuOTY5MjQsLjk1NzgyLC44Njk2OSwuOTQxNTIsMS4wNzc5NiwxLjAzNTg0LC43ODQzNywuOTY5MjQsLjk4NzE1LC44Mzk2OCwuODM0OTEsLjg1NzcxLC44Mjg3LC45NDQ5MiwuODg0MzMsLjkyODcsMS4wMDk4LC45NTc4MiwuODI4NywxLjA2MjUsLjk4MjQ4LDEuMDM0MjQsMS4yLDEuMDEwNzEsMS4wNjI1LC45NTI0NiwxLjAzODA5LDEuMDQ5MTIsLjk4MjQ4LDEuMDAyMjEsMS4wMzQyNCwxLjA1NDQzLDEuMiwxLjA0Nzg1LC45OTYwOSwxLjAwMTY5LDEuMDUxNzYsLjk5MzQ2LDEuMDUzNTYsLjkwODcsMS4wMzAwNCwuOTU1NDIsLjkzMTE3LDEuMjMzNjIsMS4wMTA3MSwxLjA3ODMxLDEuMDI1MTIsMS4wNTIwNSwxLjAzNTAyLDEuMiwxLjAxMDcxLDEuMDUzNTYsMS4wMTA3MSwxLjAzNTAyLC43NTg0MiwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLjAzNzE5LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC45NDAzLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEuMDQwMjEsMSwxLDEsMSwxLDEsLjk4OTY1LDEuMDAwNjgsLjk4OTY1LDEuMDAwNjgsLjk4OTY1LDEuMDAwNjgsLjgyODcsLjk2Nzc3LDEsMS4yMDA4OCwuODk5MDMsMSwxLC43NTE1NSwxLjAzMDc3LDEuMDMwNzcsMS4wMzA3NywxLjAzMDc3LDEuMTMxOTYsMS4xMzE5NiwxLjEzMTk2LC42NzQyOCwuNjc0MjgsMS4xNjAzOSwuNzMyOTEsMS4yMDk5NiwxLjIyMTM1LDEuMDY0ODMsLjk0ODY4LC45NDg2OCwuOTU5OTYsMS4yNDYzMywxLDEuMDc0OTcsLjg3Nzk2LC45NjkyNywxLjAxNTE4LC45NjkyNywxLDEsMSwuNzcyOTUsMSwxLDEuMTA1MzksMS4xMDUzOSwxLjExMzU4LDEuMDY5NjcsLjg2Mjc5LC45NDQzNCwuODYyNzksLjk0NDM0LC44NjE4MiwxLDEsMS4wODMsMSwuOTE1NzgsLjg2NTA3LDEuMTcxNCwxLjE4NDE2LDEuMTQ1ODksLjY5ODI1LC45NzYyMiwxLjk2OTcsMS4yNDgyMiwxLjI0ODIyLDEuMTcyMzgsMS4yNDgyMiwxLjI0ODIyLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMS40MjYwMywxLC45OTg2MiwuOTk4NjIsMSwuODcwMjUsLjg3MDI1LC44NzAyNSwuODcwMjUsMS4xODA4MywxLjQyNjAzLDEsMS40MjYwMywxLjQyNjAzLC45OTg2MiwxLDEsMSwxLDEsMS4yODg2LDEuMDQzMTUsMS4xNTI5NiwxLjM0MTYzLDEsMSwxLDEuMTA5MzgsMS4xMDkzOCwxLDEsMSwxLjA1NDI1LDEuMDk5NzEsMS4wOTk3MSwxLjA5OTcxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMV0sWmk9e2xpbmVIZWlnaHQ6MS4zMzAwOCxsaW5lR2FwOjB9LFFpPWdldExvb2t1cFRhYmxlRmFjdG9yeSgoZnVuY3Rpb24oZSl7ZVsiTXlyaWFkUHJvLVJlZ3VsYXIiXT1lWyJQZGZKUy1GYWxsYmFjay1SZWd1bGFyIl09e25hbWU6IkxpYmVyYXRpb25TYW5zLVJlZ3VsYXIiLGZhY3RvcnM6SGksYmFzZVdpZHRoczpSaSxiYXNlTWFwcGluZzpOaSxtZXRyaWNzOldpfTtlWyJNeXJpYWRQcm8tQm9sZCJdPWVbIlBkZkpTLUZhbGxiYWNrLUJvbGQiXT17bmFtZToiTGliZXJhdGlvblNhbnMtQm9sZCIsZmFjdG9yczpFaSxiYXNlV2lkdGhzOklpLGJhc2VNYXBwaW5nOlRpLG1ldHJpY3M6UGl9O2VbIk15cmlhZFByby1JdCJdPWVbIk15cmlhZFByby1JdGFsaWMiXT1lWyJQZGZKUy1GYWxsYmFjay1JdGFsaWMiXT17bmFtZToiTGliZXJhdGlvblNhbnMtSXRhbGljIixmYWN0b3JzOlhpLGJhc2VXaWR0aHM6RGksYmFzZU1hcHBpbmc6QmksbWV0cmljczpxaX07ZVsiTXlyaWFkUHJvLUJvbGRJdCJdPWVbIk15cmlhZFByby1Cb2xkSXRhbGljIl09ZVsiUGRmSlMtRmFsbGJhY2stQm9sZEl0YWxpYyJdPXtuYW1lOiJMaWJlcmF0aW9uU2Fucy1Cb2xkSXRhbGljIixmYWN0b3JzOmppLGJhc2VXaWR0aHM6T2ksYmFzZU1hcHBpbmc6TWksbWV0cmljczpfaX07ZS5BcmlhbE1UPWUuQXJpYWw9ZVsiQXJpYWwtUmVndWxhciJdPXtuYW1lOiJMaWJlcmF0aW9uU2Fucy1SZWd1bGFyIixiYXNlV2lkdGhzOlJpLGJhc2VNYXBwaW5nOk5pfTtlWyJBcmlhbC1Cb2xkTVQiXT1lWyJBcmlhbC1Cb2xkIl09e25hbWU6IkxpYmVyYXRpb25TYW5zLUJvbGQiLGJhc2VXaWR0aHM6SWksYmFzZU1hcHBpbmc6VGl9O2VbIkFyaWFsLUl0YWxpY01UIl09ZVsiQXJpYWwtSXRhbGljIl09e25hbWU6IkxpYmVyYXRpb25TYW5zLUl0YWxpYyIsYmFzZVdpZHRoczpEaSxiYXNlTWFwcGluZzpCaX07ZVsiQXJpYWwtQm9sZEl0YWxpY01UIl09ZVsiQXJpYWwtQm9sZEl0YWxpYyJdPXtuYW1lOiJMaWJlcmF0aW9uU2Fucy1Cb2xkSXRhbGljIixiYXNlV2lkdGhzOk9pLGJhc2VNYXBwaW5nOk1pfTtlWyJDYWxpYnJpLVJlZ3VsYXIiXT17bmFtZToiTGliZXJhdGlvblNhbnMtUmVndWxhciIsZmFjdG9yczpiaSxiYXNlV2lkdGhzOlJpLGJhc2VNYXBwaW5nOk5pLG1ldHJpY3M6eWl9O2VbIkNhbGlicmktQm9sZCJdPXtuYW1lOiJMaWJlcmF0aW9uU2Fucy1Cb2xkIixmYWN0b3JzOnVpLGJhc2VXaWR0aHM6SWksYmFzZU1hcHBpbmc6VGksbWV0cmljczpkaX07ZVsiQ2FsaWJyaS1JdGFsaWMiXT17bmFtZToiTGliZXJhdGlvblNhbnMtSXRhbGljIixmYWN0b3JzOnBpLGJhc2VXaWR0aHM6RGksYmFzZU1hcHBpbmc6QmksbWV0cmljczptaX07ZVsiQ2FsaWJyaS1Cb2xkSXRhbGljIl09e25hbWU6IkxpYmVyYXRpb25TYW5zLUJvbGRJdGFsaWMiLGZhY3RvcnM6ZmksYmFzZVdpZHRoczpPaSxiYXNlTWFwcGluZzpNaSxtZXRyaWNzOmdpfTtlWyJTZWdvZXVpLVJlZ3VsYXIiXT17bmFtZToiTGliZXJhdGlvblNhbnMtUmVndWxhciIsZmFjdG9yczpZaSxiYXNlV2lkdGhzOlJpLGJhc2VNYXBwaW5nOk5pLG1ldHJpY3M6Wml9O2VbIlNlZ29ldWktQm9sZCJdPXtuYW1lOiJMaWJlcmF0aW9uU2Fucy1Cb2xkIixmYWN0b3JzOnppLGJhc2VXaWR0aHM6SWksYmFzZU1hcHBpbmc6VGksbWV0cmljczokaX07ZVsiU2Vnb2V1aS1JdGFsaWMiXT17bmFtZToiTGliZXJhdGlvblNhbnMtSXRhbGljIixmYWN0b3JzOktpLGJhc2VXaWR0aHM6RGksYmFzZU1hcHBpbmc6QmksbWV0cmljczpKaX07ZVsiU2Vnb2V1aS1Cb2xkSXRhbGljIl09e25hbWU6IkxpYmVyYXRpb25TYW5zLUJvbGRJdGFsaWMiLGZhY3RvcnM6R2ksYmFzZVdpZHRoczpPaSxiYXNlTWFwcGluZzpNaSxtZXRyaWNzOlZpfTtlWyJIZWx2ZXRpY2EtUmVndWxhciJdPWUuSGVsdmV0aWNhPXtuYW1lOiJMaWJlcmF0aW9uU2Fucy1SZWd1bGFyIixmYWN0b3JzOnZpLGJhc2VXaWR0aHM6UmksYmFzZU1hcHBpbmc6TmksbWV0cmljczpGaX07ZVsiSGVsdmV0aWNhLUJvbGQiXT17bmFtZToiTGliZXJhdGlvblNhbnMtQm9sZCIsZmFjdG9yczp3aSxiYXNlV2lkdGhzOklpLGJhc2VNYXBwaW5nOlRpLG1ldHJpY3M6eGl9O2VbIkhlbHZldGljYS1JdGFsaWMiXT17bmFtZToiTGliZXJhdGlvblNhbnMtSXRhbGljIixmYWN0b3JzOmtpLGJhc2VXaWR0aHM6RGksYmFzZU1hcHBpbmc6QmksbWV0cmljczpDaX07ZVsiSGVsdmV0aWNhLUJvbGRJdGFsaWMiXT17bmFtZToiTGliZXJhdGlvblNhbnMtQm9sZEl0YWxpYyIsZmFjdG9yczpTaSxiYXNlV2lkdGhzOk9pLGJhc2VNYXBwaW5nOk1pLG1ldHJpY3M6QWl9fSkpO2Z1bmN0aW9uIGdldFhmYUZvbnROYW1lKGUpe2NvbnN0IHQ9bm9ybWFsaXplRm9udE5hbWUoZSk7cmV0dXJuIFFpKClbdF19ZnVuY3Rpb24gZ2V0WGZhRm9udERpY3QoZSl7Y29uc3QgdD1mdW5jdGlvbiBnZXRYZmFGb250V2lkdGhzKGUpe2NvbnN0IHQ9Z2V0WGZhRm9udE5hbWUoZSk7aWYoIXQpcmV0dXJuIG51bGw7Y29uc3R7YmFzZVdpZHRoczphLGJhc2VNYXBwaW5nOnIsZmFjdG9yczppfT10LG49aT9hLm1hcCgoKGUsdCk9PmUqaVt0XSkpOmE7bGV0IHMsbz0tMjtjb25zdCBjPVtdO2Zvcihjb25zdFtlLHRdb2Ygci5tYXAoKChlLHQpPT5bZSx0XSkpLnNvcnQoKChbZV0sW3RdKT0+ZS10KSkpaWYoLTEhPT1lKWlmKGU9PT1vKzEpe3MucHVzaChuW3RdKTtvKz0xfWVsc2V7bz1lO3M9W25bdF1dO2MucHVzaChlLHMpfXJldHVybiBjfShlKSxhPW5ldyBEaWN0KG51bGwpO2Euc2V0KCJCYXNlRm9udCIsTmFtZS5nZXQoZSkpO2Euc2V0KCJUeXBlIixOYW1lLmdldCgiRm9udCIpKTthLnNldCgiU3VidHlwZSIsTmFtZS5nZXQoIkNJREZvbnRUeXBlMiIpKTthLnNldCgiRW5jb2RpbmciLE5hbWUuZ2V0KCJJZGVudGl0eS1IIikpO2Euc2V0KCJDSURUb0dJRE1hcCIsTmFtZS5nZXQoIklkZW50aXR5IikpO2Euc2V0KCJXIix0KTthLnNldCgiRmlyc3RDaGFyIix0WzBdKTthLnNldCgiTGFzdENoYXIiLHQuYXQoLTIpK3QuYXQoLTEpLmxlbmd0aC0xKTtjb25zdCByPW5ldyBEaWN0KG51bGwpO2Euc2V0KCJGb250RGVzY3JpcHRvciIscik7Y29uc3QgaT1uZXcgRGljdChudWxsKTtpLnNldCgiT3JkZXJpbmciLCJJZGVudGl0eSIpO2kuc2V0KCJSZWdpc3RyeSIsIkFkb2JlIik7aS5zZXQoIlN1cHBsZW1lbnQiLDApO2Euc2V0KCJDSURTeXN0ZW1JbmZvIixpKTtyZXR1cm4gYX1jbGFzcyBQb3N0U2NyaXB0UGFyc2Vye2NvbnN0cnVjdG9yKGUpe3RoaXMubGV4ZXI9ZTt0aGlzLm9wZXJhdG9ycz1bXTt0aGlzLnRva2VuPW51bGw7dGhpcy5wcmV2PW51bGx9bmV4dFRva2VuKCl7dGhpcy5wcmV2PXRoaXMudG9rZW47dGhpcy50b2tlbj10aGlzLmxleGVyLmdldFRva2VuKCl9YWNjZXB0KGUpe2lmKHRoaXMudG9rZW4udHlwZT09PWUpe3RoaXMubmV4dFRva2VuKCk7cmV0dXJuITB9cmV0dXJuITF9ZXhwZWN0KGUpe2lmKHRoaXMuYWNjZXB0KGUpKXJldHVybiEwO3Rocm93IG5ldyBGb3JtYXRFcnJvcihgVW5leHBlY3RlZCBzeW1ib2w6IGZvdW5kICR7dGhpcy50b2tlbi50eXBlfSBleHBlY3RlZCAke2V9LmApfXBhcnNlKCl7dGhpcy5uZXh0VG9rZW4oKTt0aGlzLmV4cGVjdChlbi5MQlJBQ0UpO3RoaXMucGFyc2VCbG9jaygpO3RoaXMuZXhwZWN0KGVuLlJCUkFDRSk7cmV0dXJuIHRoaXMub3BlcmF0b3JzfXBhcnNlQmxvY2soKXtmb3IoOzspaWYodGhpcy5hY2NlcHQoZW4uTlVNQkVSKSl0aGlzLm9wZXJhdG9ycy5wdXNoKHRoaXMucHJldi52YWx1ZSk7ZWxzZSBpZih0aGlzLmFjY2VwdChlbi5PUEVSQVRPUikpdGhpcy5vcGVyYXRvcnMucHVzaCh0aGlzLnByZXYudmFsdWUpO2Vsc2V7aWYoIXRoaXMuYWNjZXB0KGVuLkxCUkFDRSkpcmV0dXJuO3RoaXMucGFyc2VDb25kaXRpb24oKX19cGFyc2VDb25kaXRpb24oKXtjb25zdCBlPXRoaXMub3BlcmF0b3JzLmxlbmd0aDt0aGlzLm9wZXJhdG9ycy5wdXNoKG51bGwsbnVsbCk7dGhpcy5wYXJzZUJsb2NrKCk7dGhpcy5leHBlY3QoZW4uUkJSQUNFKTtpZih0aGlzLmFjY2VwdChlbi5JRikpe3RoaXMub3BlcmF0b3JzW2VdPXRoaXMub3BlcmF0b3JzLmxlbmd0aDt0aGlzLm9wZXJhdG9yc1tlKzFdPSJqeiJ9ZWxzZXtpZighdGhpcy5hY2NlcHQoZW4uTEJSQUNFKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlBTIEZ1bmN0aW9uOiBlcnJvciBwYXJzaW5nIGNvbmRpdGlvbmFsLiIpO3tjb25zdCB0PXRoaXMub3BlcmF0b3JzLmxlbmd0aDt0aGlzLm9wZXJhdG9ycy5wdXNoKG51bGwsbnVsbCk7Y29uc3QgYT10aGlzLm9wZXJhdG9ycy5sZW5ndGg7dGhpcy5wYXJzZUJsb2NrKCk7dGhpcy5leHBlY3QoZW4uUkJSQUNFKTt0aGlzLmV4cGVjdChlbi5JRkVMU0UpO3RoaXMub3BlcmF0b3JzW3RdPXRoaXMub3BlcmF0b3JzLmxlbmd0aDt0aGlzLm9wZXJhdG9yc1t0KzFdPSJqIjt0aGlzLm9wZXJhdG9yc1tlXT1hO3RoaXMub3BlcmF0b3JzW2UrMV09Imp6In19fX1jb25zdCBlbj17TEJSQUNFOjAsUkJSQUNFOjEsTlVNQkVSOjIsT1BFUkFUT1I6MyxJRjo0LElGRUxTRTo1fTtjbGFzcyBQb3N0U2NyaXB0VG9rZW57c3RhdGljIGdldCBvcENhY2hlKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJvcENhY2hlIixPYmplY3QuY3JlYXRlKG51bGwpKX1jb25zdHJ1Y3RvcihlLHQpe3RoaXMudHlwZT1lO3RoaXMudmFsdWU9dH1zdGF0aWMgZ2V0T3BlcmF0b3IoZSl7cmV0dXJuIFBvc3RTY3JpcHRUb2tlbi5vcENhY2hlW2VdfHw9bmV3IFBvc3RTY3JpcHRUb2tlbihlbi5PUEVSQVRPUixlKX1zdGF0aWMgZ2V0IExCUkFDRSgpe3JldHVybiBzaGFkb3codGhpcywiTEJSQUNFIixuZXcgUG9zdFNjcmlwdFRva2VuKGVuLkxCUkFDRSwieyIpKX1zdGF0aWMgZ2V0IFJCUkFDRSgpe3JldHVybiBzaGFkb3codGhpcywiUkJSQUNFIixuZXcgUG9zdFNjcmlwdFRva2VuKGVuLlJCUkFDRSwifSIpKX1zdGF0aWMgZ2V0IElGKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJJRiIsbmV3IFBvc3RTY3JpcHRUb2tlbihlbi5JRiwiSUYiKSl9c3RhdGljIGdldCBJRkVMU0UoKXtyZXR1cm4gc2hhZG93KHRoaXMsIklGRUxTRSIsbmV3IFBvc3RTY3JpcHRUb2tlbihlbi5JRkVMU0UsIklGRUxTRSIpKX19Y2xhc3MgUG9zdFNjcmlwdExleGVye2NvbnN0cnVjdG9yKGUpe3RoaXMuc3RyZWFtPWU7dGhpcy5uZXh0Q2hhcigpO3RoaXMuc3RyQnVmPVtdfW5leHRDaGFyKCl7cmV0dXJuIHRoaXMuY3VycmVudENoYXI9dGhpcy5zdHJlYW0uZ2V0Qnl0ZSgpfWdldFRva2VuKCl7bGV0IGU9ITEsdD10aGlzLmN1cnJlbnRDaGFyO2Zvcig7Oyl7aWYodDwwKXJldHVybiBhYTtpZihlKTEwIT09dCYmMTMhPT10fHwoZT0hMSk7ZWxzZSBpZigzNz09PXQpZT0hMDtlbHNlIGlmKCFpc1doaXRlU3BhY2UodCkpYnJlYWs7dD10aGlzLm5leHRDaGFyKCl9c3dpdGNoKDB8dCl7Y2FzZSA0ODpjYXNlIDQ5OmNhc2UgNTA6Y2FzZSA1MTpjYXNlIDUyOmNhc2UgNTM6Y2FzZSA1NDpjYXNlIDU1OmNhc2UgNTY6Y2FzZSA1NzpjYXNlIDQzOmNhc2UgNDU6Y2FzZSA0NjpyZXR1cm4gbmV3IFBvc3RTY3JpcHRUb2tlbihlbi5OVU1CRVIsdGhpcy5nZXROdW1iZXIoKSk7Y2FzZSAxMjM6dGhpcy5uZXh0Q2hhcigpO3JldHVybiBQb3N0U2NyaXB0VG9rZW4uTEJSQUNFO2Nhc2UgMTI1OnRoaXMubmV4dENoYXIoKTtyZXR1cm4gUG9zdFNjcmlwdFRva2VuLlJCUkFDRX1jb25zdCBhPXRoaXMuc3RyQnVmO2EubGVuZ3RoPTA7YVswXT1TdHJpbmcuZnJvbUNoYXJDb2RlKHQpO2Zvcig7KHQ9dGhpcy5uZXh0Q2hhcigpKT49MCYmKHQ+PTY1JiZ0PD05MHx8dD49OTcmJnQ8PTEyMik7KWEucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKHQpKTtjb25zdCByPWEuam9pbigiIik7c3dpdGNoKHIudG9Mb3dlckNhc2UoKSl7Y2FzZSJpZiI6cmV0dXJuIFBvc3RTY3JpcHRUb2tlbi5JRjtjYXNlImlmZWxzZSI6cmV0dXJuIFBvc3RTY3JpcHRUb2tlbi5JRkVMU0U7ZGVmYXVsdDpyZXR1cm4gUG9zdFNjcmlwdFRva2VuLmdldE9wZXJhdG9yKHIpfX1nZXROdW1iZXIoKXtsZXQgZT10aGlzLmN1cnJlbnRDaGFyO2NvbnN0IHQ9dGhpcy5zdHJCdWY7dC5sZW5ndGg9MDt0WzBdPVN0cmluZy5mcm9tQ2hhckNvZGUoZSk7Zm9yKDsoZT10aGlzLm5leHRDaGFyKCkpPj0wJiYoZT49NDgmJmU8PTU3fHw0NT09PWV8fDQ2PT09ZSk7KXQucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKGUpKTtjb25zdCBhPXBhcnNlRmxvYXQodC5qb2luKCIiKSk7aWYoaXNOYU4oYSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKGBJbnZhbGlkIGZsb2F0aW5nIHBvaW50IG51bWJlcjogJHthfWApO3JldHVybiBhfX1jbGFzcyBCYXNlTG9jYWxDYWNoZXtjb25zdHJ1Y3RvcihlKXt0aGlzLl9vbmx5UmVmcz0hMD09PWU/Lm9ubHlSZWZzO2lmKCF0aGlzLl9vbmx5UmVmcyl7dGhpcy5fbmFtZVJlZk1hcD1uZXcgTWFwO3RoaXMuX2ltYWdlTWFwPW5ldyBNYXB9dGhpcy5faW1hZ2VDYWNoZT1uZXcgUmVmU2V0Q2FjaGV9Z2V0QnlOYW1lKGUpe3RoaXMuX29ubHlSZWZzJiZ1bnJlYWNoYWJsZSgiU2hvdWxkIG5vdCBjYWxsIGBnZXRCeU5hbWVgIG1ldGhvZC4iKTtjb25zdCB0PXRoaXMuX25hbWVSZWZNYXAuZ2V0KGUpO3JldHVybiB0P3RoaXMuZ2V0QnlSZWYodCk6dGhpcy5faW1hZ2VNYXAuZ2V0KGUpfHxudWxsfWdldEJ5UmVmKGUpe3JldHVybiB0aGlzLl9pbWFnZUNhY2hlLmdldChlKXx8bnVsbH1zZXQoZSx0LGEpe3VucmVhY2hhYmxlKCJBYnN0cmFjdCBtZXRob2QgYHNldGAgY2FsbGVkLiIpfX1jbGFzcyBMb2NhbEltYWdlQ2FjaGUgZXh0ZW5kcyBCYXNlTG9jYWxDYWNoZXtzZXQoZSx0PW51bGwsYSl7aWYoInN0cmluZyIhPXR5cGVvZiBlKXRocm93IG5ldyBFcnJvcignTG9jYWxJbWFnZUNhY2hlLnNldCAtIGV4cGVjdGVkICJuYW1lIiBhcmd1bWVudC4nKTtpZih0KXtpZih0aGlzLl9pbWFnZUNhY2hlLmhhcyh0KSlyZXR1cm47dGhpcy5fbmFtZVJlZk1hcC5zZXQoZSx0KTt0aGlzLl9pbWFnZUNhY2hlLnB1dCh0LGEpfWVsc2UgdGhpcy5faW1hZ2VNYXAuaGFzKGUpfHx0aGlzLl9pbWFnZU1hcC5zZXQoZSxhKX19Y2xhc3MgTG9jYWxDb2xvclNwYWNlQ2FjaGUgZXh0ZW5kcyBCYXNlTG9jYWxDYWNoZXtzZXQoZT1udWxsLHQ9bnVsbCxhKXtpZigic3RyaW5nIiE9dHlwZW9mIGUmJiF0KXRocm93IG5ldyBFcnJvcignTG9jYWxDb2xvclNwYWNlQ2FjaGUuc2V0IC0gZXhwZWN0ZWQgIm5hbWUiIGFuZC9vciAicmVmIiBhcmd1bWVudC4nKTtpZih0KXtpZih0aGlzLl9pbWFnZUNhY2hlLmhhcyh0KSlyZXR1cm47bnVsbCE9PWUmJnRoaXMuX25hbWVSZWZNYXAuc2V0KGUsdCk7dGhpcy5faW1hZ2VDYWNoZS5wdXQodCxhKX1lbHNlIHRoaXMuX2ltYWdlTWFwLmhhcyhlKXx8dGhpcy5faW1hZ2VNYXAuc2V0KGUsYSl9fWNsYXNzIExvY2FsRnVuY3Rpb25DYWNoZSBleHRlbmRzIEJhc2VMb2NhbENhY2hle2NvbnN0cnVjdG9yKGUpe3N1cGVyKHtvbmx5UmVmczohMH0pfXNldChlPW51bGwsdCxhKXtpZighdCl0aHJvdyBuZXcgRXJyb3IoJ0xvY2FsRnVuY3Rpb25DYWNoZS5zZXQgLSBleHBlY3RlZCAicmVmIiBhcmd1bWVudC4nKTt0aGlzLl9pbWFnZUNhY2hlLmhhcyh0KXx8dGhpcy5faW1hZ2VDYWNoZS5wdXQodCxhKX19Y2xhc3MgTG9jYWxHU3RhdGVDYWNoZSBleHRlbmRzIEJhc2VMb2NhbENhY2hle3NldChlLHQ9bnVsbCxhKXtpZigic3RyaW5nIiE9dHlwZW9mIGUpdGhyb3cgbmV3IEVycm9yKCdMb2NhbEdTdGF0ZUNhY2hlLnNldCAtIGV4cGVjdGVkICJuYW1lIiBhcmd1bWVudC4nKTtpZih0KXtpZih0aGlzLl9pbWFnZUNhY2hlLmhhcyh0KSlyZXR1cm47dGhpcy5fbmFtZVJlZk1hcC5zZXQoZSx0KTt0aGlzLl9pbWFnZUNhY2hlLnB1dCh0LGEpfWVsc2UgdGhpcy5faW1hZ2VNYXAuaGFzKGUpfHx0aGlzLl9pbWFnZU1hcC5zZXQoZSxhKX19Y2xhc3MgTG9jYWxUaWxpbmdQYXR0ZXJuQ2FjaGUgZXh0ZW5kcyBCYXNlTG9jYWxDYWNoZXtjb25zdHJ1Y3RvcihlKXtzdXBlcih7b25seVJlZnM6ITB9KX1zZXQoZT1udWxsLHQsYSl7aWYoIXQpdGhyb3cgbmV3IEVycm9yKCdMb2NhbFRpbGluZ1BhdHRlcm5DYWNoZS5zZXQgLSBleHBlY3RlZCAicmVmIiBhcmd1bWVudC4nKTt0aGlzLl9pbWFnZUNhY2hlLmhhcyh0KXx8dGhpcy5faW1hZ2VDYWNoZS5wdXQodCxhKX19Y2xhc3MgUmVnaW9uYWxJbWFnZUNhY2hlIGV4dGVuZHMgQmFzZUxvY2FsQ2FjaGV7Y29uc3RydWN0b3IoZSl7c3VwZXIoe29ubHlSZWZzOiEwfSl9c2V0KGU9bnVsbCx0LGEpe2lmKCF0KXRocm93IG5ldyBFcnJvcignUmVnaW9uYWxJbWFnZUNhY2hlLnNldCAtIGV4cGVjdGVkICJyZWYiIGFyZ3VtZW50LicpO3RoaXMuX2ltYWdlQ2FjaGUuaGFzKHQpfHx0aGlzLl9pbWFnZUNhY2hlLnB1dCh0LGEpfX1jbGFzcyBHbG9iYWxDb2xvclNwYWNlQ2FjaGUgZXh0ZW5kcyBCYXNlTG9jYWxDYWNoZXtjb25zdHJ1Y3RvcihlKXtzdXBlcih7b25seVJlZnM6ITB9KX1zZXQoZT1udWxsLHQsYSl7aWYoIXQpdGhyb3cgbmV3IEVycm9yKCdHbG9iYWxDb2xvclNwYWNlQ2FjaGUuc2V0IC0gZXhwZWN0ZWQgInJlZiIgYXJndW1lbnQuJyk7dGhpcy5faW1hZ2VDYWNoZS5oYXModCl8fHRoaXMuX2ltYWdlQ2FjaGUucHV0KHQsYSl9Y2xlYXIoKXt0aGlzLl9pbWFnZUNhY2hlLmNsZWFyKCl9fWNsYXNzIEdsb2JhbEltYWdlQ2FjaGV7c3RhdGljIE5VTV9QQUdFU19USFJFU0hPTEQ9MjtzdGF0aWMgTUlOX0lNQUdFU19UT19DQUNIRT0xMDtzdGF0aWMgTUFYX0JZVEVfU0laRT01ZTc7I0g9bmV3IFJlZlNldDtjb25zdHJ1Y3Rvcigpe3RoaXMuX3JlZkNhY2hlPW5ldyBSZWZTZXRDYWNoZTt0aGlzLl9pbWFnZUNhY2hlPW5ldyBSZWZTZXRDYWNoZX1nZXQjVygpe2xldCBlPTA7Zm9yKGNvbnN0IHQgb2YgdGhpcy5faW1hZ2VDYWNoZSllKz10LmJ5dGVTaXplO3JldHVybiBlfWdldCN6KCl7cmV0dXJuISh0aGlzLl9pbWFnZUNhY2hlLnNpemU8R2xvYmFsSW1hZ2VDYWNoZS5NSU5fSU1BR0VTX1RPX0NBQ0hFKSYmISh0aGlzLiNXPEdsb2JhbEltYWdlQ2FjaGUuTUFYX0JZVEVfU0laRSl9c2hvdWxkQ2FjaGUoZSx0KXtsZXQgYT10aGlzLl9yZWZDYWNoZS5nZXQoZSk7aWYoIWEpe2E9bmV3IFNldDt0aGlzLl9yZWZDYWNoZS5wdXQoZSxhKX1hLmFkZCh0KTtyZXR1cm4hKGEuc2l6ZTxHbG9iYWxJbWFnZUNhY2hlLk5VTV9QQUdFU19USFJFU0hPTEQpJiYhKCF0aGlzLl9pbWFnZUNhY2hlLmhhcyhlKSYmdGhpcy4jeil9YWRkRGVjb2RlRmFpbGVkKGUpe3RoaXMuI0gucHV0KGUpfWhhc0RlY29kZUZhaWxlZChlKXtyZXR1cm4gdGhpcy4jSC5oYXMoZSl9YWRkQnl0ZVNpemUoZSx0KXtjb25zdCBhPXRoaXMuX2ltYWdlQ2FjaGUuZ2V0KGUpO2EmJihhLmJ5dGVTaXplfHwoYS5ieXRlU2l6ZT10KSl9Z2V0RGF0YShlLHQpe2NvbnN0IGE9dGhpcy5fcmVmQ2FjaGUuZ2V0KGUpO2lmKCFhKXJldHVybiBudWxsO2lmKGEuc2l6ZTxHbG9iYWxJbWFnZUNhY2hlLk5VTV9QQUdFU19USFJFU0hPTEQpcmV0dXJuIG51bGw7Y29uc3Qgcj10aGlzLl9pbWFnZUNhY2hlLmdldChlKTtpZighcilyZXR1cm4gbnVsbDthLmFkZCh0KTtyZXR1cm4gcn1zZXREYXRhKGUsdCl7aWYoIXRoaXMuX3JlZkNhY2hlLmhhcyhlKSl0aHJvdyBuZXcgRXJyb3IoJ0dsb2JhbEltYWdlQ2FjaGUuc2V0RGF0YSAtIGV4cGVjdGVkICJzaG91bGRDYWNoZSIgdG8gaGF2ZSBiZWVuIGNhbGxlZC4nKTt0aGlzLl9pbWFnZUNhY2hlLmhhcyhlKXx8KHRoaXMuI3o/d2FybigiR2xvYmFsSW1hZ2VDYWNoZS5zZXREYXRhIC0gY2FjaGUgbGltaXQgcmVhY2hlZC4iKTp0aGlzLl9pbWFnZUNhY2hlLnB1dChlLHQpKX1jbGVhcihlPSExKXtpZighZSl7dGhpcy4jSC5jbGVhcigpO3RoaXMuX3JlZkNhY2hlLmNsZWFyKCl9dGhpcy5faW1hZ2VDYWNoZS5jbGVhcigpfX1jbGFzcyBQREZGdW5jdGlvbkZhY3Rvcnl7Y29uc3RydWN0b3Ioe3hyZWY6ZSxpc0V2YWxTdXBwb3J0ZWQ6dD0hMH0pe3RoaXMueHJlZj1lO3RoaXMuaXNFdmFsU3VwcG9ydGVkPSExIT09dH1jcmVhdGUoZSx0PSExKXtsZXQgYSxyO2UgaW5zdGFuY2VvZiBSZWY/YT1lOmUgaW5zdGFuY2VvZiBEaWN0P2E9ZS5vYmpJZDplIGluc3RhbmNlb2YgQmFzZVN0cmVhbSYmKGE9ZS5kaWN0Py5vYmpJZCk7aWYoYSl7Y29uc3QgZT10aGlzLl9sb2NhbEZ1bmN0aW9uQ2FjaGUuZ2V0QnlSZWYoYSk7aWYoZSlyZXR1cm4gZX1jb25zdCBpPXRoaXMueHJlZi5mZXRjaElmUmVmKGUpO2lmKEFycmF5LmlzQXJyYXkoaSkpe2lmKCF0KXRocm93IG5ldyBFcnJvcignUERGRnVuY3Rpb25GYWN0b3J5LmNyZWF0ZSAtIGV4cGVjdGVkICJwYXJzZUFycmF5IiBhcmd1bWVudC4nKTtyPVBERkZ1bmN0aW9uLnBhcnNlQXJyYXkodGhpcyxpKX1lbHNlIHI9UERGRnVuY3Rpb24ucGFyc2UodGhpcyxpKTthJiZ0aGlzLl9sb2NhbEZ1bmN0aW9uQ2FjaGUuc2V0KG51bGwsYSxyKTtyZXR1cm4gcn1nZXQgX2xvY2FsRnVuY3Rpb25DYWNoZSgpe3JldHVybiBzaGFkb3codGhpcywiX2xvY2FsRnVuY3Rpb25DYWNoZSIsbmV3IExvY2FsRnVuY3Rpb25DYWNoZSl9fWZ1bmN0aW9uIHRvTnVtYmVyQXJyYXkoZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSk/aXNOdW1iZXJBcnJheShlLG51bGwpP2U6ZS5tYXAoKGU9PitlKSk6bnVsbH1jbGFzcyBQREZGdW5jdGlvbntzdGF0aWMgZ2V0U2FtcGxlQXJyYXkoZSx0LGEscil7bGV0IGksbixzPTE7Zm9yKGk9MCxuPWUubGVuZ3RoO2k8bjtpKyspcyo9ZVtpXTtzKj10O2NvbnN0IG89bmV3IEFycmF5KHMpO2xldCBjPTAsbD0wO2NvbnN0IGg9MS8oMioqYS0xKSx1PXIuZ2V0Qnl0ZXMoKHMqYSs3KS84KTtsZXQgZD0wO2ZvcihpPTA7aTxzO2krKyl7Zm9yKDtjPGE7KXtsPDw9ODtsfD11W2QrK107Yys9OH1jLT1hO29baV09KGw+PmMpKmg7bCY9KDE8PGMpLTF9cmV0dXJuIG99c3RhdGljIHBhcnNlKGUsdCl7Y29uc3QgYT10LmRpY3R8fHQ7c3dpdGNoKGEuZ2V0KCJGdW5jdGlvblR5cGUiKSl7Y2FzZSAwOnJldHVybiB0aGlzLmNvbnN0cnVjdFNhbXBsZWQoZSx0LGEpO2Nhc2UgMTpicmVhaztjYXNlIDI6cmV0dXJuIHRoaXMuY29uc3RydWN0SW50ZXJwb2xhdGVkKGUsYSk7Y2FzZSAzOnJldHVybiB0aGlzLmNvbnN0cnVjdFN0aWNoZWQoZSxhKTtjYXNlIDQ6cmV0dXJuIHRoaXMuY29uc3RydWN0UG9zdFNjcmlwdChlLHQsYSl9dGhyb3cgbmV3IEZvcm1hdEVycm9yKCJVbmtub3duIHR5cGUgb2YgZnVuY3Rpb24iKX1zdGF0aWMgcGFyc2VBcnJheShlLHQpe2NvbnN0e3hyZWY6YX09ZSxyPVtdO2Zvcihjb25zdCBpIG9mIHQpci5wdXNoKHRoaXMucGFyc2UoZSxhLmZldGNoSWZSZWYoaSkpKTtyZXR1cm4gZnVuY3Rpb24oZSx0LGEsaSl7Zm9yKGxldCBuPTAscz1yLmxlbmd0aDtuPHM7bisrKXJbbl0oZSx0LGEsaStuKX19c3RhdGljIGNvbnN0cnVjdFNhbXBsZWQoZSx0LGEpe2Z1bmN0aW9uIHRvTXVsdGlBcnJheShlKXtjb25zdCB0PWUubGVuZ3RoLGE9W107bGV0IHI9MDtmb3IobGV0IGk9MDtpPHQ7aSs9MilhW3IrK109W2VbaV0sZVtpKzFdXTtyZXR1cm4gYX1mdW5jdGlvbiBpbnRlcnBvbGF0ZShlLHQsYSxyLGkpe3JldHVybiByKyhpLXIpLyhhLXQpKihlLXQpfWxldCByPXRvTnVtYmVyQXJyYXkoYS5nZXRBcnJheSgiRG9tYWluIikpLGk9dG9OdW1iZXJBcnJheShhLmdldEFycmF5KCJSYW5nZSIpKTtpZighcnx8IWkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJObyBkb21haW4gb3IgcmFuZ2UiKTtjb25zdCBuPXIubGVuZ3RoLzIscz1pLmxlbmd0aC8yO3I9dG9NdWx0aUFycmF5KHIpO2k9dG9NdWx0aUFycmF5KGkpO2NvbnN0IG89dG9OdW1iZXJBcnJheShhLmdldEFycmF5KCJTaXplIikpLGM9YS5nZXQoIkJpdHNQZXJTYW1wbGUiKSxsPWEuZ2V0KCJPcmRlciIpfHwxOzEhPT1sJiZpbmZvKCJObyBzdXBwb3J0IGZvciBjdWJpYyBzcGxpbmUgaW50ZXJwb2xhdGlvbjogIitsKTtsZXQgaD10b051bWJlckFycmF5KGEuZ2V0QXJyYXkoIkVuY29kZSIpKTtpZihoKWg9dG9NdWx0aUFycmF5KGgpO2Vsc2V7aD1bXTtmb3IobGV0IGU9MDtlPG47KytlKWgucHVzaChbMCxvW2VdLTFdKX1sZXQgdT10b051bWJlckFycmF5KGEuZ2V0QXJyYXkoIkRlY29kZSIpKTt1PXU/dG9NdWx0aUFycmF5KHUpOmk7Y29uc3QgZD10aGlzLmdldFNhbXBsZUFycmF5KG8scyxjLHQpO3JldHVybiBmdW5jdGlvbiBjb25zdHJ1Y3RTYW1wbGVkRm4oZSx0LGEsYyl7Y29uc3QgbD0xPDxuLGY9bmV3IEZsb2F0NjRBcnJheShsKS5maWxsKDEpLGc9bmV3IFVpbnQzMkFycmF5KGwpO2xldCBwLG0sYj1zLHk9MTtmb3IocD0wO3A8bjsrK3Ape2NvbnN0IGE9cltwXVswXSxpPXJbcF1bMV07bGV0IG49aW50ZXJwb2xhdGUoTWF0aENsYW1wKGVbdCtwXSxhLGkpLGEsaSxoW3BdWzBdLGhbcF1bMV0pO2NvbnN0IHM9b1twXTtuPU1hdGhDbGFtcChuLDAscy0xKTtjb25zdCBjPW48cy0xP01hdGguZmxvb3Iobik6bi0xLHU9YysxLW4sZD1uLWMsdz1jKmIseD13K2I7Zm9yKG09MDttPGw7bSsrKWlmKG0meSl7ZlttXSo9ZDtnW21dKz14fWVsc2V7ZlttXSo9dTtnW21dKz13fWIqPXM7eTw8PTF9Zm9yKG09MDttPHM7KyttKXtsZXQgZT0wO2ZvcihwPTA7cDxsO3ArKyllKz1kW2dbcF0rbV0qZltwXTtlPWludGVycG9sYXRlKGUsMCwxLHVbbV1bMF0sdVttXVsxXSk7YVtjK21dPU1hdGhDbGFtcChlLGlbbV1bMF0saVttXVsxXSl9fX1zdGF0aWMgY29uc3RydWN0SW50ZXJwb2xhdGVkKGUsdCl7Y29uc3QgYT10b051bWJlckFycmF5KHQuZ2V0QXJyYXkoIkMwIikpfHxbMF0scj10b051bWJlckFycmF5KHQuZ2V0QXJyYXkoIkMxIikpfHxbMV0saT10LmdldCgiTiIpLG49W107Zm9yKGxldCBlPTAsdD1hLmxlbmd0aDtlPHQ7KytlKW4ucHVzaChyW2VdLWFbZV0pO2NvbnN0IHM9bi5sZW5ndGg7cmV0dXJuIGZ1bmN0aW9uIGNvbnN0cnVjdEludGVycG9sYXRlZEZuKGUsdCxyLG8pe2NvbnN0IGM9MT09PWk/ZVt0XTplW3RdKippO2ZvcihsZXQgZT0wO2U8czsrK2UpcltvK2VdPWFbZV0rYypuW2VdfX1zdGF0aWMgY29uc3RydWN0U3RpY2hlZChlLHQpe2NvbnN0IGE9dG9OdW1iZXJBcnJheSh0LmdldEFycmF5KCJEb21haW4iKSk7aWYoIWEpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJObyBkb21haW4iKTtpZigxIT09YS5sZW5ndGgvMil0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkJhZCBkb21haW4gZm9yIHN0aWNoZWQgZnVuY3Rpb24iKTtjb25zdHt4cmVmOnJ9PWUsaT1bXTtmb3IoY29uc3QgYSBvZiB0LmdldCgiRnVuY3Rpb25zIikpaS5wdXNoKHRoaXMucGFyc2UoZSxyLmZldGNoSWZSZWYoYSkpKTtjb25zdCBuPXRvTnVtYmVyQXJyYXkodC5nZXRBcnJheSgiQm91bmRzIikpLHM9dG9OdW1iZXJBcnJheSh0LmdldEFycmF5KCJFbmNvZGUiKSksbz1uZXcgRmxvYXQzMkFycmF5KDEpO3JldHVybiBmdW5jdGlvbiBjb25zdHJ1Y3RTdGljaGVkRm4oZSx0LHIsYyl7Y29uc3QgbD1NYXRoQ2xhbXAoZVt0XSxhWzBdLGFbMV0pLGg9bi5sZW5ndGg7bGV0IHU7Zm9yKHU9MDt1PGgmJiEobDxuW3VdKTsrK3UpO2xldCBkPWFbMF07dT4wJiYoZD1uW3UtMV0pO2xldCBmPWFbMV07dTxuLmxlbmd0aCYmKGY9blt1XSk7Y29uc3QgZz1zWzIqdV0scD1zWzIqdSsxXTtvWzBdPWQ9PT1mP2c6ZysobC1kKSoocC1nKS8oZi1kKTtpW3VdKG8sMCxyLGMpfX1zdGF0aWMgY29uc3RydWN0UG9zdFNjcmlwdChlLHQsYSl7Y29uc3Qgcj10b051bWJlckFycmF5KGEuZ2V0QXJyYXkoIkRvbWFpbiIpKSxpPXRvTnVtYmVyQXJyYXkoYS5nZXRBcnJheSgiUmFuZ2UiKSk7aWYoIXIpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJObyBkb21haW4uIik7aWYoIWkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJObyByYW5nZS4iKTtjb25zdCBuPW5ldyBQb3N0U2NyaXB0TGV4ZXIodCkscz1uZXcgUG9zdFNjcmlwdFBhcnNlcihuKS5wYXJzZSgpO2lmKGUuaXNFdmFsU3VwcG9ydGVkJiZGZWF0dXJlVGVzdC5pc0V2YWxTdXBwb3J0ZWQpe2NvbnN0IGU9KG5ldyBQb3N0U2NyaXB0Q29tcGlsZXIpLmNvbXBpbGUocyxyLGkpO2lmKGUpcmV0dXJuIG5ldyBGdW5jdGlvbigic3JjIiwic3JjT2Zmc2V0IiwiZGVzdCIsImRlc3RPZmZzZXQiLGUpfWluZm8oIlVuYWJsZSB0byBjb21waWxlIFBTIGZ1bmN0aW9uIik7Y29uc3Qgbz1pLmxlbmd0aD4+MSxjPXIubGVuZ3RoPj4xLGw9bmV3IFBvc3RTY3JpcHRFdmFsdWF0b3IocyksaD1PYmplY3QuY3JlYXRlKG51bGwpO2xldCB1PTgxOTI7Y29uc3QgZD1uZXcgRmxvYXQzMkFycmF5KGMpO3JldHVybiBmdW5jdGlvbiBjb25zdHJ1Y3RQb3N0U2NyaXB0Rm4oZSx0LGEscil7bGV0IG4scyxmPSIiO2NvbnN0IGc9ZDtmb3Iobj0wO248YztuKyspe3M9ZVt0K25dO2dbbl09cztmKz1zKyJfIn1jb25zdCBwPWhbZl07aWYodm9pZCAwIT09cCl7YS5zZXQocCxyKTtyZXR1cm59Y29uc3QgbT1uZXcgRmxvYXQzMkFycmF5KG8pLGI9bC5leGVjdXRlKGcpLHk9Yi5sZW5ndGgtbztmb3Iobj0wO248bztuKyspe3M9Ylt5K25dO2xldCBlPWlbMipuXTtpZihzPGUpcz1lO2Vsc2V7ZT1pWzIqbisxXTtzPmUmJihzPWUpfW1bbl09c31pZih1PjApe3UtLTtoW2ZdPW19YS5zZXQobSxyKX19fWZ1bmN0aW9uIGlzUERGRnVuY3Rpb24oZSl7bGV0IHQ7aWYoZSBpbnN0YW5jZW9mIERpY3QpdD1lO2Vsc2V7aWYoIShlIGluc3RhbmNlb2YgQmFzZVN0cmVhbSkpcmV0dXJuITE7dD1lLmRpY3R9cmV0dXJuIHQuaGFzKCJGdW5jdGlvblR5cGUiKX1jbGFzcyBQb3N0U2NyaXB0U3RhY2t7c3RhdGljIE1BWF9TVEFDS19TSVpFPTEwMDtjb25zdHJ1Y3RvcihlKXt0aGlzLnN0YWNrPWU/QXJyYXkuZnJvbShlKTpbXX1wdXNoKGUpe2lmKHRoaXMuc3RhY2subGVuZ3RoPj1Qb3N0U2NyaXB0U3RhY2suTUFYX1NUQUNLX1NJWkUpdGhyb3cgbmV3IEVycm9yKCJQb3N0U2NyaXB0IGZ1bmN0aW9uIHN0YWNrIG92ZXJmbG93LiIpO3RoaXMuc3RhY2sucHVzaChlKX1wb3AoKXtpZih0aGlzLnN0YWNrLmxlbmd0aDw9MCl0aHJvdyBuZXcgRXJyb3IoIlBvc3RTY3JpcHQgZnVuY3Rpb24gc3RhY2sgdW5kZXJmbG93LiIpO3JldHVybiB0aGlzLnN0YWNrLnBvcCgpfWNvcHkoZSl7aWYodGhpcy5zdGFjay5sZW5ndGgrZT49UG9zdFNjcmlwdFN0YWNrLk1BWF9TVEFDS19TSVpFKXRocm93IG5ldyBFcnJvcigiUG9zdFNjcmlwdCBmdW5jdGlvbiBzdGFjayBvdmVyZmxvdy4iKTtjb25zdCB0PXRoaXMuc3RhY2s7Zm9yKGxldCBhPXQubGVuZ3RoLWUscj1lLTE7cj49MDtyLS0sYSsrKXQucHVzaCh0W2FdKX1pbmRleChlKXt0aGlzLnB1c2godGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC1lLTFdKX1yb2xsKGUsdCl7Y29uc3QgYT10aGlzLnN0YWNrLHI9YS5sZW5ndGgtZSxpPWEubGVuZ3RoLTEsbj1yKyh0LU1hdGguZmxvb3IodC9lKSplKTtmb3IobGV0IGU9cix0PWk7ZTx0O2UrKyx0LS0pe2NvbnN0IHI9YVtlXTthW2VdPWFbdF07YVt0XT1yfWZvcihsZXQgZT1yLHQ9bi0xO2U8dDtlKyssdC0tKXtjb25zdCByPWFbZV07YVtlXT1hW3RdO2FbdF09cn1mb3IobGV0IGU9bix0PWk7ZTx0O2UrKyx0LS0pe2NvbnN0IHI9YVtlXTthW2VdPWFbdF07YVt0XT1yfX19Y2xhc3MgUG9zdFNjcmlwdEV2YWx1YXRvcntjb25zdHJ1Y3RvcihlKXt0aGlzLm9wZXJhdG9ycz1lfWV4ZWN1dGUoZSl7Y29uc3QgdD1uZXcgUG9zdFNjcmlwdFN0YWNrKGUpO2xldCBhPTA7Y29uc3Qgcj10aGlzLm9wZXJhdG9ycyxpPXIubGVuZ3RoO2xldCBuLHMsbztmb3IoO2E8aTspe249clthKytdO2lmKCJudW1iZXIiIT10eXBlb2Ygbilzd2l0Y2gobil7Y2FzZSJqeiI6bz10LnBvcCgpO3M9dC5wb3AoKTtzfHwoYT1vKTticmVhaztjYXNlImoiOnM9dC5wb3AoKTthPXM7YnJlYWs7Y2FzZSJhYnMiOnM9dC5wb3AoKTt0LnB1c2goTWF0aC5hYnMocykpO2JyZWFrO2Nhc2UiYWRkIjpvPXQucG9wKCk7cz10LnBvcCgpO3QucHVzaChzK28pO2JyZWFrO2Nhc2UiYW5kIjpvPXQucG9wKCk7cz10LnBvcCgpOyJib29sZWFuIj09dHlwZW9mIHMmJiJib29sZWFuIj09dHlwZW9mIG8/dC5wdXNoKHMmJm8pOnQucHVzaChzJm8pO2JyZWFrO2Nhc2UiYXRhbiI6bz10LnBvcCgpO3M9dC5wb3AoKTtzPU1hdGguYXRhbjIocyxvKS9NYXRoLlBJKjE4MDtzPDAmJihzKz0zNjApO3QucHVzaChzKTticmVhaztjYXNlImJpdHNoaWZ0IjpvPXQucG9wKCk7cz10LnBvcCgpO3M+MD90LnB1c2goczw8byk6dC5wdXNoKHM+Pm8pO2JyZWFrO2Nhc2UiY2VpbGluZyI6cz10LnBvcCgpO3QucHVzaChNYXRoLmNlaWwocykpO2JyZWFrO2Nhc2UiY29weSI6cz10LnBvcCgpO3QuY29weShzKTticmVhaztjYXNlImNvcyI6cz10LnBvcCgpO3QucHVzaChNYXRoLmNvcyhzJTM2MC8xODAqTWF0aC5QSSkpO2JyZWFrO2Nhc2UiY3ZpIjpzPTB8dC5wb3AoKTt0LnB1c2gocyk7YnJlYWs7Y2FzZSJjdnIiOmJyZWFrO2Nhc2UiZGl2IjpvPXQucG9wKCk7cz10LnBvcCgpO3QucHVzaChzL28pO2JyZWFrO2Nhc2UiZHVwIjp0LmNvcHkoMSk7YnJlYWs7Y2FzZSJlcSI6bz10LnBvcCgpO3M9dC5wb3AoKTt0LnB1c2gocz09PW8pO2JyZWFrO2Nhc2UiZXhjaCI6dC5yb2xsKDIsMSk7YnJlYWs7Y2FzZSJleHAiOm89dC5wb3AoKTtzPXQucG9wKCk7dC5wdXNoKHMqKm8pO2JyZWFrO2Nhc2UiZmFsc2UiOnQucHVzaCghMSk7YnJlYWs7Y2FzZSJmbG9vciI6cz10LnBvcCgpO3QucHVzaChNYXRoLmZsb29yKHMpKTticmVhaztjYXNlImdlIjpvPXQucG9wKCk7cz10LnBvcCgpO3QucHVzaChzPj1vKTticmVhaztjYXNlImd0IjpvPXQucG9wKCk7cz10LnBvcCgpO3QucHVzaChzPm8pO2JyZWFrO2Nhc2UiaWRpdiI6bz10LnBvcCgpO3M9dC5wb3AoKTt0LnB1c2gocy9vfDApO2JyZWFrO2Nhc2UiaW5kZXgiOnM9dC5wb3AoKTt0LmluZGV4KHMpO2JyZWFrO2Nhc2UibGUiOm89dC5wb3AoKTtzPXQucG9wKCk7dC5wdXNoKHM8PW8pO2JyZWFrO2Nhc2UibG4iOnM9dC5wb3AoKTt0LnB1c2goTWF0aC5sb2cocykpO2JyZWFrO2Nhc2UibG9nIjpzPXQucG9wKCk7dC5wdXNoKE1hdGgubG9nMTAocykpO2JyZWFrO2Nhc2UibHQiOm89dC5wb3AoKTtzPXQucG9wKCk7dC5wdXNoKHM8byk7YnJlYWs7Y2FzZSJtb2QiOm89dC5wb3AoKTtzPXQucG9wKCk7dC5wdXNoKHMlbyk7YnJlYWs7Y2FzZSJtdWwiOm89dC5wb3AoKTtzPXQucG9wKCk7dC5wdXNoKHMqbyk7YnJlYWs7Y2FzZSJuZSI6bz10LnBvcCgpO3M9dC5wb3AoKTt0LnB1c2gocyE9PW8pO2JyZWFrO2Nhc2UibmVnIjpzPXQucG9wKCk7dC5wdXNoKC1zKTticmVhaztjYXNlIm5vdCI6cz10LnBvcCgpOyJib29sZWFuIj09dHlwZW9mIHM/dC5wdXNoKCFzKTp0LnB1c2gofnMpO2JyZWFrO2Nhc2Uib3IiOm89dC5wb3AoKTtzPXQucG9wKCk7ImJvb2xlYW4iPT10eXBlb2YgcyYmImJvb2xlYW4iPT10eXBlb2Ygbz90LnB1c2goc3x8byk6dC5wdXNoKHN8byk7YnJlYWs7Y2FzZSJwb3AiOnQucG9wKCk7YnJlYWs7Y2FzZSJyb2xsIjpvPXQucG9wKCk7cz10LnBvcCgpO3Qucm9sbChzLG8pO2JyZWFrO2Nhc2Uicm91bmQiOnM9dC5wb3AoKTt0LnB1c2goTWF0aC5yb3VuZChzKSk7YnJlYWs7Y2FzZSJzaW4iOnM9dC5wb3AoKTt0LnB1c2goTWF0aC5zaW4ocyUzNjAvMTgwKk1hdGguUEkpKTticmVhaztjYXNlInNxcnQiOnM9dC5wb3AoKTt0LnB1c2goTWF0aC5zcXJ0KHMpKTticmVhaztjYXNlInN1YiI6bz10LnBvcCgpO3M9dC5wb3AoKTt0LnB1c2gocy1vKTticmVhaztjYXNlInRydWUiOnQucHVzaCghMCk7YnJlYWs7Y2FzZSJ0cnVuY2F0ZSI6cz10LnBvcCgpO3M9czwwP01hdGguY2VpbChzKTpNYXRoLmZsb29yKHMpO3QucHVzaChzKTticmVhaztjYXNlInhvciI6bz10LnBvcCgpO3M9dC5wb3AoKTsiYm9vbGVhbiI9PXR5cGVvZiBzJiYiYm9vbGVhbiI9PXR5cGVvZiBvP3QucHVzaChzIT09byk6dC5wdXNoKHNebyk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYFVua25vd24gb3BlcmF0b3IgJHtufWApfWVsc2UgdC5wdXNoKG4pfXJldHVybiB0LnN0YWNrfX1jbGFzcyBBc3ROb2Rle2NvbnN0cnVjdG9yKGUpe3RoaXMudHlwZT1lfXZpc2l0KGUpe3VucmVhY2hhYmxlKCJhYnN0cmFjdCBtZXRob2QiKX19Y2xhc3MgQXN0QXJndW1lbnQgZXh0ZW5kcyBBc3ROb2Rle2NvbnN0cnVjdG9yKGUsdCxhKXtzdXBlcigiYXJncyIpO3RoaXMuaW5kZXg9ZTt0aGlzLm1pbj10O3RoaXMubWF4PWF9dmlzaXQoZSl7ZS52aXNpdEFyZ3VtZW50KHRoaXMpfX1jbGFzcyBBc3RMaXRlcmFsIGV4dGVuZHMgQXN0Tm9kZXtjb25zdHJ1Y3RvcihlKXtzdXBlcigibGl0ZXJhbCIpO3RoaXMubnVtYmVyPWU7dGhpcy5taW49ZTt0aGlzLm1heD1lfXZpc2l0KGUpe2UudmlzaXRMaXRlcmFsKHRoaXMpfX1jbGFzcyBBc3RCaW5hcnlPcGVyYXRpb24gZXh0ZW5kcyBBc3ROb2Rle2NvbnN0cnVjdG9yKGUsdCxhLHIsaSl7c3VwZXIoImJpbmFyeSIpO3RoaXMub3A9ZTt0aGlzLmFyZzE9dDt0aGlzLmFyZzI9YTt0aGlzLm1pbj1yO3RoaXMubWF4PWl9dmlzaXQoZSl7ZS52aXNpdEJpbmFyeU9wZXJhdGlvbih0aGlzKX19Y2xhc3MgQXN0TWluIGV4dGVuZHMgQXN0Tm9kZXtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKCJtYXgiKTt0aGlzLmFyZz1lO3RoaXMubWluPWUubWluO3RoaXMubWF4PXR9dmlzaXQoZSl7ZS52aXNpdE1pbih0aGlzKX19Y2xhc3MgQXN0VmFyaWFibGUgZXh0ZW5kcyBBc3ROb2Rle2NvbnN0cnVjdG9yKGUsdCxhKXtzdXBlcigidmFyIik7dGhpcy5pbmRleD1lO3RoaXMubWluPXQ7dGhpcy5tYXg9YX12aXNpdChlKXtlLnZpc2l0VmFyaWFibGUodGhpcyl9fWNsYXNzIEFzdFZhcmlhYmxlRGVmaW5pdGlvbiBleHRlbmRzIEFzdE5vZGV7Y29uc3RydWN0b3IoZSx0KXtzdXBlcigiZGVmaW5pdGlvbiIpO3RoaXMudmFyaWFibGU9ZTt0aGlzLmFyZz10fXZpc2l0KGUpe2UudmlzaXRWYXJpYWJsZURlZmluaXRpb24odGhpcyl9fWNsYXNzIEV4cHJlc3Npb25CdWlsZGVyVmlzaXRvcntjb25zdHJ1Y3Rvcigpe3RoaXMucGFydHM9W119dmlzaXRBcmd1bWVudChlKXt0aGlzLnBhcnRzLnB1c2goIk1hdGgubWF4KCIsZS5taW4sIiwgTWF0aC5taW4oIixlLm1heCwiLCBzcmNbc3JjT2Zmc2V0ICsgIixlLmluZGV4LCJdKSkiKX12aXNpdFZhcmlhYmxlKGUpe3RoaXMucGFydHMucHVzaCgidiIsZS5pbmRleCl9dmlzaXRMaXRlcmFsKGUpe3RoaXMucGFydHMucHVzaChlLm51bWJlcil9dmlzaXRCaW5hcnlPcGVyYXRpb24oZSl7dGhpcy5wYXJ0cy5wdXNoKCIoIik7ZS5hcmcxLnZpc2l0KHRoaXMpO3RoaXMucGFydHMucHVzaCgiICIsZS5vcCwiICIpO2UuYXJnMi52aXNpdCh0aGlzKTt0aGlzLnBhcnRzLnB1c2goIikiKX12aXNpdFZhcmlhYmxlRGVmaW5pdGlvbihlKXt0aGlzLnBhcnRzLnB1c2goInZhciAiKTtlLnZhcmlhYmxlLnZpc2l0KHRoaXMpO3RoaXMucGFydHMucHVzaCgiID0gIik7ZS5hcmcudmlzaXQodGhpcyk7dGhpcy5wYXJ0cy5wdXNoKCI7Iil9dmlzaXRNaW4oZSl7dGhpcy5wYXJ0cy5wdXNoKCJNYXRoLm1pbigiKTtlLmFyZy52aXNpdCh0aGlzKTt0aGlzLnBhcnRzLnB1c2goIiwgIixlLm1heCwiKSIpfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMucGFydHMuam9pbigiIil9fWZ1bmN0aW9uIGJ1aWxkQWRkT3BlcmF0aW9uKGUsdCl7cmV0dXJuImxpdGVyYWwiPT09dC50eXBlJiYwPT09dC5udW1iZXI/ZToibGl0ZXJhbCI9PT1lLnR5cGUmJjA9PT1lLm51bWJlcj90OiJsaXRlcmFsIj09PXQudHlwZSYmImxpdGVyYWwiPT09ZS50eXBlP25ldyBBc3RMaXRlcmFsKGUubnVtYmVyK3QubnVtYmVyKTpuZXcgQXN0QmluYXJ5T3BlcmF0aW9uKCIrIixlLHQsZS5taW4rdC5taW4sZS5tYXgrdC5tYXgpfWZ1bmN0aW9uIGJ1aWxkTXVsT3BlcmF0aW9uKGUsdCl7aWYoImxpdGVyYWwiPT09dC50eXBlKXtpZigwPT09dC5udW1iZXIpcmV0dXJuIG5ldyBBc3RMaXRlcmFsKDApO2lmKDE9PT10Lm51bWJlcilyZXR1cm4gZTtpZigibGl0ZXJhbCI9PT1lLnR5cGUpcmV0dXJuIG5ldyBBc3RMaXRlcmFsKGUubnVtYmVyKnQubnVtYmVyKX1pZigibGl0ZXJhbCI9PT1lLnR5cGUpe2lmKDA9PT1lLm51bWJlcilyZXR1cm4gbmV3IEFzdExpdGVyYWwoMCk7aWYoMT09PWUubnVtYmVyKXJldHVybiB0fWNvbnN0IGE9TWF0aC5taW4oZS5taW4qdC5taW4sZS5taW4qdC5tYXgsZS5tYXgqdC5taW4sZS5tYXgqdC5tYXgpLHI9TWF0aC5tYXgoZS5taW4qdC5taW4sZS5taW4qdC5tYXgsZS5tYXgqdC5taW4sZS5tYXgqdC5tYXgpO3JldHVybiBuZXcgQXN0QmluYXJ5T3BlcmF0aW9uKCIqIixlLHQsYSxyKX1mdW5jdGlvbiBidWlsZFN1Yk9wZXJhdGlvbihlLHQpe2lmKCJsaXRlcmFsIj09PXQudHlwZSl7aWYoMD09PXQubnVtYmVyKXJldHVybiBlO2lmKCJsaXRlcmFsIj09PWUudHlwZSlyZXR1cm4gbmV3IEFzdExpdGVyYWwoZS5udW1iZXItdC5udW1iZXIpfXJldHVybiJiaW5hcnkiPT09dC50eXBlJiYiLSI9PT10Lm9wJiYibGl0ZXJhbCI9PT1lLnR5cGUmJjE9PT1lLm51bWJlciYmImxpdGVyYWwiPT09dC5hcmcxLnR5cGUmJjE9PT10LmFyZzEubnVtYmVyP3QuYXJnMjpuZXcgQXN0QmluYXJ5T3BlcmF0aW9uKCItIixlLHQsZS5taW4tdC5tYXgsZS5tYXgtdC5taW4pfWZ1bmN0aW9uIGJ1aWxkTWluT3BlcmF0aW9uKGUsdCl7cmV0dXJuIGUubWluPj10P25ldyBBc3RMaXRlcmFsKHQpOmUubWF4PD10P2U6bmV3IEFzdE1pbihlLHQpfWNsYXNzIFBvc3RTY3JpcHRDb21waWxlcntjb21waWxlKGUsdCxhKXtjb25zdCByPVtdLGk9W10sbj10Lmxlbmd0aD4+MSxzPWEubGVuZ3RoPj4xO2xldCBvLGMsbCxoLHUsZCxmLGcscD0wO2ZvcihsZXQgZT0wO2U8bjtlKyspci5wdXNoKG5ldyBBc3RBcmd1bWVudChlLHRbMiplXSx0WzIqZSsxXSkpO2ZvcihsZXQgdD0wLGE9ZS5sZW5ndGg7dDxhO3QrKyl7Zz1lW3RdO2lmKCJudW1iZXIiIT10eXBlb2YgZylzd2l0Y2goZyl7Y2FzZSJhZGQiOmlmKHIubGVuZ3RoPDIpcmV0dXJuIG51bGw7aD1yLnBvcCgpO2w9ci5wb3AoKTtyLnB1c2goYnVpbGRBZGRPcGVyYXRpb24obCxoKSk7YnJlYWs7Y2FzZSJjdnIiOmlmKHIubGVuZ3RoPDEpcmV0dXJuIG51bGw7YnJlYWs7Y2FzZSJtdWwiOmlmKHIubGVuZ3RoPDIpcmV0dXJuIG51bGw7aD1yLnBvcCgpO2w9ci5wb3AoKTtyLnB1c2goYnVpbGRNdWxPcGVyYXRpb24obCxoKSk7YnJlYWs7Y2FzZSJzdWIiOmlmKHIubGVuZ3RoPDIpcmV0dXJuIG51bGw7aD1yLnBvcCgpO2w9ci5wb3AoKTtyLnB1c2goYnVpbGRTdWJPcGVyYXRpb24obCxoKSk7YnJlYWs7Y2FzZSJleGNoIjppZihyLmxlbmd0aDwyKXJldHVybiBudWxsO3U9ci5wb3AoKTtkPXIucG9wKCk7ci5wdXNoKHUsZCk7YnJlYWs7Y2FzZSJwb3AiOmlmKHIubGVuZ3RoPDEpcmV0dXJuIG51bGw7ci5wb3AoKTticmVhaztjYXNlImluZGV4IjppZihyLmxlbmd0aDwxKXJldHVybiBudWxsO2w9ci5wb3AoKTtpZigibGl0ZXJhbCIhPT1sLnR5cGUpcmV0dXJuIG51bGw7bz1sLm51bWJlcjtpZihvPDB8fCFOdW1iZXIuaXNJbnRlZ2VyKG8pfHxyLmxlbmd0aDxvKXJldHVybiBudWxsO3U9cltyLmxlbmd0aC1vLTFdO2lmKCJsaXRlcmFsIj09PXUudHlwZXx8InZhciI9PT11LnR5cGUpe3IucHVzaCh1KTticmVha31mPW5ldyBBc3RWYXJpYWJsZShwKyssdS5taW4sdS5tYXgpO3Jbci5sZW5ndGgtby0xXT1mO3IucHVzaChmKTtpLnB1c2gobmV3IEFzdFZhcmlhYmxlRGVmaW5pdGlvbihmLHUpKTticmVhaztjYXNlImR1cCI6aWYoci5sZW5ndGg8MSlyZXR1cm4gbnVsbDtpZigibnVtYmVyIj09dHlwZW9mIGVbdCsxXSYmImd0Ij09PWVbdCsyXSYmZVt0KzNdPT09dCs3JiYianoiPT09ZVt0KzRdJiYicG9wIj09PWVbdCs1XSYmZVt0KzZdPT09ZVt0KzFdKXtsPXIucG9wKCk7ci5wdXNoKGJ1aWxkTWluT3BlcmF0aW9uKGwsZVt0KzFdKSk7dCs9NjticmVha311PXIuYXQoLTEpO2lmKCJsaXRlcmFsIj09PXUudHlwZXx8InZhciI9PT11LnR5cGUpe3IucHVzaCh1KTticmVha31mPW5ldyBBc3RWYXJpYWJsZShwKyssdS5taW4sdS5tYXgpO3Jbci5sZW5ndGgtMV09ZjtyLnB1c2goZik7aS5wdXNoKG5ldyBBc3RWYXJpYWJsZURlZmluaXRpb24oZix1KSk7YnJlYWs7Y2FzZSJyb2xsIjppZihyLmxlbmd0aDwyKXJldHVybiBudWxsO2g9ci5wb3AoKTtsPXIucG9wKCk7aWYoImxpdGVyYWwiIT09aC50eXBlfHwibGl0ZXJhbCIhPT1sLnR5cGUpcmV0dXJuIG51bGw7Yz1oLm51bWJlcjtvPWwubnVtYmVyO2lmKG88PTB8fCFOdW1iZXIuaXNJbnRlZ2VyKG8pfHwhTnVtYmVyLmlzSW50ZWdlcihjKXx8ci5sZW5ndGg8bylyZXR1cm4gbnVsbDtjPShjJW8rbyklbztpZigwPT09YylicmVhaztyLnB1c2goLi4uci5zcGxpY2Uoci5sZW5ndGgtbyxvLWMpKTticmVhaztkZWZhdWx0OnJldHVybiBudWxsfWVsc2Ugci5wdXNoKG5ldyBBc3RMaXRlcmFsKGcpKX1pZihyLmxlbmd0aCE9PXMpcmV0dXJuIG51bGw7Y29uc3QgbT1bXTtmb3IoY29uc3QgZSBvZiBpKXtjb25zdCB0PW5ldyBFeHByZXNzaW9uQnVpbGRlclZpc2l0b3I7ZS52aXNpdCh0KTttLnB1c2godC50b1N0cmluZygpKX1mb3IobGV0IGU9MCx0PXIubGVuZ3RoO2U8dDtlKyspe2NvbnN0IHQ9cltlXSxpPW5ldyBFeHByZXNzaW9uQnVpbGRlclZpc2l0b3I7dC52aXNpdChpKTtjb25zdCBuPWFbMiplXSxzPWFbMiplKzFdLG89W2kudG9TdHJpbmcoKV07aWYobj50Lm1pbil7by51bnNoaWZ0KCJNYXRoLm1heCgiLG4sIiwgIik7by5wdXNoKCIpIil9aWYoczx0Lm1heCl7by51bnNoaWZ0KCJNYXRoLm1pbigiLHMsIiwgIik7by5wdXNoKCIpIil9by51bnNoaWZ0KCJkZXN0W2Rlc3RPZmZzZXQgKyAiLGUsIl0gPSAiKTtvLnB1c2goIjsiKTttLnB1c2goby5qb2luKCIiKSl9cmV0dXJuIG0uam9pbigiXG4iKX19Y29uc3QgdG49WyJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJTIiwiQiIsIlMiLCJXUyIsIkIiLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQiIsIkIiLCJCIiwiUyIsIldTIiwiT04iLCJPTiIsIkVUIiwiRVQiLCJFVCIsIk9OIiwiT04iLCJPTiIsIk9OIiwiT04iLCJFUyIsIkNTIiwiRVMiLCJDUyIsIkNTIiwiRU4iLCJFTiIsIkVOIiwiRU4iLCJFTiIsIkVOIiwiRU4iLCJFTiIsIkVOIiwiRU4iLCJDUyIsIk9OIiwiT04iLCJPTiIsIk9OIiwiT04iLCJPTiIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiT04iLCJPTiIsIk9OIiwiT04iLCJPTiIsIk9OIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJPTiIsIk9OIiwiT04iLCJPTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkIiLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQ1MiLCJPTiIsIkVUIiwiRVQiLCJFVCIsIkVUIiwiT04iLCJPTiIsIk9OIiwiT04iLCJMIiwiT04iLCJPTiIsIkJOIiwiT04iLCJPTiIsIkVUIiwiRVQiLCJFTiIsIkVOIiwiT04iLCJMIiwiT04iLCJPTiIsIk9OIiwiRU4iLCJMIiwiT04iLCJPTiIsIk9OIiwiT04iLCJPTiIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiT04iLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiT04iLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCJdLGFuPVsiQU4iLCJBTiIsIkFOIiwiQU4iLCJBTiIsIkFOIiwiT04iLCJPTiIsIkFMIiwiRVQiLCJFVCIsIkFMIiwiQ1MiLCJBTCIsIk9OIiwiT04iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJBTCIsIkFMIiwiIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiQU4iLCJBTiIsIkFOIiwiQU4iLCJBTiIsIkFOIiwiQU4iLCJBTiIsIkFOIiwiQU4iLCJFVCIsIkFOIiwiQU4iLCJBTCIsIkFMIiwiQUwiLCJOU00iLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiQU4iLCJPTiIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIkFMIiwiQUwiLCJOU00iLCJOU00iLCJPTiIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIkFMIiwiQUwiLCJFTiIsIkVOIiwiRU4iLCJFTiIsIkVOIiwiRU4iLCJFTiIsIkVOIiwiRU4iLCJFTiIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCJdO2Z1bmN0aW9uIGlzT2RkKGUpe3JldHVybiEhKDEmZSl9ZnVuY3Rpb24gaXNFdmVuKGUpe3JldHVybiEoMSZlKX1mdW5jdGlvbiBmaW5kVW5lcXVhbChlLHQsYSl7bGV0IHIsaTtmb3Iocj10LGk9ZS5sZW5ndGg7cjxpOysrcilpZihlW3JdIT09YSlyZXR1cm4gcjtyZXR1cm4gcn1mdW5jdGlvbiByZXZlcnNlVmFsdWVzKGUsdCxhKXtmb3IobGV0IHI9dCxpPWEtMTtyPGk7KytyLC0taSl7Y29uc3QgdD1lW3JdO2Vbcl09ZVtpXTtlW2ldPXR9fWZ1bmN0aW9uIGNyZWF0ZUJpZGlUZXh0KGUsdCxhPSExKXtsZXQgcj0ibHRyIjthP3I9InR0YiI6dHx8KHI9InJ0bCIpO3JldHVybntzdHI6ZSxkaXI6cn19Y29uc3Qgcm49W10sbm49W107ZnVuY3Rpb24gYmlkaShlLHQ9LTEsYT0hMSl7bGV0IHI9ITA7Y29uc3QgaT1lLmxlbmd0aDtpZigwPT09aXx8YSlyZXR1cm4gY3JlYXRlQmlkaVRleHQoZSxyLGEpO3JuLmxlbmd0aD1pO25uLmxlbmd0aD1pO2xldCBuLHMsbz0wO2ZvcihuPTA7bjxpOysrbil7cm5bbl09ZS5jaGFyQXQobik7Y29uc3QgdD1lLmNoYXJDb2RlQXQobik7bGV0IGE9IkwiO2lmKHQ8PTI1NSlhPXRuW3RdO2Vsc2UgaWYoMTQyNDw9dCYmdDw9MTUyNClhPSJSIjtlbHNlIGlmKDE1MzY8PXQmJnQ8PTE3OTEpe2E9YW5bMjU1JnRdO2F8fHdhcm4oIkJpZGk6IGludmFsaWQgVW5pY29kZSBjaGFyYWN0ZXIgIit0LnRvU3RyaW5nKDE2KSl9ZWxzZSgxNzkyPD10JiZ0PD0yMjIwfHw2NDMzNjw9dCYmdDw9NjUwMjN8fDY1MTM2PD10JiZ0PD02NTI3OSkmJihhPSJBTCIpOyJSIiE9PWEmJiJBTCIhPT1hJiYiQU4iIT09YXx8bysrO25uW25dPWF9aWYoMD09PW8pe3I9ITA7cmV0dXJuIGNyZWF0ZUJpZGlUZXh0KGUscil9aWYoLTE9PT10KWlmKG8vaTwuMyYmaT40KXtyPSEwO3Q9MH1lbHNle3I9ITE7dD0xfWNvbnN0IGM9W107Zm9yKG49MDtuPGk7KytuKWNbbl09dDtjb25zdCBsPWlzT2RkKHQpPyJSIjoiTCIsaD1sLHU9aDtsZXQgZCxmPWg7Zm9yKG49MDtuPGk7KytuKSJOU00iPT09bm5bbl0/bm5bbl09ZjpmPW5uW25dO2Y9aDtmb3Iobj0wO248aTsrK24pe2Q9bm5bbl07IkVOIj09PWQ/bm5bbl09IkFMIj09PWY/IkFOIjoiRU4iOiJSIiE9PWQmJiJMIiE9PWQmJiJBTCIhPT1kfHwoZj1kKX1mb3Iobj0wO248aTsrK24pe2Q9bm5bbl07IkFMIj09PWQmJihubltuXT0iUiIpfWZvcihuPTE7bjxpLTE7KytuKXsiRVMiPT09bm5bbl0mJiJFTiI9PT1ubltuLTFdJiYiRU4iPT09bm5bbisxXSYmKG5uW25dPSJFTiIpOyJDUyIhPT1ubltuXXx8IkVOIiE9PW5uW24tMV0mJiJBTiIhPT1ubltuLTFdfHxubltuKzFdIT09bm5bbi0xXXx8KG5uW25dPW5uW24tMV0pfWZvcihuPTA7bjxpOysrbilpZigiRU4iPT09bm5bbl0pe2ZvcihsZXQgZT1uLTE7ZT49MCYmIkVUIj09PW5uW2VdOy0tZSlubltlXT0iRU4iO2ZvcihsZXQgZT1uKzE7ZTxpJiYiRVQiPT09bm5bZV07KytlKW5uW2VdPSJFTiJ9Zm9yKG49MDtuPGk7KytuKXtkPW5uW25dOyJXUyIhPT1kJiYiRVMiIT09ZCYmIkVUIiE9PWQmJiJDUyIhPT1kfHwobm5bbl09Ik9OIil9Zj1oO2ZvcihuPTA7bjxpOysrbil7ZD1ubltuXTsiRU4iPT09ZD9ubltuXT0iTCI9PT1mPyJMIjoiRU4iOiJSIiE9PWQmJiJMIiE9PWR8fChmPWQpfWZvcihuPTA7bjxpOysrbilpZigiT04iPT09bm5bbl0pe2NvbnN0IGU9ZmluZFVuZXF1YWwobm4sbisxLCJPTiIpO2xldCB0PWg7bj4wJiYodD1ubltuLTFdKTtsZXQgYT11O2UrMTxpJiYoYT1ubltlKzFdKTsiTCIhPT10JiYodD0iUiIpOyJMIiE9PWEmJihhPSJSIik7dD09PWEmJm5uLmZpbGwodCxuLGUpO249ZS0xfWZvcihuPTA7bjxpOysrbikiT04iPT09bm5bbl0mJihubltuXT1sKTtmb3Iobj0wO248aTsrK24pe2Q9bm5bbl07aXNFdmVuKGNbbl0pPyJSIj09PWQ/Y1tuXSs9MToiQU4iIT09ZCYmIkVOIiE9PWR8fChjW25dKz0yKToiTCIhPT1kJiYiQU4iIT09ZCYmIkVOIiE9PWR8fChjW25dKz0xKX1sZXQgZyxwPS0xLG09OTk7Zm9yKG49MCxzPWMubGVuZ3RoO248czsrK24pe2c9Y1tuXTtwPGcmJihwPWcpO20+ZyYmaXNPZGQoZykmJihtPWcpfWZvcihnPXA7Zz49bTstLWcpe2xldCBlPS0xO2ZvcihuPTAscz1jLmxlbmd0aDtuPHM7KytuKWlmKGNbbl08Zyl7aWYoZT49MCl7cmV2ZXJzZVZhbHVlcyhybixlLG4pO2U9LTF9fWVsc2UgZTwwJiYoZT1uKTtlPj0wJiZyZXZlcnNlVmFsdWVzKHJuLGUsYy5sZW5ndGgpfWZvcihuPTAscz1ybi5sZW5ndGg7bjxzOysrbil7Y29uc3QgZT1ybltuXTsiPCIhPT1lJiYiPiIhPT1lfHwocm5bbl09IiIpfXJldHVybiBjcmVhdGVCaWRpVGV4dChybi5qb2luKCIiKSxyKX1jb25zdCBzbj17c3R5bGU6Im5vcm1hbCIsd2VpZ2h0OiJub3JtYWwifSxvbj17c3R5bGU6Im5vcm1hbCIsd2VpZ2h0OiJib2xkIn0sY249e3N0eWxlOiJpdGFsaWMiLHdlaWdodDoibm9ybWFsIn0sbG49e3N0eWxlOiJpdGFsaWMiLHdlaWdodDoiYm9sZCJ9LGhuPW5ldyBNYXAoW1siVGltZXMtUm9tYW4iLHtsb2NhbDpbIlRpbWVzIE5ldyBSb21hbiIsIlRpbWVzLVJvbWFuIiwiVGltZXMiLCJMaWJlcmF0aW9uIFNlcmlmIiwiTmltYnVzIFJvbWFuIiwiTmltYnVzIFJvbWFuIEwiLCJUaW5vcyIsIlRob3JuZGFsZSIsIlRlWCBHeXJlIFRlcm1lcyIsIkZyZWVTZXJpZiIsIkxpbnV4IExpYmVydGluZSBPIiwiTGliZXJ0aW51cyBTZXJpZiIsIkRlamFWdSBTZXJpZiIsIkJpdHN0cmVhbSBWZXJhIFNlcmlmIiwiVWJ1bnR1Il0sc3R5bGU6c24sdWx0aW1hdGU6InNlcmlmIn1dLFsiVGltZXMtQm9sZCIse2FsaWFzOiJUaW1lcy1Sb21hbiIsc3R5bGU6b24sdWx0aW1hdGU6InNlcmlmIn1dLFsiVGltZXMtSXRhbGljIix7YWxpYXM6IlRpbWVzLVJvbWFuIixzdHlsZTpjbix1bHRpbWF0ZToic2VyaWYifV0sWyJUaW1lcy1Cb2xkSXRhbGljIix7YWxpYXM6IlRpbWVzLVJvbWFuIixzdHlsZTpsbix1bHRpbWF0ZToic2VyaWYifV0sWyJIZWx2ZXRpY2EiLHtsb2NhbDpbIkhlbHZldGljYSIsIkhlbHZldGljYSBOZXVlIiwiQXJpYWwiLCJBcmlhbCBOb3ZhIiwiTGliZXJhdGlvbiBTYW5zIiwiQXJpbW8iLCJOaW1idXMgU2FucyIsIk5pbWJ1cyBTYW5zIEwiLCJBMDMwIiwiVGVYIEd5cmUgSGVyb3MiLCJGcmVlU2FucyIsIkRlamFWdSBTYW5zIiwiQWxiYW55IiwiQml0c3RyZWFtIFZlcmEgU2FucyIsIkFyaWFsIFVuaWNvZGUgTVMiLCJNaWNyb3NvZnQgU2FucyBTZXJpZiIsIkFwcGxlIFN5bWJvbHMiLCJDYW50YXJlbGwiXSxwYXRoOiJMaWJlcmF0aW9uU2Fucy1SZWd1bGFyLnR0ZiIsc3R5bGU6c24sdWx0aW1hdGU6InNhbnMtc2VyaWYifV0sWyJIZWx2ZXRpY2EtQm9sZCIse2FsaWFzOiJIZWx2ZXRpY2EiLHBhdGg6IkxpYmVyYXRpb25TYW5zLUJvbGQudHRmIixzdHlsZTpvbix1bHRpbWF0ZToic2Fucy1zZXJpZiJ9XSxbIkhlbHZldGljYS1PYmxpcXVlIix7YWxpYXM6IkhlbHZldGljYSIscGF0aDoiTGliZXJhdGlvblNhbnMtSXRhbGljLnR0ZiIsc3R5bGU6Y24sdWx0aW1hdGU6InNhbnMtc2VyaWYifV0sWyJIZWx2ZXRpY2EtQm9sZE9ibGlxdWUiLHthbGlhczoiSGVsdmV0aWNhIixwYXRoOiJMaWJlcmF0aW9uU2Fucy1Cb2xkSXRhbGljLnR0ZiIsc3R5bGU6bG4sdWx0aW1hdGU6InNhbnMtc2VyaWYifV0sWyJDb3VyaWVyIix7bG9jYWw6WyJDb3VyaWVyIiwiQ291cmllciBOZXciLCJMaWJlcmF0aW9uIE1vbm8iLCJOaW1idXMgTW9ubyIsIk5pbWJ1cyBNb25vIEwiLCJDb3VzaW5lIiwiQ3VtYmVybGFuZCIsIlRlWCBHeXJlIEN1cnNvciIsIkZyZWVNb25vIiwiTGludXggTGliZXJ0aW5lIE1vbm8gTyIsIkxpYmVydGludXMgTW9ubyJdLHN0eWxlOnNuLHVsdGltYXRlOiJtb25vc3BhY2UifV0sWyJDb3VyaWVyLUJvbGQiLHthbGlhczoiQ291cmllciIsc3R5bGU6b24sdWx0aW1hdGU6Im1vbm9zcGFjZSJ9XSxbIkNvdXJpZXItT2JsaXF1ZSIse2FsaWFzOiJDb3VyaWVyIixzdHlsZTpjbix1bHRpbWF0ZToibW9ub3NwYWNlIn1dLFsiQ291cmllci1Cb2xkT2JsaXF1ZSIse2FsaWFzOiJDb3VyaWVyIixzdHlsZTpsbix1bHRpbWF0ZToibW9ub3NwYWNlIn1dLFsiQXJpYWxCbGFjayIse2xvY2FsOlsiQXJpYWwgQmxhY2siXSxzdHlsZTp7c3R5bGU6Im5vcm1hbCIsd2VpZ2h0OiI5MDAifSxmYWxsYmFjazoiSGVsdmV0aWNhLUJvbGQifV0sWyJBcmlhbEJsYWNrLUJvbGQiLHthbGlhczoiQXJpYWxCbGFjayJ9XSxbIkFyaWFsQmxhY2stSXRhbGljIix7YWxpYXM6IkFyaWFsQmxhY2siLHN0eWxlOntzdHlsZToiaXRhbGljIix3ZWlnaHQ6IjkwMCJ9LGZhbGxiYWNrOiJIZWx2ZXRpY2EtQm9sZE9ibGlxdWUifV0sWyJBcmlhbEJsYWNrLUJvbGRJdGFsaWMiLHthbGlhczoiQXJpYWxCbGFjay1JdGFsaWMifV0sWyJBcmlhbE5hcnJvdyIse2xvY2FsOlsiQXJpYWwgTmFycm93IiwiTGliZXJhdGlvbiBTYW5zIE5hcnJvdyIsIkhlbHZldGljYSBDb25kZW5zZWQiLCJOaW1idXMgU2FucyBOYXJyb3ciLCJUZVggR3lyZSBIZXJvcyBDbiJdLHN0eWxlOnNuLGZhbGxiYWNrOiJIZWx2ZXRpY2EifV0sWyJBcmlhbE5hcnJvdy1Cb2xkIix7YWxpYXM6IkFyaWFsTmFycm93IixzdHlsZTpvbixmYWxsYmFjazoiSGVsdmV0aWNhLUJvbGQifV0sWyJBcmlhbE5hcnJvdy1JdGFsaWMiLHthbGlhczoiQXJpYWxOYXJyb3ciLHN0eWxlOmNuLGZhbGxiYWNrOiJIZWx2ZXRpY2EtT2JsaXF1ZSJ9XSxbIkFyaWFsTmFycm93LUJvbGRJdGFsaWMiLHthbGlhczoiQXJpYWxOYXJyb3ciLHN0eWxlOmxuLGZhbGxiYWNrOiJIZWx2ZXRpY2EtQm9sZE9ibGlxdWUifV0sWyJDYWxpYnJpIix7bG9jYWw6WyJDYWxpYnJpIiwiQ2FybGl0byJdLHN0eWxlOnNuLGZhbGxiYWNrOiJIZWx2ZXRpY2EifV0sWyJDYWxpYnJpLUJvbGQiLHthbGlhczoiQ2FsaWJyaSIsc3R5bGU6b24sZmFsbGJhY2s6IkhlbHZldGljYS1Cb2xkIn1dLFsiQ2FsaWJyaS1JdGFsaWMiLHthbGlhczoiQ2FsaWJyaSIsc3R5bGU6Y24sZmFsbGJhY2s6IkhlbHZldGljYS1PYmxpcXVlIn1dLFsiQ2FsaWJyaS1Cb2xkSXRhbGljIix7YWxpYXM6IkNhbGlicmkiLHN0eWxlOmxuLGZhbGxiYWNrOiJIZWx2ZXRpY2EtQm9sZE9ibGlxdWUifV0sWyJXaW5nZGluZ3MiLHtsb2NhbDpbIldpbmdkaW5ncyIsIlVSVyBEaW5nYmF0cyJdLHN0eWxlOnNufV0sWyJXaW5nZGluZ3MtUmVndWxhciIse2FsaWFzOiJXaW5nZGluZ3MifV0sWyJXaW5nZGluZ3MtQm9sZCIse2FsaWFzOiJXaW5nZGluZ3MifV1dKSx1bj1uZXcgTWFwKFtbIkFyaWFsLUJsYWNrIiwiQXJpYWxCbGFjayJdXSk7ZnVuY3Rpb24gZ2V0RmFtaWx5TmFtZShlKXtjb25zdCB0PW5ldyBTZXQoWyJ0aGluIiwiZXh0cmFsaWdodCIsInVsdHJhbGlnaHQiLCJkZW1pbGlnaHQiLCJzZW1pbGlnaHQiLCJsaWdodCIsImJvb2siLCJyZWd1bGFyIiwibm9ybWFsIiwibWVkaXVtIiwiZGVtaWJvbGQiLCJzZW1pYm9sZCIsImJvbGQiLCJleHRyYWJvbGQiLCJ1bHRyYWJvbGQiLCJibGFjayIsImhlYXZ5IiwiZXh0cmFibGFjayIsInVsdHJhYmxhY2siLCJyb21hbiIsIml0YWxpYyIsIm9ibGlxdWUiLCJ1bHRyYWNvbmRlbnNlZCIsImV4dHJhY29uZGVuc2VkIiwiY29uZGVuc2VkIiwic2VtaWNvbmRlbnNlZCIsIm5vcm1hbCIsInNlbWlleHBhbmRlZCIsImV4cGFuZGVkIiwiZXh0cmFleHBhbmRlZCIsInVsdHJhZXhwYW5kZWQiLCJib2xkaXRhbGljIl0pO3JldHVybiBlLnNwbGl0KC9bLSAsK10rL2cpLmZpbHRlcigoZT0+IXQuaGFzKGUudG9Mb3dlckNhc2UoKSkpKS5qb2luKCIgIil9ZnVuY3Rpb24gZ2VuZXJhdGVGb250KHthbGlhczplLGxvY2FsOnQscGF0aDphLGZhbGxiYWNrOnIsc3R5bGU6aSx1bHRpbWF0ZTpufSxzLG8sYz0hMCxsPSEwLGg9IiIpe2NvbnN0IHU9e3N0eWxlOm51bGwsdWx0aW1hdGU6bnVsbH07aWYodCl7Y29uc3QgZT1oP2AgJHtofWA6IiI7Zm9yKGNvbnN0IGEgb2YgdClzLnB1c2goYGxvY2FsKCR7YX0ke2V9KWApfWlmKGUpe2NvbnN0IHQ9aG4uZ2V0KGUpLG49aHx8ZnVuY3Rpb24gZ2V0U3R5bGVUb0FwcGVuZChlKXtzd2l0Y2goZSl7Y2FzZSBvbjpyZXR1cm4iQm9sZCI7Y2FzZSBjbjpyZXR1cm4iSXRhbGljIjtjYXNlIGxuOnJldHVybiJCb2xkIEl0YWxpYyI7ZGVmYXVsdDppZigiYm9sZCI9PT1lPy53ZWlnaHQpcmV0dXJuIkJvbGQiO2lmKCJpdGFsaWMiPT09ZT8uc3R5bGUpcmV0dXJuIkl0YWxpYyJ9cmV0dXJuIiJ9KGkpO09iamVjdC5hc3NpZ24odSxnZW5lcmF0ZUZvbnQodCxzLG8sYyYmIXIsbCYmIWEsbikpfWkmJih1LnN0eWxlPWkpO24mJih1LnVsdGltYXRlPW4pO2lmKGMmJnIpe2NvbnN0IGU9aG4uZ2V0KHIpLHt1bHRpbWF0ZTp0fT1nZW5lcmF0ZUZvbnQoZSxzLG8sYyxsJiYhYSxoKTt1LnVsdGltYXRlfHw9dH1sJiZhJiZvJiZzLnB1c2goYHVybCgke299JHthfSlgKTtyZXR1cm4gdX1mdW5jdGlvbiBnZXRGb250U3Vic3RpdHV0aW9uKGUsdCxhLHIsaSxuKXtpZihyLnN0YXJ0c1dpdGgoIkludmFsaWRQREZqc0ZvbnRfIikpcmV0dXJuIG51bGw7IlRydWVUeXBlIiE9PW4mJiJUeXBlMSIhPT1ufHwhL15bQS1aXXs2fVwrLy50ZXN0KHIpfHwocj1yLnNsaWNlKDcpKTtjb25zdCBzPXI9bm9ybWFsaXplRm9udE5hbWUocik7bGV0IG89ZS5nZXQocyk7aWYobylyZXR1cm4gbztsZXQgYz1obi5nZXQocik7aWYoIWMpZm9yKGNvbnN0W2UsdF1vZiB1bilpZihyLnN0YXJ0c1dpdGgoZSkpe3I9YCR7dH0ke3Iuc3Vic3RyaW5nKGUubGVuZ3RoKX1gO2M9aG4uZ2V0KHIpO2JyZWFrfWxldCBsPSExO2lmKCFjKXtjPWhuLmdldChpKTtsPSEwfWNvbnN0IGg9YCR7dC5nZXREb2NJZCgpfV9zJHt0LmNyZWF0ZUZvbnRJZCgpfWA7aWYoIWMpe2lmKCF2YWxpZGF0ZUZvbnROYW1lKHIpKXt3YXJuKGBDYW5ub3Qgc3Vic3RpdHV0ZSB0aGUgZm9udCBiZWNhdXNlIG9mIGl0cyBuYW1lOiAke3J9YCk7ZS5zZXQocyxudWxsKTtyZXR1cm4gbnVsbH1jb25zdCB0PS9ib2xkL2dpLnRlc3QociksYT0vb2JsaXF1ZXxpdGFsaWMvZ2kudGVzdChyKSxpPXQmJmEmJmxufHx0JiZvbnx8YSYmY258fHNuO289e2NzczpgIiR7Z2V0RmFtaWx5TmFtZShyKX0iLCR7aH1gLGd1ZXNzRmFsbGJhY2s6ITAsbG9hZGVkTmFtZTpoLGJhc2VGb250TmFtZTpyLHNyYzpgbG9jYWwoJHtyfSlgLHN0eWxlOml9O2Uuc2V0KHMsbyk7cmV0dXJuIG99Y29uc3QgdT1bXTtsJiZ2YWxpZGF0ZUZvbnROYW1lKHIpJiZ1LnB1c2goYGxvY2FsKCR7cn0pYCk7Y29uc3R7c3R5bGU6ZCx1bHRpbWF0ZTpmfT1nZW5lcmF0ZUZvbnQoYyx1LGEpLGc9bnVsbD09PWYscD1nPyIiOmAsJHtmfWA7bz17Y3NzOmAiJHtnZXRGYW1pbHlOYW1lKHIpfSIsJHtofSR7cH1gLGd1ZXNzRmFsbGJhY2s6Zyxsb2FkZWROYW1lOmgsYmFzZUZvbnROYW1lOnIsc3JjOnUuam9pbigiLCIpLHN0eWxlOmR9O2Uuc2V0KHMsbyk7cmV0dXJuIG99Y29uc3QgZG49MzI4NTM3NzUyMCxmbj00Mjk0OTAxNzYwLGduPTY1NTM1O2NsYXNzIE11cm11ckhhc2gzXzY0e2NvbnN0cnVjdG9yKGUpe3RoaXMuaDE9ZT80Mjk0OTY3Mjk1JmU6ZG47dGhpcy5oMj1lPzQyOTQ5NjcyOTUmZTpkbn11cGRhdGUoZSl7bGV0IHQsYTtpZigic3RyaW5nIj09dHlwZW9mIGUpe3Q9bmV3IFVpbnQ4QXJyYXkoMiplLmxlbmd0aCk7YT0wO2ZvcihsZXQgcj0wLGk9ZS5sZW5ndGg7cjxpO3IrKyl7Y29uc3QgaT1lLmNoYXJDb2RlQXQocik7aWYoaTw9MjU1KXRbYSsrXT1pO2Vsc2V7dFthKytdPWk+Pj44O3RbYSsrXT0yNTUmaX19fWVsc2V7aWYoIUFycmF5QnVmZmVyLmlzVmlldyhlKSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgZGF0YSBmb3JtYXQsIG11c3QgYmUgYSBzdHJpbmcgb3IgVHlwZWRBcnJheS4iKTt0PWUuc2xpY2UoKTthPXQuYnl0ZUxlbmd0aH1jb25zdCByPWE+PjIsaT1hLTQqcixuPW5ldyBVaW50MzJBcnJheSh0LmJ1ZmZlciwwLHIpO2xldCBzPTAsbz0wLGM9dGhpcy5oMSxsPXRoaXMuaDI7Y29uc3QgaD0zNDMyOTE4MzUzLHU9NDYxODQ1OTA3LGQ9MTE2MDEsZj0xMzcxNTtmb3IobGV0IGU9MDtlPHI7ZSsrKWlmKDEmZSl7cz1uW2VdO3M9cypoJmZufHMqZCZnbjtzPXM8PDE1fHM+Pj4xNztzPXMqdSZmbnxzKmYmZ247Y149cztjPWM8PDEzfGM+Pj4xOTtjPTUqYyszODY0MjkyMTk2fWVsc2V7bz1uW2VdO289bypoJmZufG8qZCZnbjtvPW88PDE1fG8+Pj4xNztvPW8qdSZmbnxvKmYmZ247bF49bztsPWw8PDEzfGw+Pj4xOTtsPTUqbCszODY0MjkyMTk2fXM9MDtzd2l0Y2goaSl7Y2FzZSAzOnNePXRbNCpyKzJdPDwxNjtjYXNlIDI6c149dFs0KnIrMV08PDg7Y2FzZSAxOnNePXRbNCpyXTtzPXMqaCZmbnxzKmQmZ247cz1zPDwxNXxzPj4+MTc7cz1zKnUmZm58cypmJmduOzEmcj9jXj1zOmxePXN9dGhpcy5oMT1jO3RoaXMuaDI9bH1oZXhkaWdlc3QoKXtsZXQgZT10aGlzLmgxLHQ9dGhpcy5oMjtlXj10Pj4+MTtlPTM5ODE4MDY3OTcqZSZmbnwzNjA0NSplJmduO3Q9NDI4MzU0MzUxMSp0JmZufCgyOTUwMTYzNzk3Kih0PDwxNnxlPj4+MTYpJmZuKT4+PjE2O2VePXQ+Pj4xO2U9NDQ0OTg0NDAzKmUmZm58NjA0OTkqZSZnbjt0PTMzMDE4ODIzNjYqdCZmbnwoMzEyMDQzNzg5MyoodDw8MTZ8ZT4+PjE2KSZmbik+Pj4xNjtlXj10Pj4+MTtyZXR1cm4oZT4+PjApLnRvU3RyaW5nKDE2KS5wYWRTdGFydCg4LCIwIikrKHQ+Pj4wKS50b1N0cmluZygxNikucGFkU3RhcnQoOCwiMCIpfX1mdW5jdGlvbiByZXNpemVJbWFnZU1hc2soZSx0LGEscixpLG4pe2NvbnN0IHM9aSpuO2xldCBvO289dDw9OD9uZXcgVWludDhBcnJheShzKTp0PD0xNj9uZXcgVWludDE2QXJyYXkocyk6bmV3IFVpbnQzMkFycmF5KHMpO2NvbnN0IGM9YS9pLGw9ci9uO2xldCBoLHUsZCxmLGc9MDtjb25zdCBwPW5ldyBVaW50MTZBcnJheShpKSxtPWE7Zm9yKGg9MDtoPGk7aCsrKXBbaF09TWF0aC5mbG9vcihoKmMpO2ZvcihoPTA7aDxuO2grKyl7ZD1NYXRoLmZsb29yKGgqbCkqbTtmb3IodT0wO3U8aTt1Kyspe2Y9ZCtwW3VdO29bZysrXT1lW2ZdfX1yZXR1cm4gb31jbGFzcyBQREZJbWFnZXtjb25zdHJ1Y3Rvcih7eHJlZjplLHJlczp0LGltYWdlOmEsaXNJbmxpbmU6cj0hMSxzbWFzazppPW51bGwsbWFzazpuPW51bGwsaXNNYXNrOnM9ITEscGRmRnVuY3Rpb25GYWN0b3J5Om8sZ2xvYmFsQ29sb3JTcGFjZUNhY2hlOmMsbG9jYWxDb2xvclNwYWNlQ2FjaGU6bH0pe3RoaXMuaW1hZ2U9YTtjb25zdCBoPWEuZGljdCx1PWguZ2V0KCJGIiwiRmlsdGVyIik7bGV0IGQ7aWYodSBpbnN0YW5jZW9mIE5hbWUpZD11Lm5hbWU7ZWxzZSBpZihBcnJheS5pc0FycmF5KHUpKXtjb25zdCB0PWUuZmV0Y2hJZlJlZih1WzBdKTt0IGluc3RhbmNlb2YgTmFtZSYmKGQ9dC5uYW1lKX1zd2l0Y2goZCl7Y2FzZSJKUFhEZWNvZGUiOih7d2lkdGg6YS53aWR0aCxoZWlnaHQ6YS5oZWlnaHQsY29tcG9uZW50c0NvdW50OmEubnVtQ29tcHMsYml0c1BlckNvbXBvbmVudDphLmJpdHNQZXJDb21wb25lbnR9PUpweEltYWdlLnBhcnNlSW1hZ2VQcm9wZXJ0aWVzKGEuc3RyZWFtKSk7YS5zdHJlYW0ucmVzZXQoKTtjb25zdCBlPUltYWdlUmVzaXplci5nZXRSZWR1Y2VQb3dlckZvckpQWChhLndpZHRoLGEuaGVpZ2h0LGEubnVtQ29tcHMpO3RoaXMuanB4RGVjb2Rlck9wdGlvbnM9e251bUNvbXBvbmVudHM6MCxpc0luZGV4ZWRDb2xvcm1hcDohMSxzbWFza0luRGF0YTpoLmhhcygiU01hc2tJbkRhdGEiKSxyZWR1Y2VQb3dlcjplfTtpZihlKXtjb25zdCB0PTIqKmU7YS53aWR0aD1NYXRoLmNlaWwoYS53aWR0aC90KTthLmhlaWdodD1NYXRoLmNlaWwoYS5oZWlnaHQvdCl9YnJlYWs7Y2FzZSJKQklHMkRlY29kZSI6YS5iaXRzUGVyQ29tcG9uZW50PTE7YS5udW1Db21wcz0xfWxldCBmPWguZ2V0KCJXIiwiV2lkdGgiKSxnPWguZ2V0KCJIIiwiSGVpZ2h0Iik7aWYoTnVtYmVyLmlzSW50ZWdlcihhLndpZHRoKSYmYS53aWR0aD4wJiZOdW1iZXIuaXNJbnRlZ2VyKGEuaGVpZ2h0KSYmYS5oZWlnaHQ+MCYmKGEud2lkdGghPT1mfHxhLmhlaWdodCE9PWcpKXt3YXJuKCJQREZJbWFnZSAtIHVzaW5nIHRoZSBXaWR0aC9IZWlnaHQgb2YgdGhlIGltYWdlIGRhdGEsIHJhdGhlciB0aGFuIHRoZSBpbWFnZSBkaWN0aW9uYXJ5LiIpO2Y9YS53aWR0aDtnPWEuaGVpZ2h0fWVsc2V7Y29uc3QgZT0ibnVtYmVyIj09dHlwZW9mIGYmJmY+MCx0PSJudW1iZXIiPT10eXBlb2YgZyYmZz4wO2lmKCFlfHwhdCl7aWYoIWEuZmFsbGJhY2tEaW1zKXRocm93IG5ldyBGb3JtYXRFcnJvcihgSW52YWxpZCBpbWFnZSB3aWR0aDogJHtmfSBvciBoZWlnaHQ6ICR7Z31gKTt3YXJuKCJQREZJbWFnZSAtIHVzaW5nIHRoZSBXaWR0aC9IZWlnaHQgb2YgdGhlIHBhcmVudCBpbWFnZSwgZm9yIFNNYXNrL01hc2sgZGF0YS4iKTtlfHwoZj1hLmZhbGxiYWNrRGltcy53aWR0aCk7dHx8KGc9YS5mYWxsYmFja0RpbXMuaGVpZ2h0KX19dGhpcy53aWR0aD1mO3RoaXMuaGVpZ2h0PWc7dGhpcy5pbnRlcnBvbGF0ZT1oLmdldCgiSSIsIkludGVycG9sYXRlIik7dGhpcy5pbWFnZU1hc2s9aC5nZXQoIklNIiwiSW1hZ2VNYXNrIil8fCExO3RoaXMubWF0dGU9aC5nZXQoIk1hdHRlIil8fCExO2xldCBwPWEuYml0c1BlckNvbXBvbmVudDtpZighcCl7cD1oLmdldCgiQlBDIiwiQml0c1BlckNvbXBvbmVudCIpO2lmKCFwKXtpZighdGhpcy5pbWFnZU1hc2spdGhyb3cgbmV3IEZvcm1hdEVycm9yKGBCaXRzIHBlciBjb21wb25lbnQgbWlzc2luZyBpbiBpbWFnZTogJHt0aGlzLmltYWdlTWFza31gKTtwPTF9fXRoaXMuYnBjPXA7aWYoIXRoaXMuaW1hZ2VNYXNrKXtsZXQgaT1oLmdldFJhdygiQ1MiKXx8aC5nZXRSYXcoIkNvbG9yU3BhY2UiKTtjb25zdCBuPSEhaTtpZihuKXRoaXMuanB4RGVjb2Rlck9wdGlvbnM/LnNtYXNrSW5EYXRhJiYoaT1OYW1lLmdldCgiRGV2aWNlUkdCQSIpKTtlbHNlIGlmKHRoaXMuanB4RGVjb2Rlck9wdGlvbnMpaT1OYW1lLmdldCgiRGV2aWNlUkdCQSIpO2Vsc2Ugc3dpdGNoKGEubnVtQ29tcHMpe2Nhc2UgMTppPU5hbWUuZ2V0KCJEZXZpY2VHcmF5Iik7YnJlYWs7Y2FzZSAzOmk9TmFtZS5nZXQoIkRldmljZVJHQiIpO2JyZWFrO2Nhc2UgNDppPU5hbWUuZ2V0KCJEZXZpY2VDTVlLIik7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoYEltYWdlcyB3aXRoICR7YS5udW1Db21wc30gY29sb3IgY29tcG9uZW50cyBub3Qgc3VwcG9ydGVkLmApfXRoaXMuY29sb3JTcGFjZT1Db2xvclNwYWNlVXRpbHMucGFyc2Uoe2NzOmkseHJlZjplLHJlc291cmNlczpyP3Q6bnVsbCxwZGZGdW5jdGlvbkZhY3Rvcnk6byxnbG9iYWxDb2xvclNwYWNlQ2FjaGU6Yyxsb2NhbENvbG9yU3BhY2VDYWNoZTpsfSk7dGhpcy5udW1Db21wcz10aGlzLmNvbG9yU3BhY2UubnVtQ29tcHM7aWYodGhpcy5qcHhEZWNvZGVyT3B0aW9ucyl7dGhpcy5qcHhEZWNvZGVyT3B0aW9ucy5udW1Db21wb25lbnRzPW4/dGhpcy5udW1Db21wczowO3RoaXMuanB4RGVjb2Rlck9wdGlvbnMuaXNJbmRleGVkQ29sb3JtYXA9IkluZGV4ZWQiPT09dGhpcy5jb2xvclNwYWNlLm5hbWV9fXRoaXMuZGVjb2RlPWguZ2V0QXJyYXkoIkQiLCJEZWNvZGUiKTt0aGlzLm5lZWRzRGVjb2RlPSExO2lmKHRoaXMuZGVjb2RlJiYodGhpcy5jb2xvclNwYWNlJiYhdGhpcy5jb2xvclNwYWNlLmlzRGVmYXVsdERlY29kZSh0aGlzLmRlY29kZSxwKXx8cyYmIUNvbG9yU3BhY2UuaXNEZWZhdWx0RGVjb2RlKHRoaXMuZGVjb2RlLDEpKSl7dGhpcy5uZWVkc0RlY29kZT0hMDtjb25zdCBlPSgxPDxwKS0xO3RoaXMuZGVjb2RlQ29lZmZpY2llbnRzPVtdO3RoaXMuZGVjb2RlQWRkZW5kcz1bXTtjb25zdCB0PSJJbmRleGVkIj09PXRoaXMuY29sb3JTcGFjZT8ubmFtZTtmb3IobGV0IGE9MCxyPTA7YTx0aGlzLmRlY29kZS5sZW5ndGg7YSs9MiwrK3Ipe2NvbnN0IGk9dGhpcy5kZWNvZGVbYV0sbj10aGlzLmRlY29kZVthKzFdO3RoaXMuZGVjb2RlQ29lZmZpY2llbnRzW3JdPXQ/KG4taSkvZTpuLWk7dGhpcy5kZWNvZGVBZGRlbmRzW3JdPXQ/aTplKml9fWlmKGkpe2kuZmFsbGJhY2tEaW1zPz89e3dpZHRoOmYsaGVpZ2h0Omd9O3RoaXMuc21hc2s9bmV3IFBERkltYWdlKHt4cmVmOmUscmVzOnQsaW1hZ2U6aSxpc0lubGluZTpyLHBkZkZ1bmN0aW9uRmFjdG9yeTpvLGdsb2JhbENvbG9yU3BhY2VDYWNoZTpjLGxvY2FsQ29sb3JTcGFjZUNhY2hlOmx9KX1lbHNlIGlmKG4paWYobiBpbnN0YW5jZW9mIEJhc2VTdHJlYW0pe2lmKG4uZGljdC5nZXQoIklNIiwiSW1hZ2VNYXNrIikpe24uZmFsbGJhY2tEaW1zPz89e3dpZHRoOmYsaGVpZ2h0Omd9O3RoaXMubWFzaz1uZXcgUERGSW1hZ2Uoe3hyZWY6ZSxyZXM6dCxpbWFnZTpuLGlzSW5saW5lOnIsaXNNYXNrOiEwLHBkZkZ1bmN0aW9uRmFjdG9yeTpvLGdsb2JhbENvbG9yU3BhY2VDYWNoZTpjLGxvY2FsQ29sb3JTcGFjZUNhY2hlOmx9KX1lbHNlIHdhcm4oIklnbm9yaW5nIC9NYXNrIGluIGltYWdlIHdpdGhvdXQgL0ltYWdlTWFzay4iKX1lbHNlIHRoaXMubWFzaz1ufXN0YXRpYyBhc3luYyBidWlsZEltYWdlKHt4cmVmOmUscmVzOnQsaW1hZ2U6YSxpc0lubGluZTpyPSExLHBkZkZ1bmN0aW9uRmFjdG9yeTppLGdsb2JhbENvbG9yU3BhY2VDYWNoZTpuLGxvY2FsQ29sb3JTcGFjZUNhY2hlOnN9KXtjb25zdCBvPWE7bGV0IGM9bnVsbCxsPW51bGw7Y29uc3QgaD1hLmRpY3QuZ2V0KCJTTWFzayIpLHU9YS5kaWN0LmdldCgiTWFzayIpO2g/aCBpbnN0YW5jZW9mIEJhc2VTdHJlYW0/Yz1oOndhcm4oIlVuc3VwcG9ydGVkIC9TTWFzayBmb3JtYXQuIik6dSYmKHUgaW5zdGFuY2VvZiBCYXNlU3RyZWFtfHxBcnJheS5pc0FycmF5KHUpP2w9dTp3YXJuKCJVbnN1cHBvcnRlZCAvTWFzayBmb3JtYXQuIikpO3JldHVybiBuZXcgUERGSW1hZ2Uoe3hyZWY6ZSxyZXM6dCxpbWFnZTpvLGlzSW5saW5lOnIsc21hc2s6YyxtYXNrOmwscGRmRnVuY3Rpb25GYWN0b3J5OmksZ2xvYmFsQ29sb3JTcGFjZUNhY2hlOm4sbG9jYWxDb2xvclNwYWNlQ2FjaGU6c30pfXN0YXRpYyBhc3luYyBjcmVhdGVNYXNrKHtpbWFnZTplLGlzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkOnQ9ITF9KXtjb25zdHtkaWN0OmF9PWUscj1hLmdldCgiVyIsIldpZHRoIiksaT1hLmdldCgiSCIsIkhlaWdodCIpLG49YS5nZXQoIkkiLCJJbnRlcnBvbGF0ZSIpLHM9YS5nZXRBcnJheSgiRCIsIkRlY29kZSIpLG89cz8uWzBdPjAsYz0ocis3Pj4zKSppLGw9ZS5nZXRCeXRlcyhjKSxoPTE9PT1yJiYxPT09aSYmbz09PSgwPT09bC5sZW5ndGh8fCEhKDEyOCZsWzBdKSk7aWYoaClyZXR1cm57aXNTaW5nbGVPcGFxdWVQaXhlbDpofTtpZih0KXtpZihJbWFnZVJlc2l6ZXIubmVlZHNUb0JlUmVzaXplZChyLGkpKXtjb25zdCBlPW5ldyBVaW50OENsYW1wZWRBcnJheShyKmkqNCk7Y29udmVydEJsYWNrQW5kV2hpdGVUb1JHQkEoe3NyYzpsLGRlc3Q6ZSx3aWR0aDpyLGhlaWdodDppLG5vbkJsYWNrQ29sb3I6MCxpbnZlcnNlRGVjb2RlOm99KTtyZXR1cm4gSW1hZ2VSZXNpemVyLmNyZWF0ZUltYWdlKHtraW5kOnYsZGF0YTplLHdpZHRoOnIsaGVpZ2h0OmksaW50ZXJwb2xhdGU6bn0pfWNvbnN0IGU9bmV3IE9mZnNjcmVlbkNhbnZhcyhyLGkpLHQ9ZS5nZXRDb250ZXh0KCIyZCIpLGE9dC5jcmVhdGVJbWFnZURhdGEocixpKTtjb252ZXJ0QmxhY2tBbmRXaGl0ZVRvUkdCQSh7c3JjOmwsZGVzdDphLmRhdGEsd2lkdGg6cixoZWlnaHQ6aSxub25CbGFja0NvbG9yOjAsaW52ZXJzZURlY29kZTpvfSk7dC5wdXRJbWFnZURhdGEoYSwwLDApO3JldHVybntkYXRhOm51bGwsd2lkdGg6cixoZWlnaHQ6aSxpbnRlcnBvbGF0ZTpuLGJpdG1hcDplLnRyYW5zZmVyVG9JbWFnZUJpdG1hcCgpfX1jb25zdCB1PWwuYnl0ZUxlbmd0aDtsZXQgZDtpZihlIGluc3RhbmNlb2YgRGVjb2RlU3RyZWFtJiYoIW98fGM9PT11KSlkPWw7ZWxzZSBpZihvKXtkPW5ldyBVaW50OEFycmF5KGMpO2Quc2V0KGwpO2QuZmlsbCgyNTUsdSl9ZWxzZSBkPW5ldyBVaW50OEFycmF5KGwpO2lmKG8pZm9yKGxldCBlPTA7ZTx1O2UrKylkW2VdXj0yNTU7cmV0dXJue2RhdGE6ZCx3aWR0aDpyLGhlaWdodDppLGludGVycG9sYXRlOm59fWdldCBkcmF3V2lkdGgoKXtyZXR1cm4gTWF0aC5tYXgodGhpcy53aWR0aCx0aGlzLnNtYXNrPy53aWR0aHx8MCx0aGlzLm1hc2s/LndpZHRofHwwKX1nZXQgZHJhd0hlaWdodCgpe3JldHVybiBNYXRoLm1heCh0aGlzLmhlaWdodCx0aGlzLnNtYXNrPy5oZWlnaHR8fDAsdGhpcy5tYXNrPy5oZWlnaHR8fDApfWRlY29kZUJ1ZmZlcihlKXtjb25zdCB0PXRoaXMuYnBjLGE9dGhpcy5udW1Db21wcyxyPXRoaXMuZGVjb2RlQWRkZW5kcyxpPXRoaXMuZGVjb2RlQ29lZmZpY2llbnRzLG49KDE8PHQpLTE7bGV0IHMsbztpZigxPT09dCl7Zm9yKHM9MCxvPWUubGVuZ3RoO3M8bztzKyspZVtzXT0rIWVbc107cmV0dXJufWxldCBjPTA7Zm9yKHM9MCxvPXRoaXMud2lkdGgqdGhpcy5oZWlnaHQ7czxvO3MrKylmb3IobGV0IHQ9MDt0PGE7dCsrKXtlW2NdPU1hdGhDbGFtcChyW3RdK2VbY10qaVt0XSwwLG4pO2MrK319Z2V0Q29tcG9uZW50cyhlKXtjb25zdCB0PXRoaXMuYnBjO2lmKDg9PT10KXJldHVybiBlO2NvbnN0IGE9dGhpcy53aWR0aCxyPXRoaXMuaGVpZ2h0LGk9dGhpcy5udW1Db21wcyxuPWEqcippO2xldCBzLG89MDtzPXQ8PTg/bmV3IFVpbnQ4QXJyYXkobik6dDw9MTY/bmV3IFVpbnQxNkFycmF5KG4pOm5ldyBVaW50MzJBcnJheShuKTtjb25zdCBjPWEqaSxsPSgxPDx0KS0xO2xldCBoLHUsZD0wO2lmKDE9PT10KXtsZXQgdCxhLGk7Zm9yKGxldCBuPTA7bjxyO24rKyl7YT1kKygtOCZjKTtpPWQrYztmb3IoO2Q8YTspe3U9ZVtvKytdO3NbZF09dT4+NyYxO3NbZCsxXT11Pj42JjE7c1tkKzJdPXU+PjUmMTtzW2QrM109dT4+NCYxO3NbZCs0XT11Pj4zJjE7c1tkKzVdPXU+PjImMTtzW2QrNl09dT4+MSYxO3NbZCs3XT0xJnU7ZCs9OH1pZihkPGkpe3U9ZVtvKytdO3Q9MTI4O2Zvcig7ZDxpOyl7c1tkKytdPSshISh1JnQpO3Q+Pj0xfX19fWVsc2V7bGV0IGE9MDt1PTA7Zm9yKGQ9MCxoPW47ZDxoOysrZCl7aWYoZCVjPT0wKXt1PTA7YT0wfWZvcig7YTx0Oyl7dT11PDw4fGVbbysrXTthKz04fWNvbnN0IHI9YS10O2xldCBpPXU+PnI7aTwwP2k9MDppPmwmJihpPWwpO3NbZF09aTt1Jj0oMTw8ciktMTthPXJ9fXJldHVybiBzfWFzeW5jIGZpbGxPcGFjaXR5KGUsdCxhLHIsaSl7Y29uc3Qgbj10aGlzLnNtYXNrLHM9dGhpcy5tYXNrO2xldCBvLGMsbCxoLHUsZDtpZihuKXtjPW4ud2lkdGg7bD1uLmhlaWdodDtvPW5ldyBVaW50OENsYW1wZWRBcnJheShjKmwpO2F3YWl0IG4uZmlsbEdyYXlCdWZmZXIobyk7Yz09PXQmJmw9PT1hfHwobz1yZXNpemVJbWFnZU1hc2sobyxuLmJwYyxjLGwsdCxhKSl9ZWxzZSBpZihzKWlmKHMgaW5zdGFuY2VvZiBQREZJbWFnZSl7Yz1zLndpZHRoO2w9cy5oZWlnaHQ7bz1uZXcgVWludDhDbGFtcGVkQXJyYXkoYypsKTtzLm51bUNvbXBzPTE7YXdhaXQgcy5maWxsR3JheUJ1ZmZlcihvKTtmb3IoaD0wLHU9YypsO2g8dTsrK2gpb1toXT0yNTUtb1toXTtjPT09dCYmbD09PWF8fChvPXJlc2l6ZUltYWdlTWFzayhvLHMuYnBjLGMsbCx0LGEpKX1lbHNle2lmKCFBcnJheS5pc0FycmF5KHMpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiVW5rbm93biBtYXNrIGZvcm1hdC4iKTt7bz1uZXcgVWludDhDbGFtcGVkQXJyYXkodCphKTtjb25zdCBlPXRoaXMubnVtQ29tcHM7Zm9yKGg9MCx1PXQqYTtoPHU7KytoKXtsZXQgdD0wO2NvbnN0IGE9aCplO2ZvcihkPTA7ZDxlOysrZCl7Y29uc3QgZT1pW2ErZF0scj0yKmQ7aWYoZTxzW3JdfHxlPnNbcisxXSl7dD0yNTU7YnJlYWt9fW9baF09dH19fWlmKG8pZm9yKGg9MCxkPTMsdT10KnI7aDx1OysraCxkKz00KWVbZF09b1toXTtlbHNlIGZvcihoPTAsZD0zLHU9dCpyO2g8dTsrK2gsZCs9NCllW2RdPTI1NX11bmRvUHJlYmxlbmQoZSx0LGEpe2NvbnN0IHI9dGhpcy5zbWFzaz8ubWF0dGU7aWYoIXIpcmV0dXJuO2NvbnN0IGk9dGhpcy5jb2xvclNwYWNlLmdldFJnYihyLDApLG49aVswXSxzPWlbMV0sbz1pWzJdLGM9dCphKjQ7Zm9yKGxldCB0PTA7dDxjO3QrPTQpe2NvbnN0IGE9ZVt0KzNdO2lmKDA9PT1hKXtlW3RdPTI1NTtlW3QrMV09MjU1O2VbdCsyXT0yNTU7Y29udGludWV9Y29uc3Qgcj0yNTUvYTtlW3RdPShlW3RdLW4pKnIrbjtlW3QrMV09KGVbdCsxXS1zKSpyK3M7ZVt0KzJdPShlW3QrMl0tbykqcitvfX1hc3luYyBjcmVhdGVJbWFnZURhdGEoZT0hMSx0PSExKXtjb25zdCBhPXRoaXMuZHJhd1dpZHRoLHI9dGhpcy5kcmF3SGVpZ2h0LGk9e3dpZHRoOmEsaGVpZ2h0OnIsaW50ZXJwb2xhdGU6dGhpcy5pbnRlcnBvbGF0ZSxraW5kOjAsZGF0YTpudWxsfSxuPXRoaXMubnVtQ29tcHMscz10aGlzLndpZHRoLG89dGhpcy5oZWlnaHQsYz10aGlzLmJwYyxsPXMqbipjKzc+PjMsaD10JiZJbWFnZVJlc2l6ZXIubmVlZHNUb0JlUmVzaXplZChhLHIpO2lmKCF0aGlzLnNtYXNrJiYhdGhpcy5tYXNrJiYiRGV2aWNlUkdCQSI9PT10aGlzLmNvbG9yU3BhY2UubmFtZSl7aS5raW5kPXY7Y29uc3QgZT1pLmRhdGE9YXdhaXQgdGhpcy5nZXRJbWFnZUJ5dGVzKG8qcyo0LHt9KTtyZXR1cm4gdD9oP0ltYWdlUmVzaXplci5jcmVhdGVJbWFnZShpLCExKTp0aGlzLmNyZWF0ZUJpdG1hcCh2LGEscixlKTppfWlmKCFlKXtsZXQgZTsiRGV2aWNlR3JheSI9PT10aGlzLmNvbG9yU3BhY2UubmFtZSYmMT09PWM/ZT1rOiJEZXZpY2VSR0IiIT09dGhpcy5jb2xvclNwYWNlLm5hbWV8fDghPT1jfHx0aGlzLm5lZWRzRGVjb2RlfHwoZT1DKTtpZihlJiYhdGhpcy5zbWFzayYmIXRoaXMubWFzayYmYT09PXMmJnI9PT1vKXtjb25zdCBuPWF3YWl0IHRoaXMuIyQocyxvKTtpZihuKXJldHVybiBuO2NvbnN0IGM9YXdhaXQgdGhpcy5nZXRJbWFnZUJ5dGVzKG8qbCx7fSk7aWYodClyZXR1cm4gaD9JbWFnZVJlc2l6ZXIuY3JlYXRlSW1hZ2Uoe2RhdGE6YyxraW5kOmUsd2lkdGg6YSxoZWlnaHQ6cixpbnRlcnBvbGF0ZTp0aGlzLmludGVycG9sYXRlfSx0aGlzLm5lZWRzRGVjb2RlKTp0aGlzLmNyZWF0ZUJpdG1hcChlLHMsbyxjKTtpLmtpbmQ9ZTtpLmRhdGE9YztpZih0aGlzLm5lZWRzRGVjb2RlKXthc3NlcnQoZT09PWssIlBERkltYWdlLmNyZWF0ZUltYWdlRGF0YTogVGhlIGltYWdlIG11c3QgYmUgZ3JheXNjYWxlLiIpO2NvbnN0IHQ9aS5kYXRhO2ZvcihsZXQgZT0wLGE9dC5sZW5ndGg7ZTxhO2UrKyl0W2VdXj0yNTV9cmV0dXJuIGl9aWYodGhpcy5pbWFnZSBpbnN0YW5jZW9mIEpwZWdTdHJlYW0mJiF0aGlzLnNtYXNrJiYhdGhpcy5tYXNrJiYhdGhpcy5uZWVkc0RlY29kZSl7bGV0IGU9bypsO2lmKHQmJiFoKXtsZXQgdD0hMTtzd2l0Y2godGhpcy5jb2xvclNwYWNlLm5hbWUpe2Nhc2UiRGV2aWNlR3JheSI6ZSo9NDt0PSEwO2JyZWFrO2Nhc2UiRGV2aWNlUkdCIjplPWUvMyo0O3Q9ITA7YnJlYWs7Y2FzZSJEZXZpY2VDTVlLIjp0PSEwfWlmKHQpe2NvbnN0IHQ9YXdhaXQgdGhpcy4jJChhLHIpO2lmKHQpcmV0dXJuIHQ7Y29uc3QgaT1hd2FpdCB0aGlzLmdldEltYWdlQnl0ZXMoZSx7ZHJhd1dpZHRoOmEsZHJhd0hlaWdodDpyLGZvcmNlUkdCQTohMH0pO3JldHVybiB0aGlzLmNyZWF0ZUJpdG1hcCh2LGEscixpKX19ZWxzZSBzd2l0Y2godGhpcy5jb2xvclNwYWNlLm5hbWUpe2Nhc2UiRGV2aWNlR3JheSI6ZSo9MztjYXNlIkRldmljZVJHQiI6Y2FzZSJEZXZpY2VDTVlLIjppLmtpbmQ9QztpLmRhdGE9YXdhaXQgdGhpcy5nZXRJbWFnZUJ5dGVzKGUse2RyYXdXaWR0aDphLGRyYXdIZWlnaHQ6cixmb3JjZVJHQjohMH0pO3JldHVybiBoP0ltYWdlUmVzaXplci5jcmVhdGVJbWFnZShpKTppfX19Y29uc3QgdT1hd2FpdCB0aGlzLmdldEltYWdlQnl0ZXMobypsLHtpbnRlcm5hbDohMH0pLGQ9MHx1Lmxlbmd0aC9sKnIvbyxmPXRoaXMuZ2V0Q29tcG9uZW50cyh1KTtsZXQgZyxwLG0sYix5LHc7aWYodCYmIWgpe209bmV3IE9mZnNjcmVlbkNhbnZhcyhhLHIpO2I9bS5nZXRDb250ZXh0KCIyZCIpO3k9Yi5jcmVhdGVJbWFnZURhdGEoYSxyKTt3PXkuZGF0YX1pLmtpbmQ9djtpZihlfHx0aGlzLnNtYXNrfHx0aGlzLm1hc2spe3QmJiFofHwodz1uZXcgVWludDhDbGFtcGVkQXJyYXkoYSpyKjQpKTtnPTE7cD0hMDthd2FpdCB0aGlzLmZpbGxPcGFjaXR5KHcsYSxyLGQsZil9ZWxzZXtpZighdHx8aCl7aS5raW5kPUM7dz1uZXcgVWludDhDbGFtcGVkQXJyYXkoYSpyKjMpO2c9MH1lbHNle25ldyBVaW50MzJBcnJheSh3LmJ1ZmZlcikuZmlsbChGZWF0dXJlVGVzdC5pc0xpdHRsZUVuZGlhbj80Mjc4MTkwMDgwOjI1NSk7Zz0xfXA9ITF9dGhpcy5uZWVkc0RlY29kZSYmdGhpcy5kZWNvZGVCdWZmZXIoZik7dGhpcy5jb2xvclNwYWNlLmZpbGxSZ2IodyxzLG8sYSxyLGQsYyxmLGcpO3AmJnRoaXMudW5kb1ByZWJsZW5kKHcsYSxkKTtpZih0JiYhaCl7Yi5wdXRJbWFnZURhdGEoeSwwLDApO3JldHVybntkYXRhOm51bGwsd2lkdGg6YSxoZWlnaHQ6cixiaXRtYXA6bS50cmFuc2ZlclRvSW1hZ2VCaXRtYXAoKSxpbnRlcnBvbGF0ZTp0aGlzLmludGVycG9sYXRlfX1pLmRhdGE9dztyZXR1cm4gaD9JbWFnZVJlc2l6ZXIuY3JlYXRlSW1hZ2UoaSk6aX1hc3luYyBmaWxsR3JheUJ1ZmZlcihlKXtjb25zdCB0PXRoaXMubnVtQ29tcHM7aWYoMSE9PXQpdGhyb3cgbmV3IEZvcm1hdEVycm9yKGBSZWFkaW5nIGdyYXkgc2NhbGUgZnJvbSBhIGNvbG9yIGltYWdlOiAke3R9YCk7Y29uc3QgYT10aGlzLndpZHRoLHI9dGhpcy5oZWlnaHQsaT10aGlzLmJwYyxuPWEqdCppKzc+PjMscz1hd2FpdCB0aGlzLmdldEltYWdlQnl0ZXMocipuLHtpbnRlcm5hbDohMH0pLG89dGhpcy5nZXRDb21wb25lbnRzKHMpO2xldCBjLGw7aWYoMT09PWkpe2w9YSpyO2lmKHRoaXMubmVlZHNEZWNvZGUpZm9yKGM9MDtjPGw7KytjKWVbY109b1tjXS0xJjI1NTtlbHNlIGZvcihjPTA7YzxsOysrYyllW2NdPTI1NSYtb1tjXTtyZXR1cm59dGhpcy5uZWVkc0RlY29kZSYmdGhpcy5kZWNvZGVCdWZmZXIobyk7bD1hKnI7Y29uc3QgaD0yNTUvKCgxPDxpKS0xKTtmb3IoYz0wO2M8bDsrK2MpZVtjXT1oKm9bY119Y3JlYXRlQml0bWFwKGUsdCxhLHIpe2NvbnN0IGk9bmV3IE9mZnNjcmVlbkNhbnZhcyh0LGEpLG49aS5nZXRDb250ZXh0KCIyZCIpO2xldCBzO2lmKGU9PT12KXM9bmV3IEltYWdlRGF0YShyLHQsYSk7ZWxzZXtzPW4uY3JlYXRlSW1hZ2VEYXRhKHQsYSk7Y29udmVydFRvUkdCQSh7a2luZDplLHNyYzpyLGRlc3Q6bmV3IFVpbnQzMkFycmF5KHMuZGF0YS5idWZmZXIpLHdpZHRoOnQsaGVpZ2h0OmEsaW52ZXJzZURlY29kZTp0aGlzLm5lZWRzRGVjb2RlfSl9bi5wdXRJbWFnZURhdGEocywwLDApO3JldHVybntkYXRhOm51bGwsd2lkdGg6dCxoZWlnaHQ6YSxiaXRtYXA6aS50cmFuc2ZlclRvSW1hZ2VCaXRtYXAoKSxpbnRlcnBvbGF0ZTp0aGlzLmludGVycG9sYXRlfX1hc3luYyMkKGUsdCl7Y29uc3QgYT1hd2FpdCB0aGlzLmltYWdlLmdldFRyYW5zZmVyYWJsZUltYWdlKCk7cmV0dXJuIGE/e2RhdGE6bnVsbCx3aWR0aDplLGhlaWdodDp0LGJpdG1hcDphLGludGVycG9sYXRlOnRoaXMuaW50ZXJwb2xhdGV9Om51bGx9YXN5bmMgZ2V0SW1hZ2VCeXRlcyhlLHtkcmF3V2lkdGg6dCxkcmF3SGVpZ2h0OmEsZm9yY2VSR0JBOnI9ITEsZm9yY2VSR0I6aT0hMSxpbnRlcm5hbDpuPSExfSl7dGhpcy5pbWFnZS5yZXNldCgpO3RoaXMuaW1hZ2UuZHJhd1dpZHRoPXR8fHRoaXMud2lkdGg7dGhpcy5pbWFnZS5kcmF3SGVpZ2h0PWF8fHRoaXMuaGVpZ2h0O3RoaXMuaW1hZ2UuZm9yY2VSR0JBPSEhcjt0aGlzLmltYWdlLmZvcmNlUkdCPSEhaTtjb25zdCBzPWF3YWl0IHRoaXMuaW1hZ2UuZ2V0SW1hZ2VEYXRhKGUsdGhpcy5qcHhEZWNvZGVyT3B0aW9ucyk7aWYobnx8dGhpcy5pbWFnZSBpbnN0YW5jZW9mIERlY29kZVN0cmVhbSlyZXR1cm4gczthc3NlcnQocyBpbnN0YW5jZW9mIFVpbnQ4QXJyYXksJ1BERkltYWdlLmdldEltYWdlQnl0ZXM6IFVuc3VwcG9ydGVkICJpbWFnZUJ5dGVzIiB0eXBlLicpO3JldHVybiBuZXcgVWludDhBcnJheShzKX19Y29uc3QgcG49T2JqZWN0LmZyZWV6ZSh7bWF4SW1hZ2VTaXplOi0xLGRpc2FibGVGb250RmFjZTohMSxpZ25vcmVFcnJvcnM6ITEsaXNFdmFsU3VwcG9ydGVkOiEwLGlzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkOiExLGlzSW1hZ2VEZWNvZGVyU3VwcG9ydGVkOiExLGNhbnZhc01heEFyZWFJbkJ5dGVzOi0xLGZvbnRFeHRyYVByb3BlcnRpZXM6ITEsdXNlU3lzdGVtRm9udHM6ITAsdXNlV2FzbTohMCx1c2VXb3JrZXJGZXRjaDohMCxjTWFwVXJsOm51bGwsaWNjVXJsOm51bGwsc3RhbmRhcmRGb250RGF0YVVybDpudWxsLHdhc21Vcmw6bnVsbH0pLG1uPTEsYm49Mix5bj1Qcm9taXNlLnJlc29sdmUoKTtmdW5jdGlvbiBub3JtYWxpemVCbGVuZE1vZGUoZSx0PSExKXtpZihBcnJheS5pc0FycmF5KGUpKXtmb3IoY29uc3QgdCBvZiBlKXtjb25zdCBlPW5vcm1hbGl6ZUJsZW5kTW9kZSh0LCEwKTtpZihlKXJldHVybiBlfXdhcm4oYFVuc3VwcG9ydGVkIGJsZW5kIG1vZGUgQXJyYXk6ICR7ZX1gKTtyZXR1cm4ic291cmNlLW92ZXIifWlmKCEoZSBpbnN0YW5jZW9mIE5hbWUpKXJldHVybiB0P251bGw6InNvdXJjZS1vdmVyIjtzd2l0Y2goZS5uYW1lKXtjYXNlIk5vcm1hbCI6Y2FzZSJDb21wYXRpYmxlIjpyZXR1cm4ic291cmNlLW92ZXIiO2Nhc2UiTXVsdGlwbHkiOnJldHVybiJtdWx0aXBseSI7Y2FzZSJTY3JlZW4iOnJldHVybiJzY3JlZW4iO2Nhc2UiT3ZlcmxheSI6cmV0dXJuIm92ZXJsYXkiO2Nhc2UiRGFya2VuIjpyZXR1cm4iZGFya2VuIjtjYXNlIkxpZ2h0ZW4iOnJldHVybiJsaWdodGVuIjtjYXNlIkNvbG9yRG9kZ2UiOnJldHVybiJjb2xvci1kb2RnZSI7Y2FzZSJDb2xvckJ1cm4iOnJldHVybiJjb2xvci1idXJuIjtjYXNlIkhhcmRMaWdodCI6cmV0dXJuImhhcmQtbGlnaHQiO2Nhc2UiU29mdExpZ2h0IjpyZXR1cm4ic29mdC1saWdodCI7Y2FzZSJEaWZmZXJlbmNlIjpyZXR1cm4iZGlmZmVyZW5jZSI7Y2FzZSJFeGNsdXNpb24iOnJldHVybiJleGNsdXNpb24iO2Nhc2UiSHVlIjpyZXR1cm4iaHVlIjtjYXNlIlNhdHVyYXRpb24iOnJldHVybiJzYXR1cmF0aW9uIjtjYXNlIkNvbG9yIjpyZXR1cm4iY29sb3IiO2Nhc2UiTHVtaW5vc2l0eSI6cmV0dXJuImx1bWlub3NpdHkifWlmKHQpcmV0dXJuIG51bGw7d2FybihgVW5zdXBwb3J0ZWQgYmxlbmQgbW9kZTogJHtlLm5hbWV9YCk7cmV0dXJuInNvdXJjZS1vdmVyIn1mdW5jdGlvbiBhZGRDYWNoZWRJbWFnZU9wcyhlLHtvYmpJZDp0LGZuOmEsYXJnczpyLG9wdGlvbmFsQ29udGVudDppLGhhc01hc2s6bn0pe3QmJmUuYWRkRGVwZW5kZW5jeSh0KTtlLmFkZEltYWdlT3BzKGEscixpLG4pO2E9PT1EdCYmclswXT8uY291bnQ+MCYmclswXS5jb3VudCsrfWNsYXNzIFRpbWVTbG90TWFuYWdlcntzdGF0aWMgVElNRV9TTE9UX0RVUkFUSU9OX01TPTIwO3N0YXRpYyBDSEVDS19USU1FX0VWRVJZPTEwMDtjb25zdHJ1Y3Rvcigpe3RoaXMucmVzZXQoKX1jaGVjaygpe2lmKCsrdGhpcy5jaGVja2VkPFRpbWVTbG90TWFuYWdlci5DSEVDS19USU1FX0VWRVJZKXJldHVybiExO3RoaXMuY2hlY2tlZD0wO3JldHVybiB0aGlzLmVuZFRpbWU8PURhdGUubm93KCl9cmVzZXQoKXt0aGlzLmVuZFRpbWU9RGF0ZS5ub3coKStUaW1lU2xvdE1hbmFnZXIuVElNRV9TTE9UX0RVUkFUSU9OX01TO3RoaXMuY2hlY2tlZD0wfX1jbGFzcyBQYXJ0aWFsRXZhbHVhdG9ye2NvbnN0cnVjdG9yKHt4cmVmOmUsaGFuZGxlcjp0LHBhZ2VJbmRleDphLGlkRmFjdG9yeTpyLGZvbnRDYWNoZTppLGJ1aWx0SW5DTWFwQ2FjaGU6bixzdGFuZGFyZEZvbnREYXRhQ2FjaGU6cyxnbG9iYWxDb2xvclNwYWNlQ2FjaGU6byxnbG9iYWxJbWFnZUNhY2hlOmMsc3lzdGVtRm9udENhY2hlOmwsb3B0aW9uczpoPW51bGx9KXt0aGlzLnhyZWY9ZTt0aGlzLmhhbmRsZXI9dDt0aGlzLnBhZ2VJbmRleD1hO3RoaXMuaWRGYWN0b3J5PXI7dGhpcy5mb250Q2FjaGU9aTt0aGlzLmJ1aWx0SW5DTWFwQ2FjaGU9bjt0aGlzLnN0YW5kYXJkRm9udERhdGFDYWNoZT1zO3RoaXMuZ2xvYmFsQ29sb3JTcGFjZUNhY2hlPW87dGhpcy5nbG9iYWxJbWFnZUNhY2hlPWM7dGhpcy5zeXN0ZW1Gb250Q2FjaGU9bDt0aGlzLm9wdGlvbnM9aHx8cG47dGhpcy50eXBlM0ZvbnRSZWZzPW51bGw7dGhpcy5fcmVnaW9uYWxJbWFnZUNhY2hlPW5ldyBSZWdpb25hbEltYWdlQ2FjaGU7dGhpcy5fZmV0Y2hCdWlsdEluQ01hcEJvdW5kPXRoaXMuZmV0Y2hCdWlsdEluQ01hcC5iaW5kKHRoaXMpfWdldCBfcGRmRnVuY3Rpb25GYWN0b3J5KCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJfcGRmRnVuY3Rpb25GYWN0b3J5IixuZXcgUERGRnVuY3Rpb25GYWN0b3J5KHt4cmVmOnRoaXMueHJlZixpc0V2YWxTdXBwb3J0ZWQ6dGhpcy5vcHRpb25zLmlzRXZhbFN1cHBvcnRlZH0pKX1nZXQgcGFyc2luZ1R5cGUzRm9udCgpe3JldHVybiEhdGhpcy50eXBlM0ZvbnRSZWZzfWNsb25lKGU9bnVsbCl7Y29uc3QgdD1PYmplY3QuY3JlYXRlKHRoaXMpO3Qub3B0aW9ucz1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUobnVsbCksdGhpcy5vcHRpb25zLGUpO3JldHVybiB0fWhhc0JsZW5kTW9kZXMoZSx0KXtpZighKGUgaW5zdGFuY2VvZiBEaWN0KSlyZXR1cm4hMTtpZihlLm9iaklkJiZ0LmhhcyhlLm9iaklkKSlyZXR1cm4hMTtjb25zdCBhPW5ldyBSZWZTZXQodCk7ZS5vYmpJZCYmYS5wdXQoZS5vYmpJZCk7Y29uc3Qgcj1bZV0saT10aGlzLnhyZWY7Zm9yKDtyLmxlbmd0aDspe2NvbnN0IGU9ci5zaGlmdCgpLHQ9ZS5nZXQoIkV4dEdTdGF0ZSIpO2lmKHQgaW5zdGFuY2VvZiBEaWN0KWZvcihsZXQgZSBvZiB0LmdldFJhd1ZhbHVlcygpKXtpZihlIGluc3RhbmNlb2YgUmVmKXtpZihhLmhhcyhlKSljb250aW51ZTt0cnl7ZT1pLmZldGNoKGUpfWNhdGNoKHQpe2EucHV0KGUpO2luZm8oYGhhc0JsZW5kTW9kZXMgLSBpZ25vcmluZyBFeHRHU3RhdGU6ICIke3R9Ii5gKTtjb250aW51ZX19aWYoIShlIGluc3RhbmNlb2YgRGljdCkpY29udGludWU7ZS5vYmpJZCYmYS5wdXQoZS5vYmpJZCk7Y29uc3QgdD1lLmdldCgiQk0iKTtpZih0IGluc3RhbmNlb2YgTmFtZSl7aWYoIk5vcm1hbCIhPT10Lm5hbWUpcmV0dXJuITB9ZWxzZSBpZih2b2lkIDAhPT10JiZBcnJheS5pc0FycmF5KHQpKWZvcihjb25zdCBlIG9mIHQpaWYoZSBpbnN0YW5jZW9mIE5hbWUmJiJOb3JtYWwiIT09ZS5uYW1lKXJldHVybiEwfWNvbnN0IG49ZS5nZXQoIlhPYmplY3QiKTtpZihuIGluc3RhbmNlb2YgRGljdClmb3IobGV0IGUgb2Ygbi5nZXRSYXdWYWx1ZXMoKSl7aWYoZSBpbnN0YW5jZW9mIFJlZil7aWYoYS5oYXMoZSkpY29udGludWU7dHJ5e2U9aS5mZXRjaChlKX1jYXRjaCh0KXthLnB1dChlKTtpbmZvKGBoYXNCbGVuZE1vZGVzIC0gaWdub3JpbmcgWE9iamVjdDogIiR7dH0iLmApO2NvbnRpbnVlfX1pZighKGUgaW5zdGFuY2VvZiBCYXNlU3RyZWFtKSljb250aW51ZTtlLmRpY3Qub2JqSWQmJmEucHV0KGUuZGljdC5vYmpJZCk7Y29uc3QgdD1lLmRpY3QuZ2V0KCJSZXNvdXJjZXMiKTtpZih0IGluc3RhbmNlb2YgRGljdCYmKCF0Lm9iaklkfHwhYS5oYXModC5vYmpJZCkpKXtyLnB1c2godCk7dC5vYmpJZCYmYS5wdXQodC5vYmpJZCl9fX1mb3IoY29uc3QgZSBvZiBhKXQucHV0KGUpO3JldHVybiExfWFzeW5jIGZldGNoQnVpbHRJbkNNYXAoZSl7Y29uc3QgdD10aGlzLmJ1aWx0SW5DTWFwQ2FjaGUuZ2V0KGUpO2lmKHQpcmV0dXJuIHQ7bGV0IGE7YT10aGlzLm9wdGlvbnMudXNlV29ya2VyRmV0Y2g/e2NNYXBEYXRhOmF3YWl0IGZldGNoQmluYXJ5RGF0YShgJHt0aGlzLm9wdGlvbnMuY01hcFVybH0ke2V9LmJjbWFwYCksaXNDb21wcmVzc2VkOiEwfTphd2FpdCB0aGlzLmhhbmRsZXIuc2VuZFdpdGhQcm9taXNlKCJGZXRjaEJpbmFyeURhdGEiLHt0eXBlOiJjTWFwUmVhZGVyRmFjdG9yeSIsbmFtZTplfSk7dGhpcy5idWlsdEluQ01hcENhY2hlLnNldChlLGEpO3JldHVybiBhfWFzeW5jIGZldGNoU3RhbmRhcmRGb250RGF0YShlKXtjb25zdCB0PXRoaXMuc3RhbmRhcmRGb250RGF0YUNhY2hlLmdldChlKTtpZih0KXJldHVybiBuZXcgU3RyZWFtKHQpO2lmKHRoaXMub3B0aW9ucy51c2VTeXN0ZW1Gb250cyYmIlN5bWJvbCIhPT1lJiYiWmFwZkRpbmdiYXRzIiE9PWUpcmV0dXJuIG51bGw7Y29uc3QgYT1OcigpW2VdO2xldCByO3RyeXtyPXRoaXMub3B0aW9ucy51c2VXb3JrZXJGZXRjaD9hd2FpdCBmZXRjaEJpbmFyeURhdGEoYCR7dGhpcy5vcHRpb25zLnN0YW5kYXJkRm9udERhdGFVcmx9JHthfWApOmF3YWl0IHRoaXMuaGFuZGxlci5zZW5kV2l0aFByb21pc2UoIkZldGNoQmluYXJ5RGF0YSIse3R5cGU6InN0YW5kYXJkRm9udERhdGFGYWN0b3J5IixmaWxlbmFtZTphfSl9Y2F0Y2goZSl7d2FybihlKTtyZXR1cm4gbnVsbH10aGlzLnN0YW5kYXJkRm9udERhdGFDYWNoZS5zZXQoZSxyKTtyZXR1cm4gbmV3IFN0cmVhbShyKX1hc3luYyBidWlsZEZvcm1YT2JqZWN0KGUsdCxhLHIsaSxuLHMsbyl7Y29uc3R7ZGljdDpjfT10LGw9bG9va3VwTWF0cml4KGMuZ2V0QXJyYXkoIk1hdHJpeCIpLG51bGwpLGg9bG9va3VwTm9ybWFsUmVjdChjLmdldEFycmF5KCJCQm94IiksbnVsbCk7bGV0IHUsZDtjLmhhcygiT0MiKSYmKHU9YXdhaXQgdGhpcy5wYXJzZU1hcmtlZENvbnRlbnRQcm9wcyhjLmdldCgiT0MiKSxlKSk7dm9pZCAwIT09dSYmci5hZGRPcChTdCxbIk9DIix1XSk7Y29uc3QgZj1jLmdldCgiR3JvdXAiKTtpZihmKXtkPXttYXRyaXg6bCxiYm94Omgsc21hc2s6YSxpc29sYXRlZDohMSxrbm9ja291dDohMX07bGV0IHQ9bnVsbDtpZihpc05hbWUoZi5nZXQoIlMiKSwiVHJhbnNwYXJlbmN5Iikpe2QuaXNvbGF0ZWQ9Zi5nZXQoIkkiKXx8ITE7ZC5rbm9ja291dD1mLmdldCgiSyIpfHwhMTtpZihmLmhhcygiQ1MiKSl7Y29uc3QgYT10aGlzLl9nZXRDb2xvclNwYWNlKGYuZ2V0UmF3KCJDUyIpLGUscyk7dD1hIGluc3RhbmNlb2YgQ29sb3JTcGFjZT9hOmF3YWl0IHRoaXMuX2hhbmRsZUNvbG9yU3BhY2UoYSl9fWlmKGE/LmJhY2tkcm9wKXt0fHw9Q29sb3JTcGFjZVV0aWxzLnJnYjthLmJhY2tkcm9wPXQuZ2V0UmdiSGV4KGEuYmFja2Ryb3AsMCl9ci5hZGRPcChJdCxbZF0pfWNvbnN0IGc9W2wmJm5ldyBGbG9hdDMyQXJyYXkobCksIWYmJmgmJm5ldyBGbG9hdDMyQXJyYXkoaCl8fG51bGxdO3IuYWRkT3AodnQsZyk7Y29uc3QgcD1jLmdldCgiUmVzb3VyY2VzIik7YXdhaXQgdGhpcy5nZXRPcGVyYXRvckxpc3Qoe3N0cmVhbTp0LHRhc2s6aSxyZXNvdXJjZXM6cCBpbnN0YW5jZW9mIERpY3Q/cDplLG9wZXJhdG9yTGlzdDpyLGluaXRpYWxTdGF0ZTpuLHByZXZSZWZzOm99KTtyLmFkZE9wKEZ0LFtdKTtmJiZyLmFkZE9wKFR0LFtkXSk7dm9pZCAwIT09dSYmci5hZGRPcChBdCxbXSl9X3NlbmRJbWdEYXRhKGUsdCxhPSExKXtjb25zdCByPXQ/W3QuYml0bWFwfHx0LmRhdGEuYnVmZmVyXTpudWxsO3JldHVybiB0aGlzLnBhcnNpbmdUeXBlM0ZvbnR8fGE/dGhpcy5oYW5kbGVyLnNlbmQoImNvbW1vbm9iaiIsW2UsIkltYWdlIix0XSxyKTp0aGlzLmhhbmRsZXIuc2VuZCgib2JqIixbZSx0aGlzLnBhZ2VJbmRleCwiSW1hZ2UiLHRdLHIpfWFzeW5jIGJ1aWxkUGFpbnRJbWFnZVhPYmplY3Qoe3Jlc291cmNlczplLGltYWdlOnQsaXNJbmxpbmU6YT0hMSxvcGVyYXRvckxpc3Q6cixjYWNoZUtleTppLGxvY2FsSW1hZ2VDYWNoZTpuLGxvY2FsQ29sb3JTcGFjZUNhY2hlOnN9KXtjb25zdHttYXhJbWFnZVNpemU6byxpZ25vcmVFcnJvcnM6Yyxpc09mZnNjcmVlbkNhbnZhc1N1cHBvcnRlZDpsfT10aGlzLm9wdGlvbnMse2RpY3Q6aH09dCx1PWgub2JqSWQsZD1oLmdldCgiVyIsIldpZHRoIiksZj1oLmdldCgiSCIsIkhlaWdodCIpO2lmKCFkfHwibnVtYmVyIiE9dHlwZW9mIGR8fCFmfHwibnVtYmVyIiE9dHlwZW9mIGYpe3dhcm4oIkltYWdlIGRpbWVuc2lvbnMgYXJlIG1pc3NpbmcsIG9yIG5vdCBudW1iZXJzLiIpO3JldHVybn1pZigtMSE9PW8mJmQqZj5vKXtjb25zdCBlPSJJbWFnZSBleGNlZWRlZCBtYXhpbXVtIGFsbG93ZWQgc2l6ZSBhbmQgd2FzIHJlbW92ZWQuIjtpZighYyl0aHJvdyBuZXcgRXJyb3IoZSk7d2FybihlKTtyZXR1cm59bGV0IGc7aC5oYXMoIk9DIikmJihnPWF3YWl0IHRoaXMucGFyc2VNYXJrZWRDb250ZW50UHJvcHMoaC5nZXQoIk9DIiksZSkpO2xldCBwLG0sYjtpZihoLmdldCgiSU0iLCJJbWFnZU1hc2siKXx8ITEpe3A9YXdhaXQgUERGSW1hZ2UuY3JlYXRlTWFzayh7aW1hZ2U6dCxpc09mZnNjcmVlbkNhbnZhc1N1cHBvcnRlZDpsJiYhdGhpcy5wYXJzaW5nVHlwZTNGb250fSk7aWYocC5pc1NpbmdsZU9wYXF1ZVBpeGVsKXttPWp0O2I9W107ci5hZGRJbWFnZU9wcyhtLGIsZyk7aWYoaSl7Y29uc3QgZT17Zm46bSxhcmdzOmIsb3B0aW9uYWxDb250ZW50Omd9O24uc2V0KGksdSxlKTt1JiZ0aGlzLl9yZWdpb25hbEltYWdlQ2FjaGUuc2V0KG51bGwsdSxlKX1yZXR1cm59aWYodGhpcy5wYXJzaW5nVHlwZTNGb250KXtiPWZ1bmN0aW9uIGNvbXBpbGVUeXBlM0dseXBoKHtkYXRhOmUsd2lkdGg6dCxoZWlnaHQ6YX0pe2lmKHQ+MWUzfHxhPjFlMylyZXR1cm4gbnVsbDtjb25zdCByPW5ldyBVaW50OEFycmF5KFswLDIsNCwwLDEsMCw1LDQsOCwxMCwwLDgsMCwyLDEsMF0pLGk9dCsxLG49bmV3IFVpbnQ4QXJyYXkoaSooYSsxKSk7bGV0IHMsbyxjO2NvbnN0IGw9dCs3Ji04LGg9bmV3IFVpbnQ4QXJyYXkobCphKTtsZXQgdT0wO2Zvcihjb25zdCB0IG9mIGUpe2xldCBlPTEyODtmb3IoO2U+MDspe2hbdSsrXT10JmU/MDoyNTU7ZT4+PTF9fWxldCBkPTA7dT0wO2lmKDAhPT1oW3VdKXtuWzBdPTE7KytkfWZvcihvPTE7bzx0O28rKyl7aWYoaFt1XSE9PWhbdSsxXSl7bltvXT1oW3VdPzI6MTsrK2R9dSsrfWlmKDAhPT1oW3VdKXtuW29dPTI7KytkfWZvcihzPTE7czxhO3MrKyl7dT1zKmw7Yz1zKmk7aWYoaFt1LWxdIT09aFt1XSl7bltjXT1oW3VdPzE6ODsrK2R9bGV0IGU9KGhbdV0/NDowKSsoaFt1LWxdPzg6MCk7Zm9yKG89MTtvPHQ7bysrKXtlPShlPj4yKSsoaFt1KzFdPzQ6MCkrKGhbdS1sKzFdPzg6MCk7aWYocltlXSl7bltjK29dPXJbZV07KytkfXUrK31pZihoW3UtbF0hPT1oW3VdKXtuW2Mrb109aFt1XT8yOjQ7KytkfWlmKGQ+MWUzKXJldHVybiBudWxsfXU9bCooYS0xKTtjPXMqaTtpZigwIT09aFt1XSl7bltjXT04OysrZH1mb3Iobz0xO288dDtvKyspe2lmKGhbdV0hPT1oW3UrMV0pe25bYytvXT1oW3VdPzQ6ODsrK2R9dSsrfWlmKDAhPT1oW3VdKXtuW2Mrb109NDsrK2R9aWYoZD4xZTMpcmV0dXJuIG51bGw7Y29uc3QgZj1uZXcgSW50MzJBcnJheShbMCxpLC0xLDAsLWksMCwwLDAsMV0pLGc9W10se2E6cCxiOm0sYzpiLGQ6eSxlOncsZjp4fT0obmV3IERPTU1hdHJpeCkuc2NhbGVTZWxmKDEvdCwtMS9hKS50cmFuc2xhdGVTZWxmKDAsLWEpO2ZvcihzPTA7ZCYmczw9YTtzKyspe2xldCBlPXMqaTtjb25zdCBhPWUrdDtmb3IoO2U8YSYmIW5bZV07KWUrKztpZihlPT09YSljb250aW51ZTtsZXQgcj1lJWksbz1zO2cucHVzaChIdCxwKnIrYipvK3csbSpyK3kqbyt4KTtjb25zdCBjPWU7bGV0IGw9bltlXTtkb3tjb25zdCB0PWZbbF07ZG97ZSs9dH13aGlsZSghbltlXSk7Y29uc3QgYT1uW2VdO2lmKDUhPT1hJiYxMCE9PWEpe2w9YTtuW2VdPTB9ZWxzZXtsPWEmNTEqbD4+NDtuW2VdJj1sPj4yfGw8PDJ9cj1lJWk7bz1lL2l8MDtnLnB1c2goV3QscCpyK2Iqbyt3LG0qcit5Km8reCk7bltlXXx8LS1kfXdoaWxlKGMhPT1lKTstLXN9cmV0dXJuW3F0LFtuZXcgRmxvYXQzMkFycmF5KGcpXSxuZXcgRmxvYXQzMkFycmF5KFswLDAsdCxhXSldfShwKTtpZihiKXtyLmFkZEltYWdlT3BzKF90LGIsZyk7cmV0dXJufXdhcm4oIkNhbm5vdCBjb21waWxlIFR5cGUzIGdseXBoLiIpO3IuYWRkSW1hZ2VPcHMoRHQsW3BdLGcpO3JldHVybn1jb25zdCBlPWBtYXNrXyR7dGhpcy5pZEZhY3RvcnkuY3JlYXRlT2JqSWQoKX1gO3IuYWRkRGVwZW5kZW5jeShlKTtwLmRhdGFMZW49cC5iaXRtYXA/cC53aWR0aCpwLmhlaWdodCo0OnAuZGF0YS5sZW5ndGg7dGhpcy5fc2VuZEltZ0RhdGEoZSxwKTttPUR0O2I9W3tkYXRhOmUsd2lkdGg6cC53aWR0aCxoZWlnaHQ6cC5oZWlnaHQsaW50ZXJwb2xhdGU6cC5pbnRlcnBvbGF0ZSxjb3VudDoxfV07ci5hZGRJbWFnZU9wcyhtLGIsZyk7aWYoaSl7Y29uc3QgdD17b2JqSWQ6ZSxmbjptLGFyZ3M6YixvcHRpb25hbENvbnRlbnQ6Z307bi5zZXQoaSx1LHQpO3UmJnRoaXMuX3JlZ2lvbmFsSW1hZ2VDYWNoZS5zZXQobnVsbCx1LHQpfXJldHVybn1jb25zdCB5PWguaGFzKCJTTWFzayIpfHxoLmhhcygiTWFzayIpO2lmKGEmJmQrZjwyMDAmJiF5KXt0cnl7Y29uc3QgaT1uZXcgUERGSW1hZ2Uoe3hyZWY6dGhpcy54cmVmLHJlczplLGltYWdlOnQsaXNJbmxpbmU6YSxwZGZGdW5jdGlvbkZhY3Rvcnk6dGhpcy5fcGRmRnVuY3Rpb25GYWN0b3J5LGdsb2JhbENvbG9yU3BhY2VDYWNoZTp0aGlzLmdsb2JhbENvbG9yU3BhY2VDYWNoZSxsb2NhbENvbG9yU3BhY2VDYWNoZTpzfSk7cD1hd2FpdCBpLmNyZWF0ZUltYWdlRGF0YSghMCwhMSk7ci5hZGRJbWFnZU9wcyhOdCxbcF0sZyl9Y2F0Y2goZSl7Y29uc3QgdD1gVW5hYmxlIHRvIGRlY29kZSBpbmxpbmUgaW1hZ2U6ICIke2V9Ii5gO2lmKCFjKXRocm93IG5ldyBFcnJvcih0KTt3YXJuKHQpfXJldHVybn1sZXQgdz1gaW1nXyR7dGhpcy5pZEZhY3RvcnkuY3JlYXRlT2JqSWQoKX1gLHg9ITEsUz1udWxsO2lmKHRoaXMucGFyc2luZ1R5cGUzRm9udCl3PWAke3RoaXMuaWRGYWN0b3J5LmdldERvY0lkKCl9X3R5cGUzXyR7d31gO2Vsc2UgaWYoaSYmdSl7eD10aGlzLmdsb2JhbEltYWdlQ2FjaGUuc2hvdWxkQ2FjaGUodSx0aGlzLnBhZ2VJbmRleCk7aWYoeCl7YXNzZXJ0KCFhLCJDYW5ub3QgY2FjaGUgYW4gaW5saW5lIGltYWdlIGdsb2JhbGx5LiIpO3c9YCR7dGhpcy5pZEZhY3RvcnkuZ2V0RG9jSWQoKX1fJHt3fWB9fXIuYWRkRGVwZW5kZW5jeSh3KTttPVJ0O2I9W3csZCxmXTtyLmFkZEltYWdlT3BzKG0sYixnLHkpO2lmKHgpe1M9e29iaklkOncsZm46bSxhcmdzOmIsb3B0aW9uYWxDb250ZW50OmcsaGFzTWFzazp5LGJ5dGVTaXplOjB9O2lmKHRoaXMuZ2xvYmFsSW1hZ2VDYWNoZS5oYXNEZWNvZGVGYWlsZWQodSkpe3RoaXMuZ2xvYmFsSW1hZ2VDYWNoZS5zZXREYXRhKHUsUyk7dGhpcy5fc2VuZEltZ0RhdGEodyxudWxsLHgpO3JldHVybn1pZihkKmY+MjVlNHx8eSl7Y29uc3QgZT1hd2FpdCB0aGlzLmhhbmRsZXIuc2VuZFdpdGhQcm9taXNlKCJjb21tb25vYmoiLFt3LCJDb3B5TG9jYWxJbWFnZSIse2ltYWdlUmVmOnV9XSk7aWYoZSl7dGhpcy5nbG9iYWxJbWFnZUNhY2hlLnNldERhdGEodSxTKTt0aGlzLmdsb2JhbEltYWdlQ2FjaGUuYWRkQnl0ZVNpemUodSxlKTtyZXR1cm59fX1QREZJbWFnZS5idWlsZEltYWdlKHt4cmVmOnRoaXMueHJlZixyZXM6ZSxpbWFnZTp0LGlzSW5saW5lOmEscGRmRnVuY3Rpb25GYWN0b3J5OnRoaXMuX3BkZkZ1bmN0aW9uRmFjdG9yeSxnbG9iYWxDb2xvclNwYWNlQ2FjaGU6dGhpcy5nbG9iYWxDb2xvclNwYWNlQ2FjaGUsbG9jYWxDb2xvclNwYWNlQ2FjaGU6c30pLnRoZW4oKGFzeW5jIGU9PntwPWF3YWl0IGUuY3JlYXRlSW1hZ2VEYXRhKCExLGwpO3AuZGF0YUxlbj1wLmJpdG1hcD9wLndpZHRoKnAuaGVpZ2h0KjQ6cC5kYXRhLmxlbmd0aDtwLnJlZj11O3gmJnRoaXMuZ2xvYmFsSW1hZ2VDYWNoZS5hZGRCeXRlU2l6ZSh1LHAuZGF0YUxlbik7cmV0dXJuIHRoaXMuX3NlbmRJbWdEYXRhKHcscCx4KX0pKS5jYXRjaCgoZT0+e3dhcm4oYFVuYWJsZSB0byBkZWNvZGUgaW1hZ2UgIiR7d30iOiAiJHtlfSIuYCk7dSYmdGhpcy5nbG9iYWxJbWFnZUNhY2hlLmFkZERlY29kZUZhaWxlZCh1KTtyZXR1cm4gdGhpcy5fc2VuZEltZ0RhdGEodyxudWxsLHgpfSkpO2lmKGkpe2NvbnN0IGU9e29iaklkOncsZm46bSxhcmdzOmIsb3B0aW9uYWxDb250ZW50OmcsaGFzTWFzazp5fTtuLnNldChpLHUsZSk7aWYodSl7dGhpcy5fcmVnaW9uYWxJbWFnZUNhY2hlLnNldChudWxsLHUsZSk7aWYoeCl7YXNzZXJ0KFMsIlRoZSBnbG9iYWwgY2FjaGUtZGF0YSBtdXN0IGJlIGF2YWlsYWJsZS4iKTt0aGlzLmdsb2JhbEltYWdlQ2FjaGUuc2V0RGF0YSh1LFMpfX19fWhhbmRsZVNNYXNrKGUsdCxhLHIsaSxuLHMpe2NvbnN0IG89ZS5nZXQoIkciKSxjPXtzdWJ0eXBlOmUuZ2V0KCJTIikubmFtZSxiYWNrZHJvcDplLmdldCgiQkMiKX0sbD1lLmdldCgiVFIiKTtpZihpc1BERkZ1bmN0aW9uKGwpKXtjb25zdCBlPXRoaXMuX3BkZkZ1bmN0aW9uRmFjdG9yeS5jcmVhdGUobCksdD1uZXcgVWludDhBcnJheSgyNTYpLGE9bmV3IEZsb2F0MzJBcnJheSgxKTtmb3IobGV0IHI9MDtyPDI1NjtyKyspe2FbMF09ci8yNTU7ZShhLDAsYSwwKTt0W3JdPTI1NSphWzBdfDB9Yy50cmFuc2Zlck1hcD10fXJldHVybiB0aGlzLmJ1aWxkRm9ybVhPYmplY3QodCxvLGMsYSxyLGkuc3RhdGUuY2xvbmUoe25ld1BhdGg6ITB9KSxuLHMpfWhhbmRsZVRyYW5zZmVyRnVuY3Rpb24oZSl7bGV0IHQ7aWYoQXJyYXkuaXNBcnJheShlKSl0PWU7ZWxzZXtpZighaXNQREZGdW5jdGlvbihlKSlyZXR1cm4gbnVsbDt0PVtlXX1jb25zdCBhPVtdO2xldCByPTAsaT0wO2Zvcihjb25zdCBlIG9mIHQpe2NvbnN0IHQ9dGhpcy54cmVmLmZldGNoSWZSZWYoZSk7cisrO2lmKGlzTmFtZSh0LCJJZGVudGl0eSIpKXthLnB1c2gobnVsbCk7Y29udGludWV9aWYoIWlzUERGRnVuY3Rpb24odCkpcmV0dXJuIG51bGw7Y29uc3Qgbj10aGlzLl9wZGZGdW5jdGlvbkZhY3RvcnkuY3JlYXRlKHQpLHM9bmV3IFVpbnQ4QXJyYXkoMjU2KSxvPW5ldyBGbG9hdDMyQXJyYXkoMSk7Zm9yKGxldCBlPTA7ZTwyNTY7ZSsrKXtvWzBdPWUvMjU1O24obywwLG8sMCk7c1tlXT0yNTUqb1swXXwwfWEucHVzaChzKTtpKyt9cmV0dXJuIDEhPT1yJiY0IT09cnx8MD09PWk/bnVsbDphfWhhbmRsZVRpbGluZ1R5cGUoZSx0LGEscixpLG4scyxvKXtjb25zdCBjPW5ldyBPcGVyYXRvckxpc3QsbD1EaWN0Lm1lcmdlKHt4cmVmOnRoaXMueHJlZixkaWN0QXJyYXk6W2kuZ2V0KCJSZXNvdXJjZXMiKSxhXX0pO3JldHVybiB0aGlzLmdldE9wZXJhdG9yTGlzdCh7c3RyZWFtOnIsdGFzazpzLHJlc291cmNlczpsLG9wZXJhdG9yTGlzdDpjfSkudGhlbigoZnVuY3Rpb24oKXtjb25zdCBhPWMuZ2V0SVIoKSxyPWdldFRpbGluZ1BhdHRlcm5JUihhLGksdCk7bi5hZGREZXBlbmRlbmNpZXMoYy5kZXBlbmRlbmNpZXMpO24uYWRkT3AoZSxyKTtpLm9iaklkJiZvLnNldChudWxsLGkub2JqSWQse29wZXJhdG9yTGlzdElSOmEsZGljdDppfSl9KSkuY2F0Y2goKGU9PntpZighKGUgaW5zdGFuY2VvZiBBYm9ydEV4Y2VwdGlvbikpe2lmKCF0aGlzLm9wdGlvbnMuaWdub3JlRXJyb3JzKXRocm93IGU7d2FybihgaGFuZGxlVGlsaW5nVHlwZSAtIGlnbm9yaW5nIHBhdHRlcm46ICIke2V9Ii5gKX19KSl9YXN5bmMgaGFuZGxlU2V0Rm9udChlLHQsYSxyLGksbixzPW51bGwsbz1udWxsKXtjb25zdCBjPXQ/LlswXWluc3RhbmNlb2YgTmFtZT90WzBdLm5hbWU6bnVsbCxsPWF3YWl0IHRoaXMubG9hZEZvbnQoYyxhLGUsaSxzLG8pO2wuZm9udC5pc1R5cGUzRm9udCYmci5hZGREZXBlbmRlbmNpZXMobC50eXBlM0RlcGVuZGVuY2llcyk7bi5mb250PWwuZm9udDtsLnNlbmQodGhpcy5oYW5kbGVyKTtyZXR1cm4gbC5sb2FkZWROYW1lfWhhbmRsZVRleHQoZSx0KXtjb25zdCBhPXQuZm9udCxyPWEuY2hhcnNUb0dseXBocyhlKTtpZihhLmRhdGEpeyghISh0LnRleHRSZW5kZXJpbmdNb2RlJlMpfHwiUGF0dGVybiI9PT10LmZpbGxDb2xvclNwYWNlLm5hbWV8fGEuZGlzYWJsZUZvbnRGYWNlKSYmUGFydGlhbEV2YWx1YXRvci5idWlsZEZvbnRQYXRocyhhLHIsdGhpcy5oYW5kbGVyLHRoaXMub3B0aW9ucyl9cmV0dXJuIHJ9ZW5zdXJlU3RhdGVGb250KGUpe2lmKGUuZm9udClyZXR1cm47Y29uc3QgdD1uZXcgRm9ybWF0RXJyb3IoIk1pc3Npbmcgc2V0Rm9udCAoVGYpIG9wZXJhdG9yIGJlZm9yZSB0ZXh0IHJlbmRlcmluZyBvcGVyYXRvci4iKTtpZighdGhpcy5vcHRpb25zLmlnbm9yZUVycm9ycyl0aHJvdyB0O3dhcm4oYGVuc3VyZVN0YXRlRm9udDogIiR7dH0iLmApfWFzeW5jIHNldEdTdGF0ZSh7cmVzb3VyY2VzOmUsZ1N0YXRlOnQsb3BlcmF0b3JMaXN0OmEsY2FjaGVLZXk6cix0YXNrOmksc3RhdGVNYW5hZ2VyOm4sbG9jYWxHU3RhdGVDYWNoZTpzLGxvY2FsQ29sb3JTcGFjZUNhY2hlOm8sc2VlblJlZnM6Y30pe2NvbnN0IGw9dC5vYmpJZDtsZXQgaD0hMDtjb25zdCB1PVtdO2xldCBkPVByb21pc2UucmVzb2x2ZSgpO2Zvcihjb25zdFtyLHNdb2YgdClzd2l0Y2gocil7Y2FzZSJUeXBlIjpicmVhaztjYXNlIkxXIjppZigibnVtYmVyIiE9dHlwZW9mIHMpe3dhcm4oYEludmFsaWQgTFcgKGxpbmUgd2lkdGgpOiAke3N9YCk7YnJlYWt9dS5wdXNoKFtyLE1hdGguYWJzKHMpXSk7YnJlYWs7Y2FzZSJMQyI6Y2FzZSJMSiI6Y2FzZSJNTCI6Y2FzZSJEIjpjYXNlIlJJIjpjYXNlIkZMIjpjYXNlIkNBIjpjYXNlImNhIjp1LnB1c2goW3Isc10pO2JyZWFrO2Nhc2UiRm9udCI6aD0hMTtkPWQudGhlbigoKCk9PnRoaXMuaGFuZGxlU2V0Rm9udChlLG51bGwsc1swXSxhLGksbi5zdGF0ZSkudGhlbigoZnVuY3Rpb24oZSl7YS5hZGREZXBlbmRlbmN5KGUpO3UucHVzaChbcixbZSxzWzFdXV0pfSkpKSk7YnJlYWs7Y2FzZSJCTSI6dS5wdXNoKFtyLG5vcm1hbGl6ZUJsZW5kTW9kZShzKV0pO2JyZWFrO2Nhc2UiU01hc2siOmlmKGlzTmFtZShzLCJOb25lIikpe3UucHVzaChbciwhMV0pO2JyZWFrfWlmKHMgaW5zdGFuY2VvZiBEaWN0KXtoPSExO2Q9ZC50aGVuKCgoKT0+dGhpcy5oYW5kbGVTTWFzayhzLGUsYSxpLG4sbyxjKSkpO3UucHVzaChbciwhMF0pfWVsc2Ugd2FybigiVW5zdXBwb3J0ZWQgU01hc2sgdHlwZSIpO2JyZWFrO2Nhc2UiVFIiOmNvbnN0IHQ9dGhpcy5oYW5kbGVUcmFuc2ZlckZ1bmN0aW9uKHMpO3UucHVzaChbcix0XSk7YnJlYWs7Y2FzZSJPUCI6Y2FzZSJvcCI6Y2FzZSJPUE0iOmNhc2UiQkciOmNhc2UiQkcyIjpjYXNlIlVDUiI6Y2FzZSJVQ1IyIjpjYXNlIlRSMiI6Y2FzZSJIVCI6Y2FzZSJTTSI6Y2FzZSJTQSI6Y2FzZSJBSVMiOmNhc2UiVEsiOmluZm8oImdyYXBoaWMgc3RhdGUgb3BlcmF0b3IgIityKTticmVhaztkZWZhdWx0OmluZm8oIlVua25vd24gZ3JhcGhpYyBzdGF0ZSBvcGVyYXRvciAiK3IpfWF3YWl0IGQ7dS5sZW5ndGg+MCYmYS5hZGRPcChnZSxbdV0pO2gmJnMuc2V0KHIsbCx1KX1sb2FkRm9udChlLHQsYSxyLGk9bnVsbCxuPW51bGwpe2NvbnN0IGVycm9yRm9udD1hc3luYygpPT5uZXcgVHJhbnNsYXRlZEZvbnQoe2xvYWRlZE5hbWU6ImdfZm9udF9lcnJvciIsZm9udDpuZXcgRXJyb3JGb250KGBGb250ICIke2V9IiBpcyBub3QgYXZhaWxhYmxlLmApLGRpY3Q6dH0pO2xldCBzO2lmKHQpdCBpbnN0YW5jZW9mIFJlZiYmKHM9dCk7ZWxzZXtjb25zdCB0PWEuZ2V0KCJGb250Iik7dCYmKHM9dC5nZXRSYXcoZSkpfWlmKHMpe2lmKHRoaXMudHlwZTNGb250UmVmcz8uaGFzKHMpKXJldHVybiBlcnJvckZvbnQoKTtpZih0aGlzLmZvbnRDYWNoZS5oYXMocykpcmV0dXJuIHRoaXMuZm9udENhY2hlLmdldChzKTt0cnl7dD10aGlzLnhyZWYuZmV0Y2hJZlJlZihzKX1jYXRjaChlKXt3YXJuKGBsb2FkRm9udCAtIGxvb2t1cCBmYWlsZWQ6ICIke2V9Ii5gKX19aWYoISh0IGluc3RhbmNlb2YgRGljdCkpe2lmKCF0aGlzLm9wdGlvbnMuaWdub3JlRXJyb3JzJiYhdGhpcy5wYXJzaW5nVHlwZTNGb250KXt3YXJuKGBGb250ICIke2V9IiBpcyBub3QgYXZhaWxhYmxlLmApO3JldHVybiBlcnJvckZvbnQoKX13YXJuKGBGb250ICIke2V9IiBpcyBub3QgYXZhaWxhYmxlIC0tIGF0dGVtcHRpbmcgdG8gZmFsbGJhY2sgdG8gYSBkZWZhdWx0IGZvbnQuYCk7dD1pfHxQYXJ0aWFsRXZhbHVhdG9yLmZhbGxiYWNrRm9udERpY3R9aWYodC5jYWNoZUtleSYmdGhpcy5mb250Q2FjaGUuaGFzKHQuY2FjaGVLZXkpKXJldHVybiB0aGlzLmZvbnRDYWNoZS5nZXQodC5jYWNoZUtleSk7Y29uc3R7cHJvbWlzZTpvLHJlc29sdmU6Y309UHJvbWlzZS53aXRoUmVzb2x2ZXJzKCk7bGV0IGw7dHJ5e2w9dGhpcy5wcmVFdmFsdWF0ZUZvbnQodCk7bC5jc3NGb250SW5mbz1ufWNhdGNoKGUpe3dhcm4oYGxvYWRGb250IC0gcHJlRXZhbHVhdGVGb250IGZhaWxlZDogIiR7ZX0iLmApO3JldHVybiBlcnJvckZvbnQoKX1jb25zdHtkZXNjcmlwdG9yOmgsaGFzaDp1fT1sLGQ9cyBpbnN0YW5jZW9mIFJlZjtsZXQgZjtpZih1JiZoIGluc3RhbmNlb2YgRGljdCl7Y29uc3QgZT1oLmZvbnRBbGlhc2VzfHw9T2JqZWN0LmNyZWF0ZShudWxsKTtpZihlW3VdKXtjb25zdCB0PWVbdV0uYWxpYXNSZWY7aWYoZCYmdCYmdGhpcy5mb250Q2FjaGUuaGFzKHQpKXt0aGlzLmZvbnRDYWNoZS5wdXRBbGlhcyhzLHQpO3JldHVybiB0aGlzLmZvbnRDYWNoZS5nZXQocyl9fWVsc2UgZVt1XT17Zm9udElEOnRoaXMuaWRGYWN0b3J5LmNyZWF0ZUZvbnRJZCgpfTtkJiYoZVt1XS5hbGlhc1JlZj1zKTtmPWVbdV0uZm9udElEfWVsc2UgZj10aGlzLmlkRmFjdG9yeS5jcmVhdGVGb250SWQoKTthc3NlcnQoZj8uc3RhcnRzV2l0aCgiZiIpLCdUaGUgImZvbnRJRCIgbXVzdCBiZSAoY29ycmVjdGx5KSBkZWZpbmVkLicpO2lmKGQpdGhpcy5mb250Q2FjaGUucHV0KHMsbyk7ZWxzZXt0LmNhY2hlS2V5PWBjYWNoZUtleV8ke2Z9YDt0aGlzLmZvbnRDYWNoZS5wdXQodC5jYWNoZUtleSxvKX10LmxvYWRlZE5hbWU9YCR7dGhpcy5pZEZhY3RvcnkuZ2V0RG9jSWQoKX1fJHtmfWA7dGhpcy50cmFuc2xhdGVGb250KGwpLnRoZW4oKGFzeW5jIGU9Pntjb25zdCBpPW5ldyBUcmFuc2xhdGVkRm9udCh7bG9hZGVkTmFtZTp0LmxvYWRlZE5hbWUsZm9udDplLGRpY3Q6dH0pO2lmKGUuaXNUeXBlM0ZvbnQpdHJ5e2F3YWl0IGkubG9hZFR5cGUzRGF0YSh0aGlzLGEscil9Y2F0Y2goZSl7dGhyb3cgbmV3IEVycm9yKGBUeXBlMyBmb250IGxvYWQgZXJyb3I6ICR7ZX1gKX1jKGkpfSkpLmNhdGNoKChlPT57d2FybihgbG9hZEZvbnQgLSB0cmFuc2xhdGVGb250IGZhaWxlZDogIiR7ZX0iLmApO2MobmV3IFRyYW5zbGF0ZWRGb250KHtsb2FkZWROYW1lOnQubG9hZGVkTmFtZSxmb250Om5ldyBFcnJvckZvbnQoZT8ubWVzc2FnZSksZGljdDp0fSkpfSkpO3JldHVybiBvfWJ1aWxkUGF0aChlLHQsYSl7Y29uc3R7cGF0aE1pbk1heDpyLHBhdGhCdWZmZXI6aX09YTtzd2l0Y2goMHxlKXtjYXNlIENlOntjb25zdCBlPWEuY3VycmVudFBvaW50WD10WzBdLG49YS5jdXJyZW50UG9pbnRZPXRbMV0scz10WzJdLG89dFszXSxjPWUrcyxsPW4rbzswPT09c3x8MD09PW8/aS5wdXNoKEh0LGUsbixXdCxjLGwsJHQpOmkucHVzaChIdCxlLG4sV3QsYyxuLFd0LGMsbCxXdCxlLGwsJHQpO1V0aWwucmVjdEJvdW5kaW5nQm94KGUsbixjLGwscik7YnJlYWt9Y2FzZSB5ZTp7Y29uc3QgZT1hLmN1cnJlbnRQb2ludFg9dFswXSxuPWEuY3VycmVudFBvaW50WT10WzFdO2kucHVzaChIdCxlLG4pO1V0aWwucG9pbnRCb3VuZGluZ0JveChlLG4scik7YnJlYWt9Y2FzZSB3ZTp7Y29uc3QgZT1hLmN1cnJlbnRQb2ludFg9dFswXSxuPWEuY3VycmVudFBvaW50WT10WzFdO2kucHVzaChXdCxlLG4pO1V0aWwucG9pbnRCb3VuZGluZ0JveChlLG4scik7YnJlYWt9Y2FzZSB4ZTp7Y29uc3QgZT1hLmN1cnJlbnRQb2ludFgsbj1hLmN1cnJlbnRQb2ludFksW3MsbyxjLGwsaCx1XT10O2EuY3VycmVudFBvaW50WD1oO2EuY3VycmVudFBvaW50WT11O2kucHVzaCh6dCxzLG8sYyxsLGgsdSk7VXRpbC5iZXppZXJCb3VuZGluZ0JveChlLG4scyxvLGMsbCxoLHUscik7YnJlYWt9Y2FzZSBTZTp7Y29uc3QgZT1hLmN1cnJlbnRQb2ludFgsbj1hLmN1cnJlbnRQb2ludFksW3MsbyxjLGxdPXQ7YS5jdXJyZW50UG9pbnRYPWM7YS5jdXJyZW50UG9pbnRZPWw7aS5wdXNoKHp0LGUsbixzLG8sYyxsKTtVdGlsLmJlemllckJvdW5kaW5nQm94KGUsbixlLG4scyxvLGMsbCxyKTticmVha31jYXNlIEFlOntjb25zdCBlPWEuY3VycmVudFBvaW50WCxuPWEuY3VycmVudFBvaW50WSxbcyxvLGMsbF09dDthLmN1cnJlbnRQb2ludFg9YzthLmN1cnJlbnRQb2ludFk9bDtpLnB1c2goenQscyxvLGMsbCxjLGwpO1V0aWwuYmV6aWVyQm91bmRpbmdCb3goZSxuLHMsbyxjLGwsYyxsLHIpO2JyZWFrfWNhc2Uga2U6aS5wdXNoKCR0KX19X2dldENvbG9yU3BhY2UoZSx0LGEpe3JldHVybiBDb2xvclNwYWNlVXRpbHMucGFyc2Uoe2NzOmUseHJlZjp0aGlzLnhyZWYscmVzb3VyY2VzOnQscGRmRnVuY3Rpb25GYWN0b3J5OnRoaXMuX3BkZkZ1bmN0aW9uRmFjdG9yeSxnbG9iYWxDb2xvclNwYWNlQ2FjaGU6dGhpcy5nbG9iYWxDb2xvclNwYWNlQ2FjaGUsbG9jYWxDb2xvclNwYWNlQ2FjaGU6YSxhc3luY0lmTm90Q2FjaGVkOiEwfSl9YXN5bmMgX2hhbmRsZUNvbG9yU3BhY2UoZSl7dHJ5e3JldHVybiBhd2FpdCBlfWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZiBBYm9ydEV4Y2VwdGlvbilyZXR1cm4gbnVsbDtpZih0aGlzLm9wdGlvbnMuaWdub3JlRXJyb3JzKXt3YXJuKGBfaGFuZGxlQ29sb3JTcGFjZSAtIGlnbm9yaW5nIENvbG9yU3BhY2U6ICIke2V9Ii5gKTtyZXR1cm4gbnVsbH10aHJvdyBlfX1wYXJzZVNoYWRpbmcoe3NoYWRpbmc6ZSxyZXNvdXJjZXM6dCxsb2NhbENvbG9yU3BhY2VDYWNoZTphLGxvY2FsU2hhZGluZ1BhdHRlcm5DYWNoZTpyfSl7bGV0IGksbj1yLmdldChlKTtpZihuKXJldHVybiBuO3RyeXtpPVBhdHRlcm4ucGFyc2VTaGFkaW5nKGUsdGhpcy54cmVmLHQsdGhpcy5fcGRmRnVuY3Rpb25GYWN0b3J5LHRoaXMuZ2xvYmFsQ29sb3JTcGFjZUNhY2hlLGEpLmdldElSKCl9Y2F0Y2godCl7aWYodCBpbnN0YW5jZW9mIEFib3J0RXhjZXB0aW9uKXJldHVybiBudWxsO2lmKHRoaXMub3B0aW9ucy5pZ25vcmVFcnJvcnMpe3dhcm4oYHBhcnNlU2hhZGluZyAtIGlnbm9yaW5nIHNoYWRpbmc6ICIke3R9Ii5gKTtyLnNldChlLG51bGwpO3JldHVybiBudWxsfXRocm93IHR9bj1gcGF0dGVybl8ke3RoaXMuaWRGYWN0b3J5LmNyZWF0ZU9iaklkKCl9YDt0aGlzLnBhcnNpbmdUeXBlM0ZvbnQmJihuPWAke3RoaXMuaWRGYWN0b3J5LmdldERvY0lkKCl9X3R5cGUzXyR7bn1gKTtyLnNldChlLG4pO3RoaXMucGFyc2luZ1R5cGUzRm9udD90aGlzLmhhbmRsZXIuc2VuZCgiY29tbW9ub2JqIixbbiwiUGF0dGVybiIsaV0pOnRoaXMuaGFuZGxlci5zZW5kKCJvYmoiLFtuLHRoaXMucGFnZUluZGV4LCJQYXR0ZXJuIixpXSk7cmV0dXJuIG59aGFuZGxlQ29sb3JOKGUsdCxhLHIsaSxuLHMsbyxjLGwpe2NvbnN0IGg9YS5wb3AoKTtpZihoIGluc3RhbmNlb2YgTmFtZSl7Y29uc3QgdT1pLmdldFJhdyhoLm5hbWUpLGQ9dSBpbnN0YW5jZW9mIFJlZiYmYy5nZXRCeVJlZih1KTtpZihkKXRyeXtjb25zdCBpPXIuYmFzZT9yLmJhc2UuZ2V0UmdiSGV4KGEsMCk6bnVsbCxuPWdldFRpbGluZ1BhdHRlcm5JUihkLm9wZXJhdG9yTGlzdElSLGQuZGljdCxpKTtlLmFkZE9wKHQsbik7cmV0dXJufWNhdGNoe31jb25zdCBmPXRoaXMueHJlZi5mZXRjaElmUmVmKHUpO2lmKGYpe2NvbnN0IGk9ZiBpbnN0YW5jZW9mIEJhc2VTdHJlYW0/Zi5kaWN0OmYsaD1pLmdldCgiUGF0dGVyblR5cGUiKTtpZihoPT09bW4pe2NvbnN0IG89ci5iYXNlP3IuYmFzZS5nZXRSZ2JIZXgoYSwwKTpudWxsO3JldHVybiB0aGlzLmhhbmRsZVRpbGluZ1R5cGUodCxvLG4sZixpLGUscyxjKX1pZihoPT09Ym4pe2NvbnN0IGE9aS5nZXQoIlNoYWRpbmciKSxyPXRoaXMucGFyc2VTaGFkaW5nKHtzaGFkaW5nOmEscmVzb3VyY2VzOm4sbG9jYWxDb2xvclNwYWNlQ2FjaGU6byxsb2NhbFNoYWRpbmdQYXR0ZXJuQ2FjaGU6bH0pO2lmKHIpe2NvbnN0IGE9bG9va3VwTWF0cml4KGkuZ2V0QXJyYXkoIk1hdHJpeCIpLG51bGwpO2UuYWRkT3AodCxbIlNoYWRpbmciLHIsYV0pfXJldHVybn10aHJvdyBuZXcgRm9ybWF0RXJyb3IoYFVua25vd24gUGF0dGVyblR5cGU6ICR7aH1gKX19dGhyb3cgbmV3IEZvcm1hdEVycm9yKGBVbmtub3duIFBhdHRlcm5OYW1lOiAke2h9YCl9X3BhcnNlVmlzaWJpbGl0eUV4cHJlc3Npb24oZSx0LGEpe2lmKCsrdD4xMCl7d2FybigiVmlzaWJpbGl0eSBleHByZXNzaW9uIGlzIHRvbyBkZWVwbHkgbmVzdGVkIik7cmV0dXJufWNvbnN0IHI9ZS5sZW5ndGgsaT10aGlzLnhyZWYuZmV0Y2hJZlJlZihlWzBdKTtpZighKHI8MikmJmkgaW5zdGFuY2VvZiBOYW1lKXtzd2l0Y2goaS5uYW1lKXtjYXNlIkFuZCI6Y2FzZSJPciI6Y2FzZSJOb3QiOmEucHVzaChpLm5hbWUpO2JyZWFrO2RlZmF1bHQ6d2FybihgSW52YWxpZCBvcGVyYXRvciAke2kubmFtZX0gaW4gdmlzaWJpbGl0eSBleHByZXNzaW9uYCk7cmV0dXJufWZvcihsZXQgaT0xO2k8cjtpKyspe2NvbnN0IHI9ZVtpXSxuPXRoaXMueHJlZi5mZXRjaElmUmVmKHIpO2lmKEFycmF5LmlzQXJyYXkobikpe2NvbnN0IGU9W107YS5wdXNoKGUpO3RoaXMuX3BhcnNlVmlzaWJpbGl0eUV4cHJlc3Npb24obix0LGUpfWVsc2UgciBpbnN0YW5jZW9mIFJlZiYmYS5wdXNoKHIudG9TdHJpbmcoKSl9fWVsc2Ugd2FybigiSW52YWxpZCB2aXNpYmlsaXR5IGV4cHJlc3Npb24iKX1hc3luYyBwYXJzZU1hcmtlZENvbnRlbnRQcm9wcyhlLHQpe2xldCBhO2lmKGUgaW5zdGFuY2VvZiBOYW1lKXthPXQuZ2V0KCJQcm9wZXJ0aWVzIikuZ2V0KGUubmFtZSl9ZWxzZXtpZighKGUgaW5zdGFuY2VvZiBEaWN0KSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIk9wdGlvbmFsIGNvbnRlbnQgcHJvcGVydGllcyBtYWxmb3JtZWQuIik7YT1lfWNvbnN0IHI9YS5nZXQoIlR5cGUiKT8ubmFtZTtpZigiT0NHIj09PXIpcmV0dXJue3R5cGU6cixpZDphLm9iaklkfTtpZigiT0NNRCI9PT1yKXtjb25zdCBlPWEuZ2V0KCJWRSIpO2lmKEFycmF5LmlzQXJyYXkoZSkpe2NvbnN0IHQ9W107dGhpcy5fcGFyc2VWaXNpYmlsaXR5RXhwcmVzc2lvbihlLDAsdCk7aWYodC5sZW5ndGg+MClyZXR1cm57dHlwZToiT0NNRCIsZXhwcmVzc2lvbjp0fX1jb25zdCB0PWEuZ2V0KCJPQ0dzIik7aWYoQXJyYXkuaXNBcnJheSh0KXx8dCBpbnN0YW5jZW9mIERpY3Qpe2NvbnN0IGU9W107aWYoQXJyYXkuaXNBcnJheSh0KSlmb3IoY29uc3QgYSBvZiB0KWUucHVzaChhLnRvU3RyaW5nKCkpO2Vsc2UgZS5wdXNoKHQub2JqSWQpO3JldHVybnt0eXBlOnIsaWRzOmUscG9saWN5OmEuZ2V0KCJQIilpbnN0YW5jZW9mIE5hbWU/YS5nZXQoIlAiKS5uYW1lOm51bGwsZXhwcmVzc2lvbjpudWxsfX1pZih0IGluc3RhbmNlb2YgUmVmKXJldHVybnt0eXBlOnIsaWQ6dC50b1N0cmluZygpfX1yZXR1cm4gbnVsbH1nZXRPcGVyYXRvckxpc3Qoe3N0cmVhbTplLHRhc2s6dCxyZXNvdXJjZXM6YSxvcGVyYXRvckxpc3Q6cixpbml0aWFsU3RhdGU6aT1udWxsLGZhbGxiYWNrRm9udERpY3Q6bj1udWxsLHByZXZSZWZzOnM9bnVsbH0pe2NvbnN0IG89ZS5kaWN0Py5vYmpJZCxjPW5ldyBSZWZTZXQocyk7aWYobyl7aWYocz8uaGFzKG8pKXRocm93IG5ldyBFcnJvcihgZ2V0T3BlcmF0b3JMaXN0IC0gaWdub3JpbmcgY2lyY3VsYXIgcmVmZXJlbmNlOiAke299YCk7Yy5wdXQobyl9YXx8PURpY3QuZW1wdHk7aXx8PW5ldyBFdmFsU3RhdGU7aWYoIXIpdGhyb3cgbmV3IEVycm9yKCdnZXRPcGVyYXRvckxpc3Q6IG1pc3NpbmcgIm9wZXJhdG9yTGlzdCIgcGFyYW1ldGVyJyk7Y29uc3QgbD10aGlzLGg9dGhpcy54cmVmLHU9bmV3IExvY2FsSW1hZ2VDYWNoZSxkPW5ldyBMb2NhbENvbG9yU3BhY2VDYWNoZSxmPW5ldyBMb2NhbEdTdGF0ZUNhY2hlLGc9bmV3IExvY2FsVGlsaW5nUGF0dGVybkNhY2hlLHA9bmV3IE1hcCxtPWEuZ2V0KCJYT2JqZWN0Iil8fERpY3QuZW1wdHksYj1hLmdldCgiUGF0dGVybiIpfHxEaWN0LmVtcHR5LHk9bmV3IFN0YXRlTWFuYWdlcihpKSx3PW5ldyBFdmFsdWF0b3JQcmVwcm9jZXNzb3IoZSxoLHkpLHg9bmV3IFRpbWVTbG90TWFuYWdlcjtmdW5jdGlvbiBjbG9zZVBlbmRpbmdSZXN0b3JlT1BTKGUpe2ZvcihsZXQgZT0wLHQ9dy5zYXZlZFN0YXRlc0RlcHRoO2U8dDtlKyspci5hZGRPcChtZSxbXSl9cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbiBwcm9taXNlQm9keShlLGkpe2NvbnN0IG5leHQ9ZnVuY3Rpb24odCl7UHJvbWlzZS5hbGwoW3Qsci5yZWFkeV0pLnRoZW4oKGZ1bmN0aW9uKCl7dHJ5e3Byb21pc2VCb2R5KGUsaSl9Y2F0Y2goZSl7aShlKX19KSxpKX07dC5lbnN1cmVOb3RUZXJtaW5hdGVkKCk7eC5yZXNldCgpO2NvbnN0IHM9e307bGV0IG8sUyxrLEMsdixGO2Zvcig7IShvPXguY2hlY2soKSk7KXtzLmFyZ3M9bnVsbDtpZighdy5yZWFkKHMpKWJyZWFrO2xldCBlPXMuYXJncyxpPXMuZm47c3dpdGNoKDB8aSl7Y2FzZSBidDpGPWVbMF1pbnN0YW5jZW9mIE5hbWU7dj1lWzBdLm5hbWU7aWYoRil7Y29uc3QgdD11LmdldEJ5TmFtZSh2KTtpZih0KXthZGRDYWNoZWRJbWFnZU9wcyhyLHQpO2U9bnVsbDtjb250aW51ZX19bmV4dChuZXcgUHJvbWlzZSgoZnVuY3Rpb24oZSxpKXtpZighRil0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlhPYmplY3QgbXVzdCBiZSByZWZlcnJlZCB0byBieSBuYW1lLiIpO2xldCBuPW0uZ2V0UmF3KHYpO2lmKG4gaW5zdGFuY2VvZiBSZWYpe2NvbnN0IHQ9dS5nZXRCeVJlZihuKXx8bC5fcmVnaW9uYWxJbWFnZUNhY2hlLmdldEJ5UmVmKG4pfHxsLmdsb2JhbEltYWdlQ2FjaGUuZ2V0RGF0YShuLGwucGFnZUluZGV4KTtpZih0KXthZGRDYWNoZWRJbWFnZU9wcyhyLHQpO2UoKTtyZXR1cm59bj1oLmZldGNoKG4pfWlmKCEobiBpbnN0YW5jZW9mIEJhc2VTdHJlYW0pKXRocm93IG5ldyBGb3JtYXRFcnJvcigiWE9iamVjdCBzaG91bGQgYmUgYSBzdHJlYW0iKTtjb25zdCBzPW4uZGljdC5nZXQoIlN1YnR5cGUiKTtpZighKHMgaW5zdGFuY2VvZiBOYW1lKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlhPYmplY3Qgc2hvdWxkIGhhdmUgYSBOYW1lIHN1YnR5cGUiKTtpZigiRm9ybSIhPT1zLm5hbWUpaWYoIkltYWdlIiE9PXMubmFtZSl7aWYoIlBTIiE9PXMubmFtZSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYFVuaGFuZGxlZCBYT2JqZWN0IHN1YnR5cGUgJHtzLm5hbWV9YCk7aW5mbygiSWdub3JlZCBYT2JqZWN0IHN1YnR5cGUgUFMiKTtlKCl9ZWxzZSBsLmJ1aWxkUGFpbnRJbWFnZVhPYmplY3Qoe3Jlc291cmNlczphLGltYWdlOm4sb3BlcmF0b3JMaXN0OnIsY2FjaGVLZXk6dixsb2NhbEltYWdlQ2FjaGU6dSxsb2NhbENvbG9yU3BhY2VDYWNoZTpkfSkudGhlbihlLGkpO2Vsc2V7eS5zYXZlKCk7bC5idWlsZEZvcm1YT2JqZWN0KGEsbixudWxsLHIsdCx5LnN0YXRlLmNsb25lKHtuZXdQYXRoOiEwfSksZCxjKS50aGVuKChmdW5jdGlvbigpe3kucmVzdG9yZSgpO2UoKX0pLGkpfX0pKS5jYXRjaCgoZnVuY3Rpb24oZSl7aWYoIShlIGluc3RhbmNlb2YgQWJvcnRFeGNlcHRpb24pKXtpZighbC5vcHRpb25zLmlnbm9yZUVycm9ycyl0aHJvdyBlO3dhcm4oYGdldE9wZXJhdG9yTGlzdCAtIGlnbm9yaW5nIFhPYmplY3Q6ICIke2V9Ii5gKX19KSkpO3JldHVybjtjYXNlIHFlOmNvbnN0IHM9ZVsxXTtuZXh0KGwuaGFuZGxlU2V0Rm9udChhLGUsbnVsbCxyLHQseS5zdGF0ZSxuKS50aGVuKChmdW5jdGlvbihlKXtyLmFkZERlcGVuZGVuY3koZSk7ci5hZGRPcChxZSxbZSxzXSl9KSkpO3JldHVybjtjYXNlIG10OmNvbnN0IG89ZVswXS5jYWNoZUtleTtpZihvKXtjb25zdCB0PXUuZ2V0QnlOYW1lKG8pO2lmKHQpe2FkZENhY2hlZEltYWdlT3BzKHIsdCk7ZT1udWxsO2NvbnRpbnVlfX1uZXh0KGwuYnVpbGRQYWludEltYWdlWE9iamVjdCh7cmVzb3VyY2VzOmEsaW1hZ2U6ZVswXSxpc0lubGluZTohMCxvcGVyYXRvckxpc3Q6cixjYWNoZUtleTpvLGxvY2FsSW1hZ2VDYWNoZTp1LGxvY2FsQ29sb3JTcGFjZUNhY2hlOmR9KSk7cmV0dXJuO2Nhc2UgS2U6aWYoIXkuc3RhdGUuZm9udCl7bC5lbnN1cmVTdGF0ZUZvbnQoeS5zdGF0ZSk7Y29udGludWV9ZVswXT1sLmhhbmRsZVRleHQoZVswXSx5LnN0YXRlKTticmVhaztjYXNlIEplOmlmKCF5LnN0YXRlLmZvbnQpe2wuZW5zdXJlU3RhdGVGb250KHkuc3RhdGUpO2NvbnRpbnVlfWNvbnN0IHc9W10seD15LnN0YXRlO2Zvcihjb25zdCB0IG9mIGVbMF0pInN0cmluZyI9PXR5cGVvZiB0P3cucHVzaCguLi5sLmhhbmRsZVRleHQodCx4KSk6Im51bWJlciI9PXR5cGVvZiB0JiZ3LnB1c2godCk7ZVswXT13O2k9S2U7YnJlYWs7Y2FzZSBZZTppZigheS5zdGF0ZS5mb250KXtsLmVuc3VyZVN0YXRlRm9udCh5LnN0YXRlKTtjb250aW51ZX1yLmFkZE9wKFZlKTtlWzBdPWwuaGFuZGxlVGV4dChlWzBdLHkuc3RhdGUpO2k9S2U7YnJlYWs7Y2FzZSBaZTppZigheS5zdGF0ZS5mb250KXtsLmVuc3VyZVN0YXRlRm9udCh5LnN0YXRlKTtjb250aW51ZX1yLmFkZE9wKFZlKTtyLmFkZE9wKF9lLFtlLnNoaWZ0KCldKTtyLmFkZE9wKGplLFtlLnNoaWZ0KCldKTtlWzBdPWwuaGFuZGxlVGV4dChlWzBdLHkuc3RhdGUpO2k9S2U7YnJlYWs7Y2FzZSBIZTp5LnN0YXRlLnRleHRSZW5kZXJpbmdNb2RlPWVbMF07YnJlYWs7Y2FzZSBhdDp7Y29uc3QgdD1sLl9nZXRDb2xvclNwYWNlKGVbMF0sYSxkKTtpZih0IGluc3RhbmNlb2YgQ29sb3JTcGFjZSl7eS5zdGF0ZS5maWxsQ29sb3JTcGFjZT10O2NvbnRpbnVlfW5leHQobC5faGFuZGxlQ29sb3JTcGFjZSh0KS50aGVuKChlPT57eS5zdGF0ZS5maWxsQ29sb3JTcGFjZT1lfHxDb2xvclNwYWNlVXRpbHMuZ3JheX0pKSk7cmV0dXJufWNhc2UgdHQ6e2NvbnN0IHQ9bC5fZ2V0Q29sb3JTcGFjZShlWzBdLGEsZCk7aWYodCBpbnN0YW5jZW9mIENvbG9yU3BhY2Upe3kuc3RhdGUuc3Ryb2tlQ29sb3JTcGFjZT10O2NvbnRpbnVlfW5leHQobC5faGFuZGxlQ29sb3JTcGFjZSh0KS50aGVuKChlPT57eS5zdGF0ZS5zdHJva2VDb2xvclNwYWNlPWV8fENvbG9yU3BhY2VVdGlscy5ncmF5fSkpKTtyZXR1cm59Y2FzZSBudDpDPXkuc3RhdGUuZmlsbENvbG9yU3BhY2U7ZT1bQy5nZXRSZ2JIZXgoZSwwKV07aT1odDticmVhaztjYXNlIHJ0OkM9eS5zdGF0ZS5zdHJva2VDb2xvclNwYWNlO2U9W0MuZ2V0UmdiSGV4KGUsMCldO2k9bHQ7YnJlYWs7Y2FzZSBjdDp5LnN0YXRlLmZpbGxDb2xvclNwYWNlPUNvbG9yU3BhY2VVdGlscy5ncmF5O2U9W0NvbG9yU3BhY2VVdGlscy5ncmF5LmdldFJnYkhleChlLDApXTtpPWh0O2JyZWFrO2Nhc2Ugb3Q6eS5zdGF0ZS5zdHJva2VDb2xvclNwYWNlPUNvbG9yU3BhY2VVdGlscy5ncmF5O2U9W0NvbG9yU3BhY2VVdGlscy5ncmF5LmdldFJnYkhleChlLDApXTtpPWx0O2JyZWFrO2Nhc2UgZHQ6eS5zdGF0ZS5maWxsQ29sb3JTcGFjZT1Db2xvclNwYWNlVXRpbHMuY215aztlPVtDb2xvclNwYWNlVXRpbHMuY215ay5nZXRSZ2JIZXgoZSwwKV07aT1odDticmVhaztjYXNlIHV0Onkuc3RhdGUuc3Ryb2tlQ29sb3JTcGFjZT1Db2xvclNwYWNlVXRpbHMuY215aztlPVtDb2xvclNwYWNlVXRpbHMuY215ay5nZXRSZ2JIZXgoZSwwKV07aT1sdDticmVhaztjYXNlIGh0Onkuc3RhdGUuZmlsbENvbG9yU3BhY2U9Q29sb3JTcGFjZVV0aWxzLnJnYjtlPVtDb2xvclNwYWNlVXRpbHMucmdiLmdldFJnYkhleChlLDApXTticmVhaztjYXNlIGx0Onkuc3RhdGUuc3Ryb2tlQ29sb3JTcGFjZT1Db2xvclNwYWNlVXRpbHMucmdiO2U9W0NvbG9yU3BhY2VVdGlscy5yZ2IuZ2V0UmdiSGV4KGUsMCldO2JyZWFrO2Nhc2Ugc3Q6Qz15LnN0YXRlLnBhdHRlcm5GaWxsQ29sb3JTcGFjZTtpZighQyl7aWYoaXNOdW1iZXJBcnJheShlLG51bGwpKXtlPVtDb2xvclNwYWNlVXRpbHMuZ3JheS5nZXRSZ2JIZXgoZSwwKV07aT1odDticmVha31lPVtdO2k9WHQ7YnJlYWt9aWYoIlBhdHRlcm4iPT09Qy5uYW1lKXtuZXh0KGwuaGFuZGxlQ29sb3JOKHIsc3QsZSxDLGIsYSx0LGQsZyxwKSk7cmV0dXJufWU9W0MuZ2V0UmdiSGV4KGUsMCldO2k9aHQ7YnJlYWs7Y2FzZSBpdDpDPXkuc3RhdGUucGF0dGVyblN0cm9rZUNvbG9yU3BhY2U7aWYoIUMpe2lmKGlzTnVtYmVyQXJyYXkoZSxudWxsKSl7ZT1bQ29sb3JTcGFjZVV0aWxzLmdyYXkuZ2V0UmdiSGV4KGUsMCldO2k9bHQ7YnJlYWt9ZT1bXTtpPVV0O2JyZWFrfWlmKCJQYXR0ZXJuIj09PUMubmFtZSl7bmV4dChsLmhhbmRsZUNvbG9yTihyLGl0LGUsQyxiLGEsdCxkLGcscCkpO3JldHVybn1lPVtDLmdldFJnYkhleChlLDApXTtpPWx0O2JyZWFrO2Nhc2UgZnQ6bGV0IFQ7dHJ5e2NvbnN0IHQ9YS5nZXQoIlNoYWRpbmciKTtpZighdCl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIk5vIHNoYWRpbmcgcmVzb3VyY2UgZm91bmQiKTtUPXQuZ2V0KGVbMF0ubmFtZSk7aWYoIVQpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJObyBzaGFkaW5nIG9iamVjdCBmb3VuZCIpfWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZiBBYm9ydEV4Y2VwdGlvbiljb250aW51ZTtpZihsLm9wdGlvbnMuaWdub3JlRXJyb3JzKXt3YXJuKGBnZXRPcGVyYXRvckxpc3QgLSBpZ25vcmluZyBTaGFkaW5nOiAiJHtlfSIuYCk7Y29udGludWV9dGhyb3cgZX1jb25zdCBPPWwucGFyc2VTaGFkaW5nKHtzaGFkaW5nOlQscmVzb3VyY2VzOmEsbG9jYWxDb2xvclNwYWNlQ2FjaGU6ZCxsb2NhbFNoYWRpbmdQYXR0ZXJuQ2FjaGU6cH0pO2lmKCFPKWNvbnRpbnVlO2U9W09dO2k9ZnQ7YnJlYWs7Y2FzZSBnZTpGPWVbMF1pbnN0YW5jZW9mIE5hbWU7dj1lWzBdLm5hbWU7aWYoRil7Y29uc3QgdD1mLmdldEJ5TmFtZSh2KTtpZih0KXt0Lmxlbmd0aD4wJiZyLmFkZE9wKGdlLFt0XSk7ZT1udWxsO2NvbnRpbnVlfX1uZXh0KG5ldyBQcm9taXNlKChmdW5jdGlvbihlLGkpe2lmKCFGKXRocm93IG5ldyBGb3JtYXRFcnJvcigiR1N0YXRlIG11c3QgYmUgcmVmZXJyZWQgdG8gYnkgbmFtZS4iKTtjb25zdCBuPWEuZ2V0KCJFeHRHU3RhdGUiKTtpZighKG4gaW5zdGFuY2VvZiBEaWN0KSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkV4dEdTdGF0ZSBzaG91bGQgYmUgYSBkaWN0aW9uYXJ5LiIpO2NvbnN0IHM9bi5nZXQodik7aWYoIShzIGluc3RhbmNlb2YgRGljdCkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJHU3RhdGUgc2hvdWxkIGJlIGEgZGljdGlvbmFyeS4iKTtsLnNldEdTdGF0ZSh7cmVzb3VyY2VzOmEsZ1N0YXRlOnMsb3BlcmF0b3JMaXN0OnIsY2FjaGVLZXk6dix0YXNrOnQsc3RhdGVNYW5hZ2VyOnksbG9jYWxHU3RhdGVDYWNoZTpmLGxvY2FsQ29sb3JTcGFjZUNhY2hlOmQsc2VlblJlZnM6Y30pLnRoZW4oZSxpKX0pKS5jYXRjaCgoZnVuY3Rpb24oZSl7aWYoIShlIGluc3RhbmNlb2YgQWJvcnRFeGNlcHRpb24pKXtpZighbC5vcHRpb25zLmlnbm9yZUVycm9ycyl0aHJvdyBlO3dhcm4oYGdldE9wZXJhdG9yTGlzdCAtIGlnbm9yaW5nIEV4dEdTdGF0ZTogIiR7ZX0iLmApfX0pKSk7cmV0dXJuO2Nhc2Ugb2U6e2NvbnN0W3RdPWU7aWYoIm51bWJlciIhPXR5cGVvZiB0KXt3YXJuKGBJbnZhbGlkIHNldExpbmVXaWR0aDogJHt0fWApO2NvbnRpbnVlfWVbMF09TWF0aC5hYnModCk7YnJlYWt9Y2FzZSB1ZTp7Y29uc3QgdD1lWzFdO2lmKCJudW1iZXIiIT10eXBlb2YgdCl7d2FybihgSW52YWxpZCBzZXREYXNoOiAke3R9YCk7Y29udGludWV9Y29uc3QgYT1lWzBdO2lmKCFBcnJheS5pc0FycmF5KGEpKXt3YXJuKGBJbnZhbGlkIHNldERhc2g6ICR7YX1gKTtjb250aW51ZX1hLnNvbWUoKGU9PiJudW1iZXIiIT10eXBlb2YgZSkpJiYoZVswXT1hLmZpbHRlcigoZT0+Im51bWJlciI9PXR5cGVvZiBlKSkpO2JyZWFrfWNhc2UgeWU6Y2FzZSB3ZTpjYXNlIHhlOmNhc2UgU2U6Y2FzZSBBZTpjYXNlIGtlOmNhc2UgQ2U6bC5idWlsZFBhdGgoaSxlLHkuc3RhdGUpO2NvbnRpbnVlO2Nhc2UgdmU6Y2FzZSBGZTpjYXNlIEllOmNhc2UgVGU6Y2FzZSBPZTpjYXNlIE1lOmNhc2UgRGU6Y2FzZSBCZTpjYXNlIFJlOntjb25zdHtzdGF0ZTp7cGF0aEJ1ZmZlcjplLHBhdGhNaW5NYXg6dH19PXk7aSE9PUZlJiZpIT09RGUmJmkhPT1CZXx8ZS5wdXNoKCR0KTtpZigwPT09ZS5sZW5ndGgpci5hZGRPcChfdCxbaSxbbnVsbF0sbnVsbF0pO2Vsc2V7ci5hZGRPcChfdCxbaSxbbmV3IEZsb2F0MzJBcnJheShlKV0sdC5zbGljZSgpXSk7ZS5sZW5ndGg9MDt0LnNldChbMS8wLDEvMCwtMS8wLC0xLzBdLDApfWNvbnRpbnVlfWNhc2UgR2U6ci5hZGRPcChpLFtuZXcgRmxvYXQzMkFycmF5KGUpXSk7Y29udGludWU7Y2FzZSB5dDpjYXNlIHd0OmNhc2Uga3Q6Y2FzZSBDdDpjb250aW51ZTtjYXNlIFN0OmlmKCEoZVswXWluc3RhbmNlb2YgTmFtZSkpe3dhcm4oYEV4cGVjdGVkIG5hbWUgZm9yIGJlZ2luTWFya2VkQ29udGVudFByb3BzIGFyZzA9JHtlWzBdfWApO3IuYWRkT3AoU3QsWyJPQyIsbnVsbF0pO2NvbnRpbnVlfWlmKCJPQyI9PT1lWzBdLm5hbWUpe25leHQobC5wYXJzZU1hcmtlZENvbnRlbnRQcm9wcyhlWzFdLGEpLnRoZW4oKGU9PntyLmFkZE9wKFN0LFsiT0MiLGVdKX0pKS5jYXRjaCgoZT0+e2lmKCEoZSBpbnN0YW5jZW9mIEFib3J0RXhjZXB0aW9uKSl7aWYoIWwub3B0aW9ucy5pZ25vcmVFcnJvcnMpdGhyb3cgZTt3YXJuKGBnZXRPcGVyYXRvckxpc3QgLSBpZ25vcmluZyBiZWdpbk1hcmtlZENvbnRlbnRQcm9wczogIiR7ZX0iLmApO3IuYWRkT3AoU3QsWyJPQyIsbnVsbF0pfX0pKSk7cmV0dXJufWU9W2VbMF0ubmFtZSxlWzFdaW5zdGFuY2VvZiBEaWN0P2VbMV0uZ2V0KCJNQ0lEIik6bnVsbF07YnJlYWs7ZGVmYXVsdDppZihudWxsIT09ZSl7Zm9yKFM9MCxrPWUubGVuZ3RoO1M8ayYmIShlW1NdaW5zdGFuY2VvZiBEaWN0KTtTKyspO2lmKFM8ayl7d2FybigiZ2V0T3BlcmF0b3JMaXN0IC0gaWdub3Jpbmcgb3BlcmF0b3I6ICIraSk7Y29udGludWV9fX1yLmFkZE9wKGksZSl9aWYobyluZXh0KHluKTtlbHNle2Nsb3NlUGVuZGluZ1Jlc3RvcmVPUFMoKTtlKCl9fSkpLmNhdGNoKChlPT57aWYoIShlIGluc3RhbmNlb2YgQWJvcnRFeGNlcHRpb24pKXtpZighdGhpcy5vcHRpb25zLmlnbm9yZUVycm9ycyl0aHJvdyBlO3dhcm4oYGdldE9wZXJhdG9yTGlzdCAtIGlnbm9yaW5nIGVycm9ycyBkdXJpbmcgIiR7dC5uYW1lfSIgdGFzazogIiR7ZX0iLmApO2Nsb3NlUGVuZGluZ1Jlc3RvcmVPUFMoKX19KSl9Z2V0VGV4dENvbnRlbnQoe3N0cmVhbTplLHRhc2s6YSxyZXNvdXJjZXM6cixzdGF0ZU1hbmFnZXI6aT1udWxsLGluY2x1ZGVNYXJrZWRDb250ZW50Om49ITEsc2luazpzLHNlZW5TdHlsZXM6bz1uZXcgU2V0LHZpZXdCb3g6YyxsYW5nOmw9bnVsbCxtYXJrZWRDb250ZW50RGF0YTpoPW51bGwsZGlzYWJsZU5vcm1hbGl6YXRpb246dT0hMSxrZWVwV2hpdGVTcGFjZTpkPSExLHByZXZSZWZzOmY9bnVsbCxpbnRlcnNlY3RvcjpnPW51bGx9KXtjb25zdCBwPWUuZGljdD8ub2JqSWQsbT1uZXcgUmVmU2V0KGYpO2lmKHApe2lmKGY/LmhhcyhwKSl0aHJvdyBuZXcgRXJyb3IoYGdldFRleHRDb250ZW50IC0gaWdub3JpbmcgY2lyY3VsYXIgcmVmZXJlbmNlOiAke3B9YCk7bS5wdXQocCl9cnx8PURpY3QuZW1wdHk7aXx8PW5ldyBTdGF0ZU1hbmFnZXIobmV3IFRleHRTdGF0ZSk7biYmKGh8fD17bGV2ZWw6MH0pO2NvbnN0IGI9e2l0ZW1zOltdLHN0eWxlczpPYmplY3QuY3JlYXRlKG51bGwpLGxhbmc6bH0seT17aW5pdGlhbGl6ZWQ6ITEsc3RyOltdLHRvdGFsV2lkdGg6MCx0b3RhbEhlaWdodDowLHdpZHRoOjAsaGVpZ2h0OjAsdmVydGljYWw6ITEscHJldlRyYW5zZm9ybTpudWxsLHRleHRBZHZhbmNlU2NhbGU6MCxzcGFjZUluRmxvd01pbjowLHNwYWNlSW5GbG93TWF4OjAsdHJhY2tpbmdTcGFjZU1pbjoxLzAsbmVnYXRpdmVTcGFjZU1heDotMS8wLG5vdEFTcGFjZTotMS8wLHRyYW5zZm9ybTpudWxsLGZvbnROYW1lOm51bGwsaGFzRU9MOiExfSx3PVsiICIsIiAiXTtsZXQgeD0wO2Z1bmN0aW9uIHNhdmVMYXN0Q2hhcihlKXtjb25zdCB0PSh4KzEpJTIsYT0iICIhPT13W3hdJiYiICI9PT13W3RdO3dbeF09ZTt4PXQ7cmV0dXJuIWQmJmF9ZnVuY3Rpb24gc2hvdWxkQWRkV2hpdGVwc2FjZSgpe3JldHVybiFkJiYiICIhPT13W3hdJiYiICI9PT13Wyh4KzEpJTJdfWZ1bmN0aW9uIHJlc2V0TGFzdENoYXJzKCl7d1swXT13WzFdPSIgIjt4PTB9Y29uc3QgUz10aGlzLGs9dGhpcy54cmVmLEM9W107bGV0IHY9bnVsbDtjb25zdCBGPW5ldyBMb2NhbEltYWdlQ2FjaGUsVD1uZXcgTG9jYWxHU3RhdGVDYWNoZSxPPW5ldyBFdmFsdWF0b3JQcmVwcm9jZXNzb3IoZSxrLGkpO2xldCBNO2Z1bmN0aW9uIHB1c2hXaGl0ZXNwYWNlKHt3aWR0aDplPTAsaGVpZ2h0OnQ9MCx0cmFuc2Zvcm06YT15LnByZXZUcmFuc2Zvcm0sZm9udE5hbWU6cj15LmZvbnROYW1lfSl7Zz8uYWRkRXh0cmFDaGFyKCIgIik7Yi5pdGVtcy5wdXNoKHtzdHI6IiAiLGRpcjoibHRyIix3aWR0aDplLGhlaWdodDp0LHRyYW5zZm9ybTphLGZvbnROYW1lOnIsaGFzRU9MOiExfSl9ZnVuY3Rpb24gZ2V0Q3VycmVudFRleHRUcmFuc2Zvcm0oKXtjb25zdCBlPU0uZm9udCxhPVtNLmZvbnRTaXplKk0udGV4dEhTY2FsZSwwLDAsTS5mb250U2l6ZSwwLE0udGV4dFJpc2VdO2lmKGUuaXNUeXBlM0ZvbnQmJihNLmZvbnRTaXplPD0xfHxlLmlzQ2hhckJCb3gpJiYhaXNBcnJheUVxdWFsKE0uZm9udE1hdHJpeCx0KSl7Y29uc3QgdD1lLmJib3hbM10tZS5iYm94WzFdO3Q+MCYmKGFbM10qPXQqTS5mb250TWF0cml4WzNdKX1yZXR1cm4gVXRpbC50cmFuc2Zvcm0oTS5jdG0sVXRpbC50cmFuc2Zvcm0oTS50ZXh0TWF0cml4LGEpKX1mdW5jdGlvbiBlbnN1cmVUZXh0Q29udGVudEl0ZW0oKXtpZih5LmluaXRpYWxpemVkKXJldHVybiB5O2NvbnN0e2ZvbnQ6ZSxsb2FkZWROYW1lOnR9PU07aWYoIW8uaGFzKHQpKXtvLmFkZCh0KTtiLnN0eWxlc1t0XT17Zm9udEZhbWlseTplLmZhbGxiYWNrTmFtZSxhc2NlbnQ6ZS5hc2NlbnQsZGVzY2VudDplLmRlc2NlbnQsdmVydGljYWw6ZS52ZXJ0aWNhbH07aWYoUy5vcHRpb25zLmZvbnRFeHRyYVByb3BlcnRpZXMmJmUuc3lzdGVtRm9udEluZm8pe2NvbnN0IGE9Yi5zdHlsZXNbdF07YS5mb250U3Vic3RpdHV0aW9uPWUuc3lzdGVtRm9udEluZm8uY3NzO2EuZm9udFN1YnN0aXR1dGlvbkxvYWRlZE5hbWU9ZS5zeXN0ZW1Gb250SW5mby5sb2FkZWROYW1lfX15LmZvbnROYW1lPXQ7Y29uc3QgYT15LnRyYW5zZm9ybT1nZXRDdXJyZW50VGV4dFRyYW5zZm9ybSgpO2lmKGUudmVydGljYWwpe3kud2lkdGg9eS50b3RhbFdpZHRoPU1hdGguaHlwb3QoYVswXSxhWzFdKTt5LmhlaWdodD15LnRvdGFsSGVpZ2h0PTA7eS52ZXJ0aWNhbD0hMH1lbHNle3kud2lkdGg9eS50b3RhbFdpZHRoPTA7eS5oZWlnaHQ9eS50b3RhbEhlaWdodD1NYXRoLmh5cG90KGFbMl0sYVszXSk7eS52ZXJ0aWNhbD0hMX1jb25zdCByPU1hdGguaHlwb3QoTS50ZXh0TGluZU1hdHJpeFswXSxNLnRleHRMaW5lTWF0cml4WzFdKSxpPU1hdGguaHlwb3QoTS5jdG1bMF0sTS5jdG1bMV0pO3kudGV4dEFkdmFuY2VTY2FsZT1pKnI7Y29uc3R7Zm9udFNpemU6bn09TTt5LnRyYWNraW5nU3BhY2VNaW49LjEwMipuO3kubm90QVNwYWNlPS4wMypuO3kubmVnYXRpdmVTcGFjZU1heD0tLjIqbjt5LnNwYWNlSW5GbG93TWluPS4xMDIqbjt5LnNwYWNlSW5GbG93TWF4PS42Km47eS5oYXNFT0w9ITE7eS5pbml0aWFsaXplZD0hMDtyZXR1cm4geX1mdW5jdGlvbiB1cGRhdGVBZHZhbmNlU2NhbGUoKXtpZigheS5pbml0aWFsaXplZClyZXR1cm47Y29uc3QgZT1NYXRoLmh5cG90KE0udGV4dExpbmVNYXRyaXhbMF0sTS50ZXh0TGluZU1hdHJpeFsxXSksdD1NYXRoLmh5cG90KE0uY3RtWzBdLE0uY3RtWzFdKSplO2lmKHQhPT15LnRleHRBZHZhbmNlU2NhbGUpe2lmKHkudmVydGljYWwpe3kudG90YWxIZWlnaHQrPXkuaGVpZ2h0KnkudGV4dEFkdmFuY2VTY2FsZTt5LmhlaWdodD0wfWVsc2V7eS50b3RhbFdpZHRoKz15LndpZHRoKnkudGV4dEFkdmFuY2VTY2FsZTt5LndpZHRoPTB9eS50ZXh0QWR2YW5jZVNjYWxlPXR9fWZ1bmN0aW9uIHJ1bkJpZGlUcmFuc2Zvcm0oZSl7bGV0IHQ9ZS5zdHIuam9pbigiIik7dXx8KHQ9ZnVuY3Rpb24gbm9ybWFsaXplVW5pY29kZShlKXtpZighUXQpe1F0PS8oW1x1MDBhMFx1MDBiNVx1MDM3ZVx1MGViM1x1MjAwMC1cdTIwMGFcdTIwMmZcdTIxMjZcdWZiMDAtXHVmYjA0XHVmYjA2XHVmYjIwLVx1ZmIzNlx1ZmIzOC1cdWZiM2NcdWZiM2VcdWZiNDAtXHVmYjQxXHVmYjQzLVx1ZmI0NFx1ZmI0Ni1cdWZiYTFcdWZiYTQtXHVmYmE5XHVmYmFlLVx1ZmJiMVx1ZmJkMy1cdWZiZGNcdWZiZGUtXHVmYmU3XHVmYmVhLVx1ZmJmOFx1ZmJmYy1cdWZiZmRcdWZjMDAtXHVmYzVkXHVmYzY0LVx1ZmNmMVx1ZmNmNS1cdWZkM2RcdWZkODhcdWZkZjRcdWZkZmEtXHVmZGZiXHVmZTcxXHVmZTc3XHVmZTc5XHVmZTdiXHVmZTdkXSspfChcdWZiMDUrKS9ndTtlYT1uZXcgTWFwKFtbIu+shSIsIsW/dCJdXSl9cmV0dXJuIGUucmVwbGFjZUFsbChRdCwoKGUsdCxhKT0+dD90Lm5vcm1hbGl6ZSgiTkZLQyIpOmVhLmdldChhKSkpfSh0KSk7Y29uc3QgYT1iaWRpKHQsLTEsZS52ZXJ0aWNhbCk7cmV0dXJue3N0cjphLnN0cixkaXI6YS5kaXIsd2lkdGg6TWF0aC5hYnMoZS50b3RhbFdpZHRoKSxoZWlnaHQ6TWF0aC5hYnMoZS50b3RhbEhlaWdodCksdHJhbnNmb3JtOmUudHJhbnNmb3JtLGZvbnROYW1lOmUuZm9udE5hbWUsaGFzRU9MOmUuaGFzRU9MfX1hc3luYyBmdW5jdGlvbiBoYW5kbGVTZXRGb250KGUsaSl7Y29uc3Qgbj1hd2FpdCBTLmxvYWRGb250KGUsaSxyLGEpO00ubG9hZGVkTmFtZT1uLmxvYWRlZE5hbWU7TS5mb250PW4uZm9udDtNLmZvbnRNYXRyaXg9bi5mb250LmZvbnRNYXRyaXh8fHR9ZnVuY3Rpb24gYXBwbHlJbnZlcnNlUm90YXRpb24oZSx0LGEpe2NvbnN0IHI9TWF0aC5oeXBvdChhWzBdLGFbMV0pO3JldHVyblsoYVswXSplK2FbMV0qdCkvciwoYVsyXSplK2FbM10qdCkvcl19ZnVuY3Rpb24gY29tcGFyZVdpdGhMYXN0UG9zaXRpb24oZSl7Y29uc3QgdD1nZXRDdXJyZW50VGV4dFRyYW5zZm9ybSgpO2xldCBhPXRbNF0scj10WzVdO2lmKE0uZm9udD8udmVydGljYWwpe2lmKGE8Y1swXXx8YT5jWzJdfHxyK2U8Y1sxXXx8cj5jWzNdKXJldHVybiExfWVsc2UgaWYoYStlPGNbMF18fGE+Y1syXXx8cjxjWzFdfHxyPmNbM10pcmV0dXJuITE7aWYoIU0uZm9udHx8IXkucHJldlRyYW5zZm9ybSlyZXR1cm4hMDtsZXQgaT15LnByZXZUcmFuc2Zvcm1bNF0sbj15LnByZXZUcmFuc2Zvcm1bNV07aWYoaT09PWEmJm49PT1yKXJldHVybiEwO2xldCBzPS0xO3RbMF0mJjA9PT10WzFdJiYwPT09dFsyXT9zPXRbMF0+MD8wOjE4MDp0WzFdJiYwPT09dFswXSYmMD09PXRbM10mJihzPXRbMV0+MD85MDoyNzApO3N3aXRjaChzKXtjYXNlIDA6YnJlYWs7Y2FzZSA5MDpbYSxyXT1bcixhXTtbaSxuXT1bbixpXTticmVhaztjYXNlIDE4MDpbYSxyLGksbl09Wy1hLC1yLC1pLC1uXTticmVhaztjYXNlIDI3MDpbYSxyXT1bLXIsLWFdO1tpLG5dPVstbiwtaV07YnJlYWs7ZGVmYXVsdDpbYSxyXT1hcHBseUludmVyc2VSb3RhdGlvbihhLHIsdCk7W2ksbl09YXBwbHlJbnZlcnNlUm90YXRpb24oaSxuLHkucHJldlRyYW5zZm9ybSl9aWYoTS5mb250LnZlcnRpY2FsKXtjb25zdCBlPShuLXIpL3kudGV4dEFkdmFuY2VTY2FsZSx0PWEtaSxzPU1hdGguc2lnbih5LmhlaWdodCk7aWYoZTxzKnkubmVnYXRpdmVTcGFjZU1heCl7aWYoTWF0aC5hYnModCk+LjUqeS53aWR0aCl7YXBwZW5kRU9MKCk7cmV0dXJuITB9cmVzZXRMYXN0Q2hhcnMoKTtmbHVzaFRleHRDb250ZW50SXRlbSgpO3JldHVybiEwfWlmKE1hdGguYWJzKHQpPnkud2lkdGgpe2FwcGVuZEVPTCgpO3JldHVybiEwfWU8PXMqeS5ub3RBU3BhY2UmJnJlc2V0TGFzdENoYXJzKCk7aWYoZTw9cyp5LnRyYWNraW5nU3BhY2VNaW4paWYoc2hvdWxkQWRkV2hpdGVwc2FjZSgpKXtyZXNldExhc3RDaGFycygpO2ZsdXNoVGV4dENvbnRlbnRJdGVtKCk7cHVzaFdoaXRlc3BhY2Uoe2hlaWdodDpNYXRoLmFicyhlKX0pfWVsc2UgeS5oZWlnaHQrPWU7ZWxzZSBpZighYWRkRmFrZVNwYWNlcyhlLHkucHJldlRyYW5zZm9ybSxzKSlpZigwPT09eS5zdHIubGVuZ3RoKXtyZXNldExhc3RDaGFycygpO3B1c2hXaGl0ZXNwYWNlKHtoZWlnaHQ6TWF0aC5hYnMoZSl9KX1lbHNlIHkuaGVpZ2h0Kz1lO01hdGguYWJzKHQpPi4yNSp5LndpZHRoJiZmbHVzaFRleHRDb250ZW50SXRlbSgpO3JldHVybiEwfWNvbnN0IG89KGEtaSkveS50ZXh0QWR2YW5jZVNjYWxlLGw9ci1uLGg9TWF0aC5zaWduKHkud2lkdGgpO2lmKG88aCp5Lm5lZ2F0aXZlU3BhY2VNYXgpe2lmKE1hdGguYWJzKGwpPi41KnkuaGVpZ2h0KXthcHBlbmRFT0woKTtyZXR1cm4hMH1yZXNldExhc3RDaGFycygpO2ZsdXNoVGV4dENvbnRlbnRJdGVtKCk7cmV0dXJuITB9aWYoTWF0aC5hYnMobCk+eS5oZWlnaHQpe2FwcGVuZEVPTCgpO3JldHVybiEwfW88PWgqeS5ub3RBU3BhY2UmJnJlc2V0TGFzdENoYXJzKCk7aWYobzw9aCp5LnRyYWNraW5nU3BhY2VNaW4paWYoc2hvdWxkQWRkV2hpdGVwc2FjZSgpKXtyZXNldExhc3RDaGFycygpO2ZsdXNoVGV4dENvbnRlbnRJdGVtKCk7cHVzaFdoaXRlc3BhY2Uoe3dpZHRoOk1hdGguYWJzKG8pfSl9ZWxzZSB5LndpZHRoKz1vO2Vsc2UgaWYoIWFkZEZha2VTcGFjZXMobyx5LnByZXZUcmFuc2Zvcm0saCkpaWYoMD09PXkuc3RyLmxlbmd0aCl7cmVzZXRMYXN0Q2hhcnMoKTtwdXNoV2hpdGVzcGFjZSh7d2lkdGg6TWF0aC5hYnMobyl9KX1lbHNlIHkud2lkdGgrPW87TWF0aC5hYnMobCk+LjI1KnkuaGVpZ2h0JiZmbHVzaFRleHRDb250ZW50SXRlbSgpO3JldHVybiEwfWZ1bmN0aW9uIGJ1aWxkVGV4dENvbnRlbnRJdGVtKHtjaGFyczplLGV4dHJhU3BhY2luZzp0fSl7Y29uc3QgYT1NLmZvbnQ7aWYoIWUpe2NvbnN0IGU9TS5jaGFyU3BhY2luZyt0O2UmJihhLnZlcnRpY2FsP00udHJhbnNsYXRlVGV4dE1hdHJpeCgwLC1lKTpNLnRyYW5zbGF0ZVRleHRNYXRyaXgoZSpNLnRleHRIU2NhbGUsMCkpO2QmJmNvbXBhcmVXaXRoTGFzdFBvc2l0aW9uKDApO3JldHVybn1jb25zdCByPWEuY2hhcnNUb0dseXBocyhlKSxpPU0uZm9udE1hdHJpeFswXSpNLmZvbnRTaXplO2ZvcihsZXQgZT0wLG49ci5sZW5ndGg7ZTxuO2UrKyl7Y29uc3Qgcz1yW2VdLHtjYXRlZ29yeTpvfT1zO2lmKG8uaXNJbnZpc2libGVGb3JtYXRNYXJrKWNvbnRpbnVlO2xldCBjPU0uY2hhclNwYWNpbmcrKGUrMT09PW4/dDowKSxsPXMud2lkdGg7YS52ZXJ0aWNhbCYmKGw9cy52bWV0cmljP3Mudm1ldHJpY1swXTotbCk7bGV0IGg9bCppO2lmKCFkJiZvLmlzV2hpdGVzcGFjZSl7aWYoYS52ZXJ0aWNhbCl7Yys9LWgrTS53b3JkU3BhY2luZztNLnRyYW5zbGF0ZVRleHRNYXRyaXgoMCwtYyl9ZWxzZXtjKz1oK00ud29yZFNwYWNpbmc7TS50cmFuc2xhdGVUZXh0TWF0cml4KGMqTS50ZXh0SFNjYWxlLDApfXNhdmVMYXN0Q2hhcigiICIpO2NvbnRpbnVlfWlmKCFvLmlzWmVyb1dpZHRoRGlhY3JpdGljJiYhY29tcGFyZVdpdGhMYXN0UG9zaXRpb24oaCkpe2EudmVydGljYWw/TS50cmFuc2xhdGVUZXh0TWF0cml4KDAsaCk6TS50cmFuc2xhdGVUZXh0TWF0cml4KGgqTS50ZXh0SFNjYWxlLDApO2NvbnRpbnVlfWNvbnN0IHU9ZW5zdXJlVGV4dENvbnRlbnRJdGVtKCk7by5pc1plcm9XaWR0aERpYWNyaXRpYyYmKGg9MCk7aWYoYS52ZXJ0aWNhbCl7Zz8uYWRkR2x5cGgoZ2V0Q3VycmVudFRleHRUcmFuc2Zvcm0oKSwwLGgscy51bmljb2RlKTtNLnRyYW5zbGF0ZVRleHRNYXRyaXgoMCxoKTtoPU1hdGguYWJzKGgpO3UuaGVpZ2h0Kz1ofWVsc2V7aCo9TS50ZXh0SFNjYWxlO2c/LmFkZEdseXBoKGdldEN1cnJlbnRUZXh0VHJhbnNmb3JtKCksaCwwLHMudW5pY29kZSk7TS50cmFuc2xhdGVUZXh0TWF0cml4KGgsMCk7dS53aWR0aCs9aH1oJiYodS5wcmV2VHJhbnNmb3JtPWdldEN1cnJlbnRUZXh0VHJhbnNmb3JtKCkpO2NvbnN0IGY9cy51bmljb2RlO2lmKHNhdmVMYXN0Q2hhcihmKSl7dS5zdHIucHVzaCgiICIpO2c/LmFkZEV4dHJhQ2hhcigiICIpfWd8fHUuc3RyLnB1c2goZik7YyYmKGEudmVydGljYWw/TS50cmFuc2xhdGVUZXh0TWF0cml4KDAsLWMpOk0udHJhbnNsYXRlVGV4dE1hdHJpeChjKk0udGV4dEhTY2FsZSwwKSl9fWZ1bmN0aW9uIGFwcGVuZEVPTCgpe2c/LmFkZEV4dHJhQ2hhcigiXG4iKTtyZXNldExhc3RDaGFycygpO2lmKHkuaW5pdGlhbGl6ZWQpe3kuaGFzRU9MPSEwO2ZsdXNoVGV4dENvbnRlbnRJdGVtKCl9ZWxzZSBiLml0ZW1zLnB1c2goe3N0cjoiIixkaXI6Imx0ciIsd2lkdGg6MCxoZWlnaHQ6MCx0cmFuc2Zvcm06Z2V0Q3VycmVudFRleHRUcmFuc2Zvcm0oKSxmb250TmFtZTpNLmxvYWRlZE5hbWUsaGFzRU9MOiEwfSl9ZnVuY3Rpb24gYWRkRmFrZVNwYWNlcyhlLHQsYSl7aWYoYSp5LnNwYWNlSW5GbG93TWluPD1lJiZlPD1hKnkuc3BhY2VJbkZsb3dNYXgpe2lmKHkuaW5pdGlhbGl6ZWQpe3Jlc2V0TGFzdENoYXJzKCk7eS5zdHIucHVzaCgiICIpO2c/LmFkZEV4dHJhQ2hhcigiICIpfXJldHVybiExfWNvbnN0IHI9eS5mb250TmFtZTtsZXQgaT0wO2lmKHkudmVydGljYWwpe2k9ZTtlPTB9Zmx1c2hUZXh0Q29udGVudEl0ZW0oKTtyZXNldExhc3RDaGFycygpO3B1c2hXaGl0ZXNwYWNlKHt3aWR0aDpNYXRoLmFicyhlKSxoZWlnaHQ6TWF0aC5hYnMoaSksdHJhbnNmb3JtOnR8fGdldEN1cnJlbnRUZXh0VHJhbnNmb3JtKCksZm9udE5hbWU6cn0pO3JldHVybiEwfWZ1bmN0aW9uIGZsdXNoVGV4dENvbnRlbnRJdGVtKCl7aWYoeS5pbml0aWFsaXplZCYmeS5zdHIpe3kudmVydGljYWw/eS50b3RhbEhlaWdodCs9eS5oZWlnaHQqeS50ZXh0QWR2YW5jZVNjYWxlOnkudG90YWxXaWR0aCs9eS53aWR0aCp5LnRleHRBZHZhbmNlU2NhbGU7Yi5pdGVtcy5wdXNoKHJ1bkJpZGlUcmFuc2Zvcm0oeSkpO3kuaW5pdGlhbGl6ZWQ9ITE7eS5zdHIubGVuZ3RoPTB9fWZ1bmN0aW9uIGVucXVldWVDaHVuayhlPSExKXtjb25zdCB0PWIuaXRlbXMubGVuZ3RoO2lmKDAhPT10JiYhKGUmJnQ8MTApKXtzPy5lbnF1ZXVlKGIsdCk7Yi5pdGVtcz1bXTtiLnN0eWxlcz1PYmplY3QuY3JlYXRlKG51bGwpfX1jb25zdCBEPW5ldyBUaW1lU2xvdE1hbmFnZXI7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbiBwcm9taXNlQm9keShlLHQpe2NvbnN0IG5leHQ9ZnVuY3Rpb24oYSl7ZW5xdWV1ZUNodW5rKCEwKTtQcm9taXNlLmFsbChbYSxzPy5yZWFkeV0pLnRoZW4oKGZ1bmN0aW9uKCl7dHJ5e3Byb21pc2VCb2R5KGUsdCl9Y2F0Y2goZSl7dChlKX19KSx0KX07YS5lbnN1cmVOb3RUZXJtaW5hdGVkKCk7RC5yZXNldCgpO2NvbnN0IGY9e307bGV0IGcscCx5LHc9W107Zm9yKDshKGc9RC5jaGVjaygpKTspe3cubGVuZ3RoPTA7Zi5hcmdzPXc7aWYoIU8ucmVhZChmKSlicmVhaztjb25zdCBlPU07TT1pLnN0YXRlO2NvbnN0IHQ9Zi5mbjt3PWYuYXJncztzd2l0Y2goMHx0KXtjYXNlIHFlOmNvbnN0IHQ9d1swXS5uYW1lLGY9d1sxXTtpZihNLmZvbnQmJnQ9PT1NLmZvbnROYW1lJiZmPT09TS5mb250U2l6ZSlicmVhaztmbHVzaFRleHRDb250ZW50SXRlbSgpO00uZm9udE5hbWU9dDtNLmZvbnRTaXplPWY7bmV4dChoYW5kbGVTZXRGb250KHQsbnVsbCkpO3JldHVybjtjYXNlIFdlOk0udGV4dFJpc2U9d1swXTticmVhaztjYXNlIFVlOk0udGV4dEhTY2FsZT13WzBdLzEwMDticmVhaztjYXNlIFhlOk0ubGVhZGluZz13WzBdO2JyZWFrO2Nhc2UgemU6TS50cmFuc2xhdGVUZXh0TGluZU1hdHJpeCh3WzBdLHdbMV0pO00udGV4dE1hdHJpeD1NLnRleHRMaW5lTWF0cml4LnNsaWNlKCk7YnJlYWs7Y2FzZSAkZTpNLmxlYWRpbmc9LXdbMV07TS50cmFuc2xhdGVUZXh0TGluZU1hdHJpeCh3WzBdLHdbMV0pO00udGV4dE1hdHJpeD1NLnRleHRMaW5lTWF0cml4LnNsaWNlKCk7YnJlYWs7Y2FzZSBWZTpNLmNhcnJpYWdlUmV0dXJuKCk7YnJlYWs7Y2FzZSBHZTpNLnNldFRleHRNYXRyaXgod1swXSx3WzFdLHdbMl0sd1szXSx3WzRdLHdbNV0pO00uc2V0VGV4dExpbmVNYXRyaXgod1swXSx3WzFdLHdbMl0sd1szXSx3WzRdLHdbNV0pO3VwZGF0ZUFkdmFuY2VTY2FsZSgpO2JyZWFrO2Nhc2UgamU6TS5jaGFyU3BhY2luZz13WzBdO2JyZWFrO2Nhc2UgX2U6TS53b3JkU3BhY2luZz13WzBdO2JyZWFrO2Nhc2UgUGU6TS50ZXh0TWF0cml4PWxhLnNsaWNlKCk7TS50ZXh0TGluZU1hdHJpeD1sYS5zbGljZSgpO2JyZWFrO2Nhc2UgSmU6aWYoIWkuc3RhdGUuZm9udCl7Uy5lbnN1cmVTdGF0ZUZvbnQoaS5zdGF0ZSk7Y29udGludWV9Y29uc3QgZz0oTS5mb250LnZlcnRpY2FsPzE6LTEpKk0uZm9udFNpemUvMWUzLHg9d1swXTtmb3IobGV0IGU9MCx0PXgubGVuZ3RoO2U8dDtlKyspe2NvbnN0IHQ9eFtlXTtpZigic3RyaW5nIj09dHlwZW9mIHQpQy5wdXNoKHQpO2Vsc2UgaWYoIm51bWJlciI9PXR5cGVvZiB0JiYwIT09dCl7Y29uc3QgZT1DLmpvaW4oIiIpO0MubGVuZ3RoPTA7YnVpbGRUZXh0Q29udGVudEl0ZW0oe2NoYXJzOmUsZXh0cmFTcGFjaW5nOnQqZ30pfX1pZihDLmxlbmd0aD4wKXtjb25zdCBlPUMuam9pbigiIik7Qy5sZW5ndGg9MDtidWlsZFRleHRDb250ZW50SXRlbSh7Y2hhcnM6ZSxleHRyYVNwYWNpbmc6MH0pfWJyZWFrO2Nhc2UgS2U6aWYoIWkuc3RhdGUuZm9udCl7Uy5lbnN1cmVTdGF0ZUZvbnQoaS5zdGF0ZSk7Y29udGludWV9YnVpbGRUZXh0Q29udGVudEl0ZW0oe2NoYXJzOndbMF0sZXh0cmFTcGFjaW5nOjB9KTticmVhaztjYXNlIFllOmlmKCFpLnN0YXRlLmZvbnQpe1MuZW5zdXJlU3RhdGVGb250KGkuc3RhdGUpO2NvbnRpbnVlfU0uY2FycmlhZ2VSZXR1cm4oKTtidWlsZFRleHRDb250ZW50SXRlbSh7Y2hhcnM6d1swXSxleHRyYVNwYWNpbmc6MH0pO2JyZWFrO2Nhc2UgWmU6aWYoIWkuc3RhdGUuZm9udCl7Uy5lbnN1cmVTdGF0ZUZvbnQoaS5zdGF0ZSk7Y29udGludWV9TS53b3JkU3BhY2luZz13WzBdO00uY2hhclNwYWNpbmc9d1sxXTtNLmNhcnJpYWdlUmV0dXJuKCk7YnVpbGRUZXh0Q29udGVudEl0ZW0oe2NoYXJzOndbMl0sZXh0cmFTcGFjaW5nOjB9KTticmVhaztjYXNlIGJ0OmZsdXNoVGV4dENvbnRlbnRJdGVtKCk7dj8/PXIuZ2V0KCJYT2JqZWN0Iil8fERpY3QuZW1wdHk7eT13WzBdaW5zdGFuY2VvZiBOYW1lO3A9d1swXS5uYW1lO2lmKHkmJkYuZ2V0QnlOYW1lKHApKWJyZWFrO25leHQobmV3IFByb21pc2UoKGZ1bmN0aW9uKGUsdCl7aWYoIXkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJYT2JqZWN0IG11c3QgYmUgcmVmZXJyZWQgdG8gYnkgbmFtZS4iKTtsZXQgZj12LmdldFJhdyhwKTtpZihmIGluc3RhbmNlb2YgUmVmKXtpZihGLmdldEJ5UmVmKGYpKXtlKCk7cmV0dXJufWlmKFMuZ2xvYmFsSW1hZ2VDYWNoZS5nZXREYXRhKGYsUy5wYWdlSW5kZXgpKXtlKCk7cmV0dXJufWY9ay5mZXRjaChmKX1pZighKGYgaW5zdGFuY2VvZiBCYXNlU3RyZWFtKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlhPYmplY3Qgc2hvdWxkIGJlIGEgc3RyZWFtIik7Y29uc3R7ZGljdDpnfT1mLGI9Zy5nZXQoIlN1YnR5cGUiKTtpZighKGIgaW5zdGFuY2VvZiBOYW1lKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlhPYmplY3Qgc2hvdWxkIGhhdmUgYSBOYW1lIHN1YnR5cGUiKTtpZigiRm9ybSIhPT1iLm5hbWUpe0Yuc2V0KHAsZy5vYmpJZCwhMCk7ZSgpO3JldHVybn1jb25zdCB3PWkuc3RhdGUuY2xvbmUoKSx4PW5ldyBTdGF0ZU1hbmFnZXIodyksQz1sb29rdXBNYXRyaXgoZy5nZXRBcnJheSgiTWF0cml4IiksbnVsbCk7QyYmeC50cmFuc2Zvcm0oQyk7Y29uc3QgVD1nLmdldCgiUmVzb3VyY2VzIik7ZW5xdWV1ZUNodW5rKCk7Y29uc3QgTz17ZW5xdWV1ZUludm9rZWQ6ITEsZW5xdWV1ZShlLHQpe3RoaXMuZW5xdWV1ZUludm9rZWQ9ITA7cy5lbnF1ZXVlKGUsdCl9LGdldCBkZXNpcmVkU2l6ZSgpe3JldHVybiBzLmRlc2lyZWRTaXplPz8wfSxnZXQgcmVhZHkoKXtyZXR1cm4gcy5yZWFkeX19O1MuZ2V0VGV4dENvbnRlbnQoe3N0cmVhbTpmLHRhc2s6YSxyZXNvdXJjZXM6VCBpbnN0YW5jZW9mIERpY3Q/VDpyLHN0YXRlTWFuYWdlcjp4LGluY2x1ZGVNYXJrZWRDb250ZW50Om4sc2luazpzJiZPLHNlZW5TdHlsZXM6byx2aWV3Qm94OmMsbGFuZzpsLG1hcmtlZENvbnRlbnREYXRhOmgsZGlzYWJsZU5vcm1hbGl6YXRpb246dSxrZWVwV2hpdGVTcGFjZTpkLHByZXZSZWZzOm19KS50aGVuKChmdW5jdGlvbigpe08uZW5xdWV1ZUludm9rZWR8fEYuc2V0KHAsZy5vYmpJZCwhMCk7ZSgpfSksdCl9KSkuY2F0Y2goKGZ1bmN0aW9uKGUpe2lmKCEoZSBpbnN0YW5jZW9mIEFib3J0RXhjZXB0aW9uKSl7aWYoIVMub3B0aW9ucy5pZ25vcmVFcnJvcnMpdGhyb3cgZTt3YXJuKGBnZXRUZXh0Q29udGVudCAtIGlnbm9yaW5nIFhPYmplY3Q6ICIke2V9Ii5gKX19KSkpO3JldHVybjtjYXNlIGdlOnk9d1swXWluc3RhbmNlb2YgTmFtZTtwPXdbMF0ubmFtZTtpZih5JiZULmdldEJ5TmFtZShwKSlicmVhaztuZXh0KG5ldyBQcm9taXNlKChmdW5jdGlvbihlLHQpe2lmKCF5KXRocm93IG5ldyBGb3JtYXRFcnJvcigiR1N0YXRlIG11c3QgYmUgcmVmZXJyZWQgdG8gYnkgbmFtZS4iKTtjb25zdCBhPXIuZ2V0KCJFeHRHU3RhdGUiKTtpZighKGEgaW5zdGFuY2VvZiBEaWN0KSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkV4dEdTdGF0ZSBzaG91bGQgYmUgYSBkaWN0aW9uYXJ5LiIpO2NvbnN0IGk9YS5nZXQocCk7aWYoIShpIGluc3RhbmNlb2YgRGljdCkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJHU3RhdGUgc2hvdWxkIGJlIGEgZGljdGlvbmFyeS4iKTtjb25zdCBuPWkuZ2V0KCJGb250Iik7aWYobil7Zmx1c2hUZXh0Q29udGVudEl0ZW0oKTtNLmZvbnROYW1lPW51bGw7TS5mb250U2l6ZT1uWzFdO2hhbmRsZVNldEZvbnQobnVsbCxuWzBdKS50aGVuKGUsdCl9ZWxzZXtULnNldChwLGkub2JqSWQsITApO2UoKX19KSkuY2F0Y2goKGZ1bmN0aW9uKGUpe2lmKCEoZSBpbnN0YW5jZW9mIEFib3J0RXhjZXB0aW9uKSl7aWYoIVMub3B0aW9ucy5pZ25vcmVFcnJvcnMpdGhyb3cgZTt3YXJuKGBnZXRUZXh0Q29udGVudCAtIGlnbm9yaW5nIEV4dEdTdGF0ZTogIiR7ZX0iLmApfX0pKSk7cmV0dXJuO2Nhc2UgeHQ6Zmx1c2hUZXh0Q29udGVudEl0ZW0oKTtpZihuKXtoLmxldmVsKys7Yi5pdGVtcy5wdXNoKHt0eXBlOiJiZWdpbk1hcmtlZENvbnRlbnQiLHRhZzp3WzBdaW5zdGFuY2VvZiBOYW1lP3dbMF0ubmFtZTpudWxsfSl9YnJlYWs7Y2FzZSBTdDpmbHVzaFRleHRDb250ZW50SXRlbSgpO2lmKG4pe2gubGV2ZWwrKztsZXQgZT1udWxsO3dbMV1pbnN0YW5jZW9mIERpY3QmJihlPXdbMV0uZ2V0KCJNQ0lEIikpO2IuaXRlbXMucHVzaCh7dHlwZToiYmVnaW5NYXJrZWRDb250ZW50UHJvcHMiLGlkOk51bWJlci5pc0ludGVnZXIoZSk/YCR7Uy5pZEZhY3RvcnkuZ2V0UGFnZU9iaklkKCl9X21jJHtlfWA6bnVsbCx0YWc6d1swXWluc3RhbmNlb2YgTmFtZT93WzBdLm5hbWU6bnVsbH0pfWJyZWFrO2Nhc2UgQXQ6Zmx1c2hUZXh0Q29udGVudEl0ZW0oKTtpZihuKXtpZigwPT09aC5sZXZlbClicmVhaztoLmxldmVsLS07Yi5pdGVtcy5wdXNoKHt0eXBlOiJlbmRNYXJrZWRDb250ZW50In0pfWJyZWFrO2Nhc2UgbWU6IWV8fGUuZm9udD09PU0uZm9udCYmZS5mb250U2l6ZT09PU0uZm9udFNpemUmJmUuZm9udE5hbWU9PT1NLmZvbnROYW1lfHxmbHVzaFRleHRDb250ZW50SXRlbSgpfWlmKGIuaXRlbXMubGVuZ3RoPj0ocz8uZGVzaXJlZFNpemU/PzEpKXtnPSEwO2JyZWFrfX1pZihnKW5leHQoeW4pO2Vsc2V7Zmx1c2hUZXh0Q29udGVudEl0ZW0oKTtlbnF1ZXVlQ2h1bmsoKTtlKCl9fSkpLmNhdGNoKChlPT57aWYoIShlIGluc3RhbmNlb2YgQWJvcnRFeGNlcHRpb24pKXtpZighdGhpcy5vcHRpb25zLmlnbm9yZUVycm9ycyl0aHJvdyBlO3dhcm4oYGdldFRleHRDb250ZW50IC0gaWdub3JpbmcgZXJyb3JzIGR1cmluZyAiJHthLm5hbWV9IiB0YXNrOiAiJHtlfSIuYCk7Zmx1c2hUZXh0Q29udGVudEl0ZW0oKTtlbnF1ZXVlQ2h1bmsoKX19KSl9YXN5bmMgZXh0cmFjdERhdGFTdHJ1Y3R1cmVzKGUsdCl7Y29uc3QgYT10aGlzLnhyZWY7bGV0IHI7Y29uc3QgaT10aGlzLnJlYWRUb1VuaWNvZGUodC50b1VuaWNvZGUpO2lmKHQuY29tcG9zaXRlKXtjb25zdCBhPWUuZ2V0KCJDSURTeXN0ZW1JbmZvIik7YSBpbnN0YW5jZW9mIERpY3QmJih0LmNpZFN5c3RlbUluZm89e3JlZ2lzdHJ5OnN0cmluZ1RvUERGU3RyaW5nKGEuZ2V0KCJSZWdpc3RyeSIpKSxvcmRlcmluZzpzdHJpbmdUb1BERlN0cmluZyhhLmdldCgiT3JkZXJpbmciKSksc3VwcGxlbWVudDphLmdldCgiU3VwcGxlbWVudCIpfSk7dHJ5e2NvbnN0IHQ9ZS5nZXQoIkNJRFRvR0lETWFwIik7dCBpbnN0YW5jZW9mIEJhc2VTdHJlYW0mJihyPXQuZ2V0Qnl0ZXMoKSl9Y2F0Y2goZSl7aWYoIXRoaXMub3B0aW9ucy5pZ25vcmVFcnJvcnMpdGhyb3cgZTt3YXJuKGBleHRyYWN0RGF0YVN0cnVjdHVyZXMgLSBpZ25vcmluZyBDSURUb0dJRE1hcCBkYXRhOiAiJHtlfSIuYCl9fWNvbnN0IG49W107bGV0IHMsbz1udWxsO2lmKGUuaGFzKCJFbmNvZGluZyIpKXtzPWUuZ2V0KCJFbmNvZGluZyIpO2lmKHMgaW5zdGFuY2VvZiBEaWN0KXtvPXMuZ2V0KCJCYXNlRW5jb2RpbmciKTtvPW8gaW5zdGFuY2VvZiBOYW1lP28ubmFtZTpudWxsO2lmKHMuaGFzKCJEaWZmZXJlbmNlcyIpKXtjb25zdCBlPXMuZ2V0KCJEaWZmZXJlbmNlcyIpO2xldCB0PTA7Zm9yKGNvbnN0IHIgb2YgZSl7Y29uc3QgZT1hLmZldGNoSWZSZWYocik7aWYoIm51bWJlciI9PXR5cGVvZiBlKXQ9ZTtlbHNle2lmKCEoZSBpbnN0YW5jZW9mIE5hbWUpKXRocm93IG5ldyBGb3JtYXRFcnJvcihgSW52YWxpZCBlbnRyeSBpbiAnRGlmZmVyZW5jZXMnIGFycmF5OiAke2V9YCk7blt0KytdPWUubmFtZX19fX1lbHNlIGlmKHMgaW5zdGFuY2VvZiBOYW1lKW89cy5uYW1lO2Vsc2V7Y29uc3QgZT0iRW5jb2RpbmcgaXMgbm90IGEgTmFtZSBub3IgYSBEaWN0IjtpZighdGhpcy5vcHRpb25zLmlnbm9yZUVycm9ycyl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoZSk7d2FybihlKX0iTWFjUm9tYW5FbmNvZGluZyIhPT1vJiYiTWFjRXhwZXJ0RW5jb2RpbmciIT09byYmIldpbkFuc2lFbmNvZGluZyIhPT1vJiYobz1udWxsKX1jb25zdCBjPSF0LmZpbGV8fHQuaXNJbnRlcm5hbEZvbnQsbD1McigpW3QubmFtZV07byYmYyYmbCYmKG89bnVsbCk7aWYobyl0LmRlZmF1bHRFbmNvZGluZz1nZXRFbmNvZGluZyhvKTtlbHNle2NvbnN0IGU9ISEodC5mbGFncyZ5ciksYT0hISh0LmZsYWdzJndyKTtzPW5yOyJUcnVlVHlwZSIhPT10LnR5cGV8fGF8fChzPXNyKTtpZihlfHxsKXtzPWlyO2MmJigvU3ltYm9sL2kudGVzdCh0Lm5hbWUpP3M9b3I6L0RpbmdiYXRzL2kudGVzdCh0Lm5hbWUpP3M9Y3I6L1dpbmdkaW5ncy9pLnRlc3QodC5uYW1lKSYmKHM9c3IpKX10LmRlZmF1bHRFbmNvZGluZz1zfXQuZGlmZmVyZW5jZXM9bjt0LmJhc2VFbmNvZGluZ05hbWU9bzt0Lmhhc0VuY29kaW5nPSEhb3x8bi5sZW5ndGg+MDt0LmRpY3Q9ZTt0LnRvVW5pY29kZT1hd2FpdCBpO2NvbnN0IGg9YXdhaXQgdGhpcy5idWlsZFRvVW5pY29kZSh0KTt0LnRvVW5pY29kZT1oO3ImJih0LmNpZFRvR2lkTWFwPXRoaXMucmVhZENpZFRvR2lkTWFwKHIsaCkpO3JldHVybiB0fV9zaW1wbGVGb250VG9Vbmljb2RlKGUsdD0hMSl7YXNzZXJ0KCFlLmNvbXBvc2l0ZSwiTXVzdCBiZSBhIHNpbXBsZSBmb250LiIpO2NvbnN0IGE9W10scj1lLmRlZmF1bHRFbmNvZGluZy5zbGljZSgpLGk9ZS5iYXNlRW5jb2RpbmdOYW1lLG49ZS5kaWZmZXJlbmNlcztmb3IoY29uc3QgZSBpbiBuKXtjb25zdCB0PW5bZV07Ii5ub3RkZWYiIT09dCYmKHJbZV09dCl9Y29uc3Qgcz1scigpO2Zvcihjb25zdCBuIGluIHIpe2xldCBvPXJbbl07aWYoIiI9PT1vKWNvbnRpbnVlO2xldCBjPXNbb107aWYodm9pZCAwIT09Yyl7YVtuXT1TdHJpbmcuZnJvbUNoYXJDb2RlKGMpO2NvbnRpbnVlfWxldCBsPTA7c3dpdGNoKG9bMF0pe2Nhc2UiRyI6Mz09PW8ubGVuZ3RoJiYobD1wYXJzZUludChvLnN1YnN0cmluZygxKSwxNikpO2JyZWFrO2Nhc2UiZyI6NT09PW8ubGVuZ3RoJiYobD1wYXJzZUludChvLnN1YnN0cmluZygxKSwxNikpO2JyZWFrO2Nhc2UiQyI6Y2FzZSJjIjppZihvLmxlbmd0aD49MyYmby5sZW5ndGg8PTQpe2NvbnN0IGE9by5zdWJzdHJpbmcoMSk7aWYodCl7bD1wYXJzZUludChhLDE2KTticmVha31sPSthO2lmKE51bWJlci5pc05hTihsKSYmTnVtYmVyLmlzSW50ZWdlcihwYXJzZUludChhLDE2KSkpcmV0dXJuIHRoaXMuX3NpbXBsZUZvbnRUb1VuaWNvZGUoZSwhMCl9YnJlYWs7Y2FzZSJ1IjpjPWdldFVuaWNvZGVGb3JHbHlwaChvLHMpOy0xIT09YyYmKGw9Yyk7YnJlYWs7ZGVmYXVsdDpzd2l0Y2gobyl7Y2FzZSJmX2giOmNhc2UiZl90IjpjYXNlIlRfaCI6YVtuXT1vLnJlcGxhY2VBbGwoIl8iLCIiKTtjb250aW51ZX19aWYobD4wJiZsPD0xMTE0MTExJiZOdW1iZXIuaXNJbnRlZ2VyKGwpKXtpZihpJiZsPT09K24pe2NvbnN0IGU9Z2V0RW5jb2RpbmcoaSk7aWYoZSYmKG89ZVtuXSkpe2Fbbl09U3RyaW5nLmZyb21DaGFyQ29kZShzW29dKTtjb250aW51ZX19YVtuXT1TdHJpbmcuZnJvbUNvZGVQb2ludChsKX19cmV0dXJuIGF9YXN5bmMgYnVpbGRUb1VuaWNvZGUoZSl7ZS5oYXNJbmNsdWRlZFRvVW5pY29kZU1hcD1lLnRvVW5pY29kZT8ubGVuZ3RoPjA7aWYoZS5oYXNJbmNsdWRlZFRvVW5pY29kZU1hcCl7IWUuY29tcG9zaXRlJiZlLmhhc0VuY29kaW5nJiYoZS5mYWxsYmFja1RvVW5pY29kZT10aGlzLl9zaW1wbGVGb250VG9Vbmljb2RlKGUpKTtyZXR1cm4gZS50b1VuaWNvZGV9aWYoIWUuY29tcG9zaXRlKXJldHVybiBuZXcgVG9Vbmljb2RlTWFwKHRoaXMuX3NpbXBsZUZvbnRUb1VuaWNvZGUoZSkpO2lmKGUuY29tcG9zaXRlJiYoZS5jTWFwLmJ1aWx0SW5DTWFwJiYhKGUuY01hcCBpbnN0YW5jZW9mIElkZW50aXR5Q01hcCl8fCJBZG9iZSI9PT1lLmNpZFN5c3RlbUluZm8/LnJlZ2lzdHJ5JiYoIkdCMSI9PT1lLmNpZFN5c3RlbUluZm8ub3JkZXJpbmd8fCJDTlMxIj09PWUuY2lkU3lzdGVtSW5mby5vcmRlcmluZ3x8IkphcGFuMSI9PT1lLmNpZFN5c3RlbUluZm8ub3JkZXJpbmd8fCJLb3JlYTEiPT09ZS5jaWRTeXN0ZW1JbmZvLm9yZGVyaW5nKSkpe2NvbnN0e3JlZ2lzdHJ5OnQsb3JkZXJpbmc6YX09ZS5jaWRTeXN0ZW1JbmZvLHI9TmFtZS5nZXQoYCR7dH0tJHthfS1VQ1MyYCksaT1hd2FpdCBDTWFwRmFjdG9yeS5jcmVhdGUoe2VuY29kaW5nOnIsZmV0Y2hCdWlsdEluQ01hcDp0aGlzLl9mZXRjaEJ1aWx0SW5DTWFwQm91bmQsdXNlQ01hcDpudWxsfSksbj1bXSxzPVtdO2UuY01hcC5mb3JFYWNoKChmdW5jdGlvbihlLHQpe2lmKHQ+NjU1MzUpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJNYXggc2l6ZSBvZiBDSUQgaXMgNjUsNTM1Iik7Y29uc3QgYT1pLmxvb2t1cCh0KTtpZihhKXtzLmxlbmd0aD0wO2ZvcihsZXQgZT0wLHQ9YS5sZW5ndGg7ZTx0O2UrPTIpcy5wdXNoKChhLmNoYXJDb2RlQXQoZSk8PDgpK2EuY2hhckNvZGVBdChlKzEpKTtuW2VdPVN0cmluZy5mcm9tQ2hhckNvZGUoLi4ucyl9fSkpO3JldHVybiBuZXcgVG9Vbmljb2RlTWFwKG4pfXJldHVybiBuZXcgSWRlbnRpdHlUb1VuaWNvZGVNYXAoZS5maXJzdENoYXIsZS5sYXN0Q2hhcil9YXN5bmMgcmVhZFRvVW5pY29kZShlKXtpZighZSlyZXR1cm4gbnVsbDtpZihlIGluc3RhbmNlb2YgTmFtZSl7Y29uc3QgdD1hd2FpdCBDTWFwRmFjdG9yeS5jcmVhdGUoe2VuY29kaW5nOmUsZmV0Y2hCdWlsdEluQ01hcDp0aGlzLl9mZXRjaEJ1aWx0SW5DTWFwQm91bmQsdXNlQ01hcDpudWxsfSk7cmV0dXJuIHQgaW5zdGFuY2VvZiBJZGVudGl0eUNNYXA/bmV3IElkZW50aXR5VG9Vbmljb2RlTWFwKDAsNjU1MzUpOm5ldyBUb1VuaWNvZGVNYXAodC5nZXRNYXAoKSl9aWYoZSBpbnN0YW5jZW9mIEJhc2VTdHJlYW0pdHJ5e2NvbnN0IHQ9YXdhaXQgQ01hcEZhY3RvcnkuY3JlYXRlKHtlbmNvZGluZzplLGZldGNoQnVpbHRJbkNNYXA6dGhpcy5fZmV0Y2hCdWlsdEluQ01hcEJvdW5kLHVzZUNNYXA6bnVsbH0pO2lmKHQgaW5zdGFuY2VvZiBJZGVudGl0eUNNYXApcmV0dXJuIG5ldyBJZGVudGl0eVRvVW5pY29kZU1hcCgwLDY1NTM1KTtjb25zdCBhPW5ldyBBcnJheSh0Lmxlbmd0aCk7dC5mb3JFYWNoKChmdW5jdGlvbihlLHQpe2lmKCJudW1iZXIiPT10eXBlb2YgdCl7YVtlXT1TdHJpbmcuZnJvbUNvZGVQb2ludCh0KTtyZXR1cm59dC5sZW5ndGglMiE9MCYmKHQ9IlwwIit0KTtjb25zdCByPVtdO2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSs9Mil7Y29uc3QgYT10LmNoYXJDb2RlQXQoZSk8PDh8dC5jaGFyQ29kZUF0KGUrMSk7aWYoNTUyOTYhPSg2MzQ4OCZhKSl7ci5wdXNoKGEpO2NvbnRpbnVlfWUrPTI7Y29uc3QgaT10LmNoYXJDb2RlQXQoZSk8PDh8dC5jaGFyQ29kZUF0KGUrMSk7ci5wdXNoKCgoMTAyMyZhKTw8MTApKygxMDIzJmkpKzY1NTM2KX1hW2VdPVN0cmluZy5mcm9tQ29kZVBvaW50KC4uLnIpfSkpO3JldHVybiBuZXcgVG9Vbmljb2RlTWFwKGEpfWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZiBBYm9ydEV4Y2VwdGlvbilyZXR1cm4gbnVsbDtpZih0aGlzLm9wdGlvbnMuaWdub3JlRXJyb3JzKXt3YXJuKGByZWFkVG9Vbmljb2RlIC0gaWdub3JpbmcgVG9Vbmljb2RlIGRhdGE6ICIke2V9Ii5gKTtyZXR1cm4gbnVsbH10aHJvdyBlfXJldHVybiBudWxsfXJlYWRDaWRUb0dpZE1hcChlLHQpe2NvbnN0IGE9W107Zm9yKGxldCByPTAsaT1lLmxlbmd0aDtyPGk7cisrKXtjb25zdCBpPWVbcisrXTw8OHxlW3JdLG49cj4+MTsoMCE9PWl8fHQuaGFzKG4pKSYmKGFbbl09aSl9cmV0dXJuIGF9ZXh0cmFjdFdpZHRocyhlLHQsYSl7Y29uc3Qgcj10aGlzLnhyZWY7bGV0IGk9W10sbj0wO2NvbnN0IHM9W107bGV0IG87aWYoYS5jb21wb3NpdGUpe2NvbnN0IHQ9ZS5nZXQoIkRXIik7bj0ibnVtYmVyIj09dHlwZW9mIHQ/TWF0aC5jZWlsKHQpOjFlMztjb25zdCBjPWUuZ2V0KCJXIik7aWYoQXJyYXkuaXNBcnJheShjKSlmb3IobGV0IGU9MCx0PWMubGVuZ3RoO2U8dDtlKyspe2xldCB0PXIuZmV0Y2hJZlJlZihjW2UrK10pO2lmKCFOdW1iZXIuaXNJbnRlZ2VyKHQpKWJyZWFrO2NvbnN0IGE9ci5mZXRjaElmUmVmKGNbZV0pO2lmKEFycmF5LmlzQXJyYXkoYSkpZm9yKGNvbnN0IGUgb2YgYSl7Y29uc3QgYT1yLmZldGNoSWZSZWYoZSk7Im51bWJlciI9PXR5cGVvZiBhJiYoaVt0XT1hKTt0Kyt9ZWxzZXtpZighTnVtYmVyLmlzSW50ZWdlcihhKSlicmVhazt7Y29uc3Qgbj1yLmZldGNoSWZSZWYoY1srK2VdKTtpZigibnVtYmVyIiE9dHlwZW9mIG4pY29udGludWU7Zm9yKGxldCBlPXQ7ZTw9YTtlKyspaVtlXT1ufX19aWYoYS52ZXJ0aWNhbCl7Y29uc3QgdD1lLmdldEFycmF5KCJEVzIiKTtsZXQgYT1pc051bWJlckFycmF5KHQsMik/dDpbODgwLC0xZTNdO289W2FbMV0sLjUqbixhWzBdXTthPWUuZ2V0KCJXMiIpO2lmKEFycmF5LmlzQXJyYXkoYSkpZm9yKGxldCBlPTAsdD1hLmxlbmd0aDtlPHQ7ZSsrKXtsZXQgdD1yLmZldGNoSWZSZWYoYVtlKytdKTtpZighTnVtYmVyLmlzSW50ZWdlcih0KSlicmVhaztjb25zdCBpPXIuZmV0Y2hJZlJlZihhW2VdKTtpZihBcnJheS5pc0FycmF5KGkpKWZvcihsZXQgZT0wLGE9aS5sZW5ndGg7ZTxhO2UrKyl7Y29uc3QgYT1bci5mZXRjaElmUmVmKGlbZSsrXSksci5mZXRjaElmUmVmKGlbZSsrXSksci5mZXRjaElmUmVmKGlbZV0pXTtpc051bWJlckFycmF5KGEsbnVsbCkmJihzW3RdPWEpO3QrK31lbHNle2lmKCFOdW1iZXIuaXNJbnRlZ2VyKGkpKWJyZWFrO3tjb25zdCBuPVtyLmZldGNoSWZSZWYoYVsrK2VdKSxyLmZldGNoSWZSZWYoYVsrK2VdKSxyLmZldGNoSWZSZWYoYVsrK2VdKV07aWYoIWlzTnVtYmVyQXJyYXkobixudWxsKSljb250aW51ZTtmb3IobGV0IGU9dDtlPD1pO2UrKylzW2VdPW59fX19fWVsc2V7Y29uc3Qgcz1lLmdldCgiV2lkdGhzIik7aWYoQXJyYXkuaXNBcnJheShzKSl7bGV0IGU9YS5maXJzdENoYXI7Zm9yKGNvbnN0IHQgb2Ygcyl7Y29uc3QgYT1yLmZldGNoSWZSZWYodCk7Im51bWJlciI9PXR5cGVvZiBhJiYoaVtlXT1hKTtlKyt9Y29uc3Qgbz10LmdldCgiTWlzc2luZ1dpZHRoIik7bj0ibnVtYmVyIj09dHlwZW9mIG8/bzowfWVsc2V7Y29uc3QgdD1lLmdldCgiQmFzZUZvbnQiKTtpZih0IGluc3RhbmNlb2YgTmFtZSl7Y29uc3QgZT10aGlzLmdldEJhc2VGb250TWV0cmljcyh0Lm5hbWUpO2k9dGhpcy5idWlsZENoYXJDb2RlVG9XaWR0aChlLndpZHRocyxhKTtuPWUuZGVmYXVsdFdpZHRofX19bGV0IGM9ITAsbD1uO2Zvcihjb25zdCBlIGluIGkpe2NvbnN0IHQ9aVtlXTtpZih0KWlmKGwpe2lmKGwhPT10KXtjPSExO2JyZWFrfX1lbHNlIGw9dH1jP2EuZmxhZ3N8PW1yOmEuZmxhZ3MmPX5tcjthLmRlZmF1bHRXaWR0aD1uO2Eud2lkdGhzPWk7YS5kZWZhdWx0Vk1ldHJpY3M9bzthLnZtZXRyaWNzPXN9aXNTZXJpZkZvbnQoZSl7Y29uc3QgdD1lLnNwbGl0KCItIiwxKVswXTtyZXR1cm4gdCBpbiBQcigpfHwvc2VyaWYvZ2kudGVzdCh0KX1nZXRCYXNlRm9udE1ldHJpY3MoZSl7bGV0IHQ9MCxhPU9iamVjdC5jcmVhdGUobnVsbCkscj0hMTtsZXQgaT1ScigpW2VdfHxlO2NvbnN0IG49WHIoKTtpIGluIG58fChpPXRoaXMuaXNTZXJpZkZvbnQoZSk/IlRpbWVzLVJvbWFuIjoiSGVsdmV0aWNhIik7Y29uc3Qgcz1uW2ldO2lmKCJudW1iZXIiPT10eXBlb2Ygcyl7dD1zO3I9ITB9ZWxzZSBhPXMoKTtyZXR1cm57ZGVmYXVsdFdpZHRoOnQsbW9ub3NwYWNlOnIsd2lkdGhzOmF9fWJ1aWxkQ2hhckNvZGVUb1dpZHRoKGUsdCl7Y29uc3QgYT1PYmplY3QuY3JlYXRlKG51bGwpLHI9dC5kaWZmZXJlbmNlcyxpPXQuZGVmYXVsdEVuY29kaW5nO2ZvcihsZXQgdD0wO3Q8MjU2O3QrKyl0IGluIHImJmVbclt0XV0/YVt0XT1lW3JbdF1dOnQgaW4gaSYmZVtpW3RdXSYmKGFbdF09ZVtpW3RdXSk7cmV0dXJuIGF9cHJlRXZhbHVhdGVGb250KGUpe2NvbnN0IHQ9ZTtsZXQgYT1lLmdldCgiU3VidHlwZSIpO2lmKCEoYSBpbnN0YW5jZW9mIE5hbWUpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiaW52YWxpZCBmb250IFN1YnR5cGUiKTtsZXQgcixpPSExO2lmKCJUeXBlMCI9PT1hLm5hbWUpe2NvbnN0IHQ9ZS5nZXQoIkRlc2NlbmRhbnRGb250cyIpO2lmKCF0KXRocm93IG5ldyBGb3JtYXRFcnJvcigiRGVzY2VuZGFudCBmb250cyBhcmUgbm90IHNwZWNpZmllZCIpO2lmKCEoKGU9QXJyYXkuaXNBcnJheSh0KT90aGlzLnhyZWYuZmV0Y2hJZlJlZih0WzBdKTp0KWluc3RhbmNlb2YgRGljdCkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJEZXNjZW5kYW50IGZvbnQgaXMgbm90IGEgZGljdGlvbmFyeS4iKTthPWUuZ2V0KCJTdWJ0eXBlIik7aWYoIShhIGluc3RhbmNlb2YgTmFtZSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJpbnZhbGlkIGZvbnQgU3VidHlwZSIpO2k9ITB9bGV0IG49ZS5nZXQoIkZpcnN0Q2hhciIpO051bWJlci5pc0ludGVnZXIobil8fChuPTApO2xldCBzPWUuZ2V0KCJMYXN0Q2hhciIpO051bWJlci5pc0ludGVnZXIocyl8fChzPWk/NjU1MzU6MjU1KTtjb25zdCBvPWUuZ2V0KCJGb250RGVzY3JpcHRvciIpLGM9ZS5nZXQoIlRvVW5pY29kZSIpfHx0LmdldCgiVG9Vbmljb2RlIik7aWYobyl7cj1uZXcgTXVybXVySGFzaDNfNjQ7Y29uc3QgYT10LmdldFJhdygiRW5jb2RpbmciKTtpZihhIGluc3RhbmNlb2YgTmFtZSlyLnVwZGF0ZShhLm5hbWUpO2Vsc2UgaWYoYSBpbnN0YW5jZW9mIFJlZilyLnVwZGF0ZShhLnRvU3RyaW5nKCkpO2Vsc2UgaWYoYSBpbnN0YW5jZW9mIERpY3QpZm9yKGNvbnN0IGUgb2YgYS5nZXRSYXdWYWx1ZXMoKSlpZihlIGluc3RhbmNlb2YgTmFtZSlyLnVwZGF0ZShlLm5hbWUpO2Vsc2UgaWYoZSBpbnN0YW5jZW9mIFJlZilyLnVwZGF0ZShlLnRvU3RyaW5nKCkpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShlKSl7Y29uc3QgdD1lLmxlbmd0aCxhPW5ldyBBcnJheSh0KTtmb3IobGV0IHI9MDtyPHQ7cisrKXtjb25zdCB0PWVbcl07dCBpbnN0YW5jZW9mIE5hbWU/YVtyXT10Lm5hbWU6KCJudW1iZXIiPT10eXBlb2YgdHx8dCBpbnN0YW5jZW9mIFJlZikmJihhW3JdPXQudG9TdHJpbmcoKSl9ci51cGRhdGUoYS5qb2luKCkpfXIudXBkYXRlKGAke259LSR7c31gKTtpZihjIGluc3RhbmNlb2YgQmFzZVN0cmVhbSl7Y29uc3QgZT1jLnN0cnx8Yyx0PWUuYnVmZmVyP25ldyBVaW50OEFycmF5KGUuYnVmZmVyLmJ1ZmZlciwwLGUuYnVmZmVyTGVuZ3RoKTpuZXcgVWludDhBcnJheShlLmJ5dGVzLmJ1ZmZlcixlLnN0YXJ0LGUuZW5kLWUuc3RhcnQpO3IudXBkYXRlKHQpfWVsc2UgYyBpbnN0YW5jZW9mIE5hbWUmJnIudXBkYXRlKGMubmFtZSk7Y29uc3Qgbz1lLmdldCgiV2lkdGhzIil8fHQuZ2V0KCJXaWR0aHMiKTtpZihBcnJheS5pc0FycmF5KG8pKXtjb25zdCBlPVtdO2Zvcihjb25zdCB0IG9mIG8pKCJudW1iZXIiPT10eXBlb2YgdHx8dCBpbnN0YW5jZW9mIFJlZikmJmUucHVzaCh0LnRvU3RyaW5nKCkpO3IudXBkYXRlKGUuam9pbigpKX1pZihpKXtyLnVwZGF0ZSgiY29tcG9zaXRlRm9udCIpO2NvbnN0IGE9ZS5nZXQoIlciKXx8dC5nZXQoIlciKTtpZihBcnJheS5pc0FycmF5KGEpKXtjb25zdCBlPVtdO2Zvcihjb25zdCB0IG9mIGEpaWYoIm51bWJlciI9PXR5cGVvZiB0fHx0IGluc3RhbmNlb2YgUmVmKWUucHVzaCh0LnRvU3RyaW5nKCkpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheSh0KSl7Y29uc3QgYT1bXTtmb3IoY29uc3QgZSBvZiB0KSgibnVtYmVyIj09dHlwZW9mIGV8fGUgaW5zdGFuY2VvZiBSZWYpJiZhLnB1c2goZS50b1N0cmluZygpKTtlLnB1c2goYFske2Euam9pbigpfV1gKX1yLnVwZGF0ZShlLmpvaW4oKSl9Y29uc3QgaT1lLmdldFJhdygiQ0lEVG9HSURNYXAiKXx8dC5nZXRSYXcoIkNJRFRvR0lETWFwIik7aSBpbnN0YW5jZW9mIE5hbWU/ci51cGRhdGUoaS5uYW1lKTppIGluc3RhbmNlb2YgUmVmP3IudXBkYXRlKGkudG9TdHJpbmcoKSk6aSBpbnN0YW5jZW9mIEJhc2VTdHJlYW0mJnIudXBkYXRlKGkucGVla0J5dGVzKCkpfX1yZXR1cm57ZGVzY3JpcHRvcjpvLGRpY3Q6ZSxiYXNlRGljdDp0LGNvbXBvc2l0ZTppLHR5cGU6YS5uYW1lLGZpcnN0Q2hhcjpuLGxhc3RDaGFyOnMsdG9Vbmljb2RlOmMsaGFzaDpyP3IuaGV4ZGlnZXN0KCk6IiJ9fWFzeW5jIHRyYW5zbGF0ZUZvbnQoe2Rlc2NyaXB0b3I6ZSxkaWN0OmEsYmFzZURpY3Q6cixjb21wb3NpdGU6aSx0eXBlOm4sZmlyc3RDaGFyOnMsbGFzdENoYXI6byx0b1VuaWNvZGU6Yyxjc3NGb250SW5mbzpsfSl7Y29uc3QgaD0iVHlwZTMiPT09bjtpZighZSl7aWYoIWgpe2xldCBlPWEuZ2V0KCJCYXNlRm9udCIpO2lmKCEoZSBpbnN0YW5jZW9mIE5hbWUpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiQmFzZSBmb250IGlzIG5vdCBzcGVjaWZpZWQiKTtlPWUubmFtZS5yZXBsYWNlQWxsKC9bLF9dL2csIi0iKTtjb25zdCB0PXRoaXMuZ2V0QmFzZUZvbnRNZXRyaWNzKGUpLGk9ZS5zcGxpdCgiLSIsMSlbMF0sbD0odGhpcy5pc1NlcmlmRm9udChpKT9icjowKXwodC5tb25vc3BhY2U/bXI6MCl8KExyKClbaV0/eXI6d3IpLHU9e3R5cGU6bixuYW1lOmUsbG9hZGVkTmFtZTpyLmxvYWRlZE5hbWUsc3lzdGVtRm9udEluZm86bnVsbCx3aWR0aHM6dC53aWR0aHMsZGVmYXVsdFdpZHRoOnQuZGVmYXVsdFdpZHRoLGlzU2ltdWxhdGVkRmxhZ3M6ITAsZmxhZ3M6bCxmaXJzdENoYXI6cyxsYXN0Q2hhcjpvLHRvVW5pY29kZTpjLHhIZWlnaHQ6MCxjYXBIZWlnaHQ6MCxpdGFsaWNBbmdsZTowLGlzVHlwZTNGb250Omh9LGQ9YS5nZXQoIldpZHRocyIpLGY9Z2V0U3RhbmRhcmRGb250TmFtZShlKTtsZXQgZz1udWxsO2lmKGYpe2c9YXdhaXQgdGhpcy5mZXRjaFN0YW5kYXJkRm9udERhdGEoZik7dS5pc0ludGVybmFsRm9udD0hIWd9IXUuaXNJbnRlcm5hbEZvbnQmJnRoaXMub3B0aW9ucy51c2VTeXN0ZW1Gb250cyYmKHUuc3lzdGVtRm9udEluZm89Z2V0Rm9udFN1YnN0aXR1dGlvbih0aGlzLnN5c3RlbUZvbnRDYWNoZSx0aGlzLmlkRmFjdG9yeSx0aGlzLm9wdGlvbnMuc3RhbmRhcmRGb250RGF0YVVybCxlLGYsbikpO2NvbnN0IHA9YXdhaXQgdGhpcy5leHRyYWN0RGF0YVN0cnVjdHVyZXMoYSx1KTtpZihBcnJheS5pc0FycmF5KGQpKXtjb25zdCBlPVtdO2xldCB0PXM7Zm9yKGNvbnN0IGEgb2YgZCl7Y29uc3Qgcj10aGlzLnhyZWYuZmV0Y2hJZlJlZihhKTsibnVtYmVyIj09dHlwZW9mIHImJihlW3RdPXIpO3QrK31wLndpZHRocz1lfWVsc2UgcC53aWR0aHM9dGhpcy5idWlsZENoYXJDb2RlVG9XaWR0aCh0LndpZHRocyxwKTtyZXR1cm4gbmV3IEZvbnQoZSxnLHAsdGhpcy5vcHRpb25zKX1lPURpY3QuZW1wdHl9bGV0IHU9ZS5nZXQoIkZvbnROYW1lIiksZD1hLmdldCgiQmFzZUZvbnQiKTsic3RyaW5nIj09dHlwZW9mIHUmJih1PU5hbWUuZ2V0KHUpKTsic3RyaW5nIj09dHlwZW9mIGQmJihkPU5hbWUuZ2V0KGQpKTtjb25zdCBmPXU/Lm5hbWUsZz1kPy5uYW1lO2lmKGgpZnx8KHU9TmFtZS5nZXQobikpO2Vsc2UgaWYoZiE9PWcpe2luZm8oYFRoZSBGb250RGVzY3JpcHRvcidzIEZvbnROYW1lIGlzICIke2Z9IiBidXQgc2hvdWxkIGJlIHRoZSBzYW1lIGFzIHRoZSBGb250J3MgQmFzZUZvbnQgIiR7Z30iLmApO2YmJmcmJihnLnN0YXJ0c1dpdGgoZil8fCFpc0tub3duRm9udE5hbWUoZikmJmlzS25vd25Gb250TmFtZShnKSkmJih1PW51bGwpO3V8fD1kfWlmKCEodSBpbnN0YW5jZW9mIE5hbWUpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiaW52YWxpZCBmb250IG5hbWUiKTtsZXQgcCxtLGIseSx3O3RyeXtwPWUuZ2V0KCJGb250RmlsZSIsIkZvbnRGaWxlMiIsIkZvbnRGaWxlMyIpO2lmKHApe2lmKCEocCBpbnN0YW5jZW9mIEJhc2VTdHJlYW0pKXRocm93IG5ldyBGb3JtYXRFcnJvcigiRm9udEZpbGUgc2hvdWxkIGJlIGEgc3RyZWFtIik7aWYocC5pc0VtcHR5KXRocm93IG5ldyBGb3JtYXRFcnJvcigiRm9udEZpbGUgaXMgZW1wdHkiKX19Y2F0Y2goZSl7aWYoIXRoaXMub3B0aW9ucy5pZ25vcmVFcnJvcnMpdGhyb3cgZTt3YXJuKGB0cmFuc2xhdGVGb250IC0gZmV0Y2hpbmcgIiR7dS5uYW1lfSIgZm9udCBmaWxlOiAiJHtlfSIuYCk7cD1udWxsfWxldCB4PSExLFM9bnVsbCxrPW51bGw7aWYocCl7aWYocC5kaWN0KXtjb25zdCBlPXAuZGljdC5nZXQoIlN1YnR5cGUiKTtlIGluc3RhbmNlb2YgTmFtZSYmKG09ZS5uYW1lKTtiPXAuZGljdC5nZXQoIkxlbmd0aDEiKTt5PXAuZGljdC5nZXQoIkxlbmd0aDIiKTt3PXAuZGljdC5nZXQoIkxlbmd0aDMiKX19ZWxzZSBpZihsKXtjb25zdCBlPWdldFhmYUZvbnROYW1lKHUubmFtZSk7aWYoZSl7bC5mb250RmFtaWx5PWAke2wuZm9udEZhbWlseX0tUGRmSlMtWEZBYDtsLm1ldHJpY3M9ZS5tZXRyaWNzfHxudWxsO1M9ZS5mYWN0b3JzfHxudWxsO3A9YXdhaXQgdGhpcy5mZXRjaFN0YW5kYXJkRm9udERhdGEoZS5uYW1lKTt4PSEhcDtyPWE9Z2V0WGZhRm9udERpY3QodS5uYW1lKTtpPSEwfX1lbHNlIGlmKCFoKXtjb25zdCBlPWdldFN0YW5kYXJkRm9udE5hbWUodS5uYW1lKTtpZihlKXtwPWF3YWl0IHRoaXMuZmV0Y2hTdGFuZGFyZEZvbnREYXRhKGUpO3g9ISFwfSF4JiZ0aGlzLm9wdGlvbnMudXNlU3lzdGVtRm9udHMmJihrPWdldEZvbnRTdWJzdGl0dXRpb24odGhpcy5zeXN0ZW1Gb250Q2FjaGUsdGhpcy5pZEZhY3RvcnksdGhpcy5vcHRpb25zLnN0YW5kYXJkRm9udERhdGFVcmwsdS5uYW1lLGUsbikpfWNvbnN0IEM9bG9va3VwTWF0cml4KGEuZ2V0QXJyYXkoIkZvbnRNYXRyaXgiKSx0KSx2PWxvb2t1cE5vcm1hbFJlY3QoZS5nZXRBcnJheSgiRm9udEJCb3giKXx8YS5nZXRBcnJheSgiRm9udEJCb3giKSxoP1swLDAsMCwwXTp2b2lkIDApO2xldCBGPWUuZ2V0KCJBc2NlbnQiKTsibnVtYmVyIiE9dHlwZW9mIEYmJihGPXZvaWQgMCk7bGV0IFQ9ZS5nZXQoIkRlc2NlbnQiKTsibnVtYmVyIiE9dHlwZW9mIFQmJihUPXZvaWQgMCk7bGV0IE89ZS5nZXQoIlhIZWlnaHQiKTsibnVtYmVyIiE9dHlwZW9mIE8mJihPPTApO2xldCBNPWUuZ2V0KCJDYXBIZWlnaHQiKTsibnVtYmVyIiE9dHlwZW9mIE0mJihNPTApO2xldCBEPWUuZ2V0KCJGbGFncyIpO051bWJlci5pc0ludGVnZXIoRCl8fChEPTApO2xldCBSPWUuZ2V0KCJJdGFsaWNBbmdsZSIpOyJudW1iZXIiIT10eXBlb2YgUiYmKFI9MCk7Y29uc3QgTj17dHlwZTpuLG5hbWU6dS5uYW1lLHN1YnR5cGU6bSxmaWxlOnAsbGVuZ3RoMTpiLGxlbmd0aDI6eSxsZW5ndGgzOncsaXNJbnRlcm5hbEZvbnQ6eCxsb2FkZWROYW1lOnIubG9hZGVkTmFtZSxjb21wb3NpdGU6aSxmaXhlZFBpdGNoOiExLGZvbnRNYXRyaXg6QyxmaXJzdENoYXI6cyxsYXN0Q2hhcjpvLHRvVW5pY29kZTpjLGJib3g6dixhc2NlbnQ6RixkZXNjZW50OlQseEhlaWdodDpPLGNhcEhlaWdodDpNLGZsYWdzOkQsaXRhbGljQW5nbGU6Uixpc1R5cGUzRm9udDpoLGNzc0ZvbnRJbmZvOmwsc2NhbGVGYWN0b3JzOlMsc3lzdGVtRm9udEluZm86a307aWYoaSl7Y29uc3QgZT1yLmdldCgiRW5jb2RpbmciKTtlIGluc3RhbmNlb2YgTmFtZSYmKE4uY2lkRW5jb2Rpbmc9ZS5uYW1lKTtjb25zdCB0PWF3YWl0IENNYXBGYWN0b3J5LmNyZWF0ZSh7ZW5jb2Rpbmc6ZSxmZXRjaEJ1aWx0SW5DTWFwOnRoaXMuX2ZldGNoQnVpbHRJbkNNYXBCb3VuZCx1c2VDTWFwOm51bGx9KTtOLmNNYXA9dDtOLnZlcnRpY2FsPU4uY01hcC52ZXJ0aWNhbH1jb25zdCBFPWF3YWl0IHRoaXMuZXh0cmFjdERhdGFTdHJ1Y3R1cmVzKGEsTik7dGhpcy5leHRyYWN0V2lkdGhzKGEsZSxFKTtyZXR1cm4gbmV3IEZvbnQodS5uYW1lLHAsRSx0aGlzLm9wdGlvbnMpfXN0YXRpYyBidWlsZEZvbnRQYXRocyhlLHQsYSxyKXtmdW5jdGlvbiBidWlsZFBhdGgodCl7Y29uc3QgaT1gJHtlLmxvYWRlZE5hbWV9X3BhdGhfJHt0fWA7dHJ5e2lmKGUucmVuZGVyZXIuaGFzQnVpbHRQYXRoKHQpKXJldHVybjthLnNlbmQoImNvbW1vbm9iaiIsW2ksIkZvbnRQYXRoIixlLnJlbmRlcmVyLmdldFBhdGhKcyh0KV0pfWNhdGNoKGUpe2lmKHIuaWdub3JlRXJyb3JzKXt3YXJuKGBidWlsZEZvbnRQYXRocyAtIGlnbm9yaW5nICR7aX0gZ2x5cGg6ICIke2V9Ii5gKTtyZXR1cm59dGhyb3cgZX19Zm9yKGNvbnN0IGUgb2YgdCl7YnVpbGRQYXRoKGUuZm9udENoYXIpO2NvbnN0IHQ9ZS5hY2NlbnQ7dD8uZm9udENoYXImJmJ1aWxkUGF0aCh0LmZvbnRDaGFyKX19c3RhdGljIGdldCBmYWxsYmFja0ZvbnREaWN0KCl7Y29uc3QgZT1uZXcgRGljdDtlLnNldCgiQmFzZUZvbnQiLE5hbWUuZ2V0KCJIZWx2ZXRpY2EiKSk7ZS5zZXQoIlR5cGUiLE5hbWUuZ2V0KCJGYWxsYmFja1R5cGUiKSk7ZS5zZXQoIlN1YnR5cGUiLE5hbWUuZ2V0KCJGYWxsYmFja1R5cGUiKSk7ZS5zZXQoIkVuY29kaW5nIixOYW1lLmdldCgiV2luQW5zaUVuY29kaW5nIikpO3JldHVybiBzaGFkb3codGhpcywiZmFsbGJhY2tGb250RGljdCIsZSl9fWNsYXNzIFRyYW5zbGF0ZWRGb250eyNHPSExOyNWPW51bGw7Y29uc3RydWN0b3Ioe2xvYWRlZE5hbWU6ZSxmb250OnQsZGljdDphfSl7dGhpcy5sb2FkZWROYW1lPWU7dGhpcy5mb250PXQ7dGhpcy5kaWN0PWE7dGhpcy50eXBlM0RlcGVuZGVuY2llcz10LmlzVHlwZTNGb250P25ldyBTZXQ6bnVsbH1zZW5kKGUpe2lmKCF0aGlzLiNHKXt0aGlzLiNHPSEwO2Uuc2VuZCgiY29tbW9ub2JqIixbdGhpcy5sb2FkZWROYW1lLCJGb250Iix0aGlzLmZvbnQuZXhwb3J0RGF0YSgpXSl9fWZhbGxiYWNrKGUsdCl7aWYodGhpcy5mb250LmRhdGEpe3RoaXMuZm9udC5kaXNhYmxlRm9udEZhY2U9ITA7UGFydGlhbEV2YWx1YXRvci5idWlsZEZvbnRQYXRocyh0aGlzLmZvbnQsdGhpcy5mb250LmdseXBoQ2FjaGVWYWx1ZXMsZSx0KX19bG9hZFR5cGUzRGF0YShlLHQsYSl7aWYodGhpcy4jVilyZXR1cm4gdGhpcy4jVjtjb25zdHtmb250OnIsdHlwZTNEZXBlbmRlbmNpZXM6aX09dGhpczthc3NlcnQoci5pc1R5cGUzRm9udCwiTXVzdCBiZSBhIFR5cGUzIGZvbnQuIik7Y29uc3Qgbj1lLmNsb25lKHtpZ25vcmVFcnJvcnM6ITF9KSxzPW5ldyBSZWZTZXQoZS50eXBlM0ZvbnRSZWZzKTt0aGlzLmRpY3Qub2JqSWQmJiFzLmhhcyh0aGlzLmRpY3Qub2JqSWQpJiZzLnB1dCh0aGlzLmRpY3Qub2JqSWQpO24udHlwZTNGb250UmVmcz1zO2xldCBvPVByb21pc2UucmVzb2x2ZSgpO2NvbnN0IGM9dGhpcy5kaWN0LmdldCgiQ2hhclByb2NzIiksbD10aGlzLmRpY3QuZ2V0KCJSZXNvdXJjZXMiKXx8dCxoPU9iamVjdC5jcmVhdGUobnVsbCksW3UsZCxmLGddPXIuYmJveCxwPWYtdSxtPWctZCxiPU1hdGguaHlwb3QocCxtKTtmb3IoY29uc3QgZSBvZiBjLmdldEtleXMoKSlvPW8udGhlbigoKCk9Pntjb25zdCB0PWMuZ2V0KGUpLHI9bmV3IE9wZXJhdG9yTGlzdDtyZXR1cm4gbi5nZXRPcGVyYXRvckxpc3Qoe3N0cmVhbTp0LHRhc2s6YSxyZXNvdXJjZXM6bCxvcGVyYXRvckxpc3Q6cn0pLnRoZW4oKCgpPT57c3dpdGNoKHIuZm5BcnJheVswXSl7Y2FzZSBldDp0aGlzLiNLKHIsYik7YnJlYWs7Y2FzZSBRZTpifHx0aGlzLiNKKHIpfWhbZV09ci5nZXRJUigpO2Zvcihjb25zdCBlIG9mIHIuZGVwZW5kZW5jaWVzKWkuYWRkKGUpfSkpLmNhdGNoKChmdW5jdGlvbih0KXt3YXJuKGBUeXBlMyBmb250IHJlc291cmNlICIke2V9IiBpcyBub3QgYXZhaWxhYmxlLmApO2NvbnN0IGE9bmV3IE9wZXJhdG9yTGlzdDtoW2VdPWEuZ2V0SVIoKX0pKX0pKTt0aGlzLiNWPW8udGhlbigoKCk9PntyLmNoYXJQcm9jT3BlcmF0b3JMaXN0PWg7aWYodGhpcy5fYmJveCl7ci5pc0NoYXJCQm94PSEwO3IuYmJveD10aGlzLl9iYm94fX0pKTtyZXR1cm4gdGhpcy4jVn0jSyhlLHQ9TmFOKXtjb25zdCBhPVV0aWwubm9ybWFsaXplUmVjdChlLmFyZ3NBcnJheVswXS5zbGljZSgyKSkscj1hWzJdLWFbMF0saT1hWzNdLWFbMV0sbj1NYXRoLmh5cG90KHIsaSk7aWYoMD09PXJ8fDA9PT1pKXtlLmZuQXJyYXkuc3BsaWNlKDAsMSk7ZS5hcmdzQXJyYXkuc3BsaWNlKDAsMSl9ZWxzZSBpZigwPT09dHx8TWF0aC5yb3VuZChuL3QpPj0xMCl7dGhpcy5fYmJveD8/PVsxLzAsMS8wLC0xLzAsLTEvMF07VXRpbC5yZWN0Qm91bmRpbmdCb3goLi4uYSx0aGlzLl9iYm94KX1sZXQgcz0wLG89ZS5sZW5ndGg7Zm9yKDtzPG87KXtzd2l0Y2goZS5mbkFycmF5W3NdKXtjYXNlIGV0OmJyZWFrO2Nhc2UgdHQ6Y2FzZSBhdDpjYXNlIHJ0OmNhc2UgaXQ6Y2FzZSBudDpjYXNlIHN0OmNhc2Ugb3Q6Y2FzZSBjdDpjYXNlIGx0OmNhc2UgaHQ6Y2FzZSB1dDpjYXNlIGR0OmNhc2UgZnQ6Y2FzZSBkZTplLmZuQXJyYXkuc3BsaWNlKHMsMSk7ZS5hcmdzQXJyYXkuc3BsaWNlKHMsMSk7by0tO2NvbnRpbnVlO2Nhc2UgZ2U6Y29uc3RbdF09ZS5hcmdzQXJyYXlbc107bGV0IGE9MCxyPXQubGVuZ3RoO2Zvcig7YTxyOyl7Y29uc3RbZV09dFthXTtzd2l0Y2goZSl7Y2FzZSJUUiI6Y2FzZSJUUjIiOmNhc2UiSFQiOmNhc2UiQkciOmNhc2UiQkcyIjpjYXNlIlVDUiI6Y2FzZSJVQ1IyIjp0LnNwbGljZShhLDEpO3ItLTtjb250aW51ZX1hKyt9fXMrK319I0ooZSl7bGV0IHQ9MTtjb25zdCBhPWUubGVuZ3RoO2Zvcig7dDxhOyl7aWYoZS5mbkFycmF5W3RdPT09X3Qpe2NvbnN0IGE9ZS5hcmdzQXJyYXlbdF1bMl07dGhpcy5fYmJveD8/PVsxLzAsMS8wLC0xLzAsLTEvMF07VXRpbC5yZWN0Qm91bmRpbmdCb3goLi4uYSx0aGlzLl9iYm94KX10Kyt9fX1jbGFzcyBTdGF0ZU1hbmFnZXJ7Y29uc3RydWN0b3IoZT1uZXcgRXZhbFN0YXRlKXt0aGlzLnN0YXRlPWU7dGhpcy5zdGF0ZVN0YWNrPVtdfXNhdmUoKXtjb25zdCBlPXRoaXMuc3RhdGU7dGhpcy5zdGF0ZVN0YWNrLnB1c2godGhpcy5zdGF0ZSk7dGhpcy5zdGF0ZT1lLmNsb25lKCl9cmVzdG9yZSgpe2NvbnN0IGU9dGhpcy5zdGF0ZVN0YWNrLnBvcCgpO2UmJih0aGlzLnN0YXRlPWUpfXRyYW5zZm9ybShlKXt0aGlzLnN0YXRlLmN0bT1VdGlsLnRyYW5zZm9ybSh0aGlzLnN0YXRlLmN0bSxlKX19Y2xhc3MgVGV4dFN0YXRle2NvbnN0cnVjdG9yKCl7dGhpcy5jdG09bmV3IEZsb2F0MzJBcnJheShsYSk7dGhpcy5mb250TmFtZT1udWxsO3RoaXMuZm9udFNpemU9MDt0aGlzLmxvYWRlZE5hbWU9bnVsbDt0aGlzLmZvbnQ9bnVsbDt0aGlzLmZvbnRNYXRyaXg9dDt0aGlzLnRleHRNYXRyaXg9bGEuc2xpY2UoKTt0aGlzLnRleHRMaW5lTWF0cml4PWxhLnNsaWNlKCk7dGhpcy5jaGFyU3BhY2luZz0wO3RoaXMud29yZFNwYWNpbmc9MDt0aGlzLmxlYWRpbmc9MDt0aGlzLnRleHRIU2NhbGU9MTt0aGlzLnRleHRSaXNlPTB9c2V0VGV4dE1hdHJpeChlLHQsYSxyLGksbil7Y29uc3Qgcz10aGlzLnRleHRNYXRyaXg7c1swXT1lO3NbMV09dDtzWzJdPWE7c1szXT1yO3NbNF09aTtzWzVdPW59c2V0VGV4dExpbmVNYXRyaXgoZSx0LGEscixpLG4pe2NvbnN0IHM9dGhpcy50ZXh0TGluZU1hdHJpeDtzWzBdPWU7c1sxXT10O3NbMl09YTtzWzNdPXI7c1s0XT1pO3NbNV09bn10cmFuc2xhdGVUZXh0TWF0cml4KGUsdCl7Y29uc3QgYT10aGlzLnRleHRNYXRyaXg7YVs0XT1hWzBdKmUrYVsyXSp0K2FbNF07YVs1XT1hWzFdKmUrYVszXSp0K2FbNV19dHJhbnNsYXRlVGV4dExpbmVNYXRyaXgoZSx0KXtjb25zdCBhPXRoaXMudGV4dExpbmVNYXRyaXg7YVs0XT1hWzBdKmUrYVsyXSp0K2FbNF07YVs1XT1hWzFdKmUrYVszXSp0K2FbNV19Y2FycmlhZ2VSZXR1cm4oKXt0aGlzLnRyYW5zbGF0ZVRleHRMaW5lTWF0cml4KDAsLXRoaXMubGVhZGluZyk7dGhpcy50ZXh0TWF0cml4PXRoaXMudGV4dExpbmVNYXRyaXguc2xpY2UoKX1jbG9uZSgpe2NvbnN0IGU9T2JqZWN0LmNyZWF0ZSh0aGlzKTtlLnRleHRNYXRyaXg9dGhpcy50ZXh0TWF0cml4LnNsaWNlKCk7ZS50ZXh0TGluZU1hdHJpeD10aGlzLnRleHRMaW5lTWF0cml4LnNsaWNlKCk7ZS5mb250TWF0cml4PXRoaXMuZm9udE1hdHJpeC5zbGljZSgpO3JldHVybiBlfX1jbGFzcyBFdmFsU3RhdGV7Y29uc3RydWN0b3IoKXt0aGlzLmN0bT1uZXcgRmxvYXQzMkFycmF5KGxhKTt0aGlzLmZvbnQ9bnVsbDt0aGlzLnRleHRSZW5kZXJpbmdNb2RlPXg7dGhpcy5fZmlsbENvbG9yU3BhY2U9dGhpcy5fc3Ryb2tlQ29sb3JTcGFjZT1Db2xvclNwYWNlVXRpbHMuZ3JheTt0aGlzLnBhdHRlcm5GaWxsQ29sb3JTcGFjZT1udWxsO3RoaXMucGF0dGVyblN0cm9rZUNvbG9yU3BhY2U9bnVsbDt0aGlzLmN1cnJlbnRQb2ludFg9dGhpcy5jdXJyZW50UG9pbnRZPTA7dGhpcy5wYXRoTWluTWF4PW5ldyBGbG9hdDMyQXJyYXkoWzEvMCwxLzAsLTEvMCwtMS8wXSk7dGhpcy5wYXRoQnVmZmVyPVtdfWdldCBmaWxsQ29sb3JTcGFjZSgpe3JldHVybiB0aGlzLl9maWxsQ29sb3JTcGFjZX1zZXQgZmlsbENvbG9yU3BhY2UoZSl7dGhpcy5fZmlsbENvbG9yU3BhY2U9dGhpcy5wYXR0ZXJuRmlsbENvbG9yU3BhY2U9ZX1nZXQgc3Ryb2tlQ29sb3JTcGFjZSgpe3JldHVybiB0aGlzLl9zdHJva2VDb2xvclNwYWNlfXNldCBzdHJva2VDb2xvclNwYWNlKGUpe3RoaXMuX3N0cm9rZUNvbG9yU3BhY2U9dGhpcy5wYXR0ZXJuU3Ryb2tlQ29sb3JTcGFjZT1lfWNsb25lKHtuZXdQYXRoOmU9ITF9PXt9KXtjb25zdCB0PU9iamVjdC5jcmVhdGUodGhpcyk7aWYoZSl7dC5wYXRoQnVmZmVyPVtdO3QucGF0aE1pbk1heD1uZXcgRmxvYXQzMkFycmF5KFsxLzAsMS8wLC0xLzAsLTEvMF0pfXJldHVybiB0fX1jbGFzcyBFdmFsdWF0b3JQcmVwcm9jZXNzb3J7c3RhdGljIGdldCBvcE1hcCgpe3JldHVybiBzaGFkb3codGhpcywib3BNYXAiLE9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShudWxsKSx7dzp7aWQ6b2UsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0sSjp7aWQ6Y2UsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0sajp7aWQ6bGUsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0sTTp7aWQ6aGUsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0sZDp7aWQ6dWUsbnVtQXJnczoyLHZhcmlhYmxlQXJnczohMX0scmk6e2lkOmRlLG51bUFyZ3M6MSx2YXJpYWJsZUFyZ3M6ITF9LGk6e2lkOmZlLG51bUFyZ3M6MSx2YXJpYWJsZUFyZ3M6ITF9LGdzOntpZDpnZSxudW1BcmdzOjEsdmFyaWFibGVBcmdzOiExfSxxOntpZDpwZSxudW1BcmdzOjAsdmFyaWFibGVBcmdzOiExfSxROntpZDptZSxudW1BcmdzOjAsdmFyaWFibGVBcmdzOiExfSxjbTp7aWQ6YmUsbnVtQXJnczo2LHZhcmlhYmxlQXJnczohMX0sbTp7aWQ6eWUsbnVtQXJnczoyLHZhcmlhYmxlQXJnczohMX0sbDp7aWQ6d2UsbnVtQXJnczoyLHZhcmlhYmxlQXJnczohMX0sYzp7aWQ6eGUsbnVtQXJnczo2LHZhcmlhYmxlQXJnczohMX0sdjp7aWQ6U2UsbnVtQXJnczo0LHZhcmlhYmxlQXJnczohMX0seTp7aWQ6QWUsbnVtQXJnczo0LHZhcmlhYmxlQXJnczohMX0saDp7aWQ6a2UsbnVtQXJnczowLHZhcmlhYmxlQXJnczohMX0scmU6e2lkOkNlLG51bUFyZ3M6NCx2YXJpYWJsZUFyZ3M6ITF9LFM6e2lkOnZlLG51bUFyZ3M6MCx2YXJpYWJsZUFyZ3M6ITF9LHM6e2lkOkZlLG51bUFyZ3M6MCx2YXJpYWJsZUFyZ3M6ITF9LGY6e2lkOkllLG51bUFyZ3M6MCx2YXJpYWJsZUFyZ3M6ITF9LEY6e2lkOkllLG51bUFyZ3M6MCx2YXJpYWJsZUFyZ3M6ITF9LCJmKiI6e2lkOlRlLG51bUFyZ3M6MCx2YXJpYWJsZUFyZ3M6ITF9LEI6e2lkOk9lLG51bUFyZ3M6MCx2YXJpYWJsZUFyZ3M6ITF9LCJCKiI6e2lkOk1lLG51bUFyZ3M6MCx2YXJpYWJsZUFyZ3M6ITF9LGI6e2lkOkRlLG51bUFyZ3M6MCx2YXJpYWJsZUFyZ3M6ITF9LCJiKiI6e2lkOkJlLG51bUFyZ3M6MCx2YXJpYWJsZUFyZ3M6ITF9LG46e2lkOlJlLG51bUFyZ3M6MCx2YXJpYWJsZUFyZ3M6ITF9LFc6e2lkOk5lLG51bUFyZ3M6MCx2YXJpYWJsZUFyZ3M6ITF9LCJXKiI6e2lkOkVlLG51bUFyZ3M6MCx2YXJpYWJsZUFyZ3M6ITF9LEJUOntpZDpQZSxudW1BcmdzOjAsdmFyaWFibGVBcmdzOiExfSxFVDp7aWQ6TGUsbnVtQXJnczowLHZhcmlhYmxlQXJnczohMX0sVGM6e2lkOmplLG51bUFyZ3M6MSx2YXJpYWJsZUFyZ3M6ITF9LFR3OntpZDpfZSxudW1BcmdzOjEsdmFyaWFibGVBcmdzOiExfSxUejp7aWQ6VWUsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0sVEw6e2lkOlhlLG51bUFyZ3M6MSx2YXJpYWJsZUFyZ3M6ITF9LFRmOntpZDpxZSxudW1BcmdzOjIsdmFyaWFibGVBcmdzOiExfSxUcjp7aWQ6SGUsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0sVHM6e2lkOldlLG51bUFyZ3M6MSx2YXJpYWJsZUFyZ3M6ITF9LFRkOntpZDp6ZSxudW1BcmdzOjIsdmFyaWFibGVBcmdzOiExfSxURDp7aWQ6JGUsbnVtQXJnczoyLHZhcmlhYmxlQXJnczohMX0sVG06e2lkOkdlLG51bUFyZ3M6Nix2YXJpYWJsZUFyZ3M6ITF9LCJUKiI6e2lkOlZlLG51bUFyZ3M6MCx2YXJpYWJsZUFyZ3M6ITF9LFRqOntpZDpLZSxudW1BcmdzOjEsdmFyaWFibGVBcmdzOiExfSxUSjp7aWQ6SmUsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0sIiciOntpZDpZZSxudW1BcmdzOjEsdmFyaWFibGVBcmdzOiExfSwnIic6e2lkOlplLG51bUFyZ3M6Myx2YXJpYWJsZUFyZ3M6ITF9LGQwOntpZDpRZSxudW1BcmdzOjIsdmFyaWFibGVBcmdzOiExfSxkMTp7aWQ6ZXQsbnVtQXJnczo2LHZhcmlhYmxlQXJnczohMX0sQ1M6e2lkOnR0LG51bUFyZ3M6MSx2YXJpYWJsZUFyZ3M6ITF9LGNzOntpZDphdCxudW1BcmdzOjEsdmFyaWFibGVBcmdzOiExfSxTQzp7aWQ6cnQsbnVtQXJnczo0LHZhcmlhYmxlQXJnczohMH0sU0NOOntpZDppdCxudW1BcmdzOjMzLHZhcmlhYmxlQXJnczohMH0sc2M6e2lkOm50LG51bUFyZ3M6NCx2YXJpYWJsZUFyZ3M6ITB9LHNjbjp7aWQ6c3QsbnVtQXJnczozMyx2YXJpYWJsZUFyZ3M6ITB9LEc6e2lkOm90LG51bUFyZ3M6MSx2YXJpYWJsZUFyZ3M6ITF9LGc6e2lkOmN0LG51bUFyZ3M6MSx2YXJpYWJsZUFyZ3M6ITF9LFJHOntpZDpsdCxudW1BcmdzOjMsdmFyaWFibGVBcmdzOiExfSxyZzp7aWQ6aHQsbnVtQXJnczozLHZhcmlhYmxlQXJnczohMX0sSzp7aWQ6dXQsbnVtQXJnczo0LHZhcmlhYmxlQXJnczohMX0sazp7aWQ6ZHQsbnVtQXJnczo0LHZhcmlhYmxlQXJnczohMX0sc2g6e2lkOmZ0LG51bUFyZ3M6MSx2YXJpYWJsZUFyZ3M6ITF9LEJJOntpZDpndCxudW1BcmdzOjAsdmFyaWFibGVBcmdzOiExfSxJRDp7aWQ6cHQsbnVtQXJnczowLHZhcmlhYmxlQXJnczohMX0sRUk6e2lkOm10LG51bUFyZ3M6MSx2YXJpYWJsZUFyZ3M6ITF9LERvOntpZDpidCxudW1BcmdzOjEsdmFyaWFibGVBcmdzOiExfSxNUDp7aWQ6eXQsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0sRFA6e2lkOnd0LG51bUFyZ3M6Mix2YXJpYWJsZUFyZ3M6ITF9LEJNQzp7aWQ6eHQsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0sQkRDOntpZDpTdCxudW1BcmdzOjIsdmFyaWFibGVBcmdzOiExfSxFTUM6e2lkOkF0LG51bUFyZ3M6MCx2YXJpYWJsZUFyZ3M6ITF9LEJYOntpZDprdCxudW1BcmdzOjAsdmFyaWFibGVBcmdzOiExfSxFWDp7aWQ6Q3QsbnVtQXJnczowLHZhcmlhYmxlQXJnczohMX0sQk06bnVsbCxCRDpudWxsLHRydWU6bnVsbCxmYTpudWxsLGZhbDpudWxsLGZhbHM6bnVsbCxmYWxzZTpudWxsLG51Om51bGwsbnVsOm51bGwsbnVsbDpudWxsfSkpfXN0YXRpYyBNQVhfSU5WQUxJRF9QQVRIX09QUz0xMDtjb25zdHJ1Y3RvcihlLHQsYT1uZXcgU3RhdGVNYW5hZ2VyKXt0aGlzLnBhcnNlcj1uZXcgUGFyc2VyKHtsZXhlcjpuZXcgTGV4ZXIoZSxFdmFsdWF0b3JQcmVwcm9jZXNzb3Iub3BNYXApLHhyZWY6dH0pO3RoaXMuc3RhdGVNYW5hZ2VyPWE7dGhpcy5ub25Qcm9jZXNzZWRBcmdzPVtdO3RoaXMuX2lzUGF0aE9wPSExO3RoaXMuX251bUludmFsaWRQYXRoT1BTPTB9Z2V0IHNhdmVkU3RhdGVzRGVwdGgoKXtyZXR1cm4gdGhpcy5zdGF0ZU1hbmFnZXIuc3RhdGVTdGFjay5sZW5ndGh9cmVhZChlKXtsZXQgdD1lLmFyZ3M7Zm9yKDs7KXtjb25zdCBhPXRoaXMucGFyc2VyLmdldE9iaigpO2lmKGEgaW5zdGFuY2VvZiBDbWQpe2NvbnN0IHI9YS5jbWQsaT1FdmFsdWF0b3JQcmVwcm9jZXNzb3Iub3BNYXBbcl07aWYoIWkpe3dhcm4oYFVua25vd24gY29tbWFuZCAiJHtyfSIuYCk7Y29udGludWV9Y29uc3Qgbj1pLmlkLHM9aS5udW1BcmdzO2xldCBvPW51bGwhPT10P3QubGVuZ3RoOjA7dGhpcy5faXNQYXRoT3B8fCh0aGlzLl9udW1JbnZhbGlkUGF0aE9QUz0wKTt0aGlzLl9pc1BhdGhPcD1uPj15ZSYmbjw9UmU7aWYoaS52YXJpYWJsZUFyZ3Mpbz5zJiZpbmZvKGBDb21tYW5kICR7cn06IGV4cGVjdGVkIFswLCAke3N9XSBhcmdzLCBidXQgcmVjZWl2ZWQgJHtvfSBhcmdzLmApO2Vsc2V7aWYobyE9PXMpe2NvbnN0IGU9dGhpcy5ub25Qcm9jZXNzZWRBcmdzO2Zvcig7bz5zOyl7ZS5wdXNoKHQuc2hpZnQoKSk7by0tfWZvcig7bzxzJiYwIT09ZS5sZW5ndGg7KXtudWxsPT09dCYmKHQ9W10pO3QudW5zaGlmdChlLnBvcCgpKTtvKyt9fWlmKG88cyl7Y29uc3QgZT1gY29tbWFuZCAke3J9OiBleHBlY3RlZCAke3N9IGFyZ3MsIGJ1dCByZWNlaXZlZCAke299IGFyZ3MuYDtpZih0aGlzLl9pc1BhdGhPcCYmKyt0aGlzLl9udW1JbnZhbGlkUGF0aE9QUz5FdmFsdWF0b3JQcmVwcm9jZXNzb3IuTUFYX0lOVkFMSURfUEFUSF9PUFMpdGhyb3cgbmV3IEZvcm1hdEVycm9yKGBJbnZhbGlkICR7ZX1gKTt3YXJuKGBTa2lwcGluZyAke2V9YCk7bnVsbCE9PXQmJih0Lmxlbmd0aD0wKTtjb250aW51ZX19dGhpcy5wcmVwcm9jZXNzQ29tbWFuZChuLHQpO2UuZm49bjtlLmFyZ3M9dDtyZXR1cm4hMH1pZihhPT09YWEpcmV0dXJuITE7aWYobnVsbCE9PWEpe251bGw9PT10JiYodD1bXSk7dC5wdXNoKGEpO2lmKHQubGVuZ3RoPjMzKXRocm93IG5ldyBGb3JtYXRFcnJvcigiVG9vIG1hbnkgYXJndW1lbnRzIil9fX1wcmVwcm9jZXNzQ29tbWFuZChlLHQpe3N3aXRjaCgwfGUpe2Nhc2UgcGU6dGhpcy5zdGF0ZU1hbmFnZXIuc2F2ZSgpO2JyZWFrO2Nhc2UgbWU6dGhpcy5zdGF0ZU1hbmFnZXIucmVzdG9yZSgpO2JyZWFrO2Nhc2UgYmU6dGhpcy5zdGF0ZU1hbmFnZXIudHJhbnNmb3JtKHQpfX19Y2xhc3MgRGVmYXVsdEFwcGVhcmFuY2VFdmFsdWF0b3IgZXh0ZW5kcyBFdmFsdWF0b3JQcmVwcm9jZXNzb3J7Y29uc3RydWN0b3IoZSl7c3VwZXIobmV3IFN0cmluZ1N0cmVhbShlKSl9cGFyc2UoKXtjb25zdCBlPXtmbjowLGFyZ3M6W119LHQ9e2ZvbnRTaXplOjAsZm9udE5hbWU6IiIsZm9udENvbG9yOm5ldyBVaW50OENsYW1wZWRBcnJheSgzKX07dHJ5e2Zvcig7Oyl7ZS5hcmdzLmxlbmd0aD0wO2lmKCF0aGlzLnJlYWQoZSkpYnJlYWs7aWYoMCE9PXRoaXMuc2F2ZWRTdGF0ZXNEZXB0aCljb250aW51ZTtjb25zdHtmbjphLGFyZ3M6cn09ZTtzd2l0Y2goMHxhKXtjYXNlIHFlOmNvbnN0W2UsYV09cjtlIGluc3RhbmNlb2YgTmFtZSYmKHQuZm9udE5hbWU9ZS5uYW1lKTsibnVtYmVyIj09dHlwZW9mIGEmJmE+MCYmKHQuZm9udFNpemU9YSk7YnJlYWs7Y2FzZSBodDpDb2xvclNwYWNlVXRpbHMucmdiLmdldFJnYkl0ZW0ociwwLHQuZm9udENvbG9yLDApO2JyZWFrO2Nhc2UgY3Q6Q29sb3JTcGFjZVV0aWxzLmdyYXkuZ2V0UmdiSXRlbShyLDAsdC5mb250Q29sb3IsMCk7YnJlYWs7Y2FzZSBkdDpDb2xvclNwYWNlVXRpbHMuY215ay5nZXRSZ2JJdGVtKHIsMCx0LmZvbnRDb2xvciwwKX19fWNhdGNoKGUpe3dhcm4oYHBhcnNlRGVmYXVsdEFwcGVhcmFuY2UgLSBpZ25vcmluZyBlcnJvcnM6ICIke2V9Ii5gKX1yZXR1cm4gdH19ZnVuY3Rpb24gcGFyc2VEZWZhdWx0QXBwZWFyYW5jZShlKXtyZXR1cm4gbmV3IERlZmF1bHRBcHBlYXJhbmNlRXZhbHVhdG9yKGUpLnBhcnNlKCl9Y2xhc3MgQXBwZWFyYW5jZVN0cmVhbUV2YWx1YXRvciBleHRlbmRzIEV2YWx1YXRvclByZXByb2Nlc3Nvcntjb25zdHJ1Y3RvcihlLHQsYSxyKXtzdXBlcihlKTt0aGlzLnN0cmVhbT1lO3RoaXMuZXZhbHVhdG9yT3B0aW9ucz10O3RoaXMueHJlZj1hO3RoaXMuZ2xvYmFsQ29sb3JTcGFjZUNhY2hlPXI7dGhpcy5yZXNvdXJjZXM9ZS5kaWN0Py5nZXQoIlJlc291cmNlcyIpfXBhcnNlKCl7Y29uc3QgZT17Zm46MCxhcmdzOltdfTtsZXQgdD17c2NhbGVGYWN0b3I6MSxmb250U2l6ZTowLGZvbnROYW1lOiIiLGZvbnRDb2xvcjpuZXcgVWludDhDbGFtcGVkQXJyYXkoMyksZmlsbENvbG9yU3BhY2U6Q29sb3JTcGFjZVV0aWxzLmdyYXl9LGE9ITE7Y29uc3Qgcj1bXTt0cnl7Zm9yKDs7KXtlLmFyZ3MubGVuZ3RoPTA7aWYoYXx8IXRoaXMucmVhZChlKSlicmVhaztjb25zdHtmbjppLGFyZ3M6bn09ZTtzd2l0Y2goMHxpKXtjYXNlIHBlOnIucHVzaCh7c2NhbGVGYWN0b3I6dC5zY2FsZUZhY3Rvcixmb250U2l6ZTp0LmZvbnRTaXplLGZvbnROYW1lOnQuZm9udE5hbWUsZm9udENvbG9yOnQuZm9udENvbG9yLnNsaWNlKCksZmlsbENvbG9yU3BhY2U6dC5maWxsQ29sb3JTcGFjZX0pO2JyZWFrO2Nhc2UgbWU6dD1yLnBvcCgpfHx0O2JyZWFrO2Nhc2UgR2U6dC5zY2FsZUZhY3Rvcio9TWF0aC5oeXBvdChuWzBdLG5bMV0pO2JyZWFrO2Nhc2UgcWU6Y29uc3RbZSxpXT1uO2UgaW5zdGFuY2VvZiBOYW1lJiYodC5mb250TmFtZT1lLm5hbWUpOyJudW1iZXIiPT10eXBlb2YgaSYmaT4wJiYodC5mb250U2l6ZT1pKnQuc2NhbGVGYWN0b3IpO2JyZWFrO2Nhc2UgYXQ6dC5maWxsQ29sb3JTcGFjZT1Db2xvclNwYWNlVXRpbHMucGFyc2Uoe2NzOm5bMF0seHJlZjp0aGlzLnhyZWYscmVzb3VyY2VzOnRoaXMucmVzb3VyY2VzLHBkZkZ1bmN0aW9uRmFjdG9yeTp0aGlzLl9wZGZGdW5jdGlvbkZhY3RvcnksZ2xvYmFsQ29sb3JTcGFjZUNhY2hlOnRoaXMuZ2xvYmFsQ29sb3JTcGFjZUNhY2hlLGxvY2FsQ29sb3JTcGFjZUNhY2hlOnRoaXMuX2xvY2FsQ29sb3JTcGFjZUNhY2hlfSk7YnJlYWs7Y2FzZSBudDp0LmZpbGxDb2xvclNwYWNlLmdldFJnYkl0ZW0obiwwLHQuZm9udENvbG9yLDApO2JyZWFrO2Nhc2UgaHQ6Q29sb3JTcGFjZVV0aWxzLnJnYi5nZXRSZ2JJdGVtKG4sMCx0LmZvbnRDb2xvciwwKTticmVhaztjYXNlIGN0OkNvbG9yU3BhY2VVdGlscy5ncmF5LmdldFJnYkl0ZW0obiwwLHQuZm9udENvbG9yLDApO2JyZWFrO2Nhc2UgZHQ6Q29sb3JTcGFjZVV0aWxzLmNteWsuZ2V0UmdiSXRlbShuLDAsdC5mb250Q29sb3IsMCk7YnJlYWs7Y2FzZSBLZTpjYXNlIEplOmNhc2UgWWU6Y2FzZSBaZTphPSEwfX19Y2F0Y2goZSl7d2FybihgcGFyc2VBcHBlYXJhbmNlU3RyZWFtIC0gaWdub3JpbmcgZXJyb3JzOiAiJHtlfSIuYCl9dGhpcy5zdHJlYW0ucmVzZXQoKTtkZWxldGUgdC5zY2FsZUZhY3RvcjtkZWxldGUgdC5maWxsQ29sb3JTcGFjZTtyZXR1cm4gdH1nZXQgX2xvY2FsQ29sb3JTcGFjZUNhY2hlKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJfbG9jYWxDb2xvclNwYWNlQ2FjaGUiLG5ldyBMb2NhbENvbG9yU3BhY2VDYWNoZSl9Z2V0IF9wZGZGdW5jdGlvbkZhY3RvcnkoKXtyZXR1cm4gc2hhZG93KHRoaXMsIl9wZGZGdW5jdGlvbkZhY3RvcnkiLG5ldyBQREZGdW5jdGlvbkZhY3Rvcnkoe3hyZWY6dGhpcy54cmVmLGlzRXZhbFN1cHBvcnRlZDp0aGlzLmV2YWx1YXRvck9wdGlvbnMuaXNFdmFsU3VwcG9ydGVkfSkpfX1mdW5jdGlvbiBnZXRQZGZDb2xvcihlLHQpe2lmKGVbMF09PT1lWzFdJiZlWzFdPT09ZVsyXSl7cmV0dXJuYCR7bnVtYmVyVG9TdHJpbmcoZVswXS8yNTUpfSAke3Q/ImciOiJHIn1gfXJldHVybiBBcnJheS5mcm9tKGUsKGU9Pm51bWJlclRvU3RyaW5nKGUvMjU1KSkpLmpvaW4oIiAiKSsiICIrKHQ/InJnIjoiUkciKX1jbGFzcyBGYWtlVW5pY29kZUZvbnR7Y29uc3RydWN0b3IoZSx0KXt0aGlzLnhyZWY9ZTt0aGlzLndpZHRocz1udWxsO3RoaXMuZmlyc3RDaGFyPTEvMDt0aGlzLmxhc3RDaGFyPS0xLzA7dGhpcy5mb250RmFtaWx5PXQ7Y29uc3QgYT1uZXcgT2Zmc2NyZWVuQ2FudmFzKDEsMSk7dGhpcy5jdHhNZWFzdXJlPWEuZ2V0Q29udGV4dCgiMmQiLHt3aWxsUmVhZEZyZXF1ZW50bHk6ITB9KTtGYWtlVW5pY29kZUZvbnQuX2ZvbnROYW1lSWR8fChGYWtlVW5pY29kZUZvbnQuX2ZvbnROYW1lSWQ9MSk7dGhpcy5mb250TmFtZT1OYW1lLmdldChgSW52YWxpZFBERmpzRm9udF8ke3R9XyR7RmFrZVVuaWNvZGVGb250Ll9mb250TmFtZUlkKyt9YCl9Z2V0IGZvbnREZXNjcmlwdG9yUmVmKCl7aWYoIUZha2VVbmljb2RlRm9udC5fZm9udERlc2NyaXB0b3JSZWYpe2NvbnN0IGU9bmV3IERpY3QodGhpcy54cmVmKTtlLnNldElmTmFtZSgiVHlwZSIsIkZvbnREZXNjcmlwdG9yIik7ZS5zZXQoIkZvbnROYW1lIix0aGlzLmZvbnROYW1lKTtlLnNldCgiRm9udEZhbWlseSIsIk15cmlhZFBybyBSZWd1bGFyIik7ZS5zZXQoIkZvbnRCQm94IixbMCwwLDAsMF0pO2Uuc2V0SWZOYW1lKCJGb250U3RyZXRjaCIsIk5vcm1hbCIpO2Uuc2V0KCJGb250V2VpZ2h0Iiw0MDApO2Uuc2V0KCJJdGFsaWNBbmdsZSIsMCk7RmFrZVVuaWNvZGVGb250Ll9mb250RGVzY3JpcHRvclJlZj10aGlzLnhyZWYuZ2V0TmV3UGVyc2lzdGVudFJlZihlKX1yZXR1cm4gRmFrZVVuaWNvZGVGb250Ll9mb250RGVzY3JpcHRvclJlZn1nZXQgZGVzY2VuZGFudEZvbnRSZWYoKXtjb25zdCBlPW5ldyBEaWN0KHRoaXMueHJlZik7ZS5zZXQoIkJhc2VGb250Iix0aGlzLmZvbnROYW1lKTtlLnNldElmTmFtZSgiVHlwZSIsIkZvbnQiKTtlLnNldElmTmFtZSgiU3VidHlwZSIsIkNJREZvbnRUeXBlMCIpO2Uuc2V0SWZOYW1lKCJDSURUb0dJRE1hcCIsIklkZW50aXR5Iik7ZS5zZXQoIkZpcnN0Q2hhciIsdGhpcy5maXJzdENoYXIpO2Uuc2V0KCJMYXN0Q2hhciIsdGhpcy5sYXN0Q2hhcik7ZS5zZXQoIkZvbnREZXNjcmlwdG9yIix0aGlzLmZvbnREZXNjcmlwdG9yUmVmKTtlLnNldCgiRFciLDFlMyk7Y29uc3QgdD1bXSxhPVsuLi50aGlzLndpZHRocy5lbnRyaWVzKCldLnNvcnQoKTtsZXQgcj1udWxsLGk9bnVsbDtmb3IoY29uc3RbZSxuXW9mIGEpaWYocilpZihlPT09citpLmxlbmd0aClpLnB1c2gobik7ZWxzZXt0LnB1c2gocixpKTtyPWU7aT1bbl19ZWxzZXtyPWU7aT1bbl19ciYmdC5wdXNoKHIsaSk7ZS5zZXQoIlciLHQpO2NvbnN0IG49bmV3IERpY3QodGhpcy54cmVmKTtuLnNldCgiT3JkZXJpbmciLCJJZGVudGl0eSIpO24uc2V0KCJSZWdpc3RyeSIsIkFkb2JlIik7bi5zZXQoIlN1cHBsZW1lbnQiLDApO2Uuc2V0KCJDSURTeXN0ZW1JbmZvIixuKTtyZXR1cm4gdGhpcy54cmVmLmdldE5ld1BlcnNpc3RlbnRSZWYoZSl9Z2V0IGJhc2VGb250UmVmKCl7Y29uc3QgZT1uZXcgRGljdCh0aGlzLnhyZWYpO2Uuc2V0KCJCYXNlRm9udCIsdGhpcy5mb250TmFtZSk7ZS5zZXRJZk5hbWUoIlR5cGUiLCJGb250Iik7ZS5zZXRJZk5hbWUoIlN1YnR5cGUiLCJUeXBlMCIpO2Uuc2V0SWZOYW1lKCJFbmNvZGluZyIsIklkZW50aXR5LUgiKTtlLnNldCgiRGVzY2VuZGFudEZvbnRzIixbdGhpcy5kZXNjZW5kYW50Rm9udFJlZl0pO2Uuc2V0SWZOYW1lKCJUb1VuaWNvZGUiLCJJZGVudGl0eS1IIik7cmV0dXJuIHRoaXMueHJlZi5nZXROZXdQZXJzaXN0ZW50UmVmKGUpfWdldCByZXNvdXJjZXMoKXtjb25zdCBlPW5ldyBEaWN0KHRoaXMueHJlZiksdD1uZXcgRGljdCh0aGlzLnhyZWYpO3Quc2V0KHRoaXMuZm9udE5hbWUubmFtZSx0aGlzLmJhc2VGb250UmVmKTtlLnNldCgiRm9udCIsdCk7cmV0dXJuIGV9X2NyZWF0ZUNvbnRleHQoKXt0aGlzLndpZHRocz1uZXcgTWFwO3RoaXMuY3R4TWVhc3VyZS5mb250PWAxMDAwcHggJHt0aGlzLmZvbnRGYW1pbHl9YDtyZXR1cm4gdGhpcy5jdHhNZWFzdXJlfWNyZWF0ZUZvbnRSZXNvdXJjZXMoZSl7Y29uc3QgdD10aGlzLl9jcmVhdGVDb250ZXh0KCk7Zm9yKGNvbnN0IGEgb2YgZS5zcGxpdCgvXHJcbj98XG4vKSlmb3IoY29uc3QgZSBvZiBhLnNwbGl0KCIiKSl7Y29uc3QgYT1lLmNoYXJDb2RlQXQoMCk7aWYodGhpcy53aWR0aHMuaGFzKGEpKWNvbnRpbnVlO2NvbnN0IHI9dC5tZWFzdXJlVGV4dChlKSxpPU1hdGguY2VpbChyLndpZHRoKTt0aGlzLndpZHRocy5zZXQoYSxpKTt0aGlzLmZpcnN0Q2hhcj1NYXRoLm1pbihhLHRoaXMuZmlyc3RDaGFyKTt0aGlzLmxhc3RDaGFyPU1hdGgubWF4KGEsdGhpcy5sYXN0Q2hhcil9cmV0dXJuIHRoaXMucmVzb3VyY2VzfXN0YXRpYyBnZXRGaXJzdFBvc2l0aW9uSW5mbyhlLHQsaSl7Y29uc3RbbixzLG8sY109ZTtsZXQgbD1vLW4saD1jLXM7dCUxODAhPTAmJihbbCxoXT1baCxsXSk7Y29uc3QgdT1hKmk7cmV0dXJue2Nvb3JkczpbMCxoK3IqaS11XSxiYm94OlswLDAsbCxoXSxtYXRyaXg6MCE9PXQ/Z2V0Um90YXRpb25NYXRyaXgodCxoLHUpOnZvaWQgMH19Y3JlYXRlQXBwZWFyYW5jZShlLHQsaSxuLHMsbyl7Y29uc3QgYz10aGlzLl9jcmVhdGVDb250ZXh0KCksbD1bXTtsZXQgaD0tMS8wO2Zvcihjb25zdCB0IG9mIGUuc3BsaXQoL1xyXG4/fFxuLykpe2wucHVzaCh0KTtjb25zdCBlPWMubWVhc3VyZVRleHQodCkud2lkdGg7aD1NYXRoLm1heChoLGUpO2Zvcihjb25zdCBlIG9mIGNvZGVQb2ludEl0ZXIodCkpe2NvbnN0IHQ9U3RyaW5nLmZyb21Db2RlUG9pbnQoZSk7bGV0IGE9dGhpcy53aWR0aHMuZ2V0KGUpO2lmKHZvaWQgMD09PWEpe2NvbnN0IHI9Yy5tZWFzdXJlVGV4dCh0KTthPU1hdGguY2VpbChyLndpZHRoKTt0aGlzLndpZHRocy5zZXQoZSxhKTt0aGlzLmZpcnN0Q2hhcj1NYXRoLm1pbihlLHRoaXMuZmlyc3RDaGFyKTt0aGlzLmxhc3RDaGFyPU1hdGgubWF4KGUsdGhpcy5sYXN0Q2hhcil9fX1oKj1uLzFlMztjb25zdFt1LGQsZixnXT10O2xldCBwPWYtdSxtPWctZDtpJTE4MCE9MCYmKFtwLG1dPVttLHBdKTtsZXQgYj0xO2g+cCYmKGI9cC9oKTtsZXQgeT0xO2NvbnN0IHc9YSpuLHg9cipuLFM9dypsLmxlbmd0aDtTPm0mJih5PW0vUyk7Y29uc3Qgaz1uKk1hdGgubWluKGIseSksQz1bInEiLGAwIDAgJHtudW1iZXJUb1N0cmluZyhwKX0gJHtudW1iZXJUb1N0cmluZyhtKX0gcmUgVyBuYCwiQlQiLGAxIDAgMCAxIDAgJHtudW1iZXJUb1N0cmluZyhtK3gpfSBUbSAwIFRjICR7Z2V0UGRmQ29sb3IocywhMCl9YCxgLyR7dGhpcy5mb250TmFtZS5uYW1lfSAke251bWJlclRvU3RyaW5nKGspfSBUZmBdLHtyZXNvdXJjZXM6dn09dGhpcztpZigxIT09KG89Im51bWJlciI9PXR5cGVvZiBvJiZvPj0wJiZvPD0xP286MSkpe0MucHVzaCgiL1IwIGdzIik7Y29uc3QgZT1uZXcgRGljdCh0aGlzLnhyZWYpLHQ9bmV3IERpY3QodGhpcy54cmVmKTt0LnNldCgiY2EiLG8pO3Quc2V0KCJDQSIsbyk7dC5zZXRJZk5hbWUoIlR5cGUiLCJFeHRHU3RhdGUiKTtlLnNldCgiUjAiLHQpO3Yuc2V0KCJFeHRHU3RhdGUiLGUpfWNvbnN0IEY9bnVtYmVyVG9TdHJpbmcodyk7Zm9yKGNvbnN0IGUgb2YgbClDLnB1c2goYDAgLSR7Rn0gVGQgPCR7c3RyaW5nVG9VVEYxNkhleFN0cmluZyhlKX0+IFRqYCk7Qy5wdXNoKCJFVCIsIlEiKTtjb25zdCBUPUMuam9pbigiXG4iKSxPPW5ldyBEaWN0KHRoaXMueHJlZik7Ty5zZXRJZk5hbWUoIlN1YnR5cGUiLCJGb3JtIik7Ty5zZXRJZk5hbWUoIlR5cGUiLCJYT2JqZWN0Iik7Ty5zZXQoIkJCb3giLFswLDAscCxtXSk7Ty5zZXQoIkxlbmd0aCIsVC5sZW5ndGgpO08uc2V0KCJSZXNvdXJjZXMiLHYpO2lmKGkpe2NvbnN0IGU9Z2V0Um90YXRpb25NYXRyaXgoaSxwLG0pO08uc2V0KCJNYXRyaXgiLGUpfWNvbnN0IE09bmV3IFN0cmluZ1N0cmVhbShUKTtNLmRpY3Q9TztyZXR1cm4gTX19Y29uc3Qgd249WyJtL2QiLCJtL2QveXkiLCJtbS9kZC95eSIsIm1tL3l5IiwiZC1tbW0iLCJkLW1tbS15eSIsImRkLW1tbS15eSIsInl5LW1tLWRkIiwibW1tLXl5IiwibW1tbS15eSIsIm1tbSBkLCB5eXl5IiwibW1tbSBkLCB5eXl5IiwibS9kL3l5IGg6TU0gdHQiLCJtL2QveXkgSEg6TU0iXSx4bj1bIkhIOk1NIiwiaDpNTSB0dCIsIkhIOk1NOnNzIiwiaDpNTTpzcyB0dCJdO2NsYXNzIE5hbWVPck51bWJlclRyZWV7Y29uc3RydWN0b3IoZSx0LGEpe3RoaXMucm9vdD1lO3RoaXMueHJlZj10O3RoaXMuX3R5cGU9YX1nZXRBbGwoKXtjb25zdCBlPW5ldyBNYXA7aWYoIXRoaXMucm9vdClyZXR1cm4gZTtjb25zdCB0PXRoaXMueHJlZixhPW5ldyBSZWZTZXQ7YS5wdXQodGhpcy5yb290KTtjb25zdCByPVt0aGlzLnJvb3RdO2Zvcig7ci5sZW5ndGg+MDspe2NvbnN0IGk9dC5mZXRjaElmUmVmKHIuc2hpZnQoKSk7aWYoIShpIGluc3RhbmNlb2YgRGljdCkpY29udGludWU7aWYoaS5oYXMoIktpZHMiKSl7Y29uc3QgZT1pLmdldCgiS2lkcyIpO2lmKCFBcnJheS5pc0FycmF5KGUpKWNvbnRpbnVlO2Zvcihjb25zdCB0IG9mIGUpe2lmKGEuaGFzKHQpKXRocm93IG5ldyBGb3JtYXRFcnJvcihgRHVwbGljYXRlIGVudHJ5IGluICIke3RoaXMuX3R5cGV9IiB0cmVlLmApO3IucHVzaCh0KTthLnB1dCh0KX1jb250aW51ZX1jb25zdCBuPWkuZ2V0KHRoaXMuX3R5cGUpO2lmKEFycmF5LmlzQXJyYXkobikpZm9yKGxldCBhPTAscj1uLmxlbmd0aDthPHI7YSs9MillLnNldCh0LmZldGNoSWZSZWYoblthXSksdC5mZXRjaElmUmVmKG5bYSsxXSkpfXJldHVybiBlfWdldFJhdyhlKXtpZighdGhpcy5yb290KXJldHVybiBudWxsO2NvbnN0IHQ9dGhpcy54cmVmO2xldCBhPXQuZmV0Y2hJZlJlZih0aGlzLnJvb3QpLHI9MDtmb3IoO2EuaGFzKCJLaWRzIik7KXtpZigrK3I+MTApe3dhcm4oYFNlYXJjaCBkZXB0aCBsaW1pdCByZWFjaGVkIGZvciAiJHt0aGlzLl90eXBlfSIgdHJlZS5gKTtyZXR1cm4gbnVsbH1jb25zdCBpPWEuZ2V0KCJLaWRzIik7aWYoIUFycmF5LmlzQXJyYXkoaSkpcmV0dXJuIG51bGw7bGV0IG49MCxzPWkubGVuZ3RoLTE7Zm9yKDtuPD1zOyl7Y29uc3Qgcj1uK3M+PjEsbz10LmZldGNoSWZSZWYoaVtyXSksYz1vLmdldCgiTGltaXRzIik7aWYoZTx0LmZldGNoSWZSZWYoY1swXSkpcz1yLTE7ZWxzZXtpZighKGU+dC5mZXRjaElmUmVmKGNbMV0pKSl7YT1vO2JyZWFrfW49cisxfX1pZihuPnMpcmV0dXJuIG51bGx9Y29uc3QgaT1hLmdldCh0aGlzLl90eXBlKTtpZihBcnJheS5pc0FycmF5KGkpKXtsZXQgYT0wLHI9aS5sZW5ndGgtMjtmb3IoO2E8PXI7KXtjb25zdCBuPWErcj4+MSxzPW4rKDEmbiksbz10LmZldGNoSWZSZWYoaVtzXSk7aWYoZTxvKXI9cy0yO2Vsc2V7aWYoIShlPm8pKXJldHVybiBpW3MrMV07YT1zKzJ9fX1yZXR1cm4gbnVsbH1nZXQoZSl7cmV0dXJuIHRoaXMueHJlZi5mZXRjaElmUmVmKHRoaXMuZ2V0UmF3KGUpKX19Y2xhc3MgTmFtZVRyZWUgZXh0ZW5kcyBOYW1lT3JOdW1iZXJUcmVle2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0LCJOYW1lcyIpfX1jbGFzcyBOdW1iZXJUcmVlIGV4dGVuZHMgTmFtZU9yTnVtYmVyVHJlZXtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCwiTnVtcyIpfX1mdW5jdGlvbiBjbGVhckdsb2JhbENhY2hlcygpeyFmdW5jdGlvbiBjbGVhclBhdHRlcm5DYWNoZXMoKXtoaT1PYmplY3QuY3JlYXRlKG51bGwpfSgpOyFmdW5jdGlvbiBjbGVhclByaW1pdGl2ZUNhY2hlcygpe3JhPU9iamVjdC5jcmVhdGUobnVsbCk7aWE9T2JqZWN0LmNyZWF0ZShudWxsKTtuYT1PYmplY3QuY3JlYXRlKG51bGwpfSgpOyFmdW5jdGlvbiBjbGVhclVuaWNvZGVDYWNoZXMoKXtnci5jbGVhcigpfSgpO0pweEltYWdlLmNsZWFudXAoKX1mdW5jdGlvbiBwaWNrUGxhdGZvcm1JdGVtKGUpe3JldHVybiBlIGluc3RhbmNlb2YgRGljdD9lLmhhcygiVUYiKT9lLmdldCgiVUYiKTplLmhhcygiRiIpP2UuZ2V0KCJGIik6ZS5oYXMoIlVuaXgiKT9lLmdldCgiVW5peCIpOmUuaGFzKCJNYWMiKT9lLmdldCgiTWFjIik6ZS5oYXMoIkRPUyIpP2UuZ2V0KCJET1MiKTpudWxsOm51bGx9Y2xhc3MgRmlsZVNwZWN7I1k9ITE7Y29uc3RydWN0b3IoZSx0LGE9ITEpe2lmKGUgaW5zdGFuY2VvZiBEaWN0KXt0aGlzLnhyZWY9dDt0aGlzLnJvb3Q9ZTtlLmhhcygiRlMiKSYmKHRoaXMuZnM9ZS5nZXQoIkZTIikpO2UuaGFzKCJSRiIpJiZ3YXJuKCJSZWxhdGVkIGZpbGUgc3BlY2lmaWNhdGlvbnMgYXJlIG5vdCBzdXBwb3J0ZWQiKTthfHwoZS5oYXMoIkVGIik/dGhpcy4jWT0hMDp3YXJuKCJOb24tZW1iZWRkZWQgZmlsZSBzcGVjaWZpY2F0aW9ucyBhcmUgbm90IHN1cHBvcnRlZCIpKX19Z2V0IGZpbGVuYW1lKCl7bGV0IGU9IiI7Y29uc3QgdD1waWNrUGxhdGZvcm1JdGVtKHRoaXMucm9vdCk7dCYmInN0cmluZyI9PXR5cGVvZiB0JiYoZT1zdHJpbmdUb1BERlN0cmluZyh0LCEwKS5yZXBsYWNlQWxsKCJcXFxcIiwiXFwiKS5yZXBsYWNlQWxsKCJcXC8iLCIvIikucmVwbGFjZUFsbCgiXFwiLCIvIikpO3JldHVybiBzaGFkb3codGhpcywiZmlsZW5hbWUiLGV8fCJ1bm5hbWVkIil9Z2V0IGNvbnRlbnQoKXtpZighdGhpcy4jWSlyZXR1cm4gbnVsbDt0aGlzLl9jb250ZW50UmVmfHw9cGlja1BsYXRmb3JtSXRlbSh0aGlzLnJvb3Q/LmdldCgiRUYiKSk7bGV0IGU9bnVsbDtpZih0aGlzLl9jb250ZW50UmVmKXtjb25zdCB0PXRoaXMueHJlZi5mZXRjaElmUmVmKHRoaXMuX2NvbnRlbnRSZWYpO3QgaW5zdGFuY2VvZiBCYXNlU3RyZWFtP2U9dC5nZXRCeXRlcygpOndhcm4oIkVtYmVkZGVkIGZpbGUgc3BlY2lmaWNhdGlvbiBwb2ludHMgdG8gbm9uLWV4aXN0aW5nL2ludmFsaWQgY29udGVudCIpfWVsc2Ugd2FybigiRW1iZWRkZWQgZmlsZSBzcGVjaWZpY2F0aW9uIGRvZXMgbm90IGhhdmUgYW55IGNvbnRlbnQiKTtyZXR1cm4gZX1nZXQgZGVzY3JpcHRpb24oKXtsZXQgZT0iIjtjb25zdCB0PXRoaXMucm9vdD8uZ2V0KCJEZXNjIik7dCYmInN0cmluZyI9PXR5cGVvZiB0JiYoZT1zdHJpbmdUb1BERlN0cmluZyh0KSk7cmV0dXJuIHNoYWRvdyh0aGlzLCJkZXNjcmlwdGlvbiIsZSl9Z2V0IHNlcmlhbGl6YWJsZSgpe3JldHVybntyYXdGaWxlbmFtZTp0aGlzLmZpbGVuYW1lLGZpbGVuYW1lOihlPXRoaXMuZmlsZW5hbWUsZS5zdWJzdHJpbmcoZS5sYXN0SW5kZXhPZigiLyIpKzEpKSxjb250ZW50OnRoaXMuY29udGVudCxkZXNjcmlwdGlvbjp0aGlzLmRlc2NyaXB0aW9ufTt2YXIgZX19Y29uc3QgU249MCxBbj0tMixrbj0tMyxDbj0tNCx2bj0tNSxGbj0tNixJbj0tOTtmdW5jdGlvbiBpc1doaXRlc3BhY2UoZSx0KXtjb25zdCBhPWVbdF07cmV0dXJuIiAiPT09YXx8IlxuIj09PWF8fCJcciI9PT1hfHwiXHQiPT09YX1jbGFzcyBYTUxQYXJzZXJCYXNle19yZXNvbHZlRW50aXRpZXMoZSl7cmV0dXJuIGUucmVwbGFjZUFsbCgvJihbXjtdKyk7L2csKChlLHQpPT57aWYoIiN4Ij09PXQuc3Vic3RyaW5nKDAsMikpcmV0dXJuIFN0cmluZy5mcm9tQ29kZVBvaW50KHBhcnNlSW50KHQuc3Vic3RyaW5nKDIpLDE2KSk7aWYoIiMiPT09dC5zdWJzdHJpbmcoMCwxKSlyZXR1cm4gU3RyaW5nLmZyb21Db2RlUG9pbnQocGFyc2VJbnQodC5zdWJzdHJpbmcoMSksMTApKTtzd2l0Y2godCl7Y2FzZSJsdCI6cmV0dXJuIjwiO2Nhc2UiZ3QiOnJldHVybiI+IjtjYXNlImFtcCI6cmV0dXJuIiYiO2Nhc2UicXVvdCI6cmV0dXJuJyInO2Nhc2UiYXBvcyI6cmV0dXJuIicifXJldHVybiB0aGlzLm9uUmVzb2x2ZUVudGl0eSh0KX0pKX1fcGFyc2VDb250ZW50KGUsdCl7Y29uc3QgYT1bXTtsZXQgcj10O2Z1bmN0aW9uIHNraXBXcygpe2Zvcig7cjxlLmxlbmd0aCYmaXNXaGl0ZXNwYWNlKGUscik7KSsrcn1mb3IoO3I8ZS5sZW5ndGgmJiFpc1doaXRlc3BhY2UoZSxyKSYmIj4iIT09ZVtyXSYmIi8iIT09ZVtyXTspKytyO2NvbnN0IGk9ZS5zdWJzdHJpbmcodCxyKTtza2lwV3MoKTtmb3IoO3I8ZS5sZW5ndGgmJiI+IiE9PWVbcl0mJiIvIiE9PWVbcl0mJiI/IiE9PWVbcl07KXtza2lwV3MoKTtsZXQgdD0iIixpPSIiO2Zvcig7cjxlLmxlbmd0aCYmIWlzV2hpdGVzcGFjZShlLHIpJiYiPSIhPT1lW3JdOyl7dCs9ZVtyXTsrK3J9c2tpcFdzKCk7aWYoIj0iIT09ZVtyXSlyZXR1cm4gbnVsbDsrK3I7c2tpcFdzKCk7Y29uc3Qgbj1lW3JdO2lmKCciJyE9PW4mJiInIiE9PW4pcmV0dXJuIG51bGw7Y29uc3Qgcz1lLmluZGV4T2YobiwrK3IpO2lmKHM8MClyZXR1cm4gbnVsbDtpPWUuc3Vic3RyaW5nKHIscyk7YS5wdXNoKHtuYW1lOnQsdmFsdWU6dGhpcy5fcmVzb2x2ZUVudGl0aWVzKGkpfSk7cj1zKzE7c2tpcFdzKCl9cmV0dXJue25hbWU6aSxhdHRyaWJ1dGVzOmEscGFyc2VkOnItdH19X3BhcnNlUHJvY2Vzc2luZ0luc3RydWN0aW9uKGUsdCl7bGV0IGE9dDtmb3IoO2E8ZS5sZW5ndGgmJiFpc1doaXRlc3BhY2UoZSxhKSYmIj4iIT09ZVthXSYmIj8iIT09ZVthXSYmIi8iIT09ZVthXTspKythO2NvbnN0IHI9ZS5zdWJzdHJpbmcodCxhKTshZnVuY3Rpb24gc2tpcFdzKCl7Zm9yKDthPGUubGVuZ3RoJiZpc1doaXRlc3BhY2UoZSxhKTspKythfSgpO2NvbnN0IGk9YTtmb3IoO2E8ZS5sZW5ndGgmJigiPyIhPT1lW2FdfHwiPiIhPT1lW2ErMV0pOykrK2E7cmV0dXJue25hbWU6cix2YWx1ZTplLnN1YnN0cmluZyhpLGEpLHBhcnNlZDphLXR9fXBhcnNlWG1sKGUpe2xldCB0PTA7Zm9yKDt0PGUubGVuZ3RoOyl7bGV0IGE9dDtpZigiPCI9PT1lW3RdKXsrK2E7bGV0IHQ7c3dpdGNoKGVbYV0pe2Nhc2UiLyI6KythO3Q9ZS5pbmRleE9mKCI+IixhKTtpZih0PDApe3RoaXMub25FcnJvcihJbik7cmV0dXJufXRoaXMub25FbmRFbGVtZW50KGUuc3Vic3RyaW5nKGEsdCkpO2E9dCsxO2JyZWFrO2Nhc2UiPyI6KythO2NvbnN0IHI9dGhpcy5fcGFyc2VQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oZSxhKTtpZigiPz4iIT09ZS5zdWJzdHJpbmcoYStyLnBhcnNlZCxhK3IucGFyc2VkKzIpKXt0aGlzLm9uRXJyb3Ioa24pO3JldHVybn10aGlzLm9uUGkoci5uYW1lLHIudmFsdWUpO2ErPXIucGFyc2VkKzI7YnJlYWs7Y2FzZSIhIjppZigiLS0iPT09ZS5zdWJzdHJpbmcoYSsxLGErMykpe3Q9ZS5pbmRleE9mKCItLVx4M2UiLGErMyk7aWYodDwwKXt0aGlzLm9uRXJyb3Iodm4pO3JldHVybn10aGlzLm9uQ29tbWVudChlLnN1YnN0cmluZyhhKzMsdCkpO2E9dCszfWVsc2UgaWYoIltDREFUQVsiPT09ZS5zdWJzdHJpbmcoYSsxLGErOCkpe3Q9ZS5pbmRleE9mKCJdXT4iLGErOCk7aWYodDwwKXt0aGlzLm9uRXJyb3IoQW4pO3JldHVybn10aGlzLm9uQ2RhdGEoZS5zdWJzdHJpbmcoYSs4LHQpKTthPXQrM31lbHNle2lmKCJET0NUWVBFIiE9PWUuc3Vic3RyaW5nKGErMSxhKzgpKXt0aGlzLm9uRXJyb3IoRm4pO3JldHVybn17Y29uc3Qgcj1lLmluZGV4T2YoIlsiLGErOCk7bGV0IGk9ITE7dD1lLmluZGV4T2YoIj4iLGErOCk7aWYodDwwKXt0aGlzLm9uRXJyb3IoQ24pO3JldHVybn1pZihyPjAmJnQ+cil7dD1lLmluZGV4T2YoIl0+IixhKzgpO2lmKHQ8MCl7dGhpcy5vbkVycm9yKENuKTtyZXR1cm59aT0hMH1jb25zdCBuPWUuc3Vic3RyaW5nKGErOCx0KyhpPzE6MCkpO3RoaXMub25Eb2N0eXBlKG4pO2E9dCsoaT8yOjEpfX1icmVhaztkZWZhdWx0OmNvbnN0IGk9dGhpcy5fcGFyc2VDb250ZW50KGUsYSk7aWYobnVsbD09PWkpe3RoaXMub25FcnJvcihGbik7cmV0dXJufWxldCBuPSExO2lmKCIvPiI9PT1lLnN1YnN0cmluZyhhK2kucGFyc2VkLGEraS5wYXJzZWQrMikpbj0hMDtlbHNlIGlmKCI+IiE9PWUuc3Vic3RyaW5nKGEraS5wYXJzZWQsYStpLnBhcnNlZCsxKSl7dGhpcy5vbkVycm9yKEluKTtyZXR1cm59dGhpcy5vbkJlZ2luRWxlbWVudChpLm5hbWUsaS5hdHRyaWJ1dGVzLG4pO2ErPWkucGFyc2VkKyhuPzI6MSl9fWVsc2V7Zm9yKDthPGUubGVuZ3RoJiYiPCIhPT1lW2FdOylhKys7Y29uc3Qgcj1lLnN1YnN0cmluZyh0LGEpO3RoaXMub25UZXh0KHRoaXMuX3Jlc29sdmVFbnRpdGllcyhyKSl9dD1hfX1vblJlc29sdmVFbnRpdHkoZSl7cmV0dXJuYCYke2V9O2B9b25QaShlLHQpe31vbkNvbW1lbnQoZSl7fW9uQ2RhdGEoZSl7fW9uRG9jdHlwZShlKXt9b25UZXh0KGUpe31vbkJlZ2luRWxlbWVudChlLHQsYSl7fW9uRW5kRWxlbWVudChlKXt9b25FcnJvcihlKXt9fWNsYXNzIFNpbXBsZURPTU5vZGV7Y29uc3RydWN0b3IoZSx0KXt0aGlzLm5vZGVOYW1lPWU7dGhpcy5ub2RlVmFsdWU9dDtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywicGFyZW50Tm9kZSIse3ZhbHVlOm51bGwsd3JpdGFibGU6ITB9KX1nZXQgZmlyc3RDaGlsZCgpe3JldHVybiB0aGlzLmNoaWxkTm9kZXM/LlswXX1nZXQgbmV4dFNpYmxpbmcoKXtjb25zdCBlPXRoaXMucGFyZW50Tm9kZS5jaGlsZE5vZGVzO2lmKCFlKXJldHVybjtjb25zdCB0PWUuaW5kZXhPZih0aGlzKTtyZXR1cm4tMSE9PXQ/ZVt0KzFdOnZvaWQgMH1nZXQgdGV4dENvbnRlbnQoKXtyZXR1cm4gdGhpcy5jaGlsZE5vZGVzP3RoaXMuY2hpbGROb2Rlcy5tYXAoKGU9PmUudGV4dENvbnRlbnQpKS5qb2luKCIiKTp0aGlzLm5vZGVWYWx1ZXx8IiJ9Z2V0IGNoaWxkcmVuKCl7cmV0dXJuIHRoaXMuY2hpbGROb2Rlc3x8W119aGFzQ2hpbGROb2Rlcygpe3JldHVybiB0aGlzLmNoaWxkTm9kZXM/Lmxlbmd0aD4wfXNlYXJjaE5vZGUoZSx0KXtpZih0Pj1lLmxlbmd0aClyZXR1cm4gdGhpcztjb25zdCBhPWVbdF07aWYoYS5uYW1lLnN0YXJ0c1dpdGgoIiMiKSYmdDxlLmxlbmd0aC0xKXJldHVybiB0aGlzLnNlYXJjaE5vZGUoZSx0KzEpO2NvbnN0IHI9W107bGV0IGk9dGhpcztmb3IoOzspe2lmKGEubmFtZT09PWkubm9kZU5hbWUpe2lmKDAhPT1hLnBvcyl7aWYoMD09PXIubGVuZ3RoKXJldHVybiBudWxsO3tjb25zdFtuXT1yLnBvcCgpO2xldCBzPTA7Zm9yKGNvbnN0IHIgb2Ygbi5jaGlsZE5vZGVzKWlmKGEubmFtZT09PXIubm9kZU5hbWUpe2lmKHM9PT1hLnBvcylyZXR1cm4gci5zZWFyY2hOb2RlKGUsdCsxKTtzKyt9cmV0dXJuIGkuc2VhcmNoTm9kZShlLHQrMSl9fXtjb25zdCBhPWkuc2VhcmNoTm9kZShlLHQrMSk7aWYobnVsbCE9PWEpcmV0dXJuIGF9fWlmKGkuY2hpbGROb2Rlcz8ubGVuZ3RoPjApe3IucHVzaChbaSwwXSk7aT1pLmNoaWxkTm9kZXNbMF19ZWxzZXtpZigwPT09ci5sZW5ndGgpcmV0dXJuIG51bGw7Zm9yKDswIT09ci5sZW5ndGg7KXtjb25zdFtlLHRdPXIucG9wKCksYT10KzE7aWYoYTxlLmNoaWxkTm9kZXMubGVuZ3RoKXtyLnB1c2goW2UsYV0pO2k9ZS5jaGlsZE5vZGVzW2FdO2JyZWFrfX1pZigwPT09ci5sZW5ndGgpcmV0dXJuIG51bGx9fX1kdW1wKGUpe2lmKCIjdGV4dCIhPT10aGlzLm5vZGVOYW1lKXtlLnB1c2goYDwke3RoaXMubm9kZU5hbWV9YCk7aWYodGhpcy5hdHRyaWJ1dGVzKWZvcihjb25zdCB0IG9mIHRoaXMuYXR0cmlidXRlcyllLnB1c2goYCAke3QubmFtZX09IiR7ZW5jb2RlVG9YbWxTdHJpbmcodC52YWx1ZSl9ImApO2lmKHRoaXMuaGFzQ2hpbGROb2RlcygpKXtlLnB1c2goIj4iKTtmb3IoY29uc3QgdCBvZiB0aGlzLmNoaWxkTm9kZXMpdC5kdW1wKGUpO2UucHVzaChgPC8ke3RoaXMubm9kZU5hbWV9PmApfWVsc2UgdGhpcy5ub2RlVmFsdWU/ZS5wdXNoKGA+JHtlbmNvZGVUb1htbFN0cmluZyh0aGlzLm5vZGVWYWx1ZSl9PC8ke3RoaXMubm9kZU5hbWV9PmApOmUucHVzaCgiLz4iKX1lbHNlIGUucHVzaChlbmNvZGVUb1htbFN0cmluZyh0aGlzLm5vZGVWYWx1ZSkpfX1jbGFzcyBTaW1wbGVYTUxQYXJzZXIgZXh0ZW5kcyBYTUxQYXJzZXJCYXNle2NvbnN0cnVjdG9yKHtoYXNBdHRyaWJ1dGVzOmU9ITEsbG93ZXJDYXNlTmFtZTp0PSExfSl7c3VwZXIoKTt0aGlzLl9jdXJyZW50RnJhZ21lbnQ9bnVsbDt0aGlzLl9zdGFjaz1udWxsO3RoaXMuX2Vycm9yQ29kZT1Tbjt0aGlzLl9oYXNBdHRyaWJ1dGVzPWU7dGhpcy5fbG93ZXJDYXNlTmFtZT10fXBhcnNlRnJvbVN0cmluZyhlKXt0aGlzLl9jdXJyZW50RnJhZ21lbnQ9W107dGhpcy5fc3RhY2s9W107dGhpcy5fZXJyb3JDb2RlPVNuO3RoaXMucGFyc2VYbWwoZSk7aWYodGhpcy5fZXJyb3JDb2RlIT09U24pcmV0dXJuO2NvbnN0W3RdPXRoaXMuX2N1cnJlbnRGcmFnbWVudDtyZXR1cm4gdD97ZG9jdW1lbnRFbGVtZW50OnR9OnZvaWQgMH1vblRleHQoZSl7aWYoZnVuY3Rpb24gaXNXaGl0ZXNwYWNlU3RyaW5nKGUpe2ZvcihsZXQgdD0wLGE9ZS5sZW5ndGg7dDxhO3QrKylpZighaXNXaGl0ZXNwYWNlKGUsdCkpcmV0dXJuITE7cmV0dXJuITB9KGUpKXJldHVybjtjb25zdCB0PW5ldyBTaW1wbGVET01Ob2RlKCIjdGV4dCIsZSk7dGhpcy5fY3VycmVudEZyYWdtZW50LnB1c2godCl9b25DZGF0YShlKXtjb25zdCB0PW5ldyBTaW1wbGVET01Ob2RlKCIjdGV4dCIsZSk7dGhpcy5fY3VycmVudEZyYWdtZW50LnB1c2godCl9b25CZWdpbkVsZW1lbnQoZSx0LGEpe3RoaXMuX2xvd2VyQ2FzZU5hbWUmJihlPWUudG9Mb3dlckNhc2UoKSk7Y29uc3Qgcj1uZXcgU2ltcGxlRE9NTm9kZShlKTtyLmNoaWxkTm9kZXM9W107dGhpcy5faGFzQXR0cmlidXRlcyYmKHIuYXR0cmlidXRlcz10KTt0aGlzLl9jdXJyZW50RnJhZ21lbnQucHVzaChyKTtpZighYSl7dGhpcy5fc3RhY2sucHVzaCh0aGlzLl9jdXJyZW50RnJhZ21lbnQpO3RoaXMuX2N1cnJlbnRGcmFnbWVudD1yLmNoaWxkTm9kZXN9fW9uRW5kRWxlbWVudChlKXt0aGlzLl9jdXJyZW50RnJhZ21lbnQ9dGhpcy5fc3RhY2sucG9wKCl8fFtdO2NvbnN0IHQ9dGhpcy5fY3VycmVudEZyYWdtZW50LmF0KC0xKTtpZighdClyZXR1cm4gbnVsbDtmb3IoY29uc3QgZSBvZiB0LmNoaWxkTm9kZXMpZS5wYXJlbnROb2RlPXQ7cmV0dXJuIHR9b25FcnJvcihlKXt0aGlzLl9lcnJvckNvZGU9ZX19Y2xhc3MgTWV0YWRhdGFQYXJzZXJ7Y29uc3RydWN0b3IoZSl7ZT10aGlzLl9yZXBhaXIoZSk7Y29uc3QgdD1uZXcgU2ltcGxlWE1MUGFyc2VyKHtsb3dlckNhc2VOYW1lOiEwfSkucGFyc2VGcm9tU3RyaW5nKGUpO3RoaXMuX21ldGFkYXRhTWFwPW5ldyBNYXA7dGhpcy5fZGF0YT1lO3QmJnRoaXMuX3BhcnNlKHQpfV9yZXBhaXIoZSl7cmV0dXJuIGUucmVwbGFjZSgvXltePF0rLywiIikucmVwbGFjZUFsbCgvPlxcMzc2XFwzNzcoW148XSspL2csKGZ1bmN0aW9uKGUsdCl7Y29uc3QgYT10LnJlcGxhY2VBbGwoL1xcKFswLTNdKShbMC03XSkoWzAtN10pL2csKGZ1bmN0aW9uKGUsdCxhLHIpe3JldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKDY0KnQrOCphKzEqcil9KSkucmVwbGFjZUFsbCgvJihhbXB8YXBvc3xndHxsdHxxdW90KTsvZywoZnVuY3Rpb24oZSx0KXtzd2l0Y2godCl7Y2FzZSJhbXAiOnJldHVybiImIjtjYXNlImFwb3MiOnJldHVybiInIjtjYXNlImd0IjpyZXR1cm4iPiI7Y2FzZSJsdCI6cmV0dXJuIjwiO2Nhc2UicXVvdCI6cmV0dXJuJyInfXRocm93IG5ldyBFcnJvcihgX3JlcGFpcjogJHt0fSBpc24ndCBkZWZpbmVkLmApfSkpLHI9WyI+Il07Zm9yKGxldCBlPTAsdD1hLmxlbmd0aDtlPHQ7ZSs9Mil7Y29uc3QgdD0yNTYqYS5jaGFyQ29kZUF0KGUpK2EuY2hhckNvZGVBdChlKzEpO3Q+PTMyJiZ0PDEyNyYmNjAhPT10JiY2MiE9PXQmJjM4IT09dD9yLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZSh0KSk6ci5wdXNoKCImI3giKyg2NTUzNit0KS50b1N0cmluZygxNikuc3Vic3RyaW5nKDEpKyI7Iil9cmV0dXJuIHIuam9pbigiIil9KSl9X2dldFNlcXVlbmNlKGUpe2NvbnN0IHQ9ZS5ub2RlTmFtZTtyZXR1cm4icmRmOmJhZyIhPT10JiYicmRmOnNlcSIhPT10JiYicmRmOmFsdCIhPT10P251bGw6ZS5jaGlsZE5vZGVzLmZpbHRlcigoZT0+InJkZjpsaSI9PT1lLm5vZGVOYW1lKSl9X3BhcnNlQXJyYXkoZSl7aWYoIWUuaGFzQ2hpbGROb2RlcygpKXJldHVybjtjb25zdFt0XT1lLmNoaWxkTm9kZXMsYT10aGlzLl9nZXRTZXF1ZW5jZSh0KXx8W107dGhpcy5fbWV0YWRhdGFNYXAuc2V0KGUubm9kZU5hbWUsYS5tYXAoKGU9PmUudGV4dENvbnRlbnQudHJpbSgpKSkpfV9wYXJzZShlKXtsZXQgdD1lLmRvY3VtZW50RWxlbWVudDtpZigicmRmOnJkZiIhPT10Lm5vZGVOYW1lKXt0PXQuZmlyc3RDaGlsZDtmb3IoO3QmJiJyZGY6cmRmIiE9PXQubm9kZU5hbWU7KXQ9dC5uZXh0U2libGluZ31pZih0JiYicmRmOnJkZiI9PT10Lm5vZGVOYW1lJiZ0Lmhhc0NoaWxkTm9kZXMoKSlmb3IoY29uc3QgZSBvZiB0LmNoaWxkTm9kZXMpaWYoInJkZjpkZXNjcmlwdGlvbiI9PT1lLm5vZGVOYW1lKWZvcihjb25zdCB0IG9mIGUuY2hpbGROb2Rlcyl7Y29uc3QgZT10Lm5vZGVOYW1lO3N3aXRjaChlKXtjYXNlIiN0ZXh0Ijpjb250aW51ZTtjYXNlImRjOmNyZWF0b3IiOmNhc2UiZGM6c3ViamVjdCI6dGhpcy5fcGFyc2VBcnJheSh0KTtjb250aW51ZX10aGlzLl9tZXRhZGF0YU1hcC5zZXQoZSx0LnRleHRDb250ZW50LnRyaW0oKSl9fWdldCBzZXJpYWxpemFibGUoKXtyZXR1cm57cGFyc2VkRGF0YTp0aGlzLl9tZXRhZGF0YU1hcCxyYXdEYXRhOnRoaXMuX2RhdGF9fX1jb25zdCBUbj0xLE9uPTIsTW49MyxEbj00LEJuPTU7Y2xhc3MgU3RydWN0VHJlZVJvb3R7Y29uc3RydWN0b3IoZSx0LGEpe3RoaXMueHJlZj1lO3RoaXMuZGljdD10O3RoaXMucmVmPWEgaW5zdGFuY2VvZiBSZWY/YTpudWxsO3RoaXMucm9sZU1hcD1uZXcgTWFwO3RoaXMuc3RydWN0UGFyZW50SWRzPW51bGx9aW5pdCgpe3RoaXMucmVhZFJvbGVNYXAoKX0jWihlLHQsYSl7aWYoIShlIGluc3RhbmNlb2YgUmVmKXx8dDwwKXJldHVybjt0aGlzLnN0cnVjdFBhcmVudElkc3x8PW5ldyBSZWZTZXRDYWNoZTtsZXQgcj10aGlzLnN0cnVjdFBhcmVudElkcy5nZXQoZSk7aWYoIXIpe3I9W107dGhpcy5zdHJ1Y3RQYXJlbnRJZHMucHV0KGUscil9ci5wdXNoKFt0LGFdKX1hZGRBbm5vdGF0aW9uSWRUb1BhZ2UoZSx0KXt0aGlzLiNaKGUsdCxEbil9cmVhZFJvbGVNYXAoKXtjb25zdCBlPXRoaXMuZGljdC5nZXQoIlJvbGVNYXAiKTtpZihlIGluc3RhbmNlb2YgRGljdClmb3IoY29uc3RbdCxhXW9mIGUpYSBpbnN0YW5jZW9mIE5hbWUmJnRoaXMucm9sZU1hcC5zZXQodCxhLm5hbWUpfXN0YXRpYyBhc3luYyBjYW5DcmVhdGVTdHJ1Y3R1cmVUcmVlKHtjYXRhbG9nUmVmOmUscGRmTWFuYWdlcjp0LG5ld0Fubm90YXRpb25zQnlQYWdlOmF9KXtpZighKGUgaW5zdGFuY2VvZiBSZWYpKXt3YXJuKCJDYW5ub3Qgc2F2ZSB0aGUgc3RydWN0IHRyZWU6IG5vIGNhdGFsb2cgcmVmZXJlbmNlLiIpO3JldHVybiExfWxldCByPTAsaT0hMDtmb3IoY29uc3RbZSxuXW9mIGEpe2NvbnN0e3JlZjphfT1hd2FpdCB0LmdldFBhZ2UoZSk7aWYoIShhIGluc3RhbmNlb2YgUmVmKSl7d2FybihgQ2Fubm90IHNhdmUgdGhlIHN0cnVjdCB0cmVlOiBwYWdlICR7ZX0gaGFzIG5vIHJlZi5gKTtpPSEwO2JyZWFrfWZvcihjb25zdCBlIG9mIG4paWYoZS5hY2Nlc3NpYmlsaXR5RGF0YT8udHlwZSl7ZS5wYXJlbnRUcmVlSWQ9cisrO2k9ITF9fWlmKGkpe2Zvcihjb25zdCBlIG9mIGEudmFsdWVzKCkpZm9yKGNvbnN0IHQgb2YgZSlkZWxldGUgdC5wYXJlbnRUcmVlSWQ7cmV0dXJuITF9cmV0dXJuITB9c3RhdGljIGFzeW5jIGNyZWF0ZVN0cnVjdHVyZVRyZWUoe25ld0Fubm90YXRpb25zQnlQYWdlOmUseHJlZjp0LGNhdGFsb2dSZWY6YSxwZGZNYW5hZ2VyOnIsY2hhbmdlczppfSl7Y29uc3Qgbj1hd2FpdCByLmVuc3VyZUNhdGFsb2coImNsb25lRGljdCIpLHM9bmV3IFJlZlNldENhY2hlO3MucHV0KGEsbik7Y29uc3Qgbz10LmdldE5ld1RlbXBvcmFyeVJlZigpO24uc2V0KCJTdHJ1Y3RUcmVlUm9vdCIsbyk7Y29uc3QgYz1uZXcgRGljdCh0KTtjLnNldCgiVHlwZSIsTmFtZS5nZXQoIlN0cnVjdFRyZWVSb290IikpO2NvbnN0IGw9dC5nZXROZXdUZW1wb3JhcnlSZWYoKTtjLnNldCgiUGFyZW50VHJlZSIsbCk7Y29uc3QgaD1bXTtjLnNldCgiSyIsaCk7cy5wdXQobyxjKTtjb25zdCB1PW5ldyBEaWN0KHQpLGQ9W107dS5zZXQoIk51bXMiLGQpO2NvbnN0IGY9YXdhaXQgdGhpcy4jUSh7bmV3QW5ub3RhdGlvbnNCeVBhZ2U6ZSxzdHJ1Y3RUcmVlUm9vdFJlZjpvLHN0cnVjdFRyZWVSb290Om51bGwsa2lkczpoLG51bXM6ZCx4cmVmOnQscGRmTWFuYWdlcjpyLGNoYW5nZXM6aSxjYWNoZTpzfSk7Yy5zZXQoIlBhcmVudFRyZWVOZXh0S2V5IixmKTtzLnB1dChsLHUpO2Zvcihjb25zdFtlLHRdb2Ygcy5pdGVtcygpKWkucHV0KGUse2RhdGE6dH0pfWFzeW5jIGNhblVwZGF0ZVN0cnVjdFRyZWUoe3BkZk1hbmFnZXI6ZSxuZXdBbm5vdGF0aW9uc0J5UGFnZTp0fSl7aWYoIXRoaXMucmVmKXt3YXJuKCJDYW5ub3QgdXBkYXRlIHRoZSBzdHJ1Y3QgdHJlZTogbm8gcm9vdCByZWZlcmVuY2UuIik7cmV0dXJuITF9bGV0IGE9dGhpcy5kaWN0LmdldCgiUGFyZW50VHJlZU5leHRLZXkiKTtpZighTnVtYmVyLmlzSW50ZWdlcihhKXx8YTwwKXt3YXJuKCJDYW5ub3QgdXBkYXRlIHRoZSBzdHJ1Y3QgdHJlZTogaW52YWxpZCBuZXh0IGtleS4iKTtyZXR1cm4hMX1jb25zdCByPXRoaXMuZGljdC5nZXQoIlBhcmVudFRyZWUiKTtpZighKHIgaW5zdGFuY2VvZiBEaWN0KSl7d2FybigiQ2Fubm90IHVwZGF0ZSB0aGUgc3RydWN0IHRyZWU6IFBhcmVudFRyZWUgaXNuJ3QgYSBkaWN0LiIpO3JldHVybiExfWNvbnN0IGk9ci5nZXQoIk51bXMiKTtpZighQXJyYXkuaXNBcnJheShpKSl7d2FybigiQ2Fubm90IHVwZGF0ZSB0aGUgc3RydWN0IHRyZWU6IG51bXMgaXNuJ3QgYW4gYXJyYXkuIik7cmV0dXJuITF9Y29uc3Qgbj1uZXcgTnVtYmVyVHJlZShyLHRoaXMueHJlZik7Zm9yKGNvbnN0IGEgb2YgdC5rZXlzKCkpe2NvbnN0e3BhZ2VEaWN0OnR9PWF3YWl0IGUuZ2V0UGFnZShhKTtpZighdC5oYXMoIlN0cnVjdFBhcmVudHMiKSljb250aW51ZTtjb25zdCByPXQuZ2V0KCJTdHJ1Y3RQYXJlbnRzIik7aWYoIU51bWJlci5pc0ludGVnZXIocil8fCFBcnJheS5pc0FycmF5KG4uZ2V0KHIpKSl7d2FybihgQ2Fubm90IHNhdmUgdGhlIHN0cnVjdCB0cmVlOiBwYWdlICR7YX0gaGFzIGEgd3JvbmcgaWQuYCk7cmV0dXJuITF9fWxldCBzPSEwO2Zvcihjb25zdFtyLGldb2YgdCl7Y29uc3R7cGFnZURpY3Q6dH09YXdhaXQgZS5nZXRQYWdlKHIpO1N0cnVjdFRyZWVSb290LiNlZSh7ZWxlbWVudHM6aSx4cmVmOnRoaXMueHJlZixwYWdlRGljdDp0LG51bWJlclRyZWU6bn0pO2Zvcihjb25zdCBlIG9mIGkpaWYoZS5hY2Nlc3NpYmlsaXR5RGF0YT8udHlwZSl7ZS5hY2Nlc3NpYmlsaXR5RGF0YS5zdHJ1Y3RQYXJlbnQ+PTB8fChlLnBhcmVudFRyZWVJZD1hKyspO3M9ITF9fWlmKHMpe2Zvcihjb25zdCBlIG9mIHQudmFsdWVzKCkpZm9yKGNvbnN0IHQgb2YgZSl7ZGVsZXRlIHQucGFyZW50VHJlZUlkO2RlbGV0ZSB0LnN0cnVjdFRyZWVQYXJlbnR9cmV0dXJuITF9cmV0dXJuITB9YXN5bmMgdXBkYXRlU3RydWN0dXJlVHJlZSh7bmV3QW5ub3RhdGlvbnNCeVBhZ2U6ZSxwZGZNYW5hZ2VyOnQsY2hhbmdlczphfSl7Y29uc3R7cmVmOnIseHJlZjppfT10aGlzLG49dGhpcy5kaWN0LmNsb25lKCkscz1uZXcgUmVmU2V0Q2FjaGU7cy5wdXQocixuKTtsZXQgbyxjPW4uZ2V0UmF3KCJQYXJlbnRUcmVlIik7aWYoYyBpbnN0YW5jZW9mIFJlZilvPWkuZmV0Y2goYyk7ZWxzZXtvPWM7Yz1pLmdldE5ld1RlbXBvcmFyeVJlZigpO24uc2V0KCJQYXJlbnRUcmVlIixjKX1vPW8uY2xvbmUoKTtzLnB1dChjLG8pO2xldCBsPW8uZ2V0UmF3KCJOdW1zIiksaD1udWxsO2lmKGwgaW5zdGFuY2VvZiBSZWYpe2g9bDtsPWkuZmV0Y2goaCl9bD1sLnNsaWNlKCk7aHx8by5zZXQoIk51bXMiLGwpO2NvbnN0IHU9YXdhaXQgU3RydWN0VHJlZVJvb3QuI1Eoe25ld0Fubm90YXRpb25zQnlQYWdlOmUsc3RydWN0VHJlZVJvb3RSZWY6cixzdHJ1Y3RUcmVlUm9vdDp0aGlzLGtpZHM6bnVsbCxudW1zOmwseHJlZjppLHBkZk1hbmFnZXI6dCxjaGFuZ2VzOmEsY2FjaGU6c30pO2lmKC0xIT09dSl7bi5zZXQoIlBhcmVudFRyZWVOZXh0S2V5Iix1KTtoJiZzLnB1dChoLGwpO2Zvcihjb25zdFtlLHRdb2Ygcy5pdGVtcygpKWEucHV0KGUse2RhdGE6dH0pfX1zdGF0aWMgYXN5bmMjUSh7bmV3QW5ub3RhdGlvbnNCeVBhZ2U6ZSxzdHJ1Y3RUcmVlUm9vdFJlZjp0LHN0cnVjdFRyZWVSb290OmEsa2lkczpyLG51bXM6aSx4cmVmOm4scGRmTWFuYWdlcjpzLGNoYW5nZXM6byxjYWNoZTpjfSl7Y29uc3QgbD1OYW1lLmdldCgiT0JKUiIpO2xldCBoLHU9LTE7Zm9yKGNvbnN0W2QsZl1vZiBlKXtjb25zdCBlPWF3YWl0IHMuZ2V0UGFnZShkKSx7cmVmOmd9PWUscD1nIGluc3RhbmNlb2YgUmVmO2Zvcihjb25zdHthY2Nlc3NpYmlsaXR5RGF0YTpzLHJlZjptLHBhcmVudFRyZWVJZDpiLHN0cnVjdFRyZWVQYXJlbnQ6eX1vZiBmKXtpZighcz8udHlwZSljb250aW51ZTtjb25zdHtzdHJ1Y3RQYXJlbnQ6Zn09cztpZihhJiZOdW1iZXIuaXNJbnRlZ2VyKGYpJiZmPj0wKXtsZXQgdD0oaHx8PW5ldyBNYXApLmdldChkKTtpZih2b2lkIDA9PT10KXt0PW5ldyBTdHJ1Y3RUcmVlUGFnZShhLGUucGFnZURpY3QpLmNvbGxlY3RPYmplY3RzKGcpO2guc2V0KGQsdCl9Y29uc3Qgcj10Py5nZXQoZik7aWYocil7Y29uc3QgZT1uLmZldGNoKHIpLmNsb25lKCk7U3RydWN0VHJlZVJvb3QuI3RlKGUscyk7by5wdXQocix7ZGF0YTplfSk7Y29udGludWV9fXU9TWF0aC5tYXgodSxiKTtjb25zdCB3PW4uZ2V0TmV3VGVtcG9yYXJ5UmVmKCkseD1uZXcgRGljdChuKTtTdHJ1Y3RUcmVlUm9vdC4jdGUoeCxzKTthd2FpdCB0aGlzLiNhZSh7c3RydWN0VHJlZVBhcmVudDp5LHRhZ0RpY3Q6eCxuZXdUYWdSZWY6dyxzdHJ1Y3RUcmVlUm9vdFJlZjp0LGZhbGxiYWNrS2lkczpyLHhyZWY6bixjYWNoZTpjfSk7Y29uc3QgUz1uZXcgRGljdChuKTt4LnNldCgiSyIsUyk7Uy5zZXQoIlR5cGUiLGwpO3AmJlMuc2V0KCJQZyIsZyk7Uy5zZXQoIk9iaiIsbSk7Yy5wdXQodyx4KTtpLnB1c2goYix3KX19cmV0dXJuIHUrMX1zdGF0aWMjdGUoZSx7dHlwZTp0LHRpdGxlOmEsbGFuZzpyLGFsdDppLGV4cGFuZGVkOm4sYWN0dWFsVGV4dDpzfSl7ZS5zZXQoIlMiLE5hbWUuZ2V0KHQpKTthJiZlLnNldCgiVCIsc3RyaW5nVG9Bc2NpaU9yVVRGMTZCRShhKSk7ciYmZS5zZXQoIkxhbmciLHN0cmluZ1RvQXNjaWlPclVURjE2QkUocikpO2kmJmUuc2V0KCJBbHQiLHN0cmluZ1RvQXNjaWlPclVURjE2QkUoaSkpO24mJmUuc2V0KCJFIixzdHJpbmdUb0FzY2lpT3JVVEYxNkJFKG4pKTtzJiZlLnNldCgiQWN0dWFsVGV4dCIsc3RyaW5nVG9Bc2NpaU9yVVRGMTZCRShzKSl9c3RhdGljI2VlKHtlbGVtZW50czplLHhyZWY6dCxwYWdlRGljdDphLG51bWJlclRyZWU6cn0pe2NvbnN0IGk9bmV3IE1hcDtmb3IoY29uc3QgdCBvZiBlKWlmKHQuc3RydWN0VHJlZVBhcmVudElkKXtjb25zdCBlPXBhcnNlSW50KHQuc3RydWN0VHJlZVBhcmVudElkLnNwbGl0KCJfbWMiKVsxXSwxMCk7bGV0IGE9aS5nZXQoZSk7aWYoIWEpe2E9W107aS5zZXQoZSxhKX1hLnB1c2godCl9Y29uc3Qgbj1hLmdldCgiU3RydWN0UGFyZW50cyIpO2lmKCFOdW1iZXIuaXNJbnRlZ2VyKG4pKXJldHVybjtjb25zdCBzPXIuZ2V0KG4pLHVwZGF0ZUVsZW1lbnQ9KGUsYSxyKT0+e2NvbnN0IG49aS5nZXQoZSk7aWYobil7Y29uc3QgZT1hLmdldFJhdygiUCIpLGk9dC5mZXRjaElmUmVmKGUpO2lmKGUgaW5zdGFuY2VvZiBSZWYmJmkgaW5zdGFuY2VvZiBEaWN0KXtjb25zdCBlPXtyZWY6cixkaWN0OmF9O2Zvcihjb25zdCB0IG9mIG4pdC5zdHJ1Y3RUcmVlUGFyZW50PWV9cmV0dXJuITB9cmV0dXJuITF9O2Zvcihjb25zdCBlIG9mIHMpe2lmKCEoZSBpbnN0YW5jZW9mIFJlZikpY29udGludWU7Y29uc3QgYT10LmZldGNoKGUpLHI9YS5nZXQoIksiKTtpZihOdW1iZXIuaXNJbnRlZ2VyKHIpKXVwZGF0ZUVsZW1lbnQocixhLGUpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShyKSlmb3IobGV0IGkgb2Ygcil7aT10LmZldGNoSWZSZWYoaSk7aWYoTnVtYmVyLmlzSW50ZWdlcihpKSYmdXBkYXRlRWxlbWVudChpLGEsZSkpYnJlYWs7aWYoIShpIGluc3RhbmNlb2YgRGljdCkpY29udGludWU7aWYoIWlzTmFtZShpLmdldCgiVHlwZSIpLCJNQ1IiKSlicmVhaztjb25zdCByPWkuZ2V0KCJNQ0lEIik7aWYoTnVtYmVyLmlzSW50ZWdlcihyKSYmdXBkYXRlRWxlbWVudChyLGEsZSkpYnJlYWt9fX1zdGF0aWMgYXN5bmMjYWUoe3N0cnVjdFRyZWVQYXJlbnQ6ZSx0YWdEaWN0OnQsbmV3VGFnUmVmOmEsc3RydWN0VHJlZVJvb3RSZWY6cixmYWxsYmFja0tpZHM6aSx4cmVmOm4sY2FjaGU6c30pe2xldCBvLGM9bnVsbDtpZihlKXsoe3JlZjpjfT1lKTtvPWUuZGljdC5nZXRSYXcoIlAiKXx8cn1lbHNlIG89cjt0LnNldCgiUCIsbyk7Y29uc3QgbD1uLmZldGNoSWZSZWYobyk7aWYoIWwpe2kucHVzaChhKTtyZXR1cm59bGV0IGg9cy5nZXQobyk7aWYoIWgpe2g9bC5jbG9uZSgpO3MucHV0KG8saCl9Y29uc3QgdT1oLmdldFJhdygiSyIpO2xldCBkPXUgaW5zdGFuY2VvZiBSZWY/cy5nZXQodSk6bnVsbDtpZighZCl7ZD1uLmZldGNoSWZSZWYodSk7ZD1BcnJheS5pc0FycmF5KGQpP2Quc2xpY2UoKTpbdV07Y29uc3QgZT1uLmdldE5ld1RlbXBvcmFyeVJlZigpO2guc2V0KCJLIixlKTtzLnB1dChlLGQpfWNvbnN0IGY9ZC5pbmRleE9mKGMpO2Quc3BsaWNlKGY+PTA/ZisxOmQubGVuZ3RoLDAsYSl9fWNsYXNzIFN0cnVjdEVsZW1lbnROb2Rle2NvbnN0cnVjdG9yKGUsdCl7dGhpcy50cmVlPWU7dGhpcy54cmVmPWUueHJlZjt0aGlzLmRpY3Q9dDt0aGlzLmtpZHM9W107dGhpcy5wYXJzZUtpZHMoKX1nZXQgcm9sZSgpe2NvbnN0IGU9dGhpcy5kaWN0LmdldCgiUyIpLHQ9ZSBpbnN0YW5jZW9mIE5hbWU/ZS5uYW1lOiIiLHtyb290OmF9PXRoaXMudHJlZTtyZXR1cm4gYS5yb2xlTWFwLmdldCh0KT8/dH1wYXJzZUtpZHMoKXtsZXQgZT1udWxsO2NvbnN0IHQ9dGhpcy5kaWN0LmdldFJhdygiUGciKTt0IGluc3RhbmNlb2YgUmVmJiYoZT10LnRvU3RyaW5nKCkpO2NvbnN0IGE9dGhpcy5kaWN0LmdldCgiSyIpO2lmKEFycmF5LmlzQXJyYXkoYSkpZm9yKGNvbnN0IHQgb2YgYSl7Y29uc3QgYT10aGlzLnBhcnNlS2lkKGUsdGhpcy54cmVmLmZldGNoSWZSZWYodCkpO2EmJnRoaXMua2lkcy5wdXNoKGEpfWVsc2V7Y29uc3QgdD10aGlzLnBhcnNlS2lkKGUsYSk7dCYmdGhpcy5raWRzLnB1c2godCl9fXBhcnNlS2lkKGUsdCl7aWYoTnVtYmVyLmlzSW50ZWdlcih0KSlyZXR1cm4gdGhpcy50cmVlLnBhZ2VEaWN0Lm9iaklkIT09ZT9udWxsOm5ldyBTdHJ1Y3RFbGVtZW50KHt0eXBlOlRuLG1jaWQ6dCxwYWdlT2JqSWQ6ZX0pO2lmKCEodCBpbnN0YW5jZW9mIERpY3QpKXJldHVybiBudWxsO2NvbnN0IGE9dC5nZXRSYXcoIlBnIik7YSBpbnN0YW5jZW9mIFJlZiYmKGU9YS50b1N0cmluZygpKTtjb25zdCByPXQuZ2V0KCJUeXBlIilpbnN0YW5jZW9mIE5hbWU/dC5nZXQoIlR5cGUiKS5uYW1lOm51bGw7aWYoIk1DUiI9PT1yKXtpZih0aGlzLnRyZWUucGFnZURpY3Qub2JqSWQhPT1lKXJldHVybiBudWxsO2NvbnN0IGE9dC5nZXRSYXcoIlN0bSIpO3JldHVybiBuZXcgU3RydWN0RWxlbWVudCh7dHlwZTpPbixyZWZPYmpJZDphIGluc3RhbmNlb2YgUmVmP2EudG9TdHJpbmcoKTpudWxsLHBhZ2VPYmpJZDplLG1jaWQ6dC5nZXQoIk1DSUQiKX0pfWlmKCJPQkpSIj09PXIpe2lmKHRoaXMudHJlZS5wYWdlRGljdC5vYmpJZCE9PWUpcmV0dXJuIG51bGw7Y29uc3QgYT10LmdldFJhdygiT2JqIik7cmV0dXJuIG5ldyBTdHJ1Y3RFbGVtZW50KHt0eXBlOk1uLHJlZk9iaklkOmEgaW5zdGFuY2VvZiBSZWY/YS50b1N0cmluZygpOm51bGwscGFnZU9iaklkOmV9KX1yZXR1cm4gbmV3IFN0cnVjdEVsZW1lbnQoe3R5cGU6Qm4sZGljdDp0fSl9fWNsYXNzIFN0cnVjdEVsZW1lbnR7Y29uc3RydWN0b3Ioe3R5cGU6ZSxkaWN0OnQ9bnVsbCxtY2lkOmE9bnVsbCxwYWdlT2JqSWQ6cj1udWxsLHJlZk9iaklkOmk9bnVsbH0pe3RoaXMudHlwZT1lO3RoaXMuZGljdD10O3RoaXMubWNpZD1hO3RoaXMucGFnZU9iaklkPXI7dGhpcy5yZWZPYmpJZD1pO3RoaXMucGFyZW50Tm9kZT1udWxsfX1jbGFzcyBTdHJ1Y3RUcmVlUGFnZXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMucm9vdD1lO3RoaXMueHJlZj1lPy54cmVmPz9udWxsO3RoaXMucm9vdERpY3Q9ZT8uZGljdD8/bnVsbDt0aGlzLnBhZ2VEaWN0PXQ7dGhpcy5ub2Rlcz1bXX1jb2xsZWN0T2JqZWN0cyhlKXtpZighKHRoaXMucm9vdCYmdGhpcy5yb290RGljdCYmZSBpbnN0YW5jZW9mIFJlZikpcmV0dXJuIG51bGw7Y29uc3QgdD10aGlzLnJvb3REaWN0LmdldCgiUGFyZW50VHJlZSIpO2lmKCF0KXJldHVybiBudWxsO2NvbnN0IGE9dGhpcy5yb290LnN0cnVjdFBhcmVudElkcz8uZ2V0KGUpO2lmKCFhKXJldHVybiBudWxsO2NvbnN0IHI9bmV3IE1hcCxpPW5ldyBOdW1iZXJUcmVlKHQsdGhpcy54cmVmKTtmb3IoY29uc3RbZV1vZiBhKXtjb25zdCB0PWkuZ2V0UmF3KGUpO3QgaW5zdGFuY2VvZiBSZWYmJnIuc2V0KGUsdCl9cmV0dXJuIHJ9cGFyc2UoZSl7aWYoISh0aGlzLnJvb3QmJnRoaXMucm9vdERpY3QmJmUgaW5zdGFuY2VvZiBSZWYpKXJldHVybjtjb25zdCB0PXRoaXMucm9vdERpY3QuZ2V0KCJQYXJlbnRUcmVlIik7aWYoIXQpcmV0dXJuO2NvbnN0IGE9dGhpcy5wYWdlRGljdC5nZXQoIlN0cnVjdFBhcmVudHMiKSxyPXRoaXMucm9vdC5zdHJ1Y3RQYXJlbnRJZHM/LmdldChlKTtpZighTnVtYmVyLmlzSW50ZWdlcihhKSYmIXIpcmV0dXJuO2NvbnN0IGk9bmV3IE1hcCxuPW5ldyBOdW1iZXJUcmVlKHQsdGhpcy54cmVmKTtpZihOdW1iZXIuaXNJbnRlZ2VyKGEpKXtjb25zdCBlPW4uZ2V0KGEpO2lmKEFycmF5LmlzQXJyYXkoZSkpZm9yKGNvbnN0IHQgb2YgZSl0IGluc3RhbmNlb2YgUmVmJiZ0aGlzLmFkZE5vZGUodGhpcy54cmVmLmZldGNoKHQpLGkpfWlmKHIpZm9yKGNvbnN0W2UsdF1vZiByKXtjb25zdCBhPW4uZ2V0KGUpO2lmKGEpe2NvbnN0IGU9dGhpcy5hZGROb2RlKHRoaXMueHJlZi5mZXRjaElmUmVmKGEpLGkpOzE9PT1lPy5raWRzPy5sZW5ndGgmJmUua2lkc1swXS50eXBlPT09TW4mJihlLmtpZHNbMF0udHlwZT10KX19fWFkZE5vZGUoZSx0LGE9MCl7aWYoYT40MCl7d2FybigiU3RydWN0VHJlZSBNQVhfREVQVEggcmVhY2hlZC4iKTtyZXR1cm4gbnVsbH1pZighKGUgaW5zdGFuY2VvZiBEaWN0KSlyZXR1cm4gbnVsbDtpZih0LmhhcyhlKSlyZXR1cm4gdC5nZXQoZSk7Y29uc3Qgcj1uZXcgU3RydWN0RWxlbWVudE5vZGUodGhpcyxlKTt0LnNldChlLHIpO2NvbnN0IGk9ZS5nZXQoIlAiKTtpZighKGkgaW5zdGFuY2VvZiBEaWN0KXx8aXNOYW1lKGkuZ2V0KCJUeXBlIiksIlN0cnVjdFRyZWVSb290Iikpe3RoaXMuYWRkVG9wTGV2ZWxOb2RlKGUscil8fHQuZGVsZXRlKGUpO3JldHVybiByfWNvbnN0IG49dGhpcy5hZGROb2RlKGksdCxhKzEpO2lmKCFuKXJldHVybiByO2xldCBzPSExO2Zvcihjb25zdCB0IG9mIG4ua2lkcylpZih0LnR5cGU9PT1CbiYmdC5kaWN0PT09ZSl7dC5wYXJlbnROb2RlPXI7cz0hMH1zfHx0LmRlbGV0ZShlKTtyZXR1cm4gcn1hZGRUb3BMZXZlbE5vZGUoZSx0KXtjb25zdCBhPXRoaXMucm9vdERpY3QuZ2V0KCJLIik7aWYoIWEpcmV0dXJuITE7aWYoYSBpbnN0YW5jZW9mIERpY3Qpe2lmKGEub2JqSWQhPT1lLm9iaklkKXJldHVybiExO3RoaXMubm9kZXNbMF09dDtyZXR1cm4hMH1pZighQXJyYXkuaXNBcnJheShhKSlyZXR1cm4hMDtsZXQgcj0hMTtmb3IobGV0IGk9MDtpPGEubGVuZ3RoO2krKyl7Y29uc3Qgbj1hW2ldO2lmKG4/LnRvU3RyaW5nKCk9PT1lLm9iaklkKXt0aGlzLm5vZGVzW2ldPXQ7cj0hMH19cmV0dXJuIHJ9Z2V0IHNlcmlhbGl6YWJsZSgpe2Z1bmN0aW9uIG5vZGVUb1NlcmlhbGl6YWJsZShlLHQsYT0wKXtpZihhPjQwKXt3YXJuKCJTdHJ1Y3RUcmVlIHRvbyBkZWVwIHRvIGJlIGZ1bGx5IHNlcmlhbGl6ZWQuIik7cmV0dXJufWNvbnN0IHI9T2JqZWN0LmNyZWF0ZShudWxsKTtyLnJvbGU9ZS5yb2xlO3IuY2hpbGRyZW49W107dC5jaGlsZHJlbi5wdXNoKHIpO2xldCBpPWUuZGljdC5nZXQoIkFsdCIpOyJzdHJpbmciIT10eXBlb2YgaSYmKGk9ZS5kaWN0LmdldCgiQWN0dWFsVGV4dCIpKTsic3RyaW5nIj09dHlwZW9mIGkmJihyLmFsdD1zdHJpbmdUb1BERlN0cmluZyhpKSk7Y29uc3Qgbj1lLmRpY3QuZ2V0KCJBIik7aWYobiBpbnN0YW5jZW9mIERpY3Qpe2NvbnN0IGU9bG9va3VwTm9ybWFsUmVjdChuLmdldEFycmF5KCJCQm94IiksbnVsbCk7aWYoZSlyLmJib3g9ZTtlbHNle2NvbnN0IGU9bi5nZXQoIldpZHRoIiksdD1uLmdldCgiSGVpZ2h0Iik7Im51bWJlciI9PXR5cGVvZiBlJiZlPjAmJiJudW1iZXIiPT10eXBlb2YgdCYmdD4wJiYoci5iYm94PVswLDAsZSx0XSl9fWNvbnN0IHM9ZS5kaWN0LmdldCgiTGFuZyIpOyJzdHJpbmciPT10eXBlb2YgcyYmKHIubGFuZz1zdHJpbmdUb1BERlN0cmluZyhzKSk7Zm9yKGNvbnN0IHQgb2YgZS5raWRzKXtjb25zdCBlPXQudHlwZT09PUJuP3QucGFyZW50Tm9kZTpudWxsO2U/bm9kZVRvU2VyaWFsaXphYmxlKGUscixhKzEpOnQudHlwZT09PVRufHx0LnR5cGU9PT1Pbj9yLmNoaWxkcmVuLnB1c2goe3R5cGU6ImNvbnRlbnQiLGlkOmBwJHt0LnBhZ2VPYmpJZH1fbWMke3QubWNpZH1gfSk6dC50eXBlPT09TW4/ci5jaGlsZHJlbi5wdXNoKHt0eXBlOiJvYmplY3QiLGlkOnQucmVmT2JqSWR9KTp0LnR5cGU9PT1EbiYmci5jaGlsZHJlbi5wdXNoKHt0eXBlOiJhbm5vdGF0aW9uIixpZDpgcGRmanNfaW50ZXJuYWxfaWRfJHt0LnJlZk9iaklkfWB9KX19Y29uc3QgZT1PYmplY3QuY3JlYXRlKG51bGwpO2UuY2hpbGRyZW49W107ZS5yb2xlPSJSb290Ijtmb3IoY29uc3QgdCBvZiB0aGlzLm5vZGVzKXQmJm5vZGVUb1NlcmlhbGl6YWJsZSh0LGUpO3JldHVybiBlfX1jb25zdCBSbj1mdW5jdGlvbiBfaXNWYWxpZEV4cGxpY2l0RGVzdChlLHQsYSl7aWYoIUFycmF5LmlzQXJyYXkoYSl8fGEubGVuZ3RoPDIpcmV0dXJuITE7Y29uc3RbcixpLC4uLm5dPWE7aWYoIWUocikmJiFOdW1iZXIuaXNJbnRlZ2VyKHIpKXJldHVybiExO2lmKCF0KGkpKXJldHVybiExO2NvbnN0IHM9bi5sZW5ndGg7bGV0IG89ITA7c3dpdGNoKGkubmFtZSl7Y2FzZSJYWVoiOmlmKHM8Mnx8cz4zKXJldHVybiExO2JyZWFrO2Nhc2UiRml0IjpjYXNlIkZpdEIiOnJldHVybiAwPT09cztjYXNlIkZpdEgiOmNhc2UiRml0QkgiOmNhc2UiRml0ViI6Y2FzZSJGaXRCViI6aWYocz4xKXJldHVybiExO2JyZWFrO2Nhc2UiRml0UiI6aWYoNCE9PXMpcmV0dXJuITE7bz0hMTticmVhaztkZWZhdWx0OnJldHVybiExfWZvcihjb25zdCBlIG9mIG4paWYoISgibnVtYmVyIj09dHlwZW9mIGV8fG8mJm51bGw9PT1lKSlyZXR1cm4hMTtyZXR1cm4hMH0uYmluZChudWxsLChlPT5lIGluc3RhbmNlb2YgUmVmKSxpc05hbWUpO2Z1bmN0aW9uIGZldGNoRGVzdChlKXtlIGluc3RhbmNlb2YgRGljdCYmKGU9ZS5nZXQoIkQiKSk7cmV0dXJuIFJuKGUpP2U6bnVsbH1mdW5jdGlvbiBmZXRjaFJlbW90ZURlc3QoZSl7bGV0IHQ9ZS5nZXQoIkQiKTtpZih0KXt0IGluc3RhbmNlb2YgTmFtZSYmKHQ9dC5uYW1lKTtpZigic3RyaW5nIj09dHlwZW9mIHQpcmV0dXJuIHN0cmluZ1RvUERGU3RyaW5nKHQsITApO2lmKFJuKHQpKXJldHVybiBKU09OLnN0cmluZ2lmeSh0KX1yZXR1cm4gbnVsbH1jbGFzcyBDYXRhbG9neyNyZT1udWxsOyNpZT1udWxsO2J1aWx0SW5DTWFwQ2FjaGU9bmV3IE1hcDtmb250Q2FjaGU9bmV3IFJlZlNldENhY2hlO2dsb2JhbENvbG9yU3BhY2VDYWNoZT1uZXcgR2xvYmFsQ29sb3JTcGFjZUNhY2hlO2dsb2JhbEltYWdlQ2FjaGU9bmV3IEdsb2JhbEltYWdlQ2FjaGU7bm9uQmxlbmRNb2Rlc1NldD1uZXcgUmVmU2V0O3BhZ2VEaWN0Q2FjaGU9bmV3IFJlZlNldENhY2hlO3BhZ2VJbmRleENhY2hlPW5ldyBSZWZTZXRDYWNoZTtwYWdlS2lkc0NvdW50Q2FjaGU9bmV3IFJlZlNldENhY2hlO3N0YW5kYXJkRm9udERhdGFDYWNoZT1uZXcgTWFwO3N5c3RlbUZvbnRDYWNoZT1uZXcgTWFwO2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5wZGZNYW5hZ2VyPWU7dGhpcy54cmVmPXQ7dGhpcy4jaWU9dC5nZXRDYXRhbG9nT2JqKCk7aWYoISh0aGlzLiNpZSBpbnN0YW5jZW9mIERpY3QpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiQ2F0YWxvZyBvYmplY3QgaXMgbm90IGEgZGljdGlvbmFyeS4iKTt0aGlzLnRvcGxldmVsUGFnZXNEaWN0fWNsb25lRGljdCgpe3JldHVybiB0aGlzLiNpZS5jbG9uZSgpfWdldCB2ZXJzaW9uKCl7Y29uc3QgZT10aGlzLiNpZS5nZXQoIlZlcnNpb24iKTtpZihlIGluc3RhbmNlb2YgTmFtZSl7aWYob2EudGVzdChlLm5hbWUpKXJldHVybiBzaGFkb3codGhpcywidmVyc2lvbiIsZS5uYW1lKTt3YXJuKGBJbnZhbGlkIFBERiBjYXRhbG9nIHZlcnNpb246ICR7ZS5uYW1lfWApfXJldHVybiBzaGFkb3codGhpcywidmVyc2lvbiIsbnVsbCl9Z2V0IGxhbmcoKXtjb25zdCBlPXRoaXMuI2llLmdldCgiTGFuZyIpO3JldHVybiBzaGFkb3codGhpcywibGFuZyIsZSYmInN0cmluZyI9PXR5cGVvZiBlP3N0cmluZ1RvUERGU3RyaW5nKGUpOm51bGwpfWdldCBuZWVkc1JlbmRlcmluZygpe2NvbnN0IGU9dGhpcy4jaWUuZ2V0KCJOZWVkc1JlbmRlcmluZyIpO3JldHVybiBzaGFkb3codGhpcywibmVlZHNSZW5kZXJpbmciLCJib29sZWFuIj09dHlwZW9mIGUmJmUpfWdldCBjb2xsZWN0aW9uKCl7bGV0IGU9bnVsbDt0cnl7Y29uc3QgdD10aGlzLiNpZS5nZXQoIkNvbGxlY3Rpb24iKTt0IGluc3RhbmNlb2YgRGljdCYmdC5zaXplPjAmJihlPXQpfWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZiBNaXNzaW5nRGF0YUV4Y2VwdGlvbil0aHJvdyBlO2luZm8oIkNhbm5vdCBmZXRjaCBDb2xsZWN0aW9uIGVudHJ5OyBhc3N1bWluZyBubyBjb2xsZWN0aW9uIGlzIHByZXNlbnQuIil9cmV0dXJuIHNoYWRvdyh0aGlzLCJjb2xsZWN0aW9uIixlKX1nZXQgYWNyb0Zvcm0oKXtsZXQgZT1udWxsO3RyeXtjb25zdCB0PXRoaXMuI2llLmdldCgiQWNyb0Zvcm0iKTt0IGluc3RhbmNlb2YgRGljdCYmdC5zaXplPjAmJihlPXQpfWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZiBNaXNzaW5nRGF0YUV4Y2VwdGlvbil0aHJvdyBlO2luZm8oIkNhbm5vdCBmZXRjaCBBY3JvRm9ybSBlbnRyeTsgYXNzdW1pbmcgbm8gZm9ybXMgYXJlIHByZXNlbnQuIil9cmV0dXJuIHNoYWRvdyh0aGlzLCJhY3JvRm9ybSIsZSl9Z2V0IGFjcm9Gb3JtUmVmKCl7Y29uc3QgZT10aGlzLiNpZS5nZXRSYXcoIkFjcm9Gb3JtIik7cmV0dXJuIHNoYWRvdyh0aGlzLCJhY3JvRm9ybVJlZiIsZSBpbnN0YW5jZW9mIFJlZj9lOm51bGwpfWdldCBtZXRhZGF0YSgpe2NvbnN0IGU9dGhpcy4jaWUuZ2V0UmF3KCJNZXRhZGF0YSIpO2lmKCEoZSBpbnN0YW5jZW9mIFJlZikpcmV0dXJuIHNoYWRvdyh0aGlzLCJtZXRhZGF0YSIsbnVsbCk7bGV0IHQ9bnVsbDt0cnl7Y29uc3QgYT10aGlzLnhyZWYuZmV0Y2goZSwhdGhpcy54cmVmLmVuY3J5cHQ/LmVuY3J5cHRNZXRhZGF0YSk7aWYoYSBpbnN0YW5jZW9mIEJhc2VTdHJlYW0mJmEuZGljdCBpbnN0YW5jZW9mIERpY3Qpe2NvbnN0IGU9YS5kaWN0LmdldCgiVHlwZSIpLHI9YS5kaWN0LmdldCgiU3VidHlwZSIpO2lmKGlzTmFtZShlLCJNZXRhZGF0YSIpJiZpc05hbWUociwiWE1MIikpe2NvbnN0IGU9c3RyaW5nVG9VVEY4U3RyaW5nKGEuZ2V0U3RyaW5nKCkpO2UmJih0PW5ldyBNZXRhZGF0YVBhcnNlcihlKS5zZXJpYWxpemFibGUpfX19Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKXRocm93IGU7aW5mbyhgU2tpcHBpbmcgaW52YWxpZCBNZXRhZGF0YTogIiR7ZX0iLmApfXJldHVybiBzaGFkb3codGhpcywibWV0YWRhdGEiLHQpfWdldCBtYXJrSW5mbygpe2xldCBlPW51bGw7dHJ5e2U9dGhpcy4jbmUoKX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pdGhyb3cgZTt3YXJuKCJVbmFibGUgdG8gcmVhZCBtYXJrIGluZm8uIil9cmV0dXJuIHNoYWRvdyh0aGlzLCJtYXJrSW5mbyIsZSl9I25lKCl7Y29uc3QgZT10aGlzLiNpZS5nZXQoIk1hcmtJbmZvIik7aWYoIShlIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuIG51bGw7Y29uc3QgdD17TWFya2VkOiExLFVzZXJQcm9wZXJ0aWVzOiExLFN1c3BlY3RzOiExfTtmb3IoY29uc3QgYSBpbiB0KXtjb25zdCByPWUuZ2V0KGEpOyJib29sZWFuIj09dHlwZW9mIHImJih0W2FdPXIpfXJldHVybiB0fWdldCBzdHJ1Y3RUcmVlUm9vdCgpe2xldCBlPW51bGw7dHJ5e2U9dGhpcy4jc2UoKX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pdGhyb3cgZTt3YXJuKCJVbmFibGUgcmVhZCB0byBzdHJ1Y3RUcmVlUm9vdCBpbmZvLiIpfXJldHVybiBzaGFkb3codGhpcywic3RydWN0VHJlZVJvb3QiLGUpfSNzZSgpe2NvbnN0IGU9dGhpcy4jaWUuZ2V0UmF3KCJTdHJ1Y3RUcmVlUm9vdCIpLHQ9dGhpcy54cmVmLmZldGNoSWZSZWYoZSk7aWYoISh0IGluc3RhbmNlb2YgRGljdCkpcmV0dXJuIG51bGw7Y29uc3QgYT1uZXcgU3RydWN0VHJlZVJvb3QodGhpcy54cmVmLHQsZSk7YS5pbml0KCk7cmV0dXJuIGF9Z2V0IHRvcGxldmVsUGFnZXNEaWN0KCl7Y29uc3QgZT10aGlzLiNpZS5nZXQoIlBhZ2VzIik7aWYoIShlIGluc3RhbmNlb2YgRGljdCkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIHRvcC1sZXZlbCBwYWdlcyBkaWN0aW9uYXJ5LiIpO3JldHVybiBzaGFkb3codGhpcywidG9wbGV2ZWxQYWdlc0RpY3QiLGUpfWdldCBkb2N1bWVudE91dGxpbmUoKXtsZXQgZT1udWxsO3RyeXtlPXRoaXMuI29lKCl9Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKXRocm93IGU7d2FybigiVW5hYmxlIHRvIHJlYWQgZG9jdW1lbnQgb3V0bGluZS4iKX1yZXR1cm4gc2hhZG93KHRoaXMsImRvY3VtZW50T3V0bGluZSIsZSl9I29lKCl7bGV0IGU9dGhpcy4jaWUuZ2V0KCJPdXRsaW5lcyIpO2lmKCEoZSBpbnN0YW5jZW9mIERpY3QpKXJldHVybiBudWxsO2U9ZS5nZXRSYXcoIkZpcnN0Iik7aWYoIShlIGluc3RhbmNlb2YgUmVmKSlyZXR1cm4gbnVsbDtjb25zdCB0PXtpdGVtczpbXX0sYT1be29iajplLHBhcmVudDp0fV0scj1uZXcgUmVmU2V0O3IucHV0KGUpO2NvbnN0IGk9dGhpcy54cmVmLG49bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KDMpO2Zvcig7YS5sZW5ndGg+MDspe2NvbnN0IHQ9YS5zaGlmdCgpLHM9aS5mZXRjaElmUmVmKHQub2JqKTtpZihudWxsPT09cyljb250aW51ZTtzLmhhcygiVGl0bGUiKXx8d2FybigiSW52YWxpZCBvdXRsaW5lIGl0ZW0gZW5jb3VudGVyZWQuIik7Y29uc3Qgbz17dXJsOm51bGwsZGVzdDpudWxsLGFjdGlvbjpudWxsfTtDYXRhbG9nLnBhcnNlRGVzdERpY3Rpb25hcnkoe2Rlc3REaWN0OnMscmVzdWx0T2JqOm8sZG9jQmFzZVVybDp0aGlzLmJhc2VVcmwsZG9jQXR0YWNobWVudHM6dGhpcy5hdHRhY2htZW50c30pO2NvbnN0IGM9cy5nZXQoIlRpdGxlIiksbD1zLmdldCgiRiIpfHwwLGg9cy5nZXRBcnJheSgiQyIpLHU9cy5nZXQoIkNvdW50Iik7bGV0IGQ9bjshaXNOdW1iZXJBcnJheShoLDMpfHwwPT09aFswXSYmMD09PWhbMV0mJjA9PT1oWzJdfHwoZD1Db2xvclNwYWNlVXRpbHMucmdiLmdldFJnYihoLDApKTtjb25zdCBmPXthY3Rpb246by5hY3Rpb24sYXR0YWNobWVudDpvLmF0dGFjaG1lbnQsZGVzdDpvLmRlc3QsdXJsOm8udXJsLHVuc2FmZVVybDpvLnVuc2FmZVVybCxuZXdXaW5kb3c6by5uZXdXaW5kb3csc2V0T0NHU3RhdGU6by5zZXRPQ0dTdGF0ZSx0aXRsZToic3RyaW5nIj09dHlwZW9mIGM/c3RyaW5nVG9QREZTdHJpbmcoYyk6IiIsY29sb3I6ZCxjb3VudDpOdW1iZXIuaXNJbnRlZ2VyKHUpP3U6dm9pZCAwLGJvbGQ6ISEoMiZsKSxpdGFsaWM6ISEoMSZsKSxpdGVtczpbXX07dC5wYXJlbnQuaXRlbXMucHVzaChmKTtlPXMuZ2V0UmF3KCJGaXJzdCIpO2lmKGUgaW5zdGFuY2VvZiBSZWYmJiFyLmhhcyhlKSl7YS5wdXNoKHtvYmo6ZSxwYXJlbnQ6Zn0pO3IucHV0KGUpfWU9cy5nZXRSYXcoIk5leHQiKTtpZihlIGluc3RhbmNlb2YgUmVmJiYhci5oYXMoZSkpe2EucHVzaCh7b2JqOmUscGFyZW50OnQucGFyZW50fSk7ci5wdXQoZSl9fXJldHVybiB0Lml0ZW1zLmxlbmd0aD4wP3QuaXRlbXM6bnVsbH1nZXQgcGVybWlzc2lvbnMoKXtsZXQgZT1udWxsO3RyeXtlPXRoaXMuI2NlKCl9Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKXRocm93IGU7d2FybigiVW5hYmxlIHRvIHJlYWQgcGVybWlzc2lvbnMuIil9cmV0dXJuIHNoYWRvdyh0aGlzLCJwZXJtaXNzaW9ucyIsZSl9I2NlKCl7Y29uc3QgZT10aGlzLnhyZWYudHJhaWxlci5nZXQoIkVuY3J5cHQiKTtpZighKGUgaW5zdGFuY2VvZiBEaWN0KSlyZXR1cm4gbnVsbDtsZXQgdD1lLmdldCgiUCIpO2lmKCJudW1iZXIiIT10eXBlb2YgdClyZXR1cm4gbnVsbDt0Kz0yKiozMjtjb25zdCBhPVtdO2Zvcihjb25zdCBlIGluIHcpe2NvbnN0IHI9d1tlXTt0JnImJmEucHVzaChyKX1yZXR1cm4gYX1nZXQgb3B0aW9uYWxDb250ZW50Q29uZmlnKCl7bGV0IGU9bnVsbDt0cnl7Y29uc3QgdD10aGlzLiNpZS5nZXQoIk9DUHJvcGVydGllcyIpO2lmKCF0KXJldHVybiBzaGFkb3codGhpcywib3B0aW9uYWxDb250ZW50Q29uZmlnIixudWxsKTtjb25zdCBhPXQuZ2V0KCJEIik7aWYoIWEpcmV0dXJuIHNoYWRvdyh0aGlzLCJvcHRpb25hbENvbnRlbnRDb25maWciLG51bGwpO2NvbnN0IHI9dC5nZXQoIk9DR3MiKTtpZighQXJyYXkuaXNBcnJheShyKSlyZXR1cm4gc2hhZG93KHRoaXMsIm9wdGlvbmFsQ29udGVudENvbmZpZyIsbnVsbCk7Y29uc3QgaT1uZXcgUmVmU2V0Q2FjaGU7Zm9yKGNvbnN0IGUgb2YgcillIGluc3RhbmNlb2YgUmVmJiYhaS5oYXMoZSkmJmkucHV0KGUsdGhpcy4jbGUoZSkpO2U9dGhpcy4jaGUoYSxpKX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pdGhyb3cgZTt3YXJuKGBVbmFibGUgdG8gcmVhZCBvcHRpb25hbCBjb250ZW50IGNvbmZpZzogJHtlfWApfXJldHVybiBzaGFkb3codGhpcywib3B0aW9uYWxDb250ZW50Q29uZmlnIixlKX0jbGUoZSl7Y29uc3QgdD10aGlzLnhyZWYuZmV0Y2goZSksYT17aWQ6ZS50b1N0cmluZygpLG5hbWU6bnVsbCxpbnRlbnQ6bnVsbCx1c2FnZTp7cHJpbnQ6bnVsbCx2aWV3Om51bGx9LHJiR3JvdXBzOltdfSxyPXQuZ2V0KCJOYW1lIik7InN0cmluZyI9PXR5cGVvZiByJiYoYS5uYW1lPXN0cmluZ1RvUERGU3RyaW5nKHIpKTtsZXQgaT10LmdldEFycmF5KCJJbnRlbnQiKTtBcnJheS5pc0FycmF5KGkpfHwoaT1baV0pO2kuZXZlcnkoKGU9PmUgaW5zdGFuY2VvZiBOYW1lKSkmJihhLmludGVudD1pLm1hcCgoZT0+ZS5uYW1lKSkpO2NvbnN0IG49dC5nZXQoIlVzYWdlIik7aWYoIShuIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuIGE7Y29uc3Qgcz1hLnVzYWdlLG89bi5nZXQoIlByaW50Iik7aWYobyBpbnN0YW5jZW9mIERpY3Qpe2NvbnN0IGU9by5nZXQoIlByaW50U3RhdGUiKTtpZihlIGluc3RhbmNlb2YgTmFtZSlzd2l0Y2goZS5uYW1lKXtjYXNlIk9OIjpjYXNlIk9GRiI6cy5wcmludD17cHJpbnRTdGF0ZTplLm5hbWV9fX1jb25zdCBjPW4uZ2V0KCJWaWV3Iik7aWYoYyBpbnN0YW5jZW9mIERpY3Qpe2NvbnN0IGU9Yy5nZXQoIlZpZXdTdGF0ZSIpO2lmKGUgaW5zdGFuY2VvZiBOYW1lKXN3aXRjaChlLm5hbWUpe2Nhc2UiT04iOmNhc2UiT0ZGIjpzLnZpZXc9e3ZpZXdTdGF0ZTplLm5hbWV9fX1yZXR1cm4gYX0jaGUoZSx0KXtmdW5jdGlvbiBwYXJzZU9uT2ZmKGUpe2NvbnN0IGE9W107aWYoQXJyYXkuaXNBcnJheShlKSlmb3IoY29uc3QgciBvZiBlKXIgaW5zdGFuY2VvZiBSZWYmJnQuaGFzKHIpJiZhLnB1c2goci50b1N0cmluZygpKTtyZXR1cm4gYX1mdW5jdGlvbiBwYXJzZU9yZGVyKGUsYT0wKXtpZighQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gbnVsbDtjb25zdCBpPVtdO2Zvcihjb25zdCBuIG9mIGUpe2lmKG4gaW5zdGFuY2VvZiBSZWYmJnQuaGFzKG4pKXtyLnB1dChuKTtpLnB1c2gobi50b1N0cmluZygpKTtjb250aW51ZX1jb25zdCBlPXBhcnNlTmVzdGVkT3JkZXIobixhKTtlJiZpLnB1c2goZSl9aWYoYT4wKXJldHVybiBpO2NvbnN0IG49W107Zm9yKGNvbnN0W2Vdb2YgdC5pdGVtcygpKXIuaGFzKGUpfHxuLnB1c2goZS50b1N0cmluZygpKTtuLmxlbmd0aCYmaS5wdXNoKHtuYW1lOm51bGwsb3JkZXI6bn0pO3JldHVybiBpfWZ1bmN0aW9uIHBhcnNlTmVzdGVkT3JkZXIoZSx0KXtpZigrK3Q+aSl7d2FybigicGFyc2VOZXN0ZWRPcmRlciAtIHJlYWNoZWQgTUFYX05FU1RFRF9MRVZFTFMuIik7cmV0dXJuIG51bGx9Y29uc3Qgcj1hLmZldGNoSWZSZWYoZSk7aWYoIUFycmF5LmlzQXJyYXkocikpcmV0dXJuIG51bGw7Y29uc3Qgbj1hLmZldGNoSWZSZWYoclswXSk7aWYoInN0cmluZyIhPXR5cGVvZiBuKXJldHVybiBudWxsO2NvbnN0IHM9cGFyc2VPcmRlcihyLnNsaWNlKDEpLHQpO3JldHVybiBzPy5sZW5ndGg/e25hbWU6c3RyaW5nVG9QREZTdHJpbmcobiksb3JkZXI6c306bnVsbH1jb25zdCBhPXRoaXMueHJlZixyPW5ldyBSZWZTZXQsaT0xMDshZnVuY3Rpb24gcGFyc2VSQkdyb3VwcyhlKXtpZihBcnJheS5pc0FycmF5KGUpKWZvcihjb25zdCByIG9mIGUpe2NvbnN0IGU9YS5mZXRjaElmUmVmKHIpO2lmKCFBcnJheS5pc0FycmF5KGUpfHwhZS5sZW5ndGgpY29udGludWU7Y29uc3QgaT1uZXcgU2V0O2Zvcihjb25zdCBhIG9mIGUpaWYoYSBpbnN0YW5jZW9mIFJlZiYmdC5oYXMoYSkmJiFpLmhhcyhhLnRvU3RyaW5nKCkpKXtpLmFkZChhLnRvU3RyaW5nKCkpO3QuZ2V0KGEpLnJiR3JvdXBzLnB1c2goaSl9fX0oZS5nZXQoIlJCR3JvdXBzIikpO3JldHVybntuYW1lOiJzdHJpbmciPT10eXBlb2YgZS5nZXQoIk5hbWUiKT9zdHJpbmdUb1BERlN0cmluZyhlLmdldCgiTmFtZSIpKTpudWxsLGNyZWF0b3I6InN0cmluZyI9PXR5cGVvZiBlLmdldCgiQ3JlYXRvciIpP3N0cmluZ1RvUERGU3RyaW5nKGUuZ2V0KCJDcmVhdG9yIikpOm51bGwsYmFzZVN0YXRlOmUuZ2V0KCJCYXNlU3RhdGUiKWluc3RhbmNlb2YgTmFtZT9lLmdldCgiQmFzZVN0YXRlIikubmFtZTpudWxsLG9uOnBhcnNlT25PZmYoZS5nZXQoIk9OIikpLG9mZjpwYXJzZU9uT2ZmKGUuZ2V0KCJPRkYiKSksb3JkZXI6cGFyc2VPcmRlcihlLmdldCgiT3JkZXIiKSksZ3JvdXBzOlsuLi50XX19c2V0QWN0dWFsTnVtUGFnZXMoZT1udWxsKXt0aGlzLiNyZT1lfWdldCBoYXNBY3R1YWxOdW1QYWdlcygpe3JldHVybiBudWxsIT09dGhpcy4jcmV9Z2V0IF9wYWdlc0NvdW50KCl7Y29uc3QgZT10aGlzLnRvcGxldmVsUGFnZXNEaWN0LmdldCgiQ291bnQiKTtpZighTnVtYmVyLmlzSW50ZWdlcihlKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlBhZ2UgY291bnQgaW4gdG9wLWxldmVsIHBhZ2VzIGRpY3Rpb25hcnkgaXMgbm90IGFuIGludGVnZXIuIik7cmV0dXJuIHNoYWRvdyh0aGlzLCJfcGFnZXNDb3VudCIsZSl9Z2V0IG51bVBhZ2VzKCl7cmV0dXJuIHRoaXMuI3JlPz90aGlzLl9wYWdlc0NvdW50fWdldCBkZXN0aW5hdGlvbnMoKXtjb25zdCBlPXRoaXMuI3VlKCksdD1PYmplY3QuY3JlYXRlKG51bGwpO2Zvcihjb25zdCBhIG9mIGUpaWYoYSBpbnN0YW5jZW9mIE5hbWVUcmVlKWZvcihjb25zdFtlLHJdb2YgYS5nZXRBbGwoKSl7Y29uc3QgYT1mZXRjaERlc3Qocik7YSYmKHRbc3RyaW5nVG9QREZTdHJpbmcoZSwhMCldPWEpfWVsc2UgaWYoYSBpbnN0YW5jZW9mIERpY3QpZm9yKGNvbnN0W2Uscl1vZiBhKXtjb25zdCBhPWZldGNoRGVzdChyKTthJiYodFtzdHJpbmdUb1BERlN0cmluZyhlLCEwKV18fD1hKX1yZXR1cm4gc2hhZG93KHRoaXMsImRlc3RpbmF0aW9ucyIsdCl9Z2V0RGVzdGluYXRpb24oZSl7aWYodGhpcy5oYXNPd25Qcm9wZXJ0eSgiZGVzdGluYXRpb25zIikpcmV0dXJuIHRoaXMuZGVzdGluYXRpb25zW2VdPz9udWxsO2NvbnN0IHQ9dGhpcy4jdWUoKTtmb3IoY29uc3QgYSBvZiB0KWlmKGEgaW5zdGFuY2VvZiBOYW1lVHJlZXx8YSBpbnN0YW5jZW9mIERpY3Qpe2NvbnN0IHQ9ZmV0Y2hEZXN0KGEuZ2V0KGUpKTtpZih0KXJldHVybiB0fWlmKHQubGVuZ3RoKXtjb25zdCB0PXRoaXMuZGVzdGluYXRpb25zW2VdO2lmKHQpcmV0dXJuIHR9cmV0dXJuIG51bGx9I3VlKCl7Y29uc3QgZT10aGlzLiNpZS5nZXQoIk5hbWVzIiksdD1bXTtlPy5oYXMoIkRlc3RzIikmJnQucHVzaChuZXcgTmFtZVRyZWUoZS5nZXRSYXcoIkRlc3RzIiksdGhpcy54cmVmKSk7dGhpcy4jaWUuaGFzKCJEZXN0cyIpJiZ0LnB1c2godGhpcy4jaWUuZ2V0KCJEZXN0cyIpKTtyZXR1cm4gdH1nZXQgcGFnZUxhYmVscygpe2xldCBlPW51bGw7dHJ5e2U9dGhpcy4jZGUoKX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pdGhyb3cgZTt3YXJuKCJVbmFibGUgdG8gcmVhZCBwYWdlIGxhYmVscy4iKX1yZXR1cm4gc2hhZG93KHRoaXMsInBhZ2VMYWJlbHMiLGUpfSNkZSgpe2NvbnN0IGU9dGhpcy4jaWUuZ2V0UmF3KCJQYWdlTGFiZWxzIik7aWYoIWUpcmV0dXJuIG51bGw7Y29uc3QgdD1uZXcgQXJyYXkodGhpcy5udW1QYWdlcyk7bGV0IGE9bnVsbCxyPSIiO2NvbnN0IGk9bmV3IE51bWJlclRyZWUoZSx0aGlzLnhyZWYpLmdldEFsbCgpO2xldCBuPSIiLHM9MTtmb3IobGV0IGU9MCxvPXRoaXMubnVtUGFnZXM7ZTxvO2UrKyl7Y29uc3Qgbz1pLmdldChlKTtpZih2b2lkIDAhPT1vKXtpZighKG8gaW5zdGFuY2VvZiBEaWN0KSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlBhZ2VMYWJlbCBpcyBub3QgYSBkaWN0aW9uYXJ5LiIpO2lmKG8uaGFzKCJUeXBlIikmJiFpc05hbWUoby5nZXQoIlR5cGUiKSwiUGFnZUxhYmVsIikpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIHR5cGUgaW4gUGFnZUxhYmVsIGRpY3Rpb25hcnkuIik7aWYoby5oYXMoIlMiKSl7Y29uc3QgZT1vLmdldCgiUyIpO2lmKCEoZSBpbnN0YW5jZW9mIE5hbWUpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCBzdHlsZSBpbiBQYWdlTGFiZWwgZGljdGlvbmFyeS4iKTthPWUubmFtZX1lbHNlIGE9bnVsbDtpZihvLmhhcygiUCIpKXtjb25zdCBlPW8uZ2V0KCJQIik7aWYoInN0cmluZyIhPXR5cGVvZiBlKXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCBwcmVmaXggaW4gUGFnZUxhYmVsIGRpY3Rpb25hcnkuIik7cj1zdHJpbmdUb1BERlN0cmluZyhlKX1lbHNlIHI9IiI7aWYoby5oYXMoIlN0Iikpe2NvbnN0IGU9by5nZXQoIlN0Iik7aWYoIShOdW1iZXIuaXNJbnRlZ2VyKGUpJiZlPj0xKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkludmFsaWQgc3RhcnQgaW4gUGFnZUxhYmVsIGRpY3Rpb25hcnkuIik7cz1lfWVsc2Ugcz0xfXN3aXRjaChhKXtjYXNlIkQiOm49czticmVhaztjYXNlIlIiOmNhc2UiciI6bj10b1JvbWFuTnVtZXJhbHMocywiciI9PT1hKTticmVhaztjYXNlIkEiOmNhc2UiYSI6Y29uc3QgZT0yNix0PSJhIj09PWE/OTc6NjUscj1zLTE7bj1TdHJpbmcuZnJvbUNoYXJDb2RlKHQrciVlKS5yZXBlYXQoTWF0aC5mbG9vcihyL2UpKzEpO2JyZWFrO2RlZmF1bHQ6aWYoYSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYEludmFsaWQgc3R5bGUgIiR7YX0iIGluIFBhZ2VMYWJlbCBkaWN0aW9uYXJ5LmApO249IiJ9dFtlXT1yK247cysrfXJldHVybiB0fWdldCBwYWdlTGF5b3V0KCl7Y29uc3QgZT10aGlzLiNpZS5nZXQoIlBhZ2VMYXlvdXQiKTtsZXQgdD0iIjtpZihlIGluc3RhbmNlb2YgTmFtZSlzd2l0Y2goZS5uYW1lKXtjYXNlIlNpbmdsZVBhZ2UiOmNhc2UiT25lQ29sdW1uIjpjYXNlIlR3b0NvbHVtbkxlZnQiOmNhc2UiVHdvQ29sdW1uUmlnaHQiOmNhc2UiVHdvUGFnZUxlZnQiOmNhc2UiVHdvUGFnZVJpZ2h0Ijp0PWUubmFtZX1yZXR1cm4gc2hhZG93KHRoaXMsInBhZ2VMYXlvdXQiLHQpfWdldCBwYWdlTW9kZSgpe2NvbnN0IGU9dGhpcy4jaWUuZ2V0KCJQYWdlTW9kZSIpO2xldCB0PSJVc2VOb25lIjtpZihlIGluc3RhbmNlb2YgTmFtZSlzd2l0Y2goZS5uYW1lKXtjYXNlIlVzZU5vbmUiOmNhc2UiVXNlT3V0bGluZXMiOmNhc2UiVXNlVGh1bWJzIjpjYXNlIkZ1bGxTY3JlZW4iOmNhc2UiVXNlT0MiOmNhc2UiVXNlQXR0YWNobWVudHMiOnQ9ZS5uYW1lfXJldHVybiBzaGFkb3codGhpcywicGFnZU1vZGUiLHQpfWdldCB2aWV3ZXJQcmVmZXJlbmNlcygpe2NvbnN0IGU9dGhpcy4jaWUuZ2V0KCJWaWV3ZXJQcmVmZXJlbmNlcyIpO2lmKCEoZSBpbnN0YW5jZW9mIERpY3QpKXJldHVybiBzaGFkb3codGhpcywidmlld2VyUHJlZmVyZW5jZXMiLG51bGwpO2xldCB0PW51bGw7Zm9yKGNvbnN0W2Escl1vZiBlKXtsZXQgZTtzd2l0Y2goYSl7Y2FzZSJIaWRlVG9vbGJhciI6Y2FzZSJIaWRlTWVudWJhciI6Y2FzZSJIaWRlV2luZG93VUkiOmNhc2UiRml0V2luZG93IjpjYXNlIkNlbnRlcldpbmRvdyI6Y2FzZSJEaXNwbGF5RG9jVGl0bGUiOmNhc2UiUGlja1RyYXlCeVBERlNpemUiOiJib29sZWFuIj09dHlwZW9mIHImJihlPXIpO2JyZWFrO2Nhc2UiTm9uRnVsbFNjcmVlblBhZ2VNb2RlIjppZihyIGluc3RhbmNlb2YgTmFtZSlzd2l0Y2goci5uYW1lKXtjYXNlIlVzZU5vbmUiOmNhc2UiVXNlT3V0bGluZXMiOmNhc2UiVXNlVGh1bWJzIjpjYXNlIlVzZU9DIjplPXIubmFtZTticmVhaztkZWZhdWx0OmU9IlVzZU5vbmUifWJyZWFrO2Nhc2UiRGlyZWN0aW9uIjppZihyIGluc3RhbmNlb2YgTmFtZSlzd2l0Y2goci5uYW1lKXtjYXNlIkwyUiI6Y2FzZSJSMkwiOmU9ci5uYW1lO2JyZWFrO2RlZmF1bHQ6ZT0iTDJSIn1icmVhaztjYXNlIlZpZXdBcmVhIjpjYXNlIlZpZXdDbGlwIjpjYXNlIlByaW50QXJlYSI6Y2FzZSJQcmludENsaXAiOmlmKHIgaW5zdGFuY2VvZiBOYW1lKXN3aXRjaChyLm5hbWUpe2Nhc2UiTWVkaWFCb3giOmNhc2UiQ3JvcEJveCI6Y2FzZSJCbGVlZEJveCI6Y2FzZSJUcmltQm94IjpjYXNlIkFydEJveCI6ZT1yLm5hbWU7YnJlYWs7ZGVmYXVsdDplPSJDcm9wQm94In1icmVhaztjYXNlIlByaW50U2NhbGluZyI6aWYociBpbnN0YW5jZW9mIE5hbWUpc3dpdGNoKHIubmFtZSl7Y2FzZSJOb25lIjpjYXNlIkFwcERlZmF1bHQiOmU9ci5uYW1lO2JyZWFrO2RlZmF1bHQ6ZT0iQXBwRGVmYXVsdCJ9YnJlYWs7Y2FzZSJEdXBsZXgiOmlmKHIgaW5zdGFuY2VvZiBOYW1lKXN3aXRjaChyLm5hbWUpe2Nhc2UiU2ltcGxleCI6Y2FzZSJEdXBsZXhGbGlwU2hvcnRFZGdlIjpjYXNlIkR1cGxleEZsaXBMb25nRWRnZSI6ZT1yLm5hbWU7YnJlYWs7ZGVmYXVsdDplPSJOb25lIn1icmVhaztjYXNlIlByaW50UGFnZVJhbmdlIjppZihBcnJheS5pc0FycmF5KHIpJiZyLmxlbmd0aCUyPT0wKXtyLmV2ZXJ5KCgoZSx0LGEpPT5OdW1iZXIuaXNJbnRlZ2VyKGUpJiZlPjAmJigwPT09dHx8ZT49YVt0LTFdKSYmZTw9dGhpcy5udW1QYWdlcykpJiYoZT1yKX1icmVhaztjYXNlIk51bUNvcGllcyI6TnVtYmVyLmlzSW50ZWdlcihyKSYmcj4wJiYoZT1yKTticmVhaztkZWZhdWx0Ondhcm4oYElnbm9yaW5nIG5vbi1zdGFuZGFyZCBrZXkgaW4gVmlld2VyUHJlZmVyZW5jZXM6ICR7YX0uYCk7Y29udGludWV9aWYodm9pZCAwIT09ZSl7dD8/PU9iamVjdC5jcmVhdGUobnVsbCk7dFthXT1lfWVsc2Ugd2FybihgQmFkIHZhbHVlLCBmb3Iga2V5ICIke2F9IiwgaW4gVmlld2VyUHJlZmVyZW5jZXM6ICR7cn0uYCl9cmV0dXJuIHNoYWRvdyh0aGlzLCJ2aWV3ZXJQcmVmZXJlbmNlcyIsdCl9Z2V0IG9wZW5BY3Rpb24oKXtjb25zdCBlPXRoaXMuI2llLmdldCgiT3BlbkFjdGlvbiIpLHQ9T2JqZWN0LmNyZWF0ZShudWxsKTtpZihlIGluc3RhbmNlb2YgRGljdCl7Y29uc3QgYT1uZXcgRGljdCh0aGlzLnhyZWYpO2Euc2V0KCJBIixlKTtjb25zdCByPXt1cmw6bnVsbCxkZXN0Om51bGwsYWN0aW9uOm51bGx9O0NhdGFsb2cucGFyc2VEZXN0RGljdGlvbmFyeSh7ZGVzdERpY3Q6YSxyZXN1bHRPYmo6cn0pO0FycmF5LmlzQXJyYXkoci5kZXN0KT90LmRlc3Q9ci5kZXN0OnIuYWN0aW9uJiYodC5hY3Rpb249ci5hY3Rpb24pfWVsc2UgUm4oZSkmJih0LmRlc3Q9ZSk7cmV0dXJuIHNoYWRvdyh0aGlzLCJvcGVuQWN0aW9uIixvYmplY3RTaXplKHQpPjA/dDpudWxsKX1nZXQgYXR0YWNobWVudHMoKXtjb25zdCBlPXRoaXMuI2llLmdldCgiTmFtZXMiKTtsZXQgdD1udWxsO2lmKGUgaW5zdGFuY2VvZiBEaWN0JiZlLmhhcygiRW1iZWRkZWRGaWxlcyIpKXtjb25zdCBhPW5ldyBOYW1lVHJlZShlLmdldFJhdygiRW1iZWRkZWRGaWxlcyIpLHRoaXMueHJlZik7Zm9yKGNvbnN0W2Uscl1vZiBhLmdldEFsbCgpKXtjb25zdCBhPW5ldyBGaWxlU3BlYyhyLHRoaXMueHJlZik7dD8/PU9iamVjdC5jcmVhdGUobnVsbCk7dFtzdHJpbmdUb1BERlN0cmluZyhlLCEwKV09YS5zZXJpYWxpemFibGV9fXJldHVybiBzaGFkb3codGhpcywiYXR0YWNobWVudHMiLHQpfWdldCB4ZmFJbWFnZXMoKXtjb25zdCBlPXRoaXMuI2llLmdldCgiTmFtZXMiKTtsZXQgdD1udWxsO2lmKGUgaW5zdGFuY2VvZiBEaWN0JiZlLmhhcygiWEZBSW1hZ2VzIikpe2NvbnN0IGE9bmV3IE5hbWVUcmVlKGUuZ2V0UmF3KCJYRkFJbWFnZXMiKSx0aGlzLnhyZWYpO2Zvcihjb25zdFtlLHJdb2YgYS5nZXRBbGwoKSlpZihyIGluc3RhbmNlb2YgQmFzZVN0cmVhbSl7dD8/PW5ldyBNYXA7dC5zZXQoc3RyaW5nVG9QREZTdHJpbmcoZSwhMCksci5nZXRCeXRlcygpKX19cmV0dXJuIHNoYWRvdyh0aGlzLCJ4ZmFJbWFnZXMiLHQpfSNmZSgpe2NvbnN0IGU9dGhpcy4jaWUuZ2V0KCJOYW1lcyIpO2xldCB0PW51bGw7ZnVuY3Rpb24gYXBwZW5kSWZKYXZhU2NyaXB0RGljdChlLGEpe2lmKCEoYSBpbnN0YW5jZW9mIERpY3QpKXJldHVybjtpZighaXNOYW1lKGEuZ2V0KCJTIiksIkphdmFTY3JpcHQiKSlyZXR1cm47bGV0IHI9YS5nZXQoIkpTIik7aWYociBpbnN0YW5jZW9mIEJhc2VTdHJlYW0pcj1yLmdldFN0cmluZygpO2Vsc2UgaWYoInN0cmluZyIhPXR5cGVvZiByKXJldHVybjtyPXN0cmluZ1RvUERGU3RyaW5nKHIsITApLnJlcGxhY2VBbGwoIlwwIiwiIik7ciYmKHR8fD1uZXcgTWFwKS5zZXQoZSxyKX1pZihlIGluc3RhbmNlb2YgRGljdCYmZS5oYXMoIkphdmFTY3JpcHQiKSl7Y29uc3QgdD1uZXcgTmFtZVRyZWUoZS5nZXRSYXcoIkphdmFTY3JpcHQiKSx0aGlzLnhyZWYpO2Zvcihjb25zdFtlLGFdb2YgdC5nZXRBbGwoKSlhcHBlbmRJZkphdmFTY3JpcHREaWN0KHN0cmluZ1RvUERGU3RyaW5nKGUsITApLGEpfWNvbnN0IGE9dGhpcy4jaWUuZ2V0KCJPcGVuQWN0aW9uIik7YSYmYXBwZW5kSWZKYXZhU2NyaXB0RGljdCgiT3BlbkFjdGlvbiIsYSk7cmV0dXJuIHR9Z2V0IGpzQWN0aW9ucygpe2NvbnN0IGU9dGhpcy4jZmUoKTtsZXQgdD1jb2xsZWN0QWN0aW9ucyh0aGlzLnhyZWYsdGhpcy4jaWUsYWUpO2lmKGUpe3R8fD1PYmplY3QuY3JlYXRlKG51bGwpO2Zvcihjb25zdFthLHJdb2YgZSlhIGluIHQ/dFthXS5wdXNoKHIpOnRbYV09W3JdfXJldHVybiBzaGFkb3codGhpcywianNBY3Rpb25zIix0KX1hc3luYyBjbGVhbnVwKGU9ITEpe2NsZWFyR2xvYmFsQ2FjaGVzKCk7dGhpcy5nbG9iYWxDb2xvclNwYWNlQ2FjaGUuY2xlYXIoKTt0aGlzLmdsb2JhbEltYWdlQ2FjaGUuY2xlYXIoZSk7dGhpcy5wYWdlS2lkc0NvdW50Q2FjaGUuY2xlYXIoKTt0aGlzLnBhZ2VJbmRleENhY2hlLmNsZWFyKCk7dGhpcy5wYWdlRGljdENhY2hlLmNsZWFyKCk7dGhpcy5ub25CbGVuZE1vZGVzU2V0LmNsZWFyKCk7Zm9yKGNvbnN0e2RpY3Q6ZX1vZiBhd2FpdCBQcm9taXNlLmFsbCh0aGlzLmZvbnRDYWNoZSkpZGVsZXRlIGUuY2FjaGVLZXk7dGhpcy5mb250Q2FjaGUuY2xlYXIoKTt0aGlzLmJ1aWx0SW5DTWFwQ2FjaGUuY2xlYXIoKTt0aGlzLnN0YW5kYXJkRm9udERhdGFDYWNoZS5jbGVhcigpO3RoaXMuc3lzdGVtRm9udENhY2hlLmNsZWFyKCl9YXN5bmMgZ2V0UGFnZURpY3QoZSl7Y29uc3QgdD1bdGhpcy50b3BsZXZlbFBhZ2VzRGljdF0sYT1uZXcgUmVmU2V0LHI9dGhpcy4jaWUuZ2V0UmF3KCJQYWdlcyIpO3IgaW5zdGFuY2VvZiBSZWYmJmEucHV0KHIpO2NvbnN0IGk9dGhpcy54cmVmLG49dGhpcy5wYWdlS2lkc0NvdW50Q2FjaGUscz10aGlzLnBhZ2VJbmRleENhY2hlLG89dGhpcy5wYWdlRGljdENhY2hlO2xldCBjPTA7Zm9yKDt0Lmxlbmd0aDspe2NvbnN0IHI9dC5wb3AoKTtpZihyIGluc3RhbmNlb2YgUmVmKXtjb25zdCBsPW4uZ2V0KHIpO2lmKGw+PTAmJmMrbDw9ZSl7Yys9bDtjb250aW51ZX1pZihhLmhhcyhyKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlBhZ2VzIHRyZWUgY29udGFpbnMgY2lyY3VsYXIgcmVmZXJlbmNlLiIpO2EucHV0KHIpO2NvbnN0IGg9YXdhaXQoby5nZXQocil8fGkuZmV0Y2hBc3luYyhyKSk7aWYoaCBpbnN0YW5jZW9mIERpY3Qpe2xldCB0PWguZ2V0UmF3KCJUeXBlIik7dCBpbnN0YW5jZW9mIFJlZiYmKHQ9YXdhaXQgaS5mZXRjaEFzeW5jKHQpKTtpZihpc05hbWUodCwiUGFnZSIpfHwhaC5oYXMoIktpZHMiKSl7bi5oYXMocil8fG4ucHV0KHIsMSk7cy5oYXMocil8fHMucHV0KHIsYyk7aWYoYz09PWUpcmV0dXJuW2gscl07YysrO2NvbnRpbnVlfX10LnB1c2goaCk7Y29udGludWV9aWYoIShyIGluc3RhbmNlb2YgRGljdCkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJQYWdlIGRpY3Rpb25hcnkga2lkIHJlZmVyZW5jZSBwb2ludHMgdG8gd3JvbmcgdHlwZSBvZiBvYmplY3QuIik7Y29uc3R7b2JqSWQ6bH09cjtsZXQgaD1yLmdldFJhdygiQ291bnQiKTtoIGluc3RhbmNlb2YgUmVmJiYoaD1hd2FpdCBpLmZldGNoQXN5bmMoaCkpO2lmKE51bWJlci5pc0ludGVnZXIoaCkmJmg+PTApe2wmJiFuLmhhcyhsKSYmbi5wdXQobCxoKTtpZihjK2g8PWUpe2MrPWg7Y29udGludWV9fWxldCB1PXIuZ2V0UmF3KCJLaWRzIik7dSBpbnN0YW5jZW9mIFJlZiYmKHU9YXdhaXQgaS5mZXRjaEFzeW5jKHUpKTtpZighQXJyYXkuaXNBcnJheSh1KSl7bGV0IHQ9ci5nZXRSYXcoIlR5cGUiKTt0IGluc3RhbmNlb2YgUmVmJiYodD1hd2FpdCBpLmZldGNoQXN5bmModCkpO2lmKGlzTmFtZSh0LCJQYWdlIil8fCFyLmhhcygiS2lkcyIpKXtpZihjPT09ZSlyZXR1cm5bcixudWxsXTtjKys7Y29udGludWV9dGhyb3cgbmV3IEZvcm1hdEVycm9yKCJQYWdlIGRpY3Rpb25hcnkga2lkcyBvYmplY3QgaXMgbm90IGFuIGFycmF5LiIpfWZvcihsZXQgZT11Lmxlbmd0aC0xO2U+PTA7ZS0tKXtjb25zdCBhPXVbZV07dC5wdXNoKGEpO3I9PT10aGlzLnRvcGxldmVsUGFnZXNEaWN0JiZhIGluc3RhbmNlb2YgUmVmJiYhby5oYXMoYSkmJm8ucHV0KGEsaS5mZXRjaEFzeW5jKGEpKX19dGhyb3cgbmV3IEVycm9yKGBQYWdlIGluZGV4ICR7ZX0gbm90IGZvdW5kLmApfWFzeW5jIGdldEFsbFBhZ2VEaWN0cyhlPSExKXtjb25zdHtpZ25vcmVFcnJvcnM6dH09dGhpcy5wZGZNYW5hZ2VyLmV2YWx1YXRvck9wdGlvbnMsYT1be2N1cnJlbnROb2RlOnRoaXMudG9wbGV2ZWxQYWdlc0RpY3QscG9zSW5LaWRzOjB9XSxyPW5ldyBSZWZTZXQsaT10aGlzLiNpZS5nZXRSYXcoIlBhZ2VzIik7aSBpbnN0YW5jZW9mIFJlZiYmci5wdXQoaSk7Y29uc3Qgbj1uZXcgTWFwLHM9dGhpcy54cmVmLG89dGhpcy5wYWdlSW5kZXhDYWNoZTtsZXQgYz0wO2Z1bmN0aW9uIGFkZFBhZ2VEaWN0KGUsdCl7dCYmIW8uaGFzKHQpJiZvLnB1dCh0LGMpO24uc2V0KGMrKyxbZSx0XSl9ZnVuY3Rpb24gYWRkUGFnZUVycm9yKGEpe2lmKGEgaW5zdGFuY2VvZiBYUmVmRW50cnlFeGNlcHRpb24mJiFlKXRocm93IGE7aWYoZSYmdCYmMD09PWMpe3dhcm4oYGdldEFsbFBhZ2VEaWN0cyAtIFNraXBwaW5nIGludmFsaWQgZmlyc3QgcGFnZTogIiR7YX0iLmApO2E9RGljdC5lbXB0eX1uLnNldChjKyssW2EsbnVsbF0pfWZvcig7YS5sZW5ndGg+MDspe2NvbnN0IGU9YS5hdCgtMSkse2N1cnJlbnROb2RlOnQscG9zSW5LaWRzOml9PWU7bGV0IG49dC5nZXRSYXcoIktpZHMiKTtpZihuIGluc3RhbmNlb2YgUmVmKXRyeXtuPWF3YWl0IHMuZmV0Y2hBc3luYyhuKX1jYXRjaChlKXthZGRQYWdlRXJyb3IoZSk7YnJlYWt9aWYoIUFycmF5LmlzQXJyYXkobikpe2FkZFBhZ2VFcnJvcihuZXcgRm9ybWF0RXJyb3IoIlBhZ2UgZGljdGlvbmFyeSBraWRzIG9iamVjdCBpcyBub3QgYW4gYXJyYXkuIikpO2JyZWFrfWlmKGk+PW4ubGVuZ3RoKXthLnBvcCgpO2NvbnRpbnVlfWNvbnN0IG89bltpXTtsZXQgYztpZihvIGluc3RhbmNlb2YgUmVmKXtpZihyLmhhcyhvKSl7YWRkUGFnZUVycm9yKG5ldyBGb3JtYXRFcnJvcigiUGFnZXMgdHJlZSBjb250YWlucyBjaXJjdWxhciByZWZlcmVuY2UuIikpO2JyZWFrfXIucHV0KG8pO3RyeXtjPWF3YWl0IHMuZmV0Y2hBc3luYyhvKX1jYXRjaChlKXthZGRQYWdlRXJyb3IoZSk7YnJlYWt9fWVsc2UgYz1vO2lmKCEoYyBpbnN0YW5jZW9mIERpY3QpKXthZGRQYWdlRXJyb3IobmV3IEZvcm1hdEVycm9yKCJQYWdlIGRpY3Rpb25hcnkga2lkIHJlZmVyZW5jZSBwb2ludHMgdG8gd3JvbmcgdHlwZSBvZiBvYmplY3QuIikpO2JyZWFrfWxldCBsPWMuZ2V0UmF3KCJUeXBlIik7aWYobCBpbnN0YW5jZW9mIFJlZil0cnl7bD1hd2FpdCBzLmZldGNoQXN5bmMobCl9Y2F0Y2goZSl7YWRkUGFnZUVycm9yKGUpO2JyZWFrfWlzTmFtZShsLCJQYWdlIil8fCFjLmhhcygiS2lkcyIpP2FkZFBhZ2VEaWN0KGMsbyBpbnN0YW5jZW9mIFJlZj9vOm51bGwpOmEucHVzaCh7Y3VycmVudE5vZGU6Yyxwb3NJbktpZHM6MH0pO2UucG9zSW5LaWRzKyt9cmV0dXJuIG59Z2V0UGFnZUluZGV4KGUpe2NvbnN0IHQ9dGhpcy5wYWdlSW5kZXhDYWNoZS5nZXQoZSk7aWYodm9pZCAwIT09dClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHQpO2NvbnN0IGE9dGhpcy54cmVmO2xldCByPTA7Y29uc3QgbmV4dD10PT5mdW5jdGlvbiBwYWdlc0JlZm9yZVJlZih0KXtsZXQgcixpPTA7cmV0dXJuIGEuZmV0Y2hBc3luYyh0KS50aGVuKChmdW5jdGlvbihhKXtpZihpc1JlZnNFcXVhbCh0LGUpJiYhaXNEaWN0KGEsIlBhZ2UiKSYmIShhIGluc3RhbmNlb2YgRGljdCYmIWEuaGFzKCJUeXBlIikmJmEuaGFzKCJDb250ZW50cyIpKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlRoZSByZWZlcmVuY2UgZG9lcyBub3QgcG9pbnQgdG8gYSAvUGFnZSBkaWN0aW9uYXJ5LiIpO2lmKCFhKXJldHVybiBudWxsO2lmKCEoYSBpbnN0YW5jZW9mIERpY3QpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiTm9kZSBtdXN0IGJlIGEgZGljdGlvbmFyeS4iKTtyPWEuZ2V0UmF3KCJQYXJlbnQiKTtyZXR1cm4gYS5nZXRBc3luYygiUGFyZW50Iil9KSkudGhlbigoZnVuY3Rpb24oZSl7aWYoIWUpcmV0dXJuIG51bGw7aWYoIShlIGluc3RhbmNlb2YgRGljdCkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJQYXJlbnQgbXVzdCBiZSBhIGRpY3Rpb25hcnkuIik7cmV0dXJuIGUuZ2V0QXN5bmMoIktpZHMiKX0pKS50aGVuKChmdW5jdGlvbihlKXtpZighZSlyZXR1cm4gbnVsbDtjb25zdCBuPVtdO2xldCBzPSExO2Zvcihjb25zdCByIG9mIGUpe2lmKCEociBpbnN0YW5jZW9mIFJlZikpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJLaWQgbXVzdCBiZSBhIHJlZmVyZW5jZS4iKTtpZihpc1JlZnNFcXVhbChyLHQpKXtzPSEwO2JyZWFrfW4ucHVzaChhLmZldGNoQXN5bmMocikudGhlbigoZnVuY3Rpb24oZSl7aWYoIShlIGluc3RhbmNlb2YgRGljdCkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJLaWQgbm9kZSBtdXN0IGJlIGEgZGljdGlvbmFyeS4iKTtlLmhhcygiQ291bnQiKT9pKz1lLmdldCgiQ291bnQiKTppKyt9KSkpfWlmKCFzKXRocm93IG5ldyBGb3JtYXRFcnJvcigiS2lkIHJlZmVyZW5jZSBub3QgZm91bmQgaW4gcGFyZW50J3Mga2lkcy4iKTtyZXR1cm4gUHJvbWlzZS5hbGwobikudGhlbigoKCk9PltpLHJdKSl9KSl9KHQpLnRoZW4oKHQ9PntpZighdCl7dGhpcy5wYWdlSW5kZXhDYWNoZS5wdXQoZSxyKTtyZXR1cm4gcn1jb25zdFthLGldPXQ7cis9YTtyZXR1cm4gbmV4dChpKX0pKTtyZXR1cm4gbmV4dChlKX1nZXQgYmFzZVVybCgpe2NvbnN0IGU9dGhpcy4jaWUuZ2V0KCJVUkkiKTtpZihlIGluc3RhbmNlb2YgRGljdCl7Y29uc3QgdD1lLmdldCgiQmFzZSIpO2lmKCJzdHJpbmciPT10eXBlb2YgdCl7Y29uc3QgZT1jcmVhdGVWYWxpZEFic29sdXRlVXJsKHQsbnVsbCx7dHJ5Q29udmVydEVuY29kaW5nOiEwfSk7aWYoZSlyZXR1cm4gc2hhZG93KHRoaXMsImJhc2VVcmwiLGUuaHJlZil9fXJldHVybiBzaGFkb3codGhpcywiYmFzZVVybCIsdGhpcy5wZGZNYW5hZ2VyLmRvY0Jhc2VVcmwpfXN0YXRpYyBwYXJzZURlc3REaWN0aW9uYXJ5KHtkZXN0RGljdDplLHJlc3VsdE9iajp0LGRvY0Jhc2VVcmw6YT1udWxsLGRvY0F0dGFjaG1lbnRzOnI9bnVsbH0pe2lmKCEoZSBpbnN0YW5jZW9mIERpY3QpKXt3YXJuKCJwYXJzZURlc3REaWN0aW9uYXJ5OiBgZGVzdERpY3RgIG11c3QgYmUgYSBkaWN0aW9uYXJ5LiIpO3JldHVybn1sZXQgaSxuLHM9ZS5nZXQoIkEiKTtpZighKHMgaW5zdGFuY2VvZiBEaWN0KSlpZihlLmhhcygiRGVzdCIpKXM9ZS5nZXQoIkRlc3QiKTtlbHNle3M9ZS5nZXQoIkFBIik7cyBpbnN0YW5jZW9mIERpY3QmJihzLmhhcygiRCIpP3M9cy5nZXQoIkQiKTpzLmhhcygiVSIpJiYocz1zLmdldCgiVSIpKSl9aWYocyBpbnN0YW5jZW9mIERpY3Qpe2NvbnN0IGU9cy5nZXQoIlMiKTtpZighKGUgaW5zdGFuY2VvZiBOYW1lKSl7d2FybigicGFyc2VEZXN0RGljdGlvbmFyeTogSW52YWxpZCB0eXBlIGluIEFjdGlvbiBkaWN0aW9uYXJ5LiIpO3JldHVybn1jb25zdCBhPWUubmFtZTtzd2l0Y2goYSl7Y2FzZSJSZXNldEZvcm0iOmNvbnN0IGU9cy5nZXQoIkZsYWdzIiksbz0hKDEmKCJudW1iZXIiPT10eXBlb2YgZT9lOjApKSxjPVtdLGw9W107Zm9yKGNvbnN0IGUgb2Ygcy5nZXQoIkZpZWxkcyIpfHxbXSllIGluc3RhbmNlb2YgUmVmP2wucHVzaChlLnRvU3RyaW5nKCkpOiJzdHJpbmciPT10eXBlb2YgZSYmYy5wdXNoKHN0cmluZ1RvUERGU3RyaW5nKGUpKTt0LnJlc2V0Rm9ybT17ZmllbGRzOmMscmVmczpsLGluY2x1ZGU6b307YnJlYWs7Y2FzZSJVUkkiOmk9cy5nZXQoIlVSSSIpO2kgaW5zdGFuY2VvZiBOYW1lJiYoaT0iLyIraS5uYW1lKTticmVhaztjYXNlIkdvVG8iOm49cy5nZXQoIkQiKTticmVhaztjYXNlIkxhdW5jaCI6Y2FzZSJHb1RvUiI6Y29uc3QgaD1zLmdldCgiRiIpO2lmKGggaW5zdGFuY2VvZiBEaWN0KXtjb25zdCBlPW5ldyBGaWxlU3BlYyhoLG51bGwsITApLHtyYXdGaWxlbmFtZTp0fT1lLnNlcmlhbGl6YWJsZTtpPXR9ZWxzZSJzdHJpbmciPT10eXBlb2YgaCYmKGk9aCk7Y29uc3QgdT1mZXRjaFJlbW90ZURlc3Qocyk7dSYmInN0cmluZyI9PXR5cGVvZiBpJiYoaT1pLnNwbGl0KCIjIiwxKVswXSsiIyIrdSk7Y29uc3QgZD1zLmdldCgiTmV3V2luZG93Iik7ImJvb2xlYW4iPT10eXBlb2YgZCYmKHQubmV3V2luZG93PWQpO2JyZWFrO2Nhc2UiR29Ub0UiOmNvbnN0IGY9cy5nZXQoIlQiKTtsZXQgZztpZihyJiZmIGluc3RhbmNlb2YgRGljdCl7Y29uc3QgZT1mLmdldCgiUiIpLHQ9Zi5nZXQoIk4iKTtpc05hbWUoZSwiQyIpJiYic3RyaW5nIj09dHlwZW9mIHQmJihnPXJbc3RyaW5nVG9QREZTdHJpbmcodCwhMCldKX1pZihnKXt0LmF0dGFjaG1lbnQ9Zztjb25zdCBlPWZldGNoUmVtb3RlRGVzdChzKTtlJiYodC5hdHRhY2htZW50RGVzdD1lKX1lbHNlIHdhcm4oJ3BhcnNlRGVzdERpY3Rpb25hcnkgLSB1bmltcGxlbWVudGVkICJHb1RvRSIgYWN0aW9uLicpO2JyZWFrO2Nhc2UiTmFtZWQiOmNvbnN0IHA9cy5nZXQoIk4iKTtwIGluc3RhbmNlb2YgTmFtZSYmKHQuYWN0aW9uPXAubmFtZSk7YnJlYWs7Y2FzZSJTZXRPQ0dTdGF0ZSI6Y29uc3QgbT1zLmdldCgiU3RhdGUiKSxiPXMuZ2V0KCJQcmVzZXJ2ZVJCIik7aWYoIUFycmF5LmlzQXJyYXkobSl8fDA9PT1tLmxlbmd0aClicmVhaztjb25zdCB5PVtdO2Zvcihjb25zdCBlIG9mIG0paWYoZSBpbnN0YW5jZW9mIE5hbWUpc3dpdGNoKGUubmFtZSl7Y2FzZSJPTiI6Y2FzZSJPRkYiOmNhc2UiVG9nZ2xlIjp5LnB1c2goZS5uYW1lKX1lbHNlIGUgaW5zdGFuY2VvZiBSZWYmJnkucHVzaChlLnRvU3RyaW5nKCkpO2lmKHkubGVuZ3RoIT09bS5sZW5ndGgpYnJlYWs7dC5zZXRPQ0dTdGF0ZT17c3RhdGU6eSxwcmVzZXJ2ZVJCOiJib29sZWFuIiE9dHlwZW9mIGJ8fGJ9O2JyZWFrO2Nhc2UiSmF2YVNjcmlwdCI6Y29uc3Qgdz1zLmdldCgiSlMiKTtsZXQgeDt3IGluc3RhbmNlb2YgQmFzZVN0cmVhbT94PXcuZ2V0U3RyaW5nKCk6InN0cmluZyI9PXR5cGVvZiB3JiYoeD13KTtjb25zdCBTPXgmJnJlY292ZXJKc1VSTChzdHJpbmdUb1BERlN0cmluZyh4LCEwKSk7aWYoUyl7aT1TLnVybDt0Lm5ld1dpbmRvdz1TLm5ld1dpbmRvdzticmVha31kZWZhdWx0OmlmKCJKYXZhU2NyaXB0Ij09PWF8fCJTdWJtaXRGb3JtIj09PWEpYnJlYWs7d2FybihgcGFyc2VEZXN0RGljdGlvbmFyeSAtIHVuc3VwcG9ydGVkIGFjdGlvbjogIiR7YX0iLmApfX1lbHNlIGUuaGFzKCJEZXN0IikmJihuPWUuZ2V0KCJEZXN0IikpO2lmKCJzdHJpbmciPT10eXBlb2YgaSl7Y29uc3QgZT1jcmVhdGVWYWxpZEFic29sdXRlVXJsKGksYSx7YWRkRGVmYXVsdFByb3RvY29sOiEwLHRyeUNvbnZlcnRFbmNvZGluZzohMH0pO2UmJih0LnVybD1lLmhyZWYpO3QudW5zYWZlVXJsPWl9aWYobil7biBpbnN0YW5jZW9mIE5hbWUmJihuPW4ubmFtZSk7InN0cmluZyI9PXR5cGVvZiBuP3QuZGVzdD1zdHJpbmdUb1BERlN0cmluZyhuLCEwKTpSbihuKSYmKHQuZGVzdD1uKX19fWZ1bmN0aW9uIGFkZENoaWxkcmVuKGUsdCl7aWYoZSBpbnN0YW5jZW9mIERpY3QpZT1lLmdldFJhd1ZhbHVlcygpO2Vsc2UgaWYoZSBpbnN0YW5jZW9mIEJhc2VTdHJlYW0pZT1lLmRpY3QuZ2V0UmF3VmFsdWVzKCk7ZWxzZSBpZighQXJyYXkuaXNBcnJheShlKSlyZXR1cm47Zm9yKGNvbnN0IHIgb2YgZSkoKGE9cilpbnN0YW5jZW9mIFJlZnx8YSBpbnN0YW5jZW9mIERpY3R8fGEgaW5zdGFuY2VvZiBCYXNlU3RyZWFtfHxBcnJheS5pc0FycmF5KGEpKSYmdC5wdXNoKHIpO3ZhciBhfWNsYXNzIE9iamVjdExvYWRlcntyZWZTZXQ9bmV3IFJlZlNldDtjb25zdHJ1Y3RvcihlLHQsYSl7dGhpcy5kaWN0PWU7dGhpcy5rZXlzPXQ7dGhpcy54cmVmPWF9YXN5bmMgbG9hZCgpe2NvbnN0e2tleXM6ZSxkaWN0OnR9PXRoaXMsYT1bXTtmb3IoY29uc3QgciBvZiBlKXtjb25zdCBlPXQuZ2V0UmF3KHIpO3ZvaWQgMCE9PWUmJmEucHVzaChlKX1hd2FpdCB0aGlzLiNnZShhKTt0aGlzLnJlZlNldD1udWxsfWFzeW5jI2dlKGUpe2NvbnN0IHQ9W10sYT1bXTtmb3IoO2UubGVuZ3RoOyl7bGV0IHI9ZS5wb3AoKTtpZihyIGluc3RhbmNlb2YgUmVmKXtpZih0aGlzLnJlZlNldC5oYXMocikpY29udGludWU7dHJ5e3RoaXMucmVmU2V0LnB1dChyKTtyPXRoaXMueHJlZi5mZXRjaChyKX1jYXRjaChlKXtpZighKGUgaW5zdGFuY2VvZiBNaXNzaW5nRGF0YUV4Y2VwdGlvbikpe3dhcm4oYE9iamVjdExvYWRlci4jd2FsayAtIHJlcXVlc3RpbmcgYWxsIGRhdGE6ICIke2V9Ii5gKTthd2FpdCB0aGlzLnhyZWYuc3RyZWFtLm1hbmFnZXIucmVxdWVzdEFsbENodW5rcygpO3JldHVybn10LnB1c2gocik7YS5wdXNoKHtiZWdpbjplLmJlZ2luLGVuZDplLmVuZH0pfX1pZihyIGluc3RhbmNlb2YgQmFzZVN0cmVhbSl7Y29uc3QgZT1yLmdldEJhc2VTdHJlYW1zKCk7aWYoZSl7bGV0IGk9ITE7Zm9yKGNvbnN0IHQgb2YgZSlpZighdC5pc0RhdGFMb2FkZWQpe2k9ITA7YS5wdXNoKHtiZWdpbjp0LnN0YXJ0LGVuZDp0LmVuZH0pfWkmJnQucHVzaChyKX19YWRkQ2hpbGRyZW4ocixlKX1pZihhLmxlbmd0aCl7YXdhaXQgdGhpcy54cmVmLnN0cmVhbS5tYW5hZ2VyLnJlcXVlc3RSYW5nZXMoYSk7Zm9yKGNvbnN0IGUgb2YgdCllIGluc3RhbmNlb2YgUmVmJiZ0aGlzLnJlZlNldC5yZW1vdmUoZSk7YXdhaXQgdGhpcy4jZ2UodCl9fXN0YXRpYyBhc3luYyBsb2FkKGUsdCxhKXtpZihhLnN0cmVhbS5pc0RhdGFMb2FkZWQpcmV0dXJuO2NvbnN0IHI9bmV3IE9iamVjdExvYWRlcihlLHQsYSk7YXdhaXQgci5sb2FkKCl9fWNvbnN0IE5uPVN5bWJvbCgpLEVuPVN5bWJvbCgpLFBuPVN5bWJvbCgpLExuPVN5bWJvbCgpLGpuPVN5bWJvbCgpLF9uPVN5bWJvbCgpLFVuPVN5bWJvbCgpLFhuPVN5bWJvbCgpLHFuPVN5bWJvbCgpLEhuPVN5bWJvbCgiY29udGVudCIpLFduPVN5bWJvbCgiZGF0YSIpLHpuPVN5bWJvbCgpLCRuPVN5bWJvbCgiZXh0cmEiKSxHbj1TeW1ib2woKSxWbj1TeW1ib2woKSxLbj1TeW1ib2woKSxKbj1TeW1ib2woKSxZbj1TeW1ib2woKSxabj1TeW1ib2woKSxRbj1TeW1ib2woKSxlcz1TeW1ib2woKSx0cz1TeW1ib2woKSxhcz1TeW1ib2woKSxycz1TeW1ib2woKSxpcz1TeW1ib2woKSxucz1TeW1ib2woKSxzcz1TeW1ib2woKSxvcz1TeW1ib2woKSxjcz1TeW1ib2woKSxscz1TeW1ib2woKSxocz1TeW1ib2woKSx1cz1TeW1ib2woKSxkcz1TeW1ib2woKSxmcz1TeW1ib2woKSxncz1TeW1ib2woKSxwcz1TeW1ib2woKSxtcz1TeW1ib2woKSxicz1TeW1ib2woKSx5cz1TeW1ib2woKSx3cz1TeW1ib2woKSx4cz1TeW1ib2woKSxTcz1TeW1ib2woKSxBcz1TeW1ib2woKSxrcz1TeW1ib2woKSxDcz1TeW1ib2woKSx2cz1TeW1ib2woIm5hbWVzcGFjZUlkIiksRnM9U3ltYm9sKCJub2RlTmFtZSIpLElzPVN5bWJvbCgpLFRzPVN5bWJvbCgpLE9zPVN5bWJvbCgpLE1zPVN5bWJvbCgpLERzPVN5bWJvbCgpLEJzPVN5bWJvbCgpLFJzPVN5bWJvbCgpLE5zPVN5bWJvbCgpLEVzPVN5bWJvbCgicm9vdCIpLExzPVN5bWJvbCgpLGpzPVN5bWJvbCgpLF9zPVN5bWJvbCgpLFVzPVN5bWJvbCgpLFhzPVN5bWJvbCgpLHFzPVN5bWJvbCgpLEhzPVN5bWJvbCgpLFdzPVN5bWJvbCgpLHpzPVN5bWJvbCgpLCRzPVN5bWJvbCgpLEdzPVN5bWJvbCgpLFZzPVN5bWJvbCgidWlkIiksS3M9U3ltYm9sKCksSnM9e2NvbmZpZzp7aWQ6MCxjaGVjazplPT5lLnN0YXJ0c1dpdGgoImh0dHA6Ly93d3cueGZhLm9yZy9zY2hlbWEveGNpLyIpfSxjb25uZWN0aW9uU2V0OntpZDoxLGNoZWNrOmU9PmUuc3RhcnRzV2l0aCgiaHR0cDovL3d3dy54ZmEub3JnL3NjaGVtYS94ZmEtY29ubmVjdGlvbi1zZXQvIil9LGRhdGFzZXRzOntpZDoyLGNoZWNrOmU9PmUuc3RhcnRzV2l0aCgiaHR0cDovL3d3dy54ZmEub3JnL3NjaGVtYS94ZmEtZGF0YS8iKX0sZm9ybTp7aWQ6MyxjaGVjazplPT5lLnN0YXJ0c1dpdGgoImh0dHA6Ly93d3cueGZhLm9yZy9zY2hlbWEveGZhLWZvcm0vIil9LGxvY2FsZVNldDp7aWQ6NCxjaGVjazplPT5lLnN0YXJ0c1dpdGgoImh0dHA6Ly93d3cueGZhLm9yZy9zY2hlbWEveGZhLWxvY2FsZS1zZXQvIil9LHBkZjp7aWQ6NSxjaGVjazplPT4iaHR0cDovL25zLmFkb2JlLmNvbS94ZHAvcGRmLyI9PT1lfSxzaWduYXR1cmU6e2lkOjYsY2hlY2s6ZT0+Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyMiPT09ZX0sc291cmNlU2V0OntpZDo3LGNoZWNrOmU9PmUuc3RhcnRzV2l0aCgiaHR0cDovL3d3dy54ZmEub3JnL3NjaGVtYS94ZmEtc291cmNlLXNldC8iKX0sc3R5bGVzaGVldDp7aWQ6OCxjaGVjazplPT4iaHR0cDovL3d3dy53My5vcmcvMTk5OS9YU0wvVHJhbnNmb3JtIj09PWV9LHRlbXBsYXRlOntpZDo5LGNoZWNrOmU9PmUuc3RhcnRzV2l0aCgiaHR0cDovL3d3dy54ZmEub3JnL3NjaGVtYS94ZmEtdGVtcGxhdGUvIil9LHhkYzp7aWQ6MTAsY2hlY2s6ZT0+ZS5zdGFydHNXaXRoKCJodHRwOi8vd3d3LnhmYS5vcmcvc2NoZW1hL3hkYy8iKX0seGRwOntpZDoxMSxjaGVjazplPT4iaHR0cDovL25zLmFkb2JlLmNvbS94ZHAvIj09PWV9LHhmZGY6e2lkOjEyLGNoZWNrOmU9PiJodHRwOi8vbnMuYWRvYmUuY29tL3hmZGYvIj09PWV9LHhodG1sOntpZDoxMyxjaGVjazplPT4iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI9PT1lfSx4bXBtZXRhOntpZDoxNCxjaGVjazplPT4iaHR0cDovL25zLmFkb2JlLmNvbS94bXBtZXRhLyI9PT1lfX0sWXM9e3B0OmU9PmUsY206ZT0+ZS8yLjU0KjcyLG1tOmU9PmUvMjUuNCo3MixpbjplPT43MiplLHB4OmU9PmV9LFpzPS8oWystXT9cZCtcLj9cZCopKC4qKS87ZnVuY3Rpb24gc3RyaXBRdW90ZXMoZSl7cmV0dXJuIGUuc3RhcnRzV2l0aCgiJyIpfHxlLnN0YXJ0c1dpdGgoJyInKT9lLnNsaWNlKDEsLTEpOmV9ZnVuY3Rpb24gZ2V0SW50ZWdlcih7ZGF0YTplLGRlZmF1bHRWYWx1ZTp0LHZhbGlkYXRlOmF9KXtpZighZSlyZXR1cm4gdDtlPWUudHJpbSgpO2NvbnN0IHI9cGFyc2VJbnQoZSwxMCk7cmV0dXJuIWlzTmFOKHIpJiZhKHIpP3I6dH1mdW5jdGlvbiBnZXRGbG9hdCh7ZGF0YTplLGRlZmF1bHRWYWx1ZTp0LHZhbGlkYXRlOmF9KXtpZighZSlyZXR1cm4gdDtlPWUudHJpbSgpO2NvbnN0IHI9cGFyc2VGbG9hdChlKTtyZXR1cm4haXNOYU4ocikmJmEocik/cjp0fWZ1bmN0aW9uIGdldEtleXdvcmQoe2RhdGE6ZSxkZWZhdWx0VmFsdWU6dCx2YWxpZGF0ZTphfSl7cmV0dXJuIGUmJmEoZT1lLnRyaW0oKSk/ZTp0fWZ1bmN0aW9uIGdldFN0cmluZ09wdGlvbihlLHQpe3JldHVybiBnZXRLZXl3b3JkKHtkYXRhOmUsZGVmYXVsdFZhbHVlOnRbMF0sdmFsaWRhdGU6ZT0+dC5pbmNsdWRlcyhlKX0pfWZ1bmN0aW9uIGdldE1lYXN1cmVtZW50KGUsdD0iMCIpe3R8fD0iMCI7aWYoIWUpcmV0dXJuIGdldE1lYXN1cmVtZW50KHQpO2NvbnN0IGE9ZS50cmltKCkubWF0Y2goWnMpO2lmKCFhKXJldHVybiBnZXRNZWFzdXJlbWVudCh0KTtjb25zdFsscixpXT1hLG49cGFyc2VGbG9hdChyKTtpZihpc05hTihuKSlyZXR1cm4gZ2V0TWVhc3VyZW1lbnQodCk7aWYoMD09PW4pcmV0dXJuIDA7Y29uc3Qgcz1Zc1tpXTtyZXR1cm4gcz9zKG4pOm59ZnVuY3Rpb24gZ2V0UmF0aW8oZSl7aWYoIWUpcmV0dXJue251bToxLGRlbjoxfTtjb25zdCB0PWUuc3BsaXQoIjoiLDIpLm1hcCgoZT0+cGFyc2VGbG9hdChlLnRyaW0oKSkpKS5maWx0ZXIoKGU9PiFpc05hTihlKSkpOzE9PT10Lmxlbmd0aCYmdC5wdXNoKDEpO2lmKDA9PT10Lmxlbmd0aClyZXR1cm57bnVtOjEsZGVuOjF9O2NvbnN0W2Escl09dDtyZXR1cm57bnVtOmEsZGVuOnJ9fWZ1bmN0aW9uIGdldFJlbGV2YW50KGUpe3JldHVybiBlP2UudHJpbSgpLnNwbGl0KC9ccysvKS5tYXAoKGU9Pih7ZXhjbHVkZWQ6Ii0iPT09ZVswXSx2aWV3bmFtZTplLnN1YnN0cmluZygxKX0pKSk6W119Y2xhc3MgSFRNTFJlc3VsdHtzdGF0aWMgZ2V0IEZBSUxVUkUoKXtyZXR1cm4gc2hhZG93KHRoaXMsIkZBSUxVUkUiLG5ldyBIVE1MUmVzdWx0KCExLG51bGwsbnVsbCxudWxsKSl9c3RhdGljIGdldCBFTVBUWSgpe3JldHVybiBzaGFkb3codGhpcywiRU1QVFkiLG5ldyBIVE1MUmVzdWx0KCEwLG51bGwsbnVsbCxudWxsKSl9Y29uc3RydWN0b3IoZSx0LGEscil7dGhpcy5zdWNjZXNzPWU7dGhpcy5odG1sPXQ7dGhpcy5iYm94PWE7dGhpcy5icmVha05vZGU9cn1pc0JyZWFrKCl7cmV0dXJuISF0aGlzLmJyZWFrTm9kZX1zdGF0aWMgYnJlYWtOb2RlKGUpe3JldHVybiBuZXcgSFRNTFJlc3VsdCghMSxudWxsLG51bGwsZSl9c3RhdGljIHN1Y2Nlc3MoZSx0PW51bGwpe3JldHVybiBuZXcgSFRNTFJlc3VsdCghMCxlLHQsbnVsbCl9fWNsYXNzIEZvbnRGaW5kZXJ7Y29uc3RydWN0b3IoZSl7dGhpcy5mb250cz1uZXcgTWFwO3RoaXMuY2FjaGU9bmV3IE1hcDt0aGlzLndhcm5lZD1uZXcgU2V0O3RoaXMuZGVmYXVsdEZvbnQ9bnVsbDt0aGlzLmFkZChlKX1hZGQoZSx0PW51bGwpe2Zvcihjb25zdCB0IG9mIGUpdGhpcy5hZGRQZGZGb250KHQpO2Zvcihjb25zdCBlIG9mIHRoaXMuZm9udHMudmFsdWVzKCkpZS5yZWd1bGFyfHwoZS5yZWd1bGFyPWUuaXRhbGljfHxlLmJvbGR8fGUuYm9sZGl0YWxpYyk7aWYoIXR8fDA9PT10LnNpemUpcmV0dXJuO2NvbnN0IGE9dGhpcy5mb250cy5nZXQoIlBkZkpTLUZhbGxiYWNrLVBkZkpTLVhGQSIpO2Zvcihjb25zdCBlIG9mIHQpdGhpcy5mb250cy5zZXQoZSxhKX1hZGRQZGZGb250KGUpe2NvbnN0IHQ9ZS5jc3NGb250SW5mbyxhPXQuZm9udEZhbWlseTtsZXQgcj10aGlzLmZvbnRzLmdldChhKTtpZighcil7cj1PYmplY3QuY3JlYXRlKG51bGwpO3RoaXMuZm9udHMuc2V0KGEscik7dGhpcy5kZWZhdWx0Rm9udHx8KHRoaXMuZGVmYXVsdEZvbnQ9cil9bGV0IGk9IiI7Y29uc3Qgbj1wYXJzZUZsb2F0KHQuZm9udFdlaWdodCk7MCE9PXBhcnNlRmxvYXQodC5pdGFsaWNBbmdsZSk/aT1uPj03MDA/ImJvbGRpdGFsaWMiOiJpdGFsaWMiOm4+PTcwMCYmKGk9ImJvbGQiKTtpZighaSl7KGUubmFtZS5pbmNsdWRlcygiQm9sZCIpfHxlLnBzTmFtZT8uaW5jbHVkZXMoIkJvbGQiKSkmJihpPSJib2xkIik7KGUubmFtZS5pbmNsdWRlcygiSXRhbGljIil8fGUubmFtZS5lbmRzV2l0aCgiSXQiKXx8ZS5wc05hbWU/LmluY2x1ZGVzKCJJdGFsaWMiKXx8ZS5wc05hbWU/LmVuZHNXaXRoKCJJdCIpKSYmKGkrPSJpdGFsaWMiKX1pfHwoaT0icmVndWxhciIpO3JbaV09ZX1nZXREZWZhdWx0KCl7cmV0dXJuIHRoaXMuZGVmYXVsdEZvbnR9ZmluZChlLHQ9ITApe2xldCBhPXRoaXMuZm9udHMuZ2V0KGUpfHx0aGlzLmNhY2hlLmdldChlKTtpZihhKXJldHVybiBhO2NvbnN0IHI9Lyx8LXxffCB8Ym9sZGl0YWxpY3xib2xkfGl0YWxpY3xyZWd1bGFyfGl0L2dpO2xldCBpPWUucmVwbGFjZUFsbChyLCIiKTthPXRoaXMuZm9udHMuZ2V0KGkpO2lmKGEpe3RoaXMuY2FjaGUuc2V0KGUsYSk7cmV0dXJuIGF9aT1pLnRvTG93ZXJDYXNlKCk7Y29uc3Qgbj1bXTtmb3IoY29uc3RbZSx0XW9mIHRoaXMuZm9udHMuZW50cmllcygpKWUucmVwbGFjZUFsbChyLCIiKS50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoaSkmJm4ucHVzaCh0KTtpZigwPT09bi5sZW5ndGgpZm9yKGNvbnN0WyxlXW9mIHRoaXMuZm9udHMuZW50cmllcygpKWUucmVndWxhci5uYW1lPy5yZXBsYWNlQWxsKHIsIiIpLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChpKSYmbi5wdXNoKGUpO2lmKDA9PT1uLmxlbmd0aCl7aT1pLnJlcGxhY2VBbGwoL3BzbXR8bXQvZ2ksIiIpO2Zvcihjb25zdFtlLHRdb2YgdGhpcy5mb250cy5lbnRyaWVzKCkpZS5yZXBsYWNlQWxsKHIsIiIpLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChpKSYmbi5wdXNoKHQpfWlmKDA9PT1uLmxlbmd0aClmb3IoY29uc3QgZSBvZiB0aGlzLmZvbnRzLnZhbHVlcygpKWUucmVndWxhci5uYW1lPy5yZXBsYWNlQWxsKHIsIiIpLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChpKSYmbi5wdXNoKGUpO2lmKG4ubGVuZ3RoPj0xKXsxIT09bi5sZW5ndGgmJnQmJndhcm4oYFhGQSAtIFRvbyBtYW55IGNob2ljZXMgdG8gZ3Vlc3MgdGhlIGNvcnJlY3QgZm9udDogJHtlfWApO3RoaXMuY2FjaGUuc2V0KGUsblswXSk7cmV0dXJuIG5bMF19aWYodCYmIXRoaXMud2FybmVkLmhhcyhlKSl7dGhpcy53YXJuZWQuYWRkKGUpO3dhcm4oYFhGQSAtIENhbm5vdCBmaW5kIHRoZSBmb250OiAke2V9YCl9cmV0dXJuIG51bGx9fWZ1bmN0aW9uIHNlbGVjdEZvbnQoZSx0KXtyZXR1cm4iaXRhbGljIj09PWUucG9zdHVyZT8iYm9sZCI9PT1lLndlaWdodD90LmJvbGRpdGFsaWM6dC5pdGFsaWM6ImJvbGQiPT09ZS53ZWlnaHQ/dC5ib2xkOnQucmVndWxhcn1jbGFzcyBGb250SW5mb3tjb25zdHJ1Y3RvcihlLHQsYSxyKXt0aGlzLmxpbmVIZWlnaHQ9YTt0aGlzLnBhcmFNYXJnaW49dHx8e3RvcDowLGJvdHRvbTowLGxlZnQ6MCxyaWdodDowfTtpZighZSl7W3RoaXMucGRmRm9udCx0aGlzLnhmYUZvbnRdPXRoaXMuZGVmYXVsdEZvbnQocik7cmV0dXJufXRoaXMueGZhRm9udD17dHlwZWZhY2U6ZS50eXBlZmFjZSxwb3N0dXJlOmUucG9zdHVyZSx3ZWlnaHQ6ZS53ZWlnaHQsc2l6ZTplLnNpemUsbGV0dGVyU3BhY2luZzplLmxldHRlclNwYWNpbmd9O2NvbnN0IGk9ci5maW5kKGUudHlwZWZhY2UpO2lmKGkpe3RoaXMucGRmRm9udD1zZWxlY3RGb250KGUsaSk7dGhpcy5wZGZGb250fHwoW3RoaXMucGRmRm9udCx0aGlzLnhmYUZvbnRdPXRoaXMuZGVmYXVsdEZvbnQocikpfWVsc2VbdGhpcy5wZGZGb250LHRoaXMueGZhRm9udF09dGhpcy5kZWZhdWx0Rm9udChyKX1kZWZhdWx0Rm9udChlKXtjb25zdCB0PWUuZmluZCgiSGVsdmV0aWNhIiwhMSl8fGUuZmluZCgiTXlyaWFkIFBybyIsITEpfHxlLmZpbmQoIkFyaWFsIiwhMSl8fGUuZ2V0RGVmYXVsdCgpO2lmKHQ/LnJlZ3VsYXIpe2NvbnN0IGU9dC5yZWd1bGFyO3JldHVybltlLHt0eXBlZmFjZTplLmNzc0ZvbnRJbmZvLmZvbnRGYW1pbHkscG9zdHVyZToibm9ybWFsIix3ZWlnaHQ6Im5vcm1hbCIsc2l6ZToxMCxsZXR0ZXJTcGFjaW5nOjB9XX1yZXR1cm5bbnVsbCx7dHlwZWZhY2U6IkNvdXJpZXIiLHBvc3R1cmU6Im5vcm1hbCIsd2VpZ2h0OiJub3JtYWwiLHNpemU6MTAsbGV0dGVyU3BhY2luZzowfV19fWNsYXNzIEZvbnRTZWxlY3Rvcntjb25zdHJ1Y3RvcihlLHQsYSxyKXt0aGlzLmZvbnRGaW5kZXI9cjt0aGlzLnN0YWNrPVtuZXcgRm9udEluZm8oZSx0LGEscildfXB1c2hEYXRhKGUsdCxhKXtjb25zdCByPXRoaXMuc3RhY2suYXQoLTEpO2Zvcihjb25zdCB0IG9mWyJ0eXBlZmFjZSIsInBvc3R1cmUiLCJ3ZWlnaHQiLCJzaXplIiwibGV0dGVyU3BhY2luZyJdKWVbdF18fChlW3RdPXIueGZhRm9udFt0XSk7Zm9yKGNvbnN0IGUgb2ZbInRvcCIsImJvdHRvbSIsImxlZnQiLCJyaWdodCJdKWlzTmFOKHRbZV0pJiYodFtlXT1yLnBhcmFNYXJnaW5bZV0pO2NvbnN0IGk9bmV3IEZvbnRJbmZvKGUsdCxhfHxyLmxpbmVIZWlnaHQsdGhpcy5mb250RmluZGVyKTtpLnBkZkZvbnR8fChpLnBkZkZvbnQ9ci5wZGZGb250KTt0aGlzLnN0YWNrLnB1c2goaSl9cG9wRm9udCgpe3RoaXMuc3RhY2sucG9wKCl9dG9wRm9udCgpe3JldHVybiB0aGlzLnN0YWNrLmF0KC0xKX19Y2xhc3MgVGV4dE1lYXN1cmV7Y29uc3RydWN0b3IoZSx0LGEscil7dGhpcy5nbHlwaHM9W107dGhpcy5mb250U2VsZWN0b3I9bmV3IEZvbnRTZWxlY3RvcihlLHQsYSxyKTt0aGlzLmV4dHJhSGVpZ2h0PTB9cHVzaERhdGEoZSx0LGEpe3RoaXMuZm9udFNlbGVjdG9yLnB1c2hEYXRhKGUsdCxhKX1wb3BGb250KGUpe3JldHVybiB0aGlzLmZvbnRTZWxlY3Rvci5wb3BGb250KCl9YWRkUGFyYSgpe2NvbnN0IGU9dGhpcy5mb250U2VsZWN0b3IudG9wRm9udCgpO3RoaXMuZXh0cmFIZWlnaHQrPWUucGFyYU1hcmdpbi50b3ArZS5wYXJhTWFyZ2luLmJvdHRvbX1hZGRTdHJpbmcoZSl7aWYoIWUpcmV0dXJuO2NvbnN0IHQ9dGhpcy5mb250U2VsZWN0b3IudG9wRm9udCgpLGE9dC54ZmFGb250LnNpemU7aWYodC5wZGZGb250KXtjb25zdCByPXQueGZhRm9udC5sZXR0ZXJTcGFjaW5nLGk9dC5wZGZGb250LG49aS5saW5lSGVpZ2h0fHwxLjIscz10LmxpbmVIZWlnaHR8fE1hdGgubWF4KDEuMixuKSphLG89bi0odm9pZCAwPT09aS5saW5lR2FwPy4yOmkubGluZUdhcCksYz1NYXRoLm1heCgxLG8pKmEsbD1hLzFlMyxoPWkuZGVmYXVsdFdpZHRofHxpLmNoYXJzVG9HbHlwaHMoIiAiKVswXS53aWR0aDtmb3IoY29uc3QgdCBvZiBlLnNwbGl0KC9bXHUyMDI5XG5dLykpe2NvbnN0IGU9aS5lbmNvZGVTdHJpbmcodCkuam9pbigiIiksYT1pLmNoYXJzVG9HbHlwaHMoZSk7Zm9yKGNvbnN0IGUgb2YgYSl7Y29uc3QgdD1lLndpZHRofHxoO3RoaXMuZ2x5cGhzLnB1c2goW3QqbCtyLHMsYyxlLnVuaWNvZGUsITFdKX10aGlzLmdseXBocy5wdXNoKFswLDAsMCwiXG4iLCEwXSl9dGhpcy5nbHlwaHMucG9wKCl9ZWxzZXtmb3IoY29uc3QgdCBvZiBlLnNwbGl0KC9bXHUyMDI5XG5dLykpe2Zvcihjb25zdCBlIG9mIHQuc3BsaXQoIiIpKXRoaXMuZ2x5cGhzLnB1c2goW2EsMS4yKmEsYSxlLCExXSk7dGhpcy5nbHlwaHMucHVzaChbMCwwLDAsIlxuIiwhMF0pfXRoaXMuZ2x5cGhzLnBvcCgpfX1jb21wdXRlKGUpe2xldCB0PS0xLGE9MCxyPTAsaT0wLG49MCxzPTAsbz0hMSxjPSEwO2ZvcihsZXQgbD0wLGg9dGhpcy5nbHlwaHMubGVuZ3RoO2w8aDtsKyspe2NvbnN0W2gsdSxkLGYsZ109dGhpcy5nbHlwaHNbbF0scD0iICI9PT1mLG09Yz9kOnU7aWYoZyl7cj1NYXRoLm1heChyLG4pO249MDtpKz1zO3M9bTt0PS0xO2E9MDtjPSExfWVsc2UgaWYocClpZihuK2g+ZSl7cj1NYXRoLm1heChyLG4pO249MDtpKz1zO3M9bTt0PS0xO2E9MDtvPSEwO2M9ITF9ZWxzZXtzPU1hdGgubWF4KG0scyk7YT1uO24rPWg7dD1sfWVsc2UgaWYobitoPmUpe2krPXM7cz1tO2lmKC0xIT09dCl7bD10O3I9TWF0aC5tYXgocixhKTtuPTA7dD0tMTthPTB9ZWxzZXtyPU1hdGgubWF4KHIsbik7bj1ofW89ITA7Yz0hMX1lbHNle24rPWg7cz1NYXRoLm1heChtLHMpfX1yPU1hdGgubWF4KHIsbik7aSs9cyt0aGlzLmV4dHJhSGVpZ2h0O3JldHVybnt3aWR0aDoxLjAyKnIsaGVpZ2h0OmksaXNCcm9rZW46b319fWNvbnN0IFFzPS9eW14uW10rLyxlbz0vXlteXF1dKy8sdG89MCxhbz0xLHJvPTIsaW89Myxubz00LHNvPW5ldyBNYXAoW1siJGRhdGEiLChlLHQpPT5lLmRhdGFzZXRzP2UuZGF0YXNldHMuZGF0YTplXSxbIiRyZWNvcmQiLChlLHQpPT4oZS5kYXRhc2V0cz9lLmRhdGFzZXRzLmRhdGE6ZSlbaXNdKClbMF1dLFsiJHRlbXBsYXRlIiwoZSx0KT0+ZS50ZW1wbGF0ZV0sWyIkY29ubmVjdGlvblNldCIsKGUsdCk9PmUuY29ubmVjdGlvblNldF0sWyIkZm9ybSIsKGUsdCk9PmUuZm9ybV0sWyIkbGF5b3V0IiwoZSx0KT0+ZS5sYXlvdXRdLFsiJGhvc3QiLChlLHQpPT5lLmhvc3RdLFsiJGRhdGFXaW5kb3ciLChlLHQpPT5lLmRhdGFXaW5kb3ddLFsiJGV2ZW50IiwoZSx0KT0+ZS5ldmVudF0sWyIhIiwoZSx0KT0+ZS5kYXRhc2V0c10sWyIkeGZhIiwoZSx0KT0+ZV0sWyJ4ZmEiLChlLHQpPT5lXSxbIiQiLChlLHQpPT50XV0pLG9vPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIHBhcnNlRXhwcmVzc2lvbihlLHQsYT0hMCl7bGV0IHI9ZS5tYXRjaChRcyk7aWYoIXIpcmV0dXJuIG51bGw7bGV0W2ldPXI7Y29uc3Qgbj1be25hbWU6aSxjYWNoZU5hbWU6Ii4iK2ksaW5kZXg6MCxqczpudWxsLGZvcm1DYWxjOm51bGwsb3BlcmF0b3I6dG99XTtsZXQgcz1pLmxlbmd0aDtmb3IoO3M8ZS5sZW5ndGg7KXtjb25zdCBjPXM7aWYoIlsiPT09ZS5jaGFyQXQocysrKSl7cj1lLnNsaWNlKHMpLm1hdGNoKGVvKTtpZighcil7d2FybigiWEZBIC0gSW52YWxpZCBpbmRleCBpbiBTT00gZXhwcmVzc2lvbiIpO3JldHVybiBudWxsfW4uYXQoLTEpLmluZGV4PSIqIj09PShvPShvPXJbMF0pLnRyaW0oKSk/MS8wOnBhcnNlSW50KG8sMTApfHwwO3MrPXJbMF0ubGVuZ3RoKzE7Y29udGludWV9bGV0IGw7c3dpdGNoKGUuY2hhckF0KHMpKXtjYXNlIi4iOmlmKCF0KXJldHVybiBudWxsO3MrKztsPWFvO2JyZWFrO2Nhc2UiIyI6cysrO2w9cm87YnJlYWs7Y2FzZSJbIjppZihhKXt3YXJuKCJYRkEgLSBTT00gZXhwcmVzc2lvbiBjb250YWlucyBhIEZvcm1DYWxjIHN1YmV4cHJlc3Npb24gd2hpY2ggaXMgbm90IHN1cHBvcnRlZCBmb3Igbm93LiIpO3JldHVybiBudWxsfWw9aW87YnJlYWs7Y2FzZSIoIjppZihhKXt3YXJuKCJYRkEgLSBTT00gZXhwcmVzc2lvbiBjb250YWlucyBhIEphdmFTY3JpcHQgc3ViZXhwcmVzc2lvbiB3aGljaCBpcyBub3Qgc3VwcG9ydGVkIGZvciBub3cuIik7cmV0dXJuIG51bGx9bD1ubzticmVhaztkZWZhdWx0Omw9dG99cj1lLnNsaWNlKHMpLm1hdGNoKFFzKTtpZighcilicmVhaztbaV09cjtzKz1pLmxlbmd0aDtuLnB1c2goe25hbWU6aSxjYWNoZU5hbWU6ZS5zbGljZShjLHMpLG9wZXJhdG9yOmwsaW5kZXg6MCxqczpudWxsLGZvcm1DYWxjOm51bGx9KX12YXIgbztyZXR1cm4gbn1mdW5jdGlvbiBzZWFyY2hOb2RlKGUsdCxhLHI9ITAsaT0hMCl7Y29uc3Qgbj1wYXJzZUV4cHJlc3Npb24oYSxyKTtpZighbilyZXR1cm4gbnVsbDtjb25zdCBzPXNvLmdldChuWzBdLm5hbWUpO2xldCBvLGM9MDtpZihzKXtvPSEwO2U9W3MoZSx0KV07Yz0xfWVsc2V7bz1udWxsPT09dDtlPVt0fHxlXX1mb3IobGV0IGE9bi5sZW5ndGg7YzxhO2MrKyl7Y29uc3R7bmFtZTphLGNhY2hlTmFtZTpyLG9wZXJhdG9yOnMsaW5kZXg6bH09bltjXSxoPVtdO2Zvcihjb25zdCB0IG9mIGUpe2lmKCF0LmlzWEZBT2JqZWN0KWNvbnRpbnVlO2xldCBlLG47aWYoaSl7bj1vby5nZXQodCk7aWYoIW4pe249bmV3IE1hcDtvby5zZXQodCxuKX1lPW4uZ2V0KHIpfWlmKCFlKXtzd2l0Y2gocyl7Y2FzZSB0bzplPXRbUW5dKGEsITEpO2JyZWFrO2Nhc2UgYW86ZT10W1FuXShhLCEwKTticmVhaztjYXNlIHJvOmU9dFtabl0oYSk7ZT1lLmlzWEZBT2JqZWN0QXJyYXk/ZS5jaGlsZHJlbjpbZV19aSYmbi5zZXQocixlKX1lLmxlbmd0aD4wJiZoLnB1c2goZSl9aWYoMCE9PWgubGVuZ3RofHxvfHwwIT09YyllPWlzRmluaXRlKGwpP2guZmlsdGVyKChlPT5sPGUubGVuZ3RoKSkubWFwKChlPT5lW2xdKSk6aC5mbGF0KCk7ZWxzZXtjb25zdCBhPXRbY3NdKCk7aWYoISh0PWEpKXJldHVybiBudWxsO2M9LTE7ZT1bdF19fXJldHVybiAwPT09ZS5sZW5ndGg/bnVsbDplfWZ1bmN0aW9uIGNyZWF0ZURhdGFOb2RlKGUsdCxhKXtjb25zdCByPXBhcnNlRXhwcmVzc2lvbihhKTtpZighcilyZXR1cm4gbnVsbDtpZihyLnNvbWUoKGU9PmUub3BlcmF0b3I9PT1hbykpKXJldHVybiBudWxsO2NvbnN0IGk9c28uZ2V0KHJbMF0ubmFtZSk7bGV0IG49MDtpZihpKXtlPWkoZSx0KTtuPTF9ZWxzZSBlPXR8fGU7Zm9yKGxldCB0PXIubGVuZ3RoO248dDtuKyspe2NvbnN0e25hbWU6dCxvcGVyYXRvcjphLGluZGV4Oml9PXJbbl07aWYoIWlzRmluaXRlKGkpKXtyW25dLmluZGV4PTA7cmV0dXJuIGUuY3JlYXRlTm9kZXMoci5zbGljZShuKSl9bGV0IHM7c3dpdGNoKGEpe2Nhc2UgdG86cz1lW1FuXSh0LCExKTticmVhaztjYXNlIGFvOnM9ZVtRbl0odCwhMCk7YnJlYWs7Y2FzZSBybzpzPWVbWm5dKHQpO3M9cy5pc1hGQU9iamVjdEFycmF5P3MuY2hpbGRyZW46W3NdfWlmKDA9PT1zLmxlbmd0aClyZXR1cm4gZS5jcmVhdGVOb2RlcyhyLnNsaWNlKG4pKTtpZighKGk8cy5sZW5ndGgpKXtyW25dLmluZGV4PWktcy5sZW5ndGg7cmV0dXJuIGUuY3JlYXRlTm9kZXMoci5zbGljZShuKSl9e2NvbnN0IHQ9c1tpXTtpZighdC5pc1hGQU9iamVjdCl7d2FybigiWEZBIC0gQ2Fubm90IGNyZWF0ZSBhIG5vZGUuIik7cmV0dXJuIG51bGx9ZT10fX1yZXR1cm4gbnVsbH1jb25zdCBjbz1TeW1ib2woKSxsbz1TeW1ib2woKSxobz1TeW1ib2woKSx1bz1TeW1ib2woIl9jaGlsZHJlbiIpLGZvPVN5bWJvbCgpLGdvPVN5bWJvbCgpLHBvPVN5bWJvbCgpLG1vPVN5bWJvbCgpLGJvPVN5bWJvbCgpLHlvPVN5bWJvbCgpLHdvPVN5bWJvbCgpLHhvPVN5bWJvbCgpLFNvPVN5bWJvbCgpLEFvPVN5bWJvbCgicGFyZW50Iiksa289U3ltYm9sKCksQ289U3ltYm9sKCksdm89U3ltYm9sKCk7bGV0IEZvPTA7Y29uc3QgSW89SnMuZGF0YXNldHMuaWQ7Y2xhc3MgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUsdCxhPSExKXt0aGlzW3ZzXT1lO3RoaXNbRnNdPXQ7dGhpc1t3b109YTt0aGlzW0FvXT1udWxsO3RoaXNbdW9dPVtdO3RoaXNbVnNdPWAke3R9JHtGbysrfWA7dGhpc1toc109bnVsbH1nZXQgaXNYRkFPYmplY3QoKXtyZXR1cm4hMH1nZXQgaXNYRkFPYmplY3RBcnJheSgpe3JldHVybiExfWNyZWF0ZU5vZGVzKGUpe2xldCB0PXRoaXMsYT1udWxsO2Zvcihjb25zdHtuYW1lOnIsaW5kZXg6aX1vZiBlKXtmb3IobGV0IGU9MCxuPWlzRmluaXRlKGkpP2k6MDtlPD1uO2UrKyl7Y29uc3QgZT10W3ZzXT09PUlvPy0xOnRbdnNdO2E9bmV3IFhtbE9iamVjdChlLHIpO3RbUG5dKGEpfXQ9YX1yZXR1cm4gYX1bVHNdKGUpe2lmKCF0aGlzW3dvXXx8IXRoaXNbT3NdKGUpKXJldHVybiExO2NvbnN0IHQ9ZVtGc10sYT10aGlzW3RdO2lmKCEoYSBpbnN0YW5jZW9mIFhGQU9iamVjdEFycmF5KSl7bnVsbCE9PWEmJnRoaXNbTnNdKGEpO3RoaXNbdF09ZTt0aGlzW1BuXShlKTtyZXR1cm4hMH1pZihhLnB1c2goZSkpe3RoaXNbUG5dKGUpO3JldHVybiEwfWxldCByPSIiO3RoaXMuaWQ/cj1gIChpZDogJHt0aGlzLmlkfSlgOnRoaXMubmFtZSYmKHI9YCAobmFtZTogJHt0aGlzLm5hbWV9ICR7dGhpcy5oLnZhbHVlfSlgKTt3YXJuKGBYRkEgLSBub2RlICIke3RoaXNbRnNdfSIke3J9IGhhcyBhbHJlYWR5IGVub3VnaCAiJHt0fSIhYCk7cmV0dXJuITF9W09zXShlKXtyZXR1cm4gdGhpcy5oYXNPd25Qcm9wZXJ0eShlW0ZzXSkmJmVbdnNdPT09dGhpc1t2c119W3dzXSgpe3JldHVybiExfVtObl0oKXtyZXR1cm4hMX1bcHNdKCl7cmV0dXJuITF9W21zXSgpe3JldHVybiExfVtCc10oKXt0aGlzLnBhcmEmJnRoaXNbbHNdKClbJG5dLnBhcmFTdGFjay5wb3AoKX1bUnNdKCl7dGhpc1tsc10oKVskbl0ucGFyYVN0YWNrLnB1c2godGhpcy5wYXJhKX1bX3NdKGUpe3RoaXMuaWQmJnRoaXNbdnNdPT09SnMudGVtcGxhdGUuaWQmJmUuc2V0KHRoaXMuaWQsdGhpcyl9W2xzXSgpe3JldHVybiB0aGlzW2hzXS50ZW1wbGF0ZX1beHNdKCl7cmV0dXJuITF9W1NzXSgpe3JldHVybiExfVtQbl0oZSl7ZVtBb109dGhpczt0aGlzW3VvXS5wdXNoKGUpOyFlW2hzXSYmdGhpc1toc10mJihlW2hzXT10aGlzW2hzXSl9W05zXShlKXtjb25zdCB0PXRoaXNbdW9dLmluZGV4T2YoZSk7dGhpc1t1b10uc3BsaWNlKHQsMSl9W3VzXSgpe3JldHVybiB0aGlzLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpfVtYc10oZSl7fVtNc10oZSl7fVtHbl0oKXt9W2puXShlKXtkZWxldGUgdGhpc1t3b107aWYodGhpc1tVbl0pe2UuY2xlYW4odGhpc1tVbl0pO2RlbGV0ZSB0aGlzW1VuXX19W2ZzXShlKXtyZXR1cm4gdGhpc1t1b10uaW5kZXhPZihlKX1bZ3NdKGUsdCl7dFtBb109dGhpczt0aGlzW3VvXS5zcGxpY2UoZSwwLHQpOyF0W2hzXSYmdGhpc1toc10mJih0W2hzXT10aGlzW2hzXSl9W0FzXSgpe3JldHVybiF0aGlzLm5hbWV9W0NzXSgpe3JldHVybiIifVtIc10oKXtyZXR1cm4gMD09PXRoaXNbdW9dLmxlbmd0aD90aGlzW0huXTp0aGlzW3VvXS5tYXAoKGU9PmVbSHNdKCkpKS5qb2luKCIiKX1nZXRbaG9dKCl7Y29uc3QgZT1PYmplY3QuZ2V0UHJvdG90eXBlT2YodGhpcyk7aWYoIWUuX2F0dHJpYnV0ZXMpe2NvbnN0IHQ9ZS5fYXR0cmlidXRlcz1uZXcgU2V0O2Zvcihjb25zdCBlIG9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpKXtpZihudWxsPT09dGhpc1tlXXx8dGhpc1tlXWluc3RhbmNlb2YgWEZBT2JqZWN0fHx0aGlzW2VdaW5zdGFuY2VvZiBYRkFPYmplY3RBcnJheSlicmVhazt0LmFkZChlKX19cmV0dXJuIHNoYWRvdyh0aGlzLGhvLGUuX2F0dHJpYnV0ZXMpfVt5c10oZSl7bGV0IHQ9dGhpcztmb3IoO3Q7KXtpZih0PT09ZSlyZXR1cm4hMDt0PXRbY3NdKCl9cmV0dXJuITF9W2NzXSgpe3JldHVybiB0aGlzW0FvXX1bb3NdKCl7cmV0dXJuIHRoaXNbY3NdKCl9W2lzXShlPW51bGwpe3JldHVybiBlP3RoaXNbZV06dGhpc1t1b119W3puXSgpe2NvbnN0IGU9T2JqZWN0LmNyZWF0ZShudWxsKTt0aGlzW0huXSYmKGUuJGNvbnRlbnQ9dGhpc1tIbl0pO2Zvcihjb25zdCB0IG9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpKXtjb25zdCBhPXRoaXNbdF07bnVsbCE9PWEmJihhIGluc3RhbmNlb2YgWEZBT2JqZWN0P2VbdF09YVt6bl0oKTphIGluc3RhbmNlb2YgWEZBT2JqZWN0QXJyYXk/YS5pc0VtcHR5KCl8fChlW3RdPWEuZHVtcCgpKTplW3RdPWEpfXJldHVybiBlfVtHc10oKXtyZXR1cm4gbnVsbH1benNdKCl7cmV0dXJuIEhUTUxSZXN1bHQuRU1QVFl9Kltuc10oKXtmb3IoY29uc3QgZSBvZiB0aGlzW2lzXSgpKXlpZWxkIGV9Klttb10oZSx0KXtmb3IoY29uc3QgYSBvZiB0aGlzW25zXSgpKWlmKCFlfHx0PT09ZS5oYXMoYVtGc10pKXtjb25zdCBlPXRoaXNbWW5dKCksdD1hW3pzXShlKTt0LnN1Y2Nlc3N8fCh0aGlzWyRuXS5mYWlsaW5nTm9kZT1hKTt5aWVsZCB0fX1bVm5dKCl7cmV0dXJuIG51bGx9W0VuXShlLHQpe3RoaXNbJG5dLmNoaWxkcmVuLnB1c2goZSl9W1luXSgpe31bTG5dKHtmaWx0ZXI6ZT1udWxsLGluY2x1ZGU6dD0hMH0pe2lmKHRoaXNbJG5dLmdlbmVyYXRvcil7Y29uc3QgZT10aGlzW1luXSgpLHQ9dGhpc1skbl0uZmFpbGluZ05vZGVbenNdKGUpO2lmKCF0LnN1Y2Nlc3MpcmV0dXJuIHQ7dC5odG1sJiZ0aGlzW0VuXSh0Lmh0bWwsdC5iYm94KTtkZWxldGUgdGhpc1skbl0uZmFpbGluZ05vZGV9ZWxzZSB0aGlzWyRuXS5nZW5lcmF0b3I9dGhpc1ttb10oZSx0KTtmb3IoOzspe2NvbnN0IGU9dGhpc1skbl0uZ2VuZXJhdG9yLm5leHQoKTtpZihlLmRvbmUpYnJlYWs7Y29uc3QgdD1lLnZhbHVlO2lmKCF0LnN1Y2Nlc3MpcmV0dXJuIHQ7dC5odG1sJiZ0aGlzW0VuXSh0Lmh0bWwsdC5iYm94KX10aGlzWyRuXS5nZW5lcmF0b3I9bnVsbDtyZXR1cm4gSFRNTFJlc3VsdC5FTVBUWX1bVXNdKGUpe3RoaXNbQ29dPW5ldyBTZXQoT2JqZWN0LmtleXMoZSkpfVt5b10oZSl7Y29uc3QgdD10aGlzW2hvXSxhPXRoaXNbQ29dO3JldHVyblsuLi5lXS5maWx0ZXIoKGU9PnQuaGFzKGUpJiYhYS5oYXMoZSkpKX1bTHNdKGUsdD1uZXcgU2V0KXtmb3IoY29uc3QgYSBvZiB0aGlzW3VvXSlhW2tvXShlLHQpfVtrb10oZSx0KXtjb25zdCBhPXRoaXNbYm9dKGUsdCk7YT90aGlzW2NvXShhLGUsdCk6dGhpc1tMc10oZSx0KX1bYm9dKGUsdCl7Y29uc3R7dXNlOmEsdXNlaHJlZjpyfT10aGlzO2lmKCFhJiYhcilyZXR1cm4gbnVsbDtsZXQgaT1udWxsLG49bnVsbCxzPW51bGwsbz1hO2lmKHIpe289cjtyLnN0YXJ0c1dpdGgoIiNzb20oIikmJnIuZW5kc1dpdGgoIikiKT9uPXIuc2xpY2UoNSwtMSk6ci5zdGFydHNXaXRoKCIuI3NvbSgiKSYmci5lbmRzV2l0aCgiKSIpP249ci5zbGljZSg2LC0xKTpyLnN0YXJ0c1dpdGgoIiMiKT9zPXIuc2xpY2UoMSk6ci5zdGFydHNXaXRoKCIuIyIpJiYocz1yLnNsaWNlKDIpKX1lbHNlIGEuc3RhcnRzV2l0aCgiIyIpP3M9YS5zbGljZSgxKTpuPWE7dGhpcy51c2U9dGhpcy51c2VocmVmPSIiO2lmKHMpaT1lLmdldChzKTtlbHNle2k9c2VhcmNoTm9kZShlLmdldChFcyksdGhpcyxuLCEwLCExKTtpJiYoaT1pWzBdKX1pZighaSl7d2FybihgWEZBIC0gSW52YWxpZCBwcm90b3R5cGUgcmVmZXJlbmNlOiAke299LmApO3JldHVybiBudWxsfWlmKGlbRnNdIT09dGhpc1tGc10pe3dhcm4oYFhGQSAtIEluY29tcGF0aWJsZSBwcm90b3R5cGU6ICR7aVtGc119ICE9PSAke3RoaXNbRnNdfS5gKTtyZXR1cm4gbnVsbH1pZih0LmhhcyhpKSl7d2FybigiWEZBIC0gQ3ljbGUgZGV0ZWN0ZWQgaW4gcHJvdG90eXBlcyB1c2UuIik7cmV0dXJuIG51bGx9dC5hZGQoaSk7Y29uc3QgYz1pW2JvXShlLHQpO2MmJmlbY29dKGMsZSx0KTtpW0xzXShlLHQpO3QuZGVsZXRlKGkpO3JldHVybiBpfVtjb10oZSx0LGEpe2lmKGEuaGFzKGUpKXt3YXJuKCJYRkEgLSBDeWNsZSBkZXRlY3RlZCBpbiBwcm90b3R5cGVzIHVzZS4iKTtyZXR1cm59IXRoaXNbSG5dJiZlW0huXSYmKHRoaXNbSG5dPWVbSG5dKTtuZXcgU2V0KGEpLmFkZChlKTtmb3IoY29uc3QgdCBvZiB0aGlzW3lvXShlW0NvXSkpe3RoaXNbdF09ZVt0XTt0aGlzW0NvXSYmdGhpc1tDb10uYWRkKHQpfWZvcihjb25zdCByIG9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpKXtpZih0aGlzW2hvXS5oYXMocikpY29udGludWU7Y29uc3QgaT10aGlzW3JdLG49ZVtyXTtpZihpIGluc3RhbmNlb2YgWEZBT2JqZWN0QXJyYXkpe2Zvcihjb25zdCBlIG9mIGlbdW9dKWVba29dKHQsYSk7Zm9yKGxldCByPWlbdW9dLmxlbmd0aCxzPW5bdW9dLmxlbmd0aDtyPHM7cisrKXtjb25zdCBuPWVbdW9dW3JdW1huXSgpO2lmKCFpLnB1c2gobikpYnJlYWs7bltBb109dGhpczt0aGlzW3VvXS5wdXNoKG4pO25ba29dKHQsYSl9fWVsc2UgaWYobnVsbD09PWkpe2lmKG51bGwhPT1uKXtjb25zdCBlPW5bWG5dKCk7ZVtBb109dGhpczt0aGlzW3JdPWU7dGhpc1t1b10ucHVzaChlKTtlW2tvXSh0LGEpfX1lbHNle2lbTHNdKHQsYSk7biYmaVtjb10obix0LGEpfX19c3RhdGljW2ZvXShlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT9lLm1hcCgoZT0+WEZBT2JqZWN0W2ZvXShlKSkpOiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWU/T2JqZWN0LmFzc2lnbih7fSxlKTplfVtYbl0oKXtjb25zdCBlPU9iamVjdC5jcmVhdGUoT2JqZWN0LmdldFByb3RvdHlwZU9mKHRoaXMpKTtmb3IoY29uc3QgdCBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHRoaXMpKXRyeXtlW3RdPXRoaXNbdF19Y2F0Y2h7c2hhZG93KGUsdCx0aGlzW3RdKX1lW1ZzXT1gJHtlW0ZzXX0ke0ZvKyt9YDtlW3VvXT1bXTtmb3IoY29uc3QgdCBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKSl7aWYodGhpc1tob10uaGFzKHQpKXtlW3RdPVhGQU9iamVjdFtmb10odGhpc1t0XSk7Y29udGludWV9Y29uc3QgYT10aGlzW3RdO2VbdF09YSBpbnN0YW5jZW9mIFhGQU9iamVjdEFycmF5P25ldyBYRkFPYmplY3RBcnJheShhW3hvXSk6bnVsbH1mb3IoY29uc3QgdCBvZiB0aGlzW3VvXSl7Y29uc3QgYT10W0ZzXSxyPXRbWG5dKCk7ZVt1b10ucHVzaChyKTtyW0FvXT1lO251bGw9PT1lW2FdP2VbYV09cjplW2FdW3VvXS5wdXNoKHIpfXJldHVybiBlfVtpc10oZT1udWxsKXtyZXR1cm4gZT90aGlzW3VvXS5maWx0ZXIoKHQ9PnRbRnNdPT09ZSkpOnRoaXNbdW9dfVtabl0oZSl7cmV0dXJuIHRoaXNbZV19W1FuXShlLHQsYT0hMCl7cmV0dXJuIEFycmF5LmZyb20odGhpc1tlc10oZSx0LGEpKX0qW2VzXShlLHQsYT0hMCl7aWYoInBhcmVudCIhPT1lKXtmb3IoY29uc3QgYSBvZiB0aGlzW3VvXSl7YVtGc109PT1lJiYoeWllbGQgYSk7YS5uYW1lPT09ZSYmKHlpZWxkIGEpOyh0fHxhW0FzXSgpKSYmKHlpZWxkKmFbZXNdKGUsdCwhMSkpfWEmJnRoaXNbaG9dLmhhcyhlKSYmKHlpZWxkIG5ldyBYRkFBdHRyaWJ1dGUodGhpcyxlLHRoaXNbZV0pKX1lbHNlIHlpZWxkIHRoaXNbQW9dfX1jbGFzcyBYRkFPYmplY3RBcnJheXtjb25zdHJ1Y3RvcihlPTEvMCl7dGhpc1t4b109ZTt0aGlzW3VvXT1bXX1nZXQgaXNYRkFPYmplY3QoKXtyZXR1cm4hMX1nZXQgaXNYRkFPYmplY3RBcnJheSgpe3JldHVybiEwfXB1c2goZSl7aWYodGhpc1t1b10ubGVuZ3RoPD10aGlzW3hvXSl7dGhpc1t1b10ucHVzaChlKTtyZXR1cm4hMH13YXJuKGBYRkEgLSBub2RlICIke2VbRnNdfSIgYWNjZXB0cyBubyBtb3JlIHRoYW4gJHt0aGlzW3hvXX0gY2hpbGRyZW5gKTtyZXR1cm4hMX1pc0VtcHR5KCl7cmV0dXJuIDA9PT10aGlzW3VvXS5sZW5ndGh9ZHVtcCgpe3JldHVybiAxPT09dGhpc1t1b10ubGVuZ3RoP3RoaXNbdW9dWzBdW3puXSgpOnRoaXNbdW9dLm1hcCgoZT0+ZVt6bl0oKSkpfVtYbl0oKXtjb25zdCBlPW5ldyBYRkFPYmplY3RBcnJheSh0aGlzW3hvXSk7ZVt1b109dGhpc1t1b10ubWFwKChlPT5lW1huXSgpKSk7cmV0dXJuIGV9Z2V0IGNoaWxkcmVuKCl7cmV0dXJuIHRoaXNbdW9dfWNsZWFyKCl7dGhpc1t1b10ubGVuZ3RoPTB9fWNsYXNzIFhGQUF0dHJpYnV0ZXtjb25zdHJ1Y3RvcihlLHQsYSl7dGhpc1tBb109ZTt0aGlzW0ZzXT10O3RoaXNbSG5dPWE7dGhpc1txbl09ITE7dGhpc1tWc109ImF0dHJpYnV0ZSIrRm8rK31bY3NdKCl7cmV0dXJuIHRoaXNbQW9dfVtic10oKXtyZXR1cm4hMH1bdHNdKCl7cmV0dXJuIHRoaXNbSG5dLnRyaW0oKX1bWHNdKGUpe2U9ZS52YWx1ZXx8IiI7dGhpc1tIbl09ZS50b1N0cmluZygpfVtIc10oKXtyZXR1cm4gdGhpc1tIbl19W3lzXShlKXtyZXR1cm4gdGhpc1tBb109PT1lfHx0aGlzW0FvXVt5c10oZSl9fWNsYXNzIFhtbE9iamVjdCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlLHQsYT17fSl7c3VwZXIoZSx0KTt0aGlzW0huXT0iIjt0aGlzW2dvXT1udWxsO2lmKCIjdGV4dCIhPT10KXtjb25zdCBlPW5ldyBNYXA7dGhpc1tsb109ZTtmb3IoY29uc3RbdCxyXW9mIE9iamVjdC5lbnRyaWVzKGEpKWUuc2V0KHQsbmV3IFhGQUF0dHJpYnV0ZSh0aGlzLHQscikpO2lmKGEuaGFzT3duUHJvcGVydHkoSXMpKXtjb25zdCBlPWFbSXNdLnhmYS5kYXRhTm9kZTt2b2lkIDAhPT1lJiYoImRhdGFHcm91cCI9PT1lP3RoaXNbZ29dPSExOiJkYXRhVmFsdWUiPT09ZSYmKHRoaXNbZ29dPSEwKSl9fXRoaXNbcW5dPSExfVskc10oZSl7Y29uc3QgdD10aGlzW0ZzXTtpZigiI3RleHQiPT09dCl7ZS5wdXNoKGVuY29kZVRvWG1sU3RyaW5nKHRoaXNbSG5dKSk7cmV0dXJufWNvbnN0IGE9dXRmOFN0cmluZ1RvU3RyaW5nKHQpLHI9dGhpc1t2c109PT1Jbz8ieGZhOiI6IiI7ZS5wdXNoKGA8JHtyfSR7YX1gKTtmb3IoY29uc3RbdCxhXW9mIHRoaXNbbG9dLmVudHJpZXMoKSl7Y29uc3Qgcj11dGY4U3RyaW5nVG9TdHJpbmcodCk7ZS5wdXNoKGAgJHtyfT0iJHtlbmNvZGVUb1htbFN0cmluZyhhW0huXSl9ImApfW51bGwhPT10aGlzW2dvXSYmKHRoaXNbZ29dP2UucHVzaCgnIHhmYTpkYXRhTm9kZT0iZGF0YVZhbHVlIicpOmUucHVzaCgnIHhmYTpkYXRhTm9kZT0iZGF0YUdyb3VwIicpKTtpZih0aGlzW0huXXx8MCE9PXRoaXNbdW9dLmxlbmd0aCl7ZS5wdXNoKCI+Iik7aWYodGhpc1tIbl0pInN0cmluZyI9PXR5cGVvZiB0aGlzW0huXT9lLnB1c2goZW5jb2RlVG9YbWxTdHJpbmcodGhpc1tIbl0pKTp0aGlzW0huXVskc10oZSk7ZWxzZSBmb3IoY29uc3QgdCBvZiB0aGlzW3VvXSl0WyRzXShlKTtlLnB1c2goYDwvJHtyfSR7YX0+YCl9ZWxzZSBlLnB1c2goIi8+Iil9W1RzXShlKXtpZih0aGlzW0huXSl7Y29uc3QgZT1uZXcgWG1sT2JqZWN0KHRoaXNbdnNdLCIjdGV4dCIpO3RoaXNbUG5dKGUpO2VbSG5dPXRoaXNbSG5dO3RoaXNbSG5dPSIifXRoaXNbUG5dKGUpO3JldHVybiEwfVtNc10oZSl7dGhpc1tIbl0rPWV9W0duXSgpe2lmKHRoaXNbSG5dJiZ0aGlzW3VvXS5sZW5ndGg+MCl7Y29uc3QgZT1uZXcgWG1sT2JqZWN0KHRoaXNbdnNdLCIjdGV4dCIpO3RoaXNbUG5dKGUpO2VbSG5dPXRoaXNbSG5dO2RlbGV0ZSB0aGlzW0huXX19W3pzXSgpe3JldHVybiIjdGV4dCI9PT10aGlzW0ZzXT9IVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6IiN0ZXh0Iix2YWx1ZTp0aGlzW0huXX0pOkhUTUxSZXN1bHQuRU1QVFl9W2lzXShlPW51bGwpe3JldHVybiBlP3RoaXNbdW9dLmZpbHRlcigodD0+dFtGc109PT1lKSk6dGhpc1t1b119W0puXSgpe3JldHVybiB0aGlzW2xvXX1bWm5dKGUpe2NvbnN0IHQ9dGhpc1tsb10uZ2V0KGUpO3JldHVybiB2b2lkIDAhPT10P3Q6dGhpc1tpc10oZSl9Kltlc10oZSx0KXtjb25zdCBhPXRoaXNbbG9dLmdldChlKTthJiYoeWllbGQgYSk7Zm9yKGNvbnN0IGEgb2YgdGhpc1t1b10pe2FbRnNdPT09ZSYmKHlpZWxkIGEpO3QmJih5aWVsZCphW2VzXShlLHQpKX19KltLbl0oZSx0KXtjb25zdCBhPXRoaXNbbG9dLmdldChlKTshYXx8dCYmYVtxbl18fCh5aWVsZCBhKTtmb3IoY29uc3QgYSBvZiB0aGlzW3VvXSl5aWVsZCphW0tuXShlLHQpfSpbcnNdKGUsdCxhKXtmb3IoY29uc3QgciBvZiB0aGlzW3VvXSl7cltGc10hPT1lfHxhJiZyW3FuXXx8KHlpZWxkIHIpO3QmJih5aWVsZCpyW3JzXShlLHQsYSkpfX1bYnNdKCl7cmV0dXJuIG51bGw9PT10aGlzW2dvXT8wPT09dGhpc1t1b10ubGVuZ3RofHx0aGlzW3VvXVswXVt2c109PT1Kcy54aHRtbC5pZDp0aGlzW2dvXX1bdHNdKCl7cmV0dXJuIG51bGw9PT10aGlzW2dvXT8wPT09dGhpc1t1b10ubGVuZ3RoP3RoaXNbSG5dLnRyaW0oKTp0aGlzW3VvXVswXVt2c109PT1Kcy54aHRtbC5pZD90aGlzW3VvXVswXVtIc10oKS50cmltKCk6bnVsbDp0aGlzW0huXS50cmltKCl9W1hzXShlKXtlPWUudmFsdWV8fCIiO3RoaXNbSG5dPWUudG9TdHJpbmcoKX1bem5dKGU9ITEpe2NvbnN0IHQ9T2JqZWN0LmNyZWF0ZShudWxsKTtlJiYodC4kbnM9dGhpc1t2c10pO3RoaXNbSG5dJiYodC4kY29udGVudD10aGlzW0huXSk7dC4kbmFtZT10aGlzW0ZzXTt0LmNoaWxkcmVuPVtdO2Zvcihjb25zdCBhIG9mIHRoaXNbdW9dKXQuY2hpbGRyZW4ucHVzaChhW3puXShlKSk7dC5hdHRyaWJ1dGVzPU9iamVjdC5jcmVhdGUobnVsbCk7Zm9yKGNvbnN0W2UsYV1vZiB0aGlzW2xvXSl0LmF0dHJpYnV0ZXNbZV09YVtIbl07cmV0dXJuIHR9fWNsYXNzIENvbnRlbnRPYmplY3QgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQpO3RoaXNbSG5dPSIifVtNc10oZSl7dGhpc1tIbl0rPWV9W0duXSgpe319Y2xhc3MgT3B0aW9uT2JqZWN0IGV4dGVuZHMgQ29udGVudE9iamVjdHtjb25zdHJ1Y3RvcihlLHQsYSl7c3VwZXIoZSx0KTt0aGlzW1NvXT1hfVtHbl0oKXt0aGlzW0huXT1nZXRLZXl3b3JkKHtkYXRhOnRoaXNbSG5dLGRlZmF1bHRWYWx1ZTp0aGlzW1NvXVswXSx2YWxpZGF0ZTplPT50aGlzW1NvXS5pbmNsdWRlcyhlKX0pfVtqbl0oZSl7c3VwZXJbam5dKGUpO2RlbGV0ZSB0aGlzW1NvXX19Y2xhc3MgU3RyaW5nT2JqZWN0IGV4dGVuZHMgQ29udGVudE9iamVjdHtbR25dKCl7dGhpc1tIbl09dGhpc1tIbl0udHJpbSgpfX1jbGFzcyBJbnRlZ2VyT2JqZWN0IGV4dGVuZHMgQ29udGVudE9iamVjdHtjb25zdHJ1Y3RvcihlLHQsYSxyKXtzdXBlcihlLHQpO3RoaXNbcG9dPWE7dGhpc1t2b109cn1bR25dKCl7dGhpc1tIbl09Z2V0SW50ZWdlcih7ZGF0YTp0aGlzW0huXSxkZWZhdWx0VmFsdWU6dGhpc1twb10sdmFsaWRhdGU6dGhpc1t2b119KX1bam5dKGUpe3N1cGVyW2puXShlKTtkZWxldGUgdGhpc1twb107ZGVsZXRlIHRoaXNbdm9dfX1jbGFzcyBPcHRpb24wMSBleHRlbmRzIEludGVnZXJPYmplY3R7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQsMCwoZT0+MT09PWUpKX19Y2xhc3MgT3B0aW9uMTAgZXh0ZW5kcyBJbnRlZ2VyT2JqZWN0e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0LDEsKGU9PjA9PT1lKSl9fWZ1bmN0aW9uIG1lYXN1cmVUb1N0cmluZyhlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/IjBweCI6TnVtYmVyLmlzSW50ZWdlcihlKT9gJHtlfXB4YDpgJHtlLnRvRml4ZWQoMil9cHhgfWNvbnN0IE9vPXthbmNob3JUeXBlKGUsdCl7Y29uc3QgYT1lW29zXSgpO2lmKGEmJighYS5sYXlvdXR8fCJwb3NpdGlvbiI9PT1hLmxheW91dCkpeyJ0cmFuc2Zvcm0iaW4gdHx8KHQudHJhbnNmb3JtPSIiKTtzd2l0Y2goZS5hbmNob3JUeXBlKXtjYXNlImJvdHRvbUNlbnRlciI6dC50cmFuc2Zvcm0rPSJ0cmFuc2xhdGUoLTUwJSwgLTEwMCUpIjticmVhaztjYXNlImJvdHRvbUxlZnQiOnQudHJhbnNmb3JtKz0idHJhbnNsYXRlKDAsLTEwMCUpIjticmVhaztjYXNlImJvdHRvbVJpZ2h0Ijp0LnRyYW5zZm9ybSs9InRyYW5zbGF0ZSgtMTAwJSwtMTAwJSkiO2JyZWFrO2Nhc2UibWlkZGxlQ2VudGVyIjp0LnRyYW5zZm9ybSs9InRyYW5zbGF0ZSgtNTAlLC01MCUpIjticmVhaztjYXNlIm1pZGRsZUxlZnQiOnQudHJhbnNmb3JtKz0idHJhbnNsYXRlKDAsLTUwJSkiO2JyZWFrO2Nhc2UibWlkZGxlUmlnaHQiOnQudHJhbnNmb3JtKz0idHJhbnNsYXRlKC0xMDAlLC01MCUpIjticmVhaztjYXNlInRvcENlbnRlciI6dC50cmFuc2Zvcm0rPSJ0cmFuc2xhdGUoLTUwJSwwKSI7YnJlYWs7Y2FzZSJ0b3BSaWdodCI6dC50cmFuc2Zvcm0rPSJ0cmFuc2xhdGUoLTEwMCUsMCkifX19LGRpbWVuc2lvbnMoZSx0KXtjb25zdCBhPWVbb3NdKCk7bGV0IHI9ZS53O2NvbnN0IGk9ZS5oO2lmKGEubGF5b3V0Py5pbmNsdWRlcygicm93Iikpe2NvbnN0IHQ9YVskbl0saT1lLmNvbFNwYW47bGV0IG47aWYoLTE9PT1pKXtuPU1hdGguc3VtUHJlY2lzZSh0LmNvbHVtbldpZHRocy5zbGljZSh0LmN1cnJlbnRDb2x1bW4pKTt0LmN1cnJlbnRDb2x1bW49MH1lbHNle249TWF0aC5zdW1QcmVjaXNlKHQuY29sdW1uV2lkdGhzLnNsaWNlKHQuY3VycmVudENvbHVtbix0LmN1cnJlbnRDb2x1bW4raSkpO3QuY3VycmVudENvbHVtbj0odC5jdXJyZW50Q29sdW1uK2UuY29sU3BhbikldC5jb2x1bW5XaWR0aHMubGVuZ3RofWlzTmFOKG4pfHwocj1lLnc9bil9dC53aWR0aD0iIiE9PXI/bWVhc3VyZVRvU3RyaW5nKHIpOiJhdXRvIjt0LmhlaWdodD0iIiE9PWk/bWVhc3VyZVRvU3RyaW5nKGkpOiJhdXRvIn0scG9zaXRpb24oZSx0KXtjb25zdCBhPWVbb3NdKCk7aWYoIWE/LmxheW91dHx8InBvc2l0aW9uIj09PWEubGF5b3V0KXt0LnBvc2l0aW9uPSJhYnNvbHV0ZSI7dC5sZWZ0PW1lYXN1cmVUb1N0cmluZyhlLngpO3QudG9wPW1lYXN1cmVUb1N0cmluZyhlLnkpfX0scm90YXRlKGUsdCl7aWYoZS5yb3RhdGUpeyJ0cmFuc2Zvcm0iaW4gdHx8KHQudHJhbnNmb3JtPSIiKTt0LnRyYW5zZm9ybSs9YHJvdGF0ZSgtJHtlLnJvdGF0ZX1kZWcpYDt0LnRyYW5zZm9ybU9yaWdpbj0idG9wIGxlZnQifX0scHJlc2VuY2UoZSx0KXtzd2l0Y2goZS5wcmVzZW5jZSl7Y2FzZSJpbnZpc2libGUiOnQudmlzaWJpbGl0eT0iaGlkZGVuIjticmVhaztjYXNlImhpZGRlbiI6Y2FzZSJpbmFjdGl2ZSI6dC5kaXNwbGF5PSJub25lIn19LGhBbGlnbihlLHQpe2lmKCJwYXJhIj09PWVbRnNdKXN3aXRjaChlLmhBbGlnbil7Y2FzZSJqdXN0aWZ5QWxsIjp0LnRleHRBbGlnbj0ianVzdGlmeS1hbGwiO2JyZWFrO2Nhc2UicmFkaXgiOnQudGV4dEFsaWduPSJsZWZ0IjticmVhaztkZWZhdWx0OnQudGV4dEFsaWduPWUuaEFsaWdufWVsc2Ugc3dpdGNoKGUuaEFsaWduKXtjYXNlImxlZnQiOnQuYWxpZ25TZWxmPSJzdGFydCI7YnJlYWs7Y2FzZSJjZW50ZXIiOnQuYWxpZ25TZWxmPSJjZW50ZXIiO2JyZWFrO2Nhc2UicmlnaHQiOnQuYWxpZ25TZWxmPSJlbmQifX0sbWFyZ2luKGUsdCl7ZS5tYXJnaW4mJih0Lm1hcmdpbj1lLm1hcmdpbltHc10oKS5tYXJnaW4pfX07ZnVuY3Rpb24gc2V0TWluTWF4RGltZW5zaW9ucyhlLHQpe2lmKCJwb3NpdGlvbiI9PT1lW29zXSgpLmxheW91dCl7ZS5taW5XPjAmJih0Lm1pbldpZHRoPW1lYXN1cmVUb1N0cmluZyhlLm1pblcpKTtlLm1heFc+MCYmKHQubWF4V2lkdGg9bWVhc3VyZVRvU3RyaW5nKGUubWF4VykpO2UubWluSD4wJiYodC5taW5IZWlnaHQ9bWVhc3VyZVRvU3RyaW5nKGUubWluSCkpO2UubWF4SD4wJiYodC5tYXhIZWlnaHQ9bWVhc3VyZVRvU3RyaW5nKGUubWF4SCkpfX1mdW5jdGlvbiBsYXlvdXRUZXh0KGUsdCxhLHIsaSxuKXtjb25zdCBzPW5ldyBUZXh0TWVhc3VyZSh0LGEscixpKTsic3RyaW5nIj09dHlwZW9mIGU/cy5hZGRTdHJpbmcoZSk6ZVtEc10ocyk7cmV0dXJuIHMuY29tcHV0ZShuKX1mdW5jdGlvbiBsYXlvdXROb2RlKGUsdCl7bGV0IGE9bnVsbCxyPW51bGwsaT0hMTtpZigoIWUud3x8IWUuaCkmJmUudmFsdWUpe2xldCBuPTAscz0wO2lmKGUubWFyZ2luKXtuPWUubWFyZ2luLmxlZnRJbnNldCtlLm1hcmdpbi5yaWdodEluc2V0O3M9ZS5tYXJnaW4udG9wSW5zZXQrZS5tYXJnaW4uYm90dG9tSW5zZXR9bGV0IG89bnVsbCxjPW51bGw7aWYoZS5wYXJhKXtjPU9iamVjdC5jcmVhdGUobnVsbCk7bz0iIj09PWUucGFyYS5saW5lSGVpZ2h0P251bGw6ZS5wYXJhLmxpbmVIZWlnaHQ7Yy50b3A9IiI9PT1lLnBhcmEuc3BhY2VBYm92ZT8wOmUucGFyYS5zcGFjZUFib3ZlO2MuYm90dG9tPSIiPT09ZS5wYXJhLnNwYWNlQmVsb3c/MDplLnBhcmEuc3BhY2VCZWxvdztjLmxlZnQ9IiI9PT1lLnBhcmEubWFyZ2luTGVmdD8wOmUucGFyYS5tYXJnaW5MZWZ0O2MucmlnaHQ9IiI9PT1lLnBhcmEubWFyZ2luUmlnaHQ/MDplLnBhcmEubWFyZ2luUmlnaHR9bGV0IGw9ZS5mb250O2lmKCFsKXtjb25zdCB0PWVbbHNdKCk7bGV0IGE9ZVtjc10oKTtmb3IoO2EmJmEhPT10Oyl7aWYoYS5mb250KXtsPWEuZm9udDticmVha31hPWFbY3NdKCl9fWNvbnN0IGg9KGUud3x8dC53aWR0aCktbix1PWVbaHNdLmZvbnRGaW5kZXI7aWYoZS52YWx1ZS5leERhdGEmJmUudmFsdWUuZXhEYXRhW0huXSYmInRleHQvaHRtbCI9PT1lLnZhbHVlLmV4RGF0YS5jb250ZW50VHlwZSl7Y29uc3QgdD1sYXlvdXRUZXh0KGUudmFsdWUuZXhEYXRhW0huXSxsLGMsbyx1LGgpO3I9dC53aWR0aDthPXQuaGVpZ2h0O2k9dC5pc0Jyb2tlbn1lbHNle2NvbnN0IHQ9ZS52YWx1ZVtIc10oKTtpZih0KXtjb25zdCBlPWxheW91dFRleHQodCxsLGMsbyx1LGgpO3I9ZS53aWR0aDthPWUuaGVpZ2h0O2k9ZS5pc0Jyb2tlbn19bnVsbD09PXJ8fGUud3x8KHIrPW4pO251bGw9PT1hfHxlLmh8fChhKz1zKX1yZXR1cm57dzpyLGg6YSxpc0Jyb2tlbjppfX1mdW5jdGlvbiBjb21wdXRlQmJveChlLHQsYSl7bGV0IHI7aWYoIiIhPT1lLncmJiIiIT09ZS5oKXI9W2UueCxlLnksZS53LGUuaF07ZWxzZXtpZighYSlyZXR1cm4gbnVsbDtsZXQgaT1lLnc7aWYoIiI9PT1pKXtpZigwPT09ZS5tYXhXKXtjb25zdCB0PWVbb3NdKCk7aT0icG9zaXRpb24iPT09dC5sYXlvdXQmJiIiIT09dC53PzA6ZS5taW5XfWVsc2UgaT1NYXRoLm1pbihlLm1heFcsYS53aWR0aCk7dC5hdHRyaWJ1dGVzLnN0eWxlLndpZHRoPW1lYXN1cmVUb1N0cmluZyhpKX1sZXQgbj1lLmg7aWYoIiI9PT1uKXtpZigwPT09ZS5tYXhIKXtjb25zdCB0PWVbb3NdKCk7bj0icG9zaXRpb24iPT09dC5sYXlvdXQmJiIiIT09dC5oPzA6ZS5taW5IfWVsc2Ugbj1NYXRoLm1pbihlLm1heEgsYS5oZWlnaHQpO3QuYXR0cmlidXRlcy5zdHlsZS5oZWlnaHQ9bWVhc3VyZVRvU3RyaW5nKG4pfXI9W2UueCxlLnksaSxuXX1yZXR1cm4gcn1mdW5jdGlvbiBmaXhEaW1lbnNpb25zKGUpe2NvbnN0IHQ9ZVtvc10oKTtpZih0LmxheW91dD8uaW5jbHVkZXMoInJvdyIpKXtjb25zdCBhPXRbJG5dLHI9ZS5jb2xTcGFuO2xldCBpO2k9LTE9PT1yP01hdGguc3VtUHJlY2lzZShhLmNvbHVtbldpZHRocy5zbGljZShhLmN1cnJlbnRDb2x1bW4pKTpNYXRoLnN1bVByZWNpc2UoYS5jb2x1bW5XaWR0aHMuc2xpY2UoYS5jdXJyZW50Q29sdW1uLGEuY3VycmVudENvbHVtbityKSk7aXNOYU4oaSl8fChlLnc9aSl9dC5sYXlvdXQmJiJwb3NpdGlvbiIhPT10LmxheW91dCYmKGUueD1lLnk9MCk7InRhYmxlIj09PWUubGF5b3V0JiYiIj09PWUudyYmQXJyYXkuaXNBcnJheShlLmNvbHVtbldpZHRocykmJihlLnc9TWF0aC5zdW1QcmVjaXNlKGUuY29sdW1uV2lkdGhzKSl9ZnVuY3Rpb24gbGF5b3V0Q2xhc3MoZSl7c3dpdGNoKGUubGF5b3V0KXtjYXNlInBvc2l0aW9uIjpkZWZhdWx0OnJldHVybiJ4ZmFQb3NpdGlvbiI7Y2FzZSJsci10YiI6cmV0dXJuInhmYUxyVGIiO2Nhc2Uicmwtcm93IjpyZXR1cm4ieGZhUmxSb3ciO2Nhc2UicmwtdGIiOnJldHVybiJ4ZmFSbFRiIjtjYXNlInJvdyI6cmV0dXJuInhmYVJvdyI7Y2FzZSJ0YWJsZSI6cmV0dXJuInhmYVRhYmxlIjtjYXNlInRiIjpyZXR1cm4ieGZhVGIifX1mdW5jdGlvbiB0b1N0eWxlKGUsLi4udCl7Y29uc3QgYT1PYmplY3QuY3JlYXRlKG51bGwpO2Zvcihjb25zdCByIG9mIHQpe2NvbnN0IHQ9ZVtyXTtpZihudWxsIT09dClpZihPby5oYXNPd25Qcm9wZXJ0eShyKSlPb1tyXShlLGEpO2Vsc2UgaWYodCBpbnN0YW5jZW9mIFhGQU9iamVjdCl7Y29uc3QgZT10W0dzXSgpO2U/T2JqZWN0LmFzc2lnbihhLGUpOndhcm4oYChERUJVRykgLSBYRkEgLSBzdHlsZSBmb3IgJHtyfSBub3QgaW1wbGVtZW50ZWQgeWV0YCl9fXJldHVybiBhfWZ1bmN0aW9uIGNyZWF0ZVdyYXBwZXIoZSx0KXtjb25zdHthdHRyaWJ1dGVzOmF9PXQse3N0eWxlOnJ9PWEsaT17bmFtZToiZGl2IixhdHRyaWJ1dGVzOntjbGFzczpbInhmYVdyYXBwZXIiXSxzdHlsZTpPYmplY3QuY3JlYXRlKG51bGwpfSxjaGlsZHJlbjpbXX07YS5jbGFzcy5wdXNoKCJ4ZmFXcmFwcGVkIik7aWYoZS5ib3JkZXIpe2NvbnN0e3dpZHRoczphLGluc2V0czpufT1lLmJvcmRlclskbl07bGV0IHMsbyxjPW5bMF0sbD1uWzNdO2NvbnN0IGg9blswXStuWzJdLHU9blsxXStuWzNdO3N3aXRjaChlLmJvcmRlci5oYW5kKXtjYXNlImV2ZW4iOmMtPWFbMF0vMjtsLT1hWzNdLzI7cz1gY2FsYygxMDAlICsgJHsoYVsxXSthWzNdKS8yLXV9cHgpYDtvPWBjYWxjKDEwMCUgKyAkeyhhWzBdK2FbMl0pLzItaH1weClgO2JyZWFrO2Nhc2UibGVmdCI6Yy09YVswXTtsLT1hWzNdO3M9YGNhbGMoMTAwJSArICR7YVsxXSthWzNdLXV9cHgpYDtvPWBjYWxjKDEwMCUgKyAke2FbMF0rYVsyXS1ofXB4KWA7YnJlYWs7Y2FzZSJyaWdodCI6cz11P2BjYWxjKDEwMCUgLSAke3V9cHgpYDoiMTAwJSI7bz1oP2BjYWxjKDEwMCUgLSAke2h9cHgpYDoiMTAwJSJ9Y29uc3QgZD1bInhmYUJvcmRlciJdO2lzUHJpbnRPbmx5KGUuYm9yZGVyKSYmZC5wdXNoKCJ4ZmFQcmludE9ubHkiKTtjb25zdCBmPXtuYW1lOiJkaXYiLGF0dHJpYnV0ZXM6e2NsYXNzOmQsc3R5bGU6e3RvcDpgJHtjfXB4YCxsZWZ0OmAke2x9cHhgLHdpZHRoOnMsaGVpZ2h0Om99fSxjaGlsZHJlbjpbXX07Zm9yKGNvbnN0IGUgb2ZbImJvcmRlciIsImJvcmRlcldpZHRoIiwiYm9yZGVyQ29sb3IiLCJib3JkZXJSYWRpdXMiLCJib3JkZXJTdHlsZSJdKWlmKHZvaWQgMCE9PXJbZV0pe2YuYXR0cmlidXRlcy5zdHlsZVtlXT1yW2VdO2RlbGV0ZSByW2VdfWkuY2hpbGRyZW4ucHVzaChmLHQpfWVsc2UgaS5jaGlsZHJlbi5wdXNoKHQpO2Zvcihjb25zdCBlIG9mWyJiYWNrZ3JvdW5kIiwiYmFja2dyb3VuZENsaXAiLCJ0b3AiLCJsZWZ0Iiwid2lkdGgiLCJoZWlnaHQiLCJtaW5XaWR0aCIsIm1pbkhlaWdodCIsIm1heFdpZHRoIiwibWF4SGVpZ2h0IiwidHJhbnNmb3JtIiwidHJhbnNmb3JtT3JpZ2luIiwidmlzaWJpbGl0eSJdKWlmKHZvaWQgMCE9PXJbZV0pe2kuYXR0cmlidXRlcy5zdHlsZVtlXT1yW2VdO2RlbGV0ZSByW2VdfWkuYXR0cmlidXRlcy5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiPT09ci5wb3NpdGlvbj8iYWJzb2x1dGUiOiJyZWxhdGl2ZSI7ZGVsZXRlIHIucG9zaXRpb247aWYoci5hbGlnblNlbGYpe2kuYXR0cmlidXRlcy5zdHlsZS5hbGlnblNlbGY9ci5hbGlnblNlbGY7ZGVsZXRlIHIuYWxpZ25TZWxmfXJldHVybiBpfWZ1bmN0aW9uIGZpeFRleHRJbmRlbnQoZSl7Y29uc3QgdD1nZXRNZWFzdXJlbWVudChlLnRleHRJbmRlbnQsIjBweCIpO2lmKHQ+PTApcmV0dXJuO2NvbnN0IGE9InBhZGRpbmciKygibGVmdCI9PT0oInJpZ2h0Ij09PWUudGV4dEFsaWduPyJyaWdodCI6ImxlZnQiKT8iTGVmdCI6IlJpZ2h0Iikscj1nZXRNZWFzdXJlbWVudChlW2FdLCIwcHgiKTtlW2FdPXItdCsicHgifWZ1bmN0aW9uIHNldEFjY2VzcyhlLHQpe3N3aXRjaChlLmFjY2Vzcyl7Y2FzZSJub25JbnRlcmFjdGl2ZSI6dC5wdXNoKCJ4ZmFOb25JbnRlcmFjdGl2ZSIpO2JyZWFrO2Nhc2UicmVhZE9ubHkiOnQucHVzaCgieGZhUmVhZE9ubHkiKTticmVhaztjYXNlInByb3RlY3RlZCI6dC5wdXNoKCJ4ZmFEaXNhYmxlZCIpfX1mdW5jdGlvbiBpc1ByaW50T25seShlKXtyZXR1cm4gZS5yZWxldmFudC5sZW5ndGg+MCYmIWUucmVsZXZhbnRbMF0uZXhjbHVkZWQmJiJwcmludCI9PT1lLnJlbGV2YW50WzBdLnZpZXduYW1lfWZ1bmN0aW9uIGdldEN1cnJlbnRQYXJhKGUpe2NvbnN0IHQ9ZVtsc10oKVskbl0ucGFyYVN0YWNrO3JldHVybiB0Lmxlbmd0aD90LmF0KC0xKTpudWxsfWZ1bmN0aW9uIHNldFBhcmEoZSx0LGEpe2lmKGEuYXR0cmlidXRlcy5jbGFzcz8uaW5jbHVkZXMoInhmYVJpY2giKSl7aWYodCl7IiI9PT1lLmgmJih0LmhlaWdodD0iYXV0byIpOyIiPT09ZS53JiYodC53aWR0aD0iYXV0byIpfWNvbnN0IHI9Z2V0Q3VycmVudFBhcmEoZSk7aWYocil7Y29uc3QgZT1hLmF0dHJpYnV0ZXMuc3R5bGU7ZS5kaXNwbGF5PSJmbGV4IjtlLmZsZXhEaXJlY3Rpb249ImNvbHVtbiI7c3dpdGNoKHIudkFsaWduKXtjYXNlInRvcCI6ZS5qdXN0aWZ5Q29udGVudD0ic3RhcnQiO2JyZWFrO2Nhc2UiYm90dG9tIjplLmp1c3RpZnlDb250ZW50PSJlbmQiO2JyZWFrO2Nhc2UibWlkZGxlIjplLmp1c3RpZnlDb250ZW50PSJjZW50ZXIifWNvbnN0IHQ9cltHc10oKTtmb3IoY29uc3RbYSxyXW9mIE9iamVjdC5lbnRyaWVzKHQpKWEgaW4gZXx8KGVbYV09cil9fX1mdW5jdGlvbiBzZXRGb250RmFtaWx5KGUsdCxhLHIpe2lmKCFhKXtkZWxldGUgci5mb250RmFtaWx5O3JldHVybn1jb25zdCBpPXN0cmlwUXVvdGVzKGUudHlwZWZhY2UpO3IuZm9udEZhbWlseT1gIiR7aX0iYDtjb25zdCBuPWEuZmluZChpKTtpZihuKXtjb25zdHtmb250RmFtaWx5OmF9PW4ucmVndWxhci5jc3NGb250SW5mbzthIT09aSYmKHIuZm9udEZhbWlseT1gIiR7YX0iYCk7Y29uc3Qgcz1nZXRDdXJyZW50UGFyYSh0KTtpZihzJiYiIiE9PXMubGluZUhlaWdodClyZXR1cm47aWYoci5saW5lSGVpZ2h0KXJldHVybjtjb25zdCBvPXNlbGVjdEZvbnQoZSxuKTtvJiYoci5saW5lSGVpZ2h0PU1hdGgubWF4KDEuMixvLmxpbmVIZWlnaHQpKX19ZnVuY3Rpb24gZml4VVJMKGUpe2NvbnN0IHQ9Y3JlYXRlVmFsaWRBYnNvbHV0ZVVybChlLG51bGwse2FkZERlZmF1bHRQcm90b2NvbDohMCx0cnlDb252ZXJ0RW5jb2Rpbmc6ITB9KTtyZXR1cm4gdD90LmhyZWY6bnVsbH1mdW5jdGlvbiBjcmVhdGVMaW5lKGUsdCl7cmV0dXJue25hbWU6ImRpdiIsYXR0cmlidXRlczp7Y2xhc3M6WyJsci10YiI9PT1lLmxheW91dD8ieGZhTHIiOiJ4ZmFSbCJdfSxjaGlsZHJlbjp0fX1mdW5jdGlvbiBmbHVzaEhUTUwoZSl7aWYoIWVbJG5dKXJldHVybiBudWxsO2NvbnN0IHQ9e25hbWU6ImRpdiIsYXR0cmlidXRlczplWyRuXS5hdHRyaWJ1dGVzLGNoaWxkcmVuOmVbJG5dLmNoaWxkcmVufTtpZihlWyRuXS5mYWlsaW5nTm9kZSl7Y29uc3QgYT1lWyRuXS5mYWlsaW5nTm9kZVtWbl0oKTthJiYoZS5sYXlvdXQuZW5kc1dpdGgoIi10YiIpP3QuY2hpbGRyZW4ucHVzaChjcmVhdGVMaW5lKGUsW2FdKSk6dC5jaGlsZHJlbi5wdXNoKGEpKX1yZXR1cm4gMD09PXQuY2hpbGRyZW4ubGVuZ3RoP251bGw6dH1mdW5jdGlvbiBhZGRIVE1MKGUsdCxhKXtjb25zdCByPWVbJG5dLGk9ci5hdmFpbGFibGVTcGFjZSxbbixzLG8sY109YTtzd2l0Y2goZS5sYXlvdXQpe2Nhc2UicG9zaXRpb24iOnIud2lkdGg9TWF0aC5tYXgoci53aWR0aCxuK28pO3IuaGVpZ2h0PU1hdGgubWF4KHIuaGVpZ2h0LHMrYyk7ci5jaGlsZHJlbi5wdXNoKHQpO2JyZWFrO2Nhc2UibHItdGIiOmNhc2UicmwtdGIiOmlmKCFyLmxpbmV8fDE9PT1yLmF0dGVtcHQpe3IubGluZT1jcmVhdGVMaW5lKGUsW10pO3IuY2hpbGRyZW4ucHVzaChyLmxpbmUpO3IubnVtYmVySW5MaW5lPTB9ci5udW1iZXJJbkxpbmUrPTE7ci5saW5lLmNoaWxkcmVuLnB1c2godCk7aWYoMD09PXIuYXR0ZW1wdCl7ci5jdXJyZW50V2lkdGgrPW87ci5oZWlnaHQ9TWF0aC5tYXgoci5oZWlnaHQsci5wcmV2SGVpZ2h0K2MpfWVsc2V7ci5jdXJyZW50V2lkdGg9bztyLnByZXZIZWlnaHQ9ci5oZWlnaHQ7ci5oZWlnaHQrPWM7ci5hdHRlbXB0PTB9ci53aWR0aD1NYXRoLm1heChyLndpZHRoLHIuY3VycmVudFdpZHRoKTticmVhaztjYXNlInJsLXJvdyI6Y2FzZSJyb3ciOntyLmNoaWxkcmVuLnB1c2godCk7ci53aWR0aCs9bztyLmhlaWdodD1NYXRoLm1heChyLmhlaWdodCxjKTtjb25zdCBlPW1lYXN1cmVUb1N0cmluZyhyLmhlaWdodCk7Zm9yKGNvbnN0IHQgb2Ygci5jaGlsZHJlbil0LmF0dHJpYnV0ZXMuc3R5bGUuaGVpZ2h0PWU7YnJlYWt9Y2FzZSJ0YWJsZSI6Y2FzZSJ0YiI6ci53aWR0aD1NYXRoQ2xhbXAobyxyLndpZHRoLGkud2lkdGgpO3IuaGVpZ2h0Kz1jO3IuY2hpbGRyZW4ucHVzaCh0KX19ZnVuY3Rpb24gZ2V0QXZhaWxhYmxlU3BhY2UoZSl7Y29uc3QgdD1lWyRuXS5hdmFpbGFibGVTcGFjZSxhPWUubWFyZ2luP2UubWFyZ2luLnRvcEluc2V0K2UubWFyZ2luLmJvdHRvbUluc2V0OjAscj1lLm1hcmdpbj9lLm1hcmdpbi5sZWZ0SW5zZXQrZS5tYXJnaW4ucmlnaHRJbnNldDowO3N3aXRjaChlLmxheW91dCl7Y2FzZSJsci10YiI6Y2FzZSJybC10YiI6cmV0dXJuIDA9PT1lWyRuXS5hdHRlbXB0P3t3aWR0aDp0LndpZHRoLXItZVskbl0uY3VycmVudFdpZHRoLGhlaWdodDp0LmhlaWdodC1hLWVbJG5dLnByZXZIZWlnaHR9Ont3aWR0aDp0LndpZHRoLXIsaGVpZ2h0OnQuaGVpZ2h0LWEtZVskbl0uaGVpZ2h0fTtjYXNlInJsLXJvdyI6Y2FzZSJyb3ciOnJldHVybnt3aWR0aDpNYXRoLnN1bVByZWNpc2UoZVskbl0uY29sdW1uV2lkdGhzLnNsaWNlKGVbJG5dLmN1cnJlbnRDb2x1bW4pKSxoZWlnaHQ6dC5oZWlnaHQtcn07Y2FzZSJ0YWJsZSI6Y2FzZSJ0YiI6cmV0dXJue3dpZHRoOnQud2lkdGgtcixoZWlnaHQ6dC5oZWlnaHQtYS1lWyRuXS5oZWlnaHR9O2RlZmF1bHQ6cmV0dXJuIHR9fWZ1bmN0aW9uIGNoZWNrRGltZW5zaW9ucyhlLHQpe2lmKG51bGw9PT1lW2xzXSgpWyRuXS5maXJzdFVuc3BsaXR0YWJsZSlyZXR1cm4hMDtpZigwPT09ZS53fHwwPT09ZS5oKXJldHVybiEwO2NvbnN0IGE9ZVtvc10oKSxyPWFbJG5dPy5hdHRlbXB0fHwwLFssaSxuLHNdPWZ1bmN0aW9uIGdldFRyYW5zZm9ybWVkQkJveChlKXtsZXQgdCxhLHI9IiI9PT1lLnc/TmFOOmUudyxpPSIiPT09ZS5oP05hTjplLmgsW24sc109WzAsMF07c3dpdGNoKGUuYW5jaG9yVHlwZXx8IiIpe2Nhc2UiYm90dG9tQ2VudGVyIjpbbixzXT1bci8yLGldO2JyZWFrO2Nhc2UiYm90dG9tTGVmdCI6W24sc109WzAsaV07YnJlYWs7Y2FzZSJib3R0b21SaWdodCI6W24sc109W3IsaV07YnJlYWs7Y2FzZSJtaWRkbGVDZW50ZXIiOltuLHNdPVtyLzIsaS8yXTticmVhaztjYXNlIm1pZGRsZUxlZnQiOltuLHNdPVswLGkvMl07YnJlYWs7Y2FzZSJtaWRkbGVSaWdodCI6W24sc109W3IsaS8yXTticmVhaztjYXNlInRvcENlbnRlciI6W24sc109W3IvMiwwXTticmVhaztjYXNlInRvcFJpZ2h0IjpbbixzXT1bciwwXX1zd2l0Y2goZS5yb3RhdGV8fDApe2Nhc2UgMDpbdCxhXT1bLW4sLXNdO2JyZWFrO2Nhc2UgOTA6W3QsYV09Wy1zLG5dO1tyLGldPVtpLC1yXTticmVhaztjYXNlIDE4MDpbdCxhXT1bbixzXTtbcixpXT1bLXIsLWldO2JyZWFrO2Nhc2UgMjcwOlt0LGFdPVtzLC1uXTtbcixpXT1bLWkscl19cmV0dXJuW2UueCt0K01hdGgubWluKDAsciksZS55K2ErTWF0aC5taW4oMCxpKSxNYXRoLmFicyhyKSxNYXRoLmFicyhpKV19KGUpO3N3aXRjaChhLmxheW91dCl7Y2FzZSJsci10YiI6Y2FzZSJybC10YiI6cmV0dXJuIDA9PT1yP2VbbHNdKClbJG5dLm5vTGF5b3V0RmFpbHVyZT8iIiE9PWUudz9NYXRoLnJvdW5kKG4tdC53aWR0aCk8PTI6dC53aWR0aD4yOiEoIiIhPT1lLmgmJk1hdGgucm91bmQocy10LmhlaWdodCk+MikmJigiIiE9PWUudz9NYXRoLnJvdW5kKG4tdC53aWR0aCk8PTJ8fDA9PT1hWyRuXS5udW1iZXJJbkxpbmUmJnQuaGVpZ2h0PjI6dC53aWR0aD4yKTohIWVbbHNdKClbJG5dLm5vTGF5b3V0RmFpbHVyZXx8ISgiIiE9PWUuaCYmTWF0aC5yb3VuZChzLXQuaGVpZ2h0KT4yKSYmKCgiIj09PWUud3x8TWF0aC5yb3VuZChuLXQud2lkdGgpPD0yfHwhYVtTc10oKSkmJnQuaGVpZ2h0PjIpO2Nhc2UidGFibGUiOmNhc2UidGIiOnJldHVybiEhZVtsc10oKVskbl0ubm9MYXlvdXRGYWlsdXJlfHwoIiI9PT1lLmh8fGVbeHNdKCk/KCIiPT09ZS53fHxNYXRoLnJvdW5kKG4tdC53aWR0aCk8PTJ8fCFhW1NzXSgpKSYmdC5oZWlnaHQ+MjpNYXRoLnJvdW5kKHMtdC5oZWlnaHQpPD0yKTtjYXNlInBvc2l0aW9uIjppZihlW2xzXSgpWyRuXS5ub0xheW91dEZhaWx1cmUpcmV0dXJuITA7aWYoIiI9PT1lLmh8fE1hdGgucm91bmQocytpLXQuaGVpZ2h0KTw9MilyZXR1cm4hMDtyZXR1cm4gcytpPmVbbHNdKClbJG5dLmN1cnJlbnRDb250ZW50QXJlYS5oO2Nhc2Uicmwtcm93IjpjYXNlInJvdyI6cmV0dXJuISFlW2xzXSgpWyRuXS5ub0xheW91dEZhaWx1cmV8fCgiIj09PWUuaHx8TWF0aC5yb3VuZChzLXQuaGVpZ2h0KTw9Mik7ZGVmYXVsdDpyZXR1cm4hMH19Y29uc3QgTW89SnMudGVtcGxhdGUuaWQsRG89Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixCbz0vXkgoXGQrKSQvLFJvPW5ldyBTZXQoWyJpbWFnZS9naWYiLCJpbWFnZS9qcGVnIiwiaW1hZ2UvanBnIiwiaW1hZ2UvcGpwZWciLCJpbWFnZS9wbmciLCJpbWFnZS9hcG5nIiwiaW1hZ2UveC1wbmciLCJpbWFnZS9ibXAiLCJpbWFnZS94LW1zLWJtcCIsImltYWdlL3RpZmYiLCJpbWFnZS90aWYiLCJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iXSksTm89W1tbNjYsNzddLCJpbWFnZS9ibXAiXSxbWzI1NSwyMTYsMjU1XSwiaW1hZ2UvanBlZyJdLFtbNzMsNzMsNDIsMF0sImltYWdlL3RpZmYiXSxbWzc3LDc3LDAsNDJdLCJpbWFnZS90aWZmIl0sW1s3MSw3Myw3MCw1Niw1Nyw5N10sImltYWdlL2dpZiJdLFtbMTM3LDgwLDc4LDcxLDEzLDEwLDI2LDEwXSwiaW1hZ2UvcG5nIl1dO2Z1bmN0aW9uIGdldEJvcmRlckRpbXMoZSl7aWYoIWV8fCFlLmJvcmRlcilyZXR1cm57dzowLGg6MH07Y29uc3QgdD1lLmJvcmRlclthc10oKTtyZXR1cm4gdD97dzp0LndpZHRoc1swXSt0LndpZHRoc1syXSt0Lmluc2V0c1swXSt0Lmluc2V0c1syXSxoOnQud2lkdGhzWzFdK3Qud2lkdGhzWzNdK3QuaW5zZXRzWzFdK3QuaW5zZXRzWzNdfTp7dzowLGg6MH19ZnVuY3Rpb24gaGFzTWFyZ2luKGUpe3JldHVybiBlLm1hcmdpbiYmKGUubWFyZ2luLnRvcEluc2V0fHxlLm1hcmdpbi5yaWdodEluc2V0fHxlLm1hcmdpbi5ib3R0b21JbnNldHx8ZS5tYXJnaW4ubGVmdEluc2V0KX1mdW5jdGlvbiBfc2V0VmFsdWUoZSx0KXtpZighZS52YWx1ZSl7Y29uc3QgdD1uZXcgVmFsdWUoe30pO2VbUG5dKHQpO2UudmFsdWU9dH1lLnZhbHVlW1hzXSh0KX1mdW5jdGlvbipnZXRDb250YWluZWRDaGlsZHJlbihlKXtmb3IoY29uc3QgdCBvZiBlW2lzXSgpKXQgaW5zdGFuY2VvZiBTdWJmb3JtU2V0P3lpZWxkKnRbbnNdKCk6eWllbGQgdH1mdW5jdGlvbiBpc1JlcXVpcmVkKGUpe3JldHVybiJlcnJvciI9PT1lLnZhbGlkYXRlPy5udWxsVGVzdH1mdW5jdGlvbiBzZXRUYWJJbmRleChlKXtmb3IoO2U7KXtpZighZS50cmF2ZXJzYWwpe2VbcXNdPWVbY3NdKClbcXNdO3JldHVybn1pZihlW3FzXSlyZXR1cm47bGV0IHQ9bnVsbDtmb3IoY29uc3QgYSBvZiBlLnRyYXZlcnNhbFtpc10oKSlpZigibmV4dCI9PT1hLm9wZXJhdGlvbil7dD1hO2JyZWFrfWlmKCF0fHwhdC5yZWYpe2VbcXNdPWVbY3NdKClbcXNdO3JldHVybn1jb25zdCBhPWVbbHNdKCk7ZVtxc109KythW3FzXTtjb25zdCByPWFbanNdKHQucmVmLGUpO2lmKCFyKXJldHVybjtlPXJbMF19fWZ1bmN0aW9uIGFwcGx5QXNzaXN0KGUsdCl7Y29uc3QgYT1lLmFzc2lzdDtpZihhKXtjb25zdCBlPWFbenNdKCk7ZSYmKHQudGl0bGU9ZSk7Y29uc3Qgcj1hLnJvbGUubWF0Y2goQm8pO2lmKHIpe2NvbnN0IGU9ImhlYWRpbmciLGE9clsxXTt0LnJvbGU9ZTt0WyJhcmlhLWxldmVsIl09YX19aWYoInRhYmxlIj09PWUubGF5b3V0KXQucm9sZT0idGFibGUiO2Vsc2UgaWYoInJvdyI9PT1lLmxheW91dCl0LnJvbGU9InJvdyI7ZWxzZXtjb25zdCBhPWVbY3NdKCk7InJvdyI9PT1hLmxheW91dCYmKHQucm9sZT0iVEgiPT09YS5hc3Npc3Q/LnJvbGU/ImNvbHVtbmhlYWRlciI6ImNlbGwiKX19ZnVuY3Rpb24gYXJpYUxhYmVsKGUpe2lmKCFlLmFzc2lzdClyZXR1cm4gbnVsbDtjb25zdCB0PWUuYXNzaXN0O3JldHVybiB0LnNwZWFrJiYiIiE9PXQuc3BlYWtbSG5dP3Quc3BlYWtbSG5dOnQudG9vbFRpcD90LnRvb2xUaXBbSG5dOm51bGx9ZnVuY3Rpb24gdmFsdWVUb0h0bWwoZSl7cmV0dXJuIEhUTUxSZXN1bHQuc3VjY2Vzcyh7bmFtZToiZGl2IixhdHRyaWJ1dGVzOntjbGFzczpbInhmYVJpY2giXSxzdHlsZTpPYmplY3QuY3JlYXRlKG51bGwpfSxjaGlsZHJlbjpbe25hbWU6InNwYW4iLGF0dHJpYnV0ZXM6e3N0eWxlOk9iamVjdC5jcmVhdGUobnVsbCl9LHZhbHVlOmV9XX0pfWZ1bmN0aW9uIHNldEZpcnN0VW5zcGxpdHRhYmxlKGUpe2NvbnN0IHQ9ZVtsc10oKTtpZihudWxsPT09dFskbl0uZmlyc3RVbnNwbGl0dGFibGUpe3RbJG5dLmZpcnN0VW5zcGxpdHRhYmxlPWU7dFskbl0ubm9MYXlvdXRGYWlsdXJlPSEwfX1mdW5jdGlvbiB1bnNldEZpcnN0VW5zcGxpdHRhYmxlKGUpe2NvbnN0IHQ9ZVtsc10oKTt0WyRuXS5maXJzdFVuc3BsaXR0YWJsZT09PWUmJih0WyRuXS5ub0xheW91dEZhaWx1cmU9ITEpfWZ1bmN0aW9uIGhhbmRsZUJyZWFrKGUpe2lmKGVbJG5dKXJldHVybiExO2VbJG5dPU9iamVjdC5jcmVhdGUobnVsbCk7aWYoImF1dG8iPT09ZS50YXJnZXRUeXBlKXJldHVybiExO2NvbnN0IHQ9ZVtsc10oKTtsZXQgYT1udWxsO2lmKGUudGFyZ2V0KXthPXRbanNdKGUudGFyZ2V0LGVbY3NdKCkpO2lmKCFhKXJldHVybiExO2E9YVswXX1jb25zdHtjdXJyZW50UGFnZUFyZWE6cixjdXJyZW50Q29udGVudEFyZWE6aX09dFskbl07aWYoInBhZ2VBcmVhIj09PWUudGFyZ2V0VHlwZSl7YSBpbnN0YW5jZW9mIFBhZ2VBcmVhfHwoYT1udWxsKTtpZihlLnN0YXJ0TmV3KXtlWyRuXS50YXJnZXQ9YXx8cjtyZXR1cm4hMH1pZihhJiZhIT09cil7ZVskbl0udGFyZ2V0PWE7cmV0dXJuITB9cmV0dXJuITF9YSBpbnN0YW5jZW9mIENvbnRlbnRBcmVhfHwoYT1udWxsKTtjb25zdCBuPWEmJmFbY3NdKCk7bGV0IHMsbz1uO2lmKGUuc3RhcnROZXcpaWYoYSl7Y29uc3QgZT1uLmNvbnRlbnRBcmVhLmNoaWxkcmVuLHQ9ZS5pbmRleE9mKGkpLHI9ZS5pbmRleE9mKGEpOy0xIT09dCYmdDxyJiYobz1udWxsKTtzPXItMX1lbHNlIHM9ci5jb250ZW50QXJlYS5jaGlsZHJlbi5pbmRleE9mKGkpO2Vsc2V7aWYoIWF8fGE9PT1pKXJldHVybiExO3M9bi5jb250ZW50QXJlYS5jaGlsZHJlbi5pbmRleE9mKGEpLTE7bz1uPT09cj9udWxsOm59ZVskbl0udGFyZ2V0PW87ZVskbl0uaW5kZXg9cztyZXR1cm4hMH1mdW5jdGlvbiBoYW5kbGVPdmVyZmxvdyhlLHQsYSl7Y29uc3Qgcj1lW2xzXSgpLGk9clskbl0ubm9MYXlvdXRGYWlsdXJlLG49dFtvc107dFtvc109KCk9PmU7clskbl0ubm9MYXlvdXRGYWlsdXJlPSEwO2NvbnN0IHM9dFt6c10oYSk7ZVtFbl0ocy5odG1sLHMuYmJveCk7clskbl0ubm9MYXlvdXRGYWlsdXJlPWk7dFtvc109bn1jbGFzcyBBcHBlYXJhbmNlRmlsdGVyIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKE1vLCJhcHBlYXJhbmNlRmlsdGVyIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudHlwZSxbIm9wdGlvbmFsIiwicmVxdWlyZWQiXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifX1jbGFzcyBBcmMgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sImFyYyIsITApO3RoaXMuY2lyY3VsYXI9Z2V0SW50ZWdlcih7ZGF0YTplLmNpcmN1bGFyLGRlZmF1bHRWYWx1ZTowLHZhbGlkYXRlOmU9PjE9PT1lfSk7dGhpcy5oYW5kPWdldFN0cmluZ09wdGlvbihlLmhhbmQsWyJldmVuIiwibGVmdCIsInJpZ2h0Il0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5zdGFydEFuZ2xlPWdldEZsb2F0KHtkYXRhOmUuc3RhcnRBbmdsZSxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT4hMH0pO3RoaXMuc3dlZXBBbmdsZT1nZXRGbG9hdCh7ZGF0YTplLnN3ZWVwQW5nbGUsZGVmYXVsdFZhbHVlOjM2MCx2YWxpZGF0ZTplPT4hMH0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmVkZ2U9bnVsbDt0aGlzLmZpbGw9bnVsbH1benNdKCl7Y29uc3QgZT10aGlzLmVkZ2V8fG5ldyBFZGdlKHt9KSx0PWVbR3NdKCksYT1PYmplY3QuY3JlYXRlKG51bGwpOyJ2aXNpYmxlIj09PXRoaXMuZmlsbD8ucHJlc2VuY2U/T2JqZWN0LmFzc2lnbihhLHRoaXMuZmlsbFtHc10oKSk6YS5maWxsPSJ0cmFuc3BhcmVudCI7YS5zdHJva2VXaWR0aD1tZWFzdXJlVG9TdHJpbmcoInZpc2libGUiPT09ZS5wcmVzZW5jZT9lLnRoaWNrbmVzczowKTthLnN0cm9rZT10LmNvbG9yO2xldCByO2NvbnN0IGk9e3htbG5zOkRvLHN0eWxlOnt3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIixvdmVyZmxvdzoidmlzaWJsZSJ9fTtpZigzNjA9PT10aGlzLnN3ZWVwQW5nbGUpcj17bmFtZToiZWxsaXBzZSIsYXR0cmlidXRlczp7eG1sbnM6RG8sY3g6IjUwJSIsY3k6IjUwJSIscng6IjUwJSIscnk6IjUwJSIsc3R5bGU6YX19O2Vsc2V7Y29uc3QgZT10aGlzLnN0YXJ0QW5nbGUqTWF0aC5QSS8xODAsdD10aGlzLnN3ZWVwQW5nbGUqTWF0aC5QSS8xODAsbj10aGlzLnN3ZWVwQW5nbGU+MTgwPzE6MCxbcyxvLGMsbF09WzUwKigxK01hdGguY29zKGUpKSw1MCooMS1NYXRoLnNpbihlKSksNTAqKDErTWF0aC5jb3MoZSt0KSksNTAqKDEtTWF0aC5zaW4oZSt0KSldO3I9e25hbWU6InBhdGgiLGF0dHJpYnV0ZXM6e3htbG5zOkRvLGQ6YE0gJHtzfSAke299IEEgNTAgNTAgMCAke259IDAgJHtjfSAke2x9YCx2ZWN0b3JFZmZlY3Q6Im5vbi1zY2FsaW5nLXN0cm9rZSIsc3R5bGU6YX19O09iamVjdC5hc3NpZ24oaSx7dmlld0JveDoiMCAwIDEwMCAxMDAiLHByZXNlcnZlQXNwZWN0UmF0aW86Im5vbmUifSl9Y29uc3Qgbj17bmFtZToic3ZnIixjaGlsZHJlbjpbcl0sYXR0cmlidXRlczppfTtpZihoYXNNYXJnaW4odGhpc1tjc10oKVtjc10oKSkpcmV0dXJuIEhUTUxSZXN1bHQuc3VjY2Vzcyh7bmFtZToiZGl2IixhdHRyaWJ1dGVzOntzdHlsZTp7ZGlzcGxheToiaW5saW5lIix3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIn19LGNoaWxkcmVuOltuXX0pO24uYXR0cmlidXRlcy5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiO3JldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3Mobil9fWNsYXNzIEFyZWEgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sImFyZWEiLCEwKTt0aGlzLmNvbFNwYW49Z2V0SW50ZWdlcih7ZGF0YTplLmNvbFNwYW4sZGVmYXVsdFZhbHVlOjEsdmFsaWRhdGU6ZT0+ZT49MXx8LTE9PT1lfSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnJlbGV2YW50PWdldFJlbGV2YW50KGUucmVsZXZhbnQpO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLng9Z2V0TWVhc3VyZW1lbnQoZS54LCIwcHQiKTt0aGlzLnk9Z2V0TWVhc3VyZW1lbnQoZS55LCIwcHQiKTt0aGlzLmRlc2M9bnVsbDt0aGlzLmV4dHJhcz1udWxsO3RoaXMuYXJlYT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5kcmF3PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmV4T2JqZWN0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmV4Y2xHcm91cD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5maWVsZD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zdWJmb3JtPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnN1YmZvcm1TZXQ9bmV3IFhGQU9iamVjdEFycmF5fSpbbnNdKCl7eWllbGQqZ2V0Q29udGFpbmVkQ2hpbGRyZW4odGhpcyl9W0FzXSgpe3JldHVybiEwfVttc10oKXtyZXR1cm4hMH1bRW5dKGUsdCl7Y29uc3RbYSxyLGksbl09dDt0aGlzWyRuXS53aWR0aD1NYXRoLm1heCh0aGlzWyRuXS53aWR0aCxhK2kpO3RoaXNbJG5dLmhlaWdodD1NYXRoLm1heCh0aGlzWyRuXS5oZWlnaHQscituKTt0aGlzWyRuXS5jaGlsZHJlbi5wdXNoKGUpfVtZbl0oKXtyZXR1cm4gdGhpc1skbl0uYXZhaWxhYmxlU3BhY2V9W3pzXShlKXtjb25zdCB0PXRvU3R5bGUodGhpcywicG9zaXRpb24iKSxhPXtzdHlsZTp0LGlkOnRoaXNbVnNdLGNsYXNzOlsieGZhQXJlYSJdfTtpc1ByaW50T25seSh0aGlzKSYmYS5jbGFzcy5wdXNoKCJ4ZmFQcmludE9ubHkiKTt0aGlzLm5hbWUmJihhLnhmYU5hbWU9dGhpcy5uYW1lKTtjb25zdCByPVtdO3RoaXNbJG5dPXtjaGlsZHJlbjpyLHdpZHRoOjAsaGVpZ2h0OjAsYXZhaWxhYmxlU3BhY2U6ZX07Y29uc3QgaT10aGlzW0xuXSh7ZmlsdGVyOm5ldyBTZXQoWyJhcmVhIiwiZHJhdyIsImZpZWxkIiwiZXhjbEdyb3VwIiwic3ViZm9ybSIsInN1YmZvcm1TZXQiXSksaW5jbHVkZTohMH0pO2lmKCFpLnN1Y2Nlc3Mpe2lmKGkuaXNCcmVhaygpKXJldHVybiBpO2RlbGV0ZSB0aGlzWyRuXTtyZXR1cm4gSFRNTFJlc3VsdC5GQUlMVVJFfXQud2lkdGg9bWVhc3VyZVRvU3RyaW5nKHRoaXNbJG5dLndpZHRoKTt0LmhlaWdodD1tZWFzdXJlVG9TdHJpbmcodGhpc1skbl0uaGVpZ2h0KTtjb25zdCBuPXtuYW1lOiJkaXYiLGF0dHJpYnV0ZXM6YSxjaGlsZHJlbjpyfSxzPVt0aGlzLngsdGhpcy55LHRoaXNbJG5dLndpZHRoLHRoaXNbJG5dLmhlaWdodF07ZGVsZXRlIHRoaXNbJG5dO3JldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3MobixzKX19Y2xhc3MgQXNzaXN0IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKE1vLCJhc3Npc3QiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMucm9sZT1lLnJvbGV8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLnNwZWFrPW51bGw7dGhpcy50b29sVGlwPW51bGx9W3pzXSgpe3JldHVybiB0aGlzLnRvb2xUaXA/LltIbl18fG51bGx9fWNsYXNzIEJhcmNvZGUgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sImJhcmNvZGUiLCEwKTt0aGlzLmNoYXJFbmNvZGluZz1nZXRLZXl3b3JkKHtkYXRhOmUuY2hhckVuY29kaW5nP2UuY2hhckVuY29kaW5nLnRvTG93ZXJDYXNlKCk6IiIsZGVmYXVsdFZhbHVlOiIiLHZhbGlkYXRlOmU9PlsidXRmLTgiLCJiaWctZml2ZSIsImZvbnRzcGVjaWZpYyIsImdiayIsImdiLTE4MDMwIiwiZ2ItMjMxMiIsImtzYy01NjAxIiwibm9uZSIsInNoaWZ0LWppcyIsInVjcy0yIiwidXRmLTE2Il0uaW5jbHVkZXMoZSl8fGUubWF0Y2goL2lzby04ODU5LVxkezJ9Lyl9KTt0aGlzLmNoZWNrc3VtPWdldFN0cmluZ09wdGlvbihlLmNoZWNrc3VtLFsibm9uZSIsIjFtb2QxMCIsIjFtb2QxMF8xbW9kMTEiLCIybW9kMTAiLCJhdXRvIl0pO3RoaXMuZGF0YUNvbHVtbkNvdW50PWdldEludGVnZXIoe2RhdGE6ZS5kYXRhQ29sdW1uQ291bnQsZGVmYXVsdFZhbHVlOi0xLHZhbGlkYXRlOmU9PmU+PTB9KTt0aGlzLmRhdGFMZW5ndGg9Z2V0SW50ZWdlcih7ZGF0YTplLmRhdGFMZW5ndGgsZGVmYXVsdFZhbHVlOi0xLHZhbGlkYXRlOmU9PmU+PTB9KTt0aGlzLmRhdGFQcmVwPWdldFN0cmluZ09wdGlvbihlLmRhdGFQcmVwLFsibm9uZSIsImZsYXRlQ29tcHJlc3MiXSk7dGhpcy5kYXRhUm93Q291bnQ9Z2V0SW50ZWdlcih7ZGF0YTplLmRhdGFSb3dDb3VudCxkZWZhdWx0VmFsdWU6LTEsdmFsaWRhdGU6ZT0+ZT49MH0pO3RoaXMuZW5kQ2hhcj1lLmVuZENoYXJ8fCIiO3RoaXMuZXJyb3JDb3JyZWN0aW9uTGV2ZWw9Z2V0SW50ZWdlcih7ZGF0YTplLmVycm9yQ29ycmVjdGlvbkxldmVsLGRlZmF1bHRWYWx1ZTotMSx2YWxpZGF0ZTplPT5lPj0wJiZlPD04fSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm1vZHVsZUhlaWdodD1nZXRNZWFzdXJlbWVudChlLm1vZHVsZUhlaWdodCwiNW1tIik7dGhpcy5tb2R1bGVXaWR0aD1nZXRNZWFzdXJlbWVudChlLm1vZHVsZVdpZHRoLCIwLjI1bW0iKTt0aGlzLnByaW50Q2hlY2tEaWdpdD1nZXRJbnRlZ2VyKHtkYXRhOmUucHJpbnRDaGVja0RpZ2l0LGRlZmF1bHRWYWx1ZTowLHZhbGlkYXRlOmU9PjE9PT1lfSk7dGhpcy5yb3dDb2x1bW5SYXRpbz1nZXRSYXRpbyhlLnJvd0NvbHVtblJhdGlvKTt0aGlzLnN0YXJ0Q2hhcj1lLnN0YXJ0Q2hhcnx8IiI7dGhpcy50ZXh0TG9jYXRpb249Z2V0U3RyaW5nT3B0aW9uKGUudGV4dExvY2F0aW9uLFsiYmVsb3ciLCJhYm92ZSIsImFib3ZlRW1iZWRkZWQiLCJiZWxvd0VtYmVkZGVkIiwibm9uZSJdKTt0aGlzLnRydW5jYXRlPWdldEludGVnZXIoe2RhdGE6ZS50cnVuY2F0ZSxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT4xPT09ZX0pO3RoaXMudHlwZT1nZXRTdHJpbmdPcHRpb24oZS50eXBlP2UudHlwZS50b0xvd2VyQ2FzZSgpOiIiLFsiYXp0ZWMiLCJjb2RhYmFyIiwiY29kZTJvZjVpbmR1c3RyaWFsIiwiY29kZTJvZjVpbnRlcmxlYXZlZCIsImNvZGUyb2Y1bWF0cml4IiwiY29kZTJvZjVzdGFuZGFyZCIsImNvZGUzb2Y5IiwiY29kZTNvZjlleHRlbmRlZCIsImNvZGUxMSIsImNvZGU0OSIsImNvZGU5MyIsImNvZGUxMjgiLCJjb2RlMTI4YSIsImNvZGUxMjhiIiwiY29kZTEyOGMiLCJjb2RlMTI4c3NjYyIsImRhdGFtYXRyaXgiLCJlYW44IiwiZWFuOGFkZDIiLCJlYW44YWRkNSIsImVhbjEzIiwiZWFuMTNhZGQyIiwiZWFuMTNhZGQ1IiwiZWFuMTNwd2NkIiwiZmltIiwibG9nbWFycyIsIm1heGljb2RlIiwibXNpIiwicGRmNDE3IiwicGRmNDE3bWFjcm8iLCJwbGVzc2V5IiwicG9zdGF1c2N1c3QyIiwicG9zdGF1c2N1c3QzIiwicG9zdGF1c3JlcGx5cGFpZCIsInBvc3RhdXNzdGFuZGFyZCIsInBvc3R1a3JtNHNjYyIsInBvc3R1c2RwYmMiLCJwb3N0dXNpbWIiLCJwb3N0dXNzdGFuZGFyZCIsInBvc3R1czV6aXAiLCJxcmNvZGUiLCJyZmlkIiwicnNzMTQiLCJyc3MxNGV4cGFuZGVkIiwicnNzMTRsaW1pdGVkIiwicnNzMTRzdGFja2VkIiwicnNzMTRzdGFja2Vkb21uaSIsInJzczE0dHJ1bmNhdGVkIiwidGVsZXBlbiIsInVjYzEyOCIsInVjYzEyOHJhbmRvbSIsInVjYzEyOHNzY2MiLCJ1cGNhIiwidXBjYWFkZDIiLCJ1cGNhYWRkNSIsInVwY2Fwd2NkIiwidXBjZSIsInVwY2VhZGQyIiwidXBjZWFkZDUiLCJ1cGNlYW4yIiwidXBjZWFuNSIsInVwc21heGljb2RlIl0pO3RoaXMudXBzTW9kZT1nZXRTdHJpbmdPcHRpb24oZS51cHNNb2RlLFsidXNDYXJyaWVyIiwiaW50ZXJuYXRpb25hbENhcnJpZXIiLCJzZWN1cmVTeW1ib2wiLCJzdGFuZGFyZFN5bWJvbCJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy53aWRlTmFycm93UmF0aW89Z2V0UmF0aW8oZS53aWRlTmFycm93UmF0aW8pO3RoaXMuZW5jcnlwdD1udWxsO3RoaXMuZXh0cmFzPW51bGx9fWNsYXNzIEJpbmQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sImJpbmQiLCEwKTt0aGlzLm1hdGNoPWdldFN0cmluZ09wdGlvbihlLm1hdGNoLFsib25jZSIsImRhdGFSZWYiLCJnbG9iYWwiLCJub25lIl0pO3RoaXMucmVmPWUucmVmfHwiIjt0aGlzLnBpY3R1cmU9bnVsbH19Y2xhc3MgQmluZEl0ZW1zIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKE1vLCJiaW5kSXRlbXMiKTt0aGlzLmNvbm5lY3Rpb249ZS5jb25uZWN0aW9ufHwiIjt0aGlzLmxhYmVsUmVmPWUubGFiZWxSZWZ8fCIiO3RoaXMucmVmPWUucmVmfHwiIjt0aGlzLnZhbHVlUmVmPWUudmFsdWVSZWZ8fCIifX1jbGFzcyBCb29rZW5kIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKE1vLCJib29rZW5kIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLmxlYWRlcj1lLmxlYWRlcnx8IiI7dGhpcy50cmFpbGVyPWUudHJhaWxlcnx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifX1jbGFzcyBCb29sZWFuRWxlbWVudCBleHRlbmRzIE9wdGlvbjAxe2NvbnN0cnVjdG9yKGUpe3N1cGVyKE1vLCJib29sZWFuIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9W3pzXShlKXtyZXR1cm4gdmFsdWVUb0h0bWwoMT09PXRoaXNbSG5dPyIxIjoiMCIpfX1jbGFzcyBCb3JkZXIgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sImJvcmRlciIsITApO3RoaXMuYnJlYWs9Z2V0U3RyaW5nT3B0aW9uKGUuYnJlYWssWyJjbG9zZSIsIm9wZW4iXSk7dGhpcy5oYW5kPWdldFN0cmluZ09wdGlvbihlLmhhbmQsWyJldmVuIiwibGVmdCIsInJpZ2h0Il0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5wcmVzZW5jZT1nZXRTdHJpbmdPcHRpb24oZS5wcmVzZW5jZSxbInZpc2libGUiLCJoaWRkZW4iLCJpbmFjdGl2ZSIsImludmlzaWJsZSJdKTt0aGlzLnJlbGV2YW50PWdldFJlbGV2YW50KGUucmVsZXZhbnQpO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmNvcm5lcj1uZXcgWEZBT2JqZWN0QXJyYXkoNCk7dGhpcy5lZGdlPW5ldyBYRkFPYmplY3RBcnJheSg0KTt0aGlzLmV4dHJhcz1udWxsO3RoaXMuZmlsbD1udWxsO3RoaXMubWFyZ2luPW51bGx9W2FzXSgpe2lmKCF0aGlzWyRuXSl7Y29uc3QgZT10aGlzLmVkZ2UuY2hpbGRyZW4uc2xpY2UoKTtpZihlLmxlbmd0aDw0KXtjb25zdCB0PWUuYXQoLTEpfHxuZXcgRWRnZSh7fSk7Zm9yKGxldCBhPWUubGVuZ3RoO2E8NDthKyspZS5wdXNoKHQpfWNvbnN0IHQ9ZS5tYXAoKGU9PmUudGhpY2tuZXNzKSksYT1bMCwwLDAsMF07aWYodGhpcy5tYXJnaW4pe2FbMF09dGhpcy5tYXJnaW4udG9wSW5zZXQ7YVsxXT10aGlzLm1hcmdpbi5yaWdodEluc2V0O2FbMl09dGhpcy5tYXJnaW4uYm90dG9tSW5zZXQ7YVszXT10aGlzLm1hcmdpbi5sZWZ0SW5zZXR9dGhpc1skbl09e3dpZHRoczp0LGluc2V0czphLGVkZ2VzOmV9fXJldHVybiB0aGlzWyRuXX1bR3NdKCl7Y29uc3R7ZWRnZXM6ZX09dGhpc1thc10oKSx0PWUubWFwKChlPT57Y29uc3QgdD1lW0dzXSgpO3QuY29sb3J8fD0iIzAwMDAwMCI7cmV0dXJuIHR9KSksYT1PYmplY3QuY3JlYXRlKG51bGwpO3RoaXMubWFyZ2luJiZPYmplY3QuYXNzaWduKGEsdGhpcy5tYXJnaW5bR3NdKCkpOyJ2aXNpYmxlIj09PXRoaXMuZmlsbD8ucHJlc2VuY2UmJk9iamVjdC5hc3NpZ24oYSx0aGlzLmZpbGxbR3NdKCkpO2lmKHRoaXMuY29ybmVyLmNoaWxkcmVuLnNvbWUoKGU9PjAhPT1lLnJhZGl1cykpKXtjb25zdCBlPXRoaXMuY29ybmVyLmNoaWxkcmVuLm1hcCgoZT0+ZVtHc10oKSkpO2lmKDI9PT1lLmxlbmd0aHx8Mz09PWUubGVuZ3RoKXtjb25zdCB0PWUuYXQoLTEpO2ZvcihsZXQgYT1lLmxlbmd0aDthPDQ7YSsrKWUucHVzaCh0KX1hLmJvcmRlclJhZGl1cz1lLm1hcCgoZT0+ZS5yYWRpdXMpKS5qb2luKCIgIil9c3dpdGNoKHRoaXMucHJlc2VuY2Upe2Nhc2UiaW52aXNpYmxlIjpjYXNlImhpZGRlbiI6YS5ib3JkZXJTdHlsZT0iIjticmVhaztjYXNlImluYWN0aXZlIjphLmJvcmRlclN0eWxlPSJub25lIjticmVhaztkZWZhdWx0OmEuYm9yZGVyU3R5bGU9dC5tYXAoKGU9PmUuc3R5bGUpKS5qb2luKCIgIil9YS5ib3JkZXJXaWR0aD10Lm1hcCgoZT0+ZS53aWR0aCkpLmpvaW4oIiAiKTthLmJvcmRlckNvbG9yPXQubWFwKChlPT5lLmNvbG9yKSkuam9pbigiICIpO3JldHVybiBhfX1jbGFzcyBCcmVhayBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihNbywiYnJlYWsiLCEwKTt0aGlzLmFmdGVyPWdldFN0cmluZ09wdGlvbihlLmFmdGVyLFsiYXV0byIsImNvbnRlbnRBcmVhIiwicGFnZUFyZWEiLCJwYWdlRXZlbiIsInBhZ2VPZGQiXSk7dGhpcy5hZnRlclRhcmdldD1lLmFmdGVyVGFyZ2V0fHwiIjt0aGlzLmJlZm9yZT1nZXRTdHJpbmdPcHRpb24oZS5iZWZvcmUsWyJhdXRvIiwiY29udGVudEFyZWEiLCJwYWdlQXJlYSIsInBhZ2VFdmVuIiwicGFnZU9kZCJdKTt0aGlzLmJlZm9yZVRhcmdldD1lLmJlZm9yZVRhcmdldHx8IiI7dGhpcy5ib29rZW5kTGVhZGVyPWUuYm9va2VuZExlYWRlcnx8IiI7dGhpcy5ib29rZW5kVHJhaWxlcj1lLmJvb2tlbmRUcmFpbGVyfHwiIjt0aGlzLmlkPWUuaWR8fCIiO3RoaXMub3ZlcmZsb3dMZWFkZXI9ZS5vdmVyZmxvd0xlYWRlcnx8IiI7dGhpcy5vdmVyZmxvd1RhcmdldD1lLm92ZXJmbG93VGFyZ2V0fHwiIjt0aGlzLm92ZXJmbG93VHJhaWxlcj1lLm92ZXJmbG93VHJhaWxlcnx8IiI7dGhpcy5zdGFydE5ldz1nZXRJbnRlZ2VyKHtkYXRhOmUuc3RhcnROZXcsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV9KTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5leHRyYXM9bnVsbH19Y2xhc3MgQnJlYWtBZnRlciBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihNbywiYnJlYWtBZnRlciIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5sZWFkZXI9ZS5sZWFkZXJ8fCIiO3RoaXMuc3RhcnROZXc9Z2V0SW50ZWdlcih7ZGF0YTplLnN0YXJ0TmV3LGRlZmF1bHRWYWx1ZTowLHZhbGlkYXRlOmU9PjE9PT1lfSk7dGhpcy50YXJnZXQ9ZS50YXJnZXR8fCIiO3RoaXMudGFyZ2V0VHlwZT1nZXRTdHJpbmdPcHRpb24oZS50YXJnZXRUeXBlLFsiYXV0byIsImNvbnRlbnRBcmVhIiwicGFnZUFyZWEiXSk7dGhpcy50cmFpbGVyPWUudHJhaWxlcnx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuc2NyaXB0PW51bGx9fWNsYXNzIEJyZWFrQmVmb3JlIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKE1vLCJicmVha0JlZm9yZSIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5sZWFkZXI9ZS5sZWFkZXJ8fCIiO3RoaXMuc3RhcnROZXc9Z2V0SW50ZWdlcih7ZGF0YTplLnN0YXJ0TmV3LGRlZmF1bHRWYWx1ZTowLHZhbGlkYXRlOmU9PjE9PT1lfSk7dGhpcy50YXJnZXQ9ZS50YXJnZXR8fCIiO3RoaXMudGFyZ2V0VHlwZT1nZXRTdHJpbmdPcHRpb24oZS50YXJnZXRUeXBlLFsiYXV0byIsImNvbnRlbnRBcmVhIiwicGFnZUFyZWEiXSk7dGhpcy50cmFpbGVyPWUudHJhaWxlcnx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuc2NyaXB0PW51bGx9W3pzXShlKXt0aGlzWyRuXT17fTtyZXR1cm4gSFRNTFJlc3VsdC5GQUlMVVJFfX1jbGFzcyBCdXR0b24gZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sImJ1dHRvbiIsITApO3RoaXMuaGlnaGxpZ2h0PWdldFN0cmluZ09wdGlvbihlLmhpZ2hsaWdodCxbImludmVydGVkIiwibm9uZSIsIm91dGxpbmUiLCJwdXNoIl0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZXh0cmFzPW51bGx9W3pzXShlKXtjb25zdCB0PXRoaXNbY3NdKClbY3NdKCksYT17bmFtZToiYnV0dG9uIixhdHRyaWJ1dGVzOntpZDp0aGlzW1ZzXSxjbGFzczpbInhmYUJ1dHRvbiJdLHN0eWxlOnt9fSxjaGlsZHJlbjpbXX07Zm9yKGNvbnN0IGUgb2YgdC5ldmVudC5jaGlsZHJlbil7aWYoImNsaWNrIiE9PWUuYWN0aXZpdHl8fCFlLnNjcmlwdCljb250aW51ZTtjb25zdCB0PXJlY292ZXJKc1VSTChlLnNjcmlwdFtIbl0pO2lmKCF0KWNvbnRpbnVlO2NvbnN0IHI9Zml4VVJMKHQudXJsKTtyJiZhLmNoaWxkcmVuLnB1c2goe25hbWU6ImEiLGF0dHJpYnV0ZXM6e2lkOiJsaW5rIit0aGlzW1ZzXSxocmVmOnIsbmV3V2luZG93OnQubmV3V2luZG93LGNsYXNzOlsieGZhTGluayJdLHN0eWxlOnt9fSxjaGlsZHJlbjpbXX0pfXJldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3MoYSl9fWNsYXNzIENhbGN1bGF0ZSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihNbywiY2FsY3VsYXRlIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm92ZXJyaWRlPWdldFN0cmluZ09wdGlvbihlLm92ZXJyaWRlLFsiZGlzYWJsZWQiLCJlcnJvciIsImlnbm9yZSIsIndhcm5pbmciXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5tZXNzYWdlPW51bGw7dGhpcy5zY3JpcHQ9bnVsbH19Y2xhc3MgQ2FwdGlvbiBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihNbywiY2FwdGlvbiIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5wbGFjZW1lbnQ9Z2V0U3RyaW5nT3B0aW9uKGUucGxhY2VtZW50LFsibGVmdCIsImJvdHRvbSIsImlubGluZSIsInJpZ2h0IiwidG9wIl0pO3RoaXMucHJlc2VuY2U9Z2V0U3RyaW5nT3B0aW9uKGUucHJlc2VuY2UsWyJ2aXNpYmxlIiwiaGlkZGVuIiwiaW5hY3RpdmUiLCJpbnZpc2libGUiXSk7dGhpcy5yZXNlcnZlPU1hdGguY2VpbChnZXRNZWFzdXJlbWVudChlLnJlc2VydmUpKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5leHRyYXM9bnVsbDt0aGlzLmZvbnQ9bnVsbDt0aGlzLm1hcmdpbj1udWxsO3RoaXMucGFyYT1udWxsO3RoaXMudmFsdWU9bnVsbH1bWHNdKGUpe19zZXRWYWx1ZSh0aGlzLGUpfVthc10oZSl7aWYoIXRoaXNbJG5dKXtsZXR7d2lkdGg6dCxoZWlnaHQ6YX09ZTtzd2l0Y2godGhpcy5wbGFjZW1lbnQpe2Nhc2UibGVmdCI6Y2FzZSJyaWdodCI6Y2FzZSJpbmxpbmUiOnQ9dGhpcy5yZXNlcnZlPD0wP3Q6dGhpcy5yZXNlcnZlO2JyZWFrO2Nhc2UidG9wIjpjYXNlImJvdHRvbSI6YT10aGlzLnJlc2VydmU8PTA/YTp0aGlzLnJlc2VydmV9dGhpc1skbl09bGF5b3V0Tm9kZSh0aGlzLHt3aWR0aDp0LGhlaWdodDphfSl9cmV0dXJuIHRoaXNbJG5dfVt6c10oZSl7aWYoIXRoaXMudmFsdWUpcmV0dXJuIEhUTUxSZXN1bHQuRU1QVFk7dGhpc1tSc10oKTtjb25zdCB0PXRoaXMudmFsdWVbenNdKGUpLmh0bWw7aWYoIXQpe3RoaXNbQnNdKCk7cmV0dXJuIEhUTUxSZXN1bHQuRU1QVFl9Y29uc3QgYT10aGlzLnJlc2VydmU7aWYodGhpcy5yZXNlcnZlPD0wKXtjb25zdHt3OnQsaDphfT10aGlzW2FzXShlKTtzd2l0Y2godGhpcy5wbGFjZW1lbnQpe2Nhc2UibGVmdCI6Y2FzZSJyaWdodCI6Y2FzZSJpbmxpbmUiOnRoaXMucmVzZXJ2ZT10O2JyZWFrO2Nhc2UidG9wIjpjYXNlImJvdHRvbSI6dGhpcy5yZXNlcnZlPWF9fWNvbnN0IHI9W107InN0cmluZyI9PXR5cGVvZiB0P3IucHVzaCh7bmFtZToiI3RleHQiLHZhbHVlOnR9KTpyLnB1c2godCk7Y29uc3QgaT10b1N0eWxlKHRoaXMsImZvbnQiLCJtYXJnaW4iLCJ2aXNpYmlsaXR5Iik7c3dpdGNoKHRoaXMucGxhY2VtZW50KXtjYXNlImxlZnQiOmNhc2UicmlnaHQiOnRoaXMucmVzZXJ2ZT4wJiYoaS53aWR0aD1tZWFzdXJlVG9TdHJpbmcodGhpcy5yZXNlcnZlKSk7YnJlYWs7Y2FzZSJ0b3AiOmNhc2UiYm90dG9tIjp0aGlzLnJlc2VydmU+MCYmKGkuaGVpZ2h0PW1lYXN1cmVUb1N0cmluZyh0aGlzLnJlc2VydmUpKX1zZXRQYXJhKHRoaXMsbnVsbCx0KTt0aGlzW0JzXSgpO3RoaXMucmVzZXJ2ZT1hO3JldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6ImRpdiIsYXR0cmlidXRlczp7c3R5bGU6aSxjbGFzczpbInhmYUNhcHRpb24iXX0sY2hpbGRyZW46cn0pfX1jbGFzcyBDZXJ0aWZpY2F0ZSBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihNbywiY2VydGlmaWNhdGUiKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgQ2VydGlmaWNhdGVzIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKE1vLCJjZXJ0aWZpY2F0ZXMiLCEwKTt0aGlzLmNyZWRlbnRpYWxTZXJ2ZXJQb2xpY3k9Z2V0U3RyaW5nT3B0aW9uKGUuY3JlZGVudGlhbFNlcnZlclBvbGljeSxbIm9wdGlvbmFsIiwicmVxdWlyZWQiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnVybD1lLnVybHx8IiI7dGhpcy51cmxQb2xpY3k9ZS51cmxQb2xpY3l8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmVuY3J5cHRpb249bnVsbDt0aGlzLmlzc3VlcnM9bnVsbDt0aGlzLmtleVVzYWdlPW51bGw7dGhpcy5vaWRzPW51bGw7dGhpcy5zaWduaW5nPW51bGw7dGhpcy5zdWJqZWN0RE5zPW51bGx9fWNsYXNzIENoZWNrQnV0dG9uIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKE1vLCJjaGVja0J1dHRvbiIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5tYXJrPWdldFN0cmluZ09wdGlvbihlLm1hcmssWyJkZWZhdWx0IiwiY2hlY2siLCJjaXJjbGUiLCJjcm9zcyIsImRpYW1vbmQiLCJzcXVhcmUiLCJzdGFyIl0pO3RoaXMuc2hhcGU9Z2V0U3RyaW5nT3B0aW9uKGUuc2hhcGUsWyJzcXVhcmUiLCJyb3VuZCJdKTt0aGlzLnNpemU9Z2V0TWVhc3VyZW1lbnQoZS5zaXplLCIxMHB0Iik7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuYm9yZGVyPW51bGw7dGhpcy5leHRyYXM9bnVsbDt0aGlzLm1hcmdpbj1udWxsfVt6c10oZSl7Y29uc3QgdD10b1N0eWxlKHRoaXMsIm1hcmdpbiIpLGE9bWVhc3VyZVRvU3RyaW5nKHRoaXMuc2l6ZSk7dC53aWR0aD10LmhlaWdodD1hO2xldCByLGksbjtjb25zdCBzPXRoaXNbY3NdKClbY3NdKCksbz1zLml0ZW1zLmNoaWxkcmVuLmxlbmd0aCYmcy5pdGVtcy5jaGlsZHJlblswXVt6c10oKS5odG1sfHxbXSxjPXtvbjoodm9pZCAwIT09b1swXT9vWzBdOiJvbiIpLnRvU3RyaW5nKCksb2ZmOih2b2lkIDAhPT1vWzFdP29bMV06Im9mZiIpLnRvU3RyaW5nKCl9LGw9KHMudmFsdWU/LltIc10oKXx8Im9mZiIpPT09Yy5vbnx8dm9pZCAwLGg9c1tvc10oKSx1PXNbVnNdO2xldCBkO2lmKGggaW5zdGFuY2VvZiBFeGNsR3JvdXApe249aFtWc107cj0icmFkaW8iO2k9InhmYVJhZGlvIjtkPWhbV25dPy5bVnNdfHxoW1ZzXX1lbHNle3I9ImNoZWNrYm94IjtpPSJ4ZmFDaGVja2JveCI7ZD1zW1duXT8uW1ZzXXx8c1tWc119Y29uc3QgZj17bmFtZToiaW5wdXQiLGF0dHJpYnV0ZXM6e2NsYXNzOltpXSxzdHlsZTp0LGZpZWxkSWQ6dSxkYXRhSWQ6ZCx0eXBlOnIsY2hlY2tlZDpsLHhmYU9uOmMub24seGZhT2ZmOmMub2ZmLCJhcmlhLWxhYmVsIjphcmlhTGFiZWwocyksImFyaWEtcmVxdWlyZWQiOiExfX07biYmKGYuYXR0cmlidXRlcy5uYW1lPW4pO2lmKGlzUmVxdWlyZWQocykpe2YuYXR0cmlidXRlc1siYXJpYS1yZXF1aXJlZCJdPSEwO2YuYXR0cmlidXRlcy5yZXF1aXJlZD0hMH1yZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKHtuYW1lOiJsYWJlbCIsYXR0cmlidXRlczp7Y2xhc3M6WyJ4ZmFMYWJlbCJdfSxjaGlsZHJlbjpbZl19KX19Y2xhc3MgQ2hvaWNlTGlzdCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihNbywiY2hvaWNlTGlzdCIsITApO3RoaXMuY29tbWl0T249Z2V0U3RyaW5nT3B0aW9uKGUuY29tbWl0T24sWyJzZWxlY3QiLCJleGl0Il0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5vcGVuPWdldFN0cmluZ09wdGlvbihlLm9wZW4sWyJ1c2VyQ29udHJvbCIsImFsd2F5cyIsIm11bHRpU2VsZWN0Iiwib25FbnRyeSJdKTt0aGlzLnRleHRFbnRyeT1nZXRJbnRlZ2VyKHtkYXRhOmUudGV4dEVudHJ5LGRlZmF1bHRWYWx1ZTowLHZhbGlkYXRlOmU9PjE9PT1lfSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuYm9yZGVyPW51bGw7dGhpcy5leHRyYXM9bnVsbDt0aGlzLm1hcmdpbj1udWxsfVt6c10oZSl7Y29uc3QgdD10b1N0eWxlKHRoaXMsImJvcmRlciIsIm1hcmdpbiIpLGE9dGhpc1tjc10oKVtjc10oKSxyPXtmb250U2l6ZTpgY2FsYygke2EuZm9udD8uc2l6ZXx8MTB9cHggKiB2YXIoLS10b3RhbC1zY2FsZS1mYWN0b3IpKWB9LGk9W107aWYoYS5pdGVtcy5jaGlsZHJlbi5sZW5ndGg+MCl7Y29uc3QgZT1hLml0ZW1zO2xldCB0PTAsbj0wO2lmKDI9PT1lLmNoaWxkcmVuLmxlbmd0aCl7dD1lLmNoaWxkcmVuWzBdLnNhdmU7bj0xLXR9Y29uc3Qgcz1lLmNoaWxkcmVuW3RdW3pzXSgpLmh0bWwsbz1lLmNoaWxkcmVuW25dW3pzXSgpLmh0bWw7bGV0IGM9ITE7Y29uc3QgbD1hLnZhbHVlPy5bSHNdKCl8fCIiO2ZvcihsZXQgZT0wLHQ9cy5sZW5ndGg7ZTx0O2UrKyl7Y29uc3QgdD17bmFtZToib3B0aW9uIixhdHRyaWJ1dGVzOnt2YWx1ZTpvW2VdfHxzW2VdLHN0eWxlOnJ9LHZhbHVlOnNbZV19O29bZV09PT1sJiYodC5hdHRyaWJ1dGVzLnNlbGVjdGVkPWM9ITApO2kucHVzaCh0KX1jfHxpLnNwbGljZSgwLDAse25hbWU6Im9wdGlvbiIsYXR0cmlidXRlczp7aGlkZGVuOiEwLHNlbGVjdGVkOiEwfSx2YWx1ZToiICJ9KX1jb25zdCBuPXtjbGFzczpbInhmYVNlbGVjdCJdLGZpZWxkSWQ6YVtWc10sZGF0YUlkOmFbV25dPy5bVnNdfHxhW1ZzXSxzdHlsZTp0LCJhcmlhLWxhYmVsIjphcmlhTGFiZWwoYSksImFyaWEtcmVxdWlyZWQiOiExfTtpZihpc1JlcXVpcmVkKGEpKXtuWyJhcmlhLXJlcXVpcmVkIl09ITA7bi5yZXF1aXJlZD0hMH0ibXVsdGlTZWxlY3QiPT09dGhpcy5vcGVuJiYobi5tdWx0aXBsZT0hMCk7cmV0dXJuIEhUTUxSZXN1bHQuc3VjY2Vzcyh7bmFtZToibGFiZWwiLGF0dHJpYnV0ZXM6e2NsYXNzOlsieGZhTGFiZWwiXX0sY2hpbGRyZW46W3tuYW1lOiJzZWxlY3QiLGNoaWxkcmVuOmksYXR0cmlidXRlczpufV19KX19Y2xhc3MgQ29sb3IgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sImNvbG9yIiwhMCk7dGhpcy5jU3BhY2U9Z2V0U3RyaW5nT3B0aW9uKGUuY1NwYWNlLFsiU1JHQiJdKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLnZhbHVlPWUudmFsdWU/ZnVuY3Rpb24gZ2V0Q29sb3IoZSx0PVswLDAsMF0pe2xldFthLHIsaV09dDtpZighZSlyZXR1cm57cjphLGc6cixiOml9O2NvbnN0IG49ZS5zcGxpdCgiLCIsMykubWFwKChlPT5NYXRoQ2xhbXAocGFyc2VJbnQoZS50cmltKCksMTApLDAsMjU1KSkpLm1hcCgoZT0+aXNOYU4oZSk/MDplKSk7aWYobi5sZW5ndGg8MylyZXR1cm57cjphLGc6cixiOml9O1thLHIsaV09bjtyZXR1cm57cjphLGc6cixiOml9fShlLnZhbHVlKToiIjt0aGlzLmV4dHJhcz1udWxsfVt1c10oKXtyZXR1cm4hMX1bR3NdKCl7cmV0dXJuIHRoaXMudmFsdWU/VXRpbC5tYWtlSGV4Q29sb3IodGhpcy52YWx1ZS5yLHRoaXMudmFsdWUuZyx0aGlzLnZhbHVlLmIpOm51bGx9fWNsYXNzIENvbWIgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sImNvbWIiKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubnVtYmVyT2ZDZWxscz1nZXRJbnRlZ2VyKHtkYXRhOmUubnVtYmVyT2ZDZWxscyxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT5lPj0wfSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifX1jbGFzcyBDb25uZWN0IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKE1vLCJjb25uZWN0IiwhMCk7dGhpcy5jb25uZWN0aW9uPWUuY29ubmVjdGlvbnx8IiI7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnJlZj1lLnJlZnx8IiI7dGhpcy51c2FnZT1nZXRTdHJpbmdPcHRpb24oZS51c2FnZSxbImV4cG9ydEFuZEltcG9ydCIsImV4cG9ydE9ubHkiLCJpbXBvcnRPbmx5Il0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLnBpY3R1cmU9bnVsbH19Y2xhc3MgQ29udGVudEFyZWEgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sImNvbnRlbnRBcmVhIiwhMCk7dGhpcy5oPWdldE1lYXN1cmVtZW50KGUuaCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnJlbGV2YW50PWdldFJlbGV2YW50KGUucmVsZXZhbnQpO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLnc9Z2V0TWVhc3VyZW1lbnQoZS53KTt0aGlzLng9Z2V0TWVhc3VyZW1lbnQoZS54LCIwcHQiKTt0aGlzLnk9Z2V0TWVhc3VyZW1lbnQoZS55LCIwcHQiKTt0aGlzLmRlc2M9bnVsbDt0aGlzLmV4dHJhcz1udWxsfVt6c10oZSl7Y29uc3QgdD17bGVmdDptZWFzdXJlVG9TdHJpbmcodGhpcy54KSx0b3A6bWVhc3VyZVRvU3RyaW5nKHRoaXMueSksd2lkdGg6bWVhc3VyZVRvU3RyaW5nKHRoaXMudyksaGVpZ2h0Om1lYXN1cmVUb1N0cmluZyh0aGlzLmgpfSxhPVsieGZhQ29udGVudGFyZWEiXTtpc1ByaW50T25seSh0aGlzKSYmYS5wdXNoKCJ4ZmFQcmludE9ubHkiKTtyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKHtuYW1lOiJkaXYiLGNoaWxkcmVuOltdLGF0dHJpYnV0ZXM6e3N0eWxlOnQsY2xhc3M6YSxpZDp0aGlzW1ZzXX19KX19Y2xhc3MgQ29ybmVyIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKE1vLCJjb3JuZXIiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMuaW52ZXJ0ZWQ9Z2V0SW50ZWdlcih7ZGF0YTplLmludmVydGVkLGRlZmF1bHRWYWx1ZTowLHZhbGlkYXRlOmU9PjE9PT1lfSk7dGhpcy5qb2luPWdldFN0cmluZ09wdGlvbihlLmpvaW4sWyJzcXVhcmUiLCJyb3VuZCJdKTt0aGlzLnByZXNlbmNlPWdldFN0cmluZ09wdGlvbihlLnByZXNlbmNlLFsidmlzaWJsZSIsImhpZGRlbiIsImluYWN0aXZlIiwiaW52aXNpYmxlIl0pO3RoaXMucmFkaXVzPWdldE1lYXN1cmVtZW50KGUucmFkaXVzKTt0aGlzLnN0cm9rZT1nZXRTdHJpbmdPcHRpb24oZS5zdHJva2UsWyJzb2xpZCIsImRhc2hEb3QiLCJkYXNoRG90RG90IiwiZGFzaGVkIiwiZG90dGVkIiwiZW1ib3NzZWQiLCJldGNoZWQiLCJsb3dlcmVkIiwicmFpc2VkIl0pO3RoaXMudGhpY2tuZXNzPWdldE1lYXN1cmVtZW50KGUudGhpY2tuZXNzLCIwLjVwdCIpO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmNvbG9yPW51bGw7dGhpcy5leHRyYXM9bnVsbH1bR3NdKCl7Y29uc3QgZT10b1N0eWxlKHRoaXMsInZpc2liaWxpdHkiKTtlLnJhZGl1cz1tZWFzdXJlVG9TdHJpbmcoInNxdWFyZSI9PT10aGlzLmpvaW4/MDp0aGlzLnJhZGl1cyk7cmV0dXJuIGV9fWNsYXNzIERhdGVFbGVtZW50IGV4dGVuZHMgQ29udGVudE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihNbywiZGF0ZSIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifVtHbl0oKXtjb25zdCBlPXRoaXNbSG5dLnRyaW0oKTt0aGlzW0huXT1lP25ldyBEYXRlKGUpOm51bGx9W3pzXShlKXtyZXR1cm4gdmFsdWVUb0h0bWwodGhpc1tIbl0/dGhpc1tIbl0udG9TdHJpbmcoKToiIil9fWNsYXNzIERhdGVUaW1lIGV4dGVuZHMgQ29udGVudE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihNbywiZGF0ZVRpbWUiKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn1bR25dKCl7Y29uc3QgZT10aGlzW0huXS50cmltKCk7dGhpc1tIbl09ZT9uZXcgRGF0ZShlKTpudWxsfVt6c10oZSl7cmV0dXJuIHZhbHVlVG9IdG1sKHRoaXNbSG5dP3RoaXNbSG5dLnRvU3RyaW5nKCk6IiIpfX1jbGFzcyBEYXRlVGltZUVkaXQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sImRhdGVUaW1lRWRpdCIsITApO3RoaXMuaFNjcm9sbFBvbGljeT1nZXRTdHJpbmdPcHRpb24oZS5oU2Nyb2xsUG9saWN5LFsiYXV0byIsIm9mZiIsIm9uIl0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5waWNrZXI9Z2V0U3RyaW5nT3B0aW9uKGUucGlja2VyLFsiaG9zdCIsIm5vbmUiXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuYm9yZGVyPW51bGw7dGhpcy5jb21iPW51bGw7dGhpcy5leHRyYXM9bnVsbDt0aGlzLm1hcmdpbj1udWxsfVt6c10oZSl7Y29uc3QgdD10b1N0eWxlKHRoaXMsImJvcmRlciIsImZvbnQiLCJtYXJnaW4iKSxhPXRoaXNbY3NdKClbY3NdKCkscj17bmFtZToiaW5wdXQiLGF0dHJpYnV0ZXM6e3R5cGU6InRleHQiLGZpZWxkSWQ6YVtWc10sZGF0YUlkOmFbV25dPy5bVnNdfHxhW1ZzXSxjbGFzczpbInhmYVRleHRmaWVsZCJdLHN0eWxlOnQsImFyaWEtbGFiZWwiOmFyaWFMYWJlbChhKSwiYXJpYS1yZXF1aXJlZCI6ITF9fTtpZihpc1JlcXVpcmVkKGEpKXtyLmF0dHJpYnV0ZXNbImFyaWEtcmVxdWlyZWQiXT0hMDtyLmF0dHJpYnV0ZXMucmVxdWlyZWQ9ITB9cmV0dXJuIEhUTUxSZXN1bHQuc3VjY2Vzcyh7bmFtZToibGFiZWwiLGF0dHJpYnV0ZXM6e2NsYXNzOlsieGZhTGFiZWwiXX0sY2hpbGRyZW46W3JdfSl9fWNsYXNzIERlY2ltYWwgZXh0ZW5kcyBDb250ZW50T2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKE1vLCJkZWNpbWFsIik7dGhpcy5mcmFjRGlnaXRzPWdldEludGVnZXIoe2RhdGE6ZS5mcmFjRGlnaXRzLGRlZmF1bHRWYWx1ZToyLHZhbGlkYXRlOmU9PiEwfSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLmxlYWREaWdpdHM9Z2V0SW50ZWdlcih7ZGF0YTplLmxlYWREaWdpdHMsZGVmYXVsdFZhbHVlOi0xLHZhbGlkYXRlOmU9PiEwfSk7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifVtHbl0oKXtjb25zdCBlPXBhcnNlRmxvYXQodGhpc1tIbl0udHJpbSgpKTt0aGlzW0huXT1pc05hTihlKT9udWxsOmV9W3pzXShlKXtyZXR1cm4gdmFsdWVUb0h0bWwobnVsbCE9PXRoaXNbSG5dP3RoaXNbSG5dLnRvU3RyaW5nKCk6IiIpfX1jbGFzcyBEZWZhdWx0VWkgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sImRlZmF1bHRVaSIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZXh0cmFzPW51bGx9fWNsYXNzIERlc2MgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sImRlc2MiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmJvb2xlYW49bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGF0ZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5kYXRlVGltZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5kZWNpbWFsPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmV4RGF0YT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5mbG9hdD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5pbWFnZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5pbnRlZ2VyPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnRleHQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMudGltZT1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIERpZ2VzdE1ldGhvZCBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihNbywiZGlnZXN0TWV0aG9kIixbIiIsIlNIQTEiLCJTSEEyNTYiLCJTSEE1MTIiLCJSSVBFTUQxNjAiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIERpZ2VzdE1ldGhvZHMgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sImRpZ2VzdE1ldGhvZHMiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudHlwZT1nZXRTdHJpbmdPcHRpb24oZS50eXBlLFsib3B0aW9uYWwiLCJyZXF1aXJlZCJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5kaWdlc3RNZXRob2Q9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBEcmF3IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKE1vLCJkcmF3IiwhMCk7dGhpcy5hbmNob3JUeXBlPWdldFN0cmluZ09wdGlvbihlLmFuY2hvclR5cGUsWyJ0b3BMZWZ0IiwiYm90dG9tQ2VudGVyIiwiYm90dG9tTGVmdCIsImJvdHRvbVJpZ2h0IiwibWlkZGxlQ2VudGVyIiwibWlkZGxlTGVmdCIsIm1pZGRsZVJpZ2h0IiwidG9wQ2VudGVyIiwidG9wUmlnaHQiXSk7dGhpcy5jb2xTcGFuPWdldEludGVnZXIoe2RhdGE6ZS5jb2xTcGFuLGRlZmF1bHRWYWx1ZToxLHZhbGlkYXRlOmU9PmU+PTF8fC0xPT09ZX0pO3RoaXMuaD1lLmg/Z2V0TWVhc3VyZW1lbnQoZS5oKToiIjt0aGlzLmhBbGlnbj1nZXRTdHJpbmdPcHRpb24oZS5oQWxpZ24sWyJsZWZ0IiwiY2VudGVyIiwianVzdGlmeSIsImp1c3RpZnlBbGwiLCJyYWRpeCIsInJpZ2h0Il0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5sb2NhbGU9ZS5sb2NhbGV8fCIiO3RoaXMubWF4SD1nZXRNZWFzdXJlbWVudChlLm1heEgsIjBwdCIpO3RoaXMubWF4Vz1nZXRNZWFzdXJlbWVudChlLm1heFcsIjBwdCIpO3RoaXMubWluSD1nZXRNZWFzdXJlbWVudChlLm1pbkgsIjBwdCIpO3RoaXMubWluVz1nZXRNZWFzdXJlbWVudChlLm1pblcsIjBwdCIpO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMucHJlc2VuY2U9Z2V0U3RyaW5nT3B0aW9uKGUucHJlc2VuY2UsWyJ2aXNpYmxlIiwiaGlkZGVuIiwiaW5hY3RpdmUiLCJpbnZpc2libGUiXSk7dGhpcy5yZWxldmFudD1nZXRSZWxldmFudChlLnJlbGV2YW50KTt0aGlzLnJvdGF0ZT1nZXRJbnRlZ2VyKHtkYXRhOmUucm90YXRlLGRlZmF1bHRWYWx1ZTowLHZhbGlkYXRlOmU9PmUlOTA9PTB9KTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy53PWUudz9nZXRNZWFzdXJlbWVudChlLncpOiIiO3RoaXMueD1nZXRNZWFzdXJlbWVudChlLngsIjBwdCIpO3RoaXMueT1nZXRNZWFzdXJlbWVudChlLnksIjBwdCIpO3RoaXMuYXNzaXN0PW51bGw7dGhpcy5ib3JkZXI9bnVsbDt0aGlzLmNhcHRpb249bnVsbDt0aGlzLmRlc2M9bnVsbDt0aGlzLmV4dHJhcz1udWxsO3RoaXMuZm9udD1udWxsO3RoaXMua2VlcD1udWxsO3RoaXMubWFyZ2luPW51bGw7dGhpcy5wYXJhPW51bGw7dGhpcy50cmF2ZXJzYWw9bnVsbDt0aGlzLnVpPW51bGw7dGhpcy52YWx1ZT1udWxsO3RoaXMuc2V0UHJvcGVydHk9bmV3IFhGQU9iamVjdEFycmF5fVtYc10oZSl7X3NldFZhbHVlKHRoaXMsZSl9W3pzXShlKXtzZXRUYWJJbmRleCh0aGlzKTtpZigiaGlkZGVuIj09PXRoaXMucHJlc2VuY2V8fCJpbmFjdGl2ZSI9PT10aGlzLnByZXNlbmNlKXJldHVybiBIVE1MUmVzdWx0LkVNUFRZO2ZpeERpbWVuc2lvbnModGhpcyk7dGhpc1tSc10oKTtjb25zdCB0PXRoaXMudyxhPXRoaXMuaCx7dzpyLGg6aSxpc0Jyb2tlbjpufT1sYXlvdXROb2RlKHRoaXMsZSk7aWYociYmIiI9PT10aGlzLncpe2lmKG4mJnRoaXNbb3NdKClbU3NdKCkpe3RoaXNbQnNdKCk7cmV0dXJuIEhUTUxSZXN1bHQuRkFJTFVSRX10aGlzLnc9cn1pJiYiIj09PXRoaXMuaCYmKHRoaXMuaD1pKTtzZXRGaXJzdFVuc3BsaXR0YWJsZSh0aGlzKTtpZighY2hlY2tEaW1lbnNpb25zKHRoaXMsZSkpe3RoaXMudz10O3RoaXMuaD1hO3RoaXNbQnNdKCk7cmV0dXJuIEhUTUxSZXN1bHQuRkFJTFVSRX11bnNldEZpcnN0VW5zcGxpdHRhYmxlKHRoaXMpO2NvbnN0IHM9dG9TdHlsZSh0aGlzLCJmb250IiwiaEFsaWduIiwiZGltZW5zaW9ucyIsInBvc2l0aW9uIiwicHJlc2VuY2UiLCJyb3RhdGUiLCJhbmNob3JUeXBlIiwiYm9yZGVyIiwibWFyZ2luIik7c2V0TWluTWF4RGltZW5zaW9ucyh0aGlzLHMpO2lmKHMubWFyZ2luKXtzLnBhZGRpbmc9cy5tYXJnaW47ZGVsZXRlIHMubWFyZ2lufWNvbnN0IG89WyJ4ZmFEcmF3Il07dGhpcy5mb250JiZvLnB1c2goInhmYUZvbnQiKTtpc1ByaW50T25seSh0aGlzKSYmby5wdXNoKCJ4ZmFQcmludE9ubHkiKTtjb25zdCBjPXtzdHlsZTpzLGlkOnRoaXNbVnNdLGNsYXNzOm99O3RoaXMubmFtZSYmKGMueGZhTmFtZT10aGlzLm5hbWUpO2NvbnN0IGw9e25hbWU6ImRpdiIsYXR0cmlidXRlczpjLGNoaWxkcmVuOltdfTthcHBseUFzc2lzdCh0aGlzLGMpO2NvbnN0IGg9Y29tcHV0ZUJib3godGhpcyxsLGUpLHU9dGhpcy52YWx1ZT90aGlzLnZhbHVlW3pzXShlKS5odG1sOm51bGw7aWYobnVsbD09PXUpe3RoaXMudz10O3RoaXMuaD1hO3RoaXNbQnNdKCk7cmV0dXJuIEhUTUxSZXN1bHQuc3VjY2VzcyhjcmVhdGVXcmFwcGVyKHRoaXMsbCksaCl9bC5jaGlsZHJlbi5wdXNoKHUpO3NldFBhcmEodGhpcyxzLHUpO3RoaXMudz10O3RoaXMuaD1hO3RoaXNbQnNdKCk7cmV0dXJuIEhUTUxSZXN1bHQuc3VjY2VzcyhjcmVhdGVXcmFwcGVyKHRoaXMsbCksaCl9fWNsYXNzIEVkZ2UgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sImVkZ2UiLCEwKTt0aGlzLmNhcD1nZXRTdHJpbmdPcHRpb24oZS5jYXAsWyJzcXVhcmUiLCJidXR0Iiwicm91bmQiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnByZXNlbmNlPWdldFN0cmluZ09wdGlvbihlLnByZXNlbmNlLFsidmlzaWJsZSIsImhpZGRlbiIsImluYWN0aXZlIiwiaW52aXNpYmxlIl0pO3RoaXMuc3Ryb2tlPWdldFN0cmluZ09wdGlvbihlLnN0cm9rZSxbInNvbGlkIiwiZGFzaERvdCIsImRhc2hEb3REb3QiLCJkYXNoZWQiLCJkb3R0ZWQiLCJlbWJvc3NlZCIsImV0Y2hlZCIsImxvd2VyZWQiLCJyYWlzZWQiXSk7dGhpcy50aGlja25lc3M9Z2V0TWVhc3VyZW1lbnQoZS50aGlja25lc3MsIjAuNXB0Iik7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuY29sb3I9bnVsbDt0aGlzLmV4dHJhcz1udWxsfVtHc10oKXtjb25zdCBlPXRvU3R5bGUodGhpcywidmlzaWJpbGl0eSIpO09iamVjdC5hc3NpZ24oZSx7bGluZWNhcDp0aGlzLmNhcCx3aWR0aDptZWFzdXJlVG9TdHJpbmcodGhpcy50aGlja25lc3MpLGNvbG9yOnRoaXMuY29sb3I/dGhpcy5jb2xvcltHc10oKToiIzAwMDAwMCIsc3R5bGU6IiJ9KTtpZigidmlzaWJsZSIhPT10aGlzLnByZXNlbmNlKWUuc3R5bGU9Im5vbmUiO2Vsc2Ugc3dpdGNoKHRoaXMuc3Ryb2tlKXtjYXNlInNvbGlkIjplLnN0eWxlPSJzb2xpZCI7YnJlYWs7Y2FzZSJkYXNoRG90IjpjYXNlImRhc2hEb3REb3QiOmNhc2UiZGFzaGVkIjplLnN0eWxlPSJkYXNoZWQiO2JyZWFrO2Nhc2UiZG90dGVkIjplLnN0eWxlPSJkb3R0ZWQiO2JyZWFrO2Nhc2UiZW1ib3NzZWQiOmUuc3R5bGU9InJpZGdlIjticmVhaztjYXNlImV0Y2hlZCI6ZS5zdHlsZT0iZ3Jvb3ZlIjticmVhaztjYXNlImxvd2VyZWQiOmUuc3R5bGU9Imluc2V0IjticmVhaztjYXNlInJhaXNlZCI6ZS5zdHlsZT0ib3V0c2V0In1yZXR1cm4gZX19Y2xhc3MgRW5jb2RpbmcgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sImVuY29kaW5nIixbImFkYmUueDUwOS5yc2Ffc2hhMSIsImFkYmUucGtjczcuZGV0YWNoZWQiLCJhZGJlLnBrY3M3LnNoYTEiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIEVuY29kaW5ncyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihNbywiZW5jb2RpbmdzIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudHlwZSxbIm9wdGlvbmFsIiwicmVxdWlyZWQiXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZW5jb2Rpbmc9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBFbmNyeXB0IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKE1vLCJlbmNyeXB0IiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5jZXJ0aWZpY2F0ZT1udWxsfX1jbGFzcyBFbmNyeXB0RGF0YSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihNbywiZW5jcnlwdERhdGEiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMub3BlcmF0aW9uPWdldFN0cmluZ09wdGlvbihlLm9wZXJhdGlvbixbImVuY3J5cHQiLCJkZWNyeXB0Il0pO3RoaXMudGFyZ2V0PWUudGFyZ2V0fHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5maWx0ZXI9bnVsbDt0aGlzLm1hbmlmZXN0PW51bGx9fWNsYXNzIEVuY3J5cHRpb24gZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sImVuY3J5cHRpb24iLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudHlwZT1nZXRTdHJpbmdPcHRpb24oZS50eXBlLFsib3B0aW9uYWwiLCJyZXF1aXJlZCJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5jZXJ0aWZpY2F0ZT1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIEVuY3J5cHRpb25NZXRob2QgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sImVuY3J5cHRpb25NZXRob2QiLFsiIiwiQUVTMjU2LUNCQyIsIlRSSVBMRURFUy1DQkMiLCJBRVMxMjgtQ0JDIiwiQUVTMTkyLUNCQyJdKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgRW5jcnlwdGlvbk1ldGhvZHMgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sImVuY3J5cHRpb25NZXRob2RzIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudHlwZSxbIm9wdGlvbmFsIiwicmVxdWlyZWQiXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZW5jcnlwdGlvbk1ldGhvZD1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIEV2ZW50IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKE1vLCJldmVudCIsITApO3RoaXMuYWN0aXZpdHk9Z2V0U3RyaW5nT3B0aW9uKGUuYWN0aXZpdHksWyJjbGljayIsImNoYW5nZSIsImRvY0Nsb3NlIiwiZG9jUmVhZHkiLCJlbnRlciIsImV4aXQiLCJmdWxsIiwiaW5kZXhDaGFuZ2UiLCJpbml0aWFsaXplIiwibW91c2VEb3duIiwibW91c2VFbnRlciIsIm1vdXNlRXhpdCIsIm1vdXNlVXAiLCJwb3N0RXhlY3V0ZSIsInBvc3RPcGVuIiwicG9zdFByaW50IiwicG9zdFNhdmUiLCJwb3N0U2lnbiIsInBvc3RTdWJtaXQiLCJwcmVFeGVjdXRlIiwicHJlT3BlbiIsInByZVByaW50IiwicHJlU2F2ZSIsInByZVNpZ24iLCJwcmVTdWJtaXQiLCJyZWFkeSIsInZhbGlkYXRpb25TdGF0ZSJdKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubGlzdGVuPWdldFN0cmluZ09wdGlvbihlLmxpc3RlbixbInJlZk9ubHkiLCJyZWZBbmREZXNjZW5kZW50cyJdKTt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnJlZj1lLnJlZnx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5lbmNyeXB0RGF0YT1udWxsO3RoaXMuZXhlY3V0ZT1udWxsO3RoaXMuc2NyaXB0PW51bGw7dGhpcy5zaWduRGF0YT1udWxsO3RoaXMuc3VibWl0PW51bGx9fWNsYXNzIEV4RGF0YSBleHRlbmRzIENvbnRlbnRPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sImV4RGF0YSIpO3RoaXMuY29udGVudFR5cGU9ZS5jb250ZW50VHlwZXx8IiI7dGhpcy5ocmVmPWUuaHJlZnx8IiI7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm1heExlbmd0aD1nZXRJbnRlZ2VyKHtkYXRhOmUubWF4TGVuZ3RoLGRlZmF1bHRWYWx1ZTotMSx2YWxpZGF0ZTplPT5lPj0tMX0pO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMucmlkPWUucmlkfHwiIjt0aGlzLnRyYW5zZmVyRW5jb2Rpbmc9Z2V0U3RyaW5nT3B0aW9uKGUudHJhbnNmZXJFbmNvZGluZyxbIm5vbmUiLCJiYXNlNjQiLCJwYWNrYWdlIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn1bcHNdKCl7cmV0dXJuInRleHQvaHRtbCI9PT10aGlzLmNvbnRlbnRUeXBlfVtUc10oZSl7aWYoInRleHQvaHRtbCI9PT10aGlzLmNvbnRlbnRUeXBlJiZlW3ZzXT09PUpzLnhodG1sLmlkKXt0aGlzW0huXT1lO3JldHVybiEwfWlmKCJ0ZXh0L3htbCI9PT10aGlzLmNvbnRlbnRUeXBlKXt0aGlzW0huXT1lO3JldHVybiEwfXJldHVybiExfVt6c10oZSl7cmV0dXJuInRleHQvaHRtbCI9PT10aGlzLmNvbnRlbnRUeXBlJiZ0aGlzW0huXT90aGlzW0huXVt6c10oZSk6SFRNTFJlc3VsdC5FTVBUWX19Y2xhc3MgRXhPYmplY3QgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sImV4T2JqZWN0IiwhMCk7dGhpcy5hcmNoaXZlPWUuYXJjaGl2ZXx8IiI7dGhpcy5jbGFzc0lkPWUuY2xhc3NJZHx8IiI7dGhpcy5jb2RlQmFzZT1lLmNvZGVCYXNlfHwiIjt0aGlzLmNvZGVUeXBlPWUuY29kZVR5cGV8fCIiO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5ib29sZWFuPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRhdGU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGF0ZVRpbWU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGVjaW1hbD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5leERhdGE9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZXhPYmplY3Q9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZmxvYXQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuaW1hZ2U9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuaW50ZWdlcj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy50ZXh0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnRpbWU9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBFeGNsR3JvdXAgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sImV4Y2xHcm91cCIsITApO3RoaXMuYWNjZXNzPWdldFN0cmluZ09wdGlvbihlLmFjY2VzcyxbIm9wZW4iLCJub25JbnRlcmFjdGl2ZSIsInByb3RlY3RlZCIsInJlYWRPbmx5Il0pO3RoaXMuYWNjZXNzS2V5PWUuYWNjZXNzS2V5fHwiIjt0aGlzLmFuY2hvclR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUuYW5jaG9yVHlwZSxbInRvcExlZnQiLCJib3R0b21DZW50ZXIiLCJib3R0b21MZWZ0IiwiYm90dG9tUmlnaHQiLCJtaWRkbGVDZW50ZXIiLCJtaWRkbGVMZWZ0IiwibWlkZGxlUmlnaHQiLCJ0b3BDZW50ZXIiLCJ0b3BSaWdodCJdKTt0aGlzLmNvbFNwYW49Z2V0SW50ZWdlcih7ZGF0YTplLmNvbFNwYW4sZGVmYXVsdFZhbHVlOjEsdmFsaWRhdGU6ZT0+ZT49MXx8LTE9PT1lfSk7dGhpcy5oPWUuaD9nZXRNZWFzdXJlbWVudChlLmgpOiIiO3RoaXMuaEFsaWduPWdldFN0cmluZ09wdGlvbihlLmhBbGlnbixbImxlZnQiLCJjZW50ZXIiLCJqdXN0aWZ5IiwianVzdGlmeUFsbCIsInJhZGl4IiwicmlnaHQiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLmxheW91dD1nZXRTdHJpbmdPcHRpb24oZS5sYXlvdXQsWyJwb3NpdGlvbiIsImxyLXRiIiwicmwtcm93IiwicmwtdGIiLCJyb3ciLCJ0YWJsZSIsInRiIl0pO3RoaXMubWF4SD1nZXRNZWFzdXJlbWVudChlLm1heEgsIjBwdCIpO3RoaXMubWF4Vz1nZXRNZWFzdXJlbWVudChlLm1heFcsIjBwdCIpO3RoaXMubWluSD1nZXRNZWFzdXJlbWVudChlLm1pbkgsIjBwdCIpO3RoaXMubWluVz1nZXRNZWFzdXJlbWVudChlLm1pblcsIjBwdCIpO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMucHJlc2VuY2U9Z2V0U3RyaW5nT3B0aW9uKGUucHJlc2VuY2UsWyJ2aXNpYmxlIiwiaGlkZGVuIiwiaW5hY3RpdmUiLCJpbnZpc2libGUiXSk7dGhpcy5yZWxldmFudD1nZXRSZWxldmFudChlLnJlbGV2YW50KTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy53PWUudz9nZXRNZWFzdXJlbWVudChlLncpOiIiO3RoaXMueD1nZXRNZWFzdXJlbWVudChlLngsIjBwdCIpO3RoaXMueT1nZXRNZWFzdXJlbWVudChlLnksIjBwdCIpO3RoaXMuYXNzaXN0PW51bGw7dGhpcy5iaW5kPW51bGw7dGhpcy5ib3JkZXI9bnVsbDt0aGlzLmNhbGN1bGF0ZT1udWxsO3RoaXMuY2FwdGlvbj1udWxsO3RoaXMuZGVzYz1udWxsO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5tYXJnaW49bnVsbDt0aGlzLnBhcmE9bnVsbDt0aGlzLnRyYXZlcnNhbD1udWxsO3RoaXMudmFsaWRhdGU9bnVsbDt0aGlzLmNvbm5lY3Q9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZXZlbnQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZmllbGQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuc2V0UHJvcGVydHk9bmV3IFhGQU9iamVjdEFycmF5fVttc10oKXtyZXR1cm4hMH1bdXNdKCl7cmV0dXJuITB9W1hzXShlKXtmb3IoY29uc3QgdCBvZiB0aGlzLmZpZWxkLmNoaWxkcmVuKXtpZighdC52YWx1ZSl7Y29uc3QgZT1uZXcgVmFsdWUoe30pO3RbUG5dKGUpO3QudmFsdWU9ZX10LnZhbHVlW1hzXShlKX19W1NzXSgpe3JldHVybiB0aGlzLmxheW91dC5lbmRzV2l0aCgiLXRiIikmJjA9PT10aGlzWyRuXS5hdHRlbXB0JiZ0aGlzWyRuXS5udW1iZXJJbkxpbmU+MHx8dGhpc1tjc10oKVtTc10oKX1beHNdKCl7Y29uc3QgZT10aGlzW29zXSgpO2lmKCFlW3hzXSgpKXJldHVybiExO2lmKHZvaWQgMCE9PXRoaXNbJG5dLl9pc1NwbGl0dGFibGUpcmV0dXJuIHRoaXNbJG5dLl9pc1NwbGl0dGFibGU7aWYoInBvc2l0aW9uIj09PXRoaXMubGF5b3V0fHx0aGlzLmxheW91dC5pbmNsdWRlcygicm93Iikpe3RoaXNbJG5dLl9pc1NwbGl0dGFibGU9ITE7cmV0dXJuITF9aWYoZS5sYXlvdXQ/LmVuZHNXaXRoKCItdGIiKSYmMCE9PWVbJG5dLm51bWJlckluTGluZSlyZXR1cm4hMTt0aGlzWyRuXS5faXNTcGxpdHRhYmxlPSEwO3JldHVybiEwfVtWbl0oKXtyZXR1cm4gZmx1c2hIVE1MKHRoaXMpfVtFbl0oZSx0KXthZGRIVE1MKHRoaXMsZSx0KX1bWW5dKCl7cmV0dXJuIGdldEF2YWlsYWJsZVNwYWNlKHRoaXMpfVt6c10oZSl7c2V0VGFiSW5kZXgodGhpcyk7aWYoImhpZGRlbiI9PT10aGlzLnByZXNlbmNlfHwiaW5hY3RpdmUiPT09dGhpcy5wcmVzZW5jZXx8MD09PXRoaXMuaHx8MD09PXRoaXMudylyZXR1cm4gSFRNTFJlc3VsdC5FTVBUWTtmaXhEaW1lbnNpb25zKHRoaXMpO2NvbnN0IHQ9W10sYT17aWQ6dGhpc1tWc10sY2xhc3M6W119O3NldEFjY2Vzcyh0aGlzLGEuY2xhc3MpO3RoaXNbJG5dfHw9T2JqZWN0LmNyZWF0ZShudWxsKTtPYmplY3QuYXNzaWduKHRoaXNbJG5dLHtjaGlsZHJlbjp0LGF0dHJpYnV0ZXM6YSxhdHRlbXB0OjAsbGluZTpudWxsLG51bWJlckluTGluZTowLGF2YWlsYWJsZVNwYWNlOnt3aWR0aDpNYXRoLm1pbih0aGlzLnd8fDEvMCxlLndpZHRoKSxoZWlnaHQ6TWF0aC5taW4odGhpcy5ofHwxLzAsZS5oZWlnaHQpfSx3aWR0aDowLGhlaWdodDowLHByZXZIZWlnaHQ6MCxjdXJyZW50V2lkdGg6MH0pO2NvbnN0IHI9dGhpc1t4c10oKTtyfHxzZXRGaXJzdFVuc3BsaXR0YWJsZSh0aGlzKTtpZighY2hlY2tEaW1lbnNpb25zKHRoaXMsZSkpcmV0dXJuIEhUTUxSZXN1bHQuRkFJTFVSRTtjb25zdCBpPW5ldyBTZXQoWyJmaWVsZCJdKTtpZih0aGlzLmxheW91dC5pbmNsdWRlcygicm93Iikpe2NvbnN0IGU9dGhpc1tvc10oKS5jb2x1bW5XaWR0aHM7aWYoQXJyYXkuaXNBcnJheShlKSYmZS5sZW5ndGg+MCl7dGhpc1skbl0uY29sdW1uV2lkdGhzPWU7dGhpc1skbl0uY3VycmVudENvbHVtbj0wfX1jb25zdCBuPXRvU3R5bGUodGhpcywiYW5jaG9yVHlwZSIsImRpbWVuc2lvbnMiLCJwb3NpdGlvbiIsInByZXNlbmNlIiwiYm9yZGVyIiwibWFyZ2luIiwiaEFsaWduIikscz1bInhmYUV4Y2xncm91cCJdLG89bGF5b3V0Q2xhc3ModGhpcyk7byYmcy5wdXNoKG8pO2lzUHJpbnRPbmx5KHRoaXMpJiZzLnB1c2goInhmYVByaW50T25seSIpO2Euc3R5bGU9bjthLmNsYXNzPXM7dGhpcy5uYW1lJiYoYS54ZmFOYW1lPXRoaXMubmFtZSk7dGhpc1tSc10oKTtjb25zdCBjPSJsci10YiI9PT10aGlzLmxheW91dHx8InJsLXRiIj09PXRoaXMubGF5b3V0LGw9Yz8yOjE7Zm9yKDt0aGlzWyRuXS5hdHRlbXB0PGw7dGhpc1skbl0uYXR0ZW1wdCsrKXtjJiYxPT09dGhpc1skbl0uYXR0ZW1wdCYmKHRoaXNbJG5dLm51bWJlckluTGluZT0wKTtjb25zdCBlPXRoaXNbTG5dKHtmaWx0ZXI6aSxpbmNsdWRlOiEwfSk7aWYoZS5zdWNjZXNzKWJyZWFrO2lmKGUuaXNCcmVhaygpKXt0aGlzW0JzXSgpO3JldHVybiBlfWlmKGMmJjA9PT10aGlzWyRuXS5hdHRlbXB0JiYwPT09dGhpc1skbl0ubnVtYmVySW5MaW5lJiYhdGhpc1tsc10oKVskbl0ubm9MYXlvdXRGYWlsdXJlKXt0aGlzWyRuXS5hdHRlbXB0PWw7YnJlYWt9fXRoaXNbQnNdKCk7cnx8dW5zZXRGaXJzdFVuc3BsaXR0YWJsZSh0aGlzKTtpZih0aGlzWyRuXS5hdHRlbXB0PT09bCl7cnx8ZGVsZXRlIHRoaXNbJG5dO3JldHVybiBIVE1MUmVzdWx0LkZBSUxVUkV9bGV0IGg9MCx1PTA7aWYodGhpcy5tYXJnaW4pe2g9dGhpcy5tYXJnaW4ubGVmdEluc2V0K3RoaXMubWFyZ2luLnJpZ2h0SW5zZXQ7dT10aGlzLm1hcmdpbi50b3BJbnNldCt0aGlzLm1hcmdpbi5ib3R0b21JbnNldH1jb25zdCBkPU1hdGgubWF4KHRoaXNbJG5dLndpZHRoK2gsdGhpcy53fHwwKSxmPU1hdGgubWF4KHRoaXNbJG5dLmhlaWdodCt1LHRoaXMuaHx8MCksZz1bdGhpcy54LHRoaXMueSxkLGZdOyIiPT09dGhpcy53JiYobi53aWR0aD1tZWFzdXJlVG9TdHJpbmcoZCkpOyIiPT09dGhpcy5oJiYobi5oZWlnaHQ9bWVhc3VyZVRvU3RyaW5nKGYpKTtjb25zdCBwPXtuYW1lOiJkaXYiLGF0dHJpYnV0ZXM6YSxjaGlsZHJlbjp0fTthcHBseUFzc2lzdCh0aGlzLGEpO2RlbGV0ZSB0aGlzWyRuXTtyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKGNyZWF0ZVdyYXBwZXIodGhpcyxwKSxnKX19Y2xhc3MgRXhlY3V0ZSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihNbywiZXhlY3V0ZSIpO3RoaXMuY29ubmVjdGlvbj1lLmNvbm5lY3Rpb258fCIiO3RoaXMuZXhlY3V0ZVR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUuZXhlY3V0ZVR5cGUsWyJpbXBvcnQiLCJyZW1lcmdlIl0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5ydW5BdD1nZXRTdHJpbmdPcHRpb24oZS5ydW5BdCxbImNsaWVudCIsImJvdGgiLCJzZXJ2ZXIiXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifX1jbGFzcyBFeHRyYXMgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sImV4dHJhcyIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuYm9vbGVhbj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5kYXRlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRhdGVUaW1lPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRlY2ltYWw9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZXhEYXRhPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmV4dHJhcz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5mbG9hdD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5pbWFnZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5pbnRlZ2VyPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnRleHQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMudGltZT1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIEZpZWxkIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKE1vLCJmaWVsZCIsITApO3RoaXMuYWNjZXNzPWdldFN0cmluZ09wdGlvbihlLmFjY2VzcyxbIm9wZW4iLCJub25JbnRlcmFjdGl2ZSIsInByb3RlY3RlZCIsInJlYWRPbmx5Il0pO3RoaXMuYWNjZXNzS2V5PWUuYWNjZXNzS2V5fHwiIjt0aGlzLmFuY2hvclR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUuYW5jaG9yVHlwZSxbInRvcExlZnQiLCJib3R0b21DZW50ZXIiLCJib3R0b21MZWZ0IiwiYm90dG9tUmlnaHQiLCJtaWRkbGVDZW50ZXIiLCJtaWRkbGVMZWZ0IiwibWlkZGxlUmlnaHQiLCJ0b3BDZW50ZXIiLCJ0b3BSaWdodCJdKTt0aGlzLmNvbFNwYW49Z2V0SW50ZWdlcih7ZGF0YTplLmNvbFNwYW4sZGVmYXVsdFZhbHVlOjEsdmFsaWRhdGU6ZT0+ZT49MXx8LTE9PT1lfSk7dGhpcy5oPWUuaD9nZXRNZWFzdXJlbWVudChlLmgpOiIiO3RoaXMuaEFsaWduPWdldFN0cmluZ09wdGlvbihlLmhBbGlnbixbImxlZnQiLCJjZW50ZXIiLCJqdXN0aWZ5IiwianVzdGlmeUFsbCIsInJhZGl4IiwicmlnaHQiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLmxvY2FsZT1lLmxvY2FsZXx8IiI7dGhpcy5tYXhIPWdldE1lYXN1cmVtZW50KGUubWF4SCwiMHB0Iik7dGhpcy5tYXhXPWdldE1lYXN1cmVtZW50KGUubWF4VywiMHB0Iik7dGhpcy5taW5IPWdldE1lYXN1cmVtZW50KGUubWluSCwiMHB0Iik7dGhpcy5taW5XPWdldE1lYXN1cmVtZW50KGUubWluVywiMHB0Iik7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy5wcmVzZW5jZT1nZXRTdHJpbmdPcHRpb24oZS5wcmVzZW5jZSxbInZpc2libGUiLCJoaWRkZW4iLCJpbmFjdGl2ZSIsImludmlzaWJsZSJdKTt0aGlzLnJlbGV2YW50PWdldFJlbGV2YW50KGUucmVsZXZhbnQpO3RoaXMucm90YXRlPWdldEludGVnZXIoe2RhdGE6ZS5yb3RhdGUsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+ZSU5MD09MH0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLnc9ZS53P2dldE1lYXN1cmVtZW50KGUudyk6IiI7dGhpcy54PWdldE1lYXN1cmVtZW50KGUueCwiMHB0Iik7dGhpcy55PWdldE1lYXN1cmVtZW50KGUueSwiMHB0Iik7dGhpcy5hc3Npc3Q9bnVsbDt0aGlzLmJpbmQ9bnVsbDt0aGlzLmJvcmRlcj1udWxsO3RoaXMuY2FsY3VsYXRlPW51bGw7dGhpcy5jYXB0aW9uPW51bGw7dGhpcy5kZXNjPW51bGw7dGhpcy5leHRyYXM9bnVsbDt0aGlzLmZvbnQ9bnVsbDt0aGlzLmZvcm1hdD1udWxsO3RoaXMuaXRlbXM9bmV3IFhGQU9iamVjdEFycmF5KDIpO3RoaXMua2VlcD1udWxsO3RoaXMubWFyZ2luPW51bGw7dGhpcy5wYXJhPW51bGw7dGhpcy50cmF2ZXJzYWw9bnVsbDt0aGlzLnVpPW51bGw7dGhpcy52YWxpZGF0ZT1udWxsO3RoaXMudmFsdWU9bnVsbDt0aGlzLmJpbmRJdGVtcz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5jb25uZWN0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmV2ZW50PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnNldFByb3BlcnR5PW5ldyBYRkFPYmplY3RBcnJheX1bbXNdKCl7cmV0dXJuITB9W1hzXShlKXtfc2V0VmFsdWUodGhpcyxlKX1benNdKGUpe3NldFRhYkluZGV4KHRoaXMpO2lmKCF0aGlzLnVpKXt0aGlzLnVpPW5ldyBVaSh7fSk7dGhpcy51aVtoc109dGhpc1toc107dGhpc1tQbl0odGhpcy51aSk7bGV0IGU7c3dpdGNoKHRoaXMuaXRlbXMuY2hpbGRyZW4ubGVuZ3RoKXtjYXNlIDA6ZT1uZXcgVGV4dEVkaXQoe30pO3RoaXMudWkudGV4dEVkaXQ9ZTticmVhaztjYXNlIDE6ZT1uZXcgQ2hlY2tCdXR0b24oe30pO3RoaXMudWkuY2hlY2tCdXR0b249ZTticmVhaztjYXNlIDI6ZT1uZXcgQ2hvaWNlTGlzdCh7fSk7dGhpcy51aS5jaG9pY2VMaXN0PWV9dGhpcy51aVtQbl0oZSl9aWYoIXRoaXMudWl8fCJoaWRkZW4iPT09dGhpcy5wcmVzZW5jZXx8ImluYWN0aXZlIj09PXRoaXMucHJlc2VuY2V8fDA9PT10aGlzLmh8fDA9PT10aGlzLncpcmV0dXJuIEhUTUxSZXN1bHQuRU1QVFk7dGhpcy5jYXB0aW9uJiZkZWxldGUgdGhpcy5jYXB0aW9uWyRuXTt0aGlzW1JzXSgpO2NvbnN0IHQ9dGhpcy5jYXB0aW9uP3RoaXMuY2FwdGlvblt6c10oZSkuaHRtbDpudWxsLGE9dGhpcy53LHI9dGhpcy5oO2xldCBpPTAsbj0wO2lmKHRoaXMubWFyZ2luKXtpPXRoaXMubWFyZ2luLmxlZnRJbnNldCt0aGlzLm1hcmdpbi5yaWdodEluc2V0O249dGhpcy5tYXJnaW4udG9wSW5zZXQrdGhpcy5tYXJnaW4uYm90dG9tSW5zZXR9bGV0IHM9bnVsbDtpZigiIj09PXRoaXMud3x8IiI9PT10aGlzLmgpe2xldCB0PW51bGwsYT1udWxsLHI9MCxvPTA7aWYodGhpcy51aS5jaGVja0J1dHRvbilyPW89dGhpcy51aS5jaGVja0J1dHRvbi5zaXplO2Vsc2V7Y29uc3R7dzp0LGg6YX09bGF5b3V0Tm9kZSh0aGlzLGUpO2lmKG51bGwhPT10KXtyPXQ7bz1hfWVsc2Ugbz1mdW5jdGlvbiBmb250c19nZXRNZXRyaWNzKGUsdD0hMSl7bGV0IGE9bnVsbDtpZihlKXtjb25zdCB0PXN0cmlwUXVvdGVzKGUudHlwZWZhY2UpLHI9ZVtoc10uZm9udEZpbmRlci5maW5kKHQpO2E9c2VsZWN0Rm9udChlLHIpfWlmKCFhKXJldHVybntsaW5lSGVpZ2h0OjEyLGxpbmVHYXA6MixsaW5lTm9HYXA6MTB9O2NvbnN0IHI9ZS5zaXplfHwxMCxpPWEubGluZUhlaWdodD9NYXRoLm1heCh0PzA6MS4yLGEubGluZUhlaWdodCk6MS4yLG49dm9pZCAwPT09YS5saW5lR2FwPy4yOmEubGluZUdhcDtyZXR1cm57bGluZUhlaWdodDppKnIsbGluZUdhcDpuKnIsbGluZU5vR2FwOk1hdGgubWF4KDEsaS1uKSpyfX0odGhpcy5mb250LCEwKS5saW5lTm9HYXB9cz1nZXRCb3JkZXJEaW1zKHRoaXMudWlbYXNdKCkpO3IrPXMudztvKz1zLmg7aWYodGhpcy5jYXB0aW9uKXtjb25zdHt3OmksaDpuLGlzQnJva2VuOnN9PXRoaXMuY2FwdGlvblthc10oZSk7aWYocyYmdGhpc1tvc10oKVtTc10oKSl7dGhpc1tCc10oKTtyZXR1cm4gSFRNTFJlc3VsdC5GQUlMVVJFfXQ9aTthPW47c3dpdGNoKHRoaXMuY2FwdGlvbi5wbGFjZW1lbnQpe2Nhc2UibGVmdCI6Y2FzZSJyaWdodCI6Y2FzZSJpbmxpbmUiOnQrPXI7YnJlYWs7Y2FzZSJ0b3AiOmNhc2UiYm90dG9tIjphKz1vfX1lbHNle3Q9cjthPW99aWYodCYmIiI9PT10aGlzLncpe3QrPWk7dGhpcy53PU1hdGgubWluKHRoaXMubWF4Vzw9MD8xLzA6dGhpcy5tYXhXLHRoaXMubWluVysxPHQ/dDp0aGlzLm1pblcpfWlmKGEmJiIiPT09dGhpcy5oKXthKz1uO3RoaXMuaD1NYXRoLm1pbih0aGlzLm1heEg8PTA/MS8wOnRoaXMubWF4SCx0aGlzLm1pbkgrMTxhP2E6dGhpcy5taW5IKX19dGhpc1tCc10oKTtmaXhEaW1lbnNpb25zKHRoaXMpO3NldEZpcnN0VW5zcGxpdHRhYmxlKHRoaXMpO2lmKCFjaGVja0RpbWVuc2lvbnModGhpcyxlKSl7dGhpcy53PWE7dGhpcy5oPXI7dGhpc1tCc10oKTtyZXR1cm4gSFRNTFJlc3VsdC5GQUlMVVJFfXVuc2V0Rmlyc3RVbnNwbGl0dGFibGUodGhpcyk7Y29uc3Qgbz10b1N0eWxlKHRoaXMsImZvbnQiLCJkaW1lbnNpb25zIiwicG9zaXRpb24iLCJyb3RhdGUiLCJhbmNob3JUeXBlIiwicHJlc2VuY2UiLCJtYXJnaW4iLCJoQWxpZ24iKTtzZXRNaW5NYXhEaW1lbnNpb25zKHRoaXMsbyk7Y29uc3QgYz1bInhmYUZpZWxkIl07dGhpcy5mb250JiZjLnB1c2goInhmYUZvbnQiKTtpc1ByaW50T25seSh0aGlzKSYmYy5wdXNoKCJ4ZmFQcmludE9ubHkiKTtjb25zdCBsPXtzdHlsZTpvLGlkOnRoaXNbVnNdLGNsYXNzOmN9O2lmKG8ubWFyZ2luKXtvLnBhZGRpbmc9by5tYXJnaW47ZGVsZXRlIG8ubWFyZ2lufXNldEFjY2Vzcyh0aGlzLGMpO3RoaXMubmFtZSYmKGwueGZhTmFtZT10aGlzLm5hbWUpO2NvbnN0IGg9W10sdT17bmFtZToiZGl2IixhdHRyaWJ1dGVzOmwsY2hpbGRyZW46aH07YXBwbHlBc3Npc3QodGhpcyxsKTtjb25zdCBkPXRoaXMuYm9yZGVyP3RoaXMuYm9yZGVyW0dzXSgpOm51bGwsZj1jb21wdXRlQmJveCh0aGlzLHUsZSksZz10aGlzLnVpW3pzXSgpLmh0bWw7aWYoIWcpe09iamVjdC5hc3NpZ24obyxkKTtyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKGNyZWF0ZVdyYXBwZXIodGhpcyx1KSxmKX10aGlzW3FzXSYmKGcuY2hpbGRyZW4/LlswXT9nLmNoaWxkcmVuWzBdLmF0dHJpYnV0ZXMudGFiaW5kZXg9dGhpc1txc106Zy5hdHRyaWJ1dGVzLnRhYmluZGV4PXRoaXNbcXNdKTtnLmF0dHJpYnV0ZXMuc3R5bGV8fD1PYmplY3QuY3JlYXRlKG51bGwpO2xldCBwPW51bGw7aWYodGhpcy51aS5idXR0b24pezE9PT1nLmNoaWxkcmVuLmxlbmd0aCYmKFtwXT1nLmNoaWxkcmVuLnNwbGljZSgwLDEpKTtPYmplY3QuYXNzaWduKGcuYXR0cmlidXRlcy5zdHlsZSxkKX1lbHNlIE9iamVjdC5hc3NpZ24obyxkKTtoLnB1c2goZyk7aWYodGhpcy52YWx1ZSlpZih0aGlzLnVpLmltYWdlRWRpdClnLmNoaWxkcmVuLnB1c2godGhpcy52YWx1ZVt6c10oKS5odG1sKTtlbHNlIGlmKCF0aGlzLnVpLmJ1dHRvbil7bGV0IGU9IiI7aWYodGhpcy52YWx1ZS5leERhdGEpZT10aGlzLnZhbHVlLmV4RGF0YVtIc10oKTtlbHNlIGlmKHRoaXMudmFsdWUudGV4dCllPXRoaXMudmFsdWUudGV4dFthc10oKTtlbHNle2NvbnN0IHQ9dGhpcy52YWx1ZVt6c10oKS5odG1sO251bGwhPT10JiYoZT10LmNoaWxkcmVuWzBdLnZhbHVlKX10aGlzLnVpLnRleHRFZGl0JiZ0aGlzLnZhbHVlLnRleHQ/Lm1heENoYXJzJiYoZy5jaGlsZHJlblswXS5hdHRyaWJ1dGVzLm1heExlbmd0aD10aGlzLnZhbHVlLnRleHQubWF4Q2hhcnMpO2lmKGUpe2lmKHRoaXMudWkubnVtZXJpY0VkaXQpe2U9cGFyc2VGbG9hdChlKTtlPWlzTmFOKGUpPyIiOmUudG9TdHJpbmcoKX0idGV4dGFyZWEiPT09Zy5jaGlsZHJlblswXS5uYW1lP2cuY2hpbGRyZW5bMF0uYXR0cmlidXRlcy50ZXh0Q29udGVudD1lOmcuY2hpbGRyZW5bMF0uYXR0cmlidXRlcy52YWx1ZT1lfX1pZighdGhpcy51aS5pbWFnZUVkaXQmJmcuY2hpbGRyZW4/LlswXSYmdGhpcy5oKXtzPXN8fGdldEJvcmRlckRpbXModGhpcy51aVthc10oKSk7bGV0IHQ9MDtpZih0aGlzLmNhcHRpb24mJlsidG9wIiwiYm90dG9tIl0uaW5jbHVkZXModGhpcy5jYXB0aW9uLnBsYWNlbWVudCkpe3Q9dGhpcy5jYXB0aW9uLnJlc2VydmU7dDw9MCYmKHQ9dGhpcy5jYXB0aW9uW2FzXShlKS5oKTtjb25zdCBhPXRoaXMuaC10LW4tcy5oO2cuY2hpbGRyZW5bMF0uYXR0cmlidXRlcy5zdHlsZS5oZWlnaHQ9bWVhc3VyZVRvU3RyaW5nKGEpfWVsc2UgZy5jaGlsZHJlblswXS5hdHRyaWJ1dGVzLnN0eWxlLmhlaWdodD0iMTAwJSJ9cCYmZy5jaGlsZHJlbi5wdXNoKHApO2lmKCF0KXtnLmF0dHJpYnV0ZXMuY2xhc3MmJmcuYXR0cmlidXRlcy5jbGFzcy5wdXNoKCJ4ZmFMZWZ0Iik7dGhpcy53PWE7dGhpcy5oPXI7cmV0dXJuIEhUTUxSZXN1bHQuc3VjY2VzcyhjcmVhdGVXcmFwcGVyKHRoaXMsdSksZil9aWYodGhpcy51aS5idXR0b24pe28ucGFkZGluZyYmZGVsZXRlIG8ucGFkZGluZzsiZGl2Ij09PXQubmFtZSYmKHQubmFtZT0ic3BhbiIpO2cuY2hpbGRyZW4ucHVzaCh0KTtyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKHUsZil9dGhpcy51aS5jaGVja0J1dHRvbiYmKHQuYXR0cmlidXRlcy5jbGFzc1swXT0ieGZhQ2FwdGlvbkZvckNoZWNrQnV0dG9uIik7Zy5hdHRyaWJ1dGVzLmNsYXNzfHw9W107Zy5jaGlsZHJlbi5zcGxpY2UoMCwwLHQpO3N3aXRjaCh0aGlzLmNhcHRpb24ucGxhY2VtZW50KXtjYXNlImxlZnQiOmNhc2UiaW5saW5lIjpnLmF0dHJpYnV0ZXMuY2xhc3MucHVzaCgieGZhTGVmdCIpO2JyZWFrO2Nhc2UicmlnaHQiOmcuYXR0cmlidXRlcy5jbGFzcy5wdXNoKCJ4ZmFSaWdodCIpO2JyZWFrO2Nhc2UidG9wIjpnLmF0dHJpYnV0ZXMuY2xhc3MucHVzaCgieGZhVG9wIik7YnJlYWs7Y2FzZSJib3R0b20iOmcuYXR0cmlidXRlcy5jbGFzcy5wdXNoKCJ4ZmFCb3R0b20iKX10aGlzLnc9YTt0aGlzLmg9cjtyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKGNyZWF0ZVdyYXBwZXIodGhpcyx1KSxmKX19Y2xhc3MgRmlsbCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihNbywiZmlsbCIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5wcmVzZW5jZT1nZXRTdHJpbmdPcHRpb24oZS5wcmVzZW5jZSxbInZpc2libGUiLCJoaWRkZW4iLCJpbmFjdGl2ZSIsImludmlzaWJsZSJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5jb2xvcj1udWxsO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5saW5lYXI9bnVsbDt0aGlzLnBhdHRlcm49bnVsbDt0aGlzLnJhZGlhbD1udWxsO3RoaXMuc29saWQ9bnVsbDt0aGlzLnN0aXBwbGU9bnVsbH1bR3NdKCl7Y29uc3QgZT10aGlzW2NzXSgpLHQ9ZVtjc10oKVtjc10oKSxhPU9iamVjdC5jcmVhdGUobnVsbCk7bGV0IHI9ImNvbG9yIixpPXI7aWYoZSBpbnN0YW5jZW9mIEJvcmRlcil7cj0iYmFja2dyb3VuZC1jb2xvciI7aT0iYmFja2dyb3VuZCI7dCBpbnN0YW5jZW9mIFVpJiYoYS5iYWNrZ3JvdW5kQ29sb3I9IndoaXRlIil9aWYoZSBpbnN0YW5jZW9mIFJlY3RhbmdsZXx8ZSBpbnN0YW5jZW9mIEFyYyl7cj1pPSJmaWxsIjthLmZpbGw9IndoaXRlIn1mb3IoY29uc3QgZSBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKSl7aWYoImV4dHJhcyI9PT1lfHwiY29sb3IiPT09ZSljb250aW51ZTtjb25zdCB0PXRoaXNbZV07aWYoISh0IGluc3RhbmNlb2YgWEZBT2JqZWN0KSljb250aW51ZTtjb25zdCBuPXRbR3NdKHRoaXMuY29sb3IpO24mJihhW24uc3RhcnRzV2l0aCgiIyIpP3I6aV09bik7cmV0dXJuIGF9aWYodGhpcy5jb2xvcj8udmFsdWUpe2NvbnN0IGU9dGhpcy5jb2xvcltHc10oKTthW2Uuc3RhcnRzV2l0aCgiIyIpP3I6aV09ZX1yZXR1cm4gYX19Y2xhc3MgRmlsdGVyIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKE1vLCJmaWx0ZXIiLCEwKTt0aGlzLmFkZFJldm9jYXRpb25JbmZvPWdldFN0cmluZ09wdGlvbihlLmFkZFJldm9jYXRpb25JbmZvLFsiIiwicmVxdWlyZWQiLCJvcHRpb25hbCIsIm5vbmUiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy52ZXJzaW9uPWdldEludGVnZXIoe2RhdGE6dGhpcy52ZXJzaW9uLGRlZmF1bHRWYWx1ZTo1LHZhbGlkYXRlOmU9PmU+PTEmJmU8PTV9KTt0aGlzLmFwcGVhcmFuY2VGaWx0ZXI9bnVsbDt0aGlzLmNlcnRpZmljYXRlcz1udWxsO3RoaXMuZGlnZXN0TWV0aG9kcz1udWxsO3RoaXMuZW5jb2RpbmdzPW51bGw7dGhpcy5lbmNyeXB0aW9uTWV0aG9kcz1udWxsO3RoaXMuaGFuZGxlcj1udWxsO3RoaXMubG9ja0RvY3VtZW50PW51bGw7dGhpcy5tZHA9bnVsbDt0aGlzLnJlYXNvbnM9bnVsbDt0aGlzLnRpbWVTdGFtcD1udWxsfX1jbGFzcyBGbG9hdCBleHRlbmRzIENvbnRlbnRPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sImZsb2F0Iik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9W0duXSgpe2NvbnN0IGU9cGFyc2VGbG9hdCh0aGlzW0huXS50cmltKCkpO3RoaXNbSG5dPWlzTmFOKGUpP251bGw6ZX1benNdKGUpe3JldHVybiB2YWx1ZVRvSHRtbChudWxsIT09dGhpc1tIbl0/dGhpc1tIbl0udG9TdHJpbmcoKToiIil9fWNsYXNzIHRlbXBsYXRlX0ZvbnQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sImZvbnQiLCEwKTt0aGlzLmJhc2VsaW5lU2hpZnQ9Z2V0TWVhc3VyZW1lbnQoZS5iYXNlbGluZVNoaWZ0KTt0aGlzLmZvbnRIb3Jpem9udGFsU2NhbGU9Z2V0RmxvYXQoe2RhdGE6ZS5mb250SG9yaXpvbnRhbFNjYWxlLGRlZmF1bHRWYWx1ZToxMDAsdmFsaWRhdGU6ZT0+ZT49MH0pO3RoaXMuZm9udFZlcnRpY2FsU2NhbGU9Z2V0RmxvYXQoe2RhdGE6ZS5mb250VmVydGljYWxTY2FsZSxkZWZhdWx0VmFsdWU6MTAwLHZhbGlkYXRlOmU9PmU+PTB9KTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMua2VybmluZ01vZGU9Z2V0U3RyaW5nT3B0aW9uKGUua2VybmluZ01vZGUsWyJub25lIiwicGFpciJdKTt0aGlzLmxldHRlclNwYWNpbmc9Z2V0TWVhc3VyZW1lbnQoZS5sZXR0ZXJTcGFjaW5nLCIwIik7dGhpcy5saW5lVGhyb3VnaD1nZXRJbnRlZ2VyKHtkYXRhOmUubGluZVRocm91Z2gsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV8fDI9PT1lfSk7dGhpcy5saW5lVGhyb3VnaFBlcmlvZD1nZXRTdHJpbmdPcHRpb24oZS5saW5lVGhyb3VnaFBlcmlvZCxbImFsbCIsIndvcmQiXSk7dGhpcy5vdmVybGluZT1nZXRJbnRlZ2VyKHtkYXRhOmUub3ZlcmxpbmUsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV8fDI9PT1lfSk7dGhpcy5vdmVybGluZVBlcmlvZD1nZXRTdHJpbmdPcHRpb24oZS5vdmVybGluZVBlcmlvZCxbImFsbCIsIndvcmQiXSk7dGhpcy5wb3N0dXJlPWdldFN0cmluZ09wdGlvbihlLnBvc3R1cmUsWyJub3JtYWwiLCJpdGFsaWMiXSk7dGhpcy5zaXplPWdldE1lYXN1cmVtZW50KGUuc2l6ZSwiMTBwdCIpO3RoaXMudHlwZWZhY2U9ZS50eXBlZmFjZXx8IkNvdXJpZXIiO3RoaXMudW5kZXJsaW5lPWdldEludGVnZXIoe2RhdGE6ZS51bmRlcmxpbmUsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV8fDI9PT1lfSk7dGhpcy51bmRlcmxpbmVQZXJpb2Q9Z2V0U3RyaW5nT3B0aW9uKGUudW5kZXJsaW5lUGVyaW9kLFsiYWxsIiwid29yZCJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy53ZWlnaHQ9Z2V0U3RyaW5nT3B0aW9uKGUud2VpZ2h0LFsibm9ybWFsIiwiYm9sZCJdKTt0aGlzLmV4dHJhcz1udWxsO3RoaXMuZmlsbD1udWxsfVtqbl0oZSl7c3VwZXJbam5dKGUpO3RoaXNbaHNdLnVzZWRUeXBlZmFjZXMuYWRkKHRoaXMudHlwZWZhY2UpfVtHc10oKXtjb25zdCBlPXRvU3R5bGUodGhpcywiZmlsbCIpLHQ9ZS5jb2xvcjtpZih0KWlmKCIjMDAwMDAwIj09PXQpZGVsZXRlIGUuY29sb3I7ZWxzZSBpZighdC5zdGFydHNXaXRoKCIjIikpe2UuYmFja2dyb3VuZD10O2UuYmFja2dyb3VuZENsaXA9InRleHQiO2UuY29sb3I9InRyYW5zcGFyZW50In10aGlzLmJhc2VsaW5lU2hpZnQmJihlLnZlcnRpY2FsQWxpZ249bWVhc3VyZVRvU3RyaW5nKHRoaXMuYmFzZWxpbmVTaGlmdCkpO2UuZm9udEtlcm5pbmc9Im5vbmUiPT09dGhpcy5rZXJuaW5nTW9kZT8ibm9uZSI6Im5vcm1hbCI7ZS5sZXR0ZXJTcGFjaW5nPW1lYXN1cmVUb1N0cmluZyh0aGlzLmxldHRlclNwYWNpbmcpO2lmKDAhPT10aGlzLmxpbmVUaHJvdWdoKXtlLnRleHREZWNvcmF0aW9uPSJsaW5lLXRocm91Z2giOzI9PT10aGlzLmxpbmVUaHJvdWdoJiYoZS50ZXh0RGVjb3JhdGlvblN0eWxlPSJkb3VibGUiKX1pZigwIT09dGhpcy5vdmVybGluZSl7ZS50ZXh0RGVjb3JhdGlvbj0ib3ZlcmxpbmUiOzI9PT10aGlzLm92ZXJsaW5lJiYoZS50ZXh0RGVjb3JhdGlvblN0eWxlPSJkb3VibGUiKX1lLmZvbnRTdHlsZT10aGlzLnBvc3R1cmU7ZS5mb250U2l6ZT1tZWFzdXJlVG9TdHJpbmcoLjk5KnRoaXMuc2l6ZSk7c2V0Rm9udEZhbWlseSh0aGlzLHRoaXMsdGhpc1toc10uZm9udEZpbmRlcixlKTtpZigwIT09dGhpcy51bmRlcmxpbmUpe2UudGV4dERlY29yYXRpb249InVuZGVybGluZSI7Mj09PXRoaXMudW5kZXJsaW5lJiYoZS50ZXh0RGVjb3JhdGlvblN0eWxlPSJkb3VibGUiKX1lLmZvbnRXZWlnaHQ9dGhpcy53ZWlnaHQ7cmV0dXJuIGV9fWNsYXNzIEZvcm1hdCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihNbywiZm9ybWF0IiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5leHRyYXM9bnVsbDt0aGlzLnBpY3R1cmU9bnVsbH19Y2xhc3MgSGFuZGxlciBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihNbywiaGFuZGxlciIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy50eXBlPWdldFN0cmluZ09wdGlvbihlLnR5cGUsWyJvcHRpb25hbCIsInJlcXVpcmVkIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgSHlwaGVuYXRpb24gZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sImh5cGhlbmF0aW9uIik7dGhpcy5leGNsdWRlQWxsQ2Fwcz1nZXRJbnRlZ2VyKHtkYXRhOmUuZXhjbHVkZUFsbENhcHMsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV9KTt0aGlzLmV4Y2x1ZGVJbml0aWFsQ2FwPWdldEludGVnZXIoe2RhdGE6ZS5leGNsdWRlSW5pdGlhbENhcCxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT4xPT09ZX0pO3RoaXMuaHlwaGVuYXRlPWdldEludGVnZXIoe2RhdGE6ZS5oeXBoZW5hdGUsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV9KTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMucHVzaENoYXJhY3RlckNvdW50PWdldEludGVnZXIoe2RhdGE6ZS5wdXNoQ2hhcmFjdGVyQ291bnQsZGVmYXVsdFZhbHVlOjMsdmFsaWRhdGU6ZT0+ZT49MH0pO3RoaXMucmVtYWluQ2hhcmFjdGVyQ291bnQ9Z2V0SW50ZWdlcih7ZGF0YTplLnJlbWFpbkNoYXJhY3RlckNvdW50LGRlZmF1bHRWYWx1ZTozLHZhbGlkYXRlOmU9PmU+PTB9KTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy53b3JkQ2hhcmFjdGVyQ291bnQ9Z2V0SW50ZWdlcih7ZGF0YTplLndvcmRDaGFyYWN0ZXJDb3VudCxkZWZhdWx0VmFsdWU6Nyx2YWxpZGF0ZTplPT5lPj0wfSl9fWNsYXNzIEltYWdlIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKE1vLCJpbWFnZSIpO3RoaXMuYXNwZWN0PWdldFN0cmluZ09wdGlvbihlLmFzcGVjdCxbImZpdCIsImFjdHVhbCIsImhlaWdodCIsIm5vbmUiLCJ3aWR0aCJdKTt0aGlzLmNvbnRlbnRUeXBlPWUuY29udGVudFR5cGV8fCIiO3RoaXMuaHJlZj1lLmhyZWZ8fCIiO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy50cmFuc2ZlckVuY29kaW5nPWdldFN0cmluZ09wdGlvbihlLnRyYW5zZmVyRW5jb2RpbmcsWyJiYXNlNjQiLCJub25lIiwicGFja2FnZSJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9W3pzXSgpe2lmKHRoaXMuY29udGVudFR5cGUmJiFSby5oYXModGhpcy5jb250ZW50VHlwZS50b0xvd2VyQ2FzZSgpKSlyZXR1cm4gSFRNTFJlc3VsdC5FTVBUWTtsZXQgZT10aGlzW2hzXS5pbWFnZXM/LmdldCh0aGlzLmhyZWYpO2lmKCFlJiYodGhpcy5ocmVmfHwhdGhpc1tIbl0pKXJldHVybiBIVE1MUmVzdWx0LkVNUFRZO2V8fCJiYXNlNjQiIT09dGhpcy50cmFuc2ZlckVuY29kaW5nfHwoZT1mdW5jdGlvbiBmcm9tQmFzZTY0VXRpbChlKXtyZXR1cm4gVWludDhBcnJheS5mcm9tQmFzZTY0P1VpbnQ4QXJyYXkuZnJvbUJhc2U2NChlKTpzdHJpbmdUb0J5dGVzKGF0b2IoZSkpfSh0aGlzW0huXSkpO2lmKCFlKXJldHVybiBIVE1MUmVzdWx0LkVNUFRZO2lmKCF0aGlzLmNvbnRlbnRUeXBlKXtmb3IoY29uc3RbdCxhXW9mIE5vKWlmKGUubGVuZ3RoPnQubGVuZ3RoJiZ0LmV2ZXJ5KCgodCxhKT0+dD09PWVbYV0pKSl7dGhpcy5jb250ZW50VHlwZT1hO2JyZWFrfWlmKCF0aGlzLmNvbnRlbnRUeXBlKXJldHVybiBIVE1MUmVzdWx0LkVNUFRZfWNvbnN0IHQ9bmV3IEJsb2IoW2VdLHt0eXBlOnRoaXMuY29udGVudFR5cGV9KTtsZXQgYTtzd2l0Y2godGhpcy5hc3BlY3Qpe2Nhc2UiZml0IjpjYXNlImFjdHVhbCI6YnJlYWs7Y2FzZSJoZWlnaHQiOmE9e2hlaWdodDoiMTAwJSIsb2JqZWN0Rml0OiJmaWxsIn07YnJlYWs7Y2FzZSJub25lIjphPXt3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIixvYmplY3RGaXQ6ImZpbGwifTticmVhaztjYXNlIndpZHRoIjphPXt3aWR0aDoiMTAwJSIsb2JqZWN0Rml0OiJmaWxsIn19Y29uc3Qgcj10aGlzW2NzXSgpO3JldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6ImltZyIsYXR0cmlidXRlczp7Y2xhc3M6WyJ4ZmFJbWFnZSJdLHN0eWxlOmEsc3JjOlVSTC5jcmVhdGVPYmplY3RVUkwodCksYWx0OnI/YXJpYUxhYmVsKHJbY3NdKCkpOm51bGx9fSl9fWNsYXNzIEltYWdlRWRpdCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihNbywiaW1hZ2VFZGl0IiwhMCk7dGhpcy5kYXRhPWdldFN0cmluZ09wdGlvbihlLmRhdGEsWyJsaW5rIiwiZW1iZWQiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5ib3JkZXI9bnVsbDt0aGlzLmV4dHJhcz1udWxsO3RoaXMubWFyZ2luPW51bGx9W3pzXShlKXtyZXR1cm4iZW1iZWQiPT09dGhpcy5kYXRhP0hUTUxSZXN1bHQuc3VjY2Vzcyh7bmFtZToiZGl2IixjaGlsZHJlbjpbXSxhdHRyaWJ1dGVzOnt9fSk6SFRNTFJlc3VsdC5FTVBUWX19Y2xhc3MgSW50ZWdlciBleHRlbmRzIENvbnRlbnRPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sImludGVnZXIiKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn1bR25dKCl7Y29uc3QgZT1wYXJzZUludCh0aGlzW0huXS50cmltKCksMTApO3RoaXNbSG5dPWlzTmFOKGUpP251bGw6ZX1benNdKGUpe3JldHVybiB2YWx1ZVRvSHRtbChudWxsIT09dGhpc1tIbl0/dGhpc1tIbl0udG9TdHJpbmcoKToiIil9fWNsYXNzIElzc3VlcnMgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sImlzc3VlcnMiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudHlwZT1nZXRTdHJpbmdPcHRpb24oZS50eXBlLFsib3B0aW9uYWwiLCJyZXF1aXJlZCJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5jZXJ0aWZpY2F0ZT1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIEl0ZW1zIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKE1vLCJpdGVtcyIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy5wcmVzZW5jZT1nZXRTdHJpbmdPcHRpb24oZS5wcmVzZW5jZSxbInZpc2libGUiLCJoaWRkZW4iLCJpbmFjdGl2ZSIsImludmlzaWJsZSJdKTt0aGlzLnJlZj1lLnJlZnx8IiI7dGhpcy5zYXZlPWdldEludGVnZXIoe2RhdGE6ZS5zYXZlLGRlZmF1bHRWYWx1ZTowLHZhbGlkYXRlOmU9PjE9PT1lfSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuYm9vbGVhbj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5kYXRlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRhdGVUaW1lPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRlY2ltYWw9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZXhEYXRhPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmZsb2F0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmltYWdlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmludGVnZXI9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMudGV4dD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy50aW1lPW5ldyBYRkFPYmplY3RBcnJheX1benNdKCl7Y29uc3QgZT1bXTtmb3IoY29uc3QgdCBvZiB0aGlzW2lzXSgpKWUucHVzaCh0W0hzXSgpKTtyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKGUpfX1jbGFzcyBLZWVwIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKE1vLCJrZWVwIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjtjb25zdCB0PVsibm9uZSIsImNvbnRlbnRBcmVhIiwicGFnZUFyZWEiXTt0aGlzLmludGFjdD1nZXRTdHJpbmdPcHRpb24oZS5pbnRhY3QsdCk7dGhpcy5uZXh0PWdldFN0cmluZ09wdGlvbihlLm5leHQsdCk7dGhpcy5wcmV2aW91cz1nZXRTdHJpbmdPcHRpb24oZS5wcmV2aW91cyx0KTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5leHRyYXM9bnVsbH19Y2xhc3MgS2V5VXNhZ2UgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sImtleVVzYWdlIik7Y29uc3QgdD1bIiIsInllcyIsIm5vIl07dGhpcy5jcmxTaWduPWdldFN0cmluZ09wdGlvbihlLmNybFNpZ24sdCk7dGhpcy5kYXRhRW5jaXBoZXJtZW50PWdldFN0cmluZ09wdGlvbihlLmRhdGFFbmNpcGhlcm1lbnQsdCk7dGhpcy5kZWNpcGhlck9ubHk9Z2V0U3RyaW5nT3B0aW9uKGUuZGVjaXBoZXJPbmx5LHQpO3RoaXMuZGlnaXRhbFNpZ25hdHVyZT1nZXRTdHJpbmdPcHRpb24oZS5kaWdpdGFsU2lnbmF0dXJlLHQpO3RoaXMuZW5jaXBoZXJPbmx5PWdldFN0cmluZ09wdGlvbihlLmVuY2lwaGVyT25seSx0KTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMua2V5QWdyZWVtZW50PWdldFN0cmluZ09wdGlvbihlLmtleUFncmVlbWVudCx0KTt0aGlzLmtleUNlcnRTaWduPWdldFN0cmluZ09wdGlvbihlLmtleUNlcnRTaWduLHQpO3RoaXMua2V5RW5jaXBoZXJtZW50PWdldFN0cmluZ09wdGlvbihlLmtleUVuY2lwaGVybWVudCx0KTt0aGlzLm5vblJlcHVkaWF0aW9uPWdldFN0cmluZ09wdGlvbihlLm5vblJlcHVkaWF0aW9uLHQpO3RoaXMudHlwZT1nZXRTdHJpbmdPcHRpb24oZS50eXBlLFsib3B0aW9uYWwiLCJyZXF1aXJlZCJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIExpbmUgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sImxpbmUiLCEwKTt0aGlzLmhhbmQ9Z2V0U3RyaW5nT3B0aW9uKGUuaGFuZCxbImV2ZW4iLCJsZWZ0IiwicmlnaHQiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnNsb3BlPWdldFN0cmluZ09wdGlvbihlLnNsb3BlLFsiXFwiLCIvIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmVkZ2U9bnVsbH1benNdKCl7Y29uc3QgZT10aGlzW2NzXSgpW2NzXSgpLHQ9dGhpcy5lZGdlfHxuZXcgRWRnZSh7fSksYT10W0dzXSgpLHI9T2JqZWN0LmNyZWF0ZShudWxsKSxpPSJ2aXNpYmxlIj09PXQucHJlc2VuY2U/dC50aGlja25lc3M6MDtyLnN0cm9rZVdpZHRoPW1lYXN1cmVUb1N0cmluZyhpKTtyLnN0cm9rZT1hLmNvbG9yO2xldCBuLHMsbyxjLGw9IjEwMCUiLGg9IjEwMCUiO2lmKGUudzw9aSl7W24scyxvLGNdPVsiNTAlIiwwLCI1MCUiLCIxMDAlIl07bD1yLnN0cm9rZVdpZHRofWVsc2UgaWYoZS5oPD1pKXtbbixzLG8sY109WzAsIjUwJSIsIjEwMCUiLCI1MCUiXTtoPXIuc3Ryb2tlV2lkdGh9ZWxzZSJcXCI9PT10aGlzLnNsb3BlP1tuLHMsbyxjXT1bMCwwLCIxMDAlIiwiMTAwJSJdOltuLHMsbyxjXT1bMCwiMTAwJSIsIjEwMCUiLDBdO2NvbnN0IHU9e25hbWU6InN2ZyIsY2hpbGRyZW46W3tuYW1lOiJsaW5lIixhdHRyaWJ1dGVzOnt4bWxuczpEbyx4MTpuLHkxOnMseDI6byx5MjpjLHN0eWxlOnJ9fV0sYXR0cmlidXRlczp7eG1sbnM6RG8sd2lkdGg6bCxoZWlnaHQ6aCxzdHlsZTp7b3ZlcmZsb3c6InZpc2libGUifX19O2lmKGhhc01hcmdpbihlKSlyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKHtuYW1lOiJkaXYiLGF0dHJpYnV0ZXM6e3N0eWxlOntkaXNwbGF5OiJpbmxpbmUiLHdpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUifX0sY2hpbGRyZW46W3VdfSk7dS5hdHRyaWJ1dGVzLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSI7cmV0dXJuIEhUTUxSZXN1bHQuc3VjY2Vzcyh1KX19Y2xhc3MgTGluZWFyIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKE1vLCJsaW5lYXIiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudHlwZT1nZXRTdHJpbmdPcHRpb24oZS50eXBlLFsidG9SaWdodCIsInRvQm90dG9tIiwidG9MZWZ0IiwidG9Ub3AiXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuY29sb3I9bnVsbDt0aGlzLmV4dHJhcz1udWxsfVtHc10oZSl7ZT1lP2VbR3NdKCk6IiNGRkZGRkYiO3JldHVybmBsaW5lYXItZ3JhZGllbnQoJHt0aGlzLnR5cGUucmVwbGFjZSgvKFtSQkxUXSkvLCIgJDEiKS50b0xvd2VyQ2FzZSgpfSwgJHtlfSwgJHt0aGlzLmNvbG9yP3RoaXMuY29sb3JbR3NdKCk6IiMwMDAwMDAifSlgfX1jbGFzcyBMb2NrRG9jdW1lbnQgZXh0ZW5kcyBDb250ZW50T2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKE1vLCJsb2NrRG9jdW1lbnQiKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudHlwZT1nZXRTdHJpbmdPcHRpb24oZS50eXBlLFsib3B0aW9uYWwiLCJyZXF1aXJlZCJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9W0duXSgpe3RoaXNbSG5dPWdldFN0cmluZ09wdGlvbih0aGlzW0huXSxbImF1dG8iLCIwIiwiMSJdKX19Y2xhc3MgTWFuaWZlc3QgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sIm1hbmlmZXN0IiwhMCk7dGhpcy5hY3Rpb249Z2V0U3RyaW5nT3B0aW9uKGUuYWN0aW9uLFsiaW5jbHVkZSIsImFsbCIsImV4Y2x1ZGUiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5leHRyYXM9bnVsbDt0aGlzLnJlZj1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIE1hcmdpbiBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihNbywibWFyZ2luIiwhMCk7dGhpcy5ib3R0b21JbnNldD1nZXRNZWFzdXJlbWVudChlLmJvdHRvbUluc2V0LCIwIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLmxlZnRJbnNldD1nZXRNZWFzdXJlbWVudChlLmxlZnRJbnNldCwiMCIpO3RoaXMucmlnaHRJbnNldD1nZXRNZWFzdXJlbWVudChlLnJpZ2h0SW5zZXQsIjAiKTt0aGlzLnRvcEluc2V0PWdldE1lYXN1cmVtZW50KGUudG9wSW5zZXQsIjAiKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5leHRyYXM9bnVsbH1bR3NdKCl7cmV0dXJue21hcmdpbjptZWFzdXJlVG9TdHJpbmcodGhpcy50b3BJbnNldCkrIiAiK21lYXN1cmVUb1N0cmluZyh0aGlzLnJpZ2h0SW5zZXQpKyIgIittZWFzdXJlVG9TdHJpbmcodGhpcy5ib3R0b21JbnNldCkrIiAiK21lYXN1cmVUb1N0cmluZyh0aGlzLmxlZnRJbnNldCl9fX1jbGFzcyBNZHAgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sIm1kcCIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5wZXJtaXNzaW9ucz1nZXRJbnRlZ2VyKHtkYXRhOmUucGVybWlzc2lvbnMsZGVmYXVsdFZhbHVlOjIsdmFsaWRhdGU6ZT0+MT09PWV8fDM9PT1lfSk7dGhpcy5zaWduYXR1cmVUeXBlPWdldFN0cmluZ09wdGlvbihlLnNpZ25hdHVyZVR5cGUsWyJmaWxsZXIiLCJhdXRob3IiXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifX1jbGFzcyBNZWRpdW0gZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sIm1lZGl1bSIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5pbWFnaW5nQkJveD1mdW5jdGlvbiBnZXRCQm94KGUpe2NvbnN0IHQ9LTE7aWYoIWUpcmV0dXJue3g6dCx5OnQsd2lkdGg6dCxoZWlnaHQ6dH07Y29uc3QgYT1lLnNwbGl0KCIsIiw0KS5tYXAoKGU9PmdldE1lYXN1cmVtZW50KGUudHJpbSgpLCItMSIpKSk7aWYoYS5sZW5ndGg8NHx8YVsyXTwwfHxhWzNdPDApcmV0dXJue3g6dCx5OnQsd2lkdGg6dCxoZWlnaHQ6dH07Y29uc3RbcixpLG4sc109YTtyZXR1cm57eDpyLHk6aSx3aWR0aDpuLGhlaWdodDpzfX0oZS5pbWFnaW5nQkJveCk7dGhpcy5sb25nPWdldE1lYXN1cmVtZW50KGUubG9uZyk7dGhpcy5vcmllbnRhdGlvbj1nZXRTdHJpbmdPcHRpb24oZS5vcmllbnRhdGlvbixbInBvcnRyYWl0IiwibGFuZHNjYXBlIl0pO3RoaXMuc2hvcnQ9Z2V0TWVhc3VyZW1lbnQoZS5zaG9ydCk7dGhpcy5zdG9jaz1lLnN0b2NrfHwiIjt0aGlzLnRyYXlJbj1nZXRTdHJpbmdPcHRpb24oZS50cmF5SW4sWyJhdXRvIiwiZGVsZWdhdGUiLCJwYWdlRnJvbnQiXSk7dGhpcy50cmF5T3V0PWdldFN0cmluZ09wdGlvbihlLnRyYXlPdXQsWyJhdXRvIiwiZGVsZWdhdGUiXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifX1jbGFzcyBNZXNzYWdlIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKE1vLCJtZXNzYWdlIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy50ZXh0PW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgTnVtZXJpY0VkaXQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sIm51bWVyaWNFZGl0IiwhMCk7dGhpcy5oU2Nyb2xsUG9saWN5PWdldFN0cmluZ09wdGlvbihlLmhTY3JvbGxQb2xpY3ksWyJhdXRvIiwib2ZmIiwib24iXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5ib3JkZXI9bnVsbDt0aGlzLmNvbWI9bnVsbDt0aGlzLmV4dHJhcz1udWxsO3RoaXMubWFyZ2luPW51bGx9W3pzXShlKXtjb25zdCB0PXRvU3R5bGUodGhpcywiYm9yZGVyIiwiZm9udCIsIm1hcmdpbiIpLGE9dGhpc1tjc10oKVtjc10oKSxyPXtuYW1lOiJpbnB1dCIsYXR0cmlidXRlczp7dHlwZToidGV4dCIsZmllbGRJZDphW1ZzXSxkYXRhSWQ6YVtXbl0/LltWc118fGFbVnNdLGNsYXNzOlsieGZhVGV4dGZpZWxkIl0sc3R5bGU6dCwiYXJpYS1sYWJlbCI6YXJpYUxhYmVsKGEpLCJhcmlhLXJlcXVpcmVkIjohMX19O2lmKGlzUmVxdWlyZWQoYSkpe3IuYXR0cmlidXRlc1siYXJpYS1yZXF1aXJlZCJdPSEwO3IuYXR0cmlidXRlcy5yZXF1aXJlZD0hMH1yZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKHtuYW1lOiJsYWJlbCIsYXR0cmlidXRlczp7Y2xhc3M6WyJ4ZmFMYWJlbCJdfSxjaGlsZHJlbjpbcl19KX19Y2xhc3MgT2NjdXIgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sIm9jY3VyIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLmluaXRpYWw9IiIhPT1lLmluaXRpYWw/Z2V0SW50ZWdlcih7ZGF0YTplLmluaXRpYWwsZGVmYXVsdFZhbHVlOiIiLHZhbGlkYXRlOmU9PiEwfSk6IiI7dGhpcy5tYXg9IiIhPT1lLm1heD9nZXRJbnRlZ2VyKHtkYXRhOmUubWF4LGRlZmF1bHRWYWx1ZToxLHZhbGlkYXRlOmU9PiEwfSk6IiI7dGhpcy5taW49IiIhPT1lLm1pbj9nZXRJbnRlZ2VyKHtkYXRhOmUubWluLGRlZmF1bHRWYWx1ZToxLHZhbGlkYXRlOmU9PiEwfSk6IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZXh0cmFzPW51bGx9W2puXSgpe2NvbnN0IGU9dGhpc1tjc10oKSx0PXRoaXMubWluOyIiPT09dGhpcy5taW4mJih0aGlzLm1pbj1lIGluc3RhbmNlb2YgUGFnZUFyZWF8fGUgaW5zdGFuY2VvZiBQYWdlU2V0PzA6MSk7IiI9PT10aGlzLm1heCYmKHRoaXMubWF4PSIiPT09dD9lIGluc3RhbmNlb2YgUGFnZUFyZWF8fGUgaW5zdGFuY2VvZiBQYWdlU2V0Py0xOjE6dGhpcy5taW4pOy0xIT09dGhpcy5tYXgmJnRoaXMubWF4PHRoaXMubWluJiYodGhpcy5tYXg9dGhpcy5taW4pOyIiPT09dGhpcy5pbml0aWFsJiYodGhpcy5pbml0aWFsPWUgaW5zdGFuY2VvZiBUZW1wbGF0ZT8xOnRoaXMubWluKX19Y2xhc3MgT2lkIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKE1vLCJvaWQiKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgT2lkcyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihNbywib2lkcyIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy50eXBlPWdldFN0cmluZ09wdGlvbihlLnR5cGUsWyJvcHRpb25hbCIsInJlcXVpcmVkIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLm9pZD1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIE92ZXJmbG93IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKE1vLCJvdmVyZmxvdyIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5sZWFkZXI9ZS5sZWFkZXJ8fCIiO3RoaXMudGFyZ2V0PWUudGFyZ2V0fHwiIjt0aGlzLnRyYWlsZXI9ZS50cmFpbGVyfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9W2FzXSgpe2lmKCF0aGlzWyRuXSl7Y29uc3QgZT10aGlzW2NzXSgpLHQ9dGhpc1tsc10oKSxhPXRbanNdKHRoaXMudGFyZ2V0LGUpLHI9dFtqc10odGhpcy5sZWFkZXIsZSksaT10W2pzXSh0aGlzLnRyYWlsZXIsZSk7dGhpc1skbl09e3RhcmdldDphPy5bMF18fG51bGwsbGVhZGVyOnI/LlswXXx8bnVsbCx0cmFpbGVyOmk/LlswXXx8bnVsbCxhZGRMZWFkZXI6ITEsYWRkVHJhaWxlcjohMX19cmV0dXJuIHRoaXNbJG5dfX1jbGFzcyBQYWdlQXJlYSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihNbywicGFnZUFyZWEiLCEwKTt0aGlzLmJsYW5rT3JOb3RCbGFuaz1nZXRTdHJpbmdPcHRpb24oZS5ibGFua09yTm90QmxhbmssWyJhbnkiLCJibGFuayIsIm5vdEJsYW5rIl0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5pbml0aWFsTnVtYmVyPWdldEludGVnZXIoe2RhdGE6ZS5pbml0aWFsTnVtYmVyLGRlZmF1bHRWYWx1ZToxLHZhbGlkYXRlOmU9PiEwfSk7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy5udW1iZXJlZD1nZXRJbnRlZ2VyKHtkYXRhOmUubnVtYmVyZWQsZGVmYXVsdFZhbHVlOjEsdmFsaWRhdGU6ZT0+ITB9KTt0aGlzLm9kZE9yRXZlbj1nZXRTdHJpbmdPcHRpb24oZS5vZGRPckV2ZW4sWyJhbnkiLCJldmVuIiwib2RkIl0pO3RoaXMucGFnZVBvc2l0aW9uPWdldFN0cmluZ09wdGlvbihlLnBhZ2VQb3NpdGlvbixbImFueSIsImZpcnN0IiwibGFzdCIsIm9ubHkiLCJyZXN0Il0pO3RoaXMucmVsZXZhbnQ9Z2V0UmVsZXZhbnQoZS5yZWxldmFudCk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZGVzYz1udWxsO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5tZWRpdW09bnVsbDt0aGlzLm9jY3VyPW51bGw7dGhpcy5hcmVhPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmNvbnRlbnRBcmVhPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRyYXc9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZXhjbEdyb3VwPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmZpZWxkPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnN1YmZvcm09bmV3IFhGQU9iamVjdEFycmF5fVtrc10oKXtpZighdGhpc1skbl0pe3RoaXNbJG5dPXtudW1iZXJPZlVzZTowfTtyZXR1cm4hMH1yZXR1cm4hdGhpcy5vY2N1cnx8LTE9PT10aGlzLm9jY3VyLm1heHx8dGhpc1skbl0ubnVtYmVyT2ZVc2U8dGhpcy5vY2N1ci5tYXh9W19uXSgpe2RlbGV0ZSB0aGlzWyRuXX1bc3NdKCl7dGhpc1skbl18fD17bnVtYmVyT2ZVc2U6MH07Y29uc3QgZT10aGlzW2NzXSgpO2lmKCJvcmRlcmVkT2NjdXJyZW5jZSI9PT1lLnJlbGF0aW9uJiZ0aGlzW2tzXSgpKXt0aGlzWyRuXS5udW1iZXJPZlVzZSs9MTtyZXR1cm4gdGhpc31yZXR1cm4gZVtzc10oKX1bWW5dKCl7cmV0dXJuIHRoaXNbJG5dLnNwYWNlfHx7d2lkdGg6MCxoZWlnaHQ6MH19W3pzXSgpe3RoaXNbJG5dfHw9e251bWJlck9mVXNlOjF9O2NvbnN0IGU9W107dGhpc1skbl0uY2hpbGRyZW49ZTtjb25zdCB0PU9iamVjdC5jcmVhdGUobnVsbCk7aWYodGhpcy5tZWRpdW0mJnRoaXMubWVkaXVtLnNob3J0JiZ0aGlzLm1lZGl1bS5sb25nKXt0LndpZHRoPW1lYXN1cmVUb1N0cmluZyh0aGlzLm1lZGl1bS5zaG9ydCk7dC5oZWlnaHQ9bWVhc3VyZVRvU3RyaW5nKHRoaXMubWVkaXVtLmxvbmcpO3RoaXNbJG5dLnNwYWNlPXt3aWR0aDp0aGlzLm1lZGl1bS5zaG9ydCxoZWlnaHQ6dGhpcy5tZWRpdW0ubG9uZ307aWYoImxhbmRzY2FwZSI9PT10aGlzLm1lZGl1bS5vcmllbnRhdGlvbil7Y29uc3QgZT10LndpZHRoO3Qud2lkdGg9dC5oZWlnaHQ7dC5oZWlnaHQ9ZTt0aGlzWyRuXS5zcGFjZT17d2lkdGg6dGhpcy5tZWRpdW0ubG9uZyxoZWlnaHQ6dGhpcy5tZWRpdW0uc2hvcnR9fX1lbHNlIHdhcm4oIlhGQSAtIE5vIG1lZGl1bSBzcGVjaWZpZWQgaW4gcGFnZUFyZWE6IHBsZWFzZSBmaWxlIGEgYnVnLiIpO3RoaXNbTG5dKHtmaWx0ZXI6bmV3IFNldChbImFyZWEiLCJkcmF3IiwiZmllbGQiLCJzdWJmb3JtIl0pLGluY2x1ZGU6ITB9KTt0aGlzW0xuXSh7ZmlsdGVyOm5ldyBTZXQoWyJjb250ZW50QXJlYSJdKSxpbmNsdWRlOiEwfSk7cmV0dXJuIEhUTUxSZXN1bHQuc3VjY2Vzcyh7bmFtZToiZGl2IixjaGlsZHJlbjplLGF0dHJpYnV0ZXM6e2NsYXNzOlsieGZhUGFnZSJdLGlkOnRoaXNbVnNdLHN0eWxlOnQseGZhTmFtZTp0aGlzLm5hbWV9fSl9fWNsYXNzIFBhZ2VTZXQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sInBhZ2VTZXQiLCEwKTt0aGlzLmR1cGxleEltcG9zaXRpb249Z2V0U3RyaW5nT3B0aW9uKGUuZHVwbGV4SW1wb3NpdGlvbixbImxvbmdFZGdlIiwic2hvcnRFZGdlIl0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy5yZWxhdGlvbj1nZXRTdHJpbmdPcHRpb24oZS5yZWxhdGlvbixbIm9yZGVyZWRPY2N1cnJlbmNlIiwiZHVwbGV4UGFnaW5hdGVkIiwic2ltcGxleFBhZ2luYXRlZCJdKTt0aGlzLnJlbGV2YW50PWdldFJlbGV2YW50KGUucmVsZXZhbnQpO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmV4dHJhcz1udWxsO3RoaXMub2NjdXI9bnVsbDt0aGlzLnBhZ2VBcmVhPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnBhZ2VTZXQ9bmV3IFhGQU9iamVjdEFycmF5fVtfbl0oKXtmb3IoY29uc3QgZSBvZiB0aGlzLnBhZ2VBcmVhLmNoaWxkcmVuKWVbX25dKCk7Zm9yKGNvbnN0IGUgb2YgdGhpcy5wYWdlU2V0LmNoaWxkcmVuKWVbX25dKCl9W2tzXSgpe3JldHVybiF0aGlzLm9jY3VyfHwtMT09PXRoaXMub2NjdXIubWF4fHx0aGlzWyRuXS5udW1iZXJPZlVzZTx0aGlzLm9jY3VyLm1heH1bc3NdKCl7dGhpc1skbl18fD17bnVtYmVyT2ZVc2U6MSxwYWdlSW5kZXg6LTEscGFnZVNldEluZGV4Oi0xfTtpZigib3JkZXJlZE9jY3VycmVuY2UiPT09dGhpcy5yZWxhdGlvbil7aWYodGhpc1skbl0ucGFnZUluZGV4KzE8dGhpcy5wYWdlQXJlYS5jaGlsZHJlbi5sZW5ndGgpe3RoaXNbJG5dLnBhZ2VJbmRleCs9MTtyZXR1cm4gdGhpcy5wYWdlQXJlYS5jaGlsZHJlblt0aGlzWyRuXS5wYWdlSW5kZXhdW3NzXSgpfWlmKHRoaXNbJG5dLnBhZ2VTZXRJbmRleCsxPHRoaXMucGFnZVNldC5jaGlsZHJlbi5sZW5ndGgpe3RoaXNbJG5dLnBhZ2VTZXRJbmRleCs9MTtyZXR1cm4gdGhpcy5wYWdlU2V0LmNoaWxkcmVuW3RoaXNbJG5dLnBhZ2VTZXRJbmRleF1bc3NdKCl9aWYodGhpc1trc10oKSl7dGhpc1skbl0ubnVtYmVyT2ZVc2UrPTE7dGhpc1skbl0ucGFnZUluZGV4PS0xO3RoaXNbJG5dLnBhZ2VTZXRJbmRleD0tMTtyZXR1cm4gdGhpc1tzc10oKX1jb25zdCBlPXRoaXNbY3NdKCk7aWYoZSBpbnN0YW5jZW9mIFBhZ2VTZXQpcmV0dXJuIGVbc3NdKCk7dGhpc1tfbl0oKTtyZXR1cm4gdGhpc1tzc10oKX1jb25zdCBlPXRoaXNbbHNdKClbJG5dLnBhZ2VOdW1iZXIsdD1lJTI9PTA/ImV2ZW4iOiJvZGQiLGE9MD09PWU/ImZpcnN0IjoicmVzdCI7bGV0IHI9dGhpcy5wYWdlQXJlYS5jaGlsZHJlbi5maW5kKChlPT5lLm9kZE9yRXZlbj09PXQmJmUucGFnZVBvc2l0aW9uPT09YSkpO2lmKHIpcmV0dXJuIHI7cj10aGlzLnBhZ2VBcmVhLmNoaWxkcmVuLmZpbmQoKGU9PiJhbnkiPT09ZS5vZGRPckV2ZW4mJmUucGFnZVBvc2l0aW9uPT09YSkpO2lmKHIpcmV0dXJuIHI7cj10aGlzLnBhZ2VBcmVhLmNoaWxkcmVuLmZpbmQoKGU9PiJhbnkiPT09ZS5vZGRPckV2ZW4mJiJhbnkiPT09ZS5wYWdlUG9zaXRpb24pKTtyZXR1cm4gcnx8dGhpcy5wYWdlQXJlYS5jaGlsZHJlblswXX19Y2xhc3MgUGFyYSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihNbywicGFyYSIsITApO3RoaXMuaEFsaWduPWdldFN0cmluZ09wdGlvbihlLmhBbGlnbixbImxlZnQiLCJjZW50ZXIiLCJqdXN0aWZ5IiwianVzdGlmeUFsbCIsInJhZGl4IiwicmlnaHQiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLmxpbmVIZWlnaHQ9ZS5saW5lSGVpZ2h0P2dldE1lYXN1cmVtZW50KGUubGluZUhlaWdodCwiMHB0Iik6IiI7dGhpcy5tYXJnaW5MZWZ0PWUubWFyZ2luTGVmdD9nZXRNZWFzdXJlbWVudChlLm1hcmdpbkxlZnQsIjBwdCIpOiIiO3RoaXMubWFyZ2luUmlnaHQ9ZS5tYXJnaW5SaWdodD9nZXRNZWFzdXJlbWVudChlLm1hcmdpblJpZ2h0LCIwcHQiKToiIjt0aGlzLm9ycGhhbnM9Z2V0SW50ZWdlcih7ZGF0YTplLm9ycGhhbnMsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+ZT49MH0pO3RoaXMucHJlc2VydmU9ZS5wcmVzZXJ2ZXx8IiI7dGhpcy5yYWRpeE9mZnNldD1lLnJhZGl4T2Zmc2V0P2dldE1lYXN1cmVtZW50KGUucmFkaXhPZmZzZXQsIjBwdCIpOiIiO3RoaXMuc3BhY2VBYm92ZT1lLnNwYWNlQWJvdmU/Z2V0TWVhc3VyZW1lbnQoZS5zcGFjZUFib3ZlLCIwcHQiKToiIjt0aGlzLnNwYWNlQmVsb3c9ZS5zcGFjZUJlbG93P2dldE1lYXN1cmVtZW50KGUuc3BhY2VCZWxvdywiMHB0Iik6IiI7dGhpcy50YWJEZWZhdWx0PWUudGFiRGVmYXVsdD9nZXRNZWFzdXJlbWVudCh0aGlzLnRhYkRlZmF1bHQpOiIiO3RoaXMudGFiU3RvcHM9KGUudGFiU3RvcHN8fCIiKS50cmltKCkuc3BsaXQoL1xzKy8pLm1hcCgoKGUsdCk9PnQlMj09MT9nZXRNZWFzdXJlbWVudChlKTplKSk7dGhpcy50ZXh0SW5kZW50PWUudGV4dEluZGVudD9nZXRNZWFzdXJlbWVudChlLnRleHRJbmRlbnQsIjBwdCIpOiIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLnZBbGlnbj1nZXRTdHJpbmdPcHRpb24oZS52QWxpZ24sWyJ0b3AiLCJib3R0b20iLCJtaWRkbGUiXSk7dGhpcy53aWRvd3M9Z2V0SW50ZWdlcih7ZGF0YTplLndpZG93cyxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT5lPj0wfSk7dGhpcy5oeXBoZW5hdGlvbj1udWxsfVtHc10oKXtjb25zdCBlPXRvU3R5bGUodGhpcywiaEFsaWduIik7IiIhPT10aGlzLm1hcmdpbkxlZnQmJihlLnBhZGRpbmdMZWZ0PW1lYXN1cmVUb1N0cmluZyh0aGlzLm1hcmdpbkxlZnQpKTsiIiE9PXRoaXMubWFyZ2luUmlnaHQmJihlLnBhZGRpbmdSaWdodD1tZWFzdXJlVG9TdHJpbmcodGhpcy5tYXJnaW5SaWdodCkpOyIiIT09dGhpcy5zcGFjZUFib3ZlJiYoZS5wYWRkaW5nVG9wPW1lYXN1cmVUb1N0cmluZyh0aGlzLnNwYWNlQWJvdmUpKTsiIiE9PXRoaXMuc3BhY2VCZWxvdyYmKGUucGFkZGluZ0JvdHRvbT1tZWFzdXJlVG9TdHJpbmcodGhpcy5zcGFjZUJlbG93KSk7aWYoIiIhPT10aGlzLnRleHRJbmRlbnQpe2UudGV4dEluZGVudD1tZWFzdXJlVG9TdHJpbmcodGhpcy50ZXh0SW5kZW50KTtmaXhUZXh0SW5kZW50KGUpfXRoaXMubGluZUhlaWdodD4wJiYoZS5saW5lSGVpZ2h0PW1lYXN1cmVUb1N0cmluZyh0aGlzLmxpbmVIZWlnaHQpKTsiIiE9PXRoaXMudGFiRGVmYXVsdCYmKGUudGFiU2l6ZT1tZWFzdXJlVG9TdHJpbmcodGhpcy50YWJEZWZhdWx0KSk7dGhpcy50YWJTdG9wcy5sZW5ndGg7dGhpcy5oeXBoZW5hdGF0aW9uJiZPYmplY3QuYXNzaWduKGUsdGhpcy5oeXBoZW5hdGF0aW9uW0dzXSgpKTtyZXR1cm4gZX19Y2xhc3MgUGFzc3dvcmRFZGl0IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKE1vLCJwYXNzd29yZEVkaXQiLCEwKTt0aGlzLmhTY3JvbGxQb2xpY3k9Z2V0U3RyaW5nT3B0aW9uKGUuaFNjcm9sbFBvbGljeSxbImF1dG8iLCJvZmYiLCJvbiJdKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMucGFzc3dvcmRDaGFyPWUucGFzc3dvcmRDaGFyfHwiKiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuYm9yZGVyPW51bGw7dGhpcy5leHRyYXM9bnVsbDt0aGlzLm1hcmdpbj1udWxsfX1jbGFzcyB0ZW1wbGF0ZV9QYXR0ZXJuIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKE1vLCJwYXR0ZXJuIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudHlwZSxbImNyb3NzSGF0Y2giLCJjcm9zc0RpYWdvbmFsIiwiZGlhZ29uYWxMZWZ0IiwiZGlhZ29uYWxSaWdodCIsImhvcml6b250YWwiLCJ2ZXJ0aWNhbCJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5jb2xvcj1udWxsO3RoaXMuZXh0cmFzPW51bGx9W0dzXShlKXtlPWU/ZVtHc10oKToiI0ZGRkZGRiI7Y29uc3QgdD10aGlzLmNvbG9yP3RoaXMuY29sb3JbR3NdKCk6IiMwMDAwMDAiLGE9InJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQiLHI9YCR7ZX0sJHtlfSA1cHgsJHt0fSA1cHgsJHt0fSAxMHB4YDtzd2l0Y2godGhpcy50eXBlKXtjYXNlImNyb3NzSGF0Y2giOnJldHVybmAke2F9KHRvIHRvcCwke3J9KSAke2F9KHRvIHJpZ2h0LCR7cn0pYDtjYXNlImNyb3NzRGlhZ29uYWwiOnJldHVybmAke2F9KDQ1ZGVnLCR7cn0pICR7YX0oLTQ1ZGVnLCR7cn0pYDtjYXNlImRpYWdvbmFsTGVmdCI6cmV0dXJuYCR7YX0oNDVkZWcsJHtyfSlgO2Nhc2UiZGlhZ29uYWxSaWdodCI6cmV0dXJuYCR7YX0oLTQ1ZGVnLCR7cn0pYDtjYXNlImhvcml6b250YWwiOnJldHVybmAke2F9KHRvIHRvcCwke3J9KWA7Y2FzZSJ2ZXJ0aWNhbCI6cmV0dXJuYCR7YX0odG8gcmlnaHQsJHtyfSlgfXJldHVybiIifX1jbGFzcyBQaWN0dXJlIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKE1vLCJwaWN0dXJlIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIFByb3RvIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKE1vLCJwcm90byIsITApO3RoaXMuYXBwZWFyYW5jZUZpbHRlcj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5hcmM9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuYXJlYT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5hc3Npc3Q9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuYmFyY29kZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5iaW5kSXRlbXM9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuYm9va2VuZD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5ib29sZWFuPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmJvcmRlcj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5icmVhaz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5icmVha0FmdGVyPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmJyZWFrQmVmb3JlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmJ1dHRvbj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5jYWxjdWxhdGU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuY2FwdGlvbj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5jZXJ0aWZpY2F0ZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5jZXJ0aWZpY2F0ZXM9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuY2hlY2tCdXR0b249bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuY2hvaWNlTGlzdD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5jb2xvcj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5jb21iPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmNvbm5lY3Q9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuY29udGVudEFyZWE9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuY29ybmVyPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRhdGU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGF0ZVRpbWU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGF0ZVRpbWVFZGl0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRlY2ltYWw9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGVmYXVsdFVpPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRlc2M9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGlnZXN0TWV0aG9kPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRpZ2VzdE1ldGhvZHM9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZHJhdz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5lZGdlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmVuY29kaW5nPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmVuY29kaW5ncz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5lbmNyeXB0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmVuY3J5cHREYXRhPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmVuY3J5cHRpb249bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZW5jcnlwdGlvbk1ldGhvZD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5lbmNyeXB0aW9uTWV0aG9kcz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5ldmVudD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5leERhdGE9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZXhPYmplY3Q9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZXhjbEdyb3VwPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmV4ZWN1dGU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZXh0cmFzPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmZpZWxkPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmZpbGw9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZmlsdGVyPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmZsb2F0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmZvbnQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZm9ybWF0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmhhbmRsZXI9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuaHlwaGVuYXRpb249bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuaW1hZ2U9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuaW1hZ2VFZGl0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmludGVnZXI9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuaXNzdWVycz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5pdGVtcz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5rZWVwPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmtleVVzYWdlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmxpbmU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMubGluZWFyPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmxvY2tEb2N1bWVudD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5tYW5pZmVzdD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5tYXJnaW49bmV3IFhGQU9iamVjdEFycmF5O3RoaXMubWRwPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLm1lZGl1bT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5tZXNzYWdlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLm51bWVyaWNFZGl0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLm9jY3VyPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLm9pZD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5vaWRzPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLm92ZXJmbG93PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnBhZ2VBcmVhPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnBhZ2VTZXQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMucGFyYT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5wYXNzd29yZEVkaXQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMucGF0dGVybj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5waWN0dXJlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnJhZGlhbD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5yZWFzb249bmV3IFhGQU9iamVjdEFycmF5O3RoaXMucmVhc29ucz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5yZWN0YW5nbGU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMucmVmPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnNjcmlwdD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zZXRQcm9wZXJ0eT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zaWduRGF0YT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zaWduYXR1cmU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuc2lnbmluZz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zb2xpZD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zcGVhaz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zdGlwcGxlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnN1YmZvcm09bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuc3ViZm9ybVNldD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zdWJqZWN0RE49bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuc3ViamVjdEROcz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zdWJtaXQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMudGV4dD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy50ZXh0RWRpdD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy50aW1lPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnRpbWVTdGFtcD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy50b29sVGlwPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnRyYXZlcnNhbD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy50cmF2ZXJzZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy51aT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy52YWxpZGF0ZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy52YWx1ZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy52YXJpYWJsZXM9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBSYWRpYWwgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sInJhZGlhbCIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy50eXBlPWdldFN0cmluZ09wdGlvbihlLnR5cGUsWyJ0b0VkZ2UiLCJ0b0NlbnRlciJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5jb2xvcj1udWxsO3RoaXMuZXh0cmFzPW51bGx9W0dzXShlKXtlPWU/ZVtHc10oKToiI0ZGRkZGRiI7Y29uc3QgdD10aGlzLmNvbG9yP3RoaXMuY29sb3JbR3NdKCk6IiMwMDAwMDAiO3JldHVybmByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IGNlbnRlciwgJHsidG9FZGdlIj09PXRoaXMudHlwZT9gJHtlfSwke3R9YDpgJHt0fSwke2V9YH0pYH19Y2xhc3MgUmVhc29uIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKE1vLCJyZWFzb24iKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgUmVhc29ucyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihNbywicmVhc29ucyIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy50eXBlPWdldFN0cmluZ09wdGlvbihlLnR5cGUsWyJvcHRpb25hbCIsInJlcXVpcmVkIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLnJlYXNvbj1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIFJlY3RhbmdsZSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihNbywicmVjdGFuZ2xlIiwhMCk7dGhpcy5oYW5kPWdldFN0cmluZ09wdGlvbihlLmhhbmQsWyJldmVuIiwibGVmdCIsInJpZ2h0Il0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuY29ybmVyPW5ldyBYRkFPYmplY3RBcnJheSg0KTt0aGlzLmVkZ2U9bmV3IFhGQU9iamVjdEFycmF5KDQpO3RoaXMuZmlsbD1udWxsfVt6c10oKXtjb25zdCBlPXRoaXMuZWRnZS5jaGlsZHJlbi5sZW5ndGg/dGhpcy5lZGdlLmNoaWxkcmVuWzBdOm5ldyBFZGdlKHt9KSx0PWVbR3NdKCksYT1PYmplY3QuY3JlYXRlKG51bGwpOyJ2aXNpYmxlIj09PXRoaXMuZmlsbD8ucHJlc2VuY2U/T2JqZWN0LmFzc2lnbihhLHRoaXMuZmlsbFtHc10oKSk6YS5maWxsPSJ0cmFuc3BhcmVudCI7YS5zdHJva2VXaWR0aD1tZWFzdXJlVG9TdHJpbmcoInZpc2libGUiPT09ZS5wcmVzZW5jZT9lLnRoaWNrbmVzczowKTthLnN0cm9rZT10LmNvbG9yO2NvbnN0IHI9KHRoaXMuY29ybmVyLmNoaWxkcmVuLmxlbmd0aD90aGlzLmNvcm5lci5jaGlsZHJlblswXTpuZXcgQ29ybmVyKHt9KSlbR3NdKCksaT17bmFtZToic3ZnIixjaGlsZHJlbjpbe25hbWU6InJlY3QiLGF0dHJpYnV0ZXM6e3htbG5zOkRvLHdpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUiLHg6MCx5OjAscng6ci5yYWRpdXMscnk6ci5yYWRpdXMsc3R5bGU6YX19XSxhdHRyaWJ1dGVzOnt4bWxuczpEbyxzdHlsZTp7b3ZlcmZsb3c6InZpc2libGUifSx3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIn19O2lmKGhhc01hcmdpbih0aGlzW2NzXSgpW2NzXSgpKSlyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKHtuYW1lOiJkaXYiLGF0dHJpYnV0ZXM6e3N0eWxlOntkaXNwbGF5OiJpbmxpbmUiLHdpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUifX0sY2hpbGRyZW46W2ldfSk7aS5hdHRyaWJ1dGVzLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSI7cmV0dXJuIEhUTUxSZXN1bHQuc3VjY2VzcyhpKX19Y2xhc3MgUmVmRWxlbWVudCBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihNbywicmVmIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIFNjcmlwdCBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihNbywic2NyaXB0Iik7dGhpcy5iaW5kaW5nPWUuYmluZGluZ3x8IiI7dGhpcy5jb250ZW50VHlwZT1lLmNvbnRlbnRUeXBlfHwiIjt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMucnVuQXQ9Z2V0U3RyaW5nT3B0aW9uKGUucnVuQXQsWyJjbGllbnQiLCJib3RoIiwic2VydmVyIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgU2V0UHJvcGVydHkgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sInNldFByb3BlcnR5Iik7dGhpcy5jb25uZWN0aW9uPWUuY29ubmVjdGlvbnx8IiI7dGhpcy5yZWY9ZS5yZWZ8fCIiO3RoaXMudGFyZ2V0PWUudGFyZ2V0fHwiIn19Y2xhc3MgU2lnbkRhdGEgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sInNpZ25EYXRhIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm9wZXJhdGlvbj1nZXRTdHJpbmdPcHRpb24oZS5vcGVyYXRpb24sWyJzaWduIiwiY2xlYXIiLCJ2ZXJpZnkiXSk7dGhpcy5yZWY9ZS5yZWZ8fCIiO3RoaXMudGFyZ2V0PWUudGFyZ2V0fHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5maWx0ZXI9bnVsbDt0aGlzLm1hbmlmZXN0PW51bGx9fWNsYXNzIFNpZ25hdHVyZSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihNbywic2lnbmF0dXJlIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudHlwZSxbIlBERjEuMyIsIlBERjEuNiJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5ib3JkZXI9bnVsbDt0aGlzLmV4dHJhcz1udWxsO3RoaXMuZmlsdGVyPW51bGw7dGhpcy5tYW5pZmVzdD1udWxsO3RoaXMubWFyZ2luPW51bGx9fWNsYXNzIFNpZ25pbmcgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sInNpZ25pbmciLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudHlwZT1nZXRTdHJpbmdPcHRpb24oZS50eXBlLFsib3B0aW9uYWwiLCJyZXF1aXJlZCJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5jZXJ0aWZpY2F0ZT1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIFNvbGlkIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKE1vLCJzb2xpZCIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZXh0cmFzPW51bGx9W0dzXShlKXtyZXR1cm4gZT9lW0dzXSgpOiIjRkZGRkZGIn19Y2xhc3MgU3BlYWsgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sInNwZWFrIik7dGhpcy5kaXNhYmxlPWdldEludGVnZXIoe2RhdGE6ZS5kaXNhYmxlLGRlZmF1bHRWYWx1ZTowLHZhbGlkYXRlOmU9PjE9PT1lfSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnByaW9yaXR5PWdldFN0cmluZ09wdGlvbihlLnByaW9yaXR5LFsiY3VzdG9tIiwiY2FwdGlvbiIsIm5hbWUiLCJ0b29sVGlwIl0pO3RoaXMucmlkPWUucmlkfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIFN0aXBwbGUgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sInN0aXBwbGUiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMucmF0ZT1nZXRJbnRlZ2VyKHtkYXRhOmUucmF0ZSxkZWZhdWx0VmFsdWU6NTAsdmFsaWRhdGU6ZT0+ZT49MCYmZTw9MTAwfSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuY29sb3I9bnVsbDt0aGlzLmV4dHJhcz1udWxsfVtHc10oZSl7Y29uc3QgdD10aGlzLnJhdGUvMTAwO3JldHVybiBVdGlsLm1ha2VIZXhDb2xvcihNYXRoLnJvdW5kKGUudmFsdWUuciooMS10KSt0aGlzLnZhbHVlLnIqdCksTWF0aC5yb3VuZChlLnZhbHVlLmcqKDEtdCkrdGhpcy52YWx1ZS5nKnQpLE1hdGgucm91bmQoZS52YWx1ZS5iKigxLXQpK3RoaXMudmFsdWUuYip0KSl9fWNsYXNzIFN1YmZvcm0gZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sInN1YmZvcm0iLCEwKTt0aGlzLmFjY2Vzcz1nZXRTdHJpbmdPcHRpb24oZS5hY2Nlc3MsWyJvcGVuIiwibm9uSW50ZXJhY3RpdmUiLCJwcm90ZWN0ZWQiLCJyZWFkT25seSJdKTt0aGlzLmFsbG93TWFjcm89Z2V0SW50ZWdlcih7ZGF0YTplLmFsbG93TWFjcm8sZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV9KTt0aGlzLmFuY2hvclR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUuYW5jaG9yVHlwZSxbInRvcExlZnQiLCJib3R0b21DZW50ZXIiLCJib3R0b21MZWZ0IiwiYm90dG9tUmlnaHQiLCJtaWRkbGVDZW50ZXIiLCJtaWRkbGVMZWZ0IiwibWlkZGxlUmlnaHQiLCJ0b3BDZW50ZXIiLCJ0b3BSaWdodCJdKTt0aGlzLmNvbFNwYW49Z2V0SW50ZWdlcih7ZGF0YTplLmNvbFNwYW4sZGVmYXVsdFZhbHVlOjEsdmFsaWRhdGU6ZT0+ZT49MXx8LTE9PT1lfSk7dGhpcy5jb2x1bW5XaWR0aHM9KGUuY29sdW1uV2lkdGhzfHwiIikudHJpbSgpLnNwbGl0KC9ccysvKS5tYXAoKGU9PiItMSI9PT1lPy0xOmdldE1lYXN1cmVtZW50KGUpKSk7dGhpcy5oPWUuaD9nZXRNZWFzdXJlbWVudChlLmgpOiIiO3RoaXMuaEFsaWduPWdldFN0cmluZ09wdGlvbihlLmhBbGlnbixbImxlZnQiLCJjZW50ZXIiLCJqdXN0aWZ5IiwianVzdGlmeUFsbCIsInJhZGl4IiwicmlnaHQiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLmxheW91dD1nZXRTdHJpbmdPcHRpb24oZS5sYXlvdXQsWyJwb3NpdGlvbiIsImxyLXRiIiwicmwtcm93IiwicmwtdGIiLCJyb3ciLCJ0YWJsZSIsInRiIl0pO3RoaXMubG9jYWxlPWUubG9jYWxlfHwiIjt0aGlzLm1heEg9Z2V0TWVhc3VyZW1lbnQoZS5tYXhILCIwcHQiKTt0aGlzLm1heFc9Z2V0TWVhc3VyZW1lbnQoZS5tYXhXLCIwcHQiKTt0aGlzLm1lcmdlTW9kZT1nZXRTdHJpbmdPcHRpb24oZS5tZXJnZU1vZGUsWyJjb25zdW1lRGF0YSIsIm1hdGNoVGVtcGxhdGUiXSk7dGhpcy5taW5IPWdldE1lYXN1cmVtZW50KGUubWluSCwiMHB0Iik7dGhpcy5taW5XPWdldE1lYXN1cmVtZW50KGUubWluVywiMHB0Iik7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy5wcmVzZW5jZT1nZXRTdHJpbmdPcHRpb24oZS5wcmVzZW5jZSxbInZpc2libGUiLCJoaWRkZW4iLCJpbmFjdGl2ZSIsImludmlzaWJsZSJdKTt0aGlzLnJlbGV2YW50PWdldFJlbGV2YW50KGUucmVsZXZhbnQpO3RoaXMucmVzdG9yZVN0YXRlPWdldFN0cmluZ09wdGlvbihlLnJlc3RvcmVTdGF0ZSxbIm1hbnVhbCIsImF1dG8iXSk7dGhpcy5zY29wZT1nZXRTdHJpbmdPcHRpb24oZS5zY29wZSxbIm5hbWUiLCJub25lIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLnc9ZS53P2dldE1lYXN1cmVtZW50KGUudyk6IiI7dGhpcy54PWdldE1lYXN1cmVtZW50KGUueCwiMHB0Iik7dGhpcy55PWdldE1lYXN1cmVtZW50KGUueSwiMHB0Iik7dGhpcy5hc3Npc3Q9bnVsbDt0aGlzLmJpbmQ9bnVsbDt0aGlzLmJvb2tlbmQ9bnVsbDt0aGlzLmJvcmRlcj1udWxsO3RoaXMuYnJlYWs9bnVsbDt0aGlzLmNhbGN1bGF0ZT1udWxsO3RoaXMuZGVzYz1udWxsO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5rZWVwPW51bGw7dGhpcy5tYXJnaW49bnVsbDt0aGlzLm9jY3VyPW51bGw7dGhpcy5vdmVyZmxvdz1udWxsO3RoaXMucGFnZVNldD1udWxsO3RoaXMucGFyYT1udWxsO3RoaXMudHJhdmVyc2FsPW51bGw7dGhpcy52YWxpZGF0ZT1udWxsO3RoaXMudmFyaWFibGVzPW51bGw7dGhpcy5hcmVhPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmJyZWFrQWZ0ZXI9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuYnJlYWtCZWZvcmU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuY29ubmVjdD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5kcmF3PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmV2ZW50PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmV4T2JqZWN0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmV4Y2xHcm91cD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5maWVsZD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5wcm90bz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zZXRQcm9wZXJ0eT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zdWJmb3JtPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnN1YmZvcm1TZXQ9bmV3IFhGQU9iamVjdEFycmF5fVtvc10oKXtjb25zdCBlPXRoaXNbY3NdKCk7cmV0dXJuIGUgaW5zdGFuY2VvZiBTdWJmb3JtU2V0P2Vbb3NdKCk6ZX1bbXNdKCl7cmV0dXJuITB9W1NzXSgpe3JldHVybiB0aGlzLmxheW91dC5lbmRzV2l0aCgiLXRiIikmJjA9PT10aGlzWyRuXS5hdHRlbXB0JiZ0aGlzWyRuXS5udW1iZXJJbkxpbmU+MHx8dGhpc1tjc10oKVtTc10oKX0qW25zXSgpe3lpZWxkKmdldENvbnRhaW5lZENoaWxkcmVuKHRoaXMpfVtWbl0oKXtyZXR1cm4gZmx1c2hIVE1MKHRoaXMpfVtFbl0oZSx0KXthZGRIVE1MKHRoaXMsZSx0KX1bWW5dKCl7cmV0dXJuIGdldEF2YWlsYWJsZVNwYWNlKHRoaXMpfVt4c10oKXtjb25zdCBlPXRoaXNbb3NdKCk7aWYoIWVbeHNdKCkpcmV0dXJuITE7aWYodm9pZCAwIT09dGhpc1skbl0uX2lzU3BsaXR0YWJsZSlyZXR1cm4gdGhpc1skbl0uX2lzU3BsaXR0YWJsZTtpZigicG9zaXRpb24iPT09dGhpcy5sYXlvdXR8fHRoaXMubGF5b3V0LmluY2x1ZGVzKCJyb3ciKSl7dGhpc1skbl0uX2lzU3BsaXR0YWJsZT0hMTtyZXR1cm4hMX1pZih0aGlzLmtlZXAmJiJub25lIiE9PXRoaXMua2VlcC5pbnRhY3Qpe3RoaXNbJG5dLl9pc1NwbGl0dGFibGU9ITE7cmV0dXJuITF9aWYoZS5sYXlvdXQ/LmVuZHNXaXRoKCItdGIiKSYmMCE9PWVbJG5dLm51bWJlckluTGluZSlyZXR1cm4hMTt0aGlzWyRuXS5faXNTcGxpdHRhYmxlPSEwO3JldHVybiEwfVt6c10oZSl7c2V0VGFiSW5kZXgodGhpcyk7aWYodGhpcy5icmVhayl7aWYoImF1dG8iIT09dGhpcy5icmVhay5hZnRlcnx8IiIhPT10aGlzLmJyZWFrLmFmdGVyVGFyZ2V0KXtjb25zdCBlPW5ldyBCcmVha0FmdGVyKHt0YXJnZXRUeXBlOnRoaXMuYnJlYWsuYWZ0ZXIsdGFyZ2V0OnRoaXMuYnJlYWsuYWZ0ZXJUYXJnZXQsc3RhcnROZXc6dGhpcy5icmVhay5zdGFydE5ldy50b1N0cmluZygpfSk7ZVtoc109dGhpc1toc107dGhpc1tQbl0oZSk7dGhpcy5icmVha0FmdGVyLnB1c2goZSl9aWYoImF1dG8iIT09dGhpcy5icmVhay5iZWZvcmV8fCIiIT09dGhpcy5icmVhay5iZWZvcmVUYXJnZXQpe2NvbnN0IGU9bmV3IEJyZWFrQmVmb3JlKHt0YXJnZXRUeXBlOnRoaXMuYnJlYWsuYmVmb3JlLHRhcmdldDp0aGlzLmJyZWFrLmJlZm9yZVRhcmdldCxzdGFydE5ldzp0aGlzLmJyZWFrLnN0YXJ0TmV3LnRvU3RyaW5nKCl9KTtlW2hzXT10aGlzW2hzXTt0aGlzW1BuXShlKTt0aGlzLmJyZWFrQmVmb3JlLnB1c2goZSl9aWYoIiIhPT10aGlzLmJyZWFrLm92ZXJmbG93VGFyZ2V0KXtjb25zdCBlPW5ldyBPdmVyZmxvdyh7dGFyZ2V0OnRoaXMuYnJlYWsub3ZlcmZsb3dUYXJnZXQsbGVhZGVyOnRoaXMuYnJlYWsub3ZlcmZsb3dMZWFkZXIsdHJhaWxlcjp0aGlzLmJyZWFrLm92ZXJmbG93VHJhaWxlcn0pO2VbaHNdPXRoaXNbaHNdO3RoaXNbUG5dKGUpO3RoaXMub3ZlcmZsb3cucHVzaChlKX10aGlzW05zXSh0aGlzLmJyZWFrKTt0aGlzLmJyZWFrPW51bGx9aWYoImhpZGRlbiI9PT10aGlzLnByZXNlbmNlfHwiaW5hY3RpdmUiPT09dGhpcy5wcmVzZW5jZSlyZXR1cm4gSFRNTFJlc3VsdC5FTVBUWTsodGhpcy5icmVha0JlZm9yZS5jaGlsZHJlbi5sZW5ndGg+MXx8dGhpcy5icmVha0FmdGVyLmNoaWxkcmVuLmxlbmd0aD4xKSYmd2FybigiWEZBIC0gU2V2ZXJhbCBicmVha0JlZm9yZSBvciBicmVha0FmdGVyIGluIHN1YmZvcm1zOiBwbGVhc2UgZmlsZSBhIGJ1Zy4iKTtpZih0aGlzLmJyZWFrQmVmb3JlLmNoaWxkcmVuLmxlbmd0aD49MSl7Y29uc3QgZT10aGlzLmJyZWFrQmVmb3JlLmNoaWxkcmVuWzBdO2lmKGhhbmRsZUJyZWFrKGUpKXJldHVybiBIVE1MUmVzdWx0LmJyZWFrTm9kZShlKX1pZih0aGlzWyRuXT8uYWZ0ZXJCcmVha0FmdGVyKXJldHVybiBIVE1MUmVzdWx0LkVNUFRZO2ZpeERpbWVuc2lvbnModGhpcyk7Y29uc3QgdD1bXSxhPXtpZDp0aGlzW1ZzXSxjbGFzczpbXX07c2V0QWNjZXNzKHRoaXMsYS5jbGFzcyk7dGhpc1skbl18fD1PYmplY3QuY3JlYXRlKG51bGwpO09iamVjdC5hc3NpZ24odGhpc1skbl0se2NoaWxkcmVuOnQsbGluZTpudWxsLGF0dHJpYnV0ZXM6YSxhdHRlbXB0OjAsbnVtYmVySW5MaW5lOjAsYXZhaWxhYmxlU3BhY2U6e3dpZHRoOk1hdGgubWluKHRoaXMud3x8MS8wLGUud2lkdGgpLGhlaWdodDpNYXRoLm1pbih0aGlzLmh8fDEvMCxlLmhlaWdodCl9LHdpZHRoOjAsaGVpZ2h0OjAscHJldkhlaWdodDowLGN1cnJlbnRXaWR0aDowfSk7Y29uc3Qgcj10aGlzW2xzXSgpLGk9clskbl0ubm9MYXlvdXRGYWlsdXJlLG49dGhpc1t4c10oKTtufHxzZXRGaXJzdFVuc3BsaXR0YWJsZSh0aGlzKTtpZighY2hlY2tEaW1lbnNpb25zKHRoaXMsZSkpcmV0dXJuIEhUTUxSZXN1bHQuRkFJTFVSRTtjb25zdCBzPW5ldyBTZXQoWyJhcmVhIiwiZHJhdyIsImV4Y2xHcm91cCIsImZpZWxkIiwic3ViZm9ybSIsInN1YmZvcm1TZXQiXSk7aWYodGhpcy5sYXlvdXQuaW5jbHVkZXMoInJvdyIpKXtjb25zdCBlPXRoaXNbb3NdKCkuY29sdW1uV2lkdGhzO2lmKEFycmF5LmlzQXJyYXkoZSkmJmUubGVuZ3RoPjApe3RoaXNbJG5dLmNvbHVtbldpZHRocz1lO3RoaXNbJG5dLmN1cnJlbnRDb2x1bW49MH19Y29uc3Qgbz10b1N0eWxlKHRoaXMsImFuY2hvclR5cGUiLCJkaW1lbnNpb25zIiwicG9zaXRpb24iLCJwcmVzZW5jZSIsImJvcmRlciIsIm1hcmdpbiIsImhBbGlnbiIpLGM9WyJ4ZmFTdWJmb3JtIl0sbD1sYXlvdXRDbGFzcyh0aGlzKTtsJiZjLnB1c2gobCk7YS5zdHlsZT1vO2EuY2xhc3M9Yzt0aGlzLm5hbWUmJihhLnhmYU5hbWU9dGhpcy5uYW1lKTtpZih0aGlzLm92ZXJmbG93KXtjb25zdCB0PXRoaXMub3ZlcmZsb3dbYXNdKCk7aWYodC5hZGRMZWFkZXIpe3QuYWRkTGVhZGVyPSExO2hhbmRsZU92ZXJmbG93KHRoaXMsdC5sZWFkZXIsZSl9fXRoaXNbUnNdKCk7Y29uc3QgaD0ibHItdGIiPT09dGhpcy5sYXlvdXR8fCJybC10YiI9PT10aGlzLmxheW91dCx1PWg/MjoxO2Zvcig7dGhpc1skbl0uYXR0ZW1wdDx1O3RoaXNbJG5dLmF0dGVtcHQrKyl7aCYmMT09PXRoaXNbJG5dLmF0dGVtcHQmJih0aGlzWyRuXS5udW1iZXJJbkxpbmU9MCk7Y29uc3QgZT10aGlzW0xuXSh7ZmlsdGVyOnMsaW5jbHVkZTohMH0pO2lmKGUuc3VjY2VzcylicmVhaztpZihlLmlzQnJlYWsoKSl7dGhpc1tCc10oKTtyZXR1cm4gZX1pZihoJiYwPT09dGhpc1skbl0uYXR0ZW1wdCYmMD09PXRoaXNbJG5dLm51bWJlckluTGluZSYmIXJbJG5dLm5vTGF5b3V0RmFpbHVyZSl7dGhpc1skbl0uYXR0ZW1wdD11O2JyZWFrfX10aGlzW0JzXSgpO258fHVuc2V0Rmlyc3RVbnNwbGl0dGFibGUodGhpcyk7clskbl0ubm9MYXlvdXRGYWlsdXJlPWk7aWYodGhpc1skbl0uYXR0ZW1wdD09PXUpe3RoaXMub3ZlcmZsb3cmJih0aGlzW2xzXSgpWyRuXS5vdmVyZmxvd05vZGU9dGhpcy5vdmVyZmxvdyk7bnx8ZGVsZXRlIHRoaXNbJG5dO3JldHVybiBIVE1MUmVzdWx0LkZBSUxVUkV9aWYodGhpcy5vdmVyZmxvdyl7Y29uc3QgdD10aGlzLm92ZXJmbG93W2FzXSgpO2lmKHQuYWRkVHJhaWxlcil7dC5hZGRUcmFpbGVyPSExO2hhbmRsZU92ZXJmbG93KHRoaXMsdC50cmFpbGVyLGUpfX1sZXQgZD0wLGY9MDtpZih0aGlzLm1hcmdpbil7ZD10aGlzLm1hcmdpbi5sZWZ0SW5zZXQrdGhpcy5tYXJnaW4ucmlnaHRJbnNldDtmPXRoaXMubWFyZ2luLnRvcEluc2V0K3RoaXMubWFyZ2luLmJvdHRvbUluc2V0fWNvbnN0IGc9TWF0aC5tYXgodGhpc1skbl0ud2lkdGgrZCx0aGlzLnd8fDApLHA9TWF0aC5tYXgodGhpc1skbl0uaGVpZ2h0K2YsdGhpcy5ofHwwKSxtPVt0aGlzLngsdGhpcy55LGcscF07IiI9PT10aGlzLncmJihvLndpZHRoPW1lYXN1cmVUb1N0cmluZyhnKSk7IiI9PT10aGlzLmgmJihvLmhlaWdodD1tZWFzdXJlVG9TdHJpbmcocCkpO2lmKCgiMHB4Ij09PW8ud2lkdGh8fCIwcHgiPT09by5oZWlnaHQpJiYwPT09dC5sZW5ndGgpcmV0dXJuIEhUTUxSZXN1bHQuRU1QVFk7Y29uc3QgYj17bmFtZToiZGl2IixhdHRyaWJ1dGVzOmEsY2hpbGRyZW46dH07YXBwbHlBc3Npc3QodGhpcyxhKTtjb25zdCB5PUhUTUxSZXN1bHQuc3VjY2VzcyhjcmVhdGVXcmFwcGVyKHRoaXMsYiksbSk7aWYodGhpcy5icmVha0FmdGVyLmNoaWxkcmVuLmxlbmd0aD49MSl7Y29uc3QgZT10aGlzLmJyZWFrQWZ0ZXIuY2hpbGRyZW5bMF07aWYoaGFuZGxlQnJlYWsoZSkpe3RoaXNbJG5dLmFmdGVyQnJlYWtBZnRlcj15O3JldHVybiBIVE1MUmVzdWx0LmJyZWFrTm9kZShlKX19ZGVsZXRlIHRoaXNbJG5dO3JldHVybiB5fX1jbGFzcyBTdWJmb3JtU2V0IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKE1vLCJzdWJmb3JtU2V0IiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnJlbGF0aW9uPWdldFN0cmluZ09wdGlvbihlLnJlbGF0aW9uLFsib3JkZXJlZCIsImNob2ljZSIsInVub3JkZXJlZCJdKTt0aGlzLnJlbGV2YW50PWdldFJlbGV2YW50KGUucmVsZXZhbnQpO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmJvb2tlbmQ9bnVsbDt0aGlzLmJyZWFrPW51bGw7dGhpcy5kZXNjPW51bGw7dGhpcy5leHRyYXM9bnVsbDt0aGlzLm9jY3VyPW51bGw7dGhpcy5vdmVyZmxvdz1udWxsO3RoaXMuYnJlYWtBZnRlcj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5icmVha0JlZm9yZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zdWJmb3JtPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnN1YmZvcm1TZXQ9bmV3IFhGQU9iamVjdEFycmF5fSpbbnNdKCl7eWllbGQqZ2V0Q29udGFpbmVkQ2hpbGRyZW4odGhpcyl9W29zXSgpe2xldCBlPXRoaXNbY3NdKCk7Zm9yKDshKGUgaW5zdGFuY2VvZiBTdWJmb3JtKTspZT1lW2NzXSgpO3JldHVybiBlfVttc10oKXtyZXR1cm4hMH19Y2xhc3MgU3ViamVjdEROIGV4dGVuZHMgQ29udGVudE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihNbywic3ViamVjdEROIik7dGhpcy5kZWxpbWl0ZXI9ZS5kZWxpbWl0ZXJ8fCIsIjt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn1bR25dKCl7dGhpc1tIbl09bmV3IE1hcCh0aGlzW0huXS5zcGxpdCh0aGlzLmRlbGltaXRlcikubWFwKChlPT57KGU9ZS5zcGxpdCgiPSIsMikpWzBdPWVbMF0udHJpbSgpO3JldHVybiBlfSkpKX19Y2xhc3MgU3ViamVjdEROcyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihNbywic3ViamVjdEROcyIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy50eXBlPWdldFN0cmluZ09wdGlvbihlLnR5cGUsWyJvcHRpb25hbCIsInJlcXVpcmVkIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLnN1YmplY3RETj1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIFN1Ym1pdCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihNbywic3VibWl0IiwhMCk7dGhpcy5lbWJlZFBERj1nZXRJbnRlZ2VyKHtkYXRhOmUuZW1iZWRQREYsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV9KTt0aGlzLmZvcm1hdD1nZXRTdHJpbmdPcHRpb24oZS5mb3JtYXQsWyJ4ZHAiLCJmb3JtZGF0YSIsInBkZiIsInVybGVuY29kZWQiLCJ4ZmQiLCJ4bWwiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnRhcmdldD1lLnRhcmdldHx8IiI7dGhpcy50ZXh0RW5jb2Rpbmc9Z2V0S2V5d29yZCh7ZGF0YTplLnRleHRFbmNvZGluZz9lLnRleHRFbmNvZGluZy50b0xvd2VyQ2FzZSgpOiIiLGRlZmF1bHRWYWx1ZToiIix2YWxpZGF0ZTplPT5bInV0Zi04IiwiYmlnLWZpdmUiLCJmb250c3BlY2lmaWMiLCJnYmsiLCJnYi0xODAzMCIsImdiLTIzMTIiLCJrc2MtNTYwMSIsIm5vbmUiLCJzaGlmdC1qaXMiLCJ1Y3MtMiIsInV0Zi0xNiJdLmluY2x1ZGVzKGUpfHxlLm1hdGNoKC9pc28tODg1OS1cZHsyfS8pfSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMueGRwQ29udGVudD1lLnhkcENvbnRlbnR8fCIiO3RoaXMuZW5jcnlwdD1udWxsO3RoaXMuZW5jcnlwdERhdGE9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuc2lnbkRhdGE9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBUZW1wbGF0ZSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihNbywidGVtcGxhdGUiLCEwKTt0aGlzLmJhc2VQcm9maWxlPWdldFN0cmluZ09wdGlvbihlLmJhc2VQcm9maWxlLFsiZnVsbCIsImludGVyYWN0aXZlRm9ybXMiXSk7dGhpcy5leHRyYXM9bnVsbDt0aGlzLnN1YmZvcm09bmV3IFhGQU9iamVjdEFycmF5fVtHbl0oKXswPT09dGhpcy5zdWJmb3JtLmNoaWxkcmVuLmxlbmd0aCYmd2FybigiWEZBIC0gTm8gc3ViZm9ybXMgaW4gdGVtcGxhdGUgbm9kZS4iKTt0aGlzLnN1YmZvcm0uY2hpbGRyZW4ubGVuZ3RoPj0yJiZ3YXJuKCJYRkEgLSBTZXZlcmFsIHN1YmZvcm1zIGluIHRlbXBsYXRlIG5vZGU6IHBsZWFzZSBmaWxlIGEgYnVnLiIpO3RoaXNbcXNdPTVlM31beHNdKCl7cmV0dXJuITB9W2pzXShlLHQpe3JldHVybiBlLnN0YXJ0c1dpdGgoIiMiKT9bdGhpc1tkc10uZ2V0KGUuc2xpY2UoMSkpXTpzZWFyY2hOb2RlKHRoaXMsdCxlLCEwLCEwKX0qW1dzXSgpe2lmKCF0aGlzLnN1YmZvcm0uY2hpbGRyZW4ubGVuZ3RoKXJldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6ImRpdiIsY2hpbGRyZW46W119KTt0aGlzWyRuXT17b3ZlcmZsb3dOb2RlOm51bGwsZmlyc3RVbnNwbGl0dGFibGU6bnVsbCxjdXJyZW50Q29udGVudEFyZWE6bnVsbCxjdXJyZW50UGFnZUFyZWE6bnVsbCxub0xheW91dEZhaWx1cmU6ITEscGFnZU51bWJlcjoxLHBhZ2VQb3NpdGlvbjoiZmlyc3QiLG9kZE9yRXZlbjoib2RkIixibGFua09yTm90Qmxhbms6Im5vbkJsYW5rIixwYXJhU3RhY2s6W119O2NvbnN0IGU9dGhpcy5zdWJmb3JtLmNoaWxkcmVuWzBdO2UucGFnZVNldFtfbl0oKTtjb25zdCB0PWUucGFnZVNldC5wYWdlQXJlYS5jaGlsZHJlbixhPXtuYW1lOiJkaXYiLGNoaWxkcmVuOltdfTtsZXQgcj1udWxsLGk9bnVsbCxuPW51bGw7aWYoZS5icmVha0JlZm9yZS5jaGlsZHJlbi5sZW5ndGg+PTEpe2k9ZS5icmVha0JlZm9yZS5jaGlsZHJlblswXTtuPWkudGFyZ2V0fWVsc2UgaWYoZS5zdWJmb3JtLmNoaWxkcmVuLmxlbmd0aD49MSYmZS5zdWJmb3JtLmNoaWxkcmVuWzBdLmJyZWFrQmVmb3JlLmNoaWxkcmVuLmxlbmd0aD49MSl7aT1lLnN1YmZvcm0uY2hpbGRyZW5bMF0uYnJlYWtCZWZvcmUuY2hpbGRyZW5bMF07bj1pLnRhcmdldH1lbHNlIGlmKGUuYnJlYWs/LmJlZm9yZVRhcmdldCl7aT1lLmJyZWFrO249aS5iZWZvcmVUYXJnZXR9ZWxzZSBpZihlLnN1YmZvcm0uY2hpbGRyZW4ubGVuZ3RoPj0xJiZlLnN1YmZvcm0uY2hpbGRyZW5bMF0uYnJlYWs/LmJlZm9yZVRhcmdldCl7aT1lLnN1YmZvcm0uY2hpbGRyZW5bMF0uYnJlYWs7bj1pLmJlZm9yZVRhcmdldH1pZihpKXtjb25zdCBlPXRoaXNbanNdKG4saVtjc10oKSk7aWYoZSBpbnN0YW5jZW9mIFBhZ2VBcmVhKXtyPWU7aVskbl09e319fXJ8fD10WzBdO3JbJG5dPXtudW1iZXJPZlVzZToxfTtjb25zdCBzPXJbY3NdKCk7c1skbl09e251bWJlck9mVXNlOjEscGFnZUluZGV4OnMucGFnZUFyZWEuY2hpbGRyZW4uaW5kZXhPZihyKSxwYWdlU2V0SW5kZXg6MH07bGV0IG8sYz1udWxsLGw9bnVsbCxoPSEwLHU9MCxkPTA7Zm9yKDs7KXtpZihoKXU9MDtlbHNle2EuY2hpbGRyZW4ucG9wKCk7aWYoMz09Kyt1KXt3YXJuKCJYRkEgLSBTb21ldGhpbmcgZ29lcyB3cm9uZzogcGxlYXNlIGZpbGUgYSBidWcuIik7cmV0dXJuIGF9fW89bnVsbDt0aGlzWyRuXS5jdXJyZW50UGFnZUFyZWE9cjtjb25zdCB0PXJbenNdKCkuaHRtbDthLmNoaWxkcmVuLnB1c2godCk7aWYoYyl7dGhpc1skbl0ubm9MYXlvdXRGYWlsdXJlPSEwO3QuY2hpbGRyZW4ucHVzaChjW3pzXShyWyRuXS5zcGFjZSkuaHRtbCk7Yz1udWxsfWlmKGwpe3RoaXNbJG5dLm5vTGF5b3V0RmFpbHVyZT0hMDt0LmNoaWxkcmVuLnB1c2gobFt6c10oclskbl0uc3BhY2UpLmh0bWwpO2w9bnVsbH1jb25zdCBpPXIuY29udGVudEFyZWEuY2hpbGRyZW4sbj10LmNoaWxkcmVuLmZpbHRlcigoZT0+ZS5hdHRyaWJ1dGVzLmNsYXNzLmluY2x1ZGVzKCJ4ZmFDb250ZW50YXJlYSIpKSk7aD0hMTt0aGlzWyRuXS5maXJzdFVuc3BsaXR0YWJsZT1udWxsO3RoaXNbJG5dLm5vTGF5b3V0RmFpbHVyZT0hMTtjb25zdCBmbHVzaD10PT57Y29uc3QgYT1lW1ZuXSgpO2lmKGEpe2h8fD1hLmNoaWxkcmVuPy5sZW5ndGg+MDtuW3RdLmNoaWxkcmVuLnB1c2goYSl9fTtmb3IobGV0IHQ9ZCxyPWkubGVuZ3RoO3Q8cjt0Kyspe2NvbnN0IHI9dGhpc1skbl0uY3VycmVudENvbnRlbnRBcmVhPWlbdF0scz17d2lkdGg6ci53LGhlaWdodDpyLmh9O2Q9MDtpZihjKXtuW3RdLmNoaWxkcmVuLnB1c2goY1t6c10ocykuaHRtbCk7Yz1udWxsfWlmKGwpe25bdF0uY2hpbGRyZW4ucHVzaChsW3pzXShzKS5odG1sKTtsPW51bGx9Y29uc3QgdT1lW3pzXShzKTtpZih1LnN1Y2Nlc3Mpe2lmKHUuaHRtbCl7aHx8PXUuaHRtbC5jaGlsZHJlbj8ubGVuZ3RoPjA7blt0XS5jaGlsZHJlbi5wdXNoKHUuaHRtbCl9ZWxzZSFoJiZhLmNoaWxkcmVuLmxlbmd0aD4xJiZhLmNoaWxkcmVuLnBvcCgpO3JldHVybiBhfWlmKHUuaXNCcmVhaygpKXtjb25zdCBlPXUuYnJlYWtOb2RlO2ZsdXNoKHQpO2lmKCJhdXRvIj09PWUudGFyZ2V0VHlwZSljb250aW51ZTtpZihlLmxlYWRlcil7Yz10aGlzW2pzXShlLmxlYWRlcixlW2NzXSgpKTtjPWM/Y1swXTpudWxsfWlmKGUudHJhaWxlcil7bD10aGlzW2pzXShlLnRyYWlsZXIsZVtjc10oKSk7bD1sP2xbMF06bnVsbH1pZigicGFnZUFyZWEiPT09ZS50YXJnZXRUeXBlKXtvPWVbJG5dLnRhcmdldDt0PTEvMH1lbHNlIGlmKGVbJG5dLnRhcmdldCl7bz1lWyRuXS50YXJnZXQ7ZD1lWyRuXS5pbmRleCsxO3Q9MS8wfWVsc2UgdD1lWyRuXS5pbmRleH1lbHNlIGlmKHRoaXNbJG5dLm92ZXJmbG93Tm9kZSl7Y29uc3QgZT10aGlzWyRuXS5vdmVyZmxvd05vZGU7dGhpc1skbl0ub3ZlcmZsb3dOb2RlPW51bGw7Y29uc3QgYT1lW2FzXSgpLHI9YS50YXJnZXQ7YS5hZGRMZWFkZXI9bnVsbCE9PWEubGVhZGVyO2EuYWRkVHJhaWxlcj1udWxsIT09YS50cmFpbGVyO2ZsdXNoKHQpO2NvbnN0IG49dDt0PTEvMDtpZihyIGluc3RhbmNlb2YgUGFnZUFyZWEpbz1yO2Vsc2UgaWYociBpbnN0YW5jZW9mIENvbnRlbnRBcmVhKXtjb25zdCBlPWkuaW5kZXhPZihyKTtpZigtMSE9PWUpZT5uP3Q9ZS0xOmQ9ZTtlbHNle289cltjc10oKTtkPW8uY29udGVudEFyZWEuY2hpbGRyZW4uaW5kZXhPZihyKX19fWVsc2UgZmx1c2godCl9dGhpc1skbl0ucGFnZU51bWJlcis9MTtvJiYob1trc10oKT9vWyRuXS5udW1iZXJPZlVzZSs9MTpvPW51bGwpO3I9b3x8cltzc10oKTt5aWVsZCBudWxsfX19Y2xhc3MgVGV4dCBleHRlbmRzIENvbnRlbnRPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sInRleHQiKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubWF4Q2hhcnM9Z2V0SW50ZWdlcih7ZGF0YTplLm1heENoYXJzLGRlZmF1bHRWYWx1ZTowLHZhbGlkYXRlOmU9PmU+PTB9KTt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnJpZD1lLnJpZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifVtObl0oKXtyZXR1cm4hMH1bVHNdKGUpe2lmKGVbdnNdPT09SnMueGh0bWwuaWQpe3RoaXNbSG5dPWU7cmV0dXJuITB9d2FybihgWEZBIC0gSW52YWxpZCBjb250ZW50IGluIFRleHQ6ICR7ZVtGc119LmApO3JldHVybiExfVtNc10oZSl7dGhpc1tIbl1pbnN0YW5jZW9mIFhGQU9iamVjdHx8c3VwZXJbTXNdKGUpfVtHbl0oKXsic3RyaW5nIj09dHlwZW9mIHRoaXNbSG5dJiYodGhpc1tIbl09dGhpc1tIbl0ucmVwbGFjZUFsbCgiXHJcbiIsIlxuIikpfVthc10oKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHRoaXNbSG5dP3RoaXNbSG5dLnNwbGl0KC9bXHUyMDI5XHUyMDI4XG5dLykuZmlsdGVyKChlPT4hIWUpKS5qb2luKCJcbiIpOnRoaXNbSG5dW0hzXSgpfVt6c10oZSl7aWYoInN0cmluZyI9PXR5cGVvZiB0aGlzW0huXSl7Y29uc3QgZT12YWx1ZVRvSHRtbCh0aGlzW0huXSkuaHRtbDtpZih0aGlzW0huXS5pbmNsdWRlcygiXHUyMDI5Iikpe2UubmFtZT0iZGl2IjtlLmNoaWxkcmVuPVtdO3RoaXNbSG5dLnNwbGl0KCJcdTIwMjkiKS5tYXAoKGU9PmUuc3BsaXQoL1tcdTIwMjhcbl0vKS5mbGF0TWFwKChlPT5be25hbWU6InNwYW4iLHZhbHVlOmV9LHtuYW1lOiJiciJ9XSkpKSkuZm9yRWFjaCgodD0+e2UuY2hpbGRyZW4ucHVzaCh7bmFtZToicCIsY2hpbGRyZW46dH0pfSkpfWVsc2UgaWYoL1tcdTIwMjhcbl0vLnRlc3QodGhpc1tIbl0pKXtlLm5hbWU9ImRpdiI7ZS5jaGlsZHJlbj1bXTt0aGlzW0huXS5zcGxpdCgvW1x1MjAyOFxuXS8pLmZvckVhY2goKHQ9PntlLmNoaWxkcmVuLnB1c2goe25hbWU6InNwYW4iLHZhbHVlOnR9LHtuYW1lOiJiciJ9KX0pKX1yZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKGUpfXJldHVybiB0aGlzW0huXVt6c10oZSl9fWNsYXNzIFRleHRFZGl0IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKE1vLCJ0ZXh0RWRpdCIsITApO3RoaXMuYWxsb3dSaWNoVGV4dD1nZXRJbnRlZ2VyKHtkYXRhOmUuYWxsb3dSaWNoVGV4dCxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT4xPT09ZX0pO3RoaXMuaFNjcm9sbFBvbGljeT1nZXRTdHJpbmdPcHRpb24oZS5oU2Nyb2xsUG9saWN5LFsiYXV0byIsIm9mZiIsIm9uIl0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5tdWx0aUxpbmU9Z2V0SW50ZWdlcih7ZGF0YTplLm11bHRpTGluZSxkZWZhdWx0VmFsdWU6IiIsdmFsaWRhdGU6ZT0+MD09PWV8fDE9PT1lfSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMudlNjcm9sbFBvbGljeT1nZXRTdHJpbmdPcHRpb24oZS52U2Nyb2xsUG9saWN5LFsiYXV0byIsIm9mZiIsIm9uIl0pO3RoaXMuYm9yZGVyPW51bGw7dGhpcy5jb21iPW51bGw7dGhpcy5leHRyYXM9bnVsbDt0aGlzLm1hcmdpbj1udWxsfVt6c10oZSl7Y29uc3QgdD10b1N0eWxlKHRoaXMsImJvcmRlciIsImZvbnQiLCJtYXJnaW4iKTtsZXQgYTtjb25zdCByPXRoaXNbY3NdKClbY3NdKCk7IiI9PT10aGlzLm11bHRpTGluZSYmKHRoaXMubXVsdGlMaW5lPXIgaW5zdGFuY2VvZiBEcmF3PzE6MCk7YT0xPT09dGhpcy5tdWx0aUxpbmU/e25hbWU6InRleHRhcmVhIixhdHRyaWJ1dGVzOntkYXRhSWQ6cltXbl0/LltWc118fHJbVnNdLGZpZWxkSWQ6cltWc10sY2xhc3M6WyJ4ZmFUZXh0ZmllbGQiXSxzdHlsZTp0LCJhcmlhLWxhYmVsIjphcmlhTGFiZWwociksImFyaWEtcmVxdWlyZWQiOiExfX06e25hbWU6ImlucHV0IixhdHRyaWJ1dGVzOnt0eXBlOiJ0ZXh0IixkYXRhSWQ6cltXbl0/LltWc118fHJbVnNdLGZpZWxkSWQ6cltWc10sY2xhc3M6WyJ4ZmFUZXh0ZmllbGQiXSxzdHlsZTp0LCJhcmlhLWxhYmVsIjphcmlhTGFiZWwociksImFyaWEtcmVxdWlyZWQiOiExfX07aWYoaXNSZXF1aXJlZChyKSl7YS5hdHRyaWJ1dGVzWyJhcmlhLXJlcXVpcmVkIl09ITA7YS5hdHRyaWJ1dGVzLnJlcXVpcmVkPSEwfXJldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6ImxhYmVsIixhdHRyaWJ1dGVzOntjbGFzczpbInhmYUxhYmVsIl19LGNoaWxkcmVuOlthXX0pfX1jbGFzcyBUaW1lIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKE1vLCJ0aW1lIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9W0duXSgpe2NvbnN0IGU9dGhpc1tIbl0udHJpbSgpO3RoaXNbSG5dPWU/bmV3IERhdGUoZSk6bnVsbH1benNdKGUpe3JldHVybiB2YWx1ZVRvSHRtbCh0aGlzW0huXT90aGlzW0huXS50b1N0cmluZygpOiIiKX19Y2xhc3MgVGltZVN0YW1wIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKE1vLCJ0aW1lU3RhbXAiKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMuc2VydmVyPWUuc2VydmVyfHwiIjt0aGlzLnR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudHlwZSxbIm9wdGlvbmFsIiwicmVxdWlyZWQiXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifX1jbGFzcyBUb29sVGlwIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKE1vLCJ0b29sVGlwIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnJpZD1lLnJpZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifX1jbGFzcyBUcmF2ZXJzYWwgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sInRyYXZlcnNhbCIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZXh0cmFzPW51bGw7dGhpcy50cmF2ZXJzZT1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIFRyYXZlcnNlIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKE1vLCJ0cmF2ZXJzZSIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5vcGVyYXRpb249Z2V0U3RyaW5nT3B0aW9uKGUub3BlcmF0aW9uLFsibmV4dCIsImJhY2siLCJkb3duIiwiZmlyc3QiLCJsZWZ0IiwicmlnaHQiLCJ1cCJdKTt0aGlzLnJlZj1lLnJlZnx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5zY3JpcHQ9bnVsbH1nZXQgbmFtZSgpe3JldHVybiB0aGlzLm9wZXJhdGlvbn1bQXNdKCl7cmV0dXJuITF9fWNsYXNzIFVpIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKE1vLCJ1aSIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5waWN0dXJlPW51bGw7dGhpcy5iYXJjb2RlPW51bGw7dGhpcy5idXR0b249bnVsbDt0aGlzLmNoZWNrQnV0dG9uPW51bGw7dGhpcy5jaG9pY2VMaXN0PW51bGw7dGhpcy5kYXRlVGltZUVkaXQ9bnVsbDt0aGlzLmRlZmF1bHRVaT1udWxsO3RoaXMuaW1hZ2VFZGl0PW51bGw7dGhpcy5udW1lcmljRWRpdD1udWxsO3RoaXMucGFzc3dvcmRFZGl0PW51bGw7dGhpcy5zaWduYXR1cmU9bnVsbDt0aGlzLnRleHRFZGl0PW51bGx9W2FzXSgpe2lmKHZvaWQgMD09PXRoaXNbJG5dKXtmb3IoY29uc3QgZSBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKSl7aWYoImV4dHJhcyI9PT1lfHwicGljdHVyZSI9PT1lKWNvbnRpbnVlO2NvbnN0IHQ9dGhpc1tlXTtpZih0IGluc3RhbmNlb2YgWEZBT2JqZWN0KXt0aGlzWyRuXT10O3JldHVybiB0fX10aGlzWyRuXT1udWxsfXJldHVybiB0aGlzWyRuXX1benNdKGUpe2NvbnN0IHQ9dGhpc1thc10oKTtyZXR1cm4gdD90W3pzXShlKTpIVE1MUmVzdWx0LkVNUFRZfX1jbGFzcyBWYWxpZGF0ZSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihNbywidmFsaWRhdGUiLCEwKTt0aGlzLmZvcm1hdFRlc3Q9Z2V0U3RyaW5nT3B0aW9uKGUuZm9ybWF0VGVzdCxbIndhcm5pbmciLCJkaXNhYmxlZCIsImVycm9yIl0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5udWxsVGVzdD1nZXRTdHJpbmdPcHRpb24oZS5udWxsVGVzdCxbImRpc2FibGVkIiwiZXJyb3IiLCJ3YXJuaW5nIl0pO3RoaXMuc2NyaXB0VGVzdD1nZXRTdHJpbmdPcHRpb24oZS5zY3JpcHRUZXN0LFsiZXJyb3IiLCJkaXNhYmxlZCIsIndhcm5pbmciXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5tZXNzYWdlPW51bGw7dGhpcy5waWN0dXJlPW51bGw7dGhpcy5zY3JpcHQ9bnVsbH19Y2xhc3MgVmFsdWUgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTW8sInZhbHVlIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm92ZXJyaWRlPWdldEludGVnZXIoe2RhdGE6ZS5vdmVycmlkZSxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT4xPT09ZX0pO3RoaXMucmVsZXZhbnQ9Z2V0UmVsZXZhbnQoZS5yZWxldmFudCk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuYXJjPW51bGw7dGhpcy5ib29sZWFuPW51bGw7dGhpcy5kYXRlPW51bGw7dGhpcy5kYXRlVGltZT1udWxsO3RoaXMuZGVjaW1hbD1udWxsO3RoaXMuZXhEYXRhPW51bGw7dGhpcy5mbG9hdD1udWxsO3RoaXMuaW1hZ2U9bnVsbDt0aGlzLmludGVnZXI9bnVsbDt0aGlzLmxpbmU9bnVsbDt0aGlzLnJlY3RhbmdsZT1udWxsO3RoaXMudGV4dD1udWxsO3RoaXMudGltZT1udWxsfVtYc10oZSl7Y29uc3QgdD10aGlzW2NzXSgpO2lmKHQgaW5zdGFuY2VvZiBGaWVsZCYmdC51aT8uaW1hZ2VFZGl0KXtpZighdGhpcy5pbWFnZSl7dGhpcy5pbWFnZT1uZXcgSW1hZ2Uoe30pO3RoaXNbUG5dKHRoaXMuaW1hZ2UpfXRoaXMuaW1hZ2VbSG5dPWVbSG5dO3JldHVybn1jb25zdCBhPWVbRnNdO2lmKG51bGw9PT10aGlzW2FdKXtmb3IoY29uc3QgZSBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKSl7Y29uc3QgdD10aGlzW2VdO2lmKHQgaW5zdGFuY2VvZiBYRkFPYmplY3Qpe3RoaXNbZV09bnVsbDt0aGlzW05zXSh0KX19dGhpc1tlW0ZzXV09ZTt0aGlzW1BuXShlKX1lbHNlIHRoaXNbYV1bSG5dPWVbSG5dfVtIc10oKXtpZih0aGlzLmV4RGF0YSlyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHRoaXMuZXhEYXRhW0huXT90aGlzLmV4RGF0YVtIbl0udHJpbSgpOnRoaXMuZXhEYXRhW0huXVtIc10oKS50cmltKCk7Zm9yKGNvbnN0IGUgb2YgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGhpcykpe2lmKCJpbWFnZSI9PT1lKWNvbnRpbnVlO2NvbnN0IHQ9dGhpc1tlXTtpZih0IGluc3RhbmNlb2YgWEZBT2JqZWN0KXJldHVybih0W0huXXx8IiIpLnRvU3RyaW5nKCkudHJpbSgpfXJldHVybiBudWxsfVt6c10oZSl7Zm9yKGNvbnN0IHQgb2YgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGhpcykpe2NvbnN0IGE9dGhpc1t0XTtpZihhIGluc3RhbmNlb2YgWEZBT2JqZWN0KXJldHVybiBhW3pzXShlKX1yZXR1cm4gSFRNTFJlc3VsdC5FTVBUWX19Y2xhc3MgVmFyaWFibGVzIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKE1vLCJ2YXJpYWJsZXMiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmJvb2xlYW49bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGF0ZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5kYXRlVGltZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5kZWNpbWFsPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmV4RGF0YT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5mbG9hdD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5pbWFnZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5pbnRlZ2VyPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLm1hbmlmZXN0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnNjcmlwdD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy50ZXh0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnRpbWU9bmV3IFhGQU9iamVjdEFycmF5fVtBc10oKXtyZXR1cm4hMH19Y2xhc3MgVGVtcGxhdGVOYW1lc3BhY2V7c3RhdGljW0tzXShlLHQpe2lmKFRlbXBsYXRlTmFtZXNwYWNlLmhhc093blByb3BlcnR5KGUpKXtjb25zdCBhPVRlbXBsYXRlTmFtZXNwYWNlW2VdKHQpO2FbVXNdKHQpO3JldHVybiBhfX1zdGF0aWMgYXBwZWFyYW5jZUZpbHRlcihlKXtyZXR1cm4gbmV3IEFwcGVhcmFuY2VGaWx0ZXIoZSl9c3RhdGljIGFyYyhlKXtyZXR1cm4gbmV3IEFyYyhlKX1zdGF0aWMgYXJlYShlKXtyZXR1cm4gbmV3IEFyZWEoZSl9c3RhdGljIGFzc2lzdChlKXtyZXR1cm4gbmV3IEFzc2lzdChlKX1zdGF0aWMgYmFyY29kZShlKXtyZXR1cm4gbmV3IEJhcmNvZGUoZSl9c3RhdGljIGJpbmQoZSl7cmV0dXJuIG5ldyBCaW5kKGUpfXN0YXRpYyBiaW5kSXRlbXMoZSl7cmV0dXJuIG5ldyBCaW5kSXRlbXMoZSl9c3RhdGljIGJvb2tlbmQoZSl7cmV0dXJuIG5ldyBCb29rZW5kKGUpfXN0YXRpYyBib29sZWFuKGUpe3JldHVybiBuZXcgQm9vbGVhbkVsZW1lbnQoZSl9c3RhdGljIGJvcmRlcihlKXtyZXR1cm4gbmV3IEJvcmRlcihlKX1zdGF0aWMgYnJlYWsoZSl7cmV0dXJuIG5ldyBCcmVhayhlKX1zdGF0aWMgYnJlYWtBZnRlcihlKXtyZXR1cm4gbmV3IEJyZWFrQWZ0ZXIoZSl9c3RhdGljIGJyZWFrQmVmb3JlKGUpe3JldHVybiBuZXcgQnJlYWtCZWZvcmUoZSl9c3RhdGljIGJ1dHRvbihlKXtyZXR1cm4gbmV3IEJ1dHRvbihlKX1zdGF0aWMgY2FsY3VsYXRlKGUpe3JldHVybiBuZXcgQ2FsY3VsYXRlKGUpfXN0YXRpYyBjYXB0aW9uKGUpe3JldHVybiBuZXcgQ2FwdGlvbihlKX1zdGF0aWMgY2VydGlmaWNhdGUoZSl7cmV0dXJuIG5ldyBDZXJ0aWZpY2F0ZShlKX1zdGF0aWMgY2VydGlmaWNhdGVzKGUpe3JldHVybiBuZXcgQ2VydGlmaWNhdGVzKGUpfXN0YXRpYyBjaGVja0J1dHRvbihlKXtyZXR1cm4gbmV3IENoZWNrQnV0dG9uKGUpfXN0YXRpYyBjaG9pY2VMaXN0KGUpe3JldHVybiBuZXcgQ2hvaWNlTGlzdChlKX1zdGF0aWMgY29sb3IoZSl7cmV0dXJuIG5ldyBDb2xvcihlKX1zdGF0aWMgY29tYihlKXtyZXR1cm4gbmV3IENvbWIoZSl9c3RhdGljIGNvbm5lY3QoZSl7cmV0dXJuIG5ldyBDb25uZWN0KGUpfXN0YXRpYyBjb250ZW50QXJlYShlKXtyZXR1cm4gbmV3IENvbnRlbnRBcmVhKGUpfXN0YXRpYyBjb3JuZXIoZSl7cmV0dXJuIG5ldyBDb3JuZXIoZSl9c3RhdGljIGRhdGUoZSl7cmV0dXJuIG5ldyBEYXRlRWxlbWVudChlKX1zdGF0aWMgZGF0ZVRpbWUoZSl7cmV0dXJuIG5ldyBEYXRlVGltZShlKX1zdGF0aWMgZGF0ZVRpbWVFZGl0KGUpe3JldHVybiBuZXcgRGF0ZVRpbWVFZGl0KGUpfXN0YXRpYyBkZWNpbWFsKGUpe3JldHVybiBuZXcgRGVjaW1hbChlKX1zdGF0aWMgZGVmYXVsdFVpKGUpe3JldHVybiBuZXcgRGVmYXVsdFVpKGUpfXN0YXRpYyBkZXNjKGUpe3JldHVybiBuZXcgRGVzYyhlKX1zdGF0aWMgZGlnZXN0TWV0aG9kKGUpe3JldHVybiBuZXcgRGlnZXN0TWV0aG9kKGUpfXN0YXRpYyBkaWdlc3RNZXRob2RzKGUpe3JldHVybiBuZXcgRGlnZXN0TWV0aG9kcyhlKX1zdGF0aWMgZHJhdyhlKXtyZXR1cm4gbmV3IERyYXcoZSl9c3RhdGljIGVkZ2UoZSl7cmV0dXJuIG5ldyBFZGdlKGUpfXN0YXRpYyBlbmNvZGluZyhlKXtyZXR1cm4gbmV3IEVuY29kaW5nKGUpfXN0YXRpYyBlbmNvZGluZ3MoZSl7cmV0dXJuIG5ldyBFbmNvZGluZ3MoZSl9c3RhdGljIGVuY3J5cHQoZSl7cmV0dXJuIG5ldyBFbmNyeXB0KGUpfXN0YXRpYyBlbmNyeXB0RGF0YShlKXtyZXR1cm4gbmV3IEVuY3J5cHREYXRhKGUpfXN0YXRpYyBlbmNyeXB0aW9uKGUpe3JldHVybiBuZXcgRW5jcnlwdGlvbihlKX1zdGF0aWMgZW5jcnlwdGlvbk1ldGhvZChlKXtyZXR1cm4gbmV3IEVuY3J5cHRpb25NZXRob2QoZSl9c3RhdGljIGVuY3J5cHRpb25NZXRob2RzKGUpe3JldHVybiBuZXcgRW5jcnlwdGlvbk1ldGhvZHMoZSl9c3RhdGljIGV2ZW50KGUpe3JldHVybiBuZXcgRXZlbnQoZSl9c3RhdGljIGV4RGF0YShlKXtyZXR1cm4gbmV3IEV4RGF0YShlKX1zdGF0aWMgZXhPYmplY3QoZSl7cmV0dXJuIG5ldyBFeE9iamVjdChlKX1zdGF0aWMgZXhjbEdyb3VwKGUpe3JldHVybiBuZXcgRXhjbEdyb3VwKGUpfXN0YXRpYyBleGVjdXRlKGUpe3JldHVybiBuZXcgRXhlY3V0ZShlKX1zdGF0aWMgZXh0cmFzKGUpe3JldHVybiBuZXcgRXh0cmFzKGUpfXN0YXRpYyBmaWVsZChlKXtyZXR1cm4gbmV3IEZpZWxkKGUpfXN0YXRpYyBmaWxsKGUpe3JldHVybiBuZXcgRmlsbChlKX1zdGF0aWMgZmlsdGVyKGUpe3JldHVybiBuZXcgRmlsdGVyKGUpfXN0YXRpYyBmbG9hdChlKXtyZXR1cm4gbmV3IEZsb2F0KGUpfXN0YXRpYyBmb250KGUpe3JldHVybiBuZXcgdGVtcGxhdGVfRm9udChlKX1zdGF0aWMgZm9ybWF0KGUpe3JldHVybiBuZXcgRm9ybWF0KGUpfXN0YXRpYyBoYW5kbGVyKGUpe3JldHVybiBuZXcgSGFuZGxlcihlKX1zdGF0aWMgaHlwaGVuYXRpb24oZSl7cmV0dXJuIG5ldyBIeXBoZW5hdGlvbihlKX1zdGF0aWMgaW1hZ2UoZSl7cmV0dXJuIG5ldyBJbWFnZShlKX1zdGF0aWMgaW1hZ2VFZGl0KGUpe3JldHVybiBuZXcgSW1hZ2VFZGl0KGUpfXN0YXRpYyBpbnRlZ2VyKGUpe3JldHVybiBuZXcgSW50ZWdlcihlKX1zdGF0aWMgaXNzdWVycyhlKXtyZXR1cm4gbmV3IElzc3VlcnMoZSl9c3RhdGljIGl0ZW1zKGUpe3JldHVybiBuZXcgSXRlbXMoZSl9c3RhdGljIGtlZXAoZSl7cmV0dXJuIG5ldyBLZWVwKGUpfXN0YXRpYyBrZXlVc2FnZShlKXtyZXR1cm4gbmV3IEtleVVzYWdlKGUpfXN0YXRpYyBsaW5lKGUpe3JldHVybiBuZXcgTGluZShlKX1zdGF0aWMgbGluZWFyKGUpe3JldHVybiBuZXcgTGluZWFyKGUpfXN0YXRpYyBsb2NrRG9jdW1lbnQoZSl7cmV0dXJuIG5ldyBMb2NrRG9jdW1lbnQoZSl9c3RhdGljIG1hbmlmZXN0KGUpe3JldHVybiBuZXcgTWFuaWZlc3QoZSl9c3RhdGljIG1hcmdpbihlKXtyZXR1cm4gbmV3IE1hcmdpbihlKX1zdGF0aWMgbWRwKGUpe3JldHVybiBuZXcgTWRwKGUpfXN0YXRpYyBtZWRpdW0oZSl7cmV0dXJuIG5ldyBNZWRpdW0oZSl9c3RhdGljIG1lc3NhZ2UoZSl7cmV0dXJuIG5ldyBNZXNzYWdlKGUpfXN0YXRpYyBudW1lcmljRWRpdChlKXtyZXR1cm4gbmV3IE51bWVyaWNFZGl0KGUpfXN0YXRpYyBvY2N1cihlKXtyZXR1cm4gbmV3IE9jY3VyKGUpfXN0YXRpYyBvaWQoZSl7cmV0dXJuIG5ldyBPaWQoZSl9c3RhdGljIG9pZHMoZSl7cmV0dXJuIG5ldyBPaWRzKGUpfXN0YXRpYyBvdmVyZmxvdyhlKXtyZXR1cm4gbmV3IE92ZXJmbG93KGUpfXN0YXRpYyBwYWdlQXJlYShlKXtyZXR1cm4gbmV3IFBhZ2VBcmVhKGUpfXN0YXRpYyBwYWdlU2V0KGUpe3JldHVybiBuZXcgUGFnZVNldChlKX1zdGF0aWMgcGFyYShlKXtyZXR1cm4gbmV3IFBhcmEoZSl9c3RhdGljIHBhc3N3b3JkRWRpdChlKXtyZXR1cm4gbmV3IFBhc3N3b3JkRWRpdChlKX1zdGF0aWMgcGF0dGVybihlKXtyZXR1cm4gbmV3IHRlbXBsYXRlX1BhdHRlcm4oZSl9c3RhdGljIHBpY3R1cmUoZSl7cmV0dXJuIG5ldyBQaWN0dXJlKGUpfXN0YXRpYyBwcm90byhlKXtyZXR1cm4gbmV3IFByb3RvKGUpfXN0YXRpYyByYWRpYWwoZSl7cmV0dXJuIG5ldyBSYWRpYWwoZSl9c3RhdGljIHJlYXNvbihlKXtyZXR1cm4gbmV3IFJlYXNvbihlKX1zdGF0aWMgcmVhc29ucyhlKXtyZXR1cm4gbmV3IFJlYXNvbnMoZSl9c3RhdGljIHJlY3RhbmdsZShlKXtyZXR1cm4gbmV3IFJlY3RhbmdsZShlKX1zdGF0aWMgcmVmKGUpe3JldHVybiBuZXcgUmVmRWxlbWVudChlKX1zdGF0aWMgc2NyaXB0KGUpe3JldHVybiBuZXcgU2NyaXB0KGUpfXN0YXRpYyBzZXRQcm9wZXJ0eShlKXtyZXR1cm4gbmV3IFNldFByb3BlcnR5KGUpfXN0YXRpYyBzaWduRGF0YShlKXtyZXR1cm4gbmV3IFNpZ25EYXRhKGUpfXN0YXRpYyBzaWduYXR1cmUoZSl7cmV0dXJuIG5ldyBTaWduYXR1cmUoZSl9c3RhdGljIHNpZ25pbmcoZSl7cmV0dXJuIG5ldyBTaWduaW5nKGUpfXN0YXRpYyBzb2xpZChlKXtyZXR1cm4gbmV3IFNvbGlkKGUpfXN0YXRpYyBzcGVhayhlKXtyZXR1cm4gbmV3IFNwZWFrKGUpfXN0YXRpYyBzdGlwcGxlKGUpe3JldHVybiBuZXcgU3RpcHBsZShlKX1zdGF0aWMgc3ViZm9ybShlKXtyZXR1cm4gbmV3IFN1YmZvcm0oZSl9c3RhdGljIHN1YmZvcm1TZXQoZSl7cmV0dXJuIG5ldyBTdWJmb3JtU2V0KGUpfXN0YXRpYyBzdWJqZWN0RE4oZSl7cmV0dXJuIG5ldyBTdWJqZWN0RE4oZSl9c3RhdGljIHN1YmplY3RETnMoZSl7cmV0dXJuIG5ldyBTdWJqZWN0RE5zKGUpfXN0YXRpYyBzdWJtaXQoZSl7cmV0dXJuIG5ldyBTdWJtaXQoZSl9c3RhdGljIHRlbXBsYXRlKGUpe3JldHVybiBuZXcgVGVtcGxhdGUoZSl9c3RhdGljIHRleHQoZSl7cmV0dXJuIG5ldyBUZXh0KGUpfXN0YXRpYyB0ZXh0RWRpdChlKXtyZXR1cm4gbmV3IFRleHRFZGl0KGUpfXN0YXRpYyB0aW1lKGUpe3JldHVybiBuZXcgVGltZShlKX1zdGF0aWMgdGltZVN0YW1wKGUpe3JldHVybiBuZXcgVGltZVN0YW1wKGUpfXN0YXRpYyB0b29sVGlwKGUpe3JldHVybiBuZXcgVG9vbFRpcChlKX1zdGF0aWMgdHJhdmVyc2FsKGUpe3JldHVybiBuZXcgVHJhdmVyc2FsKGUpfXN0YXRpYyB0cmF2ZXJzZShlKXtyZXR1cm4gbmV3IFRyYXZlcnNlKGUpfXN0YXRpYyB1aShlKXtyZXR1cm4gbmV3IFVpKGUpfXN0YXRpYyB2YWxpZGF0ZShlKXtyZXR1cm4gbmV3IFZhbGlkYXRlKGUpfXN0YXRpYyB2YWx1ZShlKXtyZXR1cm4gbmV3IFZhbHVlKGUpfXN0YXRpYyB2YXJpYWJsZXMoZSl7cmV0dXJuIG5ldyBWYXJpYWJsZXMoZSl9fWNvbnN0IEVvPUpzLmRhdGFzZXRzLmlkO2Z1bmN0aW9uIGNyZWF0ZVRleHQoZSl7Y29uc3QgdD1uZXcgVGV4dCh7fSk7dFtIbl09ZTtyZXR1cm4gdH1jbGFzcyBCaW5kZXJ7Y29uc3RydWN0b3IoZSl7dGhpcy5yb290PWU7dGhpcy5kYXRhc2V0cz1lLmRhdGFzZXRzO3RoaXMuZGF0YT1lLmRhdGFzZXRzPy5kYXRhfHxuZXcgWG1sT2JqZWN0KEpzLmRhdGFzZXRzLmlkLCJkYXRhIik7dGhpcy5lbXB0eU1lcmdlPTA9PT10aGlzLmRhdGFbaXNdKCkubGVuZ3RoO3RoaXMucm9vdC5mb3JtPXRoaXMuZm9ybT1lLnRlbXBsYXRlW1huXSgpfV9pc0NvbnN1bWVEYXRhKCl7cmV0dXJuIXRoaXMuZW1wdHlNZXJnZSYmdGhpcy5fbWVyZ2VNb2RlfV9pc01hdGNoVGVtcGxhdGUoKXtyZXR1cm4hdGhpcy5faXNDb25zdW1lRGF0YSgpfWJpbmQoKXt0aGlzLl9iaW5kRWxlbWVudCh0aGlzLmZvcm0sdGhpcy5kYXRhKTtyZXR1cm4gdGhpcy5mb3JtfWdldERhdGEoKXtyZXR1cm4gdGhpcy5kYXRhfV9iaW5kVmFsdWUoZSx0LGEpe2VbV25dPXQ7aWYoZVt1c10oKSlpZih0W2JzXSgpKXtjb25zdCBhPXRbdHNdKCk7ZVtYc10oY3JlYXRlVGV4dChhKSl9ZWxzZSBpZihlIGluc3RhbmNlb2YgRmllbGQmJiJtdWx0aVNlbGVjdCI9PT1lLnVpPy5jaG9pY2VMaXN0Py5vcGVuKXtjb25zdCBhPXRbaXNdKCkubWFwKChlPT5lW0huXS50cmltKCkpKS5qb2luKCJcbiIpO2VbWHNdKGNyZWF0ZVRleHQoYSkpfWVsc2UgdGhpcy5faXNDb25zdW1lRGF0YSgpJiZ3YXJuKCJYRkEgLSBOb2RlcyBoYXZlbid0IHRoZSBzYW1lIHR5cGUuIik7ZWxzZSF0W2JzXSgpfHx0aGlzLl9pc01hdGNoVGVtcGxhdGUoKT90aGlzLl9iaW5kRWxlbWVudChlLHQpOndhcm4oIlhGQSAtIE5vZGVzIGhhdmVuJ3QgdGhlIHNhbWUgdHlwZS4iKX1fZmluZERhdGFCeU5hbWVUb0NvbnN1bWUoZSx0LGEscil7aWYoIWUpcmV0dXJuIG51bGw7bGV0IGksbjtmb3IobGV0IHI9MDtyPDM7cisrKXtpPWFbcnNdKGUsITEsITApO2Zvcig7Oyl7bj1pLm5leHQoKS52YWx1ZTtpZighbilicmVhaztpZih0PT09bltic10oKSlyZXR1cm4gbn1pZihhW3ZzXT09PUpzLmRhdGFzZXRzLmlkJiYiZGF0YSI9PT1hW0ZzXSlicmVhazthPWFbY3NdKCl9aWYoIXIpcmV0dXJuIG51bGw7aT10aGlzLmRhdGFbcnNdKGUsITAsITEpO249aS5uZXh0KCkudmFsdWU7aWYobilyZXR1cm4gbjtpPXRoaXMuZGF0YVtLbl0oZSwhMCk7bj1pLm5leHQoKS52YWx1ZTtyZXR1cm4gbj8uW2JzXSgpP246bnVsbH1fc2V0UHJvcGVydGllcyhlLHQpe2lmKGUuaGFzT3duUHJvcGVydHkoInNldFByb3BlcnR5IikpZm9yKGNvbnN0e3JlZjphLHRhcmdldDpyLGNvbm5lY3Rpb246aX1vZiBlLnNldFByb3BlcnR5LmNoaWxkcmVuKXtpZihpKWNvbnRpbnVlO2lmKCFhKWNvbnRpbnVlO2NvbnN0IG49c2VhcmNoTm9kZSh0aGlzLnJvb3QsdCxhLCExLCExKTtpZighbil7d2FybihgWEZBIC0gSW52YWxpZCByZWZlcmVuY2U6ICR7YX0uYCk7Y29udGludWV9Y29uc3Rbc109bjtpZighc1t5c10odGhpcy5kYXRhKSl7d2FybigiWEZBIC0gSW52YWxpZCBub2RlOiBtdXN0IGJlIGEgZGF0YSBub2RlLiIpO2NvbnRpbnVlfWNvbnN0IG89c2VhcmNoTm9kZSh0aGlzLnJvb3QsZSxyLCExLCExKTtpZighbyl7d2FybihgWEZBIC0gSW52YWxpZCB0YXJnZXQ6ICR7cn0uYCk7Y29udGludWV9Y29uc3RbY109bztpZighY1t5c10oZSkpe3dhcm4oIlhGQSAtIEludmFsaWQgdGFyZ2V0OiBtdXN0IGJlIGEgcHJvcGVydHkgb3Igc3VicHJvcGVydHkuIik7Y29udGludWV9Y29uc3QgbD1jW2NzXSgpO2lmKGMgaW5zdGFuY2VvZiBTZXRQcm9wZXJ0eXx8bCBpbnN0YW5jZW9mIFNldFByb3BlcnR5KXt3YXJuKCJYRkEgLSBJbnZhbGlkIHRhcmdldDogY2Fubm90IGJlIGEgc2V0UHJvcGVydHkgb3Igb25lIG9mIGl0cyBwcm9wZXJ0aWVzLiIpO2NvbnRpbnVlfWlmKGMgaW5zdGFuY2VvZiBCaW5kSXRlbXN8fGwgaW5zdGFuY2VvZiBCaW5kSXRlbXMpe3dhcm4oIlhGQSAtIEludmFsaWQgdGFyZ2V0OiBjYW5ub3QgYmUgYSBiaW5kSXRlbXMgb3Igb25lIG9mIGl0cyBwcm9wZXJ0aWVzLiIpO2NvbnRpbnVlfWNvbnN0IGg9c1tIc10oKSx1PWNbRnNdO2lmKGMgaW5zdGFuY2VvZiBYRkFBdHRyaWJ1dGUpe2NvbnN0IGU9T2JqZWN0LmNyZWF0ZShudWxsKTtlW3VdPWg7Y29uc3QgdD1SZWZsZWN0LmNvbnN0cnVjdChPYmplY3QuZ2V0UHJvdG90eXBlT2YobCkuY29uc3RydWN0b3IsW2VdKTtsW3VdPXRbdV19ZWxzZSBpZihjLmhhc093blByb3BlcnR5KEhuKSl7Y1tXbl09cztjW0huXT1oO2NbR25dKCl9ZWxzZSB3YXJuKCJYRkEgLSBJbnZhbGlkIG5vZGUgdG8gdXNlIGluIHNldFByb3BlcnR5Iil9fV9iaW5kSXRlbXMoZSx0KXtpZighZS5oYXNPd25Qcm9wZXJ0eSgiaXRlbXMiKXx8IWUuaGFzT3duUHJvcGVydHkoImJpbmRJdGVtcyIpfHxlLmJpbmRJdGVtcy5pc0VtcHR5KCkpcmV0dXJuO2Zvcihjb25zdCB0IG9mIGUuaXRlbXMuY2hpbGRyZW4pZVtOc10odCk7ZS5pdGVtcy5jbGVhcigpO2NvbnN0IGE9bmV3IEl0ZW1zKHt9KSxyPW5ldyBJdGVtcyh7fSk7ZVtQbl0oYSk7ZS5pdGVtcy5wdXNoKGEpO2VbUG5dKHIpO2UuaXRlbXMucHVzaChyKTtmb3IoY29uc3R7cmVmOmksbGFiZWxSZWY6bix2YWx1ZVJlZjpzLGNvbm5lY3Rpb246b31vZiBlLmJpbmRJdGVtcy5jaGlsZHJlbil7aWYobyljb250aW51ZTtpZighaSljb250aW51ZTtjb25zdCBlPXNlYXJjaE5vZGUodGhpcy5yb290LHQsaSwhMSwhMSk7aWYoZSlmb3IoY29uc3QgdCBvZiBlKXtpZighdFt5c10odGhpcy5kYXRhc2V0cykpe3dhcm4oYFhGQSAtIEludmFsaWQgcmVmICgke2l9KTogbXVzdCBiZSBhIGRhdGFzZXRzIGNoaWxkLmApO2NvbnRpbnVlfWNvbnN0IGU9c2VhcmNoTm9kZSh0aGlzLnJvb3QsdCxuLCEwLCExKTtpZighZSl7d2FybihgWEZBIC0gSW52YWxpZCBsYWJlbDogJHtufS5gKTtjb250aW51ZX1jb25zdFtvXT1lO2lmKCFvW3lzXSh0aGlzLmRhdGFzZXRzKSl7d2FybigiWEZBIC0gSW52YWxpZCBsYWJlbDogbXVzdCBiZSBhIGRhdGFzZXRzIGNoaWxkLiIpO2NvbnRpbnVlfWNvbnN0IGM9c2VhcmNoTm9kZSh0aGlzLnJvb3QsdCxzLCEwLCExKTtpZighYyl7d2FybihgWEZBIC0gSW52YWxpZCB2YWx1ZTogJHtzfS5gKTtjb250aW51ZX1jb25zdFtsXT1jO2lmKCFsW3lzXSh0aGlzLmRhdGFzZXRzKSl7d2FybigiWEZBIC0gSW52YWxpZCB2YWx1ZTogbXVzdCBiZSBhIGRhdGFzZXRzIGNoaWxkLiIpO2NvbnRpbnVlfWNvbnN0IGg9Y3JlYXRlVGV4dChvW0hzXSgpKSx1PWNyZWF0ZVRleHQobFtIc10oKSk7YVtQbl0oaCk7YS50ZXh0LnB1c2goaCk7cltQbl0odSk7ci50ZXh0LnB1c2godSl9ZWxzZSB3YXJuKGBYRkEgLSBJbnZhbGlkIHJlZmVyZW5jZTogJHtpfS5gKX19X2JpbmRPY2N1cnJlbmNlcyhlLHQsYSl7bGV0IHI7aWYodC5sZW5ndGg+MSl7cj1lW1huXSgpO3JbTnNdKHIub2NjdXIpO3Iub2NjdXI9bnVsbH10aGlzLl9iaW5kVmFsdWUoZSx0WzBdLGEpO3RoaXMuX3NldFByb3BlcnRpZXMoZSx0WzBdKTt0aGlzLl9iaW5kSXRlbXMoZSx0WzBdKTtpZigxPT09dC5sZW5ndGgpcmV0dXJuO2NvbnN0IGk9ZVtjc10oKSxuPWVbRnNdLHM9aVtmc10oZSk7Zm9yKGxldCBlPTEsbz10Lmxlbmd0aDtlPG87ZSsrKXtjb25zdCBvPXRbZV0sYz1yW1huXSgpO2lbbl0ucHVzaChjKTtpW2dzXShzK2UsYyk7dGhpcy5fYmluZFZhbHVlKGMsbyxhKTt0aGlzLl9zZXRQcm9wZXJ0aWVzKGMsbyk7dGhpcy5fYmluZEl0ZW1zKGMsbyl9fV9jcmVhdGVPY2N1cnJlbmNlcyhlKXtpZighdGhpcy5lbXB0eU1lcmdlKXJldHVybjtjb25zdHtvY2N1cjp0fT1lO2lmKCF0fHx0LmluaXRpYWw8PTEpcmV0dXJuO2NvbnN0IGE9ZVtjc10oKSxyPWVbRnNdO2lmKCEoYVtyXWluc3RhbmNlb2YgWEZBT2JqZWN0QXJyYXkpKXJldHVybjtsZXQgaTtpPWUubmFtZT9hW3JdLmNoaWxkcmVuLmZpbHRlcigodD0+dC5uYW1lPT09ZS5uYW1lKSkubGVuZ3RoOmFbcl0uY2hpbGRyZW4ubGVuZ3RoO2NvbnN0IG49YVtmc10oZSkrMSxzPXQuaW5pdGlhbC1pO2lmKHMpe2NvbnN0IHQ9ZVtYbl0oKTt0W05zXSh0Lm9jY3VyKTt0Lm9jY3VyPW51bGw7YVtyXS5wdXNoKHQpO2FbZ3NdKG4sdCk7Zm9yKGxldCBlPTE7ZTxzO2UrKyl7Y29uc3QgaT10W1huXSgpO2Fbcl0ucHVzaChpKTthW2dzXShuK2UsaSl9fX1fZ2V0T2NjdXJJbmZvKGUpe2NvbnN0e25hbWU6dCxvY2N1cjphfT1lO2lmKCFhfHwhdClyZXR1cm5bMSwxXTtjb25zdCByPS0xPT09YS5tYXg/MS8wOmEubWF4O3JldHVyblthLm1pbixyXX1fc2V0QW5kQmluZChlLHQpe3RoaXMuX3NldFByb3BlcnRpZXMoZSx0KTt0aGlzLl9iaW5kSXRlbXMoZSx0KTt0aGlzLl9iaW5kRWxlbWVudChlLHQpfV9iaW5kRWxlbWVudChlLHQpe2NvbnN0IGE9W107dGhpcy5fY3JlYXRlT2NjdXJyZW5jZXMoZSk7Zm9yKGNvbnN0IHIgb2YgZVtpc10oKSl7aWYocltXbl0pY29udGludWU7aWYodm9pZCAwPT09dGhpcy5fbWVyZ2VNb2RlJiYic3ViZm9ybSI9PT1yW0ZzXSl7dGhpcy5fbWVyZ2VNb2RlPSJjb25zdW1lRGF0YSI9PT1yLm1lcmdlTW9kZTtjb25zdCBlPXRbaXNdKCk7aWYoZS5sZW5ndGg+MCl0aGlzLl9iaW5kT2NjdXJyZW5jZXMocixbZVswXV0sbnVsbCk7ZWxzZSBpZih0aGlzLmVtcHR5TWVyZ2Upe2NvbnN0IGU9dFt2c109PT1Fbz8tMTp0W3ZzXSxhPXJbV25dPW5ldyBYbWxPYmplY3QoZSxyLm5hbWV8fCJyb290Iik7dFtQbl0oYSk7dGhpcy5fYmluZEVsZW1lbnQocixhKX1jb250aW51ZX1pZighclttc10oKSljb250aW51ZTtsZXQgZT0hMSxpPW51bGwsbj1udWxsLHM9bnVsbDtpZihyLmJpbmQpe3N3aXRjaChyLmJpbmQubWF0Y2gpe2Nhc2Uibm9uZSI6dGhpcy5fc2V0QW5kQmluZChyLHQpO2NvbnRpbnVlO2Nhc2UiZ2xvYmFsIjplPSEwO2JyZWFrO2Nhc2UiZGF0YVJlZiI6aWYoIXIuYmluZC5yZWYpe3dhcm4oYFhGQSAtIHJlZiBpcyBlbXB0eSBpbiBub2RlICR7cltGc119LmApO3RoaXMuX3NldEFuZEJpbmQocix0KTtjb250aW51ZX1uPXIuYmluZC5yZWZ9ci5iaW5kLnBpY3R1cmUmJihpPXIuYmluZC5waWN0dXJlW0huXSl9Y29uc3RbbyxjXT10aGlzLl9nZXRPY2N1ckluZm8ocik7aWYobil7cz1zZWFyY2hOb2RlKHRoaXMucm9vdCx0LG4sITAsITEpO2lmKG51bGw9PT1zKXtzPWNyZWF0ZURhdGFOb2RlKHRoaXMuZGF0YSx0LG4pO2lmKCFzKWNvbnRpbnVlO3RoaXMuX2lzQ29uc3VtZURhdGEoKSYmKHNbcW5dPSEwKTt0aGlzLl9zZXRBbmRCaW5kKHIscyk7Y29udGludWV9dGhpcy5faXNDb25zdW1lRGF0YSgpJiYocz1zLmZpbHRlcigoZT0+IWVbcW5dKSkpO3MubGVuZ3RoPmM/cz1zLnNsaWNlKDAsYyk6MD09PXMubGVuZ3RoJiYocz1udWxsKTtzJiZ0aGlzLl9pc0NvbnN1bWVEYXRhKCkmJnMuZm9yRWFjaCgoZT0+e2VbcW5dPSEwfSkpfWVsc2V7aWYoIXIubmFtZSl7dGhpcy5fc2V0QW5kQmluZChyLHQpO2NvbnRpbnVlfWlmKHRoaXMuX2lzQ29uc3VtZURhdGEoKSl7Y29uc3QgYT1bXTtmb3IoO2EubGVuZ3RoPGM7KXtjb25zdCBpPXRoaXMuX2ZpbmREYXRhQnlOYW1lVG9Db25zdW1lKHIubmFtZSxyW3VzXSgpLHQsZSk7aWYoIWkpYnJlYWs7aVtxbl09ITA7YS5wdXNoKGkpfXM9YS5sZW5ndGg+MD9hOm51bGx9ZWxzZXtzPXRbcnNdKHIubmFtZSwhMSx0aGlzLmVtcHR5TWVyZ2UpLm5leHQoKS52YWx1ZTtpZighcyl7aWYoMD09PW8pe2EucHVzaChyKTtjb250aW51ZX1jb25zdCBlPXRbdnNdPT09RW8/LTE6dFt2c107cz1yW1duXT1uZXcgWG1sT2JqZWN0KGUsci5uYW1lKTt0aGlzLmVtcHR5TWVyZ2UmJihzW3FuXT0hMCk7dFtQbl0ocyk7dGhpcy5fc2V0QW5kQmluZChyLHMpO2NvbnRpbnVlfXRoaXMuZW1wdHlNZXJnZSYmKHNbcW5dPSEwKTtzPVtzXX19cz90aGlzLl9iaW5kT2NjdXJyZW5jZXMocixzLGkpOm8+MD90aGlzLl9zZXRBbmRCaW5kKHIsdCk6YS5wdXNoKHIpfWEuZm9yRWFjaCgoZT0+ZVtjc10oKVtOc10oZSkpKX19Y2xhc3MgRGF0YUhhbmRsZXJ7Y29uc3RydWN0b3IoZSx0KXt0aGlzLmRhdGE9dDt0aGlzLmRhdGFzZXQ9ZS5kYXRhc2V0c3x8bnVsbH1zZXJpYWxpemUoZSl7Y29uc3QgdD1bWy0xLHRoaXMuZGF0YVtpc10oKV1dO2Zvcig7dC5sZW5ndGg+MDspe2NvbnN0IGE9dC5hdCgtMSksW3IsaV09YTtpZihyKzE9PT1pLmxlbmd0aCl7dC5wb3AoKTtjb250aW51ZX1jb25zdCBuPWlbKythWzBdXSxzPWUuZ2V0KG5bVnNdKTtpZihzKW5bWHNdKHMpO2Vsc2V7Y29uc3QgdD1uW0puXSgpO2Zvcihjb25zdCBhIG9mIHQudmFsdWVzKCkpe2NvbnN0IHQ9ZS5nZXQoYVtWc10pO2lmKHQpe2FbWHNdKHQpO2JyZWFrfX19Y29uc3Qgbz1uW2lzXSgpO28ubGVuZ3RoPjAmJnQucHVzaChbLTEsb10pfWNvbnN0IGE9Wyc8eGZhOmRhdGFzZXRzIHhtbG5zOnhmYT0iaHR0cDovL3d3dy54ZmEub3JnL3NjaGVtYS94ZmEtZGF0YS8xLjAvIj4nXTtpZih0aGlzLmRhdGFzZXQpZm9yKGNvbnN0IGUgb2YgdGhpcy5kYXRhc2V0W2lzXSgpKSJkYXRhIiE9PWVbRnNdJiZlWyRzXShhKTt0aGlzLmRhdGFbJHNdKGEpO2EucHVzaCgiPC94ZmE6ZGF0YXNldHM+Iik7cmV0dXJuIGEuam9pbigiIil9fWNvbnN0IFBvPUpzLmNvbmZpZy5pZDtjbGFzcyBBY3JvYmF0IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJhY3JvYmF0IiwhMCk7dGhpcy5hY3JvYmF0Nz1udWxsO3RoaXMuYXV0b1NhdmU9bnVsbDt0aGlzLmNvbW1vbj1udWxsO3RoaXMudmFsaWRhdGU9bnVsbDt0aGlzLnZhbGlkYXRlQXBwcm92YWxTaWduYXR1cmVzPW51bGw7dGhpcy5zdWJtaXRVcmw9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBBY3JvYmF0NyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywiYWNyb2JhdDciLCEwKTt0aGlzLmR5bmFtaWNSZW5kZXI9bnVsbH19Y2xhc3MgQURCRV9KU0NvbnNvbGUgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sIkFEQkVfSlNDb25zb2xlIixbImRlbGVnYXRlIiwiRW5hYmxlIiwiRGlzYWJsZSJdKX19Y2xhc3MgQURCRV9KU0RlYnVnZ2VyIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJBREJFX0pTRGVidWdnZXIiLFsiZGVsZWdhdGUiLCJFbmFibGUiLCJEaXNhYmxlIl0pfX1jbGFzcyBBZGRTaWxlbnRQcmludCBleHRlbmRzIE9wdGlvbjAxe2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJhZGRTaWxlbnRQcmludCIpfX1jbGFzcyBBZGRWaWV3ZXJQcmVmZXJlbmNlcyBleHRlbmRzIE9wdGlvbjAxe2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJhZGRWaWV3ZXJQcmVmZXJlbmNlcyIpfX1jbGFzcyBBZGp1c3REYXRhIGV4dGVuZHMgT3B0aW9uMTB7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sImFkanVzdERhdGEiKX19Y2xhc3MgQWRvYmVFeHRlbnNpb25MZXZlbCBleHRlbmRzIEludGVnZXJPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sImFkb2JlRXh0ZW5zaW9uTGV2ZWwiLDAsKGU9PmU+PTEmJmU8PTgpKX19Y2xhc3MgQWdlbnQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sImFnZW50IiwhMCk7dGhpcy5uYW1lPWUubmFtZT9lLm5hbWUudHJpbSgpOiIiO3RoaXMuY29tbW9uPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgQWx3YXlzRW1iZWQgZXh0ZW5kcyBDb250ZW50T2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJhbHdheXNFbWJlZCIpfX1jbGFzcyBBbWQgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sImFtZCIpfX1jbGFzcyBjb25maWdfQXJlYSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywiYXJlYSIpO3RoaXMubGV2ZWw9Z2V0SW50ZWdlcih7ZGF0YTplLmxldmVsLGRlZmF1bHRWYWx1ZTowLHZhbGlkYXRlOmU9PmU+PTEmJmU8PTN9KTt0aGlzLm5hbWU9Z2V0U3RyaW5nT3B0aW9uKGUubmFtZSxbIiIsImJhcmNvZGUiLCJjb3JlaW5pdCIsImRldmljZURyaXZlciIsImZvbnQiLCJnZW5lcmFsIiwibGF5b3V0IiwibWVyZ2UiLCJzY3JpcHQiLCJzaWduYXR1cmUiLCJzb3VyY2VTZXQiLCJ0ZW1wbGF0ZUNhY2hlIl0pfX1jbGFzcyBBdHRyaWJ1dGVzIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJhdHRyaWJ1dGVzIixbInByZXNlcnZlIiwiZGVsZWdhdGUiLCJpZ25vcmUiXSl9fWNsYXNzIEF1dG9TYXZlIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJhdXRvU2F2ZSIsWyJkaXNhYmxlZCIsImVuYWJsZWQiXSl9fWNsYXNzIEJhc2UgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sImJhc2UiKX19Y2xhc3MgQmF0Y2hPdXRwdXQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sImJhdGNoT3V0cHV0Iik7dGhpcy5mb3JtYXQ9Z2V0U3RyaW5nT3B0aW9uKGUuZm9ybWF0LFsibm9uZSIsImNvbmNhdCIsInppcCIsInppcENvbXByZXNzIl0pfX1jbGFzcyBCZWhhdmlvck92ZXJyaWRlIGV4dGVuZHMgQ29udGVudE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywiYmVoYXZpb3JPdmVycmlkZSIpfVtHbl0oKXt0aGlzW0huXT1uZXcgTWFwKHRoaXNbSG5dLnRyaW0oKS5zcGxpdCgvXHMrLykuZmlsdGVyKChlPT5lLmluY2x1ZGVzKCI6IikpKS5tYXAoKGU9PmUuc3BsaXQoIjoiLDIpKSkpfX1jbGFzcyBDYWNoZSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywiY2FjaGUiLCEwKTt0aGlzLnRlbXBsYXRlQ2FjaGU9bnVsbH19Y2xhc3MgQ2hhbmdlIGV4dGVuZHMgT3B0aW9uMDF7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sImNoYW5nZSIpfX1jbGFzcyBDb21tb24gZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sImNvbW1vbiIsITApO3RoaXMuZGF0YT1udWxsO3RoaXMubG9jYWxlPW51bGw7dGhpcy5sb2NhbGVTZXQ9bnVsbDt0aGlzLm1lc3NhZ2luZz1udWxsO3RoaXMuc3VwcHJlc3NCYW5uZXI9bnVsbDt0aGlzLnRlbXBsYXRlPW51bGw7dGhpcy52YWxpZGF0aW9uTWVzc2FnaW5nPW51bGw7dGhpcy52ZXJzaW9uQ29udHJvbD1udWxsO3RoaXMubG9nPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgQ29tcHJlc3MgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sImNvbXByZXNzIik7dGhpcy5zY29wZT1nZXRTdHJpbmdPcHRpb24oZS5zY29wZSxbImltYWdlT25seSIsImRvY3VtZW50Il0pfX1jbGFzcyBDb21wcmVzc0xvZ2ljYWxTdHJ1Y3R1cmUgZXh0ZW5kcyBPcHRpb24wMXtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywiY29tcHJlc3NMb2dpY2FsU3RydWN0dXJlIil9fWNsYXNzIENvbXByZXNzT2JqZWN0U3RyZWFtIGV4dGVuZHMgT3B0aW9uMTB7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sImNvbXByZXNzT2JqZWN0U3RyZWFtIil9fWNsYXNzIENvbXByZXNzaW9uIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJjb21wcmVzc2lvbiIsITApO3RoaXMuY29tcHJlc3NMb2dpY2FsU3RydWN0dXJlPW51bGw7dGhpcy5jb21wcmVzc09iamVjdFN0cmVhbT1udWxsO3RoaXMubGV2ZWw9bnVsbDt0aGlzLnR5cGU9bnVsbH19Y2xhc3MgQ29uZmlnIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJjb25maWciLCEwKTt0aGlzLmFjcm9iYXQ9bnVsbDt0aGlzLnByZXNlbnQ9bnVsbDt0aGlzLnRyYWNlPW51bGw7dGhpcy5hZ2VudD1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIENvbmZvcm1hbmNlIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJjb25mb3JtYW5jZSIsWyJBIiwiQiJdKX19Y2xhc3MgQ29udGVudENvcHkgZXh0ZW5kcyBPcHRpb24wMXtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywiY29udGVudENvcHkiKX19Y2xhc3MgQ29waWVzIGV4dGVuZHMgSW50ZWdlck9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywiY29waWVzIiwxLChlPT5lPj0xKSl9fWNsYXNzIENyZWF0b3IgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sImNyZWF0b3IiKX19Y2xhc3MgQ3VycmVudFBhZ2UgZXh0ZW5kcyBJbnRlZ2VyT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJjdXJyZW50UGFnZSIsMCwoZT0+ZT49MCkpfX1jbGFzcyBEYXRhIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJkYXRhIiwhMCk7dGhpcy5hZGp1c3REYXRhPW51bGw7dGhpcy5hdHRyaWJ1dGVzPW51bGw7dGhpcy5pbmNyZW1lbnRhbExvYWQ9bnVsbDt0aGlzLm91dHB1dFhTTD1udWxsO3RoaXMucmFuZ2U9bnVsbDt0aGlzLnJlY29yZD1udWxsO3RoaXMuc3RhcnROb2RlPW51bGw7dGhpcy51cmk9bnVsbDt0aGlzLndpbmRvdz1udWxsO3RoaXMueHNsPW51bGw7dGhpcy5leGNsdWRlTlM9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMudHJhbnNmb3JtPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgRGVidWcgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sImRlYnVnIiwhMCk7dGhpcy51cmk9bnVsbH19Y2xhc3MgRGVmYXVsdFR5cGVmYWNlIGV4dGVuZHMgQ29udGVudE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywiZGVmYXVsdFR5cGVmYWNlIik7dGhpcy53cml0aW5nU2NyaXB0PWdldFN0cmluZ09wdGlvbihlLndyaXRpbmdTY3JpcHQsWyIqIiwiQXJhYmljIiwiQ3lyaWxsaWMiLCJFYXN0RXVyb3BlYW5Sb21hbiIsIkdyZWVrIiwiSGVicmV3IiwiSmFwYW5lc2UiLCJLb3JlYW4iLCJSb21hbiIsIlNpbXBsaWZpZWRDaGluZXNlIiwiVGhhaSIsIlRyYWRpdGlvbmFsQ2hpbmVzZSIsIlZpZXRuYW1lc2UiXSl9fWNsYXNzIERlc3RpbmF0aW9uIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJkZXN0aW5hdGlvbiIsWyJwZGYiLCJwY2wiLCJwcyIsIndlYkNsaWVudCIsInpwbCJdKX19Y2xhc3MgRG9jdW1lbnRBc3NlbWJseSBleHRlbmRzIE9wdGlvbjAxe2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJkb2N1bWVudEFzc2VtYmx5Iil9fWNsYXNzIERyaXZlciBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywiZHJpdmVyIiwhMCk7dGhpcy5uYW1lPWUubmFtZT9lLm5hbWUudHJpbSgpOiIiO3RoaXMuZm9udEluZm89bnVsbDt0aGlzLnhkYz1udWxsfX1jbGFzcyBEdXBsZXhPcHRpb24gZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sImR1cGxleE9wdGlvbiIsWyJzaW1wbGV4IiwiZHVwbGV4RmxpcExvbmdFZGdlIiwiZHVwbGV4RmxpcFNob3J0RWRnZSJdKX19Y2xhc3MgRHluYW1pY1JlbmRlciBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywiZHluYW1pY1JlbmRlciIsWyJmb3JiaWRkZW4iLCJyZXF1aXJlZCJdKX19Y2xhc3MgRW1iZWQgZXh0ZW5kcyBPcHRpb24wMXtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywiZW1iZWQiKX19Y2xhc3MgY29uZmlnX0VuY3J5cHQgZXh0ZW5kcyBPcHRpb24wMXtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywiZW5jcnlwdCIpfX1jbGFzcyBjb25maWdfRW5jcnlwdGlvbiBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywiZW5jcnlwdGlvbiIsITApO3RoaXMuZW5jcnlwdD1udWxsO3RoaXMuZW5jcnlwdGlvbkxldmVsPW51bGw7dGhpcy5wZXJtaXNzaW9ucz1udWxsfX1jbGFzcyBFbmNyeXB0aW9uTGV2ZWwgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sImVuY3J5cHRpb25MZXZlbCIsWyI0MGJpdCIsIjEyOGJpdCJdKX19Y2xhc3MgRW5mb3JjZSBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywiZW5mb3JjZSIpfX1jbGFzcyBFcXVhdGUgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sImVxdWF0ZSIpO3RoaXMuZm9yY2U9Z2V0SW50ZWdlcih7ZGF0YTplLmZvcmNlLGRlZmF1bHRWYWx1ZToxLHZhbGlkYXRlOmU9PjA9PT1lfSk7dGhpcy5mcm9tPWUuZnJvbXx8IiI7dGhpcy50bz1lLnRvfHwiIn19Y2xhc3MgRXF1YXRlUmFuZ2UgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sImVxdWF0ZVJhbmdlIik7dGhpcy5mcm9tPWUuZnJvbXx8IiI7dGhpcy50bz1lLnRvfHwiIjt0aGlzLl91bmljb2RlUmFuZ2U9ZS51bmljb2RlUmFuZ2V8fCIifWdldCB1bmljb2RlUmFuZ2UoKXtjb25zdCBlPVtdLHQ9L1VcKyhbMC05YS1mQS1GXSspLyxhPXRoaXMuX3VuaWNvZGVSYW5nZTtmb3IobGV0IHIgb2YgYS5zcGxpdCgiLCIpLm1hcCgoZT0+ZS50cmltKCkpKS5maWx0ZXIoKGU9PiEhZSkpKXtyPXIuc3BsaXQoIi0iLDIpLm1hcCgoZT0+e2NvbnN0IGE9ZS5tYXRjaCh0KTtyZXR1cm4gYT9wYXJzZUludChhWzFdLDE2KTowfSkpOzE9PT1yLmxlbmd0aCYmci5wdXNoKHJbMF0pO2UucHVzaChyKX1yZXR1cm4gc2hhZG93KHRoaXMsInVuaWNvZGVSYW5nZSIsZSl9fWNsYXNzIEV4Y2x1ZGUgZXh0ZW5kcyBDb250ZW50T2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJleGNsdWRlIil9W0duXSgpe3RoaXNbSG5dPXRoaXNbSG5dLnRyaW0oKS5zcGxpdCgvXHMrLykuZmlsdGVyKChlPT5lJiZbImNhbGN1bGF0ZSIsImNsb3NlIiwiZW50ZXIiLCJleGl0IiwiaW5pdGlhbGl6ZSIsInJlYWR5IiwidmFsaWRhdGUiXS5pbmNsdWRlcyhlKSkpfX1jbGFzcyBFeGNsdWRlTlMgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sImV4Y2x1ZGVOUyIpfX1jbGFzcyBGbGlwTGFiZWwgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sImZsaXBMYWJlbCIsWyJ1c2VQcmludGVyU2V0dGluZyIsIm9uIiwib2ZmIl0pfX1jbGFzcyBjb25maWdfRm9udEluZm8gZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sImZvbnRJbmZvIiwhMCk7dGhpcy5lbWJlZD1udWxsO3RoaXMubWFwPW51bGw7dGhpcy5zdWJzZXRCZWxvdz1udWxsO3RoaXMuYWx3YXlzRW1iZWQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGVmYXVsdFR5cGVmYWNlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLm5ldmVyRW1iZWQ9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBGb3JtRmllbGRGaWxsaW5nIGV4dGVuZHMgT3B0aW9uMDF7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sImZvcm1GaWVsZEZpbGxpbmciKX19Y2xhc3MgR3JvdXBQYXJlbnQgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sImdyb3VwUGFyZW50Iil9fWNsYXNzIElmRW1wdHkgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sImlmRW1wdHkiLFsiZGF0YVZhbHVlIiwiZGF0YUdyb3VwIiwiaWdub3JlIiwicmVtb3ZlIl0pfX1jbGFzcyBJbmNsdWRlWERQQ29udGVudCBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywiaW5jbHVkZVhEUENvbnRlbnQiKX19Y2xhc3MgSW5jcmVtZW50YWxMb2FkIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJpbmNyZW1lbnRhbExvYWQiLFsibm9uZSIsImZvcndhcmRPbmx5Il0pfX1jbGFzcyBJbmNyZW1lbnRhbE1lcmdlIGV4dGVuZHMgT3B0aW9uMDF7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sImluY3JlbWVudGFsTWVyZ2UiKX19Y2xhc3MgSW50ZXJhY3RpdmUgZXh0ZW5kcyBPcHRpb24wMXtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywiaW50ZXJhY3RpdmUiKX19Y2xhc3MgSm9nIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJqb2ciLFsidXNlUHJpbnRlclNldHRpbmciLCJub25lIiwicGFnZVNldCJdKX19Y2xhc3MgTGFiZWxQcmludGVyIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJsYWJlbFByaW50ZXIiLCEwKTt0aGlzLm5hbWU9Z2V0U3RyaW5nT3B0aW9uKGUubmFtZSxbInpwbCIsImRwbCIsImlwbCIsInRjcGwiXSk7dGhpcy5iYXRjaE91dHB1dD1udWxsO3RoaXMuZmxpcExhYmVsPW51bGw7dGhpcy5mb250SW5mbz1udWxsO3RoaXMueGRjPW51bGx9fWNsYXNzIExheW91dCBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywibGF5b3V0IixbInBhZ2luYXRlIiwicGFuZWwiXSl9fWNsYXNzIExldmVsIGV4dGVuZHMgSW50ZWdlck9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywibGV2ZWwiLDAsKGU9PmU+MCkpfX1jbGFzcyBMaW5lYXJpemVkIGV4dGVuZHMgT3B0aW9uMDF7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sImxpbmVhcml6ZWQiKX19Y2xhc3MgTG9jYWxlIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJsb2NhbGUiKX19Y2xhc3MgTG9jYWxlU2V0IGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJsb2NhbGVTZXQiKX19Y2xhc3MgTG9nIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJsb2ciLCEwKTt0aGlzLm1vZGU9bnVsbDt0aGlzLnRocmVzaG9sZD1udWxsO3RoaXMudG89bnVsbDt0aGlzLnVyaT1udWxsfX1jbGFzcyBNYXBFbGVtZW50IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJtYXAiLCEwKTt0aGlzLmVxdWF0ZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5lcXVhdGVSYW5nZT1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIE1lZGl1bUluZm8gZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sIm1lZGl1bUluZm8iLCEwKTt0aGlzLm1hcD1udWxsfX1jbGFzcyBjb25maWdfTWVzc2FnZSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywibWVzc2FnZSIsITApO3RoaXMubXNnSWQ9bnVsbDt0aGlzLnNldmVyaXR5PW51bGx9fWNsYXNzIE1lc3NhZ2luZyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywibWVzc2FnaW5nIiwhMCk7dGhpcy5tZXNzYWdlPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgTW9kZSBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywibW9kZSIsWyJhcHBlbmQiLCJvdmVyd3JpdGUiXSl9fWNsYXNzIE1vZGlmeUFubm90cyBleHRlbmRzIE9wdGlvbjAxe2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJtb2RpZnlBbm5vdHMiKX19Y2xhc3MgTXNnSWQgZXh0ZW5kcyBJbnRlZ2VyT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJtc2dJZCIsMSwoZT0+ZT49MSkpfX1jbGFzcyBOYW1lQXR0ciBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywibmFtZUF0dHIiKX19Y2xhc3MgTmV2ZXJFbWJlZCBleHRlbmRzIENvbnRlbnRPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sIm5ldmVyRW1iZWQiKX19Y2xhc3MgTnVtYmVyT2ZDb3BpZXMgZXh0ZW5kcyBJbnRlZ2VyT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJudW1iZXJPZkNvcGllcyIsbnVsbCwoZT0+ZT49MiYmZTw9NSkpfX1jbGFzcyBPcGVuQWN0aW9uIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJvcGVuQWN0aW9uIiwhMCk7dGhpcy5kZXN0aW5hdGlvbj1udWxsfX1jbGFzcyBPdXRwdXQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sIm91dHB1dCIsITApO3RoaXMudG89bnVsbDt0aGlzLnR5cGU9bnVsbDt0aGlzLnVyaT1udWxsfX1jbGFzcyBPdXRwdXRCaW4gZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sIm91dHB1dEJpbiIpfX1jbGFzcyBPdXRwdXRYU0wgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sIm91dHB1dFhTTCIsITApO3RoaXMudXJpPW51bGx9fWNsYXNzIE92ZXJwcmludCBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywib3ZlcnByaW50IixbIm5vbmUiLCJib3RoIiwiZHJhdyIsImZpZWxkIl0pfX1jbGFzcyBQYWNrZXRzIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJwYWNrZXRzIil9W0duXSgpeyIqIiE9PXRoaXNbSG5dJiYodGhpc1tIbl09dGhpc1tIbl0udHJpbSgpLnNwbGl0KC9ccysvKS5maWx0ZXIoKGU9PlsiY29uZmlnIiwiZGF0YXNldHMiLCJ0ZW1wbGF0ZSIsInhmZGYiLCJ4c2x0Il0uaW5jbHVkZXMoZSkpKSl9fWNsYXNzIFBhZ2VPZmZzZXQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sInBhZ2VPZmZzZXQiKTt0aGlzLng9Z2V0SW50ZWdlcih7ZGF0YTplLngsZGVmYXVsdFZhbHVlOiJ1c2VYRENTZXR0aW5nIix2YWxpZGF0ZTplPT4hMH0pO3RoaXMueT1nZXRJbnRlZ2VyKHtkYXRhOmUueSxkZWZhdWx0VmFsdWU6InVzZVhEQ1NldHRpbmciLHZhbGlkYXRlOmU9PiEwfSl9fWNsYXNzIFBhZ2VSYW5nZSBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywicGFnZVJhbmdlIil9W0duXSgpe2NvbnN0IGU9dGhpc1tIbl0udHJpbSgpLnNwbGl0KC9ccysvKS5tYXAoKGU9PnBhcnNlSW50KGUsMTApKSksdD1bXTtmb3IobGV0IGE9MCxyPWUubGVuZ3RoO2E8cjthKz0yKXQucHVzaChlLnNsaWNlKGEsYSsyKSk7dGhpc1tIbl09dH19Y2xhc3MgUGFnaW5hdGlvbiBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywicGFnaW5hdGlvbiIsWyJzaW1wbGV4IiwiZHVwbGV4U2hvcnRFZGdlIiwiZHVwbGV4TG9uZ0VkZ2UiXSl9fWNsYXNzIFBhZ2luYXRpb25PdmVycmlkZSBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywicGFnaW5hdGlvbk92ZXJyaWRlIixbIm5vbmUiLCJmb3JjZUR1cGxleCIsImZvcmNlRHVwbGV4TG9uZ0VkZ2UiLCJmb3JjZUR1cGxleFNob3J0RWRnZSIsImZvcmNlU2ltcGxleCJdKX19Y2xhc3MgUGFydCBleHRlbmRzIEludGVnZXJPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sInBhcnQiLDEsKGU9PiExKSl9fWNsYXNzIFBjbCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywicGNsIiwhMCk7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy5iYXRjaE91dHB1dD1udWxsO3RoaXMuZm9udEluZm89bnVsbDt0aGlzLmpvZz1udWxsO3RoaXMubWVkaXVtSW5mbz1udWxsO3RoaXMub3V0cHV0QmluPW51bGw7dGhpcy5wYWdlT2Zmc2V0PW51bGw7dGhpcy5zdGFwbGU9bnVsbDt0aGlzLnhkYz1udWxsfX1jbGFzcyBQZGYgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sInBkZiIsITApO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMuYWRvYmVFeHRlbnNpb25MZXZlbD1udWxsO3RoaXMuYmF0Y2hPdXRwdXQ9bnVsbDt0aGlzLmNvbXByZXNzaW9uPW51bGw7dGhpcy5jcmVhdG9yPW51bGw7dGhpcy5lbmNyeXB0aW9uPW51bGw7dGhpcy5mb250SW5mbz1udWxsO3RoaXMuaW50ZXJhY3RpdmU9bnVsbDt0aGlzLmxpbmVhcml6ZWQ9bnVsbDt0aGlzLm9wZW5BY3Rpb249bnVsbDt0aGlzLnBkZmE9bnVsbDt0aGlzLnByb2R1Y2VyPW51bGw7dGhpcy5yZW5kZXJQb2xpY3k9bnVsbDt0aGlzLnNjcmlwdE1vZGVsPW51bGw7dGhpcy5zaWxlbnRQcmludD1udWxsO3RoaXMuc3VibWl0Rm9ybWF0PW51bGw7dGhpcy50YWdnZWQ9bnVsbDt0aGlzLnZlcnNpb249bnVsbDt0aGlzLnZpZXdlclByZWZlcmVuY2VzPW51bGw7dGhpcy54ZGM9bnVsbH19Y2xhc3MgUGRmYSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywicGRmYSIsITApO3RoaXMuYW1kPW51bGw7dGhpcy5jb25mb3JtYW5jZT1udWxsO3RoaXMuaW5jbHVkZVhEUENvbnRlbnQ9bnVsbDt0aGlzLnBhcnQ9bnVsbH19Y2xhc3MgUGVybWlzc2lvbnMgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sInBlcm1pc3Npb25zIiwhMCk7dGhpcy5hY2Nlc3NpYmxlQ29udGVudD1udWxsO3RoaXMuY2hhbmdlPW51bGw7dGhpcy5jb250ZW50Q29weT1udWxsO3RoaXMuZG9jdW1lbnRBc3NlbWJseT1udWxsO3RoaXMuZm9ybUZpZWxkRmlsbGluZz1udWxsO3RoaXMubW9kaWZ5QW5ub3RzPW51bGw7dGhpcy5wbGFpbnRleHRNZXRhZGF0YT1udWxsO3RoaXMucHJpbnQ9bnVsbDt0aGlzLnByaW50SGlnaFF1YWxpdHk9bnVsbH19Y2xhc3MgUGlja1RyYXlCeVBERlNpemUgZXh0ZW5kcyBPcHRpb24wMXtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywicGlja1RyYXlCeVBERlNpemUiKX19Y2xhc3MgY29uZmlnX1BpY3R1cmUgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sInBpY3R1cmUiKX19Y2xhc3MgUGxhaW50ZXh0TWV0YWRhdGEgZXh0ZW5kcyBPcHRpb24wMXtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywicGxhaW50ZXh0TWV0YWRhdGEiKX19Y2xhc3MgUHJlc2VuY2UgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sInByZXNlbmNlIixbInByZXNlcnZlIiwiZGlzc29sdmUiLCJkaXNzb2x2ZVN0cnVjdHVyZSIsImlnbm9yZSIsInJlbW92ZSJdKX19Y2xhc3MgUHJlc2VudCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywicHJlc2VudCIsITApO3RoaXMuYmVoYXZpb3JPdmVycmlkZT1udWxsO3RoaXMuY2FjaGU9bnVsbDt0aGlzLmNvbW1vbj1udWxsO3RoaXMuY29waWVzPW51bGw7dGhpcy5kZXN0aW5hdGlvbj1udWxsO3RoaXMuaW5jcmVtZW50YWxNZXJnZT1udWxsO3RoaXMubGF5b3V0PW51bGw7dGhpcy5vdXRwdXQ9bnVsbDt0aGlzLm92ZXJwcmludD1udWxsO3RoaXMucGFnaW5hdGlvbj1udWxsO3RoaXMucGFnaW5hdGlvbk92ZXJyaWRlPW51bGw7dGhpcy5zY3JpcHQ9bnVsbDt0aGlzLnZhbGlkYXRlPW51bGw7dGhpcy54ZHA9bnVsbDt0aGlzLmRyaXZlcj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5sYWJlbFByaW50ZXI9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMucGNsPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnBkZj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5wcz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zdWJtaXRVcmw9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMud2ViQ2xpZW50PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnpwbD1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIFByaW50IGV4dGVuZHMgT3B0aW9uMDF7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sInByaW50Iil9fWNsYXNzIFByaW50SGlnaFF1YWxpdHkgZXh0ZW5kcyBPcHRpb24wMXtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywicHJpbnRIaWdoUXVhbGl0eSIpfX1jbGFzcyBQcmludFNjYWxpbmcgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sInByaW50U2NhbGluZyIsWyJhcHBkZWZhdWx0Iiwibm9TY2FsaW5nIl0pfX1jbGFzcyBQcmludGVyTmFtZSBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywicHJpbnRlck5hbWUiKX19Y2xhc3MgUHJvZHVjZXIgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sInByb2R1Y2VyIil9fWNsYXNzIFBzIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJwcyIsITApO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMuYmF0Y2hPdXRwdXQ9bnVsbDt0aGlzLmZvbnRJbmZvPW51bGw7dGhpcy5qb2c9bnVsbDt0aGlzLm1lZGl1bUluZm89bnVsbDt0aGlzLm91dHB1dEJpbj1udWxsO3RoaXMuc3RhcGxlPW51bGw7dGhpcy54ZGM9bnVsbH19Y2xhc3MgUmFuZ2UgZXh0ZW5kcyBDb250ZW50T2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJyYW5nZSIpfVtHbl0oKXt0aGlzW0huXT10aGlzW0huXS5zcGxpdCgiLCIsMikubWFwKChlPT5lLnNwbGl0KCItIikubWFwKChlPT5wYXJzZUludChlLnRyaW0oKSwxMCkpKSkpLmZpbHRlcigoZT0+ZS5ldmVyeSgoZT0+IWlzTmFOKGUpKSkpKS5tYXAoKGU9PnsxPT09ZS5sZW5ndGgmJmUucHVzaChlWzBdKTtyZXR1cm4gZX0pKX19Y2xhc3MgUmVjb3JkIGV4dGVuZHMgQ29udGVudE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywicmVjb3JkIil9W0duXSgpe3RoaXNbSG5dPXRoaXNbSG5dLnRyaW0oKTtjb25zdCBlPXBhcnNlSW50KHRoaXNbSG5dLDEwKTshaXNOYU4oZSkmJmU+PTAmJih0aGlzW0huXT1lKX19Y2xhc3MgUmVsZXZhbnQgZXh0ZW5kcyBDb250ZW50T2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJyZWxldmFudCIpfVtHbl0oKXt0aGlzW0huXT10aGlzW0huXS50cmltKCkuc3BsaXQoL1xzKy8pfX1jbGFzcyBSZW5hbWUgZXh0ZW5kcyBDb250ZW50T2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJyZW5hbWUiKX1bR25dKCl7dGhpc1tIbl09dGhpc1tIbl0udHJpbSgpOyh0aGlzW0huXS50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoInhtbCIpfHxuZXcgUmVnRXhwKCJbXFxwe0x9X11bXFxwe0x9XFxkLl9cXHB7TX0tXSoiLCJ1IikudGVzdCh0aGlzW0huXSkpJiZ3YXJuKCJYRkEgLSBSZW5hbWU6IGludmFsaWQgWEZBIG5hbWUiKX19Y2xhc3MgUmVuZGVyUG9saWN5IGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJyZW5kZXJQb2xpY3kiLFsic2VydmVyIiwiY2xpZW50Il0pfX1jbGFzcyBSdW5TY3JpcHRzIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJydW5TY3JpcHRzIixbImJvdGgiLCJjbGllbnQiLCJub25lIiwic2VydmVyIl0pfX1jbGFzcyBjb25maWdfU2NyaXB0IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJzY3JpcHQiLCEwKTt0aGlzLmN1cnJlbnRQYWdlPW51bGw7dGhpcy5leGNsdWRlPW51bGw7dGhpcy5ydW5TY3JpcHRzPW51bGx9fWNsYXNzIFNjcmlwdE1vZGVsIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJzY3JpcHRNb2RlbCIsWyJYRkEiLCJub25lIl0pfX1jbGFzcyBTZXZlcml0eSBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywic2V2ZXJpdHkiLFsiaWdub3JlIiwiZXJyb3IiLCJpbmZvcm1hdGlvbiIsInRyYWNlIiwid2FybmluZyJdKX19Y2xhc3MgU2lsZW50UHJpbnQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sInNpbGVudFByaW50IiwhMCk7dGhpcy5hZGRTaWxlbnRQcmludD1udWxsO3RoaXMucHJpbnRlck5hbWU9bnVsbH19Y2xhc3MgU3RhcGxlIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJzdGFwbGUiKTt0aGlzLm1vZGU9Z2V0U3RyaW5nT3B0aW9uKGUubW9kZSxbInVzZVByaW50ZXJTZXR0aW5nIiwib24iLCJvZmYiXSl9fWNsYXNzIFN0YXJ0Tm9kZSBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywic3RhcnROb2RlIil9fWNsYXNzIFN0YXJ0UGFnZSBleHRlbmRzIEludGVnZXJPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sInN0YXJ0UGFnZSIsMCwoZT0+ITApKX19Y2xhc3MgU3VibWl0Rm9ybWF0IGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJzdWJtaXRGb3JtYXQiLFsiaHRtbCIsImRlbGVnYXRlIiwiZmRmIiwieG1sIiwicGRmIl0pfX1jbGFzcyBTdWJtaXRVcmwgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sInN1Ym1pdFVybCIpfX1jbGFzcyBTdWJzZXRCZWxvdyBleHRlbmRzIEludGVnZXJPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sInN1YnNldEJlbG93IiwxMDAsKGU9PmU+PTAmJmU8PTEwMCkpfX1jbGFzcyBTdXBwcmVzc0Jhbm5lciBleHRlbmRzIE9wdGlvbjAxe2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJzdXBwcmVzc0Jhbm5lciIpfX1jbGFzcyBUYWdnZWQgZXh0ZW5kcyBPcHRpb24wMXtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywidGFnZ2VkIil9fWNsYXNzIGNvbmZpZ19UZW1wbGF0ZSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywidGVtcGxhdGUiLCEwKTt0aGlzLmJhc2U9bnVsbDt0aGlzLnJlbGV2YW50PW51bGw7dGhpcy5zdGFydFBhZ2U9bnVsbDt0aGlzLnVyaT1udWxsO3RoaXMueHNsPW51bGx9fWNsYXNzIFRocmVzaG9sZCBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywidGhyZXNob2xkIixbInRyYWNlIiwiZXJyb3IiLCJpbmZvcm1hdGlvbiIsIndhcm5pbmciXSl9fWNsYXNzIFRvIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJ0byIsWyJudWxsIiwibWVtb3J5Iiwic3RkZXJyIiwic3Rkb3V0Iiwic3lzdGVtIiwidXJpIl0pfX1jbGFzcyBUZW1wbGF0ZUNhY2hlIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJ0ZW1wbGF0ZUNhY2hlIik7dGhpcy5tYXhFbnRyaWVzPWdldEludGVnZXIoe2RhdGE6ZS5tYXhFbnRyaWVzLGRlZmF1bHRWYWx1ZTo1LHZhbGlkYXRlOmU9PmU+PTB9KX19Y2xhc3MgVHJhY2UgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sInRyYWNlIiwhMCk7dGhpcy5hcmVhPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgVHJhbnNmb3JtIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJ0cmFuc2Zvcm0iLCEwKTt0aGlzLmdyb3VwUGFyZW50PW51bGw7dGhpcy5pZkVtcHR5PW51bGw7dGhpcy5uYW1lQXR0cj1udWxsO3RoaXMucGljdHVyZT1udWxsO3RoaXMucHJlc2VuY2U9bnVsbDt0aGlzLnJlbmFtZT1udWxsO3RoaXMud2hpdGVzcGFjZT1udWxsfX1jbGFzcyBUeXBlIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJ0eXBlIixbIm5vbmUiLCJhc2NpaTg1IiwiYXNjaWlIZXgiLCJjY2l0dGZheCIsImZsYXRlIiwibHp3IiwicnVuTGVuZ3RoIiwibmF0aXZlIiwieGRwIiwibWVyZ2VkWERQIl0pfX1jbGFzcyBVcmkgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sInVyaSIpfX1jbGFzcyBjb25maWdfVmFsaWRhdGUgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sInZhbGlkYXRlIixbInByZVN1Ym1pdCIsInByZVByaW50IiwicHJlRXhlY3V0ZSIsInByZVNhdmUiXSl9fWNsYXNzIFZhbGlkYXRlQXBwcm92YWxTaWduYXR1cmVzIGV4dGVuZHMgQ29udGVudE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywidmFsaWRhdGVBcHByb3ZhbFNpZ25hdHVyZXMiKX1bR25dKCl7dGhpc1tIbl09dGhpc1tIbl0udHJpbSgpLnNwbGl0KC9ccysvKS5maWx0ZXIoKGU9PlsiZG9jUmVhZHkiLCJwb3N0U2lnbiJdLmluY2x1ZGVzKGUpKSl9fWNsYXNzIFZhbGlkYXRpb25NZXNzYWdpbmcgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sInZhbGlkYXRpb25NZXNzYWdpbmciLFsiYWxsTWVzc2FnZXNJbmRpdmlkdWFsbHkiLCJhbGxNZXNzYWdlc1RvZ2V0aGVyIiwiZmlyc3RNZXNzYWdlT25seSIsIm5vTWVzc2FnZXMiXSl9fWNsYXNzIFZlcnNpb24gZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sInZlcnNpb24iLFsiMS43IiwiMS42IiwiMS41IiwiMS40IiwiMS4zIiwiMS4yIl0pfX1jbGFzcyBWZXJzaW9uQ29udHJvbCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywiVmVyc2lvbkNvbnRyb2wiKTt0aGlzLm91dHB1dEJlbG93PWdldFN0cmluZ09wdGlvbihlLm91dHB1dEJlbG93LFsid2FybiIsImVycm9yIiwidXBkYXRlIl0pO3RoaXMuc291cmNlQWJvdmU9Z2V0U3RyaW5nT3B0aW9uKGUuc291cmNlQWJvdmUsWyJ3YXJuIiwiZXJyb3IiXSk7dGhpcy5zb3VyY2VCZWxvdz1nZXRTdHJpbmdPcHRpb24oZS5zb3VyY2VCZWxvdyxbInVwZGF0ZSIsIm1haW50YWluIl0pfX1jbGFzcyBWaWV3ZXJQcmVmZXJlbmNlcyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywidmlld2VyUHJlZmVyZW5jZXMiLCEwKTt0aGlzLkFEQkVfSlNDb25zb2xlPW51bGw7dGhpcy5BREJFX0pTRGVidWdnZXI9bnVsbDt0aGlzLmFkZFZpZXdlclByZWZlcmVuY2VzPW51bGw7dGhpcy5kdXBsZXhPcHRpb249bnVsbDt0aGlzLmVuZm9yY2U9bnVsbDt0aGlzLm51bWJlck9mQ29waWVzPW51bGw7dGhpcy5wYWdlUmFuZ2U9bnVsbDt0aGlzLnBpY2tUcmF5QnlQREZTaXplPW51bGw7dGhpcy5wcmludFNjYWxpbmc9bnVsbH19Y2xhc3MgV2ViQ2xpZW50IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJ3ZWJDbGllbnQiLCEwKTt0aGlzLm5hbWU9ZS5uYW1lP2UubmFtZS50cmltKCk6IiI7dGhpcy5mb250SW5mbz1udWxsO3RoaXMueGRjPW51bGx9fWNsYXNzIFdoaXRlc3BhY2UgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoUG8sIndoaXRlc3BhY2UiLFsicHJlc2VydmUiLCJsdHJpbSIsIm5vcm1hbGl6ZSIsInJ0cmltIiwidHJpbSJdKX19Y2xhc3MgV2luZG93IGV4dGVuZHMgQ29udGVudE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywid2luZG93Iil9W0duXSgpe2NvbnN0IGU9dGhpc1tIbl0uc3BsaXQoIiwiLDIpLm1hcCgoZT0+cGFyc2VJbnQoZS50cmltKCksMTApKSk7aWYoZS5zb21lKChlPT5pc05hTihlKSkpKXRoaXNbSG5dPVswLDBdO2Vsc2V7MT09PWUubGVuZ3RoJiZlLnB1c2goZVswXSk7dGhpc1tIbl09ZX19fWNsYXNzIFhkYyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihQbywieGRjIiwhMCk7dGhpcy51cmk9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMueHNsPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgWGRwIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJ4ZHAiLCEwKTt0aGlzLnBhY2tldHM9bnVsbH19Y2xhc3MgWHNsIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJ4c2wiLCEwKTt0aGlzLmRlYnVnPW51bGw7dGhpcy51cmk9bnVsbH19Y2xhc3MgWnBsIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFBvLCJ6cGwiLCEwKTt0aGlzLm5hbWU9ZS5uYW1lP2UubmFtZS50cmltKCk6IiI7dGhpcy5iYXRjaE91dHB1dD1udWxsO3RoaXMuZmxpcExhYmVsPW51bGw7dGhpcy5mb250SW5mbz1udWxsO3RoaXMueGRjPW51bGx9fWNsYXNzIENvbmZpZ05hbWVzcGFjZXtzdGF0aWNbS3NdKGUsdCl7aWYoQ29uZmlnTmFtZXNwYWNlLmhhc093blByb3BlcnR5KGUpKXJldHVybiBDb25maWdOYW1lc3BhY2VbZV0odCl9c3RhdGljIGFjcm9iYXQoZSl7cmV0dXJuIG5ldyBBY3JvYmF0KGUpfXN0YXRpYyBhY3JvYmF0NyhlKXtyZXR1cm4gbmV3IEFjcm9iYXQ3KGUpfXN0YXRpYyBBREJFX0pTQ29uc29sZShlKXtyZXR1cm4gbmV3IEFEQkVfSlNDb25zb2xlKGUpfXN0YXRpYyBBREJFX0pTRGVidWdnZXIoZSl7cmV0dXJuIG5ldyBBREJFX0pTRGVidWdnZXIoZSl9c3RhdGljIGFkZFNpbGVudFByaW50KGUpe3JldHVybiBuZXcgQWRkU2lsZW50UHJpbnQoZSl9c3RhdGljIGFkZFZpZXdlclByZWZlcmVuY2VzKGUpe3JldHVybiBuZXcgQWRkVmlld2VyUHJlZmVyZW5jZXMoZSl9c3RhdGljIGFkanVzdERhdGEoZSl7cmV0dXJuIG5ldyBBZGp1c3REYXRhKGUpfXN0YXRpYyBhZG9iZUV4dGVuc2lvbkxldmVsKGUpe3JldHVybiBuZXcgQWRvYmVFeHRlbnNpb25MZXZlbChlKX1zdGF0aWMgYWdlbnQoZSl7cmV0dXJuIG5ldyBBZ2VudChlKX1zdGF0aWMgYWx3YXlzRW1iZWQoZSl7cmV0dXJuIG5ldyBBbHdheXNFbWJlZChlKX1zdGF0aWMgYW1kKGUpe3JldHVybiBuZXcgQW1kKGUpfXN0YXRpYyBhcmVhKGUpe3JldHVybiBuZXcgY29uZmlnX0FyZWEoZSl9c3RhdGljIGF0dHJpYnV0ZXMoZSl7cmV0dXJuIG5ldyBBdHRyaWJ1dGVzKGUpfXN0YXRpYyBhdXRvU2F2ZShlKXtyZXR1cm4gbmV3IEF1dG9TYXZlKGUpfXN0YXRpYyBiYXNlKGUpe3JldHVybiBuZXcgQmFzZShlKX1zdGF0aWMgYmF0Y2hPdXRwdXQoZSl7cmV0dXJuIG5ldyBCYXRjaE91dHB1dChlKX1zdGF0aWMgYmVoYXZpb3JPdmVycmlkZShlKXtyZXR1cm4gbmV3IEJlaGF2aW9yT3ZlcnJpZGUoZSl9c3RhdGljIGNhY2hlKGUpe3JldHVybiBuZXcgQ2FjaGUoZSl9c3RhdGljIGNoYW5nZShlKXtyZXR1cm4gbmV3IENoYW5nZShlKX1zdGF0aWMgY29tbW9uKGUpe3JldHVybiBuZXcgQ29tbW9uKGUpfXN0YXRpYyBjb21wcmVzcyhlKXtyZXR1cm4gbmV3IENvbXByZXNzKGUpfXN0YXRpYyBjb21wcmVzc0xvZ2ljYWxTdHJ1Y3R1cmUoZSl7cmV0dXJuIG5ldyBDb21wcmVzc0xvZ2ljYWxTdHJ1Y3R1cmUoZSl9c3RhdGljIGNvbXByZXNzT2JqZWN0U3RyZWFtKGUpe3JldHVybiBuZXcgQ29tcHJlc3NPYmplY3RTdHJlYW0oZSl9c3RhdGljIGNvbXByZXNzaW9uKGUpe3JldHVybiBuZXcgQ29tcHJlc3Npb24oZSl9c3RhdGljIGNvbmZpZyhlKXtyZXR1cm4gbmV3IENvbmZpZyhlKX1zdGF0aWMgY29uZm9ybWFuY2UoZSl7cmV0dXJuIG5ldyBDb25mb3JtYW5jZShlKX1zdGF0aWMgY29udGVudENvcHkoZSl7cmV0dXJuIG5ldyBDb250ZW50Q29weShlKX1zdGF0aWMgY29waWVzKGUpe3JldHVybiBuZXcgQ29waWVzKGUpfXN0YXRpYyBjcmVhdG9yKGUpe3JldHVybiBuZXcgQ3JlYXRvcihlKX1zdGF0aWMgY3VycmVudFBhZ2UoZSl7cmV0dXJuIG5ldyBDdXJyZW50UGFnZShlKX1zdGF0aWMgZGF0YShlKXtyZXR1cm4gbmV3IERhdGEoZSl9c3RhdGljIGRlYnVnKGUpe3JldHVybiBuZXcgRGVidWcoZSl9c3RhdGljIGRlZmF1bHRUeXBlZmFjZShlKXtyZXR1cm4gbmV3IERlZmF1bHRUeXBlZmFjZShlKX1zdGF0aWMgZGVzdGluYXRpb24oZSl7cmV0dXJuIG5ldyBEZXN0aW5hdGlvbihlKX1zdGF0aWMgZG9jdW1lbnRBc3NlbWJseShlKXtyZXR1cm4gbmV3IERvY3VtZW50QXNzZW1ibHkoZSl9c3RhdGljIGRyaXZlcihlKXtyZXR1cm4gbmV3IERyaXZlcihlKX1zdGF0aWMgZHVwbGV4T3B0aW9uKGUpe3JldHVybiBuZXcgRHVwbGV4T3B0aW9uKGUpfXN0YXRpYyBkeW5hbWljUmVuZGVyKGUpe3JldHVybiBuZXcgRHluYW1pY1JlbmRlcihlKX1zdGF0aWMgZW1iZWQoZSl7cmV0dXJuIG5ldyBFbWJlZChlKX1zdGF0aWMgZW5jcnlwdChlKXtyZXR1cm4gbmV3IGNvbmZpZ19FbmNyeXB0KGUpfXN0YXRpYyBlbmNyeXB0aW9uKGUpe3JldHVybiBuZXcgY29uZmlnX0VuY3J5cHRpb24oZSl9c3RhdGljIGVuY3J5cHRpb25MZXZlbChlKXtyZXR1cm4gbmV3IEVuY3J5cHRpb25MZXZlbChlKX1zdGF0aWMgZW5mb3JjZShlKXtyZXR1cm4gbmV3IEVuZm9yY2UoZSl9c3RhdGljIGVxdWF0ZShlKXtyZXR1cm4gbmV3IEVxdWF0ZShlKX1zdGF0aWMgZXF1YXRlUmFuZ2UoZSl7cmV0dXJuIG5ldyBFcXVhdGVSYW5nZShlKX1zdGF0aWMgZXhjbHVkZShlKXtyZXR1cm4gbmV3IEV4Y2x1ZGUoZSl9c3RhdGljIGV4Y2x1ZGVOUyhlKXtyZXR1cm4gbmV3IEV4Y2x1ZGVOUyhlKX1zdGF0aWMgZmxpcExhYmVsKGUpe3JldHVybiBuZXcgRmxpcExhYmVsKGUpfXN0YXRpYyBmb250SW5mbyhlKXtyZXR1cm4gbmV3IGNvbmZpZ19Gb250SW5mbyhlKX1zdGF0aWMgZm9ybUZpZWxkRmlsbGluZyhlKXtyZXR1cm4gbmV3IEZvcm1GaWVsZEZpbGxpbmcoZSl9c3RhdGljIGdyb3VwUGFyZW50KGUpe3JldHVybiBuZXcgR3JvdXBQYXJlbnQoZSl9c3RhdGljIGlmRW1wdHkoZSl7cmV0dXJuIG5ldyBJZkVtcHR5KGUpfXN0YXRpYyBpbmNsdWRlWERQQ29udGVudChlKXtyZXR1cm4gbmV3IEluY2x1ZGVYRFBDb250ZW50KGUpfXN0YXRpYyBpbmNyZW1lbnRhbExvYWQoZSl7cmV0dXJuIG5ldyBJbmNyZW1lbnRhbExvYWQoZSl9c3RhdGljIGluY3JlbWVudGFsTWVyZ2UoZSl7cmV0dXJuIG5ldyBJbmNyZW1lbnRhbE1lcmdlKGUpfXN0YXRpYyBpbnRlcmFjdGl2ZShlKXtyZXR1cm4gbmV3IEludGVyYWN0aXZlKGUpfXN0YXRpYyBqb2coZSl7cmV0dXJuIG5ldyBKb2coZSl9c3RhdGljIGxhYmVsUHJpbnRlcihlKXtyZXR1cm4gbmV3IExhYmVsUHJpbnRlcihlKX1zdGF0aWMgbGF5b3V0KGUpe3JldHVybiBuZXcgTGF5b3V0KGUpfXN0YXRpYyBsZXZlbChlKXtyZXR1cm4gbmV3IExldmVsKGUpfXN0YXRpYyBsaW5lYXJpemVkKGUpe3JldHVybiBuZXcgTGluZWFyaXplZChlKX1zdGF0aWMgbG9jYWxlKGUpe3JldHVybiBuZXcgTG9jYWxlKGUpfXN0YXRpYyBsb2NhbGVTZXQoZSl7cmV0dXJuIG5ldyBMb2NhbGVTZXQoZSl9c3RhdGljIGxvZyhlKXtyZXR1cm4gbmV3IExvZyhlKX1zdGF0aWMgbWFwKGUpe3JldHVybiBuZXcgTWFwRWxlbWVudChlKX1zdGF0aWMgbWVkaXVtSW5mbyhlKXtyZXR1cm4gbmV3IE1lZGl1bUluZm8oZSl9c3RhdGljIG1lc3NhZ2UoZSl7cmV0dXJuIG5ldyBjb25maWdfTWVzc2FnZShlKX1zdGF0aWMgbWVzc2FnaW5nKGUpe3JldHVybiBuZXcgTWVzc2FnaW5nKGUpfXN0YXRpYyBtb2RlKGUpe3JldHVybiBuZXcgTW9kZShlKX1zdGF0aWMgbW9kaWZ5QW5ub3RzKGUpe3JldHVybiBuZXcgTW9kaWZ5QW5ub3RzKGUpfXN0YXRpYyBtc2dJZChlKXtyZXR1cm4gbmV3IE1zZ0lkKGUpfXN0YXRpYyBuYW1lQXR0cihlKXtyZXR1cm4gbmV3IE5hbWVBdHRyKGUpfXN0YXRpYyBuZXZlckVtYmVkKGUpe3JldHVybiBuZXcgTmV2ZXJFbWJlZChlKX1zdGF0aWMgbnVtYmVyT2ZDb3BpZXMoZSl7cmV0dXJuIG5ldyBOdW1iZXJPZkNvcGllcyhlKX1zdGF0aWMgb3BlbkFjdGlvbihlKXtyZXR1cm4gbmV3IE9wZW5BY3Rpb24oZSl9c3RhdGljIG91dHB1dChlKXtyZXR1cm4gbmV3IE91dHB1dChlKX1zdGF0aWMgb3V0cHV0QmluKGUpe3JldHVybiBuZXcgT3V0cHV0QmluKGUpfXN0YXRpYyBvdXRwdXRYU0woZSl7cmV0dXJuIG5ldyBPdXRwdXRYU0woZSl9c3RhdGljIG92ZXJwcmludChlKXtyZXR1cm4gbmV3IE92ZXJwcmludChlKX1zdGF0aWMgcGFja2V0cyhlKXtyZXR1cm4gbmV3IFBhY2tldHMoZSl9c3RhdGljIHBhZ2VPZmZzZXQoZSl7cmV0dXJuIG5ldyBQYWdlT2Zmc2V0KGUpfXN0YXRpYyBwYWdlUmFuZ2UoZSl7cmV0dXJuIG5ldyBQYWdlUmFuZ2UoZSl9c3RhdGljIHBhZ2luYXRpb24oZSl7cmV0dXJuIG5ldyBQYWdpbmF0aW9uKGUpfXN0YXRpYyBwYWdpbmF0aW9uT3ZlcnJpZGUoZSl7cmV0dXJuIG5ldyBQYWdpbmF0aW9uT3ZlcnJpZGUoZSl9c3RhdGljIHBhcnQoZSl7cmV0dXJuIG5ldyBQYXJ0KGUpfXN0YXRpYyBwY2woZSl7cmV0dXJuIG5ldyBQY2woZSl9c3RhdGljIHBkZihlKXtyZXR1cm4gbmV3IFBkZihlKX1zdGF0aWMgcGRmYShlKXtyZXR1cm4gbmV3IFBkZmEoZSl9c3RhdGljIHBlcm1pc3Npb25zKGUpe3JldHVybiBuZXcgUGVybWlzc2lvbnMoZSl9c3RhdGljIHBpY2tUcmF5QnlQREZTaXplKGUpe3JldHVybiBuZXcgUGlja1RyYXlCeVBERlNpemUoZSl9c3RhdGljIHBpY3R1cmUoZSl7cmV0dXJuIG5ldyBjb25maWdfUGljdHVyZShlKX1zdGF0aWMgcGxhaW50ZXh0TWV0YWRhdGEoZSl7cmV0dXJuIG5ldyBQbGFpbnRleHRNZXRhZGF0YShlKX1zdGF0aWMgcHJlc2VuY2UoZSl7cmV0dXJuIG5ldyBQcmVzZW5jZShlKX1zdGF0aWMgcHJlc2VudChlKXtyZXR1cm4gbmV3IFByZXNlbnQoZSl9c3RhdGljIHByaW50KGUpe3JldHVybiBuZXcgUHJpbnQoZSl9c3RhdGljIHByaW50SGlnaFF1YWxpdHkoZSl7cmV0dXJuIG5ldyBQcmludEhpZ2hRdWFsaXR5KGUpfXN0YXRpYyBwcmludFNjYWxpbmcoZSl7cmV0dXJuIG5ldyBQcmludFNjYWxpbmcoZSl9c3RhdGljIHByaW50ZXJOYW1lKGUpe3JldHVybiBuZXcgUHJpbnRlck5hbWUoZSl9c3RhdGljIHByb2R1Y2VyKGUpe3JldHVybiBuZXcgUHJvZHVjZXIoZSl9c3RhdGljIHBzKGUpe3JldHVybiBuZXcgUHMoZSl9c3RhdGljIHJhbmdlKGUpe3JldHVybiBuZXcgUmFuZ2UoZSl9c3RhdGljIHJlY29yZChlKXtyZXR1cm4gbmV3IFJlY29yZChlKX1zdGF0aWMgcmVsZXZhbnQoZSl7cmV0dXJuIG5ldyBSZWxldmFudChlKX1zdGF0aWMgcmVuYW1lKGUpe3JldHVybiBuZXcgUmVuYW1lKGUpfXN0YXRpYyByZW5kZXJQb2xpY3koZSl7cmV0dXJuIG5ldyBSZW5kZXJQb2xpY3koZSl9c3RhdGljIHJ1blNjcmlwdHMoZSl7cmV0dXJuIG5ldyBSdW5TY3JpcHRzKGUpfXN0YXRpYyBzY3JpcHQoZSl7cmV0dXJuIG5ldyBjb25maWdfU2NyaXB0KGUpfXN0YXRpYyBzY3JpcHRNb2RlbChlKXtyZXR1cm4gbmV3IFNjcmlwdE1vZGVsKGUpfXN0YXRpYyBzZXZlcml0eShlKXtyZXR1cm4gbmV3IFNldmVyaXR5KGUpfXN0YXRpYyBzaWxlbnRQcmludChlKXtyZXR1cm4gbmV3IFNpbGVudFByaW50KGUpfXN0YXRpYyBzdGFwbGUoZSl7cmV0dXJuIG5ldyBTdGFwbGUoZSl9c3RhdGljIHN0YXJ0Tm9kZShlKXtyZXR1cm4gbmV3IFN0YXJ0Tm9kZShlKX1zdGF0aWMgc3RhcnRQYWdlKGUpe3JldHVybiBuZXcgU3RhcnRQYWdlKGUpfXN0YXRpYyBzdWJtaXRGb3JtYXQoZSl7cmV0dXJuIG5ldyBTdWJtaXRGb3JtYXQoZSl9c3RhdGljIHN1Ym1pdFVybChlKXtyZXR1cm4gbmV3IFN1Ym1pdFVybChlKX1zdGF0aWMgc3Vic2V0QmVsb3coZSl7cmV0dXJuIG5ldyBTdWJzZXRCZWxvdyhlKX1zdGF0aWMgc3VwcHJlc3NCYW5uZXIoZSl7cmV0dXJuIG5ldyBTdXBwcmVzc0Jhbm5lcihlKX1zdGF0aWMgdGFnZ2VkKGUpe3JldHVybiBuZXcgVGFnZ2VkKGUpfXN0YXRpYyB0ZW1wbGF0ZShlKXtyZXR1cm4gbmV3IGNvbmZpZ19UZW1wbGF0ZShlKX1zdGF0aWMgdGVtcGxhdGVDYWNoZShlKXtyZXR1cm4gbmV3IFRlbXBsYXRlQ2FjaGUoZSl9c3RhdGljIHRocmVzaG9sZChlKXtyZXR1cm4gbmV3IFRocmVzaG9sZChlKX1zdGF0aWMgdG8oZSl7cmV0dXJuIG5ldyBUbyhlKX1zdGF0aWMgdHJhY2UoZSl7cmV0dXJuIG5ldyBUcmFjZShlKX1zdGF0aWMgdHJhbnNmb3JtKGUpe3JldHVybiBuZXcgVHJhbnNmb3JtKGUpfXN0YXRpYyB0eXBlKGUpe3JldHVybiBuZXcgVHlwZShlKX1zdGF0aWMgdXJpKGUpe3JldHVybiBuZXcgVXJpKGUpfXN0YXRpYyB2YWxpZGF0ZShlKXtyZXR1cm4gbmV3IGNvbmZpZ19WYWxpZGF0ZShlKX1zdGF0aWMgdmFsaWRhdGVBcHByb3ZhbFNpZ25hdHVyZXMoZSl7cmV0dXJuIG5ldyBWYWxpZGF0ZUFwcHJvdmFsU2lnbmF0dXJlcyhlKX1zdGF0aWMgdmFsaWRhdGlvbk1lc3NhZ2luZyhlKXtyZXR1cm4gbmV3IFZhbGlkYXRpb25NZXNzYWdpbmcoZSl9c3RhdGljIHZlcnNpb24oZSl7cmV0dXJuIG5ldyBWZXJzaW9uKGUpfXN0YXRpYyB2ZXJzaW9uQ29udHJvbChlKXtyZXR1cm4gbmV3IFZlcnNpb25Db250cm9sKGUpfXN0YXRpYyB2aWV3ZXJQcmVmZXJlbmNlcyhlKXtyZXR1cm4gbmV3IFZpZXdlclByZWZlcmVuY2VzKGUpfXN0YXRpYyB3ZWJDbGllbnQoZSl7cmV0dXJuIG5ldyBXZWJDbGllbnQoZSl9c3RhdGljIHdoaXRlc3BhY2UoZSl7cmV0dXJuIG5ldyBXaGl0ZXNwYWNlKGUpfXN0YXRpYyB3aW5kb3coZSl7cmV0dXJuIG5ldyBXaW5kb3coZSl9c3RhdGljIHhkYyhlKXtyZXR1cm4gbmV3IFhkYyhlKX1zdGF0aWMgeGRwKGUpe3JldHVybiBuZXcgWGRwKGUpfXN0YXRpYyB4c2woZSl7cmV0dXJuIG5ldyBYc2woZSl9c3RhdGljIHpwbChlKXtyZXR1cm4gbmV3IFpwbChlKX19Y29uc3QgTG89SnMuY29ubmVjdGlvblNldC5pZDtjbGFzcyBDb25uZWN0aW9uU2V0IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKExvLCJjb25uZWN0aW9uU2V0IiwhMCk7dGhpcy53c2RsQ29ubmVjdGlvbj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy54bWxDb25uZWN0aW9uPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnhzZENvbm5lY3Rpb249bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBFZmZlY3RpdmVJbnB1dFBvbGljeSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihMbywiZWZmZWN0aXZlSW5wdXRQb2xpY3kiKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgRWZmZWN0aXZlT3V0cHV0UG9saWN5IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKExvLCJlZmZlY3RpdmVPdXRwdXRQb2xpY3kiKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgT3BlcmF0aW9uIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKExvLCJvcGVyYXRpb24iKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMuaW5wdXQ9ZS5pbnB1dHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy5vdXRwdXQ9ZS5vdXRwdXR8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgUm9vdEVsZW1lbnQgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTG8sInJvb3RFbGVtZW50Iik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIFNvYXBBY3Rpb24gZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTG8sInNvYXBBY3Rpb24iKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgU29hcEFkZHJlc3MgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTG8sInNvYXBBZGRyZXNzIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIGNvbm5lY3Rpb25fc2V0X1VyaSBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihMbywidXJpIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIFdzZGxBZGRyZXNzIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKExvLCJ3c2RsQWRkcmVzcyIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifX1jbGFzcyBXc2RsQ29ubmVjdGlvbiBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihMbywid3NkbENvbm5lY3Rpb24iLCEwKTt0aGlzLmRhdGFEZXNjcmlwdGlvbj1lLmRhdGFEZXNjcmlwdGlvbnx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy5lZmZlY3RpdmVJbnB1dFBvbGljeT1udWxsO3RoaXMuZWZmZWN0aXZlT3V0cHV0UG9saWN5PW51bGw7dGhpcy5vcGVyYXRpb249bnVsbDt0aGlzLnNvYXBBY3Rpb249bnVsbDt0aGlzLnNvYXBBZGRyZXNzPW51bGw7dGhpcy53c2RsQWRkcmVzcz1udWxsfX1jbGFzcyBYbWxDb25uZWN0aW9uIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKExvLCJ4bWxDb25uZWN0aW9uIiwhMCk7dGhpcy5kYXRhRGVzY3JpcHRpb249ZS5kYXRhRGVzY3JpcHRpb258fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMudXJpPW51bGx9fWNsYXNzIFhzZENvbm5lY3Rpb24gZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoTG8sInhzZENvbm5lY3Rpb24iLCEwKTt0aGlzLmRhdGFEZXNjcmlwdGlvbj1lLmRhdGFEZXNjcmlwdGlvbnx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy5yb290RWxlbWVudD1udWxsO3RoaXMudXJpPW51bGx9fWNsYXNzIENvbm5lY3Rpb25TZXROYW1lc3BhY2V7c3RhdGljW0tzXShlLHQpe2lmKENvbm5lY3Rpb25TZXROYW1lc3BhY2UuaGFzT3duUHJvcGVydHkoZSkpcmV0dXJuIENvbm5lY3Rpb25TZXROYW1lc3BhY2VbZV0odCl9c3RhdGljIGNvbm5lY3Rpb25TZXQoZSl7cmV0dXJuIG5ldyBDb25uZWN0aW9uU2V0KGUpfXN0YXRpYyBlZmZlY3RpdmVJbnB1dFBvbGljeShlKXtyZXR1cm4gbmV3IEVmZmVjdGl2ZUlucHV0UG9saWN5KGUpfXN0YXRpYyBlZmZlY3RpdmVPdXRwdXRQb2xpY3koZSl7cmV0dXJuIG5ldyBFZmZlY3RpdmVPdXRwdXRQb2xpY3koZSl9c3RhdGljIG9wZXJhdGlvbihlKXtyZXR1cm4gbmV3IE9wZXJhdGlvbihlKX1zdGF0aWMgcm9vdEVsZW1lbnQoZSl7cmV0dXJuIG5ldyBSb290RWxlbWVudChlKX1zdGF0aWMgc29hcEFjdGlvbihlKXtyZXR1cm4gbmV3IFNvYXBBY3Rpb24oZSl9c3RhdGljIHNvYXBBZGRyZXNzKGUpe3JldHVybiBuZXcgU29hcEFkZHJlc3MoZSl9c3RhdGljIHVyaShlKXtyZXR1cm4gbmV3IGNvbm5lY3Rpb25fc2V0X1VyaShlKX1zdGF0aWMgd3NkbEFkZHJlc3MoZSl7cmV0dXJuIG5ldyBXc2RsQWRkcmVzcyhlKX1zdGF0aWMgd3NkbENvbm5lY3Rpb24oZSl7cmV0dXJuIG5ldyBXc2RsQ29ubmVjdGlvbihlKX1zdGF0aWMgeG1sQ29ubmVjdGlvbihlKXtyZXR1cm4gbmV3IFhtbENvbm5lY3Rpb24oZSl9c3RhdGljIHhzZENvbm5lY3Rpb24oZSl7cmV0dXJuIG5ldyBYc2RDb25uZWN0aW9uKGUpfX1jb25zdCBqbz1Kcy5kYXRhc2V0cy5pZDtjbGFzcyBkYXRhc2V0c19EYXRhIGV4dGVuZHMgWG1sT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpvLCJkYXRhIixlKX1bd3NdKCl7cmV0dXJuITB9fWNsYXNzIERhdGFzZXRzIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpvLCJkYXRhc2V0cyIsITApO3RoaXMuZGF0YT1udWxsO3RoaXMuU2lnbmF0dXJlPW51bGx9W1RzXShlKXtjb25zdCB0PWVbRnNdOygiZGF0YSI9PT10JiZlW3ZzXT09PWpvfHwiU2lnbmF0dXJlIj09PXQmJmVbdnNdPT09SnMuc2lnbmF0dXJlLmlkKSYmKHRoaXNbdF09ZSk7dGhpc1tQbl0oZSl9fWNsYXNzIERhdGFzZXRzTmFtZXNwYWNle3N0YXRpY1tLc10oZSx0KXtpZihEYXRhc2V0c05hbWVzcGFjZS5oYXNPd25Qcm9wZXJ0eShlKSlyZXR1cm4gRGF0YXNldHNOYW1lc3BhY2VbZV0odCl9c3RhdGljIGRhdGFzZXRzKGUpe3JldHVybiBuZXcgRGF0YXNldHMoZSl9c3RhdGljIGRhdGEoZSl7cmV0dXJuIG5ldyBkYXRhc2V0c19EYXRhKGUpfX1jb25zdCBfbz1Kcy5sb2NhbGVTZXQuaWQ7Y2xhc3MgQ2FsZW5kYXJTeW1ib2xzIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKF9vLCJjYWxlbmRhclN5bWJvbHMiLCEwKTt0aGlzLm5hbWU9ImdyZWdvcmlhbiI7dGhpcy5kYXlOYW1lcz1uZXcgWEZBT2JqZWN0QXJyYXkoMik7dGhpcy5lcmFOYW1lcz1udWxsO3RoaXMubWVyaWRpZW1OYW1lcz1udWxsO3RoaXMubW9udGhOYW1lcz1uZXcgWEZBT2JqZWN0QXJyYXkoMil9fWNsYXNzIEN1cnJlbmN5U3ltYm9sIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKF9vLCJjdXJyZW5jeVN5bWJvbCIpO3RoaXMubmFtZT1nZXRTdHJpbmdPcHRpb24oZS5uYW1lLFsic3ltYm9sIiwiaXNvbmFtZSIsImRlY2ltYWwiXSl9fWNsYXNzIEN1cnJlbmN5U3ltYm9scyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihfbywiY3VycmVuY3lTeW1ib2xzIiwhMCk7dGhpcy5jdXJyZW5jeVN5bWJvbD1uZXcgWEZBT2JqZWN0QXJyYXkoMyl9fWNsYXNzIERhdGVQYXR0ZXJuIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKF9vLCJkYXRlUGF0dGVybiIpO3RoaXMubmFtZT1nZXRTdHJpbmdPcHRpb24oZS5uYW1lLFsiZnVsbCIsImxvbmciLCJtZWQiLCJzaG9ydCJdKX19Y2xhc3MgRGF0ZVBhdHRlcm5zIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKF9vLCJkYXRlUGF0dGVybnMiLCEwKTt0aGlzLmRhdGVQYXR0ZXJuPW5ldyBYRkFPYmplY3RBcnJheSg0KX19Y2xhc3MgRGF0ZVRpbWVTeW1ib2xzIGV4dGVuZHMgQ29udGVudE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihfbywiZGF0ZVRpbWVTeW1ib2xzIil9fWNsYXNzIERheSBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihfbywiZGF5Iil9fWNsYXNzIERheU5hbWVzIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKF9vLCJkYXlOYW1lcyIsITApO3RoaXMuYWJicj1nZXRJbnRlZ2VyKHtkYXRhOmUuYWJicixkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT4xPT09ZX0pO3RoaXMuZGF5PW5ldyBYRkFPYmplY3RBcnJheSg3KX19Y2xhc3MgRXJhIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKF9vLCJlcmEiKX19Y2xhc3MgRXJhTmFtZXMgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoX28sImVyYU5hbWVzIiwhMCk7dGhpcy5lcmE9bmV3IFhGQU9iamVjdEFycmF5KDIpfX1jbGFzcyBsb2NhbGVfc2V0X0xvY2FsZSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihfbywibG9jYWxlIiwhMCk7dGhpcy5kZXNjPWUuZGVzY3x8IiI7dGhpcy5uYW1lPSJpc29uYW1lIjt0aGlzLmNhbGVuZGFyU3ltYm9scz1udWxsO3RoaXMuY3VycmVuY3lTeW1ib2xzPW51bGw7dGhpcy5kYXRlUGF0dGVybnM9bnVsbDt0aGlzLmRhdGVUaW1lU3ltYm9scz1udWxsO3RoaXMubnVtYmVyUGF0dGVybnM9bnVsbDt0aGlzLm51bWJlclN5bWJvbHM9bnVsbDt0aGlzLnRpbWVQYXR0ZXJucz1udWxsO3RoaXMudHlwZUZhY2VzPW51bGx9fWNsYXNzIGxvY2FsZV9zZXRfTG9jYWxlU2V0IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKF9vLCJsb2NhbGVTZXQiLCEwKTt0aGlzLmxvY2FsZT1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIE1lcmlkaWVtIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKF9vLCJtZXJpZGllbSIpfX1jbGFzcyBNZXJpZGllbU5hbWVzIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKF9vLCJtZXJpZGllbU5hbWVzIiwhMCk7dGhpcy5tZXJpZGllbT1uZXcgWEZBT2JqZWN0QXJyYXkoMil9fWNsYXNzIE1vbnRoIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKF9vLCJtb250aCIpfX1jbGFzcyBNb250aE5hbWVzIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKF9vLCJtb250aE5hbWVzIiwhMCk7dGhpcy5hYmJyPWdldEludGVnZXIoe2RhdGE6ZS5hYmJyLGRlZmF1bHRWYWx1ZTowLHZhbGlkYXRlOmU9PjE9PT1lfSk7dGhpcy5tb250aD1uZXcgWEZBT2JqZWN0QXJyYXkoMTIpfX1jbGFzcyBOdW1iZXJQYXR0ZXJuIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKF9vLCJudW1iZXJQYXR0ZXJuIik7dGhpcy5uYW1lPWdldFN0cmluZ09wdGlvbihlLm5hbWUsWyJmdWxsIiwibG9uZyIsIm1lZCIsInNob3J0Il0pfX1jbGFzcyBOdW1iZXJQYXR0ZXJucyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihfbywibnVtYmVyUGF0dGVybnMiLCEwKTt0aGlzLm51bWJlclBhdHRlcm49bmV3IFhGQU9iamVjdEFycmF5KDQpfX1jbGFzcyBOdW1iZXJTeW1ib2wgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoX28sIm51bWJlclN5bWJvbCIpO3RoaXMubmFtZT1nZXRTdHJpbmdPcHRpb24oZS5uYW1lLFsiZGVjaW1hbCIsImdyb3VwaW5nIiwicGVyY2VudCIsIm1pbnVzIiwiemVybyJdKX19Y2xhc3MgTnVtYmVyU3ltYm9scyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihfbywibnVtYmVyU3ltYm9scyIsITApO3RoaXMubnVtYmVyU3ltYm9sPW5ldyBYRkFPYmplY3RBcnJheSg1KX19Y2xhc3MgVGltZVBhdHRlcm4gZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoX28sInRpbWVQYXR0ZXJuIik7dGhpcy5uYW1lPWdldFN0cmluZ09wdGlvbihlLm5hbWUsWyJmdWxsIiwibG9uZyIsIm1lZCIsInNob3J0Il0pfX1jbGFzcyBUaW1lUGF0dGVybnMgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoX28sInRpbWVQYXR0ZXJucyIsITApO3RoaXMudGltZVBhdHRlcm49bmV3IFhGQU9iamVjdEFycmF5KDQpfX1jbGFzcyBUeXBlRmFjZSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihfbywidHlwZUZhY2UiLCEwKTt0aGlzLm5hbWU9IiJ8ZS5uYW1lfX1jbGFzcyBUeXBlRmFjZXMgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoX28sInR5cGVGYWNlcyIsITApO3RoaXMudHlwZUZhY2U9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBMb2NhbGVTZXROYW1lc3BhY2V7c3RhdGljW0tzXShlLHQpe2lmKExvY2FsZVNldE5hbWVzcGFjZS5oYXNPd25Qcm9wZXJ0eShlKSlyZXR1cm4gTG9jYWxlU2V0TmFtZXNwYWNlW2VdKHQpfXN0YXRpYyBjYWxlbmRhclN5bWJvbHMoZSl7cmV0dXJuIG5ldyBDYWxlbmRhclN5bWJvbHMoZSl9c3RhdGljIGN1cnJlbmN5U3ltYm9sKGUpe3JldHVybiBuZXcgQ3VycmVuY3lTeW1ib2woZSl9c3RhdGljIGN1cnJlbmN5U3ltYm9scyhlKXtyZXR1cm4gbmV3IEN1cnJlbmN5U3ltYm9scyhlKX1zdGF0aWMgZGF0ZVBhdHRlcm4oZSl7cmV0dXJuIG5ldyBEYXRlUGF0dGVybihlKX1zdGF0aWMgZGF0ZVBhdHRlcm5zKGUpe3JldHVybiBuZXcgRGF0ZVBhdHRlcm5zKGUpfXN0YXRpYyBkYXRlVGltZVN5bWJvbHMoZSl7cmV0dXJuIG5ldyBEYXRlVGltZVN5bWJvbHMoZSl9c3RhdGljIGRheShlKXtyZXR1cm4gbmV3IERheShlKX1zdGF0aWMgZGF5TmFtZXMoZSl7cmV0dXJuIG5ldyBEYXlOYW1lcyhlKX1zdGF0aWMgZXJhKGUpe3JldHVybiBuZXcgRXJhKGUpfXN0YXRpYyBlcmFOYW1lcyhlKXtyZXR1cm4gbmV3IEVyYU5hbWVzKGUpfXN0YXRpYyBsb2NhbGUoZSl7cmV0dXJuIG5ldyBsb2NhbGVfc2V0X0xvY2FsZShlKX1zdGF0aWMgbG9jYWxlU2V0KGUpe3JldHVybiBuZXcgbG9jYWxlX3NldF9Mb2NhbGVTZXQoZSl9c3RhdGljIG1lcmlkaWVtKGUpe3JldHVybiBuZXcgTWVyaWRpZW0oZSl9c3RhdGljIG1lcmlkaWVtTmFtZXMoZSl7cmV0dXJuIG5ldyBNZXJpZGllbU5hbWVzKGUpfXN0YXRpYyBtb250aChlKXtyZXR1cm4gbmV3IE1vbnRoKGUpfXN0YXRpYyBtb250aE5hbWVzKGUpe3JldHVybiBuZXcgTW9udGhOYW1lcyhlKX1zdGF0aWMgbnVtYmVyUGF0dGVybihlKXtyZXR1cm4gbmV3IE51bWJlclBhdHRlcm4oZSl9c3RhdGljIG51bWJlclBhdHRlcm5zKGUpe3JldHVybiBuZXcgTnVtYmVyUGF0dGVybnMoZSl9c3RhdGljIG51bWJlclN5bWJvbChlKXtyZXR1cm4gbmV3IE51bWJlclN5bWJvbChlKX1zdGF0aWMgbnVtYmVyU3ltYm9scyhlKXtyZXR1cm4gbmV3IE51bWJlclN5bWJvbHMoZSl9c3RhdGljIHRpbWVQYXR0ZXJuKGUpe3JldHVybiBuZXcgVGltZVBhdHRlcm4oZSl9c3RhdGljIHRpbWVQYXR0ZXJucyhlKXtyZXR1cm4gbmV3IFRpbWVQYXR0ZXJucyhlKX1zdGF0aWMgdHlwZUZhY2UoZSl7cmV0dXJuIG5ldyBUeXBlRmFjZShlKX1zdGF0aWMgdHlwZUZhY2VzKGUpe3JldHVybiBuZXcgVHlwZUZhY2VzKGUpfX1jb25zdCBVbz1Kcy5zaWduYXR1cmUuaWQ7Y2xhc3Mgc2lnbmF0dXJlX1NpZ25hdHVyZSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihVbywic2lnbmF0dXJlIiwhMCl9fWNsYXNzIFNpZ25hdHVyZU5hbWVzcGFjZXtzdGF0aWNbS3NdKGUsdCl7aWYoU2lnbmF0dXJlTmFtZXNwYWNlLmhhc093blByb3BlcnR5KGUpKXJldHVybiBTaWduYXR1cmVOYW1lc3BhY2VbZV0odCl9c3RhdGljIHNpZ25hdHVyZShlKXtyZXR1cm4gbmV3IHNpZ25hdHVyZV9TaWduYXR1cmUoZSl9fWNvbnN0IFhvPUpzLnN0eWxlc2hlZXQuaWQ7Y2xhc3MgU3R5bGVzaGVldCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihYbywic3R5bGVzaGVldCIsITApfX1jbGFzcyBTdHlsZXNoZWV0TmFtZXNwYWNle3N0YXRpY1tLc10oZSx0KXtpZihTdHlsZXNoZWV0TmFtZXNwYWNlLmhhc093blByb3BlcnR5KGUpKXJldHVybiBTdHlsZXNoZWV0TmFtZXNwYWNlW2VdKHQpfXN0YXRpYyBzdHlsZXNoZWV0KGUpe3JldHVybiBuZXcgU3R5bGVzaGVldChlKX19Y29uc3QgcW89SnMueGRwLmlkO2NsYXNzIHhkcF9YZHAgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIocW8sInhkcCIsITApO3RoaXMudXVpZD1lLnV1aWR8fCIiO3RoaXMudGltZVN0YW1wPWUudGltZVN0YW1wfHwiIjt0aGlzLmNvbmZpZz1udWxsO3RoaXMuY29ubmVjdGlvblNldD1udWxsO3RoaXMuZGF0YXNldHM9bnVsbDt0aGlzLmxvY2FsZVNldD1udWxsO3RoaXMuc3R5bGVzaGVldD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy50ZW1wbGF0ZT1udWxsfVtPc10oZSl7Y29uc3QgdD1Kc1tlW0ZzXV07cmV0dXJuIHQmJmVbdnNdPT09dC5pZH19Y2xhc3MgWGRwTmFtZXNwYWNle3N0YXRpY1tLc10oZSx0KXtpZihYZHBOYW1lc3BhY2UuaGFzT3duUHJvcGVydHkoZSkpcmV0dXJuIFhkcE5hbWVzcGFjZVtlXSh0KX1zdGF0aWMgeGRwKGUpe3JldHVybiBuZXcgeGRwX1hkcChlKX19Y29uc3QgSG89SnMueGh0bWwuaWQsV289U3ltYm9sKCksem89bmV3IFNldChbImNvbG9yIiwiZm9udCIsImZvbnQtZmFtaWx5IiwiZm9udC1zaXplIiwiZm9udC1zdHJldGNoIiwiZm9udC1zdHlsZSIsImZvbnQtd2VpZ2h0IiwibWFyZ2luIiwibWFyZ2luLWJvdHRvbSIsIm1hcmdpbi1sZWZ0IiwibWFyZ2luLXJpZ2h0IiwibWFyZ2luLXRvcCIsImxldHRlci1zcGFjaW5nIiwibGluZS1oZWlnaHQiLCJvcnBoYW5zIiwicGFnZS1icmVhay1hZnRlciIsInBhZ2UtYnJlYWstYmVmb3JlIiwicGFnZS1icmVhay1pbnNpZGUiLCJ0YWItaW50ZXJ2YWwiLCJ0YWItc3RvcCIsInRleHQtYWxpZ24iLCJ0ZXh0LWRlY29yYXRpb24iLCJ0ZXh0LWluZGVudCIsInZlcnRpY2FsLWFsaWduIiwid2lkb3dzIiwia2VybmluZy1tb2RlIiwieGZhLWZvbnQtaG9yaXpvbnRhbC1zY2FsZSIsInhmYS1mb250LXZlcnRpY2FsLXNjYWxlIiwieGZhLXNwYWNlcnVuIiwieGZhLXRhYi1zdG9wcyJdKSwkbz1uZXcgTWFwKFtbInBhZ2UtYnJlYWstYWZ0ZXIiLCJicmVha0FmdGVyIl0sWyJwYWdlLWJyZWFrLWJlZm9yZSIsImJyZWFrQmVmb3JlIl0sWyJwYWdlLWJyZWFrLWluc2lkZSIsImJyZWFrSW5zaWRlIl0sWyJrZXJuaW5nLW1vZGUiLGU9PiJub25lIj09PWU/Im5vbmUiOiJub3JtYWwiXSxbInhmYS1mb250LWhvcml6b250YWwtc2NhbGUiLGU9PmBzY2FsZVgoJHtNYXRoLm1heCgwLHBhcnNlSW50KGUpLzEwMCkudG9GaXhlZCgyKX0pYF0sWyJ4ZmEtZm9udC12ZXJ0aWNhbC1zY2FsZSIsZT0+YHNjYWxlWSgke01hdGgubWF4KDAscGFyc2VJbnQoZSkvMTAwKS50b0ZpeGVkKDIpfSlgXSxbInhmYS1zcGFjZXJ1biIsIiJdLFsieGZhLXRhYi1zdG9wcyIsIiJdLFsiZm9udC1zaXplIiwoZSx0KT0+bWVhc3VyZVRvU3RyaW5nKC45OSooZT10LmZvbnRTaXplPU1hdGguYWJzKGdldE1lYXN1cmVtZW50KGUpKSkpXSxbImxldHRlci1zcGFjaW5nIixlPT5tZWFzdXJlVG9TdHJpbmcoZ2V0TWVhc3VyZW1lbnQoZSkpXSxbImxpbmUtaGVpZ2h0IixlPT5tZWFzdXJlVG9TdHJpbmcoZ2V0TWVhc3VyZW1lbnQoZSkpXSxbIm1hcmdpbiIsZT0+bWVhc3VyZVRvU3RyaW5nKGdldE1lYXN1cmVtZW50KGUpKV0sWyJtYXJnaW4tYm90dG9tIixlPT5tZWFzdXJlVG9TdHJpbmcoZ2V0TWVhc3VyZW1lbnQoZSkpXSxbIm1hcmdpbi1sZWZ0IixlPT5tZWFzdXJlVG9TdHJpbmcoZ2V0TWVhc3VyZW1lbnQoZSkpXSxbIm1hcmdpbi1yaWdodCIsZT0+bWVhc3VyZVRvU3RyaW5nKGdldE1lYXN1cmVtZW50KGUpKV0sWyJtYXJnaW4tdG9wIixlPT5tZWFzdXJlVG9TdHJpbmcoZ2V0TWVhc3VyZW1lbnQoZSkpXSxbInRleHQtaW5kZW50IixlPT5tZWFzdXJlVG9TdHJpbmcoZ2V0TWVhc3VyZW1lbnQoZSkpXSxbImZvbnQtZmFtaWx5IixlPT5lXSxbInZlcnRpY2FsLWFsaWduIixlPT5tZWFzdXJlVG9TdHJpbmcoZ2V0TWVhc3VyZW1lbnQoZSkpXV0pLEdvPS9ccysvZyxWbz0vW1xyXG5dKy9nLEtvPS9cclxuPy9nO2Z1bmN0aW9uIG1hcFN0eWxlKGUsdCxhKXtjb25zdCByPU9iamVjdC5jcmVhdGUobnVsbCk7aWYoIWUpcmV0dXJuIHI7Y29uc3QgaT1PYmplY3QuY3JlYXRlKG51bGwpO2Zvcihjb25zdFt0LGFdb2YgZS5zcGxpdCgiOyIpLm1hcCgoZT0+ZS5zcGxpdCgiOiIsMikpKSl7Y29uc3QgZT0kby5nZXQodCk7aWYoIiI9PT1lKWNvbnRpbnVlO2xldCBuPWE7ZSYmKG49InN0cmluZyI9PXR5cGVvZiBlP2U6ZShhLGkpKTt0LmVuZHNXaXRoKCJzY2FsZSIpP3IudHJhbnNmb3JtPXIudHJhbnNmb3JtP2Ake3JbdF19ICR7bn1gOm46clt0LnJlcGxhY2VBbGwoLy0oW2EtekEtWl0pL2csKChlLHQpPT50LnRvVXBwZXJDYXNlKCkpKV09bn1yLmZvbnRGYW1pbHkmJnNldEZvbnRGYW1pbHkoe3R5cGVmYWNlOnIuZm9udEZhbWlseSx3ZWlnaHQ6ci5mb250V2VpZ2h0fHwibm9ybWFsIixwb3N0dXJlOnIuZm9udFN0eWxlfHwibm9ybWFsIixzaXplOmkuZm9udFNpemV8fDB9LHQsdFtoc10uZm9udEZpbmRlcixyKTtpZihhJiZyLnZlcnRpY2FsQWxpZ24mJiIwcHgiIT09ci52ZXJ0aWNhbEFsaWduJiZyLmZvbnRTaXplKXtjb25zdCBlPS41ODMsdD0uMzMzLGE9Z2V0TWVhc3VyZW1lbnQoci5mb250U2l6ZSk7ci5mb250U2l6ZT1tZWFzdXJlVG9TdHJpbmcoYSplKTtyLnZlcnRpY2FsQWxpZ249bWVhc3VyZVRvU3RyaW5nKE1hdGguc2lnbihnZXRNZWFzdXJlbWVudChyLnZlcnRpY2FsQWxpZ24pKSphKnQpfWEmJnIuZm9udFNpemUmJihyLmZvbnRTaXplPWBjYWxjKCR7ci5mb250U2l6ZX0gKiB2YXIoLS10b3RhbC1zY2FsZS1mYWN0b3IpKWApO2ZpeFRleHRJbmRlbnQocik7cmV0dXJuIHJ9Y29uc3QgSm89bmV3IFNldChbImJvZHkiLCJodG1sIl0pO2NsYXNzIFhodG1sT2JqZWN0IGV4dGVuZHMgWG1sT2JqZWN0e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoSG8sdCk7dGhpc1tXb109ITE7dGhpcy5zdHlsZT1lLnN0eWxlfHwiIn1bam5dKGUpe3N1cGVyW2puXShlKTt0aGlzLnN0eWxlPWZ1bmN0aW9uIGNoZWNrU3R5bGUoZSl7cmV0dXJuIGUuc3R5bGU/ZS5zdHlsZS5zcGxpdCgiOyIpLmZpbHRlcigoZT0+ISFlLnRyaW0oKSkpLm1hcCgoZT0+ZS5zcGxpdCgiOiIsMikubWFwKChlPT5lLnRyaW0oKSkpKSkuZmlsdGVyKCgoW3QsYV0pPT57ImZvbnQtZmFtaWx5Ij09PXQmJmVbaHNdLnVzZWRUeXBlZmFjZXMuYWRkKGEpO3JldHVybiB6by5oYXModCl9KSkubWFwKChlPT5lLmpvaW4oIjoiKSkpLmpvaW4oIjsiKToiIn0odGhpcyl9W05uXSgpe3JldHVybiFKby5oYXModGhpc1tGc10pfVtNc10oZSx0PSExKXtpZih0KXRoaXNbV29dPSEwO2Vsc2V7ZT1lLnJlcGxhY2VBbGwoVm8sIiIpO3RoaXMuc3R5bGUuaW5jbHVkZXMoInhmYS1zcGFjZXJ1bjp5ZXMiKXx8KGU9ZS5yZXBsYWNlQWxsKEdvLCIgIikpfWUmJih0aGlzW0huXSs9ZSl9W0RzXShlLHQ9ITApe2NvbnN0IGE9T2JqZWN0LmNyZWF0ZShudWxsKSxyPXt0b3A6TmFOLGJvdHRvbTpOYU4sbGVmdDpOYU4scmlnaHQ6TmFOfTtsZXQgaT1udWxsO2Zvcihjb25zdFtlLHRdb2YgdGhpcy5zdHlsZS5zcGxpdCgiOyIpLm1hcCgoZT0+ZS5zcGxpdCgiOiIsMikpKSlzd2l0Y2goZSl7Y2FzZSJmb250LWZhbWlseSI6YS50eXBlZmFjZT1zdHJpcFF1b3Rlcyh0KTticmVhaztjYXNlImZvbnQtc2l6ZSI6YS5zaXplPWdldE1lYXN1cmVtZW50KHQpO2JyZWFrO2Nhc2UiZm9udC13ZWlnaHQiOmEud2VpZ2h0PXQ7YnJlYWs7Y2FzZSJmb250LXN0eWxlIjphLnBvc3R1cmU9dDticmVhaztjYXNlImxldHRlci1zcGFjaW5nIjphLmxldHRlclNwYWNpbmc9Z2V0TWVhc3VyZW1lbnQodCk7YnJlYWs7Y2FzZSJtYXJnaW4iOmNvbnN0IGU9dC5zcGxpdCgvIFx0LykubWFwKChlPT5nZXRNZWFzdXJlbWVudChlKSkpO3N3aXRjaChlLmxlbmd0aCl7Y2FzZSAxOnIudG9wPXIuYm90dG9tPXIubGVmdD1yLnJpZ2h0PWVbMF07YnJlYWs7Y2FzZSAyOnIudG9wPXIuYm90dG9tPWVbMF07ci5sZWZ0PXIucmlnaHQ9ZVsxXTticmVhaztjYXNlIDM6ci50b3A9ZVswXTtyLmJvdHRvbT1lWzJdO3IubGVmdD1yLnJpZ2h0PWVbMV07YnJlYWs7Y2FzZSA0OnIudG9wPWVbMF07ci5sZWZ0PWVbMV07ci5ib3R0b209ZVsyXTtyLnJpZ2h0PWVbM119YnJlYWs7Y2FzZSJtYXJnaW4tdG9wIjpyLnRvcD1nZXRNZWFzdXJlbWVudCh0KTticmVhaztjYXNlIm1hcmdpbi1ib3R0b20iOnIuYm90dG9tPWdldE1lYXN1cmVtZW50KHQpO2JyZWFrO2Nhc2UibWFyZ2luLWxlZnQiOnIubGVmdD1nZXRNZWFzdXJlbWVudCh0KTticmVhaztjYXNlIm1hcmdpbi1yaWdodCI6ci5yaWdodD1nZXRNZWFzdXJlbWVudCh0KTticmVhaztjYXNlImxpbmUtaGVpZ2h0IjppPWdldE1lYXN1cmVtZW50KHQpfWUucHVzaERhdGEoYSxyLGkpO2lmKHRoaXNbSG5dKWUuYWRkU3RyaW5nKHRoaXNbSG5dKTtlbHNlIGZvcihjb25zdCB0IG9mIHRoaXNbaXNdKCkpIiN0ZXh0IiE9PXRbRnNdP3RbRHNdKGUpOmUuYWRkU3RyaW5nKHRbSG5dKTt0JiZlLnBvcEZvbnQoKX1benNdKGUpe2NvbnN0IHQ9W107dGhpc1skbl09e2NoaWxkcmVuOnR9O3RoaXNbTG5dKHt9KTtpZigwPT09dC5sZW5ndGgmJiF0aGlzW0huXSlyZXR1cm4gSFRNTFJlc3VsdC5FTVBUWTtsZXQgYTthPXRoaXNbV29dP3RoaXNbSG5dP3RoaXNbSG5dLnJlcGxhY2VBbGwoS28sIlxuIik6dm9pZCAwOnRoaXNbSG5dfHx2b2lkIDA7cmV0dXJuIEhUTUxSZXN1bHQuc3VjY2Vzcyh7bmFtZTp0aGlzW0ZzXSxhdHRyaWJ1dGVzOntocmVmOnRoaXMuaHJlZixzdHlsZTptYXBTdHlsZSh0aGlzLnN0eWxlLHRoaXMsdGhpc1tXb10pfSxjaGlsZHJlbjp0LHZhbHVlOmF9KX19Y2xhc3MgQSBleHRlbmRzIFhodG1sT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUsImEiKTt0aGlzLmhyZWY9Zml4VVJMKGUuaHJlZil8fCIifX1jbGFzcyBCIGV4dGVuZHMgWGh0bWxPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSwiYiIpfVtEc10oZSl7ZS5wdXNoRm9udCh7d2VpZ2h0OiJib2xkIn0pO3N1cGVyW0RzXShlKTtlLnBvcEZvbnQoKX19Y2xhc3MgQm9keSBleHRlbmRzIFhodG1sT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUsImJvZHkiKX1benNdKGUpe2NvbnN0IHQ9c3VwZXJbenNdKGUpLHtodG1sOmF9PXQ7aWYoIWEpcmV0dXJuIEhUTUxSZXN1bHQuRU1QVFk7YS5uYW1lPSJkaXYiO2EuYXR0cmlidXRlcy5jbGFzcz1bInhmYVJpY2giXTtyZXR1cm4gdH19Y2xhc3MgQnIgZXh0ZW5kcyBYaHRtbE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJiciIpfVtIc10oKXtyZXR1cm4iXG4ifVtEc10oZSl7ZS5hZGRTdHJpbmcoIlxuIil9W3pzXShlKXtyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKHtuYW1lOiJiciJ9KX19Y2xhc3MgSHRtbCBleHRlbmRzIFhodG1sT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUsImh0bWwiKX1benNdKGUpe2NvbnN0IHQ9W107dGhpc1skbl09e2NoaWxkcmVuOnR9O3RoaXNbTG5dKHt9KTtpZigwPT09dC5sZW5ndGgpcmV0dXJuIEhUTUxSZXN1bHQuc3VjY2Vzcyh7bmFtZToiZGl2IixhdHRyaWJ1dGVzOntjbGFzczpbInhmYVJpY2giXSxzdHlsZTp7fX0sdmFsdWU6dGhpc1tIbl18fCIifSk7aWYoMT09PXQubGVuZ3RoKXtjb25zdCBlPXRbMF07aWYoZS5hdHRyaWJ1dGVzPy5jbGFzcy5pbmNsdWRlcygieGZhUmljaCIpKXJldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3MoZSl9cmV0dXJuIEhUTUxSZXN1bHQuc3VjY2Vzcyh7bmFtZToiZGl2IixhdHRyaWJ1dGVzOntjbGFzczpbInhmYVJpY2giXSxzdHlsZTp7fX0sY2hpbGRyZW46dH0pfX1jbGFzcyBJIGV4dGVuZHMgWGh0bWxPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSwiaSIpfVtEc10oZSl7ZS5wdXNoRm9udCh7cG9zdHVyZToiaXRhbGljIn0pO3N1cGVyW0RzXShlKTtlLnBvcEZvbnQoKX19Y2xhc3MgTGkgZXh0ZW5kcyBYaHRtbE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJsaSIpfX1jbGFzcyBPbCBleHRlbmRzIFhodG1sT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUsIm9sIil9fWNsYXNzIFAgZXh0ZW5kcyBYaHRtbE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJwIil9W0RzXShlKXtzdXBlcltEc10oZSwhMSk7ZS5hZGRTdHJpbmcoIlxuIik7ZS5hZGRQYXJhKCk7ZS5wb3BGb250KCl9W0hzXSgpe3JldHVybiB0aGlzW2NzXSgpW2lzXSgpLmF0KC0xKT09PXRoaXM/c3VwZXJbSHNdKCk6c3VwZXJbSHNdKCkrIlxuIn19Y2xhc3MgU3BhbiBleHRlbmRzIFhodG1sT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUsInNwYW4iKX19Y2xhc3MgU3ViIGV4dGVuZHMgWGh0bWxPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSwic3ViIil9fWNsYXNzIFN1cCBleHRlbmRzIFhodG1sT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUsInN1cCIpfX1jbGFzcyBVbCBleHRlbmRzIFhodG1sT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUsInVsIil9fWNsYXNzIFhodG1sTmFtZXNwYWNle3N0YXRpY1tLc10oZSx0KXtpZihYaHRtbE5hbWVzcGFjZS5oYXNPd25Qcm9wZXJ0eShlKSlyZXR1cm4gWGh0bWxOYW1lc3BhY2VbZV0odCl9c3RhdGljIGEoZSl7cmV0dXJuIG5ldyBBKGUpfXN0YXRpYyBiKGUpe3JldHVybiBuZXcgQihlKX1zdGF0aWMgYm9keShlKXtyZXR1cm4gbmV3IEJvZHkoZSl9c3RhdGljIGJyKGUpe3JldHVybiBuZXcgQnIoZSl9c3RhdGljIGh0bWwoZSl7cmV0dXJuIG5ldyBIdG1sKGUpfXN0YXRpYyBpKGUpe3JldHVybiBuZXcgSShlKX1zdGF0aWMgbGkoZSl7cmV0dXJuIG5ldyBMaShlKX1zdGF0aWMgb2woZSl7cmV0dXJuIG5ldyBPbChlKX1zdGF0aWMgcChlKXtyZXR1cm4gbmV3IFAoZSl9c3RhdGljIHNwYW4oZSl7cmV0dXJuIG5ldyBTcGFuKGUpfXN0YXRpYyBzdWIoZSl7cmV0dXJuIG5ldyBTdWIoZSl9c3RhdGljIHN1cChlKXtyZXR1cm4gbmV3IFN1cChlKX1zdGF0aWMgdWwoZSl7cmV0dXJuIG5ldyBVbChlKX19Y29uc3QgWW89e2NvbmZpZzpDb25maWdOYW1lc3BhY2UsY29ubmVjdGlvbjpDb25uZWN0aW9uU2V0TmFtZXNwYWNlLGRhdGFzZXRzOkRhdGFzZXRzTmFtZXNwYWNlLGxvY2FsZVNldDpMb2NhbGVTZXROYW1lc3BhY2Usc2lnbmF0dXJlOlNpZ25hdHVyZU5hbWVzcGFjZSxzdHlsZXNoZWV0OlN0eWxlc2hlZXROYW1lc3BhY2UsdGVtcGxhdGU6VGVtcGxhdGVOYW1lc3BhY2UseGRwOlhkcE5hbWVzcGFjZSx4aHRtbDpYaHRtbE5hbWVzcGFjZX07Y2xhc3MgVW5rbm93bk5hbWVzcGFjZXtjb25zdHJ1Y3RvcihlKXt0aGlzLm5hbWVzcGFjZUlkPWV9W0tzXShlLHQpe3JldHVybiBuZXcgWG1sT2JqZWN0KHRoaXMubmFtZXNwYWNlSWQsZSx0KX19Y2xhc3MgUm9vdCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcigtMSwicm9vdCIsT2JqZWN0LmNyZWF0ZShudWxsKSk7dGhpcy5lbGVtZW50PW51bGw7dGhpc1tkc109ZX1bVHNdKGUpe3RoaXMuZWxlbWVudD1lO3JldHVybiEwfVtHbl0oKXtzdXBlcltHbl0oKTtpZih0aGlzLmVsZW1lbnQudGVtcGxhdGUgaW5zdGFuY2VvZiBUZW1wbGF0ZSl7dGhpc1tkc10uc2V0KEVzLHRoaXMuZWxlbWVudCk7dGhpcy5lbGVtZW50LnRlbXBsYXRlW0xzXSh0aGlzW2RzXSk7dGhpcy5lbGVtZW50LnRlbXBsYXRlW2RzXT10aGlzW2RzXX19fWNsYXNzIEVtcHR5IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKCl7c3VwZXIoLTEsIiIsT2JqZWN0LmNyZWF0ZShudWxsKSl9W1RzXShlKXtyZXR1cm4hMX19Y2xhc3MgQnVpbGRlcntjb25zdHJ1Y3RvcihlPW51bGwpe3RoaXMuX25hbWVzcGFjZVN0YWNrPVtdO3RoaXMuX25zQWdub3N0aWNMZXZlbD0wO3RoaXMuX25hbWVzcGFjZVByZWZpeGVzPW5ldyBNYXA7dGhpcy5fbmFtZXNwYWNlcz1uZXcgTWFwO3RoaXMuX25leHROc0lkPU1hdGgubWF4KC4uLk9iamVjdC52YWx1ZXMoSnMpLm1hcCgoKHtpZDplfSk9PmUpKSk7dGhpcy5fY3VycmVudE5hbWVzcGFjZT1lfHxuZXcgVW5rbm93bk5hbWVzcGFjZSgrK3RoaXMuX25leHROc0lkKX1idWlsZFJvb3QoZSl7cmV0dXJuIG5ldyBSb290KGUpfWJ1aWxkKHtuc1ByZWZpeDplLG5hbWU6dCxhdHRyaWJ1dGVzOmEsbmFtZXNwYWNlOnIscHJlZml4ZXM6aX0pe2NvbnN0IG49bnVsbCE9PXI7aWYobil7dGhpcy5fbmFtZXNwYWNlU3RhY2sucHVzaCh0aGlzLl9jdXJyZW50TmFtZXNwYWNlKTt0aGlzLl9jdXJyZW50TmFtZXNwYWNlPXRoaXMuX3NlYXJjaE5hbWVzcGFjZShyKX1pJiZ0aGlzLl9hZGROYW1lc3BhY2VQcmVmaXgoaSk7aWYoYS5oYXNPd25Qcm9wZXJ0eShJcykpe2NvbnN0IGU9WW8uZGF0YXNldHMsdD1hW0lzXTtsZXQgcj1udWxsO2Zvcihjb25zdFthLGldb2YgT2JqZWN0LmVudHJpZXModCkpe2lmKHRoaXMuX2dldE5hbWVzcGFjZVRvVXNlKGEpPT09ZSl7cj17eGZhOml9O2JyZWFrfX1yP2FbSXNdPXI6ZGVsZXRlIGFbSXNdfWNvbnN0IHM9dGhpcy5fZ2V0TmFtZXNwYWNlVG9Vc2UoZSksbz1zPy5bS3NdKHQsYSl8fG5ldyBFbXB0eTtvW3dzXSgpJiZ0aGlzLl9uc0Fnbm9zdGljTGV2ZWwrKzsobnx8aXx8b1t3c10oKSkmJihvW1VuXT17aGFzTmFtZXNwYWNlOm4scHJlZml4ZXM6aSxuc0Fnbm9zdGljOm9bd3NdKCl9KTtyZXR1cm4gb31pc05zQWdub3N0aWMoKXtyZXR1cm4gdGhpcy5fbnNBZ25vc3RpY0xldmVsPjB9X3NlYXJjaE5hbWVzcGFjZShlKXtsZXQgdD10aGlzLl9uYW1lc3BhY2VzLmdldChlKTtpZih0KXJldHVybiB0O2Zvcihjb25zdFthLHtjaGVjazpyfV1vZiBPYmplY3QuZW50cmllcyhKcykpaWYocihlKSl7dD1Zb1thXTtpZih0KXt0aGlzLl9uYW1lc3BhY2VzLnNldChlLHQpO3JldHVybiB0fWJyZWFrfXQ9bmV3IFVua25vd25OYW1lc3BhY2UoKyt0aGlzLl9uZXh0TnNJZCk7dGhpcy5fbmFtZXNwYWNlcy5zZXQoZSx0KTtyZXR1cm4gdH1fYWRkTmFtZXNwYWNlUHJlZml4KGUpe2Zvcihjb25zdHtwcmVmaXg6dCx2YWx1ZTphfW9mIGUpe2NvbnN0IGU9dGhpcy5fc2VhcmNoTmFtZXNwYWNlKGEpO2xldCByPXRoaXMuX25hbWVzcGFjZVByZWZpeGVzLmdldCh0KTtpZighcil7cj1bXTt0aGlzLl9uYW1lc3BhY2VQcmVmaXhlcy5zZXQodCxyKX1yLnB1c2goZSl9fV9nZXROYW1lc3BhY2VUb1VzZShlKXtpZighZSlyZXR1cm4gdGhpcy5fY3VycmVudE5hbWVzcGFjZTtjb25zdCB0PXRoaXMuX25hbWVzcGFjZVByZWZpeGVzLmdldChlKTtpZih0Py5sZW5ndGg+MClyZXR1cm4gdC5hdCgtMSk7d2FybihgVW5rbm93biBuYW1lc3BhY2UgcHJlZml4OiAke2V9LmApO3JldHVybiBudWxsfWNsZWFuKGUpe2NvbnN0e2hhc05hbWVzcGFjZTp0LHByZWZpeGVzOmEsbnNBZ25vc3RpYzpyfT1lO3QmJih0aGlzLl9jdXJyZW50TmFtZXNwYWNlPXRoaXMuX25hbWVzcGFjZVN0YWNrLnBvcCgpKTthJiZhLmZvckVhY2goKCh7cHJlZml4OmV9KT0+e3RoaXMuX25hbWVzcGFjZVByZWZpeGVzLmdldChlKS5wb3AoKX0pKTtyJiZ0aGlzLl9uc0Fnbm9zdGljTGV2ZWwtLX19Y2xhc3MgWEZBUGFyc2VyIGV4dGVuZHMgWE1MUGFyc2VyQmFzZXtjb25zdHJ1Y3RvcihlPW51bGwsdD0hMSl7c3VwZXIoKTt0aGlzLl9idWlsZGVyPW5ldyBCdWlsZGVyKGUpO3RoaXMuX3N0YWNrPVtdO3RoaXMuX2dsb2JhbERhdGE9e3VzZWRUeXBlZmFjZXM6bmV3IFNldH07dGhpcy5faWRzPW5ldyBNYXA7dGhpcy5fY3VycmVudD10aGlzLl9idWlsZGVyLmJ1aWxkUm9vdCh0aGlzLl9pZHMpO3RoaXMuX2Vycm9yQ29kZT1Tbjt0aGlzLl93aGl0ZVJlZ2V4PS9eXHMrJC87dGhpcy5fbmJzcHM9L1x4YTArL2c7dGhpcy5fcmljaFRleHQ9dH1wYXJzZShlKXt0aGlzLnBhcnNlWG1sKGUpO2lmKHRoaXMuX2Vycm9yQ29kZT09PVNuKXt0aGlzLl9jdXJyZW50W0duXSgpO3JldHVybiB0aGlzLl9jdXJyZW50LmVsZW1lbnR9fW9uVGV4dChlKXtlPWUucmVwbGFjZSh0aGlzLl9uYnNwcywoZT0+ZS5zbGljZSgxKSsiICIpKTt0aGlzLl9yaWNoVGV4dHx8dGhpcy5fY3VycmVudFtObl0oKT90aGlzLl9jdXJyZW50W01zXShlLHRoaXMuX3JpY2hUZXh0KTp0aGlzLl93aGl0ZVJlZ2V4LnRlc3QoZSl8fHRoaXMuX2N1cnJlbnRbTXNdKGUudHJpbSgpKX1vbkNkYXRhKGUpe3RoaXMuX2N1cnJlbnRbTXNdKGUpfV9ta0F0dHJpYnV0ZXMoZSx0KXtsZXQgYT1udWxsLHI9bnVsbDtjb25zdCBpPU9iamVjdC5jcmVhdGUoe30pO2Zvcihjb25zdHtuYW1lOm4sdmFsdWU6c31vZiBlKWlmKCJ4bWxucyI9PT1uKWE/d2FybihgWEZBIC0gbXVsdGlwbGUgbmFtZXNwYWNlIGRlZmluaXRpb24gaW4gPCR7dH0+YCk6YT1zO2Vsc2UgaWYobi5zdGFydHNXaXRoKCJ4bWxuczoiKSl7Y29uc3QgZT1uLnN1YnN0cmluZyg2KTtyPz89W107ci5wdXNoKHtwcmVmaXg6ZSx2YWx1ZTpzfSl9ZWxzZXtjb25zdCBlPW4uaW5kZXhPZigiOiIpO2lmKC0xPT09ZSlpW25dPXM7ZWxzZXtjb25zdCB0PWlbSXNdPz89T2JqZWN0LmNyZWF0ZShudWxsKSxbYSxyXT1bbi5zbGljZSgwLGUpLG4uc2xpY2UoZSsxKV07KHRbYV18fD1PYmplY3QuY3JlYXRlKG51bGwpKVtyXT1zfX1yZXR1cm5bYSxyLGldfV9nZXROYW1lQW5kUHJlZml4KGUsdCl7Y29uc3QgYT1lLmluZGV4T2YoIjoiKTtyZXR1cm4tMT09PWE/W2UsbnVsbF06W2Uuc3Vic3RyaW5nKGErMSksdD8iIjplLnN1YnN0cmluZygwLGEpXX1vbkJlZ2luRWxlbWVudChlLHQsYSl7Y29uc3RbcixpLG5dPXRoaXMuX21rQXR0cmlidXRlcyh0LGUpLFtzLG9dPXRoaXMuX2dldE5hbWVBbmRQcmVmaXgoZSx0aGlzLl9idWlsZGVyLmlzTnNBZ25vc3RpYygpKSxjPXRoaXMuX2J1aWxkZXIuYnVpbGQoe25zUHJlZml4Om8sbmFtZTpzLGF0dHJpYnV0ZXM6bixuYW1lc3BhY2U6cixwcmVmaXhlczppfSk7Y1toc109dGhpcy5fZ2xvYmFsRGF0YTtpZihhKXtjW0duXSgpO3RoaXMuX2N1cnJlbnRbVHNdKGMpJiZjW19zXSh0aGlzLl9pZHMpO2Nbam5dKHRoaXMuX2J1aWxkZXIpfWVsc2V7dGhpcy5fc3RhY2sucHVzaCh0aGlzLl9jdXJyZW50KTt0aGlzLl9jdXJyZW50PWN9fW9uRW5kRWxlbWVudChlKXtjb25zdCB0PXRoaXMuX2N1cnJlbnQ7aWYodFtwc10oKSYmInN0cmluZyI9PXR5cGVvZiB0W0huXSl7Y29uc3QgZT1uZXcgWEZBUGFyc2VyO2UuX2dsb2JhbERhdGE9dGhpcy5fZ2xvYmFsRGF0YTtjb25zdCBhPWUucGFyc2UodFtIbl0pO3RbSG5dPW51bGw7dFtUc10oYSl9dFtHbl0oKTt0aGlzLl9jdXJyZW50PXRoaXMuX3N0YWNrLnBvcCgpO3RoaXMuX2N1cnJlbnRbVHNdKHQpJiZ0W19zXSh0aGlzLl9pZHMpO3Rbam5dKHRoaXMuX2J1aWxkZXIpfW9uRXJyb3IoZSl7dGhpcy5fZXJyb3JDb2RlPWV9fWNsYXNzIFhGQUZhY3Rvcnl7Y29uc3RydWN0b3IoZSl7dHJ5e3RoaXMucm9vdD0obmV3IFhGQVBhcnNlcikucGFyc2UoWEZBRmFjdG9yeS5fY3JlYXRlRG9jdW1lbnQoZSkpO2NvbnN0IHQ9bmV3IEJpbmRlcih0aGlzLnJvb3QpO3RoaXMuZm9ybT10LmJpbmQoKTt0aGlzLmRhdGFIYW5kbGVyPW5ldyBEYXRhSGFuZGxlcih0aGlzLnJvb3QsdC5nZXREYXRhKCkpO3RoaXMuZm9ybVtoc10udGVtcGxhdGU9dGhpcy5mb3JtfWNhdGNoKGUpe3dhcm4oYFhGQSAtIGFuIGVycm9yIG9jY3VycmVkIGR1cmluZyBwYXJzaW5nIGFuZCBiaW5kaW5nOiAke2V9YCl9fWlzVmFsaWQoKXtyZXR1cm4hKCF0aGlzLnJvb3R8fCF0aGlzLmZvcm0pfV9jcmVhdGVQYWdlc0hlbHBlcigpe2NvbnN0IGU9dGhpcy5mb3JtW1dzXSgpO3JldHVybiBuZXcgUHJvbWlzZSgoKHQsYSk9Pntjb25zdCBuZXh0SXRlcmF0aW9uPSgpPT57dHJ5e2NvbnN0IGE9ZS5uZXh0KCk7YS5kb25lP3QoYS52YWx1ZSk6c2V0VGltZW91dChuZXh0SXRlcmF0aW9uLDApfWNhdGNoKGUpe2EoZSl9fTtzZXRUaW1lb3V0KG5leHRJdGVyYXRpb24sMCl9KSl9YXN5bmMgX2NyZWF0ZVBhZ2VzKCl7dHJ5e3RoaXMucGFnZXM9YXdhaXQgdGhpcy5fY3JlYXRlUGFnZXNIZWxwZXIoKTt0aGlzLmRpbXM9dGhpcy5wYWdlcy5jaGlsZHJlbi5tYXAoKGU9Pntjb25zdHt3aWR0aDp0LGhlaWdodDphfT1lLmF0dHJpYnV0ZXMuc3R5bGU7cmV0dXJuWzAsMCxwYXJzZUludCh0KSxwYXJzZUludChhKV19KSl9Y2F0Y2goZSl7d2FybihgWEZBIC0gYW4gZXJyb3Igb2NjdXJyZWQgZHVyaW5nIGxheW91dDogJHtlfWApfX1nZXRCb3VuZGluZ0JveChlKXtyZXR1cm4gdGhpcy5kaW1zW2VdfWFzeW5jIGdldE51bVBhZ2VzKCl7dGhpcy5wYWdlc3x8YXdhaXQgdGhpcy5fY3JlYXRlUGFnZXMoKTtyZXR1cm4gdGhpcy5kaW1zLmxlbmd0aH1zZXRJbWFnZXMoZSl7dGhpcy5mb3JtW2hzXS5pbWFnZXM9ZX1zZXRGb250cyhlKXt0aGlzLmZvcm1baHNdLmZvbnRGaW5kZXI9bmV3IEZvbnRGaW5kZXIoZSk7Y29uc3QgdD1bXTtmb3IobGV0IGUgb2YgdGhpcy5mb3JtW2hzXS51c2VkVHlwZWZhY2VzKXtlPXN0cmlwUXVvdGVzKGUpO3RoaXMuZm9ybVtoc10uZm9udEZpbmRlci5maW5kKGUpfHx0LnB1c2goZSl9cmV0dXJuIHQubGVuZ3RoPjA/dDpudWxsfWFwcGVuZEZvbnRzKGUsdCl7dGhpcy5mb3JtW2hzXS5mb250RmluZGVyLmFkZChlLHQpfWFzeW5jIGdldFBhZ2VzKCl7dGhpcy5wYWdlc3x8YXdhaXQgdGhpcy5fY3JlYXRlUGFnZXMoKTtjb25zdCBlPXRoaXMucGFnZXM7dGhpcy5wYWdlcz1udWxsO3JldHVybiBlfXNlcmlhbGl6ZURhdGEoZSl7cmV0dXJuIHRoaXMuZGF0YUhhbmRsZXIuc2VyaWFsaXplKGUpfXN0YXRpYyBfY3JlYXRlRG9jdW1lbnQoZSl7cmV0dXJuIGVbIi94ZHA6eGRwIl0/T2JqZWN0LnZhbHVlcyhlKS5qb2luKCIiKTplWyJ4ZHA6eGRwIl19c3RhdGljIGdldFJpY2hUZXh0QXNIdG1sKGUpe2lmKCFlfHwic3RyaW5nIiE9dHlwZW9mIGUpcmV0dXJuIG51bGw7dHJ5e2xldCB0PW5ldyBYRkFQYXJzZXIoWGh0bWxOYW1lc3BhY2UsITApLnBhcnNlKGUpO2lmKCFbImJvZHkiLCJ4aHRtbCJdLmluY2x1ZGVzKHRbRnNdKSl7Y29uc3QgZT1YaHRtbE5hbWVzcGFjZS5ib2R5KHt9KTtlW1BuXSh0KTt0PWV9Y29uc3QgYT10W3pzXSgpO2lmKCFhLnN1Y2Nlc3MpcmV0dXJuIG51bGw7Y29uc3R7aHRtbDpyfT1hLHthdHRyaWJ1dGVzOml9PXI7aWYoaSl7aS5jbGFzcyYmKGkuY2xhc3M9aS5jbGFzcy5maWx0ZXIoKGU9PiFlLnN0YXJ0c1dpdGgoInhmYSIpKSkpO2kuZGlyPSJhdXRvIn1yZXR1cm57aHRtbDpyLHN0cjp0W0hzXSgpfX1jYXRjaChlKXt3YXJuKGBYRkEgLSBhbiBlcnJvciBvY2N1cnJlZCBkdXJpbmcgcGFyc2luZyBvZiByaWNoIHRleHQ6ICR7ZX1gKX1yZXR1cm4gbnVsbH19Y2xhc3MgQW5ub3RhdGlvbkZhY3Rvcnl7c3RhdGljIGNyZWF0ZUdsb2JhbHMoZSl7cmV0dXJuIFByb21pc2UuYWxsKFtlLmVuc3VyZUNhdGFsb2coImFjcm9Gb3JtIiksZS5lbnN1cmVEb2MoInhmYURhdGFzZXRzIiksZS5lbnN1cmVDYXRhbG9nKCJzdHJ1Y3RUcmVlUm9vdCIpLGUuZW5zdXJlQ2F0YWxvZygiYmFzZVVybCIpLGUuZW5zdXJlQ2F0YWxvZygiYXR0YWNobWVudHMiKSxlLmVuc3VyZUNhdGFsb2coImdsb2JhbENvbG9yU3BhY2VDYWNoZSIpXSkudGhlbigoKFt0LGEscixpLG4sc10pPT4oe3BkZk1hbmFnZXI6ZSxhY3JvRm9ybTp0IGluc3RhbmNlb2YgRGljdD90OkRpY3QuZW1wdHkseGZhRGF0YXNldHM6YSxzdHJ1Y3RUcmVlUm9vdDpyLGJhc2VVcmw6aSxhdHRhY2htZW50czpuLGdsb2JhbENvbG9yU3BhY2VDYWNoZTpzfSkpLChlPT57d2FybihgY3JlYXRlR2xvYmFsczogIiR7ZX0iLmApO3JldHVybiBudWxsfSkpfXN0YXRpYyBhc3luYyBjcmVhdGUoZSx0LGEscixpLG4scyxvKXtjb25zdCBjPWk/YXdhaXQgdGhpcy5fZ2V0UGFnZUluZGV4KGUsdCxhLnBkZk1hbmFnZXIpOm51bGw7cmV0dXJuIGEucGRmTWFuYWdlci5lbnN1cmUodGhpcywiX2NyZWF0ZSIsW2UsdCxhLHIsaSxuLHMsYyxvXSl9c3RhdGljIF9jcmVhdGUoZSx0LGEscixpPSExLG49bnVsbCxzPW51bGwsbz1udWxsLGM9bnVsbCl7Y29uc3QgbD1lLmZldGNoSWZSZWYodCk7aWYoIShsIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuO2xldCBoPWwuZ2V0KCJTdWJ0eXBlIik7aD1oIGluc3RhbmNlb2YgTmFtZT9oLm5hbWU6bnVsbDtpZihzJiYhcy5oYXMoRltoLnRvVXBwZXJDYXNlKCldKSlyZXR1cm4gbnVsbDtjb25zdHthY3JvRm9ybTp1LHBkZk1hbmFnZXI6ZH09YSxmPXQgaW5zdGFuY2VvZiBSZWY/dC50b1N0cmluZygpOmBhbm5vdF8ke3IuY3JlYXRlT2JqSWQoKX1gLGc9e3hyZWY6ZSxyZWY6dCxkaWN0Omwsc3VidHlwZTpoLGlkOmYsYW5ub3RhdGlvbkdsb2JhbHM6YSxjb2xsZWN0RmllbGRzOmksb3JwaGFuRmllbGRzOm4sbmVlZEFwcGVhcmFuY2VzOiFpJiYhMD09PXUuZ2V0KCJOZWVkQXBwZWFyYW5jZXMiKSxwYWdlSW5kZXg6byxldmFsdWF0b3JPcHRpb25zOmQuZXZhbHVhdG9yT3B0aW9ucyxwYWdlUmVmOmN9O3N3aXRjaChoKXtjYXNlIkxpbmsiOnJldHVybiBuZXcgTGlua0Fubm90YXRpb24oZyk7Y2FzZSJUZXh0IjpyZXR1cm4gbmV3IFRleHRBbm5vdGF0aW9uKGcpO2Nhc2UiV2lkZ2V0IjpsZXQgZT1nZXRJbmhlcml0YWJsZVByb3BlcnR5KHtkaWN0Omwsa2V5OiJGVCJ9KTtlPWUgaW5zdGFuY2VvZiBOYW1lP2UubmFtZTpudWxsO3N3aXRjaChlKXtjYXNlIlR4IjpyZXR1cm4gbmV3IFRleHRXaWRnZXRBbm5vdGF0aW9uKGcpO2Nhc2UiQnRuIjpyZXR1cm4gbmV3IEJ1dHRvbldpZGdldEFubm90YXRpb24oZyk7Y2FzZSJDaCI6cmV0dXJuIG5ldyBDaG9pY2VXaWRnZXRBbm5vdGF0aW9uKGcpO2Nhc2UiU2lnIjpyZXR1cm4gbmV3IFNpZ25hdHVyZVdpZGdldEFubm90YXRpb24oZyl9d2FybihgVW5pbXBsZW1lbnRlZCB3aWRnZXQgZmllbGQgdHlwZSAiJHtlfSIsIGZhbGxpbmcgYmFjayB0byBiYXNlIGZpZWxkIHR5cGUuYCk7cmV0dXJuIG5ldyBXaWRnZXRBbm5vdGF0aW9uKGcpO2Nhc2UiUG9wdXAiOnJldHVybiBuZXcgUG9wdXBBbm5vdGF0aW9uKGcpO2Nhc2UiRnJlZVRleHQiOnJldHVybiBuZXcgRnJlZVRleHRBbm5vdGF0aW9uKGcpO2Nhc2UiTGluZSI6cmV0dXJuIG5ldyBMaW5lQW5ub3RhdGlvbihnKTtjYXNlIlNxdWFyZSI6cmV0dXJuIG5ldyBTcXVhcmVBbm5vdGF0aW9uKGcpO2Nhc2UiQ2lyY2xlIjpyZXR1cm4gbmV3IENpcmNsZUFubm90YXRpb24oZyk7Y2FzZSJQb2x5TGluZSI6cmV0dXJuIG5ldyBQb2x5bGluZUFubm90YXRpb24oZyk7Y2FzZSJQb2x5Z29uIjpyZXR1cm4gbmV3IFBvbHlnb25Bbm5vdGF0aW9uKGcpO2Nhc2UiQ2FyZXQiOnJldHVybiBuZXcgQ2FyZXRBbm5vdGF0aW9uKGcpO2Nhc2UiSW5rIjpyZXR1cm4gbmV3IElua0Fubm90YXRpb24oZyk7Y2FzZSJIaWdobGlnaHQiOnJldHVybiBuZXcgSGlnaGxpZ2h0QW5ub3RhdGlvbihnKTtjYXNlIlVuZGVybGluZSI6cmV0dXJuIG5ldyBVbmRlcmxpbmVBbm5vdGF0aW9uKGcpO2Nhc2UiU3F1aWdnbHkiOnJldHVybiBuZXcgU3F1aWdnbHlBbm5vdGF0aW9uKGcpO2Nhc2UiU3RyaWtlT3V0IjpyZXR1cm4gbmV3IFN0cmlrZU91dEFubm90YXRpb24oZyk7Y2FzZSJTdGFtcCI6cmV0dXJuIG5ldyBTdGFtcEFubm90YXRpb24oZyk7Y2FzZSJGaWxlQXR0YWNobWVudCI6cmV0dXJuIG5ldyBGaWxlQXR0YWNobWVudEFubm90YXRpb24oZyk7ZGVmYXVsdDppfHx3YXJuKGg/YFVuaW1wbGVtZW50ZWQgYW5ub3RhdGlvbiB0eXBlICIke2h9IiwgZmFsbGluZyBiYWNrIHRvIGJhc2UgYW5ub3RhdGlvbi5gOiJBbm5vdGF0aW9uIGlzIG1pc3NpbmcgdGhlIHJlcXVpcmVkIC9TdWJ0eXBlLiIpO3JldHVybiBuZXcgQW5ub3RhdGlvbihnKX19c3RhdGljIGFzeW5jIF9nZXRQYWdlSW5kZXgoZSx0LGEpe3RyeXtjb25zdCByPWF3YWl0IGUuZmV0Y2hJZlJlZkFzeW5jKHQpO2lmKCEociBpbnN0YW5jZW9mIERpY3QpKXJldHVybi0xO2NvbnN0IGk9ci5nZXRSYXcoIlAiKTtpZihpIGluc3RhbmNlb2YgUmVmKXRyeXtyZXR1cm4gYXdhaXQgYS5lbnN1cmVDYXRhbG9nKCJnZXRQYWdlSW5kZXgiLFtpXSl9Y2F0Y2goZSl7aW5mbyhgX2dldFBhZ2VJbmRleCAtLSBub3QgYSB2YWxpZCBwYWdlIHJlZmVyZW5jZTogIiR7ZX0iLmApfWlmKHIuaGFzKCJLaWRzIikpcmV0dXJuLTE7Y29uc3Qgbj1hd2FpdCBhLmVuc3VyZURvYygibnVtUGFnZXMiKTtmb3IobGV0IGU9MDtlPG47ZSsrKXtjb25zdCByPWF3YWl0IGEuZ2V0UGFnZShlKSxpPWF3YWl0IGEuZW5zdXJlKHIsImFubm90YXRpb25zIik7Zm9yKGNvbnN0IGEgb2YgaSlpZihhIGluc3RhbmNlb2YgUmVmJiZpc1JlZnNFcXVhbChhLHQpKXJldHVybiBlfX1jYXRjaChlKXt3YXJuKGBfZ2V0UGFnZUluZGV4OiAiJHtlfSIuYCl9cmV0dXJuLTF9c3RhdGljIGdlbmVyYXRlSW1hZ2VzKGUsdCxhKXtpZighYSl7d2FybigiZ2VuZXJhdGVJbWFnZXM6IE9mZnNjcmVlbkNhbnZhcyBpcyBub3Qgc3VwcG9ydGVkLCBjYW5ub3Qgc2F2ZSBvciBwcmludCBzb21lIGFubm90YXRpb25zIHdpdGggaW1hZ2VzLiIpO3JldHVybiBudWxsfWxldCByO2Zvcihjb25zdHtiaXRtYXBJZDphLGJpdG1hcDppfW9mIGUpaWYoaSl7cnx8PW5ldyBNYXA7ci5zZXQoYSxTdGFtcEFubm90YXRpb24uY3JlYXRlSW1hZ2UoaSx0KSl9cmV0dXJuIHJ9c3RhdGljIGFzeW5jIHNhdmVOZXdBbm5vdGF0aW9ucyhlLHQsYSxyLGkpe2NvbnN0IG49ZS54cmVmO2xldCBzO2NvbnN0IG89W10se2lzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkOmN9PWUub3B0aW9ucztmb3IoY29uc3QgbCBvZiBhKWlmKCFsLmRlbGV0ZWQpc3dpdGNoKGwuYW5ub3RhdGlvblR5cGUpe2Nhc2UgZzppZighcyl7Y29uc3QgZT1uZXcgRGljdChuKTtlLnNldElmTmFtZSgiQmFzZUZvbnQiLCJIZWx2ZXRpY2EiKTtlLnNldElmTmFtZSgiVHlwZSIsIkZvbnQiKTtlLnNldElmTmFtZSgiU3VidHlwZSIsIlR5cGUxIik7ZS5zZXRJZk5hbWUoIkVuY29kaW5nIiwiV2luQW5zaUVuY29kaW5nIik7cz1uLmdldE5ld1RlbXBvcmFyeVJlZigpO2kucHV0KHMse2RhdGE6ZX0pfW8ucHVzaChGcmVlVGV4dEFubm90YXRpb24uY3JlYXRlTmV3QW5ub3RhdGlvbihuLGwsaSx7ZXZhbHVhdG9yOmUsdGFzazp0LGJhc2VGb250UmVmOnN9KSk7YnJlYWs7Y2FzZSBwOmwucXVhZFBvaW50cz9vLnB1c2goSGlnaGxpZ2h0QW5ub3RhdGlvbi5jcmVhdGVOZXdBbm5vdGF0aW9uKG4sbCxpKSk6by5wdXNoKElua0Fubm90YXRpb24uY3JlYXRlTmV3QW5ub3RhdGlvbihuLGwsaSkpO2JyZWFrO2Nhc2UgYjpvLnB1c2goSW5rQW5ub3RhdGlvbi5jcmVhdGVOZXdBbm5vdGF0aW9uKG4sbCxpKSk7YnJlYWs7Y2FzZSBtOmNvbnN0IGE9Yz9hd2FpdChyPy5nZXQobC5iaXRtYXBJZCkpOm51bGw7aWYoYT8uaW1hZ2VTdHJlYW0pe2NvbnN0e2ltYWdlU3RyZWFtOmUsc21hc2tTdHJlYW06dH09YTtpZih0KXtjb25zdCBhPW4uZ2V0TmV3VGVtcG9yYXJ5UmVmKCk7aS5wdXQoYSx7ZGF0YTp0fSk7ZS5kaWN0LnNldCgiU01hc2siLGEpfWNvbnN0IHI9YS5pbWFnZVJlZj1uLmdldE5ld1RlbXBvcmFyeVJlZigpO2kucHV0KHIse2RhdGE6ZX0pO2EuaW1hZ2VTdHJlYW09YS5zbWFza1N0cmVhbT1udWxsfW8ucHVzaChTdGFtcEFubm90YXRpb24uY3JlYXRlTmV3QW5ub3RhdGlvbihuLGwsaSx7aW1hZ2U6YX0pKTticmVhaztjYXNlIHk6by5wdXNoKFN0YW1wQW5ub3RhdGlvbi5jcmVhdGVOZXdBbm5vdGF0aW9uKG4sbCxpLHt9KSl9cmV0dXJue2Fubm90YXRpb25zOihhd2FpdCBQcm9taXNlLmFsbChvKSkuZmxhdCgpfX1zdGF0aWMgYXN5bmMgcHJpbnROZXdBbm5vdGF0aW9ucyhlLHQsYSxyLGkpe2lmKCFyKXJldHVybiBudWxsO2NvbnN0e29wdGlvbnM6bix4cmVmOnN9PXQsbz1bXTtmb3IoY29uc3QgYyBvZiByKWlmKCFjLmRlbGV0ZWQpc3dpdGNoKGMuYW5ub3RhdGlvblR5cGUpe2Nhc2UgZzpvLnB1c2goRnJlZVRleHRBbm5vdGF0aW9uLmNyZWF0ZU5ld1ByaW50QW5ub3RhdGlvbihlLHMsYyx7ZXZhbHVhdG9yOnQsdGFzazphLGV2YWx1YXRvck9wdGlvbnM6bn0pKTticmVhaztjYXNlIHA6Yy5xdWFkUG9pbnRzP28ucHVzaChIaWdobGlnaHRBbm5vdGF0aW9uLmNyZWF0ZU5ld1ByaW50QW5ub3RhdGlvbihlLHMsYyx7ZXZhbHVhdG9yT3B0aW9uczpufSkpOm8ucHVzaChJbmtBbm5vdGF0aW9uLmNyZWF0ZU5ld1ByaW50QW5ub3RhdGlvbihlLHMsYyx7ZXZhbHVhdG9yT3B0aW9uczpufSkpO2JyZWFrO2Nhc2UgYjpvLnB1c2goSW5rQW5ub3RhdGlvbi5jcmVhdGVOZXdQcmludEFubm90YXRpb24oZSxzLGMse2V2YWx1YXRvck9wdGlvbnM6bn0pKTticmVhaztjYXNlIG06Y29uc3Qgcj1uLmlzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkP2F3YWl0KGk/LmdldChjLmJpdG1hcElkKSk6bnVsbDtpZihyPy5pbWFnZVN0cmVhbSl7Y29uc3R7aW1hZ2VTdHJlYW06ZSxzbWFza1N0cmVhbTp0fT1yO3QmJmUuZGljdC5zZXQoIlNNYXNrIix0KTtyLmltYWdlUmVmPW5ldyBKcGVnU3RyZWFtKGUsZS5sZW5ndGgpO3IuaW1hZ2VTdHJlYW09ci5zbWFza1N0cmVhbT1udWxsfW8ucHVzaChTdGFtcEFubm90YXRpb24uY3JlYXRlTmV3UHJpbnRBbm5vdGF0aW9uKGUscyxjLHtpbWFnZTpyLGV2YWx1YXRvck9wdGlvbnM6bn0pKTticmVhaztjYXNlIHk6by5wdXNoKFN0YW1wQW5ub3RhdGlvbi5jcmVhdGVOZXdQcmludEFubm90YXRpb24oZSxzLGMse2V2YWx1YXRvck9wdGlvbnM6bn0pKX1yZXR1cm4gUHJvbWlzZS5hbGwobyl9fWZ1bmN0aW9uIGdldFJnYkNvbG9yKGUsdD1uZXcgVWludDhDbGFtcGVkQXJyYXkoMykpe2lmKCFBcnJheS5pc0FycmF5KGUpKXJldHVybiB0O2NvbnN0IGE9dHx8bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KDMpO3N3aXRjaChlLmxlbmd0aCl7Y2FzZSAwOnJldHVybiBudWxsO2Nhc2UgMTpDb2xvclNwYWNlVXRpbHMuZ3JheS5nZXRSZ2JJdGVtKGUsMCxhLDApO3JldHVybiBhO2Nhc2UgMzpDb2xvclNwYWNlVXRpbHMucmdiLmdldFJnYkl0ZW0oZSwwLGEsMCk7cmV0dXJuIGE7Y2FzZSA0OkNvbG9yU3BhY2VVdGlscy5jbXlrLmdldFJnYkl0ZW0oZSwwLGEsMCk7cmV0dXJuIGE7ZGVmYXVsdDpyZXR1cm4gdH19ZnVuY3Rpb24gZ2V0UGRmQ29sb3JBcnJheShlLHQ9bnVsbCl7cmV0dXJuIGUmJkFycmF5LmZyb20oZSwoZT0+ZS8yNTUpKXx8dH1mdW5jdGlvbiBnZXRRdWFkUG9pbnRzKGUsdCl7Y29uc3QgYT1lLmdldEFycmF5KCJRdWFkUG9pbnRzIik7aWYoIWlzTnVtYmVyQXJyYXkoYSxudWxsKXx8MD09PWEubGVuZ3RofHxhLmxlbmd0aCU4PjApcmV0dXJuIG51bGw7Y29uc3Qgcj1uZXcgRmxvYXQzMkFycmF5KGEubGVuZ3RoKTtmb3IobGV0IGU9MCxpPWEubGVuZ3RoO2U8aTtlKz04KXtjb25zdFtpLG4scyxvLGMsbCxoLHVdPWEuc2xpY2UoZSxlKzgpLGQ9TWF0aC5taW4oaSxzLGMsaCksZj1NYXRoLm1heChpLHMsYyxoKSxnPU1hdGgubWluKG4sbyxsLHUpLHA9TWF0aC5tYXgobixvLGwsdSk7aWYobnVsbCE9PXQmJihkPHRbMF18fGY+dFsyXXx8Zzx0WzFdfHxwPnRbM10pKXJldHVybiBudWxsO3Iuc2V0KFtkLHAsZixwLGQsZyxmLGddLGUpfXJldHVybiByfWZ1bmN0aW9uIGdldFRyYW5zZm9ybU1hdHJpeChlLHQsYSl7Y29uc3Qgcj1uZXcgRmxvYXQzMkFycmF5KFsxLzAsMS8wLC0xLzAsLTEvMF0pO1V0aWwuYXhpYWxBbGlnbmVkQm91bmRpbmdCb3godCxhLHIpO2NvbnN0W2ksbixzLG9dPXI7aWYoaT09PXN8fG49PT1vKXJldHVyblsxLDAsMCwxLGVbMF0sZVsxXV07Y29uc3QgYz0oZVsyXS1lWzBdKS8ocy1pKSxsPShlWzNdLWVbMV0pLyhvLW4pO3JldHVybltjLDAsMCxsLGVbMF0taSpjLGVbMV0tbipsXX1jbGFzcyBBbm5vdGF0aW9ue2NvbnN0cnVjdG9yKGUpe2NvbnN0e2RpY3Q6dCx4cmVmOmEsYW5ub3RhdGlvbkdsb2JhbHM6cixyZWY6aSxvcnBoYW5GaWVsZHM6bn09ZSxzPW4/LmdldChpKTtzJiZ0LnNldCgiUGFyZW50IixzKTt0aGlzLnNldFRpdGxlKHQuZ2V0KCJUIikpO3RoaXMuc2V0Q29udGVudHModC5nZXQoIkNvbnRlbnRzIikpO3RoaXMuc2V0TW9kaWZpY2F0aW9uRGF0ZSh0LmdldCgiTSIpKTt0aGlzLnNldEZsYWdzKHQuZ2V0KCJGIikpO3RoaXMuc2V0UmVjdGFuZ2xlKHQuZ2V0QXJyYXkoIlJlY3QiKSk7dGhpcy5zZXRDb2xvcih0LmdldEFycmF5KCJDIikpO3RoaXMuc2V0Qm9yZGVyU3R5bGUodCk7dGhpcy5zZXRBcHBlYXJhbmNlKHQpO3RoaXMuc2V0T3B0aW9uYWxDb250ZW50KHQpO2NvbnN0IG89dC5nZXQoIk1LIik7dGhpcy5zZXRCb3JkZXJBbmRCYWNrZ3JvdW5kQ29sb3JzKG8pO3RoaXMuc2V0Um90YXRpb24obyx0KTt0aGlzLnJlZj1lLnJlZiBpbnN0YW5jZW9mIFJlZj9lLnJlZjpudWxsO3RoaXMuX3N0cmVhbXM9W107dGhpcy5hcHBlYXJhbmNlJiZ0aGlzLl9zdHJlYW1zLnB1c2godGhpcy5hcHBlYXJhbmNlKTtjb25zdCBjPSEhKHRoaXMuZmxhZ3MmTCksbD0hISh0aGlzLmZsYWdzJmopO3RoaXMuZGF0YT17YW5ub3RhdGlvbkZsYWdzOnRoaXMuZmxhZ3MsYm9yZGVyU3R5bGU6dGhpcy5ib3JkZXJTdHlsZSxjb2xvcjp0aGlzLmNvbG9yLGJhY2tncm91bmRDb2xvcjp0aGlzLmJhY2tncm91bmRDb2xvcixib3JkZXJDb2xvcjp0aGlzLmJvcmRlckNvbG9yLHJvdGF0aW9uOnRoaXMucm90YXRpb24sY29udGVudHNPYmo6dGhpcy5fY29udGVudHMsaGFzQXBwZWFyYW5jZTohIXRoaXMuYXBwZWFyYW5jZSxpZDplLmlkLG1vZGlmaWNhdGlvbkRhdGU6dGhpcy5tb2RpZmljYXRpb25EYXRlLHJlY3Q6dGhpcy5yZWN0YW5nbGUsc3VidHlwZTplLnN1YnR5cGUsaGFzT3duQ2FudmFzOiExLG5vUm90YXRlOiEhKHRoaXMuZmxhZ3MmTiksbm9IVE1MOmMmJmwsaXNFZGl0YWJsZTohMSxzdHJ1Y3RQYXJlbnQ6LTF9O2lmKHIuc3RydWN0VHJlZVJvb3Qpe2xldCBhPXQuZ2V0KCJTdHJ1Y3RQYXJlbnQiKTt0aGlzLmRhdGEuc3RydWN0UGFyZW50PWE9TnVtYmVyLmlzSW50ZWdlcihhKSYmYT49MD9hOi0xO3Iuc3RydWN0VHJlZVJvb3QuYWRkQW5ub3RhdGlvbklkVG9QYWdlKGUucGFnZVJlZixhKX1pZihlLmNvbGxlY3RGaWVsZHMpe2NvbnN0IHI9dC5nZXQoIktpZHMiKTtpZihBcnJheS5pc0FycmF5KHIpKXtjb25zdCBlPVtdO2Zvcihjb25zdCB0IG9mIHIpdCBpbnN0YW5jZW9mIFJlZiYmZS5wdXNoKHQudG9TdHJpbmcoKSk7MCE9PWUubGVuZ3RoJiYodGhpcy5kYXRhLmtpZElkcz1lKX10aGlzLmRhdGEuYWN0aW9ucz1jb2xsZWN0QWN0aW9ucyhhLHQsdGUpO3RoaXMuZGF0YS5maWVsZE5hbWU9dGhpcy5fY29uc3RydWN0RmllbGROYW1lKHQpO3RoaXMuZGF0YS5wYWdlSW5kZXg9ZS5wYWdlSW5kZXh9Y29uc3QgaD10LmdldCgiSVQiKTtoIGluc3RhbmNlb2YgTmFtZSYmKHRoaXMuZGF0YS5pdD1oLm5hbWUpO3RoaXMuX2lzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkPWUuZXZhbHVhdG9yT3B0aW9ucy5pc09mZnNjcmVlbkNhbnZhc1N1cHBvcnRlZDt0aGlzLl9mYWxsYmFja0ZvbnREaWN0PW51bGw7dGhpcy5fbmVlZEFwcGVhcmFuY2VzPSExfV9oYXNGbGFnKGUsdCl7cmV0dXJuISEoZSZ0KX1fYnVpbGRGbGFncyhlLHQpe2xldHtmbGFnczphfT10aGlzO2lmKHZvaWQgMD09PWUpe2lmKHZvaWQgMD09PXQpcmV0dXJuO3JldHVybiB0P2EmflI6YSZ+RHxSfWlmKGUpe2F8PVI7cmV0dXJuIHQ/YSZ+RXxEOmEmfkR8RX1hJj1+KER8RSk7cmV0dXJuIHQ/YSZ+UjphfFJ9X2lzVmlld2FibGUoZSl7cmV0dXJuIXRoaXMuX2hhc0ZsYWcoZSxNKSYmIXRoaXMuX2hhc0ZsYWcoZSxFKX1faXNQcmludGFibGUoZSl7cmV0dXJuIHRoaXMuX2hhc0ZsYWcoZSxSKSYmIXRoaXMuX2hhc0ZsYWcoZSxEKSYmIXRoaXMuX2hhc0ZsYWcoZSxNKX1tdXN0QmVWaWV3ZWQoZSx0KXtjb25zdCBhPWU/LmdldCh0aGlzLmRhdGEuaWQpPy5ub1ZpZXc7cmV0dXJuIHZvaWQgMCE9PWE/IWE6dGhpcy52aWV3YWJsZSYmIXRoaXMuX2hhc0ZsYWcodGhpcy5mbGFncyxEKX1tdXN0QmVQcmludGVkKGUpe2NvbnN0IHQ9ZT8uZ2V0KHRoaXMuZGF0YS5pZCk/Lm5vUHJpbnQ7cmV0dXJuIHZvaWQgMCE9PXQ/IXQ6dGhpcy5wcmludGFibGV9bXVzdEJlVmlld2VkV2hlbkVkaXRpbmcoZSx0PW51bGwpe3JldHVybiBlPyF0aGlzLmRhdGEuaXNFZGl0YWJsZTohdD8uaGFzKHRoaXMuZGF0YS5pZCl9Z2V0IHZpZXdhYmxlKCl7cmV0dXJuIG51bGwhPT10aGlzLmRhdGEucXVhZFBvaW50cyYmKDA9PT10aGlzLmZsYWdzfHx0aGlzLl9pc1ZpZXdhYmxlKHRoaXMuZmxhZ3MpKX1nZXQgcHJpbnRhYmxlKCl7cmV0dXJuIG51bGwhPT10aGlzLmRhdGEucXVhZFBvaW50cyYmKDAhPT10aGlzLmZsYWdzJiZ0aGlzLl9pc1ByaW50YWJsZSh0aGlzLmZsYWdzKSl9X3BhcnNlU3RyaW5nSGVscGVyKGUpe2NvbnN0IHQ9InN0cmluZyI9PXR5cGVvZiBlP3N0cmluZ1RvUERGU3RyaW5nKGUpOiIiO3JldHVybntzdHI6dCxkaXI6dCYmInJ0bCI9PT1iaWRpKHQpLmRpcj8icnRsIjoibHRyIn19c2V0RGVmYXVsdEFwcGVhcmFuY2UoZSl7Y29uc3R7ZGljdDp0LGFubm90YXRpb25HbG9iYWxzOmF9PWUscj1nZXRJbmhlcml0YWJsZVByb3BlcnR5KHtkaWN0OnQsa2V5OiJEQSJ9KXx8YS5hY3JvRm9ybS5nZXQoIkRBIik7dGhpcy5fZGVmYXVsdEFwcGVhcmFuY2U9InN0cmluZyI9PXR5cGVvZiByP3I6IiI7dGhpcy5kYXRhLmRlZmF1bHRBcHBlYXJhbmNlRGF0YT1wYXJzZURlZmF1bHRBcHBlYXJhbmNlKHRoaXMuX2RlZmF1bHRBcHBlYXJhbmNlKX1zZXRUaXRsZShlKXt0aGlzLl90aXRsZT10aGlzLl9wYXJzZVN0cmluZ0hlbHBlcihlKX1zZXRDb250ZW50cyhlKXt0aGlzLl9jb250ZW50cz10aGlzLl9wYXJzZVN0cmluZ0hlbHBlcihlKX1zZXRNb2RpZmljYXRpb25EYXRlKGUpe3RoaXMubW9kaWZpY2F0aW9uRGF0ZT0ic3RyaW5nIj09dHlwZW9mIGU/ZTpudWxsfXNldEZsYWdzKGUpe3RoaXMuZmxhZ3M9TnVtYmVyLmlzSW50ZWdlcihlKSYmZT4wP2U6MDt0aGlzLmZsYWdzJk0mJiJBbm5vdGF0aW9uIiE9PXRoaXMuY29uc3RydWN0b3IubmFtZSYmKHRoaXMuZmxhZ3NePU0pfWhhc0ZsYWcoZSl7cmV0dXJuIHRoaXMuX2hhc0ZsYWcodGhpcy5mbGFncyxlKX1zZXRSZWN0YW5nbGUoZSl7dGhpcy5yZWN0YW5nbGU9bG9va3VwTm9ybWFsUmVjdChlLFswLDAsMCwwXSl9c2V0Q29sb3IoZSl7dGhpcy5jb2xvcj1nZXRSZ2JDb2xvcihlKX1zZXRMaW5lRW5kaW5ncyhlKXt0aGlzLmxpbmVFbmRpbmdzPVsiTm9uZSIsIk5vbmUiXTtpZihBcnJheS5pc0FycmF5KGUpJiYyPT09ZS5sZW5ndGgpZm9yKGxldCB0PTA7dDwyO3QrKyl7Y29uc3QgYT1lW3RdO2lmKGEgaW5zdGFuY2VvZiBOYW1lKXN3aXRjaChhLm5hbWUpe2Nhc2UiTm9uZSI6Y29udGludWU7Y2FzZSJTcXVhcmUiOmNhc2UiQ2lyY2xlIjpjYXNlIkRpYW1vbmQiOmNhc2UiT3BlbkFycm93IjpjYXNlIkNsb3NlZEFycm93IjpjYXNlIkJ1dHQiOmNhc2UiUk9wZW5BcnJvdyI6Y2FzZSJSQ2xvc2VkQXJyb3ciOmNhc2UiU2xhc2giOnRoaXMubGluZUVuZGluZ3NbdF09YS5uYW1lO2NvbnRpbnVlfXdhcm4oYElnbm9yaW5nIGludmFsaWQgbGluZUVuZGluZzogJHthfWApfX1zZXRSb3RhdGlvbihlLHQpe3RoaXMucm90YXRpb249MDtsZXQgYT1lIGluc3RhbmNlb2YgRGljdD9lLmdldCgiUiIpfHwwOnQuZ2V0KCJSb3RhdGUiKXx8MDtpZihOdW1iZXIuaXNJbnRlZ2VyKGEpJiYwIT09YSl7YSU9MzYwO2E8MCYmKGErPTM2MCk7YSU5MD09MCYmKHRoaXMucm90YXRpb249YSl9fXNldEJvcmRlckFuZEJhY2tncm91bmRDb2xvcnMoZSl7aWYoZSBpbnN0YW5jZW9mIERpY3Qpe3RoaXMuYm9yZGVyQ29sb3I9Z2V0UmdiQ29sb3IoZS5nZXRBcnJheSgiQkMiKSxudWxsKTt0aGlzLmJhY2tncm91bmRDb2xvcj1nZXRSZ2JDb2xvcihlLmdldEFycmF5KCJCRyIpLG51bGwpfWVsc2UgdGhpcy5ib3JkZXJDb2xvcj10aGlzLmJhY2tncm91bmRDb2xvcj1udWxsfXNldEJvcmRlclN0eWxlKGUpe3RoaXMuYm9yZGVyU3R5bGU9bmV3IEFubm90YXRpb25Cb3JkZXJTdHlsZTtpZihlIGluc3RhbmNlb2YgRGljdClpZihlLmhhcygiQlMiKSl7Y29uc3QgdD1lLmdldCgiQlMiKTtpZih0IGluc3RhbmNlb2YgRGljdCl7Y29uc3QgZT10LmdldCgiVHlwZSIpO2lmKCFlfHxpc05hbWUoZSwiQm9yZGVyIikpe3RoaXMuYm9yZGVyU3R5bGUuc2V0V2lkdGgodC5nZXQoIlciKSx0aGlzLnJlY3RhbmdsZSk7dGhpcy5ib3JkZXJTdHlsZS5zZXRTdHlsZSh0LmdldCgiUyIpKTt0aGlzLmJvcmRlclN0eWxlLnNldERhc2hBcnJheSh0LmdldEFycmF5KCJEIikpfX19ZWxzZSBpZihlLmhhcygiQm9yZGVyIikpe2NvbnN0IHQ9ZS5nZXRBcnJheSgiQm9yZGVyIik7aWYoQXJyYXkuaXNBcnJheSh0KSYmdC5sZW5ndGg+PTMpe3RoaXMuYm9yZGVyU3R5bGUuc2V0SG9yaXpvbnRhbENvcm5lclJhZGl1cyh0WzBdKTt0aGlzLmJvcmRlclN0eWxlLnNldFZlcnRpY2FsQ29ybmVyUmFkaXVzKHRbMV0pO3RoaXMuYm9yZGVyU3R5bGUuc2V0V2lkdGgodFsyXSx0aGlzLnJlY3RhbmdsZSk7ND09PXQubGVuZ3RoJiZ0aGlzLmJvcmRlclN0eWxlLnNldERhc2hBcnJheSh0WzNdLCEwKX19ZWxzZSB0aGlzLmJvcmRlclN0eWxlLnNldFdpZHRoKDApfXNldEFwcGVhcmFuY2UoZSl7dGhpcy5hcHBlYXJhbmNlPW51bGw7Y29uc3QgdD1lLmdldCgiQVAiKTtpZighKHQgaW5zdGFuY2VvZiBEaWN0KSlyZXR1cm47Y29uc3QgYT10LmdldCgiTiIpO2lmKGEgaW5zdGFuY2VvZiBCYXNlU3RyZWFtKXt0aGlzLmFwcGVhcmFuY2U9YTtyZXR1cm59aWYoIShhIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuO2NvbnN0IHI9ZS5nZXQoIkFTIik7aWYoIShyIGluc3RhbmNlb2YgTmFtZSYmYS5oYXMoci5uYW1lKSkpcmV0dXJuO2NvbnN0IGk9YS5nZXQoci5uYW1lKTtpIGluc3RhbmNlb2YgQmFzZVN0cmVhbSYmKHRoaXMuYXBwZWFyYW5jZT1pKX1zZXRPcHRpb25hbENvbnRlbnQoZSl7dGhpcy5vYz1udWxsO2NvbnN0IHQ9ZS5nZXQoIk9DIik7dCBpbnN0YW5jZW9mIE5hbWU/d2Fybigic2V0T3B0aW9uYWxDb250ZW50OiBTdXBwb3J0IGZvciAvTmFtZS1lbnRyeSBpcyBub3QgaW1wbGVtZW50ZWQuIik6dCBpbnN0YW5jZW9mIERpY3QmJih0aGlzLm9jPXQpfWFzeW5jIGxvYWRSZXNvdXJjZXMoZSx0KXtjb25zdCBhPWF3YWl0IHQuZGljdC5nZXRBc3luYygiUmVzb3VyY2VzIik7YSYmYXdhaXQgT2JqZWN0TG9hZGVyLmxvYWQoYSxlLGEueHJlZik7cmV0dXJuIGF9YXN5bmMgZ2V0T3BlcmF0b3JMaXN0KGUsdCxhLHIpe2NvbnN0e2hhc093bkNhbnZhczppLGlkOm4scmVjdDpvfT10aGlzLmRhdGE7bGV0IGM9dGhpcy5hcHBlYXJhbmNlO2NvbnN0IGw9ISEoaSYmYSZzKTtpZihsJiYoMD09PXRoaXMud2lkdGh8fDA9PT10aGlzLmhlaWdodCkpe3RoaXMuZGF0YS5oYXNPd25DYW52YXM9ITE7cmV0dXJue29wTGlzdDpuZXcgT3BlcmF0b3JMaXN0LHNlcGFyYXRlRm9ybTohMSxzZXBhcmF0ZUNhbnZhczohMX19aWYoIWMpe2lmKCFsKXJldHVybntvcExpc3Q6bmV3IE9wZXJhdG9yTGlzdCxzZXBhcmF0ZUZvcm06ITEsc2VwYXJhdGVDYW52YXM6ITF9O2M9bmV3IFN0cmluZ1N0cmVhbSgiIik7Yy5kaWN0PW5ldyBEaWN0fWNvbnN0IGg9Yy5kaWN0LHU9YXdhaXQgdGhpcy5sb2FkUmVzb3VyY2VzKGhhLGMpLGQ9bG9va3VwUmVjdChoLmdldEFycmF5KCJCQm94IiksWzAsMCwxLDFdKSxmPWxvb2t1cE1hdHJpeChoLmdldEFycmF5KCJNYXRyaXgiKSxsYSksZz1nZXRUcmFuc2Zvcm1NYXRyaXgobyxkLGYpLHA9bmV3IE9wZXJhdG9yTGlzdDtsZXQgbTt0aGlzLm9jJiYobT1hd2FpdCBlLnBhcnNlTWFya2VkQ29udGVudFByb3BzKHRoaXMub2MsbnVsbCkpO3ZvaWQgMCE9PW0mJnAuYWRkT3AoU3QsWyJPQyIsbV0pO3AuYWRkT3AoT3QsW24sbyxnLGYsbF0pO2F3YWl0IGUuZ2V0T3BlcmF0b3JMaXN0KHtzdHJlYW06Yyx0YXNrOnQscmVzb3VyY2VzOnUsb3BlcmF0b3JMaXN0OnAsZmFsbGJhY2tGb250RGljdDp0aGlzLl9mYWxsYmFja0ZvbnREaWN0fSk7cC5hZGRPcChNdCxbXSk7dm9pZCAwIT09bSYmcC5hZGRPcChBdCxbXSk7dGhpcy5yZXNldCgpO3JldHVybntvcExpc3Q6cCxzZXBhcmF0ZUZvcm06ITEsc2VwYXJhdGVDYW52YXM6bH19YXN5bmMgc2F2ZShlLHQsYSxyKXtyZXR1cm4gbnVsbH1nZXQgb3ZlcmxheXNUZXh0Q29udGVudCgpe3JldHVybiExfWdldCBoYXNUZXh0Q29udGVudCgpe3JldHVybiExfWFzeW5jIGV4dHJhY3RUZXh0Q29udGVudChlLHQsYSl7aWYoIXRoaXMuYXBwZWFyYW5jZSlyZXR1cm47Y29uc3Qgcj1hd2FpdCB0aGlzLmxvYWRSZXNvdXJjZXModWEsdGhpcy5hcHBlYXJhbmNlKSxpPVtdLG49W107bGV0IHM9bnVsbDtjb25zdCBvPXtkZXNpcmVkU2l6ZTpNYXRoLkluZmluaXR5LHJlYWR5OiEwLGVucXVldWUoZSx0KXtmb3IoY29uc3QgdCBvZiBlLml0ZW1zKWlmKHZvaWQgMCE9PXQuc3RyKXtzfHw9dC50cmFuc2Zvcm0uc2xpY2UoLTIpO24ucHVzaCh0LnN0cik7aWYodC5oYXNFT0wpe2kucHVzaChuLmpvaW4oIiIpLnRyaW1FbmQoKSk7bi5sZW5ndGg9MH19fX07YXdhaXQgZS5nZXRUZXh0Q29udGVudCh7c3RyZWFtOnRoaXMuYXBwZWFyYW5jZSx0YXNrOnQscmVzb3VyY2VzOnIsaW5jbHVkZU1hcmtlZENvbnRlbnQ6ITAsa2VlcFdoaXRlU3BhY2U6ITAsc2luazpvLHZpZXdCb3g6YX0pO3RoaXMucmVzZXQoKTtuLmxlbmd0aCYmaS5wdXNoKG4uam9pbigiIikudHJpbUVuZCgpKTtpZihpLmxlbmd0aD4xfHxpWzBdKXtjb25zdCBlPXRoaXMuYXBwZWFyYW5jZS5kaWN0LHQ9bG9va3VwUmVjdChlLmdldEFycmF5KCJCQm94IiksbnVsbCksYT1sb29rdXBNYXRyaXgoZS5nZXRBcnJheSgiTWF0cml4IiksbnVsbCk7dGhpcy5kYXRhLnRleHRQb3NpdGlvbj10aGlzLl90cmFuc2Zvcm1Qb2ludChzLHQsYSk7dGhpcy5kYXRhLnRleHRDb250ZW50PWl9fV90cmFuc2Zvcm1Qb2ludChlLHQsYSl7Y29uc3R7cmVjdDpyfT10aGlzLmRhdGE7dHx8PVswLDAsMSwxXTthfHw9WzEsMCwwLDEsMCwwXTtjb25zdCBpPWdldFRyYW5zZm9ybU1hdHJpeChyLHQsYSk7aVs0XS09clswXTtpWzVdLT1yWzFdO2NvbnN0IG49ZS5zbGljZSgpO1V0aWwuYXBwbHlUcmFuc2Zvcm0obixpKTtVdGlsLmFwcGx5VHJhbnNmb3JtKG4sYSk7cmV0dXJuIG59Z2V0RmllbGRPYmplY3QoKXtyZXR1cm4gdGhpcy5kYXRhLmtpZElkcz97aWQ6dGhpcy5kYXRhLmlkLGFjdGlvbnM6dGhpcy5kYXRhLmFjdGlvbnMsbmFtZTp0aGlzLmRhdGEuZmllbGROYW1lLHN0cm9rZUNvbG9yOnRoaXMuZGF0YS5ib3JkZXJDb2xvcixmaWxsQ29sb3I6dGhpcy5kYXRhLmJhY2tncm91bmRDb2xvcix0eXBlOiIiLGtpZElkczp0aGlzLmRhdGEua2lkSWRzLHBhZ2U6dGhpcy5kYXRhLnBhZ2VJbmRleCxyb3RhdGlvbjp0aGlzLnJvdGF0aW9ufTpudWxsfXJlc2V0KCl7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fc3RyZWFtcyllLnJlc2V0KCl9X2NvbnN0cnVjdEZpZWxkTmFtZShlKXtpZighZS5oYXMoIlQiKSYmIWUuaGFzKCJQYXJlbnQiKSl7d2FybigiVW5rbm93biBmaWVsZCBuYW1lLCBmYWxsaW5nIGJhY2sgdG8gZW1wdHkgZmllbGQgbmFtZS4iKTtyZXR1cm4iIn1pZighZS5oYXMoIlBhcmVudCIpKXJldHVybiBzdHJpbmdUb1BERlN0cmluZyhlLmdldCgiVCIpKTtjb25zdCB0PVtdO2UuaGFzKCJUIikmJnQudW5zaGlmdChzdHJpbmdUb1BERlN0cmluZyhlLmdldCgiVCIpKSk7bGV0IGE9ZTtjb25zdCByPW5ldyBSZWZTZXQ7ZS5vYmpJZCYmci5wdXQoZS5vYmpJZCk7Zm9yKDthLmhhcygiUGFyZW50Iik7KXthPWEuZ2V0KCJQYXJlbnQiKTtpZighKGEgaW5zdGFuY2VvZiBEaWN0KXx8YS5vYmpJZCYmci5oYXMoYS5vYmpJZCkpYnJlYWs7YS5vYmpJZCYmci5wdXQoYS5vYmpJZCk7YS5oYXMoIlQiKSYmdC51bnNoaWZ0KHN0cmluZ1RvUERGU3RyaW5nKGEuZ2V0KCJUIikpKX1yZXR1cm4gdC5qb2luKCIuIil9Z2V0IHdpZHRoKCl7cmV0dXJuIHRoaXMuZGF0YS5yZWN0WzJdLXRoaXMuZGF0YS5yZWN0WzBdfWdldCBoZWlnaHQoKXtyZXR1cm4gdGhpcy5kYXRhLnJlY3RbM10tdGhpcy5kYXRhLnJlY3RbMV19fWNsYXNzIEFubm90YXRpb25Cb3JkZXJTdHlsZXtjb25zdHJ1Y3Rvcigpe3RoaXMud2lkdGg9MTt0aGlzLnJhd1dpZHRoPTE7dGhpcy5zdHlsZT1KO3RoaXMuZGFzaEFycmF5PVszXTt0aGlzLmhvcml6b250YWxDb3JuZXJSYWRpdXM9MDt0aGlzLnZlcnRpY2FsQ29ybmVyUmFkaXVzPTB9c2V0V2lkdGgoZSx0PVswLDAsMCwwXSl7aWYoZSBpbnN0YW5jZW9mIE5hbWUpdGhpcy53aWR0aD0wO2Vsc2UgaWYoIm51bWJlciI9PXR5cGVvZiBlKXtpZihlPjApe3RoaXMucmF3V2lkdGg9ZTtjb25zdCBhPSh0WzJdLXRbMF0pLzIscj0odFszXS10WzFdKS8yO2lmKGE+MCYmcj4wJiYoZT5hfHxlPnIpKXt3YXJuKGBBbm5vdGF0aW9uQm9yZGVyU3R5bGUuc2V0V2lkdGggLSBpZ25vcmluZyB3aWR0aDogJHtlfWApO2U9MX19dGhpcy53aWR0aD1lfX1zZXRTdHlsZShlKXtpZihlIGluc3RhbmNlb2YgTmFtZSlzd2l0Y2goZS5uYW1lKXtjYXNlIlMiOnRoaXMuc3R5bGU9SjticmVhaztjYXNlIkQiOnRoaXMuc3R5bGU9WTticmVhaztjYXNlIkIiOnRoaXMuc3R5bGU9WjticmVhaztjYXNlIkkiOnRoaXMuc3R5bGU9UTticmVhaztjYXNlIlUiOnRoaXMuc3R5bGU9ZWV9fXNldERhc2hBcnJheShlLHQ9ITEpe2lmKEFycmF5LmlzQXJyYXkoZSkpe2xldCBhPSEwLHI9ITA7Zm9yKGNvbnN0IHQgb2YgZSl7aWYoISgrdD49MCkpe2E9ITE7YnJlYWt9dD4wJiYocj0hMSl9aWYoMD09PWUubGVuZ3RofHxhJiYhcil7dGhpcy5kYXNoQXJyYXk9ZTt0JiZ0aGlzLnNldFN0eWxlKE5hbWUuZ2V0KCJEIikpfWVsc2UgdGhpcy53aWR0aD0wfWVsc2UgZSYmKHRoaXMud2lkdGg9MCl9c2V0SG9yaXpvbnRhbENvcm5lclJhZGl1cyhlKXtOdW1iZXIuaXNJbnRlZ2VyKGUpJiYodGhpcy5ob3Jpem9udGFsQ29ybmVyUmFkaXVzPWUpfXNldFZlcnRpY2FsQ29ybmVyUmFkaXVzKGUpe051bWJlci5pc0ludGVnZXIoZSkmJih0aGlzLnZlcnRpY2FsQ29ybmVyUmFkaXVzPWUpfX1jbGFzcyBNYXJrdXBBbm5vdGF0aW9uIGV4dGVuZHMgQW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTtjb25zdHtkaWN0OnR9PWU7aWYodC5oYXMoIklSVCIpKXtjb25zdCBlPXQuZ2V0UmF3KCJJUlQiKTt0aGlzLmRhdGEuaW5SZXBseVRvPWUgaW5zdGFuY2VvZiBSZWY/ZS50b1N0cmluZygpOm51bGw7Y29uc3QgYT10LmdldCgiUlQiKTt0aGlzLmRhdGEucmVwbHlUeXBlPWEgaW5zdGFuY2VvZiBOYW1lP2EubmFtZTpPfWxldCBhPW51bGw7aWYodGhpcy5kYXRhLnJlcGx5VHlwZT09PVQpe2NvbnN0IGU9dC5nZXQoIklSVCIpO3RoaXMuc2V0VGl0bGUoZS5nZXQoIlQiKSk7dGhpcy5kYXRhLnRpdGxlT2JqPXRoaXMuX3RpdGxlO3RoaXMuc2V0Q29udGVudHMoZS5nZXQoIkNvbnRlbnRzIikpO3RoaXMuZGF0YS5jb250ZW50c09iaj10aGlzLl9jb250ZW50cztpZihlLmhhcygiQ3JlYXRpb25EYXRlIikpe3RoaXMuc2V0Q3JlYXRpb25EYXRlKGUuZ2V0KCJDcmVhdGlvbkRhdGUiKSk7dGhpcy5kYXRhLmNyZWF0aW9uRGF0ZT10aGlzLmNyZWF0aW9uRGF0ZX1lbHNlIHRoaXMuZGF0YS5jcmVhdGlvbkRhdGU9bnVsbDtpZihlLmhhcygiTSIpKXt0aGlzLnNldE1vZGlmaWNhdGlvbkRhdGUoZS5nZXQoIk0iKSk7dGhpcy5kYXRhLm1vZGlmaWNhdGlvbkRhdGU9dGhpcy5tb2RpZmljYXRpb25EYXRlfWVsc2UgdGhpcy5kYXRhLm1vZGlmaWNhdGlvbkRhdGU9bnVsbDthPWUuZ2V0UmF3KCJQb3B1cCIpO2lmKGUuaGFzKCJDIikpe3RoaXMuc2V0Q29sb3IoZS5nZXRBcnJheSgiQyIpKTt0aGlzLmRhdGEuY29sb3I9dGhpcy5jb2xvcn1lbHNlIHRoaXMuZGF0YS5jb2xvcj1udWxsfWVsc2V7dGhpcy5kYXRhLnRpdGxlT2JqPXRoaXMuX3RpdGxlO3RoaXMuc2V0Q3JlYXRpb25EYXRlKHQuZ2V0KCJDcmVhdGlvbkRhdGUiKSk7dGhpcy5kYXRhLmNyZWF0aW9uRGF0ZT10aGlzLmNyZWF0aW9uRGF0ZTthPXQuZ2V0UmF3KCJQb3B1cCIpO3QuaGFzKCJDIil8fCh0aGlzLmRhdGEuY29sb3I9bnVsbCl9dGhpcy5kYXRhLnBvcHVwUmVmPWEgaW5zdGFuY2VvZiBSZWY/YS50b1N0cmluZygpOm51bGw7dC5oYXMoIlJDIikmJih0aGlzLmRhdGEucmljaFRleHQ9WEZBRmFjdG9yeS5nZXRSaWNoVGV4dEFzSHRtbCh0LmdldCgiUkMiKSkpfXNldENyZWF0aW9uRGF0ZShlKXt0aGlzLmNyZWF0aW9uRGF0ZT0ic3RyaW5nIj09dHlwZW9mIGU/ZTpudWxsfV9zZXREZWZhdWx0QXBwZWFyYW5jZSh7eHJlZjplLGV4dHJhOnQsc3Ryb2tlQ29sb3I6YSxmaWxsQ29sb3I6cixibGVuZE1vZGU6aSxzdHJva2VBbHBoYTpuLGZpbGxBbHBoYTpzLHBvaW50c0NhbGxiYWNrOm99KXtjb25zdCBjPXRoaXMuZGF0YS5yZWN0PVsxLzAsMS8wLC0xLzAsLTEvMF0sbD1bInEiXTt0JiZsLnB1c2godCk7YSYmbC5wdXNoKGAke2FbMF19ICR7YVsxXX0gJHthWzJdfSBSR2ApO3ImJmwucHVzaChgJHtyWzBdfSAke3JbMV19ICR7clsyXX0gcmdgKTtjb25zdCBoPXRoaXMuZGF0YS5xdWFkUG9pbnRzfHxGbG9hdDMyQXJyYXkuZnJvbShbdGhpcy5yZWN0YW5nbGVbMF0sdGhpcy5yZWN0YW5nbGVbM10sdGhpcy5yZWN0YW5nbGVbMl0sdGhpcy5yZWN0YW5nbGVbM10sdGhpcy5yZWN0YW5nbGVbMF0sdGhpcy5yZWN0YW5nbGVbMV0sdGhpcy5yZWN0YW5nbGVbMl0sdGhpcy5yZWN0YW5nbGVbMV1dKTtmb3IobGV0IGU9MCx0PWgubGVuZ3RoO2U8dDtlKz04KXtjb25zdCB0PW8obCxoLnN1YmFycmF5KGUsZSs4KSk7VXRpbC5yZWN0Qm91bmRpbmdCb3goLi4udCxjKX1sLnB1c2goIlEiKTtjb25zdCB1PW5ldyBEaWN0KGUpLGQ9bmV3IERpY3QoZSk7ZC5zZXRJZk5hbWUoIlN1YnR5cGUiLCJGb3JtIik7Y29uc3QgZj1uZXcgU3RyaW5nU3RyZWFtKGwuam9pbigiICIpKTtmLmRpY3Q9ZDt1LnNldCgiRm0wIixmKTtjb25zdCBnPW5ldyBEaWN0KGUpO2kmJmcuc2V0SWZOYW1lKCJCTSIsaSk7Zy5zZXRJZk51bWJlcigiQ0EiLG4pO2cuc2V0SWZOdW1iZXIoImNhIixzKTtjb25zdCBwPW5ldyBEaWN0KGUpO3Auc2V0KCJHUzAiLGcpO2NvbnN0IG09bmV3IERpY3QoZSk7bS5zZXQoIkV4dEdTdGF0ZSIscCk7bS5zZXQoIlhPYmplY3QiLHUpO2NvbnN0IGI9bmV3IERpY3QoZSk7Yi5zZXQoIlJlc291cmNlcyIsbSk7Yi5zZXQoIkJCb3giLGMpO3RoaXMuYXBwZWFyYW5jZT1uZXcgU3RyaW5nU3RyZWFtKCIvR1MwIGdzIC9GbTAgRG8iKTt0aGlzLmFwcGVhcmFuY2UuZGljdD1iO3RoaXMuX3N0cmVhbXMucHVzaCh0aGlzLmFwcGVhcmFuY2UsZil9c3RhdGljIGFzeW5jIGNyZWF0ZU5ld0Fubm90YXRpb24oZSx0LGEscil7Y29uc3QgaT10LnJlZnx8PWUuZ2V0TmV3VGVtcG9yYXJ5UmVmKCksbj1hd2FpdCB0aGlzLmNyZWF0ZU5ld0FwcGVhcmFuY2VTdHJlYW0odCxlLHIpO2xldCBzO2lmKG4pe2NvbnN0IHI9ZS5nZXROZXdUZW1wb3JhcnlSZWYoKTtzPXRoaXMuY3JlYXRlTmV3RGljdCh0LGUse2FwUmVmOnJ9KTthLnB1dChyLHtkYXRhOm59KX1lbHNlIHM9dGhpcy5jcmVhdGVOZXdEaWN0KHQsZSx7fSk7TnVtYmVyLmlzSW50ZWdlcih0LnBhcmVudFRyZWVJZCkmJnMuc2V0KCJTdHJ1Y3RQYXJlbnQiLHQucGFyZW50VHJlZUlkKTthLnB1dChpLHtkYXRhOnN9KTtjb25zdCBvPXtyZWY6aX07aWYodC5wb3B1cCl7Y29uc3Qgcj10LnBvcHVwO2lmKHIuZGVsZXRlZCl7cy5kZWxldGUoIlBvcHVwIik7cy5kZWxldGUoIkNvbnRlbnRzIik7cy5kZWxldGUoIlJDIik7cmV0dXJuIG99Y29uc3Qgbj1yLnJlZnx8PWUuZ2V0TmV3VGVtcG9yYXJ5UmVmKCk7ci5wYXJlbnQ9aTtjb25zdCBjPVBvcHVwQW5ub3RhdGlvbi5jcmVhdGVOZXdEaWN0KHIsZSk7YS5wdXQobix7ZGF0YTpjfSk7cy5zZXRJZkRlZmluZWQoIkNvbnRlbnRzIixzdHJpbmdUb0FzY2lpT3JVVEYxNkJFKHIuY29udGVudHMpKTtzLnNldCgiUG9wdXAiLG4pO3JldHVybltvLHtyZWY6bn1dfXJldHVybiBvfXN0YXRpYyBhc3luYyBjcmVhdGVOZXdQcmludEFubm90YXRpb24oZSx0LGEscil7Y29uc3QgaT1hd2FpdCB0aGlzLmNyZWF0ZU5ld0FwcGVhcmFuY2VTdHJlYW0oYSx0LHIpLG49dGhpcy5jcmVhdGVOZXdEaWN0KGEsdCxpP3thcDppfTp7fSkscz1uZXcgdGhpcy5wcm90b3R5cGUuY29uc3RydWN0b3Ioe2RpY3Q6bix4cmVmOnQsYW5ub3RhdGlvbkdsb2JhbHM6ZSxldmFsdWF0b3JPcHRpb25zOnIuZXZhbHVhdG9yT3B0aW9uc30pO2EucmVmJiYocy5yZWY9cy5yZWZUb1JlcGxhY2U9YS5yZWYpO3JldHVybiBzfX1jbGFzcyBXaWRnZXRBbm5vdGF0aW9uIGV4dGVuZHMgQW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTtjb25zdHtkaWN0OnQseHJlZjphLGFubm90YXRpb25HbG9iYWxzOnJ9PWUsaT10aGlzLmRhdGE7dGhpcy5fbmVlZEFwcGVhcmFuY2VzPWUubmVlZEFwcGVhcmFuY2VzO2kuYW5ub3RhdGlvblR5cGU9Ri5XSURHRVQ7dm9pZCAwPT09aS5maWVsZE5hbWUmJihpLmZpZWxkTmFtZT10aGlzLl9jb25zdHJ1Y3RGaWVsZE5hbWUodCkpO3ZvaWQgMD09PWkuYWN0aW9ucyYmKGkuYWN0aW9ucz1jb2xsZWN0QWN0aW9ucyhhLHQsdGUpKTtsZXQgbj1nZXRJbmhlcml0YWJsZVByb3BlcnR5KHtkaWN0OnQsa2V5OiJWIixnZXRBcnJheTohMH0pO2kuZmllbGRWYWx1ZT10aGlzLl9kZWNvZGVGb3JtVmFsdWUobik7Y29uc3Qgcz1nZXRJbmhlcml0YWJsZVByb3BlcnR5KHtkaWN0OnQsa2V5OiJEViIsZ2V0QXJyYXk6ITB9KTtpLmRlZmF1bHRGaWVsZFZhbHVlPXRoaXMuX2RlY29kZUZvcm1WYWx1ZShzKTtpZih2b2lkIDA9PT1uJiZyLnhmYURhdGFzZXRzKXtjb25zdCBlPXRoaXMuX3RpdGxlLnN0cjtpZihlKXt0aGlzLl9oYXNWYWx1ZUZyb21YRkE9ITA7aS5maWVsZFZhbHVlPW49ci54ZmFEYXRhc2V0cy5nZXRWYWx1ZShlKX19dm9pZCAwPT09biYmbnVsbCE9PWkuZGVmYXVsdEZpZWxkVmFsdWUmJihpLmZpZWxkVmFsdWU9aS5kZWZhdWx0RmllbGRWYWx1ZSk7aS5hbHRlcm5hdGl2ZVRleHQ9c3RyaW5nVG9QREZTdHJpbmcodC5nZXQoIlRVIil8fCIiKTt0aGlzLnNldERlZmF1bHRBcHBlYXJhbmNlKGUpO2kuaGFzQXBwZWFyYW5jZXx8PXRoaXMuX25lZWRBcHBlYXJhbmNlcyYmdm9pZCAwIT09aS5maWVsZFZhbHVlJiZudWxsIT09aS5maWVsZFZhbHVlO2NvbnN0IG89Z2V0SW5oZXJpdGFibGVQcm9wZXJ0eSh7ZGljdDp0LGtleToiRlQifSk7aS5maWVsZFR5cGU9byBpbnN0YW5jZW9mIE5hbWU/by5uYW1lOm51bGw7Y29uc3QgYz1nZXRJbmhlcml0YWJsZVByb3BlcnR5KHtkaWN0OnQsa2V5OiJEUiJ9KSxsPXIuYWNyb0Zvcm0uZ2V0KCJEUiIpLGg9dGhpcy5hcHBlYXJhbmNlPy5kaWN0LmdldCgiUmVzb3VyY2VzIik7dGhpcy5fZmllbGRSZXNvdXJjZXM9e2xvY2FsUmVzb3VyY2VzOmMsYWNyb0Zvcm1SZXNvdXJjZXM6bCxhcHBlYXJhbmNlUmVzb3VyY2VzOmgsbWVyZ2VkUmVzb3VyY2VzOkRpY3QubWVyZ2Uoe3hyZWY6YSxkaWN0QXJyYXk6W2MsaCxsXSxtZXJnZVN1YkRpY3RzOiEwfSl9O2kuZmllbGRGbGFncz1nZXRJbmhlcml0YWJsZVByb3BlcnR5KHtkaWN0OnQsa2V5OiJGZiJ9KTsoIU51bWJlci5pc0ludGVnZXIoaS5maWVsZEZsYWdzKXx8aS5maWVsZEZsYWdzPDApJiYoaS5maWVsZEZsYWdzPTApO2kucGFzc3dvcmQ9dGhpcy5oYXNGaWVsZEZsYWcocSk7aS5yZWFkT25seT10aGlzLmhhc0ZpZWxkRmxhZyhfKTtpLnJlcXVpcmVkPXRoaXMuaGFzRmllbGRGbGFnKFUpO2kuaGlkZGVuPXRoaXMuX2hhc0ZsYWcoaS5hbm5vdGF0aW9uRmxhZ3MsRCl8fHRoaXMuX2hhc0ZsYWcoaS5hbm5vdGF0aW9uRmxhZ3MsRSl9X2RlY29kZUZvcm1WYWx1ZShlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT9lLmZpbHRlcigoZT0+InN0cmluZyI9PXR5cGVvZiBlKSkubWFwKChlPT5zdHJpbmdUb1BERlN0cmluZyhlKSkpOmUgaW5zdGFuY2VvZiBOYW1lP3N0cmluZ1RvUERGU3RyaW5nKGUubmFtZSk6InN0cmluZyI9PXR5cGVvZiBlP3N0cmluZ1RvUERGU3RyaW5nKGUpOm51bGx9aGFzRmllbGRGbGFnKGUpe3JldHVybiEhKHRoaXMuZGF0YS5maWVsZEZsYWdzJmUpfV9pc1ZpZXdhYmxlKGUpe3JldHVybiEwfW11c3RCZVZpZXdlZChlLHQpe3JldHVybiB0P3RoaXMudmlld2FibGU6c3VwZXIubXVzdEJlVmlld2VkKGUsdCkmJiF0aGlzLl9oYXNGbGFnKHRoaXMuZmxhZ3MsRSl9Z2V0Um90YXRpb25NYXRyaXgoZSl7bGV0IHQ9ZT8uZ2V0KHRoaXMuZGF0YS5pZCk/LnJvdGF0aW9uO3ZvaWQgMD09PXQmJih0PXRoaXMucm90YXRpb24pO3JldHVybiAwPT09dD9sYTpnZXRSb3RhdGlvbk1hdHJpeCh0LHRoaXMud2lkdGgsdGhpcy5oZWlnaHQpfWdldEJvcmRlckFuZEJhY2tncm91bmRBcHBlYXJhbmNlcyhlKXtsZXQgdD1lPy5nZXQodGhpcy5kYXRhLmlkKT8ucm90YXRpb247dm9pZCAwPT09dCYmKHQ9dGhpcy5yb3RhdGlvbik7aWYoIXRoaXMuYmFja2dyb3VuZENvbG9yJiYhdGhpcy5ib3JkZXJDb2xvcilyZXR1cm4iIjtjb25zdCBhPTA9PT10fHwxODA9PT10P2AwIDAgJHt0aGlzLndpZHRofSAke3RoaXMuaGVpZ2h0fSByZWA6YDAgMCAke3RoaXMuaGVpZ2h0fSAke3RoaXMud2lkdGh9IHJlYDtsZXQgcj0iIjt0aGlzLmJhY2tncm91bmRDb2xvciYmKHI9YCR7Z2V0UGRmQ29sb3IodGhpcy5iYWNrZ3JvdW5kQ29sb3IsITApfSAke2F9IGYgYCk7aWYodGhpcy5ib3JkZXJDb2xvcil7cis9YCR7dGhpcy5ib3JkZXJTdHlsZS53aWR0aHx8MX0gdyAke2dldFBkZkNvbG9yKHRoaXMuYm9yZGVyQ29sb3IsITEpfSAke2F9IFMgYH1yZXR1cm4gcn1hc3luYyBnZXRPcGVyYXRvckxpc3QoZSx0LGEscil7aWYoYSZsJiYhKHRoaXMgaW5zdGFuY2VvZiBTaWduYXR1cmVXaWRnZXRBbm5vdGF0aW9uKSYmIXRoaXMuZGF0YS5ub0hUTUwmJiF0aGlzLmRhdGEuaGFzT3duQ2FudmFzKXJldHVybntvcExpc3Q6bmV3IE9wZXJhdG9yTGlzdCxzZXBhcmF0ZUZvcm06ITAsc2VwYXJhdGVDYW52YXM6ITF9O2lmKCF0aGlzLl9oYXNUZXh0KXJldHVybiBzdXBlci5nZXRPcGVyYXRvckxpc3QoZSx0LGEscik7Y29uc3QgaT1hd2FpdCB0aGlzLl9nZXRBcHBlYXJhbmNlKGUsdCxhLHIpO2lmKHRoaXMuYXBwZWFyYW5jZSYmbnVsbD09PWkpcmV0dXJuIHN1cGVyLmdldE9wZXJhdG9yTGlzdChlLHQsYSxyKTtjb25zdCBuPW5ldyBPcGVyYXRvckxpc3Q7aWYoIXRoaXMuX2RlZmF1bHRBcHBlYXJhbmNlfHxudWxsPT09aSlyZXR1cm57b3BMaXN0Om4sc2VwYXJhdGVGb3JtOiExLHNlcGFyYXRlQ2FudmFzOiExfTtjb25zdCBvPSEhKHRoaXMuZGF0YS5oYXNPd25DYW52YXMmJmEmcyksYz1bMCwwLHRoaXMud2lkdGgsdGhpcy5oZWlnaHRdLGg9Z2V0VHJhbnNmb3JtTWF0cml4KHRoaXMuZGF0YS5yZWN0LGMsWzEsMCwwLDEsMCwwXSk7bGV0IHU7dGhpcy5vYyYmKHU9YXdhaXQgZS5wYXJzZU1hcmtlZENvbnRlbnRQcm9wcyh0aGlzLm9jLG51bGwpKTt2b2lkIDAhPT11JiZuLmFkZE9wKFN0LFsiT0MiLHVdKTtuLmFkZE9wKE90LFt0aGlzLmRhdGEuaWQsdGhpcy5kYXRhLnJlY3QsaCx0aGlzLmdldFJvdGF0aW9uTWF0cml4KHIpLG9dKTtjb25zdCBkPW5ldyBTdHJpbmdTdHJlYW0oaSk7YXdhaXQgZS5nZXRPcGVyYXRvckxpc3Qoe3N0cmVhbTpkLHRhc2s6dCxyZXNvdXJjZXM6dGhpcy5fZmllbGRSZXNvdXJjZXMubWVyZ2VkUmVzb3VyY2VzLG9wZXJhdG9yTGlzdDpufSk7bi5hZGRPcChNdCxbXSk7dm9pZCAwIT09dSYmbi5hZGRPcChBdCxbXSk7cmV0dXJue29wTGlzdDpuLHNlcGFyYXRlRm9ybTohMSxzZXBhcmF0ZUNhbnZhczpvfX1fZ2V0TUtEaWN0KGUpe2NvbnN0IHQ9bmV3IERpY3QobnVsbCk7ZSYmdC5zZXQoIlIiLGUpO3Quc2V0SWZBcnJheSgiQkMiLGdldFBkZkNvbG9yQXJyYXkodGhpcy5ib3JkZXJDb2xvcikpO3Quc2V0SWZBcnJheSgiQkciLGdldFBkZkNvbG9yQXJyYXkodGhpcy5iYWNrZ3JvdW5kQ29sb3IpKTtyZXR1cm4gdC5zaXplPjA/dDpudWxsfWFtZW5kU2F2ZWREaWN0KGUsdCl7fXNldFZhbHVlKGUsdCxhLHIpe2NvbnN0e2RpY3Q6aSxyZWY6bn09ZnVuY3Rpb24gZ2V0UGFyZW50VG9VcGRhdGUoZSx0LGEpe2NvbnN0IHI9bmV3IFJlZlNldCxpPWUsbj17ZGljdDpudWxsLHJlZjpudWxsfTtmb3IoO2UgaW5zdGFuY2VvZiBEaWN0JiYhci5oYXModCk7KXtyLnB1dCh0KTtpZihlLmhhcygiVCIpKWJyZWFrO2lmKCEoKHQ9ZS5nZXRSYXcoIlBhcmVudCIpKWluc3RhbmNlb2YgUmVmKSlyZXR1cm4gbjtlPWEuZmV0Y2godCl9aWYoZSBpbnN0YW5jZW9mIERpY3QmJmUhPT1pKXtuLmRpY3Q9ZTtuLnJlZj10fXJldHVybiBufShlLHRoaXMucmVmLGEpO2lmKGkpe2lmKCFyLmhhcyhuKSl7Y29uc3QgZT1pLmNsb25lKCk7ZS5zZXQoIlYiLHQpO3IucHV0KG4se2RhdGE6ZX0pO3JldHVybiBlfX1lbHNlIGUuc2V0KCJWIix0KTtyZXR1cm4gbnVsbH1hc3luYyBzYXZlKGUsdCxhLHIpe2NvbnN0IGk9YT8uZ2V0KHRoaXMuZGF0YS5pZCksbj10aGlzLl9idWlsZEZsYWdzKGk/Lm5vVmlldyxpPy5ub1ByaW50KTtsZXQgcz1pPy52YWx1ZSxvPWk/LnJvdGF0aW9uO2lmKHM9PT10aGlzLmRhdGEuZmllbGRWYWx1ZXx8dm9pZCAwPT09cyl7aWYoIXRoaXMuX2hhc1ZhbHVlRnJvbVhGQSYmdm9pZCAwPT09byYmdm9pZCAwPT09bilyZXR1cm47c3x8PXRoaXMuZGF0YS5maWVsZFZhbHVlfWlmKHZvaWQgMD09PW8mJiF0aGlzLl9oYXNWYWx1ZUZyb21YRkEmJkFycmF5LmlzQXJyYXkocykmJkFycmF5LmlzQXJyYXkodGhpcy5kYXRhLmZpZWxkVmFsdWUpJiZpc0FycmF5RXF1YWwocyx0aGlzLmRhdGEuZmllbGRWYWx1ZSkmJnZvaWQgMD09PW4pcmV0dXJuO3ZvaWQgMD09PW8mJihvPXRoaXMucm90YXRpb24pO2xldCBsPW51bGw7aWYoIXRoaXMuX25lZWRBcHBlYXJhbmNlcyl7bD1hd2FpdCB0aGlzLl9nZXRBcHBlYXJhbmNlKGUsdCxjLGEpO2lmKG51bGw9PT1sJiZ2b2lkIDA9PT1uKXJldHVybn1sZXQgaD0hMTtpZihsPy5uZWVkQXBwZWFyYW5jZXMpe2g9ITA7bD1udWxsfWNvbnN0e3hyZWY6dX09ZSxkPXUuZmV0Y2hJZlJlZih0aGlzLnJlZik7aWYoIShkIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuO2NvbnN0IGY9bmV3IERpY3QodSk7Zm9yKGNvbnN0IGUgb2YgZC5nZXRLZXlzKCkpIkFQIiE9PWUmJmYuc2V0KGUsZC5nZXRSYXcoZSkpO2lmKHZvaWQgMCE9PW4pe2Yuc2V0KCJGIixuKTtpZihudWxsPT09bCYmIWgpe2NvbnN0IGU9ZC5nZXRSYXcoIkFQIik7ZSYmZi5zZXQoIkFQIixlKX19Y29uc3QgZz17cGF0aDp0aGlzLmRhdGEuZmllbGROYW1lLHZhbHVlOnN9LHA9dGhpcy5zZXRWYWx1ZShmLEFycmF5LmlzQXJyYXkocyk/cy5tYXAoc3RyaW5nVG9Bc2NpaU9yVVRGMTZCRSk6c3RyaW5nVG9Bc2NpaU9yVVRGMTZCRShzKSx1LHIpO3RoaXMuYW1lbmRTYXZlZERpY3QoYSxwfHxmKTtjb25zdCBtPXRoaXMuX2dldE1LRGljdChvKTttJiZmLnNldCgiTUsiLG0pO3IucHV0KHRoaXMucmVmLHtkYXRhOmYseGZhOmcsbmVlZEFwcGVhcmFuY2VzOmh9KTtpZihudWxsIT09bCl7Y29uc3QgZT11LmdldE5ld1RlbXBvcmFyeVJlZigpLHQ9bmV3IERpY3QodSk7Zi5zZXQoIkFQIix0KTt0LnNldCgiTiIsZSk7Y29uc3QgaT10aGlzLl9nZXRTYXZlRmllbGRSZXNvdXJjZXModSksbj1uZXcgU3RyaW5nU3RyZWFtKGwpLHM9bi5kaWN0PW5ldyBEaWN0KHUpO3Muc2V0SWZOYW1lKCJTdWJ0eXBlIiwiRm9ybSIpO3Muc2V0KCJSZXNvdXJjZXMiLGkpO2NvbnN0IGM9byUxODA9PTA/WzAsMCx0aGlzLndpZHRoLHRoaXMuaGVpZ2h0XTpbMCwwLHRoaXMuaGVpZ2h0LHRoaXMud2lkdGhdO3Muc2V0KCJCQm94IixjKTtjb25zdCBoPXRoaXMuZ2V0Um90YXRpb25NYXRyaXgoYSk7aCE9PWxhJiZzLnNldCgiTWF0cml4IixoKTtyLnB1dChlLHtkYXRhOm4seGZhOm51bGwsbmVlZEFwcGVhcmFuY2VzOiExfSl9Zi5zZXQoIk0iLGBEOiR7Z2V0TW9kaWZpY2F0aW9uRGF0ZSgpfWApfWFzeW5jIF9nZXRBcHBlYXJhbmNlKGUsdCxhLHIpe2lmKHRoaXMuZGF0YS5wYXNzd29yZClyZXR1cm4gbnVsbDtjb25zdCBuPXI/LmdldCh0aGlzLmRhdGEuaWQpO2xldCBzLG87aWYobil7cz1uLmZvcm1hdHRlZFZhbHVlfHxuLnZhbHVlO289bi5yb3RhdGlvbn1pZih2b2lkIDA9PT1vJiZ2b2lkIDA9PT1zJiYhdGhpcy5fbmVlZEFwcGVhcmFuY2VzJiYoIXRoaXMuX2hhc1ZhbHVlRnJvbVhGQXx8dGhpcy5hcHBlYXJhbmNlKSlyZXR1cm4gbnVsbDtjb25zdCBsPXRoaXMuZ2V0Qm9yZGVyQW5kQmFja2dyb3VuZEFwcGVhcmFuY2VzKHIpO2lmKHZvaWQgMD09PXMpe3M9dGhpcy5kYXRhLmZpZWxkVmFsdWU7aWYoIXMpcmV0dXJuYC9UeCBCTUMgcSAke2x9USBFTUNgfUFycmF5LmlzQXJyYXkocykmJjE9PT1zLmxlbmd0aCYmKHM9c1swXSk7YXNzZXJ0KCJzdHJpbmciPT10eXBlb2YgcywiRXhwZWN0ZWQgYHZhbHVlYCB0byBiZSBhIHN0cmluZy4iKTtzPXMudHJpbUVuZCgpO2lmKHRoaXMuZGF0YS5jb21ibyl7Y29uc3QgZT10aGlzLmRhdGEub3B0aW9ucy5maW5kKCgoe2V4cG9ydFZhbHVlOmV9KT0+cz09PWUpKTtzPWU/LmRpc3BsYXlWYWx1ZXx8c31pZigiIj09PXMpcmV0dXJuYC9UeCBCTUMgcSAke2x9USBFTUNgO3ZvaWQgMD09PW8mJihvPXRoaXMucm90YXRpb24pO2xldCBoLHU9LTE7aWYodGhpcy5kYXRhLm11bHRpTGluZSl7aD1zLnNwbGl0KC9cclxuP3xcbi8pLm1hcCgoZT0+ZS5ub3JtYWxpemUoIk5GQyIpKSk7dT1oLmxlbmd0aH1lbHNlIGg9W3MucmVwbGFjZSgvXHJcbj98XG4vLCIiKS5ub3JtYWxpemUoIk5GQyIpXTtsZXR7d2lkdGg6ZCxoZWlnaHQ6Zn09dGhpczs5MCE9PW8mJjI3MCE9PW98fChbZCxmXT1bZixkXSk7dGhpcy5fZGVmYXVsdEFwcGVhcmFuY2V8fCh0aGlzLmRhdGEuZGVmYXVsdEFwcGVhcmFuY2VEYXRhPXBhcnNlRGVmYXVsdEFwcGVhcmFuY2UodGhpcy5fZGVmYXVsdEFwcGVhcmFuY2U9Ii9IZWx2ZXRpY2EgMCBUZiAwIGciKSk7bGV0IGcscCxtLGI9YXdhaXQgV2lkZ2V0QW5ub3RhdGlvbi5fZ2V0Rm9udERhdGEoZSx0LHRoaXMuZGF0YS5kZWZhdWx0QXBwZWFyYW5jZURhdGEsdGhpcy5fZmllbGRSZXNvdXJjZXMubWVyZ2VkUmVzb3VyY2VzKTtjb25zdCB5PVtdO2xldCB3PSExO2Zvcihjb25zdCBlIG9mIGgpe2NvbnN0IHQ9Yi5lbmNvZGVTdHJpbmcoZSk7dC5sZW5ndGg+MSYmKHc9ITApO3kucHVzaCh0LmpvaW4oIiIpKX1pZih3JiZhJmMpcmV0dXJue25lZWRBcHBlYXJhbmNlczohMH07aWYodyYmdGhpcy5faXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWQpe2NvbnN0IGE9dGhpcy5kYXRhLmNvbWI/Im1vbm9zcGFjZSI6InNhbnMtc2VyaWYiLHI9bmV3IEZha2VVbmljb2RlRm9udChlLnhyZWYsYSksaT1yLmNyZWF0ZUZvbnRSZXNvdXJjZXMoaC5qb2luKCIiKSksbj1pLmdldFJhdygiRm9udCIpO2lmKHRoaXMuX2ZpZWxkUmVzb3VyY2VzLm1lcmdlZFJlc291cmNlcy5oYXMoIkZvbnQiKSl7Y29uc3QgZT10aGlzLl9maWVsZFJlc291cmNlcy5tZXJnZWRSZXNvdXJjZXMuZ2V0KCJGb250Iik7Zm9yKGNvbnN0IHQgb2Ygbi5nZXRLZXlzKCkpZS5zZXQodCxuLmdldFJhdyh0KSl9ZWxzZSB0aGlzLl9maWVsZFJlc291cmNlcy5tZXJnZWRSZXNvdXJjZXMuc2V0KCJGb250IixuKTtjb25zdCBvPXIuZm9udE5hbWUubmFtZTtiPWF3YWl0IFdpZGdldEFubm90YXRpb24uX2dldEZvbnREYXRhKGUsdCx7Zm9udE5hbWU6byxmb250U2l6ZTowfSxpKTtmb3IobGV0IGU9MCx0PXkubGVuZ3RoO2U8dDtlKyspeVtlXT1zdHJpbmdUb1VURjE2U3RyaW5nKGhbZV0pO2NvbnN0IGM9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKG51bGwpLHRoaXMuZGF0YS5kZWZhdWx0QXBwZWFyYW5jZURhdGEpO3RoaXMuZGF0YS5kZWZhdWx0QXBwZWFyYW5jZURhdGEuZm9udFNpemU9MDt0aGlzLmRhdGEuZGVmYXVsdEFwcGVhcmFuY2VEYXRhLmZvbnROYW1lPW87W2cscCxtXT10aGlzLl9jb21wdXRlRm9udFNpemUoZi0yLGQtNCxzLGIsdSk7dGhpcy5kYXRhLmRlZmF1bHRBcHBlYXJhbmNlRGF0YT1jfWVsc2V7dGhpcy5faXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWR8fHdhcm4oIl9nZXRBcHBlYXJhbmNlOiBPZmZzY3JlZW5DYW52YXMgaXMgbm90IHN1cHBvcnRlZCwgYW5ub3RhdGlvbiBtYXkgbm90IHJlbmRlciBjb3JyZWN0bHkuIik7W2cscCxtXT10aGlzLl9jb21wdXRlRm9udFNpemUoZi0yLGQtNCxzLGIsdSl9bGV0IHg9Yi5kZXNjZW50O3g9aXNOYU4oeCk/aSptOk1hdGgubWF4KGkqbSxNYXRoLmFicyh4KSpwKTtjb25zdCBTPU1hdGgubWluKE1hdGguZmxvb3IoKGYtcCkvMiksMSksaz10aGlzLmRhdGEudGV4dEFsaWdubWVudDtpZih0aGlzLmRhdGEubXVsdGlMaW5lKXJldHVybiB0aGlzLl9nZXRNdWx0aWxpbmVBcHBlYXJhbmNlKGcseSxiLHAsZCxmLGssMixTLHgsbSxyKTtpZih0aGlzLmRhdGEuY29tYilyZXR1cm4gdGhpcy5fZ2V0Q29tYkFwcGVhcmFuY2UoZyxiLHlbMF0scCxkLGYsMixTLHgsbSxyKTtjb25zdCBDPVMreDtpZigwPT09a3x8az4yKXJldHVybmAvVHggQk1DIHEgJHtsfUJUIGArZytgIDEgMCAwIDEgJHtudW1iZXJUb1N0cmluZygyKX0gJHtudW1iZXJUb1N0cmluZyhDKX0gVG0gKCR7ZXNjYXBlU3RyaW5nKHlbMF0pfSkgVGogRVQgUSBFTUNgO3JldHVybmAvVHggQk1DIHEgJHtsfUJUIGArZytgIDEgMCAwIDEgMCAwIFRtICR7dGhpcy5fcmVuZGVyVGV4dCh5WzBdLGIscCxkLGsse3NoaWZ0OjB9LDIsQyl9IEVUIFEgRU1DYH1zdGF0aWMgYXN5bmMgX2dldEZvbnREYXRhKGUsdCxhLHIpe2NvbnN0IGk9bmV3IE9wZXJhdG9yTGlzdCxuPXtmb250Om51bGwsY2xvbmUoKXtyZXR1cm4gdGhpc319LHtmb250TmFtZTpzLGZvbnRTaXplOm99PWE7YXdhaXQgZS5oYW5kbGVTZXRGb250KHIsW3MmJk5hbWUuZ2V0KHMpLG9dLG51bGwsaSx0LG4sbnVsbCk7cmV0dXJuIG4uZm9udH1fZ2V0VGV4dFdpZHRoKGUsdCl7cmV0dXJuIE1hdGguc3VtUHJlY2lzZSh0LmNoYXJzVG9HbHlwaHMoZSkubWFwKChlPT5lLndpZHRoKSkpLzFlM31fY29tcHV0ZUZvbnRTaXplKGUsdCxyLGksbil7bGV0e2ZvbnRTaXplOnN9PXRoaXMuZGF0YS5kZWZhdWx0QXBwZWFyYW5jZURhdGEsbz0oc3x8MTIpKmEsYz1NYXRoLnJvdW5kKGUvbyk7aWYoIXMpe2NvbnN0IHJvdW5kV2l0aFR3b0RpZ2l0cz1lPT5NYXRoLmZsb29yKDEwMCplKS8xMDA7aWYoLTE9PT1uKXtjb25zdCBuPXRoaXMuX2dldFRleHRXaWR0aChyLGkpO3M9cm91bmRXaXRoVHdvRGlnaXRzKE1hdGgubWluKGUvYSx0L24pKTtjPTF9ZWxzZXtjb25zdCBsPXIuc3BsaXQoL1xyXG4/fFxuLyksaD1bXTtmb3IoY29uc3QgZSBvZiBsKXtjb25zdCB0PWkuZW5jb2RlU3RyaW5nKGUpLmpvaW4oIiIpLGE9aS5jaGFyc1RvR2x5cGhzKHQpLHI9aS5nZXRDaGFyUG9zaXRpb25zKHQpO2gucHVzaCh7bGluZTp0LGdseXBoczphLHBvc2l0aW9uczpyfSl9Y29uc3QgaXNUb29CaWc9YT0+e2xldCByPTA7Zm9yKGNvbnN0IG4gb2YgaCl7cis9dGhpcy5fc3BsaXRMaW5lKG51bGwsaSxhLHQsbikubGVuZ3RoKmE7aWYocj5lKXJldHVybiEwfXJldHVybiExfTtjPU1hdGgubWF4KGMsbik7Zm9yKDs7KXtvPWUvYztzPXJvdW5kV2l0aFR3b0RpZ2l0cyhvL2EpO2lmKCFpc1Rvb0JpZyhzKSlicmVhaztjKyt9fWNvbnN0e2ZvbnROYW1lOmwsZm9udENvbG9yOmh9PXRoaXMuZGF0YS5kZWZhdWx0QXBwZWFyYW5jZURhdGE7dGhpcy5fZGVmYXVsdEFwcGVhcmFuY2U9ZnVuY3Rpb24gY3JlYXRlRGVmYXVsdEFwcGVhcmFuY2Uoe2ZvbnRTaXplOmUsZm9udE5hbWU6dCxmb250Q29sb3I6YX0pe3JldHVybmAvJHtlc2NhcGVQREZOYW1lKHQpfSAke2V9IFRmICR7Z2V0UGRmQ29sb3IoYSwhMCl9YH0oe2ZvbnRTaXplOnMsZm9udE5hbWU6bCxmb250Q29sb3I6aH0pfXJldHVyblt0aGlzLl9kZWZhdWx0QXBwZWFyYW5jZSxzLGUvY119X3JlbmRlclRleHQoZSx0LGEscixpLG4scyxvKXtsZXQgYztpZigxPT09aSl7Yz0oci10aGlzLl9nZXRUZXh0V2lkdGgoZSx0KSphKS8yfWVsc2UgaWYoMj09PWkpe2M9ci10aGlzLl9nZXRUZXh0V2lkdGgoZSx0KSphLXN9ZWxzZSBjPXM7Y29uc3QgbD1udW1iZXJUb1N0cmluZyhjLW4uc2hpZnQpO24uc2hpZnQ9YztyZXR1cm5gJHtsfSAke289bnVtYmVyVG9TdHJpbmcobyl9IFRkICgke2VzY2FwZVN0cmluZyhlKX0pIFRqYH1fZ2V0U2F2ZUZpZWxkUmVzb3VyY2VzKGUpe2NvbnN0e2xvY2FsUmVzb3VyY2VzOnQsYXBwZWFyYW5jZVJlc291cmNlczphLGFjcm9Gb3JtUmVzb3VyY2VzOnJ9PXRoaXMuX2ZpZWxkUmVzb3VyY2VzLGk9dGhpcy5kYXRhLmRlZmF1bHRBcHBlYXJhbmNlRGF0YT8uZm9udE5hbWU7aWYoIWkpcmV0dXJuIHR8fERpY3QuZW1wdHk7Zm9yKGNvbnN0IGUgb2ZbdCxhXSlpZihlIGluc3RhbmNlb2YgRGljdCl7Y29uc3QgdD1lLmdldCgiRm9udCIpO2lmKHQgaW5zdGFuY2VvZiBEaWN0JiZ0LmhhcyhpKSlyZXR1cm4gZX1pZihyIGluc3RhbmNlb2YgRGljdCl7Y29uc3QgYT1yLmdldCgiRm9udCIpO2lmKGEgaW5zdGFuY2VvZiBEaWN0JiZhLmhhcyhpKSl7Y29uc3Qgcj1uZXcgRGljdChlKTtyLnNldChpLGEuZ2V0UmF3KGkpKTtjb25zdCBuPW5ldyBEaWN0KGUpO24uc2V0KCJGb250IixyKTtyZXR1cm4gRGljdC5tZXJnZSh7eHJlZjplLGRpY3RBcnJheTpbbix0XSxtZXJnZVN1YkRpY3RzOiEwfSl9fXJldHVybiB0fHxEaWN0LmVtcHR5fWdldEZpZWxkT2JqZWN0KCl7cmV0dXJuIG51bGx9fWNsYXNzIFRleHRXaWRnZXRBbm5vdGF0aW9uIGV4dGVuZHMgV2lkZ2V0QW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTtjb25zdHtkaWN0OnR9PWU7aWYodC5oYXMoIlBNRCIpKXt0aGlzLmZsYWdzfD1EO3RoaXMuZGF0YS5oaWRkZW49ITA7d2FybigiQmFyY29kZXMgYXJlIG5vdCBzdXBwb3J0ZWQiKX10aGlzLmRhdGEuaGFzT3duQ2FudmFzPXRoaXMuZGF0YS5yZWFkT25seSYmIXRoaXMuZGF0YS5ub0hUTUw7dGhpcy5faGFzVGV4dD0hMDsic3RyaW5nIiE9dHlwZW9mIHRoaXMuZGF0YS5maWVsZFZhbHVlJiYodGhpcy5kYXRhLmZpZWxkVmFsdWU9IiIpO2xldCBhPWdldEluaGVyaXRhYmxlUHJvcGVydHkoe2RpY3Q6dCxrZXk6IlEifSk7KCFOdW1iZXIuaXNJbnRlZ2VyKGEpfHxhPDB8fGE+MikmJihhPW51bGwpO3RoaXMuZGF0YS50ZXh0QWxpZ25tZW50PWE7bGV0IHI9Z2V0SW5oZXJpdGFibGVQcm9wZXJ0eSh7ZGljdDp0LGtleToiTWF4TGVuIn0pOyghTnVtYmVyLmlzSW50ZWdlcihyKXx8cjwwKSYmKHI9MCk7dGhpcy5kYXRhLm1heExlbj1yO3RoaXMuZGF0YS5tdWx0aUxpbmU9dGhpcy5oYXNGaWVsZEZsYWcoWCk7dGhpcy5kYXRhLmNvbWI9dGhpcy5oYXNGaWVsZEZsYWcoSykmJiF0aGlzLmRhdGEubXVsdGlMaW5lJiYhdGhpcy5kYXRhLnBhc3N3b3JkJiYhdGhpcy5oYXNGaWVsZEZsYWcoJCkmJjAhPT10aGlzLmRhdGEubWF4TGVuO3RoaXMuZGF0YS5kb05vdFNjcm9sbD10aGlzLmhhc0ZpZWxkRmxhZyhWKTtjb25zdHtkYXRhOnthY3Rpb25zOml9fT10aGlzO2lmKCFpKXJldHVybjtjb25zdCBuPS9eQUYoRGF0ZXxUaW1lKV8oPzpLZXlzdHJva2V8Rm9ybWF0KSg/OkV4KT9cKFsnIl0/KFteJyJdKylbJyJdP1wpOyQvO2xldCBzPSExOygxPT09aS5Gb3JtYXQ/Lmxlbmd0aCYmMT09PWkuS2V5c3Ryb2tlPy5sZW5ndGgmJm4udGVzdChpLkZvcm1hdFswXSkmJm4udGVzdChpLktleXN0cm9rZVswXSl8fDA9PT1pLkZvcm1hdD8ubGVuZ3RoJiYxPT09aS5LZXlzdHJva2U/Lmxlbmd0aCYmbi50ZXN0KGkuS2V5c3Ryb2tlWzBdKXx8MD09PWkuS2V5c3Ryb2tlPy5sZW5ndGgmJjE9PT1pLkZvcm1hdD8ubGVuZ3RoJiZuLnRlc3QoaS5Gb3JtYXRbMF0pKSYmKHM9ITApO2NvbnN0IG89W107aS5Gb3JtYXQmJm8ucHVzaCguLi5pLkZvcm1hdCk7aS5LZXlzdHJva2UmJm8ucHVzaCguLi5pLktleXN0cm9rZSk7aWYocyl7ZGVsZXRlIGkuS2V5c3Ryb2tlO2kuRm9ybWF0PW99Zm9yKGNvbnN0IGUgb2Ygbyl7Y29uc3QgdD1lLm1hdGNoKG4pO2lmKCF0KWNvbnRpbnVlO2NvbnN0IGE9IkRhdGUiPT09dFsxXTtsZXQgcj10WzJdO2NvbnN0IGk9cGFyc2VJbnQociwxMCk7aXNOYU4oaSl8fE1hdGguZmxvb3IoTWF0aC5sb2cxMChpKSkrMSE9PXRbMl0ubGVuZ3RofHwocj0oYT93bjp4bilbaV0/P3IpO3RoaXMuZGF0YS5kYXRldGltZUZvcm1hdD1yO2lmKCFzKWJyZWFrO2lmKGEpe2lmKC9ISHxNTXxzc3xoLy50ZXN0KHIpKXt0aGlzLmRhdGEuZGF0ZXRpbWVUeXBlPSJkYXRldGltZS1sb2NhbCI7dGhpcy5kYXRhLnRpbWVTdGVwPS9zcy8udGVzdChyKT8xOjYwfWVsc2UgdGhpcy5kYXRhLmRhdGV0aW1lVHlwZT0iZGF0ZSI7YnJlYWt9dGhpcy5kYXRhLmRhdGV0aW1lVHlwZT0idGltZSI7dGhpcy5kYXRhLnRpbWVTdGVwPS9zcy8udGVzdChyKT8xOjYwO2JyZWFrfX1nZXQgaGFzVGV4dENvbnRlbnQoKXtyZXR1cm4hIXRoaXMuYXBwZWFyYW5jZSYmIXRoaXMuX25lZWRBcHBlYXJhbmNlc31fZ2V0Q29tYkFwcGVhcmFuY2UoZSx0LGEscixpLG4scyxvLGMsbCxoKXtjb25zdCB1PWkvdGhpcy5kYXRhLm1heExlbixkPXRoaXMuZ2V0Qm9yZGVyQW5kQmFja2dyb3VuZEFwcGVhcmFuY2VzKGgpLGY9W10sZz10LmdldENoYXJQb3NpdGlvbnMoYSk7Zm9yKGNvbnN0W2UsdF1vZiBnKWYucHVzaChgKCR7ZXNjYXBlU3RyaW5nKGEuc3Vic3RyaW5nKGUsdCkpfSkgVGpgKTtjb25zdCBwPWYuam9pbihgICR7bnVtYmVyVG9TdHJpbmcodSl9IDAgVGQgYCk7cmV0dXJuYC9UeCBCTUMgcSAke2R9QlQgYCtlK2AgMSAwIDAgMSAke251bWJlclRvU3RyaW5nKHMpfSAke251bWJlclRvU3RyaW5nKG8rYyl9IFRtICR7cH0gRVQgUSBFTUNgfV9nZXRNdWx0aWxpbmVBcHBlYXJhbmNlKGUsdCxhLHIsaSxuLHMsbyxjLGwsaCx1KXtjb25zdCBkPVtdLGY9aS0yKm8sZz17c2hpZnQ6MH07Zm9yKGxldCBlPTAsbj10Lmxlbmd0aDtlPG47ZSsrKXtjb25zdCBuPXRbZV0sdT10aGlzLl9zcGxpdExpbmUobixhLHIsZik7Zm9yKGxldCB0PTAsbj11Lmxlbmd0aDt0PG47dCsrKXtjb25zdCBuPXVbdF0sZj0wPT09ZSYmMD09PXQ/LWMtKGgtbCk6LWg7ZC5wdXNoKHRoaXMuX3JlbmRlclRleHQobixhLHIsaSxzLGcsbyxmKSl9fWNvbnN0IHA9dGhpcy5nZXRCb3JkZXJBbmRCYWNrZ3JvdW5kQXBwZWFyYW5jZXModSksbT1kLmpvaW4oIlxuIik7cmV0dXJuYC9UeCBCTUMgcSAke3B9QlQgYCtlK2AgMSAwIDAgMSAwICR7bnVtYmVyVG9TdHJpbmcobil9IFRtICR7bX0gRVQgUSBFTUNgfV9zcGxpdExpbmUoZSx0LGEscixpPXt9KXtlPWkubGluZXx8ZTtjb25zdCBuPWkuZ2x5cGhzfHx0LmNoYXJzVG9HbHlwaHMoZSk7aWYobi5sZW5ndGg8PTEpcmV0dXJuW2VdO2NvbnN0IHM9aS5wb3NpdGlvbnN8fHQuZ2V0Q2hhclBvc2l0aW9ucyhlKSxvPWEvMWUzLGM9W107bGV0IGw9LTEsaD0tMSx1PS0xLGQ9MCxmPTA7Zm9yKGxldCB0PTAsYT1uLmxlbmd0aDt0PGE7dCsrKXtjb25zdFthLGldPXNbdF0sZz1uW3RdLHA9Zy53aWR0aCpvO2lmKCIgIj09PWcudW5pY29kZSlpZihmK3A+cil7Yy5wdXNoKGUuc3Vic3RyaW5nKGQsYSkpO2Q9YTtmPXA7bD0tMTt1PS0xfWVsc2V7Zis9cDtsPWE7aD1pO3U9dH1lbHNlIGlmKGYrcD5yKWlmKC0xIT09bCl7Yy5wdXNoKGUuc3Vic3RyaW5nKGQsaCkpO2Q9aDt0PXUrMTtsPS0xO2Y9MH1lbHNle2MucHVzaChlLnN1YnN0cmluZyhkLGEpKTtkPWE7Zj1wfWVsc2UgZis9cH1kPGUubGVuZ3RoJiZjLnB1c2goZS5zdWJzdHJpbmcoZCxlLmxlbmd0aCkpO3JldHVybiBjfWFzeW5jIGV4dHJhY3RUZXh0Q29udGVudChlLHQsYSl7YXdhaXQgc3VwZXIuZXh0cmFjdFRleHRDb250ZW50KGUsdCxhKTtjb25zdCByPXRoaXMuZGF0YS50ZXh0Q29udGVudDtpZighcilyZXR1cm47Y29uc3QgaT1yLmpvaW4oIlxuIik7aWYoaT09PXRoaXMuZGF0YS5maWVsZFZhbHVlKXJldHVybjtjb25zdCBuPWkucmVwbGFjZUFsbCgvKFsuKis/XiR7fSgpfFtcXVxcXSl8KFxzKykvZywoKGUsdCk9PnQ/YFxcJHt0fWA6IlxccysiKSk7bmV3IFJlZ0V4cChgXlxccyoke259XFxzKiRgKS50ZXN0KHRoaXMuZGF0YS5maWVsZFZhbHVlKSYmKHRoaXMuZGF0YS50ZXh0Q29udGVudD10aGlzLmRhdGEuZmllbGRWYWx1ZS5zcGxpdCgiXG4iKSl9Z2V0RmllbGRPYmplY3QoKXtyZXR1cm57aWQ6dGhpcy5kYXRhLmlkLHZhbHVlOnRoaXMuZGF0YS5maWVsZFZhbHVlLGRlZmF1bHRWYWx1ZTp0aGlzLmRhdGEuZGVmYXVsdEZpZWxkVmFsdWV8fCIiLG11bHRpbGluZTp0aGlzLmRhdGEubXVsdGlMaW5lLHBhc3N3b3JkOnRoaXMuZGF0YS5wYXNzd29yZCxjaGFyTGltaXQ6dGhpcy5kYXRhLm1heExlbixjb21iOnRoaXMuZGF0YS5jb21iLGVkaXRhYmxlOiF0aGlzLmRhdGEucmVhZE9ubHksaGlkZGVuOnRoaXMuZGF0YS5oaWRkZW4sbmFtZTp0aGlzLmRhdGEuZmllbGROYW1lLHJlY3Q6dGhpcy5kYXRhLnJlY3QsYWN0aW9uczp0aGlzLmRhdGEuYWN0aW9ucyxwYWdlOnRoaXMuZGF0YS5wYWdlSW5kZXgsc3Ryb2tlQ29sb3I6dGhpcy5kYXRhLmJvcmRlckNvbG9yLGZpbGxDb2xvcjp0aGlzLmRhdGEuYmFja2dyb3VuZENvbG9yLHJvdGF0aW9uOnRoaXMucm90YXRpb24sZGF0ZXRpbWVGb3JtYXQ6dGhpcy5kYXRhLmRhdGV0aW1lRm9ybWF0LGhhc0RhdGV0aW1lSFRNTDohIXRoaXMuZGF0YS5kYXRldGltZVR5cGUsdHlwZToidGV4dCJ9fX1jbGFzcyBCdXR0b25XaWRnZXRBbm5vdGF0aW9uIGV4dGVuZHMgV2lkZ2V0QW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTt0aGlzLmNoZWNrZWRBcHBlYXJhbmNlPW51bGw7dGhpcy51bmNoZWNrZWRBcHBlYXJhbmNlPW51bGw7Y29uc3QgdD10aGlzLmhhc0ZpZWxkRmxhZyhIKSxhPXRoaXMuaGFzRmllbGRGbGFnKFcpO3RoaXMuZGF0YS5jaGVja0JveD0hdCYmIWE7dGhpcy5kYXRhLnJhZGlvQnV0dG9uPXQmJiFhO3RoaXMuZGF0YS5wdXNoQnV0dG9uPWE7dGhpcy5kYXRhLmlzVG9vbHRpcE9ubHk9ITE7aWYodGhpcy5kYXRhLmNoZWNrQm94KXRoaXMuX3Byb2Nlc3NDaGVja0JveChlKTtlbHNlIGlmKHRoaXMuZGF0YS5yYWRpb0J1dHRvbil0aGlzLl9wcm9jZXNzUmFkaW9CdXR0b24oZSk7ZWxzZSBpZih0aGlzLmRhdGEucHVzaEJ1dHRvbil7dGhpcy5kYXRhLmhhc093bkNhbnZhcz0hMDt0aGlzLmRhdGEubm9IVE1MPSExO3RoaXMuX3Byb2Nlc3NQdXNoQnV0dG9uKGUpfWVsc2Ugd2FybigiSW52YWxpZCBmaWVsZCBmbGFncyBmb3IgYnV0dG9uIHdpZGdldCBhbm5vdGF0aW9uIil9YXN5bmMgZ2V0T3BlcmF0b3JMaXN0KGUsdCxhLHIpe2lmKHRoaXMuZGF0YS5wdXNoQnV0dG9uKXJldHVybiBzdXBlci5nZXRPcGVyYXRvckxpc3QoZSx0LGEsITEscik7bGV0IGk9bnVsbCxuPW51bGw7aWYocil7Y29uc3QgZT1yLmdldCh0aGlzLmRhdGEuaWQpO2k9ZT9lLnZhbHVlOm51bGw7bj1lP2Uucm90YXRpb246bnVsbH1pZihudWxsPT09aSYmdGhpcy5hcHBlYXJhbmNlKXJldHVybiBzdXBlci5nZXRPcGVyYXRvckxpc3QoZSx0LGEscik7bnVsbD09aSYmKGk9dGhpcy5kYXRhLmNoZWNrQm94P3RoaXMuZGF0YS5maWVsZFZhbHVlPT09dGhpcy5kYXRhLmV4cG9ydFZhbHVlOnRoaXMuZGF0YS5maWVsZFZhbHVlPT09dGhpcy5kYXRhLmJ1dHRvblZhbHVlKTtjb25zdCBzPWk/dGhpcy5jaGVja2VkQXBwZWFyYW5jZTp0aGlzLnVuY2hlY2tlZEFwcGVhcmFuY2U7aWYocyl7Y29uc3QgaT10aGlzLmFwcGVhcmFuY2Usbz1sb29rdXBNYXRyaXgocy5kaWN0LmdldEFycmF5KCJNYXRyaXgiKSxsYSk7biYmcy5kaWN0LnNldCgiTWF0cml4Iix0aGlzLmdldFJvdGF0aW9uTWF0cml4KHIpKTt0aGlzLmFwcGVhcmFuY2U9cztjb25zdCBjPXN1cGVyLmdldE9wZXJhdG9yTGlzdChlLHQsYSxyKTt0aGlzLmFwcGVhcmFuY2U9aTtzLmRpY3Quc2V0KCJNYXRyaXgiLG8pO3JldHVybiBjfXJldHVybntvcExpc3Q6bmV3IE9wZXJhdG9yTGlzdCxzZXBhcmF0ZUZvcm06ITEsc2VwYXJhdGVDYW52YXM6ITF9fWFzeW5jIHNhdmUoZSx0LGEscil7dGhpcy5kYXRhLmNoZWNrQm94P3RoaXMuX3NhdmVDaGVja2JveChlLHQsYSxyKTp0aGlzLmRhdGEucmFkaW9CdXR0b24mJnRoaXMuX3NhdmVSYWRpb0J1dHRvbihlLHQsYSxyKX1hc3luYyBfc2F2ZUNoZWNrYm94KGUsdCxhLHIpe2lmKCFhKXJldHVybjtjb25zdCBpPWEuZ2V0KHRoaXMuZGF0YS5pZCksbj10aGlzLl9idWlsZEZsYWdzKGk/Lm5vVmlldyxpPy5ub1ByaW50KTtsZXQgcz1pPy5yb3RhdGlvbixvPWk/LnZhbHVlO2lmKHZvaWQgMD09PXMmJnZvaWQgMD09PW4pe2lmKHZvaWQgMD09PW8pcmV0dXJuO2lmKHRoaXMuZGF0YS5maWVsZFZhbHVlPT09dGhpcy5kYXRhLmV4cG9ydFZhbHVlPT09bylyZXR1cm59bGV0IGM9ZS54cmVmLmZldGNoSWZSZWYodGhpcy5yZWYpO2lmKCEoYyBpbnN0YW5jZW9mIERpY3QpKXJldHVybjtjPWMuY2xvbmUoKTt2b2lkIDA9PT1zJiYocz10aGlzLnJvdGF0aW9uKTt2b2lkIDA9PT1vJiYobz10aGlzLmRhdGEuZmllbGRWYWx1ZT09PXRoaXMuZGF0YS5leHBvcnRWYWx1ZSk7Y29uc3QgbD17cGF0aDp0aGlzLmRhdGEuZmllbGROYW1lLHZhbHVlOm8/dGhpcy5kYXRhLmV4cG9ydFZhbHVlOiIifSxoPU5hbWUuZ2V0KG8/dGhpcy5kYXRhLmV4cG9ydFZhbHVlOiJPZmYiKTt0aGlzLnNldFZhbHVlKGMsaCxlLnhyZWYscik7Yy5zZXQoIkFTIixoKTtjLnNldCgiTSIsYEQ6JHtnZXRNb2RpZmljYXRpb25EYXRlKCl9YCk7dm9pZCAwIT09biYmYy5zZXQoIkYiLG4pO2NvbnN0IHU9dGhpcy5fZ2V0TUtEaWN0KHMpO3UmJmMuc2V0KCJNSyIsdSk7ci5wdXQodGhpcy5yZWYse2RhdGE6Yyx4ZmE6bCxuZWVkQXBwZWFyYW5jZXM6ITF9KX1hc3luYyBfc2F2ZVJhZGlvQnV0dG9uKGUsdCxhLHIpe2lmKCFhKXJldHVybjtjb25zdCBpPWEuZ2V0KHRoaXMuZGF0YS5pZCksbj10aGlzLl9idWlsZEZsYWdzKGk/Lm5vVmlldyxpPy5ub1ByaW50KTtsZXQgcz1pPy5yb3RhdGlvbixvPWk/LnZhbHVlO2lmKHZvaWQgMD09PXMmJnZvaWQgMD09PW4pe2lmKHZvaWQgMD09PW8pcmV0dXJuO2lmKHRoaXMuZGF0YS5maWVsZFZhbHVlPT09dGhpcy5kYXRhLmJ1dHRvblZhbHVlPT09bylyZXR1cm59bGV0IGM9ZS54cmVmLmZldGNoSWZSZWYodGhpcy5yZWYpO2lmKCEoYyBpbnN0YW5jZW9mIERpY3QpKXJldHVybjtjPWMuY2xvbmUoKTt2b2lkIDA9PT1vJiYobz10aGlzLmRhdGEuZmllbGRWYWx1ZT09PXRoaXMuZGF0YS5idXR0b25WYWx1ZSk7dm9pZCAwPT09cyYmKHM9dGhpcy5yb3RhdGlvbik7Y29uc3QgbD17cGF0aDp0aGlzLmRhdGEuZmllbGROYW1lLHZhbHVlOm8/dGhpcy5kYXRhLmJ1dHRvblZhbHVlOiIifSxoPU5hbWUuZ2V0KG8/dGhpcy5kYXRhLmJ1dHRvblZhbHVlOiJPZmYiKTtvJiZ0aGlzLnNldFZhbHVlKGMsaCxlLnhyZWYscik7Yy5zZXQoIkFTIixoKTtjLnNldCgiTSIsYEQ6JHtnZXRNb2RpZmljYXRpb25EYXRlKCl9YCk7dm9pZCAwIT09biYmYy5zZXQoIkYiLG4pO2NvbnN0IHU9dGhpcy5fZ2V0TUtEaWN0KHMpO3UmJmMuc2V0KCJNSyIsdSk7ci5wdXQodGhpcy5yZWYse2RhdGE6Yyx4ZmE6bCxuZWVkQXBwZWFyYW5jZXM6ITF9KX1fZ2V0RGVmYXVsdENoZWNrZWRBcHBlYXJhbmNlKGUsdCl7Y29uc3R7d2lkdGg6YSxoZWlnaHQ6cn09dGhpcyxpPVswLDAsYSxyXSxuPS44Kk1hdGgubWluKGEscik7bGV0IHMsbztpZigiY2hlY2siPT09dCl7cz17d2lkdGg6Ljc1NSpuLGhlaWdodDouNzA1Km59O289IjMifWVsc2UgaWYoImRpc2MiPT09dCl7cz17d2lkdGg6Ljc5MSpuLGhlaWdodDouNzA1Km59O289ImwifWVsc2UgdW5yZWFjaGFibGUoYF9nZXREZWZhdWx0Q2hlY2tlZEFwcGVhcmFuY2UgLSB1bnN1cHBvcnRlZCB0eXBlOiAke3R9YCk7Y29uc3QgYz1gcSBCVCAvUGRmSnNaYURiICR7bn0gVGYgMCBnICR7bnVtYmVyVG9TdHJpbmcoKGEtcy53aWR0aCkvMil9ICR7bnVtYmVyVG9TdHJpbmcoKHItcy5oZWlnaHQpLzIpfSBUZCAoJHtvfSkgVGogRVQgUWAsbD1uZXcgRGljdChlLnhyZWYpO2wuc2V0KCJGb3JtVHlwZSIsMSk7bC5zZXRJZk5hbWUoIlN1YnR5cGUiLCJGb3JtIik7bC5zZXRJZk5hbWUoIlR5cGUiLCJYT2JqZWN0Iik7bC5zZXQoIkJCb3giLGkpO2wuc2V0KCJNYXRyaXgiLFsxLDAsMCwxLDAsMF0pO2wuc2V0KCJMZW5ndGgiLGMubGVuZ3RoKTtjb25zdCBoPW5ldyBEaWN0KGUueHJlZiksdT1uZXcgRGljdChlLnhyZWYpO3Uuc2V0KCJQZGZKc1phRGIiLHRoaXMuZmFsbGJhY2tGb250RGljdCk7aC5zZXQoIkZvbnQiLHUpO2wuc2V0KCJSZXNvdXJjZXMiLGgpO3RoaXMuY2hlY2tlZEFwcGVhcmFuY2U9bmV3IFN0cmluZ1N0cmVhbShjKTt0aGlzLmNoZWNrZWRBcHBlYXJhbmNlLmRpY3Q9bDt0aGlzLl9zdHJlYW1zLnB1c2godGhpcy5jaGVja2VkQXBwZWFyYW5jZSl9X3Byb2Nlc3NDaGVja0JveChlKXtjb25zdCB0PWUuZGljdC5nZXQoIkFQIik7aWYoISh0IGluc3RhbmNlb2YgRGljdCkpcmV0dXJuO2NvbnN0IGE9dC5nZXQoIk4iKTtpZighKGEgaW5zdGFuY2VvZiBEaWN0KSlyZXR1cm47Y29uc3Qgcj10aGlzLl9kZWNvZGVGb3JtVmFsdWUoZS5kaWN0LmdldCgiQVMiKSk7InN0cmluZyI9PXR5cGVvZiByJiYodGhpcy5kYXRhLmZpZWxkVmFsdWU9cik7Y29uc3QgaT1udWxsIT09dGhpcy5kYXRhLmZpZWxkVmFsdWUmJiJPZmYiIT09dGhpcy5kYXRhLmZpZWxkVmFsdWU/dGhpcy5kYXRhLmZpZWxkVmFsdWU6IlllcyIsbj10aGlzLl9kZWNvZGVGb3JtVmFsdWUoYS5nZXRLZXlzKCkpO2lmKDA9PT1uLmxlbmd0aCluLnB1c2goIk9mZiIsaSk7ZWxzZSBpZigxPT09bi5sZW5ndGgpIk9mZiI9PT1uWzBdP24ucHVzaChpKTpuLnVuc2hpZnQoIk9mZiIpO2Vsc2UgaWYobi5pbmNsdWRlcyhpKSl7bi5sZW5ndGg9MDtuLnB1c2goIk9mZiIsaSl9ZWxzZXtjb25zdCBlPW4uZmluZCgoZT0+Ik9mZiIhPT1lKSk7bi5sZW5ndGg9MDtuLnB1c2goIk9mZiIsZSl9bi5pbmNsdWRlcyh0aGlzLmRhdGEuZmllbGRWYWx1ZSl8fCh0aGlzLmRhdGEuZmllbGRWYWx1ZT0iT2ZmIik7dGhpcy5kYXRhLmV4cG9ydFZhbHVlPW5bMV07Y29uc3Qgcz1hLmdldCh0aGlzLmRhdGEuZXhwb3J0VmFsdWUpO3RoaXMuY2hlY2tlZEFwcGVhcmFuY2U9cyBpbnN0YW5jZW9mIEJhc2VTdHJlYW0/czpudWxsO2NvbnN0IG89YS5nZXQoIk9mZiIpO3RoaXMudW5jaGVja2VkQXBwZWFyYW5jZT1vIGluc3RhbmNlb2YgQmFzZVN0cmVhbT9vOm51bGw7dGhpcy5jaGVja2VkQXBwZWFyYW5jZT90aGlzLl9zdHJlYW1zLnB1c2godGhpcy5jaGVja2VkQXBwZWFyYW5jZSk6dGhpcy5fZ2V0RGVmYXVsdENoZWNrZWRBcHBlYXJhbmNlKGUsImNoZWNrIik7dGhpcy51bmNoZWNrZWRBcHBlYXJhbmNlJiZ0aGlzLl9zdHJlYW1zLnB1c2godGhpcy51bmNoZWNrZWRBcHBlYXJhbmNlKTt0aGlzLl9mYWxsYmFja0ZvbnREaWN0PXRoaXMuZmFsbGJhY2tGb250RGljdDtudWxsPT09dGhpcy5kYXRhLmRlZmF1bHRGaWVsZFZhbHVlJiYodGhpcy5kYXRhLmRlZmF1bHRGaWVsZFZhbHVlPSJPZmYiKX1fcHJvY2Vzc1JhZGlvQnV0dG9uKGUpe3RoaXMuZGF0YS5idXR0b25WYWx1ZT1udWxsO2NvbnN0IHQ9ZS5kaWN0LmdldCgiUGFyZW50Iik7aWYodCBpbnN0YW5jZW9mIERpY3Qpe3RoaXMucGFyZW50PWUuZGljdC5nZXRSYXcoIlBhcmVudCIpO2NvbnN0IGE9dC5nZXQoIlYiKTthIGluc3RhbmNlb2YgTmFtZSYmKHRoaXMuZGF0YS5maWVsZFZhbHVlPXRoaXMuX2RlY29kZUZvcm1WYWx1ZShhKSl9Y29uc3QgYT1lLmRpY3QuZ2V0KCJBUCIpO2lmKCEoYSBpbnN0YW5jZW9mIERpY3QpKXJldHVybjtjb25zdCByPWEuZ2V0KCJOIik7aWYoIShyIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuO2Zvcihjb25zdCBlIG9mIHIuZ2V0S2V5cygpKWlmKCJPZmYiIT09ZSl7dGhpcy5kYXRhLmJ1dHRvblZhbHVlPXRoaXMuX2RlY29kZUZvcm1WYWx1ZShlKTticmVha31jb25zdCBpPXIuZ2V0KHRoaXMuZGF0YS5idXR0b25WYWx1ZSk7dGhpcy5jaGVja2VkQXBwZWFyYW5jZT1pIGluc3RhbmNlb2YgQmFzZVN0cmVhbT9pOm51bGw7Y29uc3Qgbj1yLmdldCgiT2ZmIik7dGhpcy51bmNoZWNrZWRBcHBlYXJhbmNlPW4gaW5zdGFuY2VvZiBCYXNlU3RyZWFtP246bnVsbDt0aGlzLmNoZWNrZWRBcHBlYXJhbmNlP3RoaXMuX3N0cmVhbXMucHVzaCh0aGlzLmNoZWNrZWRBcHBlYXJhbmNlKTp0aGlzLl9nZXREZWZhdWx0Q2hlY2tlZEFwcGVhcmFuY2UoZSwiZGlzYyIpO3RoaXMudW5jaGVja2VkQXBwZWFyYW5jZSYmdGhpcy5fc3RyZWFtcy5wdXNoKHRoaXMudW5jaGVja2VkQXBwZWFyYW5jZSk7dGhpcy5fZmFsbGJhY2tGb250RGljdD10aGlzLmZhbGxiYWNrRm9udERpY3Q7bnVsbD09PXRoaXMuZGF0YS5kZWZhdWx0RmllbGRWYWx1ZSYmKHRoaXMuZGF0YS5kZWZhdWx0RmllbGRWYWx1ZT0iT2ZmIil9X3Byb2Nlc3NQdXNoQnV0dG9uKGUpe2NvbnN0e2RpY3Q6dCxhbm5vdGF0aW9uR2xvYmFsczphfT1lO2lmKHQuaGFzKCJBIil8fHQuaGFzKCJBQSIpfHx0aGlzLmRhdGEuYWx0ZXJuYXRpdmVUZXh0KXt0aGlzLmRhdGEuaXNUb29sdGlwT25seT0hdC5oYXMoIkEiKSYmIXQuaGFzKCJBQSIpO0NhdGFsb2cucGFyc2VEZXN0RGljdGlvbmFyeSh7ZGVzdERpY3Q6dCxyZXN1bHRPYmo6dGhpcy5kYXRhLGRvY0Jhc2VVcmw6YS5iYXNlVXJsLGRvY0F0dGFjaG1lbnRzOmEuYXR0YWNobWVudHN9KX1lbHNlIHdhcm4oIlB1c2ggYnV0dG9ucyB3aXRob3V0IGFjdGlvbiBkaWN0aW9uYXJpZXMgYXJlIG5vdCBzdXBwb3J0ZWQiKX1nZXRGaWVsZE9iamVjdCgpe2xldCBlLHQ9ImJ1dHRvbiI7aWYodGhpcy5kYXRhLmNoZWNrQm94KXt0PSJjaGVja2JveCI7ZT10aGlzLmRhdGEuZXhwb3J0VmFsdWV9ZWxzZSBpZih0aGlzLmRhdGEucmFkaW9CdXR0b24pe3Q9InJhZGlvYnV0dG9uIjtlPXRoaXMuZGF0YS5idXR0b25WYWx1ZX1yZXR1cm57aWQ6dGhpcy5kYXRhLmlkLHZhbHVlOnRoaXMuZGF0YS5maWVsZFZhbHVlfHwiT2ZmIixkZWZhdWx0VmFsdWU6dGhpcy5kYXRhLmRlZmF1bHRGaWVsZFZhbHVlLGV4cG9ydFZhbHVlczplLGVkaXRhYmxlOiF0aGlzLmRhdGEucmVhZE9ubHksbmFtZTp0aGlzLmRhdGEuZmllbGROYW1lLHJlY3Q6dGhpcy5kYXRhLnJlY3QsaGlkZGVuOnRoaXMuZGF0YS5oaWRkZW4sYWN0aW9uczp0aGlzLmRhdGEuYWN0aW9ucyxwYWdlOnRoaXMuZGF0YS5wYWdlSW5kZXgsc3Ryb2tlQ29sb3I6dGhpcy5kYXRhLmJvcmRlckNvbG9yLGZpbGxDb2xvcjp0aGlzLmRhdGEuYmFja2dyb3VuZENvbG9yLHJvdGF0aW9uOnRoaXMucm90YXRpb24sdHlwZTp0fX1nZXQgZmFsbGJhY2tGb250RGljdCgpe2NvbnN0IGU9bmV3IERpY3Q7ZS5zZXRJZk5hbWUoIkJhc2VGb250IiwiWmFwZkRpbmdiYXRzIik7ZS5zZXRJZk5hbWUoIlR5cGUiLCJGYWxsYmFja1R5cGUiKTtlLnNldElmTmFtZSgiU3VidHlwZSIsIkZhbGxiYWNrVHlwZSIpO2Uuc2V0SWZOYW1lKCJFbmNvZGluZyIsIlphcGZEaW5nYmF0c0VuY29kaW5nIik7cmV0dXJuIHNoYWRvdyh0aGlzLCJmYWxsYmFja0ZvbnREaWN0IixlKX19Y2xhc3MgQ2hvaWNlV2lkZ2V0QW5ub3RhdGlvbiBleHRlbmRzIFdpZGdldEFubm90YXRpb257Y29uc3RydWN0b3IoZSl7c3VwZXIoZSk7Y29uc3R7ZGljdDp0LHhyZWY6YX09ZTt0aGlzLmluZGljZXM9dC5nZXRBcnJheSgiSSIpO3RoaXMuaGFzSW5kaWNlcz1BcnJheS5pc0FycmF5KHRoaXMuaW5kaWNlcykmJnRoaXMuaW5kaWNlcy5sZW5ndGg+MDt0aGlzLmRhdGEub3B0aW9ucz1bXTtjb25zdCByPWdldEluaGVyaXRhYmxlUHJvcGVydHkoe2RpY3Q6dCxrZXk6Ik9wdCJ9KTtpZihBcnJheS5pc0FycmF5KHIpKWZvcihsZXQgZT0wLHQ9ci5sZW5ndGg7ZTx0O2UrKyl7Y29uc3QgdD1hLmZldGNoSWZSZWYocltlXSksaT1BcnJheS5pc0FycmF5KHQpO3RoaXMuZGF0YS5vcHRpb25zW2VdPXtleHBvcnRWYWx1ZTp0aGlzLl9kZWNvZGVGb3JtVmFsdWUoaT9hLmZldGNoSWZSZWYodFswXSk6dCksZGlzcGxheVZhbHVlOnRoaXMuX2RlY29kZUZvcm1WYWx1ZShpP2EuZmV0Y2hJZlJlZih0WzFdKTp0KX19aWYodGhpcy5oYXNJbmRpY2VzKXt0aGlzLmRhdGEuZmllbGRWYWx1ZT1bXTtjb25zdCBlPXRoaXMuZGF0YS5vcHRpb25zLmxlbmd0aDtmb3IoY29uc3QgdCBvZiB0aGlzLmluZGljZXMpTnVtYmVyLmlzSW50ZWdlcih0KSYmdD49MCYmdDxlJiZ0aGlzLmRhdGEuZmllbGRWYWx1ZS5wdXNoKHRoaXMuZGF0YS5vcHRpb25zW3RdLmV4cG9ydFZhbHVlKX1lbHNlInN0cmluZyI9PXR5cGVvZiB0aGlzLmRhdGEuZmllbGRWYWx1ZT90aGlzLmRhdGEuZmllbGRWYWx1ZT1bdGhpcy5kYXRhLmZpZWxkVmFsdWVdOnRoaXMuZGF0YS5maWVsZFZhbHVlfHw9W107MD09PXRoaXMuZGF0YS5vcHRpb25zLmxlbmd0aCYmdGhpcy5kYXRhLmZpZWxkVmFsdWUubGVuZ3RoPjAmJih0aGlzLmRhdGEub3B0aW9ucz10aGlzLmRhdGEuZmllbGRWYWx1ZS5tYXAoKGU9Pih7ZXhwb3J0VmFsdWU6ZSxkaXNwbGF5VmFsdWU6ZX0pKSkpO3RoaXMuZGF0YS5jb21ibz10aGlzLmhhc0ZpZWxkRmxhZyh6KTt0aGlzLmRhdGEubXVsdGlTZWxlY3Q9dGhpcy5oYXNGaWVsZEZsYWcoRyk7dGhpcy5faGFzVGV4dD0hMH1nZXRGaWVsZE9iamVjdCgpe2NvbnN0IGU9dGhpcy5kYXRhLmNvbWJvPyJjb21ib2JveCI6Imxpc3Rib3giLHQ9dGhpcy5kYXRhLmZpZWxkVmFsdWUubGVuZ3RoPjA/dGhpcy5kYXRhLmZpZWxkVmFsdWVbMF06bnVsbDtyZXR1cm57aWQ6dGhpcy5kYXRhLmlkLHZhbHVlOnQsZGVmYXVsdFZhbHVlOnRoaXMuZGF0YS5kZWZhdWx0RmllbGRWYWx1ZSxlZGl0YWJsZTohdGhpcy5kYXRhLnJlYWRPbmx5LG5hbWU6dGhpcy5kYXRhLmZpZWxkTmFtZSxyZWN0OnRoaXMuZGF0YS5yZWN0LG51bUl0ZW1zOnRoaXMuZGF0YS5maWVsZFZhbHVlLmxlbmd0aCxtdWx0aXBsZVNlbGVjdGlvbjp0aGlzLmRhdGEubXVsdGlTZWxlY3QsaGlkZGVuOnRoaXMuZGF0YS5oaWRkZW4sYWN0aW9uczp0aGlzLmRhdGEuYWN0aW9ucyxpdGVtczp0aGlzLmRhdGEub3B0aW9ucyxwYWdlOnRoaXMuZGF0YS5wYWdlSW5kZXgsc3Ryb2tlQ29sb3I6dGhpcy5kYXRhLmJvcmRlckNvbG9yLGZpbGxDb2xvcjp0aGlzLmRhdGEuYmFja2dyb3VuZENvbG9yLHJvdGF0aW9uOnRoaXMucm90YXRpb24sdHlwZTplfX1hbWVuZFNhdmVkRGljdChlLHQpe2lmKCF0aGlzLmhhc0luZGljZXMpcmV0dXJuO2xldCBhPWU/LmdldCh0aGlzLmRhdGEuaWQpPy52YWx1ZTtBcnJheS5pc0FycmF5KGEpfHwoYT1bYV0pO2NvbnN0IHI9W10se29wdGlvbnM6aX09dGhpcy5kYXRhO2ZvcihsZXQgZT0wLHQ9MCxuPWkubGVuZ3RoO2U8bjtlKyspaWYoaVtlXS5leHBvcnRWYWx1ZT09PWFbdF0pe3IucHVzaChlKTt0Kz0xfXQuc2V0KCJJIixyKX1hc3luYyBfZ2V0QXBwZWFyYW5jZShlLHQscixpKXtpZih0aGlzLmRhdGEuY29tYm8pcmV0dXJuIHN1cGVyLl9nZXRBcHBlYXJhbmNlKGUsdCxyLGkpO2xldCBuLHM7Y29uc3Qgbz1pPy5nZXQodGhpcy5kYXRhLmlkKTtpZihvKXtzPW8ucm90YXRpb247bj1vLnZhbHVlfWlmKHZvaWQgMD09PXMmJnZvaWQgMD09PW4mJiF0aGlzLl9uZWVkQXBwZWFyYW5jZXMpcmV0dXJuIG51bGw7dm9pZCAwPT09bj9uPXRoaXMuZGF0YS5maWVsZFZhbHVlOkFycmF5LmlzQXJyYXkobil8fChuPVtuXSk7bGV0e3dpZHRoOmMsaGVpZ2h0Omx9PXRoaXM7OTAhPT1zJiYyNzAhPT1zfHwoW2MsbF09W2wsY10pO2NvbnN0IGg9dGhpcy5kYXRhLm9wdGlvbnMubGVuZ3RoLHU9W107Zm9yKGxldCBlPTA7ZTxoO2UrKyl7Y29uc3R7ZXhwb3J0VmFsdWU6dH09dGhpcy5kYXRhLm9wdGlvbnNbZV07bi5pbmNsdWRlcyh0KSYmdS5wdXNoKGUpfXRoaXMuX2RlZmF1bHRBcHBlYXJhbmNlfHwodGhpcy5kYXRhLmRlZmF1bHRBcHBlYXJhbmNlRGF0YT1wYXJzZURlZmF1bHRBcHBlYXJhbmNlKHRoaXMuX2RlZmF1bHRBcHBlYXJhbmNlPSIvSGVsdmV0aWNhIDAgVGYgMCBnIikpO2NvbnN0IGQ9YXdhaXQgV2lkZ2V0QW5ub3RhdGlvbi5fZ2V0Rm9udERhdGEoZSx0LHRoaXMuZGF0YS5kZWZhdWx0QXBwZWFyYW5jZURhdGEsdGhpcy5fZmllbGRSZXNvdXJjZXMubWVyZ2VkUmVzb3VyY2VzKTtsZXQgZix7Zm9udFNpemU6Z309dGhpcy5kYXRhLmRlZmF1bHRBcHBlYXJhbmNlRGF0YTtpZihnKWY9dGhpcy5fZGVmYXVsdEFwcGVhcmFuY2U7ZWxzZXtjb25zdCBlPShsLTEpL2g7bGV0IHQsYT0tMTtmb3IoY29uc3R7ZGlzcGxheVZhbHVlOmV9b2YgdGhpcy5kYXRhLm9wdGlvbnMpe2NvbnN0IHI9dGhpcy5fZ2V0VGV4dFdpZHRoKGUsZCk7aWYocj5hKXthPXI7dD1lfX1bZixnXT10aGlzLl9jb21wdXRlRm9udFNpemUoZSxjLTQsdCxkLC0xKX1jb25zdCBwPWcqYSxtPShwLWcpLzIsYj1NYXRoLmZsb29yKGwvcCk7bGV0IHk9MDtpZih1Lmxlbmd0aD4wKXtjb25zdCBlPU1hdGgubWluKC4uLnUpLHQ9TWF0aC5tYXgoLi4udSk7eT1NYXRoLm1heCgwLHQtYisxKTt5PmUmJih5PWUpfWNvbnN0IHc9TWF0aC5taW4oeStiKzEsaCkseD1bIi9UeCBCTUMgcSIsYDEgMSAke2N9ICR7bH0gcmUgVyBuYF07aWYodS5sZW5ndGgpe3gucHVzaCgiMC42MDAwMDYgMC43NTY4NjYgMC44NTQ5MDQgcmciKTtmb3IoY29uc3QgZSBvZiB1KXk8PWUmJmU8dyYmeC5wdXNoKGAxICR7bC0oZS15KzEpKnB9ICR7Y30gJHtwfSByZSBmYCl9eC5wdXNoKCJCVCIsZixgMSAwIDAgMSAwICR7bH0gVG1gKTtjb25zdCBTPXtzaGlmdDowfTtmb3IobGV0IGU9eTtlPHc7ZSsrKXtjb25zdHtkaXNwbGF5VmFsdWU6dH09dGhpcy5kYXRhLm9wdGlvbnNbZV0sYT1lPT09eT9tOjA7eC5wdXNoKHRoaXMuX3JlbmRlclRleHQodCxkLGcsYywwLFMsMiwtcCthKSl9eC5wdXNoKCJFVCBRIEVNQyIpO3JldHVybiB4LmpvaW4oIlxuIil9fWNsYXNzIFNpZ25hdHVyZVdpZGdldEFubm90YXRpb24gZXh0ZW5kcyBXaWRnZXRBbm5vdGF0aW9ue2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO3RoaXMuZGF0YS5maWVsZFZhbHVlPW51bGw7dGhpcy5kYXRhLmhhc093bkNhbnZhcz10aGlzLmRhdGEubm9Sb3RhdGU7dGhpcy5kYXRhLm5vSFRNTD0hdGhpcy5kYXRhLmhhc093bkNhbnZhc31nZXRGaWVsZE9iamVjdCgpe3JldHVybntpZDp0aGlzLmRhdGEuaWQsdmFsdWU6bnVsbCxwYWdlOnRoaXMuZGF0YS5wYWdlSW5kZXgsdHlwZToic2lnbmF0dXJlIn19fWNsYXNzIFRleHRBbm5vdGF0aW9uIGV4dGVuZHMgTWFya3VwQW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTt0aGlzLmRhdGEubm9Sb3RhdGU9ITA7dGhpcy5kYXRhLmhhc093bkNhbnZhcz10aGlzLmRhdGEubm9Sb3RhdGU7dGhpcy5kYXRhLm5vSFRNTD0hMTtjb25zdHtkaWN0OnR9PWU7dGhpcy5kYXRhLmFubm90YXRpb25UeXBlPUYuVEVYVDtpZih0aGlzLmRhdGEuaGFzQXBwZWFyYW5jZSl0aGlzLmRhdGEubmFtZT0iTm9JY29uIjtlbHNle3RoaXMuZGF0YS5yZWN0WzFdPXRoaXMuZGF0YS5yZWN0WzNdLTIyO3RoaXMuZGF0YS5yZWN0WzJdPXRoaXMuZGF0YS5yZWN0WzBdKzIyO3RoaXMuZGF0YS5uYW1lPXQuaGFzKCJOYW1lIik/dC5nZXQoIk5hbWUiKS5uYW1lOiJOb3RlIn1pZih0LmhhcygiU3RhdGUiKSl7dGhpcy5kYXRhLnN0YXRlPXQuZ2V0KCJTdGF0ZSIpfHxudWxsO3RoaXMuZGF0YS5zdGF0ZU1vZGVsPXQuZ2V0KCJTdGF0ZU1vZGVsIil8fG51bGx9ZWxzZXt0aGlzLmRhdGEuc3RhdGU9bnVsbDt0aGlzLmRhdGEuc3RhdGVNb2RlbD1udWxsfX19Y2xhc3MgTGlua0Fubm90YXRpb24gZXh0ZW5kcyBBbm5vdGF0aW9ue2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO2NvbnN0e2RpY3Q6dCxhbm5vdGF0aW9uR2xvYmFsczphfT1lO3RoaXMuZGF0YS5hbm5vdGF0aW9uVHlwZT1GLkxJTks7dGhpcy5kYXRhLm5vSFRNTD0hMTtjb25zdCByPWdldFF1YWRQb2ludHModCx0aGlzLnJlY3RhbmdsZSk7ciYmKHRoaXMuZGF0YS5xdWFkUG9pbnRzPXIpO3RoaXMuZGF0YS5ib3JkZXJDb2xvcnx8PXRoaXMuZGF0YS5jb2xvcjtDYXRhbG9nLnBhcnNlRGVzdERpY3Rpb25hcnkoe2Rlc3REaWN0OnQscmVzdWx0T2JqOnRoaXMuZGF0YSxkb2NCYXNlVXJsOmEuYmFzZVVybCxkb2NBdHRhY2htZW50czphLmF0dGFjaG1lbnRzfSl9Z2V0IG92ZXJsYXlzVGV4dENvbnRlbnQoKXtyZXR1cm4hMH19Y2xhc3MgUG9wdXBBbm5vdGF0aW9uIGV4dGVuZHMgQW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTtjb25zdHtkaWN0OnR9PWU7dGhpcy5kYXRhLmFubm90YXRpb25UeXBlPUYuUE9QVVA7dGhpcy5kYXRhLm5vSFRNTD0hMTswIT09dGhpcy53aWR0aCYmMCE9PXRoaXMuaGVpZ2h0fHwodGhpcy5kYXRhLnJlY3Q9bnVsbCk7bGV0IGE9dC5nZXQoIlBhcmVudCIpO2lmKCFhKXt3YXJuKCJQb3B1cCBhbm5vdGF0aW9uIGhhcyBhIG1pc3Npbmcgb3IgaW52YWxpZCBwYXJlbnQgYW5ub3RhdGlvbi4iKTtyZXR1cm59dGhpcy5kYXRhLnBhcmVudFJlY3Q9bG9va3VwTm9ybWFsUmVjdChhLmdldEFycmF5KCJSZWN0IiksbnVsbCk7dGhpcy5kYXRhLmNyZWF0aW9uRGF0ZT1hLmdldCgiQ3JlYXRpb25EYXRlIil8fCIiO2lzTmFtZShhLmdldCgiUlQiKSxUKSYmKGE9YS5nZXQoIklSVCIpKTtpZihhLmhhcygiTSIpKXt0aGlzLnNldE1vZGlmaWNhdGlvbkRhdGUoYS5nZXQoIk0iKSk7dGhpcy5kYXRhLm1vZGlmaWNhdGlvbkRhdGU9dGhpcy5tb2RpZmljYXRpb25EYXRlfWVsc2UgdGhpcy5kYXRhLm1vZGlmaWNhdGlvbkRhdGU9bnVsbDtpZihhLmhhcygiQyIpKXt0aGlzLnNldENvbG9yKGEuZ2V0QXJyYXkoIkMiKSk7dGhpcy5kYXRhLmNvbG9yPXRoaXMuY29sb3J9ZWxzZSB0aGlzLmRhdGEuY29sb3I9bnVsbDtpZighdGhpcy52aWV3YWJsZSl7Y29uc3QgZT1hLmdldCgiRiIpO3RoaXMuX2lzVmlld2FibGUoZSkmJnRoaXMuc2V0RmxhZ3MoZSl9dGhpcy5zZXRUaXRsZShhLmdldCgiVCIpKTt0aGlzLmRhdGEudGl0bGVPYmo9dGhpcy5fdGl0bGU7dGhpcy5zZXRDb250ZW50cyhhLmdldCgiQ29udGVudHMiKSk7dGhpcy5kYXRhLmNvbnRlbnRzT2JqPXRoaXMuX2NvbnRlbnRzO2EuaGFzKCJSQyIpJiYodGhpcy5kYXRhLnJpY2hUZXh0PVhGQUZhY3RvcnkuZ2V0UmljaFRleHRBc0h0bWwoYS5nZXQoIlJDIikpKTt0aGlzLmRhdGEub3Blbj0hIXQuZ2V0KCJPcGVuIil9c3RhdGljIGNyZWF0ZU5ld0RpY3QoZSx0LGEpe2NvbnN0e29sZEFubm90YXRpb246cixyZWN0OmkscGFyZW50Om59PWUscz1yfHxuZXcgRGljdCh0KTtzLnNldElmTm90RXhpc3RzKCJUeXBlIixOYW1lLmdldCgiQW5ub3QiKSk7cy5zZXRJZk5vdEV4aXN0cygiU3VidHlwZSIsTmFtZS5nZXQoIlBvcHVwIikpO3Muc2V0SWZOb3RFeGlzdHMoIk9wZW4iLCExKTtzLnNldElmQXJyYXkoIlJlY3QiLGkpO3Muc2V0KCJQYXJlbnQiLG4pO3JldHVybiBzfXN0YXRpYyBhc3luYyBjcmVhdGVOZXdBcHBlYXJhbmNlU3RyZWFtKGUsdCxhKXtyZXR1cm4gbnVsbH19Y2xhc3MgRnJlZVRleHRBbm5vdGF0aW9uIGV4dGVuZHMgTWFya3VwQW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTt0aGlzLmRhdGEuaGFzT3duQ2FudmFzPXRoaXMuZGF0YS5ub1JvdGF0ZTt0aGlzLmRhdGEuaXNFZGl0YWJsZT0hdGhpcy5kYXRhLm5vSFRNTDt0aGlzLmRhdGEubm9IVE1MPSExO2NvbnN0e2Fubm90YXRpb25HbG9iYWxzOnQsZXZhbHVhdG9yT3B0aW9uczphLHhyZWY6cn09ZTt0aGlzLmRhdGEuYW5ub3RhdGlvblR5cGU9Ri5GUkVFVEVYVDt0aGlzLnNldERlZmF1bHRBcHBlYXJhbmNlKGUpO3RoaXMuX2hhc0FwcGVhcmFuY2U9ISF0aGlzLmFwcGVhcmFuY2U7aWYodGhpcy5faGFzQXBwZWFyYW5jZSl7Y29uc3R7Zm9udENvbG9yOmUsZm9udFNpemU6aX09ZnVuY3Rpb24gcGFyc2VBcHBlYXJhbmNlU3RyZWFtKGUsdCxhLHIpe3JldHVybiBuZXcgQXBwZWFyYW5jZVN0cmVhbUV2YWx1YXRvcihlLHQsYSxyKS5wYXJzZSgpfSh0aGlzLmFwcGVhcmFuY2UsYSxyLHQuZ2xvYmFsQ29sb3JTcGFjZUNhY2hlKTt0aGlzLmRhdGEuZGVmYXVsdEFwcGVhcmFuY2VEYXRhLmZvbnRDb2xvcj1lO3RoaXMuZGF0YS5kZWZhdWx0QXBwZWFyYW5jZURhdGEuZm9udFNpemU9aXx8MTB9ZWxzZXt0aGlzLmRhdGEuZGVmYXVsdEFwcGVhcmFuY2VEYXRhLmZvbnRTaXplfHw9MTA7Y29uc3R7Zm9udENvbG9yOnQsZm9udFNpemU6YX09dGhpcy5kYXRhLmRlZmF1bHRBcHBlYXJhbmNlRGF0YTtpZih0aGlzLl9jb250ZW50cy5zdHIpe3RoaXMuZGF0YS50ZXh0Q29udGVudD10aGlzLl9jb250ZW50cy5zdHIuc3BsaXQoL1xyXG4/fFxuLykubWFwKChlPT5lLnRyaW1FbmQoKSkpO2NvbnN0e2Nvb3JkczplLGJib3g6dCxtYXRyaXg6cn09RmFrZVVuaWNvZGVGb250LmdldEZpcnN0UG9zaXRpb25JbmZvKHRoaXMucmVjdGFuZ2xlLHRoaXMucm90YXRpb24sYSk7dGhpcy5kYXRhLnRleHRQb3NpdGlvbj10aGlzLl90cmFuc2Zvcm1Qb2ludChlLHQscil9aWYodGhpcy5faXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWQpe2NvbnN0IGk9ZS5kaWN0LmdldCgiQ0EiKSxuPW5ldyBGYWtlVW5pY29kZUZvbnQociwic2Fucy1zZXJpZiIpO3RoaXMuYXBwZWFyYW5jZT1uLmNyZWF0ZUFwcGVhcmFuY2UodGhpcy5fY29udGVudHMuc3RyLHRoaXMucmVjdGFuZ2xlLHRoaXMucm90YXRpb24sYSx0LGkpO3RoaXMuX3N0cmVhbXMucHVzaCh0aGlzLmFwcGVhcmFuY2UpfWVsc2Ugd2FybigiRnJlZVRleHRBbm5vdGF0aW9uOiBPZmZzY3JlZW5DYW52YXMgaXMgbm90IHN1cHBvcnRlZCwgYW5ub3RhdGlvbiBtYXkgbm90IHJlbmRlciBjb3JyZWN0bHkuIil9fWdldCBoYXNUZXh0Q29udGVudCgpe3JldHVybiB0aGlzLl9oYXNBcHBlYXJhbmNlfXN0YXRpYyBjcmVhdGVOZXdEaWN0KGUsdCx7YXBSZWY6YSxhcDpyfSl7Y29uc3R7Y29sb3I6aSxkYXRlOm4sZm9udFNpemU6cyxvbGRBbm5vdGF0aW9uOm8scmVjdDpjLHJvdGF0aW9uOmwsdXNlcjpoLHZhbHVlOnV9PWUsZD1vfHxuZXcgRGljdCh0KTtkLnNldElmTm90RXhpc3RzKCJUeXBlIixOYW1lLmdldCgiQW5ub3QiKSk7ZC5zZXRJZk5vdEV4aXN0cygiU3VidHlwZSIsTmFtZS5nZXQoIkZyZWVUZXh0IikpO2Quc2V0KG8/Ik0iOiJDcmVhdGlvbkRhdGUiLGBEOiR7Z2V0TW9kaWZpY2F0aW9uRGF0ZShuKX1gKTtvJiZkLmRlbGV0ZSgiUkMiKTtkLnNldElmQXJyYXkoIlJlY3QiLGMpO2NvbnN0IGY9YC9IZWx2ICR7c30gVGYgJHtnZXRQZGZDb2xvcihpLCEwKX1gO2Quc2V0KCJEQSIsZik7ZC5zZXRJZkRlZmluZWQoIkNvbnRlbnRzIixzdHJpbmdUb0FzY2lpT3JVVEYxNkJFKHUpKTtkLnNldElmTm90RXhpc3RzKCJGIiw0KTtkLnNldElmTm90RXhpc3RzKCJCb3JkZXIiLFswLDAsMF0pO2Quc2V0SWZOdW1iZXIoIlJvdGF0ZSIsbCk7ZC5zZXRJZkRlZmluZWQoIlQiLHN0cmluZ1RvQXNjaWlPclVURjE2QkUoaCkpO2lmKGF8fHIpe2NvbnN0IGU9bmV3IERpY3QodCk7ZC5zZXQoIkFQIixlKTtlLnNldCgiTiIsYXx8cil9cmV0dXJuIGR9c3RhdGljIGFzeW5jIGNyZWF0ZU5ld0FwcGVhcmFuY2VTdHJlYW0oZSx0LHIpe2NvbnN0e2Jhc2VGb250UmVmOmksZXZhbHVhdG9yOm4sdGFzazpzfT1yLHtjb2xvcjpvLGZvbnRTaXplOmMscmVjdDpsLHJvdGF0aW9uOmgsdmFsdWU6dX09ZTtpZighbylyZXR1cm4gbnVsbDtjb25zdCBkPW5ldyBEaWN0KHQpLGY9bmV3IERpY3QodCk7aWYoaSlmLnNldCgiSGVsdiIsaSk7ZWxzZXtjb25zdCBlPW5ldyBEaWN0KHQpO2Uuc2V0SWZOYW1lKCJCYXNlRm9udCIsIkhlbHZldGljYSIpO2Uuc2V0SWZOYW1lKCJUeXBlIiwiRm9udCIpO2Uuc2V0SWZOYW1lKCJTdWJ0eXBlIiwiVHlwZTEiKTtlLnNldElmTmFtZSgiRW5jb2RpbmciLCJXaW5BbnNpRW5jb2RpbmciKTtmLnNldCgiSGVsdiIsZSl9ZC5zZXQoIkZvbnQiLGYpO2NvbnN0IGc9YXdhaXQgV2lkZ2V0QW5ub3RhdGlvbi5fZ2V0Rm9udERhdGEobixzLHtmb250TmFtZToiSGVsdiIsZm9udFNpemU6Y30sZCksW3AsbSxiLHldPWw7bGV0IHc9Yi1wLHg9eS1tO2glMTgwIT0wJiYoW3cseF09W3gsd10pO2NvbnN0IFM9dS5zcGxpdCgiXG4iKSxrPWMvMWUzO2xldCBDPS0xLzA7Y29uc3Qgdj1bXTtmb3IobGV0IGUgb2YgUyl7Y29uc3QgdD1nLmVuY29kZVN0cmluZyhlKTtpZih0Lmxlbmd0aD4xKXJldHVybiBudWxsO2U9dC5qb2luKCIiKTt2LnB1c2goZSk7bGV0IGE9MDtjb25zdCByPWcuY2hhcnNUb0dseXBocyhlKTtmb3IoY29uc3QgZSBvZiByKWErPWUud2lkdGgqaztDPU1hdGgubWF4KEMsYSl9bGV0IEY9MTtDPncmJihGPXcvQyk7bGV0IFQ9MTtjb25zdCBPPWEqYyxNPTEqYyxEPU8qUy5sZW5ndGg7RD54JiYoVD14L0QpO2NvbnN0IFI9YypNYXRoLm1pbihGLFQpO2xldCBOLEUsTDtzd2l0Y2goaCl7Y2FzZSAwOkw9WzEsMCwwLDFdO0U9W2xbMF0sbFsxXSx3LHhdO049W2xbMF0sbFszXS1NXTticmVhaztjYXNlIDkwOkw9WzAsMSwtMSwwXTtFPVtsWzFdLC1sWzJdLHcseF07Tj1bbFsxXSwtbFswXS1NXTticmVhaztjYXNlIDE4MDpMPVstMSwwLDAsLTFdO0U9Wy1sWzJdLC1sWzNdLHcseF07Tj1bLWxbMl0sLWxbMV0tTV07YnJlYWs7Y2FzZSAyNzA6TD1bMCwtMSwxLDBdO0U9Wy1sWzNdLGxbMF0sdyx4XTtOPVstbFszXSxsWzJdLU1dfWNvbnN0IGo9WyJxIixgJHtMLmpvaW4oIiAiKX0gMCAwIGNtYCxgJHtFLmpvaW4oIiAiKX0gcmUgVyBuYCwiQlQiLGAke2dldFBkZkNvbG9yKG8sITApfWAsYDAgVGMgL0hlbHYgJHtudW1iZXJUb1N0cmluZyhSKX0gVGZgXTtqLnB1c2goYCR7Ti5qb2luKCIgIil9IFRkICgke2VzY2FwZVN0cmluZyh2WzBdKX0pIFRqYCk7Y29uc3QgXz1udW1iZXJUb1N0cmluZyhPKTtmb3IobGV0IGU9MSx0PXYubGVuZ3RoO2U8dDtlKyspe2NvbnN0IHQ9dltlXTtqLnB1c2goYDAgLSR7X30gVGQgKCR7ZXNjYXBlU3RyaW5nKHQpfSkgVGpgKX1qLnB1c2goIkVUIiwiUSIpO2NvbnN0IFU9ai5qb2luKCJcbiIpLFg9bmV3IERpY3QodCk7WC5zZXQoIkZvcm1UeXBlIiwxKTtYLnNldElmTmFtZSgiU3VidHlwZSIsIkZvcm0iKTtYLnNldElmTmFtZSgiVHlwZSIsIlhPYmplY3QiKTtYLnNldCgiQkJveCIsbCk7WC5zZXQoIlJlc291cmNlcyIsZCk7WC5zZXQoIk1hdHJpeCIsWzEsMCwwLDEsLWxbMF0sLWxbMV1dKTtjb25zdCBxPW5ldyBTdHJpbmdTdHJlYW0oVSk7cS5kaWN0PVg7cmV0dXJuIHF9fWNsYXNzIExpbmVBbm5vdGF0aW9uIGV4dGVuZHMgTWFya3VwQW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTtjb25zdHtkaWN0OnQseHJlZjphfT1lO3RoaXMuZGF0YS5hbm5vdGF0aW9uVHlwZT1GLkxJTkU7dGhpcy5kYXRhLmhhc093bkNhbnZhcz10aGlzLmRhdGEubm9Sb3RhdGU7dGhpcy5kYXRhLm5vSFRNTD0hMTtjb25zdCByPWxvb2t1cFJlY3QodC5nZXRBcnJheSgiTCIpLFswLDAsMCwwXSk7dGhpcy5kYXRhLmxpbmVDb29yZGluYXRlcz1VdGlsLm5vcm1hbGl6ZVJlY3Qocik7dGhpcy5zZXRMaW5lRW5kaW5ncyh0LmdldEFycmF5KCJMRSIpKTt0aGlzLmRhdGEubGluZUVuZGluZ3M9dGhpcy5saW5lRW5kaW5ncztpZighdGhpcy5hcHBlYXJhbmNlKXtjb25zdCBlPWdldFBkZkNvbG9yQXJyYXkodGhpcy5jb2xvcixbMCwwLDBdKSxpPXQuZ2V0KCJDQSIpLG49Z2V0UGRmQ29sb3JBcnJheShnZXRSZ2JDb2xvcih0LmdldEFycmF5KCJJQyIpLG51bGwpKSxzPW4/aTpudWxsLG89dGhpcy5ib3JkZXJTdHlsZS53aWR0aHx8MSxjPTIqbyxsPVt0aGlzLmRhdGEubGluZUNvb3JkaW5hdGVzWzBdLWMsdGhpcy5kYXRhLmxpbmVDb29yZGluYXRlc1sxXS1jLHRoaXMuZGF0YS5saW5lQ29vcmRpbmF0ZXNbMl0rYyx0aGlzLmRhdGEubGluZUNvb3JkaW5hdGVzWzNdK2NdO1V0aWwuaW50ZXJzZWN0KHRoaXMucmVjdGFuZ2xlLGwpfHwodGhpcy5yZWN0YW5nbGU9bCk7dGhpcy5fc2V0RGVmYXVsdEFwcGVhcmFuY2Uoe3hyZWY6YSxleHRyYTpgJHtvfSB3YCxzdHJva2VDb2xvcjplLGZpbGxDb2xvcjpuLHN0cm9rZUFscGhhOmksZmlsbEFscGhhOnMscG9pbnRzQ2FsbGJhY2s6KGUsdCk9PntlLnB1c2goYCR7clswXX0gJHtyWzFdfSBtYCxgJHtyWzJdfSAke3JbM119IGxgLCJTIik7cmV0dXJuW3RbMF0tbyx0WzddLW8sdFsyXStvLHRbM10rb119fSl9fX1jbGFzcyBTcXVhcmVBbm5vdGF0aW9uIGV4dGVuZHMgTWFya3VwQW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTtjb25zdHtkaWN0OnQseHJlZjphfT1lO3RoaXMuZGF0YS5hbm5vdGF0aW9uVHlwZT1GLlNRVUFSRTt0aGlzLmRhdGEuaGFzT3duQ2FudmFzPXRoaXMuZGF0YS5ub1JvdGF0ZTt0aGlzLmRhdGEubm9IVE1MPSExO2lmKCF0aGlzLmFwcGVhcmFuY2Upe2NvbnN0IGU9Z2V0UGRmQ29sb3JBcnJheSh0aGlzLmNvbG9yLFswLDAsMF0pLHI9dC5nZXQoIkNBIiksaT1nZXRQZGZDb2xvckFycmF5KGdldFJnYkNvbG9yKHQuZ2V0QXJyYXkoIklDIiksbnVsbCkpLG49aT9yOm51bGw7aWYoMD09PXRoaXMuYm9yZGVyU3R5bGUud2lkdGgmJiFpKXJldHVybjt0aGlzLl9zZXREZWZhdWx0QXBwZWFyYW5jZSh7eHJlZjphLGV4dHJhOmAke3RoaXMuYm9yZGVyU3R5bGUud2lkdGh9IHdgLHN0cm9rZUNvbG9yOmUsZmlsbENvbG9yOmksc3Ryb2tlQWxwaGE6cixmaWxsQWxwaGE6bixwb2ludHNDYWxsYmFjazooZSx0KT0+e2NvbnN0IGE9dFs0XSt0aGlzLmJvcmRlclN0eWxlLndpZHRoLzIscj10WzVdK3RoaXMuYm9yZGVyU3R5bGUud2lkdGgvMixuPXRbNl0tdFs0XS10aGlzLmJvcmRlclN0eWxlLndpZHRoLHM9dFszXS10WzddLXRoaXMuYm9yZGVyU3R5bGUud2lkdGg7ZS5wdXNoKGAke2F9ICR7cn0gJHtufSAke3N9IHJlYCk7aT9lLnB1c2goIkIiKTplLnB1c2goIlMiKTtyZXR1cm5bdFswXSx0WzddLHRbMl0sdFszXV19fSl9fX1jbGFzcyBDaXJjbGVBbm5vdGF0aW9uIGV4dGVuZHMgTWFya3VwQW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTtjb25zdHtkaWN0OnQseHJlZjphfT1lO3RoaXMuZGF0YS5hbm5vdGF0aW9uVHlwZT1GLkNJUkNMRTtpZighdGhpcy5hcHBlYXJhbmNlKXtjb25zdCBlPWdldFBkZkNvbG9yQXJyYXkodGhpcy5jb2xvcixbMCwwLDBdKSxyPXQuZ2V0KCJDQSIpLGk9Z2V0UGRmQ29sb3JBcnJheShnZXRSZ2JDb2xvcih0LmdldEFycmF5KCJJQyIpLG51bGwpKSxuPWk/cjpudWxsO2lmKDA9PT10aGlzLmJvcmRlclN0eWxlLndpZHRoJiYhaSlyZXR1cm47Y29uc3Qgcz00LzMqTWF0aC50YW4oTWF0aC5QSS84KTt0aGlzLl9zZXREZWZhdWx0QXBwZWFyYW5jZSh7eHJlZjphLGV4dHJhOmAke3RoaXMuYm9yZGVyU3R5bGUud2lkdGh9IHdgLHN0cm9rZUNvbG9yOmUsZmlsbENvbG9yOmksc3Ryb2tlQWxwaGE6cixmaWxsQWxwaGE6bixwb2ludHNDYWxsYmFjazooZSx0KT0+e2NvbnN0IGE9dFswXSt0aGlzLmJvcmRlclN0eWxlLndpZHRoLzIscj10WzFdLXRoaXMuYm9yZGVyU3R5bGUud2lkdGgvMixuPXRbNl0tdGhpcy5ib3JkZXJTdHlsZS53aWR0aC8yLG89dFs3XSt0aGlzLmJvcmRlclN0eWxlLndpZHRoLzIsYz1hKyhuLWEpLzIsbD1yKyhvLXIpLzIsaD0obi1hKS8yKnMsdT0oby1yKS8yKnM7ZS5wdXNoKGAke2N9ICR7b30gbWAsYCR7YytofSAke299ICR7bn0gJHtsK3V9ICR7bn0gJHtsfSBjYCxgJHtufSAke2wtdX0gJHtjK2h9ICR7cn0gJHtjfSAke3J9IGNgLGAke2MtaH0gJHtyfSAke2F9ICR7bC11fSAke2F9ICR7bH0gY2AsYCR7YX0gJHtsK3V9ICR7Yy1ofSAke299ICR7Y30gJHtvfSBjYCwiaCIpO2k/ZS5wdXNoKCJCIik6ZS5wdXNoKCJTIik7cmV0dXJuW3RbMF0sdFs3XSx0WzJdLHRbM11dfX0pfX19Y2xhc3MgUG9seWxpbmVBbm5vdGF0aW9uIGV4dGVuZHMgTWFya3VwQW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTtjb25zdHtkaWN0OnQseHJlZjphfT1lO3RoaXMuZGF0YS5hbm5vdGF0aW9uVHlwZT1GLlBPTFlMSU5FO3RoaXMuZGF0YS5oYXNPd25DYW52YXM9dGhpcy5kYXRhLm5vUm90YXRlO3RoaXMuZGF0YS5ub0hUTUw9ITE7dGhpcy5kYXRhLnZlcnRpY2VzPW51bGw7aWYoISh0aGlzIGluc3RhbmNlb2YgUG9seWdvbkFubm90YXRpb24pKXt0aGlzLnNldExpbmVFbmRpbmdzKHQuZ2V0QXJyYXkoIkxFIikpO3RoaXMuZGF0YS5saW5lRW5kaW5ncz10aGlzLmxpbmVFbmRpbmdzfWNvbnN0IHI9dC5nZXRBcnJheSgiVmVydGljZXMiKTtpZighaXNOdW1iZXJBcnJheShyLG51bGwpKXJldHVybjtjb25zdCBpPXRoaXMuZGF0YS52ZXJ0aWNlcz1GbG9hdDMyQXJyYXkuZnJvbShyKTtpZighdGhpcy5hcHBlYXJhbmNlKXtjb25zdCBlPWdldFBkZkNvbG9yQXJyYXkodGhpcy5jb2xvcixbMCwwLDBdKSxyPXQuZ2V0KCJDQSIpO2xldCBuLHM9Z2V0UmdiQ29sb3IodC5nZXRBcnJheSgiSUMiKSxudWxsKTtzJiYocz1nZXRQZGZDb2xvckFycmF5KHMpKTtuPXM/dGhpcy5jb2xvcj9zLmV2ZXJ5KCgodCxhKT0+dD09PWVbYV0pKT8iZiI6IkIiOiJmIjoiUyI7Y29uc3Qgbz10aGlzLmJvcmRlclN0eWxlLndpZHRofHwxLGM9MipvLGw9WzEvMCwxLzAsLTEvMCwtMS8wXTtmb3IobGV0IGU9MCx0PWkubGVuZ3RoO2U8dDtlKz0yKVV0aWwucmVjdEJvdW5kaW5nQm94KGlbZV0tYyxpW2UrMV0tYyxpW2VdK2MsaVtlKzFdK2MsbCk7VXRpbC5pbnRlcnNlY3QodGhpcy5yZWN0YW5nbGUsbCl8fCh0aGlzLnJlY3RhbmdsZT1sKTt0aGlzLl9zZXREZWZhdWx0QXBwZWFyYW5jZSh7eHJlZjphLGV4dHJhOmAke299IHdgLHN0cm9rZUNvbG9yOmUsc3Ryb2tlQWxwaGE6cixmaWxsQ29sb3I6cyxmaWxsQWxwaGE6cz9yOm51bGwscG9pbnRzQ2FsbGJhY2s6KGUsdCk9Pntmb3IobGV0IHQ9MCxhPWkubGVuZ3RoO3Q8YTt0Kz0yKWUucHVzaChgJHtpW3RdfSAke2lbdCsxXX0gJHswPT09dD8ibSI6ImwifWApO2UucHVzaChuKTtyZXR1cm5bdFswXSx0WzddLHRbMl0sdFszXV19fSl9fX1jbGFzcyBQb2x5Z29uQW5ub3RhdGlvbiBleHRlbmRzIFBvbHlsaW5lQW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTt0aGlzLmRhdGEuYW5ub3RhdGlvblR5cGU9Ri5QT0xZR09OfX1jbGFzcyBDYXJldEFubm90YXRpb24gZXh0ZW5kcyBNYXJrdXBBbm5vdGF0aW9ue2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO3RoaXMuZGF0YS5hbm5vdGF0aW9uVHlwZT1GLkNBUkVUfX1jbGFzcyBJbmtBbm5vdGF0aW9uIGV4dGVuZHMgTWFya3VwQW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTt0aGlzLmRhdGEuaGFzT3duQ2FudmFzPXRoaXMuZGF0YS5ub1JvdGF0ZTt0aGlzLmRhdGEubm9IVE1MPSExO2NvbnN0e2RpY3Q6dCx4cmVmOmF9PWU7dGhpcy5kYXRhLmFubm90YXRpb25UeXBlPUYuSU5LO3RoaXMuZGF0YS5pbmtMaXN0cz1bXTt0aGlzLmRhdGEuaXNFZGl0YWJsZT0hdGhpcy5kYXRhLm5vSFRNTDt0aGlzLmRhdGEubm9IVE1MPSExO3RoaXMuZGF0YS5vcGFjaXR5PXQuZ2V0KCJDQSIpfHwxO2NvbnN0IHI9dC5nZXRBcnJheSgiSW5rTGlzdCIpO2lmKEFycmF5LmlzQXJyYXkocikpe2ZvcihsZXQgZT0wLHQ9ci5sZW5ndGg7ZTx0OysrZSl7aWYoIUFycmF5LmlzQXJyYXkocltlXSkpY29udGludWU7Y29uc3QgdD1uZXcgRmxvYXQzMkFycmF5KHJbZV0ubGVuZ3RoKTt0aGlzLmRhdGEuaW5rTGlzdHMucHVzaCh0KTtmb3IobGV0IGk9MCxuPXJbZV0ubGVuZ3RoO2k8bjtpKz0yKXtjb25zdCBuPWEuZmV0Y2hJZlJlZihyW2VdW2ldKSxzPWEuZmV0Y2hJZlJlZihyW2VdW2krMV0pO2lmKCJudW1iZXIiPT10eXBlb2YgbiYmIm51bWJlciI9PXR5cGVvZiBzKXt0W2ldPW47dFtpKzFdPXN9fX1pZighdGhpcy5hcHBlYXJhbmNlKXtjb25zdCBlPWdldFBkZkNvbG9yQXJyYXkodGhpcy5jb2xvcixbMCwwLDBdKSxyPXQuZ2V0KCJDQSIpLGk9dGhpcy5ib3JkZXJTdHlsZS53aWR0aHx8MSxuPTIqaSxzPVsxLzAsMS8wLC0xLzAsLTEvMF07Zm9yKGNvbnN0IGUgb2YgdGhpcy5kYXRhLmlua0xpc3RzKWZvcihsZXQgdD0wLGE9ZS5sZW5ndGg7dDxhO3QrPTIpVXRpbC5yZWN0Qm91bmRpbmdCb3goZVt0XS1uLGVbdCsxXS1uLGVbdF0rbixlW3QrMV0rbixzKTtVdGlsLmludGVyc2VjdCh0aGlzLnJlY3RhbmdsZSxzKXx8KHRoaXMucmVjdGFuZ2xlPXMpO3RoaXMuX3NldERlZmF1bHRBcHBlYXJhbmNlKHt4cmVmOmEsZXh0cmE6YCR7aX0gd2Asc3Ryb2tlQ29sb3I6ZSxzdHJva2VBbHBoYTpyLHBvaW50c0NhbGxiYWNrOihlLHQpPT57Zm9yKGNvbnN0IHQgb2YgdGhpcy5kYXRhLmlua0xpc3RzKXtmb3IobGV0IGE9MCxyPXQubGVuZ3RoO2E8cjthKz0yKWUucHVzaChgJHt0W2FdfSAke3RbYSsxXX0gJHswPT09YT8ibSI6ImwifWApO2UucHVzaCgiUyIpfXJldHVyblt0WzBdLHRbN10sdFsyXSx0WzNdXX19KX19fXN0YXRpYyBjcmVhdGVOZXdEaWN0KGUsdCx7YXBSZWY6YSxhcDpyfSl7Y29uc3R7b2xkQW5ub3RhdGlvbjppLGNvbG9yOm4sZGF0ZTpzLG9wYWNpdHk6byxwYXRoczpjLG91dGxpbmVzOmwscmVjdDpoLHJvdGF0aW9uOnUsdGhpY2tuZXNzOmQsdXNlcjpmfT1lLGc9aXx8bmV3IERpY3QodCk7Zy5zZXRJZk5vdEV4aXN0cygiVHlwZSIsTmFtZS5nZXQoIkFubm90IikpO2cuc2V0SWZOb3RFeGlzdHMoIlN1YnR5cGUiLE5hbWUuZ2V0KCJJbmsiKSk7Zy5zZXQoaT8iTSI6IkNyZWF0aW9uRGF0ZSIsYEQ6JHtnZXRNb2RpZmljYXRpb25EYXRlKHMpfWApO2cuc2V0SWZBcnJheSgiUmVjdCIsaCk7Zy5zZXRJZkFycmF5KCJJbmtMaXN0IixsPy5wb2ludHN8fGM/LnBvaW50cyk7Zy5zZXRJZk5vdEV4aXN0cygiRiIsNCk7Zy5zZXRJZk51bWJlcigiUm90YXRlIix1KTtnLnNldElmRGVmaW5lZCgiVCIsc3RyaW5nVG9Bc2NpaU9yVVRGMTZCRShmKSk7bCYmZy5zZXRJZk5hbWUoIklUIiwiSW5rSGlnaGxpZ2h0Iik7aWYoZD4wKXtjb25zdCBlPW5ldyBEaWN0KHQpO2cuc2V0KCJCUyIsZSk7ZS5zZXQoIlciLGQpfWcuc2V0SWZBcnJheSgiQyIsZ2V0UGRmQ29sb3JBcnJheShuKSk7Zy5zZXRJZk51bWJlcigiQ0EiLG8pO2lmKHJ8fGEpe2NvbnN0IGU9bmV3IERpY3QodCk7Zy5zZXQoIkFQIixlKTtlLnNldCgiTiIsYXx8cil9cmV0dXJuIGd9c3RhdGljIGFzeW5jIGNyZWF0ZU5ld0FwcGVhcmFuY2VTdHJlYW0oZSx0LGEpe2lmKGUub3V0bGluZXMpcmV0dXJuIHRoaXMuY3JlYXRlTmV3QXBwZWFyYW5jZVN0cmVhbUZvckhpZ2hsaWdodChlLHQsYSk7Y29uc3R7Y29sb3I6cixyZWN0OmkscGF0aHM6bix0aGlja25lc3M6cyxvcGFjaXR5Om99PWU7aWYoIXIpcmV0dXJuIG51bGw7Y29uc3QgYz1bYCR7c30gdyAxIEogMSBqYCxgJHtnZXRQZGZDb2xvcihyLCExKX1gXTsxIT09byYmYy5wdXNoKCIvUjAgZ3MiKTtmb3IoY29uc3QgZSBvZiBuLmxpbmVzKXtjLnB1c2goYCR7bnVtYmVyVG9TdHJpbmcoZVs0XSl9ICR7bnVtYmVyVG9TdHJpbmcoZVs1XSl9IG1gKTtmb3IobGV0IHQ9NixhPWUubGVuZ3RoO3Q8YTt0Kz02KWlmKGlzTmFOKGVbdF0pKWMucHVzaChgJHtudW1iZXJUb1N0cmluZyhlW3QrNF0pfSAke251bWJlclRvU3RyaW5nKGVbdCs1XSl9IGxgKTtlbHNle2NvbnN0W2EscixpLG4scyxvXT1lLnNsaWNlKHQsdCs2KTtjLnB1c2goW2EscixpLG4scyxvXS5tYXAobnVtYmVyVG9TdHJpbmcpLmpvaW4oIiAiKSsiIGMiKX02PT09ZS5sZW5ndGgmJmMucHVzaChgJHtudW1iZXJUb1N0cmluZyhlWzRdKX0gJHtudW1iZXJUb1N0cmluZyhlWzVdKX0gbGApfWMucHVzaCgiUyIpO2NvbnN0IGw9Yy5qb2luKCJcbiIpLGg9bmV3IERpY3QodCk7aC5zZXQoIkZvcm1UeXBlIiwxKTtoLnNldElmTmFtZSgiU3VidHlwZSIsIkZvcm0iKTtoLnNldElmTmFtZSgiVHlwZSIsIlhPYmplY3QiKTtoLnNldCgiQkJveCIsaSk7aC5zZXQoIkxlbmd0aCIsbC5sZW5ndGgpO2lmKDEhPT1vKXtjb25zdCBlPW5ldyBEaWN0KHQpLGE9bmV3IERpY3QodCkscj1uZXcgRGljdCh0KTtyLnNldCgiQ0EiLG8pO3Iuc2V0SWZOYW1lKCJUeXBlIiwiRXh0R1N0YXRlIik7YS5zZXQoIlIwIixyKTtlLnNldCgiRXh0R1N0YXRlIixhKTtoLnNldCgiUmVzb3VyY2VzIixlKX1jb25zdCB1PW5ldyBTdHJpbmdTdHJlYW0obCk7dS5kaWN0PWg7cmV0dXJuIHV9c3RhdGljIGFzeW5jIGNyZWF0ZU5ld0FwcGVhcmFuY2VTdHJlYW1Gb3JIaWdobGlnaHQoZSx0LGEpe2NvbnN0e2NvbG9yOnIscmVjdDppLG91dGxpbmVzOntvdXRsaW5lOm59LG9wYWNpdHk6c309ZTtpZighcilyZXR1cm4gbnVsbDtjb25zdCBvPVtgJHtnZXRQZGZDb2xvcihyLCEwKX1gLCIvUjAgZ3MiXTtvLnB1c2goYCR7bnVtYmVyVG9TdHJpbmcobls0XSl9ICR7bnVtYmVyVG9TdHJpbmcobls1XSl9IG1gKTtmb3IobGV0IGU9Nix0PW4ubGVuZ3RoO2U8dDtlKz02KWlmKGlzTmFOKG5bZV0pKW8ucHVzaChgJHtudW1iZXJUb1N0cmluZyhuW2UrNF0pfSAke251bWJlclRvU3RyaW5nKG5bZSs1XSl9IGxgKTtlbHNle2NvbnN0W3QsYSxyLGkscyxjXT1uLnNsaWNlKGUsZSs2KTtvLnB1c2goW3QsYSxyLGkscyxjXS5tYXAobnVtYmVyVG9TdHJpbmcpLmpvaW4oIiAiKSsiIGMiKX1vLnB1c2goImggZiIpO2NvbnN0IGM9by5qb2luKCJcbiIpLGw9bmV3IERpY3QodCk7bC5zZXQoIkZvcm1UeXBlIiwxKTtsLnNldElmTmFtZSgiU3VidHlwZSIsIkZvcm0iKTtsLnNldElmTmFtZSgiVHlwZSIsIlhPYmplY3QiKTtsLnNldCgiQkJveCIsaSk7bC5zZXQoIkxlbmd0aCIsYy5sZW5ndGgpO2NvbnN0IGg9bmV3IERpY3QodCksdT1uZXcgRGljdCh0KTtoLnNldCgiRXh0R1N0YXRlIix1KTtsLnNldCgiUmVzb3VyY2VzIixoKTtjb25zdCBkPW5ldyBEaWN0KHQpO3Uuc2V0KCJSMCIsZCk7ZC5zZXRJZk5hbWUoIkJNIiwiTXVsdGlwbHkiKTtpZigxIT09cyl7ZC5zZXQoImNhIixzKTtkLnNldElmTmFtZSgiVHlwZSIsIkV4dEdTdGF0ZSIpfWNvbnN0IGY9bmV3IFN0cmluZ1N0cmVhbShjKTtmLmRpY3Q9bDtyZXR1cm4gZn19Y2xhc3MgSGlnaGxpZ2h0QW5ub3RhdGlvbiBleHRlbmRzIE1hcmt1cEFubm90YXRpb257Y29uc3RydWN0b3IoZSl7c3VwZXIoZSk7Y29uc3R7ZGljdDp0LHhyZWY6YX09ZTt0aGlzLmRhdGEuYW5ub3RhdGlvblR5cGU9Ri5ISUdITElHSFQ7dGhpcy5kYXRhLmlzRWRpdGFibGU9IXRoaXMuZGF0YS5ub0hUTUw7dGhpcy5kYXRhLm5vSFRNTD0hMTt0aGlzLmRhdGEub3BhY2l0eT10LmdldCgiQ0EiKXx8MTtpZih0aGlzLmRhdGEucXVhZFBvaW50cz1nZXRRdWFkUG9pbnRzKHQsbnVsbCkpe2NvbnN0IGU9dGhpcy5hcHBlYXJhbmNlPy5kaWN0LmdldCgiUmVzb3VyY2VzIik7aWYoIXRoaXMuYXBwZWFyYW5jZXx8IWU/LmhhcygiRXh0R1N0YXRlIikpe3RoaXMuYXBwZWFyYW5jZSYmd2FybigiSGlnaGxpZ2h0QW5ub3RhdGlvbiAtIGlnbm9yaW5nIGJ1aWx0LWluIGFwcGVhcmFuY2Ugc3RyZWFtLiIpO2NvbnN0IGU9Z2V0UGRmQ29sb3JBcnJheSh0aGlzLmNvbG9yLFsxLDEsMF0pLHI9dC5nZXQoIkNBIik7dGhpcy5fc2V0RGVmYXVsdEFwcGVhcmFuY2Uoe3hyZWY6YSxmaWxsQ29sb3I6ZSxibGVuZE1vZGU6Ik11bHRpcGx5IixmaWxsQWxwaGE6cixwb2ludHNDYWxsYmFjazooZSx0KT0+e2UucHVzaChgJHt0WzBdfSAke3RbMV19IG1gLGAke3RbMl19ICR7dFszXX0gbGAsYCR7dFs2XX0gJHt0WzddfSBsYCxgJHt0WzRdfSAke3RbNV19IGxgLCJmIik7cmV0dXJuW3RbMF0sdFs3XSx0WzJdLHRbM11dfX0pfX1lbHNlIHRoaXMuZGF0YS5wb3B1cFJlZj1udWxsfWdldCBvdmVybGF5c1RleHRDb250ZW50KCl7cmV0dXJuITB9c3RhdGljIGNyZWF0ZU5ld0RpY3QoZSx0LHthcFJlZjphLGFwOnJ9KXtjb25zdHtjb2xvcjppLGRhdGU6bixvbGRBbm5vdGF0aW9uOnMsb3BhY2l0eTpvLHJlY3Q6Yyxyb3RhdGlvbjpsLHVzZXI6aCxxdWFkUG9pbnRzOnV9PWUsZD1zfHxuZXcgRGljdCh0KTtkLnNldElmTm90RXhpc3RzKCJUeXBlIixOYW1lLmdldCgiQW5ub3QiKSk7ZC5zZXRJZk5vdEV4aXN0cygiU3VidHlwZSIsTmFtZS5nZXQoIkhpZ2hsaWdodCIpKTtkLnNldChzPyJNIjoiQ3JlYXRpb25EYXRlIixgRDoke2dldE1vZGlmaWNhdGlvbkRhdGUobil9YCk7ZC5zZXRJZkFycmF5KCJSZWN0IixjKTtkLnNldElmTm90RXhpc3RzKCJGIiw0KTtkLnNldElmTm90RXhpc3RzKCJCb3JkZXIiLFswLDAsMF0pO2Quc2V0SWZOdW1iZXIoIlJvdGF0ZSIsbCk7ZC5zZXRJZkFycmF5KCJRdWFkUG9pbnRzIix1KTtkLnNldElmQXJyYXkoIkMiLGdldFBkZkNvbG9yQXJyYXkoaSkpO2Quc2V0SWZOdW1iZXIoIkNBIixvKTtkLnNldElmRGVmaW5lZCgiVCIsc3RyaW5nVG9Bc2NpaU9yVVRGMTZCRShoKSk7aWYoYXx8cil7Y29uc3QgZT1uZXcgRGljdCh0KTtkLnNldCgiQVAiLGUpO2Uuc2V0KCJOIixhfHxyKX1yZXR1cm4gZH1zdGF0aWMgYXN5bmMgY3JlYXRlTmV3QXBwZWFyYW5jZVN0cmVhbShlLHQsYSl7Y29uc3R7Y29sb3I6cixyZWN0Omksb3V0bGluZXM6bixvcGFjaXR5OnN9PWU7aWYoIXIpcmV0dXJuIG51bGw7Y29uc3Qgbz1bYCR7Z2V0UGRmQ29sb3IociwhMCl9YCwiL1IwIGdzIl0sYz1bXTtmb3IoY29uc3QgZSBvZiBuKXtjLmxlbmd0aD0wO2MucHVzaChgJHtudW1iZXJUb1N0cmluZyhlWzBdKX0gJHtudW1iZXJUb1N0cmluZyhlWzFdKX0gbWApO2ZvcihsZXQgdD0yLGE9ZS5sZW5ndGg7dDxhO3QrPTIpYy5wdXNoKGAke251bWJlclRvU3RyaW5nKGVbdF0pfSAke251bWJlclRvU3RyaW5nKGVbdCsxXSl9IGxgKTtjLnB1c2goImgiKTtvLnB1c2goYy5qb2luKCJcbiIpKX1vLnB1c2goImYqIik7Y29uc3QgbD1vLmpvaW4oIlxuIiksaD1uZXcgRGljdCh0KTtoLnNldCgiRm9ybVR5cGUiLDEpO2guc2V0SWZOYW1lKCJTdWJ0eXBlIiwiRm9ybSIpO2guc2V0SWZOYW1lKCJUeXBlIiwiWE9iamVjdCIpO2guc2V0KCJCQm94IixpKTtoLnNldCgiTGVuZ3RoIixsLmxlbmd0aCk7Y29uc3QgdT1uZXcgRGljdCh0KSxkPW5ldyBEaWN0KHQpO3Uuc2V0KCJFeHRHU3RhdGUiLGQpO2guc2V0KCJSZXNvdXJjZXMiLHUpO2NvbnN0IGY9bmV3IERpY3QodCk7ZC5zZXQoIlIwIixmKTtmLnNldElmTmFtZSgiQk0iLCJNdWx0aXBseSIpO2lmKDEhPT1zKXtmLnNldCgiY2EiLHMpO2Yuc2V0SWZOYW1lKCJUeXBlIiwiRXh0R1N0YXRlIil9Y29uc3QgZz1uZXcgU3RyaW5nU3RyZWFtKGwpO2cuZGljdD1oO3JldHVybiBnfX1jbGFzcyBVbmRlcmxpbmVBbm5vdGF0aW9uIGV4dGVuZHMgTWFya3VwQW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTtjb25zdHtkaWN0OnQseHJlZjphfT1lO3RoaXMuZGF0YS5hbm5vdGF0aW9uVHlwZT1GLlVOREVSTElORTtpZih0aGlzLmRhdGEucXVhZFBvaW50cz1nZXRRdWFkUG9pbnRzKHQsbnVsbCkpe2lmKCF0aGlzLmFwcGVhcmFuY2Upe2NvbnN0IGU9Z2V0UGRmQ29sb3JBcnJheSh0aGlzLmNvbG9yLFswLDAsMF0pLHI9dC5nZXQoIkNBIik7dGhpcy5fc2V0RGVmYXVsdEFwcGVhcmFuY2Uoe3hyZWY6YSxleHRyYToiW10gMCBkIDAuNTcxIHciLHN0cm9rZUNvbG9yOmUsc3Ryb2tlQWxwaGE6cixwb2ludHNDYWxsYmFjazooZSx0KT0+e2UucHVzaChgJHt0WzRdfSAke3RbNV0rMS4zfSBtYCxgJHt0WzZdfSAke3RbN10rMS4zfSBsYCwiUyIpO3JldHVyblt0WzBdLHRbN10sdFsyXSx0WzNdXX19KX19ZWxzZSB0aGlzLmRhdGEucG9wdXBSZWY9bnVsbH1nZXQgb3ZlcmxheXNUZXh0Q29udGVudCgpe3JldHVybiEwfX1jbGFzcyBTcXVpZ2dseUFubm90YXRpb24gZXh0ZW5kcyBNYXJrdXBBbm5vdGF0aW9ue2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO2NvbnN0e2RpY3Q6dCx4cmVmOmF9PWU7dGhpcy5kYXRhLmFubm90YXRpb25UeXBlPUYuU1FVSUdHTFk7aWYodGhpcy5kYXRhLnF1YWRQb2ludHM9Z2V0UXVhZFBvaW50cyh0LG51bGwpKXtpZighdGhpcy5hcHBlYXJhbmNlKXtjb25zdCBlPWdldFBkZkNvbG9yQXJyYXkodGhpcy5jb2xvcixbMCwwLDBdKSxyPXQuZ2V0KCJDQSIpO3RoaXMuX3NldERlZmF1bHRBcHBlYXJhbmNlKHt4cmVmOmEsZXh0cmE6IltdIDAgZCAxIHciLHN0cm9rZUNvbG9yOmUsc3Ryb2tlQWxwaGE6cixwb2ludHNDYWxsYmFjazooZSx0KT0+e2NvbnN0IGE9KHRbMV0tdFs1XSkvNjtsZXQgcj1hLGk9dFs0XTtjb25zdCBuPXRbNV0scz10WzZdO2UucHVzaChgJHtpfSAke24rcn0gbWApO2Rve2krPTI7cj0wPT09cj9hOjA7ZS5wdXNoKGAke2l9ICR7bityfSBsYCl9d2hpbGUoaTxzKTtlLnB1c2goIlMiKTtyZXR1cm5bdFs0XSxuLTIqYSxzLG4rMiphXX19KX19ZWxzZSB0aGlzLmRhdGEucG9wdXBSZWY9bnVsbH1nZXQgb3ZlcmxheXNUZXh0Q29udGVudCgpe3JldHVybiEwfX1jbGFzcyBTdHJpa2VPdXRBbm5vdGF0aW9uIGV4dGVuZHMgTWFya3VwQW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTtjb25zdHtkaWN0OnQseHJlZjphfT1lO3RoaXMuZGF0YS5hbm5vdGF0aW9uVHlwZT1GLlNUUklLRU9VVDtpZih0aGlzLmRhdGEucXVhZFBvaW50cz1nZXRRdWFkUG9pbnRzKHQsbnVsbCkpe2lmKCF0aGlzLmFwcGVhcmFuY2Upe2NvbnN0IGU9Z2V0UGRmQ29sb3JBcnJheSh0aGlzLmNvbG9yLFswLDAsMF0pLHI9dC5nZXQoIkNBIik7dGhpcy5fc2V0RGVmYXVsdEFwcGVhcmFuY2Uoe3hyZWY6YSxleHRyYToiW10gMCBkIDEgdyIsc3Ryb2tlQ29sb3I6ZSxzdHJva2VBbHBoYTpyLHBvaW50c0NhbGxiYWNrOihlLHQpPT57ZS5wdXNoKCh0WzBdK3RbNF0pLzIrIiAiKyh0WzFdK3RbNV0pLzIrIiBtIiwodFsyXSt0WzZdKS8yKyIgIisodFszXSt0WzddKS8yKyIgbCIsIlMiKTtyZXR1cm5bdFswXSx0WzddLHRbMl0sdFszXV19fSl9fWVsc2UgdGhpcy5kYXRhLnBvcHVwUmVmPW51bGx9Z2V0IG92ZXJsYXlzVGV4dENvbnRlbnQoKXtyZXR1cm4hMH19Y2xhc3MgU3RhbXBBbm5vdGF0aW9uIGV4dGVuZHMgTWFya3VwQW5ub3RhdGlvbnsjcGU9bnVsbDtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTt0aGlzLmRhdGEuYW5ub3RhdGlvblR5cGU9Ri5TVEFNUDt0aGlzLmRhdGEuaGFzT3duQ2FudmFzPXRoaXMuZGF0YS5ub1JvdGF0ZTt0aGlzLmRhdGEuaXNFZGl0YWJsZT0hdGhpcy5kYXRhLm5vSFRNTDt0aGlzLmRhdGEubm9IVE1MPSExfW11c3RCZVZpZXdlZFdoZW5FZGl0aW5nKGUsdD1udWxsKXtpZihlKXtpZighdGhpcy5kYXRhLmlzRWRpdGFibGUpcmV0dXJuITA7dGhpcy4jcGU/Pz10aGlzLmRhdGEuaGFzT3duQ2FudmFzO3RoaXMuZGF0YS5oYXNPd25DYW52YXM9ITA7cmV0dXJuITB9aWYobnVsbCE9PXRoaXMuI3BlKXt0aGlzLmRhdGEuaGFzT3duQ2FudmFzPXRoaXMuI3BlO3RoaXMuI3BlPW51bGx9cmV0dXJuIXQ/Lmhhcyh0aGlzLmRhdGEuaWQpfXN0YXRpYyBhc3luYyBjcmVhdGVJbWFnZShlLHQpe2NvbnN0e3dpZHRoOmEsaGVpZ2h0OnJ9PWUsaT1uZXcgT2Zmc2NyZWVuQ2FudmFzKGEsciksbj1pLmdldENvbnRleHQoIjJkIix7YWxwaGE6ITB9KTtuLmRyYXdJbWFnZShlLDAsMCk7Y29uc3Qgcz1uLmdldEltYWdlRGF0YSgwLDAsYSxyKS5kYXRhLG89bmV3IFVpbnQzMkFycmF5KHMuYnVmZmVyKSxjPW8uc29tZShGZWF0dXJlVGVzdC5pc0xpdHRsZUVuZGlhbj9lPT5lPj4+MjQhPTI1NTplPT4hISgyNTUmfmUpKTtpZihjKXtuLmZpbGxTdHlsZT0id2hpdGUiO24uZmlsbFJlY3QoMCwwLGEscik7bi5kcmF3SW1hZ2UoZSwwLDApfWNvbnN0IGw9aS5jb252ZXJ0VG9CbG9iKHt0eXBlOiJpbWFnZS9qcGVnIixxdWFsaXR5OjF9KS50aGVuKChlPT5lLmFycmF5QnVmZmVyKCkpKSxoPU5hbWUuZ2V0KCJYT2JqZWN0IiksdT1OYW1lLmdldCgiSW1hZ2UiKSxkPW5ldyBEaWN0KHQpO2Quc2V0KCJUeXBlIixoKTtkLnNldCgiU3VidHlwZSIsdSk7ZC5zZXQoIkJpdHNQZXJDb21wb25lbnQiLDgpO2Quc2V0SWZOYW1lKCJDb2xvclNwYWNlIiwiRGV2aWNlUkdCIik7ZC5zZXRJZk5hbWUoIkZpbHRlciIsIkRDVERlY29kZSIpO2Quc2V0KCJCQm94IixbMCwwLGEscl0pO2Quc2V0KCJXaWR0aCIsYSk7ZC5zZXQoIkhlaWdodCIscik7bGV0IGY9bnVsbDtpZihjKXtjb25zdCBlPW5ldyBVaW50OEFycmF5KG8ubGVuZ3RoKTtpZihGZWF0dXJlVGVzdC5pc0xpdHRsZUVuZGlhbilmb3IobGV0IHQ9MCxhPW8ubGVuZ3RoO3Q8YTt0KyspZVt0XT1vW3RdPj4+MjQ7ZWxzZSBmb3IobGV0IHQ9MCxhPW8ubGVuZ3RoO3Q8YTt0KyspZVt0XT0yNTUmb1t0XTtjb25zdCBpPW5ldyBEaWN0KHQpO2kuc2V0KCJUeXBlIixoKTtpLnNldCgiU3VidHlwZSIsdSk7aS5zZXQoIkJpdHNQZXJDb21wb25lbnQiLDgpO2kuc2V0SWZOYW1lKCJDb2xvclNwYWNlIiwiRGV2aWNlR3JheSIpO2kuc2V0KCJXaWR0aCIsYSk7aS5zZXQoIkhlaWdodCIscik7Zj1uZXcgU3RyZWFtKGUsMCwwLGkpfXJldHVybntpbWFnZVN0cmVhbTpuZXcgU3RyZWFtKGF3YWl0IGwsMCwwLGQpLHNtYXNrU3RyZWFtOmYsd2lkdGg6YSxoZWlnaHQ6cn19c3RhdGljIGNyZWF0ZU5ld0RpY3QoZSx0LHthcFJlZjphLGFwOnJ9KXtjb25zdHtkYXRlOmksb2xkQW5ub3RhdGlvbjpuLHJlY3Q6cyxyb3RhdGlvbjpvLHVzZXI6Y309ZSxsPW58fG5ldyBEaWN0KHQpO2wuc2V0SWZOb3RFeGlzdHMoIlR5cGUiLE5hbWUuZ2V0KCJBbm5vdCIpKTtsLnNldElmTm90RXhpc3RzKCJTdWJ0eXBlIixOYW1lLmdldCgiU3RhbXAiKSk7bC5zZXQobj8iTSI6IkNyZWF0aW9uRGF0ZSIsYEQ6JHtnZXRNb2RpZmljYXRpb25EYXRlKGkpfWApO2wuc2V0SWZBcnJheSgiUmVjdCIscyk7bC5zZXRJZk5vdEV4aXN0cygiRiIsNCk7bC5zZXRJZk5vdEV4aXN0cygiQm9yZGVyIixbMCwwLDBdKTtsLnNldElmTnVtYmVyKCJSb3RhdGUiLG8pO2wuc2V0SWZEZWZpbmVkKCJUIixzdHJpbmdUb0FzY2lpT3JVVEYxNkJFKGMpKTtpZihhfHxyKXtjb25zdCBlPW5ldyBEaWN0KHQpO2wuc2V0KCJBUCIsZSk7ZS5zZXQoIk4iLGF8fHIpfXJldHVybiBsfXN0YXRpYyBhc3luYyNtZShlLHQpe2NvbnN0e2FyZUNvbnRvdXJzOmEsY29sb3I6cixyZWN0OmksbGluZXM6bix0aGlja25lc3M6c309ZTtpZighcilyZXR1cm4gbnVsbDtjb25zdCBvPVtgJHtzfSB3IDEgSiAxIGpgLGAke2dldFBkZkNvbG9yKHIsYSl9YF07Zm9yKGNvbnN0IGUgb2Ygbil7by5wdXNoKGAke251bWJlclRvU3RyaW5nKGVbNF0pfSAke251bWJlclRvU3RyaW5nKGVbNV0pfSBtYCk7Zm9yKGxldCB0PTYsYT1lLmxlbmd0aDt0PGE7dCs9NilpZihpc05hTihlW3RdKSlvLnB1c2goYCR7bnVtYmVyVG9TdHJpbmcoZVt0KzRdKX0gJHtudW1iZXJUb1N0cmluZyhlW3QrNV0pfSBsYCk7ZWxzZXtjb25zdFthLHIsaSxuLHMsY109ZS5zbGljZSh0LHQrNik7by5wdXNoKFthLHIsaSxuLHMsY10ubWFwKG51bWJlclRvU3RyaW5nKS5qb2luKCIgIikrIiBjIil9Nj09PWUubGVuZ3RoJiZvLnB1c2goYCR7bnVtYmVyVG9TdHJpbmcoZVs0XSl9ICR7bnVtYmVyVG9TdHJpbmcoZVs1XSl9IGxgKX1vLnB1c2goYT8iRiI6IlMiKTtjb25zdCBjPW8uam9pbigiXG4iKSxsPW5ldyBEaWN0KHQpO2wuc2V0KCJGb3JtVHlwZSIsMSk7bC5zZXRJZk5hbWUoIlN1YnR5cGUiLCJGb3JtIik7bC5zZXRJZk5hbWUoIlR5cGUiLCJYT2JqZWN0Iik7bC5zZXQoIkJCb3giLGkpO2wuc2V0KCJMZW5ndGgiLGMubGVuZ3RoKTtjb25zdCBoPW5ldyBTdHJpbmdTdHJlYW0oYyk7aC5kaWN0PWw7cmV0dXJuIGh9c3RhdGljIGFzeW5jIGNyZWF0ZU5ld0FwcGVhcmFuY2VTdHJlYW0oZSx0LGEpe2lmKGUub2xkQW5ub3RhdGlvbilyZXR1cm4gbnVsbDtpZihlLmlzU2lnbmF0dXJlKXJldHVybiB0aGlzLiNtZShlLHQpO2NvbnN0e3JvdGF0aW9uOnJ9PWUse2ltYWdlUmVmOmksd2lkdGg6bixoZWlnaHQ6c309YS5pbWFnZSxvPW5ldyBEaWN0KHQpLGM9bmV3IERpY3QodCk7by5zZXQoIlhPYmplY3QiLGMpO2Muc2V0KCJJbTAiLGkpO2NvbnN0IGw9YHEgJHtufSAwIDAgJHtzfSAwIDAgY20gL0ltMCBEbyBRYCxoPW5ldyBEaWN0KHQpO2guc2V0KCJGb3JtVHlwZSIsMSk7aC5zZXRJZk5hbWUoIlN1YnR5cGUiLCJGb3JtIik7aC5zZXRJZk5hbWUoIlR5cGUiLCJYT2JqZWN0Iik7aC5zZXQoIkJCb3giLFswLDAsbixzXSk7aC5zZXQoIlJlc291cmNlcyIsbyk7aWYocil7Y29uc3QgZT1nZXRSb3RhdGlvbk1hdHJpeChyLG4scyk7aC5zZXQoIk1hdHJpeCIsZSl9Y29uc3QgdT1uZXcgU3RyaW5nU3RyZWFtKGwpO3UuZGljdD1oO3JldHVybiB1fX1jbGFzcyBGaWxlQXR0YWNobWVudEFubm90YXRpb24gZXh0ZW5kcyBNYXJrdXBBbm5vdGF0aW9ue2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO2NvbnN0e2RpY3Q6dCx4cmVmOmF9PWUscj1uZXcgRmlsZVNwZWModC5nZXQoIkZTIiksYSk7dGhpcy5kYXRhLmFubm90YXRpb25UeXBlPUYuRklMRUFUVEFDSE1FTlQ7dGhpcy5kYXRhLmhhc093bkNhbnZhcz10aGlzLmRhdGEubm9Sb3RhdGU7dGhpcy5kYXRhLm5vSFRNTD0hMTt0aGlzLmRhdGEuZmlsZT1yLnNlcmlhbGl6YWJsZTtjb25zdCBpPXQuZ2V0KCJOYW1lIik7dGhpcy5kYXRhLm5hbWU9aSBpbnN0YW5jZW9mIE5hbWU/c3RyaW5nVG9QREZTdHJpbmcoaS5uYW1lKToiUHVzaFBpbiI7Y29uc3Qgbj10LmdldCgiY2EiKTt0aGlzLmRhdGEuZmlsbEFscGhhPSJudW1iZXIiPT10eXBlb2YgbiYmbj49MCYmbjw9MT9uOm51bGx9fWNvbnN0IFpvPXtnZXQgcigpe3JldHVybiBzaGFkb3codGhpcywiciIsbmV3IFVpbnQ4QXJyYXkoWzcsMTIsMTcsMjIsNywxMiwxNywyMiw3LDEyLDE3LDIyLDcsMTIsMTcsMjIsNSw5LDE0LDIwLDUsOSwxNCwyMCw1LDksMTQsMjAsNSw5LDE0LDIwLDQsMTEsMTYsMjMsNCwxMSwxNiwyMyw0LDExLDE2LDIzLDQsMTEsMTYsMjMsNiwxMCwxNSwyMSw2LDEwLDE1LDIxLDYsMTAsMTUsMjEsNiwxMCwxNSwyMV0pKX0sZ2V0IGsoKXtyZXR1cm4gc2hhZG93KHRoaXMsImsiLG5ldyBJbnQzMkFycmF5KFstNjgwODc2OTM2LC0zODk1NjQ1ODYsNjA2MTA1ODE5LC0xMDQ0NTI1MzMwLC0xNzY0MTg4OTcsMTIwMDA4MDQyNiwtMTQ3MzIzMTM0MSwtNDU3MDU5ODMsMTc3MDAzNTQxNiwtMTk1ODQxNDQxNywtNDIwNjMsLTE5OTA0MDQxNjIsMTgwNDYwMzY4MiwtNDAzNDExMDEsLTE1MDIwMDIyOTAsMTIzNjUzNTMyOSwtMTY1Nzk2NTEwLC0xMDY5NTAxNjMyLDY0MzcxNzcxMywtMzczODk3MzAyLC03MDE1NTg2OTEsMzgwMTYwODMsLTY2MDQ3ODMzNSwtNDA1NTM3ODQ4LDU2ODQ0NjQzOCwtMTAxOTgwMzY5MCwtMTg3MzYzOTYxLDExNjM1MzE1MDEsLTE0NDQ2ODE0NjcsLTUxNDAzNzg0LDE3MzUzMjg0NzMsLTE5MjY2MDc3MzQsLTM3ODU1OCwtMjAyMjU3NDQ2MywxODM5MDMwNTYyLC0zNTMwOTU1NiwtMTUzMDk5MjA2MCwxMjcyODkzMzUzLC0xNTU0OTc2MzIsLTEwOTQ3MzA2NDAsNjgxMjc5MTc0LC0zNTg1MzcyMjIsLTcyMjUyMTk3OSw3NjAyOTE4OSwtNjQwMzY0NDg3LC00MjE4MTU4MzUsNTMwNzQyNTIwLC05OTUzMzg2NTEsLTE5ODYzMDg0NCwxMTI2ODkxNDE1LC0xNDE2MzU0OTA1LC01NzQzNDA1NSwxNzAwNDg1NTcxLC0xODk0OTg2NjA2LC0xMDUxNTIzLC0yMDU0OTIyNzk5LDE4NzMzMTMzNTksLTMwNjExNzQ0LC0xNTYwMTk4MzgwLDEzMDkxNTE2NDksLTE0NTUyMzA3MCwtMTEyMDIxMDM3OSw3MTg3ODcyNTksLTM0MzQ4NTU1MV0pKX19O2Z1bmN0aW9uIGNhbGN1bGF0ZU1ENShlLHQsYSl7bGV0IHI9MTczMjU4NDE5MyxpPS0yNzE3MzM4Nzksbj0tMTczMjU4NDE5NCxzPTI3MTczMzg3ODtjb25zdCBvPWErNzImLTY0LGM9bmV3IFVpbnQ4QXJyYXkobyk7bGV0IGwsaDtmb3IobD0wO2w8YTsrK2wpY1tsXT1lW3QrK107Y1tsKytdPTEyODtjb25zdCB1PW8tODtsPHUmJihsPXUpO2NbbCsrXT1hPDwzJjI1NTtjW2wrK109YT4+NSYyNTU7Y1tsKytdPWE+PjEzJjI1NTtjW2wrK109YT4+MjEmMjU1O2NbbCsrXT1hPj4+MjkmMjU1O2wrPTM7Y29uc3QgZD1uZXcgSW50MzJBcnJheSgxNikse2s6ZixyOmd9PVpvO2ZvcihsPTA7bDxvOyl7Zm9yKGg9MDtoPDE2OysraCxsKz00KWRbaF09Y1tsXXxjW2wrMV08PDh8Y1tsKzJdPDwxNnxjW2wrM108PDI0O2xldCBlLHQsYT1yLG89aSx1PW4scD1zO2ZvcihoPTA7aDw2NDsrK2gpe2lmKGg8MTYpe2U9byZ1fH5vJnA7dD1ofWVsc2UgaWYoaDwzMil7ZT1wJm98fnAmdTt0PTUqaCsxJjE1fWVsc2UgaWYoaDw0OCl7ZT1vXnVecDt0PTMqaCs1JjE1fWVsc2V7ZT11XihvfH5wKTt0PTcqaCYxNX1jb25zdCByPXAsaT1hK2UrZltoXStkW3RdfDAsbj1nW2hdO3A9dTt1PW87bz1vKyhpPDxufGk+Pj4zMi1uKXwwO2E9cn1yPXIrYXwwO2k9aStvfDA7bj1uK3V8MDtzPXMrcHwwfXJldHVybiBuZXcgVWludDhBcnJheShbMjU1JnIscj4+OCYyNTUscj4+MTYmMjU1LHI+Pj4yNCYyNTUsMjU1JmksaT4+OCYyNTUsaT4+MTYmMjU1LGk+Pj4yNCYyNTUsMjU1Jm4sbj4+OCYyNTUsbj4+MTYmMjU1LG4+Pj4yNCYyNTUsMjU1JnMscz4+OCYyNTUscz4+MTYmMjU1LHM+Pj4yNCYyNTVdKX1mdW5jdGlvbiBkZWNvZGVTdHJpbmcoZSl7dHJ5e3JldHVybiBzdHJpbmdUb1VURjhTdHJpbmcoZSl9Y2F0Y2godCl7d2FybihgVVRGLTggZGVjb2RpbmcgZmFpbGVkOiAiJHt0fSIuYCk7cmV0dXJuIGV9fWNsYXNzIERhdGFzZXRYTUxQYXJzZXIgZXh0ZW5kcyBTaW1wbGVYTUxQYXJzZXJ7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSk7dGhpcy5ub2RlPW51bGx9b25FbmRFbGVtZW50KGUpe2NvbnN0IHQ9c3VwZXIub25FbmRFbGVtZW50KGUpO2lmKHQmJiJ4ZmE6ZGF0YXNldHMiPT09ZSl7dGhpcy5ub2RlPXQ7dGhyb3cgbmV3IEVycm9yKCJBYm9ydGluZyBEYXRhc2V0WE1MUGFyc2VyLiIpfX19Y2xhc3MgRGF0YXNldFJlYWRlcntjb25zdHJ1Y3RvcihlKXtpZihlLmRhdGFzZXRzKXRoaXMubm9kZT1uZXcgU2ltcGxlWE1MUGFyc2VyKHtoYXNBdHRyaWJ1dGVzOiEwfSkucGFyc2VGcm9tU3RyaW5nKGUuZGF0YXNldHMpLmRvY3VtZW50RWxlbWVudDtlbHNle2NvbnN0IHQ9bmV3IERhdGFzZXRYTUxQYXJzZXIoe2hhc0F0dHJpYnV0ZXM6ITB9KTt0cnl7dC5wYXJzZUZyb21TdHJpbmcoZVsieGRwOnhkcCJdKX1jYXRjaHt9dGhpcy5ub2RlPXQubm9kZX19Z2V0VmFsdWUoZSl7aWYoIXRoaXMubm9kZXx8IWUpcmV0dXJuIiI7Y29uc3QgdD10aGlzLm5vZGUuc2VhcmNoTm9kZShwYXJzZVhGQVBhdGgoZSksMCk7aWYoIXQpcmV0dXJuIiI7Y29uc3QgYT10LmZpcnN0Q2hpbGQ7cmV0dXJuInZhbHVlIj09PWE/Lm5vZGVOYW1lP3QuY2hpbGRyZW4ubWFwKChlPT5kZWNvZGVTdHJpbmcoZS50ZXh0Q29udGVudCkpKTpkZWNvZGVTdHJpbmcodC50ZXh0Q29udGVudCl9fWNsYXNzIFNpbmdsZUludGVyc2VjdG9yeyNiZTsjeWU9MS8wOyN3ZT0xLzA7I3hlPS0xLzA7I1NlPS0xLzA7I0FlPW51bGw7I2tlPVtdOyNDZT1bXTsjdmU9LTE7I0ZlPSExO2NvbnN0cnVjdG9yKGUpe3RoaXMuI2JlPWU7Y29uc3QgdD1lLmRhdGEucXVhZFBvaW50cztpZih0KXtmb3IobGV0IGU9MCxhPXQubGVuZ3RoO2U8YTtlKz04KXt0aGlzLiN5ZT1NYXRoLm1pbih0aGlzLiN5ZSx0W2VdKTt0aGlzLiN4ZT1NYXRoLm1heCh0aGlzLiN4ZSx0W2UrMl0pO3RoaXMuI3dlPU1hdGgubWluKHRoaXMuI3dlLHRbZSs1XSk7dGhpcy4jU2U9TWF0aC5tYXgodGhpcy4jU2UsdFtlKzFdKX10Lmxlbmd0aD44JiYodGhpcy4jQWU9dCl9ZWxzZVt0aGlzLiN5ZSx0aGlzLiN3ZSx0aGlzLiN4ZSx0aGlzLiNTZV09ZS5kYXRhLnJlY3R9b3ZlcmxhcHMoZSl7cmV0dXJuISh0aGlzLiN5ZT49ZS4jeGV8fHRoaXMuI3hlPD1lLiN5ZXx8dGhpcy4jd2U+PWUuI1NlfHx0aGlzLiNTZTw9ZS4jd2UpfSNJZShlLHQpe2lmKHRoaXMuI3llPj1lfHx0aGlzLiN4ZTw9ZXx8dGhpcy4jd2U+PXR8fHRoaXMuI1NlPD10KXJldHVybiExO2NvbnN0IGE9dGhpcy4jQWU7aWYoIWEpcmV0dXJuITA7aWYodGhpcy4jdmU+PTApe2NvbnN0IHI9dGhpcy4jdmU7aWYoIShhW3JdPj1lfHxhW3IrMl08PWV8fGFbcis1XT49dHx8YVtyKzFdPD10KSlyZXR1cm4hMDt0aGlzLiN2ZT0tMX1mb3IobGV0IHI9MCxpPWEubGVuZ3RoO3I8aTtyKz04KWlmKCEoYVtyXT49ZXx8YVtyKzJdPD1lfHxhW3IrNV0+PXR8fGFbcisxXTw9dCkpe3RoaXMuI3ZlPXI7cmV0dXJuITB9cmV0dXJuITF9YWRkR2x5cGgoZSx0LGEpe2lmKCF0aGlzLiNJZShlLHQpKXt0aGlzLmRpc2FibGVFeHRyYUNoYXJzKCk7cmV0dXJuITF9aWYodGhpcy4jQ2UubGVuZ3RoPjApe3RoaXMuI2tlLnB1c2godGhpcy4jQ2Uuam9pbigiIikpO3RoaXMuI0NlLmxlbmd0aD0wfXRoaXMuI2tlLnB1c2goYSk7dGhpcy4jRmU9ITA7cmV0dXJuITB9YWRkRXh0cmFDaGFyKGUpe3RoaXMuI0ZlJiZ0aGlzLiNDZS5wdXNoKGUpfWRpc2FibGVFeHRyYUNoYXJzKCl7aWYodGhpcy4jRmUpe3RoaXMuI0ZlPSExO3RoaXMuI0NlLmxlbmd0aD0wfX1zZXRUZXh0KCl7dGhpcy4jYmUuZGF0YS5vdmVybGFpZFRleHQ9dGhpcy4ja2Uuam9pbigiIil9fWNsYXNzIEludGVyc2VjdG9yeyNUZT1uZXcgTWFwO2NvbnN0cnVjdG9yKGUpe2Zvcihjb25zdCB0IG9mIGUpe2lmKCF0LmRhdGEucXVhZFBvaW50cyYmIXQuZGF0YS5yZWN0KWNvbnRpbnVlO2NvbnN0IGU9bmV3IFNpbmdsZUludGVyc2VjdG9yKHQpO2Zvcihjb25zdFt0LGFdb2YgdGhpcy4jVGUpdC5vdmVybGFwcyhlKSYmKGE/YS5hZGQoZSk6dGhpcy4jVGUuc2V0KHQsbmV3IFNldChbZV0pKSk7dGhpcy4jVGUuc2V0KGUsbnVsbCl9fWFkZEdseXBoKGUsdCxhLHIpe2NvbnN0IGk9ZVs0XSt0LzIsbj1lWzVdK2EvMjtsZXQgcztmb3IoY29uc3RbZSx0XW9mIHRoaXMuI1RlKXM/cy5oYXMoZSk/ZS5hZGRHbHlwaChpLG4scik6ZS5kaXNhYmxlRXh0cmFDaGFycygpOmUuYWRkR2x5cGgoaSxuLHIpJiYocz10KX1hZGRFeHRyYUNoYXIoZSl7Zm9yKGNvbnN0IHQgb2YgdGhpcy4jVGUua2V5cygpKXQuYWRkRXh0cmFDaGFyKGUpfXNldFRleHQoKXtmb3IoY29uc3QgZSBvZiB0aGlzLiNUZS5rZXlzKCkpZS5zZXRUZXh0KCl9fWNsYXNzIFdvcmQ2NHtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuaGlnaD0wfGU7dGhpcy5sb3c9MHx0fWFuZChlKXt0aGlzLmhpZ2gmPWUuaGlnaDt0aGlzLmxvdyY9ZS5sb3d9eG9yKGUpe3RoaXMuaGlnaF49ZS5oaWdoO3RoaXMubG93Xj1lLmxvd31zaGlmdFJpZ2h0KGUpe2lmKGU+PTMyKXt0aGlzLmxvdz10aGlzLmhpZ2g+Pj5lLTMyfDA7dGhpcy5oaWdoPTB9ZWxzZXt0aGlzLmxvdz10aGlzLmxvdz4+PmV8dGhpcy5oaWdoPDwzMi1lO3RoaXMuaGlnaD10aGlzLmhpZ2g+Pj5lfDB9fXJvdGF0ZVJpZ2h0KGUpe2xldCB0LGE7aWYoMzImZSl7YT10aGlzLmxvdzt0PXRoaXMuaGlnaH1lbHNle3Q9dGhpcy5sb3c7YT10aGlzLmhpZ2h9ZSY9MzE7dGhpcy5sb3c9dD4+PmV8YTw8MzItZTt0aGlzLmhpZ2g9YT4+PmV8dDw8MzItZX1ub3QoKXt0aGlzLmhpZ2g9fnRoaXMuaGlnaDt0aGlzLmxvdz1+dGhpcy5sb3d9YWRkKGUpe2NvbnN0IHQ9KHRoaXMubG93Pj4+MCkrKGUubG93Pj4+MCk7bGV0IGE9KHRoaXMuaGlnaD4+PjApKyhlLmhpZ2g+Pj4wKTt0PjQyOTQ5NjcyOTUmJihhKz0xKTt0aGlzLmxvdz0wfHQ7dGhpcy5oaWdoPTB8YX1jb3B5VG8oZSx0KXtlW3RdPXRoaXMuaGlnaD4+PjI0JjI1NTtlW3QrMV09dGhpcy5oaWdoPj4xNiYyNTU7ZVt0KzJdPXRoaXMuaGlnaD4+OCYyNTU7ZVt0KzNdPTI1NSZ0aGlzLmhpZ2g7ZVt0KzRdPXRoaXMubG93Pj4+MjQmMjU1O2VbdCs1XT10aGlzLmxvdz4+MTYmMjU1O2VbdCs2XT10aGlzLmxvdz4+OCYyNTU7ZVt0KzddPTI1NSZ0aGlzLmxvd31hc3NpZ24oZSl7dGhpcy5oaWdoPWUuaGlnaDt0aGlzLmxvdz1lLmxvd319Y29uc3QgUW89e2dldCBrKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJrIixbbmV3IFdvcmQ2NCgxMTE2MzUyNDA4LDM2MDk3Njc0NTgpLG5ldyBXb3JkNjQoMTg5OTQ0NzQ0MSw2MDI4OTE3MjUpLG5ldyBXb3JkNjQoMzA0OTMyMzQ3MSwzOTY0NDg0Mzk5KSxuZXcgV29yZDY0KDM5MjEwMDk1NzMsMjE3MzI5NTU0OCksbmV3IFdvcmQ2NCg5NjE5ODcxNjMsNDA4MTYyODQ3MiksbmV3IFdvcmQ2NCgxNTA4OTcwOTkzLDMwNTM4MzQyNjUpLG5ldyBXb3JkNjQoMjQ1MzYzNTc0OCwyOTM3NjcxNTc5KSxuZXcgV29yZDY0KDI4NzA3NjMyMjEsMzY2NDYwOTU2MCksbmV3IFdvcmQ2NCgzNjI0MzgxMDgwLDI3MzQ4ODMzOTQpLG5ldyBXb3JkNjQoMzEwNTk4NDAxLDExNjQ5OTY1NDIpLG5ldyBXb3JkNjQoNjA3MjI1Mjc4LDEzMjM2MTA3NjQpLG5ldyBXb3JkNjQoMTQyNjg4MTk4NywzNTkwMzA0OTk0KSxuZXcgV29yZDY0KDE5MjUwNzgzODgsNDA2ODE4MjM4MyksbmV3IFdvcmQ2NCgyMTYyMDc4MjA2LDk5MTMzNjExMyksbmV3IFdvcmQ2NCgyNjE0ODg4MTAzLDYzMzgwMzMxNyksbmV3IFdvcmQ2NCgzMjQ4MjIyNTgwLDM0Nzk3NzQ4NjgpLG5ldyBXb3JkNjQoMzgzNTM5MDQwMSwyNjY2NjEzNDU4KSxuZXcgV29yZDY0KDQwMjIyMjQ3NzQsOTQ0NzExMTM5KSxuZXcgV29yZDY0KDI2NDM0NzA3OCwyMzQxMjYyNzczKSxuZXcgV29yZDY0KDYwNDgwNzYyOCwyMDA3ODAwOTMzKSxuZXcgV29yZDY0KDc3MDI1NTk4MywxNDk1OTkwOTAxKSxuZXcgV29yZDY0KDEyNDkxNTAxMjIsMTg1NjQzMTIzNSksbmV3IFdvcmQ2NCgxNTU1MDgxNjkyLDMxNzUyMTgxMzIpLG5ldyBXb3JkNjQoMTk5NjA2NDk4NiwyMTk4OTUwODM3KSxuZXcgV29yZDY0KDI1NTQyMjA4ODIsMzk5OTcxOTMzOSksbmV3IFdvcmQ2NCgyODIxODM0MzQ5LDc2Njc4NDAxNiksbmV3IFdvcmQ2NCgyOTUyOTk2ODA4LDI1NjY1OTQ4NzkpLG5ldyBXb3JkNjQoMzIxMDMxMzY3MSwzMjAzMzM3OTU2KSxuZXcgV29yZDY0KDMzMzY1NzE4OTEsMTAzNDQ1NzAyNiksbmV3IFdvcmQ2NCgzNTg0NTI4NzExLDI0NjY5NDg5MDEpLG5ldyBXb3JkNjQoMTEzOTI2OTkzLDM3NTgzMjYzODMpLG5ldyBXb3JkNjQoMzM4MjQxODk1LDE2ODcxNzkzNiksbmV3IFdvcmQ2NCg2NjYzMDcyMDUsMTE4ODE3OTk2NCksbmV3IFdvcmQ2NCg3NzM1Mjk5MTIsMTU0NjA0NTczNCksbmV3IFdvcmQ2NCgxMjk0NzU3MzcyLDE1MjI4MDU0ODUpLG5ldyBXb3JkNjQoMTM5NjE4MjI5MSwyNjQzODMzODIzKSxuZXcgV29yZDY0KDE2OTUxODM3MDAsMjM0MzUyNzM5MCksbmV3IFdvcmQ2NCgxOTg2NjYxMDUxLDEwMTQ0Nzc0ODApLG5ldyBXb3JkNjQoMjE3NzAyNjM1MCwxMjA2NzU5MTQyKSxuZXcgV29yZDY0KDI0NTY5NTYwMzcsMzQ0MDc3NjI3KSxuZXcgV29yZDY0KDI3MzA0ODU5MjEsMTI5MDg2MzQ2MCksbmV3IFdvcmQ2NCgyODIwMzAyNDExLDMxNTg0NTQyNzMpLG5ldyBXb3JkNjQoMzI1OTczMDgwMCwzNTA1OTUyNjU3KSxuZXcgV29yZDY0KDMzNDU3NjQ3NzEsMTA2MjE3MDA4KSxuZXcgV29yZDY0KDM1MTYwNjU4MTcsMzYwNjAwODM0NCksbmV3IFdvcmQ2NCgzNjAwMzUyODA0LDE0MzI3MjU3NzYpLG5ldyBXb3JkNjQoNDA5NDU3MTkwOSwxNDY3MDMxNTk0KSxuZXcgV29yZDY0KDI3NTQyMzM0NCw4NTExNjk3MjApLG5ldyBXb3JkNjQoNDMwMjI3NzM0LDMxMDA4MjM3NTIpLG5ldyBXb3JkNjQoNTA2OTQ4NjE2LDEzNjMyNTgxOTUpLG5ldyBXb3JkNjQoNjU5MDYwNTU2LDM3NTA2ODU1OTMpLG5ldyBXb3JkNjQoODgzOTk3ODc3LDM3ODUwNTAyODApLG5ldyBXb3JkNjQoOTU4MTM5NTcxLDMzMTgzMDc0MjcpLG5ldyBXb3JkNjQoMTMyMjgyMjIxOCwzODEyNzIzNDAzKSxuZXcgV29yZDY0KDE1MzcwMDIwNjMsMjAwMzAzNDk5NSksbmV3IFdvcmQ2NCgxNzQ3ODczNzc5LDM2MDIwMzY4OTkpLG5ldyBXb3JkNjQoMTk1NTU2MjIyMiwxNTc1OTkwMDEyKSxuZXcgV29yZDY0KDIwMjQxMDQ4MTUsMTEyNTU5MjkyOCksbmV3IFdvcmQ2NCgyMjI3NzMwNDUyLDI3MTY5MDQzMDYpLG5ldyBXb3JkNjQoMjM2MTg1MjQyNCw0NDI3NzYwNDQpLG5ldyBXb3JkNjQoMjQyODQzNjQ3NCw1OTM2OTgzNDQpLG5ldyBXb3JkNjQoMjc1NjczNDE4NywzNzMzMTEwMjQ5KSxuZXcgV29yZDY0KDMyMDQwMzE0NzksMjk5OTM1MTU3MyksbmV3IFdvcmQ2NCgzMzI5MzI1Mjk4LDM4MTU5MjA0MjcpLG5ldyBXb3JkNjQoMzM5MTU2OTYxNCwzOTI4MzgzOTAwKSxuZXcgV29yZDY0KDM1MTUyNjcyNzEsNTY2MjgwNzExKSxuZXcgV29yZDY0KDM5NDAxODc2MDYsMzQ1NDA2OTUzNCksbmV3IFdvcmQ2NCg0MTE4NjMwMjcxLDQwMDAyMzk5OTIpLG5ldyBXb3JkNjQoMTE2NDE4NDc0LDE5MTQxMzg1NTQpLG5ldyBXb3JkNjQoMTc0MjkyNDIxLDI3MzEwNTUyNzApLG5ldyBXb3JkNjQoMjg5MzgwMzU2LDMyMDM5OTMwMDYpLG5ldyBXb3JkNjQoNDYwMzkzMjY5LDMyMDYyMDMxNSksbmV3IFdvcmQ2NCg2ODU0NzE3MzMsNTg3NDk2ODM2KSxuZXcgV29yZDY0KDg1MjE0Mjk3MSwxMDg2NzkyODUxKSxuZXcgV29yZDY0KDEwMTcwMzYyOTgsMzY1NTQzMTAwKSxuZXcgV29yZDY0KDExMjYwMDA1ODAsMjYxODI5NzY3NiksbmV3IFdvcmQ2NCgxMjg4MDMzNDcwLDM0MDk4NTUxNTgpLG5ldyBXb3JkNjQoMTUwMTUwNTk0OCw0MjM0NTA5ODY2KSxuZXcgV29yZDY0KDE2MDcxNjc5MTUsOTg3MTY3NDY4KSxuZXcgV29yZDY0KDE4MTY0MDIzMTYsMTI0NjE4OTU5MSldKX19O2Z1bmN0aW9uIGNoKGUsdCxhLHIsaSl7ZS5hc3NpZ24odCk7ZS5hbmQoYSk7aS5hc3NpZ24odCk7aS5ub3QoKTtpLmFuZChyKTtlLnhvcihpKX1mdW5jdGlvbiBtYWooZSx0LGEscixpKXtlLmFzc2lnbih0KTtlLmFuZChhKTtpLmFzc2lnbih0KTtpLmFuZChyKTtlLnhvcihpKTtpLmFzc2lnbihhKTtpLmFuZChyKTtlLnhvcihpKX1mdW5jdGlvbiBzaWdtYShlLHQsYSl7ZS5hc3NpZ24odCk7ZS5yb3RhdGVSaWdodCgyOCk7YS5hc3NpZ24odCk7YS5yb3RhdGVSaWdodCgzNCk7ZS54b3IoYSk7YS5hc3NpZ24odCk7YS5yb3RhdGVSaWdodCgzOSk7ZS54b3IoYSl9ZnVuY3Rpb24gc2lnbWFQcmltZShlLHQsYSl7ZS5hc3NpZ24odCk7ZS5yb3RhdGVSaWdodCgxNCk7YS5hc3NpZ24odCk7YS5yb3RhdGVSaWdodCgxOCk7ZS54b3IoYSk7YS5hc3NpZ24odCk7YS5yb3RhdGVSaWdodCg0MSk7ZS54b3IoYSl9ZnVuY3Rpb24gbGl0dGxlU2lnbWEoZSx0LGEpe2UuYXNzaWduKHQpO2Uucm90YXRlUmlnaHQoMSk7YS5hc3NpZ24odCk7YS5yb3RhdGVSaWdodCg4KTtlLnhvcihhKTthLmFzc2lnbih0KTthLnNoaWZ0UmlnaHQoNyk7ZS54b3IoYSl9ZnVuY3Rpb24gbGl0dGxlU2lnbWFQcmltZShlLHQsYSl7ZS5hc3NpZ24odCk7ZS5yb3RhdGVSaWdodCgxOSk7YS5hc3NpZ24odCk7YS5yb3RhdGVSaWdodCg2MSk7ZS54b3IoYSk7YS5hc3NpZ24odCk7YS5zaGlmdFJpZ2h0KDYpO2UueG9yKGEpfWZ1bmN0aW9uIGNhbGN1bGF0ZVNIQTUxMihlLHQsYSxyPSExKXtsZXQgaSxuLHMsbyxjLGwsaCx1O2lmKHIpe2k9bmV3IFdvcmQ2NCgzNDE4MDcwMzY1LDMyMzgzNzEwMzIpO249bmV3IFdvcmQ2NCgxNjU0MjcwMjUwLDkxNDE1MDY2Myk7cz1uZXcgV29yZDY0KDI0Mzg1MjkzNzAsODEyNzAyOTk5KTtvPW5ldyBXb3JkNjQoMzU1NDYyMzYwLDQxNDQ5MTI2OTcpO2M9bmV3IFdvcmQ2NCgxNzMxNDA1NDE1LDQyOTA3NzU4NTcpO2w9bmV3IFdvcmQ2NCgyMzk0MTgwMjMxLDE3NTA2MDMwMjUpO2g9bmV3IFdvcmQ2NCgzNjc1MDA4NTI1LDE2OTQwNzY4MzkpO3U9bmV3IFdvcmQ2NCgxMjAzMDYyODEzLDMyMDQwNzU0MjgpfWVsc2V7aT1uZXcgV29yZDY0KDE3NzkwMzM3MDMsNDA4OTIzNTcyMCk7bj1uZXcgV29yZDY0KDMxNDQxMzQyNzcsMjIyNzg3MzU5NSk7cz1uZXcgV29yZDY0KDEwMTM5MDQyNDIsNDI3MTE3NTcyMyk7bz1uZXcgV29yZDY0KDI3NzM0ODA3NjIsMTU5NTc1MDEyOSk7Yz1uZXcgV29yZDY0KDEzNTk4OTMxMTksMjkxNzU2NTEzNyk7bD1uZXcgV29yZDY0KDI2MDA4MjI5MjQsNzI1NTExMTk5KTtoPW5ldyBXb3JkNjQoNTI4NzM0NjM1LDQyMTUzODk1NDcpO3U9bmV3IFdvcmQ2NCgxNTQxNDU5MjI1LDMyNzAzMzIwOSl9Y29uc3QgZD0xMjgqTWF0aC5jZWlsKChhKzE3KS8xMjgpLGY9bmV3IFVpbnQ4QXJyYXkoZCk7bGV0IGcscDtmb3IoZz0wO2c8YTsrK2cpZltnXT1lW3QrK107ZltnKytdPTEyODtjb25zdCBtPWQtMTY7ZzxtJiYoZz1tKTtnKz0xMTtmW2crK109YT4+PjI5JjI1NTtmW2crK109YT4+MjEmMjU1O2ZbZysrXT1hPj4xMyYyNTU7ZltnKytdPWE+PjUmMjU1O2ZbZysrXT1hPDwzJjI1NTtjb25zdCBiPW5ldyBBcnJheSg4MCk7Zm9yKGc9MDtnPDgwO2crKyliW2ddPW5ldyBXb3JkNjQoMCwwKTtjb25zdHtrOnl9PVFvO2xldCB3PW5ldyBXb3JkNjQoMCwwKSx4PW5ldyBXb3JkNjQoMCwwKSxTPW5ldyBXb3JkNjQoMCwwKSxrPW5ldyBXb3JkNjQoMCwwKSxDPW5ldyBXb3JkNjQoMCwwKSx2PW5ldyBXb3JkNjQoMCwwKSxGPW5ldyBXb3JkNjQoMCwwKSxUPW5ldyBXb3JkNjQoMCwwKTtjb25zdCBPPW5ldyBXb3JkNjQoMCwwKSxNPW5ldyBXb3JkNjQoMCwwKSxEPW5ldyBXb3JkNjQoMCwwKSxSPW5ldyBXb3JkNjQoMCwwKTtsZXQgTixFO2ZvcihnPTA7ZzxkOyl7Zm9yKHA9MDtwPDE2OysrcCl7YltwXS5oaWdoPWZbZ108PDI0fGZbZysxXTw8MTZ8ZltnKzJdPDw4fGZbZyszXTtiW3BdLmxvdz1mW2crNF08PDI0fGZbZys1XTw8MTZ8ZltnKzZdPDw4fGZbZys3XTtnKz04fWZvcihwPTE2O3A8ODA7KytwKXtOPWJbcF07bGl0dGxlU2lnbWFQcmltZShOLGJbcC0yXSxSKTtOLmFkZChiW3AtN10pO2xpdHRsZVNpZ21hKEQsYltwLTE1XSxSKTtOLmFkZChEKTtOLmFkZChiW3AtMTZdKX13LmFzc2lnbihpKTt4LmFzc2lnbihuKTtTLmFzc2lnbihzKTtrLmFzc2lnbihvKTtDLmFzc2lnbihjKTt2LmFzc2lnbihsKTtGLmFzc2lnbihoKTtULmFzc2lnbih1KTtmb3IocD0wO3A8ODA7KytwKXtPLmFzc2lnbihUKTtzaWdtYVByaW1lKEQsQyxSKTtPLmFkZChEKTtjaChELEMsdixGLFIpO08uYWRkKEQpO08uYWRkKHlbcF0pO08uYWRkKGJbcF0pO3NpZ21hKE0sdyxSKTttYWooRCx3LHgsUyxSKTtNLmFkZChEKTtOPVQ7VD1GO0Y9djt2PUM7ay5hZGQoTyk7Qz1rO2s9UztTPXg7eD13O04uYXNzaWduKE8pO04uYWRkKE0pO3c9Tn1pLmFkZCh3KTtuLmFkZCh4KTtzLmFkZChTKTtvLmFkZChrKTtjLmFkZChDKTtsLmFkZCh2KTtoLmFkZChGKTt1LmFkZChUKX1pZihyKXtFPW5ldyBVaW50OEFycmF5KDQ4KTtpLmNvcHlUbyhFLDApO24uY29weVRvKEUsOCk7cy5jb3B5VG8oRSwxNik7by5jb3B5VG8oRSwyNCk7Yy5jb3B5VG8oRSwzMik7bC5jb3B5VG8oRSw0MCl9ZWxzZXtFPW5ldyBVaW50OEFycmF5KDY0KTtpLmNvcHlUbyhFLDApO24uY29weVRvKEUsOCk7cy5jb3B5VG8oRSwxNik7by5jb3B5VG8oRSwyNCk7Yy5jb3B5VG8oRSwzMik7bC5jb3B5VG8oRSw0MCk7aC5jb3B5VG8oRSw0OCk7dS5jb3B5VG8oRSw1Nil9cmV0dXJuIEV9Y29uc3QgZWM9e2dldCBrKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJrIixbMTExNjM1MjQwOCwxODk5NDQ3NDQxLDMwNDkzMjM0NzEsMzkyMTAwOTU3Myw5NjE5ODcxNjMsMTUwODk3MDk5MywyNDUzNjM1NzQ4LDI4NzA3NjMyMjEsMzYyNDM4MTA4MCwzMTA1OTg0MDEsNjA3MjI1Mjc4LDE0MjY4ODE5ODcsMTkyNTA3ODM4OCwyMTYyMDc4MjA2LDI2MTQ4ODgxMDMsMzI0ODIyMjU4MCwzODM1MzkwNDAxLDQwMjIyMjQ3NzQsMjY0MzQ3MDc4LDYwNDgwNzYyOCw3NzAyNTU5ODMsMTI0OTE1MDEyMiwxNTU1MDgxNjkyLDE5OTYwNjQ5ODYsMjU1NDIyMDg4MiwyODIxODM0MzQ5LDI5NTI5OTY4MDgsMzIxMDMxMzY3MSwzMzM2NTcxODkxLDM1ODQ1Mjg3MTEsMTEzOTI2OTkzLDMzODI0MTg5NSw2NjYzMDcyMDUsNzczNTI5OTEyLDEyOTQ3NTczNzIsMTM5NjE4MjI5MSwxNjk1MTgzNzAwLDE5ODY2NjEwNTEsMjE3NzAyNjM1MCwyNDU2OTU2MDM3LDI3MzA0ODU5MjEsMjgyMDMwMjQxMSwzMjU5NzMwODAwLDMzNDU3NjQ3NzEsMzUxNjA2NTgxNywzNjAwMzUyODA0LDQwOTQ1NzE5MDksMjc1NDIzMzQ0LDQzMDIyNzczNCw1MDY5NDg2MTYsNjU5MDYwNTU2LDg4Mzk5Nzg3Nyw5NTgxMzk1NzEsMTMyMjgyMjIxOCwxNTM3MDAyMDYzLDE3NDc4NzM3NzksMTk1NTU2MjIyMiwyMDI0MTA0ODE1LDIyMjc3MzA0NTIsMjM2MTg1MjQyNCwyNDI4NDM2NDc0LDI3NTY3MzQxODcsMzIwNDAzMTQ3OSwzMzI5MzI1Mjk4XSl9fTtmdW5jdGlvbiByb3RyKGUsdCl7cmV0dXJuIGU+Pj50fGU8PDMyLXR9ZnVuY3Rpb24gY2FsY3VsYXRlX3NoYTI1Nl9jaChlLHQsYSl7cmV0dXJuIGUmdF5+ZSZhfWZ1bmN0aW9uIGNhbGN1bGF0ZV9zaGEyNTZfbWFqKGUsdCxhKXtyZXR1cm4gZSZ0XmUmYV50JmF9ZnVuY3Rpb24gY2FsY3VsYXRlX3NoYTI1Nl9zaWdtYShlKXtyZXR1cm4gcm90cihlLDIpXnJvdHIoZSwxMylecm90cihlLDIyKX1mdW5jdGlvbiBjYWxjdWxhdGVfc2hhMjU2X3NpZ21hUHJpbWUoZSl7cmV0dXJuIHJvdHIoZSw2KV5yb3RyKGUsMTEpXnJvdHIoZSwyNSl9ZnVuY3Rpb24gY2FsY3VsYXRlX3NoYTI1Nl9saXR0bGVTaWdtYShlKXtyZXR1cm4gcm90cihlLDcpXnJvdHIoZSwxOCleZT4+PjN9ZnVuY3Rpb24gY2FsY3VsYXRlU0hBMjU2KGUsdCxhKXtsZXQgcj0xNzc5MDMzNzAzLGk9MzE0NDEzNDI3NyxuPTEwMTM5MDQyNDIscz0yNzczNDgwNzYyLG89MTM1OTg5MzExOSxjPTI2MDA4MjI5MjQsbD01Mjg3MzQ2MzUsaD0xNTQxNDU5MjI1O2NvbnN0IHU9NjQqTWF0aC5jZWlsKChhKzkpLzY0KSxkPW5ldyBVaW50OEFycmF5KHUpO2xldCBmLGc7Zm9yKGY9MDtmPGE7KytmKWRbZl09ZVt0KytdO2RbZisrXT0xMjg7Y29uc3QgcD11LTg7ZjxwJiYoZj1wKTtmKz0zO2RbZisrXT1hPj4+MjkmMjU1O2RbZisrXT1hPj4yMSYyNTU7ZFtmKytdPWE+PjEzJjI1NTtkW2YrK109YT4+NSYyNTU7ZFtmKytdPWE8PDMmMjU1O2NvbnN0IG09bmV3IFVpbnQzMkFycmF5KDY0KSx7azpifT1lYztmb3IoZj0wO2Y8dTspe2ZvcihnPTA7ZzwxNjsrK2cpe21bZ109ZFtmXTw8MjR8ZFtmKzFdPDwxNnxkW2YrMl08PDh8ZFtmKzNdO2YrPTR9Zm9yKGc9MTY7Zzw2NDsrK2cpbVtnXT0ocm90cih5PW1bZy0yXSwxNylecm90cih5LDE5KV55Pj4+MTApK21bZy03XStjYWxjdWxhdGVfc2hhMjU2X2xpdHRsZVNpZ21hKG1bZy0xNV0pK21bZy0xNl18MDtsZXQgZSx0LGE9cix1PWkscD1uLHc9cyx4PW8sUz1jLGs9bCxDPWg7Zm9yKGc9MDtnPDY0OysrZyl7ZT1DK2NhbGN1bGF0ZV9zaGEyNTZfc2lnbWFQcmltZSh4KStjYWxjdWxhdGVfc2hhMjU2X2NoKHgsUyxrKStiW2ddK21bZ107dD1jYWxjdWxhdGVfc2hhMjU2X3NpZ21hKGEpK2NhbGN1bGF0ZV9zaGEyNTZfbWFqKGEsdSxwKTtDPWs7az1TO1M9eDt4PXcrZXwwO3c9cDtwPXU7dT1hO2E9ZSt0fDB9cj1yK2F8MDtpPWkrdXwwO249bitwfDA7cz1zK3d8MDtvPW8reHwwO2M9YytTfDA7bD1sK2t8MDtoPWgrQ3wwfXZhciB5O3JldHVybiBuZXcgVWludDhBcnJheShbcj4+MjQmMjU1LHI+PjE2JjI1NSxyPj44JjI1NSwyNTUmcixpPj4yNCYyNTUsaT4+MTYmMjU1LGk+PjgmMjU1LDI1NSZpLG4+PjI0JjI1NSxuPj4xNiYyNTUsbj4+OCYyNTUsMjU1Jm4scz4+MjQmMjU1LHM+PjE2JjI1NSxzPj44JjI1NSwyNTUmcyxvPj4yNCYyNTUsbz4+MTYmMjU1LG8+PjgmMjU1LDI1NSZvLGM+PjI0JjI1NSxjPj4xNiYyNTUsYz4+OCYyNTUsMjU1JmMsbD4+MjQmMjU1LGw+PjE2JjI1NSxsPj44JjI1NSwyNTUmbCxoPj4yNCYyNTUsaD4+MTYmMjU1LGg+PjgmMjU1LDI1NSZoXSl9Y2xhc3MgRGVjcnlwdFN0cmVhbSBleHRlbmRzIERlY29kZVN0cmVhbXtjb25zdHJ1Y3RvcihlLHQsYSl7c3VwZXIodCk7dGhpcy5zdHI9ZTt0aGlzLmRpY3Q9ZS5kaWN0O3RoaXMuZGVjcnlwdD1hO3RoaXMubmV4dENodW5rPW51bGw7dGhpcy5pbml0aWFsaXplZD0hMX1yZWFkQmxvY2soKXtsZXQgZTtpZih0aGlzLmluaXRpYWxpemVkKWU9dGhpcy5uZXh0Q2h1bms7ZWxzZXtlPXRoaXMuc3RyLmdldEJ5dGVzKDUxMik7dGhpcy5pbml0aWFsaXplZD0hMH1pZighZT8ubGVuZ3RoKXt0aGlzLmVvZj0hMDtyZXR1cm59dGhpcy5uZXh0Q2h1bms9dGhpcy5zdHIuZ2V0Qnl0ZXMoNTEyKTtjb25zdCB0PXRoaXMubmV4dENodW5rPy5sZW5ndGg+MDtlPSgwLHRoaXMuZGVjcnlwdCkoZSwhdCk7Y29uc3QgYT10aGlzLmJ1ZmZlckxlbmd0aCxyPWErZS5sZW5ndGg7dGhpcy5lbnN1cmVCdWZmZXIocikuc2V0KGUsYSk7dGhpcy5idWZmZXJMZW5ndGg9cn19Y2xhc3MgQVJDRm91ckNpcGhlcntjb25zdHJ1Y3RvcihlKXt0aGlzLmE9MDt0aGlzLmI9MDtjb25zdCB0PW5ldyBVaW50OEFycmF5KDI1NiksYT1lLmxlbmd0aDtmb3IobGV0IGU9MDtlPDI1NjsrK2UpdFtlXT1lO2ZvcihsZXQgcj0wLGk9MDtyPDI1NjsrK3Ipe2NvbnN0IG49dFtyXTtpPWkrbitlW3IlYV0mMjU1O3Rbcl09dFtpXTt0W2ldPW59dGhpcy5zPXR9ZW5jcnlwdEJsb2NrKGUpe2xldCB0PXRoaXMuYSxhPXRoaXMuYjtjb25zdCByPXRoaXMucyxpPWUubGVuZ3RoLG49bmV3IFVpbnQ4QXJyYXkoaSk7Zm9yKGxldCBzPTA7czxpOysrcyl7dD10KzEmMjU1O2NvbnN0IGk9clt0XTthPWEraSYyNTU7Y29uc3Qgbz1yW2FdO3JbdF09bztyW2FdPWk7bltzXT1lW3NdXnJbaStvJjI1NV19dGhpcy5hPXQ7dGhpcy5iPWE7cmV0dXJuIG59ZGVjcnlwdEJsb2NrKGUpe3JldHVybiB0aGlzLmVuY3J5cHRCbG9jayhlKX1lbmNyeXB0KGUpe3JldHVybiB0aGlzLmVuY3J5cHRCbG9jayhlKX19Y2xhc3MgTnVsbENpcGhlcntkZWNyeXB0QmxvY2soZSl7cmV0dXJuIGV9ZW5jcnlwdChlKXtyZXR1cm4gZX19Y2xhc3MgQUVTQmFzZUNpcGhlcntfcz1uZXcgVWludDhBcnJheShbOTksMTI0LDExOSwxMjMsMjQyLDEwNywxMTEsMTk3LDQ4LDEsMTAzLDQzLDI1NCwyMTUsMTcxLDExOCwyMDIsMTMwLDIwMSwxMjUsMjUwLDg5LDcxLDI0MCwxNzMsMjEyLDE2MiwxNzUsMTU2LDE2NCwxMTQsMTkyLDE4MywyNTMsMTQ3LDM4LDU0LDYzLDI0NywyMDQsNTIsMTY1LDIyOSwyNDEsMTEzLDIxNiw0OSwyMSw0LDE5OSwzNSwxOTUsMjQsMTUwLDUsMTU0LDcsMTgsMTI4LDIyNiwyMzUsMzksMTc4LDExNyw5LDEzMSw0NCwyNiwyNywxMTAsOTAsMTYwLDgyLDU5LDIxNCwxNzksNDEsMjI3LDQ3LDEzMiw4MywyMDksMCwyMzcsMzIsMjUyLDE3Nyw5MSwxMDYsMjAzLDE5MCw1Nyw3NCw3Niw4OCwyMDcsMjA4LDIzOSwxNzAsMjUxLDY3LDc3LDUxLDEzMyw2OSwyNDksMiwxMjcsODAsNjAsMTU5LDE2OCw4MSwxNjMsNjQsMTQzLDE0NiwxNTcsNTYsMjQ1LDE4OCwxODIsMjE4LDMzLDE2LDI1NSwyNDMsMjEwLDIwNSwxMiwxOSwyMzYsOTUsMTUxLDY4LDIzLDE5NiwxNjcsMTI2LDYxLDEwMCw5MywyNSwxMTUsOTYsMTI5LDc5LDIyMCwzNCw0MiwxNDQsMTM2LDcwLDIzOCwxODQsMjAsMjIyLDk0LDExLDIxOSwyMjQsNTAsNTgsMTAsNzMsNiwzNiw5MiwxOTQsMjExLDE3Miw5OCwxNDUsMTQ5LDIyOCwxMjEsMjMxLDIwMCw1NSwxMDksMTQxLDIxMyw3OCwxNjksMTA4LDg2LDI0NCwyMzQsMTAxLDEyMiwxNzQsOCwxODYsMTIwLDM3LDQ2LDI4LDE2NiwxODAsMTk4LDIzMiwyMjEsMTE2LDMxLDc1LDE4OSwxMzksMTM4LDExMiw2MiwxODEsMTAyLDcyLDMsMjQ2LDE0LDk3LDUzLDg3LDE4NSwxMzQsMTkzLDI5LDE1OCwyMjUsMjQ4LDE1MiwxNywxMDUsMjE3LDE0MiwxNDgsMTU1LDMwLDEzNSwyMzMsMjA2LDg1LDQwLDIyMywxNDAsMTYxLDEzNywxMywxOTEsMjMwLDY2LDEwNCw2NSwxNTMsNDUsMTUsMTc2LDg0LDE4NywyMl0pO19pbnZfcz1uZXcgVWludDhBcnJheShbODIsOSwxMDYsMjEzLDQ4LDU0LDE2NSw1NiwxOTEsNjQsMTYzLDE1OCwxMjksMjQzLDIxNSwyNTEsMTI0LDIyNyw1NywxMzAsMTU1LDQ3LDI1NSwxMzUsNTIsMTQyLDY3LDY4LDE5NiwyMjIsMjMzLDIwMyw4NCwxMjMsMTQ4LDUwLDE2NiwxOTQsMzUsNjEsMjM4LDc2LDE0OSwxMSw2NiwyNTAsMTk1LDc4LDgsNDYsMTYxLDEwMiw0MCwyMTcsMzYsMTc4LDExOCw5MSwxNjIsNzMsMTA5LDEzOSwyMDksMzcsMTE0LDI0OCwyNDYsMTAwLDEzNCwxMDQsMTUyLDIyLDIxMiwxNjQsOTIsMjA0LDkzLDEwMSwxODIsMTQ2LDEwOCwxMTIsNzIsODAsMjUzLDIzNywxODUsMjE4LDk0LDIxLDcwLDg3LDE2NywxNDEsMTU3LDEzMiwxNDQsMjE2LDE3MSwwLDE0MCwxODgsMjExLDEwLDI0NywyMjgsODgsNSwxODQsMTc5LDY5LDYsMjA4LDQ0LDMwLDE0MywyMDIsNjMsMTUsMiwxOTMsMTc1LDE4OSwzLDEsMTksMTM4LDEwNyw1OCwxNDUsMTcsNjUsNzksMTAzLDIyMCwyMzQsMTUxLDI0MiwyMDcsMjA2LDI0MCwxODAsMjMwLDExNSwxNTAsMTcyLDExNiwzNCwyMzEsMTczLDUzLDEzMywyMjYsMjQ5LDU1LDIzMiwyOCwxMTcsMjIzLDExMCw3MSwyNDEsMjYsMTEzLDI5LDQxLDE5NywxMzcsMTExLDE4Myw5OCwxNCwxNzAsMjQsMTkwLDI3LDI1Miw4Niw2Miw3NSwxOTgsMjEwLDEyMSwzMiwxNTQsMjE5LDE5MiwyNTQsMTIwLDIwNSw5MCwyNDQsMzEsMjIxLDE2OCw1MSwxMzYsNywxOTksNDksMTc3LDE4LDE2LDg5LDM5LDEyOCwyMzYsOTUsOTYsODEsMTI3LDE2OSwyNSwxODEsNzQsMTMsNDUsMjI5LDEyMiwxNTksMTQ3LDIwMSwxNTYsMjM5LDE2MCwyMjQsNTksNzcsMTc0LDQyLDI0NSwxNzYsMjAwLDIzNSwxODcsNjAsMTMxLDgzLDE1Myw5NywyMyw0Myw0LDEyNiwxODYsMTE5LDIxNCwzOCwyMjUsMTA1LDIwLDk5LDg1LDMzLDEyLDEyNV0pO19taXg9bmV3IFVpbnQzMkFycmF5KFswLDIzNTQ3NDE4Nyw0NzA5NDgzNzQsMzAzNzY1Mjc3LDk0MTg5Njc0OCw5MDg5MzM0MTUsNjA3NTMwNTU0LDcwODc4MDg0OSwxODgzNzkzNDk2LDIxMTgyMTQ5OTUsMTgxNzg2NjgzMCwxNjQ5NjM5MjM3LDEyMTUwNjExMDgsMTE4MTA0NTExOSwxNDE3NTYxNjk4LDE1MTc3Njc1MjksMzc2NzU4Njk5Miw0MDAzMDYxMTc5LDQyMzY0Mjk5OTAsNDA2OTI0Njg5MywzNjM1NzMzNjYwLDM2MDI3NzAzMjcsMzI5OTI3ODQ3NCwzNDAwNTI4NzY5LDI0MzAxMjIyMTYsMjY2NDU0MzcxNSwyMzYyMDkwMjM4LDIxOTM4NjI2NDUsMjgzNTEyMzM5NiwyODAxMTA3NDA3LDMwMzU1MzUwNTgsMzEzNTc0MDg4OSwzNjc4MTI0OTIzLDM1NzY4NzA1MTIsMzM0MTM5NDI4NSwzMzc0MzYxNzAyLDM4MTA0OTYzNDMsMzk3NzY3NTM1Niw0Mjc5MDgwMjU3LDQwNDM2MTAxODYsMjg3NjQ5NDYyNywyNzc2MjkyOTA0LDMwNzY2MzkwMjksMzExMDY1MDk0MiwyNDcyMDExNTM1LDI2NDAyNDMyMDQsMjQwMzcyODY2NSwyMTY5MzAzMDU4LDEwMDEwODk5OTUsODk5ODM1NTg0LDY2NjQ2NDczMyw2OTk0MzIxNTAsNTk3Mjc4NDcsMjI2OTA2ODYwLDUzMDQwMDc1MywyOTQ5MzA2ODIsMTI3MzE2ODc4NywxMTcyOTY3MDY0LDE0NzU0MTg1MDEsMTUwOTQzMDQxNCwxOTQyNDM1Nzc1LDIxMTA2Njc0NDQsMTg3NjI0MTgzMywxNjQxODE2MjI2LDI5MTAyMTk3NjYsMjc0MzAzNDEwOSwyOTc2MTUxNTIwLDMyMTE2MjMxNDcsMjUwNTIwMjEzOCwyNjA2NDUzOTY5LDIzMDI2OTAyNTIsMjI2OTcyODQ1NSwzNzExODI5NDIyLDM1NDM1OTkyNjksMzI0MDg5NDM5MiwzNDc1MzEzMzMxLDM4NDM2OTkwNzQsMzk0MzkwNjQ0MSw0MTc4MDYyMjI4LDQxNDQwNDc3NzUsMTMwNjk2NzM2NiwxMTM5NzgxNzA5LDEzNzQ5ODgxMTIsMTYxMDQ1OTczOSwxOTc1NjgzNDM0LDIwNzY5MzUyNjUsMTc3NTI3NjkyNCwxNzQyMzE1MTI3LDEwMzQ4Njc5OTgsODY2NjM3ODQ1LDU2NjAyMTg5Niw4MDA0NDA4MzUsOTI5ODc2OTgsMTkzMTk1MDY1LDQyOTQ1NjE2NCwzOTU0NDE3MTEsMTk4NDgxMjY4NSwyMDE3Nzc4NTY2LDE3ODQ2NjMxOTUsMTY4MzQwNzI0OCwxMzE1NTYyMTQ1LDEwODAwOTQ2MzQsMTM4Mzg1NjMxMSwxNTUxMDM3ODg0LDEwMTAzOTgyOSwxMzUwNTAyMDYsNDM3NzU3MTIzLDMzNzU1Mzg2NCwxMDQyMzg1NjU3LDgwNzk2MjYxMCw1NzM4MDQ3ODMsNzQyMDM5MDEyLDI1MzEwNjc0NTMsMjU2NDAzMzMzNCwyMzI4ODI4OTcxLDIyMjc1NzMwMjQsMjkzNTU2Njg2NSwyNzAwMDk5MzU0LDMwMDE3NTU2NTUsMzE2ODkzNzIyOCwzODY4NTUyODA1LDM5MDI1NjMxODIsNDIwMzE4MTE3MSw0MTAyOTc3OTEyLDM3MzYxNjQ5MzcsMzUwMTc0MTg5MCwzMjY1NDc4NzUxLDM0MzM3MTI5ODAsMTEwNjA0MTU5MSwxMzQwNDYzMTAwLDE1NzY5NzY2MDksMTQwODc0OTAzNCwyMDQzMjExNDgzLDIwMDkxOTU0NzIsMTcwODg0ODMzMywxODA5MDU0MTUwLDgzMjg3NzIzMSwxMDY4MzUxMzk2LDc2Njk0NTQ2NSw1OTk3NjIzNTQsMTU5NDE3OTg3LDEyNjQ1NDY2NCwzNjE5Mjk4NzcsNDYzMTgwMTkwLDI3MDkyNjA4NzEsMjk0MzY4MjM4MCwzMTc4MTA2OTYxLDMwMDk4NzkzODYsMjU3MjY5NzE5NSwyNTM4NjgxMTg0LDIyMzYyMjg3MzMsMjMzNjQzNDU1MCwzNTA5ODcxMTM1LDM3NDUzNDUzMDAsMzQ0MTg1MDM3NywzMjc0NjY3MjY2LDM5MTAxNjE5NzEsMzg3NzE5ODY0OCw0MTEwNTY4NDg1LDQyMTE4MTg3OTgsMjU5NzgwNjQ3NiwyNDk3NjA0NzQzLDIyNjEwODkxNzgsMjI5NTEwMTA3MywyNzMzODU2MTYwLDI5MDIwODc4NTEsMzIwMjQzNzA0NiwyOTY4MDExNDUzLDM5MzYyOTEyODQsMzgzNTAzNjg5NSw0MTM2NDQwNzcwLDQxNjk0MDgyMDEsMzUzNTQ4NjQ1NiwzNzAyNjY1NDU5LDM0NjcxOTIzMDIsMzIzMTcyMjIxMywyMDUxNTE4NzgwLDE5NTEzMTcwNDcsMTcxNjg5MDQxMCwxNzUwOTAyMzA1LDExMTM4MTgzODQsMTI4MjA1MDA3NSwxNTg0NTA0NTgyLDEzNTAwNzg5ODksMTY4ODEwODUyLDY3NTU2NDYzLDM3MTA0OTMzMCw0MDQwMTY3NjEsODQxNzM5NTkyLDEwMDg5MTg1OTUsNzc1NTUwODE0LDU0MDA4MDcyNSwzOTY5NTYyMzY5LDM4MDEzMzIyMzQsNDAzNTQ4OTA0Nyw0MjY5OTA3OTk2LDM1NjkyNTUyMTMsMzY2OTQ2MjU2NiwzMzY2NzU0NjE5LDMzMzI3NDAxNDQsMjYzMTA2NTQzMywyNDYzODc5NzYyLDIxNjAxMTcwNzEsMjM5NTU4ODY3NiwyNzY3NjQ1NTU3LDI4Njg4OTc0MDYsMzEwMjAxMTc0NywzMDY5MDQ5OTYwLDIwMjAwODQ5NywzMzc3ODM2MiwyNzAwNDA0ODcsNTA0NDU5NDM2LDg3NTQ1MTI5Myw5NzU2NTg2NDYsNjc1MDM5NjI3LDY0MTAyNTE1MiwyMDg0NzA0MjMzLDE5MTc1MTg1NjIsMTYxNTg2MTI0NywxODUxMzMyODUyLDExNDc1NTA2NjEsMTI0ODgwMjUxMCwxNDg0MDA1ODQzLDE0NTEwNDQwNTYsOTMzMzAxMzcwLDk2NzMxMTcyOSw3MzMxNTY5NzIsNjMyOTUzNzAzLDI2MDM4ODk1MCwyNTk2NTkxNywzMjg2NzE4MDgsNDk2OTA2MDU5LDEyMDY0Nzc4NTgsMTIzOTQ0Mzc1MywxNTQzMjA4NTAwLDE0NDE5NTI1NzUsMjE0NDE2MTgwNiwxOTA4Njk0Mjc3LDE2NzU1Nzc4ODAsMTg0Mjc1OTQ0MywzNjEwMzY5MjI2LDM2NDQzNzk1ODUsMzQwODExOTUxNiwzMzA3OTE2MjQ3LDQwMTExOTA1MDIsMzc3Njc2NzQ2OSw0MDc3Mzg0NDMyLDQyNDU2MTg2ODMsMjgwOTc3MTE1NCwyODQyNzM3MDQ5LDMxNDQzOTY0MjAsMzA0MzE0MDQ5NSwyNjczNzA1MTUwLDI0MzgyMzc2MjEsMjIwMzAzMjIzMiwyMzcwMjEzNzk1XSk7X21peENvbD1uZXcgVWludDhBcnJheSgyNTYpLm1hcCgoKGUsdCk9PnQ8MTI4P3Q8PDE6dDw8MV4yNykpO2NvbnN0cnVjdG9yKCl7dGhpcy5idWZmZXI9bmV3IFVpbnQ4QXJyYXkoMTYpO3RoaXMuYnVmZmVyUG9zaXRpb249MH1fZXhwYW5kS2V5KGUpe3VucmVhY2hhYmxlKCJDYW5ub3QgY2FsbCBgX2V4cGFuZEtleWAgb24gdGhlIGJhc2UgY2xhc3MiKX1fZGVjcnlwdChlLHQpe2xldCBhLHIsaTtjb25zdCBuPW5ldyBVaW50OEFycmF5KDE2KTtuLnNldChlKTtmb3IobGV0IGU9MCxhPXRoaXMuX2tleVNpemU7ZTwxNjsrK2UsKythKW5bZV1ePXRbYV07Zm9yKGxldCBlPXRoaXMuX2N5Y2xlc09mUmVwZXRpdGlvbi0xO2U+PTE7LS1lKXthPW5bMTNdO25bMTNdPW5bOV07bls5XT1uWzVdO25bNV09blsxXTtuWzFdPWE7YT1uWzE0XTtyPW5bMTBdO25bMTRdPW5bNl07blsxMF09blsyXTtuWzZdPWE7blsyXT1yO2E9blsxNV07cj1uWzExXTtpPW5bN107blsxNV09blszXTtuWzExXT1hO25bN109cjtuWzNdPWk7Zm9yKGxldCBlPTA7ZTwxNjsrK2UpbltlXT10aGlzLl9pbnZfc1tuW2VdXTtmb3IobGV0IGE9MCxyPTE2KmU7YTwxNjsrK2EsKytyKW5bYV1ePXRbcl07Zm9yKGxldCBlPTA7ZTwxNjtlKz00KXtjb25zdCB0PXRoaXMuX21peFtuW2VdXSxyPXRoaXMuX21peFtuW2UrMV1dLGk9dGhpcy5fbWl4W25bZSsyXV0scz10aGlzLl9taXhbbltlKzNdXTthPXRecj4+Pjhecjw8MjReaT4+PjE2Xmk8PDE2XnM+Pj4yNF5zPDw4O25bZV09YT4+PjI0JjI1NTtuW2UrMV09YT4+MTYmMjU1O25bZSsyXT1hPj44JjI1NTtuW2UrM109MjU1JmF9fWE9blsxM107blsxM109bls5XTtuWzldPW5bNV07bls1XT1uWzFdO25bMV09YTthPW5bMTRdO3I9blsxMF07blsxNF09bls2XTtuWzEwXT1uWzJdO25bNl09YTtuWzJdPXI7YT1uWzE1XTtyPW5bMTFdO2k9bls3XTtuWzE1XT1uWzNdO25bMTFdPWE7bls3XT1yO25bM109aTtmb3IobGV0IGU9MDtlPDE2OysrZSl7bltlXT10aGlzLl9pbnZfc1tuW2VdXTtuW2VdXj10W2VdfXJldHVybiBufV9lbmNyeXB0KGUsdCl7Y29uc3QgYT10aGlzLl9zO2xldCByLGksbjtjb25zdCBzPW5ldyBVaW50OEFycmF5KDE2KTtzLnNldChlKTtmb3IobGV0IGU9MDtlPDE2OysrZSlzW2VdXj10W2VdO2ZvcihsZXQgZT0xO2U8dGhpcy5fY3ljbGVzT2ZSZXBldGl0aW9uO2UrKyl7Zm9yKGxldCBlPTA7ZTwxNjsrK2Upc1tlXT1hW3NbZV1dO249c1sxXTtzWzFdPXNbNV07c1s1XT1zWzldO3NbOV09c1sxM107c1sxM109bjtuPXNbMl07aT1zWzZdO3NbMl09c1sxMF07c1s2XT1zWzE0XTtzWzEwXT1uO3NbMTRdPWk7bj1zWzNdO2k9c1s3XTtyPXNbMTFdO3NbM109c1sxNV07c1s3XT1uO3NbMTFdPWk7c1sxNV09cjtmb3IobGV0IGU9MDtlPDE2O2UrPTQpe2NvbnN0IHQ9c1tlXSxhPXNbZSsxXSxpPXNbZSsyXSxuPXNbZSszXTtyPXReYV5pXm47c1tlXV49cl50aGlzLl9taXhDb2xbdF5hXTtzW2UrMV1ePXJedGhpcy5fbWl4Q29sW2FeaV07c1tlKzJdXj1yXnRoaXMuX21peENvbFtpXm5dO3NbZSszXV49cl50aGlzLl9taXhDb2xbbl50XX1mb3IobGV0IGE9MCxyPTE2KmU7YTwxNjsrK2EsKytyKXNbYV1ePXRbcl19Zm9yKGxldCBlPTA7ZTwxNjsrK2Upc1tlXT1hW3NbZV1dO249c1sxXTtzWzFdPXNbNV07c1s1XT1zWzldO3NbOV09c1sxM107c1sxM109bjtuPXNbMl07aT1zWzZdO3NbMl09c1sxMF07c1s2XT1zWzE0XTtzWzEwXT1uO3NbMTRdPWk7bj1zWzNdO2k9c1s3XTtyPXNbMTFdO3NbM109c1sxNV07c1s3XT1uO3NbMTFdPWk7c1sxNV09cjtmb3IobGV0IGU9MCxhPXRoaXMuX2tleVNpemU7ZTwxNjsrK2UsKythKXNbZV1ePXRbYV07cmV0dXJuIHN9X2RlY3J5cHRCbG9jazIoZSx0KXtjb25zdCBhPWUubGVuZ3RoO2xldCByPXRoaXMuYnVmZmVyLGk9dGhpcy5idWZmZXJQb3NpdGlvbjtjb25zdCBuPVtdO2xldCBzPXRoaXMuaXY7Zm9yKGxldCB0PTA7dDxhOysrdCl7cltpXT1lW3RdOysraTtpZihpPDE2KWNvbnRpbnVlO2NvbnN0IGE9dGhpcy5fZGVjcnlwdChyLHRoaXMuX2tleSk7Zm9yKGxldCBlPTA7ZTwxNjsrK2UpYVtlXV49c1tlXTtzPXI7bi5wdXNoKGEpO3I9bmV3IFVpbnQ4QXJyYXkoMTYpO2k9MH10aGlzLmJ1ZmZlcj1yO3RoaXMuYnVmZmVyTGVuZ3RoPWk7dGhpcy5pdj1zO2lmKDA9PT1uLmxlbmd0aClyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoMCk7bGV0IG89MTYqbi5sZW5ndGg7aWYodCl7Y29uc3QgZT1uLmF0KC0xKTtsZXQgdD1lWzE1XTtpZih0PD0xNil7Zm9yKGxldCBhPTE1LHI9MTYtdDthPj1yOy0tYSlpZihlW2FdIT09dCl7dD0wO2JyZWFrfW8tPXQ7bltuLmxlbmd0aC0xXT1lLnN1YmFycmF5KDAsMTYtdCl9fWNvbnN0IGM9bmV3IFVpbnQ4QXJyYXkobyk7Zm9yKGxldCBlPTAsdD0wLGE9bi5sZW5ndGg7ZTxhOysrZSx0Kz0xNiljLnNldChuW2VdLHQpO3JldHVybiBjfWRlY3J5cHRCbG9jayhlLHQsYT1udWxsKXtjb25zdCByPWUubGVuZ3RoLGk9dGhpcy5idWZmZXI7bGV0IG49dGhpcy5idWZmZXJQb3NpdGlvbjtpZihhKXRoaXMuaXY9YTtlbHNle2ZvcihsZXQgdD0wO248MTYmJnQ8cjsrK3QsKytuKWlbbl09ZVt0XTtpZihuPDE2KXt0aGlzLmJ1ZmZlckxlbmd0aD1uO3JldHVybiBuZXcgVWludDhBcnJheSgwKX10aGlzLml2PWk7ZT1lLnN1YmFycmF5KDE2KX10aGlzLmJ1ZmZlcj1uZXcgVWludDhBcnJheSgxNik7dGhpcy5idWZmZXJMZW5ndGg9MDt0aGlzLmRlY3J5cHRCbG9jaz10aGlzLl9kZWNyeXB0QmxvY2syO3JldHVybiB0aGlzLmRlY3J5cHRCbG9jayhlLHQpfWVuY3J5cHQoZSx0KXtjb25zdCBhPWUubGVuZ3RoO2xldCByPXRoaXMuYnVmZmVyLGk9dGhpcy5idWZmZXJQb3NpdGlvbjtjb25zdCBuPVtdO3R8fD1uZXcgVWludDhBcnJheSgxNik7Zm9yKGxldCBzPTA7czxhOysrcyl7cltpXT1lW3NdOysraTtpZihpPDE2KWNvbnRpbnVlO2ZvcihsZXQgZT0wO2U8MTY7KytlKXJbZV1ePXRbZV07Y29uc3QgYT10aGlzLl9lbmNyeXB0KHIsdGhpcy5fa2V5KTt0PWE7bi5wdXNoKGEpO3I9bmV3IFVpbnQ4QXJyYXkoMTYpO2k9MH10aGlzLmJ1ZmZlcj1yO3RoaXMuYnVmZmVyTGVuZ3RoPWk7dGhpcy5pdj10O2lmKDA9PT1uLmxlbmd0aClyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoMCk7Y29uc3Qgcz0xNipuLmxlbmd0aCxvPW5ldyBVaW50OEFycmF5KHMpO2ZvcihsZXQgZT0wLHQ9MCxhPW4ubGVuZ3RoO2U8YTsrK2UsdCs9MTYpby5zZXQobltlXSx0KTtyZXR1cm4gb319Y2xhc3MgQUVTMTI4Q2lwaGVyIGV4dGVuZHMgQUVTQmFzZUNpcGhlcntfcmNvbj1uZXcgVWludDhBcnJheShbMTQxLDEsMiw0LDgsMTYsMzIsNjQsMTI4LDI3LDU0LDEwOCwyMTYsMTcxLDc3LDE1NCw0Nyw5NCwxODgsOTksMTk4LDE1MSw1MywxMDYsMjEyLDE3OSwxMjUsMjUwLDIzOSwxOTcsMTQ1LDU3LDExNCwyMjgsMjExLDE4OSw5NywxOTQsMTU5LDM3LDc0LDE0OCw1MSwxMDIsMjA0LDEzMSwyOSw1OCwxMTYsMjMyLDIwMywxNDEsMSwyLDQsOCwxNiwzMiw2NCwxMjgsMjcsNTQsMTA4LDIxNiwxNzEsNzcsMTU0LDQ3LDk0LDE4OCw5OSwxOTgsMTUxLDUzLDEwNiwyMTIsMTc5LDEyNSwyNTAsMjM5LDE5NywxNDUsNTcsMTE0LDIyOCwyMTEsMTg5LDk3LDE5NCwxNTksMzcsNzQsMTQ4LDUxLDEwMiwyMDQsMTMxLDI5LDU4LDExNiwyMzIsMjAzLDE0MSwxLDIsNCw4LDE2LDMyLDY0LDEyOCwyNyw1NCwxMDgsMjE2LDE3MSw3NywxNTQsNDcsOTQsMTg4LDk5LDE5OCwxNTEsNTMsMTA2LDIxMiwxNzksMTI1LDI1MCwyMzksMTk3LDE0NSw1NywxMTQsMjI4LDIxMSwxODksOTcsMTk0LDE1OSwzNyw3NCwxNDgsNTEsMTAyLDIwNCwxMzEsMjksNTgsMTE2LDIzMiwyMDMsMTQxLDEsMiw0LDgsMTYsMzIsNjQsMTI4LDI3LDU0LDEwOCwyMTYsMTcxLDc3LDE1NCw0Nyw5NCwxODgsOTksMTk4LDE1MSw1MywxMDYsMjEyLDE3OSwxMjUsMjUwLDIzOSwxOTcsMTQ1LDU3LDExNCwyMjgsMjExLDE4OSw5NywxOTQsMTU5LDM3LDc0LDE0OCw1MSwxMDIsMjA0LDEzMSwyOSw1OCwxMTYsMjMyLDIwMywxNDEsMSwyLDQsOCwxNiwzMiw2NCwxMjgsMjcsNTQsMTA4LDIxNiwxNzEsNzcsMTU0LDQ3LDk0LDE4OCw5OSwxOTgsMTUxLDUzLDEwNiwyMTIsMTc5LDEyNSwyNTAsMjM5LDE5NywxNDUsNTcsMTE0LDIyOCwyMTEsMTg5LDk3LDE5NCwxNTksMzcsNzQsMTQ4LDUxLDEwMiwyMDQsMTMxLDI5LDU4LDExNiwyMzIsMjAzLDE0MV0pO2NvbnN0cnVjdG9yKGUpe3N1cGVyKCk7dGhpcy5fY3ljbGVzT2ZSZXBldGl0aW9uPTEwO3RoaXMuX2tleVNpemU9MTYwO3RoaXMuX2tleT10aGlzLl9leHBhbmRLZXkoZSl9X2V4cGFuZEtleShlKXtjb25zdCB0PXRoaXMuX3MsYT10aGlzLl9yY29uLHI9bmV3IFVpbnQ4QXJyYXkoMTc2KTtyLnNldChlKTtmb3IobGV0IGU9MTYsaT0xO2U8MTc2OysraSl7bGV0IG49cltlLTNdLHM9cltlLTJdLG89cltlLTFdLGM9cltlLTRdO249dFtuXTtzPXRbc107bz10W29dO2M9dFtjXTtuXj1hW2ldO2ZvcihsZXQgdD0wO3Q8NDsrK3Qpe3JbZV09bl49cltlLTE2XTtlKys7cltlXT1zXj1yW2UtMTZdO2UrKztyW2VdPW9ePXJbZS0xNl07ZSsrO3JbZV09Y149cltlLTE2XTtlKyt9fXJldHVybiByfX1jbGFzcyBBRVMyNTZDaXBoZXIgZXh0ZW5kcyBBRVNCYXNlQ2lwaGVye2NvbnN0cnVjdG9yKGUpe3N1cGVyKCk7dGhpcy5fY3ljbGVzT2ZSZXBldGl0aW9uPTE0O3RoaXMuX2tleVNpemU9MjI0O3RoaXMuX2tleT10aGlzLl9leHBhbmRLZXkoZSl9X2V4cGFuZEtleShlKXtjb25zdCB0PXRoaXMuX3MsYT1uZXcgVWludDhBcnJheSgyNDApO2Euc2V0KGUpO2xldCByLGksbixzLG89MTtmb3IobGV0IGU9MzIsYz0xO2U8MjQwOysrYyl7aWYoZSUzMj09MTYpe3I9dFtyXTtpPXRbaV07bj10W25dO3M9dFtzXX1lbHNlIGlmKGUlMzI9PTApe3I9YVtlLTNdO2k9YVtlLTJdO249YVtlLTFdO3M9YVtlLTRdO3I9dFtyXTtpPXRbaV07bj10W25dO3M9dFtzXTtyXj1vOyhvPDw9MSk+PTI1NiYmKG89MjU1JigyN15vKSl9Zm9yKGxldCB0PTA7dDw0OysrdCl7YVtlXT1yXj1hW2UtMzJdO2UrKzthW2VdPWlePWFbZS0zMl07ZSsrO2FbZV09bl49YVtlLTMyXTtlKys7YVtlXT1zXj1hW2UtMzJdO2UrK319cmV0dXJuIGF9fWNsYXNzIFBERkJhc2V7X2hhc2goZSx0LGEpe3VucmVhY2hhYmxlKCJBYnN0cmFjdCBtZXRob2QgYF9oYXNoYCBjYWxsZWQiKX1jaGVja093bmVyUGFzc3dvcmQoZSx0LGEscil7Y29uc3QgaT1uZXcgVWludDhBcnJheShlLmxlbmd0aCs1Nik7aS5zZXQoZSwwKTtpLnNldCh0LGUubGVuZ3RoKTtpLnNldChhLGUubGVuZ3RoK3QubGVuZ3RoKTtyZXR1cm4gaXNBcnJheUVxdWFsKHRoaXMuX2hhc2goZSxpLGEpLHIpfWNoZWNrVXNlclBhc3N3b3JkKGUsdCxhKXtjb25zdCByPW5ldyBVaW50OEFycmF5KGUubGVuZ3RoKzgpO3Iuc2V0KGUsMCk7ci5zZXQodCxlLmxlbmd0aCk7cmV0dXJuIGlzQXJyYXlFcXVhbCh0aGlzLl9oYXNoKGUscixbXSksYSl9Z2V0T3duZXJLZXkoZSx0LGEscil7Y29uc3QgaT1uZXcgVWludDhBcnJheShlLmxlbmd0aCs1Nik7aS5zZXQoZSwwKTtpLnNldCh0LGUubGVuZ3RoKTtpLnNldChhLGUubGVuZ3RoK3QubGVuZ3RoKTtjb25zdCBuPXRoaXMuX2hhc2goZSxpLGEpO3JldHVybiBuZXcgQUVTMjU2Q2lwaGVyKG4pLmRlY3J5cHRCbG9jayhyLCExLG5ldyBVaW50OEFycmF5KDE2KSl9Z2V0VXNlcktleShlLHQsYSl7Y29uc3Qgcj1uZXcgVWludDhBcnJheShlLmxlbmd0aCs4KTtyLnNldChlLDApO3Iuc2V0KHQsZS5sZW5ndGgpO2NvbnN0IGk9dGhpcy5faGFzaChlLHIsW10pO3JldHVybiBuZXcgQUVTMjU2Q2lwaGVyKGkpLmRlY3J5cHRCbG9jayhhLCExLG5ldyBVaW50OEFycmF5KDE2KSl9fWNsYXNzIFBERjE3IGV4dGVuZHMgUERGQmFzZXtfaGFzaChlLHQsYSl7cmV0dXJuIGNhbGN1bGF0ZVNIQTI1Nih0LDAsdC5sZW5ndGgpfX1jbGFzcyBQREYyMCBleHRlbmRzIFBERkJhc2V7X2hhc2goZSx0LGEpe2xldCByPWNhbGN1bGF0ZVNIQTI1Nih0LDAsdC5sZW5ndGgpLnN1YmFycmF5KDAsMzIpLGk9WzBdLG49MDtmb3IoO248NjR8fGkuYXQoLTEpPm4tMzI7KXtjb25zdCB0PWUubGVuZ3RoK3IubGVuZ3RoK2EubGVuZ3RoLGw9bmV3IFVpbnQ4QXJyYXkodCk7bGV0IGg9MDtsLnNldChlLGgpO2grPWUubGVuZ3RoO2wuc2V0KHIsaCk7aCs9ci5sZW5ndGg7bC5zZXQoYSxoKTtjb25zdCB1PW5ldyBVaW50OEFycmF5KDY0KnQpO2ZvcihsZXQgZT0wLGE9MDtlPDY0O2UrKyxhKz10KXUuc2V0KGwsYSk7aT1uZXcgQUVTMTI4Q2lwaGVyKHIuc3ViYXJyYXkoMCwxNikpLmVuY3J5cHQodSxyLnN1YmFycmF5KDE2LDMyKSk7Y29uc3QgZD1NYXRoLnN1bVByZWNpc2UoaS5zbGljZSgwLDE2KSklMzswPT09ZD9yPWNhbGN1bGF0ZVNIQTI1NihpLDAsaS5sZW5ndGgpOjE9PT1kP3I9KHM9aSxvPTAsYz1pLmxlbmd0aCxjYWxjdWxhdGVTSEE1MTIocyxvLGMsITApKToyPT09ZCYmKHI9Y2FsY3VsYXRlU0hBNTEyKGksMCxpLmxlbmd0aCkpO24rK312YXIgcyxvLGM7cmV0dXJuIHIuc3ViYXJyYXkoMCwzMil9fWNsYXNzIENpcGhlclRyYW5zZm9ybXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuU3RyaW5nQ2lwaGVyQ29uc3RydWN0b3I9ZTt0aGlzLlN0cmVhbUNpcGhlckNvbnN0cnVjdG9yPXR9Y3JlYXRlU3RyZWFtKGUsdCl7Y29uc3QgYT1uZXcgdGhpcy5TdHJlYW1DaXBoZXJDb25zdHJ1Y3RvcjtyZXR1cm4gbmV3IERlY3J5cHRTdHJlYW0oZSx0LChmdW5jdGlvbiBjaXBoZXJUcmFuc2Zvcm1EZWNyeXB0U3RyZWFtKGUsdCl7cmV0dXJuIGEuZGVjcnlwdEJsb2NrKGUsdCl9KSl9ZGVjcnlwdFN0cmluZyhlKXtjb25zdCB0PW5ldyB0aGlzLlN0cmluZ0NpcGhlckNvbnN0cnVjdG9yO2xldCBhPXN0cmluZ1RvQnl0ZXMoZSk7YT10LmRlY3J5cHRCbG9jayhhLCEwKTtyZXR1cm4gYnl0ZXNUb1N0cmluZyhhKX1lbmNyeXB0U3RyaW5nKGUpe2NvbnN0IHQ9bmV3IHRoaXMuU3RyaW5nQ2lwaGVyQ29uc3RydWN0b3I7aWYodCBpbnN0YW5jZW9mIEFFU0Jhc2VDaXBoZXIpe2NvbnN0IGE9MTYtZS5sZW5ndGglMTY7ZSs9U3RyaW5nLmZyb21DaGFyQ29kZShhKS5yZXBlYXQoYSk7Y29uc3Qgcj1uZXcgVWludDhBcnJheSgxNik7Y3J5cHRvLmdldFJhbmRvbVZhbHVlcyhyKTtsZXQgaT1zdHJpbmdUb0J5dGVzKGUpO2k9dC5lbmNyeXB0KGkscik7Y29uc3Qgbj1uZXcgVWludDhBcnJheSgxNitpLmxlbmd0aCk7bi5zZXQocik7bi5zZXQoaSwxNik7cmV0dXJuIGJ5dGVzVG9TdHJpbmcobil9bGV0IGE9c3RyaW5nVG9CeXRlcyhlKTthPXQuZW5jcnlwdChhKTtyZXR1cm4gYnl0ZXNUb1N0cmluZyhhKX19Y2xhc3MgQ2lwaGVyVHJhbnNmb3JtRmFjdG9yeXtzdGF0aWMgZ2V0IF9kZWZhdWx0UGFzc3dvcmRCeXRlcygpe3JldHVybiBzaGFkb3codGhpcywiX2RlZmF1bHRQYXNzd29yZEJ5dGVzIixuZXcgVWludDhBcnJheShbNDAsMTkxLDc4LDk0LDc4LDExNywxMzgsNjUsMTAwLDAsNzgsODYsMjU1LDI1MCwxLDgsNDYsNDYsMCwxODIsMjA4LDEwNCw2MiwxMjgsNDcsMTIsMTY5LDI1NCwxMDAsODMsMTA1LDEyMl0pKX0jT2UoZSx0LGEscixpLG4scyxvLGMsbCxoLHUpe2lmKHQpe2NvbnN0IGU9TWF0aC5taW4oMTI3LHQubGVuZ3RoKTt0PXQuc3ViYXJyYXkoMCxlKX1lbHNlIHQ9W107Y29uc3QgZD02PT09ZT9uZXcgUERGMjA6bmV3IFBERjE3O3JldHVybiBkLmNoZWNrVXNlclBhc3N3b3JkKHQsbyxzKT9kLmdldFVzZXJLZXkodCxjLGgpOnQubGVuZ3RoJiZkLmNoZWNrT3duZXJQYXNzd29yZCh0LHIsbixhKT9kLmdldE93bmVyS2V5KHQsaSxuLGwpOm51bGx9I01lKGUsdCxhLHIsaSxuLHMsbyl7Y29uc3QgYz00MCthLmxlbmd0aCtlLmxlbmd0aCxsPW5ldyBVaW50OEFycmF5KGMpO2xldCBoLHUsZD0wO2lmKHQpe3U9TWF0aC5taW4oMzIsdC5sZW5ndGgpO2Zvcig7ZDx1OysrZClsW2RdPXRbZF19aD0wO2Zvcig7ZDwzMjspbFtkKytdPUNpcGhlclRyYW5zZm9ybUZhY3RvcnkuX2RlZmF1bHRQYXNzd29yZEJ5dGVzW2grK107bC5zZXQoYSxkKTtkKz1hLmxlbmd0aDtsW2QrK109MjU1Jmk7bFtkKytdPWk+PjgmMjU1O2xbZCsrXT1pPj4xNiYyNTU7bFtkKytdPWk+Pj4yNCYyNTU7bC5zZXQoZSxkKTtkKz1lLmxlbmd0aDtpZihuPj00JiYhbyl7bC5maWxsKDI1NSxkLGQrNCk7ZCs9NH1sZXQgZj1jYWxjdWxhdGVNRDUobCwwLGQpO2NvbnN0IGc9cz4+MztpZihuPj0zKWZvcihoPTA7aDw1MDsrK2gpZj1jYWxjdWxhdGVNRDUoZiwwLGcpO2NvbnN0IHA9Zi5zdWJhcnJheSgwLGcpO2xldCBtLGI7aWYobj49Myl7ZD0wO2wuc2V0KENpcGhlclRyYW5zZm9ybUZhY3RvcnkuX2RlZmF1bHRQYXNzd29yZEJ5dGVzLGQpO2QrPTMyO2wuc2V0KGUsZCk7ZCs9ZS5sZW5ndGg7bT1uZXcgQVJDRm91ckNpcGhlcihwKTtiPW0uZW5jcnlwdEJsb2NrKGNhbGN1bGF0ZU1ENShsLDAsZCkpO3U9cC5sZW5ndGg7Y29uc3QgdD1uZXcgVWludDhBcnJheSh1KTtmb3IoaD0xO2g8PTE5OysraCl7Zm9yKGxldCBlPTA7ZTx1OysrZSl0W2VdPXBbZV1eaDttPW5ldyBBUkNGb3VyQ2lwaGVyKHQpO2I9bS5lbmNyeXB0QmxvY2soYil9fWVsc2V7bT1uZXcgQVJDRm91ckNpcGhlcihwKTtiPW0uZW5jcnlwdEJsb2NrKENpcGhlclRyYW5zZm9ybUZhY3RvcnkuX2RlZmF1bHRQYXNzd29yZEJ5dGVzKX1yZXR1cm4gYi5ldmVyeSgoKGUsdCk9PnJbdF09PT1lKSk/cDpudWxsfSNEZShlLHQsYSxyKXtjb25zdCBpPW5ldyBVaW50OEFycmF5KDMyKTtsZXQgbj0wO2NvbnN0IHM9TWF0aC5taW4oMzIsZS5sZW5ndGgpO2Zvcig7bjxzOysrbilpW25dPWVbbl07bGV0IG89MDtmb3IoO248MzI7KWlbbisrXT1DaXBoZXJUcmFuc2Zvcm1GYWN0b3J5Ll9kZWZhdWx0UGFzc3dvcmRCeXRlc1tvKytdO2xldCBjPWNhbGN1bGF0ZU1ENShpLDAsbik7Y29uc3QgbD1yPj4zO2lmKGE+PTMpZm9yKG89MDtvPDUwOysrbyljPWNhbGN1bGF0ZU1ENShjLDAsYy5sZW5ndGgpO2xldCBoLHU7aWYoYT49Myl7dT10O2NvbnN0IGU9bmV3IFVpbnQ4QXJyYXkobCk7Zm9yKG89MTk7bz49MDtvLS0pe2ZvcihsZXQgdD0wO3Q8bDsrK3QpZVt0XT1jW3RdXm87aD1uZXcgQVJDRm91ckNpcGhlcihlKTt1PWguZW5jcnlwdEJsb2NrKHUpfX1lbHNle2g9bmV3IEFSQ0ZvdXJDaXBoZXIoYy5zdWJhcnJheSgwLGwpKTt1PWguZW5jcnlwdEJsb2NrKHQpfXJldHVybiB1fSNCZShlLHQsYSxyPSExKXtjb25zdCBpPWEubGVuZ3RoLG49bmV3IFVpbnQ4QXJyYXkoaSs5KTtuLnNldChhKTtsZXQgcz1pO25bcysrXT0yNTUmZTtuW3MrK109ZT4+OCYyNTU7bltzKytdPWU+PjE2JjI1NTtuW3MrK109MjU1JnQ7bltzKytdPXQ+PjgmMjU1O2lmKHIpe25bcysrXT0xMTU7bltzKytdPTY1O25bcysrXT0xMDg7bltzKytdPTg0fXJldHVybiBjYWxjdWxhdGVNRDUobiwwLHMpLnN1YmFycmF5KDAsTWF0aC5taW4oaSs1LDE2KSl9I1JlKGUsdCxhLHIsaSl7aWYoISh0IGluc3RhbmNlb2YgTmFtZSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIGNyeXB0IGZpbHRlciBuYW1lLiIpO2NvbnN0IG49dGhpcyxzPWUuZ2V0KHQubmFtZSksbz1zPy5nZXQoIkNGTSIpO2lmKCFvfHwiTm9uZSI9PT1vLm5hbWUpcmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBOdWxsQ2lwaGVyfTtpZigiVjIiPT09by5uYW1lKXJldHVybiBmdW5jdGlvbigpe3JldHVybiBuZXcgQVJDRm91ckNpcGhlcihuLiNCZShhLHIsaSwhMSkpfTtpZigiQUVTVjIiPT09by5uYW1lKXJldHVybiBmdW5jdGlvbigpe3JldHVybiBuZXcgQUVTMTI4Q2lwaGVyKG4uI0JlKGEscixpLCEwKSl9O2lmKCJBRVNWMyI9PT1vLm5hbWUpcmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBBRVMyNTZDaXBoZXIoaSl9O3Rocm93IG5ldyBGb3JtYXRFcnJvcigiVW5rbm93biBjcnlwdG8gbWV0aG9kIil9Y29uc3RydWN0b3IoZSx0LGEpe2NvbnN0IHI9ZS5nZXQoIkZpbHRlciIpO2lmKCFpc05hbWUociwiU3RhbmRhcmQiKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoInVua25vd24gZW5jcnlwdGlvbiBtZXRob2QiKTt0aGlzLmZpbHRlck5hbWU9ci5uYW1lO3RoaXMuZGljdD1lO2NvbnN0IGk9ZS5nZXQoIlYiKTtpZighTnVtYmVyLmlzSW50ZWdlcihpKXx8MSE9PWkmJjIhPT1pJiY0IT09aSYmNSE9PWkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJ1bnN1cHBvcnRlZCBlbmNyeXB0aW9uIGFsZ29yaXRobSIpO3RoaXMuYWxnb3JpdGhtPWk7bGV0IG49ZS5nZXQoIkxlbmd0aCIpO2lmKCFuKWlmKGk8PTMpbj00MDtlbHNle2NvbnN0IHQ9ZS5nZXQoIkNGIiksYT1lLmdldCgiU3RtRiIpO2lmKHQgaW5zdGFuY2VvZiBEaWN0JiZhIGluc3RhbmNlb2YgTmFtZSl7dC5zdXBwcmVzc0VuY3J5cHRpb249ITA7Y29uc3QgZT10LmdldChhLm5hbWUpO249ZT8uZ2V0KCJMZW5ndGgiKXx8MTI4O248NDAmJihuPDw9Myl9fWlmKCFOdW1iZXIuaXNJbnRlZ2VyKG4pfHxuPDQwfHxuJTghPTApdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJpbnZhbGlkIGtleSBsZW5ndGgiKTtjb25zdCBzPXN0cmluZ1RvQnl0ZXMoZS5nZXQoIk8iKSksbz1zdHJpbmdUb0J5dGVzKGUuZ2V0KCJVIikpLGM9cy5zdWJhcnJheSgwLDMyKSxsPW8uc3ViYXJyYXkoMCwzMiksaD1lLmdldCgiUCIpLHU9ZS5nZXQoIlIiKSxkPSg0PT09aXx8NT09PWkpJiYhMSE9PWUuZ2V0KCJFbmNyeXB0TWV0YWRhdGEiKTt0aGlzLmVuY3J5cHRNZXRhZGF0YT1kO2NvbnN0IGY9c3RyaW5nVG9CeXRlcyh0KTtsZXQgZyxwO2lmKGEpe2lmKDY9PT11KXRyeXthPXV0ZjhTdHJpbmdUb1N0cmluZyhhKX1jYXRjaHt3YXJuKCJDaXBoZXJUcmFuc2Zvcm1GYWN0b3J5OiBVbmFibGUgdG8gY29udmVydCBVVEY4IGVuY29kZWQgcGFzc3dvcmQuIil9Zz1zdHJpbmdUb0J5dGVzKGEpfWlmKDUhPT1pKXA9dGhpcy4jTWUoZixnLGMsbCxoLHUsbixkKTtlbHNle2NvbnN0IHQ9cy5zdWJhcnJheSgzMiw0MCksYT1zLnN1YmFycmF5KDQwLDQ4KSxyPW8uc3ViYXJyYXkoMCw0OCksaT1vLnN1YmFycmF5KDMyLDQwKSxuPW8uc3ViYXJyYXkoNDAsNDgpLGg9c3RyaW5nVG9CeXRlcyhlLmdldCgiT0UiKSksZD1zdHJpbmdUb0J5dGVzKGUuZ2V0KCJVRSIpKSxmPXN0cmluZ1RvQnl0ZXMoZS5nZXQoIlBlcm1zIikpO3A9dGhpcy4jT2UodSxnLGMsdCxhLHIsbCxpLG4saCxkLGYpfWlmKCFwKXtpZighYSl0aHJvdyBuZXcgUGFzc3dvcmRFeGNlcHRpb24oIk5vIHBhc3N3b3JkIGdpdmVuIixHdCk7Y29uc3QgZT10aGlzLiNEZShnLGMsdSxuKTtwPXRoaXMuI01lKGYsZSxjLGwsaCx1LG4sZCl9aWYoIXApdGhyb3cgbmV3IFBhc3N3b3JkRXhjZXB0aW9uKCJJbmNvcnJlY3QgUGFzc3dvcmQiLFZ0KTtpZig0PT09aSYmcC5sZW5ndGg8MTYpe3RoaXMuZW5jcnlwdGlvbktleT1uZXcgVWludDhBcnJheSgxNik7dGhpcy5lbmNyeXB0aW9uS2V5LnNldChwKX1lbHNlIHRoaXMuZW5jcnlwdGlvbktleT1wO2lmKGk+PTQpe2NvbnN0IHQ9ZS5nZXQoIkNGIik7dCBpbnN0YW5jZW9mIERpY3QmJih0LnN1cHByZXNzRW5jcnlwdGlvbj0hMCk7dGhpcy5jZj10O3RoaXMuc3RtZj1lLmdldCgiU3RtRiIpfHxOYW1lLmdldCgiSWRlbnRpdHkiKTt0aGlzLnN0cmY9ZS5nZXQoIlN0ckYiKXx8TmFtZS5nZXQoIklkZW50aXR5Iik7dGhpcy5lZmY9ZS5nZXQoIkVGRiIpfHx0aGlzLnN0bWZ9fWNyZWF0ZUNpcGhlclRyYW5zZm9ybShlLHQpe2lmKDQ9PT10aGlzLmFsZ29yaXRobXx8NT09PXRoaXMuYWxnb3JpdGhtKXJldHVybiBuZXcgQ2lwaGVyVHJhbnNmb3JtKHRoaXMuI1JlKHRoaXMuY2YsdGhpcy5zdHJmLGUsdCx0aGlzLmVuY3J5cHRpb25LZXkpLHRoaXMuI1JlKHRoaXMuY2YsdGhpcy5zdG1mLGUsdCx0aGlzLmVuY3J5cHRpb25LZXkpKTtjb25zdCBhPXRoaXMuI0JlKGUsdCx0aGlzLmVuY3J5cHRpb25LZXksITEpLGNpcGhlckNvbnN0cnVjdG9yPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBBUkNGb3VyQ2lwaGVyKGEpfTtyZXR1cm4gbmV3IENpcGhlclRyYW5zZm9ybShjaXBoZXJDb25zdHJ1Y3RvcixjaXBoZXJDb25zdHJ1Y3Rvcil9fWNsYXNzIFhSZWZ7I05lPW51bGw7Y29uc3RydWN0b3IoZSx0KXt0aGlzLnN0cmVhbT1lO3RoaXMucGRmTWFuYWdlcj10O3RoaXMuZW50cmllcz1bXTt0aGlzLl94cmVmU3Rtcz1uZXcgU2V0O3RoaXMuX2NhY2hlTWFwPW5ldyBNYXA7dGhpcy5fcGVuZGluZ1JlZnM9bmV3IFJlZlNldDt0aGlzLl9uZXdQZXJzaXN0ZW50UmVmTnVtPW51bGw7dGhpcy5fbmV3VGVtcG9yYXJ5UmVmTnVtPW51bGw7dGhpcy5fcGVyc2lzdGVudFJlZnNDYWNoZT1udWxsfWdldE5ld1BlcnNpc3RlbnRSZWYoZSl7bnVsbD09PXRoaXMuX25ld1BlcnNpc3RlbnRSZWZOdW0mJih0aGlzLl9uZXdQZXJzaXN0ZW50UmVmTnVtPXRoaXMuZW50cmllcy5sZW5ndGh8fDEpO2NvbnN0IHQ9dGhpcy5fbmV3UGVyc2lzdGVudFJlZk51bSsrO3RoaXMuX2NhY2hlTWFwLnNldCh0LGUpO3JldHVybiBSZWYuZ2V0KHQsMCl9Z2V0TmV3VGVtcG9yYXJ5UmVmKCl7aWYobnVsbD09PXRoaXMuX25ld1RlbXBvcmFyeVJlZk51bSl7dGhpcy5fbmV3VGVtcG9yYXJ5UmVmTnVtPXRoaXMuZW50cmllcy5sZW5ndGh8fDE7aWYodGhpcy5fbmV3UGVyc2lzdGVudFJlZk51bSl7dGhpcy5fcGVyc2lzdGVudFJlZnNDYWNoZT1uZXcgTWFwO2ZvcihsZXQgZT10aGlzLl9uZXdUZW1wb3JhcnlSZWZOdW07ZTx0aGlzLl9uZXdQZXJzaXN0ZW50UmVmTnVtO2UrKyl7dGhpcy5fcGVyc2lzdGVudFJlZnNDYWNoZS5zZXQoZSx0aGlzLl9jYWNoZU1hcC5nZXQoZSkpO3RoaXMuX2NhY2hlTWFwLmRlbGV0ZShlKX19fXJldHVybiBSZWYuZ2V0KHRoaXMuX25ld1RlbXBvcmFyeVJlZk51bSsrLDApfXJlc2V0TmV3VGVtcG9yYXJ5UmVmKCl7dGhpcy5fbmV3VGVtcG9yYXJ5UmVmTnVtPW51bGw7aWYodGhpcy5fcGVyc2lzdGVudFJlZnNDYWNoZSlmb3IoY29uc3RbZSx0XW9mIHRoaXMuX3BlcnNpc3RlbnRSZWZzQ2FjaGUpdGhpcy5fY2FjaGVNYXAuc2V0KGUsdCk7dGhpcy5fcGVyc2lzdGVudFJlZnNDYWNoZT1udWxsfXNldFN0YXJ0WFJlZihlKXt0aGlzLnN0YXJ0WFJlZlF1ZXVlPVtlXX1wYXJzZShlPSExKXtsZXQgdCxhLHI7aWYoZSl7d2FybigiSW5kZXhpbmcgYWxsIFBERiBvYmplY3RzIik7dD10aGlzLmluZGV4T2JqZWN0cygpfWVsc2UgdD10aGlzLnJlYWRYUmVmKCk7dC5hc3NpZ25YcmVmKHRoaXMpO3RoaXMudHJhaWxlcj10O3RyeXthPXQuZ2V0KCJFbmNyeXB0Iil9Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKXRocm93IGU7d2FybihgWFJlZi5wYXJzZSAtIEludmFsaWQgIkVuY3J5cHQiIHJlZmVyZW5jZTogIiR7ZX0iLmApfWlmKGEgaW5zdGFuY2VvZiBEaWN0KXtjb25zdCBlPXQuZ2V0KCJJRCIpLHI9ZT8ubGVuZ3RoP2VbMF06IiI7YS5zdXBwcmVzc0VuY3J5cHRpb249ITA7dGhpcy5lbmNyeXB0PW5ldyBDaXBoZXJUcmFuc2Zvcm1GYWN0b3J5KGEscix0aGlzLnBkZk1hbmFnZXIucGFzc3dvcmQpfXRyeXtyPXQuZ2V0KCJSb290Iil9Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKXRocm93IGU7d2FybihgWFJlZi5wYXJzZSAtIEludmFsaWQgIlJvb3QiIHJlZmVyZW5jZTogIiR7ZX0iLmApfWlmKHIgaW5zdGFuY2VvZiBEaWN0KXRyeXtpZihyLmdldCgiUGFnZXMiKWluc3RhbmNlb2YgRGljdCl7dGhpcy5yb290PXI7cmV0dXJufX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pdGhyb3cgZTt3YXJuKGBYUmVmLnBhcnNlIC0gSW52YWxpZCAiUGFnZXMiIHJlZmVyZW5jZTogIiR7ZX0iLmApfWlmKCFlKXRocm93IG5ldyBYUmVmUGFyc2VFeGNlcHRpb247dGhyb3cgbmV3IEludmFsaWRQREZFeGNlcHRpb24oIkludmFsaWQgUm9vdCByZWZlcmVuY2UuIil9cHJvY2Vzc1hSZWZUYWJsZShlKXsidGFibGVTdGF0ZSJpbiB0aGlzfHwodGhpcy50YWJsZVN0YXRlPXtlbnRyeU51bTowLHN0cmVhbVBvczplLmxleGVyLnN0cmVhbS5wb3MscGFyc2VyQnVmMTplLmJ1ZjEscGFyc2VyQnVmMjplLmJ1ZjJ9KTtpZighaXNDbWQodGhpcy5yZWFkWFJlZlRhYmxlKGUpLCJ0cmFpbGVyIikpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIFhSZWYgdGFibGU6IGNvdWxkIG5vdCBmaW5kIHRyYWlsZXIgZGljdGlvbmFyeSIpO2xldCB0PWUuZ2V0T2JqKCk7dCBpbnN0YW5jZW9mIERpY3R8fCF0LmRpY3R8fCh0PXQuZGljdCk7aWYoISh0IGluc3RhbmNlb2YgRGljdCkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIFhSZWYgdGFibGU6IGNvdWxkIG5vdCBwYXJzZSB0cmFpbGVyIGRpY3Rpb25hcnkiKTtkZWxldGUgdGhpcy50YWJsZVN0YXRlO3JldHVybiB0fXJlYWRYUmVmVGFibGUoZSl7Y29uc3QgdD1lLmxleGVyLnN0cmVhbSxhPXRoaXMudGFibGVTdGF0ZTt0LnBvcz1hLnN0cmVhbVBvcztlLmJ1ZjE9YS5wYXJzZXJCdWYxO2UuYnVmMj1hLnBhcnNlckJ1ZjI7bGV0IHI7Zm9yKDs7KXtpZighKCJmaXJzdEVudHJ5TnVtImluIGEpfHwhKCJlbnRyeUNvdW50ImluIGEpKXtpZihpc0NtZChyPWUuZ2V0T2JqKCksInRyYWlsZXIiKSlicmVhazthLmZpcnN0RW50cnlOdW09cjthLmVudHJ5Q291bnQ9ZS5nZXRPYmooKX1sZXQgaT1hLmZpcnN0RW50cnlOdW07Y29uc3Qgbj1hLmVudHJ5Q291bnQ7aWYoIU51bWJlci5pc0ludGVnZXIoaSl8fCFOdW1iZXIuaXNJbnRlZ2VyKG4pKXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCBYUmVmIHRhYmxlOiB3cm9uZyB0eXBlcyBpbiBzdWJzZWN0aW9uIGhlYWRlciIpO2ZvcihsZXQgcj1hLmVudHJ5TnVtO3I8bjtyKyspe2Euc3RyZWFtUG9zPXQucG9zO2EuZW50cnlOdW09cjthLnBhcnNlckJ1ZjE9ZS5idWYxO2EucGFyc2VyQnVmMj1lLmJ1ZjI7Y29uc3Qgcz17fTtzLm9mZnNldD1lLmdldE9iaigpO3MuZ2VuPWUuZ2V0T2JqKCk7Y29uc3Qgbz1lLmdldE9iaigpO2lmKG8gaW5zdGFuY2VvZiBDbWQpc3dpdGNoKG8uY21kKXtjYXNlImYiOnMuZnJlZT0hMDticmVhaztjYXNlIm4iOnMudW5jb21wcmVzc2VkPSEwfWlmKCFOdW1iZXIuaXNJbnRlZ2VyKHMub2Zmc2V0KXx8IU51bWJlci5pc0ludGVnZXIocy5nZW4pfHwhcy5mcmVlJiYhcy51bmNvbXByZXNzZWQpdGhyb3cgbmV3IEZvcm1hdEVycm9yKGBJbnZhbGlkIGVudHJ5IGluIFhSZWYgc3Vic2VjdGlvbjogJHtpfSwgJHtufWApOzA9PT1yJiZzLmZyZWUmJjE9PT1pJiYoaT0wKTt0aGlzLmVudHJpZXNbcitpXXx8KHRoaXMuZW50cmllc1tyK2ldPXMpfWEuZW50cnlOdW09MDthLnN0cmVhbVBvcz10LnBvczthLnBhcnNlckJ1ZjE9ZS5idWYxO2EucGFyc2VyQnVmMj1lLmJ1ZjI7ZGVsZXRlIGEuZmlyc3RFbnRyeU51bTtkZWxldGUgYS5lbnRyeUNvdW50fWlmKHRoaXMuZW50cmllc1swXSYmIXRoaXMuZW50cmllc1swXS5mcmVlKXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCBYUmVmIHRhYmxlOiB1bmV4cGVjdGVkIGZpcnN0IG9iamVjdCIpO3JldHVybiByfXByb2Nlc3NYUmVmU3RyZWFtKGUpe2lmKCEoInN0cmVhbVN0YXRlImluIHRoaXMpKXtjb25zdHtkaWN0OnQscG9zOmF9PWUscj10LmdldCgiVyIpLGk9dC5nZXQoIkluZGV4Iil8fFswLHQuZ2V0KCJTaXplIildO3RoaXMuc3RyZWFtU3RhdGU9e2VudHJ5UmFuZ2VzOmksYnl0ZVdpZHRoczpyLGVudHJ5TnVtOjAsc3RyZWFtUG9zOmF9fXRoaXMucmVhZFhSZWZTdHJlYW0oZSk7ZGVsZXRlIHRoaXMuc3RyZWFtU3RhdGU7cmV0dXJuIGUuZGljdH1yZWFkWFJlZlN0cmVhbShlKXtjb25zdCB0PXRoaXMuc3RyZWFtU3RhdGU7ZS5wb3M9dC5zdHJlYW1Qb3M7Y29uc3RbYSxyLGldPXQuYnl0ZVdpZHRocyxuPXQuZW50cnlSYW5nZXM7Zm9yKDtuLmxlbmd0aD4wOyl7Y29uc3RbcyxvXT1uO2lmKCFOdW1iZXIuaXNJbnRlZ2VyKHMpfHwhTnVtYmVyLmlzSW50ZWdlcihvKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYEludmFsaWQgWFJlZiByYW5nZSBmaWVsZHM6ICR7c30sICR7b31gKTtpZighTnVtYmVyLmlzSW50ZWdlcihhKXx8IU51bWJlci5pc0ludGVnZXIocil8fCFOdW1iZXIuaXNJbnRlZ2VyKGkpKXRocm93IG5ldyBGb3JtYXRFcnJvcihgSW52YWxpZCBYUmVmIGVudHJ5IGZpZWxkcyBsZW5ndGg6ICR7c30sICR7b31gKTtmb3IobGV0IG49dC5lbnRyeU51bTtuPG87KytuKXt0LmVudHJ5TnVtPW47dC5zdHJlYW1Qb3M9ZS5wb3M7bGV0IG89MCxjPTAsbD0wO2ZvcihsZXQgdD0wO3Q8YTsrK3Qpe2NvbnN0IHQ9ZS5nZXRCeXRlKCk7aWYoLTE9PT10KXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCBYUmVmIGJ5dGVXaWR0aHMgJ3R5cGUnLiIpO289bzw8OHx0fTA9PT1hJiYobz0xKTtmb3IobGV0IHQ9MDt0PHI7Kyt0KXtjb25zdCB0PWUuZ2V0Qnl0ZSgpO2lmKC0xPT09dCl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkludmFsaWQgWFJlZiBieXRlV2lkdGhzICdvZmZzZXQnLiIpO2M9Yzw8OHx0fWZvcihsZXQgdD0wO3Q8aTsrK3Qpe2NvbnN0IHQ9ZS5nZXRCeXRlKCk7aWYoLTE9PT10KXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCBYUmVmIGJ5dGVXaWR0aHMgJ2dlbmVyYXRpb24nLiIpO2w9bDw8OHx0fWNvbnN0IGg9e307aC5vZmZzZXQ9YztoLmdlbj1sO3N3aXRjaChvKXtjYXNlIDA6aC5mcmVlPSEwO2JyZWFrO2Nhc2UgMTpoLnVuY29tcHJlc3NlZD0hMDticmVhaztjYXNlIDI6YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYEludmFsaWQgWFJlZiBlbnRyeSB0eXBlOiAke299YCl9dGhpcy5lbnRyaWVzW3Mrbl18fCh0aGlzLmVudHJpZXNbcytuXT1oKX10LmVudHJ5TnVtPTA7dC5zdHJlYW1Qb3M9ZS5wb3M7bi5zcGxpY2UoMCwyKX19aW5kZXhPYmplY3RzKCl7ZnVuY3Rpb24gcmVhZFRva2VuKGUsdCl7bGV0IGE9IiIscj1lW3RdO2Zvcig7MTAhPT1yJiYxMyE9PXImJjYwIT09ciYmISgrK3Q+PWUubGVuZ3RoKTspe2ErPVN0cmluZy5mcm9tQ2hhckNvZGUocik7cj1lW3RdfXJldHVybiBhfWZ1bmN0aW9uIHNraXBVbnRpbChlLHQsYSl7Y29uc3Qgcj1hLmxlbmd0aCxpPWUubGVuZ3RoO2xldCBuPTA7Zm9yKDt0PGk7KXtsZXQgaT0wO2Zvcig7aTxyJiZlW3QraV09PT1hW2ldOykrK2k7aWYoaT49cilicmVhazt0Kys7bisrfXJldHVybiBufWNvbnN0IGU9L1xiKGVuZG9ianxcZCtccytcZCtccytvYmp8eHJlZnx0cmFpbGVyXHMqPDwpXGIvZyx0PS9cYihzdGFydHhyZWZ8XGQrXHMrXGQrXHMrb2JqKVxiL2csYT0vXihcZCspXHMrKFxkKylccytvYmpcYi8scj1uZXcgVWludDhBcnJheShbMTE2LDExNCw5NywxMDUsMTA4LDEwMSwxMTRdKSxpPW5ldyBVaW50OEFycmF5KFsxMTUsMTE2LDk3LDExNCwxMTYsMTIwLDExNCwxMDEsMTAyXSksbj1uZXcgVWludDhBcnJheShbNDcsODgsODIsMTAxLDEwMl0pO3RoaXMuZW50cmllcy5sZW5ndGg9MDt0aGlzLl9jYWNoZU1hcC5jbGVhcigpO2NvbnN0IHM9dGhpcy5zdHJlYW07cy5wb3M9MDtjb25zdCBvPXMuZ2V0Qnl0ZXMoKSxjPWJ5dGVzVG9TdHJpbmcobyksbD1vLmxlbmd0aDtsZXQgaD1zLnN0YXJ0O2NvbnN0IHU9W10sZD1bXTtmb3IoO2g8bDspe2xldCBmPW9baF07aWYoOT09PWZ8fDEwPT09Znx8MTM9PT1mfHwzMj09PWYpeysraDtjb250aW51ZX1pZigzNz09PWYpe2RveysraDtpZihoPj1sKWJyZWFrO2Y9b1toXX13aGlsZSgxMCE9PWYmJjEzIT09Zik7Y29udGludWV9Y29uc3QgZz1yZWFkVG9rZW4obyxoKTtsZXQgcDtpZihnLnN0YXJ0c1dpdGgoInhyZWYiKSYmKDQ9PT1nLmxlbmd0aHx8L1xzLy50ZXN0KGdbNF0pKSl7aCs9c2tpcFVudGlsKG8saCxyKTt1LnB1c2goaCk7aCs9c2tpcFVudGlsKG8saCxpKX1lbHNlIGlmKHA9YS5leGVjKGcpKXtjb25zdCB0PTB8cFsxXSxhPTB8cFsyXSxyPWgrZy5sZW5ndGg7bGV0IGksdT0hMTtpZih0aGlzLmVudHJpZXNbdF0pe2lmKHRoaXMuZW50cmllc1t0XS5nZW49PT1hKXRyeXtuZXcgUGFyc2VyKHtsZXhlcjpuZXcgTGV4ZXIocy5tYWtlU3ViU3RyZWFtKHIpKX0pLmdldE9iaigpO3U9ITB9Y2F0Y2goZSl7ZSBpbnN0YW5jZW9mIFBhcnNlckVPRkV4Y2VwdGlvbj93YXJuKGBpbmRleE9iamVjdHMgLS0gY2hlY2tpbmcgb2JqZWN0ICgke2d9KTogIiR7ZX0iLmApOnU9ITB9fWVsc2UgdT0hMDt1JiYodGhpcy5lbnRyaWVzW3RdPXtvZmZzZXQ6aC1zLnN0YXJ0LGdlbjphLHVuY29tcHJlc3NlZDohMH0pO2UubGFzdEluZGV4PXI7Y29uc3QgZj1lLmV4ZWMoYyk7aWYoZil7aT1lLmxhc3RJbmRleCsxLWg7aWYoImVuZG9iaiIhPT1mWzFdKXt3YXJuKGBpbmRleE9iamVjdHM6IEZvdW5kICIke2ZbMV19IiBpbnNpZGUgb2YgYW5vdGhlciAib2JqIiwgY2F1c2VkIGJ5IG1pc3NpbmcgImVuZG9iaiIgLS0gdHJ5aW5nIHRvIHJlY292ZXIuYCk7aS09ZlsxXS5sZW5ndGgrMX19ZWxzZSBpPWwtaDtjb25zdCBtPW8uc3ViYXJyYXkoaCxoK2kpLGI9c2tpcFVudGlsKG0sMCxuKTtpZihiPGkmJm1bYis1XTw2NCl7ZC5wdXNoKGgtcy5zdGFydCk7dGhpcy5feHJlZlN0bXMuYWRkKGgtcy5zdGFydCl9aCs9aX1lbHNlIGlmKGcuc3RhcnRzV2l0aCgidHJhaWxlciIpJiYoNz09PWcubGVuZ3RofHwvXHMvLnRlc3QoZ1s3XSkpKXt1LnB1c2goaCk7Y29uc3QgZT1oK2cubGVuZ3RoO2xldCBhO3QubGFzdEluZGV4PWU7Y29uc3Qgcj10LmV4ZWMoYyk7aWYocil7YT10Lmxhc3RJbmRleCsxLWg7aWYoInN0YXJ0eHJlZiIhPT1yWzFdKXt3YXJuKGBpbmRleE9iamVjdHM6IEZvdW5kICIke3JbMV19IiBhZnRlciAidHJhaWxlciIsIGNhdXNlZCBieSBtaXNzaW5nICJzdGFydHhyZWYiIC0tIHRyeWluZyB0byByZWNvdmVyLmApO2EtPXJbMV0ubGVuZ3RoKzF9fWVsc2UgYT1sLWg7aCs9YX1lbHNlIGgrPWcubGVuZ3RoKzF9Zm9yKGNvbnN0IGUgb2YgZCl7dGhpcy5zdGFydFhSZWZRdWV1ZS5wdXNoKGUpO3RoaXMucmVhZFhSZWYoITApfWNvbnN0IGY9W107bGV0IGcscCxtPSExO2Zvcihjb25zdCBlIG9mIHUpe3MucG9zPWU7Y29uc3QgdD1uZXcgUGFyc2VyKHtsZXhlcjpuZXcgTGV4ZXIocykseHJlZjp0aGlzLGFsbG93U3RyZWFtczohMCxyZWNvdmVyeU1vZGU6ITB9KTtpZighaXNDbWQodC5nZXRPYmooKSwidHJhaWxlciIpKWNvbnRpbnVlO2NvbnN0IGE9dC5nZXRPYmooKTtpZihhIGluc3RhbmNlb2YgRGljdCl7Zi5wdXNoKGEpO2EuaGFzKCJFbmNyeXB0IikmJihtPSEwKX19Zm9yKGNvbnN0IGUgb2ZbLi4uZiwiZ2VuRmFsbGJhY2siLC4uLmZdKXtpZigiZ2VuRmFsbGJhY2siPT09ZSl7aWYoIXApYnJlYWs7dGhpcy5fZ2VuZXJhdGlvbkZhbGxiYWNrPSEwO2NvbnRpbnVlfWxldCB0PSExO3RyeXtjb25zdCBhPWUuZ2V0KCJSb290Iik7aWYoIShhIGluc3RhbmNlb2YgRGljdCkpY29udGludWU7Y29uc3Qgcj1hLmdldCgiUGFnZXMiKTtpZighKHIgaW5zdGFuY2VvZiBEaWN0KSljb250aW51ZTtjb25zdCBpPXIuZ2V0KCJDb3VudCIpO051bWJlci5pc0ludGVnZXIoaSkmJih0PSEwKX1jYXRjaChlKXtwPWU7Y29udGludWV9aWYodCYmKCFtfHxlLmhhcygiRW5jcnlwdCIpKSYmZS5oYXMoIklEIikpcmV0dXJuIGU7Zz1lfWlmKGcpcmV0dXJuIGc7aWYodGhpcy50b3BEaWN0KXJldHVybiB0aGlzLnRvcERpY3Q7aWYoIWYubGVuZ3RoKWZvcihjb25zdCBlIGluIHRoaXMuZW50cmllcyl7aWYoIU9iamVjdC5oYXNPd24odGhpcy5lbnRyaWVzLGUpKWNvbnRpbnVlO2NvbnN0IHQ9dGhpcy5lbnRyaWVzW2VdLGE9UmVmLmdldChwYXJzZUludChlKSx0Lmdlbik7bGV0IHI7dHJ5e3I9dGhpcy5mZXRjaChhKX1jYXRjaHtjb250aW51ZX1yIGluc3RhbmNlb2YgQmFzZVN0cmVhbSYmKHI9ci5kaWN0KTtpZihyIGluc3RhbmNlb2YgRGljdCYmci5oYXMoIlJvb3QiKSlyZXR1cm4gcn10aHJvdyBuZXcgSW52YWxpZFBERkV4Y2VwdGlvbigiSW52YWxpZCBQREYgc3RydWN0dXJlLiIpfXJlYWRYUmVmKGU9ITEpe2NvbnN0IHQ9dGhpcy5zdHJlYW0sYT1uZXcgU2V0O2Zvcig7dGhpcy5zdGFydFhSZWZRdWV1ZS5sZW5ndGg7KXt0cnl7Y29uc3QgZT10aGlzLnN0YXJ0WFJlZlF1ZXVlWzBdO2lmKGEuaGFzKGUpKXt3YXJuKCJyZWFkWFJlZiAtIHNraXBwaW5nIFhSZWYgdGFibGUgc2luY2UgaXQgd2FzIGFscmVhZHkgcGFyc2VkLiIpO3RoaXMuc3RhcnRYUmVmUXVldWUuc2hpZnQoKTtjb250aW51ZX1hLmFkZChlKTt0LnBvcz1lK3Quc3RhcnQ7Y29uc3Qgcj1uZXcgUGFyc2VyKHtsZXhlcjpuZXcgTGV4ZXIodCkseHJlZjp0aGlzLGFsbG93U3RyZWFtczohMH0pO2xldCBpLG49ci5nZXRPYmooKTtpZihpc0NtZChuLCJ4cmVmIikpe2k9dGhpcy5wcm9jZXNzWFJlZlRhYmxlKHIpO3RoaXMudG9wRGljdHx8KHRoaXMudG9wRGljdD1pKTtuPWkuZ2V0KCJYUmVmU3RtIik7aWYoTnVtYmVyLmlzSW50ZWdlcihuKSYmIXRoaXMuX3hyZWZTdG1zLmhhcyhuKSl7dGhpcy5feHJlZlN0bXMuYWRkKG4pO3RoaXMuc3RhcnRYUmVmUXVldWUucHVzaChuKTt0aGlzLiNOZT8/PW59fWVsc2V7aWYoIU51bWJlci5pc0ludGVnZXIobikpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIFhSZWYgc3RyZWFtIGhlYWRlciIpO2lmKCEoTnVtYmVyLmlzSW50ZWdlcihyLmdldE9iaigpKSYmaXNDbWQoci5nZXRPYmooKSwib2JqIikmJihuPXIuZ2V0T2JqKCkpaW5zdGFuY2VvZiBCYXNlU3RyZWFtKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkludmFsaWQgWFJlZiBzdHJlYW0iKTtpPXRoaXMucHJvY2Vzc1hSZWZTdHJlYW0obik7dGhpcy50b3BEaWN0fHwodGhpcy50b3BEaWN0PWkpO2lmKCFpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiRmFpbGVkIHRvIHJlYWQgWFJlZiBzdHJlYW0iKX1uPWkuZ2V0KCJQcmV2Iik7TnVtYmVyLmlzSW50ZWdlcihuKT90aGlzLnN0YXJ0WFJlZlF1ZXVlLnB1c2gobik6biBpbnN0YW5jZW9mIFJlZiYmdGhpcy5zdGFydFhSZWZRdWV1ZS5wdXNoKG4ubnVtKX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pdGhyb3cgZTtpbmZvKCIod2hpbGUgcmVhZGluZyBYUmVmKTogIitlKX10aGlzLnN0YXJ0WFJlZlF1ZXVlLnNoaWZ0KCl9aWYodGhpcy50b3BEaWN0KXJldHVybiB0aGlzLnRvcERpY3Q7aWYoIWUpdGhyb3cgbmV3IFhSZWZQYXJzZUV4Y2VwdGlvbn1nZXQgbGFzdFhSZWZTdHJlYW1Qb3MoKXtyZXR1cm4gdGhpcy4jTmU/Pyh0aGlzLl94cmVmU3Rtcy5zaXplPjA/TWF0aC5tYXgoLi4udGhpcy5feHJlZlN0bXMpOm51bGwpfWdldEVudHJ5KGUpe2NvbnN0IHQ9dGhpcy5lbnRyaWVzW2VdO3JldHVybiB0JiYhdC5mcmVlJiZ0Lm9mZnNldD90Om51bGx9ZmV0Y2hJZlJlZihlLHQ9ITEpe3JldHVybiBlIGluc3RhbmNlb2YgUmVmP3RoaXMuZmV0Y2goZSx0KTplfWZldGNoKGUsdD0hMSl7aWYoIShlIGluc3RhbmNlb2YgUmVmKSl0aHJvdyBuZXcgRXJyb3IoInJlZiBvYmplY3QgaXMgbm90IGEgcmVmZXJlbmNlIik7Y29uc3QgYT1lLm51bSxyPXRoaXMuX2NhY2hlTWFwLmdldChhKTtpZih2b2lkIDAhPT1yKXtyIGluc3RhbmNlb2YgRGljdCYmIXIub2JqSWQmJihyLm9iaklkPWUudG9TdHJpbmcoKSk7cmV0dXJuIHJ9bGV0IGk9dGhpcy5nZXRFbnRyeShhKTtpZihudWxsPT09aSlyZXR1cm4gaTtpZih0aGlzLl9wZW5kaW5nUmVmcy5oYXMoZSkpe3RoaXMuX3BlbmRpbmdSZWZzLnJlbW92ZShlKTt3YXJuKGBJZ25vcmluZyBjaXJjdWxhciByZWZlcmVuY2U6ICR7ZX0uYCk7cmV0dXJuIHRhfXRoaXMuX3BlbmRpbmdSZWZzLnB1dChlKTt0cnl7aT1pLnVuY29tcHJlc3NlZD90aGlzLmZldGNoVW5jb21wcmVzc2VkKGUsaSx0KTp0aGlzLmZldGNoQ29tcHJlc3NlZChlLGksdCk7dGhpcy5fcGVuZGluZ1JlZnMucmVtb3ZlKGUpfWNhdGNoKHQpe3RoaXMuX3BlbmRpbmdSZWZzLnJlbW92ZShlKTt0aHJvdyB0fWkgaW5zdGFuY2VvZiBEaWN0P2kub2JqSWQ9ZS50b1N0cmluZygpOmkgaW5zdGFuY2VvZiBCYXNlU3RyZWFtJiYoaS5kaWN0Lm9iaklkPWUudG9TdHJpbmcoKSk7cmV0dXJuIGl9ZmV0Y2hVbmNvbXByZXNzZWQoZSx0LGE9ITEpe2NvbnN0IHI9ZS5nZW47bGV0IGk9ZS5udW07aWYodC5nZW4hPT1yKXtjb25zdCBuPWBJbmNvbnNpc3RlbnQgZ2VuZXJhdGlvbiBpbiBYUmVmOiAke2V9YDtpZih0aGlzLl9nZW5lcmF0aW9uRmFsbGJhY2smJnQuZ2VuPHIpe3dhcm4obik7cmV0dXJuIHRoaXMuZmV0Y2hVbmNvbXByZXNzZWQoUmVmLmdldChpLHQuZ2VuKSx0LGEpfXRocm93IG5ldyBYUmVmRW50cnlFeGNlcHRpb24obil9Y29uc3Qgbj10aGlzLnN0cmVhbS5tYWtlU3ViU3RyZWFtKHQub2Zmc2V0K3RoaXMuc3RyZWFtLnN0YXJ0KSxzPW5ldyBQYXJzZXIoe2xleGVyOm5ldyBMZXhlcihuKSx4cmVmOnRoaXMsYWxsb3dTdHJlYW1zOiEwfSksbz1zLmdldE9iaigpLGM9cy5nZXRPYmooKSxsPXMuZ2V0T2JqKCk7aWYobyE9PWl8fGMhPT1yfHwhKGwgaW5zdGFuY2VvZiBDbWQpKXRocm93IG5ldyBYUmVmRW50cnlFeGNlcHRpb24oYEJhZCAodW5jb21wcmVzc2VkKSBYUmVmIGVudHJ5OiAke2V9YCk7aWYoIm9iaiIhPT1sLmNtZCl7aWYobC5jbWQuc3RhcnRzV2l0aCgib2JqIikpe2k9cGFyc2VJbnQobC5jbWQuc3Vic3RyaW5nKDMpLDEwKTtpZighTnVtYmVyLmlzTmFOKGkpKXJldHVybiBpfXRocm93IG5ldyBYUmVmRW50cnlFeGNlcHRpb24oYEJhZCAodW5jb21wcmVzc2VkKSBYUmVmIGVudHJ5OiAke2V9YCl9KHQ9dGhpcy5lbmNyeXB0JiYhYT9zLmdldE9iaih0aGlzLmVuY3J5cHQuY3JlYXRlQ2lwaGVyVHJhbnNmb3JtKGkscikpOnMuZ2V0T2JqKCkpaW5zdGFuY2VvZiBCYXNlU3RyZWFtfHx0aGlzLl9jYWNoZU1hcC5zZXQoaSx0KTtyZXR1cm4gdH1mZXRjaENvbXByZXNzZWQoZSx0LGE9ITEpe2NvbnN0IHI9dC5vZmZzZXQsaT10aGlzLmZldGNoKFJlZi5nZXQociwwKSk7aWYoIShpIGluc3RhbmNlb2YgQmFzZVN0cmVhbSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJiYWQgT2JqU3RtIHN0cmVhbSIpO2NvbnN0IG49aS5kaWN0LmdldCgiRmlyc3QiKSxzPWkuZGljdC5nZXQoIk4iKTtpZighTnVtYmVyLmlzSW50ZWdlcihuKXx8IU51bWJlci5pc0ludGVnZXIocykpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJpbnZhbGlkIGZpcnN0IGFuZCBuIHBhcmFtZXRlcnMgZm9yIE9ialN0bSBzdHJlYW0iKTtsZXQgbz1uZXcgUGFyc2VyKHtsZXhlcjpuZXcgTGV4ZXIoaSkseHJlZjp0aGlzLGFsbG93U3RyZWFtczohMH0pO2NvbnN0IGM9bmV3IEFycmF5KHMpLGw9bmV3IEFycmF5KHMpO2ZvcihsZXQgZT0wO2U8czsrK2Upe2NvbnN0IHQ9by5nZXRPYmooKTtpZighTnVtYmVyLmlzSW50ZWdlcih0KSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYGludmFsaWQgb2JqZWN0IG51bWJlciBpbiB0aGUgT2JqU3RtIHN0cmVhbTogJHt0fWApO2NvbnN0IGE9by5nZXRPYmooKTtpZighTnVtYmVyLmlzSW50ZWdlcihhKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYGludmFsaWQgb2JqZWN0IG9mZnNldCBpbiB0aGUgT2JqU3RtIHN0cmVhbTogJHthfWApO2NbZV09dDtjb25zdCBpPXRoaXMuZ2V0RW50cnkodCk7aT8ub2Zmc2V0PT09ciYmaS5nZW4hPT1lJiYoaS5nZW49ZSk7bFtlXT1hfWNvbnN0IGg9KGkuc3RhcnR8fDApK24sdT1uZXcgQXJyYXkocyk7Zm9yKGxldCBlPTA7ZTxzOysrZSl7Y29uc3QgdD1lPHMtMT9sW2UrMV0tbFtlXTp2b2lkIDA7aWYodDwwKXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCBvZmZzZXQgaW4gdGhlIE9ialN0bSBzdHJlYW0uIik7bz1uZXcgUGFyc2VyKHtsZXhlcjpuZXcgTGV4ZXIoaS5tYWtlU3ViU3RyZWFtKGgrbFtlXSx0LGkuZGljdCkpLHhyZWY6dGhpcyxhbGxvd1N0cmVhbXM6ITB9KTtjb25zdCBhPW8uZ2V0T2JqKCk7dVtlXT1hO2lmKGEgaW5zdGFuY2VvZiBCYXNlU3RyZWFtKWNvbnRpbnVlO2NvbnN0IG49Y1tlXSxkPXRoaXMuZW50cmllc1tuXTtkJiZkLm9mZnNldD09PXImJmQuZ2VuPT09ZSYmdGhpcy5fY2FjaGVNYXAuc2V0KG4sYSl9aWYodm9pZCAwPT09KHQ9dVt0Lmdlbl0pKXRocm93IG5ldyBYUmVmRW50cnlFeGNlcHRpb24oYEJhZCAoY29tcHJlc3NlZCkgWFJlZiBlbnRyeTogJHtlfWApO3JldHVybiB0fWFzeW5jIGZldGNoSWZSZWZBc3luYyhlLHQpe3JldHVybiBlIGluc3RhbmNlb2YgUmVmP3RoaXMuZmV0Y2hBc3luYyhlLHQpOmV9YXN5bmMgZmV0Y2hBc3luYyhlLHQpe3RyeXtyZXR1cm4gdGhpcy5mZXRjaChlLHQpfWNhdGNoKGEpe2lmKCEoYSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKSl0aHJvdyBhO2F3YWl0IHRoaXMucGRmTWFuYWdlci5yZXF1ZXN0UmFuZ2UoYS5iZWdpbixhLmVuZCk7cmV0dXJuIHRoaXMuZmV0Y2hBc3luYyhlLHQpfX1nZXRDYXRhbG9nT2JqKCl7cmV0dXJuIHRoaXMucm9vdH19Y29uc3QgdGM9WzAsMCw2MTIsNzkyXTtjbGFzcyBQYWdleyNFZT0hMTsjUGU9bnVsbDtjb25zdHJ1Y3Rvcih7cGRmTWFuYWdlcjplLHhyZWY6dCxwYWdlSW5kZXg6YSxwYWdlRGljdDpyLHJlZjppLGdsb2JhbElkRmFjdG9yeTpuLGZvbnRDYWNoZTpzLGJ1aWx0SW5DTWFwQ2FjaGU6byxzdGFuZGFyZEZvbnREYXRhQ2FjaGU6YyxnbG9iYWxDb2xvclNwYWNlQ2FjaGU6bCxnbG9iYWxJbWFnZUNhY2hlOmgsc3lzdGVtRm9udENhY2hlOnUsbm9uQmxlbmRNb2Rlc1NldDpkLHhmYUZhY3Rvcnk6Zn0pe3RoaXMucGRmTWFuYWdlcj1lO3RoaXMucGFnZUluZGV4PWE7dGhpcy5wYWdlRGljdD1yO3RoaXMueHJlZj10O3RoaXMucmVmPWk7dGhpcy5mb250Q2FjaGU9czt0aGlzLmJ1aWx0SW5DTWFwQ2FjaGU9bzt0aGlzLnN0YW5kYXJkRm9udERhdGFDYWNoZT1jO3RoaXMuZ2xvYmFsQ29sb3JTcGFjZUNhY2hlPWw7dGhpcy5nbG9iYWxJbWFnZUNhY2hlPWg7dGhpcy5zeXN0ZW1Gb250Q2FjaGU9dTt0aGlzLm5vbkJsZW5kTW9kZXNTZXQ9ZDt0aGlzLmV2YWx1YXRvck9wdGlvbnM9ZS5ldmFsdWF0b3JPcHRpb25zO3RoaXMueGZhRmFjdG9yeT1mO2NvbnN0IGc9e29iajowfTt0aGlzLl9sb2NhbElkRmFjdG9yeT1jbGFzcyBleHRlbmRzIG57c3RhdGljIGNyZWF0ZU9iaklkKCl7cmV0dXJuYHAke2F9XyR7KytnLm9ian1gfXN0YXRpYyBnZXRQYWdlT2JqSWQoKXtyZXR1cm5gcCR7aS50b1N0cmluZygpfWB9fX0jTGUoZSl7cmV0dXJuIG5ldyBQYXJ0aWFsRXZhbHVhdG9yKHt4cmVmOnRoaXMueHJlZixoYW5kbGVyOmUscGFnZUluZGV4OnRoaXMucGFnZUluZGV4LGlkRmFjdG9yeTp0aGlzLl9sb2NhbElkRmFjdG9yeSxmb250Q2FjaGU6dGhpcy5mb250Q2FjaGUsYnVpbHRJbkNNYXBDYWNoZTp0aGlzLmJ1aWx0SW5DTWFwQ2FjaGUsc3RhbmRhcmRGb250RGF0YUNhY2hlOnRoaXMuc3RhbmRhcmRGb250RGF0YUNhY2hlLGdsb2JhbENvbG9yU3BhY2VDYWNoZTp0aGlzLmdsb2JhbENvbG9yU3BhY2VDYWNoZSxnbG9iYWxJbWFnZUNhY2hlOnRoaXMuZ2xvYmFsSW1hZ2VDYWNoZSxzeXN0ZW1Gb250Q2FjaGU6dGhpcy5zeXN0ZW1Gb250Q2FjaGUsb3B0aW9uczp0aGlzLmV2YWx1YXRvck9wdGlvbnN9KX0jamUoZSx0PSExKXtjb25zdCBhPWdldEluaGVyaXRhYmxlUHJvcGVydHkoe2RpY3Q6dGhpcy5wYWdlRGljdCxrZXk6ZSxnZXRBcnJheTp0LHN0b3BXaGVuRm91bmQ6ITF9KTtyZXR1cm4gQXJyYXkuaXNBcnJheShhKT8xIT09YS5sZW5ndGgmJmFbMF1pbnN0YW5jZW9mIERpY3Q/RGljdC5tZXJnZSh7eHJlZjp0aGlzLnhyZWYsZGljdEFycmF5OmF9KTphWzBdOmF9Z2V0IGNvbnRlbnQoKXtyZXR1cm4gdGhpcy5wYWdlRGljdC5nZXRBcnJheSgiQ29udGVudHMiKX1nZXQgcmVzb3VyY2VzKCl7Y29uc3QgZT10aGlzLiNqZSgiUmVzb3VyY2VzIik7cmV0dXJuIHNoYWRvdyh0aGlzLCJyZXNvdXJjZXMiLGUgaW5zdGFuY2VvZiBEaWN0P2U6RGljdC5lbXB0eSl9I19lKGUpe2lmKHRoaXMueGZhRGF0YSlyZXR1cm4gdGhpcy54ZmFEYXRhLmJib3g7Y29uc3QgdD1sb29rdXBOb3JtYWxSZWN0KHRoaXMuI2plKGUsITApLG51bGwpO2lmKHQpe2lmKHRbMl0tdFswXT4wJiZ0WzNdLXRbMV0+MClyZXR1cm4gdDt3YXJuKGBFbXB0eSwgb3IgaW52YWxpZCwgLyR7ZX0gZW50cnkuYCl9cmV0dXJuIG51bGx9Z2V0IG1lZGlhQm94KCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJtZWRpYUJveCIsdGhpcy4jX2UoIk1lZGlhQm94Iil8fHRjKX1nZXQgY3JvcEJveCgpe3JldHVybiBzaGFkb3codGhpcywiY3JvcEJveCIsdGhpcy4jX2UoIkNyb3BCb3giKXx8dGhpcy5tZWRpYUJveCl9Z2V0IHVzZXJVbml0KCl7Y29uc3QgZT10aGlzLnBhZ2VEaWN0LmdldCgiVXNlclVuaXQiKTtyZXR1cm4gc2hhZG93KHRoaXMsInVzZXJVbml0IiwibnVtYmVyIj09dHlwZW9mIGUmJmU+MD9lOjEpfWdldCB2aWV3KCl7Y29uc3R7Y3JvcEJveDplLG1lZGlhQm94OnR9PXRoaXM7aWYoZSE9PXQmJiFpc0FycmF5RXF1YWwoZSx0KSl7Y29uc3QgYT1VdGlsLmludGVyc2VjdChlLHQpO2lmKGEmJmFbMl0tYVswXT4wJiZhWzNdLWFbMV0+MClyZXR1cm4gc2hhZG93KHRoaXMsInZpZXciLGEpO3dhcm4oIkVtcHR5IC9Dcm9wQm94IGFuZCAvTWVkaWFCb3ggaW50ZXJzZWN0aW9uLiIpfXJldHVybiBzaGFkb3codGhpcywidmlldyIsdCl9Z2V0IHJvdGF0ZSgpe2xldCBlPXRoaXMuI2plKCJSb3RhdGUiKXx8MDtlJTkwIT0wP2U9MDplPj0zNjA/ZSU9MzYwOmU8MCYmKGU9KGUlMzYwKzM2MCklMzYwKTtyZXR1cm4gc2hhZG93KHRoaXMsInJvdGF0ZSIsZSl9I1VlKGUsdCl7aWYoIXRoaXMuZXZhbHVhdG9yT3B0aW9ucy5pZ25vcmVFcnJvcnMpdGhyb3cgZTt3YXJuKGBnZXRDb250ZW50U3RyZWFtIC0gaWdub3Jpbmcgc3ViLXN0cmVhbSAoJHt0fSk6ICIke2V9Ii5gKX1hc3luYyBnZXRDb250ZW50U3RyZWFtKCl7Y29uc3QgZT1hd2FpdCB0aGlzLnBkZk1hbmFnZXIuZW5zdXJlKHRoaXMsImNvbnRlbnQiKTtyZXR1cm4gZSBpbnN0YW5jZW9mIEJhc2VTdHJlYW0/ZTpBcnJheS5pc0FycmF5KGUpP25ldyBTdHJlYW1zU2VxdWVuY2VTdHJlYW0oZSx0aGlzLiNVZS5iaW5kKHRoaXMpKTpuZXcgTnVsbFN0cmVhbX1nZXQgeGZhRGF0YSgpe3JldHVybiBzaGFkb3codGhpcywieGZhRGF0YSIsdGhpcy54ZmFGYWN0b3J5P3tiYm94OnRoaXMueGZhRmFjdG9yeS5nZXRCb3VuZGluZ0JveCh0aGlzLnBhZ2VJbmRleCl9Om51bGwpfWFzeW5jI1hlKGUsdCxhKXtjb25zdCByPVtdO2Zvcihjb25zdCBpIG9mIGUpaWYoaS5pZCl7Y29uc3QgZT1SZWYuZnJvbVN0cmluZyhpLmlkKTtpZighZSl7d2FybihgQSBub24tbGlua2VkIGFubm90YXRpb24gY2Fubm90IGJlIG1vZGlmaWVkOiAke2kuaWR9YCk7Y29udGludWV9aWYoaS5kZWxldGVkKXt0LnB1dChlLGUpO2lmKGkucG9wdXBSZWYpe2NvbnN0IGU9UmVmLmZyb21TdHJpbmcoaS5wb3B1cFJlZik7ZSYmdC5wdXQoZSxlKX1jb250aW51ZX1pZihpLnBvcHVwPy5kZWxldGVkKXtjb25zdCBlPVJlZi5mcm9tU3RyaW5nKGkucG9wdXBSZWYpO2UmJnQucHV0KGUsZSl9YT8ucHV0KGUpO2kucmVmPWU7ci5wdXNoKHRoaXMueHJlZi5mZXRjaEFzeW5jKGUpLnRoZW4oKGU9PntlIGluc3RhbmNlb2YgRGljdCYmKGkub2xkQW5ub3RhdGlvbj1lLmNsb25lKCkpfSksKCgpPT57d2FybihgQ2Fubm90IGZldGNoIFxgb2xkQW5ub3RhdGlvblxgIGZvcjogJHtlfS5gKX0pKSk7ZGVsZXRlIGkuaWR9YXdhaXQgUHJvbWlzZS5hbGwocil9YXN5bmMgc2F2ZU5ld0Fubm90YXRpb25zKGUsdCxhLHIsaSl7aWYodGhpcy54ZmFGYWN0b3J5KXRocm93IG5ldyBFcnJvcigiWEZBOiBDYW5ub3Qgc2F2ZSBuZXcgYW5ub3RhdGlvbnMuIik7Y29uc3Qgbj10aGlzLiNMZShlKSxzPW5ldyBSZWZTZXRDYWNoZSxvPW5ldyBSZWZTZXQ7YXdhaXQgdGhpcy4jWGUoYSxzLG8pO2NvbnN0IGM9dGhpcy5wYWdlRGljdCxsPXRoaXMuYW5ub3RhdGlvbnMuZmlsdGVyKChlPT4hKGUgaW5zdGFuY2VvZiBSZWYmJnMuaGFzKGUpKSkpLGg9YXdhaXQgQW5ub3RhdGlvbkZhY3Rvcnkuc2F2ZU5ld0Fubm90YXRpb25zKG4sdCxhLHIsaSk7Zm9yKGNvbnN0e3JlZjplfW9mIGguYW5ub3RhdGlvbnMpZSBpbnN0YW5jZW9mIFJlZiYmIW8uaGFzKGUpJiZsLnB1c2goZSk7Y29uc3QgdT1jLmNsb25lKCk7dS5zZXQoIkFubm90cyIsbCk7aS5wdXQodGhpcy5yZWYse2RhdGE6dX0pO2Zvcihjb25zdCBlIG9mIHMpaS5wdXQoZSx7ZGF0YTpudWxsfSl9YXN5bmMgc2F2ZShlLHQsYSxyKXtjb25zdCBpPXRoaXMuI0xlKGUpLG49YXdhaXQgdGhpcy5fcGFyc2VkQW5ub3RhdGlvbnMscz1bXTtmb3IoY29uc3QgZSBvZiBuKXMucHVzaChlLnNhdmUoaSx0LGEscikuY2F0Y2goKGZ1bmN0aW9uKGUpe3dhcm4oYHNhdmUgLSBpZ25vcmluZyBhbm5vdGF0aW9uIGRhdGEgZHVyaW5nICIke3QubmFtZX0iIHRhc2s6ICIke2V9Ii5gKTtyZXR1cm4gbnVsbH0pKSk7cmV0dXJuIFByb21pc2UuYWxsKHMpfWFzeW5jIGxvYWRSZXNvdXJjZXMoZSl7YXdhaXQodGhpcy4jUGU/Pz10aGlzLnBkZk1hbmFnZXIuZW5zdXJlKHRoaXMsInJlc291cmNlcyIpKTthd2FpdCBPYmplY3RMb2FkZXIubG9hZCh0aGlzLnJlc291cmNlcyxlLHRoaXMueHJlZil9YXN5bmMjcWUoZSx0KXtjb25zdCBhPWU/LmdldCgiUmVzb3VyY2VzIik7aWYoIShhIGluc3RhbmNlb2YgRGljdCYmYS5zaXplKSlyZXR1cm4gdGhpcy5yZXNvdXJjZXM7YXdhaXQgT2JqZWN0TG9hZGVyLmxvYWQoYSx0LHRoaXMueHJlZik7cmV0dXJuIERpY3QubWVyZ2Uoe3hyZWY6dGhpcy54cmVmLGRpY3RBcnJheTpbYSx0aGlzLnJlc291cmNlc10sbWVyZ2VTdWJEaWN0czohMH0pfWFzeW5jIGdldE9wZXJhdG9yTGlzdCh7aGFuZGxlcjplLHNpbms6dCx0YXNrOmEsaW50ZW50OnIsY2FjaGVLZXk6aSxhbm5vdGF0aW9uU3RvcmFnZTpjPW51bGwsbW9kaWZpZWRJZHM6ZD1udWxsfSl7Y29uc3QgZz10aGlzLmdldENvbnRlbnRTdHJlYW0oKSxwPXRoaXMubG9hZFJlc291cmNlcyhoYSksbT10aGlzLiNMZShlKSxiPXRoaXMueGZhRmFjdG9yeT9udWxsOmdldE5ld0Fubm90YXRpb25zTWFwKGMpLHk9Yj8uZ2V0KHRoaXMucGFnZUluZGV4KTtsZXQgdz1Qcm9taXNlLnJlc29sdmUobnVsbCkseD1udWxsO2lmKHkpe2NvbnN0IGU9dGhpcy5wZGZNYW5hZ2VyLmVuc3VyZURvYygiYW5ub3RhdGlvbkdsb2JhbHMiKTtsZXQgdDtjb25zdCByPW5ldyBTZXQ7Zm9yKGNvbnN0e2JpdG1hcElkOmUsYml0bWFwOnR9b2YgeSkhZXx8dHx8ci5oYXMoZSl8fHIuYWRkKGUpO2NvbnN0e2lzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkOml9PXRoaXMuZXZhbHVhdG9yT3B0aW9ucztpZihyLnNpemU+MCl7Y29uc3QgZT15LnNsaWNlKCk7Zm9yKGNvbnN0W3QsYV1vZiBjKXQuc3RhcnRzV2l0aChmKSYmYS5iaXRtYXAmJnIuaGFzKGEuYml0bWFwSWQpJiZlLnB1c2goYSk7dD1Bbm5vdGF0aW9uRmFjdG9yeS5nZW5lcmF0ZUltYWdlcyhlLHRoaXMueHJlZixpKX1lbHNlIHQ9QW5ub3RhdGlvbkZhY3RvcnkuZ2VuZXJhdGVJbWFnZXMoeSx0aGlzLnhyZWYsaSk7eD1uZXcgUmVmU2V0O3c9UHJvbWlzZS5hbGwoW2UsdGhpcy4jWGUoeSx4LG51bGwpXSkudGhlbigoKFtlXSk9PmU/QW5ub3RhdGlvbkZhY3RvcnkucHJpbnROZXdBbm5vdGF0aW9ucyhlLG0sYSx5LHQpOm51bGwpKX1jb25zdCBTPVByb21pc2UuYWxsKFtnLHBdKS50aGVuKChhc3luYyhbbl0pPT57Y29uc3Qgcz1hd2FpdCB0aGlzLiNxZShuLmRpY3QsaGEpLG89bmV3IE9wZXJhdG9yTGlzdChyLHQpO2Uuc2VuZCgiU3RhcnRSZW5kZXJQYWdlIix7dHJhbnNwYXJlbmN5Om0uaGFzQmxlbmRNb2RlcyhzLHRoaXMubm9uQmxlbmRNb2Rlc1NldCkscGFnZUluZGV4OnRoaXMucGFnZUluZGV4LGNhY2hlS2V5Oml9KTthd2FpdCBtLmdldE9wZXJhdG9yTGlzdCh7c3RyZWFtOm4sdGFzazphLHJlc291cmNlczpzLG9wZXJhdG9yTGlzdDpvfSk7cmV0dXJuIG99KSk7bGV0W2ssQyx2XT1hd2FpdCBQcm9taXNlLmFsbChbUyx0aGlzLl9wYXJzZWRBbm5vdGF0aW9ucyx3XSk7aWYodil7Qz1DLmZpbHRlcigoZT0+IShlLnJlZiYmeC5oYXMoZS5yZWYpKSkpO2ZvcihsZXQgZT0wLHQ9di5sZW5ndGg7ZTx0O2UrKyl7Y29uc3QgYT12W2VdO2lmKGEucmVmVG9SZXBsYWNlKXtjb25zdCByPUMuZmluZEluZGV4KChlPT5lLnJlZiYmaXNSZWZzRXF1YWwoZS5yZWYsYS5yZWZUb1JlcGxhY2UpKSk7aWYocj49MCl7Qy5zcGxpY2UociwxLGEpO3Yuc3BsaWNlKGUtLSwxKTt0LS19fX1DPUMuY29uY2F0KHYpfWlmKDA9PT1DLmxlbmd0aHx8ciZoKXtrLmZsdXNoKCEwKTtyZXR1cm57bGVuZ3RoOmsudG90YWxMZW5ndGh9fWNvbnN0IEY9ISEociZsKSxUPSEhKHImdSksTz0hIShyJm4pLE09ISEociZzKSxEPSEhKHImbyksUj1bXTtmb3IoY29uc3QgZSBvZiBDKShPfHxNJiZlLm11c3RCZVZpZXdlZChjLEYpJiZlLm11c3RCZVZpZXdlZFdoZW5FZGl0aW5nKFQsZCl8fEQmJmUubXVzdEJlUHJpbnRlZChjKSkmJlIucHVzaChlLmdldE9wZXJhdG9yTGlzdChtLGEscixjKS5jYXRjaCgoZnVuY3Rpb24oZSl7d2FybihgZ2V0T3BlcmF0b3JMaXN0IC0gaWdub3JpbmcgYW5ub3RhdGlvbiBkYXRhIGR1cmluZyAiJHthLm5hbWV9IiB0YXNrOiAiJHtlfSIuYCk7cmV0dXJue29wTGlzdDpudWxsLHNlcGFyYXRlRm9ybTohMSxzZXBhcmF0ZUNhbnZhczohMX19KSkpO2NvbnN0IE49YXdhaXQgUHJvbWlzZS5hbGwoUik7bGV0IEU9ITEsTD0hMTtmb3IoY29uc3R7b3BMaXN0OmUsc2VwYXJhdGVGb3JtOnQsc2VwYXJhdGVDYW52YXM6YX1vZiBOKXtrLmFkZE9wTGlzdChlKTtFfHw9dDtMfHw9YX1rLmZsdXNoKCEwLHtmb3JtOkUsY2FudmFzOkx9KTtyZXR1cm57bGVuZ3RoOmsudG90YWxMZW5ndGh9fWFzeW5jIGV4dHJhY3RUZXh0Q29udGVudCh7aGFuZGxlcjplLHRhc2s6dCxpbmNsdWRlTWFya2VkQ29udGVudDphLGRpc2FibGVOb3JtYWxpemF0aW9uOnIsc2luazppLGludGVyc2VjdG9yOm49bnVsbH0pe2NvbnN0IHM9dGhpcy5nZXRDb250ZW50U3RyZWFtKCksbz10aGlzLmxvYWRSZXNvdXJjZXModWEpLGM9dGhpcy5wZGZNYW5hZ2VyLmVuc3VyZUNhdGFsb2coImxhbmciKSxbbCwsaF09YXdhaXQgUHJvbWlzZS5hbGwoW3MsbyxjXSksdT1hd2FpdCB0aGlzLiNxZShsLmRpY3QsdWEpO3JldHVybiB0aGlzLiNMZShlKS5nZXRUZXh0Q29udGVudCh7c3RyZWFtOmwsdGFzazp0LHJlc291cmNlczp1LGluY2x1ZGVNYXJrZWRDb250ZW50OmEsZGlzYWJsZU5vcm1hbGl6YXRpb246cixzaW5rOmksdmlld0JveDp0aGlzLnZpZXcsbGFuZzpoLGludGVyc2VjdG9yOm59KX1hc3luYyBnZXRTdHJ1Y3RUcmVlKCl7Y29uc3QgZT1hd2FpdCB0aGlzLnBkZk1hbmFnZXIuZW5zdXJlQ2F0YWxvZygic3RydWN0VHJlZVJvb3QiKTtpZighZSlyZXR1cm4gbnVsbDthd2FpdCB0aGlzLl9wYXJzZWRBbm5vdGF0aW9uczt0cnl7Y29uc3QgdD1hd2FpdCB0aGlzLnBkZk1hbmFnZXIuZW5zdXJlKHRoaXMsIl9wYXJzZVN0cnVjdFRyZWUiLFtlXSk7cmV0dXJuIGF3YWl0IHRoaXMucGRmTWFuYWdlci5lbnN1cmUodCwic2VyaWFsaXphYmxlIil9Y2F0Y2goZSl7d2FybihgZ2V0U3RydWN0VHJlZTogIiR7ZX0iLmApO3JldHVybiBudWxsfX1fcGFyc2VTdHJ1Y3RUcmVlKGUpe2NvbnN0IHQ9bmV3IFN0cnVjdFRyZWVQYWdlKGUsdGhpcy5wYWdlRGljdCk7dC5wYXJzZSh0aGlzLnJlZik7cmV0dXJuIHR9YXN5bmMgZ2V0QW5ub3RhdGlvbnNEYXRhKGUsdCxhKXtjb25zdCByPWF3YWl0IHRoaXMuX3BhcnNlZEFubm90YXRpb25zO2lmKDA9PT1yLmxlbmd0aClyZXR1cm4gcjtjb25zdCBpPVtdLGM9W107bGV0IGw7Y29uc3QgaD0hIShhJm4pLHU9ISEoYSZzKSxkPSEhKGEmbyksZj1bXTtmb3IoY29uc3QgYSBvZiByKXtjb25zdCByPWh8fHUmJmEudmlld2FibGU7KHJ8fGQmJmEucHJpbnRhYmxlKSYmaS5wdXNoKGEuZGF0YSk7aWYoYS5oYXNUZXh0Q29udGVudCYmcil7bD8/PXRoaXMuI0xlKGUpO2MucHVzaChhLmV4dHJhY3RUZXh0Q29udGVudChsLHQsWy0xLzAsLTEvMCwxLzAsMS8wXSkuY2F0Y2goKGZ1bmN0aW9uKGUpe3dhcm4oYGdldEFubm90YXRpb25zRGF0YSAtIGlnbm9yaW5nIHRleHRDb250ZW50IGR1cmluZyAiJHt0Lm5hbWV9IiB0YXNrOiAiJHtlfSIuYCl9KSkpfWVsc2UgYS5vdmVybGF5c1RleHRDb250ZW50JiZyJiZmLnB1c2goYSl9aWYoZi5sZW5ndGg+MCl7Y29uc3QgYT1uZXcgSW50ZXJzZWN0b3IoZik7Yy5wdXNoKHRoaXMuZXh0cmFjdFRleHRDb250ZW50KHtoYW5kbGVyOmUsdGFzazp0LGluY2x1ZGVNYXJrZWRDb250ZW50OiExLGRpc2FibGVOb3JtYWxpemF0aW9uOiExLHNpbms6bnVsbCx2aWV3Qm94OnRoaXMudmlldyxsYW5nOm51bGwsaW50ZXJzZWN0b3I6YX0pLnRoZW4oKCgpPT57YS5zZXRUZXh0KCl9KSkpfWF3YWl0IFByb21pc2UuYWxsKGMpO3JldHVybiBpfWdldCBhbm5vdGF0aW9ucygpe2NvbnN0IGU9dGhpcy4jamUoIkFubm90cyIpO3JldHVybiBzaGFkb3codGhpcywiYW5ub3RhdGlvbnMiLEFycmF5LmlzQXJyYXkoZSk/ZTpbXSl9Z2V0IF9wYXJzZWRBbm5vdGF0aW9ucygpe2NvbnN0IGU9dGhpcy5wZGZNYW5hZ2VyLmVuc3VyZSh0aGlzLCJhbm5vdGF0aW9ucyIpLnRoZW4oKGFzeW5jIGU9PntpZigwPT09ZS5sZW5ndGgpcmV0dXJuIGU7Y29uc3RbdCxhXT1hd2FpdCBQcm9taXNlLmFsbChbdGhpcy5wZGZNYW5hZ2VyLmVuc3VyZURvYygiYW5ub3RhdGlvbkdsb2JhbHMiKSx0aGlzLnBkZk1hbmFnZXIuZW5zdXJlRG9jKCJmaWVsZE9iamVjdHMiKV0pO2lmKCF0KXJldHVybltdO2NvbnN0IHI9YT8ub3JwaGFuRmllbGRzLGk9W107Zm9yKGNvbnN0IGEgb2YgZSlpLnB1c2goQW5ub3RhdGlvbkZhY3RvcnkuY3JlYXRlKHRoaXMueHJlZixhLHQsdGhpcy5fbG9jYWxJZEZhY3RvcnksITEscixudWxsLHRoaXMucmVmKS5jYXRjaCgoZnVuY3Rpb24oZSl7d2FybihgX3BhcnNlZEFubm90YXRpb25zOiAiJHtlfSIuYCk7cmV0dXJuIG51bGx9KSkpO2NvbnN0IG49W107bGV0IHMsbztmb3IoY29uc3QgZSBvZiBhd2FpdCBQcm9taXNlLmFsbChpKSllJiYoZSBpbnN0YW5jZW9mIFdpZGdldEFubm90YXRpb24/KG98fD1bXSkucHVzaChlKTplIGluc3RhbmNlb2YgUG9wdXBBbm5vdGF0aW9uPyhzfHw9W10pLnB1c2goZSk6bi5wdXNoKGUpKTtvJiZuLnB1c2goLi4ubyk7cyYmbi5wdXNoKC4uLnMpO3JldHVybiBufSkpO3RoaXMuI0VlPSEwO3JldHVybiBzaGFkb3codGhpcywiX3BhcnNlZEFubm90YXRpb25zIixlKX1nZXQganNBY3Rpb25zKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJqc0FjdGlvbnMiLGNvbGxlY3RBY3Rpb25zKHRoaXMueHJlZix0aGlzLnBhZ2VEaWN0LHJlKSl9YXN5bmMgY29sbGVjdEFubm90YXRpb25zQnlUeXBlKGUsdCxhLHIsaSl7Y29uc3R7cGFnZUluZGV4Om59PXRoaXM7aWYodGhpcy4jRWUpe2NvbnN0IGU9YXdhaXQgdGhpcy5fcGFyc2VkQW5ub3RhdGlvbnM7Zm9yKGNvbnN0e2RhdGE6dH1vZiBlKWlmKCFhfHxhLmhhcyh0LmFubm90YXRpb25UeXBlKSl7dC5wYWdlSW5kZXg9bjtyLnB1c2goUHJvbWlzZS5yZXNvbHZlKHQpKX1yZXR1cm59Y29uc3Qgcz1hd2FpdCB0aGlzLnBkZk1hbmFnZXIuZW5zdXJlKHRoaXMsImFubm90YXRpb25zIik7Zm9yKGNvbnN0IG8gb2YgcylyLnB1c2goQW5ub3RhdGlvbkZhY3RvcnkuY3JlYXRlKHRoaXMueHJlZixvLGksdGhpcy5fbG9jYWxJZEZhY3RvcnksITEsbnVsbCxhLHRoaXMucmVmKS50aGVuKChhc3luYyBhPT57aWYoIWEpcmV0dXJuIG51bGw7YS5kYXRhLnBhZ2VJbmRleD1uO2lmKGEuaGFzVGV4dENvbnRlbnQmJmEudmlld2FibGUpe2NvbnN0IHI9dGhpcy4jTGUoZSk7YXdhaXQgYS5leHRyYWN0VGV4dENvbnRlbnQocix0LFstMS8wLC0xLzAsMS8wLDEvMF0pfXJldHVybiBhLmRhdGF9KSkuY2F0Y2goKGZ1bmN0aW9uKGUpe3dhcm4oYGNvbGxlY3RBbm5vdGF0aW9uc0J5VHlwZTogIiR7ZX0iLmApO3JldHVybiBudWxsfSkpKX19Y29uc3QgYWM9bmV3IFVpbnQ4QXJyYXkoWzM3LDgwLDY4LDcwLDQ1XSkscmM9bmV3IFVpbnQ4QXJyYXkoWzExNSwxMTYsOTcsMTE0LDExNiwxMjAsMTE0LDEwMSwxMDJdKSxpYz1uZXcgVWludDhBcnJheShbMTAxLDExMCwxMDAsMTExLDk4LDEwNl0pO2Z1bmN0aW9uIGZpbmQoZSx0LGE9MTAyNCxyPSExKXtjb25zdCBpPXQubGVuZ3RoLG49ZS5wZWVrQnl0ZXMoYSkscz1uLmxlbmd0aC1pO2lmKHM8PTApcmV0dXJuITE7aWYocil7Y29uc3QgYT1pLTE7bGV0IHI9bi5sZW5ndGgtMTtmb3IoO3I+PWE7KXtsZXQgcz0wO2Zvcig7czxpJiZuW3Itc109PT10W2Etc107KXMrKztpZihzPj1pKXtlLnBvcys9ci1hO3JldHVybiEwfXItLX19ZWxzZXtsZXQgYT0wO2Zvcig7YTw9czspe2xldCByPTA7Zm9yKDtyPGkmJm5bYStyXT09PXRbcl07KXIrKztpZihyPj1pKXtlLnBvcys9YTtyZXR1cm4hMH1hKyt9fXJldHVybiExfWNsYXNzIFBERkRvY3VtZW50eyNIZT1uZXcgTWFwOyNXZT1udWxsO2NvbnN0cnVjdG9yKGUsdCl7aWYodC5sZW5ndGg8PTApdGhyb3cgbmV3IEludmFsaWRQREZFeGNlcHRpb24oIlRoZSBQREYgZmlsZSBpcyBlbXB0eSwgaS5lLiBpdHMgc2l6ZSBpcyB6ZXJvIGJ5dGVzLiIpO3RoaXMucGRmTWFuYWdlcj1lO3RoaXMuc3RyZWFtPXQ7dGhpcy54cmVmPW5ldyBYUmVmKHQsZSk7Y29uc3QgYT17Zm9udDowfTt0aGlzLl9nbG9iYWxJZEZhY3Rvcnk9Y2xhc3N7c3RhdGljIGdldERvY0lkKCl7cmV0dXJuYGdfJHtlLmRvY0lkfWB9c3RhdGljIGNyZWF0ZUZvbnRJZCgpe3JldHVybiJmIisgKythLmZvbnR9c3RhdGljIGNyZWF0ZU9iaklkKCl7dW5yZWFjaGFibGUoIkFic3RyYWN0IG1ldGhvZCBgY3JlYXRlT2JqSWRgIGNhbGxlZC4iKX1zdGF0aWMgZ2V0UGFnZU9iaklkKCl7dW5yZWFjaGFibGUoIkFic3RyYWN0IG1ldGhvZCBgZ2V0UGFnZU9iaklkYCBjYWxsZWQuIil9fX1wYXJzZShlKXt0aGlzLnhyZWYucGFyc2UoZSk7dGhpcy5jYXRhbG9nPW5ldyBDYXRhbG9nKHRoaXMucGRmTWFuYWdlcix0aGlzLnhyZWYpfWdldCBsaW5lYXJpemF0aW9uKCl7bGV0IGU9bnVsbDt0cnl7ZT1MaW5lYXJpemF0aW9uLmNyZWF0ZSh0aGlzLnN0cmVhbSl9Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKXRocm93IGU7aW5mbyhlKX1yZXR1cm4gc2hhZG93KHRoaXMsImxpbmVhcml6YXRpb24iLGUpfWdldCBzdGFydFhSZWYoKXtjb25zdCBlPXRoaXMuc3RyZWFtO2xldCB0PTA7aWYodGhpcy5saW5lYXJpemF0aW9uKXtlLnJlc2V0KCk7aWYoZmluZChlLGljKSl7ZS5za2lwKDYpO2xldCBhPWUucGVla0J5dGUoKTtmb3IoO2lzV2hpdGVTcGFjZShhKTspe2UucG9zKys7YT1lLnBlZWtCeXRlKCl9dD1lLnBvcy1lLnN0YXJ0fX1lbHNle2NvbnN0IGE9MTAyNCxyPXJjLmxlbmd0aDtsZXQgaT0hMSxuPWUuZW5kO2Zvcig7IWkmJm4+MDspe24tPWEtcjtuPDAmJihuPTApO2UucG9zPW47aT1maW5kKGUscmMsYSwhMCl9aWYoaSl7ZS5za2lwKDkpO2xldCBhO2Rve2E9ZS5nZXRCeXRlKCl9d2hpbGUoaXNXaGl0ZVNwYWNlKGEpKTtsZXQgcj0iIjtmb3IoO2E+PTMyJiZhPD01Nzspe3IrPVN0cmluZy5mcm9tQ2hhckNvZGUoYSk7YT1lLmdldEJ5dGUoKX10PXBhcnNlSW50KHIsMTApO2lzTmFOKHQpJiYodD0wKX19cmV0dXJuIHNoYWRvdyh0aGlzLCJzdGFydFhSZWYiLHQpfWNoZWNrSGVhZGVyKCl7Y29uc3QgZT10aGlzLnN0cmVhbTtlLnJlc2V0KCk7aWYoIWZpbmQoZSxhYykpcmV0dXJuO2UubW92ZVN0YXJ0KCk7ZS5za2lwKGFjLmxlbmd0aCk7bGV0IHQsYT0iIjtmb3IoOyh0PWUuZ2V0Qnl0ZSgpKT4zMiYmYS5sZW5ndGg8NzspYSs9U3RyaW5nLmZyb21DaGFyQ29kZSh0KTtvYS50ZXN0KGEpP3RoaXMuI1dlPWE6d2FybihgSW52YWxpZCBQREYgaGVhZGVyIHZlcnNpb246ICR7YX1gKX1wYXJzZVN0YXJ0WFJlZigpe3RoaXMueHJlZi5zZXRTdGFydFhSZWYodGhpcy5zdGFydFhSZWYpfWdldCBudW1QYWdlcygpe2xldCBlPTA7ZT10aGlzLmNhdGFsb2cuaGFzQWN0dWFsTnVtUGFnZXM/dGhpcy5jYXRhbG9nLm51bVBhZ2VzOnRoaXMueGZhRmFjdG9yeT90aGlzLnhmYUZhY3RvcnkuZ2V0TnVtUGFnZXMoKTp0aGlzLmxpbmVhcml6YXRpb24/dGhpcy5saW5lYXJpemF0aW9uLm51bVBhZ2VzOnRoaXMuY2F0YWxvZy5udW1QYWdlcztyZXR1cm4gc2hhZG93KHRoaXMsIm51bVBhZ2VzIixlKX0jemUoZSx0PTApe3JldHVybiEhQXJyYXkuaXNBcnJheShlKSYmZS5ldmVyeSgoZT0+e2lmKCEoKGU9dGhpcy54cmVmLmZldGNoSWZSZWYoZSkpaW5zdGFuY2VvZiBEaWN0KSlyZXR1cm4hMTtpZihlLmhhcygiS2lkcyIpKXtpZigrK3Q+MTApe3dhcm4oIiNoYXNPbmx5RG9jdW1lbnRTaWduYXR1cmVzOiBtYXhpbXVtIHJlY3Vyc2lvbiBkZXB0aCByZWFjaGVkIik7cmV0dXJuITF9cmV0dXJuIHRoaXMuI3plKGUuZ2V0KCJLaWRzIiksdCl9Y29uc3QgYT1pc05hbWUoZS5nZXQoIkZUIiksIlNpZyIpLHI9ZS5nZXQoIlJlY3QiKSxpPUFycmF5LmlzQXJyYXkocikmJnIuZXZlcnkoKGU9PjA9PT1lKSk7cmV0dXJuIGEmJml9KSl9IyRlKGUsdCxhPW5ldyBSZWZTZXQpe2lmKEFycmF5LmlzQXJyYXkoZSkpZm9yKGxldCByIG9mIGUpe2lmKHIgaW5zdGFuY2VvZiBSZWYpe2lmKGEuaGFzKHIpKWNvbnRpbnVlO2EucHV0KHIpfXI9dGhpcy54cmVmLmZldGNoSWZSZWYocik7aWYoIShyIGluc3RhbmNlb2YgRGljdCkpY29udGludWU7aWYoci5oYXMoIktpZHMiKSl7dGhpcy4jJGUoci5nZXQoIktpZHMiKSx0LGEpO2NvbnRpbnVlfWlmKCFpc05hbWUoci5nZXQoIkZUIiksIlNpZyIpKWNvbnRpbnVlO2NvbnN0IGU9ci5nZXQoIlYiKTtpZighKGUgaW5zdGFuY2VvZiBEaWN0KSljb250aW51ZTtjb25zdCBpPWUuZ2V0KCJTdWJGaWx0ZXIiKTtpIGluc3RhbmNlb2YgTmFtZSYmdC5hZGQoaS5uYW1lKX19Z2V0IF94ZmFTdHJlYW1zKCl7Y29uc3R7YWNyb0Zvcm06ZX09dGhpcy5jYXRhbG9nO2lmKCFlKXJldHVybiBudWxsO2NvbnN0IHQ9ZS5nZXQoIlhGQSIpLGE9bmV3IE1hcChbInhkcDp4ZHAiLCJ0ZW1wbGF0ZSIsImRhdGFzZXRzIiwiY29uZmlnIiwiY29ubmVjdGlvblNldCIsImxvY2FsZVNldCIsInN0eWxlc2hlZXQiLCIveGRwOnhkcCJdLm1hcCgoZT0+W2UsbnVsbF0pKSk7aWYodCBpbnN0YW5jZW9mIEJhc2VTdHJlYW0mJiF0LmlzRW1wdHkpe2Euc2V0KCJ4ZHA6eGRwIix0KTtyZXR1cm4gYX1pZighQXJyYXkuaXNBcnJheSh0KXx8MD09PXQubGVuZ3RoKXJldHVybiBudWxsO2ZvcihsZXQgZT0wLHI9dC5sZW5ndGg7ZTxyO2UrPTIpe2xldCBpO2k9MD09PWU/InhkcDp4ZHAiOmU9PT1yLTI/Ii94ZHA6eGRwIjp0W2VdO2lmKCFhLmhhcyhpKSljb250aW51ZTtjb25zdCBuPXRoaXMueHJlZi5mZXRjaElmUmVmKHRbZSsxXSk7biBpbnN0YW5jZW9mIEJhc2VTdHJlYW0mJiFuLmlzRW1wdHkmJmEuc2V0KGksbil9cmV0dXJuIGF9Z2V0IHhmYURhdGFzZXRzKCl7Y29uc3QgZT10aGlzLl94ZmFTdHJlYW1zO2lmKCFlKXJldHVybiBzaGFkb3codGhpcywieGZhRGF0YXNldHMiLG51bGwpO2Zvcihjb25zdCB0IG9mWyJkYXRhc2V0cyIsInhkcDp4ZHAiXSl7Y29uc3QgYT1lLmdldCh0KTtpZihhKXRyeXtjb25zdCBlPXN0cmluZ1RvVVRGOFN0cmluZyhhLmdldFN0cmluZygpKTtyZXR1cm4gc2hhZG93KHRoaXMsInhmYURhdGFzZXRzIixuZXcgRGF0YXNldFJlYWRlcih7W3RdOmV9KSl9Y2F0Y2h7d2FybigiWEZBIC0gSW52YWxpZCB1dGYtOCBzdHJpbmcuIik7YnJlYWt9fXJldHVybiBzaGFkb3codGhpcywieGZhRGF0YXNldHMiLG51bGwpfWdldCB4ZmFEYXRhKCl7Y29uc3QgZT10aGlzLl94ZmFTdHJlYW1zO2lmKCFlKXJldHVybiBudWxsO2NvbnN0IHQ9T2JqZWN0LmNyZWF0ZShudWxsKTtmb3IoY29uc3RbYSxyXW9mIGUpaWYocil0cnl7dFthXT1zdHJpbmdUb1VURjhTdHJpbmcoci5nZXRTdHJpbmcoKSl9Y2F0Y2h7d2FybigiWEZBIC0gSW52YWxpZCB1dGYtOCBzdHJpbmcuIik7cmV0dXJuIG51bGx9cmV0dXJuIHR9Z2V0IHhmYUZhY3RvcnkoKXtsZXQgZTt0aGlzLnBkZk1hbmFnZXIuZW5hYmxlWGZhJiZ0aGlzLmNhdGFsb2cubmVlZHNSZW5kZXJpbmcmJnRoaXMuZm9ybUluZm8uaGFzWGZhJiYhdGhpcy5mb3JtSW5mby5oYXNBY3JvRm9ybSYmKGU9dGhpcy54ZmFEYXRhKTtyZXR1cm4gc2hhZG93KHRoaXMsInhmYUZhY3RvcnkiLGU/bmV3IFhGQUZhY3RvcnkoZSk6bnVsbCl9Z2V0IGlzUHVyZVhmYSgpe3JldHVybiEhdGhpcy54ZmFGYWN0b3J5JiZ0aGlzLnhmYUZhY3RvcnkuaXNWYWxpZCgpfWdldCBodG1sRm9yWGZhKCl7cmV0dXJuIHRoaXMueGZhRmFjdG9yeT90aGlzLnhmYUZhY3RvcnkuZ2V0UGFnZXMoKTpudWxsfWFzeW5jI0dlKCl7Y29uc3QgZT1hd2FpdCB0aGlzLnBkZk1hbmFnZXIuZW5zdXJlQ2F0YWxvZygieGZhSW1hZ2VzIik7ZSYmdGhpcy54ZmFGYWN0b3J5LnNldEltYWdlcyhlKX1hc3luYyNWZShlLHQpe2NvbnN0IGE9YXdhaXQgdGhpcy5wZGZNYW5hZ2VyLmVuc3VyZUNhdGFsb2coImFjcm9Gb3JtIik7aWYoIWEpcmV0dXJuO2NvbnN0IHI9YXdhaXQgYS5nZXRBc3luYygiRFIiKTtpZighKHIgaW5zdGFuY2VvZiBEaWN0KSlyZXR1cm47YXdhaXQgT2JqZWN0TG9hZGVyLmxvYWQocixbIkZvbnQiXSx0aGlzLnhyZWYpO2NvbnN0IGk9ci5nZXQoIkZvbnQiKTtpZighKGkgaW5zdGFuY2VvZiBEaWN0KSlyZXR1cm47Y29uc3Qgbj1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUobnVsbCksdGhpcy5wZGZNYW5hZ2VyLmV2YWx1YXRvck9wdGlvbnMse3VzZVN5c3RlbUZvbnRzOiExfSkse2J1aWx0SW5DTWFwQ2FjaGU6cyxmb250Q2FjaGU6byxzdGFuZGFyZEZvbnREYXRhQ2FjaGU6Y309dGhpcy5jYXRhbG9nLGw9bmV3IFBhcnRpYWxFdmFsdWF0b3Ioe3hyZWY6dGhpcy54cmVmLGhhbmRsZXI6ZSxwYWdlSW5kZXg6LTEsaWRGYWN0b3J5OnRoaXMuX2dsb2JhbElkRmFjdG9yeSxmb250Q2FjaGU6byxidWlsdEluQ01hcENhY2hlOnMsc3RhbmRhcmRGb250RGF0YUNhY2hlOmMsb3B0aW9uczpufSksaD1uZXcgT3BlcmF0b3JMaXN0LHU9W10sZD17Z2V0IGZvbnQoKXtyZXR1cm4gdS5hdCgtMSl9LHNldCBmb250KGUpe3UucHVzaChlKX0sY2xvbmUoKXtyZXR1cm4gdGhpc319LHBhcnNlRm9udD0oZSxhLGkpPT5sLmhhbmRsZVNldEZvbnQocixbTmFtZS5nZXQoZSksMV0sbnVsbCxoLHQsZCxhLGkpLmNhdGNoKChlPT57d2FybihgbG9hZFhmYUZvbnRzOiAiJHtlfSIuYCk7cmV0dXJuIG51bGx9KSksZj1bXTtmb3IoY29uc3RbZSx0XW9mIGkpe2NvbnN0IGE9dC5nZXQoIkZvbnREZXNjcmlwdG9yIik7aWYoIShhIGluc3RhbmNlb2YgRGljdCkpY29udGludWU7bGV0IHI9YS5nZXQoIkZvbnRGYW1pbHkiKTtyPXIucmVwbGFjZUFsbCgvWyBdKyhcZCkvZywiJDEiKTtjb25zdCBpPXtmb250RmFtaWx5OnIsZm9udFdlaWdodDphLmdldCgiRm9udFdlaWdodCIpLGl0YWxpY0FuZ2xlOi1hLmdldCgiSXRhbGljQW5nbGUiKX07dmFsaWRhdGVDU1NGb250KGkpJiZmLnB1c2gocGFyc2VGb250KGUsbnVsbCxpKSl9YXdhaXQgUHJvbWlzZS5hbGwoZik7Y29uc3QgZz10aGlzLnhmYUZhY3Rvcnkuc2V0Rm9udHModSk7aWYoIWcpcmV0dXJuO24uaWdub3JlRXJyb3JzPSEwO2YubGVuZ3RoPTA7dS5sZW5ndGg9MDtjb25zdCBwPW5ldyBTZXQ7Zm9yKGNvbnN0IGUgb2YgZylnZXRYZmFGb250TmFtZShgJHtlfS1SZWd1bGFyYCl8fHAuYWRkKGUpO3Auc2l6ZSYmZy5wdXNoKCJQZGZKUy1GYWxsYmFjayIpO2Zvcihjb25zdCBlIG9mIGcpaWYoIXAuaGFzKGUpKWZvcihjb25zdCB0IG9mW3tuYW1lOiJSZWd1bGFyIixmb250V2VpZ2h0OjQwMCxpdGFsaWNBbmdsZTowfSx7bmFtZToiQm9sZCIsZm9udFdlaWdodDo3MDAsaXRhbGljQW5nbGU6MH0se25hbWU6Ikl0YWxpYyIsZm9udFdlaWdodDo0MDAsaXRhbGljQW5nbGU6MTJ9LHtuYW1lOiJCb2xkSXRhbGljIixmb250V2VpZ2h0OjcwMCxpdGFsaWNBbmdsZToxMn1dKXtjb25zdCBhPWAke2V9LSR7dC5uYW1lfWA7Zi5wdXNoKHBhcnNlRm9udChhLGdldFhmYUZvbnREaWN0KGEpLHtmb250RmFtaWx5OmUsZm9udFdlaWdodDp0LmZvbnRXZWlnaHQsaXRhbGljQW5nbGU6dC5pdGFsaWNBbmdsZX0pKX1hd2FpdCBQcm9taXNlLmFsbChmKTt0aGlzLnhmYUZhY3RvcnkuYXBwZW5kRm9udHModSxwKX1sb2FkWGZhUmVzb3VyY2VzKGUsdCl7cmV0dXJuIFByb21pc2UuYWxsKFt0aGlzLiNWZShlLHQpLmNhdGNoKCgoKT0+e30pKSx0aGlzLiNHZSgpXSl9c2VyaWFsaXplWGZhRGF0YShlKXtyZXR1cm4gdGhpcy54ZmFGYWN0b3J5P3RoaXMueGZhRmFjdG9yeS5zZXJpYWxpemVEYXRhKGUpOm51bGx9Z2V0IHZlcnNpb24oKXtyZXR1cm4gdGhpcy5jYXRhbG9nLnZlcnNpb258fHRoaXMuI1dlfWdldCBmb3JtSW5mbygpe2NvbnN0IGU9e2hhc0ZpZWxkczohMSxoYXNBY3JvRm9ybTohMSxoYXNYZmE6ITEsaGFzU2lnbmF0dXJlczohMX0se2Fjcm9Gb3JtOnR9PXRoaXMuY2F0YWxvZztpZighdClyZXR1cm4gc2hhZG93KHRoaXMsImZvcm1JbmZvIixlKTt0cnl7Y29uc3QgYT10LmdldCgiRmllbGRzIikscj1BcnJheS5pc0FycmF5KGEpJiZhLmxlbmd0aD4wO2UuaGFzRmllbGRzPXI7Y29uc3QgaT10LmdldCgiWEZBIik7ZS5oYXNYZmE9QXJyYXkuaXNBcnJheShpKSYmaS5sZW5ndGg+MHx8aSBpbnN0YW5jZW9mIEJhc2VTdHJlYW0mJiFpLmlzRW1wdHk7Y29uc3Qgbj0hISgxJnQuZ2V0KCJTaWdGbGFncyIpKSxzPW4mJnRoaXMuI3plKGEpO2UuaGFzQWNyb0Zvcm09ciYmIXM7ZS5oYXNTaWduYXR1cmVzPW59Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKXRocm93IGU7d2FybihgQ2Fubm90IGZldGNoIGZvcm0gaW5mb3JtYXRpb246ICIke2V9Ii5gKX1yZXR1cm4gc2hhZG93KHRoaXMsImZvcm1JbmZvIixlKX1nZXQgZG9jdW1lbnRJbmZvKCl7Y29uc3R7Y2F0YWxvZzplLGZvcm1JbmZvOnQseHJlZjphfT10aGlzLHI9e1BERkZvcm1hdFZlcnNpb246dGhpcy52ZXJzaW9uLExhbmd1YWdlOmUubGFuZyxFbmNyeXB0RmlsdGVyTmFtZTphLmVuY3J5cHQ/LmZpbHRlck5hbWU/P251bGwsSXNMaW5lYXJpemVkOiEhdGhpcy5saW5lYXJpemF0aW9uLElzQWNyb0Zvcm1QcmVzZW50OnQuaGFzQWNyb0Zvcm0sSXNYRkFQcmVzZW50OnQuaGFzWGZhLElzQ29sbGVjdGlvblByZXNlbnQ6ISFlLmNvbGxlY3Rpb24sSXNTaWduYXR1cmVzUHJlc2VudDp0Lmhhc1NpZ25hdHVyZXN9O2xldCBpO3RyeXtpPWEudHJhaWxlci5nZXQoIkluZm8iKX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pdGhyb3cgZTtpbmZvKCJUaGUgZG9jdW1lbnQgaW5mb3JtYXRpb24gZGljdGlvbmFyeSBpcyBpbnZhbGlkLiIpfWlmKCEoaSBpbnN0YW5jZW9mIERpY3QpKXJldHVybiBzaGFkb3codGhpcywiZG9jdW1lbnRJbmZvIixyKTtmb3IoY29uc3RbZSx0XW9mIGkpe3N3aXRjaChlKXtjYXNlIlRpdGxlIjpjYXNlIkF1dGhvciI6Y2FzZSJTdWJqZWN0IjpjYXNlIktleXdvcmRzIjpjYXNlIkNyZWF0b3IiOmNhc2UiUHJvZHVjZXIiOmNhc2UiQ3JlYXRpb25EYXRlIjpjYXNlIk1vZERhdGUiOmlmKCJzdHJpbmciPT10eXBlb2YgdCl7cltlXT1zdHJpbmdUb1BERlN0cmluZyh0KTtjb250aW51ZX1icmVhaztjYXNlIlRyYXBwZWQiOmlmKHQgaW5zdGFuY2VvZiBOYW1lKXtyW2VdPXQ7Y29udGludWV9YnJlYWs7ZGVmYXVsdDpsZXQgYTtzd2l0Y2godHlwZW9mIHQpe2Nhc2Uic3RyaW5nIjphPXN0cmluZ1RvUERGU3RyaW5nKHQpO2JyZWFrO2Nhc2UibnVtYmVyIjpjYXNlImJvb2xlYW4iOmE9dDticmVhaztkZWZhdWx0OnQgaW5zdGFuY2VvZiBOYW1lJiYoYT10KX1pZih2b2lkIDA9PT1hKXt3YXJuKGBCYWQgdmFsdWUsIGZvciBjdXN0b20ga2V5ICIke2V9IiwgaW4gSW5mbzogJHt0fS5gKTtjb250aW51ZX1yLkN1c3RvbT8/PU9iamVjdC5jcmVhdGUobnVsbCk7ci5DdXN0b21bZV09YTtjb250aW51ZX13YXJuKGBCYWQgdmFsdWUsIGZvciBrZXkgIiR7ZX0iLCBpbiBJbmZvOiAke3R9LmApfXJldHVybiBzaGFkb3codGhpcywiZG9jdW1lbnRJbmZvIixyKX1nZXQgZmluZ2VycHJpbnRzKCl7Y29uc3QgZT0iXDAiLnJlcGVhdCgxNik7ZnVuY3Rpb24gdmFsaWRhdGUodCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0JiYxNj09PXQubGVuZ3RoJiZ0IT09ZX1jb25zdCB0PXRoaXMueHJlZi50cmFpbGVyLmdldCgiSUQiKTtsZXQgYSxyO2lmKEFycmF5LmlzQXJyYXkodCkmJnZhbGlkYXRlKHRbMF0pKXthPXN0cmluZ1RvQnl0ZXModFswXSk7dFsxXSE9PXRbMF0mJnZhbGlkYXRlKHRbMV0pJiYocj1zdHJpbmdUb0J5dGVzKHRbMV0pKX1lbHNlIGE9Y2FsY3VsYXRlTUQ1KHRoaXMuc3RyZWFtLmdldEJ5dGVSYW5nZSgwLDEwMjQpLDAsMTAyNCk7cmV0dXJuIHNoYWRvdyh0aGlzLCJmaW5nZXJwcmludHMiLFt0b0hleFV0aWwoYSkscj90b0hleFV0aWwocik6bnVsbF0pfWFzeW5jI0tlKGUpe2NvbnN0e2NhdGFsb2c6dCxsaW5lYXJpemF0aW9uOmEseHJlZjpyfT10aGlzLGk9UmVmLmdldChhLm9iamVjdE51bWJlckZpcnN0LDApO3RyeXtjb25zdCBlPWF3YWl0IHIuZmV0Y2hBc3luYyhpKTtpZihlIGluc3RhbmNlb2YgRGljdCl7bGV0IGE9ZS5nZXRSYXcoIlR5cGUiKTthIGluc3RhbmNlb2YgUmVmJiYoYT1hd2FpdCByLmZldGNoQXN5bmMoYSkpO2lmKGlzTmFtZShhLCJQYWdlIil8fCFlLmhhcygiVHlwZSIpJiYhZS5oYXMoIktpZHMiKSYmZS5oYXMoIkNvbnRlbnRzIikpe3QucGFnZUtpZHNDb3VudENhY2hlLmhhcyhpKXx8dC5wYWdlS2lkc0NvdW50Q2FjaGUucHV0KGksMSk7dC5wYWdlSW5kZXhDYWNoZS5oYXMoaSl8fHQucGFnZUluZGV4Q2FjaGUucHV0KGksMCk7cmV0dXJuW2UsaV19fXRocm93IG5ldyBGb3JtYXRFcnJvcigiVGhlIExpbmVhcml6YXRpb24gZGljdGlvbmFyeSBkb2Vzbid0IHBvaW50IHRvIGEgdmFsaWQgUGFnZSBkaWN0aW9uYXJ5LiIpfWNhdGNoKGEpe3dhcm4oYF9nZXRMaW5lYXJpemF0aW9uUGFnZTogIiR7YS5tZXNzYWdlfSIuYCk7cmV0dXJuIHQuZ2V0UGFnZURpY3QoZSl9fWdldFBhZ2UoZSl7Y29uc3QgdD10aGlzLiNIZS5nZXQoZSk7aWYodClyZXR1cm4gdDtjb25zdHtjYXRhbG9nOmEsbGluZWFyaXphdGlvbjpyLHhmYUZhY3Rvcnk6aX09dGhpcztsZXQgbjtuPWk/UHJvbWlzZS5yZXNvbHZlKFtEaWN0LmVtcHR5LG51bGxdKTpyPy5wYWdlRmlyc3Q9PT1lP3RoaXMuI0tlKGUpOmEuZ2V0UGFnZURpY3QoZSk7bj1uLnRoZW4oKChbdCxyXSk9Pm5ldyBQYWdlKHtwZGZNYW5hZ2VyOnRoaXMucGRmTWFuYWdlcix4cmVmOnRoaXMueHJlZixwYWdlSW5kZXg6ZSxwYWdlRGljdDp0LHJlZjpyLGdsb2JhbElkRmFjdG9yeTp0aGlzLl9nbG9iYWxJZEZhY3RvcnksZm9udENhY2hlOmEuZm9udENhY2hlLGJ1aWx0SW5DTWFwQ2FjaGU6YS5idWlsdEluQ01hcENhY2hlLHN0YW5kYXJkRm9udERhdGFDYWNoZTphLnN0YW5kYXJkRm9udERhdGFDYWNoZSxnbG9iYWxDb2xvclNwYWNlQ2FjaGU6YS5nbG9iYWxDb2xvclNwYWNlQ2FjaGUsZ2xvYmFsSW1hZ2VDYWNoZTphLmdsb2JhbEltYWdlQ2FjaGUsc3lzdGVtRm9udENhY2hlOmEuc3lzdGVtRm9udENhY2hlLG5vbkJsZW5kTW9kZXNTZXQ6YS5ub25CbGVuZE1vZGVzU2V0LHhmYUZhY3Rvcnk6aX0pKSk7dGhpcy4jSGUuc2V0KGUsbik7cmV0dXJuIG59YXN5bmMgY2hlY2tGaXJzdFBhZ2UoZT0hMSl7aWYoIWUpdHJ5e2F3YWl0IHRoaXMuZ2V0UGFnZSgwKX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgWFJlZkVudHJ5RXhjZXB0aW9uKXt0aGlzLiNIZS5kZWxldGUoMCk7YXdhaXQgdGhpcy5jbGVhbnVwKCk7dGhyb3cgbmV3IFhSZWZQYXJzZUV4Y2VwdGlvbn19fWFzeW5jIGNoZWNrTGFzdFBhZ2UoZT0hMSl7Y29uc3R7Y2F0YWxvZzp0LHBkZk1hbmFnZXI6YX09dGhpczt0LnNldEFjdHVhbE51bVBhZ2VzKCk7bGV0IHI7dHJ5e2F3YWl0IFByb21pc2UuYWxsKFthLmVuc3VyZURvYygieGZhRmFjdG9yeSIpLGEuZW5zdXJlRG9jKCJsaW5lYXJpemF0aW9uIiksYS5lbnN1cmVDYXRhbG9nKCJudW1QYWdlcyIpXSk7aWYodGhpcy54ZmFGYWN0b3J5KXJldHVybjtyPXRoaXMubGluZWFyaXphdGlvbj90aGlzLmxpbmVhcml6YXRpb24ubnVtUGFnZXM6dC5udW1QYWdlcztpZighTnVtYmVyLmlzSW50ZWdlcihyKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlBhZ2UgY291bnQgaXMgbm90IGFuIGludGVnZXIuIik7aWYocjw9MSlyZXR1cm47YXdhaXQgdGhpcy5nZXRQYWdlKHItMSl9Y2F0Y2goaSl7dGhpcy4jSGUuZGVsZXRlKHItMSk7YXdhaXQgdGhpcy5jbGVhbnVwKCk7aWYoaSBpbnN0YW5jZW9mIFhSZWZFbnRyeUV4Y2VwdGlvbiYmIWUpdGhyb3cgbmV3IFhSZWZQYXJzZUV4Y2VwdGlvbjt3YXJuKGBjaGVja0xhc3RQYWdlIC0gaW52YWxpZCAvUGFnZXMgdHJlZSAvQ291bnQ6ICR7cn0uYCk7bGV0IG47dHJ5e249YXdhaXQgdC5nZXRBbGxQYWdlRGljdHMoZSl9Y2F0Y2goYSl7aWYoYSBpbnN0YW5jZW9mIFhSZWZFbnRyeUV4Y2VwdGlvbiYmIWUpdGhyb3cgbmV3IFhSZWZQYXJzZUV4Y2VwdGlvbjt0LnNldEFjdHVhbE51bVBhZ2VzKDEpO3JldHVybn1mb3IoY29uc3RbZSxbcixpXV1vZiBuKXtsZXQgbjtpZihyIGluc3RhbmNlb2YgRXJyb3Ipe249UHJvbWlzZS5yZWplY3Qocik7bi5jYXRjaCgoKCk9Pnt9KSl9ZWxzZSBuPVByb21pc2UucmVzb2x2ZShuZXcgUGFnZSh7cGRmTWFuYWdlcjphLHhyZWY6dGhpcy54cmVmLHBhZ2VJbmRleDplLHBhZ2VEaWN0OnIscmVmOmksZ2xvYmFsSWRGYWN0b3J5OnRoaXMuX2dsb2JhbElkRmFjdG9yeSxmb250Q2FjaGU6dC5mb250Q2FjaGUsYnVpbHRJbkNNYXBDYWNoZTp0LmJ1aWx0SW5DTWFwQ2FjaGUsc3RhbmRhcmRGb250RGF0YUNhY2hlOnQuc3RhbmRhcmRGb250RGF0YUNhY2hlLGdsb2JhbENvbG9yU3BhY2VDYWNoZTp0aGlzLmdsb2JhbENvbG9yU3BhY2VDYWNoZSxnbG9iYWxJbWFnZUNhY2hlOnQuZ2xvYmFsSW1hZ2VDYWNoZSxzeXN0ZW1Gb250Q2FjaGU6dC5zeXN0ZW1Gb250Q2FjaGUsbm9uQmxlbmRNb2Rlc1NldDp0Lm5vbkJsZW5kTW9kZXNTZXQseGZhRmFjdG9yeTpudWxsfSkpO3RoaXMuI0hlLnNldChlLG4pfXQuc2V0QWN0dWFsTnVtUGFnZXMobi5zaXplKX19YXN5bmMgZm9udEZhbGxiYWNrKGUsdCl7Y29uc3R7Y2F0YWxvZzphLHBkZk1hbmFnZXI6cn09dGhpcztmb3IoY29uc3QgaSBvZiBhd2FpdCBQcm9taXNlLmFsbChhLmZvbnRDYWNoZSkpaWYoaS5sb2FkZWROYW1lPT09ZSl7aS5mYWxsYmFjayh0LHIuZXZhbHVhdG9yT3B0aW9ucyk7cmV0dXJufX1hc3luYyBjbGVhbnVwKGU9ITEpe3JldHVybiB0aGlzLmNhdGFsb2c/dGhpcy5jYXRhbG9nLmNsZWFudXAoZSk6Y2xlYXJHbG9iYWxDYWNoZXMoKX1hc3luYyNKZShlLHQsYSxyLGksbixzKXtjb25zdHt4cmVmOm99PXRoaXM7aWYoIShhIGluc3RhbmNlb2YgUmVmKXx8bi5oYXMoYSkpcmV0dXJuO24ucHV0KGEpO2NvbnN0IGM9YXdhaXQgby5mZXRjaEFzeW5jKGEpO2lmKCEoYyBpbnN0YW5jZW9mIERpY3QpKXJldHVybjtsZXQgbD1hd2FpdCBjLmdldEFzeW5jKCJTdWJ0eXBlIik7bD1sIGluc3RhbmNlb2YgTmFtZT9sLm5hbWU6bnVsbDtpZigiTGluayI9PT1sKXJldHVybjtpZihjLmhhcygiVCIpKXtjb25zdCB0PXN0cmluZ1RvUERGU3RyaW5nKGF3YWl0IGMuZ2V0QXN5bmMoIlQiKSk7ZT0iIj09PWU/dDpgJHtlfS4ke3R9YH1lbHNle2xldCBhPWM7Zm9yKDs7KXthPWEuZ2V0UmF3KCJQYXJlbnQiKXx8dDtpZihhIGluc3RhbmNlb2YgUmVmKXtpZihuLmhhcyhhKSlicmVhazthPWF3YWl0IG8uZmV0Y2hBc3luYyhhKX1pZighKGEgaW5zdGFuY2VvZiBEaWN0KSlicmVhaztpZihhLmhhcygiVCIpKXtjb25zdCB0PXN0cmluZ1RvUERGU3RyaW5nKGF3YWl0IGEuZ2V0QXN5bmMoIlQiKSk7ZT0iIj09PWU/dDpgJHtlfS4ke3R9YDticmVha319fXQmJiFjLmhhcygiUGFyZW50IikmJmlzTmFtZShjLmdldCgiU3VidHlwZSIpLCJXaWRnZXQiKSYmcy5wdXQoYSx0KTtyLmhhcyhlKXx8ci5zZXQoZSxbXSk7ci5nZXQoZSkucHVzaChBbm5vdGF0aW9uRmFjdG9yeS5jcmVhdGUobyxhLGksbnVsbCwhMCxzLG51bGwsbnVsbCkudGhlbigoZT0+ZT8uZ2V0RmllbGRPYmplY3QoKSkpLmNhdGNoKChmdW5jdGlvbihlKXt3YXJuKGAjY29sbGVjdEZpZWxkT2JqZWN0czogIiR7ZX0iLmApO3JldHVybiBudWxsfSkpKTtpZighYy5oYXMoIktpZHMiKSlyZXR1cm47Y29uc3QgaD1hd2FpdCBjLmdldEFzeW5jKCJLaWRzIik7aWYoQXJyYXkuaXNBcnJheShoKSlmb3IoY29uc3QgdCBvZiBoKWF3YWl0IHRoaXMuI0plKGUsYSx0LHIsaSxuLHMpfWdldCBmaWVsZE9iamVjdHMoKXtyZXR1cm4gc2hhZG93KHRoaXMsImZpZWxkT2JqZWN0cyIsdGhpcy5wZGZNYW5hZ2VyLmVuc3VyZURvYygiZm9ybUluZm8iKS50aGVuKChhc3luYyBlPT57aWYoIWUuaGFzRmllbGRzKXJldHVybiBudWxsO2NvbnN0IHQ9YXdhaXQgdGhpcy5hbm5vdGF0aW9uR2xvYmFscztpZighdClyZXR1cm4gbnVsbDtjb25zdHthY3JvRm9ybTphfT10LHI9bmV3IFJlZlNldCxpPU9iamVjdC5jcmVhdGUobnVsbCksbj1uZXcgTWFwLHM9bmV3IFJlZlNldENhY2hlO2Zvcihjb25zdCBlIG9mIGEuZ2V0KCJGaWVsZHMiKSlhd2FpdCB0aGlzLiNKZSgiIixudWxsLGUsbix0LHIscyk7Y29uc3Qgbz1bXTtmb3IoY29uc3RbZSx0XW9mIG4pby5wdXNoKFByb21pc2UuYWxsKHQpLnRoZW4oKHQ9PnsodD10LmZpbHRlcigoZT0+ISFlKSkpLmxlbmd0aD4wJiYoaVtlXT10KX0pKSk7YXdhaXQgUHJvbWlzZS5hbGwobyk7cmV0dXJue2FsbEZpZWxkczpvYmplY3RTaXplKGkpPjA/aTpudWxsLG9ycGhhbkZpZWxkczpzfX0pKSl9Z2V0IGhhc0pTQWN0aW9ucygpe3JldHVybiBzaGFkb3codGhpcywiaGFzSlNBY3Rpb25zIix0aGlzLnBkZk1hbmFnZXIuZW5zdXJlRG9jKCJfcGFyc2VIYXNKU0FjdGlvbnMiKSl9YXN5bmMgX3BhcnNlSGFzSlNBY3Rpb25zKCl7Y29uc3RbZSx0XT1hd2FpdCBQcm9taXNlLmFsbChbdGhpcy5wZGZNYW5hZ2VyLmVuc3VyZUNhdGFsb2coImpzQWN0aW9ucyIpLHRoaXMucGRmTWFuYWdlci5lbnN1cmVEb2MoImZpZWxkT2JqZWN0cyIpXSk7cmV0dXJuISFlfHwhIXQ/LmFsbEZpZWxkcyYmT2JqZWN0LnZhbHVlcyh0LmFsbEZpZWxkcykuc29tZSgoZT0+ZS5zb21lKChlPT5udWxsIT09ZS5hY3Rpb25zKSkpKX1nZXQgY2FsY3VsYXRpb25PcmRlcklkcygpe2NvbnN0IGU9dGhpcy5jYXRhbG9nLmFjcm9Gb3JtPy5nZXQoIkNPIik7aWYoIUFycmF5LmlzQXJyYXkoZSl8fDA9PT1lLmxlbmd0aClyZXR1cm4gc2hhZG93KHRoaXMsImNhbGN1bGF0aW9uT3JkZXJJZHMiLG51bGwpO2NvbnN0IHQ9W107Zm9yKGNvbnN0IGEgb2YgZSlhIGluc3RhbmNlb2YgUmVmJiZ0LnB1c2goYS50b1N0cmluZygpKTtyZXR1cm4gc2hhZG93KHRoaXMsImNhbGN1bGF0aW9uT3JkZXJJZHMiLHQubGVuZ3RoP3Q6bnVsbCl9Z2V0IGFubm90YXRpb25HbG9iYWxzKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJhbm5vdGF0aW9uR2xvYmFscyIsQW5ub3RhdGlvbkZhY3RvcnkuY3JlYXRlR2xvYmFscyh0aGlzLnBkZk1hbmFnZXIpKX19Y2xhc3MgQmFzZVBkZk1hbmFnZXJ7Y29uc3RydWN0b3Ioe2RvY0Jhc2VVcmw6ZSxkb2NJZDp0LGVuYWJsZVhmYTphLGV2YWx1YXRvck9wdGlvbnM6cixoYW5kbGVyOmkscGFzc3dvcmQ6bn0pe3RoaXMuX2RvY0Jhc2VVcmw9ZnVuY3Rpb24gcGFyc2VEb2NCYXNlVXJsKGUpe2lmKGUpe2NvbnN0IHQ9Y3JlYXRlVmFsaWRBYnNvbHV0ZVVybChlKTtpZih0KXJldHVybiB0LmhyZWY7d2FybihgSW52YWxpZCBhYnNvbHV0ZSBkb2NCYXNlVXJsOiAiJHtlfSIuYCl9cmV0dXJuIG51bGx9KGUpO3RoaXMuX2RvY0lkPXQ7dGhpcy5fcGFzc3dvcmQ9bjt0aGlzLmVuYWJsZVhmYT1hO3IuaXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWQmJj1GZWF0dXJlVGVzdC5pc09mZnNjcmVlbkNhbnZhc1N1cHBvcnRlZDtyLmlzSW1hZ2VEZWNvZGVyU3VwcG9ydGVkJiY9RmVhdHVyZVRlc3QuaXNJbWFnZURlY29kZXJTdXBwb3J0ZWQ7dGhpcy5ldmFsdWF0b3JPcHRpb25zPU9iamVjdC5mcmVlemUocik7SW1hZ2VSZXNpemVyLnNldE9wdGlvbnMocik7SnBlZ1N0cmVhbS5zZXRPcHRpb25zKHIpO09wZXJhdG9yTGlzdC5zZXRPcHRpb25zKHIpO2NvbnN0IHM9ey4uLnIsaGFuZGxlcjppfTtKcHhJbWFnZS5zZXRPcHRpb25zKHMpO0ljY0NvbG9yU3BhY2Uuc2V0T3B0aW9ucyhzKTtDbXlrSUNDQmFzZWRDUy5zZXRPcHRpb25zKHMpfWdldCBkb2NJZCgpe3JldHVybiB0aGlzLl9kb2NJZH1nZXQgcGFzc3dvcmQoKXtyZXR1cm4gdGhpcy5fcGFzc3dvcmR9Z2V0IGRvY0Jhc2VVcmwoKXtyZXR1cm4gdGhpcy5fZG9jQmFzZVVybH1lbnN1cmVEb2MoZSx0KXtyZXR1cm4gdGhpcy5lbnN1cmUodGhpcy5wZGZEb2N1bWVudCxlLHQpfWVuc3VyZVhSZWYoZSx0KXtyZXR1cm4gdGhpcy5lbnN1cmUodGhpcy5wZGZEb2N1bWVudC54cmVmLGUsdCl9ZW5zdXJlQ2F0YWxvZyhlLHQpe3JldHVybiB0aGlzLmVuc3VyZSh0aGlzLnBkZkRvY3VtZW50LmNhdGFsb2csZSx0KX1nZXRQYWdlKGUpe3JldHVybiB0aGlzLnBkZkRvY3VtZW50LmdldFBhZ2UoZSl9Zm9udEZhbGxiYWNrKGUsdCl7cmV0dXJuIHRoaXMucGRmRG9jdW1lbnQuZm9udEZhbGxiYWNrKGUsdCl9Y2xlYW51cChlPSExKXtyZXR1cm4gdGhpcy5wZGZEb2N1bWVudC5jbGVhbnVwKGUpfWFzeW5jIGVuc3VyZShlLHQsYSl7dW5yZWFjaGFibGUoIkFic3RyYWN0IG1ldGhvZCBgZW5zdXJlYCBjYWxsZWQiKX1yZXF1ZXN0UmFuZ2UoZSx0KXt1bnJlYWNoYWJsZSgiQWJzdHJhY3QgbWV0aG9kIGByZXF1ZXN0UmFuZ2VgIGNhbGxlZCIpfXJlcXVlc3RMb2FkZWRTdHJlYW0oZT0hMSl7dW5yZWFjaGFibGUoIkFic3RyYWN0IG1ldGhvZCBgcmVxdWVzdExvYWRlZFN0cmVhbWAgY2FsbGVkIil9c2VuZFByb2dyZXNzaXZlRGF0YShlKXt1bnJlYWNoYWJsZSgiQWJzdHJhY3QgbWV0aG9kIGBzZW5kUHJvZ3Jlc3NpdmVEYXRhYCBjYWxsZWQiKX11cGRhdGVQYXNzd29yZChlKXt0aGlzLl9wYXNzd29yZD1lfXRlcm1pbmF0ZShlKXt1bnJlYWNoYWJsZSgiQWJzdHJhY3QgbWV0aG9kIGB0ZXJtaW5hdGVgIGNhbGxlZCIpfX1jbGFzcyBMb2NhbFBkZk1hbmFnZXIgZXh0ZW5kcyBCYXNlUGRmTWFuYWdlcntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTtjb25zdCB0PW5ldyBTdHJlYW0oZS5zb3VyY2UpO3RoaXMucGRmRG9jdW1lbnQ9bmV3IFBERkRvY3VtZW50KHRoaXMsdCk7dGhpcy5fbG9hZGVkU3RyZWFtUHJvbWlzZT1Qcm9taXNlLnJlc29sdmUodCl9YXN5bmMgZW5zdXJlKGUsdCxhKXtjb25zdCByPWVbdF07cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHI/ci5hcHBseShlLGEpOnJ9cmVxdWVzdFJhbmdlKGUsdCl7cmV0dXJuIFByb21pc2UucmVzb2x2ZSgpfXJlcXVlc3RMb2FkZWRTdHJlYW0oZT0hMSl7cmV0dXJuIHRoaXMuX2xvYWRlZFN0cmVhbVByb21pc2V9dGVybWluYXRlKGUpe319Y2xhc3MgTmV0d29ya1BkZk1hbmFnZXIgZXh0ZW5kcyBCYXNlUGRmTWFuYWdlcntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTt0aGlzLnN0cmVhbU1hbmFnZXI9bmV3IENodW5rZWRTdHJlYW1NYW5hZ2VyKGUuc291cmNlLHttc2dIYW5kbGVyOmUuaGFuZGxlcixsZW5ndGg6ZS5sZW5ndGgsZGlzYWJsZUF1dG9GZXRjaDplLmRpc2FibGVBdXRvRmV0Y2gscmFuZ2VDaHVua1NpemU6ZS5yYW5nZUNodW5rU2l6ZX0pO3RoaXMucGRmRG9jdW1lbnQ9bmV3IFBERkRvY3VtZW50KHRoaXMsdGhpcy5zdHJlYW1NYW5hZ2VyLmdldFN0cmVhbSgpKX1hc3luYyBlbnN1cmUoZSx0LGEpe3RyeXtjb25zdCByPWVbdF07cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHI/ci5hcHBseShlLGEpOnJ9Y2F0Y2gocil7aWYoIShyIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pKXRocm93IHI7YXdhaXQgdGhpcy5yZXF1ZXN0UmFuZ2Uoci5iZWdpbixyLmVuZCk7cmV0dXJuIHRoaXMuZW5zdXJlKGUsdCxhKX19cmVxdWVzdFJhbmdlKGUsdCl7cmV0dXJuIHRoaXMuc3RyZWFtTWFuYWdlci5yZXF1ZXN0UmFuZ2UoZSx0KX1yZXF1ZXN0TG9hZGVkU3RyZWFtKGU9ITEpe3JldHVybiB0aGlzLnN0cmVhbU1hbmFnZXIucmVxdWVzdEFsbENodW5rcyhlKX1zZW5kUHJvZ3Jlc3NpdmVEYXRhKGUpe3RoaXMuc3RyZWFtTWFuYWdlci5vblJlY2VpdmVEYXRhKHtjaHVuazplfSl9dGVybWluYXRlKGUpe3RoaXMuc3RyZWFtTWFuYWdlci5hYm9ydChlKX19Y29uc3QgbmM9MSxzYz0yLG9jPTEsY2M9MixsYz0zLGhjPTQsdWM9NSxkYz02LGZjPTcsZ2M9ODtmdW5jdGlvbiBvbkZuKCl7fWZ1bmN0aW9uIHdyYXBSZWFzb24oZSl7aWYoZSBpbnN0YW5jZW9mIEFib3J0RXhjZXB0aW9ufHxlIGluc3RhbmNlb2YgSW52YWxpZFBERkV4Y2VwdGlvbnx8ZSBpbnN0YW5jZW9mIFBhc3N3b3JkRXhjZXB0aW9ufHxlIGluc3RhbmNlb2YgUmVzcG9uc2VFeGNlcHRpb258fGUgaW5zdGFuY2VvZiBVbmtub3duRXJyb3JFeGNlcHRpb24pcmV0dXJuIGU7ZSBpbnN0YW5jZW9mIEVycm9yfHwib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lfHx1bnJlYWNoYWJsZSgnd3JhcFJlYXNvbjogRXhwZWN0ZWQgInJlYXNvbiIgdG8gYmUgYSAocG9zc2libHkgY2xvbmVkKSBFcnJvci4nKTtzd2l0Y2goZS5uYW1lKXtjYXNlIkFib3J0RXhjZXB0aW9uIjpyZXR1cm4gbmV3IEFib3J0RXhjZXB0aW9uKGUubWVzc2FnZSk7Y2FzZSJJbnZhbGlkUERGRXhjZXB0aW9uIjpyZXR1cm4gbmV3IEludmFsaWRQREZFeGNlcHRpb24oZS5tZXNzYWdlKTtjYXNlIlBhc3N3b3JkRXhjZXB0aW9uIjpyZXR1cm4gbmV3IFBhc3N3b3JkRXhjZXB0aW9uKGUubWVzc2FnZSxlLmNvZGUpO2Nhc2UiUmVzcG9uc2VFeGNlcHRpb24iOnJldHVybiBuZXcgUmVzcG9uc2VFeGNlcHRpb24oZS5tZXNzYWdlLGUuc3RhdHVzLGUubWlzc2luZyk7Y2FzZSJVbmtub3duRXJyb3JFeGNlcHRpb24iOnJldHVybiBuZXcgVW5rbm93bkVycm9yRXhjZXB0aW9uKGUubWVzc2FnZSxlLmRldGFpbHMpfXJldHVybiBuZXcgVW5rbm93bkVycm9yRXhjZXB0aW9uKGUubWVzc2FnZSxlLnRvU3RyaW5nKCkpfWNsYXNzIE1lc3NhZ2VIYW5kbGVyeyNZZT1uZXcgQWJvcnRDb250cm9sbGVyO2NvbnN0cnVjdG9yKGUsdCxhKXt0aGlzLnNvdXJjZU5hbWU9ZTt0aGlzLnRhcmdldE5hbWU9dDt0aGlzLmNvbU9iaj1hO3RoaXMuY2FsbGJhY2tJZD0xO3RoaXMuc3RyZWFtSWQ9MTt0aGlzLnN0cmVhbVNpbmtzPU9iamVjdC5jcmVhdGUobnVsbCk7dGhpcy5zdHJlYW1Db250cm9sbGVycz1PYmplY3QuY3JlYXRlKG51bGwpO3RoaXMuY2FsbGJhY2tDYXBhYmlsaXRpZXM9T2JqZWN0LmNyZWF0ZShudWxsKTt0aGlzLmFjdGlvbkhhbmRsZXI9T2JqZWN0LmNyZWF0ZShudWxsKTthLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLHRoaXMuI1plLmJpbmQodGhpcykse3NpZ25hbDp0aGlzLiNZZS5zaWduYWx9KX0jWmUoe2RhdGE6ZX0pe2lmKGUudGFyZ2V0TmFtZSE9PXRoaXMuc291cmNlTmFtZSlyZXR1cm47aWYoZS5zdHJlYW0pe3RoaXMuI1FlKGUpO3JldHVybn1pZihlLmNhbGxiYWNrKXtjb25zdCB0PWUuY2FsbGJhY2tJZCxhPXRoaXMuY2FsbGJhY2tDYXBhYmlsaXRpZXNbdF07aWYoIWEpdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgcmVzb2x2ZSBjYWxsYmFjayAke3R9YCk7ZGVsZXRlIHRoaXMuY2FsbGJhY2tDYXBhYmlsaXRpZXNbdF07aWYoZS5jYWxsYmFjaz09PW5jKWEucmVzb2x2ZShlLmRhdGEpO2Vsc2V7aWYoZS5jYWxsYmFjayE9PXNjKXRocm93IG5ldyBFcnJvcigiVW5leHBlY3RlZCBjYWxsYmFjayBjYXNlIik7YS5yZWplY3Qod3JhcFJlYXNvbihlLnJlYXNvbikpfXJldHVybn1jb25zdCB0PXRoaXMuYWN0aW9uSGFuZGxlcltlLmFjdGlvbl07aWYoIXQpdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGFjdGlvbiBmcm9tIHdvcmtlcjogJHtlLmFjdGlvbn1gKTtpZihlLmNhbGxiYWNrSWQpe2NvbnN0IGE9dGhpcy5zb3VyY2VOYW1lLHI9ZS5zb3VyY2VOYW1lLGk9dGhpcy5jb21PYmo7UHJvbWlzZS50cnkodCxlLmRhdGEpLnRoZW4oKGZ1bmN0aW9uKHQpe2kucG9zdE1lc3NhZ2Uoe3NvdXJjZU5hbWU6YSx0YXJnZXROYW1lOnIsY2FsbGJhY2s6bmMsY2FsbGJhY2tJZDplLmNhbGxiYWNrSWQsZGF0YTp0fSl9KSwoZnVuY3Rpb24odCl7aS5wb3N0TWVzc2FnZSh7c291cmNlTmFtZTphLHRhcmdldE5hbWU6cixjYWxsYmFjazpzYyxjYWxsYmFja0lkOmUuY2FsbGJhY2tJZCxyZWFzb246d3JhcFJlYXNvbih0KX0pfSkpfWVsc2UgZS5zdHJlYW1JZD90aGlzLiNldChlKTp0KGUuZGF0YSl9b24oZSx0KXtjb25zdCBhPXRoaXMuYWN0aW9uSGFuZGxlcjtpZihhW2VdKXRocm93IG5ldyBFcnJvcihgVGhlcmUgaXMgYWxyZWFkeSBhbiBhY3Rpb25OYW1lIGNhbGxlZCAiJHtlfSJgKTthW2VdPXR9c2VuZChlLHQsYSl7dGhpcy5jb21PYmoucG9zdE1lc3NhZ2Uoe3NvdXJjZU5hbWU6dGhpcy5zb3VyY2VOYW1lLHRhcmdldE5hbWU6dGhpcy50YXJnZXROYW1lLGFjdGlvbjplLGRhdGE6dH0sYSl9c2VuZFdpdGhQcm9taXNlKGUsdCxhKXtjb25zdCByPXRoaXMuY2FsbGJhY2tJZCsrLGk9UHJvbWlzZS53aXRoUmVzb2x2ZXJzKCk7dGhpcy5jYWxsYmFja0NhcGFiaWxpdGllc1tyXT1pO3RyeXt0aGlzLmNvbU9iai5wb3N0TWVzc2FnZSh7c291cmNlTmFtZTp0aGlzLnNvdXJjZU5hbWUsdGFyZ2V0TmFtZTp0aGlzLnRhcmdldE5hbWUsYWN0aW9uOmUsY2FsbGJhY2tJZDpyLGRhdGE6dH0sYSl9Y2F0Y2goZSl7aS5yZWplY3QoZSl9cmV0dXJuIGkucHJvbWlzZX1zZW5kV2l0aFN0cmVhbShlLHQsYSxyKXtjb25zdCBpPXRoaXMuc3RyZWFtSWQrKyxuPXRoaXMuc291cmNlTmFtZSxzPXRoaXMudGFyZ2V0TmFtZSxvPXRoaXMuY29tT2JqO3JldHVybiBuZXcgUmVhZGFibGVTdHJlYW0oe3N0YXJ0OmE9Pntjb25zdCBjPVByb21pc2Uud2l0aFJlc29sdmVycygpO3RoaXMuc3RyZWFtQ29udHJvbGxlcnNbaV09e2NvbnRyb2xsZXI6YSxzdGFydENhbGw6YyxwdWxsQ2FsbDpudWxsLGNhbmNlbENhbGw6bnVsbCxpc0Nsb3NlZDohMX07by5wb3N0TWVzc2FnZSh7c291cmNlTmFtZTpuLHRhcmdldE5hbWU6cyxhY3Rpb246ZSxzdHJlYW1JZDppLGRhdGE6dCxkZXNpcmVkU2l6ZTphLmRlc2lyZWRTaXplfSxyKTtyZXR1cm4gYy5wcm9taXNlfSxwdWxsOmU9Pntjb25zdCB0PVByb21pc2Uud2l0aFJlc29sdmVycygpO3RoaXMuc3RyZWFtQ29udHJvbGxlcnNbaV0ucHVsbENhbGw9dDtvLnBvc3RNZXNzYWdlKHtzb3VyY2VOYW1lOm4sdGFyZ2V0TmFtZTpzLHN0cmVhbTpkYyxzdHJlYW1JZDppLGRlc2lyZWRTaXplOmUuZGVzaXJlZFNpemV9KTtyZXR1cm4gdC5wcm9taXNlfSxjYW5jZWw6ZT0+e2Fzc2VydChlIGluc3RhbmNlb2YgRXJyb3IsImNhbmNlbCBtdXN0IGhhdmUgYSB2YWxpZCByZWFzb24iKTtjb25zdCB0PVByb21pc2Uud2l0aFJlc29sdmVycygpO3RoaXMuc3RyZWFtQ29udHJvbGxlcnNbaV0uY2FuY2VsQ2FsbD10O3RoaXMuc3RyZWFtQ29udHJvbGxlcnNbaV0uaXNDbG9zZWQ9ITA7by5wb3N0TWVzc2FnZSh7c291cmNlTmFtZTpuLHRhcmdldE5hbWU6cyxzdHJlYW06b2Msc3RyZWFtSWQ6aSxyZWFzb246d3JhcFJlYXNvbihlKX0pO3JldHVybiB0LnByb21pc2V9fSxhKX0jZXQoZSl7Y29uc3QgdD1lLnN0cmVhbUlkLGE9dGhpcy5zb3VyY2VOYW1lLHI9ZS5zb3VyY2VOYW1lLGk9dGhpcy5jb21PYmosbj10aGlzLHM9dGhpcy5hY3Rpb25IYW5kbGVyW2UuYWN0aW9uXSxvPXtlbnF1ZXVlKGUsbj0xLHMpe2lmKHRoaXMuaXNDYW5jZWxsZWQpcmV0dXJuO2NvbnN0IG89dGhpcy5kZXNpcmVkU2l6ZTt0aGlzLmRlc2lyZWRTaXplLT1uO2lmKG8+MCYmdGhpcy5kZXNpcmVkU2l6ZTw9MCl7dGhpcy5zaW5rQ2FwYWJpbGl0eT1Qcm9taXNlLndpdGhSZXNvbHZlcnMoKTt0aGlzLnJlYWR5PXRoaXMuc2lua0NhcGFiaWxpdHkucHJvbWlzZX1pLnBvc3RNZXNzYWdlKHtzb3VyY2VOYW1lOmEsdGFyZ2V0TmFtZTpyLHN0cmVhbTpoYyxzdHJlYW1JZDp0LGNodW5rOmV9LHMpfSxjbG9zZSgpe2lmKCF0aGlzLmlzQ2FuY2VsbGVkKXt0aGlzLmlzQ2FuY2VsbGVkPSEwO2kucG9zdE1lc3NhZ2Uoe3NvdXJjZU5hbWU6YSx0YXJnZXROYW1lOnIsc3RyZWFtOmxjLHN0cmVhbUlkOnR9KTtkZWxldGUgbi5zdHJlYW1TaW5rc1t0XX19LGVycm9yKGUpe2Fzc2VydChlIGluc3RhbmNlb2YgRXJyb3IsImVycm9yIG11c3QgaGF2ZSBhIHZhbGlkIHJlYXNvbiIpO2lmKCF0aGlzLmlzQ2FuY2VsbGVkKXt0aGlzLmlzQ2FuY2VsbGVkPSEwO2kucG9zdE1lc3NhZ2Uoe3NvdXJjZU5hbWU6YSx0YXJnZXROYW1lOnIsc3RyZWFtOnVjLHN0cmVhbUlkOnQscmVhc29uOndyYXBSZWFzb24oZSl9KX19LHNpbmtDYXBhYmlsaXR5OlByb21pc2Uud2l0aFJlc29sdmVycygpLG9uUHVsbDpudWxsLG9uQ2FuY2VsOm51bGwsaXNDYW5jZWxsZWQ6ITEsZGVzaXJlZFNpemU6ZS5kZXNpcmVkU2l6ZSxyZWFkeTpudWxsfTtvLnNpbmtDYXBhYmlsaXR5LnJlc29sdmUoKTtvLnJlYWR5PW8uc2lua0NhcGFiaWxpdHkucHJvbWlzZTt0aGlzLnN0cmVhbVNpbmtzW3RdPW87UHJvbWlzZS50cnkocyxlLmRhdGEsbykudGhlbigoZnVuY3Rpb24oKXtpLnBvc3RNZXNzYWdlKHtzb3VyY2VOYW1lOmEsdGFyZ2V0TmFtZTpyLHN0cmVhbTpnYyxzdHJlYW1JZDp0LHN1Y2Nlc3M6ITB9KX0pLChmdW5jdGlvbihlKXtpLnBvc3RNZXNzYWdlKHtzb3VyY2VOYW1lOmEsdGFyZ2V0TmFtZTpyLHN0cmVhbTpnYyxzdHJlYW1JZDp0LHJlYXNvbjp3cmFwUmVhc29uKGUpfSl9KSl9I1FlKGUpe2NvbnN0IHQ9ZS5zdHJlYW1JZCxhPXRoaXMuc291cmNlTmFtZSxyPWUuc291cmNlTmFtZSxpPXRoaXMuY29tT2JqLG49dGhpcy5zdHJlYW1Db250cm9sbGVyc1t0XSxzPXRoaXMuc3RyZWFtU2lua3NbdF07c3dpdGNoKGUuc3RyZWFtKXtjYXNlIGdjOmUuc3VjY2Vzcz9uLnN0YXJ0Q2FsbC5yZXNvbHZlKCk6bi5zdGFydENhbGwucmVqZWN0KHdyYXBSZWFzb24oZS5yZWFzb24pKTticmVhaztjYXNlIGZjOmUuc3VjY2Vzcz9uLnB1bGxDYWxsLnJlc29sdmUoKTpuLnB1bGxDYWxsLnJlamVjdCh3cmFwUmVhc29uKGUucmVhc29uKSk7YnJlYWs7Y2FzZSBkYzppZighcyl7aS5wb3N0TWVzc2FnZSh7c291cmNlTmFtZTphLHRhcmdldE5hbWU6cixzdHJlYW06ZmMsc3RyZWFtSWQ6dCxzdWNjZXNzOiEwfSk7YnJlYWt9cy5kZXNpcmVkU2l6ZTw9MCYmZS5kZXNpcmVkU2l6ZT4wJiZzLnNpbmtDYXBhYmlsaXR5LnJlc29sdmUoKTtzLmRlc2lyZWRTaXplPWUuZGVzaXJlZFNpemU7UHJvbWlzZS50cnkocy5vblB1bGx8fG9uRm4pLnRoZW4oKGZ1bmN0aW9uKCl7aS5wb3N0TWVzc2FnZSh7c291cmNlTmFtZTphLHRhcmdldE5hbWU6cixzdHJlYW06ZmMsc3RyZWFtSWQ6dCxzdWNjZXNzOiEwfSl9KSwoZnVuY3Rpb24oZSl7aS5wb3N0TWVzc2FnZSh7c291cmNlTmFtZTphLHRhcmdldE5hbWU6cixzdHJlYW06ZmMsc3RyZWFtSWQ6dCxyZWFzb246d3JhcFJlYXNvbihlKX0pfSkpO2JyZWFrO2Nhc2UgaGM6YXNzZXJ0KG4sImVucXVldWUgc2hvdWxkIGhhdmUgc3RyZWFtIGNvbnRyb2xsZXIiKTtpZihuLmlzQ2xvc2VkKWJyZWFrO24uY29udHJvbGxlci5lbnF1ZXVlKGUuY2h1bmspO2JyZWFrO2Nhc2UgbGM6YXNzZXJ0KG4sImNsb3NlIHNob3VsZCBoYXZlIHN0cmVhbSBjb250cm9sbGVyIik7aWYobi5pc0Nsb3NlZClicmVhaztuLmlzQ2xvc2VkPSEwO24uY29udHJvbGxlci5jbG9zZSgpO3RoaXMuI3R0KG4sdCk7YnJlYWs7Y2FzZSB1Yzphc3NlcnQobiwiZXJyb3Igc2hvdWxkIGhhdmUgc3RyZWFtIGNvbnRyb2xsZXIiKTtuLmNvbnRyb2xsZXIuZXJyb3Iod3JhcFJlYXNvbihlLnJlYXNvbikpO3RoaXMuI3R0KG4sdCk7YnJlYWs7Y2FzZSBjYzplLnN1Y2Nlc3M/bi5jYW5jZWxDYWxsLnJlc29sdmUoKTpuLmNhbmNlbENhbGwucmVqZWN0KHdyYXBSZWFzb24oZS5yZWFzb24pKTt0aGlzLiN0dChuLHQpO2JyZWFrO2Nhc2Ugb2M6aWYoIXMpYnJlYWs7Y29uc3Qgbz13cmFwUmVhc29uKGUucmVhc29uKTtQcm9taXNlLnRyeShzLm9uQ2FuY2VsfHxvbkZuLG8pLnRoZW4oKGZ1bmN0aW9uKCl7aS5wb3N0TWVzc2FnZSh7c291cmNlTmFtZTphLHRhcmdldE5hbWU6cixzdHJlYW06Y2Msc3RyZWFtSWQ6dCxzdWNjZXNzOiEwfSl9KSwoZnVuY3Rpb24oZSl7aS5wb3N0TWVzc2FnZSh7c291cmNlTmFtZTphLHRhcmdldE5hbWU6cixzdHJlYW06Y2Msc3RyZWFtSWQ6dCxyZWFzb246d3JhcFJlYXNvbihlKX0pfSkpO3Muc2lua0NhcGFiaWxpdHkucmVqZWN0KG8pO3MuaXNDYW5jZWxsZWQ9ITA7ZGVsZXRlIHRoaXMuc3RyZWFtU2lua3NbdF07YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIlVuZXhwZWN0ZWQgc3RyZWFtIGNhc2UiKX19YXN5bmMjdHQoZSx0KXthd2FpdCBQcm9taXNlLmFsbFNldHRsZWQoW2Uuc3RhcnRDYWxsPy5wcm9taXNlLGUucHVsbENhbGw/LnByb21pc2UsZS5jYW5jZWxDYWxsPy5wcm9taXNlXSk7ZGVsZXRlIHRoaXMuc3RyZWFtQ29udHJvbGxlcnNbdF19ZGVzdHJveSgpe3RoaXMuI1llPy5hYm9ydCgpO3RoaXMuI1llPW51bGx9fWFzeW5jIGZ1bmN0aW9uIHdyaXRlT2JqZWN0KGUsdCxhLHtlbmNyeXB0OnI9bnVsbH0pe2NvbnN0IGk9cj8uY3JlYXRlQ2lwaGVyVHJhbnNmb3JtKGUubnVtLGUuZ2VuKTthLnB1c2goYCR7ZS5udW19ICR7ZS5nZW59IG9ialxuYCk7dCBpbnN0YW5jZW9mIERpY3Q/YXdhaXQgd3JpdGVEaWN0KHQsYSxpKTp0IGluc3RhbmNlb2YgQmFzZVN0cmVhbT9hd2FpdCB3cml0ZVN0cmVhbSh0LGEsaSk6KEFycmF5LmlzQXJyYXkodCl8fEFycmF5QnVmZmVyLmlzVmlldyh0KSkmJmF3YWl0IHdyaXRlQXJyYXkodCxhLGkpO2EucHVzaCgiXG5lbmRvYmpcbiIpfWFzeW5jIGZ1bmN0aW9uIHdyaXRlRGljdChlLHQsYSl7dC5wdXNoKCI8PCIpO2Zvcihjb25zdCByIG9mIGUuZ2V0S2V5cygpKXt0LnB1c2goYCAvJHtlc2NhcGVQREZOYW1lKHIpfSBgKTthd2FpdCB3cml0ZVZhbHVlKGUuZ2V0UmF3KHIpLHQsYSl9dC5wdXNoKCI+PiIpfWFzeW5jIGZ1bmN0aW9uIHdyaXRlU3RyZWFtKGUsdCxhKXtsZXQgcj1lLmdldEJ5dGVzKCk7Y29uc3R7ZGljdDppfT1lLFtuLHNdPWF3YWl0IFByb21pc2UuYWxsKFtpLmdldEFzeW5jKCJGaWx0ZXIiKSxpLmdldEFzeW5jKCJEZWNvZGVQYXJtcyIpXSksbz1pc05hbWUoQXJyYXkuaXNBcnJheShuKT9hd2FpdCBpLnhyZWYuZmV0Y2hJZlJlZkFzeW5jKG5bMF0pOm4sIkZsYXRlRGVjb2RlIik7aWYoci5sZW5ndGg+PTI1Nnx8byl0cnl7Y29uc3QgZT1uZXcgQ29tcHJlc3Npb25TdHJlYW0oImRlZmxhdGUiKSx0PWUud3JpdGFibGUuZ2V0V3JpdGVyKCk7YXdhaXQgdC5yZWFkeTt0LndyaXRlKHIpLnRoZW4oKGFzeW5jKCk9Pnthd2FpdCB0LnJlYWR5O2F3YWl0IHQuY2xvc2UoKX0pKS5jYXRjaCgoKCk9Pnt9KSk7Y29uc3QgYT1hd2FpdCBuZXcgUmVzcG9uc2UoZS5yZWFkYWJsZSkuYXJyYXlCdWZmZXIoKTtyPW5ldyBVaW50OEFycmF5KGEpO2xldCBjLGw7aWYobil7aWYoIW8pe2M9QXJyYXkuaXNBcnJheShuKT9bTmFtZS5nZXQoIkZsYXRlRGVjb2RlIiksLi4ubl06W05hbWUuZ2V0KCJGbGF0ZURlY29kZSIpLG5dO3MmJihsPUFycmF5LmlzQXJyYXkocyk/W251bGwsLi4uc106W251bGwsc10pfX1lbHNlIGM9TmFtZS5nZXQoIkZsYXRlRGVjb2RlIik7YyYmaS5zZXQoIkZpbHRlciIsYyk7bCYmaS5zZXQoIkRlY29kZVBhcm1zIixsKX1jYXRjaChlKXtpbmZvKGB3cml0ZVN0cmVhbSAtIGNhbm5vdCBjb21wcmVzcyBkYXRhOiAiJHtlfSIuYCl9bGV0IGM9Ynl0ZXNUb1N0cmluZyhyKTthJiYoYz1hLmVuY3J5cHRTdHJpbmcoYykpO2kuc2V0KCJMZW5ndGgiLGMubGVuZ3RoKTthd2FpdCB3cml0ZURpY3QoaSx0LGEpO3QucHVzaCgiIHN0cmVhbVxuIixjLCJcbmVuZHN0cmVhbSIpfWFzeW5jIGZ1bmN0aW9uIHdyaXRlQXJyYXkoZSx0LGEpe3QucHVzaCgiWyIpO2xldCByPSEwO2Zvcihjb25zdCBpIG9mIGUpe3I/cj0hMTp0LnB1c2goIiAiKTthd2FpdCB3cml0ZVZhbHVlKGksdCxhKX10LnB1c2goIl0iKX1hc3luYyBmdW5jdGlvbiB3cml0ZVZhbHVlKGUsdCxhKXtpZihlIGluc3RhbmNlb2YgTmFtZSl0LnB1c2goYC8ke2VzY2FwZVBERk5hbWUoZS5uYW1lKX1gKTtlbHNlIGlmKGUgaW5zdGFuY2VvZiBSZWYpdC5wdXNoKGAke2UubnVtfSAke2UuZ2VufSBSYCk7ZWxzZSBpZihBcnJheS5pc0FycmF5KGUpfHxBcnJheUJ1ZmZlci5pc1ZpZXcoZSkpYXdhaXQgd3JpdGVBcnJheShlLHQsYSk7ZWxzZSBpZigic3RyaW5nIj09dHlwZW9mIGUpe2EmJihlPWEuZW5jcnlwdFN0cmluZyhlKSk7dC5wdXNoKGAoJHtlc2NhcGVTdHJpbmcoZSl9KWApfWVsc2UibnVtYmVyIj09dHlwZW9mIGU/dC5wdXNoKG51bWJlclRvU3RyaW5nKGUpKToiYm9vbGVhbiI9PXR5cGVvZiBlP3QucHVzaChlLnRvU3RyaW5nKCkpOmUgaW5zdGFuY2VvZiBEaWN0P2F3YWl0IHdyaXRlRGljdChlLHQsYSk6ZSBpbnN0YW5jZW9mIEJhc2VTdHJlYW0/YXdhaXQgd3JpdGVTdHJlYW0oZSx0LGEpOm51bGw9PT1lP3QucHVzaCgibnVsbCIpOndhcm4oYFVuaGFuZGxlZCB2YWx1ZSBpbiB3cml0ZXI6ICR7dHlwZW9mIGV9LCBwbGVhc2UgZmlsZSBhIGJ1Zy5gKX1mdW5jdGlvbiB3cml0ZUludChlLHQsYSxyKXtmb3IobGV0IGk9dCthLTE7aT5hLTE7aS0tKXtyW2ldPTI1NSZlO2U+Pj04fXJldHVybiBhK3R9ZnVuY3Rpb24gd3JpdGVTdHJpbmcoZSx0LGEpe2NvbnN0IHI9ZS5sZW5ndGg7Zm9yKGxldCBpPTA7aTxyO2krKylhW3QraV09MjU1JmUuY2hhckNvZGVBdChpKTtyZXR1cm4gdCtyfWZ1bmN0aW9uIHVwZGF0ZVhGQSh7eGZhRGF0YTplLHhmYURhdGFzZXRzUmVmOnQsY2hhbmdlczphLHhyZWY6cn0pe2lmKG51bGw9PT1lKXtlPWZ1bmN0aW9uIHdyaXRlWEZBRGF0YUZvckFjcm9mb3JtKGUsdCl7Y29uc3QgYT1uZXcgU2ltcGxlWE1MUGFyc2VyKHtoYXNBdHRyaWJ1dGVzOiEwfSkucGFyc2VGcm9tU3RyaW5nKGUpO2Zvcihjb25zdHt4ZmE6ZX1vZiB0KXtpZighZSljb250aW51ZTtjb25zdHtwYXRoOnQsdmFsdWU6cn09ZTtpZighdCljb250aW51ZTtjb25zdCBpPXBhcnNlWEZBUGF0aCh0KTtsZXQgbj1hLmRvY3VtZW50RWxlbWVudC5zZWFyY2hOb2RlKGksMCk7IW4mJmkubGVuZ3RoPjEmJihuPWEuZG9jdW1lbnRFbGVtZW50LnNlYXJjaE5vZGUoW2kuYXQoLTEpXSwwKSk7bj9uLmNoaWxkTm9kZXM9QXJyYXkuaXNBcnJheShyKT9yLm1hcCgoZT0+bmV3IFNpbXBsZURPTU5vZGUoInZhbHVlIixlKSkpOltuZXcgU2ltcGxlRE9NTm9kZSgiI3RleHQiLHIpXTp3YXJuKGBOb2RlIG5vdCBmb3VuZCBmb3IgcGF0aDogJHt0fWApfWNvbnN0IHI9W107YS5kb2N1bWVudEVsZW1lbnQuZHVtcChyKTtyZXR1cm4gci5qb2luKCIiKX0oci5mZXRjaElmUmVmKHQpLmdldFN0cmluZygpLGEpfWNvbnN0IGk9bmV3IFN0cmluZ1N0cmVhbShlKTtpLmRpY3Q9bmV3IERpY3Qocik7aS5kaWN0LnNldElmTmFtZSgiVHlwZSIsIkVtYmVkZGVkRmlsZSIpO2EucHV0KHQse2RhdGE6aX0pfWZ1bmN0aW9uIGdldEluZGV4ZXMoZSl7Y29uc3QgdD1bXTtmb3IoY29uc3R7cmVmOmF9b2YgZSlhLm51bT09PXQuYXQoLTIpK3QuYXQoLTEpP3RbdC5sZW5ndGgtMV0rPTE6dC5wdXNoKGEubnVtLDEpO3JldHVybiB0fWZ1bmN0aW9uIGNvbXB1dGVJRHMoZSx0LGEpe2lmKEFycmF5LmlzQXJyYXkodC5maWxlSWRzKSYmdC5maWxlSWRzLmxlbmd0aD4wKXtjb25zdCByPWZ1bmN0aW9uIGNvbXB1dGVNRDUoZSx0KXtjb25zdCBhPU1hdGguZmxvb3IoRGF0ZS5ub3coKS8xZTMpLHI9dC5maWxlbmFtZXx8IiIsaT1bYS50b1N0cmluZygpLHIsZS50b1N0cmluZygpLC4uLnQuaW5mb01hcC52YWx1ZXMoKV0sbj1NYXRoLnN1bVByZWNpc2UoaS5tYXAoKGU9PmUubGVuZ3RoKSkpLHM9bmV3IFVpbnQ4QXJyYXkobik7bGV0IG89MDtmb3IoY29uc3QgZSBvZiBpKW89d3JpdGVTdHJpbmcoZSxvLHMpO3JldHVybiBieXRlc1RvU3RyaW5nKGNhbGN1bGF0ZU1ENShzLDAscy5sZW5ndGgpKX0oZSx0KTthLnNldCgiSUQiLFt0LmZpbGVJZHNbMF0scl0pfX1hc3luYyBmdW5jdGlvbiBpbmNyZW1lbnRhbFVwZGF0ZSh7b3JpZ2luYWxEYXRhOmUseHJlZkluZm86dCxjaGFuZ2VzOmEseHJlZjpyPW51bGwsaGFzWGZhOmk9ITEseGZhRGF0YXNldHNSZWY6bj1udWxsLGhhc1hmYURhdGFzZXRzRW50cnk6cz0hMSxuZWVkQXBwZWFyYW5jZXM6byxhY3JvRm9ybVJlZjpjPW51bGwsYWNyb0Zvcm06bD1udWxsLHhmYURhdGE6aD1udWxsLHVzZVhyZWZTdHJlYW06dT0hMX0pe2F3YWl0IGFzeW5jIGZ1bmN0aW9uIHVwZGF0ZUFjcm9mb3JtKHt4cmVmOmUsYWNyb0Zvcm06dCxhY3JvRm9ybVJlZjphLGhhc1hmYTpyLGhhc1hmYURhdGFzZXRzRW50cnk6aSx4ZmFEYXRhc2V0c1JlZjpuLG5lZWRBcHBlYXJhbmNlczpzLGNoYW5nZXM6b30peyFyfHxpfHxufHx3YXJuKCJYRkEgLSBDYW5ub3Qgc2F2ZSBpdCIpO2lmKCFzJiYoIXJ8fCFufHxpKSlyZXR1cm47Y29uc3QgYz10LmNsb25lKCk7aWYociYmIWkpe2NvbnN0IGU9dC5nZXQoIlhGQSIpLnNsaWNlKCk7ZS5zcGxpY2UoMiwwLCJkYXRhc2V0cyIpO2Uuc3BsaWNlKDMsMCxuKTtjLnNldCgiWEZBIixlKX1zJiZjLnNldCgiTmVlZEFwcGVhcmFuY2VzIiwhMCk7by5wdXQoYSx7ZGF0YTpjfSl9KHt4cmVmOnIsYWNyb0Zvcm06bCxhY3JvRm9ybVJlZjpjLGhhc1hmYTppLGhhc1hmYURhdGFzZXRzRW50cnk6cyx4ZmFEYXRhc2V0c1JlZjpuLG5lZWRBcHBlYXJhbmNlczpvLGNoYW5nZXM6YX0pO2kmJnVwZGF0ZVhGQSh7eGZhRGF0YTpoLHhmYURhdGFzZXRzUmVmOm4sY2hhbmdlczphLHhyZWY6cn0pO2NvbnN0IGQ9ZnVuY3Rpb24gZ2V0VHJhaWxlckRpY3QoZSx0LGEpe2NvbnN0IHI9bmV3IERpY3QobnVsbCk7ci5zZXQoIlByZXYiLGUuc3RhcnRYUmVmKTtjb25zdCBpPWUubmV3UmVmO2lmKGEpe3QucHV0KGkse2RhdGE6IiJ9KTtyLnNldCgiU2l6ZSIsaS5udW0rMSk7ci5zZXRJZk5hbWUoIlR5cGUiLCJYUmVmIil9ZWxzZSByLnNldCgiU2l6ZSIsaS5udW0pO251bGwhPT1lLnJvb3RSZWYmJnIuc2V0KCJSb290IixlLnJvb3RSZWYpO251bGwhPT1lLmluZm9SZWYmJnIuc2V0KCJJbmZvIixlLmluZm9SZWYpO251bGwhPT1lLmVuY3J5cHRSZWYmJnIuc2V0KCJFbmNyeXB0IixlLmVuY3J5cHRSZWYpO3JldHVybiByfSh0LGEsdSksZj1bXSxnPWF3YWl0IGFzeW5jIGZ1bmN0aW9uIHdyaXRlQ2hhbmdlcyhlLHQsYT1bXSl7Y29uc3Qgcj1bXTtmb3IoY29uc3RbaSx7ZGF0YTpufV1vZiBlLml0ZW1zKCkpaWYobnVsbCE9PW4mJiJzdHJpbmciIT10eXBlb2Ygbil7YXdhaXQgd3JpdGVPYmplY3QoaSxuLGEsdCk7ci5wdXNoKHtyZWY6aSxkYXRhOmEuam9pbigiIil9KTthLmxlbmd0aD0wfWVsc2Ugci5wdXNoKHtyZWY6aSxkYXRhOm59KTtyZXR1cm4gci5zb3J0KCgoZSx0KT0+ZS5yZWYubnVtLXQucmVmLm51bSkpfShhLHIsZik7bGV0IHA9ZS5sZW5ndGg7Y29uc3QgbT1lLmF0KC0xKTtpZigxMCE9PW0mJjEzIT09bSl7Zi5wdXNoKCJcbiIpO3ArPTF9Zm9yKGNvbnN0e2RhdGE6ZX1vZiBnKW51bGwhPT1lJiZmLnB1c2goZSk7YXdhaXQodT9hc3luYyBmdW5jdGlvbiBnZXRYUmVmU3RyZWFtVGFibGUoZSx0LGEscixpKXtjb25zdCBuPVtdO2xldCBzPTAsbz0wO2Zvcihjb25zdHtyZWY6ZSxkYXRhOnJ9b2YgYSl7bGV0IGE7cz1NYXRoLm1heChzLHQpO2lmKG51bGwhPT1yKXthPU1hdGgubWluKGUuZ2VuLDY1NTM1KTtuLnB1c2goWzEsdCxhXSk7dCs9ci5sZW5ndGh9ZWxzZXthPU1hdGgubWluKGUuZ2VuKzEsNjU1MzUpO24ucHVzaChbMCwwLGFdKX1vPU1hdGgubWF4KG8sYSl9ci5zZXQoIkluZGV4IixnZXRJbmRleGVzKGEpKTtjb25zdCBjPVsxLGdldFNpemVJbkJ5dGVzKHMpLGdldFNpemVJbkJ5dGVzKG8pXTtyLnNldCgiVyIsYyk7Y29tcHV0ZUlEcyh0LGUscik7Y29uc3QgbD1NYXRoLnN1bVByZWNpc2UoYyksaD1uZXcgVWludDhBcnJheShsKm4ubGVuZ3RoKSx1PW5ldyBTdHJlYW0oaCk7dS5kaWN0PXI7bGV0IGQ9MDtmb3IoY29uc3RbZSx0LGFdb2Ygbil7ZD13cml0ZUludChlLGNbMF0sZCxoKTtkPXdyaXRlSW50KHQsY1sxXSxkLGgpO2Q9d3JpdGVJbnQoYSxjWzJdLGQsaCl9YXdhaXQgd3JpdGVPYmplY3QoZS5uZXdSZWYsdSxpLHt9KTtpLnB1c2goInN0YXJ0eHJlZlxuIix0LnRvU3RyaW5nKCksIlxuJSVFT0ZcbiIpfSh0LHAsZyxkLGYpOmFzeW5jIGZ1bmN0aW9uIGdldFhSZWZUYWJsZShlLHQsYSxyLGkpe2kucHVzaCgieHJlZlxuIik7Y29uc3Qgbj1nZXRJbmRleGVzKGEpO2xldCBzPTA7Zm9yKGNvbnN0e3JlZjplLGRhdGE6cn1vZiBhKXtpZihlLm51bT09PW5bc10pe2kucHVzaChgJHtuW3NdfSAke25bcysxXX1cbmApO3MrPTJ9aWYobnVsbCE9PXIpe2kucHVzaChgJHt0LnRvU3RyaW5nKCkucGFkU3RhcnQoMTAsIjAiKX0gJHtNYXRoLm1pbihlLmdlbiw2NTUzNSkudG9TdHJpbmcoKS5wYWRTdGFydCg1LCIwIil9IG5cclxuYCk7dCs9ci5sZW5ndGh9ZWxzZSBpLnB1c2goYDAwMDAwMDAwMDAgJHtNYXRoLm1pbihlLmdlbisxLDY1NTM1KS50b1N0cmluZygpLnBhZFN0YXJ0KDUsIjAiKX0gZlxyXG5gKX1jb21wdXRlSURzKHQsZSxyKTtpLnB1c2goInRyYWlsZXJcbiIpO2F3YWl0IHdyaXRlRGljdChyLGkpO2kucHVzaCgiXG5zdGFydHhyZWZcbiIsdC50b1N0cmluZygpLCJcbiUlRU9GXG4iKX0odCxwLGcsZCxmKSk7Y29uc3QgYj1lLmxlbmd0aCtNYXRoLnN1bVByZWNpc2UoZi5tYXAoKGU9PmUubGVuZ3RoKSkpLHk9bmV3IFVpbnQ4QXJyYXkoYik7eS5zZXQoZSk7bGV0IHc9ZS5sZW5ndGg7Zm9yKGNvbnN0IGUgb2YgZil3PXdyaXRlU3RyaW5nKGUsdyx5KTtyZXR1cm4geX1jbGFzcyBQREZXb3JrZXJTdHJlYW17Y29uc3RydWN0b3IoZSl7dGhpcy5fbXNnSGFuZGxlcj1lO3RoaXMuX2NvbnRlbnRMZW5ndGg9bnVsbDt0aGlzLl9mdWxsUmVxdWVzdFJlYWRlcj1udWxsO3RoaXMuX3JhbmdlUmVxdWVzdFJlYWRlcnM9W119Z2V0RnVsbFJlYWRlcigpe2Fzc2VydCghdGhpcy5fZnVsbFJlcXVlc3RSZWFkZXIsIlBERldvcmtlclN0cmVhbS5nZXRGdWxsUmVhZGVyIGNhbiBvbmx5IGJlIGNhbGxlZCBvbmNlLiIpO3RoaXMuX2Z1bGxSZXF1ZXN0UmVhZGVyPW5ldyBQREZXb3JrZXJTdHJlYW1SZWFkZXIodGhpcy5fbXNnSGFuZGxlcik7cmV0dXJuIHRoaXMuX2Z1bGxSZXF1ZXN0UmVhZGVyfWdldFJhbmdlUmVhZGVyKGUsdCl7Y29uc3QgYT1uZXcgUERGV29ya2VyU3RyZWFtUmFuZ2VSZWFkZXIoZSx0LHRoaXMuX21zZ0hhbmRsZXIpO3RoaXMuX3JhbmdlUmVxdWVzdFJlYWRlcnMucHVzaChhKTtyZXR1cm4gYX1jYW5jZWxBbGxSZXF1ZXN0cyhlKXt0aGlzLl9mdWxsUmVxdWVzdFJlYWRlcj8uY2FuY2VsKGUpO2Zvcihjb25zdCB0IG9mIHRoaXMuX3JhbmdlUmVxdWVzdFJlYWRlcnMuc2xpY2UoMCkpdC5jYW5jZWwoZSl9fWNsYXNzIFBERldvcmtlclN0cmVhbVJlYWRlcntjb25zdHJ1Y3RvcihlKXt0aGlzLl9tc2dIYW5kbGVyPWU7dGhpcy5vblByb2dyZXNzPW51bGw7dGhpcy5fY29udGVudExlbmd0aD1udWxsO3RoaXMuX2lzUmFuZ2VTdXBwb3J0ZWQ9ITE7dGhpcy5faXNTdHJlYW1pbmdTdXBwb3J0ZWQ9ITE7Y29uc3QgdD10aGlzLl9tc2dIYW5kbGVyLnNlbmRXaXRoU3RyZWFtKCJHZXRSZWFkZXIiKTt0aGlzLl9yZWFkZXI9dC5nZXRSZWFkZXIoKTt0aGlzLl9oZWFkZXJzUmVhZHk9dGhpcy5fbXNnSGFuZGxlci5zZW5kV2l0aFByb21pc2UoIlJlYWRlckhlYWRlcnNSZWFkeSIpLnRoZW4oKGU9Pnt0aGlzLl9pc1N0cmVhbWluZ1N1cHBvcnRlZD1lLmlzU3RyZWFtaW5nU3VwcG9ydGVkO3RoaXMuX2lzUmFuZ2VTdXBwb3J0ZWQ9ZS5pc1JhbmdlU3VwcG9ydGVkO3RoaXMuX2NvbnRlbnRMZW5ndGg9ZS5jb250ZW50TGVuZ3RofSkpfWdldCBoZWFkZXJzUmVhZHkoKXtyZXR1cm4gdGhpcy5faGVhZGVyc1JlYWR5fWdldCBjb250ZW50TGVuZ3RoKCl7cmV0dXJuIHRoaXMuX2NvbnRlbnRMZW5ndGh9Z2V0IGlzU3RyZWFtaW5nU3VwcG9ydGVkKCl7cmV0dXJuIHRoaXMuX2lzU3RyZWFtaW5nU3VwcG9ydGVkfWdldCBpc1JhbmdlU3VwcG9ydGVkKCl7cmV0dXJuIHRoaXMuX2lzUmFuZ2VTdXBwb3J0ZWR9YXN5bmMgcmVhZCgpe2NvbnN0e3ZhbHVlOmUsZG9uZTp0fT1hd2FpdCB0aGlzLl9yZWFkZXIucmVhZCgpO3JldHVybiB0P3t2YWx1ZTp2b2lkIDAsZG9uZTohMH06e3ZhbHVlOmUuYnVmZmVyLGRvbmU6ITF9fWNhbmNlbChlKXt0aGlzLl9yZWFkZXIuY2FuY2VsKGUpfX1jbGFzcyBQREZXb3JrZXJTdHJlYW1SYW5nZVJlYWRlcntjb25zdHJ1Y3RvcihlLHQsYSl7dGhpcy5fbXNnSGFuZGxlcj1hO3RoaXMub25Qcm9ncmVzcz1udWxsO2NvbnN0IHI9dGhpcy5fbXNnSGFuZGxlci5zZW5kV2l0aFN0cmVhbSgiR2V0UmFuZ2VSZWFkZXIiLHtiZWdpbjplLGVuZDp0fSk7dGhpcy5fcmVhZGVyPXIuZ2V0UmVhZGVyKCl9Z2V0IGlzU3RyZWFtaW5nU3VwcG9ydGVkKCl7cmV0dXJuITF9YXN5bmMgcmVhZCgpe2NvbnN0e3ZhbHVlOmUsZG9uZTp0fT1hd2FpdCB0aGlzLl9yZWFkZXIucmVhZCgpO3JldHVybiB0P3t2YWx1ZTp2b2lkIDAsZG9uZTohMH06e3ZhbHVlOmUuYnVmZmVyLGRvbmU6ITF9fWNhbmNlbChlKXt0aGlzLl9yZWFkZXIuY2FuY2VsKGUpfX1jbGFzcyBXb3JrZXJUYXNre2NvbnN0cnVjdG9yKGUpe3RoaXMubmFtZT1lO3RoaXMudGVybWluYXRlZD0hMTt0aGlzLl9jYXBhYmlsaXR5PVByb21pc2Uud2l0aFJlc29sdmVycygpfWdldCBmaW5pc2hlZCgpe3JldHVybiB0aGlzLl9jYXBhYmlsaXR5LnByb21pc2V9ZmluaXNoKCl7dGhpcy5fY2FwYWJpbGl0eS5yZXNvbHZlKCl9dGVybWluYXRlKCl7dGhpcy50ZXJtaW5hdGVkPSEwfWVuc3VyZU5vdFRlcm1pbmF0ZWQoKXtpZih0aGlzLnRlcm1pbmF0ZWQpdGhyb3cgbmV3IEVycm9yKCJXb3JrZXIgdGFzayB3YXMgdGVybWluYXRlZCIpfX1jbGFzcyBXb3JrZXJNZXNzYWdlSGFuZGxlcntzdGF0aWN7InVuZGVmaW5lZCI9PXR5cGVvZiB3aW5kb3cmJiFlJiYidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGYmJiJmdW5jdGlvbiI9PXR5cGVvZiBzZWxmLnBvc3RNZXNzYWdlJiYib25tZXNzYWdlImluIHNlbGYmJnRoaXMuaW5pdGlhbGl6ZUZyb21Qb3J0KHNlbGYpfXN0YXRpYyBzZXR1cChlLHQpe2xldCBhPSExO2Uub24oInRlc3QiLCh0PT57aWYoIWEpe2E9ITA7ZS5zZW5kKCJ0ZXN0Iix0IGluc3RhbmNlb2YgVWludDhBcnJheSl9fSkpO2Uub24oImNvbmZpZ3VyZSIsKGU9PnshZnVuY3Rpb24gc2V0VmVyYm9zaXR5TGV2ZWwoZSl7TnVtYmVyLmlzSW50ZWdlcihlKSYmKEt0PWUpfShlLnZlcmJvc2l0eSl9KSk7ZS5vbigiR2V0RG9jUmVxdWVzdCIsKGU9PnRoaXMuY3JlYXRlRG9jdW1lbnRIYW5kbGVyKGUsdCkpKX1zdGF0aWMgY3JlYXRlRG9jdW1lbnRIYW5kbGVyKGUsdCl7bGV0IGEscj0hMSxpPW51bGw7Y29uc3Qgbj1uZXcgU2V0LHM9Z2V0VmVyYm9zaXR5TGV2ZWwoKSx7ZG9jSWQ6byxhcGlWZXJzaW9uOmN9PWUsbD0iNS40LjE0OSI7aWYoYyE9PWwpdGhyb3cgbmV3IEVycm9yKGBUaGUgQVBJIHZlcnNpb24gIiR7Y30iIGRvZXMgbm90IG1hdGNoIHRoZSBXb3JrZXIgdmVyc2lvbiAiJHtsfSIuYCk7Y29uc3QgYnVpbGRNc2c9KGUsdCk9PmBUaGUgXGAke2V9LnByb3RvdHlwZVxgIGNvbnRhaW5zIHVuZXhwZWN0ZWQgZW51bWVyYWJsZSBwcm9wZXJ0eSAiJHt0fSIsIHRodXMgYnJlYWtpbmcgZS5nLiBcYGZvci4uLmluXGAgaXRlcmF0aW9uIG9mICR7ZX1zLmA7Zm9yKGNvbnN0IGUgaW57fSl0aHJvdyBuZXcgRXJyb3IoYnVpbGRNc2coIk9iamVjdCIsZSkpO2Zvcihjb25zdCBlIGluW10pdGhyb3cgbmV3IEVycm9yKGJ1aWxkTXNnKCJBcnJheSIsZSkpO2NvbnN0IGg9bysiX3dvcmtlciI7bGV0IHU9bmV3IE1lc3NhZ2VIYW5kbGVyKGgsbyx0KTtmdW5jdGlvbiBlbnN1cmVOb3RUZXJtaW5hdGVkKCl7aWYocil0aHJvdyBuZXcgRXJyb3IoIldvcmtlciB3YXMgdGVybWluYXRlZCIpfWZ1bmN0aW9uIHN0YXJ0V29ya2VyVGFzayhlKXtuLmFkZChlKX1mdW5jdGlvbiBmaW5pc2hXb3JrZXJUYXNrKGUpe2UuZmluaXNoKCk7bi5kZWxldGUoZSl9YXN5bmMgZnVuY3Rpb24gbG9hZERvY3VtZW50KGUpe2F3YWl0IGEuZW5zdXJlRG9jKCJjaGVja0hlYWRlciIpO2F3YWl0IGEuZW5zdXJlRG9jKCJwYXJzZVN0YXJ0WFJlZiIpO2F3YWl0IGEuZW5zdXJlRG9jKCJwYXJzZSIsW2VdKTthd2FpdCBhLmVuc3VyZURvYygiY2hlY2tGaXJzdFBhZ2UiLFtlXSk7YXdhaXQgYS5lbnN1cmVEb2MoImNoZWNrTGFzdFBhZ2UiLFtlXSk7Y29uc3QgdD1hd2FpdCBhLmVuc3VyZURvYygiaXNQdXJlWGZhIik7aWYodCl7Y29uc3QgZT1uZXcgV29ya2VyVGFzaygibG9hZFhmYVJlc291cmNlcyIpO3N0YXJ0V29ya2VyVGFzayhlKTthd2FpdCBhLmVuc3VyZURvYygibG9hZFhmYVJlc291cmNlcyIsW3UsZV0pO2ZpbmlzaFdvcmtlclRhc2soZSl9Y29uc3RbcixpXT1hd2FpdCBQcm9taXNlLmFsbChbYS5lbnN1cmVEb2MoIm51bVBhZ2VzIiksYS5lbnN1cmVEb2MoImZpbmdlcnByaW50cyIpXSk7cmV0dXJue251bVBhZ2VzOnIsZmluZ2VycHJpbnRzOmksaHRtbEZvclhmYTp0P2F3YWl0IGEuZW5zdXJlRG9jKCJodG1sRm9yWGZhIik6bnVsbH19ZnVuY3Rpb24gc2V0dXBEb2MoZSl7ZnVuY3Rpb24gb25TdWNjZXNzKGUpe2Vuc3VyZU5vdFRlcm1pbmF0ZWQoKTt1LnNlbmQoIkdldERvYyIse3BkZkluZm86ZX0pfWZ1bmN0aW9uIG9uRmFpbHVyZShlKXtlbnN1cmVOb3RUZXJtaW5hdGVkKCk7aWYoZSBpbnN0YW5jZW9mIFBhc3N3b3JkRXhjZXB0aW9uKXtjb25zdCB0PW5ldyBXb3JrZXJUYXNrKGBQYXNzd29yZEV4Y2VwdGlvbjogcmVzcG9uc2UgJHtlLmNvZGV9YCk7c3RhcnRXb3JrZXJUYXNrKHQpO3Uuc2VuZFdpdGhQcm9taXNlKCJQYXNzd29yZFJlcXVlc3QiLGUpLnRoZW4oKGZ1bmN0aW9uKHtwYXNzd29yZDplfSl7ZmluaXNoV29ya2VyVGFzayh0KTthLnVwZGF0ZVBhc3N3b3JkKGUpO3BkZk1hbmFnZXJSZWFkeSgpfSkpLmNhdGNoKChmdW5jdGlvbigpe2ZpbmlzaFdvcmtlclRhc2sodCk7dS5zZW5kKCJEb2NFeGNlcHRpb24iLGUpfSkpfWVsc2UgdS5zZW5kKCJEb2NFeGNlcHRpb24iLHdyYXBSZWFzb24oZSkpfWZ1bmN0aW9uIHBkZk1hbmFnZXJSZWFkeSgpe2Vuc3VyZU5vdFRlcm1pbmF0ZWQoKTtsb2FkRG9jdW1lbnQoITEpLnRoZW4ob25TdWNjZXNzLChmdW5jdGlvbihlKXtlbnN1cmVOb3RUZXJtaW5hdGVkKCk7ZSBpbnN0YW5jZW9mIFhSZWZQYXJzZUV4Y2VwdGlvbj9hLnJlcXVlc3RMb2FkZWRTdHJlYW0oKS50aGVuKChmdW5jdGlvbigpe2Vuc3VyZU5vdFRlcm1pbmF0ZWQoKTtsb2FkRG9jdW1lbnQoITApLnRoZW4ob25TdWNjZXNzLG9uRmFpbHVyZSl9KSk6b25GYWlsdXJlKGUpfSkpfWVuc3VyZU5vdFRlcm1pbmF0ZWQoKTsoYXN5bmMgZnVuY3Rpb24gZ2V0UGRmTWFuYWdlcih7ZGF0YTplLHBhc3N3b3JkOnQsZGlzYWJsZUF1dG9GZXRjaDphLHJhbmdlQ2h1bmtTaXplOnIsbGVuZ3RoOm4sZG9jQmFzZVVybDpzLGVuYWJsZVhmYTpjLGV2YWx1YXRvck9wdGlvbnM6bH0pe2NvbnN0IGg9e3NvdXJjZTpudWxsLGRpc2FibGVBdXRvRmV0Y2g6YSxkb2NCYXNlVXJsOnMsZG9jSWQ6byxlbmFibGVYZmE6YyxldmFsdWF0b3JPcHRpb25zOmwsaGFuZGxlcjp1LGxlbmd0aDpuLHBhc3N3b3JkOnQscmFuZ2VDaHVua1NpemU6cn07aWYoZSl7aC5zb3VyY2U9ZTtyZXR1cm4gbmV3IExvY2FsUGRmTWFuYWdlcihoKX1jb25zdCBkPW5ldyBQREZXb3JrZXJTdHJlYW0odSksZj1kLmdldEZ1bGxSZWFkZXIoKSxnPVByb21pc2Uud2l0aFJlc29sdmVycygpO2xldCBwLG09W10sYj0wO2YuaGVhZGVyc1JlYWR5LnRoZW4oKGZ1bmN0aW9uKCl7aWYoZi5pc1JhbmdlU3VwcG9ydGVkKXtoLnNvdXJjZT1kO2gubGVuZ3RoPWYuY29udGVudExlbmd0aDtoLmRpc2FibGVBdXRvRmV0Y2h8fD1mLmlzU3RyZWFtaW5nU3VwcG9ydGVkO3A9bmV3IE5ldHdvcmtQZGZNYW5hZ2VyKGgpO2Zvcihjb25zdCBlIG9mIG0pcC5zZW5kUHJvZ3Jlc3NpdmVEYXRhKGUpO209W107Zy5yZXNvbHZlKHApO2k9bnVsbH19KSkuY2F0Y2goKGZ1bmN0aW9uKGUpe2cucmVqZWN0KGUpO2k9bnVsbH0pKTtuZXcgUHJvbWlzZSgoZnVuY3Rpb24oZSx0KXtjb25zdCByZWFkQ2h1bms9ZnVuY3Rpb24oe3ZhbHVlOmUsZG9uZTphfSl7dHJ5e2Vuc3VyZU5vdFRlcm1pbmF0ZWQoKTtpZihhKXtpZighcCl7Y29uc3QgZT1hcnJheUJ1ZmZlcnNUb0J5dGVzKG0pO209W107biYmZS5sZW5ndGghPT1uJiZ3YXJuKCJyZXBvcnRlZCBIVFRQIGxlbmd0aCBpcyBkaWZmZXJlbnQgZnJvbSBhY3R1YWwiKTtoLnNvdXJjZT1lO3A9bmV3IExvY2FsUGRmTWFuYWdlcihoKTtnLnJlc29sdmUocCl9aT1udWxsO3JldHVybn1iKz1lLmJ5dGVMZW5ndGg7Zi5pc1N0cmVhbWluZ1N1cHBvcnRlZHx8dS5zZW5kKCJEb2NQcm9ncmVzcyIse2xvYWRlZDpiLHRvdGFsOk1hdGgubWF4KGIsZi5jb250ZW50TGVuZ3RofHwwKX0pO3A/cC5zZW5kUHJvZ3Jlc3NpdmVEYXRhKGUpOm0ucHVzaChlKTtmLnJlYWQoKS50aGVuKHJlYWRDaHVuayx0KX1jYXRjaChlKXt0KGUpfX07Zi5yZWFkKCkudGhlbihyZWFkQ2h1bmssdCl9KSkuY2F0Y2goKGZ1bmN0aW9uKGUpe2cucmVqZWN0KGUpO2k9bnVsbH0pKTtpPWU9PntkLmNhbmNlbEFsbFJlcXVlc3RzKGUpfTtyZXR1cm4gZy5wcm9taXNlfSkoZSkudGhlbigoZnVuY3Rpb24oZSl7aWYocil7ZS50ZXJtaW5hdGUobmV3IEFib3J0RXhjZXB0aW9uKCJXb3JrZXIgd2FzIHRlcm1pbmF0ZWQuIikpO3Rocm93IG5ldyBFcnJvcigiV29ya2VyIHdhcyB0ZXJtaW5hdGVkIil9YT1lO2EucmVxdWVzdExvYWRlZFN0cmVhbSghMCkudGhlbigoZT0+e3Uuc2VuZCgiRGF0YUxvYWRlZCIse2xlbmd0aDplLmJ5dGVzLmJ5dGVMZW5ndGh9KX0pKX0pKS50aGVuKHBkZk1hbmFnZXJSZWFkeSxvbkZhaWx1cmUpfXUub24oIkdldFBhZ2UiLChmdW5jdGlvbihlKXtyZXR1cm4gYS5nZXRQYWdlKGUucGFnZUluZGV4KS50aGVuKChmdW5jdGlvbihlKXtyZXR1cm4gUHJvbWlzZS5hbGwoW2EuZW5zdXJlKGUsInJvdGF0ZSIpLGEuZW5zdXJlKGUsInJlZiIpLGEuZW5zdXJlKGUsInVzZXJVbml0IiksYS5lbnN1cmUoZSwidmlldyIpXSkudGhlbigoZnVuY3Rpb24oW2UsdCxhLHJdKXtyZXR1cm57cm90YXRlOmUscmVmOnQscmVmU3RyOnQ/LnRvU3RyaW5nKCk/P251bGwsdXNlclVuaXQ6YSx2aWV3OnJ9fSkpfSkpfSkpO3Uub24oIkdldFBhZ2VJbmRleCIsKGZ1bmN0aW9uKGUpe2NvbnN0IHQ9UmVmLmdldChlLm51bSxlLmdlbik7cmV0dXJuIGEuZW5zdXJlQ2F0YWxvZygiZ2V0UGFnZUluZGV4IixbdF0pfSkpO3Uub24oIkdldERlc3RpbmF0aW9ucyIsKGZ1bmN0aW9uKGUpe3JldHVybiBhLmVuc3VyZUNhdGFsb2coImRlc3RpbmF0aW9ucyIpfSkpO3Uub24oIkdldERlc3RpbmF0aW9uIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGEuZW5zdXJlQ2F0YWxvZygiZ2V0RGVzdGluYXRpb24iLFtlLmlkXSl9KSk7dS5vbigiR2V0UGFnZUxhYmVscyIsKGZ1bmN0aW9uKGUpe3JldHVybiBhLmVuc3VyZUNhdGFsb2coInBhZ2VMYWJlbHMiKX0pKTt1Lm9uKCJHZXRQYWdlTGF5b3V0IiwoZnVuY3Rpb24oZSl7cmV0dXJuIGEuZW5zdXJlQ2F0YWxvZygicGFnZUxheW91dCIpfSkpO3Uub24oIkdldFBhZ2VNb2RlIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGEuZW5zdXJlQ2F0YWxvZygicGFnZU1vZGUiKX0pKTt1Lm9uKCJHZXRWaWV3ZXJQcmVmZXJlbmNlcyIsKGZ1bmN0aW9uKGUpe3JldHVybiBhLmVuc3VyZUNhdGFsb2coInZpZXdlclByZWZlcmVuY2VzIil9KSk7dS5vbigiR2V0T3BlbkFjdGlvbiIsKGZ1bmN0aW9uKGUpe3JldHVybiBhLmVuc3VyZUNhdGFsb2coIm9wZW5BY3Rpb24iKX0pKTt1Lm9uKCJHZXRBdHRhY2htZW50cyIsKGZ1bmN0aW9uKGUpe3JldHVybiBhLmVuc3VyZUNhdGFsb2coImF0dGFjaG1lbnRzIil9KSk7dS5vbigiR2V0RG9jSlNBY3Rpb25zIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGEuZW5zdXJlQ2F0YWxvZygianNBY3Rpb25zIil9KSk7dS5vbigiR2V0UGFnZUpTQWN0aW9ucyIsKGZ1bmN0aW9uKHtwYWdlSW5kZXg6ZX0pe3JldHVybiBhLmdldFBhZ2UoZSkudGhlbigoZT0+YS5lbnN1cmUoZSwianNBY3Rpb25zIikpKX0pKTt1Lm9uKCJHZXRBbm5vdGF0aW9uc0J5VHlwZSIsKGFzeW5jIGZ1bmN0aW9uKHt0eXBlczplLHBhZ2VJbmRleGVzVG9Ta2lwOnR9KXtjb25zdFtyLGldPWF3YWl0IFByb21pc2UuYWxsKFthLmVuc3VyZURvYygibnVtUGFnZXMiKSxhLmVuc3VyZURvYygiYW5ub3RhdGlvbkdsb2JhbHMiKV0pO2lmKCFpKXJldHVybiBudWxsO2NvbnN0IG49W10scz1bXTtsZXQgbz1udWxsO3RyeXtmb3IobGV0IGM9MCxsPXI7YzxsO2MrKylpZighdD8uaGFzKGMpKXtpZighbyl7bz1uZXcgV29ya2VyVGFzaygiR2V0QW5ub3RhdGlvbnNCeVR5cGUiKTtzdGFydFdvcmtlclRhc2sobyl9bi5wdXNoKGEuZ2V0UGFnZShjKS50aGVuKChhc3luYyB0PT50JiZ0LmNvbGxlY3RBbm5vdGF0aW9uc0J5VHlwZSh1LG8sZSxzLGkpfHxbXSkpKX1hd2FpdCBQcm9taXNlLmFsbChuKTtyZXR1cm4oYXdhaXQgUHJvbWlzZS5hbGwocykpLmZpbHRlcigoZT0+ISFlKSl9ZmluYWxseXtvJiZmaW5pc2hXb3JrZXJUYXNrKG8pfX0pKTt1Lm9uKCJHZXRPdXRsaW5lIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGEuZW5zdXJlQ2F0YWxvZygiZG9jdW1lbnRPdXRsaW5lIil9KSk7dS5vbigiR2V0T3B0aW9uYWxDb250ZW50Q29uZmlnIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGEuZW5zdXJlQ2F0YWxvZygib3B0aW9uYWxDb250ZW50Q29uZmlnIil9KSk7dS5vbigiR2V0UGVybWlzc2lvbnMiLChmdW5jdGlvbihlKXtyZXR1cm4gYS5lbnN1cmVDYXRhbG9nKCJwZXJtaXNzaW9ucyIpfSkpO3Uub24oIkdldE1ldGFkYXRhIiwoZnVuY3Rpb24oZSl7cmV0dXJuIFByb21pc2UuYWxsKFthLmVuc3VyZURvYygiZG9jdW1lbnRJbmZvIiksYS5lbnN1cmVDYXRhbG9nKCJtZXRhZGF0YSIpXSl9KSk7dS5vbigiR2V0TWFya0luZm8iLChmdW5jdGlvbihlKXtyZXR1cm4gYS5lbnN1cmVDYXRhbG9nKCJtYXJrSW5mbyIpfSkpO3Uub24oIkdldERhdGEiLChmdW5jdGlvbihlKXtyZXR1cm4gYS5yZXF1ZXN0TG9hZGVkU3RyZWFtKCkudGhlbigoZT0+ZS5ieXRlcykpfSkpO3Uub24oIkdldEFubm90YXRpb25zIiwoZnVuY3Rpb24oe3BhZ2VJbmRleDplLGludGVudDp0fSl7cmV0dXJuIGEuZ2V0UGFnZShlKS50aGVuKChmdW5jdGlvbihhKXtjb25zdCByPW5ldyBXb3JrZXJUYXNrKGBHZXRBbm5vdGF0aW9uczogcGFnZSAke2V9YCk7c3RhcnRXb3JrZXJUYXNrKHIpO3JldHVybiBhLmdldEFubm90YXRpb25zRGF0YSh1LHIsdCkudGhlbigoZT0+e2ZpbmlzaFdvcmtlclRhc2socik7cmV0dXJuIGV9KSwoZT0+e2ZpbmlzaFdvcmtlclRhc2socik7dGhyb3cgZX0pKX0pKX0pKTt1Lm9uKCJHZXRGaWVsZE9iamVjdHMiLChmdW5jdGlvbihlKXtyZXR1cm4gYS5lbnN1cmVEb2MoImZpZWxkT2JqZWN0cyIpLnRoZW4oKGU9PmU/LmFsbEZpZWxkc3x8bnVsbCkpfSkpO3Uub24oIkhhc0pTQWN0aW9ucyIsKGZ1bmN0aW9uKGUpe3JldHVybiBhLmVuc3VyZURvYygiaGFzSlNBY3Rpb25zIil9KSk7dS5vbigiR2V0Q2FsY3VsYXRpb25PcmRlcklkcyIsKGZ1bmN0aW9uKGUpe3JldHVybiBhLmVuc3VyZURvYygiY2FsY3VsYXRpb25PcmRlcklkcyIpfSkpO3Uub24oIlNhdmVEb2N1bWVudCIsKGFzeW5jIGZ1bmN0aW9uKHtpc1B1cmVYZmE6ZSxudW1QYWdlczp0LGFubm90YXRpb25TdG9yYWdlOnIsZmlsZW5hbWU6aX0pe2NvbnN0IG49W2EucmVxdWVzdExvYWRlZFN0cmVhbSgpLGEuZW5zdXJlQ2F0YWxvZygiYWNyb0Zvcm0iKSxhLmVuc3VyZUNhdGFsb2coImFjcm9Gb3JtUmVmIiksYS5lbnN1cmVEb2MoInN0YXJ0WFJlZiIpLGEuZW5zdXJlRG9jKCJ4cmVmIiksYS5lbnN1cmVEb2MoImxpbmVhcml6YXRpb24iKSxhLmVuc3VyZUNhdGFsb2coInN0cnVjdFRyZWVSb290IildLHM9bmV3IFJlZlNldENhY2hlLG89W10sYz1lP251bGw6Z2V0TmV3QW5ub3RhdGlvbnNNYXAociksW2wsaCxkLGYsZyxwLG1dPWF3YWl0IFByb21pc2UuYWxsKG4pLGI9Zy50cmFpbGVyLmdldFJhdygiUm9vdCIpfHxudWxsO2xldCB5O2lmKGMpe20/YXdhaXQgbS5jYW5VcGRhdGVTdHJ1Y3RUcmVlKHtwZGZNYW5hZ2VyOmEsbmV3QW5ub3RhdGlvbnNCeVBhZ2U6Y30pJiYoeT1tKTphd2FpdCBTdHJ1Y3RUcmVlUm9vdC5jYW5DcmVhdGVTdHJ1Y3R1cmVUcmVlKHtjYXRhbG9nUmVmOmIscGRmTWFuYWdlcjphLG5ld0Fubm90YXRpb25zQnlQYWdlOmN9KSYmKHk9bnVsbCk7Y29uc3QgZT1Bbm5vdGF0aW9uRmFjdG9yeS5nZW5lcmF0ZUltYWdlcyhyLnZhbHVlcygpLGcsYS5ldmFsdWF0b3JPcHRpb25zLmlzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkKSx0PXZvaWQgMD09PXk/bzpbXTtmb3IoY29uc3RbcixpXW9mIGMpdC5wdXNoKGEuZ2V0UGFnZShyKS50aGVuKCh0PT57Y29uc3QgYT1uZXcgV29ya2VyVGFzayhgU2F2ZSAoZWRpdG9yKTogcGFnZSAke3J9YCk7c3RhcnRXb3JrZXJUYXNrKGEpO3JldHVybiB0LnNhdmVOZXdBbm5vdGF0aW9ucyh1LGEsaSxlLHMpLmZpbmFsbHkoKGZ1bmN0aW9uKCl7ZmluaXNoV29ya2VyVGFzayhhKX0pKX0pKSk7bnVsbD09PXk/by5wdXNoKFByb21pc2UuYWxsKHQpLnRoZW4oKGFzeW5jKCk9Pnthd2FpdCBTdHJ1Y3RUcmVlUm9vdC5jcmVhdGVTdHJ1Y3R1cmVUcmVlKHtuZXdBbm5vdGF0aW9uc0J5UGFnZTpjLHhyZWY6ZyxjYXRhbG9nUmVmOmIscGRmTWFuYWdlcjphLGNoYW5nZXM6c30pfSkpKTp5JiZvLnB1c2goUHJvbWlzZS5hbGwodCkudGhlbigoYXN5bmMoKT0+e2F3YWl0IHkudXBkYXRlU3RydWN0dXJlVHJlZSh7bmV3QW5ub3RhdGlvbnNCeVBhZ2U6YyxwZGZNYW5hZ2VyOmEsY2hhbmdlczpzfSl9KSkpfWlmKGUpby5wdXNoKGEuZW5zdXJlRG9jKCJzZXJpYWxpemVYZmFEYXRhIixbcl0pKTtlbHNlIGZvcihsZXQgZT0wO2U8dDtlKyspby5wdXNoKGEuZ2V0UGFnZShlKS50aGVuKChmdW5jdGlvbih0KXtjb25zdCBhPW5ldyBXb3JrZXJUYXNrKGBTYXZlOiBwYWdlICR7ZX1gKTtzdGFydFdvcmtlclRhc2soYSk7cmV0dXJuIHQuc2F2ZSh1LGEscixzKS5maW5hbGx5KChmdW5jdGlvbigpe2ZpbmlzaFdvcmtlclRhc2soYSl9KSl9KSkpO2NvbnN0IHc9YXdhaXQgUHJvbWlzZS5hbGwobyk7bGV0IHg9bnVsbDtpZihlKXt4PXdbMF07aWYoIXgpcmV0dXJuIGwuYnl0ZXN9ZWxzZSBpZigwPT09cy5zaXplKXJldHVybiBsLmJ5dGVzO2NvbnN0IFM9ZCYmaCBpbnN0YW5jZW9mIERpY3QmJnMudmFsdWVzKCkuc29tZSgoZT0+ZS5uZWVkQXBwZWFyYW5jZXMpKSxrPWggaW5zdGFuY2VvZiBEaWN0JiZoLmdldCgiWEZBIil8fG51bGw7bGV0IEM9bnVsbCx2PSExO2lmKEFycmF5LmlzQXJyYXkoaykpe2ZvcihsZXQgZT0wLHQ9ay5sZW5ndGg7ZTx0O2UrPTIpaWYoImRhdGFzZXRzIj09PWtbZV0pe0M9a1tlKzFdO3Y9ITB9bnVsbD09PUMmJihDPWcuZ2V0TmV3VGVtcG9yYXJ5UmVmKCkpfWVsc2UgayYmd2FybigiVW5zdXBwb3J0ZWQgWEZBIHR5cGUuIik7bGV0IEY9T2JqZWN0LmNyZWF0ZShudWxsKTtpZihnLnRyYWlsZXIpe2NvbnN0IGU9bmV3IE1hcCx0PWcudHJhaWxlci5nZXQoIkluZm8iKXx8bnVsbDtpZih0IGluc3RhbmNlb2YgRGljdClmb3IoY29uc3RbYSxyXW9mIHQpInN0cmluZyI9PXR5cGVvZiByJiZlLnNldChhLHN0cmluZ1RvUERGU3RyaW5nKHIpKTtGPXtyb290UmVmOmIsZW5jcnlwdFJlZjpnLnRyYWlsZXIuZ2V0UmF3KCJFbmNyeXB0Iil8fG51bGwsbmV3UmVmOmcuZ2V0TmV3VGVtcG9yYXJ5UmVmKCksaW5mb1JlZjpnLnRyYWlsZXIuZ2V0UmF3KCJJbmZvIil8fG51bGwsaW5mb01hcDplLGZpbGVJZHM6Zy50cmFpbGVyLmdldCgiSUQiKXx8bnVsbCxzdGFydFhSZWY6cD9mOmcubGFzdFhSZWZTdHJlYW1Qb3M/P2YsZmlsZW5hbWU6aX19cmV0dXJuIGluY3JlbWVudGFsVXBkYXRlKHtvcmlnaW5hbERhdGE6bC5ieXRlcyx4cmVmSW5mbzpGLGNoYW5nZXM6cyx4cmVmOmcsaGFzWGZhOiEhayx4ZmFEYXRhc2V0c1JlZjpDLGhhc1hmYURhdGFzZXRzRW50cnk6dixuZWVkQXBwZWFyYW5jZXM6UyxhY3JvRm9ybVJlZjpkLGFjcm9Gb3JtOmgseGZhRGF0YTp4LHVzZVhyZWZTdHJlYW06aXNEaWN0KGcudG9wRGljdCwiWFJlZiIpfSkuZmluYWxseSgoKCk9PntnLnJlc2V0TmV3VGVtcG9yYXJ5UmVmKCl9KSl9KSk7dS5vbigiR2V0T3BlcmF0b3JMaXN0IiwoZnVuY3Rpb24oZSx0KXtjb25zdCByPWUucGFnZUluZGV4O2EuZ2V0UGFnZShyKS50aGVuKChmdW5jdGlvbihhKXtjb25zdCBpPW5ldyBXb3JrZXJUYXNrKGBHZXRPcGVyYXRvckxpc3Q6IHBhZ2UgJHtyfWApO3N0YXJ0V29ya2VyVGFzayhpKTtjb25zdCBuPXM+PW5lP0RhdGUubm93KCk6MDthLmdldE9wZXJhdG9yTGlzdCh7aGFuZGxlcjp1LHNpbms6dCx0YXNrOmksaW50ZW50OmUuaW50ZW50LGNhY2hlS2V5OmUuY2FjaGVLZXksYW5ub3RhdGlvblN0b3JhZ2U6ZS5hbm5vdGF0aW9uU3RvcmFnZSxtb2RpZmllZElkczplLm1vZGlmaWVkSWRzfSkudGhlbigoZnVuY3Rpb24oZSl7ZmluaXNoV29ya2VyVGFzayhpKTtuJiZpbmZvKGBwYWdlPSR7cisxfSAtIGdldE9wZXJhdG9yTGlzdDogdGltZT0ke0RhdGUubm93KCktbn1tcywgbGVuPSR7ZS5sZW5ndGh9YCk7dC5jbG9zZSgpfSksKGZ1bmN0aW9uKGUpe2ZpbmlzaFdvcmtlclRhc2soaSk7aS50ZXJtaW5hdGVkfHx0LmVycm9yKGUpfSkpfSkpfSkpO3Uub24oIkdldFRleHRDb250ZW50IiwoZnVuY3Rpb24oZSx0KXtjb25zdHtwYWdlSW5kZXg6cixpbmNsdWRlTWFya2VkQ29udGVudDppLGRpc2FibGVOb3JtYWxpemF0aW9uOm59PWU7YS5nZXRQYWdlKHIpLnRoZW4oKGZ1bmN0aW9uKGUpe2NvbnN0IGE9bmV3IFdvcmtlclRhc2soIkdldFRleHRDb250ZW50OiBwYWdlICIrcik7c3RhcnRXb3JrZXJUYXNrKGEpO2NvbnN0IG89cz49bmU/RGF0ZS5ub3coKTowO2UuZXh0cmFjdFRleHRDb250ZW50KHtoYW5kbGVyOnUsdGFzazphLHNpbms6dCxpbmNsdWRlTWFya2VkQ29udGVudDppLGRpc2FibGVOb3JtYWxpemF0aW9uOm59KS50aGVuKChmdW5jdGlvbigpe2ZpbmlzaFdvcmtlclRhc2soYSk7byYmaW5mbyhgcGFnZT0ke3IrMX0gLSBnZXRUZXh0Q29udGVudDogdGltZT1gKyhEYXRlLm5vdygpLW8pKyJtcyIpO3QuY2xvc2UoKX0pLChmdW5jdGlvbihlKXtmaW5pc2hXb3JrZXJUYXNrKGEpO2EudGVybWluYXRlZHx8dC5lcnJvcihlKX0pKX0pKX0pKTt1Lm9uKCJHZXRTdHJ1Y3RUcmVlIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGEuZ2V0UGFnZShlLnBhZ2VJbmRleCkudGhlbigoZT0+YS5lbnN1cmUoZSwiZ2V0U3RydWN0VHJlZSIpKSl9KSk7dS5vbigiRm9udEZhbGxiYWNrIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGEuZm9udEZhbGxiYWNrKGUuaWQsdSl9KSk7dS5vbigiQ2xlYW51cCIsKGZ1bmN0aW9uKGUpe3JldHVybiBhLmNsZWFudXAoITApfSkpO3Uub24oIlRlcm1pbmF0ZSIsKGZ1bmN0aW9uKGUpe3I9ITA7Y29uc3QgdD1bXTtpZihhKXthLnRlcm1pbmF0ZShuZXcgQWJvcnRFeGNlcHRpb24oIldvcmtlciB3YXMgdGVybWluYXRlZC4iKSk7Y29uc3QgZT1hLmNsZWFudXAoKTt0LnB1c2goZSk7YT1udWxsfWVsc2UgY2xlYXJHbG9iYWxDYWNoZXMoKTtpPy4obmV3IEFib3J0RXhjZXB0aW9uKCJXb3JrZXIgd2FzIHRlcm1pbmF0ZWQuIikpO2Zvcihjb25zdCBlIG9mIG4pe3QucHVzaChlLmZpbmlzaGVkKTtlLnRlcm1pbmF0ZSgpfXJldHVybiBQcm9taXNlLmFsbCh0KS50aGVuKChmdW5jdGlvbigpe3UuZGVzdHJveSgpO3U9bnVsbH0pKX0pKTt1Lm9uKCJSZWFkeSIsKGZ1bmN0aW9uKHQpe3NldHVwRG9jKGUpO2U9bnVsbH0pKTtyZXR1cm4gaH1zdGF0aWMgaW5pdGlhbGl6ZUZyb21Qb3J0KGUpe2NvbnN0IHQ9bmV3IE1lc3NhZ2VIYW5kbGVyKCJ3b3JrZXIiLCJtYWluIixlKTt0aGlzLnNldHVwKHQsZSk7dC5zZW5kKCJyZWFkeSIsbnVsbCl9fWdsb2JhbFRoaXMucGRmanNXb3JrZXI9e1dvcmtlck1lc3NhZ2VIYW5kbGVyfTtleHBvcnR7V29ya2VyTWVzc2FnZUhhbmRsZXJ9Ow==";_r.workerSrc=d$;function u$(){var d;const{serverProps:l,config:t}=xc(),[e,n]=B.useState([]),i=h=>{n(b=>[...b,...h])},s=h=>{n(b=>b.filter((p,y)=>y!==h))},a=()=>{n([])},c=(d=l==null?void 0:l.modalities)==null?void 0:d.vision,o=async h=>{try{for(const b of h){const p=b.type;if(b.size>500*1024*1024){Dn.error("File is too large. Maximum size is 500MB.");break}if(p.startsWith("image/")){if(!c){Dn.error("Multimodal is not supported by this server or model.");break}let y=await ax(b);p==="image/svg+xml"&&(y=await Z$(y)),i([{type:"imageFile",name:b.name,base64Url:y}])}else if(p.startsWith("video/")){Dn.error("Video files are not supported yet.");break}else if(p.startsWith("audio/")){if(!/mpeg|wav/.test(p)){Dn.error("Only mp3 and wav audio files are supported.");break}const y=await ax(b,!1);i([{type:"audioFile",name:b.name,mimeType:p,base64Data:y}])}else if(p.startsWith("application/pdf")){if(t.pdfAsImage&&!c){Dn("Multimodal is not supported, PDF will be converted to text instead of image.");break}if(t.pdfAsImage&&c){const y=await h$(b);i(y.map(M=>({type:"imageFile",name:b.name,base64Url:M})))}else{const y=await m$(b);i([{type:"textFile",name:b.name,content:y}]),c&&Dn.success("PDF file converted to text. You can also convert it to image, see in Settings.")}break}else{const y=new FileReader;y.onload=M=>{var T;if((T=M.target)!=null&&T.result){const Y=M.target.result;if(!b$(Y)){Dn.error("File is binary. Please upload a text file.");return}i([{type:"textFile",name:b.name,content:Y}])}},y.readAsText(b)}}}catch(b){const y=`Error processing file: ${b instanceof Error?b.message:String(b)}`;Dn.error(y)}};return{items:e.length>0?e:void 0,addItems:i,removeItem:s,clearItems:a,onFileAdded:o}}async function ax(l,t=!0){return new Promise((e,n)=>{const i=new FileReader;i.onload=s=>{var a;if((a=s.target)!=null&&a.result){let c=s.target.result;t||(c=c.substring(c.indexOf(",")+1)),e(c)}else n(new Error("Failed to read file."))},i.readAsDataURL(l)})}async function AD(l){return new Promise((t,e)=>{const n=new FileReader;n.onload=i=>{var s;(s=i.target)!=null&&s.result?t(i.target.result):e(new Error("Failed to read file."))},n.readAsArrayBuffer(l)})}async function m$(l){const t=await AD(l),e=await _V(t).promise,n=e.numPages,i=[];for(let c=1;c<=n;c++)i.push(e.getPage(c).then(o=>o.getTextContent()));return(await Promise.all(i)).flatMap(c=>c.items.map(o=>o.str??"")).join(`
|
||
`)}async function h$(l){const t=await AD(l),e=await _V(t).promise,n=[];for(let i=1;i<=e.numPages;i++){const s=await e.getPage(i),a=s.getViewport({scale:1.5}),c=document.createElement("canvas"),o=c.getContext("2d");if(c.width=a.width,c.height=a.height,!o)throw new Error("Failed to get 2D context from canvas");const d=s.render({canvasContext:o,canvas:c,viewport:a});n.push(d.promise.then(()=>c.toDataURL()))}return await Promise.all(n)}function b$(l){const t={prefixLength:10240,suspiciousCharThresholdRatio:.15,maxAbsoluteNullBytes:2};if(!l)return!0;const e=Math.min(l.length,t.prefixLength);if(e===0)return!0;let n=0,i=0;for(let a=0;a<e;a++){const c=l.charCodeAt(a);if(c===65533){n++;continue}if(c===0){i++,n++;continue}c<32&&c!==9&&c!==10&&c!==13&&c!==7&&c!==8&&n++}return i>t.maxAbsoluteNullBytes?!1:n/e<=t.suspiciousCharThresholdRatio}function Z$(l){const t="white";return new Promise((e,n)=>{try{const i=new Image;i.onload=()=>{const s=document.createElement("canvas"),a=s.getContext("2d");if(!a){n(new Error("Failed to get 2D canvas context."));return}const c=i.naturalWidth||300,o=i.naturalHeight||300;s.width=c,s.height=o,t&&(a.fillStyle=t,a.fillRect(0,0,s.width,s.height)),a.drawImage(i,0,0,c,o),e(s.toDataURL("image/png"))},i.onerror=()=>{n(new Error("Failed to load SVG image. Ensure the SVG data is valid."))},i.src=l}catch(i){const a=`Error converting SVG to PNG: ${i instanceof Error?i.message:String(i)}`;Dn.error(a),n(new Error(a))}})}var TX={exports:{}},XX,cx;function p$(){if(cx)return XX;cx=1;var l="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return XX=l,XX}var YX,rx;function y$(){if(rx)return YX;rx=1;var l=p$();function t(){}function e(){}return e.resetWarningCache=t,YX=function(){function n(a,c,o,d,h,b){if(b!==l){var p=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw p.name="Invariant Violation",p}}n.isRequired=n;function i(){return n}var s={array:n,bigint:n,bool:n,func:n,number:n,object:n,string:n,symbol:n,any:n,arrayOf:i,element:n,elementType:n,instanceOf:i,node:n,objectOf:i,oneOf:i,oneOfType:i,shape:i,exact:i,checkPropTypes:e,resetWarningCache:t};return s.PropTypes=s,s},YX}var ox;function W$(){return ox||(ox=1,TX.exports=y$()()),TX.exports}var N$=W$();const Vn=Gh(N$);function gh(l,t,e,n){function i(s){return s instanceof e?s:new e(function(a){a(s)})}return new(e||(e=Promise))(function(s,a){function c(h){try{d(n.next(h))}catch(b){a(b)}}function o(h){try{d(n.throw(h))}catch(b){a(b)}}function d(h){h.done?s(h.value):i(h.value).then(c,o)}d((n=n.apply(l,t||[])).next())})}const M$=new Map([["1km","application/vnd.1000minds.decision-model+xml"],["3dml","text/vnd.in3d.3dml"],["3ds","image/x-3ds"],["3g2","video/3gpp2"],["3gp","video/3gp"],["3gpp","video/3gpp"],["3mf","model/3mf"],["7z","application/x-7z-compressed"],["7zip","application/x-7z-compressed"],["123","application/vnd.lotus-1-2-3"],["aab","application/x-authorware-bin"],["aac","audio/x-acc"],["aam","application/x-authorware-map"],["aas","application/x-authorware-seg"],["abw","application/x-abiword"],["ac","application/vnd.nokia.n-gage.ac+xml"],["ac3","audio/ac3"],["acc","application/vnd.americandynamics.acc"],["ace","application/x-ace-compressed"],["acu","application/vnd.acucobol"],["acutc","application/vnd.acucorp"],["adp","audio/adpcm"],["aep","application/vnd.audiograph"],["afm","application/x-font-type1"],["afp","application/vnd.ibm.modcap"],["ahead","application/vnd.ahead.space"],["ai","application/pdf"],["aif","audio/x-aiff"],["aifc","audio/x-aiff"],["aiff","audio/x-aiff"],["air","application/vnd.adobe.air-application-installer-package+zip"],["ait","application/vnd.dvb.ait"],["ami","application/vnd.amiga.ami"],["amr","audio/amr"],["apk","application/vnd.android.package-archive"],["apng","image/apng"],["appcache","text/cache-manifest"],["application","application/x-ms-application"],["apr","application/vnd.lotus-approach"],["arc","application/x-freearc"],["arj","application/x-arj"],["asc","application/pgp-signature"],["asf","video/x-ms-asf"],["asm","text/x-asm"],["aso","application/vnd.accpac.simply.aso"],["asx","video/x-ms-asf"],["atc","application/vnd.acucorp"],["atom","application/atom+xml"],["atomcat","application/atomcat+xml"],["atomdeleted","application/atomdeleted+xml"],["atomsvc","application/atomsvc+xml"],["atx","application/vnd.antix.game-component"],["au","audio/x-au"],["avi","video/x-msvideo"],["avif","image/avif"],["aw","application/applixware"],["azf","application/vnd.airzip.filesecure.azf"],["azs","application/vnd.airzip.filesecure.azs"],["azv","image/vnd.airzip.accelerator.azv"],["azw","application/vnd.amazon.ebook"],["b16","image/vnd.pco.b16"],["bat","application/x-msdownload"],["bcpio","application/x-bcpio"],["bdf","application/x-font-bdf"],["bdm","application/vnd.syncml.dm+wbxml"],["bdoc","application/x-bdoc"],["bed","application/vnd.realvnc.bed"],["bh2","application/vnd.fujitsu.oasysprs"],["bin","application/octet-stream"],["blb","application/x-blorb"],["blorb","application/x-blorb"],["bmi","application/vnd.bmi"],["bmml","application/vnd.balsamiq.bmml+xml"],["bmp","image/bmp"],["book","application/vnd.framemaker"],["box","application/vnd.previewsystems.box"],["boz","application/x-bzip2"],["bpk","application/octet-stream"],["bpmn","application/octet-stream"],["bsp","model/vnd.valve.source.compiled-map"],["btif","image/prs.btif"],["buffer","application/octet-stream"],["bz","application/x-bzip"],["bz2","application/x-bzip2"],["c","text/x-c"],["c4d","application/vnd.clonk.c4group"],["c4f","application/vnd.clonk.c4group"],["c4g","application/vnd.clonk.c4group"],["c4p","application/vnd.clonk.c4group"],["c4u","application/vnd.clonk.c4group"],["c11amc","application/vnd.cluetrust.cartomobile-config"],["c11amz","application/vnd.cluetrust.cartomobile-config-pkg"],["cab","application/vnd.ms-cab-compressed"],["caf","audio/x-caf"],["cap","application/vnd.tcpdump.pcap"],["car","application/vnd.curl.car"],["cat","application/vnd.ms-pki.seccat"],["cb7","application/x-cbr"],["cba","application/x-cbr"],["cbr","application/x-cbr"],["cbt","application/x-cbr"],["cbz","application/x-cbr"],["cc","text/x-c"],["cco","application/x-cocoa"],["cct","application/x-director"],["ccxml","application/ccxml+xml"],["cdbcmsg","application/vnd.contact.cmsg"],["cda","application/x-cdf"],["cdf","application/x-netcdf"],["cdfx","application/cdfx+xml"],["cdkey","application/vnd.mediastation.cdkey"],["cdmia","application/cdmi-capability"],["cdmic","application/cdmi-container"],["cdmid","application/cdmi-domain"],["cdmio","application/cdmi-object"],["cdmiq","application/cdmi-queue"],["cdr","application/cdr"],["cdx","chemical/x-cdx"],["cdxml","application/vnd.chemdraw+xml"],["cdy","application/vnd.cinderella"],["cer","application/pkix-cert"],["cfs","application/x-cfs-compressed"],["cgm","image/cgm"],["chat","application/x-chat"],["chm","application/vnd.ms-htmlhelp"],["chrt","application/vnd.kde.kchart"],["cif","chemical/x-cif"],["cii","application/vnd.anser-web-certificate-issue-initiation"],["cil","application/vnd.ms-artgalry"],["cjs","application/node"],["cla","application/vnd.claymore"],["class","application/octet-stream"],["clkk","application/vnd.crick.clicker.keyboard"],["clkp","application/vnd.crick.clicker.palette"],["clkt","application/vnd.crick.clicker.template"],["clkw","application/vnd.crick.clicker.wordbank"],["clkx","application/vnd.crick.clicker"],["clp","application/x-msclip"],["cmc","application/vnd.cosmocaller"],["cmdf","chemical/x-cmdf"],["cml","chemical/x-cml"],["cmp","application/vnd.yellowriver-custom-menu"],["cmx","image/x-cmx"],["cod","application/vnd.rim.cod"],["coffee","text/coffeescript"],["com","application/x-msdownload"],["conf","text/plain"],["cpio","application/x-cpio"],["cpp","text/x-c"],["cpt","application/mac-compactpro"],["crd","application/x-mscardfile"],["crl","application/pkix-crl"],["crt","application/x-x509-ca-cert"],["crx","application/x-chrome-extension"],["cryptonote","application/vnd.rig.cryptonote"],["csh","application/x-csh"],["csl","application/vnd.citationstyles.style+xml"],["csml","chemical/x-csml"],["csp","application/vnd.commonspace"],["csr","application/octet-stream"],["css","text/css"],["cst","application/x-director"],["csv","text/csv"],["cu","application/cu-seeme"],["curl","text/vnd.curl"],["cww","application/prs.cww"],["cxt","application/x-director"],["cxx","text/x-c"],["dae","model/vnd.collada+xml"],["daf","application/vnd.mobius.daf"],["dart","application/vnd.dart"],["dataless","application/vnd.fdsn.seed"],["davmount","application/davmount+xml"],["dbf","application/vnd.dbf"],["dbk","application/docbook+xml"],["dcr","application/x-director"],["dcurl","text/vnd.curl.dcurl"],["dd2","application/vnd.oma.dd2+xml"],["ddd","application/vnd.fujixerox.ddd"],["ddf","application/vnd.syncml.dmddf+xml"],["dds","image/vnd.ms-dds"],["deb","application/x-debian-package"],["def","text/plain"],["deploy","application/octet-stream"],["der","application/x-x509-ca-cert"],["dfac","application/vnd.dreamfactory"],["dgc","application/x-dgc-compressed"],["dic","text/x-c"],["dir","application/x-director"],["dis","application/vnd.mobius.dis"],["disposition-notification","message/disposition-notification"],["dist","application/octet-stream"],["distz","application/octet-stream"],["djv","image/vnd.djvu"],["djvu","image/vnd.djvu"],["dll","application/octet-stream"],["dmg","application/x-apple-diskimage"],["dmn","application/octet-stream"],["dmp","application/vnd.tcpdump.pcap"],["dms","application/octet-stream"],["dna","application/vnd.dna"],["doc","application/msword"],["docm","application/vnd.ms-word.template.macroEnabled.12"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],["dot","application/msword"],["dotm","application/vnd.ms-word.template.macroEnabled.12"],["dotx","application/vnd.openxmlformats-officedocument.wordprocessingml.template"],["dp","application/vnd.osgi.dp"],["dpg","application/vnd.dpgraph"],["dra","audio/vnd.dra"],["drle","image/dicom-rle"],["dsc","text/prs.lines.tag"],["dssc","application/dssc+der"],["dtb","application/x-dtbook+xml"],["dtd","application/xml-dtd"],["dts","audio/vnd.dts"],["dtshd","audio/vnd.dts.hd"],["dump","application/octet-stream"],["dvb","video/vnd.dvb.file"],["dvi","application/x-dvi"],["dwd","application/atsc-dwd+xml"],["dwf","model/vnd.dwf"],["dwg","image/vnd.dwg"],["dxf","image/vnd.dxf"],["dxp","application/vnd.spotfire.dxp"],["dxr","application/x-director"],["ear","application/java-archive"],["ecelp4800","audio/vnd.nuera.ecelp4800"],["ecelp7470","audio/vnd.nuera.ecelp7470"],["ecelp9600","audio/vnd.nuera.ecelp9600"],["ecma","application/ecmascript"],["edm","application/vnd.novadigm.edm"],["edx","application/vnd.novadigm.edx"],["efif","application/vnd.picsel"],["ei6","application/vnd.pg.osasli"],["elc","application/octet-stream"],["emf","image/emf"],["eml","message/rfc822"],["emma","application/emma+xml"],["emotionml","application/emotionml+xml"],["emz","application/x-msmetafile"],["eol","audio/vnd.digital-winds"],["eot","application/vnd.ms-fontobject"],["eps","application/postscript"],["epub","application/epub+zip"],["es","application/ecmascript"],["es3","application/vnd.eszigno3+xml"],["esa","application/vnd.osgi.subsystem"],["esf","application/vnd.epson.esf"],["et3","application/vnd.eszigno3+xml"],["etx","text/x-setext"],["eva","application/x-eva"],["evy","application/x-envoy"],["exe","application/octet-stream"],["exi","application/exi"],["exp","application/express"],["exr","image/aces"],["ext","application/vnd.novadigm.ext"],["ez","application/andrew-inset"],["ez2","application/vnd.ezpix-album"],["ez3","application/vnd.ezpix-package"],["f","text/x-fortran"],["f4v","video/mp4"],["f77","text/x-fortran"],["f90","text/x-fortran"],["fbs","image/vnd.fastbidsheet"],["fcdt","application/vnd.adobe.formscentral.fcdt"],["fcs","application/vnd.isac.fcs"],["fdf","application/vnd.fdf"],["fdt","application/fdt+xml"],["fe_launch","application/vnd.denovo.fcselayout-link"],["fg5","application/vnd.fujitsu.oasysgp"],["fgd","application/x-director"],["fh","image/x-freehand"],["fh4","image/x-freehand"],["fh5","image/x-freehand"],["fh7","image/x-freehand"],["fhc","image/x-freehand"],["fig","application/x-xfig"],["fits","image/fits"],["flac","audio/x-flac"],["fli","video/x-fli"],["flo","application/vnd.micrografx.flo"],["flv","video/x-flv"],["flw","application/vnd.kde.kivio"],["flx","text/vnd.fmi.flexstor"],["fly","text/vnd.fly"],["fm","application/vnd.framemaker"],["fnc","application/vnd.frogans.fnc"],["fo","application/vnd.software602.filler.form+xml"],["for","text/x-fortran"],["fpx","image/vnd.fpx"],["frame","application/vnd.framemaker"],["fsc","application/vnd.fsc.weblaunch"],["fst","image/vnd.fst"],["ftc","application/vnd.fluxtime.clip"],["fti","application/vnd.anser-web-funds-transfer-initiation"],["fvt","video/vnd.fvt"],["fxp","application/vnd.adobe.fxp"],["fxpl","application/vnd.adobe.fxp"],["fzs","application/vnd.fuzzysheet"],["g2w","application/vnd.geoplan"],["g3","image/g3fax"],["g3w","application/vnd.geospace"],["gac","application/vnd.groove-account"],["gam","application/x-tads"],["gbr","application/rpki-ghostbusters"],["gca","application/x-gca-compressed"],["gdl","model/vnd.gdl"],["gdoc","application/vnd.google-apps.document"],["geo","application/vnd.dynageo"],["geojson","application/geo+json"],["gex","application/vnd.geometry-explorer"],["ggb","application/vnd.geogebra.file"],["ggt","application/vnd.geogebra.tool"],["ghf","application/vnd.groove-help"],["gif","image/gif"],["gim","application/vnd.groove-identity-message"],["glb","model/gltf-binary"],["gltf","model/gltf+json"],["gml","application/gml+xml"],["gmx","application/vnd.gmx"],["gnumeric","application/x-gnumeric"],["gpg","application/gpg-keys"],["gph","application/vnd.flographit"],["gpx","application/gpx+xml"],["gqf","application/vnd.grafeq"],["gqs","application/vnd.grafeq"],["gram","application/srgs"],["gramps","application/x-gramps-xml"],["gre","application/vnd.geometry-explorer"],["grv","application/vnd.groove-injector"],["grxml","application/srgs+xml"],["gsf","application/x-font-ghostscript"],["gsheet","application/vnd.google-apps.spreadsheet"],["gslides","application/vnd.google-apps.presentation"],["gtar","application/x-gtar"],["gtm","application/vnd.groove-tool-message"],["gtw","model/vnd.gtw"],["gv","text/vnd.graphviz"],["gxf","application/gxf"],["gxt","application/vnd.geonext"],["gz","application/gzip"],["gzip","application/gzip"],["h","text/x-c"],["h261","video/h261"],["h263","video/h263"],["h264","video/h264"],["hal","application/vnd.hal+xml"],["hbci","application/vnd.hbci"],["hbs","text/x-handlebars-template"],["hdd","application/x-virtualbox-hdd"],["hdf","application/x-hdf"],["heic","image/heic"],["heics","image/heic-sequence"],["heif","image/heif"],["heifs","image/heif-sequence"],["hej2","image/hej2k"],["held","application/atsc-held+xml"],["hh","text/x-c"],["hjson","application/hjson"],["hlp","application/winhlp"],["hpgl","application/vnd.hp-hpgl"],["hpid","application/vnd.hp-hpid"],["hps","application/vnd.hp-hps"],["hqx","application/mac-binhex40"],["hsj2","image/hsj2"],["htc","text/x-component"],["htke","application/vnd.kenameaapp"],["htm","text/html"],["html","text/html"],["hvd","application/vnd.yamaha.hv-dic"],["hvp","application/vnd.yamaha.hv-voice"],["hvs","application/vnd.yamaha.hv-script"],["i2g","application/vnd.intergeo"],["icc","application/vnd.iccprofile"],["ice","x-conference/x-cooltalk"],["icm","application/vnd.iccprofile"],["ico","image/x-icon"],["ics","text/calendar"],["ief","image/ief"],["ifb","text/calendar"],["ifm","application/vnd.shana.informed.formdata"],["iges","model/iges"],["igl","application/vnd.igloader"],["igm","application/vnd.insors.igm"],["igs","model/iges"],["igx","application/vnd.micrografx.igx"],["iif","application/vnd.shana.informed.interchange"],["img","application/octet-stream"],["imp","application/vnd.accpac.simply.imp"],["ims","application/vnd.ms-ims"],["in","text/plain"],["ini","text/plain"],["ink","application/inkml+xml"],["inkml","application/inkml+xml"],["install","application/x-install-instructions"],["iota","application/vnd.astraea-software.iota"],["ipfix","application/ipfix"],["ipk","application/vnd.shana.informed.package"],["irm","application/vnd.ibm.rights-management"],["irp","application/vnd.irepository.package+xml"],["iso","application/x-iso9660-image"],["itp","application/vnd.shana.informed.formtemplate"],["its","application/its+xml"],["ivp","application/vnd.immervision-ivp"],["ivu","application/vnd.immervision-ivu"],["jad","text/vnd.sun.j2me.app-descriptor"],["jade","text/jade"],["jam","application/vnd.jam"],["jar","application/java-archive"],["jardiff","application/x-java-archive-diff"],["java","text/x-java-source"],["jhc","image/jphc"],["jisp","application/vnd.jisp"],["jls","image/jls"],["jlt","application/vnd.hp-jlyt"],["jng","image/x-jng"],["jnlp","application/x-java-jnlp-file"],["joda","application/vnd.joost.joda-archive"],["jp2","image/jp2"],["jpe","image/jpeg"],["jpeg","image/jpeg"],["jpf","image/jpx"],["jpg","image/jpeg"],["jpg2","image/jp2"],["jpgm","video/jpm"],["jpgv","video/jpeg"],["jph","image/jph"],["jpm","video/jpm"],["jpx","image/jpx"],["js","application/javascript"],["json","application/json"],["json5","application/json5"],["jsonld","application/ld+json"],["jsonl","application/jsonl"],["jsonml","application/jsonml+json"],["jsx","text/jsx"],["jxr","image/jxr"],["jxra","image/jxra"],["jxrs","image/jxrs"],["jxs","image/jxs"],["jxsc","image/jxsc"],["jxsi","image/jxsi"],["jxss","image/jxss"],["kar","audio/midi"],["karbon","application/vnd.kde.karbon"],["kdb","application/octet-stream"],["kdbx","application/x-keepass2"],["key","application/x-iwork-keynote-sffkey"],["kfo","application/vnd.kde.kformula"],["kia","application/vnd.kidspiration"],["kml","application/vnd.google-earth.kml+xml"],["kmz","application/vnd.google-earth.kmz"],["kne","application/vnd.kinar"],["knp","application/vnd.kinar"],["kon","application/vnd.kde.kontour"],["kpr","application/vnd.kde.kpresenter"],["kpt","application/vnd.kde.kpresenter"],["kpxx","application/vnd.ds-keypoint"],["ksp","application/vnd.kde.kspread"],["ktr","application/vnd.kahootz"],["ktx","image/ktx"],["ktx2","image/ktx2"],["ktz","application/vnd.kahootz"],["kwd","application/vnd.kde.kword"],["kwt","application/vnd.kde.kword"],["lasxml","application/vnd.las.las+xml"],["latex","application/x-latex"],["lbd","application/vnd.llamagraphics.life-balance.desktop"],["lbe","application/vnd.llamagraphics.life-balance.exchange+xml"],["les","application/vnd.hhe.lesson-player"],["less","text/less"],["lgr","application/lgr+xml"],["lha","application/octet-stream"],["link66","application/vnd.route66.link66+xml"],["list","text/plain"],["list3820","application/vnd.ibm.modcap"],["listafp","application/vnd.ibm.modcap"],["litcoffee","text/coffeescript"],["lnk","application/x-ms-shortcut"],["log","text/plain"],["lostxml","application/lost+xml"],["lrf","application/octet-stream"],["lrm","application/vnd.ms-lrm"],["ltf","application/vnd.frogans.ltf"],["lua","text/x-lua"],["luac","application/x-lua-bytecode"],["lvp","audio/vnd.lucent.voice"],["lwp","application/vnd.lotus-wordpro"],["lzh","application/octet-stream"],["m1v","video/mpeg"],["m2a","audio/mpeg"],["m2v","video/mpeg"],["m3a","audio/mpeg"],["m3u","text/plain"],["m3u8","application/vnd.apple.mpegurl"],["m4a","audio/x-m4a"],["m4p","application/mp4"],["m4s","video/iso.segment"],["m4u","application/vnd.mpegurl"],["m4v","video/x-m4v"],["m13","application/x-msmediaview"],["m14","application/x-msmediaview"],["m21","application/mp21"],["ma","application/mathematica"],["mads","application/mads+xml"],["maei","application/mmt-aei+xml"],["mag","application/vnd.ecowin.chart"],["maker","application/vnd.framemaker"],["man","text/troff"],["manifest","text/cache-manifest"],["map","application/json"],["mar","application/octet-stream"],["markdown","text/markdown"],["mathml","application/mathml+xml"],["mb","application/mathematica"],["mbk","application/vnd.mobius.mbk"],["mbox","application/mbox"],["mc1","application/vnd.medcalcdata"],["mcd","application/vnd.mcd"],["mcurl","text/vnd.curl.mcurl"],["md","text/markdown"],["mdb","application/x-msaccess"],["mdi","image/vnd.ms-modi"],["mdx","text/mdx"],["me","text/troff"],["mesh","model/mesh"],["meta4","application/metalink4+xml"],["metalink","application/metalink+xml"],["mets","application/mets+xml"],["mfm","application/vnd.mfmp"],["mft","application/rpki-manifest"],["mgp","application/vnd.osgeo.mapguide.package"],["mgz","application/vnd.proteus.magazine"],["mid","audio/midi"],["midi","audio/midi"],["mie","application/x-mie"],["mif","application/vnd.mif"],["mime","message/rfc822"],["mj2","video/mj2"],["mjp2","video/mj2"],["mjs","application/javascript"],["mk3d","video/x-matroska"],["mka","audio/x-matroska"],["mkd","text/x-markdown"],["mks","video/x-matroska"],["mkv","video/x-matroska"],["mlp","application/vnd.dolby.mlp"],["mmd","application/vnd.chipnuts.karaoke-mmd"],["mmf","application/vnd.smaf"],["mml","text/mathml"],["mmr","image/vnd.fujixerox.edmics-mmr"],["mng","video/x-mng"],["mny","application/x-msmoney"],["mobi","application/x-mobipocket-ebook"],["mods","application/mods+xml"],["mov","video/quicktime"],["movie","video/x-sgi-movie"],["mp2","audio/mpeg"],["mp2a","audio/mpeg"],["mp3","audio/mpeg"],["mp4","video/mp4"],["mp4a","audio/mp4"],["mp4s","application/mp4"],["mp4v","video/mp4"],["mp21","application/mp21"],["mpc","application/vnd.mophun.certificate"],["mpd","application/dash+xml"],["mpe","video/mpeg"],["mpeg","video/mpeg"],["mpg","video/mpeg"],["mpg4","video/mp4"],["mpga","audio/mpeg"],["mpkg","application/vnd.apple.installer+xml"],["mpm","application/vnd.blueice.multipass"],["mpn","application/vnd.mophun.application"],["mpp","application/vnd.ms-project"],["mpt","application/vnd.ms-project"],["mpy","application/vnd.ibm.minipay"],["mqy","application/vnd.mobius.mqy"],["mrc","application/marc"],["mrcx","application/marcxml+xml"],["ms","text/troff"],["mscml","application/mediaservercontrol+xml"],["mseed","application/vnd.fdsn.mseed"],["mseq","application/vnd.mseq"],["msf","application/vnd.epson.msf"],["msg","application/vnd.ms-outlook"],["msh","model/mesh"],["msi","application/x-msdownload"],["msl","application/vnd.mobius.msl"],["msm","application/octet-stream"],["msp","application/octet-stream"],["msty","application/vnd.muvee.style"],["mtl","model/mtl"],["mts","model/vnd.mts"],["mus","application/vnd.musician"],["musd","application/mmt-usd+xml"],["musicxml","application/vnd.recordare.musicxml+xml"],["mvb","application/x-msmediaview"],["mvt","application/vnd.mapbox-vector-tile"],["mwf","application/vnd.mfer"],["mxf","application/mxf"],["mxl","application/vnd.recordare.musicxml"],["mxmf","audio/mobile-xmf"],["mxml","application/xv+xml"],["mxs","application/vnd.triscape.mxs"],["mxu","video/vnd.mpegurl"],["n-gage","application/vnd.nokia.n-gage.symbian.install"],["n3","text/n3"],["nb","application/mathematica"],["nbp","application/vnd.wolfram.player"],["nc","application/x-netcdf"],["ncx","application/x-dtbncx+xml"],["nfo","text/x-nfo"],["ngdat","application/vnd.nokia.n-gage.data"],["nitf","application/vnd.nitf"],["nlu","application/vnd.neurolanguage.nlu"],["nml","application/vnd.enliven"],["nnd","application/vnd.noblenet-directory"],["nns","application/vnd.noblenet-sealer"],["nnw","application/vnd.noblenet-web"],["npx","image/vnd.net-fpx"],["nq","application/n-quads"],["nsc","application/x-conference"],["nsf","application/vnd.lotus-notes"],["nt","application/n-triples"],["ntf","application/vnd.nitf"],["numbers","application/x-iwork-numbers-sffnumbers"],["nzb","application/x-nzb"],["oa2","application/vnd.fujitsu.oasys2"],["oa3","application/vnd.fujitsu.oasys3"],["oas","application/vnd.fujitsu.oasys"],["obd","application/x-msbinder"],["obgx","application/vnd.openblox.game+xml"],["obj","model/obj"],["oda","application/oda"],["odb","application/vnd.oasis.opendocument.database"],["odc","application/vnd.oasis.opendocument.chart"],["odf","application/vnd.oasis.opendocument.formula"],["odft","application/vnd.oasis.opendocument.formula-template"],["odg","application/vnd.oasis.opendocument.graphics"],["odi","application/vnd.oasis.opendocument.image"],["odm","application/vnd.oasis.opendocument.text-master"],["odp","application/vnd.oasis.opendocument.presentation"],["ods","application/vnd.oasis.opendocument.spreadsheet"],["odt","application/vnd.oasis.opendocument.text"],["oga","audio/ogg"],["ogex","model/vnd.opengex"],["ogg","audio/ogg"],["ogv","video/ogg"],["ogx","application/ogg"],["omdoc","application/omdoc+xml"],["onepkg","application/onenote"],["onetmp","application/onenote"],["onetoc","application/onenote"],["onetoc2","application/onenote"],["opf","application/oebps-package+xml"],["opml","text/x-opml"],["oprc","application/vnd.palm"],["opus","audio/ogg"],["org","text/x-org"],["osf","application/vnd.yamaha.openscoreformat"],["osfpvg","application/vnd.yamaha.openscoreformat.osfpvg+xml"],["osm","application/vnd.openstreetmap.data+xml"],["otc","application/vnd.oasis.opendocument.chart-template"],["otf","font/otf"],["otg","application/vnd.oasis.opendocument.graphics-template"],["oth","application/vnd.oasis.opendocument.text-web"],["oti","application/vnd.oasis.opendocument.image-template"],["otp","application/vnd.oasis.opendocument.presentation-template"],["ots","application/vnd.oasis.opendocument.spreadsheet-template"],["ott","application/vnd.oasis.opendocument.text-template"],["ova","application/x-virtualbox-ova"],["ovf","application/x-virtualbox-ovf"],["owl","application/rdf+xml"],["oxps","application/oxps"],["oxt","application/vnd.openofficeorg.extension"],["p","text/x-pascal"],["p7a","application/x-pkcs7-signature"],["p7b","application/x-pkcs7-certificates"],["p7c","application/pkcs7-mime"],["p7m","application/pkcs7-mime"],["p7r","application/x-pkcs7-certreqresp"],["p7s","application/pkcs7-signature"],["p8","application/pkcs8"],["p10","application/x-pkcs10"],["p12","application/x-pkcs12"],["pac","application/x-ns-proxy-autoconfig"],["pages","application/x-iwork-pages-sffpages"],["pas","text/x-pascal"],["paw","application/vnd.pawaafile"],["pbd","application/vnd.powerbuilder6"],["pbm","image/x-portable-bitmap"],["pcap","application/vnd.tcpdump.pcap"],["pcf","application/x-font-pcf"],["pcl","application/vnd.hp-pcl"],["pclxl","application/vnd.hp-pclxl"],["pct","image/x-pict"],["pcurl","application/vnd.curl.pcurl"],["pcx","image/x-pcx"],["pdb","application/x-pilot"],["pde","text/x-processing"],["pdf","application/pdf"],["pem","application/x-x509-user-cert"],["pfa","application/x-font-type1"],["pfb","application/x-font-type1"],["pfm","application/x-font-type1"],["pfr","application/font-tdpfr"],["pfx","application/x-pkcs12"],["pgm","image/x-portable-graymap"],["pgn","application/x-chess-pgn"],["pgp","application/pgp"],["php","application/x-httpd-php"],["php3","application/x-httpd-php"],["php4","application/x-httpd-php"],["phps","application/x-httpd-php-source"],["phtml","application/x-httpd-php"],["pic","image/x-pict"],["pkg","application/octet-stream"],["pki","application/pkixcmp"],["pkipath","application/pkix-pkipath"],["pkpass","application/vnd.apple.pkpass"],["pl","application/x-perl"],["plb","application/vnd.3gpp.pic-bw-large"],["plc","application/vnd.mobius.plc"],["plf","application/vnd.pocketlearn"],["pls","application/pls+xml"],["pm","application/x-perl"],["pml","application/vnd.ctc-posml"],["png","image/png"],["pnm","image/x-portable-anymap"],["portpkg","application/vnd.macports.portpkg"],["pot","application/vnd.ms-powerpoint"],["potm","application/vnd.ms-powerpoint.presentation.macroEnabled.12"],["potx","application/vnd.openxmlformats-officedocument.presentationml.template"],["ppa","application/vnd.ms-powerpoint"],["ppam","application/vnd.ms-powerpoint.addin.macroEnabled.12"],["ppd","application/vnd.cups-ppd"],["ppm","image/x-portable-pixmap"],["pps","application/vnd.ms-powerpoint"],["ppsm","application/vnd.ms-powerpoint.slideshow.macroEnabled.12"],["ppsx","application/vnd.openxmlformats-officedocument.presentationml.slideshow"],["ppt","application/powerpoint"],["pptm","application/vnd.ms-powerpoint.presentation.macroEnabled.12"],["pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"],["pqa","application/vnd.palm"],["prc","application/x-pilot"],["pre","application/vnd.lotus-freelance"],["prf","application/pics-rules"],["provx","application/provenance+xml"],["ps","application/postscript"],["psb","application/vnd.3gpp.pic-bw-small"],["psd","application/x-photoshop"],["psf","application/x-font-linux-psf"],["pskcxml","application/pskc+xml"],["pti","image/prs.pti"],["ptid","application/vnd.pvi.ptid1"],["pub","application/x-mspublisher"],["pvb","application/vnd.3gpp.pic-bw-var"],["pwn","application/vnd.3m.post-it-notes"],["pya","audio/vnd.ms-playready.media.pya"],["pyv","video/vnd.ms-playready.media.pyv"],["qam","application/vnd.epson.quickanime"],["qbo","application/vnd.intu.qbo"],["qfx","application/vnd.intu.qfx"],["qps","application/vnd.publishare-delta-tree"],["qt","video/quicktime"],["qwd","application/vnd.quark.quarkxpress"],["qwt","application/vnd.quark.quarkxpress"],["qxb","application/vnd.quark.quarkxpress"],["qxd","application/vnd.quark.quarkxpress"],["qxl","application/vnd.quark.quarkxpress"],["qxt","application/vnd.quark.quarkxpress"],["ra","audio/x-realaudio"],["ram","audio/x-pn-realaudio"],["raml","application/raml+yaml"],["rapd","application/route-apd+xml"],["rar","application/x-rar"],["ras","image/x-cmu-raster"],["rcprofile","application/vnd.ipunplugged.rcprofile"],["rdf","application/rdf+xml"],["rdz","application/vnd.data-vision.rdz"],["relo","application/p2p-overlay+xml"],["rep","application/vnd.businessobjects"],["res","application/x-dtbresource+xml"],["rgb","image/x-rgb"],["rif","application/reginfo+xml"],["rip","audio/vnd.rip"],["ris","application/x-research-info-systems"],["rl","application/resource-lists+xml"],["rlc","image/vnd.fujixerox.edmics-rlc"],["rld","application/resource-lists-diff+xml"],["rm","audio/x-pn-realaudio"],["rmi","audio/midi"],["rmp","audio/x-pn-realaudio-plugin"],["rms","application/vnd.jcp.javame.midlet-rms"],["rmvb","application/vnd.rn-realmedia-vbr"],["rnc","application/relax-ng-compact-syntax"],["rng","application/xml"],["roa","application/rpki-roa"],["roff","text/troff"],["rp9","application/vnd.cloanto.rp9"],["rpm","audio/x-pn-realaudio-plugin"],["rpss","application/vnd.nokia.radio-presets"],["rpst","application/vnd.nokia.radio-preset"],["rq","application/sparql-query"],["rs","application/rls-services+xml"],["rsa","application/x-pkcs7"],["rsat","application/atsc-rsat+xml"],["rsd","application/rsd+xml"],["rsheet","application/urc-ressheet+xml"],["rss","application/rss+xml"],["rtf","text/rtf"],["rtx","text/richtext"],["run","application/x-makeself"],["rusd","application/route-usd+xml"],["rv","video/vnd.rn-realvideo"],["s","text/x-asm"],["s3m","audio/s3m"],["saf","application/vnd.yamaha.smaf-audio"],["sass","text/x-sass"],["sbml","application/sbml+xml"],["sc","application/vnd.ibm.secure-container"],["scd","application/x-msschedule"],["scm","application/vnd.lotus-screencam"],["scq","application/scvp-cv-request"],["scs","application/scvp-cv-response"],["scss","text/x-scss"],["scurl","text/vnd.curl.scurl"],["sda","application/vnd.stardivision.draw"],["sdc","application/vnd.stardivision.calc"],["sdd","application/vnd.stardivision.impress"],["sdkd","application/vnd.solent.sdkm+xml"],["sdkm","application/vnd.solent.sdkm+xml"],["sdp","application/sdp"],["sdw","application/vnd.stardivision.writer"],["sea","application/octet-stream"],["see","application/vnd.seemail"],["seed","application/vnd.fdsn.seed"],["sema","application/vnd.sema"],["semd","application/vnd.semd"],["semf","application/vnd.semf"],["senmlx","application/senml+xml"],["sensmlx","application/sensml+xml"],["ser","application/java-serialized-object"],["setpay","application/set-payment-initiation"],["setreg","application/set-registration-initiation"],["sfd-hdstx","application/vnd.hydrostatix.sof-data"],["sfs","application/vnd.spotfire.sfs"],["sfv","text/x-sfv"],["sgi","image/sgi"],["sgl","application/vnd.stardivision.writer-global"],["sgm","text/sgml"],["sgml","text/sgml"],["sh","application/x-sh"],["shar","application/x-shar"],["shex","text/shex"],["shf","application/shf+xml"],["shtml","text/html"],["sid","image/x-mrsid-image"],["sieve","application/sieve"],["sig","application/pgp-signature"],["sil","audio/silk"],["silo","model/mesh"],["sis","application/vnd.symbian.install"],["sisx","application/vnd.symbian.install"],["sit","application/x-stuffit"],["sitx","application/x-stuffitx"],["siv","application/sieve"],["skd","application/vnd.koan"],["skm","application/vnd.koan"],["skp","application/vnd.koan"],["skt","application/vnd.koan"],["sldm","application/vnd.ms-powerpoint.slide.macroenabled.12"],["sldx","application/vnd.openxmlformats-officedocument.presentationml.slide"],["slim","text/slim"],["slm","text/slim"],["sls","application/route-s-tsid+xml"],["slt","application/vnd.epson.salt"],["sm","application/vnd.stepmania.stepchart"],["smf","application/vnd.stardivision.math"],["smi","application/smil"],["smil","application/smil"],["smv","video/x-smv"],["smzip","application/vnd.stepmania.package"],["snd","audio/basic"],["snf","application/x-font-snf"],["so","application/octet-stream"],["spc","application/x-pkcs7-certificates"],["spdx","text/spdx"],["spf","application/vnd.yamaha.smaf-phrase"],["spl","application/x-futuresplash"],["spot","text/vnd.in3d.spot"],["spp","application/scvp-vp-response"],["spq","application/scvp-vp-request"],["spx","audio/ogg"],["sql","application/x-sql"],["src","application/x-wais-source"],["srt","application/x-subrip"],["sru","application/sru+xml"],["srx","application/sparql-results+xml"],["ssdl","application/ssdl+xml"],["sse","application/vnd.kodak-descriptor"],["ssf","application/vnd.epson.ssf"],["ssml","application/ssml+xml"],["sst","application/octet-stream"],["st","application/vnd.sailingtracker.track"],["stc","application/vnd.sun.xml.calc.template"],["std","application/vnd.sun.xml.draw.template"],["stf","application/vnd.wt.stf"],["sti","application/vnd.sun.xml.impress.template"],["stk","application/hyperstudio"],["stl","model/stl"],["stpx","model/step+xml"],["stpxz","model/step-xml+zip"],["stpz","model/step+zip"],["str","application/vnd.pg.format"],["stw","application/vnd.sun.xml.writer.template"],["styl","text/stylus"],["stylus","text/stylus"],["sub","text/vnd.dvb.subtitle"],["sus","application/vnd.sus-calendar"],["susp","application/vnd.sus-calendar"],["sv4cpio","application/x-sv4cpio"],["sv4crc","application/x-sv4crc"],["svc","application/vnd.dvb.service"],["svd","application/vnd.svd"],["svg","image/svg+xml"],["svgz","image/svg+xml"],["swa","application/x-director"],["swf","application/x-shockwave-flash"],["swi","application/vnd.aristanetworks.swi"],["swidtag","application/swid+xml"],["sxc","application/vnd.sun.xml.calc"],["sxd","application/vnd.sun.xml.draw"],["sxg","application/vnd.sun.xml.writer.global"],["sxi","application/vnd.sun.xml.impress"],["sxm","application/vnd.sun.xml.math"],["sxw","application/vnd.sun.xml.writer"],["t","text/troff"],["t3","application/x-t3vm-image"],["t38","image/t38"],["taglet","application/vnd.mynfc"],["tao","application/vnd.tao.intent-module-archive"],["tap","image/vnd.tencent.tap"],["tar","application/x-tar"],["tcap","application/vnd.3gpp2.tcap"],["tcl","application/x-tcl"],["td","application/urc-targetdesc+xml"],["teacher","application/vnd.smart.teacher"],["tei","application/tei+xml"],["teicorpus","application/tei+xml"],["tex","application/x-tex"],["texi","application/x-texinfo"],["texinfo","application/x-texinfo"],["text","text/plain"],["tfi","application/thraud+xml"],["tfm","application/x-tex-tfm"],["tfx","image/tiff-fx"],["tga","image/x-tga"],["tgz","application/x-tar"],["thmx","application/vnd.ms-officetheme"],["tif","image/tiff"],["tiff","image/tiff"],["tk","application/x-tcl"],["tmo","application/vnd.tmobile-livetv"],["toml","application/toml"],["torrent","application/x-bittorrent"],["tpl","application/vnd.groove-tool-template"],["tpt","application/vnd.trid.tpt"],["tr","text/troff"],["tra","application/vnd.trueapp"],["trig","application/trig"],["trm","application/x-msterminal"],["ts","video/mp2t"],["tsd","application/timestamped-data"],["tsv","text/tab-separated-values"],["ttc","font/collection"],["ttf","font/ttf"],["ttl","text/turtle"],["ttml","application/ttml+xml"],["twd","application/vnd.simtech-mindmapper"],["twds","application/vnd.simtech-mindmapper"],["txd","application/vnd.genomatix.tuxedo"],["txf","application/vnd.mobius.txf"],["txt","text/plain"],["u8dsn","message/global-delivery-status"],["u8hdr","message/global-headers"],["u8mdn","message/global-disposition-notification"],["u8msg","message/global"],["u32","application/x-authorware-bin"],["ubj","application/ubjson"],["udeb","application/x-debian-package"],["ufd","application/vnd.ufdl"],["ufdl","application/vnd.ufdl"],["ulx","application/x-glulx"],["umj","application/vnd.umajin"],["unityweb","application/vnd.unity"],["uoml","application/vnd.uoml+xml"],["uri","text/uri-list"],["uris","text/uri-list"],["urls","text/uri-list"],["usdz","model/vnd.usdz+zip"],["ustar","application/x-ustar"],["utz","application/vnd.uiq.theme"],["uu","text/x-uuencode"],["uva","audio/vnd.dece.audio"],["uvd","application/vnd.dece.data"],["uvf","application/vnd.dece.data"],["uvg","image/vnd.dece.graphic"],["uvh","video/vnd.dece.hd"],["uvi","image/vnd.dece.graphic"],["uvm","video/vnd.dece.mobile"],["uvp","video/vnd.dece.pd"],["uvs","video/vnd.dece.sd"],["uvt","application/vnd.dece.ttml+xml"],["uvu","video/vnd.uvvu.mp4"],["uvv","video/vnd.dece.video"],["uvva","audio/vnd.dece.audio"],["uvvd","application/vnd.dece.data"],["uvvf","application/vnd.dece.data"],["uvvg","image/vnd.dece.graphic"],["uvvh","video/vnd.dece.hd"],["uvvi","image/vnd.dece.graphic"],["uvvm","video/vnd.dece.mobile"],["uvvp","video/vnd.dece.pd"],["uvvs","video/vnd.dece.sd"],["uvvt","application/vnd.dece.ttml+xml"],["uvvu","video/vnd.uvvu.mp4"],["uvvv","video/vnd.dece.video"],["uvvx","application/vnd.dece.unspecified"],["uvvz","application/vnd.dece.zip"],["uvx","application/vnd.dece.unspecified"],["uvz","application/vnd.dece.zip"],["vbox","application/x-virtualbox-vbox"],["vbox-extpack","application/x-virtualbox-vbox-extpack"],["vcard","text/vcard"],["vcd","application/x-cdlink"],["vcf","text/x-vcard"],["vcg","application/vnd.groove-vcard"],["vcs","text/x-vcalendar"],["vcx","application/vnd.vcx"],["vdi","application/x-virtualbox-vdi"],["vds","model/vnd.sap.vds"],["vhd","application/x-virtualbox-vhd"],["vis","application/vnd.visionary"],["viv","video/vnd.vivo"],["vlc","application/videolan"],["vmdk","application/x-virtualbox-vmdk"],["vob","video/x-ms-vob"],["vor","application/vnd.stardivision.writer"],["vox","application/x-authorware-bin"],["vrml","model/vrml"],["vsd","application/vnd.visio"],["vsf","application/vnd.vsf"],["vss","application/vnd.visio"],["vst","application/vnd.visio"],["vsw","application/vnd.visio"],["vtf","image/vnd.valve.source.texture"],["vtt","text/vtt"],["vtu","model/vnd.vtu"],["vxml","application/voicexml+xml"],["w3d","application/x-director"],["wad","application/x-doom"],["wadl","application/vnd.sun.wadl+xml"],["war","application/java-archive"],["wasm","application/wasm"],["wav","audio/x-wav"],["wax","audio/x-ms-wax"],["wbmp","image/vnd.wap.wbmp"],["wbs","application/vnd.criticaltools.wbs+xml"],["wbxml","application/wbxml"],["wcm","application/vnd.ms-works"],["wdb","application/vnd.ms-works"],["wdp","image/vnd.ms-photo"],["weba","audio/webm"],["webapp","application/x-web-app-manifest+json"],["webm","video/webm"],["webmanifest","application/manifest+json"],["webp","image/webp"],["wg","application/vnd.pmi.widget"],["wgt","application/widget"],["wks","application/vnd.ms-works"],["wm","video/x-ms-wm"],["wma","audio/x-ms-wma"],["wmd","application/x-ms-wmd"],["wmf","image/wmf"],["wml","text/vnd.wap.wml"],["wmlc","application/wmlc"],["wmls","text/vnd.wap.wmlscript"],["wmlsc","application/vnd.wap.wmlscriptc"],["wmv","video/x-ms-wmv"],["wmx","video/x-ms-wmx"],["wmz","application/x-msmetafile"],["woff","font/woff"],["woff2","font/woff2"],["word","application/msword"],["wpd","application/vnd.wordperfect"],["wpl","application/vnd.ms-wpl"],["wps","application/vnd.ms-works"],["wqd","application/vnd.wqd"],["wri","application/x-mswrite"],["wrl","model/vrml"],["wsc","message/vnd.wfa.wsc"],["wsdl","application/wsdl+xml"],["wspolicy","application/wspolicy+xml"],["wtb","application/vnd.webturbo"],["wvx","video/x-ms-wvx"],["x3d","model/x3d+xml"],["x3db","model/x3d+fastinfoset"],["x3dbz","model/x3d+binary"],["x3dv","model/x3d-vrml"],["x3dvz","model/x3d+vrml"],["x3dz","model/x3d+xml"],["x32","application/x-authorware-bin"],["x_b","model/vnd.parasolid.transmit.binary"],["x_t","model/vnd.parasolid.transmit.text"],["xaml","application/xaml+xml"],["xap","application/x-silverlight-app"],["xar","application/vnd.xara"],["xav","application/xcap-att+xml"],["xbap","application/x-ms-xbap"],["xbd","application/vnd.fujixerox.docuworks.binder"],["xbm","image/x-xbitmap"],["xca","application/xcap-caps+xml"],["xcs","application/calendar+xml"],["xdf","application/xcap-diff+xml"],["xdm","application/vnd.syncml.dm+xml"],["xdp","application/vnd.adobe.xdp+xml"],["xdssc","application/dssc+xml"],["xdw","application/vnd.fujixerox.docuworks"],["xel","application/xcap-el+xml"],["xenc","application/xenc+xml"],["xer","application/patch-ops-error+xml"],["xfdf","application/vnd.adobe.xfdf"],["xfdl","application/vnd.xfdl"],["xht","application/xhtml+xml"],["xhtml","application/xhtml+xml"],["xhvml","application/xv+xml"],["xif","image/vnd.xiff"],["xl","application/excel"],["xla","application/vnd.ms-excel"],["xlam","application/vnd.ms-excel.addin.macroEnabled.12"],["xlc","application/vnd.ms-excel"],["xlf","application/xliff+xml"],["xlm","application/vnd.ms-excel"],["xls","application/vnd.ms-excel"],["xlsb","application/vnd.ms-excel.sheet.binary.macroEnabled.12"],["xlsm","application/vnd.ms-excel.sheet.macroEnabled.12"],["xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],["xlt","application/vnd.ms-excel"],["xltm","application/vnd.ms-excel.template.macroEnabled.12"],["xltx","application/vnd.openxmlformats-officedocument.spreadsheetml.template"],["xlw","application/vnd.ms-excel"],["xm","audio/xm"],["xml","application/xml"],["xns","application/xcap-ns+xml"],["xo","application/vnd.olpc-sugar"],["xop","application/xop+xml"],["xpi","application/x-xpinstall"],["xpl","application/xproc+xml"],["xpm","image/x-xpixmap"],["xpr","application/vnd.is-xpr"],["xps","application/vnd.ms-xpsdocument"],["xpw","application/vnd.intercon.formnet"],["xpx","application/vnd.intercon.formnet"],["xsd","application/xml"],["xsl","application/xml"],["xslt","application/xslt+xml"],["xsm","application/vnd.syncml+xml"],["xspf","application/xspf+xml"],["xul","application/vnd.mozilla.xul+xml"],["xvm","application/xv+xml"],["xvml","application/xv+xml"],["xwd","image/x-xwindowdump"],["xyz","chemical/x-xyz"],["xz","application/x-xz"],["yaml","text/yaml"],["yang","application/yang"],["yin","application/yin+xml"],["yml","text/yaml"],["ymp","text/x-suse-ymp"],["z","application/x-compress"],["z1","application/x-zmachine"],["z2","application/x-zmachine"],["z3","application/x-zmachine"],["z4","application/x-zmachine"],["z5","application/x-zmachine"],["z6","application/x-zmachine"],["z7","application/x-zmachine"],["z8","application/x-zmachine"],["zaz","application/vnd.zzazz.deck+xml"],["zip","application/zip"],["zir","application/vnd.zul"],["zirz","application/vnd.zul"],["zmm","application/vnd.handheld-entertainment+xml"],["zsh","text/x-scriptzsh"]]);function tp(l,t,e){const n=G$(l),{webkitRelativePath:i}=l,s=typeof t=="string"?t:typeof i=="string"&&i.length>0?i:`./${l.name}`;return typeof n.path!="string"&&dx(n,"path",s),dx(n,"relativePath",s),n}function G$(l){const{name:t}=l;if(t&&t.lastIndexOf(".")!==-1&&!l.type){const n=t.split(".").pop().toLowerCase(),i=M$.get(n);i&&Object.defineProperty(l,"type",{value:i,writable:!1,configurable:!1,enumerable:!0})}return l}function dx(l,t,e){Object.defineProperty(l,t,{value:e,writable:!1,configurable:!1,enumerable:!0})}const T$=[".DS_Store","Thumbs.db"];function X$(l){return gh(this,void 0,void 0,function*(){return QM(l)&&Y$(l.dataTransfer)?w$(l.dataTransfer,l.type):L$(l)?V$(l):Array.isArray(l)&&l.every(t=>"getFile"in t&&typeof t.getFile=="function")?I$(l):[]})}function Y$(l){return QM(l)}function L$(l){return QM(l)&&QM(l.target)}function QM(l){return typeof l=="object"&&l!==null}function V$(l){return FL(l.target.files).map(t=>tp(t))}function I$(l){return gh(this,void 0,void 0,function*(){return(yield Promise.all(l.map(e=>e.getFile()))).map(e=>tp(e))})}function w$(l,t){return gh(this,void 0,void 0,function*(){if(l.items){const e=FL(l.items).filter(i=>i.kind==="file");if(t!=="drop")return e;const n=yield Promise.all(e.map(z$));return ux(_D(n))}return ux(FL(l.files).map(e=>tp(e)))})}function ux(l){return l.filter(t=>T$.indexOf(t.name)===-1)}function FL(l){if(l===null)return[];const t=[];for(let e=0;e<l.length;e++){const n=l[e];t.push(n)}return t}function z$(l){if(typeof l.webkitGetAsEntry!="function")return mx(l);const t=l.webkitGetAsEntry();return t&&t.isDirectory?qD(t):mx(l,t)}function _D(l){return l.reduce((t,e)=>[...t,...Array.isArray(e)?_D(e):[e]],[])}function mx(l,t){return gh(this,void 0,void 0,function*(){var e;if(globalThis.isSecureContext&&typeof l.getAsFileSystemHandle=="function"){const s=yield l.getAsFileSystemHandle();if(s===null)throw new Error(`${l} is not a File`);if(s!==void 0){const a=yield s.getFile();return a.handle=s,tp(a)}}const n=l.getAsFile();if(!n)throw new Error(`${l} is not a File`);return tp(n,(e=t==null?void 0:t.fullPath)!==null&&e!==void 0?e:void 0)})}function g$(l){return gh(this,void 0,void 0,function*(){return l.isDirectory?qD(l):x$(l)})}function qD(l){const t=l.createReader();return new Promise((e,n)=>{const i=[];function s(){t.readEntries(a=>gh(this,void 0,void 0,function*(){if(a.length){const c=Promise.all(a.map(g$));i.push(c),s()}else try{const c=yield Promise.all(i);e(c)}catch(c){n(c)}}),a=>{n(a)})}s()})}function x$(l){return gh(this,void 0,void 0,function*(){return new Promise((t,e)=>{l.file(n=>{const i=tp(n,l.fullPath);t(i)},n=>{e(n)})})})}var I1={},hx;function f$(){return hx||(hx=1,I1.__esModule=!0,I1.default=function(l,t){if(l&&t){var e=Array.isArray(t)?t:t.split(",");if(e.length===0)return!0;var n=l.name||"",i=(l.type||"").toLowerCase(),s=i.replace(/\/.*$/,"");return e.some(function(a){var c=a.trim().toLowerCase();return c.charAt(0)==="."?n.toLowerCase().endsWith(c):c.endsWith("/*")?s===c.replace(/\/.*$/,""):i===c})}return!0}),I1}var S$=f$();const LX=Gh(S$);function bx(l){return D$(l)||k$(l)||tO(l)||R$()}function R$(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function k$(l){if(typeof Symbol<"u"&&l[Symbol.iterator]!=null||l["@@iterator"]!=null)return Array.from(l)}function D$(l){if(Array.isArray(l))return JL(l)}function Zx(l,t){var e=Object.keys(l);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(l);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(l,i).enumerable})),e.push.apply(e,n)}return e}function px(l){for(var t=1;t<arguments.length;t++){var e=arguments[t]!=null?arguments[t]:{};t%2?Zx(Object(e),!0).forEach(function(n){$D(l,n,e[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(l,Object.getOwnPropertyDescriptors(e)):Zx(Object(e)).forEach(function(n){Object.defineProperty(l,n,Object.getOwnPropertyDescriptor(e,n))})}return l}function $D(l,t,e){return t in l?Object.defineProperty(l,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):l[t]=e,l}function F2(l,t){return C$(l)||j$(l,t)||tO(l,t)||O$()}function O$(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function tO(l,t){if(l){if(typeof l=="string")return JL(l,t);var e=Object.prototype.toString.call(l).slice(8,-1);if(e==="Object"&&l.constructor&&(e=l.constructor.name),e==="Map"||e==="Set")return Array.from(l);if(e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return JL(l,t)}}function JL(l,t){(t==null||t>l.length)&&(t=l.length);for(var e=0,n=new Array(t);e<t;e++)n[e]=l[e];return n}function j$(l,t){var e=l==null?null:typeof Symbol<"u"&&l[Symbol.iterator]||l["@@iterator"];if(e!=null){var n=[],i=!0,s=!1,a,c;try{for(e=e.call(l);!(i=(a=e.next()).done)&&(n.push(a.value),!(t&&n.length===t));i=!0);}catch(o){s=!0,c=o}finally{try{!i&&e.return!=null&&e.return()}finally{if(s)throw c}}return n}}function C$(l){if(Array.isArray(l))return l}var F$=typeof LX=="function"?LX:LX.default,J$="file-invalid-type",v$="file-too-large",U$="file-too-small",E$="too-many-files",K$=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",e=t.split(","),n=e.length>1?"one of ".concat(e.join(", ")):e[0];return{code:J$,message:"File type must be ".concat(n)}},yx=function(t){return{code:v$,message:"File is larger than ".concat(t," ").concat(t===1?"byte":"bytes")}},Wx=function(t){return{code:U$,message:"File is smaller than ".concat(t," ").concat(t===1?"byte":"bytes")}},P$={code:E$,message:"Too many files"};function eO(l,t){var e=l.type==="application/x-moz-file"||F$(l,t);return[e,e?null:K$(t)]}function lO(l,t,e){if(nm(l.size))if(nm(t)&&nm(e)){if(l.size>e)return[!1,yx(e)];if(l.size<t)return[!1,Wx(t)]}else{if(nm(t)&&l.size<t)return[!1,Wx(t)];if(nm(e)&&l.size>e)return[!1,yx(e)]}return[!0,null]}function nm(l){return l!=null}function H$(l){var t=l.files,e=l.accept,n=l.minSize,i=l.maxSize,s=l.multiple,a=l.maxFiles,c=l.validator;return!s&&t.length>1||s&&a>=1&&t.length>a?!1:t.every(function(o){var d=eO(o,e),h=F2(d,1),b=h[0],p=lO(o,n,i),y=F2(p,1),M=y[0],T=c?c(o):null;return b&&M&&!T})}function BM(l){return typeof l.isPropagationStopped=="function"?l.isPropagationStopped():typeof l.cancelBubble<"u"?l.cancelBubble:!1}function w1(l){return l.dataTransfer?Array.prototype.some.call(l.dataTransfer.types,function(t){return t==="Files"||t==="application/x-moz-file"}):!!l.target&&!!l.target.files}function Nx(l){l.preventDefault()}function Q$(l){return l.indexOf("MSIE")!==-1||l.indexOf("Trident/")!==-1}function B$(l){return l.indexOf("Edge/")!==-1}function A$(){var l=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return Q$(l)||B$(l)}function Xr(){for(var l=arguments.length,t=new Array(l),e=0;e<l;e++)t[e]=arguments[e];return function(n){for(var i=arguments.length,s=new Array(i>1?i-1:0),a=1;a<i;a++)s[a-1]=arguments[a];return t.some(function(c){return!BM(n)&&c&&c.apply(void 0,[n].concat(s)),BM(n)})}}function _$(){return"showOpenFilePicker"in window}function q$(l){if(nm(l)){var t=Object.entries(l).filter(function(e){var n=F2(e,2),i=n[0],s=n[1],a=!0;return nO(i)||(console.warn('Skipped "'.concat(i,'" because it is not a valid MIME type. Check https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types for a list of valid MIME types.')),a=!1),(!Array.isArray(s)||!s.every(iO))&&(console.warn('Skipped "'.concat(i,'" because an invalid file extension was provided.')),a=!1),a}).reduce(function(e,n){var i=F2(n,2),s=i[0],a=i[1];return px(px({},e),{},$D({},s,a))},{});return[{description:"Files",accept:t}]}return l}function $$(l){if(nm(l))return Object.entries(l).reduce(function(t,e){var n=F2(e,2),i=n[0],s=n[1];return[].concat(bx(t),[i],bx(s))},[]).filter(function(t){return nO(t)||iO(t)}).join(",")}function ttt(l){return l instanceof DOMException&&(l.name==="AbortError"||l.code===l.ABORT_ERR)}function ett(l){return l instanceof DOMException&&(l.name==="SecurityError"||l.code===l.SECURITY_ERR)}function nO(l){return l==="audio/*"||l==="video/*"||l==="image/*"||l==="text/*"||l==="application/*"||/\w+\/[-+.\w]+/g.test(l)}function iO(l){return/^.*\.[\w]+$/.test(l)}var ltt=["children"],ntt=["open"],itt=["refKey","role","onKeyDown","onFocus","onBlur","onClick","onDragEnter","onDragOver","onDragLeave","onDrop"],stt=["refKey","onChange","onClick"];function att(l){return ott(l)||rtt(l)||sO(l)||ctt()}function ctt(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function rtt(l){if(typeof Symbol<"u"&&l[Symbol.iterator]!=null||l["@@iterator"]!=null)return Array.from(l)}function ott(l){if(Array.isArray(l))return vL(l)}function VX(l,t){return mtt(l)||utt(l,t)||sO(l,t)||dtt()}function dtt(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function sO(l,t){if(l){if(typeof l=="string")return vL(l,t);var e=Object.prototype.toString.call(l).slice(8,-1);if(e==="Object"&&l.constructor&&(e=l.constructor.name),e==="Map"||e==="Set")return Array.from(l);if(e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return vL(l,t)}}function vL(l,t){(t==null||t>l.length)&&(t=l.length);for(var e=0,n=new Array(t);e<t;e++)n[e]=l[e];return n}function utt(l,t){var e=l==null?null:typeof Symbol<"u"&&l[Symbol.iterator]||l["@@iterator"];if(e!=null){var n=[],i=!0,s=!1,a,c;try{for(e=e.call(l);!(i=(a=e.next()).done)&&(n.push(a.value),!(t&&n.length===t));i=!0);}catch(o){s=!0,c=o}finally{try{!i&&e.return!=null&&e.return()}finally{if(s)throw c}}return n}}function mtt(l){if(Array.isArray(l))return l}function Mx(l,t){var e=Object.keys(l);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(l);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(l,i).enumerable})),e.push.apply(e,n)}return e}function li(l){for(var t=1;t<arguments.length;t++){var e=arguments[t]!=null?arguments[t]:{};t%2?Mx(Object(e),!0).forEach(function(n){UL(l,n,e[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(l,Object.getOwnPropertyDescriptors(e)):Mx(Object(e)).forEach(function(n){Object.defineProperty(l,n,Object.getOwnPropertyDescriptor(e,n))})}return l}function UL(l,t,e){return t in l?Object.defineProperty(l,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):l[t]=e,l}function AM(l,t){if(l==null)return{};var e=htt(l,t),n,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(l);for(i=0;i<s.length;i++)n=s[i],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(l,n)&&(e[n]=l[n])}return e}function htt(l,t){if(l==null)return{};var e={},n=Object.keys(l),i,s;for(s=0;s<n.length;s++)i=n[s],!(t.indexOf(i)>=0)&&(e[i]=l[i]);return e}var HG=B.forwardRef(function(l,t){var e=l.children,n=AM(l,ltt),i=btt(n),s=i.open,a=AM(i,ntt);return B.useImperativeHandle(t,function(){return{open:s}},[s]),I2.createElement(B.Fragment,null,e(li(li({},a),{},{open:s})))});HG.displayName="Dropzone";var aO={disabled:!1,getFilesFromEvent:X$,maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null,useFsAccessApi:!1,autoFocus:!1};HG.defaultProps=aO;HG.propTypes={children:Vn.func,accept:Vn.objectOf(Vn.arrayOf(Vn.string)),multiple:Vn.bool,preventDropOnDocument:Vn.bool,noClick:Vn.bool,noKeyboard:Vn.bool,noDrag:Vn.bool,noDragEventsBubbling:Vn.bool,minSize:Vn.number,maxSize:Vn.number,maxFiles:Vn.number,disabled:Vn.bool,getFilesFromEvent:Vn.func,onFileDialogCancel:Vn.func,onFileDialogOpen:Vn.func,useFsAccessApi:Vn.bool,autoFocus:Vn.bool,onDragEnter:Vn.func,onDragLeave:Vn.func,onDragOver:Vn.func,onDrop:Vn.func,onDropAccepted:Vn.func,onDropRejected:Vn.func,onError:Vn.func,validator:Vn.func};var EL={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,acceptedFiles:[],fileRejections:[]};function btt(){var l=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=li(li({},aO),l),e=t.accept,n=t.disabled,i=t.getFilesFromEvent,s=t.maxSize,a=t.minSize,c=t.multiple,o=t.maxFiles,d=t.onDragEnter,h=t.onDragLeave,b=t.onDragOver,p=t.onDrop,y=t.onDropAccepted,M=t.onDropRejected,T=t.onFileDialogCancel,Y=t.onFileDialogOpen,L=t.useFsAccessApi,x=t.autoFocus,g=t.preventDropOnDocument,F=t.noClick,j=t.noKeyboard,D=t.noDrag,_=t.noDragEventsBubbling,ut=t.onError,K=t.validator,f=B.useMemo(function(){return $$(e)},[e]),lt=B.useMemo(function(){return q$(e)},[e]),tt=B.useMemo(function(){return typeof Y=="function"?Y:Gx},[Y]),ht=B.useMemo(function(){return typeof T=="function"?T:Gx},[T]),dt=B.useRef(null),It=B.useRef(null),kt=B.useReducer(Ztt,EL),Gt=VX(kt,2),gt=Gt[0],vt=Gt[1],H=gt.isFocused,nt=gt.isFileDialogActive,bt=B.useRef(typeof window<"u"&&window.isSecureContext&&L&&_$()),$=function(){!bt.current&&nt&&setTimeout(function(){if(It.current){var de=It.current.files;de.length||(vt({type:"closeDialog"}),ht())}},300)};B.useEffect(function(){return window.addEventListener("focus",$,!1),function(){window.removeEventListener("focus",$,!1)}},[It,nt,ht,bt]);var _t=B.useRef([]),ce=function(de){dt.current&&dt.current.contains(de.target)||(de.preventDefault(),_t.current=[])};B.useEffect(function(){return g&&(document.addEventListener("dragover",Nx,!1),document.addEventListener("drop",ce,!1)),function(){g&&(document.removeEventListener("dragover",Nx),document.removeEventListener("drop",ce))}},[dt,g]),B.useEffect(function(){return!n&&x&&dt.current&&dt.current.focus(),function(){}},[dt,x,n]);var ne=B.useCallback(function(qt){ut?ut(qt):console.error(qt)},[ut]),Nt=B.useCallback(function(qt){qt.preventDefault(),qt.persist(),Ql(qt),_t.current=[].concat(att(_t.current),[qt.target]),w1(qt)&&Promise.resolve(i(qt)).then(function(de){if(!(BM(qt)&&!_)){var Yt=de.length,Jt=Yt>0&&H$({files:de,accept:f,minSize:a,maxSize:s,multiple:c,maxFiles:o,validator:K}),be=Yt>0&&!Jt;vt({isDragAccept:Jt,isDragReject:be,isDragActive:!0,type:"setDraggedFiles"}),d&&d(qt)}}).catch(function(de){return ne(de)})},[i,d,ne,_,f,a,s,c,o,K]),xt=B.useCallback(function(qt){qt.preventDefault(),qt.persist(),Ql(qt);var de=w1(qt);if(de&&qt.dataTransfer)try{qt.dataTransfer.dropEffect="copy"}catch{}return de&&b&&b(qt),!1},[b,_]),Zt=B.useCallback(function(qt){qt.preventDefault(),qt.persist(),Ql(qt);var de=_t.current.filter(function(Jt){return dt.current&&dt.current.contains(Jt)}),Yt=de.indexOf(qt.target);Yt!==-1&&de.splice(Yt,1),_t.current=de,!(de.length>0)&&(vt({type:"setDraggedFiles",isDragActive:!1,isDragAccept:!1,isDragReject:!1}),w1(qt)&&h&&h(qt))},[dt,h,_]),Ft=B.useCallback(function(qt,de){var Yt=[],Jt=[];qt.forEach(function(be){var ee=eO(be,f),Q=VX(ee,2),C=Q[0],q=Q[1],mt=lO(be,a,s),Vt=VX(mt,2),ie=Vt[0],Ot=Vt[1],fe=K?K(be):null;if(C&&ie&&!fe)Yt.push(be);else{var oe=[q,Ot];fe&&(oe=oe.concat(fe)),Jt.push({file:be,errors:oe.filter(function(_e){return _e})})}}),(!c&&Yt.length>1||c&&o>=1&&Yt.length>o)&&(Yt.forEach(function(be){Jt.push({file:be,errors:[P$]})}),Yt.splice(0)),vt({acceptedFiles:Yt,fileRejections:Jt,isDragReject:Jt.length>0,type:"setFiles"}),p&&p(Yt,Jt,de),Jt.length>0&&M&&M(Jt,de),Yt.length>0&&y&&y(Yt,de)},[vt,c,f,a,s,o,p,y,M,K]),te=B.useCallback(function(qt){qt.preventDefault(),qt.persist(),Ql(qt),_t.current=[],w1(qt)&&Promise.resolve(i(qt)).then(function(de){BM(qt)&&!_||Ft(de,qt)}).catch(function(de){return ne(de)}),vt({type:"reset"})},[i,Ft,ne,_]),he=B.useCallback(function(){if(bt.current){vt({type:"openDialog"}),tt();var qt={multiple:c,types:lt};window.showOpenFilePicker(qt).then(function(de){return i(de)}).then(function(de){Ft(de,null),vt({type:"closeDialog"})}).catch(function(de){ttt(de)?(ht(de),vt({type:"closeDialog"})):ett(de)?(bt.current=!1,It.current?(It.current.value=null,It.current.click()):ne(new Error("Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no <input> was provided."))):ne(de)});return}It.current&&(vt({type:"openDialog"}),tt(),It.current.value=null,It.current.click())},[vt,tt,ht,L,Ft,ne,lt,c]),$e=B.useCallback(function(qt){!dt.current||!dt.current.isEqualNode(qt.target)||(qt.key===" "||qt.key==="Enter"||qt.keyCode===32||qt.keyCode===13)&&(qt.preventDefault(),he())},[dt,he]),je=B.useCallback(function(){vt({type:"focus"})},[]),xe=B.useCallback(function(){vt({type:"blur"})},[]),Ke=B.useCallback(function(){F||(A$()?setTimeout(he,0):he())},[F,he]),Vl=function(de){return n?null:de},gl=function(de){return j?null:Vl(de)},Pl=function(de){return D?null:Vl(de)},Ql=function(de){_&&de.stopPropagation()},El=B.useMemo(function(){return function(){var qt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},de=qt.refKey,Yt=de===void 0?"ref":de,Jt=qt.role,be=qt.onKeyDown,ee=qt.onFocus,Q=qt.onBlur,C=qt.onClick,q=qt.onDragEnter,mt=qt.onDragOver,Vt=qt.onDragLeave,ie=qt.onDrop,Ot=AM(qt,itt);return li(li(UL({onKeyDown:gl(Xr(be,$e)),onFocus:gl(Xr(ee,je)),onBlur:gl(Xr(Q,xe)),onClick:Vl(Xr(C,Ke)),onDragEnter:Pl(Xr(q,Nt)),onDragOver:Pl(Xr(mt,xt)),onDragLeave:Pl(Xr(Vt,Zt)),onDrop:Pl(Xr(ie,te)),role:typeof Jt=="string"&&Jt!==""?Jt:"presentation"},Yt,dt),!n&&!j?{tabIndex:0}:{}),Ot)}},[dt,$e,je,xe,Ke,Nt,xt,Zt,te,j,D,n]),pn=B.useCallback(function(qt){qt.stopPropagation()},[]),sn=B.useMemo(function(){return function(){var qt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},de=qt.refKey,Yt=de===void 0?"ref":de,Jt=qt.onChange,be=qt.onClick,ee=AM(qt,stt),Q=UL({accept:f,multiple:c,type:"file",style:{border:0,clip:"rect(0, 0, 0, 0)",clipPath:"inset(50%)",height:"1px",margin:"0 -1px -1px 0",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap"},onChange:Vl(Xr(Jt,te)),onClick:Vl(Xr(be,pn)),tabIndex:-1},Yt,It);return li(li({},Q),ee)}},[It,e,c,te,n]);return li(li({},gt),{},{isFocused:H&&!n,getRootProps:El,getInputProps:sn,rootRef:dt,inputRef:It,open:Vl(he)})}function Ztt(l,t){switch(t.type){case"focus":return li(li({},l),{},{isFocused:!0});case"blur":return li(li({},l),{},{isFocused:!1});case"openDialog":return li(li({},EL),{},{isFileDialogActive:!0});case"closeDialog":return li(li({},l),{},{isFileDialogActive:!1});case"setDraggedFiles":return li(li({},l),{},{isDragActive:t.isDragActive,isDragAccept:t.isDragAccept,isDragReject:t.isDragReject});case"setFiles":return li(li({},l),{},{acceptedFiles:t.acceptedFiles,fileRejections:t.fileRejections,isDragReject:t.isDragReject});case"reset":return li({},EL);default:return l}}function Gx(){}const IX={content(){const l=new URL(window.location.href);return l.searchParams.get("m")??l.searchParams.get("q")??""},shouldSend(){return new URL(window.location.href).searchParams.has("q")},clear(){HC(["m","q"])}};function ptt(l,t){const e=rl.filterByLeafNodeId(l,t,!0),n=[],i=new Map;for(const a of l)i.set(a.id,a);const s=a=>{let c=i.get(a);for(;c&&c.children.length!==0;)c=i.get(c.children.at(-1)??-1);return(c==null?void 0:c.id)??-1};for(const a of e){const c=i.get(a.parent??-1);if(!c)continue;const o=c.children;a.type!=="root"&&n.push({msg:a,siblingLeafNodeIds:o.map(s),siblingCurrIdx:o.indexOf(a.id)})}return n}function Tx(){const{viewingChat:l,sendMessage:t,isGenerating:e,stopGenerating:n,pendingMessages:i,canvasData:s,replaceMessageAndGenerate:a,continueMessageAndGenerate:c}=xc(),o=u_(IX.content()),d=u$();o_(o,d);const h=B.useRef(null);m_(h);const[b,p]=B.useState(-1),y=B.useMemo(()=>l?ptt(l.messages,b):[],[b,l]),M=(l==null?void 0:l.conv.id)??null,T=i[M??""];B.useEffect(()=>{p(-1)},[M]);const Y=_=>{_&&p(_)},L=async()=>{var ut;const _=o.value();try{const K=e(M??"");if(console.log("IsGenerating",K),_.trim().length===0||K)return;o.setValue(""),p(-1),nu(!1);const f=((ut=y.at(-1))==null?void 0:ut.msg.id)??null,lt=await t(M,f,_,d.items,Y);console.log("Send msg success:",lt),lt||o.setValue(_),d.clearItems()}catch(K){Dn.error(K instanceof Error?K.message:String(K)),o.setValue(_)}},x=async(_,ut)=>{l&&(p(_.id),nu(!1),await a(l.conv.id,_.parent,ut,_.extra,Y),p(-1),nu(!1))},g=async _=>{l&&(p(_.parent),nu(!1),await a(l.conv.id,_.parent,null,_.extra,Y),p(-1),nu(!1))},F=async(_,ut)=>{!l||!c||(p(_.id),nu(!1),await c(l.conv.id,_.id,ut,Y),p(-1),nu(!1))},j=!!s;B.useEffect(()=>{IX.shouldSend()?L():o.focus(),IX.clear()},[o.ref]);const D=T&&!y.some(_=>_.msg.id===T.id)?[{msg:T,siblingLeafNodeIds:[],siblingCurrIdx:0,isPending:!0}]:[];return U.jsxs("div",{className:es({"grid lg:gap-8 grow transition-[300ms]":!0,"grid-cols-[1fr_0fr] lg:grid-cols-[1fr_1fr]":j,"grid-cols-[1fr_0fr]":!j}),children:[U.jsxs("div",{className:es({"flex flex-col w-full lg:w-[75vw] lg:mx-auto":!0,"hidden lg:flex":j,flex:!j}),children:[U.jsx("div",{className:"flex items-center justify-center",children:l==null?void 0:l.conv.model_name}),U.jsxs("div",{id:"messages-list",className:"grow",ref:h,children:[U.jsxs("div",{className:"mt-auto flex justify-center",children:[U.jsx("div",{children:""}),l==null&&U.jsx("div",{className:"w-full max-w-2xl px-4",children:U.jsx("div",{className:"mb-8 text-center",children:U.jsx("p",{className:"text-1xl text-muted-foreground",children:"How can I help you today?"})})})]}),[...y,...D].map(_=>{const ut=_.msg,K=(T==null?void 0:T.id)===ut.id;return U.jsx(s_,{msg:K?T:ut,siblingLeafNodeIds:_.siblingLeafNodeIds,siblingCurrIdx:_.siblingCurrIdx,onRegenerateMessage:g,onEditMessage:x,onChangeSibling:p,isPending:K||_.isPending,onContinueMessage:F},ut.id)})]}),U.jsx(ytt,{textarea:o,extraContext:d,onSend:L,onStop:()=>n(M??""),isGenerating:e(M??"")})]}),U.jsx("div",{className:"w-full sticky top-[7em] h-[calc(100vh-9em)]",children:(s==null?void 0:s.type)===CG.PY_INTERPRETER&&U.jsx(r_,{})})]})}function ytt({textarea:l,extraContext:t,onSend:e,onStop:n,isGenerating:i}){const{config:s}=xc(),[a,c]=B.useState(!1);return U.jsx("div",{role:"group","aria-label":"Chat input",className:es({"flex items-end pt-8 pb-6 sticky bottom-0 bg-base-100":!0,"opacity-50":a}),children:U.jsx(HG,{noClick:!0,onDrop:o=>{c(!1),t.onFileAdded(o)},onDragEnter:()=>c(!0),onDragLeave:()=>c(!1),multiple:!0,children:({getRootProps:o,getInputProps:d})=>U.jsxs("div",{className:"flex flex-col rounded-xl border-1 border-base-content/30 p-3 w-full",onPasteCapture:h=>{const b=h.clipboardData.getData("text/plain");if(b.length>0&&s.pasteLongTextToFileLen>0&&b.length>s.pasteLongTextToFileLen){t.addItems([{type:"context",name:"Pasted Content",content:b}]),h.preventDefault();return}const p=Array.from(h.clipboardData.items).filter(y=>y.kind==="file").map(y=>y.getAsFile()).filter(y=>y!==null);p.length>0&&(h.preventDefault(),t.onFileAdded(p))},...o(),children:[!i&&U.jsx(OR,{items:t.items,removeItem:t.removeItem}),U.jsxs("div",{className:"flex flex-row w-full",children:[U.jsx("textarea",{className:"text-md outline-none border-none w-full resize-vertical lg:resize-none lg:max-h-48 lg:overflow-y-auto",placeholder:"Type a message...",ref:l.ref,onInput:l.onInput,onKeyDown:h=>{h.nativeEvent.isComposing||h.keyCode===229||h.key==="Enter"&&!h.shiftKey&&(h.preventDefault(),e())},id:"msg-input",dir:"auto",rows:2}),U.jsxs("div",{className:"flex flex-row gap-2 ml-2",children:[U.jsx("label",{htmlFor:"file-upload",className:es({"btn w-8 h-8 p-0 rounded-full":!0,"btn-disabled":i}),"aria-label":"Upload file",tabIndex:0,role:"button",children:U.jsx(p_,{className:"h-5 w-5"})}),U.jsx("input",{id:"file-upload",type:"file",disabled:i,...d(),hidden:!0}),i?U.jsx("button",{className:"btn btn-neutral w-8 h-8 p-0 rounded-full",onClick:n,children:U.jsx(W_,{className:"h-5 w-5"})}):U.jsx("button",{className:"btn btn-primary w-8 h-8 p-0 rounded-full",onClick:e,"aria-label":"Send message",children:U.jsx(b_,{className:"h-5 w-5"})})]})]})]})})})}const Wtt=["prefix_role","stop_string","reasoning_format","temperature","top_k","top_p","min_p","max_tokens"],Ntt=["top_n_sigma","adaptive_target","adaptive_decay","xtc_probability","xtc_threshold","dynatemp_range","dynatemp_exponent","typical_p"],Mtt=["dry_multiplier","dry_base","dry_allowed_length","dry_penalty_last_n","repeat_last_n","repeat_penalty","presence_penalty","frequency_penalty"],q0="w-4 h-4 mr-1 inline";function Gtt({currentConfig:l,onLoadPreset:t}){const[e,n]=B.useState(()=>rl.getPresets()),[i,s]=B.useState(""),[a,c]=B.useState(null),{showConfirm:o,showAlert:d}=$L(),h=async()=>{if(!i.trim()){await d("Please enter a preset name");return}const y=e.find(M=>M.name===i.trim());if(y)await o(`Preset "${i}" already exists. Do you want to overwrite it?`)&&(rl.updatePreset(y.id,l),n(rl.getPresets()),s(""),await d("Preset updated successfully"));else{const M=rl.savePreset(i.trim(),l);n([...e,M]),s(""),await d("Preset saved successfully")}},b=async y=>{await o(`Load preset "${y.name}"? Current settings will be replaced.`)&&(t(y.config),c(y.id))},p=async y=>{await o(`Delete preset "${y.name}"?`)&&(rl.deletePreset(y.id),n(e.filter(M=>M.id!==y.id)),a===y.id&&c(null))};return U.jsxs("div",{className:"space-y-4",children:[U.jsxs("div",{className:"form-control",children:[U.jsx("label",{className:"label",children:U.jsx("span",{className:"label-text",children:"Save current settings as preset"})}),U.jsxs("div",{className:"join",children:[U.jsx("input",{type:"text",placeholder:"Enter preset name",className:"input input-bordered join-item flex-1",value:i,onChange:y=>s(y.target.value),onKeyPress:y=>{y.key==="Enter"&&h()}}),U.jsx("button",{className:"btn btn-primary join-item",onClick:h,children:"Save Preset"})]})]}),U.jsxs("div",{className:"form-control",children:[U.jsx("label",{className:"label",children:U.jsx("span",{className:"label-text",children:"Saved presets"})}),e.length===0?U.jsx("div",{className:"alert",children:U.jsx("span",{children:"No presets saved yet"})}):U.jsx("div",{className:"space-y-2 max-h-64 overflow-y-auto",children:e.map(y=>U.jsx("div",{className:es({"card bg-base-200 p-3":!0,"ring-2 ring-primary":a===y.id}),children:U.jsxs("div",{className:"flex items-center justify-between",children:[U.jsxs("div",{children:[U.jsx("h4",{className:"font-semibold",children:y.name}),U.jsxs("p",{className:"text-sm opacity-70",children:["Created: ",new Date(y.createdAt).toLocaleString()]})]}),U.jsxs("div",{className:"flex gap-2",children:[U.jsx("button",{className:"btn btn-sm btn-primary",onClick:()=>b(y),children:"Load"}),U.jsx("button",{className:"btn btn-sm btn-error",onClick:()=>p(y),children:U.jsx(tV,{className:"w-4 h-4"})})]})]})},y.id))})]})]})}const Ttt=(l,t)=>[{title:U.jsxs(U.Fragment,{children:[U.jsx(hJ,{className:q0}),"Presets"]}),fields:[{type:4,key:"custom",component:()=>U.jsx(Gtt,{currentConfig:l,onLoadPreset:t})}]},{title:U.jsxs(U.Fragment,{children:[U.jsx(GJ,{className:q0}),"General"]}),fields:[{type:0,label:"API Key",key:"apiKey"},{type:1,label:"System Message (will be disabled if left empty)",key:"systemMessage"},{type:3,label:"Completion Type",key:"completionType",options:"Chat|Text"},...Wtt.map(e=>({type:0,label:e,key:e})),{type:0,label:"Paste length to file",key:"pasteLongTextToFileLen"},{type:2,label:"Parse PDF as image instead of text",key:"pdfAsImage"}]},{title:U.jsxs(U.Fragment,{children:[U.jsx(zJ,{className:q0}),"Samplers"]}),fields:[{type:0,label:"Samplers queue",key:"samplers"},...Ntt.map(e=>({type:0,label:e,key:e}))]},{title:U.jsxs(U.Fragment,{children:[U.jsx(xJ,{className:q0}),"Penalties"]}),fields:Mtt.map(e=>({type:0,label:e,key:e}))},{title:U.jsxs(U.Fragment,{children:[U.jsx(ZJ,{className:q0}),"Reasoning"]}),fields:[{type:2,label:"Expand thought process by default when generating messages",key:"showThoughtInProgress"},{type:2,label:"Exclude thought process when sending requests to API (Recommended for Reasoning Models like Deepseek R1)",key:"excludeThoughtOnReq"}]},{title:U.jsxs(U.Fragment,{children:[U.jsx(FJ,{className:q0}),"Advanced"]}),fields:[{type:4,key:"custom",component:()=>{const e=async()=>{const i=await(await fetch("/demo-conversation.json")).json();rl.remove(i.id);for(const s of i.messages)rl.appendMsg(i.id,s,s.model_name)};return U.jsx("button",{className:"btn",onClick:e,children:"(debug) Import demo conversation"})}},{type:4,key:"custom",component:()=>{const e=async()=>{const n=await rl.exportDB(),i=document.createElement("a");document.body.appendChild(i),i.href=URL.createObjectURL(n),document.body.appendChild(i),i.download="llamawebui_dump.json",i.click(),document.body.removeChild(i)};return U.jsx("button",{className:"btn",onClick:e,children:"Export conversation database"})}},{type:4,key:"custom",component:()=>{const e=async n=>{if(console.log(n),!n.target.files)throw Dn.error("Target.files cant be null"),new Error("e.target.files cant be null");if(n.target.files.length!=1)throw Dn.error("Number of selected files for DB import must be 1 but was "+n.target.files.length+"."),new Error("Number of selected files for DB import must be 1 but was "+n.target.files.length+".");const i=n.target.files[0];try{if(!i)throw new Error("No DB found to import.");console.log("Importing DB "+i.name),await rl.importDB(i),Dn.success("Import complete"),window.location.reload()}catch(s){Dn.error(""+s)}};return U.jsxs("div",{children:[U.jsxs("label",{htmlFor:"db-import",className:"btn",role:"button",tabIndex:0,children:[" ","Reset and import conversation database"," "]}),U.jsx("input",{id:"db-import",type:"file",accept:".json",className:"file-upload",onInput:e,hidden:!0})]})}},{type:2,label:"Show generation stats (model name, context size, prompt and token per second)",key:"showTokensPerSecond"},{type:2,label:"Use server defaults for parameters (skip sending temp, top_k, top_p, min_p, typical p from WebUI)",key:"useServerDefaults"},{type:1,label:U.jsxs(U.Fragment,{children:["Custom JSON config (For more info, refer to"," ",U.jsx(D1,{href:"https://github.com/ikawrakow/ik_llama.cpp/tree/main/examples/server/README.md",children:"server documentation"}),")"]}),key:"custom"}]},{title:U.jsxs(U.Fragment,{children:[U.jsx(uJ,{className:q0}),"Experimental"]}),fields:[{type:4,key:"custom",component:()=>U.jsx(U.Fragment,{children:U.jsxs("p",{className:"mb-8",children:["Experimental features are not guaranteed to work correctly.",U.jsx("br",{}),U.jsx("br",{}),"If you encounter any problems, create a"," ",U.jsx(D1,{href:"https://github.com/ikawrakow/ik_llama.cpp/issues/new?template=019-bug-misc.yml",children:"Bug (misc.)"})," ","report on Github. Please also specify ",U.jsx("b",{children:"webui/experimental"})," on the report title and include screenshots.",U.jsx("br",{}),U.jsx("br",{}),"Some features may require packages downloaded from CDN, so they need internet connection."]})})},{type:2,label:U.jsxs(U.Fragment,{children:[U.jsx("b",{children:"Enable Python interpreter"}),U.jsx("br",{}),U.jsxs("small",{className:"text-xs",children:["This feature uses"," ",U.jsx(D1,{href:"https://pyodide.org",children:"pyodide"}),', downloaded from CDN. To use this feature, ask the LLM to generate Python code inside a Markdown code block. You will see a "Run" button on the code block, near the "Copy" button.']})]}),key:"pyIntepreterEnabled"}]}];function Xtt({show:l,onClose:t}){const{config:e,saveConfig:n}=xc(),[i,s]=B.useState(0),[a,c]=B.useState(JSON.parse(JSON.stringify(e))),o=Ttt(a,c),d=()=>{window.confirm("Are you sure you want to reset all settings?")&&c(Br)};function h(M){return M in Br}const b=()=>{const M={...Br,...JSON.parse(JSON.stringify(a))};for(const T in M){if(!h(T)){console.log(`Unknown default type for key ${T}`);continue}const Y=M[T],L=fX(Br[T]),x=xX(Br[T]),g=SX(Br[T]);if(x){if(!xX(Y)){alert(`Value for ${T} must be string`);return}}else if(g){const F=Y.toString().trim(),j=Number(F);if(isNaN(j)||!SX(j)||F.length===0){alert(`Value for ${T} must be numeric`);return}M[T]=j}else if(L){if(!fX(Y)){alert(`Value for ${T} must be boolean`);return}}else Dn.error(`Unknown default type for key ${T}`)}n(M),t()},p=M=>T=>{c({...a,[M]:T})},y=B.useRef(null);return U.jsx("dialog",{className:es({modal:!0,"modal-open":l}),children:U.jsxs("div",{className:"modal-box w-11/12 max-w-3xl",children:[U.jsx("h3",{className:"text-lg font-bold mb-6",children:"Settings"}),U.jsxs("div",{className:"flex flex-col md:flex-row h-[calc(90vh-12rem)]",children:[U.jsx("div",{className:"hidden md:flex flex-col items-stretch pr-4 mr-4 border-r-2 border-base-200",children:o.map((M,T)=>U.jsx("div",{className:es({"btn btn-ghost justify-start font-normal w-44 mb-1":!0,"btn-active":i===T}),onClick:()=>s(T),dir:"auto",children:M.title},T))}),U.jsx("div",{className:"md:hidden flex flex-row gap-2 mb-4",children:U.jsxs("details",{className:"dropdown",ref:y,children:[U.jsx("summary",{className:"btn bt-sm w-full m-1",children:o[i].title}),U.jsx("ul",{className:"menu dropdown-content bg-base-100 rounded-box z-[1] w-52 p-2 shadow",children:o.map((M,T)=>U.jsx("div",{className:es({"btn btn-ghost justify-start font-normal":!0,"btn-active":i===T}),onClick:()=>{var Y;s(T),(Y=y.current)==null||Y.removeAttribute("open")},dir:"auto",children:M.title},T))})]})}),U.jsxs("div",{className:"grow overflow-y-auto px-4",children:[o[i].fields.map((M,T)=>{const Y=`${i}-${T}`;if(M.type===0)return U.jsx(Ltt,{configKey:M.key,value:a[M.key],onChange:p(M.key),label:M.label},Y);if(M.type===1)return U.jsx(Ytt,{configKey:M.key,value:a[M.key].toString(),onChange:p(M.key),label:M.label},Y);if(M.type===2)return U.jsx(Vtt,{configKey:M.key,value:!!a[M.key],onChange:p(M.key),label:M.label},Y);if(M.type===3)return U.jsx(Itt,{configKey:M.key,value:a[M.key].toString(),onChange:p(M.key),label:M.label,options:M.options?M.options:""},Y);if(M.type===4)return U.jsx("div",{className:"mb-2",children:typeof M.component=="string"?M.component:M.component({value:a[M.key],onChange:p(M.key)})},Y)}),U.jsx("p",{className:"opacity-40 mb-6 text-sm mt-8",children:"Settings are saved in browser's localStorage"})]})]}),U.jsxs("div",{className:"modal-action",children:[U.jsx("button",{className:"btn",onClick:d,children:"Reset to default"}),U.jsx("button",{className:"btn",onClick:t,children:"Close"}),U.jsx("button",{className:"btn btn-primary",onClick:b,children:"Save"})]})]})})}function Ytt({configKey:l,value:t,onChange:e,label:n}){return U.jsxs("label",{className:"form-control mb-2",children:[U.jsx("div",{className:"label inline",children:n||l}),U.jsx("textarea",{className:"textarea textarea-bordered h-24",placeholder:`Default: ${Br[l]||"none"}`,value:t,onChange:i=>e(i.target.value)})]})}function Ltt({configKey:l,value:t,onChange:e,label:n}){const i=BC[l];return U.jsxs(U.Fragment,{children:[i&&U.jsxs("div",{className:"block md:hidden mb-1",children:[U.jsx("b",{children:n||l}),U.jsx("br",{}),U.jsx("p",{className:"text-xs whitespace-normal",children:i})]}),U.jsxs("label",{className:"input input-bordered join-item grow flex items-center gap-2 mb-2",children:[U.jsxs("div",{className:"dropdown dropdown-hover",children:[U.jsx("div",{tabIndex:0,role:"button",className:"font-bold hidden md:block",children:n||l}),i&&U.jsx("div",{className:"dropdown-content menu bg-base-100 rounded-box z-10 w-64 p-2 shadow mt-4 whitespace-normal break-words",children:i})]}),U.jsx("input",{type:"text",className:"grow",placeholder:`Default: ${Br[l]||"none"}`,value:t,onChange:s=>e(s.target.value)})]})]})}function Vtt({configKey:l,value:t,onChange:e,label:n}){return U.jsxs("div",{className:"flex flex-row items-center mb-2",children:[U.jsx("input",{type:"checkbox",className:"toggle",checked:t,onChange:i=>e(i.target.checked)}),U.jsx("span",{className:"ml-4",children:n||l})]})}function Itt({configKey:l,value:t,onChange:e,label:n,options:i}){const s=i.split("|"),a=i.includes(t)?t:i[0]||"";return U.jsx("div",{className:"flex flex-row items-center mb-2",children:U.jsxs("div",{className:"flex flex-col w-full",children:[U.jsx("label",{className:"mb-1 text-sm font-medium text-gray-700",children:n||l}),U.jsx("select",{className:"select select-bordered w-full max-w-xs",value:a,onChange:c=>e(c.target.value),children:s.map(c=>U.jsx("option",{value:c,children:c},c))})]})})}function wtt(){return U.jsx(sJ,{children:U.jsx(IC,{children:U.jsx("div",{className:"flex flex-row drawer lg:drawer-open h-screen",children:U.jsx(iJ,{children:U.jsx(nC,{children:U.jsxs(z1,{element:U.jsx(ztt,{}),children:[U.jsx(z1,{path:"/chat/:convId",element:U.jsx(Tx,{})}),U.jsx(z1,{path:"*",element:U.jsx(Tx,{})})]})})})})})})}function ztt(){const{showSettings:l,setShowSettings:t}=xc();return U.jsxs(U.Fragment,{children:[U.jsx(QU,{}),U.jsxs("main",{className:"drawer-content grow flex flex-col h-screen mx-auto px-4 overflow-auto bg-base-100",id:"main-scroll",children:[U.jsx(KJ,{}),U.jsx(eC,{})]}),U.jsx(Xtt,{show:l,onClose:()=>t(!1)}),U.jsx(lJ,{})]})}oj.createRoot(document.getElementById("root")).render(U.jsx(B.StrictMode,{children:U.jsx(wtt,{})}));</script>
|
||
<style rel="stylesheet" crossorigin>/*! tailwindcss v4.1.1 | MIT License | https://tailwindcss.com */@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-gray-500:oklch(55.1% .027 264.364);--color-gray-700:oklch(37.3% .034 259.733);--color-black:#000;--spacing:.25rem;--container-xs:20rem;--container-2xl:42rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:color-mix(in oklab,currentColor 50%,transparent)}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme=light]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(98% 0 0);--color-base-300:oklch(95% 0 0);--color-base-content:oklch(21% .006 285.885);--color-primary:oklch(45% .24 277.023);--color-primary-content:oklch(93% .034 272.788);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}@media (prefers-color-scheme:dark){:root{color-scheme:dark;--color-base-100:oklch(25.33% .016 252.42);--color-base-200:oklch(23.26% .014 253.1);--color-base-300:oklch(21.15% .012 254.09);--color-base-content:oklch(97.807% .029 256.847);--color-primary:oklch(58% .233 277.117);--color-primary-content:oklch(96% .018 272.314);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}}:root:has(input.theme-controller[value=light]:checked),[data-theme=light]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(98% 0 0);--color-base-300:oklch(95% 0 0);--color-base-content:oklch(21% .006 285.885);--color-primary:oklch(45% .24 277.023);--color-primary-content:oklch(93% .034 272.788);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root:has(input.theme-controller[value=dark]:checked),[data-theme=dark]{color-scheme:dark;--color-base-100:oklch(25.33% .016 252.42);--color-base-200:oklch(23.26% .014 253.1);--color-base-300:oklch(21.15% .012 254.09);--color-base-content:oklch(97.807% .029 256.847);--color-primary:oklch(58% .233 277.117);--color-primary-content:oklch(96% .018 272.314);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root:has(input.theme-controller[value=cupcake]:checked),[data-theme=cupcake]{color-scheme:light;--color-base-100:oklch(97.788% .004 56.375);--color-base-200:oklch(93.982% .007 61.449);--color-base-300:oklch(91.586% .006 53.44);--color-base-content:oklch(23.574% .066 313.189);--color-primary:oklch(85% .138 181.071);--color-primary-content:oklch(43% .078 188.216);--color-secondary:oklch(89% .061 343.231);--color-secondary-content:oklch(45% .187 3.815);--color-accent:oklch(90% .076 70.697);--color-accent-content:oklch(47% .157 37.304);--color-neutral:oklch(27% .006 286.033);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(68% .169 237.323);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(69% .17 162.48);--color-success-content:oklch(26% .051 172.552);--color-warning:oklch(79% .184 86.047);--color-warning-content:oklch(28% .066 53.813);--color-error:oklch(64% .246 16.439);--color-error-content:oklch(27% .105 12.094);--radius-selector:1rem;--radius-field:2rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:2px;--depth:1;--noise:0}:root:has(input.theme-controller[value=bumblebee]:checked),[data-theme=bumblebee]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(97% 0 0);--color-base-300:oklch(92% 0 0);--color-base-content:oklch(20% 0 0);--color-primary:oklch(85% .199 91.936);--color-primary-content:oklch(42% .095 57.708);--color-secondary:oklch(75% .183 55.934);--color-secondary-content:oklch(40% .123 38.172);--color-accent:oklch(0% 0 0);--color-accent-content:oklch(100% 0 0);--color-neutral:oklch(37% .01 67.558);--color-neutral-content:oklch(92% .003 48.717);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(39% .09 240.876);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(70% .191 22.216);--color-error-content:oklch(39% .141 25.723);--radius-selector:1rem;--radius-field:.5rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root:has(input.theme-controller[value=emerald]:checked),[data-theme=emerald]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(93% 0 0);--color-base-300:oklch(86% 0 0);--color-base-content:oklch(35.519% .032 262.988);--color-primary:oklch(76.662% .135 153.45);--color-primary-content:oklch(33.387% .04 162.24);--color-secondary:oklch(61.302% .202 261.294);--color-secondary-content:oklch(100% 0 0);--color-accent:oklch(72.772% .149 33.2);--color-accent-content:oklch(0% 0 0);--color-neutral:oklch(35.519% .032 262.988);--color-neutral-content:oklch(98.462% .001 247.838);--color-info:oklch(72.06% .191 231.6);--color-info-content:oklch(0% 0 0);--color-success:oklch(64.8% .15 160);--color-success-content:oklch(0% 0 0);--color-warning:oklch(84.71% .199 83.87);--color-warning-content:oklch(0% 0 0);--color-error:oklch(71.76% .221 22.18);--color-error-content:oklch(0% 0 0);--radius-selector:1rem;--radius-field:.5rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:root:has(input.theme-controller[value=corporate]:checked),[data-theme=corporate]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(93% 0 0);--color-base-300:oklch(86% 0 0);--color-base-content:oklch(22.389% .031 278.072);--color-primary:oklch(58% .158 241.966);--color-primary-content:oklch(100% 0 0);--color-secondary:oklch(55% .046 257.417);--color-secondary-content:oklch(100% 0 0);--color-accent:oklch(60% .118 184.704);--color-accent-content:oklch(100% 0 0);--color-neutral:oklch(0% 0 0);--color-neutral-content:oklch(100% 0 0);--color-info:oklch(60% .126 221.723);--color-info-content:oklch(100% 0 0);--color-success:oklch(62% .194 149.214);--color-success-content:oklch(100% 0 0);--color-warning:oklch(85% .199 91.936);--color-warning-content:oklch(0% 0 0);--color-error:oklch(70% .191 22.216);--color-error-content:oklch(0% 0 0);--radius-selector:.25rem;--radius-field:.25rem;--radius-box:.25rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:root:has(input.theme-controller[value=synthwave]:checked),[data-theme=synthwave]{color-scheme:dark;--color-base-100:oklch(15% .09 281.288);--color-base-200:oklch(20% .09 281.288);--color-base-300:oklch(25% .09 281.288);--color-base-content:oklch(78% .115 274.713);--color-primary:oklch(71% .202 349.761);--color-primary-content:oklch(28% .109 3.907);--color-secondary:oklch(82% .111 230.318);--color-secondary-content:oklch(29% .066 243.157);--color-accent:oklch(75% .183 55.934);--color-accent-content:oklch(26% .079 36.259);--color-neutral:oklch(45% .24 277.023);--color-neutral-content:oklch(87% .065 274.039);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(77% .152 181.912);--color-success-content:oklch(27% .046 192.524);--color-warning:oklch(90% .182 98.111);--color-warning-content:oklch(42% .095 57.708);--color-error:oklch(73.7% .121 32.639);--color-error-content:oklch(23.501% .096 290.329);--radius-selector:1rem;--radius-field:.5rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:root:has(input.theme-controller[value=retro]:checked),[data-theme=retro]{color-scheme:light;--color-base-100:oklch(91.637% .034 90.515);--color-base-200:oklch(88.272% .049 91.774);--color-base-300:oklch(84.133% .065 90.856);--color-base-content:oklch(41% .112 45.904);--color-primary:oklch(80% .114 19.571);--color-primary-content:oklch(39% .141 25.723);--color-secondary:oklch(92% .084 155.995);--color-secondary-content:oklch(44% .119 151.328);--color-accent:oklch(68% .162 75.834);--color-accent-content:oklch(41% .112 45.904);--color-neutral:oklch(44% .011 73.639);--color-neutral-content:oklch(86% .005 56.366);--color-info:oklch(58% .158 241.966);--color-info-content:oklch(96% .059 95.617);--color-success:oklch(51% .096 186.391);--color-success-content:oklch(96% .059 95.617);--color-warning:oklch(64% .222 41.116);--color-warning-content:oklch(96% .059 95.617);--color-error:oklch(70% .191 22.216);--color-error-content:oklch(40% .123 38.172);--radius-selector:.25rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:root:has(input.theme-controller[value=cyberpunk]:checked),[data-theme=cyberpunk]{color-scheme:light;--color-base-100:oklch(94.51% .179 104.32);--color-base-200:oklch(91.51% .179 104.32);--color-base-300:oklch(85.51% .179 104.32);--color-base-content:oklch(0% 0 0);--color-primary:oklch(74.22% .209 6.35);--color-primary-content:oklch(14.844% .041 6.35);--color-secondary:oklch(83.33% .184 204.72);--color-secondary-content:oklch(16.666% .036 204.72);--color-accent:oklch(71.86% .217 310.43);--color-accent-content:oklch(14.372% .043 310.43);--color-neutral:oklch(23.04% .065 269.31);--color-neutral-content:oklch(94.51% .179 104.32);--color-info:oklch(72.06% .191 231.6);--color-info-content:oklch(0% 0 0);--color-success:oklch(64.8% .15 160);--color-success-content:oklch(0% 0 0);--color-warning:oklch(84.71% .199 83.87);--color-warning-content:oklch(0% 0 0);--color-error:oklch(71.76% .221 22.18);--color-error-content:oklch(0% 0 0);--radius-selector:0rem;--radius-field:0rem;--radius-box:0rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:root:has(input.theme-controller[value=valentine]:checked),[data-theme=valentine]{color-scheme:light;--color-base-100:oklch(97% .014 343.198);--color-base-200:oklch(94% .028 342.258);--color-base-300:oklch(89% .061 343.231);--color-base-content:oklch(52% .223 3.958);--color-primary:oklch(65% .241 354.308);--color-primary-content:oklch(100% 0 0);--color-secondary:oklch(62% .265 303.9);--color-secondary-content:oklch(97% .014 308.299);--color-accent:oklch(82% .111 230.318);--color-accent-content:oklch(39% .09 240.876);--color-neutral:oklch(40% .153 2.432);--color-neutral-content:oklch(89% .061 343.231);--color-info:oklch(86% .127 207.078);--color-info-content:oklch(44% .11 240.79);--color-success:oklch(84% .143 164.978);--color-success-content:oklch(43% .095 166.913);--color-warning:oklch(75% .183 55.934);--color-warning-content:oklch(26% .079 36.259);--color-error:oklch(63% .237 25.331);--color-error-content:oklch(97% .013 17.38);--radius-selector:1rem;--radius-field:2rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:root:has(input.theme-controller[value=halloween]:checked),[data-theme=halloween]{color-scheme:dark;--color-base-100:oklch(21% .006 56.043);--color-base-200:oklch(14% .004 49.25);--color-base-300:oklch(0% 0 0);--color-base-content:oklch(84.955% 0 0);--color-primary:oklch(77.48% .204 60.62);--color-primary-content:oklch(19.693% .004 196.779);--color-secondary:oklch(45.98% .248 305.03);--color-secondary-content:oklch(89.196% .049 305.03);--color-accent:oklch(64.8% .223 136.073);--color-accent-content:oklch(0% 0 0);--color-neutral:oklch(24.371% .046 65.681);--color-neutral-content:oklch(84.874% .009 65.681);--color-info:oklch(54.615% .215 262.88);--color-info-content:oklch(90.923% .043 262.88);--color-success:oklch(62.705% .169 149.213);--color-success-content:oklch(12.541% .033 149.213);--color-warning:oklch(66.584% .157 58.318);--color-warning-content:oklch(13.316% .031 58.318);--color-error:oklch(65.72% .199 27.33);--color-error-content:oklch(13.144% .039 27.33);--radius-selector:1rem;--radius-field:.5rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root:has(input.theme-controller[value=garden]:checked),[data-theme=garden]{color-scheme:light;--color-base-100:oklch(92.951% .002 17.197);--color-base-200:oklch(86.445% .002 17.197);--color-base-300:oklch(79.938% .001 17.197);--color-base-content:oklch(16.961% .001 17.32);--color-primary:oklch(62.45% .278 3.836);--color-primary-content:oklch(100% 0 0);--color-secondary:oklch(48.495% .11 355.095);--color-secondary-content:oklch(89.699% .022 355.095);--color-accent:oklch(56.273% .054 154.39);--color-accent-content:oklch(100% 0 0);--color-neutral:oklch(24.155% .049 89.07);--color-neutral-content:oklch(92.951% .002 17.197);--color-info:oklch(72.06% .191 231.6);--color-info-content:oklch(0% 0 0);--color-success:oklch(64.8% .15 160);--color-success-content:oklch(0% 0 0);--color-warning:oklch(84.71% .199 83.87);--color-warning-content:oklch(0% 0 0);--color-error:oklch(71.76% .221 22.18);--color-error-content:oklch(0% 0 0);--radius-selector:1rem;--radius-field:.5rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:root:has(input.theme-controller[value=forest]:checked),[data-theme=forest]{color-scheme:dark;--color-base-100:oklch(20.84% .008 17.911);--color-base-200:oklch(18.522% .007 17.911);--color-base-300:oklch(16.203% .007 17.911);--color-base-content:oklch(83.768% .001 17.911);--color-primary:oklch(68.628% .185 148.958);--color-primary-content:oklch(0% 0 0);--color-secondary:oklch(69.776% .135 168.327);--color-secondary-content:oklch(13.955% .027 168.327);--color-accent:oklch(70.628% .119 185.713);--color-accent-content:oklch(14.125% .023 185.713);--color-neutral:oklch(30.698% .039 171.364);--color-neutral-content:oklch(86.139% .007 171.364);--color-info:oklch(72.06% .191 231.6);--color-info-content:oklch(0% 0 0);--color-success:oklch(64.8% .15 160);--color-success-content:oklch(0% 0 0);--color-warning:oklch(84.71% .199 83.87);--color-warning-content:oklch(0% 0 0);--color-error:oklch(71.76% .221 22.18);--color-error-content:oklch(0% 0 0);--radius-selector:1rem;--radius-field:2rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:root:has(input.theme-controller[value=aqua]:checked),[data-theme=aqua]{color-scheme:dark;--color-base-100:oklch(37% .146 265.522);--color-base-200:oklch(28% .091 267.935);--color-base-300:oklch(22% .091 267.935);--color-base-content:oklch(90% .058 230.902);--color-primary:oklch(85.661% .144 198.645);--color-primary-content:oklch(40.124% .068 197.603);--color-secondary:oklch(60.682% .108 309.782);--color-secondary-content:oklch(96% .016 293.756);--color-accent:oklch(93.426% .102 94.555);--color-accent-content:oklch(18.685% .02 94.555);--color-neutral:oklch(27% .146 265.522);--color-neutral-content:oklch(80% .146 265.522);--color-info:oklch(54.615% .215 262.88);--color-info-content:oklch(90.923% .043 262.88);--color-success:oklch(62.705% .169 149.213);--color-success-content:oklch(12.541% .033 149.213);--color-warning:oklch(66.584% .157 58.318);--color-warning-content:oklch(27% .077 45.635);--color-error:oklch(73.95% .19 27.33);--color-error-content:oklch(14.79% .038 27.33);--radius-selector:1rem;--radius-field:.5rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root:has(input.theme-controller[value=lofi]:checked),[data-theme=lofi]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(97% 0 0);--color-base-300:oklch(94% 0 0);--color-base-content:oklch(0% 0 0);--color-primary:oklch(15.906% 0 0);--color-primary-content:oklch(100% 0 0);--color-secondary:oklch(21.455% .001 17.278);--color-secondary-content:oklch(100% 0 0);--color-accent:oklch(26.861% 0 0);--color-accent-content:oklch(100% 0 0);--color-neutral:oklch(0% 0 0);--color-neutral-content:oklch(100% 0 0);--color-info:oklch(79.54% .103 205.9);--color-info-content:oklch(15.908% .02 205.9);--color-success:oklch(90.13% .153 164.14);--color-success-content:oklch(18.026% .03 164.14);--color-warning:oklch(88.37% .135 79.94);--color-warning-content:oklch(17.674% .027 79.94);--color-error:oklch(78.66% .15 28.47);--color-error-content:oklch(15.732% .03 28.47);--radius-selector:2rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:root:has(input.theme-controller[value=pastel]:checked),[data-theme=pastel]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(98.462% .001 247.838);--color-base-300:oklch(92.462% .001 247.838);--color-base-content:oklch(20% 0 0);--color-primary:oklch(90% .063 306.703);--color-primary-content:oklch(49% .265 301.924);--color-secondary:oklch(89% .058 10.001);--color-secondary-content:oklch(51% .222 16.935);--color-accent:oklch(90% .093 164.15);--color-accent-content:oklch(50% .118 165.612);--color-neutral:oklch(55% .046 257.417);--color-neutral-content:oklch(92% .013 255.508);--color-info:oklch(86% .127 207.078);--color-info-content:oklch(52% .105 223.128);--color-success:oklch(87% .15 154.449);--color-success-content:oklch(52% .154 150.069);--color-warning:oklch(83% .128 66.29);--color-warning-content:oklch(55% .195 38.402);--color-error:oklch(80% .114 19.571);--color-error-content:oklch(50% .213 27.518);--radius-selector:1rem;--radius-field:2rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:2px;--depth:0;--noise:0}:root:has(input.theme-controller[value=fantasy]:checked),[data-theme=fantasy]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(93% 0 0);--color-base-300:oklch(86% 0 0);--color-base-content:oklch(27.807% .029 256.847);--color-primary:oklch(37.45% .189 325.02);--color-primary-content:oklch(87.49% .037 325.02);--color-secondary:oklch(53.92% .162 241.36);--color-secondary-content:oklch(90.784% .032 241.36);--color-accent:oklch(75.98% .204 56.72);--color-accent-content:oklch(15.196% .04 56.72);--color-neutral:oklch(27.807% .029 256.847);--color-neutral-content:oklch(85.561% .005 256.847);--color-info:oklch(72.06% .191 231.6);--color-info-content:oklch(0% 0 0);--color-success:oklch(64.8% .15 160);--color-success-content:oklch(0% 0 0);--color-warning:oklch(84.71% .199 83.87);--color-warning-content:oklch(0% 0 0);--color-error:oklch(71.76% .221 22.18);--color-error-content:oklch(0% 0 0);--radius-selector:1rem;--radius-field:.5rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root:has(input.theme-controller[value=wireframe]:checked),[data-theme=wireframe]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(97% 0 0);--color-base-300:oklch(94% 0 0);--color-base-content:oklch(20% 0 0);--color-primary:oklch(87% 0 0);--color-primary-content:oklch(26% 0 0);--color-secondary:oklch(87% 0 0);--color-secondary-content:oklch(26% 0 0);--color-accent:oklch(87% 0 0);--color-accent-content:oklch(26% 0 0);--color-neutral:oklch(87% 0 0);--color-neutral-content:oklch(26% 0 0);--color-info:oklch(44% .11 240.79);--color-info-content:oklch(90% .058 230.902);--color-success:oklch(43% .095 166.913);--color-success-content:oklch(90% .093 164.15);--color-warning:oklch(47% .137 46.201);--color-warning-content:oklch(92% .12 95.746);--color-error:oklch(44% .177 26.899);--color-error-content:oklch(88% .062 18.334);--radius-selector:0rem;--radius-field:.25rem;--radius-box:.25rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:root:has(input.theme-controller[value=black]:checked),[data-theme=black]{color-scheme:dark;--color-base-100:oklch(0% 0 0);--color-base-200:oklch(19% 0 0);--color-base-300:oklch(22% 0 0);--color-base-content:oklch(87.609% 0 0);--color-primary:oklch(35% 0 0);--color-primary-content:oklch(100% 0 0);--color-secondary:oklch(35% 0 0);--color-secondary-content:oklch(100% 0 0);--color-accent:oklch(35% 0 0);--color-accent-content:oklch(100% 0 0);--color-neutral:oklch(35% 0 0);--color-neutral-content:oklch(100% 0 0);--color-info:oklch(45.201% .313 264.052);--color-info-content:oklch(89.04% .062 264.052);--color-success:oklch(51.975% .176 142.495);--color-success-content:oklch(90.395% .035 142.495);--color-warning:oklch(96.798% .211 109.769);--color-warning-content:oklch(19.359% .042 109.769);--color-error:oklch(62.795% .257 29.233);--color-error-content:oklch(12.559% .051 29.233);--radius-selector:0rem;--radius-field:0rem;--radius-box:0rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:root:has(input.theme-controller[value=luxury]:checked),[data-theme=luxury]{color-scheme:dark;--color-base-100:oklch(14.076% .004 285.822);--color-base-200:oklch(20.219% .004 308.229);--color-base-300:oklch(23.219% .004 308.229);--color-base-content:oklch(75.687% .123 76.89);--color-primary:oklch(100% 0 0);--color-primary-content:oklch(20% 0 0);--color-secondary:oklch(27.581% .064 261.069);--color-secondary-content:oklch(85.516% .012 261.069);--color-accent:oklch(36.674% .051 338.825);--color-accent-content:oklch(87.334% .01 338.825);--color-neutral:oklch(24.27% .057 59.825);--color-neutral-content:oklch(93.203% .089 90.861);--color-info:oklch(79.061% .121 237.133);--color-info-content:oklch(15.812% .024 237.133);--color-success:oklch(78.119% .192 132.154);--color-success-content:oklch(15.623% .038 132.154);--color-warning:oklch(86.127% .136 102.891);--color-warning-content:oklch(17.225% .027 102.891);--color-error:oklch(71.753% .176 22.568);--color-error-content:oklch(14.35% .035 22.568);--radius-selector:1rem;--radius-field:.5rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root:has(input.theme-controller[value=dracula]:checked),[data-theme=dracula]{color-scheme:dark;--color-base-100:oklch(28.822% .022 277.508);--color-base-200:oklch(26.805% .02 277.508);--color-base-300:oklch(24.787% .019 277.508);--color-base-content:oklch(97.747% .007 106.545);--color-primary:oklch(75.461% .183 346.812);--color-primary-content:oklch(15.092% .036 346.812);--color-secondary:oklch(74.202% .148 301.883);--color-secondary-content:oklch(14.84% .029 301.883);--color-accent:oklch(83.392% .124 66.558);--color-accent-content:oklch(16.678% .024 66.558);--color-neutral:oklch(39.445% .032 275.524);--color-neutral-content:oklch(87.889% .006 275.524);--color-info:oklch(88.263% .093 212.846);--color-info-content:oklch(17.652% .018 212.846);--color-success:oklch(87.099% .219 148.024);--color-success-content:oklch(17.419% .043 148.024);--color-warning:oklch(95.533% .134 112.757);--color-warning-content:oklch(19.106% .026 112.757);--color-error:oklch(68.22% .206 24.43);--color-error-content:oklch(13.644% .041 24.43);--radius-selector:1rem;--radius-field:.5rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:root:has(input.theme-controller[value=cmyk]:checked),[data-theme=cmyk]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(95% 0 0);--color-base-300:oklch(90% 0 0);--color-base-content:oklch(20% 0 0);--color-primary:oklch(71.772% .133 239.443);--color-primary-content:oklch(14.354% .026 239.443);--color-secondary:oklch(64.476% .202 359.339);--color-secondary-content:oklch(12.895% .04 359.339);--color-accent:oklch(94.228% .189 105.306);--color-accent-content:oklch(18.845% .037 105.306);--color-neutral:oklch(21.778% 0 0);--color-neutral-content:oklch(84.355% 0 0);--color-info:oklch(68.475% .094 217.284);--color-info-content:oklch(13.695% .018 217.284);--color-success:oklch(46.949% .162 321.406);--color-success-content:oklch(89.389% .032 321.406);--color-warning:oklch(71.236% .159 52.023);--color-warning-content:oklch(14.247% .031 52.023);--color-error:oklch(62.013% .208 28.717);--color-error-content:oklch(12.402% .041 28.717);--radius-selector:1rem;--radius-field:.5rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:root:has(input.theme-controller[value=autumn]:checked),[data-theme=autumn]{color-scheme:light;--color-base-100:oklch(95.814% 0 0);--color-base-200:oklch(89.107% 0 0);--color-base-300:oklch(82.4% 0 0);--color-base-content:oklch(19.162% 0 0);--color-primary:oklch(40.723% .161 17.53);--color-primary-content:oklch(88.144% .032 17.53);--color-secondary:oklch(61.676% .169 23.865);--color-secondary-content:oklch(12.335% .033 23.865);--color-accent:oklch(73.425% .094 60.729);--color-accent-content:oklch(14.685% .018 60.729);--color-neutral:oklch(54.367% .037 51.902);--color-neutral-content:oklch(90.873% .007 51.902);--color-info:oklch(69.224% .097 207.284);--color-info-content:oklch(13.844% .019 207.284);--color-success:oklch(60.995% .08 174.616);--color-success-content:oklch(12.199% .016 174.616);--color-warning:oklch(70.081% .164 56.844);--color-warning-content:oklch(14.016% .032 56.844);--color-error:oklch(53.07% .241 24.16);--color-error-content:oklch(90.614% .048 24.16);--radius-selector:1rem;--radius-field:.5rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root:has(input.theme-controller[value=business]:checked),[data-theme=business]{color-scheme:dark;--color-base-100:oklch(24.353% 0 0);--color-base-200:oklch(22.648% 0 0);--color-base-300:oklch(20.944% 0 0);--color-base-content:oklch(84.87% 0 0);--color-primary:oklch(41.703% .099 251.473);--color-primary-content:oklch(88.34% .019 251.473);--color-secondary:oklch(64.092% .027 229.389);--color-secondary-content:oklch(12.818% .005 229.389);--color-accent:oklch(67.271% .167 35.791);--color-accent-content:oklch(13.454% .033 35.791);--color-neutral:oklch(27.441% .013 253.041);--color-neutral-content:oklch(85.488% .002 253.041);--color-info:oklch(62.616% .143 240.033);--color-info-content:oklch(12.523% .028 240.033);--color-success:oklch(70.226% .094 156.596);--color-success-content:oklch(14.045% .018 156.596);--color-warning:oklch(77.482% .115 81.519);--color-warning-content:oklch(15.496% .023 81.519);--color-error:oklch(51.61% .146 29.674);--color-error-content:oklch(90.322% .029 29.674);--radius-selector:0rem;--radius-field:.25rem;--radius-box:.25rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:root:has(input.theme-controller[value=acid]:checked),[data-theme=acid]{color-scheme:light;--color-base-100:oklch(98% 0 0);--color-base-200:oklch(95% 0 0);--color-base-300:oklch(91% 0 0);--color-base-content:oklch(0% 0 0);--color-primary:oklch(71.9% .357 330.759);--color-primary-content:oklch(14.38% .071 330.759);--color-secondary:oklch(73.37% .224 48.25);--color-secondary-content:oklch(14.674% .044 48.25);--color-accent:oklch(92.78% .264 122.962);--color-accent-content:oklch(18.556% .052 122.962);--color-neutral:oklch(21.31% .128 278.68);--color-neutral-content:oklch(84.262% .025 278.68);--color-info:oklch(60.72% .227 252.05);--color-info-content:oklch(12.144% .045 252.05);--color-success:oklch(85.72% .266 158.53);--color-success-content:oklch(17.144% .053 158.53);--color-warning:oklch(91.01% .212 100.5);--color-warning-content:oklch(18.202% .042 100.5);--color-error:oklch(64.84% .293 29.349);--color-error-content:oklch(12.968% .058 29.349);--radius-selector:1rem;--radius-field:1rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root:has(input.theme-controller[value=lemonade]:checked),[data-theme=lemonade]{color-scheme:light;--color-base-100:oklch(98.71% .02 123.72);--color-base-200:oklch(91.8% .018 123.72);--color-base-300:oklch(84.89% .017 123.72);--color-base-content:oklch(19.742% .004 123.72);--color-primary:oklch(58.92% .199 134.6);--color-primary-content:oklch(11.784% .039 134.6);--color-secondary:oklch(77.75% .196 111.09);--color-secondary-content:oklch(15.55% .039 111.09);--color-accent:oklch(85.39% .201 100.73);--color-accent-content:oklch(17.078% .04 100.73);--color-neutral:oklch(30.98% .075 108.6);--color-neutral-content:oklch(86.196% .015 108.6);--color-info:oklch(86.19% .047 224.14);--color-info-content:oklch(17.238% .009 224.14);--color-success:oklch(86.19% .047 157.85);--color-success-content:oklch(17.238% .009 157.85);--color-warning:oklch(86.19% .047 102.15);--color-warning-content:oklch(17.238% .009 102.15);--color-error:oklch(86.19% .047 25.85);--color-error-content:oklch(17.238% .009 25.85);--radius-selector:1rem;--radius-field:.5rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:root:has(input.theme-controller[value=night]:checked),[data-theme=night]{color-scheme:dark;--color-base-100:oklch(20.768% .039 265.754);--color-base-200:oklch(19.314% .037 265.754);--color-base-300:oklch(17.86% .034 265.754);--color-base-content:oklch(84.153% .007 265.754);--color-primary:oklch(75.351% .138 232.661);--color-primary-content:oklch(15.07% .027 232.661);--color-secondary:oklch(68.011% .158 276.934);--color-secondary-content:oklch(13.602% .031 276.934);--color-accent:oklch(72.36% .176 350.048);--color-accent-content:oklch(14.472% .035 350.048);--color-neutral:oklch(27.949% .036 260.03);--color-neutral-content:oklch(85.589% .007 260.03);--color-info:oklch(68.455% .148 237.251);--color-info-content:oklch(0% 0 0);--color-success:oklch(78.452% .132 181.911);--color-success-content:oklch(15.69% .026 181.911);--color-warning:oklch(83.242% .139 82.95);--color-warning-content:oklch(16.648% .027 82.95);--color-error:oklch(71.785% .17 13.118);--color-error-content:oklch(14.357% .034 13.118);--radius-selector:1rem;--radius-field:.5rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:root:has(input.theme-controller[value=coffee]:checked),[data-theme=coffee]{color-scheme:dark;--color-base-100:oklch(24% .023 329.708);--color-base-200:oklch(21% .021 329.708);--color-base-300:oklch(16% .019 329.708);--color-base-content:oklch(72.354% .092 79.129);--color-primary:oklch(71.996% .123 62.756);--color-primary-content:oklch(14.399% .024 62.756);--color-secondary:oklch(34.465% .029 199.194);--color-secondary-content:oklch(86.893% .005 199.194);--color-accent:oklch(42.621% .074 224.389);--color-accent-content:oklch(88.524% .014 224.389);--color-neutral:oklch(16.51% .015 326.261);--color-neutral-content:oklch(83.302% .003 326.261);--color-info:oklch(79.49% .063 184.558);--color-info-content:oklch(15.898% .012 184.558);--color-success:oklch(74.722% .072 131.116);--color-success-content:oklch(14.944% .014 131.116);--color-warning:oklch(88.15% .14 87.722);--color-warning-content:oklch(17.63% .028 87.722);--color-error:oklch(77.318% .128 31.871);--color-error-content:oklch(15.463% .025 31.871);--radius-selector:1rem;--radius-field:.5rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:root:has(input.theme-controller[value=winter]:checked),[data-theme=winter]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(97.466% .011 259.822);--color-base-300:oklch(93.268% .016 262.751);--color-base-content:oklch(41.886% .053 255.824);--color-primary:oklch(56.86% .255 257.57);--color-primary-content:oklch(91.372% .051 257.57);--color-secondary:oklch(42.551% .161 282.339);--color-secondary-content:oklch(88.51% .032 282.339);--color-accent:oklch(59.939% .191 335.171);--color-accent-content:oklch(11.988% .038 335.171);--color-neutral:oklch(19.616% .063 257.651);--color-neutral-content:oklch(83.923% .012 257.651);--color-info:oklch(88.127% .085 214.515);--color-info-content:oklch(17.625% .017 214.515);--color-success:oklch(80.494% .077 197.823);--color-success-content:oklch(16.098% .015 197.823);--color-warning:oklch(89.172% .045 71.47);--color-warning-content:oklch(17.834% .009 71.47);--color-error:oklch(73.092% .11 20.076);--color-error-content:oklch(14.618% .022 20.076);--radius-selector:1rem;--radius-field:.5rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:root:has(input.theme-controller[value=dim]:checked),[data-theme=dim]{color-scheme:dark;--color-base-100:oklch(30.857% .023 264.149);--color-base-200:oklch(28.036% .019 264.182);--color-base-300:oklch(26.346% .018 262.177);--color-base-content:oklch(82.901% .031 222.959);--color-primary:oklch(86.133% .141 139.549);--color-primary-content:oklch(17.226% .028 139.549);--color-secondary:oklch(73.375% .165 35.353);--color-secondary-content:oklch(14.675% .033 35.353);--color-accent:oklch(74.229% .133 311.379);--color-accent-content:oklch(14.845% .026 311.379);--color-neutral:oklch(24.731% .02 264.094);--color-neutral-content:oklch(82.901% .031 222.959);--color-info:oklch(86.078% .142 206.182);--color-info-content:oklch(17.215% .028 206.182);--color-success:oklch(86.171% .142 166.534);--color-success-content:oklch(17.234% .028 166.534);--color-warning:oklch(86.163% .142 94.818);--color-warning-content:oklch(17.232% .028 94.818);--color-error:oklch(82.418% .099 33.756);--color-error-content:oklch(16.483% .019 33.756);--radius-selector:1rem;--radius-field:.5rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:root:has(input.theme-controller[value=nord]:checked),[data-theme=nord]{color-scheme:light;--color-base-100:oklch(95.127% .007 260.731);--color-base-200:oklch(93.299% .01 261.788);--color-base-300:oklch(89.925% .016 262.749);--color-base-content:oklch(32.437% .022 264.182);--color-primary:oklch(59.435% .077 254.027);--color-primary-content:oklch(11.887% .015 254.027);--color-secondary:oklch(69.651% .059 248.687);--color-secondary-content:oklch(13.93% .011 248.687);--color-accent:oklch(77.464% .062 217.469);--color-accent-content:oklch(15.492% .012 217.469);--color-neutral:oklch(45.229% .035 264.131);--color-neutral-content:oklch(89.925% .016 262.749);--color-info:oklch(69.207% .062 332.664);--color-info-content:oklch(13.841% .012 332.664);--color-success:oklch(76.827% .074 131.063);--color-success-content:oklch(15.365% .014 131.063);--color-warning:oklch(85.486% .089 84.093);--color-warning-content:oklch(17.097% .017 84.093);--color-error:oklch(60.61% .12 15.341);--color-error-content:oklch(12.122% .024 15.341);--radius-selector:1rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:root:has(input.theme-controller[value=sunset]:checked),[data-theme=sunset]{color-scheme:dark;--color-base-100:oklch(22% .019 237.69);--color-base-200:oklch(20% .019 237.69);--color-base-300:oklch(18% .019 237.69);--color-base-content:oklch(77.383% .043 245.096);--color-primary:oklch(74.703% .158 39.947);--color-primary-content:oklch(14.94% .031 39.947);--color-secondary:oklch(72.537% .177 2.72);--color-secondary-content:oklch(14.507% .035 2.72);--color-accent:oklch(71.294% .166 299.844);--color-accent-content:oklch(14.258% .033 299.844);--color-neutral:oklch(26% .019 237.69);--color-neutral-content:oklch(70% .019 237.69);--color-info:oklch(85.559% .085 206.015);--color-info-content:oklch(17.111% .017 206.015);--color-success:oklch(85.56% .085 144.778);--color-success-content:oklch(17.112% .017 144.778);--color-warning:oklch(85.569% .084 74.427);--color-warning-content:oklch(17.113% .016 74.427);--color-error:oklch(85.511% .078 16.886);--color-error-content:oklch(17.102% .015 16.886);--radius-selector:1rem;--radius-field:.5rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:root:has(input.theme-controller[value=caramellatte]:checked),[data-theme=caramellatte]{color-scheme:light;--color-base-100:oklch(98% .016 73.684);--color-base-200:oklch(95% .038 75.164);--color-base-300:oklch(90% .076 70.697);--color-base-content:oklch(40% .123 38.172);--color-primary:oklch(0% 0 0);--color-primary-content:oklch(100% 0 0);--color-secondary:oklch(22.45% .075 37.85);--color-secondary-content:oklch(90% .076 70.697);--color-accent:oklch(46.44% .111 37.85);--color-accent-content:oklch(90% .076 70.697);--color-neutral:oklch(55% .195 38.402);--color-neutral-content:oklch(98% .016 73.684);--color-info:oklch(42% .199 265.638);--color-info-content:oklch(90% .076 70.697);--color-success:oklch(43% .095 166.913);--color-success-content:oklch(90% .076 70.697);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(70% .191 22.216);--color-error-content:oklch(39% .141 25.723);--radius-selector:2rem;--radius-field:.5rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:2px;--depth:1;--noise:1}:root:has(input.theme-controller[value=abyss]:checked),[data-theme=abyss]{color-scheme:dark;--color-base-100:oklch(20% .08 209);--color-base-200:oklch(15% .08 209);--color-base-300:oklch(10% .08 209);--color-base-content:oklch(90% .076 70.697);--color-primary:oklch(92% .2653 125);--color-primary-content:oklch(50% .2653 125);--color-secondary:oklch(83.27% .0764 298.3);--color-secondary-content:oklch(43.27% .0764 298.3);--color-accent:oklch(43% 0 0);--color-accent-content:oklch(98% 0 0);--color-neutral:oklch(30% .08 209);--color-neutral-content:oklch(90% .076 70.697);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(79% .209 151.711);--color-success-content:oklch(26% .065 152.934);--color-warning:oklch(84.8% .1962 84.62);--color-warning-content:oklch(44.8% .1962 84.62);--color-error:oklch(65% .1985 24.22);--color-error-content:oklch(27% .1985 24.22);--radius-selector:2rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root:has(input.theme-controller[value=silk]:checked),[data-theme=silk]{color-scheme:light;--color-base-100:oklch(97% .0035 67.78);--color-base-200:oklch(95% .0081 61.42);--color-base-300:oklch(90% .0081 61.42);--color-base-content:oklch(40% .0081 61.42);--color-primary:oklch(23.27% .0249 284.3);--color-primary-content:oklch(94.22% .2505 117.44);--color-secondary:oklch(23.27% .0249 284.3);--color-secondary-content:oklch(73.92% .2135 50.94);--color-accent:oklch(23.27% .0249 284.3);--color-accent-content:oklch(88.92% .2061 189.9);--color-neutral:oklch(20% 0 0);--color-neutral-content:oklch(80% .0081 61.42);--color-info:oklch(80.39% .1148 241.68);--color-info-content:oklch(30.39% .1148 241.68);--color-success:oklch(83.92% .0901 136.87);--color-success-content:oklch(23.92% .0901 136.87);--color-warning:oklch(83.92% .1085 80);--color-warning-content:oklch(43.92% .1085 80);--color-error:oklch(75.1% .1814 22.37);--color-error-content:oklch(35.1% .1814 22.37);--radius-selector:2rem;--radius-field:.5rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:2px;--depth:1;--noise:0}@property --radialprogress{syntax: "<percentage>"; inherits: true; initial-value: 0%;}:root{scrollbar-color:color-mix(in oklch,currentColor 35%,#0000)#0000}:root:has(.modal-open,.modal[open],.modal:target,.modal-toggle:checked,.drawer:not([class*=drawer-open])>.drawer-toggle:checked){overflow:hidden}:root,[data-theme]{background-color:var(--root-bg,var(--color-base-100));color:var(--color-base-content)}:root{--fx-noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.34' numOctaves='4' stitchTiles='stitch'%3E%3C/feTurbulence%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)' opacity='0.2'%3E%3C/rect%3E%3C/svg%3E")}.chat{--mask-chat:url("data:image/svg+xml,%3csvg width='13' height='13' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='M0 11.5004C0 13.0004 2 13.0004 2 13.0004H12H13V0.00036329L12.5 0C12.5 0 11.977 2.09572 11.8581 2.50033C11.6075 3.35237 10.9149 4.22374 9 5.50036C6 7.50036 0 10.0004 0 11.5004Z'/%3e%3c/svg%3e")}:where(:root:has(.modal-open,.modal[open],.modal:target,.modal-toggle:checked,.drawer:not(.drawer-open)>.drawer-toggle:checked)){scrollbar-gutter:stable;background-image:linear-gradient(var(--color-base-100),var(--color-base-100));--root-bg:color-mix(in srgb,var(--color-base-100),oklch(0% 0 0) 40%)}@supports (color:color-mix(in lab,red,red)){:where(:root:has(.modal-open,.modal[open],.modal:target,.modal-toggle:checked,.drawer:not(.drawer-open)>.drawer-toggle:checked)){--root-bg:color-mix(in srgb,var(--color-base-100),oklch(0% 0 0) 40%)}}}@layer components;@layer utilities{.diff{webkit-user-select:none;-webkit-user-select:none;user-select:none;direction:ltr;grid-template-columns:auto 1fr;width:100%;display:grid;position:relative;overflow:hidden;container-type:inline-size}.diff:focus-visible,.diff:has(.diff-item-1:focus){outline-style:var(--tw-outline-style);outline-offset:1px;outline-width:2px;outline-color:var(--color-base-content)}.diff:focus-visible .diff-resizer{min-width:90cqi;max-width:90cqi}.diff:has(.diff-item-2:focus-visible){outline-style:var(--tw-outline-style);outline-offset:1px;outline-width:2px}.diff:has(.diff-item-2:focus-visible) .diff-resizer{min-width:10cqi;max-width:10cqi}@supports (-webkit-overflow-scrolling:touch) and (overflow:-webkit-paged-x){.diff:focus .diff-resizer{min-width:10cqi;max-width:10cqi}.diff:has(.diff-item-1:focus) .diff-resizer{min-width:90cqi;max-width:90cqi}}.modal{pointer-events:none;visibility:hidden;width:100%;max-width:none;height:100%;max-height:none;color:inherit;transition:transform .3s ease-out,visibility .3s allow-discrete,background-color .3s ease-out,opacity .1s ease-out;overscroll-behavior:contain;z-index:999;background-color:#0000;place-items:center;margin:0;padding:0;display:grid;position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden}.modal::backdrop{display:none}.modal.modal-open,.modal[open],.modal:target{pointer-events:auto;visibility:visible;opacity:1;background-color:#0006;transition:transform .3s ease-out,background-color .3s ease-out,opacity .1s ease-out}:is(.modal.modal-open,.modal[open],.modal:target) .modal-box{opacity:1;translate:0;scale:1}@starting-style{.modal.modal-open,.modal[open],.modal:target{visibility:hidden;opacity:0}}.drawer-side{pointer-events:none;visibility:hidden;overscroll-behavior:contain;opacity:0;width:100%;transition:opacity .2s ease-out .1s allow-discrete,visibility .3s ease-out .1s allow-discrete;inset-inline-start:0;grid-template-rows:repeat(1,minmax(0,1fr));grid-template-columns:repeat(1,minmax(0,1fr));grid-row-start:1;grid-column-start:1;place-items:flex-start start;height:100dvh;display:grid;position:fixed;top:0;overflow:hidden}.drawer-side>.drawer-overlay{cursor:pointer;background-color:#0006;place-self:stretch stretch;position:sticky;top:0}.drawer-side>*{grid-row-start:1;grid-column-start:1}.drawer-side>:not(.drawer-overlay){will-change:transform;transition:translate .3s ease-out;translate:-100%}[dir=rtl] :is(.drawer-side>:not(.drawer-overlay)){translate:100%}.drawer-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;opacity:0;width:0;height:0;position:fixed}.drawer-toggle:checked~.drawer-side{pointer-events:auto;visibility:visible;opacity:1;overflow-y:auto}.drawer-toggle:checked~.drawer-side>:not(.drawer-overlay){translate:0%}.drawer-toggle:focus-visible~.drawer-content label.drawer-button{outline-offset:2px;outline:2px solid}.tooltip{--tt-bg:var(--color-neutral);--tt-off: calc(100% + .5rem) ;--tt-tail: calc(100% + 1px + .25rem) ;display:inline-block;position:relative}.tooltip>:where(.tooltip-content),.tooltip[data-tip]:before{border-radius:var(--radius-field);text-align:center;white-space:normal;max-width:20rem;color:var(--color-neutral-content);opacity:0;background-color:var(--tt-bg);pointer-events:none;z-index:1;--tw-content:attr(data-tip);content:var(--tw-content);width:max-content;padding-block:.25rem;padding-inline:.5rem;font-size:.875rem;line-height:1.25em;transition:opacity .2s cubic-bezier(.4,0,.2,1) 75ms,transform .2s cubic-bezier(.4,0,.2,1) 75ms;position:absolute}.tooltip:after{opacity:0;background-color:var(--tt-bg);content:"";pointer-events:none;--mask-tooltip:url("data:image/svg+xml,%3Csvg width='10' height='4' viewBox='0 0 8 4' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.500009 1C3.5 1 3.00001 4 5.00001 4C7 4 6.5 1 9.5 1C10 1 10 0.499897 10 0H0C-1.99338e-08 0.5 0 1 0.500009 1Z' fill='black'/%3E%3C/svg%3E%0A");width:.625rem;height:.25rem;-webkit-mask-position:-1px 0;mask-position:-1px 0;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-image:var(--mask-tooltip);mask-image:var(--mask-tooltip);transition:opacity .2s cubic-bezier(.4,0,.2,1) 75ms,transform .2s cubic-bezier(.4,0,.2,1) 75ms;display:block;position:absolute}:is(.tooltip.tooltip-open,.tooltip[data-tip]:hover,.tooltip:hover,.tooltip:has(:focus-visible))>.tooltip-content,:is(.tooltip.tooltip-open,.tooltip[data-tip]:hover,.tooltip:hover,.tooltip:has(:focus-visible))[data-tip]:before,:is(.tooltip.tooltip-open,.tooltip[data-tip]:hover,.tooltip:hover,.tooltip:has(:focus-visible)):after{opacity:1;--tt-pos:0rem;transition:opacity .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1)}.tooltip>.tooltip-content,.tooltip[data-tip]:before{transform:translate(-50%)translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-off)50%}.tooltip:after{transform:translate(-50%)translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-tail)50%}.tab{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:center;webkit-user-select:none;-webkit-user-select:none;user-select:none;--tab-p:1rem;--tab-bg:var(--color-base-100);--tab-border-color:var(--color-base-300);--tab-radius-ss:0;--tab-radius-se:0;--tab-radius-es:0;--tab-radius-ee:0;--tab-order:0;--tab-radius-min:calc(.75rem - var(--border));flex-wrap:wrap;order:var(--tab-order);height:calc(var(--size-field,.25rem)*10);border-color:#0000;justify-content:center;align-items:center;padding-inline-start:var(--tab-p);padding-inline-end:var(--tab-p);font-size:.875rem;display:inline-flex;position:relative}@media (hover:hover){.tab:hover{color:var(--color-base-content)}}.tab:is(input[type=radio]){min-width:fit-content}.tab:is(input[type=radio]):after{content:attr(aria-label)}.tab:is(label){position:relative}.tab:is(label) input{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;opacity:0;position:absolute;top:0;right:0;bottom:0;left:0}:is(.tab:checked,.tab:is(label:has(:checked)),.tab:is(.tab-active,[aria-selected=true]))+.tab-content{height:100%;display:block}.tab:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true]){color:color-mix(in srgb,var(--color-base-content)50%,transparent)}@supports (color:color-mix(in lab,red,red)){.tab:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true]){color:color-mix(in oklab,var(--color-base-content)50%,transparent)}}.tab:not(input):empty{cursor:default;flex-grow:1}.tab:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.tab:focus{outline-offset:2px;outline:2px solid #0000}}.tab:focus-visible,.tab:is(label:has(:checked:focus-visible)){outline-offset:-5px;outline:2px solid}.tab[disabled]{pointer-events:none;opacity:.4}.menu{--menu-active-fg:var(--color-neutral-content);--menu-active-bg:var(--color-neutral);flex-flow:column wrap;width:fit-content;padding:.5rem;font-size:.875rem;display:flex}.menu :where(li ul){white-space:nowrap;margin-inline-start:1rem;padding-inline-start:.5rem;position:relative}.menu :where(li ul):before{background-color:var(--color-base-content);opacity:.1;width:var(--border);content:"";inset-inline-start:0;position:absolute;top:.75rem;bottom:.75rem}.menu :where(li>.menu-dropdown:not(.menu-dropdown-show)){display:none}.menu :where(li:not(.menu-title)>:not(ul,details,.menu-title,.btn)),.menu :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);text-align:start;text-wrap:balance;-webkit-user-select:none;user-select:none;grid-auto-columns:minmax(auto,max-content) auto max-content;grid-auto-flow:column;align-content:flex-start;align-items:center;gap:.5rem;padding-block:.375rem;padding-inline:.75rem;transition-property:color,background-color,box-shadow;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);display:grid}.menu :where(li>details>summary){--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li>details>summary){outline-offset:2px;outline:2px solid #0000}}.menu :where(li>details>summary)::-webkit-details-marker{display:none}:is(.menu :where(li>details>summary),.menu :where(li>.menu-dropdown-toggle)):after{content:"";transform-origin:50%;pointer-events:none;justify-self:flex-end;width:.375rem;height:.375rem;transition-property:rotate,translate;transition-duration:.2s;display:block;translate:0 -1px;rotate:-135deg;box-shadow:inset 2px 2px}.menu :where(li>details[open]>summary):after,.menu :where(li>.menu-dropdown-toggle.menu-dropdown-show):after{translate:0 1px;rotate:45deg}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{cursor:pointer;background-color:color-mix(in srgb,var(--color-base-content)10%,transparent);color:var(--color-base-content);--tw-outline-style:none;outline-style:none}@supports (color:color-mix(in lab,red,red)){:is(.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible){background-color:color-mix(in oklab,var(--color-base-content)10%,transparent)}}@media (forced-colors:active){:is(.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible){outline-offset:2px;outline:2px solid #0000}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){cursor:pointer;background-color:color-mix(in srgb,var(--color-base-content)10%,transparent);--tw-outline-style:none;outline-style:none;box-shadow:inset 0 1px #00000003,inset 0 -1px #ffffff03}@supports (color:color-mix(in lab,red,red)){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){background-color:color-mix(in oklab,var(--color-base-content)10%,transparent)}}@media (forced-colors:active){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){outline-offset:2px;outline:2px solid #0000}}.menu :where(li:empty){background-color:var(--color-base-content);opacity:.1;height:1px;margin:.5rem 1rem}.menu :where(li){flex-flow:column wrap;flex-shrink:0;align-items:stretch;display:flex;position:relative}.menu :where(li) .badge{justify-self:flex-end}.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{--tw-outline-style:none;color:var(--menu-active-fg);background-color:var(--menu-active-bg);background-size:auto,calc(var(--noise)*100%);background-image:none,var(--fx-noise);outline-style:none}@media (forced-colors:active){:is(.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active){outline-offset:2px;outline:2px solid #0000}}:is(.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active):not(:is(.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active):active){box-shadow:0 2px calc(var(--depth)*3px) -2px var(--menu-active-bg)}.menu :where(li).menu-disabled{pointer-events:none;color:color-mix(in srgb,var(--color-base-content)20%,transparent)}@supports (color:color-mix(in lab,red,red)){.menu :where(li).menu-disabled{color:color-mix(in oklab,var(--color-base-content)20%,transparent)}}.menu .dropdown:focus-within .menu-dropdown-toggle:after{translate:0 1px;rotate:45deg}.menu .dropdown-content{margin-top:.5rem;padding:.5rem}.menu .dropdown-content:before{display:none}.collapse-arrow>.collapse-title:after{content:"";transform-origin:75% 75%;pointer-events:none;top:1.9rem;width:.5rem;height:.5rem;transition-property:all;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:block;position:absolute;inset-inline-end:1.4rem;transform:translateY(-100%)rotate(45deg);box-shadow:2px 2px}.dropdown{position-area:var(--anchor-v,bottom)var(--anchor-h,span-right);display:inline-block;position:relative}.dropdown>:not(summary):focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.dropdown>:not(summary):focus{outline-offset:2px;outline:2px solid #0000}}.dropdown .dropdown-content{position:absolute}.dropdown:not(details,.dropdown-open,.dropdown-hover:hover,:focus-within) .dropdown-content{transform-origin:top;opacity:0;display:none;scale:95%}.dropdown[popover],.dropdown .dropdown-content{z-index:999;transition-behavior:allow-discrete;transition-property:opacity,scale,display;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation:.2s dropdown}@starting-style{.dropdown[popover],.dropdown .dropdown-content{opacity:0;scale:95%}}:is(.dropdown.dropdown-open,.dropdown:not(.dropdown-hover):focus,.dropdown:focus-within)>[tabindex]:first-child{pointer-events:none}:is(.dropdown.dropdown-open,.dropdown:not(.dropdown-hover):focus,.dropdown:focus-within) .dropdown-content{opacity:1}.dropdown.dropdown-hover:hover .dropdown-content{opacity:1;scale:100%}.dropdown:is(details) summary::-webkit-details-marker{display:none}:is(.dropdown.dropdown-open,.dropdown:focus,.dropdown:focus-within) .dropdown-content{scale:100%}.dropdown:where([popover]){background:0 0}.dropdown[popover]{color:inherit;position:fixed}@supports not (position-area:bottom){.dropdown[popover]{margin:auto}.dropdown[popover].dropdown-open:not(:popover-open){transform-origin:top;opacity:0;display:none;scale:95%}.dropdown[popover]::backdrop{background-color:oklab(0% none none/.3)}}.dropdown[popover]:not(.dropdown-open,:popover-open){transform-origin:top;opacity:0;display:none;scale:95%}.btn{cursor:pointer;text-align:center;vertical-align:middle;outline-offset:2px;webkit-user-select:none;-webkit-user-select:none;user-select:none;padding-inline:var(--btn-p);color:var(--btn-fg);--tw-prose-links:var(--btn-fg);height:var(--size);font-size:var(--fontsize,.875rem);outline-color:var(--btn-color,var(--color-base-content));background-color:var(--btn-bg);background-size:auto,calc(var(--noise)*100%);background-image:none,var(--btn-noise);border-width:var(--border);border-style:solid;border-color:var(--btn-border);text-shadow:0 .5px oklch(100% 0 0/calc(var(--depth)*.15));box-shadow:0 .5px 0 .5px oklch(100% 0 0/calc(var(--depth)*6%)) inset,var(--btn-shadow);--size:calc(var(--size-field,.25rem)*10);--btn-bg:var(--btn-color,var(--color-base-200));--btn-fg:var(--color-base-content);--btn-p:1rem;--btn-border:color-mix(in oklab,var(--btn-bg),#000 calc(var(--depth)*5%));--btn-shadow:0 3px 2px -2px color-mix(in oklab,var(--btn-bg)calc(var(--depth)*30%),#0000),0 4px 3px -2px color-mix(in oklab,var(--btn-bg)calc(var(--depth)*30%),#0000);--btn-noise:var(--fx-noise);border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-wrap:nowrap;flex-shrink:0;justify-content:center;align-items:center;gap:.375rem;font-weight:600;transition-property:color,background-color,border-color,box-shadow;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);display:inline-flex}:where(.btn){width:unset}.prose .btn{text-decoration-line:none}@media (hover:hover){.btn:hover{--btn-bg:color-mix(in srgb,var(--btn-color,var(--color-base-200)),#000 7%)}@supports (color:color-mix(in lab,red,red)){.btn:hover{--btn-bg:color-mix(in oklab,var(--btn-color,var(--color-base-200)),#000 7%)}}}.btn:focus-visible{outline-width:2px;outline-style:solid}.btn:active:not(.btn-active){--btn-bg:color-mix(in srgb,var(--btn-color,var(--color-base-200)),#000 5%);--btn-border:color-mix(in srgb,var(--btn-color,var(--color-base-200)),#000 7%);--btn-shadow:0 0 0 0 oklch(0% 0 0/0),0 0 0 0 oklch(0% 0 0/0);translate:0 .5px}@supports (color:color-mix(in lab,red,red)){.btn:active:not(.btn-active){--btn-bg:color-mix(in oklab,var(--btn-color,var(--color-base-200)),#000 5%);--btn-border:color-mix(in oklab,var(--btn-color,var(--color-base-200)),#000 7%)}}.btn:is(:disabled,[disabled],.btn-disabled){pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:color-mix(in srgb,var(--color-base-content)20%,#0000)}.btn:is(:disabled,[disabled],.btn-disabled):not(.btn-link,.btn-ghost){background-color:color-mix(in srgb,var(--color-base-content)10%,transparent);box-shadow:none}@supports (color:color-mix(in lab,red,red)){.btn:is(:disabled,[disabled],.btn-disabled):not(.btn-link,.btn-ghost){background-color:color-mix(in oklab,var(--color-base-content)10%,transparent)}.btn:is(:disabled,[disabled],.btn-disabled){--btn-fg:color-mix(in oklch,var(--color-base-content)20%,#0000)}}@media (hover:hover){.btn:is(:disabled,[disabled],.btn-disabled):hover{pointer-events:none;background-color:color-mix(in srgb,var(--color-neutral)20%,transparent);--btn-border:#0000;--btn-fg:color-mix(in srgb,var(--color-base-content)20%,#0000)}@supports (color:color-mix(in lab,red,red)){.btn:is(:disabled,[disabled],.btn-disabled):hover{background-color:color-mix(in oklab,var(--color-neutral)20%,transparent);--btn-fg:color-mix(in oklch,var(--color-base-content)20%,#0000)}}}.btn:is(input[type=checkbox],input[type=radio]){-webkit-appearance:none;-moz-appearance:none;appearance:none}.btn:is(input[type=checkbox],input[type=radio]):after{content:attr(aria-label)}.btn:where(input:checked:not(.filter .btn)){--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content);isolation:isolate}.loading{pointer-events:none;aspect-ratio:1;vertical-align:middle;width:calc(var(--size-selector,.25rem)*6);background-color:currentColor;display:inline-block;-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:100%;mask-size:100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.collapse{border-radius:var(--radius-box,1rem);grid-template-rows:max-content 0fr;width:100%;transition:grid-template-rows .2s;display:grid;position:relative;overflow:hidden}.collapse:not(td,tr,colgroup){visibility:visible}.collapse>input:is([type=checkbox],[type=radio]){-webkit-appearance:none;-moz-appearance:none;appearance:none;opacity:0;z-index:1;grid-row-start:1;grid-column-start:1;width:100%;min-height:3.75rem;padding:1rem;padding-inline-end:3rem;transition:background-color .2s ease-out}.collapse:is([open],:focus:not(.collapse-close)),.collapse:not(.collapse-close):has(>input:is([type=checkbox],[type=radio]):checked){grid-template-rows:max-content 1fr}.collapse:is([open],:focus:not(.collapse-close))>.collapse-content,.collapse:not(.collapse-close)>:where(input:is([type=checkbox],[type=radio]):checked~.collapse-content){visibility:visible;min-height:fit-content}.collapse:focus-visible,.collapse:has(>input:is([type=checkbox],[type=radio]):focus-visible){outline-color:var(--color-base-content);outline-offset:2px;outline-width:2px;outline-style:solid}.collapse:not(.collapse-close)>input[type=checkbox],.collapse:not(.collapse-close)>input[type=radio]:not(:checked),.collapse:not(.collapse-close)>.collapse-title{cursor:pointer}.collapse:focus:not(.collapse-close,.collapse[open])>.collapse-title{cursor:unset}.collapse:is([open],:focus:not(.collapse-close))>:where(.collapse-content),.collapse:not(.collapse-close)>:where(input:is([type=checkbox],[type=radio]):checked~.collapse-content){padding-bottom:1rem;transition:padding .2s ease-out,background-color .2s ease-out}.collapse[open].collapse-arrow>.collapse-title:after,.collapse.collapse-open.collapse-arrow>.collapse-title:after{transform:translateY(-50%)rotate(225deg)}.collapse.collapse-open.collapse-plus>.collapse-title:after{content:"−"}.collapse.collapse-arrow:focus:not(.collapse-close)>.collapse-title:after,.collapse.collapse-arrow:not(.collapse-close)>input:is([type=checkbox],[type=radio]):checked~.collapse-title:after{transform:translateY(-50%)rotate(225deg)}.collapse[open].collapse-plus>.collapse-title:after,.collapse.collapse-plus:focus:not(.collapse-close)>.collapse-title:after,.collapse.collapse-plus:not(.collapse-close)>input:is([type=checkbox],[type=radio]):checked~.collapse-title:after{content:"−"}.collapse:is(details){width:100%}.collapse:is(details) summary{display:block;position:relative}.collapse:is(details) summary::-webkit-details-marker{display:none}.collapse:is(details) summary{outline:none}.collapse-content{visibility:hidden;min-height:0;cursor:unset;grid-row-start:2;grid-column-start:1;padding-left:1rem;padding-right:1rem;transition:padding .2s ease-out,background-color .2s ease-out}.validator:user-valid{--input-color:var(--color-success)}.validator:user-valid:focus{--input-color:var(--color-success)}.validator:user-valid:checked{--input-color:var(--color-success)}.validator:user-valid[aria-checked=true]{--input-color:var(--color-success)}.validator:user-valid:focus-within{--input-color:var(--color-success)}.validator:has(:user-valid){--input-color:var(--color-success)}.validator:has(:user-valid):focus{--input-color:var(--color-success)}.validator:has(:user-valid):checked{--input-color:var(--color-success)}.validator:has(:user-valid)[aria-checked=true]{--input-color:var(--color-success)}.validator:has(:user-valid):focus-within{--input-color:var(--color-success)}.validator:user-invalid{--input-color:var(--color-error)}.validator:user-invalid:focus{--input-color:var(--color-error)}.validator:user-invalid:checked{--input-color:var(--color-error)}.validator:user-invalid[aria-checked=true]{--input-color:var(--color-error)}.validator:user-invalid:focus-within{--input-color:var(--color-error)}.validator:user-invalid~.validator-hint{visibility:visible;color:var(--color-error);display:block}.validator:has(:user-invalid){--input-color:var(--color-error)}.validator:has(:user-invalid):focus{--input-color:var(--color-error)}.validator:has(:user-invalid):checked{--input-color:var(--color-error)}.validator:has(:user-invalid)[aria-checked=true]{--input-color:var(--color-error)}.validator:has(:user-invalid):focus-within{--input-color:var(--color-error)}.validator:has(:user-invalid)~.validator-hint{visibility:visible;color:var(--color-error);display:block}.validator~.validator-hint{visibility:hidden}.\!visible{visibility:visible!important}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.list{flex-direction:column;font-size:.875rem;display:flex}.list :where(.list-row){--list-grid-cols:minmax(0,auto)1fr;border-radius:var(--radius-box);word-break:break-word;grid-auto-flow:column;grid-template-columns:var(--list-grid-cols);gap:1rem;padding:1rem;display:grid;position:relative}.list :where(.list-row):has(.list-col-grow:first-child){--list-grid-cols:1fr}.list :where(.list-row):has(.list-col-grow:nth-child(2)){--list-grid-cols:minmax(0,auto)1fr}.list :where(.list-row):has(.list-col-grow:nth-child(3)){--list-grid-cols:minmax(0,auto)minmax(0,auto)1fr}.list :where(.list-row):has(.list-col-grow:nth-child(4)){--list-grid-cols:minmax(0,auto)minmax(0,auto)minmax(0,auto)1fr}.list :where(.list-row):has(.list-col-grow:nth-child(5)){--list-grid-cols:minmax(0,auto)minmax(0,auto)minmax(0,auto)minmax(0,auto)1fr}.list :where(.list-row):has(.list-col-grow:nth-child(6)){--list-grid-cols:minmax(0,auto)minmax(0,auto)minmax(0,auto)minmax(0,auto)minmax(0,auto)1fr}.list :where(.list-row) :not(.list-col-wrap){grid-row-start:1}:is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after{content:"";border-bottom:var(--border)solid;inset-inline:var(--radius-box);border-color:color-mix(in srgb,var(--color-base-content)5%,transparent);position:absolute;bottom:0}@supports (color:color-mix(in lab,red,red)){:is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after{border-color:color-mix(in oklab,var(--color-base-content)5%,transparent)}}.toast{white-space:nowrap;min-width:fit-content;translate:var(--toast-x,0)var(--toast-y,0);inset-inline:auto 0;background-color:#0000;flex-direction:column;gap:.5rem;margin:1rem;display:flex;position:fixed;top:auto;bottom:0}.toast>*{animation:.25s ease-out toast}.toast:where(.toast-start){--toast-x:0;inset-inline:0 auto}.toast:where(.toast-center){--toast-x:-50%;inset-inline:50%}.toast:where(.toast-end){--toast-x:0;inset-inline:auto 0}.toast:where(.toast-bottom){--toast-y:0;top:auto;bottom:0}.toast:where(.toast-middle){--toast-y:-50%;top:50%;bottom:auto}.toast:where(.toast-top){--toast-y:0;top:0;bottom:auto}.toggle{border:var(--border)solid currentColor;color:var(--input-color);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;vertical-align:middle;webkit-user-select:none;-webkit-user-select:none;user-select:none;--radius-selector-max:calc(var(--radius-selector) + var(--radius-selector) + var(--radius-selector));border-radius:calc(var(--radius-selector) + min(var(--toggle-p),var(--radius-selector-max)) + min(var(--border),var(--radius-selector-max)));padding:var(--toggle-p);box-shadow:0 1px color-mix(in oklab,currentColor calc(var(--depth)*10%),#0000) inset;--input-color:color-mix(in srgb,var(--color-base-content)50%,#0000);--toggle-p:.1875rem;--size:calc(var(--size-selector,.25rem)*6);width:calc((var(--size)*2) - (var(--border) + var(--toggle-p))*2);height:var(--size);flex-shrink:0;grid-template-columns:0fr 1fr 1fr;place-content:center;transition:color .3s,grid-template-columns .2s;display:inline-grid;position:relative}@supports (color:color-mix(in lab,red,red)){.toggle{--input-color:color-mix(in oklab,var(--color-base-content)50%,#0000)}}.toggle>*{z-index:1;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#0000;border:none;grid-column:2/span 1;grid-row-start:1;height:100%;padding:.125rem;transition:opacity .2s,rotate .4s}.toggle>:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.toggle>:focus{outline-offset:2px;outline:2px solid #0000}}.toggle>:nth-child(2){color:var(--color-base-100);rotate:none}.toggle>:nth-child(3){color:var(--color-base-100);opacity:0;rotate:-15deg}.toggle:has(:checked)>:nth-child(2){opacity:0;rotate:15deg}.toggle:has(:checked)>:nth-child(3){opacity:1;rotate:none}.toggle:before{aspect-ratio:1;border-radius:var(--radius-selector);--tw-content:"";content:var(--tw-content);height:100%;box-shadow:0 -1px oklch(0% 0 0/calc(var(--depth)*.1)) inset,0 8px 0 -4px oklch(100% 0 0/calc(var(--depth)*.1)) inset,0 1px color-mix(in oklab,currentColor calc(var(--depth)*10%),#0000);background-color:currentColor;background-size:auto,calc(var(--noise)*100%);background-image:none,var(--fx-noise);grid-row-start:1;grid-column-start:2;transition:background-color .1s,translate .2s,inset-inline-start .2s;position:relative;inset-inline-start:0;translate:0}@media (forced-colors:active){.toggle:before{outline-style:var(--tw-outline-style);outline-offset:-1px;outline-width:1px}}@media print{.toggle:before{outline-offset:-1rem;outline:.25rem solid}}.toggle:focus-visible,.toggle:has(:focus-visible){outline-offset:2px;outline:2px solid}.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked){background-color:var(--color-base-100);--input-color:var(--color-base-content);grid-template-columns:1fr 1fr 0fr}:is(.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked)):before{background-color:currentColor}@starting-style{:is(.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked)):before{opacity:0}}.toggle:indeterminate{grid-template-columns:.5fr 1fr .5fr}.toggle:disabled{cursor:not-allowed;opacity:.3}.toggle:disabled:before{border:var(--border)solid currentColor;background-color:#0000}.input{cursor:text;border:var(--border)solid #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--color-base-100);vertical-align:middle;white-space:nowrap;width:clamp(3rem,20rem,100%);height:var(--size);border-color:var(--input-color);box-shadow:0 1px color-mix(in oklab,var(--input-color)calc(var(--depth)*10%),#0000) inset,0 -1px oklch(100% 0 0/calc(var(--depth)*.1)) inset;--size:calc(var(--size-field,.25rem)*10);--input-color:color-mix(in srgb,var(--color-base-content)20%,#0000);border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-shrink:1;align-items:center;gap:.5rem;padding-inline:.75rem;font-size:.875rem;display:inline-flex;position:relative}@supports (color:color-mix(in lab,red,red)){.input{--input-color:color-mix(in oklab,var(--color-base-content)20%,#0000)}}.input:where(input){display:inline-flex}.input :where(input){-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#0000;border:none;width:100%;height:100%;display:inline-flex}.input :where(input):focus,.input :where(input):focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){:is(.input :where(input):focus,.input :where(input):focus-within){outline-offset:2px;outline:2px solid #0000}}.input :where(input[type=date]){display:inline-block}.input:focus,.input:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px color-mix(in oklab,var(--input-color)calc(var(--depth)*10%),#0000);outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}.input:has(>input[disabled]),.input:is(:disabled,[disabled]){cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:color-mix(in srgb,var(--color-base-content)40%,transparent);box-shadow:none}@supports (color:color-mix(in lab,red,red)){:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled])){color:color-mix(in oklab,var(--color-base-content)40%,transparent)}}:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]))::placeholder{color:color-mix(in srgb,var(--color-base-content)20%,transparent)}@supports (color:color-mix(in lab,red,red)){:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]))::placeholder{color:color-mix(in oklab,var(--color-base-content)20%,transparent)}}.input:has(>input[disabled])>input[disabled]{cursor:not-allowed}.input::-webkit-date-and-time-value{text-align:inherit}.input[type=number]::-webkit-inner-spin-button{margin-block:-.75rem;margin-inline-end:-.75rem}.input::-webkit-calendar-picker-indicator{position:absolute;inset-inline-end:.75em}.indicator{width:max-content;display:inline-flex;position:relative}.indicator :where(.indicator-item){z-index:1;white-space:nowrap;top:var(--inidicator-t,0);bottom:var(--inidicator-b,auto);left:var(--inidicator-s,auto);right:var(--inidicator-e,0);translate:var(--inidicator-x,50%)var(--indicator-y,-50%);position:absolute}.table{border-radius:var(--radius-box);text-align:left;width:100%;font-size:.875rem;position:relative}.table:where(:dir(rtl),[dir=rtl],[dir=rtl] *){text-align:right}@media (hover:hover){:is(.table tr.row-hover,.table tr.row-hover:nth-child(2n)):hover{background-color:var(--color-base-200)}}.table :where(th,td){vertical-align:middle;padding-block:.75rem;padding-inline:1rem}.table :where(thead,tfoot){white-space:nowrap;color:color-mix(in srgb,var(--color-base-content)60%,transparent);font-size:.875rem;font-weight:600}@supports (color:color-mix(in lab,red,red)){.table :where(thead,tfoot){color:color-mix(in oklab,var(--color-base-content)60%,transparent)}}.table :where(tfoot){border-top:var(--border)solid color-mix(in srgb,var(--color-base-content)5%,#0000)}@supports (color:color-mix(in lab,red,red)){.table :where(tfoot){border-top:var(--border)solid color-mix(in oklch,var(--color-base-content)5%,#0000)}}.table :where(.table-pin-rows thead tr){z-index:1;background-color:var(--color-base-100);position:sticky;top:0}.table :where(.table-pin-rows tfoot tr){z-index:1;background-color:var(--color-base-100);position:sticky;bottom:0}.table :where(.table-pin-cols tr th){background-color:var(--color-base-100);position:sticky;left:0;right:0}.table :where(thead tr,tbody tr:not(:last-child)){border-bottom:var(--border)solid color-mix(in srgb,var(--color-base-content)5%,#0000)}@supports (color:color-mix(in lab,red,red)){.table :where(thead tr,tbody tr:not(:last-child)){border-bottom:var(--border)solid color-mix(in oklch,var(--color-base-content)5%,#0000)}}.steps{counter-reset:step;grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid;overflow:auto hidden}.steps .step{text-align:center;--step-bg:var(--color-base-300);--step-fg:var(--color-base-content);grid-template-rows:40px 1fr;grid-template-columns:auto;place-items:center;min-width:4rem;display:grid}.steps .step:before{width:100%;height:.5rem;color:var(--step-bg);background-color:var(--step-bg);--tw-content:"";content:var(--tw-content);border:1px solid;grid-row-start:1;grid-column-start:1;margin-inline-start:-100%;top:0}.steps .step>.step-icon,.steps .step:not(:has(.step-icon)):after{content:counter(step);counter-increment:step;z-index:1;color:var(--step-fg);background-color:var(--step-bg);border:1px solid var(--step-bg);border-radius:3.40282e38px;grid-row-start:1;grid-column-start:1;place-self:center;place-items:center;width:2rem;height:2rem;display:grid;position:relative}.steps .step:first-child:before{content:none}.steps .step[data-content]:after{content:attr(data-content)}.steps .step-neutral+.step-neutral:before,.steps .step-neutral:after,.steps .step-neutral>.step-icon{--step-bg:var(--color-neutral);--step-fg:var(--color-neutral-content)}.steps .step-primary+.step-primary:before,.steps .step-primary:after,.steps .step-primary>.step-icon{--step-bg:var(--color-primary);--step-fg:var(--color-primary-content)}.steps .step-secondary+.step-secondary:before,.steps .step-secondary:after,.steps .step-secondary>.step-icon{--step-bg:var(--color-secondary);--step-fg:var(--color-secondary-content)}.steps .step-accent+.step-accent:before,.steps .step-accent:after,.steps .step-accent>.step-icon{--step-bg:var(--color-accent);--step-fg:var(--color-accent-content)}.steps .step-info+.step-info:before,.steps .step-info:after,.steps .step-info>.step-icon{--step-bg:var(--color-info);--step-fg:var(--color-info-content)}.steps .step-success+.step-success:before,.steps .step-success:after,.steps .step-success>.step-icon{--step-bg:var(--color-success);--step-fg:var(--color-success-content)}.steps .step-warning+.step-warning:before,.steps .step-warning:after,.steps .step-warning>.step-icon{--step-bg:var(--color-warning);--step-fg:var(--color-warning-content)}.steps .step-error+.step-error:before,.steps .step-error:after,.steps .step-error>.step-icon{--step-bg:var(--color-error);--step-fg:var(--color-error-content)}.range{-webkit-appearance:none;-moz-appearance:none;appearance:none;webkit-appearance:none;--range-thumb:var(--color-base-100);--range-thumb-size:calc(var(--size-selector,.25rem)*6);--range-progress:currentColor;--range-fill:1;--range-p:.25rem;--range-bg:color-mix(in oklab,currentColor 10%,#0000);cursor:pointer;vertical-align:middle;--radius-selector-max:calc(var(--radius-selector) + var(--radius-selector) + var(--radius-selector));border-radius:calc(var(--radius-selector) + min(var(--range-p),var(--radius-selector-max)));width:clamp(3rem,20rem,100%);height:var(--range-thumb-size);background-color:#0000;border:none;overflow:hidden}[dir=rtl] .range{--range-dir:-1}.range:focus{outline:none}.range:focus-visible{outline-offset:2px;outline:2px solid}.range::-webkit-slider-runnable-track{background-color:var(--range-bg);border-radius:var(--radius-selector);width:100%;height:calc(var(--range-thumb-size)*.5)}@media (forced-colors:active){.range::-webkit-slider-runnable-track{border:1px solid}.range::-moz-range-track{border:1px solid}}.range::-webkit-slider-thumb{box-sizing:border-box;border-radius:calc(var(--radius-selector) + min(var(--range-p),var(--radius-selector-max)));height:var(--range-thumb-size);width:var(--range-thumb-size);border:var(--range-p)solid;-webkit-appearance:none;-moz-appearance:none;appearance:none;webkit-appearance:none;color:var(--range-progress);box-shadow:0 -1px oklch(0% 0 0/calc(var(--depth)*.1)) inset,0 8px 0 -4px oklch(100% 0 0/calc(var(--depth)*.1)) inset,0 1px color-mix(in oklab,currentColor calc(var(--depth)*10%),#0000),0 0 0 2rem var(--range-thumb) inset,calc((var(--range-dir,1)*-100rem) - (var(--range-dir,1)*var(--range-thumb-size)/2)) 0 0 calc(100rem*var(--range-fill));background-color:currentColor;position:relative;top:50%;transform:translateY(-50%)}.range::-moz-range-track{background-color:var(--range-bg);border-radius:var(--radius-selector);width:100%;height:calc(var(--range-thumb-size)*.5)}.range::-moz-range-thumb{box-sizing:border-box;border-radius:calc(var(--radius-selector) + min(var(--range-p),var(--radius-selector-max)));height:var(--range-thumb-size);width:var(--range-thumb-size);border:var(--range-p)solid;color:var(--range-progress);box-shadow:0 -1px oklch(0% 0 0/calc(var(--depth)*.1)) inset,0 8px 0 -4px oklch(100% 0 0/calc(var(--depth)*.1)) inset,0 1px color-mix(in oklab,currentColor calc(var(--depth)*10%),#0000),0 0 0 2rem var(--range-thumb) inset,calc((var(--range-dir,1)*-100rem) - (var(--range-dir,1)*var(--range-thumb-size)/2)) 0 0 calc(100rem*var(--range-fill));background-color:currentColor;position:relative;top:50%}.range:disabled{cursor:not-allowed;opacity:.3}.chat-bubble{border-radius:var(--radius-field);background-color:var(--color-base-300);width:fit-content;color:var(--color-base-content);grid-row-end:3;min-width:2.5rem;max-width:90%;min-height:2rem;padding-block:.5rem;padding-inline:1rem;display:block;position:relative}.chat-bubble:before{background-color:inherit;content:"";width:.75rem;height:.75rem;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-image:var(--mask-chat);mask-image:var(--mask-chat);position:absolute;bottom:0;-webkit-mask-position:0 -1px;mask-position:0 -1px;-webkit-mask-size:13px;mask-size:13px}.card{border-radius:var(--radius-box);outline-offset:2px;outline:0 solid #0000;flex-direction:column;transition:outline .2s ease-in-out;display:flex;position:relative}.card:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.card:focus{outline-offset:2px;outline:2px solid #0000}}.card:focus-visible{outline-color:currentColor}.card :where(figure:first-child){border-start-start-radius:inherit;border-start-end-radius:inherit;border-end-end-radius:unset;border-end-start-radius:unset;overflow:hidden}.card :where(figure:last-child){border-start-start-radius:unset;border-start-end-radius:unset;border-end-end-radius:inherit;border-end-start-radius:inherit;overflow:hidden}.card:where(.card-border){border:var(--border)solid var(--color-base-200)}.card:where(.card-dash){border:var(--border)dashed var(--color-base-200)}.card.image-full{display:grid}.card.image-full>*{grid-row-start:1;grid-column-start:1}.card.image-full>.card-body{color:var(--color-neutral-content);position:relative}.card.image-full :where(figure){border-radius:inherit;overflow:hidden}.card.image-full>figure img{object-fit:cover;filter:brightness(28%);height:100%}.card figure{justify-content:center;align-items:center;display:flex}.card:has(>input:is(input[type=checkbox],input[type=radio])){cursor:pointer;-webkit-user-select:none;user-select:none}.card:has(>:checked){outline:2px solid}.swap{cursor:pointer;vertical-align:middle;webkit-user-select:none;-webkit-user-select:none;user-select:none;place-content:center;display:inline-grid;position:relative}.swap input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none}.swap>*{grid-row-start:1;grid-column-start:1;transition-property:transform,rotate,opacity;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1)}.swap .swap-on,.swap .swap-indeterminate,.swap input:indeterminate~.swap-on,.swap input:is(:checked,:indeterminate)~.swap-off{opacity:0}.swap input:checked~.swap-on,.swap input:indeterminate~.swap-indeterminate{opacity:1}.collapse-title{grid-row-start:1;grid-column-start:1;width:100%;min-height:3.75rem;padding:1rem;padding-inline-end:3rem;transition:background-color .2s ease-out;position:relative}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.select{border:var(--border)solid #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--color-base-100);vertical-align:middle;width:clamp(3rem,20rem,100%);height:var(--size);text-overflow:ellipsis;box-shadow:0 1px color-mix(in oklab,var(--input-color)calc(var(--depth)*10%),#0000) inset,0 -1px oklch(100% 0 0/calc(var(--depth)*.1)) inset;border-color:var(--input-color);--input-color:color-mix(in srgb,var(--color-base-content)20%,#0000);--size:calc(var(--size-field,.25rem)*10);background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 20px) calc(1px + 50%),calc(100% - 16.1px) calc(1px + 50%);background-repeat:no-repeat;background-size:4px 4px,4px 4px;border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-shrink:1;align-items:center;gap:.375rem;padding-inline:1rem 1.75rem;font-size:.875rem;display:inline-flex;position:relative}@supports (color:color-mix(in lab,red,red)){.select{--input-color:color-mix(in oklab,var(--color-base-content)20%,#0000)}}[dir=rtl] .select{background-position:12px calc(1px + 50%),16px calc(1px + 50%)}.select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:inherit;border-radius:inherit;border-style:none;width:calc(100% + 2.75rem);height:calc(100% - 2px);margin-inline:-1rem -1.75rem;padding-inline:1rem 1.75rem}.select select:focus,.select select:focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){:is(.select select:focus,.select select:focus-within){outline-offset:2px;outline:2px solid #0000}}.select select:not(:last-child){background-image:none;margin-inline-end:-1.375rem}.select:focus,.select:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px color-mix(in oklab,var(--input-color)calc(var(--depth)*10%),#0000);outline:2px solid var(--input-color);outline-offset:2px}.select:has(>select[disabled]),.select:is(:disabled,[disabled]){cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:color-mix(in srgb,var(--color-base-content)40%,transparent)}@supports (color:color-mix(in lab,red,red)){:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled])){color:color-mix(in oklab,var(--color-base-content)40%,transparent)}}:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]))::placeholder{color:color-mix(in srgb,var(--color-base-content)20%,transparent)}@supports (color:color-mix(in lab,red,red)){:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]))::placeholder{color:color-mix(in oklab,var(--color-base-content)20%,transparent)}}.select:has(>select[disabled])>select[disabled]{cursor:not-allowed}.select\!{border:var(--border)solid #0000!important;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;background-color:var(--color-base-100)!important;vertical-align:middle!important;width:clamp(3rem,20rem,100%)!important;height:var(--size)!important;text-overflow:ellipsis!important;box-shadow:0 1px color-mix(in oklab,var(--input-color)calc(var(--depth)*10%),#0000) inset,0 -1px oklch(100% 0 0/calc(var(--depth)*.1)) inset!important;border-color:var(--input-color)!important;--input-color:color-mix(in srgb,var(--color-base-content)20%,#0000)!important;--size:calc(var(--size-field,.25rem)*10)!important;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%)!important;background-position:calc(100% - 20px) calc(1px + 50%),calc(100% - 16.1px) calc(1px + 50%)!important;background-repeat:no-repeat!important;background-size:4px 4px,4px 4px!important;border-start-start-radius:var(--join-ss,var(--radius-field))!important;border-start-end-radius:var(--join-se,var(--radius-field))!important;border-end-end-radius:var(--join-ee,var(--radius-field))!important;border-end-start-radius:var(--join-es,var(--radius-field))!important;flex-shrink:1!important;align-items:center!important;gap:.375rem!important;padding-inline:1rem 1.75rem!important;font-size:.875rem!important;display:inline-flex!important;position:relative!important}@supports (color:color-mix(in lab,red,red)){.select\!{--input-color:color-mix(in oklab,var(--color-base-content)20%,#0000)!important}}[dir=rtl] .select\!{background-position:12px calc(1px + 50%),16px calc(1px + 50%)!important}.select\! select{-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;background:inherit!important;border-radius:inherit!important;border-style:none!important;width:calc(100% + 2.75rem)!important;height:calc(100% - 2px)!important;margin-inline:-1rem -1.75rem!important;padding-inline:1rem 1.75rem!important}.select\! select:focus,.select\! select:focus-within{--tw-outline-style:none!important;outline-style:none!important}@media (forced-colors:active){:is(.select\! select:focus,.select\! select:focus-within){outline-offset:2px!important;outline:2px solid #0000!important}}.select\! select:not(:last-child){background-image:none!important;margin-inline-end:-1.375rem!important}.select\!:focus,.select\!:focus-within{--input-color:var(--color-base-content)!important;box-shadow:0 1px color-mix(in oklab,var(--input-color)calc(var(--depth)*10%),#0000)!important;outline:2px solid var(--input-color)!important;outline-offset:2px!important}.select\!:has(>select[disabled]),.select\!:is(:disabled,[disabled]){cursor:not-allowed!important;border-color:var(--color-base-200)!important;background-color:var(--color-base-200)!important;color:color-mix(in srgb,var(--color-base-content)40%,transparent)!important}@supports (color:color-mix(in lab,red,red)){:is(.select\!:has(>select[disabled]),.select\!:is(:disabled,[disabled])){color:color-mix(in oklab,var(--color-base-content)40%,transparent)!important}}:is(.select\!:has(>select[disabled]),.select\!:is(:disabled,[disabled]))::placeholder{color:color-mix(in srgb,var(--color-base-content)20%,transparent)!important}@supports (color:color-mix(in lab,red,red)){:is(.select\!:has(>select[disabled]),.select\!:is(:disabled,[disabled]))::placeholder{color:color-mix(in oklab,var(--color-base-content)20%,transparent)!important}}.select\!:has(>select[disabled])>select[disabled]{cursor:not-allowed!important}.checkbox{border:var(--border)solid var(--input-color,color-mix(in srgb,var(--color-base-content)20%,#0000));cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--radius-selector);vertical-align:middle;color:var(--color-base-content);box-shadow:0 1px oklch(0% 0 0/calc(var(--depth)*.1)) inset,0 0 #0000 inset,0 0 #0000;--size:calc(var(--size-selector,.25rem)*6);width:var(--size);height:var(--size);background-size:auto,calc(var(--noise)*100%);background-image:none,var(--fx-noise);flex-shrink:0;padding:.25rem;transition:background-color .2s,box-shadow .2s;position:relative}@supports (color:color-mix(in lab,red,red)){.checkbox{border:var(--border)solid var(--input-color,color-mix(in oklab,var(--color-base-content)20%,#0000))}}.checkbox:before{--tw-content:"";content:var(--tw-content);opacity:0;clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 80%,70% 80%,70% 100%);width:100%;height:100%;box-shadow:0 3px oklch(100% 0 0/calc(var(--depth)*.1)) inset;background-color:currentColor;font-size:1rem;line-height:.75;transition:clip-path .3s .1s,opacity .1s .1s,rotate .3s .1s,translate .3s .1s;display:block;rotate:45deg}.checkbox:focus-visible{outline:2px solid var(--input-color,currentColor);outline-offset:2px}.checkbox:checked,.checkbox[aria-checked=true]{background-color:var(--input-color,#0000);box-shadow:0 0 #0000 inset,0 8px 0 -4px oklch(100% 0 0/calc(var(--depth)*.1)) inset,0 1px oklch(0% 0 0/calc(var(--depth)*.1))}:is(.checkbox:checked,.checkbox[aria-checked=true]):before{clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 0%,70% 0%,70% 100%);opacity:1}@media (forced-colors:active){:is(.checkbox:checked,.checkbox[aria-checked=true]):before{--tw-content:"✔︎";clip-path:none;background-color:#0000;rotate:none}}@media print{:is(.checkbox:checked,.checkbox[aria-checked=true]):before{--tw-content:"✔︎";clip-path:none;background-color:#0000;rotate:none}}.checkbox:indeterminate:before{opacity:1;clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 80%,80% 80%,80% 100%);translate:0 -35%;rotate:none}.checkbox:disabled{cursor:not-allowed;opacity:.2}.radio{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;vertical-align:middle;border:var(--border)solid var(--input-color,color-mix(in srgb,currentColor 20%,#0000));box-shadow:0 1px oklch(0% 0 0/calc(var(--depth)*.1)) inset;--size:calc(var(--size-selector,.25rem)*6);width:var(--size);height:var(--size);color:var(--input-color,currentColor);border-radius:3.40282e38px;flex-shrink:0;padding:.25rem;position:relative}.radio:before{--tw-content:"";content:var(--tw-content);background-size:auto,calc(var(--noise)*100%);background-image:none,var(--fx-noise);border-radius:3.40282e38px;width:100%;height:100%;display:block}.radio:focus-visible{outline:2px solid}.radio:checked,.radio[aria-checked=true]{background-color:var(--color-base-100);border-color:currentColor;animation:.2s ease-out radio}:is(.radio:checked,.radio[aria-checked=true]):before{box-shadow:0 -1px oklch(0% 0 0/calc(var(--depth)*.1)) inset,0 8px 0 -4px oklch(100% 0 0/calc(var(--depth)*.1)) inset,0 1px oklch(0% 0 0/calc(var(--depth)*.1));background-color:currentColor}@media (forced-colors:active){:is(.radio:checked,.radio[aria-checked=true]):before{outline-style:var(--tw-outline-style);outline-offset:-1px;outline-width:1px}}@media print{:is(.radio:checked,.radio[aria-checked=true]):before{outline-offset:-1rem;outline:.25rem solid}}.radio:disabled{cursor:not-allowed;opacity:.2}.drawer{grid-auto-columns:max-content auto;width:100%;display:grid;position:relative}.stats{border-radius:var(--radius-box);grid-auto-flow:column;display:inline-grid;position:relative;overflow-x:auto}.progress{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--radius-box);background-color:color-mix(in oklab,currentColor 20%,transparent);width:100%;height:.5rem;color:var(--color-base-content);position:relative;overflow:hidden}.progress:indeterminate{background-image:repeating-linear-gradient(90deg,currentColor -1% 10%,#0000 10% 90%);background-position-x:15%;background-size:200%;animation:5s ease-in-out infinite progress}@supports ((-moz-appearance:none)){.progress:indeterminate::-moz-progress-bar{background-color:#0000;background-image:repeating-linear-gradient(90deg,currentColor -1% 10%,#0000 10% 90%);background-position-x:15%;background-size:200%;animation:5s ease-in-out infinite progress}.progress::-moz-progress-bar{border-radius:var(--radius-box);background-color:currentColor}}@supports ((-webkit-appearance:none)){.progress::-webkit-progress-bar{border-radius:var(--radius-box);background-color:#0000}.progress::-webkit-progress-value{border-radius:var(--radius-box);background-color:currentColor}}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.tooltip-bottom>.tooltip-content,.tooltip-bottom[data-tip]:before{transform:translate(-50%)translateY(var(--tt-pos,-.25rem));inset:var(--tt-off)auto auto 50%}.tooltip-bottom:after{transform:translate(-50%)translateY(var(--tt-pos,-.25rem))rotate(180deg);inset:var(--tt-tail)auto auto 50%}.chat-end{grid-template-columns:1fr auto;place-items:end}.chat-end .chat-header,.chat-end .chat-footer{grid-column-start:1}.chat-end .chat-image{grid-column-start:2}.chat-end .chat-bubble{border-end-end-radius:0;grid-column-start:1}.chat-end .chat-bubble:before{inset-inline-start:100%;transform:rotateY(180deg)}[dir=rtl] :is(.chat-end .chat-bubble):before{transform:rotateY(0)}.chat-start{grid-template-columns:auto 1fr;place-items:start}.chat-start .chat-header,.chat-start .chat-footer{grid-column-start:2}.chat-start .chat-image{grid-column-start:1}.chat-start .chat-bubble{border-end-start-radius:0;grid-column-start:2}.chat-start .chat-bubble:before{inset-inline-start:-.75rem;transform:rotateY(0)}[dir=rtl] :is(.chat-start .chat-bubble):before{transform:rotateY(180deg)}.dropdown-end{--anchor-h:span-left}.dropdown-end :where(.dropdown-content){inset-inline-end:0;translate:0}.dropdown-end.dropdown-left{--anchor-h:left;--anchor-v:span-top}.dropdown-end.dropdown-left .dropdown-content{top:auto;bottom:0}.dropdown-end.dropdown-right{--anchor-h:right;--anchor-v:span-top}.dropdown-end.dropdown-right .dropdown-content{top:auto;bottom:0}.dropdown-bottom{--anchor-v:bottom}.dropdown-bottom .dropdown-content{transform-origin:top;top:100%;bottom:auto}.dropdown-top{--anchor-v:top}.dropdown-top .dropdown-content{transform-origin:bottom;top:auto;bottom:100%}.top-0{top:calc(var(--spacing)*0)}.top-\[7em\]{top:7em}.bottom-0{bottom:calc(var(--spacing)*0)}.-left-80{left:calc(var(--spacing)*-80)}.textarea{border:var(--border)solid #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--radius-field);background-color:var(--color-base-100);vertical-align:middle;border-color:var(--input-color);width:clamp(3rem,20rem,100%);min-height:5rem;box-shadow:0 1px color-mix(in oklab,var(--input-color)calc(var(--depth)*10%),#0000) inset,0 -1px oklch(100% 0 0/calc(var(--depth)*.1)) inset;--input-color:color-mix(in srgb,var(--color-base-content)20%,#0000);flex-shrink:1;padding-block:.5rem;padding-inline:.75rem;font-size:.875rem}@supports (color:color-mix(in lab,red,red)){.textarea{--input-color:color-mix(in oklab,var(--color-base-content)20%,#0000)}}.textarea textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#0000;border:none}.textarea textarea:focus,.textarea textarea:focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){:is(.textarea textarea:focus,.textarea textarea:focus-within){outline-offset:2px;outline:2px solid #0000}}.textarea:focus,.textarea:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px color-mix(in oklab,var(--input-color)calc(var(--depth)*10%),#0000);outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]){cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:color-mix(in srgb,var(--color-base-content)40%,transparent);box-shadow:none}@supports (color:color-mix(in lab,red,red)){:is(.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled])){color:color-mix(in oklab,var(--color-base-content)40%,transparent)}}:is(.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]))::placeholder{color:color-mix(in srgb,var(--color-base-content)20%,transparent)}@supports (color:color-mix(in lab,red,red)){:is(.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]))::placeholder{color:color-mix(in oklab,var(--color-base-content)20%,transparent)}}.textarea:has(>textarea[disabled])>textarea[disabled]{cursor:not-allowed}.btn-active{--btn-bg:color-mix(in srgb,var(--btn-color,var(--color-base-200)),#000 7%);--btn-shadow:0 0 0 0 oklch(0% 0 0/0),0 0 0 0 oklch(0% 0 0/0);isolation:isolate}@supports (color:color-mix(in lab,red,red)){.btn-active{--btn-bg:color-mix(in oklab,var(--btn-color,var(--color-base-200)),#000 7%)}}.stack{grid-template-rows:3px 4px 1fr 4px 3px;grid-template-columns:3px 4px 1fr 4px 3px;display:inline-grid}.stack>*{width:100%;height:100%}.stack>:nth-child(n+2){opacity:.7;width:100%}.stack>:nth-child(2){z-index:2;opacity:.9}.stack>:first-child{z-index:3;width:100%}:is(.stack,.stack.stack-bottom)>*{grid-area:3/3/6/4}:is(.stack,.stack.stack-bottom)>:nth-child(2){grid-area:2/2/5/5}:is(.stack,.stack.stack-bottom)>:first-child{grid-area:1/1/4/6}.stack.stack-top>*{grid-area:1/3/4/4}.stack.stack-top>:nth-child(2){grid-area:2/2/5/5}.stack.stack-top>:first-child{grid-area:3/1/6/6}.stack.stack-start>*{grid-area:3/1/4/4}.stack.stack-start>:nth-child(2){grid-area:2/2/5/5}.stack.stack-start>:first-child{grid-area:1/3/6/6}.stack.stack-end>*{grid-area:3/3/4/6}.stack.stack-end>:nth-child(2){grid-area:2/2/5/5}.stack.stack-end>:first-child{grid-area:1/1/6/4}.modal-backdrop{color:#0000;z-index:-1;grid-row-start:1;grid-column-start:1;place-self:stretch stretch;display:grid}.modal-backdrop button{cursor:pointer}.z-10{z-index:10}.z-50{z-index:50}.z-\[1\]{z-index:1}.z-\[1100\]{z-index:1100}.modal-box{background-color:var(--color-base-100);border-top-left-radius:var(--modal-tl,var(--radius-box));border-top-right-radius:var(--modal-tr,var(--radius-box));border-bottom-left-radius:var(--modal-bl,var(--radius-box));border-bottom-right-radius:var(--modal-br,var(--radius-box));opacity:0;overscroll-behavior:contain;grid-row-start:1;grid-column-start:1;width:91.6667%;max-width:32rem;max-height:100vh;padding:1.5rem;transition:translate .3s ease-out,scale .3s ease-out,opacity .2s ease-out 50ms,box-shadow .3s ease-out;overflow-y:auto;scale:95%;box-shadow:0 25px 50px -12px #00000040}.drawer-content{grid-row-start:1;grid-column-start:2;min-width:0}.row-span-2{grid-row:span 2/span 2}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.divider{white-space:nowrap;height:1rem;margin:var(--divider-m,1rem 0);flex-direction:row;align-self:stretch;align-items:center;display:flex}.divider:before,.divider:after{content:"";background-color:color-mix(in srgb,var(--color-base-content)10%,transparent);flex-grow:1;width:100%;height:.125rem}@supports (color:color-mix(in lab,red,red)){:is(){background-color:color-mix(in oklab,var(--color-base-content)10%,transparent)}}@media print{.divider:before,.divider:after{border:.5px solid}}.divider:not(:empty){gap:1rem}.m-0{margin:calc(var(--spacing)*0)}.m-1{margin:calc(var(--spacing)*1)}.filter{flex-wrap:wrap;display:flex}.filter input[type=radio]{width:auto}.filter input{opacity:1;transition:margin .1s,opacity .3s,padding .3s,border-width .1s;overflow:hidden;scale:1}.filter input:not(:last-child){margin-inline-end:.25rem}.filter input.filter-reset{aspect-ratio:1}.filter input.filter-reset:after{content:"×"}.filter:not(:has(input:checked:not(.filter-reset))) .filter-reset,.filter:not(:has(input:checked:not(.filter-reset))) input[type=reset],.filter:has(input:checked:not(.filter-reset)) input:not(:checked,.filter-reset,input[type=reset]){opacity:0;border-width:0;width:0;margin-inline:0;padding-inline:0;scale:0}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-auto{margin-inline:auto}.label{white-space:nowrap;color:color-mix(in oklab,currentColor 60%,transparent);align-items:center;gap:.375rem;display:inline-flex}.label:has(input){cursor:pointer}.label:is(.input>*,.select>*){white-space:nowrap;height:calc(100% - .5rem);font-size:inherit;align-items:center;padding-inline:.75rem;display:flex}.label:is(.input>*,.select>*):first-child{border-inline-end:var(--border)solid color-mix(in oklab,currentColor 10%,#0000);margin-inline:-.75rem .75rem}.label:is(.input>*,.select>*):last-child{border-inline-start:var(--border)solid color-mix(in oklab,currentColor 10%,#0000);margin-inline:.75rem -.75rem}.join-item:where(:not(:first-child)){margin-block-start:0;margin-inline-start:calc(var(--border,1px)*-1)}.modal-action{justify-content:flex-end;gap:.5rem;margin-top:1.5rem;display:flex}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-auto{margin-top:auto}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mr-4{margin-right:calc(var(--spacing)*4)}.mb-0{margin-bottom:calc(var(--spacing)*0)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-4{margin-left:calc(var(--spacing)*4)}.status{aspect-ratio:1;border-radius:var(--radius-selector);background-color:color-mix(in srgb,var(--color-base-content)20%,transparent);vertical-align:middle;color:#0000004d;background-position:50%;background-repeat:no-repeat;background-image:radial-gradient(circle at 35% 30%,oklch(1 0 0/calc(var(--depth)*.5)),#0000);width:.5rem;height:.5rem;box-shadow:0 2px 3px -1px color-mix(in oklab,currentColor calc(var(--depth)*100%),#0000);display:inline-block}@supports (color:color-mix(in lab,red,red)){.status{background-color:color-mix(in oklab,var(--color-base-content)20%,transparent);color:#0000004d}@supports (color:color-mix(in lab,red,red)){.status{color:color-mix(in oklab,var(--color-black)30%,transparent)}}}.badge{border-radius:var(--radius-selector);vertical-align:middle;color:var(--badge-fg);border:var(--border)solid var(--badge-color,var(--color-base-200));width:fit-content;padding-inline:calc(.25rem*3 - var(--border));background-size:auto,calc(var(--noise)*100%);background-image:none,var(--fx-noise);background-color:var(--badge-bg);--badge-bg:var(--badge-color,var(--color-base-100));--badge-fg:var(--color-base-content);--size:calc(var(--size-selector,.25rem)*6);height:var(--size);justify-content:center;align-items:center;gap:.5rem;font-size:.875rem;display:inline-flex}.badge.badge-outline{--badge-fg:var(--badge-color);--badge-bg:#0000;background-image:none}.badge.badge-dash{--badge-fg:var(--badge-color);--badge-bg:#0000;background-image:none;border-style:dashed}.badge.badge-soft{color:var(--badge-color,var(--color-base-content));background-color:color-mix(in oklab,var(--badge-color,var(--color-base-content))8%,var(--color-base-100));border-color:color-mix(in oklab,var(--badge-color,var(--color-base-content))10%,var(--color-base-100));background-image:none}@supports (color:color-mix(in lab,red,red)){.badge.badge-soft{background-color:color-mix(in oklab,var(--badge-color,var(--color-base-content))8%,var(--color-base-100));border-color:color-mix(in oklab,var(--badge-color,var(--color-base-content))10%,var(--color-base-100))}}.kbd{border-radius:var(--radius-field);background-color:var(--color-base-200);vertical-align:middle;border:var(--border)solid color-mix(in srgb,var(--color-base-content)20%,#0000);border-bottom:calc(var(--border) + 1px)solid color-mix(in srgb,var(--color-base-content)20%,#0000);--size:calc(var(--size-selector,.25rem)*6);height:var(--size);min-width:var(--size);justify-content:center;align-items:center;padding-left:.5em;padding-right:.5em;font-size:.875rem;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.kbd{border:var(--border)solid color-mix(in srgb,var(--color-base-content)20%,#0000);border-bottom:calc(var(--border) + 1px)solid color-mix(in srgb,var(--color-base-content)20%,#0000)}}.tabs{--tabs-height:auto;--tabs-direction:row;height:var(--tabs-height);flex-wrap:wrap;flex-direction:var(--tabs-direction);display:flex}.footer{grid-auto-flow:row;place-items:start;gap:2.5rem 1rem;width:100%;font-size:.875rem;line-height:1.25rem;display:grid}.footer>*{place-items:start;gap:.5rem;display:grid}.footer.footer-center{text-align:center;grid-auto-flow:column dense;place-items:center}.footer.footer-center>*{place-items:center}.stat{grid-template-columns:repeat(1,1fr);column-gap:1rem;width:100%;padding-block:1rem;padding-inline:1.5rem;display:inline-grid}.stat:not(:last-child){border-inline-end:var(--border)dashed color-mix(in oklab,currentColor 10%,#0000);border-block-end:none}.card-body{padding:var(--card-p,1.5rem);font-size:var(--card-fs,.875rem);flex-direction:column;flex:auto;gap:.5rem;display:flex}.card-body :where(p){flex-grow:1}.alert{border-radius:var(--radius-box);color:var(--color-base-content);background-color:var(--alert-color,var(--color-base-200));text-align:start;border:var(--border)solid var(--color-base-200);background-size:auto,calc(var(--noise)*100%);background-image:none,var(--fx-noise);box-shadow:0 3px 0 -2px oklch(100% 0 0/calc(var(--depth)*.08)) inset,0 1px color-mix(in oklab,color-mix(in srgb,#000 20%,var(--alert-color,var(--color-base-200)))calc(var(--depth)*20%),#0000),0 4px 3px -2px oklch(0% 0 0/calc(var(--depth)*.08));grid-template-columns:auto;grid-auto-flow:column;justify-content:start;place-items:center start;gap:1rem;padding-block:.75rem;padding-inline:1rem;font-size:.875rem;line-height:1.25rem;display:grid}@supports (color:color-mix(in lab,red,red)){.alert{box-shadow:0 3px 0 -2px oklch(100% 0 0/calc(var(--depth)*.08)) inset,0 1px color-mix(in oklab,color-mix(in oklab,#000 20%,var(--alert-color,var(--color-base-200)))calc(var(--depth)*20%),#0000),0 4px 3px -2px oklch(0% 0 0/calc(var(--depth)*.08))}}.alert:has(:nth-child(2)){grid-template-columns:auto minmax(auto,1fr)}.alert.alert-outline{color:var(--alert-color);box-shadow:none;background-color:#0000;background-image:none}.alert.alert-dash{color:var(--alert-color);box-shadow:none;background-color:#0000;background-image:none;border-style:dashed}.alert.alert-soft{color:var(--alert-color,var(--color-base-content));background:color-mix(in oklab,var(--alert-color,var(--color-base-content))8%,var(--color-base-100));border-color:color-mix(in oklab,var(--alert-color,var(--color-base-content))10%,var(--color-base-100));box-shadow:none;background-image:none}@supports (color:color-mix(in lab,red,red)){.alert.alert-soft{background:color-mix(in oklab,var(--alert-color,var(--color-base-content))8%,var(--color-base-100));border-color:color-mix(in oklab,var(--alert-color,var(--color-base-content))10%,var(--color-base-100))}}.fieldset{grid-template-columns:1fr;grid-auto-rows:max-content;gap:.375rem;padding-block:.25rem;font-size:.75rem;display:grid}.join{--join-ss:0;--join-se:0;--join-es:0;--join-ee:0;align-items:stretch;display:inline-flex}.join :where(.join-item){border-start-start-radius:var(--join-ss,0);border-start-end-radius:var(--join-se,0);border-end-end-radius:var(--join-ee,0);border-end-start-radius:var(--join-es,0)}.join :where(.join-item) *{--join-ss:var(--radius-field);--join-se:var(--radius-field);--join-es:var(--radius-field);--join-ee:var(--radius-field)}.join>.join-item:where(:first-child),.join :first-child:not(:last-child) :where(.join-item){--join-ss:var(--radius-field);--join-se:0;--join-es:var(--radius-field);--join-ee:0}.join>.join-item:where(:last-child),.join :last-child:not(:first-child) :where(.join-item){--join-ss:0;--join-se:var(--radius-field);--join-es:0;--join-ee:var(--radius-field)}.join>.join-item:where(:only-child),.join :only-child :where(.join-item){--join-ss:var(--radius-field);--join-se:var(--radius-field);--join-es:var(--radius-field);--join-ee:var(--radius-field)}.chat{column-gap:.75rem;padding-block:.25rem;display:grid}.mask{vertical-align:middle;display:inline-block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.list-item{display:list-item}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.btn-square{width:var(--size);height:var(--size);padding-inline:0}.h-0{height:calc(var(--spacing)*0)}.h-1{height:calc(var(--spacing)*1)}.h-2{height:calc(var(--spacing)*2)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-14{height:calc(var(--spacing)*14)}.h-24{height:calc(var(--spacing)*24)}.h-40{height:calc(var(--spacing)*40)}.h-80{height:calc(var(--spacing)*80)}.h-84{height:calc(var(--spacing)*84)}.h-\[calc\(90vh-12rem\)\]{height:calc(90vh - 12rem)}.h-\[calc\(100vh-9em\)\]{height:calc(100vh - 9em)}.h-full{height:100%}.h-screen{height:100vh}.max-h-64{max-height:calc(var(--spacing)*64)}.min-h-full{min-height:100%}.btn-block{width:100%}.loading-md{width:calc(var(--size-selector,.25rem)*6)}.w-1{width:calc(var(--spacing)*1)}.w-3{width:calc(var(--spacing)*3)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-11\/12{width:91.6667%}.w-14{width:calc(var(--spacing)*14)}.w-44{width:calc(var(--spacing)*44)}.w-52{width:calc(var(--spacing)*52)}.w-64{width:calc(var(--spacing)*64)}.w-\[75vw\]{width:75vw}.w-\[calc\(90vw-8em\)\]{width:calc(90vw - 8em)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-64{max-width:calc(var(--spacing)*64)}.max-w-xs{max-width:var(--container-xs)}.flex-1{flex:1}.flex-shrink,.shrink{flex-shrink:1}.flex-grow,.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.link{cursor:pointer;text-decoration-line:underline}.link:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.link:focus{outline-offset:2px;outline:2px solid #0000}}.link:focus-visible{outline-offset:2px;outline:2px solid}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-\[1fr_0fr\]{grid-template-columns:1fr 0fr}.grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded-box{border-radius:var(--radius-box)}.rounded-full{border-radius:3.40282e38px}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border,.border-1{border-style:var(--tw-border-style);border-width:1px}.border-r-2{border-right-style:var(--tw-border-style);border-right-width:2px}.border-none{--tw-border-style:none;border-style:none}.border-base-200{border-color:var(--color-base-200)}.border-base-content\/30{border-color:color-mix(in srgb,var(--color-base-content)30%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-base-content\/30{border-color:color-mix(in oklab,var(--color-base-content)30%,transparent)}}.chat-bubble-primary{background-color:var(--color-primary);color:var(--color-primary-content)}.bg-base-100{background-color:var(--color-base-100)}.bg-base-200{background-color:var(--color-base-200)}.bg-base-300{background-color:var(--color-base-300)}.bg-none{background-image:none}.loading-dots{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='4' cy='12' r='3'%3E%3Canimate attributeName='cy' values='12;6;12;12' keyTimes='0;0.286;0.571;1' dur='1.05s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1'/%3E%3C/circle%3E%3Ccircle cx='12' cy='12' r='3'%3E%3Canimate attributeName='cy' values='12;6;12;12' keyTimes='0;0.286;0.571;1' dur='1.05s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1' begin='0.1s'/%3E%3C/circle%3E%3Ccircle cx='20' cy='12' r='3'%3E%3Canimate attributeName='cy' values='12;6;12;12' keyTimes='0;0.286;0.571;1' dur='1.05s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1' begin='0.2s'/%3E%3C/circle%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='4' cy='12' r='3'%3E%3Canimate attributeName='cy' values='12;6;12;12' keyTimes='0;0.286;0.571;1' dur='1.05s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1'/%3E%3C/circle%3E%3Ccircle cx='12' cy='12' r='3'%3E%3Canimate attributeName='cy' values='12;6;12;12' keyTimes='0;0.286;0.571;1' dur='1.05s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1' begin='0.1s'/%3E%3C/circle%3E%3Ccircle cx='20' cy='12' r='3'%3E%3Canimate attributeName='cy' values='12;6;12;12' keyTimes='0;0.286;0.571;1' dur='1.05s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1' begin='0.2s'/%3E%3C/circle%3E%3C/svg%3E")}.loading-spinner{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E")}.mask-repeat{-webkit-mask-repeat:repeat;mask-repeat:repeat}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-2{padding-block:calc(var(--spacing)*2)}.py-4{padding-block:calc(var(--spacing)*4)}.pt-6{padding-top:calc(var(--spacing)*6)}.pt-8{padding-top:calc(var(--spacing)*8)}.pr-4{padding-right:calc(var(--spacing)*4)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.pl-\[200px\]{padding-left:200px}.text-center{text-align:center}.text-justify{text-align:justify}.text-right{text-align:right}.text-start{text-align:start}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-wrap{text-wrap:wrap}.break-words{overflow-wrap:break-word}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-base-content{color:var(--color-base-content)}.text-error{color:var(--color-error)}.text-gray-500{color:var(--color-gray-500)}.text-gray-700{color:var(--color-gray-700)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.opacity-20{opacity:.2}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-primary{--tw-ring-color:var(--color-primary)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.btn-ghost:not(.btn-active,:hover,:active:focus,:focus-visible){--btn-shadow:"";--btn-bg:#0000;--btn-border:#0000;--btn-noise:none}.btn-ghost:not(.btn-active,:hover,:active:focus,:focus-visible):not(:disabled,[disabled],.btn-disabled){--btn-fg:currentColor;outline-color:currentColor}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[300ms\]{transition-property:.3s;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,:disabled,[disabled],.btn-disabled){--btn-shadow:"";--btn-fg:var(--btn-color,var(--color-base-content));--btn-bg:color-mix(in oklab,var(--btn-color,var(--color-base-content))8%,var(--color-base-100));--btn-border:color-mix(in oklab,var(--btn-color,var(--color-base-content))10%,var(--color-base-100));--btn-noise:none}@supports (color:color-mix(in lab,red,red)){.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,:disabled,[disabled],.btn-disabled){--btn-bg:color-mix(in oklab,var(--btn-color,var(--color-base-content))8%,var(--color-base-100));--btn-border:color-mix(in oklab,var(--btn-color,var(--color-base-content))10%,var(--color-base-100))}}.btn-sm{--fontsize:.75rem;--btn-p:.75rem;--size:calc(var(--size-field,.25rem)*8)}.btn-xs{--fontsize:.6875rem;--btn-p:.5rem;--size:calc(var(--size-field,.25rem)*6)}.indicator-top{--inidicator-t:0;--inidicator-b:auto;--indicator-y:-50%}.btn-error{--btn-color:var(--color-error);--btn-fg:var(--color-error-content)}.btn-neutral{--btn-color:var(--color-neutral);--btn-fg:var(--color-neutral-content)}.btn-primary{--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content)}.outline-none{--tw-outline-style:none;outline-style:none}@media (hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}@media (min-width:48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:flex-row{flex-direction:row}}@media (min-width:64rem){.lg\:drawer-open>.drawer-side{overflow-y:auto}.lg\:drawer-open>.drawer-toggle{display:none}.lg\:drawer-open>.drawer-toggle~.drawer-side{pointer-events:auto;visibility:visible;overscroll-behavior:auto;opacity:1;width:auto;display:block;position:sticky}.lg\:drawer-open>.drawer-toggle~.drawer-side>.drawer-overlay{cursor:default;background-color:#0000}.lg\:drawer-open>.drawer-toggle~.drawer-side>:not(.drawer-overlay),[dir=rtl] :is(.lg\:drawer-open>.drawer-toggle~.drawer-side>:not(.drawer-overlay)){translate:0%}.lg\:drawer-open>.drawer-toggle:checked~.drawer-side{pointer-events:auto;visibility:visible}.lg\:mx-auto{margin-inline:auto}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:h-screen{height:100vh}.lg\:max-h-48{max-height:calc(var(--spacing)*48)}.lg\:w-\[75vw\]{width:75vw}.lg\:max-w-64{max-width:calc(var(--spacing)*64)}.lg\:resize-none{resize:none}.lg\:grid-cols-\[1fr_1fr\]{grid-template-columns:1fr 1fr}.lg\:gap-8{gap:calc(var(--spacing)*8)}.lg\:overflow-y-auto{overflow-y:auto}}@media (min-width:80rem){.xl\:opacity-0{opacity:0}}}@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){@layer base{*,:before,:after,::backdrop{--tw-rotate-x:rotateX(0);--tw-rotate-y:rotateY(0);--tw-rotate-z:rotateZ(0);--tw-skew-x:skewX(0);--tw-skew-y:skewY(0);--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial}}}html{scrollbar-gutter:auto}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6,.markdown ul,.markdown ol,.markdown li{all:revert}.markdown pre{border-radius:var(--radius-lg);padding:calc(var(--spacing)*2);white-space:pre-wrap;border:1px solid}.markdown p{margin-bottom:calc(var(--spacing)*2)}@media (min-width:48rem){.show-on-hover{opacity:0}@media (hover:hover){.show-on-hover:is(:where(.group):hover *){opacity:1}}}.btn-mini{cursor:pointer}@media (hover:hover){.btn-mini:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.chat-screen{max-width:900px}.chat-bubble{word-break:break-word;overflow-wrap:break-word}.chat-bubble-base-300{--tw-bg-opacity:1;--tw-text-opacity:1;word-break:break-word;background-color:var(--color-base-300);overflow-wrap:break-word;color:var(--color-base-content)}[data-color-scheme=light] pre code.hljs{padding:1em;display:block;overflow-x:auto}[data-color-scheme=light] code.hljs{padding:3px 5px}[data-color-scheme=light] .hljs{color:#2f3337;background:#f6f6f6}[data-color-scheme=light] .hljs-subst{color:#2f3337}[data-color-scheme=light] .hljs-comment{color:#656e77}[data-color-scheme=light] .hljs-keyword,[data-color-scheme=light] .hljs-selector-tag,[data-color-scheme=light] .hljs-meta .hljs-keyword,[data-color-scheme=light] .hljs-doctag,[data-color-scheme=light] .hljs-section,[data-color-scheme=light] .hljs-attr{color:#015692}[data-color-scheme=light] .hljs-attribute{color:#803378}[data-color-scheme=light] .hljs-name,[data-color-scheme=light] .hljs-type,[data-color-scheme=light] .hljs-number,[data-color-scheme=light] .hljs-selector-id,[data-color-scheme=light] .hljs-quote,[data-color-scheme=light] .hljs-template-tag{color:#b75501}[data-color-scheme=light] .hljs-selector-class{color:#015692}[data-color-scheme=light] .hljs-string,[data-color-scheme=light] .hljs-regexp,[data-color-scheme=light] .hljs-symbol,[data-color-scheme=light] .hljs-variable,[data-color-scheme=light] .hljs-template-variable,[data-color-scheme=light] .hljs-link,[data-color-scheme=light] .hljs-selector-attr{color:#54790d}[data-color-scheme=light] .hljs-meta,[data-color-scheme=light] .hljs-selector-pseudo{color:#015692}[data-color-scheme=light] .hljs-built_in,[data-color-scheme=light] .hljs-title,[data-color-scheme=light] .hljs-literal{color:#b75501}[data-color-scheme=light] .hljs-bullet,[data-color-scheme=light] .hljs-code{color:#535a60}[data-color-scheme=light] .hljs-meta .hljs-string{color:#54790d}[data-color-scheme=light] .hljs-deletion{color:#c02d2e}[data-color-scheme=light] .hljs-addition{color:#2f6f44}[data-color-scheme=light] .hljs-emphasis{font-style:italic}[data-color-scheme=light] .hljs-strong{font-weight:700}[data-color-scheme=light] .dark-color{background-color:var(--color-base-content);color:var(--color-base-100)}[data-color-scheme=dark] pre code.hljs{padding:1em;display:block;overflow-x:auto}[data-color-scheme=dark] code.hljs{padding:3px 5px}[data-color-scheme=dark] .hljs{color:#fff;background:#1c1b1b}[data-color-scheme=dark] .hljs-subst{color:#fff}[data-color-scheme=dark] .hljs-comment{color:#999}[data-color-scheme=dark] .hljs-keyword,[data-color-scheme=dark] .hljs-selector-tag,[data-color-scheme=dark] .hljs-meta .hljs-keyword,[data-color-scheme=dark] .hljs-doctag,[data-color-scheme=dark] .hljs-section,[data-color-scheme=dark] .hljs-attr{color:#88aece}[data-color-scheme=dark] .hljs-attribute{color:#c59bc1}[data-color-scheme=dark] .hljs-name,[data-color-scheme=dark] .hljs-type,[data-color-scheme=dark] .hljs-number,[data-color-scheme=dark] .hljs-selector-id,[data-color-scheme=dark] .hljs-quote,[data-color-scheme=dark] .hljs-template-tag{color:#f08d49}[data-color-scheme=dark] .hljs-selector-class{color:#88aece}[data-color-scheme=dark] .hljs-string,[data-color-scheme=dark] .hljs-regexp,[data-color-scheme=dark] .hljs-symbol,[data-color-scheme=dark] .hljs-variable,[data-color-scheme=dark] .hljs-template-variable,[data-color-scheme=dark] .hljs-link,[data-color-scheme=dark] .hljs-selector-attr{color:#b5bd68}[data-color-scheme=dark] .hljs-meta,[data-color-scheme=dark] .hljs-selector-pseudo{color:#88aece}[data-color-scheme=dark] .hljs-built_in,[data-color-scheme=dark] .hljs-title,[data-color-scheme=dark] .hljs-literal{color:#f08d49}[data-color-scheme=dark] .hljs-bullet,[data-color-scheme=dark] .hljs-code{color:#ccc}[data-color-scheme=dark] .hljs-meta .hljs-string{color:#b5bd68}[data-color-scheme=dark] .hljs-deletion{color:#de7176}[data-color-scheme=dark] .hljs-addition{color:#76c490}[data-color-scheme=dark] .hljs-emphasis{font-style:italic}[data-color-scheme=dark] .hljs-strong{font-weight:700}@media (prefers-color-scheme:light){[data-color-scheme=auto] pre code.hljs{padding:1em;display:block;overflow-x:auto}[data-color-scheme=auto] code.hljs{padding:3px 5px}[data-color-scheme=auto] .hljs{color:#2f3337;background:#f6f6f6}[data-color-scheme=auto] .hljs-subst{color:#2f3337}[data-color-scheme=auto] .hljs-comment{color:#656e77}[data-color-scheme=auto] .hljs-keyword,[data-color-scheme=auto] .hljs-selector-tag,[data-color-scheme=auto] .hljs-meta .hljs-keyword,[data-color-scheme=auto] .hljs-doctag,[data-color-scheme=auto] .hljs-section,[data-color-scheme=auto] .hljs-attr{color:#015692}[data-color-scheme=auto] .hljs-attribute{color:#803378}[data-color-scheme=auto] .hljs-name,[data-color-scheme=auto] .hljs-type,[data-color-scheme=auto] .hljs-number,[data-color-scheme=auto] .hljs-selector-id,[data-color-scheme=auto] .hljs-quote,[data-color-scheme=auto] .hljs-template-tag{color:#b75501}[data-color-scheme=auto] .hljs-selector-class{color:#015692}[data-color-scheme=auto] .hljs-string,[data-color-scheme=auto] .hljs-regexp,[data-color-scheme=auto] .hljs-symbol,[data-color-scheme=auto] .hljs-variable,[data-color-scheme=auto] .hljs-template-variable,[data-color-scheme=auto] .hljs-link,[data-color-scheme=auto] .hljs-selector-attr{color:#54790d}[data-color-scheme=auto] .hljs-meta,[data-color-scheme=auto] .hljs-selector-pseudo{color:#015692}[data-color-scheme=auto] .hljs-built_in,[data-color-scheme=auto] .hljs-title,[data-color-scheme=auto] .hljs-literal{color:#b75501}[data-color-scheme=auto] .hljs-bullet,[data-color-scheme=auto] .hljs-code{color:#535a60}[data-color-scheme=auto] .hljs-meta .hljs-string{color:#54790d}[data-color-scheme=auto] .hljs-deletion{color:#c02d2e}[data-color-scheme=auto] .hljs-addition{color:#2f6f44}[data-color-scheme=auto] .hljs-emphasis{font-style:italic}[data-color-scheme=auto] .hljs-strong{font-weight:700}[data-color-scheme=auto] .dark-color{background-color:var(--color-base-content);color:var(--color-base-100)}}@media (prefers-color-scheme:dark){[data-color-scheme=auto] pre code.hljs{padding:1em;display:block;overflow-x:auto}[data-color-scheme=auto] code.hljs{padding:3px 5px}[data-color-scheme=auto] .hljs{color:#fff;background:#1c1b1b}[data-color-scheme=auto] .hljs-subst{color:#fff}[data-color-scheme=auto] .hljs-comment{color:#999}[data-color-scheme=auto] .hljs-keyword,[data-color-scheme=auto] .hljs-selector-tag,[data-color-scheme=auto] .hljs-meta .hljs-keyword,[data-color-scheme=auto] .hljs-doctag,[data-color-scheme=auto] .hljs-section,[data-color-scheme=auto] .hljs-attr{color:#88aece}[data-color-scheme=auto] .hljs-attribute{color:#c59bc1}[data-color-scheme=auto] .hljs-name,[data-color-scheme=auto] .hljs-type,[data-color-scheme=auto] .hljs-number,[data-color-scheme=auto] .hljs-selector-id,[data-color-scheme=auto] .hljs-quote,[data-color-scheme=auto] .hljs-template-tag{color:#f08d49}[data-color-scheme=auto] .hljs-selector-class{color:#88aece}[data-color-scheme=auto] .hljs-string,[data-color-scheme=auto] .hljs-regexp,[data-color-scheme=auto] .hljs-symbol,[data-color-scheme=auto] .hljs-variable,[data-color-scheme=auto] .hljs-template-variable,[data-color-scheme=auto] .hljs-link,[data-color-scheme=auto] .hljs-selector-attr{color:#b5bd68}[data-color-scheme=auto] .hljs-meta,[data-color-scheme=auto] .hljs-selector-pseudo{color:#88aece}[data-color-scheme=auto] .hljs-built_in,[data-color-scheme=auto] .hljs-title,[data-color-scheme=auto] .hljs-literal{color:#f08d49}[data-color-scheme=auto] .hljs-bullet,[data-color-scheme=auto] .hljs-code{color:#ccc}[data-color-scheme=auto] .hljs-meta .hljs-string{color:#b5bd68}[data-color-scheme=auto] .hljs-deletion{color:#de7176}[data-color-scheme=auto] .hljs-addition{color:#76c490}[data-color-scheme=auto] .hljs-emphasis{font-style:italic}[data-color-scheme=auto] .hljs-strong{font-weight:700}}.hljs{background:0 0!important;padding:.5em!important}.katex-display{margin:0!important}@keyframes skeleton{0%{background-position:150%}to{background-position:-50%}}@keyframes progress{50%{background-position-x:-115%}}@keyframes radio{0%{padding:5px}50%{padding:3px}}@keyframes dropdown{0%{opacity:0}}@keyframes rating{0%,40%{filter:brightness(1.05)contrast(1.05);scale:1.1}}@keyframes toast{0%{opacity:0;scale:.9}to{opacity:1;scale:1}}@property --tw-rotate-x{syntax:"*";inherits:false;initial-value:rotateX(0)}@property --tw-rotate-y{syntax:"*";inherits:false;initial-value:rotateY(0)}@property --tw-rotate-z{syntax:"*";inherits:false;initial-value:rotateZ(0)}@property --tw-skew-x{syntax:"*";inherits:false;initial-value:skewX(0)}@property --tw-skew-y{syntax:"*";inherits:false;initial-value:skewY(0)}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@font-face{font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff"),url(data:font/ttf;base64,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ADIAMAAxADAAIABEAGUAcwBpAGcAbgAgAFMAYwBpAGUAbgBjAGUALAAgAEkAbgBjAC4ACgBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANAAtADIAMAAxADgAIABLAGgAYQBuACAAQQBjAGEAZABlAG0AeQBLAGEAVABlAFgAXwBBAE0AUwBSAGUAZwB1AGwAYQByAEYAbwBuAHQARgBvAHIAZwBlACAAMgAuADAAIAA6ACAASwBhAFQAZQBYAF8AQQBNAFMALQBSAGUAZwB1AGwAYQByAEsAYQBUAGUAWABfAEEATQBTAC0AUgBlAGcAdQBsAGEAcgBWAGUAcgBzAGkAbwBuACAAMQAuADEAOwAgAHQAdABmAGEAdQB0AG8AaABpAG4AdAAgACgAdgAxAC4AOAAuADMAKQBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADAAOQAtADIAMAAxADAALAAgAEQAZQBzAGkAZwBuACAAUwBjAGkAZQBuAGMAZQAsACAASQBuAGMALgAgACgAPAB3AHcAdwAuAG0AYQB0AGgAagBhAHgALgBvAHIAZwA+ACkACgBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANAAtADIAMAAxADgAIABLAGgAYQBuACAAQQBjAGEAZABlAG0AeQAgACgAPAB3AHcAdwAuAGsAaABhAG4AYQBjAGEAZABlAG0AeQAuAG8AcgBnAD4AKQAsAAoAdwBpAHQAaAAgAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQAIABOAGEAbQBlACAASwBhAFQAZQBYAF8AQQBNAFMALgAKAAoAVABoAGkAcwAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABpAHMAIABsAGkAYwBlAG4AcwBlAGQAIAB1AG4AZABlAHIAIAB0AGgAZQAgAFMASQBMACAATwBwAGUAbgAgAEYAbwBuAHQAIABMAGkAYwBlAG4AcwBlACwAIABWAGUAcgBzAGkAbwBuACAAMQAuADEALgAKAFQAaABpAHMAIABsAGkAYwBlAG4AcwBlACAAYQB2AGEAaQBsAGEAYgBsAGUAIAB3AGkAdABoACAAYQAgAEYAQQBRACAAYQB0ADoACgBoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAaAB0AHQAcAA6AC8ALwBzAGMAcgBpAHAAdABzAC4AcwBpAGwALgBvAHIAZwAvAE8ARgBMAAIAAAAAAAD/gwAyAAAAAAAAAAAAAAAAAAAAAAAAAAABBAAAAAEAAgADACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQBOAQIAlgCKAOoBAwDYANkBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBEwEUARUBFgEXARgBGQEaARsBHAEdAR4BHwEgASEBIgEjASQBJQEmAScBKAEpASoBKwEsAS0BLgEvATABMQEyATMBNAE1ATYBNwE4ATkA7wE6ATsBPAE9AT4BPwFAAUEBQgFDAUQBRQFGAUcBSAFJAUoApwFLAUwBTQFOAU8BUAFRAVIBUwFUAVUBVgFXAVgBWQFaAVsBXAFdAV4BXwFgAWEBYgFjAWQBZQFmAWcBaAFpAWoBawFsAW0BbgFvAXABcQFyAXMBdAF1AXYBdwF4AXkBegF7AXwBfQF+AX8BgAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswC5AbQBtQG2AbcBuAG5AboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAc8B0AHRAdIB0wHUAdUB1gHXAdgB2QHaAdsB3AHdAd4HdW5pMDBBMARoYmFyB3VuaTAzMDIJdGlsZGVjb21iB3VuaTAzREQHdW5pMDNGMAd1bmkyMDM1B3VuaTIxMEYHdW5pMjEyNwd1bmkyMTMyB3VuaTIxMzYHdW5pMjEzNwd1bmkyMTM4B3VuaTIxNDEJYXJyb3dsZWZ0CmFycm93cmlnaHQHdW5pMjE5QQd1bmkyMTlCB3VuaTIxOUUHdW5pMjFBMAd1bmkyMUEyB3VuaTIxQTMHdW5pMjFBQgd1bmkyMUFDB3VuaTIxQUQHdW5pMjFBRQd1bmkyMUIwB3VuaTIxQjEHdW5pMjFCNgd1bmkyMUI3B3VuaTIxQkEHdW5pMjFCQgd1bmkyMUJFB3VuaTIxQkYHdW5pMjFDMgd1bmkyMUMzB3VuaTIxQzQHdW5pMjFDNgd1bmkyMUM3B3VuaTIxQzgHdW5pMjFDOQd1bmkyMUNBB3VuaTIxQ0IHdW5pMjFDQwd1bmkyMUNEB3VuaTIxQ0UHdW5pMjFDRgd1bmkyMURBB3VuaTIxREIHdW5pMjFERAd1bmkyMUUwB3VuaTIxRTIHdW5pMjIwMQd1bmkyMjA0CGVtcHR5c2V0B3VuaTIyMEQHdW5pMjIxNAd1bmkyMjE2DHByb3BvcnRpb25hbAVhbmdsZQd1bmkyMjIxB3VuaTIyMjIHdW5pMjIyMwd1bmkyMjI0B3VuaTIyMjUHdW5pMjIyNgl0aGVyZWZvcmUHdW5pMjIzNQdzaW1pbGFyB3VuaTIyM0QHdW5pMjI0MQd1bmkyMjQyB3VuaTIyNDYHdW5pMjI0QQd1bmkyMjRFB3VuaTIyNEYHdW5pMjI1MQd1bmkyMjUyB3VuaTIyNTMHdW5pMjI1Ngd1bmkyMjU3B3VuaTIyNUMHdW5pMjI2Ngd1bmkyMjY3B3VuaTIyNjgHdW5pMjI2OQd1bmkyMjZDB3VuaTIyNkUHdW5pMjI2Rgd1bmkyMjcwB3VuaTIyNzEHdW5pMjI3Mgd1bmkyMjczB3VuaTIyNzYHdW5pMjI3Nwd1bmkyMjdDB3VuaTIyN0QHdW5pMjI3RQd1bmkyMjdGB3VuaTIyODAHdW5pMjI4MQd1bmkyMjg4B3VuaTIyODkHdW5pMjI4QQd1bmkyMjhCB3VuaTIyOEYHdW5pMjI5MAd1bmkyMjlBB3VuaTIyOUIHdW5pMjI5RAd1bmkyMjlFB3VuaTIyOUYHdW5pMjJBMAd1bmkyMkExB3VuaTIyQTgHdW5pMjJBOQd1bmkyMkFBB3VuaTIyQUMHdW5pMjJBRAd1bmkyMkFFB3VuaTIyQUYHdW5pMjJCMgd1bmkyMkIzB3VuaTIyQjQHdW5pMjJCNQd1bmkyMkI4B3VuaTIyQkEHdW5pMjJCQgd1bmkyMkJDB2RvdG1hdGgHdW5pMjJDNwd1bmkyMkM5B3VuaTIyQ0EHdW5pMjJDQgd1bmkyMkNDB3VuaTIyQ0QHdW5pMjJDRQd1bmkyMkNGB3VuaTIyRDAHdW5pMjJEMQd1bmkyMkQyB3VuaTIyRDMHdW5pMjJENAd1bmkyMkQ2B3VuaTIyRDcHdW5pMjJEOAd1bmkyMkQ5B3VuaTIyREEHdW5pMjJEQgd1bmkyMkRFB3VuaTIyREYHdW5pMjJFMAd1bmkyMkUxB3VuaTIyRTYHdW5pMjJFNwd1bmkyMkU4B3VuaTIyRTkHdW5pMjJFQQd1bmkyMkVCB3VuaTIyRUMHdW5pMjJFRAd1bmkyMzIyB3VuaTIzMjMHdW5pMjRDOAhTRjAxMDAwMAhTRjAzMDAwMAhTRjAyMDAwMAhTRjA0MDAwMAd1bmkyNTcxB3VuaTI1NzIJZmlsbGVkYm94BkgyMjA3Mwd0cmlhZ3VwB3VuaTI1QjMHdW5pMjVCNgd0cmlhZ2RuB3VuaTI1QkQHdW5pMjVDMAd1bmkyNjA1B3VuaTI3MTMHdW5pMjcyMAd1bmkyOUVCB3VuaTJBNUUHdW5pMkE3RAd1bmkyQTdFB3VuaTJBODUHdW5pMkE4Ngd1bmkyQTg3B3VuaTJBODgHdW5pMkE4OQd1bmkyQThBB3VuaTJBOEIHdW5pMkE4Qwd1bmkyQTk1B3VuaTJBOTYHdW5pMkFCNQd1bmkyQUI2B3VuaTJBQjcHdW5pMkFCOAd1bmkyQUI5B3VuaTJBQkEHdW5pMkFDNQd1bmkyQUM2B3VuaTJBQ0IHdW5pMkFDQwd1bmlFMDA2B3VuaUUwMDcHdW5pRTAwOAd1bmlFMDA5B3VuaUUwMEMHdW5pRTAwRAd1bmlFMDBFB3VuaUUwMEYHdW5pRTAxMAd1bmlFMDExB3VuaUUwMTYHdW5pRTAxNwd1bmlFMDE4B3VuaUUwMTkHdW5pRTAxQQd1bmlFMDFCAAAAAAEAAf//AA8=) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff"),url(data:font/ttf;base64,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I0KxDABCsAtDKyCwYFBYILBAUVizBCAFIBuzBCYFGllCQiMgR7AGQ7ACYiCwAFBYsEBgWWawAWNgILABKyCKimEgsARDYGQjsAVDYWRQWLAEQ2EbsAVDYFmwAyWwAmIgsABQWLBAYFlmsAFjYbACJUZhOCMgPCM4GyEgIEYjR7ABKyNhOCFZsTABFCstsEcssQA6Ky6xMAEUKy2wSCyxADsrISMgIDywBiNCIzixMAEUK7AGQy6wMCstsEkssAAVIEewACNCsgABARUUEy6wNiotsEossAAVIEewACNCsgABARUUEy6wNiotsEsssQABFBOwNyotsEwssDkqLbBNLLAAFkUjIC4gRoojYTixMAEUKy2wTiywCiNCsE0rLbBPLLIAAEYrLbBQLLIAAUYrLbBRLLIBAEYrLbBSLLIBAUYrLbBTLLIAAEcrLbBULLIAAUcrLbBVLLIBAEcrLbBWLLIBAUcrLbBXLLMAAABDKy2wWCyzAAEAQystsFksswEAAEMrLbBaLLMBAQBDKy2wWyyzAAABQystsFwsswABAUMrLbBdLLMBAAFDKy2wXiyzAQEBQystsF8ssgAARSstsGAssgABRSstsGEssgEARSstsGIssgEBRSstsGMssgAASCstsGQssgABSCstsGUssgEASCstsGYssgEBSCstsGcsswAAAEQrLbBoLLMAAQBEKy2waSyzAQAARCstsGosswEBAEQrLbBrLLMAAAFEKy2wbCyzAAEBRCstsG0sswEAAUQrLbBuLLMBAQFEKy2wbyyxADwrLrEwARQrLbBwLLEAPCuwQCstsHEssQA8K7BBKy2wciywABaxADwrsEIrLbBzLLEBPCuwQCstsHQssQE8K7BBKy2wdSywABaxATwrsEIrLbB2LLEAPSsusTABFCstsHcssQA9K7BAKy2weCyxAD0rsEErLbB5LLEAPSuwQistsHossQE9K7BAKy2weyyxAT0rsEErLbB8LLEBPSuwQistsH0ssQA+Ky6xMAEUKy2wfiyxAD4rsEArLbB/LLEAPiuwQSstsIAssQA+K7BCKy2wgSyxAT4rsEArLbCCLLEBPiuwQSstsIMssQE+K7BCKy2whCyxAD8rLrEwARQrLbCFLLEAPyuwQCstsIYssQA/K7BBKy2whyyxAD8rsEIrLbCILLEBPyuwQCstsIkssQE/K7BBKy2wiiyxAT8rsEIrLbCLLLILAANFUFiwBhuyBAIDRVgjIRshWVlCK7AIZbADJFB4sQUBFUVYMFktAEu4AMhSWLEBAY5ZsAG5CAAIAGNwsQAHQrIAAQAqsQAHQrMMBAEKKrEAB0KzEgIBCiqxAAhCugNAAAEACyqxAAlCugBAAAEACyq5AAMAAESxJAGIUViwQIhYuQADAGREsSgBiFFYuAgAiFi5AAMAAERZG7EnAYhRWLoIgAABBECIY1RYuQADAABEWVlZWVmzDgQBDiq4Af+FsASNsQIARLMFZAYAREQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAGUAZQK//+8CFQAAAr//7wIVAAAAAAAJAHIAAwABBAkAAACiAAAAAwABBAkAAQAiAKIAAwABBAkAAgAIAMQAAwABBAkAAwBMAMwAAwABBAkABAAsARgAAwABBAkABQBCAUQAAwABBAkABgAsARgAAwABBAkADQJyAYYAAwABBAkADgA0A/gAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAwADkALQAyADAAMQAwACAARABlAHMAaQBnAG4AIABTAGMAaQBlAG4AYwBlACwAIABJAG4AYwAuAAoAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAxADQALQAyADAAMQA4ACAASwBoAGEAbgAgAEEAYwBhAGQAZQBtAHkASwBhAFQAZQBYAF8AQwBhAGwAaQBnAHIAYQBwAGgAaQBjAEIAbwBsAGQARgBvAG4AdABGAG8AcgBnAGUAIAAyAC4AMAAgADoAIABLAGEAVABlAFgAXwBDAGEAbABpAGcAcgBhAHAAaABpAGMALQBCAG8AbABkAEsAYQBUAGUAWABfAEMAYQBsAGkAZwByAGEAcABoAGkAYwAtAEIAbwBsAGQAVgBlAHIAcwBpAG8AbgAgADEALgAxADsAIAB0AHQAZgBhAHUAdABvAGgAaQBuAHQAIAAoAHYAMQAuADgALgAzACkAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAwADkALQAyADAAMQAwACwAIABEAGUAcwBpAGcAbgAgAFMAYwBpAGUAbgBjAGUALAAgAEkAbgBjAC4AIAAoADwAdwB3AHcALgBtAGEAdABoAGoAYQB4AC4AbwByAGcAPgApAAoAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAxADQALQAyADAAMQA4ACAASwBoAGEAbgAgAEEAYwBhAGQAZQBtAHkAIAAoADwAdwB3AHcALgBrAGgAYQBuAGEAYwBhAGQAZQBtAHkALgBvAHIAZwA+ACkALAAKAHcAaQB0AGgAIABSAGUAcwBlAHIAdgBlAGQAIABGAG8AbgB0ACAATgBhAG0AZQAgAEsAYQBUAGUAWABfAEMAYQBsAGkAZwByAGEAcABoAGkAYwAuAAoACgBUAGgAaQBzACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAGkAcwAgAGwAaQBjAGUAbgBzAGUAZAAgAHUAbgBkAGUAcgAgAHQAaABlACAAUwBJAEwAIABPAHAAZQBuACAARgBvAG4AdAAgAEwAaQBjAGUAbgBzAGUALAAgAFYAZQByAHMAaQBvAG4AIAAxAC4AMQAuAAoAVABoAGkAcwAgAGwAaQBjAGUAbgBzAGUAIABhAHYAYQBpAGwAYQBiAGwAZQAgAHcAaQB0AGgAIABhACAARgBBAFEAIABhAHQAOgAKAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATABoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAAAACAAAAAAAA/4MAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAABAAIAAwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0BAgd1bmkwMEEwAAEAAf//AA8=) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff"),url(data:font/ttf;base64,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sAJiILAAUFiwQGBZZrABY2AgsAErIIqKYSCwBENgZCOwBUNhZFBYsARDYRuwBUNgWbADJbACYiCwAFBYsEBgWWawAWNhsAIlRmE4IyA8IzgbISAgRiNHsAErI2E4IVmxMAEUKy2wRyyxADorLrEwARQrLbBILLEAOyshIyAgPLAGI0IjOLEwARQrsAZDLrAwKy2wSSywABUgR7AAI0KyAAEBFRQTLrA2Ki2wSiywABUgR7AAI0KyAAEBFRQTLrA2Ki2wSyyxAAEUE7A3Ki2wTCywOSotsE0ssAAWRSMgLiBGiiNhOLEwARQrLbBOLLAKI0KwTSstsE8ssgAARistsFAssgABRistsFEssgEARistsFIssgEBRistsFMssgAARystsFQssgABRystsFUssgEARystsFYssgEBRystsFcsswAAAEMrLbBYLLMAAQBDKy2wWSyzAQAAQystsFosswEBAEMrLbBbLLMAAAFDKy2wXCyzAAEBQystsF0sswEAAUMrLbBeLLMBAQFDKy2wXyyyAABFKy2wYCyyAAFFKy2wYSyyAQBFKy2wYiyyAQFFKy2wYyyyAABIKy2wZCyyAAFIKy2wZSyyAQBIKy2wZiyyAQFIKy2wZyyzAAAARCstsGgsswABAEQrLbBpLLMBAABEKy2waiyzAQEARCstsGssswAAAUQrLbBsLLMAAQFEKy2wbSyzAQABRCstsG4sswEBAUQrLbBvLLEAPCsusTABFCstsHAssQA8K7BAKy2wcSyxADwrsEErLbByLLAAFrEAPCuwQistsHMssQE8K7BAKy2wdCyxATwrsEErLbB1LLAAFrEBPCuwQistsHYssQA9Ky6xMAEUKy2wdyyxAD0rsEArLbB4LLEAPSuwQSstsHkssQA9K7BCKy2weiyxAT0rsEArLbB7LLEBPSuwQSstsHwssQE9K7BCKy2wfSyxAD4rLrEwARQrLbB+LLEAPiuwQCstsH8ssQA+K7BBKy2wgCyxAD4rsEIrLbCBLLEBPiuwQCstsIIssQE+K7BBKy2wgyyxAT4rsEIrLbCELLEAPysusTABFCstsIUssQA/K7BAKy2whiyxAD8rsEErLbCHLLEAPyuwQistsIgssQE/K7BAKy2wiSyxAT8rsEErLbCKLLEBPyuwQistsIsssgsAA0VQWLAGG7IEAgNFWCMhGyFZWUIrsAhlsAMkUHixBQEVRVgwWS0AS7gAyFJYsQEBjlmwAbkIAAgAY3CxAAdCsgABACqxAAdCswwEAQoqsQAHQrMSAgEKKrEACEK6A0AAAQALKrEACUK6AEAAAQALKrkAAwAARLEkAYhRWLBAiFi5AAMAZESxKAGIUVi4CACIWLkAAwAARFkbsScBiFFYugiAAAEEQIhjVFi5AAMAAERZWVlZWbMOBAEOKrgB/4WwBI2xAgBEswVkBgBERAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkAGQARQBFAsH/6gIVAAACwf/qAhUAAAAAAAkAcgADAAEECQAAAKIAAAADAAEECQABACIAogADAAEECQACAA4AxAADAAEECQADAFIA0gADAAEECQAEADIBJAADAAEECQAFAEIBVgADAAEECQAGADIBJAADAAEECQANAnIBmAADAAEECQAOADQECgBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADAAOQAtADIAMAAxADAAIABEAGUAcwBpAGcAbgAgAFMAYwBpAGUAbgBjAGUALAAgAEkAbgBjAC4ACgBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANAAtADIAMAAxADgAIABLAGgAYQBuACAAQQBjAGEAZABlAG0AeQBLAGEAVABlAFgAXwBDAGEAbABpAGcAcgBhAHAAaABpAGMAUgBlAGcAdQBsAGEAcgBGAG8AbgB0AEYAbwByAGcAZQAgADIALgAwACAAOgAgAEsAYQBUAGUAWABfAEMAYQBsAGkAZwByAGEAcABoAGkAYwAtAFIAZQBnAHUAbABhAHIASwBhAFQAZQBYAF8AQwBhAGwAaQBnAHIAYQBwAGgAaQBjAC0AUgBlAGcAdQBsAGEAcgBWAGUAcgBzAGkAbwBuACAAMQAuADEAOwAgAHQAdABmAGEAdQB0AG8AaABpAG4AdAAgACgAdgAxAC4AOAAuADMAKQBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADAAOQAtADIAMAAxADAALAAgAEQAZQBzAGkAZwBuACAAUwBjAGkAZQBuAGMAZQAsACAASQBuAGMALgAgACgAPAB3AHcAdwAuAG0AYQB0AGgAagBhAHgALgBvAHIAZwA+ACkACgBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANAAtADIAMAAxADgAIABLAGgAYQBuACAAQQBjAGEAZABlAG0AeQAgACgAPAB3AHcAdwAuAGsAaABhAG4AYQBjAGEAZABlAG0AeQAuAG8AcgBnAD4AKQAsAAoAdwBpAHQAaAAgAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQAIABOAGEAbQBlACAASwBhAFQAZQBYAF8AQwBhAGwAaQBnAHIAYQBwAGgAaQBjAC4ACgAKAFQAaABpAHMAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAaQBzACAAbABpAGMAZQBuAHMAZQBkACAAdQBuAGQAZQByACAAdABoAGUAIABTAEkATAAgAE8AcABlAG4AIABGAG8AbgB0ACAATABpAGMAZQBuAHMAZQAsACAAVgBlAHIAcwBpAG8AbgAgADEALgAxAC4ACgBUAGgAaQBzACAAbABpAGMAZQBuAHMAZQAgAGEAdgBhAGkAbABhAGIAbABlACAAdwBpAHQAaAAgAGEAIABGAEEAUQAgAGEAdAA6AAoAaAB0AHQAcAA6AC8ALwBzAGMAcgBpAHAAdABzAC4AcwBpAGwALgBvAHIAZwAvAE8ARgBMAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATAACAAAAAAAA/4MAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAABAAIAAwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0BAgd1bmkwMEEwAAEAAf//AA8=) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff"),url(data:font/ttf;base64,AAEAAAAOAIAAAwBgT1MvMkb4VPIAADcEAAAAYGNtYXDlzQYYAAA3ZAAAAIRjdnQgDbQCPQAARpwAAAA8ZnBnbWIu+3sAADfoAAAODGdhc3AAAAAQAABMeAAAAAhnbHlmEOs4uAAAAOwAADNeaGVhZGPjQtgAADUsAAAANmhoZWEIAgQtAAA24AAAACRobXR44TEObgAANWQAAAF8bG9jYTZIQ0kAADRsAAAAwG1heHABDA6wAAA0TAAAACBuYW1lYa19FQAARtgAAAR+cG9zdFzFEusAAEtYAAABIHByZXBoSsqcAABF9AAAAKcAAgAyAAAAyAIVAAMABwAAMxEzESczESMylmQyMgIV/esyAbEAAgBw//AA7AKyAAcAEwAItQ8KBgICMis2NDYyFhQGIhMDBwMmNTQ2MzIWFHAkNCQkNEUqEyAEHx0WFhQ0JCQ0JAI9/o0CAX8mFCYbGyYAAgAKAbAA5wK3AAoAFwAItQ8LBAACMisTJyY1NDMyFhUVBzMnJjU0MzIWFRUUBwcoFwcpDhkZdhoGLgwWARYBsJgqHyYKCjS/wSoBGAoJGA8IwgAAAwAq//ADSAK5ADcAQQBLAAq3RkI/OiUVAzIrATcWMzI3ByYjFhUUBxYzMj4CNxcGIyInBiMiJjU0NjcmNTQ3NjMyFhUUDgIHFhYXNjU0JiMiEyYnBgYVFBYzMgM2NTQmIyIGFRQBrwE5OXiqA0RWBltCMBYjGg4KGTWKU0ZyX2OSUlkcNEJrMkgfRDMwU1ZALEA4KBGCbSkdelYtXWQmGicmAWMxAwc5BBwSdVApFCkbGQbCNTNxVUBgMkAyWSw4MS0iNzEcF3hqNytMLTz+23yvFT0sTHsBlzJdGjA0IkQAAAEAUAG0AJ8CtwAKAAazBAABMisTJyY0NjMyFRQHB2gWAhoRJAUfAbTBGBoQIQggugAAAQCG/0YBWwLiABQABrMKAQEyKwUVJicmNTQ3NjY3FQ4EFRQXFgFblCwVFxVWUyk7HxIEFSKsDhXLY4+GYFZ4FhMSTVV3WTmYaKYAAAEAaf9FAUYC3wAUAAazCAEBMisTNRYRFAcGBgc1NjY3NjU1NCcuAmndGBRUXTA6ECUXCxk6AssUJ/5Yk2lVahAQESsqYtcgiWIvQ0kAAAEAJAHBARoCvgAdAAazDwABMisTIzY3BgcnNjcmJzcWFzQnMwYHNjcXBgcWFwcmJxa8MAkBPB4YOSopNhwiLwkwCgQ0GB5FHyc/IBU3AgHBOjIrISgYHR0aIR8hQCgqOiUaJR0VHhgkFiYxAAEAOP+tA0UCVgALAAazCwUBMisBIQchEQcRITchETcB2AFtEP6jMv6SEQFdMgEgMv7SEwFBMgEoDgABAGD/JwD9AI8AEwAGsxMJATIrFzY1NCcnJjU0NjMyFxYWFRQGBwd2RAxGCC8RFw8RJjA5A8VbLRgPUwoTFx4TFV8jJVNDAwABADYA5wNCARkAAwAGswIAATIrJSE3IQMy/QQTAvnnMgAAAQBh//EA8QCBAAcABrMEAAEyKzYyFhQGIiY0izwqKjwqgSo8Kio8AAEAKf87AiQC1QAGAAazBgIBMisBFwEnJwE3Ah0H/jAnBAHNDgLPD/x7CRIDfAMAAAIAKf/1AhUB9gALABkACLURDAUAAjIrARYWFRQGIyImNTQ2FwYGFRQWMzI+AjU0JgE5Y3m8bFdtki4uLWBGKTMWBnYB9hl6UWO6eU1qoh8XWjNDehcuKB9EfgAAAQA2AAACJAHpABoABrMMAgEyKxMnJQYVFRQzMjYzNxUhNTMyFjMyNjU2NTQmJ2ECASAQLQUUBGv+EhIXYBgLEA0cJwHDHweDdLQWAQEqMAMNCsFLLDUFAAEALAAAAjQB6wAfAAazDgABMishISc3NjU0JiMiByc+AjMyFhUUBwYGBwcGFRYzMjcXAhn+FgOBhi0mKVgSLTVXIzxJYxJEFxYCAw5x3g4ZbnJVIzQpHBocHTYyQF0QQRUVAgQFCgQAAQAk/z8CCwHoACUABrMfBgEyKyUXFhYVFAYjIic3FjMyNjU0JyYjNTI2NjU0JiMiByc2MzIWFRQGAToEVHmueGFgEEpIU2coM5w0WEY7LyxIEmRkP2BX1AsDVUhmhDgZJV9HSiEqJhQ9MSYzKBJXPzU2VQACAA3/OgI1Ae8ADwAVAAi1ExAHAQIyKwUHJzUhNQE3FwYRMjcHIxQlMxEnBgcBwmgF/rgBXlMKCkssE2T+sOYFUJGeKAq7HQHEDw2F/twEPlmTAS4DS9sAAQAS/0ECBgHhAB8ABrMPAAEyKwEHISIVFRc2MzIXFhUUBwYjIic3FjMyNjU0JiMiBycRAgQe/rgNCjlGdTo9SFmEdVoRR0FgaEVJNzQbAeFdEpIFFzE0VG49TTUaKHNRPlcpCgE/AAACADD/9AIkAsAAHwAtAAi1KyUaEQIyKwEHJiMiDgMHFzYzMhYVFAYjIi4CNTQ2NjMyFhYXAR4EMzI2NTQmIyICGRkoMDRVOCgSAwpjT1Npsms4VjAXcdF7AhMaCP6JAQcVITckPj5bRzkCcQIXKD9VVCsDOmRGWYszUVgta86KAwMB/mUePEY0I0o0Pl8AAQA2/zoCTwHfAA4ABrMLAAEyKxcjJwE2NTQjIgUnNyEVAqluBQGDAwo+/tIOHgH57sYXAhUEBAkKC2cX/twAAAMALf/7Ah4CywAJAB0AJwAKtyQeGQ8EAAMyKxMGFRQWMzI2NCY3FhYVFAYjIiY1NDcmNTQ3FhYVFAc2NjU0JicGFRT8XVQ7P0JhIltTrnJZeLSJ2F15uSMmTTZNAVApYzllQmpUazRTPF12W0t4TF9RbkgFPj5oOhRGJS9ECiJIOQACAB3/PQIlAegAFgAjAAi1IRwQCQIyKyUGIyImNTQ3NjcyFxYVFAcGIzU2NzY3JzY1NCYnBgYVFBYzMgGGVllKcEIalntBWn991I5CXgoOGktMPyxdRjNoPXxHYjoXRzhMh8tsaR8JOU91IBg7T4AaGk46PmsAAgA3//AAyAHeAAcAEQAItQwIBAACMisSMhYUBiImNBMyFhQGIyImNDZhPCoqPCpIHisrHh0rKwHeKjwqKjz+zSo8Kys8KgAAAgA2/ycA0wHfAAcAGwAItRsRBAACMisSMhYUBiImNBM2NTQnJyY1NDYzMhcWFhUUBgcHYDwqKjwqFkQMRggvERcPESYwOQMB3yo8Kys8/YZbLRgPUwoTFx4TFV8jJVNDAwACABYApAIvAV0AAwAHAAi1BgQCAAIyKwEhNyEHITchAiX98QsCDgr98QsCDgErMrkyAAIAJ//oAacCuwAJACwACLUdEAQAAjIrNzIWFAYjIiY0NhMHJjU0NjYzMhYVFAcHBhUUFxUHJjU0Nzc2NTQmIyIGFRQXqR4rKx4dKysNTiRIZTNCXkyCJRxGNyh4RT4pJDQUeSo8Kys8KgGdLREuLEUiQzdQO2QeIRwXCS8YMCkeVzJlJkgjIRkUAAEAHf/hAzsCsAA+AAazJAEBMislBy4CIyIHJzc2NTQmIyIGFRQXHgIVFAcnNjU0JiY1NDc2NjMyFhUUBwcyFzY3ETcXBwYRFBcXNxcGBgcnAkfoHCdBHC1YFsiwa0kvNQ0HNCacE0U1Ni4olzVZgDzBQVkmaK4OMwgEOTUFCnUgDHybHiUlKhGAb6hAaSokDhMKLywRSUkPKCURNz4cKCslQWFMXGqeUAlBAa1pDTMx/u5ENWUVFgdQEwMAAwA4/+EDwwKtAEAATgBcAAq3Vk9KRSoCAzIrJQcGIyImIyIHJzc2NzY2NTQnJiYjIgYVFB4CFRQHJzY3NjU0JiY1NDc2MzIWFz4CMhceAjMyNxUHFRYWFRQlBxYXFjMyNTQmIyIHBjc2NyYnLgIjIgcWFRQDiqwmO0HrP1VcDYtHMCYUBwxUOiExJCsksBQ6Dgw0NEZecDlbGSxAX04WDRUfHRwhzGhY/j2RZ4pkNk10Wy8xBQeZYyUFAQwgIEw+B2RvFEgyGE0nKCFVQkwkPGQpHg8pJDAUPVkNJRMQDxA1QB4iPVE9LyAnJRILVEMKGGcFDFVGO1RoAi8iWlViCxw6IzQVGANQOmMjQh0AAQBH/+AC2QKlADkABrMwAwEyKwEXNjcWMzI3FQYjIiYmJwYVFBYVFAcOAgcnNjY1NCY1NDcOAhUUFxYzMjc3FwcGIyInJjU0NzY2ATkZiogWOg8WYioULBISKighFUcsLxQmPiQELTkSZWaEKxN0BKYvJrhfcy8TgAJRGVcWaQYZKCcdHgkvEnIcPRwSIhAPDgo+ICOCGw4IBD9KK5pWVgk2G2cKUmKeWFsPSAAAAQAe/+MDgAKtADoABrMmHQEyKwEXBhUUFhYVFAcWFxYzMjY2NTQnJiMiBwYHJzQ3NjMyFxYVFAcGByInJiMiBgYHJzY3Mj4CNTQmNTQBnRY+NTahOssuISo6FWJkz6JURQUZaGHo4HZbTm6LL2auQRs2HRcRL2wkLzoeaQIlCzMYFD1CG047CTcNRlgtmFNURzpnB45YU2VNh3hvXU0iOhobGBNBWwQMHxgXbh9FAAABAEn/4wLdAq8APwAGsy4iATIrARYXFQcmJycmIyIHBgcnNjY1NCcmNTQ3BgYVFBYzMjcVBwYjIicmNTQ3NjcXNjcWMzI3BwYjBiMiJycGFRQWFQJmHzJZKQMkCAcKDSOwFic8DhkGPELAh2Vemzw4omFyKU5zK2icHTAQHgOBAgQHERY7JCYBzTghDDcYAhkGCUs0Dg8yHDMrSR0UEgx5P3nEOhtnC1FhnGNPODwSPixuBxsoARpMFxkfgR0AAQAR/20C3gKsAFUABrNEEQEyKwE3FhcHLgIjIgceAhUUBgYjIiY1NDY1NCYjIgcnNjMyFhUUBhUUFjMyNzY1NCYmJy4HNTQ2NyYjIgcnNjYzMhYWFxYzMjcXBgcmJwYVFAG2liIkRAwOGRAcJyQrLV2QSkhKDhsZFCwEbEgaJRkrKzwxJiQdHgMdChoMEggHY0KgN18eGhVxYB9RKTBrGBlMDHMkMkhhASt3G0M8EREPISYxSxs+b0FHPhVRHBUgFxc9IBYehhwlNikgRRI7JCIEIA0fERwUFwosVx9KgxBXdBYQFC09EHAcAhYeOTAAAgBK/+UDTAK0ACgATAAItTgxHw8CMisBFzY3FwYGFRQXNzcmJic3FhYzMjcXBgcyFhUUBgcHBiMiLgI1NDc2Eyc2NTQmNTQ3DgIVFBYWMzI2NTQmIyIHFhUUDgcBNCM/URYhLB9Cci49DHAQLyoZKANwXGCPV0iWPyFUjVoyMFpRC0MqDSs9GVOfY1ZkZlIqGgMGEQ0dDyYNKQJUDCsjDA44HihoIlYIJihQKScTGExJWE9GeCVSCTtie0FuRDn+rRIZNhumCSYRAzxLJ1SbZ11KSGUJEBMOGRQQEAkNBQwAAAEAAP+BAvECrABIAAazLxUBMislByYjIgcnPgIzMhc2NTQuAjU0NxYzMjcXBgcGIyInBhUUFzY3MhYXFhUUByIGIyInNzcWFjMyPgQ1NTQjIyIGBxYVFAFipjomJScQIyhBFDMwHSoxKuVKMypFDlQ3GhVEWSVEXl0ubh46MwK1GDYrOxAIJRQVHxMMBQGPDCI1MS5/kTYnEiMlLTgiHhtORVwnYI9BMxJNIgc4ISBAaEczHBEdo4tzcyhGARQhESUlPiskD9ITJk0xMwAAAgAf/+cCbwKrABYAMwAItTAoDwkCMisBFwYHJyYjIgYHIyc+AzMyFjMyNjYBJzY3HgMzMjU0JjU0NzY3FwYVFBYVFAYjIicCZglvXm5CIzVEIQcPGSU4QigpsBoTLxn94Ac7ZA0RICYXYhEET2IZTxLAdz9BAp4PVy4kEjw1DjI8QR9DExH9ZBI8ThkbKROaDpEeIxtVPAo4OS2JI2ifLwAAAv/4/3ICZwKpABQAOgAItS4mDwsCMisBFQYHJicmIyIGBgcnPgIzMhYzMgEyFRQGFRQzMjY1NCY1NDc2NxcGFRQWFRQGIyInJicuAiIHJzYCZ25xJiVGLx4xFhESGzFXMB+YKiL+lkYBUzQwPAVNZRlTMp1pSR8lCwYKGjAiCWwCYRc1IBAZJR0bGw4vQjpm/lI+BSMMjkIvLc81HhVfRQlKRzK9MVyGGh5AJiMZERJIAAIAFP/mAy0CqgBEAFAACLVMRSgKAjIrAQcWFhcWMzI3FwYjIicmJyYjIgcWFRQHBgciJzczFjMyNTQmNTQ3NjYzMhYWFxYVFAcHJiYjIgYVFBc2MzIeAzMyNwU2NzcuAyMiBxYC4sU5KQoPSx4lB29BUhENGBU0LjQDBmVZRi9WDhwqL1UeNrpqNk8hEQMWFA6GTUtuF5NtHykSDhcSGBb+Z2ZMNwwVDiAWYzgDAVxBCzQ/WhgWX3dKIh0YFBEUGW0lNlVHPSfOOScuU2kWFxMPDyQ+BkBNR0M0SYwdKSgdBosuDRcIKyYfdgoAAQAe/+QC/AKsAEIABrMlDQEyKwEGBzIXFjMyNxcOAyMiJyYjIgYGByc2MzIXNjU0JiY1NDc2NjMyFxYVFAYVFBYzFQciJjU0NjU0JiMiBhUUFhUUAW8xQwaTT2GCIxMMGyxDLHWWdiEWJRUaEFFNDghDMTIaM65pTSIXBiQzrBgaC0gyN0RPAQE7LS8YgQsxR0clNSkXGSQNqgIRMxVLVyQgKFBSHRU3DDALGhUSMR4UDkcHLDA6LymeLRAAAAEAGv/fBNACrgCJAAazaAEBMislByc0NzY3JicuAiMiBxYVFAcHJiMiBwcnPgkzMhc+AjU0LgIjIgYGBxYVFAcHJiMiByc+CDMyFzY3NjU0LgMjIgYVFBcWFRQGBgcnNjU0JjU0NzY2MzIWFzYzMhc2MzIXHgIzMjcVBgcGFRUUHgQzMjcEx7NQBiw5EggGHiQZQEEIRaoyIB4TEBEGGgoVCREKEA0PCB0wGxwECRUwIRAiExYOV9stLSkrDwQgBxwKGQ8XFQwqMBMQRgobKUQrJDY9Ojk8LBJJbBctj0FCahlnUEg2gGwdDgocJBkWGE4mJQEECxEeFCMaTG1v7TRAJwQNCEorPS04v3qlLRAODwcdCxYJEAYJAwMpInFRQyBASi4ODhE2KJ+fmzUrDwQjCRwIFAYKAzsND0C8JkhLNyMaHBg9OxkdPSQWESInGW8dFB89Rz83T0ZqDAk8LAgSKx0cVhYeJUYtMRgJAAEAGv/fA8gCqQBWAAazQw4BMisBBhUVFB4EMzI3FQcnNDc2NyInLgIjIgcWFRQHBwYjIic3MxYWMzI1NCcmJiMiBhUUHgIVFAcnNjU0JiY1NDYzMhYXPgMzMhceAjMyNxcGA1wlAQQLER4UIxqzUAYvNhIRFR0dHUZUGCzNFgc+QlgTCDIgYB8ZaEkgLyMrI5QWQTEysmBJbBYfK0RJJjAXBhshEhwYBSMB3B5YEh4lRi0xGAkSbW/tNEQlDxNEKHFIXnRejwo5XhcrpXRcSm8bHBQvJDIWPVIQJyUSNTwbRHlSQB8mMhgTBTowCQ8QAAEAC//jA3EC1gBMAAazGgUBMisBNDY3NjczBhUUHgUXHgMVFAcGBwYjIiYjIgcnNz4DNTQmJic0NjcXBhUUFhcWFRQGBzIXFjMyNzY1NC4DIyIGIyImASgMFysTGQsFDQ4ZEyMMbJBIG1FMbVhDOtQqPDgVWRkhJxQ7PAFdOQ44HhFFQSxEr05FISVQIDJOSDAWShAeIgJgExcSIhgQDgUHBAMCAQEBBjBTXUCBc0Q1KkE2Fm4GChQdFB5UWCEgXh8OJyYMQBZfHyROHTsbHT69QV00HgkEGQAAAgAT/yEDsAKtAEsAZQAItWJPKwECMisFByc2NSYjIgcnNjc2MzIXNTQuAiMiBhUUFhYVFA4CByc2NTQuAjU0NjMyFhc2MzIXHgMzMjcXDgMVFBYVFAcGBiMiJxQRERcWMzI2NTQmNTQ2NjcuBDU0JiMiBgH8ihsbNiBFSg8/HDQ5FxQRI0QtMis4OBw8ICIQPR4jHqZqQWcaknYoEgoOCR8ZDxoHISQ6HFwTKm47RFmvMRwXGXMoIyAQChoJCiYiKj+NUg5QtxZYE1wcNAbEJ1FQMiodEjs/FhgsLBQTEyYpDyQdLRc9j0Y6fA8IMi8mBxMPEiEgECV8HyobPV8nTAI//og/ERwTHpEfFTUdGQICCg8dFSsvKwAAAQAL/64DlQLWAFUABrNCBwEyKyUWMzI3FQYHJicGIyImIyIHJzc+AzU0JiYnNDY3FwYVFBYXFhUUBgcyFxYzMjc2NTQuAyMiBiMiJjU0Njc2NzMGFRQeBRceAxUUBwYCzEUuJDJcR2RFQD061Co8OBVZGSEnFDs8AV05DjgeEUVBLESvTkUhJVAgMk5IMBZKEB4iDBcrExkLBQ0OGRMjDGyQSBtRFUJAEBUwHyUuHkE2Fm4GChQdFB5UWCEgXh8OJyYMQBZfHyROHTsbHT69QV00HgkEGQsTFxIiGBAOBQcEAwIBAQEGMFNdQIFzFwAAAgAT/+MD0QKxAFcAZAAItWJbNRgCMisTIgYVFBYWFRQOAgcnNjU0LgI1ND4CMzIWFzYzMh4EMzI3FwYHFhcUFxYWMzI3FwcmJzQnJiYjIgcGBwcnJiMiByc2MzIeAxc2NzY1NCcmJgUiJyYjIgcWFRQHNjfNLjA4OBw8ICIQPR4jHipFbTpIdRaDZCUqDAgGHhsXDgZ5WTsjBwgyKA8cAaoURQMGSTkXJA805jMTESgkEGszDBYYChoCExM9FRRbAgE1CwosREYDA2Y2AmspHhI7PxYYLCwUExMmKQ8kHS0XGEVEL006gxonLScaBQ0vNgcmeSoqRg4XZShhbB8wMQ9dVrIpDy4QfgYQCBkCDRAy00c5NVGhUFBoES8qMisEAAABAFL/4QOKAq0AQwAGszguATIrAScmIyIGBhUUFxYzMj4CNTQmIyIGIyImNTQ2NxcGBhUUMzI3PgIzMhYVFAcGIyInJjU0NzY2Nx4CMzI3FwYGIyICUoM8HThSI3BnlixWTjBsSjK4EzJDXUANFiZYQUsPNiwUS1plh92bamp+NYFpHnhfJ0AhGReMSRkCAUMeS2Iwpl5YEiM/KT0/Jy8sM0wODggrFTkNAgwHUUBcVXNbWaOTai0yGQs5IUUOPFkAAAEAHv/iAx4CswA9AAazPRcBMisBBwYjIicGBhUUFxYVFAcWMzI2NjcXBgciJiMiBgYHJzY3Mhc2NTQmJic2NyYjIhUUFxcHJjU0NjMyFjMyNwMeeSoyM1gaFkVSdHQnFTUdHAtIbTWzKSA3GRsMYF86IR1ATAozU8YaY0gCUzrEbyXsPkM7ApN2DQ8XJBooQU0dJlkuFRISGEJHSBMRFRJWLggYHxdATSBlRiU8MCkKRC0zVosnMgABABD/2QNnArEAPQAGszMfATIrJQYHFhYzMjY3NjU0JzY3FwcGFRQWFRQXHgIzMjcXBycHBiMiJiMiByc3NjU0JyYmNDY3Fw4CFRQXFhUUAWtbIhe2LCQ+AgcNUWoRGS8BBQEQKRoRLwTIR38WITTDLyM3EmqYDwhfcj8XFhsbIzj5ZRQEPTUedVRxhR0/DxgxlAwvCmpMDDU7EhRve2kNSDIUbRhnGSMSlUJzJRANFSMSLj1jTx0AAgAZ/+MDxgKvAEgAYwAItV1NHAACMisBMhYXPgMzMhcWFjMyNxcGBhUUFxcWFRQHBgYjIicmIyIHJzY3PgM1NC4CIyIGFRQWFhUUDgIHJzY1NC4CNTQ+AhMHHgIzMjY1NCcnJjU1NDc2NyImIyIHFhUUAS9LZg8gLEM9GxIgEVwSJBkCLksFEQc4Wk4wOYd1Mz9PDTB2JzQZCQ8iRi8tMjg4HDwgIhA9HiMeK0Zs2HUliY8sFxwFFwQMF0gqgCAySwICr1RAHycyGgoGNg4ZGlErNB1fJx1KLkssPjU+EihRCSk/PSomTVAyMBwSOz8WGCwsFBMTJikPJB0tFxtFQS3+V1gBOzsYFhoegRUpDDwOHEFHZxwPbAAAAwAf/+IE2AKqAFAAZwCCAAq3fGxiVT4YAzIrEyIGFRQWFhUUDgIHJzY1NC4CNTQ3NjYzMhYXNjcWFhc+AjMyFjMyNwcOAhUUFhUUBwcGIyInJicOAiMiJiMiByc2NzI+AjU0LgITBx4CMzI2Nz4CNTQuAicGBxYVFBcGBzIWMzI1NCY1NDc3BiMiJicmJiMiBxYVFNswMDg4HDwgIhA9HiMeGCh/VUhrGGBSGisgKzFXISZ8JRAYASwpMycbtSciHlBmSxBHNhQxoCM1RQ0zdDpRJhASJ0ephxBSVSMRSxAiIgUEEi8lISkE8SshKtAmMy02RAIWEDMODzoQPDIOAmkmHxI7PxYYLCwUExMmKQ8kHS0XGyU8TUQ6Qy8OMDAlJy5CDBkgIEgkG5cnTR17DRkhCQcnF0s7FjBUL1BQLyVJRiv+ZUsFKR4nECJYPjcqMUc0ExQhEyugXzgaSkAltikoLj0BFgsLETc4Pl4AAQAg/90DQwKqAEIABrM8FgEyKwEHJicGBhUyNwcmIxQeAjMyNxUGBwYjIi4CJwYHBiMiJzcWMzI3NjY1Igc3FjM0IyIHByc2NxYWFzY3HgIzMjcDQ4NALT4skjBAK1wULFM4I0suViEfKEAtHA9pWC0TIFhROzIUFEQunTRBKWl/OSQpEkRpUHQIYX4NECkZDxoCQkAXQC9YZAQ6AytTUDEeGBtACh04NCViMBk1UTUKIoJcAzgC1CElFEZSCFJBdCkdHSIHAAABACD/KgNvArEAWgAGsyMbATIrEyIGFRQWFhUUDgIHJzY1NC4CNTQ2MzIXNjcWFxYVFAcGBiMiJzcXFjMyPgM1NC4EIyIHFhUUBwYHFhYzMjcXBgcmJiMiByc2NzYzMhc2NzY1NCcm2S0wODgcPCAiED0eIx6rbYQyhmAwUxhSTcRoZT8yDyRuSWs6IwkCBxIcMB9DLAY7SkYNhyUjTQZTUSmrLD1NE2Q8ExQLICsPMlErAm4uHBI7PxYYLCwUExMmKQ8kHS0XQoiNaSo3KKpVvqpTbjVhAmQ9WYRtQiMuSTEwGTcbJ4ZTNioBNToVZCsGR0MTZCoEAhcNLat1RiUAAQAR/3YCeQLOAEoABrNFFAEyKxM3MhYVFAYHMh4FFRQGIyIGIyImNzc0JiMiByc2MzIWFRQGFRQWMzI+AzU0JyYjIgcnNzY2NTQjIgYjIic2NzcGFRQWM/2xMExvUx8sPSsvHBPHoAknCiguAQEYER0jCmdWIxcGGxAsQyoaChstWClCEThIYkokiwlBDDAsEgQbFAKYBiQlQ3EpAQcLFh0uHKnIAQkOMxAYFA9LIhsNMAwLCyA0SEcnShYlEQ1RDVg9KxA2QioBCAwQEgABACT/fgDiAuUACQAGswcGATIrEwcRMxUiBxEWM+KMjEp0LpACyA384RMLA2cFAAABAA7/fADQAuMACQAGswUEATIrEyc1MjcRJiM1N56QijhJeZACvAkYBvyZCBULAAABAAABxAJIAt8ABQAGswQAATIrAQUHJwUnASgBIC32/vYbAt/5G9bdDAACAFD/4AJLAdgAGAAjAAi1IhwJAQIyKyUHJicmNTQ3NjcWFzcXBhUUFxcyNxcHJicnAyInBhUUFxYXMgFxujI0ARRSczBOQggRAzQJJgWRHykCAjdaGwQ0HRZQcClAFCdzeCRFEw0cB0KGPDo/FBJvLiU4AQAXKXAgQjQUAAACAFb/4AH4ArMAGAAkAAi1IRsTCQIyKxM3FhcWFRQHBgcmJzY1NCc3FzY3FwYGFRUXJicGBxQXFhc2NTTcji9cAxOibVIuDQ0UGXA3ED0qqTItIScBUjUlAYBaFyUxM3hiWSc5LnDkkm0ITkcYDStQPGspGQwGHsEXRwdKfC8AAAEAV//mAagB2QAWAAazFQ4BMisBByMmJwYVFBcWFzcVBgcmJyY1NDc3FgGoTgo2PBEGPClqgEVAQgQNw0oBrWAwDxllKEw2HCoVUyQuRDhKWzlrDQAAAf///+MB/wJ4ACcABrMgFgEyKwEXBgcGFRQXFhc2NTQnLgIjIgcnNjcWFxYXFhUUBwYHJicmNTQ3NgEBFhQtCwU7TDIFNEtyLCkxDj50OlhkUQcsKK1dSAQHQAHLCg8tNVIwOjQeU6AtOSo0NRQTISoCLzU3MjmJeyFoND4YNlBcOgAAAgBQ/+QBrQHXABoAIAAItR8bCwMCMislFwYHJicmNTQ3NjcWFwYHFB4HFzYnNjcmJwYBoQl5TEZKBQ6rFVc4M74DCAcRCRkMHwcpolowOTwVbBBOKi1FPDBWWlsKSSQqiwcNDgoOCBAHEwUHiz4oIzBhAAABACX/DgGDAqkAIwAGsxcJATIrEzMVByMUBwYHByc2NzY1ESM1NzMmJzY2MzIXByMmIyIGFRQW/YYQeRMEDnEUKAUJYQ9JBRQTVkgqNkkQKCYZH14BlQcn7G8WGNAEYSI5RAFVCCYQY0RdMlI+GxciXAADABD/MAIdAdkACAAhAC0ACrctJx0RAgADMislBxYzMjY2NTQFNycmNTQ3NjcWFzcXBhUUFhcGBwYjIicHATU0NyYnBhUUFxYXAX7GiicSExD+cqldBhZ0UVgoVg0kKgNgahQLbIAmAV0FSVkRBjUlU4VLBBgXKGhzXUwnY1JFJikGJwRInTK3FWhQAk8YAQhCSlwKL1BWMzM1EQABAFj/NQH7Aq8AKgAGsycLATIrEwc2NxYXFhUUBwYHJzY3NjU0JyYnBwYVFBcWFwYHJic2NTQnNxc2NxcGBtwCNFw9UQMXS3UYWRMSDD0xNgUFFSEwRBwoEAoTGGswEjQlAfuCHEIfHkZFxGpXVQ49REJtSpQhCSBBNDwqICQcOC0p25d6bglMQRkPHk8AAgAC/+YBRwKuABkAHwAItR4bDgQCMislNxcGByc2NTQnJwcnNjcWFwYVFBYVFBYzMgM3FhcHJgEWLAU3a0kKBSYnEl8pGjgFAx4NCcVbJSlQLlYTEiFQUlNdO0sVEQw/IRQkXUwTTRMNKwITSSgfSyAAAv/t/zEA7gKrABkAHwAItR4bCQECMisTNxYXFhUUBwYHJzY3NjU0JjU0NjU0JiMiBzcHJic3FhKCJDEFGWN1ED8gLwIBFB8BJcpROBhRBgF+ZRsfXUyhfGFREicgL5wWWRULKwkyMhH7SSwaSAYAAAIAIf/nAbACqwAkAC4ACLUrJSELAjIrNzcjNzM0JzcWFTY3FwYGFTY3FhUUBwczByMUFxcyNjcXByc2NjczMjY1NCcGBhVtBVEORAsVGzxaDzUiTzs5HlJgEaYHWgdEGQnGgQECeiAYMikpGHPBJvRLCEsBLSkQHVI5OB5EIRgeVCZtP0QcDRNzYAcd70AZJi0aPTIAAAEAZP/oATsCqgAYAAazCwEBMislByY1NjU0JzcXNjcXBgcGFRQWFRQXFzI3ATuXQAsIExRJUAsOGS8CCRoPIlZuTANknYHcBEgyJwkKGS+TFEwShFYdEgABABD/4QOEAdwAQAAGszctATIrATcWFwYVFBcXFjMyNzcXBgcmJzY1NCcmJwcGFRQXFwcmNTY1NCcmJwcVFBcXByYnNjU0JycHJzcWFwYVNjcWFwYB/5NKRg4FHAkIBQoiDUZfIikOAz0uNwQCOXg7CgIfSj0FN3IpGQgEJC4NhyQqBFNDXywDAXhfIRROWjhGJgkFEhYoRDApK29HPBsLIjQ/IkRJVlABNmcyVg4RIkFFU0pTPR08VjZiGxMNYiEXIhEuOSwMJwAAAQAD/+QCYAHaACgABrMMAgEyKzcXByYnNjU0JycHJzcWFwYVNjcWFwYVFBcXNjcXBgcmJzY1NCcmJwcU1j1wMR0KBxgrEoI3GwFLTDJhCwEvEiEINmMWOgwEIko+gUNaNRcfWTyKFhUOXSYMECApORskYHMtFzQFExAhUR8/QFcqVBAUH5IAAAIAa//eAgMB4gAPABsACLUWEAgAAjIrFyYnJjU0NzY3FhcWFRQHBic2NTQnJicGFRQXFv5WPAEWa2RLZwEZagccBD1UHwdKIjEyFCdyfDk/LhoYMaZSRiRpcBw2CCM0ayw/OgAC//7/MAIHAi4AIQArAAi1JiIQAQIyKxcHJzc2NjciByc2NxEmJzY3FwYVFBcVNxcWFRQHBgcmJxQTBxUWFzY1NCcm8nERAQEDATc1DFUiKgokSBQTO4+HCB5HUSw8MjJZRA4KSqEvBicnghopEU4LAQYmKDRFBhkRJiwqYDkqSXZsJUIhCEkBuiPiDSg1SEVOIAAAAgBX/ywCAwHlABIAHwAItRwVDgECMisFByc2NQcnJjU0NzcWFzcXBhEUAyYnBhUUFhUWFzY3NAHucRMOvGIDG8JCO0YMHmtSPhwBKyEfO6spCm2rbGchImaCahoKKwZn/rFUAZEGITOICikLORoMIa0AAQAM/+YBxQHZAC0ABrMcEQEyKwEnBgcGFRQXFB4EFzcVByYnNjU0JyYnByc3FxU3HgQzMjcVBgcGIyIBLS4KCAQCAwQODB8OWq0tUA0EHRIsC4tVawMSCxEQCQsZHkgGBhEBTicGCCRXPB0GCQcLChcLHxVqLDovYzs7HQsMDls+H1sEGw4TCQkNHC4EAAH/6P/dAeIB4AAxAAazLBEBMisBByInBhUUFzY3FhcWFRQHBgcmIyIHJzc2MzIXNjU0JyYjIg4DByYmNTU3FxYzMjcB4o8uYAkcO2AiHAkTeUtcPiYwC34aGi14BQUeGwoWHRYrDRAeu0IYISMxAbpkQikcOCwUKxAUOypENSolTB8QYwZdHS0kLx4FDQsXBg4qD4tnJg4hAAABAC//5QGXAo4AGwAGsxMJATIrExQXFhYXNjcXByYnNjUjNTczNTcXBgcGFTMVB/UFAzMYEToEsjE5BlIPQ6YMIg0OaxABZ5VKFCYFAh0UbzEmSuEIJpRlDhsPDrMHJwABAAn/3QJcAdkAJAAGsxoPATIrATcXBhUUFjMyNzcXBycGByYnNjU0JyYnByc3FhcWFRQHFhc3NAFyeQ4RHhIIBDIGn0BRUjZhNBMUFiMOhgdHBCMjUkMBqCwJcbwKRQIUDXhpIUspJEpsMFQWBhMOXgc0aDNsLwcjJNYAAgA4/+QB+wIiABcAJwAItSAYCwECMislByYnNjU0JyY1NDcXBhQXBzcXFhUUBgYDIgcVFBcUFhYzMjY1NCcmAdX9MkcJBiplFBI+ApKLAwISxxsqAiY9FxgWA01QbDMrJW0xXi4VI1kEFCw+HVk9MTI0PFwBFRzRDgUCJCeSPSsrKAAAAgA3/98DLwIlADIARAAItT0zKAkCMisBNxYXBgcGBwYHJic2NTQmNSYmIyIHBhUUFxcHJic2NTQnJyY1NDc2NxcGFRQXFTY3FhcXIgYHBhUUFxYXFjMyNzY1JiYB/6g7TQILCxx/T2lJDAEURwYbKAMHM203GxMGJQsEOykQD0QbbkFRUAg0EQYCAn4GBQgHIRlKAXJkHx6WS1MtMClCEiqQEUAODiQbKitAXT9QRhMyay5eJwwVBwRLIwIVGhc6JQ9KJR4aFgs+Pi0XJjMDEVOvDR0AAAEACP9EAcEB1wAvAAazGQkBMislBycGBhUUFxcHJjU0Njc2NTU0JyciByc2NxcVNxYXByYmJwYGFRUUFxQeAhcyNwGns1scKpkCXYlLLQYOLg8YEGwiXHAqKk8VOAwUCwMBDiIgEEdSb0kEMxs8GAs3Ij8fWycrXyliChgQDE4QOiRbOBhLBCcODiYjFmEgBAMNFxUgAAEAPP8iAgMCLwAyAAazKgoBMisBFhUUBxQGBgcGByc2Nz4DNTU0JyYnBxUUFxcHJic2NTQmNTQ3PgI3FwYVFBcVNxYCAAMMExMTXWgeTg0cJA4DBzIuOwgsXz0iEjFbAgMFAhIRQ4xDAZw/PHGJEygYFmg0GSYKF0tlRTcIQVsfDBnXGAk3XEgbOe4KNQ4dVgMDBAIGGRUlLCldJgAAAv/4/ykBeQHYAB8AKQAItSYgFAECMisFByImJzY3JicnNzY1NCYjIgcnNjcWFhUUBwcWFxYVFCcOAhUUFzY1NAFanEhkGmuPKVwBXCM3HR44EEVoMEQgQDo9EH0sMjiJFGdwKjqabh0GCkEZFhsmKA89QRE4IgweOxIgQ0lPfSQsQhRDFStXNgAAAQA1AZoAvALFABAABrMJAAEyKxMXBhUUFxcWFAYjIiY1NDY2pg85ECYKIhAcOSomAsUOVSEYFTENHh5fJBdDKwAAAQA5AYoAwAK1ABYABrMPAAEyKxMnPgY1NCcnJjQ2MzIWFRQGBk8PAhAHDgYJAxAmCiIQHDkqJQGKDgMZCxcOExAHGBUxDR4eXyQYQykAAQBA/+QCAAJ3ACkAAAEXBiMGFRQXHgIXPgI1NCcmJyYjIgcnNjcWFxYVFAcGByYnJjU0NzYBBg8pAh0FAjEtJBcXAwR7bA8YDxwKXjZ+qwMvpDZTRAYKNwHRCSMaezcnGDEcEyJnRDojSGMhBQsTLwsQgSorn4xmHDk4QkNMRi0AAAEAJf8OAZgCswAnAAABByYjIgYVFBYXMxUHIxQHBgcHJzY3NjURIzU3MzU0NzY2MzIWFhc3AZhsPRAaJTohiBB5EwQOcRQoBQlhD1IGDFEZGysXFSECj2QrGxQVWSQHJ+xvFhjQBGEiOUQBVQgmbSwVLkIKDAwTAAEAJf8OAYMCsAAfAAATMxUHIxQHBgcnNjURIzU3MzQmNTY3FjMyNxcHIicWFvuIEHkUBX0VOGIPUyVDRTQdGRULVjM/A0UBlQcn8G0d3wOIeQFVCCYOcBhQNSUQDFYRJX8AAgBD/ywCEwHaACQALwAABQcGIyInNzMWFjMyNjY1NCcHJicmNTQ3NjcWFzcXBhUUFxYVFCc3JicGFRQXFhYXAf6XQiRuUEIKFWE6GyIeGcE+IwIONIYzWlMOIA4HiQJQUxcGAygpMZMQRWMrLwYeGyh7eUAdRCJ1VyNFGBUtDEd7f10qCxWW3wopNVcyMRgqHAABAB3/5QGDAqwAKgAAEzMVByMUFxYXNxcGByYnNjUjNTczNCc3FzY3FwYVNxYXBwcuAiIOAhXaexBrAy0sPwNyNjw8D0oPOwgPHk1REFt2GhQ+Bw4NHRYPBQIBlQcnuC0iGBQSPyY2IzP2CCbONApMMyQILnZIIilAAhIOFg4dFxMAAQAZ/yMDawKpAFwAAAEyFhc2NxYXFhUUBwYjIicmJzcXFhYyPgM1NCcmJwYHFhUUBw4CBxYzMjcXBgcGIyImIyIGByc2NzI3NjU0LgMjIgYVFBYWFRQOAgcnNjU0LgI1NDc2ASxHYxdGnSleFFLJwlYtGQNpDQJPel00HwoTRDomPQQ7CC5FD4snMDwGRV0GBCOzLSQxHhUva140LQcWIz4oMDA4OBw8ICIQPR4jHhhbAqlOPjZVKDLKR9SMuigUBm4CNEM5VnlpPJtbLRUVNRwweFAEHSsKOTYWTEMCUiAhFDdULCZ1IUJOOycqHRI7PxYYLCwUExMmKQ8kHS0XGyWIAAAB//v/bAJwAqYAPgAAEyc3MjY1NCYjIgcHJzY3NjMyFhYVFAYHFTIXFhUUBwYjIi4DIyIHJzYzMhYVFBYzMjY2NTQnJicmIyIHJ/wMEFxCTjdNMyoSRU46NzFSQW1LhD5BXHCIQksVChkeFiIGaT40HDk0M0IXDg4NJGwsKwsBaAITPzkuNykiFz82CxI5LkNuCQY0N1+KTl8tQD8tEBdEN0Q9QEdaNC8qKA0nCQoAAAAAAQAAAF8AigADAAAAAAACAAAAGACNAAAAHA4MAAAAAAAAABIAEgASABIAOQBjANQA7QETAToBcAGNAbEBwgHWAe4CHAJIAnwCtgLiAxYDXQN9A74D+QQdBE4EZwSsBQoFkQXoBkAGnwcXB4gH7whACJkJDwluCiUKnQsKC5cMDwygDQENXQ25DkYO/Q9hD+EQSBBgEHgQjRDMEQwRNxF5EbMR7BI6EoESuhLyEz0TaRPOFBIURBSOFMcVDhVbFYsVyRYLFnYWwRcQF1UXVRd2F50X3hgaGEsYlBjVGVcZrwABAAAAAQAAUl9pMV8PPPUADwPoAAAAAAAAAAAAAAAAAAAAAP/o/w4E2ALlAAAACAACAAAAAAAAAPoAMgAAAAABTQAAAPoAAAFdAHAA/gAKA2cAKgD6AFABywCGAcsAaQFIACQDfQA4AUgAYAN9ADYBSABhAlEAKQJRACkCUQA2AlEALAJRACQCUQANAlEAEgJRADACUQA2AlEALQJRAB0A/wA3AP8ANgJGABYBrAAnA08AHQQUADgC0wBHA9YAHgMPAEkC0gARA58ASgNTAAACjwAfAoz/+AMVABQDEgAeBNcAGgPXABoD0AALA9EAEwPQAAsD0gATA9IAUgMWAB4DUwAQA9YAGQTTAB8DUQAgA9gAIALHABEBAQAkAQEADgJOAAACWwBQAk4AVgHQAFcCTf//AdgAUAGEACUCUwAQAmcAWAFLAAIBTP/tAdAAIQFRAGQDmQAQAo4AAwJhAGsCXP/+AlQAVwHMAAwCC//oAYkALwJNAAkCXAA4A5YANwHLAAgCTQA8Ac3/+AD6AAAA/gA1AP4AOQJLAEABigAlAYMAJQJRAEMBiQAdA9UAGQLX//sAAQAAAuX/DgBaBNf/6P/oBNgAAQAAAAAAAAAAAAAAAAAAAF8AAgHiArwABQAAAooCvAAAAIwCigK8AAAB4AAxAQIAAAAACAAAAAAAAACAAADvEADs7QAAAAAAAAAAUGZFZABAACDjCQMg/zgAWgLlAPIgAACPXgMAAAH2AtYAAAAgAAEAAAACAAAAAwAAABQAAwABAAAAFAAEAHAAAAAYABAAAwAIACIAOwA9AD8AWwBeAHoAoCAZ4wXjCf//AAAAIAAmAD0APwBBAF0AYQCgIBjjAeMI////4//g/9//3v/d/9z/2v+14D4dVx1VAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwACwgsABVWEVZICBLuAAOUUuwBlNaWLA0G7AoWWBmIIpVWLACJWG5CAAIAGNjI2IbISGwAFmwAEMjRLIAAQBDYEItsAEssCBgZi2wAiwjISMhLbADLCBkswMUFQBCQ7ATQyBgYEKxAhRDQrElA0OwAkNUeCCwDCOwAkNDYWSwBFB4sgICAkNgQrAhZRwhsAJDQ7IOFQFCHCCwAkMjQrITARNDYEIjsABQWGVZshYBAkNgQi2wBCywAyuwFUNYIyEjIbAWQ0MjsABQWGVZGyBkILDAULAEJlqyKAENQ0VjRbAGRVghsAMlWVJbWCEjIRuKWCCwUFBYIbBAWRsgsDhQWCGwOFlZILEBDUNFY0VhZLAoUFghsQENQ0VjRSCwMFBYIbAwWRsgsMBQWCBmIIqKYSCwClBYYBsgsCBQWCGwCmAbILA2UFghsDZgG2BZWVkbsAIlsAxDY7AAUliwAEuwClBYIbAMQxtLsB5QWCGwHkthuBAAY7AMQ2O4BQBiWVlkYVmwAStZWSOwAFBYZVlZIGSwFkMjQlktsAUsIEUgsAQlYWQgsAdDUFiwByNCsAgjQhshIVmwAWAtsAYsIyEjIbADKyBksQdiQiCwCCNCsAZFWBuxAQ1DRWOxAQ1DsAFgRWOwBSohILAIQyCKIIqwASuxMAUlsAQmUVhgUBthUllYI1khWSCwQFNYsAErGyGwQFkjsABQWGVZLbAHLLAJQyuyAAIAQ2BCLbAILLAJI0IjILAAI0JhsAJiZrABY7ABYLAHKi2wCSwgIEUgsA5DY7gEAGIgsABQWLBAYFlmsAFjYESwAWAtsAossgkOAENFQiohsgABAENgQi2wCyywAEMjRLIAAQBDYEItsAwsICBFILABKyOwAEOwBCVgIEWKI2EgZCCwIFBYIbAAG7AwUFiwIBuwQFlZI7AAUFhlWbADJSNhRESwAWAtsA0sICBFILABKyOwAEOwBCVgIEWKI2EgZLAkUFiwABuwQFkjsABQWGVZsAMlI2FERLABYC2wDiwgsAAjQrMNDAADRVBYIRsjIVkqIS2wDyyxAgJFsGRhRC2wECywAWAgILAPQ0qwAFBYILAPI0JZsBBDSrAAUlggsBAjQlktsBEsILAQYmawAWMguAQAY4ojYbARQ2AgimAgsBEjQiMtsBIsS1RYsQRkRFkksA1lI3gtsBMsS1FYS1NYsQRkRFkbIVkksBNlI3gtsBQssQASQ1VYsRISQ7ABYUKwEStZsABDsAIlQrEPAiVCsRACJUKwARYjILADJVBYsQEAQ2CwBCVCioogiiNhsBAqISOwAWEgiiNhsBAqIRuxAQBDYLACJUKwAiVhsBAqIVmwD0NHsBBDR2CwAmIgsABQWLBAYFlmsAFjILAOQ2O4BABiILAAUFiwQGBZZrABY2CxAAATI0SwAUOwAD6yAQEBQ2BCLbAVLACxAAJFVFiwEiNCIEWwDiNCsA0jsAFgQiBgtxgYAQARABMAQkJCimAgsBQjQrABYbEUCCuwiysbIlktsBYssQAVKy2wFyyxARUrLbAYLLECFSstsBkssQMVKy2wGiyxBBUrLbAbLLEFFSstsBwssQYVKy2wHSyxBxUrLbAeLLEIFSstsB8ssQkVKy2wKywjILAQYmawAWOwBmBLVFgjIC6wAV0bISFZLbAsLCMgsBBiZrABY7AWYEtUWCMgLrABcRshIVktsC0sIyCwEGJmsAFjsCZgS1RYIyAusAFyGyEhWS2wICwAsA8rsQACRVRYsBIjQiBFsA4jQrANI7ABYEIgYLABYbUYGAEAEQBCQopgsRQIK7CLKxsiWS2wISyxACArLbAiLLEBICstsCMssQIgKy2wJCyxAyArLbAlLLEEICstsCYssQUgKy2wJyyxBiArLbAoLLEHICstsCkssQggKy2wKiyxCSArLbAuLCA8sAFgLbAvLCBgsBhgIEMjsAFgQ7ACJWGwAWCwLiohLbAwLLAvK7AvKi2wMSwgIEcgILAOQ2O4BABiILAAUFiwQGBZZrABY2AjYTgjIIpVWCBHICCwDkNjuAQAYiCwAFBYsEBgWWawAWNgI2E4GyFZLbAyLACxAAJFVFixDgZFQrABFrAxKrEFARVFWDBZGyJZLbAzLACwDyuxAAJFVFixDgZFQrABFrAxKrEFARVFWDBZGyJZLbA0LCA1sAFgLbA1LACxDgZFQrABRWO4BABiILAAUFiwQGBZZrABY7ABK7AOQ2O4BABiILAAUFiwQGBZZrABY7ABK7AAFrQAAAAAAEQ+IzixNAEVKiEtsDYsIDwgRyCwDkNjuAQAYiCwAFBYsEBgWWawAWNgsABDYTgtsDcsLhc8LbA4LCA8IEcgsA5DY7gEAGIgsABQWLBAYFlmsAFjYLAAQ2GwAUNjOC2wOSyxAgAWJSAuIEewACNCsAIlSYqKRyNHI2EgWGIbIVmwASNCsjgBARUUKi2wOiywABawFyNCsAQlsAQlRyNHI2GxDABCsAtDK2WKLiMgIDyKOC2wOyywABawFyNCsAQlsAQlIC5HI0cjYSCwBiNCsQwAQrALQysgsGBQWCCwQFFYswQgBSAbswQmBRpZQkIjILAKQyCKI0cjRyNhI0ZgsAZDsAJiILAAUFiwQGBZZrABY2AgsAErIIqKYSCwBENgZCOwBUNhZFBYsARDYRuwBUNgWbADJbACYiCwAFBYsEBgWWawAWNhIyAgsAQmI0ZhOBsjsApDRrACJbAKQ0cjRyNhYCCwBkOwAmIgsABQWLBAYFlmsAFjYCMgsAErI7AGQ2CwASuwBSVhsAUlsAJiILAAUFiwQGBZZrABY7AEJmEgsAQlYGQjsAMlYGRQWCEbIyFZIyAgsAQmI0ZhOFktsDwssAAWsBcjQiAgILAFJiAuRyNHI2EjPDgtsD0ssAAWsBcjQiCwCiNCICAgRiNHsAErI2E4LbA+LLAAFrAXI0KwAyWwAiVHI0cjYbAAVFguIDwjIRuwAiWwAiVHI0cjYSCwBSWwBCVHI0cjYbAGJbAFJUmwAiVhuQgACABjYyMgWGIbIVljuAQAYiCwAFBYsEBgWWawAWNgIy4jICA8ijgjIVktsD8ssAAWsBcjQiCwCkMgLkcjRyNhIGCwIGBmsAJiILAAUFiwQGBZZrABYyMgIDyKOC2wQCwjIC5GsAIlRrAXQ1hQG1JZWCA8WS6xMAEUKy2wQSwjIC5GsAIlRrAXQ1hSG1BZWCA8WS6xMAEUKy2wQiwjIC5GsAIlRrAXQ1hQG1JZWCA8WSMgLkawAiVGsBdDWFIbUFlYIDxZLrEwARQrLbBDLLA6KyMgLkawAiVGsBdDWFAbUllYIDxZLrEwARQrLbBELLA7K4ogIDywBiNCijgjIC5GsAIlRrAXQ1hQG1JZWCA8WS6xMAEUK7AGQy6wMCstsEUssAAWsAQlsAQmICAgRiNHYbAMI0IuRyNHI2GwC0MrIyA8IC4jOLEwARQrLbBGLLEKBCVCsAAWsAQlsAQlIC5HI0cjYSCwBiNCsQwAQrALQysgsGBQWCCwQFFYswQgBSAbswQmBRpZQkIjIEewBkOwAmIgsABQWLBAYFlmsAFjYCCwASsgiophILAEQ2BkI7AFQ2FkUFiwBENhG7AFQ2BZsAMlsAJiILAAUFiwQGBZZrABY2GwAiVGYTgjIDwjOBshICBGI0ewASsjYTghWbEwARQrLbBHLLEAOisusTABFCstsEgssQA7KyEjICA8sAYjQiM4sTABFCuwBkMusDArLbBJLLAAFSBHsAAjQrIAAQEVFBMusDYqLbBKLLAAFSBHsAAjQrIAAQEVFBMusDYqLbBLLLEAARQTsDcqLbBMLLA5Ki2wTSywABZFIyAuIEaKI2E4sTABFCstsE4ssAojQrBNKy2wTyyyAABGKy2wUCyyAAFGKy2wUSyyAQBGKy2wUiyyAQFGKy2wUyyyAABHKy2wVCyyAAFHKy2wVSyyAQBHKy2wViyyAQFHKy2wVyyzAAAAQystsFgsswABAEMrLbBZLLMBAABDKy2wWiyzAQEAQystsFssswAAAUMrLbBcLLMAAQFDKy2wXSyzAQABQystsF4sswEBAUMrLbBfLLIAAEUrLbBgLLIAAUUrLbBhLLIBAEUrLbBiLLIBAUUrLbBjLLIAAEgrLbBkLLIAAUgrLbBlLLIBAEgrLbBmLLIBAUgrLbBnLLMAAABEKy2waCyzAAEARCstsGksswEAAEQrLbBqLLMBAQBEKy2wayyzAAABRCstsGwsswABAUQrLbBtLLMBAAFEKy2wbiyzAQEBRCstsG8ssQA8Ky6xMAEUKy2wcCyxADwrsEArLbBxLLEAPCuwQSstsHIssAAWsQA8K7BCKy2wcyyxATwrsEArLbB0LLEBPCuwQSstsHUssAAWsQE8K7BCKy2wdiyxAD0rLrEwARQrLbB3LLEAPSuwQCstsHgssQA9K7BBKy2weSyxAD0rsEIrLbB6LLEBPSuwQCstsHsssQE9K7BBKy2wfCyxAT0rsEIrLbB9LLEAPisusTABFCstsH4ssQA+K7BAKy2wfyyxAD4rsEErLbCALLEAPiuwQistsIEssQE+K7BAKy2wgiyxAT4rsEErLbCDLLEBPiuwQistsIQssQA/Ky6xMAEUKy2whSyxAD8rsEArLbCGLLEAPyuwQSstsIcssQA/K7BCKy2wiCyxAT8rsEArLbCJLLEBPyuwQSstsIossQE/K7BCKy2wiyyyCwADRVBYsAYbsgQCA0VYIyEbIVlZQiuwCGWwAyRQeLEFARVFWDBZLQBLuADIUlixAQGOWbABuQgACABjcLEAB0KyGQEAKrEAB0KzDAgBCiqxAAdCsxYGAQoqsQAIQroDQAABAAsqsQAJQroAQAABAAsquQADAABEsSQBiFFYsECIWLkAAwBkRLEoAYhRWLgIAIhYuQADAABEWRuxJwGIUVi6CIAAAQRAiGNUWLkAAwAARFlZWVlZsw4IAQ4quAH/hbAEjbECAESzBWQGAEREAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEAcQAAAAACs//dAqsB2f8w/zACFQAAArP/3QKrAdn/Kf8wAhUAAAAAAAkAcgADAAEECQAAAKIAAAADAAEECQABABoAogADAAEECQACAAgAvAADAAEECQADAEQAxAADAAEECQAEACQBCAADAAEECQAFAEIBLAADAAEECQAGACQBCAADAAEECQANAmoBbgADAAEECQAOADQD2ABDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADAAOQAtADIAMAAxADAAIABEAGUAcwBpAGcAbgAgAFMAYwBpAGUAbgBjAGUALAAgAEkAbgBjAC4ACgBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANAAtADIAMAAxADgAIABLAGgAYQBuACAAQQBjAGEAZABlAG0AeQBLAGEAVABlAFgAXwBGAHIAYQBrAHQAdQByAEIAbwBsAGQARgBvAG4AdABGAG8AcgBnAGUAIAAyAC4AMAAgADoAIABLAGEAVABlAFgAXwBGAHIAYQBrAHQAdQByAC0AQgBvAGwAZABLAGEAVABlAFgAXwBGAHIAYQBrAHQAdQByAC0AQgBvAGwAZABWAGUAcgBzAGkAbwBuACAAMQAuADEAOwAgAHQAdABmAGEAdQB0AG8AaABpAG4AdAAgACgAdgAxAC4AOAAuADMAKQBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADAAOQAtADIAMAAxADAALAAgAEQAZQBzAGkAZwBuACAAUwBjAGkAZQBuAGMAZQAsACAASQBuAGMALgAgACgAPAB3AHcAdwAuAG0AYQB0AGgAagBhAHgALgBvAHIAZwA+ACkACgBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANAAtADIAMAAxADgAIABLAGgAYQBuACAAQQBjAGEAZABlAG0AeQAgACgAPAB3AHcAdwAuAGsAaABhAG4AYQBjAGEAZABlAG0AeQAuAG8AcgBnAD4AKQAsAAoAdwBpAHQAaAAgAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQAIABOAGEAbQBlACAASwBhAFQAZQBYAF8ARgByAGEAawB0AHUAcgAuAAoACgBUAGgAaQBzACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAGkAcwAgAGwAaQBjAGUAbgBzAGUAZAAgAHUAbgBkAGUAcgAgAHQAaABlACAAUwBJAEwAIABPAHAAZQBuACAARgBvAG4AdAAgAEwAaQBjAGUAbgBzAGUALAAgAFYAZQByAHMAaQBvAG4AIAAxAC4AMQAuAAoAVABoAGkAcwAgAGwAaQBjAGUAbgBzAGUAIABhAHYAYQBpAGwAYQBiAGwAZQAgAHcAaQB0AGgAIABhACAARgBBAFEAIABhAHQAOgAKAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATABoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAAAACAAAAAAAA/4MAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAF8AAAABAAIAAwAEAAUACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAgACIAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4AQABBAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQECALYAtwEDAQQBBQEGAQcBCAEJB3VuaTAwQTAHdW5pRTMwMQd1bmlFMzAyB3VuaUUzMDMHdW5pRTMwNAd1bmlFMzA1B3VuaUUzMDgHdW5pRTMwOQABAAH//wAP) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff"),url(data:font/ttf;base64,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IEewACNCsgABARUUEy6wNiotsEossAAVIEewACNCsgABARUUEy6wNiotsEsssQABFBOwNyotsEwssDkqLbBNLLAAFkUjIC4gRoojYTixMAEUKy2wTiywCiNCsE0rLbBPLLIAAEYrLbBQLLIAAUYrLbBRLLIBAEYrLbBSLLIBAUYrLbBTLLIAAEcrLbBULLIAAUcrLbBVLLIBAEcrLbBWLLIBAUcrLbBXLLMAAABDKy2wWCyzAAEAQystsFksswEAAEMrLbBaLLMBAQBDKy2wWyyzAAABQystsFwsswABAUMrLbBdLLMBAAFDKy2wXiyzAQEBQystsF8ssgAARSstsGAssgABRSstsGEssgEARSstsGIssgEBRSstsGMssgAASCstsGQssgABSCstsGUssgEASCstsGYssgEBSCstsGcsswAAAEQrLbBoLLMAAQBEKy2waSyzAQAARCstsGosswEBAEQrLbBrLLMAAAFEKy2wbCyzAAEBRCstsG0sswEAAUQrLbBuLLMBAQFEKy2wbyyxADwrLrEwARQrLbBwLLEAPCuwQCstsHEssQA8K7BBKy2wciywABaxADwrsEIrLbBzLLEBPCuwQCstsHQssQE8K7BBKy2wdSywABaxATwrsEIrLbB2LLEAPSsusTABFCstsHcssQA9K7BAKy2weCyxAD0rsEErLbB5LLEAPSuwQistsHossQE9K7BAKy2weyyxAT0rsEErLbB8LLEBPSuwQistsH0ssQA+Ky6xMAEUKy2wfiyxAD4rsEArLbB/LLEAPiuwQSstsIAssQA+K7BCKy2wgSyxAT4rsEArLbCCLLEBPiuwQSstsIMssQE+K7BCKy2whCyxAD8rLrEwARQrLbCFLLEAPyuwQCstsIYssQA/K7BBKy2whyyxAD8rsEIrLbCILLEBPyuwQCstsIkssQE/K7BBKy2wiiyxAT8rsEIrLbCLLLILAANFUFiwBhuyBAIDRVgjIRshWVlCK7AIZbADJFB4sQUBFUVYMFktAEu4AMhSWLEBAY5ZsAG5CAAIAGNwsQAHQrIZAQAqsQAHQrMMCAEKKrEAB0KzFgYBCiqxAAhCugNAAAEACyqxAAlCugBAAAEACyq5AAMAAESxJAGIUViwQIhYuQADAGREsSgBiFFYuAgAiFi5AAMAAERZG7EnAYhRWLoIgAABBECIY1RY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) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(data:font/woff2;base64,d09GMgABAAAAAGLsAA4AAAAAybQAAGKQAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAhjwIWgmcDBEICoLGeIH6TQE2AiQDiFwLhDIABCAFiGYHjhkMgTIbXaAnxF175HI78Kb8Z553wo1x9jiQOhKMomZRVlmy//8/JekYww39AE2j6j8ky0WRjpFwiFyY86CAwykDjjUChwYd8q3z9AHJlLpPmSGzVKKJ2XoZM+GVtChwW0pH7YMyyekx8ooFtWZfsbo8QxDfEGQ4icXiQsDt6HHDedmvlS1hvd1v+yAZai/1/rqsL/8Q8CYJsv9QS6jxmu/WSU9GimNPFEdGXEbulZTI9mlKtZ2DhqHPqYY3Uc7PWsM5Pu4IjX2SOzw/t97/2/6i/18SSzaithH9WSQ5xqgc9ERoA6VEsUHCSE4sTu+MM+70Qk7PuDLqPL02L70qBt38PgnBQkIgQKCG1mn9mVVOXMcvNow6zXe+Hg89R+3PzB64dyVWwPvSE2/LAw4DTuS4OIJeFoUb7gzltJyRkwPJTgqCwpMQLSvwcAFBs/ubuf4GZCu0iSVj4oCztgNAO9L0Vf5d+4Rn5/2mltTdL2l9KDAkPPY4zMWUSBqlnb11Oe+el2F8x/YdGwILGCxSmjIMNJsDBN9vLX+SmQUS5vS9syVhq8QCkHUFdqr/p1f5V1XTHl8fL4gJgPXBfq+uDBYVkAJfmVS3zw7QgUPjhYR9G9IEpVvfFvUWZZ666svHyQ/eD9tgcX/CwzFvnjKiESah9ZspUzkp8ESkO1UO6JftCwR24PZ2GbtNmN/g9fFP/LsthGJIzVBMie3z5HA4ZhSFDW0A5ewSVatVIKcB9SuFMr9C2Yyzp/keZc44Vh303+918yLvpbjuERojS/MgJEJt4s4B9wu16VZsG58Ei2fQXfnenAD/ac2082YKyRyCKh2rkgd0snJ3NvRnLjnAzRwmpdyVkhLmNkdgi7qywkYVXGWFqTMVwlS6/p+qZTvkalOnvWrdrV2FXHR37tzZTefS5eAPQA7+gAEDUjcYUDII8s4SuLtPBKRnCtQGUSk4xaSlNlIXtU65u+emibFrXXRuW1/Tt/b7ls7u5ObTF7qKlxiz18pc6l5oRZg0ZaAbxUPIWhTKYZRk/tdqdSG5JfFMSKYt//U58zkX76jOmY9gMreIiPdg1sgQWuKxrFU1gcTojUXbeIAQAeu112//30/9dzGj3Xbycow1iIQScsHL6Nqf2nHst77SfVH3F7XrGYWBID0wGGUBHE/zJBIAP7hGANblQz+0BANTSXF6P/Dj1Hd/xJ9xZhWJ0EP2j5J1KJbTkZUBG28UAKCv3A0AGe5TQgTEGw1kdcQK+tX39EOcRgWWY4+9DjrsmDPS//uezz32J9RGbsblpbyWH+cPK11BhTVVMzVXcSlxSIbIaDKeTCzzl8llaplOdlfOlnPlmFwk95PHyLfK98tn5W/Kz8s/kN9WAAVBQVJQFHQFpvBRSBQyhVKhUoQqkhV6hUlhUdgVmQqnokpRq2hWLFUMKVYpNii2KvYpDireU1xW/Kh4oaQrlaoTqtdVb6reVf2o9qgXBj4L/Dvw35DUkKNfyObnATJQ5YM4Ku7iD7iu/h58Bb4HPyCM/619hIMyWEaVYTKRzE8m+4fRw4fk5+Tv4BpgkDtQBV/hf+7A42sUTYolikHFyroxxUu4gB/MfnGKUvGslWqIBfrTzvn2/wua+a9/dmb67JmTr760ad3KbjveJn3kw+95t+c+22t5TFrZinpbXE9dtVVn7vO11lht2KAmHBgDeeG3LZfTTjnphCMOm3XIAfvtM2mTURutt9oqPbq08ShTIk+udA4RwlGQx4uRHLHFnNTw+kzfXsoSlbDdbnEo+AOQ0hFNu/ggAK9Yf/Y/d8FGRaLhlncWfo8Nb16Z+uiNTcRh/923O6P+JEMDJbgVJga8Pwb25Xtq1z8DN9bYfYxL5FsPRJ5ODDHkxUJ2nPcE9whWMh4AlFXUihBMy7IignjxFRWg31PmL53Slh4RoxY032ppNVdE/LoCqRGxTT3xxWpAjQajMhve8ILuwV44vbyBs0t08JIn08p+cDXs2iAT2hjBXUowYEBaT6TVOtuhB390eLv8c+gmxsliQm03+MoZt/mvgMrlu1n36sXdPtGSO4vzO4+GAs3Us6utGs3lJzhRIj9mYYn8dz0JsWOEqRjJIr9FtlQ0KxtB5KRcEFwPBBfmtg+50/k4GR+nY0cW0vBYlee1s/pkhOEs9MQeAyVFraIKTEDsqR9DnV3A0JQG+s77cl4ehdbXFEnERe8pWsBVx207XCii0jWpdv3DD07k9OtDijIZbRHn7RA7l+YWxLyBJ9cB0VFibcf1KuqgydEAUIiJMds0FRCML5CIekvCvqLe7bQJIO22uTjG8vzZmPRJMfDiuLgVwWDOyWqiaz5piLU0iRxqwIchUkjsMbiQi4q+pyWoBYNe9Ldy0luKimed8fXvhK3rsvlFDiw7ITY4c7s9NiPKbhe8E29rnno4Cmrs8mVNs6KDjgM057u1jV2ZmgC13HXhxIq49GA9clscY3mRi0qXEfmpOmUq+tsXeP81FDwY212yoawqeni/Hd5/WeE63x3znt5HAYLfuNgyhFXphrkTI9fC93JOD+GigIqPWPquSnzX+W/dZNPpenlTqBwnI8iw7GDayDlrqTKEAYFaSfgOLQBcsDEhCY5+YUr7v7QApwq0+zVQmGJC25TMiIoiHkXLp4ErF0RVvSf+/oS1+BMl/4m1O6Z7JQoIomLo8pBEeUQqeYVU85jU8iqp5zXSyOskzhskyZtTJYT6odTK+69BUBO+3lJou3HQclKOfdx7eLI99vl5S3GKk/CxTVgPdgEUFPmGDClyKAoomlC0oGhD0YGiC0UPij40OwKaZGXj/MiooBVfO2zDCTdAHOVrdYIMj453j8/LFMAMkYwkrcud+sql6DwnM3MnKvbYbrYdxGm3qGlhEu6bh868b1Yub20AT1BPbuIUbLNrLyAMHMuKIiD/QZkZv5D1spECPz8vW0CDGXZFsOI/oIrbqK80FXe6UUdFo7R3FwWJdNSNJihuKdNv89/7tsYJYcfd4/aaDjsJLlxc0917IJDf4exi/7AuqlDx97U42s0jA5q8Ay9kv4baVJVaVFCkHj69P+k9uQx7WM+nbovz+arpvWyHELlQVjKNvCVvqhjv6cxHpH0wYy9UmXo2PDc5xHgvN1DdT4LKWVmmad11mnD6aOURWnidERMUsEXEGAhf9WQHdtDEeQvybiubdS96lR1uc/mABhtCXc2gpFlPnzz0SGR8CrBBiGD5SMwcMUmm0fPdDDUa8a64i8BUwq2u5sGmt89bzAAum+lWpNDSvXx8DMQXDjA+uRnobiG86gRSAwRSe/uQoXNzC2isLpPkjzL3Xbzk3HXbL/VWrPxxr8C92Fh2De5HTrXJr9cz73TrosaaE01OeUDmppNJV4m0N92Gw/mCBrWsmw5Po5A61O5rnc7/FbMMBn/gPgz1l42sO58rY94wsjMzYC8IobOBM4x5mTovlnAf5/qDm/zwAG7diQtSaKt7IedvXUAB0BviNiYu5mn3V18i8PVdQY1pLipRw5eRzM6De+ZdwQDAtMFVjgc2kBCGnB7Jsc/HCthEQphy+TPsESckzAVsUQFhKeiVCk987YHegAfYCnpnD7t8r/YYlhAETotyHHBJAZMlBIUzKibscM3b1zp4AEMwJiiAJdA2eABHuOeiEB8849WGyLf7fBR00OMeQzFOEiYF5CoCODFAJT1iBinlUcbLcgiO6BAeqSNAnQDpeZ6ULixdWbqx9BqCegOod0D6AZPRJ0dfHH1z9BOC+gWoP8Dx/5jwaz2r7aO2NuDG8XMQ77yZjmgMqWx3qwfqe6oEAQjsxmYg1UF7huADxR4fjnkC9DcApwQAEL7BDDz1FZg3hrAWcSCtKMZqcT0PAg+VJDYrTRq7GMCLeFG6XgrM4+iEYhQOFOjJABLvVyKsuFwa23oFT/A80NKSGkFEAMWNB0mUsgKPB1ETa1iVcraxYhZKTBSoF78oDZePhaD9q4vCvlWvP3euEDJxzP/2y7bdqOfLIsPClVH1+GyqXhz7kzbnw8AWdpYw2tig19hYjyk5CpzN8sYkKNe1eVmVDWczsU74rXbZvrYcbhiuwfGG3XDKgeiQ4QXV8Xat0GoehDe2pdeyE16e6R4Obyx2Nq5b1/KXBrUC1+nWL+rToWtfWZiCMprZNDwl+o7Z5BwLp+q4Ts555hMZ0F5Io/hkp8+saw8wjht1c/bamaV4TDJ7vL6ypNf4f+Sv9mQyPHv+YI+eYX9zkefZE784Xly9bJ8XDWNLNve5L8zdfVa67llhiM5m0JNBy2Iirg77B73BsddjdDBu54wKh3l5UAli+LmXndFw5A9pP4m9OpVepBNdi4gRWYSTiPGI0qqT+vXA5NtGSoQhnIiFobB5UfOZV/DEekZNHJTNfuVc1Wlb72lUHc0vXThzNVme7rIO8y3Vws5cCkZGL6Jb2FMBBtwnlFAkxj/+XPx4HqeAk8lTP06cw3aAPClo+u8Uwq+VGEaQCpI3/U4knoCYCK3FEN1whOfxpTM5J9xHYI+Di/Bx8n3Ur21FgJbXTd+2ybLMS1ymObOG8f+mAjP9pGCSKWCnhgnOZGi9KcKG5cWpsQfxlndxQgPg1XAiS8BJNBfvhuzRHTHBGs06cBzJANFrBA3qHA1dyLQpATq/yIJoJnG3GRTRqxW/OEAybMvPgCcgKkjdd5D129htiYywVehBhNB/4HxcEF5cRooGQKCOXdGGbC97tXm7622lZK6ZvvjPMOctJqP4KrzqANEdYVqJtJxH6jU6NBg2NwB65c7J252mX3aJfS0kYDGARSZsJOPFpkRySzikJlTXCu1HIp08CtQ5qs93sJfbqcGzzGyFFMJNgaggx+E0NJWn6FqUEUp2aiX4kYdCkb47ZAoSM0guhTNx5OSut9HqZW+zQj3QMxqMr+l+fByi4GFgFdmtdYWXHPc0lpIwhUzOkCfAgnfvAjSJVhF3kvBwBuiAsXiIHWAgw4VfDCwSJIMcFu55eicHkULTdtWXk7VyBfFZwbcbxHAO6WnmrII5UODqgmG5ba2X5Y1WDx8n9P79ygBpgov/xzGh40BBu3AZ4hm9WEiW/KA1WwD5pRvYNaFCHqRg1nf9DU2HBkToBzlNlDOhX/qcjgFM/yRSNYeE2h720tOqXWBNTdTEJzHhohAND8MEaZuAAUScqkL7DZHEJbQLHGndRF9Ip5gDM1bStQn45VDsrQVWdLLV9MMRdvHW/vK4V85G5XSSy+FnD7IbqfX0IaVTn7xGGlw2Cz3FHYekEsqnQGxkE0ZGClc1Fy6htI+HVYh33oGwqSHWQJpLqejC8tW4CCenldCI5NUwgkGEIMfXeQZ47FR9eb/peIxkR4OiCZBWTb3Krpwn2boxcJI2PUVysVMa2OOFiAbSh/4gLwBdYAm7MITDt2USeO/xhsrRJaE2aFDMJnACi7JF5NBbYhhSlkgRiBkyE6PuwTTpmi/2/TMrTKvvzJU1mBGhFeXYKWTzNcTgS9gDlDE5mvJCv527RDZu66gIu6PK2wpiUtMqgt1e7qlrTsg9IBcg/wLP/MJxYF8T4ceKf+1g+XgEa5QEs4l7q2prscoG5KEtapJGVHM7KcxA4CSiru2asFCgLv2SP4biy39XoBfEz3+OWy2S2fTFj376U8rMt5rwCUPlu39QNP6PhYdOh9qaGjXnTOL6r5Q9i1mqJuY87LX1Ec2rbOXRvEDBj87Ck5BSTcjQEONIWmcNBkCf2jdZ5T1B+DO2xQTAC85LFAJqdEZjkKaOMDXnPvZCitTNs0x/PN7zFihqolHniAAtbdxDqm0B8+rYC3IciUhQEvJjLrgoMP+HAE6AVnCWwP3g6/XXLpIb/cozXNQHB9ibU8yV5xk97LrVYLYoPsrgl9DZZo4CYMWVREYBaT99U3l6FgszvC5ePsViAYAmC47AZt32NSQhvyATbK5Um/ZsoEJMkJQfiEEj4Yn7g2gnRksGqroqJ9NHr0/7j6dLoaHpcGp3JG7WNYN4PW01J/Dkvj3q70qHwyDjUNAgZ6lrxCiAb4pLsmNUMHu3OSnjtvzZU72BBk/cCBOQwtXCFX62GeyVEbWmcjw4b8O2nK7ENHCdkxH2pdSRUbrSMjLw7qhxWc+Qh3r2q/ngHxsGFkFlshpYim/zYG6k/KillSaE18f9R3CK75qi8fkN+L5upW6AvtqaUF7KR1fMVfgN8pLgzC5Huk088NtrPka30XeCAs+MgFH3jGFzlWPkeJK0fOOcxfbJUU+pA9zJTUF8IwnG6G84X/8ZSWFfVVwZJMP6lzRjX1nS0O4RTdhfzjeOPWiAmOK5MWlLsZQyYmJzKh5hIJGrKFuUjlgy0hpxXI64UoqKWEgvxrnS17uhqhHvRxqvkAz42NeRjLJlfjcbkU7jS+QrKaQw62EmLir3yNawsLVXKwFnpXVTPLw28bUkc9xM/cZpX3kCyU9pCXsYvAmdTbGhFCfFLP+BDm5MhsSKDx+3Gyn583mQZHBWjLKaAWJrKHTA6QiVn95K7qlV6TIXKSpc8ZSiaq20XtGsLgZ5C8QKaJK9DUyFmUNPSbccjcjgaGGd4pCYyZz+dBedY3pwGDggDabVC71xL8OKQ158oB1UtgRov1gYGDoYl3ffK+GQW1vAoYnFslUi94sc5yNVL4OYus1dY2y264ZCr8HT+d8wvmMPng0UI89STzDd+CcREGpEciSvidzKnxmDvaf2F/wTk1kYkM45oj7iqeJNhd4mVQKBN8bjnwYsSk6Ve+FvKcW861sB5ntjWpVbhbxsMdOx6AApQAFTqdwfVf20/xswIaYfJ/E6qqF9aDw79wkYPGVP1NOYaq5xloKsHzcAemwF/gomsQPzMzOUjSEF0f9i0HhMh8bjRS/jWKeRVn16xXWks6A3DHz48OGJoHljEjP3OpQyIDo7RMuq0y+ZgekLsLdAjk3E9ugt/pTusYdpWi7pxbxsIzUFHLB1nf9wtegL9cx9VkYBv7aMtMIEk13sW4UhpB/ztF4UYUY6OcuhyKKNT7cqhaxXzC8ZAQnpPE6Uh7V7tDTV66BL+zwSLOaFI0cKUXGmB1EX3uidS0dRv/feMQkKFjjj5h4dUrtQAMuRgrwV6s5oJmeWXNiwm2xOkY76gyJQBgu0xC3hC5w5T5FR/FlWJ6aFb+dRoEU0W0V+jWNvP0nPI+w2axub9oExpIlgmQuCSYWwb0OAzhukdgoItxgQFLfKbxhrUv2DTOvfQAyD1WyyiIII17FLBWTDizGiu61YbafYPU1IJI4RDyeQzr4SziRKMqzhGv8BoBDe3c6jIsOa/w1Ffw8FNZdWea18JBexZn/zwC8hkvYbzP8JYOFFrcUWqzm+qNujT9IVydsY/1hOoRB9KSGwoFsP3MLxaWW4wq4rAd9XOLrVZxSa25t8ShWqlL/hM0zZorMiuYL8An8X/fcC8xh/AHnfpIAHUoRKa83q3cZuKf5SA6mT9zEFPRZv7V1GWncHUfrvMc9q19AhWyAK2lM3kd6CJvZreNcSUESwB7ebMjwD5CsQulgRSDPvTSPBYWcfu+0l7lw9Y8HBg+D+TSRgKXPoW4zUXtFuNoYSw87ZXDp5IwYNoGnRtyzlUu9T3240rRfTxgtJRdMzPYXBc5ShDEvUPEeUIghJXtXLZgLryU5AsagSu5DL8fI3/NwOtSvlTljzaXYbCy57tf6M3ASDKLx5wJ9wV2vRrqXfeJJEUo0/w27XWLT3Gt6bL7v1lZPungaPD7GrggZvHR18D0csCn6a17R73pMaueG7NrGjq+q3PitJAlPGuEIua06990WXS38cfy8QNa+pmeMvBYP1SoNH8lou6ZlDJkCXHguANo48WLRdhoo8Pta759QhYt/RA2EQfC1QHjogByLo2/EdMlo6kdZkLX1TbZ0SvUPAhLT1p/LZF2jJWRQ1tgBp1VqBXUBm9FACFs6m3OY4m8jpXa8w8HcTw+IQuK5kkAxm7vMQHIvKs9nPd33zeActkCOddJqijJXWOnYeJYA1oCOwMic0uhmU/vJVjXgHwqenO9ax4QRuT0v4F1nZ7Y2z8MAUNCrrY/c4L2MZaknSQ3JYdaf5csdnuOJNiWGZ9hYTasAY1l7mHS5wOsjzN/rIlbLNYr+1ggUNndYdMcRmkWoDgQMxGuCbqtzw069ki1axpz9OUcbCk+e7ONL8YvOinl/40MLtj4PSznKBr2SgbdwOvj5lCt9oRNkXSICiDqezXx4WW8GuY8D1RkouVVmJRpCySGNhajvFhcQmKpkYxVZeFMPRfhzFhQY7hBNQKwFEZ6FuQgfqIoQ1eq3Le/uImlXhAmKX8UxXr7KwoIl642b6MqTluGZbhdzTqEEdRnhm5odcxfwC3hPM49PrgjLpKuqciMOkdGYspVHGjUKMDRwVrfK74N1RYRPFOMPQa96GTXiyFATB29CY4cpXfmcNhRQtVfTvqSLKy45sQG71P4kf7mOraU/ZygCFpl1oSIZUtlpNFk6kbwfKAeSEtxtEjW5MpNreYLbGp3UFOXU1BZ3TieJscsREpDzIr7Et9qs7DkBgJLXtC9ERKFwNUuQUi4EV3kY+gQUoiKoXtvlT2B3r2EcGkiWylvaH6/wOfsRtpLubgu2NX7x5w37S9IEPHANq32slur+/2X7ve49DGj5gA5REFxFrQ4FkCa+rvghD5c9D0Eb23HGjir9hWNDwQm8Tp+Y7p97sECfb692NgLDBu+fuwcu9p1fX0Asxb/TjqZvJ1hMbkLcOFG42y1jDOG7lVzxXSm5MEbSIrFoy3lOlSM3P7k0bvxQo7h97g6Dux5arXJ3l23/iGMyBeI0RUSry5Q0u1u9PchFrRoXdBEdFX1pIWSNOvEJoAMsP76qRI4I/ZjIZ8HSqUI8eHWPvUHU5Ln67i2mWhBm3I4/HIj+LUyD6WffPZcLxAKIs9XO9IwYMEBc4GWW/pYzA6n24+D0XGxZcVqALLvaKnpdYmhQQ3BYgfALl60gbyI8RCx0xwE021IY8BXXgM1REFMTgjTQwUIVCmn7UJgOYXuLboMv3UUDEZln8Da0C0rCEBvC1E2eBSJldPeABZWH2TV7lwjq/uiSTes1ngtBKZgeCavATNIbFDLWVl3IVRZsL3+gcOFj/6IcoVIUkdCzT+Bf/9lTGDsJZxJiyjrRgGFKqCqS6fKJzCJYPQEkhcpphqdvLkUBu0dfhNuGVrG5ygjmKQ+WltUIKExT4WSJCde3TwJmmCG+iu73Yml+je662ni3nUS0Wv0muSpbvd9VR042wvetqDuHrnprmqkUYTE5WVSuSs9vY4WEpoLjLoAEy8wf4ow+pjkAPyvWWEZaXYgDZHdEC8DcX9C1xdNe0f0/lSqnC1DeA/ElZGCQvC+EwgPDZ4F9aZCRub6LJI6xff5oGY59XsZH5t+z3r1c7Z2k1O8+m7et7ZnP2umzioGkZcY8A9rdFuA3yIbasBez8obeWDpCAEn3dxynZnNMeo2qfEznj/oEHS1Ze+/5wImcyw3yFYa1n1uQZqH5E6d0ZpLqpTgvgIrEBQCoZV0nQbraAQxraEIItUnqUUzOJ6VRbRFkCNsHl2lMB8VMDWPJKFjgGlsBDI+Qo3UZbA7vdeoUxI6BJcB8U4FU6pWf5dIt4pLGpEQUm26LVJHudHt4pSI07jkCrCA3HelGrUQNdaTmq1ITri1lLwJphOL3mjJjwUwDfVDQLOzPVlS1b2cnIWThLFYQK6V4ltUlwdDtMejGM/SEyeCD7K/vUehHRqzyak7AGSE3g8CSKy7dYKCOLqGIIHMn4sYjSRkpseKS1ZF3plomAQFmX9FBHS/tea7SitrCjmzPGVSSO8CwMB/jqQ/LKeFs/3MeGNFmKhhhvPzPm1bggiNASP+Xgpc+ZUebeddzwUOYZjGiJUHMxun3NuEEV4xOMc1TR5K+wfryBs+sSIVW2RH5fQG4l5kPSSXfCV3NQPEj0OltgXQf8M3SJ2JmBYmUtZwES8LMpSNLZwhNOvHTSyS/tEmTvQvrIAQjTb4mqaAJQjPOpP/jTS8Yp06z5RVGPH8S6bKgOnkLaCWTK6oE6+MY6zFgZXmNtmRDOlqv3IGa23WxRCogLaWxDm7zQp7ukk2WvaKaOAenWT+qYHbkl3IUlhqXW1I7yA92NoOnUj4YFwa0CwpqstJYkKLWIiSPwLib2IJRHSNrYTzGlCsLWCiAKhZNypCibQhleRe/G/cHYdHaI2eC4nk2spNgC/HQsGqfa+c9Y+ieCrrllmwFmkQnlAmOBPaoYUt1gGyi5ObB4nRIbolfATyKbyFJaK1dJ4/7A+suvMn4pNsiXxqGa8FiLOdUDNlBE6lUhNX+h7RENSKuxjFmd6Sik574Sd8c3TTo6gYIU2Tf6TCkO0ug6uz+Rrsh+OVYoh1wKyyehRYssbdRRqovjTKgVrSFF1V/OeHxIgZvzOqDDat63HZraVSMCJ37wVN7OvOb2X4bE4uBYMQ5sjT3U3boT04/b9a56xpCU8V8EMgBOO0QC4gTfh9DEG6UwrfMKCuFnt1IZnab71a8rvEsvi292ADqelWDczqXOzGMWoWOETiKIoWE+jP+DGYKCgeGSuOP0We8ATrz8kMG+ooV5ZKPQcF0jdbvfzZWf9wvF96ButE3+Ipp/EVka3aA6o1DJhqgh8zdfjb8GzDCaHs+eAcbGJkYB1oX8zeFGHpnYXXDbeK5765vtZvNDiOnfaOrpvI7dgrInwh+h0di5vrrFU+wyOZd1w8LFMJgr10zW+u9Yt3I3sBHu42xwYd9MgMTWctK+M/aCnGtsA1zJjLDm6vxDG7EporRe2iIHEqB4iocL1HrHt9yVWX13Lw1A/BMMTjTvhFrOSkOzt+SFiWfKZOhpl8XqN3bnlS6EnT/rjRnn8YVfSgYH7a35lPS+JskzvZ3lD/SQ7q3ocRSIglflytWhMwwZi9qvuvGcLgnIf9pWfZmLoriAZLTFzVw63SC0v+ACF+1sL5/tGefFZ+12XI+LbxAyN+d0cZsT624Mq15r+eM6MNqAlauFDBP/a7WdriRagRmVA0Hf2pwn+EqP8x3h9SeFmbMb5QuzSps6fa4IC8IXmqaTE+c1kHCyVr1sfqCmBBdmtbAeDm8/ddVtD5kbwurL4Ucd3xEQBkJZSyCCa7dcIVxsdpzrpHWKmDxxYar26+Irp8waNGutJxq+AjoqudVddONWpzlg1ecJvl3hDErt3EHp+jwVOrHg/AahO7NxbDPtD3dVf+pGlfiAT8NzF6mTLjuAv40T27Jsw4iyQ/FEXkha9flIsSxcCQ/VMhx5Na9GAiHNCZZyBywuFzgjOhBoWTyD9lEcJx8ZklSamD699HzJiYzg7d6Q0IG0Yd0mQs+3efnWxj827NJjE/zRQjSi4nxGZeQD/Ku8h8ejgUcMVZhgU0GUTcAJKYpZ/kxG8vIIkqtzDA1v0DExI7PcO0RQT106CWS0oiLPE8DVzTAQWHKWRuFIXmHkrIqMCUBlQW+TBiYu0zIUr2qTOuQKsJdMcNldFkdi436T8v5F8UcRvymeSOGIKoV7kfkx+HjJ4D2Wi/0iNX3r4EsKX9ZemNCXc8FHuj8dXsaSExUPKnzy+umZFLmmvyRlL+eSfdT1qXyr+0XYYS8u7O9Arc8k3KRtOalM8YoKD/z/EHVKcRLN95xTVNIxqyqRT6u2F/QTacx0GJyC1aqoEZEQqewiIOMKat1GucQ294NyIrS30lm9QnGwWQOF2HmC0Fgwu7omn2saSytpD0hDe637eSZibjqdwf5LyBPkjYkWpbe0o45XGD7OcfcWIPuhclawO5Y+4ZMhebH5KsW/qdfKgDEQMWJ/+hHpYyBH3FK4yJ3pLLxGwNApjGnCHX21/fsONIb8PLvRZHyHNPEAoTFkWdMp+i016/EqAWn9BoXucpJBiGACoUtpUCh9yqwGyQkliCWhaxfxAmTvS/5nAwBfYkqbANmmNoAFkdZgwGalf10q7pj4JxJc4yoP9YFSao7PeS1d7DP5DLWC8EbC/SgNvivO8d7ojcC7n5A1qfAQ4I2W9tfexj7SHjzAHgTHdLqWra27K19rInCJobCc+Rjji/6g5YQZ1oMRkjElrlIVAkDY9cCRBmF5Iajo+pSsjY2v9kcIzKlMty1a0evZ7fx4diI7ooFlyh9IDzN2QjeIso90Eo/KyxtlaJzEHYmzLvI3pBiEH0Ha/JA/nIElY67304cP5aXTxJI965DhDcQIrrak71UISr9Cxi1CWzmTNIs1YMW0O3syYzaZ5rN4IsFFxwhkG4Z2uk+ZE8fLqzEG7K+fqJ3T2frbYWShGGt/6ZfhbfMv2pV/c0IIikz8nb+i/S2jvfFLf6PsyTisHFTH9bDwmbnY+pW/MX44aFtRUvwbknqFtIuT3NZq3//NP6V/ywFxYr3wLTkRz12Z9sT/0u3cl4MvtMECRf1CtjTCDL10FaTz0y1HS8EJT3gL2qXTP64X5T+o2gUW4UdAIzb+KiYsT1WpNf0SvixdlRomA8Z19UdOIxMADkvMThzL5tLSIGrHXu9dsc74MDeUWYa9M5t9zQ0xG9ntteuq9BJXQLJG2qT1VaQbmbmrespkFS8fXfFgZnzp358vZgeGeY979/cyPJj98kgYQHjzoVgOTng+Ht6Hf8KXBx5fnP1FmAoUa3A2pprlQG5xrj5TYx4NMcDfmtG9pPkNznQthwrqhzPZEp+nb/CsZvyjhnhC5RqTGv7nN7OnnKEVlcJnkiEV8LfWVZuMMX/EnMKwr2TRx5q8lKkG5XvFfQXbCqc7dlqgHlTseGpE/rOk7ynVv35BPrwcMsqhmNixncBOU1xsMXBwcJ/IUgQeRe6FfCJIq9m4ga0kis5XwueaXpBblsB9wSXBp2eV/baHlJvL0cZxezipVX05EnxSIamh7whtorngxKPrBv+ZHncLJ9fkHamUlzinrfDsziRvcY7vgGXXC3nnYhscnapXBcQxK9Tsky4LycJOnVPwgftfQeiP+D9NrVW86mdGb4LZYONNU+I4S9XPzWvmlxhI/RwitgP15G4fuBo00J1v/dz6laq73f4I8ygfFzTH0cvxLH+JIUXY3P5LKvBYTlOPg48r97HgYNJdy4xr40CtVviArnfV76MPkYLoulSjYytM1+MVgcS3c6RcR+VDHOQ1lCqvzc76p/jb14fTxvbc6ldzQvtGpM/71LzW2C81K/lFxbxvjGPFKcVgAn/3eNjwSyKJRqz5Gelas+p7THJ+pXLFrxemNLKAmZj6prx0ZAlH81ZIMGjCwLZqvpSKA8VSIgf8sXQAdRBRRK0fEZ/O7YP6hL8lMNvqIjzcV9cVljlm9FVrZTIvOUrqxR457t1Wu+Iae2kMzmgiuiE2TldSenrhbHfaPTMXEpU8HYVOOs6drssqy2mvVj0K4jYDkWxRkAxOub083nRqSSaynqGjFrK2ifqy4eWVE0G/l5MH8FjYhqbZP2tB0UDjIO1PgyqK5km8Rf4u3PJmC3GnPp65O6KCxtoCb9oLN7UuxVsssLvGz496g6oCMF7/Mt+OC/cowml4pZn3sUNKiZg4khV/Abee5+XCoUShpWECVfaBDNoeIrYj9LIkL8Cv8mRyJM4w8iwyxczfDSj09nl0cIJ7CHSNV4+Gs5ssVH11U/tdBzqqwrIER0k+g1cAnvqoidBl60e1hphfGPT5Mwb72kFuFKC34h3goUoN4Fi06Q+UpAtW0h/Y6Ddw9pXozhSxsCNkBWJ7NY7xrLLxPXpmS4NQlQJJWw9FVlgmJCvDVwrjGIR7lIZurQl2snQwa1NjhSRt+TViBozLRPQ+eWURfMOAySGcjuvNL6IcfsQ2GYYQDOQG+cqYXsQOO4+EIGUnF0VBTZwsOAggEmbg1Gz1HuJaannf9KIbvQQq8lUc/1CTbmtfwMn4NXymHjYtLm+5sV9e4B+ADf2J0j170fGn+B6t7pgOFHbK6HLFtSUwhR3TjsEGLSaOxWLbAKZiq+U/BKh+TPufokqyX1fpYrLipUOi8vSkA7TZD8jIwX/5eaIoCBoSCQPua1pnO+XBeQaXQcshwGWloJHH9X6UDHgOvpUL9/eBJpTTwgtZG7JG1oSu5TA5LF3mH3BlVUhtQE/gYJSXy0SZjRzLynUCHlZcD+qTIX4a3/Id4oBOyEOL14A1ycGrVsuggs/gMig5pIF5RbiWXjG60g7oG1zUKMMkaZ1E/FotmQvZ1pjNoZcoUEc7oQTT2LnJZlvNihQRIRqPIg0L6mVYpQaTF8m4tRfEovH8AaA1//oYuZrNqPOS04mssfZYp6cMgqcNLoteWeOUW7d2lWMO3oKW72Tl5bv+dS4euQuTC7bxaAOV/jpXunQGgkhwW+BYUchhqXk+r8aTN28JbnYnV7K0wiX2vK84TMAk8nn65+ZuhkRC4a2ZdIYI4u/W1t0li6V9B7L00QnzVsu6mPxN2kF9B7W/9JjvZ6oKC339Hhbk3IM5yCiFHWyKUGXz8m26tFBnY8vslq1pbf9bcerPTfnHEbzi/3UMJjyPvymIklAGSqgEnEgUtxSl4tUVkc2T+TEep9fyny8zZOyoITr+xmPl777MofJXhD6Z2/8rcn7mSAqxhZmzDxRYkhtimlDrTZojUYgISuyJ3yKkLQ9Zm/UR/FxSOJE0n85Is5szuPhOGc7myE8WY2e/Pp658X78/v0lJ+UcdlnK4rucQWt0FGL/DoY1CKHxzCwq2ir+oHf45Ua2D4v02eeh9RMQt2vz0pfPYT6ITMOnoXxeA9SSq22nCG7wJY1LQqGloc3+/C/51GptSy7Ea+Cjf/H4T7EuaXM/RaY9nTx+B29mb1q+WZkB+/bO8IaCGDgMggYeX2B0wN9fiMOt/lEd0v+zMSnHx7DhDAkZechapX04lSjIj4QIOiFf/SXC2NeqbUUcbumCuxpq9KJ3xX6MMwNsWfUTZO6TIYyppFMObrv0tf8AypQz/USEfQh1PUvdetSH93Fa3AaFJb5r6nj4XnGDA10YXuKKOanvaFyVGvhBNMUEenVbllTQAmJ3/gV5KcAhXsgNpHzpStMx8aGff4Zb7Vycuyo97gBLkIjJ5cM4cuc/1axSU7/cR/V1vidCb3We/uYlo2lkVh9+PC2xWb/hwuA2OFYJ4UTM9zOIeETsA6NV1W0dP//O2yFJsqclY87HRIXxVyT7d3N7bra7M+lPMdo6pP06m5dN0wjyUdtwZl2bXl8XF/B5xucqTXcn8fT9IENQd0K8+hqZE5jjxtCpL8kv9sBJAY6YsN9DA08rYwLOyBWzCAYPT6JMvLVMjB++d/iezKUhMhGx1qjCbt0qwovKivBP7vHHT9tLFgDK4DfyrfJYmczUkhD98NwhXpCKJlh2NlfunGoYYgnT0NkSkKvjGFVWH3d2pu9vudV8ztqMsm6Owt+3GkpI4AAX5zle29da4Zlo7TDV6rlrhLJZZFP6A0GoOYT9eWmwSKFMOLxO2ZtQ9n9mrK+ZrXX6py5OKo5zb50Ye3WYDv1E8kpye4Rym8x/UhYKbpgDxEeu/9a/LAWkd3TG6f+u7QF2E2WeyBqUbAptl3fsfGaR3DMK8mo5BhQnwnICLJUSqCumCBQuCZqAVohEKG/PyXXhNkpvODAT+T8hlSHeshh96J4c6sOvlWL9xddW7P8kpSQWs7Mcy9wVBT3JsZuVstUtDnXnlC3GHU5rXxOfkY+1ylO3AoHvWJdVzVyPO0IjVA4wXQIjeZ8mJ2ak0I4lzsrDhBG7hoiLMMjq2LE20DBbmzDcU5XsyQxt3SBU7/rWeX+D+7dsW4kpVVokk3TLQgCrLTJl7wvUuZ5dLQ/NymlYeD6w/K+y/RSH2QwrdZkcdVD4udR2un12fm7/QsUafKY0R6XqOl6/StvykAwRIMhcr8hjvG6E4VpGAEV7LZ4BmBTzNst2xQiDORJl3m7YArm+1AMxPGKqtQFrxco12KB5BMnPaMT4cYb6+hun4Y8/b+DzCmXDeiJUF1OWu5kcJieJu+lCmWt6UcK4Vb9VWc9gclj9K2OiRpiMEYVlu2kbsvfn5DoZl/9uY6xjDf/HcL0hsPXxnmGYRPcxajGe1ugrZ1q4zhTToggRNnfhG7nCLEAA54tgqezCA+PvQJX6B8o7r+IzG1/eN9m1s9G/7Me49cd3T60aDF8VEKDdX8w7+7Lplf1XZ9jj/j5iKXvNqekxqjDmndWsI7tZK8kBhYndsxp22jGgA1BeyWu68s4appvsl/t6snOZYCCPHWbzY3FtaP8QXLZK2Y/rDmWYqt+ZkiaMUoLmempvUPHoaBj6o9kUkGMQ+i8y/dEMwdHROB1dvx1l4uFh0NY3C+bz8wEcFo7nflcLopZrl8E1/0IU9UL8y8f9bmJH+udCAZfEqxiWguvPf7pr8n8ppHGKo/kf/IV7dbtbIkeiq8pLf3a5wEAF5nOrM5/fABqZ1dVgoJhHMwyim269NJttUF7qM8PpuBbVAgNbvsaQA7QR2hpqXlJFT338OoszRq+I0Vuc6/1aS9mRts+0dI88RO5hFZhMRUVrD92ZQccwoQhRL8SffAs0P/rH3j2uHbQV3bjkSGhl7XkGnuBeXSRoTbfqsovAxTRORjkxD1MMXAoromT3nT8pxvAgHBM5zhArZUSbpxzlf83JmIJxAhQi5BCW494wL76AiPr+DBFxIuRPzU52mign8qzPkUO6YzuMjNY6ZUTY7/ZJXbot4vkfVfo//KenAnl4EM4LnJr2/2MVjqwK7+nbXedoyxFsxYQNUbkpnh61wyeTcI2Y+9uuEa3r2bmUI3jJqerwQYsN9aub+UDoXuzDQd8XwzG6UZw9d5gB/Pr1BDrurHULjXLStMHvKTKq27ZDwcC9Oi/OUOzYpmPJ75TfMVvEZjBFSYGCkPUKvY6Jt+vacaZuz2640iJH2lQPp1/jmSNTgP7ir+tx9kuHGD8xWf16Ag3P+e0CHQ/pfmvoX4eaIvcx+sgtznWJdu+G6XUWnI6upP6Ejl6DyXhTh6epZCtk26czRxqGjl2LxGno0slNTDxACUHnEUjjGp/z4sign0RETLkmNMYdR40sfJVOE+PMpwQZHtA8pEftxBs/3KBOEGnGzkOFHy4Euo7kdU7lUKeLso4CHAIz9CEQAh4gFpt7+IKeP3PoMJPj1bO4YrhDgS54Haw6eakrctRqMPU4xtPKCMpnvg/ppFKyX6zPCa7UHl3J2ruHM0wNUFJZvRlZdZ7ZwD0r2TPb2YOYOMfHGNb+dJzurqpz51qITkiG2FTOy91qqq8PlcBhMzXWQBnVbduuo+YRceeUFbq9xlfZvNs35juNrQW7VQMqvvTiEQtaM0G6OM0Nau8/uJwcMxGZQ9FqUPoCLhrg3h5kUZivoFZCGAEGX/Aj1JvukbJ4R3MbVYBw2XD52yObvLqZkuInKocP5dATx6/p2oP/jssMQ56gXkUNhDAXHkhR4JIj4MHWRNuUNone1/7d1b/9gk+VlMwEhdPWKLZuCeUH7917hAGmKS0kBiNhhcvDgItrVPyYnL3ciWl463kMa0xYjIUpsNVp+DM/7qrW6/Gcnz6/ZU4EXrypQJirTp43ZwKzi1kg0DhXUQp1cSej02xi7W6FzMAtbnLI9yZWWyxESiup+v+azQc5WlRrFB8XGeV8ntbDpKZ58ly6oxFS73PDdrnsRV45zeDPC/ohpHk5r1/RYQ2rgZ3KFkRFC1BeG4dPc4VLSO/JRIIO8n5B9iK8nyEER6i1Bo0fsTUscCvOaX/n7XYOvjUwrJXopzFQaxEcSTgS95364BqZ4hlvb3/b2Vhdinz8fhKT9yl4QKXo0+PTj4o2UMCN614cyT5iXOg5TsE9K6Kb//Q3dBqicjr9DSfwXxs8OF2xagfKxAvLH1R88sZZbYe+/H4hjiToXlF0Uzjo0S9gMl7SEeljTdopyYIdnQaBcKgXdYYtWqhYqAhb5ERt2ASVJdCucMCSrKSdPtb2yFKcjg6ODzLx8HBo1+6U6ZTpvPeaYwPt3A3V4oiterDzKxpu+Kl6uHpVuCEuu2Z0QU2ldXtQC46E3MScRTNQLUac/tXqzp+p+ICrNacV+uZmSuG+jv1eKLkWj0pjqc5cmNGQ0QiFR+BImWLL1iwwcNs7veSN5rmWYt20zkr6q3vCLSkFQyc4IJUap6EdNXMUvLl5b+/rtxZQswaQGkmTNJp2QsgBUF8CJIPZDCbHmU4TLP+jqQaSSikwRwBRUFQ7I+JivYlEyJQJJpeKGGMkCoz0/fV0X0pDS0MKkvohU8bEWv0vfX1wG4WBMnlDkAg7gIiOpuxr/8FAliXsWcrZtRjmQIRTjx6dIkAcJCUKj0JeyBSL4xSHckvT6s2JStp0lqyfhPISfo1V6EiPBVKrXGryS6iOKB1407okE67seajhjQhEM/Kli6SH8TW3sHZoAaEMYS2jSI8UE4oJEOJvCSqoXdTbYIyr+nZTToEpMb3gC2l4OE+vZeK78uuykmjdv+SvMIR9WF9sd1LU640RLneGyiVR+1GT/PTpHTy+vJoKJygrE+3FlyuS+urvG83dx2vkJr1bJj5PeoGUH4GsSCFarbnxl0qhn0rhLymQQDD1q30irrsSF1SzLdV56bR+37zXKio2+iOLZwNb6KcehkEfqvlJvN+JWW83ULonvy8OaXXRCxuLuZParVuoWSlpZpKTrtr3dtoEV8ohQb/ixxzelQ2sYinWVW6gLSv1fbr3LyXzY0r03NIFN6i4RW/CTUk08V8L8EwS3Ips6itUSLsSO6W+1wjBWisxIbYd9+rzcaSGFRoZ0d7YXZeQOFXjdfxx8kYcdlsXzD8nwMY1hi6ODNav5KLro73qDF8JJWWis8N4p5nBKwvIKagErbnUEmtmWIUpLsIUVx7GItZE1a0eBjICNJUwuWYYUdNjpcYgy6S/TApXfCETRsr423GEll4xqeQLm9YxA49Ar5EhZBrsWdSWyzkmstoiD/iAkRELTp1rbXEhhxUjSOQC3yhbyi4RWLBAqnKjZaEIi0VcBMRW9d6EgnigiLBaRlbgOOV4/YK5ik0cnySEDosZOKV+OqPeJCP/X2GnmH5LSutKzI2KkDRI/Yel2D+EMXoCK537we0GU7RAgCfNzXC6PjdRilO/aiKPsvR7IATPf/XM7jjrwo12nHK8pAml4uwv4qzxtkp9iwWnzDU33aCg4wtJCO5FDkVc4J3bcsKBrx8lQ0geF3ctrH+6B4G3xVqbrI7Ize7T3XQGXNkvgSYmDHezUGp5NUYqa925Q3mXFVS5kxu24ooqr6Qlgxevqx72JPYV4QnmZpqz2z1tDL7gfJ5mOnLtWPexa0dM+i0U6etUHYRguNOodNd0Lbs636le88Dw/usu+9tvF9Fyx6zSerX7Rf7QcqUp3eShbAseORVR/d/fjXVtnZVUtvSFlf7FiLMn3or2ol56LEfjfCXtq41qPKEqwxJWulZDGQ/Arf7chQqYMq7HqMvIpQUFOG2ud4EXU5dwmEwKICitE89+8fVDHoXX4OrPLxYa6eesijeJ9JCcZUujrokCqTS5UVosfcjCzorQhtfG+Cj1NVxDjVBcJOZNnMlIf6WUVrBkclsho47H1+oqHpxBpr0s/O21+NqNYCIIwu77BXYTA2S4QiVwBxTPiZcK3Ybx1WlRRPnvj1UFSODrZYRyAnLsJAKax28HsAOKd0NJbALJh7NgK01V7kcop0/fbWhgm0kY5Bav2ZecGa6gd33AUL9wQSQTR0bPzuXY2hHcKoxLXJGsaw/oNERoVwTo2pMTV8QJrTjluKd1joprort07QSo7hsIEolwZOHZuTykP3E5Q8L1y6p/Xw+iuAqOlmAgkYm8C8VcetSAr7lBt3wpKL4QNLNYqmXAyccrUxXWhHrXmU6WKQv5Z/mpOHmwsBql4GIxTCh7Brl9DJGLEnDk67ky9yAZrzz2TnCCwWkpyMUpx6saUCruFyKG4KQgVSh8o7TIqiI52aZIdbpr+4On+KHsahCzdFqG4khuLf+QoDpqaTIxvq/jP09K1yzMUCSEG77p+CiqQ4OTXV8U6x81fwsrjec4ARlifRlfovAXZwdRzEgkCaYfJFDeeUe7l8eAsMGXBw+HtualaRamo5BUigDOFRi5dEk+w2eiAQOH9XkGd4j+17foZqsIflr1Dn0HX6P4aj0YWgeqia1p3Pp+0mG9nMOAIMDgcBNcJMArMwXkgDoU82hFg3cLzojBSrbURwyxiEQgPGYOvg4KFAXgujn4mBAQiSxI7CNjg5WCOuTNL7aEjHz6KdbJ429BMr+ViweerNn1svVlJaR5ic/Yngz4xyhZaD2nitSHqLorgVtJLz9cil96ag2cehRGPsk/dl35YpVQoTgr021RcFMsdRKZT36xf35FriCnyDk6JN+pGZT9TAwJ3sqC4rUeMmESigmQEUjqiUCBdWlZDiFUnq8Mz16cKRQ/F/pkTTqBBXsRh3972a8VcwE4JAwMUElDWHRUOJbBcwqD8175IVhyZ0nIuNA/Oib064qMJ06m37YD655PfhOZI6bEI/R3KP+PmL+XKR4oE0+0sV54MxXfGx8qAr4N+PIDSm6rISiQoeYReR4B38NrbeXzQCOPj+xfubKgdr+XIw2xTPsl8GLVnLfZfr0ByE+wKEfoc3mfa99lSr4iDiegjMj1bB+YmcR4Q7gdr/LnHEMeJkWJK7+gBRHhl3IF+qytrHFZ4hdRRI50WyR7FjUiwXOL6o9T8GiZunRLt6pUj/cSub4/wz7jIk/Lj093UCAHZCQHXCPVXrwUwcCDcEYeg/9OwPcpRZSMaYTbgGEEnACFCgFBh+d8fzCyK7ILCgvDX20gK6MHYwYhG+WCr7+Ewotpa+to7+jo7IZUZEGd6xttR0eYbntnp+zkRQGfIOR1fFPo5AkJDF88KRNpZde4ttYVHAIyK9dmQRD8+x6JQWrJb4zMDc8+lN9TafXlaCBo7vHWh0Rd+umebP62eNmAo+zXv+uydrlsAiKXsPWQ7cQeI6eDHuk2M0pc+dyK1+Dtv+78hfNxt6QIbZxLeAQRDu8zb9UuukG20bbAta4EZLGfJNzunG+Iy4jaswb1KRWh4e2uOxOd4noLcUNpW01p9MfNcjFbLJoXCwnkr7Hu2Czf/IxvFLRiFmrWcvORxsjeCDdiQWR+RKj/J5oeSa3yvNOi13Dd35dVN3hruZPaLVuYxKy0jCyH0Jw+weVbjFROeXR6e4MtJiqkjHZTslZeHsrSyRy6wyS+gpyZlqH+GQSSKsvHsprJvfSPiIkHW+9IZDPKGFWdjBp3W0zg9E9Sl/NpBT+EnA0N2xAY9qxPYyd41sjjxxrq69ZC9h/eCVofHnw5POhIaOAzmvyCtiyD4M0Q/Dsy7EntM3tGtPYTISEHblw9eY3LinBrzkUDEsQq2HE9J3u3m1Aw5l4/bHwzMHW+peSHeEjnzqCFvw5Dph5igyTcYCGH8Nl3NS6SeOrKetGy1SGl6kz3gc84wohMovubO0TI92d0reVUoppd9KTK+H1Uq7NbrqG19xg0jbzb2RpFzsoFlelUSwY7cz8JD0A3Qq37Pjeurjrqdi3OS9C1tLz1JkVJ6tqwaEF8ecqylxdaE7u7TYmN8yy01GxGE0SzqhbmiRw7TcXYs/RatNxGSPp1GW3jgpb5uvPkrFtvcbAkJwbohX/8YQ2ZHRC8LR/flSLZvqZdJmTleb/1Pv5jU/aA9MDAeGD2v5d3awxpW+y33ZcfGW+KM0MgPjA90B4wNYpIDPH25ExqFMn/SEiFNYlPeDO/1kKKosIkIbzPokMcVfLmOzKqGdXzWap5VUxLP5KgQ0L9yWuK83B6/f8EEqTs5ZEDiddXhvgA7caQfzxS4kkCKYjTEiWgE2iF6A/WIWNM2CocOX9a6+Oju6Rs26S2n965S96lgjs2K+2jR/NyNm0MSe++23imFXzZCigLOWEZB4radHv6mPvXiNq3aAYdxcIsBZWel3uUKe7Y9lHxL+X8nMl+8zq/seXSKaViagNHWuvMXQN3P8AVFxX4/bjS/NG2iuNkvAT+vFyVeQuIBa4V6YGfl8IlOB1dsTNSiP9a+vvpV7mOq+lXroXjSMw1yjWoH0L2iyGk2iLFfjz6ajSWRvCsNX78Ni43yvFHzDPz5Bs0nECjBB9UHhs9vmdaeTCYQiPgAj8NVaKE8cQ88DP+4VLy1ED+Y0loRHumEgJQLhXRtnrGBiBnhT5902EI5Ypm5A67JHBKKoVICCMv25WLmLqK21cuGKyLt4GNvasWE6HhjRChnFx7lpHvb+AXm9TQrKJMQ0ZXm7haDTcf1PRW+B+SmwpcCZwDEfupQidPP2xqJ2aSt06swlmu6moWvmpiK5mYaWof1vOcQur+iANIle6VI5hVTk3XVtLSkzPaM9KTV9KuNRW76OYkie7/CTN63uRGR0E779GQpXjuFehPiHZvJ0Qb+DpZo9/6UW+QoLrR6cUsdEa+pOp9ioWENcxzkWIidOlSy++zDRzCxM+hBZADQyiW96uWaCdQ1uLp0ToIIY72JI93T5GgmJhVOFIAA/mHXAJOANJNxTzXRRAIkQftxtI3TTXZrQ3mxW8YeO78Tp+W0iRaDZEliKAZYjLbQg2DZCgQXHTxijdJAQEncOUfAoLXK9/LY1GI+oA+39L6ZaqzLWdVy+p9SwP6iHoKi7dX7vUif0XhUT+UZSP463n7TwH8oA/lxpBul6vn5IoPHpApU1t75UhEV2//GQ/aqZIq+aI2jhG5ueanQz++wWBeCLWtCqGDHQL1VzRFnrtvSK9efcskXD9+K7+K7TP+OQl44bXCVLkU9g9/JuDKU4VrYS8gfT7u64/Gov6+4x8jEA0zIFKFl9LGOj9ho7LZVNsE6zylzcuAmP7kLEEtP5uHfDyOpD7w1flSrn/THmRYmqOFEbpOJoVaRObIdHQE1uYsvSD007YAZBH03VxevEs+6Sv8LopAfuBioix24pyGA8G+HxXi1YuWFn7kC0MczbkZH19ZotzP54FPQja/5C25CR8/yqZjqJ8E/fuHN+1HXaBWTguterePP0ohHtApYMbQ0dgvt2mQiZFElMFl8Kd+qUxEWWd/v2bWMZgQg/VGFPfDwy+DBh7qBdm+pgacCLW+Q2O0QsdZpF402qWH7QQWGoFwDKdNl+WrIMKqJRkqZTWvCJUeCu/6W04k05lO3cMfsms5CF/uoXC5anOC5RhV9ZlDh32dtCPOJ04cOxOhDUj5nT/cGPY3j2H1070P/joHvUMifkGwkzPD35gXdY7LUvPNIWKjNkLr4Z1xb3cSSBrakr8Wvjx/wJXrLPYxXzbTd9JjNRG+yOdiuQpG6Zoqpl3omwRF2MvYmrm4vKbIUQ/t+gUBgvHGeMIVvqyzs3bUwEkUzUuwG89Wh+PqS/4N1QVmerne9P63c1/Uo3C1PCMNHHsv+E/fzHI1HeLGPtTxLvxz+WiXYiogFFSe09BS/vURyRo4lqjsUIM7f6tsRQCJQYEdaYLEHDOok7uc8qi15wV9t37RR4a8zU3/DTJUcRIwQQA89ex7FyWcZWSngdiZPLOPOSuAJwpO86lQrJn1tPrULgdrd6mUvGoOv11lD7C9YOvv++nt3d7yitRppLwpPABruZVkXf0SF2u7Rs8hkBC9f1ZFd2St57iFfozAYZFCki0DMTHDUSTfpdkNLbHukCJ9UfT/DTJlgbB4XVdD5GSE6QAufOpHV1udqAw0tDnFNpC4FPmRQsqHhyAiIFjg0vwAdSDs6dwsCQ4SuRcdHH7sL37mz9ql+Og+S0ucKvBPlrDc2hCtm4PJtet9okNZZ+duhMempSfmx5l6WuySlSTSNUSgNcZUF+wikmty2/GJeQjxktuI7vn9o6xoGunTJkgiHaAZTKMExmUysUEbT0aWfdb9TUDaUE2ihrLlIZk+Z4BIEOy/NWUhCb3jZjxLSwLpoVX14DjQvFQBHweOVZmVNEoiC9bjUeHPIPglrJgK6ysnfSPXOjOopPxiRYzMJF/c0teooK5zllDJLdFKFNa6hUOilVnJd0IkurXZ5TRSPsqG9bhb/Q0EZ9VHikIH/mlfyvfBPjOT9Zlp8mqYVyNnx+xAqfzNEYmDApb1pCZjN5fbpUhPuBjqrwPGNnE6KrTuBLuaivitrp1OVOsyYLndPQWCmyzmzQJBdw+Wq8+VY86dLtSVYIn9aycAsrX0pWy+JRrL5vZ28LIgIazUynKHcrNF2YvbnCgh2sJnL6WzvFWKFPt2UFZ+EhV0gbLy7an2SoUX6P9GS3buBGGEWAPfrYXoM5wAucuA5nQudvP4ZAgholyjzMBx8zoXozmGGn6v1g+v2LUDFABmRrOVKhWpFstL+e0C+UJlBStsT7FXIS9rSAed4EQXt4myVRxaYxIvq7cjm4tFW0ASYQJpHQTuQyCMkGxnZ4/Y9Z37+AB95IDsFkW2MLqkTZjdTaMuTp4NwVcrP84NlVW60ZK2LBRjTJHvHar9M3H4FvUNCvWTEnMXLFpQPjncceGQNTndML1ufLCewQJMxKX5cq5HChMIBJ0qX2E/4xpyaXJRjLaAlVGps4+RqEH7rDKTJzP+b5Bc9U1EPvRO5bZhTTWZ+ROTvrguglCSFUW5vKRRbP777Ik4PkwqzLn4XWZCvcUgcyEoF9mlSyvPYC2gYWiuxjXkOqOwA/0U8wWDXC37eq5bCsNEgk6dr7D1uYUMNdkJZ8iU7++jgz+IQ5vqwSmOoOKiZ2zZlJbChBjElG/oH3LU+99TyAdzEmpSiq3fPzTM59we61ld52NewIEh0ug+TNAFjOf/+jo/HRflXM5OjEG2Scf+f9dggUpdPID6SUBvo7K5bQcho7YFkCKyNL+ckQlzruYkxMF+vuhAsbROh+fge867GBHhQUa5S77B4RhvNWtRvqU+sFEQav968ywolf0seHnzbyE2QWNgvYVPYnW1ESil1ls3QjyEyJ2Rfy+NBmdnweavQ+0VdcJPyVASbGObMuRDXB2RROK9y/nuOSgAuQLDt8+1ezESiajjDslzYFRp62KROtz2Q2y/bX75EKjnC4B+rq04wCsnhob+tKSDK7DFQcjo4w3b7CBNJ+CjxU2g6X5Nqus5HK1LtvbYs0bQfNhidXUAx6I99FFHoYDE7NqYvmqNfd0rtwPVgUGmJuGJkehS8NE72P6l25upyoCb8dufgO1RnEYOv13oJ4MUuoprHWPvlkEBmPIH+6X9VYbXyhjMzLT33y75QYkFQGXvjnUcfQTJ/ITtILWR0+Kwg20bHu8RijxabkeWoktPjDQJTUGE4vZaRUMDF9/YxSQJCh2j9D2LCunnDCe0qQl8MreG49JyOOsdG+43NYImcHQXUHED5DqDk0BEczrTcZ/JYyjRgB82WXPWW7bBGSqri+ayqjLgbZYbSEA/yLTB1Dk2WUq22yE8vyiKyF35ZFKcBc0yuUL7XvKLKOMrn79SwtIvSn5Pqxju+7Ro+hU8loeRaO/JQIV8ckVQUctwobSyd0WmLf58cVrkruxUoyWocHL48ZEGXDIdSiQQeZhLNsh5BS+aLm1XTJ88mGOaNKpPmfUxOWNnQMG/WgLRwy0C5Ufftmp1uQIur4BuqNJtugxWccCqy7e0b8npBTyuIFenPW+rPNWINlaeOm+7j3RPdq/Ex/ttS/mxUvdxkyQq5rRsduXsG/vzCkO7Z1cCsJn5E5PU3nEvIDe8rjCoXJm5ZQZjKOkixUZzD5PVE7XJMeb46MXYKCRzqAtt0/aXwIIPY043ghPU9SHh1lR96shZEuXs90K5RCr8V0BN4po9+RkIO7i1jtWxbIGOYwp8yVnsKumjOXkLJ402+X5RQ4EhO8lUYSnR/9D9pLfG5F/4OzRgygN9/2Mungs4i0lCLI87AbbO35YgomPt6RNR6goD6ToG+PGcBR9+qBWCnf8xcCayS5BFxGBPedDmxSOJ+9MUSGLQM0IOBw5JxjyqJeNkuoaB7NrF9ShelYy0eHhdX++ojNYHPkjOyMhYGLHMExo0bJ1cU0GosMLq9vA1ufN9llOqgLTd2wh50FO2byxMJECQui18HYjf4TOZNOlTcqD0wDm31TweO+62nnOXHNgU9TyyoPaMsQeGvtyqBpV/j7xxdgUNCuj3bYlCwW2gK5F2x0vpaEsdZu1lwL/+9lTgr+BXmNHrX1L5x33jUCdol77Zt8RTz9o+5Ft5EHTYDd5uTyvLnZ3nZnZIeQJ/Zqc7t7RokNK/sBE08HkCY3snqOw4noa21GOWVnl/efD4671UB2ijnjTofkBDEZutY5rOCVxfj5+yz0DW4mFTgJaK8nnIK72yC84y+gBsAl/TgJxXeIPQ+ZcvD5L5czz/Yujx8+c9wa5iP95xPtLve341zyvg3FXf5VB5i4uQwr7Mx34H1HvyqpquxTXl1QvzWS/41Vf/bhxrj3E9Vm3Jy9uS+6G4XfT5NQFJN2NYMJMEQ/Lx1xQ9gGsGjVcaLkP2IhI5j0zNrdtS+xfNBJSmfs+5GMnIr6bYrYAzN1u2Mq26VEwNUpIS2oU+A2VscxlCQmLMKW47c47HdUGBgWNKNrurIP278IKEzBzpdU1GSxXXXmT0cgylhSaahly+CNHThEZnUmpigWRAIBxrYPrMgAenvCEH6hf9XJ9f4xWqJfb/7LGccrJQImK5+7wldTnh93dnl057OPsqEKHzweY48A6eWVL4ghbS4vTXu+qhzA+tGRbmV5yojOg/hr/cO4DFuwy7BPyqzHBVBFdXz3E3PVxyjmywF2M+zvqdSYB4PF5gY9waF4dEvUqB4H00JBpYskd26h3/yn4A9Mt0eDPY0Fj8wQdfTPGwTcRP7xM7BJx9M5AVM+vaiNhe8e074k0ofwqUs1mAiUBeFpM7wj5fNyKJUiflCmmbzch/sY2e89G1Qc5/uT1AHw2RIBbwGaFB0bXruJaVUZtpwtwkdZ353uPXMwLaOEFbrkg0YDAFgsTl3WEmXxva+6pb6IIgHDST2VlXtgQN8c5fIJVn6Zt99EtsEZ11pAvneWBtSZoFzM86XPjdywWC7PJahBmU3/Fki2Iet9YsckQmV4j3gxML/UnQACva39beTinB3or6/CT/ljVnniYO6eqL4MvqpZJF+WkxjRvne+xw+ERbeMIZkOelXsVKq1ZYKC+okenYN3PXn4cb3R5HD4N6kEkva1ibH+WbUep+xH/qahx1IFVDPcy1pldlcYjGyKJvd++UBkvTSlwU/dkooiCsJKjkTlgA3/hPWEEWkRFj7V9JZW8DeX9Rr6KiBUx9TYGNdA0atoUbj+huTU5fXEesy2HEZCdescE9DMppJi01ufqxKdSaE129Uxc49dXtc+a9zJjshCsEtUS/yPeXkHoEEUqDr8XFG2T1FSy05BrI8ww9ZLRdxzLHHuiqGcLw7CaP22e4uTg6IySjRB7lDL+O+RDqmcSoq5L0FSpbMllSGj1n9AmoZFofM31Zh2l0vsZ/G7HcaPIbTiyJTgteVqqoUS24InYMwrNVrD46ehlov+KzYNHI7LI2d5foUnjEpQ0cKJfNjjAZEJOo15i0q+QDzQPYLT//WwBApuq16KI5rK1bx3TStNNhI52C9jzWEsEsWlWxuh1KRYdPweHToM8xIymgtN65Rp4gxjCYUuQLSWhHU7WsusE9vkNzSOtJMKCTsKZQ8cn2UM3ldsY1yhp0SxN7k+oi51mMfnyzpX4fpYFPfWcTCeH5q0Z10Un+thIUKwbLRSw2kzES7dgJlth4dSM+R2CDZ39eJZeHDhHEpLqmXJtzdbO553CJDlflaGREJpfBI59kTvK3ireLt5nryEWgzezEfYcMuUVQ3sHkMBk95guEIAZSqicpGANiIuPGfMdBMqCDLrbG6oJ8DoJ/HUw5g1bCr883ZyQtlQRcm/skTXm4hEZHGb56iu1idYdE6G6AKnuKo+ipXANd8TmW8eqDRj2okIogJsCND169gcRBXQtpwjiSygtwm5iSIHxd78tA6U1qvBhz+314gVALVPw9ctZUG+Mrj8b7vvI0PsfACdBqwizcpiq+4WK4tITrGukuZPSfAMcNdGo++Y9yOEPVcrvUfGfxxDHwZRNj5yqfBY6QkPoW89yuzHZOx5lDpo6dAK1GXkPtRUh4jprUcKto6DvP6CcFYfkkBPMNaNVoE3zj68Yj6DhFkDTU0bNy+/n4+HSMb1OtxXGZy2kZtVl5HqEhh2ezjqZhfLsN2EcvcgVdwGa320DDON6/eBJAfOtNEiLwD9wTHZsicZWi/AI90Af2l3EEtosiI8iXyFoxsbgk/98iXwWGWLS5L1CfCgrC8hFSpVxFqQsNpAMF/CcFAr5Nk58vXxwCg6LLKDYF+AIs612DQi5KDTmjngIE4p9giXFLyEiIgWT5reJ/9J17IDxrT/3r4LnLuxn8qD2j6MGDnI00tYrG2XD48Bj7hX+dO+iAS3SdX5Egg3tpk5toS0mdfl9ySDIZiTFWn/HRbLtcjlCXbBrtZVaLEZmcBMnaOqefS6UPHZha+3JeW5SZ4iH1XangHdpCG0D6EFp/ZbKs0qzExc2ZkRvhH7c21F+/XjfR2IDcV1iKlxgKrZa1ayOvWqH/VzcYqJ4NkFsVxrJygvcdTPe29WvXiLuzIhoWZSdOdSIUHVqpUzeWF+Bo2PrTJ0+eZumTPvqoCcXaiXxFsq8fV9j23bS2NUXe8h07cmR8cvbw5OjhV8anZl+2wNH/RGkfVKfoI4IXrATl2NTqnf7sNo09B/fQNDJPqP3tt02bIimwTLSIFjaNP1sctObp+K4zqT4DHix0Khrtvr2gnk//ok3blumPYINcGMyerOKtdHU39Vohn9JrHHZogdbZkcl8By8rNTczp+tJmwNCqusb45+/ByYlBv7xW+6jfYY//1R5m3l//altO+ip/qC22jM0ZDSsYDMHHH/Lf1GYBeTAL8GTCILqBKlYUEwaXu8Jtx6VU4nkNQh9ApouheDA/JBgiEC+TCFyNgx2GZM/yeMQKZfJBAhKP6B6qWyCjqwhE0D8nn8+hKrfB1D1B/DVVXyqUZN3ISP8/s3FeRq3hoMIugUnUZIMOlh5bZFfZkTBxSoZSbAodjQJ+vAjuOoDiHG0rjAMOGINltfvXrX8daenEoonivekAQXjthDqt+AvAuC/z8+op95YfptIYHKEIglruaYz5gVekPz5sqpcvupt9gVL9S03Dt7/Xn1m7JMChuaJ+jcALVQ+aSDNh4cz+95VcAWUNzPZbMbbsbbX9y29m/zHYb+B5rveDTYClc1msr/q2PK1X63RVNvKfLU0Nu0rYCwJRJgyny/G9mg1dhm4xmYoGKTA4m2nTytdesZl9fKhraAYFPIpKuhy8kfWmF6U2RO9cy2BT8SKf3J5yyddLhCzdh/pmPA4qDkGwGOmKGkuEM2Wqufmt6EhjuiHz1yLf4avgnt7dUIekU/YuTY61Ean2DpsV5Hp17QgCSx7UotteV1pXbhaIxwTFq4D/kzmi7wNm3elvLegQUZLJJNXB3pwJ2d15xtrO5dnjNKzkwqT6M70jRvWd376UDB0JzGzgrusAT9gR5kYxTkVtPjTNXsPPBgJWco3r+Obgxc/8OvNPFwdsuTbAExxlhMoaRQdGzaUe8ioUBsUrBWiZE85bGDr5D/95IbF/UVMSfeRCC5CSUuwXMhNRXY9llgqzrH4h/wM5oK1dc6RKFuu29p7uR/0TujNvtoKts7UsOm39+wJqc7EAbmY7kxOD5wfWa0fvRS6AuN3hlwayE7dOh+YnE53iuXe09rk1CIrG3EEOu0Zr/3W+/76nd81Z+J1Xm9dQoizXC1JLTD0Z0RnrLGmBLWCEx+4EM57f8bY69cPN1YloJgqx4G5Voz9z9e4XpPeDjWsW+nlXlbmC2nCfOVl7vltvbdPLFK2BezEFHAAgBafm1m7Ndq9f13PWSt05MWCHRNLze49K4GhMyehku1LMy+syHEtLKdZiIJKZwK0BpIrVtUT5CRztdelr5kycmoUiwhkan3yKXa9clrp/jyv3mpJq1vwCy9+Ciy7+HpYckbqSZGwKCEbLxjJXQF8E7CvsMBNHFEatq6DFJ8ppyfDKjC6AYbeyWuie/wBfpMrgRkJGBECXbG9iYZjJVhfPyqIe0JiJKJvQIqvG4XHSrB9MxhEOz8FPVpSpwGTU1Cdpl4DctaQqmMFTDqBHI/yn1wM60AYCWh8kpl76uJknOhPhG7nGQwdQ5w7emlaEiGK+2fwUI4KMxo8FHo8VsZj2KOSycdOrlANU6vgCJ0ZNeLbXSo0smm6MDIFfaSZD7s9c0D59/RUOvXtj+C3r9CYHAZvKKjyUcVTTsWTOu2iHdAQmP87l6efDCjwT9tKYEYysNa3Cq8zxHkGvwbfGkAZcib1VbcDxtaHO+PFOhAEXUuIdrDRD//4Zo/EbXv2+6ROnI7KynJ+yvdAnMFmpcFPBf6I7z6Oz4rme4MXr69HSnmveTk8R3HXrjItcHKIfjle11WDjZrpuU2mU6Nn7Un0JyQAQUelLJXrh2RbE9NHvYG/mj/QIWmERFyvAJvURkbqgnWRkfK9fIGXy6uFsmohXia1QdB6gtmcII923fqsMZRMRvfKX6lelODfMyGMvSdO8ZsEitzfP+Fe8x6BIWm9RFbf7EfogqjY4M8cLpUSTpjmLuzrwEsfNFaK+B0CLntRZVoSGcKSG7B47joDZlB4qEyxa19GvSgDMKkBXulNt2IElGme9BOwYFgXejJQQucbsK3ZEwmeOl1Wmp9tlhK4nJ5WlOMwJGhDBMRUj/ryImf7PzDnP1sMN+kpwh1JQYNDSVlAyVSYUMHXPCSAlTmo6FoaCRuylA+v+rX2/UkehQPwzPeDzbItkTK2HUxTOfW1JrZ1pOrwkc+O/oxgqmGlVr8V6e33rxeRnY25WwXjYSuvQPxmS6O9Ih04XDQOBQGLVdLEnoQ1xgwWRS5U39XXbdiQJcTBzGIr0dBmTi1GxLBcC+khaUFQ4a3ljVRGW5xgqdCESqLs18Ot3C/bim3fZSwzu0NHEbSPuwn0zH7rhLx/du/apQsLB/e0dZnRdw0+NXh95LMeQhlC5ipXZGhlvw7bgWp7K5FCZo6cclHd00cuQMYq2acyxv09C5zOLBvevYprPdtU/cnJNiRxACKmVH/pIkt/7oQp0eP0Ymc0CNOfU7uef+fiepFC5eiV1VxqoIKdSVlILDea121Xzgij8Pvh3rzUgGit2bN7qNXva43el0RNWApTHE1DwLVhApapRQQa7jUo85Ajw5L3UKuIQj2ePCIayVFiZ/fKvo9CtoE8rF8BUclYGX+nF7PbavrzbiDI/H5rw7PZa9pNJMPcdKyMjkD5ffczVjFJ3lhswlPmRu915w/+wl9tf7VYhNPj6xGIQU7oCHMotrIyod6uGkVlAbTjb6CDMHSEv390o4hLqOUtek6ld+UNspyGUqXR2+ot4RI5YqFP92EWLlCqpnAFJxKgWSurknrwzKizNlmuUutZlqUM1XO1gkQnUOwm2tUQ/2rpVogRtqIMvUbMLpQalthr7coscEgqc0mUs/Iw9+VkgqUL8muJ1T4iILm1GL+NW/fjZQQxlucAvE/2jfWned1n1cwGKVUIUiQJSQWJICjoPhf5Vxl5i0rE2NNxYVJN912Y3rNv44szFXzEvAPEt1ZI83SErIQBWHUl5RnCrbpqhOfB7KHWUYf7FCpYH6jf4jz+ooyMuU7Zn1djckMjwxTxITlEP75Du6mj2a+NKEClHqYsK2+JpZqpszxPQx9SVfEW/1oU/QoQfnNjDBw4Y7mKrgSxJgQgkxj/dImWvAnRvDr7qWaD81RICfDfz/JN4Safofv9f37DfumQGPQrP4jl9hsO6KNnKQOENOzCZguxgoVUfpsEohyRKmY5KDslgzL5bIS8JY7nVdlUZe55eRthcMRyHlnGgGn6hthY6bHYFJ+xhMjtQPHSGK+M4VRVIFOmogxGbWVBTPlGBhWrW4N8hCtJvw0uiOQpeTWk2bZnqIH4v7kUl8com5f/WWpJrrhZibi8BbUyetu1SEAq+ur0JjMXrNLKgrYMqaZ7UWqsDTmk8Lur3nNP0wfaM43UEwaACOuvSQIGKJ+l+gkEcEC9ml4COiAfL3Ughm8diiO81YHF+LdDtSSftZqog2VNlP6ubUM+6TvI5ckFdCpNBAnice98Hc1qE4QvSMsPypjJQjVyGuQ6CjKJGz1FxsE+7QXNaItWNOIpPW+wQRh8TGLflks+Nr4Oz+10SM/nilxWQ1XX4IgWAyrZrIlASYk2UC/1PF+OhKaiCfwUrq8VYSnpoM6RlFqKlXVpOhHPTLcCxdvPGSWY1p0KmysTNlnPSe7FAlj5GsNNZ15o+EdYwRFYylqyWWEdnhVbpTC2v9MxWcTlk6KSkm1WgqLWE8mC2cGR8rLIEjcJXh/qUO4BhdIRQRJJyauNSFgytENdYCTLBmExsqbf0FY2m6dWZHR9hjaeSsiD/ghUwTYXkSoJfrI2CKr5FhmmypotGFSOtiRaZBwmT1PkajuIESOvcbR5sZyy6HVztdx8tqq2eke1O+V63aNTxd545aKBy/05FFQ0dAxMLGwcAIRgBMVwBpPF5nB5fIFQJJZIZXKFUqXWaHWZ9h85mswWq83ucLrcHq/Pr6CorKKqpq6hqaWto6unb2BoZGxiamZuYWllbWNrZw8HG7bBjCHjPjPqJ2NW2+OMaXcddSzEPV+aimKYpbtRNemW7bjcHq/PD4AQjKAY3vFWeli3Tqvda6+TmMlic7g8vkAoEkukMrlCqVJrtDq9wWgyW6w2u6MtEl1uj7cffX4FRSXl9rG0iVVNXUNTS7sdMnX19Dsgx9CoiRi3iamZuYWllbWNrZ09TCCSyBQqjc5gstgcLo8vEIrEEqlM7uDo5Ozi6mbAoCErDFtplRGrrbHWOuttsNHoCzLuainvoICvErseiRptXatq27B2F6dc3Q3pEhrt+P4oCXneyP1GPWrMH++atM5l03fSbyitOYPOeV2XNxK9kIMhUBiyW7eR0AXLnenwJMJ+NOqmsF7W6fBb5HdPbZlO8zKF82wNW+7U2JsOhY3bp34/VrLF3F4Hp/DH+BYwb5xvAfOGCSd2l27SGbZpHI7g1GVILt2Dpx4A7A7PcjtqkJXOkllK/8A/jhW843jJOw5M7E99jsuu4f7REs2lvHJrgHbHc7pYP+AmLRNijo0uswZZ5w3Jzl/bkDCHbtqnavGGm+eNbS9cIcFO5GcAeWMat+RNutoSg9XXAAzNZBP72BSX3rczD4dwl2oym5gD0gt0rACv+Pnd0bN1e4NGMdk1hfe3xZHYorUCbu2V91b20umnyZfBkndu/Ib3W0TKIQ6KCALdbiyuE0FgK69fEsAbeV54dc5+0Q/ekXOVBOPUReAz5TuY7XAv1LhlyL1m4RIEO6zg0Gvxnt24xhBIFLcmcnheG8lThmh8bR22hgnhu2bI2nQZrF+4JBOwnL3mKzj1VhgcgUQ5Y7V4o2b67hfPdwSH9E9weR5eIfT/OeHglh66ewXk9YkuYP3F+MmaxcaIzOstg68NUtdndYAVpBYl9KAO9PgP+4AAzKcmjZyFl5P/d+fqZa2782OA6RCY55e/Pu/7M/pBg5rqxdeVXvn2Z8PiDsB2vwfnh6nWP3E//KLWIMT6EAAAAA==) format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAHTYAA4AAAAAyIgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAABlrAAAAFYAAABgRupSrWNtYXAAAGYEAAACBQAAAzx5s0SbY3Z0IAAAb2AAAAA7AAAAWgLWGXNmcGdtAABoDAAABrwAAA4MYi79fGdhc3AAAHTQAAAACAAAAAgAAAAQZ2x5ZgAAAUQAAF+MAACiTA4ZlRtoZWFkAABjHAAAADYAAAA2ZRNDkGhoZWEAAGWMAAAAIAAAACQKBAf0aG10eAAAY1QAAAI2AAAEXC0gPt5sb2NhAABg8AAAAiwAAAIyJwH+L21heHAAAGDQAAAAIAAAACAByQ7HbmFtZQAAb5wAAAGbAAAEZl4lerdwb3N0AABxOAAAA5gAAAcZkrhc1XByZXAAAG7IAAAAmAAAALJlwgKGeNrV/QWAI8eVOIz3q2oGSd1qEI14pEHNjHBQA8vM6F0ve8G7ht01xsyOGUM+x3HscHyJLxcnDvkcxuO7wM+Bo/hySY7i8Gr+Vd0aacZeb5w/fd9nrUfdXaWuV69ePX7dDGKKDMN8BVkMZgSGKeklPV/SM8VHDxaLyDrzH0X4KOmzgwFg0V8wQSbOiH8es30IFXuD5WqpaDu2ZSKBF/hMOp9D9JpNrvDp3I6hVLogQhUBxwbDLKrBUC4zMLByEF2W7EtFsehv3MNihAQWTp75aecgGsh2Dg4wZLQcrICfoo8zUaZGRsvHFTqa4Y5mmXQoMlKlXKvWqtVMmQ5cPUdbrtBZrErh1YqsaMqUjViQDCf7vbNeRePLi+uGE9k946KiCbzUv1UygZWGznqVQjo1W8fXEkj3MZcSSC88MMAQSJ00gSBYzriAlGp1VGsep+ixCykvmKUSBXLeKUWkIGQEk19w6qHWu6N3BvTA60Xv/pJqbNy923G+xYJloxtucBwwsdSbQlJAM9i1e/dhobOLFXR6svt81rCPHGZt0vFGcnjXm9meHuAtcou9+9xDuIAckGbyl9zuRUOVgUUgm7qmwcplCIFiBPxK7K4Lsar7gr9Gin3lzawW1MghFsygAhqsWooQFk2DHN9xBwQMVQQeuYdIRV4zvRfDYIK/r0AD/ZxZy2xn9jPyc7t3bV23OIEJbdHl5IW0kLZth3xKxUoln6NYpCgrVUpWiV6nnQhu3cu1KmnPZyzyA48UrEwlk8u4jUHeMkl3p1I2yrm8VSoSzN+WyMccAQEncVamQwR911B6+Ug2hOtct3HEZHNJw+mI2BKYXHKAX39YhFO5fB0hdd2+zrfvEZxJ/M7hbiTYEQP4fDzcySNR4SxVPHWSNVcUxxcfsnzlEi+k9unBVA/iO8OhrIDA4Czha9qJ1ZzvgZrOlktIPbQ+lYfLzRWmb0CD889v4PWj0j+KisUwLDM9+xV8LcHPADPJrGP2MNqUvGPDiumRoR6bLfYC3XN5x7Qtd8KZJumXih7GanObgqFtpCWYy6QFggmvsVIG2nX+T1/Vjm4qFjeuVgDEndHE4sFqdXBJd37LPtO5eoU/oOkInfkcJ6pxdJfdY5s+nx5OhKJQGVy6pDvr/eBn8xrQPl+SQ8CjdP6BXm2wevBAdTA24Udbg7rG8twZixPiIoceHQqHDl0QCiW71k41vjQ4Ud36oNcbzWsglDM4+wpeTDjSGuY85iihnMPn71g/LlHKcXFQrRWrlEI8ShDo2pMlr2UqJTq3kpURfEgQ3JlWyVQrJdrPRae72+Z4SK3sosRFSq2KTfpjSoY50u0bOeTbXkcGH9FTPVZ6G8v1HVPk0VXJpVLg2FaV35PsTg2lAolqKT4k8XUk7Kzv3+vI2w6sPxFAEXWm/LfJqCblFBQJ7PxBb9/iirJ9ghUQF4e1O7ZHtfpGCUAKLC50JivLsbLhYkUaPTlQx7g+MNFfzwRYqytsqBJmWXlgalDlq0vrqtaT1ivdP87UWP+AGFkz7tvQ+PjY8qS49CivYCHLMMCshBXAEY4VY/g/UxAs5KuUDDzeWau4zHOlyyadFX6ek33ytA14AZ/cNaZKPp84sJn3cRxlicAcnhXgZkKxUXL/IAayHuRmlMwE3sVjgB5lMjkXxcf1q8/3B7DKI3Ugtva9vIoD/vOv1jnYcvM/TiJeYdVy6f7vNr7yXtKj/u2b8+USGaFORthGRkiREXR3BLKGxVKpte95IZP2lk8P5HP0swIhlsfurbnItb15f8QXDx65PKSoCKGfAb11qZz/5m19ER/nT8YeAQD9rTFVYxUy3goYglfIeNNkvCRDxoM0pY6Kiy9vw9G5eNuu4h1RQKxqawNmKGQudvMWPYKUlbIuZkXRjjtvgmuchCUJ7MVW0rQSZ7kch6GoYR2FzQhnrLjc16d2WGmMNsNRy4iEg2dv0WN0tadmr8ET6ComTVcDKOzelrdSTfFimZ7ErHgSqpYiXOFJ0bREBCtZw376aSR1iejppxyDgxXooGVyT73b4/Pvfooz6RlIpiXgdz9FaWu2Doj5IJMko6mUtmouVl5NXERmZdIu8lYO5HrCSTs6onK85JNYX4+JeAyYNazcwJbcYCozM1acGZAokSFffkxwAlgskpE05j1QB5vBZCRg6EiVlKXB0HsuuYTCQf5/hcChk1aN9eCoNSFpArIyH2elckhLxSR/0klsSRRE6DbDsX4JBUMUc5OzPMySVQ+Qe8hzmCOki5ALea3KwOclIvYA3v8VQzLIAYIb0HdNU5UahxqxgmH4NPw01RH6Z3+JdHQvYzH9REdIOzLVEYBCM5/3Us3AcZkNL1AO7LJgAnelnM+B7MuJH7W4zMijzxaMYGHTOHc6PJnvMCUQ+aFsNRJAgDC6F6J/1Vu7d+nlT40eWXHJrioPx4Y7rMXXFt/am+wtRE6IK8MXp4fJ3NaTCf4c3ceE6Q6i2EvlkgJhjZVyhmzNChnZ3bG6XrLgR3bj46Z2Mxperuu3r1Z8Notuxbj+P/+j14dFhW38oPGDOsXXCJkqR2ZZJ/fsUuiuNFsCiaK+vTmF5syqhOnSyRKSc/UiKnE8AUT6/mNvZtAR/fbBqaXV8UTvSHQ6tqo2da8mySyuoxg0NgHafzIwaMgrxoN8AnNJaHT2dvkjnWZ+QA91lmYWjUQLwbE+DvcixwSW/QFiwxGMD5wO1iod8bFVILAYWwxQSYJ8BBvL6B5BMF+vFebAbk6l6m5noSUgKXPxGmpFMstqcwbeZs+tP7Vu82UBdIt/fWeKD952waXT+cLqQpcYi3dNB8VgXC/meV5OCAEFZTuTvfm+Ul8q3Qu/Wrx5fEQ2Limy1mDvoO0sXzudr2UHBzsHHY4VlRFnZLimi4C4oCEgBOrKSl8+ZFay3b2U2pLkTxzdzySYLKG2VNJPqS1FoaILnKrUqpOoWGwuiEUEIfk/r/OCg4L6rY8Y2iWNH3/4w5hnWY0PsxxGO3bs+O7DKy4iS767/p3vAAZEGv/u7+gZWJ/YBe7aEwxy6AFmFcHgoh663zy256KpjigJ5/IUhCYeK1RZ83A4jzmkLatWneOZc0K4enOqp4S5/Eg5rioIkKjaqfU9guRzOAQswcGyzevWBnhBWnNFsCPqAAIeDdQP3fDIqUUXGFLvv/akqjqwibjW09nVqeTjqlmTWAV/4LzNGDAfjfEstgLq+TrGIyMAGKKX7jlw6XQx6iQpNlu0UWBmCDbHBtMhunfJVDxhVq3N5yt8pkUL3jVPPgit7naTbnI5eChu9y7RfTzG2IyGM9eMJmOp7IbJq8aHH7wNAtzxhNiZ7OgBKxuO+gKSCGKoNhUQgEOrtd5kcqInhNmIpp0/sKa6JJmOn7flbQ9/RIXNISfVlUv2/q3lM+xUfGK1Wem1r1iR9STBK6iAnmIGyBpZdM9znuxytSIKPNGWq0a5VHIV5SIB1PF0IqH5ASaZB+WEthYfeIAX9DqkEwlJHhLTHDxyC0LvkgoSBkABpTvjl975oLETAc/PGCwGFmGJE1iEQiHMfVxbfm18SYUfYnATu/cynUyZWUR0uPFKb85GVIebYxlOU3vzNmFbMavRb44yx5bK6gSL7nnzgr3POX+qV9lYILxBG5eUQp3zX7dn25WmLDkrRXk5KCPbxNRkRI+Iy3z1lZ3wJOLtwhrU218FuZAth/VqJydEdlWD4ZVbJmqhTDIymeeE6ub+U73Dq02I6HbU4PONk32FzgjssvvGRwkfRK059THThGLGh5I2IvvBXXfyqRDY5ivqbRnQ1huCBHjH7e5tHPcnz0ZTfemgHOaAsyLh/HTvBftra3rF+/L++6bWLduVS8a7Uv7ooMGPBDAv5DvydoBXxpSQ35+9KihENDU6eusVE1kIvXN8/Xe35BZPJnryyR4dTg5MlBH4Dhi9a41wEvlln0Nm4UlQ+DSRswkyi6jRtsBbMlR4rUwdyhQ9idpVWCheYcniUlO6fuZVkhZRrYH5tTtWgYwVCZxlLN47805d5FWoAKm5nwzpMH/ogU6flMiW+jRZ9gEn4JyucoAcNTsPih8uH8LyktLk6R5F8gmAEXAizvVHMpgnM987+0HcgVYzcbJXAojuFbKVM51Zb9Wy2dKcXsdxNss6Nu7QNbHxqcbzWJJYWAIzwHOqLrGN7za+Z0AWTE4aVvV3PIYlVZPYx96GLUWV2Lvvlu+6mZOoF4E5gSfgTkZlQgQDhsYxaM6OSXmKGtc6MYVtjsnBYTjMGvaZQTJ48xjWyEFL9IzwH0qWKQEWc0prNquY2Jy0d+Z2fmcun/VUV5txmhO6XjNM1PNF2HTVw43PYcHwSeh2VpJw4/nGp7foWkBFwfOfHF32dlZUNR0aX2MlTZXwY++gKznNAHwffZopMZOU9qshga6kN1pbEXQ/TZLJVaoeoc8JCMvdEJiC1GSgT43nkXZsxZuLiZnhRFQCAMSxQZPlEHBGPYQ0zZ9KW2lAiZTrX+rMDcD/5pM6TwZN9k91pfKpHM7FFIwQVlMFe8PicCFkBjmOE3gAvTvRGJvve5qa/S2eRp8iOtJuMoedGzOU43cWXcHOu4xlTj0S+Lap2LRx7Hm7gbgimh3ae73kIYEs2nxLG/1F/UOPXPZ43P9nj95+czibZRUexT70zHu+HkAo8NyDTkV78zN+GBtj/Sv7gAXg7b7i+Zf5oG/iWlva2h/z6dSuvqO7Xoxa/ZHESM9HnrrvPcfOH6zd80RBRILCqYufftgXCQfuelIG/xO3i9ntVyiQBgy8ah3aIsY2jW5AgeUivuFmHIfs0Gj/ov1DzhDFRhfD4HH0PNmZFYKN4sACbYIgxZgTgIZlEtGRabXk8vkMQRC9SJl1hregS7vikE8ql3/NYZ5zOkTu1+WyYtzzDkPr75NVe9a2oa9/8wXlIjqEcR0BOs5yCEnsmYcBUbMXIvHhWo0c/wyuv+4MMJjJExD/Cz3DdDDdTInIj4H+znQYqPyotFaDAGG3lU8KnM6VKbERxYfA7pQJoDo9yv/o36Qtp30IrNvANzlYV3rfws7+5jg80Z0Vzt+1cZO0N7rt6NH9B6Tz0CV14FZPibbO700CUlLDizoyx3SAOipePDDCof8BZP79aRsa/wvIasreBvokM0F2YBXBPPlGfIBFhxxYBDyXs7U0pYDTlBmUeFyqaRHTTPDvP7BuRgtxaDVrsMABD2yBFYAf78oP3720Wl16T0zcPRgXcA8WFu+86/3/GERw80PvzooBbhIhQMnUm6cRIMTJ1b2h0IbpxvenN0Bg+cCQwiLE+rYt3vn0g6YTYhDFMB4iGDZdbTJsBwC52G2htI3UXMbDY1Nu5X/8U/a/aupyX8fKS5Wf/Pg4DIqrlq7b2bFqDYc6+ikKIf7t0tBNO4OhUb+LOoAz3wJe37M1m75xeCfDgLu+f4vex5QJ3jIdrg1WrZGxMhWKJbpuRY99lCweUUOCNqWoA5AoM01UZixYP9GH6nVkxfR8ctmBPemELtehF5256fhxdALFoA5Inlgc27IUbkC50WDj28HuHomDxu+DueyaGsKo8TLgOuqrs/h/Ecsi3/oNEvuTJnzvJvD1UBuRgfbOaINRnoOiNA90cmbB+82PPmapBITd0AF1US4NJPdNdYz14Hod94x13I7bQ0p9Y5OK+CuUHzYb3zaH8+hXdZeqfonXEKraSK1cAMKlKN/x2I2nRrs05rwuifGm3fJ/eY6xKrViyDb2mBjph+4Yvv6dh086qFy/cuUa7GM3TUUkdj7Z8Via7Mv337Q03dGRXnpr1yQP9/s7PqQOxbotrKxHHOaUGX9heOXGt5vOkc0H81HI+SW0gA6xObLLCS7PHH7qcGZ5PIorxToGgPqhzSGMUIfUpAW8i1DiwGtw3fbpEQpon+htdqSnyAncb779sSBBuBp87O2mehwyx9XmleZ346XjFOlFymx++lP698y36F8QG792bdww+fN2uhsIDNI8u1lfMCrcE2y8YGonT2rmE++k395NvduRu4iEG/jRMy7VJDRqLZmCt9nb61BqL0RTXfSMz2fiSsxcHGThHn/0/eqg5iNIljcA2/vZmwet4kzxZGcccVO+6S/+wsPgK18Y918xEcmJqd7eVBOLm8nYi86BRZ2o1wvJQeCFdBwl0AIGjzK8IFivxSv71JNLFOM2KWlEfEg4dvpCGbhoafCWwoBsvOmRiJbNwItg2j1tXDf+Cd13jwfvwV2ymFsy8yy4eEcg6MHsi/U5XnAzgTxCIBcpDwVspRbC3dSxayV0c+LM5wlA1mMfsXy3D1b4bd1xBerQ0fgx21oKkGb6D/LendkYuXOxvaqtTUyFSNBlarVUk6S8FceeUz2PMmnXTTLq+7lPOn4cZE6M7rikNLEjKvIgEhj0xj/ohNig8TtOtGzxNwqamzg3+q3G7Ol7vjXKtQjNAQvOPM2JItrY+N/Gf9Xn0X3Pa6FznRSM46LAw0BA4Js8AON5UN1yq4gRXATHJfccYTlosljHP/l+ExYW48ZSgNvd1fjLxl+xAovAZCEG6pnf1Rnk8po4+gTZAQM0IhfzuXLAU8rn+/ea3IfLzWlLjt2WY/+zce+QevtTOoB/zeEP5JXbnw6gaD/8u7p/86b9Ks/qV6SikdQVOovu7QH/u26Tsxn52nUHIfDYzWZ4w6JTD285fHhLdrqa/FBelvMfSlanPQmF/prgJ8b0UX9HQm5rKG0ktcU/Idhgrinxmx4cSsDvMAkB/8PHl8XvysqJoYvjh/YcHxDXrlq5xSn4NDloe2hCfOx4MlrpX25y8KM6ugig8WPglY7weKUSMLx41iTuJHgqM5uY84lGsmvrdDXBY6pB2pYPZZrsNz+4AF3V2nxECi7KyH7HrdgD4eLFOSXasZsSFnumLu2Mg4qAOke7lmS0IGAAf7qQ89Cb/ZOTtof0+OAJxbb9nSuUlwdXDfUORlLdJQEEpZyuFxXwyWOsekpLxrpVnle6+g2fXtrStySyjNVYDPzcGpx3XPZWZuOKC0tcTBEjooxWdoY7yjM3H7g2w/FaIBSf9IEmL390qO+GRjAadVTVoutE4jU7yTpNMmvJOi2ZLsivXqfWMlFMeJ+mfCdN1FPYEm/0L9U2yFL2IleNq9CL8Obg295KOdHnv526aXEGzOuBR4v8LCfyxqAZRsCxfSyHKnnWempAFjg+UPAtHj1+YXpTbnzxWmsTLzV3g29VbyXI7+gHjDJT2uCkXo5bmsDzvJYfFmDKH9Sn6sZQgJtl6mh7aBY43zZ7UA81Nb06kcmbyW5dbABd96YVn5tbaXcNm7OyzdasCCboQpNrr9pShPumW7+mmLBt2FEbX84+gWfOU8wDS0WR2z8lRKKINajCzGHLZAWQD24sjucT3GN4aquC/L3XS+lTywRU9Toh0bBYgb2yVC2vjKAMGBeuSGXHlnIwwIXCgBCOPBvGCBFMbB0qJPoVlAZjz4zP7Bo4bkE/N4QQDu84gTkEiNVXr2WAaOAM+iV6N9PZ8qLWqA5keZoY+SwQyBlPcbQy3RZ6t1WXLbOoD/e9LRB64XOhwNv6hvWiacl1eP8veP5/gecvSKc0Ds58h/InlAdOS6Uv4BkGXKpa0+SOihub8Thhy2dLJec8BcGec6yTi8jjjiA9fPJzG/I8tBQDkFav+kgY4Dh6hoz3jb8SD546VpoQ/vLrdPjvvSRPj9wn/e1fexrB7G/wKjI+nbXqje+NhHleEDJ04XF7eLrurnBF662LD6jigVuPx0WuxIvx47ceUIK3P2Zo2/fsVdWitWe7O3bj67+ZoUs68xuo0MFf+m40dnroe1QuhGZ/w95NRl5P8e2N3BbY2IespvFJPhgRVPtQ2sVHeSFIaStYq+XyCy4UDYId/FDwcjFtxPxIOO90dDzBiZztSCLi+y+5pJ9HHJIln81KXGI8emqXYtz0UFjr739nvW5r7TN4/BB6xpXrjb9a9vg6JHOI1bB+FWQaL12lY5HlECejdY8vg0FX/DX2PvlkNd88hCeAzjPFMHgResaNvvnnayyTiPDRBbgtZ9qnAm/RfeS0aY7MUnDtUVjm3HTaL09PHThQGD50QjHufsLQVoyOXdXfr/jvPB2Qbty00e+rR08fV4y7SFNndunaNWv6CxSs2+6YWf8ABXDzxqeBfl96KVjmjtx7XaAPXHL0GLh0ESRQbyBQ9zXpou2Bn49rF8LaArh5qlKh3cG3vo0wshNvulAJ3v0uU1ulKAVz+/btnTnZOHVQEy88fu0JMuDfP/kpOm5AXxq/5ZZbXHieev7vXNuAYdCtZPwSGT/lWZy1VNJlKyZjOaOoNGc6uR5fajwlXVnElMre3rSs9TwPMsisDI0bMPKrWmD96nQokE8kdGj8vPFzVkFwLbtobeQaDeCZY48izgkAnPkSgOL4Q2MHQUSNf0ci4kI6i8YA+PCDvIgodm6Y5aGTxNaEueido3uq8w1PHznyW/zyxO8fnGjH4H7GBOZi1cGc52wwHJvu7jIzBUEtKBpfeT+AoZlS43r0LZ+uFxqxxiFJC5qA3+vtUp75bHM8DPQ+nsjRw08/fQR9dOL3oQl8Eel3HRLhBRIb95F+nNuvRlh0Oyvgunehd6YBj09OjmNIo9Fr4Go0RPf4EB2Fmf08qs/+sh2TtAgDRPWJUsmNy8z+FhXgi0zJ9QtPVNMClX/pAso3vb90OUpe/CgzFwDx3J7U8Uk4l+dy7DTtYtUzFahT/r+TmS4TK9VdK48M9a670Rispk3O35lKdKIDu24ct0QOfFlTUnDjlt76iA+J+PyhLiyHgnJ5yWhmzEjx5kgFO3Yin+0YGag7UV9m7xU+kOwQh65K9EctNggnhESczKCDzGA7+nhT0+qMezlgNBtHJ2C2HF+U79G4OyFqoJMRrDkjs5w87zzgl247dNXwwOiGbYstO5FA3JAG73TWjg2JfPd034TAo2dYtvHP3dcemdkfy4zFQgD90M/p9cb7a73C/wqVQld0+XqP9/8Wvk8wSnl/3KYcsClBCW3P8zfO87bTtDR6mMlBfmYgVwzGpLEOTjQtLLDBfct3TuytL7r82c6pnMYF4N5Nm1dv8gvTKg1fILk81j1+/eGxJQdTJFYXNpCbp0Ywso9gpJeZIBgZ6Q9gRKCg7kE9QMGwzAzV+SqVtsvfc5dVyi5+vHwcAnQcuVpyDfbAeefxLk6SuydFkKeWPzzsCIEDq6XolnF6fXJoWW/c0dhAOsoHlxYEii2isf8lpycSgJFtC51XDNXtzNKtCnTu2UPx9pGhmDkz1Ts0FBGgKjVpEX4OX2ByzCCBe6Ar0dbmPT9Txmq5Bly0zXN1cs1ollW6YnJnj7hph8y+7a31JbzSOaZysp6AQHl8xfHb/Qj2KLuiA0oA/yU8WgD12E6dR9LaVTzkkgoX4FAlkT56XiB42cx1YTNS1uiKdpE/X0Cfdrlm8NXWaaXWzuppLWTa5VRNu7usvemET1qyaBGgwEVrUYgfDdldo10+3F3m4OTxrZRFT9XHxuTRSR5wMpxO5DoTURKF5Uaq9cYLdYZl4rM1VIAvMyvdbKuTNN/q2L4dG9asmg6wxFB3UyRa/lynSWMeampVgWrrcaEZ0/dosZWDlJxbfxjMpy0hR92/7UyrYD6dobTQupDPHcqEBDHfUzu+YlAt1IK+bMwORlhORBhxYeoXFTCHUM/wqZmCYAf5bfvEzbtyixt/szgHQtaBN2P8FvnNEhhW1xIZ4UTSGSAWeWpo1Z6eoBP29w0UMrKQHxnNV0J8hg92Wx2mbvAAICDs4zRBU/3iRGeFaO9mnEMA8rI1fcnh4USfj7OyAtwGMFqtCjmlGghWfclE4wngVcI+cqblKBoDRCNi0MVkbwy39MEiVU1czdezyay2bKbznaOr9tUmF+mCPwcexK7NamjpcgXBEkm75CKyzoCdaGm5TC/4LrqYXKD7Az0jvutdUlFHg8PKnXdQiXjLHUIyXh+QLjpBz8AHPrIpmr5tyKHnGJlJkV2ga6LLz9r5qwLdxwthpOAsb2axRnbu5OuieviERkEJh1W0fy6OcBPZk9fQ0R56hFX5OoNmPzk7DAYdy41xmeprxyq5/HNhJLDkEUOlgMi4R+bG/SwPLBcYv2x0cz7R0R3AsjLiRwJn2vY8CMTGV6d8pr2qXIh35xLBGFptfOPvJZZztZMOMv1VZG3GyNrEELS4+GvdPvZ8BYpIwbMsj8vUj5QTkv+YEPFZCvBbx9TR4UuWi+p5xwzJ7x8ecawlonbhMZ/YXCKCnhWbez2Pz6A0uOx+d2WWLdf1ixaskccR+gmkNoFUwBRSl7u+BoheyjcJYZw4rkmtQc7csfBulCbxM/Ci6zF1XPlO5zkXxXyjdHmOq5RaPwo8mrz4cEKRa8eWrmyTZ5tez0nA8Ly4BW0a0XmkLHsdGl549vDD7dmhi8nsqjTO15qdM2+/vfEZQO7AG9ltBNjenknz9TabBxqVN79DcSJvLKaL+mgcZUEG1LyAeCsFyuWdrke0nAPJ1yU83q/tWpMt7h85WB49zl8RnenusP2KL3Z5zKfI8AUwbu3p3HKxJeXGrt8xuUSBLWlLH1u5qK6n03p90dSIq78Qa53gJ8sUCRT9Oaulv1heqqzHt/OvxQg3p8cUW1oMEhdtPnj51KLji0ekBRi5PppZ2k90meuyFjzPst1c9rqvTU2l+fdQhLzyCkHIymiv8N9CeXHfogOuDlFH+whUcTc7rDNhGzTe2M4l8Xz41QVEny/WKvM8BvCO7vHC/qmpk/v8icCyAaK7Dc+t2jUbhjj/SK4+2t/N9oSd+tjRCy6TkTokpbrOPE8henbDM0pmcP/qJbtV8DgDPE+goTpVKkBoiPGitxXPEfVa1JRqlMTc/QMP1zsFLMrTMmyTtWtONDGCP8xB9uFEADrzHXoAI9a8Tty1rUUeYja7rMeM0mxFqk/B40SjW0pGH/K7eUR0GPppCV0v9mq3qIaigcrRppfPVUBpQ47gbk57/reDBa26KLZMBbvrTaWCEZRk3PKU4HL/oRJ3iDsUQZ9Y3Rm1ZdoGHGtaLMv7xgv1XICXVC1T55SedF2XRIQDOwOucySRrkRMMFBop2w+HPNrCBuXGBiTDv3ddD7W7O/gOvQmJk/mE2naHZbnhnAFfTvxWKAwe64KSvVP1u+6CzDyxfIi1BFfymnhN4W4lWwqmcihE77P1e97RAI2WuOyyXSn0FlR8BbjoTtLjrOd8gGilVI+ME5G7fG4e63URJFr9tHsu0q5uYDVKm3zlNU0P6es5gZQkxmcv4cHEGRf1p+tysACXVLnvSL9guBbg6CMrV+9SUOAhAGNEvxH/1zQVZbvTSJ1CnORwAmyxiA89xxVUPlEQil1l5VbbhB91EqNzJ5Bi8HT9/zzvScUI/Sf5yJdaOfbpXLVNZnhAW3DMpFfarBjZikocgVWCpbMMdZYKqoHLtGkwUoJH4ZQCD5NaK1LvLX/VCdd9M5T/beKXZT+Lj8F/4qg6cf5Pe4kkFDJYL/am0Ig8XFpPp2mel4B5X2IAJemgC3wPxDELriStoivyXP3XKJt4cNUNnJToQNhYBFGLOY4gTU1HunlmFMKAa91KSJpnRbUvccJ9H19JPaBVDQpSNv3G2I4DOeDHR0cIdOhcrP+qzq9DyDEKajvpiUj14+DwnEyuU7nduJE19AOPsbTY8T+pDJzlTtPi2HQSjLPqTmMl+aEO4V+IZqLC9LleWGBN6Wco4YeufDP2u7NkrA31pHJzizdJKr7jhhSLJMGlM10ir5dpG1PeQJPbenubratBzPUGzQIXOlUT8+G7RTC3p6+bvo9sRxvuAA8XwrYsaLrAXJmh10qqVF6Vqm3wCR4fTXAaSrpFgLcEiyuALQym6N2LSua+shpQiEHL9akkHM01FEeFDw6OnIcsuPp7OoIn+kId+LFF1gRXFb7O29ouEj81/LkaXrwbz/Fizr0aZ8VzyTDIgM04xK+ReArUTuU9fJHK5VWuotAYZ3ztPCEh7ZNwVrT1WJmMoPqCy+wCqCbb+4dtjuzApdIgP7lL2MF4ZumZ3oqgXGVXuLR+7GIWFNF7Ic+DLwyNBgzgIevIR5xloa5D2/dApx/iRNy/SxLZ3n4NfF7bCCQdbsxs1ZmIh2XnzPsLMcLPwTcv62k5AE0jnPlihdJ9xiqm8NWLlfHEUkkhQ+guBhlBUE/EOIQKNNpFUBNp7M8IH5xVRcENnRTPaciAEDqkoLO83phiXvqoJ8BYoOGANyQkj58Az+R1gF0oyfDzzJcvBOBYARZ1BXqlm/3JyJhw8eyIKZ7EPkjAuohf1jWZ4QjSf/th8lMb2x6eGSqJwKlEcI79IArAT4r90hINC35R2QPfQ++x1rhNm5c/2mvpy15ojaGbdNyHcVNMeNqSabJx5AlzKMpt0yiZdJX8q6zOdB09VfX4vCNk93ya2eO1M7JGztYLBj7KdL4bNrD2rRCkVYhGEE/RV3Rgdv9yXNMO+G/Xe4OdfHkRAR+0EVhpsegOExP8MDwHQSFohGkVLCX+Rrxk+xgUm29sBmVq7kOyOaUqIrj8loyn++qvmCy20ln1CArY1QX0slIbv55B2xDiDVCGVXHEkZLhYTTPo5Q6+qC2V9jHX2VOcBcSPSao4fiXmVcpeJGMUp0P6Rb5Vw1j7ZcNdUlvnZBlxcCE8x2NmCmFSOrNt08zXQyCrzA05/wZqn63AZ+w0gywOKeYVaQgc0mIY+dazb2luwM7rKccKIzwgOHArV6QuswoacPJAmxpX7TQkF+bKA7XhCx7HSwLPbvneS12Gi0OyFPBvmwaCqaWOTzQxgrb/cBYgWcQzzLPSIuO581nGx9XcQXdSIDPIDNFsfDl24CBEjisiy3ZoPYw/v9+ajCcrxaXiOCImoK3zmFJB4I1vYiB75P7ESFsQnWgj7JzYU0W4UmtuPloNPkjNmBZLowLvqSJwZmCgPZRD+6c3GhPzNqIrQ2XSiks32on3F9wRPos3DKy1rw1j+Vort9LrMg1UluvpmDLsjrGCHBtgTU+I/GfzhwKdIErvF7WuhxySUgmxZd2SdQCB5Hn2UCTJLA2GHLbe/RPGXeoZ5MT0V19eb3hrcdigqlTiU2ks6+EMryARSyNWWjoqHbazUtkOjlkeXkAoGYBoYTkXhecuNpL+EJ9B1XgzJcT7FXpaK3ylVqrypo0b2DbW7BSrNuBeSgKc0VtLhfGbdoBTLgfj/9tN2ua2m85H5TzF0/OwSfm/0VE53bOQ4RL1RVcpq8PSNUSDzPU1K/HxYG5C5QNr+9pzTqZ1Hi7YpRGS8BsBg7U2v9LEAJBvxKEDOIRsvwfxP//CpmI8HhmtXa/Kh1rWrUXpXHlG6HrF1vGB0w45Ux0k87AaqS8YIcQd09gG7tysOqWC7l35abQtd4yU7KyEpYOZMt6I6m1etDRn92YkeqEk0ZCNWhj2RhbXjfIFE/PkKUw2VUFO+GK3bXWfS/mOY+bVstocZvgOftUEFtfFvdovHwM0lL54+aLG6mSv3s8svJOEdBuPlmoHh87+wP0T8gixkkeMw74PKBZha3Jwq9NKVWNUCr7IK0512W+8UOxJ48ffoywA7vZ0+TI6xqBF5ydBohQ1PxZadPn5QQjsVFjj956vQViBds6iE7ferUZUDLTLDI0d9xIjZFnofLTp2+lAMvZv8CniCSoI+ZIOshP7d0erjQ52ACZa3cTqjyvKMlqtA57bqQZvSWsE4g2jLftFyLVBMMEhWJmSsVqX6wCCg5lkgOFj5wxd5liAXQ/JFCSb3SZlcGkocf37hcRzgSheW9M4HTg5ZmxNBjj6MOUtTQ+BJEexe/regT0+vAGZpZuvXo5vXbYgBBpyfOrhbXvyOcvPF8K7rO4VBPD/qYrm7p3LVx697OV34BgcaPdhzLNCIIa/ZVmeWu74fY4mWS37qWVrP5qI3V9rC+qlRHcNmxO8O2S2oua8LjSO2iHV2nDDide9shYvctWcIHjq4uKXdFySYvyKJxhDu5q9zhpMKhpC4MGGKsM5GWeY41tnUVNgvAghSQLc8/W1+uDw5DcLdk9GcyDsfJS+/bdYhUR4STybBjsmWnunZbh6X4DA4h4ehA/1Kh8cPGvwDQtaSebRyHLxKet4I5j6zlttWLp5OAqU5GJ9YuyKNlwu0wQdPyn++JoJG6+bGYzrRguUYvmC0XLZk6JYGpFy6aRvzk7v1HZfatb+VWrV0R4mTd4ji7cvLIcrZ0fiF+VxqXVn7YAs5anQvQ+Ewyh8wLxW9FQ43u3kwlk2d9SHo0hGD/gSHEFU4c0nmkrVuzROV4LAUSq6tsr8LuUX3FVIlPd/nG3IhNft21CjvanWr8KNlpO0lJzIUxgDzJe1T9BB5HW4gkCTFZgolUVFdFRDAB5XaFDbcgx3xeA2wf7+0bmcz3jTZmvXTzCwjXbBRH+rsnxnrzk/CfPeO0tf4TmTBQL+n8H7vqI/1d9VFvHR5EcdRLJESBGSWjDw/2ZmyWjk4teJdTt6VFXhBcZu6xgnI7NbpWxQTXFNX5Mi9Aemggk+lJpqSD1BU01KlmMr3J1Inysi+VfNsiPpnH27fcFstPTvnZUid80T82GgJUq/FT11PPkMSOjbnni67dMblxhpcm0hvWJa0H7218xjd10XkJCbZMND2OOXjR9TjyrvV8djdw4dXuX3j+1V5fZtPsK+wlJBtoMbOVcPl1ywwREQxQTt2sf5yjtSI1wNv8Pt/OT57j9/RaO7+2BLmc5yZrxdbIQD3o+z+tbQo/+rWwlN/yA6ewtvov/wAxRDl+JtqV2DdTGua7MvV6posfLq3dLKxeGlDqZ74nDV3SW1+0ZXjLSFkQIO6ycI6/97qenl1r36dz3Bzn35WLSuLPAITioNz4tjxYFACIJAB5zdoaB8HBtJ18876PbBrNDCQ++5nmXtxN9mI3M8LMEBqYGC318gxuVR7RCMq5NyS/IE2eWP211ibMXnafXf/gxctEcfHRs+27Ny1ZAv6Lt4RlI7HqUJCDV9zNxl91YnjgujFBGHvNDiP9K/tXxhftzI7uCZXHrvO2FsOA57snFJFp6U9/2Fm/9vWd9PD8OX3z/5/FoG9GGD6F3ur+WhU9z34C0Wo7h4YZbrZZmJ6amuYseAd6B9pV5CFE/uNGEdq2jf5+PYrBz9Gedgw7SPSQ9fA4ii1aRNt/Cr+Cb6AX3cpakbaDt3zUdKh5xAm3x7oj8orVQRO4YsH2yejFQqTDEDq7QmHg6iM259qmJ8mdNpI7+VuxfTfYTSNmgkA3wMmeqBUcGQYwg6tXyBF0dawvsHgJhENdnYJO73AB/AK+TTBFq1hl1rNua+1CfmKF0RPbTZhKDK/gSkpw75ilj28rAVKWopmJgsSRQtBlrO+CJZyEeBHlSm6FPNKYX6DnPMg8e75d6dSsHcbS4iAaJOExCe1P9QkwzftI1EVnEJRQCA29WjuGP6Qdw+gfrx67th3qovbC/3dtO/Tnf8C2uxVm4Wfoa4TKOsgcLT/v1Svl23gi7H3h6fNmKot0IuZG9PL9845hVrbhWq4LOT0Rvdg7/6Sd9fs+Jvn6GfaEN7ZYpj4/r36CarsIQEknKuGZyvyEehYEld2RSQjsmb9zY4FVhsF3oOeZoDujaGhu1Upuhq0tpJKUvplaNUixyAvEgIUX2UiE1TCcxJzaONDYj0UMcBpzD9gbpd4rjl36o0vRJxAW2TMnBJo3xWP0VlZqrMs9FFj97U8CMNjNqp0g8sEi/vYq4ZB9vWnHP6/+sa1kutHjTpcbviqplqMuZfI/USKsS/rfd2lRueG9YdnVKRuzu5OoXrs/HNizUeq4PpJJR67vkBrX1b9Yr38R6Wt2gu+uU92DN51HlMcXiVq55RRrP3rD4v4Hk4KQfLB/8WXf/kY6Tf55UhGdIfjporUG89eBmCotP7uxMFjo+Qehw7h0jyqcBz/EnA/CNi9x+IdwnmLc8ieG1l9YvRqtXF3oJ2uD0R7exwFBpnjm3dj1AX7j6+jrX4M6rRQl438LvZtI5bSrT3RmQo7gYqpWTlJ3esaziXJJwfWwOQQjKRcrKQvn8q6Lm36StTkjiheqErpBQIkEcKrZqJpGInGsDjP1euOzT4tQB6zgmAzPKlFyAHUR4K//GuC9PYAlaQRzHLsS/9XnUinyb5b5WwXL0qjEIgDEkgMZ/63Srll4H9NxNuo9R4UCrry6JqGvXieU6h5Rim1meDVoPi25d2guHz6ZTw9VPN9JsRU0STU3SrpVEkMxIfiQRbwkniOVuCZRI9H4RIOkR/HZSx+EDdMPASLzXgHLIUZxBNr6zZ2X7Tx1kcBycP8dt96P9+T7NNrib7zCssBKfPrgTXtXfxhhPcQhV2cAXti6SWBvv5nQP1x7NQtIzPVt84EHPaH8T7o+3XSrIoo+oIfC4x6aQoaA71I8XdNW6n2rmtyiPaa4ndOrL49gQRnaG00t2s4qBWW9yY0s5uB2n9143PHdDtziEc5cTxpQ3+TakwcEFAtfG5c3jQZEQXKAP7VWfNvDbjzqbeLaUzw4kiAS8FoY7iZ7c5pWJ4/29pgMnpfLRzHs2rHzU0wpcl2JSEDOltvRzFInUeLSpqvjoH3mMx8mpQm+21dXKqvJl+9V540fIzXURxzkcRmE6gSAHO9JERCPgTLRf7J/QoFj9Vedfu/Xoq9IrByfdE29LP9a8hVbePayRHMMLITd/bgk4tVaN/nK/IRZvUbB9TZN23E851unq4Ju9ECXfyqDLsiKqOCrhX4J0KCh2yzMzQxhebAPIZD6hatZWVRkQQfuyp6uHrJO7kQ6/rZKfZ+ya9epS/nskUFDUL78Zbck4SRwwe0rs8JSFSHO8MnUPVx7YMIUhErF3Q0lMk+FcNKdZJ4TMTJPGooh+38uk9x10cwvjZpfv0b3wTxHCi+0XPQei002uUdTUd0OaapTyzzitaF8mFukLj7a1Tezeetltd0KYKXa1RfOD2mkmcBZR2kgG1oBrjMmiI0HRSHWyYGCyTX4FsIYAiWFwzyAkJF2+w6tu2RJRLGiifFDnM/2z6wtzmQEAB5zSikAGKNvAQ2g+qTpG3Z3FTo/9anOQtfuG6Yln8kimoHI/IZ6cNraW8XNQPxNqcR4rey1r25lr222jsIK5hX0SZdXaQiaXscmfbSf08BbgkkR+Mpg1gp2pDeFVEmb92AgeHH5kORb1HP5phDPaZogCu1nA/3/+tlDiLkIVqAymYP33LjuuIaoFH/VPEwvuOjQkblztEF3MWMZHenNll/yq3pHn4QBInZuAJTXa3i8c9Cd/GZLYgOK6rOWdykqaKXM61z/f9Kz7qgvth8+iz7r8pIRi/LsZtqqa75Wm/urnXcp8E4zr8LTQfm2PtOLmn61arnO1qr0EQc3xNMhQ/BHeuIcCCAhM9XR70cmksgZF++JdqTTHdGeDh50E5DklznJ75c42S8BAg4JyEJ8Rw9cl45ZKR6ZAejAMXEqlcj0CHpqSozhDgiYmWrGDKCxGSGQPn7yRUsUrRdPHlcNzSf6BZuf4gKmVwFedee5lLmDrMgVW8pB1LRO4phygUp5wTwts9Z+aInnL6T8ov30G0rNAm3KGWWP05apJG7fQTDJLdqYIm2mVwbf9kaVvXukp7JR0ecXg1yIZ/UminSWD/U7sWy6gzf6X33d4DvSkKn2xFiENNttsDWE2FhvJJrJxCKvbeiJxOClaAZxWEIqQojvKyUT6R4hkCz18eRctchCZMxmU50iONFsMTON0dGUpblhrsRInf4qMZJw416alRpNt5ri7sLEW21U3q5kgP2i+9SmDFMh8naoK2FrLD7b05s6z3bl3E94gpfPfb7wCVDd5zijeyHDpGAVKjHWXFVe0NuSqOXWcfXi/8qXsfAFJIvsGItvYf09LCoVU7JqNG7g9RDGSIWPCmkFGDjzTwhmf4D+jkaT8Rx5tQTunLO15oU9HjEN1ZIDeVMNFDpNVdNVFmkf+pDjoDujhkr2tq4YPlXQO4OG6lNY5APJNDQKd//sr9FNhNvsZpggUdJdly2xQ7197GHQFGjKg5cO91oZWS219/c8Cm+G6eg/Cmqwtv4IjVxqsiqCKiLWnl7hM7D+3FfS0vDqzuABpBQCGDTbjPs5IcBbWDCCSzpVqTNe8Y+b4WpvxsR1JOX7kstKxPfgBwDs4zowhzHr52cW3QFY7GWtHUZg9PJegxMUCMYHAjxiRT2dH+WRP1IMZv+kFgkRPzP3K96ORE0VOr7h7u5f4zjZ3YuYBwkOinTXedXsCVRs6Tku1tPNzZhv1zK2o+MtXSI4z2PuXW8/kmZ+lKCtb1E0O04cudqW59dqpTj9FjSO9eMVa/um0qIcnLQtjDha3K/ykQ1cVr56yokOKvFUcamMkHxwsZ/nsbrrLh9KDZzPfr56bEA+SKWebDoSAjW63ODSAaNY8HeXOor5/dusoT2VjkSHXwABr16ldpRI+pCdUUDPFlgtoPUNByPoMwBiIToY5lgQOEXGCLFmmIux0BOIDYrOiqLq19TqMtKqB1m8f4UYHSuuCEDjK1VQipbNsxziVL8aRfpoKOA3g3Kkv54P+SROnc6qKqZRaYwACZFwLO4neCiZlirpdtDJ0icuzTZmf+Zy32lmDcPAPBr0I77pzSE4q2MXuS3U8hnelT81d5fMqW5O2SVLgR7DPlaeCCBBL/dtiWAJgLPs0Y0gYIJBVtKQWJ+aGsj0GVPACchECJMYu+0P6LWt6SVmKGhFM8rBqEiwM6GEkuGl62e2RfRKltMkFIkuAQFhQKxqCIHObDS5uooQRFiBQ07EFxT7F60aenpJdF22p3fvXcqlFySolFk+W0D/AN8k0nQPw3S6OfZto75Z97lgo+XLTSe5x+maLZTOPOHRpkHSBRernj085FIu3N3pICR2Lu8MBHzLLz+Ry0b3BAXfeLeiB8W6CnE+dHCpigOY5aRsFYnrL96yY2pnQOBD9xwZGH2fk8DLEBZE/p0ZMwh8Znl6eiw2tSc5mOYvjGeDicoyGSN9IyYydF0gP3Doz1Tk4xSqAd9W4lT1aK23MhBOZkLnXV4tLGr8xUhMETZgkIqp8DKCiZ7Z/8LD6MvM3cwTDOM9MdC0yR86IzfQVqt60Rb6p5nzSCfrVch4dgk5p4irtVQQuv7F+VtTEEw3R5D0d7mqlyToegkzHoF5WBbmeBrJkIO8uxBu7mwz3yM3lhA5XgIWsAW8jYMlXRDJ7CV/RzghBzt8OretI4t4toflEWYlxILaUVg1unU4lF9xOxfnbZarbhf4U3JSEIFPRqO+rC8/FE9IQzMyaEdAqIcGsiu7HZYVZZ/GoXidM+JbEpwJ+46owCq52DV8UkAm2FgTuLyIWW443h0Ob77yfXa+p8PnDyaiiaG39Cd8HEJcwETIp1i9iVim1F9dvTjkT/CA8IF3sgLHTnIBOHGS60w6IUvm1GgaKYuH2K8K7NCweN2kY2WtKEg+QcEIOEDw9ksErUcZX90LGAAHUMnVCWfRdcT/eBXDNC148mFL5ZpHfs2Ioss3m+zQQzT1olkC7+LWaXls6Sc7n3m2eacbL/Du2n4EGP0BGWMl58giCzjLQgEUk8vLEm9JHN3YGQ6H8qIAEm9LgsBixPIhJK3zYYmzZY5H5Ed84zuAOAFLyS4RId8Sbs1KTPmjvyKjSJAlfGtIRkjEqzWM7vClFP90gv0JKp0nIdBz0YGY3kEwxKdYJPsDcrqnQ4/5LTKQYd0iCRM1JV6MBRICDkwnuH9NdA2EVCOWifERdkAEhIMmhzQsWV0JJWj7nOqaAEI8Hq2qHUVP4/5PdhzxNLMb3AgdTdvgKYW2S8fdzW+7nJAsad6yGvsb+y+0edk2WJ4zr9ju822/wuR4HLRlPjiaDcDjECY6ggA7Lw36AGFj85UO69NY58rNOovAF9y0NC8DGd03O4mGiE09QNbW0z/ocFRfd7z1bD/UNI91eoB1CkZKETnWWH+tBQgwi3mJ58JXb9BZTlR8+f11GVTDpqVN+/Jwt+q3eNL59DqCYBYBy7KB9SeDLMdbflXLrFAbTzaetG04H85XV2RcDWaa4GQC8RQqwuxTnS03V7EFlenjPN6YyblBCdpr2oY/gceDqZrNKiiLeS542RYDABDiMIe2XBbkBMtFUDRMEHjA/p2hgpadIX0UjiJp49UWLyKew5TRg3X1RoNzUdVhgejiqo6GiF7V1+RglKzd9DP6HWwy6CabaaoPLuA+ipN9UzIS7aCAQa7vz/so+vQNV4dxQBZY69r1Bsut8bBB8LCLD6IA23hX40mKEA99wZPrbVldd5p05JtUQzG0jKCrRRpOquYOWK2dC09nIy8Yb5HO+2HzB4KpiYBLXOdC4Zkdr6VA1CYugtkV64O+c+P1LOTJUEw3foGGMMOsmE+VFL2voUlBd14f8ZXWKs0j2TeFRFkS2YXUunBRvA5vWkdw3Vw6l5D/vrUSjqwtoOCPNJ74CF2q1+2AXqDN7rrVyW7/e2aMTLMJc8ZVE22nPSsmY9lWc0LuVDxWS+fjqQ/wYSnm23V56KLIbV9ctvrJnm5B13ie/aczdyBgMyov8ayNkJAqyUFl2aIDawPo76OiJC/Be+zTH5iYuSebEVWfjuHzKIlZHOzcuiJMvsHErOybXL13hcFJEp8aUZgmxBPo28wIOSGxWWhbKkBiJTVPwnoKy9zzyD2Lec7TQlcCf4mHM5PvYAVBC4gCDOyCcsebwounYuMssnnNv/bwkhmeN+RSSkDIZskE1Az8S8E5887bAOuaIgvArgMpfCyqZkUecWHEa6MprPP+VeevnvTJLDYpGwqv8LhHkkD8cYrjYJMCmFK+XGkSkktCHoQU41TdaDumSjT3mwqu3HRAFQT8L+iKs6B0+uB6VRD9vnlr0N0joLdoBsHpmR9SnOa2Lj8bTkcln2IsWAgPxx7EBMc1U4A2QQPPCILTjhJRMD1wPZPMBbrqMevnePSlB2VW1HRRaPz1rsY3Whj2+UVB2XjwtSjW7UF08DoBGSrBcOP36xq/Ch8FD8WS4pPOhuHl8/nzKMEwRbD1Rlm0kM5kLDqLackK+OCKN86tH0IIOCJARfiAbT/wRtk23G/bTW75IoG3TGVsU4PO/EFBm6IqqdvC9k1u47X1Fb5x6A/K3ce7q9XuNPyGXV0PGd1j55bAuKsz10sT2uaw+heIp/78IFF/3yhO248nLHlTu7bWBY+9ccwe5grrAiqvbayl0t1VOJbpQ28UvUPZcNIxekdxLIpRrxex+j+uNpOa02bcoGad82y11iPim1qM1QgiDRBwmMf3raTs2eIELKT7JmX4YFODATZIjSxMPisf1jnEi2KktqIswpzuBOH2aCmnaTJmPCu9wLvBMXewLY0t8lRvmtyfszifKK68j4zKAQIFw8+ag4nV5bWIKPK88fBKd0hOYMmY7uqQmVGaTzZ1Ek+TJXPyFOI4Nl3se2rIB+CD8mQfGUvFBh1r+UOYWgkaapgNy9U7xPKKWsQnAG88uAaxCFN6YgHEOdnuzSpY9R7owJs+RBHnOR9dZNbmMnr/A37CKsAiCT+0XBR9nIfC3imZzHirAw5CbJDjqVqM1jxo8C7+lldFEC2bYZA3GvoWmdcMGe/cM+POheQ/OG38b39wFT5/Dsw8/IdWaHL2b8hMMnT/MG2fAoXXA5ueeC4Zh16jl+bPw/t4qgZ8QtRtjpUT3TKscJOJG480HvV1V8IIsTwe6fPDMbiQXv544zmxNyVzvM1porT6rpGxOCb/WRd+rIISrCgCr9cGFMCCZSigJCI+AIQhlpbdJ7eCNDSuyxIfuGNFh58XBVFiQ3fuJnOJE738CSIR6gzDpfM6gczdNjoveEJAD2SaETpXBLS3V9OicieTps8Kg78MKnI+hXE8KwOLhIAlUpU9V++SNR4QTljae2d4VeNWvZDACHhN7hofACT+hYPepPaNsly5W22EH2NBDooQgyTGyZSJWB/KsqxfEvf/uc/3jV1+ls0iH4vMVI4maopBlxeQ9ai769GmKxfMth5HJ9Cm6xZVk7/kuI7c5OE8uTTlkGVYIXcnFITIelNUVz52oUUxHb/7aDEriRpn85yc6hUbzzWecxy6PL7+EcSzCIUr3b7Go41HycWAH5SBmk7QjPjA7jtDrERwzmeOFicDvCTr40OS+xYckDNRwAjAF0mQVXPXo+6uxzoysbpAEa0H5gKKLsLdj49NF3CTkuiyeGHJpo1APpZO/rqbFz4KGGHMcjym68FyfcUe1VuPhzZaMnCY42We/AXZ2viQtzBqT3UIkOhoIgtobknRO4FHlD1CUGz8S4PoHpmo7S4P5vzL7s1FscYLGAu8hqO5e5f5OewulN3RBUmIiSaSWM64rRGeW2oGMQNk3daijPvWFQaqHs8WUnP7gyzefK8n/dfmSXOswdPBCxzh/SxtArqOnpslRbbXcZxmNTZQVuAHiq1bIjlJS6Jv55+aCGkY9j7aLUi0BxcJWmIjJVrBCOf2Ebof3Qs8ZhFQI1pCf7rTRqfG+pQzf8r1LFI7p9GG0T6UQkjQiov8/lgiFdYEstSxJycFjuVkASB9604/T9oDA8moLEeTAwHaw7/jtjRgwJjDLMeSA5h8sr/xUjonscRdZFWLYcor441XCBXM0rxjz28ZR/OCxrm2PVKb51VPzyttteeMEWFe8Nlpbu4WceiwncUsgQr2vMCyPOIVa39EA9Di2fGgQs5Z9sV9giHse7HV6vO1217Yw2/pTLNsLKMosV6yt0IKOoNYJMNHlyHM2jonolJQuqPxX3dIlpFAIqfbLEbLn5Pl55bP64CS85uXPqv9WXaA5btSypmrlWiNl/ocBd1GsAKz/4VucCO+2ZbGTeaZahpmAs94PIsgN5O2SEsNAhonir7OAmzvzspKUA0CarzEiZpPZB96EP7ygftT+eUr0Fs1HbPhzYf3rA1bpiqduYT8iIWVsPJ/YOWOJ99NV2R89j/RA+hLTIVZ5VpUjps66z00r5XNN+/5e61VaUf/sel5ZF19Op1Pe+1wUWXcARUkvGxqslvlRNVfTDhJ1ji4xt8tHj6td23YdANvXjxaUcLb1y8+b2og5A8J3BSEF+V0MWBa8K2uHijLhZ76VLeq+pzUQIctqUu2CeC/7kRx8bvP26UQClqWyh+dGW88sWTA6ZroNDu2O4jw9sSmTa4uBahO8JqhWCXbKNV8f4ubsabzQqpZJkOnsgEhHskAb/v7v3dM7uUfGyynNwZoYcwHvvlN1oDzOJHlEQez4OZyS4Ez1xi8Vx/DIDcTpjD7HAqgBjNKqHs3xWXLpepizUMZ2dYZyuY8nNaauSXNEi1KulWhHUgh/DGI5x7vV3ad2+UKIXV4XDVlxAESqt1jq4ZGuxKYRwiziBaWC4opy0gI9iasRGTfVL7AchwnDDi9XSOczHIoX9h8Q6wzW5FlFgCxAPkCavg1PiH4ORaxA2+96o73ZhwZgaKxJq+wusonEogNDt550YHLy/0Vjf4XuM6s5qtv3rO3duouYM487/Qmo1uNlwN9DuIwoJP3MIipzb6Mb0PPMDoTIfjPEb+J4Ib+hAyZNMrX4jhfNGojSMZjMtq1+zMcJ1dlnvvMrof8gxcsAvgnjP5E4Xnlfe9rfFDgWJYTYMv7ytHtn7wSw9sFKh/3zX4APY5WMcOuP6lWLFabL4TzKNDF4tyVdvm707zi2d37PnUrZEeiF7GGffJyIaSsvtgUf/EKOXvlF6KxaypuhS87Sc4uvNo58lhM+d0dn1bAq4ACYHHw8LIOFXnnSO2o7wspmG2qKqz/ln3dbvapB2XL1luQVdOs0PIkobuD5q40k3Hoh145zR2/3Ll0y1YfQr4tu2+WLj5GaPPkZUJIXUUh/gU5+8UcxKdPOmgFYv3rt5wOmLbvss07JQCJDIldoI8sJUB7522gKVm70DIv4Q4IMyrB6fy6hyvIroBlsIzg4qV2NYOnpcTwBAozPa623a4wax7MlY24e69dlbbZezp/s9aMfiHJDMrQLEYjX8hB82vNvHcpOU893ZxJhkK88B1EzP+bbx+a/ww15v/Np6etYGLwCnzb9ScKxWrLA0H2stD0t7nyzbZ43o3IpPmWI4hs8LmYjCvgchU3HgAbLegf0yTB6rBhMpG4krdjFi8Z/SMWiufi6HVbocMKJuFPb073SThjdiiOovRgJWZmQE33nLD1UEiXrn6dxkDYoTYNmU0Dvkf2bphi1SkufAKJUc6ledMugoydg5cf2Baw9k9Mncr9eOtbN295K3wHoasPnn+JH42NHX2gGmx8961bt751KwPtu57tnq+616vvQnG8dnY1/j+4wuTmuKvJuIpAAWXa0f9mmh5DD/FnfDqc+TEWdZ2DY0eBGGCCzQtvC8gcBBcfhOqdFivjSlDjMPx+NRaBg699NRyxBYkVLpBZyN74GZR4JSvI7nsbSEy8Dp8nPpAVdHzHsxcsL6jfzjcuWpbQTHFpPRCsWf/s5DKZuTzH1qtLQP/A+at2p7oyuuhEpPOX6NX6Cs3UeZCDfv9l2xNBfnRjYXD1xQYv6LsXs8KeoSm5uGisKNmOTHtH4fO3H4jI/AhGgfMdjl+yxYdxPo/Y1R1xcW3S2L8iMtMxs0OBq/LihrHJ7X7U7NfJYDondhy+wHQRO2lTkz85bUuoHXNqzmVOD+PKraLjec+g7WyLLm9+tPtL+Z73HgkI205k4sunVuiA/Decd8HGQo93aWWdXCr04EvWVgNyT37DtAAVbdlSf6C0JiCdiUvB4U0yWpsp6OaRLbRpJTynXRUUD4WEQm2P6MSlLSdIGL55Ya/grJ8YfqG+S0L++CYR1X1rfLjSZT+FZgYEa1/BxvqF9Op6BmguO3oafZVqXJ2mpwnkapRleBtXcN3HPiRgJ0WfK4ie8p95NgAIISygYR5xkgYKC0vvnD7zn6BosqkJgoYRx3GijO7CoIgIUfsD1j++svEDkBQkMgsq8Jk/UHuPmAdmRXiG9FWZOO1Nkd80hEp1zjOg3CX5pkz5Joi2oTwFHOJYkQ0qCMkGuZ8T5MgNv8uZYCOB5TAy5UZvo0cOOs3IGXoB7WI6yP293cN4hhbY3mKDjxX4PT4dHPAjya8JEiQwyzuyzDV+UztY6Q4gMaBrPOpHPiQhQTrzDUE1RQ4ax168YEMHavpm/8sdJUy1MPf1YA5UjZYzi3EV/GnQIxIolXuWsrLs8Cx2Gv+NxJgooQrw4NOlM40LwLidFU1V6D/zP0gUpbkZfBadRyNKdjpPgtF0U81ZyHRHmh3Iy/+jTKK5UYWTXTKwELli8TLjmo+EyKHcJSHg1x2funr5sABID381PnizD8Ge/tiWTYD8xwX/2q+GTe4vvsAPTEcHOmv8F/6Ca86NjL+LViozhBeYFi8IHn+n2lqFonTuZSbtF1Wgu93x7Q//9EMO+QbFoBas9PDBK1fS0dEub3i8bsf29XODs5Y7+pJlg97gXqYhuhJ9mXrp3ZQ4yx2BDDE/2OOp79SkqOSaWeLen/RceOcbuQ5O8pXjBKNmWUW+ZYOpcE+XiPOJeNf8Jl84Obyiv8dt6BntBmN5sLTrcz+s8pWNAaU66LeSXd3ty4umksO4UvSRq55X8wQeh9sZclJr50POcY6Ku+Usc34qkcVvlbT9SwPSQCU9OREf6J/ZIqqScnRrqUjPC4WZLcKJaHDXrRKKmZWSET24IhTWlN13e2eHVjQp/BmmgZYxvU27al6mFh3aRVD7SRVzb8bKTUX1pauBG0zIctLmRUtl+87r9tnJfg4sKSz5I2iIALc2wJV2jifjie5VKgaVZe1d+b7sovHtA5xayeuO4nkHz+AJ+CXhrxuac69VW+lUcZHyzfb8myy2IFA+avrYcq00iqujqJSigKcIRgTfoWWcD0aWc71sXI5qYd2x1cp6jRNVUZ0Y6OxdulHoYTNywhezohppwIgTYw7PO4nuQm14OgmHbfvM4G+jRig+vR34Ao5jizd4jRPQWE8XCoU0efKAY1bI9ZAQJNfZ0R7s+HXpFz0iBHyG6lbk/CueQNeR1aww0wSzb3RFhdd7WdMfXmrldV7ndPCcJPDOs77sydVvkmQGKqGLnVSWLwR0XtZec05NgU3Og25s7g30rrrdcc65cHMkXDtvTWcuVdrgQwgEjWW1C9fFI9XdE4sygrZ0IKUolqzvWRQLl3et6sqlX9WvtNft179eFzWk9q87yKuVXk0tpNkoG2KVuHshE+UgH4/6Ohq/GOyIVhbxSqXHp83vI9don1wioBhhly5/SDBgMZ2uxlq021Z9O/IbZ9s1VJCec5OWqk5zoeew5jFWHCdsWuk6eXl/f6H/8pNdiqRrLEc+Er7ppnisI37TTc6ZVW6fu+/hZTba133ZKdrLJzs33RTKpEOkA7KCIUmJbwmLYnhLXJE01QBgkYiOmxxnHjfOfN1tP+wDhCRnK+kRChrHTZYlbQz23hGG/tp9Rxi1R16P4OA1ibCv876wxqKFCbBnf38Y8r0q9xU39/1vGD/x6gy0IYmzCyAhJ6/e5HOAgIx5RGFpwxV+zT6Gz8imzSMQsCByhvLDeXXmc9uVQcQCHcEd6HkmRbWezvlvaWPmzBQfR0NKjg105RcANO+1bYaKTrHuS9vQoqPXXHs4mQINJjnhzE5Hkzne7OjsKZbHOmCZbddUw32TmyHz0Afuq9xQqjQ2Phjw3/hWXmz8SrIkHYNqBJU2hJ8kq9bf4pKdnUw+t+Cta8JrgLuekBN1aMGZTwjSgrewBV4DUjigqRL3+JvAEqTI/Jey/XAhLFOzd7MT6BjTQSUr6xUV516NL15DrHPORvR9XZP4t7y18U1ekiS0n8WsZuhq438aP4EIRMii0va3vmVeuxqc174yZOBNmz/ISirpBhsBDNUU+Uff/tg7OPH1mxbC39Lr+lG2xaCa6GQEPnWuxj2aIXIUksZPGv+j6rrGyxzapkiScub9nADbztl8WtdUkXvHY29/lJeCqsHixsclim2p8XGMz9Xm+kveT2hhJd2/0BLYwoKslVw7stt8KS46owV5e9uaa4K+ie9meUONclL/gcaPqkcdUZJE566vPdsbFzi00lDl2JEl4wkOgqs+HJOVYGp59XSIQyBSGERA0TVT/aOpNhzU2jSarD2O5hygbNvg9Ix38tmra1FOiPc++7W7zWD+iycbvwpxUdXwwAqMbpnYZqNkyEiN9k+tiSLQAnHAkdHnU0GlCRIyOgpLjjDz3kbY73m2RlG1+FrXlmO3vVkpz5u199O3gpXpG44+Q/jFsx8TLWPphbbGG3fukD72LGVn/7Y1sfGWdHKhH4s19s/k+hOxTVdo4HmveP3AiiWe7wrHCBx9rm1Ihjun6yqfa3ur/uxZ/4WPRxXwbd10KvSJDzgG99GF4HyU+qgAaXfs6y7E+cu2rNXZOR8V5ihAhbgHkOfnafOIflfn+GOwEsy1eax7/Y2iqWLbHB+MZrsGh0aiMExa4OgbwVwjJPYJXq85yGME8j5m+I/E45zYoJ3fEE4dKi6GYdiy0HNvGLu/v9OVGyqRbAyaZ9Ms/2OsGiA4dlu8VyY3nX8t198fMHoaNed+JDgWj+63rOXLNd0WYfly5w3ZQo2fB/zLlnImMrhlS5WgJdGkleXLQZrD/bhbsTdIPZp5PbhQgnApPXU2MXx9QADRx/F2R763XJ2Iw0bbbnyu8QK6wbbOjDo8b8XzvZVqPQ5byYUNYdaEERghWNbIxODMd3wBW6QymH5TOGaa1Btl8l7+g57qnEeWzXiEM2+9Zxx0feOFxgu2zXNtKGhc4swOm7AhFraSse2aoaI8UHojMYkHDF58WbStOdkPzFIy+CfIalpkVLoYOEDXK+UOSM701M2aEZQBcRoHaUgZrJqToSGGww7YYLN+FpHb/gM5Y4H17gfu/Qw3sulB7d60RE5S6E3ElUEA/FSAB9ejAb9Gi8LhM/9g8HzAvaEVPvNbhuHcd+6PoysZh4kzXURDqnicbl5Bf0sb7dQz5EQA+myXFL1AoKa9gCCxlJ36zBNWSXng/TqA/uEHAx0XbHlfGMFedO2jCsBlfsRBErQjEx8kXhj5oWvhADR+yAH67fu+qkHw/fcruU7lvg8HUPemv7FHIak8dA0PHYj04R9cM3DmHkgJb3rABxGh8QP6ipV5UKeY7nNA7MXPBCHFJL2g7lmhRJ9R33fXB7eWJSArXQXzAwqcuRGUs8E2dctbTi45yDeeeNtNgnDjAvylCV8ZY5a8PjTgAuPGDbm8xyOrNeKrI/A5TjNdHOebT9WvnR3SZeuuunBteGD06N803nZM92Vmlt0NgxwMjhw9elQIZTLK+4/+dWTdkSvXy2eDHpJjgwE0OHrkbx456kSX7rx6x9K7vy6Qux05OrRo9/mL7MbHjv41GxgYExbgOMuUzj0rbzJE/jqMC30zTJY7+xwq645c8GBnZubfX7amG0ME2kOPZAjkPu6sIPcNbF1JIX353/3jjSEC3LaVS59dbpvCQjrIMAPnoIOyV4pBQQPX3+2ZymeH73PPPPTIBz/80KMfbDxfnqrvr9e6zwZY7IFnPvzI/X/6IcDjpaGJ6UJ3XfCyqxh0rfucF6ZEHItzz/uLY68cm/49Pyh7j/j7CfgQZ7CvvIIkB91pm9yDD4CEFcEU0YMPcmbzuQnXkbv5ib3AUw6eIrwqVaHOdXSdyyGcUBheBjmnEk7x0ENyl/LQQ3Z4rpae/DJBfullu2fyTbUdVUdxaS4sBC9phhfu8Yttq6YZEaLcZ4h8REvRUVPaunME995BVy41I0wpevcqYQVB+GBOhZWuAWeLnAQrAH08fOYJ9+eSJWqYJ7csel5Y/CjxrEYXeGH1OYssZZFv8tVyy3ZA3TPA6uhF96vtp238mQfeU3OeBWX2x6iINMakXlXwcmUFfi4PmQp4J++qs9UahHg/9xvMsvjXvF8hR4KAfsuePNhfO3DLokW3IBlz+Feiqoi/ZHke/YbXVO436P0H+qsHb5mZuYVWijPvYV6B9YyPUuB8cza3cjDdtFnzA79LlZuWKZ17iAGUI/6oqqtDVaq0jMiqVVvRKmteInXeh5pqLiXwpo3wco63+VxhYA8rSDI8CV3BIGgii+4LLSrwiBU1WI3fLUsChgH8MU5RuI/RTByFV7jdgLf19iAsSHCzPdHDA+mE4H38+RxppbsqNfsd/GUUYwQiI4cI/ZQzrGCyRc/3nc3zXu6WR9y0XKaadReOS1tmMUszTfGbofEnAAfQhGRJHNv4wJrC323dgnhbVA0Ow/v/urgWtguYs8XfvwUQ7P/ojt998xsA3xwLYfhiIXr10BA4yLZh31UdA19CEB775re+Cerhflp3O/vPzCv4uWbdLfPaalv93FfOVm17rrPaAo8CfH7h6Sdf428gtMB+0aWFDqbvNfTQec7T+dQCL5/9ZAEdZc56SKC4kTnEfgAfnsNS8DUYgDdw5caFmIDPnfsc6wuQ0ThzrlMGmBdnBfgZ2f12c/dT1l2kSlipyZoahMGJPhZrhhOK+64jO/7E8R+GHfy8n2/G9slddHKXCXIXnWG4Np9r5pbAhMvcjh93TO766wyW/Bq+Cl+bSx1hXChEFwqNYQzCe7yxM0Q//UZO/Q4Zclbn0M/Dv7/YHZDT8fPumKI7ps/jf7yQ8SwHPQhKTuX0Wcfgvg30Z6uauSlkzK950uE4Ow6PMOmWd6Xtrm2b1XMRgj2artbG3/OP44MfvimeD3Oga37/6X/JzyzKX/qRmv94wK8GlvdcI3YcD/UnRFbyB4Jv6+B53+5VQVcCXMdOwB1e1ocb7rFTyXkVJil3qEU4GPE/CEMw+KDPrwYxH/lE46WN01+9PgK7RF7T9Xe9Sw+qnKhEP6Hlb4kwiGg4gD+JvkS4f3IuN8EwavO8FtgtOxB4jJ1U7Twbw1f/khUNmuz3OCD7v/N7bBtY6T3P/hkcfBYkS+QRTMAyXhO5M6dZng0qsGni0UwGeLXx28bLAAyiHAnFCUcymBihFkosC50kwRbrmfR4DAtf5CSJa0xJKOxxmDzlKO6bbSVNJS0NFuA/5/gKYhbPFvAn4ReutsMES1VPQLZSvhiX63LVdIZcNxzHNGrnoa9/G97NGgga+1ma8YUbF3DYhwNw7Y8b70CR55cte3YH/C9g0SSzOnOaE0WMbpN4QdHHgO1u/J9LLsEQused3Xe92dG14trjNV1ZDm4yYBT32OkUK0k8fE6iDHSiyWl9IQyAXVcaDwhDuPFrl6V6EfN+dpxEqCKe/yA5Vzgyz89Mxmq/CJfocE0l7h/fDM/fPbxGZVl19ci933vpzXFzrcGyxloTD3X/n3e/96Ve2+556d1Pfb/XRhsvu2zggfWx7bEN9w9cdpkT3XsdOb5ub/TjV9915zVL7l5y9V1vftOSu71o0PV4Av0l9YtxOWKVWu2iEG9PVDLNzELvvPlpPWasyaPQW66XitgWDLarmzUEGxdxILklLO1MKCCN9m8eigwkeNVnKR1LRg53l5dNSDq7SvTPTJqCISIkGoI5OeNP6ykMvisKBV1YtbQylU/Ulga0yMz2vg0jyzdtvlYCD4M/xhSDPczaVvaQU1340IEWPl2ENmF3n5kXx7T7XGreXLjC63ltZXHU3FsSIsmJ5SPlDUidCCa71/f0B6WgJQb7yWEyOKGiT4xPAde1YnxwuEOSE7W1+RO9uWB8crvElTlpWUlEjwyhwGIpY+eTYzem5A2rQ8nu6dRwn2X1DqenepKh1Rvk1PHizqV+oWfDmkquv8/n6++bzJ+4YGSDX5gZ6ujorUvgeh0uIDP9K6abZtFDizk14xJtiimw5Tp2F8Wh273c9g56T8UifeBjPB/QktUjtzkswvZtR6pJ1QiqyerR25GGeYR4rKEXr1XFLJYRxgBXPy2z/Huv5JTkRY9w/LvQN7EzsuLeY4ZssLxx7N4VI5Y1suKeE0hiBVEWBVZC7/gHUzrJ+ViMOECfuVvmuHs+LYCv+CfXcNztDDBJQmm7CaXRYp9WyM9dsuZbGYptfph5HVK0eJcUW7E1mNmIlEs2bLxEgQ1hwDicx0Fu8YF8zyInfZW4kCC56bGMXd+6qhYwh3vgstG9fnXJ3j1LOXvvKPQiHBLRiY1TlZrOnYUwxe4s4gJHli457GPzXn0DXEukTpjp9miwCaofEegCzd1hBd2ycz9q5oJeN943vkZFo5N3SnqURQjLgRCHTltYGdcxINC2qgi+FJmqSs6O9ds3cyCz6J9YESvs3Y3fDvtQhn/gXv3Cgz4y/shsCm5F/8p0Ug9O0BsuUKJuXy8Foll7lvGUbKrMAznxI4sYs5MojVQWAVx+LafyCCHTz9Fz/C8GPQVQYGD4MMDhI+jvkF9mG7+H2hgiP2nc2LgBC6Ko4OfxMZFcgKfhKRY16o/a0aFHHx0aortzcjYB16F/YI4yl1HpUMDlqld0rbfXsVaZ265Ey6an5WbKO70yr8hCn3c87332bgLpXCEjvcAHyxna3b3ZRk6gk0PIr4k8mReHVI01ArzCIVFK+6aBRYGgxGMkiIrX2jrg9HY3DgVMkfTivggd2Sn30l1YEHyKKQxjXuShj5Xx8BiHBP4RUZIkbnqaZXUhuXLMZJEks4hnZ6ZZifW6NP6udbgoIpH+bK7T7V4ockiSMOYxuQB3PurXk6QvbXGfIi/AdYTKnKbXH5tGq0a14jr5YY9ivvCCoZoS3rd3r1OMgIR+HlCkxhBqVGVNN6V/+/fAy7WrJpDp8noBJtHPqD3cWWBbhaxW60ExBjD51Z1xOagGRXXH3r07VMlQgy/8bs/Ht6+KYC2gJ/7m5cC//03CMDQJvublmvDfRDz1yXf+4dK3ollqRfjyf7janHzAByNefuW5S97Aszipd55A9DMCUbGdq/kGS968bE70L39EsbeX9flGC9s8fIkagW71G8LXGwP8jaASj73hWf0hTL+xyXqVU4KKMszK11ROtZwKC8unmg3k+huuoUIB2Oq5IYbOVksFAdjWbH6jNVVNSlpYVQXnrquaIjP1kZkubdPcwlKjlHf1DVcrbXOD7eivX1tu1Ix9o4/8EYVLJ9yY/MLyIzdiT8uWDOEcZUsMoqso0rmtYy569Tq+0dmcYzVfhacF9LBgqdFDf8SEz7XW4EN//1q0vpp45lPEH8TS2emi8dhCjC+gKNf+bHKq6bl655JTLL1xdpVK8/PLnjkAiEHij2JfZ24APL/+Gf7ICmjvKbXPMEu8TDJip7Qfyq6n9PbrH+ZfpxTk2Qz00cgTyHUPeH3zktV9Kn4spAsyOzAA3QMDWBF084K1F5juJfIfS8vO2MbpximsKJhewQq6z5IR0uwgj858CxURa9la+5yV/QGJRYg1BMFgEW035kVO80z5bDF1L+cMNVfCi6fD/BSV+cH1lyPQ0Yxy3+WIUlczsH7moXZ9APrkvCD7hs+yYmou5C1Kanwuwv77G9rJKvNgzDGlhfF2F33snJo3P94enA/jvOB7Pmh+u/Evk3FBCFkiQoF9rfC7Pg/I+9qR+HhAA7xyNwHKFIyrVrUi8b//wsJKhydmC+glYo0FF+TLFufs9c+oOkIIkGCoOhYaGEt/E1RFDuOdWNM1idN+/yEsMf8vEj0ocAABAAABGAChAAUAAAAAAAIAAAAYAI0AAAAeDgwAAAAAeNpcwQN0YwEAALBf27Zt23bPtm3btm3btm3bts09LQEAgFwyBcwE+UEnwdXAnyAKSGXIaMhLqAxaFdoEOgy6GvoFJoH1hj2Ci+Aj4e8QPsQiJBoZRA5B7kG+RslQg9B4dA30Ggwek8PMwFzHlsNOwG7GfsSVw/XGncKT8bXwCwkWwkKihFiTOJN4jVQgLSU9JbvIOXIb8gDyfPI6CpVSnTKD8oUaow6kaWjdaWtpX+h5egf6fYaJ0Z6xiwlnxpgrmI9ZPlZf1kd2kT2b/YJTl9ON85qr+fMg9zWPycvzRvC28k383vxPgoaCZ0K1cJBwhUgrGi06JHoohovpYo+4uniweJH4poQlyUv6SnZIydKy0hXSazK3bLjspbyu/EGp7xUQhU3RQLFLSVUOVkVVU1X7VB/VnTQJzTZtUMfXndBj9ZX0c/WPDZUM+408Y0fjKZPC1Mt01mw1NzPPMV+04CxtLZetbutsG902z663N7dfdZAcUxxHnTxne+cI5wnnKxfR1ck117XXDXI3cz/2SDwuT1PPDM8xL8ab8s7yXvNxfQN9j/yN/ecCzEDNwKrAh2CF4Ibgl5Aj1C20J8wPdwhfjwgj1SP9I4ujkGgyuiGGiBVjnWLjY3tjD+PUeDpeP742ASSKiXGJB0lkUpkMJ2slJyT3JL+ltKmmqampu2lPenWGkemR2ZFFZ1dnL+dAuXRuSp6Q759/W5hVBIq/FxewIZApUA0ACtS0uAABAAAAAQAAZRLIN18PPPUADwPoAAAAAAAAAAAAAAAAAAAAAP3i/vQIDgO3AAAACAACAAAAAAAAeNp1kzWUFUEQRV93f9zdYd3dfWZwd9f1jXAIcU03xj0/uDsZTrQZruEm6OdVbw/O7rnnlczUVFX3xyfkgX9qCkAbaikW6EVIMlfgaw8+NTAbkaM8TFRX0USqGJ/AmG9jm9BNlDGPZJLppJTkkJhfbN+prSWwRjXxRfUIBNZuQIrJQ7LxaK9Bsm4lT+jvpr8dyeoUBumZ6Gh2MH4KyZHRzG0n1cz3drqUuU3UGKSa9Yw1YFDkGAZSY0kffdX2vll6pg6ibiTQ2Yjhe8NU1L6fpHsgRi1DCnPD6Sfy2RS1LHpeL+MztLmbRIkzb99jPEm1MHeHehX9JMfYYMNvUPuRAawtOxnL97eIkmrZO/tqFFtH7Z4O2v1GsSnSG6m0T4iv52AYa8VYmyo9RJoxi36M9OXm2ObO4ANZQxrtrhtUvtQnO2Rv7L3I7juJ80WRwx3anUvsF81XrYB5Hd4PcsIxC5CdRTYCrF9m78AirCBJijMI7XrwnOcjHvj6TO9FptRVLdFv+gXG006Tc4i0zdKdGjj1Q3UEobbT8Enwj5zgsd5wsZ1mU+XclF6HCqrUzeLcxZy3hvDuCTbuOSaQ8N5PNVKf6EcocufVbM/nV0rbdsU89b9UC65P6/8LqefskbTHCv+qx7kCEvqBuWd76+J+hwPNG8SK3a4HSccWnsUN0ivUcG/mG8bw+VjqaFGJu5qhxih+h5QSj2wSv0M3korqjlOpk+F1oNL2GAvsPeIM/D/4HfKHzaAAAHjaY2BkYGDe/u8LQxSH399H/2dz8AFFUACjGACyngcFeNpjYGJ8wbSHgZWBgakLSDMw9EBoxgcMhoxMDEDAwQABDQwM7wUY3rxlgIKANNcUBgcGhQcKzAr/LRiimLcz8igwMPTHMQN1H2JaB1SiwMAIADuHESIAAHjabM8DvJUxFADw3e1l23V2LrNt2/VDtm3btm3btm2eLduu77aW9Wbv/Blj3FZha2zbur71ISJg+wOsFwvLirCarAebxeayRWwZW8022fVLTLG77L0rvasiz8oP8qP8Cr8uxolJYqqYIWaJuWKBWAxhISLEhgSQBCT4IANclNFkDBlLxpeJZWY5WS6QS+R2uVsek+eRocAwGB4jYSxMiEkR0I1eTIm5MB8WxMJYDEtjOayN9bEpdsW+OBBH4GScj4vwAB7CZ/jCHcnt9q71bvZu9+71PvPV9bX0P/B/9Dsp8qZYpcEY6wFW+5dj1TfHxW+Od9ZRwToO8MP8Er8mxv7hmC8WAYcIEAviQ2KAUByjrGOx3CZ3Wccp6+DWEc46YmIcTPLD4f/PUQ+bYBfsgwOsYzTOsY591vHUOsLbC78dtXzN/ff9b745Vn51mFvmptltdpqtZpNZb1aaOWaMGWYGmA4mj0n6OWdweXBZcFZwpvPQuefccW45Nx3tKIf0AN1Pd9OddUfdXrfWDdQeNVQNUYNVf9VHNVHRVYji9IKe0R26SZtoI22g9bSWltMyWkKLaSEtoPk0nsbQKBpJw2kwDaSO1J5aU12qTlWpMlWkklSc0lBqCk9fxn73493bt31uu992uW1/W+TWkluzbyrflLgpfu3qtTSF78BUNiwAAPjZAlEAAAB42qxW13rbTA4dqrlXlRSmgJnI6zWHitPdC8e0Nt31+8itpCXnfvcqz8B9GVDpd/toC5CSe/mbVTCDMsA5wNBCoQDFvu8FAG9+iNHtN1ja/auPz0ycDsKPEO/7mKtHP/tFv2i15IFpWSgCFFpudIQhdOg6aCiE8KODOSUtaTmYV9D+nK9UhauxrCEM3SRX0W5Sz2vM6b1PgMOSFjpqY2HrUyeXy9ExaB3esVjbGa0a7h2gpXQ7ZaNMNoliyz8MOjWDPR0sKMzbWNU+58Oa1l0HE9qA/9vCwtRfO9PGiPZaHpY838J8Pdj5m0/OZuwDbm2Rao28cY5Xc0EASeZNFU2TqrsDnGX7LHnSqT4QG3EEOLjlh6QBtg3y6gWvXoRmGASBSWzhsG6h2PFRvGFni/bmG7zHq3tvoh/josUeP4riIAjaUYCGHQRdBAG0CY90AweLCqiCQj0iTH16y8c+6WK/dKkDFBI6WErpJiagnfQduMBGhmtm5fM35kKvhcUZi4waYogpVzJbrBND2364ZUY7gS8DKwBc2/XJZhIvvVIc7FM4oO2OyGVt7qetdCWgkG6EuYOPaLSoEOybcXBAAVc7SrAK4gD4BFwLA3YJN9JqB1VnYFRoz52xjgZnSJ0epOHsFMOWpCfoIXixjKDdJVuY3BAEE9eOCKPWymgjSzFySTg+pChBURcFjaoU0OeRYZH3KIsprWCGhnhMJbmch+1ow8FxRa4AOKZf8wG0oA7hOO92aDee9mtC0SolBYiDFmXGCR1CHAJOEG0OTqo3e35SaG8ED3HkUH5ysKzebPtvdjOlaZG+nOorKhGTet9PJic1GpGLE3bAkHJ1Nxnjr3H6QqMmgZBs+QnTR3jdOAZOOz5jSQrrrc3MTiH0STUBIWlS/U3Snm7WJS1MhChL4kujWOkYhpF2q6pEInLeno+T0gUPR6WLI5JGzoXw+82bhpgQZeG6LjNQIZsRJZV+G/9rmw+IrhphrNoO3lCJwfIm8c3ylkryLG+rpMDSVEmR5R2VlFjeVUkfy3sq6Wd5XyUDLG0le/xjKSSmJTTQ+AffFgfVCWPtyPjvzOicME4dGf+TGUEJHLMvxUmgvmZQGedJfBbhA6rrAeFjKQkfy4eEj2Wd8LGcInws/0T4WE4TPpZ/JnwsZwgfy4aCpXRgHylKezMELWmruaUkscEzO6vwkY2P6D4+VgBNuKSbMpqT/GC/0sNk9E96LU5GSx5PHD6eSYpG1fNngxTl04yeK32eKXieVv5cia6Pdz4nGjbVcrFe1L4I/ttYkXPJM6PKWF8QH9C8pH4UOppz8KVq3FhycO46VzR0i9znqUWiVocGNFFIvi2v4rgpmzIC/4D4QEO6nTnDqFaI4QVFZeENcivU6Z26JcPCxSFtH8YNCbAU05mLp92gkZ2HJen2vAFDfqasbfufC1AE83Nhqng7cF0JOKghlmmE3AyxpM9e1xCInuy/UkGHbYlFHbXJXNCRSeuQn3RnYyIJ5D0lN6nHkjJsEk4SaZYQLkoiOYskS0gSi/WIPmed6EQuos5F5Om7+yQ9zkWDsNTjAkhbnOpyIZeIpuWeiTCn9k3Z5KTcxZWeLQWTMY1iz2/AkrRM0vSUdOhRK7BUp92rk79dsiZeNO3dbkke+dUTleheu0L+gXMWcq/Fa0pCg1ncxBva3zJ3Ah+WgkYya1To3q6fsu6YW6es7oWxV0VohQv2VQk3FC7aMdXGM0agLnWlhjZwliI8hpzO51TGfITD0s2g84BKWIKGnOuev6mSwULdpZDfMtLNP2qKGVNE6JYkPapOzIsVdOtsqkQs2D1W/kK7RduSXV7k3GkKXhEF1ezadwTf8HIDX9Atf32J/g0dZ1TK+JLWbxXOk3jHLHpEN2zGMuqx9V7xQOP/e66LtNihIIDCt56gS2DKjLAC3N21cWvctXH3xbRtkDpVIbP/5jtxH1AORYUQOhXDCgEjUUECGFUIGKPpUozTgAkaMEkDpqJiCKFNNa0SUyoqik+bUYlplk7QHJ1pns60QGdaZJ0diiWFgGXWCVYUAlZpuhVrNCBNA9ZpwAbrC+2qTZWYtlifaVslph06Qbt0pj060z6d6UCPcX1yAg9tlGtWHjlblMccdBu16ugkykvcnEJvzqyRuDnXmRuSpV4w8jky0Oe4hJ5f6XLi4Bp6cAM9uNW2MVneHSPP76HnD9DzR50zDp6gB8/Qgxdtm5LlvTLy/A16/g49/9A54+ATevAFPfiOCpX2ZZsrqSr8+/O3Q3+a9DGYaq3JlaVzf6uHM78v69ofY0wBR3jaYvDewXACUKM0HDgQhtE31hqXxWmZNBH9BcQ4zxSQDmKjljF7C0Yfn5p9g6KOA50KRIhQhwaEqvUPGsUYOe/iPUvLKf7hX+kES9VIAItrSLkypRqhfO2YBWAAYnxT60ZfL6/7MdeI8R9zX0QqgAzejb9YCsUxKLa8Vtu5EZfzKT6y9F3Rp84LnT0YNIjFaTwIuQChwiuQeNpjwA0kIJBpBQMDkygQ7/j/DUQz9AOhCYMJ0zqg2DbGPQwM/+3A8tv/f2Xaznj0/6//FiA+AJmbEFoAeNpiYGDgZChiYGZgZOEEshcBMYTNyCAC5EHYTAwcDNsgbCBpx7APymZhkGP4A2WzMjgxSkHZbEjivEwpjDFQNh+DCfMBQKvkoCNrEAXhL07mKTq8Hl9rbTvcjG2//VZqbeY0KjOF7tM/s7RoM1FqhRJl+gTek+OD9iRx1U++GCU0A3MU6JnbJLBLTrggnNP6mcCycZTIo84J0hfOPwisipOx6zQ5oTwFGtKvCu8JH3HMunBFnBl518VY0N6k772rlIK9oz7pL827tF8u1A//e0BBnrqrMwIJopq/hfqqIhkG2luUrfPtGJr1QzPFh2f29vPTu2ufP4xcUXUpQ1/+Ve1jorgX/OPDG77C9cQaZmle5VxN/kxEzIrPFdjxvdRPhlrzhIuXC2yQkbpwz2tFiaj23OXeNd2uUFFoRIau9WZQ155z15TorIFw3unB5ylYvcya9k3a5l51XrvmoL7f8y1Er53sem4gw9B3qGvNatVvVzqSceI028Z9fslLr6NqC8dUPXJ+tTZ94ajT6xc9jrEp/dpLNCdTX64IAHjabMHToRAAAEDRe59t27atnq3sUbJt23bfDZE5QU0QvzuHAP75tYUG/sM0QAIIJIhgQggljHAiiCSKaGKIJY54EkgkiWRSSCWNdDLIJItscsglj3wKKKSIYkoopYxyKqikimpqqKWOehpopIlmWmiljXY66KSLbnropY9+BhhkiGFGGGWMcSaYZIppZphljnkWWGQpy1jOClayitWsYS3rWM8GNhrANvZzlS0c4TMH+cEhdnGRl1ziDQ95ZCBv+WaQwYbwgY984h1fDDXMcCOMNMpoY4w1zngTTDTJZFNMNY3HPOE5L3jKMzbzijumm2GmWWabY6555ltgoUUWW2KpZZZbYaVVVltjrXXW22CjTTbbYqtttnPSDjvtstsevttrn/0OuMRBrjnEYYcdcdQxx51wkrNOOe2Ms9xwznkXOMoxF38TBA9GEAMAAMAuQ75t27bRjtxETFxCUkpaRlZOXkFRSVlFVU1dQ1NLW0dXT9/A0MjYxNTM3MLSytrG1s7ewdHJ2cXVzd3D08vbx9fPXyCMiqKrPUdhKAzga3V5Flwu0XXX2xTOtPlNkI2MvP225Otshf8RILYwPXeczJn0/NhapDCD+ew16zo2ZX4azH6cSLP5B9YdWvbiD3/xhc++8+P5hp+j4mLoX3458ZdfFLcPZOlFz3E86MMAhjCCKczmHe+NJpuW8aTr1Mu3N5LdaiNtwfU398RJKi2ZUstvaM6YoPG0YlIO94Ju9GKKzLielPx40rbZDve9jQ6DxgNmbHv79jSCMUxgas0imMLMmhewtBYOdGGxtaMfxGV262tixt01nOb4dNdlmk/JZab2PWW4OntHUjGxoQeuNPWaM7GkbtSPivTyKFnLz8UFCerOLpVpTvrE9PQCz/VhCKMtU5okV7cd0ycUE5huRzmMg9R86JmYsf4oyLY8H4ZrMRx5wwTr2xXCQW55r0kqai5Pzkx/vi4U77hg0j4XONBfNUN/lIZ6jUppDZ0N/TX8jgnqG4waZTC3xhnMp4mSVOagSO+vyeVCeivpRtADekjQs88nlTV1oQd9GKwbLhtBozAKpWhvS50Rmo/iEeUEptbMgz4MdiPJkfqWN0YwiSqeKoJFO+j/B1FEEP2qgrW1did9J4EpzGBu9TzoT4b51RSW1gL1qp6pkbU0ZVHkQu9VI8wBSQkrWE/GVQJTax3CCMYwgSnMYDGZ+bU1g7lzsXI85x/iKNoXAAEAAf//AA8=) format("woff"),url(data:font/ttf;base64,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WWO4BABiILAAUFiwQGBZZrABY2AjLiMgIDyKOCMhWS2wPyywABawFyNCILAKQyAuRyNHI2EgYLAgYGawAmIgsABQWLBAYFlmsAFjIyAgPIo4LbBALCMgLkawAiVGsBdDWFAbUllYIDxZLrEwARQrLbBBLCMgLkawAiVGsBdDWFIbUFlYIDxZLrEwARQrLbBCLCMgLkawAiVGsBdDWFAbUllYIDxZIyAuRrACJUawF0NYUhtQWVggPFkusTABFCstsEMssDorIyAuRrACJUawF0NYUBtSWVggPFkusTABFCstsEQssDsriiAgPLAGI0KKOCMgLkawAiVGsBdDWFAbUllYIDxZLrEwARQrsAZDLrAwKy2wRSywABawBCWwBCYgICBGI0dhsAwjQi5HI0cjYbALQysjIDwgLiM4sTABFCstsEYssQoEJUKwABawBCWwBCUgLkcjRyNhILAGI0KxDABCsAtDKyCwYFBYILBAUVizBCAFIBuzBCYFGllCQiMgR7AGQ7ACYiCwAFBYsEBgWWawAWNgILABKyCKimEgsARDYGQjsAVDYWRQWLAEQ2EbsAVDYFmwAyWwAmIgsABQWLBAYFlmsAFjYbACJUZhOCMgPCM4GyEgIEYjR7ABKyNhOCFZsTABFCstsEcssQA6Ky6xMAEUKy2wSCyxADsrISMgIDywBiNCIzixMAEUK7AGQy6wMCstsEkssAAVIEewACNCsgABARUUEy6wNiotsEossAAVIEewACNCsgABARUUEy6wNiotsEsssQABFBOwNyotsEwssDkqLbBNLLAAFkUjIC4gRoojYTixMAEUKy2wTiywCiNCsE0rLbBPLLIAAEYrLbBQLLIAAUYrLbBRLLIBAEYrLbBSLLIBAUYrLbBTLLIAAEcrLbBULLIAAUcrLbBVLLIBAEcrLbBWLLIBAUcrLbBXLLMAAABDKy2wWCyzAAEAQystsFksswEAAEMrLbBaLLMBAQBDKy2wWyyzAAABQystsFwsswABAUMrLbBdLLMBAAFDKy2wXiyzAQEBQystsF8ssgAARSstsGAssgABRSstsGEssgEARSstsGIssgEBRSstsGMssgAASCstsGQssgABSCstsGUssgEASCstsGYssgEBSCstsGcsswAAAEQrLbBoLLMAAQBEKy2waSyzAQAARCstsGosswEBAEQrLbBrLLMAAAFEKy2wbCyzAAEBRCstsG0sswEAAUQrLbBuLLMBAQFEKy2wbyyxADwrLrEwARQrLbBwLLEAPCuwQCstsHEssQA8K7BBKy2wciywABaxADwrsEIrLbBzLLEBPCuwQCstsHQssQE8K7BBKy2wdSywABaxATwrsEIrLbB2LLEAPSsusTABFCstsHcssQA9K7BAKy2weCyxAD0rsEErLbB5LLEAPSuwQistsHossQE9K7BAKy2weyyxAT0rsEErLbB8LLEBPSuwQistsH0ssQA+Ky6xMAEUKy2wfiyxAD4rsEArLbB/LLEAPiuwQSstsIAssQA+K7BCKy2wgSyxAT4rsEArLbCCLLEBPiuwQSstsIMssQE+K7BCKy2whCyxAD8rLrEwARQrLbCFLLEAPyuwQCstsIYssQA/K7BBKy2whyyxAD8rsEIrLbCILLEBPyuwQCstsIkssQE/K7BBKy2wiiyxAT8rsEIrLbCLLLILAANFUFiwBhuyBAIDRVgjIRshWVlCK7AIZbADJFB4sQUBFUVYMFktAEu4AMhSWLEBAY5ZsAG5CAAIAGNwsQAHQrMoAAIAKrEAB0K1GwgPBAIKKrEAB0K1JQYVAgIKKrEACUK7BwAEAAACAAsqsQALQrsAQABAAAIACyq5AAMAAESxJAGIUViwQIhYuQADAGREsSgBiFFYuAgAiFi5AAMAAERZG7EnAYhRWLoIgAABBECIY1RYuQADAABEWVlZWVm1HQgRBAIOKrgB/4WwBI2xAgBEswVkBgBERAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAYABgAGAKoAAACFQAAArj/9gIVAAAAjwCPADQANAKuAAACtgG8AAD/PgIVAAACt//1ArcBxf/6/zgCFQAAAAAAAAAJAHIAAwABBAkAAACiAAAAAwABBAkAAQAUAKIAAwABBAkAAgAIALYAAwABBAkAAwA+AL4AAwABBAkABAAeAPwAAwABBAkABQBCARoAAwABBAkABgAeAPwAAwABBAkADQJkAVwAAwABBAkADgA0A8AAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAwADkALQAyADAAMQAwACAARABlAHMAaQBnAG4AIABTAGMAaQBlAG4AYwBlACwAIABJAG4AYwAuAAoAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAxADQALQAyADAAMQA4ACAASwBoAGEAbgAgAEEAYwBhAGQAZQBtAHkASwBhAFQAZQBYAF8ATQBhAGkAbgBCAG8AbABkAEYAbwBuAHQARgBvAHIAZwBlACAAMgAuADAAIAA6ACAASwBhAFQAZQBYAF8ATQBhAGkAbgAtAEIAbwBsAGQASwBhAFQAZQBYAF8ATQBhAGkAbgAtAEIAbwBsAGQAVgBlAHIAcwBpAG8AbgAgADEALgAxADsAIAB0AHQAZgBhAHUAdABvAGgAaQBuAHQAIAAoAHYAMQAuADgALgAzACkAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAwADkALQAyADAAMQAwACwAIABEAGUAcwBpAGcAbgAgAFMAYwBpAGUAbgBjAGUALAAgAEkAbgBjAC4AIAAoADwAdwB3AHcALgBtAGEAdABoAGoAYQB4AC4AbwByAGcAPgApAAoAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAxADQALQAyADAAMQA4ACAASwBoAGEAbgAgAEEAYwBhAGQAZQBtAHkAIAAoADwAdwB3AHcALgBrAGgAYQBuAGEAYwBhAGQAZQBtAHkALgBvAHIAZwA+ACkALAAKAHcAaQB0AGgAIABSAGUAcwBlAHIAdgBlAGQAIABGAG8AbgB0ACAATgBhAG0AZQAgAEsAYQBUAGUAWABfAE0AYQBpAG4ALgAKAAoAVABoAGkAcwAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABpAHMAIABsAGkAYwBlAG4AcwBlAGQAIAB1AG4AZABlAHIAIAB0AGgAZQAgAFMASQBMACAATwBwAGUAbgAgAEYAbwBuAHQAIABMAGkAYwBlAG4AcwBlACwAIABWAGUAcgBzAGkAbwBuACAAMQAuADEALgAKAFQAaABpAHMAIABsAGkAYwBlAG4AcwBlACAAYQB2AGEAaQBsAGEAYgBsAGUAIAB3AGkAdABoACAAYQAgAEYAQQBRACAAYQB0ADoACgBoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAaAB0AHQAcAA6AC8ALwBzAGMAcgBpAHAAdABzAC4AcwBpAGwALgBvAHIAZwAvAE8ARgBMAAAAAgAAAAAAAP+DADIAAAAAAAAAAAAAAAAAAAAAAAAAAAEYAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEBAgCFAI4ApACDAJMA3gCQAPAAkQCJAKAAuAChANcAsACxAQMA2ADhAQQBBQEGANsA3ADdANkA3wEHAQgBCQEKAQsBDAENAQ4BDwEQAREBEgETARQBFQEWARcBGACyALMAtgC3ALQAtQCCAMIAqwEZARoBGwEcAR0BHgEfASABIQEiASMBJAElASYBJwEoASkBKgErASwBLQEuAS8BMAExATIBMwE0ATUBNgE3ATgBOQCYAToBOwE8AT0BPgDvAT8BQAFBAUIBQwFEAKUBRQCSAUYBRwFIAUkBSgFLAUwAnAFNAU4BTwFQAKcBUQFSAVMAlACVAVQBVQFWAVcBWAFZAVoBWwFcAV0BXgFfAWABYQFiAWMBZAFlAWYBZwFoAWkBagFrAWwBbQFuAW8BcAFxAXIBcwF0AXUBdgF3AXgBeQF6AXsBfAF9AX4BfwGAAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZAHdW5pMDBBMAd1bmkwMjM3B3VuaTAyQzkHdW5pMDJDQQd1bmkwMkNCBUdhbW1hB3VuaTAzOTQFVGhldGEGTGFtYmRhAlhpAlBpBVNpZ21hB1Vwc2lsb24DUGhpA1BzaQd1bmkwM0E5B3VuaTIwMDIHdW5pMjAwMwd1bmkyMDA0B3VuaTIwMDUHdW5pMjAwNgd1bmkyMDA5B3VuaTIwMEEGbWludXRlB3VuaTIwRDcHdW5pMjEwRghJZnJha3R1cgd1bmkyMTEzC3dlaWVyc3RyYXNzCFJmcmFrdHVyBWFsZXBoCWFycm93bGVmdAdhcnJvd3VwCmFycm93cmlnaHQJYXJyb3dkb3duCWFycm93Ym90aAlhcnJvd3VwZG4HdW5pMjE5Ngd1bmkyMTk3B3VuaTIxOTgHdW5pMjE5OQd1bmkyMUE2B3VuaTIxQTkHdW5pMjFBQQd1bmkyMUJDB3VuaTIxQkQHdW5pMjFDMAd1bmkyMUMxB3VuaTIxQ0MMYXJyb3dkYmxsZWZ0CmFycm93ZGJsdXANYXJyb3dkYmxyaWdodAxhcnJvd2RibGRvd24MYXJyb3dkYmxib3RoB3VuaTIxRDUJdW5pdmVyc2FsC2V4aXN0ZW50aWFsCGVtcHR5c2V0CGdyYWRpZW50B2VsZW1lbnQIc3VjaHRoYXQHdW5pMjIxMwd1bmkyMjE1B3VuaTIyMTYMYXN0ZXJpc2ttYXRoB3VuaTIyMTgHdW5pMjIxOQxwcm9wb3J0aW9uYWwFYW5nbGUHdW5pMjIyMwd1bmkyMjI1CmxvZ2ljYWxhbmQJbG9naWNhbG9yDGludGVyc2VjdGlvbgV1bmlvbgdzaW1pbGFyB3VuaTIyNDAHdW5pMjI0Mwljb25ncnVlbnQHdW5pMjI0RAd1bmkyMjUwC2VxdWl2YWxlbmNlB3VuaTIyNkEHdW5pMjI2Qgd1bmkyMjdBB3VuaTIyN0IMcHJvcGVyc3Vic2V0DnByb3BlcnN1cGVyc2V0DHJlZmxleHN1YnNldA5yZWZsZXhzdXBlcnNldAd1bmkyMjhFB3VuaTIyOTEHdW5pMjI5Mgd1bmkyMjkzB3VuaTIyOTQKY2lyY2xlcGx1cwd1bmkyMjk2DmNpcmNsZW11bHRpcGx5B3VuaTIyOTgHdW5pMjI5OQd1bmkyMkEyB3VuaTIyQTMHdW5pMjJBNA1wZXJwZW5kaWN1bGFyB3VuaTIyQTgHdW5pMjJDNAdkb3RtYXRoB3VuaTIyQzYHdW5pMjJDOAd1bmkyMkVFB3VuaTIyRUYHdW5pMjJGMQd1bmkyMzA4B3VuaTIzMDkHdW5pMjMwQQd1bmkyMzBCB3VuaTIzMjIHdW5pMjMyMwd1bmkyNUIzB3VuaTI1QjkHdW5pMjVCRAd1bmkyNUMzB3VuaTI1RUYFc3BhZGUHdW5pMjY2MQd1bmkyNjYyBGNsdWIHdW5pMjY2RAd1bmkyNjZFB3VuaTI2NkYHdW5pMjdFOAd1bmkyN0U5B3VuaTI3RjUHdW5pMjdGNgd1bmkyN0Y3B3VuaTI3RjgHdW5pMjdGOQd1bmkyN0ZBB3VuaTI3RkMHdW5pMkEzRgd1bmkyQUFGB3VuaTJBQjAHdW5pRTAyMAAAAAABAAH//wAP) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff"),url(data:font/ttf;base64,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AAEECQAOADQD5gBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADAAOQAtADIAMAAxADAAIABEAGUAcwBpAGcAbgAgAFMAYwBpAGUAbgBjAGUALAAgAEkAbgBjAC4ACgBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANAAtADIAMAAxADgAIABLAGgAYQBuACAAQQBjAGEAZABlAG0AeQBLAGEAVABlAFgAXwBNAGEAaQBuAEIAbwBsAGQAIABJAHQAYQBsAGkAYwBGAG8AbgB0AEYAbwByAGcAZQAgADIALgAwACAAOgAgAEsAYQBUAGUAWABfAE0AYQBpAG4ALQBCAG8AbABkAEkAdABhAGwAaQBjAEsAYQBUAGUAWABfAE0AYQBpAG4ALQBCAG8AbABkAEkAdABhAGwAaQBjAFYAZQByAHMAaQBvAG4AIAAxAC4AMQA7ACAAdAB0AGYAYQB1AHQAbwBoAGkAbgB0ACAAKAB2ADEALgA4AC4AMwApAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABjACkAIAAyADAAMAA5AC0AMgAwADEAMAAsACAARABlAHMAaQBnAG4AIABTAGMAaQBlAG4AYwBlACwAIABJAG4AYwAuACAAKAA8AHcAdwB3AC4AbQBhAHQAaABqAGEAeAAuAG8AcgBnAD4AKQAKAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABjACkAIAAyADAAMQA0AC0AMgAwADEAOAAgAEsAaABhAG4AIABBAGMAYQBkAGUAbQB5ACAAKAA8AHcAdwB3AC4AawBoAGEAbgBhAGMAYQBkAGUAbQB5AC4AbwByAGcAPgApACwACgB3AGkAdABoACAAUgBlAHMAZQByAHYAZQBkACAARgBvAG4AdAAgAE4AYQBtAGUAIABLAGEAVABlAFgAXwBNAGEAaQBuAC4ACgAKAFQAaABpAHMAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAaQBzACAAbABpAGMAZQBuAHMAZQBkACAAdQBuAGQAZQByACAAdABoAGUAIABTAEkATAAgAE8AcABlAG4AIABGAG8AbgB0ACAATABpAGMAZQBuAHMAZQAsACAAVgBlAHIAcwBpAG8AbgAgADEALgAxAC4ACgBUAGgAaQBzACAAbABpAGMAZQBuAHMAZQAgAGEAdgBhAGkAbABhAGIAbABlACAAdwBpAHQAaAAgAGEAIABGAEEAUQAgAGEAdAA6AAoAaAB0AHQAcAA6AC8ALwBzAGMAcgBpAHAAdABzAC4AcwBpAGwALgBvAHIAZwAvAE8ARgBMAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATAACAAAAAAAA/4MAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAIIAAAABAAIAAwAEAAUABgAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AIAAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4AQABBAEIARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAGEBAgCOAIMA3gCQAJEAiQCgAKEA1wCwALEBAwDYAOEBBAEFAQYA2wDcAN0A2QDfAQcBCAEJAQoBCwEMAQ0BDgEPARABEQCyALMAtgC3ALQAtQd1bmkwMEEwB3VuaTAyMzcHdW5pMDJDOQd1bmkwMkNBB3VuaTAyQ0IFR2FtbWEHdW5pMDM5NAVUaGV0YQZMYW1iZGECWGkCUGkFU2lnbWEHVXBzaWxvbgNQaGkDUHNpB3VuaTAzQTkAAAAAAQAB//8ADw==) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff"),url(data:font/ttf;base64,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WFAbUllYIDxZIyAuRrACJUawF0NYUhtQWVggPFkusTABFCstsEMssDorIyAuRrACJUawF0NYUBtSWVggPFkusTABFCstsEQssDsriiAgPLAGI0KKOCMgLkawAiVGsBdDWFAbUllYIDxZLrEwARQrsAZDLrAwKy2wRSywABawBCWwBCYgICBGI0dhsAwjQi5HI0cjYbALQysjIDwgLiM4sTABFCstsEYssQoEJUKwABawBCWwBCUgLkcjRyNhILAGI0KxDABCsAtDKyCwYFBYILBAUVizBCAFIBuzBCYFGllCQiMgR7AGQ7ACYiCwAFBYsEBgWWawAWNgILABKyCKimEgsARDYGQjsAVDYWRQWLAEQ2EbsAVDYFmwAyWwAmIgsABQWLBAYFlmsAFjYbACJUZhOCMgPCM4GyEgIEYjR7ABKyNhOCFZsTABFCstsEcssQA6Ky6xMAEUKy2wSCyxADsrISMgIDywBiNCIzixMAEUK7AGQy6wMCstsEkssAAVIEewACNCsgABARUUEy6wNiotsEossAAVIEewACNCsgABARUUEy6wNiotsEsssQABFBOwNyotsEwssDkqLbBNLLAAFkUjIC4gRoojYTixMAEUKy2wTiywCiNCsE0rLbBPLLIAAEYrLbBQLLIAAUYrLbBRLLIBAEYrLbBSLLIBAUYrLbBTLLIAAEcrLbBULLIAAUcrLbBVLLIBAEcrLbBWLLIBAUcrLbBXLLMAAABDKy2wWCyzAAEAQystsFksswEAAEMrLbBaLLMBAQBDKy2wWyyzAAABQystsFwsswABAUMrLbBdLLMBAAFDKy2wXiyzAQEBQystsF8ssgAARSstsGAssgABRSstsGEssgEARSstsGIssgEBRSstsGMssgAASCstsGQssgABSCstsGUssgEASCstsGYssgEBSCstsGcsswAAAEQrLbBoLLMAAQBEKy2waSyzAQAARCstsGosswEBAEQrLbBrLLMAAAFEKy2wbCyzAAEBRCstsG0sswEAAUQrLbBuLLMBAQFEKy2wbyyxADwrLrEwARQrLbBwLLEAPCuwQCstsHEssQA8K7BBKy2wciywABaxADwrsEIrLbBzLLEBPCuwQCstsHQssQE8K7BBKy2wdSywABaxATwrsEIrLbB2LLEAPSsusTABFCstsHcssQA9K7BAKy2weCyxAD0rsEErLbB5LLEAPSuwQistsHossQE9K7BAKy2weyyxAT0rsEErLbB8LLEBPSuwQistsH0ssQA+Ky6xMAEUKy2wfiyxAD4rsEArLbB/LLEAPiuwQSstsIAssQA+K7BCKy2wgSyxAT4rsEArLbCCLLEBPiuwQSstsIMssQE+K7BCKy2whCyxAD8rLrEwARQrLbCFLLEAPyuwQCstsIYssQA/K7BBKy2whyyxAD8rsEIrLbCILLEBPyuwQCstsIkssQE/K7BBKy2wiiyxAT8rsEIrLbCLLLILAANFUFiwBhuyBAIDRVgjIRshWVlCK7AIZbADJFB4sQUBFUVYMFktAEu4AMhSWLEBAY5ZsAG5CAAIAGNwsQAHQrMoAAIAKrEAB0K1GwgPBAIKKrEAB0K1JQYVAgIKKrEACUK7BwAEAAACAAsqsQALQrsAQABAAAIACyq5AAMAAESxJAGIUViwQIhYuQADAGREsSgBiFFYuAgAiFi5AAMAAERZG7EnAYhRWLoIgAABBECIY1RYuQADAABEWVlZWVm1HQgRBAIOKrgB/4WwBI2xAgBEswVkBgBERAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAYABgAGALAAAACFQAAAsH/6gIVAAAAVABUACUAJQKr//YCtgG6//b/PgIVAAACtv/qArYBuv/1/zMCFQAAAAAAAAAJAHIAAwABBAkAAACiAAAAAwABBAkAAQAUAKIAAwABBAkAAgAMALYAAwABBAkAAwBCAMIAAwABBAkABAAiAQQAAwABBAkABQBCASYAAwABBAkABgAiAQQAAwABBAkADQJkAWgAAwABBAkADgA0A8wAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAwADkALQAyADAAMQAwACAARABlAHMAaQBnAG4AIABTAGMAaQBlAG4AYwBlACwAIABJAG4AYwAuAAoAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAxADQALQAyADAAMQA4ACAASwBoAGEAbgAgAEEAYwBhAGQAZQBtAHkASwBhAFQAZQBYAF8ATQBhAGkAbgBJAHQAYQBsAGkAYwBGAG8AbgB0AEYAbwByAGcAZQAgADIALgAwACAAOgAgAEsAYQBUAGUAWABfAE0AYQBpAG4ALQBJAHQAYQBsAGkAYwBLAGEAVABlAFgAXwBNAGEAaQBuAC0ASQB0AGEAbABpAGMAVgBlAHIAcwBpAG8AbgAgADEALgAxADsAIAB0AHQAZgBhAHUAdABvAGgAaQBuAHQAIAAoAHYAMQAuADgALgAzACkAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAwADkALQAyADAAMQAwACwAIABEAGUAcwBpAGcAbgAgAFMAYwBpAGUAbgBjAGUALAAgAEkAbgBjAC4AIAAoADwAdwB3AHcALgBtAGEAdABoAGoAYQB4AC4AbwByAGcAPgApAAoAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAxADQALQAyADAAMQA4ACAASwBoAGEAbgAgAEEAYwBhAGQAZQBtAHkAIAAoADwAdwB3AHcALgBrAGgAYQBuAGEAYwBhAGQAZQBtAHkALgBvAHIAZwA+ACkALAAKAHcAaQB0AGgAIABSAGUAcwBlAHIAdgBlAGQAIABGAG8AbgB0ACAATgBhAG0AZQAgAEsAYQBUAGUAWABfAE0AYQBpAG4ALgAKAAoAVABoAGkAcwAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABpAHMAIABsAGkAYwBlAG4AcwBlAGQAIAB1AG4AZABlAHIAIAB0AGgAZQAgAFMASQBMACAATwBwAGUAbgAgAEYAbwBuAHQAIABMAGkAYwBlAG4AcwBlACwAIABWAGUAcgBzAGkAbwBuACAAMQAuADEALgAKAFQAaABpAHMAIABsAGkAYwBlAG4AcwBlACAAYQB2AGEAaQBsAGEAYgBsAGUAIAB3AGkAdABoACAAYQAgAEYAQQBRACAAYQB0ADoACgBoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAaAB0AHQAcAA6AC8ALwBzAGMAcgBpAHAAdABzAC4AcwBpAGwALgBvAHIAZwAvAE8ARgBMAAAAAgAAAAAAAP+DADIAAAAAAAAAAAAAAAAAAAAAAAAAAACDAAAAAQACAAMABAAFAAYACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeACAAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AEAAQQBCAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBhAQIAjgCDAN4AkACRAIkAoAChANcAsACxAQMA2ADhAQQBBQEGANsA3ADdANkA3wEHAQgBCQEKAQsBDAENAQ4BDwEQAREAsgCzALYAtwC0ALUBEgd1bmkwMEEwB3VuaTAyMzcHdW5pMDJDOQd1bmkwMkNBB3VuaTAyQ0IFR2FtbWEHdW5pMDM5NAVUaGV0YQZMYW1iZGECWGkCUGkFU2lnbWEHVXBzaWxvbgNQaGkDUHNpB3VuaTAzQTkHdW5pMjEwRgAAAQAB//8ADw==) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAHg0AA4AAAAA0UwAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAABo5AAAAFMAAABgRb9KOWNtYXAAAGk4AAACGgAAA1Qm3+dAY3Z0IAAAcqgAAAA6AAAAWgJtGTdmcGdtAABrVAAABrwAAA4MYi79fGdhc3AAAHgsAAAACAAAAAgAAAAQZ2x5ZgAAAUQAAGK0AACqlqcfRnpoZWFkAABmVAAAADYAAAA2ZFdDXGhoZWEAAGjEAAAAIAAAACQJGAcOaG10eAAAZowAAAI2AAAEdNAmOPlsb2NhAABkGAAAAjsAAAI+wFuVa21heHAAAGP4AAAAIAAAACABzw7QbmFtZQAAcuQAAAGfAAAEeF+rfZBwb3N0AAB0hAAAA6YAAAdFVTctEXByZXAAAHIQAAAAmAAAALJlwgKGeNqsuwVg49aWP6xzr3RFlmzJgpjZjp3EyZjDOMkEp5OhDkOZmZn2ldulch99y4X99uHSY+xj5mUqLDN0PP8rKQ6UFtuOR9KVdM/5Hfrdc1UGMRWGYb6ITAYzPMNUtapWqGqZymNnVyrIPPVaBX6D3rPCAPMF9BXGz8QY4cNWQEKo0hOsNaoVyzQQTzLpQh4FLXriHddrjZVMqCvXDUjTEXSPh5IRJVjUUAb9vJlOWXx7GgsCho+deg0lIlm/2E3UaJKhM6XhJrgafYQJMVU6UzHsZ5yZ0vlas9GsZejL83VnWtudiifVtx2ZZ4O+SRa0YCiTCmftQNSI+V96i2twk0F8Uwd8ciYcyuSTfaONYsz/FpeobK3TY1iksu1mjlDZDu6t8C4KzSqVwJnZQCa/dmyZ7okHSIbnjTXBMlQ0T1S93tx6Qv+ib6KqZPJczXum2myp/1AqsqxPR7vgY/SISEQ5Az7gl8jRY4Z59ZVE8v9D5/LmG9TA7xrmVVcG4MfOffQPHFL4Z58mok7a32eRcyTycvuHGPGKj8NLy4CJ7N0h8QrkENp0yCt+jt7BEaC/Swz1lObpL8Lvor9mlphDzDmM9NETRw6ujIdxpadpUHVNy7JtrZDO5wt51xcoJtV61bQt+i8FpGOrZj1fKLhXKTSEd57M1DPOQ9SmjYoVrGXS9G7TcO6wq3Y+kzbNRqOWf3/cJspYH8sCJ+IzS8bYgJVHZWW1L4qBjQXtRNxmY2ey/mK4OLAwGJFwmRzNJzBwsVJ8ErHBTLlawgShYRFD72j1d6wkLlRYABMQAmNPqWfssC0L5TIowz2DGhe0EraVADQjw79jWY8er89daEr9ZX2oPKFzQTsNS9fyynB3YdwHCG7Ed98tzx/fzjAs9ZgvYoHi1GTmmYPMpYwyIZ13eN/K1GBOZSs9sDleXA+iilYoWGMc9SCe8ZyDYhFsNDLufRSvvIuJA0m1Su+t14KdZzsvC+bXYLM3boJxpZBrJDJnLDR9XCExt48M8UcGEYcw5rDog1OnBJYXZAQ/ufAKaI5OT1F4lgzT1oM+xdANNhjs/wZ9lFQLBe89H3MGDYmTc0R2RtEdlZ4zB1tW8+adl4soMa4A+BeQgFgAVXr9PzjWJxCMYce7fyUUBwx1w7Amrp0y9GD/iZNt387LRNQc3n/AeQEohmEPTkx3NQMo2H/yhONvpdOvou/T/LPAHGYupv52wbHdSyMcptFH8fG098Kep55HAWzWa/lMpl61qPZVM0N4FTmx5rgRvdRoUmekXkjRXIe46aBGMXMfr1HECnlsWC54+Xw/onh+plAr1v1iqqRFZpXCeYqQ2x4shDhRv3BVIf6VMAh+sqPMA0rz5VK+hbu5nRO7l33yzjOXLgzzu96D+UzeZoXdEmDxm63eiTEhcUbUL2mxLjh0zuHdtSIWF6vxTGNeOXF7QNp2bVLQgmWMy1wWlJB085AIKEXy9awgDi/iUVGcODzZm5fPgCthtLw45xf3N5GIVW20LYwvlzmUuKg/rmuxOgPMCtzEfMfNqeSDfgbeKZ9eu54hs2maIf2RN2XIeP94zUmH9L1HTxNYpt7dRd+rAn0vZ2Sc8NWclzdozFfctwZsC5Z1hTc/FCtfwOtY8RH56aflvxOJ/gvQuvGcZ48TPyaYlX/h1KO/IDNAswuBPH1vxJEXHHmblWqVmk5zZSS8IzWdIeBkihGW43zr7/b5eJCefloC9FdAX9/+4k1nvdt5PSuA733o6vf5QHAkn4AJ+CCdYYzOUDM9RFwvyBfcvx1HKTScPG7zY8g5p4rwloeSE4a27WaxQtNxrLP9phy8+h4sWarMXgEqGIpqgGqNx7GsWtK9B8qyN8LzEFT9QW+IwJO2XxXF5jgWApZMCNoNj8m65nssULaBENkKCFNFW1SDAXdscVHWAt4gdnRonX4RfQvNMSbVQSNUh0atmaq7waClLINPaSRd0FItFXpAEhUeSn5/+3t8mG9/96/C/GOPKfRM6BLa31NVKDlecnqM+RZzg+slMnLf5xWytSpVyFN86mnneCUVzmeQOqyyOIBBHiPAKWo4U8lObAsGDkyoAZbzjR/yYeLIKTMfBJN5ncH0veB4X7OeMmWQPjg/78xK2ccXmJsYhY7yzmg17WVDryg8EM5EHDQj2WyXleRYlk0b4YyrPYGPUQv66XOi4yPQqFoWb3SSJgOPc4rgg/YvckSifx9GfyqBj+de3y5JsiDhjzGIKZx+Fb6CnmIMZhut51lLAaeee3m4o7eXnHN5J6PyhptU3RxC/dvJq3maHY63Tsw3I8FcT7RR6rmq3hMCiO2JWwEEiA1YkVIxYgVYehJA87sq4dLun356dShsXrD69JEbxpNJe2oXmbKO52dHrXjcGp3NH7emyK4pB7nd9Oc5Kl+K6tjlYJNyMjtNa06N0KhEznHDiTVq8qA1jEx4r/bwg5ovPKQJAUTKg8HgnpauIIMHfyUVpskEg4w4rEMZZyQFk/Z329/xl525KvTnU3SuJp0rznUigmKxDgXP2868bvLkzZQbLh4GGUcUYrjOQi6NJi9Z2neFgjLRvdmJ4aVnJZawUne0/RCC3ZckprePDWURi7lQIgUvZMM7zjuyqPuHqqX5xGgLODDkQYw/ioMGRkduKBxamjpQY3kOZbtCjtVpHYCX0JPMKpUyQtalbHZMRsXYoBOuz675MJXeS+ZOYu9HnmrUhvTUFd8Z9567LZI4OOwfH5jS8HyT45AwuqdebG2fOleXcuFoNmzxjdlmVJvwl0sYERSN95YzZriSZyWMMWtEUvD1dGRwmbdSo5I2fMRAAEg7Mlzb15Vp9ZutTDZipznUV0/NGMeShA46+ZAj+0cnLTWCRJYFQGmrK0X9M0pt8n30i0yGKVD/zGUNBm34gAd+PVV3CWfV1midc5mSXTULGrbha+pV16tiokcSWGifevxJhII6OXwYOGFb7AM/voQ6A7BIQLVK+S9eBkTatXK1qHI8lL8NK20nUpkKRdvxie0U7ZG0E7kulJmMbXlgdsDzooT+V21UveCoVkzTuVwwO8XZvckNpou6UmmTx/6x0lwiGAnnV7pZXtYQAoKQPjkzNylwwq6bEyFpcCRoTe+97ch4b1AtJL+XCtlJLlkayR06L5ua4TFhn4uvyi1EwlFWV04Q9HyZ067deejujM/sH6XLCeT6yxepBn3MFEWw1Z8JUQQhX6BCm7bHGxy/WXNwV8QOF3NEdpzLdlV04971mFFUy8M1Vvdsfz8IxdlyJj8iIM5X6akHuoL+w3uXZhrjQ3OxgRiO9ubsbT5pIFWN+AUBHbDwyOR9rEKVOrPqS+i2MVzrk1msf/iei9/flx9rhOLRUN/LWXvbJQfS8VLeHGoGAoNDTj2kWvwZ+gWmQu0QZR2vpwynVq1Sc1v01yM3bnYyyTqfobc4grv/mpkmBAKGEV+864YZf95ANYkFYBN6V4z1rxgT5SMviixPWATd8CV00UWIlVS2cMSsRvGue4tzakwUta5UzF96173JA+MEGUZEQ5hm9B4nHim+eWaQWaG8bGGk3hPhXV7mSrE5f7gh1nEET0RKQfKFdXxt28mpYLgMzXUul/A6zz6/rR6w9jZnzvYB8i8hHlALLV534KahEPLvIl1fbHXz4Xo2lOWGh6CLNNr/um+wOK1pGWFRTYmCb9wQYGdydrAn1tecaxHdEqYGgGqbRyMHdl11MFu1haUGq36wZ0SArJ3sCXG5PPhJT/tHw8vpSDjWkxK2iSbhSHE4vO5VTzMDzCz1qpFKMY7clQ/PG25t8CJzszvRctYpKq6FahSXTTSdPjOGHIXzL5gaq7J2OsgPpApcceGMViyUyNd2sLop7Cr3jGTOaowv1+3YOZKej5gKx23Lx3q6ZIErHDejGEAECfkqrft5YWZ7dqY2tJCv8Qghfe/+Bx480RofvjwK/4wi1ujCTHe+P9kcTa+kYzT/I68O07W+wkSoTqbKe+vuzbUYv01l7lo/gsbmKt3+0paajVyG8SV3jjydoyvwFnMgJy97/rLGOMZQhvDpjdn2psKTrNqg5BGB3CcBRhBko2+Y+S9rmSuixq4JMcCySmucGAEMbkU9/QP0ERRl7A7H4WiQZwuuPzJrZIewPGehj4hq+0ePPMoLaFTlRR5W23/wC6iLDxL//TPbOUnmQPcTgUDhvpXTxOkNMPegb8FljMTYDn6KgLzeQMp5J5fKm/QwjulxKt9S0S1+tf3p9qcDAXQz8Bj7T92lOgt0XpEF4D7o54DDPEvPN8vs8DLFkVl3MGJt26LCclzGjaUcZa7Zwh6R8JB/9BGeR+3fb/8h0TELyX+9/N72H7IIVMWR3ODQffcinSPcvdfWJ+/lHNs3GYD3ok/R/DJBZR+shkREZ1nLI5VGdWN5YBodTuSEqlM/vfLvRfbWBtDd5cRIoY9Oxd7T7W8epROzWKZ2AL9hxXSpZ6CVC2K2OLbRGkIxe0cmzMHOWHy8NH24Kx/1IeBQ78hEsZQMJrJKXzYaBJCLdvvA5raR05n5J/Q9qgFdY1MN6GpqzsnzhorWFs2kE4trnRq7Qxjs9UJW2BSO3iKxWbXWi8KmJTodzW3c60Z7s17Io2+J1kBmexgAINospmLDC7nyfhI8s4m7QogF4ATdL+UzAwdHRkdGlo8p9i37jNToo9v4YYnwCzfcujyzdK4PPnCboC05R6j9Zdkv4XIjk+6XfbUUISk4MjA3k60AS2eI+exLlldq8xrsJgCievUjSpAP/9TxhWO9sVj+8fOq5d03BNikjSVOjPSm8z9zQkr9zBd8QI+OW+/FIF84vbtSw2pL+orUogg6zbev0hV2lRmhCA41VSc2qxtcQ9cdlkF1122PY2Q6XJSCV8h0KmTVDFK43d7Vaf3EAR/v32HA+ecBDogGC5/swqxci4v+y+/wS8psV9crhoFJweKeiFlGpXrOuQ5DLWCoQxUEIHDq83OElaBML+tox9zwMOFYRSvDof0Tw489TiMaOxwJPYCeY7JUbqcC7Zis9cQ5rwIVqHiWK+4aA+xk4DXm3GgCrT/pdD5N0hnHu81q07FmoxGk1wuZTR2Uxl1SsJh66SWlkR6yfatT0uw5CiDl5Hble99LFYMS3FwvQYiGYBgpGO/eI2GeFCrhkf5zzgaEyNFtJb2nii6VWCgDEg1KCaLVvQEsrIwQ3RaG90iIDlBVP9s/IwAAz95yCyBASN3efm3wDBnue8DhzERd8FZ+r6GnqLeP04xgOCwYbJNs9lQqr0thXC+33SCmhxqfoaObCm6n0DbRzxHu4r2xbC58+ZM6gPbU5ckg8uEuab6hxCMsEKoNSRMQV1rBxPmzO/OJq+bmL/ZxBID4D95Pw8T6lZvFdEq68VdtQmGp+wo5+lT7ZULk1euD/OzOX75hdnjmgrlQkCdOxonQn89Sq4WZOvW2nrjBoQ2LWW6MbbXThpG0ANWpIzlV5k7XMM91WyfvUSleD1+svPSSaxER2al4ynLsAUgS9k8uZld6W71rRgDO/KVLjbJx2ft0D3o07uLefrn951hEyIhNfuCcW/IxB+8QlfZB9CvMPMV7moOOpCnTts1MfQNT14NcWlOvanSAXt7qRJ3lE0G8mXIVu92RHo2oajcg3/SqNHS2IGJoTPqjBuruRkbUP9kAwKRcPagOTWqqyEI3FNCpjzoqooscVdirr2ZZrB/dzgECCd14A3BCsWS0XzZKRYGDn3qX4znA95VzIyGEMW7/h0v9pY5mJ6lmU1Sz5ps0K3NUr3XFxrCnVhlTpbwk2ckCm1Tpo6qwxOe3U1b42EAPwQC1Uj4lO9rIqXypBkIgKucivvCDtwXlN2iRSJdDkQDHcZhFd9wGrJFLm+2XzXTOYOH226kyUN6QvUV7gn9Ao+AAlb0UdaLA8Qr6X8ORy/Vx01t0FP4HseE5WN25kqnDp7rulXKSnAwgQZWyPCKYVS1NCU4MVHKx/1rMLO64rH9OwgEhMBwGDQPVxceedy6R/JovGQ3w/1kEvfjMynIpLVVqMuByx3bfQc+5q7NuDjbix2t5Et7xsTdc0iwvdXdsplFLb1zaMKOstTVqHJMHiG055831k6DU/hPYcu6FlmehG2/8x42TU1/fOAb/u+7dOKN6mFSZ3VSPopPNvC5HstPkaGgBtzI7OiQdHdL8RgqomrAj0P7XgGwVIj4OIc4XKVhyAIStV5yaggUMNlhYcE/c8/ar7VfccxdLyui/SWWYpjK0sp2Vrtcx9iJ3BDVq9RGUr9U6TlF1fGSTtwU8ap9ZIwsHItmYiZHc6FLFWIEDIEF9NOqzHpW6rZSOqJBFAUC6fI6EcGOHANnfyMS7kiwg1cDiUBESlZGldKhe7k2HBV6icrouo6K2JYyvInGsl5MS2Y4f/CGV/YQj+1Y/6MSB7SaeWiHtyr05TAgV2uiUdCp9Pr2prNPIURHP03B4OxexuhoI4Gd+BiEURTy1p3alEOUFywdEXezlPvBjIql6yRSQP2FkxRtNWShjeWU/p4aVMhaG38J1NPTM0w8/wmLB4sFTmc1yz6P2R0W/IDl5m3p/mJDA9XexasjXd+woK2/4kovFLMWin2JR7GCxsQ/gNnrwWgFxl590N6n6pnws67f/nO6L5ORoQHAmJLNz4eGWjLFhoC506m+2+jpwAi0aL2OnPmsr81zIQBxun8bcmky0hODrqExO9YhvkomyUN1seOnobaJzBNULiCfpAjaJYZjBzbyL8pS7HWEvvIDlvrlvZ1zl2AsuXA/RAA0Ltwq+wrJJ9lUA37wmKueerwjajB+vCc+d+hH88bfPSHNvDtL48sLxYPDUYxQwdIGuH5zd0f77LOuMsnGyOfvUqVYBN2o35NIyrp/Z7jbgZvwp+BrhnVTMFDRXG9gQipXGIl/H6Lm9e4PTmqCfda4iavM+wKzqx6R9Oeeo4M2Psk40/AelSL/gHNFrmfYP2j9ArLNpJbRfb5+iojLIrRDfQp+isg5QlpGPaMhdFWyuBd56wOOI2GP1nfzvNTcdYv/Z+8P2hU8GudWEtXhc1C45aMWn/Oh0Md+dq2+XuPO2jVtkpjbFmbD38e+w2vuuCJXedWE2MCbCDi2zerUOYV0PX7QYHfz2ahHUiTN/eTD6ZIcFXU4xzLucu1aMcmiTd2xhq2+KQchTjDd4q9fL9MjQ73ySX75OQch3fNw65+iWMIMzw82RsC+kg4rx3DKZbiprfIgcnBYsUxjcrXBw/XUbQYUSluzwooceAjI131+lzkxxHUc/oLjWmX3M2ZRzH96/a67XRzk3560Zt8K61lsz3aDzrvOdZSQ1Ak8KNe9eu7FpJdYxQ6FWzzfT9Hh9oQZ33/9pUKe32AKps6UhReFiffkKBpHjod5DgsVQVPVLpTvrOc3ORYiva7beOMgrkw1Nn7qoiwW814yEzVQkIhvWdx5PiZfv22S0Af3aPdtSBMJCpZBWOH3uhIRC4eERP/IdzFXE4KBPCO99/yN79irQp1pnPvvZfTpGiJ9IBM2oJGIpOOBYmHrgT6iFz2DOphY+vLuymefaG2uTTnfMNXqHLjbXe9dkjZzk+1FmvWBnNrtCmnQcoeF6gusIv/7bQSz1ZY6psHcIcQhhYYcGBvCmxiqcIhuYV3xCJhQI/7yNgIjFsDQ1BV76uPW2tfxxvrT/gD8PCsZDizsimrzmLhiQGBzYzcmtPUEAAIy7p9ib2WyaINnolnlOyg7LhFwo32xGCgKCu+7alFx+fyTvuNTddysRrdSdXOtw/iP1qF00m8ynnPprrVvc/Yhg0w65kzE90mY6G4Gev3gfCWzu/RfyvIpcAujuEB8gVx0rxPr7Mo/B0NJYubt75zZ/0ORkFntMTadH2p5cvjadTkh75rjB+YPzUvjCKQ6xlo4EngDS/4TwB84JF6Z65nw5MM6ZHjlqG2kpmOADHAvkrwjRbi0GpuvpwQBnBJF1wdzqFX40xAGXCAGQa65DnJM5adFGL9Cu/ijVNeV1c50+vkkl91YTHuNJO0RHW2PZG4zIIUR0dKOzmwUdnQV6NyA+pOXNVsSWMQhathFXzPZvm0q8kdUEwLId6Zd6QkkBQTf8DiUMhLg/rHEiZsocFlH7tfZfyh1+JIMBJhIxdYfIRQZLPI7kZvxhKnftLfmmsVFYqUabB+mY6fgnWYv6whtYJitm+ia0wMiKzNLkLyrf8HI/sKDdvHdy5HILYDO5/MofhiZzPVjeNWF/5Xc7JeAL8f47dQRnXJEYukX8toN08PQr6EdU4gFnhfBmNuCmGL2qb/1WIM0byGVyVNLClbKei4nqpddbslmW2Q/Bc6UQJ2on98mEX7D+CLAQQFjDgC6WOU84CWPUNuAbfNB0zotw6r1AEEGOPPrpV/HfUXlWOzUTNiThCep8R1VQkRfxiAK1VbS1DxRcL9l03QxSJdxLuEs/f9lHlAFLwPjkccRpOkbPgLUyiFhDY+FLmMhqXhNLe6/1y0o5IC0tjk9aRCpHBfXCG0xJmXv8YRQYlNFzjhtYAuHbX2t/B3E8gldg4h8/xPJAAF3PSsCWESoLmLCv/dVnvormiVcx9HYBPmAgNurxapv6+veoxsc2uL2XtrwsRRXsQRtqEN7t/dcbha1m8gy1Ne9V3MxQ4FXsDTtjoCpXn/QJ2oEk+54PYL2hGqL/spstmdNK6DoE5xPFnxBE757VNJ6d+ioWooUEvekmWyZaaUcuh5Hkt/xTAElLcJtR5B8BgYX9jnI0TH7nfSArmhckGXzBeYDan8QiAXeYx1cODmKk2hn7bAy8aqGyu//NoD+mGEy8BQZ12jjcggHhPQNT7d4AAd9pJJiIBG6/labnYQGfdz5WB0xDDFxO1dQH8N59SyuoLIryye1Z3r87AscOI6z6+y3HNWXu/AtfeBGrrp/60aOP3H4XYDHmGpLtg/c+df4FrKO0k4+pzANU5jKVOYLB/davnnLpCEMqjuTrnQyatJz+eb2h6/UOfcpsl+G7hGLzIIoOHhAnZxTCd0Pg7/4OY/Sx335UWVqUWQN+R/xKhJoE8KkXEYDYGozMiwKi7QkBEKeoLPRBNwA3u6PLQFSma2mf/TTd8ec73xG4W570z7X3nTjx7/jl7tfP7/b6AsT9Nk3tfBkQrDl1g1nbeWJaQZmwcNgnyAS3fwH9OCjxr0/zoiSx+GPO8xad5z1r82D3ebftUdWs++47gT7f/XpXN36C3nc50uEu9BHGcKLZva9Jazk1FHVLt56TQqHZ+PiwcCfhFbZRbyoRXkCKImXRLYPCzYgXVDRQ7pe7eIICquSu5ZjTn4Z/OP0XG99KmLQwwD+M5XLut5Gn/wn+Cj5J+347KZtYmCzwnT59Z6fNqZprLW3HON6KtFD3moMblLfq7jXRvEHvt2sdtuXRswfKcUFZaU2d8HMAHFEVQroBiQOpUIHHOrttsraqCgU7PXOhSqRKbtr6OcDovrw8kOkeFBFsS1qqHomPDKiZEydToqr6erKFbj6ay4RYbLLF3mww2F+w/QlipQOpvOCPWe8fAnGHEUqXBzI81dKgvXyJ4lpkxhxW3GO4OynONoRpVNdIQGcjzUkAyI8yblWkAVMDdzeCcqTNDN5ifw5hwLi5qvvnjiHlqr3LTV5CPAecYQC2Uzo0u/jZEuHi/Yo+kRMEn89Ez8mPP4FomKs3nBkM7Lps2PlySUQiQAn62KCCbLv9F3hI+Dt+gFpXtjITC7lxakPXSu+BT7q7tb0JakPGs9Dm5pIrGtWI6tEhwo4NPVpDL8JVvXGKvxi2q7H+RHF7KFgKIKKoJFQ5VOk7ywCQLliGALnDosEZt2w/h4BN9l+62j8qmYMCS3Cwe4ddvY7U+JXLJZgRVdvzH2RTZLuZFkW2WvI7yIKDrBbwsmvaabh2JPI+DKMAetBu7Fd6uyPQ68FK4UM/z/LC4PxsY0yFm/ctDLkXF/tmtuVDWinRn5kIshTO9jfaX8OGgsoSNPmB/uYBIXLizm3nnr8G5nPj2fDs2GXFVD7l9oijazhmmX4qbbmYMqm0OYNPbUbQ3St8wxaNxTvl0XFqswrv4dt/bmTP7IkZMiaKgYO7R4KhwYNB38U7WenQsVVxkldrKYN87Z943r+QX0gaSZlIrFib5uTVoWzu8G0SXDR1iY1hIDno7seF6c/VlKu23vhVjhd29KDeXLOlS0Zd62fyVExXItNby7n1StMvOakKAbkkwNwcoMDqKGhcZiBajuqsqHQVJAKXXQysIPUkaF5W0fvfV56alpozPKBS2o5Gbd1CiC3GjcWp8nvf735tWaa5I3a6An8Gn2PmaW/0SudrycN7lgYAU1s76KzlwWatWe8szDpu2Nn92rRVXehkjabzVyfV2PxatqDO4TLV4BopfdMHUjDfOxiKG4EkhzhguS5DQCgV6T8+UJXDoja+p+sKAyH11pXV0TEVJfyanI31Rsyl/mrv/58uJ7s5jH1TsRKHX7Ga1di0YthYaOX0VFLPDfIInuxNhANGXOUBAQAb4BDCxYFiYXvU0DMaAQBOOyYEdVIdTsS3EX8x5hdIol4u9DZLhUQ+fHOjlYoEZrTRVDTQfj8dE/OmLNoFnmVpjuOU9FqnI06jZg+1t45gLRdpa5FqW8OosyynTTOXmnnrV8OgYBiWYZpbbmnWnVZirV6r5emvF1oRjibRsdWbfABCSQ4IyucVISDUAYBPJPvSGbJx3fMWL+poSP3W4hX83bcjt6YH0L3vEpKxdKYOmUaXPxU2eeIOqIIYzW+rDkdyu6eaSXDDjSrleDKtqM8yCtPr7scTZ89v6yYu7+q6hXmtf/lDBb9rffN2B/sowpwatQX5yCHdk5IVqjJ6dtNO7V/L7bslDlyZ0COPSYYrx+mXTleZH7lyVN5ZDkLWPx6vOKNraaCT/N+7Ls1O7ilgATj/aqtvJl5OdMWJTywJCNhw2nijSO2f9PvLo/1FO56wQwaH/fM+eIYYMjjSAWPQn9PoIy6HLazb37TXqsvWRvAaF7W27I141dajcG/whVqtMYKcvnLHFbxaNTLCEpMTlQt52xeUgFO29y/cxquZhEx8iycVge9i8VHwqWHPL+TPylv94i/+vNEgoqCvdY25wjgLvyUGXW9AGs9z90uK3RpCb+8eXp7jqd49VG/fht8H1lTIvL0OUe5nEfYk0w+ffKPLfq79mXecl8YbrsJvM7fSeaMINmo/ze1uk+g/jzximFFkmeZ/PzapLjQ08/VOYLI/jTBA46wTFurC1Zlb3jlC/6uRC78ud+dhGc9zcTzwzgH8n0d2psdIzNm2B18nX1H8dlP8zDfi5wL3fwfLVb7/id7sJY7K/13NHEbwz/B9yggM93vIpOVnne+uNv/vD52NPtjcQqy4H31Gr94VEPdPzHK+A+N2LG4vHgUjEopHWjIKJudv5JTvHbpLQhOzZxmR8SMBQoI3AO/zRXfp5WPdo/9fctIedbnpGJIotmPMEpVgejy5wU1tT4pNYhT+C+HOpXlzo8/lBb8wumxJs0eRtDwaT87UhLdEMjZXK86V0o2xHpaiGg7zvUi9cX8wMHnUlnr5vfs7IcaH0r199a70wtC2mBdiscm/2ZFrnbX9QgGoRimqkU016maGqUaNvmjQYVneaqGDrG1Xms2NyN+oAkFKs/KdnOclY7hmZLl1MJScrZfycX66SCAQyL1BAxyfwT40Uoy1eojmJ9tT20ZGelv3Xxw2/l9zfwEe2XHlD8P3nKpbdbkZ1Go1St1iakk9mpE0GmYGD9pje9AMEyf2OGiOYwhvwMmG6Qv8s2vYtcMchxe8WQgzZzfOktXzVdW96mk5A1l6nnfaVl/oe+vUqVOnTp1zflXg1o1qtfG9xncC+nE/7NrrAK4YWb38SgchvD7QyFcJmmXks/eMhCvDpGlxCbH2PWRNkW6mrTRbwx+Hx6vzqvcBJLHBSjZezfV2GIiJsNHNwLe/zKap1hTlVYVOO96V7MgmIzYFZAav7KlWs25HMsp0Aymcq4cWhWV7DD6hIkJLMoJ+kElUC2wvKT9czvrFd2DWqjtBXC74KKjCqIpi++7QClQXjRxAs39wMrE0Crs2TvUbJmO29F9S9FydGNHyzKXRcCaSXxRfbsN9NN6dC5muKX7BsgymBseWuTSdMC0nt4pF16zt5CbTLbZlNoFAnUq+trkjGjMot638DLVv9BBDBrcZu50x5eH6PWzCY1qnqFkqmDsrkzfZMi0NciCl08D3gtzXfdddAMwr91vQrdvjfROzOmwxuzKDuCf02OCDzy+GqmsMYXAMxrtHl9T4ffd0kY5hP277tNJ1UzLed0YSRGG+NMruFjSvsFZF0S3TnGBOHIT9lVZ7LRIAvSSyzBZb0JzZ+AevoLy3GivNrhZ3AHRr1BYi8PBjrD1qZrdBYaR/JByOqcnNh/88mOWsqll8aIy/5OqMEfZbPiZa/hn4oPKreIEHsOni8f1/WB3EanmhQ2giwDPBdr2vczItvO5RvA31eEx/GdCQk04z66JLQoZXJbVafioTFioBcZB00cYHdNOEE7ploO+e9ITXfcufGuH4oGqtp/FjgprNcqR1JTUl6WdTyqiFBBVbIAtSKcgCR6rySs5gvV5d4JeETw/vw57ejrjB3e0rmc7AJkPhm2g0RmF4cJeli4OX8HB7ktnb9gnqK/39YEfNMjOJWYoza/0Bj8OLw8ZpTX/uLSwSQ1UD3tf4oMHh7jt/UuUG3Bj4XTEEL3oBzY9mj0Yy1FSXtMD3RkUNL5ZjoQYLMtoCcks+wYpipcfmvQbVhYFjP0aj+uBCL2SVzXtPEokvhHaut5m3pkiHBhcvQTPKclneuaJ/nBmdS422dqAOUqpzd/dGk/GRQiiZ5h0YnlmGoSURZu0+EDWJndwG04SGLJTgryKdmdq8DU2C0k2n22SPUSpRboY5+E0a4cm8VSGJXXvQd1IyuBa2SzBfU+bGlMwtk1n8KcGDZBBU8nuk5MNCN2wiNnYuAJ2yvYd7s2GbUu6GvFxnLLJ2Ax8wQ9zedXHEMIeODPano4SZG+sZIaYx3HlxqDqhh3vGl3ckvAxFpMxZVOt79HFFbOS0BjfcYIZjqnJl/ObPk1MOjFRTGij0w8sF3SMybk59H2Tdd0Jy1kSjBInwMhJS9RWiVi/Px0Z6LYCdDCKRFYXbhmfSffEEx3g8DB/8ICGAoOPiFZE2L827geMbiMEsB9KpA31/BsTIZLeGgcETwAB10wWEowR0FkptNQVty04z+DD+SuVNdfp5xEEsamxcKjZpTynoSeAplZ/Rpr9HkSePeGCPJWV2OHyYRTde7SIABWdlj82Y3bPSoQCARrp/L6ZYnBH0FnXFmQ7WNdeaoFsrezwkP3ZZbYK/NFHYawPkB1iGDeSdzE338EKinwNzXEJIRyjm3vUStrlc2cBecpeb7URCRD2ee5orX6cp6qFrUjZK1YhCQEX+JMMVbOzfPfgR/MgNPTPRUu/F4vcd6LdJTQ1NUaVyk3LgUj1Ffcrz8EJZfx9dN4S+tVlZRi1z6xUeAbBW98vKVlfZul/ZiettQ6fGyBoLAKJHi5G65ApYa0YMiv/gsoma2fit0Tkmatqfc9uf81JR0zHu2qy3oN9z946sbRZHrLvvZoUeplBUT8GfwozW0fTTCoKU7NdTqSbIS7oNqxJ3fH8ylRjoS5cz3PPixZgXSfX1B2c5GPai0Q7u2JCumnz+sCRt0z1Clz6OX9SOqAzkK46usQJsuKh3ExIuChpT4FSfSYm4kgg5ynOPigu1ZDOC1urcqjT1btP/IieYEuFR4SX5GsHaOUf2XH3wWDG5aGq2gvkkW9c745HB/n5mAjkY1y3KOKM6GFZ/PhcJ0bZ+i+qhNEYvnm4bae9IDS4zY0MhHc0No9EkUgRsT8yyerKUGCq3w8ZoHLZv8Z7XZW+cOlFOlxD4kZXD/GEEhiQPZEekO5QIO4ats3aHAx8u2tRAY3JnOBR1B13scAxiddZkE1+xiz2diYTJkCk5t0rop5vw48KnfUhwbvfWPoJ+Xw+wIwGipV5pAYOr6614El/MfJRmkAzRBJ9LsUv5nil1Q0XVVm1elOpeFnaTsUg6S8sTtpkpDXfXliS8oaqzJqlftKwrn+9eeHdFfkjcXBfXX13sXxox8r3rkSBgeck+ozfXnoml09GcgaPEWtY7uDaWGuoq5obWxtnAVDw6ezDsLe561i/yxb6l8geDU/HX4YrRbX02kOUje/oApGV+CfbCq4RXxNYygi+pSIAomHfhSQ+e7zAOeHRJsS1dLLa1FT7ZHgMDUxKmVcbDyXI5mSqzSClepFBKpUsFGSPR9uLlcNhHXSpMgUQqpHzI1rjAjKLHDZdbJjRsWJHhxPqt6155paDqlZiDQ/ikFtFKgqr2qKWomje9m2GG1GiADgtQ1clXGWOdGzOMZdZUJww41pXJ62ndhbak7eBdHdW6G4259UqOeqHZWE5mxqXaOyxbU7Rq+A2B+ctJm5IHtPqobxky96Gu6m9F3PABr8gc0wIf8Sr+SnyFuNr4G5jN8Fe/mlpW102vlEjYXxtpQ3xDROUgLMXVwt9REeXEWDDejArPzui83i4rRK36K7rwWOB1rt+5HyLZ8kDy3pBNSyXxutXif+TZ4a3XhCh89cBLDDAcm+MzH/M8skz+/fKXwIntWy1LvfX0ANx0+mdaZh5DnZIW8zxoqsyFqVILDJLyV3fSuDsY6bx72NVJ+aI2ayASWjOSYDzZn41WKHQBpM1Ip6X7+fzkChHBu0i7TLTTof2ehgvwo9G6TPONy5yDQdLM8R1tpi6XAze1RCa1JC03vdx+hMtP+C9XPZS6DLToZXsdbqxro4+ydTiS7TaiAyum1xkmge71w6S7mwyv7wZiGhuWrhtJWxS6sYKNmEqFfG2XGdN1MtSm/4mZ0mFkeMVKQgYrBoaigxR+BHT5imEXwRIOg8KszAqeLdx8Ci3A0PCq2UwzsdkTCdBXtNVDXjQziFd5oL/sbpDRw1dqJt4EP1eZge0IMpKgZLXaNGsCi1BpkiA3uIkdFSoHb3JMvbTp+IkrCCWGiyL2evwYQcdARq44cXxTSTcdelz8ox2GUxC/O47qJpO/Y+oRFBc3FRyDGsdPnDhuqEyqz+DX8UfCxpnRNglP/brlS2odVHrqJTlSyzczg1ocC6Lzj/m0tmSwcdm2vgFbH4uGq9WSJk+Umx6H9VjBMCJASZh1QHJLgumx112RyO7dsQgK2ax5JAIqpWrfVbNTRri24rLZ5Zn8m968a5RD49MFd3C8djCL9wHP1XTdYqzNGoT49hvz3b1t178lQmt7EjAwYB54ublc5VCtbae9nZu2vWfXVQNzDdLYAos22g05jeJtI10ayAgfPBVkbndJ9H39WfGTiXoLdpDxIKmnVG1qeVlR+fN5Uz3AkKkTNbaSSLksk1lv2+/4k/bNm4Gie2Dx5EVxe9mgObnusjXLk6wtFm1LkHZOUl2cLSl2m0x3hutCeroGOAAhxGaR+cjLus026ENLaj2ZjrFNUb1w85aNJ+h4yItn0rF2G4GDLqIRPS9YXCTMdhmQlYt2JPW+Mm/8Y+OfABRapUtYCY8KD9ZWMSO5TrT31Uf2be/xSGsUVzS1L3cpNh/qCiDeyaZjibVgKJVHIMhcLylRVVzranrAaiLaq48Jy7Q6zptTFRXmddaN5eMb+tKb+rfsB0IbPzyYzxbGHKQkQxhzJjsz6f2zPHNoya6B9JLpK9M5AL27g6famR5mDIBAGN6fXFIpFTgeO9b4iQloL73Mo/2lsbV+ILgtj+54R/dVu6JInXt6nMGqRQnRI9XFjrHG6Owb7ehc3NNr0kTZKAxxBKJyyTCUStLVpfKUA8hy7zW6mOV5QIe6bS8/PO1nIP6j6DdtmqsltLLgYz4dD5uo+o1iYWAV0LG6GhhSC67CTCU3FiGVwkiUNP7Dw1vF+HD7v525Bt/Id48YXqEybDyV4Uba+HTzXCGOTr8WnhJlDwqP2QZR9oqpxbWkKltMRcREWKZMJ884ceR0vjqmnKyt1htvQb7W68jj8pFmiuOBWQyH0IzwPEnRmRcdrPespMQ0CVmu69X+auHQxGAPYRCv2qxtczle2nfT/0PT1ePZE228jcJ7rkHkJg1nvXGSoKsPXPLixElAnSHCDUj1/MHausUjEzEgFRImsKZ71+Heh25rfBGBMeCHC/X9faKm4MeH4C/VyGspa//80aDCOWJA8MGzxn201SIf6pvC8tuv3SDGqOMH09JmBoZcuUNaAuPqE+ST1tSgJUrzVxdqAahM1FqQN6UAeRN0nxkUnifw8yRbvJWKdEFDFZ78smmXxjPHdp+KQZBdGu4dKtnmZz+T7UYAu5ieWZpeTy0CUyugmpN4lo5uWDEFxDJWb9uQ74oDYHdDT0xQF3fdeOn6TNtIqs0gxABPDU0AyO3Zg28PlOSMaXEEUEMbBe7Qy/JpB8DCUzej3jMi8TsjPTredTdagF62/CJiMiDw3DjYf37q5BMZIx5bX3z4z0vrNBXxfRp/LfRKTfhEdwiZ3LZ+6fhwhrTGy5s6xGcrb4ntzvPWz65Q6MZWn65QH5LVTXWCv+SNH9xqRMUwT6Sm0CNbl7SntvazZYdnxndEAL1jW5zNkylHB0pn92/f2zjQNdQ95dqxjmLfcOcAdPEZGop6sxF2/NjvDe68JYM7fb1QW8ZiK8yd5foVRjpnbTphDMTDnLIt13WXR7uKK5evz+Q6h6++ZuzqBKCe3JL0UNPAjx8KOe1skdMLRwsnzhcjhA+ePy74f5T/cwMCvBhvV6uauMHKN8naDEpQnHzxDUm4FquTYaAhsmJVroKXF5cmiqaeZCMjyXb5hlVYgA/g5jMZRDFh5q2CE1gYVB6xJ+Hf4R58XAuL+4a8D8ESL7xaqY0pAP5BoTdArCjkQW2CRvHxTCTswcxiz4MVa1hCvOMK8Y4qPu7XXPFb6dd4DmVmt3pVtXJFNhKyK71dAJTS0JoNIHp+pN2G4foIqmve4hnwxNsOIIHX4iPKAg6ZoCK/Afqq1gJrFCfx5EuM2cHS4rDXRacG4+3Z+OAU7QJ82+BMZzGX0u3JPWHOw3smbR0k8mILdmmfxYfULIdp8OyY8n1nkMcPLVyFDsKYg3969iwHLjzLgch/b5oD2g4cFxjsN/5veCnw/nN6KW6BBrwdn9A8fx2/kI/AD3Dv5WYCTevpV2NZivuhNETtj5w5xCfaIqZBXxgBvNtKtx43UTjv1vplhvOzUIWB4g6sk0jsXDjCiOdJtetuuW6bYSGcDzUIhkOPzSCapPHTxs8WoARRE0JPovglUeOEqHEkxBSuWVRNq08EaYG8Okak4VTTYQeh6ZROYIf+2t8vWnnq96gjPkY5p3NrxeF+Ar+//t5npCXXgi0Z02aFxp0Y75VrYpwPXzI//PBWkLmfHEDkpE/8L5a/S5wLb9L4mpOkDq45ErYMd/NkoVA7kBtpT+z79+7/7O7+z3NBT/oJ2DftGFq1rLrpypQzObrjjks3LtnVeO6bSyXxn9QIUuBfjV/WJqWPHMDPEvJ9etEcHU2O1lrB3hWUgwOPN1McmgBxmNWjBD1O8PLDlFKD2ixM243QFSJ52l0Lr4Dk6nQKWTWtG5HLttnMXRGCj+OnDWTY+ETjo0wn6Hu0YxT+9vs33ECoG5WnejfgMbkGnELLvENLCYtvWnC82tmWtijx8+fHCgnZt0vK7VNQfqKSnEkXFVOLCVKpCOoDvheCiUOtJn43BBz7gXcb3Gts9rjRfaAbxrq7G196MfB4nBNmZeGlWYsRcQYc5mL3MwD5B2OTRNfJZAz/7S9qNfFf45n46zgOZB0GhABzsgMoLjSxUu9WUZ9Ia384OyQzEjsbJBMfvzD+UvUJheX6xplkeZwW8dTvnjmXbT4hKHo9vk+1eZKCjPgynigWqknhz1AxgYpSM8ViYG35MTKF6EpyEmCZx6S5Jd6TxsZ3G98igISEw7Mdp15wCnQCBchnu72lu6q3nTiennA9Sp6eS0zPpCs2QPe/kl8SSpEyPRZdW3zZ+z7gxSj6ttChbSZ9oLgxFpVgbCDRdPcBYiAJspJln1srqK6pkULN4ZvzplSzuwXGt1ySqInMTj4bSyGjagF65Ijleibw9ZPx+A0VAthWH1qWzxSHeThGYLw8lh915jVQrPG3MYUN9GwaPcqi5XHsNKge5dOb9dzDIfBuqA+5kc2DNtVBh1ylNPbC6Nve0tRKoBuv+kDhkShUlBYRNXqdwgbu1C4RMn1w15ZN3ZqQ6WIrleWWcG+QvztIFqJiZfO1IMb4fG1BJsZH1A9S807RcgS9aOPvo0EtEEJrZ3ZHACK7Z9aGAJnuhEKypoLGeRSkt+lUWyjUdmqT53Oh8eDKVTqx4ovGn161YmraRT2o215AozS8nsWibP1wyUDYqxMKZ+q+F63VI9lCqX1ktYV7FVdg9+r1FtSYt/qb9to1K9Y4CI0vN1vbx7VuycnWbmlq/5MaHT8bJ7jyDQTKt6bcmoz7H8Gls8mBYu8qUwfilvt42bGATLTnTTgbLwD05H4dLKfM+/spMVjKdsVzA69y50Wkhbl/x8G1YY4lCUU0e9OLXziRMclTTy3kylNP2QNvW5zuNZFiGyPpttqS7pekcWCgVWz2Zb9fa0vL3tsvOPMOMW86JDizVHKmXpX2USoesEWIB1ZbwO6tC9qpHNSAN+OCY5IlranhgUHjj1HBY+VNoTB2A+UGJe5Ev9nmdcyGLSN5/yXMDN23bzJqWOHZajii90+4lHBD+vVC4QPrU4imkS9Y/Fhv79GJPLMKecPkf4m7dyHqujcQ0lEH0j6aGjg20VXItW+42oBNo8vbc4WuiWPT+a4wAR310ICn64i7diPo1OoY7b7k0npv+31j8V0jm0ud9Usv6R7JuVxlz2v/Bv8CHWds33GVPf9vXV3BXfLjZ98lPw7uzsIpYSs+ptac9HBet5xhS8C/eE3aR58ttVUSYXQGMozZllwwMxzPlOCxts5qfiDmbZzMIbUtStSqmaX/sxU4UXsRnIJv4GPBOho9HZ60U7XzUH7uW8DKolIhaKlUJJb59dkuwtdHOwWWLsMXVrR81qv/X17TWXn9u+EO/ISKjhdVy4zKuZYsToCzmyyT/vB57drsLeOin7TQmFJ9bnzi23aYM7AtiLT1JqNt6Vi6u6QTXXejhGUZibq6OCt1p+WtZG97GMCyHfyEZdrxzrWzHToxnFRnyjV5OTtTf/wrvYz1fuXx+ky2zE03FY2kHRP1jtm1nfGchoL+mqJ/lfYiwdvLV3dK3kZH512kE8217BTuehBlskZLkpQKRapIbVCLHPr5quNh9Q4uYgJn4QIrnZUDtZqKfj+83XYArYQxEI2lDdOKtHUZCQvBsZOVZHCrKx3JpmPRgeDGdofTgCkBvyh3xK/Pdhk/MZStT0eA6OgmY5LZNuoE0Fla70i2tSU76lPqpu1lYklX3XKX1rONY0MdS7ozkomKu5nuJern8mLA2eCqphG5HhpdpdYlbdd6xMhczso10ciz1yctnvusZYU0eFfL4VlXND3XsQbC+9YDDIfVjN3UoDlfQ86kHEbrE5/NVBDejzSduVb3cLgzpVu8sRUpNymHT1rCwIdGD+qnv49flOhTojwiLdhj7hGJJPeBCkq2L0+7nq7rVt5mdl8BdCRIKBrO0Pve57p4qpIwHJ2GuuLcNhlLCvqAomXGukEuGS5oHhb+qD7R4y/WNBkD9xOKKhUpSSqszfzINy97mDizyGwimPiLK+K8JS6jxJSzEM5fi9brKvy2L7zNiGYTDIhuwAPgpA8cCIU/AfHY9Mb6cmIORsGwsyOeRH5QZ6QQa6uOWkMuGYkaK2q8VNDdvJOaLRRLnRjCmmnlTEsHRiMx2zL3i+paFt26EaYnxlKh2gtGkp41XbOpZ/atiZhDXeGsWEsxtQS97SKzwmkPOzaw5z8fQVe98vf4sMKI3CE4EKgHVTvVU2TKRAv0p7pw4QHfeBVXJZy+snAwnveLDpIg6lFXHE3WcigNm2ZARHbDIEaaEm+r37xz84aJJWHPzo8YDoLJdMLbDvV39y4aa0+ks/HexQZMjs6aum5tvDlM8bDLcajg0kKMV4o2A7froDk9ZSVrxUlz0bDFdIOnLK8CHYvai329HdVJm1Gj0m8ba0rV2nrKLfjP7SfHujbErGjcIMCY4w7H46umXIu7K/p5Yu1QL7cdvndV5B3UbitiaLYtZRbbM+FEe/uaMKDe3jbAewmzIwhAhW+up8MyhwqRaMhIlMrpiGesKkbG+my1fh0//Qu4Dz+hVlnXOkeTPmOrJcVeP+FiIhjyRltGE8Zb1vWsxwIcnLzm5+zAXiMc2TW9J0FgmuoWs3qKkKpsGh5CwRsHseP/Z8QQKeqJRGXQLLWlGE3n8/3RUJxf2a4fj1nhLXeGljiGYVULDGyyeO+bblxvwYDRlvHe9biZwFB/zEt2Fas8j9kSmMtXf3A1hXCbeds9SVGrFae78XqB4tkiIria6Grxpsu6KS5BwmiAeFdJEoELZz7PiDUxcy0LOQs8JPhv870PVS7vwBXJfLK3WkmFS8VkcdnNgzJnwurT7XUj1NjQxTounjKow9BMZRI5fuiesVpHcu/ugVpbR/cQVtKN05GUpSeKOqxAxJiJVyecREdPde/SQtcgDx3Z3I0Gzzp1qy2z+CoDLtt8PNK1aN8HHTRch5KejiPVynvqCaN83RX7+iLmQHXJaS3bjvZUwXXwIiR8aony53QLv8uTwp9zn/YmTavHfVdEyxJ+876VRIvnV8Wwx5pzKKX7ZrApDVF/ziR7ZICvVt4PHm9ZEVYucid8M6y5FravfOv+wCeRXjExz6gpjgZB5RfqBneLmw0dGUn15zoL7VkGdGM2b6SNqB1iAMi7SibW0hu7iiniuXTdrSRGXcT7UL83DjYWjEKZsDRB3E3AmygkO1BnV4MZGSl19y0NATVsIxKnhniGhD4bwW3bwnumczlnabn3Sl0nVE8Nbat+7kOFXmdtrZgq5gZyRuYVQwVTp1ZvqJhOlY323mqHEVlTjra1dZOQQ+Ui89B4Ggnq6zj5YoKF9e5OXiyHiE5hE0IyVM/rEUYOX84X76ocHCvVexDRMqnBKI17BEPwmen1faBXOLmxvgi9dFswk+vDR7XnCl04Kg0IkIpqvDqIsjWkCOdoKod+MwQrOrCmQpz3uI5XVCgtuNi6xrNSdEqWm/OYM42906KdBliU5MGMhcJtugGkW2cm8fSY5VES0rkOYNsIgFnE8GTIjRjMoJ3kursyOnQAy+ej/UW93htCIBgu5TiPpZkzbEN4uMCBCqyqO9JvizU2049GLB4NdSaXOkRn7pRhmcSlYSsfjybdFDI7Holy03lPJA5GeCbblh1KmeJRcuqVWZ0uviZMU53l7nBHWQeg6NqEoBOLRsPl/nI8N7MziuFF1bzudYS6lN36NPkQnNa6NU2L86LPpjP5zNJ54+8j4Tv3i+RDoTlKjhVYwlELwh5ZEyLRNUeigECowRIsd4LgM8DSBtlyKkls3eLWuhuyTHdp9oZ1xKEGQZskn7tDrT0fOb0Uvo+Py1XDY0LvyGWUJpq5jqm4aBy1kMloUhzGE3E/dVhlz8ie0W4B6shx03UuMJcARq7aIE51BIuZJ5dxnuF8cPMovClGdUoQEeI3b7MJDwHjuPnGGCAiEbfipHCpNVfyPPyWtbqSUthvnysVTZOr4StGCClQ/bllVUEVF1KCIlOd5tZU2wyIOxyJkTy60jRXHk1yitxJsPxVc0Qslj++QSh9CrZuxhMrTqRImKROrEjELF1w5PlbFT8mBT8e0caFphYcjzMWZ34epDhMsKBRRD6CcH4LyIHvrYqEFSInosaabwY82XBVBIG4DNzrNrXyBJnrCK5sGd7dZErsxs3IGYQ4uNtuji9gClwL11IbvLmSYkyLvCwXJxMTTbGoVM/PnrPL1QTYhDm+zLzpSiVTZ+XdZWcTOPitRX1J2vr8JDkHT88mhExJXuM38H1CtUvPJnm10XPKnrp9lqYRt8/eOK2CuuFaj1BCTQSMXL2+pVlUi6Ramw5NSigJXdMq0L40/+JMw53cHKXEUtJ8MrpQmlE22LOb2CI0tunkQrnHRiDzHaenyYfwa9KXqObU/vRtbCII+rbu4VAtJVPamTwImVfqL34+RuLmcDs16Oy6QmTlIpeSeGTVjni4M4X3NeBlADKTiTaes+kHgwP6Ihs2xpm35eJVkxbqHArELptxwu0+G/X7G43n6EgNFxHu3fT9gQE7Fz6218+vmyZf9OkENf9QBKo283W6okqZrZyxlt1vhLyWg3bC1aLgRatCxekZixlI24dVwXU6OPCDTY3nUIaGA6Lg0y+DVFc4vmNVBP9CVK3TIhlmEnty1cVbPBaPXHQik+YDA98XjyC6BkVdPHKfjqIGfl/pFJQ+KvI7NOqToMgcrVS1ZnoY5Kic6wY2dlADX5yUHYmHmM/CrhS87LQoB2yDEQr3jr5iy84uQKjb3Gc6GsyamS6GVi36xyYTBc8pEsNDbDxn9OVbdnYChKzciYsiAd9tYrIM8WPGHYLaDwlqZ4TOa3GWxGdIXWu2PjBWU/earT+/dD8L/ADVDln6IkTo2rnlFaNwN1fMhMbJxn2Y6lTMjBPqLloZKSybpBZQQ7D/flHLvcfi8RBA584tLx+FlxLFUCoeu18yVNWybJMMUuA6WrIJWvXRmJDaIJPzj1HX0pFRkhbZJAkbFuAPzqu7s2BFLYD32FZ8esP5lfiG6bhlVV76voA2OginpTaXvrQLD67KKg9UKR3cOflHjLRTmdCS3kxmEu47vOJCI65eiCZL3QSj8VbqapoWDVZLD7I1/hgGluq7JtsyqvQLDXyT0HN4RTyKQfHn55+iTPuRatO0sMwFIVIlyzJVdonikyBnhgG17p4CSk09jIQNHyfEDYV+xAyD8W2vBOKAnIHftpUYaaMpJ56WknLiZ3P5k54z6K06MHJ5KPTMv+h5vrGTEQw7TF96h0VBM5h4i97ON18aoYx6r9rKmbQSAjqTgmjFK/WZzyCWLYx/FhfvmLopDgbhzzzkecSrbU/p8Dtbd+/b6ICuh6WVUrlhxpXvC2iM+1ZHoG79VRYmlI1BLuf2vVM6c2SVU9trz/yzsCo49+iuV7i6qO7S6ysa+nXFNwu6Bs9JGZydCeeieO72czEHX/WHdWlcezaGqRr+RFDmSku+a6G1qQofmwgQC0EqSbDovThUUZpijkjz8yGrVtbjNqfrH+gdtBizjj40yHQ3qpdrFl4e8hqPNR6zRlZSVh+z8EHghLzO5dbEKtkTzFesTjhEt3SSue2AjWASZ9WEpdbLN6o5guluA3SiogB5gWhdIWyxpZqW8qgEq0WC0W98ns6xGQwWWEw21wgmEXkQEYcqTkR+AJRQnRg2OBNLXYac2ntuawdEpCg4dNsem0qjbHbMAdPxdLOSQ8x0mfBnwAhBF0ZhxB7NG9x1GOt7y+UolT9ELn9Ln/SFcKMwYje+2viKG8GXOSPLqT457DQea+H0qPKcFavzBlqyuZhiS28WIiG+iz6yplpVWwtcLrmc4Bz1re8oZCMRwWTKnLhk8txDXhjvm2fx3I1h2K8YLO0xwt+8yuN6WM/cvt8kBvXZG9Lnuas3OfuYlAKQOw4F42KwfiHzsx6kBzwwoWLivvoWZwoBFJmAlzsmOGOzPkP3vjgrSsy+eK/Py6UTDhDOw4SA2SXZWTG5mFyJFci+ao8UfFb2P3RU1qnf52J+1IYRGKWc6pwK+fkLd2SZ4OWIg/eF/BWTfkw+i56IGO9ttXvjMpEhYG0OW5ep9JD7rB2TqyMFci6jac1MRL1aZJwrsfYzxqFPZ26EZsef/h2hg1k9yRmlK+8oxm07Xrx3hlLGk3p2/HdPL7xrWfHiS3HAnPtCedqyxksm1s3SuDiCOZc63Fi2HIDSRSscagEy8zWrY4yGKYttfNBkCBZ1zvmDfqPcyZiItYnYm/iWfMg3foMrCNVWa3sEH2ZIIP0pfzuzKo+k/GiQ7+DgfmMGH8mOpkUs7TN/khf0k0izbaGEBHVi8Nwd2x3kemRmGcDS2YjO0Zmut+VHUzzMU6OZjskpeTu6qsZ5bVVU3p6aPPjcrgLBfNEwgm/8F2IQEtl+Z5GjG0XgmYnXNP76NWNZDhh1kbcNJkrT09Ho9HRHZigd/CY3oOMefSAX/CY9tHtZdTGlE2Vzbp8ZHOE7BT804UXqVzlngj2R+YT/okwTVUpMUwzQQKSVxKKOYemkvx+G+6yUq3vRxjNEj+ukMQcPNX5z9yl8i+Fy8pyTN7YvKYCJUTq3m3BO8V2NBkDjIVjm7xiDE/ik6DkblZXeGpltccw9O2mo3kxol1ZbKjgWn0Qzwv3FWBsNrau1cafIdlyeHNu37bLx1e1Jjiy1YeXyWCoXXx4h8S3t2cpsrKfryW26PbwuHk9GDzts01AsFoVnElHLnVjn6hC699iS7Q9v39DVUyib7YX0sZUzLuWplfaOiRvLdmeWF9u7vngiDMOV0kVri5eAu6k4PRkgdOB3+IgcT30cUURC2nw0ThOT8xaLoP21r3se3Nm4W/x9XuMWfHWGG3zuuG6CBOHk1R+NaNXTH4YvEarVhLzuVfIaGNl84cZsTXdcgIZoWup8rNpEi4leHBO8Js0Vn8eVn4jHCWygBjWYnKzYttMW6a7EchOrOksO1W1GmbxqZOOVXKZ3dLavYPQ60dGutAe0bUes335hpq+7lE0SiBEOO/ExNx9yCVjhUtXJVC96x5t29+VGQhTccIUSedVo79/9pgd3rCn2RPtJjAyXXnxdYobfVYPc7OvKcx/P5Dv2X85nEsN3jzs2wcb3Ve7a6W+TKL5PZbmr0eCMZOoy4Slaiw7q+Pd64/1EH9RJ4/14b8PAf4f/wLdTQijOraVSEB/bDKA3ADXZVjvFbjJrMCstDB8/FqCbuK/DAzzV/FoE6laQzrbzLTdCYSx9ecg9fm1mwxVRBk+EQo2VLHrluvZrj7uhS69OH7g3qv/Hc9/kAHctE0CPXboq7aKRNtBNrzwcZmDaLqehF1yUCva1WS0oGVZ1CzRSnDejkfUgTUFlgio5CoAOAue7Y740Pfb6w/zopYqmQiGRWpVkjZWeB0+w6BXrJVloiBK9F1yUXp06+BJDEGaboBueHZ7YLkgTEidIW3W5IA1MyR3tR/gIeBpXlpxixU4PVwmAwOO/VFAANULvw2/A77R8IO1N+NmZzXHGm2KPzw8gaPKvzgyHYeNvAizaX6k3Nn4tiHjlTV06s+mrX+2D0Rbsb6j9l3c2bF0DUfsvrn44q5WFCfN1GUmJicKaq5glRN8JeuEC4GXVP1A+csZ40B1nsBVK9UM3DQa6MVefam9nzE1Y+CI2uM+MhgxKTroxL9RyC7pWdSwfTPs3IXdnOGYChJ3ICxkVORkknbFwGpP9phdKIO68M+yGQq66GY/JmxApefmk499WexvV4Ql4QnPlOuwK89Uka+F6fONj8MTJzTsnJ67fJv5cWR0fqCxf3j081L3837ddP7Vo67brphaNZDLDW7YOi79bt2jQ8u5nvbn1TWeeFk+sPb2I7CIFSQsI6z5BiHyMcMU/X3fFRuVWO2S5YcFPf05DJvnkMj26bBUg4fr74StfJZwUbM4aHY0MJ/DOoQijYzVAq3EnvBc+pHvBbkjfEPnwo9pq1cuDsUR++xmbTc+6QvcryodoEOyon4kzNZ0Eiw5vP7IzlOZ9Vy0xytQIR60dM5klg/1t7Qkkmeia5eV+AND57heUiiNLu1YuSRi7p8Ra2dOeZ9PBJX+3957DsYqzbq1eRfQu7zb1PbNJF2tsLLMCAA3n5aH0DWvWXY3hS+W9XQ6CdalG/PmQqEdVm1DyOJ/m15rlxwPzvWX7Pn20uSmlrCOUWgAfvk2ztW3P9O4tlU6Pr9reVy3mFm/curQ9v3tT6xX87OzmrcvrI0vq+YKxuTG+bOPigWRybGyxPF895cCqsWXT+aGYdXkxbKdu2rj5OQmz9Xzy20eWrb+iUNnb3WMdgnWHl09d7hlFdbrTwiAq8gZ8WGvz51Rq9Go6bDzkoBeT+PrQ3BNh5LiIoW66FFbfs6zxz2CB7cZdzl1kFt5LpGtJh61vWt94EswFqH7tvHh+1G4/zeBa8cuwVhb8VUwNKz4KRkbCisuCzZEwn/C5G75DD1sMkTkGAwqfYY6pAwWKVKk2/I5o72cmqM0Ab4Vr4buGpYujxssbGYaU2ZR8UfNX+8bLcbe0vcCPwEVVuE7NY6se4WrfrrFoFGa4aTCxeDhGmUEo3XNjbunl3e2GzLqLori8hXNo/FPjKRbVdcP+FODK+/9p33TU0PUogx4ot5bWMV/DZDQlLAo1BYwjqvEUsa6HHPMPCgA9rsviV0aj9qcajZa3N54SoD7OAcrQ01pKj+L5+Ji0kuX/wcI9wTxzDOW8o5mSuifDgYKZr9y8dvvtxXaqxk208vkrFr9wTYlBwvtqfuROD6Ha2Ts6VevpYV/+QshdBfFVQ8VSVewvpj/5+Zayu9W8LBEstc1Z06b0p2miKZubE07gFttUZXc9f/XmO0sZHcC0xCX07tqlyua4O9QsvW9kerQyyL/0Bdf96lesFZv8oufzp/4OvyRtwJQfbQ22QZTlBJ/WdZnkgh0qfNr8lCr1bHc2GWEmcUOeFYq4kXQiu043+1Nu80Y4apvh9Ei01N5Z7b8+KaAf0QxBtMAyWLr0wTuvf+sld4RgoKOj9ZZp9pVeO/fP+6rtZEq1UbBHX03yaR5OeyYFI7AmA9tc5UI1l2MQhOOnPWqMd+WyRjY5uHEi3VsdWBE2CToeGJuXWHbMyUwUcvJ6f6m9bMK1xWh8dEs0ZIRXDHltY5W2Qr5o8/WXmUhYLtMurrXFVnU6EV963q99C9doXWq8Dhz2LfHPwBPeVMuCZcvXUauvx6S98WR7cema+ZNEFheFLl+Xjgxt2tSTcbf1xkFQeGx1OjK4eUNvcEGNi52CF1/T+rRxnxutvBAHASuCVRiCLayk+QyBh6tYEQxZPh6PWaV8ZdVsKZ+jE1skN3autEo9Hckx/9JmaszdEsZbwmqPw68VZg9GuBsaH/GcdRO54trLTTfsdIuztRN2vHE8pHPXMbjU/VoSv4GbRFvNaBv+W+0FZ9188b/YinM3n3WzRtz0RzZu480uN5zWXR1l9Xy7RPD/+9qIdmmT/6pqQeWeVbdm1nOwrBVT/PjjnxDVnqm1txe78qvL3kA3j41WR2SlqTnZF4+gQ/tG8fn9PUxcH2SGkaXORbN/3I/h+/nJbWHTswcTVpsJbfmxjpyT7J91DUjDJnmlY8KK/awQDi9af44fZQz5I8mVYS0suPITYVsvldq6Sb5SLB7hLUyKnQlnlJoMUCpGTheXO+Fb7nbaUt5dtzhhGwhy3Hfx2pmlay/eZ6P5lVWL166+eF/IDju33OWl2px7n9v8FXyPeZdHECOXW45BdIoc1uZTqfxaU480Pp9M5te6puFY8ifRy878RGXzS/2Cb1F7gKqefDYBhAU5gufYC3RzM0nwrNuCwutbcwRlyUFvNrWI1h6UrEqLBzMU3ryiSgzP3RmW37KwZud8Qoqqy/WPq3nJB+b7IoqZ2k34CN6qZWVcHYJJAKM8maJ+fnhXZ1VtyK+1KIfXMWLa/r6p190NBUqirPGdxreQy1hi/9zHQ7hCFPu4h7egG1b7qMrtSJkexbvvQd2RsxQ+J7S+T0QLFSmtGOTUUfqsPVC7KmdqvsPkBnRBDhZuhjr3Ew7Nok8w9557YMGeqKf5XG9QqLKkP0I+hItUfrVGfRu/U1RWmWr1pO/vBi11nlv4QsfQTVPsrtFAQgh26pQQj5G500gA6ue52R22qf7a+yn1qA59CKB7BiONHzd+COzct1Qc4aOC6rqYzb6nOf/z/SaUBzpiVE7nauKj/lz4q3mwFEUMtOv/4J31KLM8jFBCsfHru+/iRozB8pfMgP8PofXfeS4Gdz47dxo4jLS+8667/zfeieW4zhvf1pn40NeuW0djButaU4IL/LsGUoQZLY++Zt36/8qjynPzlJD/dqlZ9HigBUtK3pSjJIi/MBV0UR98JB7Ww6899b0qtSxaXbHpN7uqBppO1Bja8LGDLFV5XoFH0uk7pkYo8iRH4OljQ9MhhyS2LDpQTSOPTF2t8CY7gpKloevbJvP4fOULbqKTWpA5oxP4VsOxafXVh/49qYfjfpGZ0vOKRpQyC43qrt9uWGklwbMtmyOJj70vnfaLNUNLrimFkkSPTQ8dS3OAwGv1SNNr1boqj6SjmSqmyv5Dr1UsXx1NvyHkvvndEeDbrnEBrI31Yke886VvdkOve4gfeV2s1W1FAOJXbzXaM8bSS7MhpoNyW4H1ooOp+f2YHxa0DFzIbxUYa4o5ymkVlKWcVsYbXxcQVCjUN1iI1oZ6OatIQkOW9sKDrS4rAmB42ctmwtFYeCagCkwNtZ2BVhyUmL7Yf4038+6rP5ZHcQ9HxJDxVdj3RzGrsdp3mQW6+2FB5THt2nNxbcliYWvWzsK2eSrPwr4z/RX/oPviefv1lQmAP2A8BPXD43/YAPpZ2D+X9yuILTOwtf+FORgoafFTSFQosibqWW4i1McvPEdr7AqH34pS+VN4qzp0PYp/xMyt8TnTNu1t26nN9MSybWbS3LaN2jbdti2QqS/irYEtEQScI8G4WiWkOcZeTB3cJDj2JI6JAfXDuglWGHeLw3d5eJVDpXfTkUMp2hBrjIb05lg+G0htWMu0xAz8aGakeKaAWQ83c8Pgcx/2wlibe9IL4UX+6/fLRcnm/tYiMkgJv5ubaFoKoE2LIg6K1ogKbcG48oCoEtRx8Qi3HQs4R2oRedgYDnkQhg7ImlSU9HlxgrmFb6lV5r0oxcjEqHyRvsmhyp0CX5M+ZLtxmjryFW5o7ruYFyz5vG6CpunCgni/sAnXaEktL6RjRFssOfrs5aqVFtcjftJrossH20aKECn6OE4YL0bUtOa1x15y35FD6Lzg4uHRbWvXXmoDhKBH7+nfeLmB6+wHL/eAQLjx+cav5THCksZvCHiXPwg/vOyyY7cnveOv7gh1dt21ly/mJ2+HMEZzd2wzjCsecLHxm8bnIawOwTBEuNB9QCMt1Je14XNTLr8DEGoxMR4QfS568VJBWziXTR24zcZ1c4/arzjKM+386CvORuStkiA9du8RY9gwrnzABRB0tXK1pPULzbf0nLR1BY5AMUxV9KpaBVDGzceqMogr0pD1UYl1Zjx5Vtb+YsNV2dSukU8cupRYja8cKlXW9o9fAivW9o8dOiTOGn9/zVb6ktnZF605G+07JvXIyCcuPYTm3YdKJ8av3dY3fkj9OSROf72SvGjZshet0RZwuarVLlAT318tAdoVolafUN7481B/2T0jMXrxDV8l1sOn3rf24uu/Cp2rzkFt/A3X7l2fO3jDV9Cc+917Tl27TRxCe98CCoe12QtQ2BxuWrzIZKy5H4r6/VnJVUJxfMVsW/a61dmZdnFkxiZW/lMlAw4t9vSVRhP8bIS/FPXEji3Hly6a3efp6rCzc/3kusYvcv0UaG9RrH/uac0s9Ee00LxWUMm3SrddIvWA5dgcPhIKNVZIfYCvCYPX+DzP8NZnw0FUpOg/rF6zJhyGJ+TDSq+skXoV6uLhueNSrdSDp/8K36iFgqdVmc2HVYjob+TDeFI+bKSNuTdICg5rLc+KKnQGaUAB4fhXYtYmyu5VhPcV0obQ4nhYlvwGzfcCkz7h2y22eoGDCWlprJwYHasFc9Kmb3h+LgoA0JyNzjuMGw+qeSi8EYJpaONBDTVLE3EK+JkW09r8GXsyWKdMCYVQAamqkM+JfzY5/RYSgt+i3NT/kVCK//jkRz5y8NAh+BGl4qphiPvyKjMM/R9/+pGPHDp4UNZis/ZR7XMwKWMs9XOg6z7aOhmWzxAtBL+Fn2uDvkU0VpOpDTLYLh3rhPNUnM2HDOS0dd56rX0jB9SmuY/rYC6lumnQvQcsXuxavbqryC3Y3z2yD8EEyOAnkXLn01Bw9DzKqgx8mHEsVlevrhaRM/qBRHqAAjiyb2dO/yc5Af+uMaWntM5wicZpKqUwXFidX9ZFjC+igwRR/xlUB7q4XwrXJjrJMmy8Gy7CHsNBhm//Qgc88XUDAYHpOgMENL7+pnz+M+8UNx2jURv50PEwAMJFo/Dg5/Cz0B1CuORkBK55HiDa8C0bEZ53IBa94RBg6DfZo9Nm4zr4rMI8nv6e9jlyV4B51FIL+E3OedbaFumzHOVa22eh6wIeXNh2RLY3XQWT8zTU/9fQlh+9INwyoOAO7TC9ldTnKYgtKAXOc/bJC1CAT7QW1fjrc59poH3gNIN3qMiMFvPX51IrkCqt8QHqXHWVtNYOHVJq41sORZZm+MwWD8L+DnbgimcjmqYrLRNgvtViCODKZw4dIo5DrrnaIj8Xz5APIXNthgZfWHKqEmjJ+fI/6lCpbQ4dkqVf9R/UIZ8Pg/fMFlX8wpJjfhpIqRKUHJn4T5ujffWedsshhw5Z+Cvx4IRuAliGy5B8KKy03c3kQ3C7lgla3l/tItmStlwscLbRcK2+tXe8Y/jUyROzlmuYzp2N3zX+5U7nZpeZ7vL65UyfnT7kmsyNfuQjUV+L3inee0rLN9GYyUIT/95ca85XWZbpWNPfAOvr044dBTqZOnp/bXbZ6ANHU5MU4KjhhLbu27c1DBjV0Z6O7+6wrI7d8WkbVdzdgSP4E61XlCNe7SfX8xbvfV1upCLPlK8kpW6zXwNUBjeZNhIg+yJqpqLvnOVxYuyJIbzgRBada0+uXb6xgraDADM3eA9Wp3NgnbxN33SykxDTpVMn/TFOlf9TmbleV1H7LCZZMp5QAShenl8SWVAwhZUJgXZQ5/JTGxWfmvqdIAcAwgcNEt8zkCYQnHIKSNHcPFCZAxc3d6f7MknHpPjipdQ1ycDe4VF2pHoDGreme/0bL5olBkFAq7JhzcqTGkqqyBR+WUhWcmHMUzRELFYdg5KWIFPeXEeYEDiBGOX0Lx4bbzwMjUfiLjdtyuQy7Yzq2Hhv430u4OG5N4KGUsfCN4WOTWslwfemIvVbt6lhu+b1aWZea35JzgE+N69L4SVNzQk/VUryuRy5QYyTSnH++oymRG3qdA+Zgt8JOU/Ne1sTZD6UWK3oxbgIvk+F8PveY39JqEfpBx41KD45dwWsR1gP3zNN7jJRifciIQjLYZdreDD3RjzcUpuoigwr1EZgX3WqeqE/hMA35XAAT36RmqYOD+pS+Xf7A4UVwptOEj2pkx8TDDXW+uOApvyZPaKvP6l1qJwtvyMsNOSa64bA2EJccmDSyw9ctXx659St74xguvKu64YW9WUvel1teQhS5Vfji7/2OrNnqOc570zoTvpF+9dsTobfceWmEOLDyWTv1x9Itm9Yf+Nbso4eunzDpc+3K5vXXPH6xrF3/SoGdu6xW8s9kyOXvb6Sw+gdh26LK3l+gbB+/k5KTle8uWlIIu7THGg1dSWIDDURSgsWisG/WrZybDVHMajadDm19dRoW9dyKxwtRitEd3dv2D7KDMu2R7fvqQxw+NKxW3pKBqXGho1R3eSI3NIjGzcYNJcqMS+7+KpyZuU1yze+xLPSL9m4aXL5SqYpH8C3BK1fEuP8TolzVGmRZ2KficAX0+SzIjUYPhSD1UdR3kS8qx/Pb1DCS9+a3NWGJLZliDqLujaAdU16bWdFunmobccrnWvT11gwMpCPHuvtur43kokQDKUivVt7V79woq/bpCHbJOayQdZmUopfmhkhevciBtlF97MYXn8qs7pzcjBGSWZwsnN15tT1GGObrxKPx96+cdXsNdV0qZPq+Vy6umni4P6P9HRPpm1vZKMFoGp+saj5U0K7DmkaSP2aI82U2iBcE+g/CNJG57NG4QaX6ZxTA258v+c9fAvN0Jve4bim2VG641IXOl5zkuA1r41Gg28U0k4tFiLfeYsbdd/zO9P85UO2y+M803nf4+nGZa/8O6p/5VWRSPAtd5EQEvQr/Fttl+xLzTUvg3ZRS0bV1ZVmW/lk81SqeSXZ3LHmbKIHS+maoYnBWhinBqOpkRJSBJ1ZRaOEzpZpFu7Nb48hunXdskHcK43l0j0jycSm2vAKvUUel1YHKz07w5HVR0NcvAPAdpJFp7YsY85cZEKk+6g9bK8f0pMpAPESL35odqy/f1F/D3+WkAbeKNgoRuGU1iklUSIMg7WUgx2FiEjtiM1vQiCXOdloG2b3otoqGyD55bDrMgD6/ybahk0dNvRk8Fes8UXWvnyUpTPm6x+wGdwCp5A3dl6SjBi9t71tw/4pUeqy00VYid8Rur0gbUcfcueXnYqo9PsSk5hrIdmCivWEIdphQ6yhDWbY03X8SvbDAHDxSOchRvqQUGY2ftjbw+a6XP7kjqvXwLveWY15qnZF2IR/pR3UDku0ZSohK6Xipyr5nPEED45lQazqA1HqC8+aZpuovXTNpdTcVEZNgxeqEy4tmMiEqBYnGA5Rmb0IO3sJ2K6uy2YOGYA6N92Ww/kfgRtC1BFIjPpPi6OlHaWlOy/RdyLR2cqVjDKCkdpsIfRSRKoDRsaWIjKju+QQQvR3vbPl5Ogx9eu2zZcVQsePuYDpLZdx/0XveidPwWbbTTU+LBgP2jWnmeDPr2TOaH0ekoZjUVnrUQW2+5N9+2nUZOTRRwnhhEAU9//Hr37JoxaHb1nwLa5TiPJfKu3LIIm/Un40Ie9+qk4clQYbq//izGuYFaHz72iUrEaJW/4b3h/YQzJmscD8WGgA8Q70Ex3gSNPmaDGBlDHy23kT48ZnGz4P3N79ym26NEN8C0j7Df5UxutiC80auSug3wWURTZvkj3LFlrUtHIAgRaFWWZQNPZGyLwVhP8wb9F0LcqS8HW36UvrGytADYdO35i457Zn2T8BYkt/2sdqx4rJC6O136EvC4X+42Pnx5CBZ1wQq60iJ0+zyH8JEb3T05efDxj2Hx+9MCJa1Znbotw1ss4XLvXCLPn389LEL8Ss8xN8YT4KXA6LoKssEeU2+aNRUKVqEwkFUfpb5VX5z6nzYKHopwMvDDb+tomIen/gdLkwHgrmEVEB1YM+bqveChSqlsq6sr4vDDBaFNbtM5AhAGh8SiQrePS758YZ/Wfee90Z5BCAHjo/zMi3TH/CLUFpUrtIcriV0ib7LkjthZoEonrHwro83mTwBP3MeWq05Nzt9f4zFQ2O/vI8lT1f+wW6gkX+x7hYfdV5e8vj/z1cbFbT8Ov4PoUhEgWqldflrpC1eW9wsRD4GeRMIRKWVmuQFJ30lylKNB+LFIP7lWkck7f8+/h1I57oMwHMvkQakWHj/Y0PiC9Mi6uIwdVw1yVte+IuVb9FKMvrcYM54V3Ld4Udhq9ijm7LdIgfEZsRL0oBaNQjzGaQgiST1yIMwfDk75jcbhIKkGO27jDD1AH01shqt4x8dAVCdcGgOw3cuyL4bhsyzP2bTSvOE3+f+9MAXrA1ZYX9ePdZY/FGWMTif9YaT1W09WqjZ2LyVEnEeYPyWkBdEJxv/OjUoRAa9jnD83N/HpAH16o4Pduw+HjYSp0jUN/w5jESLzvdgy9QM32Juksp3Eogqxruwyg3G8OU8hh14XH8FBOHlv7MKSQRg2fIxdr/H9HjaLgAAQAAAR4AqgAFAAAAAAACAAAAGACNAAAAHg4MAAAAAHjaXMEDEBQAAACwt23btm0r27Zt27Zt27Zt27ZObQAAgPRvHDAOyAIuB5VAr8BccBLcGXwVAoEYIH5IFUg3yDEoGFoeegyGhTWHnYLz4JMQYIQV0R4xB3ESCUTWRoFRNVCX0C70KPR3TFXMVWwA2xt7E1cftxLPxjfDbyMwCcuJIeJGEoXUjLSOrCOvpKAoZSkNKQMpUyn7KeeoCepC6jtahjaR9og+kv6NEWSMZGKYCeZDVjnWeNYPdiX2Jo6MU52znvON25z7kpfhTeZ959P4Lflz+HMEAcFRwWchXVgQ9hXuED4RtRFtFzvF6yWVJROlWKlXeltWSzZVtl/2QPZBzpQH5M3kg+V75O8VSkULxRQlQFlWuUr5WVVOtV2dUV/S1PtvW00fzWrNda1R20N7QzdEd1L3Rq/SLzbUMhw1VjAZTVfMLHN982zzG0sFy02rxTrIetPmtg2yXbRL7Xl7J/ss+z4HydHQccBJdTZ3vnZ1dq12C91J9zH3B4/H098z0XPE89gL97bwTvOu9z7yZX1bfY983/1Of0v/HP+tAD/QLrA78CWYDm4JxULzQrfDxHDZ8PDwo8jZKDFaik6M3oiZYrPjyLgr3ig+NL4igUtUTuxKkpJtk6OTq5Inkk9T/FQ+1Si1Ig1Nx9MD00fSjzKIjCwTy7TOzM/cz1qztbKTswez73O53Ny8MN8i/6ggKVQsPCxii7pig+Kq4ouSujSm9HPvgp2Dj4eIhvSE3ArVCvUGADfwv3YAAAEAAAABAADeUPQBXw889QAPA+gAAAAAAAAAAAAAAAAAAAAA/in+8AcLA4cAAAAIAAIAAAAAAAB42l2TAYRUURSG/3ff1LILuzvbZHbf1DZKNa2sQfdRMdsqhQpvEVJYlkIqlLIIu0oKVKAgkFCAQIAgAQsCBBRYkJBU3z/e4xl8/nP/+86595y5o9/qS1JyXiJW0tKF5Ke66ZJyNFrTcfWG/qauQMQf4OX2yJsoc3I4CAX0oQdZLY5wBIa1DDUKyK3JV0XHYVvz4ZOysEX8R3PhrdrhqdrplLzXTq5pVwisx/FvoS/Use9cvp0b6jfyFhSpsd970Gw0NI3uhomwqsj5d3xntIXeBEGXvJnko1VdNEv6msXvsG4nLeL+v89hUjOOmU3bvvt0Hv6+5BF7j9FNTXsPr8k9ptEJx67J90vk37VC4bmniS6xd5r11fBSOfrMvfiu+OvpQ82ztue9GWoeKONseJdfOsO64/uV/dwG1/sC1+Ey310M28mkz4T7nh89HHWd8EHznNvzvKh9DC+ieakLnk/6vXon8KakwPPeD7SlQfkWHoDnF03jOV5Te6S/h0OmxbCF/1pjYV3LxIfcI/mRnCk0t9bWHcemihtrADU/N1VMvb017VrDghSa6qHDd+q+6XcF/AZXwH7FAKLhu7Pec23fu/zdNsiLdejH79f71jqLkJcUprpreW4xqq5XxgPik8b5o3huhhhgVb7bePkbpOmGZh17/juCNvkt3kOr0mp+ySvlENN7Ok7eLHrC6nuO9JL5/w9Lpd4A57+DuPMcrGllbFmOc+J87JSskXeVuScVevIfKc7UVwAAeNpjYGRgYG7/94Ehit35n+b/fezcQBEUwCgDAJ0+BjJ42mNgYlzDOIGBlYGBqYtpDwMDQw+EZnzAYMjIxIAEGhgY3gswvHkL4wekuaYwODAoPFBgVvhvwRDF3M4ooMDA0B/HDNS9i2k1UIkCAyMAD8oQegB42mzPU4BdMRAG4Nlka9ttMueitm2bL7Vt27Zt27Ztt2eyRm2e2zQ1B////AEAM8/NJzbp97X9eXHT52EwRIXK0AgGwmJYBqthPWyBnbAbTsJtUBAG7/xy+NVi+dgpdo7dZTafzmfzeXwhX8yX8ZV8jYgqYorEIoVII6TwiJzilownE8hEMrlMLfPIOXKlXCsPyCPyvLyBgByjYHSMhYkwJaZFgRa6MRMWxuJYCstgeayC1bEJtsB22A+H4SiciHNwBa7Gk3gan+JzK5ZlWVvc29x73Afcx9xPPc08nbyR3qfeD14nY7GMmwOE1kYloMlXzSqj2fxdc+ur5q3R1DSak+wMu83u82m/aVbw1YKJGCKRSC5SC/EfzWSjWSP3y8NGc9lomNFEM5qEmATTfNd4/9E0x7bYF4fiSKOZgkuN5rjRPDGa6BZam3/TNPZ08EZ4n3hff9Vs+qLRwTpIH9GH9H69R+/UW/UWvVxP1xP1aN1bF9fiUxHfJt9G31LfEueRE+mEO6FOiBPkBDoBAaMDRgYMDOgX0CegV0C3gNbquJqgxqtxapQartqrhCqq8qeX9JzCKYT20h7aTbtoB22ijbSe1tEaWk2raBZNp6k0hSbROBpDfagXdaMW1IgaUD2qQ1WoEmWnbBSTYtgvbdv+vMDbAbe9b3vcdr4tcWvFrfk31W8q35S7KXvt9rUchb/AdDeMAACxywxqAAB42qxW13rbTA4dqrlXlRSmgJnI6zWHitPdC8e0Nt31+8itpCXnfvcqz8B9GVDpd/toC5CSe/mbVTCDMsA5wNBCoQDFvu8FAG9+iNHtN1ja/auPz0ycDsKPEO/7mKtHP/tFv2i15IFpWSgCFFpudIQhdOg6aCiE8KODOSUtaTmYV9D+nK9UhauxrCEM3SRX0W5Sz2vM6b1PgMOSFjpqY2HrUyeXy9ExaB3esVjbGa0a7h2gpXQ7ZaNMNoliyz8MOjWDPR0sKMzbWNU+58Oa1l0HE9qA/9vCwtRfO9PGiPZaHpY838J8Pdj5m0/OZuwDbm2Rao28cY5Xc0EASeZNFU2TqrsDnGX7LHnSqT4QG3EEOLjlh6QBtg3y6gWvXoRmGASBSWzhsG6h2PFRvGFni/bmG7zHq3tvoh/josUeP4riIAjaUYCGHQRdBAG0CY90AweLCqiCQj0iTH16y8c+6WK/dKkDFBI6WErpJiagnfQduMBGhmtm5fM35kKvhcUZi4waYogpVzJbrBND2364ZUY7gS8DKwBc2/XJZhIvvVIc7FM4oO2OyGVt7qetdCWgkG6EuYOPaLSoEOybcXBAAVc7SrAK4gD4BFwLA3YJN9JqB1VnYFRoz52xjgZnSJ0epOHsFMOWpCfoIXixjKDdJVuY3BAEE9eOCKPWymgjSzFySTg+pChBURcFjaoU0OeRYZH3KIsprWCGhnhMJbmch+1ow8FxRa4AOKZf8wG0oA7hOO92aDee9mtC0SolBYiDFmXGCR1CHAJOEG0OTqo3e35SaG8ED3HkUH5ysKzebPtvdjOlaZG+nOorKhGTet9PJic1GpGLE3bAkHJ1Nxnjr3H6QqMmgZBs+QnTR3jdOAZOOz5jSQrrrc3MTiH0STUBIWlS/U3Snm7WJS1MhChL4kujWOkYhpF2q6pEInLeno+T0gUPR6WLI5JGzoXw+82bhpgQZeG6LjNQIZsRJZV+G/9rmw+IrhphrNoO3lCJwfIm8c3ylkryLG+rpMDSVEmR5R2VlFjeVUkfy3sq6Wd5XyUDLG0le/xjKSSmJTTQ+AffFgfVCWPtyPjvzOicME4dGf+TGUEJHLMvxUmgvmZQGedJfBbhA6rrAeFjKQkfy4eEj2Wd8LGcInws/0T4WE4TPpZ/JnwsZwgfy4aCpXRgHylKezMELWmruaUkscEzO6vwkY2P6D4+VgBNuKSbMpqT/GC/0sNk9E96LU5GSx5PHD6eSYpG1fNngxTl04yeK32eKXieVv5cia6Pdz4nGjbVcrFe1L4I/ttYkXPJM6PKWF8QH9C8pH4UOppz8KVq3FhycO46VzR0i9znqUWiVocGNFFIvi2v4rgpmzIC/4D4QEO6nTnDqFaI4QVFZeENcivU6Z26JcPCxSFtH8YNCbAU05mLp92gkZ2HJen2vAFDfqasbfufC1AE83Nhqng7cF0JOKghlmmE3AyxpM9e1xCInuy/UkGHbYlFHbXJXNCRSeuQn3RnYyIJ5D0lN6nHkjJsEk4SaZYQLkoiOYskS0gSi/WIPmed6EQuos5F5Om7+yQ9zkWDsNTjAkhbnOpyIZeIpuWeiTCn9k3Z5KTcxZWeLQWTMY1iz2/AkrRM0vSUdOhRK7BUp92rk79dsiZeNO3dbkke+dUTleheu0L+gXMWcq/Fa0pCg1ncxBva3zJ3Ah+WgkYya1To3q6fsu6YW6es7oWxV0VohQv2VQk3FC7aMdXGM0agLnWlhjZwliI8hpzO51TGfITD0s2g84BKWIKGnOuev6mSwULdpZDfMtLNP2qKGVNE6JYkPapOzIsVdOtsqkQs2D1W/kK7RduSXV7k3GkKXhEF1ezadwTf8HIDX9Atf32J/g0dZ1TK+JLWbxXOk3jHLHpEN2zGMuqx9V7xQOP/e66LtNihIIDCt56gS2DKjLAC3N21cWvctXH3xbRtkDpVIbP/5jtxH1AORYUQOhXDCgEjUUECGFUIGKPpUozTgAkaMEkDpqJiCKFNNa0SUyoqik+bUYlplk7QHJ1pns60QGdaZJ0diiWFgGXWCVYUAlZpuhVrNCBNA9ZpwAbrC+2qTZWYtlifaVslph06Qbt0pj060z6d6UCPcX1yAg9tlGtWHjlblMccdBu16ugkykvcnEJvzqyRuDnXmRuSpV4w8jky0Oe4hJ5f6XLi4Bp6cAM9uNW2MVneHSPP76HnD9DzR50zDp6gB8/Qgxdtm5LlvTLy/A16/g49/9A54+ATevAFPfiOCpX2ZZsrqSr8+/O3Q3+a9DGYaq3JlaVzf6uHM78v69ofY0wBR3jaYvDewXACUKM0HDgQhtE31hqXxWmZNBH9BcQ4zxSQDmKjljF7C0Yfn5p9g6KOA50KRIhQhwaEqvUPGsUYOe/iPUvLKf7hX+kES9VIAItrSLkypRqhfO2YBWAAYnxT60ZfL6/7MdeI8R9zX0QqgAzejb9YCsUxKLa8Vtu5EZfzKT6y9F3Rp84LnT0YNIjFaTwIuQChwiuQeNpjwA0kIJBpBQMDkygQH/z/CkQzJAGhGoMa02qg2DbG9QwM/+3A8tv+vwLyD/z/+t8YxAcAhV4PtQAAeNpiYGDgZChiYGZgZOEEshcBMYTNyCAC5EHYTAx8DNsgbCDpwnAEymZhUGHkgLJZGZwYdaBsNiRxXqYUxjwom4/BhPkSA6BVskiuGIxhsNbvFNmVmZmZubvOY2bM7fuNyowTsOyR5T9y1lRWRSFTs0oro4YCdSuuHuKohrlmNGA0whMwL6m6uSWyM5hZKiViUv1UdowHFflKGb3xR+VpantwolZdgRVVAsUi/Xvgc/C1bnQAzsI5JU+rqQJ5TZsqU2s41qgnPWHQ553leU9h4KXGtziXZDXx9Z4XcO5BnjlQgysFp0ksK+Nuf69aZk3zjKnnh273f99v68yr7WsQ36JqoJ8jdsjtixbV8497eTkxf8+KPue8mNyvCMyszxXY2br9bCkJP3jYIugQhSLV9zc3qAjXuV2uv+g7A6VAbW+L/ntGgYhfsOr3s5rghKcHPk/S3TvaJx7hDtwXyvsvFPD9g39h8MXJXswlj6rFk/XfFONN7ZkjUU9c0YlxQ7NosR2uCniIq44aWyNvgAd50Hr0eEhH9O//pucWEqGwaQB42mzB06EQAABA0Xufbdu2rZ6t7FGybdt23w2ROUFNEL87hwD++bWFBv7DHEACCCSIYEIIJYxwIogkimhiiCWOeBJIJIlkUkgljXQyyCSLbHLIJY98CiikiGJKKKWMciqopIpqaqiljnoaaKSJZlpopY12Ouiki2566KWPfgYYZIhhRhhljHEmmGSKaWaYZY55FlhkKctYzgpWsorVrGEt61jPBjYawDa2s5+rbOEIO/nMQX5wiF1c5CWXeMNDHhnIW74ZZLAhfOAjn3jHF0MNM9wII40y2hhjjTPeBBNNMtkUU03jMU94zgue8ozNvOKO6WaYaZbZ5phrnvkWWGiRxZZYapnlVlhpldXWWGud9TbYaJPNtthqm+2ctMNOu+y2h+/22me/Ay5xkGsOcdhhRxx1zHEnnOSsU0474yw3nHPeBY5yzMXfBMGDkQMAAACwy5D/tW3btjtwE3/+BQSFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTS1tHV09fQNDI2MTUzNzC0sraxtbO3sHRydnF1c3dw9PL28fXx/PdHVlts6FAbgc9qG4Vkcsy6NZcZbxd6TaI0MFQy8fRPrnwn42yBcXtheeF7mTfpB4iwYzGA+e827jk9ZwMLZjzMZPv/Au2PLX/wRL76I2Xdxugz4OWohh/7ll7N4+UULNyFjV33P82EAQxjBGDKYzTvRW0MuLZPJg1cv394ofmuscoVDsLknQUobxbVefkNzxiWN5xVXariXdGMWU2TH9aQSp7NxzXa47110HAwm2LHt3eoshglMIXNmMWQwc+YFLJ2FBw+w2Lrdj/J6uvVTYsfdUzid8XnU9ZjPyfWkbp0yWl28I6W53NCD0IZ6I7hcUjeaR01meVK8FZfigiR1F5faNmdz5mZawD8EMILxlmtDSujbjpsziilk21EN46CMGHouZ7w/SXItP4DRWg4n0XDJ+3aFcFBb0RtSmprrzJntL8+FFp2QXLl5oQeDVTP0J2WpN6iUzsjb0F8r7rikvsGucQZzZ5LBfDooKW2Pmsz+Kbk+yGwV3Uh6QA8Jem5+WjnZAfowgOG6EaqRNEqrUYr3rtRZacQoH1FOIXNmPgxguBtJjdS3orGSK1QxqwgX7WCuLwJ5DNGvKlg768Nk4KWQwQzmTt+HgTP3oJsf5QFksHQWqFf1TI+8pSmL4wP0XzXSHpGUsIL1ZFKlkMEKol9HMIYJTCGDGSwms6B2ZtBdqfJ87x/y1uZbAAAAAQAB//8ADw==) format("woff"),url(data:font/ttf;base64,AAEAAAAOAIAAAwBgT1MvMkW/SjkAALK0AAAAYGNtYXAm3+dAAACzFAAAA1RjdnQgAm0ZNwAAxSgAAABaZnBnbWIu/XwAALZoAAAODGdhc3AAAAAQAADRRAAAAAhnbHlmpx9GegAAAOwAAKqWaGVhZGRXQ1wAAK3kAAAANmhoZWEJGAcOAACykAAAACRobXR40CY4+QAArhwAAAR0bG9jYcBblWsAAKukAAACPm1heHABzw7QAACrhAAAACBuYW1lX6t9kAAAxYQAAAR4cG9zdFU3LREAAMn8AAAHRXByZXBlwgKGAADEdAAAALIAAgAyAAAAyAIVAAMABwAAMxEzESczESMylmQyMgIV/esyAbEAAgBOAAEAxwLMAA8AHQAItRYQCgICMisTNDYzMhYVFAIHBiMiJyYCExYWFRQHBiMiJyY1NDZOIxkYJSgBAhESAgEoPxkgGw0TKRECIwKVFSIhFgf+QwMICAMBvf3rAh8bJA8JKAYOHCAAAAIAIgF7AXQCtgAZADMACLUpGg8AAjIrEyImNDc2NzQjBiMiJjU0NjMyFxYVFAcGBwYzIiY0NzY3NCMGIyImNTQ2MzIXFhUUBwYHBkkEEwxBBAERExkjIRokFxAcFB0PyQQTDEEEARETGSMhGiQXEBwUHQ8BexQGDEJZDAsjGhkjJiAtPTYpHQ8UBgxCWQwLIxoZIyYgLT02KR0PAAIAOP8+AwkCtgBTAF0ACLVaVTIHAjIrEzQ3Mzc2NzYzMhcUAhUHMzc2NzYzMhYVFAIVBzMWFRQHBiMjBwcUMzIXFhUUByMHBgcGIyImNTQSNTcjBwYHBiMiJjU0EjU3IyY1NDczNzc0IyMmBTQjIwcHFDMzNzgO8yopBAQMEgJRAb0qKQQGCgYNUAGyDwoGXl8UFXRyBgoP8yopBAYKBg1QAb0qKQQGCgYNUAGyDhC8FBVzchAB215fFBVeXxQBWw0HnZsGCRIG/tcEAp2bBgkJBwv+2QMCBw0MBQNMTQEDBgsNB52bBgkKBw0BJQICnZsGCQoHDQElAgIHDQ8FTE0BBQYBTE0BTAAAAwA3/8gBvALuAEwAWwBlAAq3YV1aTj8aAzIrNxQGIyMVFhYXFxEnIiYmJyYnJjU0Njc2NzM1MxUXFhcWFxQHBgYjIiY1NDYzNzUmJycVFxYXFhYVFAYHBiMjFSM1IyYnJic0NzY2MhYTNCMiBwYGFRQWFxYWFzMXJiMiFRU2NjQmoh4XBg0+LQQEAQUJA1gqFD4wFiYCLg1SLRwDAQQdExcfHhcEHVgEDykaKTBKORsKAy4GXiYfAwEFHSoeQQIEEyMuMyoDBgICOwkDASw9M7sWIAMnMgQBARUBAgIBFFQqKz5cFwsILi4BDTsrOREFExYfFxYfAQJECwH6AwsSHGA1R2oVCi8uEjouQBIFExciAUx2Bw07KCc/DAECAXoDhIQLSWBFAAAEADj/yAMIAu4ANwBJAFoAbgANQApnXFZOQjklDgQyKwEWFRQHBiMiJyY1NDY3NjMyFxYXFjI3Njc+BTMyFgcABwYjIiY1NDc2EzY2IwYjIicmJicnJiMiBwYGFBYXFjMzMjc2NTQTNDY3NjMyFxYVFAcGIyInJhMmIyIHBgYVFBcWFxYzMzI3NjU0AT8NJyU2HyNQSjcMBScfR1YGOgddOQIFAgMDBQMJDAH9/QgEBwgLAgHcanEBNz1DQgMGAkwUFRcSEwwNFBIUBBMTL9BKNwwGMycnJyU2HyNQvRQVFxIUCgULJQYLBBMTLwKBMitYOTgWN3xPcAkCHz8NAQEPSgIIAgQBAQ4K/PsFBAwIBgMDAUieqBkeAQMBNRQUFkB2QhQSEy9hYv4MT28JAjc7V1k5OBY3AQ0UFBc5QEMYNxACEy9iYQAAAwAq/+oC1wLMAEoAXABsAAq3aV9TTDwFAzIrEyY1NDc2MzIXFhYVFAcGBwcWFxc3Njc3NTQmIyM1MxYzMjczFSMGBw4CBwYHBhcWFhcWMzI2NzUzFQYGIyYnJwcGIyImNTQ3NjcTJiMiBhUUFxc3Njc0NjU0JyYDFBYzMjc2NSYmLwIHBgbDJzQpNQ8JISoRG0YNJ2cNCCVFEycZBQkSalINBg9OGgEIDwZILgcBAiIHLiomOAMoBU9AU00MC09YTGoaB1GfAwcjJhcECFMKAQMJ0TgsQD4IH1AcDwoRHRgBW2VcUzQpAwlLMx4jNkkNYYAQCjF2IAgREy4DAy4FJAENGQp8OgkBAiEGJjUkCAk7SwM9CQlAXEEsJgtQAXIBPS5LRw8JVzcCCQMOET3+CD9NLgUCH2svHhIRHTUAAQBOAXsA1AK2ABkABrMPAAEyKxMiJjQ3Njc0IwYjIiY1NDYzMhcWFRQHBgcGdgQTDEEEARETGSQiGiQXDxsUHQ8BexQGDEJZDAsjGhkjJh4vPzQpHQ8AAAEAXv8GAU0C7gAYAAazDgEBMisFFCMjJicmETQ3Njc2NjczMhYVFAcGEBcWAU0SDQcVtB0uaQcSAw0MBgubmwvxCQYSpAE4emWdYAYPAwYDBAuk/ZCkCwABADf/BgEmAu4AGwAGsw8BATIrEzcyMzMWFxYRFAcGBwYGByMiJjU2NzYQJyYnNDwEBQUMBxW0HS5pBxIDDAwHAQqbmwoBAu0BBhKk/sh7Y55gBg8DBAgBDKECdKEMAQgAAAEAQAFAAbMC7gA+AAazNBUBMisTIiY1NDc2NyYnJjU0NzYXFhYXJzY2MzIWFwc+Ajc2FxYVFAcHFhcWFRQHBicmJicXFwYGIyImJzcOAgcGZA8VCxN0hQMKFg4LBHEBDgEUDQ4UAQ4WPx4DCw4WCohZLgsWDgsEcQEHBwETDg8TAQ4WPx4DBgGZFw8OCQk3PwMIEBYLBgYCUwGWCxIRDJYQLhcBBgYLFhAIQikXCQ4TEAYGAlMBS0sLERAMlhAuFwEDAAABADj/rgLSAkcAFQAGsxEGATIrNjQ3ITU3NjMyFxEhFhQHIREGIicRITgOASsBCgkNBwEqDw/+1gcaB/7V7RoHlpYND/7WCBgI/tYODgEqAAEATv8+ANIAeQAZAAazCwIBMis2NDYzMhYVFAcGBwYjIiYnJjc2NzUiBwYjIk4hGiYjAg47DgQDEAMBCz4GAQUNDhojMiRAMRMQWUAOEAQFDD9bDAMGAAABAAsAswEVAPwAAwAGswEAATIrNzUhFQsBCrNJSQABAE4AAADHAHsADQAGswcAATIrMyImNTQ2NzYXFhYVFAaLGiMbFA0OFBskJBgWIAUEBAQiFBojAAEAOP8GAb0C7gAPAAazCQEBMisBNjMWFgcUAAcGIyImNTQAAZcFDQgMAf6lBQYKCAwBXALkCgEMBwX8RQoKCwgKA70AAgAn/+oBzAKaABQAMQAItSQWDQECMisTNjMyFxYXFhUUBwYHBiMiJyY1NDYlJiIHBgYHFAYVFBcWFhcWMzI3NjY3NjU0JjUmJmA4YUk3GxMlKxw2KitzNSsZAQEdVB4WEAIBAgQQFhsqKRsWEAQCAQIQAklRMhoqU5GbUjoaFWlSm115PyAgF0JRBkIWYCZGPRYeHhY9RiZgFkIGUUIAAAEAUwAAAasCmgAhAAazGAABMishJiMiByM1MzI3NjcRIgcGByM1MzY3Njc2MhcRExY7AhUBoBGOjBEMGjoRCBACBi45ExNUOBINAhQHAQ8yIRoDAy4DAQsCBQMSAS4DIwoNAwb+1f7UDy4AAAEAMgAAAcECmgA3AAazHgUBMisTIiY1NDYzMhYXFhUUBwYHBgcHFzI3Njc2NzUzFQcVITU0NzY3Njc2NTQmIyIHBgcGFDMyFhUUBm4cIG1MVnENAiMcVSRAO0ydCgQGBAooHP6NAgFTbR9DRT46JAIEAwUZHyEBrSQaSGddSxIPOjMqSR89OAEFARQLOQMDtwMTFAMCXXknW0xCWTQEBwUCJBgZIwABACr/6gHJApkAUgAGsxsGATIrEyImNTQ2NzMyFxYXFhUUBgcGFxYXFhYVFAYHBiMiJicmNDYzMhYVFAYHBxYzMjc2NTU0JyYvAiY1NDYzMjc2NjU0JyYjIgcGBgcHFhcWFhUUBn8bH1o7Dz8wQhEDSTcFBQIIPVQ1KThFQmYSCiUaHCQaFgc2RjccEUAPLioDAgYCHB4sLiMVGjImBAoDAwMEFBshAc8iGzlNBxYhPQoRO10UAgEBAhFdOzRWGCM4LxU4IyQbFyIFAi01IUQUXyAGAQECAw0MBgUGVz1BFg4bAgkEBAEBAiIWGCEAAgAcAAAB1wKlACMAJwAItSUkFAACMishJiMiByM1MzY3Njc2NTUhNTc2NzYzMxcRMxUjFRQWFxYXMxUnEQMXAc4Oc3gOCR8rCggEAf79l5kCAhMSBlxcAQUIMR2y220DAy4BBAIIAjQyLufoAQIG/jQuMykOBQcBLtMBTv6zAQABADL/6gHBApoARQAGszwiATIrNzIWFRQGIyMXFhYzMjc2NTQnJiMiBwYGIyInJjU0JjU0MzYzFxYzMjc2MzIVFQYjIicnFTYzMhcWFhUUBiMiJyYnJjU0NmsYISIVBwMPPipHHxMbGiZOKAQHCxECAgEGAgISQURHQQgFCFF8HxkKOTwTFkNVf10/LBMOJyDWIRkXIAUgKjwlW2ckIUQHAwYEqx5SCzgCBhocBBINYQYCrC4FEXZPW4QjDBUvPRwgAAIAKv/qAcgCmgAtAEIACLU4LyMZAjIrASYnIgcGFRc3NjMyFxYWFxYVFRQHBgcGBwYjIicmJjU0Njc2MzIWFRQGIiY1NBcmIyIHBhUUFxYWMzI3NjY9AjQmAXUWKEYvLwEIKUYuIyY8CAIFDDIrNRAYEw9cVUxENj86Rx0wHQMcLCUXMQwKMCEzGw8ICAJZFgM8QYkEDTwTFlgzDB8SFxQ7NC0LBAMStYVsoi0mPjYZHhwZLegkFzFtWSIeKiYVOjcQEDk6AAEAN//qAeUCpAAyAAazHAQBMisTNjc3NDMzFRQWFjMzFQcOAgcGBwYHFAYVFQYGIyImNTQ3Njc2NzcjIgcGBwYHBgcVIzcBEBAUFB5Lg3lEDyYUAjQKBAEBBB8SGB0ED04UQC5drgkEBwYEAgEoAcoCa2sCBAoOBCddFTMcA1GIKUcOHQkJERghHQ8qh4ggWT8GAhQUGxECAwADACv/6gHJApoAJgA5AE4ACrdKPDUrGwcDMisTJiY1NDc2NjMyFhcWFRQHBgcGBgcHFhcWFRQGIyInJjU0NzY3NjY3NCYnJiMiBwYVFBcWFxc2Njc2ARQWMzI2NzY1NCcmJyYmJycHBgcGrDE1EBZVN0RkDAECD0wCBwECOAJLd1l7OhkCD1EGGMg4KAcaNSQZJAU7OgEYBjb++FY5KUMRESMISw4hCQgMPxQIAU8gRjkrHS03RzgGEhYIQjABBAIBJgI8WVFzWiQzFwhMNgQOsys8CAEkFyArGQUlJgEPBiv+2jtNIhsaHSshCDEJFQYFBik7GgACACr/6gHIApsAMABGAAi1PDIpHgIyKzcUBgcHFBYXFjMyNzY3NjU1BwYjIicmJjU0Njc2NzYXMhcWFxYVFAcGBiMiJjQzMhYTJiMiBwYGFRQXFhYzMj4CNTQnJiatFREEDgQXIhMHMCEnBSlKUDgdGR8mNEgEEhUIUS4rPCNjNj9NNRcdZQoSJhsVDQUFMSYdKxgLCAUnYBUcAwEBCQEKAgwyOIoHCERFJEQ0OkomNAcCAgISVVeLjGE4PztwHAH2AhsWPUpEKCYvIDc9Ik4iHS4AAAIATgAAAMcBsQANABsACLUVDgcAAjIrEyImNTQ2NzYXFhYVFAYDIiY1NDY3NhcWFhUUBosaIxsUDQ4UGyQYGiMbFA0OFBskATYkGBYgBQQEBCIUGiP+yiQYFiAFBAQEIhQaIwACAE7/PgDKAbEADQAmAAi1GBAHAAIyKxMiJjU0Njc2FxYWFRQGAjQ2MzIVFAcGBwYiJicmNzY3PgIjBgciixojGxQNDhQbJFUhGkEEDjYJBhICAQstCgEDAgETBBwBNiQYFiAFBAQEIhQaI/7sNCNxHBRRQAkQBAQNOD8GFBADAQAAAQBT/9gCtgIcABcABrMLAgEyKwUUBiIkJycmNTQ3ADMyFhUUBwYGBAcFFgK2CQ7+2o+QBwgCPQ4HCQcBUv7fpAIYBxMGD4pERQUKCwUBEg8GCAYBJ4lO/wYAAgA4AIUC0gFvAAoAFwAItRUNCAICMisTNDchFhUUBwUhJhU0NyEeAxUUByEmOA4CfQ8O/sL+whAQAnwBBwMDD/2DDgFbDQcHDQsIAQWzDwUBBQMHBA0HBwAAAQBT/9gCtgIcABkABrMNAgEyKxI0NjMyBBcXFhQHBgUFIyY1NDc2JTcmJyQnVAkGBwEmkI8HBwL+3v7gBhIDBAEg+HCI/uAEAgEODYpERQUUBQKJiAISBQYFiHY1QYgFAAACADcAAQGgAsEAMgBAAAi1OTMZCQIyKxIiJjU0NzY3MjYzMzIXFhUUBwYHBhUUBgcGIyInJjU2Njc2NzY2NTU0JiMiBwcWFxYVFBMWFhUUBwYjIicmNTQ2hC4fPCctAhIFBIUoDzdeFAUCBAMLEAMBAQ8UFh0SCiswOCUTAwQpPhkgGw0TKRECIwICHRdIIxoFAU8dHj8qQ1wYJhwMAgEFAiw8QCkqIBMfJA0tJBwTAQELKRf+WQIfGyQPCSgGDhwgAAIAOP/1AtYCwQBaAG4ACLVlXFNHAjIrARQOAiMiJyYmJycGBiMiJyYmNTQ3Njc2MzIXFzMyFxYXFhUUFxYzMjc2NTQnJicmIyIHBgYVFBcWFhcWMzI2NzczFgcGBwYjIicmJicmNTQ2NzYzMhcWFhcWJSYjIgcGBhUUFxYzMjc2Nzc1JyYC0gkWMCNFGgEBAQEcNykhHTtKJS5XBhNYNwMYGQIEAQEFCBIPCiYjMFo8PTw8TV8NF31WFCE9kDEHOwoGB0p5fk1ETGYMAbJ/CBFMRExmDAL+ywsPCgMuNiMiLwsMNCEGBiEBXTBHRCQyAQQBARwdDBdtTU40SREBUwYBAQkOdI8NEwcahmBKXywdHSaXZzMuU3kQBCAXAwoFCRssIiaSYQohkscMASImkmAWoAMBC2pDUzI0Aw44CswKOAACACAAAALNAswAMwA8AAi1OjcOAAIyKzMmIyIHIzUzNjc2EhI3NjMzFhcWEhcWFxYXMxUjJiMiByM1MzI1NCcnIwcGFRQXFhYzMxUTJicnBwcUMzP/EmFZDAcPSBQBaGcBAxAJFAQBwBgDBAs0HgkPcIEPCg1GGBjpFBQDBicWBZgdFhQyM2VmAwMuAycDATUBMwEIAQYB/cZHBgQKAS4DAy4SAkhHOzsGBQQNES4BW1dAO5aXAQAAAwAcAAACiwKrACQAPABOAAq3SEE0Kx4FAzIrEyYmJyM1MxYXFhcWFxYVFAYHBxYWFxYVFAcGBgcGByM1MzY2NwE0JiciIiYiBiIjBgcGFRUzNzc2Nzc2NhM0JicnIxUUFxYXFjMzMjc2NoMKEykhyckNNiI6FwxSQgpGZQ0BAg1iRQ3W1iEpEwoBfDUqARknJCcaAg0DA1NUCgMHBicyGjwvZWQBAgIGXjEqEiszAm4KBAEuAQIJFCEzGxwzVRADCE48BhIXCDtUCgIBLgEECgHEL0QIAQEBBwR9fQECAQICDkX+6zlQCwGJiwIEAwUGDkoAAAEAOP/rApoCwQA/AAazFAYBMisBFxUGBgcGIyInJiYnJjU0NzY2NzYzMhYzMhcWFxc3NjcyNjMyFxEHIyYnJiYnJiMiBwYVFBcWFjMyNjc2NTQ3ApQGBWxVHSQlGnCZEgEBEZpwIBMCDAMYCkk2DR4bBAEGAwcGBiIGAQlOOBMfaEZPJh9zR0lsDAUGAQEGD1qKFgcGFqh8CSIhCnqpFwYBAg01DCclBAEG/ugGBgtSeBMHRk+neUY7RGlHGRMHBgAAAgAbAAACxAKrABoANQAItSseFAUCMisTJiYnIzUzFhYXFhYXFhQHBgYHBgcjNTM2NjcBIiImIgYiIwYHBhEQFxYXFjMyNjc2NTQmJyaCChMpIcmrKBZihQ4CAg6ObA3JySEpEwoBCQIXIR4hFgINAwMBAgoIV0FLJE4sOCwCbgoEAS4BAQUVpm4ULhRvoRICAS4BBAoCPwEBAQcE/uj+5gMJAgIUHUGyZX0mHQAAAQAZAAACjAKoAEkABrNDBQEyKxMmJicjNSEVFxcVIzUmJyYmJyYjIgcGBwYVFTM2NzY2NzUzESM1JiYnJicjFRQXFhcWMzMyNzY2NzY3Njc1MxUGAgcVITUzNjY3gAoTKSECPA4OKAECDENSCjpkCAkDATZBDxwUAigoAhQcD0E2AQEDBi4zWg46QREOCQQBKAEnAv23ISkTCgJrCgQBLgR0dAQEAxJeRQUBAgEKAnp5AQUIKSoU/ugUKikIBQGGhwIEAwUBBy0uJTwZAgMDA/77AwMuAQQKAAABABkAAAJiAqgAQgAGszcFATIrEyYmJyM1IRUXFxUjNS4FJyYjIyIHBgcGFRUzPgM3NTMRIzUuAycjFRcWFhcWMzMVIyYjIgcjNTM2NjeAChMpIQItDg4oBAYMDxchFhpfMCsGAwEBNComIQsCKCgCCyEmKjQBCBAcCyUbDBqMfxMLISkTCgJrCgQBLgR0dAQEHyIuGRsQBQUFAwQCgX8BBBQlIhX+6BUiJRQEAYCACAUBAS4DAy4BBAoAAAEAOP/qAt8CwQBZAAazKhwBMisBFjMyNjMyNjYzMxUjIyIHBhUVBiMiJyYnJwYHBiMiJyYmJyY1NDc2Njc2MzIWMzIXFhcXNzY3MjYzMhcRByMmJyYmJyYjIgcGFRQXFjMyNjc2NTUmJyYjIzUBwRiICiUKCyAQAggOCiQHAgYDBA4WEQ0TQDAyJR1wmRIBARGacCATAgwDGApJNg0eGwQBBgMHBgYiBgEJTjgTH2hGT0tIby9HCgMQCBA7GgERAwEBAS4MBGdmBgoPEQwgHBAHFqh8CSIhCnqpFwYBAg01DCclBAEG/ugGBgtSeBMHRk+unE5NKiIKMjQLAQMuAAABABkAAALUAqsARQAGsygFATIrEyYmJyM1MxYyNzMVIwYGBwcVITUmJicjNTMWMjczFSMGBgcRFhYXMxUjJiIHIzUzNjY3ESEVFxYWFzMVIyYiByM1MzY2N4AKEykhCxH+EQshKRUHAQEdChMpIQsR/hELISkVBwcVKSELEf4RCyEpEwr+4wEHFSkhCxH+EQshKRMKAm4KBAEuAwMuAQQKenr0CgQBLgMDLgEECv3PCgQBLgMDLgEECgEPh4gKBAEuAwMuAQQKAAEAFQAAAVMCqwApAAazFAABMishJiAHIzUzMjc2NzYRECcmJyYjIzUzFiA3MxUjIgcGBwYREBcWFxYzMxUBSBD++BALFicbDAUCAgUMGycWCxABCBALFicbDAUCAgUMGycWAwMuAwMIAwEXARYDCAMDLgMDLgMDCAP+6v7pAwgDAy4AAAEAGf/qAdECqwBDAAazOCQBMis3MhYVFAYHBhcWFjMyNzY2NzwCNjQ1PAImNDQ1NSYnJiMjNTMWMzI2MjY2MzMVIyMiBwYQBwYGIyImIyYmJyY1NDZZGyQdFQMCCzYYDgkdJwUBAQYTEj0cDBaQCigWIRICCBALKQgBAQpwRwYZAzZICAEksSMeGCAEAQIOFAMJOikBHzI8TCIZNS4sIhoIBwoDAy4DAQEBLg4C/hYIP1ICCT4sBQofJAAAAQAZAAAC4AKrAGEABrM4BQEyKxMmJicjNTMWMjczFSMjIgcGFRc3Njc2NzQnIiYjIzUzFjMyNjMyNjYzMxUjBgcGBhQSFxYXFhczFSMiJiYiJiMiByM1MzI1NCcmJycOAgcHFRQXFhczFSMmIgcjNTM2NjeAChMpIQsR/hELFhg2AgEBkpICAgIcAgcBBAoRcggcBwgWDAEGDkssBbLbBgoOEioVCAIPHxQkCXoVCwguAwtOVwUOGg0uAwg7IQsR/hELISkTCgJuCgQBLgMDLhECnJuOjwQDCBYHAS4DAQEBLgQkBawC/rcJDwgKAS4BAQEDLhoGBhB4gwQOGQwtX14ECwEuAwMuAQQKAAEAGQAAAkYCqwAvAAazKQUBMisTJiYnIzUzFjMyNzMVIyIHBgYHAxAXFhcWMzI3NjY3NDY2NDMzFQYCBxUhNTM2NjeAChMpIQsSgJQSDBslCxwQCAEBAQMGRkcaOzgLAwMUFAIYAv3vISkTCgJuCgQBLgMDLgEBBQj+6P7oAwQDBQYRTkkFGRQCBQP+/wMFLgEECgABAB0AAAN3AqsASQAGsx4FATIrEyYmJyM1MzIXFxIVNjc2Njc2MzMVIwYGBxEWFhczFSMmIgcjNTM2NjcRPAI1JwIHBiInAxUGFBQVExYXMxUjJiMiByM1MzY3N4QKEykhamkEBdFWTx4OBQRpaiEpFQcHFSkhCxD4EAshKRMKAekEBCAE6gEBDEkRCQ1maA0IEUQPAwJuCgQBLgMF/doB4tNQIgUDLgEECv3PCgQBLgMDLgEECgEeTUpgExP9lgcGBgJpEhJaRkj+8iQELgMDLgQeBgAAAQAZAAAC1AKrADUABrMQAAEyKyEmIyIHIzUzNjc3ESMmIyM1MxcWFhcXESYnIzUzFjMyNzMVIwYHAxEGByMiJyYAJxETFhczFQEJDWZoDQgRRA8DBAo+G88DAqtVVRNDEQgSY2YNCRFJDAEDBA4PAwb+cAUBDEkRAwMuBB4GAiQDLgMB+319AaQkAy4DAy4EI/7Y/tgCBAMGAkwI/vz+/SQELgACADj/6gLSAsEAGQAwAAi1JhsRAgIyKwEUBiMiJyYmJyY1NDc2NzY3NjMyFxYXFhcWAyYjIgcGBgcGFRQXFjMyNzY3NjU0JyYC0sSKGhdqmRMFUh8WS2AJEW1aFh5CDwL/KSYoJTVFCgVnMT8WBkQ0QgUVAVWX1AQRoXEZKodqJBA+CQFIESNSdBIBGhISGmtLHDnTUikBDkBYpzkcmQAAAgAbAAACcAKrACYAPAAItTQpHAUCMisTJiYnIzUzMhcWFhcWFRQHBgYHBgcjFRQXFhczFSMmIgcjNTM2NjcBJiYjIyIGIiMGBwYVFTMyNzY2NTQmggoTKSG7wAdNdw0CAgxgPxZlXgMIOyELEf4RCyEpEwoBWBo3PBoMGRIBDgMDR00GQzcNAm4KBAEuAQZaQwgWFQg5Uw0FAXh3BAsBLgMDLgEECgIfFgsBAQcEjY0BBkJJLzMAAAMAOP8/AtgCwQA1AFYAZAAKt1xXUUcsDAMyKwUiJjU0NzY3Njc2NzYzMhcWFxYXFhQHBgcGBwYVFhcWMzI2NzYzMhcHFAYHBiMiJyYnJjUHBic0NjMyFxYXFzY3NjU0JyYnJiMiBwYHBhUUFxYzJzQ1JjciBhUUFjMyNzY1NCcmAYSKwgEOQx8WS2AJEW1aFh5CDwICDkYqOg0NBR0tJjIDAQkFBwE1KwYTKRkcDg8KKoI1JREXJRsGDBhGNTZaBw1BNhESQmsYBAEDVRUbGhUhGxsLFBbUlyEJcFYkED4JAUgRI1J0EjASdlQxIQYBGggyJyINBRJHYQoCGRo7PA8CDFolMgkTOQwIGlWij1RVDQEtDhZYncRWEgMCAgdAHxMVHAoJAwoTMAACABv/6gLcAqsAUABkAAi1XFMyBQIyKxMmJicjNTMWFxYXFhcWFxYVFAYHBgYHBxYXFhcWFhcWFhcWMzMyNzY3NDYzMhYVFAYHBiMmJyYmJyYmLwIjFRcWFhczFSMmIyIHIzUzNjY3ASYmIyIGIwYHBhUVMzI2NzY2NTSCChMpIa+6EwMKLSNfDgFVOgIFAgIDCEgRARQBBxURBA0FDQsUAwcNDAgjGRAalRcCAQYJKRoKQkIBBxUpIQsQfn8QCyEpEwoBaApXWQ8mAQ0DAzpLSBsRCwJuCgQBLgEDAQIJEzBTBQs4VBMBAQEBAwMoQgR8BCQiBgILFCgLBwUKJDsLBgZqC3wVGycIAgGDgwoEAS4DAy4BBAoB3jwmAQEHBISEDRsRKiggAAEAN//qAfQCwQBRAAazSSEBMis3FhUUFjMyNzY1NCYnJicmJjU0Njc2MzIXFhc3NjY3NzI2MzIXFQcjIiYnJicmIyIGFRQWFxYXFhcWFhUUBgcGIyInJgcOAhUGIyInNTQ3NjNZBnNfJx0vLSOWATpMPi4oKE8xDxMVBQsEAwEGAwcGBhILBAMRVCUmNEMiHwpURwU5SVpJChpqQgUCBBYSAggHBgECEuMGB1llGidCK0cMJQEUZUM8XhcUIgoTHwcQBQQBBu0GBhF+KRBDNSI5EAUUEwIWaUdScQ8COgUBBR8ZAQEGdXcCBQAAAQAkAAACrQKlAD0ABrMhBAEyKxM2NjU1IRUWFhUVIzUmJyYnJicmIyMiBgcGEREWFxYzMxUjJiAHIzUzMjc2NxEQJyYmIyMiBwYHBgcGBxUjJAESAmMBEigBAgcZESYVOBsXCwMBCBEkNh4NFf66FQ0eNiQRCAEDCxcbLworGSAIAgEoAbsC4AIGBgLgAgYGBBRhHRULBQMJAv7r/uwLAwMuAwMuAwMLARQBFQIJAwEHFRtrFAQGAAEAGf/qAtQCqwA7AAazNAUBMisTJiYnIzUzFjI3MxUjBgYHBxQXFhcWMzI3NjY3NjU1JicjNTMWMjczFSMGBwcUFQYHBhUGBiMiJyYnJieAChMpIQsR/hELISkVBwEECSMtQBEQPE4LBBNDEQkN0A0JEUkMAQEEARF8VUE8cBYBAQJuCgQBLgMDLgEECszgGUElKwMLUUAXzLwkAy4DAy4EI8ceL4ISAgFQcR86fQnTAAABABP/6QLaAqsAMAAGsyoFATIrEyYmJyM1MxYzMjczFSMGBwYVFBIzEjU0JiMjNTMWMzI3MxUjIgcUAgcGBiMiIyInJ3ILEiUdCQ5ueBYLFS4LBLQBqyoZBQkRYlYLBgdKFuEBAwgQAgMRAwECbAsFAS4DAy4BCgMDAv4UAdAHExUuAwMuKQH9oAEGAgYCAAABABL/6gPxAqsAUgAGsxAAATIrARYzMjczFSMGBwYHBgICBwYjIicmAicOAgcGIyYnJgInJicmIyM1MxYzMjczFSMiBwYVFBcXNzY1JicmJyM1MxYzMjczFSMiFRMSNTQnJicjNQMYEmhNDAYNMBYIAwNiYAIFERIDApwBFk45AgQUEQQBygMGCw4mEQkqVXYPCw0uEApMSz9BFgYKLhwIDmp5FQoNR5eOAhA5CwKrAwMuAxYIBgf+zv7UAgUHAgHpAUD0tAQHAQYBAngECgEELgICLggDBgTr7cPNAkkGCwEuAwMuEv4nAbIUAgQcAy4AAAEAFwAAAtYCqwBfAAazFAABMishJiMiByM1MzY3NjY1NAInJisCNTMWMzI3MxUjIgYHFBYzMjY1NicmJyM1MxYzMjczFSMGBwYHBhUUEhcWFhczFSMmIyIHIzUzMjY1NCYnJwcOAwcGBwYVFBYXMxUBDg10YgwIEVkgBJ+yAxI2DhQJD298FgsFESoCdwIBaAYNDx8ICQ10YgwIEVIiA0ZCzQMIHCcfCQ9vexcLBhEqSCUlAwIKDxYPQgEBIBYIAwMuAycG9AECARYDDy4DAy4LBQO7oQELDREDLgMDLgMjA2lnAQL+wAMJBgEuAwMuCwcDcjk5AwIOFyMXZAMBBw4WAi4AAQALAAAC4gKrAEAABrMUAAEyKyEmIyIHIzUzNjc2NTUnJicmKwI1MxYzMjczFSMGBxQXFzc2NTY1NCcjNTMWMzI3MxUjBgcGBwcVFBcWFxYzMxUCBhCAfhALITsIA2doAw4wFRQJEHB8FgsSMANVVkxOAi4JCQtiRSQHD1MbAV9cAgMODy8WAwMuAQsFaGqtrgMOLgMDLgEPApCPgIMBAwkdBC4CAi4ELQGgmmhpBAgDAy4AAQA3AAACMAKrAC4ABrMbAwEyKxM0NjUhFhUUBwYABjIzNjc2Njc2NzUzFQYCFRUjJycmNTU2EhI1IgcGBgcGFRQjRQsB1QYBAv6MAhw5WQlBRA0GBygBEPHxAwMCvbqQDUxLCwQUAbsJzBsGDQ8BA/2uAgEBCTg5G0kJCAL++wMIAQIFDQ4EAS0BKAEBBUZIGBQCAAEAdv8GAP8C7gAHAAazAQABMisXETMVIxEzFXaJYWH6A+go/GgoAAABADj/BgG8Au4ADgAGswkBATIrEzQzMhcWABUUBiMiJyYAOBMLBgQBXAwICwYD/qQC2xMKB/xDBwkKCgQDvQAAAQAW/wYAnwLuAAcABrMDAQEyKxM1MxEjNTMRFomJYQLGKPwYKAOYAAEAcAISAYMCtgAUAAazEAEBMisTNxcWFQYHByYnJwcGBgcHBicnNza+OwiCBgcNBDY1Nw0bBwgCDQ0KJAJ9OQh8AgcIDgIwLi8LGAcGAhAOCiQAAAEAAP/CAfP/5wADAAazAQABMisVNSEVAfM+JSUAAAIAIv/1Ae0BwAA/AE8ACLVKQScHAjIrEiImNTQ3NjYzMhYXFhYVFBYXFjMyNzY1NTMVBgcGBiMiJic1BgYHBiMiJicmNTQ3Njc2NzM1NCcmJiMiFRYVFBc0IyIHBgcGFRQWMzI2NzaLLh4IDU44QmEPBQEBBQYODQYGKAECCTAhGScHAxIEMUE0Ug4IJxciRGoOBgoyJUMWlAEDAokmCzAjKDkJAgExIBYOEhsePDAOI2FiIQkODgwrJCcoBxwlIxkEAxUEKSwkExMvJxcPHwYWIhAhJggPHRaiOgEJSBQZIi4wIwcAAgAU//UCCgK2ACkAPgAItTQrFAICMisTMjYzMxUUMzY3NjMyFxYWFRQHBgYjIicnBw4CDwIjERAnJiYnIzU0ASYjIgcHFRcWFxYzMjc2NzY1NCcmFgSUAgMBAwM3UhIPR18CDXNVTTcHCgIHBQEFFBQBAxchEgE3GAdGKgYFHi8NEkAlCAgMDBUCqwuXmAIDLgMOeVgTEFFvOwcSAw0JAgkBASoBLQQTDQIXF/7nAzoI8QcwDQQ2CxYjQEolPwAAAQAi//UBnwHAADIABrMsHwEyKwAiJjU0NzYmJyYjIgcGFRQXFjMyNzY3NjYzMxYVFAcGIyInJicmNDc2NjcyNjMyFxYVFAFzLB4PBQEJGhczHS8fKUUZEyoQAgYNDgYZMlsyLWMUAQEKaU0BEAaBFgMBMh4WFw8FAgEEIC9uUi89ChU5CAQGAxMoSBczdwY0B05wCgFECQ4XAAIAIv/1AhcCtgAoADgACLUzKg8CAjIrATI2MzMREBcWFhczFSIGByM1BwYjIicmJyY1NDYzMhc1NCcmJicjNTQTJiMiBwYGFRQXFjMyNjc3ASwElAIDAQMXIRIClQQHCDlJRjY+DgF8Vko6AQMXIRJLLUQxJhkRKh8vI0ATBAKrC/7Q/s4DFA0CLgoBNwcwLzdZCBthgjFmaAQTDQIXF/6rPyQaRj5vKSEmIQYAAAIAHP/1AZ8BwAAkAC8ACLUuKSEVAjIrJRQHIRUUFxYzMjc2NzY2MzIVFAcGBiMiJyYmJyY1NDY3NjMyFgcmJyYnIgcGBxUzAZ8H/uYUJFgrHRQLAwYNFAMTUzwTGTlaEwxsTwQKW19SCUEHDjQhFAbO9QcHD0omSiAUIAsGCgQJNEMFC1I6JCVcfwoBa0JtFwMBMCA5BwAAAQAaAAABdALBADgABrMYAAEyKyEmIyIHIzUzMzI3NjU1IzUzNTc3NjY3MjYzFhYVFAYiJjU0NyMmBwYGBwYHFTMVIxUUFxYXFhczFQEREm1iDggQCyoIAUdHAQIQUj0BEQUjMBwuHBIECQ0YJwoGAW9sAQQICisfAwMuDgKioS5CQwo3RAcBAioiFxwcFxIWAgIEKR4US0IuoKICCAIEAS4AAwAd/zIB5QHFAEkAWQByAAq3aVxUTDABAzIrATYzMhYVFAYjIicmNzQ3NQYHBgcGFRYXFhUUBwYjIicGFRQXFhYXFhcWFxYVFAcGBiMiJyYnJjU0NzY3NyY1NDcmNTQ3NjYzMhcHFBYzMjY3NjQnJiMiBgcGEyYmIyMiBwYGFRQXFhYXFjMyNzY2NzY1NAFJLDkZHhQQIAUCBQEEBRgUCAICIRsvYDAzCxoJET9UGHEUAgIOfk5SPT4OAh8PEQskHSwbFUwvMyywIi4gKAUDAwxCHSoFA+kWNzMdQw0UFwMIOCUSISASJTkHAgGZLB8aEBQeDgcBAgEBAQQQBQICAykwKSdFHBQSIxEGAQEBBRFfCBMSBjM7Hx4xBg8pHQ8IBh81LicsNyonHyYafDY4IRsQRBE9IRwQ/qIPCAYJJhULCRcnBwQECCcXBQ0iAAEAGQAAAh4CtgBUAAazEgIBMisTMjYzMxE2MzIXFhUUFxY7AhUjJiIHIzUzMzI1NjUmJyYmIyIHBgcUFAYVFBQWFBUVFjsCFSMmIgcjNTMzMjc1PAI2NDQ1NDQmNDQ1JiYnIzU0GwWUAQM+UnsMAQEIKgsQCA3GDQgQCDUBAQEHHyAtIiMGAQEIKgsQCA3GDQgQCyoIAQEDFyESAqsL/rlLcQeEgAIOLgMDLhACiIcIIB0iIzUBIzYYDyEaFQcGDi4DAy4OCAkcJjEzOxslU0I3IAETDQIXFwAAAgAaAAAA/wKdAA0ALAAItRgQBgACMisTFhYVFAcGIyInJjU0NgcyNjMzERYWFzMVIyYjIgcjNTMzMjc2NTQnJiMjNTSDGSAbDRMpEQIjSASQAgMFDhwXCAtdWxIIEAsqCAEECDMLAp0CHxskDwkoBg4cIO4L/oQKBQEuAwMuDgKPlgoUFxcAAAL/yf8zANoCnQANADIACLUYEAYAAjIrExYWFRQHBiMiJyY1NDYHMjYzMxEGBgcGBiMiJjU0NjIWFRQHFjMyNzY3NhAnJiYnIzU0oBkgGw0TKRECI08FmgEEAQEFD1I4LUQeLh8YHgYMCSoIAgEEGiIUAp0CHxskDwkoBg4cIO4L/v7cLw8uPS8pFx4fFxkUBQMPSQwBnAYUCwEXFwAAAQAUAAAB/wK2AF8ABrMnAgEyKxMyNjMzFRc3Njc2NTQnIzUzFjMyNjI2NjMzFSMGBwYVFBYXFhYzMxUjJiMiByM1MzY1NCcmJiMGBwcVFBcWOwIVIyYiByM1MzMyNzU0NDY8AjU8AiY0NSYmJyM1NBYElAIDATw8BAYVBQkNagcXDBMKAQUNRS9KfwcOIx8LBgxLYg0IBxgEA14BDA4aAQgqCxAIC8QLCBALKggBAQMXIRICqwvn5jY2BgkIEgMuAwEBAS4FJz8EAbkJEw4uAwMuAhEHBwWKCg0XODoCDi4DAy4OCAkcJjEzOxslU0I3IAETDQIXFwABABoAAAEHArYAKwAGswwCATIrEzI2MzMREBcWOwIVIyYjIgcjNTMzMjc1NDQ2PAI1PAImNDUmJicjNTQcBZMCAwEIKgsQCBJcYg0IEAsqCAEBAxchEgKrC/7F/sMCDi4DAy4OCAkcJjEzOxslU0I3IAETDQIXFwABABkAAAMzAboAfgAGsxwCATIrEzI2MzMVFDM3NjMWFxc2NzYzMhcWFRQXFjsCFSMmIgcjNTMzMjU2NSYnJiYjIgcGBxQGFBUcAhYVFRY7AhUjJiIHIzUzMzI1NjUmJyYmIyIHBgcUFAYVFBQWFBUVFjsCFSMmIgcjNTMzMjc1NDQ2NDU0JjU1JiYnIzU0GwSRAgMBATZjYRYCGAMzRH0MAQEIKgsQCA3GDQgQCDUBAQEHHyAtIiMGAQEIKgsQCA3GDQgQCDUBAQEHHyAtIiMGAQEIKgsQCA3GDQgQCyoIAQEDFyESAa8LKCYBTQNJBR4DMHEHhIACDi4DAy4QAoiHCCAdIiM1ASM2GA8hGhUHBg4uAwMuEAKIhwggHSIjNQEjNhgPIRoVBwYOLgMDLg4ICRwjKxQfRxcXEw0CFxcAAAEAGQAAAh4BugBTAAazFQIBMisTMjYzMxUUMzc2MxYXFhUUFxY7AhUjJiIHIzUzMzI1NjUmJyYmIyIHBgcUFAYVFBQWFBUVFjsCFSMmIgcjNTMzMjc1NDQ2NDU0JjU1JiYnIzU0GwSRAgMBATZjcwwBAQgqCxAIDcYNCBAINQEBAQcfIC0iIwYBAQgqCxAIDcYNCBALKggBAQMXIRIBrwsoJgFNBG0HhIACDi4DAy4QAoiHCCAdIiM1ASM2GA8hGhUHBg4uAwMuDggJHCMrFB9HFxcTDQIXFwAAAgAc//YB1wHAABQAJwAItSAWDwQCMis3NDY3NjMyFxYVFAcGBgcGIyInJiYBJiMiBwYHBhUUFxYzMjU1NCcmHHRREAlXQEYFDFk/Fx0eF0teARQbGR4bOAsCEyBJegUN1luDCgJARmMUGz9dEAYGE3kBBwwMHFESLl8oPaMgQRc9AAIAFP8+AgoBugA+AEwACLVDPyACAjIrEzI2MzMVFzc2MzIXFhYVFAcGBgcGIyInJxUUFxY7AhUjJiIHIzUzMzI3NTQ0NjwCNTwCJjQ1JiYnIzU0BSIHFRYzMjc2NTQmJyYWBJQCAwEIPU0WCkZeAgpNPR4gRDQIAQgqCxAIDcYNCBALKggBAQMXIRIBHUc0KUcqIjY+KwQBrwsaGgcsAg56VxMQQV4XCiwHVVcCDi4DAy4OCAcZIiwtNRgiSjoxHQETDQIXFx1B70glOGNFaggBAAIAIf8+AhcBugAoADsACLU2LRwTAjIrJQYjIiYnJjQ2NzYzMhcWFxcyNzczERAXFjsCFSMmIgcjNTMzMjc2NRMmJyImIwYHBhUUFhcWMzI3NjcBdTxNOFoZIEY1KiYeB0MpBgEQECUBCCoLEAgNxg0IEAsqCAEDHkQDDAI8KR04KwYRDwZFITE8PCw4imwaFAENNwgnJ/7i/uACDi4DAy4OAlsBVVkMAQJDMUZCawwCARBKAAEAFAAAAWwBugBFAAazKgIBMisTMjYzMxU2NjMyFxYVFAYiJjU0NzY1JgcGBwYHFQYVFBQWFBUVFhcWFzMVIyYjIgcjNTMzMjc1NDY0NDU0NDUnJiYnIzU0FgSPAgMTLiYcFCceKh0IAgIVEAgoBgEBBAgKKx8JEm1iDggQCyoIAQEDFyESAa8LRSAkCxQlFh0cFhELBAECBggHJlgnJxwNHRYSBgUIAgQBLgMDLg4ICRwjKxQfRxcXEw0CFxcAAAEAIf/1AWcBwQBJAAazOxoBMisBNCYjIhUUFxYWFxYXFhcWFRQGIyInBwcGBwcjIic1NDY3NjMyFhcWFxYzMjU0JyYnJicmJyYnJjU0NzYXMhcXNzY3MzIXFQcjJgEnODFcAgksLjkVPxIBVUw8LAgJBgYLCAcGAQQCDg0FAwgSIz5hEhAaER84FEILAY0EFCgeDwkNCQgHBgYcBgE8LjRBDQQYFQkKDB5FBhJHSCQHCQYFCgZPQBUCAQQMJh8zTh0SEwgEBwsKHz4EC3MOAgIPCAcLBgaEBgYAAQAS//YBTQJnACQABrMXAQEyKxM1MxUzFSMVFhYXFjMyNzY1NTMVFAcGBiMiJicmNTUjNTM2NzaNKIeHAQEGDiMsCgEoBQs1KzZABQFPCSUaLgJYD7gukH0hDydHCCYjIy4UKDI7MweNiSUDHTAAAAEAGf/1Ah4BugA8AAazKQIBMisTMjYzMxUWFxYWMzI3Njc0NjwCNScmJicjNTI2NzMVFBcWFhczFSIGByM1BgcGIyImJyYnJiYnJiMjNTQbBJcCAwEBBSIkHBM6CgEBAxchEgKVBAcBAxchEgKSBAcqJxMiQEYKAQEBAQUKMgsBrwu1uAYbEgkcUQEgMSwxEBATDQIuCgGytAMUDQIuCgFFMwoHLzQHgm0aCBAXFwAAAQAT//UB/AGvAC4ABrMOAAEyKwEWMzMyNzMVIwYHBgIHBiMiJwInLgInIzUzFjMyNzMVIwYHFBcXNjc1NCYjIzUBUgUrJDkYBQs4EgKDAgUUEwWMAQQPDBgYBgpXXw8IDicDMzMfPBoQBAGvAgIuAyUE/q4FCQkBaQUKCAIBLgMDLgEOBISET6AIEBQuAAEAEv/1Ar8BrwBOAAazHA0BMisBIhUUEhc3NjU0JicjNTMWMzI3MxUjIgYjBgcDBiMiJyYnJwYHBiMiJwMmJicjNTMWMzI3MxUjBhUUFxc+Ajc3JyYnJicjNTMWMzI3MxUBxDBaAikqHRQIBw1SRAYFBgELAy8QdgQSEwQBMC5VCgUSEwSCBxAbFgYLUVoPCA4mLCwBCxIJIwYJAwkiFAYKSlwOBwGBEAj/AAV3egYREwIuAwMuAQcr/q8IBwGIhugnBwgBcwsFAS4DAy4CDwGAfgQfMhxmERoECQEuAwMuAAABAAsAAAIEAa8AXgAGsxUAATIrMyYjIgcjNTM2NzY3NycmJyYnIicjNTMWMzMyNzMVBhUUFhc3Njc2NTQnJicnIzUzFjMyNzMVIyIHBgYHBgYHBxcWFxYzMxUjJiMiByM1MzI2NTQnBgYHBhUUFjMyFRXJD1RKCwYORyEELy46OwIJEgYeHAckQyw1BggkPwgZGwEEDAIEBAUHDVZMCQYHMSAPFhgHHQIQPkECDzsRBgpWXBIJAwsWUQE9AwQPCgIDAy4FIQQ+PE5RAgkDAi4CAi4FCwNYCCIiBAcJEAcBAgEuAwMuEQcWHwomAxVVWAIPLgMDLgsGAW8BUgQHCAsQFxcAAAEAE/80AfwBrwBBAAazPBcBMisWMhYVFAYHBhcWMzI3NjY3NycnJisCNTMWMzI3MxUjIhUTNDc3NTQmIyM1MxYzMjczFSMGBw4CBwYHBiMiJjU0MCocEAsEBAcNDw4eJBMRSEsHLQkPBwtVXhEICS9lLiwYEgMGCUw3GgULOBMCVF4PJzYFECk1Qh0VDhoEAgIEBgw4Myu3uw8uAwMuEf8AAXJyCRATLgICLgUjAtnrFjwMATEnFwABABwAAAGRAa8AMQAGsx4EATIrEzQ2NzUhFhUUBwcGBgcHFzI3Njc2Nzc0MzMVFAYHFSMnJyY1NDc2ADcjBgcGBwYHFSMqCgEBVAYBERFDIIMwPhgrFBUHAhQUEAGvrwMDAQIBBQI6QxEZDhgHKAEHApsDCAYKDAEYF1wrswEDCBocUBABBgG8AQYBAgUJDQECAWYDAQUGDxdQCQABAEH/BgGyAu4AQgAGsyQCATIrBRQHIyImJyYnNDUmJyY1JiYjIiY0NjMyNjc2Njc2NzY3NjcyNjMzFhUUBwYjBgcGBwYVFAcGBxYXFhUUFxYWFzIXFgGyBhJMbQ0CAQEEAQxEKQsGBgspRAwEAQEBAggYLFkCFwYUBgMCDjglFAYFAQpubwkBBQpEKQ4CA+cNBjM2B4oVIFkLAQEfLQYaBi0fDBp2iQcgFSwHAQYMDQMDAx0PEw2HggZOIyZLBoKHDRwkAgMDAAEAd/8HAJ8C7gAJAAazBQABMisWIicREzYzMhcRmBoHAQoJDQf5DgHmAeYND/w2AAEAQf8GAbIC7gA6AAazHQIBMisTNDYzMzIWFxYSFxYWMzIWFAYjIgYHBgYHBgcGBwYjIyImNTQ2MzI2NzY3NzY3JicmLwImJyYmIyImQQQKCVBqDgMBAQpGLAsGBgsnRQsFAQEBAggYNnELCAUECDFHCgEBARJmIRE3DQIBAQEKRzEIBALbDQY2Mwn+8QgkNAYaBiweDRt1igcgFTQHDQsGKiAFiYhTHAsJITEKiIgGICkGAAEAUwDXAaABPgAdAAazEAEBMisTNjMyFxYzMjc3FxcUBwYHBiMiJyYjIgcHJyc0NzaOFhcVLSsYIxoHDg4UIRMOERcrLBgjGgcODhQeATAOEhIdBwwLARgnCQcSEh0HDAsBGCIAAAIAWP/1ArsCygBlAG4ACLVqZkcKAjIrEzQ3Mzc3Njc2NzYzMhYVFCMiJzQ2Nzc1NCMiBgcGBhUUMzMWFRQGBwcjBw4EBwYGMxYXFhcWMzI3NjY3NjYzMhUUBwYGIyImJicnBgcGIyInJjU0NzY2MzIXFhYzMzY3NyMmByIGFRQzNjcm/QwjIhUTBS5nIRY4PEAmAh8WBkkqPg4DLiwsBgkBA10UBQoEBgcGBAUBCAosHx4RDwQZLAoEBQ8YAhJePRkxGx0XLkEJEy8PBQIJSzISFgIEAgECGxVABjcWIhUvIxsBTBIUAVJPDnglC0w8aSMYIgIBB2VEMAe1AgEGAgMfAQNTESgPFRAMCAsFBhsMBwEHMCELBAgCCDlUEA8SDS4NAh0MCAMKJDMFAQEBalUG9RoREAMvCQAAAgBF/zQBdgLAAE8AYAAItVZQKwMCMisTNDY3MzIWFxYVFAYjIiY1NDc3JiMiBwYGFRQWFxYWFxYVFAYHBxYXFhUUBiMiJyYmNTQ2MzIWFRQHBxYzMjc2NjU0JicmJyY1NDY3NyYnJhcGBhUUFxY3NjY1NCcmJyYjRU44FyhBEA0WExEYHAQjNgsJGiIwKDM7FQ4vJwxHFgVXQSUfHygWExEYHAQjNgsJGiIwKEMfLy8nDEkUBZUhLD8RCB8qSgIDAgECIztaCCoeGxoTGBgSHggCMgMKQSouSBMXLyUhHi9IFAYtPBQSQF0QDjolExgYEh4IAjIDCkEqLkgTHyErPy9IFAYuPBSZAkMyUSsLAQNCMVgrAQEBAAIAXwIqAZQCnQALABoACLUXEQgCAjIrEzQ2MzIWFRQGIycmNzQ2NzI2MzIWFRQGIyImXyEZGCEhGRkgwhsTAQgCFyMjFxYjAmQWIyMWFyMGESIUIQQBIhcYIiAAAQA4AFkCYwFkAA0ABrMHAgEyKxI0NyEWFxUGIyInJzUhOA4CDgcIDQcKCQH+CwFDGgcDCvENDWtrAAIAkwIeAWACywARACIACLUbEgoCAjIrEzY2MzIXFhUUBwYjIiYnJjU0FzI2NTQnJiMiJiMiBhUUFxaUCDQkTBoGBhpHJzYIAWclGh8FGAUNARkWCwwChx0nNw0SEw03Jh4EDg9AEx4pCAEBFxsdCgsAAAEAOAAAAtICmQAeAAazFwcBMisSNDchNTQ3NjMyFhYVFSEWFAchESEWFAchJjQ3IREhOA4BKwIGDAkKAQEqDw/+1gEqDw/9gw4OASv+1QFAGgeVlQQKCiV2kwcaB/7vCBgIBxoHAREAAQA3/z8CRgK2ACYABrMTBgEyKxM0NjcyMjYyMjMzFhUUBwYjIxEGIicRIxEGIic1NCM0IyInJiYnJjeGWwERHCMtFosPCwQiIgcaB0YHGgcCBxwwUG4PBAHPXIIIAQgMCwcC/L8ODgNB/L8ODs3MAQwTWkYRAAEAfP8tAXb/6gAaAAazDgEBMisXNTMVMxYXFhUUBwYHIwc1MzYzNjc2NTQnJiPPVAQUDS4RJIgwDQUDI1cZCi0RD0cxFQYHFiwcEiYEASUBARgJESQKBQACACAAAANqAqsAVwBiAAi1YFsOAAIyKyEmIyIHIzUzMjc2EjcjNSEVFBYVFSMuAyMiBwYHBhUVMzI2NzUzESM1JiYjIxUUFxYXFjMyPgI3Njc1MxUGAgcVITUzMzI3NjU1IwcGBgcHBhYzMxUTJiMnDgIVFDMzAQASYlkMBwhJGQS3BkkCMRwoCBItQz1JCAkDAShKMAMoKAMwSigBAwkISz9JMRgKBAEoAiYC/hMQCykIAZclCRMFBQMvGQWYCRcFATEwQ0QDAy4mCAIPEi4EAeYBBEJDMA0CAQoCiIcgQBX+6BVAIHl7AgoBAg8wRUAaAgMDA/77AwMuDgJ6eWoZNw8OEhouAmwOAQWMiAECAAEAkwAJAnYB6wAvAAazGwIBMislFAYjIiYnJwcGBwYjIiY1NDc2NzcnJicmNTQ2MzIXFhcXNzY2MzIWFRQGBwcXFhYCdgwJBSJNaGlqAwQDCA0CA2doaGcDAgwIAgYDamloTSIFCQwEaGhoaAQdCAwgTWhpaAICDAgCBgZnaGhnBgQDCA0CAmhpaE0gDAgECGhpaWgIAAMAOP/FAtEC5gAxAD4ATQAKt0lCOzMdBAMyKwE0NzY3FxYWMwcGBgcHFhcWFxYVFAcGBgcGIyInBiMnNDc3JyYnJjQ3Njc2NzYzMhcWByYjIgcGFRQWFzc3NBIQJyciABUUFhcWMzI2NwIwBRMgCAgRAQQDEAYdARZPFQYFE5lqFRxZUzgBIBwcCWURAQEOQx8WWmxAPAgQM0NiQEIaH56fVTIHAf7EIA0uNTNdHAKNAQceMwUFCgYGGQouARRScx8oKhlxoREEM1gVAS0tCVyRCUIJcFYkEEgbBCokTVGpVWwt/f4D/k8BOEwL/gcBAxcHGTElAAEAFP/1AdcCwQBZAAazJRUBMis3IgcjNTMzMjc2NTUjNTM1Njc0NzY2MzIWFxYVFAYHFxYWFRQGByInJjU0NjMyFhUUBwYVFDMyNzY2NzY1NCcmJyImNTQ2NzY2NTQnJiMiBgcGAxEjIyYmIiaDWwwIEAsqCAFOTgEEAg1cOjlXFAtBLgk5SWJHQhYGGRMSGRUDGwcDFyUHBjshKAkGBQwwNzcPDiUtBwEBAwMDCwYRAwMuDgKioS5JTgsBBS87MykaHTRNEgUgeU9MaQQ1Dw4UGhgTGwsCAQcBBSwfGil+OiEDBgsNBgEDRDhTFgUrIwf+3P7dAQEBAAADACX/9QK3AcAAUABeAHAACrdtZVpSKQ4DMisSIiY1NDc2NjMyFxYXNjYzMhYVFwYHIRUUFxYzMjY3Njc2MhcWBwYGBwYjIicnBgYjIicmNTQ3Njc2MzI1NCcmJicmIyIHIgYHBxcWFhcWFRQlJiMiBwYHBhUUMzM1NAU0Jic0JzUHBgYHBhUUFjMyNosuHggMSTQfFEsrGE0sT1sBAwT+5V0fHCA0DAIEAxoDBgYMOSQaGFtABxpgO1UtGDs9axgeAQEFKB0HFxsGBRAGBgEBAwEQAa0WOyYiIAcCZ2f+6AkBAgs/Yg4ELCI0SAExIBYOEhkfAg01HShsVRICBAyJKQwuJwoEAwMFESc6DAhHCCQrMh0kOikqCQQVIwggLwcCAQMBAQEBAwIPFxYERiIjPAwBAgYeqgglBgoODgEELygLDh8wPQAAAwA4/9wC0QIZAA0AFQAjAAq3HxgUEAkCAzIrATQ2MzIXFhUUBiMiJyYENDchFhQHIRc0NjMyFxYVFAYjIicmAT4mHjQRAyYgMRID/voOAnwPD/2E+CYeNBEDJiAxEgMB0h8oMQgOICYwCNcaBwgYCMQfKDEIDiAmMAgAAAMAHP+XAdcCGQAuADsASwAKt0M8OjMWAgMyKwE3NDMUFxcOAgcHFhYXFhUUBiMiJwcnLgInJzQ2NSYnJiY1NDc2NjMyFxYWMwc0JicmIyIHBhUUFzc3AgcUFhYXFjMyNzY1NCcmAVxAAhAPAgkRBx8DFwQ+gF03KUQEAwkJAwNCBQUnLCcgYDYuKQMGARQnCwYZTiMUIlp2sQIJDQUUHGkZBxkEAaluAgIHCQQQHA41AxUERlxfgRV0AQIFBgICAXICBAUfXTNJOjE2EwEDJgMQAwFHKFVkKp2D/soCAQYGAQdkIDdbKwgAAAEAGgAAAP8BugAeAAazCgIBMisTMjYzMxEWFhczFSMmIyIHIzUzMzI3NjU0JyYjIzU0IASQAgMFDhwXCAtdWxIIEAsqCAEECDMLAa8L/oQKBQEuAwMuDgKPlgoUFxcAAAIARv/qA9kCwABbAHIACLVoXRgKAjIrAQYCBxUjBgcGBwYjIicmJyY0NzY3Njc2NzMyFxYXFhczFRQWFRUjNTQmJicmJyYmIyMiBwYHBhUVMzYzNjY3NTMRIzUmJiciJyMVFBcWFxYzMjY3Njc+AjU1MwEmIyIGIwYGFRQWFxYzMjc2NzY1NCcmA9kCJwHLzQkLIjUaZ1Z7EwEBDkMfFktgECovIgsJxsUcKAIBAQshGD4/GEoECgMBPEMBJx4CKCgCHSgBQzwBAwoIRlFLHyUUAQECKP4FFTYEDQJVc2FKGhkxFxkIAwMIAQ4D/vsDAwEBAgcLQF2kCUIJcFYkED4JCgcCAQEEAeYBBAQBBwwEYh8YDAEBCgJ7eQIFKTEU/ugUMSkFAoeIAgoBAg4cI4ADCQYBAwF3FAELtHt0vBoIFBNKIbW0IkkAAAMAHf/1Au8BwAAzAEUAUwAKt1FKPzUwGgMyKyUUByEVFBcWMzI3Njc2MhcWBwYGIyInJicHBiMiJyYnJjU0NzY2NzMyFxYXFjM2NzYzMhYlJiMiBgcGFRQWFxYzMjc2NTQFJicmJyIHBgcGFRQzMwLtB/7kfAgSSRkEAwMaAwYFEVA7GxdQLAZBZD41UxEBAg5nTwxOORcMBQEEBEBbUln+XCUvKDwNCxMdISswJC0BJQc+BA8SDkARBmhn9ggHDKEaAlQKBAMDBREzQQYTQwlUIzdqCBgeCk1pCC0UEAcEBk9wKCMyJSFEQkoaHiQwbW40bRUBAgUWTxYOAgAAAf/J/zMA2gG6ACQABrMKAgEyKxMyNjMzEQYGBwYGIyImNTQ2MhYVFAcWMzI3Njc2ECcmJicjNTQ2BZoBBAEBBQ9SOC1EHi4fGB4GDAkqCAIBBBoiFAGvC/7+3C8PLj0vKRceHxcZFAUDD0kMAZwGFAsBFxcAAAEAcAISAYMCtgAUAAazEAEBMisTNxcWFQYHByYnJwcGBgcHBicnNza+OwiCBgcNBDY1Nw0bBwgCDQ0KJAJ9OQh8AgcIDgIwLi8LGAcGAhAOCiQAAAEAcgIBAYEChAAPAAazDQEBMisTNzIWMz4CMxYWFwcHJidyFgFvAic5EAEEDwNDRR4mAmMhPxUhCQUWBjExFhsAAAEARQIgAa4CTgADAAazAQABMisTNSEVRQFpAiAuLgAAAQDLAfkBiQK7ABAABrMIAAEyKwEyFhUUBwYHBycmMzQ2Njc2AV0QHA4BS0cPDgEzNgQSArsaERAOAT46Dg4BQ0cGFQABAGoB+QEnArsAFAAGsxACATIrEzQ2MzIXFB4CFwcUBgYHBycmJyZqHBEPCyYqJQEBBAQED0dLAQ4CjxEbCwEwNzECAQEEBAQOOj4BDgABAFwCAwGXArYAGgAGsw8JATIrExYWMzI2NzY1NTMVBgYHBiMiJyYmJzUzFRQWgghALiI6EA4lBDwuFBscFC48BCUBAqMuPiQhHhcFCzlYEAcHEFg5CwUBCgABAE8CJQDGAp0ADQAGswYAATIrExYWFRQHBiMiJyY1NDaNGSAbDRMpEQIjAp0CHxskDwkoBg4cIAAAAgEQAh4B3QLLABEAIgAItRsSCgICMisBNjYzMhcWFRQHBiMiJicmNTQXMjY1NCcmIyImIyIGFRQXFgERCDQkTBoGBhpHJzYIAWclGh8FGAUNARkWCwwChx0nNw0SEw03Jh4EDg9AEx4pCAEBFxsdCgsAAQBTAjUBoAKcAB0ABrMQAQEyKxM2MzIXFjMyNzcXFxQHBgcGIyInJiMiBwcnJzQ3No4WFxUtKxgjGgcODhQhEw4RFyssGCMaBw4OFB4Cjg4SEh0HDAsBGCcJBxISHQcMCwEYIgAAAgB6Af4BpAK8AA4AHQAItRYPBwACMisTMhYVFAcGBiMmNTQ2NzYzMhYVFAcGBiMmNTQ2NzbPExwEAlsBIi8EC70THAQCWwEiLwQLArwZEQkIBH8RAQKIChgZEQkIBH8RAQKIChgAAQAZAAACRgKoACwABrMhBQEyKxMmJicjNSEVFxcVIzU0JiYnJiYjIgcGBwYRExYWFxYzMxUjJiMiByM1MzY2N4AKEykhAhEODigCAQENT3BRCAoCAQEIEBwLJRsMGox/EwshKRMKAmsKBAEuBHR0BAQBCAwEZz4CAgkD/un+6ggFAQEuAwMuAQQKAAACAC4AAAMSAswADgAVAAi1EQ8GAAIyKzMmNTQANzYzMhcWABUUByc0AwYHBxczBQFTAwQYFwUDAVMFl/Y4RHv2AgUCArgEBwcE/UgCBQJbAwH2cYv8AQAAAwA4/+oC0gLBABkANABAAAq3NjUqGxECAzIrARQGIyInJiYnJjU0NzY3Njc2MzIXFhcWFxYBJiMiBiMGBgcGFRQXFhYXFjMyNjc2NTQnJiYDNTMVMzUzFSM1IxUC0sSKGhdqmRMFUh8WS2AJEW1aFh5CDwL+0AwWBAwCR2UQCggNTjkgIDNcHjEbFVr5KPsoKPsBVZfUBBGhcRkqh2okED4JAUgRI1J0EgEsAwELdlMvRUEnTWsXDDkyU4VhTDtV/nefIiKfIiIAAAEAIAAAApUCzQA5AAazFQEBMisBNjMyMzIWFxYSEh4EMhYyMzMVIyYjIgcjNTMyNSYCIyIGBwcUFxYWMzMVIyYjIgcjNTM2NzYSAUAFEgMCDgcDAmNkBAQECAQLBhAEGwgPangWCw1IAZIBFkYYFwIGJxgFCBFiUQsGDUMPAcACxAgCBgL+wf6+BgUDAgIBLgMDLhMEAdbjcnIDBA0SLgMDLgUoAQJnAAMAKgAAAnACpQAXACMAPQAKtyckGRgKBAMyKxM2NjU0IBUWFhUUIjU0JicmIAcGBhUUIhc1MxUhNTMVIzUhFQMmJjUzMhUUFxYWFxYgNzY2NzY1NDMzBgYVLwEHAiwBBygIBw7+Tg4HCChcKAE0KCj+zIEBBxQUBwMGChwBihwKBgMHFBQBBwH9E44GAQETjgYBAhM5AwUFAzkTAvi5MzO5MzP+/BSZBwItHAwGAQMDAQYMHC0CFJkHAAEAGQAAAtQCqAAuAAazEQUBMisTJiYnIzUhFSMGBgcRFhYXMxUjJiIHIzUzNjY3ESERExYWFzMVIyYiByM1MzY2N4AKEykhArshKRUHBxUpIQsR/hELISkTCv7jAQcVKSELEf4RCyEpEwoCawoEAS4uAQQK/dIKBAEuAwMuAQQKAj3+4v7hCgQBLgMDLgEECgAAAQA2AAACmgKrADkABrMWBAEyKyUGBgcVISAnFicmNzc2Njc3JicnNDc2ISEVFBYVFSM1JiYnJiMjFxYWFxcWBwMyNzY2NzY3NDY3NTMCmgIYAv7h/t4DAQIDAxAQQB17fnsBBQMBIAEfHCgOP1Ung2loGDYNDgQD9f0VPT4YJgsBASj3A+0DBAQCBAYFExJIIYyrrg4TBAIEAeYBBARgUQkEjyFMExIHBP7oAQMSGChcAwgCAwABADcAAALSAsEASAAGszMJATIrExQGIyImNDc2NjMyFxYXFzY3Njc2MzIXFhYVFAYjIic0JjU0JiMiBwYHBhUVFhYXFjMzFSMmIAcjNTMyNzY2NzU0JyYnJiMiBmUKDQ4JAQdKORQUciYDAQIZNy9BHxohMAcQEwMBNSM0HzIMAQgQHAslGwwT/tYTDBslCxwOCwQSZgYSIzUCJAgEBRIHPU4FHrUPAQ5yNy8NEU4uCwQFAQUBHiYiNH8So6EIBQEBLgMDLgEBBQiUriC2EgEmAAADADgAAAKZAqsASQBUAF8ACrddVU9NKAADMishJiAHIzUzMjc2Njc1IyYnJicmJyY1NDc2NzY3NjczNS4DJyYjIzUzFiA3MxUjIgcGBgcVFxYWFxYVFAcGBgcHFRYWFxYzMxUBFBYXMxEjIgcGBhc2NjU0JicmJyMRAg4S/toSDBslCxwOCwIBD0g+VhEBARFWPkgPAQIGBQwPDwslGwwSASYSDBslCxwQCA5NexkPDxl7TQ4IEBwLJRv+kERFBQMKFDg19UVDPD0NAgUDAy4BAQUIWQECCCIwSgYTEgZKMCIIAgFZBQMEAQEBLgMDLgEBBQhZAgpGMRwgIhsxRgoCWQgFAQEuAVZGSgoBMwYORtkLSEdDRwwCAf7NAAEANwAAAtICqwBhAAazTx4BMisTIiY0NzY2MzIXFhcWFxYXFhcXMjU1LgMnJiMjNTMWIDczFSMiBwYGBwcUMzI3Njc2NzY3NjMzFhcVBiMGBwYHBgcGBwcVFxYWFxYzMxUjJiAHIzUzMjc2Njc1JicmJyZFCQUBAw0jKwcjDAoBAzYbHwkBBgUMDw8LJRsMEgEmEgwbJQscEAgBAQUWWwUBCgwjBywsBAMIBhcLDQEDDS2UDQEIEBwLJRsMEv7aEgwbJQscDgvYBwENCwH9BhYDBAICCSoYOn82GgkD19cFAwQBAQEuAwMuAQEFCNfXCy2jOhgqCQIEAhkGAxgZMzsoghgCLS0IBQEBLgMDLgEBBQhaHOMzGRgAAAEALAAAAqUCwABgAAazPx4BMis3JyYnNTMXFBcWFxYXFhczNS4CJyYnJjU0NzY2NzYzMzIXFhcWFRQHBgcGBwYHFTM2NzY3Njc2NTczFQYHBxUjIiYnJjU0NzY3Njc2NTQnJiMiBwYVFBcWFxYXFhUUByNNDxACKAEEBwgEAw02LAkZDh1AEAoIFo5fBgkPjVo5EggKEEAnEBEFLDYNBAMHCAQBKAIPEFxKFwICCQgfIAoHZyoqZjYfBgogHwgJB7oCVlUCAgUFDi0PBQIFAQMbMhctZzYlIB4bS20IAU0yQhseICU2Zz0fJRADAQUCBQ8tDgUFAgJVVgIBBQQKHTIoX2E3KhuNNBRVMU4iJDdhXygxHg0HAAABAAAA+AHzAR0AAwAGswEAATIrNTUhFQHz+CUlAAABAAAA+APnAR0AAwAGswEAATIrNTUhFQPn+CUlAAABAEABewDGArgAGwAGsw4CATIrExQGIyInJjU0NzY3Njc2FxYVFAcGBxQzNjMyFsYiGSYVEAIMLRoGBgsKDEEEARAUGiIBuBkkJx8tEw5MOR4CBAsKBAMMQlkMCyIAAQBOAXsA1AK2ABkABrMPAAEyKxMiJjQ3Njc0IwYjIiY1NDYzMhcWFRQHBgcGdgQTDEEEARETGSQiGiQXDxsUHQ8BexQGDEJZDAsjGhkjJh4vPzQpHQ8AAAIAgAF7AdICuAAaADUACLUpHQ4CAjIrABQGIyInJjU0NzY3Njc2FxYVFAcGBxQzNjMyFhQGIyInJjU0NzY3Njc2FxYVFAcGBxQzNjMyAQYjGSYVDwEMLRoGBgsKDEEEARETGu8jGSYVDwEMLRoGBgsKDEEEARETGgHRMiQnHS8aB0w5HgIECwoEAwxCWQwLIzIkJx0vGgdMOR4CBAsKBAMMQlkMCwACACIBewF0ArYAGQAzAAi1KRoPAAIyKxMiJjQ3Njc0IwYjIiY1NDYzMhcWFRQHBgcGMyImNDc2NzQjBiMiJjU0NjMyFxYVFAcGBwZJBBMMQQQBERMZIyEaJBcQHBQdD8kEEwxBBAERExkjIRokFxAcFB0PAXsUBgxCWQwLIxoZIyYgLT02KR0PFAYMQlkMCyMaGSMmIC09NikdDwABADf/KAGFAsEAQQAGsyEAATIrEzIWFhcHFAcGBxU2NzYzMhYUBiMiJyYjIxUWFxYVFAcGBiImJyY1NDc2NzUjIgcGIyImNTQ2MzIXFhcnJicmNTU23wsQBwYBCwoBERkqFhIZGBMYKCIFAwUFDRIDBhwGAxINBQUDBSIoGBIZGBMWKhsQAQEKCwwCwQoJCxQkSEAdBQMIDBckFw0JByMcPje7zioGBirOuzc+HCMHCQ0XEhEYDAkCBR1ASCQUHgACADf/MwGFAsEARQCAAAi1Y0YkAAIyKxIyFRQHBhUUMzI2Njc2MzIWFRQGBgcjIicuAiMGFRQXFhUUBiImNTQ3NjU0IyIGBgcGIyMmNTQ2MzIXHgIzNjU0JyY1EDIVFAcGBxUzMjc2MzIWFAYjIicmIyMVFhcWFRQGIiY1NDc2NzUjIgcGIyImNTQ2MzIXFjMzNSYnJjW1UgsMAQIKFQgtEhMYCAkKERklCBUKAgEMCxYmFgsMAQIKFQglGBEcGBMSLQgVCgIBDAtSDAcEAwUiKBgSGRgTGCgiBQMEBwwWJhYMBwQDBSIoGBIZGBMYKCIFAwQHDALBLxw3PREBAwUCDRYTCxAHBgsCBQMBAgw/Nx0WGRkWHTc8EQEDBQILDhoTFg0CBQMBAg0/Nxz+Zy8dOygaBwkNFyQXDQkHGig7HRYZGRYdOygaBwkNFxIRGA0JBxooOx0AAAMATgAABEUAewANABsAKQAKtyMcFQ4HAAMyKzMiJjU0Njc2FxYWFRQGISImNTQ2NzYXFhYVFAYhIiY1NDY3NhcWFhUUBosaIxsUDQ4UGyQBpxojGxQNDhQbJAGnGiMbFA0OFBskJBgWIAUEBAQiFBojJBgWIAUEBAQiFBojJBgWIAUEBAQiFBojAAEAHgApAQYCMAAQAAazCQABMisTMhYVFAcGAgcGJyY1NBI3NsYaJgIBrQIEGBpvBQ4CMCQXBQoH/lACBAcJBAcBwgogAAAB/ikCBf/jAsoAJAAAAyY1NDYyFxYXFhcWFRQGBwYHDgMiBiIjIiY1NDcjJyY1NDdjGA0OBQUFCh8LBgsrIAEFAgMCAwQCCAwvq6sNDQJ7JhUIDAUEDyUUBwsJBgYWKQEGAQQCCgkTKAEJCgcNAAEAMP/1AisCtgBeAAATNDczNjU0JicjJiY3NjMyNjMyFRQGFDMzFhUUByMOAhU2MzIWFRQHBgcGFRYWMzI2NzY2MzIUBwYGBwYjIiY1NDc2NzY1NCMiBwYPAgYHBiMiJjU0Ejc3NCMiJyZaEFEIEhwVBgEDBQgBjwEMGFxcDxDBARQTPUw3QgMJLhIBCAscMQ4DBg0UBAwxIBMZJzIKLw0DMRIIQzMHIiAFDR8MF0AgISIkAg8CMwkKHgkKBQEGBBETCwoJWwIIDAoKBFBMAT02NBcPM34xFg4KPTMLBA4JK0cRCS8lEBx5RA8XOwIOUg2HggwbEAwLAQZ9fQIBBQACADf/9gK1AsEAOACFAAATNDYzMhcWFxYWMzI2NTQ2MzIzMzIWFhUUBwYjIicmJyYnJiMiBwYGBwYVFBcWMzIWFRQGIyImJyYFIiY1JiYjIgcGFRQXFhcWFxYVBgcGBwYjIicuAycmJyImNTQ3MzI2MzIWMx4CFxYWFzY2NzY1NCcmJyYnJjU1NDc2MzIWFxQGIzd5VE5LNjsQDgsfMQgMAgEJBgUDBxlgLCgqODQbFRgcFCo6CAE5MkAJBQUKTHkQBAJkDQcCLyANBCATByYhCwYBDSVdCT08ChYzITkJODAKBgUIBxcKDiYBHTgbISsqHSc5CwYECCYsCwhHIiczSgQHCgH7UnQ0JUsTChIUCAMBBgYMDTAUFEU8DQoHDUMsBxVILyoHCwwHWUURpQQLGSECD0AZFwkhGxoQFRsbRxABAgUbGS0HKgMGCxECAQEEHxgeKR0KCS8gERIPCBUiIxgRDghFIRE0KwsFAAACAAf/7AGNAsEANwBJAAAkMhYUBwYjIicnIgYjIicmNDY3NzU0NjU0NzY3NjcyNjMyFxYVFAcGBwYGBwcGFRQXFhYzMjc2NxM0IyIHBgcGBwYVFDY2NzY3NgFZCBARVT1YFQMBPQQFCgYKKSEBFyZNMC8CBwIvDAICHawIEwICBAIFFRUmLgkiGRcGBBgfHywSDxQHaxsFaBMKEE+GDzsMCAgKJyAGAQsDOlmec0oKAS0IGRoOp7sJFQIPLBMOFiUhJwcfAhwiAQlCRq9GBAEQGQmDiRYAAgBD/ygCcQHFAE8AYgAAJRQHFBYzMjc2NzY1NCYjIgcGBgcGFRcWFhcWFxYVFAYHBiMiNTQ3NyY1NDY3NjMyFRQHBiMGBwYGFRQzNjc2MzIXFhUUBwYHBiMiJic0MzIBFBYzMjc2NjU0JyYmJwcHBgcGAWoWHxYqJyYXECIhFiFBeS4XBgYVCisFC0kxBAhLJQYdXjwIBAwGAgkXGhUeB2CJNDMdFllWLTMZHSgvAiYY/v8RFwoFFSEFAUMCAgITCQJtFQwVHSknWT8gJS4HD2VOKAIIBxwMNwoZGjpsCAFiTmgRJTharwwCCA0MBAMpHWUnJqk3FQgjcGpaKxEJLSc7/wAcGwILPCANDAJXAgMHPDsKAAACACj/6gLLAswAjQCeAAA3FAYHBxQXFjI3NjU0JyYnJiMiBhUUFxYWFxYVBiMiJjU0NjIWFRQzMj4CNzQnJicmJyY1NDc2MhcWFz4CNzY3MjYzMhcWEhUUBwYGBxYWFRQGFRQXFzc2MzIWFxYHFAYHBiMiJyYmNTQ2NTQnJzUjFQYHBgcGIyImJyYHBicmNTQ3NTQ2MzIXNjMWFhMWFxUzNzY2NTQmJycHBgcGfwUIBw0hTggFAgYDFyweJCAbHAYBBEwcHwgYCBILDwYBAQIHJSIJAjMYTCUhFwMODQRJfAMTBA0CAo0CBYsUAQsCIAggIwMGGAMCAlYDAQ42IBYdAgUGbQEJETEiKCs/DwEECAsIERQECAQNAgMPxhECUVEQWD0eHgw/IyprBQUDBAUXL1Enx7AgKgxIMyEXIR4tHggaki8gCQUECioPIRgXIwgbKicdCBFHIxIZGSgDDwwEOgkBAgH+9QIDAgVJBwPKFQYQBSgkByEjDwMFBAFNAgEWDzcfBREGA2RjBzpVJl00IjcpAgICCgkECAYEBBQOAwIPAcU9SisBBSYHA3M3OAIOGBkAAQA3AAACKwK3AHcAABMyFRYXFgEXNjY3NScuAjU0NzYWFxYXHgQXHgIVFAcGBgciJicmJyYjBgcGBgcGFRQXFhcWFRQHBiMiNSYnLgInJwcGFRQXFhcWFhUUBgcGIyImJyY1NDc2MzY2NTQnJicmNTQ3Njc2JyYnJicmNTQ3NlQKBCQIAQoEAx8BCRMPEBkFCAEDKAUGCQMOBRMKDgQDDwUHBQEBCwsCAQECHAICEDkPDREIBggEJANwhxoFAR0BBh8fEiwhBTcqDwIBAwIQIh4HBxMYBgwwCwEQMCAHAQQKArYNMSwL/uAEGLcRCgcSDyQWPwwDBQYNPAgKCQMNBBAKHxQSFg0XAgYLFBESBwkMqREUAQgQPhwZHC8XCQ0xLAN7kxwFBDpuEAQXJCMoEB0jBQEBBAINCwMDAgwTEhIQIywjFB4+VBICEDgnHwUOHQ8lAAEAN//1A7AB/wAoAAAAFAchFxYXFhUUIyImJyYnJiYnJic0NzY2Nz4FMzIVFAcGBwchA7AP/QQDZyAGFQwHAgICEmVHDwMSR2USAQIBAwQIBhUGHmkDAvwBBhgIA097FgMLBQoHCklyHAYFDQQcckkDDAQIAwILAxZ3UwMAAAEAEf8/AeMCuwAyAAATIjU0NDY2NDYyNjc2Njc2NzYXFBYWFRYWFxYWMhYUFhYUFRQjIicmJycRBiInEQcGBwYbCgECBQIHAk1wDQEGDQMBAhFsSwIHAgUCAQoGCXRBBwcaBwcuTjIBnhMEBQQDAgICARR5UQsDBw8BBgcCTnMTAQICAgMEBQQUAyBhCv0iDg4C3gpGJhcAAQA4//UDsAH/ACYAADY0NyEmJyYnNCY1NDMyFhcWFxYWFxYUBwYGBwYHBgYjIjU0NzY3ITgOAv1HJxkIARQMBwIDCBZmRAkJRGYWBwQCBwwVBh9s/QPtGgc1SzAvAgQBCwUJFBVDaRcDEAMXaUMVEwoFCwMWfVAAAQAR/zkB4wK2ADUAACUyFRQUBgYUBiIGBwYGBxQGBhUGJyYnJiYnJiYiJjQmJjQ1NDMyFxYXFxEQNzYzFhcRNzY3NgHZCgECBQIHAktsEQIBAw0GAQ1wTQIHAgUCAQoGCXRBBwIGDQwHBy5PMFYTBAUEAwICAgETc04CBwYBDwcBDVF5FAECAgIDBAUEFAMgYQoBbwFvBAsBDv0iCkYmFwAAAQA3//UDsAH/AEIAAAE2NjMyFRQHBgcHISYnJjU0MzIWFxYXFhYXFhQHBgYHBgcGBiMiNTQ3NjchFxYXFhUUIyImJyYnJiYnJic0NzY2NzYBCwMGDBUGHmkDAp5rIAYVDAcCAwgWZkQJCURmFgcEAgcMFQYfbP1iA2cgBhUMBwICAhJlRw8DEkdlEgEB8QoECwMWd1MDUH0WAwsFCRQVQ2kXAxADF2lDFRMKBQsDFn1QA097FgMLBQoHCklyHAYFDQQcckkGAAABABH+8AHjAwQAYQAAEyI1NDQ2NjQ2MjY3NjY3Njc2MzIXFBYWFRYWFxYWMhYUFhYUFRQjIicmJycRNzY3NjMyFRQUBgYUBiIGBwYGBxQGBhUGIyInJicmJicmJiImNCYmNDU0MzIXFhcXEQcGBwYbCgECBQIHAktvDgMEAwQJAgECEW1KAgcCBQIBCgYJdEEHBy5PMBcKAQIFAgcCS2wRAgECCQQDBAMPbksCBwIFAgEKBgl0QQcHLk4yAewTBAUEAwICAgETdE4SBAMKAQYHAk50EgECAgIDBAUEFAMgYQr9AgpGJhcTBAUEAwICAgETc04CBwYBCgMEE010EwECAgIDBAUEFAMgYQoC/gpGJhcAAQAd/z0DsALQADgAABMiJjQ3NjU0JyY1NDYXFjMyNzY3NjMyFhUUBwYHBiMiJyIWFwAXFhUUBiMiJyYBJiYnJxYVFRQHBjQDFAkwGwQIBEBJIBFEOA0EAxQRRVMUECQXAo3+AYwBAQwIAgYE/nVN5C4tBTgLAUwUBg5PXkU5CgIFBwEgAwsjCRQDBwsrCwIFjv7+dQUCBAgNAgIBi03jLS0LHhBnWREAAQA3/z0DygLQADgAAAE0NjIXFhcWMzI3NjMyFxQHBhUUFxYUBiMiJyY1NTQ3BwYGBwAHBiMiJjU0NzYBNjYjBiMiJyYnJgJGFAYOOEUPIT0+CgYIAgQbMAkUAwcLNwQuLeRN/nUEBgIIDAECAYv/jAEXJRAUU0URArkDFAkkCgMaBgkDCzlFXk8OBhQRV2kaGActLeNN/nUCAg0IBAIFAYv/jQUCCysLAAABADf/JAPKArcAOwAABCImNTQ3Njc2MzIXMiYnACcmNTQ2MzIXFgEeBDUmJyY1NDc2MzIWFAcGFRQXFhUGIyInJiMiBwYHAmAGFBFFUxQQJRcBjP/+dQIBCwgGAwQBizKST1QlAQIBNwsHAxQJMBsEAggGCj49IQ9FONwUAwcLKwsCBY7+AYwEAgMIDgIC/nUykU9UJAEBDwoeaVcRFAYOT15FOQsDCQYaAwokAAABAB3/JAOwArcAPgAANjQ2MzIXFhUUBwYHFD4DNwA3NjMyFhUUBwYBBgYzNjMyFxYXFhUUBiMiJyYnJiMiBwYGIwYmNTQ3NjU0Jx0UAwcLOAICASVUT5IyAYgHBgIIDAEB/nT+jQIXJBAUU0URFAMEDThEESBBOQQKAQQIBBswjgYUEVlnFBQPAQEkVE+RMgGKAwINCAQCBP50/o4FAgsrCwcDFAkjCwMaAgQBBwUCCjlFXk8AAAEAN//1A7AB/wA0AAATNjMyFhYVFSEmJyYnNCY1NDMyFhcWFxYWFxYUBwYGBwYHBgYjIjU0NzY3IRUUBgYiJiY1NDkDEAgKAQLkRycZCAEUDAcCAwgWZkQJCURmFgcEAgcMFQYfbP0cAQoSCgEBqQsKFD1LNUswLwIEAQsFCRQVQ2kXAxADF2lDFRMKBQsDFn1QSz0UCgomiqsAAAEAN//1BC4B/wA1AAAAFAYjIRcWFxYVFCMiJicmJyYmJyYnNDc2Njc+BTMyFRQHBgcHITY3NjU0JicmNTQzMgQuVDn9BANnIAYVDAcCAgISZUcPAxJHZRIBAgEDBAgGFQYeaQMC/DwaDzsqGho5AY1kQwNPexYDCwUKBwpJchwGBQ0EHHJJAwwECAMCCwMWd1MDBSASFiIoAwISFAAAAQA3//UELgH/ADMAABI0NjMyFRQHBgcGFRQWFyEmJyYnNCY1NDMyFhcWFxYWFxYUBwYGBwYHBgYjIjU0NzY3ISI3VTkZGjwaDzsqAv1HJxkIARQMBwIDCBZmRAkJRGYWBwQCBwwVBh9s/QM5ASlkQxQSAgUgEhYiKAM1SzAvAgQBCwUJFBVDaRcDEAMXaUMVEwoFCwMWfVAAAAEANwDmA7AB/wAYAAA3Jic0Njc2NzQ3Njc3MzIXFgcGBwchFhQHPgYBBAqIPAEEBAkFEAIDBjBoAwMNDw/mBggIBgdRkwEDDAEBBgQRg1ADCBgIAAEAN//1A7ABDgAXAAATNjchFhQHIRYWFxYXFgcGIyImJyYnJiY3AQYDYw8P/PMFHwdMJAYDAhAMBgU/hQoEAQAIBggYCAUbB05hEQQGBA6UUAcGAAEAOADmA7AB/wAWAAABNDMyFhcWFxYXFhYUByEmNDchJiYnJgKzFAwGBTx2FAEIAwf8nQ4OAw4zUhcFAfQLBQ2NTAwBBQUQBwcaByZyPg0AAQA4//UDsAEOABQAADY0NyEWFRQHBgcGBiMiJyY3NjY3ITgOA2MHC4s8BQYMEAIDBhdSM/zy7RoHBwcOBFWSDQUGBBE/cSYAAgA3//UDsAKfABYALgAAATQzMhYXFhcWFxYWFAchJjQ3ISYmJyYBNjchFhQHIRYWFxYXFgcGIyImJyYnJiYCsxQMBgU8dhQBCAMH/J0ODgMOM1IXBf2EAQYDYw8P/PMFHwdMJAYDAhAMBgU/hQoEApQLBQ2NTAwBBQUQBwcaByZyPg3+bwgGCBgIBRsHTmERBAYEDpRQBwYAAAEAOP/oA7ACDQA3AAAlFAchFxYXFhUUIyImJyYnJicmJjQ2NzY2NzY2MxYVFAcGBwchFhUUBwUhBwYHFhcWFxchHgMDsA/9nQozIwUUCwcESo8qLgoGBgpmnS4GBQ0SBSMzCgJjDw7+uP64CjFEBAY3NAoCkAEHAwOZDQcKNkUMBAgDCZJGFQwDBQoFAxqDXAsCAQkDDEU2CgcNCwgBCCceAwIYKAgBBQMHAAABAB//PgJDArYAPwAAFw4EIyInAxEHBgcGIyInNTQ2NzY2NzY2ND4CMzIXFhYXFhYVFQYjIicmJycDEQYjIicRJyYnBgcGBwcD5AEEAwQFAwgLAQw2Pw0GAgcEC1iDGwECAgIEAggFG4NYCwQHAgYNQDQMAQkMDgUJJh4CAholCQGzAQYDAwINATIBMQsyHwgHDQwGBiuhYwIGAwQBARFjoSsGBgwNBwggMQv+z/7ODRECjAwxQgQFOTAM/rgAAQA4/+gDsAINADIAABM0NyEnJicmNTQzMhYWFxYXFhcWFAcGBgcGBiMiNTQ3Njc3ISY1NDchNzY3JicmJychJjgOAmMKMyMFFQcHAgVQpSAcERFmnS4EBgwUBSMzCv2dDhACjQoxRAQGNzQK/XMQAVsNBwo2RQoECwMDB59FDgcFEAUahFsJAwgEDEU2CgcNDwUIJx4DAhgoCAUAAQAf/z4CQwK4ADcAAAEyFxETNzY3NjMyFxUUBgcGBgcGIicmJicmJjU1NjMyFxYXFxETNjc2FhcXERMXFhc2NzY3NxE2AZEMCQEMNEANBgIHBAtZgRwFEAUcgVkLBAcCBg0/NgwBAwcHEAMDAQklHgICGiYJBwK2Df7O/s8LMSAIBw0MBgYsnWYREWadLAYGDA0HCB8yCwExATIEBwQFBwT+uP65DTFBBAU5MQwCjQ8AAAIAIv/nA8YCDgBIAFkAAAE2NjMyFRQHBgcUMzI1JicmJyY1NDMeAhcWFxYXFhQHBgcGBw4CByI1NDc2NzQjIhUWFxYXFhUUIy4CJyYnJicmNDc2NzYFJyEGBwcXFhcXITc2NzcnJgErBQYNEQQcNfX0AwQuHAUWBwYEBESFIRQLCxQhiz4EBAYHFgUcNfT1AwQuHAUWBwYEBESFIRQKChQhigItCf3JIz0KCjUiCQI3CSI1Cgo1Af0NBAwHCEFCAQEEBDhDDAQKAQIGCZZGEwYEEAQGE0yQCQYCAQoEDEFCAQEEBDhDDAQKAQIGCZZGEwYEEAQGE0wsCCMkBgYgHwgIHyAGBiAAAAIAH/7wAkMDBABGAFgAAAE+AzMyFxYWFxYXFRQHBicmJwcRFzY3NhcWFRUGBwYHBgcGBwYiJyYnJicmJyYnNTQ3NhcWFxcRBwYHBicmNTU2NzY3NhcmJwYHBgcHERcWFzY3Njc3EQEiAgMCBQMIBx6FUgwCBwURPkEBAT9AEQUHAgw9NxkfMhcHEAcXMhodOTwMAgcFEkUzBwczRRIFBwIMPDlddyUgAwIfIQgIJSADAh8hCALzAwgDAxFShiEHAg0SAgEHGjaW/tSWNBwHAQISDQIHGS4VIj09EhI9PR0aLxgHAg0SAgEHHi0FAlgFLR4HAQISDQIHGC9WQSc6BAQ2Iwn9WgknOgQENiMJAqYAAgAA/+oCLAK2ABoAIAAAETQ2MzIXFhcXITc+AjU2MxYVFAAHBiInJgABNCAVExIMCAoFAywsATArChcNBQ4S/vwDBRQFA/79AZ3+8Ih7AqEIDQcDdXRzGzsgAQkCEgT9VgMHBwQCp/7+AQH+nQFBAAIAKv/qAjYCywA3AEwAABMiJjU0NzY2NzYzMzIXFhYVFAcGBwYjIiYnJicmNTQ3Njc2NzYzMhcWFzc2NTQnJiMiBgcWFRQGFzQnJiMiBgcGBwYVFDMyNzY3Njc2yhMZBA9JMxkHDCEGU2MWNFpRYjVGGxYHAgYXS0RCExceFEIRAxRPGxwmQBMpJctRBQswSRQUFhJkDAZNLxMTEgH8FRIKDTZJDQUBD4tnO1K1UkslKSAjCRsgGGdEPg0EBxdEC1M2cyMLJBwHIRslymkQATAmIldIIV8BDU0hPTkAAAEAOAAAAfQCtgAWAAASNDchFhcRBgcHIyY0NyERISY0NyERITgOAaEKAwIL0NEODgGG/ogODgF4/noClRoHCAf9aAUJAQcaBwEfBxoHAR8AAwAn/7IBzAMEADMARgBZAAABPgM3NjMyFhQHBxcWFxYVFAcGBwYjIicmFQYHBgcGIyImNDc3JyYnJjU0NzY3NjMyFwc0JyYjIgcGBhUUFhUWFxM2NjcDFjMyNzY2NzQ2NTU0JyYnBxQDAUsECAQIBgIECA0LCwwZESgmEx42RSQiDAQFCwYEBggNCwsIHBQmHhoqMkArIAgqDBIyJRgOAQQZUxMsC38aKygiHBYDARMDBwFUArgNHw8NAwEKECInDBonV6WeViseMQ8EAQ0QJgQDChAiJwgbLFaekFNHISkSLAMTAzAigXAVPgeHMwEeQJkj/cAaHx1bYwc+FTCINQwLAwL+4wAAAgAu/98DEgKrAA0AFQAAEzQ3IRYVFAAHBiInJgAFNCAVFhIzEi4FAtoF/q0DBS4FA/6tAov+CAL5AfoCpAQDAwQC/UgEBwcEArhOAQEF/gECAAAAAQBU/9gCRwIcAC4AADc0NjcyNjIzMxYVFAcHBgcGBgcGFRUhFhQHIRUUFxYWFxYXMxYVFAcjIicmJicmVKFzASA0GGMPDWhvGktqEgYBvA8P/kQGEmtJG29oDQ9hbRhcixIF+neeDAEHDQoJAQEFE2FFGA0CCBgIAg0YRGQQBgEJCw0HBA9+VxcAAQBT/9gCRgIcADAAABM0NzMyFxYWFxYUBwYGBwYjIyY1NDczNjc2NzY3Njc2NTUhJjQ3ITU0JyYmJyYnJyZTD2FtGFyLEgUFE5pkB2ZhDw1obxogIBUXRRYG/kQODgG8BhJqShtvaA0CCA0HBA5+VxhGF12CCAEHDQsJAQUIDgsQNlIYDQIHGgcCDRhFYxAGAQEJAAEAVADmArYBDgAHAAA2NDchFhQHIVQOAkUPD/277RoHCBgIAAEAOP9aAtIB9AAfAAASNDchFhQHIREhFhQHIRUUBgcGIyInJjU1ISY0NyERITgOAn0PD/7WASoPD/7WAQUGCAwGAv7VDg4BK/7VAdMaBwgYCP7vBxoHk3YlBQYLBJWVBxoHAREAAAEAOP8GAb0C7gAPAAABNjMWFgcUAAcGIyImNTQAAZcFDQgMAf6lBQYKCAwBXALkCgEMBwX8RQoKCwgKA70AAQA4/wYBvALuAA4AABM0MzIXFgAVFAYjIicmADgTCwYEAVwMCAsGA/6kAtsTCgf8QwcJCgoEA70AAAEAQAAjAbMB0QBJAAATJjU0NzI2MxYWFRQGFTY2Nzc2MzIWFAcGBwcWFxYVFAYjIicmJxYVFAYjIiY1NDY1BgYHBwYjIiY0Nz4CNycmJyY1NDYzMhcW5Q0YAQgCDRMNBTwbGwYGDRUKAoAGLloJEg8IBAN0DRMODxMNBTwbGwYGDRUKASVFHUIuGAkSDwgEAwEehhATCQEBEAwRfwYEKxMUAxgaCgI9AhYsCQ4PFQICVIYQDQ8PDRF/BgQrFBMDGBoKAREiDh8WDAkODxUCAgACADcANwG8AbwADQAdAAAlFAYjIicmNTQ2MzIXFicmIyIHBhUUFxYzMjc2NTQBvHROVDk2cVFUOTZrJzUtJkJCKDAvKEL5UXE8OFBRcDw4MRoaME9QMBoaMFBPAAEANwA3AbwBvAANAAAlFAYjIicmNTQ2MzIXFgG8dE5UOTZxUVQ5NvlRcTw4UFFwPDgAAQBI/zgDVQMgAB0AAAEyFhcVAwMGIyInAwciJjU0NjY3NjMyFxMyEhI3NgNCCAoB6esEDwkDwkEFEkFFAQIDBwWtAc7PAwcDIAsHBv4d/hoHAwGmLxEGBDQzAQIK/oYBqgGwBQ4AAgA4//UC0gG6ADIARgAANzQ2MzIXFhc3NjYzMhcVIyYjIgcGBwYVFBcWFxYzMjczFQYjIicmLwQHBiMiJyYmNxQWMzI3Njc2NTQnJicmIyIHBgY4ZFJlVA8YBytsOwgjBAgQEgpTPho7LiwZGxUCAxoSR0IjLAEBAQUHVn4iITE/JUQ7FQhWPBo7PD0ODgsELjvYWYlkEyYMSUgFJwICDmMoCQVYQBYNAjMGNBpDAQECCAyRDxhyR0ltAhBhKAkFWFUMAgEKYQADADf/9QOwAboAJwA2AEkAABM2NjMyFxYXFzc2NzYzMhcWFhUUBgcGIyInJicnBwYHBiMiJyYmNTQFMjY1NCYjIgcGBxcWFxYBIgYVFBYXFjMyNzY3JyYnJicmUBlYPVZPJiQOB0VSKychHjpMUD8bH1ZNJiQOB0VSKychHjpMAsZATlBCNzE7Nx8gCE7+NUFMOi0WFjQ0OjcfIAhGPAwBRTRBPR8vEwpjIRALF3ZMTnUVCT0fLxMKYyEQCxd2TDnfZUFKaiAmWSgpCmABSWRCPGMOCCEmWSgpClQKAgABADcAAAKbArUAGQAAJRQHISY1NDc2ADc2MzIWFRQHDgIHAQUhFgKaD/28EAIHAjgGAgUJDQQBRolB/vIBCgELDRQNBwcNAgYKAosDAQsIBgUBUJ5K/ssBCQABAHf/BwCfAu4ACQAAFiInERM2MzIXEZgaBwEKCQ0H+Q4B5gHmDQ/8NgACAIT/BgFvAu4AEAAjAAATNjMyFxYQBwYjIicnJiYREDc2MzIXFxYWERAHNgcGIyInJhCFBRAKBgICBgwIBgEEAcUGDAkFAQQBBAIEBggMBgIC4A4LBPw2BAsGAQJ8AW8B4QgKBQECfP6R/hoGAgQGCwQDygAAAQA3/+oCYwJWACAAAAE2MzIXFhISFQYjIiYmJyYmAicOAwcOAiMiJzQSEgE+BwkIBgGDgwISBggDBARYcx4/YygbCAQDCAYSAoODAk8HBwH+3f7XBhIFBQgLwwECRI7dWj0SCAUFEgYBKQEjAAABADf/6gJjAlYAHQAAEzYzMhcWFhIXPgM3PgIzMhcUAgIHBiInJgICNwUPDAkEWHMeP2MoGwgEAwgGEgKDgwEFFAUBg4MCRBISC8P+/kSO3Vo9EggFBRIG/tf+3QEHBwEBIwEpAAABADf/6gJjAlYAKQAAFiInNTQ1Njc2NTY3NjYzMhYXFhcWFRUGIyInNAI1JicmJiMiBwYHBhUVWBoHAQQBCR8meUhShCEbBAEHDQoJAgofH2o6f0ciBgEVDs8fMYYOAgEnJCoyPDMpKQbNyQ8NRQEURS8hIidKJS4Fy8gAAQA3/+oCYwJWACgAAAEyFxUUFQYHBhUGBwYGIyImJyYnJjU3NjMyFxUXFxYWMzI3Njc2NTU2Ak8LCQEEAQkfJX1GToYiGgUBAQkKCwkBAg6HVX9HIgYBBwJWD88fMYYOAgEnJCsxPTImLgfMyQ0Nz84KQ01KJS4Fy8gPAAEAN/8oAdgCzAA4AAAXNDYyFhUUBgcHFBYXFjc2NzY3Njc2NzY3NjMyFxYVFAYiJjU0Njc3NCYnJgcGBwYHBgcGBwYHIiY3HCgcFhEGCQMNDw4KDxENERgVHEkFCSwXDRwoHBYRBgkDDRASCwkQGDESIhskJyxxFhscFBIaAwICCgEKCAYYIq+GcaJfhQ8BLR0dFhscFBIaAwICCgEKCQkrIpf98lonGwM8AAABADcAhQLSAW8AMwAAATIVFAcGBgcGIyMiJyYnJicmIyIGBwYHBiMiNTQ3NjY3NjMyFx4CFxYXFjMyNzY2NTQ2AsQOBAg1JR4cCBwWLkw2GConLUMQCQMCDA4BCE47CgsTDBo2IB42GConLCIbIwkBbyESFDJPEg8IEEMvDhk0JhkgHyELB0piCQIDBh4aGy8OGRkTRSQMEQAAAQA3/60A3gJHACUAABM0MzIWFRQHBgcGBwYVFBcWFxYVFCMiJjU0NzY3Njc2NTQnJicmNxxCSQQKKykJBCoUFhshP0cECispCQQqFBUcAjgPY0kYES9NTSkaDVEqFAECDA5nRhgRLk5LKhoNUSoUAQIAAgA3ACQC0gHQACsANQAAATIVFAYHBiMjIicmJyYnJiMjIgYHBiMiNTQ2NzMyFhcWFxYXFjMzMjY3NDYBNDchFhUUByEmAsQOQjUUEwoiHyZFQCIfHgQ2TwMCDA5URAoiKR0WNEAiHx4ENk4ECP16EAJ6EA/9gw4B0CBAXREHDQ81MQ4MSTYeIUhjCQ0QDCgxDgxINgsU/mgPBQcNDAgHAAMANwAWAtICTQAzAD4ASwAAATIVFAcGBgcGIyMiJyYnJicmIyIGBwYHBiMiNTQ3NjY3NjMyFx4CFxYXFjMyNzY2NTQ2ATQ3IRYVFAcFISYVNDchHgMVFAchJgLEDgQINSUeHAgcFi5MNhgqJy1DEAkDAgwOAQhOOwoLEwwaNiAeNhgqJywiGyMJ/XkOAn0PDv7C/sIQEAJ8AQcDAw/9gw4CTSESFDJPEg8IEEMvDhk0JhkgHyELB0piCQIDBh4aGy8OGRkTRSQMEf6fDQcIDAsIAQWzDwUBBQMHBAwIBwAAAgA3ADcC0gHjADEAYQAAATIVFAYHBiMiJyYnJicmJyYjIgcGBwYjIjU0NzY2NzYzMjYzMhcWFxYXFjMyNzY3NDYGMhUUBwYGIyInJicmJyYnJiMiBwYHBiMiNTQ3NjY3NjMyNjMyFxYXFhcWMzI3NjcCxA4+MxsbISUfRiMOLSgHEzInMQMCDA4ECTkrFBECDAQrMgJ9LCkGEzInLgYICBwEDFdAISUfRiMOLSgHEzInMQMCDA4ECTkrFBECDAQrMgJ9LCkGEzInLgYB4x85URAJDgsuFQoZCQEZHzQdHgwWLEANCAEYAU0ZCQEZHTYKE+ogEBA4Sg4LLhUKGQkBGR80HR4MFixADQgBGAFNGggBGR02AAACADAAEALSAegAHwA/AAATNhcWFxYzMjc2NzYyFhUUDgMHBgcGIyInJicmJyYTNjMyFxYXFhUUBiInJicmIyIHBgcGIiY1ND4DNzZCDBB6iAwZFw6HegwQCwEDAgcCWl5IPj9IXloLAgnORTpIRl5aDwsQDHqHDhcZDIt3DBALAQMCBwJaAeIGDmMRAgIRYwoMCAMFBAIHAUgfFxcfSAkFEf7IFhYfSA0JCAwKYxECAhJiCgwIAwUEAgcBSAAAAwA4AIUC0gKhAAoAFwAlAAATNDchFhUUBwUhJhU0NyEeAxUUByEmASImNTQ2NzYXFhYVFAY4DgJ9Dw7+wv7CEBACfAEHAwMP/YMOAU4aIxsUDQ4UGyQBWw0HBw0LCAEFsw8FAQUDBwQNBwcBmiQYFiAFBAQEIhQaIwADADgAJALSAdAACQARABsAABM0NyEWFRQHISYUNDchFhQHIQc0NyEWFRQHISY4DgJ9DxD9hhAOAn0PD/2DDhACehAP/YMOAbwNBwgMDQcFwBoHCBgIrg8FBw0MCAcAAgBT/3YCtgJ8ABwAJgAAATYzMhYUBwYGBAcWFwQXFhUUByMlJCcmNTY3NgABNDchFhUUByEmApkGAwkLBwFS/t+kcIgBIAQDEgb+4P7eAgcBDAgCLP3ADwJDEA/9uw4CegINEAYBJ4lONUGIBQYFEgKIiQIFDAsGBAEH/RILCQcNDAgHAAACAFP/dgK2AnwAFwAhAAATNDYzMgQEFxYUBwYFBSMmNTQ3NiU3JSYTNDchFhUUByEmUwkHCAElAR4BBwcC/t7+4AYSAwQBIPj96AcBDwJDEA/9uw4CaQYNiYkBBRQFAomIAhIFBgWIdv8H/SoLCQcNDAgHAAIAOP+9A7ACOAAaADUAAAQUBiMiJyYkJCcmNDc2ADc3FjMWFRQHBgEAFwQUBiMiJyYkJCcmNDc2ADc3FjMWFRQHBgEAFwJ/DAgFCQn+6/7+AgMDAwIkBQQDAw4GA/3/AgMBATcMCAUJCf7r/v4CAwMDAiQFBAMDDgYD/f8CAwEoEAsEBZeOBAQOBAUBKwIBAQUOCAYD/uf+5QEGEAsEBZeOBAQOBAUBKwIBAQUOCAYD/uf+5QEAAgA3/74DsAI3AFQAqQAAEzQzMhcWABcWFRQHBgQHBwYjIjU0NzI2Njc3MzczNzczNzM3Mzc3MzczNzM3NzM3MzczNzczNzM3Mzc3MzczNzM3NzM3MzczNzM3NzM3Mz8CACcmJTQzMhcWABcWFRQHBgQHBwYjIjU0NzI2Njc3MzczNzczNzM3Mzc3MzczNzM3NzM3MzczNzczNzM3Mzc3MzczNzM3NzM3MzczNzM3NzM3Mz8CACcmNxIGCg4CEQQDBAL+74iHBwgTBgFCgj4BAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQECxv3/AQcBMRIGCg4CEQQDBAL+74eIBwgTBgFCgj4BAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQECxv3/AQcCIxQFB/7fBQYFBgUEl0lJBBMIBiVHIgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBbgEXAwYIFAUH/t8FBgUGBQSWSUoEEwgGJUciAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFuARcDBgABAFT/1wK2AhsAJQAABRQjIicmJyYnIicmNDc2MzY3Njc2NzY2MxYVBgcGBxYXFhcWFxYCthQQBRCXe+InBAoKBCdDTfBVJwgCCQwSCC9Lv10GFyZ4IAcRGBiFPDEEAgcWBwIBBxhnLz0PDAMVTzhcJxgCBxE8bRgAAAEAU//XArYCGwApAAABMhYVFAcGIwYHBgcGIyI1Njc2NyYnJicmJyY1NDMyFxYXFhcWFxYXMjYCoggMCwQnlWD5FgUQFAgvS79dBhoieCEIEgQGCgIIJ1XxS0QKFgEOCwoLBwIDFDSrGBhPOFwnGAIJDztuIg8WAwUTPS9nGAcBAQABAFT/2AK2AhwALgAANzQ2NzIyNjIyMzMWFRQHBwYHBgcGBgcGFRQXFhYXFhcWFhczFhUUByMiJyYmJyZUoXMBEx8nMhibDw2fqBEBB1FuDQEBCkw3IR0UJIqfDQ+ZnQdlmRMF+neeDAEHDQoJAQEDAQEUbVAIGxoIP2EcDwYFAQEJCw0HAQqAXRcAAAEAU//YArUCHAAtAAATNDczMhcWFhcWFAcGBgcGIyMmNTQ3MzY3Njc2NzY2NzY1NCcmJicmJyYmJycmUw+ZnQdlmRMFBROaZAicmQ8Nn6gRAQcgIDdLCgICCks3IxwUJIqfDQIIDQcBCn9dGEYXXYIIAQcNCwkBAwEBCA4cYj4QEhMQPmEcDwYFAQEBCQACAFT/dgK2AnwALgA2AAATNDY3MjI2MjIzMxYVFAcHBgcGBwYGBwYVFBcWFhcWFxYWFzMWFRQHIyInJiYnJhI0NyEWFAchVKFzARMfJzIYmw8Nn6gRAQdRbg0BAQpMNyEdFCSKnw0PmZ0HZZkTBRQOAjEPD/3PAVp3ngwBBw0KCQEBAwEBFG1QCBsaCD9hHA8GBQEBCQsNBwEKgF0X/kYaBwgYCAAAAgBT/3YCtQJ8AGcAbwAAEzQ3MzIXFhYXFhQHBgYHBiMjJjU0Nzs6NjczMzY3NjY3NjU0JyYmJyYnJiYnJyYSNDchFhQHIVMPmZ0HZZkTBQUTmmQInJkPDZ8BAQECAQEBAQEBAgEBAQEBAQECAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBaxUBASAgN0sKAgIKSzcjHBQkip8NAQ4CMQ8P/c8CaA0HAQp/XRhGF12CCAEHDQsJAQUIDhxiPhASExA+YRwPBgUBAQEJ/R8aBwgYCAACADf/6gJjAlYAKABIAAABMhcVFBUGBwYVBgcGBiMiJicmJyY1NzYzMhcVFxcWFjMyNzY3NjU1NgEmNTQ3MzU0NzYzMhcWFhUVMxYUByMVFAcGIyInJjU1Ak8LCQEEAQkfJX1GToYiGgUBAQkKCwkBAg6HVX9HIgYBB/5VEBCiAgUOCAYEAaIQEKICBQ0OBAICVg/PHzGGDgIBJyQrMT0yJi4HzMkNDc/OCkNNSiUuBcvID/7HCQsJC1FSBAsGBRVBUQkWCVFRBAsLBFFRAAIAVP92AsoCfAARABsAABM2NyEWFAchESEWFRQHISYnAwM0NyEWFRQHISZeBAwCTQ8P/csCNBAP/bIFCQEKEAJWEA/9pw4CbAwECBgI/gwHDQwIAgsBE/4yDwUHDQwIBwAAAgBA/3YCtgJ8ABAAGgAAEjQ3IRYXEQYHISY1NDchESEDNDchFhUUByEmQA4CTgcICAf9sg4QAjP9yw4PAlcQD/2nDgJbGgcDCv3WCgMHDQ8FAfT9NgsJBw0MCAcAAAEAPQAAAl0CVgASAAA3BgciJxETNjchFhcRBgciJxEhZQcLDAoBBwcCBAoDBwsMCv4wDw4BEAEdARwJBAgH/cgOARACHgABAD0AAAJdAlYAEgAAMyYnERM2MzIXESERNjIXEQYHBU0MBAEKCQ0HAdAHGgcCC/7/BAwBHQEcDQ/94QIfDw/9yAUJAQAABQA4/60C0gJHABYAHwAoADEAOgAAEzYzMhcWFRQHBgYHBiMiJyYmJyY0NzYFESMGBwYGBxUlJiYnJiMjESEBESEVFhYXFjMBNSERMzI3NjaXZ4KNZWACDH5eMDJRSEhhCwEBDwEpBSksTGMIAkkLkGMOAQMBEP7I/u8LkGMOAgE7/vADAQ5jkAHlYmJnhBYOaJUdDyQlh1kHOgd0hAEQAhIehVEICGqPDQL+8P7IARAIao8NAgEICP7wAg2PAAMAOP+tAtICRwAWACMAMAAAEzYzMhcWFRQHBgYHBiMiJyYmJyY0NzYFJiYnJiMiBwYGBxUhFTUhFRYWFxYzMjc2Npdngo1lYAIMfl4wMlFISGELAQEPAmELkGMQHhwXXIMLAkn9twuSZgcaGwdmkgHlYmJnhBYOaJUdDyQlh1kHOgd0fGqPDQIFE4tlCDAICGuPDQEBDY8ABQA4/60C0gJHABYAIgAsADYAPwAAEzYzMhcWFRQHBgYHBiMiJyYmJyY0NzYlJiMiBwYHFzY3JiYFJwYGFRQXNjc3ITQnBgcHFxc2NgUyNzcmJwYHFpdngo1lYAIMfl4wMlFISGELAQEPAexLbBwXVTHBYGEDCv7OYCImSCw1XwFDSCw0YGBgIib+2m5QBIJAQIBHAeViYmeEFg5olR0PJCWHWQc6B3RTOQURMcFhYAIJiGAiaTVvUSs1YG9RKzVgYGAiae9EA4BBQYBHAAADADj/rQLSAkcAFgAnADMAABM2MzIXFhUUBwYGBwYjIicmJicmNDc2JSYjIgcGBhUUFxYzNjc3JiYDMjY1NCcGBwcWFxaXZ4KNZWACDH5eMDJRSEhhCwEBDwHsS2wcF2KJMRMEXnLPAwq1e6tIXnHPASRFAeViYmeEFg5olR0PJCWHWQc6B3RTOQUUm29ZSh5dcs4CCf30qXtvUV1yzgEbKwADADj/rQLSAkcAFgAwAEAAABM2MzIXFhUUBwYGBwYjIicmJicmNDc2JSYjIgcGBwYVFBcWFhcWMjc2NzY1NCcmJyYDNDY3MjYzFhYVFAYjIicml2eCjWVgAgx+XjAyUUhIYQsBAQ8BYxAeHBdoQ0AZHHBGHD4baENACRM2RN0mGgEMBCEpKyIyFQcB5WJiZ4QWDmiVHQ8kJYdZBzoHdIoCBRVTT2g/OEBaDgUFFVNPaCQkSjlJ/uweLAQBBCohIiwtDgAAAQA3AAACKwK2AA8AADcGByInETYzFhcRIRYUByFfBwsMCgoMCwcBvQ8P/kMPDgEQApYQAQ7+yAcaBwAAAQA3AAACKwK2ABAAABMmNTQ3IRE2MxYXEQYHIicRRxAQAbwKDAsHBwsMCgFHCQsJCwE3EAEO/WgOARABNwABADcAAALTApwADwAAEyY1NDchFhQHIREGByInEUcQEAJ9Dw/+1QcLDAoCdAkLCQsIGAj9mw4BEAJkAAABADcAAALTApwADgAAJBQHISY0NyERNjMWFxEhAtMP/YMQEAEqCgwLBwErIBgICRYJAmQQAQ79mwAAAQB3/wcDKwLuACEAABYiJxETNjMyFxEhFhUUBwUhIjQjFTI0MyEeAxUUByERmBoHAQoJDQcCfQ8O/sL+wgEBAQECfAEHAwMP/YP5DgHmAeYND/6QBw0LCAEBnAEBBQMHBA0H/pAAAgAKAAoB6QHqABMAGQAAEzYXFhYXFgcGBgcGJyYmJyY3NjYXJwcWFzbyCQcE3gIDAwLeBAcJBdwDBAQC3Mu9vV1gYAHmBAQC3gQICATeAgQEAtwGCAgF3Om9vWBdXQAAAQBOAL4AxwE5AA0AADciJjU0Njc2FxYWFRQGixojGxQNDhQbJL4kGBYgBQQEBCIUGiMAAAEAAwAPAfEB6wAuAAATNDY3NDM2FxYVNjMzMhUUBw4DBwcXFAYnJicnBwYHBiY1NjcmJyYnJjU0MzPSHgEECwQewAUBCT8EBQkIBFlcCgchJUZGJSEHCgFbKDFaAgEJAQEaAsICBAcMxAEgDAUfAgMEBAItsgYHAiEnRkYnIQIHBgSuFRgtBAEBDAAAAwAa//sDaQH5AAYALAA2AAAkECIEFAQXFwYjIicuAicGBwYjIicmIyYnETY3Mjc2MzIXFhc+Ajc2MzIXBS4CJyIQMzYkA0EC/qgBVwIpCAwCBgKkyR0BvNEIAgECAQYFBQYBAgECCNGeHx/FpgIGAgwI/jMxsGgQAQECAVcyAZDHAsYBKA8CAV90EQFueAECAgsB3gsCAgF4XBMScmABAg/wHGY9Cf5wAcYAAAMATv/iAMcDhwANABsAKQAAFyImNTQ2NzYXFhYVFAYDIiY1NDY3NhcWFhUUBgMiJjU0Njc2FxYWFRQGixojGxQNDhQbJBgaIxsUDQ4UGyQYGiMbFA0OFBskHiQYFiAFBAQEIhQaIwGaJBgWIAUEBAQiFBojAZAkGBYgBQQEBCIUGiMAAAMATgC+BEUBOQANABsAKQAANyImNTQ2NzYXFhYVFAYhIiY1NDY3NhcWFhUUBiEiJjU0Njc2FxYWFRQGixojGxQNDhQbJAGnGiMbFA0OFBskAacaIxsUDQ4UGyS+JBgWIAUEBAQiFBojJBgWIAUEBAQiFBojJBgWIAUEBAQiFBojAAADAIUAZAR8AzcADQAbACkAABMiJjU0Njc2FxYWFRQGASImNTQ2NzYXFhYVFAYBIiY1NDY3NhcWFhUUBsIaIxsUDQ4UGyQBpxojGxQNDhQbJAGnGiMbFA0OFBskArwkGBYgBQQEBCIUGiP+1CQYFiAFBAQEIhQaI/7UJBgWIAUEBAQiFBojAAEArv8GAaUC7gAQAAATNjczMhcWFAcGIyMRBgciJ64EDGxsBAsLBGBgBwsMCgLeDAQCBhgGAvxPDgEQAAEAFv8GAQ0C7gARAAAFBgciJxEjIicmNTQ3NjMzFhcBDQcLDApgYAMMDANubQoD6w4BEAOwAgYNCwYCCAcAAQCu/wYBpQLuABAAABcmJxE2MxYXETMyFxYUBwYjvgwECgwLB2BgBAsLBGz6BAwDyBABDvxPAgYYBgIAAQAW/wYBDQLuABEAABMWFxEGBwciJiY1NDc2MzMRNvsLBwILbVgbCgwDYGAKAu4BDvw2BQkBAQoIDQYCA7AQAAEANwB5A7ABhAAaAAA3IiY1NDc2NzY3MxYXFhcWFRQGIyInJiEgBwZMCA0KK0iFpTB7dGlACg0ICQyG/vT+84YMeQ0GCQ1CN2MGBUA9YA0JBg0Svb0SAAABADcAhgOwAXsAHwAAEzQ2MzIXFhYgNjc2FxYVFAcGBgcGBwYjIicmJyYmJyY3CgkMCj3SAQrRPQwLEgEEORdmjjNAQTKPZhc5BAEBZggMD1BaWlAQAQISBQILPRRWHQoKHVYUPQsCAAEAOP8MAWUC6AAqAAATFRQHFhUVFAcGByMiJjU0NzY3Njc2NzQ2NDUmNTQ3NjY3NzMXFRQHBgcG7wEBJi5NCQsCAwEDWhECAQEBAQVUQAcUAwhYEwIBfmkcAgxvdEhCTCYCCwwCAQE+cg6QJz0eAQp0gwVNdCQDAwkNBDx0DgAAAQA3/wwBZQLpADsAADcWFRQGFRwCFgYWFBUWFxYVFQcjJicmJyY1NDY1JjU8AiY2JjQ1JicmNTQ1NDU0MzIzMjMzFhcWFRXvAQEBAQEQXQgDFFgtGAMBAQEBAQEQXQcEAQIEAglOLSb9AQ0CTigYKxoWDAkEAoE/BA0JAy1ZMDIGZSdyAgh8GCoaFgwJBAKAQAMIAwIBAgomS0dEdAACADsAAAM8As0AEAAWAAAlFAchJjU0NzYANzY2FxYTEyc0ASIAFQM8Dv0dEAMDAWkCAhIHBLm4Nf61Af62FA0HCQsEBgcCmwMGBAUC/qr+qw0BAmT9nAEAAgAa//sB2QH5ABgAIgAAEzY3Mjc2MzIXFhcWFRQHBgcGIyInJiMmJyUuAiciEDM2JBoFBgECAQII0cwHAgQKx9EIAgECAQYFAYIxsGgQAQECAVcB6QsCAgF4dwcCBwgDCHR4AQICC+8cZj0J/nABxgAAAgA8/ykDPAH0ABEAFwAAEzQ3IRYVFQMCBwYiJyYCAicmBSEUADIAPA8C4w64ugMEDgQErrcIBALL/WoBSgIBSgHiCQkHDQb+qv6qAgMDAgFCAVUNCA4B/ZwCZAACABr/+wHZAfkAEgAZAAAlBiMiJyImJicmNDc2JDc2MzIXAhAiBBQEFwHZCAwCBgHLygQJCQUBkAUGAgwIKAL+qAFXAgoPAnZ0AwUWBQPnAwIP/kgBkMcCxgEAAAIAOP8pA7ACywAdADgAAAE2MzIXFhYXFhUUBwYGBwYjIicmJicmJyY1NDc2NgE0JicmIyIHBgYHBhUUFxYWFxYzMjc2NzY3NgFsQj1UPHymEQIYJqdwLzgrHFeZM0IPARcjlQKB0JkJKS8pdaYVBQwYgFtHThYQpWtNDwICtRYWKtGPFhtLSnOhHAwFD2NLYX0LJk5Hapr+Z6fuEwELHrh8Iyk5MWKaJh4CEoVggxQAAQA3/34C0wLYADsAACUUBiMiJicmNTUjFRQXFhUUBwYiJyY1NDc2NTUjFRQHBiMjIicmJyYnNDc2Njc2NzY2MzIXFhcWFxYXFgLTQUQ0RgcCMhcFCwRCBAsFFzIZJUIKEBIhEiYDBQ1WS1IyBggKCwsyUlgmLQcBzGd6KSIIBAQIS0wSBQkHAgIHCgURTEsIBB4XIgYOHDpsIxpEbkJMgg4KGIJMTTlCRAYAAAIAN//eAtMCzAAsAFQAABMyFhc2NzY2NzYzMhcWFRQGFQYHBgcGBgcGBwYjIicmJicmJyYnNCY1NDY3NhcGFRQXFhcWFxYXNjc2NzY3Njc2NTQjIgcGBwYjIiYnJiYnJiMjByLeOVUZAgMTTy8EDDglSwEKbhhIJCYUBwcGBAsLFCYkSBhuCgExLR8SZyolcSoRGhEDAg8XESpQKkZ/NisoCQQPCwkDCUEuBhkJBAQCzD4xAwUoOAYBHDiOBhMCcXsaRiQ5LhMEAxouOSRGGntxAhMGTmwXESoTpExFQG4nGCIkBAUfHhgnTTZdW70pKDkYCw4xTAoBAQACADf/XgLTAtcAHwAvAAABNDYzMh4DFxYXFhQHBgcGIicmJyYnJjQ3Njc2NzYBJicGBwYHBxcWFzY3Njc3AXINBgUHBwQIAXOtDg61egQaBHalDA0JCR0ihWENAR2WdAMCbpcSEpZ0AwJulxICygQJBAoGDwPgoQ0SDan0CQntnQsNBxQHGiSNuxj+YpPYBAXOlBERk9gEBc6UEQABABz/fgLuAtYAVQAAJQYGIyInJicmNTQ2NzYzMhcWFhcXNjc3JicmNTQ3NjY3NjMyFxYXFhQHBgcHFxc3NjY3NjMyFxYWFRQHBgYjIiYnNSMVFBcWFRQHBiInJjU0NzY1NSMBPwRHLzYuMxACPC4SFzEiAgQCAQUGCiEIIgIMTz0GECofUhMCAg03BQoLAQIEAiI0HhgpMRYVTTMwQwUyFwULBEIECwUXMj8nLiYpVBARRmYPByICBAEBCwwWIQwzQRoJPlcJAREoZgswC0ovBRYXAQEEAiIOFGBANCwsOCwpBwhLTBIFCQcCAgcKBRFMSwgAAgA3/+oBTALuABcAJAAAEzIXETc2MzIWFxYVFAcGBwcjIicDEDc2EzQjIgYHBgYVFTY3NkwLCAkoODNFCwEBFs0QDQ0GAQEEsTYZMAkFAUspGgLuBv7KBhtCMgYYGgmajwsGAXoBewIH/lRfFhEIKoOjS1s8AAIAQf8hAUQC4AAWACAAABciJxE3Njc2FxE3NjMyFxEGIyInNSIGNzY3MjU0IwYHB0oDBgICCxAIaGcDAQkQDgUFAs4csgEBAV4xJGAGAysCAwQGCf7lKikG/SUNB8tTbUcBp6YnEw4AAgA3/yEBTQLTAF0AZAAAJTIXFQcGBwcVFAYHBicmJjU1BgcVBwYHBicmJjU0IwYHBicnNDY3Njc3NTQjBgcGJyc0Njc2Nzc1NDY3NhcWFhUVNjc1NzYzFzMWFhUUMzI2MzIXFQcGBwcVFDMyNgcRBgcHETYBRAIHAwIQDwQLDQcEAVQqAwELDQUFAgEFBg8IAQIFBwkNAQUGDwgBAgUHCQ0ECw0HBAFUKgENDwICBQIBAxMEAgcDAhAPAQMTPx0iP1RfBVQCAwUGREQGBAYDAhEzQCAPigICBAUBAhE0PwICBggoIgwDAwMFp6YCAgYIKCIMAwMDBWZnBgQGAwIZTmIgD2hnDQECGE9iBwVUAgMFBqemBxcBTgsNF/6yIAAAAQBu/wYBTQLuABUAADcXFhUGIyInJgI0Ejc2NzcyMzIXFAeYWlsEEgkGA7e3AwMHAwMBEgJb+u7tBxIKBwHeCgHeBwUEARIH7QABADf/BgEWAu4AEgAANycmNTYzMhcWEhQCBwYjIic0N+xaWwQSCQYDt7cDBgoRBFv67u0HEgoH/iIK/iIHChIH7QABAK3/DAFlAugAJQAABQcjJicmJyY1NDY1JjU0NzY2NzczFxUUBwYHBgcdAhQXFhcWFQFlAxRYLRgDAQEBAQVUQAcUAwhYEwIBARBdCPEDLVkwMgZlJ3MBCnSDBU10JAMDCQ0EPHQOj4Qok1EFgT8EDQABADf/DADwAukANQAAEzQ1NDMyMzIzMxYXFhUVFAYUFRYVFAcGBwYHIyImJjU0NzY3Njc1JjU8AiY2JjQ1JicmNTQ4BAECBAIJTi0mAQIBBCEuTQkIBAIIWREDAQEBAQEQXQcC2wECCiZLR0R0JTgcAxBwgwU/N0wmAQQIDAQ9cxWJgwh8GCoaFgwJBAKAQAMIAwAAAQA3//UF9QH/ACgAABMhFhQHIRcWFxYVFCMiJicmJyYmJyYnNDc2Njc+BTMyFRQHBgelBUEPD/q/A2cgBhUMBwICAhJlRw8DEkdlEgECAQMECAYVBh5pAQ4IGAgDT3sWAwsFCgcKSXIcBgUNBBxySQMMBAgDAgsDFndTAAEAVP/1BhEB/wAmAAA2NDchJicmJzQmNTQzMhYXFhcWFhcWFAcGBgcGBwYGIyI1NDc2NyFUDgVCRycZCAEUDAcCAwgWZkQJCURmFgcEAgcMFQYfbPq+7RoHNUswLwIEAQsFCRQVQ2kXAxADF2lDFRMKBQsDFn1QAAEAN//1BwsB/wBHAAATISYnJic0JjU0MzIWFxYXFhYXFhQHBgYHBgcGBiMiNTQ3NjchFxYXFhUUIyImJyYnJiYnJic0NzY2Nz4FMzIVFAcGB6UF+UcnGQgBFAwHAgMIFmZECQlEZhYHBAIHDBUGH2z6BwNnIAYVDAcCAgISZUcPAxJHZRIBAgEDBAgGFQYeaQEONUswLwIEAQsFCRQVQ2kXAxADF2lDFRMKBQsDFn1QA097FgMLBQoHCklyHAYFDQQcckkDDAQIAwILAxZ3UwABADj/6AYRAg0AOwAAJSEeAxUUByEXFhcWFRQjIiYnJicmJyYmNDY3NjY3NjYzFhUUBwYHByEWFRQHBSEiJwUhBwYHFhcWFwESBPEBBwMDD/s8CjMjBRQLBwRKjyouCgYGCmadLgYFDRIFIzMKBMQPDv7C/sIBAv7W/rgKMUQEBjc0rQEFAwcEDQcKNkUMBAgDCZJGFQwDBQoFAxqDXAsCAQkDDEU2CgcNCwgBAQEIJx4DAhgoAAEAOP/oBi4CDQA3AAA3NDchNzY3JicmJychJyIjBSEmNTQ3IScmJyY1NDMyFhYXFhcWFxYUBwYGBwYGIyI1NDc2NzchJjgQBQsKMUQEBjc0Cv1zAQEB/sP+whAOBOEKMyMFFQcHAgVQpSAcERFmnS4EBgwUBSMzCvsfDpkPBQgnHgMCGCgIAQEFDw0HCjZFCgQLAwMHn0UOBwUQBRqEWwkDCAQMRTYKBwAAAgA4/+gHCgINABYAVwAAJSE3NjcmJyYnJyEnIiMFIQcGBxYXFhc3IScmJyY1NDMyFhYXFhcWFxYUBwYGBwYGIyI1NDc2NzchFxYXFhUUIyImJyYnJicmJjQ2NzY2NzY2MxYVFAcGBwESBR0KMUQEBjc0Cv1zAQEB/rv+uAoxRAQGNzQ2BMUKMyMFFQcHAgVQpSAcERFmnS4EBgwUBSMzCvs7CjMjBRQLBwRKjyouCgYGCmadLgYFDRIFIzOtCCceAwIYKAgBAQgnHgMCGCi6CjZFCgQLAwMHn0UOBwUQBRqEWwkDCAQMRTYKCjZFDAQIAwmSRhUMAwUKBQMag1wLAgEJAwxFNgAAAQA3//UGEQH/ADQAABM2MzIWFhUVISYnJic0JjU0MzIWFxYXFhYXFhQHBgYHBgcGBiMiNTQ3NjchFRQGBiImJjU0OQMQCAoBBUVHJxkIARQMBwIDCBZmRAkJRGYWBwQCBwwVBh9s+rsBChIKAQGpCwoUPUs1SzAvAgQBCwUJFBVDaRcDEAMXaUMVEwoFCwMWfVBLPRQKCiaKqwAAAQAcAAAC0QKrAFgAAAEVFAYjIyIHBhEQFxYzMzIXFhUUBwYhICcmNTQ3NjMzMjc2ERAnJiMjIicmNTQ2MxYzMjYzMhYVFRQGIyMiBwYRESERECcmIyMiJj0CNDYzMhYyNjMyFhUC0QgUFSsJAQEJKxUYAgIGAv6t/q4CBgICGBUrCQICCSsVGAICBhAlXxlYFA0ECBQVKwkCASMCCSsVFAgGDBBVQlUQDAYClAYMBQsD/uf+5gMLBgMOEgQBAQQSDgMGCwYBFwEWBgsGAw4RBgIBCA4GDAULBv7i/uABIAEeBgsFDAYICQUBAQUJAAIAVP92ArYCfAAoADAAACUUIyImJyYnJicmJyInJjQ3NjM2NzY3Njc2NjMWFQYHBgcWFxYXFhcWBDQ3IRYUByECthQLCAIIJ1XwTUMnBAoKBCdDTfBVJwgCCQwSCC9Lv10GFyZ4IAf9oA4CRQ8P/btQFwoQPS9nGAcBAgcWBwIBBxhnLz0PDAMVTzhcJxgCCBA8bRjqGgcIGAgAAAIAU/92ArYCfAAqADIAAAEyFhUUBwYjBAcGBwYGIyI1Njc2NyYnJicmJyY1NDMyFxYXFhcWFxYXMjYANDchFhQHIQKiCAwLBCf+5ntgDwIICxQIL0u/XQYaInghCBIEBgoCCCdV8UtEChb9tA4CRQ8P/bsBbwsKCwcCBks6aBAKF084XCcYAgkPO24iDxYDBRM9L2cYBwEB/g4aBwgYCAABAIz/KQJ+As0AEAAAATY2FxYVFAAHBiMiNTQ3NgACWgISBwn+MAQEBxMEDQG7AsMGBAQHCgX8ewIDEQgHGgNeAAAAAAEAAAEeAKoABQAAAAAAAgAAABgAjQAAAB4ODAAAAAAAAAASABIAEgASAEcAlQEaAa4CUgLxAx0DSQN6A9wEBAQwBD8EWwR9BM0FAwVWBc0GDQZuBtEHHgeZCAMINQh2CKMI0AkBCWIKAwpfCtkLOguRC/4MXAzcDUANgg3gDmYOsA8bD20PvRAZEK4RQhG4EhQSbRK1Ey4TsBQKFFQUaBSIFJwUxhTVFUgVqBX1FkwWmBbpF5AX/RhBGJAZDBlIGegaVRqWGv8bWRu5HCYcXhy2HP0dbh3wHkwemh7+HxYfcB+jH6MgQCDMIPohFyFQIYQhvyHrInMiviM5I7YkWiSYJQ0lPSXiJmEmnCbGJucm9ycZJ0AnbSeKJ8Mn9igpKG8omykAKVQpsSn6KlUqvitMK9ksZSxlLGUsZSxlLGUsZSxlLHQsgyyyLN4tMS1/Ld8uiy7QLvMvKi+qMGEwzDFXMjEy2zMaM2YzojPzNFc04DU0NYk14DY7Nok22DclN083eTehN8U4EjhoOMc5FTluOfI6ejqyOyE7STvNO/c8PDyGPJg8yzzqPQc9bz2dPbY96T5NPrw+6T7+Pzk/cD+jP+FAH0B1QMJA+0FLQbtCRkKlQuJDEUNUQ45D6UTURRFFUkWYRd9GMkaiRwlHOkdpR4xHr0gOSFpIwUkSSXRJkkmxSc9J7EofSk9KaUqvSwVLR0uIS8tL6UwITCZMRkxyTKZM5k01TWFNmk3ITfZOTk6kTyFPb0/pUCRQWFDoUQ1RLlFnUbFR71IrUpNS7lNDU8dUFVSMVNpVKlVLAAAAAQAAAAEAAN5Q9AFfDzz1AA8D6AAAAAAAAAAAAAAAAAAAAAD+Kf7wBwsDhwAAAAgAAgAAAAAAAAD6ADIAAAAAAU0AAAD6AAABFgBOAfQAIgNBADgB9AA3A0EAOAMKACoBFgBOAYUAXgGFADcB9ABAAwoAOAEWAE4BTQALARYATgH0ADgB9AAnAfQAUwH0ADIB9AAqAfQAHAH0ADIB9AAqAfQANwH0ACsB9AAqARYATgEWAE4DCgBTAwoAOAMKAFMB2AA3AwoAOALuACACxAAcAtIAOAL8ABsCqQAZAo0AGQMRADgC7gAZAWkAFQICABkDCgAZAnEAGQOVAB0C7gAZAwoAOAKpABsDCgA4AuAAGwIsADcC0gAkAu4AGQLuABMEBAASAu4AFwLuAAsCYwA3ARYAdgH0ADgBFgAWAfQAcAH0AAAB9AAiAiwAFAG8ACICLAAiAbwAHAEyABoB9AAdAiwAGQEWABoBMv/JAhAAFAEWABoDQQAZAiwAGQH0ABwCLAAUAhAAIQGIABQBigAhAYUAEgIsABkCEAATAtIAEgIQAAsCEAATAbwAHAH0AEEBFgB3AfQAQQH0AFMA+gAAAwEAWAG8AEUB9ABfApsAOAH0AJMDCgA4AmMANwG8AHwDhwAgAwoAkwMKADgB9AAUAtIAJQMKADgB9AAcARYAGgP2AEYDCgAdATL/yQH0AHAB9AByAfQARQH0AMsB9ABqAfQAXAEWAE8C7gEQAfQAUwH0AHoCcQAZA0EALgMKADgCtgAgApsAKgLuABkC0gA2AwoANwLSADgDCgA3AtIALAH0AAAD5wAAAU0AAAD6AAAApwAAAKcAAABTAAAB9AAAA+gAAAEWAEABFgBOAfQAgAH0ACIBvAA3AbwANwSUAE4BEwAeAAD+KQIcADAC0gA3AaEABwJ8AEMC0gAoAmMANwPoADcB9AARA+gAOAH0ABED6AA3AfQAEQPoAB0D6AA3A+gANwPoAB0D6AA3BGYANwRmADcD6AA3A+gANwPoADgD6AA4A+gANwPoADgCYwAfA+gAOAJjAB8D6AAiAmMAHwIsAAACEwAqAiwAOAH0ACcDQQAuApsAVAKbAFMDCgBUAwoAOAH0ADgB9AA4AfQAQAH0ADcB9AA3A0EASAMKADgD6AA3AtIANwEWAHcB9ACEApsANwKbADcCmwA3ApsANwGhADcDCgA3ARYANwMKADcDCgA3AwoANwMKADADCgA4AwoAOAMKAFMDCgBTA+gAOAPoADcDCgBUAwoAUwMKAFQDCgBTAwoAVAMKAFMCmwA3AwoAVAMKAEACmwA9ApsAPQMKADgDCgA4AwoAOAMKADgDCgA4AmMANwJjADcDCgA3AwoANwNjAHcB9AAKARYATgH0AAMDhAAaARYATgSUAE4FAgCFAbwArgG8ABYBvACuAbwAFgPoADcD6AA3AZwAOAGcADcDeQA7AfQAGgN5ADwB9AAaA+gAOAMKADcDCgA3AwoANwMKABwBhQA3AYUAQQGFADcBhQBuAYUANwGcAK0BnAA3BkkANwZmAFQHQwA3BkkAOAZmADgHQgA4BmYANwLuABwDCgBUAFMAjAABAAADh/7wAFoHQ/4p/74HCwABAAAAAAAAAAAAAAAAAAABHAACAawBkAAFAAACigK8AAAAjAKKArwAAAHgADEBAgAAAAAAAAAAAAAAAIAAAO8QAOztAAAAAAAAAABQZkVkAEAAIOAgAyD/OABaA4cBECAAAI9eAwAAAboCqwAAACAAAQAAAAIAAAADAAAAFAADAAEAAAAUAAQDQAAAAMwAgAAGAEwAXwB+AKAAowCoAKwAsQC2ALgAxgDYAN8A5gD4ATEBUwI3AscCywLaAt0DlAOYA5sDngOgA6MDpgOpIAYgCiAUIBkgHSAhICYgMiDXIQ8hESETIRghHCE1IZkhpiGqIb0hwSHMIdUiACIDIgUiCCILIhMiGiIeIiAiIyIlIisiPCJAIkMiRSJIIk0iUCJhImUiayJ7IoMihyKOIpkipSKoIsYiyCLvIvEjCyMjI7ElsyW5Jb0lwyXvJmMmbyfpJ+8n+if8Kj8qsOAg//8AAAAgAGEAoACjAKcArACwALYAuADGANcA3wDmAPcBMQFSAjcCxgLJAtgC3AOTA5gDmwOeA6ADowOlA6ggAiAJIBMgGCAcICAgJiAyINchDyERIRMhGCEcITUhkCGmIakhvCHAIcwh0CIAIgIiBSIHIgsiEiIVIh0iICIjIiUiJyI8IkAiQyJFIkgiTSJQImEiZCJqInoigiKGIo4ikSKiIqgixCLIIu4i8SMIIyIjsCWzJbklvSXDJe8mYCZtJ+gn7if1J/wqPyqv4CD////j/+L/wf+//7z/uf+2/7L/sf+k/5T/jv+I/3j/QP8g/j39r/2u/aL9ofzs/On85/zl/OT84vzh/ODgiOCG4H7ge+B54Hfgc+Bo38Tfjd+M34vfh9+E32zfEt8G3wTe897x3ufe5N663rneuN633rXer96u3qzeq96p3qjep96X3pTekt6R3o/ei96J3nned95z3mXeX95d3lfeVd5N3kveMN4v3greCd3z3d3dUdtQ20vbSNtD2xjaqNqf2SfZI9ke2R3W29ZsIP0AAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAALCCwAFVYRVkgIEu4AA5RS7AGU1pYsDQbsChZYGYgilVYsAIlYbkIAAgAY2MjYhshIbAAWbAAQyNEsgABAENgQi2wASywIGBmLbACLCMhIyEtsAMsIGSzAxQVAEJDsBNDIGBgQrECFENCsSUDQ7ACQ1R4ILAMI7ACQ0NhZLAEUHiyAgICQ2BCsCFlHCGwAkNDsg4VAUIcILACQyNCshMBE0NgQiOwAFBYZVmyFgECQ2BCLbAELLADK7AVQ1gjISMhsBZDQyOwAFBYZVkbIGQgsMBQsAQmWrIoAQ1DRWNFsAZFWCGwAyVZUltYISMhG4pYILBQUFghsEBZGyCwOFBYIbA4WVkgsQENQ0VjRWFksChQWCGxAQ1DRWNFILAwUFghsDBZGyCwwFBYIGYgiophILAKUFhgGyCwIFBYIbAKYBsgsDZQWCGwNmAbYFlZWRuwAiWwDENjsABSWLAAS7AKUFghsAxDG0uwHlBYIbAeS2G4EABjsAxDY7gFAGJZWWRhWbABK1lZI7AAUFhlWVkgZLAWQyNCWS2wBSwgRSCwBCVhZCCwB0NQWLAHI0KwCCNCGyEhWbABYC2wBiwjISMhsAMrIGSxB2JCILAII0KwBkVYG7EBDUNFY7EBDUOwAmBFY7AFKiEgsAhDIIogirABK7EwBSWwBCZRWGBQG2FSWVgjWSFZILBAU1iwASsbIbBAWSOwAFBYZVktsAcssAlDK7IAAgBDYEItsAgssAkjQiMgsAAjQmGwAmJmsAFjsAFgsAcqLbAJLCAgRSCwDkNjuAQAYiCwAFBYsEBgWWawAWNgRLABYC2wCiyyCQ4AQ0VCKiGyAAEAQ2BCLbALLLAAQyNEsgABAENgQi2wDCwgIEUgsAErI7AAQ7AEJWAgRYojYSBkILAgUFghsAAbsDBQWLAgG7BAWVkjsABQWGVZsAMlI2FERLABYC2wDSwgIEUgsAErI7AAQ7AEJWAgRYojYSBksCRQWLAAG7BAWSOwAFBYZVmwAyUjYUREsAFgLbAOLCCwACNCsw0MAANFUFghGyMhWSohLbAPLLECAkWwZGFELbAQLLABYCAgsA9DSrAAUFggsA8jQlmwEENKsABSWCCwECNCWS2wESwgsBBiZrABYyC4BABjiiNhsBFDYCCKYCCwESNCIy2wEixLVFixBGREWSSwDWUjeC2wEyxLUVhLU1ixBGREWRshWSSwE2UjeC2wFCyxABJDVVixEhJDsAFhQrARK1mwAEOwAiVCsQ8CJUKxEAIlQrABFiMgsAMlUFixAQBDYLAEJUKKiiCKI2GwECohI7ABYSCKI2GwECohG7EBAENgsAIlQrACJWGwECohWbAPQ0ewEENHYLACYiCwAFBYsEBgWWawAWMgsA5DY7gEAGIgsABQWLBAYFlmsAFjYLEAABMjRLABQ7AAPrIBAQFDYEItsBUsALEAAkVUWLASI0IgRbAOI0KwDSOwAmBCIGC3GBgBABEAEwBCQkKKYCCwFCNCsAFhsRQIK7CLKxsiWS2wFiyxABUrLbAXLLEBFSstsBgssQIVKy2wGSyxAxUrLbAaLLEEFSstsBsssQUVKy2wHCyxBhUrLbAdLLEHFSstsB4ssQgVKy2wHyyxCRUrLbArLCMgsBBiZrABY7AGYEtUWCMgLrABXRshIVktsCwsIyCwEGJmsAFjsBZgS1RYIyAusAFxGyEhWS2wLSwjILAQYmawAWOwJmBLVFgjIC6wAXIbISFZLbAgLACwDyuxAAJFVFiwEiNCIEWwDiNCsA0jsAJgQiBgsAFhtRgYAQARAEJCimCxFAgrsIsrGyJZLbAhLLEAICstsCIssQEgKy2wIyyxAiArLbAkLLEDICstsCUssQQgKy2wJiyxBSArLbAnLLEGICstsCgssQcgKy2wKSyxCCArLbAqLLEJICstsC4sIDywAWAtsC8sIGCwGGAgQyOwAWBDsAIlYbABYLAuKiEtsDAssC8rsC8qLbAxLCAgRyAgsA5DY7gEAGIgsABQWLBAYFlmsAFjYCNhOCMgilVYIEcgILAOQ2O4BABiILAAUFiwQGBZZrABY2AjYTgbIVktsDIsALEAAkVUWLEOBkVCsAEWsDEqsQUBFUVYMFkbIlktsDMsALAPK7EAAkVUWLEOBkVCsAEWsDEqsQUBFUVYMFkbIlktsDQsIDWwAWAtsDUsALEOBkVCsAFFY7gEAGIgsABQWLBAYFlmsAFjsAErsA5DY7gEAGIgsABQWLBAYFlmsAFjsAErsAAWtAAAAAAARD4jOLE0ARUqIS2wNiwgPCBHILAOQ2O4BABiILAAUFiwQGBZZrABY2CwAENhOC2wNywuFzwtsDgsIDwgRyCwDkNjuAQAYiCwAFBYsEBgWWawAWNgsABDYbABQ2M4LbA5LLECABYlIC4gR7AAI0KwAiVJiopHI0cjYSBYYhshWbABI0KyOAEBFRQqLbA6LLAAFrAXI0KwBCWwBCVHI0cjYbEMAEKwC0MrZYouIyAgPIo4LbA7LLAAFrAXI0KwBCWwBCUgLkcjRyNhILAGI0KxDABCsAtDKyCwYFBYILBAUVizBCAFIBuzBCYFGllCQiMgsApDIIojRyNHI2EjRmCwBkOwAmIgsABQWLBAYFlmsAFjYCCwASsgiophILAEQ2BkI7AFQ2FkUFiwBENhG7AFQ2BZsAMlsAJiILAAUFiwQGBZZrABY2EjICCwBCYjRmE4GyOwCkNGsAIlsApDRyNHI2FgILAGQ7ACYiCwAFBYsEBgWWawAWNgIyCwASsjsAZDYLABK7AFJWGwBSWwAmIgsABQWLBAYFlmsAFjsAQmYSCwBCVgZCOwAyVgZFBYIRsjIVkjICCwBCYjRmE4WS2wPCywABawFyNCICAgsAUmIC5HI0cjYSM8OC2wPSywABawFyNCILAKI0IgICBGI0ewASsjYTgtsD4ssAAWsBcjQrADJbACJUcjRyNhsABUWC4gPCMhG7ACJbACJUcjRyNhILAFJbAEJUcjRyNhsAYlsAUlSbACJWG5CAAIAGNjIyBYYhshWWO4BABiILAAUFiwQGBZZrABY2AjLiMgIDyKOCMhWS2wPyywABawFyNCILAKQyAuRyNHI2EgYLAgYGawAmIgsABQWLBAYFlmsAFjIyAgPIo4LbBALCMgLkawAiVGsBdDWFAbUllYIDxZLrEwARQrLbBBLCMgLkawAiVGsBdDWFIbUFlYIDxZLrEwARQrLbBCLCMgLkawAiVGsBdDWFAbUllYIDxZIyAuRrACJUawF0NYUhtQWVggPFkusTABFCstsEMssDorIyAuRrACJUawF0NYUBtSWVggPFkusTABFCstsEQssDsriiAgPLAGI0KKOCMgLkawAiVGsBdDWFAbUllYIDxZLrEwARQrsAZDLrAwKy2wRSywABawBCWwBCYgICBGI0dhsAwjQi5HI0cjYbALQysjIDwgLiM4sTABFCstsEYssQoEJUKwABawBCWwBCUgLkcjRyNhILAGI0KxDABCsAtDKyCwYFBYILBAUVizBCAFIBuzBCYFGllCQiMgR7AGQ7ACYiCwAFBYsEBgWWawAWNgILABKyCKimEgsARDYGQjsAVDYWRQWLAEQ2EbsAVDYFmwAyWwAmIgsABQWLBAYFlmsAFjYbACJUZhOCMgPCM4GyEgIEYjR7ABKyNhOCFZsTABFCstsEcssQA6Ky6xMAEUKy2wSCyxADsrISMgIDywBiNCIzixMAEUK7AGQy6wMCstsEkssAAVIEewACNCsgABARUUEy6wNiotsEossAAVIEewACNCsgABARUUEy6wNiotsEsssQABFBOwNyotsEwssDkqLbBNLLAAFkUjIC4gRoojYTixMAEUKy2wTiywCiNCsE0rLbBPLLIAAEYrLbBQLLIAAUYrLbBRLLIBAEYrLbBSLLIBAUYrLbBTLLIAAEcrLbBULLIAAUcrLbBVLLIBAEcrLbBWLLIBAUcrLbBXLLMAAABDKy2wWCyzAAEAQystsFksswEAAEMrLbBaLLMBAQBDKy2wWyyzAAABQystsFwsswABAUMrLbBdLLMBAAFDKy2wXiyzAQEBQystsF8ssgAARSstsGAssgABRSstsGEssgEARSstsGIssgEBRSstsGMssgAASCstsGQssgABSCstsGUssgEASCstsGYssgEBSCstsGcsswAAAEQrLbBoLLMAAQBEKy2waSyzAQAARCstsGosswEBAEQrLbBrLLMAAAFEKy2wbCyzAAEBRCstsG0sswEAAUQrLbBuLLMBAQFEKy2wbyyxADwrLrEwARQrLbBwLLEAPCuwQCstsHEssQA8K7BBKy2wciywABaxADwrsEIrLbBzLLEBPCuwQCstsHQssQE8K7BBKy2wdSywABaxATwrsEIrLbB2LLEAPSsusTABFCstsHcssQA9K7BAKy2weCyxAD0rsEErLbB5LLEAPSuwQistsHossQE9K7BAKy2weyyxAT0rsEErLbB8LLEBPSuwQistsH0ssQA+Ky6xMAEUKy2wfiyxAD4rsEArLbB/LLEAPiuwQSstsIAssQA+K7BCKy2wgSyxAT4rsEArLbCCLLEBPiuwQSstsIMssQE+K7BCKy2whCyxAD8rLrEwARQrLbCFLLEAPyuwQCstsIYssQA/K7BBKy2whyyxAD8rsEIrLbCILLEBPyuwQCstsIkssQE/K7BBKy2wiiyxAT8rsEIrLbCLLLILAANFUFiwBhuyBAIDRVgjIRshWVlCK7AIZbADJFB4sQUBFUVYMFktAEu4AMhSWLEBAY5ZsAG5CAAIAGNwsQAHQrMoAAIAKrEAB0K1GwgPBAIKKrEAB0K1JQYVAgIKKrEACUK7BwAEAAACAAsqsQALQrsAQABAAAIACyq5AAMAAESxJAGIUViwQIhYuQADAGREsSgBiFFYuAgAiFi5AAMAAERZG7EnAYhRWLoIgAABBECIY1RYuQADAABEWVlZWVm1HQgRBAIOKrgB/4WwBI2xAgBEswVkBgBERAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAYABgAGAKoAAACFQAAAsH/6gIVAAAAYgBiACYAJgKrAAACtgGvAAD/PgIVAAACtv/qArYBwP/1/zMCFQAAAAAAAAAJAHIAAwABBAkAAACiAAAAAwABBAkAAQAUAKIAAwABBAkAAgAOALYAAwABBAkAAwBEAMQAAwABBAkABAAkAQgAAwABBAkABQBCASwAAwABBAkABgAkAQgAAwABBAkADQJkAW4AAwABBAkADgA0A9IAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAwADkALQAyADAAMQAwACAARABlAHMAaQBnAG4AIABTAGMAaQBlAG4AYwBlACwAIABJAG4AYwAuAAoAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAxADQALQAyADAAMQA4ACAASwBoAGEAbgAgAEEAYwBhAGQAZQBtAHkASwBhAFQAZQBYAF8ATQBhAGkAbgBSAGUAZwB1AGwAYQByAEYAbwBuAHQARgBvAHIAZwBlACAAMgAuADAAIAA6ACAASwBhAFQAZQBYAF8ATQBhAGkAbgAtAFIAZQBnAHUAbABhAHIASwBhAFQAZQBYAF8ATQBhAGkAbgAtAFIAZQBnAHUAbABhAHIAVgBlAHIAcwBpAG8AbgAgADEALgAxADsAIAB0AHQAZgBhAHUAdABvAGgAaQBuAHQAIAAoAHYAMQAuADgALgAzACkAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAwADkALQAyADAAMQAwACwAIABEAGUAcwBpAGcAbgAgAFMAYwBpAGUAbgBjAGUALAAgAEkAbgBjAC4AIAAoADwAdwB3AHcALgBtAGEAdABoAGoAYQB4AC4AbwByAGcAPgApAAoAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAxADQALQAyADAAMQA4ACAASwBoAGEAbgAgAEEAYwBhAGQAZQBtAHkAIAAoADwAdwB3AHcALgBrAGgAYQBuAGEAYwBhAGQAZQBtAHkALgBvAHIAZwA+ACkALAAKAHcAaQB0AGgAIABSAGUAcwBlAHIAdgBlAGQAIABGAG8AbgB0ACAATgBhAG0AZQAgAEsAYQBUAGUAWABfAE0AYQBpAG4ALgAKAAoAVABoAGkAcwAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABpAHMAIABsAGkAYwBlAG4AcwBlAGQAIAB1AG4AZABlAHIAIAB0AGgAZQAgAFMASQBMACAATwBwAGUAbgAgAEYAbwBuAHQAIABMAGkAYwBlAG4AcwBlACwAIABWAGUAcgBzAGkAbwBuACAAMQAuADEALgAKAFQAaABpAHMAIABsAGkAYwBlAG4AcwBlACAAYQB2AGEAaQBsAGEAYgBsAGUAIAB3AGkAdABoACAAYQAgAEYAQQBRACAAYQB0ADoACgBoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAaAB0AHQAcAA6AC8ALwBzAGMAcgBpAHAAdABzAC4AcwBpAGwALgBvAHIAZwAvAE8ARgBMAAIAAAAAAAD/gwAyAAAAAAAAAAAAAAAAAAAAAAAAAAABHgAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAQIAhQCGAI4ApACDAJMAiADeAJAA8ACRAIkAoAC4AKEA1wCwALEBAwDYAOEBBAEFAQYA2wDcAN0A2QDfAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMBFAEVARYBFwEYALIAswC2ALcAtAC1AIIAwgCrARkBGgEbARwBHQEeAR8BIAEhASIBIwEkASUBJgEnASgBKQEqASsBLAEtAS4BLwEwATEBMgEzATQBNQE2ATcBOAE5AJgBOgE7ATwBPQE+AO8BPwFAAUEBQgFDAUQApQFFAJIBRgFHAUgBSQFKAUsBTACcAU0BTgFPAVAApwFRAVIBUwCUAJUBVAFVAVYBVwFYAVkBWgFbAVwBXQFeAV8BYAFhAWIBYwFkAWUBZgFnAWgBaQFqAWsBbAFtAW4BbwFwAXEBcgFzAXQBdQF2AXcBeAF5AXoBewF8AX0BfgF/AYABgQGCAYMBhAGFAYYBhwGIAYkBigGLAYwBjQGOAY8BkAGRAZIBkwGUB3VuaTAwQTAHdW5pMDIzNwd1bmkwMkM5B3VuaTAyQ0EHdW5pMDJDQgVHYW1tYQd1bmkwMzk0BVRoZXRhBkxhbWJkYQJYaQJQaQVTaWdtYQdVcHNpbG9uA1BoaQNQc2kHdW5pMDNBOQd1bmkyMDAyB3VuaTIwMDMHdW5pMjAwNAd1bmkyMDA1B3VuaTIwMDYHdW5pMjAwOQd1bmkyMDBBBm1pbnV0ZQd1bmkyMEQ3B3VuaTIxMEYISWZyYWt0dXIHdW5pMjExMwt3ZWllcnN0cmFzcwhSZnJha3R1cgVhbGVwaAlhcnJvd2xlZnQHYXJyb3d1cAphcnJvd3JpZ2h0CWFycm93ZG93bglhcnJvd2JvdGgJYXJyb3d1cGRuB3VuaTIxOTYHdW5pMjE5Nwd1bmkyMTk4B3VuaTIxOTkHdW5pMjFBNgd1bmkyMUE5B3VuaTIxQUEHdW5pMjFCQwd1bmkyMUJEB3VuaTIxQzAHdW5pMjFDMQd1bmkyMUNDDGFycm93ZGJsbGVmdAphcnJvd2RibHVwDWFycm93ZGJscmlnaHQMYXJyb3dkYmxkb3duDGFycm93ZGJsYm90aAd1bmkyMUQ1CXVuaXZlcnNhbAtleGlzdGVudGlhbAhlbXB0eXNldAhncmFkaWVudAdlbGVtZW50CHN1Y2h0aGF0B3VuaTIyMTMHdW5pMjIxNQd1bmkyMjE2DGFzdGVyaXNrbWF0aAd1bmkyMjE4B3VuaTIyMTkMcHJvcG9ydGlvbmFsBWFuZ2xlB3VuaTIyMjMHdW5pMjIyNQpsb2dpY2FsYW5kCWxvZ2ljYWxvcgxpbnRlcnNlY3Rpb24FdW5pb24Hc2ltaWxhcgd1bmkyMjQwB3VuaTIyNDMJY29uZ3J1ZW50B3VuaTIyNEQHdW5pMjI1MAtlcXVpdmFsZW5jZQd1bmkyMjZBB3VuaTIyNkIHdW5pMjI3QQd1bmkyMjdCDHByb3BlcnN1YnNldA5wcm9wZXJzdXBlcnNldAxyZWZsZXhzdWJzZXQOcmVmbGV4c3VwZXJzZXQHdW5pMjI4RQd1bmkyMjkxB3VuaTIyOTIHdW5pMjI5Mwd1bmkyMjk0CmNpcmNsZXBsdXMHdW5pMjI5Ng5jaXJjbGVtdWx0aXBseQd1bmkyMjk4B3VuaTIyOTkHdW5pMjJBMgd1bmkyMkEzB3VuaTIyQTQNcGVycGVuZGljdWxhcgd1bmkyMkE4B3VuaTIyQzQHZG90bWF0aAd1bmkyMkM2B3VuaTIyQzgHdW5pMjJFRQd1bmkyMkVGB3VuaTIyRjEHdW5pMjMwOAd1bmkyMzA5B3VuaTIzMEEHdW5pMjMwQgd1bmkyMzIyB3VuaTIzMjMHdW5pMjNCMAd1bmkyM0IxB3VuaTI1QjMHdW5pMjVCOQd1bmkyNUJEB3VuaTI1QzMHdW5pMjVFRgVzcGFkZQd1bmkyNjYxB3VuaTI2NjIEY2x1Ygd1bmkyNjZEB3VuaTI2NkUHdW5pMjY2Rgd1bmkyN0U4B3VuaTI3RTkHdW5pMjdFRQd1bmkyN0VGB3VuaTI3RjUHdW5pMjdGNgd1bmkyN0Y3B3VuaTI3RjgHdW5pMjdGOQd1bmkyN0ZBB3VuaTI3RkMHdW5pMkEzRgd1bmkyQUFGB3VuaTJBQjAHdW5pRTAyMAAAAAABAAH//wAP) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff"),url(data:font/ttf;base64,AAEAAAAOAIAAAwBgT1MvMkawTE8AAGLwAAAAYGNtYXAEI/g1AABjUAAAAMxjdnQgBR8ffQAActwAAABqZnBnbWIu/XwAAGQcAAAODGdhc3AAAAAQAAB51AAAAAhnbHlmeW5GJgAAAOwAAF7waGVhZGPPQuIAAGDcAAAANmhoZWEH3gM9AABizAAAACRobXR4GhcQRwAAYRQAAAG4bG9jYRQX+1UAAF/8AAAA3m1heHABGw62AABf3AAAACBuYW1lYS9/yQAAc0gAAASMcG9zdNm007sAAHfUAAAB/XByZXB7yg6qAAByKAAAALIAAgAyAAAAyAIVAAMABwAAMxEzESczESMylmQyMgIV/esyAbEAAgAu/+8CEAHMAA8AKgAItR8RBwACMisEIiY1NDY3NjMzMhcWFhUUAyYjIgcGBgcUBhUUFxYXFjI3Njc2NTQmNSYmAZz6dE9VGBkUMQlkW6IbOzAYDAkBAQICBQ6eDgUCAgEBCRFwfGhzEAYBDnFxfAEiGBgLISwELxFIGiIOMDAOIhpIES8ELCEAAQBQAAAB7gHNADUABrMaDAEyKxM0NDY0NjI2NzMyNzYzMhcWFRUzMhcWFRUUBiMiJiIGIyImNTU0NzYzMzU0IwYHIgYGIyMmJlABBAEHAhh/SQwHEAQCPDwECgcOFnFWcBcOBwsDPDsBCiUDEBgIJQoDAYIGBwYDBAQBJgYKBMHAAgYTBhEMAgIMEQYVBAKXlgMDAQEECQABADMAAAIFAcwARAAGsyoGATIrEiImNTQ3NjMyFxYXFhUUBgcGBwYHBgYHBzY3MzY3NjYzMhcWFxQGBwYHBiMiJyYmNTQ3Njc2Njc2NTQnJiMiFRYXFhUUlTQhDieIPAxoMCcVGRg2IwMEMhcXoA4LCAcDChMRBAkBHwICBgTLzAMHBAUEcWQvDyFQICosAQIJASgiGhwTOQEMLiQ3HyMREBQOAQIYCwsBAQ4ZEQcCBQgHmwUGAwICAwoRFgQERT0gDyEkPBYJBwICDhMaAAEAMP8tAg0BzQBRAAazHwsBMisTFhUUBiImNTQ3NjYzMhYXFhUUBwYHBxcWFxYVFAcGBiMiJicmNTQ2MzIWFRQHDgIHBhcXFjMyNzY1NCcmJyYjIicmNTY2NzY3Njc2NTQmIyKxMSdEJwQOaEpNaxYMIB47DA9VKBgsIG5BVYELASomJCwdAQUFAQcEDCc1RRMIFw0ZEC8mBAcBCSAiDCkRCCEqLQF5EzAjKCgiEQ81QzEtGR0xKikaBAQVPCIvRDMkKUtCBgskLi0iKhUBAwMBBAIGEzwXN0sfEQsFAgUUEgYCAgUQOBcoLygAAgAg/z4CHgHVADkAPgAItTs6GgACMisXJiY1NTQ3NjMzNSMiJyYnJjU0NgA3NjMzMjYzMhcWFxYVFTMyFxYUBwYjIxUzMhcWFRQGIyImIyIHNxEGBxfZCgQJBTAxhoUEBgMCBAFRBAMDBAQOBhoDBgMCJicECgoEJyYmJwMLBw0SWiRhGUWSSm7CBAgTCQ4GAoQCAwYDFxYIAYwCAwECAwUExcQCBTAFAoQCBRgSDQIB/wECrFUBAAEAOf8tAgUBzgBLAAazRRkBMisBMhUUBwYHBgcGIyInIxUyNzYzMhYXFhUUBiMiJyY1NDYzFhUUBwYHBxcWFhcWMzI3NjU0JyYjIgcGBiMiJyY1NTQ3NjM2FxYzMjc2AcoOAgIYSm0QEyUSAwEHMkI+YxsllXFbPS4nI0ICDB4FAgMJBCYwSBgPDBIvVScICQ8XBQIFAQEFE0dUT04OAc0aDwIFGkoOAgR3BR4wKDdFZXM7MDwhKAg+EQghCQIDAwgDGS8dVWAYJTkLBQsDrFxVAgEDBhscBAAAAgAw/+8CDgKUACoAPQAItTYtHxYCMisBJiMmIyIGBwYHBzc2NjMyFxYVFAYHBiMiJyY1NDc2NzMyFxYVFAYiJjU0ByYnIgYHBhUUFxYWMzI3NjUmJgGVFAQUCyxEERYDAQIXMypgOzpENS5GSDhxQUiJETsfRCQ8JAgVJRgWDSwGBzAjQg4HAQcCUQoEKiAsaA8CHh0/OmZNZBoWJEvejlhmDBAgUB4kJRsn0hMCCQ0sZkIkHyYxGXNKKAABAED/LQIuAdwAOgAGszYYATIrExQXMhYzMhcyFxYVFAcGBwcGBwYHFAcGBiMiJicmNTY3Njc2IyMGBwYHBgcGIyInJic0Njc2NjMyFxaiMwgiBQGVhQINAgJRUTgKBAECBSQXGCQFAQVYGz0iBGuOBQgJBQQFFBEECQEkAgMKEBUFBQHKBwMCAgECHBICBF1eS4IoPTIIFB0dFgcXk4ssRiUBAwQ5GAMFAgUIBOgECAMGAwADADD/7wIOApUAJAA0AEcACrdBNTEnGw0DMisTJiY1NDc2NzY3NjMyNjMyFhUUBwcUFxYWFRQGIyInJiY1NDc2JTQmIwYHBhUUFxYXFzY3NgMyNjU1NCcmJyYmJyciBwYVFBajIjEeDBkrOA4EAhIGXm5QCAg0PIhsKS1HTREbATpDOFwSBR8QPEcQBiZzPUkpCkgQKQoKBxosTAFJF1AtODASFR8HAgFUR1IwBgIDHV41YW0KEVlBKCI02DE0Ai0NCx0VCyAoDAYj/mItLwcmGQgnCRcFBhosPTw9AAACADD/LgIOAc0ALABGAAi1Oy4iGAIyKxcWMzI3NjY3NSIHBgcGIyInJiY1NDc2NzYzMhcyFxYRFAcGIyImNTQ2MhYVFBMmIyIHBgYHBhUUFx4CMzM2NzY3NjU0JyavFyY6JhgUAwEFGicTG148IBwxIS8yMA0HIBmuoTlESlkkPCSLFyomFQ8JAwEBAhoaGxQZCyAKAQQDjAwkGUpPEAcjDQY8IEc3XDcmFRQBBi3+7+1SGz9BHiUlHSUB9RcTDRofCkpLCiYeCwoLIEQKLD8bGwACAC0AAANHAscASABaAAi1WVURAAIyKzMiNTQ3NjYzMjc2NzISEjc2NjMzMhcWExMXMxYVBwYGIyImIyIGIyI1NDc2MzIWMzMyNTQmJzUhBwYUFzIXFhUUBwYHJyYjIgYlLgg0NTUiBwcXMkEUCQQIDxsiEgUBx8kDBw4VCRQJAS0uKysMBAQIERJeJSRiExcJCQcBFwscCw8B/wAlIy8QCAkJBQchFEoaQgHfBQkHBgMEAQEBAVRVZ2gSERIHAgQCBgE1ATkDCAQLA/7D/sMBDAUQFAkCAhETEgkBAQVqBQI5NwQDAgQKFBIFAwEBAvQlQi4nGRMLCAQDAgGCgwEAAwArAAADVQKuADMAQQBSAAq3S0Y7NykNAzIrNzYSEjQiJyYnNDc2NzYzFhYXFhUUBwYHIgYHIyIXMhcWFxYVFAcGBgcGIyMmJzQ3Njc2MwE0JycjBwYUMzY3Njc2AzQnJicjBwYHFDM3NzY2NzaiAUZFWAUHAwQGBwTlxjAZhQ8tewMIAwIGCAMGUCUWESCEWgns5gsEBAYHBDECTjxiYh4fVFQLWyQLNDsFbGohIQFkZQw0QwoDPgYBGAESAgIDCgQQFgMCAQEFGmokHlcfAgECAQ4wHSolI0JPBgEECwQQFgMCAeg4EQF4eAIBAhFZIf7kRRQBAYWFAQIBAg1LOBEAAQA3/+8DVwLAAEoABrNACQEyKwEzMhcWFzc2NzYzMhYVFAIHBgYjJiYnJjc2NTQmJyYjIgcGBwYGBwYVFBcWFxYzMzI3NjY3NjYyFxYVFAcGBgcGIyImJyY1NDc2NgINFCwHXCsuLQMGAwgNQAIDCRUVCAICAQI9OAkamVwqGxEcBAEbDhY3XAksKzhbDwUIKgMHAxePYSw1ZJklIyw43QK+AQ80IiEBAggGBP7/AwUCAQIFBAkSDkRXDAFfKkImcSoHEkQiFQ0lEhdcNw8FAgQIBAlRfhkMRT85VFdbdI8AAAIAKwAAA5ICrgAmADsACLUwLB0NAjIrNzYSEjQiJyYnNDc2NzYzMhcWFhcWFRQHBgYHBgYHIyYnNDc2NzYzATQmJyYnIwMCFDMyNzY3NjY3Njc2ogFGRVgFBwMEBgcE2d4Jan4NAQEQyZQfL7/dCwQEBgcEMQKPS0UIVFBGRzRmFko3LjQTDgsKPgYBGAESAgIDCgQQFgMCAQhpYQkgFQee2BkFAQEECwQQFgMCAZ1ERAsBAf7o/ugCAgojH1RGLjc0AAABACsAAAM5AqgAaAAGs14OATIrNzQSNzQjIicmNTQ2NzY3IRYVFAYHBiMiJyY3NjU0JicmJyMGBhUUMzY3NjY3NjYzMhYXFAIHBiMiJjU0NzY1NCcmJyMGBgcUMzI3Njc2Nz4EMzIXFhUUBgcHBgchJic0NzY3NjMzo4kBLC0DCwgCAwgCUA4XAwYWFwUEAgMsNgdeWQQ2JTMRFxoKBAoTEQoEQgMFFhINAwYYCzIpCysLSVgfUjEoKwMFAgcKChYGAzkcHAIJ/Z8LBAQGBwQxMUIBAiQBAgIFCwUdAwMEBQsF3QUJCAYVGRU4LwgBAQ/YAgEBBwknJhAHBQoE/vYDCAYKBwobEB0HBAErrCsCBAkxKGIFDQMFAQgGAQeFPz8EBAQLBBAWAwIAAQArAAADKQKoAGEABrNSDgEyKzc0Ejc0IyInJjU0Njc2NyEWFRQGBwYjIicmNzY1NTQnJicjBxQHBzM2NzY3NjYzMhcWFRQCBwYGIyInJjc2NTQnJiMnBwYGDwIzMhcWFRQHBgcnJiMiBiMiJzQ3Njc2MzOjiQEsLQMLCAIDCAJADhcDBhYXBQQCAkgXXlIBHx4jLhAsEQQKFBEECUECBAgQFwUEAwcUDDImHwcPBAQBOjoDCwkFBzEedCpoFBEFBAYHBDExQgECJAECAgULBR0DAwQFCwXdBQkIBhUOIhFKDgUBBAN4eAEGDkgRBwIGBwb++wUHAggIEBsSGwcFAXkbQRAPAwIFChMSBQMBAQIPBBAWAwIAAAEAOP/wA1YCwABbAAazKBQBMisBMhUUBwYHBiMjFAYHBiMiJicmBwYjIiYnJjQ3NjY3MzIXFhcXNzY3NjMyFhUUAgcGBiMmJicmNTQ2NTQnJiMiBgcGBwYVFBYzMjc2NzcjIicmNTQ3NjcXFjMyNgMjFwkDBAQjIzQBBQcJRAkDBkOCiqsNAQEY/7YWLglQMwUtLQMGAwgNQAIDCRUVCAICA1MaKWybKCgRBXBhVScLDww+PgUJCQUHMiBvKFsBFBIREgQDAgPMAgUjCQEFOHhxCDwJr9wNAQwyBCEhAQIIBgT+/wMFAgECBQYEBRcEeSYMXlJQbyUWVlIvDzgyAgQKFBIFAwEBAgAAAQArAAAEAwKuAHoABrNLDQEyKzc2EhI0IicmJzQ3Njc2MxYzMjYyFRQGBwYHBiMjBwcUMzM3NzQiJyYnNDc+AjMyFjMyNjMyFRQGBwYHBiMjAwIUMzIXFhUUBgcGBycmIyIGIyInNDc2NzYzMzcTNCMjBwMUMzIXFhUUBgcGBycmIyIGIyInNDc2NzYzogFGRVgFBwMEBgcEEzNxHWIuCAIEAgUxMR0dlJQdHVgFBwMEBAMJCxVqJyZkExcIAgQCBTExRUcsLQQKCAIDCCoaaydkFBEFBAYHBDExAUGUlAFBLC0ECggCAwgqGmsnZBQRBQQGBwQxPgYBGAESAgIDCgQQFgMCAgISBR0DBAECdXYBdXYBAgMKBBAOCAUCAhIFHQMEAQL+6P7oAgIFCwUdAwMEAQECDwQQFgMCBAECAgT+/gICBQsFHQMDBAEBAg8EEBYDAgAAAQAeAAACPQKuADIABrMmDAEyKzc2EhI0IicmNTQ2NzYzFjMyNjMyFRQHBgcGIyMDAhQyFxYVFAcGBycmIgcHJjU0Njc2M5oBRkVeBAoKBgQUM3QeahgUCQUCBDQ0RUdeBQkJBQcsG9oZJQ8KBgUzPgYBGAESAgIGCAogAgICAhAUEgUBAv7o/ugCAgQKFBIFAwEBAQEGCgsdBAIAAQAq/+8CuAKuADkABrMSAgEyKwEyNjMyFxYHBgYjIwcGBwYGBwYjIicmJyY1NDY3NjMyFhUUBgcUFjMyNzY3NhI1NCMjJjU0Njc2MxYCFR9eEwYIBQUFCxwtPD8BEFo8LTYqIE8RASojBg4fIx8WMA0pIxkPAno8PQ4KBgQVNgKsAggHExUH9PoBMkYODAkTOwUSKDMIAiQbHDAKAwceGScHAeUCAQcJCiACAgIAAQArAAAD7QKuAI8ABrMnAgEyKwEyNjMyFxYHDgUiBiMiByIGIwYEBxcWFxYzMzIXFgcOBCMiJiMiBwcmNTQ3PgUyNjMyNyYnBg8CBgcUMzIXFhUUBgcGBycmIyIGIyInNDc2NzYzMzYSEjQiJyYnNDc2NzYzFjMyNjIVFAYHBgcGIyMHBhU+BDcmIyInJjc2NjcXFgN4Gz0KBggFBQEDAQMCBAYHBjEeBBECAf74AVdXAgktCwwIBQUBAwIFBwYSWCRfGiUPAwEDAQMCBAYHBiYGH2IZHTUXGAEsLQQKCAIDCCoaaydkFBEFBAYHBDExAUZFWAUHAwQGBwQTM3EdYi4IAgQCBTExIyRWkkg4GwwGHg8GBAYEBQgnGgKsAggHEwMLAwYBAwEHCAG7AbKwAQMIBxMDDQQGAgIBAQYLBwoDCwMGAQMBA0DJERUlX18BAgIFCwUdAwMEAQECDwQQFgMCBgEYARICAgMKBBAWAwICAhIFHQMEAQKPjgI9aDMpEwgDCgYTEAgDAQEAAQArAAACxwKuADsABrMyDQEyKzc2EhI0IicmJzQ3Njc2MxYzMjYzMhUUBgcGBwYjIwMCFDMyNzY3NjYzMhYXFhUGBgcGByEmJzQ3Njc2M6IBRkVYBQcDBAYHBBMzdx5yGhgIAgEFBD8/RUckRhKMPggJFBAIBQIBXwICCf3gCwQEBgcEMT4GARgBEgICAwoEEBYDAgICEgUdAwMCAv7o/ugCAheuFQcDBwUFBP4DBAQECwQQFgMCAAEAKwAABMMCrgBvAAazFwABMisyIic0NzY2MzY3ExI1NCMiJyYnNDc2NzYzMxYXFhIVNzY2NxI3NjczMhcWFRQGBwYHBiMjAwIUMzIXFhUUBgcGIyImIgYjIic0NzY3NjMzNhI1FAAHBiMiJicmJyYDFAICFRQzMhcWFRQHBgYjIiYiTh4FBAUMHjQSRUUsLQQHAwQGBwR/fgoBA2EYF1MvswMFDnh6Ag0IAgEFBDIxRUcsLQQKCAIDEBVlSl8SEQUEBgcEMTEGhf5hAwwVEQ4CAQUjRURBRBYGBAQEBw0QUDoPBBAUBwIFARQBEgMCAgMKBBAWAwIGAwP9+wQiInlEAQQDBQgBAw4FHQMDAgL+6P7oAgIFCwUdAwcCAg8EEBYDAhYCFAMB/aUDDAcMAh+6AW4C/vP+/AUGBgYEARQRCAIAAAEAKwAABAMCrgBbAAazFgABMisyIic0NzY2MzY3ExI1NCInJic0NzY3NjMzMhcAMhI1NCMnIiciJicmNzY3NjMyFjMyNzYXFhUUBgcGIyMGBxQCBwYrAiInJgInJwIVFDMyFxYVFAYHBgcnJiMiTh4FBAUMHjMTRUVYBQcDBAYHBHxYIA0BAwZeAQ4KIBgMAwYGBgYDCBBRHk4SGwMLCAIHChZCBZgCBQ8KDAwHBKZQUX9EEgQKCAIDCCEUTx0PBBAUBwIFARQBEgMCAgMKBBAWAwIG/jsBfwgCAgIDBQcUFwICAgEBAgULBR0DBwIFAf2jAwgHCAEei4z+BAQGAgULBR0DAwQBAQAAAgA1/+8DLwK/ABQAKQAItSEXCQACMisFIiY1NDc2NzY2MzIWFxYVFAcGBwYTNCYjIgYHBgcGFRQWMzI3Njc2NzYBWImaAQ1UPr93dpMUBxg2kWuzUUgwXyI8ISFOSEY+VCwbDAcRhoATBopvVGRlWyUdQ0erVkMB+ktUKiQ/c3lBTVkrOoFNTCoAAgAsAAADTwKuADsATQAItUE+LA4CMis3NhISNCInJjU0NzY2NzYzFhcWFxYWFRQHBgcGByMHBgYHBxQzMhcWFRQHBgcnJiMiBiMiNTQ3NjY3NjMBJicjBgczNjc2NzY3NjU0JyaiAUZFWAUKBAQEBgPb5BECB0VVLEKFIWZgGwYPBAQsMAUGCQQIKhprJ2QUFQMEBAYDMQH4B1FNKxxNVhgyFxURDRATPgYBGAESAgIECgMOEAkCAgEDAQEKTEJBO1cYBQFvGTsODgIFBAkREgYDAQECEAgJEAkCAgIwAQGocQEFDBwYQzcXGA8TAAMANf8+Ay8CvwAsAEoAWAAKt1FLOS8aCAMyKyUyFhUUBwYHBiMiJyYnNQcGIyImNTQ3Njc2NjMyFhcWFRQHBgcXFhcWMzI3NgM0JiMiBwYHBhUUFxc3NjY3NjMyFxYXFzc2NzY3NgEiBhUUFxYzNjc2NicmAsAICgwKFDtQTg8EAQoqL4ibAQ1UPr93dpMUBxhDzQYQFAwTUgwGGlBKZE1KKRMzBwMHNiQGERYGLhwHB0ooKQwB/uUYMA0IIh8gCQECDBIKCAciHSFbVRctIgIIhoATBopvVGRlWyUdQ0fTUgoYCQMjDwHQT1dLSqdNNVgqBgogLQgBAg03DgUzZWNxCP6pHBUNCAQBCgMECy0AAgAr/+8DcwKuAGIAdwAItW9mOA0CMis3NhISNCInJic0NzY3NjMWFxYXFhUUBwYHBgcGBgcjFxYVFAYVFBYzMjc2Njc2NzYzMhcWBwYHBgYjJjU0NzY1NCcmJicjBxQGBxQzMhcWFRQGBwYHJyYjIgYjIic0NzY3NjMBNCYmKwIHBgYHBxQzNjc2NzY3NqIBRkVYBQcDBAYHBMrPI1wyJQMRUSItAgYCAgY+EhUaDQQRHgcDBgMSFgUHAwsuFiYjvw8PJgwSOkIBPgEsLQQKCAIDCCoaaCZjExEFBAYHBDECPiszLSM+HwcRBARGSwczISISCz4GARgBEgICAwoEEBYDAgEFDDAlMBYMSjEWDgECAQQiPwaCBx4dAgYkFgoEAgYICTIiEAsEaxE7PA0xEQcBAQQC9wECAgULBR0DAwQBAQIPBBAWAwIB7R8gBn4eQBARAgEBBxYXRSoAAQA//+8CygLAAGIABrNZJwEyKwEiJjU0NjU0JiMiBgcGFRQXFhYXFhYVFAcGBgcGIyInJicHBgYHBwYjIiYmJzc3NjIXFgcGFRQWMzI2NzY1NCcmJicmJyYnJjU0NzY3NjczMhcWFxY3MjYzNjMyFRQGBwYjIwJqCwkCTEY2TwsCNwWNCjE/BxV7WA0gVjsNGyAHEgUFAgsHBwEEGx4EMAUEBARlUD1ODAEdChw/RwtMGgoHEzFGaBIqCkYnBAMBQAEGBBU2AgUJDwHKBwsGGAVCRDgwBg80EAIhAhBXOhodVXIOAhwGExoGDQQEAQQCBnByBwYFDxgKQTpDNQUOKBoHCQ4QBBhKGB4ZGEczRQoBCyQFATQCDgTYBAgAAAEAFgAAAwQCowBTAAazJQABMiszIjU0NzY3MzI3NzY2NxMjBgcGBwYHDgQjIicmNTQ2Nzc2NyEgFxYVFAYHBgYiJyY1Jjc2NTQmJyYjIwMGBg8CMxYVFAcOBCMiJiMiBkgaCQUGR0cBCQkjEEUvORotGhseAgUCBwsKFgYCJxMUBQYBQwFEBAogAgENIgQJAQIIFhoXRypFDyQICQGGDgMBAwIFCQcbhjIxfhETEgUDASMki0IBEgEGCx8eVQUPBAUBCAQDBnQ3NwcCAgULAtQJCgUCBAkCDjMcIiEJCP7vPZEiIwMGCwcKAw0EBgICAgAAAQA///ADbQKuAFwABrMTAAEyKwUiJjU0Nz4CNCMiJyYnNDc2NzYzFjMyNjMyFRQGBwYHBiMjBwYHBhUUMzI3Nz4GNTQjIyYmIyInIicmNzY3NjMyFjMyNzYXFhUUBgcGIwYHFAIHBgYHBgFIdpMCATMyLC0EBwMEBgcEEzNxHGQWFwgCAQUEMjE0NwMDf8E4BQQOExISDgkBAgIHAwseIgYGBgYGAwgQUR5OEhsDCwgCBiFCBWgCH5FlCRBhXw8SCs3GAgIDCgQQFgMCAgISBR0DAwIC0d4UEBBgphISNkdKSDonAwIBAQIHCBQXAgICAQECBQsFHQMHAgUE/mcEWXENAQABAD7/8AN2Aq4ASQAGsxcAATIrATIWMzI3NhcWFxQHBgYjIgciBwYABwYHIyInJic0JiYnAyMiJyY1NDY3NjMWMzI3NxYVFAcGIyIVFBYXFzc2NjUmJyInJjc2NzYCihBKGkYOFQUHAwQFCRIyFQUEA/5iAwQOGhoDCAIOHww2KCgDCwgCBxQtZlQmIQ8MBiomJxQUS0yXAS4YBgUFBgQHAq4CAQECAwoEEBMIBwQD/ZwDBAcBBQgBTatCATcCBQsFHQMHAgEBBgsQGAUBA+Fvbm9v3wEBAwgHExQDBQABAD3/7wS5Aq4AdwAGsxICATIrATI2MzIXFgcGBiMGBwYABwYHBiMiJyYnAzQHBgcGBwYjIicmJyYDAzUjIicmNTQ3NjYzFjMyNjMyFRQHBgcGIyMiFRQSFTY3NycnNSMiJyY1NDc2NxcWMzI2MzIVFAcGIyImIyIVFBIVFDY3NyYjIjU0NzY2NxcWBEUbOwsGCAUFBQsYNAsF/oIFAQkHExQFBgM6i4sFAggJEBUDCwECJyckJQQJCQYGECpjGWAXGAkDBAQnGBE0MDppBgYkJAMLCQUHJBZeI2ATFwkJBwEWCyk0hEJDCjkaBAQFCCMWAqwCCAcTFQcCBwX9nAUBBgMCAwQBwQPf3gUCBgMBBAcHATUBNQQCBAoUEgYCAgISERIEAwICDP5lBExcqSwuAgIFChMSBQMBAQIRExIJAQIM/mMBA9RrawURBA4QCAMBAQAAAQAmAAADuQKuAIMABrMxDwEyKwEiBgcHFBcyMxcWFRQHBgcnJiMiBwcmNTQ3NjMyNzY3NycmJycjIicmNTQ3PgUzFjMyNjMyFxQHBgYiByMXFjMUNjc3JiciJyY1NDc2NxcWMzI3NhcWFRQHBiMjIgcGBwYGFRQXFzMyFxYVFAYHBiMiJiMiBiMiNTQ3NjY3NzYmAdcCZTIyLwUIBwwJBAgnGFZSERkPDAYWWxMG8QkFAkA8LS0ECgMBBAIEBgoIMGcaZxgRBAQFCzoCBCYlAVAoKAgnDwgJCQUHJhhVUxEaBQkJCAsLOCYLBgPRTEwsLQQKCAIEDxNgJiVjFBgEBAsfIAFfARJnNDQCAwEDDhESBgMBAQEBBgsQGAUNAvcKDQSNhAIECgYMAw4CBwEBAgIPBBAUBwFTUwFRKSkDAgIEChQSBQMBAQEBAgQKFBIIBgMEAtQBAqWnAgULBR0DBwICEgESEwUBAQHSAAEAKAAAA24CrgBaAAazHQIBMisAMjYzMhcWBwYGIwYHBg8CBgcUMzIXFhUUBwYHBiMiJiIGIyInNDc2NzYzMzY3JicjIicmNTQ3NjYzFjMyNjMyFRQHBgYjIyIUEjM3NjY3NyYjIjU0NzY2MzIC2DZADAcIBQUFCxxCEBWImRoaAS0sBQoEBQYFDhRmTGMTEgQEBgcEMjERJE9ELS0ECAkGBhAtahtqGBUDBQobCCBuARAROCB4Dh0YBAQHDRACrAIIBxMVBwEMFJamaWkBAgIECgMOFwMDAgIPBBAWAwJHjrilAwQJFBIGAgICEAgJFgcC/voRET0jggQQARQRCAABAEMAAAMmAq4ASAAGsy4IATIrATIWFRQCBwYHISAnNSY3Njc3PgM3NjY3NyMGBwYHBgcGBiMiJyY1NDY3Njc2ISAXFhYHDgIVBgEBFzI3NjY3PgUyAqwRDlUCAgn+8/7tAgQFBAEHBxogKxUqyRaERk0HLSZRJQQKEhQFBkMCBAUDAQUBBgEIAQMBAgIC/vf+9z9SHVZbHwEEAQQDBwkBKwcLA/71AwQEBAEFFBADCAgcIy4WLtkXjgEBBhAobw0GBQQJAt8EBgECAQQLDAMIBQEE/uP+4wEECmFbBAwEBwEDAAACACb/+AJfAcQAMwBGAAi1PzUJAAIyKxciJjU0NzY2NzYzMhcWNzc2MzIWFRQGBgcGFRQzMjY3Njc2NjMzMhcWFRQHBgcGIyImJwYTJiMiBwYHBgcGFBYzMjc2NjQ33lVjChFjRS4wQSQEAgYVGRcdHyQEARIVGAoBAQUIEQUVAwcJJEUMByRBD0JwFjoMETIYDxQUIR0vIwoXHwhVUSEkSW8ZECEFAgQPGxYJe4wVBg8dLiQGAxUHAgQIBB1sDQIbFTABZzIFETEiTFQ8IRwHFgZ6AAIALf/4AgECtgArAEAACLU4LRkAAjIrFyImNTQ3Njc3IyImJiIiJiMmNTQ2NzY2NzYzMhcUBwcUNzYzMhYVFAcGBwYTNCMiBwYGBwYHBhUUMzI3Njc2NzbcUV4CAzYxBAEIDQoMCAEMCAIEFkFJDhIDHh8JLS1UYgQRQVUrQy8tDAcQGgIBQCwhFRALDhQIVk0VEhDYxAEBAQMOBR0DBQMDBA8De3wBBBRYTxcUYEVVAVk/KAsRQGwUCBNFIRUpIDdNAAABACj/+AH9AcMALQAGswcAATIrBSImNTQ3NjczMhcWFhcWBwYGIyImNTQ3NiMmIyIGBwYHBhUUMzI3NhcWFRQHBgEDZHdUUoIQJgYoNQcEAgQrIhgfHwgCAykmQhQmEAdegUAPCB0MSQhXWGhaUAoBByUaDg8hLB0WKRYGByMcO2UdG08+DwMWDAcMSAAAAgAm//gCZAK2AD0AUAAItUk/HwACMisXIiY1NDc2NjMyFxcyNzcjIiYmIiImIyY1NDY3NjY3NjMyFwMGFRQzMjY2NzY2MzMyFxYVFAcGBwYjIiYnBhMmIyIHBgcGBwYUFjMyNzY2NDfeVWMKF5hqOB8GARgZBAEIDQoMCAEMCAIEFkFJDhIDkQEREBoKBgUIEQUVAwcJJEUMByRBD0JwFjoMETIYDxQUIR0vIwoXHwhVUSEkYIEYBGNjAQEBAw4FHQMFAwMED/20BA8dIh8aFQcCBAgEHWwNAhsVMAFnMgURMSJMVDwhHAcWBnoAAAIAKv/4Af0BxQAkADMACLUvJxYLAjIrNxQzMjc2FxYVFAcGIyImJyY1NDc2NzYXMhYVFAcGBwYjIxQHBiU0JiMiBwYHBgcUMzY3NqtdfkMPCB0MSaRdcgoBNlCfBBg8TwEMLz2fJgMKAQAqHzEpKBYEAShZJj9+Uz4PAxYMBwxITkwGEVxJaQwCAjMwDAQ3HycDCzTMGRsbHUMOAQEBDxcAAAEAQP83AnACvQBXAAazTh8BMisXFAcXMzY3Njc+AjUjIicmNTQ2NzY3NjMzNzQ3NjY3MzIXFhYVFAYjIiY1NDc2NSInIgcGBwYPAgYHFTMWFRQHBiMjFQYHBgcGBwYHBiMiJjU0NjMyFsgiCAsRDwUSBiEcPDwDCwgCAQUEPz4BEw5QPAsdBiguLyEZHxkHBQYKBRUIBQEBBgYBiw4MBktHARYfDB85IyoJEy9ALyIYH1QlHQEDJBFoH7mcAQIFCwUdAwMCAgIHX0FRBwEHLCAiMhwYIBkHAQECCxsPKiQiJAEDBgsQGAUCAX2xL383IwwCLCgiMh0AAgAA/zYCHAHFADoATwAItUY9IAkCMiszIiY1NDc2Njc2FzIXFjMyNzY3NjMyFhUUDgIHBwYHBiMiJyY1NDYzMhYVBgcXMzI3Njc+AjUiBwYnFBYzMjc3NjY3JyYjIgcGBw4D41VjAxGOaQQVOCYFAgECAgEVGRcdGCIiDAwTMkd1eCEOLiMZHgMTCTwzJBUIAQ0LAQwtXyMdOysICykKBBczJB8hGAIQCAhXTxQTZYgJAgIeBQIBAQ8bFgVkiIYvLjEdKiQPGiIwHhoYGgEkExUDMC0BBRJtHB4vCCmlKQYqFxlJBkAgMwAAAQAt//gCggK2AFUABrMjDAEyKwE0JiMiBwYHBgYHBgYiJjU0ExMjIiYmIiImIyY1NDY3NjY3NjMyFxQCFRQ3NjMyFxYVFAcGBwYHBhUUMzY3Njc2NjMzMhcWFRQHBgYHBiMiJyY1NDc2AbEUGTYrIxQDPgIJJywgR0gEAQgNCgwIAQwIAgQWQUkOEgNECThMJRNjAgsuEAMBDRYUHg8FBxAGFQMHEhNFJQwJJR41DzwBXhoYJR8iBfcGFhobFAwBHQEeAQEBAw4FHQMFAwMEDwb+8wEDCCsEFVkSEDp2KxIFBwsBEx4vEAYCBAgRIic6BgIPGjITJJ0AAAIAGP/4AW8CtgANAEkACLUqDgcAAjIrASImNTQ2NzYzMhYVFAYHMhYVFAcGBhUGFRQzMjY3Njc2NjMzMhcWFAcGBiMiJicmNTQ3NjY3NjU0IyIGBwYHBgYjIyInJjQ3NjYBAhgdJRkKBhkfNGQyRwIBYgUMCRwGHw4FBxAGFQMHCxVSNCo/CgMCAWEBBQwJHAYfDgUHEAYVAwcLFE8CMh8WHCoHAh0YIC9uMCwICgL8ARQKDxAGHDAQBgIEEBozRyUfCQ8ICgL9ARIMDhAGHDAQBgIEEBozRwAAAv/0/zYByAK2AAsAQwAItTYMCAICMisBNDYzMhYVFAYjIiYDIiY1NDYzMhYVFAcGMzI3Njc2Ejc2NTQmIwYHBgcGBiMjIicmNTY3Njc2MzIXFhUVBwYHBgYHBgFBLyAZHy8hFyDpKzkuIhggEgUCCBArFQNhAwMIDTEpEAwHBw8GFAQHAhkqQhoadhUCMTICD2xDEgJoHjAdGR0xHvzmKCUfMxwWHBcGCBY4BwGCEA8NEAwDMxQYEAUCBAoNJ0AaC0sGEA/FyAU2RwsDAAABAC3/+AJCArYAZwAGs1I6ATIrATQ3NCcmIyIHBgcGBxYzFhcWFxYVFAYVFDMzMjc2NzY2MhcWFRQHBgcGIyMiJjU0NjU0JyYjIwcGBwYjIiY1NBMTIyImJiIiJiMmNTQ2NzY2NzYzMhcUAhQ3Njc2NzYzMhYVFAcjIiYBqU0GAwobHR1EGSUGCCkSMBYUCREDCQgjFAQIKgMHDCI7ERAIN04FOhQOARQXCBcmFSFHSAQBCA0KDAgBDAgCBBZBSQ4SA2EDHDNCIiknIyRRAxgfATRCDwYDAg8OPBgeAQcFDhwWIg0zCR0DEU0QBQIECAkfVBgHNi8GIAcqEQhSVw0gGxQMAR0BHgEBAQMOBR0DBQMDBA8G/oAEARIvPBMWMSdkCBwAAQAb//gBKAK2ADEABrMYAAEyKwEyFwMGFRQzMjc2NzY2MzMyFxYVFAcGBwYjIiYnJjU1EyMiJiYiIiYjJjU0Njc2Njc2ARMSA5EBEhMSCwkFCBEFFQMHAxQlISkyRAoCgQQBCA0KDAgBDAgCBBZBSQK2D/20Bg4cIBUmFQcCBAgECUkmICoiBhEPAgQBAQEDDgUdAwUDAwQAAAEAGP/4A+4BxABzAAazGgABMisXIiY1NDY3NzY1NCMiBwYGIicmNTU2NjU2NzYzMhYXFzY3Njc2MzIXFhc3Njc2MzIXFhUUBwYHBhUUMzI2NzY2MzMyFxYVFAcGBiMiJyY1NDc2NzY1NCMiBwYHBgYHBiMiJjU0NjY3NjU0JiMiBwYHBgYHBo8VICUTEgIRJBgECSoDBwECFyseJClDDgQIBSwvFiNuIQUBCSoxISKDFwIHDSYUCRsyDgUIEAYVAwcJFFUzOyQZDyQPCSsvKSYcAjwEFTIVICAiAQIUGTYrIxQDPgIVCBoVCJpJSQgRHV8SBgIECAIDBgNRJRghGwgGBSYMBj0KBQkpEAtVCxYbGjdjNBIONSoSBgIECAQbMksiFyESJV49JBcyHhsuBPQKMBoVCYSIBAoSHBglHyIF9wYwAAEAGP/4Aq8BxABVAAazGgABMisXIiY1NDY3NzY1NCMiBwYGIicmNTU2NjU2NzYzMhYXFzc2NzYzFhcWFRQHBgcGFRQzMjY3NjYzMzIXFhUUBwYGIyInJjU0NzY3NjU0IyIHBg8CBgcGjxUgJRMSAhEkGAQJKgMHAQIXKx4kKUMOBAg0NhYhehUCBw0mFAkbMg4FCBAGFQMHCRRVMzskGQ8kDwkrLykgHQcfHwIVCBoVCJpJSQgRHV8SBgIECAIDBgNRJRghGwgHLQsFBVALFhsaN2M0Eg41KhIGAgQIBBsySyIXIRIlXj0kFzIeFysKfXwGMAACACf/+AJAAcQAFQAoAAi1IhcKAAIyKxciJjU0NzY3NjM3MjMyFhUUBwYGBwYnFDMyNzY3NjU0JicmIyIHBgcG/mN0WEFkGRMICQZgeQkVhFsheFprKhcMAQgMGjJLKxkTEQhaV21VQBMFAVhVHiFUdBIGhlJxPU0GEBkYCxc+JVFDAAAC/+n/PgJRAcQARgBaAAi1Ukk5DgIyKwUiJwYGFDMyFxYVFAYHBiMiJiMiBiMiNTQ3NjsCNz4DNzc2NTQjIgYGBwYGIyMiJyY1NDc2NzYzMhYXNjMyFhUUBwYGEzQmIyIHBgYUBwcWMzI3Njc2NzYBLjUoASUbHAQKCAIDDxBLGhk+CxQJBgsRGDsJEw8LAwQBERAaCgYFBxIFFQMHCSRDDAkjQRBCRlVjBBKdMyEdLSUKFx8eFToPDzIYDxQUCBwBlQICBQsFHQMHAgISERIJ7yVNOi8ODgMPHSIfGhUHAgQIBB1rDgIbFTBWUQ0eapABWx0hHAcWBnp7MgURMiBNUwACACb/PgImAcQAMwBFAAi1PTUeCAIyKxciJjU0NzY3NjMyFzY3NjMyFhUUAhQzMhcWFRQGBwYjIiYjIgcGJyYnNDc2NjMzNzc0BwYTJiMiBwYHBhUUMzI2NzY2NTTcVGIEEkVUcjYwDSgsBwYLjBscBAoIAgMPEE0cShIaBQcDBAULGigSEgkthBovRiEREhQ/Hj0RBD0IWE8XFGdDUCINCgsKBQj90QICBQsFHQMHAgEBAgMKBBAUB0lKAQQUAXQlSCJNTSI/HxQF9AkEAAEAGP/4AfQBxAA8AAazHAABMisXIiY1NDY2NzY1NCMiBwYHBgYjIyInJjU0NzY3NjMyFhc3NjMyFhUUBiMiJjU0NzY3NCcmIyIHBgcHBgcGjhUgIiYDAREGBxoTBQcSBRUDBxEkPQULJEUOCTI9LzwsJhgfGg0WDgwNFhQZHSUmAhcIGhUKiJYQBgwgAw5KFQcCBAgPJloMARsVByk6LCc3HBgjGAwHBAYFCwsmlZYDLwABADn/+AHcAcMAQwAGszcUATIrNxYzMjc2NTQmJicuAiMmJjU0NzYzMhcWFxYVFAYjIiY1NDc3NCcmIyIHBhUUFxYXFhcWFRQHBiMiJyY1NDYzMhYVBpkaOTYfLR0iHQgWCwEqMh4tbygHTBMIKR0VHBUIGQYZTREECg8yQx02HjePeyYLLiQZHgQ4DREWKhEXCQUBBAMLNyYrLkgBDCoQER8rGRUbFQgCBgEuCQoNCgwJDBMjOi8rVToTFiQyHhopAAEAFf/5AYMCgwBFAAazFQABMisXIiY1NTc3NCMiJyY1NDc2MzM3Njc2MzIWFRQHBgYHBxQyFxYVFAcGBwYjIw4CBwYVFBYzNjc2NzY2MzMyFxYVBgcGBwbAOksiIy4vBAoMBjYzEhIFFi4XHhIECQICXAUJCQUCBDMzAiIiAQIIDiYlGBIHBw8GFAQHBSMuORcHMi8PiooBAgQKERgFSUkKKxsWCUcPJAkJAQIEChQSBQECBYyHAwkPEg4DIxojDwUCBAoZLjkRCAABABj/+AKPAcQAWAAGs0YcATIrATIWFRQGBwcGFRQzMjc2NzY2MzMyFxYVFAcGBwYjIiYnJwcGBwYjIicmNTU0NzY3Njc2NTQjBgYHBgYjIyInJjU0NzY2NzYzMhYVFAcGBxUUMzI3NjQSNzYCFxUgJBISAhENDBIPBQgRBRUDBwkkRQwJIT8QAwglLAoZhRoGCAkpCwMBDRowDQUHEAYVAwcKFEgpDAgxSA4yBjUyKwdHAhUBvBoVB5ZIRwgRHQ0UOhUHAgQIBB1sDQIaFAMHHgkCVREeCxMgJWwbFAUGCwI2KRAGAgQIBB4wQQcCMCoQJn48C0QxCAYBGggwAAEAGP/4AhwBxQBBAAazHBIBMis3FDMyNjY3NjU0JyYnJicmNTQ2MzIWFRQHBgYHBiMiNTQ3Njc2NzY1NCMGBgcGBiMjIicmNTQ3NjYzMhYVFAcGBwbuRCZCIw0EAwkhGAcGNCEjKAkVUDkjLrABBzILAwENHS4MBQcQBhUDBwsUVDIzRA8kCQpyR0dTMg0IBgYREg0ODA0iNDcpHShfkyEViRUIK4MbFAUGCwM5JRAGAgQIBx0wSDUlEiZaJSoAAAEAGP/4AxwBxABgAAazHRMBMislFDMyNzY3Njc2NCcmJyYnJjU0NjMyFxYVFAcGBwYjIicGBiMiJyY1NDc2NzY3NicmBwYHBgYjIyInJjU0NzY3NjMyFxYVFAcGBwYVFDMyNyY1NDc2Njc2MzIWFRQHBgcGAf9EIBoSDxcVBAMKIBgHBjMjDQY3CTFpHSVlMxsuJGwwIQIFMwsDAgQGFy4WBQgQBhUDBxIrTgwMPyQXDhkLE00qHwMEAjUCFTIVIBwbAgRyRxoQHyxVDw4GEhENDgsOIDUCFkcdKOQ2DjMbGDEfOQoSKoUbFBAEBgkURhIGAgQIDiRXEQIkFx8QJj8iOCZKNCEBChwK0wgwGhUKcWkQFAAAAQAr//gCVwHEAGIABrNEFwEyKwE0IyIGBwYHBiMiJyY1NDc2NzYzMhc3NjMyFxYVFAYjIiY1NDY3NzQmIyIHBgcGBgcGFRQzMjc2NzY3NjMyFxYVFAcGBiMiJycGIyInJjU0NjMyFhUUBgcHFhYzMjY3NjY3NgEfMyxEEQQFBBQVAwcEGVcrInAiCioxTxwJLiQYHyAWBBgQDAYhDgM0AgQzJyIpEAQFBBQVAwcOGGRAUzAIKztYFgMtJRgfIBYEAhsKFiMIAzQCBAFsJDkpDgQCAgQIAgxRKhIzCio+EhonMxwYGSwGAgMMAg8qB88NEw8kGBwuDgQCAgQIDRoyQysJM00MDSc2HBgZLAYCBgolFwfPDRMAAAEAGP82AksBxABXAAazPh4BMisFIiY1NDc2NzY3NjU0IwYGBwYGIyMiJyY1NDY3Njc2MzIWFRQHBgcUBhUUMzI3Njc0Ejc2MzIWFRQCBwYGBwYjIicmNTQ2MzIWFRQHFjMyNzY2NzY1BgcGARhMWQMHMQsDAQ0dLgwFBxAGFQMHDwcuSwwJMkYPMgUBNiIfFAxKARUyFSBkBBZlQDAsZR4JLSMYHx8MGhYGKkIRCAUFIAc/QhgPKYIbFAUGCwM5JRAGAgQIBigMVAwCMygPKH85AgkCQhcQEAEBJwIwGRQN/m8KOlYTDjQQFCIxHRchHwMCCkswHAECAxAAAAEAIv/4AhsBxABYAAazPQEBMisTNjMyFxYXFjMyNzY3NjYzMzIVFAcGBwYHBgcHMzY2NzY2NzY3NjMyFxYHBgYHBiMiJyYnJicmIyIHBgcGByMiJyY1NDc2NzY3Njc3IwYHBgcGIyInJjc2NvkEDBMMFigsGAoICRUFBggPHxwUIS5kUyYIDBN/FjYsCAEEBBEaBAcEDkswGxsTCRYkJhgECBgbDw4NBA4YBQMLGC4vZFIlCAg0XzgGBBEaBAcEDEkBwwEDBhkaCAgeCgQMCyIaIy1PQCMIAQ0BARAWAgQDBQUPL0wQCQIFFxgEARMKFAoBBgQDBg8kMC5OPyMHCwIBBAMEBw0qOgAAAQArAAADCQKoAD8ABrMvDgEyKzc0Ejc0IyInJjU0Njc2NyEWFRQGBwYjIicmNzY1NCYnJiMjBxQCBxQyFxYVFAYHBiMiJiMiBiMiJzQ3Njc2MzOjiQEsLQMLCAIDCAIgDhcDBhYXBQQCBC48CEM8AYkBdAQKCAIDEhh2KypoFBEFBAYHBDExQgECJAECAgULBR0DAwQFCwXdBQkIBhQuCTYuBAEEAf3cAQICBQsFHQMHAgIPBBAWAwIAAgA4AAADiALHABUAHgAItRoWDgMCMisBMjI2MzIXFhcWEhUUBwUhJjc2ADc2EzQmJjUGBwcXAnUBCAwGHggEAgbGCv5h/mIJBQMCHQMITT8/TFyn5gLGAQgEBhP9bgIHBgEJBwQCowMI/cMBz9EBXnPQAQADADb/7wNMAr4AFwAsAFEACrc6MyUaCgADMisFIiY1NDc2Njc2NzMyFxYXFhUUBgcGBwYBNCYjIgcGBwYHBhUUFjMyNzY2NzYHNDcjBwYGIyInJjU3NjMyFRQGFTM3NzY2MzIXFhUUBgcGBiMiAWaNowELVEB2rBczDMEvDl1FXHc3ARxZU0A7PCw1IRFcUlRIO0UZE6YD0AMECRIQAw0rBBggBGhoAwQJEhADDSkCBQgOIBGFfx4JV585aQwBFpEtMGa6OU0YDAHrVF4eHTtFhUU1U1swKXhjTKACDwsQBwEEC7AKEQMNAQEKEAcBBAsGpgQHAwABACwAAAMIAscASgAGsxcAATIrISImIyIHBicmJzQ3NjYzNjc2NzYANzY2MzIWFhcWEhUUMhcWFRQGBwYjIiYjIgcHJjU0NzYzMzI1AzQGBgcGFRYzFhcyFxYHBgcGARIQShlDDRQFBwMEBQsZIxIFBAMBfgIJCxYPCwoCAUdIBAoIAgQPE1wkYholDwwGKxgQLxo8KoABAQUqGQYFBQYEBwIBAQIDCgQQFAcCBAEEAwJuAQkDAQcIA/2NAgECBQsFHQMHAgEBBgsQGAUCAaMBKmFE0AEBAwIIBxMUAwUAAAMAPgAAA2MCowAsAFYAgAAKt3dYPy0eEwMyKwE0NjU1IyYjBgciBwYHDgMiBiIjIicmNTQ2NzY3ISAXFhUUBgcGBiMiJyYFMhUUBxQzMzc2NzYyFhcHBgcGIicmJjc0IyMHFAYHBiMiJyYnNDY3NjYHNjMyFxYHBhUUFRcWFzI3NjM2NzY3NjMyFxYVFAYHBgchICcmNTQ3NjYDAwgFE/rgDgMECQoBAwEEAwcJBxQFBjUCBQYBMgEyBAoiAQQKEBEECf4mHwOgoQMEBwMmBgYUFQMGKgUEAQSgoQEJBAMTEgMIAigCBAiuBBEXBQQCCQEE6/oYBAcLEgUHBBIRBAk3AwMI/sn+yQQLEw8GAeEIMQMIAwEDBw8gAg0CCAMFBAkDrwQHAgIFCwKtBAgEAgUZEQcKAQsSBAIEDFRTBAYGBBMFAQQHFAICAgUIBaAEBwLmAggHDS8OAQIBAwEDAQRDEAQCAgUKBboEBQMCBQsJWE4WAAEAKwAABAICqABbAAazJw4BMis3NBI3NCMiJyY1NDY3NjchFhcUBwYHBiMjBxQCBxQzMhcWFRQGBwYHJyYjIgYjIic0NzY3NjMzNzQSNzQjIwcUAgcUMzIXFhUUBgcGBycmIyIGIyInNDc2NzYzM6OJASwtAwsIAgMIAxgLBAQGBwQxMQGJASwtBAoIAgMIKhprJ2QUEQUEBgcEMTEBiQGUlAGJASwtBAoIAgMIKhprJ2QUEQUEBgcEMTFCAQIkAQICBQsFHQMDBAQLBBAWAwIEAf3cAQICBQsFHQMDBAEBAg8EEBYDAgQBAiQBAgQB/dwBAgIFCwUdAwMEAQECDwQQFgMCAAABAEUAAAOGAq4ARAAGszomATIrATQ2NTQnJiYnJiMjFxYXFAcGBwcXMjc2NzY3NjYzMhcWBwYGBwYHISAnJjU0NzI2Njc3LgI0Njc2NyEWFxQGBwYjIiYDMQEMDkJKEGxiU1ECBgelqHGlL0kuLRoHCRIRBAwCAVsCAwj+wP6/BAsGAS1fJ7EDaGQHAgUGAoMNARkBBRgTCwHBBhsFLRsiGwMBiYgGCgUHd3sBBwssK0MQBgIGDATwAwMEAgULCAYhRh2BBaqlCiECBQMFCgTfAwsHAAEAIAAAAyICvwBaAAazMwEBMisTNjMyFxYXFhUVNzY3NjMyFxYVFAcGBiMvAjU2JyYjIgcGBwYHDgIVFDMyFxYVFAcGBycmIgcHJjU0NzY2NzYzMz4CNzY1JicmIyIGBwYHBiMnJjU0NzY20gYNFxFaGwsHIi9XaVAhDAsFChMVBAMBAgc/HhNONhgKAiMjOT4FBgkECDEe9hwqDgMEBAYDPz4BJCUBCQEGFUouLgYECgQWFQcEEmMCvgEEFGonKw0NQjNfQBgfIgsGAgEDBAoKBBIFF24zKQaQiAECBQQJERIGAwEBAQEGCwYKEAkCAgaOlAItLx8YSgsWCwQCAQQIBgw2TwADAB0AAALhAq4AXgBvAIAACrd2cWtgUCEDMis3NjU0IicmJicmNTQ3Njc2MzIzNzY2NTQjIicmJzQ3Njc2MxYzMjYzMhUUBgcGBwYjIwYHFBceAhcWFRQHBgcGDwIGFQczMhcWFRQGBwYHJyYjIgYjIic0NzY3NjMTJiMiBwYHBhUUFhcWMzcyNjMnIwcOAjM2NzY2NzY1NCbxGQgOVG0QBidOtRIEAgICARk6OQUHAwQGBwQVN38hcRoYCAIEAgU+PxAJEjVYRgcBDhU2VogODQ0BOjoECggCAwgvHncschYSBQQGBwQ/owECDRhIGhchHx4CAwE9pQ8GHwsOBQEGBUBEDAIoPmAJAQIJOisQFC8tWBQCAQFlAgECAwoEEBYDAgICEgUdAwQBAkYiAQIGHDkmBQsaHiwjOQsBMjQBAwIFCwUdAwMEAQECDwQQFgMCAZQBBxM1Li4eHwoGAfQDfCs6FwEBCEM/CBYiIQABABYAAAMWAq4AdgAGs1oiATIrEzQjIiY1NDc2MzIXFhUUBwYVFBYXNzc0IyInJjU0NzY2NzYzFjMyNjMyFxYVFAcGByMHBzc2NzY3Njc2NzYzMhcWFRQHBgYHBgcGBg8CBhUUMzIXFhUUBwYHJyYiBwcmNTQ3NjY3NjMzPgI1IyYjJicmNTQ2OxMICg8DOzwFKQcMJScxMjo5BQoEBAQGAxU4gCBwGQ4FBgkFBn4xMRtFJAwQCQwYJQg8OwUJBgQaDBYTHJ1wDQwOOT4FBgkECC8e7hwpDgMEBAYDPz4CDgoDAwIjCpQNAcYjCwccAwICCTodGjYdLTMNx8gBAgQKAw4QCQICAgIFBAkREgcCxscKHk4ZNyAXMAoCAgQNCg4HAgsWQl5zCwE0MQQBBQQJERIGAwEBAQEGCwYKEAkCAgs1KQEBBgMjihJHAAEAXQAAA3YCvwBkAAazMhABMis3FjM3NCcmJyYnJjU1NDc2NjMyFxYVFAcGBwYHBgcGFDMyNzY2NzYzMhcWFRQGBwcGBwYjIiYnJjU0NzY3PgI3NjU0JiMiBhUUFhUUBwYHBiMiJicmNTQ2NjU3NjYzMhYXFRQXohU0JgsKGiYIByk1voCXU0MaDxgcRDoYGB85DwgoBQQRFwYDKhYVBAIFZFAZBQUEFkcoHikDAVBCf4EJDAQHBWRQGQUFAQIEBQkREAkFAXcEAQceGjVOIxcXD0ZATlU+M1c1MSAgJUQ8Gh0CBQNUAwIJBgEFXi0tBAECAQQFBwISS3xGOG4uBgs7OqqOGJwZOjUSBAIBBAUPAxssE1EJBAQJJx0GAAACACf/+ALIAcQANQBHAAi1QDcHAAIyKxciJjU0NzY2MzIWFxYVFTY3Njc2NjIXFhUUBwYHBxcWFzM2NzYzMzIVFAcGBiMiJyYnJwcGBhMmIyIHBgYHBhUUMzI3NicnJvtfdSMqkWVQbRgLCRUJCwQIKgMHCx04CwIFDAYcBQITDBwBCDoqEwY/HgQMNmJfFiQ/LhcVDhFaX2QLAQwKCFhWQEFIVUY9HxUECTMVIxAFAgQIByFWSg8USyMDDwwNBgMaIAEONwYIIyIBgxYuHDM4QxtTRwgEl0cAAAMAHP8+An0CvQAnAFQAYwAKt15WPjEZAAMyKwEyFhUUBwYHFhcWFRQGBwYjIicmJw4CBwYjIyInJic0Ejc2Njc2MwMyFzI3NjY1NCYjIgcGBgcGAgcGFRQWMzI3NjY3Njc0JyIHBiMiJiY1NDY3NgcWMzI3NyInIiYjIgYjIgHNUV8FEDwKDR2ZdBIWPjMLGQwgEQEHCgwUAwYCnwUZakEkGjUnMQQKCxUjHgwGRGYZA0ICAkI3SywTFw0PAQkCBio8ICgjFxEeAgsjEgYVAggBEgYFFAIRAr1FRxgQTDQGFCw9cY4NAh8IGTB9RAIHAgMHBAJ7EEl1GA7+/wsZGlIaHB8BCGpGCP75CgkRNT4qEzMyOiAeGAMOBBYVExwGCzgEAQUCAQEAAQAF/y0CaQHDAEIABrMsCgEyKxMjIiYmNTQ3NjY3OgIzMhcWFxYXFhUXNzY2NzYzMzIWFRQHBg8CBgcGBwYjIiY1NDc2Nzc1NCcmJyYjIgcGBwYjJAwHBwUEE3dEAQoLBBUKSi8fEAQCBBdRBwUSBw4MCVU9CgEFGxAPDRQOEA4XGAcWBQ0pZlkmCwcDEQEAAQYGCAs+XQgCEE8yQhACBAo0nwQDBQkFEJWWGg5IaUAVExcRFDlZRRQOUzwSEDQgCxIKAAIAJ//4AgEC1QAyAEUACLU+NREAAjIrFyImNTQ2NzY3JicmNTQ3Njc2MzIWFxYVFAYiJyYmJyYjIgcGFxYXFhYXFhYVFAcGBgcGJxQWMzI3NjY1NCcmIyIGBwYHBvledEIwNUIGBiwvEiEMAQOYBRopLB4EIgMVFhwOAwcNNwgnBionGRE9JSiNNC4ZFBMdLwECBCgSIBMcCFtVP3gjKBALDFg5NyQOCAIhAgkeGiYZAx8EDRgGDxs3CCYGJUs7RkcyUhYaiiotGBhhL0lRAxQSIDdjAAACACT/7wHhAc0ARQBQAAi1SUYWBgIyKyUyFhUUBwYjIicmNTQ3NycmNTQ3Njc2MzIXFhcUBiMiJyYmIyIHBhUUFzIyNzYzMhYVFAcGBwYjIicGFRQXFhYzMjY2NzYnIhUUMzI3NjcnJgGhCA4NPI6jGAEwCQUJAgohToNFNRkBIhMOEBcfH4MiBwUBAwUvPSktCQ4tByM1MSUECkQ9LC80DAiZLCkUBAsBAwR8DQsKFFdwBQxCMAoKEhkRCSYjSSQQExYiCw8KMgoREgUCExIdEA0XCQESHygLBxcOAxIRDHQFAwECAgIBAAACADD/NgIJAscASQBWAAi1U0s9FgIyKwUyNjUmJyYmJyYnJjU0NzY3Njc1Njc2MzIWFxYGBxUzNjc2MzIVFAcGByImJwcGBgcGFRQXFhYXFhUUBwYGIyImJyY1NDY3MhcWEyYiByIHBiMjFDMyNwFGEg0BDAgYOkgHfwEXhzI8AwkKFgoQAQEIBQMBCwwaXA8XRCAeEQoxVRQSTQaPCEQBC0AvIFcIBBMKBxQZqw8eDAIDAgIBGBcQlwwQDgwICRIVBDGRHwmnhzIlGjkWFAwKBiIfBgECAy4VERgDDBEIJng9MzFcIAMsAh5GEwcuQhYLBQcKEAEHCwLIAwIBAQUEAAABABj/LQJYAcQARwAGszMdATIrFyImNTQ2Njc2NTQjIgYHBgcGBiMjIicmNTQ3Njc2MzIWFxc2NzY3NjMyFxYVFAcOAgcGIyImNTQSNzY1NCYjIgcGBwYGBwaOFSAiJgMCExUYCgEBBQcSBRUDBwkkQwwJKUQOBAgFLC8WIyUTYwMGOTQEFDEXHXUBAhQZNisjFAM+AhUIGhUKiJYQDAkdLiQGAxUHAgQIBB1rDgIhGwgGBSYMBgQVWRcQFejNCCscFgkB0AgKEhwYJR8iBfcGMAADACj/+AIqAr4AGAAmADYACrcyKSQbCwADMisXIiY1NDc2NzY3MjYzMhcWFRQHBgYHBgcGEzQmIyIGBwYHBgYVMzYBFBYzMjc2Njc2NTQjIwcG1VJbKydDT1wDDgQ9LkICC0s3SV8Qzh0bIjoTFBEEEcEg/vAbHSAfHiwYB2BhAR0Ic11ofGtJUgsBJjd7FRRmuz5UEAICOicyOyYoPQw9An7+lCo3Hx1fWRoCAQd2AAEAJv/4AYIBxAAnAAazCgABMisXIiY1NDc2NzY3NjMyFhUUBwYHBhUUMzI2NzY3NjMyFxYVFAcGBgcGoTNIEiMgCQgYJxcfBicpDgk2WA4EBQQUFQMHDBVLLicIMC0NMF9/JA0jGhYKGZlpHxcOOyoMBAICBAgMGCc5DQsAAAEALf/4AoIBxABaAAazCQABMisXIiY1NDY3NzY2MzIWFRQHBhUUNjY3Njc2NzYzMhYVFAYjIiY1NCMiBwYHDgIHMzIWMxYVFAYVFDMyNzY3NjYyFxYVFAcGBwYjIyImNTQ2NTQnJicnBxQGBwZiFSAtFhYIJRkWIA4OCxEHFSxDJywnGh0vJBgcAQIdFioMGxEEAgIHA8YJEw8LHBMECCoDBwwjORERCThMBjEdRgkBKQEVCBoVCbZXVxQcGRYNODQDAQcKBQ0iNRQWHBkfMB0XCBMOIQkUDQQBCWgNMgkfChNFEAUCBAgJH1MZBzcwByMEIxIKBAEEAaQBMAAAAQAp//MCjAK2ADMABrMgAwEyKxM0NjYzMhcWABcWFxYVFAcGIyMnJicuAicOBAcGIyImNTQ3NiQzNicmJyYnIiYjJqEMEBd7FwQBCwQLAwUHAzUzDBoFBRg1GjNlLSoSBw0PFiAUBAEjAQI+OAYUHgMIAQwCmgkPBCIF/aMHFgMIBAgEAgMICwo2ezo0aC8rDwQHHhkYFgTmAomBDCcCAgYAAQAi/y0CqgHEAEYABrMTCgEyKyUGIyInJyIGBgcGIyImNTQSNzY2MzIWFRQHBgcGFRQzMjc2NzYSNzYzMhYVFAIVFDMyNjc2NzY2MzMyFxYVFAcGBwYjIiYnAa0/SCwlDAERFgYUMRcdhQcIJRkWIB0dAQRGLCoVBgJHARcvFSBLExUYCgEBBQcSBRUDBwkkRQwIJEINLjYJA0hXDSsbFgwCFhQUHBoWCXV2BxQTRyUTCwIBGgMvGhUP/uIYHS4kBgMVBwIECAQdbA0CHBUAAAEAJv/+AmABxAAwAAazLBMBMis3NDY2NyYjIicmNzY3PgIyNjc2MzIVFAcHNzY3Njc2NzYzMhYVFAcGBwYHBiMiJyYmKi4BAyQVBQYGBAQDCREQIA1IDxQsLg9bSVshBAcXKhYeAxxUlvcFDRgHCQ8DrbgEAwgHFBEEAwMCAQEEDwW0tQYlR1hzEQwjHBYJDGdUli0BBAYAAwAX/zcB6gLHAG4AdgCDAAq3fndzb2QlAzIrBTI1NCcmJicmJyY0NzY3NycmNTQ3Njc1NDY1Pgg3NjMyFhcWBwYHBjM2MzIVFAYHBiMiJicHBgYVFDM2MzIWFhUUIyInJiYjIwYHBgcGFRQXFhcWFhcWFRQHBgYHBiMiJyY0NjMyFxYTIgcWFzI1NAMiIwciBwcWMzI2NTQBSRQJA8wSRhEFBRZQDgglFC54AgECAQMBBAQFBgQIAwoQAQEEBwEBAgwoXCEXFyEgFxEIGSQHGzYeJR53NS4CBAEBChAcDwMQDhgC4AIwAQgzJAkWSToJEgsHEyhsGAsHDi9mBQgHBgYKDxUIIJcQCQUCRQkiPA8oEVk/CwknNigoWykRBRYCAw8FCwUIBAUEAQIMCgYRKAcEAy4WIAYECREJG1MoJwoFFRRAEAEBBRIcKQsMFRAOCgFOARU5CgUmOQkCGwQYEAcOAs4EBAEGA/7xAQECBQUBAwAAAgAn//gCQAHEABUAKAAItSIXCgACMisXIiY1NDc2NzYzNzIzMhYVFAcGBgcGJxQzMjc2NzY1NCYnJiMiBwYHBv5jdFhBZBkTCAkGYHkJFYRbIXhaayoXDAEIDBoySysZExEIWldtVUATBQFYVR4hVHQSBoZScT1NBhAZGAsXPiVRQwAAAQAX//gCogG8AEYABrMxAAEyKwUiJiY1NDc2NzQjIwcUBgYHDgIHBgYjIiY1NDc2NzY3NjUiBwYPAiInJjU0NzY3NjMyFhcWFRQGBwYHIwcGFRQXFhUUBgHJHCILDA0EMDEBBw4GCxcKAgcoFxYhBAIOSRkPSQszGwsWFgMHClNTAdqtNQgWGxYESEYCATELNAgwPSY4PEYGAgQBHDgYKlgpBhUeHBULCQcZh0EkBAEEGwsBAQUIBQ5wCQEBBA0aFiQHAQEMCSFqSxEQHisAAAIAIv8tAlsBwwAeADMACLUsIRYBAjIrATYzMhcWFhUUBgcGIyInJiIHDgIHBiMiJjU0Ejc2BTQmIyIHBgcGBhUUFxYzMjc2NzY1AQJETSgJRVJWQEJQOiQGAQECFBgEFDAXHmEGJgErJRxFKRIRAycOGi5KIxQTEgGYKwEKVEdTiSQlGQQBAlZcCCsbFggBhhJoDxofOxw4CZ0CBg4aQyNTRiIAAQAh/5cByQHDADoABrMuEAEyKwU2NTQnJicmJyYmNTQ2NzY3MzIXFhUUBiMiJyYnJiMiBgcGFRQXFhcWFhcWFRQGIyImJyY0NjMyFxYzARoLCgRhQQIjL0AuSl8STx4SFg8GExQVBxE8bRIICQwSA7AFKk00EzAJBxAMBgsOFzUIDgwJBS8gAhRHKjZkHDMJFgsQDhkMDwgCOCoSExISEwsDVwIcMzFUDAcEFhADBgACACP/+AKlAbwAIAAvAAi1KiMLAAIyKxciJjU0NzY2NzIyNjIyMzIWFxYVFAcGIyIVFhcWFRQHBhM0JiMiBgcGFRQzMjc2NuJWaQgYiWYBEyApNBmCKQgWJg4+NQQDAVBSKCoxNTgQG1FUJwodCFFOHB1gggkBAQQNGioSBwIGGQYWdlBSAR4jEykwTTJJUBVuAAEAF//zAmIBvAAsAAazFAEBMisTNjMyFxYWFRQHBgYjIxUOAgcGBiMiJjU0NzYSNzQjIyIGDwIiJyY1NDc2xwG6uQYOEyYLHFFjARUWAwYpGhcdAQFcBDMWMTAVCxYWAwcKUwG7AQICFxArEgUCAgGLkQYWHxsVCQQFAQ0JAgsVCwEBBQgFDnAAAAEAGP/4AlwBxQBMAAazDgIBMisBNDYzMhcWFRQHBgcGBwYjIiYnNCY1NDc2NzY3NjU0IwYHBgcGBiMjIicmNTQ3NjY3NjMyFxYVFAcGBwYVFDMzMjc2NzY1NCcmJyYnJgG8MiMTFCQKEBU3WCcvXGkNAQIFMgsDAQ0WFB4PBQcQBhUDBxITRSUMCSQgNA8qCAJfCCwuQxcCDQkXGAcGAW8eOA0YOhkvSCpyLRU1QQIPBBAQJ4IbFAUGCwETHi8QBgIECBEiJzoGAg8aMg8obCkQEk8uQ2AKBA0MCg0NDgsAAgA1/ygCvwHEADsATAAItUc+NiMCMisXNyYnJiYnJjU0NzY3Njc2MzIXFgcGBwYVFBcWFxc3Njc2NzYzFhYVBgcGBgcGByMVBgcGFQYGIyImNTQBNCYjIgYHBgcGFRQzMjY3Nrg2BQRDXwwCBx43DgQCFRgEBwsqGxkJHW0NDB0aV3MCE0RFAQcUmmMaJxkBCQwFKh0XHAHGNSsmSxclDAgNXo4bDZufAgEQTjoJFh0bdEAQAQEGCwkqSkEfFBAvDgIgUjKnDQEEV0sdGlKDEwYBAwFGSgEaIRoWCAGkJisuHy47MAcBNzYaAAABACD/NwKtAcQAUwAGs0gcATIrFyI1NDc2NScmJicmJyYnJiMiBgcGBgcjJjU0NzYzMhcWFxYVFDMUNjY3Njc2MxYWFRQHBgcHFhcWFxYzMjc2NzYzMhYHBgYHBiMiJyYnJwcGBwYGOhoO+gICBgIYIiMVEgsNFwUGBhMYCg8mTXkrHRoUAR82HnUDBw4KDgQEgIEfJS8bBwYdDQUEAxUZCAQJMB8KH4EoJB0FUVYeHw3CHgsO9AEICRoHXzk2FRIVDw8DAQILDhc4MiRQPAsCAR40HnEBBgEQCggHCHt+hz9LEwQmDAMCDAsdKwgCOjdsE09WGx8KAAEAGP82AtwCtgBiAAazVCgBMis3NDY1NCMiBgcGBiMjIicmNTQ3NjYzMhcWFRQHBgcGFRQXFjM3NhI3NjMzMhcXFAIHFDM2NzY3NjU0JyYnJicmNTQ3NjMyFxYVFAcGBgcGIyMHBgcGIyInJjU0NjY3NCMiJyZ3RwkbMg4FCBAGFQMHCRRVMz8iFw4tBAJCGgYCAZ4CBQgPGAUDngEJKSdNMCEMCRcYBwYpFRcTEiYaFFo8SD8IFxgBBRgUAwcVFwEDHDCFkiW8EQ01KhIGAgQIBBsySyQXHxAmdBwQB0EWBwEBAnkECAUGBf2IAQIFEyZOLiUODAoNDQ4MDSodDwwYO0BFOmchJ11fAQUCBAgBVlkEAgsjAAABABj/+AKzAcUASAAGsyQTATIrJRQHFBcWMzI2NzY1NCcmJyY1NDYyFhUUBgcGBgcGIyInJwYHBiMiJicmNTU0NzY3Njc2MzIVFAcGBwYVFBYzMjc3NTY3NjYyFgGfJRQeIixKEA4BBiodM0YmHQ0cUzAYHFApBhMSNTg2RQwGDRg5EAoICSEPPRMINiwrKQgDCgonKh76HkwDCg43JRwSBwMcGxEeITU3KSd0H0FZEAg4CBMLIz0xGCUPHy5bThIFBCARD1A5GBQqLxgEHDYaFxsfAAIAGP/4ApICvQBmAHkACLV1ayMBAjIrATYzMhYVFAcGBhUVFhcWFgcOBSIjIicmBzAHBgYHBgYjIiYnJjU0NzQ2Njc2NTQjIgYHBgcGBiMjIicmNTQ3Njc2MzIWFxYVFQcGBwYVFBcWFzI3NjY3NjUmJyYnJjU0NzY2FzQmJyYHBgcGFRQXFhcWMzI3NgGbHhdXUwwBAQUHEAoFAQIBAgEDAwIBEg0BAhRQLilKMUtZDAMCFxgBAhMVGAoBAQUHEgUVAwcDFCUgKjFFCgIXGQECDw8hJR8bJxUYCAtFKzYMDDmQFBEJFCogFwEJSCoLAg4MArMKcWEuOwQHAwIBAQMKFAIHAwQCAgICAwhJiigiHygxCxgZDARfYQIMCR0uJAYDFQcCBAgECUkmICoiBhAPXmQHCxQjDQ8BHxxQSFwBAwQXIyxIHyEfNm8fLQYEAgUqHysLBTkkFD9AAAMAM/82ArUCtgA5AEgAVwAKt1VKPDofAQMyKwE2MzIXFhUHBgYHBzMWFxYVFAcGBwYHIwcOBAcGIyInJjU0NzcjJicmNTU0NzY2PwI+BAMDFDM2Njc2NzY1NCcmJyM0IyIHBgcGFRQXFhYzMwHOAxUUBAcDBA8GHQlfPUQBC1RfmAQYAwkEBgQDBBQVAwcWFwm/HgIFGbp+BB4ECwYGBQpaBy5QGCgQAxkeOk4DAhphKi4ZDzkdAQK0AgIECA8POxtxByswVw8FYEZPCF0NJRMUCgECAgQIAlpZD4cJGA4PFGR4BgF0EisZGA3+3f6fAgQoHjBYDxkqGR4GAQQUQ0dYKhkPFwACABf/+APBAbwANABXAAi1QTcsCQIyKwEWFRUUBwYGBwYjIicmJzQHBgcGBwYjIicmNTQ3NyMiBg8CIicmNTQ3Njc2ISAXFhUUBiMFFBYzMjc2NzY1NCc1IQcGBwYVFBYzMjc2Njc2NjMyFxYHBgNmAgcUaUAdHUQmEQsGAQFGWRcaLSAsRAUVLS8TCxYWAwcKU1MBAWoBaAYhKiH+sCwtLDEgFhkD/fkCMxMDKSEjJC9KDgMLFREFCAUEAU0KHBAXF1GBFQo1GTECBwECWxUGGSdLX2IIDRMLAQEFCAUOcAkBAggiHSZzND8hFiUtNxcMAwJGQgwOICIRFVYzDAUDBRYSAAIAS/8+AlsBwwA7AFAACLVHPi4SAjIrNxQGFRQXFhcWMxYXFhYVFAcGBiMiJyY1NDYmJiIGIiMiBwYjIiYnJjU0NzY3NjczMhcWFhUUBwYjIicmNxQWMzI3NjY3NjU0IyIHBgcOA5gIEA8mDERmHRYUBwQIFRQEBwEDAgUECAMaHR8oQ1MOBhgXD0C5ESgJRlFXVX9aMgtTKCM6JhMnCAFBRSkSEQINBgc1BTYKGggIBAIBCAYYGA0gEQUCBAwDAwIBAQQDGSQOIjptbSyuFwELVUh2V1UyCz8jJjMYhTQHFUU7HDgIMRwpAAEALP/5AcIBvAA4AAazHhABMis3FDMyNjM2NzYXFhYHBgYHBiMiJicmNTU0NzY2NzI2MzIXFhUGBwcGBwYHBhUUMzIXFhUUBwYiFQaudgMKAiE2EwgFDAQDKxImM116EQUyJnpJASgPMwgIBBYwMwpPHAlcXgITGgXACYxhAQYfDAUEKAUFFQYORkQUEA5SQjE8BQEGCA4YCQEBAg1IFAYBAQcSGwgBAhkAAQAY//gBbwHEADsAABMyFhUUBwYGFQYVFDMyNjc2NzY2MzMyFxYUBwYGIyImJyY1NDc2Njc2NTQjIgYHBgcGBiMjIicmNDc2NrsyRwIBYgUMCRwGHw4FBxAGFQMHCxVSNCo/CgMCAWEBBQwJHAYfDgUHEAYVAwcLFE8BxDAsCAoC/AEUCg8QBhwwEAYCBBAaM0clHwkPCAoC/QESDA4QBhwwEAYCBBAaM0cAAAH/9P83AaQBwwA0AAABNCYjBgcGBwYGIyMiJyY1Njc2NzMyFxYVFQcGBwYGIyInJjU0NjMyFhUUBzMyNzY3NhI3NgEpCA0nJRgSBwcPBhQEBwUjNlEMdhUCMjEEE3pNTxkHLiIYHxcEDQorFwJiAQMBdRAMAyMaIw8FAgQKGS5DD0sGEA/Jxgk4TC4NER8zHRcbHQUTQwYBhgkPAAEAAABuAJAAAwAAAAAAAgAAABgAjQAAABwODAAAAAAAAAASABIAEgASAFcAowEKAYAB3AJJAqcDAQNwA9kEWQTaBUsFrQZCBs4HUwf+CEwIowlpCcUKZwrsCzELqAwwDN4NbQ3mDmgO1w+BEDcQtxEpEZMR9RI8ErMTBBOAE/UUchTfFUYV2BYlFscXQReDGAQYaxjEGSUZihoJGmka9BuAG/4cgxyDHOAdGh2VHgUevx9CH6wgLyDmIYwiGyKIIxwjfiPpJF4k3yVIJaAl3yZeJq8nFydjKB0oXyjHKRkpcSm6Kf8qbyrlK2Er7SxXLQUtiC4KLn8u1C8qL3gAAAABAAAAAQAACWdRJV8PPPUADwPoAAAAAAAAAAAAAAAAAAAAAP/p/ygEwwLVAAAACAACAAAAAAAAAPoAMgAAAAABTQAAAPoAAAI/AC4CPwBQAj8AMwI/ADACPwAgAj8AOQI/ADACPwBAAj8AMAI/ADADZQAtA2IAKwMxADcDqgArAyoAKwKxACsDdwA4A9YAKwH/AB4CdwAqA8sAKwL0ACsEdgArA7YAKwNFADUC0wAsA2UANQNoACsCtQA/An0AFgMgAD8CpgA+BEUAPQOzACYCowAoAwUAQwJ5ACYCCQAtAgEAKAJiACYCKgAqAjgAQAIhAAACnAAtAZUAGAHX//QCXAAtAVwAGwQIABgCyQAYAkkAJwJZ/+kCHgAmAhEAGAITADkBnwAVAqkAGAI3ABgDPwAYApMAKwJOABgCKwAiAPoAAAKRACsDvgA4A2MANgMmACwDSQA+A9YAKwN1AEUCnwAgAv8AHQLKABYDbwBdAvkAJwKUABwCTgAFAgoAJwIRACQB/AAwAlgAGAIyACgBnAAmApwALQKfACkCxAAiAkEAJgH8ABcCSQAnAqoAFwJkACIBqAAhAq4AIwIJABcCdwAYAusANQLOACAC9gAYAs4AGAK0ABgCyAAzA88AFwJkAEsB4wAsAYoAGAG3//QAAQAAAtX/KABaBHb/6f8wBMMAAQAAAAAAAAAAAAAAAAAAAG4AAgIDArwABQAAAooCvAAAAIwCigK8AAAB4AAxAQIAAAAAAAAAAAAAAACAAADvEADs7QAAAAAAAAAAUGZFZABAACDiNwMg/zgAWgLVANggAACPXgMAAAIUAqgAAAAgAAEAAAACAAAAAwAAABQAAwABAAAAFAAEALgAAAAqACAABAAKACAAOQBaAHoAoAOUA5gDmwOeA6ADowOmA6kDyQPRA9YD8QP14THiN///AAAAIAAwAEEAYQCgA5MDmAObA54DoAOjA6UDqAOxA9ED1QPxA/XhMeI3////4//U/83/x/+i/LD8rfyr/Kn8qPym/KX8pPyd/Jb8k/x5/HYfOx42AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwACwgsABVWEVZICBLuAAOUUuwBlNaWLA0G7AoWWBmIIpVWLACJWG5CAAIAGNjI2IbISGwAFmwAEMjRLIAAQBDYEItsAEssCBgZi2wAiwjISMhLbADLCBkswMUFQBCQ7ATQyBgYEKxAhRDQrElA0OwAkNUeCCwDCOwAkNDYWSwBFB4sgICAkNgQrAhZRwhsAJDQ7IOFQFCHCCwAkMjQrITARNDYEIjsABQWGVZshYBAkNgQi2wBCywAyuwFUNYIyEjIbAWQ0MjsABQWGVZGyBkILDAULAEJlqyKAENQ0VjRbAGRVghsAMlWVJbWCEjIRuKWCCwUFBYIbBAWRsgsDhQWCGwOFlZILEBDUNFY0VhZLAoUFghsQENQ0VjRSCwMFBYIbAwWRsgsMBQWCBmIIqKYSCwClBYYBsgsCBQWCGwCmAbILA2UFghsDZgG2BZWVkbsAIlsAxDY7AAUliwAEuwClBYIbAMQxtLsB5QWCGwHkthuBAAY7AMQ2O4BQBiWVlkYVmwAStZWSOwAFBYZVlZIGSwFkMjQlktsAUsIEUgsAQlYWQgsAdDUFiwByNCsAgjQhshIVmwAWAtsAYsIyEjIbADKyBksQdiQiCwCCNCsAZFWBuxAQ1DRWOxAQ1DsAJgRWOwBSohILAIQyCKIIqwASuxMAUlsAQmUVhgUBthUllYI1khWSCwQFNYsAErGyGwQFkjsABQWGVZLbAHLLAJQyuyAAIAQ2BCLbAILLAJI0IjILAAI0JhsAJiZrABY7ABYLAHKi2wCSwgIEUgsA5DY7gEAGIgsABQWLBAYFlmsAFjYESwAWAtsAossgkOAENFQiohsgABAENgQi2wCyywAEMjRLIAAQBDYEItsAwsICBFILABKyOwAEOwBCVgIEWKI2EgZCCwIFBYIbAAG7AwUFiwIBuwQFlZI7AAUFhlWbADJSNhRESwAWAtsA0sICBFILABKyOwAEOwBCVgIEWKI2EgZLAkUFiwABuwQFkjsABQWGVZsAMlI2FERLABYC2wDiwgsAAjQrMNDAADRVBYIRsjIVkqIS2wDyyxAgJFsGRhRC2wECywAWAgILAPQ0qwAFBYILAPI0JZsBBDSrAAUlggsBAjQlktsBEsILAQYmawAWMguAQAY4ojYbARQ2AgimAgsBEjQiMtsBIsS1RYsQRkRFkksA1lI3gtsBMsS1FYS1NYsQRkRFkbIVkksBNlI3gtsBQssQASQ1VYsRISQ7ABYUKwEStZsABDsAIlQrEPAiVCsRACJUKwARYjILADJVBYsQEAQ2CwBCVCioogiiNhsBAqISOwAWEgiiNhsBAqIRuxAQBDYLACJUKwAiVhsBAqIVmwD0NHsBBDR2CwAmIgsABQWLBAYFlmsAFjILAOQ2O4BABiILAAUFiwQGBZZrABY2CxAAATI0SwAUOwAD6yAQEBQ2BCLbAVLACxAAJFVFiwEiNCIEWwDiNCsA0jsAJgQiBgtxgYAQARABMAQkJCimAgsBQjQrABYbEUCCuwiysbIlktsBYssQAVKy2wFyyxARUrLbAYLLECFSstsBkssQMVKy2wGiyxBBUrLbAbLLEFFSstsBwssQYVKy2wHSyxBxUrLbAeLLEIFSstsB8ssQkVKy2wKywjILAQYmawAWOwBmBLVFgjIC6wAV0bISFZLbAsLCMgsBBiZrABY7AWYEtUWCMgLrABcRshIVktsC0sIyCwEGJmsAFjsCZgS1RYIyAusAFyGyEhWS2wICwAsA8rsQACRVRYsBIjQiBFsA4jQrANI7ACYEIgYLABYbUYGAEAEQBCQopgsRQIK7CLKxsiWS2wISyxACArLbAiLLEBICstsCMssQIgKy2wJCyxAyArLbAlLLEEICstsCYssQUgKy2wJyyxBiArLbAoLLEHICstsCkssQggKy2wKiyxCSArLbAuLCA8sAFgLbAvLCBgsBhgIEMjsAFgQ7ACJWGwAWCwLiohLbAwLLAvK7AvKi2wMSwgIEcgILAOQ2O4BABiILAAUFiwQGBZZrABY2AjYTgjIIpVWCBHICCwDkNjuAQAYiCwAFBYsEBgWWawAWNgI2E4GyFZLbAyLACxAAJFVFixDgZFQrABFrAxKrEFARVFWDBZGyJZLbAzLACwDyuxAAJFVFixDgZFQrABFrAxKrEFARVFWDBZGyJZLbA0LCA1sAFgLbA1LACxDgZFQrABRWO4BABiILAAUFiwQGBZZrABY7ABK7AOQ2O4BABiILAAUFiwQGBZZrABY7ABK7AAFrQAAAAAAEQ+IzixNAEVKiEtsDYsIDwgRyCwDkNjuAQAYiCwAFBYsEBgWWawAWNgsABDYTgtsDcsLhc8LbA4LCA8IEcgsA5DY7gEAGIgsABQWLBAYFlmsAFjYLAAQ2GwAUNjOC2wOSyxAgAWJSAuIEewACNCsAIlSYqKRyNHI2EgWGIbIVmwASNCsjgBARUUKi2wOiywABawFyNCsAQlsAQlRyNHI2GxDABCsAtDK2WKLiMgIDyKOC2wOyywABawFyNCsAQlsAQlIC5HI0cjYSCwBiNCsQwAQrALQysgsGBQWCCwQFFYswQgBSAbswQmBRpZQkIjILAKQyCKI0cjRyNhI0ZgsAZDsAJiILAAUFiwQGBZZrABY2AgsAErIIqKYSCwBENgZCOwBUNhZFBYsARDYRuwBUNgWbADJbACYiCwAFBYsEBgWWawAWNhIyAgsAQmI0ZhOBsjsApDRrACJbAKQ0cjRyNhYCCwBkOwAmIgsABQWLBAYFlmsAFjYCMgsAErI7AGQ2CwASuwBSVhsAUlsAJiILAAUFiwQGBZZrABY7AEJmEgsAQlYGQjsAMlYGRQWCEbIyFZIyAgsAQmI0ZhOFktsDwssAAWsBcjQiAgILAFJiAuRyNHI2EjPDgtsD0ssAAWsBcjQiCwCiNCICAgRiNHsAErI2E4LbA+LLAAFrAXI0KwAyWwAiVHI0cjYbAAVFguIDwjIRuwAiWwAiVHI0cjYSCwBSWwBCVHI0cjYbAGJbAFJUmwAiVhuQgACABjYyMgWGIbIVljuAQAYiCwAFBYsEBgWWawAWNgIy4jICA8ijgjIVktsD8ssAAWsBcjQiCwCkMgLkcjRyNhIGCwIGBmsAJiILAAUFiwQGBZZrABYyMgIDyKOC2wQCwjIC5GsAIlRrAXQ1hQG1JZWCA8WS6xMAEUKy2wQSwjIC5GsAIlRrAXQ1hSG1BZWCA8WS6xMAEUKy2wQiwjIC5GsAIlRrAXQ1hQG1JZWCA8WSMgLkawAiVGsBdDWFIbUFlYIDxZLrEwARQrLbBDLLA6KyMgLkawAiVGsBdDWFAbUllYIDxZLrEwARQrLbBELLA7K4ogIDywBiNCijgjIC5GsAIlRrAXQ1hQG1JZWCA8WS6xMAEUK7AGQy6wMCstsEUssAAWsAQlsAQmICAgRiNHYbAMI0IuRyNHI2GwC0MrIyA8IC4jOLEwARQrLbBGLLEKBCVCsAAWsAQlsAQlIC5HI0cjYSCwBiNCsQwAQrALQysgsGBQWCCwQFFYswQgBSAbswQmBRpZQkIjIEewBkOwAmIgsABQWLBAYFlmsAFjYCCwASsgiophILAEQ2BkI7AFQ2FkUFiwBENhG7AFQ2BZsAMlsAJiILAAUFiwQGBZZrABY2GwAiVGYTgjIDwjOBshICBGI0ewASsjYTghWbEwARQrLbBHLLEAOisusTABFCstsEgssQA7KyEjICA8sAYjQiM4sTABFCuwBkMusDArLbBJLLAAFSBHsAAjQrIAAQEVFBMusDYqLbBKLLAAFSBHsAAjQrIAAQEVFBMusDYqLbBLLLEAARQTsDcqLbBMLLA5Ki2wTSywABZFIyAuIEaKI2E4sTABFCstsE4ssAojQrBNKy2wTyyyAABGKy2wUCyyAAFGKy2wUSyyAQBGKy2wUiyyAQFGKy2wUyyyAABHKy2wVCyyAAFHKy2wVSyyAQBHKy2wViyyAQFHKy2wVyyzAAAAQystsFgsswABAEMrLbBZLLMBAABDKy2wWiyzAQEAQystsFssswAAAUMrLbBcLLMAAQFDKy2wXSyzAQABQystsF4sswEBAUMrLbBfLLIAAEUrLbBgLLIAAUUrLbBhLLIBAEUrLbBiLLIBAUUrLbBjLLIAAEgrLbBkLLIAAUgrLbBlLLIBAEgrLbBmLLIBAUgrLbBnLLMAAABEKy2waCyzAAEARCstsGksswEAAEQrLbBqLLMBAQBEKy2wayyzAAABRCstsGwsswABAUQrLbBtLLMBAAFEKy2wbiyzAQEBRCstsG8ssQA8Ky6xMAEUKy2wcCyxADwrsEArLbBxLLEAPCuwQSstsHIssAAWsQA8K7BCKy2wcyyxATwrsEArLbB0LLEBPCuwQSstsHUssAAWsQE8K7BCKy2wdiyxAD0rLrEwARQrLbB3LLEAPSuwQCstsHgssQA9K7BBKy2weSyxAD0rsEIrLbB6LLEBPSuwQCstsHsssQE9K7BBKy2wfCyxAT0rsEIrLbB9LLEAPisusTABFCstsH4ssQA+K7BAKy2wfyyxAD4rsEErLbCALLEAPiuwQistsIEssQE+K7BAKy2wgiyxAT4rsEErLbCDLLEBPiuwQistsIQssQA/Ky6xMAEUKy2whSyxAD8rsEArLbCGLLEAPyuwQSstsIcssQA/K7BCKy2wiCyxAT8rsEArLbCJLLEBPyuwQSstsIossQE/K7BCKy2wiyyyCwADRVBYsAYbsgQCA0VYIyEbIVlZQiuwCGWwAyRQeLEFARVFWDBZLQBLuADIUlixAQGOWbABuQgACABjcLEAB0KzMBwCACqxAAdCtSMIDwgCCiqxAAdCtS0GGQYCCiqxAAlCuwkABAAAAgALKrEAC0K7AEAAQAACAAsquQADAABEsSQBiFFYsECIWLkAAwBkRLEoAYhRWLgIAIhYuQADAABEWRuxJwGIUVi6CIAAAQRAiGNUWLkAAwAARFlZWVlZtSUIEQgCDiq4Af+FsASNsQIARLMFZAYAREQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIMAgwA0ADQCvv/4AscBvP/4/zYCFQAAAr//7wLHAcT/+P8tAhUAAACDAIMANAA0Aq7/+AK2AcT/+P8+AhUAAAK2/+8CtgHE//j/NgIVAAAAAAAAAAkAcgADAAEECQAAAKIAAAADAAEECQABABQAogADAAEECQACABYAtgADAAEECQADAEoAzAADAAEECQAEACoBFgADAAEECQAFAEIBQAADAAEECQAGACoBFgADAAEECQANAmQBggADAAEECQAOADQD5gBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADAAOQAtADIAMAAxADAAIABEAGUAcwBpAGcAbgAgAFMAYwBpAGUAbgBjAGUALAAgAEkAbgBjAC4ACgBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANAAtADIAMAAxADgAIABLAGgAYQBuACAAQQBjAGEAZABlAG0AeQBLAGEAVABlAFgAXwBNAGEAdABoAEIAbwBsAGQAIABJAHQAYQBsAGkAYwBGAG8AbgB0AEYAbwByAGcAZQAgADIALgAwACAAOgAgAEsAYQBUAGUAWABfAE0AYQB0AGgALQBCAG8AbABkAEkAdABhAGwAaQBjAEsAYQBUAGUAWABfAE0AYQB0AGgALQBCAG8AbABkAEkAdABhAGwAaQBjAFYAZQByAHMAaQBvAG4AIAAxAC4AMQA7ACAAdAB0AGYAYQB1AHQAbwBoAGkAbgB0ACAAKAB2ADEALgA4AC4AMwApAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABjACkAIAAyADAAMAA5AC0AMgAwADEAMAAsACAARABlAHMAaQBnAG4AIABTAGMAaQBlAG4AYwBlACwAIABJAG4AYwAuACAAKAA8AHcAdwB3AC4AbQBhAHQAaABqAGEAeAAuAG8AcgBnAD4AKQAKAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABjACkAIAAyADAAMQA0AC0AMgAwADEAOAAgAEsAaABhAG4AIABBAGMAYQBkAGUAbQB5ACAAKAA8AHcAdwB3AC4AawBoAGEAbgBhAGMAYQBkAGUAbQB5AC4AbwByAGcAPgApACwACgB3AGkAdABoACAAUgBlAHMAZQByAHYAZQBkACAARgBvAG4AdAAgAE4AYQBtAGUAIABLAGEAVABlAFgAXwBNAGEAdABoAC4ACgAKAFQAaABpAHMAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAaQBzACAAbABpAGMAZQBuAHMAZQBkACAAdQBuAGQAZQByACAAdABoAGUAIABTAEkATAAgAE8AcABlAG4AIABGAG8AbgB0ACAATABpAGMAZQBuAHMAZQAsACAAVgBlAHIAcwBpAG8AbgAgADEALgAxAC4ACgBUAGgAaQBzACAAbABpAGMAZQBuAHMAZQAgAGEAdgBhAGkAbABhAGIAbABlACAAdwBpAHQAaAAgAGEAIABGAEEAUQAgAGEAdAA6AAoAaAB0AHQAcAA6AC8ALwBzAGMAcgBpAHAAdABzAC4AcwBpAGwALgBvAHIAZwAvAE8ARgBMAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATAACAAAAAAAA/4MAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAG4AAAABAAIAAwATABQAFQAWABcAGAAZABoAGwAcACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0BAgEDAQQBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMBFAEVARYBFwEYARkBGgEbARwAmwEdAR4BHwEgASEBIgEjASQBJQEmAScBKAEpASoBKwEsB3VuaTAwQTAFR2FtbWEHdW5pMDM5NAVUaGV0YQZMYW1iZGECWGkCUGkFU2lnbWEHVXBzaWxvbgNQaGkDUHNpB3VuaTAzQTkFYWxwaGEEYmV0YQVnYW1tYQVkZWx0YQdlcHNpbG9uBHpldGEDZXRhBXRoZXRhBGlvdGEFa2FwcGEGbGFtYmRhB3VuaTAzQkMCbnUCeGkHb21pY3JvbgNyaG8Gc2lnbWExBXNpZ21hA3RhdQd1cHNpbG9uA3BoaQNjaGkDcHNpBW9tZWdhBnRoZXRhMQRwaGkxBm9tZWdhMQd1bmkwM0YxB3VuaTAzRjUHdW5pRTEzMQd1bmlFMjM3AAAAAAEAAf//AA8=) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff"),url(data:font/ttf;base64,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AMIAAwABBAkABAAiAQQAAwABBAkABQBCASYAAwABBAkABgAiAQQAAwABBAkADQJkAWgAAwABBAkADgA0A8wAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAwADkALQAyADAAMQAwACAARABlAHMAaQBnAG4AIABTAGMAaQBlAG4AYwBlACwAIABJAG4AYwAuAAoAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAxADQALQAyADAAMQA4ACAASwBoAGEAbgAgAEEAYwBhAGQAZQBtAHkASwBhAFQAZQBYAF8ATQBhAHQAaABJAHQAYQBsAGkAYwBGAG8AbgB0AEYAbwByAGcAZQAgADIALgAwACAAOgAgAEsAYQBUAGUAWABfAE0AYQB0AGgALQBJAHQAYQBsAGkAYwBLAGEAVABlAFgAXwBNAGEAdABoAC0ASQB0AGEAbABpAGMAVgBlAHIAcwBpAG8AbgAgADEALgAxADsAIAB0AHQAZgBhAHUAdABvAGgAaQBuAHQAIAAoAHYAMQAuADgALgAzACkAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAwADkALQAyADAAMQAwACwAIABEAGUAcwBpAGcAbgAgAFMAYwBpAGUAbgBjAGUALAAgAEkAbgBjAC4AIAAoADwAdwB3AHcALgBtAGEAdABoAGoAYQB4AC4AbwByAGcAPgApAAoAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAxADQALQAyADAAMQA4ACAASwBoAGEAbgAgAEEAYwBhAGQAZQBtAHkAIAAoADwAdwB3AHcALgBrAGgAYQBuAGEAYwBhAGQAZQBtAHkALgBvAHIAZwA+ACkALAAKAHcAaQB0AGgAIABSAGUAcwBlAHIAdgBlAGQAIABGAG8AbgB0ACAATgBhAG0AZQAgAEsAYQBUAGUAWABfAE0AYQB0AGgALgAKAAoAVABoAGkAcwAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABpAHMAIABsAGkAYwBlAG4AcwBlAGQAIAB1AG4AZABlAHIAIAB0AGgAZQAgAFMASQBMACAATwBwAGUAbgAgAEYAbwBuAHQAIABMAGkAYwBlAG4AcwBlACwAIABWAGUAcgBzAGkAbwBuACAAMQAuADEALgAKAFQAaABpAHMAIABsAGkAYwBlAG4AcwBlACAAYQB2AGEAaQBsAGEAYgBsAGUAIAB3AGkAdABoACAAYQAgAEYAQQBRACAAYQB0ADoACgBoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAaAB0AHQAcAA6AC8ALwBzAGMAcgBpAHAAdABzAC4AcwBpAGwALgBvAHIAZwAvAE8ARgBMAAAAAgAAAAAAAP+DADIAAAAAAAAAAAAAAAAAAAAAAAAAAABuAAAAAQACAAMAEwAUABUAFgAXABgAGQAaABsAHAAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0ARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAQIBAwEEAQUBBgEHAQgBCQEKAQsBDAENAQ4BDwEQAREBEgETARQBFQEWARcBGAEZARoBGwEcAJsBHQEeAR8BIAEhASIBIwEkASUBJgEnASgBKQEqASsBLAd1bmkwMEEwBUdhbW1hB3VuaTAzOTQFVGhldGEGTGFtYmRhAlhpAlBpBVNpZ21hB1Vwc2lsb24DUGhpA1BzaQd1bmkwM0E5BWFscGhhBGJldGEFZ2FtbWEFZGVsdGEHZXBzaWxvbgR6ZXRhA2V0YQV0aGV0YQRpb3RhBWthcHBhBmxhbWJkYQd1bmkwM0JDAm51AnhpB29taWNyb24DcmhvBnNpZ21hMQVzaWdtYQN0YXUHdXBzaWxvbgNwaGkDY2hpA3BzaQVvbWVnYQZ0aGV0YTEEcGhpMQZvbWVnYTEHdW5pMDNGMQd1bmkwM0Y1B3VuaUUxMzEHdW5pRTIzNwAAAAABAAH//wAP) format("truetype")}@font-face{font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff"),url(data:font/ttf;base64,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ACAAMQAuADEAOwAgAHQAdABmAGEAdQB0AG8AaABpAG4AdAAgACgAdgAxAC4AOAAuADMAKQBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADAAOQAtADIAMAAxADAALAAgAEQAZQBzAGkAZwBuACAAUwBjAGkAZQBuAGMAZQAsACAASQBuAGMALgAgACgAPAB3AHcAdwAuAG0AYQB0AGgAagBhAHgALgBvAHIAZwA+ACkACgBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANAAtADIAMAAxADgAIABLAGgAYQBuACAAQQBjAGEAZABlAG0AeQAgACgAPAB3AHcAdwAuAGsAaABhAG4AYQBjAGEAZABlAG0AeQAuAG8AcgBnAD4AKQAsAAoAdwBpAHQAaAAgAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQAIABOAGEAbQBlACAASwBhAFQAZQBYAF8AUwBhAG4AcwBTAGUAcgBpAGYALgAKAAoAVABoAGkAcwAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABpAHMAIABsAGkAYwBlAG4AcwBlAGQAIAB1AG4AZABlAHIAIAB0AGgAZQAgAFMASQBMACAATwBwAGUAbgAgAEYAbwBuAHQAIABMAGkAYwBlAG4AcwBlACwAIABWAGUAcgBzAGkAbwBuACAAMQAuADEALgAKAFQAaABpAHMAIABsAGkAYwBlAG4AcwBlACAAYQB2AGEAaQBsAGEAYgBsAGUAIAB3AGkAdABoACAAYQAgAEYAQQBRACAAYQB0ADoACgBoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAaAB0AHQAcAA6AC8ALwBzAGMAcgBpAHAAdABzAC4AcwBpAGwALgBvAHIAZwAvAE8ARgBMAAAAAgAAAAAAAP+DADIAAAAAAAAAAAAAAAAAAAAAAAAAAAB7AAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AIAAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4AQABBAEIARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAGEBAgCOAIMAjQDeANcBAwDYAOEBBADbANwA3QDZAN8BBQEGAQcBCAEJAQoBCwEMAQ0BDgEPALIAswC2ALcAtAC1B3VuaTAwQTAHdW5pMDIzNwd1bmkwMkM5BUdhbW1hB3VuaTAzOTQFVGhldGEGTGFtYmRhAlhpAlBpBVNpZ21hB1Vwc2lsb24DUGhpA1BzaQd1bmkwM0E5AAABAAH//wAP) format("truetype")}@font-face{font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,d09GRgABAAAAADcgAA4AAAAAV1wAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAAr0AAAAFMAAABgRbOJi2NtYXAAACwkAAAAswAAAQQ+LF4HY3Z0IAAANCwAAAA4AAAAWgKnGXpmcGdtAAAs2AAABrwAAA4MYi79fGdhc3AAADcYAAAACAAAAAgAAAAQZ2x5ZgAAAUQAACfGAAA8YHBdKUBoZWFkAAAqKAAAADYAAAA2YvdC2mhoZWEAACuwAAAAHwAAACQHIAKuaG10eAAAKmAAAAFOAAAB7vxHLnhsb2NhAAApLAAAAPoAAAD63IDNzm1heHAAACkMAAAAIAAAACABLw6bbmFtZQAANGQAAAGhAAAEmmTTf8Zwb3N0AAA2CAAAAQ4AAAGBX3BMx3ByZXAAADOUAAAAmAAAALJlwgKGeNrNuwWcHNeVN1rn3OLuqsZq7p5mGuhpHiZJMxoezYilkSyWbMmMGzPFzpoh4Ngb8zqcGMKc5Q0zLwR/G1hwOFbr3VvdPR7Te+/jz21JVTVd5x4+/3PuHQ65Esdxf4cGRziJ48qOsiNTdiRKbzxcKqFx+ucleD/9zrkcB4fwA5yFc3Pycy6bBFjqdNXLJUOUpES8WiO1eqVkSEbiy73FYiA2kMl4NrvhoHEQPnwaLryN/ml8fRUQ9yGldhN8E75FqXm5AqXWHTdURq1GSSQS1UqdkZVEUWJ/EvH6azy/yRqy23SLUiwiCKhay5rf95mXPatY/T74VmAkAUh6CiCJfkvB2GrAK55wlKsdZ0bICn6Q28OdoFydtXdAoVylPIZbSkiiJCbi6WrNyVhZu6vXE5k0ZazMeKQ/iZt3tXK9TlmueT2SiJLE7uizEr2TJG/JywgyASQpo6O73H6X+O32387OEkGVrXidtrrauoapzdt3aLZPpWRDEM6/gFhV8Yor52bRzWuItwGsrk7NoqQpViCbNm/fKqoC71w5K5N+C6TTq6vmW3vfoVgUy0MPEUmTZdD80LwU7r8fFFWTFhydqoooahYR4cGHUOCJYJMa3wcC9z6EDk2R774PULQqAg+wtPQwLixg8x2O+kzfmb/DKv6Km+a2cWdx6gd371qZ7XeTUmd9BKvpTJpqxBS/xMQ0/cXt9Xi9zIz0p4mMJLVVYkP20M28qVatJNIZ+gb9qqtOf2a4PV5PteatpDMSo1Sr/QiDXsKXxlanQxIAEORTSRmsgwULWAQ9kfVZBJ/XGZ9A/eRmlQcCkEqCIuyvi4ZgKU1eiWqiN+gScF/IUwDVSmLpSe11pwBAWxzYdE1QFVSLF7I8oJKUMawnE1YZTp1rdO8NWuaucKBX0HgCCDlAra7VdbXXghGRtw3n/FkZEb8RLkg/ECQ0NnIC98SZvyMFqiMXl+D6uSVuP2cbs+5dnhrsSUUMCwilTqiVW2qQxLYbealDsXsqe7lEJU7VyuY3OPMrFfM7dY6svdl+t/myu2y+VK1k0lR/4E1HY/5iuTphFWOhvOx7b8znduqq5tZ1XxweEkQnwdNPoKjYBHx2oQTFpyrFQjiguvsTWdnu1aMp0TUaIxbdF3Mr1mg3fjVgzywdmF+yYCAzF06cPzTZERwt+CIhzb/6KYJOQSSnRSLZAEH60cExuK4x0duV7Yvkt/UlrNRhZ3p9kf0P13Xf3mK/RSDKVdSXps78G/4cP8dNcDu5U9SXjuxd2ZgB0lRPU0bJQx3BSx2g6vWUmw+8pnrKomSK39RBhumGOhzVJNNGra1NU51et8fwutkXaiSdybSfesrsFapY+LCgVAYciVtcYEidkSuX1GQS/ON7+ogvGC8NSYQX5KnK3Iz7wN7jSREFW4+7vwtR1Fdq9mqOV/052QIAjv6AYT93JCiFU1EZqpKzN5dBIPiPMFXPJadXNVLXVyO7HnGiRRU6L91eFC2ajbg8OVufUtjlCAaN/h5XKqJbsp5gePEyl3TLCIqFaK7PpRCVEF7Lh72pxtDSssPtzyYEx5gGRLPyAALHAfcJmmMXzRwrPmOo8Nr59RNrORNQQFUraa+aMxnN42dE+Dn1Yw+lqQGlCZQUNQKa+vOayZCpFe63plK247cGtWUyp+7uqFxawB+pqO1u/OS9C9PvPUewXvz+49d99c5+ShMpzZspTR+l6SKMZiWTKXs9njWnZhWmXnPVoGtBnlNQxflU6bAvHvdY5vjPbfTAF995tqoSjZx8+2V//oHrIsmYQ+HfA8tnM44fhBL24b9z05R6kmPUTT+S6i86FFtHTCTiLFdlMiwL0Wsqh45S66rpRxUWaBEsl2o0P8GbNY/dcUqSdbdNnM/tk6IuXrKHFZpteUHhbVGbM5quOHii2h12aap7VUk4BZVPJxBcfBj/3anJQ8MTxG1z2cSUe0DSXHGLX3LwfCg2pIQdNudJT1RFYD+XYp5+0WF08BgNX45WH5Xq5Jl3EwmnuASVKmABmmsZm7HqCLbkQiPmcUuxtgROmk6vtNuhB0JRgnZJG4aUzdb4yoAo6LJl+J6fsPqAcOu9FpsqK40foeyTG/+sWS0yDxECdMXRMzdwX+YOcja6okLYis16T1WZYGUwvpsV+0yqqNnCNhs2K/3oSCgxwqxQ5j4Cc0A4hb4tAPPFasxguKFSmwBVlm66SQdATMVxnH57N8eZa8n029K6tYyEucjBFnX6TfGMiDup7zgZV6Y/Nusst2Y5ro4DIlGsgKe/SXhV1hAwh/gLtCryC6NEssoCIeTTyOr/Tpp9UvgkF+R6af3Phh2AJsVyab0vttMzSynptQTt9ZRq7FG1AvneHtI15fAQLZ5d6q3rjg2dBSNS7/qUJzLRmQj7LA7PwKA7n9LwDl8+2T0TDF62/8qxhIqdhWNDZ929bUPetWHw5lMD2ZzDk45tem4yv5HpcCf967OUuxizuYPJKkqVygiyaK6xBGgWVwYopASrnOU6zA3OIhCQRVSJJ744aLHCNcPDtne+E614VRl7nQRQkTQhCaK1gMLpd+E0WHutz3PAMCFm6GpVulrOZkYlFVZHqSX8y3QiuhkTrLgbsdoo1urmB/6q1hstZw07OO3Bhcs371QBLeX4atRqvSciLqUetGPjAp5XJi7wJoPHbAi/KPd5e5PRWAcRMufMTggun3NDPbPBo8iXIMCchE5PprbqCHp2rOhMJ33UYlHK5SbKZWqNS8pPhkZyE3V5TT5Fw0wjTZaZBTM0iulPaOUwjUa/T1FHld0wvj+Rjee3hSUAm67MH5H0kZxT84E87YsSdQfa7zl8akyCEOG9u4uVRRWG5ULBLkxg56SCGInEulIKQLRDWVQgpNs6sijj8ojhRCG3W7Nuu26LshmIkOjaMirqCw4E3IwiyFNdOvVBGi6o4F1cgItTHwwHHQSZ/ztZnkXJKNOISySaMRdjvKZqLtMDF/p+QG93wh57T7fDsU9WHI0GAI9glzaj+x98P58E/yQ2DhKkNl5cSnYtCoJbSSVgC7/lTAcwi1NddtKVh6guw8hi1FUpl6nqWPo1q0VtLWm+CDQYqGvW35YeE2ZIJG7a8s53EB6lMy5eJcgLnZUNW+Kx88btju19FpdkEwMkesAtl8YsUofVLnlcufgWcMGVQMDilpN7PD1WC5LgwemJoaFFC/ZZQjwoTikmbkXLluGMs0J9wl5jUbuP8p2kPtDNjVGNDRQUjmrM24z+lgd4aK5xZ9rByoQot8uLKYtrHTQwZanXfrswEw5dPN1XC3ptMVm2pHu68xvz1pU9gh0Ccd3BO+rh5WzgoSUHX5wR+W7dOdrjsymec/ecdXDvfamQQKyYSABvD3Yd6iAbQUjEO7v83lPjyUGZh7F9oB4Z8Udmg9LG5EKeav/OM7/BrVT7Eap9G0Crt2qCYqnZYjURjRSvUrneLX/pi8y8cuDmlbEQKRX1iXf01v/ySVbBj+aB2TYdvOWRa15nA6X0k0/WCgCiyDq8eaqtPNVWlkb2JoqwxvtKeTdH1jTGPjQYzOv1US65TZDZUlYblNYkM94SYvOWqm12nys86koSEYTZUM/OZGpkxUrsyV0K+ianeifevLcyYYXe/MDsSG+eqFDf3N05mYt69k53ZYazVh0IYHpzoWsubB0r22zpjskkD9ae+aFj8U5MLQyWRGcmN/+fuQLIq5NdPaNl5gFMphg+wWW4fuoB1ZzMPADKpTU0XTNd1JStVq2vR8kvAdnekikDXKY/6Eqc2L1voeBIStFiYrMn4QekSp3fmfN4ghbXxNzbZlLRTm+gIwS6sKmYxif+ZmL7247tKHi65HB3pGuSiIiEH/G4FnqynXs3zLzzpDc6MNufLkuwwEKc1TgIwMf+f/TT71GLRUFgfy02++nbesETpH8ad7f7aVadW9SClJrxmtTWqvXLiLbr9stptys40upzPQnBhZzOeU1+ZXOFWizq9VAtx6LMYwTmKrF0pX4HgREY5q1WvvHZxmeIFc+y20/fqOtwPiIf4s1W81MMckgBidJ+N13Ah5/iklw3pd2VDerYyuSSSCElyzHrepx2MLCn0FYSfCSdn52WQRAdAXWonlWumu80UmlNzGR0x0p/b+N5U3c40uEriOkUqlbeD7YT++tRT2qqHgGtPHlZPnn6hTWNXn7mt/hZ/DRX4zZSnsb73TKbBZTq5XXJr51g1opKu9X1ptvJxvSrlijskrnXfduGt4iJU31KYKw4tX2mcMt8tmv7SsB768z+rPXSeU8w1qEVRa9LPro05RJPQDCd8AdSxdRkYuN4QEhUZDAiN62+7tzpI27LkT27VndfeSCWO/iwT9SLNgTHzi2HO6L7LoO5zmFX4Ghf50higsoTojq+mnYDBhej8tDOmcVIueZylV00FXqNBBMoJomUQpUVynKV3qdD/N/99fGKJSyJJxG9jZ8lXTFHN1zlvitw4YUASQl2w7bGU7MfzXcSp/QmaTQ6GAKcN2pneoAQlf8VxxHm6fghunKEYopJmnE21bMxl5X1dJ52LaEfM6vVXWWPt51xaBZqlh2DBmWruAC9d5dra8WGlW34zfAeYpnuLY0rD7xRVdKOmVvvDJ2KKv7CyZQ8P0P7dEImdiXH8xHR3/hbLMP23XLfDofSER/VFhfhHGWhZlgLS76ACgDdXe9doUIJ3nnDm05v6jgNcK5vSNdRseejUc1WbPwQfwsIIFeTLiMTilqQ1c4rqbd8kXpLN83eiTYO9Xo9lFvK40uKC+XcYEm97UP0Ho7t3r911gZJFPih7R3+5Rvd4uFEoX+2piIR/JXJ/qT1yBVH50J4Rzkswn4EnhREz1sPdSTv7HV4oyK4PHlrwIG2e88/8eEhXzNeOfw51bqLyzEcYWhmvJr6Xavgps6BVmxCb5t6bSv60Zn73yjvPzXb88BO+cL3UK3CdnF5YUCPSPK2bdY/mynY0JeDvVRV4Ljj5HWnpk/IpvLgCDR+OX57IgGAxnmTR52Bie5FhtS2U37eh89wWaqhDA9NTFNhCYrFc4Zlpna9i9OkZcJJL0OT2/Eu+NEPUebJ+94LHu+jj5hl75FHi/CB4A69ZsdGFyK+CxAx6XYDwbOPs/InJwF+iggwL2J7/Ufo+iGGntfWj7aW19GguJlexySGr9ia8CGUCf/UU+Dz3nsfsWDjW9FYpbJ+Kf6Ckwha2frmB8wVrqIV/DvUB8p0hQjD5ynWbsfNdpstY2qcVVaG2UvNhEadvO0dZgFFq8U5MCjLX4Eq8DvGhw7f7FEnz79tEl3i1qmOtCW+qWKoR++14VlbQltrWwHEaIqIfwDV5zi5PdO97eELpwWI2shBtSOEjufO9dn2XdSSnnDUG+KUN4di8uas1uImkmxHniGiEaub3DKkmUABNsDA2Y/RJq1ihtUxGIYp6Og4dg8cR4BhhEcebQUMgcYPgOfvupPA6RWCdMUddNlluqLGejgw0WSLrrneIzOUSqWiqGnmRM23GC36Zg+t5l6WL+ibqhlLJm9reddkt+ZtTn1obYArBg7DJWDfPa4bmwZSsuxAIADRifMMewc8BToRT/+AH1m2oM/Gu93dBAXA0i4yc3urqyJ2ulqaruZlfgFumg4TBUyLzGjGmnpKrKk2J5gMBcGX9/QW6vWFRbgXu7BUMhVULM2sXvD5/vrDS/A4fv6cs+E974VrAL4L2M4r2HgSFw+8F+y3DDd1hDxd29m2CrAlyuX1y8Ly9ZNbH9DJF76gqMwG+Ayc/guATUqbJqWzl8rwCKVTZFMZwewMkYbQi5b1eJ1eowZty9IptrNeoyEnAvV9mkOxCoOpiQAUekw5Xg/aBhICV8ct98AqjI4iINJ2oq+rkwfrOB54R+PvrwJcM/3WxolZ50b4arVpRgTIQw8RCPBdjcn94LJNwF1TLV1jg/KZonxa+Saf60T1uimbXmbSettXGG8ZqOM1bdbugdBlFgL2hD629x64l5DYhRIegNOPrePnWGOuRtUw9/BG6GqypFmvgLd1cchdSn3rT3S+6ON6zA5fR2QToVaT4H5ZbXdVWPJOtKKz3RnAz4lTCCVWDvP6BVv37lse764crd3xm42DTre1tD81v3FAs48On8hodM4nG3efE/Mfea5vuJy6dPKtr5/e1fj9/FENxdHyqTuXztVIYenBSitbP001E+Q6KV+pqPHKbC0lWCtmtNSVarLGiqOZsx+dueMuedOevvDeXs/h1UjIDFn49GhNmpsORRYXteNZezNdW3ZtnN6UrFsEIHjrdU21/b5YE+GWNyCgYznOmXq6wdRTlJug/IxUOhgiE9bDnpfoTIogG/5RnmjHSMteq4y0S9+a8uAz2cLyhKmv2TUlXrIg8aqhpq7YMQTVqtcLPdY5O04OiS63eORtm8ZEwyPKst5WoNJW6kdKvGjkXDMfwesAurqxS993gzWzeI4VQP/+HYvnaADYroQfoboNm3tNubgdkOUU5lvr0x9TtYll6adeeTn4gP+8vFKZSd0bi5Wbsf7ntysb9loR7NPd5T3HtZVln6DzZHan93DCAuONT8IXjj7w1nbYg2WiIuel6b6Y42/mXAiX+CZ0G/L2GTbLq1GfPEB13UejImr23RUTPNDV40yBJm4wP+s8NFMz599rwIh90o88dt6eaRWSAFp92/hqXh+siC7XLLGe2JztvGS3Aill80W1XEmDAbEypncW4Qd77u0U4QBotcViPizbNSJopb0O5+TFPm1UgrNAmYnEhwTrWIBoTsk9y6L4CZptPPg+zmDZhjB+KQexmA0TBGnSYdmlWpWecEAv/cjyC2NjUKnAtVfjWSMOINlk48uNLwMiwR3AA6V3A5WfIZUMmzsAo2fmqXV4iX7oI5TaNbS19fGh8rEjgItuX+cOb4eGpeLes0RPMhLYeWz7eRZAAn//S4KNBNodB3xSTyzbJ/z8J6QxFhnvSbgmD8yjU/DqGpPoESpRB/MQVgNMDki5ZCZNpnG6fKuTItRZqJq/N1iviVLZqoEYX/iSp9CzesEXajVJjpgBluxqfO3g9oiFd47eBXtT8OAnG09CV9f7m+vwFbpOha7jN6uwWyoxSZjETfOa125CEqZRTTHNPoJI9AmyubgTUjzYu5/sp1ZzEj76mcEd7373UbsoIwKglBi5vnKgBHAU/R/aHEQpex4sXCTIH2xsHbCpu+DmS6HxZOMJHr628Fi01CcLQmDu9Y0/HCeID9n5SOO9TB86jZjfUj7ZdNln5uk0mpFNKyMbLDKGaLR0IC0e5myePoSz5L+EoeFcUTPS96cuKP3QDwe8TEdXTG0enLr+QlF6xzycZ4cK4PKBQC73eK72Oz8+l9/n9eE9905suUeUPryVrv0maoscXTtA13abtmALO70sBuu0RHASQ4hVNpF/0/CQdIOMYANeqZYbD0gYjpTKEA7vx2fR1vjXDkQfpCwAjXMk4ZY3AMIbbv0Ck69O5fsEXSPE7GBOz7mqOcaIV5r1XZIIKdfKbgo/q7UN8CM5IK9m36dIzz8vCM//14ePbHU0JGsNi0zj6RQSj6/xk8ZPwbIRsUzp586I8Ha2o9GWoe5qY9sEMZGmIbI8XrnvxPbtJpzN53fvzuft27e/AP/VQq+N3Y1VAXFMRUJ5PvMvlOYBStPFsEITpyC1dqVeLVMg2xz4luDAkbOFd9m3RS6P5DvRQrZvx19iI9ewBtQxvAOrt4NWspp7Q2hDg2rA3p7HM916zCYwI5oGhWp5plSc69ADsJSZi6sjeGNpZQWK7hzOpOPKMGdODCnNM995EeN52ZRyDXkMSn/8gw3++AcEfjaFU4BMMpaRh8/8Fr4NX+B6zYndYLk1Z/eWWoNailDqL2uy6+VmnjNHAmkzJxB3MzvQ52aJhprgGZ6FrH+3XBZqgx4pkhSUwcT02W5ByEiuHeMCgAp+d++pfDQzoaFq6TroDcHnEKeGeJ38zUnEZADdKFfSfnewYAkKfr+96MAeAguoSa7Ge/zhbETI8ggOi53JMUsRf9CMkyKVoyfdrtpsUuteGz2ubekyydrVmwlCn5sJ7v6Zru4hUNW5FUNKdYFleePsVK8kYqGHweN6qTCUk2wRwVOcO8gyDDZ+jMALGVS399vk63dMdkoQEc06rvb25cTNdyhdr+OAcQfPw+e4ArVOp7mLUmE+QmOYplZm6Jd1pqyYuG3I7iXWp8y+8Yi9byAl2m0IAqYTEcNmrcxYsOp0qwvTVoH+p5OxzYv7FXj8vHdpuk/IZACAQAfh0bq60a5PB5SMiNksEhFCZGWzQHU2TTvlORPdV9jJj5jOdLYOmVZNZbVzn6nCitCcLY5i2wVMc389sovCUyUujAwZAquq6lXbtvSLjf8sFhxCT5Lq1uZPqcLQki5i7vYWNg3qbhIB1zF70C0eek9eFH9TqIOSlU+cANHmBWl5MsgsO0V19y2qu7iJx/Iphzn9ocu2jNkejzaTRWwN4bTaOakM7wQZ5MFRp7F4cHjDSV5S75Kx8WXSnVQ888sB7Mr4/YXEt0/hJiBCWCZHl/es7PbAmxJZWwx6RhQsfCRT0D1D1I77aKj9qtVXllymHZ3mPm6dBoUZHO19DhZ6VHOMAdZM60jdjXV1RmLfAsRjshSPEXBR6QdFe9gdQjso4dh0ULDq1SqR+XIFFnYjwClzJw5UaRudRkjACwizPBArlCzDo+CMOwhC415AjnDWMyXsg7/lttATDRfT2c45B/ZuHTHPfqwfv1fpZkzFVBeLb8k0oUQdcD3ipg9Ft7cNctiTtSF0psKuUu0hmhn2hN6YcGD9Fs7VmqqP5RLxDVECgL1GISEjWKN5u6SBAE5Ujo5L7q4kIILumVp2XZpbuCGXKkxIANZ+mQoKsXiH1xNIJiOFwSV5vOhSwhZBVCdzvbssvNX58ZwnHMlucto7CCAg6rzC80mHA0UA+icZ1awThzQwAFCvSADEvqeampMt5Siva/xwVgRQHbbaByNxi3U8G4nPNv4DULDFnRa3L+ZRLE6rm9p7mjog0AjJUXs7VXNPqzVLfGk3qhOp1pxxt3o6eHhJVQtRLRIyM4eDphWiaD59eeZcAUZhVR6A8QHURsK3X/9iQ2rr6r9ofOiAzy80vikgRsE8CTVDfW4Qn+IsnEH936mpPMtsFPNXywatk0ZCrJRaAftxcMNx9sfYvcoIThxGPIw3IzbmKT2BUjvz8JkKLJnU0pSaR3vFdFqqlEzE9+Lmantg7/yBpVyhJqjQJLD7FGpT3aJRzPucDsmTCPTIcD5eUgZfiP6hTTE2QOidVMFN2U2mZK/PQVVDNTpHmYhQjUapRnWOajSWidvIi+0xGuyCVkDKDkuPcPEhzOZstnzehPrb9+ragO9krQqHDoYSY8WvJBObJtvdZmMJrJaSexVg27bh2dcDVZypvfprzz7um6GJq7tbVV45+5hm2JrG0xSbkkWaUyqKfySduA2qjVaYs4+ZftZbv9r2klfexqdhf1enBAhAeP9iqt8blgHEnv5QtO0Zbc9Zd1noQYCPY5hXRebLxBuz2aNAEEDotCnrPUZte9VLbri2L8PfcJ1s6mZ/NXnMcMf/b56HhtucviZ7XZVX44l68yZapy3wec5hzr7D7lfdIXSLtN1/yXmr3y0cjsUvn3DKNt/o9DuXKoWQf9mn1gqbewuWI4sjoxt2y8jrB2bPfRfEi/1q9GA8Vh4cH2fxEz8zggFqx2ir5/QKdEUQjVeAAkMUWctkDiNL3ub6zPVZ9ww0JwsrezQ11ZUqLCVScyXoLfRYLJtzu8/THYWa4SNGZeLsNHw0DUh6UN4yvHdqf9pZIvBDJKUS7PwETGHXyRNi4bKF/DDja3OLr5jJVz5BOJMvNM/c1assvyZetrfhpZEhUcbaaqnXMIC39BQKiHJ4Z9rq1OL5pH+uM+ruHIwgL8YtIz1dy9XOWo/VBn8rnr4G4fsKEVwBSV/uW5wtzTrUUFizhx5aiI0erI71WDe2IuYpylecIWaBRYw5YmCegjThSHozeNac5z8iOym+RZmALI6ddBKfF7u7YX9nXgYCCFdEOnnQSCzML/WJF5+HaLpKUtAkBelqCVrdn6X+MLDWcZuRRetnoj2uN3vuCLZMxXpOhrCZZdb6bbM+HdePLgyVgxEQhOqmuD3usnZKHg3TPeXqvtw2n4xhUAbmRw0xpOTSQtllgdmRjW4rLAAhHbIz7tYkGQUCWl9urFz1OHlxmpfynRbdrwuyjK6sx7BSjg9Qjh/AQXPCF1ZYHJXqHsNoOpFpq3WIoM5Q+HoEwMT5TVc3r/eV3MaggL2QSctSNivLgpjPa/qGDdTTNmwQ8mRjhJ/gBS9PtnvD6o+JiQNi8XAER0eahV/5ml0vscjeTXGcHz5mzvIUDtrxNIJspo9GC5vTkC63CkW9Qp3ryVwCMJ0s9EyHEr1TKozR5hl2y3zsHDWW1UXrM08hNB6T7ZaeOA95hGYRSQIaAXbqibpwiK7ppmu6kGmB0HrkpYpot+g2TLx/06qYQdejBnWIa6+rVER4FjH+pw1+uQ+MNMD3vwdci9YfKa1Bho55RiuN1Uy7Dad9eXvsYN4W6yOk3l6hymxPS1TrZNp9kIY9iHYeAJVKZMy5zUPQ0hmcEt1dXeXRC8tlWTSPnwqh4nZxn0Dg3YRHzL9vORpFRU2cN3J1QvrlYoebiB376rdbMnD4iu+DULy60DcUlNE/fv6jZs9G2TY1Hmt3gPUepPMAL+NSiovm8TvqvBWx3ZLX/9U+UoAjXd3x7MwhBb5yGymXCj3gyRrLh3R9zH/pr/2Hp3F2Np6bVT6P/8zDjp3gy3t36vqI/0JzxTNlU9/M64JrvbinPYoyWipyc61kFjdxXpVBYTaVZLOSU4UCAI9xCXleSuZXQrsb/2idGOOthlOwi6LK89GY3Rug07ce+AiyYwuP7/Q4YjpaQtPLbyjA6YbrhAKEAMACAFrV1KJ06uT3GHchhospd35W1U3uWr071EvuVqvVPC9Ru0565hlBaHzqmmts8NGPivzJb1x+GYE3JwE93sanADcKiH7vOd8AcDDKf8t9GnthiuuglEXmZ6m4ROtTrWxK3jpoJRovQlcY7FDmtI0lfzBhWBWbmk4DKPlg0CfzRij6pwG+sgDeDiSi2oXAQ2JEt4HoMzuNH+Ikhig2Usx9dY8uo4mNqF9T4u447dnoteQ2Zwc/NA6qKhz8rAsOAhGQ7t7j5n2INBXzDHkR0PxqN3MTcKAN/gufo/19iFI1HKKZ580IXTe3zcRFw9xooykNzk8N+NKjQSGcsTnHhEi6yDsxi7ZULOLLg5gIeQx/6KpgIIKWVMzMSGMQOPMzzsImCGb8myfRdJSkA6CHtOoc6j6t8Cn05N3LxJf1LLaREVKbKUyzzGbONRz5lAkf4SNrwBFM3Bih3w60d4JcL8eJ1P08TaT4V210mIvmDYuKxJXy5xT46Iuo0GoXScrhINTS9v95M5Bvw0+xF+8wz0VaOMajGSHUR0TJ3Fz5dvv97GIpnSoV8Y7m+5nFIiyvUAofoWqu4GWclVHgGYURrDZTTfwjIMvPPcvzyrPPYQ5SGQCnkWb5C2qU+zLlXl7HfTPw4b4Ne6UdK3O6HS/YJC0v6E7G50/QBg/R76ttzbsyZYYlE1TeX8mr3Z2YTnf34Nu15WWEqc30jW/BCzhM3/CwNzho+0+93B7M0ktWW+DoyBKBOei0eTKbFTJr752EF5ZHdIdFsPYbymBK5kcq5gnGL+MYLLI+gNnTlLT+YkfxZYva7CNwolRiLQTz4+uplIf+2/z4X/7b/PhvsYPa74kXYx3+h2Idd71msCP39ZbN1GZXZTX7IGj3QXStFy9BzvX0+CK1OQG+unaF58xCqmdFIUutf1t7iDfjM6YX216xr81CawfchfAg20B/4IFr8fj6HezTDyPDx3nWdVC+RM5F+aLNnsmXq+w0YilIVzMiSDEWFQiOX57z7sYbGm+A/yQoNb5owGcI0YRp2AH7T88h4KhBpGBjJGrVKl5IULLcZWf+jSTxH6kX9XADdEJQ6035FHbeTFiHv9ftbbjWHZzxel48WCisaxfh2ivu6kxdM7dxNCXeMhS1B2/ctXhHojMZH68F7bNOz856tTZ/QsfGLvVZmvfZX55Hrljdu3htLAKuK0aX+gcOvK0rjTc6rZ5qyHvqmr7uan8w+xfHnP67vt86ANWqMDjZ2hcgLALKNY4hAqfhTjRRgBkQrQG9FCJwHjkG87W64HSa43heH+27K9Al4LsEnj+9DYG4PvKXfxYNJ1RJz151UeM3vcB0RPWPp/F9pl/kqY5yEbeuEMLyXb0SizGxY1BrWdUdJXTkWR7A2gApx9z0iRF7rxMi9KPIjX9t/NgiwcfQBo2Nt4CD521GJN5dHOyAhKLA6Y/gLtgGCJ35xg9rHQDKZh4afwfLCJDPA66dFHjG3N2xrPlTjC7dbtLqMUKaJySsYKH/HIdrsfHhifG2Z8HprYgIuIeIjc83Ptect5Pu1n5CSAfz5I+3FbJlNj9LNU/YN1ELXYvZGcb5twq/Kijnl76rKI0vNL5425vAysblbF4OJSjyvPwrPCY1pN/Ym+y/5QnQbrtdFAwlA05Phlnw3XTlWfyciWDi5srUldY8zBTItf7UarMnZXhyrTnFn2M4GPCMpyyVNBy3zNo6dYdkaF3aqiIGDg9eKaWKoWp2cJpgp6qEE5bIjZn/eg4QKfLaGaUTXclbiWiViffEHKs9Ad9U3dCogq+kFv+puRO0iVumFl+cG69FBWrxlG7uobFjGIm4OaNdm4CXqu3TB4Z33QFWUSKV9hDXRF5185ek6BZhHM1dk/cLFhGKRbBQcwoKP1WeEG17NgxO8WChCMKDKOLMMV2whh48GFY3H7KA1dfnUSAR/8FoCYkAm+DKkvNsdzUCSLBcRgC9s3/F5xk4GgtbECtlIIcJgLY86AimovMX2eFOAPuuDYIj4etxyo8+cnVlzALQ+Ch4D6SoTd5JbbKdyj5PbTKXYuiK+nOtJSjbNM4wyFNi0rWFKjLJ2a3UygfNT9k8DS1K7Y+J+mArGCBID1lkm0vWSKUiBe22WcLzNIcecOSKIAYGJ5xul0zsmrW/YheDHrcen994REIDDiIcBUCIPJOvZ4PhEI+jKqKlkpyfTZ/sAGS/yEhg/tM/s4Yv3LuXdiweUcRpIB2R0bvnp+zAXmdR1EVlBPxcc47jbJ9LXzOTYbibLVHZW2WbmS071152rN7wrB2qTzCpnfUavnn/ZiM0ccRlDfrFF5xblgGEiE+WP3+D7Np3o1dZ0MqJSFixSWnrFju+AApxP+cS4b82zArWlYFcsXzq+IAeCiCuABBm+vy2yVS+4+p3WmB5Uyiy7QLXRHdnDw/mYXuSlPrBNR0w93q4X2AV+tbNtF5rrwdca5s9zff43Evfi0XZe7Fo8z34NTxvg4a1ob3i3fZvMLlZLjJrs+RuDu1YXfYydUreElQNajYR1UDJ7yW8TQzZbFjfhyiJAbWQ2wqyHNOH4H/Jb0QhOOGbeMTkkZ2zi3otiK/Bp/dVmb/1lcx/5v+XPPiKJ/93/l7t/wPyPtI9AAAAAQAAAHwAdQAFAAAAAAACAAAAGACNAAAAIA4MAAAAAAAAABIAEgASABIAOQCEAR8BsQJFAusDFQM/A24D2QQSBDEESARdBIQE0wUKBV0FxgYDBl8Gwgb2B2AHugfhCBIIQAiKCPIJLwmhCeoKMgpyCqMK8QsqC0cLfgu8C+AMNAx1DMENCQ1vDb8OFw4/DoAOtA8ID0YPeA+oD9IP+RAcEDgQnBDrETYRiRHPEh0SxxMJEzATcBOoE8UULRRwFKkU9RVBFXgV0RYaFlQWehbTFwwXWxeIF74XvhfpGBoYNRhMGHsYnhi/GNoY8hkLGTQZTRl+GbQZ3hoAGi4ajBrAGwYbMBttG7kcNxypHRIdLh1MHXQdnh3lHjAAAAABAAAAAQAAdYd3BV8PPPUADwPoAAAAAAAAAAAAAAAAAAAAAP+g/wYENALvAAAACAACAAAAAAAAeNo9kTPc12EUR7/3/rJtt2Tbdlu2XVs217Zs29aSluymrKXX5vlzOJ/z+LlQttpJko2UGMt6a4mlamvQV2NxF3zc0zXYqumBbdU8cNb3BaW0iLXe3GuPJ7BWDMZFaQddoFd0PAW2w8gwnIfevDHOPum879UKqAMTfL3W+BuN89Ea411hr9b6I43h/FjOtvIb7NXT2GChJrE+zr9qGXcw3oZbqJOfJuZL2szdw8ElHcblYKfPVGdrqKbWsOAbcTyAdvZNPb2ohts9DcdD8WBrF463TGiuBA2z0gWH7J9GiHFQS0ND6+wPxI1giI3hzHo1tvmaznyCPdciP6tF2MJcVR3OP6W+wj9cVpF/psffJhb4DHcs1Trh3/CJnF/7d9sUugvvw3n3VTPqtpxcqJeahWpDvTqzdh6vwWdxi1BuwV+1C/cNeLeSthYCT8B4cwAAeNpjYGRgYHr/n40hivnF/wX/XVhMgCKooBoAovoG0wB42mNgYpzOOIGBlYGBqYtpDwMDQw+EZnzAYMjIxIAEGhgY3gswvHkL4wekuaYwODAoKMgyK/y3YIhies/wS4GBoT+OGah7D9M2oBIFBkYAC20Q/wB42lxLQ0KGARB9/0wnyG6WGZuMe+SOEU+QbdvmOtv2BTrAfE3YhPE8ACAADMDzc7q+txveACRCPi9fpCANWchDEcrQjWFMY9kVRwm0Sbt0Q/dcz83cxp3czX08yCPiKX4SZAZAkIYM5KDgn3ODtumK7rjul3OAh8VDfCXQzF7txZ7tyR7tztZs3iZs0KLfw5w2p9WpdCr0Ss/1VI/1SA90X/eePpb8IOFBHNDtZAIAgKpOkQB42qxW13rbTA4dqrlXlRSmgJnI6zWHitPdC8e0Nt31+8itpCXnfvcqz8B9GVDpd/toC5CSe/mbVTCDMsA5wNBCoQDFvu8FAG9+iNHtN1ja/auPz0ycDsKPEO/7mKtHP/tFv2i15IFpWSgCFFpudIQhdOg6aCiE8KODOSUtaTmYV9D+nK9UhauxrCEM3SRX0W5Sz2vM6b1PgMOSFjpqY2HrUyeXy9ExaB3esVjbGa0a7h2gpXQ7ZaNMNoliyz8MOjWDPR0sKMzbWNU+58Oa1l0HE9qA/9vCwtRfO9PGiPZaHpY838J8Pdj5m0/OZuwDbm2Rao28cY5Xc0EASeZNFU2TqrsDnGX7LHnSqT4QG3EEOLjlh6QBtg3y6gWvXoRmGASBSWzhsG6h2PFRvGFni/bmG7zHq3tvoh/josUeP4riIAjaUYCGHQRdBAG0CY90AweLCqiCQj0iTH16y8c+6WK/dKkDFBI6WErpJiagnfQduMBGhmtm5fM35kKvhcUZi4waYogpVzJbrBND2364ZUY7gS8DKwBc2/XJZhIvvVIc7FM4oO2OyGVt7qetdCWgkG6EuYOPaLSoEOybcXBAAVc7SrAK4gD4BFwLA3YJN9JqB1VnYFRoz52xjgZnSJ0epOHsFMOWpCfoIXixjKDdJVuY3BAEE9eOCKPWymgjSzFySTg+pChBURcFjaoU0OeRYZH3KIsprWCGhnhMJbmch+1ow8FxRa4AOKZf8wG0oA7hOO92aDee9mtC0SolBYiDFmXGCR1CHAJOEG0OTqo3e35SaG8ED3HkUH5ysKzebPtvdjOlaZG+nOorKhGTet9PJic1GpGLE3bAkHJ1Nxnjr3H6QqMmgZBs+QnTR3jdOAZOOz5jSQrrrc3MTiH0STUBIWlS/U3Snm7WJS1MhChL4kujWOkYhpF2q6pEInLeno+T0gUPR6WLI5JGzoXw+82bhpgQZeG6LjNQIZsRJZV+G/9rmw+IrhphrNoO3lCJwfIm8c3ylkryLG+rpMDSVEmR5R2VlFjeVUkfy3sq6Wd5XyUDLG0le/xjKSSmJTTQ+AffFgfVCWPtyPjvzOicME4dGf+TGUEJHLMvxUmgvmZQGedJfBbhA6rrAeFjKQkfy4eEj2Wd8LGcInws/0T4WE4TPpZ/JnwsZwgfy4aCpXRgHylKezMELWmruaUkscEzO6vwkY2P6D4+VgBNuKSbMpqT/GC/0sNk9E96LU5GSx5PHD6eSYpG1fNngxTl04yeK32eKXieVv5cia6Pdz4nGjbVcrFe1L4I/ttYkXPJM6PKWF8QH9C8pH4UOppz8KVq3FhycO46VzR0i9znqUWiVocGNFFIvi2v4rgpmzIC/4D4QEO6nTnDqFaI4QVFZeENcivU6Z26JcPCxSFtH8YNCbAU05mLp92gkZ2HJen2vAFDfqasbfufC1AE83Nhqng7cF0JOKghlmmE3AyxpM9e1xCInuy/UkGHbYlFHbXJXNCRSeuQn3RnYyIJ5D0lN6nHkjJsEk4SaZYQLkoiOYskS0gSi/WIPmed6EQuos5F5Om7+yQ9zkWDsNTjAkhbnOpyIZeIpuWeiTCn9k3Z5KTcxZWeLQWTMY1iz2/AkrRM0vSUdOhRK7BUp92rk79dsiZeNO3dbkke+dUTleheu0L+gXMWcq/Fa0pCg1ncxBva3zJ3Ah+WgkYya1To3q6fsu6YW6es7oWxV0VohQv2VQk3FC7aMdXGM0agLnWlhjZwliI8hpzO51TGfITD0s2g84BKWIKGnOuev6mSwULdpZDfMtLNP2qKGVNE6JYkPapOzIsVdOtsqkQs2D1W/kK7RduSXV7k3GkKXhEF1ezadwTf8HIDX9Atf32J/g0dZ1TK+JLWbxXOk3jHLHpEN2zGMuqx9V7xQOP/e66LtNihIIDCt56gS2DKjLAC3N21cWvctXH3xbRtkDpVIbP/5jtxH1AORYUQOhXDCgEjUUECGFUIGKPpUozTgAkaMEkDpqJiCKFNNa0SUyoqik+bUYlplk7QHJ1pns60QGdaZJ0diiWFgGXWCVYUAlZpuhVrNCBNA9ZpwAbrC+2qTZWYtlifaVslph06Qbt0pj060z6d6UCPcX1yAg9tlGtWHjlblMccdBu16ugkykvcnEJvzqyRuDnXmRuSpV4w8jky0Oe4hJ5f6XLi4Bp6cAM9uNW2MVneHSPP76HnD9DzR50zDp6gB8/Qgxdtm5LlvTLy/A16/g49/9A54+ATevAFPfiOCpX2ZZsrqSr8+/O3Q3+a9DGYaq3JlaVzf6uHM78v69ofY0wBR3jaYvDewXACUKM0HDgQhtE31hqXxWmZNBH9BcQ4zxSQDmKjljF7C0Yfn5p9g6KOA50KRIhQhwaEqvUPGsUYOe/iPUvLKf7hX+kES9VIAItrSLkypRqhfO2YBWAAYnxT60ZfL6/7MdeI8R9zX0QqgAzejb9YCsUxKLa8Vtu5EZfzKT6y9F3Rp84LnT0YNIjFaTwIuQChwiuQeNpjwA0kIJBpMwMDkygQn/n/CkQzxAKhL4Mv0zag2DbGPQwM/y3A8tv+vwLyz/z/CuEDAJVBEDJ42mJgYOBkKGJgZmBk4QSyFwExhM3IIAfkQdhMDDwMByBsIOnDcAbKZmHQYZSAslkZnBhdoGw2JHFepjzGNiibj8GE+QugVbJYrhiKYehZv6/IrszMzMzddR4z89/3lJk7dxzLjq6UscMKRUq0dU2TJEWNgE6idJmHGfRM0YeIISNglThV5FKwOiEqjoujPnvtbCGmn9CXykOMPipP2tuRE0ZVloiKYirmvb8jPhVfcqWfDKrmOOqS0K9mLyeOsq5jwdrs26Qcnehn0DxN8IVS33OtH3HPsU9VrL8+Q/QbM6KaJyGvbi6SklG4n0MDWUwaI3T9cAu9P9iDOszSxGOVJ0xN/Yy5ZX03p3l9/m9fLx2zdyzjOee5c6/eTT1rMgOOZVRxnjSIyw8etiraJ+zt+Jeb7CfkOcV523+ucCJKiJqE5ap0x7jbo7U69651CmYVxX6ZyNtOddd8QAm5z5XtP1dwAx/8Ff3Pv+ylr3WYhpG2Hybi096z2YTR0WkfIbY3rZZ78pTEA56qas7AuibuN9R6mLbvD7y/+5s711nMt8cAAAB42mzB02EkABQAwHlr42zbt2cbse0+8rf/6SXuJGYlSQOZkQCOmhpOMouQkJSSlpGVk1dQVFJWUVVTd8ppZ5x1znkXXHTJZVdcdc0Nt9x2x1333PfAQ4889sRTzzz3wksNr7z2xlvvvPfBR5989sVX3/3w029//PXPfy1atWnXoVOXbj169ek3YNCQYSNGjRk3YSYS5jTtWY+kDYeRinRkbNuxa9N+ZCMX+ShEMUpRjkpUoxZ1CxatWLVkOXu80rxMAwNHAzBtZGwOoZ0tobQjlHZidU/MzU0E84wtTVhDMlJLEtl8EnOTUhKZIjKZAjJZgzPTgQpCC4ozc/LzmAMyMpkDijMhGhwtAV3xPq8AAAABAAH//wAP) format("woff"),url(data:font/ttf;base64,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Ki2wTCywOSotsE0ssAAWRSMgLiBGiiNhOLEwARQrLbBOLLAKI0KwTSstsE8ssgAARistsFAssgABRistsFEssgEARistsFIssgEBRistsFMssgAARystsFQssgABRystsFUssgEARystsFYssgEBRystsFcsswAAAEMrLbBYLLMAAQBDKy2wWSyzAQAAQystsFosswEBAEMrLbBbLLMAAAFDKy2wXCyzAAEBQystsF0sswEAAUMrLbBeLLMBAQFDKy2wXyyyAABFKy2wYCyyAAFFKy2wYSyyAQBFKy2wYiyyAQFFKy2wYyyyAABIKy2wZCyyAAFIKy2wZSyyAQBIKy2wZiyyAQFIKy2wZyyzAAAARCstsGgsswABAEQrLbBpLLMBAABEKy2waiyzAQEARCstsGssswAAAUQrLbBsLLMAAQFEKy2wbSyzAQABRCstsG4sswEBAUQrLbBvLLEAPCsusTABFCstsHAssQA8K7BAKy2wcSyxADwrsEErLbByLLAAFrEAPCuwQistsHMssQE8K7BAKy2wdCyxATwrsEErLbB1LLAAFrEBPCuwQistsHYssQA9Ky6xMAEUKy2wdyyxAD0rsEArLbB4LLEAPSuwQSstsHkssQA9K7BCKy2weiyxAT0rsEArLbB7LLEBPSuwQSstsHwssQE9K7BCKy2wfSyxAD4rLrEwARQrLbB+LLEAPiuwQCstsH8ssQA+K7BBKy2wgCyxAD4rsEIrLbCBLLEBPiuwQCstsIIssQE+K7BBKy2wgyyxAT4rsEIrLbCELLEAPysusTABFCstsIUssQA/K7BAKy2whiyxAD8rsEErLbCHLLEAPyuwQistsIgssQE/K7BAKy2wiSyxAT8rsEErLbCKLLEBPyuwQistsIsssgsAA0VQWLAGG7IEAgNFWCMhGyFZWUIrsAhlsAMkUHixBQEVRVgwWS0AS7gAyFJYsQEBjlmwAbkIAAgAY3CxAAdCsygAAgAqsQAHQrUbCA8EAgoqsQAHQrUlBhUCAgoqsQAJQrsHAAQAAAIACyqxAAtCuwBAAEAAAgALKrkAAwAARLEkAYhRWLBAiFi5AAMAZESxKAGIUVi4CACIWLkAAwAARFkbsScBiFFYugiAAAEEQIhjVFi5AAMAAERZWVlZWbUdCBEEAg4quAH/hbAEjbECAESzBWQGAEREAAAAAAAA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) format("truetype")}@font-face{font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,d09GRgABAAAAADAcAA4AAAAAS+wAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAAkxAAAAFMAAABgRbOJimNtYXAAACUYAAAAswAAAQQ+LF4HY3Z0IAAALSAAAAA5AAAAWgK/GZJmcGdtAAAlzAAABrwAAA4MYi79fGdhc3AAADAUAAAACAAAAAgAAAAQZ2x5ZgAAAUQAACDRAAAw7L0BFWdoZWFkAAAjNAAAADYAAAA2Ys9C2WhoZWEAACSkAAAAHwAAACQG9wNBaG10eAAAI2wAAAE4AAAB7vsZG5dsb2NhAAAiOAAAAPoAAAD6KsYfdm1heHAAACIYAAAAIAAAACABLw6QbmFtZQAALVwAAAGlAAAEoGPVglxwb3N0AAAvBAAAAQ4AAAGBX3BMx3ByZXAAACyIAAAAmAAAALJlwgKGeNq1ewWcG0eWd79qBrXUopZmNCDqHtCAsIcZrGEmewzjSeyg42yYk+UNbJZ3/YUW4mThl81d7rwBLx4t4+9umZkhcJTRfFUtyRo7H4OHutVV9d77P6xXbQpRKYqiPot8FE3xFJXW0pqZ1qKpd26nUsi389sU/BUecyUe81V0hpIpJyX8rUORGJRqtjIom0n5vMjnjfDZtO8GaUuakbaeM+AJA8AoLBjw7NYWnl0P34RRe7aOZ2sOFvBsD57B8VErZ2Wi6T3X4S2tPuV0gvOp8gVa2jrStNTbC6j8F6/ZsdtHi3jNg9QleM2jhzoEsmbGSqeybiuXTvl1L+K95+58Xo7Ht2m/l+eiUR7f6Ckdf8pHIz6EP4oY2UzOsjIX3kbxhZW28HXUNFgrl7OKkzvUm25apBmFV2AODh5apDmJczR4vWvrTonbPMTxTuc1r+IkJx5VfnTeKNX1HCeozmuuUeGvRMHPfJzMOAgHHTxAjhElnil8A8C+Fnnh1L48CAGWDuodFtCcrAhQ+Py5J+Xr9+TzwDucbLA6awF7urZuzmNPwJpN7H4WzqI/UAkqTfVR0sc6sq0t1QxNEMtZGPw0BgPDwXtNw4z6/DZcvmjWMI2shZ/oWdPA13qW53xev25GfD4MRTZjWOujeVpvqq+TVCndy45sbIzk10dlp9QzKcrWtMw8JPWYV4vA10TqYWfkKiXZpjp8PJoGvkH8rvNVUzMnnck2KcWjOaFdQf+KnPOW1v/3bG1/ffZ+5sQJRu2MRzspisX6/iwtYAlUKoxlGKFWKeeAMj3WnWmO6i6OYrEoRMtEdybRWU43ohGb3XQKqw8zaxpxYgk8R5FB9hjKnsPZ9//dWX/XMd8RT+xrDmTivQLtV9WQnxaqZJaV4fWMIiqACsMsywkKAnjG0znX1erSGkY1xyuGoz9cu3xxr7GaGjzSk5hBobqhkS4kdXqMuKdzVlRE4eUCzTgExCH0H4Wbrlvcd5nG9WeM5OHeC0djjTbt/gZ9An2RGqaWqG2s0SOrM2O1gDXK2giYJscVsSgJZlnkb8kXiAljfaewhOQrmfKneS9HPiVyp7yQKcKANV8cQRtmhOOK2idD0Nl0v9/Vm3XwTcLIWJXWPKI5smq0gfNnzVz/LHLdpAV7OpioMhYBBDAFgKD9hNzSvi+BCh+sCTW5RVpj1Ea3VwB1vh30IKqNhkRv/zDvRFIM40aHGLGjoTaaT6vVddrgvit6E9vDbmF6S01Nj0SdyzcwHOtDiKMfu1KudS+gNjPZ5o/1dkpKNBioZguzyxteL4SSEUuk6yig1uGb1Fk7BnFPsQDnx5+NV4YaCs+Z2OVgGv3BniPSeI7fZVlpnnPpetScOK1NSQ88IE1pA+iaD2ry6Z2bTssanmXhWV3nzzLNtO538Zja98mE02RqHr0Ojz+987rTmoxn9UMK/gbPGsCzmkWwPRN7pW7m7GDGn685ErqIdk3dX7wyTOucVVuWYeKv/iqNkw5wtO5yBhB3gBe1KpnJZvSaLCPbjwDRAc31imfouCfIDN6mejzqbYN0wOOS2VDI4Qyxsos8CIW6aY//Fc8wXthHn0BfR+OUD8ugcViGXMYKZwnnuhbGkTescRFTC3eo0AyS6OChyeks/AtfxRf++fdV/Dvf6cB3QkAo/IuqQhPR2e6rqbPUVkVn6f+WzvZqTKaeBR/QFI1nAIVnWNmwTwbp2XweP92gKLJe5SlZb2Nra8vmnYOPY/ydRGuEFuTSfj/vLQcLCt7FOgQFCo+ynIT/HkA/k0Dh2ZdHJUkWJPrjFKLM3d/AF9FpSqMMnJNqPKKd54j450UmqxRj9KIv5ewoc21nvrvliumOmYs7MrTjO5w2EKryeppcPq+WrqnS0RWddeP/9s/zHeur7xuIvLkJ9XXd+8a+Lq8gVL32unu7kliCRQzAE5i6B0vA00AoY2vV0r5wNp3NRG33zh68tYvXby586FYAR6LLgba5HLfz/nz+heeBUQEISk14nU+jRykDr1OrECRINMCTTRPzXham9GWR5YsxAg6Nd7X1akxVkG25Xp3JHESOvNhk5NPyAw8UTo4mst3VSfhsz2LPgCsccdyihgduc6pDo2KsfrRdhpXZkZZUNtKNiZPYBp/DkvRhDjoNokU/BorkG9OMZjNpmxy5JTjyGFSDfJLKpbGLlLjb6yOWVb/Vme5JNbe1gVNrcIeb25tS8dpqnx+FHdlRpDJ0/1GNi2vtjcw+GW5fOzEn8veZyX1d2REJDAMQEtTexobmKk9LfR1CMalJgMGMx9+VDkS8dHKKV1dumJPi2AJCmP1vovspBxXEFuBUeWIBYGshivMpgcqj2cjZ5Qg44fL9+w8WCjfeoAOI9zICopfQfaiwf+rhh6e++rXCIbiG5Vae550sAwSZ8O5v4dN4/XaMTEwjyKSwL5hFILBJRaNaGFPyponTlSAoGV4OWwOOFj/sGEDDvBpwRzxsYyMsF0CKJbOtg15+oSeeuGjMD15JZPyzuZnB2wNIdDUKNMAds/s3uEB962pUz58MqPv8DERcLjaWpChU0tajVDM1jGXubK2niMwpnXBjGw7Wh5WyrFyFJ56zecLeQD6kIzb/FY8oJV5oyWUB2tJ9qw5AABzk8pzqUpujKSs8muxPtaaOrYV1BcmMU2rM1nkNwSErzUE3DmmPeuIx79FlxDiAhZQISMhNHt8ebYo3mQ9v3/5MxFH4Kf5sqWMjGVMQklKxifFoyra8F+FzGF9POQp4cPzgOZrzYe0Vzc7im+Bh6f1h/igjNDzMyug06lqZdXy28J9dLbKeb/vjU5wDkZqrGePyWWzFUaqV6sYZ2mpvjPlQseaqGCqf9tuX5eCNSZgYGX+qaN8ElNIfjAwecNVi/3GPwHiWeUgNiuiWxYVbkDiYQiyd6nrLdldHJt31TF0qbS2Knivhhfwl451VuuKfiDGefKvk27jmmg2f1Jr3AALfdF8umenszCTfV5fvukRHrx3Yo80ENWRrU67EsD1RDKuzGLrId3ZPoYE/sPnlOcww0WauFN/ua7d6m6vcA8cHF8dyIrg9yYRbae51AIOk/iVNaR8XUKDW/4lgTbKTB2BjQVcgoIYbeBndFa11V20++czx4QYWhcNxWl7oYwIORuxF8jWD3prOMTPUpA+nxcOi0SFxwDtnM/XREWybxYgPZ8neBktDnKi086BLkR/wr8Jpsksh2aY0luxxRPa8sZWss1XOO8WpleyDqA7qLvR1uJqS7H2OzyGg4p4kTIBjw4YPX9bS+DpsdKjoVqda+EzhMy4XugV4mnbuvFol9b+gyAKwzzhZYGmeUQSerGxRFDyCPoVtycQrx2Mezl7ZMDNFpyra0l4rLYVHwv9iNZg9PQ3y2HzHqgwzIAXzSEJaMj3RtbCFBmACGE8NiLOj+9onD3PhWrOj8cgAEsEfTkRbd57B4Nj7rRfRNuagi5rGHIz2CAQdtmyzRfPQvfy5qjNTcvesQdio1I4kJxFW6XISJKG95O+vufvT7vADR11z2YCrk2aU1W7e6+NGDx4c5XyGzjqtOk/t5DEH3LYpBwYzzjnVVz3RKDE+b6dDba3S3Z2OoPyNt/V3bN8pxl2BuQ93+MaOygDq7U/croKCoDbGeW9bl+pOPigD7WadPnc7FJDasN1eFzPtPwPFGI5uw5Wii6rHktbpiEiaxi6Q9rh1HNPMMKmV4620afpKgTwVehkymdtuRbncUOFX0MPCgNykh0QQl1mJRj9DfwuFxwqPIfQxRJ9WdsM3jm1EeTb7vBLieWw5NLFTtIVpVlGNdqxoT9TVAEVjulraX/Y8vhI9ybeHbNXSuXK09BhGM7LvSx9svPGt+lWpoBw7wZqXh1jNt97pj9x1GT8zkV+snqpThmrMSKq9eXxlv94+IqCIG50BxjdhGoHAeFQ2l72uaKS5T2YB0BUAPwIeJzFvqt5Z+HtNfBlYKROR+MaImwKqG9vGJPo05h1npSCpGIpKrxQ5xdyztwZKFcsi1Na8L+PiV7p7wuZYY6pjtNUBiE70L31oa/TKuZO0l5+drUbdoWoQZ2ZOLvXPhr3+WtHjaRT8dXcfuemhy+dkCEo0sdA1/OsUxlCjIlhvfg9QqIxfGUDy5TFwkkynyj5iGmvveIfjxN1OhJzLYwcd77xJnp+ZWeBz6yFjvN/AmCDP49d59aDrrpURJ8JYoJ1vAdvdPrxx4PX1RPoVTLcJPUU5zlWVJAebvjD+Slu+Ffinjz4Jw4WPnzmDnpqDb079DlZKs1Q8S3rlLG0Fnn78cTAL3yYTfjZV+GIJ41Xsfw14vJfsD+IpKxvNpjW+nEpLCVbHxmkUK4Kiy8Eb2oeu+4Z8aLul7djd/cmZodGN4aQLGHZiy8mvXbeZrx1x3T1V+E824ag7e+s1h/KN4aDOHASa6QPpgauOvjUglfi9guyfKvxijvFPVMMMH4fx48cLz6AzhW+DuTNBxMVzVnH0/SSeQ++ds3ocndmZoMDOj6/BT334KQ9EIvzUxXPFmo10X+xiAOouAu7gZH7GTTMMwzdOLrvvRNnCrws/50dnwqJfxxLyaRztwbaAu+0VK/R8OqRtJ/V79Ggb4njf2jbA3MlX1w9pWuAP6pWXXiPNNaIzWEeH3hgedbsbCv/F/8iTzqWmHxclgOfxivxeCSys1dXjl55qx4K8B2AejzuAnVjF4+J7xum1SHfres7ThyyL4ER7VZrnoyYyzYimHXgDC7ImvEcB9zsETQb2jZugxiNT1b7V0KMyAnRGpWtavYWLO8VpeLO3tYZWMbBJaHGkLl3/x31WHp7tkQtfLXylLPllmL57L30/Jk8UZGYISW3tbZqQe0f/5tu0vqcDDDoT9VxR+NI9aGtnIgp3wA290s6DJNPgvsLj6As4CrZjL2oOOyv5vxJ8iMXhr2Lwh8x55ma71k+HRoLewavMLsb1titdHq/r8Hg0mFI9C/DOg/O1osSsHDu0JPh9wvwW+oCJpNmBQzeGg9d9WEPIOR5NrJ/IdYxfU/jFxafcNEiPXHrycTdC2uNlLx+3o3MdybHneXmZu6hGYqNWiY1r973ZsXKCVa+clDZWH+UXZmcX+Mu9EIgQ93ZcN+nWhzZFVPgDCXSF3wG4Nzh/W30LZePxahuPODWO6Q1afgbTi2PVRg2zDEQxB+7FiHyZGSObxnhUIk00UmmhkACIApDsFG+MJpSwcdWBIkCd55BzDnrqpNesX1pfDxznZPouWeEcyeWq7Pa85POziIEojM1KyRFGWisjFjkH5Yn5QJUQRHdBooXlNHbu9hOPK2A1zF174iEXAigjeYmdcxpInqupIIm/ig1TIo/OR7ABYTj35BsC6d1vFq2GXO/ioCIrae/BTAbWVt/+147FhYUDwSWsLg/GFkRv1XJ796EA5/UuRx8GgFPvKXwBXY7gD8B5hzmDmyDWm8CR4AXcy+rF1muR/GFZBKNze2Pb1oooVwJcGU3MbZnjkjoS7u5DNTWK5jKSOTWU7tfTw5L/2tnVaa8GNBMfy2aGZQRK0tU7ELSG79gOBdfm+NThbg/LKb0N/VFJdDiVwP6e+urBGVOCI0DT9aFWk3OrbLsuOF1K9cW967czSpLFvMcwiq9BT1Ii5p0r7xiiJnZ3PoYO33bb8dvQ4bk52HkYHQEi6yr2rzWMehSPD5X7UP5ylszZ3Vivj0hWdDRb9tXjAFKsaah7UWEANoEBdamzJTl7S61TAPjMCy++JA7EWvIdWutXX3wh1vWQRkPfls+90F/bLGKaKubxHkwzQHKHTTOTTutuTBJD6sHFm49DJDAZSM3lAk+pAI7YPaG2NrTL0pfT7C76G9RbSEzSbMur4MQkQjuHBUkS0CNUcW36vXhtsiONltcmkc+n57LF5UkUxBdkA0qOC2g6apKAxHM0H6WRmkojfw13GEAIbvuP1FwvAhJv5FSGXts+ihv2dwj4/obQkaPbuIoSJ7f9hceyLHBi6w2wOXO8cHhWlhfgMV+7rCBAuMo6DRPw6Sn8YeHQRbAB63vkrye7Ojs62v3QVmSSIKkXC1Iu7SVtPTOD7V4dHBwavKm2rx5umlkF6cMngb460w9vfOONFx/LtW4d2H/gwHvNxSZ05Y3I8RKi3zuxBh8789a3wuzIWwkmDKb3LkyvBtPTbUwsQshrYTwI5bTK8Dy2EGLZTE9v8r0sA7J5RYt4CTirwwn/my66u25Cw+Lmn1dZHpCv59FBFXQzORT+cuG34P9K64kqQsfCdNoxHR3TcZRtj0a4m48dhTRmPO4scZPoKPzizMcSUsd67b0F/szHcMdtswldMp0u/LLwSwQwn4UgBPEFXvPgLgcS+kMl4+mkd4F/Dn5kefk/6F9NvfzkFKHt3+Woz5TG0SU71qL4x/+Rjyyj9029HJii5/C4WeSER9GZYleqgoWfj0RxBMVYR3Fr4q1Dk0MDNNBMnTFQx7W0GHEabS8szNEAEwaXzQLQhCa1ex88v/udSj3hw/LC81dPYY4QZey+BO+CL+I+RBeOZ9lW9fzMhbdG55VKVhqHlvLmhCcfe7xFH8xmo8Qe9g+OR7jclAgbct+yX2hMgSO77zoPsM01kwM0jxAgui0VieVkVu7PxELwoQjI0x3iqXebfBOS96VdTGNVhA2G2HCiEbEAuLZgCt+vDtdXOWq8SBE9hOtJ3HH4CcYnSDWSnV1Id1S43pNtDdO0teDxFxNsKefyp2f3B72JTsU50OgPjnYiBtDmBu1uqNe4bEe6XVHTcRHekZL8N0x3RFMTqtAMNAAua+8vzFVVgTx7x4KE4gJBN4Lxewjj10aqeIAiF8VTIUzs/AxvHwrxFxwxXNS30Gk1ySpNRzKtVWJrusnwhfJDKgJACIn02FQ1N7GlAChw96ASIKdACPndyLHQk51xiYbg83m9CBgUBsfls1xVtbBAEApjvp7BCHntPBUJFHtqGrG2cgIubTb1VhQtZ4ViH8mCQxubUt+MTxyN1/Qkq0Mzw5zqDnvFWJfLfZTzuAWzmoN3Q+3ORIJvQ57ZrndfF3A0TquqI14bs+7SAckxkXARwlw8DF8i3RzMhRGz66L4XvHL/S1f+Fwjy8IqpA3bBQlX8O6JhWp+4iIHQsp2nncstrcwha/L9VOMsjTIcaNqewstoo4aub4JHFdMu7we18xVIvR2HfcwVTXzDmihx1gOoCUNcreXZJ9qrLj9eOdVh3XmoaDYd8OWQZRF1OUjvhslflniELjGhByuEZoDImLRpcc2hoeBn+9i0aflBUbRZVbyZvrzhXvhVfn2DNe9IgJFY9lT8HP4J2qAmqA28e50cXLfsCXSOE8bmeK5EpHcSGISOK/oEdOWmDf1ck62NYIxqTT/yphlyFDid3TKTvVmpRXoX/B7OS64Nd7ZxDoHh7GT4szRzDhoD4v3BMMJk0Vc7b6lwGKdH7lunZm7xYV8aKe50WhqMhrl1KpLa3fvswRNR/KsUTMTFaXG1vzhCAeMbprAAzCoJZs/pNNI1GIivlVbwjGdT/f3ZQRXLEb/5kAqu5ItPBet9bo8PEJM2K+wgWqMeh6j/lwp7vp5ONcfs09Myztf4q7v71k64WVgE0CdjHrrONjcgLt7LtIf+8CDD7Fd3rpu/jV34nUQ7pxS1IfR4/+NPhW28+HjRzbQwPHjO5+Cs4URCu3+w26a+pQ9ugqPVtjzRnOcDbDtFJmiGa4d39gA4Bz9LQ3tERei6dpYSrNXvBS5C//245S7IaM5hCEWEBOMkFhAQvw3ixVDZd+DQyZXLAmjJHeamJJvavXozBUL8xz9KC0c7XdGfEhUWmS8D5w8trS0JjLPM8oBf6qOdijtyt32mRqW9AMX7gknNkp7Qows+iq2tCb8VC7as1+3/lvoXgi1LwftyS4P3712AeKVq9V++KdoXBg4H//KFXymq7+sXcxDNeGBsbVLivX/toYfsUbI+cEJH3MeJXiDxUORTmX1UhT5Jo6xmt1bCnkdpENIeff2T206xC0qYQy+eduhamH4qMq/al2p4xbU4b5kvKEn1KC71qDz7OuRY3Ooum79bgnUb44vRRvmtps8bH0xu/TBT7EsPipq97K0Sk6sHA1ES5mlVG8X88q+oz4xM7A8zHn2dQqAc0p9p8a2DYzl0oYIb0/TrtfPrtzlhCbuV+g2b+HLGZCXevoOxIRixO6DZ2yqMUy1PqBImKpVlk3PFkM3T2SOVxILiZfhzVG5hutqkuyoXa1lRqHP2WgGA/FEPtMZ5763+RoR5JjQuXP9b7lmmnPd9WC8QfFMtw1upISidcE4puwkuivlMBwCiU/wtpQfHlrkpY4lCcHGMrx2aIEZyYo3XA+fIUq3tXMcaydN6jaKzE7pXp6vHNdVTpWKL0aUO5fFr+JpxicW8jw/NZxycDVSsl23PMLqzFTe7ZRGx/uddJWjPeNNeh0jvawAX6yDBjNepSg1TlYSlRrsriP7IgI9xzUaolDjlERZ8ieCoc5RHgh/bszfNOqmajF/GrHMuE5aaqVNaJZE+TSJ+KX9RA66PPVd3YqqmAIzPbf0utcBEnTW0bw1jlQfXzXif9MN+dtvz193vZwQEU0o5DGF53APPEjySXl3ovtLppHdm3Pzm8DVRWarWWwc/MiV9W6DA1CefPJJn9KpNNz8nsKIybSInn6htEuAT+B1NVIt2l6PzAzed5AWRc5NtgX0X78fWtuQ+7AIB+o2PoDtByGUKRT6wyBNIVQYK66CHsCrkB5Yla0fsrfw2SW1rRkrY19zThS1dxgYHbKvMdX99JIA7JS67N7HIxCcXe612vhwOk2vsADxJoVuaxuGs1LhDyuiNLrb0v+XTokGJbbv77u2b/o+SBDKS7zxpvtNGb6P+cD/4IuYD1LfuwlKlonTns0Fpkf6PnrULtkI9dxzf3tRT091fVcySd9Tv+JrrQHpokE1Jog10f7t537+zcnJSOMkcB80Lw7mIkhZ8yQluSG59hMbt92MjVszphRgbEqGWdy86dni1o3nEF8pEnHPoXyElvvsgU1oa3dczoFwTGhpSaUvYapjfiMocSRJKHVRB+d0cnXw/e8BhHepOUlcBd4Ld91VeEEYrtYAaACYAUahhZAyT/wDs/RWzA3xLqlyOsYXT4Htk7GLr7zYq9x8c+FN19x5DVw9kXzz66pcMJ0+dRrsE+pPwyMwbkdWF8Lzixv6YpLChmbnrWJ89UUX6Y5EVSziYfggPUVbzdXx0vUXM+PVQQZaFLl8QWLOMTQG9/y3MijxiWNbR7bQ2Bb+h0fOIye0kB2JnT2DPgWRkYSTC8oTnbwN5k0tSt1xs0dGSOqNN3RJ6AM97Zej66tj0ZCgOPiaaCzEOxRHY2MDlvBNuwNQt/urCkJ6UUXYIiNZLO1HY4bBMhpf39TEsp5LF5AsN3vmAf9JlHMjnL0wN9pZH4pZHz/14adOAT/li9sVbW/Sz1rROiMQZ1El4SuH6nwaBzzw51I9Y/w/3pnNwC/hA+g+ylPWrMewUmmyHA76fp/thcasvUxLC1c3gJcZICujewCyWc6YAKDn8LJkrVHUAE+g6ysoECsbhUtQw+wsef5PmO9HMN8O/FwAsM/XeS9n08AQA9u3idyGc9SIC0IYM4vA16LNA4GY2CCendg722Omi20uUtQso80+R1gQ4sao03DjvseCOyHLMK+1+Eh0hJfhQ2QnQrRLvNGdsvs1lTfI8I3/q0sWPZU1G5utBZ9nikazlimymSXd39XSYLCiaXeB0ADujD++V8Y07imTmgxb6A8xj8/9b1joj/83LHQR1WH0Hq34oOf/xAdR0yudEFEXlTQjUT7Mt1NmbB/sQ8QHsH7S564uol1+Z1srPYI2zl0hp9Q6nAD+3Xz577n++1MUd/4pibYKD5w6RU5Hdh4gZ9YURfsxXZHyY7puBweErsc+r6vP5sAw7GaTns6Y6AsPX/7wI7DjBbgasYCc/yD/+Me1D8IB2Cicxr0j/A+NcS5G6ihs6ED3wQrWUcfub9HX0RcxZu1UBu9/Ukmzxlt8e7LS9i12fSs7YriwJ24fcWJT7njqDkHL988fU7DMQ7X+0TWlpla59iEnwOWuQFtz/8TJdSHYbIwvJbsKX4RjsPauryoQbjh11N/uvXopqnU4EHL/1S0SjKNg9N6DJx/QkKv2/qOXzuwvfHJrqxin0RjGw19+b8rGwosToUHSos9rt94imXtPHrvqpJVjQL9HRNVNl6KWRBkIBBI7Dh+dl5nA1qnCJwSEISY4o6vQk3aMlTEOokDiLF30UCj9tKGeAgNnd3YxC2tra4WfrK4W/nFtjSqfIWFt8nu0WTw/Qjo5PXpqZxod23lPqbN1qrTD4u2RpEowTbu3qhf9lSNpx+J+RF9zLTr6hz+ImpYJXryxoHz3uxL00+iee2fnQPb6+mtvvvNaDZZLqxI9kt1FUDrvnNIXtes4coMvyy6h232iFKn70bWooVb39EjMcc69Wu+qpjfZA8MudSTmVwFFbmMHD7GbKF3bIoTujP7u85//z8QbGZc/LkgDq8gx0TQJrjP86oBE0edkq8YdHwuj2NrSWBOQMIrx4gsxVoqEEdyGLxlVlPCWzRQZLVahHgP7wLnTDbCOvef+I07YoqM1N7b5fJ0fpbeQO7SmIaQdcIWuEVkm4ZlwooaGy5x3Hj5wp4Zy2cs4seFI80bTzbWX5bJ/er8jsiIkhJUYy8EQDYVnZSE+LfgHmhvKqGF+OzFqNeVzOpu4VXyflFTYpMPB8Ygn6NnmbxA0cSMiW0LSPoWFpa0GzXTJUOfy0tVyhgYO1XiQ8GVhS125VEE8ctQhDuhMlg7JCgArdrY+B/9ZYDVnuL9x9p6wClMg9HUVnjfg8suR65bDjmvlpIA/5BuM7aGajlmnfZ6AOX4U63mI1PGVGFcMnba6SeYkbOOipQTjBccJ+BGRzMqUS/vRmgePv+3ACDCRREJSkYxafPMvMzGX3CYrV60vXSGAgi9dMebleV8LcqhSYlhmUXD64kNj6w6+ZX1mNhhlAVbUwfVY4FiiqXnu6PoYpzY3JY4FYuuD6goAGw3O3jBY7TUou8b8HTwPHZUMkbV7nb+bmio9pX954VP6l6WnG/BN6uNYYwp+KtNF+e0mt5fIvCGGhSR5gcW5hTp8Sz77xfr/ozdkEfUEfBO+YVMi77sFXDKNLqBm7b15QqwXS6Q/I0ReycWRc+z8//hfA/8VuzyqFgAAAAABAAAAfABqAAUAAAAAAAIAAAAYAI0AAAAgDgwAAAAAAAAAEgASABIAEgAxAFsA8gFTAdsCcwKNAqgCwwMlA00DZgN1A4MDpQPkBAgESQSmBNYFIAWGBawGBwZuBoQGpQbSBxMHiAfCCCEIZAigCLsI0wkTCS0JPAllCY4JogniCgcKVwqPCvwLQQufC7cL8QwfDHEMqQzdDQcNGw0vDVUNZA2/DgQOUA6TDt4PEQ+ZD8IP2RAKEDcQRhCIELYQ7hEpEWYRhRHVEgYSMhJVEpkSzhMVEzUTYxNjE3gTphPFE9QT/BQiFEgUWBR3FJUUuhTJFPcVJRVOFWEVkRXpFhUWNRZKFnUWuBcQF2kXyxfaF+kYBBgeGEwYdgAAAAEAAAABAABEf7sLXw889QAPA+gAAAAAAAAAAAAAAAAAAAAA/8X/BgPnAu4AAAAIAAIAAAAAAAB42k1QA2j1URw99/4/2zanMNu2bXvZeGHOxsucvaXFKcxpaYhbmO1zn6vT+RkH53ABABEP4JwciAZxiB9aMLzITorlMRzEO2SLJsQQnowHao+YZ4x9j8k5jKn6/0Qq4WDCF+Knje9oYNarXsOMFXhKPbyIL0SO1MFXLiNLpiNDehN6+pPIYH0max3lGHPfkKnVIo/xLLnOfp2Jm8lOcJKd+CMHkMneZ9oAnikm7shS3v4TBcQ73pFIQGzgn7yLWDGOX+Sf5C/CBZ/V7fSjsYNQ8fhmSmwhjnaM9gnRKm7Kxxp6MqiLjn3VeGXIzXFfN56RoWwxzBx1UfqSK1mbzD3tap6abbolgQgnZkwaRqufefeayS83/B0MB6Ubf1F6OShtqJcnY5427MR6aJuAWWv6ffhxC0sxZ2F42mNgZGBgevefjSGK+cX/o/+vMz8HiqCCagC/cgg8AHjaY2BinM44gYGVgYGpi2kPAwNDD4RmfMBgyMjEgAQaGBjeCzC8eQvjB6S5pjA4MCgoyDIr/LdgiGJ6x/BLgYGhP44ZqHsP0zagEgUGRgALWBD+AHjaXEtDQoYBEH3/TCfIbpYZm4x75I4RT5Bt2+Y62/YFOsB8TdiE8TwAIAAMwPNzur63G94AJEI+L1+kIA1ZyEMRytCNYUxj2RVHCbRJu3RD91zPzdzGndzNfTzII+IpfhJkBkCQhgzkoOCfc4O26YruuO6Xc4CHxUN8JdDMXu3Fnu3JHu3O1mzeJmzQot/DnDan1al0KvRKz/VUj/VID3Rf954+lvwg4UEc0O1kAgCAqk6RAHjarFbXettMDh2quVeVFKaAmcjrNYeK090Lx7Q23fX7yK2kJed+9yrPwH0ZUOl3+2gLkJJ7+ZtVMIMywDnA0EKhAMW+7wUAb36I0e03WNr9q4/PTJwOwo8Q7/uYq0c/+0W/aLXkgWlZKAIUWm50hCF06DpoKITwo4M5JS1pOZhX0P6cr1SFq7GsIQzdJFfRblLPa8zpvU+Aw5IWOmpjYetTJ5fL0TFoHd6xWNsZrRruHaCldDtlo0w2iWLLPww6NYM9HSwozNtY1T7nw5rWXQcT2oD/28LC1F8708aI9loeljzfwnw92PmbT85m7ANubZFqjbxxjldzQQBJ5k0VTZOquwOcZfssedKpPhAbcQQ4uOWHpAG2DfLqBa9ehGYYBIFJbOGwbqHY8VG8YWeL9uYbvMere2+iH+OixR4/iuIgCNpRgIYdBF0EAbQJj3QDB4sKqIJCPSJMfXrLxz7pYr90qQMUEjpYSukmJqCd9B24wEaGa2bl8zfmQq+FxRmLjBpiiClXMlusE0PbfrhlRjuBLwMrAFzb9clmEi+9UhzsUzig7Y7IZW3up610JaCQboS5g49otKgQ7JtxcEABVztKsAriAPgEXAsDdgk30moHVWdgVGjPnbGOBmdInR6k4ewUw5akJ+gheLGMoN0lW5jcEAQT144Io9bKaCNLMXJJOD6kKEFRFwWNqhTQ55FhkfcoiymtYIaGeEwluZyH7WjDwXFFrgA4pl/zAbSgDuE473ZoN572a0LRKiUFiIMWZcYJHUIcAk4QbQ5Oqjd7flJobwQPceRQfnKwrN5s+292M6Vpkb6c6isqEZN6308mJzUakYsTdsCQcnU3GeOvcfpCoyaBkGz5CdNHeN04Bk47PmNJCuutzcxOIfRJNQEhaVL9TdKebtYlLUyEKEviS6NY6RiGkXarqkQict6ej5PSBQ9HpYsjkkbOhfD7zZuGmBBl4bouM1AhmxEllX4b/2ubD4iuGmGs2g7eUInB8ibxzfKWSvIsb6ukwNJUSZHlHZWUWN5VSR/LeyrpZ3lfJQMsbSV7/GMpJKYlNND4B98WB9UJY+3I+O/M6JwwTh0Z/5MZQQkcsy/FSaC+ZlAZ50l8FuEDqusB4WMpCR/Lh4SPZZ3wsZwifCz/RPhYThM+ln8mfCxnCB/LhoKldGAfKUp7MwQtaau5pSSxwTM7q/CRjY/oPj5WAE24pJsympP8YL/Sw2T0T3otTkZLHk8cPp5JikbV82eDFOXTjJ4rfZ4peJ5W/lyJro93PicaNtVysV7Uvgj+21iRc8kzo8pYXxAf0LykfhQ6mnPwpWrcWHJw7jpXNHSL3OepRaJWhwY0UUi+La/iuCmbMgL/gPhAQ7qdOcOoVojhBUVl4Q1yK9Tpnbolw8LFIW0fxg0JsBTTmYun3aCRnYcl6fa8AUN+pqxt+58LUATzc2GqeDtwXQk4qCGWaYTcDLGkz17XEIie7L9SQYdtiUUdtclc0JFJ65CfdGdjIgnkPSU3qceSMmwSThJplhAuSiI5iyRLSBKL9Yg+Z53oRC6izkXk6bv7JD3ORYOw1OMCSFuc6nIhl4im5Z6JMKf2TdnkpNzFlZ4tBZMxjWLPb8CStEzS9JR06FErsFSn3auTv12yJl407d1uSR751ROV6F67Qv6BcxZyr8VrSkKDWdzEG9rfMncCH5aCRjJrVOjerp+y7phbp6zuhbFXRWiFC/ZVCTcULtox1cYzRqAudaWGNnCWIjyGnM7nVMZ8hMPSzaDzgEpYgoac656/qZLBQt2lkN8y0s0/aooZU0ToliQ9qk7MixV062yqRCzYPVb+QrtF25JdXuTcaQpeEQXV7Np3BN/wcgNf0C1/fYn+DR1nVMr4ktZvFc6TeMcsekQ3bMYy6rH1XvFA4/97rou02KEggMK3nqBLYMqMsALc3bVxa9y1cffFtG2QOlUhs//mO3EfUA5FhRA6FcMKASNRQQIYVQgYo+lSjNOACRowSQOmomIIoU01rRJTKiqKT5tRiWmWTtAcnWmezrRAZ1pknR2KJYWAZdYJVhQCVmm6FWs0IE0D1mnABusL7apNlZi2WJ9pWyWmHTpBu3SmPTrTPp3pQI9xfXICD22Ua1YeOVuUxxx0G7Xq6CTKS9ycQm/OrJG4OdeZG5KlXjDyOTLQ57iEnl/pcuLgGnpwAz241bYxWd4dI8/voecP0PNHnTMOnqAHz9CDF22bkuW9MvL8DXr+Dj3/0Dnj4BN68AU9+I4KlfZlmyupKvz787dDf5r0MZhqrcmVpXN/q4czvy/r2h9jTAFHeNpi8N7BcAJQozQcOBCG0TfWGpfFaZk0Ef0FxDjPFJAOYqOWMXsLRh+fmn2Doo4DnQpEiFCHBoSq9Q8axRg57+I9S8sp/uFf6QRL1UgAi2tIuTKlGqF87ZgFYABifFPrRl8vr/sx14jxH3NfRCqADN6Nv1gKxTEotrxW27kRl/MpPrL0XdGnzgudPRg0iMVpPAi5AKHCK5B42mPADSQgkGkzAwOTKBCfgdAMcUDoy+DLtA3I38a4h4Hhvx1Y/uD/V0wHGc/8//bfGMQHAEAjDmMAAAB42mJgYOBkKGJgZmBk4QSyFwExhM3IIAfkQdhMDHwMByBsIOnHcA7KZmHQY5SBslkZnBi9oGw2JHFepjzGHiibj8GE+RegVbJYbjCIYbDOeYq9lZmZmbm3Thh/CCdv328cLOMsWHG0skf+taNAoZpUzSqtjCpyGlRcQ8RpTbKWNGZoiuO0q6TKxvX5dQMzS8YnJjVK5sjwuCJfKaM321VeJHcCJ2qqW7CiSqDo8f4EfAt+1JNujFEmJk03pWtQWlUVFCWzT01fFYsl8kmrNW6dL3M+1xp7qfZD9r39gzfWg9OUxjkroAorBadKDJSB4bfdqBlrkTOjoR/OYvQH00BHq6rbGsfVqCro54gNjbe9WtfQP07tZcV8mxXt57yoPKoIzKz15czZsvlZUxK+607W6VxRXie/nOa4Iqxb87v8QuEGlALVbW4otRkFIs6ZjlVVFZwwRWedJe31kU6JFwoF94Xy6QsFJvDBVzH+orOXdZ2iqnGy9l3FuMn1eRO1ilu6MlzRMlrMiRWCJ1hl1PCA3xXwOAetrtsTuuD96W/ePAOwxLlfAAAAeNpswdNhJAAUAMB5a+Ns27dnG7HtPvK3/+kl7iRmJUkDmZEAjpoaTjKLkJCUkpaRlZNXUFRSVlFVU3fKaWecdc55F1x0yWVXXHXNDbfcdsdd99z3wEOPPPbEU88898JLDa+89sZb77z3wUeffPbFV9/98NNvf/z1z38tWrVp16FTl249evXpN2DQkGEjRo0ZN2EmEuY07VmPpA2HkYp0ZGzbsWvTfmQjF/koRDFKUY5KVKMWdQsWrVi1ZDl7vNK8TAMDRwMwbWRsDqGdLaG0I5R2YnVPzM1NBPOMLU1YQzJSSxLZfBJzk1ISmSIymQIyWYMz04EKQguKM3Py85gDMjKZA4ozIRocLQFd8T6vAAAAAQAB//8ADw==) format("woff"),url(data:font/ttf;base64,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ADAAMAA5AC0AMgAwADEAMAAgAEQAZQBzAGkAZwBuACAAUwBjAGkAZQBuAGMAZQAsACAASQBuAGMALgAKAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABjACkAIAAyADAAMQA0AC0AMgAwADEAOAAgAEsAaABhAG4AIABBAGMAYQBkAGUAbQB5AEsAYQBUAGUAWABfAFMAYQBuAHMAUwBlAHIAaQBmAFIAZQBnAHUAbABhAHIARgBvAG4AdABGAG8AcgBnAGUAIAAyAC4AMAAgADoAIABLAGEAVABlAFgAXwBTAGEAbgBzAFMAZQByAGkAZgAtAFIAZQBnAHUAbABhAHIASwBhAFQAZQBYAF8AUwBhAG4AcwBTAGUAcgBpAGYALQBSAGUAZwB1AGwAYQByAFYAZQByAHMAaQBvAG4AIAAxAC4AMQA7ACAAdAB0AGYAYQB1AHQAbwBoAGkAbgB0ACAAKAB2ADEALgA4AC4AMwApAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABjACkAIAAyADAAMAA5AC0AMgAwADEAMAAsACAARABlAHMAaQBnAG4AIABTAGMAaQBlAG4AYwBlACwAIABJAG4AYwAuACAAKAA8AHcAdwB3AC4AbQBhAHQAaABqAGEAeAAuAG8AcgBnAD4AKQAKAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABjACkAIAAyADAAMQA0AC0AMgAwADEAOAAgAEsAaABhAG4AIABBAGMAYQBkAGUAbQB5ACAAKAA8AHcAdwB3AC4AawBoAGEAbgBhAGMAYQBkAGUAbQB5AC4AbwByAGcAPgApACwACgB3AGkAdABoACAAUgBlAHMAZQByAHYAZQBkACAARgBvAG4AdAAgAE4AYQBtAGUAIABLAGEAVABlAFgAXwBTAGEAbgBzAFMAZQByAGkAZgAuAAoACgBUAGgAaQBzACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAGkAcwAgAGwAaQBjAGUAbgBzAGUAZAAgAHUAbgBkAGUAcgAgAHQAaABlACAAUwBJAEwAIABPAHAAZQBuACAARgBvAG4AdAAgAEwAaQBjAGUAbgBzAGUALAAgAFYAZQByAHMAaQBvAG4AIAAxAC4AMQAuAAoAVABoAGkAcwAgAGwAaQBjAGUAbgBzAGUAIABhAHYAYQBpAGwAYQBiAGwAZQAgAHcAaQB0AGgAIABhACAARgBBAFEAIABhAHQAOgAKAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATABoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAAgAAAAAAAP+DADIAAAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AIAAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4AQABBAEIARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAGEBAgCOAIMA3gDXAQMA2ADhAQQBBQEGANsA3ADdANkA3wEHAQgBCQEKAQsBDAENAQ4BDwEQAREAsgCzALYAtwC0ALUHdW5pMDBBMAd1bmkwMjM3B3VuaTAyQzkHdW5pMDJDQQd1bmkwMkNCBUdhbW1hB3VuaTAzOTQFVGhldGEGTGFtYmRhAlhpAlBpBVNpZ21hB1Vwc2lsb24DUGhpA1BzaQd1bmkwM0E5AAAAAAEAAf//AA8=) format("truetype")}@font-face{font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAClcAA4AAAAAQQgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAAfdAAAAFEAAABgRgZpwGNtYXAAAB/IAAAANAAAAEQAiwEsY3Z0IAAAJ0gAAAAhAAAAMAplAEtmcGdtAAAf/AAABrsAAA4MYi77e2dhc3AAAClUAAAACAAAAAgAAAAQZ2x5ZgAAAUQAABz7AAAqZAEIwCZoZWFkAAAeoAAAADYAAAA2Y/pCimhoZWEAAB9UAAAAHwAAACQIEwHtaG10eAAAHtgAAAB8AAAAfFivBUFsb2NhAAAeYAAAAEAAAABAllqgSW1heHAAAB5AAAAAIAAAACAAzw76bmFtZQAAJ2wAAAGfAAAEiGHLf4Rwb3N0AAApDAAAAEgAAABoOcqzP3ByZXAAACa4AAAAjwAAAKfmRK2eeNp1egV4G0m2tepWdVUzqdUtRostSxaa2Y4xzDDJcJKBzOww81sYXGZmZt79HzMzMzO/tzTJ32qrk3i+fV95oEtVan/n3HPvrVMOQKAZCAR+DkIBHGCBQMtoGcWWkWu+5YZmE0Iv/2MTfT5AArlL38HfgV8JHAncEHg48GJAmROffezum687thQlzWrPbjV73W6xUCx02r1uq+k4ve4sdPv/22raIQuAMfep19SAMqa6TzSXK7gzuay7qeg+Zb2t7oy3vv+MelnmLnbs/pdxhaL71B8hy52xe11v9Jy2u3mwzG45/clN1u6tSxSJ9uRY7cyNs4L8rt9XBBGBDiBzn/lxhY7XBKJQws+syUAxIKiPUBBECA4tjErqTXvqji4Y8aBmhophQcVTCM+94TagGYyee+7ik8WzIU03KwoOymGZIGpLK1t6NxNZLieDgjCxx8RcOES4qVSbpwgHG7sWDi22efHZV/OqihAwfPHvLv5cSAjWBLAkflq3ME8BEMdUlQpBIm46mmOYWZUPGcEogTwavv5GEJtH6M/8zH8XZUGwJzpyKBO3dAEjZgfPrGrvOVKLrk6ULBE7FFAuwVsul6lLf4XfBz8VeGvgE4FvBMSvfulTH3zHARk3qyjbB9rDr9Vrelz1GbM1cFzk+1h6/+lz4lLisdZ/HoDfJ7rTHlCW6895K33ibZe6orvMCwifpHaxkMt6C/2vcKf7690NIe9d7sg3HXdi+8v7y7qtruNuy7Kcu6vV/6CAAqeRsFF94aMqJ4rsrlVFyXKUw1STpCIfPqDUwTl+YitXy9tzu3WB59SjZbW7MLs3SrSxphMkzlp+/g0zTM/H5obCadOphuJ4riKok2u1uZO7Tp+UM62D5ezWS634CA+L46NOvcWBQ3iQCnbhEDph1OVQXdIN0lqdJxzJcBKVGAMeqQZNEkSPmaxxIXePCShDeUfTichLhabtLC/K6amQdHp1NZuOrphdoFiRAZHNuJHfe9NkQcd8gmRuzM/tpUiwOsNDYTsbc9fE46Cu1489dfDCkgiywambveS+JG/0aqGVrZwKwOuGrU6NZZKz9zPZmgulU0kbt04exAgVEAIVAZIRCrgaj176G9yC3wvcFXgqwH/5kXtOx8GNBMslO5vzeLE8YrrNAW/Nbsu2fWqYJz2fVI8jlxlfjIxe5r+7HUkep4MA2g6A7QV9vrn29k7W59QdaMzAlJJWJdWm6FNU5hFIswc++iqkcamcqCX3/mxrlKidZL6cT0Qb+Y6Ioq46hzJVTeYgigVZC0f3FAR71mZDmXundXNhBTFrTAo+PZE88XDXQL9eVLSpY9MbmkDUP9+XhQ/hMCAcD62lQMDHkHZw4y0agnTCjpaGrptUBWtjfK05VJTs1kqV8EEby8V2QpcZA1nWnGS2OC3humqw2nhrk4e1xXRs/bCOJpKVzrWdSIYzjkzcFEJ49MGWq8H5S3+Oj7oavD5wX+BJV4MPP3DnzTnR1WAwO8h224C1+kKw+oDRkI+6++AnxmJhO6deFtQA/SuKdGf90fLVmu92OoNVljOgDtmtVn+z+/P99mw90zp8rjb6iXERFSVdkBiOYSRPThy54VShK8n5RkLaJXGcdctIQkyFOruPLk/1cOU9lnndoYQ6qaJ5CWc3Yr0gQiATLHCMmo8vp9BvILl+YqmxvjtiObnq03vbL39BzMV0m2M8h5HeGZ1a71QWo/JdYYFiVRWwnI2KN91+2/qBMEckhE2BL6kkZk/f/uDSVAoexvp62FpfofokohPZxRXCMUAIM7B3v5RUPs8sVWo+dqZ7sAECM8c+ddvFLwDZjvqRS27Ngp8MvDrwRjfqX3r2Eb4f9ZdD1YfqqkznPe8EtnMlfTHqeHx5Bcqf9UTww9a6a66QbPd3eXOFQaVzsoVCrl+3mqNdFBZAf3xPVZXfjoS14ZARz1UjyZQqME5Q5JDBZ8K2mmFMj2+EaHE0PUkAF4SuxdfjzRwDKZfZNGQSumWinhgTAYJTFo3XeAwoSphhpYayzOzu4hG2P7N/1/U6YyOfeCeiEtFAiAKgF8yYxW89GJFvVrjhvSafjMYXTJuoooABSaGsKTqaNBw0NVuLIWG4erAU5HCQFyzH5sL2jfVkRFRnk8FdCabKXALkxYqCQOTtQiWdFaCYI5Iur97crFnRhPPGGR0hhACBq4/ipT/CfwJ/GpgNfCjwKVcfH/vwW27qDfdrlMeMH/19TH1KtrOPB/agXPkw+9mnP5BPiieX3EBPPvGd7kAxHil+Nhr0K6EB/5SpsP3N7vYrUdIPEo9+5HUvjOJfVyyTICFWTk1tlMWh6fZtc+nZ6X3xIEYQxoSPIrV+5N4TSBia+PZhZiRC1cWpdPoH7yWlfLdcaS8U64wWs8sODSpUiz7Z1U17vBjpjvAUY6NUKg6DFLVlWqmrcgqJoZ6KsIGhNISYbmCuaDR+8YZEdu54PhKrlsI6fMqQAYhgwLOMi0cJEvhomoJZOFPPDHfGSjGwMZgIUbOk0tnK6pZKq43NCzwifCLKCy//nMpSuhZNb9SXRCpaMZ5iqkVqDFAsfagTm0hyRBQIZzXGetdxQECYDNOUoqUsDqEaRrrKc04EUXTmE1FWrjXyIciHIohIQSKEXUXKl/4Q/gJ+2a1Cb3AV+fwzPRncbNjs+QR6FPplh3rA+0L0OkNvcjB8LW1/5EkyS6nVZ35A/XbxGZBfbOd2tJl95q9UMTSoS5R5v8WvpGTM26nzI7csyuIaARY5+uzCDOYBA19rzOEHM+4cQ8S2VUWO2OFo9rmlyYMqc5TtxkLSESAsrjYsPhpLDldt4MRyXhXqkxjbmWsaGXto9ciCwou8Hp2Yq7AwTKSSrbgTv0cg9rteFUIzAEIqP/pw4ZQMUyofS917sGwjjBDEhcIEPBYEiweixbMZIz+1mBudT8VU02ooXusAlBGJWmGgjjO1USAM8SkGtSJPGplGcXh5bIEnkqrETs82TKWFDluteDL/AQNJez6W6ufNxKU/Ir8Pv+xq8lsuS1/+zGGhnzc9HvyS5YLnNHutATEDFWVdTnIDpXZ7M9DrJ1l7UM4uV7xOlnmLdrSOVyjcVm7Xaw8GlFxJpN5PbyD5js9Zzl/gpnRP0fnBJ84gqIBPjI5Yxp7pOGYEN9+Poulx4eZP7eXD61gauea3ME8RF50Ptsaby9tHAsOgQio+PioYdzAhrbTNaGqch6nVyNjTE7HcDSHMyTWPaVnnWtEoFmHffZPravb8GGFg2OzAN01EihxwCIrFQ7Kla7ZjSpRnttgdMRU+UdAl+GBBNFYfbYMgxNgbZ1voO5IjWgenYqrAz/8+QvKrn1NhWpc7k/cYCA2dzBxq1LnTmBIAEKVytCcBd3MkVhyzVyMISfjgDbGZEzo/Lciqmam7gcDsksKQ+oED14rRJU4AisU7IhhIncMUQK6qwZSh2pGYxlEmbdhCLBqKBR/Jc/EPzANCGIX3zbnRMHnpX/EX3WjYHzjrRsOZgy3JjYZ8n7UZ8MPBF2VvUAQ9Qv2ap0GfaV+tPtGF7RztBxXyyfamfbLR3x4D6ehr73iiLGPKYYjduVko2Sq/2ogCwTiCOYw5NXzHhMLnH1g6umd0nUedoT4vCs9QNNGRdX3PwUQwjsZ1vO+hyXiXQknCAsnPjRcKf548ougTj66lhgxOl4l16IbWyXYEwvOZii2FMYi8mTQS8eZelUjd61OVVJoIpUkXWALAbFXj7MOxaAa9Q41WppLXppletwhS6cRNu4uFgFvfTl78GXKbi9yNgfsDz7n17akH77p5FfXrmwfaQDUquD/9cN8B3mXsVAhZ/aD3VeYOv0H0D3L92tVx0S1cLoRsB5o9lylk+aLq5vzPyEERMYLNt+wLp7HIA8aAKGuURwREAEGUEo4y4/4Fjed6tbENk1NMqjrd80FsPvLqA1NScA/wtfjMXa3zjvYoJvmaHJst3Xr6kRagvTeP5+ZlmjJxfnPm4A9+YhwzqK5c2EJATnxhVI0TBD9PNIFg5bYni8vUNgjlCYBeGK4RKegEAeRI2rTM0es0rPDLUwzMkkMZoUGzmOGw9cI14wosWyy7EqqlNYezPkUBKROVZHbfRL4ZyzUhkq0lrquEgkVLweP3Hzz4g6+NIDp+5iZk11p62yRenvtD8mWXn88EvtrPc1845fWH2X674deMnZnJbym85OaH9FWZKGflvD2+j3HluOvtuDzZ6DW3ddPb/qzpPdi02H93nxuP+St96A76/T6km6ODN7e6cDMLYZjdunDd7s4uuJKbSG/YMqvN2vLuNRYxsJjPxWK6rAdDvOJUFDAs5CTnbcyniiYfH+8yh2ap2q0Awox13wMYiFbQES+cOJu+YxREHNYJJSLIOHciwSVY48FJEbNMRRc7Eu0siIbDG/G9DVFqjUWVEQJyEUsRRxZQmRy9sD5fKge17cTkJBNMa46cue2IEA8RIku6IkvhuCjzxriJMOES+S6HEpFwTKFKloRZjmndCkJBHq/+JkYIJQmlEy8Or1LEkM0QauRoiZ86m6JStjFTT0TGwDmqUiI5sb0Snu222rE5ioc1JOVQX5nqpX8lksv8qwJPBF50lfm6px+6dzjgdZ6XW0L/nGpfTYA75XtWO10rJwn97nSG6/X8aY9U1i9fNNffOPCuWi0vb7rDaXu2Fmbbj4PI225c2/jz5dHS3DMTu0wk7DVGVhW0fiSV2Kgxw2Hpa0eL2Tg/djgizi5bhYR0BNtzTrdXYDEbQUVTHNURElwy+rqxKDG+eCDBEbFfNjic25dJDjmpOSGfw6kCW+vO1vOzhiOQ2k9i4XVbYxr6wX8Rm9YcGeh8IdKGX64UajPXjjs6Ue60JxtiSAxPCJTjq2uGjLikwMUlQCQr0GGVUkRIVpPDRkqqsspMKi9Ye19knCtzBOV0clcyFUmKCJdbwsnubNja7+gURy/+J4fzu6dmuJd/A1kiJ/K6HAigQPLSr5CfgF93z830i6c05JuMV0a/vHh8gFfp/YZvW7DM49AbA9HO4Gar5XJ7Vers9bwFcFVz0vN3qeDT6zuSe9WizaaWs/O7iisfvH0xTUOIiHAHhr90OrEIcNnuWxZO7LVF/pOYD+OpabXanJ6bwljILSTimCCO8jotWwtd21rstMfzSmJEW/3rESbkxz88QxAqGkfr4T2LpWRhOiXZ0zZrZgynbNcNUHfl9h0tLT94YCIuAqfgpwFf/Gxms1nH5cnPb55aCyrS20WG17aspevuveZoXeSmogXMAChwo8EZRziwvrTnxjk5NqofuvifDobh44f/5hAHKKGsNCPX7CnFU1kGKVFNtoOGFXPR9zrAr8PvBo656LcU1O/++rpgA+wdu28YeRLxR7Zftzr98tX2Qcz9sObOZzHg9YYuTfADnQOOe/v5lU0ZUwyIgB5xDpx4z20ihiwQoUixJMnvbT19IWpL1+/ovCYqlrh2vLyFahzoOpVGAcUfj5WTKuO/c9tKjgNwiEgw4WV97LE/+V0bA1BjY59TWE0cn9HMP5t6X164ql1yknEwT1VvQ5/GQImxr98Ln3Gd77zrIaQCd7s1opaxAv0acbk+M3bZHM31668vbN+h2emF9uG57JJ7uaBZ3OGOMuqn9x3GgRfZcFq9MBIDOlmRrej1vXMnBGvzCJIO3fep+d98W6IQNjZ2n9g/NqrJxerE9KGwIKrpmgCSilXTCfGAQJtWhMyRSm9MJoCyGCgLzR68NZcWtJFpERO7wiP4yZHYEJXzKyGOpnvLzzWOqwjv39TZ2cc+cyR9fjMoy81zD71nqt7DUrp65P7NiAAIiSYPBEsKFXmew/woljY7K7dvhhCoFMTkzaceWnMEqBYlDCC5GamP63G39jL4pcDzgXe4uL7xxfNr245kzh1M5bze8Gqza6cD6Y4d/vHVZbHnuQBO90pj6nM1OJ1c7VeHtg3r/olx+22D9qvXT8xOq+u9Cb5hALCgCRQTQJLMPdgec6TeW48eu3U1VmVcNinJ+VK9MmYyBBADAYRU/Q0zOl9rsfS9z73f7mkXpplUx4xgRBOASGk0c/8cHw4q+c6x3zp5NoS5xLSr9kgQQzs/8dJqr2aWGCFs15D0HQzXnkXi5L5MBKEfxTHADgiEcTxRJfEDk5NBqZcfPpBcj5tyNAEsmRnbNW45JgIpaoTFZn3ldhlq1ah969FbVSSViJhUJUaSAGR4an51ZJEHo9vYf91MXwZ7Q1ooClwwFl1fbM+Fnaiqx+fuYU+9HqGt6Xaxf4LvuqeBe9zKebvnJN9zYW/ePxv63auXH/zu1od6pwvGVGiGPDK9wuqlBz9jFK9wuU3kTs/ZHTjr2zszsK2oXAGtr56YL0lEZYBsjSiqzBffXK/tjwih8dfs28cbG2dDipT8tddxHEGNdUUt7okzA7DM1e2l6ZCprB0z2+bKXO/A8mizXKyOJcUn7jwTxFtzmeh9B8dE+KYSTMbTqbyUi6Um5sKcip4aO9CpaVrMYBzhGWKxSDJm39vUu2a8Urlrtcqj9miykCre/CdbGGMUAb49JIDcMjo2G2IWsfKZWtYRpbhGN9/62GHd6nRY4s71lnjxl0Nq35oHUUAgWhggQC5ddHG/z8X9LYGPufc5P9a/gfvWN7/4iQ+847W7+jdw/pHKtz4GsXyVdvx5XzkePzsbysHV3XZuYz6F7mB94uiVC7j+uzyleF/nvcZVlk/hFVMGeTdF7n6nOfi9sKfOgWB7DXc/6zVZlj1eioh9cY1XYrm99z9xpresQbh9fGnXMwcSVYoWbDs8LOQKUQCUAwHoSjK4tIsTa23Q9h9++PTBe1aUGuVAU/gsljL5FckKAWZI5xsFZvIcUoJ2nhIOOnMOQgBhWdPGHjtUHk4F5b1ZMySH3WILX9SxPrbRUIN8ECPxQDuzpRgG5oTEoawpYozDux8nCCF4MBRFCHg7qhc//NXrJjoKERyndia9laDKmKpPK+VKyRQAaQaRy9dVjQUR1aoWv3//4UY+z2K6iDiBF/LDtlyrDufd/yecGoom9aWemAxrPMdoUlc0buvEkMAQIuFrnqraEsuatlWTwyH0yZxOlObJLRthiO8evfiIAVQqLssUQN66DhAaeDj4O+7dw6nABVen585sdKEfJleFRzvn1yIvadrbTW82l71Mc6u1807BP5OwH2rcoHYh6/VNjG03Y4uTJS18/kI+XQwx7YGlrohytfuO7w9yiFECiMNzT9TaGpmbOStHUvm3PyDTKpXmSyfPq4Y5FuFSjefeyCdORcWrCj5+nllaqGKFimMqUm+ft6uT8RRxXlWqdaICorVcmVOGC61iEnNMEgjKxzI1Sa6n0+lS+7dMqBtO7VR2PU9seyPHFUp3WKiuhxRju/zDpMhzdDibX1mzaGNfbH+/Ezp56Q/xX7ke9f1uJ9Sx+p1Qe3A69/vIq41nX1YutMWrfcz/26vc0dV2PEZecbMwyH4FqMaxYnLt7P4bjiPrrx+hRtIc3TWRGEp6DrSWiGjI2EiGYpXC4lf2as74gVf4kUL6TDK2/6bs6mJidEajDIaWm2KynFx7PKM7SjwRWqrGAMFuCKalYGV3uLep0xNf0hDm02Fe2LaTgSOEhI62c5MnRo88JONX2o6mkJNzr67ddn15pikBxkhL8YiqZ+ayZkSmnLEyUgSFd3Htufnsx9189piL660ND9crVyc7cGn4Abgj7PzD9OAAsOMarNX0dlB/k2dHumPQcXpHsmLnFXcHMNQoyfTAJ3oREUApF1PZ8rhIMMQpz4cWF/bJobkggPGjt08Oz2+ANEq+TeuYB3XoWBase163EK/zDjFR7t33T+spbmLaVCmnGYTXinvWuAaWYtpKYzGNr9/fMFNwZmgI8XceyKeZrnHhkNuH9UyEFJ6175yY1KDF6wa///P54NykrC6tsov/za+WVaBTZYh/5HMHM4ghQDD80x85FGsriJ/SLR44Koays/KczltC9XCryT1xbjE34yI95iK930X6rIv0wZKHdL8qqCQ78E19hXuwb0O402+ira4P7tXG1WUrnuV8Trwj1PYTwo1kOQcEMOYIC5LomYpg7bMiIAbjScbZm2mi23yn46iGLSBJWZ/p7R9vdgXCUcLPTFaW69VKfu3apCpIaap2F8KqBgD1Yi8qQ0nRQnVMASOecIUlAYb1UELhEBGkKJVqtyYIw+LcX5zJVfK6KC9tHHhkYjRDLZlyZGiufuNKp5xfOJLWeZkC0cbfecfiMMfTJK44cbWv+RHXHQAXsde6iK0LLmJBN7xmoQ+KPVA18+Hwg9Cb9Oau/oT6jb2PlB9w2xhvm0Z02zRyB/u/nG3/PX+XqjYleW5V1i3EZ8vZ0dFT+8aP7WKga1QZHa1VRw4xQOrJm6vZbiXeXknyQDmEI6S1MpywU5WRe+9oai7s2bi0jzNbugGP/NyZOEK6hdjMTcW4NJI/ajnWFbN6ps0bmUpMQt+RHc44vSYTQoTS3uUH77rl9Nx1mxwgSqz1u27et/ywQJCwdrBTPr1aWCkZFEgWsAyxI5utTL0ycurwqEY5aXQi9GVx6IATfsPf3JBEhBB++dKZBpHLihM1Dd+LPmxCwokmZJeLm10ubnG5+LzLxX4Bef7cVUnXYmz7/5MQsgadTG6AtbWdB7z068258T24EnRbTv+qzz+4Mbqjsvmi6D/uuEzMZbc/bF3uSl9xEd/udryy6B860OlCWQ3fPD9dezzDGMGLH+jyESccbsQNm3ChZKK1taeUZxbWkAEwPCzKi/SopS3vFQjlCAKLKwzba3VO705LAALes2dihIbXsnoyaNkFMGoiL4XHDHPp4HAvEjdMA0M2S2xlvNdonSuPSqip8lbcGVMAQRwJAtbuXOLR6XI2kZk7l0pcay+lFbz5ooAQaIpVsjUqEstqrN3YQUjGIUBK8Po1cT/HEhdkgiRxpG5O8QhP9YZtBDzeXU9LKGuEo6OynBdJGvOaFGaJG9q7cwJ2APFZ+4bZkcZMd77BySPAIuk985gBBm3I0LSVCwq4LI+7OepH3dPgsy7LkyK66i8kto9zLpa+kHyk/R/vY0p31trBPe32WS/nd8VuZFx9B+jr7BVHy3brqsuL/nhnrQPBV80+N6PdUDZUXpT4C1ggatLsN8nCh43wSHWBYwQhwFyt0FybKY99cKs5snAwE4lVgQ0FeYbRWk3mrrlPxQRUft3CCukui8mTur7vfZ1qIWNGEqNNGRBCceA0DiNpPJTajcK1apA/dWNnkZWNVDyUDVnSe6jG4naCYSGj/JeTKsfLKkc4jGPDE8/d19l4OGoU92ZC4DKhWJhFw0h+wUCwLsuRCL91JthKT4Fy6565sttuhpZ3TbsrQI/qoq1yi2ux6FwABw5c+jfCe4r7icBvut7oL/zUN750TMa+8vz0dtngtp0dlWFAhf/neq0kVoENJMgc2zNJodVr+Wt3/gng4AjitafFQt+1m4T+0yuM9p2C67V9wvw4QO1i1lvks4pcnfp7vL9IQ+3yCBKGyp2zN4JGauOWFIvw05WxMcka0ZiojvXGWzrgYMJEGG5DgPr0gohgeurck6q20qwes4FgBGkqDd3akp2wMjIZ0g/sOqKgUPG62pgpzxzLx6KCDBxgQqJptRpWpiMlM5FLhE/vTlcJmlQEK2FXMUoAUQkVqaLp3WUe3jSUG0sGo8hI1oZaBvfyZnJiVkWLzRrCAkPodLHQv7XvFLYElM9GEoZkqJy0nqnLkFb1YDBeCJo8oOJYHBOMEEEYOA7LCD1/UuSCw3HgCO4XvpEVCYDPSHyhX5RDVYWI7TubCHFmv7Ra01lDMaKOHi7LOnX2pVcihA0TGk1NNRSETI1XLDMlh0J6RwWUi+JkLlFDTFBDBeXln5GSCGQbIYoA/X8vFBylAAABAAAAHwDUAAQAAAAAAAIAAAAYAI0AAAAeDgwAAAAAAAAAEgASABIAEgDrAfICrQNtBD0FNgYJBxAHrQh9CXoKSwsKC48MOw0XDdMO6w+PEDsQ8BGJEk8TQhQIFTIVMgABAAAAAQAA3/kg2V8PPPUADwPoAAAAAAAAAAAAAAAAAAAAAP/+/sYE2QLfAAAACAACAAAAAAAAAPoAMgAAAAABTQAAAPoAAAMjACMDjAAfApoAGgMGAEECMgAuA38AJwJiAAwDyQAdAykAOwQcAFwDkgAdA2oADgQ4AB4DhgAdAuIAYAP1AFoDcwA2A1L//gNkAB0C6wBcAyAANwJuADgDJQAuA7AAZwLGADkDNQBTAPoAAHjaY2BkYGC6/+8YQxSLxf9//86z3ASKoAJ5AMU8CAQAeNpjYGIWZZzAwMrAwNTFtIeBgaEHQjM+YDBkZGJAAg0MDO8FGN68hfED0lxTGBwYFBgWMCv8t2CIYrrPaKXAwNAfxwySZToJJBQYGAHSWg9pAAAAeNpjYGBgAmJmIBYBkoxgmoXBAEhzACFIToEhimHB//9gliOI9f/x/8P/64BqoQAA6/MLsXjarFbXettMDh2quVeVFKaAmcjrNYeK090Lx7Q23fX7yK2kJed+9yrPwH0ZUOl3+2gLkJJ7+ZtVMIMywDnA0EKhAMW+7wUAb36I0e03WNr9q4/PTJwOwo8Q7/uYq0c/+0W/aLXkgWlZKAIUWm50hCF06DpoKITwo4M5JS1pOZhX0P6cr1SFq7GsIQzdJFfRblLPa8zpvU+Aw5IWOmpjYetTJ5fL0TFoHd6xWNsZrRruHaCldDtlo0w2iWLLPww6NYM9HSwozNtY1T7nw5rWXQcT2oD/28LC1F8708aI9loeljzfwnw92PmbT85m7ANubZFqjbxxjldzQQBJ5k0VTZOquwOcZfssedKpPhAbcQQ4uOWHpAG2DfLqBa9ehGYYBIFJbOGwbqHY8VG8YWeL9uYbvMere2+iH+OixR4/iuIgCNpRgIYdBF0EAbQJj3QDB4sKqIJCPSJMfXrLxz7pYr90qQMUEjpYSukmJqCd9B24wEaGa2bl8zf5eS0szlhk1BBDTLmS2WKdGNr2wy0z2gl8GVgB4NquTzaTeOmV4mCfwgFtd0Qua3M/baUrAYV0I8wdfESjRQmwb8bBAQVc7SjBKogD4BNwLQzYJdxIqx1UnYFRoT13xjoanCF1epCGs1MMW5KeoIfgxTKCdpdsYXJDEExcOyKMWiujjSzFyCXh+JCiBEVdFDSqUkCfR4ZF3qMsprSCGRriMZXkch62ow0HxxW5AuCYfs0H0II6hOO826HdeNqvCUWrlBQgDlqUGSd0CHEIOEG0OTip3uz5SaG9ETzEkUP5ycGyerPtv9nNlKZF+nKqr6hETOp9P5mcpBZGLk7YAUPK1d1kjL/G6QuNmgRCsuUnTB/hdeMYOO34jCUprLc2MzuF0CfVBISkSfU3SXu6WZe0MBGiLIkvjWKlYxhG2q2qEonIeXs+TkoXPByVLo5IYsqF8PvNm4aYEGXhui4zUCGbESWVfhv/a5sPiK4aYazaDt5QicHyJvHN8pZK8ixvq6TA0lRJkeUdlZRY3lVJH8t7KulneV8lAyxtJXv8YykkpiU00PgH3xYH1Qlj7cj478zonDBOHRn/kxlBCRyzL8VJoL5mUBnnSXwW4QOq6wHhYykJH8uHhI9lnfCxnCJ8LP9E+FhOEz6WfyZ8LGcIH8uGgqV0YB8pSnszBM0laG4pSWzwzM4qfGTjI7qPjxVAEy7ppozmJD/Yr/QwGf2TXouT0ZLHE4ePZ5KiUfX82SBF+TSj50qfZwqep5U/V6Lr453PiYZNtVysF7Uvgv82VuRc8syoMtYXxAc0L6kfhY7mHHypGjeWHJy7zhUN3SL3eWqRqNWhAU0Ukm/LqzhuyqaMwD8gPtCQbmfOMKoVYnhBUVl4g9wKdXqnbsmwcHFI24dxQwIsxXTm4mk3aGTnYUm6PW/AkJ8pa9v+5wIUwfxcmCreDlxXAg5qiGUaITdDLOmz1zUEoif7r1TQYVtiUUdtMhd0ZNI65Cfd2ZhIAnlPyU3qsaQMm4STRJolhIuSSM4iyRKSxGI9os9ZJzqRi6hzEXn67j5Jj3MFDi71uADSFqe6XMglomm5ZyLMqX1TNjkpd3GlZ0vBZEyj2PMbsCQtkzQ9JR161Aos1Wn36uRvl6yJF017t1uSR371RCW6166Qf+Cchdxr8ZqS0GAWN/GG9rfMncCHpaCRzBoV28H1U9Ydc+uU1b0w9qoIrXDBvirhhsJFO6baeMYI1KWu1NAGzlKEx5DT+ZzKmI9wWLoZdB5QCUvQkHPd8zdVMliouxTyW0a6+UdNMWOKCN2SpEfViXmxgm6dTZWIBbvHyl9ot2hbssuLnDtNwSuioJpd+47gG15u4Au65a8v0b+h44xKGV/S+q3CeRLvmEWP6IbNWEY9tt4rHmj8f891kRY7FARQ+NYTdAlMmRFWgLu7Nm6Nuzbuvpi2DVKnKmT233wn7gPKoagQQqdiWCFgJCpIAKMKAWM0XYpxGjBBAyZpwFRUDCG0qaZVYkpFRfFpMyoxzdIJmqMzzdOZFuhMi6yzQ7GkELDMOsGKQsAqTbdijQakacA6DdhgfaFdtakS0xbrM22rxLRDJ2iXzrRHZ9qnMx3oMa5PTuChjXLNyiNni/KYg26jVh2dRHmJm1PozZk1EjfnOnNDstQLRj5HBvocl9DzK11OHFxDD26gB7faNibLu2Pk+T30/AF6/qhzxsET9OAZevCibVOyvFdGnr9Bz9+h5x86Zxx8Qg++oAffUaHSvmxzJVWFf3/+duhPkz4GU601ubJ07m/1cOb3ZV37A0STAUQAeNpj8N7BcCIoYiMjY1/kBsadHAwcDMkFGxnYnTYxMDJogRib+VgYuSAsESYwi8NpF/MBoDQ3kM3ptIvBAczeycDMwOCyUYWxIzBig0NHBIif4rJRA8TfwcEAFAAriJTeqA4S2sXRwMDI4tCRHAKTAIHNAiyMfFo7GP+3bmDp3cjE4LKZNYWNwcUFANM1K1gAeNpjwAb0gNCaQYpBhUGF6dr/D0yiDAxA+j2IBgBOqAa1AAAAeNpiYGDgZChiYGZgZOEEshcBMYTNyCAB5EHYTAx8DLsgbCDpwXACymZh0GAUgLJZGZwYLaBsNiRxXqYMxioom4/BhPkRoFWyyJIbCILoX+sUtTM3m5mZcedX1oiZPac35DQzPbEUpMjiMQkpp+R4OLiUKM5jcgFFj86/7SZX5K5LB8UTLArBxig+Y+JhEWNicRnFS7lvYWxU7jIYK99A8RoXLaoPMdGcYBFxyms0X7D4wc//fqKXUvIJC4eKEE3OMxJiSrnmOFji0pLMt1ArVa7M6myN+4ZFLk0kkrlLiy63UZT/NhtNRUmCi0c8/PdaUDdo0efCjs1f3r570blDI1uLCE2Ji4/mN61hP/e4cLwZzTkGQ5Sexsw4X8agwZNcSpotpM8aixPUeJqKd2girDUTbGFg8EWaLma4n0mwKWlkYhZqiAjxMKW5YuhXEUvOHCWZLGG/5A2K96SCnVZ+M1EYdr98PbTGyRZ9FZoajUeI5hehvJu0osXxIR/lvuQWhkyoJOUW7X9bMdVCQUvcw3HPbd7zjDf7cP4Cd060fQB42mzBBQGEQAAAsL23eHcDDrd0BIcCbJbAOAjmHLCwtHJ1c/fw9PL28fXzF4klglQmVyhVao1Wp18sd9NK8zINDBwNAF3YCPAAAQAB//8ADw==) format("woff"),url(data:font/ttf;base64,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WVlZsxAEAQ4quAH/hbAEjbECAESzBWQGAEREAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4ALgA7ABoAJAAkAtb/8AIVAAAC1v/vAhUAAAAAAAkAcgADAAEECQAAAKIAAAADAAEECQABABgAogADAAEECQACAA4AugADAAEECQADAEgAyAADAAEECQAEACgBEAADAAEECQAFAEIBOAADAAEECQAGACgBEAADAAEECQANAmgBegADAAEECQAOADQD4gBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADAAOQAtADIAMAAxADAAIABEAGUAcwBpAGcAbgAgAFMAYwBpAGUAbgBjAGUALAAgAEkAbgBjAC4ACgBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANAAtADIAMAAxADgAIABLAGgAYQBuACAAQQBjAGEAZABlAG0AeQBLAGEAVABlAFgAXwBTAGMAcgBpAHAAdABSAGUAZwB1AGwAYQByAEYAbwBuAHQARgBvAHIAZwBlACAAMgAuADAAIAA6ACAASwBhAFQAZQBYAF8AUwBjAHIAaQBwAHQALQBSAGUAZwB1AGwAYQByAEsAYQBUAGUAWABfAFMAYwByAGkAcAB0AC0AUgBlAGcAdQBsAGEAcgBWAGUAcgBzAGkAbwBuACAAMQAuADEAOwAgAHQAdABmAGEAdQB0AG8AaABpAG4AdAAgACgAdgAxAC4AOAAuADMAKQBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADAAOQAtADIAMAAxADAALAAgAEQAZQBzAGkAZwBuACAAUwBjAGkAZQBuAGMAZQAsACAASQBuAGMALgAgACgAPAB3AHcAdwAuAG0AYQB0AGgAagBhAHgALgBvAHIAZwA+ACkACgBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANAAtADIAMAAxADgAIABLAGgAYQBuACAAQQBjAGEAZABlAG0AeQAgACgAPAB3AHcAdwAuAGsAaABhAG4AYQBjAGEAZABlAG0AeQAuAG8AcgBnAD4AKQAsAAoAdwBpAHQAaAAgAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQAIABOAGEAbQBlACAASwBhAFQAZQBYAF8AUwBjAHIAaQBwAHQALgAKAAoAVABoAGkAcwAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABpAHMAIABsAGkAYwBlAG4AcwBlAGQAIAB1AG4AZABlAHIAIAB0AGgAZQAgAFMASQBMACAATwBwAGUAbgAgAEYAbwBuAHQAIABMAGkAYwBlAG4AcwBlACwAIABWAGUAcgBzAGkAbwBuACAAMQAuADEALgAKAFQAaABpAHMAIABsAGkAYwBlAG4AcwBlACAAYQB2AGEAaQBsAGEAYgBsAGUAIAB3AGkAdABoACAAYQAgAEYAQQBRACAAYQB0ADoACgBoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAaAB0AHQAcAA6AC8ALwBzAGMAcgBpAHAAdABzAC4AcwBpAGwALgBvAHIAZwAvAE8ARgBMAAIAAAAAAAD/gwAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAEAAgADACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQECB3VuaTAwQTAAAQAB//8ADw==) format("truetype")}@font-face{font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff"),url(data:font/ttf;base64,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LbBWLLIBAUcrLbBXLLMAAABDKy2wWCyzAAEAQystsFksswEAAEMrLbBaLLMBAQBDKy2wWyyzAAABQystsFwsswABAUMrLbBdLLMBAAFDKy2wXiyzAQEBQystsF8ssgAARSstsGAssgABRSstsGEssgEARSstsGIssgEBRSstsGMssgAASCstsGQssgABSCstsGUssgEASCstsGYssgEBSCstsGcsswAAAEQrLbBoLLMAAQBEKy2waSyzAQAARCstsGosswEBAEQrLbBrLLMAAAFEKy2wbCyzAAEBRCstsG0sswEAAUQrLbBuLLMBAQFEKy2wbyyxADwrLrEwARQrLbBwLLEAPCuwQCstsHEssQA8K7BBKy2wciywABaxADwrsEIrLbBzLLEBPCuwQCstsHQssQE8K7BBKy2wdSywABaxATwrsEIrLbB2LLEAPSsusTABFCstsHcssQA9K7BAKy2weCyxAD0rsEErLbB5LLEAPSuwQistsHossQE9K7BAKy2weyyxAT0rsEErLbB8LLEBPSuwQistsH0ssQA+Ky6xMAEUKy2wfiyxAD4rsEArLbB/LLEAPiuwQSstsIAssQA+K7BCKy2wgSyxAT4rsEArLbCCLLEBPiuwQSstsIMssQE+K7BCKy2whCyxAD8rLrEwARQrLbCFLLEAPyuwQCstsIYssQA/K7BBKy2whyyxAD8rsEIrLbCILLEBPyuwQCstsIkssQE/K7BBKy2wiiyxAT8rsEIrLbCLLLILAANFUFiwBhuyBAIDRVgjIRshWVlCK7AIZbADJFB4sQUBFUVYMFktAEu4AMhSWLEBAY5ZsAG5CAAIAGNwsQAHQrEAACqxAAdCsQAKKrEAB0KxAAoqsQAHQrkAAAALKrEAB0K5AAAACyq5AAMAAESxJAGIUViwQIhYuQADAGREsSgBiFFYuAgAiFi5AAMAAERZG7EnAYhRWLoIgAABBECIY1RYuQADAABEWVlZWVmxAA4quAH/hbAEjbECAESzBWQGAEREAAAAAAAAAAAAAAAAAAAAAAAAAAkAcgADAAEECQAAAKIAAAADAAEECQABABYAogADAAEECQACAA4AuAADAAEECQADAEYAxgADAAEECQAEACYBDAADAAEECQAFAEIBMgADAAEECQAGACYBDAADAAEECQANAmYBdAADAAEECQAOADQD2gBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADAAOQAtADIAMAAxADAAIABEAGUAcwBpAGcAbgAgAFMAYwBpAGUAbgBjAGUALAAgAEkAbgBjAC4ACgBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANAAtADIAMAAxADgAIABLAGgAYQBuACAAQQBjAGEAZABlAG0AeQBLAGEAVABlAFgAXwBTAGkAegBlADEAUgBlAGcAdQBsAGEAcgBGAG8AbgB0AEYAbwByAGcAZQAgADIALgAwACAAOgAgAEsAYQBUAGUAWABfAFMAaQB6AGUAMQAtAFIAZQBnAHUAbABhAHIASwBhAFQAZQBYAF8AUwBpAHoAZQAxAC0AUgBlAGcAdQBsAGEAcgBWAGUAcgBzAGkAbwBuACAAMQAuADEAOwAgAHQAdABmAGEAdQB0AG8AaABpAG4AdAAgACgAdgAxAC4AOAAuADMAKQBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADAAOQAtADIAMAAxADAALAAgAEQAZQBzAGkAZwBuACAAUwBjAGkAZQBuAGMAZQAsACAASQBuAGMALgAgACgAPAB3AHcAdwAuAG0AYQB0AGgAagBhAHgALgBvAHIAZwA+ACkACgBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANAAtADIAMAAxADgAIABLAGgAYQBuACAAQQBjAGEAZABlAG0AeQAgACgAPAB3AHcAdwAuAGsAaABhAG4AYQBjAGEAZABlAG0AeQAuAG8AcgBnAD4AKQAsAAoAdwBpAHQAaAAgAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQAIABOAGEAbQBlACAASwBhAFQAZQBYAF8AUwBpAHoAZQAxAC4ACgAKAFQAaABpAHMAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAaQBzACAAbABpAGMAZQBuAHMAZQBkACAAdQBuAGQAZQByACAAdABoAGUAIABTAEkATAAgAE8AcABlAG4AIABGAG8AbgB0ACAATABpAGMAZQBuAHMAZQAsACAAVgBlAHIAcwBpAG8AbgAgADEALgAxAC4ACgBUAGgAaQBzACAAbABpAGMAZQBuAHMAZQAgAGEAdgBhAGkAbABhAGIAbABlACAAdwBpAHQAaAAgAGEAIABGAEEAUQAgAGEAdAA6AAoAaAB0AHQAcAA6AC8ALwBzAGMAcgBpAHAAdABzAC4AcwBpAGwALgBvAHIAZwAvAE8ARgBMAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATAACAAAAAAAA/4MAMgAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAABAAIAAwALAAwAEgA+AD8AQABeAGABAgDYANkBAwEEAQUBBgEHAQgBCQCaAQoAmQClAQsBDACcAQ0BDgEPARABEQESARMBFAEVARYBFwEYARkBGgEbARwBHQEeAR8HdW5pMDBBMAd1bmkwMzAyCXRpbGRlY29tYgd1bmkyMDE2B2Fycm93dXAJYXJyb3dkb3duCmFycm93ZGJsdXAMYXJyb3dkYmxkb3duB3VuaTIyMTAHdW5pMjIyMwd1bmkyMjI1B3VuaTIyMkMHdW5pMjIyRAd1bmkyMjJFB3VuaTIyQzAHdW5pMjJDMQd1bmkyMkMyB3VuaTIyQzMHdW5pMjMwOAd1bmkyMzA5B3VuaTIzMEEHdW5pMjMwQgd1bmkyM0QwB3VuaTI3RTgHdW5pMjdFOQd1bmkyQTAwB3VuaTJBMDEHdW5pMkEwMgd1bmkyQTA0B3VuaTJBMDYAAAABAAH//wAP) format("truetype")}@font-face{font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff"),url(data:font/ttf;base64,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) format("truetype")}@font-face{font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff"),url(data:font/ttf;base64,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AKIAAwABBAkAAgAOALgAAwABBAkAAwBGAMYAAwABBAkABAAmAQwAAwABBAkABQBCATIAAwABBAkABgAmAQwAAwABBAkADQJmAXQAAwABBAkADgA0A9oAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAwADkALQAyADAAMQAwACAARABlAHMAaQBnAG4AIABTAGMAaQBlAG4AYwBlACwAIABJAG4AYwAuAAoAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAxADQALQAyADAAMQA4ACAASwBoAGEAbgAgAEEAYwBhAGQAZQBtAHkASwBhAFQAZQBYAF8AUwBpAHoAZQAzAFIAZQBnAHUAbABhAHIARgBvAG4AdABGAG8AcgBnAGUAIAAyAC4AMAAgADoAIABLAGEAVABlAFgAXwBTAGkAegBlADMALQBSAGUAZwB1AGwAYQByAEsAYQBUAGUAWABfAFMAaQB6AGUAMwAtAFIAZQBnAHUAbABhAHIAVgBlAHIAcwBpAG8AbgAgADEALgAxADsAIAB0AHQAZgBhAHUAdABvAGgAaQBuAHQAIAAoAHYAMQAuADgALgAzACkAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAwADkALQAyADAAMQAwACwAIABEAGUAcwBpAGcAbgAgAFMAYwBpAGUAbgBjAGUALAAgAEkAbgBjAC4AIAAoADwAdwB3AHcALgBtAGEAdABoAGoAYQB4AC4AbwByAGcAPgApAAoAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAxADQALQAyADAAMQA4ACAASwBoAGEAbgAgAEEAYwBhAGQAZQBtAHkAIAAoADwAdwB3AHcALgBrAGgAYQBuAGEAYwBhAGQAZQBtAHkALgBvAHIAZwA+ACkALAAKAHcAaQB0AGgAIABSAGUAcwBlAHIAdgBlAGQAIABGAG8AbgB0ACAATgBhAG0AZQAgAEsAYQBUAGUAWABfAFMAaQB6AGUAMwAuAAoACgBUAGgAaQBzACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAGkAcwAgAGwAaQBjAGUAbgBzAGUAZAAgAHUAbgBkAGUAcgAgAHQAaABlACAAUwBJAEwAIABPAHAAZQBuACAARgBvAG4AdAAgAEwAaQBjAGUAbgBzAGUALAAgAFYAZQByAHMAaQBvAG4AIAAxAC4AMQAuAAoAVABoAGkAcwAgAGwAaQBjAGUAbgBzAGUAIABhAHYAYQBpAGwAYQBiAGwAZQAgAHcAaQB0AGgAIABhACAARgBBAFEAIABhAHQAOgAKAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATABoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAAgAAAAAAAP+DADIAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAQACAAMACwAMABIAPgA/AEAAXgBgAQIA2ADZAQMBBAClAQUBBgEHAQgBCQEKB3VuaTAwQTAHdW5pMDMwMgl0aWxkZWNvbWIHdW5pMjMwOAd1bmkyMzA5B3VuaTIzMEEHdW5pMjMwQgd1bmkyN0U4B3VuaTI3RTkAAQAB//8ADw==) format("truetype")}@font-face{font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff"),url(data:font/ttf;base64,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ILAKI0IgICBGI0ewASsjYTgtsD4ssAAWsBcjQrADJbACJUcjRyNhsABUWC4gPCMhG7ACJbACJUcjRyNhILAFJbAEJUcjRyNhsAYlsAUlSbACJWG5CAAIAGNjIyBYYhshWWO4BABiILAAUFiwQGBZZrABY2AjLiMgIDyKOCMhWS2wPyywABawFyNCILAKQyAuRyNHI2EgYLAgYGawAmIgsABQWLBAYFlmsAFjIyAgPIo4LbBALCMgLkawAiVGsBdDWFAbUllYIDxZLrEwARQrLbBBLCMgLkawAiVGsBdDWFIbUFlYIDxZLrEwARQrLbBCLCMgLkawAiVGsBdDWFAbUllYIDxZIyAuRrACJUawF0NYUhtQWVggPFkusTABFCstsEMssDorIyAuRrACJUawF0NYUBtSWVggPFkusTABFCstsEQssDsriiAgPLAGI0KKOCMgLkawAiVGsBdDWFAbUllYIDxZLrEwARQrsAZDLrAwKy2wRSywABawBCWwBCYgICBGI0dhsAwjQi5HI0cjYbALQysjIDwgLiM4sTABFCstsEYssQoEJUKwABawBCWwBCUgLkcjRyNhILAGI0KxDABCsAtDKyCwYFBYILBAUVizBCAFIBuzBCYFGllCQiMgR7AGQ7ACYiCwAFBYsEBgWWawAWNgILABKyCKimEgsARDYGQjsAVDYWRQWLAEQ2EbsAVDYFmwAyWwAmIgsABQWLBAYFlmsAFjYbACJUZhOCMgPCM4GyEgIEYjR7ABKyNhOCFZsTABFCstsEcssQA6Ky6xMAEUKy2wSCyxADsrISMgIDywBiNCIzixMAEUK7AGQy6wMCstsEkssAAVIEewACNCsgABARUUEy6wNiotsEossAAVIEewACNCsgABARUUEy6wNiotsEsssQABFBOwNyotsEwssDkqLbBNLLAAFkUjIC4gRoojYTixMAEUKy2wTiywCiNCsE0rLbBPLLIAAEYrLbBQLLIAAUYrLbBRLLIBAEYrLbBSLLIBAUYrLbBTLLIAAEcrLbBULLIAAUcrLbBVLLIBAEcrLbBWLLIBAUcrLbBXLLMAAABDKy2wWCyzAAEAQystsFksswEAAEMrLbBaLLMBAQBDKy2wWyyzAAABQystsFwsswABAUMrLbBdLLMBAAFDKy2wXiyzAQEBQystsF8ssgAARSstsGAssgABRSstsGEssgEARSstsGIssgEBRSstsGMssgAASCstsGQssgABSCstsGUssgEASCstsGYssgEBSCstsGcsswAAAEQrLbBoLLMAAQBEKy2waSyzAQAARCstsGosswEBAEQrLbBrLLMAAAFEKy2wbCyzAAEBRCstsG0sswEAAUQrLbBuLLMBAQFEKy2wbyyxADwrLrEwARQrLbBwLLEAPCuwQCstsHEssQA8K7BBKy2wciywABaxADwrsEIrLbBzLLEBPCuwQCstsHQssQE8K7BBKy2wdSywABaxATwrsEIrLbB2LLEAPSsusTABFCstsHcssQA9K7BAKy2weCyxAD0rsEErLbB5LLEAPSuwQistsHossQE9K7BAKy2weyyxAT0rsEErLbB8LLEBPSuwQistsH0ssQA+Ky6xMAEUKy2wfiyxAD4rsEArLbB/LLEAPiuwQSstsIAssQA+K7BCKy2wgSyxAT4rsEArLbCCLLEBPiuwQSstsIMssQE+K7BCKy2whCyxAD8rLrEwARQrLbCFLLEAPyuwQCstsIYssQA/K7BBKy2whyyxAD8rsEIrLbCILLEBPyuwQCstsIkssQE/K7BBKy2wiiyxAT8rsEIrLbCLLLILAANFUFiwBhuyBAIDRVgjIRshWVlCK7AIZbADJFB4sQUBFUVYMFktAEu4AMhSWLEBAY5ZsAG5CAAIAGNwsQAHQrEAACqxAAdCsQAKKrEAB0KxAAoqsQAHQrkAAAALKrEAB0K5AAAACyq5AAMAAESxJAGIUViwQIhYuQADAGREsSgBiFFYuAgAiFi5AAMAAERZG7EnAYhRWLoIgAABBECIY1RYuQADAABEWVlZWVmxAA4quAH/hbAEjbECAESzBWQGAEREAAAAAAAAAAAAAAAAAAAAAAAAAAkAcgADAAEECQAAAKIAAAADAAEECQABABYAogADAAEECQACAA4AuAADAAEECQADAEYAxgADAAEECQAEACYBDAADAAEECQAFAEIBMgADAAEECQAGACYBDAADAAEECQANAmYBdAADAAEECQAOADQD2gBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADAAOQAtADIAMAAxADAAIABEAGUAcwBpAGcAbgAgAFMAYwBpAGUAbgBjAGUALAAgAEkAbgBjAC4ACgBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANAAtADIAMAAxADgAIABLAGgAYQBuACAAQQBjAGEAZABlAG0AeQBLAGEAVABlAFgAXwBTAGkAegBlADQAUgBlAGcAdQBsAGEAcgBGAG8AbgB0AEYAbwByAGcAZQAgADIALgAwACAAOgAgAEsAYQBUAGUAWABfAFMAaQB6AGUANAAtAFIAZQBnAHUAbABhAHIASwBhAFQAZQBYAF8AUwBpAHoAZQA0AC0AUgBlAGcAdQBsAGEAcgBWAGUAcgBzAGkAbwBuACAAMQAuADEAOwAgAHQAdABmAGEAdQB0AG8AaABpAG4AdAAgACgAdgAxAC4AOAAuADMAKQBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADAAOQAtADIAMAAxADAALAAgAEQAZQBzAGkAZwBuACAAUwBjAGkAZQBuAGMAZQAsACAASQBuAGMALgAgACgAPAB3AHcAdwAuAG0AYQB0AGgAagBhAHgALgBvAHIAZwA+ACkACgBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANAAtADIAMAAxADgAIABLAGgAYQBuACAAQQBjAGEAZABlAG0AeQAgACgAPAB3AHcAdwAuAGsAaABhAG4AYQBjAGEAZABlAG0AeQAuAG8AcgBnAD4AKQAsAAoAdwBpAHQAaAAgAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQAIABOAGEAbQBlACAASwBhAFQAZQBYAF8AUwBpAHoAZQA0AC4ACgAKAFQAaABpAHMAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAaQBzACAAbABpAGMAZQBuAHMAZQBkACAAdQBuAGQAZQByACAAdABoAGUAIABTAEkATAAgAE8AcABlAG4AIABGAG8AbgB0ACAATABpAGMAZQBuAHMAZQAsACAAVgBlAHIAcwBpAG8AbgAgADEALgAxAC4ACgBUAGgAaQBzACAAbABpAGMAZQBuAHMAZQAgAGEAdgBhAGkAbABhAGIAbABlACAAdwBpAHQAaAAgAGEAIABGAEEAUQAgAGEAdAA6AAoAaAB0AHQAcAA6AC8ALwBzAGMAcgBpAHAAdABzAC4AcwBpAGwALgBvAHIAZwAvAE8ARgBMAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATAACAAAAAAAA/4MAMgAAAAAAAAAAAAAAAAAAAAAAAAAAADMAAAABAAIAAwALAAwAEgA+AD8AQABeAGABAgDYANkBAwEEAKUBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMBFAEVARYBFwEYARkBGgEbARwBHQEeAR8BIAEhASIBIwEkASUHdW5pMDBBMAd1bmkwMzAyCXRpbGRlY29tYgd1bmkyMzA4B3VuaTIzMDkHdW5pMjMwQQd1bmkyMzBCB3VuaTIzOUIHdW5pMjM5Qwd1bmkyMzlEB3VuaTIzOUUHdW5pMjM5Rgd1bmkyM0EwB3VuaTIzQTEHdW5pMjNBMgd1bmkyM0EzB3VuaTIzQTQHdW5pMjNBNQd1bmkyM0E2B3VuaTIzQTcHdW5pMjNBOAd1bmkyM0E5B3VuaTIzQUEHdW5pMjNBQgd1bmkyM0FDB3VuaTIzQUQHdW5pMjNCNwd1bmkyN0U4B3VuaTI3RTkHdW5pRTAwMAd1bmlFMDAxB3VuaUUxNTAHdW5pRTE1MQd1bmlFMTUyB3VuaUUxNTMHdW5pRTE1NAAAAAEAAf//AA8=) format("truetype")}@font-face{font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff"),url(data:font/ttf;base64,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AQBIKy2wZiyyAQFIKy2wZyyzAAAARCstsGgsswABAEQrLbBpLLMBAABEKy2waiyzAQEARCstsGssswAAAUQrLbBsLLMAAQFEKy2wbSyzAQABRCstsG4sswEBAUQrLbBvLLEAPCsusTABFCstsHAssQA8K7BAKy2wcSyxADwrsEErLbByLLAAFrEAPCuwQistsHMssQE8K7BAKy2wdCyxATwrsEErLbB1LLAAFrEBPCuwQistsHYssQA9Ky6xMAEUKy2wdyyxAD0rsEArLbB4LLEAPSuwQSstsHkssQA9K7BCKy2weiyxAT0rsEArLbB7LLEBPSuwQSstsHwssQE9K7BCKy2wfSyxAD4rLrEwARQrLbB+LLEAPiuwQCstsH8ssQA+K7BBKy2wgCyxAD4rsEIrLbCBLLEBPiuwQCstsIIssQE+K7BBKy2wgyyxAT4rsEIrLbCELLEAPysusTABFCstsIUssQA/K7BAKy2whiyxAD8rsEErLbCHLLEAPyuwQistsIgssQE/K7BAKy2wiSyxAT8rsEErLbCKLLEBPyuwQistsIsssgsAA0VQWLAGG7IEAgNFWCMhGyFZWUIrsAhlsAMkUHixBQEVRVgwWS0AS7gAyFJYsQEBjlmwAbkIAAgAY3CxAAdCsygAAgAqsQAHQrUbCA8EAgoqsQAHQrUlBhUCAgoqsQAJQrsHAAQAAAIACyqxAAtCuwBAAEAAAgALKrkAAwAARLEkAYhRWLBAiFi5AAMAZESxKAGIUVi4CACIWLkAAwAARFkbsScBiFFYugiAAAEEQIhjVFi5AAMAAERZWVlZWbUdCBEEAg4quAH/hbAEjbECAESzBWQGAEREAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYABgAGAAYAmMAAQIVAAACbv/2AhUAAABUAFQATABMAmMAAQJjAa8AAf8jAhUAAAJk//UCZAG4//r/HAIVAAAAAAAAAAkAcgADAAEECQAAAKIAAAADAAEECQABACAAogADAAEECQACAA4AwgADAAEECQADAFAA0AADAAEECQAEADABIAADAAEECQAFAEIBUAADAAEECQAGADABIAADAAEECQANAnABkgADAAEECQAOADQEAgBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADAAOQAtADIAMAAxADAAIABEAGUAcwBpAGcAbgAgAFMAYwBpAGUAbgBjAGUALAAgAEkAbgBjAC4ACgBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANAAtADIAMAAxADgAIABLAGgAYQBuACAAQQBjAGEAZABlAG0AeQBLAGEAVABlAFgAXwBUAHkAcABlAHcAcgBpAHQAZQByAFIAZQBnAHUAbABhAHIARgBvAG4AdABGAG8AcgBnAGUAIAAyAC4AMAAgADoAIABLAGEAVABlAFgAXwBUAHkAcABlAHcAcgBpAHQAZQByAC0AUgBlAGcAdQBsAGEAcgBLAGEAVABlAFgAXwBUAHkAcABlAHcAcgBpAHQAZQByAC0AUgBlAGcAdQBsAGEAcgBWAGUAcgBzAGkAbwBuACAAMQAuADEAOwAgAHQAdABmAGEAdQB0AG8AaABpAG4AdAAgACgAdgAxAC4AOAAuADMAKQBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADAAOQAtADIAMAAxADAALAAgAEQAZQBzAGkAZwBuACAAUwBjAGkAZQBuAGMAZQAsACAASQBuAGMALgAgACgAPAB3AHcAdwAuAG0AYQB0AGgAagBhAHgALgBvAHIAZwA+ACkACgBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANAAtADIAMAAxADgAIABLAGgAYQBuACAAQQBjAGEAZABlAG0AeQAgACgAPAB3AHcAdwAuAGsAaABhAG4AYQBjAGEAZABlAG0AeQAuAG8AcgBnAD4AKQAsAAoAdwBpAHQAaAAgAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQAIABOAGEAbQBlACAASwBhAFQAZQBYAF8AVAB5AHAAZQB3AHIAaQB0AGUAcgAuAAoACgBUAGgAaQBzACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAGkAcwAgAGwAaQBjAGUAbgBzAGUAZAAgAHUAbgBkAGUAcgAgAHQAaABlACAAUwBJAEwAIABPAHAAZQBuACAARgBvAG4AdAAgAEwAaQBjAGUAbgBzAGUALAAgAFYAZQByAHMAaQBvAG4AIAAxAC4AMQAuAAoAVABoAGkAcwAgAGwAaQBjAGUAbgBzAGUAIABhAHYAYQBpAGwAYQBiAGwAZQAgAHcAaQB0AGgAIABhACAARgBBAFEAIABhAHQAOgAKAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATABoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAAgAAAAAAAP+DADIAAAAAAAAAAAAAAAAAAAAAAAAAAACCAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQECAQMAjgCDAN4A1wEEANgA4QEFAQYBBwDbANwA3QDZAN8BCAEJAQoBCwEMAQ0BDgEPARABEQESALYAtwETARQHdW5pMDA3Rgd1bmkwMEEwB3VuaTAyMzcHdW5pMDJDOQd1bmkwMkNBB3VuaTAyQ0IFR2FtbWEHdW5pMDM5NAVUaGV0YQZMYW1iZGECWGkCUGkFU2lnbWEHVXBzaWxvbgNQaGkDUHNpB3VuaTAzQTkGbWludXRlB3VuaTI0MjMAAQAB//8ADw==) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.21"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}</style>
|
||
</head>
|
||
<body>
|
||
<div id="root"></div>
|
||
</body>
|
||
</html>
|