guess-the-year-web-component 3.0.0 → 3.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/main.js CHANGED
@@ -1,41 +1,37 @@
1
1
  /*! For license information please see main.js.LICENSE.txt */
2
- !function(){var t={353:function(t){t.exports=function(){"use strict";var t=6e4,e=36e5,s="millisecond",A="second",r="minute",i="hour",n="day",o="week",a="month",h="quarter",g="year",c="date",l="Invalid Date",d=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,u=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,C={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],s=t%100;return"["+t+(e[(s-20)%10]||e[s]||e[0])+"]"}},I=function(t,e,s){var A=String(t);return!A||A.length>=e?t:""+Array(e+1-A.length).join(s)+t},p={s:I,z:function(t){var e=-t.utcOffset(),s=Math.abs(e),A=Math.floor(s/60),r=s%60;return(e<=0?"+":"-")+I(A,2,"0")+":"+I(r,2,"0")},m:function t(e,s){if(e.date()<s.date())return-t(s,e);var A=12*(s.year()-e.year())+(s.month()-e.month()),r=e.clone().add(A,a),i=s-r<0,n=e.clone().add(A+(i?-1:1),a);return+(-(A+(s-r)/(i?r-n:n-r))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:a,y:g,w:o,d:n,D:c,h:i,m:r,s:A,ms:s,Q:h}[t]||String(t||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},Q="en",E={};E[Q]=C;var B="$isDayjsObject",v=function(t){return t instanceof y||!(!t||!t[B])},m=function t(e,s,A){var r;if(!e)return Q;if("string"==typeof e){var i=e.toLowerCase();E[i]&&(r=i),s&&(E[i]=s,r=i);var n=e.split("-");if(!r&&n.length>1)return t(n[0])}else{var o=e.name;E[o]=e,r=o}return!A&&r&&(Q=r),r||!A&&Q},f=function(t,e){if(v(t))return t.clone();var s="object"==typeof e?e:{};return s.date=t,s.args=arguments,new y(s)},b=p;b.l=m,b.i=v,b.w=function(t,e){return f(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var y=function(){function C(t){this.$L=m(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[B]=!0}var I=C.prototype;return I.parse=function(t){this.$d=function(t){var e=t.date,s=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var A=e.match(d);if(A){var r=A[2]-1||0,i=(A[7]||"0").substring(0,3);return s?new Date(Date.UTC(A[1],r,A[3]||1,A[4]||0,A[5]||0,A[6]||0,i)):new Date(A[1],r,A[3]||1,A[4]||0,A[5]||0,A[6]||0,i)}}return new Date(e)}(t),this.init()},I.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},I.$utils=function(){return b},I.isValid=function(){return!(this.$d.toString()===l)},I.isSame=function(t,e){var s=f(t);return this.startOf(e)<=s&&s<=this.endOf(e)},I.isAfter=function(t,e){return f(t)<this.startOf(e)},I.isBefore=function(t,e){return this.endOf(e)<f(t)},I.$g=function(t,e,s){return b.u(t)?this[e]:this.set(s,t)},I.unix=function(){return Math.floor(this.valueOf()/1e3)},I.valueOf=function(){return this.$d.getTime()},I.startOf=function(t,e){var s=this,h=!!b.u(e)||e,l=b.p(t),d=function(t,e){var A=b.w(s.$u?Date.UTC(s.$y,e,t):new Date(s.$y,e,t),s);return h?A:A.endOf(n)},u=function(t,e){return b.w(s.toDate()[t].apply(s.toDate("s"),(h?[0,0,0,0]:[23,59,59,999]).slice(e)),s)},C=this.$W,I=this.$M,p=this.$D,Q="set"+(this.$u?"UTC":"");switch(l){case g:return h?d(1,0):d(31,11);case a:return h?d(1,I):d(0,I+1);case o:var E=this.$locale().weekStart||0,B=(C<E?C+7:C)-E;return d(h?p-B:p+(6-B),I);case n:case c:return u(Q+"Hours",0);case i:return u(Q+"Minutes",1);case r:return u(Q+"Seconds",2);case A:return u(Q+"Milliseconds",3);default:return this.clone()}},I.endOf=function(t){return this.startOf(t,!1)},I.$set=function(t,e){var o,h=b.p(t),l="set"+(this.$u?"UTC":""),d=(o={},o[n]=l+"Date",o[c]=l+"Date",o[a]=l+"Month",o[g]=l+"FullYear",o[i]=l+"Hours",o[r]=l+"Minutes",o[A]=l+"Seconds",o[s]=l+"Milliseconds",o)[h],u=h===n?this.$D+(e-this.$W):e;if(h===a||h===g){var C=this.clone().set(c,1);C.$d[d](u),C.init(),this.$d=C.set(c,Math.min(this.$D,C.daysInMonth())).$d}else d&&this.$d[d](u);return this.init(),this},I.set=function(t,e){return this.clone().$set(t,e)},I.get=function(t){return this[b.p(t)]()},I.add=function(s,h){var c,l=this;s=Number(s);var d=b.p(h),u=function(t){var e=f(l);return b.w(e.date(e.date()+Math.round(t*s)),l)};if(d===a)return this.set(a,this.$M+s);if(d===g)return this.set(g,this.$y+s);if(d===n)return u(1);if(d===o)return u(7);var C=(c={},c[r]=t,c[i]=e,c[A]=1e3,c)[d]||1,I=this.$d.getTime()+s*C;return b.w(I,this)},I.subtract=function(t,e){return this.add(-1*t,e)},I.format=function(t){var e=this,s=this.$locale();if(!this.isValid())return s.invalidDate||l;var A=t||"YYYY-MM-DDTHH:mm:ssZ",r=b.z(this),i=this.$H,n=this.$m,o=this.$M,a=s.weekdays,h=s.months,g=s.meridiem,c=function(t,s,r,i){return t&&(t[s]||t(e,A))||r[s].slice(0,i)},d=function(t){return b.s(i%12||12,t,"0")},C=g||function(t,e,s){var A=t<12?"AM":"PM";return s?A.toLowerCase():A};return A.replace(u,(function(t,A){return A||function(t){switch(t){case"YY":return String(e.$y).slice(-2);case"YYYY":return b.s(e.$y,4,"0");case"M":return o+1;case"MM":return b.s(o+1,2,"0");case"MMM":return c(s.monthsShort,o,h,3);case"MMMM":return c(h,o);case"D":return e.$D;case"DD":return b.s(e.$D,2,"0");case"d":return String(e.$W);case"dd":return c(s.weekdaysMin,e.$W,a,2);case"ddd":return c(s.weekdaysShort,e.$W,a,3);case"dddd":return a[e.$W];case"H":return String(i);case"HH":return b.s(i,2,"0");case"h":return d(1);case"hh":return d(2);case"a":return C(i,n,!0);case"A":return C(i,n,!1);case"m":return String(n);case"mm":return b.s(n,2,"0");case"s":return String(e.$s);case"ss":return b.s(e.$s,2,"0");case"SSS":return b.s(e.$ms,3,"0");case"Z":return r}return null}(t)||r.replace(":","")}))},I.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},I.diff=function(s,c,l){var d,u=this,C=b.p(c),I=f(s),p=(I.utcOffset()-this.utcOffset())*t,Q=this-I,E=function(){return b.m(u,I)};switch(C){case g:d=E()/12;break;case a:d=E();break;case h:d=E()/3;break;case o:d=(Q-p)/6048e5;break;case n:d=(Q-p)/864e5;break;case i:d=Q/e;break;case r:d=Q/t;break;case A:d=Q/1e3;break;default:d=Q}return l?d:b.a(d)},I.daysInMonth=function(){return this.endOf(a).$D},I.$locale=function(){return E[this.$L]},I.locale=function(t,e){if(!t)return this.$L;var s=this.clone(),A=m(t,e,!0);return A&&(s.$L=A),s},I.clone=function(){return b.w(this.$d,this)},I.toDate=function(){return new Date(this.valueOf())},I.toJSON=function(){return this.isValid()?this.toISOString():null},I.toISOString=function(){return this.$d.toISOString()},I.toString=function(){return this.$d.toUTCString()},C}(),w=y.prototype;return f.prototype=w,[["$ms",s],["$s",A],["$m",r],["$H",i],["$W",n],["$M",a],["$y",g],["$D",c]].forEach((function(t){w[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),f.extend=function(t,e){return t.$i||(t(e,y,f),t.$i=!0),f},f.locale=m,f.isDayjs=v,f.unix=function(t){return f(1e3*t)},f.en=E[Q],f.Ls=E,f.p={},f}()}},e={};function s(A){var r=e[A];if(void 0!==r)return r.exports;var i=e[A]={exports:{}};return t[A].call(i.exports,i,i.exports,s),i.exports}s.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return s.d(e,{a:e}),e},s.d=function(t,e){for(var A in e)s.o(e,A)&&!s.o(t,A)&&Object.defineProperty(t,A,{enumerable:!0,get:e[A]})},s.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},function(){"use strict";const t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,A=Symbol(),r=new WeakMap;class i{constructor(t,e,s){if(this._$cssResult$=!0,s!==A)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=r.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&r.set(s,t))}return t}toString(){return this.cssText}}const n=(t,...e)=>{const s=1===t.length?t[0]:e.reduce(((e,s,A)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(s)+t[A+1]),t[0]);return new i(s,t,A)},o=(s,A)=>{if(e)s.adoptedStyleSheets=A.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of A){const A=document.createElement("style"),r=t.litNonce;void 0!==r&&A.setAttribute("nonce",r),A.textContent=e.cssText,s.appendChild(A)}},a=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const s of t.cssRules)e+=s.cssText;return(t=>new i("string"==typeof t?t:t+"",void 0,A))(e)})(t):t,{is:h,defineProperty:g,getOwnPropertyDescriptor:c,getOwnPropertyNames:l,getOwnPropertySymbols:d,getPrototypeOf:u}=Object,C=globalThis,I=C.trustedTypes,p=I?I.emptyScript:"",Q=C.reactiveElementPolyfillSupport,E=(t,e)=>t,B={toAttribute(t,e){switch(e){case Boolean:t=t?p:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let s=t;switch(e){case Boolean:s=null!==t;break;case Number:s=null===t?null:Number(t);break;case Object:case Array:try{s=JSON.parse(t)}catch(t){s=null}}return s}},v=(t,e)=>!h(t,e),m={attribute:!0,type:String,converter:B,reflect:!1,hasChanged:v};Symbol.metadata??=Symbol("metadata"),C.litPropertyMetadata??=new WeakMap;class f extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=m){if(e.state&&(e.attribute=!1),this._$Ei(),this.elementProperties.set(t,e),!e.noAccessor){const s=Symbol(),A=this.getPropertyDescriptor(t,s,e);void 0!==A&&g(this.prototype,t,A)}}static getPropertyDescriptor(t,e,s){const{get:A,set:r}=c(this.prototype,t)??{get(){return this[e]},set(t){this[e]=t}};return{get(){return A?.call(this)},set(e){const i=A?.call(this);r.call(this,e),this.requestUpdate(t,i,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??m}static _$Ei(){if(this.hasOwnProperty(E("elementProperties")))return;const t=u(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(E("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(E("properties"))){const t=this.properties,e=[...l(t),...d(t)];for(const s of e)this.createProperty(s,t[s])}const t=this[Symbol.metadata];if(null!==t){const e=litPropertyMetadata.get(t);if(void 0!==e)for(const[t,s]of e)this.elementProperties.set(t,s)}this._$Eh=new Map;for(const[t,e]of this.elementProperties){const s=this._$Eu(t,e);void 0!==s&&this._$Eh.set(s,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const s=new Set(t.flat(1/0).reverse());for(const t of s)e.unshift(a(t))}else void 0!==t&&e.push(a(t));return e}static _$Eu(t,e){const s=e.attribute;return!1===s?void 0:"string"==typeof s?s:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,e=this.constructor.elementProperties;for(const s of e.keys())this.hasOwnProperty(s)&&(t.set(s,this[s]),delete this[s]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return o(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,e,s){this._$AK(t,s)}_$EC(t,e){const s=this.constructor.elementProperties.get(t),A=this.constructor._$Eu(t,s);if(void 0!==A&&!0===s.reflect){const r=(void 0!==s.converter?.toAttribute?s.converter:B).toAttribute(e,s.type);this._$Em=t,null==r?this.removeAttribute(A):this.setAttribute(A,r),this._$Em=null}}_$AK(t,e){const s=this.constructor,A=s._$Eh.get(t);if(void 0!==A&&this._$Em!==A){const t=s.getPropertyOptions(A),r="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:B;this._$Em=A,this[A]=r.fromAttribute(e,t.type),this._$Em=null}}requestUpdate(t,e,s){if(void 0!==t){if(s??=this.constructor.getPropertyOptions(t),!(s.hasChanged??v)(this[t],e))return;this.P(t,e,s)}!1===this.isUpdatePending&&(this._$ES=this._$ET())}P(t,e,s){this._$AL.has(t)||this._$AL.set(t,e),!0===s.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,e]of this._$Ep)this[t]=e;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[e,s]of t)!0!==s.wrapped||this._$AL.has(e)||void 0===this[e]||this.P(e,this[e],s)}let t=!1;const e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(e)):this._$EU()}catch(e){throw t=!1,this._$EU(),e}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EC(t,this[t]))),this._$EU()}updated(t){}firstUpdated(t){}}f.elementStyles=[],f.shadowRootOptions={mode:"open"},f[E("elementProperties")]=new Map,f[E("finalized")]=new Map,Q?.({ReactiveElement:f}),(C.reactiveElementVersions??=[]).push("2.0.4");const b=globalThis,y=b.trustedTypes,w=y?y.createPolicy("lit-html",{createHTML:t=>t}):void 0,S="$lit$",T=`lit$${Math.random().toFixed(9).slice(2)}$`,_="?"+T,U=`<${_}>`,x=document,k=()=>x.createComment(""),P=t=>null===t||"object"!=typeof t&&"function"!=typeof t,H=Array.isArray,K="[ \t\n\f\r]",O=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,M=/-->/g,F=/>/g,N=RegExp(`>|${K}(?:([^\\s"'>=/]+)(${K}*=${K}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),D=/'/g,j=/"/g,Y=/^(?:script|style|textarea|title)$/i,z=t=>(e,...s)=>({_$litType$:t,strings:e,values:s}),R=z(1),J=(z(2),z(3),Symbol.for("lit-noChange")),W=Symbol.for("lit-nothing"),L=new WeakMap,V=x.createTreeWalker(x,129);function X(t,e){if(!H(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==w?w.createHTML(e):e}const Z=(t,e)=>{const s=t.length-1,A=[];let r,i=2===e?"<svg>":3===e?"<math>":"",n=O;for(let e=0;e<s;e++){const s=t[e];let o,a,h=-1,g=0;for(;g<s.length&&(n.lastIndex=g,a=n.exec(s),null!==a);)g=n.lastIndex,n===O?"!--"===a[1]?n=M:void 0!==a[1]?n=F:void 0!==a[2]?(Y.test(a[2])&&(r=RegExp("</"+a[2],"g")),n=N):void 0!==a[3]&&(n=N):n===N?">"===a[0]?(n=r??O,h=-1):void 0===a[1]?h=-2:(h=n.lastIndex-a[2].length,o=a[1],n=void 0===a[3]?N:'"'===a[3]?j:D):n===j||n===D?n=N:n===M||n===F?n=O:(n=N,r=void 0);const c=n===N&&t[e+1].startsWith("/>")?" ":"";i+=n===O?s+U:h>=0?(A.push(o),s.slice(0,h)+S+s.slice(h)+T+c):s+T+(-2===h?e:c)}return[X(t,i+(t[s]||"<?>")+(2===e?"</svg>":3===e?"</math>":"")),A]};class G{constructor({strings:t,_$litType$:e},s){let A;this.parts=[];let r=0,i=0;const n=t.length-1,o=this.parts,[a,h]=Z(t,e);if(this.el=G.createElement(a,s),V.currentNode=this.el.content,2===e||3===e){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(A=V.nextNode())&&o.length<n;){if(1===A.nodeType){if(A.hasAttributes())for(const t of A.getAttributeNames())if(t.endsWith(S)){const e=h[i++],s=A.getAttribute(t).split(T),n=/([.?@])?(.*)/.exec(e);o.push({type:1,index:r,name:n[2],strings:s,ctor:"."===n[1]?st:"?"===n[1]?At:"@"===n[1]?rt:et}),A.removeAttribute(t)}else t.startsWith(T)&&(o.push({type:6,index:r}),A.removeAttribute(t));if(Y.test(A.tagName)){const t=A.textContent.split(T),e=t.length-1;if(e>0){A.textContent=y?y.emptyScript:"";for(let s=0;s<e;s++)A.append(t[s],k()),V.nextNode(),o.push({type:2,index:++r});A.append(t[e],k())}}}else if(8===A.nodeType)if(A.data===_)o.push({type:2,index:r});else{let t=-1;for(;-1!==(t=A.data.indexOf(T,t+1));)o.push({type:7,index:r}),t+=T.length-1}r++}}static createElement(t,e){const s=x.createElement("template");return s.innerHTML=t,s}}function q(t,e,s=t,A){if(e===J)return e;let r=void 0!==A?s._$Co?.[A]:s._$Cl;const i=P(e)?void 0:e._$litDirective$;return r?.constructor!==i&&(r?._$AO?.(!1),void 0===i?r=void 0:(r=new i(t),r._$AT(t,s,A)),void 0!==A?(s._$Co??=[])[A]=r:s._$Cl=r),void 0!==r&&(e=q(t,r._$AS(t,e.values),r,A)),e}class ${constructor(t,e){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:e},parts:s}=this._$AD,A=(t?.creationScope??x).importNode(e,!0);V.currentNode=A;let r=V.nextNode(),i=0,n=0,o=s[0];for(;void 0!==o;){if(i===o.index){let e;2===o.type?e=new tt(r,r.nextSibling,this,t):1===o.type?e=new o.ctor(r,o.name,o.strings,this,t):6===o.type&&(e=new it(r,this,t)),this._$AV.push(e),o=s[++n]}i!==o?.index&&(r=V.nextNode(),i++)}return V.currentNode=x,A}p(t){let e=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,e),e+=s.strings.length-2):s._$AI(t[e])),e++}}class tt{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,e,s,A){this.type=2,this._$AH=W,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=s,this.options=A,this._$Cv=A?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return void 0!==e&&11===t?.nodeType&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=q(this,t,e),P(t)?t===W||null==t||""===t?(this._$AH!==W&&this._$AR(),this._$AH=W):t!==this._$AH&&t!==J&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):(t=>H(t)||"function"==typeof t?.[Symbol.iterator])(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==W&&P(this._$AH)?this._$AA.nextSibling.data=t:this.T(x.createTextNode(t)),this._$AH=t}$(t){const{values:e,_$litType$:s}=t,A="number"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=G.createElement(X(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===A)this._$AH.p(e);else{const t=new $(A,this),s=t.u(this.options);t.p(e),this.T(s),this._$AH=t}}_$AC(t){let e=L.get(t.strings);return void 0===e&&L.set(t.strings,e=new G(t)),e}k(t){H(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let s,A=0;for(const r of t)A===e.length?e.push(s=new tt(this.O(k()),this.O(k()),this,this.options)):s=e[A],s._$AI(r),A++;A<e.length&&(this._$AR(s&&s._$AB.nextSibling,A),e.length=A)}_$AR(t=this._$AA.nextSibling,e){for(this._$AP?.(!1,!0,e);t&&t!==this._$AB;){const e=t.nextSibling;t.remove(),t=e}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class et{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,e,s,A,r){this.type=1,this._$AH=W,this._$AN=void 0,this.element=t,this.name=e,this._$AM=A,this.options=r,s.length>2||""!==s[0]||""!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=W}_$AI(t,e=this,s,A){const r=this.strings;let i=!1;if(void 0===r)t=q(this,t,e,0),i=!P(t)||t!==this._$AH&&t!==J,i&&(this._$AH=t);else{const A=t;let n,o;for(t=r[0],n=0;n<r.length-1;n++)o=q(this,A[s+n],e,n),o===J&&(o=this._$AH[n]),i||=!P(o)||o!==this._$AH[n],o===W?t=W:t!==W&&(t+=(o??"")+r[n+1]),this._$AH[n]=o}i&&!A&&this.j(t)}j(t){t===W?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}}class st extends et{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===W?void 0:t}}class At extends et{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==W)}}class rt extends et{constructor(t,e,s,A,r){super(t,e,s,A,r),this.type=5}_$AI(t,e=this){if((t=q(this,t,e,0)??W)===J)return;const s=this._$AH,A=t===W&&s!==W||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,r=t!==W&&(s===W||A);A&&this.element.removeEventListener(this.name,this,s),r&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class it{constructor(t,e,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){q(this,t)}}const nt=b.litHtmlPolyfillSupport;nt?.(G,tt),(b.litHtmlVersions??=[]).push("3.2.1");class ot extends f{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=((t,e,s)=>{const A=s?.renderBefore??e;let r=A._$litPart$;if(void 0===r){const t=s?.renderBefore??null;A._$litPart$=r=new tt(e.insertBefore(k(),t),t,void 0,s??{})}return r._$AI(t),r})(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return J}}ot._$litElement$=!0,ot.finalized=!0,globalThis.litElementHydrateSupport?.({LitElement:ot});const at=globalThis.litElementPolyfillSupport;at?.({LitElement:ot}),(globalThis.litElementVersions??=[]).push("4.1.1");const ht={attribute:!0,type:String,converter:B,reflect:!1,hasChanged:v},gt=(t=ht,e,s)=>{const{kind:A,metadata:r}=s;let i=globalThis.litPropertyMetadata.get(r);if(void 0===i&&globalThis.litPropertyMetadata.set(r,i=new Map),i.set(s.name,t),"accessor"===A){const{name:A}=s;return{set(s){const r=e.get.call(this);e.set.call(this,s),this.requestUpdate(A,r,t)},init(e){return void 0!==e&&this.P(A,void 0,t),e}}}if("setter"===A){const{name:A}=s;return function(s){const r=this[A];e.call(this,s),this.requestUpdate(A,r,t)}}throw Error("Unsupported decorator location: "+A)};function ct(t){return(e,s)=>"object"==typeof s?gt(t,e,s):((t,e,s)=>{const A=e.hasOwnProperty(s);return e.constructor.createProperty(s,A?{...t,wrapped:!0}:t),A?Object.getOwnPropertyDescriptor(e,s):void 0})(t,e,s)}function lt(t){return ct({...t,state:!0,attribute:!1})}class dt{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,s){this._$Ct=t,this._$AM=e,this._$Ci=s}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}class ut extends dt{constructor(t){if(super(t),this.it=W,2!==t.type)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===W||null==t)return this._t=void 0,this.it=t;if(t===J)return t;if("string"!=typeof t)throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.it)return this._t;this.it=t;const e=[t];return e.raw=e,this._t={_$litType$:this.constructor.resultType,strings:e,values:[]}}}ut.directiveName="unsafeHTML",ut.resultType=1;const Ct=(t=>(...e)=>({_$litDirective$:t,values:e}))(ut);var It,pt=s(353),Qt=s.n(pt);!function(t){t.tvShowOrSeries="tvShowOrSeries",t.showbizz="showbizz",t.trend="trend",t.tech="tech",t.fashionTrend="fashionTrend",t.cinemaMovie="cinemaMovie",t.streetScene="streetScene",t.newsPresenter="newsPresenter",t.radioSong="radioSong",t.newsItem="newsItem",t.iconicAlbum="iconicAlbum",t.radioShow="radioShow",t.bestSellerBook="bestSellerBook",t.advertisement="advertisement",t.car="car",t.sports="sports",t.unknown="unknown"}(It||(It={}));const Et=[It.advertisement,It.bestSellerBook,It.car,It.cinemaMovie,It.fashionTrend,It.iconicAlbum,It.newsItem,It.newsPresenter,It.radioShow,It.radioSong,It.showbizz,It.sports];class Bt{static async asyncForeach(t,e){for(let s=0;s<t.length;s++)await e(t[s],s,t)}static removeAllChildren(t){if(!t)return;let e=t.lastChild;for(;e;)t.removeChild(e),e=t.lastChild}static shuffleArray(t){return t.sort((()=>Math.random()-.5))}}class vt{constructor(t){this.teeeApiUrl=t}async fetchOneIncident(t,e,s,A,r,i,n,o,a){return new Promise((async(h,g)=>{console.debug("fetchHistory");const c=t||"",l=e||"",d=s||"",u=A||"",C=r||"",I=i||"",p=n||"",Q=o||"",E=a||"";try{const t=[],e=new URLSearchParams({pov:c,emotion:d,impact:u,limit:"1",variant:E});if(e.append("seed",""+(new Date).getTime()),o&&e.append("maxlasted",""+Q),e.set("category",l),C){const s=new URL(`${this.teeeApiUrl}/${r}`);s.search=e.toString(),t.push(s)}else{if(!I||!p)throw"No correct date or period specified.";{const s=new Date(I).toISOString().substring(0,10),A=new Date(p).toISOString().substring(0,10);e.set("from",s),e.set("to",A);const r=new URL(this.teeeApiUrl);r.search=e.toString(),t.push(r)}}let s=[];await Bt.asyncForeach(t,(async t=>{const e=await fetch(t),A=await e.json();s=s.concat(A.results)}));const A=s.length?s[0]:void 0,i={};s.forEach((t=>{t.source&&(i[t.source]=!0)})),console.info([s,i]),h({incident:A,sources:Object.keys(i)})}catch(t){g(t)}}))}async postAttributeQualityFeedback(t,e,s,A){const r=`${this.teeeApiUrl}/feedback/${t}/attribute`;await fetch(r,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({attribute:e,value:s,remark:A})})}async postIncidentQualityFeedback(t,e){const s=`${this.teeeApiUrl}/feedback/${t}/remark`;await fetch(s,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({remark:e})})}}var mt,ft;!function(t){t.incorrect="incorrect",t.tooShort="tooShort",t.tooLong="tooLong",t.toneOfVoice="toneOfVoice",t.missing="missing",t.noMatch="noMatch",t.badData="badData",t.unknown="unknown"}(mt||(mt={}));class bt{constructor(t={}){this.HintTemplates=t,t[It.newsPresenter]=["__TITLE__ presenteerde het acht uur journaal."],t[It.tech]=["Technieuws: __TITLE__.","Techneuten liepen warm voor '__TITLE__'."],t[It.sports]=["Sportnieuws: __TITLE__.","Sportfanaten spraken over '__TITLE__'."],t[It.newsItem]=["In de krant stond dit jaar ook '__TITLE__'.","'__TITLE__' was dit jaar ook in het nieuws te lezen."],t[It.cinemaMovie]=["De film '__TITLE__' draaide in de bioscoop.","De film '__TITLE__' was een kaskraker.","In de bioscoop was de film '__TITLE__' te zien.","'__TITLE__' was op het witte doek te zien."],t[It.radioSong]=["De hit '__TRACK__' van __ARTIST__ was een graag gedraaide tune op de radio.","Aan het liedje '__TRACK__' van __ARTIST__ was niet te ontkomen op de radio.","__ARTIST__' '__TRACK__' klonk regelmatig op de radio.","Je kon '__TRACK__' van __ARTIST__ niet missen op de radio, het werd zo vaak gedraaid.","'__TRACK__' van __ARTIST__ was een vast nummer op de radio.","In die tijd was '__TRACK__' van __ARTIST__ een veelgehoorde radiohit.","'__TRACK__' van __ARTIST__ was een radio-favoriet in dit jaar.","De radiostations zonden '__TRACK__' van __ARTIST__ uit.","Het nummer '__TRACK__' van __ARTIST__ genoot veel airplay op de radio.","'__TRACK__' van __ARTIST__ was een veelgehoord nummer op de radiostations.","'__TRACK__' van __ARTIST__ werd een radioklassieker.","'__TRACK__' van __ARTIST__ was een onvergetelijke hit die de radio domineerde.","'__TRACK__' van __ARTIST__ was een veelgehoorde hit.","De radiostations draaiden '__TRACK__' van __ARTIST__ grijs.","'__TRACK__' van __ARTIST__ was een catchy nummer dat je bleef meezingen.","De beat van '__TRACK__' van __ARTIST__ was onweerstaanbaar.","'__TRACK__' van __ARTIST__ had een unieke sound die je niet snel vergat.","Je kon niet om '__TRACK__' van __ARTIST__ heen."]}translate(t){switch(t){case"year":return"jaar";case"start":return"start";case"new-game":return"nieuw spel";case"end":return"Je hebt het gered :)";case"next-question":return"Volgende vraag";case"quit":return"Afsluiten";case"answer-correct":return"Correct";case"answer-wrong":return"Helaas";case"question-number":return"Vraag";case"question-score":return"Score";case"total-score":return"Totaalscore";case"show-hint":return"Toon hint";case"used-hint-singular":return"Je hebt 1 hint gebruikt";case"used-hint-plural":return"Je hebt __HINTS__ hints gebruikt";case"number-points-singular":return"Voor deze vraag heb je 1 punt gehaald";case"number-points-plural":return"Voor deze vraag heb je __POINTS__ punten gehaald";case"correct-answer-was":return"Je koos voor __WRONG__ maar het juiste antwoord was __CORRECT__";case"no-answer-correct-answer-was":return"Je hebt geen antwoord gegeven maar het juiste antwoord was __CORRECT__";case"game-name":return"Guess The Year";case"game-call-to-action":return"Game on!";case"your-answer":return"Mijn antwoord";case"your-feedback":return"opmerkingen";case"try-left":return"__TRIES__ poging over";case"tries-left":return"__TRIES__ pogingen over";case"in-one-second":return"In __SECONDS__ seconde";case"in-x-seconds":return"In __SECONDS__ seconden";case"game-settings-p1":return" Right. Oh hey, Biff, hey, guys, how are you doing? Look, there's a rhythmic";case"game-settings-p2":return" vragen ceremonial ritual coming up.Vanaf begin";case"game-settings-p3":return" Precisely, just relax now Calvin. Tot eind";case"game-settings-p4":return" you've got a big bruise on you're head.";case"game-introduction-p1":return"somethng";case"game-introduction-p2":return"Excuse me. Go. Go. Never mind that, never mind that now, never mind that, never mind- Yeah, well, how about my homework, McFly? Don't stop, Wilbert, drive.";case"game-introduction-p3":return"Mom, is that you? Oh. Uh Doc, uh no. No, don't be silly. What did your mother ever see in that kid? You guys, take him in back and I'll be right there. Well c'mon, this ain't no peep show.";case"game-introduction-welcome":return"Welkom bij Guess The Year!"}return t}}!function(t){t.INIT="init",t.SPLASH="splash",t.INTRO="intro",t.PLAY="play",t.END="end"}(ft||(ft={}));var yt=n`h1{color:var(--guess-the-year-title-color, rgb(0, 0, 0));background-color:var(--guess-the-year-title-background-color, rgba(255, 255, 255, 0.7));font-size:var(--guess-the-year-title-font-size, 16px);margin:0;padding:1rem;text-align:center}p{color:var(--guess-the-year-text-color, black);font-size:var(--guess-the-year-text-font-size, 14px)}:host{position:relative;color:var(--guess-the-year-text-color, black);background:var(--guess-the-year-background-color, white);width:100%;height:100%}.guess-the-year-container{position:relative;width:100%;height:100%;max-width:768px;margin:0 auto}.guess-the-year-header{position:sticky;z-index:100;top:0;box-shadow:0px 5px 5px 0px rgba(0,0,0,.3);margin-bottom:15px}.footer{position:absolute;bottom:0;left:0;right:0;color:var(--guess-the-year-footer-color, rgb(0, 0, 0));font-size:var(--guess-the-year-footer-font-size, 12px);margin:0;z-index:-1}.splashscreen{background-color:var(--guess-the-year-splash-screen-background-color, rgba(255, 255, 255, 0.7));color:var(--guess-the-year-splash-screen-color, rgb(0, 0, 0));font-size:var(--guess-the-year-splash-screen-font-size, 16px);margin:0;text-align:center;width:100%;height:90vh}.splashscreen .splash-logo{margin:0 auto;padding:0;display:block;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.splashscreen .splash-logo img{max-width:300px;border-radius:50%;border:1px solid #000}div.game-intro{color:var(--guess-the-year-title-color, rgb(0, 0, 0));margin:0;padding:0;text-align:left}div.game-intro>div{background-color:var(--guess-the-year-title-background-color, rgba(255, 255, 255, 0.7));padding:1rem;max-width:70ch;margin:1rem auto}div.game-intro .game-start button{background-color:var(--guess-the-year-button-background-color, rgb(0, 0, 0));color:var(--guess-the-year-button-color, rgb(255, 255, 255));border:0;padding:1rem;margin:1rem auto;display:block;width:100%;font-size:var(--guess-the-year-button-font-size, 1rem);font-weight:bold;text-transform:uppercase;cursor:pointer}.guess-the-year-game-stage{position:relative;padding-bottom:100px}.guess-the-year-game-stage .container{position:relative;width:100%;height:100%}.guess-the-year-game-stage .incident--title{top:0;width:100%;border-top:1px solid #fff;margin-bottom:10px}.guess-the-year-game-stage .incident--image{z-index:-1;height:40vh;display:flex;align-items:center;justify-content:center}.guess-the-year-game-stage .incident--image img{max-width:100%;max-height:100%}.guess-the-year-game-stage .incident--text{background-color:var(--guess-the-year-text-background-color, rgba(255, 255, 255, 0.5));color:var(--guess-the-year-text-color, rgb(0, 0, 0));font-size:var(--guess-the-year-text-font-size, 14px)}.guess-the-year-game-stage .game-controls{position:sticky;bottom:25px;left:0;width:100%;background-color:hsla(0,0%,100%,.7);padding-top:10px}.guess-the-year-game-stage .game-controls--hint{text-align:right}.guess-the-year-game-stage .game-controls--hint button{margin:10px;padding:10px;border-radius:10px;border:1px solid #000;cursor:pointer;background-color:var(--guess-the-year-text-background-color);color:var(--guess-the-year-text-color)}.guess-the-year-game-stage .game-controls--hint button:hover{background-color:var(--guess-the-year-button-background-color);color:var(--guess-the-year-button-color)}.guess-the-year-game-stage .game-controls--answers .answers--list ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:row;align-items:center;justify-content:space-evenly}.guess-the-year-game-stage .game-controls--answers .answers--list ul li{border:1px solid #000;border-radius:10px;padding:10px 10px;cursor:pointer;background-color:var(--guess-the-year-text-background-color)}.guess-the-year-game-stage .game-controls--answers .answers--list ul li:hover{background-color:var(--guess-the-year-button-background-color);color:var(--guess-the-year-button-color)}.guess-the-year-game-stage .feedback{position:absolute;top:0;left:0;right:0;bottom:0;height:100%;width:100%;margin:auto;backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center}.guess-the-year-game-stage .feedback--content{width:300px;background-color:var(--guess-the-year-text-background-color);padding:15px;border-radius:10px;box-shadow:0px 5px 5px 0px rgba(0,0,0,.3)}.guess-the-year-game-stage .game-score{display:flex;flex-direction:row;align-items:center;justify-content:space-evenly;margin-bottom:10px}.guess-the-year-game-stage .game-score--label{font-size:80%}.guess-the-year-game-stage .game-score--value{font-weight:bold}.guess-the-year-sources{font-size:70%}`;class wt{constructor(t,e=0,s=1e3){this.value=0,(this.host=t).addController(this),this.startValue=e,this.value=e,this.timeout=s}start(){this._timerID=setInterval((()=>{this.value-=1,this.host.requestUpdate()}),this.timeout)}stop(){clearInterval(this._timerID),this._timerID=void 0}reset(){this.value=this.startValue}subtract(t){this.value-=t,this.value<0&&(this.value=0)}isRunning(){return!!this._timerID}hostDisconnected(){clearInterval(this._timerID),this._timerID=void 0}}var St=function(t,e,s,A){var r,i=arguments.length,n=i<3?e:null===A?A=Object.getOwnPropertyDescriptor(e,s):A;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(t,e,s,A);else for(var o=t.length-1;o>=0;o--)(r=t[o])&&(n=(i<3?r(n):i>3?r(e,s,n):r(e,s))||n);return i>3&&n&&Object.defineProperty(e,s,n),n};const{setTimeout:Tt}=window;let _t=class extends ot{get loading(){return this._loading}set loading(t){this._loading=t}constructor(){super(),this._startTime=new Date,this._endTime=new Date,this.sources=[],this._loading=!1,this.teeeApiUrl="https://api.tee-e.com",this.reportBrokenImages=!1,this.date="",this.country="",this.category="",this.emotion="",this.impact="",this.from=Qt()("1950-01-01","YYYY-MM-DD"),this.to=Qt()(),this.limit="",this.shuffle=!1,this.showDuration=!1,this.showFeedback=!1,this.noImageSrc="",this.suppressImages=!1,this.autoFocus=!1,this.hintIntervalSecs=7,this.maxHints=3,this.maxTries=-1,this.numberOfQuestions=10,this._numberOfQuestionsSeen=0,this._incident=void 0,this._answers=[],this._hint=void 0,this._showHint=!0,this._showFooter=!1,this._hintsIndex=0,this._hints=[],this._solution=void 0,this._displaySolution=!1,this._answeredCorrectly=!1,this._tries=0,this._renderState=ft.INIT,this._score=30,this.totalScore=0,this._answer=void 0,this._apiService=new vt(this.teeeApiUrl),this._intervalsPassed=0,this.i18n=new bt,this._handleImageLoadError=(t,e)=>{const s=t.target;console.info(`Error loading image: ${s.src}`);const A=this.noImageSrc||"data:image/png;base64,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CBAgQIAAAQICBdcAAQIECBAgQIAAAQIECBAgkFlAoJCZTAUCBAgQIECAAAECBAgQIEBAoOAaIECAAAECBAgQIECAAAECBDILCBQyk6lAgAABAgQIECBAgAABAgQICBRcAwQIECBAgAABAgQIECBAgEBmAYFCZjIVCBAgQIAAAQIECBAgQIAAAYGCa4AAAQIECBAgQIAAAQIECBDILCBQyEymAgECBAgQIECAAAECBAgQICBQcA0QIECAAAECBAgQIECAAAECmQUECpnJVCBAgAABAgQIECBAgAABAgQECq4BAgQIECBAgAABAgQIECBAILOAQCEzmQoECBAgQIAAAQIECBAgQICAQME1QIAAAQIECBAgQIAAAQIECGQWEChkJlOBAAECBAgQIECAAAECBAgQECi4BggQIECAAAECBAgQIECAAIHMAgKFzGQqECBAgAABAgQIECBAgAABAgIF1wABAgQIECBAgAABAgQIECCQWUCgkJlMBQIECBAgQIAAAQIECBAgQECg4BogQIAAAQIECBAgQIAAAQIEMgsIFDKTqUCAAAECBAgQIECAAAECBAgIFFwDBAgQIECAAAECBAgQIECAQGYBgUJmMhUIECBAgAABAgQIECBAgAABgYJrgAABAgQIECBAgAABAgQIEMgsIFDITKYCAQIECBAgQIAAAQIECBAgIFBwDRAgQIAAAQIECBAgQIAAAQKZBQQKmclUIECAAAECBAgQIECAAAECBAQKrgECBAgQIECAAAECBAgQIEAgs4BAITOZCgQIECBAgAABAgQIECBAgIBAwTVAgAABAgQIECBAgAABAgQIZBYQKGQmU4EAAQIECBAgQIAAAQIECBAQKLgGCBAgQIAAAQIECBAgQIAAgcwCAoXMZCoQIECAAAECBAgQIECAAAECAgXXAAECBAgQIECAAAECBAgQIJBZQKCQmUwFAgQIECBAgAABAgQIECBAQKDgGiBAgAABAgQIECBAgAABAgQyCwgUMpOpQIAAAQIEyi/Qo3vnGDK4T/TdvHt069opNtqofbStqow2bdqU/2SK2OOqVasi/d+SpcvjnXc/jDdmz4+XXpkVs+e8HdXVNUXsSVMECBAgQIBAsQUECsUW1R4BAgQIECiSQMdNNoq99hgRB43dObbs1ysJD+oabrPa57p9zftvkikkW+3/JQFDxJy5b8fk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kDA97v/nM/Hgw89G+riDjQABAgQIEGgaAgKFpjEPzoIAAQIECNQLVFS0iU27dIytBvSOz4weGjslayxs3rtb/fHW8GFesuji40+8HA8/+ny8Mn12zHv7g2S9hOrWMHRjJECAAAECzUZAoNBspsqJEiBAgEBrE2iTvAaiXduqaJfctZAu2Dhs2wExoH/P6Nlj0+jQoX1UVVZF+qaI5r6tTIKCxYuXRfrmhhkz58azL8yM12fNi6VLlsey5Sti1apVzX2Izp8AAQIECLRIAYFCi5xWgyJAgAABAgQIECBAgAABAqUVECiU1lfrBAgQIECAAAECBAgQIECgRQoIFFrktBoUAQIECBAgQIAAAQIECBAorYBAobS+WidAgAABAgQIECBAgAABAi1SQKDQIqfVoAgQIECAAAECBAgQIECAQGkFBAql9dU6AQIECBAgQIAAAQIECBBokQIChRY5rQZFgAABAgQIECBAgAABAgRKKyBQKK2v1gkQIECAAAECBAgQIECAQIsUECi0yGk1KAIECBAgQIAAAQIECBAgUFoBgUJpfbVOgAABAgQIECBAgAABAgRapIBAoUVOq0ERIECAAAECBAgQIECAAIHSCggUSuurdQIECBAgQIAAAQIECBAg0CIFBAotcloNigABAgQIECBAgAABAgQIlFZAoFBaX60TIECAAAECBAgQIECAAIEWKSBQaJHTalAECBAgQIAAAQIECBAgQKC0AgKF0vpqnQABAgQIECBAgAABAgQItEiB/w8AAP//9n+T/QAAQABJREFU7Z0HnFXF2f8ftsAWWJalLB2WjgUQC2IEe1SIMfbYolGjJmo0mmp8E9/XkqLmn5jYFVvsvXeMQrDFjiK9LixlKQtb2MZ/5m4ubDn37sy555x77t3vfD6w9855Zs6c78w5d+Z3npnpVHLgRTuEAAEIQAACEIAABCAAAQhAAAIQgAAELAh0QlCwoIUpBCAAAQhAAAIQgAAEIAABCEAAAhECCAo0BAhAAAIQgAAEIAABCEAAAhCAAASsCSAoWCMjAQQgAAEIQAACEIAABCAAAQhAAAIICrQBCEAAAhCAAAQgAAEIQAACEIAABKwJIChYIyMBBCAAAQhAAAIQgAAEIAABCEAAAggKtAEIQAACEIAABCAAAQhAAAIQgAAErAkgKFgjIwEEIAABCEAAAhCAAAQgAAEI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";if(s.src!=A)return this.reportBrokenImages&&e&&this._apiService.postAttributeQualityFeedback(e.id,"image",s.src,mt.incorrect),Tt((()=>{s.src=A}),250),!1},this._score0=new wt(this,30,1e3)}connectedCallback(){console.debug("connectedCallback"),super.connectedCallback(),this._renderState=ft.SPLASH}disconnectedCallback(){console.debug("disconnectedCallback"),super.disconnectedCallback(),this._renderState=ft.INIT,this._score0.stop(),this._score0.reset()}firstUpdated(t){console.debug("firstUpdated"),super.firstUpdated(t)}shouldUpdate(t){return console.debug("shouldUpdate"),super.shouldUpdate(t)}update(t){return console.debug("update"),super.update(t)}updated(t){return console.debug("updated"),super.updated(t)}render(){return console.debug("render"),R`
2
+ !function(){var t={353:function(t){t.exports=function(){"use strict";var t=6e4,e=36e5,A="millisecond",s="second",r="minute",n="hour",i="day",o="week",a="month",g="quarter",h="year",c="date",d="Invalid Date",l=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,u=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,C={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],A=t%100;return"["+t+(e[(A-20)%10]||e[A]||e[0])+"]"}},I=function(t,e,A){var s=String(t);return!s||s.length>=e?t:""+Array(e+1-s.length).join(A)+t},Q={s:I,z:function(t){var e=-t.utcOffset(),A=Math.abs(e),s=Math.floor(A/60),r=A%60;return(e<=0?"+":"-")+I(s,2,"0")+":"+I(r,2,"0")},m:function t(e,A){if(e.date()<A.date())return-t(A,e);var s=12*(A.year()-e.year())+(A.month()-e.month()),r=e.clone().add(s,a),n=A-r<0,i=e.clone().add(s+(n?-1:1),a);return+(-(s+(A-r)/(n?r-i:i-r))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:a,y:h,w:o,d:i,D:c,h:n,m:r,s:s,ms:A,Q:g}[t]||String(t||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},E="en",p={};p[E]=C;var B="$isDayjsObject",v=function(t){return t instanceof y||!(!t||!t[B])},m=function t(e,A,s){var r;if(!e)return E;if("string"==typeof e){var n=e.toLowerCase();p[n]&&(r=n),A&&(p[n]=A,r=n);var i=e.split("-");if(!r&&i.length>1)return t(i[0])}else{var o=e.name;p[o]=e,r=o}return!s&&r&&(E=r),r||!s&&E},f=function(t,e){if(v(t))return t.clone();var A="object"==typeof e?e:{};return A.date=t,A.args=arguments,new y(A)},b=Q;b.l=m,b.i=v,b.w=function(t,e){return f(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var y=function(){function C(t){this.$L=m(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[B]=!0}var I=C.prototype;return I.parse=function(t){this.$d=function(t){var e=t.date,A=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var s=e.match(l);if(s){var r=s[2]-1||0,n=(s[7]||"0").substring(0,3);return A?new Date(Date.UTC(s[1],r,s[3]||1,s[4]||0,s[5]||0,s[6]||0,n)):new Date(s[1],r,s[3]||1,s[4]||0,s[5]||0,s[6]||0,n)}}return new Date(e)}(t),this.init()},I.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},I.$utils=function(){return b},I.isValid=function(){return!(this.$d.toString()===d)},I.isSame=function(t,e){var A=f(t);return this.startOf(e)<=A&&A<=this.endOf(e)},I.isAfter=function(t,e){return f(t)<this.startOf(e)},I.isBefore=function(t,e){return this.endOf(e)<f(t)},I.$g=function(t,e,A){return b.u(t)?this[e]:this.set(A,t)},I.unix=function(){return Math.floor(this.valueOf()/1e3)},I.valueOf=function(){return this.$d.getTime()},I.startOf=function(t,e){var A=this,g=!!b.u(e)||e,d=b.p(t),l=function(t,e){var s=b.w(A.$u?Date.UTC(A.$y,e,t):new Date(A.$y,e,t),A);return g?s:s.endOf(i)},u=function(t,e){return b.w(A.toDate()[t].apply(A.toDate("s"),(g?[0,0,0,0]:[23,59,59,999]).slice(e)),A)},C=this.$W,I=this.$M,Q=this.$D,E="set"+(this.$u?"UTC":"");switch(d){case h:return g?l(1,0):l(31,11);case a:return g?l(1,I):l(0,I+1);case o:var p=this.$locale().weekStart||0,B=(C<p?C+7:C)-p;return l(g?Q-B:Q+(6-B),I);case i:case c:return u(E+"Hours",0);case n:return u(E+"Minutes",1);case r:return u(E+"Seconds",2);case s:return u(E+"Milliseconds",3);default:return this.clone()}},I.endOf=function(t){return this.startOf(t,!1)},I.$set=function(t,e){var o,g=b.p(t),d="set"+(this.$u?"UTC":""),l=(o={},o[i]=d+"Date",o[c]=d+"Date",o[a]=d+"Month",o[h]=d+"FullYear",o[n]=d+"Hours",o[r]=d+"Minutes",o[s]=d+"Seconds",o[A]=d+"Milliseconds",o)[g],u=g===i?this.$D+(e-this.$W):e;if(g===a||g===h){var C=this.clone().set(c,1);C.$d[l](u),C.init(),this.$d=C.set(c,Math.min(this.$D,C.daysInMonth())).$d}else l&&this.$d[l](u);return this.init(),this},I.set=function(t,e){return this.clone().$set(t,e)},I.get=function(t){return this[b.p(t)]()},I.add=function(A,g){var c,d=this;A=Number(A);var l=b.p(g),u=function(t){var e=f(d);return b.w(e.date(e.date()+Math.round(t*A)),d)};if(l===a)return this.set(a,this.$M+A);if(l===h)return this.set(h,this.$y+A);if(l===i)return u(1);if(l===o)return u(7);var C=(c={},c[r]=t,c[n]=e,c[s]=1e3,c)[l]||1,I=this.$d.getTime()+A*C;return b.w(I,this)},I.subtract=function(t,e){return this.add(-1*t,e)},I.format=function(t){var e=this,A=this.$locale();if(!this.isValid())return A.invalidDate||d;var s=t||"YYYY-MM-DDTHH:mm:ssZ",r=b.z(this),n=this.$H,i=this.$m,o=this.$M,a=A.weekdays,g=A.months,h=A.meridiem,c=function(t,A,r,n){return t&&(t[A]||t(e,s))||r[A].slice(0,n)},l=function(t){return b.s(n%12||12,t,"0")},C=h||function(t,e,A){var s=t<12?"AM":"PM";return A?s.toLowerCase():s};return s.replace(u,(function(t,s){return s||function(t){switch(t){case"YY":return String(e.$y).slice(-2);case"YYYY":return b.s(e.$y,4,"0");case"M":return o+1;case"MM":return b.s(o+1,2,"0");case"MMM":return c(A.monthsShort,o,g,3);case"MMMM":return c(g,o);case"D":return e.$D;case"DD":return b.s(e.$D,2,"0");case"d":return String(e.$W);case"dd":return c(A.weekdaysMin,e.$W,a,2);case"ddd":return c(A.weekdaysShort,e.$W,a,3);case"dddd":return a[e.$W];case"H":return String(n);case"HH":return b.s(n,2,"0");case"h":return l(1);case"hh":return l(2);case"a":return C(n,i,!0);case"A":return C(n,i,!1);case"m":return String(i);case"mm":return b.s(i,2,"0");case"s":return String(e.$s);case"ss":return b.s(e.$s,2,"0");case"SSS":return b.s(e.$ms,3,"0");case"Z":return r}return null}(t)||r.replace(":","")}))},I.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},I.diff=function(A,c,d){var l,u=this,C=b.p(c),I=f(A),Q=(I.utcOffset()-this.utcOffset())*t,E=this-I,p=function(){return b.m(u,I)};switch(C){case h:l=p()/12;break;case a:l=p();break;case g:l=p()/3;break;case o:l=(E-Q)/6048e5;break;case i:l=(E-Q)/864e5;break;case n:l=E/e;break;case r:l=E/t;break;case s:l=E/1e3;break;default:l=E}return d?l:b.a(l)},I.daysInMonth=function(){return this.endOf(a).$D},I.$locale=function(){return p[this.$L]},I.locale=function(t,e){if(!t)return this.$L;var A=this.clone(),s=m(t,e,!0);return s&&(A.$L=s),A},I.clone=function(){return b.w(this.$d,this)},I.toDate=function(){return new Date(this.valueOf())},I.toJSON=function(){return this.isValid()?this.toISOString():null},I.toISOString=function(){return this.$d.toISOString()},I.toString=function(){return this.$d.toUTCString()},C}(),w=y.prototype;return f.prototype=w,[["$ms",A],["$s",s],["$m",r],["$H",n],["$W",i],["$M",a],["$y",h],["$D",c]].forEach((function(t){w[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),f.extend=function(t,e){return t.$i||(t(e,y,f),t.$i=!0),f},f.locale=m,f.isDayjs=v,f.unix=function(t){return f(1e3*t)},f.en=p[E],f.Ls=p,f.p={},f}()}},e={};function A(s){var r=e[s];if(void 0!==r)return r.exports;var n=e[s]={exports:{}};return t[s].call(n.exports,n,n.exports,A),n.exports}A.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return A.d(e,{a:e}),e},A.d=function(t,e){for(var s in e)A.o(e,s)&&!A.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:e[s]})},A.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},function(){"use strict";const t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,s=Symbol(),r=new WeakMap;class n{constructor(t,e,A){if(this._$cssResult$=!0,A!==s)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const A=this.t;if(e&&void 0===t){const e=void 0!==A&&1===A.length;e&&(t=r.get(A)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&r.set(A,t))}return t}toString(){return this.cssText}}const i=(t,...e)=>{const A=1===t.length?t[0]:e.reduce(((e,A,s)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(A)+t[s+1]),t[0]);return new n(A,t,s)},o=(A,s)=>{if(e)A.adoptedStyleSheets=s.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of s){const s=document.createElement("style"),r=t.litNonce;void 0!==r&&s.setAttribute("nonce",r),s.textContent=e.cssText,A.appendChild(s)}},a=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const A of t.cssRules)e+=A.cssText;return(t=>new n("string"==typeof t?t:t+"",void 0,s))(e)})(t):t,{is:g,defineProperty:h,getOwnPropertyDescriptor:c,getOwnPropertyNames:d,getOwnPropertySymbols:l,getPrototypeOf:u}=Object,C=globalThis,I=C.trustedTypes,Q=I?I.emptyScript:"",E=C.reactiveElementPolyfillSupport,p=(t,e)=>t,B={toAttribute(t,e){switch(e){case Boolean:t=t?Q:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let A=t;switch(e){case Boolean:A=null!==t;break;case Number:A=null===t?null:Number(t);break;case Object:case Array:try{A=JSON.parse(t)}catch(t){A=null}}return A}},v=(t,e)=>!g(t,e),m={attribute:!0,type:String,converter:B,reflect:!1,hasChanged:v};Symbol.metadata??=Symbol("metadata"),C.litPropertyMetadata??=new WeakMap;class f extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=m){if(e.state&&(e.attribute=!1),this._$Ei(),this.elementProperties.set(t,e),!e.noAccessor){const A=Symbol(),s=this.getPropertyDescriptor(t,A,e);void 0!==s&&h(this.prototype,t,s)}}static getPropertyDescriptor(t,e,A){const{get:s,set:r}=c(this.prototype,t)??{get(){return this[e]},set(t){this[e]=t}};return{get(){return s?.call(this)},set(e){const n=s?.call(this);r.call(this,e),this.requestUpdate(t,n,A)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??m}static _$Ei(){if(this.hasOwnProperty(p("elementProperties")))return;const t=u(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(p("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(p("properties"))){const t=this.properties,e=[...d(t),...l(t)];for(const A of e)this.createProperty(A,t[A])}const t=this[Symbol.metadata];if(null!==t){const e=litPropertyMetadata.get(t);if(void 0!==e)for(const[t,A]of e)this.elementProperties.set(t,A)}this._$Eh=new Map;for(const[t,e]of this.elementProperties){const A=this._$Eu(t,e);void 0!==A&&this._$Eh.set(A,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const A=new Set(t.flat(1/0).reverse());for(const t of A)e.unshift(a(t))}else void 0!==t&&e.push(a(t));return e}static _$Eu(t,e){const A=e.attribute;return!1===A?void 0:"string"==typeof A?A:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,e=this.constructor.elementProperties;for(const A of e.keys())this.hasOwnProperty(A)&&(t.set(A,this[A]),delete this[A]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return o(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,e,A){this._$AK(t,A)}_$EC(t,e){const A=this.constructor.elementProperties.get(t),s=this.constructor._$Eu(t,A);if(void 0!==s&&!0===A.reflect){const r=(void 0!==A.converter?.toAttribute?A.converter:B).toAttribute(e,A.type);this._$Em=t,null==r?this.removeAttribute(s):this.setAttribute(s,r),this._$Em=null}}_$AK(t,e){const A=this.constructor,s=A._$Eh.get(t);if(void 0!==s&&this._$Em!==s){const t=A.getPropertyOptions(s),r="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:B;this._$Em=s,this[s]=r.fromAttribute(e,t.type),this._$Em=null}}requestUpdate(t,e,A){if(void 0!==t){if(A??=this.constructor.getPropertyOptions(t),!(A.hasChanged??v)(this[t],e))return;this.P(t,e,A)}!1===this.isUpdatePending&&(this._$ES=this._$ET())}P(t,e,A){this._$AL.has(t)||this._$AL.set(t,e),!0===A.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,e]of this._$Ep)this[t]=e;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[e,A]of t)!0!==A.wrapped||this._$AL.has(e)||void 0===this[e]||this.P(e,this[e],A)}let t=!1;const e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(e)):this._$EU()}catch(e){throw t=!1,this._$EU(),e}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EC(t,this[t]))),this._$EU()}updated(t){}firstUpdated(t){}}f.elementStyles=[],f.shadowRootOptions={mode:"open"},f[p("elementProperties")]=new Map,f[p("finalized")]=new Map,E?.({ReactiveElement:f}),(C.reactiveElementVersions??=[]).push("2.0.4");const b=globalThis,y=b.trustedTypes,w=y?y.createPolicy("lit-html",{createHTML:t=>t}):void 0,S="$lit$",T=`lit$${Math.random().toFixed(9).slice(2)}$`,U="?"+T,_=`<${U}>`,x=document,P=()=>x.createComment(""),K=t=>null===t||"object"!=typeof t&&"function"!=typeof t,H=Array.isArray,k="[ \t\n\f\r]",O=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,F=/-->/g,M=/>/g,N=RegExp(`>|${k}(?:([^\\s"'>=/]+)(${k}*=${k}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),j=/'/g,D=/"/g,Y=/^(?:script|style|textarea|title)$/i,R=t=>(e,...A)=>({_$litType$:t,strings:e,values:A}),J=R(1),W=(R(2),R(3),Symbol.for("lit-noChange")),z=Symbol.for("lit-nothing"),L=new WeakMap,V=x.createTreeWalker(x,129);function X(t,e){if(!H(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==w?w.createHTML(e):e}const Z=(t,e)=>{const A=t.length-1,s=[];let r,n=2===e?"<svg>":3===e?"<math>":"",i=O;for(let e=0;e<A;e++){const A=t[e];let o,a,g=-1,h=0;for(;h<A.length&&(i.lastIndex=h,a=i.exec(A),null!==a);)h=i.lastIndex,i===O?"!--"===a[1]?i=F:void 0!==a[1]?i=M:void 0!==a[2]?(Y.test(a[2])&&(r=RegExp("</"+a[2],"g")),i=N):void 0!==a[3]&&(i=N):i===N?">"===a[0]?(i=r??O,g=-1):void 0===a[1]?g=-2:(g=i.lastIndex-a[2].length,o=a[1],i=void 0===a[3]?N:'"'===a[3]?D:j):i===D||i===j?i=N:i===F||i===M?i=O:(i=N,r=void 0);const c=i===N&&t[e+1].startsWith("/>")?" ":"";n+=i===O?A+_:g>=0?(s.push(o),A.slice(0,g)+S+A.slice(g)+T+c):A+T+(-2===g?e:c)}return[X(t,n+(t[A]||"<?>")+(2===e?"</svg>":3===e?"</math>":"")),s]};class G{constructor({strings:t,_$litType$:e},A){let s;this.parts=[];let r=0,n=0;const i=t.length-1,o=this.parts,[a,g]=Z(t,e);if(this.el=G.createElement(a,A),V.currentNode=this.el.content,2===e||3===e){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(s=V.nextNode())&&o.length<i;){if(1===s.nodeType){if(s.hasAttributes())for(const t of s.getAttributeNames())if(t.endsWith(S)){const e=g[n++],A=s.getAttribute(t).split(T),i=/([.?@])?(.*)/.exec(e);o.push({type:1,index:r,name:i[2],strings:A,ctor:"."===i[1]?At:"?"===i[1]?st:"@"===i[1]?rt:et}),s.removeAttribute(t)}else t.startsWith(T)&&(o.push({type:6,index:r}),s.removeAttribute(t));if(Y.test(s.tagName)){const t=s.textContent.split(T),e=t.length-1;if(e>0){s.textContent=y?y.emptyScript:"";for(let A=0;A<e;A++)s.append(t[A],P()),V.nextNode(),o.push({type:2,index:++r});s.append(t[e],P())}}}else if(8===s.nodeType)if(s.data===U)o.push({type:2,index:r});else{let t=-1;for(;-1!==(t=s.data.indexOf(T,t+1));)o.push({type:7,index:r}),t+=T.length-1}r++}}static createElement(t,e){const A=x.createElement("template");return A.innerHTML=t,A}}function q(t,e,A=t,s){if(e===W)return e;let r=void 0!==s?A._$Co?.[s]:A._$Cl;const n=K(e)?void 0:e._$litDirective$;return r?.constructor!==n&&(r?._$AO?.(!1),void 0===n?r=void 0:(r=new n(t),r._$AT(t,A,s)),void 0!==s?(A._$Co??=[])[s]=r:A._$Cl=r),void 0!==r&&(e=q(t,r._$AS(t,e.values),r,s)),e}class ${constructor(t,e){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:e},parts:A}=this._$AD,s=(t?.creationScope??x).importNode(e,!0);V.currentNode=s;let r=V.nextNode(),n=0,i=0,o=A[0];for(;void 0!==o;){if(n===o.index){let e;2===o.type?e=new tt(r,r.nextSibling,this,t):1===o.type?e=new o.ctor(r,o.name,o.strings,this,t):6===o.type&&(e=new nt(r,this,t)),this._$AV.push(e),o=A[++i]}n!==o?.index&&(r=V.nextNode(),n++)}return V.currentNode=x,s}p(t){let e=0;for(const A of this._$AV)void 0!==A&&(void 0!==A.strings?(A._$AI(t,A,e),e+=A.strings.length-2):A._$AI(t[e])),e++}}class tt{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,e,A,s){this.type=2,this._$AH=z,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=A,this.options=s,this._$Cv=s?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return void 0!==e&&11===t?.nodeType&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=q(this,t,e),K(t)?t===z||null==t||""===t?(this._$AH!==z&&this._$AR(),this._$AH=z):t!==this._$AH&&t!==W&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):(t=>H(t)||"function"==typeof t?.[Symbol.iterator])(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==z&&K(this._$AH)?this._$AA.nextSibling.data=t:this.T(x.createTextNode(t)),this._$AH=t}$(t){const{values:e,_$litType$:A}=t,s="number"==typeof A?this._$AC(t):(void 0===A.el&&(A.el=G.createElement(X(A.h,A.h[0]),this.options)),A);if(this._$AH?._$AD===s)this._$AH.p(e);else{const t=new $(s,this),A=t.u(this.options);t.p(e),this.T(A),this._$AH=t}}_$AC(t){let e=L.get(t.strings);return void 0===e&&L.set(t.strings,e=new G(t)),e}k(t){H(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let A,s=0;for(const r of t)s===e.length?e.push(A=new tt(this.O(P()),this.O(P()),this,this.options)):A=e[s],A._$AI(r),s++;s<e.length&&(this._$AR(A&&A._$AB.nextSibling,s),e.length=s)}_$AR(t=this._$AA.nextSibling,e){for(this._$AP?.(!1,!0,e);t&&t!==this._$AB;){const e=t.nextSibling;t.remove(),t=e}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class et{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,e,A,s,r){this.type=1,this._$AH=z,this._$AN=void 0,this.element=t,this.name=e,this._$AM=s,this.options=r,A.length>2||""!==A[0]||""!==A[1]?(this._$AH=Array(A.length-1).fill(new String),this.strings=A):this._$AH=z}_$AI(t,e=this,A,s){const r=this.strings;let n=!1;if(void 0===r)t=q(this,t,e,0),n=!K(t)||t!==this._$AH&&t!==W,n&&(this._$AH=t);else{const s=t;let i,o;for(t=r[0],i=0;i<r.length-1;i++)o=q(this,s[A+i],e,i),o===W&&(o=this._$AH[i]),n||=!K(o)||o!==this._$AH[i],o===z?t=z:t!==z&&(t+=(o??"")+r[i+1]),this._$AH[i]=o}n&&!s&&this.j(t)}j(t){t===z?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}}class At extends et{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===z?void 0:t}}class st extends et{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==z)}}class rt extends et{constructor(t,e,A,s,r){super(t,e,A,s,r),this.type=5}_$AI(t,e=this){if((t=q(this,t,e,0)??z)===W)return;const A=this._$AH,s=t===z&&A!==z||t.capture!==A.capture||t.once!==A.once||t.passive!==A.passive,r=t!==z&&(A===z||s);s&&this.element.removeEventListener(this.name,this,A),r&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class nt{constructor(t,e,A){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=A}get _$AU(){return this._$AM._$AU}_$AI(t){q(this,t)}}const it=b.litHtmlPolyfillSupport;it?.(G,tt),(b.litHtmlVersions??=[]).push("3.2.1");class ot extends f{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=((t,e,A)=>{const s=A?.renderBefore??e;let r=s._$litPart$;if(void 0===r){const t=A?.renderBefore??null;s._$litPart$=r=new tt(e.insertBefore(P(),t),t,void 0,A??{})}return r._$AI(t),r})(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return W}}ot._$litElement$=!0,ot.finalized=!0,globalThis.litElementHydrateSupport?.({LitElement:ot});const at=globalThis.litElementPolyfillSupport;at?.({LitElement:ot}),(globalThis.litElementVersions??=[]).push("4.1.1");const gt={attribute:!0,type:String,converter:B,reflect:!1,hasChanged:v},ht=(t=gt,e,A)=>{const{kind:s,metadata:r}=A;let n=globalThis.litPropertyMetadata.get(r);if(void 0===n&&globalThis.litPropertyMetadata.set(r,n=new Map),n.set(A.name,t),"accessor"===s){const{name:s}=A;return{set(A){const r=e.get.call(this);e.set.call(this,A),this.requestUpdate(s,r,t)},init(e){return void 0!==e&&this.P(s,void 0,t),e}}}if("setter"===s){const{name:s}=A;return function(A){const r=this[s];e.call(this,A),this.requestUpdate(s,r,t)}}throw Error("Unsupported decorator location: "+s)};function ct(t){return(e,A)=>"object"==typeof A?ht(t,e,A):((t,e,A)=>{const s=e.hasOwnProperty(A);return e.constructor.createProperty(A,s?{...t,wrapped:!0}:t),s?Object.getOwnPropertyDescriptor(e,A):void 0})(t,e,A)}function dt(t){return ct({...t,state:!0,attribute:!1})}var lt,ut=A(353),Ct=A.n(ut);!function(t){t.tvShowOrSeries="tvShowOrSeries",t.showbizz="showbizz",t.trend="trend",t.tech="tech",t.fashionTrend="fashionTrend",t.cinemaMovie="cinemaMovie",t.streetScene="streetScene",t.newsPresenter="newsPresenter",t.radioSong="radioSong",t.newsItem="newsItem",t.iconicAlbum="iconicAlbum",t.radioShow="radioShow",t.bestSellerBook="bestSellerBook",t.advertisement="advertisement",t.car="car",t.sports="sports",t.unknown="unknown"}(lt||(lt={}));const It=[lt.cinemaMovie,lt.newsItem,lt.newsPresenter,lt.radioSong,lt.showbizz,lt.sports,lt.tech];class Qt{static async asyncForeach(t,e){for(let A=0;A<t.length;A++)await e(t[A],A,t)}static removeAllChildren(t){if(!t)return;let e=t.lastChild;for(;e;)t.removeChild(e),e=t.lastChild}static shuffleArray(t){return t.sort((()=>Math.random()-.5))}}class Et{constructor(t){this.teeeApiUrl=t}async fetchOneIncident(t,e,A,s,r,n,i,o,a){return new Promise((async(g,h)=>{console.debug("fetchHistory");const c=t||"",d=e||"",l=A||"",u=s||"",C=r||"",I=n||"",Q=i||"",E=o||"",p=a||"";try{const t=[],e=new URLSearchParams({pov:c,emotion:l,impact:u,limit:"1",variant:p});if(e.append("seed",""+(new Date).getTime()),o&&e.append("maxlasted",""+E),e.set("category",d),C){const A=new URL(`${this.teeeApiUrl}/${r}`);A.search=e.toString(),t.push(A)}else{if(!I||!Q)throw"No correct date or period specified.";{const A=new Date(I).toISOString().substring(0,10),s=new Date(Q).toISOString().substring(0,10);e.set("from",A),e.set("to",s);const r=new URL(this.teeeApiUrl);r.search=e.toString(),t.push(r)}}let A=[];await Qt.asyncForeach(t,(async t=>{const e=await fetch(t),s=await e.json();A=A.concat(s.results)}));const s=A.length?A[0]:void 0,n={};A.forEach((t=>{t.source&&(n[t.source]=!0)})),console.debug([A,n]),g({incident:s,sources:Object.keys(n)})}catch(t){h(t)}}))}async postAttributeQualityFeedback(t,e,A,s){const r=`${this.teeeApiUrl}/feedback/${t}/attribute`;await fetch(r,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({attribute:e,value:A,remark:s})})}async postIncidentQualityFeedback(t,e){const A=`${this.teeeApiUrl}/feedback/${t}/remark`;await fetch(A,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({remark:e})})}}var pt,Bt;!function(t){t.incorrect="incorrect",t.tooShort="tooShort",t.tooLong="tooLong",t.toneOfVoice="toneOfVoice",t.missing="missing",t.noMatch="noMatch",t.badData="badData",t.unknown="unknown"}(pt||(pt={}));class vt{constructor(t={}){this.HintTemplates=t,t[lt.newsPresenter]=["__TITLE__ presenteerde het acht uur journaal."],t[lt.tech]=["Technieuws: __TITLE__.","Techneuten liepen warm voor '__TITLE__'."],t[lt.showbizz]=["Veel in het showbizz nieuws: __TITLE__."],t[lt.sports]=["Sportnieuws: __TITLE__.","Sportfanaten spraken over '__TITLE__'."],t[lt.newsItem]=["In de krant stond dit jaar ook '__TITLE__'.","'__TITLE__' was dit jaar ook in het nieuws te lezen."],t[lt.cinemaMovie]=["De film '__TITLE__' draaide in de bioscoop.","De film '__TITLE__' was een kaskraker.","In de bioscoop was de film '__TITLE__' te zien.","'__TITLE__' was op het witte doek te zien."],t[lt.radioSong]=["De hit '__TRACK__' van __ARTIST__ was een graag gedraaide tune op de radio.","Aan het liedje '__TRACK__' van __ARTIST__ was niet te ontkomen op de radio.","__ARTIST__' '__TRACK__' klonk regelmatig op de radio.","Je kon '__TRACK__' van __ARTIST__ niet missen op de radio, het werd zo vaak gedraaid.","'__TRACK__' van __ARTIST__ was een vast nummer op de radio.","In die tijd was '__TRACK__' van __ARTIST__ een veelgehoorde radiohit.","'__TRACK__' van __ARTIST__ was een radio-favoriet in dit jaar.","De radiostations zonden '__TRACK__' van __ARTIST__ uit.","Het nummer '__TRACK__' van __ARTIST__ genoot veel airplay op de radio.","'__TRACK__' van __ARTIST__ was een veelgehoord nummer op de radiostations.","'__TRACK__' van __ARTIST__ werd een radioklassieker.","'__TRACK__' van __ARTIST__ was een onvergetelijke hit die de radio domineerde.","'__TRACK__' van __ARTIST__ was een veelgehoorde hit.","De radiostations draaiden '__TRACK__' van __ARTIST__ grijs.","'__TRACK__' van __ARTIST__ was een catchy nummer dat je bleef meezingen.","De beat van '__TRACK__' van __ARTIST__ was onweerstaanbaar.","'__TRACK__' van __ARTIST__ had een unieke sound die je niet snel vergat.","Je kon niet om '__TRACK__' van __ARTIST__ heen."]}translate(t){switch(t){case"year":return"jaar";case"start":return"start";case"new-game":return"nieuw spel";case"end":return"Je hebt het gered :)";case"next-question":return"Volgende vraag";case"quit":return"Afsluiten";case"answer-correct":return"Correct";case"answer-wrong":return"Helaas";case"question-number":return"Vraag";case"question-score":return"Score";case"total-score":return"Totaalscore";case"show-hint":return"Toon hint";case"used-hint-singular":return"Je hebt 1 hint gebruikt";case"used-hint-plural":return"Je hebt __HINTS__ hints gebruikt";case"number-points-singular":return"Voor deze vraag heb je 1 punt gehaald";case"number-points-plural":return"Voor deze vraag heb je __POINTS__ punten gehaald";case"correct-answer-was":return"Je koos voor __WRONG__ maar het juiste antwoord was __CORRECT__";case"no-answer-correct-answer-was":return"Je hebt geen antwoord gegeven maar het juiste antwoord was __CORRECT__";case"game-name":return"Guess The Year";case"game-call-to-action":return"Game on! Uit __FROM__ tot __TO__";case"your-answer":return"Mijn antwoord";case"your-feedback":return"opmerkingen";case"try-left":return"__TRIES__ poging over";case"tries-left":return"__TRIES__ pogingen over";case"in-one-second":return"In __SECONDS__ seconde";case"in-x-seconds":return"In __SECONDS__ seconden";case"game-settings-p1":return" Right. Oh hey, Biff, hey, guys, how are you doing? Look, there's a rhythmic";case"game-settings-p2":return" vragen ceremonial ritual coming up.Vanaf begin";case"game-settings-p3":return" Precisely, just relax now Calvin. Tot eind";case"game-settings-p4":return" you've got a big bruise on you're head.";case"game-introduction-p1":return"somethng";case"game-introduction-p2":return"Excuse me. Go. Go. Never mind that, never mind that now, never mind that, never mind- Yeah, well, how about my homework, McFly? Don't stop, Wilbert, drive.";case"game-introduction-p3":return"Mom, is that you? Oh. Uh Doc, uh no. No, don't be silly. What did your mother ever see in that kid? You guys, take him in back and I'll be right there. Well c'mon, this ain't no peep show.";case"game-introduction-welcome":return"Welkom bij Guess The Year!"}return t}}!function(t){t.INIT="init",t.SPLASH="splash",t.INTRO="intro",t.PLAY="play",t.END="end"}(Bt||(Bt={}));var mt=i`h1{color:var(--guess-the-year-title-color, rgb(0, 0, 0));background-color:var(--guess-the-year-title-background-color, rgba(255, 255, 255, 0.7));font-size:var(--guess-the-year-title-font-size, 16px);margin:0;padding:1rem;text-align:center}p{color:var(--guess-the-year-text-color, black);font-size:var(--guess-the-year-text-font-size, 14px)}:host{position:relative;color:var(--guess-the-year-text-color, black);background:var(--guess-the-year-background-color, white);width:100%;height:100%}.guess-the-year-container{position:relative;width:100%;height:100%;max-width:768px;margin:0 auto}.guess-the-year-header{position:sticky;z-index:100;top:0;box-shadow:0px 5px 5px 0px rgba(0,0,0,.3);margin-bottom:15px}.footer{position:absolute;bottom:0;left:0;right:0;color:var(--guess-the-year-footer-color, rgb(0, 0, 0));font-size:var(--guess-the-year-footer-font-size, 12px);margin:0;z-index:-1}.splashscreen{background-color:var(--guess-the-year-splash-screen-background-color, rgba(255, 255, 255, 0.7));color:var(--guess-the-year-splash-screen-color, rgb(0, 0, 0));font-size:var(--guess-the-year-splash-screen-font-size, 16px);margin:0;text-align:center;width:100%;height:90vh}.splashscreen .splash-logo{margin:0 auto;padding:0;display:block;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.splashscreen .splash-logo img{max-width:300px;border-radius:50%;border:1px solid #000}div.game-intro{color:var(--guess-the-year-title-color, rgb(0, 0, 0));margin:0;padding:0;text-align:left}div.game-intro>div{background-color:var(--guess-the-year-title-background-color, rgba(255, 255, 255, 0.7));padding:1rem;max-width:70ch;margin:1rem auto}div.game-intro .game-start button{background-color:var(--guess-the-year-button-background-color, rgb(0, 0, 0));color:var(--guess-the-year-button-color, rgb(255, 255, 255));border:0;padding:1rem;margin:1rem auto;display:block;width:100%;font-size:var(--guess-the-year-button-font-size, 1rem);font-weight:bold;text-transform:uppercase;cursor:pointer}.guess-the-year-game-stage{position:relative;padding-bottom:100px}.guess-the-year-game-stage .container{position:relative;width:100%;height:100%}.guess-the-year-game-stage .incident--title{top:0;width:100%;border-top:1px solid #fff;margin-bottom:10px}.guess-the-year-game-stage .incident--image{z-index:-1;height:40vh;display:flex;align-items:center;justify-content:center}.guess-the-year-game-stage .incident--image img{max-width:100%;max-height:100%}.guess-the-year-game-stage .incident--text{background-color:var(--guess-the-year-text-background-color, rgba(255, 255, 255, 0.5));color:var(--guess-the-year-text-color, rgb(0, 0, 0));font-size:var(--guess-the-year-text-font-size, 14px)}.guess-the-year-game-stage .game-controls{position:sticky;bottom:25px;left:0;width:100%;background-color:hsla(0,0%,100%,.7);padding-top:10px}.guess-the-year-game-stage .game-controls--hint{text-align:right}.guess-the-year-game-stage .game-controls--hint button{margin:10px;padding:10px;border-radius:10px;border:1px solid #000;cursor:pointer;background-color:var(--guess-the-year-text-background-color);color:var(--guess-the-year-text-color)}.guess-the-year-game-stage .game-controls--hint button:hover{background-color:var(--guess-the-year-button-background-color);color:var(--guess-the-year-button-color)}.guess-the-year-game-stage .game-controls--answers .answers--list ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:row;align-items:center;justify-content:space-evenly}.guess-the-year-game-stage .game-controls--answers .answers--list ul li{border:1px solid #000;border-radius:10px;padding:10px 10px;cursor:pointer;background-color:var(--guess-the-year-text-background-color)}.guess-the-year-game-stage .game-controls--answers .answers--list ul li:hover{background-color:var(--guess-the-year-button-background-color);color:var(--guess-the-year-button-color)}.guess-the-year-game-stage .feedback{position:absolute;top:0;left:0;right:0;bottom:0;height:100%;width:100%;margin:auto;backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center}.guess-the-year-game-stage .feedback--content{width:300px;background-color:var(--guess-the-year-text-background-color);padding:15px;border-radius:10px;box-shadow:0px 5px 5px 0px rgba(0,0,0,.3)}.guess-the-year-game-stage .game-score{display:flex;flex-direction:row;align-items:center;justify-content:space-evenly;margin-bottom:10px}.guess-the-year-game-stage .game-score--label{font-size:80%}.guess-the-year-game-stage .game-score--value{font-weight:bold}.guess-the-year-sources{font-size:70%}`;class ft{constructor(t,e=0,A=1e3){this.value=0,(this.host=t).addController(this),this.startValue=e,this.value=e,this.timeout=A}start(){this._timerID=setInterval((()=>{this.value-=1,this.host.requestUpdate()}),this.timeout)}stop(){clearInterval(this._timerID),this._timerID=void 0}reset(){this.value=this.startValue}subtract(t){this.value-=t,this.value<0&&(this.value=0)}isRunning(){return!!this._timerID}hostDisconnected(){clearInterval(this._timerID),this._timerID=void 0}}var bt=function(t,e,A,s){var r,n=arguments.length,i=n<3?e:null===s?s=Object.getOwnPropertyDescriptor(e,A):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,A,s);else for(var o=t.length-1;o>=0;o--)(r=t[o])&&(i=(n<3?r(i):n>3?r(e,A,i):r(e,A))||i);return n>3&&i&&Object.defineProperty(e,A,i),i};const{setTimeout:yt}=window;let wt=class extends ot{get loading(){return this._loading}set loading(t){this._loading=t}constructor(){super(),this.sources=[],this._loading=!1,this.teeeApiUrl="https://api.tee-e.com",this.reportBrokenImages=!1,this.date="",this.country="",this.category="",this.emotion="",this.impact="",this.from=Ct()("1950-01-01","YYYY-MM-DD"),this.to=Ct()(),this.noImageSrc="",this.suppressImages=!1,this.maxHints=3,this.numberOfQuestions=10,this._numberOfQuestionsSeen=0,this._incident=void 0,this._answers=[],this._hint=void 0,this._showHint=!0,this._showFooter=!1,this._hintsIndex=0,this._hints=[],this._solution=void 0,this._renderState=Bt.INIT,this._score=30,this.totalScore=0,this._answer=void 0,this._apiService=new Et(this.teeeApiUrl),this.i18n=new vt,this._handleImageLoadError=(t,e)=>{const A=t.target;console.debug(`Error loading image: ${A.src}`);const s=this.noImageSrc||"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABBQAAAFECAYAAACXqW3MAAAMaWlDQ1BJQ0MgUHJvZmlsZQAASImVVwdUU8kanluSkJDQAhGQEnoTpFcpIbQAAlIFGyEJJJQYEoKKHVlUcK2IKFZ0VcS2ugKyFsReFsHeFwsqyrqoi6KovAkJ6LqvnPefM3e+fPPP3+5M7gwAmn1ciSQX1QIgT1wgjQ8PZo5PTWOSngEUaAId4AJMuDyZhBUXFw2gDPV/l3c3AKLorzoqbP1z/L+KDl8g4wGATIQ4gy/j5UHcDAC+nieRFgBAVPAW0wokCjwPYl0pDBDiCgXOUuKdCpyhxEcGdRLj2RC3AaBG5XKlWQBo3IM8s5CXBe1ofILYWcwXiQHQHAVxAE/I5UOsiH1UXt5UBa6C2BbqSyCG8QDvjG9sZv3NfsawfS43axgr8xoUtRCRTJLLnfF/luZ/S16ufMiHNWxUoTQiXpE/rOGtnKlRCkyFuFucEROrqDXEfSK+su4AoBShPCJJqY8a8WRsWD/AgNiZzw2JgtgI4jBxbky0is/IFIVxIIarBZ0uKuAkQqwP8SKBLDRBpbNZOjVe5Qutz5SyWSr+HFc66Ffh64E8J4mlsv9GKOCo7GMaRcLEFIgpEFsWipJjINaA2EmWkxCl0hlTJGTHDOlI5fGK+C0hjheIw4OV9rHCTGlYvEq/LE82lC+2WSjixKjwgQJhYoSyPtgpHncwfpgL1iYQs5KG7Ahk46OHcuELQkKVuWPPBeKkBJWdPklBcLxyLk6R5Map9HFzQW64gjeH2F1WmKCaiycXwMWptI9nSgriEpVx4kXZ3Mg4ZTz4chAN2CAEMIEctgwwFWQDUWt3Qzf8pRwJA1wgBVlAABxVzNCMlMERMXwmgCLwB0QCIBueFzw4KgCFkP88zCqfjiBzcLRwcEYOeApxHogCufC3fHCWeNhbMngCGdE/vHNh48F4c2FTjP97foj9yrAgE61i5EMemZpDmsRQYggxghhGtMMN8QDcD4+GzyDYXHFv3Gcoj6/6hKeEdsIjwnVCB+H2FFGx9Lsox4IOaD9MVYuMb2uBW0ObHngw7g+tQ8s4AzcEjrg79MPCA6FnD8iyVXErqsL8zvbfMvjmbaj0yM5klDyCHES2/X6mhr2Gx7AVRa2/rY8y1ozherOHR773z/6m+nzYR32viS3CDmJnsRPYeewI1gCY2HGsEbuEHVXg4dX1ZHB1DXmLH4wnB9oR/cMfV+VTUUmZc51zl/Mn5ViBYHqBYuOxp0pmSEVZwgImC34dBEyOmOc0iunq7OoGgOJbo/z7essY/IYgjAtfufxmAHzKIJn1leNaAHD4KQD0d185izdw2ywH4GgbTy4tVHK44kGA/xKacKcZABNgAWxhPq7AE/iBIBAKIkEsSASpYDKsshCucymYBmaB+aAUlIPlYDVYBzaBrWAn2AMOgAZwBJwAZ8BF0Aaug7tw9XSCl6AHvAP9CIKQEBpCRwwQU8QKcUBcEW8kAAlFopF4JBVJR7IQMSJHZiELkHJkJbIO2YLUIj8jh5ETyHmkHbmNPES6kDfIRxRDqaguaoxao6NRb5SFRqGJ6CQ0C81Hi9ASdClahdagu9F69AR6Eb2OdqAv0V4MYOoYAzPDHDFvjI3FYmlYJibF5mBlWCVWg+3FmuB7vop1YN3YB5yI03Em7ghXcASehPPwfHwOvgRfh+/E6/FT+FX8Id6DfyHQCEYEB4IvgUMYT8giTCOUEioJ2wmHCKfhXuokvCMSiQyiDdEL7sVUYjZxJnEJcQNxH7GZ2E58TOwlkUgGJAeSPymWxCUVkEpJa0m7ScdJV0idpD41dTVTNVe1MLU0NbFasVql2i61Y2pX1J6p9ZO1yFZkX3IsmU+eQV5G3kZuIl8md5L7KdoUG4o/JZGSTZlPqaLspZym3KO8VVdXN1f3UR+nLlKfp16lvl/9nPpD9Q9UHao9lU2dSJVTl1J3UJupt6lvaTSaNS2IlkYroC2l1dJO0h7Q+jToGk4aHA2+xlyNao16jSsarzTJmlaaLM3JmkWalZoHNS9rdmuRtay12FpcrTla1VqHtW5q9WrTtV20Y7XztJdo79I+r/1ch6RjrROqw9cp0dmqc1LnMR2jW9DZdB59AX0b/TS9U5eoa6PL0c3WLdfdo9uq26Ono+eul6w3Xa9a76heBwNjWDM4jFzGMsYBxg3GxxHGI1gjBCMWj9g74sqI9/oj9YP0Bfpl+vv0r+t/NGAahBrkGKwwaDC4b4gb2huOM5xmuNHwtGH3SN2RfiN5I8tGHhh5xwg1sjeKN5pptNXoklGvsYlxuLHEeK3xSeNuE4ZJkEm2SYXJMZMuU7ppgKnItML0uOkLph6TxcxlVjFPMXvMjMwizORmW8xazfrNbcyTzIvN95nft6BYeFtkWlRYtFj0WJpajrWcZVlneceKbOVtJbRaY3XW6r21jXWK9ULrBuvnNvo2HJsimzqbe7Y020DbfNsa22t2RDtvuxy7DXZt9qi9h73Qvtr+sgPq4Okgctjg0D6KMMpnlHhUzaibjlRHlmOhY53jQyeGU7RTsVOD06vRlqPTRq8YfXb0F2cP51znbc53XXRcIl2KXZpc3rjau/Jcq12vudHcwtzmujW6vXZ3cBe4b3S/5UH3GOux0KPF47Onl6fUc69nl5elV7rXeq+b3rrecd5LvM/5EHyCfeb6HPH54OvpW+B7wPdPP0e/HL9dfs/H2IwRjNk25rG/uT/Xf4t/RwAzID1gc0BHoFkgN7Am8FGQRRA/aHvQM5YdK5u1m/Uq2DlYGnwo+D3blz2b3RyChYSHlIW0huqEJoWuC30QZh6WFVYX1hPuET4zvDmCEBEVsSLiJseYw+PUcnoivSJnR56KokYlRK2LehRtHy2NbhqLjo0cu2rsvRirGHFMQyyI5cSuir0fZxOXH/frOOK4uHHV457Gu8TPij+bQE+YkrAr4V1icOKyxLtJtknypJZkzeSJybXJ71NCUlamdIwfPX72+Iuphqmi1MY0Ulpy2va03gmhE1ZP6JzoMbF04o1JNpOmTzo/2XBy7uSjUzSncKccTCekp6TvSv/EjeXWcHszOBnrM3p4bN4a3kt+EL+C3yXwF6wUPMv0z1yZ+TzLP2tVVpcwUFgp7BaxRetEr7Mjsjdlv8+JzdmRM5CbkrsvTy0vPe+wWEecIz411WTq9KntEgdJqaQj3zd/dX6PNEq6XYbIJskaC3Thof6S3Fb+g/xhYUBhdWHftORpB6drTxdPvzTDfsbiGc+Kwop+monP5M1smWU2a/6sh7NZs7fMQeZkzGmZazG3ZG7nvPB5O+dT5ufM/63YuXhl8V8LUhY0lRiXzCt5/EP4D3WlGqXS0psL/RZuWoQvEi1qXey2eO3iL2X8sgvlzuWV5Z+W8JZc+NHlx6ofB5ZmLm1d5rls43LicvHyGysCV+xcqb2yaOXjVWNX1VcwK8oq/lo9ZfX5SvfKTWsoa+RrOqqiqxrXWq5dvvbTOuG669XB1fvWG61fvP79Bv6GKxuDNu7dZLypfNPHzaLNt7aEb6mvsa6p3ErcWrj16bbkbWd/8v6pdrvh9vLtn3eId3TsjN95qtartnaX0a5ldWidvK5r98TdbXtC9jTuddy7ZR9jX/l+sF++/8XP6T/fOBB1oOWg98G9v1j9sv4Q/VBZPVI/o76nQdjQ0Zja2H448nBLk1/ToV+dft1xxOxI9VG9o8uOUY6VHBs4XnS8t1nS3H0i68Tjliktd0+OP3nt1LhTraejTp87E3bm5FnW2ePn/M8dOe97/vAF7wsNFz0v1l/yuHToN4/fDrV6ttZf9rrc2ObT1tQ+pv3YlcArJ66GXD1zjXPt4vWY6+03km7cujnxZsct/q3nt3Nvv75TeKf/7rx7hHtl97XuVz4welDzu93v+zo8O44+DHl46VHCo7uPeY9fPpE9+dRZ8pT2tPKZ6bPa567Pj3SFdbW9mPCi86XkZX936R/af6x/Zfvqlz+D/rzUM76n87X09cCbJW8N3u74y/2vlt643gfv8t71vy/rM+jb+cH7w9mPKR+f9U/7RPpU9dnuc9OXqC/3BvIGBiRcKXfwKIDBhmZmAvBmBwC0VHh2gPc2ygTlXXBQEOX9dRCB/4SV98VB8QRgRxAASfMAiIZnlI2wWUFMhb3iCJ8YBFA3t+GmElmmm6vSFhXehAh9AwNvjQEgNQHwWTow0L9hYODzNhjsbQCa85V3UIUQ4Z1hs5MCtXU+KQHfifJ++k2O3/dAEYE7+L7/F0Xzj+YKXGpdAAAAimVYSWZNTQAqAAAACAAEARoABQAAAAEAAAA+ARsABQAAAAEAAABGASgAAwAAAAEAAgAAh2kABAAAAAEAAABOAAAAAAAAAJAAAAABAAAAkAAAAAEAA5KGAAcAAAASAAAAeKACAAQAAAABAAAEFKADAAQAAAABAAABRAAAAABBU0NJSQAAAFNjcmVlbnNob3Sm7UpIAAAACXBIWXMAABYlAAAWJQFJUiTwAAAB12lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNi4wLjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjQ8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MTA0NDwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlVzZXJDb21tZW50PlNjcmVlbnNob3Q8L2V4aWY6VXNlckNvbW1lbnQ+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgqaRepxAAAAHGlET1QAAAACAAAAAAAAAKIAAAAoAAAAogAAAKIAACDaSCmnNAAAIKZJREFUeAHs3XecFeW9P/AvuwuiIkWKgFIEKRakGexGjTERW6KJmnvjNZaILUaT6DXFxJ83/V6jxFgSo7EbLJiYiKIYsUSv5WLXWBBUQAQ7vezym1lfu8IKZ88czjluec/rlew5M0+Z5/2Mf5wPM8+02XK3k1eFjQABAgQIECBAgAABAgQIECCQQaCNQCGDlqIECBAgQIAAAQIECBAgQIBArYBAwYVAgAABAgQIECBAgAABAgQIZBYQKGQmU4EAAQIECBAgQIAAAQIECBAQKLgGCBAgQIAAAQIECBAgQIAAgcwCAoXMZCoQIECAAAECBAgQIECAAAECAgXXAAECBAgQIECAAAECBAgQIJBZQKCQmUwFAgQIECBAgAABAgQIECBAQKDgGiBAgAABAgQIECBAgAABAgQyCwgUMpOpQIAAAQIECBAgQIAAAQIECAgUXAMECBAgQIAAAQIECBAgQIBAZgGBQmYyFQgQIECAAAECBAgQIECAAAGBgmuAAAECBAgQIECAAAECBAgQyCwgUMhMpgIBAgQIECBAgAABAgQIECAgUHANECBAgAABAgQIECBAgAABApkFBAqZyVQgQIAAAQIECBAgQIAAAQIEBAquAQIECBAgQIAAAQIECBAgQCCzgEAhM5kKBAgQIECAAAECBAgQIECAgEDBNUCAAAECBAgQIECAAAECBAhkFhAoZCZTgQABAgQIECBAgAABAgQIEBAouAYIECBAgAABAgQIECBAgACBzAIChcxkKhAgQIAAAQIECBAgQIAAAQICBdcAAQIECBAgQIAAAQIECBAgkFlAoJCZTAUCBAgQIECAAAECBAgQIEBAoOAaIECAAAECBAgQIECAAAECBDILCBQyk6lAgAABAgQIECBAgAABAgQICBRcAwQIECBAgAABAgQIECBAgEBmAYFCZjIVCBAgQIAAAQIECBAgQIAAAYGCa4AAAQIECBAgQIAAAQIECBDILCBQyEymAgECBAgQIECAAAECBAgQICBQcA0QIECAAAECBAgQIECAAAECmQUECpnJVCBAgAABAgQIECBAgAABAgQECq4BAgQIECBAgAABAgQIECBAILOAQCEzmQoECBAgQIAAAQIECBAgQICAQME1QIAAAQIECBAgQIAAAQIECGQWEChkJlOBAAECBAgQIECAAAECBAgQECi4BggQIECAAAECBAgQIECAAIHMAgKFzGQqECBAgAABAgQIECBAgAABAgIF1wABAgQIECBAgAABAgQIECCQWUCgkJlMBQIECBAgQIAAAQIECBAgQECg4BogQIAAAQIECBAgQIAAAQIEMgsIFDKTqUCAAAECBAgQIECAAAECBAgIFFwDBAgQIECAAAECBAgQIECAQGYBgUJmMhUIECBAgAABAgQIECBAgAABgYJrgAABAgQIECBAgAABAgQIEMgsIFDITKYCAQIECBAgQIAAAQIECBAgIFBwDRAgQIAAAQIECBAgQIAAAQKZBQQKmclUIECAAAECBAgQIECAAAECBAQKrgECBAgQIECAAAECBAgQIEAgs4BAITOZCgQIECBAgAABAgQIECBAgIBAwTVAgAABAgQIECBAgAABAgQIZBYQKGQmU4EAAQIECBAgQIAAAQIECBAQKLgGCBAgQIAAAQIECBAgQIAAgcwCAoXMZCoQIECAAAECBAgQIECAAAECAgXXAAECBAgQIECAAAECBAgQIJBZQKCQmUwFAgQIECBAgAABAgQIECBAQKDgGiBAgAABAgQIECBAgAABAgQyCwgUMpOpQIAAAQIEyi/Qo3vnGDK4T/TdvHt069opNtqofbStqow2bdqU/2SK2OOqVasi/d+SpcvjnXc/jDdmz4+XXpkVs+e8HdXVNUXsSVMECBAgQIBAsQUECsUW1R4BAgQIECiSQMdNNoq99hgRB43dObbs1ysJD+oabrPa57p9zftvkikkW+3/JQFDxJy5b8fk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kDA97v/nM/Hgw89G+riDjQABAgQIEGgaAgKFpjEPzoIAAQIECNQLVFS0iU27dIytBvSOz4weGjslayxs3rtb/fHW8GFesuji40+8HA8/+ny8Mn12zHv7g2S9hOrWMHRjJECAAAECzUZAoNBspsqJEiBAgEBrE2iTvAaiXduqaJfctZAu2Dhs2wExoH/P6Nlj0+jQoX1UVVZF+qaI5r6tTIKCxYuXRfrmhhkz58azL8yM12fNi6VLlsey5Sti1apVzX2Izp8AAQIECLRIAYFCi5xWgyJAgAABAgQIECBAgAABAqUVECiU1lfrBAgQIECAAAECBAgQIECgRQoIFFrktBoUAQIECBAgQIAAAQIECBAorYBAobS+WidAgAABAgQIECBAgAABAi1SQKDQIqfVoAgQIECAAAECBAgQIECAQGkFBAql9dU6AQIECBAgQIAAAQIECBBokQIChRY5rQZFgAABAgQIECBAgAABAgRKKyBQKK2v1gkQIECAAAECBAgQIECAQIsUECi0yGk1KAIECBAgQIAAAQIECBAgUFoBgUJpfbVOgAABAgQIECBAgAABAgRapIBAoUVOq0ERIECAAAECBAgQIECAAIHSCggUSuurdQIECBAgQIAAAQIECBAg0CIFBAotcloNigABAgQIECBAgAABAgQIlFZAoFBaX60TIECAAAECBAgQIECAAIEWKSBQaJHTalAECBAgQIAAAQIECBAgQKC0AgKF0vpqnQABAgQIECBAgAABAgQItEiB/w8AAP//9n+T/QAAQABJREFU7Z0HnFXF2f8ftsAWWJalLB2WjgUQC2IEe1SIMfbYolGjJmo0mmp8E9/XkqLmn5jYFVvsvXeMQrDFjiK9LixlKQtb2MZ/5m4ubDn37sy555x77t3vfD6w9855Zs6c78w5d+Z3npnpVHLgRTuEAAEIQAACEIAABCAAAQhAAAIQgAAELAh0QlCwoIUpBCAAAQhAAAIQgAAEIAABCEAAAhECCAo0BAhAAAIQgAAEIAABCEAAAhCAAASsCSAoWCMjAQQgAAEIQAACEIAABCAAAQhAAAIICrQBCEAAAhCAAAQgAAEIQAACEIAABKwJIChYIyMBBCAAAQhAAAIQgAAEIAABCEAAAggKtAEIQAACEIAABCAAAQhAAAIQgAAErAkgKFgjIwEEIAABCEAAAhCAAAQgAAEI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";if(A.src!=s)return this.reportBrokenImages&&e&&this._apiService.postAttributeQualityFeedback(e.id,"image",A.src,pt.incorrect),yt((()=>{A.src=s}),250),!1},this._score0=new ft(this,30,1e3)}connectedCallback(){console.debug("connectedCallback"),super.connectedCallback(),this._renderState=Bt.SPLASH}disconnectedCallback(){console.debug("disconnectedCallback"),super.disconnectedCallback(),this._renderState=Bt.INIT,this._score0.stop(),this._score0.reset()}firstUpdated(t){console.debug("firstUpdated"),super.firstUpdated(t)}shouldUpdate(t){return console.debug("shouldUpdate"),super.shouldUpdate(t)}update(t){return console.debug("update"),super.update(t)}updated(t){return console.debug("updated"),super.updated(t)}render(){return console.debug("render"),J`
3
3
  <div class="guess-the-year-container">
4
- ${this._renderState==ft.INIT?"Loading...":""}
5
- ${this._renderState==ft.SPLASH?this.renderSplashScreen():""}
6
- ${this._renderState==ft.INTRO?this.renderGameIntro():""}
7
- ${this._renderState==ft.PLAY?this.renderGameStage():""}
8
- ${this._renderState==ft.END?this.renderGameEnd():""}
4
+ ${this._renderState==Bt.INIT?"Loading...":""}
5
+ ${this._renderState==Bt.SPLASH?this.renderSplashScreen():""}
6
+ ${this._renderState==Bt.INTRO?this.renderGameIntro():""}
7
+ ${this._renderState==Bt.PLAY?this.renderGameStage():""}
8
+ ${this._renderState==Bt.END?this.renderGameEnd():""}
9
9
  ${this._renderFooter()}
10
10
  </div>
11
- `}colorElement(t,e){var s,A;console.debug("colorElement"),null===(A=null===(s=null==this?void 0:this.shadowRoot)||void 0===s?void 0:s.querySelector(t))||void 0===A||A.style.setProperty("color",e)}_renderHeader(t=this.i18n.translate("game-name")){return R`
11
+ `}colorElement(t,e){var A,s;console.debug("colorElement"),null===(s=null===(A=null==this?void 0:this.shadowRoot)||void 0===A?void 0:A.querySelector(t))||void 0===s||s.style.setProperty("color",e)}_renderHeader(t=this.i18n.translate("game-name")){return J`
12
12
  <section id="top" class="header guess-the-year-header">
13
13
  <h1>${t}</h1>
14
14
  </section>
15
- `}_renderFooter(){return this._showFooter?R`
15
+ `}_renderFooter(){return this._showFooter?J`
16
16
  <section class="footer guess-the-year-footer">
17
17
  <div class="guess-the-year-copyright">
18
- ${"The Throwback Company ©"+Qt()().year()}
18
+ ${"The Throwback Company ©"+Ct()().year()}
19
19
  </div>
20
20
  </section>
21
- `:R``}renderSplashScreen(){return console.debug("renderSplashScreen"),Tt((()=>{this._renderState=ft.INTRO}),3e3),R`
21
+ `:J``}renderSplashScreen(){return console.debug("renderSplashScreen"),yt((()=>{this._renderState=Bt.INTRO}),1e3),J`
22
22
  <div id="splash-screen-container" class="splashscreen">
23
23
  <div class="splash-logo">
24
- <img
25
- src="./assets/logo.png"
26
- alt="logo"
27
- />
28
24
  <h2>${this.i18n.translate("game-name")}</h2>
29
25
  <p>${this.i18n.translate("Loading...")}</p>
30
26
  </div>
31
27
  </div>
32
- `}_renderYearSelectOptions(t){const e=parseInt(t,10),s=[];for(let t=1950;t<=2024;t+=5)s.push(R`
28
+ `}_renderYearSelectOptions(t){const e=parseInt(t,10),A=[];for(let t=1950;t<=2024;t+=5)A.push(J`
33
29
  <option value="${t}" ?selected=${e==t}>${t}</option>
34
- `);return R`${s}`}renderGameIntro(){console.info("renderGameIntro");const t=[];for(let e=1;e<=10;e++)t.push(R`
30
+ `);return J`${A}`}renderGameIntro(){console.debug("renderGameIntro");const t=[];for(let e=1;e<=10;e++)t.push(J`
35
31
  <option value="${e}" ?selected=${this.numberOfQuestions==e}>
36
32
  ${e}
37
33
  </option>
38
- `);return R`
34
+ `);return J`
39
35
  ${this._renderHeader(this.i18n.translate("game-introduction-welcome"))}
40
36
 
41
37
  <div class="game-intro">
@@ -77,8 +73,8 @@
77
73
  <button @click="${this.setupNewGame}">${this.i18n.translate("start")}</button>
78
74
  </div>
79
75
  </div>
80
- `}_setFromDate(t){this.from=this.from.year(t.target.value)}_setToDate(t){this.to=this.to.year(t.target.value)}renderGameStage(){return console.debug("renderGameStage"),R`
81
- ${this._renderHeader(this.i18n.translate("game-call-to-action"))}
76
+ `}_setFromDate(t){this.from=this.from.year(t.target.value)}_setToDate(t){this.to=this.to.year(t.target.value)}renderGameStage(){return console.debug("renderGameStage"),J`
77
+ ${this._renderHeader(this.i18n.translate("game-call-to-action").replace(/__FROM__/,this.from.year()+"").replace(/__TO__/,this.to.year()+""))}
82
78
  <div class="guess-the-year-game-stage">
83
79
  <div class="game-score">${this._renderGameScore()}</div>
84
80
 
@@ -95,7 +91,7 @@
95
91
 
96
92
  ${this._renderFeedback()}
97
93
  </div>
98
- `}_renderIncident(){var t,e;return R`
94
+ `}_renderIncident(){var t,e;return J`
99
95
  <div class="incident--title">
100
96
  <h1>${null===(t=this._incident)||void 0===t?void 0:t.title}</h1>
101
97
  </div>
@@ -105,17 +101,20 @@
105
101
  <div class="incident--text">
106
102
  <p>${null===(e=this._incident)||void 0===e?void 0:e.text}</p>
107
103
  </div>
108
- `}_renderIncidentImage(t){return t&&t.image?R`
104
+ `}_shouldDisplayAnImage(t){const e=!!(t&&t.image&&t.image[0]),A=!this.suppressImages;return e&&A}_renderIncidentImage(t){return t&&this._shouldDisplayAnImage(t)?J`
109
105
  <div class="incident--image">
110
- <img src="${t.image}" />
106
+ <img
107
+ @error=${e=>{this._handleImageLoadError(e,t)}}
108
+ src="${t.image[0]}"
109
+ />
111
110
  </div>
112
- `:R``}_renderAnswers(){return R`
111
+ `:J``}_renderAnswers(){return J`
113
112
  <div class="answers--list">
114
113
  <ul>
115
- ${this._answers.map((t=>R`<li @click="${this._handleAnswerClicked}">${t}</li>`))}
114
+ ${this._answers.map((t=>J`<li @click="${this._handleAnswerClicked}">${t}</li>`))}
116
115
  </ul>
117
116
  </div>
118
- `}_renderGameScore(){return R`
117
+ `}_renderGameScore(){return J`
119
118
  <div class="game-score--total">
120
119
  <div class="game-score--label">${this.i18n.translate("question-number")}:</div>
121
120
  <div class="game-score--value">
@@ -132,13 +131,13 @@
132
131
  <div class="game-score--label">${this.i18n.translate("total-score")}:</div>
133
132
  <div class="game-score--value">${this.totalScore}</div>
134
133
  </div>
135
- `}_handleAnswerClicked(t){const e=t.target.textContent;this._score0.stop(),this._showHint=!1,e&&(console.info(e,this._solution,this._score,e==this._solution),this._answer=e)}_renderHint(){return this._hint?R` <p>${this._hint}</p> `:R``}_renderHintButton(){return this._showHint?R`
134
+ `}_handleAnswerClicked(t){const e=t.target.textContent;this._score0.stop(),this._showHint=!1,e&&(console.debug(e,this._solution,this._score,e==this._solution),this._answer=e)}_renderHint(){return this._hint?J` <p>${this._hint}</p> `:J``}_renderHintButton(){return this._showHint?J`
136
135
  <div class="game-controls--hint">
137
136
  <button @click="${this._handleHintClicked}">
138
- ${this.i18n.translate("show-hint")} (${this.maxHints-this._hintsIndex})
137
+ ${this.i18n.translate("show-hint")} (${this._hints.length-this._hintsIndex})
139
138
  </button>
140
139
  </div>
141
- `:R``}_handleHintClicked(){if(console.info("handleHintClicked",[this._hintsIndex,this._hints.length]),this._hintsIndex<this._hints.length){const t=this._generateHintText(this._hints[this._hintsIndex]);t&&(this._hint=t,this._hintsIndex++,this._score0.subtract(2))}this._hintsIndex>=this._hints.length&&(this._showHint=!1)}_renderFeedback(){if(!this._answer&&this._score0.value>0)return R``;const t=this._answer+""==this._solution+"",e=t?this._score0.value:0;return this._score0.isRunning()&&this._score0.stop(),this.totalScore+=e,t?R`
140
+ `:J``}_handleHintClicked(){if(console.debug("handleHintClicked",[this._hintsIndex,this._hints.length]),this._hintsIndex<this._hints.length){const t=this._generateHintText(this._hints[this._hintsIndex]);t&&(this._hint=t,this._hintsIndex++,this._score0.subtract(2))}this._hintsIndex>=this._hints.length&&(this._showHint=!1)}_renderFeedback(){if(!this._answer&&this._score0.value>0)return J``;const t=this._answer+""==this._solution+"",e=t?this._score0.value:0;return this._score0.isRunning()&&this._score0.stop(),this.totalScore+=e,t?J`
142
141
  <div class="feedback">
143
142
  <div class="feedback--content">
144
143
  <h3>${this.i18n.translate("answer-correct")}!</h3>
@@ -152,7 +151,7 @@
152
151
  ${this._renderNextQuestionButton()}
153
152
  </div>
154
153
  </div>
155
- `:!t&&this._answer?R`
154
+ `:!t&&this._answer?J`
156
155
  <div class="feedback">
157
156
  <div class="feedback--content">
158
157
  <h3>${this.i18n.translate("answer-wrong")}</h3>
@@ -162,7 +161,7 @@
162
161
  ${this._renderNextQuestionButton()}
163
162
  </div>
164
163
  </div>
165
- `:R`
164
+ `:J`
166
165
  <div class="feedback">
167
166
  <div class="feedback--content">
168
167
  <h3>Helaas</h3>
@@ -172,63 +171,20 @@
172
171
  ${this._renderNextQuestionButton()}
173
172
  </div>
174
173
  </div>
175
- `}_renderNextQuestionButton(){return this._numberOfQuestionsSeen<this.numberOfQuestions?R`
174
+ `}_renderNextQuestionButton(){return this._numberOfQuestionsSeen<this.numberOfQuestions?J`
176
175
  <button @click="${this._loadQuestion}">${this.i18n.translate("next-question")}</button>
177
- `:R` <button @click="${this._endGame}">${this.i18n.translate("quit")}</button> `}_endGame(){this._renderState=ft.END}renderGameEnd(){return console.debug("renderGameEnd"),R`
176
+ `:J` <button @click="${this._endGame}">${this.i18n.translate("quit")}</button> `}_endGame(){this._renderState=Bt.END}renderGameEnd(){return console.debug("renderGameEnd"),J`
178
177
  ${this._renderHeader("The end!")}
179
178
  <div class="guess-the-year-game-end">${this.i18n.translate("end")}</div>
180
- <button @click="${()=>this._renderState=ft.SPLASH}">
179
+ <button @click="${()=>this._renderState=Bt.SPLASH}">
181
180
  ${this.i18n.translate("new-game")}
182
181
  </button>
183
182
  ${this._renderFooter()}
184
- `}setupNewGame(){console.log("new game!"),console.info({"number of questions":this.numberOfQuestions,from:this.from.toISOString(),to:this.to.toISOString()}),this.totalScore=0,this._numberOfQuestionsSeen=0,this._loadQuestion()}_resetStage(){this.sources=[],this._incident=void 0,this._hints=[],this._answer=void 0,this._answers=[],this._hintsIndex=0,this._score0.reset(),this._showHint=!1,this._hint=void 0}async _loadQuestion(){var t;this._resetStage();const e=await this._apiService.fetchOneIncident(this.country,this.category,this.emotion,this.impact,this.date,this.from.format("YYYY-MM-DD"),this.to.format("YYYY-MM-DD"),"40","quiz_year");this._startTime=new Date,this._endTime=new Date,this._incident=e.incident,this.sources=e.sources,this._tries=this.maxTries,this._solution=Number(((null===(t=e.incident)||void 0===t?void 0:t.yearplusmonth)||"").substring(0,4));const s=[this._solution],A=this.from.year(),r=this.to.year();for(;s.length<4;){const t=Math.floor(Math.random()*(r-A))+A;s.includes(t)||s.push(t)}s.sort(),this._answers=s;for(let t=0;t<this.maxHints;t++){console.info("loading hint",t);const e=await this._apiService.fetchOneIncident(this.country,Bt.shuffleArray(Et).shift(),void 0,void 0,"",`${this._solution}-01-01`,`${this._solution}-12-31`,void 0,void 0);e.incident&&this._hints.push(e.incident)}0===this._hints.length?this._showHint=!1:this._showHint=!0,this._renderState=ft.PLAY,this._score0.start(),this._numberOfQuestionsSeen+=1}renderRefreshButton(){return R`<div class="refresh" id="refresh" @click="${this.setupNewGame}">
185
- <span>${Ct('<svg fill="#000000" viewBox="0 0 50 50" enable-background="new 0 0 64 64" id="Layer_1" version="1.1" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g><path d="M34.606,41.895c-0.513,0-1.032-0.003-1.576-0.011c-2.62-0.037-5.881-0.084-7.229-3.524 c-0.815-2.081-0.641-4.854-0.513-6.881l0.047-0.792c0.029-0.552,0.502-0.983,1.051-0.947c0.552,0.029,0.976,0.499,0.947,1.051 l-0.049,0.814c-0.116,1.839-0.275,4.357,0.378,6.024c0.802,2.043,2.573,2.215,5.397,2.255c0.938,0.014,1.805,0.011,2.681,0.008 c0.681-0.003,1.37-0.004,2.104,0c0.553,0.004,0.997,0.455,0.993,1.007c-0.004,0.55-0.451,0.993-1,0.993c-0.002,0-0.005,0-0.007,0 c-0.729-0.004-1.41-0.004-2.084,0C35.366,41.893,34.988,41.895,34.606,41.895z"/></g><g><path d="M29.796,34.047c-0.183,0-0.368-0.05-0.534-0.155c-1.047-0.662-2.657-1.685-3.481-2.225 c-0.462-0.303-0.59-0.923-0.287-1.385c0.303-0.46,0.921-0.591,1.385-0.287c0.816,0.536,2.415,1.549,3.454,2.207 c0.467,0.295,0.605,0.913,0.31,1.38C30.451,33.883,30.127,34.047,29.796,34.047z"/></g><g><path d="M22.862,33.955c-0.331,0-0.655-0.164-0.846-0.465c-0.296-0.467-0.157-1.084,0.31-1.38c1.038-0.657,2.636-1.671,3.454-2.208 c0.462-0.304,1.081-0.173,1.385,0.287c0.303,0.462,0.175,1.082-0.287,1.385c-0.824,0.541-2.436,1.563-3.481,2.226 C23.23,33.905,23.045,33.955,22.862,33.955z"/></g><g><path d="M37.685,34.209c-0.018,0-0.035,0-0.052-0.001c-0.552-0.028-0.977-0.499-0.948-1.05l0.049-0.823 c0.115-1.836,0.273-4.352-0.379-6.016c-0.8-2.042-2.572-2.215-5.396-2.256c-0.941-0.015-1.813-0.012-2.694-0.007 c-0.677,0.002-1.362,0.004-2.091,0c-0.552-0.004-0.997-0.454-0.993-1.007c0.004-0.55,0.45-0.993,1-0.993c0.002,0,0.004,0,0.007,0 c0.722,0.005,1.4,0.002,2.069,0c0.895-0.005,1.775-0.007,2.73,0.007c2.621,0.038,5.883,0.086,7.229,3.526 c0.815,2.076,0.641,4.848,0.514,6.87l-0.047,0.8C38.655,33.794,38.213,34.209,37.685,34.209z"/></g><g><path d="M37.687,34.117c-0.188,0-0.379-0.053-0.548-0.164c-0.817-0.537-2.416-1.55-3.453-2.207 c-0.467-0.295-0.606-0.913-0.311-1.379c0.294-0.467,0.914-0.607,1.379-0.311c1.047,0.661,2.657,1.684,3.482,2.225 c0.462,0.303,0.59,0.923,0.287,1.385C38.332,33.958,38.013,34.117,37.687,34.117z"/></g><g><path d="M37.689,34.209c-0.326,0-0.646-0.159-0.837-0.451c-0.303-0.462-0.175-1.082,0.287-1.385c0.824-0.54,2.435-1.562,3.48-2.225 c0.468-0.297,1.085-0.156,1.38,0.31c0.296,0.467,0.157,1.084-0.31,1.38c-1.038,0.657-2.637,1.671-3.453,2.207 C38.067,34.156,37.878,34.209,37.689,34.209z"/></g></svg>')}</span>
186
- </div>`}renderStopGameButton(){return R`<div
187
- class="stop-game"
188
- id="stop-game"
189
- @click="${()=>{this._displaySolution=!0}}"
190
- >
191
- <span>${Ct('<svg fill="#000000" viewBox="0 0 32 32" enable-background="new 0 0 32 32" id="Layer_3" version="1.1" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g><path d="M20,16c0,0.552,0.448,1,1,1h2c0.552,0,1-0.448,1-1s-0.448-1-1-1h-2C20.448,15,20,15.448,20,16z"/><path d="M6,16c0,0.552,0.448,1,1,1h2c0.552,0,1-0.448,1-1s-0.448-1-1-1H7C6.448,15,6,15.448,6,16z"/><path d="M11,17c0,1.083,0.809,2.574,1.5,3.392V21.5c0,1.379,1.122,2.5,2.5,2.5s2.5-1.121,2.5-2.5v-1.108 C18.191,19.574,19,18.083,19,17c0-2.21-1.757-3.942-4-3.942S11,14.79,11,17z M15.5,21.5c0,0.275-0.224,0.5-0.5,0.5 s-0.5-0.225-0.5-0.5V21h1V21.5z M15,15.058c1.122,0,2,0.853,2,1.942c0,0.432-0.488,1.437-0.936,2h-2.127 C13.488,18.437,13,17.432,13,17C13,15.911,13.878,15.058,15,15.058z"/><path d="M16,11V9c0-0.552-0.448-1-1-1s-1,0.448-1,1v2c0,0.552,0.448,1,1,1S16,11.552,16,11z"/><path d="M19.95,10.293l-1.414,1.414c-0.391,0.391-0.391,1.023,0,1.414c0.195,0.195,0.451,0.293,0.707,0.293 s0.512-0.098,0.707-0.293l1.414-1.414c0.391-0.391,0.391-1.023,0-1.414S20.34,9.902,19.95,10.293z"/><path d="M10.05,10.293c-0.391-0.391-1.023-0.391-1.414,0s-0.391,1.023,0,1.414l1.414,1.414c0.195,0.195,0.451,0.293,0.707,0.293 s0.512-0.098,0.707-0.293c0.391-0.391,0.391-1.023,0-1.414L10.05,10.293z"/><path d="M27,8h1c0.352,0,0.678-0.185,0.858-0.486c0.181-0.302,0.189-0.676,0.023-0.986l-2.146-4c-0.349-0.649-1.414-0.649-1.763,0 l-2.146,4c-0.166,0.31-0.157,0.684,0.023,0.986C23.03,7.815,23.356,8,23.708,8H25v10c0,5.514-4.486,10-10,10S5,23.514,5,18V7 c0-0.552-0.448-1-1-1S3,6.448,3,7v11c0,6.617,5.383,12,12,12s12-5.383,12-12V8z M25.854,5.115L26.329,6h-0.949L25.854,5.115z"/></g></svg>')}</span>
192
- </div>`}renderFeedbackPossibility(){return this.showFeedback?R`<div class="feedback-possibility">
193
- <input
194
- type="text"
195
- id="feedback"
196
- size="15"
197
- placeholder="${this.i18n.translate("your-feedback")}"
198
- />
199
- </div>`:R``}renderSubmitPossibility(){return R`<div class="submit-possibility">
200
- <input
201
- type="text"
202
- id="answer"
203
- size="15"
204
- ?disabled=${this._displaySolution}
205
- placeholder="${this.i18n.translate("your-answer")}"
206
- />
207
- ${this.renderTries()}
208
- </div>`}renderTries(){const t=this._tries>1?"tries-left":"try-left";return this._tries>=0&&!this._displaySolution?R`<span class="tries"
209
- >${this.i18n.translate(t).replace("__TRIES__",""+this._tries)}</span
210
- >`:R``}renderTheSolution(){return this._displaySolution?R`<div class="solution">${this._solution}</div>
211
- ${this.renderTheDuration()} `:R``}renderTheDuration(){const t=Math.round(new Date(this._endTime.getTime()-this._startTime.getTime()).getTime()/1e3),e=1===t?"in-x-seconds":"in-one-second";return this.showDuration&&this._answeredCorrectly?R`<div class="timer">
212
- ${this.i18n.translate(e).replace("__SECONDS__",""+t)}
213
- </div>`:R``}renderTiles(t){return console.debug("renderTiles"),t?R`${this.renderTile(t)}`:""}_tileShouldDisplayAnImage(t){const e=!!t.image,s=!this.suppressImages;return e&&s}renderTile(t){console.debug("renderTile");const e=this.renderTileContent(t);return this._tileShouldDisplayAnImage(t)?R`<div class="guess-the-year-tile with-image">
214
- ${e}
215
- </div>`:R`<div class="guess-the-year-tile">${e}</div>`}renderTileContent(t){return console.debug("renderTileContent"),R`<div class="guess-the-year-tile-content">
216
- ${this.renderTileTitle(t)} ${this.renderTileImage(t)}
217
- ${this.renderTileTextContent(t)}
218
- </div>`}_generateHintText(t){let e="";const s=this.i18n.HintTemplates[t.category];switch(t.category){case"newsItem":e=(s[Math.round(Math.random()*s.length)]||"").replace(/__TITLE__/,t.title);break;case"radioSong":const A=t.title.replace(/(.*?)\s+\-.*/,"$1"),r=t.title.replace(/.*\-(.*)/,"$1");e=(s[Math.round(Math.random()*s.length)]||s[0]).replace(/__ARTIST__/,r).replace(/__TRACK__/,A);break;case"cinemaMovie":case"tech":case"newsPresenter":case"sports":e=(s[Math.round(Math.random()*s.length)]||s[0]).replace(/__TITLE__/,t.title)}return e}renderHintTile(t){return t?(console.debug("renderHint"),R`<div class="guess-the-year-hint-tile">
219
- <h1 class="title">
220
- Hint ${this._intervalsPassed} <br />
221
- ${this._generateHintText(t)}
222
- </h1>
223
- ${this.renderTileTextContent(t)}
224
- </div>`):R``}renderTileTitle(t){return console.debug("renderTileTitle"),t.title?R`<h1 class="guess-the-year-tile-title">${t.title}</h1>`:R``}renderTileImage(t){return console.debug("renderTileImage"),this._tileShouldDisplayAnImage(t)?R`<img
225
- @error=${e=>{this._handleImageLoadError(e,t)}}
226
- src=${t.image}
227
- />`:R``}renderTileTextContent(t){return console.debug("renderTileTextContent"),t.text?R`<p class="hint-text">${t.text}</p>`:R``}renderSources(){return console.debug("renderSources"),this.sources.length?R`
183
+ `}setupNewGame(){console.debug("new game!"),console.debug({"number of questions":this.numberOfQuestions,from:this.from.toISOString(),to:this.to.toISOString()}),this.totalScore=0,this._numberOfQuestionsSeen=0,this._loadQuestion()}_resetStage(){this.sources=[],this._incident=void 0,this._hints=[],this._answer=void 0,this._answers=[],this._hintsIndex=0,this._score0.reset(),this._showHint=!1,this._hint=void 0}async _loadQuestion(){var t;this._resetStage();const e=await this._apiService.fetchOneIncident(this.country,this.category,this.emotion,this.impact,this.date,this.from.format("YYYY-MM-DD"),this.to.format("YYYY-MM-DD"),"40","quiz_year");this._incident=e.incident,this.sources=e.sources,this._solution=Number(((null===(t=e.incident)||void 0===t?void 0:t.yearplusmonth)||"").substring(0,4));const A=[this._solution],s=this.from.year(),r=this.to.year();for(;A.length<4;){const t=Math.floor(Math.random()*(r-s))+s;A.includes(t)||A.push(t)}A.sort(),this._answers=A;for(let t=0;t<this.maxHints;t++){console.debug("loading hint",t);const e=await this._apiService.fetchOneIncident(this.country,Qt.shuffleArray([...It]).shift(),void 0,void 0,"",`${this._solution}-01-01`,`${this._solution}-12-31`,void 0,void 0);e.incident&&this._hints.push(e.incident)}0===this._hints.length?this._showHint=!1:this._showHint=!0,this._renderState=Bt.PLAY,this._score0.start(),this._numberOfQuestionsSeen+=1}_generateHintText(t){let e="";const A=this.i18n.HintTemplates[t.category];switch(t.category){case lt.newsItem:e=(A[Math.round(Math.random()*A.length)]||"").replace(/__TITLE__/,t.title);break;case lt.radioSong:const s=t.title.replace(/(.*?)\s+\-.*/,"$1"),r=t.title.replace(/.*\-(.*)/,"$1");e=(A[Math.round(Math.random()*A.length)]||A[0]).replace(/__ARTIST__/,r).replace(/__TRACK__/,s);break;case lt.cinemaMovie:case lt.tech:e=(A[Math.round(Math.random()*A.length)]||A[0]).replace(/__TITLE__/,t.title);break;case lt.newsPresenter:case lt.sports:case lt.showbizz:e=(A[Math.round(Math.random()*A.length)]||A[0]).replace(/__TITLE__/,t.title||t.text)}return e}renderSources(){return console.debug("renderSources"),this.sources.length?J`
228
184
  <div class="guess-the-year-sources">
229
185
  Source: ${[...new Set(this.sources)].join(", ")}
230
186
  </div>
231
- `:R``}};_t.styles=n`
232
- ${yt}
233
- `,St([ct({type:String,attribute:"tee-e-api-url"})],_t.prototype,"teeeApiUrl",void 0),St([ct({type:Boolean,attribute:"report-broken-images"})],_t.prototype,"reportBrokenImages",void 0),St([ct({type:String})],_t.prototype,"date",void 0),St([ct({type:String})],_t.prototype,"country",void 0),St([ct({type:String})],_t.prototype,"category",void 0),St([ct({type:String})],_t.prototype,"emotion",void 0),St([ct({type:String})],_t.prototype,"impact",void 0),St([ct({type:pt.Dayjs,converter:{fromAttribute:t=>(console.info(["from","from",t]),t?t.length>=10?Qt()(t,"YYYY-MM-DD"):Qt()(`${t}-01-01`,"YYYY-MM-DD"):Qt()()),toAttribute:t=>(console.info(["from","to",t]),t.format("YYYY-MM-DD"))}})],_t.prototype,"from",void 0),St([ct({type:pt.Dayjs,converter:{fromAttribute:t=>(console.info(["to","from",t]),t?t.length>=10?Qt()(t,"YYYY-MM-DD"):Qt()(`${t}-12-31`,"YYYY-MM-DD"):Qt()()),toAttribute:t=>(console.info(["to","to",t]),t.format("YYYY-MM-DD"))}})],_t.prototype,"to",void 0),St([ct({type:String})],_t.prototype,"limit",void 0),St([ct({type:Boolean})],_t.prototype,"shuffle",void 0),St([ct({type:Boolean,attribute:"show-duration"})],_t.prototype,"showDuration",void 0),St([ct({type:Boolean,attribute:"show-feedback"})],_t.prototype,"showFeedback",void 0),St([ct({type:String,attribute:"no-image-src"})],_t.prototype,"noImageSrc",void 0),St([ct({type:Boolean,attribute:"suppress-images"})],_t.prototype,"suppressImages",void 0),St([ct({type:Boolean,attribute:"auto-focus"})],_t.prototype,"autoFocus",void 0),St([ct({type:Number,attribute:"hint-interval-length"})],_t.prototype,"hintIntervalSecs",void 0),St([ct({type:Number,attribute:"max-hints"})],_t.prototype,"maxHints",void 0),St([ct({type:Number,attribute:"max-tries"})],_t.prototype,"maxTries",void 0),St([ct({type:Number,attribute:"number-of-questions",reflect:!0})],_t.prototype,"numberOfQuestions",void 0),St([lt()],_t.prototype,"_incident",void 0),St([lt()],_t.prototype,"_hint",void 0),St([lt()],_t.prototype,"_solution",void 0),St([lt()],_t.prototype,"_displaySolution",void 0),St([lt()],_t.prototype,"_answeredCorrectly",void 0),St([lt()],_t.prototype,"_tries",void 0),St([lt()],_t.prototype,"_renderState",void 0),St([lt()],_t.prototype,"_score",void 0),St([lt()],_t.prototype,"_answer",void 0),_t=St([(t=>(e,s)=>{void 0!==s?s.addInitializer((()=>{customElements.define(t,e)})):customElements.define(t,e)})("guess-the-year")],_t)}()}();
234
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,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M1EsWUFBYzJRLElBQ1ovQixRQUFRMkIsS0FBSyxDQUFDLEtBQU0sS0FBTUksSUFDbkJBLEVBQU05VSxPQUFPLDZDQU8xQixJQURDLEdBQVMsQ0FBRXlFLEtBQU1sSyx1Q0FJbEIsSUFEQyxHQUFTLENBQUVrSyxLQUFNTCwwQ0FJbEIsSUFEQyxHQUFTLENBQUVLLEtBQU1MLFFBQVNJLFVBQVcsdURBSXRDLElBREMsR0FBUyxDQUFFQyxLQUFNTCxRQUFTSSxVQUFXLHVEQUl0QyxJQURDLEdBQVMsQ0FBRUMsS0FBTWxLLE9BQVFpSyxVQUFXLG9EQUlyQyxJQURDLEdBQVMsQ0FBRUMsS0FBTUwsUUFBU0ksVUFBVywyREFJdEMsSUFEQyxHQUFTLENBQUVDLEtBQU1MLFFBQVNJLFVBQVcsaURBSXRDLElBREMsR0FBUyxDQUFFQyxLQUFNNUUsT0FBUTJFLFVBQVcsa0VBSXJDLElBREMsR0FBUyxDQUFFQyxLQUFNNUUsT0FBUTJFLFVBQVcsK0NBSXJDLElBREMsR0FBUyxDQUFFQyxLQUFNNUUsT0FBUTJFLFVBQVcsK0NBSXJDLElBREMsR0FBUyxDQUFFQyxLQUFNNUUsT0FBUTJFLFVBQVcsc0JBQXVCRyxTQUFTLDhDQUs3RCxJQURQLHVDQU1PLElBRFAsbUNBU08sSUFEUCx1Q0FJTyxJQURQLDhDQUlPLElBRFAsZ0RBSU8sSUFEUCxvQ0FJTSxJQUROLDBDQUlPLElBRFAsb0NBT08sSUFEUCxxQ0F4SlU0UixHQUFZLElaM0JqQmxjLElBQUcsQ0FBQ3JCLEVBQUVPLFVBQUssSUFBU0EsRUFBRUEsRUFBRXlMLGdCQUFlLEtBQU1vWixlQUFlQyxPQUFPaGtCLEVBQUVyQixFQUFHLElBQUdvbEIsZUFBZUMsT0FBT2hrQixFQUFFckIsRUFBQyxFWTBCM0csQ0FBYyxtQkFDRnVkIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZ3Vlc3MtdGhlLXllYXItd2ViLWNvbXBvbmVudC8uL25vZGVfbW9kdWxlcy9kYXlqcy9kYXlqcy5taW4uanMiLCJ3ZWJwYWNrOi8vZ3Vlc3MtdGhlLXllYXItd2ViLWNvbXBvbmVudC93ZWJwYWNrL2Jvb3RzdHJhcCIsIndlYnBhY2s6Ly9ndWVzcy10aGUteWVhci13ZWItY29tcG9uZW50L3dlYnBhY2svcnVudGltZS9jb21wYXQgZ2V0IGRlZmF1bHQgZXhwb3J0Iiwid2VicGFjazovL2d1ZXNzLXRoZS15ZWFyLXdlYi1jb21wb25lbnQvd2VicGFjay9ydW50aW1lL2RlZmluZSBwcm9wZXJ0eSBnZXR0ZXJzIiwid2VicGFjazovL2d1ZXNzLXRoZS15ZWFyLXdlYi1jb21wb25lbnQvd2VicGFjay9ydW50aW1lL2hhc093blByb3BlcnR5IHNob3J0aGFuZCIsIndlYnBhY2s6Ly9ndWVzcy10aGUteWVhci13ZWItY29tcG9uZW50Ly4vbm9kZV9tb2R1bGVzL0BsaXQvcmVhY3RpdmUtZWxlbWVudC9jc3MtdGFnLmpzIiwid2VicGFjazovL2d1ZXNzLXRoZS15ZWFyLXdlYi1jb21wb25lbnQvLi9ub2RlX21vZHVsZXMvQGxpdC9yZWFjdGl2ZS1lbGVtZW50L3JlYWN0aXZlLWVsZW1lbnQuanMiLCJ3ZWJwYWNrOi8vZ3Vlc3MtdGhlLXllYXItd2ViLWNvbXBvbmVudC8uL25vZGVfbW9kdWxlcy9saXQtaHRtbC9saXQtaHRtbC5qcyIsIndlYnBhY2s6Ly9ndWVzcy10aGUteWVhci13ZWItY29tcG9uZW50Ly4vbm9kZV9tb2R1bGVzL2xpdC1lbGVtZW50L2xpdC1lbGVtZW50LmpzIiwid2VicGFjazovL2d1ZXNzLXRoZS15ZWFyLXdlYi1jb21wb25lbnQvLi9ub2RlX21vZHVsZXMvQGxpdC9yZWFjdGl2ZS1lbGVtZW50L2RlY29yYXRvcnMvY3VzdG9tLWVsZW1lbnQuanMiLCJ3ZWJwYWNrOi8vZ3Vlc3MtdGhlLXllYXItd2ViLWNvbXBvbmVudC8uL25vZGVfbW9kdWxlcy9AbGl0L3JlYWN0aXZlLWVsZW1lbnQvZGVjb3JhdG9ycy9wcm9wZXJ0eS5qcyIsIndlYnBhY2s6Ly9ndWVzcy10aGUteWVhci13ZWItY29tcG9uZW50Ly4vbm9kZV9tb2R1bGVzL0BsaXQvcmVhY3RpdmUtZWxlbWVudC9kZWNvcmF0b3JzL3N0YXRlLmpzIiwid2VicGFjazovL2d1ZXNzLXRoZS15ZWFyLXdlYi1jb21wb25lbnQvLi9ub2RlX21vZHVsZXMvbGl0LWh0bWwvZGlyZWN0aXZlLmpzIiwid2VicGFjazovL2d1ZXNzLXRoZS15ZWFyLXdlYi1jb21wb25lbnQvLi9ub2RlX21vZHVsZXMvbGl0LWh0bWwvZGlyZWN0aXZlcy91bnNhZmUtaHRtbC5qcyIsIndlYnBhY2s6Ly9ndWVzcy10aGUteWVhci13ZWItY29tcG9uZW50Ly4vc3JjL2xpYi9JbmNpZGVudC50cyIsIndlYnBhY2s6Ly9ndWVzcy10aGUteWVhci13ZWItY29tcG9uZW50Ly4vc3JjL2xpYi9VdGlsLnRzIiwid2VicGFjazovL2d1ZXNzLXRoZS15ZWFyLXdlYi1jb21wb25lbnQvLi9zcmMvbGliL0FwaVNlcnZpY2UudHMiLCJ3ZWJwYWNrOi8vZ3Vlc3MtdGhlLXllYXItd2ViLWNvbXBvbmVudC8uL3NyYy9saWIvZW51bXMudHMiLCJ3ZWJwYWNrOi8vZ3Vlc3MtdGhlLXllYXItd2ViLWNvbXBvbmVudC8uL3NyYy9saWIvaTE4bi9OTC50cyIsIndlYnBhY2s6Ly9ndWVzcy10aGUteWVhci13ZWItY29tcG9uZW50Ly4vc3JjL3Njc3MvbWFpbi5zY3NzIiwid2VicGFjazovL2d1ZXNzLXRoZS15ZWFyLXdlYi1jb21wb25lbnQvLi9zcmMvbGliL2NvbnRyb2xsZXIvc2NvcmVjb250cm9sbGVyLnRzIiwid2VicGFjazovL2d1ZXNzLXRoZS15ZWFyLXdlYi1jb21wb25lbnQvLi9zcmMvZ3Vlc3MtdGhlLXllYXIudHMiLCJ3ZWJwYWNrOi8vZ3Vlc3MtdGhlLXllYXItd2ViLWNvbXBvbmVudC8uL3NyYy9saWIvaTE4bi9pMThuLnRzIiwid2VicGFjazovL2d1ZXNzLXRoZS15ZWFyLXdlYi1jb21wb25lbnQvLi9zcmMvbGliL0ljb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiIWZ1bmN0aW9uKHQsZSl7XCJvYmplY3RcIj09dHlwZW9mIGV4cG9ydHMmJlwidW5kZWZpbmVkXCIhPXR5cGVvZiBtb2R1bGU/bW9kdWxlLmV4cG9ydHM9ZSgpOlwiZnVuY3Rpb25cIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoZSk6KHQ9XCJ1bmRlZmluZWRcIiE9dHlwZW9mIGdsb2JhbFRoaXM/Z2xvYmFsVGhpczp0fHxzZWxmKS5kYXlqcz1lKCl9KHRoaXMsKGZ1bmN0aW9uKCl7XCJ1c2Ugc3RyaWN0XCI7dmFyIHQ9MWUzLGU9NmU0LG49MzZlNSxyPVwibWlsbGlzZWNvbmRcIixpPVwic2Vjb25kXCIscz1cIm1pbnV0ZVwiLHU9XCJob3VyXCIsYT1cImRheVwiLG89XCJ3ZWVrXCIsYz1cIm1vbnRoXCIsZj1cInF1YXJ0ZXJcIixoPVwieWVhclwiLGQ9XCJkYXRlXCIsbD1cIkludmFsaWQgRGF0ZVwiLCQ9L14oXFxkezR9KVstL10/KFxcZHsxLDJ9KT9bLS9dPyhcXGR7MCwyfSlbVHRcXHNdKihcXGR7MSwyfSk/Oj8oXFxkezEsMn0pPzo/KFxcZHsxLDJ9KT9bLjpdPyhcXGQrKT8kLyx5PS9cXFsoW15cXF1dKyldfFl7MSw0fXxNezEsNH18RHsxLDJ9fGR7MSw0fXxIezEsMn18aHsxLDJ9fGF8QXxtezEsMn18c3sxLDJ9fFp7MSwyfXxTU1MvZyxNPXtuYW1lOlwiZW5cIix3ZWVrZGF5czpcIlN1bmRheV9Nb25kYXlfVHVlc2RheV9XZWRuZXNkYXlfVGh1cnNkYXlfRnJpZGF5X1NhdHVyZGF5XCIuc3BsaXQoXCJfXCIpLG1vbnRoczpcIkphbnVhcnlfRmVicnVhcnlfTWFyY2hfQXByaWxfTWF5X0p1bmVfSnVseV9BdWd1c3RfU2VwdGVtYmVyX09jdG9iZXJfTm92ZW1iZXJfRGVjZW1iZXJcIi5zcGxpdChcIl9cIiksb3JkaW5hbDpmdW5jdGlvbih0KXt2YXIgZT1bXCJ0aFwiLFwic3RcIixcIm5kXCIsXCJyZFwiXSxuPXQlMTAwO3JldHVyblwiW1wiK3QrKGVbKG4tMjApJTEwXXx8ZVtuXXx8ZVswXSkrXCJdXCJ9fSxtPWZ1bmN0aW9uKHQsZSxuKXt2YXIgcj1TdHJpbmcodCk7cmV0dXJuIXJ8fHIubGVuZ3RoPj1lP3Q6XCJcIitBcnJheShlKzEtci5sZW5ndGgpLmpvaW4obikrdH0sdj17czptLHo6ZnVuY3Rpb24odCl7dmFyIGU9LXQudXRjT2Zmc2V0KCksbj1NYXRoLmFicyhlKSxyPU1hdGguZmxvb3Iobi82MCksaT1uJTYwO3JldHVybihlPD0wP1wiK1wiOlwiLVwiKSttKHIsMixcIjBcIikrXCI6XCIrbShpLDIsXCIwXCIpfSxtOmZ1bmN0aW9uIHQoZSxuKXtpZihlLmRhdGUoKTxuLmRhdGUoKSlyZXR1cm4tdChuLGUpO3ZhciByPTEyKihuLnllYXIoKS1lLnllYXIoKSkrKG4ubW9udGgoKS1lLm1vbnRoKCkpLGk9ZS5jbG9uZSgpLmFkZChyLGMpLHM9bi1pPDAsdT1lLmNsb25lKCkuYWRkKHIrKHM/LTE6MSksYyk7cmV0dXJuKygtKHIrKG4taSkvKHM/aS11OnUtaSkpfHwwKX0sYTpmdW5jdGlvbih0KXtyZXR1cm4gdDwwP01hdGguY2VpbCh0KXx8MDpNYXRoLmZsb29yKHQpfSxwOmZ1bmN0aW9uKHQpe3JldHVybntNOmMseTpoLHc6byxkOmEsRDpkLGg6dSxtOnMsczppLG1zOnIsUTpmfVt0XXx8U3RyaW5nKHR8fFwiXCIpLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvcyQvLFwiXCIpfSx1OmZ1bmN0aW9uKHQpe3JldHVybiB2b2lkIDA9PT10fX0sZz1cImVuXCIsRD17fTtEW2ddPU07dmFyIHA9XCIkaXNEYXlqc09iamVjdFwiLFM9ZnVuY3Rpb24odCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBffHwhKCF0fHwhdFtwXSl9LHc9ZnVuY3Rpb24gdChlLG4scil7dmFyIGk7aWYoIWUpcmV0dXJuIGc7aWYoXCJzdHJpbmdcIj09dHlwZW9mIGUpe3ZhciBzPWUudG9Mb3dlckNhc2UoKTtEW3NdJiYoaT1zKSxuJiYoRFtzXT1uLGk9cyk7dmFyIHU9ZS5zcGxpdChcIi1cIik7aWYoIWkmJnUubGVuZ3RoPjEpcmV0dXJuIHQodVswXSl9ZWxzZXt2YXIgYT1lLm5hbWU7RFthXT1lLGk9YX1yZXR1cm4hciYmaSYmKGc9aSksaXx8IXImJmd9LE89ZnVuY3Rpb24odCxlKXtpZihTKHQpKXJldHVybiB0LmNsb25lKCk7dmFyIG49XCJvYmplY3RcIj09dHlwZW9mIGU/ZTp7fTtyZXR1cm4gbi5kYXRlPXQsbi5hcmdzPWFyZ3VtZW50cyxuZXcgXyhuKX0sYj12O2IubD13LGIuaT1TLGIudz1mdW5jdGlvbih0LGUpe3JldHVybiBPKHQse2xvY2FsZTplLiRMLHV0YzplLiR1LHg6ZS4keCwkb2Zmc2V0OmUuJG9mZnNldH0pfTt2YXIgXz1mdW5jdGlvbigpe2Z1bmN0aW9uIE0odCl7dGhpcy4kTD13KHQubG9jYWxlLG51bGwsITApLHRoaXMucGFyc2UodCksdGhpcy4keD10aGlzLiR4fHx0Lnh8fHt9LHRoaXNbcF09ITB9dmFyIG09TS5wcm90b3R5cGU7cmV0dXJuIG0ucGFyc2U9ZnVuY3Rpb24odCl7dGhpcy4kZD1mdW5jdGlvbih0KXt2YXIgZT10LmRhdGUsbj10LnV0YztpZihudWxsPT09ZSlyZXR1cm4gbmV3IERhdGUoTmFOKTtpZihiLnUoZSkpcmV0dXJuIG5ldyBEYXRlO2lmKGUgaW5zdGFuY2VvZiBEYXRlKXJldHVybiBuZXcgRGF0ZShlKTtpZihcInN0cmluZ1wiPT10eXBlb2YgZSYmIS9aJC9pLnRlc3QoZSkpe3ZhciByPWUubWF0Y2goJCk7aWYocil7dmFyIGk9clsyXS0xfHwwLHM9KHJbN118fFwiMFwiKS5zdWJzdHJpbmcoMCwzKTtyZXR1cm4gbj9uZXcgRGF0ZShEYXRlLlVUQyhyWzFdLGksclszXXx8MSxyWzRdfHwwLHJbNV18fDAscls2XXx8MCxzKSk6bmV3IERhdGUoclsxXSxpLHJbM118fDEscls0XXx8MCxyWzVdfHwwLHJbNl18fDAscyl9fXJldHVybiBuZXcgRGF0ZShlKX0odCksdGhpcy5pbml0KCl9LG0uaW5pdD1mdW5jdGlvbigpe3ZhciB0PXRoaXMuJGQ7dGhpcy4keT10LmdldEZ1bGxZZWFyKCksdGhpcy4kTT10LmdldE1vbnRoKCksdGhpcy4kRD10LmdldERhdGUoKSx0aGlzLiRXPXQuZ2V0RGF5KCksdGhpcy4kSD10LmdldEhvdXJzKCksdGhpcy4kbT10LmdldE1pbnV0ZXMoKSx0aGlzLiRzPXQuZ2V0U2Vjb25kcygpLHRoaXMuJG1zPXQuZ2V0TWlsbGlzZWNvbmRzKCl9LG0uJHV0aWxzPWZ1bmN0aW9uKCl7cmV0dXJuIGJ9LG0uaXNWYWxpZD1mdW5jdGlvbigpe3JldHVybiEodGhpcy4kZC50b1N0cmluZygpPT09bCl9LG0uaXNTYW1lPWZ1bmN0aW9uKHQsZSl7dmFyIG49Tyh0KTtyZXR1cm4gdGhpcy5zdGFydE9mKGUpPD1uJiZuPD10aGlzLmVuZE9mKGUpfSxtLmlzQWZ0ZXI9ZnVuY3Rpb24odCxlKXtyZXR1cm4gTyh0KTx0aGlzLnN0YXJ0T2YoZSl9LG0uaXNCZWZvcmU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5lbmRPZihlKTxPKHQpfSxtLiRnPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gYi51KHQpP3RoaXNbZV06dGhpcy5zZXQobix0KX0sbS51bml4PWZ1bmN0aW9uKCl7cmV0dXJuIE1hdGguZmxvb3IodGhpcy52YWx1ZU9mKCkvMWUzKX0sbS52YWx1ZU9mPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuJGQuZ2V0VGltZSgpfSxtLnN0YXJ0T2Y9ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLHI9ISFiLnUoZSl8fGUsZj1iLnAodCksbD1mdW5jdGlvbih0LGUpe3ZhciBpPWIudyhuLiR1P0RhdGUuVVRDKG4uJHksZSx0KTpuZXcgRGF0ZShuLiR5LGUsdCksbik7cmV0dXJuIHI/aTppLmVuZE9mKGEpfSwkPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGIudyhuLnRvRGF0ZSgpW3RdLmFwcGx5KG4udG9EYXRlKFwic1wiKSwocj9bMCwwLDAsMF06WzIzLDU5LDU5LDk5OV0pLnNsaWNlKGUpKSxuKX0seT10aGlzLiRXLE09dGhpcy4kTSxtPXRoaXMuJEQsdj1cInNldFwiKyh0aGlzLiR1P1wiVVRDXCI6XCJcIik7c3dpdGNoKGYpe2Nhc2UgaDpyZXR1cm4gcj9sKDEsMCk6bCgzMSwxMSk7Y2FzZSBjOnJldHVybiByP2woMSxNKTpsKDAsTSsxKTtjYXNlIG86dmFyIGc9dGhpcy4kbG9jYWxlKCkud2Vla1N0YXJ0fHwwLEQ9KHk8Zz95Kzc6eSktZztyZXR1cm4gbChyP20tRDptKyg2LUQpLE0pO2Nhc2UgYTpjYXNlIGQ6cmV0dXJuICQoditcIkhvdXJzXCIsMCk7Y2FzZSB1OnJldHVybiAkKHYrXCJNaW51dGVzXCIsMSk7Y2FzZSBzOnJldHVybiAkKHYrXCJTZWNvbmRzXCIsMik7Y2FzZSBpOnJldHVybiAkKHYrXCJNaWxsaXNlY29uZHNcIiwzKTtkZWZhdWx0OnJldHVybiB0aGlzLmNsb25lKCl9fSxtLmVuZE9mPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnN0YXJ0T2YodCwhMSl9LG0uJHNldD1mdW5jdGlvbih0LGUpe3ZhciBuLG89Yi5wKHQpLGY9XCJzZXRcIisodGhpcy4kdT9cIlVUQ1wiOlwiXCIpLGw9KG49e30sblthXT1mK1wiRGF0ZVwiLG5bZF09ZitcIkRhdGVcIixuW2NdPWYrXCJNb250aFwiLG5baF09ZitcIkZ1bGxZZWFyXCIsblt1XT1mK1wiSG91cnNcIixuW3NdPWYrXCJNaW51dGVzXCIsbltpXT1mK1wiU2Vjb25kc1wiLG5bcl09ZitcIk1pbGxpc2Vjb25kc1wiLG4pW29dLCQ9bz09PWE/dGhpcy4kRCsoZS10aGlzLiRXKTplO2lmKG89PT1jfHxvPT09aCl7dmFyIHk9dGhpcy5jbG9uZSgpLnNldChkLDEpO3kuJGRbbF0oJCkseS5pbml0KCksdGhpcy4kZD15LnNldChkLE1hdGgubWluKHRoaXMuJEQseS5kYXlzSW5Nb250aCgpKSkuJGR9ZWxzZSBsJiZ0aGlzLiRkW2xdKCQpO3JldHVybiB0aGlzLmluaXQoKSx0aGlzfSxtLnNldD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmNsb25lKCkuJHNldCh0LGUpfSxtLmdldD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpc1tiLnAodCldKCl9LG0uYWRkPWZ1bmN0aW9uKHIsZil7dmFyIGQsbD10aGlzO3I9TnVtYmVyKHIpO3ZhciAkPWIucChmKSx5PWZ1bmN0aW9uKHQpe3ZhciBlPU8obCk7cmV0dXJuIGIudyhlLmRhdGUoZS5kYXRlKCkrTWF0aC5yb3VuZCh0KnIpKSxsKX07aWYoJD09PWMpcmV0dXJuIHRoaXMuc2V0KGMsdGhpcy4kTStyKTtpZigkPT09aClyZXR1cm4gdGhpcy5zZXQoaCx0aGlzLiR5K3IpO2lmKCQ9PT1hKXJldHVybiB5KDEpO2lmKCQ9PT1vKXJldHVybiB5KDcpO3ZhciBNPShkPXt9LGRbc109ZSxkW3VdPW4sZFtpXT10LGQpWyRdfHwxLG09dGhpcy4kZC5nZXRUaW1lKCkrcipNO3JldHVybiBiLncobSx0aGlzKX0sbS5zdWJ0cmFjdD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmFkZCgtMSp0LGUpfSxtLmZvcm1hdD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLG49dGhpcy4kbG9jYWxlKCk7aWYoIXRoaXMuaXNWYWxpZCgpKXJldHVybiBuLmludmFsaWREYXRlfHxsO3ZhciByPXR8fFwiWVlZWS1NTS1ERFRISDptbTpzc1pcIixpPWIueih0aGlzKSxzPXRoaXMuJEgsdT10aGlzLiRtLGE9dGhpcy4kTSxvPW4ud2Vla2RheXMsYz1uLm1vbnRocyxmPW4ubWVyaWRpZW0saD1mdW5jdGlvbih0LG4saSxzKXtyZXR1cm4gdCYmKHRbbl18fHQoZSxyKSl8fGlbbl0uc2xpY2UoMCxzKX0sZD1mdW5jdGlvbih0KXtyZXR1cm4gYi5zKHMlMTJ8fDEyLHQsXCIwXCIpfSwkPWZ8fGZ1bmN0aW9uKHQsZSxuKXt2YXIgcj10PDEyP1wiQU1cIjpcIlBNXCI7cmV0dXJuIG4/ci50b0xvd2VyQ2FzZSgpOnJ9O3JldHVybiByLnJlcGxhY2UoeSwoZnVuY3Rpb24odCxyKXtyZXR1cm4gcnx8ZnVuY3Rpb24odCl7c3dpdGNoKHQpe2Nhc2VcIllZXCI6cmV0dXJuIFN0cmluZyhlLiR5KS5zbGljZSgtMik7Y2FzZVwiWVlZWVwiOnJldHVybiBiLnMoZS4keSw0LFwiMFwiKTtjYXNlXCJNXCI6cmV0dXJuIGErMTtjYXNlXCJNTVwiOnJldHVybiBiLnMoYSsxLDIsXCIwXCIpO2Nhc2VcIk1NTVwiOnJldHVybiBoKG4ubW9udGhzU2hvcnQsYSxjLDMpO2Nhc2VcIk1NTU1cIjpyZXR1cm4gaChjLGEpO2Nhc2VcIkRcIjpyZXR1cm4gZS4kRDtjYXNlXCJERFwiOnJldHVybiBiLnMoZS4kRCwyLFwiMFwiKTtjYXNlXCJkXCI6cmV0dXJuIFN0cmluZyhlLiRXKTtjYXNlXCJkZFwiOnJldHVybiBoKG4ud2Vla2RheXNNaW4sZS4kVyxvLDIpO2Nhc2VcImRkZFwiOnJldHVybiBoKG4ud2Vla2RheXNTaG9ydCxlLiRXLG8sMyk7Y2FzZVwiZGRkZFwiOnJldHVybiBvW2UuJFddO2Nhc2VcIkhcIjpyZXR1cm4gU3RyaW5nKHMpO2Nhc2VcIkhIXCI6cmV0dXJuIGIucyhzLDIsXCIwXCIpO2Nhc2VcImhcIjpyZXR1cm4gZCgxKTtjYXNlXCJoaFwiOnJldHVybiBkKDIpO2Nhc2VcImFcIjpyZXR1cm4gJChzLHUsITApO2Nhc2VcIkFcIjpyZXR1cm4gJChzLHUsITEpO2Nhc2VcIm1cIjpyZXR1cm4gU3RyaW5nKHUpO2Nhc2VcIm1tXCI6cmV0dXJuIGIucyh1LDIsXCIwXCIpO2Nhc2VcInNcIjpyZXR1cm4gU3RyaW5nKGUuJHMpO2Nhc2VcInNzXCI6cmV0dXJuIGIucyhlLiRzLDIsXCIwXCIpO2Nhc2VcIlNTU1wiOnJldHVybiBiLnMoZS4kbXMsMyxcIjBcIik7Y2FzZVwiWlwiOnJldHVybiBpfXJldHVybiBudWxsfSh0KXx8aS5yZXBsYWNlKFwiOlwiLFwiXCIpfSkpfSxtLnV0Y09mZnNldD1mdW5jdGlvbigpe3JldHVybiAxNSotTWF0aC5yb3VuZCh0aGlzLiRkLmdldFRpbWV6b25lT2Zmc2V0KCkvMTUpfSxtLmRpZmY9ZnVuY3Rpb24ocixkLGwpe3ZhciAkLHk9dGhpcyxNPWIucChkKSxtPU8ociksdj0obS51dGNPZmZzZXQoKS10aGlzLnV0Y09mZnNldCgpKSplLGc9dGhpcy1tLEQ9ZnVuY3Rpb24oKXtyZXR1cm4gYi5tKHksbSl9O3N3aXRjaChNKXtjYXNlIGg6JD1EKCkvMTI7YnJlYWs7Y2FzZSBjOiQ9RCgpO2JyZWFrO2Nhc2UgZjokPUQoKS8zO2JyZWFrO2Nhc2UgbzokPShnLXYpLzYwNDhlNTticmVhaztjYXNlIGE6JD0oZy12KS84NjRlNTticmVhaztjYXNlIHU6JD1nL247YnJlYWs7Y2FzZSBzOiQ9Zy9lO2JyZWFrO2Nhc2UgaTokPWcvdDticmVhaztkZWZhdWx0OiQ9Z31yZXR1cm4gbD8kOmIuYSgkKX0sbS5kYXlzSW5Nb250aD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmVuZE9mKGMpLiREfSxtLiRsb2NhbGU9ZnVuY3Rpb24oKXtyZXR1cm4gRFt0aGlzLiRMXX0sbS5sb2NhbGU9ZnVuY3Rpb24odCxlKXtpZighdClyZXR1cm4gdGhpcy4kTDt2YXIgbj10aGlzLmNsb25lKCkscj13KHQsZSwhMCk7cmV0dXJuIHImJihuLiRMPXIpLG59LG0uY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gYi53KHRoaXMuJGQsdGhpcyl9LG0udG9EYXRlPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBEYXRlKHRoaXMudmFsdWVPZigpKX0sbS50b0pTT049ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pc1ZhbGlkKCk/dGhpcy50b0lTT1N0cmluZygpOm51bGx9LG0udG9JU09TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kZC50b0lTT1N0cmluZygpfSxtLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuJGQudG9VVENTdHJpbmcoKX0sTX0oKSxrPV8ucHJvdG90eXBlO3JldHVybiBPLnByb3RvdHlwZT1rLFtbXCIkbXNcIixyXSxbXCIkc1wiLGldLFtcIiRtXCIsc10sW1wiJEhcIix1XSxbXCIkV1wiLGFdLFtcIiRNXCIsY10sW1wiJHlcIixoXSxbXCIkRFwiLGRdXS5mb3JFYWNoKChmdW5jdGlvbih0KXtrW3RbMV1dPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLiRnKGUsdFswXSx0WzFdKX19KSksTy5leHRlbmQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC4kaXx8KHQoZSxfLE8pLHQuJGk9ITApLE99LE8ubG9jYWxlPXcsTy5pc0RheWpzPVMsTy51bml4PWZ1bmN0aW9uKHQpe3JldHVybiBPKDFlMyp0KX0sTy5lbj1EW2ddLE8uTHM9RCxPLnA9e30sT30pKTsiLCIvLyBUaGUgbW9kdWxlIGNhY2hlXG52YXIgX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fID0ge307XG5cbi8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG5mdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuXHR2YXIgY2FjaGVkTW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXTtcblx0aWYgKGNhY2hlZE1vZHVsZSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0cmV0dXJuIGNhY2hlZE1vZHVsZS5leHBvcnRzO1xuXHR9XG5cdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG5cdHZhciBtb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdID0ge1xuXHRcdC8vIG5vIG1vZHVsZS5pZCBuZWVkZWRcblx0XHQvLyBubyBtb2R1bGUubG9hZGVkIG5lZWRlZFxuXHRcdGV4cG9ydHM6IHt9XG5cdH07XG5cblx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG5cdF9fd2VicGFja19tb2R1bGVzX19bbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG5cdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG5cdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbn1cblxuIiwiLy8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbl9fd2VicGFja19yZXF1aXJlX18ubiA9IGZ1bmN0aW9uKG1vZHVsZSkge1xuXHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cblx0XHRmdW5jdGlvbigpIHsgcmV0dXJuIG1vZHVsZVsnZGVmYXVsdCddOyB9IDpcblx0XHRmdW5jdGlvbigpIHsgcmV0dXJuIG1vZHVsZTsgfTtcblx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKGdldHRlciwgeyBhOiBnZXR0ZXIgfSk7XG5cdHJldHVybiBnZXR0ZXI7XG59OyIsIi8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb25zIGZvciBoYXJtb255IGV4cG9ydHNcbl9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIGRlZmluaXRpb24pIHtcblx0Zm9yKHZhciBrZXkgaW4gZGVmaW5pdGlvbikge1xuXHRcdGlmKF9fd2VicGFja19yZXF1aXJlX18ubyhkZWZpbml0aW9uLCBrZXkpICYmICFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywga2V5KSkge1xuXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIGtleSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGRlZmluaXRpb25ba2V5XSB9KTtcblx0XHR9XG5cdH1cbn07IiwiX193ZWJwYWNrX3JlcXVpcmVfXy5vID0gZnVuY3Rpb24ob2JqLCBwcm9wKSB7IHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBwcm9wKTsgfSIsIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDE5IEdvb2dsZSBMTENcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2VcbiAqL1xuY29uc3QgdD1nbG9iYWxUaGlzLGU9dC5TaGFkb3dSb290JiYodm9pZCAwPT09dC5TaGFkeUNTU3x8dC5TaGFkeUNTUy5uYXRpdmVTaGFkb3cpJiZcImFkb3B0ZWRTdHlsZVNoZWV0c1wiaW4gRG9jdW1lbnQucHJvdG90eXBlJiZcInJlcGxhY2VcImluIENTU1N0eWxlU2hlZXQucHJvdG90eXBlLHM9U3ltYm9sKCksbz1uZXcgV2Vha01hcDtjbGFzcyBue2NvbnN0cnVjdG9yKHQsZSxvKXtpZih0aGlzLl8kY3NzUmVzdWx0JD0hMCxvIT09cyl0aHJvdyBFcnJvcihcIkNTU1Jlc3VsdCBpcyBub3QgY29uc3RydWN0YWJsZS4gVXNlIGB1bnNhZmVDU1NgIG9yIGBjc3NgIGluc3RlYWQuXCIpO3RoaXMuY3NzVGV4dD10LHRoaXMudD1lfWdldCBzdHlsZVNoZWV0KCl7bGV0IHQ9dGhpcy5vO2NvbnN0IHM9dGhpcy50O2lmKGUmJnZvaWQgMD09PXQpe2NvbnN0IGU9dm9pZCAwIT09cyYmMT09PXMubGVuZ3RoO2UmJih0PW8uZ2V0KHMpKSx2b2lkIDA9PT10JiYoKHRoaXMubz10PW5ldyBDU1NTdHlsZVNoZWV0KS5yZXBsYWNlU3luYyh0aGlzLmNzc1RleHQpLGUmJm8uc2V0KHMsdCkpfXJldHVybiB0fXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuY3NzVGV4dH19Y29uc3Qgcj10PT5uZXcgbihcInN0cmluZ1wiPT10eXBlb2YgdD90OnQrXCJcIix2b2lkIDAscyksaT0odCwuLi5lKT0+e2NvbnN0IG89MT09PXQubGVuZ3RoP3RbMF06ZS5yZWR1Y2UoKChlLHMsbyk9PmUrKHQ9PntpZighMD09PXQuXyRjc3NSZXN1bHQkKXJldHVybiB0LmNzc1RleHQ7aWYoXCJudW1iZXJcIj09dHlwZW9mIHQpcmV0dXJuIHQ7dGhyb3cgRXJyb3IoXCJWYWx1ZSBwYXNzZWQgdG8gJ2NzcycgZnVuY3Rpb24gbXVzdCBiZSBhICdjc3MnIGZ1bmN0aW9uIHJlc3VsdDogXCIrdCtcIi4gVXNlICd1bnNhZmVDU1MnIHRvIHBhc3Mgbm9uLWxpdGVyYWwgdmFsdWVzLCBidXQgdGFrZSBjYXJlIHRvIGVuc3VyZSBwYWdlIHNlY3VyaXR5LlwiKX0pKHMpK3RbbysxXSksdFswXSk7cmV0dXJuIG5ldyBuKG8sdCxzKX0sUz0ocyxvKT0+e2lmKGUpcy5hZG9wdGVkU3R5bGVTaGVldHM9by5tYXAoKHQ9PnQgaW5zdGFuY2VvZiBDU1NTdHlsZVNoZWV0P3Q6dC5zdHlsZVNoZWV0KSk7ZWxzZSBmb3IoY29uc3QgZSBvZiBvKXtjb25zdCBvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiKSxuPXQubGl0Tm9uY2U7dm9pZCAwIT09biYmby5zZXRBdHRyaWJ1dGUoXCJub25jZVwiLG4pLG8udGV4dENvbnRlbnQ9ZS5jc3NUZXh0LHMuYXBwZW5kQ2hpbGQobyl9fSxjPWU/dD0+dDp0PT50IGluc3RhbmNlb2YgQ1NTU3R5bGVTaGVldD8odD0+e2xldCBlPVwiXCI7Zm9yKGNvbnN0IHMgb2YgdC5jc3NSdWxlcyllKz1zLmNzc1RleHQ7cmV0dXJuIHIoZSl9KSh0KTp0O2V4cG9ydHtuIGFzIENTU1Jlc3VsdCxTIGFzIGFkb3B0U3R5bGVzLGkgYXMgY3NzLGMgYXMgZ2V0Q29tcGF0aWJsZVN0eWxlLGUgYXMgc3VwcG9ydHNBZG9wdGluZ1N0eWxlU2hlZXRzLHIgYXMgdW5zYWZlQ1NTfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNzcy10YWcuanMubWFwXG4iLCJpbXBvcnR7Z2V0Q29tcGF0aWJsZVN0eWxlIGFzIHQsYWRvcHRTdHlsZXMgYXMgc31mcm9tXCIuL2Nzcy10YWcuanNcIjtleHBvcnR7Q1NTUmVzdWx0LGFkb3B0U3R5bGVzLGNzcyxnZXRDb21wYXRpYmxlU3R5bGUsc3VwcG9ydHNBZG9wdGluZ1N0eWxlU2hlZXRzLHVuc2FmZUNTU31mcm9tXCIuL2Nzcy10YWcuanNcIjtcbi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDE3IEdvb2dsZSBMTENcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2VcbiAqL2NvbnN0e2lzOmksZGVmaW5lUHJvcGVydHk6ZSxnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I6cixnZXRPd25Qcm9wZXJ0eU5hbWVzOmgsZ2V0T3duUHJvcGVydHlTeW1ib2xzOm8sZ2V0UHJvdG90eXBlT2Y6bn09T2JqZWN0LGE9Z2xvYmFsVGhpcyxjPWEudHJ1c3RlZFR5cGVzLGw9Yz9jLmVtcHR5U2NyaXB0OlwiXCIscD1hLnJlYWN0aXZlRWxlbWVudFBvbHlmaWxsU3VwcG9ydCxkPSh0LHMpPT50LHU9e3RvQXR0cmlidXRlKHQscyl7c3dpdGNoKHMpe2Nhc2UgQm9vbGVhbjp0PXQ/bDpudWxsO2JyZWFrO2Nhc2UgT2JqZWN0OmNhc2UgQXJyYXk6dD1udWxsPT10P3Q6SlNPTi5zdHJpbmdpZnkodCl9cmV0dXJuIHR9LGZyb21BdHRyaWJ1dGUodCxzKXtsZXQgaT10O3N3aXRjaChzKXtjYXNlIEJvb2xlYW46aT1udWxsIT09dDticmVhaztjYXNlIE51bWJlcjppPW51bGw9PT10P251bGw6TnVtYmVyKHQpO2JyZWFrO2Nhc2UgT2JqZWN0OmNhc2UgQXJyYXk6dHJ5e2k9SlNPTi5wYXJzZSh0KX1jYXRjaCh0KXtpPW51bGx9fXJldHVybiBpfX0sZj0odCxzKT0+IWkodCxzKSx5PXthdHRyaWJ1dGU6ITAsdHlwZTpTdHJpbmcsY29udmVydGVyOnUscmVmbGVjdDohMSxoYXNDaGFuZ2VkOmZ9O1N5bWJvbC5tZXRhZGF0YT8/PVN5bWJvbChcIm1ldGFkYXRhXCIpLGEubGl0UHJvcGVydHlNZXRhZGF0YT8/PW5ldyBXZWFrTWFwO2NsYXNzIGIgZXh0ZW5kcyBIVE1MRWxlbWVudHtzdGF0aWMgYWRkSW5pdGlhbGl6ZXIodCl7dGhpcy5fJEVpKCksKHRoaXMubD8/PVtdKS5wdXNoKHQpfXN0YXRpYyBnZXQgb2JzZXJ2ZWRBdHRyaWJ1dGVzKCl7cmV0dXJuIHRoaXMuZmluYWxpemUoKSx0aGlzLl8kRWgmJlsuLi50aGlzLl8kRWgua2V5cygpXX1zdGF0aWMgY3JlYXRlUHJvcGVydHkodCxzPXkpe2lmKHMuc3RhdGUmJihzLmF0dHJpYnV0ZT0hMSksdGhpcy5fJEVpKCksdGhpcy5lbGVtZW50UHJvcGVydGllcy5zZXQodCxzKSwhcy5ub0FjY2Vzc29yKXtjb25zdCBpPVN5bWJvbCgpLHI9dGhpcy5nZXRQcm9wZXJ0eURlc2NyaXB0b3IodCxpLHMpO3ZvaWQgMCE9PXImJmUodGhpcy5wcm90b3R5cGUsdCxyKX19c3RhdGljIGdldFByb3BlcnR5RGVzY3JpcHRvcih0LHMsaSl7Y29uc3R7Z2V0OmUsc2V0Omh9PXIodGhpcy5wcm90b3R5cGUsdCk/P3tnZXQoKXtyZXR1cm4gdGhpc1tzXX0sc2V0KHQpe3RoaXNbc109dH19O3JldHVybntnZXQoKXtyZXR1cm4gZT8uY2FsbCh0aGlzKX0sc2V0KHMpe2NvbnN0IHI9ZT8uY2FsbCh0aGlzKTtoLmNhbGwodGhpcyxzKSx0aGlzLnJlcXVlc3RVcGRhdGUodCxyLGkpfSxjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMH19c3RhdGljIGdldFByb3BlcnR5T3B0aW9ucyh0KXtyZXR1cm4gdGhpcy5lbGVtZW50UHJvcGVydGllcy5nZXQodCk/P3l9c3RhdGljIF8kRWkoKXtpZih0aGlzLmhhc093blByb3BlcnR5KGQoXCJlbGVtZW50UHJvcGVydGllc1wiKSkpcmV0dXJuO2NvbnN0IHQ9bih0aGlzKTt0LmZpbmFsaXplKCksdm9pZCAwIT09dC5sJiYodGhpcy5sPVsuLi50LmxdKSx0aGlzLmVsZW1lbnRQcm9wZXJ0aWVzPW5ldyBNYXAodC5lbGVtZW50UHJvcGVydGllcyl9c3RhdGljIGZpbmFsaXplKCl7aWYodGhpcy5oYXNPd25Qcm9wZXJ0eShkKFwiZmluYWxpemVkXCIpKSlyZXR1cm47aWYodGhpcy5maW5hbGl6ZWQ9ITAsdGhpcy5fJEVpKCksdGhpcy5oYXNPd25Qcm9wZXJ0eShkKFwicHJvcGVydGllc1wiKSkpe2NvbnN0IHQ9dGhpcy5wcm9wZXJ0aWVzLHM9Wy4uLmgodCksLi4ubyh0KV07Zm9yKGNvbnN0IGkgb2Ygcyl0aGlzLmNyZWF0ZVByb3BlcnR5KGksdFtpXSl9Y29uc3QgdD10aGlzW1N5bWJvbC5tZXRhZGF0YV07aWYobnVsbCE9PXQpe2NvbnN0IHM9bGl0UHJvcGVydHlNZXRhZGF0YS5nZXQodCk7aWYodm9pZCAwIT09cylmb3IoY29uc3RbdCxpXW9mIHMpdGhpcy5lbGVtZW50UHJvcGVydGllcy5zZXQodCxpKX10aGlzLl8kRWg9bmV3IE1hcDtmb3IoY29uc3RbdCxzXW9mIHRoaXMuZWxlbWVudFByb3BlcnRpZXMpe2NvbnN0IGk9dGhpcy5fJEV1KHQscyk7dm9pZCAwIT09aSYmdGhpcy5fJEVoLnNldChpLHQpfXRoaXMuZWxlbWVudFN0eWxlcz10aGlzLmZpbmFsaXplU3R5bGVzKHRoaXMuc3R5bGVzKX1zdGF0aWMgZmluYWxpemVTdHlsZXMocyl7Y29uc3QgaT1bXTtpZihBcnJheS5pc0FycmF5KHMpKXtjb25zdCBlPW5ldyBTZXQocy5mbGF0KDEvMCkucmV2ZXJzZSgpKTtmb3IoY29uc3QgcyBvZiBlKWkudW5zaGlmdCh0KHMpKX1lbHNlIHZvaWQgMCE9PXMmJmkucHVzaCh0KHMpKTtyZXR1cm4gaX1zdGF0aWMgXyRFdSh0LHMpe2NvbnN0IGk9cy5hdHRyaWJ1dGU7cmV0dXJuITE9PT1pP3ZvaWQgMDpcInN0cmluZ1wiPT10eXBlb2YgaT9pOlwic3RyaW5nXCI9PXR5cGVvZiB0P3QudG9Mb3dlckNhc2UoKTp2b2lkIDB9Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMuXyRFcD12b2lkIDAsdGhpcy5pc1VwZGF0ZVBlbmRpbmc9ITEsdGhpcy5oYXNVcGRhdGVkPSExLHRoaXMuXyRFbT1udWxsLHRoaXMuXyRFdigpfV8kRXYoKXt0aGlzLl8kRVM9bmV3IFByb21pc2UoKHQ9PnRoaXMuZW5hYmxlVXBkYXRpbmc9dCkpLHRoaXMuXyRBTD1uZXcgTWFwLHRoaXMuXyRFXygpLHRoaXMucmVxdWVzdFVwZGF0ZSgpLHRoaXMuY29uc3RydWN0b3IubD8uZm9yRWFjaCgodD0+dCh0aGlzKSkpfWFkZENvbnRyb2xsZXIodCl7KHRoaXMuXyRFTz8/PW5ldyBTZXQpLmFkZCh0KSx2b2lkIDAhPT10aGlzLnJlbmRlclJvb3QmJnRoaXMuaXNDb25uZWN0ZWQmJnQuaG9zdENvbm5lY3RlZD8uKCl9cmVtb3ZlQ29udHJvbGxlcih0KXt0aGlzLl8kRU8/LmRlbGV0ZSh0KX1fJEVfKCl7Y29uc3QgdD1uZXcgTWFwLHM9dGhpcy5jb25zdHJ1Y3Rvci5lbGVtZW50UHJvcGVydGllcztmb3IoY29uc3QgaSBvZiBzLmtleXMoKSl0aGlzLmhhc093blByb3BlcnR5KGkpJiYodC5zZXQoaSx0aGlzW2ldKSxkZWxldGUgdGhpc1tpXSk7dC5zaXplPjAmJih0aGlzLl8kRXA9dCl9Y3JlYXRlUmVuZGVyUm9vdCgpe2NvbnN0IHQ9dGhpcy5zaGFkb3dSb290Pz90aGlzLmF0dGFjaFNoYWRvdyh0aGlzLmNvbnN0cnVjdG9yLnNoYWRvd1Jvb3RPcHRpb25zKTtyZXR1cm4gcyh0LHRoaXMuY29uc3RydWN0b3IuZWxlbWVudFN0eWxlcyksdH1jb25uZWN0ZWRDYWxsYmFjaygpe3RoaXMucmVuZGVyUm9vdD8/PXRoaXMuY3JlYXRlUmVuZGVyUm9vdCgpLHRoaXMuZW5hYmxlVXBkYXRpbmcoITApLHRoaXMuXyRFTz8uZm9yRWFjaCgodD0+dC5ob3N0Q29ubmVjdGVkPy4oKSkpfWVuYWJsZVVwZGF0aW5nKHQpe31kaXNjb25uZWN0ZWRDYWxsYmFjaygpe3RoaXMuXyRFTz8uZm9yRWFjaCgodD0+dC5ob3N0RGlzY29ubmVjdGVkPy4oKSkpfWF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayh0LHMsaSl7dGhpcy5fJEFLKHQsaSl9XyRFQyh0LHMpe2NvbnN0IGk9dGhpcy5jb25zdHJ1Y3Rvci5lbGVtZW50UHJvcGVydGllcy5nZXQodCksZT10aGlzLmNvbnN0cnVjdG9yLl8kRXUodCxpKTtpZih2b2lkIDAhPT1lJiYhMD09PWkucmVmbGVjdCl7Y29uc3Qgcj0odm9pZCAwIT09aS5jb252ZXJ0ZXI/LnRvQXR0cmlidXRlP2kuY29udmVydGVyOnUpLnRvQXR0cmlidXRlKHMsaS50eXBlKTt0aGlzLl8kRW09dCxudWxsPT1yP3RoaXMucmVtb3ZlQXR0cmlidXRlKGUpOnRoaXMuc2V0QXR0cmlidXRlKGUsciksdGhpcy5fJEVtPW51bGx9fV8kQUsodCxzKXtjb25zdCBpPXRoaXMuY29uc3RydWN0b3IsZT1pLl8kRWguZ2V0KHQpO2lmKHZvaWQgMCE9PWUmJnRoaXMuXyRFbSE9PWUpe2NvbnN0IHQ9aS5nZXRQcm9wZXJ0eU9wdGlvbnMoZSkscj1cImZ1bmN0aW9uXCI9PXR5cGVvZiB0LmNvbnZlcnRlcj97ZnJvbUF0dHJpYnV0ZTp0LmNvbnZlcnRlcn06dm9pZCAwIT09dC5jb252ZXJ0ZXI/LmZyb21BdHRyaWJ1dGU/dC5jb252ZXJ0ZXI6dTt0aGlzLl8kRW09ZSx0aGlzW2VdPXIuZnJvbUF0dHJpYnV0ZShzLHQudHlwZSksdGhpcy5fJEVtPW51bGx9fXJlcXVlc3RVcGRhdGUodCxzLGkpe2lmKHZvaWQgMCE9PXQpe2lmKGk/Pz10aGlzLmNvbnN0cnVjdG9yLmdldFByb3BlcnR5T3B0aW9ucyh0KSwhKGkuaGFzQ2hhbmdlZD8/ZikodGhpc1t0XSxzKSlyZXR1cm47dGhpcy5QKHQscyxpKX0hMT09PXRoaXMuaXNVcGRhdGVQZW5kaW5nJiYodGhpcy5fJEVTPXRoaXMuXyRFVCgpKX1QKHQscyxpKXt0aGlzLl8kQUwuaGFzKHQpfHx0aGlzLl8kQUwuc2V0KHQscyksITA9PT1pLnJlZmxlY3QmJnRoaXMuXyRFbSE9PXQmJih0aGlzLl8kRWo/Pz1uZXcgU2V0KS5hZGQodCl9YXN5bmMgXyRFVCgpe3RoaXMuaXNVcGRhdGVQZW5kaW5nPSEwO3RyeXthd2FpdCB0aGlzLl8kRVN9Y2F0Y2godCl7UHJvbWlzZS5yZWplY3QodCl9Y29uc3QgdD10aGlzLnNjaGVkdWxlVXBkYXRlKCk7cmV0dXJuIG51bGwhPXQmJmF3YWl0IHQsIXRoaXMuaXNVcGRhdGVQZW5kaW5nfXNjaGVkdWxlVXBkYXRlKCl7cmV0dXJuIHRoaXMucGVyZm9ybVVwZGF0ZSgpfXBlcmZvcm1VcGRhdGUoKXtpZighdGhpcy5pc1VwZGF0ZVBlbmRpbmcpcmV0dXJuO2lmKCF0aGlzLmhhc1VwZGF0ZWQpe2lmKHRoaXMucmVuZGVyUm9vdD8/PXRoaXMuY3JlYXRlUmVuZGVyUm9vdCgpLHRoaXMuXyRFcCl7Zm9yKGNvbnN0W3Qsc11vZiB0aGlzLl8kRXApdGhpc1t0XT1zO3RoaXMuXyRFcD12b2lkIDB9Y29uc3QgdD10aGlzLmNvbnN0cnVjdG9yLmVsZW1lbnRQcm9wZXJ0aWVzO2lmKHQuc2l6ZT4wKWZvcihjb25zdFtzLGldb2YgdCkhMCE9PWkud3JhcHBlZHx8dGhpcy5fJEFMLmhhcyhzKXx8dm9pZCAwPT09dGhpc1tzXXx8dGhpcy5QKHMsdGhpc1tzXSxpKX1sZXQgdD0hMTtjb25zdCBzPXRoaXMuXyRBTDt0cnl7dD10aGlzLnNob3VsZFVwZGF0ZShzKSx0Pyh0aGlzLndpbGxVcGRhdGUocyksdGhpcy5fJEVPPy5mb3JFYWNoKCh0PT50Lmhvc3RVcGRhdGU/LigpKSksdGhpcy51cGRhdGUocykpOnRoaXMuXyRFVSgpfWNhdGNoKHMpe3Rocm93IHQ9ITEsdGhpcy5fJEVVKCksc310JiZ0aGlzLl8kQUUocyl9d2lsbFVwZGF0ZSh0KXt9XyRBRSh0KXt0aGlzLl8kRU8/LmZvckVhY2goKHQ9PnQuaG9zdFVwZGF0ZWQ/LigpKSksdGhpcy5oYXNVcGRhdGVkfHwodGhpcy5oYXNVcGRhdGVkPSEwLHRoaXMuZmlyc3RVcGRhdGVkKHQpKSx0aGlzLnVwZGF0ZWQodCl9XyRFVSgpe3RoaXMuXyRBTD1uZXcgTWFwLHRoaXMuaXNVcGRhdGVQZW5kaW5nPSExfWdldCB1cGRhdGVDb21wbGV0ZSgpe3JldHVybiB0aGlzLmdldFVwZGF0ZUNvbXBsZXRlKCl9Z2V0VXBkYXRlQ29tcGxldGUoKXtyZXR1cm4gdGhpcy5fJEVTfXNob3VsZFVwZGF0ZSh0KXtyZXR1cm4hMH11cGRhdGUodCl7dGhpcy5fJEVqJiY9dGhpcy5fJEVqLmZvckVhY2goKHQ9PnRoaXMuXyRFQyh0LHRoaXNbdF0pKSksdGhpcy5fJEVVKCl9dXBkYXRlZCh0KXt9Zmlyc3RVcGRhdGVkKHQpe319Yi5lbGVtZW50U3R5bGVzPVtdLGIuc2hhZG93Um9vdE9wdGlvbnM9e21vZGU6XCJvcGVuXCJ9LGJbZChcImVsZW1lbnRQcm9wZXJ0aWVzXCIpXT1uZXcgTWFwLGJbZChcImZpbmFsaXplZFwiKV09bmV3IE1hcCxwPy4oe1JlYWN0aXZlRWxlbWVudDpifSksKGEucmVhY3RpdmVFbGVtZW50VmVyc2lvbnM/Pz1bXSkucHVzaChcIjIuMC40XCIpO2V4cG9ydHtiIGFzIFJlYWN0aXZlRWxlbWVudCx1IGFzIGRlZmF1bHRDb252ZXJ0ZXIsZiBhcyBub3RFcXVhbH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1yZWFjdGl2ZS1lbGVtZW50LmpzLm1hcFxuIiwiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMTcgR29vZ2xlIExMQ1xuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZVxuICovXG5jb25zdCB0PWdsb2JhbFRoaXMsaT10LnRydXN0ZWRUeXBlcyxzPWk/aS5jcmVhdGVQb2xpY3koXCJsaXQtaHRtbFwiLHtjcmVhdGVIVE1MOnQ9PnR9KTp2b2lkIDAsZT1cIiRsaXQkXCIsaD1gbGl0JCR7TWF0aC5yYW5kb20oKS50b0ZpeGVkKDkpLnNsaWNlKDIpfSRgLG89XCI/XCIraCxuPWA8JHtvfT5gLHI9ZG9jdW1lbnQsbD0oKT0+ci5jcmVhdGVDb21tZW50KFwiXCIpLGM9dD0+bnVsbD09PXR8fFwib2JqZWN0XCIhPXR5cGVvZiB0JiZcImZ1bmN0aW9uXCIhPXR5cGVvZiB0LGE9QXJyYXkuaXNBcnJheSx1PXQ9PmEodCl8fFwiZnVuY3Rpb25cIj09dHlwZW9mIHQ/LltTeW1ib2wuaXRlcmF0b3JdLGQ9XCJbIFxcdFxcblxcZlxccl1cIixmPS88KD86KCEtLXxcXC9bXmEtekEtWl0pfChcXC8/W2EtekEtWl1bXj5cXHNdKil8KFxcLz8kKSkvZyx2PS8tLT4vZyxfPS8+L2csbT1SZWdFeHAoYD58JHtkfSg/OihbXlxcXFxzXCInPj0vXSspKCR7ZH0qPSR7ZH0qKD86W14gXFx0XFxuXFxmXFxyXCInXFxgPD49XXwoXCJ8Jyl8KSl8JClgLFwiZ1wiKSxwPS8nL2csZz0vXCIvZywkPS9eKD86c2NyaXB0fHN0eWxlfHRleHRhcmVhfHRpdGxlKSQvaSx5PXQ9PihpLC4uLnMpPT4oe18kbGl0VHlwZSQ6dCxzdHJpbmdzOmksdmFsdWVzOnN9KSx4PXkoMSksYj15KDIpLHc9eSgzKSxUPVN5bWJvbC5mb3IoXCJsaXQtbm9DaGFuZ2VcIiksRT1TeW1ib2wuZm9yKFwibGl0LW5vdGhpbmdcIiksQT1uZXcgV2Vha01hcCxDPXIuY3JlYXRlVHJlZVdhbGtlcihyLDEyOSk7ZnVuY3Rpb24gUCh0LGkpe2lmKCFhKHQpfHwhdC5oYXNPd25Qcm9wZXJ0eShcInJhd1wiKSl0aHJvdyBFcnJvcihcImludmFsaWQgdGVtcGxhdGUgc3RyaW5ncyBhcnJheVwiKTtyZXR1cm4gdm9pZCAwIT09cz9zLmNyZWF0ZUhUTUwoaSk6aX1jb25zdCBWPSh0LGkpPT57Y29uc3Qgcz10Lmxlbmd0aC0xLG89W107bGV0IHIsbD0yPT09aT9cIjxzdmc+XCI6Mz09PWk/XCI8bWF0aD5cIjpcIlwiLGM9Zjtmb3IobGV0IGk9MDtpPHM7aSsrKXtjb25zdCBzPXRbaV07bGV0IGEsdSxkPS0xLHk9MDtmb3IoO3k8cy5sZW5ndGgmJihjLmxhc3RJbmRleD15LHU9Yy5leGVjKHMpLG51bGwhPT11KTspeT1jLmxhc3RJbmRleCxjPT09Zj9cIiEtLVwiPT09dVsxXT9jPXY6dm9pZCAwIT09dVsxXT9jPV86dm9pZCAwIT09dVsyXT8oJC50ZXN0KHVbMl0pJiYocj1SZWdFeHAoXCI8L1wiK3VbMl0sXCJnXCIpKSxjPW0pOnZvaWQgMCE9PXVbM10mJihjPW0pOmM9PT1tP1wiPlwiPT09dVswXT8oYz1yPz9mLGQ9LTEpOnZvaWQgMD09PXVbMV0/ZD0tMjooZD1jLmxhc3RJbmRleC11WzJdLmxlbmd0aCxhPXVbMV0sYz12b2lkIDA9PT11WzNdP206J1wiJz09PXVbM10/ZzpwKTpjPT09Z3x8Yz09PXA/Yz1tOmM9PT12fHxjPT09Xz9jPWY6KGM9bSxyPXZvaWQgMCk7Y29uc3QgeD1jPT09bSYmdFtpKzFdLnN0YXJ0c1dpdGgoXCIvPlwiKT9cIiBcIjpcIlwiO2wrPWM9PT1mP3MrbjpkPj0wPyhvLnB1c2goYSkscy5zbGljZSgwLGQpK2Urcy5zbGljZShkKStoK3gpOnMraCsoLTI9PT1kP2k6eCl9cmV0dXJuW1AodCxsKyh0W3NdfHxcIjw/PlwiKSsoMj09PWk/XCI8L3N2Zz5cIjozPT09aT9cIjwvbWF0aD5cIjpcIlwiKSksb119O2NsYXNzIE57Y29uc3RydWN0b3Ioe3N0cmluZ3M6dCxfJGxpdFR5cGUkOnN9LG4pe2xldCByO3RoaXMucGFydHM9W107bGV0IGM9MCxhPTA7Y29uc3QgdT10Lmxlbmd0aC0xLGQ9dGhpcy5wYXJ0cyxbZix2XT1WKHQscyk7aWYodGhpcy5lbD1OLmNyZWF0ZUVsZW1lbnQoZixuKSxDLmN1cnJlbnROb2RlPXRoaXMuZWwuY29udGVudCwyPT09c3x8Mz09PXMpe2NvbnN0IHQ9dGhpcy5lbC5jb250ZW50LmZpcnN0Q2hpbGQ7dC5yZXBsYWNlV2l0aCguLi50LmNoaWxkTm9kZXMpfWZvcig7bnVsbCE9PShyPUMubmV4dE5vZGUoKSkmJmQubGVuZ3RoPHU7KXtpZigxPT09ci5ub2RlVHlwZSl7aWYoci5oYXNBdHRyaWJ1dGVzKCkpZm9yKGNvbnN0IHQgb2Ygci5nZXRBdHRyaWJ1dGVOYW1lcygpKWlmKHQuZW5kc1dpdGgoZSkpe2NvbnN0IGk9dlthKytdLHM9ci5nZXRBdHRyaWJ1dGUodCkuc3BsaXQoaCksZT0vKFsuP0BdKT8oLiopLy5leGVjKGkpO2QucHVzaCh7dHlwZToxLGluZGV4OmMsbmFtZTplWzJdLHN0cmluZ3M6cyxjdG9yOlwiLlwiPT09ZVsxXT9IOlwiP1wiPT09ZVsxXT9JOlwiQFwiPT09ZVsxXT9MOmt9KSxyLnJlbW92ZUF0dHJpYnV0ZSh0KX1lbHNlIHQuc3RhcnRzV2l0aChoKSYmKGQucHVzaCh7dHlwZTo2LGluZGV4OmN9KSxyLnJlbW92ZUF0dHJpYnV0ZSh0KSk7aWYoJC50ZXN0KHIudGFnTmFtZSkpe2NvbnN0IHQ9ci50ZXh0Q29udGVudC5zcGxpdChoKSxzPXQubGVuZ3RoLTE7aWYocz4wKXtyLnRleHRDb250ZW50PWk/aS5lbXB0eVNjcmlwdDpcIlwiO2ZvcihsZXQgaT0wO2k8cztpKyspci5hcHBlbmQodFtpXSxsKCkpLEMubmV4dE5vZGUoKSxkLnB1c2goe3R5cGU6MixpbmRleDorK2N9KTtyLmFwcGVuZCh0W3NdLGwoKSl9fX1lbHNlIGlmKDg9PT1yLm5vZGVUeXBlKWlmKHIuZGF0YT09PW8pZC5wdXNoKHt0eXBlOjIsaW5kZXg6Y30pO2Vsc2V7bGV0IHQ9LTE7Zm9yKDstMSE9PSh0PXIuZGF0YS5pbmRleE9mKGgsdCsxKSk7KWQucHVzaCh7dHlwZTo3LGluZGV4OmN9KSx0Kz1oLmxlbmd0aC0xfWMrK319c3RhdGljIGNyZWF0ZUVsZW1lbnQodCxpKXtjb25zdCBzPXIuY3JlYXRlRWxlbWVudChcInRlbXBsYXRlXCIpO3JldHVybiBzLmlubmVySFRNTD10LHN9fWZ1bmN0aW9uIFModCxpLHM9dCxlKXtpZihpPT09VClyZXR1cm4gaTtsZXQgaD12b2lkIDAhPT1lP3MuXyRDbz8uW2VdOnMuXyRDbDtjb25zdCBvPWMoaSk/dm9pZCAwOmkuXyRsaXREaXJlY3RpdmUkO3JldHVybiBoPy5jb25zdHJ1Y3RvciE9PW8mJihoPy5fJEFPPy4oITEpLHZvaWQgMD09PW8/aD12b2lkIDA6KGg9bmV3IG8odCksaC5fJEFUKHQscyxlKSksdm9pZCAwIT09ZT8ocy5fJENvPz89W10pW2VdPWg6cy5fJENsPWgpLHZvaWQgMCE9PWgmJihpPVModCxoLl8kQVModCxpLnZhbHVlcyksaCxlKSksaX1jbGFzcyBNe2NvbnN0cnVjdG9yKHQsaSl7dGhpcy5fJEFWPVtdLHRoaXMuXyRBTj12b2lkIDAsdGhpcy5fJEFEPXQsdGhpcy5fJEFNPWl9Z2V0IHBhcmVudE5vZGUoKXtyZXR1cm4gdGhpcy5fJEFNLnBhcmVudE5vZGV9Z2V0IF8kQVUoKXtyZXR1cm4gdGhpcy5fJEFNLl8kQVV9dSh0KXtjb25zdHtlbDp7Y29udGVudDppfSxwYXJ0czpzfT10aGlzLl8kQUQsZT0odD8uY3JlYXRpb25TY29wZT8/cikuaW1wb3J0Tm9kZShpLCEwKTtDLmN1cnJlbnROb2RlPWU7bGV0IGg9Qy5uZXh0Tm9kZSgpLG89MCxuPTAsbD1zWzBdO2Zvcig7dm9pZCAwIT09bDspe2lmKG89PT1sLmluZGV4KXtsZXQgaTsyPT09bC50eXBlP2k9bmV3IFIoaCxoLm5leHRTaWJsaW5nLHRoaXMsdCk6MT09PWwudHlwZT9pPW5ldyBsLmN0b3IoaCxsLm5hbWUsbC5zdHJpbmdzLHRoaXMsdCk6Nj09PWwudHlwZSYmKGk9bmV3IHooaCx0aGlzLHQpKSx0aGlzLl8kQVYucHVzaChpKSxsPXNbKytuXX1vIT09bD8uaW5kZXgmJihoPUMubmV4dE5vZGUoKSxvKyspfXJldHVybiBDLmN1cnJlbnROb2RlPXIsZX1wKHQpe2xldCBpPTA7Zm9yKGNvbnN0IHMgb2YgdGhpcy5fJEFWKXZvaWQgMCE9PXMmJih2b2lkIDAhPT1zLnN0cmluZ3M/KHMuXyRBSSh0LHMsaSksaSs9cy5zdHJpbmdzLmxlbmd0aC0yKTpzLl8kQUkodFtpXSkpLGkrK319Y2xhc3MgUntnZXQgXyRBVSgpe3JldHVybiB0aGlzLl8kQU0/Ll8kQVU/P3RoaXMuXyRDdn1jb25zdHJ1Y3Rvcih0LGkscyxlKXt0aGlzLnR5cGU9Mix0aGlzLl8kQUg9RSx0aGlzLl8kQU49dm9pZCAwLHRoaXMuXyRBQT10LHRoaXMuXyRBQj1pLHRoaXMuXyRBTT1zLHRoaXMub3B0aW9ucz1lLHRoaXMuXyRDdj1lPy5pc0Nvbm5lY3RlZD8/ITB9Z2V0IHBhcmVudE5vZGUoKXtsZXQgdD10aGlzLl8kQUEucGFyZW50Tm9kZTtjb25zdCBpPXRoaXMuXyRBTTtyZXR1cm4gdm9pZCAwIT09aSYmMTE9PT10Py5ub2RlVHlwZSYmKHQ9aS5wYXJlbnROb2RlKSx0fWdldCBzdGFydE5vZGUoKXtyZXR1cm4gdGhpcy5fJEFBfWdldCBlbmROb2RlKCl7cmV0dXJuIHRoaXMuXyRBQn1fJEFJKHQsaT10aGlzKXt0PVModGhpcyx0LGkpLGModCk/dD09PUV8fG51bGw9PXR8fFwiXCI9PT10Pyh0aGlzLl8kQUghPT1FJiZ0aGlzLl8kQVIoKSx0aGlzLl8kQUg9RSk6dCE9PXRoaXMuXyRBSCYmdCE9PVQmJnRoaXMuXyh0KTp2b2lkIDAhPT10Ll8kbGl0VHlwZSQ/dGhpcy4kKHQpOnZvaWQgMCE9PXQubm9kZVR5cGU/dGhpcy5UKHQpOnUodCk/dGhpcy5rKHQpOnRoaXMuXyh0KX1PKHQpe3JldHVybiB0aGlzLl8kQUEucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodCx0aGlzLl8kQUIpfVQodCl7dGhpcy5fJEFIIT09dCYmKHRoaXMuXyRBUigpLHRoaXMuXyRBSD10aGlzLk8odCkpfV8odCl7dGhpcy5fJEFIIT09RSYmYyh0aGlzLl8kQUgpP3RoaXMuXyRBQS5uZXh0U2libGluZy5kYXRhPXQ6dGhpcy5UKHIuY3JlYXRlVGV4dE5vZGUodCkpLHRoaXMuXyRBSD10fSQodCl7Y29uc3R7dmFsdWVzOmksXyRsaXRUeXBlJDpzfT10LGU9XCJudW1iZXJcIj09dHlwZW9mIHM/dGhpcy5fJEFDKHQpOih2b2lkIDA9PT1zLmVsJiYocy5lbD1OLmNyZWF0ZUVsZW1lbnQoUChzLmgscy5oWzBdKSx0aGlzLm9wdGlvbnMpKSxzKTtpZih0aGlzLl8kQUg/Ll8kQUQ9PT1lKXRoaXMuXyRBSC5wKGkpO2Vsc2V7Y29uc3QgdD1uZXcgTShlLHRoaXMpLHM9dC51KHRoaXMub3B0aW9ucyk7dC5wKGkpLHRoaXMuVChzKSx0aGlzLl8kQUg9dH19XyRBQyh0KXtsZXQgaT1BLmdldCh0LnN0cmluZ3MpO3JldHVybiB2b2lkIDA9PT1pJiZBLnNldCh0LnN0cmluZ3MsaT1uZXcgTih0KSksaX1rKHQpe2EodGhpcy5fJEFIKXx8KHRoaXMuXyRBSD1bXSx0aGlzLl8kQVIoKSk7Y29uc3QgaT10aGlzLl8kQUg7bGV0IHMsZT0wO2Zvcihjb25zdCBoIG9mIHQpZT09PWkubGVuZ3RoP2kucHVzaChzPW5ldyBSKHRoaXMuTyhsKCkpLHRoaXMuTyhsKCkpLHRoaXMsdGhpcy5vcHRpb25zKSk6cz1pW2VdLHMuXyRBSShoKSxlKys7ZTxpLmxlbmd0aCYmKHRoaXMuXyRBUihzJiZzLl8kQUIubmV4dFNpYmxpbmcsZSksaS5sZW5ndGg9ZSl9XyRBUih0PXRoaXMuXyRBQS5uZXh0U2libGluZyxpKXtmb3IodGhpcy5fJEFQPy4oITEsITAsaSk7dCYmdCE9PXRoaXMuXyRBQjspe2NvbnN0IGk9dC5uZXh0U2libGluZzt0LnJlbW92ZSgpLHQ9aX19c2V0Q29ubmVjdGVkKHQpe3ZvaWQgMD09PXRoaXMuXyRBTSYmKHRoaXMuXyRDdj10LHRoaXMuXyRBUD8uKHQpKX19Y2xhc3Mga3tnZXQgdGFnTmFtZSgpe3JldHVybiB0aGlzLmVsZW1lbnQudGFnTmFtZX1nZXQgXyRBVSgpe3JldHVybiB0aGlzLl8kQU0uXyRBVX1jb25zdHJ1Y3Rvcih0LGkscyxlLGgpe3RoaXMudHlwZT0xLHRoaXMuXyRBSD1FLHRoaXMuXyRBTj12b2lkIDAsdGhpcy5lbGVtZW50PXQsdGhpcy5uYW1lPWksdGhpcy5fJEFNPWUsdGhpcy5vcHRpb25zPWgscy5sZW5ndGg+Mnx8XCJcIiE9PXNbMF18fFwiXCIhPT1zWzFdPyh0aGlzLl8kQUg9QXJyYXkocy5sZW5ndGgtMSkuZmlsbChuZXcgU3RyaW5nKSx0aGlzLnN0cmluZ3M9cyk6dGhpcy5fJEFIPUV9XyRBSSh0LGk9dGhpcyxzLGUpe2NvbnN0IGg9dGhpcy5zdHJpbmdzO2xldCBvPSExO2lmKHZvaWQgMD09PWgpdD1TKHRoaXMsdCxpLDApLG89IWModCl8fHQhPT10aGlzLl8kQUgmJnQhPT1ULG8mJih0aGlzLl8kQUg9dCk7ZWxzZXtjb25zdCBlPXQ7bGV0IG4scjtmb3IodD1oWzBdLG49MDtuPGgubGVuZ3RoLTE7bisrKXI9Uyh0aGlzLGVbcytuXSxpLG4pLHI9PT1UJiYocj10aGlzLl8kQUhbbl0pLG98fD0hYyhyKXx8ciE9PXRoaXMuXyRBSFtuXSxyPT09RT90PUU6dCE9PUUmJih0Kz0ocj8/XCJcIikraFtuKzFdKSx0aGlzLl8kQUhbbl09cn1vJiYhZSYmdGhpcy5qKHQpfWoodCl7dD09PUU/dGhpcy5lbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSh0aGlzLm5hbWUpOnRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUodGhpcy5uYW1lLHQ/P1wiXCIpfX1jbGFzcyBIIGV4dGVuZHMga3tjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy50eXBlPTN9aih0KXt0aGlzLmVsZW1lbnRbdGhpcy5uYW1lXT10PT09RT92b2lkIDA6dH19Y2xhc3MgSSBleHRlbmRzIGt7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMudHlwZT00fWoodCl7dGhpcy5lbGVtZW50LnRvZ2dsZUF0dHJpYnV0ZSh0aGlzLm5hbWUsISF0JiZ0IT09RSl9fWNsYXNzIEwgZXh0ZW5kcyBre2NvbnN0cnVjdG9yKHQsaSxzLGUsaCl7c3VwZXIodCxpLHMsZSxoKSx0aGlzLnR5cGU9NX1fJEFJKHQsaT10aGlzKXtpZigodD1TKHRoaXMsdCxpLDApPz9FKT09PVQpcmV0dXJuO2NvbnN0IHM9dGhpcy5fJEFILGU9dD09PUUmJnMhPT1FfHx0LmNhcHR1cmUhPT1zLmNhcHR1cmV8fHQub25jZSE9PXMub25jZXx8dC5wYXNzaXZlIT09cy5wYXNzaXZlLGg9dCE9PUUmJihzPT09RXx8ZSk7ZSYmdGhpcy5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIodGhpcy5uYW1lLHRoaXMscyksaCYmdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIodGhpcy5uYW1lLHRoaXMsdCksdGhpcy5fJEFIPXR9aGFuZGxlRXZlbnQodCl7XCJmdW5jdGlvblwiPT10eXBlb2YgdGhpcy5fJEFIP3RoaXMuXyRBSC5jYWxsKHRoaXMub3B0aW9ucz8uaG9zdD8/dGhpcy5lbGVtZW50LHQpOnRoaXMuXyRBSC5oYW5kbGVFdmVudCh0KX19Y2xhc3Mgentjb25zdHJ1Y3Rvcih0LGkscyl7dGhpcy5lbGVtZW50PXQsdGhpcy50eXBlPTYsdGhpcy5fJEFOPXZvaWQgMCx0aGlzLl8kQU09aSx0aGlzLm9wdGlvbnM9c31nZXQgXyRBVSgpe3JldHVybiB0aGlzLl8kQU0uXyRBVX1fJEFJKHQpe1ModGhpcyx0KX19Y29uc3QgWj17TTplLFA6aCxBOm8sQzoxLEw6VixSOk0sRDp1LFY6UyxJOlIsSDprLE46SSxVOkwsQjpILEY6en0saj10LmxpdEh0bWxQb2x5ZmlsbFN1cHBvcnQ7aj8uKE4sUiksKHQubGl0SHRtbFZlcnNpb25zPz89W10pLnB1c2goXCIzLjIuMVwiKTtjb25zdCBCPSh0LGkscyk9Pntjb25zdCBlPXM/LnJlbmRlckJlZm9yZT8/aTtsZXQgaD1lLl8kbGl0UGFydCQ7aWYodm9pZCAwPT09aCl7Y29uc3QgdD1zPy5yZW5kZXJCZWZvcmU/P251bGw7ZS5fJGxpdFBhcnQkPWg9bmV3IFIoaS5pbnNlcnRCZWZvcmUobCgpLHQpLHQsdm9pZCAwLHM/P3t9KX1yZXR1cm4gaC5fJEFJKHQpLGh9O2V4cG9ydHtaIGFzIF8kTEgseCBhcyBodG1sLHcgYXMgbWF0aG1sLFQgYXMgbm9DaGFuZ2UsRSBhcyBub3RoaW5nLEIgYXMgcmVuZGVyLGIgYXMgc3ZnfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWxpdC1odG1sLmpzLm1hcFxuIiwiaW1wb3J0e1JlYWN0aXZlRWxlbWVudCBhcyB0fWZyb21cIkBsaXQvcmVhY3RpdmUtZWxlbWVudFwiO2V4cG9ydCpmcm9tXCJAbGl0L3JlYWN0aXZlLWVsZW1lbnRcIjtpbXBvcnR7cmVuZGVyIGFzIGUsbm9DaGFuZ2UgYXMgc31mcm9tXCJsaXQtaHRtbFwiO2V4cG9ydCpmcm9tXCJsaXQtaHRtbFwiO1xuLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMTcgR29vZ2xlIExMQ1xuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZVxuICovY2xhc3MgciBleHRlbmRzIHR7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMucmVuZGVyT3B0aW9ucz17aG9zdDp0aGlzfSx0aGlzLl8kRG89dm9pZCAwfWNyZWF0ZVJlbmRlclJvb3QoKXtjb25zdCB0PXN1cGVyLmNyZWF0ZVJlbmRlclJvb3QoKTtyZXR1cm4gdGhpcy5yZW5kZXJPcHRpb25zLnJlbmRlckJlZm9yZT8/PXQuZmlyc3RDaGlsZCx0fXVwZGF0ZSh0KXtjb25zdCBzPXRoaXMucmVuZGVyKCk7dGhpcy5oYXNVcGRhdGVkfHwodGhpcy5yZW5kZXJPcHRpb25zLmlzQ29ubmVjdGVkPXRoaXMuaXNDb25uZWN0ZWQpLHN1cGVyLnVwZGF0ZSh0KSx0aGlzLl8kRG89ZShzLHRoaXMucmVuZGVyUm9vdCx0aGlzLnJlbmRlck9wdGlvbnMpfWNvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLl8kRG8/LnNldENvbm5lY3RlZCghMCl9ZGlzY29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuXyREbz8uc2V0Q29ubmVjdGVkKCExKX1yZW5kZXIoKXtyZXR1cm4gc319ci5fJGxpdEVsZW1lbnQkPSEwLHJbXCJmaW5hbGl6ZWRcIl09ITAsZ2xvYmFsVGhpcy5saXRFbGVtZW50SHlkcmF0ZVN1cHBvcnQ/Lih7TGl0RWxlbWVudDpyfSk7Y29uc3QgaT1nbG9iYWxUaGlzLmxpdEVsZW1lbnRQb2x5ZmlsbFN1cHBvcnQ7aT8uKHtMaXRFbGVtZW50OnJ9KTtjb25zdCBvPXtfJEFLOih0LGUscyk9Pnt0Ll8kQUsoZSxzKX0sXyRBTDp0PT50Ll8kQUx9OyhnbG9iYWxUaGlzLmxpdEVsZW1lbnRWZXJzaW9ucz8/PVtdKS5wdXNoKFwiNC4xLjFcIik7ZXhwb3J0e3IgYXMgTGl0RWxlbWVudCxvIGFzIF8kTEV9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bGl0LWVsZW1lbnQuanMubWFwXG4iLCIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAxNyBHb29nbGUgTExDXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlXG4gKi9cbmNvbnN0IHQ9dD0+KGUsbyk9Pnt2b2lkIDAhPT1vP28uYWRkSW5pdGlhbGl6ZXIoKCgpPT57Y3VzdG9tRWxlbWVudHMuZGVmaW5lKHQsZSl9KSk6Y3VzdG9tRWxlbWVudHMuZGVmaW5lKHQsZSl9O2V4cG9ydHt0IGFzIGN1c3RvbUVsZW1lbnR9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y3VzdG9tLWVsZW1lbnQuanMubWFwXG4iLCJpbXBvcnR7ZGVmYXVsdENvbnZlcnRlciBhcyB0LG5vdEVxdWFsIGFzIGV9ZnJvbVwiLi4vcmVhY3RpdmUtZWxlbWVudC5qc1wiO1xuLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMTcgR29vZ2xlIExMQ1xuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZVxuICovY29uc3Qgbz17YXR0cmlidXRlOiEwLHR5cGU6U3RyaW5nLGNvbnZlcnRlcjp0LHJlZmxlY3Q6ITEsaGFzQ2hhbmdlZDplfSxyPSh0PW8sZSxyKT0+e2NvbnN0e2tpbmQ6bixtZXRhZGF0YTppfT1yO2xldCBzPWdsb2JhbFRoaXMubGl0UHJvcGVydHlNZXRhZGF0YS5nZXQoaSk7aWYodm9pZCAwPT09cyYmZ2xvYmFsVGhpcy5saXRQcm9wZXJ0eU1ldGFkYXRhLnNldChpLHM9bmV3IE1hcCkscy5zZXQoci5uYW1lLHQpLFwiYWNjZXNzb3JcIj09PW4pe2NvbnN0e25hbWU6b309cjtyZXR1cm57c2V0KHIpe2NvbnN0IG49ZS5nZXQuY2FsbCh0aGlzKTtlLnNldC5jYWxsKHRoaXMsciksdGhpcy5yZXF1ZXN0VXBkYXRlKG8sbix0KX0saW5pdChlKXtyZXR1cm4gdm9pZCAwIT09ZSYmdGhpcy5QKG8sdm9pZCAwLHQpLGV9fX1pZihcInNldHRlclwiPT09bil7Y29uc3R7bmFtZTpvfT1yO3JldHVybiBmdW5jdGlvbihyKXtjb25zdCBuPXRoaXNbb107ZS5jYWxsKHRoaXMsciksdGhpcy5yZXF1ZXN0VXBkYXRlKG8sbix0KX19dGhyb3cgRXJyb3IoXCJVbnN1cHBvcnRlZCBkZWNvcmF0b3IgbG9jYXRpb246IFwiK24pfTtmdW5jdGlvbiBuKHQpe3JldHVybihlLG8pPT5cIm9iamVjdFwiPT10eXBlb2Ygbz9yKHQsZSxvKTooKHQsZSxvKT0+e2NvbnN0IHI9ZS5oYXNPd25Qcm9wZXJ0eShvKTtyZXR1cm4gZS5jb25zdHJ1Y3Rvci5jcmVhdGVQcm9wZXJ0eShvLHI/ey4uLnQsd3JhcHBlZDohMH06dCkscj9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsbyk6dm9pZCAwfSkodCxlLG8pfWV4cG9ydHtuIGFzIHByb3BlcnR5LHIgYXMgc3RhbmRhcmRQcm9wZXJ0eX07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1wcm9wZXJ0eS5qcy5tYXBcbiIsImltcG9ydHtwcm9wZXJ0eSBhcyB0fWZyb21cIi4vcHJvcGVydHkuanNcIjtcbi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDE3IEdvb2dsZSBMTENcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2VcbiAqL2Z1bmN0aW9uIHIocil7cmV0dXJuIHQoey4uLnIsc3RhdGU6ITAsYXR0cmlidXRlOiExfSl9ZXhwb3J0e3IgYXMgc3RhdGV9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3RhdGUuanMubWFwXG4iLCIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAxNyBHb29nbGUgTExDXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlXG4gKi9cbmNvbnN0IHQ9e0FUVFJJQlVURToxLENISUxEOjIsUFJPUEVSVFk6MyxCT09MRUFOX0FUVFJJQlVURTo0LEVWRU5UOjUsRUxFTUVOVDo2fSxlPXQ9PiguLi5lKT0+KHtfJGxpdERpcmVjdGl2ZSQ6dCx2YWx1ZXM6ZX0pO2NsYXNzIGl7Y29uc3RydWN0b3IodCl7fWdldCBfJEFVKCl7cmV0dXJuIHRoaXMuXyRBTS5fJEFVfV8kQVQodCxlLGkpe3RoaXMuXyRDdD10LHRoaXMuXyRBTT1lLHRoaXMuXyRDaT1pfV8kQVModCxlKXtyZXR1cm4gdGhpcy51cGRhdGUodCxlKX11cGRhdGUodCxlKXtyZXR1cm4gdGhpcy5yZW5kZXIoLi4uZSl9fWV4cG9ydHtpIGFzIERpcmVjdGl2ZSx0IGFzIFBhcnRUeXBlLGUgYXMgZGlyZWN0aXZlfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRpcmVjdGl2ZS5qcy5tYXBcbiIsImltcG9ydHtub3RoaW5nIGFzIHQsbm9DaGFuZ2UgYXMgaX1mcm9tXCIuLi9saXQtaHRtbC5qc1wiO2ltcG9ydHtEaXJlY3RpdmUgYXMgcixQYXJ0VHlwZSBhcyBzLGRpcmVjdGl2ZSBhcyBufWZyb21cIi4uL2RpcmVjdGl2ZS5qc1wiO1xuLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMTcgR29vZ2xlIExMQ1xuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZVxuICovY2xhc3MgZSBleHRlbmRzIHJ7Y29uc3RydWN0b3IoaSl7aWYoc3VwZXIoaSksdGhpcy5pdD10LGkudHlwZSE9PXMuQ0hJTEQpdGhyb3cgRXJyb3IodGhpcy5jb25zdHJ1Y3Rvci5kaXJlY3RpdmVOYW1lK1wiKCkgY2FuIG9ubHkgYmUgdXNlZCBpbiBjaGlsZCBiaW5kaW5nc1wiKX1yZW5kZXIocil7aWYocj09PXR8fG51bGw9PXIpcmV0dXJuIHRoaXMuX3Q9dm9pZCAwLHRoaXMuaXQ9cjtpZihyPT09aSlyZXR1cm4gcjtpZihcInN0cmluZ1wiIT10eXBlb2Ygcil0aHJvdyBFcnJvcih0aGlzLmNvbnN0cnVjdG9yLmRpcmVjdGl2ZU5hbWUrXCIoKSBjYWxsZWQgd2l0aCBhIG5vbi1zdHJpbmcgdmFsdWVcIik7aWYocj09PXRoaXMuaXQpcmV0dXJuIHRoaXMuX3Q7dGhpcy5pdD1yO2NvbnN0IHM9W3JdO3JldHVybiBzLnJhdz1zLHRoaXMuX3Q9e18kbGl0VHlwZSQ6dGhpcy5jb25zdHJ1Y3Rvci5yZXN1bHRUeXBlLHN0cmluZ3M6cyx2YWx1ZXM6W119fX1lLmRpcmVjdGl2ZU5hbWU9XCJ1bnNhZmVIVE1MXCIsZS5yZXN1bHRUeXBlPTE7Y29uc3Qgbz1uKGUpO2V4cG9ydHtlIGFzIFVuc2FmZUhUTUxEaXJlY3RpdmUsbyBhcyB1bnNhZmVIVE1MfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXVuc2FmZS1odG1sLmpzLm1hcFxuIiwiZXhwb3J0IGludGVyZmFjZSBJbmNpZGVudCB7XG4gIGltYWdlOiBzdHJpbmc7XG4gIGF1ZGlvOiBzdHJpbmc7XG4gIGlkOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHRleHQ6IHN0cmluZztcbiAgY2F0ZWdvcnk6IHN0cmluZztcbiAgY291bnRyeTogc3RyaW5nO1xuICBzb3VyY2U6IHN0cmluZztcbiAgeWVhcnBsdXNtb250aDogc3RyaW5nO1xufVxuXG5leHBvcnQgZW51bSBDYXRlZ29yeSB7XG4gIHR2U2hvd09yU2VyaWVzID0gXCJ0dlNob3dPclNlcmllc1wiLFxuICBzaG93Yml6eiA9IFwic2hvd2JpenpcIixcbiAgdHJlbmQgPSBcInRyZW5kXCIsXG4gIHRlY2ggPSBcInRlY2hcIixcbiAgZmFzaGlvblRyZW5kID0gXCJmYXNoaW9uVHJlbmRcIixcbiAgY2luZW1hTW92aWUgPSBcImNpbmVtYU1vdmllXCIsXG4gIHN0cmVldFNjZW5lID0gXCJzdHJlZXRTY2VuZVwiLFxuICBuZXdzUHJlc2VudGVyID0gXCJuZXdzUHJlc2VudGVyXCIsXG4gIHJhZGlvU29uZyA9IFwicmFkaW9Tb25nXCIsXG4gIG5ld3NJdGVtID0gXCJuZXdzSXRlbVwiLFxuICBpY29uaWNBbGJ1bSA9IFwiaWNvbmljQWxidW1cIixcbiAgcmFkaW9TaG93ID0gXCJyYWRpb1Nob3dcIixcbiAgYmVzdFNlbGxlckJvb2sgPSBcImJlc3RTZWxsZXJCb29rXCIsXG4gIGFkdmVydGlzZW1lbnQgPSBcImFkdmVydGlzZW1lbnRcIixcbiAgY2FyID0gXCJjYXJcIixcbiAgc3BvcnRzID0gXCJzcG9ydHNcIixcbiAgdW5rbm93biA9IFwidW5rbm93blwiLFxufVxuXG5leHBvcnQgY29uc3QgQ2F0ZWdvcmllcyA9IFtcbiAgQ2F0ZWdvcnkuYWR2ZXJ0aXNlbWVudCxcbiAgQ2F0ZWdvcnkuYmVzdFNlbGxlckJvb2ssXG4gIENhdGVnb3J5LmNhcixcbiAgQ2F0ZWdvcnkuY2luZW1hTW92aWUsXG4gIENhdGVnb3J5LmZhc2hpb25UcmVuZCxcbiAgQ2F0ZWdvcnkuaWNvbmljQWxidW0sXG4gIENhdGVnb3J5Lm5ld3NJdGVtLFxuICBDYXRlZ29yeS5uZXdzUHJlc2VudGVyLFxuICBDYXRlZ29yeS5yYWRpb1Nob3csXG4gIENhdGVnb3J5LnJhZGlvU29uZyxcbiAgQ2F0ZWdvcnkuc2hvd2JpenosXG4gIENhdGVnb3J5LnNwb3J0cyxcbl07XG4iLCJleHBvcnQgY2xhc3MgVXRpbCB7XG4gIHB1YmxpYyBzdGF0aWMgYXN5bmMgYXN5bmNGb3JlYWNoKFxuICAgIGFycmF5OiBBcnJheTxhbnk+LCAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBjYWxsYmFjazogYW55LCAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgKSB7XG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGFycmF5Lmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgYXdhaXQgY2FsbGJhY2soYXJyYXlbaW5kZXhdLCBpbmRleCwgYXJyYXkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgcmVtb3ZlQWxsQ2hpbGRyZW4oXG4gICAgcGFyZW50RWxlbWVudDogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQsXG4gICk6IHZvaWQge1xuICAgIGlmICghcGFyZW50RWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgY2hpbGRUb0RlbGV0ZSA9IHBhcmVudEVsZW1lbnQubGFzdENoaWxkO1xuICAgIHdoaWxlIChjaGlsZFRvRGVsZXRlKSB7XG4gICAgICBwYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKGNoaWxkVG9EZWxldGUpO1xuICAgICAgY2hpbGRUb0RlbGV0ZSA9IHBhcmVudEVsZW1lbnQubGFzdENoaWxkO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTaHVmZmxlIGFuIGFycmF5XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHNodWZmbGVBcnJheShhcnJheTogQXJyYXk8YW55Pik6IEFycmF5PGFueT4ge1xuICAgIHJldHVybiBhcnJheS5zb3J0KCgpID0+IE1hdGgucmFuZG9tKCkgLSAwLjUpO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUhhc2gge1xuICBbSWRlbnRpZmllcjogc3RyaW5nIHwgbnVtYmVyXTpcbiAgICB8IGJvb2xlYW5cbiAgICB8IG51bWJlclxuICAgIHwgc3RyaW5nXG4gICAgfCBzdHJpbmdbXVxuICAgIHwgdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElTdHJpbmdBcnJheUhhc2gge1xuICBbSWRlbnRpZmllcjogc3RyaW5nIHwgbnVtYmVyXTogc3RyaW5nW107XG59XG4iLCJpbXBvcnQgeyBVdGlsLCBJSGFzaCB9IGZyb20gXCIuL1V0aWxcIjtcbmltcG9ydCB7IEluY2lkZW50IH0gZnJvbSBcIi4vSW5jaWRlbnRcIjtcblxuZXhwb3J0IGNsYXNzIEFwaVNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRlZWVBcGlVcmw6IHN0cmluZykgeyB9XG5cbiAgcHVibGljIGFzeW5jIGZldGNoT25lSW5jaWRlbnQoXG4gICAgcG92OiBzdHJpbmcsXG4gICAgY2F0ZWdvcnk6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICBlbW90aW9uOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgaW1wYWN0OiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgZGF0ZTogc3RyaW5nLFxuICAgIGZyb206IHN0cmluZyxcbiAgICB0bzogc3RyaW5nLFxuICAgIG1heExhc3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIHZhcmlhbnQ6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgKTogUHJvbWlzZTx7IGluY2lkZW50OiBJbmNpZGVudCB8IHVuZGVmaW5lZDsgc291cmNlczogc3RyaW5nW10gfT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZShhc3luYyAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zb2xlLmRlYnVnKFwiZmV0Y2hIaXN0b3J5XCIpO1xuXG4gICAgICAvLyBTZXQgZGVmYXVsdHMgdG8gZXhwbGljaXQgZW1wdHkgc3RyaW5nLlxuICAgICAgY29uc3QgcG92cyA9IHBvdiB8fCBcIlwiO1xuICAgICAgY29uc3QgY2F0ZWdvcmllcyA9IGNhdGVnb3J5IHx8IFwiXCI7XG4gICAgICBjb25zdCBlbW90aW9ucyA9IGVtb3Rpb24gfHwgXCJcIjtcbiAgICAgIGNvbnN0IGltcGFjdHMgPSBpbXBhY3QgfHwgXCJcIjtcbiAgICAgIGNvbnN0IGRhdGVTdHJpbmcgPSBkYXRlIHx8IFwiXCI7XG4gICAgICBjb25zdCBmcm9tU3RyaW5nID0gZnJvbSB8fCBcIlwiO1xuICAgICAgY29uc3QgdG9TdHJpbmcgPSB0byB8fCBcIlwiO1xuICAgICAgY29uc3QgbGltaXRTdHJpbmcgPSBcIjFcIjtcbiAgICAgIGNvbnN0IG1heExhc3RlZFN0cmluZyA9IG1heExhc3RlZCB8fCBcIlwiO1xuICAgICAgY29uc3QgdmFyaWFudHMgPSB2YXJpYW50IHx8IFwiXCI7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHVybHM6IEFycmF5PFVSTD4gPSBbXTtcblxuICAgICAgICBjb25zdCB1cmxTZWFyY2ggPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHtcbiAgICAgICAgICBwb3Y6IHBvdnMsXG4gICAgICAgICAgZW1vdGlvbjogZW1vdGlvbnMsXG4gICAgICAgICAgaW1wYWN0OiBpbXBhY3RzLFxuICAgICAgICAgIGxpbWl0OiBsaW1pdFN0cmluZyxcbiAgICAgICAgICB2YXJpYW50OiB2YXJpYW50c1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBBbHdheXMgcmFuZG9taXplIGluY2lkZW50cyBvbiB0aGUgYmFja2VuZC5cbiAgICAgICAgdXJsU2VhcmNoLmFwcGVuZChcInNlZWRcIiwgXCJcIiArIG5ldyBEYXRlKCkuZ2V0VGltZSgpKTtcblxuICAgICAgICBpZiAobWF4TGFzdGVkKSB7XG4gICAgICAgICAgdXJsU2VhcmNoLmFwcGVuZChcIm1heGxhc3RlZFwiLCBcIlwiICsgbWF4TGFzdGVkU3RyaW5nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGFkZCBjYXRlZ29yeSB0byBzZWFyY2hcbiAgICAgICAgdXJsU2VhcmNoLnNldChcImNhdGVnb3J5XCIsIGNhdGVnb3JpZXMpO1xuXG4gICAgICAgIGlmIChkYXRlU3RyaW5nKSB7XG4gICAgICAgICAgLy8gc2V0dXAgdXJsXG4gICAgICAgICAgY29uc3QgdXJsID0gbmV3IFVSTChgJHt0aGlzLnRlZWVBcGlVcmx9LyR7ZGF0ZX1gKTtcbiAgICAgICAgICB1cmwuc2VhcmNoID0gdXJsU2VhcmNoLnRvU3RyaW5nKCk7XG5cbiAgICAgICAgICB1cmxzLnB1c2godXJsKTtcbiAgICAgICAgfSBlbHNlIGlmIChmcm9tU3RyaW5nICYmIHRvU3RyaW5nKSB7XG4gICAgICAgICAgY29uc3QgZnJvbSA9IG5ldyBEYXRlKGZyb21TdHJpbmcpLnRvSVNPU3RyaW5nKCkuc3Vic3RyaW5nKDAsIDEwKTtcbiAgICAgICAgICBjb25zdCB0byA9IG5ldyBEYXRlKHRvU3RyaW5nKS50b0lTT1N0cmluZygpLnN1YnN0cmluZygwLCAxMCk7XG5cbiAgICAgICAgICAvLyBhZGQgZnJvbSBhbmQgdG8gZGF0ZSB0byBzZWFyY2hcbiAgICAgICAgICB1cmxTZWFyY2guc2V0KFwiZnJvbVwiLCBmcm9tKTtcbiAgICAgICAgICB1cmxTZWFyY2guc2V0KFwidG9cIiwgdG8pO1xuXG4gICAgICAgICAgLy8gc2V0dXAgdXJsXG4gICAgICAgICAgY29uc3QgdXJsID0gbmV3IFVSTCh0aGlzLnRlZWVBcGlVcmwpO1xuICAgICAgICAgIHVybC5zZWFyY2ggPSB1cmxTZWFyY2gudG9TdHJpbmcoKTtcblxuICAgICAgICAgIHVybHMucHVzaCh1cmwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRocm93IFwiTm8gY29ycmVjdCBkYXRlIG9yIHBlcmlvZCBzcGVjaWZpZWQuXCI7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBzdGFydCBmZXRjaGluZyBhbGwgaW5jaWRlbnRzXG4gICAgICAgIGxldCBpbmNpZGVudHM6IEFycmF5PEluY2lkZW50PiA9IFtdO1xuICAgICAgICBhd2FpdCBVdGlsLmFzeW5jRm9yZWFjaCh1cmxzLCBhc3luYyAodXJsOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHVybCk7XG4gICAgICAgICAgY29uc3QganNvbiA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKTtcbiAgICAgICAgICBpbmNpZGVudHMgPSBpbmNpZGVudHMuY29uY2F0KGpzb24ucmVzdWx0cyk7XG4gICAgICAgIH0pO1xuICAgICAgICAvLyBDaG9vc2UgdGhlIGZpcnN0IGluY2lkZW50IGluIHRoZSBsaXN0IGFzIHRoZSBvbmUgdG8gcmV0dXJuLlxuICAgICAgICBjb25zdCBmaXJzdEluY2lkZW50SW5MaXN0ID0gaW5jaWRlbnRzLmxlbmd0aCA/IGluY2lkZW50c1swXSA6IHVuZGVmaW5lZDtcblxuICAgICAgICAvLyBzZWFyY2ggZm9yIHNvdXJjZXMgb24gaW5jaWRlbnRzXG4gICAgICAgIGNvbnN0IHNvdXJjZXNGb3VuZEluSW5jaWRlbnRzOiBJSGFzaCA9IHt9O1xuICAgICAgICBpbmNpZGVudHMuZm9yRWFjaCgoaW5jaWRlbnQ6IEluY2lkZW50KSA9PiB7XG4gICAgICAgICAgaWYgKGluY2lkZW50LnNvdXJjZSkge1xuICAgICAgICAgICAgc291cmNlc0ZvdW5kSW5JbmNpZGVudHNbaW5jaWRlbnQuc291cmNlXSA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zb2xlLmluZm8oW2luY2lkZW50cywgc291cmNlc0ZvdW5kSW5JbmNpZGVudHNdKTtcblxuICAgICAgICByZXNvbHZlKHtcbiAgICAgICAgICBpbmNpZGVudDogZmlyc3RJbmNpZGVudEluTGlzdCxcbiAgICAgICAgICBzb3VyY2VzOiBPYmplY3Qua2V5cyhzb3VyY2VzRm91bmRJbkluY2lkZW50cyksXG4gICAgICAgIH0pO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICByZWplY3QoZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvLyBwb3N0IGZlZWRiYWNrIGFib3V0IHRoZSBhdHRyaWJ1dGUgb2YgYW4gaW5jaWRlbnQuXG4gIHB1YmxpYyBhc3luYyBwb3N0QXR0cmlidXRlUXVhbGl0eUZlZWRiYWNrKFxuICAgIGluY2lkZW50aWQ6IHN0cmluZyxcbiAgICBhdHRyaWJ1dGU6IHN0cmluZyxcbiAgICB2YWx1ZTogc3RyaW5nLFxuICAgIHJlbWFyazogc3RyaW5nLFxuICApIHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnRlZWVBcGlVcmx9L2ZlZWRiYWNrLyR7aW5jaWRlbnRpZH0vYXR0cmlidXRlYDtcbiAgICBhd2FpdCBmZXRjaCh1cmwsIHtcbiAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICBoZWFkZXJzOiB7XG4gICAgICAgIEFjY2VwdDogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgfSxcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgYXR0cmlidXRlLFxuICAgICAgICB2YWx1ZSxcbiAgICAgICAgcmVtYXJrLFxuICAgICAgfSksXG4gICAgfSk7XG4gIH1cblxuICAvLyBwb3N0IGZlZWRiYWNrIGFib3V0IGFuIGluY2lkZW50LlxuICBwdWJsaWMgYXN5bmMgcG9zdEluY2lkZW50UXVhbGl0eUZlZWRiYWNrKGluY2lkZW50aWQ6IHN0cmluZywgcmVtYXJrOiBzdHJpbmcpIHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnRlZWVBcGlVcmx9L2ZlZWRiYWNrLyR7aW5jaWRlbnRpZH0vcmVtYXJrYDtcbiAgICBhd2FpdCBmZXRjaCh1cmwsIHtcbiAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICBoZWFkZXJzOiB7XG4gICAgICAgIEFjY2VwdDogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgfSxcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgcmVtYXJrLFxuICAgICAgfSksXG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGVudW0gQ29udGVudEZlZWRiYWNrIHtcbiAgaW5jb3JyZWN0ID0gXCJpbmNvcnJlY3RcIiwgLy8gVGhpcyBjb250ZW50IGlzIG5vdCBjb3JyZWN0XG4gIHRvb1Nob3J0ID0gXCJ0b29TaG9ydFwiLCAvLyBUaGlzIGNvbnRlbnQgaXMgdG9vIHNob3J0XG4gIHRvb0xvbmcgPSBcInRvb0xvbmdcIiwgLy8gVGhpcyBjb250ZW50IGlzIHRvbyBsb25nXG4gIHRvbmVPZlZvaWNlID0gXCJ0b25lT2ZWb2ljZVwiLCAvLyBUaGUgdG9uZSBvZiB2b2ljZSBvZiB0aGlzIGNvbnRlbnQgc2hvdWxkIGJlIGltcHJvdmVkXG4gIG1pc3NpbmcgPSBcIm1pc3NpbmdcIiwgLy8gVGhpcyBjb250ZW50IHNob3VsZCBiZSBjcmVhdGVkXG4gIG5vTWF0Y2ggPSBcIm5vTWF0Y2hcIiwgLy8gVGhpcyBjb250ZW50IGRvZXMgbm90IG1hdGNoIHdpdGggaXRzIHNpYmxpbmcgZGF0YVxuICBiYWREYXRhID0gXCJiYWREYXRhXCIsIC8vIFRoaXMgY29udGVudCBjb250YWlucyBiYWQgZGF0YVxuICB1bmtub3duID0gXCJ1bmtub3duXCIsIC8vIFdlIGRpZCBub3QgZXhwZWN0IHRoaXMgaW5wdXQuLi5cbn1cbiIsImVudW0gR2FtZVN0YXRlIHtcbiAgSU5JVCA9IFwiaW5pdFwiLFxuICBTUExBU0ggPSBcInNwbGFzaFwiLFxuICBJTlRSTyA9IFwiaW50cm9cIixcbiAgUExBWSA9IFwicGxheVwiLFxuICBFTkQgPSBcImVuZFwiLFxufVxuXG5leHBvcnQgeyBHYW1lU3RhdGUgfTtcbiIsImltcG9ydCB7IENhdGVnb3J5IH0gZnJvbSBcIi4uL0luY2lkZW50XCI7XG5pbXBvcnQgeyBJU3RyaW5nQXJyYXlIYXNoIH0gZnJvbSBcIi4uL1V0aWxcIjtcbmltcG9ydCB7IGkxOG4gfSBmcm9tIFwiLi9pMThuXCI7XG5cbmV4cG9ydCBjbGFzcyBOTCBpbXBsZW1lbnRzIGkxOG4ge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgSGludFRlbXBsYXRlczogSVN0cmluZ0FycmF5SGFzaCA9IHt9KSB7XG4gICAgSGludFRlbXBsYXRlc1tDYXRlZ29yeS5uZXdzUHJlc2VudGVyXSA9IFtcbiAgICAgIFwiX19USVRMRV9fIHByZXNlbnRlZXJkZSBoZXQgYWNodCB1dXIgam91cm5hYWwuXCIsXG4gICAgXTtcbiAgICBIaW50VGVtcGxhdGVzW0NhdGVnb3J5LnRlY2hdID0gW1xuICAgICAgXCJUZWNobmlldXdzOiBfX1RJVExFX18uXCIsXG4gICAgICBcIlRlY2huZXV0ZW4gbGllcGVuIHdhcm0gdm9vciAnX19USVRMRV9fJy5cIixcbiAgICBdO1xuICAgIEhpbnRUZW1wbGF0ZXNbQ2F0ZWdvcnkuc3BvcnRzXSA9IFtcbiAgICAgIFwiU3BvcnRuaWV1d3M6IF9fVElUTEVfXy5cIixcbiAgICAgIFwiU3BvcnRmYW5hdGVuIHNwcmFrZW4gb3ZlciAnX19USVRMRV9fJy5cIixcbiAgICBdO1xuICAgIEhpbnRUZW1wbGF0ZXNbQ2F0ZWdvcnkubmV3c0l0ZW1dID0gW1xuICAgICAgXCJJbiBkZSBrcmFudCBzdG9uZCBkaXQgamFhciBvb2sgJ19fVElUTEVfXycuXCIsXG4gICAgICBcIidfX1RJVExFX18nIHdhcyBkaXQgamFhciBvb2sgaW4gaGV0IG5pZXV3cyB0ZSBsZXplbi5cIixcbiAgICBdO1xuICAgIEhpbnRUZW1wbGF0ZXNbQ2F0ZWdvcnkuY2luZW1hTW92aWVdID0gW1xuICAgICAgXCJEZSBmaWxtICdfX1RJVExFX18nIGRyYWFpZGUgaW4gZGUgYmlvc2Nvb3AuXCIsXG4gICAgICBcIkRlIGZpbG0gJ19fVElUTEVfXycgd2FzIGVlbiBrYXNrcmFrZXIuXCIsXG4gICAgICBcIkluIGRlIGJpb3Njb29wIHdhcyBkZSBmaWxtICdfX1RJVExFX18nIHRlIHppZW4uXCIsXG4gICAgICBcIidfX1RJVExFX18nIHdhcyBvcCBoZXQgd2l0dGUgZG9layB0ZSB6aWVuLlwiLFxuICAgIF07XG4gICAgSGludFRlbXBsYXRlc1tDYXRlZ29yeS5yYWRpb1NvbmddID0gW1xuICAgICAgXCJEZSBoaXQgJ19fVFJBQ0tfXycgdmFuIF9fQVJUSVNUX18gd2FzIGVlbiBncmFhZyBnZWRyYWFpZGUgdHVuZSBvcCBkZSByYWRpby5cIixcbiAgICAgIFwiQWFuIGhldCBsaWVkamUgJ19fVFJBQ0tfXycgdmFuIF9fQVJUSVNUX18gd2FzIG5pZXQgdGUgb250a29tZW4gb3AgZGUgcmFkaW8uXCIsXG4gICAgICBcIl9fQVJUSVNUX18nICdfX1RSQUNLX18nIGtsb25rIHJlZ2VsbWF0aWcgb3AgZGUgcmFkaW8uXCIsXG4gICAgICBcIkplIGtvbiAnX19UUkFDS19fJyB2YW4gX19BUlRJU1RfXyBuaWV0IG1pc3NlbiBvcCBkZSByYWRpbywgaGV0IHdlcmQgem8gdmFhayBnZWRyYWFpZC5cIixcbiAgICAgIFwiJ19fVFJBQ0tfXycgdmFuIF9fQVJUSVNUX18gd2FzIGVlbiB2YXN0IG51bW1lciBvcCBkZSByYWRpby5cIixcbiAgICAgIFwiSW4gZGllIHRpamQgd2FzICdfX1RSQUNLX18nIHZhbiBfX0FSVElTVF9fIGVlbiB2ZWVsZ2Vob29yZGUgcmFkaW9oaXQuXCIsXG4gICAgICBcIidfX1RSQUNLX18nIHZhbiBfX0FSVElTVF9fIHdhcyBlZW4gcmFkaW8tZmF2b3JpZXQgaW4gZGl0IGphYXIuXCIsXG4gICAgICBcIkRlIHJhZGlvc3RhdGlvbnMgem9uZGVuICdfX1RSQUNLX18nIHZhbiBfX0FSVElTVF9fIHVpdC5cIixcbiAgICAgIFwiSGV0IG51bW1lciAnX19UUkFDS19fJyB2YW4gX19BUlRJU1RfXyBnZW5vb3QgdmVlbCBhaXJwbGF5IG9wIGRlIHJhZGlvLlwiLFxuICAgICAgXCInX19UUkFDS19fJyB2YW4gX19BUlRJU1RfXyB3YXMgZWVuIHZlZWxnZWhvb3JkIG51bW1lciBvcCBkZSByYWRpb3N0YXRpb25zLlwiLFxuICAgICAgXCInX19UUkFDS19fJyB2YW4gX19BUlRJU1RfXyB3ZXJkIGVlbiByYWRpb2tsYXNzaWVrZXIuXCIsXG4gICAgICBcIidfX1RSQUNLX18nIHZhbiBfX0FSVElTVF9fIHdhcyBlZW4gb252ZXJnZXRlbGlqa2UgaGl0IGRpZSBkZSByYWRpbyBkb21pbmVlcmRlLlwiLFxuICAgICAgXCInX19UUkFDS19fJyB2YW4gX19BUlRJU1RfXyB3YXMgZWVuIHZlZWxnZWhvb3JkZSBoaXQuXCIsXG4gICAgICBcIkRlIHJhZGlvc3RhdGlvbnMgZHJhYWlkZW4gJ19fVFJBQ0tfXycgdmFuIF9fQVJUSVNUX18gZ3JpanMuXCIsXG4gICAgICBcIidfX1RSQUNLX18nIHZhbiBfX0FSVElTVF9fIHdhcyBlZW4gY2F0Y2h5IG51bW1lciBkYXQgamUgYmxlZWYgbWVlemluZ2VuLlwiLFxuICAgICAgXCJEZSBiZWF0IHZhbiAnX19UUkFDS19fJyB2YW4gX19BUlRJU1RfXyB3YXMgb253ZWVyc3RhYW5iYWFyLlwiLFxuICAgICAgXCInX19UUkFDS19fJyB2YW4gX19BUlRJU1RfXyBoYWQgZWVuIHVuaWVrZSBzb3VuZCBkaWUgamUgbmlldCBzbmVsIHZlcmdhdC5cIixcbiAgICAgIFwiSmUga29uIG5pZXQgb20gJ19fVFJBQ0tfXycgdmFuIF9fQVJUSVNUX18gaGVlbi5cIixcbiAgICBdO1xuICB9XG5cbiAgdHJhbnNsYXRlKGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKGtleSkge1xuICAgICAgY2FzZSBcInllYXJcIjpcbiAgICAgICAgcmV0dXJuIFwiamFhclwiO1xuICAgICAgY2FzZSBcInN0YXJ0XCI6XG4gICAgICAgIHJldHVybiBcInN0YXJ0XCI7XG4gICAgICBjYXNlIFwibmV3LWdhbWVcIjpcbiAgICAgICAgcmV0dXJuIFwibmlldXcgc3BlbFwiO1xuICAgICAgY2FzZSBcImVuZFwiOlxuICAgICAgICByZXR1cm4gXCJKZSBoZWJ0IGhldCBnZXJlZCA6KVwiO1xuICAgICAgY2FzZSBcIm5leHQtcXVlc3Rpb25cIjpcbiAgICAgICAgcmV0dXJuIFwiVm9sZ2VuZGUgdnJhYWdcIjtcbiAgICAgIGNhc2UgXCJxdWl0XCI6XG4gICAgICAgIHJldHVybiBcIkFmc2x1aXRlblwiO1xuICAgICAgY2FzZSBcImFuc3dlci1jb3JyZWN0XCI6XG4gICAgICAgIHJldHVybiBcIkNvcnJlY3RcIjtcbiAgICAgIGNhc2UgXCJhbnN3ZXItd3JvbmdcIjpcbiAgICAgICAgcmV0dXJuIFwiSGVsYWFzXCI7XG4gICAgICBjYXNlIFwicXVlc3Rpb24tbnVtYmVyXCI6XG4gICAgICAgIHJldHVybiBcIlZyYWFnXCI7XG4gICAgICBjYXNlIFwicXVlc3Rpb24tc2NvcmVcIjpcbiAgICAgICAgcmV0dXJuIFwiU2NvcmVcIjtcbiAgICAgIGNhc2UgXCJ0b3RhbC1zY29yZVwiOlxuICAgICAgICByZXR1cm4gXCJUb3RhYWxzY29yZVwiO1xuICAgICAgY2FzZSBcInNob3ctaGludFwiOlxuICAgICAgICByZXR1cm4gXCJUb29uIGhpbnRcIjtcbiAgICAgIGNhc2UgXCJ1c2VkLWhpbnQtc2luZ3VsYXJcIjpcbiAgICAgICAgcmV0dXJuIFwiSmUgaGVidCAxIGhpbnQgZ2VicnVpa3RcIjtcbiAgICAgIGNhc2UgXCJ1c2VkLWhpbnQtcGx1cmFsXCI6XG4gICAgICAgIHJldHVybiBcIkplIGhlYnQgX19ISU5UU19fIGhpbnRzIGdlYnJ1aWt0XCI7XG4gICAgICBjYXNlIFwibnVtYmVyLXBvaW50cy1zaW5ndWxhclwiOlxuICAgICAgICByZXR1cm4gXCJWb29yIGRlemUgdnJhYWcgaGViIGplIDEgcHVudCBnZWhhYWxkXCI7XG4gICAgICBjYXNlIFwibnVtYmVyLXBvaW50cy1wbHVyYWxcIjpcbiAgICAgICAgcmV0dXJuIFwiVm9vciBkZXplIHZyYWFnIGhlYiBqZSBfX1BPSU5UU19fIHB1bnRlbiBnZWhhYWxkXCI7XG4gICAgICBjYXNlIFwiY29ycmVjdC1hbnN3ZXItd2FzXCI6XG4gICAgICAgIHJldHVybiBcIkplIGtvb3Mgdm9vciBfX1dST05HX18gbWFhciBoZXQganVpc3RlIGFudHdvb3JkIHdhcyBfX0NPUlJFQ1RfX1wiO1xuICAgICAgY2FzZSBcIm5vLWFuc3dlci1jb3JyZWN0LWFuc3dlci13YXNcIjpcbiAgICAgICAgcmV0dXJuIFwiSmUgaGVidCBnZWVuIGFudHdvb3JkIGdlZ2V2ZW4gbWFhciBoZXQganVpc3RlIGFudHdvb3JkIHdhcyBfX0NPUlJFQ1RfX1wiO1xuICAgICAgY2FzZSBcImdhbWUtbmFtZVwiOlxuICAgICAgICByZXR1cm4gXCJHdWVzcyBUaGUgWWVhclwiO1xuICAgICAgY2FzZSBcImdhbWUtY2FsbC10by1hY3Rpb25cIjpcbiAgICAgICAgcmV0dXJuIFwiR2FtZSBvbiFcIjtcbiAgICAgIGNhc2UgXCJ5b3VyLWFuc3dlclwiOlxuICAgICAgICByZXR1cm4gXCJNaWpuIGFudHdvb3JkXCI7XG4gICAgICBjYXNlIFwieW91ci1mZWVkYmFja1wiOlxuICAgICAgICByZXR1cm4gXCJvcG1lcmtpbmdlblwiO1xuICAgICAgY2FzZSBcInRyeS1sZWZ0XCI6XG4gICAgICAgIHJldHVybiBcIl9fVFJJRVNfXyBwb2dpbmcgb3ZlclwiO1xuICAgICAgY2FzZSBcInRyaWVzLWxlZnRcIjpcbiAgICAgICAgcmV0dXJuIFwiX19UUklFU19fIHBvZ2luZ2VuIG92ZXJcIjtcbiAgICAgIGNhc2UgXCJpbi1vbmUtc2Vjb25kXCI6XG4gICAgICAgIHJldHVybiBcIkluIF9fU0VDT05EU19fIHNlY29uZGVcIjtcbiAgICAgIGNhc2UgXCJpbi14LXNlY29uZHNcIjpcbiAgICAgICAgcmV0dXJuIFwiSW4gX19TRUNPTkRTX18gc2Vjb25kZW5cIjtcbiAgICAgIGNhc2UgXCJnYW1lLXNldHRpbmdzLXAxXCI6XG4gICAgICAgIHJldHVybiBcIiBSaWdodC4gT2ggaGV5LCBCaWZmLCBoZXksIGd1eXMsIGhvdyBhcmUgeW91IGRvaW5nPyBMb29rLCB0aGVyZSdzIGEgICAgICAgICAgICByaHl0aG1pY1wiXG4gICAgICBjYXNlIFwiZ2FtZS1zZXR0aW5ncy1wMlwiOlxuICAgICAgICByZXR1cm4gXCIgdnJhZ2VuIGNlcmVtb25pYWwgcml0dWFsIGNvbWluZyB1cC5WYW5hZiBiZWdpblwiXG4gICAgICBjYXNlIFwiZ2FtZS1zZXR0aW5ncy1wM1wiOlxuICAgICAgICByZXR1cm4gXCIgUHJlY2lzZWx5LCBqdXN0IHJlbGF4IG5vdyBDYWx2aW4uIFRvdCBlaW5kXCJcbiAgICAgIGNhc2UgXCJnYW1lLXNldHRpbmdzLXA0XCI6XG4gICAgICAgIHJldHVybiBcIiB5b3UndmUgZ290IGEgYmlnIGJydWlzZSBvbiB5b3UncmUgaGVhZC5cIlxuICAgICAgY2FzZSBcImdhbWUtaW50cm9kdWN0aW9uLXAxXCI6XG4gICAgICAgIHJldHVybiBcInNvbWV0aG5nXCJcbiAgICAgIGNhc2UgXCJnYW1lLWludHJvZHVjdGlvbi1wMlwiOlxuICAgICAgICByZXR1cm4gXCJFeGN1c2UgbWUuIEdvLiBHby4gTmV2ZXIgbWluZCB0aGF0LCBuZXZlciBtaW5kIHRoYXQgbm93LCBuZXZlciBtaW5kIHRoYXQsIG5ldmVyIG1pbmQtIFllYWgsIHdlbGwsIGhvdyBhYm91dCBteSBob21ld29yaywgTWNGbHk/IERvbid0IHN0b3AsIFdpbGJlcnQsIGRyaXZlLlwiXG4gICAgICBjYXNlIFwiZ2FtZS1pbnRyb2R1Y3Rpb24tcDNcIjpcbiAgICAgICAgcmV0dXJuIFwiTW9tLCBpcyB0aGF0IHlvdT8gT2guIFVoIERvYywgdWggbm8uIE5vLCBkb24ndCBiZSBzaWxseS4gV2hhdCBkaWQgICAgICAgICAgICB5b3VyIG1vdGhlciBldmVyIHNlZSBpbiB0aGF0IGtpZD8gWW91IGd1eXMsIHRha2UgaGltIGluIGJhY2sgYW5kICAgICAgICAgICAgSSdsbCBiZSByaWdodCB0aGVyZS4gV2VsbCBjJ21vbiwgdGhpcyBhaW4ndCBubyBwZWVwIHNob3cuXCJcbiAgICAgIGNhc2UgXCJnYW1lLWludHJvZHVjdGlvbi13ZWxjb21lXCI6XG4gICAgICAgIHJldHVybiBgV2Vsa29tIGJpaiBHdWVzcyBUaGUgWWVhciFgXG4gICAgfVxuICAgIHJldHVybiBrZXk7XG4gIH1cbn1cbiIsIlxuICAgICAgICBpbXBvcnQge2Nzc30gZnJvbSAnbGl0JztcbiAgICAgICAgZXhwb3J0IGRlZmF1bHQgY3NzYGgxe2NvbG9yOnZhcigtLWd1ZXNzLXRoZS15ZWFyLXRpdGxlLWNvbG9yLCByZ2IoMCwgMCwgMCkpO2JhY2tncm91bmQtY29sb3I6dmFyKC0tZ3Vlc3MtdGhlLXllYXItdGl0bGUtYmFja2dyb3VuZC1jb2xvciwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpKTtmb250LXNpemU6dmFyKC0tZ3Vlc3MtdGhlLXllYXItdGl0bGUtZm9udC1zaXplLCAxNnB4KTttYXJnaW46MDtwYWRkaW5nOjFyZW07dGV4dC1hbGlnbjpjZW50ZXJ9cHtjb2xvcjp2YXIoLS1ndWVzcy10aGUteWVhci10ZXh0LWNvbG9yLCBibGFjayk7Zm9udC1zaXplOnZhcigtLWd1ZXNzLXRoZS15ZWFyLXRleHQtZm9udC1zaXplLCAxNHB4KX06aG9zdHtwb3NpdGlvbjpyZWxhdGl2ZTtjb2xvcjp2YXIoLS1ndWVzcy10aGUteWVhci10ZXh0LWNvbG9yLCBibGFjayk7YmFja2dyb3VuZDp2YXIoLS1ndWVzcy10aGUteWVhci1iYWNrZ3JvdW5kLWNvbG9yLCB3aGl0ZSk7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0uZ3Vlc3MtdGhlLXllYXItY29udGFpbmVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7bWF4LXdpZHRoOjc2OHB4O21hcmdpbjowIGF1dG99Lmd1ZXNzLXRoZS15ZWFyLWhlYWRlcntwb3NpdGlvbjpzdGlja3k7ei1pbmRleDoxMDA7dG9wOjA7Ym94LXNoYWRvdzowcHggNXB4IDVweCAwcHggcmdiYSgwLDAsMCwuMyk7bWFyZ2luLWJvdHRvbToxNXB4fS5mb290ZXJ7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7Y29sb3I6dmFyKC0tZ3Vlc3MtdGhlLXllYXItZm9vdGVyLWNvbG9yLCByZ2IoMCwgMCwgMCkpO2ZvbnQtc2l6ZTp2YXIoLS1ndWVzcy10aGUteWVhci1mb290ZXItZm9udC1zaXplLCAxMnB4KTttYXJnaW46MDt6LWluZGV4Oi0xfS5zcGxhc2hzY3JlZW57YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1ndWVzcy10aGUteWVhci1zcGxhc2gtc2NyZWVuLWJhY2tncm91bmQtY29sb3IsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSk7Y29sb3I6dmFyKC0tZ3Vlc3MtdGhlLXllYXItc3BsYXNoLXNjcmVlbi1jb2xvciwgcmdiKDAsIDAsIDApKTtmb250LXNpemU6dmFyKC0tZ3Vlc3MtdGhlLXllYXItc3BsYXNoLXNjcmVlbi1mb250LXNpemUsIDE2cHgpO21hcmdpbjowO3RleHQtYWxpZ246Y2VudGVyO3dpZHRoOjEwMCU7aGVpZ2h0Ojkwdmh9LnNwbGFzaHNjcmVlbiAuc3BsYXNoLWxvZ297bWFyZ2luOjAgYXV0bztwYWRkaW5nOjA7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9LnNwbGFzaHNjcmVlbiAuc3BsYXNoLWxvZ28gaW1ne21heC13aWR0aDozMDBweDtib3JkZXItcmFkaXVzOjUwJTtib3JkZXI6MXB4IHNvbGlkICMwMDB9ZGl2LmdhbWUtaW50cm97Y29sb3I6dmFyKC0tZ3Vlc3MtdGhlLXllYXItdGl0bGUtY29sb3IsIHJnYigwLCAwLCAwKSk7bWFyZ2luOjA7cGFkZGluZzowO3RleHQtYWxpZ246bGVmdH1kaXYuZ2FtZS1pbnRybz5kaXZ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1ndWVzcy10aGUteWVhci10aXRsZS1iYWNrZ3JvdW5kLWNvbG9yLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNykpO3BhZGRpbmc6MXJlbTttYXgtd2lkdGg6NzBjaDttYXJnaW46MXJlbSBhdXRvfWRpdi5nYW1lLWludHJvIC5nYW1lLXN0YXJ0IGJ1dHRvbntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWd1ZXNzLXRoZS15ZWFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yLCByZ2IoMCwgMCwgMCkpO2NvbG9yOnZhcigtLWd1ZXNzLXRoZS15ZWFyLWJ1dHRvbi1jb2xvciwgcmdiKDI1NSwgMjU1LCAyNTUpKTtib3JkZXI6MDtwYWRkaW5nOjFyZW07bWFyZ2luOjFyZW0gYXV0bztkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7Zm9udC1zaXplOnZhcigtLWd1ZXNzLXRoZS15ZWFyLWJ1dHRvbi1mb250LXNpemUsIDFyZW0pO2ZvbnQtd2VpZ2h0OmJvbGQ7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2N1cnNvcjpwb2ludGVyfS5ndWVzcy10aGUteWVhci1nYW1lLXN0YWdle3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctYm90dG9tOjEwMHB4fS5ndWVzcy10aGUteWVhci1nYW1lLXN0YWdlIC5jb250YWluZXJ7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0uZ3Vlc3MtdGhlLXllYXItZ2FtZS1zdGFnZSAuaW5jaWRlbnQtLXRpdGxle3RvcDowO3dpZHRoOjEwMCU7Ym9yZGVyLXRvcDoxcHggc29saWQgI2ZmZjttYXJnaW4tYm90dG9tOjEwcHh9Lmd1ZXNzLXRoZS15ZWFyLWdhbWUtc3RhZ2UgLmluY2lkZW50LS1pbWFnZXt6LWluZGV4Oi0xO2hlaWdodDo0MHZoO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uZ3Vlc3MtdGhlLXllYXItZ2FtZS1zdGFnZSAuaW5jaWRlbnQtLWltYWdlIGltZ3ttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9Lmd1ZXNzLXRoZS15ZWFyLWdhbWUtc3RhZ2UgLmluY2lkZW50LS10ZXh0e2JhY2tncm91bmQtY29sb3I6dmFyKC0tZ3Vlc3MtdGhlLXllYXItdGV4dC1iYWNrZ3JvdW5kLWNvbG9yLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkpO2NvbG9yOnZhcigtLWd1ZXNzLXRoZS15ZWFyLXRleHQtY29sb3IsIHJnYigwLCAwLCAwKSk7Zm9udC1zaXplOnZhcigtLWd1ZXNzLXRoZS15ZWFyLXRleHQtZm9udC1zaXplLCAxNHB4KX0uZ3Vlc3MtdGhlLXllYXItZ2FtZS1zdGFnZSAuZ2FtZS1jb250cm9sc3twb3NpdGlvbjpzdGlja3k7Ym90dG9tOjI1cHg7bGVmdDowO3dpZHRoOjEwMCU7YmFja2dyb3VuZC1jb2xvcjpoc2xhKDAsMCUsMTAwJSwuNyk7cGFkZGluZy10b3A6MTBweH0uZ3Vlc3MtdGhlLXllYXItZ2FtZS1zdGFnZSAuZ2FtZS1jb250cm9scy0taGludHt0ZXh0LWFsaWduOnJpZ2h0fS5ndWVzcy10aGUteWVhci1nYW1lLXN0YWdlIC5nYW1lLWNvbnRyb2xzLS1oaW50IGJ1dHRvbnttYXJnaW46MTBweDtwYWRkaW5nOjEwcHg7Ym9yZGVyLXJhZGl1czoxMHB4O2JvcmRlcjoxcHggc29saWQgIzAwMDtjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWd1ZXNzLXRoZS15ZWFyLXRleHQtYmFja2dyb3VuZC1jb2xvcik7Y29sb3I6dmFyKC0tZ3Vlc3MtdGhlLXllYXItdGV4dC1jb2xvcil9Lmd1ZXNzLXRoZS15ZWFyLWdhbWUtc3RhZ2UgLmdhbWUtY29udHJvbHMtLWhpbnQgYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tZ3Vlc3MtdGhlLXllYXItYnV0dG9uLWJhY2tncm91bmQtY29sb3IpO2NvbG9yOnZhcigtLWd1ZXNzLXRoZS15ZWFyLWJ1dHRvbi1jb2xvcil9Lmd1ZXNzLXRoZS15ZWFyLWdhbWUtc3RhZ2UgLmdhbWUtY29udHJvbHMtLWFuc3dlcnMgLmFuc3dlcnMtLWxpc3QgdWx7bGlzdC1zdHlsZTpub25lO21hcmdpbjowO3BhZGRpbmc6MDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246cm93O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtZXZlbmx5fS5ndWVzcy10aGUteWVhci1nYW1lLXN0YWdlIC5nYW1lLWNvbnRyb2xzLS1hbnN3ZXJzIC5hbnN3ZXJzLS1saXN0IHVsIGxpe2JvcmRlcjoxcHggc29saWQgIzAwMDtib3JkZXItcmFkaXVzOjEwcHg7cGFkZGluZzoxMHB4IDEwcHg7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1ndWVzcy10aGUteWVhci10ZXh0LWJhY2tncm91bmQtY29sb3IpfS5ndWVzcy10aGUteWVhci1nYW1lLXN0YWdlIC5nYW1lLWNvbnRyb2xzLS1hbnN3ZXJzIC5hbnN3ZXJzLS1saXN0IHVsIGxpOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tZ3Vlc3MtdGhlLXllYXItYnV0dG9uLWJhY2tncm91bmQtY29sb3IpO2NvbG9yOnZhcigtLWd1ZXNzLXRoZS15ZWFyLWJ1dHRvbi1jb2xvcil9Lmd1ZXNzLXRoZS15ZWFyLWdhbWUtc3RhZ2UgLmZlZWRiYWNre3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7bWFyZ2luOmF1dG87YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTBweCk7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5ndWVzcy10aGUteWVhci1nYW1lLXN0YWdlIC5mZWVkYmFjay0tY29udGVudHt3aWR0aDozMDBweDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWd1ZXNzLXRoZS15ZWFyLXRleHQtYmFja2dyb3VuZC1jb2xvcik7cGFkZGluZzoxNXB4O2JvcmRlci1yYWRpdXM6MTBweDtib3gtc2hhZG93OjBweCA1cHggNXB4IDBweCByZ2JhKDAsMCwwLC4zKX0uZ3Vlc3MtdGhlLXllYXItZ2FtZS1zdGFnZSAuZ2FtZS1zY29yZXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246cm93O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtZXZlbmx5O21hcmdpbi1ib3R0b206MTBweH0uZ3Vlc3MtdGhlLXllYXItZ2FtZS1zdGFnZSAuZ2FtZS1zY29yZS0tbGFiZWx7Zm9udC1zaXplOjgwJX0uZ3Vlc3MtdGhlLXllYXItZ2FtZS1zdGFnZSAuZ2FtZS1zY29yZS0tdmFsdWV7Zm9udC13ZWlnaHQ6Ym9sZH0uZ3Vlc3MtdGhlLXllYXItc291cmNlc3tmb250LXNpemU6NzAlfWA7XG4gICAgIiwiaW1wb3J0IHsgUmVhY3RpdmVDb250cm9sbGVyLCBSZWFjdGl2ZUNvbnRyb2xsZXJIb3N0IH0gZnJvbSBcImxpdFwiO1xuXG5leHBvcnQgY2xhc3MgUXVlc3Rpb25TY29yZUNvbnRyb2xsZXIgaW1wbGVtZW50cyBSZWFjdGl2ZUNvbnRyb2xsZXIge1xuICBob3N0OiBSZWFjdGl2ZUNvbnRyb2xsZXJIb3N0O1xuXG4gIHN0YXJ0VmFsdWU6IG51bWJlcjtcbiAgdmFsdWU6IG51bWJlciA9IDA7XG4gIHRpbWVvdXQ6IG51bWJlcjtcblxuICBwcml2YXRlIF90aW1lcklEPzogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0SW50ZXJ2YWw+O1xuXG4gIGNvbnN0cnVjdG9yKGhvc3Q6IFJlYWN0aXZlQ29udHJvbGxlckhvc3QsIHN0YXJ0VmFsdWUgPSAwLCB0aW1lb3V0ID0gMTAwMCkge1xuICAgICh0aGlzLmhvc3QgPSBob3N0KS5hZGRDb250cm9sbGVyKHRoaXMpO1xuICAgIHRoaXMuc3RhcnRWYWx1ZSA9IHN0YXJ0VmFsdWU7XG4gICAgdGhpcy52YWx1ZSA9IHN0YXJ0VmFsdWU7XG4gICAgdGhpcy50aW1lb3V0ID0gdGltZW91dDtcbiAgfVxuXG4gIHN0YXJ0KCkge1xuICAgIHRoaXMuX3RpbWVySUQgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICB0aGlzLnZhbHVlIC09IDE7XG5cbiAgICAgIC8vIFVwZGF0ZSB0aGUgaG9zdCB3aXRoIG5ldyB2YWx1ZVxuICAgICAgdGhpcy5ob3N0LnJlcXVlc3RVcGRhdGUoKTtcbiAgICB9LCB0aGlzLnRpbWVvdXQpO1xuICB9XG5cbiAgc3RvcCgpIHtcbiAgICBjbGVhckludGVydmFsKHRoaXMuX3RpbWVySUQpO1xuICAgIHRoaXMuX3RpbWVySUQgPSB1bmRlZmluZWQ7XG4gIH1cblxuICByZXNldCgpIHtcbiAgICB0aGlzLnZhbHVlID0gdGhpcy5zdGFydFZhbHVlO1xuICB9XG5cbiAgc3VidHJhY3QodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMudmFsdWUgLT0gdmFsdWU7XG4gICAgaWYgKHRoaXMudmFsdWUgPCAwKSB7XG4gICAgICB0aGlzLnZhbHVlID0gMDtcbiAgICB9XG4gIH1cblxuICBpc1J1bm5pbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3RpbWVySUQgPyB0cnVlIDogZmFsc2U7XG4gIH1cblxuICBob3N0RGlzY29ubmVjdGVkKCkge1xuICAgIC8vIENsZWFyIHRoZSB0aW1lciB3aGVuIHRoZSBob3N0IGlzIGRpc2Nvbm5lY3RlZFxuICAgIGNsZWFySW50ZXJ2YWwodGhpcy5fdGltZXJJRCk7XG4gICAgdGhpcy5fdGltZXJJRCA9IHVuZGVmaW5lZDtcbiAgfVxufVxuIiwiaW1wb3J0IHsgTGl0RWxlbWVudCwgY3NzLCBodG1sLCBQcm9wZXJ0eVZhbHVlcywgVGVtcGxhdGVSZXN1bHQgfSBmcm9tIFwibGl0XCI7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSwgc3RhdGUgfSBmcm9tIFwibGl0L2RlY29yYXRvcnMuanNcIjtcbmltcG9ydCB7IHVuc2FmZUhUTUwgfSBmcm9tIFwibGl0L2RpcmVjdGl2ZXMvdW5zYWZlLWh0bWwuanNcIjtcbi8vIGltcG9ydCB7IFRhc2sgfSBmcm9tICdAbGl0L3Rhc2snO1xuaW1wb3J0IGRheWpzIGZyb20gXCJkYXlqc1wiO1xuaW1wb3J0IHsgRGF5anMgfSBmcm9tIFwiZGF5anNcIjtcblxuY29uc3QgeyBzZXRUaW1lb3V0IH0gPSB3aW5kb3c7XG5cbmltcG9ydCB7IEluY2lkZW50LCBDYXRlZ29yaWVzIH0gZnJvbSBcIi4vbGliL0luY2lkZW50XCI7XG5pbXBvcnQgeyBOb0ltYWdlSW1nLCBSZWZyZXNoSWNvblNWRywgU29sdXRpb25JY29uU1ZHIH0gZnJvbSBcIi4vbGliL0ljb25cIjtcbmltcG9ydCB7IEFwaVNlcnZpY2UsIENvbnRlbnRGZWVkYmFjayB9IGZyb20gXCIuL2xpYi9BcGlTZXJ2aWNlXCI7XG5pbXBvcnQgeyBVdGlsIH0gZnJvbSBcIi4vbGliL1V0aWxcIjtcbmltcG9ydCB7IGkxOG5GYWN0b3J5IH0gZnJvbSBcIi4vbGliL2kxOG4vaTE4blwiO1xuXG5pbXBvcnQgeyBHYW1lU3RhdGUgfSBmcm9tIFwiLi9saWIvZW51bXNcIjtcblxuaW1wb3J0IHN0eWxlc2hlZXQgZnJvbSBcIi4vc2Nzcy9tYWluLnNjc3NcIjtcblxuaW1wb3J0IHsgUXVlc3Rpb25TY29yZUNvbnRyb2xsZXIgfSBmcm9tIFwiLi9saWIvY29udHJvbGxlci9zY29yZWNvbnRyb2xsZXJcIjtcblxuLy8gY29uc3QgR1JFRU4gPSBcIiMwN2QyMDdcIjtcbi8vIGNvbnN0IFJFRCA9IFwiI2VjMzczN1wiO1xuLy8gY29uc3QgQkxBQ0sgPSBcIiMwMDBcIjtcblxuY29uc3QgU1BMQVNIX0RFTEFZOiBudW1iZXIgPSAzMDAwO1xuY29uc3QgTUlOX1lFQVI6IG51bWJlciA9IDE5NTA7XG5jb25zdCBNQVhfWUVBUjogbnVtYmVyID0gMjAyNDtcbmNvbnN0IE1BWF9RVUVTVElPTlM6IG51bWJlciA9IDEwO1xuY29uc3QgSElOVF9DT1NUOiBudW1iZXIgPSAyO1xuXG5AY3VzdG9tRWxlbWVudChcImd1ZXNzLXRoZS15ZWFyXCIpXG5leHBvcnQgY2xhc3MgR3Vlc3NUaGVZZWFyIGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIHByaXZhdGUgX3N0YXJ0VGltZTogRGF0ZSA9IG5ldyBEYXRlKCk7XG4gIHByaXZhdGUgX2VuZFRpbWU6IERhdGUgPSBuZXcgRGF0ZSgpO1xuICAvLyBwcml2YXRlIF91dWlkID0gTWF0aC5yYW5kb20oKTtcbiAgcHJpdmF0ZSBzb3VyY2VzOiBBcnJheTxzdHJpbmc+ID0gW107XG4gIHByaXZhdGUgX2xvYWRpbmcgPSBmYWxzZTtcblxuICBwcml2YXRlIF9zY29yZTA6IFF1ZXN0aW9uU2NvcmVDb250cm9sbGVyO1xuXG4gIGdldCBsb2FkaW5nKCkge1xuICAgIHJldHVybiB0aGlzLl9sb2FkaW5nO1xuICB9XG5cbiAgc2V0IGxvYWRpbmcodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9sb2FkaW5nID0gdmFsdWU7XG4gIH1cblxuICBAcHJvcGVydHkoeyB0eXBlOiBTdHJpbmcsIGF0dHJpYnV0ZTogXCJ0ZWUtZS1hcGktdXJsXCIgfSlcbiAgdGVlZUFwaVVybDogc3RyaW5nID0gXCJodHRwczovL2FwaS50ZWUtZS5jb21cIjtcblxuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuLCBhdHRyaWJ1dGU6IFwicmVwb3J0LWJyb2tlbi1pbWFnZXNcIiB9KVxuICByZXBvcnRCcm9rZW5JbWFnZXM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAcHJvcGVydHkoeyB0eXBlOiBTdHJpbmcgfSlcbiAgZGF0ZTogc3RyaW5nID0gXCJcIjtcblxuICBAcHJvcGVydHkoeyB0eXBlOiBTdHJpbmcgfSlcbiAgY291bnRyeTogc3RyaW5nID0gXCJcIjtcblxuICBAcHJvcGVydHkoeyB0eXBlOiBTdHJpbmcgfSlcbiAgY2F0ZWdvcnk6IHN0cmluZyA9IFwiXCI7XG5cbiAgQHByb3BlcnR5KHsgdHlwZTogU3RyaW5nIH0pXG4gIGVtb3Rpb246IHN0cmluZyA9IFwiXCI7XG5cbiAgQHByb3BlcnR5KHsgdHlwZTogU3RyaW5nIH0pXG4gIGltcGFjdDogc3RyaW5nID0gXCJcIjtcblxuICBAcHJvcGVydHkoe1xuICAgIHR5cGU6IERheWpzLFxuICAgIGNvbnZlcnRlcjoge1xuICAgICAgZnJvbUF0dHJpYnV0ZTogKHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc29sZS5pbmZvKFtcImZyb21cIiwgXCJmcm9tXCIsIHZhbHVlXSk7XG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICByZXR1cm4gZGF5anMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh2YWx1ZS5sZW5ndGggPj0gMTApIHtcbiAgICAgICAgICByZXR1cm4gZGF5anModmFsdWUsIFwiWVlZWS1NTS1ERFwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBkYXlqcyhgJHt2YWx1ZX0tMDEtMDFgLCBcIllZWVktTU0tRERcIik7XG4gICAgICB9LFxuICAgICAgdG9BdHRyaWJ1dGU6ICh2YWx1ZTogRGF5anMpID0+IHtcbiAgICAgICAgY29uc29sZS5pbmZvKFtcImZyb21cIiwgXCJ0b1wiLCB2YWx1ZV0pO1xuICAgICAgICByZXR1cm4gdmFsdWUuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKTtcbiAgICAgIH0sXG4gICAgfSxcbiAgfSlcbiAgZnJvbTogRGF5anMgPSBkYXlqcyhgJHtNSU5fWUVBUn0tMDEtMDFgLCBcIllZWVktTU0tRERcIik7XG5cbiAgQHByb3BlcnR5KHtcbiAgICB0eXBlOiBEYXlqcyxcbiAgICBjb252ZXJ0ZXI6IHtcbiAgICAgIGZyb21BdHRyaWJ1dGU6ICh2YWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnNvbGUuaW5mbyhbXCJ0b1wiLCBcImZyb21cIiwgdmFsdWVdKTtcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgIHJldHVybiBkYXlqcygpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHZhbHVlLmxlbmd0aCA+PSAxMCkge1xuICAgICAgICAgIHJldHVybiBkYXlqcyh2YWx1ZSwgXCJZWVlZLU1NLUREXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGRheWpzKGAke3ZhbHVlfS0xMi0zMWAsIFwiWVlZWS1NTS1ERFwiKTtcbiAgICAgIH0sXG4gICAgICB0b0F0dHJpYnV0ZTogKHZhbHVlOiBEYXlqcykgPT4ge1xuICAgICAgICBjb25zb2xlLmluZm8oW1widG9cIiwgXCJ0b1wiLCB2YWx1ZV0pO1xuICAgICAgICByZXR1cm4gdmFsdWUuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKTtcbiAgICAgIH0sXG4gICAgfSxcbiAgfSlcbiAgdG86IERheWpzID0gZGF5anMoKTsgLy8gZGVmYXVsdHMgdG8gdG9kYXlcblxuICBAcHJvcGVydHkoeyB0eXBlOiBTdHJpbmcgfSlcbiAgbGltaXQ6IHN0cmluZyA9IFwiXCI7XG5cbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiB9KVxuICBzaHVmZmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiwgYXR0cmlidXRlOiBcInNob3ctZHVyYXRpb25cIiB9KVxuICBzaG93RHVyYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuLCBhdHRyaWJ1dGU6IFwic2hvdy1mZWVkYmFja1wiIH0pXG4gIHNob3dGZWVkYmFjazogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IFN0cmluZywgYXR0cmlidXRlOiBcIm5vLWltYWdlLXNyY1wiIH0pXG4gIG5vSW1hZ2VTcmM6IHN0cmluZyA9IFwiXCI7XG5cbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiwgYXR0cmlidXRlOiBcInN1cHByZXNzLWltYWdlc1wiIH0pXG4gIHN1cHByZXNzSW1hZ2VzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiwgYXR0cmlidXRlOiBcImF1dG8tZm9jdXNcIiB9KVxuICBhdXRvRm9jdXM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAcHJvcGVydHkoeyB0eXBlOiBOdW1iZXIsIGF0dHJpYnV0ZTogXCJoaW50LWludGVydmFsLWxlbmd0aFwiIH0pXG4gIGhpbnRJbnRlcnZhbFNlY3M6IG51bWJlciA9IDc7XG5cbiAgQHByb3BlcnR5KHsgdHlwZTogTnVtYmVyLCBhdHRyaWJ1dGU6IFwibWF4LWhpbnRzXCIgfSlcbiAgbWF4SGludHM6IG51bWJlciA9IDM7XG5cbiAgQHByb3BlcnR5KHsgdHlwZTogTnVtYmVyLCBhdHRyaWJ1dGU6IFwibWF4LXRyaWVzXCIgfSlcbiAgbWF4VHJpZXM6IG51bWJlciA9IC0xO1xuXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IE51bWJlciwgYXR0cmlidXRlOiBcIm51bWJlci1vZi1xdWVzdGlvbnNcIiwgcmVmbGVjdDogdHJ1ZSB9KVxuICBudW1iZXJPZlF1ZXN0aW9uczogbnVtYmVyID0gMTA7XG4gIHByaXZhdGUgX251bWJlck9mUXVlc3Rpb25zU2VlbjogbnVtYmVyID0gMDtcblxuICBAc3RhdGUoKVxuICBwcml2YXRlIF9pbmNpZGVudDogSW5jaWRlbnQgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgcHJpdmF0ZSBfYW5zd2VyczogQXJyYXk8TnVtYmVyPiA9IFtdO1xuXG4gIEBzdGF0ZSgpXG4gIHByaXZhdGUgX2hpbnQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIF9zaG93SGludDogYm9vbGVhbiA9IHRydWU7XG4gIHByaXZhdGUgX3Nob3dGb290ZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfaGludHNJbmRleDogbnVtYmVyID0gMDtcbiAgcHJpdmF0ZSBfaGludHM6IEFycmF5PEluY2lkZW50PiA9IFtdO1xuXG4gIEBzdGF0ZSgpXG4gIHByaXZhdGUgX3NvbHV0aW9uOiBOdW1iZXIgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgQHN0YXRlKClcbiAgcHJpdmF0ZSBfZGlzcGxheVNvbHV0aW9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQHN0YXRlKClcbiAgcHJpdmF0ZSBfYW5zd2VyZWRDb3JyZWN0bHk6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAc3RhdGUoKVxuICBwcml2YXRlIF90cmllczogbnVtYmVyID0gMDtcblxuICBAc3RhdGUoKVxuICBwdWJsaWMgX3JlbmRlclN0YXRlOiBzdHJpbmcgPSBHYW1lU3RhdGUuSU5JVDtcblxuICBAc3RhdGUoKVxuICBwcml2YXRlIF9zY29yZSA9IDMwO1xuXG4gIHB1YmxpYyB0b3RhbFNjb3JlID0gMDtcblxuICAvLyBfYW5zd2VyIGlzIHN0b3JlZCBhcyBzdHJpbmcgYmVjYXVzZSBpdCB3aWxsIGJlIGVudGVyZWQgY2hhcmFjdGVyIGZvciBjaGFyYWN0ZXJcbiAgQHN0YXRlKClcbiAgcHJpdmF0ZSBfYW5zd2VyOiBudW1iZXIgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgcHJpdmF0ZSBfYXBpU2VydmljZSA9IG5ldyBBcGlTZXJ2aWNlKHRoaXMudGVlZUFwaVVybCk7XG4gIHByaXZhdGUgX2ludGVydmFsc1Bhc3NlZDogbnVtYmVyID0gMDtcbiAgcHJpdmF0ZSBpMThuID0gaTE4bkZhY3RvcnkoXCJubFwiKTtcblxuICBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzID0gY3NzYFxuICAgICR7c3R5bGVzaGVldH1cbiAgYDtcblxuICAvLyBwcml2YXRlIF9nYW1lX2VuZ2luZTogRW5naW5lO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLl9zY29yZTAgPSBuZXcgUXVlc3Rpb25TY29yZUNvbnRyb2xsZXIodGhpcywgMzAsIDEwMDApO1xuXG4gICAgLy8gdGhpcy5fZW5naW5lID0gbmV3IEdhbWVDb250cm9sbGVyKHRoaXMpO1xuICB9XG5cbiAgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKSB7XG4gICAgY29uc29sZS5kZWJ1ZyhcImNvbm5lY3RlZENhbGxiYWNrXCIpO1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG5cbiAgICAvLyBmaXJzdCBzdGVwIGlzIHNwbGFzaFxuICAgIHRoaXMuX3JlbmRlclN0YXRlID0gR2FtZVN0YXRlLlNQTEFTSDtcbiAgfVxuXG4gIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCkge1xuICAgIGNvbnNvbGUuZGVidWcoXCJkaXNjb25uZWN0ZWRDYWxsYmFja1wiKTtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIC8vIGNsZWFySW50ZXJ2YWwodGhpcy5faW50ZXJ2YWxIYW5kbGVyKTtcbiAgICB0aGlzLl9yZW5kZXJTdGF0ZSA9IEdhbWVTdGF0ZS5JTklUO1xuICAgIHRoaXMuX3Njb3JlMC5zdG9wKCk7XG4gICAgdGhpcy5fc2NvcmUwLnJlc2V0KCk7XG4gIH1cblxuICBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzKTogdm9pZCB7XG4gICAgY29uc29sZS5kZWJ1ZyhcImZpcnN0VXBkYXRlZFwiKTtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuICB9XG5cbiAgb3ZlcnJpZGUgc2hvdWxkVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlcyk6IGJvb2xlYW4ge1xuICAgIGNvbnNvbGUuZGVidWcoXCJzaG91bGRVcGRhdGVcIik7XG4gICAgcmV0dXJuIHN1cGVyLnNob3VsZFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG4gIH1cblxuICBvdmVycmlkZSB1cGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzKSB7XG4gICAgY29uc29sZS5kZWJ1ZyhcInVwZGF0ZVwiKTtcbiAgICByZXR1cm4gc3VwZXIudXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgfVxuXG4gIG92ZXJyaWRlIHVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzKSB7XG4gICAgY29uc29sZS5kZWJ1ZyhcInVwZGF0ZWRcIik7XG4gICAgcmV0dXJuIHN1cGVyLnVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuICB9XG5cbiAgb3ZlcnJpZGUgcmVuZGVyKCkge1xuICAgIC8qKlxuICAgICAqIHRoaXMgaXMgdGhlIG1haW4gcmVuZGVyIGZ1bmN0aW9uXG4gICAgICogaXQgcmVuZGVycyBkaWZmZXJlbnQgc3RhZ2VzIGR1cmluZyB0aGUgZ2FtZVxuICAgICAqL1xuICAgIGNvbnNvbGUuZGVidWcoXCJyZW5kZXJcIik7XG5cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJndWVzcy10aGUteWVhci1jb250YWluZXJcIj5cbiAgICAgICAgJHt0aGlzLl9yZW5kZXJTdGF0ZSA9PSBHYW1lU3RhdGUuSU5JVCA/IFwiTG9hZGluZy4uLlwiIDogXCJcIn1cbiAgICAgICAgJHt0aGlzLl9yZW5kZXJTdGF0ZSA9PSBHYW1lU3RhdGUuU1BMQVNIXG4gICAgICAgID8gdGhpcy5yZW5kZXJTcGxhc2hTY3JlZW4oKVxuICAgICAgICA6IFwiXCJ9XG4gICAgICAgICR7dGhpcy5fcmVuZGVyU3RhdGUgPT0gR2FtZVN0YXRlLklOVFJPID8gdGhpcy5yZW5kZXJHYW1lSW50cm8oKSA6IFwiXCJ9XG4gICAgICAgICR7dGhpcy5fcmVuZGVyU3RhdGUgPT0gR2FtZVN0YXRlLlBMQVkgPyB0aGlzLnJlbmRlckdhbWVTdGFnZSgpIDogXCJcIn1cbiAgICAgICAgJHt0aGlzLl9yZW5kZXJTdGF0ZSA9PSBHYW1lU3RhdGUuRU5EID8gdGhpcy5yZW5kZXJHYW1lRW5kKCkgOiBcIlwifVxuICAgICAgICAke3RoaXMuX3JlbmRlckZvb3RlcigpfVxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxuXG4gIGNvbG9yRWxlbWVudChlbGVtZW50OiBhbnksIGNvbG9yOiBzdHJpbmcpIHtcbiAgICBjb25zb2xlLmRlYnVnKFwiY29sb3JFbGVtZW50XCIpO1xuICAgIHRoaXM/LnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoZWxlbWVudCk/LnN0eWxlLnNldFByb3BlcnR5KFwiY29sb3JcIiwgY29sb3IpO1xuICB9XG5cbiAgLy8gdGhpcyByZW5kZXJzIHRoZSBnYW1lIGhlYWRlclxuICBwcml2YXRlIF9yZW5kZXJIZWFkZXIoY29udGVudDogc3RyaW5nID0gdGhpcy5pMThuLnRyYW5zbGF0ZShcImdhbWUtbmFtZVwiKSk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxzZWN0aW9uIGlkPVwidG9wXCIgY2xhc3M9XCJoZWFkZXIgZ3Vlc3MtdGhlLXllYXItaGVhZGVyXCI+XG4gICAgICAgIDxoMT4ke2NvbnRlbnR9PC9oMT5cbiAgICAgIDwvc2VjdGlvbj5cbiAgICBgO1xuICB9XG5cbiAgLy8gdGhpcyByZW5kZXJzIHRoZSBnYW1lIGZvb3RlclxuICBwcml2YXRlIF9yZW5kZXJGb290ZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGlmICh0aGlzLl9zaG93Rm9vdGVyKSB7XG4gICAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxzZWN0aW9uIGNsYXNzPVwiZm9vdGVyIGd1ZXNzLXRoZS15ZWFyLWZvb3RlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ3Vlc3MtdGhlLXllYXItY29weXJpZ2h0XCI+XG4gICAgICAgICAgJHtcIlRoZSBUaHJvd2JhY2sgQ29tcGFueSDCqVwiICsgZGF5anMoKS55ZWFyKCl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9zZWN0aW9uPlxuICAgIGA7XG4gICAgfVxuICAgIHJldHVybiBodG1sYGA7XG4gIH1cblxuICAvLyByZW5kZXIgdGhlIHNwbGFzaCBzY3JlZW5cbiAgcHJpdmF0ZSByZW5kZXJTcGxhc2hTY3JlZW4oKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGNvbnNvbGUuZGVidWcoXCJyZW5kZXJTcGxhc2hTY3JlZW5cIik7XG5cbiAgICAvLyAocHJldGVuZCkgdG8gbG9hZCBiZWZvcmUgdGhlIGdhbWUgc3RhcnRzXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLl9yZW5kZXJTdGF0ZSA9IEdhbWVTdGF0ZS5JTlRSTztcbiAgICB9LCBTUExBU0hfREVMQVkpO1xuXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGlkPVwic3BsYXNoLXNjcmVlbi1jb250YWluZXJcIiBjbGFzcz1cInNwbGFzaHNjcmVlblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic3BsYXNoLWxvZ29cIj5cbiAgICAgICAgICA8aW1nXG4gICAgICAgICAgICBzcmM9XCIuL2Fzc2V0cy9sb2dvLnBuZ1wiXG4gICAgICAgICAgICBhbHQ9XCJsb2dvXCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxoMj4ke3RoaXMuaTE4bi50cmFuc2xhdGUoXCJnYW1lLW5hbWVcIil9PC9oMj5cbiAgICAgICAgICA8cD4ke3RoaXMuaTE4bi50cmFuc2xhdGUoXCJMb2FkaW5nLi4uXCIpfTwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG5cbiAgLy8gcmVuZGVycyBhIHNlbGVjdG9yIGZvciBhIHllYXJcbiAgLy8gVE9ETzogc2V0IHR5cGUgb2Ygc2VsZWN0b3JcbiAgcHJpdmF0ZSBfcmVuZGVyWWVhclNlbGVjdE9wdGlvbnMoc2VsZWN0ZWRWYWx1ZTogc3RyaW5nKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGNvbnN0IHNlbGVjdGVkID0gcGFyc2VJbnQoc2VsZWN0ZWRWYWx1ZSwgMTApO1xuICAgIC8vIHByZS1yZW5kZXIgeWVhciBvcHRpb25zXG4gICAgLy8gYW5kIG1hcmsgc2VsZWN0ZWQgd2hlbiB0aGV5IG1hdGNoXG4gICAgY29uc3Qgc2VsZWN0WWVhck9wdGlvbnMgPSBbXTtcbiAgICBmb3IgKGxldCBpID0gTUlOX1lFQVI7IGkgPD0gTUFYX1lFQVI7IGkgKz0gNSkge1xuICAgICAgc2VsZWN0WWVhck9wdGlvbnMucHVzaChodG1sYFxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwiJHtpfVwiID9zZWxlY3RlZD0ke3NlbGVjdGVkID09IGl9PiR7aX08L29wdGlvbj5cbiAgICAgIGApO1xuICAgIH1cblxuICAgIHJldHVybiBodG1sYCR7c2VsZWN0WWVhck9wdGlvbnN9YDtcbiAgfVxuXG4gIC8vIHJlbmRlciB0aGUgZ2FtZSBpbnRyb1xuICAvLyBhbGxvd3MgdG8gc2VsZWN0IHRoZSBudW1iZXIgb2YgcXVlc3Rpb25zLFxuICAvLyBzZWxlY3QgdGhlIHllYXIgcmFuZ2VcbiAgLy8gYW5kIHRvIHN0YXJ0IHRoZSBnYW1lXG4gIC8vIFRPRE86IGFkZCByZWFsIGNvbnRlbnRcbiAgcHJpdmF0ZSByZW5kZXJHYW1lSW50cm8oKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGNvbnNvbGUuaW5mbyhcInJlbmRlckdhbWVJbnRyb1wiKTtcblxuICAgIC8vIHByZS1yZW5kZXIgbnVtYmVyIG9mIHF1ZXN0aW9uIG9wdGlvbnNcbiAgICAvLyBhbmQgbWFyayBzZWxlY3RlZCB3aGVuIHRoZXkgbWF0Y2hcbiAgICBjb25zdCBzZWxlY3RRdWVzdGlvbk9wdGlvbnMgPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMTsgaSA8PSBNQVhfUVVFU1RJT05TOyBpKyspIHtcbiAgICAgIHNlbGVjdFF1ZXN0aW9uT3B0aW9ucy5wdXNoKGh0bWxgXG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCIke2l9XCIgP3NlbGVjdGVkPSR7dGhpcy5udW1iZXJPZlF1ZXN0aW9ucyA9PSBpfT5cbiAgICAgICAgICAke2l9XG4gICAgICAgIDwvb3B0aW9uPlxuICAgICAgYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICAke3RoaXMuX3JlbmRlckhlYWRlcih0aGlzLmkxOG4udHJhbnNsYXRlKFwiZ2FtZS1pbnRyb2R1Y3Rpb24td2VsY29tZVwiKSl9XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJnYW1lLWludHJvXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnYW1lLWV4cGxhbmF0aW9uXCI+XG4gICAgICAgICAgPHA+XG4gICAgICAgICAgICAke3RoaXMuaTE4bi50cmFuc2xhdGUoXCJnYW1lLWludHJvZHVjdGlvbi1wMVwiKX1cbiAgICAgICAgICA8L3A+XG5cbiAgICAgICAgICA8cD5cbiAgICAgICAgICAgICR7dGhpcy5pMThuLnRyYW5zbGF0ZShcImdhbWUtaW50cm9kdWN0aW9uLXAyXCIpfVxuICAgICAgICAgIDwvcD5cblxuICAgICAgICAgIDxwPlxuICAgICAgICAgICAgJHt0aGlzLmkxOG4udHJhbnNsYXRlKFwiZ2FtZS1pbnRyb2R1Y3Rpb24tcDNcIil9XG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ2FtZS1zZXR0aW5nc1wiPlxuICAgICAgICAgIDxwPlxuICAgICAgICAgICAgJHt0aGlzLmkxOG4udHJhbnNsYXRlKFwiZ2FtZS1zZXR0aW5ncy1wMVwiKX1cbiAgICAgICAgICAgIDxzZWxlY3RcbiAgICAgICAgICAgICAgQGNoYW5nZT1cIiR7KGV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5udW1iZXJPZlF1ZXN0aW9ucyA9IE51bWJlcihldmVudC50YXJnZXQudmFsdWUpO1xuICAgICAgfX1cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAke3NlbGVjdFF1ZXN0aW9uT3B0aW9uc31cbiAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgJHt0aGlzLmkxOG4udHJhbnNsYXRlKFwiZ2FtZS1zZXR0aW5ncy1wMlwiKX1cbiAgICAgICAgICAgIDxzZWxlY3QgQGNoYW5nZT1cIiR7dGhpcy5fc2V0RnJvbURhdGV9XCI+XG4gICAgICAgICAgICAgICR7dGhpcy5fcmVuZGVyWWVhclNlbGVjdE9wdGlvbnModGhpcy5mcm9tLmZvcm1hdChcIllZWVlcIikpfVxuICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICAke3RoaXMuaTE4bi50cmFuc2xhdGUoXCJnYW1lLXNldHRpbmdzLXAzXCIpfVxuICAgICAgICAgICAgPHNlbGVjdCBAY2hhbmdlPVwiJHt0aGlzLl9zZXRUb0RhdGV9XCI+XG4gICAgICAgICAgICAgICR7dGhpcy5fcmVuZGVyWWVhclNlbGVjdE9wdGlvbnModGhpcy50by5mb3JtYXQoXCJZWVlZXCIpKX1cbiAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgJHt0aGlzLmkxOG4udHJhbnNsYXRlKFwiZ2FtZS1zZXR0aW5ncy1wNFwiKX1cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJnYW1lLXN0YXJ0XCI+XG4gICAgICAgICAgPGJ1dHRvbiBAY2xpY2s9XCIke3RoaXMuc2V0dXBOZXdHYW1lfVwiPiR7dGhpcy5pMThuLnRyYW5zbGF0ZShcInN0YXJ0XCIpfTwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cblxuICBwcml2YXRlIF9zZXRGcm9tRGF0ZShldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5mcm9tID0gdGhpcy5mcm9tLnllYXIoZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldFRvRGF0ZShldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy50byA9IHRoaXMudG8ueWVhcihldmVudC50YXJnZXQudmFsdWUpO1xuICB9XG5cbiAgLy8gcmVuZGVycyB0aGUgYWN0dWFsIGdhbWUgc3RhZ2VcbiAgcHJpdmF0ZSByZW5kZXJHYW1lU3RhZ2UoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGNvbnNvbGUuZGVidWcoXCJyZW5kZXJHYW1lU3RhZ2VcIik7XG5cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgICR7dGhpcy5fcmVuZGVySGVhZGVyKHRoaXMuaTE4bi50cmFuc2xhdGUoXCJnYW1lLWNhbGwtdG8tYWN0aW9uXCIpKX1cbiAgICAgIDxkaXYgY2xhc3M9XCJndWVzcy10aGUteWVhci1nYW1lLXN0YWdlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnYW1lLXNjb3JlXCI+JHt0aGlzLl9yZW5kZXJHYW1lU2NvcmUoKX08L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImluY2lkZW50XCI+JHt0aGlzLl9yZW5kZXJJbmNpZGVudCgpfTwvZGl2PlxuICAgICAgICAgICR7dGhpcy5fcmVuZGVySGludCgpfVxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzb3VyY2VzXCI+JHt0aGlzLnJlbmRlclNvdXJjZXMoKX08L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdhbWUtY29udHJvbHNcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ2FtZS1jb250cm9scy0taGludFwiPiR7dGhpcy5fcmVuZGVySGludEJ1dHRvbigpfTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJnYW1lLWNvbnRyb2xzLS1hbnN3ZXJzXCI+JHt0aGlzLl9yZW5kZXJBbnN3ZXJzKCl9PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgICR7dGhpcy5fcmVuZGVyRmVlZGJhY2soKX1cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cblxuICAvLyByZW5kZXJzIHRoZSBpdGVtIGZvciB0aGUgeWVhciB0byBndWVzc1xuICBwcml2YXRlIF9yZW5kZXJJbmNpZGVudCgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwiaW5jaWRlbnQtLXRpdGxlXCI+XG4gICAgICAgIDxoMT4ke3RoaXMuX2luY2lkZW50Py50aXRsZX08L2gxPlxuICAgICAgPC9kaXY+XG5cbiAgICAgICR7dGhpcy5fcmVuZGVySW5jaWRlbnRJbWFnZSh0aGlzLl9pbmNpZGVudCl9XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJpbmNpZGVudC0tdGV4dFwiPlxuICAgICAgICA8cD4ke3RoaXMuX2luY2lkZW50Py50ZXh0fTwvcD5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cblxuICAvLyByZW5kZXJzIHRoZSBvcHRpb25hbCBpbWFnZSB3aXRoIHRoZSBpdGVtXG4gIHByaXZhdGUgX3JlbmRlckluY2lkZW50SW1hZ2UoaW5jaWRlbnQ6IEluY2lkZW50IHwgdW5kZWZpbmVkKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGlmIChpbmNpZGVudCAmJiBpbmNpZGVudC5pbWFnZSkge1xuICAgICAgcmV0dXJuIGh0bWxgXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbmNpZGVudC0taW1hZ2VcIj5cbiAgICAgICAgICA8aW1nIHNyYz1cIiR7aW5jaWRlbnQuaW1hZ2V9XCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICBgO1xuICAgIH1cblxuICAgIHJldHVybiBodG1sYGA7XG4gIH1cblxuICAvLyByZW5kZXJzIGEgbGlzdCBvZiBwb3NzaWJsZSBhbnN3ZXJzXG4gIHByaXZhdGUgX3JlbmRlckFuc3dlcnMoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cImFuc3dlcnMtLWxpc3RcIj5cbiAgICAgICAgPHVsPlxuICAgICAgICAgICR7dGhpcy5fYW5zd2Vycy5tYXAoXG4gICAgICAoYW5zd2VyKSA9PlxuICAgICAgICBodG1sYDxsaSBAY2xpY2s9XCIke3RoaXMuX2hhbmRsZUFuc3dlckNsaWNrZWR9XCI+JHthbnN3ZXJ9PC9saT5gLFxuICAgICl9XG4gICAgICAgIDwvdWw+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG5cbiAgLy8gcmVuZGVycyB0aGUgY3VycmVudCBxdWVzdGlvbiBzY29yZVxuICAvLyBpdCBjb3VudHMgYmFjayB0byAwXG4gIHByaXZhdGUgX3JlbmRlckdhbWVTY29yZSgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwiZ2FtZS1zY29yZS0tdG90YWxcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdhbWUtc2NvcmUtLWxhYmVsXCI+JHt0aGlzLmkxOG4udHJhbnNsYXRlKFwicXVlc3Rpb24tbnVtYmVyXCIpfTo8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdhbWUtc2NvcmUtLXZhbHVlXCI+XG4gICAgICAgICAgJHt0aGlzLl9udW1iZXJPZlF1ZXN0aW9uc1NlZW59IHZhbiAke3RoaXMubnVtYmVyT2ZRdWVzdGlvbnN9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJnYW1lLXNjb3JlLS1zY29yZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ2FtZS1zY29yZS0tbGFiZWxcIj4ke3RoaXMuaTE4bi50cmFuc2xhdGUoXCJxdWVzdGlvbi1zY29yZVwiKX06PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnYW1lLXNjb3JlLS12YWx1ZVwiPiR7dGhpcy5fc2NvcmUwLnZhbHVlfTwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJnYW1lLXNjb3JlLS10b3RhbFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ2FtZS1zY29yZS0tbGFiZWxcIj4ke3RoaXMuaTE4bi50cmFuc2xhdGUoXCJ0b3RhbC1zY29yZVwiKX06PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnYW1lLXNjb3JlLS12YWx1ZVwiPiR7dGhpcy50b3RhbFNjb3JlfTwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxuXG4gIC8vIGhhbmRsZXMgdGhlIGNsaWNrIG9uIGFuIGFuc3dlclxuICBwcml2YXRlIF9oYW5kbGVBbnN3ZXJDbGlja2VkKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAvLyBnZXQgdGhlIGNsaWNrZWQgYW5zd2VyXG4gICAgY29uc3QgYW5zd2VyID0gZXZlbnQudGFyZ2V0LnRleHRDb250ZW50O1xuXG4gICAgLy8gc3RvcCB0aGUgc2NvcmUgY291bnRlclxuICAgIHRoaXMuX3Njb3JlMC5zdG9wKCk7XG5cbiAgICAvLyByZW1vdmUgdGhlIGhpbnQgYnV0dG9uXG4gICAgdGhpcy5fc2hvd0hpbnQgPSBmYWxzZTtcblxuICAgIC8vIGNoZWNrIGlmIHRoZSBhbnN3ZXIgaXMgY29ycmVjdFxuICAgIGlmIChhbnN3ZXIpIHtcbiAgICAgIC8vIHRoaXMuX2FwaVNlcnZpY2UucG9zdEluY2lkZW50QW5zd2VyKHRoaXMuX2luY2lkZW50Py5pZCwgYW5zd2VyKTtcbiAgICAgIGNvbnNvbGUuaW5mbyhcbiAgICAgICAgYW5zd2VyLFxuICAgICAgICB0aGlzLl9zb2x1dGlvbixcbiAgICAgICAgdGhpcy5fc2NvcmUsXG4gICAgICAgIGFuc3dlciA9PSB0aGlzLl9zb2x1dGlvbixcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuX2Fuc3dlciA9IGFuc3dlcjtcbiAgICB9XG4gIH1cblxuICAvLyByZW5kZXJzIHRoZSByZXF1ZXN0ZWQgaGludFxuICBwcml2YXRlIF9yZW5kZXJIaW50KCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBpZiAoIXRoaXMuX2hpbnQpIHtcbiAgICAgIHJldHVybiBodG1sYGA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGh0bWxgIDxwPiR7dGhpcy5faGludH08L3A+IGA7XG4gIH1cblxuICAvLyByZW5kZXJzIHRoZSBoaW50IGJ1dHRvbiB1bnRpbFxuICAvLyBhbGwgbWF4IGhpbnRzIGhhdmUgYmVlbiB1c2VkXG4gIHByaXZhdGUgX3JlbmRlckhpbnRCdXR0b24oKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGlmICghdGhpcy5fc2hvd0hpbnQpIHtcbiAgICAgIHJldHVybiBodG1sYGA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwiZ2FtZS1jb250cm9scy0taGludFwiPlxuICAgICAgICA8YnV0dG9uIEBjbGljaz1cIiR7dGhpcy5faGFuZGxlSGludENsaWNrZWR9XCI+XG4gICAgICAgICAke3RoaXMuaTE4bi50cmFuc2xhdGUoXCJzaG93LWhpbnRcIil9ICgke3RoaXMubWF4SGludHMgLSB0aGlzLl9oaW50c0luZGV4fSlcbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG5cbiAgLy8gaGFuZGxlcyB0aGUgY2xpY2sgb24gdGhlIGhpbnQgYnV0dG9uXG4gIC8vIGFuZCBzaG93cyB0aGUgbmV4dCBoaW50IGlmIGF2YWlsYWJsZVxuICAvLyBzdWJ0cmFjdHMgdGhlIGNvc3Qgb2YgdGhlIGhpbnQgZnJvbVxuICAvLyB0aGUgcXVlc3Rpb24gc2NvcmVcbiAgcHJpdmF0ZSBfaGFuZGxlSGludENsaWNrZWQoKTogdm9pZCB7XG4gICAgY29uc29sZS5pbmZvKFwiaGFuZGxlSGludENsaWNrZWRcIiwgW3RoaXMuX2hpbnRzSW5kZXgsIHRoaXMuX2hpbnRzLmxlbmd0aF0pO1xuXG4gICAgaWYgKHRoaXMuX2hpbnRzSW5kZXggPCB0aGlzLl9oaW50cy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IGhpbnRUZXh0ID0gdGhpcy5fZ2VuZXJhdGVIaW50VGV4dCh0aGlzLl9oaW50c1t0aGlzLl9oaW50c0luZGV4XSk7XG5cbiAgICAgIGlmIChoaW50VGV4dCkge1xuICAgICAgICB0aGlzLl9oaW50ID0gaGludFRleHQ7XG4gICAgICAgIHRoaXMuX2hpbnRzSW5kZXgrKztcbiAgICAgICAgdGhpcy5fc2NvcmUwLnN1YnRyYWN0KEhJTlRfQ09TVCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2hpbnRzSW5kZXggPj0gdGhpcy5faGludHMubGVuZ3RoKSB7XG4gICAgICAvLyB0aGlzLl9oaW50c0luZGV4ID0gMDtcbiAgICAgIHRoaXMuX3Nob3dIaW50ID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLy8gcmVuZGVycyB0aGUgZmVlZGJhY2sgb3ZlcmxheVxuICBwcml2YXRlIF9yZW5kZXJGZWVkYmFjaygpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgLy8gZG8gbm90IHNob3cgYW55dGhpbmcgdW50aWwgYW4gYW5zd2VyIGhhcyBiZWVuIG1hZGVcbiAgICAvLyBhbmQgdGhlIHNjb3JlIGlzIGdyZWF0ZXIgdGhhbiAwXG4gICAgaWYgKCF0aGlzLl9hbnN3ZXIgJiYgdGhpcy5fc2NvcmUwLnZhbHVlID4gMCkge1xuICAgICAgcmV0dXJuIGh0bWxgYDtcbiAgICB9XG5cbiAgICAvLyBjaGVjayBpZiB0aGUgYW5zd2VyIGlzIGNvcnJlY3RcbiAgICAvLyBjYXN0IHRvIHN0cmluZ3MgdG8gY29tcGFyZVxuICAgIGNvbnN0IGlzX2NvcnJlY3QgPSB0aGlzLl9hbnN3ZXIgKyBcIlwiID09IHRoaXMuX3NvbHV0aW9uICsgXCJcIjtcbiAgICBjb25zdCBzY29yZSA9IGlzX2NvcnJlY3QgPyB0aGlzLl9zY29yZTAudmFsdWUgOiAwO1xuXG4gICAgaWYgKHRoaXMuX3Njb3JlMC5pc1J1bm5pbmcoKSkge1xuICAgICAgdGhpcy5fc2NvcmUwLnN0b3AoKTtcbiAgICB9XG5cbiAgICB0aGlzLnRvdGFsU2NvcmUgKz0gc2NvcmU7XG5cbiAgICBpZiAoaXNfY29ycmVjdCkge1xuICAgICAgcmV0dXJuIGh0bWxgXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmZWVkYmFja1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZWVkYmFjay0tY29udGVudFwiPlxuICAgICAgICAgICAgPGgzPiR7dGhpcy5pMThuLnRyYW5zbGF0ZShcImFuc3dlci1jb3JyZWN0XCIpfSE8L2gzPlxuICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICR7dGhpcy5faGludHNJbmRleCA9PSAxID8gdGhpcy5pMThuLnRyYW5zbGF0ZShcInVzZWQtaGludC1zaW5ndWxhclwiKSA6IHRoaXMuaTE4bi50cmFuc2xhdGUoXCJ1c2VkLWhpbnQtcGx1cmFsXCIpLnJlcGxhY2UoL19fSElOVFNfXy8sIHRoaXMuX2hpbnRzSW5kZXggKyAnJyl9XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgJHtzY29yZSA9PSAxID8gdGhpcy5pMThuLnRyYW5zbGF0ZShcIm51bWJlci1wb2ludHMtc2luZ3VsYXJcIikgOiB0aGlzLmkxOG4udHJhbnNsYXRlKFwibnVtYmVyLXBvaW50cy1wbHVyYWxcIikucmVwbGFjZSgvX19QT0lOVFNfXy8sIHNjb3JlICsgJycpfVxuICAgICAgICAgICAgPC9wPlxuXG4gICAgICAgICAgICAke3RoaXMuX3JlbmRlck5leHRRdWVzdGlvbkJ1dHRvbigpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIGA7XG4gICAgfSBlbHNlIGlmICghaXNfY29ycmVjdCAmJiB0aGlzLl9hbnN3ZXIpIHtcbiAgICAgIHJldHVybiBodG1sYFxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmVlZGJhY2tcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmVlZGJhY2stLWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxoMz4ke3RoaXMuaTE4bi50cmFuc2xhdGUoXCJhbnN3ZXItd3JvbmdcIil9PC9oMz5cbiAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAke3RoaXMuaTE4bi50cmFuc2xhdGUoXCJjb3JyZWN0LWFuc3dlci13YXNcIikucmVwbGFjZSgvX19XUk9OR19fLywgdGhpcy5fYW5zd2VyICsgJycpLnJlcGxhY2UoL19fQ09SUkVDVF9fLywgdGhpcy5fc29sdXRpb24gKyAnJyl9XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAke3RoaXMuX3JlbmRlck5leHRRdWVzdGlvbkJ1dHRvbigpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIGA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBodG1sYFxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmVlZGJhY2tcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmVlZGJhY2stLWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxoMz5IZWxhYXM8L2gzPlxuICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAke3RoaXMuaTE4bi50cmFuc2xhdGUoXCJuby1hbnN3ZXItY29ycmVjdC1hbnN3ZXItd2FzXCIpLnJlcGxhY2UoL19fQ09SUkVDVF9fLywgdGhpcy5fc29sdXRpb24gKyAnJyl9XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAke3RoaXMuX3JlbmRlck5leHRRdWVzdGlvbkJ1dHRvbigpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIGA7XG4gICAgfVxuICB9XG5cbiAgLy8gcmVuZGVycyB0aGUgbmV4dCBxdWVzdGlvbiBidXR0b25cbiAgcHJpdmF0ZSBfcmVuZGVyTmV4dFF1ZXN0aW9uQnV0dG9uKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBpZiAodGhpcy5fbnVtYmVyT2ZRdWVzdGlvbnNTZWVuIDwgdGhpcy5udW1iZXJPZlF1ZXN0aW9ucykge1xuICAgICAgcmV0dXJuIGh0bWxgXG4gICAgICAgIDxidXR0b24gQGNsaWNrPVwiJHt0aGlzLl9sb2FkUXVlc3Rpb259XCI+JHt0aGlzLmkxOG4udHJhbnNsYXRlKFwibmV4dC1xdWVzdGlvblwiKX08L2J1dHRvbj5cbiAgICAgIGA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGh0bWxgIDxidXR0b24gQGNsaWNrPVwiJHt0aGlzLl9lbmRHYW1lfVwiPiR7dGhpcy5pMThuLnRyYW5zbGF0ZShcInF1aXRcIil9PC9idXR0b24+IGA7XG4gIH1cblxuICAvLyByZW5kZXJzIHRoZSBlbmQgb2YgdGhlIGdhbWVcbiAgcHJpdmF0ZSBfZW5kR2FtZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9yZW5kZXJTdGF0ZSA9IEdhbWVTdGF0ZS5FTkQ7XG4gIH1cblxuICBwcml2YXRlIHJlbmRlckdhbWVFbmQoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIC8vIGNsZWFySW50ZXJ2YWwodGhpcy5fc2NvcmVJbnRlcnZhbEhhbmRsZXIpO1xuXG4gICAgY29uc29sZS5kZWJ1ZyhcInJlbmRlckdhbWVFbmRcIik7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICAke3RoaXMuX3JlbmRlckhlYWRlcihcIlRoZSBlbmQhXCIpfVxuICAgICAgPGRpdiBjbGFzcz1cImd1ZXNzLXRoZS15ZWFyLWdhbWUtZW5kXCI+JHt0aGlzLmkxOG4udHJhbnNsYXRlKFwiZW5kXCIpfTwvZGl2PlxuICAgICAgPGJ1dHRvbiBAY2xpY2s9XCIkeygpID0+ICh0aGlzLl9yZW5kZXJTdGF0ZSA9IEdhbWVTdGF0ZS5TUExBU0gpfVwiPlxuICAgICAgJHt0aGlzLmkxOG4udHJhbnNsYXRlKFwibmV3LWdhbWVcIil9XG4gICAgICA8L2J1dHRvbj5cbiAgICAgICR7dGhpcy5fcmVuZGVyRm9vdGVyKCl9XG4gICAgYDtcbiAgfVxuXG4gIC8vIHByaXZhdGUgX2luY2lkZW50c1N0YWNrID0gW107XG5cbiAgLy8gcHJpdmF0ZSBfdG90YWxTY29yZTogbnVtYmVyID0gMDtcblxuICBwcml2YXRlIHNldHVwTmV3R2FtZSgpOiB2b2lkIHtcbiAgICBjb25zb2xlLmxvZyhcIm5ldyBnYW1lIVwiKTtcblxuICAgIGNvbnNvbGUuaW5mbyh7XG4gICAgICBcIm51bWJlciBvZiBxdWVzdGlvbnNcIjogdGhpcy5udW1iZXJPZlF1ZXN0aW9ucyxcbiAgICAgIGZyb206IHRoaXMuZnJvbS50b0lTT1N0cmluZygpLFxuICAgICAgdG86IHRoaXMudG8udG9JU09TdHJpbmcoKSxcbiAgICB9KTtcblxuICAgIHRoaXMudG90YWxTY29yZSA9IDA7XG4gICAgdGhpcy5fbnVtYmVyT2ZRdWVzdGlvbnNTZWVuID0gMDtcblxuICAgIC8vIHRoaXMuX3F1ZXN0aW9uLmxvYWQodGhpcy5mcm9tLmZvcm1hdCgnWVlZWScpLCB0aGlzLnRvLmZvcm1hdCgnWVlZWScpKTtcbiAgICAvLyB0aGlzLl9xdWVzdGlvbi5pbml0KCk7XG5cbiAgICB0aGlzLl9sb2FkUXVlc3Rpb24oKTtcbiAgfVxuXG4gIHByaXZhdGUgX3Jlc2V0U3RhZ2UoKTogdm9pZCB7XG4gICAgLy8gd2luZG93LnNjcm9sbFRvKDAsIDApO1xuICAgIHRoaXMuc291cmNlcyA9IFtdO1xuICAgIHRoaXMuX2luY2lkZW50ID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuX2hpbnRzID0gW107XG4gICAgdGhpcy5fYW5zd2VyID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuX2Fuc3dlcnMgPSBbXTtcbiAgICB0aGlzLl9oaW50c0luZGV4ID0gMDtcbiAgICB0aGlzLl9zY29yZTAucmVzZXQoKTtcbiAgICB0aGlzLl9zaG93SGludCA9IGZhbHNlO1xuICAgIHRoaXMuX2hpbnQgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBhc3luYyBfbG9hZFF1ZXN0aW9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuX3Jlc2V0U3RhZ2UoKTtcblxuICAgIGNvbnN0IHJlc3BvbnNlOiB7IGluY2lkZW50OiBJbmNpZGVudCB8IHVuZGVmaW5lZDsgc291cmNlczogc3RyaW5nW10gfSA9XG4gICAgICBhd2FpdCB0aGlzLl9hcGlTZXJ2aWNlLmZldGNoT25lSW5jaWRlbnQoXG4gICAgICAgIHRoaXMuY291bnRyeSxcbiAgICAgICAgdGhpcy5jYXRlZ29yeSxcbiAgICAgICAgdGhpcy5lbW90aW9uLFxuICAgICAgICB0aGlzLmltcGFjdCxcbiAgICAgICAgdGhpcy5kYXRlLFxuICAgICAgICB0aGlzLmZyb20uZm9ybWF0KFwiWVlZWS1NTS1ERFwiKSxcbiAgICAgICAgdGhpcy50by5mb3JtYXQoXCJZWVlZLU1NLUREXCIpLFxuICAgICAgICBcIjQwXCIsXG4gICAgICAgIFwicXVpel95ZWFyXCJcbiAgICAgICk7XG5cbiAgICB0aGlzLl9zdGFydFRpbWUgPSBuZXcgRGF0ZSgpO1xuICAgIHRoaXMuX2VuZFRpbWUgPSBuZXcgRGF0ZSgpO1xuICAgIHRoaXMuX2luY2lkZW50ID0gcmVzcG9uc2UuaW5jaWRlbnQ7XG4gICAgdGhpcy5zb3VyY2VzID0gcmVzcG9uc2Uuc291cmNlcztcbiAgICB0aGlzLl90cmllcyA9IHRoaXMubWF4VHJpZXM7XG5cbiAgICB0aGlzLl9zb2x1dGlvbiA9IE51bWJlcihcbiAgICAgIChyZXNwb25zZS5pbmNpZGVudD8ueWVhcnBsdXNtb250aCB8fCBcIlwiKS5zdWJzdHJpbmcoMCwgNCksXG4gICAgKTtcblxuICAgIGNvbnN0IGFuc3dlcnMgPSBbdGhpcy5fc29sdXRpb25dO1xuICAgIGNvbnN0IGZyb20gPSB0aGlzLmZyb20ueWVhcigpO1xuICAgIGNvbnN0IHRvID0gdGhpcy50by55ZWFyKCk7XG5cbiAgICAvLyBnZW5lcmF0ZSAzIG1vcmUgcmFuZG9tIGFuZCB1bmlxdWUgYW5zd2VycyBiZXR3ZWVuIHRvIGFuZCBmcm9tXG4gICAgd2hpbGUgKGFuc3dlcnMubGVuZ3RoIDwgNCkge1xuICAgICAgY29uc3QgcmFuZG9tQW5zd2VyID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKHRvIC0gZnJvbSkpICsgZnJvbTtcbiAgICAgIGlmICghYW5zd2Vycy5pbmNsdWRlcyhyYW5kb21BbnN3ZXIpKSB7XG4gICAgICAgIGFuc3dlcnMucHVzaChyYW5kb21BbnN3ZXIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIHNvcnQgdGhlc2VzIGFuc3dlcnNcbiAgICBhbnN3ZXJzLnNvcnQoKTtcblxuICAgIHRoaXMuX2Fuc3dlcnMgPSBhbnN3ZXJzO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLm1heEhpbnRzOyBpKyspIHtcbiAgICAgIGNvbnNvbGUuaW5mbyhcImxvYWRpbmcgaGludFwiLCBpKTtcblxuICAgICAgY29uc3QgcmVzcG9uc2U6IHsgaW5jaWRlbnQ6IEluY2lkZW50IHwgdW5kZWZpbmVkOyBzb3VyY2VzOiBzdHJpbmdbXSB9ID1cbiAgICAgICAgYXdhaXQgdGhpcy5fYXBpU2VydmljZS5mZXRjaE9uZUluY2lkZW50KFxuICAgICAgICAgIHRoaXMuY291bnRyeSxcbiAgICAgICAgICBVdGlsLnNodWZmbGVBcnJheShDYXRlZ29yaWVzKS5zaGlmdCgpLFxuICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgXCJcIixcbiAgICAgICAgICBgJHt0aGlzLl9zb2x1dGlvbn0tMDEtMDFgLFxuICAgICAgICAgIGAke3RoaXMuX3NvbHV0aW9ufS0xMi0zMWAsXG4gICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgKTtcblxuICAgICAgaWYgKHJlc3BvbnNlLmluY2lkZW50KSB7XG4gICAgICAgIHRoaXMuX2hpbnRzLnB1c2gocmVzcG9uc2UuaW5jaWRlbnQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLl9oaW50cy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuX3Nob3dIaW50ID0gZmFsc2U7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5fc2hvd0hpbnQgPSB0cnVlO1xuICAgIH1cblxuICAgIC8vIHN0YXJ0IHJlbmRlciBnYW1lIHN0YWdlXG4gICAgdGhpcy5fcmVuZGVyU3RhdGUgPSBHYW1lU3RhdGUuUExBWTtcblxuICAgIC8vIHN0YXJ0IHNjb3JlIGNvdW50ZXJcbiAgICB0aGlzLl9zY29yZTAuc3RhcnQoKTtcblxuICAgIC8vIGluY3JlbWVudCBxdWVzdGlvbiBjb3VudGVyXG4gICAgdGhpcy5fbnVtYmVyT2ZRdWVzdGlvbnNTZWVuICs9IDE7XG4gIH1cblxuICByZW5kZXJSZWZyZXNoQnV0dG9uKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGA8ZGl2IGNsYXNzPVwicmVmcmVzaFwiIGlkPVwicmVmcmVzaFwiIEBjbGljaz1cIiR7dGhpcy5zZXR1cE5ld0dhbWV9XCI+XG4gICAgICA8c3Bhbj4ke3Vuc2FmZUhUTUwoUmVmcmVzaEljb25TVkcpfTwvc3Bhbj5cbiAgICA8L2Rpdj5gO1xuICB9XG5cbiAgcmVuZGVyU3RvcEdhbWVCdXR0b24oKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYDxkaXZcbiAgICAgIGNsYXNzPVwic3RvcC1nYW1lXCJcbiAgICAgIGlkPVwic3RvcC1nYW1lXCJcbiAgICAgIEBjbGljaz1cIiR7KCkgPT4ge1xuICAgICAgICB0aGlzLl9kaXNwbGF5U29sdXRpb24gPSB0cnVlO1xuICAgICAgfX1cIlxuICAgID5cbiAgICAgIDxzcGFuPiR7dW5zYWZlSFRNTChTb2x1dGlvbkljb25TVkcpfTwvc3Bhbj5cbiAgICA8L2Rpdj5gO1xuICB9XG5cbiAgcmVuZGVyRmVlZGJhY2tQb3NzaWJpbGl0eSgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgaWYgKHRoaXMuc2hvd0ZlZWRiYWNrKSB7XG4gICAgICByZXR1cm4gaHRtbGA8ZGl2IGNsYXNzPVwiZmVlZGJhY2stcG9zc2liaWxpdHlcIj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgIGlkPVwiZmVlZGJhY2tcIlxuICAgICAgICAgIHNpemU9XCIxNVwiXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCIke3RoaXMuaTE4bi50cmFuc2xhdGUoXCJ5b3VyLWZlZWRiYWNrXCIpfVwiXG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5gO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gaHRtbGBgO1xuICAgIH1cbiAgfVxuXG4gIHJlbmRlclN1Ym1pdFBvc3NpYmlsaXR5KCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGA8ZGl2IGNsYXNzPVwic3VibWl0LXBvc3NpYmlsaXR5XCI+XG4gICAgICA8aW5wdXRcbiAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICBpZD1cImFuc3dlclwiXG4gICAgICAgIHNpemU9XCIxNVwiXG4gICAgICAgID9kaXNhYmxlZD0ke3RoaXMuX2Rpc3BsYXlTb2x1dGlvbn1cbiAgICAgICAgcGxhY2Vob2xkZXI9XCIke3RoaXMuaTE4bi50cmFuc2xhdGUoXCJ5b3VyLWFuc3dlclwiKX1cIlxuICAgICAgLz5cbiAgICAgICR7dGhpcy5yZW5kZXJUcmllcygpfVxuICAgIDwvZGl2PmA7XG4gIH1cblxuICByZW5kZXJUcmllcygpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3QgaTE4bktleSA9IHRoaXMuX3RyaWVzID4gMSA/IFwidHJpZXMtbGVmdFwiIDogXCJ0cnktbGVmdFwiO1xuICAgIGlmICh0aGlzLl90cmllcyA+PSAwICYmICF0aGlzLl9kaXNwbGF5U29sdXRpb24pIHtcbiAgICAgIHJldHVybiBodG1sYDxzcGFuIGNsYXNzPVwidHJpZXNcIlxuICAgICAgICA+JHt0aGlzLmkxOG5cbiAgICAgICAgICAudHJhbnNsYXRlKGkxOG5LZXkpXG4gICAgICAgICAgLnJlcGxhY2UoXCJfX1RSSUVTX19cIiwgXCJcIiArIHRoaXMuX3RyaWVzKX08L3NwYW5cbiAgICAgID5gO1xuICAgIH1cbiAgICByZXR1cm4gaHRtbGBgO1xuICB9XG5cbiAgcmVuZGVyVGhlU29sdXRpb24oKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGlmICh0aGlzLl9kaXNwbGF5U29sdXRpb24pIHtcbiAgICAgIHJldHVybiBodG1sYDxkaXYgY2xhc3M9XCJzb2x1dGlvblwiPiR7dGhpcy5fc29sdXRpb259PC9kaXY+XG4gICAgICAgICR7dGhpcy5yZW5kZXJUaGVEdXJhdGlvbigpfSBgO1xuICAgIH1cbiAgICByZXR1cm4gaHRtbGBgO1xuICB9XG5cbiAgcmVuZGVyVGhlRHVyYXRpb24oKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGNvbnN0IGR1cmF0aW9uID0gTWF0aC5yb3VuZChcbiAgICAgIG5ldyBEYXRlKHRoaXMuX2VuZFRpbWUuZ2V0VGltZSgpIC0gdGhpcy5fc3RhcnRUaW1lLmdldFRpbWUoKSkuZ2V0VGltZSgpIC9cbiAgICAgIDEwMDAsXG4gICAgKTtcbiAgICBjb25zdCBpMThuS2V5ID0gZHVyYXRpb24gPT09IDEgPyBcImluLXgtc2Vjb25kc1wiIDogXCJpbi1vbmUtc2Vjb25kXCI7XG4gICAgaWYgKHRoaXMuc2hvd0R1cmF0aW9uICYmIHRoaXMuX2Fuc3dlcmVkQ29ycmVjdGx5KSB7XG4gICAgICByZXR1cm4gaHRtbGA8ZGl2IGNsYXNzPVwidGltZXJcIj5cbiAgICAgICAgJHt0aGlzLmkxOG4udHJhbnNsYXRlKGkxOG5LZXkpLnJlcGxhY2UoXCJfX1NFQ09ORFNfX1wiLCBcIlwiICsgZHVyYXRpb24pfVxuICAgICAgPC9kaXY+YDtcbiAgICB9XG4gICAgcmV0dXJuIGh0bWxgYDtcbiAgfVxuXG4gIHJlbmRlclRpbGVzKGluY2lkZW50OiBJbmNpZGVudCB8IHVuZGVmaW5lZCkge1xuICAgIGNvbnNvbGUuZGVidWcoXCJyZW5kZXJUaWxlc1wiKTtcbiAgICBpZiAoIWluY2lkZW50KSB7XG4gICAgICByZXR1cm4gXCJcIjtcbiAgICB9XG4gICAgcmV0dXJuIGh0bWxgJHt0aGlzLnJlbmRlclRpbGUoaW5jaWRlbnQpfWA7XG4gIH1cblxuICBwcml2YXRlIF90aWxlU2hvdWxkRGlzcGxheUFuSW1hZ2UoaW5jaWRlbnQ6IEluY2lkZW50KTogYm9vbGVhbiB7XG4gICAgY29uc3QgaGFzSW1hZ2UgPSAhIWluY2lkZW50LmltYWdlO1xuICAgIGNvbnN0IGRpc3BsYXlJbWFnZXMgPSAhdGhpcy5zdXBwcmVzc0ltYWdlcztcbiAgICByZXR1cm4gaGFzSW1hZ2UgJiYgZGlzcGxheUltYWdlcztcbiAgfVxuXG4gIHJlbmRlclRpbGUoaW5jaWRlbnQ6IEluY2lkZW50KTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGNvbnNvbGUuZGVidWcoXCJyZW5kZXJUaWxlXCIpO1xuICAgIGNvbnN0IHRpbGVDb250ZW50OiBUZW1wbGF0ZVJlc3VsdCA9IHRoaXMucmVuZGVyVGlsZUNvbnRlbnQoaW5jaWRlbnQpO1xuICAgIGlmICh0aGlzLl90aWxlU2hvdWxkRGlzcGxheUFuSW1hZ2UoaW5jaWRlbnQpKSB7XG4gICAgICByZXR1cm4gaHRtbGA8ZGl2IGNsYXNzPVwiZ3Vlc3MtdGhlLXllYXItdGlsZSB3aXRoLWltYWdlXCI+XG4gICAgICAgICR7dGlsZUNvbnRlbnR9XG4gICAgICA8L2Rpdj5gO1xuICAgIH1cblxuICAgIHJldHVybiBodG1sYDxkaXYgY2xhc3M9XCJndWVzcy10aGUteWVhci10aWxlXCI+JHt0aWxlQ29udGVudH08L2Rpdj5gO1xuICB9XG5cbiAgcmVuZGVyVGlsZUNvbnRlbnQoaW5jaWRlbnQ6IEluY2lkZW50KTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGNvbnNvbGUuZGVidWcoXCJyZW5kZXJUaWxlQ29udGVudFwiKTtcbiAgICByZXR1cm4gaHRtbGA8ZGl2IGNsYXNzPVwiZ3Vlc3MtdGhlLXllYXItdGlsZS1jb250ZW50XCI+XG4gICAgICAke3RoaXMucmVuZGVyVGlsZVRpdGxlKGluY2lkZW50KX0gJHt0aGlzLnJlbmRlclRpbGVJbWFnZShpbmNpZGVudCl9XG4gICAgICAke3RoaXMucmVuZGVyVGlsZVRleHRDb250ZW50KGluY2lkZW50KX1cbiAgICA8L2Rpdj5gO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2VuZXJhdGVIaW50VGV4dChoaW50SW5jaWRlbnQ6IEluY2lkZW50KTogc3RyaW5nIHtcbiAgICBsZXQgaGludCA9IFwiXCI7XG4gICAgY29uc3QgaGludFRlbXBsYXRlcyA9IHRoaXMuaTE4bi5IaW50VGVtcGxhdGVzW2hpbnRJbmNpZGVudC5jYXRlZ29yeV07XG4gICAgc3dpdGNoIChoaW50SW5jaWRlbnQuY2F0ZWdvcnkpIHtcbiAgICAgIGNhc2UgXCJuZXdzSXRlbVwiOlxuICAgICAgICBoaW50ID0gKFxuICAgICAgICAgIGhpbnRUZW1wbGF0ZXNbTWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpICogaGludFRlbXBsYXRlcy5sZW5ndGgpXSB8fCBcIlwiXG4gICAgICAgICkucmVwbGFjZSgvX19USVRMRV9fLywgaGludEluY2lkZW50LnRpdGxlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFwicmFkaW9Tb25nXCI6XG4gICAgICAgIC8vIFRoZSB0aXRsZSBwcm9wZXJ0eSBvZiByYWRpb1NvbmdzIGFsd2F5cyBmb2xsb3cgdGhpcyBwYXR0ZXJuOiB0cmFjayAtIGFydGlzdFxuICAgICAgICBjb25zdCB0cmFjayA9IGhpbnRJbmNpZGVudC50aXRsZS5yZXBsYWNlKC8oLio/KVxccytcXC0uKi8sIFwiJDFcIik7XG4gICAgICAgIGNvbnN0IGFydGlzdCA9IGhpbnRJbmNpZGVudC50aXRsZS5yZXBsYWNlKC8uKlxcLSguKikvLCBcIiQxXCIpO1xuICAgICAgICBoaW50ID0gKFxuICAgICAgICAgIGhpbnRUZW1wbGF0ZXNbTWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpICogaGludFRlbXBsYXRlcy5sZW5ndGgpXSB8fFxuICAgICAgICAgIGhpbnRUZW1wbGF0ZXNbMF1cbiAgICAgICAgKVxuICAgICAgICAgIC5yZXBsYWNlKC9fX0FSVElTVF9fLywgYXJ0aXN0KVxuICAgICAgICAgIC5yZXBsYWNlKC9fX1RSQUNLX18vLCB0cmFjayk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBcImNpbmVtYU1vdmllXCI6XG4gICAgICAgIGhpbnQgPSAoXG4gICAgICAgICAgaGludFRlbXBsYXRlc1tNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiBoaW50VGVtcGxhdGVzLmxlbmd0aCldIHx8XG4gICAgICAgICAgaGludFRlbXBsYXRlc1swXVxuICAgICAgICApLnJlcGxhY2UoL19fVElUTEVfXy8sIGhpbnRJbmNpZGVudC50aXRsZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBcInRlY2hcIjpcbiAgICAgICAgaGludCA9IChcbiAgICAgICAgICBoaW50VGVtcGxhdGVzW01hdGgucm91bmQoTWF0aC5yYW5kb20oKSAqIGhpbnRUZW1wbGF0ZXMubGVuZ3RoKV0gfHxcbiAgICAgICAgICBoaW50VGVtcGxhdGVzWzBdXG4gICAgICAgICkucmVwbGFjZSgvX19USVRMRV9fLywgaGludEluY2lkZW50LnRpdGxlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFwibmV3c1ByZXNlbnRlclwiOlxuICAgICAgICBoaW50ID0gKFxuICAgICAgICAgIGhpbnRUZW1wbGF0ZXNbTWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpICogaGludFRlbXBsYXRlcy5sZW5ndGgpXSB8fFxuICAgICAgICAgIGhpbnRUZW1wbGF0ZXNbMF1cbiAgICAgICAgKS5yZXBsYWNlKC9fX1RJVExFX18vLCBoaW50SW5jaWRlbnQudGl0bGUpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgXCJzcG9ydHNcIjpcbiAgICAgICAgaGludCA9IChcbiAgICAgICAgICBoaW50VGVtcGxhdGVzW01hdGgucm91bmQoTWF0aC5yYW5kb20oKSAqIGhpbnRUZW1wbGF0ZXMubGVuZ3RoKV0gfHxcbiAgICAgICAgICBoaW50VGVtcGxhdGVzWzBdXG4gICAgICAgICkucmVwbGFjZSgvX19USVRMRV9fLywgaGludEluY2lkZW50LnRpdGxlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHJldHVybiBoaW50O1xuICB9XG5cbiAgcmVuZGVySGludFRpbGUoaGludDogSW5jaWRlbnQgfCB1bmRlZmluZWQpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgaWYgKGhpbnQpIHtcbiAgICAgIGNvbnNvbGUuZGVidWcoXCJyZW5kZXJIaW50XCIpO1xuICAgICAgcmV0dXJuIGh0bWxgPGRpdiBjbGFzcz1cImd1ZXNzLXRoZS15ZWFyLWhpbnQtdGlsZVwiPlxuICAgICAgICA8aDEgY2xhc3M9XCJ0aXRsZVwiPlxuICAgICAgICAgIEhpbnQgJHt0aGlzLl9pbnRlcnZhbHNQYXNzZWR9IDxiciAvPlxuICAgICAgICAgICR7dGhpcy5fZ2VuZXJhdGVIaW50VGV4dChoaW50KX1cbiAgICAgICAgPC9oMT5cbiAgICAgICAgJHt0aGlzLnJlbmRlclRpbGVUZXh0Q29udGVudChoaW50KX1cbiAgICAgIDwvZGl2PmA7XG4gICAgfVxuICAgIHJldHVybiBodG1sYGA7XG4gIH1cblxuICByZW5kZXJUaWxlVGl0bGUoaW5jaWRlbnQ6IEluY2lkZW50KTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGNvbnNvbGUuZGVidWcoXCJyZW5kZXJUaWxlVGl0bGVcIik7XG4gICAgaWYgKGluY2lkZW50LnRpdGxlKSB7XG4gICAgICByZXR1cm4gaHRtbGA8aDEgY2xhc3M9XCJndWVzcy10aGUteWVhci10aWxlLXRpdGxlXCI+JHtpbmNpZGVudC50aXRsZX08L2gxPmA7XG4gICAgfVxuICAgIHJldHVybiBodG1sYGA7XG4gIH1cblxuICByZW5kZXJUaWxlSW1hZ2UoaW5jaWRlbnQ6IEluY2lkZW50KTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGNvbnNvbGUuZGVidWcoXCJyZW5kZXJUaWxlSW1hZ2VcIik7XG4gICAgaWYgKHRoaXMuX3RpbGVTaG91bGREaXNwbGF5QW5JbWFnZShpbmNpZGVudCkpIHtcbiAgICAgIHJldHVybiBodG1sYDxpbWdcbiAgICAgICAgQGVycm9yPSR7KGV2dDogRXZlbnQpID0+IHtcbiAgICAgICAgICB0aGlzLl9oYW5kbGVJbWFnZUxvYWRFcnJvcihldnQsIGluY2lkZW50KTtcbiAgICAgICAgfX1cbiAgICAgICAgc3JjPSR7aW5jaWRlbnQuaW1hZ2V9XG4gICAgICAvPmA7XG4gICAgfVxuICAgIHJldHVybiBodG1sYGA7XG4gIH1cblxuICByZW5kZXJUaWxlVGV4dENvbnRlbnQoaW5jaWRlbnQ6IEluY2lkZW50KTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGNvbnNvbGUuZGVidWcoXCJyZW5kZXJUaWxlVGV4dENvbnRlbnRcIik7XG4gICAgaWYgKGluY2lkZW50LnRleHQpIHtcbiAgICAgIHJldHVybiBodG1sYDxwIGNsYXNzPVwiaGludC10ZXh0XCI+JHtpbmNpZGVudC50ZXh0fTwvcD5gO1xuICAgIH1cbiAgICByZXR1cm4gaHRtbGBgO1xuICB9XG5cbiAgcmVuZGVyU291cmNlcygpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc29sZS5kZWJ1ZyhcInJlbmRlclNvdXJjZXNcIik7XG4gICAgaWYgKCF0aGlzLnNvdXJjZXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gaHRtbGBgO1xuICAgIH1cbiAgICAvLyBkZWR1cGxpY2F0ZSBhcnJheSB2aWEgWy4uLm5ldyBTZXQodGhpcy5zb3VyY2VzKV1cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJndWVzcy10aGUteWVhci1zb3VyY2VzXCI+XG4gICAgICAgIFNvdXJjZTogJHtbLi4ubmV3IFNldCh0aGlzLnNvdXJjZXMpXS5qb2luKFwiLCBcIil9XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG5cbiAgLy8gcHJpdmF0ZSBfaW5jaWRlbnRzVGFzazogVGFzayA9IG5ldyBUYXNrKHRoaXMsIHtcbiAgLy8gICB0YXNrOiBhc3luYyAoW10pID0+IHtcbiAgLy8gICAgIGNvbnNvbGUuZGVidWcoJ2luY2lkZW50c1Rhc2snKTtcbiAgLy8gICAgIGlmICghdGhpcy5sb2FkaW5nKSB7XG4gIC8vICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gIC8vICAgICAgIGF3YWl0IHRoaXMuc2V0dXBOZXdHYW1lKCk7XG4gIC8vICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAvLyAgICAgfVxuICAvLyAgIH0sXG4gIC8vICAgYXJnczogKCkgPT4gW1xuICAvLyAgICAgdGhpcy5jb3VudHJ5LFxuICAvLyAgICAgdGhpcy5jYXRlZ29yeSxcbiAgLy8gICAgIHRoaXMuZW1vdGlvbixcbiAgLy8gICAgIHRoaXMuaW1wYWN0LFxuICAvLyAgICAgdGhpcy5kYXRlLFxuICAvLyAgICAgdGhpcy5mcm9tLFxuICAvLyAgICAgdGhpcy50byxcbiAgLy8gICBdLFxuICAvLyB9KTtcblxuICBfaGFuZGxlSW1hZ2VMb2FkRXJyb3IgPSAoZXZ0OiBFdmVudCwgaW5jaWRlbnQ6IEluY2lkZW50KSA9PiB7XG4gICAgLy8gZ3JhYiB0aGUgaW1hZ2UgZWxlbWVudCB0aGF0IHRyaWdnZXJlZCB0aGUgZXJyb3JcbiAgICBjb25zdCB0YXJnZXRJbWFnZSA9IGV2dC50YXJnZXQgYXMgSFRNTEltYWdlRWxlbWVudDtcbiAgICBjb25zb2xlLmluZm8oYEVycm9yIGxvYWRpbmcgaW1hZ2U6ICR7dGFyZ2V0SW1hZ2Uuc3JjfWApO1xuXG4gICAgLy8gZmluZCBvdXQgd2hpY2ggbm8gaW1hZ2Ugc291cmNlIG5lZWRzIHRvIGJlIHVzZWRcbiAgICBjb25zdCBub0ltYWdlU3JjID0gdGhpcy5ub0ltYWdlU3JjIHx8IE5vSW1hZ2VJbWc7XG5cbiAgICAvLyBkb24ndCB0cnkgdG8gc2V0IHRoZSBpbWFnZSBzb3VyY2UgaWYgaXRcbiAgICAvLyBoYXMgYWxyZWFkeSBiZWVuIHNldFxuICAgIGlmICh0YXJnZXRJbWFnZS5zcmMgPT0gbm9JbWFnZVNyYykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIHJlcG9ydCBicm9rZW4gaW1hZ2VzIGJhY2sgdG8gdGhlIHNlcnZlciBpZiBzZXQuXG4gICAgaWYgKHRoaXMucmVwb3J0QnJva2VuSW1hZ2VzKSB7XG4gICAgICBpZiAoaW5jaWRlbnQpIHtcbiAgICAgICAgdGhpcy5fYXBpU2VydmljZS5wb3N0QXR0cmlidXRlUXVhbGl0eUZlZWRiYWNrKFxuICAgICAgICAgIGluY2lkZW50LmlkLFxuICAgICAgICAgIFwiaW1hZ2VcIixcbiAgICAgICAgICB0YXJnZXRJbWFnZS5zcmMsXG4gICAgICAgICAgQ29udGVudEZlZWRiYWNrLmluY29ycmVjdCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyB3YWl0IGEgYml0IGJlZm9yZSBzZXR0aW5nIHRoZSBpbWFnZVxuICAgIC8vIHNvIHdlIGRvbid0IGhhbW1lciB0aGUgbm8gaW1hZ2Ugc2VydmVyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0YXJnZXRJbWFnZS5zcmMgPSBub0ltYWdlU3JjO1xuICAgIH0sIDI1MCk7XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH07XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgXCJndWVzcy10aGUteWVhclwiOiBHdWVzc1RoZVllYXI7XG4gIH1cbn1cbiIsImltcG9ydCB7IElTdHJpbmdBcnJheUhhc2ggfSBmcm9tIFwiLi4vVXRpbFwiO1xuaW1wb3J0IHsgTkwgfSBmcm9tIFwiLi9OTFwiO1xuaW1wb3J0IHsgRU4gfSBmcm9tIFwiLi9FTlwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIGkxOG4ge1xuICBIaW50VGVtcGxhdGVzOiBJU3RyaW5nQXJyYXlIYXNoO1xuXG4gIHRyYW5zbGF0ZShrZXk6IHN0cmluZyk6IHN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGkxOG5GYWN0b3J5KGxhbmd1YWdlOiBzdHJpbmcpOiBpMThuIHtcbiAgc3dpdGNoIChsYW5ndWFnZSkge1xuICAgIGNhc2UgXCJlblwiOlxuICAgICAgcmV0dXJuIG5ldyBFTigpO1xuICB9XG4gIHJldHVybiBuZXcgTkwoKTtcbn1cbiIsIi8vIFRoYW5rcyBodHRwczovL3BpY3RvZ3JhbW1lcnMuY29tL1xuZXhwb3J0IGNvbnN0IFJlZnJlc2hJY29uU1ZHID1cbiAgJzxzdmcgZmlsbD1cIiMwMDAwMDBcIiB2aWV3Qm94PVwiMCAwIDUwIDUwXCIgZW5hYmxlLWJhY2tncm91bmQ9XCJuZXcgMCAwIDY0IDY0XCIgaWQ9XCJMYXllcl8xXCIgdmVyc2lvbj1cIjEuMVwiIHhtbDpzcGFjZT1cInByZXNlcnZlXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiPjxnPjxwYXRoIGQ9XCJNMzQuNjA2LDQxLjg5NWMtMC41MTMsMC0xLjAzMi0wLjAwMy0xLjU3Ni0wLjAxMWMtMi42Mi0wLjAzNy01Ljg4MS0wLjA4NC03LjIyOS0zLjUyNCAgIGMtMC44MTUtMi4wODEtMC42NDEtNC44NTQtMC41MTMtNi44ODFsMC4wNDctMC43OTJjMC4wMjktMC41NTIsMC41MDItMC45ODMsMS4wNTEtMC45NDdjMC41NTIsMC4wMjksMC45NzYsMC40OTksMC45NDcsMS4wNTEgICBsLTAuMDQ5LDAuODE0Yy0wLjExNiwxLjgzOS0wLjI3NSw0LjM1NywwLjM3OCw2LjAyNGMwLjgwMiwyLjA0MywyLjU3MywyLjIxNSw1LjM5NywyLjI1NWMwLjkzOCwwLjAxNCwxLjgwNSwwLjAxMSwyLjY4MSwwLjAwOCAgIGMwLjY4MS0wLjAwMywxLjM3LTAuMDA0LDIuMTA0LDBjMC41NTMsMC4wMDQsMC45OTcsMC40NTUsMC45OTMsMS4wMDdjLTAuMDA0LDAuNTUtMC40NTEsMC45OTMtMSwwLjk5M2MtMC4wMDIsMC0wLjAwNSwwLTAuMDA3LDAgICBjLTAuNzI5LTAuMDA0LTEuNDEtMC4wMDQtMi4wODQsMEMzNS4zNjYsNDEuODkzLDM0Ljk4OCw0MS44OTUsMzQuNjA2LDQxLjg5NXpcIi8+PC9nPjxnPjxwYXRoIGQ9XCJNMjkuNzk2LDM0LjA0N2MtMC4xODMsMC0wLjM2OC0wLjA1LTAuNTM0LTAuMTU1Yy0xLjA0Ny0wLjY2Mi0yLjY1Ny0xLjY4NS0zLjQ4MS0yLjIyNSAgIGMtMC40NjItMC4zMDMtMC41OS0wLjkyMy0wLjI4Ny0xLjM4NWMwLjMwMy0wLjQ2LDAuOTIxLTAuNTkxLDEuMzg1LTAuMjg3YzAuODE2LDAuNTM2LDIuNDE1LDEuNTQ5LDMuNDU0LDIuMjA3ICAgYzAuNDY3LDAuMjk1LDAuNjA1LDAuOTEzLDAuMzEsMS4zOEMzMC40NTEsMzMuODgzLDMwLjEyNywzNC4wNDcsMjkuNzk2LDM0LjA0N3pcIi8+PC9nPjxnPjxwYXRoIGQ9XCJNMjIuODYyLDMzLjk1NWMtMC4zMzEsMC0wLjY1NS0wLjE2NC0wLjg0Ni0wLjQ2NWMtMC4yOTYtMC40NjctMC4xNTctMS4wODQsMC4zMS0xLjM4YzEuMDM4LTAuNjU3LDIuNjM2LTEuNjcxLDMuNDU0LTIuMjA4ICAgYzAuNDYyLTAuMzA0LDEuMDgxLTAuMTczLDEuMzg1LDAuMjg3YzAuMzAzLDAuNDYyLDAuMTc1LDEuMDgyLTAuMjg3LDEuMzg1Yy0wLjgyNCwwLjU0MS0yLjQzNiwxLjU2My0zLjQ4MSwyLjIyNiAgIEMyMy4yMywzMy45MDUsMjMuMDQ1LDMzLjk1NSwyMi44NjIsMzMuOTU1elwiLz48L2c+PGc+PHBhdGggZD1cIk0zNy42ODUsMzQuMjA5Yy0wLjAxOCwwLTAuMDM1LDAtMC4wNTItMC4wMDFjLTAuNTUyLTAuMDI4LTAuOTc3LTAuNDk5LTAuOTQ4LTEuMDVsMC4wNDktMC44MjMgICBjMC4xMTUtMS44MzYsMC4yNzMtNC4zNTItMC4zNzktNi4wMTZjLTAuOC0yLjA0Mi0yLjU3Mi0yLjIxNS01LjM5Ni0yLjI1NmMtMC45NDEtMC4wMTUtMS44MTMtMC4wMTItMi42OTQtMC4wMDcgICBjLTAuNjc3LDAuMDAyLTEuMzYyLDAuMDA0LTIuMDkxLDBjLTAuNTUyLTAuMDA0LTAuOTk3LTAuNDU0LTAuOTkzLTEuMDA3YzAuMDA0LTAuNTUsMC40NS0wLjk5MywxLTAuOTkzYzAuMDAyLDAsMC4wMDQsMCwwLjAwNywwICAgYzAuNzIyLDAuMDA1LDEuNCwwLjAwMiwyLjA2OSwwYzAuODk1LTAuMDA1LDEuNzc1LTAuMDA3LDIuNzMsMC4wMDdjMi42MjEsMC4wMzgsNS44ODMsMC4wODYsNy4yMjksMy41MjYgICBjMC44MTUsMi4wNzYsMC42NDEsNC44NDgsMC41MTQsNi44N2wtMC4wNDcsMC44QzM4LjY1NSwzMy43OTQsMzguMjEzLDM0LjIwOSwzNy42ODUsMzQuMjA5elwiLz48L2c+PGc+PHBhdGggZD1cIk0zNy42ODcsMzQuMTE3Yy0wLjE4OCwwLTAuMzc5LTAuMDUzLTAuNTQ4LTAuMTY0Yy0wLjgxNy0wLjUzNy0yLjQxNi0xLjU1LTMuNDUzLTIuMjA3ICAgYy0wLjQ2Ny0wLjI5NS0wLjYwNi0wLjkxMy0wLjMxMS0xLjM3OWMwLjI5NC0wLjQ2NywwLjkxNC0wLjYwNywxLjM3OS0wLjMxMWMxLjA0NywwLjY2MSwyLjY1NywxLjY4NCwzLjQ4MiwyLjIyNSAgIGMwLjQ2MiwwLjMwMywwLjU5LDAuOTIzLDAuMjg3LDEuMzg1QzM4LjMzMiwzMy45NTgsMzguMDEzLDM0LjExNywzNy42ODcsMzQuMTE3elwiLz48L2c+PGc+PHBhdGggZD1cIk0zNy42ODksMzQuMjA5Yy0wLjMyNiwwLTAuNjQ2LTAuMTU5LTAuODM3LTAuNDUxYy0wLjMwMy0wLjQ2Mi0wLjE3NS0xLjA4MiwwLjI4Ny0xLjM4NWMwLjgyNC0wLjU0LDIuNDM1LTEuNTYyLDMuNDgtMi4yMjUgICBjMC40NjgtMC4yOTcsMS4wODUtMC4xNTYsMS4zOCwwLjMxYzAuMjk2LDAuNDY3LDAuMTU3LDEuMDg0LTAuMzEsMS4zOGMtMS4wMzgsMC42NTctMi42MzcsMS42NzEtMy40NTMsMi4yMDcgICBDMzguMDY3LDM0LjE1NiwzNy44NzgsMzQuMjA5LDM3LjY4OSwzNC4yMDl6XCIvPjwvZz48L3N2Zz4nO1xuZXhwb3J0IGNvbnN0IFNvbHV0aW9uSWNvblNWRyA9XG4gICc8c3ZnIGZpbGw9XCIjMDAwMDAwXCIgdmlld0JveD1cIjAgMCAzMiAzMlwiIGVuYWJsZS1iYWNrZ3JvdW5kPVwibmV3IDAgMCAzMiAzMlwiIGlkPVwiTGF5ZXJfM1wiIHZlcnNpb249XCIxLjFcIiB4bWw6c3BhY2U9XCJwcmVzZXJ2ZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIj48Zz48cGF0aCBkPVwiTTIwLDE2YzAsMC41NTIsMC40NDgsMSwxLDFoMmMwLjU1MiwwLDEtMC40NDgsMS0xcy0wLjQ0OC0xLTEtMWgtMkMyMC40NDgsMTUsMjAsMTUuNDQ4LDIwLDE2elwiLz48cGF0aCBkPVwiTTYsMTZjMCwwLjU1MiwwLjQ0OCwxLDEsMWgyYzAuNTUyLDAsMS0wLjQ0OCwxLTFzLTAuNDQ4LTEtMS0xSDdDNi40NDgsMTUsNiwxNS40NDgsNiwxNnpcIi8+PHBhdGggZD1cIk0xMSwxN2MwLDEuMDgzLDAuODA5LDIuNTc0LDEuNSwzLjM5MlYyMS41YzAsMS4zNzksMS4xMjIsMi41LDIuNSwyLjVzMi41LTEuMTIxLDIuNS0yLjV2LTEuMTA4ICAgQzE4LjE5MSwxOS41NzQsMTksMTguMDgzLDE5LDE3YzAtMi4yMS0xLjc1Ny0zLjk0Mi00LTMuOTQyUzExLDE0Ljc5LDExLDE3eiBNMTUuNSwyMS41YzAsMC4yNzUtMC4yMjQsMC41LTAuNSwwLjUgICBzLTAuNS0wLjIyNS0wLjUtMC41VjIxaDFWMjEuNXogTTE1LDE1LjA1OGMxLjEyMiwwLDIsMC44NTMsMiwxLjk0MmMwLDAuNDMyLTAuNDg4LDEuNDM3LTAuOTM2LDJoLTIuMTI3ICAgQzEzLjQ4OCwxOC40MzcsMTMsMTcuNDMyLDEzLDE3QzEzLDE1LjkxMSwxMy44NzgsMTUuMDU4LDE1LDE1LjA1OHpcIi8+PHBhdGggZD1cIk0xNiwxMVY5YzAtMC41NTItMC40NDgtMS0xLTFzLTEsMC40NDgtMSwxdjJjMCwwLjU1MiwwLjQ0OCwxLDEsMVMxNiwxMS41NTIsMTYsMTF6XCIvPjxwYXRoIGQ9XCJNMTkuOTUsMTAuMjkzbC0xLjQxNCwxLjQxNGMtMC4zOTEsMC4zOTEtMC4zOTEsMS4wMjMsMCwxLjQxNGMwLjE5NSwwLjE5NSwwLjQ1MSwwLjI5MywwLjcwNywwLjI5MyAgIHMwLjUxMi0wLjA5OCwwLjcwNy0wLjI5M2wxLjQxNC0xLjQxNGMwLjM5MS0wLjM5MSwwLjM5MS0xLjAyMywwLTEuNDE0UzIwLjM0LDkuOTAyLDE5Ljk1LDEwLjI5M3pcIi8+PHBhdGggZD1cIk0xMC4wNSwxMC4yOTNjLTAuMzkxLTAuMzkxLTEuMDIzLTAuMzkxLTEuNDE0LDBzLTAuMzkxLDEuMDIzLDAsMS40MTRsMS40MTQsMS40MTRjMC4xOTUsMC4xOTUsMC40NTEsMC4yOTMsMC43MDcsMC4yOTMgICBzMC41MTItMC4wOTgsMC43MDctMC4yOTNjMC4zOTEtMC4zOTEsMC4zOTEtMS4wMjMsMC0xLjQxNEwxMC4wNSwxMC4yOTN6XCIvPjxwYXRoIGQ9XCJNMjcsOGgxYzAuMzUyLDAsMC42NzgtMC4xODUsMC44NTgtMC40ODZjMC4xODEtMC4zMDIsMC4xODktMC42NzYsMC4wMjMtMC45ODZsLTIuMTQ2LTRjLTAuMzQ5LTAuNjQ5LTEuNDE0LTAuNjQ5LTEuNzYzLDAgICBsLTIuMTQ2LDRjLTAuMTY2LDAuMzEtMC4xNTcsMC42ODQsMC4wMjMsMC45ODZDMjMuMDMsNy44MTUsMjMuMzU2LDgsMjMuNzA4LDhIMjV2MTBjMCw1LjUxNC00LjQ4NiwxMC0xMCwxMFM1LDIzLjUxNCw1LDE4VjcgICBjMC0wLjU1Mi0wLjQ0OC0xLTEtMVMzLDYuNDQ4LDMsN3YxMWMwLDYuNjE3LDUuMzgzLDEyLDEyLDEyczEyLTUuMzgzLDEyLTEyVjh6IE0yNS44NTQsNS4xMTVMMjYuMzI5LDZoLTAuOTQ5TDI1Ljg1NCw1LjExNXpcIi8+PC9nPjwvc3ZnPic7XG5leHBvcnQgY29uc3QgTm9JbWFnZUltZyA9XG4gIFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUJCUUFBQUZFQ0FZQUFBQ1hxVzNNQUFBTWFXbERRMUJKUTBNZ1VISnZabWxzWlFBQVNJbVZWd2RVVThrYW5sdVNrSkRRQWhHUUVub1RwRmNwSWJRQUFsSUZHeUVKSkpRWUVvS0tIVmxVY0sySUtGWjBWY1MydWdLeUZzUmVGc0hlRndzcXlycW9pNktvdkFrSjZMcXZuUGVmTTNlK2ZQUFAzKzVNN2d3QW1uMWNpU1FYMVFJZ1Qxd2dqUThQWm81UFRXT1NuZ0VVYUFJZDRBSk11RHlaaEJVWEZ3MmdEUFYvbDNjM0FLTG9yem9xYlAxei9MK0tEbDhnNHdHQVRJUTRneS9qNVVIY0RBQytuaWVSRmdCQVZQQVcwd29rQ2p3UFlsMHBEQkRpQ2dYT1V1S2RDcHloeEVjR2RSTGoyUkMzQWFCRzVYS2xXUUJvM0lNOHM1Q1hCZTFvZklMWVdjd1hpUUhRSEFWeEFFL0k1VU9zaUgxVVh0NVVCYTZDMkJicVN5Q0c4UUR2akc5c1p2M05mc2F3ZlM0M2F4Z3I4eG9VdFJDUlRKTExuZkYvbHVaL1MxNnVmTWlITld4VW9UUWlYcEUvck9HdG5LbFJDa3lGdUZ1Y0VST3JxRFhFZlNLK3N1NEFvQlNoUENKSnFZOGE4V1JzV0QvQWdOaVp6dzJKZ3RnSTRqQnhia3kwaXMvSUZJVnhJSWFyQlowdUt1QWtRcXdQOFNLQkxEUkJwYk5aT2pWZTVRdXR6NVN5V1NyK0hGYzY2RmZoNjRFOEo0bWxzdjlHS09DbzdHTWFSY0xFRklncEVGc1dpcEpqSU5hQTJFbVdreENsMGhsVEpHVEhET2xJNWZHSytDMGhqaGVJdzRPVjlySENUR2xZdkVxL0xFODJsQysyV1NqaXhLandnUUpoWW9TeVB0Z3BIbmN3ZnBnTDFpWVFzNUtHN0FoazQ2T0hjdUVMUWtLVnVXUFBCZUtrQkpXZFBrbEJjTHh5TGs2UjVNYXA5SEZ6UVc2NGdqZUgyRjFXbUtDYWl5Y1h3TVdwdEk5blNncmlFcFZ4NGtYWjNNZzRaVHo0Y2hBTjJDQUVNSUVjdGd3d0ZXUURVV3QzUXpmOHBSd0pBMXdnQlZsQUFCeFZ6TkNNbE1FUk1Yd21nQ0x3QjBRQ0lCdWVGenc0S2dDRmtQODh6Q3FmamlCemNMUndjRVlPZUFweEhvZ0N1ZkMzZkhDV2VOaGJNbmdDR2RFL3ZITmg0OEY0YzJGVGpQOTdmb2o5eXJBZ0U2MWk1RU1lbVpwRG1zUlFZZ2d4Z2hoR3RNTU44UURjRDQrR3p5RFlYSEZ2M0djb2o2LzZoS2VFZHNJanduVkNCK0gyRkZHeDlMc294NElPYUQ5TVZZdU1iMnVCVzBPYkhuZ3c3Zyt0UThzNEF6Y0Vqcmc3OU1QQ0E2Rm5EOGl5VlhFcnFzTDh6dmJmTXZqbWJhajB5TTVrbER5Q0hFUzIvWDZtaHIyR3g3QVZSYTIvclk4eTFvemhlck9IUjc3M3ovNm0rbnpZUjMydmlTM0NEbUpuc1JQWWVld0kxZ0NZMkhHc0VidUVIVlhnNGRYMVpIQjFEWG1MSDR3bkI5b1IvY01mVitWVFVVbVpjNTF6bC9NbjVWaUJZSHFCWXVPeHAwcG1TRVZad2dJbUMzNGRCRXlPbU9jMGl1bnE3T29HZ09KYm8vejdlc3NZL0lZZ2pBdGZ1ZnhtQUh6S0lKbjFsZU5hQUhENEtRRDBkMTg1aXpkdzJ5d0g0R2diVHk0dFZISzQ0a0dBL3hLYWNLY1pBQk5nQVd4aFBxN0FFL2lCSUJBS0lrRXNTQVNwWURLc3NoQ3VjeW1ZQm1hQithQVVsSVBsWURWWUJ6YUJyV0FuMkFNT2dBWndCSndBWjhCRjBBYXVnN3R3OVhTQ2w2QUh2QVA5Q0lLUUVCcENSd3dRVThRS2NVQmNFVzhrQUFsRm9wRjRKQlZKUjdJUU1TSkhaaUVMa0hKa0piSU8yWUxVSWo4amg1RVR5SG1rSGJtTlBFUzZrRGZJUnhSRHFhZ3Vhb3hhbzZOUmI1U0ZScUdKNkNRMEM4MUhpOUFTZENsYWhkYWd1OUY2OUFSNkViMk9kcUF2MFY0TVlPb1lBelBESERGdmpJM0ZZbWxZSmliRjVtQmxXQ1ZXZyszRm11Qjd2b3AxWU4zWUI1eUkwM0VtN2doWGNBU2VoUFB3Zkh3T3ZnUmZoKy9FNi9GVCtGWDhJZDZEZnlIUUNFWUVCNEl2Z1VNWVQ4Z2lUQ09VRWlvSjJ3bUhDS2ZoWHVva3ZDTVNpUXlpRGRFTDdzVlVZalp4Sm5FSmNRTnhIN0daMkU1OFRPd2xrVWdHSkFlU1B5bVd4Q1VWa0VwSmEwbTdTY2RKVjBpZHBENDFkVFZUTlZlMU1MVTBOYkZhc1ZxbDJpNjFZMnBYMUo2cDlaTzF5RlprWDNJc21VK2VRVjVHM2tadUlsOG1kNUw3S2RvVUc0by9KWkdTVFpsUHFhTHNwWnltM0tPOFZWZFhOMWYzVVIrbkxsS2ZwMTZsdmwvOW5QcEQ5UTlVSGFvOWxVMmRTSlZUbDFKM1VKdXB0Nmx2YVRTYU5TMklsa1lyb0MybDFkSk8waDdRK2pUb0drNGFIQTIreGx5TmFvMTZqU3NhcnpUSm1sYWFMTTNKbWtXYWxab0hOUzlyZG11UnRheTEyRnBjclRsYTFWcUh0VzVxOVdyVHRWMjBZN1h6dEpkbzc5SStyLzFjaDZSanJST3F3OWNwMGRtcWMxTG5NUjJqVzlEWmRCNTlBWDBiL1RTOVU1ZW9hNlBMMGMzV0xkZmRvOXVxMjZPbm8rZXVsNnczWGE5YTc2aGVCd05qV0RNNGpGekdNc1lCeGczR3h4SEdJMWdqQkNNV2o5Zzc0c3FJOS9vajlZUDBCZnBsK3Z2MHIrdC9OR0FhaEJya0dLd3dhREM0YjRnYjJodU9NNXhtdU5Id3RHSDNTTjJSZmlONUk4dEdIaGg1eHdnMXNqZUtONXBwdE5Yb2tsR3ZzWWx4dUxIRWVLM3hTZU51RTRaSmtFbTJTWVhKTVpNdVU3cHBnS25JdE1MMHVPa0xwaDZUeGN4bFZqRlBNWHZNak13aXpPUm1XOHhhemZyTmJjeVR6SXZOOTVuZnQ2QlllRnRrV2xSWXRGajBXSnBhanJXY1pWbG5lY2VLYk9WdEpiUmFZM1hXNnIyMWpYV0s5VUxyQnV2bk52bzJISnNpbXpxYmU3WTAyMERiZk5zYTIydDJSRHR2dXh5N0RYWnQ5cWk5aDczUXZ0citzZ1BxNE9rZ2N0amcwRDZLTU1wbmxIaFV6YWliamxSSGxtT2hZNTNqUXllR1U3UlRzVk9EMDZ2UmxxUFRScThZZlhiMEYyY1A1MXpuYmM1M1hYUmNJbDJLWFpwYzNyamF1L0pjcTEydnVkSGN3dHptdWpXNnZYWjNjQmU0YjNTLzVVSDNHT3V4MEtQRjQ3T25sNmZVYzY5bmw1ZWxWN3JYZXErYjNycmVjZDVMdk0vNUVIeUNmZWI2SFBINTRPdnBXK0I3d1BkUFAwZS9ITDlkZnMvSDJJd1JqTmsyNXJHL3VUL1hmNHQvUndBeklEMWdjMEJIb0ZrZ043QW04RkdRUlJBL2FIdlFNNVlkSzV1MW0vVXEyRGxZR253bytEM2JsejJiM1J5Q2hZU0hsSVcwaHVxRUpvV3VDMzBRWmg2V0ZWWVgxaFB1RVQ0enZEbUNFQkVWc1NMaUpzZVl3K1BVY25vaXZTSm5SNTZLb2tZbFJLMkxlaFJ0SHkyTmJocUxqbzBjdTJyc3ZSaXJHSEZNUXl5STVjU3VpcjBmWnhPWEgvZnJPT0s0dUhIVjQ1N0d1OFRQaWorYlFFK1lrckFyNFYxaWNPS3l4THRKdGtueXBKWmt6ZVNKeWJYSjcxTkNVbGFtZEl3ZlBYNzIrSXVwaHFtaTFNWTBVbHB5MnZhMDNnbWhFMVpQNkp6b01iRjA0bzFKTnBPbVR6by8yWEJ5N3VTalV6U25jS2NjVENla3A2VHZTdi9FamVYV2NIc3pPQm5yTTNwNGJONGEza3QrRUwrQzN5WHdGNndVUE12MHoxeVorVHpMUDJ0VlZwY3dVRmdwN0JheFJldEVyN01qc2pkbHY4K0p6ZG1STTVDYmtyc3ZUeTB2UGUrd1dFZWNJejQxMVdUcTlLbnRFZ2RKcWFRajN6ZC9kWDZQTkVxNlhZYklKc2thQzNUaG9mNlMzRmIrZy94aFlVQmhkV0hmdE9ScEI2ZHJUeGRQdnpURGZzYmlHYytLd29wK21vblA1TTFzbVdVMmEvNnNoN05aczdmTVFlWmt6R21aYXpHM1pHN252UEI1TytkVDV1Zk0vNjNZdVhobDhWOExVaFkwbFJpWHpDdDUvRVA0RDNXbEdxWFMwcHNML1JadVdvUXZFaTFxWGV5MmVPM2lMMlg4c2d2bHp1V1Y1WitXOEpaYytOSGx4Nm9mQjVabUxtMWQ1cmxzNDNMaWN2SHlHeXNDVit4Y3FiMnlhT1hqVldOWDFWY3dLOG9xL2xvOVpmWDVTdmZLVFdzb2ErUnJPcXFpcXhyWFdxNWR2dmJUT3VHNjY5WEIxZnZXRzYxZnZQNzlCdjZHS3h1RE51N2RaTHlwZk5QSHphTE50N2FFYjZtdnNhNnAzRXJjV3JqMTZiYmtiV2QvOHY2cGRydmg5dkx0bjNlSWQzVHNqTjk1cXRhcnRuYVgwYTVsZFdpZHZLNXI5OFRkYlh0QzlqVHVkZHk3WlI5algvbCtzRisrLzhYUDZUL2ZPQkIxb09XZzk4Rzl2MWo5c3Y0US9WQlpQVkkvbzc2blFkalEwWmphMkg0NDhuQkxrMS9Ub1YrZGZ0MXh4T3hJOVZHOW84dU9VWTZWSEJzNFhuUzh0MW5TM0gwaTY4VGpsaWt0ZDArT1AzbnQxTGhUcmFlalRwODdFM2JtNUZuVzJlUG4vTThkT2U5Ny92QUY3d3NORnowdjFsL3l1SFRvTjQvZkRyVjZ0dFpmOXJyYzJPYlQxdFErcHYzWWxjQXJKNjZHWEQxempYUHQ0dldZNiswM2ttN2N1am54WnNjdC9xM250M052djc1VGVLZi83cng3aEh0bDk3WHVWejR3ZWxEenU5M3Yrem84TzQ0K0RIbDQ2VkhDbzd1UGVZOWZQcEU5K2RSWjhwVDJ0UEtaNmJQYTU2N1BqM1NGZGJXOW1QQ2k4NlhrWlg5MzZSL2FmNngvWmZ2cWx6K0QvcnpVTTc2bjg3WDA5Y0NiSlc4TjN1NzR5LzJ2bHQ2NDNnZnY4dDcxdnkvck0ramIrY0g3dzltUEtSK2Y5VS83UlBwVTlkbnVjOU9YcUMvM0J2SUdCaVJjS1hmd0tJREJobVptQXZCbUJ3QzBWSGgyZ1BjMnlnVGxYWEJRRU9YOWRSQ0IvNFNWOThWQjhRUmdSeEFBU2ZNQWlJWm5sSTJ3V1VGTWhiM2lDSjhZQkZBM3QrR21FbG1tbTZ2U0ZoWGVoQWg5QXdOdmpRRWdOUUh3V1RvdzBMOWhZT0R6Tmhqc2JRQ2E4NVYzVUlVUTRaMWhzNU1DdFhVK0tRSGZpZkorK2syTzMvZEFFWUU3K0w3L0YwWHpqK1lLWEdwZEFBQUFpbVZZU1daTlRRQXFBQUFBQ0FBRUFSb0FCUUFBQUFFQUFBQStBUnNBQlFBQUFBRUFBQUJHQVNnQUF3QUFBQUVBQWdBQWgya0FCQUFBQUFFQUFBQk9BQUFBQUFBQUFKQUFBQUFCQUFBQWtBQUFBQUVBQTVLR0FBY0FBQUFTQUFBQWVLQUNBQVFBQUFBQkFBQUVGS0FEQUFRQUFBQUJBQUFCUkFBQUFBQkJVME5KU1FBQUFGTmpjbVZsYm5Ob2IzU203VXBJQUFBQUNYQklXWE1BQUJZbEFBQVdKUUZKVWlUd0FBQUIxMmxVV0hSWVRVdzZZMjl0TG1Ga2IySmxMbmh0Y0FBQUFBQUFQSGc2ZUcxd2JXVjBZU0I0Yld4dWN6cDRQU0poWkc5aVpUcHVjenB0WlhSaEx5SWdlRHA0YlhCMGF6MGlXRTFRSUVOdmNtVWdOaTR3TGpBaVBnb2dJQ0E4Y21SbU9sSkVSaUI0Yld4dWN6cHlaR1k5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZNREl2TWpJdGNtUm1MWE41Ym5SaGVDMXVjeU1pUGdvZ0lDQWdJQ0E4Y21SbU9rUmxjMk55YVhCMGFXOXVJSEprWmpwaFltOTFkRDBpSWdvZ0lDQWdJQ0FnSUNBZ0lDQjRiV3h1Y3pwbGVHbG1QU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDJWNGFXWXZNUzR3THlJK0NpQWdJQ0FnSUNBZ0lEeGxlR2xtT2xCcGVHVnNXVVJwYldWdWMybHZiajR6TWpROEwyVjRhV1k2VUdsNFpXeFpSR2x0Wlc1emFXOXVQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZoRWFXMWxibk5wYjI0K01UQTBORHd2WlhocFpqcFFhWGhsYkZoRWFXMWxibk5wYjI0K0NpQWdJQ0FnSUNBZ0lEeGxlR2xtT2xWelpYSkRiMjF0Wlc1MFBsTmpjbVZsYm5Ob2IzUThMMlY0YVdZNlZYTmxja052YlcxbGJuUStDaUFnSUNBZ0lEd3ZjbVJtT2tSbGMyTnlhWEIwYVc5dVBnb2dJQ0E4TDNKa1pqcFNSRVkrQ2p3dmVEcDRiWEJ0WlhSaFBncWFSZXB4QUFBQUhHbEVUMVFBQUFBQ0FBQUFBQUFBQUtJQUFBQW9BQUFBb2dBQUFLSUFBQ0RhU0Ntbk5BQUFJS1pKUkVGVWVBSHMzWGVjRmVXOVAvQXZ1d3VpSWtXS2dGSUVLUmFrR2V4R2pURVJXNktKbW52ak5aYUlMVWFUNkRYRnhKODMvVjZqeEZnU283RWJMSmlZaUtJWXNVU3Y1V0xYV0JCVVFBUTd2ZXp5bTFsZnU4SUtaODhjempsdWVjL3JsZXc1TTArWjUvMk1mNXdQTTgrMDJYSzNrMWVGalFBQkFnUUlFQ0JBZ0FBQkFnUUlFQ0NRUWFDTlFDR0RscUlFQ0JBZ1FJQUFBUUlFQ0JBZ1FJQkFyWUJBd1lWQWdBQUJBZ1FJRUNCQWdBQUJBZ1FJWkJZUUtHUW1VNEVBQVFJRUNCQWdRSUFBQVFJRUNCQVFLTGdHQ0JBZ1FJQUFBUUlFQ0JBZ1FJQUFnY3dDQW9YTVpDb1FJRUNBQUFFQ0JBZ1FJRUNBQUFFQ0FnWFhBQUVDQkFnUUlFQ0FBQUVDQkFnUUlKQlpRS0NRbVV3RkFnUUlFQ0JBZ0FBQkFnUUlFQ0JBUUtEZ0dpQkFnQUFCQWdRSUVDQkFnQUFCQWdReUN3Z1VNcE9wUUlBQUFRSUVDQkFnUUlBQUFRSUVDQWdVWEFNRUNCQWdRSUFBQVFJRUNCQWdRSUJBWmdHQlFtWXlGUWdRSUVDQUFBRUNCQWdRSUVDQUFBR0JnbXVBQUFFQ0JBZ1FJRUNBQUFFQ0JBZ1F5Q3dnVU1oTXBnSUJBZ1FJRUNCQWdBQUJBZ1FJRUNBZ1VIQU5FQ0JBZ0FBQkFnUUlFQ0JBZ0FBQkFwa0ZCQXFaeVZRZ1FJQUFBUUlFQ0JBZ1FJQUFBUUlFQkFxdUFRSUVDQkFnUUlBQUFRSUVDQkFnUUNDemdFQWhNNWtLQkFnUUlFQ0FBQUVDQkFnUUlFQ0FnRURCTlVDQUFBRUNCQWdRSUVDQUFBRUNCQWhrRmhBb1pDWlRnUUFCQWdRSUVDQkFnQUFCQWdRSUVCQW91QVlJRUNCQWdBQUJBZ1FJRUNCQWdBQ0J6QUlDaGN4a0toQWdRSUFBQVFJRUNCQWdRSUFBQVFJQ0JkY0FBUUlFQ0JBZ1FJQUFBUUlFQ0JBZ2tGbEFvSkNaVEFVQ0JBZ1FJRUNBQUFFQ0JBZ1FJRUJBb09BYUlFQ0FBQUVDQkFnUUlFQ0FBQUVDQkRJTENCUXlrNmxBZ0FBQkFnUUlFQ0JBZ0FBQkFnUUlDQlJjQXdRSUVDQkFnQUFCQWdRSUVDQkFnRUJtQVlGQ1pqSVZDQkFnUUlBQUFRSUVDQkFnUUlBQUFZR0NhNEFBQVFJRUNCQWdRSUFBQVFJRUNCRElMQ0JReUV5bUFnRUNCQWdRSUVDQUFBRUNCQWdRSUNCUWNBMFFJRUNBQUFFQ0JBZ1FJRUNBQUFFQ21RVUVDcG5KVkNCQWdBQUJBZ1FJRUNCQWdBQUJBZ1FFQ3E0QkFnUUlFQ0JBZ0FBQkFnUUlFQ0JBSUxPQVFDRXptUW9FQ0JBZ1FJQUFBUUlFQ0JBZ1FJQ0FRTUUxUUlBQUFRSUVDQkFnUUlBQUFRSUVDR1FXRUNoa0psT0JBQUVDQkFnUUlFQ0FBQUVDQkFnUUVDaTRCZ2dRSUVDQUFBRUNCQWdRSUVDQUFJSE1BZ0tGekdRcUVDQkFnQUFCQWdRSUVDQkFnQUFCQWdJRjF3QUJBZ1FJRUNCQWdBQUJBZ1FJRUNDUVdVQ2drSmxNQlFJRUNCQWdRSUFBQVFJRUNCQWdRRUNnNEJvZ1FJQUFBUUlFQ0JBZ1FJQUFBUUlFTWdzSUZES1RxVUNBQUFFQ0JBZ1FJRUNBQUFFQ0JBZ0lGRndEQkFnUUlFQ0FBQUVDQkFnUUlFQ0FRR1lCZ1VKbU1oVUlFQ0JBZ0FBQkFnUUlFQ0JBZ0FBQmdZSnJnQUFCQWdRSUVDQkFnQUFCQWdRSUVNZ3NJRkRJVEtZQ0FRSUVDQkFnUUlBQUFRSUVDQkFnSUZCd0RSQWdRSUFBQVFJRUNCQWdRSUFBQVFLWkJRUUttY2xVSUVDQUFBRUNCQWdRSUVDQUFBRUNCQVFLcmdFQ0JBZ1FJRUNBQUFFQ0JBZ1FJRUFnczRCQUlUT1pDZ1FJRUNCQWdBQUJBZ1FJRUNCQWdJQkF3VFZBZ0FBQkFnUUlFQ0JBZ0FBQkFnUUlaQllRS0dRbVU0RUFBUUlFQ0JBZ1FJQUFBUUlFQ0JBUUtMZ0dDQkFnUUlBQUFRSUVDQkFnUUlBQWdjd0NBb1hNWkNvUUlFQ0FBQUVDQkFnUUlFQ0FBQUVDQWdYWEFBRUNCQWdRSUVDQUFBRUNCQWdRSUpCWlFLQ1FtVXdGQWdRSUVDQkFnQUFCQWdRSUVDQkFRS0RnR2lCQWdBQUJBZ1FJRUNCQWdBQUJBZ1F5Q3dnVU1wT3BRSUFBQVFJRXlpL1FvM3ZuR0RLNFQvVGR2SHQwNjlvcE50cW9mYlN0cW93MmJkcVUvMlNLMk9PcVZhc2kvZCtTcGN2am5YYy9qRGRtejQrWFhwa1ZzK2U4SGRYVk5VWHNTVk1FQ0JBZ1FJQkFzUVVFQ3NVVzFSNEJBZ1FJRUNpU1FNZE5Ob3E5OWhnUkI0M2RPYmJzMXlzSkQrb2FiclBhNTdwOXpmdHZraWtrVyszL0pRRkR4Snk1Yjhma0tZL0hwTHNlclEwYW12Zm9uRDBCQWdRSUVHaVpBZ0tGbGptdlJrV0FBQUVDelZTZ3NySWlOdS9kTGZiYWZVUWM4TVVkbzN1M3pzMTBKTVU1N1lVTGw4UmQvL2kvdUhQS1l6SHo5YmRpK2ZJVnhXbFlLd1FJRUNCQWdNQjZDd2dVMXB0UUF3UUlFQ0JBb0RnQ20zYlpKSGJaY2R2NDBnRzd4bFlEZWhlbjBSYlN5cXprRVlqYkp6OFM5MHlkRnZQbXY5OUNSbVVZQkFnUUlFQ2dlUXNJRkpyMy9EbDdBZ1FJRUdnaEFnTzM3QjFmK2RJZThiblBqb3gyN2FwYXlLaUtPNHdWSzFiR1k5TmVqT3R2dWplZWZYNUdjUnZYR2dFQ0JBZ1FJSkJaUUtDUW1Vd0ZBZ1FJRUNCUVBJRjBYWVFoZy9yRWNVZU5qUkhEQmtaVnN0Q2lMYmRBdW1qam42NmRIUC83MkF1MUN6cm1MdTBvQVFJRUNCQWdVQ29CZ1VLcFpMVkxnQUFCQWdUeUVPamRxMnVjOVoydnhiQnQramY3Tnpia01keWlGRWtYYlh6dGpiZmlnb3R1aVNlZm1WNlVOalZDZ0FBQkFnUUlaQmNRS0dRM1U0TUFBUUlFQ0JSRllPT04yOGYzdjNORTdMYnpzS0swMTlvYVNjT0U4MzkzY3hJdXpHdHRRemRlQWdRSUVDRFFKQVFFQ2sxaUdwd0VBUUlFQ0xRMmdiWnRLK1BvcjM4eC91MnJlN2Uyb1JkMXZPbHJKY2RmTWpHV0xmUDJoNkxDYW93QUFRSUVDT1FoSUZESUEwa1JBZ1FJRUNCUWJJSGRkeGtXWjUvNTc4a0NqRzBMYm5wVmV1OS9LYlprWVlka2FZYzF0dHFlU3RWZjBsdTZsa1FoVzdwUTQvbkpvdzlwc0dBalFJQUFBUUlFeWlzZ1VDaXZ0OTRJRUNCQWdFQ2tyNGY4cng4ZEhkdHUzUzl2alRROGVQdWREK0tSeDErTTUvODFzL2JWaVRVMU5Yblh6N2RnaHc0YnhjSDc3eEtqUnd5cXI3SnlaWFZNZmZDcG1KUzh0ckVVVzVza1RlaVNtQXdkM0RmR2pCNFNXL1R1SGhVVitTY003N3o3WVp4dyt2aVk3M1dTcFpnZWJSSWdRSUFBZ1hVS0NCVFdTZU1BQVFJRUNCQW9qVUQ2Zy8zNGIrd2Y2Um9LK1c2elpzK1BINXg3UmN4OTY5MVl1YkltU2hFbXBPZlNwWE9IT1BuNGcyT2ZQVWZWbjFwNkY4Q050OTRYbDEwNXFYNWZzVCtrQVVKbFpXVU1IellnVGgzMzVlamJwMGVtTHE2LzhaNzRRd25QTDlQSktFeUFBQUVDQkZxSmdFQ2hsVXkwWVJJZ1FJQkEweERvMUhIaitNL1RqNGhkZHR3bTB3bWxQK29uMy9ONC9QSHFPK0w5OXhkbXFwdWw4S2NWS0tTUFBHelpyMWVja29RWm8xYTdPeUxmYzM4akNWeE9QK3VTMnJzNDhxMmpIQUVDQkFnUUlMQitBZ0tGOWZOVG13QUJBZ1FJWkJJWVBYSndmT2ZrUTJQejN0MHkxVXNMTDEyNlBHNVBIanU0THZuWCtIZmZXNUM1Zmo0Vk9uYmNLRTQ0NW9BWXUrK085Y1dYTFZ1ZTlQbVB1UHFHdSt2M0ZmdEQvNzQ5a3pzakRvclBqQnBTVU5NTEZpeU9peTY3TGU2YzhsaEI5VlVpUUlBQUFRSUVzZ3NJRkxLYnFVR0FBQUVDQkFvU3FLaW9pRU1PM0RYR0pUL1kyN2F0eXRsRzNZS0w2Zm9DcTI5TGxpeUxxNUlmOWpmZGVuOVVWMWV2ZnFnb245UHpPbkMvbmVLNG84YkdSaHR1VU52bXZHUnRnbCtQbnhDUFQzdXBLSDAwYkNUdEoxMVRZdlRJajlkdHFDdVQzcG14ZlBtSzVQR1FEZXQycmZWdmRYVk5iZGp5MjB0dlRSNEpLYjdMV2p1MWt3QUJBZ1FJdEhJQmdVSXJ2d0FNbndBQkFnVEtKN0JKc3VEaE40OGVHd2Z0dDNQT1R0TXc0Wm5uWnNTSHliKzY3N2pEMEUrRUR5OVBueFhmT3VPaTJqc1djalpVNE1GdVhUdkZRV04zamoyU04xRXNUMzdRVDd6dHdiajNnU2RMOW1yR2tkdHZGYi81eFFuSm14N1dERS9Ta09EYUc2ZEUrcGpJd1dOMytjVHhoc043L0ltWDR0Y1hUS2hkc0xMaE1kOEpFQ0JBZ0FDQjRnc0lGSXB2cWtVQ0JBZ1FJTEJXZ2MxNmRJbnZmdXNyeVpzTWhxNzFlTjNPaFl1V3hPWEpXZ24zLy9PWnBQeFhZK2N4VzYveFkzcm02Mi9GaWFkZEVFdVNSeUJLdGFXdnMyeS9RZHRJdzQzRnlWMFI2WS83VW0xamt0RGsxK2QrYzQzbTB6ZFVYblRaWCtPMlNRL0ZxT0dENHZUa01aSFVMOWYyeXF0ejRyd0xiNG9YWG53OVZ6SEhDQkFnUUlBQWdTSUpDQlNLQktrWkFnUUlFQ0RRbUVEL3ZwdkYyV2QrUFFZTzZKMno2SnR6MzRtemYzWlZ2REo5ZG5Ub3NHSDgxdysvRVZzUDdSZHRxeXFTT3dhcTQ5b0pVMkxDelZOalpRa2VlY2g1WWlVNm1ENW1jZEZ2dmhYOSsvU3NmVjNrMG1VcjR1cnI3NnA5czBUYVplOWUzZUo3cDM0MUNSYTJ5bmtHNlJzd3pyL29sdVRWbXYvS1djNUJBZ1FJRUNCQW9EZ0NBb1hpT0dxRkFBRUNCQWcwS3JEVmdNMlR0UUtPaWw0OXUrWXMrK3JNTitPVTcxNVllMmRBV25ERFpJMkJzVjhZRTMxNmQ0K1hrNURoL244K0hRc1dMc25aUm5NN21ENW1zWDh5eG82YmJCelRubm81SHB2MllySjJ3c3JhWVd6WXZsMmNjZHJoc2ZjZUkzSU82NzMzRjhUNGkyK05xUTgrbGJPY2d3UUlFQ0JBZ0VCeEJBUUt4WEhVQ2dFQ0JBZ1FhRlJnOEZaYnhNOS9ja3lrUDU1emJTKzlNaXZHblhwK0pIZjlmeXBiWldWRmJOcGxrK2pjcVVPa2l5SyttZnpMLzdMa3JvRlBhMHZYVmpnekNSVDIrL3huY3A1Q3V1YkUrRXNteGoxVG44aFp6a0VDQkFnUUlFQ2dPQUlDaGVJNGFvVUFBUUlFQ0RRcU1HUlFuL2pGT2NmVy9salBWZmpGbDVOQTRkdm41eXBTc21OZHUzYXNYUUJ4MkxaYlJvZmt6UXJwMmdtejMzdzc3cno3c2RvN0IwcTVsa0t1UWFXQnd0aDl4K1FxRXVtckk5TzNQTng5NzdTYzVSd2tRSUFBQVFJRWlpTWdVQ2lPbzFZSUVDQkFnRUNqQWswOVVOaGdnM2J4MHg5OUk0WVBHeERwb294MVcwM05xcGc3NzkzNHd4VzN4LzBQUFJNMU5hVmJvTEd1ejRaLzh3b1VGaWFCd2lVQ2hZWjJ2aE1nUUlBQWdWSUpDQlJLSmF0ZEFnUUlFQ0RRUUtDcEJ3b25IbmRnSEg3SW5nM08rdU92LzNycGpmanBmMThYczJiUC8zaG5tVDRKRk1vRXJSc0NCQWdRSUpCQlFLQ1FBVXRSQWdRSUVDQ3dQZ0pOT1ZCSTN5Wng4elUvVGw0VjJXNmRRMHhmSVhudXI2Nk5xUTg4VmZzNnlYVVdMTUVCZ1VJSlVEVkpnQUFCQWdUV1UwQ2dzSjZBcWhNZ1FJQUFnWHdGbW5LZ01IUnduN2owZ3RNYUhjclZOOXdkVjE0M09YbnNvYnhMUmdvVUdwMGFCUWdRSUVDQVFOa0ZCQXBsSjljaEFRSUVDTFJXZ2FZY0tBd2ZOakRHLytxa1JxZG13c1NwOGZ0a0xZVnlyNk1nVUdoMGFoUWdRSUFBQVFKbEZ4QW9sSjFjaHdRSUVDRFFXZ1dhY3FBd0lna1VMaEFvdE5aTDA3Z0pFQ0JBZ0VCQkFnS0ZndGhVSWtDQUFBRUMyUVVFQ3RuTjZtcTRRNkZPd2w4Q0JBZ1FJTkIwQkFRS1RXY3VuQWtCQWdRSXRIQUJnVUxoRXl4UUtOeE9UUUlFQ0JBZ1VDb0JnVUtwWkxWTGdBQUJBZ1FhQ0FnVUdvQmsrQ3BReUlDbEtBRUNCQWdRS0pPQVFLRk0wTG9oUUlBQUFRSUNoY0t2QVlGQzRYWnFFaUJBZ0FDQlVna0lGRW9scTEwQ0JBZ1FJTkJBUUtEUUFDVERWNEZDQml4RkNSQWdRSUJBbVFRRUNtV0MxZzBCQWdRSUVCQW9GSDROQ0JRS3QxT1RBQUVDQkFpVVNrQ2dVQ3BaN1JJZ1FJQUFnUVlDQW9VR0lCbStDaFF5WUNsS2dBQUJBZ1RLSkNCUUtCTzBiZ2dRSUVDQWdFQ2g4R3RBb0ZDNG5ab0VDQkFnUUtCVUFnS0ZVc2xxbHdBQkFnUUlOQkFRS0RRQXlmQlZvSkFCUzFFQ0JBZ1FJRkFtQVlGQ21hQjFRNEFBQVFJRUJBcUZYd01DaGNMdDFDUkFnQUFCQXFVU0VDaVVTbGE3QkFnUUlFQ2dnWUJBb1FGSWhxOENoUXhZaWhJZ1FJQUFnVElKQ0JUS0JLMGJBZ1FJRUNBZ1VDajhHaEFvRkc2bkpnRUNCQWdRS0pXQVFLRlVzdG9sUUlBQUFRSU5CQVFLRFVBeWZCVW9aTUJTbEFBQkFnUUlsRWxBb0ZBbWFOMFFJRUNBQUFHQlF1SFhnRUNoY0RzMUNSQWdRSUJBcVFRRUNxV1MxUzRCQWdRSUVHZ2drRytnTUgzR25EampSNWZWMTE2eWRGa3NXYktzL25zcFBvd1lOakF1K05WSmpUWTlZZUxVK1AwVnQwZE5UVTJqWlFzdDBLWk5tOWhra3cyanFyS3F2b2xUamo4bzl2N3N5UHJ2YS91d1lPSGkrTzBsdDhiZDkwNWIyMkg3Q0JBZ1FJQUFnU0lMQ0JTS0RLbzVBZ1FJRUNDd0xvRjhBNFZWcTFiRmloWFY5YzJrM3lmZjgzajgvazkvajBXTGx0YnZMK2FIZkFPRk9XKytFOTgvNS9KNDdZMjNpdGw5ZlZ2OSsyNFc0NDQ1TUVadVB6QXFLaXJxOTFkVlZhenh2ZjdBYWg4RUNxdGgrRWlBQUFFQ0JNb2dJRkFvQTdJdUNCQWdRSUJBS3BCdm9MQTJyZVVyVnNiTmY3ay8vbmpWSFNXNU95RGZRQ0U5dC9SdWlmTXV2RGtlZXVTNVdGekVPeWU2ZE80UUp4NTNVT3k3OStpMUVUUzZUNkRRS0pFQ0JBZ1FJRUNncUFJQ2hhSnlhb3dBQVFJRUNLeGJZSDBDaGJUVjlBZjhMMzd6NTFpd1lQRzZPeW53eURaRCtzWEY1NSthZCsxRmk1Zkd4TnNlakwvZjhiOHg3KzMzSTcyTFluMjM5TzZFSDU3eDd6Rm80T1lGTlNWUUtJaE5KUUlFQ0JBZ1VMQ0FRS0ZnT2hVSkVDQkFnRUEyZ2ZVSkZGYXVySTYvMy9sSVhQekh2OGJ5NVN1emRaeEg2YzZkT3NSTlY1OGRiZHQrdkc1Qlk5WFN1eFBTa09QNm0vNFJNMmJPWGU5UW9YdTN6bkhhU1YrT1hYZmFyckd1MTNwY29MQldGanNKRUNCQWdFREpCQVFLSmFQVk1BRUNCQWdRV0ZPZzBFQWgvY2YvOUlmN1pWZE5pcG12elYyejBTSjlTOVpCakovKytOallkY2R0TXJXWUJoMnZ2RG83THIzODcvSGtNOU16MVcxWXVMS3lJa1lOSHhUSEh2bkZHRHlvVDdKbVFuSlNHVGFCUWdZc1JRa1FJRUNBUUJFRUJBcEZRTlFFQVFJRUNCRElSeURmUUdIbTYyL0Z1Yis4cHI3SmRDSEc5ejljbU55WnNDSzVDNkIrZDlFL3BIY0lwSTg5ZE8vYUtWUGI2VGt0WGJZOExycnN0cmo5am9kamZVNHhEUkhhYjlBdXVuYnRHRzJyUHI1YjRwZ2taTmh0NTl4M0xnZ1VNazJid2dRSUVDQkFZTDBGQkFyclRhZ0JBZ1FJRUNDUW4wQytnY0tMTDgrS2NkOCtQNzlHaTFncXZVdGh4UFpiSlk4ZEhCcGI5TzRXNlIwRFdiWmx5MWJFclg5N01QNTh5OVQ0NE1ORjYvMEl4T3A5bjNuYTRURjIzekdyNy9yRVo0SENKMGpzSUVDQUFBRUNKUlVRS0pTVVYrTUVDQkFnUU9CamdhWWVLS1JubXQ0aHNNM1Fmdkgxdy9lSlVTTUdSYnNNYXlxazlaY2xkMUhjOStEVE1TRUpGVjZkK1diUlFnV0JRcXBySTBDQUFBRUNUVXRBb05DMDVzUFpFQ0JBZ0VBTEZtZ09nVUlkZjk4dGVzU1hEdGcxRGh5NzB4cVBIdFFkei9XM3VxWW1ubm4yMWJnaENSVWVlZXlGWEVYelBpWlF5SnRLUVFJRUNCQWdVRFlCZ1VMWnFIVkVnQUFCQXExZG9Ea0ZDdWxjZGV5NGNleSt5M2J4emFQMmo4NmROczQ4ZlhQbXZsUDdDTVJmL3ZaUXJGaTVmbSttRUNoazVsZUJBQUVDQkFpVVhFQ2dVSEppSFJBZ1FJQUFnWThFbWx1Z2tKNTF1bzdDc0cwSHhPa25IeEw5K215V2VTclRWMHRPbnZKWVhISHQ1Rml3WUhIbStuVVZCQXAxRXY0U0lFQ0FBSUdtSXlCUWFEcHo0VXdJRUNCQW9JVUxOTWRBb1c1S3RoclFPMDQ4OXNBWVBteGdWRlZWMXUzTzYyOTFkVTFNZmZDcHVPektTZkhXVys4VzlCWUlnVUplMUFvUklFQ0FBSUd5Q2dnVXlzcXRNd0lFQ0JCb3pRTE5PVkJJNTYxWHo2N0pZbzJmaTczMkdCRWJiYmhCcHFsY2xieGI4clpKRDhlbGwvOHRsaXhkbnFsdVdsaWdrSmxNQlFJRUNCQWdVSElCZ1VMSmlYVkFnQUFCQWdRK0VtanVnVUk2aWswNmJKaTh2bkhIT09TZzNXS3pIbDB5VGUyaXhVdmo5TE11aVpkZW1aV3BYbHBZb0pDWlRBVUNCQWdRSUZCeUFZRkN5WWwxUUlBQUFRSUVQaEpvQ1lGQ09wTEt5c3JZY1ljaGNlUVJuNCt0aC9UTk5MMi92ZlRXbUhqYmc1bnFwSVVGQ3BuSlZDQkFnQUFCQWlVWEVDaVVuRmdIQkFnUUlFRGdJNEdXRWlpa282bW9xSWd0Ky9XTWIzNWpiSXdaUGFUMmV6N3pmUG5WZDhZMWY3NDduNkpybEJFb3JNSGhDd0VDQkFnUWFCSUNBb1VtTVExT2dnQUJBZ1JhZzBCTENoVHE1cXR6cHc1eDBuRUh4cDY3RDQ5Mjdkclc3VjdyMzNRZGhYTitjWFhjOStEVGF6MmVhNmRBSVplT1l3UUlFQ0JBNE5NUkVDaDhPdTU2SlVDQUFJRldLTkFTQTRWMEd0TWc0WWhEOTR3RHZyaFQ5T2plZVowek8yUG0zUGpPRHkrTjk5NWJzTTR5NnpvZ1VGaVhqUDBFQ0JBZ1FPRFRFeEFvZkhyMmVpWkFnQUNCVmliUVVnT0Z1bW44N0c3YngyR0g3QmxiRCs3emlVY2c1c3g5SjY2NDVzNlkrc0JUc1hKbGRWMlZ2UDhLRlBLbVVwQUFBUUlFQ0pSTlFLQlFObW9kRVNCQWdFQnJGMmpwZ1VKbFpVVU1ITkE3OXRselZPeTB3OWJSbzBmbldMaHdTVHo5M0l5WWN1KzBlT0twbHd0NlpXUjYzUWdVV3Z0L1BjWlBnQUFCQWsxUlFLRFFGR2ZGT1JFZ1FJQkFpeFJvNllGQ09tbHQyclNKOXUzYlJZZU4yMGZidGxWUlhWMFRpNWNzaTBXTGxrWk5UVTNCOHlwUUtKaE9SUUlFQ0JBZ1VESUJnVUxKYURWTWdBQUJBZ1RXRkdnTmdjS2FJeTdlTjRGQzhTeTFSSUFBQVFJRWlpVWdVQ2lXcEhZSUVDQkFnRUFqQWdLRlJvQnlIQllvNU1CeGlBQUJBZ1FJZkVvQ0FvVlBDVjYzQkFnUUlORDZCQVFLaGMrNVFLRndPelVKRUNCQWdFQ3BCQVFLcFpMVkxnRUNCQWdRYUNBZ1VHZ0FrdUdyUUNFRGxxSUVDQkFnUUtCTUFnS0ZNa0hyaGdBQkFnUUlDQlFLdndZRUNvWGJxVW1BQUFFQ0JFb2xJRkFvbGF4MkNSQWdRSUJBQXdHQlFnT1FERjhGQ2htd0ZDVkFnQUFCQW1VU0VDaVVDVm8zQkFnUUlFQWdEUlIrL3BOam91dW1IWE5pdlBUS3JEaisxUE56bG1sdEIvL3o5TU5qdjgrUHlUbnNCUXNXeC9oTGJvMHBVNmZsTE9jZ0FRSUVDQkFnVUJ3QmdVSnhITFZDZ0FBQkFnUWFGUmk4MVJieDA3T1BqaDdkTytjc08zM0duRGp4OVBHeGZQbktuT1ZheThGMmJhc2l2VU5objcxRzVSenkreDhzalBFWFQ0eDdIM2dxWnprSENSQWdRSUFBZ2VJSUNCU0s0NmdWQWdRSUVDRFFxTUNXL1h2Rk9XY2RHZjM2YnBhejdLdzU4K09zbjF3ZXMyYlByeTNYcWVQRzhZVjlkb2llUGJyRWEyL01pNm5KRCtZUFBseVVzNDNtZG5Eelh0M2k4M3VQamc0YnQ0L24vdlZhUFBUSWM3RnMyWXJhWVhUdjFpbStkK3Boc2VNT1EzTU9hOTc4OStMOGl5Ykd3NDgrbjdPY2d3UUlFQ0JBZ0VCeEJBUUt4WEhVQ2dFQ0JBZ1FhRlNnZDYrdXRmL1NQbUxZd0p4bDAzOXB2L0QzZjRsN3BqNFJYYnBzRWovNDd0ZGkyNjM3Ui9zTjJzYml4Y3Rpd3NUNzRvYWIveEVyVjFibmJLZTVIR3pmdmwxYzhNdVRZc3YrUGFPcXNqSStUQjVkbUhqYkEzSE5uNmZVRG1INzdRYkVkMC81U3FOQnpJeVpiOFo1djdzNW5uMStabk1adXZNa1FJQUFBUUxOV2tDZzBLeW56OGtUSUVDQVFITVM2Tnk1UTV4NDNFSHhoZVJmNG5OdHExYXRpanVuUEJaWFhuZFhuSkg4eS96b2tZT2lUWnMyOVZWZW56VXZ4cDE2UVN4WnVxeCtYM1Arc05PWWJlS1g1eHo3aVNIODZkckpjZTJFS1hIb3didkh1S01QaU1yS2lrK1VXWDNIazg5TWovOGVmMlBNbnZQMjZydDlKa0NBQUFFQ0JFb2tJRkFvRWF4bUNSQWdRSUJBUTRHcXFzbzQ0dEM5NHBnanZ4QVZGYmwvSEwvOXpnZXhLTGtiWWZQZVhXdi8xWDcxdGw2WlBqdE9PZU4zc1hUcDh0VjNGKzF6dW1qa1Y3KzhSK3liQkI5TGs4Y09ycmxoU3R4ejM3U1NyZWt3Y3ZpZ09PL240NkppdGRBa0hVeE5UVTF0c0RLZ2YrOFlPcmhQenZHbEljemQ5MDZMLy9udGpTVTd6NXduNENBQkFnUUlFR2lGQWdLRlZqanBoa3lBQUFFQ241N0FianR2RjZlZGRFaDA2OXFwb0pOWXRIaHA3YU1BTjk5NmY2eXNMdjRqRDIyVDBPUGcvWGVKNDQ0YUcrbWpDT2syLyszMzQxZm5UNGpIbjNpcG9ITnVyRkxhejg5K2ZIU01HajQ0dVJPanNkSnJQNTY2WEhIMW5YRkw4cWlFalFBQkFnUUlFQ2lQZ0VDaFBNNTZJVUNBQUFFQ3RRSTlOOXMwenZ6MllURnF4S0RNSW91VEg4MTMzUFZZWEhmVFBmSHVld3N5MTgrblFzZGtBY2dUamprZ3h1Nzc4U3NhMHpzaHJwMXdUKzNqQi9tMFVVaVovbjE3eGduSEhsQzc4T0xxajNmazI5YWN1ZS9FRC83ZkZUSHp0Ym41VmxHT0FBRUNCQWdRV0U4QmdjSjZBcXBPZ0FBQkFnU3lDS1NQT2h4NStPZmlhNGZ0blN5eStORWRBUG5VVDE4aCtkRzZDcE5MRmlhazU5RWxXZWZoNU9NUGpuMzIvUGdWalduZkV5Wk9qY3V2dmlPZlV5Mm9UQm9pREVqZWduSDgwZnZIbU5GRE05K3BNT211UitLOEMyK082dXFhZ3ZwWGlRQUJBZ1FJRU1ndUlGRElicVlHQVFJRUNCQllMNEhlUGJ2Ry8veHNYS1J2ZmNoM1M5Y0lTRjhqZWNlVXgrUFJ4MStJMTJmTlQ5WUsrT2kxaXZtMmtVKzV0UVlLSzVKQTRaYlNCUXBWYlN1alY0OU5ZMlJ5MThaK3llc3hod3pxbTZ3eGtmK3pEeldKelZIamZoMXZKSXRWMmdnUUlFQ0FBSUh5Q1FnVXltZXRKd0lFQ0JBZ1VDOXcyQ0Y3Sm84VzdOL280b3oxRlh4WXEwQzZjT04xTjkwYmwxODFhYTNIN1NSQWdBQUJBZ1JLSnlCUUtKMnRsZ2tRSUVDQXdEb0Ywb1VJei9uK2Y4Uk9uOWw2bldVY2FGemd5YWVueHcvUHZTSjVJOGJTeGdzclFZQUFBUUlFQ0JSVlFLQlFWRTZORVNCQWdBQ0IvQVg2Yk40OWZ2QzlmNHV0aC9UTnY1S1M5UUl6a2dVWXgxODhNWjU4Wm5yOVBoOElFQ0JBZ0FDQjhna0lGTXBuclNjQ0JBZ1FJTENHUVBxS3hKSERCOFczVC9oeTlPdTcyUnJIZk1rdDhOYjg5K0tQVjkwUlV4OTRLbFlrYXp6WUNCQWdRSUFBZ2ZJTENCVEtiNjVIQWdRSUVDQlFMNUMrOVdISEhZYkdLZU8rRkp0bldLU3h2b0ZXK09HRER4ZkZINjZjRkhmZS9haTNPclRDK1Rka0FnUUlFR2c2QWdLRnBqTVh6b1FBQVFJRVdySEE2T1FOQnljY2UyQU0zTEtYaFJyWGNSM1UxS3lLZDk3OU1DNjY3SysxZHlhc281amRCQWdRSUVDQVFKa0VCQXBsZ3RZTkFRSUVDQkJvVEtCdm54NXg1Qkg3MUQ0RzBXM1RqbzBWYjFYSDMvOWdZVHo5N0l5NDZ2cTdZdnFNT2ExcTdBWkxnQUFCQWdTYXFvQkFvYW5PalBNaVFJQUFnVllwc01FR2JXTzNuYmFMUFhiZFBrWnVQekE2ZHR5NFZUclVEWHJKMHVWSmtEQTk3di9uTS9IZ3c4OUcrcmlEalFBQkFnUUlFR2dhQWdLRnBqRVB6b0lBQVFJRUNOUUxWRlMwaVUyN2RJeXRCdlNPejR3ZUdqc2xheXhzM3J0Yi9mSFc4R0Zlc3VqaTQwKzhIQTgvK255OE1uMTJ6SHY3ZzJTOWhPcldNSFJqSkVDQUFBRUN6VVpBb05Cc3BzcUpFaUJBZ0VCckUyaVR2QWFpWGR1cWFKZmN0WkF1MkRoczJ3RXhvSC9QNk5sajAralFvWDFVVlZaRitxYUk1cjZ0VElLQ3hZdVhSZnJtaGhrejU4YXpMOHlNMTJmTmk2Vkxsc2V5NVN0aTFhcFZ6WDJJenA4QUFRSUVDTFJJQVlGQ2k1eFdneUpBZ0FBQkFnUUlFQ0JBZ0FBQkFxVVZFQ2lVMWxmckJBZ1FJRUNBQUFFQ0JBZ1FJRUNnUlFvSUZGcmt0Qm9VQVFJRUNCQWdRSUFBQVFJRUNCQW9yWUJBb2JTK1dpZEFnQUFCQWdRSUVDQkFnQUFCQWkxU1FLRFFJcWZWb0FnUUlFQ0FBQUVDQkFnUUlFQ0FRR2tGQkFxbDlkVTZBUUlFQ0JBZ1FJQUFBUUlFQ0JCb2tRSUNoUlk1clFaRmdBQUJBZ1FJRUNCQWdBQUJBZ1JLS3lCUUtLMnYxZ2tRSUVDQUFBRUNCQWdRSUVDQVFJc1VFQ2kweUdrMUtBSUVDQkFnUUlBQUFRSUVDQkFnVUZvQmdVSnBmYlZPZ0FBQkFnUUlFQ0JBZ0FBQkFnUmFwSUJBb1VWT3EwRVJJRUNBQUFFQ0JBZ1FJRUNBQUlIU0NnZ1VTdXVyZFFJRUNCQWdRSUFBQVFJRUNCQWcwQ0lGQkFvdGNsb05pZ0FCQWdRSUVDQkFnQUFCQWdRSWxGWkFvRkJhWDYwVElFQ0FBQUVDQkFnUUlFQ0FBSUVXS1NCUWFKSFRhbEFFQ0JBZ1FJQUFBUUlFQ0JBZ1FLQzBBZ0tGMHZwcW5RQUJBZ1FJRUNCQWdBQUJBZ1FJdEVpQi93OEFBUC8vOW4rVC9RQUFRQUJKUkVGVTdaMEhuRlhGMmY4ZnRzQVdXSmFsTEIyV2pnVVFDMklFZTFTSU1mYllvbEdqSm1vMG1tcDhFOS9Ya3FMbW41allGVnZzdlhlTVFyREZqaUs5TGl4bEtRdGIyTVovNW00dWJEbjM3c3k1NTV4Nzd0M3ZmRDZ3OTg1NVpzNmM3OHc1ZCtaM25wbnBWSExnUlR1RUFBRUlRQUFDRUlBQUJDQUFBUWhBQUFJUWdBQUVMQWgwUWxDd29JVXBCQ0FBQVFoQUFBSVFnQUFFSUFBQkNFQUFBaEVDQ0FvMEJBaEFBQUlRZ0FBRUlBQUJDRUFBQWhDQUFBU3NDU0FvV0NNakFRUWdBQUVJUUFBQ0VJQUFCQ0FBQVFoQUFBSUlDclFCQ0VBQUFoQ0FBQVFnQUFFSVFBQUNFSUFBQkt3SklDaFlJeU1CQkNBQUFRaEFBQUlRZ0FBRUlBQUJDRUFBQWdnS3RBRUlRQUFDRUlBQUJDQUFBUWhBQUFJUWdBQUVyQWtnS0Znakl3RUVJQUFCQ0VBQUFoQ0FBQVFnQUFFSVFBQUNDQXEwQVFoQUFBSVFnQUFFSUFBQkNFQUFBaENBQUFTc0NTQW9XQ01qQVFRZ0FBRUlRQUFDRUlBQUJDQUFBUWhBQUFJSUNyUUJDRUFBQWhDQUFBUWdBQUVJUUFBQ0VJQUFCS3dKSUNoWUl5TUJCQ0FBQVFoQUFBSVFnQUFFSUFBQkNFQUFBZ2dLdEFFSVFBQUNFSUFBQkNBQUFRaEFBQUlRZ0FBRXJBa2dLRmdqSXdFRUlBQUJDRUFBQWhDQUFBUWdBQUVJUUFBQ0NBcTBBUWhBQUFJUWdBQUVJQUFCQ0VBQUFoQ0FBQVNzQ1NBb1dDTWpBUVFnQUFFSVFBQUNFSUFBQkNBQUFRaEFBQUlJQ3JRQkNFQUFBaENBQUFRZ0FBRUlRQUFDRUlBQUJLd0pJQ2hZSXlNQkJDQUFBUWhBQUFJUWdBQUVJQUFCQ0VBQUFnZ0t0QUVJUUFBQ0VJQUFCQ0FBQVFoQUFBSVFnQUFFckFrZ0tGZ2pJd0VFSUFBQkNFQUFBaENBQUFRZ0FBRUlRQUFDQ0FxMEFRaEFBQUlRZ0FBRUlBQUJDRUFBQWhDQUFBU3NDU0FvV0NNakFRUWdBQUVJUUFBQ0VJQUFCQ0FBQVFoQUFBSUlDclFCQ0VBQUFoQ0FBQVFnQUFFSVFBQUNFSUFBQkt3SklDaFlJeU5CUnlTUTNhTkFzZ3U3U1Y3SmdNamxaK1owa1M3OWV1MUVVYlcwTlBLNWJsT0YxRzNlS3RIdk93MTgvSkNqeXBGZFdMQ3pQRG45ZWt0R1R1ZW04cWl5NkRMcHNIM05CbFcyQ3FsUmZ3a1FTR2NDK2o3Vjk2dStiM1dJM3JmNnM3NFBHbXEyUzZQNnArOEZmYjlHN3hGOTNNOFE1dWVJbjljZFZONlp1VG1TTjJ5QTVBNHNsdXlpN3BLVm4rdDQ2b2FxR3FrdDN5elZwZXVrYXZFcWFhaXVjYlFqMHBsQVZ0ZTh5RDJWb3poMzdsa29tZi85dldsdTNWamZJTFhyTnlyT1c5VGZUVks5c2t3YWErdWFtL0FaQWhEd2lFQkdkcGJrRFZYUHZrRjlwWE92UXNucWx1K1lzNzRIOWJPdlpzMTZxVnkwVXVxM1ZqcmFFUWtCV3dJcEx5aGtGZVJIZnRCc0w5eExlLzFqV2IrdHlqckxncTY1a3BtWktadTJiTE5PNjJjQzNVR3dEZm9CbFc2aDI5aGgwblczWVpHT1UyYzFZTGNOK29HOWRkNFMyYWIrZVRtSTEySkc5NGxqVkxrR1JzcW12OXNFUFpqU2drZlYwbFd5NVpOdklvTXJtL1FkMFZaM29QVmdzRk5XcHFlWHIrK2IrZ3ArMEJPRnFrVzE3bnVOYlJya0tFSE5OdFFxb1UzZkU5dStYaEs1WjIzVHg3UHZ2cGU2VjRjMTNhdUpQRWUyZlBwTllNSkh2T3NKMDdHTXp0blNWVDJuODBjTWtyekJxaVBkczRlcjR0V1diNUtxRldXUkR2YTJyeGRMWTEyOXEzelNOWkVXYXJxcDM4TDhrWU1qQTViczd0MWNYV3JWTXYyN1V4cmhYTFY4dGFzOHdwWW8zdUROcWF6MXFyOVh1M0dMMHlGZjQvUnZseDVzbW9ZZGpZMVN2WHlOcVhsZ2R2UlBkNkh1T21xb2RCMDFSSEtIOUJQOUlzbE5xS3ZZRnFubnlpV3JaT3ZjUllpcmhoRDk2eE51VVgzQ2NJMEpEWkZJeWdzS1BTYVBrNzdURHpLOVhsL3NWai85cGhxWXpUUE8rNndURDVaTGYzaTBGQ294UkllS2JkVnkyejlmbHhtUHpaUTZwZW9uTytUMDd5MGxQL20rY1RGMnFESi9jL1d0eHZaaE50U0RSajBBS0RwZ2ducnJZamRRajNkZFdsellPT2N6MFlNQ3QwRy9aZTArY2F3VXFvR1RsMEdMSHJwc1FYcFZlRmwrUC9MS0hWU3NPbC85bE9MZlgzTFZ2Nnc4NXplZGlaNjc3S1YzWmRON255ZWFUWWROcisvVlhvZE5FamNEOVZqUXRMaWduK2VKRE9EMWM2Um84dmpJL1JxMjUwaXM2MDZsZU0yM3Q2cjM3aFBHK0ZMc3paL09rdzF2dmk5MUlSUDdmYm5ZT0pscW9hN1hZZnRMdHpFbGNhemNIYXBWbm5PYi8vT1ZiUHJnQytVdFZPc3VreENrNnZlOVE2VnduOTJOUzZKL2E5ZStQTXZZM2l0RGZjK011T0lzNCt5MDE4NkM2KzR5dGcvS1VMZkprb3RPTlQ3ZGpnYlZQLzE5ZXZSUDlVVjM3dFVqMGovdFBuNlVaSFJwOGtRMWhtRmdXTGxvaGJvbnYvUmNXRGM0ZGFoTmNnZjJsVndsV3VzK29mNlg2Vk9mY0szcUUyNU0wVDRoZ29JSFRkaFVVSmk0UjRuYytOc2Z5TkNCemtwaSthYXQ4cXMvUGlRejU4ejFvRlR1cytpSWdvTHU5UGM2ZEwvSWc5bzl1ZlpUNnNIS21xZmV0QnE4NjQ1QThiUXBvajBtL0F5VnltTmh6ZE52ZGRpM29GMVZwN243aE5IU2RmUlF5Y2pPOWhQMXpyekxYbnBIQ1FwZjdQek9Cek1DK20xcEgzVlBlQ2trdEQ2ejl1VFJuZjhOTXo5c2ZTam1kLzBjNlhIQWVNOEZ5ZFluMU0rUmRXcFFzbFY1VkhTa2tKbVgwL1NjM245OElKZTljYzZuc3VIdGo5UmJ1KzJCbkM4c0o0a0lOb2Nyd1dhOFA0Sk44K3RzcksyVjh0bUtzOFY5MWp4OXNqOGpLQVJiQXgxVlVNZ3E2Q3A5djN1d0wrS2VVdzNxcVVwbHo3OHRsWXRYT2gzdUVIR1JQdUg0Ly9ZSmxUZGNFR0h0aTBwUWVEODFYekloS0hqUVFrd0ZoZGNmdkVwR0RJM3ZjcVpGaGNuSFh5WDFTZlJVNkdpQ2duN3ozKytFdzMwZG5MUnVabnJ3WHZyUXkrMU9OeWhTZzVQaWFWTmJKL2Z0dXg1RWJaajVnUnBJcGVZRHpRMFlMU0QwUG1LeTVQVGR0U2FHbTN6Y3BNRkR3WTZhSHVqME8vNHd5VmZUZllJS2V2QmUrdEJMN1U1YjBoM2RBYWRQRC9RNW9yMkx0RUNwNzl0MEQ3ME8yVmQ2VHBrb0daMjlmeXNYajEza21maXZqMlNqR3ZTbWU5Q0NXTzhqOXBjZWs4WUZmcW5hWTJITk0yOUpsWEs5VHFXQW9CQnNiWFZFUWFGSUNhaTlqenhBdmVqSUNoYTJPcHYyMUN0NzhSMXAzSjY2WGtTMjBIU2ZzSS9xRTNaSlFwOFFEd1hiMnZMUVBsV21QSnh3OUNTNTRjb3pqYTc4ajdjOUszYysvS2FSclI5R0hVbFFDSHJBM3J5KzRnMVVkTWV1ei9RcG5rOXZhSDcrZUorMXkrKzZsMmFsOVVBbFowQWZLVmFNOHdiM2o0ZkMxMk1JQ3VaNGRVZHk4TG5IZXpvVnlmenNJdkdFWXowVnFmL3hoOXRrNTVsdHZPZUlaeWRKWWtaNm5hUkJaeDdqZW82d1YwWFhjLzVYUGF4RTRNcHFyN0lNVlQ1ZGludktvQjhjSTI3WFIvRGlZbmJJRGlsLzUyTlpyNmFieUk0ZFhtVHBleDRJQ3I0amJuR0NqaVFvNkRWaStwOThaR0JlQ1MxQU4vdWkxL3hZK2NBTFVydGhVN1BZOVB1bys0UjkxUXM4dlNaRnNnS0NRckxJcS9PbWlxQnc3NDAva1lNbTdXWkVhbk5GbFV5Yy9rc2pXeitNT29xZ29MMFN2RjZQd0xZKzlOdXZGZmM4M2VMdHB4WVRCcDk3WE5JNzBIcmRoeFgzUEpPV29rSVk2bDYzRmFZOG1OMHhlc0N1cC8zb2V5T1pRUXR0MmlPZ2VRaERXM0o2ampRdlk2cCsxcnMxRERyN3U2cmVjMEp4Q2ZYYkttWEZ2Yy9KOXJYbG9TaVBWNFhRVTRnR25qYmRxK3dTemtlN1dhOVNYa0dwc0NzRWdrTEMxVzJWUVVjUkZQUXVOWVBQT2xZdE5OdmRpbzlmeG5xaDJ0SkhYNUZ0ODVmNWRZcWs1cXRmQ09oK1JySURVeDZTV0FPcElpak1lK3V2MHFXenVidlNYa3BRMktLRWhXU0VqaUFvaEdFUUVLM2Ixb09Ca291K24zUXhJVnEyZEJNVjlGYUNBOC84anVRVUJ6KzlJY3EwK1Y4OEZKclRjUDVzMjRGMHpzVzdXTDJnbWw1YlFRZTllS3NXT3NJUVdqOUh3bENtUk1yUXBVK1JERG4veEtTTFNLMnZvYjZ5U3BiZDhZVFViV3phanJmMThWVDduajlpY01Rem9WTkdScWlLWHIxNm5heWM4V3pvQlcwRWhXQ2JqZTN2UVNvdXlxaDNzdERQdmxqYjNnWkxmTmZaOU00ZnF4OS9UU3JVYmhEcEVuU2ZVSHZBYVErdE1BUThGSkpZQzZraUtNeDkvU2JKeXpWL3U3Ym50NitReWlRdEJKWHVna0l5M1pOajNTcDZNTEQwbGtjakM0NGwyMnVpZFJtZDNzcTJ0a21GNzlsRkJUTDBncFBVajNSZWFJcUxvQkMvS25Ubk1ablRIR0tWVGs5LzBDRloweHhpbFN2NkhLbFQ4OUZUT1lUeFhtM09zMDZ0cTdIczlpZGNiUmZkUEo5a2Y5YmJDR3B2dUl3czg1Y2RRWlpaVHpOWmZ0ZFRRWjdTK2x3SUN0YklFa3FRN29LQzNvWlU5MVAwVnExaERhV1B2Q0lWWDZXK3FLQzlRSnI2aFA3czR1V20vaEFVM0ZEektFMnFDQXEzWGZjak9YS3EyY3JVSDg5ZElpZjkrQzhlRWJMUEpwMEZCZHNmSTN0NjdsUG93VUN5WGJwamxiNzVXOWxZTm1HTzEvT3c5UTlITXVjSE8vRkJVSENpMGhRWGxxay9zVXNZemlONndWYzlWU2xWZzE1NGJLankwdXFpdGtjTGM2aGF1VVpXM1BXMDZMZDJxUmd5ODNObCtHVm5oSHJnb3JucW5UYld2anc3dElnUkZJS3RHdHMrWENwNUtHZ3ZJZTJoR3BhMzViRnFWazlGV25MelExSzNlV3NzazlESFozVlRmY0lMVDFaOXdxNmhLaXVDUWhLckkxVUVoYU1PbWlDM1hudWVFYW5mM2ZTWS9QUFo0UGNwamhZdVhRVUZQVUFaZXZIM0ExMkZQY28wMWYrbXNqdDFaSUR5azFPa1MrK2kwRlVEYXlqRXJoSzlZR2JSNUFteERUZ1NrMEFxQzRBRFQ1c20zWFliSHZQYXduU2cvTitmeXJwWHdqdllqY2RLQzZ6YVF5RVZ3c29IbnBkdEM1YUhzcWdJQ3NGV1N6b0xDbnBuZ1o0SDdSTXNVSmRucTE2eFJwYmQ5YVJhUE5WbEJrbE1GdVkrSVdzb0pMRmhwSXFnb0JFOWZzdlBaSjl4OFR0S2k1ZVh5UkZuWEp0RW9pTHBLaWowT25TUzlENTB2NlN5VGVXVHArcWJ6ekFQVVBCUWNMNGo5RmF1UTlTT0RnVDNCQmJkZEwrazJ0U0hndkdqWk1CSlI3cS82Q1NrWEQ3am1aVGI2ckQzWVpPazF5R3A4MXRZdDJXckxQN3JQMldIV2hndWJBRkJJZGdhU1ZkQklhZC9IeWxSTHo1U0thVHE0RGZNZlVJOEZKSjRCNlNTb0ZBeXFJLzg2ZGVueHhRVnZsbThXbjc5cDRma2kzbkpWZUxUVVZEUTNnbkRmMzVXUWxNSzlKN3ZWVXRMMVk0TTZ5T3VYczA3Ni9wSExrT2RJNjlrb0hxN05reHlBdHkvVnMvbmpaYXRRYTI3c1gzTmhwMExXZW5yN3FMS2x0MmpRSlZ0Z09TcmY5bUZCYTd2Mk9WcVJ3ck5JRlZDajhuanBlLzBxYUV0TGg0S3psV2o1M1hucTN2SmJhZ3AyeUJidjliMzZ5cHBWRk9KYXRROUVRMzZYdEFMTWVYMDZ4MjVKN3FOSFJZOUZNamY2TDNxOUJ6Ujk2Z09YanhIVW0zdGswNXFxc1B3eTM4ZzJjb1YxVzFvcUsyVm10SjFrWC9WSzh1a1pyVjZWcmRhVHlKUzkycDdNTDJEUkk3K3B6cnltVjA2dXoybDZMYTI5QitQdUU0ZmRNSXM1ZUk3L0dkbkpyUnVRbjFWdFdMN1g4NHJ5cVI2MWRvMjIybDJWdk9UczlYaWNua2wvU1YvMktBSTcwU3V0WHoySjdMdTFYOG5rb1V2YVJFVWZNRWFNOU4wRlJTRy9PZ0V5UnZpZmd2ckhmVU5rYjVwZGVuYXlIT3ZSdDJUMjlkdGJNRXhNeThuNHBVVWVmWU5LSlpjOVJ6VVU1L2Nob2JxR2xsODB3TTcrNXR1OHdreVhaSHFFeGFIdUUrWXFpS05yc05PSlFkZWxJSU9LN3VhWHlvSkN0RlNINm1tUHh4NytENXk0TDVqSkRNelE5NzdaSUc4OE5iSDh0enJIMFZOa3ZvM0hRV0ZSTHdUMXMvOFVEYXBWZDIxMjc5cDBJT1cvbXBieXJ5aFRRTUUwM1EyZGxwSTBHWGI4c2s4bTJTUnJYRzBwNFliWVNHVnZCVDBEK1VJSlNKbFpHZGI4UW5TR0ErRnRyUVQ4VTZvV2xZcXE5VzJqcTBIa1czUHNpdEdpMjQ5MUc0TmZub3ZOV3pmTGh2Ly9ibjFjMFN6MEcrVDNUNUhVc2xMb1pkNkp2VldYbVJ1UWtOTmpheC80MzNaOU1HWGJwSkw0YjU3U0o4ako3dmVubkxOTTIvSjVvKy9kblh1b0JQcGZlMjdqeHZsNnJSMUZkc2lVendxdmx4b25WNExPWVY3N3laRlV5YTZGak1XM1hoZjZPWnRJeWhZTjRXRUVxU2pvTkJ0OStFeThOUnBycmxzK05kSG92OXBVY0UyYUVGZEQ3RDEvZWttNkIyUDlCUzdWQWhOZmNLelZaOHdLN1RGeFVNaHRGWGpybUMyN2pCNnhXL2JRWjI3a2dXVEt0MEVCVDFnR0hYVitkYnc5Q0JneGQxUHQzaTdhWnVKWDl2SzZiZVA2MTZhWlNWeU5DKzdacUszem5UemRqWlZ2QlM4MkJxMGN2RUsyZnJOVXJYdi9NYklqL1YyNVoyaTkyTW0rRWRnNE9uVFhiWExSTmNOMEIzVndlY2RyOTVXbSsvR1kwSkJ2OEZlODlRYlNYbU9wSXFYUW9ieUVCajU2M05jaVg5YnYxNHNhNTU5V3hyVVcvTkVRbVplcnZUNzNpR3UxbStvMjFvcGkvNDBJNUhUQjVKV2I4VTU3S2VudXpyWHh2YytrL1d2djVmdzgwOTdTUFQ5N3NIU2JYU0pkVGsyZlRSWHlwNTcyenFkbndrUUZQeWsyemJ2ZEJRVXRNZVEzaXJTTm1qUG9OVlB2QzYxNVp0dGs3YXc3NVNWS1hyOWhxSnY3ZFVpM3ZUTHdqL2VreEk3M3VoZG1mUXViNG1FeWtVclpOczN5NVQzUjdrMEtnR0hQdUV1bWludm9iRHJVcno3aEtEUVc4M2wrcjR4VUsyS2ZuUDFyY2IyUVJ1NjJTWlNpd21MYjdqZjlZQzkrVFc2T1gvejlLMC9lemxJY0RQbzl2TDhyYS9OcSsrMm5ZN1c1OVdMcldtdmxMb3QyMW9mNHJ1UEJOeUtmMTZKdXZyOHczK2hwa1o1SkNwb01VR0xramJlVGJId3VubU82UE11dVBiT1dGbUdKcjV3MzkybDM3R0hXcGZIajBVUmUzOTdzdlNhYXI4dzJvcjduNWZLaGNtZHJ0Z2V3RDVISHlnOVhRd2ExanczVXpaLzlGVjcyVnNkSDNEcTBWS3crd2lyTk5wNDRaOW5TSDFGcFhVNnZ4SWdLUGhGMWpsZjI5LzJzTy95a0Q5c29Bdys1empuaTQwVHE0WFUwc2RmYytXVkVDdGJONzh4T3EvMWI3NGY4WkNJbFc4WTR2VVVSNzJEaHR1d2NmYW5va1ZWK29TeENTSW9PTEJCVUVndlFVRS9SUFREeENZc3ZlV1JoTjRvdGo1WElsTXVtdWZsOVh4ZFBZRFNiMlZ0MW56UWc1VEZOM29qdGpTL05pOC85enZ1c0loN3JXMmV0V3ErOVNxMW92ajI5WnRzazJMdkFRRTNIajE2MnMrR21SOTRjUGFtTEd3N3JMRk83SVdIVSt1ODNleDhzZXJobHlMclNiVE9LMHpmaDF4d291UU42bWRWcFBWdnFVN3MyLzVNRSt4MThMN1MrL0Q5cmNxanB3R1VQdmFxVlpxZ2pVZis1anpKc3B3elhmcW8ybk4rcmo5N3pnLys0YkdTUDN5d0ZZYTFyODRXM2JrUFMwQlFDTFltYkovUFlSY1VCbnhmQ1d0NzJBbHJmajVyOUE0N2VneGtFL1FnZTlFTjk5b2tDZHpXYlo5UVQ1OWMrY0FMcWsvWWNqMkt3QzhnQlU2SW9PQlFTUWdLNlNNbzZMVU1SbHh4bGtNdHg0N1NLdVJhTlozQTY2RG44N3RadDZCNU9id1dPblRlYnVhc2UvVkd1UG0xZWZVNW8zTzJqUHpOdWRidTA5cDljS1Y2eTZnWEdpSWtoNEN0K0tmWEVWbWt4QzJ2ZzV1QmUrc3llQzEwNlB5MUFGaWl0cjYxZVk3b1JTQlhQZlJTNitLRjVudm5Yb1V5L0xJenJjcWpGeDViZHZ2ai9tMVoxa2xreUhsMmk2VHRhR3lRaGRmZjQ0azNpaFVNUTJNOXZVMVBKN0lKbXovNVd0WTgvWlpORWl0YnZVaWNYb2hUdDJ2VG9CY3pYWHJMbzZibXZ0c2hLUGlPdU1VSjBrbFEwTk9zUmwxNVhvdnJhKzlMdlZySFpQSGZIcExHN2JYdG1ibyszdmZZUTZTSFdsZkdKcXk0L3pubG9iWENKa2xndHBFKzRhOVZuMUQxRFcwQ2ZVSWJXbW13S0tQZDVacFpJeWlrajZEZzVvMm5kaEgyd2tXNWRXdHo2MDRXemNmUHFRWkRsSmVDemNKdmZwWWxlcjF1LzdyaHZIM0RKbGwyNjJQU1dGdm45clNrUzVDQUhsVFlyblhpbDdEbHBpek5MMTk3Snl5NHhwK3BCbTdhOTd5ci90NjhlS0g2M092Z2ZaUTN3R1NyTXVrQnBSNVkraG5jckRkUStzUnJVdkg1QWorTDVUcnYvaWNlSWQwbmpERk8zMWhYcDk0NktrKzBCTmVtYU8rRWVxRkcvZmJRSnVndEpHdlZNenNNQVVFaDJGcElKMEdoKzE1ajFPTGRSMWdCMUdzbWJQbDh2bFVhVzJQOSt6ZmlseiswR29CdmV2OExLWHZ4SGR0VEJXTHY1amV6Vm5tcExyMk5QcUZOQmVHaDRFQUxRU0Y5QkFYYk5RTDhIaWlQK3AvelhjL1A5c003SWRyODlWYVhBMDh6ZjN0VnE5NE02MmtQWVF4dXRoelVienUxR2sxSUhnSGJOdWlYZDBLVWdPMnpJNXBPLy9YRE82RjUvcmJQRVQrZkhjM0w1ZWF6N2YwYXBNZkZ3RE8rSTkzR2xCaGZsdDl2OUkwTDRtQTQ4bGZuU0piRmxwemxzejZXZGEvTmNjakorNmhoUHoxTnV2VHBhWnp4MmxmVXRBZTF6azBZQW9KQ3NMV1FUb0tDclJ1K0Z0RzBtQlpFMElzMDlqeklmQzJaN1dxOW9DVWgzVDUzaUZxaklrK3RWV0VUNkJQYTBHcXlSVkJ3WUlhZ2tENkN3bkExemFCellZRkRMVHRIK1QzZjJPMGd4ZS9CazZaaE8wZ0o0NVowMnFWTlgwZW5UaG5PRmV3UVd6Rlh6WDErTk54em54MktuWFpSdHRNTS9CYi9iQVdPNWhYaTl3RGU5am1TNkE0WXphL055ODl1N3RmbE01NlJxaVdydkN4R3pMenlodytTd1QvOFhzempyUS9VVjFiSndqL2Mwem82NmQrN0ZQZVVZWmVjWmx5T0hUdDJSSGF0cU45V1pad21FVU5iVDhKdGk1Ykx5dnVlVCtTVW5xVkZVUEFNcFZGRzZTUW8ySzVwb2owQXRDZEFFQ0dyYTU1b0VWSjFwb3hQdCtDNnUwSTNaVlQveG95KzZnS1JEUFByOEhPTkNtT1lLV2lJb09CUWFRZ0s2U0VvdUZrL3dXL1hZTGVERkwvV2RXamUvRzBIS1g2NW16Y3ZrKzNucnFPSHlxQXpqN0ZLdHVUbWg5UVdRQ3k0WXdYTkIyUGI5UlA4RnYvMEpZNjk5aExyS3cxQy9MTjlqZ1Q1VnQ4R1dOZFI2bjc5Z2ZuOUdnVGIxdVVmOFl1ekpidTcrUjd0aS8vZmd3bHY0OWE2RElsK0wvcldCQ2srZW9weE50c1dxQUc3V3B3MnFLRDNoeCtsRm93MERZMzE5VEwvNnR0TXpYMjFRMUR3RlcrYnpOTkZVSERUUDUxL3pSMitycDNRR3JaK051dG50R2xZOWZETGFnSGd4YWJtZ2RqUkp3d0VjK1FrQ0FvT3JCRVUwa05Rc0Yxc3NHcFpxU3hYVzd6NUdkek96UTVpOEdUN2xzaHZ0MjQzOVZBOGZhb1VUUjV2bkRTSU9qY3VUQWMzdEIyOCs3WFdTZk5xc0YxYlJLZjEyM05DbjhQMk9STFdLVXE5RHQxUGVoODZTVitTVWRqMG42K2s3Tm1aUnJaZUdmVTdYdTBZTTNFMzQreEsxUnpuQ3Avbk9Cc1g1citHL1UvK3RuUWZOOW80V1RLbUZCVHVzN3RrRlhRMUx1UG1qK1pLL2Ria2J4K0pvR0JjWlo0WXBvdWdvSGQyMERzOG1JYnFGV3RrMloxUG1wcDdZbGQwNEY1U2ZOU0J4bm1WdjZ1bVNiMGV6RFFwMDBKWjl3bVhxbkhBUGY2T0EwekxubXAyQ0FvT05ZYWdrQjZDZ3UxV2pVRU5rTjNzOWhERTlJSXdDakFPdDJmY3FKS0xUN1hhQW5QTk0yL0o1bysvanBzbkIvMG5ZUHUySnFnMzFiYlRNRFNwb0tZWDJENUgvUGErY3ROSytwK2tGZ29jYjc1UTRPb24xWUprbi9tN0lGbnI2N0JkTkhEOVd4K283U3cvYkoxTlVyOFAvZkhKa2p1ZzJMZ01TOVdhTWpXc0tXUEVDMEhCQ0pOblJ1a2lLTmh1VFZ2K3puOWszUnZ2ZWNiUkpLUGNnWDFsNklVbm1aaEdiQ3ErV2lTbGo3eGliQitFNFREVkorelN0NWZ4cWVnVEdxTnFZNGlnMEFhSlJQWmcxWHV4bW9Zd3VuNmJsdDNKTHFkL2VnZ0t0b09Cb0FZQ2J0NTZCalVZc0hsTEhNYTMrMk91dWNocS9ZVEZmM2xBYWpkdWNib05pQXVRUUZqRkxGdXZIWTFNdjkyb1VtODUvQTYyejVFZ1JFbmJheDU2b1Jyb0RyUVk2S3BWdDJ0SzE5bWVKaUg3M0NIOVpPaVBUalRPWTh2bjM4anFKOTR3dGcvQ2NQVHZMbEFydG5jMlB0VTMvM3ViN0tpck43YnZ5SVlJQ3NIV2Zyb0lDdjFQVkY1REU4eTlobFkvOWFacytYUmVvTEJ0UGVHMnJ5MlhKWDkvT05BeXRuZXlzZjkzc2RYNkNmUUoyeU1hK3ppQ2dnTWJQQlRTUTFDdzdYQUhOUkN3WGFzZ3FMZXgrbGF3RVJTMGZWQkNoejVYZXlHN3NKdU0rUG5aN1pudFBGNWZXYTBXVUx0NzUzYytKSStBN2JaT1FVd3IwRFJzaFE2ZEpxelBrYURLcFJtWUJ0dUI3b0xyNy9aOUc4UFdaYzhxeUplUnYxU0xreG1HNnBWbHN1eU9Kd3l0L1RlelhaK2dvYnBHOU9KcUJETUNDQXBtbkx5eVNoZEJ3ZFpyS0ZuUDd6Ry8vN0YweXM0eXFyNGQ5UTN5emRXM0d0a0dZV1RiSjJ4UWZjSUY5QWxkVncyQ2dnTTZCQVVFQllkbTRWbVU3VlNNSUQwQmJLY01oRWxReUIraFZtUS8yM3hGOXFybHEyWDVYVTk1VnE5azVKNkE3VDBSMVBRa040SkNVUGVFTGJPZ1BMQk1XMEZtYm82TSt1MlBUTTBqZGtHeGJWMG9HNkUxYkVKbDdpRGx0bnlCdWR0eWpkcitiV2xJdDM5clhTOWgrSTZnRUd3dHBJdWdvSjk5K2hsb0doWXBiOHE2SkhoVDZ0MWg5QzR4cG1IaG4rK1Yrb3B0cHVhKzJsbjNDWmVwUHVIZDlBbmRWZ3FDZ2dNNUJJWDBFQlJzT29HNkdRU2xBTnNPQklJVUZHeTlPdnplSHMvaDlvd1oxV1BTbnRMM21JTmpIbTk5SU14N3hyY3VhN3AvdDcwbkVCUkV3c3JNdEsxbUZ4WElpTXZQTWpXWGh1M2JaY0UxZHhyYmUybG91NzFic29RUHAydk9IemxFQnAvMVhhZERqbkhWcFd0bDJXMlBPeDRqc2kwQkJJVzJUUHlNU1JkQlljelZQNUZPV1puR3FKSTFVQjl5N3ZFUlR6M1RnbW94VW91U1lRajJmY0o1c3VicE44TlE5SlFzQTRLQ1E3VWhLSFJNUVNHSVZlTjFjN01kQ0lSWlVBaEtoSEc0VGR0RTlUNWlzdlE2YUo4MjhiRWl5bWQvSXV0ZS9YZXN3OFFIU01CMnZaT2dCQVhiT2FRYVdWQ0RTZHZuU0ZETVRKdE41OTQ5WlBpbFo1aWFSL1kzVDVZci9yREx6cEF1dlhvWWwzWCt0V3A3dDVwYVkzcy9EYnVOSFNZRFQ1OXVmSXJxVldyS3h1M2htYkpoWFBBa0dTSW9CQXMrWFFRRjJ4ZGVDLzk0ajlSdnF3b1d0anFiN1hoSXYrR3ZVbS82d3hDcys0U3pWSi93TmZxRWJ1c09RY0dCbk8wTnhLS000Wm8zRmExUzJ3ZDJXQWNDQ0FyUkdvMy90M2phZ1ZKMHdGN3hqWm9kM2ZEdWYyVDk2OEd1bXR6czlIeHNSc0RXTXliSXdYRzZQRWVDWk5hc2FtTisxQ3R2NnhXNFRVTXlweExvS1FONjZvQnBXSFRqZlZLM2VhdXB1YTkydHR2VFZhMWNJOHZ2Q0haN09sOEIrSnc1Z29MUGdGdGwzMUVGQlQyM1g4L3hEenIwTzA1dG03dTMrYmE1S3g5OFFiYk5YeFowTVIzUFZ6eHRpdW9UVG5BODVoUVp4bTB2bmNvWjFqZ0VCWWVhUVZEb21CNEtDQW9pdGdPN01Ia285RDNtSU9reGFaekRIZTBjdGVGZkg4bjZOOTkzUGtoc29BUnMyMTJRZzJNRUJYK2FRbzdhM2FGRTdmSmdHcEs1V09DUTgwK1V2TUg5VElzcVM1VGI3L2FRdVAzcWxlVDFpdkttQVVIQmxGU1RIWUtDSGE5RXJkTkJVTWpvbkMyamYzZWhGWXBrZVNqWXR1OWtiTzBiQzZTZUFxdW5QWmdHK29TbXBKenRFQlFjdUNBb0lDZzROQXZQb214ZGxmRlFNRU52KzhQSGo0Y1oxeUNzRUJUc0tkcytSNExhR2NQMFN2S0c5SmNoUHpyQjFEeXBVeDVzQllVd3VmM3F0NHY2TGFOcFFGQXdKZFZrWi91N3MzSE9aNklYU0EwNlpQZFFhNVpjWWJGbVNVaDMrMGdIUWNITmdyU3BJaWlVdmZpT2JIci9pNkNidCtQNWJPOU4rb1NPR0kwakVSUWNVQ0VvSUNnNE5BdlBvbXdIQWdnS1p1ajduM2lFMnRkNWpKbXhzdUxId3hpVjc0WUlDdmFJdy93Y01ibWF2S0ZLVURndlZRU0ZFNVNIUW4rVHk0cllyTGovZWFsY3VOelkzay9Ed24xMkY5MnhOZzFWSzlTVWh6dVo4bURLeTNiUWdxQmdTdGJaTGkwRWhUeTF3ODJWZGp2Y3BJcWdvTmNnS0ZkckVZUWgwQ2NNdGhZUUZCeDRJeWdnS0RnMEM4K2l3andRc0IzWWhXbkt3NEJUanBTQ1BVY1oxOU9HdHorVTlXOTlZR3p2WkxqL1hpTmx4TkMrOHZYQ1ZmTEozS1ZPSnNRWkVMQnRkMHg1Q1BmaXJnWlZIbGs1WEs4Z2JocmNUSGtvTE1pWDd4dzJVU1pQSEMwWm5UckorNTh0bEpkbmZpTHJOMWFZbmpaaVordWhzUElCTlk5NHdUS3JjL2hsYkMwb3NJYUNWVlVFSlNqc01YcXc3RGw2a0t3cTJ5aHpQcDR2RFEyTlZ1WEVROEVLbDYvR21RZ0t2dktOWmo3Z1pOVW5IQmQwbjNDVTZoTVdkOGcrSVlKQ3RPVTErNHVnZ0tEUXJEbDQvaEZCd1hPa2tRd0huSEtVRWhSR0dtZnUxa01oTXlORExqMW5tbHg4MWxGdHp2V0hXNStSdXg1NXEwMDhFZkVKSUNqRTUrTjBOTXpQRWFmeXRvN0xLeGtnZmdvS1B6dDN1bHh5OXRHdFR4djVmdnREYjhpZmIzL084WmhUSklLQ0V4WGlOQUcvQllYVGpqMVFydjM1OTl2QW52SDQyL0wzKzE2UkxWdk5WdjVIVUdpRE1Ha1JDQXJCb0tkUEdBem42RmtRRktJa212MUZVRUJRYU5ZY1BQOFk1b0dBN2NBdVhCNEsvZ3NLUGJybnkyTzMvRXhHREltOTR2dEhYeXlXVXk3NmY1NjNtM1RPMExiZDRhR0FoMEs4KytHNlg1d3FwMzczVy9GTTVJVTNQNVpMLy9mZXVEYlJnd2dLVVJMOGJVM0FUMEhoN2o5ZEtJY2VzRWZyVSs3OHZxNjhRazYvOUcreWVQbmFuWEd4UGlBb3hDSVRmRHlDUWpETWd4QVU2QlB1cWtzRWhWMHNkbjVDVUVCUTJOa1lmUGlBb09BRFZKVmxFRDhlMS8veVZQbitNZkVIS3ZycS9qcmpKYm41M2xmOHVkQTB6QlZCd2I1U3cvd2NNYmthdnp3VTl0bHptRHgrNitVbVJaQ3pycmhGWm4wNHIxMWJCSVYyRVhWWUE3OEVoVmllQ2ExQnZ6bjdDem4vTjNlMmptN3pIVUdoRFpLa1JTQW9CSU0rVkgzQ2UxU2ZVSGtVcFhOQVVIQ29YUVFGQkFXSFp1RlpWSmdIQXJZRHU0N2tvZEMvdUlmTWZ2SWE0M1l3Yk1yRnhyWWQzZEMyM2VHaGdJZENySHZtVDc4K1hVNmFQam5XNFJieEw2bjFGQzc1L1l3V2NVNWZFQlNjcUJDbkNmZ2xLQ3laOVE5andOODcvd2I1WWw3OFJVQVJGSXh4K202SW9PQTc0c2dKL0JZVSt2ZFJmY0tuNkJOR2F4TkJJVXFpMlY4RUJRU0ZaczNCODQ4SUNwNGpqV1RvOTQvSG1jZE5sZis5L0dUandwLzNxOXRsNXB5NXh2WWQyUkJCd2I3Mncvd2NNYmthdnp3VVBuL2xCdW5XTmRla0NOTFkyQ2dqRHZwcHU3WUlDdTBpNnJBR2ZnZ0tlZ0hHNSsvK3BUSFRmOXovcXZ6bDdoZmoyaU1veE1VVDZFRUVoV0J3MHljTWhuUDBMQWdLVVJMTi9pSW9JQ2cwYXc2ZWZ3enpRTUIyWU5lUlBCVCsvSnN6NU1ScCt4dTNoNy9kKzdMOGJjYkx4dllkMmRDMjNlR2hnSWVDMC8yU205Tlp2bnJqTDA2SFlzYnRkK3h2Wk1QR3JUR1A2d01JQ25IeGRPaURmZ2dLZXYwUHZRNklhWGhYVGRzNVcwM2ZpUmNRRk9MUkNmWVlna0l3dlAwV0ZHejdoSDlWL2NHYlZiOHdYUU9DZ2tQTklpZ2dLRGcwQzgraUVCUThROWtpSTc5L1BQU0s4WHJsZU5Qd2krc2ZsS2RlU1d4YlN0TnpwYm9kZ29KOURZYjVPV0p5Tlg1NUtMejM5TFZTM0x2UXBBaXlyYkpHeGgzMTgzWnRFUlRhUmRSaERmd1FGS2JzTjFidXYra2lZNllQUFR0Yi91ZW1SK1BhSXlqRXhSUG9RUVNGWUhDSHJVLzQ4K3NlbEtkZlRkOCtJWUtDUTd0R1VFQlFjR2dXbmtXRmVTQmdPN0RyU0I0S2UrMWVJay9kZm9WeE81aDgzRzlsN1lZdHh2WWQyZEMyM2VHaGdJZENyUHZsMGg5T2kyenJHdXQ0ODNpOXhhdmU2clc5Z0tEUUhxR09lOXdQUVNGRGJVMjg2SjJiamFIKytMZDN5V3Z2Zmg3WEhrRWhMcDVBRHlJb0JJUGJiMEdCUG1ITGVrUlFhTWtqOGcxQkFVSEJvVmw0Rm9XZzRCbktGaG41L2VPaFQvYm8zeStUL1NhTWFIRmVweS9QdmZFZitkbi8zZWQwaURnSEFnZ0tEbERhaVFyemM2U2Rva2NPKytXaDBMT3dxM3owd2g5TmlpQlRULzY5ckZwVDNxNHRna0s3aURxc2dSK0Nnb2I1MjR1UGwzTlBPYlJkcm5WMURUTDYwRXZidFVOUWFCZFJZQVlJQ3NHZ0RsZWY4Q1BWSjd3L21BdFAwbGtRRkJ6QUl5Z2dLRGcwQzgraXdqd1FzQjNZZFNRUEJkMEE5dDlycER4OGMvek9XMTE5Z3h6MWcrdGs2Y3AxbnJXWmRNL0l0dDNob1lDSFFyeDc0dlR2VFpGcnJqZ2xub2xjOTQrbjVaN0hac2ExaVI1RVVJaVM0RzlyQW40SkNnVnFZZEhYSHJ4S2ludDFiMzNLRnQvMUxpVjZ0NUwyQW9KQ2U0U0NPNDZnRUF6cklBUUYrb1M3NmhKQllSZUxuWjhRRkJBVWRqWUdIejRnS1BnQVZXVVp4SStITHZuVVNidkpUYjg5VTNyMjZOYm1RdVo4UEY5dXVPTjUrYnlkTGJ6YUpPemdFUWdLOWcwZ3pNOFJrNnZ4eTBNaGV1Nkpld3lUQzA0L1hJNDRjRncwS3ZMM1grOTlKWGMrOHFhOC8rbkNGdkh4dmlBb3hLUFRzWS81SlNob3FzTUdGOHV2TGp4V2pwalNzZzNyWTFxNHZ2eWErNDNFQkcyUG9LQXBoQ01nS0FSVEQvUUpnK0VjUFF1Q1FwUkVzNzhJQ2dnS3pacUQ1eC9EUEJDd0hkaUZ5MFBoU0NuWWM1UnhmVzE0KzBOWi81YjdCWElPVXNMQ1FmdnZKaU9IOXBPdkZxeU1iQkg1NGVlTGpNK1A0UzRDdHUwT0R3VThGSGExbnZpZjlCdmV2ZmNjTGhrWm5lVGpMNWZJbW5XYjRpZHdPSXFnNEFDRnFBZ0JQd1dGS09KeFl3Ykw0VW9ZR3pkMmlLeGNYUzZ6UDVyWDdwb0owYlRSdndnS1VSTEovNHVnRUV3ZEREaFo5UW5IMFNjTWhyWUlnb0lEYVFRRkJBV0hadUZaRklLQ1p5aGJaTlR2aE1PbGNLK3hMZUxpZmRud3I0OWsvWnZ2eHpQaFdFQUVFQlRzUVlmNU9XSnlOWDU3S0ppVXdkUUdRY0dVVk1lekMwSlE4SUlxZ29JWEZMM0pBMEhCRzQ3dDVkTC8rTU9sKzBUNmhPMXg4dW80Z29JRFNRUUZCQVdIWnVGWlZKZ0hBcllEdXpCNUtQUTk1aURwTWFtdGEyaXNpa05RaUVVbStIamJkb2VIQWg0S1FiYlNWQllVZElkYWQ2eE5ROVdLTmJMOHppZE56VHU4SFlKQ3NFMGdwMTh2S2Jub1ZPT1Q3bWhva0c5K2Y2dXhmUkNHQ0FwQlVCYWhUeGdNNStoWkVCU2lKSnI5UlZCQVVHaldIRHovaUtEZ09kSklocjIvUFZsNlRkM0hPUE1ON3lnUGhUZndVREFHNXFNaGdvSTkzREEvUjB5dUJnOEZFMHFKMnhUc09US3l2b3hwVGxVcmxhQndCNEtDS1M4RUJWTlMzdGdoS0hqRDBUUVgyL2E5N3JWL1MvbXM5aGNKTlQxL0luWjl2bjJBOUp5NnQzRVd2R1F5UnVWb2lLRGdnQVZCQVVIQm9WbDRGaFhtZ1lEdHdDNU1IZ3E5RHRsWGVoKzJ2M0U5Ylp6enFheDllYmF4UFliK0ViQnRkM2dvNEtIZ1gydHNtM01xZXloMEhUMVVCcDE1VE51TGloR0RvQkFEVEl4bzJ3SFh4am1mcWQrZFdURnk4eSthS1EvK3NiWE5HUThGVzJMdTdPMzdoTW01TjkxZFhmaFNJU2c0MUFtQ0FvS0NRN1B3TEFwQndUT1VMVElxK3RZRUtUNTZTb3U0ZUY4MmZmaWxsRDMvcjNnbUhBdUlBSUtDUGVnd1AwZE1yZ1lQQlJOS2lkdlljcTR1WFN2TGJuczg4Uk4za0J3UUZJS3RhRHdVZ3VWdDI3N0Q1S0ZRZElEcUUwNno2UlBPVlgzQ3Q0TUZuRVpuUTFCd3FFd0VCUVFGaDJiaFdWU1lCd0syQTdzd2VTZ1VqRk91dlNjZlpWeFBXNzVZSUtzZmY4M1lIa1AvQ05pMk96d1U4RkR3cnpXMnpUbVZQUlJ5QnZTUmtoK2YwdmFpWXNSc1gxY3VTMjUrT01aUm9sc1RzQjF3NGFIUW1xRGRkd1FGTzE2Sld0dTI3ekFKQ25xSEI3M1RnMm1vVUgzQ1V2cUVwcmphMkNFb3RFRWlncUNBb09EUUxEeUxRbER3REdXTGpISUdGa3ZKaFNlM2lJdjNwWHBWbVN5Ny9ZbDRKaHdMaUFDQ2dqM29NRDlIVEs3RzlzMTVRM1dOTExqdUxwT3NQYmRKWlVHaGM4L3VNdnhuUHpCbVVydHhpeXoreXdQRzloM2QwSGJBaGFDUVdJdEJVRWlNbjIxcTIvWWRKa0VoZDBDeERQMHhmVUxiT25kcmo2RGdRQTVCQVVIQm9WbDRGaFhtZ1lEdHdDNU1IZ29aT1oxbDlGVVhHTmRUTWdjb3hvWHNJSWEyN1E0UEJUd1VncncxVWxsUWtJeE9NdmIvTGpiRzFWaGZML092dnMzWXZxTWIyZzY0RUJRU2F6RUlDb254czAxdDI3N0RKQ2hZOXdtcmxHaDlmWEpFYTl0NkNhTTlnb0pEclNBb0lDZzROQXZQb2hBVVBFUFpKcU5Sdi8yUlpPYm10SW1QRmJIb3B2dWxibE5Gck1QRUIwUUFRY0VlZEppZkl5WlhnNGVDQ1NWdmJFYjgvQ3pKTGl3d3ptekI5WGRMUTFXMXNYMUhOclFkY0NFb0pOWmFFQlFTNDJlYjJyWjloMGxRME5kS245QzJ4dDNiSXlnNHNFTlFRRkJ3YUJhZVJZVjVJR0E3c0F1VGg0S3VvS0VYbkNTNWcvb2ExMVhwRTY5THhlZnpqZTB4OUllQWJidkRRd0VQQlg5YW9uT3VLZTJob0M1cDhBKy9KL25EQnpsZm5FUHNzanVla09xVlpRNUhpR3BOd0hiQWhhRFFtcURkZHdRRk8xNkpXdHUyNzdBSkNyWjl3dFdxVDdpRlBxR3Jab09nNElBTlFRRkJ3YUZaZUJhRm9PQVp5allaRlUrZklrV1RKN1NKanhWUjhhVmFoT2N4Rm1hTXhTZW9lQVFGZTlKaGZvNllYQTBlQ2lhVXZMSHArOTJEcGNkK2V4cG50dmFWV2JMeDM1OFoyM3RoMktWdkwrVmQxc1U0cSszck5rcERaZks5S0d3SFhBZ0t4bFhzYUlpZzRJakZ0MGpiOWgwMlFhRjQrbFRWSnh4dnpJZUZHWTFSdFRGRVVHaURSRmlVc1QrQ2drT3o4Q3dxekFNQjI0RmQyRHdVdXUwMlROMi8wNDNyU3M4WDFndTk3YWlyTjA2RG9mY0ViTnNkSGdwNEtIamZDbVBubU9vZUNqMzJIeWQ5djNOUTdBdHNkV1RydkNXeTZxR1hXc1g2KzNYVVZlZExabzY1b0xEMGxrZWxaczE2Znd0bGtMdnRnQXRCd1FCcUhCTUVoVGh3ZkRoazI3N0RKaWgwRzZ2NmhLZWI5d2wxWDNDK1drZUJQcUY5WTBKUWNHQ0dod0tDZ2tPejhDd0tRY0V6bEcweTB1c242RGx6Tm1IZDYzT2svTjJQYlpKZzZ6RUJCQVY3b0dGK2pwaGNEUjRLSnBTOHNlbFMzRk9HWFhLYWNXWkJDNjNXUW5CdHJjeS81azZSSFR1TXI4a3ZROXNCRjRKQ1lqV0JvSkFZUDl2VXR1MDdiSUlDZlVMYkduZHZqNkRnd0E1QkFVSEJvVmw0RnRWOTRsanBmZWgreG90a1ZTMHJsZVYzUCszWitlTmxaRHV3QzV1SGdyNjJrb3RQbFJ6bFBtc2FkT2RaYjVOV1gxRnBtZ1E3anduWXRyc2dQUlJzMjlPOHEvN3VNUjNuN0JBVW5MbjRFWnZxSGdxYXljZ3J6NU9zdkZ4alBFR3VMMlBiNTlxMllKbXNmT0FGNDJ2eDA5QjJ3SVdna0ZodElDZ2t4czgydFczN0RwdWdvSy9YOWpkY2V5Y3MwbjNDcmZRSmJkb0xnb0lETGRzZnQ5VlB2eWxiUHBubmtGTnFSdVV3NVNFMUs4NkRVdHNPN01Jb0tQUTZlRi9wZmZqK1ZqUzJ6VmNkMUFmRDBVRzFLbmlhR051MnV5QUZoYkFpUmxBSXJtYlNRVkFZY09yUlVyRDdDR05vTldzM3lOSy9QMkpzNzliUXRyK2h6N1AyMWRteWNmYW5iay9wYVRyYkFSZUNRbUw0RVJRUzQ5Y1JVOU1uREtiV0VSUWNPQ01vNEtIZzBDdzZSSlR0d0M2TWdrSld0M3daOGNzZlNxZE9uYXpxTEl6S3V0VUZwTEN4YmJ0RFVHQU5oU0NiZXpvSUNvWDc3aUg5amozRUNsdnBZNjlLeFpjTHJkTFlHcGRjb2p6S2lzMDl5blQrQy84OEl6UWVaUWdLdGpXZW1EMkNRbUw4T21KcTNTY2NxZnFFcWxOb2RmbjBDYTF3Q1lLQ0F5OEVCUVFGaDJiUklhSnNCM1poRkJSMFJkbmV3OUhLWmFBYUpSSHNYOXQyUnowaEtBVFpRdE5CVU1qSTZTd2pmMzJ1WkdSbEdhTnJyS3VUcGY5NFZHckxOeHVuc1RIVW5tVDY3YUZOcUZ5eVVsYk1lTlltaWErMkNBcSs0bTJUT1lKQ0d5UkVHQkJ3MnlmY01QTkRXVC96QTRNellJS2c0TkFHYkJzZVV4NGE1SnVyYjNVZ21keW9zZGRlWWxXQW9PWStXeFVxWUdQYmdWMVlCWVc4WVFObHlEbkh1YUpYVzc1SnlsNTRSeW9YclhTVm5rVDJCR3piSFlJQ2dvSjlLM09mSWgwRUJYMzEvWTQvVEFvbjdtWUZvblpUaFN5NzlURnBxSzZ4U3RlZWNZOUplMHJmWXc1dXo2ek44ZFZQdlNGYlB2Mm1UWHl5SWhBVWdpV1BvQkFzNzNRNVcwSjl3ZzJicGV6RmY5RW5iS2N4SUNnNEFFSlF3RVBCb1ZsMGlDamJnVjFZQlFWZFdZUE9QbGE2amhqc3V0NjJiOWdrbXo3NFFpb1hycEJhOVlOQzhJK0FiYnREVUVCUThLODF0czA1WFFTRjNFRjlaZWdGSjdXOXdIWml0cThybHhYM1BlZlpOSU9pYiswbHhVY2YyTTVaMng3V2k2UXQvTk9NdGdlU0dJT2dFQ3g4QklWZ2VhZlQyUWFyUG1GK0FuM0Mydlc2VC9pbGJGdTBuRDZoUThOQVVIQ0FncUNBb09EUUxIeUwybTNrUUprMFlhUVVkRzFhZ2Z2cmhhdmtqZGxmK0hhK2VCbmJEdXpDTENoMDZWTWt3MzU2ZXJ6TE5UN1dvTFlwMjc1bVEyU2JzaDJOalZKVHVrNGE2eHFNMDhjeXJGeTRUS3BYcm8xMXVNUEUyN2E3WkFrSytoNDlZc280R2RpM1o2UnVWcFdWeXh1enZwQ0tiZFdCMXhXTE1nYUhQRjBFQlUxczhMbkhTWDdKUUd0NERUVTFzdTdWT2JMNVAxOVpwNDBtMEc4Smk2ZE5zZHFGSjVwVy93M1RZb3pSY2lFb1JFa0U4eGRCSVJqT3NjNHlmRWl4VE5sM3JBd1oyRnZtemw4aE0rZk1sVTFiVW1NM0JDLzdoSTNiYTZXbVRQVUpHM2RJcEUrNGVyM28zU0VTRGRzV0xKZnFWV1dKWnBPVTlBZ0tEdGdSRkJBVUhKcUY1MUY2Y0hMRGxXZEdCaWl0TTE5VnRsRXV2UEpPMGVKQ2tNRjJZQmRtUVVGeksvN09RVkswLzdnZ0VWcWRxK3lsZDJYVGU1OWJwVWxIWTl0Mmx3eEI0Ykp6cHNuWkp4MnlVL2lMMW9NV0UvNDI0Mlc1OTRtM28xR0IvRVZRQ0FSejVDVHBKQ2gwS2U0cHd5NDV6VFc4K3FycXlLNVdGWE1YU2MycStHSm9SdWRzeVIzU1QvS1ZrRkF3YnBSa2QrL20rcng2eXNXaUcrNlR4dG82MTNuNGtSQkJ3UStxc2ZORVVJak54czhqWTBjTUZQMGJxQVgxMXVIK3A5NlJHKzk4WGlxcnRyYytGTHJ2ZlZXZnNFZUkrNFJyVlo5d1k0cjJDUkVVSEpvN2dnS0Nna096OERSS2l3a1AzM3lwYU8rRVdFRVBWRTc3NmQ4Q0ZSVnNCM1poRnhRNlpXVkd2QlE2RjNXUGhUbXA4UWdLVGZodDIxM1Fnb0lXL2s0NGVsTGN0bkx6dlMvTFg1V3dFRlJBVUFpS3RFZzZDUXFhbXUwZ09CN3A2dEsxYmQvTVpXUklkbUUzeVM3b0dpK3AxYkZWRDc4a1c3OWVZcFVtQ0dOYmxtd2JtVml0SUNna3hzOU42Z203RFpXbjcvaDUzS1FMbDVYSnRMT3ZsNGFHeHJoMnlUNFk5ajRoZ2tLeVc0akg1MGRRUUZEd3VFbTF5YzVrZ0tJVGFVK0ZxU2Y5cmsxNnZ5SnNCM1poRnhRMHA1eitmV1RvajArMjNrYlNMOGJOODBWUWFLSmgyKzZDRkJUMjMydGtSUHhyWG0reFBuL25uRDhHSmdBaUtNU3FCZS9qMDAxUXlNenRJc011TzFPeThwdW0yWGxQek5zY04zLzhsYXg1WnFhM21YcVVHNEtDUnlBTnMwRlFNQVRsb2RrLy8zcUpITEQzNkhaenZQV0IxK1RHdTE1bzF5N1pCcnBQV0tMNmhMYmJTQVpSYmdTRklDZ0hlQTRFQlFRRlA1dWI5azc0N0pVYmpFOXg0WlYzeWV1emduR0x0eDNZcFlLZ29FRVg3ck43NUsyY01mU0FETXRlZWtkTmVVak9laGtCWGFMUmFXemJYWkNDd2gxL09GK09PTEN0bTZmVGhUMzF5Z2Z5aStzZmREcmtlUnlDZ3VkSVkyYVlib0tDdnREOGtZTmw4Rm5IeHJ6bXNCeW9XYnRCbHQvK2hGcXpKdkg1eVg1Y0U0S0NIMVJqNTRtZ0VKdU5IMGNtN2pGTW5yenRjdU9zaDAyNTJOZzJtWVpoN1JPdWZWRk5lWGcvbVA2KzEveVo4dUJBRkVFQlFjR2hXWGdXWmZQR1U1ODBTRmRxMjRGZHFnZ0ttbVBCK05IUy84UWpRdVdwZ0llQ3JobmxVbjdlOFpJM2RFRFRGNFAvZ3hRVWxzejZoMEdKbWt5QzlDaENVREN1bG9RTjAxRlEwRkNLcDArVm9zbmpFK2JqVndZTk5kdGw2UzJQU3AzYXVqS3NBVUVoMkpwQlVBaVc5eFUvT2tZdStzR1J4aWM5KzRwYjVOMFA1eG5iSjlPdyszLzdoR0h5Vk1CRElaa3R3b2R6SXlnZ0tQalFySFptZWVMUis4dWZyenhqNS9mMlBnVDUxdE4yWUpkS2dvTG0zSFZNaVF3NDVVakp5TTV1RDNzZ3gvRlFhTUpzMis3Q0tpam9xd25xRFEyQ1FpQzNhT1FrNlNvbzZJdnJkOXhoVXJqM2JzSEJORHhUbzlwWlorVURMMGpWc3RXR0taSmpocUFRTEhjRWhXQjUzLzJuQytYUUEvWXdQdWtmYjN0VzduejRUV1A3WkJzMjlRbVBVbjNDckdRWEpYSitQQlJDVVEzZUZRSkJBVUhCdTliVU5pYzhGTm95Q1RLbWM2OGVNdkNNNmRKRi9VMTJ3RU9ocVFiU1JWQW9WV3VlVEFsb3pSTUVoZUR1M25RV0ZEVEZzSGtxMUZkV3k4cjducE9hTmV1RHEyU1haMEpRY0FuT1pUSUVCWmZnWENhNy9MenZ5TVZuSFdXYytxekxiNUZaSDZXR2gwTDBvblNmY0pEcUUrcS95UTU0S0NTN0JqdytQNElDZ29MSFRhcEZkcXloMEFKSFVyNTBVbXAwbnlNbVN3L2w3dHVwVTZla2xFR2ZGRUdoQ1gyWUJRWFdVUERuOXNnckdTQkR6ajNlT0hPOWJlQ0M2KzR5dHZmU01OMEZCYzJxKzRReHlsdmhVT21VbWVrbE91dThxdFZXbEtXUHZpSjFtN2RhcDAxR0FnU0ZZS2tqS0FUTGUrSWVKV29OaFN1TVR4cVVoNTV4Z1F3Tm8zM0N5QlN3SlBZSkVSUU1LeXhWekJBVUVCVDhicXVtdXp3RStjWlRYN1B0d0M3VnBqeTBydGZjd1gybHR4SVc4a3RpYjkvWk9vMlgzeEVVbW1qYXRyc2dwenpZZUJSTlBlbjNhbWVXY2krYlNNeTg4RkNJaWNiekF4MUJVTkRRY2dZV3F5bGhSMG5uSGdXZU16VEpzSHpXeDdMdXRUa21wcUd4UVZBSXRpb1FGSUxscmMvMndGOHVsZ1AzSGRQdWlmOXgvNnZ5bDd0ZmJOY3V6QWE2VDlqbmlBTkVDOTdKQ0FnS3lhRHU0emtSRkJBVWZHeGVrYXkxbDhJamY3OU14bzZJL2REYVdsa2pwMTd5MThDMm9kTUZzeDNZcGJxZ0VLM25MbjJLcE1la1BhWGJIaU1EM1VvTlFhR3BCbXpiWFpDQ2dpN2g3MzU2b3B4OTBzRk5oWTN4ZjVDTHArb2lJQ2pFcUFnZm9qdUtvQkJGMStmSUE2VG5sTDJqWDMzL1c3Vjh0WlE5OTdac1g3ZlI5M041ZlFJRUJhK0p4czhQUVNFK0h6K09qaDg3Uko2KzR4ZHgxeTZjdjJTMVREdjdEN0pqeHc0L2loQjRudEUrWVlIcUUyWUd1TDB1Z2tMZ1ZlM3ZDUkVVRUJUOGJXRk51V3RSNFgvVVFPV0VveWUxT1ozMlRMamd5anNERlJOMElXd0hkdWtpS0RTdmdMd2gvU1YzYUgvSkc5eFBja3Y2UzJibnpzMFBlL3FaUlJtYmNOcTJ1NkFGQlYzS2MwNCtSQzQ5WjdwMHk4OXAwUWEwOEhmTjM1NlVKMTk1djBXODMxOFFGUHdtdkN2L2ppWW82Q3ZQTGlxUW5nZE9WRk1oUmt1R1Q4L0F5c1VyWk1NN0gwdlZrbFc3WUtmWUp3U0ZZQ3NNUVNGWTN0R3pqUnJXWHk0N1o1b2NkZENFYU5UT3Z6TWVmMXR1dlBONXFkbGV0ek11blQ3b1BtR2U2aFBtcWo2aC9wdlJ4YjgrSVlzeXBsUExVZGRTc09kSTZkeTd5UGlxdHMxYnJCWVAybUJzSDNiRG5QNjlwWENpM2FyUFpTKytFN3JMMGgxdW03Qmg1Z2MyNXA3WkR1emJVNzQ5ZFp4b2dVR0hyeGVXeXV1emtyTVBiZmVKWXlXNzBOemRkY3VuODBLOXBaY1hsWlRUdjQ5Nkh2UlFYTHA1UHIrNGNzRXkwWE9HTzNxd2JYZFZTMWRKMWRMU3dMSHBlL1RiVThiTHdINU52dytyMW15TTNLc1YyNm9ETDR0MnljeXptS3BUdDdsQ3Rud3lML0J5eGpxaHZwKzZXL3pPN0tpcmsvSlpuOFRLenRkNHZRdENWdmR1eHVlbytIeSsxSlp2TnJZUHMyR25yTXpJN2pnRnV3K1gvQkdESlRPM3BhQm1VL2JHK25xcFhyRkdLaGV2RXYzYlVWOVJhWk04bExaNmxmaGM5UnRoR3FwV3F1dGZ1TUxVM0RPN3pKd3VVblJBMjhGZ3JCTTBKdkYraTFVbUhhOEZoY0s5ZDQ5bjB1WlkyUHFuZXI1K0wwc1BvUExabjBoamJmSUg3RU1IOWxiVEg4YUsvdnZsL0JVeWM4NWMyWnFFMzc4MmxSeGdoTzRUZHZHcFQ3Z3RoZnVFblVvT3ZDZzkvRk1DYkV5Y0NnSVFnQUFFSUFBQkNIUTBBbHBjMVcvcDlGdTdMc1U5MWNyb2hZN2I4R3J4b0ZaTllhZ3QzeUxiMTI5UzJ6K1dwclFuUWtlclo2NFhBaENBZ0EwQkJBVWJXdGhDQUFJUWdBQUVJQUFCQ0VBQUFoQ0FBQVFnRUNHQW9FQkRnQUFFSUFBQkNFQUFBaENBQUFRZ0FBRUlRTUNhQUlLQ05USVNRQUFDRUlBQUJDQUFBUWhBQUFJUWdBQUVJSUNnUUJ1QUFBUWdBQUVJUUFBQ0VJQUFCQ0FBQVFoQXdKb0Fnb0kxTWhKQUFBSVFnQUFFSUFBQkNFQUFBaENBQUFRZ2dLQkFHNEFBQkNBQUFRaEFBQUlRZ0FBRUlBQUJDRURBbWdDQ2dqVXlFa0FBQWhDQUFBUWdBQUVJUUFBQ0VJQUFCQ0NBb0VBYmdBQUVJQUFCQ0VBQUFoQ0FBQVFnQUFFSVFNQ2FBSUtDTlRJU1FBQUNFSUFBQkNBQUFRaEFBQUlRZ0FBRUlJQ2dRQnVBQUFRZ0FBRUlRQUFDRUlBQUJDQUFBUWhBd0pvQWdvSTFNaEpBQUFJUWdBQUVJQUFCQ0VBQUFoQ0FBQVFnZ0tCQUc0QUFCQ0FBQVFoQUFBSVFnQUFFSUFBQkNFREFtZ0NDZ2pVeUVrQUFBaENBQUFRZ0FBRUlRQUFDRUlBQUJDQ0FvRUFiZ0FBRUlBQUJDRUFBQWhDQUFBUWdBQUVJUU1DYUFJS0NOVElTUUFBQ0VJQUFCQ0FBQVFoQUFBSVFnQUFFSUlDZ1FCdUFBQVFnQUFFSVFBQUNFSUFBQkNBQUFRaEF3Sm9BZ29JMU1oSkFBQUlRZ0FBRUlBQUJDRUFBQWhDQUFBUWdnS0JBRzRBQUJDQUFBUWhBQUFJUWdBQUVJQUFCQ0VEQW1nQ0NnalV5RWtBQUFoQ0FBQVFnQUFFSVFBQUNFSUFBQkNDQW9FQWJnQUFFSUFBQkNFQUFBaENBQUFRZ0FBRUlRTUNhQUlLQ05USVNRQUFDRUlBQUJDQUFBUWhBQUFJUWdBQUVJSUNnUUJ1QUFBUWdBQUVJUUFBQ0VJQUFCQ0FBQVFoQXdKb0Fnb0kxTWhKQUFBSVFnQUFFSUFBQkNFQUFBaENBQUFRZ2dLQkFHNEFBQkNBQUFRaEFBQUlRZ0FBRUlBQUJDRURBbWdDQ2dqVXlFa0FBQWhDQUFBUWdBQUVJUUFBQ0VJQUFCQ0NBb0VBYmdBQUVJQUFCQ0VBQUFoQ0FBQVFnQUFFSVFNQ2FBSUtDTlRJU1FBQUNFSUFBQkNBQUFRaEFBQUlRZ0FBRUlJQ2dRQnVBQUFRZ0FBRUlRQUFDRUlBQUJDQUFBUWhBd0pvQWdvSTFNaEpBQUFJUWdBQUVJQUFCQ0VBQUFoQ0FBQVFnZ0tCQUc0QUFCQ0FBQVFoQUFBSVFnQUFFSUFBQkNFREFtZ0NDZ2pVeUVrQUFBaENBQUFRZ0FBRUlRQUFDRUlBQUJDQ0FvRUFiZ0FBRUlBQUJDRUFBQWhDQUFBUWdBQUVJUU1DYUFJS0NOVElTUUFBQ0VJQUFCQ0FBQVFoQUFBSVFnQUFFSUlDZ1FCdUFBQVFnQUFFSVFBQUNFSUFBQkNBQUFRaEF3Sm9BZ29JMU1oSkFBQUlRZ0FBRUlBQUJDRUFBQWhDQUFBUWdnS0JBRzRBQUJDQUFBUWhBQUFJUWdBQUVJQUFCQ0VEQW1nQ0NnalV5RWtBQUFoQ0FBQVFnQUFFSVFBQUNFSUFBQkNDQW9FQWJnQUFFSUFBQkNFQUFBaENBQUFRZ0FBRUlRTUNhQUlLQ05USVNRQUFDRUlBQUJDQUFBUWhBQUFJUWdBQUVJSUNnUUJ1QUFBUWdBQUVJUUFBQ0VJQUFCQ0FBQVFoQXdKb0Fnb0kxTWhKQUFBSVFnQUFFSUFBQkNFQUFBaENBQUFRZ2dLQkFHNEFBQkNBQUFRaEFBQUlRZ0FBRUlBQUJDRURBbWdDQ2dqVXlFa0FBQWhDQUFBUWdBQUVJUUFBQ0VJQUFCQ0NBb0VBYmdBQUVJQUFCQ0VBQUFoQ0FBQVFnQUFFSVFNQ2FBSUtDTlRJU1FBQUNFSUFBQkNBQUFRaEFBQUlRZ0FBRUlJQ2dRQnVBQUFRZ0FBRUlRQUFDRUlBQUJDQUFBUWhBd0pvQWdvSTFNaEpBQUFJUWdBQUVJQUFCQ0VBQUFoQ0FBQVFnZ0tCQUc0QUFCQ0FBQVFoQUFBSVFnQUFFSUFBQkNFREFtZ0NDZ2pVeUVrQUFBaENBQUFRZ0FBRUlRQUFDRUlBQUJDQ0FvRUFiZ0FBRUlBQUJDRUFBQWhDQUFBUWdBQUVJUU1DYUFJS0NOVElTUUFBQ0VJQUFCQ0FBQVFoQUFBSVFnQUFFSUlDZ1FCdUFBQVFnQUFFSVFBQUNFSUFBQkNBQUFRaEF3Sm9BZ29JMU1oSkFBTC9jYW13QUFBREhTVVJCVkFJUWdBQUVJQUFCQ0VBQUFoQ0FBQVFnZ0tCQUc0QUFCQ0FBQVFoQUFBSVFnQUFFSUFBQkNFREFtZ0NDZ2pVeUVrQUFBaENBQUFRZ0FBRUlRQUFDRUlBQUJDQ0FvRUFiZ0FBRUlBQUJDRUFBQWhDQUFBUWdBQUVJUU1DYUFJS0NOVElTUUFBQ0VJQUFCQ0FBQVFoQUFBSVFnQUFFSUlDZ1FCdUFBQVFnQUFFSVFBQUNFSUFBQkNBQUFRaEF3Sm9BZ29JMU1oSkFBQUlRZ0FBRUlBQUJDRUFBQWhDQUFBUWdnS0JBRzRBQUJDQUFBUWhBQUFJUWdBQUVJQUFCQ0VEQW1zRC9CMmt5ZThUSVc5NVZBQUFBQUVsRlRrU3VRbUNDXCI7XG4iXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsImUiLCJuIiwiciIsImkiLCJzIiwidSIsImEiLCJvIiwiYyIsImYiLCJoIiwiZCIsImwiLCIkIiwieSIsIk0iLCJuYW1lIiwid2Vla2RheXMiLCJzcGxpdCIsIm1vbnRocyIsIm9yZGluYWwiLCJ0IiwibSIsIlN0cmluZyIsImxlbmd0aCIsIkFycmF5Iiwiam9pbiIsInYiLCJ6IiwidXRjT2Zmc2V0IiwiTWF0aCIsImFicyIsImZsb29yIiwiZGF0ZSIsInllYXIiLCJtb250aCIsImNsb25lIiwiYWRkIiwiY2VpbCIsInAiLCJ3IiwiRCIsIm1zIiwiUSIsInRvTG93ZXJDYXNlIiwicmVwbGFjZSIsImciLCJTIiwiXyIsIk8iLCJhcmdzIiwiYXJndW1lbnRzIiwiYiIsImxvY2FsZSIsIiRMIiwidXRjIiwiJHUiLCJ4IiwiJHgiLCIkb2Zmc2V0IiwidGhpcyIsInBhcnNlIiwicHJvdG90eXBlIiwiJGQiLCJEYXRlIiwiTmFOIiwidGVzdCIsIm1hdGNoIiwic3Vic3RyaW5nIiwiVVRDIiwiaW5pdCIsIiR5IiwiZ2V0RnVsbFllYXIiLCIkTSIsImdldE1vbnRoIiwiJEQiLCJnZXREYXRlIiwiJFciLCJnZXREYXkiLCIkSCIsImdldEhvdXJzIiwiJG0iLCJnZXRNaW51dGVzIiwiJHMiLCJnZXRTZWNvbmRzIiwiJG1zIiwiZ2V0TWlsbGlzZWNvbmRzIiwiJHV0aWxzIiwiaXNWYWxpZCIsInRvU3RyaW5nIiwiaXNTYW1lIiwic3RhcnRPZiIsImVuZE9mIiwiaXNBZnRlciIsImlzQmVmb3JlIiwiJGciLCJzZXQiLCJ1bml4IiwidmFsdWVPZiIsImdldFRpbWUiLCJ0b0RhdGUiLCJhcHBseSIsInNsaWNlIiwiJGxvY2FsZSIsIndlZWtTdGFydCIsIiRzZXQiLCJtaW4iLCJkYXlzSW5Nb250aCIsImdldCIsIk51bWJlciIsInJvdW5kIiwic3VidHJhY3QiLCJmb3JtYXQiLCJpbnZhbGlkRGF0ZSIsIm1lcmlkaWVtIiwibW9udGhzU2hvcnQiLCJ3ZWVrZGF5c01pbiIsIndlZWtkYXlzU2hvcnQiLCJnZXRUaW1lem9uZU9mZnNldCIsImRpZmYiLCJ0b0pTT04iLCJ0b0lTT1N0cmluZyIsInRvVVRDU3RyaW5nIiwiayIsImZvckVhY2giLCJleHRlbmQiLCIkaSIsImlzRGF5anMiLCJlbiIsIkxzIiwiX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fIiwiX193ZWJwYWNrX3JlcXVpcmVfXyIsIm1vZHVsZUlkIiwiY2FjaGVkTW9kdWxlIiwidW5kZWZpbmVkIiwiX193ZWJwYWNrX21vZHVsZXNfXyIsImNhbGwiLCJnZXR0ZXIiLCJfX2VzTW9kdWxlIiwiZGVmaW5pdGlvbiIsImtleSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZW51bWVyYWJsZSIsIm9iaiIsInByb3AiLCJoYXNPd25Qcm9wZXJ0eSIsImdsb2JhbFRoaXMiLCJTaGFkb3dSb290IiwiU2hhZHlDU1MiLCJuYXRpdmVTaGFkb3ciLCJEb2N1bWVudCIsIkNTU1N0eWxlU2hlZXQiLCJTeW1ib2wiLCJXZWFrTWFwIiwiY29uc3RydWN0b3IiLCJfJGNzc1Jlc3VsdCQiLCJFcnJvciIsImNzc1RleHQiLCJzdHlsZVNoZWV0IiwicmVwbGFjZVN5bmMiLCJyZWR1Y2UiLCJhZG9wdGVkU3R5bGVTaGVldHMiLCJtYXAiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJsaXROb25jZSIsInNldEF0dHJpYnV0ZSIsInRleHRDb250ZW50IiwiYXBwZW5kQ2hpbGQiLCJjc3NSdWxlcyIsImlzIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImdldFByb3RvdHlwZU9mIiwidHJ1c3RlZFR5cGVzIiwiZW1wdHlTY3JpcHQiLCJyZWFjdGl2ZUVsZW1lbnRQb2x5ZmlsbFN1cHBvcnQiLCJ0b0F0dHJpYnV0ZSIsIkJvb2xlYW4iLCJKU09OIiwic3RyaW5naWZ5IiwiZnJvbUF0dHJpYnV0ZSIsImF0dHJpYnV0ZSIsInR5cGUiLCJjb252ZXJ0ZXIiLCJyZWZsZWN0IiwiaGFzQ2hhbmdlZCIsIm1ldGFkYXRhIiwibGl0UHJvcGVydHlNZXRhZGF0YSIsIkhUTUxFbGVtZW50IiwiYWRkSW5pdGlhbGl6ZXIiLCJfJEVpIiwicHVzaCIsIm9ic2VydmVkQXR0cmlidXRlcyIsImZpbmFsaXplIiwiXyRFaCIsImtleXMiLCJjcmVhdGVQcm9wZXJ0eSIsInN0YXRlIiwiZWxlbWVudFByb3BlcnRpZXMiLCJub0FjY2Vzc29yIiwiZ2V0UHJvcGVydHlEZXNjcmlwdG9yIiwicmVxdWVzdFVwZGF0ZSIsImNvbmZpZ3VyYWJsZSIsImdldFByb3BlcnR5T3B0aW9ucyIsIk1hcCIsImZpbmFsaXplZCIsInByb3BlcnRpZXMiLCJfJEV1IiwiZWxlbWVudFN0eWxlcyIsImZpbmFsaXplU3R5bGVzIiwic3R5bGVzIiwiaXNBcnJheSIsIlNldCIsImZsYXQiLCJyZXZlcnNlIiwidW5zaGlmdCIsInN1cGVyIiwiXyRFcCIsImlzVXBkYXRlUGVuZGluZyIsImhhc1VwZGF0ZWQiLCJfJEVtIiwiXyRFdiIsIl8kRVMiLCJQcm9taXNlIiwiZW5hYmxlVXBkYXRpbmciLCJfJEFMIiwiXyRFXyIsImFkZENvbnRyb2xsZXIiLCJfJEVPIiwicmVuZGVyUm9vdCIsImlzQ29ubmVjdGVkIiwiaG9zdENvbm5lY3RlZCIsInJlbW92ZUNvbnRyb2xsZXIiLCJkZWxldGUiLCJzaXplIiwiY3JlYXRlUmVuZGVyUm9vdCIsInNoYWRvd1Jvb3QiLCJhdHRhY2hTaGFkb3ciLCJzaGFkb3dSb290T3B0aW9ucyIsImNvbm5lY3RlZENhbGxiYWNrIiwiZGlzY29ubmVjdGVkQ2FsbGJhY2siLCJob3N0RGlzY29ubmVjdGVkIiwiYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrIiwiXyRBSyIsIl8kRUMiLCJyZW1vdmVBdHRyaWJ1dGUiLCJQIiwiXyRFVCIsImhhcyIsIl8kRWoiLCJyZWplY3QiLCJzY2hlZHVsZVVwZGF0ZSIsInBlcmZvcm1VcGRhdGUiLCJ3cmFwcGVkIiwic2hvdWxkVXBkYXRlIiwid2lsbFVwZGF0ZSIsImhvc3RVcGRhdGUiLCJ1cGRhdGUiLCJfJEVVIiwiXyRBRSIsImhvc3RVcGRhdGVkIiwiZmlyc3RVcGRhdGVkIiwidXBkYXRlZCIsInVwZGF0ZUNvbXBsZXRlIiwiZ2V0VXBkYXRlQ29tcGxldGUiLCJtb2RlIiwiUmVhY3RpdmVFbGVtZW50IiwicmVhY3RpdmVFbGVtZW50VmVyc2lvbnMiLCJjcmVhdGVQb2xpY3kiLCJjcmVhdGVIVE1MIiwicmFuZG9tIiwidG9GaXhlZCIsImNyZWF0ZUNvbW1lbnQiLCJSZWdFeHAiLCJfJGxpdFR5cGUkIiwic3RyaW5ncyIsInZhbHVlcyIsIlQiLCJmb3IiLCJFIiwiQSIsIkMiLCJjcmVhdGVUcmVlV2Fsa2VyIiwiViIsImxhc3RJbmRleCIsImV4ZWMiLCJzdGFydHNXaXRoIiwiTiIsInBhcnRzIiwiZWwiLCJjdXJyZW50Tm9kZSIsImNvbnRlbnQiLCJmaXJzdENoaWxkIiwicmVwbGFjZVdpdGgiLCJjaGlsZE5vZGVzIiwibmV4dE5vZGUiLCJub2RlVHlwZSIsImhhc0F0dHJpYnV0ZXMiLCJnZXRBdHRyaWJ1dGVOYW1lcyIsImVuZHNXaXRoIiwiZ2V0QXR0cmlidXRlIiwiaW5kZXgiLCJjdG9yIiwiSCIsIkkiLCJMIiwidGFnTmFtZSIsImFwcGVuZCIsImRhdGEiLCJpbmRleE9mIiwiaW5uZXJIVE1MIiwiXyRDbyIsIl8kQ2wiLCJfJGxpdERpcmVjdGl2ZSQiLCJfJEFPIiwiXyRBVCIsIl8kQVMiLCJfJEFWIiwiXyRBTiIsIl8kQUQiLCJfJEFNIiwicGFyZW50Tm9kZSIsIl8kQVUiLCJjcmVhdGlvblNjb3BlIiwiaW1wb3J0Tm9kZSIsIlIiLCJuZXh0U2libGluZyIsIl8kQUkiLCJfJEN2IiwiXyRBSCIsIl8kQUEiLCJfJEFCIiwib3B0aW9ucyIsInN0YXJ0Tm9kZSIsImVuZE5vZGUiLCJfJEFSIiwiaXRlcmF0b3IiLCJpbnNlcnRCZWZvcmUiLCJjcmVhdGVUZXh0Tm9kZSIsIl8kQUMiLCJfJEFQIiwicmVtb3ZlIiwic2V0Q29ubmVjdGVkIiwiZWxlbWVudCIsImZpbGwiLCJqIiwidG9nZ2xlQXR0cmlidXRlIiwiY2FwdHVyZSIsIm9uY2UiLCJwYXNzaXZlIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImFkZEV2ZW50TGlzdGVuZXIiLCJoYW5kbGVFdmVudCIsImhvc3QiLCJsaXRIdG1sUG9seWZpbGxTdXBwb3J0IiwibGl0SHRtbFZlcnNpb25zIiwicmVuZGVyT3B0aW9ucyIsIl8kRG8iLCJyZW5kZXJCZWZvcmUiLCJyZW5kZXIiLCJfJGxpdFBhcnQkIiwiXyRsaXRFbGVtZW50JCIsImxpdEVsZW1lbnRIeWRyYXRlU3VwcG9ydCIsIkxpdEVsZW1lbnQiLCJsaXRFbGVtZW50UG9seWZpbGxTdXBwb3J0IiwibGl0RWxlbWVudFZlcnNpb25zIiwia2luZCIsIl8kQ3QiLCJfJENpIiwiaXQiLCJkaXJlY3RpdmVOYW1lIiwiX3QiLCJyYXciLCJyZXN1bHRUeXBlIiwiQ2F0ZWdvcnkiLCJDYXRlZ29yaWVzIiwiYWR2ZXJ0aXNlbWVudCIsImJlc3RTZWxsZXJCb29rIiwiY2FyIiwiY2luZW1hTW92aWUiLCJmYXNoaW9uVHJlbmQiLCJpY29uaWNBbGJ1bSIsIm5ld3NJdGVtIiwibmV3c1ByZXNlbnRlciIsInJhZGlvU2hvdyIsInJhZGlvU29uZyIsInNob3diaXp6Iiwic3BvcnRzIiwiVXRpbCIsImFzeW5jRm9yZWFjaCIsImFycmF5IiwiY2FsbGJhY2siLCJyZW1vdmVBbGxDaGlsZHJlbiIsInBhcmVudEVsZW1lbnQiLCJjaGlsZFRvRGVsZXRlIiwibGFzdENoaWxkIiwicmVtb3ZlQ2hpbGQiLCJzaHVmZmxlQXJyYXkiLCJzb3J0IiwiQXBpU2VydmljZSIsInRlZWVBcGlVcmwiLCJmZXRjaE9uZUluY2lkZW50IiwicG92IiwiY2F0ZWdvcnkiLCJlbW90aW9uIiwiaW1wYWN0IiwiZnJvbSIsInRvIiwibWF4TGFzdGVkIiwidmFyaWFudCIsImFzeW5jIiwicmVzb2x2ZSIsImNvbnNvbGUiLCJkZWJ1ZyIsInBvdnMiLCJjYXRlZ29yaWVzIiwiZW1vdGlvbnMiLCJpbXBhY3RzIiwiZGF0ZVN0cmluZyIsImZyb21TdHJpbmciLCJtYXhMYXN0ZWRTdHJpbmciLCJ2YXJpYW50cyIsInVybHMiLCJ1cmxTZWFyY2giLCJVUkxTZWFyY2hQYXJhbXMiLCJsaW1pdCIsInVybCIsIlVSTCIsInNlYXJjaCIsImluY2lkZW50cyIsInJlc3BvbnNlIiwiZmV0Y2giLCJqc29uIiwiY29uY2F0IiwicmVzdWx0cyIsImZpcnN0SW5jaWRlbnRJbkxpc3QiLCJzb3VyY2VzRm91bmRJbkluY2lkZW50cyIsImluY2lkZW50Iiwic291cmNlIiwiaW5mbyIsInNvdXJjZXMiLCJwb3N0QXR0cmlidXRlUXVhbGl0eUZlZWRiYWNrIiwiaW5jaWRlbnRpZCIsInZhbHVlIiwicmVtYXJrIiwibWV0aG9kIiwiaGVhZGVycyIsIkFjY2VwdCIsImJvZHkiLCJwb3N0SW5jaWRlbnRRdWFsaXR5RmVlZGJhY2siLCJDb250ZW50RmVlZGJhY2siLCJHYW1lU3RhdGUiLCJOTCIsIkhpbnRUZW1wbGF0ZXMiLCJ0ZWNoIiwidHJhbnNsYXRlIiwiUXVlc3Rpb25TY29yZUNvbnRyb2xsZXIiLCJzdGFydFZhbHVlIiwidGltZW91dCIsInN0YXJ0IiwiX3RpbWVySUQiLCJzZXRJbnRlcnZhbCIsInN0b3AiLCJjbGVhckludGVydmFsIiwicmVzZXQiLCJpc1J1bm5pbmciLCJzZXRUaW1lb3V0Iiwid2luZG93IiwiR3Vlc3NUaGVZZWFyIiwibG9hZGluZyIsIl9sb2FkaW5nIiwiX3N0YXJ0VGltZSIsIl9lbmRUaW1lIiwicmVwb3J0QnJva2VuSW1hZ2VzIiwiY291bnRyeSIsInNodWZmbGUiLCJzaG93RHVyYXRpb24iLCJzaG93RmVlZGJhY2siLCJub0ltYWdlU3JjIiwic3VwcHJlc3NJbWFnZXMiLCJhdXRvRm9jdXMiLCJoaW50SW50ZXJ2YWxTZWNzIiwibWF4SGludHMiLCJtYXhUcmllcyIsIm51bWJlck9mUXVlc3Rpb25zIiwiX251bWJlck9mUXVlc3Rpb25zU2VlbiIsIl9pbmNpZGVudCIsIl9hbnN3ZXJzIiwiX2hpbnQiLCJfc2hvd0hpbnQiLCJfc2hvd0Zvb3RlciIsIl9oaW50c0luZGV4IiwiX2hpbnRzIiwiX3NvbHV0aW9uIiwiX2Rpc3BsYXlTb2x1dGlvbiIsIl9hbnN3ZXJlZENvcnJlY3RseSIsIl90cmllcyIsIl9yZW5kZXJTdGF0ZSIsIklOSVQiLCJfc2NvcmUiLCJ0b3RhbFNjb3JlIiwiX2Fuc3dlciIsIl9hcGlTZXJ2aWNlIiwiX2ludGVydmFsc1Bhc3NlZCIsImkxOG4iLCJfaGFuZGxlSW1hZ2VMb2FkRXJyb3IiLCJldnQiLCJ0YXJnZXRJbWFnZSIsInRhcmdldCIsInNyYyIsImlkIiwiaW5jb3JyZWN0IiwiX3Njb3JlMCIsIlNQTEFTSCIsImNoYW5nZWRQcm9wZXJ0aWVzIiwicmVuZGVyU3BsYXNoU2NyZWVuIiwiSU5UUk8iLCJyZW5kZXJHYW1lSW50cm8iLCJQTEFZIiwicmVuZGVyR2FtZVN0YWdlIiwiRU5EIiwicmVuZGVyR2FtZUVuZCIsIl9yZW5kZXJGb290ZXIiLCJjb2xvckVsZW1lbnQiLCJjb2xvciIsInF1ZXJ5U2VsZWN0b3IiLCJzdHlsZSIsInNldFByb3BlcnR5IiwiX3JlbmRlckhlYWRlciIsIl9yZW5kZXJZZWFyU2VsZWN0T3B0aW9ucyIsInNlbGVjdGVkVmFsdWUiLCJzZWxlY3RlZCIsInBhcnNlSW50Iiwic2VsZWN0WWVhck9wdGlvbnMiLCJzZWxlY3RRdWVzdGlvbk9wdGlvbnMiLCJldmVudCIsIl9zZXRGcm9tRGF0ZSIsIl9zZXRUb0RhdGUiLCJzZXR1cE5ld0dhbWUiLCJfcmVuZGVyR2FtZVNjb3JlIiwiX3JlbmRlckluY2lkZW50IiwiX3JlbmRlckhpbnQiLCJyZW5kZXJTb3VyY2VzIiwiX3JlbmRlckhpbnRCdXR0b24iLCJfcmVuZGVyQW5zd2VycyIsIl9yZW5kZXJGZWVkYmFjayIsInRpdGxlIiwiX3JlbmRlckluY2lkZW50SW1hZ2UiLCJ0ZXh0IiwiaW1hZ2UiLCJhbnN3ZXIiLCJfaGFuZGxlQW5zd2VyQ2xpY2tlZCIsIl9oYW5kbGVIaW50Q2xpY2tlZCIsImhpbnRUZXh0IiwiX2dlbmVyYXRlSGludFRleHQiLCJpc19jb3JyZWN0Iiwic2NvcmUiLCJfcmVuZGVyTmV4dFF1ZXN0aW9uQnV0dG9uIiwiX2xvYWRRdWVzdGlvbiIsIl9lbmRHYW1lIiwibG9nIiwiX3Jlc2V0U3RhZ2UiLCJ5ZWFycGx1c21vbnRoIiwiYW5zd2VycyIsInJhbmRvbUFuc3dlciIsImluY2x1ZGVzIiwic2hpZnQiLCJyZW5kZXJSZWZyZXNoQnV0dG9uIiwicmVuZGVyU3RvcEdhbWVCdXR0b24iLCJyZW5kZXJGZWVkYmFja1Bvc3NpYmlsaXR5IiwicmVuZGVyU3VibWl0UG9zc2liaWxpdHkiLCJyZW5kZXJUcmllcyIsImkxOG5LZXkiLCJyZW5kZXJUaGVTb2x1dGlvbiIsInJlbmRlclRoZUR1cmF0aW9uIiwiZHVyYXRpb24iLCJyZW5kZXJUaWxlcyIsInJlbmRlclRpbGUiLCJfdGlsZVNob3VsZERpc3BsYXlBbkltYWdlIiwiaGFzSW1hZ2UiLCJkaXNwbGF5SW1hZ2VzIiwidGlsZUNvbnRlbnQiLCJyZW5kZXJUaWxlQ29udGVudCIsInJlbmRlclRpbGVUaXRsZSIsInJlbmRlclRpbGVJbWFnZSIsInJlbmRlclRpbGVUZXh0Q29udGVudCIsImhpbnRJbmNpZGVudCIsImhpbnQiLCJoaW50VGVtcGxhdGVzIiwidHJhY2siLCJhcnRpc3QiLCJyZW5kZXJIaW50VGlsZSIsIkRheWpzIiwiY3VzdG9tRWxlbWVudHMiLCJkZWZpbmUiXSwic291cmNlUm9vdCI6IiJ9
187
+ `:J``}};wt.styles=i`
188
+ ${mt}
189
+ `,bt([ct({type:String,attribute:"tee-e-api-url"})],wt.prototype,"teeeApiUrl",void 0),bt([ct({type:Boolean,attribute:"report-broken-images"})],wt.prototype,"reportBrokenImages",void 0),bt([ct({type:String})],wt.prototype,"date",void 0),bt([ct({type:String})],wt.prototype,"country",void 0),bt([ct({type:String})],wt.prototype,"category",void 0),bt([ct({type:String})],wt.prototype,"emotion",void 0),bt([ct({type:String})],wt.prototype,"impact",void 0),bt([ct({type:ut.Dayjs,converter:{fromAttribute:t=>(console.debug(["from","from",t]),t?t.length>=10?Ct()(t,"YYYY-MM-DD"):Ct()(`${t}-01-01`,"YYYY-MM-DD"):Ct()()),toAttribute:t=>(console.debug(["from","to",t]),t.format("YYYY-MM-DD"))}})],wt.prototype,"from",void 0),bt([ct({type:ut.Dayjs,converter:{fromAttribute:t=>(console.debug(["to","from",t]),t?t.length>=10?Ct()(t,"YYYY-MM-DD"):Ct()(`${t}-12-31`,"YYYY-MM-DD"):Ct()()),toAttribute:t=>(console.debug(["to","to",t]),t.format("YYYY-MM-DD"))}})],wt.prototype,"to",void 0),bt([ct({type:String,attribute:"no-image-src"})],wt.prototype,"noImageSrc",void 0),bt([ct({type:Boolean,attribute:"suppress-images"})],wt.prototype,"suppressImages",void 0),bt([ct({type:Number,attribute:"max-hints"})],wt.prototype,"maxHints",void 0),bt([ct({type:Number,attribute:"number-of-questions",reflect:!0})],wt.prototype,"numberOfQuestions",void 0),bt([dt()],wt.prototype,"_incident",void 0),bt([dt()],wt.prototype,"_hint",void 0),bt([dt()],wt.prototype,"_solution",void 0),bt([dt()],wt.prototype,"_renderState",void 0),bt([dt()],wt.prototype,"_score",void 0),bt([dt()],wt.prototype,"_answer",void 0),wt=bt([(t=>(e,A)=>{void 0!==A?A.addInitializer((()=>{customElements.define(t,e)})):customElements.define(t,e)})("guess-the-year")],wt)}()}();
190
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,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QU0sR0FBR0EsVUFBZSxjQVB0QixRQVNYOVAsWUFBYzhQLElBQ1o5QixRQUFRQyxNQUFNLENBQUMsS0FBTSxLQUFNNkIsSUFDcEJBLEVBQU1qVSxPQUFPLDZDQU8xQixJQURDLEdBQVMsQ0FBRXlFLEtBQU1sSyxPQUFRaUssVUFBVyxvREFJckMsSUFEQyxHQUFTLENBQUVDLEtBQU1MLFFBQVNJLFVBQVcsMkRBSXRDLElBREMsR0FBUyxDQUFFQyxLQUFNNUUsT0FBUTJFLFVBQVcsK0NBSXJDLElBREMsR0FBUyxDQUFFQyxLQUFNNUUsT0FBUTJFLFVBQVcsc0JBQXVCRyxTQUFTLDhDQUs3RCxJQURQLHVDQU1PLElBRFAsbUNBU08sSUFEUCx1Q0FJTSxJQUROLDBDQUlPLElBRFAsb0NBT08sSUFEUCxxQ0F2SFU4USxHQUFZLElWaEJqQnBiLElBQUcsQ0FBQ3JCLEVBQUVPLFVBQUssSUFBU0EsRUFBRUEsRUFBRXlMLGdCQUFlLEtBQU13VyxlQUFlQyxPQUFPcGhCLEVBQUVyQixFQUFHLElBQUd3aUIsZUFBZUMsT0FBT3BoQixFQUFFckIsRUFBQyxFVWUzRyxDQUFjLG1CQUNGeWMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndWVzcy10aGUteWVhci13ZWItY29tcG9uZW50Ly4vbm9kZV9tb2R1bGVzL2RheWpzL2RheWpzLm1pbi5qcyIsIndlYnBhY2s6Ly9ndWVzcy10aGUteWVhci13ZWItY29tcG9uZW50L3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL2d1ZXNzLXRoZS15ZWFyLXdlYi1jb21wb25lbnQvd2VicGFjay9ydW50aW1lL2NvbXBhdCBnZXQgZGVmYXVsdCBleHBvcnQiLCJ3ZWJwYWNrOi8vZ3Vlc3MtdGhlLXllYXItd2ViLWNvbXBvbmVudC93ZWJwYWNrL3J1bnRpbWUvZGVmaW5lIHByb3BlcnR5IGdldHRlcnMiLCJ3ZWJwYWNrOi8vZ3Vlc3MtdGhlLXllYXItd2ViLWNvbXBvbmVudC93ZWJwYWNrL3J1bnRpbWUvaGFzT3duUHJvcGVydHkgc2hvcnRoYW5kIiwid2VicGFjazovL2d1ZXNzLXRoZS15ZWFyLXdlYi1jb21wb25lbnQvLi9ub2RlX21vZHVsZXMvQGxpdC9yZWFjdGl2ZS1lbGVtZW50L2Nzcy10YWcuanMiLCJ3ZWJwYWNrOi8vZ3Vlc3MtdGhlLXllYXItd2ViLWNvbXBvbmVudC8uL25vZGVfbW9kdWxlcy9AbGl0L3JlYWN0aXZlLWVsZW1lbnQvcmVhY3RpdmUtZWxlbWVudC5qcyIsIndlYnBhY2s6Ly9ndWVzcy10aGUteWVhci13ZWItY29tcG9uZW50Ly4vbm9kZV9tb2R1bGVzL2xpdC1odG1sL2xpdC1odG1sLmpzIiwid2VicGFjazovL2d1ZXNzLXRoZS15ZWFyLXdlYi1jb21wb25lbnQvLi9ub2RlX21vZHVsZXMvbGl0LWVsZW1lbnQvbGl0LWVsZW1lbnQuanMiLCJ3ZWJwYWNrOi8vZ3Vlc3MtdGhlLXllYXItd2ViLWNvbXBvbmVudC8uL25vZGVfbW9kdWxlcy9AbGl0L3JlYWN0aXZlLWVsZW1lbnQvZGVjb3JhdG9ycy9jdXN0b20tZWxlbWVudC5qcyIsIndlYnBhY2s6Ly9ndWVzcy10aGUteWVhci13ZWItY29tcG9uZW50Ly4vbm9kZV9tb2R1bGVzL0BsaXQvcmVhY3RpdmUtZWxlbWVudC9kZWNvcmF0b3JzL3Byb3BlcnR5LmpzIiwid2VicGFjazovL2d1ZXNzLXRoZS15ZWFyLXdlYi1jb21wb25lbnQvLi9ub2RlX21vZHVsZXMvQGxpdC9yZWFjdGl2ZS1lbGVtZW50L2RlY29yYXRvcnMvc3RhdGUuanMiLCJ3ZWJwYWNrOi8vZ3Vlc3MtdGhlLXllYXItd2ViLWNvbXBvbmVudC8uL3NyYy9saWIvSW5jaWRlbnQudHMiLCJ3ZWJwYWNrOi8vZ3Vlc3MtdGhlLXllYXItd2ViLWNvbXBvbmVudC8uL3NyYy9saWIvVXRpbC50cyIsIndlYnBhY2s6Ly9ndWVzcy10aGUteWVhci13ZWItY29tcG9uZW50Ly4vc3JjL2xpYi9BcGlTZXJ2aWNlLnRzIiwid2VicGFjazovL2d1ZXNzLXRoZS15ZWFyLXdlYi1jb21wb25lbnQvLi9zcmMvbGliL2VudW1zLnRzIiwid2VicGFjazovL2d1ZXNzLXRoZS15ZWFyLXdlYi1jb21wb25lbnQvLi9zcmMvbGliL2kxOG4vTkwudHMiLCJ3ZWJwYWNrOi8vZ3Vlc3MtdGhlLXllYXItd2ViLWNvbXBvbmVudC8uL3NyYy9zY3NzL21haW4uc2NzcyIsIndlYnBhY2s6Ly9ndWVzcy10aGUteWVhci13ZWItY29tcG9uZW50Ly4vc3JjL2xpYi9jb250cm9sbGVyL3Njb3JlY29udHJvbGxlci50cyIsIndlYnBhY2s6Ly9ndWVzcy10aGUteWVhci13ZWItY29tcG9uZW50Ly4vc3JjL2d1ZXNzLXRoZS15ZWFyLnRzIiwid2VicGFjazovL2d1ZXNzLXRoZS15ZWFyLXdlYi1jb21wb25lbnQvLi9zcmMvbGliL2kxOG4vaTE4bi50cyIsIndlYnBhY2s6Ly9ndWVzcy10aGUteWVhci13ZWItY29tcG9uZW50Ly4vc3JjL2xpYi9JY29uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIiFmdW5jdGlvbih0LGUpe1wib2JqZWN0XCI9PXR5cGVvZiBleHBvcnRzJiZcInVuZGVmaW5lZFwiIT10eXBlb2YgbW9kdWxlP21vZHVsZS5leHBvcnRzPWUoKTpcImZ1bmN0aW9uXCI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKGUpOih0PVwidW5kZWZpbmVkXCIhPXR5cGVvZiBnbG9iYWxUaGlzP2dsb2JhbFRoaXM6dHx8c2VsZikuZGF5anM9ZSgpfSh0aGlzLChmdW5jdGlvbigpe1widXNlIHN0cmljdFwiO3ZhciB0PTFlMyxlPTZlNCxuPTM2ZTUscj1cIm1pbGxpc2Vjb25kXCIsaT1cInNlY29uZFwiLHM9XCJtaW51dGVcIix1PVwiaG91clwiLGE9XCJkYXlcIixvPVwid2Vla1wiLGM9XCJtb250aFwiLGY9XCJxdWFydGVyXCIsaD1cInllYXJcIixkPVwiZGF0ZVwiLGw9XCJJbnZhbGlkIERhdGVcIiwkPS9eKFxcZHs0fSlbLS9dPyhcXGR7MSwyfSk/Wy0vXT8oXFxkezAsMn0pW1R0XFxzXSooXFxkezEsMn0pPzo/KFxcZHsxLDJ9KT86PyhcXGR7MSwyfSk/Wy46XT8oXFxkKyk/JC8seT0vXFxbKFteXFxdXSspXXxZezEsNH18TXsxLDR9fER7MSwyfXxkezEsNH18SHsxLDJ9fGh7MSwyfXxhfEF8bXsxLDJ9fHN7MSwyfXxaezEsMn18U1NTL2csTT17bmFtZTpcImVuXCIsd2Vla2RheXM6XCJTdW5kYXlfTW9uZGF5X1R1ZXNkYXlfV2VkbmVzZGF5X1RodXJzZGF5X0ZyaWRheV9TYXR1cmRheVwiLnNwbGl0KFwiX1wiKSxtb250aHM6XCJKYW51YXJ5X0ZlYnJ1YXJ5X01hcmNoX0FwcmlsX01heV9KdW5lX0p1bHlfQXVndXN0X1NlcHRlbWJlcl9PY3RvYmVyX05vdmVtYmVyX0RlY2VtYmVyXCIuc3BsaXQoXCJfXCIpLG9yZGluYWw6ZnVuY3Rpb24odCl7dmFyIGU9W1widGhcIixcInN0XCIsXCJuZFwiLFwicmRcIl0sbj10JTEwMDtyZXR1cm5cIltcIit0KyhlWyhuLTIwKSUxMF18fGVbbl18fGVbMF0pK1wiXVwifX0sbT1mdW5jdGlvbih0LGUsbil7dmFyIHI9U3RyaW5nKHQpO3JldHVybiFyfHxyLmxlbmd0aD49ZT90OlwiXCIrQXJyYXkoZSsxLXIubGVuZ3RoKS5qb2luKG4pK3R9LHY9e3M6bSx6OmZ1bmN0aW9uKHQpe3ZhciBlPS10LnV0Y09mZnNldCgpLG49TWF0aC5hYnMoZSkscj1NYXRoLmZsb29yKG4vNjApLGk9biU2MDtyZXR1cm4oZTw9MD9cIitcIjpcIi1cIikrbShyLDIsXCIwXCIpK1wiOlwiK20oaSwyLFwiMFwiKX0sbTpmdW5jdGlvbiB0KGUsbil7aWYoZS5kYXRlKCk8bi5kYXRlKCkpcmV0dXJuLXQobixlKTt2YXIgcj0xMioobi55ZWFyKCktZS55ZWFyKCkpKyhuLm1vbnRoKCktZS5tb250aCgpKSxpPWUuY2xvbmUoKS5hZGQocixjKSxzPW4taTwwLHU9ZS5jbG9uZSgpLmFkZChyKyhzPy0xOjEpLGMpO3JldHVybisoLShyKyhuLWkpLyhzP2ktdTp1LWkpKXx8MCl9LGE6ZnVuY3Rpb24odCl7cmV0dXJuIHQ8MD9NYXRoLmNlaWwodCl8fDA6TWF0aC5mbG9vcih0KX0scDpmdW5jdGlvbih0KXtyZXR1cm57TTpjLHk6aCx3Om8sZDphLEQ6ZCxoOnUsbTpzLHM6aSxtczpyLFE6Zn1bdF18fFN0cmluZyh0fHxcIlwiKS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL3MkLyxcIlwiKX0sdTpmdW5jdGlvbih0KXtyZXR1cm4gdm9pZCAwPT09dH19LGc9XCJlblwiLEQ9e307RFtnXT1NO3ZhciBwPVwiJGlzRGF5anNPYmplY3RcIixTPWZ1bmN0aW9uKHQpe3JldHVybiB0IGluc3RhbmNlb2YgX3x8ISghdHx8IXRbcF0pfSx3PWZ1bmN0aW9uIHQoZSxuLHIpe3ZhciBpO2lmKCFlKXJldHVybiBnO2lmKFwic3RyaW5nXCI9PXR5cGVvZiBlKXt2YXIgcz1lLnRvTG93ZXJDYXNlKCk7RFtzXSYmKGk9cyksbiYmKERbc109bixpPXMpO3ZhciB1PWUuc3BsaXQoXCItXCIpO2lmKCFpJiZ1Lmxlbmd0aD4xKXJldHVybiB0KHVbMF0pfWVsc2V7dmFyIGE9ZS5uYW1lO0RbYV09ZSxpPWF9cmV0dXJuIXImJmkmJihnPWkpLGl8fCFyJiZnfSxPPWZ1bmN0aW9uKHQsZSl7aWYoUyh0KSlyZXR1cm4gdC5jbG9uZSgpO3ZhciBuPVwib2JqZWN0XCI9PXR5cGVvZiBlP2U6e307cmV0dXJuIG4uZGF0ZT10LG4uYXJncz1hcmd1bWVudHMsbmV3IF8obil9LGI9djtiLmw9dyxiLmk9UyxiLnc9ZnVuY3Rpb24odCxlKXtyZXR1cm4gTyh0LHtsb2NhbGU6ZS4kTCx1dGM6ZS4kdSx4OmUuJHgsJG9mZnNldDplLiRvZmZzZXR9KX07dmFyIF89ZnVuY3Rpb24oKXtmdW5jdGlvbiBNKHQpe3RoaXMuJEw9dyh0LmxvY2FsZSxudWxsLCEwKSx0aGlzLnBhcnNlKHQpLHRoaXMuJHg9dGhpcy4keHx8dC54fHx7fSx0aGlzW3BdPSEwfXZhciBtPU0ucHJvdG90eXBlO3JldHVybiBtLnBhcnNlPWZ1bmN0aW9uKHQpe3RoaXMuJGQ9ZnVuY3Rpb24odCl7dmFyIGU9dC5kYXRlLG49dC51dGM7aWYobnVsbD09PWUpcmV0dXJuIG5ldyBEYXRlKE5hTik7aWYoYi51KGUpKXJldHVybiBuZXcgRGF0ZTtpZihlIGluc3RhbmNlb2YgRGF0ZSlyZXR1cm4gbmV3IERhdGUoZSk7aWYoXCJzdHJpbmdcIj09dHlwZW9mIGUmJiEvWiQvaS50ZXN0KGUpKXt2YXIgcj1lLm1hdGNoKCQpO2lmKHIpe3ZhciBpPXJbMl0tMXx8MCxzPShyWzddfHxcIjBcIikuc3Vic3RyaW5nKDAsMyk7cmV0dXJuIG4/bmV3IERhdGUoRGF0ZS5VVEMoclsxXSxpLHJbM118fDEscls0XXx8MCxyWzVdfHwwLHJbNl18fDAscykpOm5ldyBEYXRlKHJbMV0saSxyWzNdfHwxLHJbNF18fDAscls1XXx8MCxyWzZdfHwwLHMpfX1yZXR1cm4gbmV3IERhdGUoZSl9KHQpLHRoaXMuaW5pdCgpfSxtLmluaXQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLiRkO3RoaXMuJHk9dC5nZXRGdWxsWWVhcigpLHRoaXMuJE09dC5nZXRNb250aCgpLHRoaXMuJEQ9dC5nZXREYXRlKCksdGhpcy4kVz10LmdldERheSgpLHRoaXMuJEg9dC5nZXRIb3VycygpLHRoaXMuJG09dC5nZXRNaW51dGVzKCksdGhpcy4kcz10LmdldFNlY29uZHMoKSx0aGlzLiRtcz10LmdldE1pbGxpc2Vjb25kcygpfSxtLiR1dGlscz1mdW5jdGlvbigpe3JldHVybiBifSxtLmlzVmFsaWQ9ZnVuY3Rpb24oKXtyZXR1cm4hKHRoaXMuJGQudG9TdHJpbmcoKT09PWwpfSxtLmlzU2FtZT1mdW5jdGlvbih0LGUpe3ZhciBuPU8odCk7cmV0dXJuIHRoaXMuc3RhcnRPZihlKTw9biYmbjw9dGhpcy5lbmRPZihlKX0sbS5pc0FmdGVyPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIE8odCk8dGhpcy5zdGFydE9mKGUpfSxtLmlzQmVmb3JlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuZW5kT2YoZSk8Tyh0KX0sbS4kZz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIGIudSh0KT90aGlzW2VdOnRoaXMuc2V0KG4sdCl9LG0udW5peD1mdW5jdGlvbigpe3JldHVybiBNYXRoLmZsb29yKHRoaXMudmFsdWVPZigpLzFlMyl9LG0udmFsdWVPZj1mdW5jdGlvbigpe3JldHVybiB0aGlzLiRkLmdldFRpbWUoKX0sbS5zdGFydE9mPWZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcyxyPSEhYi51KGUpfHxlLGY9Yi5wKHQpLGw9ZnVuY3Rpb24odCxlKXt2YXIgaT1iLncobi4kdT9EYXRlLlVUQyhuLiR5LGUsdCk6bmV3IERhdGUobi4keSxlLHQpLG4pO3JldHVybiByP2k6aS5lbmRPZihhKX0sJD1mdW5jdGlvbih0LGUpe3JldHVybiBiLncobi50b0RhdGUoKVt0XS5hcHBseShuLnRvRGF0ZShcInNcIiksKHI/WzAsMCwwLDBdOlsyMyw1OSw1OSw5OTldKS5zbGljZShlKSksbil9LHk9dGhpcy4kVyxNPXRoaXMuJE0sbT10aGlzLiRELHY9XCJzZXRcIisodGhpcy4kdT9cIlVUQ1wiOlwiXCIpO3N3aXRjaChmKXtjYXNlIGg6cmV0dXJuIHI/bCgxLDApOmwoMzEsMTEpO2Nhc2UgYzpyZXR1cm4gcj9sKDEsTSk6bCgwLE0rMSk7Y2FzZSBvOnZhciBnPXRoaXMuJGxvY2FsZSgpLndlZWtTdGFydHx8MCxEPSh5PGc/eSs3OnkpLWc7cmV0dXJuIGwocj9tLUQ6bSsoNi1EKSxNKTtjYXNlIGE6Y2FzZSBkOnJldHVybiAkKHYrXCJIb3Vyc1wiLDApO2Nhc2UgdTpyZXR1cm4gJCh2K1wiTWludXRlc1wiLDEpO2Nhc2UgczpyZXR1cm4gJCh2K1wiU2Vjb25kc1wiLDIpO2Nhc2UgaTpyZXR1cm4gJCh2K1wiTWlsbGlzZWNvbmRzXCIsMyk7ZGVmYXVsdDpyZXR1cm4gdGhpcy5jbG9uZSgpfX0sbS5lbmRPZj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5zdGFydE9mKHQsITEpfSxtLiRzZXQ9ZnVuY3Rpb24odCxlKXt2YXIgbixvPWIucCh0KSxmPVwic2V0XCIrKHRoaXMuJHU/XCJVVENcIjpcIlwiKSxsPShuPXt9LG5bYV09ZitcIkRhdGVcIixuW2RdPWYrXCJEYXRlXCIsbltjXT1mK1wiTW9udGhcIixuW2hdPWYrXCJGdWxsWWVhclwiLG5bdV09ZitcIkhvdXJzXCIsbltzXT1mK1wiTWludXRlc1wiLG5baV09ZitcIlNlY29uZHNcIixuW3JdPWYrXCJNaWxsaXNlY29uZHNcIixuKVtvXSwkPW89PT1hP3RoaXMuJEQrKGUtdGhpcy4kVyk6ZTtpZihvPT09Y3x8bz09PWgpe3ZhciB5PXRoaXMuY2xvbmUoKS5zZXQoZCwxKTt5LiRkW2xdKCQpLHkuaW5pdCgpLHRoaXMuJGQ9eS5zZXQoZCxNYXRoLm1pbih0aGlzLiRELHkuZGF5c0luTW9udGgoKSkpLiRkfWVsc2UgbCYmdGhpcy4kZFtsXSgkKTtyZXR1cm4gdGhpcy5pbml0KCksdGhpc30sbS5zZXQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5jbG9uZSgpLiRzZXQodCxlKX0sbS5nZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXNbYi5wKHQpXSgpfSxtLmFkZD1mdW5jdGlvbihyLGYpe3ZhciBkLGw9dGhpcztyPU51bWJlcihyKTt2YXIgJD1iLnAoZikseT1mdW5jdGlvbih0KXt2YXIgZT1PKGwpO3JldHVybiBiLncoZS5kYXRlKGUuZGF0ZSgpK01hdGgucm91bmQodCpyKSksbCl9O2lmKCQ9PT1jKXJldHVybiB0aGlzLnNldChjLHRoaXMuJE0rcik7aWYoJD09PWgpcmV0dXJuIHRoaXMuc2V0KGgsdGhpcy4keStyKTtpZigkPT09YSlyZXR1cm4geSgxKTtpZigkPT09bylyZXR1cm4geSg3KTt2YXIgTT0oZD17fSxkW3NdPWUsZFt1XT1uLGRbaV09dCxkKVskXXx8MSxtPXRoaXMuJGQuZ2V0VGltZSgpK3IqTTtyZXR1cm4gYi53KG0sdGhpcyl9LG0uc3VidHJhY3Q9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5hZGQoLTEqdCxlKX0sbS5mb3JtYXQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcyxuPXRoaXMuJGxvY2FsZSgpO2lmKCF0aGlzLmlzVmFsaWQoKSlyZXR1cm4gbi5pbnZhbGlkRGF0ZXx8bDt2YXIgcj10fHxcIllZWVktTU0tRERUSEg6bW06c3NaXCIsaT1iLnoodGhpcykscz10aGlzLiRILHU9dGhpcy4kbSxhPXRoaXMuJE0sbz1uLndlZWtkYXlzLGM9bi5tb250aHMsZj1uLm1lcmlkaWVtLGg9ZnVuY3Rpb24odCxuLGkscyl7cmV0dXJuIHQmJih0W25dfHx0KGUscikpfHxpW25dLnNsaWNlKDAscyl9LGQ9ZnVuY3Rpb24odCl7cmV0dXJuIGIucyhzJTEyfHwxMix0LFwiMFwiKX0sJD1mfHxmdW5jdGlvbih0LGUsbil7dmFyIHI9dDwxMj9cIkFNXCI6XCJQTVwiO3JldHVybiBuP3IudG9Mb3dlckNhc2UoKTpyfTtyZXR1cm4gci5yZXBsYWNlKHksKGZ1bmN0aW9uKHQscil7cmV0dXJuIHJ8fGZ1bmN0aW9uKHQpe3N3aXRjaCh0KXtjYXNlXCJZWVwiOnJldHVybiBTdHJpbmcoZS4keSkuc2xpY2UoLTIpO2Nhc2VcIllZWVlcIjpyZXR1cm4gYi5zKGUuJHksNCxcIjBcIik7Y2FzZVwiTVwiOnJldHVybiBhKzE7Y2FzZVwiTU1cIjpyZXR1cm4gYi5zKGErMSwyLFwiMFwiKTtjYXNlXCJNTU1cIjpyZXR1cm4gaChuLm1vbnRoc1Nob3J0LGEsYywzKTtjYXNlXCJNTU1NXCI6cmV0dXJuIGgoYyxhKTtjYXNlXCJEXCI6cmV0dXJuIGUuJEQ7Y2FzZVwiRERcIjpyZXR1cm4gYi5zKGUuJEQsMixcIjBcIik7Y2FzZVwiZFwiOnJldHVybiBTdHJpbmcoZS4kVyk7Y2FzZVwiZGRcIjpyZXR1cm4gaChuLndlZWtkYXlzTWluLGUuJFcsbywyKTtjYXNlXCJkZGRcIjpyZXR1cm4gaChuLndlZWtkYXlzU2hvcnQsZS4kVyxvLDMpO2Nhc2VcImRkZGRcIjpyZXR1cm4gb1tlLiRXXTtjYXNlXCJIXCI6cmV0dXJuIFN0cmluZyhzKTtjYXNlXCJISFwiOnJldHVybiBiLnMocywyLFwiMFwiKTtjYXNlXCJoXCI6cmV0dXJuIGQoMSk7Y2FzZVwiaGhcIjpyZXR1cm4gZCgyKTtjYXNlXCJhXCI6cmV0dXJuICQocyx1LCEwKTtjYXNlXCJBXCI6cmV0dXJuICQocyx1LCExKTtjYXNlXCJtXCI6cmV0dXJuIFN0cmluZyh1KTtjYXNlXCJtbVwiOnJldHVybiBiLnModSwyLFwiMFwiKTtjYXNlXCJzXCI6cmV0dXJuIFN0cmluZyhlLiRzKTtjYXNlXCJzc1wiOnJldHVybiBiLnMoZS4kcywyLFwiMFwiKTtjYXNlXCJTU1NcIjpyZXR1cm4gYi5zKGUuJG1zLDMsXCIwXCIpO2Nhc2VcIlpcIjpyZXR1cm4gaX1yZXR1cm4gbnVsbH0odCl8fGkucmVwbGFjZShcIjpcIixcIlwiKX0pKX0sbS51dGNPZmZzZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gMTUqLU1hdGgucm91bmQodGhpcy4kZC5nZXRUaW1lem9uZU9mZnNldCgpLzE1KX0sbS5kaWZmPWZ1bmN0aW9uKHIsZCxsKXt2YXIgJCx5PXRoaXMsTT1iLnAoZCksbT1PKHIpLHY9KG0udXRjT2Zmc2V0KCktdGhpcy51dGNPZmZzZXQoKSkqZSxnPXRoaXMtbSxEPWZ1bmN0aW9uKCl7cmV0dXJuIGIubSh5LG0pfTtzd2l0Y2goTSl7Y2FzZSBoOiQ9RCgpLzEyO2JyZWFrO2Nhc2UgYzokPUQoKTticmVhaztjYXNlIGY6JD1EKCkvMzticmVhaztjYXNlIG86JD0oZy12KS82MDQ4ZTU7YnJlYWs7Y2FzZSBhOiQ9KGctdikvODY0ZTU7YnJlYWs7Y2FzZSB1OiQ9Zy9uO2JyZWFrO2Nhc2UgczokPWcvZTticmVhaztjYXNlIGk6JD1nL3Q7YnJlYWs7ZGVmYXVsdDokPWd9cmV0dXJuIGw/JDpiLmEoJCl9LG0uZGF5c0luTW9udGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lbmRPZihjKS4kRH0sbS4kbG9jYWxlPWZ1bmN0aW9uKCl7cmV0dXJuIERbdGhpcy4kTF19LG0ubG9jYWxlPWZ1bmN0aW9uKHQsZSl7aWYoIXQpcmV0dXJuIHRoaXMuJEw7dmFyIG49dGhpcy5jbG9uZSgpLHI9dyh0LGUsITApO3JldHVybiByJiYobi4kTD1yKSxufSxtLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIGIudyh0aGlzLiRkLHRoaXMpfSxtLnRvRGF0ZT1mdW5jdGlvbigpe3JldHVybiBuZXcgRGF0ZSh0aGlzLnZhbHVlT2YoKSl9LG0udG9KU09OPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXNWYWxpZCgpP3RoaXMudG9JU09TdHJpbmcoKTpudWxsfSxtLnRvSVNPU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuJGQudG9JU09TdHJpbmcoKX0sbS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLiRkLnRvVVRDU3RyaW5nKCl9LE19KCksaz1fLnByb3RvdHlwZTtyZXR1cm4gTy5wcm90b3R5cGU9ayxbW1wiJG1zXCIscl0sW1wiJHNcIixpXSxbXCIkbVwiLHNdLFtcIiRIXCIsdV0sW1wiJFdcIixhXSxbXCIkTVwiLGNdLFtcIiR5XCIsaF0sW1wiJERcIixkXV0uZm9yRWFjaCgoZnVuY3Rpb24odCl7a1t0WzFdXT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy4kZyhlLHRbMF0sdFsxXSl9fSkpLE8uZXh0ZW5kPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuJGl8fCh0KGUsXyxPKSx0LiRpPSEwKSxPfSxPLmxvY2FsZT13LE8uaXNEYXlqcz1TLE8udW5peD1mdW5jdGlvbih0KXtyZXR1cm4gTygxZTMqdCl9LE8uZW49RFtnXSxPLkxzPUQsTy5wPXt9LE99KSk7IiwiLy8gVGhlIG1vZHVsZSBjYWNoZVxudmFyIF9fd2VicGFja19tb2R1bGVfY2FjaGVfXyA9IHt9O1xuXG4vLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcblx0dmFyIGNhY2hlZE1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF07XG5cdGlmIChjYWNoZWRNb2R1bGUgIT09IHVuZGVmaW5lZCkge1xuXHRcdHJldHVybiBjYWNoZWRNb2R1bGUuZXhwb3J0cztcblx0fVxuXHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuXHR2YXIgbW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXSA9IHtcblx0XHQvLyBubyBtb2R1bGUuaWQgbmVlZGVkXG5cdFx0Ly8gbm8gbW9kdWxlLmxvYWRlZCBuZWVkZWRcblx0XHRleHBvcnRzOiB7fVxuXHR9O1xuXG5cdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuXHRfX3dlYnBhY2tfbW9kdWxlc19fW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuXHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuXHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG59XG5cbiIsIi8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSBmdW5jdGlvbihtb2R1bGUpIHtcblx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG5cdFx0ZnVuY3Rpb24oKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6XG5cdFx0ZnVuY3Rpb24oKSB7IHJldHVybiBtb2R1bGU7IH07XG5cdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsIHsgYTogZ2V0dGVyIH0pO1xuXHRyZXR1cm4gZ2V0dGVyO1xufTsiLCIvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9ucyBmb3IgaGFybW9ueSBleHBvcnRzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSBmdW5jdGlvbihleHBvcnRzLCBkZWZpbml0aW9uKSB7XG5cdGZvcih2YXIga2V5IGluIGRlZmluaXRpb24pIHtcblx0XHRpZihfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZGVmaW5pdGlvbiwga2V5KSAmJiAhX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIGtleSkpIHtcblx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBrZXksIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBkZWZpbml0aW9uW2tleV0gfSk7XG5cdFx0fVxuXHR9XG59OyIsIl9fd2VicGFja19yZXF1aXJlX18ubyA9IGZ1bmN0aW9uKG9iaiwgcHJvcCkgeyByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwgcHJvcCk7IH0iLCIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAxOSBHb29nbGUgTExDXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlXG4gKi9cbmNvbnN0IHQ9Z2xvYmFsVGhpcyxlPXQuU2hhZG93Um9vdCYmKHZvaWQgMD09PXQuU2hhZHlDU1N8fHQuU2hhZHlDU1MubmF0aXZlU2hhZG93KSYmXCJhZG9wdGVkU3R5bGVTaGVldHNcImluIERvY3VtZW50LnByb3RvdHlwZSYmXCJyZXBsYWNlXCJpbiBDU1NTdHlsZVNoZWV0LnByb3RvdHlwZSxzPVN5bWJvbCgpLG89bmV3IFdlYWtNYXA7Y2xhc3Mgbntjb25zdHJ1Y3Rvcih0LGUsbyl7aWYodGhpcy5fJGNzc1Jlc3VsdCQ9ITAsbyE9PXMpdGhyb3cgRXJyb3IoXCJDU1NSZXN1bHQgaXMgbm90IGNvbnN0cnVjdGFibGUuIFVzZSBgdW5zYWZlQ1NTYCBvciBgY3NzYCBpbnN0ZWFkLlwiKTt0aGlzLmNzc1RleHQ9dCx0aGlzLnQ9ZX1nZXQgc3R5bGVTaGVldCgpe2xldCB0PXRoaXMubztjb25zdCBzPXRoaXMudDtpZihlJiZ2b2lkIDA9PT10KXtjb25zdCBlPXZvaWQgMCE9PXMmJjE9PT1zLmxlbmd0aDtlJiYodD1vLmdldChzKSksdm9pZCAwPT09dCYmKCh0aGlzLm89dD1uZXcgQ1NTU3R5bGVTaGVldCkucmVwbGFjZVN5bmModGhpcy5jc3NUZXh0KSxlJiZvLnNldChzLHQpKX1yZXR1cm4gdH10b1N0cmluZygpe3JldHVybiB0aGlzLmNzc1RleHR9fWNvbnN0IHI9dD0+bmV3IG4oXCJzdHJpbmdcIj09dHlwZW9mIHQ/dDp0K1wiXCIsdm9pZCAwLHMpLGk9KHQsLi4uZSk9Pntjb25zdCBvPTE9PT10Lmxlbmd0aD90WzBdOmUucmVkdWNlKCgoZSxzLG8pPT5lKyh0PT57aWYoITA9PT10Ll8kY3NzUmVzdWx0JClyZXR1cm4gdC5jc3NUZXh0O2lmKFwibnVtYmVyXCI9PXR5cGVvZiB0KXJldHVybiB0O3Rocm93IEVycm9yKFwiVmFsdWUgcGFzc2VkIHRvICdjc3MnIGZ1bmN0aW9uIG11c3QgYmUgYSAnY3NzJyBmdW5jdGlvbiByZXN1bHQ6IFwiK3QrXCIuIFVzZSAndW5zYWZlQ1NTJyB0byBwYXNzIG5vbi1saXRlcmFsIHZhbHVlcywgYnV0IHRha2UgY2FyZSB0byBlbnN1cmUgcGFnZSBzZWN1cml0eS5cIil9KShzKSt0W28rMV0pLHRbMF0pO3JldHVybiBuZXcgbihvLHQscyl9LFM9KHMsbyk9PntpZihlKXMuYWRvcHRlZFN0eWxlU2hlZXRzPW8ubWFwKCh0PT50IGluc3RhbmNlb2YgQ1NTU3R5bGVTaGVldD90OnQuc3R5bGVTaGVldCkpO2Vsc2UgZm9yKGNvbnN0IGUgb2Ygbyl7Y29uc3Qgbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIiksbj10LmxpdE5vbmNlO3ZvaWQgMCE9PW4mJm8uc2V0QXR0cmlidXRlKFwibm9uY2VcIixuKSxvLnRleHRDb250ZW50PWUuY3NzVGV4dCxzLmFwcGVuZENoaWxkKG8pfX0sYz1lP3Q9PnQ6dD0+dCBpbnN0YW5jZW9mIENTU1N0eWxlU2hlZXQ/KHQ9PntsZXQgZT1cIlwiO2Zvcihjb25zdCBzIG9mIHQuY3NzUnVsZXMpZSs9cy5jc3NUZXh0O3JldHVybiByKGUpfSkodCk6dDtleHBvcnR7biBhcyBDU1NSZXN1bHQsUyBhcyBhZG9wdFN0eWxlcyxpIGFzIGNzcyxjIGFzIGdldENvbXBhdGlibGVTdHlsZSxlIGFzIHN1cHBvcnRzQWRvcHRpbmdTdHlsZVNoZWV0cyxyIGFzIHVuc2FmZUNTU307XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jc3MtdGFnLmpzLm1hcFxuIiwiaW1wb3J0e2dldENvbXBhdGlibGVTdHlsZSBhcyB0LGFkb3B0U3R5bGVzIGFzIHN9ZnJvbVwiLi9jc3MtdGFnLmpzXCI7ZXhwb3J0e0NTU1Jlc3VsdCxhZG9wdFN0eWxlcyxjc3MsZ2V0Q29tcGF0aWJsZVN0eWxlLHN1cHBvcnRzQWRvcHRpbmdTdHlsZVNoZWV0cyx1bnNhZmVDU1N9ZnJvbVwiLi9jc3MtdGFnLmpzXCI7XG4vKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAxNyBHb29nbGUgTExDXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlXG4gKi9jb25zdHtpczppLGRlZmluZVByb3BlcnR5OmUsZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yOnIsZ2V0T3duUHJvcGVydHlOYW1lczpoLGdldE93blByb3BlcnR5U3ltYm9sczpvLGdldFByb3RvdHlwZU9mOm59PU9iamVjdCxhPWdsb2JhbFRoaXMsYz1hLnRydXN0ZWRUeXBlcyxsPWM/Yy5lbXB0eVNjcmlwdDpcIlwiLHA9YS5yZWFjdGl2ZUVsZW1lbnRQb2x5ZmlsbFN1cHBvcnQsZD0odCxzKT0+dCx1PXt0b0F0dHJpYnV0ZSh0LHMpe3N3aXRjaChzKXtjYXNlIEJvb2xlYW46dD10P2w6bnVsbDticmVhaztjYXNlIE9iamVjdDpjYXNlIEFycmF5OnQ9bnVsbD09dD90OkpTT04uc3RyaW5naWZ5KHQpfXJldHVybiB0fSxmcm9tQXR0cmlidXRlKHQscyl7bGV0IGk9dDtzd2l0Y2gocyl7Y2FzZSBCb29sZWFuOmk9bnVsbCE9PXQ7YnJlYWs7Y2FzZSBOdW1iZXI6aT1udWxsPT09dD9udWxsOk51bWJlcih0KTticmVhaztjYXNlIE9iamVjdDpjYXNlIEFycmF5OnRyeXtpPUpTT04ucGFyc2UodCl9Y2F0Y2godCl7aT1udWxsfX1yZXR1cm4gaX19LGY9KHQscyk9PiFpKHQscykseT17YXR0cmlidXRlOiEwLHR5cGU6U3RyaW5nLGNvbnZlcnRlcjp1LHJlZmxlY3Q6ITEsaGFzQ2hhbmdlZDpmfTtTeW1ib2wubWV0YWRhdGE/Pz1TeW1ib2woXCJtZXRhZGF0YVwiKSxhLmxpdFByb3BlcnR5TWV0YWRhdGE/Pz1uZXcgV2Vha01hcDtjbGFzcyBiIGV4dGVuZHMgSFRNTEVsZW1lbnR7c3RhdGljIGFkZEluaXRpYWxpemVyKHQpe3RoaXMuXyRFaSgpLCh0aGlzLmw/Pz1bXSkucHVzaCh0KX1zdGF0aWMgZ2V0IG9ic2VydmVkQXR0cmlidXRlcygpe3JldHVybiB0aGlzLmZpbmFsaXplKCksdGhpcy5fJEVoJiZbLi4udGhpcy5fJEVoLmtleXMoKV19c3RhdGljIGNyZWF0ZVByb3BlcnR5KHQscz15KXtpZihzLnN0YXRlJiYocy5hdHRyaWJ1dGU9ITEpLHRoaXMuXyRFaSgpLHRoaXMuZWxlbWVudFByb3BlcnRpZXMuc2V0KHQscyksIXMubm9BY2Nlc3Nvcil7Y29uc3QgaT1TeW1ib2woKSxyPXRoaXMuZ2V0UHJvcGVydHlEZXNjcmlwdG9yKHQsaSxzKTt2b2lkIDAhPT1yJiZlKHRoaXMucHJvdG90eXBlLHQscil9fXN0YXRpYyBnZXRQcm9wZXJ0eURlc2NyaXB0b3IodCxzLGkpe2NvbnN0e2dldDplLHNldDpofT1yKHRoaXMucHJvdG90eXBlLHQpPz97Z2V0KCl7cmV0dXJuIHRoaXNbc119LHNldCh0KXt0aGlzW3NdPXR9fTtyZXR1cm57Z2V0KCl7cmV0dXJuIGU/LmNhbGwodGhpcyl9LHNldChzKXtjb25zdCByPWU/LmNhbGwodGhpcyk7aC5jYWxsKHRoaXMscyksdGhpcy5yZXF1ZXN0VXBkYXRlKHQscixpKX0sY29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITB9fXN0YXRpYyBnZXRQcm9wZXJ0eU9wdGlvbnModCl7cmV0dXJuIHRoaXMuZWxlbWVudFByb3BlcnRpZXMuZ2V0KHQpPz95fXN0YXRpYyBfJEVpKCl7aWYodGhpcy5oYXNPd25Qcm9wZXJ0eShkKFwiZWxlbWVudFByb3BlcnRpZXNcIikpKXJldHVybjtjb25zdCB0PW4odGhpcyk7dC5maW5hbGl6ZSgpLHZvaWQgMCE9PXQubCYmKHRoaXMubD1bLi4udC5sXSksdGhpcy5lbGVtZW50UHJvcGVydGllcz1uZXcgTWFwKHQuZWxlbWVudFByb3BlcnRpZXMpfXN0YXRpYyBmaW5hbGl6ZSgpe2lmKHRoaXMuaGFzT3duUHJvcGVydHkoZChcImZpbmFsaXplZFwiKSkpcmV0dXJuO2lmKHRoaXMuZmluYWxpemVkPSEwLHRoaXMuXyRFaSgpLHRoaXMuaGFzT3duUHJvcGVydHkoZChcInByb3BlcnRpZXNcIikpKXtjb25zdCB0PXRoaXMucHJvcGVydGllcyxzPVsuLi5oKHQpLC4uLm8odCldO2Zvcihjb25zdCBpIG9mIHMpdGhpcy5jcmVhdGVQcm9wZXJ0eShpLHRbaV0pfWNvbnN0IHQ9dGhpc1tTeW1ib2wubWV0YWRhdGFdO2lmKG51bGwhPT10KXtjb25zdCBzPWxpdFByb3BlcnR5TWV0YWRhdGEuZ2V0KHQpO2lmKHZvaWQgMCE9PXMpZm9yKGNvbnN0W3QsaV1vZiBzKXRoaXMuZWxlbWVudFByb3BlcnRpZXMuc2V0KHQsaSl9dGhpcy5fJEVoPW5ldyBNYXA7Zm9yKGNvbnN0W3Qsc11vZiB0aGlzLmVsZW1lbnRQcm9wZXJ0aWVzKXtjb25zdCBpPXRoaXMuXyRFdSh0LHMpO3ZvaWQgMCE9PWkmJnRoaXMuXyRFaC5zZXQoaSx0KX10aGlzLmVsZW1lbnRTdHlsZXM9dGhpcy5maW5hbGl6ZVN0eWxlcyh0aGlzLnN0eWxlcyl9c3RhdGljIGZpbmFsaXplU3R5bGVzKHMpe2NvbnN0IGk9W107aWYoQXJyYXkuaXNBcnJheShzKSl7Y29uc3QgZT1uZXcgU2V0KHMuZmxhdCgxLzApLnJldmVyc2UoKSk7Zm9yKGNvbnN0IHMgb2YgZSlpLnVuc2hpZnQodChzKSl9ZWxzZSB2b2lkIDAhPT1zJiZpLnB1c2godChzKSk7cmV0dXJuIGl9c3RhdGljIF8kRXUodCxzKXtjb25zdCBpPXMuYXR0cmlidXRlO3JldHVybiExPT09aT92b2lkIDA6XCJzdHJpbmdcIj09dHlwZW9mIGk/aTpcInN0cmluZ1wiPT10eXBlb2YgdD90LnRvTG93ZXJDYXNlKCk6dm9pZCAwfWNvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLl8kRXA9dm9pZCAwLHRoaXMuaXNVcGRhdGVQZW5kaW5nPSExLHRoaXMuaGFzVXBkYXRlZD0hMSx0aGlzLl8kRW09bnVsbCx0aGlzLl8kRXYoKX1fJEV2KCl7dGhpcy5fJEVTPW5ldyBQcm9taXNlKCh0PT50aGlzLmVuYWJsZVVwZGF0aW5nPXQpKSx0aGlzLl8kQUw9bmV3IE1hcCx0aGlzLl8kRV8oKSx0aGlzLnJlcXVlc3RVcGRhdGUoKSx0aGlzLmNvbnN0cnVjdG9yLmw/LmZvckVhY2goKHQ9PnQodGhpcykpKX1hZGRDb250cm9sbGVyKHQpeyh0aGlzLl8kRU8/Pz1uZXcgU2V0KS5hZGQodCksdm9pZCAwIT09dGhpcy5yZW5kZXJSb290JiZ0aGlzLmlzQ29ubmVjdGVkJiZ0Lmhvc3RDb25uZWN0ZWQ/LigpfXJlbW92ZUNvbnRyb2xsZXIodCl7dGhpcy5fJEVPPy5kZWxldGUodCl9XyRFXygpe2NvbnN0IHQ9bmV3IE1hcCxzPXRoaXMuY29uc3RydWN0b3IuZWxlbWVudFByb3BlcnRpZXM7Zm9yKGNvbnN0IGkgb2Ygcy5rZXlzKCkpdGhpcy5oYXNPd25Qcm9wZXJ0eShpKSYmKHQuc2V0KGksdGhpc1tpXSksZGVsZXRlIHRoaXNbaV0pO3Quc2l6ZT4wJiYodGhpcy5fJEVwPXQpfWNyZWF0ZVJlbmRlclJvb3QoKXtjb25zdCB0PXRoaXMuc2hhZG93Um9vdD8/dGhpcy5hdHRhY2hTaGFkb3codGhpcy5jb25zdHJ1Y3Rvci5zaGFkb3dSb290T3B0aW9ucyk7cmV0dXJuIHModCx0aGlzLmNvbnN0cnVjdG9yLmVsZW1lbnRTdHlsZXMpLHR9Y29ubmVjdGVkQ2FsbGJhY2soKXt0aGlzLnJlbmRlclJvb3Q/Pz10aGlzLmNyZWF0ZVJlbmRlclJvb3QoKSx0aGlzLmVuYWJsZVVwZGF0aW5nKCEwKSx0aGlzLl8kRU8/LmZvckVhY2goKHQ9PnQuaG9zdENvbm5lY3RlZD8uKCkpKX1lbmFibGVVcGRhdGluZyh0KXt9ZGlzY29ubmVjdGVkQ2FsbGJhY2soKXt0aGlzLl8kRU8/LmZvckVhY2goKHQ9PnQuaG9zdERpc2Nvbm5lY3RlZD8uKCkpKX1hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sodCxzLGkpe3RoaXMuXyRBSyh0LGkpfV8kRUModCxzKXtjb25zdCBpPXRoaXMuY29uc3RydWN0b3IuZWxlbWVudFByb3BlcnRpZXMuZ2V0KHQpLGU9dGhpcy5jb25zdHJ1Y3Rvci5fJEV1KHQsaSk7aWYodm9pZCAwIT09ZSYmITA9PT1pLnJlZmxlY3Qpe2NvbnN0IHI9KHZvaWQgMCE9PWkuY29udmVydGVyPy50b0F0dHJpYnV0ZT9pLmNvbnZlcnRlcjp1KS50b0F0dHJpYnV0ZShzLGkudHlwZSk7dGhpcy5fJEVtPXQsbnVsbD09cj90aGlzLnJlbW92ZUF0dHJpYnV0ZShlKTp0aGlzLnNldEF0dHJpYnV0ZShlLHIpLHRoaXMuXyRFbT1udWxsfX1fJEFLKHQscyl7Y29uc3QgaT10aGlzLmNvbnN0cnVjdG9yLGU9aS5fJEVoLmdldCh0KTtpZih2b2lkIDAhPT1lJiZ0aGlzLl8kRW0hPT1lKXtjb25zdCB0PWkuZ2V0UHJvcGVydHlPcHRpb25zKGUpLHI9XCJmdW5jdGlvblwiPT10eXBlb2YgdC5jb252ZXJ0ZXI/e2Zyb21BdHRyaWJ1dGU6dC5jb252ZXJ0ZXJ9OnZvaWQgMCE9PXQuY29udmVydGVyPy5mcm9tQXR0cmlidXRlP3QuY29udmVydGVyOnU7dGhpcy5fJEVtPWUsdGhpc1tlXT1yLmZyb21BdHRyaWJ1dGUocyx0LnR5cGUpLHRoaXMuXyRFbT1udWxsfX1yZXF1ZXN0VXBkYXRlKHQscyxpKXtpZih2b2lkIDAhPT10KXtpZihpPz89dGhpcy5jb25zdHJ1Y3Rvci5nZXRQcm9wZXJ0eU9wdGlvbnModCksIShpLmhhc0NoYW5nZWQ/P2YpKHRoaXNbdF0scykpcmV0dXJuO3RoaXMuUCh0LHMsaSl9ITE9PT10aGlzLmlzVXBkYXRlUGVuZGluZyYmKHRoaXMuXyRFUz10aGlzLl8kRVQoKSl9UCh0LHMsaSl7dGhpcy5fJEFMLmhhcyh0KXx8dGhpcy5fJEFMLnNldCh0LHMpLCEwPT09aS5yZWZsZWN0JiZ0aGlzLl8kRW0hPT10JiYodGhpcy5fJEVqPz89bmV3IFNldCkuYWRkKHQpfWFzeW5jIF8kRVQoKXt0aGlzLmlzVXBkYXRlUGVuZGluZz0hMDt0cnl7YXdhaXQgdGhpcy5fJEVTfWNhdGNoKHQpe1Byb21pc2UucmVqZWN0KHQpfWNvbnN0IHQ9dGhpcy5zY2hlZHVsZVVwZGF0ZSgpO3JldHVybiBudWxsIT10JiZhd2FpdCB0LCF0aGlzLmlzVXBkYXRlUGVuZGluZ31zY2hlZHVsZVVwZGF0ZSgpe3JldHVybiB0aGlzLnBlcmZvcm1VcGRhdGUoKX1wZXJmb3JtVXBkYXRlKCl7aWYoIXRoaXMuaXNVcGRhdGVQZW5kaW5nKXJldHVybjtpZighdGhpcy5oYXNVcGRhdGVkKXtpZih0aGlzLnJlbmRlclJvb3Q/Pz10aGlzLmNyZWF0ZVJlbmRlclJvb3QoKSx0aGlzLl8kRXApe2Zvcihjb25zdFt0LHNdb2YgdGhpcy5fJEVwKXRoaXNbdF09czt0aGlzLl8kRXA9dm9pZCAwfWNvbnN0IHQ9dGhpcy5jb25zdHJ1Y3Rvci5lbGVtZW50UHJvcGVydGllcztpZih0LnNpemU+MClmb3IoY29uc3RbcyxpXW9mIHQpITAhPT1pLndyYXBwZWR8fHRoaXMuXyRBTC5oYXMocyl8fHZvaWQgMD09PXRoaXNbc118fHRoaXMuUChzLHRoaXNbc10saSl9bGV0IHQ9ITE7Y29uc3Qgcz10aGlzLl8kQUw7dHJ5e3Q9dGhpcy5zaG91bGRVcGRhdGUocyksdD8odGhpcy53aWxsVXBkYXRlKHMpLHRoaXMuXyRFTz8uZm9yRWFjaCgodD0+dC5ob3N0VXBkYXRlPy4oKSkpLHRoaXMudXBkYXRlKHMpKTp0aGlzLl8kRVUoKX1jYXRjaChzKXt0aHJvdyB0PSExLHRoaXMuXyRFVSgpLHN9dCYmdGhpcy5fJEFFKHMpfXdpbGxVcGRhdGUodCl7fV8kQUUodCl7dGhpcy5fJEVPPy5mb3JFYWNoKCh0PT50Lmhvc3RVcGRhdGVkPy4oKSkpLHRoaXMuaGFzVXBkYXRlZHx8KHRoaXMuaGFzVXBkYXRlZD0hMCx0aGlzLmZpcnN0VXBkYXRlZCh0KSksdGhpcy51cGRhdGVkKHQpfV8kRVUoKXt0aGlzLl8kQUw9bmV3IE1hcCx0aGlzLmlzVXBkYXRlUGVuZGluZz0hMX1nZXQgdXBkYXRlQ29tcGxldGUoKXtyZXR1cm4gdGhpcy5nZXRVcGRhdGVDb21wbGV0ZSgpfWdldFVwZGF0ZUNvbXBsZXRlKCl7cmV0dXJuIHRoaXMuXyRFU31zaG91bGRVcGRhdGUodCl7cmV0dXJuITB9dXBkYXRlKHQpe3RoaXMuXyRFaiYmPXRoaXMuXyRFai5mb3JFYWNoKCh0PT50aGlzLl8kRUModCx0aGlzW3RdKSkpLHRoaXMuXyRFVSgpfXVwZGF0ZWQodCl7fWZpcnN0VXBkYXRlZCh0KXt9fWIuZWxlbWVudFN0eWxlcz1bXSxiLnNoYWRvd1Jvb3RPcHRpb25zPXttb2RlOlwib3BlblwifSxiW2QoXCJlbGVtZW50UHJvcGVydGllc1wiKV09bmV3IE1hcCxiW2QoXCJmaW5hbGl6ZWRcIildPW5ldyBNYXAscD8uKHtSZWFjdGl2ZUVsZW1lbnQ6Yn0pLChhLnJlYWN0aXZlRWxlbWVudFZlcnNpb25zPz89W10pLnB1c2goXCIyLjAuNFwiKTtleHBvcnR7YiBhcyBSZWFjdGl2ZUVsZW1lbnQsdSBhcyBkZWZhdWx0Q29udmVydGVyLGYgYXMgbm90RXF1YWx9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVhY3RpdmUtZWxlbWVudC5qcy5tYXBcbiIsIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDE3IEdvb2dsZSBMTENcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2VcbiAqL1xuY29uc3QgdD1nbG9iYWxUaGlzLGk9dC50cnVzdGVkVHlwZXMscz1pP2kuY3JlYXRlUG9saWN5KFwibGl0LWh0bWxcIix7Y3JlYXRlSFRNTDp0PT50fSk6dm9pZCAwLGU9XCIkbGl0JFwiLGg9YGxpdCQke01hdGgucmFuZG9tKCkudG9GaXhlZCg5KS5zbGljZSgyKX0kYCxvPVwiP1wiK2gsbj1gPCR7b30+YCxyPWRvY3VtZW50LGw9KCk9PnIuY3JlYXRlQ29tbWVudChcIlwiKSxjPXQ9Pm51bGw9PT10fHxcIm9iamVjdFwiIT10eXBlb2YgdCYmXCJmdW5jdGlvblwiIT10eXBlb2YgdCxhPUFycmF5LmlzQXJyYXksdT10PT5hKHQpfHxcImZ1bmN0aW9uXCI9PXR5cGVvZiB0Py5bU3ltYm9sLml0ZXJhdG9yXSxkPVwiWyBcXHRcXG5cXGZcXHJdXCIsZj0vPCg/OighLS18XFwvW15hLXpBLVpdKXwoXFwvP1thLXpBLVpdW14+XFxzXSopfChcXC8/JCkpL2csdj0vLS0+L2csXz0vPi9nLG09UmVnRXhwKGA+fCR7ZH0oPzooW15cXFxcc1wiJz49L10rKSgke2R9Kj0ke2R9Kig/OlteIFxcdFxcblxcZlxcclwiJ1xcYDw+PV18KFwifCcpfCkpfCQpYCxcImdcIikscD0vJy9nLGc9L1wiL2csJD0vXig/OnNjcmlwdHxzdHlsZXx0ZXh0YXJlYXx0aXRsZSkkL2kseT10PT4oaSwuLi5zKT0+KHtfJGxpdFR5cGUkOnQsc3RyaW5nczppLHZhbHVlczpzfSkseD15KDEpLGI9eSgyKSx3PXkoMyksVD1TeW1ib2wuZm9yKFwibGl0LW5vQ2hhbmdlXCIpLEU9U3ltYm9sLmZvcihcImxpdC1ub3RoaW5nXCIpLEE9bmV3IFdlYWtNYXAsQz1yLmNyZWF0ZVRyZWVXYWxrZXIociwxMjkpO2Z1bmN0aW9uIFAodCxpKXtpZighYSh0KXx8IXQuaGFzT3duUHJvcGVydHkoXCJyYXdcIikpdGhyb3cgRXJyb3IoXCJpbnZhbGlkIHRlbXBsYXRlIHN0cmluZ3MgYXJyYXlcIik7cmV0dXJuIHZvaWQgMCE9PXM/cy5jcmVhdGVIVE1MKGkpOml9Y29uc3QgVj0odCxpKT0+e2NvbnN0IHM9dC5sZW5ndGgtMSxvPVtdO2xldCByLGw9Mj09PWk/XCI8c3ZnPlwiOjM9PT1pP1wiPG1hdGg+XCI6XCJcIixjPWY7Zm9yKGxldCBpPTA7aTxzO2krKyl7Y29uc3Qgcz10W2ldO2xldCBhLHUsZD0tMSx5PTA7Zm9yKDt5PHMubGVuZ3RoJiYoYy5sYXN0SW5kZXg9eSx1PWMuZXhlYyhzKSxudWxsIT09dSk7KXk9Yy5sYXN0SW5kZXgsYz09PWY/XCIhLS1cIj09PXVbMV0/Yz12OnZvaWQgMCE9PXVbMV0/Yz1fOnZvaWQgMCE9PXVbMl0/KCQudGVzdCh1WzJdKSYmKHI9UmVnRXhwKFwiPC9cIit1WzJdLFwiZ1wiKSksYz1tKTp2b2lkIDAhPT11WzNdJiYoYz1tKTpjPT09bT9cIj5cIj09PXVbMF0/KGM9cj8/ZixkPS0xKTp2b2lkIDA9PT11WzFdP2Q9LTI6KGQ9Yy5sYXN0SW5kZXgtdVsyXS5sZW5ndGgsYT11WzFdLGM9dm9pZCAwPT09dVszXT9tOidcIic9PT11WzNdP2c6cCk6Yz09PWd8fGM9PT1wP2M9bTpjPT09dnx8Yz09PV8/Yz1mOihjPW0scj12b2lkIDApO2NvbnN0IHg9Yz09PW0mJnRbaSsxXS5zdGFydHNXaXRoKFwiLz5cIik/XCIgXCI6XCJcIjtsKz1jPT09Zj9zK246ZD49MD8oby5wdXNoKGEpLHMuc2xpY2UoMCxkKStlK3Muc2xpY2UoZCkraCt4KTpzK2grKC0yPT09ZD9pOngpfXJldHVybltQKHQsbCsodFtzXXx8XCI8Pz5cIikrKDI9PT1pP1wiPC9zdmc+XCI6Mz09PWk/XCI8L21hdGg+XCI6XCJcIikpLG9dfTtjbGFzcyBOe2NvbnN0cnVjdG9yKHtzdHJpbmdzOnQsXyRsaXRUeXBlJDpzfSxuKXtsZXQgcjt0aGlzLnBhcnRzPVtdO2xldCBjPTAsYT0wO2NvbnN0IHU9dC5sZW5ndGgtMSxkPXRoaXMucGFydHMsW2Ysdl09Vih0LHMpO2lmKHRoaXMuZWw9Ti5jcmVhdGVFbGVtZW50KGYsbiksQy5jdXJyZW50Tm9kZT10aGlzLmVsLmNvbnRlbnQsMj09PXN8fDM9PT1zKXtjb25zdCB0PXRoaXMuZWwuY29udGVudC5maXJzdENoaWxkO3QucmVwbGFjZVdpdGgoLi4udC5jaGlsZE5vZGVzKX1mb3IoO251bGwhPT0ocj1DLm5leHROb2RlKCkpJiZkLmxlbmd0aDx1Oyl7aWYoMT09PXIubm9kZVR5cGUpe2lmKHIuaGFzQXR0cmlidXRlcygpKWZvcihjb25zdCB0IG9mIHIuZ2V0QXR0cmlidXRlTmFtZXMoKSlpZih0LmVuZHNXaXRoKGUpKXtjb25zdCBpPXZbYSsrXSxzPXIuZ2V0QXR0cmlidXRlKHQpLnNwbGl0KGgpLGU9LyhbLj9AXSk/KC4qKS8uZXhlYyhpKTtkLnB1c2goe3R5cGU6MSxpbmRleDpjLG5hbWU6ZVsyXSxzdHJpbmdzOnMsY3RvcjpcIi5cIj09PWVbMV0/SDpcIj9cIj09PWVbMV0/STpcIkBcIj09PWVbMV0/TDprfSksci5yZW1vdmVBdHRyaWJ1dGUodCl9ZWxzZSB0LnN0YXJ0c1dpdGgoaCkmJihkLnB1c2goe3R5cGU6NixpbmRleDpjfSksci5yZW1vdmVBdHRyaWJ1dGUodCkpO2lmKCQudGVzdChyLnRhZ05hbWUpKXtjb25zdCB0PXIudGV4dENvbnRlbnQuc3BsaXQoaCkscz10Lmxlbmd0aC0xO2lmKHM+MCl7ci50ZXh0Q29udGVudD1pP2kuZW1wdHlTY3JpcHQ6XCJcIjtmb3IobGV0IGk9MDtpPHM7aSsrKXIuYXBwZW5kKHRbaV0sbCgpKSxDLm5leHROb2RlKCksZC5wdXNoKHt0eXBlOjIsaW5kZXg6KytjfSk7ci5hcHBlbmQodFtzXSxsKCkpfX19ZWxzZSBpZig4PT09ci5ub2RlVHlwZSlpZihyLmRhdGE9PT1vKWQucHVzaCh7dHlwZToyLGluZGV4OmN9KTtlbHNle2xldCB0PS0xO2Zvcig7LTEhPT0odD1yLmRhdGEuaW5kZXhPZihoLHQrMSkpOylkLnB1c2goe3R5cGU6NyxpbmRleDpjfSksdCs9aC5sZW5ndGgtMX1jKyt9fXN0YXRpYyBjcmVhdGVFbGVtZW50KHQsaSl7Y29uc3Qgcz1yLmNyZWF0ZUVsZW1lbnQoXCJ0ZW1wbGF0ZVwiKTtyZXR1cm4gcy5pbm5lckhUTUw9dCxzfX1mdW5jdGlvbiBTKHQsaSxzPXQsZSl7aWYoaT09PVQpcmV0dXJuIGk7bGV0IGg9dm9pZCAwIT09ZT9zLl8kQ28/LltlXTpzLl8kQ2w7Y29uc3Qgbz1jKGkpP3ZvaWQgMDppLl8kbGl0RGlyZWN0aXZlJDtyZXR1cm4gaD8uY29uc3RydWN0b3IhPT1vJiYoaD8uXyRBTz8uKCExKSx2b2lkIDA9PT1vP2g9dm9pZCAwOihoPW5ldyBvKHQpLGguXyRBVCh0LHMsZSkpLHZvaWQgMCE9PWU/KHMuXyRDbz8/PVtdKVtlXT1oOnMuXyRDbD1oKSx2b2lkIDAhPT1oJiYoaT1TKHQsaC5fJEFTKHQsaS52YWx1ZXMpLGgsZSkpLGl9Y2xhc3MgTXtjb25zdHJ1Y3Rvcih0LGkpe3RoaXMuXyRBVj1bXSx0aGlzLl8kQU49dm9pZCAwLHRoaXMuXyRBRD10LHRoaXMuXyRBTT1pfWdldCBwYXJlbnROb2RlKCl7cmV0dXJuIHRoaXMuXyRBTS5wYXJlbnROb2RlfWdldCBfJEFVKCl7cmV0dXJuIHRoaXMuXyRBTS5fJEFVfXUodCl7Y29uc3R7ZWw6e2NvbnRlbnQ6aX0scGFydHM6c309dGhpcy5fJEFELGU9KHQ/LmNyZWF0aW9uU2NvcGU/P3IpLmltcG9ydE5vZGUoaSwhMCk7Qy5jdXJyZW50Tm9kZT1lO2xldCBoPUMubmV4dE5vZGUoKSxvPTAsbj0wLGw9c1swXTtmb3IoO3ZvaWQgMCE9PWw7KXtpZihvPT09bC5pbmRleCl7bGV0IGk7Mj09PWwudHlwZT9pPW5ldyBSKGgsaC5uZXh0U2libGluZyx0aGlzLHQpOjE9PT1sLnR5cGU/aT1uZXcgbC5jdG9yKGgsbC5uYW1lLGwuc3RyaW5ncyx0aGlzLHQpOjY9PT1sLnR5cGUmJihpPW5ldyB6KGgsdGhpcyx0KSksdGhpcy5fJEFWLnB1c2goaSksbD1zWysrbl19byE9PWw/LmluZGV4JiYoaD1DLm5leHROb2RlKCksbysrKX1yZXR1cm4gQy5jdXJyZW50Tm9kZT1yLGV9cCh0KXtsZXQgaT0wO2Zvcihjb25zdCBzIG9mIHRoaXMuXyRBVil2b2lkIDAhPT1zJiYodm9pZCAwIT09cy5zdHJpbmdzPyhzLl8kQUkodCxzLGkpLGkrPXMuc3RyaW5ncy5sZW5ndGgtMik6cy5fJEFJKHRbaV0pKSxpKyt9fWNsYXNzIFJ7Z2V0IF8kQVUoKXtyZXR1cm4gdGhpcy5fJEFNPy5fJEFVPz90aGlzLl8kQ3Z9Y29uc3RydWN0b3IodCxpLHMsZSl7dGhpcy50eXBlPTIsdGhpcy5fJEFIPUUsdGhpcy5fJEFOPXZvaWQgMCx0aGlzLl8kQUE9dCx0aGlzLl8kQUI9aSx0aGlzLl8kQU09cyx0aGlzLm9wdGlvbnM9ZSx0aGlzLl8kQ3Y9ZT8uaXNDb25uZWN0ZWQ/PyEwfWdldCBwYXJlbnROb2RlKCl7bGV0IHQ9dGhpcy5fJEFBLnBhcmVudE5vZGU7Y29uc3QgaT10aGlzLl8kQU07cmV0dXJuIHZvaWQgMCE9PWkmJjExPT09dD8ubm9kZVR5cGUmJih0PWkucGFyZW50Tm9kZSksdH1nZXQgc3RhcnROb2RlKCl7cmV0dXJuIHRoaXMuXyRBQX1nZXQgZW5kTm9kZSgpe3JldHVybiB0aGlzLl8kQUJ9XyRBSSh0LGk9dGhpcyl7dD1TKHRoaXMsdCxpKSxjKHQpP3Q9PT1FfHxudWxsPT10fHxcIlwiPT09dD8odGhpcy5fJEFIIT09RSYmdGhpcy5fJEFSKCksdGhpcy5fJEFIPUUpOnQhPT10aGlzLl8kQUgmJnQhPT1UJiZ0aGlzLl8odCk6dm9pZCAwIT09dC5fJGxpdFR5cGUkP3RoaXMuJCh0KTp2b2lkIDAhPT10Lm5vZGVUeXBlP3RoaXMuVCh0KTp1KHQpP3RoaXMuayh0KTp0aGlzLl8odCl9Tyh0KXtyZXR1cm4gdGhpcy5fJEFBLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHQsdGhpcy5fJEFCKX1UKHQpe3RoaXMuXyRBSCE9PXQmJih0aGlzLl8kQVIoKSx0aGlzLl8kQUg9dGhpcy5PKHQpKX1fKHQpe3RoaXMuXyRBSCE9PUUmJmModGhpcy5fJEFIKT90aGlzLl8kQUEubmV4dFNpYmxpbmcuZGF0YT10OnRoaXMuVChyLmNyZWF0ZVRleHROb2RlKHQpKSx0aGlzLl8kQUg9dH0kKHQpe2NvbnN0e3ZhbHVlczppLF8kbGl0VHlwZSQ6c309dCxlPVwibnVtYmVyXCI9PXR5cGVvZiBzP3RoaXMuXyRBQyh0KToodm9pZCAwPT09cy5lbCYmKHMuZWw9Ti5jcmVhdGVFbGVtZW50KFAocy5oLHMuaFswXSksdGhpcy5vcHRpb25zKSkscyk7aWYodGhpcy5fJEFIPy5fJEFEPT09ZSl0aGlzLl8kQUgucChpKTtlbHNle2NvbnN0IHQ9bmV3IE0oZSx0aGlzKSxzPXQudSh0aGlzLm9wdGlvbnMpO3QucChpKSx0aGlzLlQocyksdGhpcy5fJEFIPXR9fV8kQUModCl7bGV0IGk9QS5nZXQodC5zdHJpbmdzKTtyZXR1cm4gdm9pZCAwPT09aSYmQS5zZXQodC5zdHJpbmdzLGk9bmV3IE4odCkpLGl9ayh0KXthKHRoaXMuXyRBSCl8fCh0aGlzLl8kQUg9W10sdGhpcy5fJEFSKCkpO2NvbnN0IGk9dGhpcy5fJEFIO2xldCBzLGU9MDtmb3IoY29uc3QgaCBvZiB0KWU9PT1pLmxlbmd0aD9pLnB1c2gocz1uZXcgUih0aGlzLk8obCgpKSx0aGlzLk8obCgpKSx0aGlzLHRoaXMub3B0aW9ucykpOnM9aVtlXSxzLl8kQUkoaCksZSsrO2U8aS5sZW5ndGgmJih0aGlzLl8kQVIocyYmcy5fJEFCLm5leHRTaWJsaW5nLGUpLGkubGVuZ3RoPWUpfV8kQVIodD10aGlzLl8kQUEubmV4dFNpYmxpbmcsaSl7Zm9yKHRoaXMuXyRBUD8uKCExLCEwLGkpO3QmJnQhPT10aGlzLl8kQUI7KXtjb25zdCBpPXQubmV4dFNpYmxpbmc7dC5yZW1vdmUoKSx0PWl9fXNldENvbm5lY3RlZCh0KXt2b2lkIDA9PT10aGlzLl8kQU0mJih0aGlzLl8kQ3Y9dCx0aGlzLl8kQVA/Lih0KSl9fWNsYXNzIGt7Z2V0IHRhZ05hbWUoKXtyZXR1cm4gdGhpcy5lbGVtZW50LnRhZ05hbWV9Z2V0IF8kQVUoKXtyZXR1cm4gdGhpcy5fJEFNLl8kQVV9Y29uc3RydWN0b3IodCxpLHMsZSxoKXt0aGlzLnR5cGU9MSx0aGlzLl8kQUg9RSx0aGlzLl8kQU49dm9pZCAwLHRoaXMuZWxlbWVudD10LHRoaXMubmFtZT1pLHRoaXMuXyRBTT1lLHRoaXMub3B0aW9ucz1oLHMubGVuZ3RoPjJ8fFwiXCIhPT1zWzBdfHxcIlwiIT09c1sxXT8odGhpcy5fJEFIPUFycmF5KHMubGVuZ3RoLTEpLmZpbGwobmV3IFN0cmluZyksdGhpcy5zdHJpbmdzPXMpOnRoaXMuXyRBSD1FfV8kQUkodCxpPXRoaXMscyxlKXtjb25zdCBoPXRoaXMuc3RyaW5ncztsZXQgbz0hMTtpZih2b2lkIDA9PT1oKXQ9Uyh0aGlzLHQsaSwwKSxvPSFjKHQpfHx0IT09dGhpcy5fJEFIJiZ0IT09VCxvJiYodGhpcy5fJEFIPXQpO2Vsc2V7Y29uc3QgZT10O2xldCBuLHI7Zm9yKHQ9aFswXSxuPTA7bjxoLmxlbmd0aC0xO24rKylyPVModGhpcyxlW3Mrbl0saSxuKSxyPT09VCYmKHI9dGhpcy5fJEFIW25dKSxvfHw9IWMocil8fHIhPT10aGlzLl8kQUhbbl0scj09PUU/dD1FOnQhPT1FJiYodCs9KHI/P1wiXCIpK2hbbisxXSksdGhpcy5fJEFIW25dPXJ9byYmIWUmJnRoaXMuaih0KX1qKHQpe3Q9PT1FP3RoaXMuZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUodGhpcy5uYW1lKTp0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKHRoaXMubmFtZSx0Pz9cIlwiKX19Y2xhc3MgSCBleHRlbmRzIGt7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMudHlwZT0zfWoodCl7dGhpcy5lbGVtZW50W3RoaXMubmFtZV09dD09PUU/dm9pZCAwOnR9fWNsYXNzIEkgZXh0ZW5kcyBre2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnR5cGU9NH1qKHQpe3RoaXMuZWxlbWVudC50b2dnbGVBdHRyaWJ1dGUodGhpcy5uYW1lLCEhdCYmdCE9PUUpfX1jbGFzcyBMIGV4dGVuZHMga3tjb25zdHJ1Y3Rvcih0LGkscyxlLGgpe3N1cGVyKHQsaSxzLGUsaCksdGhpcy50eXBlPTV9XyRBSSh0LGk9dGhpcyl7aWYoKHQ9Uyh0aGlzLHQsaSwwKT8/RSk9PT1UKXJldHVybjtjb25zdCBzPXRoaXMuXyRBSCxlPXQ9PT1FJiZzIT09RXx8dC5jYXB0dXJlIT09cy5jYXB0dXJlfHx0Lm9uY2UhPT1zLm9uY2V8fHQucGFzc2l2ZSE9PXMucGFzc2l2ZSxoPXQhPT1FJiYocz09PUV8fGUpO2UmJnRoaXMuZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKHRoaXMubmFtZSx0aGlzLHMpLGgmJnRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKHRoaXMubmFtZSx0aGlzLHQpLHRoaXMuXyRBSD10fWhhbmRsZUV2ZW50KHQpe1wiZnVuY3Rpb25cIj09dHlwZW9mIHRoaXMuXyRBSD90aGlzLl8kQUguY2FsbCh0aGlzLm9wdGlvbnM/Lmhvc3Q/P3RoaXMuZWxlbWVudCx0KTp0aGlzLl8kQUguaGFuZGxlRXZlbnQodCl9fWNsYXNzIHp7Y29uc3RydWN0b3IodCxpLHMpe3RoaXMuZWxlbWVudD10LHRoaXMudHlwZT02LHRoaXMuXyRBTj12b2lkIDAsdGhpcy5fJEFNPWksdGhpcy5vcHRpb25zPXN9Z2V0IF8kQVUoKXtyZXR1cm4gdGhpcy5fJEFNLl8kQVV9XyRBSSh0KXtTKHRoaXMsdCl9fWNvbnN0IFo9e006ZSxQOmgsQTpvLEM6MSxMOlYsUjpNLEQ6dSxWOlMsSTpSLEg6ayxOOkksVTpMLEI6SCxGOnp9LGo9dC5saXRIdG1sUG9seWZpbGxTdXBwb3J0O2o/LihOLFIpLCh0LmxpdEh0bWxWZXJzaW9ucz8/PVtdKS5wdXNoKFwiMy4yLjFcIik7Y29uc3QgQj0odCxpLHMpPT57Y29uc3QgZT1zPy5yZW5kZXJCZWZvcmU/P2k7bGV0IGg9ZS5fJGxpdFBhcnQkO2lmKHZvaWQgMD09PWgpe2NvbnN0IHQ9cz8ucmVuZGVyQmVmb3JlPz9udWxsO2UuXyRsaXRQYXJ0JD1oPW5ldyBSKGkuaW5zZXJ0QmVmb3JlKGwoKSx0KSx0LHZvaWQgMCxzPz97fSl9cmV0dXJuIGguXyRBSSh0KSxofTtleHBvcnR7WiBhcyBfJExILHggYXMgaHRtbCx3IGFzIG1hdGhtbCxUIGFzIG5vQ2hhbmdlLEUgYXMgbm90aGluZyxCIGFzIHJlbmRlcixiIGFzIHN2Z307XG4vLyMgc291cmNlTWFwcGluZ1VSTD1saXQtaHRtbC5qcy5tYXBcbiIsImltcG9ydHtSZWFjdGl2ZUVsZW1lbnQgYXMgdH1mcm9tXCJAbGl0L3JlYWN0aXZlLWVsZW1lbnRcIjtleHBvcnQqZnJvbVwiQGxpdC9yZWFjdGl2ZS1lbGVtZW50XCI7aW1wb3J0e3JlbmRlciBhcyBlLG5vQ2hhbmdlIGFzIHN9ZnJvbVwibGl0LWh0bWxcIjtleHBvcnQqZnJvbVwibGl0LWh0bWxcIjtcbi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDE3IEdvb2dsZSBMTENcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2VcbiAqL2NsYXNzIHIgZXh0ZW5kcyB0e2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnJlbmRlck9wdGlvbnM9e2hvc3Q6dGhpc30sdGhpcy5fJERvPXZvaWQgMH1jcmVhdGVSZW5kZXJSb290KCl7Y29uc3QgdD1zdXBlci5jcmVhdGVSZW5kZXJSb290KCk7cmV0dXJuIHRoaXMucmVuZGVyT3B0aW9ucy5yZW5kZXJCZWZvcmU/Pz10LmZpcnN0Q2hpbGQsdH11cGRhdGUodCl7Y29uc3Qgcz10aGlzLnJlbmRlcigpO3RoaXMuaGFzVXBkYXRlZHx8KHRoaXMucmVuZGVyT3B0aW9ucy5pc0Nvbm5lY3RlZD10aGlzLmlzQ29ubmVjdGVkKSxzdXBlci51cGRhdGUodCksdGhpcy5fJERvPWUocyx0aGlzLnJlbmRlclJvb3QsdGhpcy5yZW5kZXJPcHRpb25zKX1jb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5fJERvPy5zZXRDb25uZWN0ZWQoITApfWRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLl8kRG8/LnNldENvbm5lY3RlZCghMSl9cmVuZGVyKCl7cmV0dXJuIHN9fXIuXyRsaXRFbGVtZW50JD0hMCxyW1wiZmluYWxpemVkXCJdPSEwLGdsb2JhbFRoaXMubGl0RWxlbWVudEh5ZHJhdGVTdXBwb3J0Py4oe0xpdEVsZW1lbnQ6cn0pO2NvbnN0IGk9Z2xvYmFsVGhpcy5saXRFbGVtZW50UG9seWZpbGxTdXBwb3J0O2k/Lih7TGl0RWxlbWVudDpyfSk7Y29uc3Qgbz17XyRBSzoodCxlLHMpPT57dC5fJEFLKGUscyl9LF8kQUw6dD0+dC5fJEFMfTsoZ2xvYmFsVGhpcy5saXRFbGVtZW50VmVyc2lvbnM/Pz1bXSkucHVzaChcIjQuMS4xXCIpO2V4cG9ydHtyIGFzIExpdEVsZW1lbnQsbyBhcyBfJExFfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWxpdC1lbGVtZW50LmpzLm1hcFxuIiwiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMTcgR29vZ2xlIExMQ1xuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZVxuICovXG5jb25zdCB0PXQ9PihlLG8pPT57dm9pZCAwIT09bz9vLmFkZEluaXRpYWxpemVyKCgoKT0+e2N1c3RvbUVsZW1lbnRzLmRlZmluZSh0LGUpfSkpOmN1c3RvbUVsZW1lbnRzLmRlZmluZSh0LGUpfTtleHBvcnR7dCBhcyBjdXN0b21FbGVtZW50fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWN1c3RvbS1lbGVtZW50LmpzLm1hcFxuIiwiaW1wb3J0e2RlZmF1bHRDb252ZXJ0ZXIgYXMgdCxub3RFcXVhbCBhcyBlfWZyb21cIi4uL3JlYWN0aXZlLWVsZW1lbnQuanNcIjtcbi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDE3IEdvb2dsZSBMTENcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2VcbiAqL2NvbnN0IG89e2F0dHJpYnV0ZTohMCx0eXBlOlN0cmluZyxjb252ZXJ0ZXI6dCxyZWZsZWN0OiExLGhhc0NoYW5nZWQ6ZX0scj0odD1vLGUscik9Pntjb25zdHtraW5kOm4sbWV0YWRhdGE6aX09cjtsZXQgcz1nbG9iYWxUaGlzLmxpdFByb3BlcnR5TWV0YWRhdGEuZ2V0KGkpO2lmKHZvaWQgMD09PXMmJmdsb2JhbFRoaXMubGl0UHJvcGVydHlNZXRhZGF0YS5zZXQoaSxzPW5ldyBNYXApLHMuc2V0KHIubmFtZSx0KSxcImFjY2Vzc29yXCI9PT1uKXtjb25zdHtuYW1lOm99PXI7cmV0dXJue3NldChyKXtjb25zdCBuPWUuZ2V0LmNhbGwodGhpcyk7ZS5zZXQuY2FsbCh0aGlzLHIpLHRoaXMucmVxdWVzdFVwZGF0ZShvLG4sdCl9LGluaXQoZSl7cmV0dXJuIHZvaWQgMCE9PWUmJnRoaXMuUChvLHZvaWQgMCx0KSxlfX19aWYoXCJzZXR0ZXJcIj09PW4pe2NvbnN0e25hbWU6b309cjtyZXR1cm4gZnVuY3Rpb24ocil7Y29uc3Qgbj10aGlzW29dO2UuY2FsbCh0aGlzLHIpLHRoaXMucmVxdWVzdFVwZGF0ZShvLG4sdCl9fXRocm93IEVycm9yKFwiVW5zdXBwb3J0ZWQgZGVjb3JhdG9yIGxvY2F0aW9uOiBcIituKX07ZnVuY3Rpb24gbih0KXtyZXR1cm4oZSxvKT0+XCJvYmplY3RcIj09dHlwZW9mIG8/cih0LGUsbyk6KCh0LGUsbyk9Pntjb25zdCByPWUuaGFzT3duUHJvcGVydHkobyk7cmV0dXJuIGUuY29uc3RydWN0b3IuY3JlYXRlUHJvcGVydHkobyxyP3suLi50LHdyYXBwZWQ6ITB9OnQpLHI/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLG8pOnZvaWQgMH0pKHQsZSxvKX1leHBvcnR7biBhcyBwcm9wZXJ0eSxyIGFzIHN0YW5kYXJkUHJvcGVydHl9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cHJvcGVydHkuanMubWFwXG4iLCJpbXBvcnR7cHJvcGVydHkgYXMgdH1mcm9tXCIuL3Byb3BlcnR5LmpzXCI7XG4vKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAxNyBHb29nbGUgTExDXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlXG4gKi9mdW5jdGlvbiByKHIpe3JldHVybiB0KHsuLi5yLHN0YXRlOiEwLGF0dHJpYnV0ZTohMX0pfWV4cG9ydHtyIGFzIHN0YXRlfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXN0YXRlLmpzLm1hcFxuIiwiZXhwb3J0IGludGVyZmFjZSBJbmNpZGVudCB7XG4gIGltYWdlOiBzdHJpbmc7XG4gIGF1ZGlvOiBzdHJpbmc7XG4gIGlkOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHRleHQ6IHN0cmluZztcbiAgY2F0ZWdvcnk6IHN0cmluZztcbiAgY291bnRyeTogc3RyaW5nO1xuICBzb3VyY2U6IHN0cmluZztcbiAgeWVhcnBsdXNtb250aDogc3RyaW5nO1xufVxuXG5leHBvcnQgZW51bSBDYXRlZ29yeSB7XG4gIHR2U2hvd09yU2VyaWVzID0gXCJ0dlNob3dPclNlcmllc1wiLFxuICBzaG93Yml6eiA9IFwic2hvd2JpenpcIixcbiAgdHJlbmQgPSBcInRyZW5kXCIsXG4gIHRlY2ggPSBcInRlY2hcIixcbiAgZmFzaGlvblRyZW5kID0gXCJmYXNoaW9uVHJlbmRcIixcbiAgY2luZW1hTW92aWUgPSBcImNpbmVtYU1vdmllXCIsXG4gIHN0cmVldFNjZW5lID0gXCJzdHJlZXRTY2VuZVwiLFxuICBuZXdzUHJlc2VudGVyID0gXCJuZXdzUHJlc2VudGVyXCIsXG4gIHJhZGlvU29uZyA9IFwicmFkaW9Tb25nXCIsXG4gIG5ld3NJdGVtID0gXCJuZXdzSXRlbVwiLFxuICBpY29uaWNBbGJ1bSA9IFwiaWNvbmljQWxidW1cIixcbiAgcmFkaW9TaG93ID0gXCJyYWRpb1Nob3dcIixcbiAgYmVzdFNlbGxlckJvb2sgPSBcImJlc3RTZWxsZXJCb29rXCIsXG4gIGFkdmVydGlzZW1lbnQgPSBcImFkdmVydGlzZW1lbnRcIixcbiAgY2FyID0gXCJjYXJcIixcbiAgc3BvcnRzID0gXCJzcG9ydHNcIixcbiAgdW5rbm93biA9IFwidW5rbm93blwiLFxufVxuXG5leHBvcnQgY29uc3QgQ2F0ZWdvcmllcyA9IFtcbiAgLy8gQ2F0ZWdvcnkuYWR2ZXJ0aXNlbWVudCxcbiAgLy8gQ2F0ZWdvcnkuYmVzdFNlbGxlckJvb2ssXG4gIC8vIENhdGVnb3J5LmNhcixcbiAgQ2F0ZWdvcnkuY2luZW1hTW92aWUsXG4gIC8vIENhdGVnb3J5LmZhc2hpb25UcmVuZCxcbiAgLy8gQ2F0ZWdvcnkuaWNvbmljQWxidW0sXG4gIENhdGVnb3J5Lm5ld3NJdGVtLFxuICBDYXRlZ29yeS5uZXdzUHJlc2VudGVyLFxuICAvLyBDYXRlZ29yeS5yYWRpb1Nob3csXG4gIENhdGVnb3J5LnJhZGlvU29uZyxcbiAgQ2F0ZWdvcnkuc2hvd2JpenosXG4gIENhdGVnb3J5LnNwb3J0cyxcbiAgQ2F0ZWdvcnkudGVjaCxcbl07XG4iLCJleHBvcnQgY2xhc3MgVXRpbCB7XG4gIHB1YmxpYyBzdGF0aWMgYXN5bmMgYXN5bmNGb3JlYWNoKFxuICAgIGFycmF5OiBBcnJheTxhbnk+LCAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBjYWxsYmFjazogYW55LCAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgKSB7XG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGFycmF5Lmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgYXdhaXQgY2FsbGJhY2soYXJyYXlbaW5kZXhdLCBpbmRleCwgYXJyYXkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgcmVtb3ZlQWxsQ2hpbGRyZW4oXG4gICAgcGFyZW50RWxlbWVudDogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQsXG4gICk6IHZvaWQge1xuICAgIGlmICghcGFyZW50RWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgY2hpbGRUb0RlbGV0ZSA9IHBhcmVudEVsZW1lbnQubGFzdENoaWxkO1xuICAgIHdoaWxlIChjaGlsZFRvRGVsZXRlKSB7XG4gICAgICBwYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKGNoaWxkVG9EZWxldGUpO1xuICAgICAgY2hpbGRUb0RlbGV0ZSA9IHBhcmVudEVsZW1lbnQubGFzdENoaWxkO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTaHVmZmxlIGFuIGFycmF5XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHNodWZmbGVBcnJheShhcnJheTogQXJyYXk8YW55Pik6IEFycmF5PGFueT4ge1xuICAgIHJldHVybiBhcnJheS5zb3J0KCgpID0+IE1hdGgucmFuZG9tKCkgLSAwLjUpO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUhhc2gge1xuICBbSWRlbnRpZmllcjogc3RyaW5nIHwgbnVtYmVyXTpcbiAgICB8IGJvb2xlYW5cbiAgICB8IG51bWJlclxuICAgIHwgc3RyaW5nXG4gICAgfCBzdHJpbmdbXVxuICAgIHwgdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElTdHJpbmdBcnJheUhhc2gge1xuICBbSWRlbnRpZmllcjogc3RyaW5nIHwgbnVtYmVyXTogc3RyaW5nW107XG59XG4iLCJpbXBvcnQgeyBVdGlsLCBJSGFzaCB9IGZyb20gXCIuL1V0aWxcIjtcbmltcG9ydCB7IEluY2lkZW50IH0gZnJvbSBcIi4vSW5jaWRlbnRcIjtcblxuZXhwb3J0IGNsYXNzIEFwaVNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRlZWVBcGlVcmw6IHN0cmluZykgeyB9XG5cbiAgcHVibGljIGFzeW5jIGZldGNoT25lSW5jaWRlbnQoXG4gICAgcG92OiBzdHJpbmcsXG4gICAgY2F0ZWdvcnk6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICBlbW90aW9uOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgaW1wYWN0OiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgZGF0ZTogc3RyaW5nLFxuICAgIGZyb206IHN0cmluZyxcbiAgICB0bzogc3RyaW5nLFxuICAgIG1heExhc3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIHZhcmlhbnQ6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgKTogUHJvbWlzZTx7IGluY2lkZW50OiBJbmNpZGVudCB8IHVuZGVmaW5lZDsgc291cmNlczogc3RyaW5nW10gfT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZShhc3luYyAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zb2xlLmRlYnVnKFwiZmV0Y2hIaXN0b3J5XCIpO1xuXG4gICAgICAvLyBTZXQgZGVmYXVsdHMgdG8gZXhwbGljaXQgZW1wdHkgc3RyaW5nLlxuICAgICAgY29uc3QgcG92cyA9IHBvdiB8fCBcIlwiO1xuICAgICAgY29uc3QgY2F0ZWdvcmllcyA9IGNhdGVnb3J5IHx8IFwiXCI7XG4gICAgICBjb25zdCBlbW90aW9ucyA9IGVtb3Rpb24gfHwgXCJcIjtcbiAgICAgIGNvbnN0IGltcGFjdHMgPSBpbXBhY3QgfHwgXCJcIjtcbiAgICAgIGNvbnN0IGRhdGVTdHJpbmcgPSBkYXRlIHx8IFwiXCI7XG4gICAgICBjb25zdCBmcm9tU3RyaW5nID0gZnJvbSB8fCBcIlwiO1xuICAgICAgY29uc3QgdG9TdHJpbmcgPSB0byB8fCBcIlwiO1xuICAgICAgY29uc3QgbGltaXRTdHJpbmcgPSBcIjFcIjtcbiAgICAgIGNvbnN0IG1heExhc3RlZFN0cmluZyA9IG1heExhc3RlZCB8fCBcIlwiO1xuICAgICAgY29uc3QgdmFyaWFudHMgPSB2YXJpYW50IHx8IFwiXCI7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHVybHM6IEFycmF5PFVSTD4gPSBbXTtcblxuICAgICAgICBjb25zdCB1cmxTZWFyY2ggPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHtcbiAgICAgICAgICBwb3Y6IHBvdnMsXG4gICAgICAgICAgZW1vdGlvbjogZW1vdGlvbnMsXG4gICAgICAgICAgaW1wYWN0OiBpbXBhY3RzLFxuICAgICAgICAgIGxpbWl0OiBsaW1pdFN0cmluZyxcbiAgICAgICAgICB2YXJpYW50OiB2YXJpYW50c1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBBbHdheXMgcmFuZG9taXplIGluY2lkZW50cyBvbiB0aGUgYmFja2VuZC5cbiAgICAgICAgdXJsU2VhcmNoLmFwcGVuZChcInNlZWRcIiwgXCJcIiArIG5ldyBEYXRlKCkuZ2V0VGltZSgpKTtcblxuICAgICAgICBpZiAobWF4TGFzdGVkKSB7XG4gICAgICAgICAgdXJsU2VhcmNoLmFwcGVuZChcIm1heGxhc3RlZFwiLCBcIlwiICsgbWF4TGFzdGVkU3RyaW5nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGFkZCBjYXRlZ29yeSB0byBzZWFyY2hcbiAgICAgICAgdXJsU2VhcmNoLnNldChcImNhdGVnb3J5XCIsIGNhdGVnb3JpZXMpO1xuXG4gICAgICAgIGlmIChkYXRlU3RyaW5nKSB7XG4gICAgICAgICAgLy8gc2V0dXAgdXJsXG4gICAgICAgICAgY29uc3QgdXJsID0gbmV3IFVSTChgJHt0aGlzLnRlZWVBcGlVcmx9LyR7ZGF0ZX1gKTtcbiAgICAgICAgICB1cmwuc2VhcmNoID0gdXJsU2VhcmNoLnRvU3RyaW5nKCk7XG5cbiAgICAgICAgICB1cmxzLnB1c2godXJsKTtcbiAgICAgICAgfSBlbHNlIGlmIChmcm9tU3RyaW5nICYmIHRvU3RyaW5nKSB7XG4gICAgICAgICAgY29uc3QgZnJvbSA9IG5ldyBEYXRlKGZyb21TdHJpbmcpLnRvSVNPU3RyaW5nKCkuc3Vic3RyaW5nKDAsIDEwKTtcbiAgICAgICAgICBjb25zdCB0byA9IG5ldyBEYXRlKHRvU3RyaW5nKS50b0lTT1N0cmluZygpLnN1YnN0cmluZygwLCAxMCk7XG5cbiAgICAgICAgICAvLyBhZGQgZnJvbSBhbmQgdG8gZGF0ZSB0byBzZWFyY2hcbiAgICAgICAgICB1cmxTZWFyY2guc2V0KFwiZnJvbVwiLCBmcm9tKTtcbiAgICAgICAgICB1cmxTZWFyY2guc2V0KFwidG9cIiwgdG8pO1xuXG4gICAgICAgICAgLy8gc2V0dXAgdXJsXG4gICAgICAgICAgY29uc3QgdXJsID0gbmV3IFVSTCh0aGlzLnRlZWVBcGlVcmwpO1xuICAgICAgICAgIHVybC5zZWFyY2ggPSB1cmxTZWFyY2gudG9TdHJpbmcoKTtcblxuICAgICAgICAgIHVybHMucHVzaCh1cmwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRocm93IFwiTm8gY29ycmVjdCBkYXRlIG9yIHBlcmlvZCBzcGVjaWZpZWQuXCI7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBzdGFydCBmZXRjaGluZyBhbGwgaW5jaWRlbnRzXG4gICAgICAgIGxldCBpbmNpZGVudHM6IEFycmF5PEluY2lkZW50PiA9IFtdO1xuICAgICAgICBhd2FpdCBVdGlsLmFzeW5jRm9yZWFjaCh1cmxzLCBhc3luYyAodXJsOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHVybCk7XG4gICAgICAgICAgY29uc3QganNvbiA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKTtcbiAgICAgICAgICBpbmNpZGVudHMgPSBpbmNpZGVudHMuY29uY2F0KGpzb24ucmVzdWx0cyk7XG4gICAgICAgIH0pO1xuICAgICAgICAvLyBDaG9vc2UgdGhlIGZpcnN0IGluY2lkZW50IGluIHRoZSBsaXN0IGFzIHRoZSBvbmUgdG8gcmV0dXJuLlxuICAgICAgICBjb25zdCBmaXJzdEluY2lkZW50SW5MaXN0ID0gaW5jaWRlbnRzLmxlbmd0aCA/IGluY2lkZW50c1swXSA6IHVuZGVmaW5lZDtcblxuICAgICAgICAvLyBzZWFyY2ggZm9yIHNvdXJjZXMgb24gaW5jaWRlbnRzXG4gICAgICAgIGNvbnN0IHNvdXJjZXNGb3VuZEluSW5jaWRlbnRzOiBJSGFzaCA9IHt9O1xuICAgICAgICBpbmNpZGVudHMuZm9yRWFjaCgoaW5jaWRlbnQ6IEluY2lkZW50KSA9PiB7XG4gICAgICAgICAgaWYgKGluY2lkZW50LnNvdXJjZSkge1xuICAgICAgICAgICAgc291cmNlc0ZvdW5kSW5JbmNpZGVudHNbaW5jaWRlbnQuc291cmNlXSA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zb2xlLmRlYnVnKFtpbmNpZGVudHMsIHNvdXJjZXNGb3VuZEluSW5jaWRlbnRzXSk7XG5cbiAgICAgICAgcmVzb2x2ZSh7XG4gICAgICAgICAgaW5jaWRlbnQ6IGZpcnN0SW5jaWRlbnRJbkxpc3QsXG4gICAgICAgICAgc291cmNlczogT2JqZWN0LmtleXMoc291cmNlc0ZvdW5kSW5JbmNpZGVudHMpLFxuICAgICAgICB9KTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcmVqZWN0KGUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLy8gcG9zdCBmZWVkYmFjayBhYm91dCB0aGUgYXR0cmlidXRlIG9mIGFuIGluY2lkZW50LlxuICBwdWJsaWMgYXN5bmMgcG9zdEF0dHJpYnV0ZVF1YWxpdHlGZWVkYmFjayhcbiAgICBpbmNpZGVudGlkOiBzdHJpbmcsXG4gICAgYXR0cmlidXRlOiBzdHJpbmcsXG4gICAgdmFsdWU6IHN0cmluZyxcbiAgICByZW1hcms6IHN0cmluZyxcbiAgKSB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy50ZWVlQXBpVXJsfS9mZWVkYmFjay8ke2luY2lkZW50aWR9L2F0dHJpYnV0ZWA7XG4gICAgYXdhaXQgZmV0Y2godXJsLCB7XG4gICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICBBY2NlcHQ6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgIH0sXG4gICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIGF0dHJpYnV0ZSxcbiAgICAgICAgdmFsdWUsXG4gICAgICAgIHJlbWFyayxcbiAgICAgIH0pLFxuICAgIH0pO1xuICB9XG5cbiAgLy8gcG9zdCBmZWVkYmFjayBhYm91dCBhbiBpbmNpZGVudC5cbiAgcHVibGljIGFzeW5jIHBvc3RJbmNpZGVudFF1YWxpdHlGZWVkYmFjayhpbmNpZGVudGlkOiBzdHJpbmcsIHJlbWFyazogc3RyaW5nKSB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy50ZWVlQXBpVXJsfS9mZWVkYmFjay8ke2luY2lkZW50aWR9L3JlbWFya2A7XG4gICAgYXdhaXQgZmV0Y2godXJsLCB7XG4gICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICBBY2NlcHQ6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgIH0sXG4gICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIHJlbWFyayxcbiAgICAgIH0pLFxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBlbnVtIENvbnRlbnRGZWVkYmFjayB7XG4gIGluY29ycmVjdCA9IFwiaW5jb3JyZWN0XCIsIC8vIFRoaXMgY29udGVudCBpcyBub3QgY29ycmVjdFxuICB0b29TaG9ydCA9IFwidG9vU2hvcnRcIiwgLy8gVGhpcyBjb250ZW50IGlzIHRvbyBzaG9ydFxuICB0b29Mb25nID0gXCJ0b29Mb25nXCIsIC8vIFRoaXMgY29udGVudCBpcyB0b28gbG9uZ1xuICB0b25lT2ZWb2ljZSA9IFwidG9uZU9mVm9pY2VcIiwgLy8gVGhlIHRvbmUgb2Ygdm9pY2Ugb2YgdGhpcyBjb250ZW50IHNob3VsZCBiZSBpbXByb3ZlZFxuICBtaXNzaW5nID0gXCJtaXNzaW5nXCIsIC8vIFRoaXMgY29udGVudCBzaG91bGQgYmUgY3JlYXRlZFxuICBub01hdGNoID0gXCJub01hdGNoXCIsIC8vIFRoaXMgY29udGVudCBkb2VzIG5vdCBtYXRjaCB3aXRoIGl0cyBzaWJsaW5nIGRhdGFcbiAgYmFkRGF0YSA9IFwiYmFkRGF0YVwiLCAvLyBUaGlzIGNvbnRlbnQgY29udGFpbnMgYmFkIGRhdGFcbiAgdW5rbm93biA9IFwidW5rbm93blwiLCAvLyBXZSBkaWQgbm90IGV4cGVjdCB0aGlzIGlucHV0Li4uXG59XG4iLCJlbnVtIEdhbWVTdGF0ZSB7XG4gIElOSVQgPSBcImluaXRcIixcbiAgU1BMQVNIID0gXCJzcGxhc2hcIixcbiAgSU5UUk8gPSBcImludHJvXCIsXG4gIFBMQVkgPSBcInBsYXlcIixcbiAgRU5EID0gXCJlbmRcIixcbn1cblxuZXhwb3J0IHsgR2FtZVN0YXRlIH07XG4iLCJpbXBvcnQgeyBDYXRlZ29yeSB9IGZyb20gXCIuLi9JbmNpZGVudFwiO1xuaW1wb3J0IHsgSVN0cmluZ0FycmF5SGFzaCB9IGZyb20gXCIuLi9VdGlsXCI7XG5pbXBvcnQgeyBpMThuIH0gZnJvbSBcIi4vaTE4blwiO1xuXG5leHBvcnQgY2xhc3MgTkwgaW1wbGVtZW50cyBpMThuIHtcbiAgY29uc3RydWN0b3IocHVibGljIEhpbnRUZW1wbGF0ZXM6IElTdHJpbmdBcnJheUhhc2ggPSB7fSkge1xuICAgIEhpbnRUZW1wbGF0ZXNbQ2F0ZWdvcnkubmV3c1ByZXNlbnRlcl0gPSBbXG4gICAgICBcIl9fVElUTEVfXyBwcmVzZW50ZWVyZGUgaGV0IGFjaHQgdXVyIGpvdXJuYWFsLlwiLFxuICAgIF07XG4gICAgSGludFRlbXBsYXRlc1tDYXRlZ29yeS50ZWNoXSA9IFtcbiAgICAgIFwiVGVjaG5pZXV3czogX19USVRMRV9fLlwiLFxuICAgICAgXCJUZWNobmV1dGVuIGxpZXBlbiB3YXJtIHZvb3IgJ19fVElUTEVfXycuXCIsXG4gICAgXTtcbiAgICBIaW50VGVtcGxhdGVzW0NhdGVnb3J5LnNob3diaXp6XSA9IFtcbiAgICAgIFwiVmVlbCBpbiBoZXQgc2hvd2JpenogbmlldXdzOiBfX1RJVExFX18uXCIsXG4gICAgXTtcbiAgICBIaW50VGVtcGxhdGVzW0NhdGVnb3J5LnNwb3J0c10gPSBbXG4gICAgICBcIlNwb3J0bmlldXdzOiBfX1RJVExFX18uXCIsXG4gICAgICBcIlNwb3J0ZmFuYXRlbiBzcHJha2VuIG92ZXIgJ19fVElUTEVfXycuXCIsXG4gICAgXTtcbiAgICBIaW50VGVtcGxhdGVzW0NhdGVnb3J5Lm5ld3NJdGVtXSA9IFtcbiAgICAgIFwiSW4gZGUga3JhbnQgc3RvbmQgZGl0IGphYXIgb29rICdfX1RJVExFX18nLlwiLFxuICAgICAgXCInX19USVRMRV9fJyB3YXMgZGl0IGphYXIgb29rIGluIGhldCBuaWV1d3MgdGUgbGV6ZW4uXCIsXG4gICAgXTtcbiAgICBIaW50VGVtcGxhdGVzW0NhdGVnb3J5LmNpbmVtYU1vdmllXSA9IFtcbiAgICAgIFwiRGUgZmlsbSAnX19USVRMRV9fJyBkcmFhaWRlIGluIGRlIGJpb3Njb29wLlwiLFxuICAgICAgXCJEZSBmaWxtICdfX1RJVExFX18nIHdhcyBlZW4ga2Fza3Jha2VyLlwiLFxuICAgICAgXCJJbiBkZSBiaW9zY29vcCB3YXMgZGUgZmlsbSAnX19USVRMRV9fJyB0ZSB6aWVuLlwiLFxuICAgICAgXCInX19USVRMRV9fJyB3YXMgb3AgaGV0IHdpdHRlIGRvZWsgdGUgemllbi5cIixcbiAgICBdO1xuICAgIEhpbnRUZW1wbGF0ZXNbQ2F0ZWdvcnkucmFkaW9Tb25nXSA9IFtcbiAgICAgIFwiRGUgaGl0ICdfX1RSQUNLX18nIHZhbiBfX0FSVElTVF9fIHdhcyBlZW4gZ3JhYWcgZ2VkcmFhaWRlIHR1bmUgb3AgZGUgcmFkaW8uXCIsXG4gICAgICBcIkFhbiBoZXQgbGllZGplICdfX1RSQUNLX18nIHZhbiBfX0FSVElTVF9fIHdhcyBuaWV0IHRlIG9udGtvbWVuIG9wIGRlIHJhZGlvLlwiLFxuICAgICAgXCJfX0FSVElTVF9fJyAnX19UUkFDS19fJyBrbG9uayByZWdlbG1hdGlnIG9wIGRlIHJhZGlvLlwiLFxuICAgICAgXCJKZSBrb24gJ19fVFJBQ0tfXycgdmFuIF9fQVJUSVNUX18gbmlldCBtaXNzZW4gb3AgZGUgcmFkaW8sIGhldCB3ZXJkIHpvIHZhYWsgZ2VkcmFhaWQuXCIsXG4gICAgICBcIidfX1RSQUNLX18nIHZhbiBfX0FSVElTVF9fIHdhcyBlZW4gdmFzdCBudW1tZXIgb3AgZGUgcmFkaW8uXCIsXG4gICAgICBcIkluIGRpZSB0aWpkIHdhcyAnX19UUkFDS19fJyB2YW4gX19BUlRJU1RfXyBlZW4gdmVlbGdlaG9vcmRlIHJhZGlvaGl0LlwiLFxuICAgICAgXCInX19UUkFDS19fJyB2YW4gX19BUlRJU1RfXyB3YXMgZWVuIHJhZGlvLWZhdm9yaWV0IGluIGRpdCBqYWFyLlwiLFxuICAgICAgXCJEZSByYWRpb3N0YXRpb25zIHpvbmRlbiAnX19UUkFDS19fJyB2YW4gX19BUlRJU1RfXyB1aXQuXCIsXG4gICAgICBcIkhldCBudW1tZXIgJ19fVFJBQ0tfXycgdmFuIF9fQVJUSVNUX18gZ2Vub290IHZlZWwgYWlycGxheSBvcCBkZSByYWRpby5cIixcbiAgICAgIFwiJ19fVFJBQ0tfXycgdmFuIF9fQVJUSVNUX18gd2FzIGVlbiB2ZWVsZ2Vob29yZCBudW1tZXIgb3AgZGUgcmFkaW9zdGF0aW9ucy5cIixcbiAgICAgIFwiJ19fVFJBQ0tfXycgdmFuIF9fQVJUSVNUX18gd2VyZCBlZW4gcmFkaW9rbGFzc2lla2VyLlwiLFxuICAgICAgXCInX19UUkFDS19fJyB2YW4gX19BUlRJU1RfXyB3YXMgZWVuIG9udmVyZ2V0ZWxpamtlIGhpdCBkaWUgZGUgcmFkaW8gZG9taW5lZXJkZS5cIixcbiAgICAgIFwiJ19fVFJBQ0tfXycgdmFuIF9fQVJUSVNUX18gd2FzIGVlbiB2ZWVsZ2Vob29yZGUgaGl0LlwiLFxuICAgICAgXCJEZSByYWRpb3N0YXRpb25zIGRyYWFpZGVuICdfX1RSQUNLX18nIHZhbiBfX0FSVElTVF9fIGdyaWpzLlwiLFxuICAgICAgXCInX19UUkFDS19fJyB2YW4gX19BUlRJU1RfXyB3YXMgZWVuIGNhdGNoeSBudW1tZXIgZGF0IGplIGJsZWVmIG1lZXppbmdlbi5cIixcbiAgICAgIFwiRGUgYmVhdCB2YW4gJ19fVFJBQ0tfXycgdmFuIF9fQVJUSVNUX18gd2FzIG9ud2VlcnN0YWFuYmFhci5cIixcbiAgICAgIFwiJ19fVFJBQ0tfXycgdmFuIF9fQVJUSVNUX18gaGFkIGVlbiB1bmlla2Ugc291bmQgZGllIGplIG5pZXQgc25lbCB2ZXJnYXQuXCIsXG4gICAgICBcIkplIGtvbiBuaWV0IG9tICdfX1RSQUNLX18nIHZhbiBfX0FSVElTVF9fIGhlZW4uXCIsXG4gICAgXTtcbiAgfVxuXG4gIHRyYW5zbGF0ZShrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgc3dpdGNoIChrZXkpIHtcbiAgICAgIGNhc2UgXCJ5ZWFyXCI6XG4gICAgICAgIHJldHVybiBcImphYXJcIjtcbiAgICAgIGNhc2UgXCJzdGFydFwiOlxuICAgICAgICByZXR1cm4gXCJzdGFydFwiO1xuICAgICAgY2FzZSBcIm5ldy1nYW1lXCI6XG4gICAgICAgIHJldHVybiBcIm5pZXV3IHNwZWxcIjtcbiAgICAgIGNhc2UgXCJlbmRcIjpcbiAgICAgICAgcmV0dXJuIFwiSmUgaGVidCBoZXQgZ2VyZWQgOilcIjtcbiAgICAgIGNhc2UgXCJuZXh0LXF1ZXN0aW9uXCI6XG4gICAgICAgIHJldHVybiBcIlZvbGdlbmRlIHZyYWFnXCI7XG4gICAgICBjYXNlIFwicXVpdFwiOlxuICAgICAgICByZXR1cm4gXCJBZnNsdWl0ZW5cIjtcbiAgICAgIGNhc2UgXCJhbnN3ZXItY29ycmVjdFwiOlxuICAgICAgICByZXR1cm4gXCJDb3JyZWN0XCI7XG4gICAgICBjYXNlIFwiYW5zd2VyLXdyb25nXCI6XG4gICAgICAgIHJldHVybiBcIkhlbGFhc1wiO1xuICAgICAgY2FzZSBcInF1ZXN0aW9uLW51bWJlclwiOlxuICAgICAgICByZXR1cm4gXCJWcmFhZ1wiO1xuICAgICAgY2FzZSBcInF1ZXN0aW9uLXNjb3JlXCI6XG4gICAgICAgIHJldHVybiBcIlNjb3JlXCI7XG4gICAgICBjYXNlIFwidG90YWwtc2NvcmVcIjpcbiAgICAgICAgcmV0dXJuIFwiVG90YWFsc2NvcmVcIjtcbiAgICAgIGNhc2UgXCJzaG93LWhpbnRcIjpcbiAgICAgICAgcmV0dXJuIFwiVG9vbiBoaW50XCI7XG4gICAgICBjYXNlIFwidXNlZC1oaW50LXNpbmd1bGFyXCI6XG4gICAgICAgIHJldHVybiBcIkplIGhlYnQgMSBoaW50IGdlYnJ1aWt0XCI7XG4gICAgICBjYXNlIFwidXNlZC1oaW50LXBsdXJhbFwiOlxuICAgICAgICByZXR1cm4gXCJKZSBoZWJ0IF9fSElOVFNfXyBoaW50cyBnZWJydWlrdFwiO1xuICAgICAgY2FzZSBcIm51bWJlci1wb2ludHMtc2luZ3VsYXJcIjpcbiAgICAgICAgcmV0dXJuIFwiVm9vciBkZXplIHZyYWFnIGhlYiBqZSAxIHB1bnQgZ2VoYWFsZFwiO1xuICAgICAgY2FzZSBcIm51bWJlci1wb2ludHMtcGx1cmFsXCI6XG4gICAgICAgIHJldHVybiBcIlZvb3IgZGV6ZSB2cmFhZyBoZWIgamUgX19QT0lOVFNfXyBwdW50ZW4gZ2VoYWFsZFwiO1xuICAgICAgY2FzZSBcImNvcnJlY3QtYW5zd2VyLXdhc1wiOlxuICAgICAgICByZXR1cm4gXCJKZSBrb29zIHZvb3IgX19XUk9OR19fIG1hYXIgaGV0IGp1aXN0ZSBhbnR3b29yZCB3YXMgX19DT1JSRUNUX19cIjtcbiAgICAgIGNhc2UgXCJuby1hbnN3ZXItY29ycmVjdC1hbnN3ZXItd2FzXCI6XG4gICAgICAgIHJldHVybiBcIkplIGhlYnQgZ2VlbiBhbnR3b29yZCBnZWdldmVuIG1hYXIgaGV0IGp1aXN0ZSBhbnR3b29yZCB3YXMgX19DT1JSRUNUX19cIjtcbiAgICAgIGNhc2UgXCJnYW1lLW5hbWVcIjpcbiAgICAgICAgcmV0dXJuIFwiR3Vlc3MgVGhlIFllYXJcIjtcbiAgICAgIGNhc2UgXCJnYW1lLWNhbGwtdG8tYWN0aW9uXCI6XG4gICAgICAgIHJldHVybiBcIkdhbWUgb24hIFVpdCBfX0ZST01fXyB0b3QgX19UT19fXCI7XG4gICAgICBjYXNlIFwieW91ci1hbnN3ZXJcIjpcbiAgICAgICAgcmV0dXJuIFwiTWlqbiBhbnR3b29yZFwiO1xuICAgICAgY2FzZSBcInlvdXItZmVlZGJhY2tcIjpcbiAgICAgICAgcmV0dXJuIFwib3BtZXJraW5nZW5cIjtcbiAgICAgIGNhc2UgXCJ0cnktbGVmdFwiOlxuICAgICAgICByZXR1cm4gXCJfX1RSSUVTX18gcG9naW5nIG92ZXJcIjtcbiAgICAgIGNhc2UgXCJ0cmllcy1sZWZ0XCI6XG4gICAgICAgIHJldHVybiBcIl9fVFJJRVNfXyBwb2dpbmdlbiBvdmVyXCI7XG4gICAgICBjYXNlIFwiaW4tb25lLXNlY29uZFwiOlxuICAgICAgICByZXR1cm4gXCJJbiBfX1NFQ09ORFNfXyBzZWNvbmRlXCI7XG4gICAgICBjYXNlIFwiaW4teC1zZWNvbmRzXCI6XG4gICAgICAgIHJldHVybiBcIkluIF9fU0VDT05EU19fIHNlY29uZGVuXCI7XG4gICAgICBjYXNlIFwiZ2FtZS1zZXR0aW5ncy1wMVwiOlxuICAgICAgICByZXR1cm4gXCIgUmlnaHQuIE9oIGhleSwgQmlmZiwgaGV5LCBndXlzLCBob3cgYXJlIHlvdSBkb2luZz8gTG9vaywgdGhlcmUncyBhICAgICAgICAgICAgcmh5dGhtaWNcIlxuICAgICAgY2FzZSBcImdhbWUtc2V0dGluZ3MtcDJcIjpcbiAgICAgICAgcmV0dXJuIFwiIHZyYWdlbiBjZXJlbW9uaWFsIHJpdHVhbCBjb21pbmcgdXAuVmFuYWYgYmVnaW5cIlxuICAgICAgY2FzZSBcImdhbWUtc2V0dGluZ3MtcDNcIjpcbiAgICAgICAgcmV0dXJuIFwiIFByZWNpc2VseSwganVzdCByZWxheCBub3cgQ2FsdmluLiBUb3QgZWluZFwiXG4gICAgICBjYXNlIFwiZ2FtZS1zZXR0aW5ncy1wNFwiOlxuICAgICAgICByZXR1cm4gXCIgeW91J3ZlIGdvdCBhIGJpZyBicnVpc2Ugb24geW91J3JlIGhlYWQuXCJcbiAgICAgIGNhc2UgXCJnYW1lLWludHJvZHVjdGlvbi1wMVwiOlxuICAgICAgICByZXR1cm4gXCJzb21ldGhuZ1wiXG4gICAgICBjYXNlIFwiZ2FtZS1pbnRyb2R1Y3Rpb24tcDJcIjpcbiAgICAgICAgcmV0dXJuIFwiRXhjdXNlIG1lLiBHby4gR28uIE5ldmVyIG1pbmQgdGhhdCwgbmV2ZXIgbWluZCB0aGF0IG5vdywgbmV2ZXIgbWluZCB0aGF0LCBuZXZlciBtaW5kLSBZZWFoLCB3ZWxsLCBob3cgYWJvdXQgbXkgaG9tZXdvcmssIE1jRmx5PyBEb24ndCBzdG9wLCBXaWxiZXJ0LCBkcml2ZS5cIlxuICAgICAgY2FzZSBcImdhbWUtaW50cm9kdWN0aW9uLXAzXCI6XG4gICAgICAgIHJldHVybiBcIk1vbSwgaXMgdGhhdCB5b3U/IE9oLiBVaCBEb2MsIHVoIG5vLiBObywgZG9uJ3QgYmUgc2lsbHkuIFdoYXQgZGlkICAgICAgICAgICAgeW91ciBtb3RoZXIgZXZlciBzZWUgaW4gdGhhdCBraWQ/IFlvdSBndXlzLCB0YWtlIGhpbSBpbiBiYWNrIGFuZCAgICAgICAgICAgIEknbGwgYmUgcmlnaHQgdGhlcmUuIFdlbGwgYydtb24sIHRoaXMgYWluJ3Qgbm8gcGVlcCBzaG93LlwiXG4gICAgICBjYXNlIFwiZ2FtZS1pbnRyb2R1Y3Rpb24td2VsY29tZVwiOlxuICAgICAgICByZXR1cm4gYFdlbGtvbSBiaWogR3Vlc3MgVGhlIFllYXIhYFxuICAgIH1cbiAgICByZXR1cm4ga2V5O1xuICB9XG59XG4iLCJcbiAgICAgICAgaW1wb3J0IHtjc3N9IGZyb20gJ2xpdCc7XG4gICAgICAgIGV4cG9ydCBkZWZhdWx0IGNzc2BoMXtjb2xvcjp2YXIoLS1ndWVzcy10aGUteWVhci10aXRsZS1jb2xvciwgcmdiKDAsIDAsIDApKTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWd1ZXNzLXRoZS15ZWFyLXRpdGxlLWJhY2tncm91bmQtY29sb3IsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSk7Zm9udC1zaXplOnZhcigtLWd1ZXNzLXRoZS15ZWFyLXRpdGxlLWZvbnQtc2l6ZSwgMTZweCk7bWFyZ2luOjA7cGFkZGluZzoxcmVtO3RleHQtYWxpZ246Y2VudGVyfXB7Y29sb3I6dmFyKC0tZ3Vlc3MtdGhlLXllYXItdGV4dC1jb2xvciwgYmxhY2spO2ZvbnQtc2l6ZTp2YXIoLS1ndWVzcy10aGUteWVhci10ZXh0LWZvbnQtc2l6ZSwgMTRweCl9Omhvc3R7cG9zaXRpb246cmVsYXRpdmU7Y29sb3I6dmFyKC0tZ3Vlc3MtdGhlLXllYXItdGV4dC1jb2xvciwgYmxhY2spO2JhY2tncm91bmQ6dmFyKC0tZ3Vlc3MtdGhlLXllYXItYmFja2dyb3VuZC1jb2xvciwgd2hpdGUpO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lmd1ZXNzLXRoZS15ZWFyLWNvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO21heC13aWR0aDo3NjhweDttYXJnaW46MCBhdXRvfS5ndWVzcy10aGUteWVhci1oZWFkZXJ7cG9zaXRpb246c3RpY2t5O3otaW5kZXg6MTAwO3RvcDowO2JveC1zaGFkb3c6MHB4IDVweCA1cHggMHB4IHJnYmEoMCwwLDAsLjMpO21hcmdpbi1ib3R0b206MTVweH0uZm9vdGVye3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO2NvbG9yOnZhcigtLWd1ZXNzLXRoZS15ZWFyLWZvb3Rlci1jb2xvciwgcmdiKDAsIDAsIDApKTtmb250LXNpemU6dmFyKC0tZ3Vlc3MtdGhlLXllYXItZm9vdGVyLWZvbnQtc2l6ZSwgMTJweCk7bWFyZ2luOjA7ei1pbmRleDotMX0uc3BsYXNoc2NyZWVue2JhY2tncm91bmQtY29sb3I6dmFyKC0tZ3Vlc3MtdGhlLXllYXItc3BsYXNoLXNjcmVlbi1iYWNrZ3JvdW5kLWNvbG9yLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNykpO2NvbG9yOnZhcigtLWd1ZXNzLXRoZS15ZWFyLXNwbGFzaC1zY3JlZW4tY29sb3IsIHJnYigwLCAwLCAwKSk7Zm9udC1zaXplOnZhcigtLWd1ZXNzLXRoZS15ZWFyLXNwbGFzaC1zY3JlZW4tZm9udC1zaXplLCAxNnB4KTttYXJnaW46MDt0ZXh0LWFsaWduOmNlbnRlcjt3aWR0aDoxMDAlO2hlaWdodDo5MHZofS5zcGxhc2hzY3JlZW4gLnNwbGFzaC1sb2dve21hcmdpbjowIGF1dG87cGFkZGluZzowO2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5zcGxhc2hzY3JlZW4gLnNwbGFzaC1sb2dvIGltZ3ttYXgtd2lkdGg6MzAwcHg7Ym9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyOjFweCBzb2xpZCAjMDAwfWRpdi5nYW1lLWludHJve2NvbG9yOnZhcigtLWd1ZXNzLXRoZS15ZWFyLXRpdGxlLWNvbG9yLCByZ2IoMCwgMCwgMCkpO21hcmdpbjowO3BhZGRpbmc6MDt0ZXh0LWFsaWduOmxlZnR9ZGl2LmdhbWUtaW50cm8+ZGl2e2JhY2tncm91bmQtY29sb3I6dmFyKC0tZ3Vlc3MtdGhlLXllYXItdGl0bGUtYmFja2dyb3VuZC1jb2xvciwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpKTtwYWRkaW5nOjFyZW07bWF4LXdpZHRoOjcwY2g7bWFyZ2luOjFyZW0gYXV0b31kaXYuZ2FtZS1pbnRybyAuZ2FtZS1zdGFydCBidXR0b257YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1ndWVzcy10aGUteWVhci1idXR0b24tYmFja2dyb3VuZC1jb2xvciwgcmdiKDAsIDAsIDApKTtjb2xvcjp2YXIoLS1ndWVzcy10aGUteWVhci1idXR0b24tY29sb3IsIHJnYigyNTUsIDI1NSwgMjU1KSk7Ym9yZGVyOjA7cGFkZGluZzoxcmVtO21hcmdpbjoxcmVtIGF1dG87ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO2ZvbnQtc2l6ZTp2YXIoLS1ndWVzcy10aGUteWVhci1idXR0b24tZm9udC1zaXplLCAxcmVtKTtmb250LXdlaWdodDpib2xkO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjdXJzb3I6cG9pbnRlcn0uZ3Vlc3MtdGhlLXllYXItZ2FtZS1zdGFnZXtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLWJvdHRvbToxMDBweH0uZ3Vlc3MtdGhlLXllYXItZ2FtZS1zdGFnZSAuY29udGFpbmVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lmd1ZXNzLXRoZS15ZWFyLWdhbWUtc3RhZ2UgLmluY2lkZW50LS10aXRsZXt0b3A6MDt3aWR0aDoxMDAlO2JvcmRlci10b3A6MXB4IHNvbGlkICNmZmY7bWFyZ2luLWJvdHRvbToxMHB4fS5ndWVzcy10aGUteWVhci1nYW1lLXN0YWdlIC5pbmNpZGVudC0taW1hZ2V7ei1pbmRleDotMTtoZWlnaHQ6NDB2aDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lmd1ZXNzLXRoZS15ZWFyLWdhbWUtc3RhZ2UgLmluY2lkZW50LS1pbWFnZSBpbWd7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlfS5ndWVzcy10aGUteWVhci1nYW1lLXN0YWdlIC5pbmNpZGVudC0tdGV4dHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWd1ZXNzLXRoZS15ZWFyLXRleHQtYmFja2dyb3VuZC1jb2xvciwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpKTtjb2xvcjp2YXIoLS1ndWVzcy10aGUteWVhci10ZXh0LWNvbG9yLCByZ2IoMCwgMCwgMCkpO2ZvbnQtc2l6ZTp2YXIoLS1ndWVzcy10aGUteWVhci10ZXh0LWZvbnQtc2l6ZSwgMTRweCl9Lmd1ZXNzLXRoZS15ZWFyLWdhbWUtc3RhZ2UgLmdhbWUtY29udHJvbHN7cG9zaXRpb246c3RpY2t5O2JvdHRvbToyNXB4O2xlZnQ6MDt3aWR0aDoxMDAlO2JhY2tncm91bmQtY29sb3I6aHNsYSgwLDAlLDEwMCUsLjcpO3BhZGRpbmctdG9wOjEwcHh9Lmd1ZXNzLXRoZS15ZWFyLWdhbWUtc3RhZ2UgLmdhbWUtY29udHJvbHMtLWhpbnR7dGV4dC1hbGlnbjpyaWdodH0uZ3Vlc3MtdGhlLXllYXItZ2FtZS1zdGFnZSAuZ2FtZS1jb250cm9scy0taGludCBidXR0b257bWFyZ2luOjEwcHg7cGFkZGluZzoxMHB4O2JvcmRlci1yYWRpdXM6MTBweDtib3JkZXI6MXB4IHNvbGlkICMwMDA7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1ndWVzcy10aGUteWVhci10ZXh0LWJhY2tncm91bmQtY29sb3IpO2NvbG9yOnZhcigtLWd1ZXNzLXRoZS15ZWFyLXRleHQtY29sb3IpfS5ndWVzcy10aGUteWVhci1nYW1lLXN0YWdlIC5nYW1lLWNvbnRyb2xzLS1oaW50IGJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWd1ZXNzLXRoZS15ZWFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yKTtjb2xvcjp2YXIoLS1ndWVzcy10aGUteWVhci1idXR0b24tY29sb3IpfS5ndWVzcy10aGUteWVhci1nYW1lLXN0YWdlIC5nYW1lLWNvbnRyb2xzLS1hbnN3ZXJzIC5hbnN3ZXJzLS1saXN0IHVse2xpc3Qtc3R5bGU6bm9uZTttYXJnaW46MDtwYWRkaW5nOjA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdzthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWV2ZW5seX0uZ3Vlc3MtdGhlLXllYXItZ2FtZS1zdGFnZSAuZ2FtZS1jb250cm9scy0tYW5zd2VycyAuYW5zd2Vycy0tbGlzdCB1bCBsaXtib3JkZXI6MXB4IHNvbGlkICMwMDA7Ym9yZGVyLXJhZGl1czoxMHB4O3BhZGRpbmc6MTBweCAxMHB4O2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQtY29sb3I6dmFyKC0tZ3Vlc3MtdGhlLXllYXItdGV4dC1iYWNrZ3JvdW5kLWNvbG9yKX0uZ3Vlc3MtdGhlLXllYXItZ2FtZS1zdGFnZSAuZ2FtZS1jb250cm9scy0tYW5zd2VycyAuYW5zd2Vycy0tbGlzdCB1bCBsaTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWd1ZXNzLXRoZS15ZWFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yKTtjb2xvcjp2YXIoLS1ndWVzcy10aGUteWVhci1idXR0b24tY29sb3IpfS5ndWVzcy10aGUteWVhci1nYW1lLXN0YWdlIC5mZWVkYmFja3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO21hcmdpbjphdXRvO2JhY2tkcm9wLWZpbHRlcjpibHVyKDEwcHgpO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uZ3Vlc3MtdGhlLXllYXItZ2FtZS1zdGFnZSAuZmVlZGJhY2stLWNvbnRlbnR7d2lkdGg6MzAwcHg7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1ndWVzcy10aGUteWVhci10ZXh0LWJhY2tncm91bmQtY29sb3IpO3BhZGRpbmc6MTVweDtib3JkZXItcmFkaXVzOjEwcHg7Ym94LXNoYWRvdzowcHggNXB4IDVweCAwcHggcmdiYSgwLDAsMCwuMyl9Lmd1ZXNzLXRoZS15ZWFyLWdhbWUtc3RhZ2UgLmdhbWUtc2NvcmV7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdzthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWV2ZW5seTttYXJnaW4tYm90dG9tOjEwcHh9Lmd1ZXNzLXRoZS15ZWFyLWdhbWUtc3RhZ2UgLmdhbWUtc2NvcmUtLWxhYmVse2ZvbnQtc2l6ZTo4MCV9Lmd1ZXNzLXRoZS15ZWFyLWdhbWUtc3RhZ2UgLmdhbWUtc2NvcmUtLXZhbHVle2ZvbnQtd2VpZ2h0OmJvbGR9Lmd1ZXNzLXRoZS15ZWFyLXNvdXJjZXN7Zm9udC1zaXplOjcwJX1gO1xuICAgICIsImltcG9ydCB7IFJlYWN0aXZlQ29udHJvbGxlciwgUmVhY3RpdmVDb250cm9sbGVySG9zdCB9IGZyb20gXCJsaXRcIjtcblxuZXhwb3J0IGNsYXNzIFF1ZXN0aW9uU2NvcmVDb250cm9sbGVyIGltcGxlbWVudHMgUmVhY3RpdmVDb250cm9sbGVyIHtcbiAgaG9zdDogUmVhY3RpdmVDb250cm9sbGVySG9zdDtcblxuICBzdGFydFZhbHVlOiBudW1iZXI7XG4gIHZhbHVlOiBudW1iZXIgPSAwO1xuICB0aW1lb3V0OiBudW1iZXI7XG5cbiAgcHJpdmF0ZSBfdGltZXJJRD86IFJldHVyblR5cGU8dHlwZW9mIHNldEludGVydmFsPjtcblxuICBjb25zdHJ1Y3Rvcihob3N0OiBSZWFjdGl2ZUNvbnRyb2xsZXJIb3N0LCBzdGFydFZhbHVlID0gMCwgdGltZW91dCA9IDEwMDApIHtcbiAgICAodGhpcy5ob3N0ID0gaG9zdCkuYWRkQ29udHJvbGxlcih0aGlzKTtcbiAgICB0aGlzLnN0YXJ0VmFsdWUgPSBzdGFydFZhbHVlO1xuICAgIHRoaXMudmFsdWUgPSBzdGFydFZhbHVlO1xuICAgIHRoaXMudGltZW91dCA9IHRpbWVvdXQ7XG4gIH1cblxuICBzdGFydCgpIHtcbiAgICB0aGlzLl90aW1lcklEID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgdGhpcy52YWx1ZSAtPSAxO1xuXG4gICAgICAvLyBVcGRhdGUgdGhlIGhvc3Qgd2l0aCBuZXcgdmFsdWVcbiAgICAgIHRoaXMuaG9zdC5yZXF1ZXN0VXBkYXRlKCk7XG4gICAgfSwgdGhpcy50aW1lb3V0KTtcbiAgfVxuXG4gIHN0b3AoKSB7XG4gICAgY2xlYXJJbnRlcnZhbCh0aGlzLl90aW1lcklEKTtcbiAgICB0aGlzLl90aW1lcklEID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcmVzZXQoKSB7XG4gICAgdGhpcy52YWx1ZSA9IHRoaXMuc3RhcnRWYWx1ZTtcbiAgfVxuXG4gIHN1YnRyYWN0KHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLnZhbHVlIC09IHZhbHVlO1xuICAgIGlmICh0aGlzLnZhbHVlIDwgMCkge1xuICAgICAgdGhpcy52YWx1ZSA9IDA7XG4gICAgfVxuICB9XG5cbiAgaXNSdW5uaW5nKCkge1xuICAgIHJldHVybiB0aGlzLl90aW1lcklEID8gdHJ1ZSA6IGZhbHNlO1xuICB9XG5cbiAgaG9zdERpc2Nvbm5lY3RlZCgpIHtcbiAgICAvLyBDbGVhciB0aGUgdGltZXIgd2hlbiB0aGUgaG9zdCBpcyBkaXNjb25uZWN0ZWRcbiAgICBjbGVhckludGVydmFsKHRoaXMuX3RpbWVySUQpO1xuICAgIHRoaXMuX3RpbWVySUQgPSB1bmRlZmluZWQ7XG4gIH1cbn1cbiIsImltcG9ydCB7IExpdEVsZW1lbnQsIGNzcywgaHRtbCwgUHJvcGVydHlWYWx1ZXMsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSBcImxpdFwiO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHksIHN0YXRlIH0gZnJvbSBcImxpdC9kZWNvcmF0b3JzLmpzXCI7XG5pbXBvcnQgZGF5anMgZnJvbSBcImRheWpzXCI7XG5pbXBvcnQgeyBEYXlqcyB9IGZyb20gXCJkYXlqc1wiO1xuY29uc3QgeyBzZXRUaW1lb3V0IH0gPSB3aW5kb3c7XG5pbXBvcnQgeyBJbmNpZGVudCwgQ2F0ZWdvcmllcywgQ2F0ZWdvcnkgfSBmcm9tIFwiLi9saWIvSW5jaWRlbnRcIjtcbmltcG9ydCB7IE5vSW1hZ2VJbWcgfSBmcm9tIFwiLi9saWIvSWNvblwiO1xuaW1wb3J0IHsgQXBpU2VydmljZSwgQ29udGVudEZlZWRiYWNrIH0gZnJvbSBcIi4vbGliL0FwaVNlcnZpY2VcIjtcbmltcG9ydCB7IFV0aWwgfSBmcm9tIFwiLi9saWIvVXRpbFwiO1xuaW1wb3J0IHsgaTE4bkZhY3RvcnkgfSBmcm9tIFwiLi9saWIvaTE4bi9pMThuXCI7XG5pbXBvcnQgeyBHYW1lU3RhdGUgfSBmcm9tIFwiLi9saWIvZW51bXNcIjtcbmltcG9ydCBzdHlsZXNoZWV0IGZyb20gXCIuL3Njc3MvbWFpbi5zY3NzXCI7XG5pbXBvcnQgeyBRdWVzdGlvblNjb3JlQ29udHJvbGxlciB9IGZyb20gXCIuL2xpYi9jb250cm9sbGVyL3Njb3JlY29udHJvbGxlclwiO1xuXG5jb25zdCBTUExBU0hfREVMQVk6IG51bWJlciA9IDEwMDA7XG5jb25zdCBNSU5fWUVBUjogbnVtYmVyID0gMTk1MDtcbmNvbnN0IE1BWF9ZRUFSOiBudW1iZXIgPSAyMDI0O1xuY29uc3QgTUFYX1FVRVNUSU9OUzogbnVtYmVyID0gMTA7XG5jb25zdCBISU5UX0NPU1Q6IG51bWJlciA9IDI7XG5cbkBjdXN0b21FbGVtZW50KFwiZ3Vlc3MtdGhlLXllYXJcIilcbmV4cG9ydCBjbGFzcyBHdWVzc1RoZVllYXIgZXh0ZW5kcyBMaXRFbGVtZW50IHtcbiAgcHJpdmF0ZSBzb3VyY2VzOiBBcnJheTxzdHJpbmc+ID0gW107XG4gIHByaXZhdGUgX2xvYWRpbmcgPSBmYWxzZTtcblxuICBwcml2YXRlIF9zY29yZTA6IFF1ZXN0aW9uU2NvcmVDb250cm9sbGVyO1xuXG4gIGdldCBsb2FkaW5nKCkge1xuICAgIHJldHVybiB0aGlzLl9sb2FkaW5nO1xuICB9XG5cbiAgc2V0IGxvYWRpbmcodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9sb2FkaW5nID0gdmFsdWU7XG4gIH1cblxuICBAcHJvcGVydHkoeyB0eXBlOiBTdHJpbmcsIGF0dHJpYnV0ZTogXCJ0ZWUtZS1hcGktdXJsXCIgfSlcbiAgdGVlZUFwaVVybDogc3RyaW5nID0gXCJodHRwczovL2FwaS50ZWUtZS5jb21cIjtcblxuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuLCBhdHRyaWJ1dGU6IFwicmVwb3J0LWJyb2tlbi1pbWFnZXNcIiB9KVxuICByZXBvcnRCcm9rZW5JbWFnZXM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAcHJvcGVydHkoeyB0eXBlOiBTdHJpbmcgfSlcbiAgZGF0ZTogc3RyaW5nID0gXCJcIjtcblxuICBAcHJvcGVydHkoeyB0eXBlOiBTdHJpbmcgfSlcbiAgY291bnRyeTogc3RyaW5nID0gXCJcIjtcblxuICBAcHJvcGVydHkoeyB0eXBlOiBTdHJpbmcgfSlcbiAgY2F0ZWdvcnk6IHN0cmluZyA9IFwiXCI7XG5cbiAgQHByb3BlcnR5KHsgdHlwZTogU3RyaW5nIH0pXG4gIGVtb3Rpb246IHN0cmluZyA9IFwiXCI7XG5cbiAgQHByb3BlcnR5KHsgdHlwZTogU3RyaW5nIH0pXG4gIGltcGFjdDogc3RyaW5nID0gXCJcIjtcblxuICBAcHJvcGVydHkoe1xuICAgIHR5cGU6IERheWpzLFxuICAgIGNvbnZlcnRlcjoge1xuICAgICAgZnJvbUF0dHJpYnV0ZTogKHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc29sZS5kZWJ1ZyhbXCJmcm9tXCIsIFwiZnJvbVwiLCB2YWx1ZV0pO1xuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgcmV0dXJuIGRheWpzKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodmFsdWUubGVuZ3RoID49IDEwKSB7XG4gICAgICAgICAgcmV0dXJuIGRheWpzKHZhbHVlLCBcIllZWVktTU0tRERcIik7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZGF5anMoYCR7dmFsdWV9LTAxLTAxYCwgXCJZWVlZLU1NLUREXCIpO1xuICAgICAgfSxcbiAgICAgIHRvQXR0cmlidXRlOiAodmFsdWU6IERheWpzKSA9PiB7XG4gICAgICAgIGNvbnNvbGUuZGVidWcoW1wiZnJvbVwiLCBcInRvXCIsIHZhbHVlXSk7XG4gICAgICAgIHJldHVybiB2YWx1ZS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpO1xuICAgICAgfSxcbiAgICB9LFxuICB9KVxuICBmcm9tOiBEYXlqcyA9IGRheWpzKGAke01JTl9ZRUFSfS0wMS0wMWAsIFwiWVlZWS1NTS1ERFwiKTtcblxuICBAcHJvcGVydHkoe1xuICAgIHR5cGU6IERheWpzLFxuICAgIGNvbnZlcnRlcjoge1xuICAgICAgZnJvbUF0dHJpYnV0ZTogKHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc29sZS5kZWJ1ZyhbXCJ0b1wiLCBcImZyb21cIiwgdmFsdWVdKTtcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgIHJldHVybiBkYXlqcygpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHZhbHVlLmxlbmd0aCA+PSAxMCkge1xuICAgICAgICAgIHJldHVybiBkYXlqcyh2YWx1ZSwgXCJZWVlZLU1NLUREXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGRheWpzKGAke3ZhbHVlfS0xMi0zMWAsIFwiWVlZWS1NTS1ERFwiKTtcbiAgICAgIH0sXG4gICAgICB0b0F0dHJpYnV0ZTogKHZhbHVlOiBEYXlqcykgPT4ge1xuICAgICAgICBjb25zb2xlLmRlYnVnKFtcInRvXCIsIFwidG9cIiwgdmFsdWVdKTtcbiAgICAgICAgcmV0dXJuIHZhbHVlLmZvcm1hdChcIllZWVktTU0tRERcIik7XG4gICAgICB9LFxuICAgIH0sXG4gIH0pXG4gIHRvOiBEYXlqcyA9IGRheWpzKCk7IC8vIGRlZmF1bHRzIHRvIHRvZGF5XG5cbiAgQHByb3BlcnR5KHsgdHlwZTogU3RyaW5nLCBhdHRyaWJ1dGU6IFwibm8taW1hZ2Utc3JjXCIgfSlcbiAgbm9JbWFnZVNyYzogc3RyaW5nID0gXCJcIjtcblxuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuLCBhdHRyaWJ1dGU6IFwic3VwcHJlc3MtaW1hZ2VzXCIgfSlcbiAgc3VwcHJlc3NJbWFnZXM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAcHJvcGVydHkoeyB0eXBlOiBOdW1iZXIsIGF0dHJpYnV0ZTogXCJtYXgtaGludHNcIiB9KVxuICBtYXhIaW50czogbnVtYmVyID0gMztcblxuICBAcHJvcGVydHkoeyB0eXBlOiBOdW1iZXIsIGF0dHJpYnV0ZTogXCJudW1iZXItb2YtcXVlc3Rpb25zXCIsIHJlZmxlY3Q6IHRydWUgfSlcbiAgbnVtYmVyT2ZRdWVzdGlvbnM6IG51bWJlciA9IDEwO1xuICBwcml2YXRlIF9udW1iZXJPZlF1ZXN0aW9uc1NlZW46IG51bWJlciA9IDA7XG5cbiAgQHN0YXRlKClcbiAgcHJpdmF0ZSBfaW5jaWRlbnQ6IEluY2lkZW50IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gIHByaXZhdGUgX2Fuc3dlcnM6IEFycmF5PE51bWJlcj4gPSBbXTtcblxuICBAc3RhdGUoKVxuICBwcml2YXRlIF9oaW50OiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgcHJpdmF0ZSBfc2hvd0hpbnQ6IGJvb2xlYW4gPSB0cnVlO1xuICBwcml2YXRlIF9zaG93Rm9vdGVyOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX2hpbnRzSW5kZXg6IG51bWJlciA9IDA7XG4gIHByaXZhdGUgX2hpbnRzOiBBcnJheTxJbmNpZGVudD4gPSBbXTtcblxuICBAc3RhdGUoKVxuICBwcml2YXRlIF9zb2x1dGlvbjogTnVtYmVyIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gIEBzdGF0ZSgpXG4gIHB1YmxpYyBfcmVuZGVyU3RhdGU6IHN0cmluZyA9IEdhbWVTdGF0ZS5JTklUO1xuXG4gIEBzdGF0ZSgpXG4gIHByaXZhdGUgX3Njb3JlID0gMzA7XG5cbiAgcHVibGljIHRvdGFsU2NvcmUgPSAwO1xuXG4gIC8vIF9hbnN3ZXIgaXMgc3RvcmVkIGFzIHN0cmluZyBiZWNhdXNlIGl0IHdpbGwgYmUgZW50ZXJlZCBjaGFyYWN0ZXIgZm9yIGNoYXJhY3RlclxuICBAc3RhdGUoKVxuICBwcml2YXRlIF9hbnN3ZXI6IG51bWJlciB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIF9hcGlTZXJ2aWNlID0gbmV3IEFwaVNlcnZpY2UodGhpcy50ZWVlQXBpVXJsKTtcbiAgcHJpdmF0ZSBpMThuID0gaTE4bkZhY3RvcnkoXCJubFwiKTtcblxuICBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzID0gY3NzYFxuICAgICR7c3R5bGVzaGVldH1cbiAgYDtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuX3Njb3JlMCA9IG5ldyBRdWVzdGlvblNjb3JlQ29udHJvbGxlcih0aGlzLCAzMCwgMTAwMCk7XG4gIH1cblxuICBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpIHtcbiAgICBjb25zb2xlLmRlYnVnKFwiY29ubmVjdGVkQ2FsbGJhY2tcIik7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcblxuICAgIC8vIGZpcnN0IHN0ZXAgaXMgc3BsYXNoXG4gICAgdGhpcy5fcmVuZGVyU3RhdGUgPSBHYW1lU3RhdGUuU1BMQVNIO1xuICB9XG5cbiAgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKSB7XG4gICAgY29uc29sZS5kZWJ1ZyhcImRpc2Nvbm5lY3RlZENhbGxiYWNrXCIpO1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fcmVuZGVyU3RhdGUgPSBHYW1lU3RhdGUuSU5JVDtcbiAgICB0aGlzLl9zY29yZTAuc3RvcCgpO1xuICAgIHRoaXMuX3Njb3JlMC5yZXNldCgpO1xuICB9XG5cbiAgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlcyk6IHZvaWQge1xuICAgIGNvbnNvbGUuZGVidWcoXCJmaXJzdFVwZGF0ZWRcIik7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgfVxuXG4gIG92ZXJyaWRlIHNob3VsZFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXMpOiBib29sZWFuIHtcbiAgICBjb25zb2xlLmRlYnVnKFwic2hvdWxkVXBkYXRlXCIpO1xuICAgIHJldHVybiBzdXBlci5zaG91bGRVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuICB9XG5cbiAgb3ZlcnJpZGUgdXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlcykge1xuICAgIGNvbnNvbGUuZGVidWcoXCJ1cGRhdGVcIik7XG4gICAgcmV0dXJuIHN1cGVyLnVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG4gIH1cblxuICBvdmVycmlkZSB1cGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlcykge1xuICAgIGNvbnNvbGUuZGVidWcoXCJ1cGRhdGVkXCIpO1xuICAgIHJldHVybiBzdXBlci51cGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgfVxuXG4gIG92ZXJyaWRlIHJlbmRlcigpIHtcbiAgICAvKipcbiAgICAgKiB0aGlzIGlzIHRoZSBtYWluIHJlbmRlciBmdW5jdGlvblxuICAgICAqIGl0IHJlbmRlcnMgZGlmZmVyZW50IHN0YWdlcyBkdXJpbmcgdGhlIGdhbWVcbiAgICAgKi9cbiAgICBjb25zb2xlLmRlYnVnKFwicmVuZGVyXCIpO1xuXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwiZ3Vlc3MtdGhlLXllYXItY29udGFpbmVyXCI+XG4gICAgICAgICR7dGhpcy5fcmVuZGVyU3RhdGUgPT0gR2FtZVN0YXRlLklOSVQgPyBcIkxvYWRpbmcuLi5cIiA6IFwiXCJ9XG4gICAgICAgICR7dGhpcy5fcmVuZGVyU3RhdGUgPT0gR2FtZVN0YXRlLlNQTEFTSFxuICAgICAgICA/IHRoaXMucmVuZGVyU3BsYXNoU2NyZWVuKClcbiAgICAgICAgOiBcIlwifVxuICAgICAgICAke3RoaXMuX3JlbmRlclN0YXRlID09IEdhbWVTdGF0ZS5JTlRSTyA/IHRoaXMucmVuZGVyR2FtZUludHJvKCkgOiBcIlwifVxuICAgICAgICAke3RoaXMuX3JlbmRlclN0YXRlID09IEdhbWVTdGF0ZS5QTEFZID8gdGhpcy5yZW5kZXJHYW1lU3RhZ2UoKSA6IFwiXCJ9XG4gICAgICAgICR7dGhpcy5fcmVuZGVyU3RhdGUgPT0gR2FtZVN0YXRlLkVORCA/IHRoaXMucmVuZGVyR2FtZUVuZCgpIDogXCJcIn1cbiAgICAgICAgJHt0aGlzLl9yZW5kZXJGb290ZXIoKX1cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cblxuICBjb2xvckVsZW1lbnQoZWxlbWVudDogYW55LCBjb2xvcjogc3RyaW5nKSB7XG4gICAgY29uc29sZS5kZWJ1ZyhcImNvbG9yRWxlbWVudFwiKTtcbiAgICB0aGlzPy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKGVsZW1lbnQpPy5zdHlsZS5zZXRQcm9wZXJ0eShcImNvbG9yXCIsIGNvbG9yKTtcbiAgfVxuXG4gIC8vIHRoaXMgcmVuZGVycyB0aGUgZ2FtZSBoZWFkZXJcbiAgcHJpdmF0ZSBfcmVuZGVySGVhZGVyKGNvbnRlbnQ6IHN0cmluZyA9IHRoaXMuaTE4bi50cmFuc2xhdGUoXCJnYW1lLW5hbWVcIikpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8c2VjdGlvbiBpZD1cInRvcFwiIGNsYXNzPVwiaGVhZGVyIGd1ZXNzLXRoZS15ZWFyLWhlYWRlclwiPlxuICAgICAgICA8aDE+JHtjb250ZW50fTwvaDE+XG4gICAgICA8L3NlY3Rpb24+XG4gICAgYDtcbiAgfVxuXG4gIC8vIHRoaXMgcmVuZGVycyB0aGUgZ2FtZSBmb290ZXJcbiAgcHJpdmF0ZSBfcmVuZGVyRm9vdGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBpZiAodGhpcy5fc2hvd0Zvb3Rlcikge1xuICAgICAgcmV0dXJuIGh0bWxgXG4gICAgICA8c2VjdGlvbiBjbGFzcz1cImZvb3RlciBndWVzcy10aGUteWVhci1mb290ZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImd1ZXNzLXRoZS15ZWFyLWNvcHlyaWdodFwiPlxuICAgICAgICAgICR7XCJUaGUgVGhyb3diYWNrIENvbXBhbnkgwqlcIiArIGRheWpzKCkueWVhcigpfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvc2VjdGlvbj5cbiAgICBgO1xuICAgIH1cbiAgICByZXR1cm4gaHRtbGBgO1xuICB9XG5cbiAgLy8gcmVuZGVyIHRoZSBzcGxhc2ggc2NyZWVuXG4gIHByaXZhdGUgcmVuZGVyU3BsYXNoU2NyZWVuKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBjb25zb2xlLmRlYnVnKFwicmVuZGVyU3BsYXNoU2NyZWVuXCIpO1xuXG4gICAgLy8gKHByZXRlbmQpIHRvIGxvYWQgYmVmb3JlIHRoZSBnYW1lIHN0YXJ0c1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5fcmVuZGVyU3RhdGUgPSBHYW1lU3RhdGUuSU5UUk87XG4gICAgfSwgU1BMQVNIX0RFTEFZKTtcblxuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBpZD1cInNwbGFzaC1zY3JlZW4tY29udGFpbmVyXCIgY2xhc3M9XCJzcGxhc2hzY3JlZW5cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNwbGFzaC1sb2dvXCI+XG4gICAgICAgICAgPGgyPiR7dGhpcy5pMThuLnRyYW5zbGF0ZShcImdhbWUtbmFtZVwiKX08L2gyPlxuICAgICAgICAgIDxwPiR7dGhpcy5pMThuLnRyYW5zbGF0ZShcIkxvYWRpbmcuLi5cIil9PC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cblxuICAvLyByZW5kZXJzIGEgc2VsZWN0b3IgZm9yIGEgeWVhclxuICAvLyBUT0RPOiBzZXQgdHlwZSBvZiBzZWxlY3RvclxuICBwcml2YXRlIF9yZW5kZXJZZWFyU2VsZWN0T3B0aW9ucyhzZWxlY3RlZFZhbHVlOiBzdHJpbmcpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3Qgc2VsZWN0ZWQgPSBwYXJzZUludChzZWxlY3RlZFZhbHVlLCAxMCk7XG4gICAgLy8gcHJlLXJlbmRlciB5ZWFyIG9wdGlvbnNcbiAgICAvLyBhbmQgbWFyayBzZWxlY3RlZCB3aGVuIHRoZXkgbWF0Y2hcbiAgICBjb25zdCBzZWxlY3RZZWFyT3B0aW9ucyA9IFtdO1xuICAgIGZvciAobGV0IGkgPSBNSU5fWUVBUjsgaSA8PSBNQVhfWUVBUjsgaSArPSA1KSB7XG4gICAgICBzZWxlY3RZZWFyT3B0aW9ucy5wdXNoKGh0bWxgXG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCIke2l9XCIgP3NlbGVjdGVkPSR7c2VsZWN0ZWQgPT0gaX0+JHtpfTwvb3B0aW9uPlxuICAgICAgYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGh0bWxgJHtzZWxlY3RZZWFyT3B0aW9uc31gO1xuICB9XG5cbiAgLy8gcmVuZGVyIHRoZSBnYW1lIGludHJvXG4gIC8vIGFsbG93cyB0byBzZWxlY3QgdGhlIG51bWJlciBvZiBxdWVzdGlvbnMsXG4gIC8vIHNlbGVjdCB0aGUgeWVhciByYW5nZVxuICAvLyBhbmQgdG8gc3RhcnQgdGhlIGdhbWVcbiAgcHJpdmF0ZSByZW5kZXJHYW1lSW50cm8oKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGNvbnNvbGUuZGVidWcoXCJyZW5kZXJHYW1lSW50cm9cIik7XG5cbiAgICAvLyBwcmUtcmVuZGVyIG51bWJlciBvZiBxdWVzdGlvbiBvcHRpb25zXG4gICAgLy8gYW5kIG1hcmsgc2VsZWN0ZWQgd2hlbiB0aGV5IG1hdGNoXG4gICAgY29uc3Qgc2VsZWN0UXVlc3Rpb25PcHRpb25zID0gW107XG4gICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gTUFYX1FVRVNUSU9OUzsgaSsrKSB7XG4gICAgICBzZWxlY3RRdWVzdGlvbk9wdGlvbnMucHVzaChodG1sYFxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwiJHtpfVwiID9zZWxlY3RlZD0ke3RoaXMubnVtYmVyT2ZRdWVzdGlvbnMgPT0gaX0+XG4gICAgICAgICAgJHtpfVxuICAgICAgICA8L29wdGlvbj5cbiAgICAgIGApO1xuICAgIH1cblxuICAgIHJldHVybiBodG1sYFxuICAgICAgJHt0aGlzLl9yZW5kZXJIZWFkZXIodGhpcy5pMThuLnRyYW5zbGF0ZShcImdhbWUtaW50cm9kdWN0aW9uLXdlbGNvbWVcIikpfVxuXG4gICAgICA8ZGl2IGNsYXNzPVwiZ2FtZS1pbnRyb1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ2FtZS1leHBsYW5hdGlvblwiPlxuICAgICAgICAgIDxwPlxuICAgICAgICAgICAgJHt0aGlzLmkxOG4udHJhbnNsYXRlKFwiZ2FtZS1pbnRyb2R1Y3Rpb24tcDFcIil9XG4gICAgICAgICAgPC9wPlxuXG4gICAgICAgICAgPHA+XG4gICAgICAgICAgICAke3RoaXMuaTE4bi50cmFuc2xhdGUoXCJnYW1lLWludHJvZHVjdGlvbi1wMlwiKX1cbiAgICAgICAgICA8L3A+XG5cbiAgICAgICAgICA8cD5cbiAgICAgICAgICAgICR7dGhpcy5pMThuLnRyYW5zbGF0ZShcImdhbWUtaW50cm9kdWN0aW9uLXAzXCIpfVxuICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdhbWUtc2V0dGluZ3NcIj5cbiAgICAgICAgICA8cD5cbiAgICAgICAgICAgICR7dGhpcy5pMThuLnRyYW5zbGF0ZShcImdhbWUtc2V0dGluZ3MtcDFcIil9XG4gICAgICAgICAgICA8c2VsZWN0XG4gICAgICAgICAgICAgIEBjaGFuZ2U9XCIkeyhldmVudDogYW55KSA9PiB7XG4gICAgICAgIHRoaXMubnVtYmVyT2ZRdWVzdGlvbnMgPSBOdW1iZXIoZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICAgIH19XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgJHtzZWxlY3RRdWVzdGlvbk9wdGlvbnN9XG4gICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgICR7dGhpcy5pMThuLnRyYW5zbGF0ZShcImdhbWUtc2V0dGluZ3MtcDJcIil9XG4gICAgICAgICAgICA8c2VsZWN0IEBjaGFuZ2U9XCIke3RoaXMuX3NldEZyb21EYXRlfVwiPlxuICAgICAgICAgICAgICAke3RoaXMuX3JlbmRlclllYXJTZWxlY3RPcHRpb25zKHRoaXMuZnJvbS5mb3JtYXQoXCJZWVlZXCIpKX1cbiAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgJHt0aGlzLmkxOG4udHJhbnNsYXRlKFwiZ2FtZS1zZXR0aW5ncy1wM1wiKX1cbiAgICAgICAgICAgIDxzZWxlY3QgQGNoYW5nZT1cIiR7dGhpcy5fc2V0VG9EYXRlfVwiPlxuICAgICAgICAgICAgICAke3RoaXMuX3JlbmRlclllYXJTZWxlY3RPcHRpb25zKHRoaXMudG8uZm9ybWF0KFwiWVlZWVwiKSl9XG4gICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgICR7dGhpcy5pMThuLnRyYW5zbGF0ZShcImdhbWUtc2V0dGluZ3MtcDRcIil9XG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ2FtZS1zdGFydFwiPlxuICAgICAgICAgIDxidXR0b24gQGNsaWNrPVwiJHt0aGlzLnNldHVwTmV3R2FtZX1cIj4ke3RoaXMuaTE4bi50cmFuc2xhdGUoXCJzdGFydFwiKX08L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0RnJvbURhdGUoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuZnJvbSA9IHRoaXMuZnJvbS55ZWFyKGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIF9zZXRUb0RhdGUoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudG8gPSB0aGlzLnRvLnllYXIoZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgfVxuXG4gIC8vIHJlbmRlcnMgdGhlIGFjdHVhbCBnYW1lIHN0YWdlXG4gIHByaXZhdGUgcmVuZGVyR2FtZVN0YWdlKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBjb25zb2xlLmRlYnVnKFwicmVuZGVyR2FtZVN0YWdlXCIpO1xuXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICAke3RoaXMuX3JlbmRlckhlYWRlcih0aGlzLmkxOG4udHJhbnNsYXRlKFwiZ2FtZS1jYWxsLXRvLWFjdGlvblwiKS5yZXBsYWNlKC9fX0ZST01fXy8sIHRoaXMuZnJvbS55ZWFyKCkgKyAnJykucmVwbGFjZSgvX19UT19fLywgdGhpcy50by55ZWFyKCkgKyAnJykpfVxuICAgICAgPGRpdiBjbGFzcz1cImd1ZXNzLXRoZS15ZWFyLWdhbWUtc3RhZ2VcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdhbWUtc2NvcmVcIj4ke3RoaXMuX3JlbmRlckdhbWVTY29yZSgpfTwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5jaWRlbnRcIj4ke3RoaXMuX3JlbmRlckluY2lkZW50KCl9PC9kaXY+XG4gICAgICAgICAgJHt0aGlzLl9yZW5kZXJIaW50KCl9XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNvdXJjZXNcIj4ke3RoaXMucmVuZGVyU291cmNlcygpfTwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ2FtZS1jb250cm9sc1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJnYW1lLWNvbnRyb2xzLS1oaW50XCI+JHt0aGlzLl9yZW5kZXJIaW50QnV0dG9uKCl9PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdhbWUtY29udHJvbHMtLWFuc3dlcnNcIj4ke3RoaXMuX3JlbmRlckFuc3dlcnMoKX08L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgJHt0aGlzLl9yZW5kZXJGZWVkYmFjaygpfVxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxuXG4gIC8vIHJlbmRlcnMgdGhlIGl0ZW0gZm9yIHRoZSB5ZWFyIHRvIGd1ZXNzXG4gIHByaXZhdGUgX3JlbmRlckluY2lkZW50KCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJpbmNpZGVudC0tdGl0bGVcIj5cbiAgICAgICAgPGgxPiR7dGhpcy5faW5jaWRlbnQ/LnRpdGxlfTwvaDE+XG4gICAgICA8L2Rpdj5cblxuICAgICAgJHt0aGlzLl9yZW5kZXJJbmNpZGVudEltYWdlKHRoaXMuX2luY2lkZW50KX1cblxuICAgICAgPGRpdiBjbGFzcz1cImluY2lkZW50LS10ZXh0XCI+XG4gICAgICAgIDxwPiR7dGhpcy5faW5jaWRlbnQ/LnRleHR9PC9wPlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxuXG4gIHByaXZhdGUgX3Nob3VsZERpc3BsYXlBbkltYWdlKGluY2lkZW50OiBJbmNpZGVudCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGhhc0ltYWdlID0gISEoaW5jaWRlbnQgJiYgaW5jaWRlbnQuaW1hZ2UgJiYgaW5jaWRlbnQuaW1hZ2VbMF0pO1xuICAgIGNvbnN0IGRpc3BsYXlJbWFnZXMgPSAhdGhpcy5zdXBwcmVzc0ltYWdlcztcbiAgICByZXR1cm4gaGFzSW1hZ2UgJiYgZGlzcGxheUltYWdlcztcbiAgfVxuXG4gIC8vIHJlbmRlcnMgdGhlIG9wdGlvbmFsIGltYWdlIHdpdGggdGhlIGl0ZW1cbiAgcHJpdmF0ZSBfcmVuZGVySW5jaWRlbnRJbWFnZShpbmNpZGVudDogSW5jaWRlbnQgfCB1bmRlZmluZWQpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgaWYgKGluY2lkZW50ICYmIHRoaXMuX3Nob3VsZERpc3BsYXlBbkltYWdlKGluY2lkZW50KSkge1xuICAgICAgcmV0dXJuIGh0bWxgXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbmNpZGVudC0taW1hZ2VcIj5cbiAgICAgICAgICA8aW1nIFxuICAgICAgICAgICAgQGVycm9yPSR7KGV2dDogRXZlbnQpID0+IHtcbiAgICAgICAgICB0aGlzLl9oYW5kbGVJbWFnZUxvYWRFcnJvcihldnQsIGluY2lkZW50KTtcbiAgICAgICAgfX1cbiAgICAgICAgICAgIHNyYz1cIiR7aW5jaWRlbnQuaW1hZ2VbMF19XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIGA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGh0bWxgYDtcbiAgfVxuXG4gIC8vIHJlbmRlcnMgYSBsaXN0IG9mIHBvc3NpYmxlIGFuc3dlcnNcbiAgcHJpdmF0ZSBfcmVuZGVyQW5zd2VycygpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwiYW5zd2Vycy0tbGlzdFwiPlxuICAgICAgICA8dWw+XG4gICAgICAgICAgJHt0aGlzLl9hbnN3ZXJzLm1hcChcbiAgICAgIChhbnN3ZXIpID0+XG4gICAgICAgIGh0bWxgPGxpIEBjbGljaz1cIiR7dGhpcy5faGFuZGxlQW5zd2VyQ2xpY2tlZH1cIj4ke2Fuc3dlcn08L2xpPmAsXG4gICAgKX1cbiAgICAgICAgPC91bD5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cblxuICAvLyByZW5kZXJzIHRoZSBjdXJyZW50IHF1ZXN0aW9uIHNjb3JlXG4gIC8vIGl0IGNvdW50cyBiYWNrIHRvIDBcbiAgcHJpdmF0ZSBfcmVuZGVyR2FtZVNjb3JlKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJnYW1lLXNjb3JlLS10b3RhbFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ2FtZS1zY29yZS0tbGFiZWxcIj4ke3RoaXMuaTE4bi50cmFuc2xhdGUoXCJxdWVzdGlvbi1udW1iZXJcIil9OjwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ2FtZS1zY29yZS0tdmFsdWVcIj5cbiAgICAgICAgICAke3RoaXMuX251bWJlck9mUXVlc3Rpb25zU2Vlbn0gdmFuICR7dGhpcy5udW1iZXJPZlF1ZXN0aW9uc31cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImdhbWUtc2NvcmUtLXNjb3JlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnYW1lLXNjb3JlLS1sYWJlbFwiPiR7dGhpcy5pMThuLnRyYW5zbGF0ZShcInF1ZXN0aW9uLXNjb3JlXCIpfTo8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdhbWUtc2NvcmUtLXZhbHVlXCI+JHt0aGlzLl9zY29yZTAudmFsdWV9PC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImdhbWUtc2NvcmUtLXRvdGFsXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnYW1lLXNjb3JlLS1sYWJlbFwiPiR7dGhpcy5pMThuLnRyYW5zbGF0ZShcInRvdGFsLXNjb3JlXCIpfTo8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdhbWUtc2NvcmUtLXZhbHVlXCI+JHt0aGlzLnRvdGFsU2NvcmV9PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG5cbiAgLy8gaGFuZGxlcyB0aGUgY2xpY2sgb24gYW4gYW5zd2VyXG4gIHByaXZhdGUgX2hhbmRsZUFuc3dlckNsaWNrZWQoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIC8vIGdldCB0aGUgY2xpY2tlZCBhbnN3ZXJcbiAgICBjb25zdCBhbnN3ZXIgPSBldmVudC50YXJnZXQudGV4dENvbnRlbnQ7XG5cbiAgICAvLyBzdG9wIHRoZSBzY29yZSBjb3VudGVyXG4gICAgdGhpcy5fc2NvcmUwLnN0b3AoKTtcblxuICAgIC8vIHJlbW92ZSB0aGUgaGludCBidXR0b25cbiAgICB0aGlzLl9zaG93SGludCA9IGZhbHNlO1xuXG4gICAgLy8gY2hlY2sgaWYgdGhlIGFuc3dlciBpcyBjb3JyZWN0XG4gICAgaWYgKGFuc3dlcikge1xuICAgICAgLy8gdGhpcy5fYXBpU2VydmljZS5wb3N0SW5jaWRlbnRBbnN3ZXIodGhpcy5faW5jaWRlbnQ/LmlkLCBhbnN3ZXIpO1xuICAgICAgY29uc29sZS5kZWJ1ZyhcbiAgICAgICAgYW5zd2VyLFxuICAgICAgICB0aGlzLl9zb2x1dGlvbixcbiAgICAgICAgdGhpcy5fc2NvcmUsXG4gICAgICAgIGFuc3dlciA9PSB0aGlzLl9zb2x1dGlvbixcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuX2Fuc3dlciA9IGFuc3dlcjtcbiAgICB9XG4gIH1cblxuICAvLyByZW5kZXJzIHRoZSByZXF1ZXN0ZWQgaGludFxuICBwcml2YXRlIF9yZW5kZXJIaW50KCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBpZiAoIXRoaXMuX2hpbnQpIHtcbiAgICAgIHJldHVybiBodG1sYGA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGh0bWxgIDxwPiR7dGhpcy5faGludH08L3A+IGA7XG4gIH1cblxuICAvLyByZW5kZXJzIHRoZSBoaW50IGJ1dHRvbiB1bnRpbFxuICAvLyBhbGwgbWF4IGhpbnRzIGhhdmUgYmVlbiB1c2VkXG4gIHByaXZhdGUgX3JlbmRlckhpbnRCdXR0b24oKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGlmICghdGhpcy5fc2hvd0hpbnQpIHtcbiAgICAgIHJldHVybiBodG1sYGA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwiZ2FtZS1jb250cm9scy0taGludFwiPlxuICAgICAgICA8YnV0dG9uIEBjbGljaz1cIiR7dGhpcy5faGFuZGxlSGludENsaWNrZWR9XCI+XG4gICAgICAgICAke3RoaXMuaTE4bi50cmFuc2xhdGUoXCJzaG93LWhpbnRcIil9ICgke3RoaXMuX2hpbnRzLmxlbmd0aCAtIHRoaXMuX2hpbnRzSW5kZXh9KVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cblxuICAvLyBoYW5kbGVzIHRoZSBjbGljayBvbiB0aGUgaGludCBidXR0b25cbiAgLy8gYW5kIHNob3dzIHRoZSBuZXh0IGhpbnQgaWYgYXZhaWxhYmxlXG4gIC8vIHN1YnRyYWN0cyB0aGUgY29zdCBvZiB0aGUgaGludCBmcm9tXG4gIC8vIHRoZSBxdWVzdGlvbiBzY29yZVxuICBwcml2YXRlIF9oYW5kbGVIaW50Q2xpY2tlZCgpOiB2b2lkIHtcbiAgICBjb25zb2xlLmRlYnVnKFwiaGFuZGxlSGludENsaWNrZWRcIiwgW3RoaXMuX2hpbnRzSW5kZXgsIHRoaXMuX2hpbnRzLmxlbmd0aF0pO1xuXG4gICAgaWYgKHRoaXMuX2hpbnRzSW5kZXggPCB0aGlzLl9oaW50cy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IGhpbnRUZXh0ID0gdGhpcy5fZ2VuZXJhdGVIaW50VGV4dCh0aGlzLl9oaW50c1t0aGlzLl9oaW50c0luZGV4XSk7XG5cbiAgICAgIGlmIChoaW50VGV4dCkge1xuICAgICAgICB0aGlzLl9oaW50ID0gaGludFRleHQ7XG4gICAgICAgIHRoaXMuX2hpbnRzSW5kZXgrKztcbiAgICAgICAgdGhpcy5fc2NvcmUwLnN1YnRyYWN0KEhJTlRfQ09TVCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2hpbnRzSW5kZXggPj0gdGhpcy5faGludHMubGVuZ3RoKSB7XG4gICAgICAvLyB0aGlzLl9oaW50c0luZGV4ID0gMDtcbiAgICAgIHRoaXMuX3Nob3dIaW50ID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLy8gcmVuZGVycyB0aGUgZmVlZGJhY2sgb3ZlcmxheVxuICBwcml2YXRlIF9yZW5kZXJGZWVkYmFjaygpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgLy8gZG8gbm90IHNob3cgYW55dGhpbmcgdW50aWwgYW4gYW5zd2VyIGhhcyBiZWVuIG1hZGVcbiAgICAvLyBhbmQgdGhlIHNjb3JlIGlzIGdyZWF0ZXIgdGhhbiAwXG4gICAgaWYgKCF0aGlzLl9hbnN3ZXIgJiYgdGhpcy5fc2NvcmUwLnZhbHVlID4gMCkge1xuICAgICAgcmV0dXJuIGh0bWxgYDtcbiAgICB9XG5cbiAgICAvLyBjaGVjayBpZiB0aGUgYW5zd2VyIGlzIGNvcnJlY3RcbiAgICAvLyBjYXN0IHRvIHN0cmluZ3MgdG8gY29tcGFyZVxuICAgIGNvbnN0IGlzX2NvcnJlY3QgPSB0aGlzLl9hbnN3ZXIgKyBcIlwiID09IHRoaXMuX3NvbHV0aW9uICsgXCJcIjtcbiAgICBjb25zdCBzY29yZSA9IGlzX2NvcnJlY3QgPyB0aGlzLl9zY29yZTAudmFsdWUgOiAwO1xuXG4gICAgaWYgKHRoaXMuX3Njb3JlMC5pc1J1bm5pbmcoKSkge1xuICAgICAgdGhpcy5fc2NvcmUwLnN0b3AoKTtcbiAgICB9XG5cbiAgICB0aGlzLnRvdGFsU2NvcmUgKz0gc2NvcmU7XG5cbiAgICBpZiAoaXNfY29ycmVjdCkge1xuICAgICAgcmV0dXJuIGh0bWxgXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmZWVkYmFja1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZWVkYmFjay0tY29udGVudFwiPlxuICAgICAgICAgICAgPGgzPiR7dGhpcy5pMThuLnRyYW5zbGF0ZShcImFuc3dlci1jb3JyZWN0XCIpfSE8L2gzPlxuICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICR7dGhpcy5faGludHNJbmRleCA9PSAxID8gdGhpcy5pMThuLnRyYW5zbGF0ZShcInVzZWQtaGludC1zaW5ndWxhclwiKSA6IHRoaXMuaTE4bi50cmFuc2xhdGUoXCJ1c2VkLWhpbnQtcGx1cmFsXCIpLnJlcGxhY2UoL19fSElOVFNfXy8sIHRoaXMuX2hpbnRzSW5kZXggKyAnJyl9XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgJHtzY29yZSA9PSAxID8gdGhpcy5pMThuLnRyYW5zbGF0ZShcIm51bWJlci1wb2ludHMtc2luZ3VsYXJcIikgOiB0aGlzLmkxOG4udHJhbnNsYXRlKFwibnVtYmVyLXBvaW50cy1wbHVyYWxcIikucmVwbGFjZSgvX19QT0lOVFNfXy8sIHNjb3JlICsgJycpfVxuICAgICAgICAgICAgPC9wPlxuXG4gICAgICAgICAgICAke3RoaXMuX3JlbmRlck5leHRRdWVzdGlvbkJ1dHRvbigpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIGA7XG4gICAgfSBlbHNlIGlmICghaXNfY29ycmVjdCAmJiB0aGlzLl9hbnN3ZXIpIHtcbiAgICAgIHJldHVybiBodG1sYFxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmVlZGJhY2tcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmVlZGJhY2stLWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxoMz4ke3RoaXMuaTE4bi50cmFuc2xhdGUoXCJhbnN3ZXItd3JvbmdcIil9PC9oMz5cbiAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAke3RoaXMuaTE4bi50cmFuc2xhdGUoXCJjb3JyZWN0LWFuc3dlci13YXNcIikucmVwbGFjZSgvX19XUk9OR19fLywgdGhpcy5fYW5zd2VyICsgJycpLnJlcGxhY2UoL19fQ09SUkVDVF9fLywgdGhpcy5fc29sdXRpb24gKyAnJyl9XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAke3RoaXMuX3JlbmRlck5leHRRdWVzdGlvbkJ1dHRvbigpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIGA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBodG1sYFxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmVlZGJhY2tcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmVlZGJhY2stLWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxoMz5IZWxhYXM8L2gzPlxuICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAke3RoaXMuaTE4bi50cmFuc2xhdGUoXCJuby1hbnN3ZXItY29ycmVjdC1hbnN3ZXItd2FzXCIpLnJlcGxhY2UoL19fQ09SUkVDVF9fLywgdGhpcy5fc29sdXRpb24gKyAnJyl9XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAke3RoaXMuX3JlbmRlck5leHRRdWVzdGlvbkJ1dHRvbigpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIGA7XG4gICAgfVxuICB9XG5cbiAgLy8gcmVuZGVycyB0aGUgbmV4dCBxdWVzdGlvbiBidXR0b25cbiAgcHJpdmF0ZSBfcmVuZGVyTmV4dFF1ZXN0aW9uQnV0dG9uKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBpZiAodGhpcy5fbnVtYmVyT2ZRdWVzdGlvbnNTZWVuIDwgdGhpcy5udW1iZXJPZlF1ZXN0aW9ucykge1xuICAgICAgcmV0dXJuIGh0bWxgXG4gICAgICAgIDxidXR0b24gQGNsaWNrPVwiJHt0aGlzLl9sb2FkUXVlc3Rpb259XCI+JHt0aGlzLmkxOG4udHJhbnNsYXRlKFwibmV4dC1xdWVzdGlvblwiKX08L2J1dHRvbj5cbiAgICAgIGA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGh0bWxgIDxidXR0b24gQGNsaWNrPVwiJHt0aGlzLl9lbmRHYW1lfVwiPiR7dGhpcy5pMThuLnRyYW5zbGF0ZShcInF1aXRcIil9PC9idXR0b24+IGA7XG4gIH1cblxuICAvLyByZW5kZXJzIHRoZSBlbmQgb2YgdGhlIGdhbWVcbiAgcHJpdmF0ZSBfZW5kR2FtZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9yZW5kZXJTdGF0ZSA9IEdhbWVTdGF0ZS5FTkQ7XG4gIH1cblxuICBwcml2YXRlIHJlbmRlckdhbWVFbmQoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIC8vIGNsZWFySW50ZXJ2YWwodGhpcy5fc2NvcmVJbnRlcnZhbEhhbmRsZXIpO1xuXG4gICAgY29uc29sZS5kZWJ1ZyhcInJlbmRlckdhbWVFbmRcIik7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICAke3RoaXMuX3JlbmRlckhlYWRlcihcIlRoZSBlbmQhXCIpfVxuICAgICAgPGRpdiBjbGFzcz1cImd1ZXNzLXRoZS15ZWFyLWdhbWUtZW5kXCI+JHt0aGlzLmkxOG4udHJhbnNsYXRlKFwiZW5kXCIpfTwvZGl2PlxuICAgICAgPGJ1dHRvbiBAY2xpY2s9XCIkeygpID0+ICh0aGlzLl9yZW5kZXJTdGF0ZSA9IEdhbWVTdGF0ZS5TUExBU0gpfVwiPlxuICAgICAgJHt0aGlzLmkxOG4udHJhbnNsYXRlKFwibmV3LWdhbWVcIil9XG4gICAgICA8L2J1dHRvbj5cbiAgICAgICR7dGhpcy5fcmVuZGVyRm9vdGVyKCl9XG4gICAgYDtcbiAgfVxuXG4gIC8vIHByaXZhdGUgX2luY2lkZW50c1N0YWNrID0gW107XG5cbiAgLy8gcHJpdmF0ZSBfdG90YWxTY29yZTogbnVtYmVyID0gMDtcblxuICBwcml2YXRlIHNldHVwTmV3R2FtZSgpOiB2b2lkIHtcbiAgICBjb25zb2xlLmRlYnVnKFwibmV3IGdhbWUhXCIpO1xuXG4gICAgY29uc29sZS5kZWJ1Zyh7XG4gICAgICBcIm51bWJlciBvZiBxdWVzdGlvbnNcIjogdGhpcy5udW1iZXJPZlF1ZXN0aW9ucyxcbiAgICAgIGZyb206IHRoaXMuZnJvbS50b0lTT1N0cmluZygpLFxuICAgICAgdG86IHRoaXMudG8udG9JU09TdHJpbmcoKSxcbiAgICB9KTtcblxuICAgIHRoaXMudG90YWxTY29yZSA9IDA7XG4gICAgdGhpcy5fbnVtYmVyT2ZRdWVzdGlvbnNTZWVuID0gMDtcblxuICAgIC8vIHRoaXMuX3F1ZXN0aW9uLmxvYWQodGhpcy5mcm9tLmZvcm1hdCgnWVlZWScpLCB0aGlzLnRvLmZvcm1hdCgnWVlZWScpKTtcbiAgICAvLyB0aGlzLl9xdWVzdGlvbi5pbml0KCk7XG5cbiAgICB0aGlzLl9sb2FkUXVlc3Rpb24oKTtcbiAgfVxuXG4gIHByaXZhdGUgX3Jlc2V0U3RhZ2UoKTogdm9pZCB7XG4gICAgLy8gd2luZG93LnNjcm9sbFRvKDAsIDApO1xuICAgIHRoaXMuc291cmNlcyA9IFtdO1xuICAgIHRoaXMuX2luY2lkZW50ID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuX2hpbnRzID0gW107XG4gICAgdGhpcy5fYW5zd2VyID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuX2Fuc3dlcnMgPSBbXTtcbiAgICB0aGlzLl9oaW50c0luZGV4ID0gMDtcbiAgICB0aGlzLl9zY29yZTAucmVzZXQoKTtcbiAgICB0aGlzLl9zaG93SGludCA9IGZhbHNlO1xuICAgIHRoaXMuX2hpbnQgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBhc3luYyBfbG9hZFF1ZXN0aW9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuX3Jlc2V0U3RhZ2UoKTtcblxuICAgIGNvbnN0IHJlc3BvbnNlOiB7IGluY2lkZW50OiBJbmNpZGVudCB8IHVuZGVmaW5lZDsgc291cmNlczogc3RyaW5nW10gfSA9XG4gICAgICBhd2FpdCB0aGlzLl9hcGlTZXJ2aWNlLmZldGNoT25lSW5jaWRlbnQoXG4gICAgICAgIHRoaXMuY291bnRyeSxcbiAgICAgICAgdGhpcy5jYXRlZ29yeSxcbiAgICAgICAgdGhpcy5lbW90aW9uLFxuICAgICAgICB0aGlzLmltcGFjdCxcbiAgICAgICAgdGhpcy5kYXRlLFxuICAgICAgICB0aGlzLmZyb20uZm9ybWF0KFwiWVlZWS1NTS1ERFwiKSxcbiAgICAgICAgdGhpcy50by5mb3JtYXQoXCJZWVlZLU1NLUREXCIpLFxuICAgICAgICBcIjQwXCIsXG4gICAgICAgIFwicXVpel95ZWFyXCJcbiAgICAgICk7XG5cbiAgICB0aGlzLl9pbmNpZGVudCA9IHJlc3BvbnNlLmluY2lkZW50O1xuICAgIHRoaXMuc291cmNlcyA9IHJlc3BvbnNlLnNvdXJjZXM7XG5cbiAgICB0aGlzLl9zb2x1dGlvbiA9IE51bWJlcihcbiAgICAgIChyZXNwb25zZS5pbmNpZGVudD8ueWVhcnBsdXNtb250aCB8fCBcIlwiKS5zdWJzdHJpbmcoMCwgNCksXG4gICAgKTtcblxuICAgIGNvbnN0IGFuc3dlcnMgPSBbdGhpcy5fc29sdXRpb25dO1xuICAgIGNvbnN0IGZyb20gPSB0aGlzLmZyb20ueWVhcigpO1xuICAgIGNvbnN0IHRvID0gdGhpcy50by55ZWFyKCk7XG5cbiAgICAvLyBnZW5lcmF0ZSAzIG1vcmUgcmFuZG9tIGFuZCB1bmlxdWUgYW5zd2VycyBiZXR3ZWVuIHRvIGFuZCBmcm9tXG4gICAgd2hpbGUgKGFuc3dlcnMubGVuZ3RoIDwgNCkge1xuICAgICAgY29uc3QgcmFuZG9tQW5zd2VyID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKHRvIC0gZnJvbSkpICsgZnJvbTtcbiAgICAgIGlmICghYW5zd2Vycy5pbmNsdWRlcyhyYW5kb21BbnN3ZXIpKSB7XG4gICAgICAgIGFuc3dlcnMucHVzaChyYW5kb21BbnN3ZXIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIHNvcnQgdGhlc2VzIGFuc3dlcnNcbiAgICBhbnN3ZXJzLnNvcnQoKTtcblxuICAgIHRoaXMuX2Fuc3dlcnMgPSBhbnN3ZXJzO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLm1heEhpbnRzOyBpKyspIHtcbiAgICAgIGNvbnNvbGUuZGVidWcoXCJsb2FkaW5nIGhpbnRcIiwgaSk7XG5cbiAgICAgIGNvbnN0IHJlc3BvbnNlOiB7IGluY2lkZW50OiBJbmNpZGVudCB8IHVuZGVmaW5lZDsgc291cmNlczogc3RyaW5nW10gfSA9XG4gICAgICAgIGF3YWl0IHRoaXMuX2FwaVNlcnZpY2UuZmV0Y2hPbmVJbmNpZGVudChcbiAgICAgICAgICB0aGlzLmNvdW50cnksXG4gICAgICAgICAgVXRpbC5zaHVmZmxlQXJyYXkoWy4uLkNhdGVnb3JpZXNdKS5zaGlmdCgpLFxuICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgXCJcIixcbiAgICAgICAgICBgJHt0aGlzLl9zb2x1dGlvbn0tMDEtMDFgLFxuICAgICAgICAgIGAke3RoaXMuX3NvbHV0aW9ufS0xMi0zMWAsXG4gICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgKTtcblxuICAgICAgaWYgKHJlc3BvbnNlLmluY2lkZW50KSB7XG4gICAgICAgIHRoaXMuX2hpbnRzLnB1c2gocmVzcG9uc2UuaW5jaWRlbnQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLl9oaW50cy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuX3Nob3dIaW50ID0gZmFsc2U7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5fc2hvd0hpbnQgPSB0cnVlO1xuICAgIH1cblxuICAgIC8vIHN0YXJ0IHJlbmRlciBnYW1lIHN0YWdlXG4gICAgdGhpcy5fcmVuZGVyU3RhdGUgPSBHYW1lU3RhdGUuUExBWTtcblxuICAgIC8vIHN0YXJ0IHNjb3JlIGNvdW50ZXJcbiAgICB0aGlzLl9zY29yZTAuc3RhcnQoKTtcblxuICAgIC8vIGluY3JlbWVudCBxdWVzdGlvbiBjb3VudGVyXG4gICAgdGhpcy5fbnVtYmVyT2ZRdWVzdGlvbnNTZWVuICs9IDE7XG4gIH1cblxuICBwcml2YXRlIF9nZW5lcmF0ZUhpbnRUZXh0KGhpbnRJbmNpZGVudDogSW5jaWRlbnQpOiBzdHJpbmcge1xuICAgIGxldCBoaW50ID0gXCJcIjtcbiAgICBjb25zdCBoaW50VGVtcGxhdGVzID0gdGhpcy5pMThuLkhpbnRUZW1wbGF0ZXNbaGludEluY2lkZW50LmNhdGVnb3J5XTtcbiAgICBzd2l0Y2ggKGhpbnRJbmNpZGVudC5jYXRlZ29yeSkge1xuICAgICAgY2FzZSBDYXRlZ29yeS5uZXdzSXRlbTpcbiAgICAgICAgaGludCA9IChcbiAgICAgICAgICBoaW50VGVtcGxhdGVzW01hdGgucm91bmQoTWF0aC5yYW5kb20oKSAqIGhpbnRUZW1wbGF0ZXMubGVuZ3RoKV0gfHwgXCJcIlxuICAgICAgICApLnJlcGxhY2UoL19fVElUTEVfXy8sIGhpbnRJbmNpZGVudC50aXRsZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBDYXRlZ29yeS5yYWRpb1Nvbmc6XG4gICAgICAgIC8vIFRoZSB0aXRsZSBwcm9wZXJ0eSBvZiByYWRpb1NvbmdzIGFsd2F5cyBmb2xsb3cgdGhpcyBwYXR0ZXJuOiB0cmFjayAtIGFydGlzdFxuICAgICAgICBjb25zdCB0cmFjayA9IGhpbnRJbmNpZGVudC50aXRsZS5yZXBsYWNlKC8oLio/KVxccytcXC0uKi8sIFwiJDFcIik7XG4gICAgICAgIGNvbnN0IGFydGlzdCA9IGhpbnRJbmNpZGVudC50aXRsZS5yZXBsYWNlKC8uKlxcLSguKikvLCBcIiQxXCIpO1xuICAgICAgICBoaW50ID0gKFxuICAgICAgICAgIGhpbnRUZW1wbGF0ZXNbTWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpICogaGludFRlbXBsYXRlcy5sZW5ndGgpXSB8fFxuICAgICAgICAgIGhpbnRUZW1wbGF0ZXNbMF1cbiAgICAgICAgKVxuICAgICAgICAgIC5yZXBsYWNlKC9fX0FSVElTVF9fLywgYXJ0aXN0KVxuICAgICAgICAgIC5yZXBsYWNlKC9fX1RSQUNLX18vLCB0cmFjayk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBDYXRlZ29yeS5jaW5lbWFNb3ZpZTpcbiAgICAgICAgaGludCA9IChcbiAgICAgICAgICBoaW50VGVtcGxhdGVzW01hdGgucm91bmQoTWF0aC5yYW5kb20oKSAqIGhpbnRUZW1wbGF0ZXMubGVuZ3RoKV0gfHxcbiAgICAgICAgICBoaW50VGVtcGxhdGVzWzBdXG4gICAgICAgICkucmVwbGFjZSgvX19USVRMRV9fLywgaGludEluY2lkZW50LnRpdGxlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIENhdGVnb3J5LnRlY2g6XG4gICAgICAgIGhpbnQgPSAoXG4gICAgICAgICAgaGludFRlbXBsYXRlc1tNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiBoaW50VGVtcGxhdGVzLmxlbmd0aCldIHx8XG4gICAgICAgICAgaGludFRlbXBsYXRlc1swXVxuICAgICAgICApLnJlcGxhY2UoL19fVElUTEVfXy8sIGhpbnRJbmNpZGVudC50aXRsZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBDYXRlZ29yeS5uZXdzUHJlc2VudGVyOlxuICAgICAgICBoaW50ID0gKFxuICAgICAgICAgIGhpbnRUZW1wbGF0ZXNbTWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpICogaGludFRlbXBsYXRlcy5sZW5ndGgpXSB8fFxuICAgICAgICAgIGhpbnRUZW1wbGF0ZXNbMF1cbiAgICAgICAgKS5yZXBsYWNlKC9fX1RJVExFX18vLCBoaW50SW5jaWRlbnQudGl0bGUgfHwgaGludEluY2lkZW50LnRleHQpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQ2F0ZWdvcnkuc3BvcnRzOlxuICAgICAgICBoaW50ID0gKFxuICAgICAgICAgIGhpbnRUZW1wbGF0ZXNbTWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpICogaGludFRlbXBsYXRlcy5sZW5ndGgpXSB8fFxuICAgICAgICAgIGhpbnRUZW1wbGF0ZXNbMF1cbiAgICAgICAgKS5yZXBsYWNlKC9fX1RJVExFX18vLCBoaW50SW5jaWRlbnQudGl0bGUgfHwgaGludEluY2lkZW50LnRleHQpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQ2F0ZWdvcnkuc2hvd2Jpeno6XG4gICAgICAgIGhpbnQgPSAoXG4gICAgICAgICAgaGludFRlbXBsYXRlc1tNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiBoaW50VGVtcGxhdGVzLmxlbmd0aCldIHx8XG4gICAgICAgICAgaGludFRlbXBsYXRlc1swXVxuICAgICAgICApLnJlcGxhY2UoL19fVElUTEVfXy8sIGhpbnRJbmNpZGVudC50aXRsZSB8fCBoaW50SW5jaWRlbnQudGV4dCk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICByZXR1cm4gaGludDtcbiAgfVxuXG4gIHJlbmRlclNvdXJjZXMoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGNvbnNvbGUuZGVidWcoXCJyZW5kZXJTb3VyY2VzXCIpO1xuICAgIGlmICghdGhpcy5zb3VyY2VzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIGh0bWxgYDtcbiAgICB9XG4gICAgLy8gZGVkdXBsaWNhdGUgYXJyYXkgdmlhIFsuLi5uZXcgU2V0KHRoaXMuc291cmNlcyldXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwiZ3Vlc3MtdGhlLXllYXItc291cmNlc1wiPlxuICAgICAgICBTb3VyY2U6ICR7Wy4uLm5ldyBTZXQodGhpcy5zb3VyY2VzKV0uam9pbihcIiwgXCIpfVxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxuXG4gIF9oYW5kbGVJbWFnZUxvYWRFcnJvciA9IChldnQ6IEV2ZW50LCBpbmNpZGVudDogSW5jaWRlbnQpID0+IHtcbiAgICAvLyBncmFiIHRoZSBpbWFnZSBlbGVtZW50IHRoYXQgdHJpZ2dlcmVkIHRoZSBlcnJvclxuICAgIGNvbnN0IHRhcmdldEltYWdlID0gZXZ0LnRhcmdldCBhcyBIVE1MSW1hZ2VFbGVtZW50O1xuICAgIGNvbnNvbGUuZGVidWcoYEVycm9yIGxvYWRpbmcgaW1hZ2U6ICR7dGFyZ2V0SW1hZ2Uuc3JjfWApO1xuXG4gICAgLy8gZmluZCBvdXQgd2hpY2ggbm8gaW1hZ2Ugc291cmNlIG5lZWRzIHRvIGJlIHVzZWRcbiAgICBjb25zdCBub0ltYWdlU3JjID0gdGhpcy5ub0ltYWdlU3JjIHx8IE5vSW1hZ2VJbWc7XG5cbiAgICAvLyBkb24ndCB0cnkgdG8gc2V0IHRoZSBpbWFnZSBzb3VyY2UgaWYgaXRcbiAgICAvLyBoYXMgYWxyZWFkeSBiZWVuIHNldFxuICAgIGlmICh0YXJnZXRJbWFnZS5zcmMgPT0gbm9JbWFnZVNyYykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIHJlcG9ydCBicm9rZW4gaW1hZ2VzIGJhY2sgdG8gdGhlIHNlcnZlciBpZiBzZXQuXG4gICAgaWYgKHRoaXMucmVwb3J0QnJva2VuSW1hZ2VzKSB7XG4gICAgICBpZiAoaW5jaWRlbnQpIHtcbiAgICAgICAgdGhpcy5fYXBpU2VydmljZS5wb3N0QXR0cmlidXRlUXVhbGl0eUZlZWRiYWNrKFxuICAgICAgICAgIGluY2lkZW50LmlkLFxuICAgICAgICAgIFwiaW1hZ2VcIixcbiAgICAgICAgICB0YXJnZXRJbWFnZS5zcmMsXG4gICAgICAgICAgQ29udGVudEZlZWRiYWNrLmluY29ycmVjdCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyB3YWl0IGEgYml0IGJlZm9yZSBzZXR0aW5nIHRoZSBpbWFnZVxuICAgIC8vIHNvIHdlIGRvbid0IGhhbW1lciB0aGUgbm8gaW1hZ2Ugc2VydmVyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0YXJnZXRJbWFnZS5zcmMgPSBub0ltYWdlU3JjO1xuICAgIH0sIDI1MCk7XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH07XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgXCJndWVzcy10aGUteWVhclwiOiBHdWVzc1RoZVllYXI7XG4gIH1cbn1cbiIsImltcG9ydCB7IElTdHJpbmdBcnJheUhhc2ggfSBmcm9tIFwiLi4vVXRpbFwiO1xuaW1wb3J0IHsgTkwgfSBmcm9tIFwiLi9OTFwiO1xuaW1wb3J0IHsgRU4gfSBmcm9tIFwiLi9FTlwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIGkxOG4ge1xuICBIaW50VGVtcGxhdGVzOiBJU3RyaW5nQXJyYXlIYXNoO1xuXG4gIHRyYW5zbGF0ZShrZXk6IHN0cmluZyk6IHN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGkxOG5GYWN0b3J5KGxhbmd1YWdlOiBzdHJpbmcpOiBpMThuIHtcbiAgc3dpdGNoIChsYW5ndWFnZSkge1xuICAgIGNhc2UgXCJlblwiOlxuICAgICAgcmV0dXJuIG5ldyBFTigpO1xuICB9XG4gIHJldHVybiBuZXcgTkwoKTtcbn1cbiIsIlxuZXhwb3J0IGNvbnN0IE5vSW1hZ2VJbWcgPVxuICBcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFCQlFBQUFGRUNBWUFBQUNYcVczTUFBQU1hV2xEUTFCSlEwTWdVSEp2Wm1sc1pRQUFTSW1WVndkVVU4a2FubHVTa0pEUUFoR1FFbm9UcEZjcEliUUFBbElGR3lFSkpKUVlFb0tLSFZsVWNLMklLRlowVmNTMnVnS3lGc1JlRnNIZUZ3c3F5cnFvaTZLb3ZBa0o2THF2blBlZk0zZStmUFBQMys1TTdnd0FtbjFjaVNRWDFRSWdUMXdnalE4UFpvNVBUV09TbmdFVWFBSWQ0QUpNdUR5WmhCVVhGdzJnRFBWL2wzYzNBS0xvcnpvcWJQMXovTCtLRGw4ZzR3R0FUSVE0Z3kvajVVSGNEQUMrbmllUkZnQkFWUEFXMHdva0Nqd1BZbDBwREJEaUNnWE9VdUtkQ3B5aHhFY0dkUkxqMlJDM0FhQkc1WEtsV1FCbzNJTThzNUNYQmUxb2ZJTFlXY3dYaVFIUUhBVnhBRS9JNVVPc2lIMVVYdDVVQmE2QzJCYnFTeUNHOFFEdmpHOXNadjNOZnNhd2ZTNDNheGdyOHhvVXRSQ1JUSkxMbmZGL2x1Wi9TMTZ1Zk1pSE5XeFVvVFFpWHBFL3JPR3RuS2xSQ2t5RnVGdWNFUk9ycURYRWZTSytzdTRBb0JTaFBDSkpxWThhOFdSc1dEL0FnTmlaencySmd0Z0k0akJ4Ymt5MGlzL0lGSVZ4SUlhckJaMHVLdUFrUXF3UDhTS0JMRFJCcGJOWk9qVmU1UXV0ejVTeVdTcitIRmM2NkZmaDY0RThKNG1sc3Y5R0tPQ283R01hUmNMRUZJZ3BFRnNXaXBKaklOYUEyRW1Xa3hDbDBobFRKR1RIRE9sSTVmR0srQzBoamhlSXc0T1Y5ckhDVEdsWXZFcS9MRTgybEMrMldTaml4S2p3Z1FKaFlvU3lQdGdwSG5jd2ZwZ0wxaVlRczVLRzdBaGs0Nk9IY3VFTFFrS1Z1V1BQQmVLa0JKV2RQa2xCY0x4eUxrNlI1TWFwOUhGelFXNjRnamVIMkYxV21LQ2FpeWNYd01XcHRJOW5TZ3JpRXBWeDRrWFozTWc0WlR6NGNoQU4yQ0FFTUlFY3Rnd3dGV1FEVVd0M1F6ZjhwUndKQTF3Z0JWbEFBQnhWek5DTWxNRVJNWHdtZ0NMd0IwUUNJQnVlRnp3NEtnQ0ZrUDg4ekNxZmppQnpjTFJ3Y0VZT2VBcHhIb2dDdWZDM2ZIQ1dlTmhiTW5nQ0dkRS92SE5oNDhGNGMyRlRqUDk3Zm9qOXlyQWdFNjFpNUVNZW1acERtc1JRWWdneGdoaEd0TU1OOFFEY0Q0K0d6eURZWEhGdjNHY29qNi82aEtlRWRzSWp3blZDQitIMkZGR3g5THNveDRJT2FEOU1WWXVNYjJ1QlcwT2JIbmd3N2crdFE4czRBemNFanJnNzlNUENBNkZuRDhpeVZYRXJxc0w4enZiZk12am1iYWoweU01a2xEeUNIRVMyL1g2bWhyMkd4N0FWUmEyL3JZOHkxb3poZXJPSFI3NzN6LzZtK256WVIzMnZpUzNDRG1KbnNSUFllZXdJMWdDWTJIR3NFYnVFSFZYZzRkWDFaSEIxRFhtTEg0d25COW9SL2NNZlYrVlRVVW1aYzUxemwvTW41VmlCWUhxQll1T3hwMHBtU0VWWndnSW1DMzRkQkV5T21PYzBpdW5xN09vR2dPSmJvL3o3ZXNzWS9JWWdqQXRmdWZ4bUFIektJSm4xbGVOYUFIRDRLUUQwZDE4NWl6ZHcyeXdINEdnYlR5NHRWSEs0NGtHQS94S2FjS2NaQUJOZ0FXeGhQcTdBRS9pQklCQUtJa0VzU0FTcFlES3NzaEN1Y3ltWUJtYUIrYUFVbElQbFlEVllCemFCcldBbjJBTU9nQVp3Qkp3QVo4QkYwQWF1Zzd0dzlYU0NsNkFIdkFQOUNJS1FFQnBDUnd3UVU4UUtjVUJjRVc4a0FBbEZvcEY0SkJWSlI3SVFNU0pIWmlFTGtISmtKYklPMllMVUlqOGpoNUVUeUhta0hibU5QRVM2a0RmSVJ4UkRxYWd1YW94YW82TlJiNVNGUnFHSjZDUTBDODFIaTlBU2RDbGFoZGFndTlGNjlBUjZFYjJPZHFBdjBWNE1ZT29ZQXpQREhERnZqSTNGWW1sWUppYkY1bUJsV0NWV2crM0ZtdUI3dm9wMVlOM1lCNXlJMDNFbTdnaFhjQVNlaFBQd2ZId092Z1JmaCsvRTYvRlQrRlg4SWQ2RGZ5SFFDRVlFQjRJdmdVTVlUOGdpVENPVUVpb0oyd21IQ0tmaFh1b2t2Q01TaVF5aURkRUw3c1ZVWWpaeEpuRUpjUU54SDdHWjJFNThUT3dsa1VnR0pBZVNQeW1XeENVVmtFcEphMG03U2NkSlYwaWRwRDQxZFRWVE5WZTFNTFUwTmJGYXNWcWwyaTYxWTJwWDFKNnA5Wk8xeUZaa1gzSXNtVStlUVY1RzNrWnVJbDhtZDVMN0tkb1VHNG8vSlpHU1RabFBxYUxzcFp5bTNLTzhWVmRYTjFmM1VSK25MbEtmcDE2bHZsLzluUHBEOVE5VUhhbzlsVTJkU0pWVGwxSjNVSnVwdDZsdmFUU2FOUzJJbGtZcm9DMmwxZEpPMGg3UStqVG9HazRhSEEyK3hseU5hbzE2alNzYXJ6VEptbGFhTE0zSm1rV2FsWm9ITlM5cmRtdVJ0YXkxMkZwY3JUbGExVnFIdFc1cTlXclR0VjIwWTdYenRKZG83OUkrci8xY2g2UmpyUk9xdzljcDBkbXFjMUxuTVIyalc5RFpkQjU5QVgwYi9UUzlVNWVvYTZQTDBjM1dMZGZkbzl1cTI2T25vK2V1bDZ3M1hhOWE3NmhlQndOaldETTRqRnpHTXNZQnhnM0d4eEhHSTFnakJDTVdqOWc3NHNxSTkvb2o5WVAwQmZwbCt2djByK3QvTkdBYWhCcmtHS3d3YURDNGI0Z2IyaHVPTTV4bXVOSHd0R0gzU04yUmZpTjVJOHRHSGhoNXh3ZzFzamVLTjVwcHROWG9rbEd2c1lseHVMSEVlSzN4U2VOdUU0WkprRW0yU1lYSk1aTXVVN3BwZ0tuSXRNTDB1T2tMcGg2VHhjeGxWakZQTVh2TWpNd2l6T1JtVzh4YXpmck5iY3lUekl2Tjk1bmZ0NkJZZUZ0a1dsUll0RmowV0pwYWpyV2NaVmxuZWNlS2JPVnRKYlJhWTNYVzZyMjFqWFdLOVVMckJ1dm5Odm8ySEpzaW16cWJlN1kwMjBEYmZOc2EyMnQyUkR0dnV4eTdEWFp0OXFpOWg3M1F2dHIrc2dQcTRPa2djdGpnMEQ2S01NcG5sSGhVemFpYmpsUkhsbU9oWTUzalF5ZUdVN1JUc1ZPRDA2dlJscVBUUnE4WWZYYjBGMmNQNTF6bmJjNTNYWFJjSWwyS1hacGMzcmphdS9KY3ExMnZ1ZEhjd3R6bXVqVzZ2WFozY0JlNGIzUy81VUgzR091eDBLUEY0N09ubDZmVWM2OW5sNWVsVjdyWGVxK2IzcnJlY2Q1THZNLzVFSHlDZmViNkhQSDU0T3ZwVytCN3dQZFBQMGUvSEw5ZGZzL0gySXdSak5rMjVyRy91VC9YZjR0L1J3QXpJRDFnYzBCSG9Ga2dON0FtOEZHUVJSQS9hSHZRTTVZZEs1dTFtL1VxMkRsWUdud28rRDNibHoyYjNSeUNoWVNIbElXMGh1cUVKb1d1QzMwUVpoNldGVllYMWhQdUVUNHp2RG1DRUJFVnNTTGlKc2VZdytQVWNub2l2U0puUjU2S29rWWxSSzJMZWhSdEh5Mk5iaHFMam8wY3UycnN2UmlyR0hGTVF5eUk1Y1N1aXIwZlp4T1hIL2ZyT09LNHVISFY0NTdHdThUUGlqK2JRRStZa3JBcjRWMWljT0t5eEx0SnRrbnlwSlpremVTSnliWEo3MU5DVWxhbWRJd2ZQWDcyK0l1cGhxbWkxTVkwVWxweTJ2YTAzZ21oRTFaUDZKem9NYkYwNG8xSk5wT21Uem8vMlhCeTd1U2pVelNuY0tjY1RDZWtwNlR2U3YvRWplWFdjSHN6T0Juck0zcDRiTjRhM2t0K0VMK0MzeVh3RjZ3VVBNdjB6MXlaK1R6TFAydFZWcGN3VUZncDdCYXhSZXRFcjdNanNqZGx2OCtKemRtUk01Q2JrcnN2VHkwdlBlK3dXRWVjSXo0MTFXVHE5S250RWdkSnFhUWozemQvZFg2UE5FcTZYWWJJSnNrYUMzVGhvZjZTM0ZiK2cveGhZVUJoZFdIZnRPUnBCNmRyVHhkUHZ6VERmc2JpR2MrS3dvcCttb25QNU0xc21XVTJhLzZzaDdOWnM3Zk1RZVprekdtWmF6RzNaRzdudlBCNU8rZFQ1dWZNLzYzWXVYaGw4VjhMVWhZMGxSaVh6Q3Q1L0VQNEQzV2xHcVhTMHBzTC9SWnVXb1F2RWkxcVhleTJlTzNpTDJYOHNndmx6dVdWNVorVzhKWmMrTkhseDZvZkI1Wm1MbTFkNXJsczQzTGljdkh5R3lzQ1YreGNxYjJ5YU9YalZXTlgxVmN3SzhvcS9sbzlaZlg1U3ZmS1RXc29hK1JyT3FxaXF4clhXcTVkdnZiVE91RzY2OVhCMWZ2V0c2MWZ2UDc5QnY2R0t4dUROdTdkWkx5cGZOUEh6YUxOdDdhRWI2bXZzYTZwM0VyY1dyajE2YmJrYldkLzh2NnBkcnZoOXZMdG4zZUlkM1Rzak45NXF0YXJ0bmFYMGE1bGRXaWR2SzVyOThUZGJYdEM5alR1ZGR5N1pSOWpYL2wrc0YrKy84WFA2VC9mT0JCMW9PV2c5OEc5djFqOXN2NFEvVkJaUFZJL283Nm5RZGpRMFpqYTJINDQ4bkJMazEvVG9WK2RmdDF4eE94STlWRzlvOHVPVVk2VkhCczRYblM4dDFuUzNIMGk2OFRqbGlrdGQwK09QM250MUxoVHJhZWpUcDg3RTNibTVGblcyZVBuL004ZE9lOTcvdkFGN3dzTkZ6MHYxbC95dUhUb040L2ZEclY2dHRaZjlycmMyT2JUMXRRK3B2M1lsY0FySjY2R1hEMXpqWFB0NHZXWTYrMDNrbTdjdWpueFpzY3QvcTNudDNOdnY3NVRlS2YvN3J4N2hIdGw5N1h1Vno0d2VsRHp1OTN2K3pvOE80NCtESGw0NlZIQ283dVBlWTlmUHBFOStkUlo4cFQydFBLWjZiUGE1NjdQajNTRmRiVzltUENpODZYa1pYOTM2Ui9hZjZ4L1pmdnFseitEL3J6VU03Nm44N1gwOWNDYkpXOE4zdTc0eS8ydmx0NjQzZ2Z2OHQ3MXZ5L3JNK2piK2NIN3c5bVBLUitmOVUvN1JQcFU5ZG51YzlPWHFDLzNCdklHQmlSY0tYZndLSURCaG1abUF2Qm1Cd0MwVkhoMmdQYzJ5Z1RsWFhCUUVPWDlkUkNCLzRTVjk4VkI4UVJnUnhBQVNmTUFpSVpubEkyd1dVRk1oYjNpQ0o4WUJGQTN0K0dtRWxtbW02dlNGaFhlaEFoOUF3TnZqUUVnTlFId1dUb3cwTDloWU9Eek5oanNiUUNhODVWM1VJVVE0WjFoczVNQ3RYVStLUUhmaWZKKytrMk8zL2RBRVlFNytMNy9GMFh6aitZS1hHcGRBQUFBaW1WWVNXWk5UUUFxQUFBQUNBQUVBUm9BQlFBQUFBRUFBQUErQVJzQUJRQUFBQUVBQUFCR0FTZ0FBd0FBQUFFQUFnQUFoMmtBQkFBQUFBRUFBQUJPQUFBQUFBQUFBSkFBQUFBQkFBQUFrQUFBQUFFQUE1S0dBQWNBQUFBU0FBQUFlS0FDQUFRQUFBQUJBQUFFRktBREFBUUFBQUFCQUFBQlJBQUFBQUJCVTBOSlNRQUFBRk5qY21WbGJuTm9iM1NtN1VwSUFBQUFDWEJJV1hNQUFCWWxBQUFXSlFGSlVpVHdBQUFCMTJsVVdIUllUVXc2WTI5dExtRmtiMkpsTG5odGNBQUFBQUFBUEhnNmVHMXdiV1YwWVNCNGJXeHVjenA0UFNKaFpHOWlaVHB1Y3pwdFpYUmhMeUlnZURwNGJYQjBhejBpV0UxUUlFTnZjbVVnTmk0d0xqQWlQZ29nSUNBOGNtUm1PbEpFUmlCNGJXeHVjenB5WkdZOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6RTVPVGt2TURJdk1qSXRjbVJtTFhONWJuUmhlQzF1Y3lNaVBnb2dJQ0FnSUNBOGNtUm1Pa1JsYzJOeWFYQjBhVzl1SUhKa1pqcGhZbTkxZEQwaUlnb2dJQ0FnSUNBZ0lDQWdJQ0I0Yld4dWN6cGxlR2xtUFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwyVjRhV1l2TVM0d0x5SStDaUFnSUNBZ0lDQWdJRHhsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0ek1qUThMMlY0YVdZNlVHbDRaV3haUkdsdFpXNXphVzl1UGdvZ0lDQWdJQ0FnSUNBOFpYaHBaanBRYVhobGJGaEVhVzFsYm5OcGIyNCtNVEEwTkR3dlpYaHBaanBRYVhobGJGaEVhVzFsYm5OcGIyNCtDaUFnSUNBZ0lDQWdJRHhsZUdsbU9sVnpaWEpEYjIxdFpXNTBQbE5qY21WbGJuTm9iM1E4TDJWNGFXWTZWWE5sY2tOdmJXMWxiblErQ2lBZ0lDQWdJRHd2Y21SbU9rUmxjMk55YVhCMGFXOXVQZ29nSUNBOEwzSmtaanBTUkVZK0Nqd3ZlRHA0YlhCdFpYUmhQZ3FhUmVweEFBQUFIR2xFVDFRQUFBQUNBQUFBQUFBQUFLSUFBQUFvQUFBQW9nQUFBS0lBQUNEYVNDbW5OQUFBSUtaSlJFRlVlQUhzM1hlY0ZlVzlQL0F2dXd1aUlrV0tnRklFS1Jha0dleEdqVEVSVzZLSm1udmpOWmFJTFVhVDZEWEZ4SjgzL1Y2anhGZ1NvN0ViTEppWWlLSVlzVVN2NVdMWFdCQlVRQVE3dmV6eW0xbGZ1OElLWjg4Y3pqbHVlYy9ybGV3NU0wK1o1LzJNZjV3UE04KzAyWEszazFlRmpRQUJBZ1FJRUNCQWdBQUJBZ1FJRUNDUVFhQ05RQ0dEbHFJRUNCQWdRSUFBQVFJRUNCQWdRSUJBcllCQXdZVkFnQUFCQWdRSUVDQkFnQUFCQWdRSVpCWVFLR1FtVTRFQUFRSUVDQkFnUUlBQUFRSUVDQkFRS0xnR0NCQWdRSUFBQVFJRUNCQWdRSUFBZ2N3Q0FvWE1aQ29RSUVDQUFBRUNCQWdRSUVDQUFBRUNBZ1hYQUFFQ0JBZ1FJRUNBQUFFQ0JBZ1FJSkJaUUtDUW1Vd0ZBZ1FJRUNCQWdBQUJBZ1FJRUNCQVFLRGdHaUJBZ0FBQkFnUUlFQ0JBZ0FBQkFnUXlDd2dVTXBPcFFJQUFBUUlFQ0JBZ1FJQUFBUUlFQ0FnVVhBTUVDQkFnUUlBQUFRSUVDQkFnUUlCQVpnR0JRbVl5RlFnUUlFQ0FBQUVDQkFnUUlFQ0FBQUdCZ211QUFBRUNCQWdRSUVDQUFBRUNCQWdReUN3Z1VNaE1wZ0lCQWdRSUVDQkFnQUFCQWdRSUVDQWdVSEFORUNCQWdBQUJBZ1FJRUNCQWdBQUJBcGtGQkFxWnlWUWdRSUFBQVFJRUNCQWdRSUFBQVFJRUJBcXVBUUlFQ0JBZ1FJQUFBUUlFQ0JBZ1FDQ3pnRUFoTTVrS0JBZ1FJRUNBQUFFQ0JBZ1FJRUNBZ0VEQk5VQ0FBQUVDQkFnUUlFQ0FBQUVDQkFoa0ZoQW9aQ1pUZ1FBQkFnUUlFQ0JBZ0FBQkFnUUlFQkFvdUFZSUVDQkFnQUFCQWdRSUVDQkFnQUNCekFJQ2hjeGtLaEFnUUlBQUFRSUVDQkFnUUlBQUFRSUNCZGNBQVFJRUNCQWdRSUFBQVFJRUNCQWdrRmxBb0pDWlRBVUNCQWdRSUVDQUFBRUNCQWdRSUVCQW9PQWFJRUNBQUFFQ0JBZ1FJRUNBQUFFQ0JESUxDQlF5azZsQWdBQUJBZ1FJRUNCQWdBQUJBZ1FJQ0JSY0F3UUlFQ0JBZ0FBQkFnUUlFQ0JBZ0VCbUFZRkNaaklWQ0JBZ1FJQUFBUUlFQ0JBZ1FJQUFBWUdDYTRBQUFRSUVDQkFnUUlBQUFRSUVDQkRJTENCUXlFeW1BZ0VDQkFnUUlFQ0FBQUVDQkFnUUlDQlFjQTBRSUVDQUFBRUNCQWdRSUVDQUFBRUNtUVVFQ3BuSlZDQkFnQUFCQWdRSUVDQkFnQUFCQWdRRUNxNEJBZ1FJRUNCQWdBQUJBZ1FJRUNCQUlMT0FRQ0V6bVFvRUNCQWdRSUFBQVFJRUNCQWdRSUNBUU1FMVFJQUFBUUlFQ0JBZ1FJQUFBUUlFQ0dRV0VDaGtKbE9CQUFFQ0JBZ1FJRUNBQUFFQ0JBZ1FFQ2k0QmdnUUlFQ0FBQUVDQkFnUUlFQ0FBSUhNQWdLRnpHUXFFQ0JBZ0FBQkFnUUlFQ0JBZ0FBQkFnSUYxd0FCQWdRSUVDQkFnQUFCQWdRSUVDQ1FXVUNna0psTUJRSUVDQkFnUUlBQUFRSUVDQkFnUUVDZzRCb2dRSUFBQVFJRUNCQWdRSUFBQVFJRU1nc0lGREtUcVVDQUFBRUNCQWdRSUVDQUFBRUNCQWdJRkZ3REJBZ1FJRUNBQUFFQ0JBZ1FJRUNBUUdZQmdVSm1NaFVJRUNCQWdBQUJBZ1FJRUNCQWdBQUJnWUpyZ0FBQkFnUUlFQ0JBZ0FBQkFnUUlFTWdzSUZESVRLWUNBUUlFQ0JBZ1FJQUFBUUlFQ0JBZ0lGQndEUkFnUUlBQUFRSUVDQkFnUUlBQUFRS1pCUVFLbWNsVUlFQ0FBQUVDQkFnUUlFQ0FBQUVDQkFRS3JnRUNCQWdRSUVDQUFBRUNCQWdRSUVBZ3M0QkFJVE9aQ2dRSUVDQkFnQUFCQWdRSUVDQkFnSUJBd1RWQWdBQUJBZ1FJRUNCQWdBQUJBZ1FJWkJZUUtHUW1VNEVBQVFJRUNCQWdRSUFBQVFJRUNCQVFLTGdHQ0JBZ1FJQUFBUUlFQ0JBZ1FJQUFnY3dDQW9YTVpDb1FJRUNBQUFFQ0JBZ1FJRUNBQUFFQ0FnWFhBQUVDQkFnUUlFQ0FBQUVDQkFnUUlKQlpRS0NRbVV3RkFnUUlFQ0JBZ0FBQkFnUUlFQ0JBUUtEZ0dpQkFnQUFCQWdRSUVDQkFnQUFCQWdReUN3Z1VNcE9wUUlBQUFRSUV5aS9RbzN2bkdESzRUL1Rkdkh0MDY5b3BOdHFvZmJTdHFvdzJiZHFVLzJTSzJPT3FWYXNpL2QrU3BjdmpuWGMvakRkbXo0K1hYcGtWcytlOEhkWFZOVVhzU1ZNRUNCQWdRSUJBc1FVRUNzVVcxUjRCQWdRSUVDaVNRTWROTm9xOTloZ1JCNDNkT2JiczF5c0pEK29hYnJQYTU3cDl6ZnR2a2lra1crMy9KUUZEeEp5NWI4ZmtLWS9IcExzZXJRMGFtdmZvbkQwQkFnUUlFR2laQWdLRmxqbXZSa1dBQUFFQ3pWU2dzcklpTnUvZExmYmFmVVFjOE1VZG8zdTN6czEwSk1VNTdZVUxsOFJkLy9pL3VIUEtZekh6OWJkaStmSVZ4V2xZS3dRSUVDQkFnTUI2Q3dnVTFwdFFBd1FJRUNCQW9EZ0NtM2JaSkhiWmNkdjQwZ0c3eGxZRGVoZW4wUmJTeXF6a0VZamJKejhTOTB5ZEZ2UG12OTlDUm1VWUJBZ1FJRUNnZVFzSUZKcjMvRGw3QWdRSUVHZ2hBZ08zN0IxZitkSWU4Ym5Qam94MjdhcGF5S2lLTzR3VksxYkdZOU5lak90dnVqZWVmWDVHY1J2WEdnRUNCQWdRSUpCWlFLQ1FtVXdGQWdRSUVDQlFQSUYwWFlRaGcvckVjVWVOalJIREJrWlZzdENpTGJkQXVtampuNjZkSFAvNzJBdTFDenJtTHUwb0FRSUVDQkFnVUNvQmdVS3BaTFZMZ0FBQkFnVHlFT2pkcTJ1YzlaMnZ4YkJ0K2pmN056YmtNZHlpRkVrWGJYenRqYmZpZ290dWlTZWZtVjZVTmpWQ2dBQUJBZ1FJWkJjUUtHUTNVNE1BQVFJRUNCUkZZT09OMjhmM3YzTkU3TGJ6c0tLMDE5b2FTY09FODM5M2N4SXV6R3R0UXpkZUFnUUlFQ0RRSkFRRUNrMWlHcHdFQVFJRUNMUTJnYlp0SytQb3IzOHgvdTJyZTdlMm9SZDF2T2xySmNkZk1qR1dMZlAyaDZMQ2Fvd0FBUUlFQ09RaElGRElBMGtSQWdRSUVDQlFiSUhkZHhrV1o1LzU3OGtDakcwTGJucFZldTkvS2Jaa1lZZGthWWMxdHRxZVN0VmYwbHU2bGtRaFc3cFE0L25Kb3c5cHNHQWpRSUFBQVFJRXlpc2dVQ2l2dDk0SUVDQkFnRUNrcjRmOHJ4OGRIZHR1M1M5dmpUUThlUHVkRCtLUngxK001Lzgxcy9iVmlUVTFOWG5YejdkZ2h3NGJ4Y0g3N3hLalJ3eXFyN0p5WlhWTWZmQ3BtSlM4dHJFVVc1c2tUZWlTbUF3ZDNEZkdqQjRTVy9UdUhoVVYrU2NNNzd6N1laeHcrdmlZNzNXU3BaZ2ViUklnUUlBQWdYVUtDQlRXU2VNQUFRSUVDQkFvalVENmcvMzRiK3dmNlJvSytXNnpacytQSDV4N1JjeDk2OTFZdWJJbVNoRW1wT2ZTcFhPSE9QbjRnMk9mUFVmVm4xcDZGOENOdDk0WGwxMDVxWDVmc1Qra0FVSmxaV1VNSHpZZ1RoMzM1ZWpicDBlbUxxNi84Wjc0UXduUEw5UEpLRXlBQUFFQ0JGcUpnRUNobFV5MFlSSWdRSUJBMHhEbzFISGorTS9UajRoZGR0d20wd21sUCtvbjMvTjQvUEhxTytMOTl4ZG1xcHVsOEtjVktLU1BQR3pacjFlY2tvUVpvMWE3T3lMZmMzOGpDVnhPUCt1UzJyczQ4cTJqSEFFQ0JBZ1FJTEIrQWdLRjlmTlRtd0FCQWdRSVpCSVlQWEp3Zk9ma1EyUHozdDB5MVVzTEwxMjZQRzVQSGp1NEx2blgrSGZmVzVDNWZqNFZPbmJjS0U0NDVvQVl1KytPOWNXWExWdWU5UG1QdVBxR3UrdjNGZnRELzc0OWt6c2pEb3JQakJwU1VOTUxGaXlPaXk2N0xlNmM4bGhCOVZVaVFJQUFBUUlFc2dzSUZMS2JxVUdBQUFFQ0JBb1NxS2lvaUVNTzNEWEdKVC9ZMjdhdHl0bEczWUtMNmZvQ3EyOUxsaXlMcTVJZjlqZmRlbjlVVjFldmZxZ29uOVB6T25DL25lSzRvOGJHUmh0dVVOdm12R1J0Z2wrUG54Q1BUM3VwS0gwMGJDVHRKMTFUWXZUSWo5ZHRxQ3VUM3BteGZQbUs1UEdRRGV0MnJmVnZkWFZOYmRqeTIwdHZUUjRKS2I3TFdqdTFrd0FCQWdRSXRISUJnVUlydndBTW53QUJBZ1RLSjdCSnN1RGhONDhlR3dmdHQzUE9UdE13NFpublpzU0h5Yis2NzdqRDBFK0VEeTlQbnhYZk91T2kyanNXY2paVTRNRnVYVHZGUVdOM2pqMlNOMUVzVDM3UVQ3enR3YmozZ1NkTDltckdrZHR2RmIvNXhRbkpteDdXREUvU2tPRGFHNmRFK3BqSXdXTjMrY1R4aHNONy9JbVg0dGNYVEtoZHNMTGhNZDhKRUNCQWdBQ0I0Z3NJRklwdnFrVUNCQWdRSUxCV2djMTZkSW52ZnVzcnlac01ocTcxZU4zT2hZdVd4T1hKV2duMy8vT1pwUHhYWStjeFc2L3hZM3JtNjIvRmlhZGRFRXVTUnlCS3RhV3ZzMnkvUWR0SXc0M0Z5VjBSNlkvN1VtMWprdERrMStkK2M0M20wemRVWG5UWlgrTzJTUS9GcU9HRDR2VGtNWkhVTDlmMnlxdHo0cndMYjRvWFhudzlWekhIQ0JBZ1FJQUFnU0lKQ0JTS0JLa1pBZ1FJRUNEUW1FRC92cHZGMldkK1BRWU82SjJ6Nkp0ejM0bXpmM1pWdkRKOWRuVG9zR0g4MXcrL0VWc1A3UmR0cXlxU093YXE0OW9KVTJMQ3pWTmpaUWtlZWNoNVlpVTZtRDVtY2RGdnZoWDkrL1NzZlYzazBtVXI0dXJyNzZwOXMwVGFaZTllM2VKN3AzNDFDUmEyeW5rRzZSc3d6ci9vbHVUVm12L0tXYzVCQWdRSUVDQkFvRGdDQW9YaU9HcUZBQUVDQkFnMEtyRFZnTTJUdFFLT2lsNDl1K1lzKytyTU4rT1U3MTVZZTJkQVduRERaSTJCc1Y4WUUzMTZkNCtYazVEaC9uOCtIUXNXTHNuWlJuTTdtRDVtc1g4eXhvNmJiQnpUbm5vNUhwdjJZckoyd3NyYVlXell2bDJjY2RyaHNmY2VJM0lPNjczM0Y4VDRpMitOcVE4K2xiT2Nnd1FJRUNCQWdFQnhCQVFLeFhIVUNnRUNCQWdRYUZSZzhGWmJ4TTkvY2t5a1A1NXpiUys5TWl2R25YcCtKSGY5ZnlwYlpXVkZiTnBsaytqY3FVT2tpeUsrbWZ6TC83TGtyb0ZQYTB2WFZqZ3pDUlQyKy94bmNwNUN1dWJFK0VzbXhqMVRuOGhaemtFQ0JBZ1FJRUNnT0FJQ2hlSTRhb1VBQVFJRUNEUXFNR1JRbi9qRk9jZlcvbGpQVmZqRmw1TkE0ZHZuNXlwU3NtTmR1M2FzWFFCeDJMWmJSb2ZrelFycDJnbXozM3c3N3J6N3NkbzdCMHE1bGtLdVFhV0J3dGg5eCtRcUV1bXJJOU8zUE54OTc3U2M1UndrUUlBQUFRSUVpaU1nVUNpT28xWUlFQ0JBZ0VDakFrMDlVTmhnZzNieDB4OTlJNFlQR3hEcG9veDFXMDNOcXBnNzc5MzR3eFczeC8wUFBSTTFOYVZib0xHdXo0Wi84d29VRmlhQndpVUNoWVoydmhNZ1FJQUFnVklKQ0JSS0phdGRBZ1FJRUNEUVFLQ3BCd29uSG5kZ0hIN0luZzNPK3VPdi8zcnBqZmpwZjE4WHMyYlAvM2hubVQ0SkZNb0VyUnNDQkFnUUlKQkJRS0NRQVV0UkFnUUlFQ0N3UGdKTk9WQkkzeVp4OHpVL1RsNFYyVzZkUTB4ZklYbnVyNjZOcVE4OFZmczZ5WFVXTE1FQmdVSUpVRFZKZ0FBQkFnVFdVMENnc0o2QXFoTWdRSUFBZ1h3Rm1uS2dNSFJ3bjdqMGd0TWFIY3JWTjl3ZFYxNDNPWG5zb2J4TFJnb1VHcDBhQlFnUUlFQ0FRTmtGQkFwbEo5Y2hBUUlFQ0xSV2dhWWNLQXdmTmpERy8rcWtScWRtd3NTcDhmdGtMWVZ5cjZNZ1VHaDBhaFFnUUlBQUFRSmxGeEFvbEoxY2h3UUlFQ0RRV2dXYWNxQXdJZ2tVTGhBb3ROWkwwN2dKRUNCQWdFQkJBZ0tGZ3RoVUlrQ0FBQUVDMlFVRUN0bk42bXE0UTZGT3dsOENCQWdRSU5CMEJBUUtUV2N1bkFrQkFnUUl0SEFCZ1VMaEV5eFFLTnhPVFFJRUNCQWdVQ29CZ1VLcFpMVkxnQUFCQWdRYUNBZ1VHb0JrK0NwUXlJQ2xLQUVDQkFnUUtKT0FRS0ZNMExvaFFJQUFBUUlDaGNLdkFZRkM0WFpxRWlCQWdBQ0JVZ2tJRkVvbHExMENCQWdRSU5CQVFLRFFBQ1REVjRGQ0JpeEZDUkFnUUlCQW1RUUVDbVdDMWcwQkFnUUlFQkFvRkg0TkNCUUt0MU9UQUFFQ0JBaVVTa0NnVUNwWjdSSWdRSUFBZ1FZQ0FvVUdJQm0rQ2hReVlDbEtnQUFCQWdUS0pDQlFLQk8wYmdnUUlFQ0FnRUNoOEd0QW9GQzRuWm9FQ0JBZ1FLQlVBZ0tGVXNscWx3QUJBZ1FJTkJBUUtEUUF5ZkJWb0pBQlMxRUNCQWdRSUZBbUFZRkNtYUIxUTRBQUFRSUVCQXFGWHdNQ2hjTHQxQ1JBZ0FBQkFxVVNFQ2lVU2xhN0JBZ1FJRUNnZ1lCQW9RRklocThDaFF4WWloSWdRSUFBZ1RJSkNCVEtCSzBiQWdRSUVDQWdVQ2o4R2hBb0ZHNm5KZ0VDQkFnUUtKV0FRS0ZVc3RvbFFJQUFBUUlOQkFRS0RVQXlmQlVvWk1CU2xBQUJBZ1FJbEVsQW9GQW1hTjBRSUVDQUFBR0JRdUhYZ0VDaGNEczFDUkFnUUlCQXFRUUVDcVdTMVM0QkFnUUlFR2dna0crZ01IM0duRGpqUjVmVjExNnlkRmtzV2JLcy9uc3BQb3dZTmpBdStOVkpqVFk5WWVMVStQMFZ0MGROVFUyalpRc3QwS1pObTloa2t3Mmpxcktxdm9sVGpqOG85djdzeVBydmEvdXdZT0hpK08wbHQ4YmQ5MDViMjJIN0NCQWdRSUFBZ1NJTENCU0tES281QWdRSUVDQ3dMb0Y4QTRWVnExYkZpaFhWOWMyazN5ZmY4M2o4L2s5L2owV0xsdGJ2TCthSGZBT0ZPVysrRTk4LzUvSjQ3WTIzaXRsOWZWdjkrMjRXNDQ0NU1FWnVQekFxS2lycTkxZFZWYXp4dmY3QWFoOEVDcXRoK0VpQUFBRUNCTW9nSUZBb0E3SXVDQkFnUUlCQUtwQnZvTEEycmVVclZzYk5mN2svL25qVkhTVzVPeURmUUNFOXQvUnVpZk11dkRrZWV1UzVXRnpFT3llNmRPNFFKeDUzVU95NzkraTFFVFM2VDZEUUtKRUNCQWdRSUVDZ3FBSUNoYUp5YW93QUFRSUVDS3hiWUgwQ2hiVFY5QWY4TDM3ejUxaXdZUEc2T3lud3lEWkQrc1hGNTUrYWQrMUZpNWZHeE5zZWpML2Y4Yjh4NyszM0k3MkxZbjIzOU82RUg1N3g3ekZvNE9ZRk5TVlFLSWhOSlFJRUNCQWdVTENBUUtGZ09oVUpFQ0JBZ0VBMmdmVUpGRmF1ckk2LzMvbElYUHpIdjhieTVTdXpkWnhINmM2ZE9zUk5WNThkYmR0K3ZHNUJZOVhTdXhQU2tPUDZtLzRSTTJiT1hlOVFvWHUzem5IYVNWK09YWGZhcnJHdTEzcGNvTEJXRmpzSkVDQkFnRURKQkFRS0phUFZNQUVDQkFnUVdGT2cwRUFoL2NmLzlJZjdaVmROaXBtdnpWMnowU0o5UzlaQmpKLysrTmpZZGNkdE1yV1lCaDJ2dkRvN0xyMzg3L0hrTTlNejFXMVl1TEt5SWtZTkh4VEhIdm5GR0R5b1Q3Sm1RbkpTR1RhQlFnWXNSUWtRSUVDQVFCRUVCQXBGUU5RRUFRSUVDQkRJUnlEZlFHSG02Mi9GdWIrOHByN0pkQ0hHOXo5Y21OeVpzQ0s1QzZCK2Q5RS9wSGNJcEk4OWRPL2FLVlBiNlRrdFhiWThMcnJzdHJqOWpvZGpmVTR4RFJIYWI5QXV1bmJ0R0cyclByNWI0cGdrWk5odDU5eDNMZ2dVTWsyYndnUUlFQ0JBWUwwRkJBcnJUYWdCQWdRSUVDQ1FuMEMrZ2NLTEw4K0tjZDgrUDc5R2kxZ3F2VXRoeFBaYkpZOGRIQnBiOU80VzZSMERXYlpseTFiRXJYOTdNUDU4eTlUNDRNTkY2LzBJeE9wOW4zbmE0VEYyM3pHcjcvckVaNEhDSjBqc0lFQ0FBQUVDSlJVUUtKU1VWK01FQ0JBZ1FPQmpnYVllS0tSbm10NGhzTTNRZnZIMXcvZUpVU01HUmJzTWF5cWs5WmNsZDFIYzkrRFRNU0VKRlY2ZCtXYlJRZ1dCUXFwckkwQ0FBQUVDVFV0QW9OQzA1c1BaRUNCQWdFQUxGbWdPZ1VJZGY5OHRlc1NYRHRnMURoeTcweHFQSHRRZHovVzN1cVltbm5uMjFiZ2hDUlVlZWV5RlhFWHpQaVpReUp0S1FRSUVDQkFnVURZQmdVTFpxSFZFZ0FBQkFxMWRvRGtGQ3VsY2RleTRjZXkreTNieHphUDJqODZkTnM0OGZYUG12bFA3Q01SZi92WlFyRmk1Zm0rbUVDaGs1bGVCQUFFQ0JBaVVYRUNnVUhKaUhSQWdRSUFBZ1k4RW1sdWdrSjUxdW83Q3NHMEh4T2tuSHhMOStteVdlU3JUVjB0T252SllYSEh0NUZpd1lISG0rblVWQkFwMUV2NFNJRUNBQUlHbUl5QlFhRHB6NFV3SUVDQkFvSVVMTk1kQW9XNUt0aHJRTzA0ODlzQVlQbXhnVkZWVjF1M082MjkxZFUxTWZmQ3B1T3pLU2ZIV1crOFc5QllJZ1VKZTFBb1JJRUNBQUlHeUNnZ1V5c3F0TXdJRUNCQm96UUxOT1ZCSTU2MVh6NjdKWW8yZmk3MzJHQkViYmJoQnBxbGNsYnhiOHJaSkQ4ZWxsLzh0bGl4ZG5xbHVXbGlna0psTUJRSUVDQkFnVUhJQmdVTEppWFZBZ0FBQkFnUStFbWp1Z1VJNmlrMDZiSmk4dm5ISE9PU2czV0t6SGwweVRlMml4VXZqOUxNdWlaZGVtWldwWGxwWW9KQ1pUQVVDQkFnUUlGQnlBWUZDeVlsMVFJQUFBUUlFUGhKb0NZRkNPcExLeXNyWWNZY2hjZVFSbjQrdGgvVE5OTDIvdmZUV21IamJnNW5xcElVRkNwbkpWQ0JBZ0FBQkFpVVhFQ2lVbkZnSEJBZ1FJRURnSTRHV0VpaWtvNm1vcUlndCsvV01iMzVqYkl3WlBhVDJlejd6ZlBuVmQ4WTFmNzQ3bjZKcmxCRW9yTUhoQ3dFQ0JBZ1FhQklDQW9VbU1RMU9nZ0FCQWdSYWcwQkxDaFRxNXF0enB3NXgwbkVIeHA2N0Q0OTI3ZHJXN1Y3cjMzUWRoWE4rY1hYYzkrRFRhejJlYTZkQUlaZU9Zd1FJRUNCQTROTVJFQ2g4T3U1NkpVQ0FBSUZXS05BU0E0VjBHdE1nNFloRDk0d0R2cmhUOU9qZWVaMHpPMlBtM1BqT0R5K045OTVic000eTZ6b2dVRmlYalAwRUNCQWdRT0RURXhBb2ZIcjJlaVpBZ0FDQlZpYlFVZ09GdW1uODdHN2J4MkdIN0JsYkQrN3ppVWNnNXN4OUo2NjQ1czZZK3NCVHNYSmxkVjJWdlA4S0ZQS21VcEFBQVFJRUNKUk5RS0JRTm1vZEVTQkFnRUJyRjJqcGdVSmxaVVVNSE5BNzl0bHpWT3kwdzliUm8wZm5XTGh3U1R6OTNJeVljdSswZU9LcGx3dDZaV1I2M1FnVVd2dC9QY1pQZ0FBQkFrMVJRS0RRRkdmRk9SRWdRSUJBaXhSbzZZRkNPbWx0MnJTSjl1M2JSWWVOMjBmYnRsVlJYVjBUaTVjc2kwV0xsa1pOVFUzQjh5cFFLSmhPUlFJRUNCQWdVRElCZ1VMSmFEVk1nQUFCQWdUV0ZHZ05nY0thSXk3ZU40RkM4U3kxUklBQUFRSUVpaVVnVUNpV3BIWUlFQ0JBZ0VBakFnS0ZSb0J5SEJZbzVNQnhpQUFCQWdRSWZFb0NBb1ZQQ1Y2M0JBZ1FJTkQ2QkFRS2hjKzVRS0Z3T3pVSkVDQkFnRUNwQkFRS3BaTFZMZ0VDQkFnUWFDQWdVR2dBa3VHclFDRURscUlFQ0JBZ1FLQk1BZ0tGTWtIcmhnQUJBZ1FJQ0JRS3Z3WUVDb1hicVVtQUFBRUNCRW9sSUZBb2xheDJDUkFnUUlCQUF3R0JRZ09RREY4RkNobXdGQ1ZBZ0FBQkFtVVNFQ2lVQ1ZvM0JBZ1FJRUFnRFJSKy9wTmpvdXVtSFhOaXZQVEtyRGorMVBOemxtbHRCLy96OU1OanY4K1B5VG5zQlFzV3gvaExibzBwVTZmbExPY2dBUUlFQ0JBZ1VCd0JnVUp4SExWQ2dBQUJBZ1FhRlJpODFSYngwN09Qamg3ZE8rY3NPMzNHbkRqeDlQR3hmUG5Lbk9WYXk4RjJiYXNpdlVOaG43MUc1Unp5K3g4c2pQRVhUNHg3SDNncVp6a0hDUkFnUUlBQWdlSUlDQlNLNDZnVkFnUUlFQ0RRcU1DVy9YdkZPV2NkR2YzNmJwYXo3S3c1OCtPc24xd2VzMmJQcnkzWHFlUEc4WVY5ZG9pZVBickVhMi9NaTZuSkQrWVBQbHlVczQzbWRuRHpYdDNpODN1UGpnNGJ0NC9uL3ZWYVBQVEljN0ZzMllyYVlYVHYxaW0rZCtwaHNlTU9RM01PYTk3ODkrTDhpeWJHdzQ4K243T2Nnd1FJRUNCQWdFQnhCQVFLeFhIVUNnRUNCQWdRYUZTZ2Q2K3V0Zi9TUG1MWXdKeGwwMzlwdi9EM2Y0bDdwajRSWGJwc0VqLzQ3dGRpMjYzN1Ivc04yc2JpeGN0aXdzVDc0b2FiL3hFclYxYm5iS2U1SEd6ZnZsMWM4TXVUWXN2K1BhT3FzakkrVEI1ZG1IamJBM0hObjZmVURtSDc3UWJFZDAvNVNxTkJ6SXlaYjhaNXY3czVubjErWm5NWnV2TWtRSUFBQVFMTldrQ2cwS3luejhrVElFQ0FRSE1TNk55NVE1eDQzRUh4aGVSZjRuTnRxMWF0aWp1blBCWlhYbmRYbkpIOHkvem9rWU9pVFpzMjlWVmVuelV2eHAxNlFTeFp1cXgrWDNQK3NOT1liZUtYNXh6N2lTSDg2ZHJKY2UyRUtYSG93YnZIdUtNUGlNcktpaytVV1gzSGs4OU1qLzhlZjJQTW52UDI2cnQ5SmtDQUFBRUNCRW9rSUZBb0VheG1DUkFnUUlCQVE0R3Fxc280NHRDOTRwZ2p2eEFWRmJsL0hMLzl6Z2V4S0xrYllmUGVYV3YvMVg3MXRsNlpQanRPT2VOM3NYVHA4dFYzRisxenVtamtWNys4Uit5YkJCOUxrOGNPcnJsaFN0eHozN1NTcmVrd2N2aWdPTy9uNDZKaXRkQWtIVXhOVFUxdHNES2dmKzhZT3JoUHp2R2xJY3pkOTA2TC8vbnRqU1U3ejV3bjRDQUJBZ1FJRUdpRkFnS0ZWampwaGt5QUFBRUNuNTdBYmp0dkY2ZWRkRWgwNjlxcG9KTll0SGhwN2FNQU45OTZmNnlzTHY0akQyMlQwT1BnL1hlSjQ0NGFHK21qQ09rMi8rMzM0MWZuVDRqSG4zaXBvSE51ckZMYXo4OStmSFNNR2o0NHVST2pzZEpyUDU2NlhISDFuWEZMOHFpRWpRQUJBZ1FJRUNpUGdFQ2hQTTU2SVVDQUFBRUN0UUk5TjlzMHp2ejJZVEZxeEtETUlvdVRIODEzM1BWWVhIZlRQZkh1ZXdzeTE4K25Rc2RrQWNnVGpqa2d4dTc3OFNzYTB6c2hycDF3VCszakIvbTBVVWlaL24xN3hnbkhIbEM3OE9McWozZmsyOWFjdWUvRUQvN2ZGVEh6dGJuNVZsR09BQUVDQkFnUVdFOEJnY0o2QXFwT2dBQUJBZ1N5Q0tTUE9oeDUrT2ZpYTRmdG5TeXkrTkVkQVBuVVQxOGgrZEc2Q3BOTEZpYWs1OUVsV2VmaDVPTVBqbjMyL1BnVmpXbmZFeVpPamN1dnZpT2ZVeTJvVEJvaURFamVnbkg4MGZ2SG1ORkRNOStwTU9tdVIrSzhDMitPNnVxYWd2cFhpUUFCQWdRSUVNZ3VJRkRJYnFZR0FRSUVDQkJZTDRIZVBidkcvL3hzWEtSdmZjaDNTOWNJU0Y4amVjZVV4K1BSeDErSTEyZk5UOVlLK09pMWl2bTJrVSs1dFFZS0s1SkE0WmJTQlFwVmJTdWpWNDlOWTJSeTE4Wit5ZXN4aHd6cW02d3hrZit6RHpXSnpWSGpmaDF2Skl0VjJnZ1FJRUNBQUlIeUNRZ1V5bWV0SndJRUNCQWdVQzl3MkNGN0pvOFc3Ti9vNG96MUZYeFlxMEM2Y09OMU45MGJsMTgxYWEzSDdTUkFnQUFCQWdSS0p5QlFLSjJ0bGdrUUlFQ0F3RG9GMG9VSXovbitmOFJPbjlsNm5XVWNhRnpneWFlbnh3L1B2U0o1SThiU3hnc3JRWUFBQVFJRUNCUlZRS0JRVkU2TkVTQkFnQUNCL0FYNmJONDlmdkM5ZjR1dGgvVE52NUtTOVFJemtnVVl4MTg4TVo1OFpucjlQaDhJRUNCQWdBQ0I4Z2tJRk1wbnJTY0NCQWdRSUxDR1FQcUt4SkhEQjhXM1QvaHk5T3U3MlJySGZNa3Q4TmI4OStLUFY5MFJVeDk0S2xZa2F6ellDQkFnUUlBQWdmSUxDQlRLYjY1SEFnUUlFQ0JRTDVDKzlXSEhIWWJHS2VPK0ZKdG5XS1N4dm9GVytPR0REeGZGSDY2Y0ZIZmUvYWkzT3JUQytUZGtBZ1FJRUdnNkFnS0Zwak1Yem9RQUFRSUVXckhBNk9RTkJ5Y2NlMkFNM0xLWGhSclhjUjNVMUt5S2Q5NzlNQzY2N0srMWR5YXNvNWpkQkFnUUlFQ0FRSmtFQkFwbGd0WU5BUUlFQ0JCb1RLQnZueDV4NUJINzFENEcwVzNUam8wVmIxWEgzLzlnWVR6OTdJeTQ2dnE3WXZxTU9hMXE3QVpMZ0FBQkFnU2Fxb0JBb2FuT2pQTWlRSUFBZ1ZZcHNNRUdiV08zbmJhTFBYYmRQa1p1UHpBNmR0eTRWVHJVRFhySjB1VkprREE5N3Yvbk0vSGd3ODlHK3JpRGpRQUJBZ1FJRUdnYUFnS0ZwakVQem9JQUFRSUVDTlFMVkZTMGlVMjdkSXl0QnZTT3o0d2VHanNsYXl4czNydGIvZkhXOEdGZXN1amk0MCs4SEE4LytueThNbjEyekh2N2cyUzloT3JXTUhSakpFQ0FBQUVDelVaQW9OQnNwc3FKRWlCQWdFQnJFMmlUdkFhaVhkdXFhSmZjdFpBdTJEaHMyd0V4b0gvUDZObGowK2pRb1gxVVZWWkYrcWFJNXI2dFRJS0N4WXVYUmZybWhoa3o1OGF6TDh5TTEyZk5pNlZMbHNleTVTdGkxYXBWelgySXpwOEFBUUlFQ0xSSUFZRkNpNXhXZ3lKQWdBQUJBZ1FJRUNCQWdBQUJBcVVWRUNpVTFsZnJCQWdRSUVDQUFBRUNCQWdRSUVDZ1JRb0lGRnJrdEJvVUFRSUVDQkFnUUlBQUFRSUVDQkFvcllCQW9iUytXaWRBZ0FBQkFnUUlFQ0JBZ0FBQkFpMVNRS0RRSXFmVm9BZ1FJRUNBQUFFQ0JBZ1FJRUNBUUdrRkJBcWw5ZFU2QVFJRUNCQWdRSUFBQVFJRUNCQm9rUUlDaFJZNXJRWkZnQUFCQWdRSUVDQkFnQUFCQWdSS0t5QlFLSzJ2MWdrUUlFQ0FBQUVDQkFnUUlFQ0FRSXNVRUNpMHlHazFLQUlFQ0JBZ1FJQUFBUUlFQ0JBZ1VGb0JnVUpwZmJWT2dBQUJBZ1FJRUNCQWdBQUJBZ1JhcElCQW9VVk9xMEVSSUVDQUFBRUNCQWdRSUVDQUFJSFNDZ2dVU3V1cmRRSUVDQkFnUUlBQUFRSUVDQkFnMENJRkJBb3RjbG9OaWdBQkFnUUlFQ0JBZ0FBQkFnUUlsRlpBb0ZCYVg2MFRJRUNBQUFFQ0JBZ1FJRUNBQUlFV0tTQlFhSkhUYWxBRUNCQWdRSUFBQVFJRUNCQWdRS0MwQWdLRjB2cHFuUUFCQWdRSUVDQkFnQUFCQWdRSXRFaUIvdzhBQVAvLzluK1QvUUFBUUFCSlJFRlU3WjBIbkZYRjJmOGZ0c0FXV0phbExCMldqZ1VRQzJJRWUxU0lNZmJZb2xHakptbzBtbXA4RTkvWGtxTG1uNWpZRlZ2c3ZYZU1RckRGamlLOUxpeGxLUXRiMk1aLzVtNHViRG4zN3N5NTU1eDc3dDN2ZkQ2dzk4NTVaczZjNzh3NWQrWjNucG5wVkhMZ1JUdUVBQUVJUUFBQ0VJQUFCQ0FBQVFoQUFBSVFnQUFFTEFoMFFsQ3dvSVVwQkNBQUFRaEFBQUlRZ0FBRUlBQUJDRUFBQWhFQ0NBbzBCQWhBQUFJUWdBQUVJQUFCQ0VBQUFoQ0FBQVNzQ1NBb1dDTWpBUVFnQUFFSVFBQUNFSUFBQkNBQUFRaEFBQUlJQ3JRQkNFQUFBaENBQUFRZ0FBRUlRQUFDRUlBQUJLd0pJQ2hZSXlNQkJDQUFBUWhBQUFJUWdBQUVJQUFCQ0VBQUFnZ0t0QUVJUUFBQ0VJQUFCQ0FBQVFoQUFBSVFnQUFFckFrZ0tGZ2pJd0VFSUFBQkNFQUFBaENBQUFRZ0FBRUlRQUFDQ0FxMEFRaEFBQUlRZ0FBRUlBQUJDRUFBQWhDQUFBU3NDU0FvV0NNakFRUWdBQUVJUUFBQ0VJQUFCQ0FBQVFoQUFBSUlDclFCQ0VBQUFoQ0FBQVFnQUFFSVFBQUNFSUFBQkt3SklDaFlJeU1CQkNBQUFRaEFBQUlRZ0FBRUlBQUJDRUFBQWdnS3RBRUlRQUFDRUlBQUJDQUFBUWhBQUFJUWdBQUVyQWtnS0Znakl3RUVJQUFCQ0VBQUFoQ0FBQVFnQUFFSVFBQUNDQXEwQVFoQUFBSVFnQUFFSUFBQkNFQUFBaENBQUFTc0NTQW9XQ01qQVFRZ0FBRUlRQUFDRUlBQUJDQUFBUWhBQUFJSUNyUUJDRUFBQWhDQUFBUWdBQUVJUUFBQ0VJQUFCS3dKSUNoWUl5TUJCQ0FBQVFoQUFBSVFnQUFFSUFBQkNFQUFBZ2dLdEFFSVFBQUNFSUFBQkNBQUFRaEFBQUlRZ0FBRXJBa2dLRmdqSXdFRUlBQUJDRUFBQWhDQUFBUWdBQUVJUUFBQ0NBcTBBUWhBQUFJUWdBQUVJQUFCQ0VBQUFoQ0FBQVNzQ1NBb1dDTWpBUVFnQUFFSVFBQUNFSUFBQkNBQUFRaEFBQUlJQ3JRQkNFQUFBaENBQUFRZ0FBRUlRQUFDRUlBQUJLd0pJQ2hZSXlOQlJ5U1EzYU5Bc2d1N1NWN0pnTWpsWitaMGtTNzlldTFFVWJXME5QSzVibE9GMUczZUt0SHZPdzE4L0pDanlwRmRXTEN6UERuOWVrdEdUdWVtOHFpeTZETHBzSDNOQmxXMkNxbFJmd2tRU0djQytqN1Y5NnUrYjNXSTNyZjZzNzRQR21xMlM2UDZwKzhGZmI5Rzd4RjkzTThRNXVlSW45Y2RWTjZadVRtU04yeUE1QTRzbHV5aTdwS1ZuK3Q0Nm9hcUdxa3QzeXpWcGV1a2F2RXFhYWl1Y2JRajBwbEFWdGU4eUQyVm96aDM3bGtvbWYvOXZXbHUzVmpmSUxYck55ck9XOVRmVFZLOXNrd2FhK3VhbS9BWkFoRHdpRUJHZHBia0RWWFB2a0Y5cFhPdlFzbnFsdStZczc0SDliT3ZaczE2cVZ5MFV1cTNWanJhRVFrQld3SXBMeWhrRmVSSGZ0QnNMOXhMZS8xaldiK3R5anJMZ3E2NWtwbVpLWnUyYkxOTzYyY0MzVUd3RGZvQmxXNmgyOWhoMG5XM1laR09VMmMxWUxjTitvRzlkZDRTMmFiK2VUbUkxMkpHOTRsalZMa0dSc3FtdjlzRVBaalNna2ZWMGxXeTVaTnZJb01ybS9RZDBWWjNvUFZnc0ZOV3BxZVhyKytiK2dwKzBCT0Zxa1cxN251TmJScmtLRUhOTnRRcW9VM2ZFOXUrWGhLNVoyM1R4N1B2dnBlNlY0YzEzYXVKUEVlMmZQcE5ZTUpIdk9zSjA3R016dG5TVlQybjgwY01rcnpCcWlQZHM0ZXI0dFdXYjVLcUZXV1JEdmEycnhkTFkxMjlxM3pTTlpFV2FycXAzOEw4a1lNakE1YnM3dDFjWFdyVk12MjdVeHJoWExWOHRhczh3cFlvM3VETnFhejFxcjlYdTNHTDB5RmY0L1J2bHg1c21vWWRqWTFTdlh5TnFYbGdkdlJQZDZIdU9tcW9kQjAxUkhLSDlCUDlJc2xOcUt2WUZxbm55aVdyWk92Y1JZaXJoaEQ5NnhOdVVYM0NjSTBKRFpGSXlnc0tQU2FQazc3VER6SzlYbC9zVmovOXBocVl6VFBPKzZ3VEQ1WkxmM2kwRkNveFJJZUtiZFZ5Mno5Zmx4bVB6WlE2cGVvbk8rVDA3eTBsUC9tK2NURjJxREovYy9XdHh2WmhOdFNEUmowQUtEcGdnbnJyWWpkUWozZGRXbHpZT09jejBZTUN0MEcvWmUwK2Nhd1Vxb0dUbDBHTEhycHNRWHBWZUZsK1AvTEtIVlNzT2wvOWxPTGZYM0xWdjZ3ODV6ZWRpWjY3N0tWM1pkTjdueWVhVFlkTnIrL1ZYb2RORWpjRDlWalF0TGlnbitlSkRPRDFjNlJvOHZqSS9ScTI1MGlzNjA2bGVNMjN0NnIzN2hQRytGTHN6Wi9Pa3cxdnZpOTFJUlA3ZmJuWU9KbHFvYTdYWWZ0THR6RWxjYXpjSGFwVm5uT2IvL09WYlByZ0MrVXRWT3N1a3hDazZ2ZTlRNlZ3bjkyTlM2Si9hOWUrUE12WTNpdERmYytNdU9JczQreTAxODZDNis0eXRnL0tVTGZKa290T05UN2RqZ2JWUC8xOWV2UlA5VVYzN3RVajBqL3RQbjZVWkhScDhrUTFobUZnV0xsb2hib252L1JjV0RjNGRhaE5jZ2YybFZ3bFd1cytvZjZYNlZPZmNLM3FFMjVNMFQ0aGdvSUhUZGhVVUppNFI0bmMrTnNmeU5DQnprcGkrYWF0OHFzL1BpUXo1OHoxb0ZUdXMraUlnb0x1OVBjNmRML0lnOW85dWZaVDZzSEttcWZldEJxODY0NUE4YlFwb2owbS9BeVZ5bU5oemROdmRkaTNvRjFWcDduN2hOSFNkZlJReWNqTzloUDF6cnpMWG5wSENRcGY3UHpPQnpNQyttMXBIM1ZQZUNra3RENno5dVRSbmY4Tk16OXNmU2ptZC8wYzZYSEFlTThGeWRZbjFNK1JkV3BRc2xWNVZIU2trSm1YMC9TYzNuOThJSmU5Y2M2bnN1SHRqOVJidSsyQm5DOHNKNGtJTm9jcndXYThQNEpOOCt0c3JLMlY4dG1LczhWOTFqeDlzajhqS0FSYkF4MVZVTWdxNkNwOXYzdXdMK0tlVXczcXFVcGx6Nzh0bFl0WE9oM3VFSEdSUHVINC8vWUpsVGRjRUdIdGkwcFFlRDgxWHpJaEtIalFRa3dGaGRjZnZFcEdESTN2Y3FaRmhjbkhYeVgxU2ZSVTZHaUNnbjd6MysrRXczMGRuTFJ1Wm5yd1h2clF5KzFPTnloU2c1UGlhVk5iSi9mdHV4NUViWmo1Z1JwSXBlWUR6UTBZTFNEMFBtS3k1UFRkdFNhR20zemNwTUZEd1k2YUh1ajBPLzR3eVZmVGZZSUtldkJlK3RCTDdVNWIwaDNkQWFkUEQvUTVvcjJMdEVDcDc5dDBENzBPMlZkNlRwa29HWjI5ZnlzWGoxM2ttZml2ajJTakd2U21lOUNDV084ajlwY2VrOFlGZnFuYVkySE5NMjlKbFhLOVRxV0FvQkJzYlhWRVFhRklDYWk5anp4QXZlaklDaGEyT3B2MjFDdDc4UjFwM0o2NlhrUzIwSFNmc0kvcUUzWkpRcDhRRHdYYjJ2TFFQbFdtUEp4dzlDUzU0Y296amE3OGo3YzlLM2MrL0thUnJSOUdIVWxRQ0hyQTNyeSs0ZzFVZE1ldXovUXBuazl2YUg3K2VKKzF5Kys2bDJhbDlVQWxaMEFmS1ZhTTh3YjNqNGZDMTJNSUN1WjRkVWR5OExuSGV6b1Z5ZnpzSXZHRVl6MFZxZi94aDl0azU1bHR2T2VJWnlkSllrWjZuYVJCWng3amVvNndWMFhYYy81WFBheEU0TXBxcjdJTVZUNWRpbnZLb0I4Y0kyN1hSL0RpWW5iSURpbC81Mk5acjZhYnlJNGRYbVRwZXg0SUNyNGpibkdDamlRbzZEVmkrcDk4WkdCZUNTMUFOL3VpMS94WStjQUxVcnRoVTdQWTlQdW8rNFI5MVFzOHZTWkZzZ0tDUXJMSXEvT21pcUJ3NzQwL2tZTW03V1pFYW5ORmxVeWMva3NqV3orTU9vcWdvTDBTdkY2UHdMWSs5TnV2RmZjODNlTHRweFlUQnA5N1hOSTcwSHJkaHhYM1BKT1dva0lZNmw2M0ZhWThtTjB4ZXNDdXAvM29leU9aUVF0dDJpT2dlUWhEVzNKNmpqUXZZNnArMXJzMUREcjd1NnJlYzBKeENmWGJLbVhGdmMvSjlyWGxvU2lQVjRYUVU0Z0duamJkcSt3U3prZTdXYTlTWGtHcHNDc0Vna0xDMVcyVlFVY1JGUFF1TllQUE9sWXROTnZkaW85ZnhucWgydEpIWDVGdDg1ZjVkWXFrNXF0ZkNPaCtScklEVXg2U1dBT3BJaWpNZSt1djBxV3p1YnZTWGtwUTJLS0VoV1NFamlBb2hHRVFFSzNiMW9PQmtvdStuM1F4SVZxMmRCTVY5RmFDQTgvOGp1UVVCeis5SWNxMCtWODhGSnJUY1A1czI0RjB6c1c3V0wyZ21sNWJRUWU5ZUtzV09zSVFXajlId2xDbVJNclFwVStSRERuL3hLU0xTSzJ2b2I2eVNwYmQ4WVRVYld6YWpyZjE4VlQ3bmo5aWNNUXpvVk5HUnFpS1hyMTZuYXljOFd6b0JXMEVoV0NiamUzdlFTb3V5cWgzc3REUHZsamIzZ1pMZk5mWjlNNGZxeDkvVFNyVWJoRHBFblNmVUh2QWFRK3RNQVE4RkpKWUM2a2lLTXg5L1NiSnl6Vi91N2JudDYrUXlpUXRCSlh1Z2tJeTNaTmozU3A2TUxEMGxrY2pDNDRsMjJ1aWRSbWQzc3EydGttRjc5bEZCVEwwZ3BQVWozUmVhSXFMb0JDL0tuVG5NWm5USEdLVlRrOS8wQ0ZaMHh4aWxTdjZIS2xUODlGVE9ZVHhYbTNPczA2dHE3SHM5aWRjYlJmZFBKOWtmOWJiQ0dwdnVJd3M4NWNkUVpaWlR6TlpmdGRUUVo3Uytsd0lDdGJJRWtxUTdvS0Mzb1pVOTFQMFZxMWhEYVdQdkNJVlg2VytxS0M5UUpyNmhQN3M0dVdtL2hBVTNGRHpLRTJxQ0FxM1hmY2pPWEtxMmNyVUg4OWRJaWY5K0M4ZUViTFBKcDBGQmRzZkkzdDY3bFBvd1VDeVhicGpsYjc1VzlsWU5tR08xL093OVE5SE11Y0hPL0ZCVUhDaTBoUVhscWsvc1VzWXppTjZ3VmM5VlNsVmcxNTRiS2p5MHVxaXRrY0xjNmhhdVVaVzNQVzA2TGQycVJneTgzTmwrR1ZuaEhyZ29ybnFuVGJXdmp3N3RJZ1JGSUt0R3RzK1hDcDVLR2d2SWUyaEdwYTM1YkZxVms5RlduTHpRMUszZVdzc2s5REhaM1ZUZmNJTFQxWjl3cTZoS2l1Q1FoS3JJMVVFaGFNT21pQzNYbnVlRWFuZjNmU1kvUFBaNFBjcGpoWXVYUVVGUFVBWmV2SDNBMTJGUGNvMDFmK21zanQxWklEeWsxT2tTKytpMEZVRGF5akVyaEs5WUdiUjVBbXhEVGdTazBBcUM0QURUNXNtM1hZYkh2UGF3blNnL04rZnlycFh3anZZamNkS0M2emFReUVWd3NvSG5wZHRDNWFIc3FnSUNzRldTem9MQ25wbmdaNEg3Uk1zVUpkbnExNnhScGJkOWFSYVBOVmxCa2xNRnVZK0lXc29KTEZocElxZ29CRTlmc3ZQWko5eDhUdEtpNWVYeVJGblhKdEVvaUxwS2lqME9uU1M5RDUwdjZTeVRlV1RwK3FienpBUFVQQlFjTDRqOUZhdVE5U09EZ1QzQkJiZGRMK2sydFNIZ3ZHalpNQkpSN3EvNkNTa1hEN2ptWlRiNnJEM1laT2sxeUdwODF0WXQyV3JMUDdyUDJXSFdoZ3ViQUZCSWRnYVNWZEJJYWQvSHlsUkx6NVNLYVRxNERmTWZVSThGSko0QjZTU29GQXlxSS84NmRlbnh4UVZ2bG04V243OXA0ZmtpM25KVmVMVFVWRFEzZ25EZjM1V1FsTUs5Sjd2VlV0TDFZNE02eU91WHMwNzYvcEhMa09kSTY5a29IcTdOa3h5QXR5L1ZzL25qWmF0UWEyN3NYM05ocDBMV2VucjdxTEtsdDJqUUpWdGdPU3JmOW1GQmE3djJPVnFSd3JOSUZWQ2o4bmpwZS8wcWFFdExoNEt6bFdqNTNYbnEzdkpiYWdwMnlCYnY5YjM2eXBwVkZPSmF0UTlFUTM2WHRBTE1lWDA2eDI1SjdxTkhSWTlGTWpmNkwzcTlCelI5NmdPWGp4SFVtM3RrMDVxcXNQd3kzOGcyY29WMVcxb3FLMlZtdEoxa1gvVks4dWtaclY2VnJkYVR5SlM5MnA3TUwyRFJJNytwenJ5bVYwNnV6Mmw2TGEyOUIrUHVFNGZkTUlzNWVJNy9HZG5KclJ1UW4xVnRXTDdYODRyeXFSNjFkbzIyMmwyVnZPVHM5WGljbmtsL1NWLzJLQUk3MFN1dFh6Mko3THUxWDhua29VdmFSRVVmTUVhTTlOMEZSU0cvT2dFeVJ2aWZndnJIZlVOa2I1cGRlbmF5SE92UnQyVDI5ZHRiTUV4TXk4bjRwVVVlZllOS0paYzlSelVVNS9jaG9icUdsbDgwd003KzV0dTh3a3lYWkhxRXhhSHVFK1lxaUtOcnNOT0pRZGVsSUlPSzd1YVh5b0pDdEZTSDZtbVB4eDcrRDV5NEw1akpETXpROTc3WklHODhOYkg4dHpySDBWTmt2bzNIUVdGUkx3VDFzLzhVRGFwVmQyMTI3OXAwSU9XL21wYnlyeWhUUU1FMDNRMmRscEkwR1hiOHNrOG0yU1JyWEcwcDRZYllTR1Z2QlQwRCtVSUpTSmxaR2RiOFFuU0dBK0Z0clFUOFU2b1dsWXFxOVcyanEwSGtXM1BzaXRHaTI0OTFHNE5mbm92Tld6Zkxodi8vYm4xYzBTejBHK1QzVDVIVXNsTG9aZDZKdlZXWG1SdVFrTk5qYXgvNDMzWjlNR1hicEpMNGI1N1NKOGpKN3Zlbm5MTk0yL0o1bysvZG5YdW9CUHBmZTI3anh2bDZyUjFGZHNpVXp3cXZseG9uVjRMT1lWNzd5WkZVeWE2RmpNVzNYaGY2T1p0SXloWU40V0VFcVNqb05CdDkrRXk4TlJwcnJscytOZEhvdjlwVWNFMmFFRmREN0QxL2VrbTZCMlA5QlM3VkFoTmZjS3pWWjh3SzdURnhVTWh0Rlhqcm1DMjdqQjZ4Vy9iUVoyN2tnV1RLdDBFQlQxZ0dIWFYrZGJ3OUNCZ3hkMVB0M2k3YVp1Slg5dks2YmVQNjE2YVpTVnlOQys3WnFLM3puVHpkalpWdkJTODJCcTBjdkVLMmZyTlVyWHYvTWJJai9WMjVaMmk5Mk1tK0VkZzRPblRYYlhMUk5jTjBCM1Z3ZWNkcjk1V20rL0dZMEpCdjhGZTg5UWJTWG1PcElxWFFvYnlFQmo1NjNOY2lYOWJ2MTRzYTU1OVd4clVXL05FUW1aZXJ2VDczaUd1MW0rbzIxb3BpLzQwSTVIVEI1SldiOFU1N0tlbnV6clh4dmMray9XdnY1Znc4MDk3U1BUOTdzSFNiWFNKZFRrMmZUUlh5cDU3MnpxZG53a1FGUHlrMnpidmRCUVV0TWVRM2lyU05talBvTlZQdkM2MTVadHRrN2F3NzVTVktYcjlocUp2N2RVaTN2VEx3ai9la3hJNzN1aGRtZlF1YjRtRXlrVXJaTnMzeTVUM1I3azBLZ0dIUHVFdW1pbnZvYkRyVXJ6N2hLRFFXODNsK3I0eFVLMktmblAxcmNiMlFSdTYyU1pTaXdtTGI3amY5WUM5K1RXNk9YL3o5SzAvZXpsSWNEUG85dkw4cmEvTnErKzJuWTdXNTlXTHJXbXZsTG90MjFvZjRydVBCTnlLZjE2SnV2cjh3MytocGtaNUpDcG9NVUdMa2piZVRiSHd1bm1PNlBNdXVQYk9XRm1HSnI1dzM5MmwzN0dIV3BmSGowVVJlMzk3c3ZTYWFyOHcyb3I3bjVmS2hjbWRydGdld0Q1SEh5ZzlYUXdhMWp3M1V6Wi85RlY3MlZzZEgzRHEwVkt3K3dpck5OcDQ0WjluU0gxRnBYVTZ2eElnS1BoRjFqbGYyOS8yc08veWtEOXNvQXcrNXpqbmk0MFRxNFhVMHNkZmMrV1ZFQ3RiTjc4eE9xLzFiNzRmOFpDSWxXOFk0dlVVUjcyRGh0dXdjZmFub2tWVitvU3hDU0lvT0xCQlVFZ3ZRVUUvUlBURHhDWXN2ZVdSaE40b3RqNVhJbE11bXVmbDlYeGRQWURTYjJWdDFuelFnNVRGTjNvanRqUy9OaTgvOXp2dXNJaDdyVzJldFdxKzlTcTFvdmoyOVp0c2syTHZBUUUzSGoxNjJzK0dtUjk0Y1BhbUxHdzdyTEZPN0lXSFUrdTgzZXg4c2VyaGx5THJTYlRPSzB6ZmgxeHdvdVFONm1kVnBQVnZxVTdzMi81TUUreDE4TDdTKy9EOXJjcWpwd0dVUHZhcVZacWdqVWYrNWp6SnNwd3pYZnFvMm5OK3JqOTd6Zy8rNGJHU1AzeXdGWWExcjg0VzNia1BTMEJRQ0xZbWJKL1BZUmNVQm54ZkNXdDcyQWxyZmo1cjlBNDdlZ3hrRS9RZ2U5RU45OW9rQ2R6V2JaOVFUNTljK2NBTHFrL1ljajJLd0M4Z0JVNklvT0JRU1FnSzZTTW82TFVNUmx4eGxrTXR4NDdTS3VSYU5aM0E2NkRuODd0WnQ2QjVPYndXT25UZWJ1YXNlL1ZHdVBtMWVmVTVvM08yalB6TnVkYnUwOXA5Y0tWNnk2Z1hHaUlraDRDdCtLZlhFVm1reEMydmc1dUJlK3N5ZUMxMDZQeTFBRmlpdHI2MWVZN29SU0JYUGZSUzYrS0Y1bnZuWG9VeS9MSXpyY3FqRng1YmR2dmovbTFaMWtsa3lIbDJpNlR0YUd5UWhkZmY0NGszaWhVTVEyTTl2VTFQSjdJSm16LzVXdFk4L1paTkVpdGJ2VWljWG9oVHQydlRvQmN6WFhyTG82Ym12dHNoS1BpT3VNVUowa2xRME5Pc1JsMTVYb3ZyYSs5THZWckhaUEhmSHBMRzdiWHRtYm8rM3ZmWVE2U0hXbGZHSnF5NC96bmxvYlhDSmtsZ3RwRSs0YTlWbjFEMURXMENmVUliV21td0tLUGQ1WnBaSXlpa2o2RGc1bzJuZGhIMndrVzVkV3R6NjA0V3pjZlBxUVpEbEplQ3pjSnZmcFlsZXIxdS83cmh2SDNESmxsMjYyUFNXRnZuOXJTa1M1Q0FIbFRZcm5YaWw3RGxwaXpOTDE5N0p5eTR4cCtwQm03YTk3eXIvdDY4ZUtINjNPdmdmWlEzd0dTck11a0JwUjVZK2huY3JEZFErc1JyVXZINUFqK0w1VHJ2L2ljZUlkMG5qREZPMzFoWHA5NDZLayswQk5lbWFPK0VlcUZHL2ZiUUp1Z3RKR3ZWTXpzTUFVRWgyRnBJSjBHaCsxNWoxT0xkUjFnQjFHc21iUGw4dmxVYVcyUDkremZpbHorMEdvQnZldjhMS1h2eEhkdFRCV0x2NWplelZubXBMcjJOUHFGTkJlR2g0RUFMUVNGOUJBWGJOUUw4SGlpUCtwL3pYYy9QOXNNN0lkcjg5VmFYQTA4emYzdFZxOTRNNjJrUFlReHV0aHpVYnp1MUdrMUlIZ0hiTnVpWGQwS1VnTzJ6STVwTy8vWERPNkY1L3JiUEVUK2ZIYzNMNWVhejdmMGFwTWZGd0RPK0k5M0dsQmhmbHQ5djlJMEw0bUE0OGxmblNKYkZscHpsc3o2V2RhL05jY2pKKzZoaFB6MU51dlRwYVp6eDJsZlV0QWUxemswWUFvSkNzTFdRVG9LQ3JSdStGdEcwbUJaRTBJczA5anpJZkMyWjdXcTlvQ1VoM1Q1M2lGcWpJayt0VldFVDZCUGEwR3F5UlZCd1lJYWdrRDZDd25BMXphQnpZWUZETFR0SCtUM2YyTzBneGUvQms2WmhPMGdKNDVaMDJxVk5YMGVuVGhuT0Zld1FXekZYelgxK05OeHpueDJLblhaUnR0TU0vQmIvYkFXTzVoWGk5d0RlOWptUzZBNFl6YS9OeTg5dTd0ZmxNNTZScWlXcnZDeEd6THp5aHcrU3dULzhYc3pqclEvVVYxYkp3ai9jMHpvNjZkKzdGUGVVWVplY1pseU9IVHQyUkhhdHFOOVdaWndtRVVOYlQ4SnRpNWJMeXZ1ZVQrU1VucVZGVVBBTXBWRkc2U1FvMks1cG9qMEF0Q2RBRUNHcmE1NW9FVkoxcG94UHQrQzZ1MEkzWlZUL3hveSs2Z0tSRFBQcjhIT05DbU9ZS1dpSW9PQlFhUWdLNlNFb3VGay93Vy9YWUxlREZML1dkV2plL0cwSEtYNjVtemN2ayszbnJxT0h5cUF6ajdGS3R1VG1oOVFXUUN5NFl3WE5CMlBiOVJQOEZ2LzBKWTY5OWhMckt3MUMvTE45amdUNVZ0OEdXTmRSNm43OWdmbjlHZ1RiMXVVZjhZdXpKYnU3K1I3dGkvL2Znd2x2NDlhNkRJbCtML3JXQkNrK2VvcHhOdHNXcUFHN1dwdzJxS0QzaHgrbEZvdzBEWTMxOVRMLzZ0dE16WDIxUTFEd0ZXK2J6Tk5GVUhEVFA1MS96UjIrcnAzUUdyWitOdXRudEdsWTlmRExhZ0hneGFibWdkalJKd3dFYytRa0NBb09yQkVVMGtOUXNGMXNzR3BacVN4WFc3ejVHZHpPelE1aThHVDdsc2h2dDI0MzlWQThmYW9VVFI1dm5EU0lPamN1VEFjM3RCMjgrN1hXU2ZOcXNGMWJSS2YxMjNOQ244UDJPUkxXS1VxOUR0MVBlaDg2U1YrU1VkajBuNitrN05tWlJyWmVHZlU3WHUwWU0zRTM0K3hLMVJ6bkNwL25PQnNYNXIrRy9VLyt0blFmTjlvNFdUS21GQlR1czd0a0ZYUTFMdVBtaitaSy9kYmtieCtKb0dCY1paNFlwb3Vnb0hkMjBEczhtSWJxRld0azJaMVBtcHA3WWxkMDRGNVNmTlNCeG5tVnY2dW1TYjBlekRRcDAwSlo5d21YcW5IQVBmNk9BMHpMbm1wMkNBb09OWWFna0I2Q2d1MVdqVUVOa04zczloREU5SUl3Q2pBT3QyZmNxSktMVDdYYUFuUE5NMi9KNW8rL2pwc25CLzBuWVB1MkpxZzMxYmJUTURTcG9LWVgyRDVIL1BhK2N0TksrcCtrRmdvY2I3NVE0T29uMVlKa24vbTdJRm5yNjdCZE5IRDlXeCtvN1N3L2JKMU5VcjhQL2ZISmtqdWcyTGdNUzlXYU1qV3NLV1BFQzBIQkNKTm5SdWtpS05odVRWdit6bjlrM1J2dmVjYlJKS1BjZ1gxbDZJVW5tWmhHYkNxK1dpU2xqN3hpYkIrRTRURFZKK3pTdDVmeHFlZ1RHcU5xWTRpZzBBYUpSUFpnMVh1eG1vWXd1bjZibHQzSkxxZC9lZ2dLdG9PQm9BWUNidDU2QmpVWXNIbExITWEzKzJPdXVjaHEvWVRGZjNsQWFqZHVjYm9OaUF1UVFGakZMRnV2SFkxTXY5Mm9VbTg1L0E2Mno1RWdSRW5iYXg1Nm9Scm9EclFZNktwVnQydEsxOW1lSmlINzNDSDlaT2lQVGpUT1k4dm4zOGpxSjk0d3RnL0NjUFR2TGxBcnRuYzJQdFUzLzN1YjdLaXJON2J2eUlZSUNzSFdmcm9JQ3YxUFZGNURFOHk5aGxZLzlhWnMrWFJlb0xCdFBlRzJyeTJYSlg5L09OQXl0bmV5c2Y5M3NkWDZDZlFKMnlNYSt6aUNnZ01iUEJUU1ExQ3c3WEFITlJDd1hhc2dxTGV4K2xhd0VSUzBmVkJDaHo1WGV5RzdzSnVNK1BuWjdabnRQRjVmV2EwV1VMdDc1M2MrSkkrQTdiWk9RVXdyMERSc2hRNmRKcXpQa2FES3BSbVlCdHVCN29McjcvWjlHOFBXWmM4cXlKZVJ2MVNMa3htRzZwVmxzdXlPSnd5dC9UZXpYWitnb2JwRzlPSnFCRE1DQ0FwbW5MeXlTaGRCd2RacktGblA3ekcvLzdGMHlzNHlxcjRkOVEzeXpkVzNHdGtHWVdUYkoyeFFmY0lGOUFsZFZ3MkNnZ002QkFVRUJZZG00Vm1VN1ZTTUlEMEJiS2NNaEVsUXlCK2hWbVEvMjN4RjlxcmxxMlg1WFU5NVZxOWs1SjZBN1QwUjFQUWtONEpDVVBlRUxiT2dQTEJNVzBGbWJvNk0rdTJQVE0wamRrR3hiVjBvRzZFMWJFSmw3aURsdG55QnVkdHlqZHIrYldsSXQzOXJYUzloK0k2Z0VHd3RwSXVnb0o5OStobG9HaFlwYjhxNkpIaFQ2dDFoOUM0eHBtSGhuKytWK29wdHB1YSsybG4zQ1plcFB1SGQ5QW5kVmdxQ2dnTTVCSVgwRUJSc09vRzZHUVNsQU5zT0JJSVVGR3k5T3Z6ZUhzL2g5b3daMVdQU250TDNtSU5qSG05OUlNeDd4cmN1YTdwL3Q3MG5FQlJFd3NyTXRLMW1GeFhJaU12UE1qV1hodTNiWmNFMWR4cmJlMmxvdTcxYnNvUVBwMnZPSHpsRUJwLzFYYWREam5IVnBXdGwyVzJQT3g0anNpMEJCSVcyVFB5TVNSZEJZY3pWUDVGT1dabkdxSkkxVUI5eTd2RVJUejNUZ21veFVvdVNZUWoyZmNKNXN1YnBOOE5ROUpRc0E0S0NRN1VoS0hSTVFTR0lWZU4xYzdNZENJUlpVQWhLaEhHNFRkdEU5VDVpc3ZRNmFKODI4YkVpeW1kL0l1dGUvWGVzdzhRSFNNQjJ2Wk9nQkFYYk9hUWFXVkNEU2R2blNGRE1USnRONTk0OVpQaWxaNWlhUi9ZM1Q1WXIvckRMenBBdXZYb1lsM1grdFdwN3Q1cGFZM3MvRGJ1TkhTWURUNTl1ZklycVZXckt4dTNobWJKaFhQQWtHU0lvQkFzK1hRUUYyeGRlQy85NGo5UnZxd29XdGpxYjdYaEl2K0d2VW0vNnd4Q3MrNFN6Vkovd05mcUVidXNPUWNHQm5PME54S0tNNFpvM0ZhMVMyd2QyV0FjQ0NBclJHbzMvdDNqYWdWSjB3Rjd4alpvZDNmRHVmMlQ5NjhHdW10enM5SHhzUnNEV015Ykl3WEc2UEVlQ1pOYXNhbU4rMUN0djZ4VzRUVU15cHhMb0tRTjY2b0JwV0hUamZWSzNlYXVwdWE5MnR0dlRWYTFjSTh2dkNIWjdPbDhCK0p3NWdvTFBnRnRsMzFFRkJUMjNYOC94RHpyME8wNXRtN3UzK2JhNUt4OThRYmJOWHhaME1SM1BWenh0aXVvVFRuQTg1aFFaeG0wdm5jb1oxamdFQlllYVFWRG9tQjRLQ0FvaXRnTzdNSGtvOUQzbUlPa3hhWnpESGUwY3RlRmZIOG42Tjk5M1BraHNvQVJzMjEyUWcyTUVCWCthUW83YTNhRkU3ZkpnR3BLNVdPQ1E4MCtVdk1IOVRJc3FTNVRiNy9hUXVQM3FsZVQxaXZLbUFVSEJsRlNUSFlLQ0hhOUVyZE5CVU1qb25DMmpmM2VoRllwa2VTall0dTlrYk8wYkM2U2VBcXVuUFpnRytvU21wSnp0RUJRY3VDQW9JQ2c0TkF2UG9teGRsZkZRTUVOdis4UEhqNGNaMXlDc0VCVHNLZHMrUjRMYUdjUDBTdktHOUpjaFB6ckIxRHlwVXg1c0JZVXd1ZjNxdDR2NkxhTnBRRkF3SmRWa1ovdTdzM0hPWjZJWFNBMDZaUGRRYTVaY1liRm1TVWgzKzBnSFFjSE5nclNwSWlpVXZmaU9iSHIvaTZDYnQrUDViTzlOK29TT0dJMGpFUlFjVUNFb0lDZzROQXZQb213SEFnZ0tadWo3bjNpRTJ0ZDVqSm14c3VMSHd4aVY3NFlJQ3ZhSXcvd2NNYm1hdktGS1VEZ3ZWUVNGRTVTSFFuK1R5NHJZckxqL2VhbGN1TnpZM2svRHduMTJGOTJ4TmcxVks5U1VoenVaOG1ES3kzYlFncUJnU3RiWkxpMEVoVHkxdzgyVmRqdmNwSXFnb05jZ0tGZHJFWVFoMENjTXRoWVFGQng0SXlnZ0tEZzBDOCtpd2p3UXNCM1loV25LdzRCVGpwU0NQVWNaMTlPR3R6K1U5Vzk5WUd6dlpMai9YaU5seE5DKzh2WENWZkxKM0tWT0pzUVpFTEJ0ZDB4NUNQZmlyZ1pWSGxrNVhLOGdiaHJjVEhrb0xNaVg3eHcyVVNaUEhDMFpuVHJKKzU4dGxKZG5maUxyTjFhWW5qWmlaK3Voc1BJQk5ZOTR3VEtyYy9obGJDMG9zSWFDVlZVRUpTanNNWHF3N0RsNmtLd3EyeWh6UHA0dkRRMk5WdVhFUThFS2w2L0dtUWdLdnZLTlpqN2daTlVuSEJkMG4zQ1U2aE1XZDhnK0lZSkN0T1UxKzR1Z2dLRFFyRGw0L2hGQndYT2trUXdIbkhLVUVoUkdHbWZ1MWtNaE15TkRMajFubWx4ODFsRnR6dldIVzUrUnV4NTVxMDA4RWZFSklDakU1K04wTk16UEVhZnl0bzdMS3hrZ2Znb0tQenQzdWx4eTl0R3RUeHY1ZnZ0RGI4aWZiMy9POFpoVEpJS0NFeFhpTkFHL0JZWFRqajFRcnYzNTk5dkFudkg0Mi9MMysxNlJMVnZOVnY1SFVHaURNR2tSQ0FyQm9LZFBHQXpuNkZrUUZLSWttdjFGVUVCUWFOWWNQUDhZNW9HQTdjQXVYQjRLL2dzS1Bicm55Mk8zL0V4R0RJbTk0dnRIWHl5V1V5NzZmNTYzbTNUTzBMYmQ0YUdBaDBLOCsrRzZYNXdxcDM3M1cvRk01SVUzUDVaTC8vZmV1RGJSZ3dnS1VSTDhiVTNBVDBIaDdqOWRLSWNlc0VmclUrNzh2cTY4UWs2LzlHK3llUG5hblhHeFBpQW94Q0lUZkR5Q1FqRE1neEFVNkJQdXFrc0VoVjBzZG41Q1VFQlEyTmtZZlBpQW9PQURWSlZsRUQ4ZTEvL3lWUG4rTWZFSEt2cnEvanJqSmJuNTNsZjh1ZEEwekJWQndiNVN3L3djTWJrYXZ6d1U5dGx6bUR4KzYrVW1SWkN6cnJoRlpuMDRyMTFiQklWMkVYVllBNzhFaFZpZUNhMUJ2em43Q3puL04zZTJqbTd6SFVHaERaS2tSU0FvQklNK1ZIM0NlMVNmVUhrVXBYTkFVSENvWFFRRkJBV0hadUZaVkpnSEFyWUR1NDdrb2RDL3VJZk1mdklhNDNZd2JNckZ4cllkM2RDMjNlR2hnSWRDckh2bVQ3OCtYVTZhUGpuVzRSYnhMNm4xRkM3NS9Zd1djVTVmRUJTY3FCQ25DZmdsS0N5WjlROWp3Tjg3L3diNVlsNzhSVUFSRkl4eCttNklvT0E3NHNnSi9CWVUrdmRSZmNLbjZCTkdheE5CSVVxaTJWOEVCUVNGWnMzQjg0OElDcDRqaldUbzk0L0htY2RObGYrOS9HVGp3cC8zcTl0bDVweTV4dllkMlJCQndiNzJ3L3djTWJrYXZ6d1VQbi9sQnVuV05kZWtDTkxZMkNnakR2cHB1N1lJQ3UwaTZyQUdmZ2dLZWdIRzUrLytwVEhUZjl6L3F2emw3aGZqMmlNb3hNVVQ2RUVFaFdCdzB5Y01oblAwTEFnS1VSTE4vaUlvSUNnMGF3NmVmd3p6UU1CMllOZVJQQlQrL0pzejVNUnAreHUzaDcvZCs3TDhiY2JMeHZZZDJkQzIzZUdoZ0llQzAvMlNtOU5adm5yakwwNkhZc2J0ZCt4dlpNUEdyVEdQNndNSUNuSHhkT2lEZmdnS2V2MFB2UTZJYVhoWFRkczVXMDNmaVJjUUZPTFJDZllZZ2tJd3ZQMFdGR3o3aEg5Vi9jR2JWYjh3WFFPQ2drUE5JaWdnS0RnMEM4K2lFQlE4UTlraUk3OS9QUFNLOFhybGVOUHdpK3NmbEtkZVNXeGJTdE56cGJvZGdvSjlEWWI1T1dKeU5YNTVLTHozOUxWUzNMdlFwQWl5cmJKR3hoMzE4M1p0RVJUYVJkUmhEZndRRktic04xYnV2K2tpWTZZUFBUdGIvdWVtUitQYUl5akV4UlBvUVFTRllIQ0hyVS80OCtzZWxLZGZUZDgrSVlLQ1E3dEdVRUJRY0dnV25rV0ZlU0JnTzdEclNCNEtlKzFlSWsvZGZvVnhPNWg4M0c5bDdZWXR4dllkMmRDMjNlR2hnSWRDclB2bDBoOU9pMnpyR3V0NDgzaTl4YXZlNnJXOWdLRFFIcUdPZTl3UFFTRkRiVTI4NkoyYmphSCsrTGQzeVd2dmZoN1hIa0VoTHA1QUR5SW9CSVBiYjBHQlBtSExla1JRYU1rajhnMUJBVUhCb1ZsNEZvV2c0Qm5LRmhuNS9lT2hUL2JvM3krVC9TYU1hSEZlcHkvUHZmRWYrZG4vM2VkMGlEZ0hBZ2dLRGxEYWlRcnpjNlNkb2tjTysrV2gwTE93cTN6MHdoOU5paUJUVC82OXJGcFQzcTR0Z2tLN2lEcXNnUitDZ29iNTI0dVBsM05QT2JSZHJuVjFEVEw2MEV2YnRVTlFhQmRSWUFZSUNzR2dEbGVmOENQVko3dy9tQXRQMGxrUUZCekFJeWdnS0RnMEM4K2l3andRc0IzWWRTUVBCZDBBOXQ5cnBEeDhjL3pPVzExOWd4ejFnK3RrNmNwMW5yV1pkTS9JdHQzaG9ZQ0hRcng3NHZUdlRaRnJyamdsbm9sYzk0K241WjdIWnNhMWlSNUVVSWlTNEc5ckFuNEpDZ1ZxWWRIWEhyeEtpbnQxYjMzS0Z0LzFMaVY2dDVMMkFvSkNlNFNDTzQ2Z0VBenJJQVFGK29TNzZoSkJZUmVMblo4UUZCQVVkallHSHo0Z0tQZ0FWV1VaeEkrSEx2blVTYnZKVGI4OVUzcjI2TmJtUXVaOFBGOXV1T041K2J5ZExiemFKT3pnRVFnSzlnMGd6TThSazZ2eHkwTWhldTZKZXd5VEMwNC9YSTQ0Y0Z3MEt2TDNYKzk5SlhjKzhxYTgvK25DRnZIeHZpQW94S1BUc1kvNUpTaG9xc01HRjh1dkxqeFdqcGpTc2czclkxcTR2dnlhKzQzRUJHMlBvS0FwaENNZ0tBUlREL1FKZytFY1BRdUNRcFJFczc4SUNnZ0t6WnFENXgvRFBCQ3dIZGlGeTBQaFNDblljNVJ4ZlcxNCswTlovNWI3QlhJT1VzTENRZnZ2SmlPSDlwT3ZGcXlNYkJINTRlZUxqTStQNFM0Q3R1ME9Ed1U4RkhhMW52aWY5QnZldmZjY0xoa1puZVRqTDVmSW1uV2I0aWR3T0lxZzRBQ0ZxQWdCUHdXRktPSnhZd2JMNFVvWUd6ZDJpS3hjWFM2elA1clg3cG9KMGJUUnZ3Z0tVUkxKLzR1Z0VFd2RERGhaOVFuSDBTY01ocllJZ29JRGFRUUZCQVdIWnVGWkZJS0NaeWhiWk5UdmhNT2xjSyt4TGVMaWZkbndyNDlrL1p2dnh6UGhXRUFFRUJUc1FZZjVPV0p5Tlg1N0tKaVV3ZFFHUWNHVVZNZXpDMEpROElJcWdvSVhGTDNKQTBIQkc0N3Q1ZEwvK01PbCswVDZoTzF4OHVvNGdvSURTUVFGQkFXSFp1RlpWSmdIQXJZRHV6QjVLUFE5NWlEcE1hbXRhMmlzaWtOUWlFVW0rSGpiZG9lSEFoNEtRYmJTVkJZVWRJZGFkNnhOUTlXS05iTDh6aWROelR1OEhZSkNzRTBncDE4dktibm9WT09UN21ob2tHOStmNnV4ZlJDR0NBcEJVQmFoVHhnTTUraFpFQlNpSkpyOVJWQkFVR2pXSER6L2lLRGdPZEpJaHIyL1BWbDZUZDNIT1BNTjd5Z1BoVGZ3VURBRzVxTWhnb0k5M0RBL1IweXVCZzhGRTBxSjJ4VHNPVEt5dm94cFRsVXJsYUJ3QjRLQ0tTOEVCVk5TM3RnaEtIakQwVFFYMi9hOTdyVi9TL21zOWhjSk5UMS9Jblo5dm4yQTlKeTZ0M0VXdkdReVJ1Vm9pS0RnZ0FWQkFVSEJvVmw0RmhYbWdZRHR3QzVNSGdxOUR0bFhlaCsydjNFOWJaenpxYXg5ZWJheFBZYitFYkJ0ZDNnbzRLSGdYMnRzbTNNcWV5aDBIVDFVQnAxNVROdUxpaEdEb0JBRFRJeG8yd0hYeGptZnFkK2RXVEZ5OHkrYUtRLytzYlhOR1E4RlcyTHU3TzM3aE1tNU45MWRYZmhTSVNnNDFBbUNBb0tDUTdQd0xBcEJ3VE9VTFRJcSt0WUVLVDU2U291NGVGODJmZmlsbEQzL3IzZ21IQXVJQUlLQ1BlZ3dQMGRNcmdZUEJSTktpZHZZY3E0dVhTdkxibnM4OFJOM2tCd1FGSUt0YUR3VWd1VnQyNzdENUtGUWRJRHFFMDZ6NlJQT1ZYM0N0NE1GbkVablExQndxRXdFQlFRRmgyYmhXVlNZQndLMkE3c3dlU2dVakZPdXZTY2ZaVnhQVzc1WUlLc2ZmODNZSGtQL0NOaTJPendVOEZEd3J6VzJ6VG1WUFJSeUJ2U1JraCtmMHZhaVlzUnNYMWN1UzI1K09NWlJvbHNUc0IxdzRhSFFtcURkZHdRRk8xNkpXdHUyN3pBSkNucUhCNzNUZzJtb1VIM0NVdnFFcHJqYTJDRW90RUVpZ3FDQW9PRFFMRHlMUWxEd0RHV0xqSElHRmt2SmhTZTNpSXYzcFhwVm1TeTcvWWw0Smh3TGlBQ0NnajNvTUQ5SFRLN0c5czE1UTNXTkxManVMcE9zUGJkSlpVR2hjOC91TXZ4blB6Qm1VcnR4aXl6K3l3UEc5aDNkMEhiQWhhQ1FXSXRCVUVpTW4yMXEyL1lkSmtFaGQwQ3hEUDB4ZlVMYk9uZHJqNkRnUUE1QkFVSEJvVmw0RmhYbWdZRHR3QzVNSGdvWk9aMWw5RlVYR05kVE1nY294b1hzSUlhMjdRNFBCVHdVZ3J3MVVsbFFrSXhPTXZiL0xqYkcxVmhmTC9PdnZzM1l2cU1iMmc2NEVCUVNhekVJQ29ueHMwMXQyNzdESkNoWTl3bXJsR2g5ZlhKRWE5dDZDYU05Z29KRHJTQW9JQ2c0TkF2UG9oQVVQRVBaSnFOUnYvMlJaT2JtdEltUEZiSG9wdnVsYmxORnJNUEVCMFFBUWNFZWRKaWZJeVpYZzRlQ0NTVnZiRWI4L0N6Skxpd3d6bXpCOVhkTFExVzFzWDFITnJRZGNDRW9KTlphRUJRUzQyZWIyclo5aDBsUTBOZEtuOUMyeHQzYkl5ZzRzRU5RUUZCd2FCYWVSWVY1SUdBN3NBdVRoNEt1b0tFWG5DUzVnL29hMTFYcEU2OUx4ZWZ6amUweDlJZUFiYnZEUXdFUEJYOWFvbk91S2UyaG9DNXA4QSsvSi9uREJ6bGZuRVBzc2p1ZWtPcVZaUTVIaUdwTndIYkFoYURRbXFEZGR3UUZPMTZKV3R1Mjc3QUpDclo5d3RXcVQ3aUZQcUdyWm9PZzRJQU5RUUZCd2FGWmVCYUZvT0FaeWpZWkZVK2ZJa1dUSjdTSmp4VlI4YVZhaE9jeEZtYU14U2VvZUFRRmU5SmhmbzZZWEEwZUNpYVV2TEhwKzkyRHBjZCtleHBudHZhVldiTHgzNThaMjN0aDJLVnZMK1ZkMXNVNHErM3JOa3BEWmZLOUtHd0hYQWdLeGxYc2FJaWc0SWpGdDBqYjloMDJRYUY0K2xUVkp4eHZ6SWVGR1kxUnRURkVVR2lEUkZpVXNUK0Nna096OEN3cXpBTUIyNEZkMkR3VXV1MDJUTjIvMDQzclNzOFgxZ3U5N2Fpck4wNkRvZmNFYk5zZEhncDRLSGpmQ21Qbm1Pb2VDajMySHlkOXYzTlE3QXRzZFdUcnZDV3k2cUdYV3NYNiszWFVWZWRMWm82NW9MRDBsa2VsWnMxNmZ3dGxrTHZ0Z0F0QndRQnFIQk1FaFRod2ZEaGsyNzdESmloMEc2djZoS2ViOXdsMVgzQytXa2VCUHFGOVkwSlFjR0NHaHdLQ2drT3o4Q3dLUWNFemxHMHkwdXNuNkRsek5tSGQ2M09rL04yUGJaSmc2ekVCQkFWN29HRitqcGhjRFI0S0pwUzhzZWxTM0ZPR1hYS2FjV1pCQzYzV1FuQnRyY3kvNWs2UkhUdU1yOGt2UTlzQkY0SkNZaldCb0pBWVA5dlV0dTA3YklJQ2ZVTGJHbmR2ajZEZ3dBNUJBVUhCb1ZsNEZ0Vjk0bGpwZmVoK3hvdGtWUzBybGVWM1ArM1orZU5sWkR1d0M1dUhncjYya290UGxSemxQbXNhZE9kWmI1TldYMUZwbWdRN2p3bll0cnNnUFJSczI5TzhxLzd1TVIzbjdCQVVuTG40RVp2cUhncWF5Y2dyejVPc3ZGeGpQRUd1TDJQYjU5cTJZSm1zZk9BRjQydngwOUIyd0lXZ2tGaHRJQ2dreHM4MnRXMzdEcHVnb0svWDlqZGNleWNzMG4zQ3JmUUpiZG9MZ29JRExkc2Z0OVZQdnlsYlBwbm5rRk5xUnVVdzVTRTFLODZEVXRzTzdNSW9LUFE2ZUYvcGZmaitWalMyelZjZDFBZkQwVUcxS25pYUdOdTJ1eUFGaGJBaVJsQUlybWJTUVZBWWNPclJVckQ3Q0dOb05XczN5TksvUDJKczc5YlF0citoejdQMjFkbXljZmFuYmsvcGFUcmJBUmVDUW1MNEVSUVM0OWNSVTlNbkRLYldFUlFjT0NNbzRLSGcwQ3c2UkpUdHdDNk1na0pXdDN3Wjhjc2ZTcWRPbmF6cUxJekt1dFVGcExDeGJidERVR0FOaFNDYmV6b0lDb1g3N2lIOWpqM0VDbHZwWTY5S3haY0xyZExZR3BkY29qektpczA5eW5UK0MvODhJelFlWlFnS3RqV2VtRDJDUW1MOE9tSnEzU2NjcWZxRXFsTm9kZm4wQ2Exd0NZS0NBeThFQlFRRmgyYlJJYUpzQjNaaEZCUjBSZG5ldzlIS1phQWFKUkhzWDl0MlJ6MGhLQVRaUXROQlVNakk2U3dqZjMydVpHUmxHYU5yckt1VHBmOTRWR3JMTnh1bnNUSFVubVQ2N2FGTnFGeXlVbGJNZU5ZbWlhKzJDQXErNG0yVE9ZSkNHeVJFR0JCdzJ5ZmNNUE5EV1QvekE0TXpZSUtnNE5BR2JCc2VVeDRhNUp1cmIzVWdtZHlvc2RkZVlsV0FvT1krV3hVcVlHUGJnVjFZQllXOFlRTmx5RG5IdWFKWFc3NUp5bDU0UnlvWHJYU1Zua1QyQkd6YkhZSUNnb0o5SzNPZkloMEVCWDMxL1k0L1RBb243bVlGb25aVGhTeTc5VEZwcUs2eFN0ZWVjWTlKZTByZll3NXV6NnpOOGRWUHZTRmJQdjJtVFh5eUloQVVnaVdQb0JBczczUTVXMEo5d2cyYnBlekZmOUVuYktjeElDZzRBRUpRd0VQQm9WbDBpQ2piZ1YxWUJRVmRXWVBPUGxhNmpoanN1dDYyYjlna216NzRRaW9YcnBCYTlZTkM4SStBYmJ0RFVFQlE4SzgxdHMwNVhRU0YzRUY5WmVnRko3Vzl3SFppdHE4cmx4WDNQZWZaTklPaWIrMGx4VWNmMk01WjJ4N1dpNlF0L05PTXRnZVNHSU9nRUN4OEJJVmdlYWZUMlFhclBtRitBbjNDMnZXNlQvaWxiRnUwbkQ2aFE4TkFVSENBZ3FDQW9PRFFMSHlMMm0za1FKazBZYVFVZEcxYWdmdnJoYXZramRsZitIYStlQm5iRHV6Q0xDaDA2Vk1rdzM1NmVyekxOVDdXb0xZcDI3NW1RMlNic2gyTmpWSlR1azRhNnhxTTA4Y3lyRnk0VEtwWHJvMTF1TVBFMjdhN1pBa0sraDQ5WXNvNEdkaTNaNlJ1VnBXVnl4dXp2cENLYmRXQjF4V0xNZ2FIUEYwRUJVMXM4TG5IU1g3SlFHdDREVFUxc3U3Vk9iTDVQMTlacDQwbTBHOEppNmROc2RxRko1cFcvdzNUWW96UmNpRW9SRWtFOHhkQklSak9zYzR5ZkVpeFRObDNyQXdaMkZ2bXpsOGhNK2ZNbFUxYlVtTTNCQy83aEkzYmE2V21UUFVKRzNkSXBFKzRlcjNvM1NFU0Rkc1dMSmZxVldXSlpwT1U5QWdLRHRnUkZCQVVISnFGNTFGNmNITERsV2RHQmlpdE0xOVZ0bEV1dlBKTzBlSkNrTUYyWUJkbVFVRnpLLzdPUVZLMC83Z2dFVnFkcSt5bGQyWFRlNTlicFVsSFk5dDJsd3hCNGJKenBzblpKeDJ5VS9pTDFvTVdFLzQyNDJXNTk0bTNvMUdCL0VWUUNBUno1Q1RwSkNoMEtlNHB3eTQ1elRXOCtxcnF5SzVXRlhNWFNjMnErR0pvUnVkc3lSM1NUL0tWa0ZBd2JwUmtkKy9tK3J4NnlzV2lHKzZUeHRvNjEzbjRrUkJCd1ErcXNmTkVVSWpOeHM4alkwY01GUDBicUFYMTF1SCtwOTZSRys5OFhpcXJ0cmMrRkxydmZWV2ZzRWVJKzRSclZaOXdZNHIyQ1JFVUhKbzdnZ0tDZ2tPejhEUktpd2tQMzN5cGFPK0VXRUVQVkU3NzZkOENGUlZzQjNaaEZ4UTZaV1ZHdkJRNkYzV1BoVG1wOFFnS1RmaHQyMTNRZ29JVy9rNDRlbExjdG5MenZTL0xYNVd3RUZSQVVBaUt0RWc2Q1FxYW11MGdPQjdwNnRLMWJkL01aV1JJZG1FM3lTN29HaStwMWJGVkQ3OGtXNzllWXBVbUNHTmJsbXdibVZpdElDZ2t4czlONmdtN0RaV243L2g1M0tRTGw1WEp0TE92bDRhR3hyaDJ5VDRZOWo0aGdrS3lXNGpINTBkUVFGRHd1RW0xeWM1a2dLSVRhVStGcVNmOXJrMTZ2eUpzQjNaaEZ4UTBwNXorZldUb2owKzIza2JTTDhiTjgwVlFhS0poMis2Q0ZCVDIzMnRrUlB4clhtK3hQbi9ubkQ4R0pnQWlLTVNxQmUvajAwMVF5TXp0SXNNdU8xT3k4cHVtMlhsUHpOc2NOMy84bGF4NVpxYTNtWHFVRzRLQ1J5QU5zMEZRTUFUbG9kay8vM3FKSExEMzZIWnp2UFdCMStUR3UxNW8xeTdaQnJwUFdLTDZoTGJiU0FaUmJnU0ZJQ2dIZUE0RUJRUUZQNXViOWs3NDdKVWJqRTl4NFpWM3lldXpnbkdMdHgzWXBZS2dvRUVYN3JONzVLMmNNZlNBRE10ZWVrZE5lVWpPZWhrQlhhTFJhV3piWFpDQ3doMS9PRitPT0xDdG02ZlRoVDMxeWdmeWkrc2ZkRHJrZVJ5Q2d1ZElZMmFZYm9LQ3Z0RDhrWU5sOEZuSHhyem1zQnlvV2J0Qmx0LytoRnF6SnZINXlYNWNFNEtDSDFSajU0bWdFSnVOSDBjbTdqRk1ucnp0Y3VPc2gwMjUyTmcybVlaaDdST3VmVkZOZVhnL21QNisxL3laOHVCQUZFRUJRY0doV1hnV1pmUEdVNTgwU0ZkcTI0RmRxZ2dLbW1QQitOSFMvOFFqUXVXcGdJZUNyaG5sVW43ZThaSTNkRURURjRQL2d4UVVsc3o2aDBHSm1reUM5Q2hDVURDdWxvUU4wMUZRMEZDS3AwK1Zvc25qRStialZ3WU5OZHRsNlMyUFNwM2F1aktzQVVFaDJKcEJVQWlXOXhVL09rWXUrc0dSeGljOSs0cGI1TjBQNXhuYko5T3crMy83aEdIeVZNQkRJWmt0d29kekl5Z2dLUGpRckhabWVlTFIrOHVmcnp4ajUvZjJQZ1Q1MXROMllKZEtnb0xtM0hWTWlRdzQ1VWpKeU01dUQzc2d4L0ZRYU1KczIrN0NLaWpvcXducURRMkNRaUMzYU9RazZTb282SXZyZDl4aFVyajNic0hCTkR4VG85cFpaK1VETDBqVnN0V0dLWkpqaHFBUUxIY0VoV0I1My8ybkMrWFFBL1l3UHVrZmIzdFc3bno0VFdQN1pCczI5UW1QVW4zQ3JHUVhKWEorUEJSQ1VRM2VGUUpCQVVIQnU5YlVOaWM4Rk5veUNUS21jNjhlTXZDTTZkSkYvVTEyd0VPaHFRYlNSVkFvVld1ZVRBbG96Uk1FaGVEdTNuUVdGRFRGc0hrcTFGZFd5OHI3bnBPYU5ldURxMlNYWjBKUWNBbk9aVElFQlpmZ1hDYTcvTHp2eU1WbkhXV2MrcXpMYjVGWkg2V0doMEwwb25TZmNKRHFFK3EveVE1NEtDUzdCancrUDRJQ2dvTEhUYXBGZHF5aDBBSkhVcjUwVW1wMG55TW1Tdy9sN3R1cFU2ZWtsRUdmRkVHaENYMllCUVhXVVBEbjlzZ3JHU0JEemozZU9ITzliZUNDNis0eXR2ZlNNTjBGQmMycSs0UXh5bHZoVU9tVW1la2xPdXU4cXRWV2xLV1B2aUoxbTdkYXAwMUdBZ1NGWUtraktBVExlK0llSldvTmhTdU1UeHFVaDU1eGdRd05vMzNDeUJTd0pQWUpFUlFNS3l4VnpCQVVFQlQ4YnF1bXV6d0UrY1pUWDdQdHdDN1ZwankwcnRmY3dYMmx0eElXOGt0aWI5L1pPbzJYM3hFVW1tamF0cnNncHp6WWVCUk5QZW4zYW1lV2NpK2JTTXk4OEZDSWljYnpBeDFCVU5EUWNnWVdxeWxoUjBubkhnV2VNelRKc0h6V3g3THV0VGttcHFHeFFWQUl0aW9RRklMbHJjLzJ3Rjh1bGdQM0hkUHVpZjl4LzZ2eWw3dGZiTmN1ekFhNlQ5am5pQU5FQzk3SkNBZ0t5YUR1NHprUkZCQVVmR3hla2F5MWw4SWpmNzlNeG82SS9kRGFXbGtqcDE3eTE4QzJvZE1Gc3gzWXBicWdFSzNuTG4yS3BNZWtQYVhiSGlNRDNVb05RYUdwQm16YlhaQ0NnaTdoNzM1Nm9weDkwc0ZOaFkzeGY1Q0xwK29pSUNqRXFBZ2ZvanVLb0JCRjErZklBNlRubEwyalgzMy9XN1Y4dFpROTk3WnNYN2ZSOTNONWZRSUVCYStKeHM4UFFTRStIeitPamg4N1JKNis0eGR4MXk2Y3YyUzFURHY3RDdKanh3NC9paEI0bnRFK1lZSHFFMllHdUwwdWdrTGdWZTN2Q1JFVUVCVDhiV0ZOdVd0UjRYL1VRT1dFb3llMU9aMzJUTGpneWpzREZSTjBJV3dIZHVraUtEU3ZnTHdoL1NWM2FIL0pHOXhQY2t2NlMyYm56czBQZS9xWlJSbWJjTnEydTZBRkJWM0tjMDQrUkM0OVo3cDB5ODlwMFFhMDhIZk4zNTZVSjE5NXYwVzgzMThRRlB3bXZDdi9qaVlvNkN2UExpcVFuZ2RPVkZNaFJrdUdUOC9BeXNVclpNTTdIMHZWa2xXN1lLZllKd1NGWUNzTVFTRlkzdEd6alJyV1h5NDdaNW9jZGRDRWFOVE92ek1lZjF0dXZQTjVxZGxldHpNdW5UN29QbUdlNmhQbXFqNmgvcHZSeGI4K0lZc3lwbFBMVWRkU3NPZEk2ZHk3eVBpcXRzMWJyQllQMm1Cc0gzYkRuUDY5cFhDaTNhclBaUysrRTdyTDBoMXVtN0JoNWdjMjVwN1pEdXpiVTc0OWRaeG9nVUdIcnhlV3l1dXprck1QYmZlSll5VzcwTnpkZGN1bjgwSzlwWmNYbFpUVHY0OTZIdlJRWExwNVByKzRjc0V5MFhPR08zcXdiWGRWUzFkSjFkTFN3TEhwZS9UYlU4Ykx3SDVOdncrcjFteU0zS3NWMjZvREw0dDJ5Y3l6bUtwVHQ3bEN0bnd5TC9CeXhqcWh2cCs2Vy96TzdLaXJrL0pabjhUS3p0ZDR2UXRDVnZkdXh1ZW8rSHkrMUpadk5yWVBzMkduck16STdqZ0Z1dytYL0JHREpUTzNwYUJtVS9iRytucXBYckZHS2hldkV2M2JVVjlSYVpNOGxMWjZsZmhjOVJ0aEdxcFdxdXRmdU1MVTNETzd6Snd1VW5SQTI4RmdyQk0wSnZGK2kxVW1IYThGaGNLOWQ0OW4wdVpZMlBxbmVyNStMMHNQb1BMWm4waGpiZklIN0VNSDlsYlRIOGFLL3Z2bC9CVXljODVjMlpxRTM3ODJsUnhnaE80VGR2R3BUN2d0aGZ1RW5Vb092Q2c5L0ZNQ2JFeWNDZ0lRZ0FBRUlBQUJDSFEwQWxwYzFXL3A5RnU3THNVOTFjcm9oWTdiOEdyeG9GWk5ZYWd0M3lMYjEyOVMyeitXcHJRblFrZXJaNjRYQWhDQWdBMEJCQVViV3RoQ0FBSVFnQUFFSUFBQkNFQUFBaENBQUFRZ0VDR0FvRUJEZ0FBRUlBQUJDRUFBQWhDQUFBUWdBQUVJUU1DYUFJS0NOVElTUUFBQ0VJQUFCQ0FBQVFoQUFBSVFnQUFFSUlDZ1FCdUFBQVFnQUFFSVFBQUNFSUFBQkNBQUFRaEF3Sm9BZ29JMU1oSkFBQUlRZ0FBRUlBQUJDRUFBQWhDQUFBUWdnS0JBRzRBQUJDQUFBUWhBQUFJUWdBQUVJQUFCQ0VEQW1nQ0NnalV5RWtBQUFoQ0FBQVFnQUFFSVFBQUNFSUFBQkNDQW9FQWJnQUFFSUFBQkNFQUFBaENBQUFRZ0FBRUlRTUNhQUlLQ05USVNRQUFDRUlBQUJDQUFBUWhBQUFJUWdBQUVJSUNnUUJ1QUFBUWdBQUVJUUFBQ0VJQUFCQ0FBQVFoQXdKb0Fnb0kxTWhKQUFBSVFnQUFFSUFBQkNFQUFBaENBQUFRZ2dLQkFHNEFBQkNBQUFRaEFBQUlRZ0FBRUlBQUJDRURBbWdDQ2dqVXlFa0FBQWhDQUFBUWdBQUVJUUFBQ0VJQUFCQ0NBb0VBYmdBQUVJQUFCQ0VBQUFoQ0FBQVFnQUFFSVFNQ2FBSUtDTlRJU1FBQUNFSUFBQkNBQUFRaEFBQUlRZ0FBRUlJQ2dRQnVBQUFRZ0FBRUlRQUFDRUlBQUJDQUFBUWhBd0pvQWdvSTFNaEpBQUFJUWdBQUVJQUFCQ0VBQUFoQ0FBQVFnZ0tCQUc0QUFCQ0FBQVFoQUFBSVFnQUFFSUFBQkNFREFtZ0NDZ2pVeUVrQUFBaENBQUFRZ0FBRUlRQUFDRUlBQUJDQ0FvRUFiZ0FBRUlBQUJDRUFBQWhDQUFBUWdBQUVJUU1DYUFJS0NOVElTUUFBQ0VJQUFCQ0FBQVFoQUFBSVFnQUFFSUlDZ1FCdUFBQVFnQUFFSVFBQUNFSUFBQkNBQUFRaEF3Sm9BZ29JMU1oSkFBQUlRZ0FBRUlBQUJDRUFBQWhDQUFBUWdnS0JBRzRBQUJDQUFBUWhBQUFJUWdBQUVJQUFCQ0VEQW1nQ0NnalV5RWtBQUFoQ0FBQVFnQUFFSVFBQUNFSUFBQkNDQW9FQWJnQUFFSUFBQkNFQUFBaENBQUFRZ0FBRUlRTUNhQUlLQ05USVNRQUFDRUlBQUJDQUFBUWhBQUFJUWdBQUVJSUNnUUJ1QUFBUWdBQUVJUUFBQ0VJQUFCQ0FBQVFoQXdKb0Fnb0kxTWhKQUFBSVFnQUFFSUFBQkNFQUFBaENBQUFRZ2dLQkFHNEFBQkNBQUFRaEFBQUlRZ0FBRUlBQUJDRURBbWdDQ2dqVXlFa0FBQWhDQUFBUWdBQUVJUUFBQ0VJQUFCQ0NBb0VBYmdBQUVJQUFCQ0VBQUFoQ0FBQVFnQUFFSVFNQ2FBSUtDTlRJU1FBQUNFSUFBQkNBQUFRaEFBQUlRZ0FBRUlJQ2dRQnVBQUFRZ0FBRUlRQUFDRUlBQUJDQUFBUWhBd0pvQWdvSTFNaEpBQUFJUWdBQUVJQUFCQ0VBQUFoQ0FBQVFnZ0tCQUc0QUFCQ0FBQVFoQUFBSVFnQUFFSUFBQkNFREFtZ0NDZ2pVeUVrQUFBaENBQUFRZ0FBRUlRQUFDRUlBQUJDQ0FvRUFiZ0FBRUlBQUJDRUFBQWhDQUFBUWdBQUVJUU1DYUFJS0NOVElTUUFBQ0VJQUFCQ0FBQVFoQUFBSVFnQUFFSUlDZ1FCdUFBQVFnQUFFSVFBQUNFSUFBQkNBQUFRaEF3Sm9BZ29JMU1oSkFBQUlRZ0FBRUlBQUJDRUFBQWhDQUFBUWdnS0JBRzRBQUJDQUFBUWhBQUFJUWdBQUVJQUFCQ0VEQW1nQ0NnalV5RWtBQUFoQ0FBQVFnQUFFSVFBQUNFSUFBQkNDQW9FQWJnQUFFSUFBQkNFQUFBaENBQUFRZ0FBRUlRTUNhQUlLQ05USVNRQUFDRUlBQUJDQUFBUWhBQUFJUWdBQUVJSUNnUUJ1QUFBUWdBQUVJUUFBQ0VJQUFCQ0FBQVFoQXdKb0Fnb0kxTWhKQUFBSVFnQUFFSUFBQkNFQUFBaENBQUFRZ2dLQkFHNEFBQkNBQUFRaEFBQUlRZ0FBRUlBQUJDRURBbWdDQ2dqVXlFa0FBQWhDQUFBUWdBQUVJUUFBQ0VJQUFCQ0NBb0VBYmdBQUVJQUFCQ0VBQUFoQ0FBQVFnQUFFSVFNQ2FBSUtDTlRJU1FBQUNFSUFBQkNBQUFRaEFBQUlRZ0FBRUlJQ2dRQnVBQUFRZ0FBRUlRQUFDRUlBQUJDQUFBUWhBd0pvQWdvSTFNaEpBQUwvY2Ftd0FBQURIU1VSQlZBSVFnQUFFSUFBQkNFQUFBaENBQUFRZ2dLQkFHNEFBQkNBQUFRaEFBQUlRZ0FBRUlBQUJDRURBbWdDQ2dqVXlFa0FBQWhDQUFBUWdBQUVJUUFBQ0VJQUFCQ0NBb0VBYmdBQUVJQUFCQ0VBQUFoQ0FBQVFnQUFFSVFNQ2FBSUtDTlRJU1FBQUNFSUFBQkNBQUFRaEFBQUlRZ0FBRUlJQ2dRQnVBQUFRZ0FBRUlRQUFDRUlBQUJDQUFBUWhBd0pvQWdvSTFNaEpBQUFJUWdBQUVJQUFCQ0VBQUFoQ0FBQVFnZ0tCQUc0QUFCQ0FBQVFoQUFBSVFnQUFFSUFBQkNFREFtc0QvQjJreWU4VElXOTVWQUFBQUFFbEZUa1N1UW1DQ1wiO1xuIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJlIiwibiIsInIiLCJpIiwicyIsInUiLCJhIiwibyIsImMiLCJmIiwiaCIsImQiLCJsIiwiJCIsInkiLCJNIiwibmFtZSIsIndlZWtkYXlzIiwic3BsaXQiLCJtb250aHMiLCJvcmRpbmFsIiwidCIsIm0iLCJTdHJpbmciLCJsZW5ndGgiLCJBcnJheSIsImpvaW4iLCJ2IiwieiIsInV0Y09mZnNldCIsIk1hdGgiLCJhYnMiLCJmbG9vciIsImRhdGUiLCJ5ZWFyIiwibW9udGgiLCJjbG9uZSIsImFkZCIsImNlaWwiLCJwIiwidyIsIkQiLCJtcyIsIlEiLCJ0b0xvd2VyQ2FzZSIsInJlcGxhY2UiLCJnIiwiUyIsIl8iLCJPIiwiYXJncyIsImFyZ3VtZW50cyIsImIiLCJsb2NhbGUiLCIkTCIsInV0YyIsIiR1IiwieCIsIiR4IiwiJG9mZnNldCIsInRoaXMiLCJwYXJzZSIsInByb3RvdHlwZSIsIiRkIiwiRGF0ZSIsIk5hTiIsInRlc3QiLCJtYXRjaCIsInN1YnN0cmluZyIsIlVUQyIsImluaXQiLCIkeSIsImdldEZ1bGxZZWFyIiwiJE0iLCJnZXRNb250aCIsIiREIiwiZ2V0RGF0ZSIsIiRXIiwiZ2V0RGF5IiwiJEgiLCJnZXRIb3VycyIsIiRtIiwiZ2V0TWludXRlcyIsIiRzIiwiZ2V0U2Vjb25kcyIsIiRtcyIsImdldE1pbGxpc2Vjb25kcyIsIiR1dGlscyIsImlzVmFsaWQiLCJ0b1N0cmluZyIsImlzU2FtZSIsInN0YXJ0T2YiLCJlbmRPZiIsImlzQWZ0ZXIiLCJpc0JlZm9yZSIsIiRnIiwic2V0IiwidW5peCIsInZhbHVlT2YiLCJnZXRUaW1lIiwidG9EYXRlIiwiYXBwbHkiLCJzbGljZSIsIiRsb2NhbGUiLCJ3ZWVrU3RhcnQiLCIkc2V0IiwibWluIiwiZGF5c0luTW9udGgiLCJnZXQiLCJOdW1iZXIiLCJyb3VuZCIsInN1YnRyYWN0IiwiZm9ybWF0IiwiaW52YWxpZERhdGUiLCJtZXJpZGllbSIsIm1vbnRoc1Nob3J0Iiwid2Vla2RheXNNaW4iLCJ3ZWVrZGF5c1Nob3J0IiwiZ2V0VGltZXpvbmVPZmZzZXQiLCJkaWZmIiwidG9KU09OIiwidG9JU09TdHJpbmciLCJ0b1VUQ1N0cmluZyIsImsiLCJmb3JFYWNoIiwiZXh0ZW5kIiwiJGkiLCJpc0RheWpzIiwiZW4iLCJMcyIsIl9fd2VicGFja19tb2R1bGVfY2FjaGVfXyIsIl9fd2VicGFja19yZXF1aXJlX18iLCJtb2R1bGVJZCIsImNhY2hlZE1vZHVsZSIsInVuZGVmaW5lZCIsIl9fd2VicGFja19tb2R1bGVzX18iLCJjYWxsIiwiZ2V0dGVyIiwiX19lc01vZHVsZSIsImRlZmluaXRpb24iLCJrZXkiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImVudW1lcmFibGUiLCJvYmoiLCJwcm9wIiwiaGFzT3duUHJvcGVydHkiLCJnbG9iYWxUaGlzIiwiU2hhZG93Um9vdCIsIlNoYWR5Q1NTIiwibmF0aXZlU2hhZG93IiwiRG9jdW1lbnQiLCJDU1NTdHlsZVNoZWV0IiwiU3ltYm9sIiwiV2Vha01hcCIsImNvbnN0cnVjdG9yIiwiXyRjc3NSZXN1bHQkIiwiRXJyb3IiLCJjc3NUZXh0Iiwic3R5bGVTaGVldCIsInJlcGxhY2VTeW5jIiwicmVkdWNlIiwiYWRvcHRlZFN0eWxlU2hlZXRzIiwibWFwIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwibGl0Tm9uY2UiLCJzZXRBdHRyaWJ1dGUiLCJ0ZXh0Q29udGVudCIsImFwcGVuZENoaWxkIiwiY3NzUnVsZXMiLCJpcyIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImdldE93blByb3BlcnR5TmFtZXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJnZXRQcm90b3R5cGVPZiIsInRydXN0ZWRUeXBlcyIsImVtcHR5U2NyaXB0IiwicmVhY3RpdmVFbGVtZW50UG9seWZpbGxTdXBwb3J0IiwidG9BdHRyaWJ1dGUiLCJCb29sZWFuIiwiSlNPTiIsInN0cmluZ2lmeSIsImZyb21BdHRyaWJ1dGUiLCJhdHRyaWJ1dGUiLCJ0eXBlIiwiY29udmVydGVyIiwicmVmbGVjdCIsImhhc0NoYW5nZWQiLCJtZXRhZGF0YSIsImxpdFByb3BlcnR5TWV0YWRhdGEiLCJIVE1MRWxlbWVudCIsImFkZEluaXRpYWxpemVyIiwiXyRFaSIsInB1c2giLCJvYnNlcnZlZEF0dHJpYnV0ZXMiLCJmaW5hbGl6ZSIsIl8kRWgiLCJrZXlzIiwiY3JlYXRlUHJvcGVydHkiLCJzdGF0ZSIsImVsZW1lbnRQcm9wZXJ0aWVzIiwibm9BY2Nlc3NvciIsImdldFByb3BlcnR5RGVzY3JpcHRvciIsInJlcXVlc3RVcGRhdGUiLCJjb25maWd1cmFibGUiLCJnZXRQcm9wZXJ0eU9wdGlvbnMiLCJNYXAiLCJmaW5hbGl6ZWQiLCJwcm9wZXJ0aWVzIiwiXyRFdSIsImVsZW1lbnRTdHlsZXMiLCJmaW5hbGl6ZVN0eWxlcyIsInN0eWxlcyIsImlzQXJyYXkiLCJTZXQiLCJmbGF0IiwicmV2ZXJzZSIsInVuc2hpZnQiLCJzdXBlciIsIl8kRXAiLCJpc1VwZGF0ZVBlbmRpbmciLCJoYXNVcGRhdGVkIiwiXyRFbSIsIl8kRXYiLCJfJEVTIiwiUHJvbWlzZSIsImVuYWJsZVVwZGF0aW5nIiwiXyRBTCIsIl8kRV8iLCJhZGRDb250cm9sbGVyIiwiXyRFTyIsInJlbmRlclJvb3QiLCJpc0Nvbm5lY3RlZCIsImhvc3RDb25uZWN0ZWQiLCJyZW1vdmVDb250cm9sbGVyIiwiZGVsZXRlIiwic2l6ZSIsImNyZWF0ZVJlbmRlclJvb3QiLCJzaGFkb3dSb290IiwiYXR0YWNoU2hhZG93Iiwic2hhZG93Um9vdE9wdGlvbnMiLCJjb25uZWN0ZWRDYWxsYmFjayIsImRpc2Nvbm5lY3RlZENhbGxiYWNrIiwiaG9zdERpc2Nvbm5lY3RlZCIsImF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayIsIl8kQUsiLCJfJEVDIiwicmVtb3ZlQXR0cmlidXRlIiwiUCIsIl8kRVQiLCJoYXMiLCJfJEVqIiwicmVqZWN0Iiwic2NoZWR1bGVVcGRhdGUiLCJwZXJmb3JtVXBkYXRlIiwid3JhcHBlZCIsInNob3VsZFVwZGF0ZSIsIndpbGxVcGRhdGUiLCJob3N0VXBkYXRlIiwidXBkYXRlIiwiXyRFVSIsIl8kQUUiLCJob3N0VXBkYXRlZCIsImZpcnN0VXBkYXRlZCIsInVwZGF0ZWQiLCJ1cGRhdGVDb21wbGV0ZSIsImdldFVwZGF0ZUNvbXBsZXRlIiwibW9kZSIsIlJlYWN0aXZlRWxlbWVudCIsInJlYWN0aXZlRWxlbWVudFZlcnNpb25zIiwiY3JlYXRlUG9saWN5IiwiY3JlYXRlSFRNTCIsInJhbmRvbSIsInRvRml4ZWQiLCJjcmVhdGVDb21tZW50IiwiUmVnRXhwIiwiXyRsaXRUeXBlJCIsInN0cmluZ3MiLCJ2YWx1ZXMiLCJUIiwiZm9yIiwiRSIsIkEiLCJDIiwiY3JlYXRlVHJlZVdhbGtlciIsIlYiLCJsYXN0SW5kZXgiLCJleGVjIiwic3RhcnRzV2l0aCIsIk4iLCJwYXJ0cyIsImVsIiwiY3VycmVudE5vZGUiLCJjb250ZW50IiwiZmlyc3RDaGlsZCIsInJlcGxhY2VXaXRoIiwiY2hpbGROb2RlcyIsIm5leHROb2RlIiwibm9kZVR5cGUiLCJoYXNBdHRyaWJ1dGVzIiwiZ2V0QXR0cmlidXRlTmFtZXMiLCJlbmRzV2l0aCIsImdldEF0dHJpYnV0ZSIsImluZGV4IiwiY3RvciIsIkgiLCJJIiwiTCIsInRhZ05hbWUiLCJhcHBlbmQiLCJkYXRhIiwiaW5kZXhPZiIsImlubmVySFRNTCIsIl8kQ28iLCJfJENsIiwiXyRsaXREaXJlY3RpdmUkIiwiXyRBTyIsIl8kQVQiLCJfJEFTIiwiXyRBViIsIl8kQU4iLCJfJEFEIiwiXyRBTSIsInBhcmVudE5vZGUiLCJfJEFVIiwiY3JlYXRpb25TY29wZSIsImltcG9ydE5vZGUiLCJSIiwibmV4dFNpYmxpbmciLCJfJEFJIiwiXyRDdiIsIl8kQUgiLCJfJEFBIiwiXyRBQiIsIm9wdGlvbnMiLCJzdGFydE5vZGUiLCJlbmROb2RlIiwiXyRBUiIsIml0ZXJhdG9yIiwiaW5zZXJ0QmVmb3JlIiwiY3JlYXRlVGV4dE5vZGUiLCJfJEFDIiwiXyRBUCIsInJlbW92ZSIsInNldENvbm5lY3RlZCIsImVsZW1lbnQiLCJmaWxsIiwiaiIsInRvZ2dsZUF0dHJpYnV0ZSIsImNhcHR1cmUiLCJvbmNlIiwicGFzc2l2ZSIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJhZGRFdmVudExpc3RlbmVyIiwiaGFuZGxlRXZlbnQiLCJob3N0IiwibGl0SHRtbFBvbHlmaWxsU3VwcG9ydCIsImxpdEh0bWxWZXJzaW9ucyIsInJlbmRlck9wdGlvbnMiLCJfJERvIiwicmVuZGVyQmVmb3JlIiwicmVuZGVyIiwiXyRsaXRQYXJ0JCIsIl8kbGl0RWxlbWVudCQiLCJsaXRFbGVtZW50SHlkcmF0ZVN1cHBvcnQiLCJMaXRFbGVtZW50IiwibGl0RWxlbWVudFBvbHlmaWxsU3VwcG9ydCIsImxpdEVsZW1lbnRWZXJzaW9ucyIsImtpbmQiLCJDYXRlZ29yeSIsIkNhdGVnb3JpZXMiLCJjaW5lbWFNb3ZpZSIsIm5ld3NJdGVtIiwibmV3c1ByZXNlbnRlciIsInJhZGlvU29uZyIsInNob3diaXp6Iiwic3BvcnRzIiwidGVjaCIsIlV0aWwiLCJhc3luY0ZvcmVhY2giLCJhcnJheSIsImNhbGxiYWNrIiwicmVtb3ZlQWxsQ2hpbGRyZW4iLCJwYXJlbnRFbGVtZW50IiwiY2hpbGRUb0RlbGV0ZSIsImxhc3RDaGlsZCIsInJlbW92ZUNoaWxkIiwic2h1ZmZsZUFycmF5Iiwic29ydCIsIkFwaVNlcnZpY2UiLCJ0ZWVlQXBpVXJsIiwiZmV0Y2hPbmVJbmNpZGVudCIsInBvdiIsImNhdGVnb3J5IiwiZW1vdGlvbiIsImltcGFjdCIsImZyb20iLCJ0byIsIm1heExhc3RlZCIsInZhcmlhbnQiLCJhc3luYyIsInJlc29sdmUiLCJjb25zb2xlIiwiZGVidWciLCJwb3ZzIiwiY2F0ZWdvcmllcyIsImVtb3Rpb25zIiwiaW1wYWN0cyIsImRhdGVTdHJpbmciLCJmcm9tU3RyaW5nIiwibWF4TGFzdGVkU3RyaW5nIiwidmFyaWFudHMiLCJ1cmxzIiwidXJsU2VhcmNoIiwiVVJMU2VhcmNoUGFyYW1zIiwibGltaXQiLCJ1cmwiLCJVUkwiLCJzZWFyY2giLCJpbmNpZGVudHMiLCJyZXNwb25zZSIsImZldGNoIiwianNvbiIsImNvbmNhdCIsInJlc3VsdHMiLCJmaXJzdEluY2lkZW50SW5MaXN0Iiwic291cmNlc0ZvdW5kSW5JbmNpZGVudHMiLCJpbmNpZGVudCIsInNvdXJjZSIsInNvdXJjZXMiLCJwb3N0QXR0cmlidXRlUXVhbGl0eUZlZWRiYWNrIiwiaW5jaWRlbnRpZCIsInZhbHVlIiwicmVtYXJrIiwibWV0aG9kIiwiaGVhZGVycyIsIkFjY2VwdCIsImJvZHkiLCJwb3N0SW5jaWRlbnRRdWFsaXR5RmVlZGJhY2siLCJDb250ZW50RmVlZGJhY2siLCJHYW1lU3RhdGUiLCJOTCIsIkhpbnRUZW1wbGF0ZXMiLCJ0cmFuc2xhdGUiLCJRdWVzdGlvblNjb3JlQ29udHJvbGxlciIsInN0YXJ0VmFsdWUiLCJ0aW1lb3V0Iiwic3RhcnQiLCJfdGltZXJJRCIsInNldEludGVydmFsIiwic3RvcCIsImNsZWFySW50ZXJ2YWwiLCJyZXNldCIsImlzUnVubmluZyIsInNldFRpbWVvdXQiLCJ3aW5kb3ciLCJHdWVzc1RoZVllYXIiLCJsb2FkaW5nIiwiX2xvYWRpbmciLCJyZXBvcnRCcm9rZW5JbWFnZXMiLCJjb3VudHJ5Iiwibm9JbWFnZVNyYyIsInN1cHByZXNzSW1hZ2VzIiwibWF4SGludHMiLCJudW1iZXJPZlF1ZXN0aW9ucyIsIl9udW1iZXJPZlF1ZXN0aW9uc1NlZW4iLCJfaW5jaWRlbnQiLCJfYW5zd2VycyIsIl9oaW50IiwiX3Nob3dIaW50IiwiX3Nob3dGb290ZXIiLCJfaGludHNJbmRleCIsIl9oaW50cyIsIl9zb2x1dGlvbiIsIl9yZW5kZXJTdGF0ZSIsIklOSVQiLCJfc2NvcmUiLCJ0b3RhbFNjb3JlIiwiX2Fuc3dlciIsIl9hcGlTZXJ2aWNlIiwiaTE4biIsIl9oYW5kbGVJbWFnZUxvYWRFcnJvciIsImV2dCIsInRhcmdldEltYWdlIiwidGFyZ2V0Iiwic3JjIiwiaWQiLCJpbmNvcnJlY3QiLCJfc2NvcmUwIiwiU1BMQVNIIiwiY2hhbmdlZFByb3BlcnRpZXMiLCJyZW5kZXJTcGxhc2hTY3JlZW4iLCJJTlRSTyIsInJlbmRlckdhbWVJbnRybyIsIlBMQVkiLCJyZW5kZXJHYW1lU3RhZ2UiLCJFTkQiLCJyZW5kZXJHYW1lRW5kIiwiX3JlbmRlckZvb3RlciIsImNvbG9yRWxlbWVudCIsImNvbG9yIiwicXVlcnlTZWxlY3RvciIsInN0eWxlIiwic2V0UHJvcGVydHkiLCJfcmVuZGVySGVhZGVyIiwiX3JlbmRlclllYXJTZWxlY3RPcHRpb25zIiwic2VsZWN0ZWRWYWx1ZSIsInNlbGVjdGVkIiwicGFyc2VJbnQiLCJzZWxlY3RZZWFyT3B0aW9ucyIsInNlbGVjdFF1ZXN0aW9uT3B0aW9ucyIsImV2ZW50IiwiX3NldEZyb21EYXRlIiwiX3NldFRvRGF0ZSIsInNldHVwTmV3R2FtZSIsIl9yZW5kZXJHYW1lU2NvcmUiLCJfcmVuZGVySW5jaWRlbnQiLCJfcmVuZGVySGludCIsInJlbmRlclNvdXJjZXMiLCJfcmVuZGVySGludEJ1dHRvbiIsIl9yZW5kZXJBbnN3ZXJzIiwiX3JlbmRlckZlZWRiYWNrIiwidGl0bGUiLCJfcmVuZGVySW5jaWRlbnRJbWFnZSIsInRleHQiLCJfc2hvdWxkRGlzcGxheUFuSW1hZ2UiLCJoYXNJbWFnZSIsImltYWdlIiwiZGlzcGxheUltYWdlcyIsImFuc3dlciIsIl9oYW5kbGVBbnN3ZXJDbGlja2VkIiwiX2hhbmRsZUhpbnRDbGlja2VkIiwiaGludFRleHQiLCJfZ2VuZXJhdGVIaW50VGV4dCIsImlzX2NvcnJlY3QiLCJzY29yZSIsIl9yZW5kZXJOZXh0UXVlc3Rpb25CdXR0b24iLCJfbG9hZFF1ZXN0aW9uIiwiX2VuZEdhbWUiLCJfcmVzZXRTdGFnZSIsInllYXJwbHVzbW9udGgiLCJhbnN3ZXJzIiwicmFuZG9tQW5zd2VyIiwiaW5jbHVkZXMiLCJzaGlmdCIsImhpbnRJbmNpZGVudCIsImhpbnQiLCJoaW50VGVtcGxhdGVzIiwidHJhY2siLCJhcnRpc3QiLCJEYXlqcyIsImN1c3RvbUVsZW1lbnRzIiwiZGVmaW5lIl0sInNvdXJjZVJvb3QiOiIifQ==