Files
seatmapv2/client/dist/inject.js
2021-05-23 23:06:20 +02:00

376 lines
1.8 MiB
Raw Blame History

(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).Panzoom=e()}(this,function(){"use strict";var t=function(){return(t=Object.assign||function(t){for(var e,n=1,o=arguments.length;n<o;n++)for(var r in e=arguments[n])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}).apply(this,arguments)};function e(t,e){for(var n=t.length;n--;)if(t[n].pointerId===e.pointerId)return n;return-1}function n(t,o){var r;if(o.touches){r=0;for(var a=0,i=o.touches;a<i.length;a++){var c=i[a];c.pointerId=r++,n(t,c)}}else(r=e(t,o))>-1&&t.splice(r,1),t.push(o)}function o(t){for(var e,n=(t=t.slice(0)).pop();e=t.pop();)n={clientX:(e.clientX-n.clientX)/2+n.clientX,clientY:(e.clientY-n.clientY)/2+n.clientY};return n}function r(t){if(t.length<2)return 0;var e=t[0],n=t[1];return Math.sqrt(Math.pow(Math.abs(n.clientX-e.clientX),2)+Math.pow(Math.abs(n.clientY-e.clientY),2))}"undefined"!=typeof window&&(window.NodeList&&!NodeList.prototype.forEach&&(NodeList.prototype.forEach=Array.prototype.forEach),"function"!=typeof window.CustomEvent&&(window.CustomEvent=function(t,e){e=e||{bubbles:!1,cancelable:!1,detail:null};var n=document.createEvent("CustomEvent");return n.initCustomEvent(t,e.bubbles,e.cancelable,e.detail),n}));var a={down:"mousedown",move:"mousemove",up:"mouseup mouseleave"};function i(t,e,n,o){a[t].split(" ").forEach(function(t){e.addEventListener(t,n,o)})}function c(t,e,n){a[t].split(" ").forEach(function(t){e.removeEventListener(t,n)})}"undefined"!=typeof window&&("function"==typeof window.PointerEvent?a={down:"pointerdown",move:"pointermove",up:"pointerup pointerleave pointercancel"}:"function"==typeof window.TouchEvent&&(a={down:"touchstart",move:"touchmove",up:"touchend touchcancel"}));var l,p="undefined"!=typeof document&&!!document.documentMode;function u(){return l||(l=document.createElement("div").style)}var d=["webkit","moz","ms"],s={};function f(t){if(s[t])return s[t];var e=u();if(t in e)return s[t]=t;for(var n=t[0].toUpperCase()+t.slice(1),o=d.length;o--;){var r=""+d[o]+n;if(r in e)return s[t]=r}}function m(t,e){return parseFloat(e[f(t)])||0}function h(t,e,n){void 0===n&&(n=window.getComputedStyle(t));var o="border"===e?"Width":"";return{left:m(e+"Left"+o,n),right:m(e+"Right"+o,n),top:m(e+"Top"+o,n),bottom:m(e+"Bottom"+o,n)}}function v(t,e,n){t.style[f(e)]=n}function g(t){var e=t.parentNode,n=window.getComputedStyle(t),o=window.getComputedStyle(e),r=t.getBoundingClientRect(),a=e.getBoundingClientRect();return{elem:{style:n,width:r.width,height:r.height,top:r.top,bottom:r.bottom,left:r.left,right:r.right,margin:h(t,"margin",n),border:h(t,"border",n)},parent:{style:o,width:a.width,height:a.height,top:a.top,bottom:a.bottom,left:a.left,right:a.right,padding:h(e,"padding",o),border:h(e,"border",o)}}}function y(t,e){return 1===t.nodeType&&(" "+function(t){return(t.getAttribute("class")||"").trim()}(t)+" ").indexOf(" "+e+" ")>-1}var w=/^http:[\w\.\/]+svg$/;var b={animate:!1,canvas:!1,cursor:"move",disablePan:!1,disableZoom:!1,disableXAxis:!1,disableYAxis:!1,duration:200,easing:"ease-in-out",exclude:[],excludeClass:"panzoom-exclude",handleStartEvent:function(t){t.preventDefault(),t.stopPropagation()},maxScale:4,minScale:.125,overflow:"hidden",panOnlyWhenZoomed:!1,relative:!1,setTransform:function(t,e,n){var o=e.x,r=e.y,a=e.scale,i=e.isSVG;if(v(t,"transform","scale("+a+") translate("+o+"px, "+r+"px)"),i&&p){var c=window.getComputedStyle(t).getPropertyValue("transform");t.setAttribute("transform",c)}},startX:0,startY:0,startScale:1,step:.3,touchAction:"none"};function x(l,p){if(!l)throw new Error("Panzoom requires an element as an argument");if(1!==l.nodeType)throw new Error("Panzoom requires an element with a nodeType of 1");if(!function(t){var e=t.ownerDocument,n=t.parentNode;return e&&n&&9===e.nodeType&&1===n.nodeType&&e.documentElement.contains(n)}(l))throw new Error("Panzoom should be called on elements that have been attached to the DOM");p=t(t({},b),p);var u=function(t){return w.test(t.namespaceURI)&&"svg"!==t.nodeName.toLowerCase()}(l),d=l.parentNode;d.style.overflow=p.overflow,d.style.userSelect="none",d.style.touchAction=p.touchAction,(p.canvas?d:l).style.cursor=p.cursor,l.style.userSelect="none",l.style.touchAction=p.touchAction,v(l,"transformOrigin","string"==typeof p.origin?p.origin:u?"0 0":"50% 50%");var s,m,h,x,S,E,M=0,O=0,P=1,z=!1;function A(t,e,n){if(!n.silent){var o=new CustomEvent(t,{detail:e});l.dispatchEvent(o)}}function X(t,e){var n={x:M,y:O,scale:P,isSVG:u};return requestAnimationFrame(function(){"boolean"==typeof e.animate&&(e.animate?function(t,e){v(t,"transition",f("transform")+" "+e.duration+"ms "+e.easing)}(l,e):v(l,"transition","none")),e.setTransform(l,n,e)}),A(t,n,e),A("panzoomchange",n,e),n}function Y(){if(p.contain){var t=g(l),e=t.parent.width-t.parent.border.left-t.parent.border.right,n=t.parent.height-t.parent.border.top-t.parent.border.bottom,o=e/(t.elem.width/P),r=n/(t.elem.height/P);"inside"===p.contain?p.maxScale=Math.min(o,r):"outside"===p.contain&&(p.minScale=Math.max(o,r))}}function C(e,n,o,r){var a=t(t({},p),r),i={x:M,y:O,opts:a};if(!a.force&&(a.disablePan||a.panOnlyWhenZoomed&&P===a.startScale))return i;if(e=parseFloat(e),n=parseFloat(n),a.disableXAxis||(i.x=(a.relative?M:0)+e),a.disableYAxis||(i.y=(a.relative?O:0)+n),"inside"===a.contain){var c=g(l);i.x=Math.max(-c.elem.margin.left-c.parent.padding.left,Math.min(c.parent.width-c.elem.width/o-c.parent.padding.left-c.elem.margin.left-c.parent.border.left-c.parent.border.right,i.x)),i.y=Math.max(-c.elem.margin.top-c.parent.padding.top,Math.min(c.parent.height-c.elem.height/o-c.parent.padding.top-c.elem.margin.top-c.parent.border.top-c.parent.border.bottom,i.y))}else if("outside"===a.contain){var u=(c=g(l)).elem.width/P,d=c.elem.height/P,s=u*o,f=d*o,m=(s-u)/2,h=(f-d)/2,v=(-(s-c.parent.width)-c.parent.padding.left-c.parent.border.left-c.parent.border.right+m)/o,y=(m-c.parent.padding.left)/o;i.x=Math.max(Math.min(i.x,y),v);var w=(-(f-c.parent.height)-c.parent.padding.top-c.parent.border.top-c.parent.border.bottom+h)/o,b=(h-c.parent.padding.top)/o;i.y=Math.max(Math.min(i.y,b),w)}return i}function T(e,n){var o=t(t({},p),n),r={scale:P,opts:o};return!o.force&&o.disableZoom?r:(r.scale=Math.min(Math.max(e,o.minScale),o.maxScale),r)}function N(t,e,n){var o=C(t,e,P,n),r=o.opts;return M=o.x,O=o.y,X("panzoompan",r)}function L(t,e){var n=T(t,e),o=n.opts;if(o.force||!o.disableZoom){t=n.scale;var r=M,a=O;if(o.focal){var i=o.focal;r=(i.x/t-i.x/P+M*t)/t,a=(i.y/t-i.y/P+O*t)/t}var c=C(r,a,t,{relative:!1,force:!0});return M=c.x,O=c.y,P=t,X("panzoomzoom",o)}}function I(e,n){var o=t(t(t({},p),{animate:!0}),n);return L(P*Math.exp((e?1:-1)*o.step),o)}function W(e,n,o){var r=g(l),a=r.parent.width-r.parent.padding.left-r.parent.padding.right-r.parent.border.left-r.parent.border.right,i=r.parent.height-r.parent.padding.top-r.parent.padding.bottom-r.parent.border.top-r.parent.border.bottom,c=n.clientX-r.parent.left-r.parent.padding.left-r.parent.border.left-r.elem.margin.left,p=n.clientY-r.parent.top-r.parent.padding.top-r.parent.border.top-r.elem.margin.top;u||(c-=r.elem.width/P/2,p-=r.elem.height/P/2);var d={x:c/a*(a*e),y:p/i*(i*e)};return L(e,t(t({animate:!1},o),{focal:d}))}L(p.startScale,{animate:!1}),setTimeout(function(){Y(),N(p.startX,p.startY,{animate:!1})});var Z=[];function q(t){if(!function(t,e){for(var n=t;null!=n;n=n.parentNode)if(y(n,e.excludeClass)||e.exclude.indexOf(n)>-1)return!0;return!1}(t.target,p)){n(Z,t),z=!0,p.handleStartEvent(t),s=M,m=O,A("panzoomstart",{x:M,y:O,scale:P},p);var e=o(Z);h=e.clientX,x=e.clientY,S=P,E=r(Z)}}function B(t){if(z&&void 0!==s&&void 0!==m&&void 0!==h&&void 0!==x){n(Z,t);var e=o(Z);if(Z.length>1)W(T((r(Z)-E)*p.step/80+S).scale,e);N(s+(e.clientX-h)/P,m+(e.clientY-x)/P,{animate:!1})}}function D(t){1===Z.length&&A("panzoomend",{x:M,y:O,scale:P},p),function(t,n){if(n.touches)for(;t.length;)t.pop();else{var o=e(t,n);o>-1&&t.splice(o,1)}}(Z,t),z&&(z=!1,s=m=h=x=void 0)}var F=!1;function R(){F||(F=!0,i("down",p.canvas?d:l,q),i("move",document,B,{passive:!0}),i("up",document,D,{passive:!0}))}return p.noBind||R(),{bind:R,destroy:function(){F=!1,c("down",p.canvas?d:l,q),c("move",document,B),c("up",document,D)},eventNames:a,getPan:function(){return{x:M,y:O}},getScale:function(){return P},getOptions:function(){return function(t){var e={};for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}(p)},pan:N,reset:function(e){var n=t(t(t({},p),{animate:!0,force:!0}),e);P=T(n.startScale,n).scale;var o=C(n.startX,n.startY,P,n);return M=o.x,O=o.y,X("panzoomreset",n)},setOptions:function(t){for(var e in void 0===t&&(t={}),t)t.hasOwnProperty(e)&&(p[e]=t[e]);t.hasOwnProperty("cursor")&&(l.style.cursor=t.cursor),t.hasOwnProperty("overflow")&&(d.style.overflow=t.overflow),t.hasOwnProperty("touchAction")&&(d.style.touchAction=t.touchAction,l.style.touchAction=t.touchAction),(t.hasOwnProperty("minScale")||t.hasOwnProperty("maxScale")||t.hasOwnProperty("contain"))&&Y()},setStyle:function(t,e){return v(l,t,e)},zoom:L,zoomIn:function(t){return I(!0,t)},zoomOut:function(t){return I(!1,t)},zoomToPoint:W,zoomWithWheel:function(e,n){e.preventDefault();var o=t(t({},p),n),r=(0===e.deltaY&&e.deltaX?e.deltaX:e.deltaY)<0?1:-1;return W(T(P*Math.exp(r*o.step/3),o).scale,e,o)}}}return x.defaultOptions=b,x});
},{}],2:[function(require,module,exports){
module.exports=require("./lib/axios");
},{"./lib/axios":4}],3:[function(require,module,exports){
"use strict";var utils=require("./../utils"),settle=require("./../core/settle"),cookies=require("./../helpers/cookies"),buildURL=require("./../helpers/buildURL"),buildFullPath=require("../core/buildFullPath"),parseHeaders=require("./../helpers/parseHeaders"),isURLSameOrigin=require("./../helpers/isURLSameOrigin"),createError=require("../core/createError");module.exports=function(e){return new Promise(function(r,t){var s=e.data,o=e.headers;utils.isFormData(s)&&delete o["Content-Type"];var a=new XMLHttpRequest;if(e.auth){var n=e.auth.username||"",i=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";o.Authorization="Basic "+btoa(n+":"+i)}var u=buildFullPath(e.baseURL,e.url);if(a.open(e.method.toUpperCase(),buildURL(u,e.params,e.paramsSerializer),!0),a.timeout=e.timeout,a.onreadystatechange=function(){if(a&&4===a.readyState&&(0!==a.status||a.responseURL&&0===a.responseURL.indexOf("file:"))){var s="getAllResponseHeaders"in a?parseHeaders(a.getAllResponseHeaders()):null,o={data:e.responseType&&"text"!==e.responseType?a.response:a.responseText,status:a.status,statusText:a.statusText,headers:s,config:e,request:a};settle(r,t,o),a=null}},a.onabort=function(){a&&(t(createError("Request aborted",e,"ECONNABORTED",a)),a=null)},a.onerror=function(){t(createError("Network Error",e,null,a)),a=null},a.ontimeout=function(){var r="timeout of "+e.timeout+"ms exceeded";e.timeoutErrorMessage&&(r=e.timeoutErrorMessage),t(createError(r,e,"ECONNABORTED",a)),a=null},utils.isStandardBrowserEnv()){var l=(e.withCredentials||isURLSameOrigin(u))&&e.xsrfCookieName?cookies.read(e.xsrfCookieName):void 0;l&&(o[e.xsrfHeaderName]=l)}if("setRequestHeader"in a&&utils.forEach(o,function(e,r){void 0===s&&"content-type"===r.toLowerCase()?delete o[r]:a.setRequestHeader(r,e)}),utils.isUndefined(e.withCredentials)||(a.withCredentials=!!e.withCredentials),e.responseType)try{a.responseType=e.responseType}catch(r){if("json"!==e.responseType)throw r}"function"==typeof e.onDownloadProgress&&a.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&a.upload&&a.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then(function(e){a&&(a.abort(),t(e),a=null)}),s||(s=null),a.send(s)})};
},{"../core/buildFullPath":10,"../core/createError":11,"./../core/settle":15,"./../helpers/buildURL":19,"./../helpers/cookies":21,"./../helpers/isURLSameOrigin":24,"./../helpers/parseHeaders":26,"./../utils":28}],4:[function(require,module,exports){
"use strict";var utils=require("./utils"),bind=require("./helpers/bind"),Axios=require("./core/Axios"),mergeConfig=require("./core/mergeConfig"),defaults=require("./defaults");function createInstance(e){var r=new Axios(e),i=bind(Axios.prototype.request,r);return utils.extend(i,Axios.prototype,r),utils.extend(i,r),i}var axios=createInstance(defaults);axios.Axios=Axios,axios.create=function(e){return createInstance(mergeConfig(axios.defaults,e))},axios.Cancel=require("./cancel/Cancel"),axios.CancelToken=require("./cancel/CancelToken"),axios.isCancel=require("./cancel/isCancel"),axios.all=function(e){return Promise.all(e)},axios.spread=require("./helpers/spread"),axios.isAxiosError=require("./helpers/isAxiosError"),module.exports=axios,module.exports.default=axios;
},{"./cancel/Cancel":5,"./cancel/CancelToken":6,"./cancel/isCancel":7,"./core/Axios":8,"./core/mergeConfig":14,"./defaults":17,"./helpers/bind":18,"./helpers/isAxiosError":23,"./helpers/spread":27,"./utils":28}],5:[function(require,module,exports){
"use strict";function Cancel(e){this.message=e}Cancel.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},Cancel.prototype.__CANCEL__=!0,module.exports=Cancel;
},{}],6:[function(require,module,exports){
"use strict";var Cancel=require("./Cancel");function CancelToken(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var n;this.promise=new Promise(function(e){n=e});var o=this;e(function(e){o.reason||(o.reason=new Cancel(e),n(o.reason))})}CancelToken.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},CancelToken.source=function(){var e;return{token:new CancelToken(function(n){e=n}),cancel:e}},module.exports=CancelToken;
},{"./Cancel":5}],7:[function(require,module,exports){
"use strict";module.exports=function(t){return!(!t||!t.__CANCEL__)};
},{}],8:[function(require,module,exports){
"use strict";var utils=require("./../utils"),buildURL=require("../helpers/buildURL"),InterceptorManager=require("./InterceptorManager"),dispatchRequest=require("./dispatchRequest"),mergeConfig=require("./mergeConfig");function Axios(e){this.defaults=e,this.interceptors={request:new InterceptorManager,response:new InterceptorManager}}Axios.prototype.request=function(e){"string"==typeof e?(e=arguments[1]||{}).url=arguments[0]:e=e||{},(e=mergeConfig(this.defaults,e)).method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var t=[dispatchRequest,void 0],r=Promise.resolve(e);for(this.interceptors.request.forEach(function(e){t.unshift(e.fulfilled,e.rejected)}),this.interceptors.response.forEach(function(e){t.push(e.fulfilled,e.rejected)});t.length;)r=r.then(t.shift(),t.shift());return r},Axios.prototype.getUri=function(e){return e=mergeConfig(this.defaults,e),buildURL(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},utils.forEach(["delete","get","head","options"],function(e){Axios.prototype[e]=function(t,r){return this.request(mergeConfig(r||{},{method:e,url:t,data:(r||{}).data}))}}),utils.forEach(["post","put","patch"],function(e){Axios.prototype[e]=function(t,r,o){return this.request(mergeConfig(o||{},{method:e,url:t,data:r}))}}),module.exports=Axios;
},{"../helpers/buildURL":19,"./../utils":28,"./InterceptorManager":9,"./dispatchRequest":12,"./mergeConfig":14}],9:[function(require,module,exports){
"use strict";var utils=require("./../utils");function InterceptorManager(){this.handlers=[]}InterceptorManager.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},InterceptorManager.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},InterceptorManager.prototype.forEach=function(e){utils.forEach(this.handlers,function(t){null!==t&&e(t)})},module.exports=InterceptorManager;
},{"./../utils":28}],10:[function(require,module,exports){
"use strict";var isAbsoluteURL=require("../helpers/isAbsoluteURL"),combineURLs=require("../helpers/combineURLs");module.exports=function(e,s){return e&&!isAbsoluteURL(s)?combineURLs(e,s):s};
},{"../helpers/combineURLs":20,"../helpers/isAbsoluteURL":22}],11:[function(require,module,exports){
"use strict";var enhanceError=require("./enhanceError");module.exports=function(r,e,n,o,a){var c=new Error(r);return enhanceError(c,e,n,o,a)};
},{"./enhanceError":13}],12:[function(require,module,exports){
"use strict";var utils=require("./../utils"),transformData=require("./transformData"),isCancel=require("../cancel/isCancel"),defaults=require("../defaults");function throwIfCancellationRequested(e){e.cancelToken&&e.cancelToken.throwIfRequested()}module.exports=function(e){return throwIfCancellationRequested(e),e.headers=e.headers||{},e.data=transformData(e.data,e.headers,e.transformRequest),e.headers=utils.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),utils.forEach(["delete","get","head","post","put","patch","common"],function(a){delete e.headers[a]}),(e.adapter||defaults.adapter)(e).then(function(a){return throwIfCancellationRequested(e),a.data=transformData(a.data,a.headers,e.transformResponse),a},function(a){return isCancel(a)||(throwIfCancellationRequested(e),a&&a.response&&(a.response.data=transformData(a.response.data,a.response.headers,e.transformResponse))),Promise.reject(a)})};
},{"../cancel/isCancel":7,"../defaults":17,"./../utils":28,"./transformData":16}],13:[function(require,module,exports){
"use strict";module.exports=function(e,i,s,t,n){return e.config=i,s&&(e.code=s),e.request=t,e.response=n,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},e};
},{}],14:[function(require,module,exports){
"use strict";var utils=require("../utils");module.exports=function(e,t){t=t||{};var i={},s=["url","method","data"],n=["headers","auth","proxy","params"],r=["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","timeoutMessage","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","maxRedirects","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding"],o=["validateStatus"];function a(e,t){return utils.isPlainObject(e)&&utils.isPlainObject(t)?utils.merge(e,t):utils.isPlainObject(t)?utils.merge({},t):utils.isArray(t)?t.slice():t}function u(s){utils.isUndefined(t[s])?utils.isUndefined(e[s])||(i[s]=a(void 0,e[s])):i[s]=a(e[s],t[s])}utils.forEach(s,function(e){utils.isUndefined(t[e])||(i[e]=a(void 0,t[e]))}),utils.forEach(n,u),utils.forEach(r,function(s){utils.isUndefined(t[s])?utils.isUndefined(e[s])||(i[s]=a(void 0,e[s])):i[s]=a(void 0,t[s])}),utils.forEach(o,function(s){s in t?i[s]=a(e[s],t[s]):s in e&&(i[s]=a(void 0,e[s]))});var c=s.concat(n).concat(r).concat(o),l=Object.keys(e).concat(Object.keys(t)).filter(function(e){return-1===c.indexOf(e)});return utils.forEach(l,u),i};
},{"../utils":28}],15:[function(require,module,exports){
"use strict";var createError=require("./createError");module.exports=function(t,r,e){var s=e.config.validateStatus;e.status&&s&&!s(e.status)?r(createError("Request failed with status code "+e.status,e.config,null,e.request,e)):t(e)};
},{"./createError":11}],16:[function(require,module,exports){
"use strict";var utils=require("./../utils");module.exports=function(t,u,r){return utils.forEach(r,function(r){t=r(t,u)}),t};
},{"./../utils":28}],17:[function(require,module,exports){
(function (process){(function (){
"use strict";var utils=require("./utils"),normalizeHeaderName=require("./helpers/normalizeHeaderName"),DEFAULT_CONTENT_TYPE={"Content-Type":"application/x-www-form-urlencoded"};function setContentTypeIfUnset(e,t){!utils.isUndefined(e)&&utils.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}function getDefaultAdapter(){var e;return"undefined"!=typeof XMLHttpRequest?e=require("./adapters/xhr"):"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process)&&(e=require("./adapters/http")),e}var defaults={adapter:getDefaultAdapter(),transformRequest:[function(e,t){return normalizeHeaderName(t,"Accept"),normalizeHeaderName(t,"Content-Type"),utils.isFormData(e)||utils.isArrayBuffer(e)||utils.isBuffer(e)||utils.isStream(e)||utils.isFile(e)||utils.isBlob(e)?e:utils.isArrayBufferView(e)?e.buffer:utils.isURLSearchParams(e)?(setContentTypeIfUnset(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):utils.isObject(e)?(setContentTypeIfUnset(t,"application/json;charset=utf-8"),JSON.stringify(e)):e}],transformResponse:[function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(e){}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};utils.forEach(["delete","get","head"],function(e){defaults.headers[e]={}}),utils.forEach(["post","put","patch"],function(e){defaults.headers[e]=utils.merge(DEFAULT_CONTENT_TYPE)}),module.exports=defaults;
}).call(this)}).call(this,require('_process'))
},{"./adapters/http":3,"./adapters/xhr":3,"./helpers/normalizeHeaderName":25,"./utils":28,"_process":38}],18:[function(require,module,exports){
"use strict";module.exports=function(r,n){return function(){for(var t=new Array(arguments.length),e=0;e<t.length;e++)t[e]=arguments[e];return r.apply(n,t)}};
},{}],19:[function(require,module,exports){
"use strict";var utils=require("./../utils");function encode(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}module.exports=function(e,i,r){if(!i)return e;var t;if(r)t=r(i);else if(utils.isURLSearchParams(i))t=i.toString();else{var n=[];utils.forEach(i,function(e,i){null!=e&&(utils.isArray(e)?i+="[]":e=[e],utils.forEach(e,function(e){utils.isDate(e)?e=e.toISOString():utils.isObject(e)&&(e=JSON.stringify(e)),n.push(encode(i)+"="+encode(e))}))}),t=n.join("&")}if(t){var s=e.indexOf("#");-1!==s&&(e=e.slice(0,s)),e+=(-1===e.indexOf("?")?"?":"&")+t}return e};
},{"./../utils":28}],20:[function(require,module,exports){
"use strict";module.exports=function(e,r){return r?e.replace(/\/+$/,"")+"/"+r.replace(/^\/+/,""):e};
},{}],21:[function(require,module,exports){
"use strict";var utils=require("./../utils");module.exports=utils.isStandardBrowserEnv()?{write:function(e,t,n,i,u,o){var r=[];r.push(e+"="+encodeURIComponent(t)),utils.isNumber(n)&&r.push("expires="+new Date(n).toGMTString()),utils.isString(i)&&r.push("path="+i),utils.isString(u)&&r.push("domain="+u),!0===o&&r.push("secure"),document.cookie=r.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}};
},{"./../utils":28}],22:[function(require,module,exports){
"use strict";module.exports=function(t){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(t)};
},{}],23:[function(require,module,exports){
"use strict";module.exports=function(o){return"object"==typeof o&&!0===o.isAxiosError};
},{}],24:[function(require,module,exports){
"use strict";var utils=require("./../utils");module.exports=utils.isStandardBrowserEnv()?function(){var t,r=/(msie|trident)/i.test(navigator.userAgent),e=document.createElement("a");function o(t){var o=t;return r&&(e.setAttribute("href",o),o=e.href),e.setAttribute("href",o),{href:e.href,protocol:e.protocol?e.protocol.replace(/:$/,""):"",host:e.host,search:e.search?e.search.replace(/^\?/,""):"",hash:e.hash?e.hash.replace(/^#/,""):"",hostname:e.hostname,port:e.port,pathname:"/"===e.pathname.charAt(0)?e.pathname:"/"+e.pathname}}return t=o(window.location.href),function(r){var e=utils.isString(r)?o(r):r;return e.protocol===t.protocol&&e.host===t.host}}():function(){return!0};
},{"./../utils":28}],25:[function(require,module,exports){
"use strict";var utils=require("../utils");module.exports=function(e,t){utils.forEach(e,function(r,s){s!==t&&s.toUpperCase()===t.toUpperCase()&&(e[t]=r,delete e[s])})};
},{"../utils":28}],26:[function(require,module,exports){
"use strict";var utils=require("./../utils"),ignoreDuplicateOf=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];module.exports=function(t){var e,i,r,o={};return t?(utils.forEach(t.split("\n"),function(t){if(r=t.indexOf(":"),e=utils.trim(t.substr(0,r)).toLowerCase(),i=utils.trim(t.substr(r+1)),e){if(o[e]&&ignoreDuplicateOf.indexOf(e)>=0)return;o[e]="set-cookie"===e?(o[e]?o[e]:[]).concat([i]):o[e]?o[e]+", "+i:i}}),o):o};
},{"./../utils":28}],27:[function(require,module,exports){
"use strict";module.exports=function(n){return function(t){return n.apply(null,t)}};
},{}],28:[function(require,module,exports){
"use strict";var bind=require("./helpers/bind"),toString=Object.prototype.toString;function isArray(r){return"[object Array]"===toString.call(r)}function isUndefined(r){return void 0===r}function isBuffer(r){return null!==r&&!isUndefined(r)&&null!==r.constructor&&!isUndefined(r.constructor)&&"function"==typeof r.constructor.isBuffer&&r.constructor.isBuffer(r)}function isArrayBuffer(r){return"[object ArrayBuffer]"===toString.call(r)}function isFormData(r){return"undefined"!=typeof FormData&&r instanceof FormData}function isArrayBufferView(r){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(r):r&&r.buffer&&r.buffer instanceof ArrayBuffer}function isString(r){return"string"==typeof r}function isNumber(r){return"number"==typeof r}function isObject(r){return null!==r&&"object"==typeof r}function isPlainObject(r){if("[object Object]"!==toString.call(r))return!1;var e=Object.getPrototypeOf(r);return null===e||e===Object.prototype}function isDate(r){return"[object Date]"===toString.call(r)}function isFile(r){return"[object File]"===toString.call(r)}function isBlob(r){return"[object Blob]"===toString.call(r)}function isFunction(r){return"[object Function]"===toString.call(r)}function isStream(r){return isObject(r)&&isFunction(r.pipe)}function isURLSearchParams(r){return"undefined"!=typeof URLSearchParams&&r instanceof URLSearchParams}function trim(r){return r.replace(/^\s*/,"").replace(/\s*$/,"")}function isStandardBrowserEnv(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)}function forEach(r,e){if(null!=r)if("object"!=typeof r&&(r=[r]),isArray(r))for(var t=0,n=r.length;t<n;t++)e.call(null,r[t],t,r);else for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&e.call(null,r[i],i,r)}function merge(){var r={};function e(e,t){isPlainObject(r[t])&&isPlainObject(e)?r[t]=merge(r[t],e):isPlainObject(e)?r[t]=merge({},e):isArray(e)?r[t]=e.slice():r[t]=e}for(var t=0,n=arguments.length;t<n;t++)forEach(arguments[t],e);return r}function extend(r,e,t){return forEach(e,function(e,n){r[n]=t&&"function"==typeof e?bind(e,t):e}),r}function stripBOM(r){return 65279===r.charCodeAt(0)&&(r=r.slice(1)),r}module.exports={isArray:isArray,isArrayBuffer:isArrayBuffer,isBuffer:isBuffer,isFormData:isFormData,isArrayBufferView:isArrayBufferView,isString:isString,isNumber:isNumber,isObject:isObject,isPlainObject:isPlainObject,isUndefined:isUndefined,isDate:isDate,isFile:isFile,isBlob:isBlob,isFunction:isFunction,isStream:isStream,isURLSearchParams:isURLSearchParams,isStandardBrowserEnv:isStandardBrowserEnv,forEach:forEach,merge:merge,extend:extend,trim:trim,stripBOM:stripBOM};
},{"./helpers/bind":18}],29:[function(require,module,exports){
"use strict";exports.byteLength=byteLength,exports.toByteArray=toByteArray,exports.fromByteArray=fromByteArray;for(var lookup=[],revLookup=[],Arr="undefined"!=typeof Uint8Array?Uint8Array:Array,code="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i=0,len=code.length;i<len;++i)lookup[i]=code[i],revLookup[code.charCodeAt(i)]=i;function getLens(o){var r=o.length;if(r%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var e=o.indexOf("=");return-1===e&&(e=r),[e,e===r?0:4-e%4]}function byteLength(o){var r=getLens(o),e=r[0],t=r[1];return 3*(e+t)/4-t}function _byteLength(o,r,e){return 3*(r+e)/4-e}function toByteArray(o){var r,e,t=getLens(o),n=t[0],u=t[1],p=new Arr(_byteLength(o,n,u)),a=0,h=u>0?n-4:n;for(e=0;e<h;e+=4)r=revLookup[o.charCodeAt(e)]<<18|revLookup[o.charCodeAt(e+1)]<<12|revLookup[o.charCodeAt(e+2)]<<6|revLookup[o.charCodeAt(e+3)],p[a++]=r>>16&255,p[a++]=r>>8&255,p[a++]=255&r;return 2===u&&(r=revLookup[o.charCodeAt(e)]<<2|revLookup[o.charCodeAt(e+1)]>>4,p[a++]=255&r),1===u&&(r=revLookup[o.charCodeAt(e)]<<10|revLookup[o.charCodeAt(e+1)]<<4|revLookup[o.charCodeAt(e+2)]>>2,p[a++]=r>>8&255,p[a++]=255&r),p}function tripletToBase64(o){return lookup[o>>18&63]+lookup[o>>12&63]+lookup[o>>6&63]+lookup[63&o]}function encodeChunk(o,r,e){for(var t,n=[],u=r;u<e;u+=3)t=(o[u]<<16&16711680)+(o[u+1]<<8&65280)+(255&o[u+2]),n.push(tripletToBase64(t));return n.join("")}function fromByteArray(o){for(var r,e=o.length,t=e%3,n=[],u=0,p=e-t;u<p;u+=16383)n.push(encodeChunk(o,u,u+16383>p?p:u+16383));return 1===t?(r=o[e-1],n.push(lookup[r>>2]+lookup[r<<4&63]+"==")):2===t&&(r=(o[e-2]<<8)+o[e-1],n.push(lookup[r>>10]+lookup[r>>4&63]+lookup[r<<2&63]+"=")),n.join("")}revLookup["-".charCodeAt(0)]=62,revLookup["_".charCodeAt(0)]=63;
},{}],30:[function(require,module,exports){
},{}],31:[function(require,module,exports){
(function (Buffer){(function (){
"use strict";var base64=require("base64-js"),ieee754=require("ieee754");exports.Buffer=Buffer,exports.SlowBuffer=SlowBuffer,exports.INSPECT_MAX_BYTES=50;var K_MAX_LENGTH=2147483647;function typedArraySupport(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()}catch(e){return!1}}function createBuffer(e){if(e>K_MAX_LENGTH)throw new RangeError('The value "'+e+'" is invalid for option "size"');var t=new Uint8Array(e);return t.__proto__=Buffer.prototype,t}function Buffer(e,t,r){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return allocUnsafe(e)}return from(e,t,r)}function from(e,t,r){if("string"==typeof e)return fromString(e,t);if(ArrayBuffer.isView(e))return fromArrayLike(e);if(null==e)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(isInstance(e,ArrayBuffer)||e&&isInstance(e.buffer,ArrayBuffer))return fromArrayBuffer(e,t,r);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=e.valueOf&&e.valueOf();if(null!=n&&n!==e)return Buffer.from(n,t,r);var f=fromObject(e);if(f)return f;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return Buffer.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function assertSize(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function alloc(e,t,r){return assertSize(e),e<=0?createBuffer(e):void 0!==t?"string"==typeof r?createBuffer(e).fill(t,r):createBuffer(e).fill(t):createBuffer(e)}function allocUnsafe(e){return assertSize(e),createBuffer(e<0?0:0|checked(e))}function fromString(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!Buffer.isEncoding(t))throw new TypeError("Unknown encoding: "+t);var r=0|byteLength(e,t),n=createBuffer(r),f=n.write(e,t);return f!==r&&(n=n.slice(0,f)),n}function fromArrayLike(e){for(var t=e.length<0?0:0|checked(e.length),r=createBuffer(t),n=0;n<t;n+=1)r[n]=255&e[n];return r}function fromArrayBuffer(e,t,r){if(t<0||e.byteLength<t)throw new RangeError('"offset" is outside of buffer bounds');if(e.byteLength<t+(r||0))throw new RangeError('"length" is outside of buffer bounds');var n;return(n=void 0===t&&void 0===r?new Uint8Array(e):void 0===r?new Uint8Array(e,t):new Uint8Array(e,t,r)).__proto__=Buffer.prototype,n}function fromObject(e){if(Buffer.isBuffer(e)){var t=0|checked(e.length),r=createBuffer(t);return 0===r.length?r:(e.copy(r,0,0,t),r)}return void 0!==e.length?"number"!=typeof e.length||numberIsNaN(e.length)?createBuffer(0):fromArrayLike(e):"Buffer"===e.type&&Array.isArray(e.data)?fromArrayLike(e.data):void 0}function checked(e){if(e>=K_MAX_LENGTH)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+K_MAX_LENGTH.toString(16)+" bytes");return 0|e}function SlowBuffer(e){return+e!=e&&(e=0),Buffer.alloc(+e)}function byteLength(e,t){if(Buffer.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||isInstance(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);var r=e.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var f=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return utf8ToBytes(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return base64ToBytes(e).length;default:if(f)return n?-1:utf8ToBytes(e).length;t=(""+t).toLowerCase(),f=!0}}function slowToString(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return hexSlice(this,t,r);case"utf8":case"utf-8":return utf8Slice(this,t,r);case"ascii":return asciiSlice(this,t,r);case"latin1":case"binary":return latin1Slice(this,t,r);case"base64":return base64Slice(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return utf16leSlice(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function swap(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function bidirectionalIndexOf(e,t,r,n,f){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),numberIsNaN(r=+r)&&(r=f?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(f)return-1;r=e.length-1}else if(r<0){if(!f)return-1;r=0}if("string"==typeof t&&(t=Buffer.from(t,n)),Buffer.isBuffer(t))return 0===t.length?-1:arrayIndexOf(e,t,r,n,f);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?f?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):arrayIndexOf(e,[t],r,n,f);throw new TypeError("val must be string, number or Buffer")}function arrayIndexOf(e,t,r,n,f){var i,o=1,u=e.length,s=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;o=2,u/=2,s/=2,r/=2}function a(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(f){var h=-1;for(i=r;i<u;i++)if(a(e,i)===a(t,-1===h?0:i-h)){if(-1===h&&(h=i),i-h+1===s)return h*o}else-1!==h&&(i-=i-h),h=-1}else for(r+s>u&&(r=u-s),i=r;i>=0;i--){for(var c=!0,l=0;l<s;l++)if(a(e,i+l)!==a(t,l)){c=!1;break}if(c)return i}return-1}function hexWrite(e,t,r,n){r=Number(r)||0;var f=e.length-r;n?(n=Number(n))>f&&(n=f):n=f;var i=t.length;n>i/2&&(n=i/2);for(var o=0;o<n;++o){var u=parseInt(t.substr(2*o,2),16);if(numberIsNaN(u))return o;e[r+o]=u}return o}function utf8Write(e,t,r,n){return blitBuffer(utf8ToBytes(t,e.length-r),e,r,n)}function asciiWrite(e,t,r,n){return blitBuffer(asciiToBytes(t),e,r,n)}function latin1Write(e,t,r,n){return asciiWrite(e,t,r,n)}function base64Write(e,t,r,n){return blitBuffer(base64ToBytes(t),e,r,n)}function ucs2Write(e,t,r,n){return blitBuffer(utf16leToBytes(t,e.length-r),e,r,n)}function base64Slice(e,t,r){return 0===t&&r===e.length?base64.fromByteArray(e):base64.fromByteArray(e.slice(t,r))}function utf8Slice(e,t,r){r=Math.min(e.length,r);for(var n=[],f=t;f<r;){var i,o,u,s,a=e[f],h=null,c=a>239?4:a>223?3:a>191?2:1;if(f+c<=r)switch(c){case 1:a<128&&(h=a);break;case 2:128==(192&(i=e[f+1]))&&(s=(31&a)<<6|63&i)>127&&(h=s);break;case 3:i=e[f+1],o=e[f+2],128==(192&i)&&128==(192&o)&&(s=(15&a)<<12|(63&i)<<6|63&o)>2047&&(s<55296||s>57343)&&(h=s);break;case 4:i=e[f+1],o=e[f+2],u=e[f+3],128==(192&i)&&128==(192&o)&&128==(192&u)&&(s=(15&a)<<18|(63&i)<<12|(63&o)<<6|63&u)>65535&&s<1114112&&(h=s)}null===h?(h=65533,c=1):h>65535&&(h-=65536,n.push(h>>>10&1023|55296),h=56320|1023&h),n.push(h),f+=c}return decodeCodePointsArray(n)}exports.kMaxLength=K_MAX_LENGTH,Buffer.TYPED_ARRAY_SUPPORT=typedArraySupport(),Buffer.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(Buffer.prototype,"parent",{enumerable:!0,get:function(){if(Buffer.isBuffer(this))return this.buffer}}),Object.defineProperty(Buffer.prototype,"offset",{enumerable:!0,get:function(){if(Buffer.isBuffer(this))return this.byteOffset}}),"undefined"!=typeof Symbol&&null!=Symbol.species&&Buffer[Symbol.species]===Buffer&&Object.defineProperty(Buffer,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),Buffer.poolSize=8192,Buffer.from=function(e,t,r){return from(e,t,r)},Buffer.prototype.__proto__=Uint8Array.prototype,Buffer.__proto__=Uint8Array,Buffer.alloc=function(e,t,r){return alloc(e,t,r)},Buffer.allocUnsafe=function(e){return allocUnsafe(e)},Buffer.allocUnsafeSlow=function(e){return allocUnsafe(e)},Buffer.isBuffer=function(e){return null!=e&&!0===e._isBuffer&&e!==Buffer.prototype},Buffer.compare=function(e,t){if(isInstance(e,Uint8Array)&&(e=Buffer.from(e,e.offset,e.byteLength)),isInstance(t,Uint8Array)&&(t=Buffer.from(t,t.offset,t.byteLength)),!Buffer.isBuffer(e)||!Buffer.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;for(var r=e.length,n=t.length,f=0,i=Math.min(r,n);f<i;++f)if(e[f]!==t[f]){r=e[f],n=t[f];break}return r<n?-1:n<r?1:0},Buffer.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},Buffer.concat=function(e,t){if(!Array.isArray(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return Buffer.alloc(0);var r;if(void 0===t)for(t=0,r=0;r<e.length;++r)t+=e[r].length;var n=Buffer.allocUnsafe(t),f=0;for(r=0;r<e.length;++r){var i=e[r];if(isInstance(i,Uint8Array)&&(i=Buffer.from(i)),!Buffer.isBuffer(i))throw new TypeError('"list" argument must be an Array of Buffers');i.copy(n,f),f+=i.length}return n},Buffer.byteLength=byteLength,Buffer.prototype._isBuffer=!0,Buffer.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)swap(this,t,t+1);return this},Buffer.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)swap(this,t,t+3),swap(this,t+1,t+2);return this},Buffer.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)swap(this,t,t+7),swap(this,t+1,t+6),swap(this,t+2,t+5),swap(this,t+3,t+4);return this},Buffer.prototype.toString=function(){var e=this.length;return 0===e?"":0===arguments.length?utf8Slice(this,0,e):slowToString.apply(this,arguments)},Buffer.prototype.toLocaleString=Buffer.prototype.toString,Buffer.prototype.equals=function(e){if(!Buffer.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===Buffer.compare(this,e)},Buffer.prototype.inspect=function(){var e="",t=exports.INSPECT_MAX_BYTES;return e=this.toString("hex",0,t).replace(/(.{2})/g,"$1 ").trim(),this.length>t&&(e+=" ... "),"<Buffer "+e+">"},Buffer.prototype.compare=function(e,t,r,n,f){if(isInstance(e,Uint8Array)&&(e=Buffer.from(e,e.offset,e.byteLength)),!Buffer.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===f&&(f=this.length),t<0||r>e.length||n<0||f>this.length)throw new RangeError("out of range index");if(n>=f&&t>=r)return 0;if(n>=f)return-1;if(t>=r)return 1;if(this===e)return 0;for(var i=(f>>>=0)-(n>>>=0),o=(r>>>=0)-(t>>>=0),u=Math.min(i,o),s=this.slice(n,f),a=e.slice(t,r),h=0;h<u;++h)if(s[h]!==a[h]){i=s[h],o=a[h];break}return i<o?-1:o<i?1:0},Buffer.prototype.includes=function(e,t,r){return-1!==this.indexOf(e,t,r)},Buffer.prototype.indexOf=function(e,t,r){return bidirectionalIndexOf(this,e,t,r,!0)},Buffer.prototype.lastIndexOf=function(e,t,r){return bidirectionalIndexOf(this,e,t,r,!1)},Buffer.prototype.write=function(e,t,r,n){if(void 0===t)n="utf8",r=this.length,t=0;else if(void 0===r&&"string"==typeof t)n=t,r=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t>>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var f=this.length-t;if((void 0===r||r>f)&&(r=f),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var i=!1;;)switch(n){case"hex":return hexWrite(this,e,t,r);case"utf8":case"utf-8":return utf8Write(this,e,t,r);case"ascii":return asciiWrite(this,e,t,r);case"latin1":case"binary":return latin1Write(this,e,t,r);case"base64":return base64Write(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ucs2Write(this,e,t,r);default:if(i)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),i=!0}},Buffer.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var MAX_ARGUMENTS_LENGTH=4096;function decodeCodePointsArray(e){var t=e.length;if(t<=MAX_ARGUMENTS_LENGTH)return String.fromCharCode.apply(String,e);for(var r="",n=0;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=MAX_ARGUMENTS_LENGTH));return r}function asciiSlice(e,t,r){var n="";r=Math.min(e.length,r);for(var f=t;f<r;++f)n+=String.fromCharCode(127&e[f]);return n}function latin1Slice(e,t,r){var n="";r=Math.min(e.length,r);for(var f=t;f<r;++f)n+=String.fromCharCode(e[f]);return n}function hexSlice(e,t,r){var n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);for(var f="",i=t;i<r;++i)f+=toHex(e[i]);return f}function utf16leSlice(e,t,r){for(var n=e.slice(t,r),f="",i=0;i<n.length;i+=2)f+=String.fromCharCode(n[i]+256*n[i+1]);return f}function checkOffset(e,t,r){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>r)throw new RangeError("Trying to access beyond buffer length")}function checkInt(e,t,r,n,f,i){if(!Buffer.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>f||t<i)throw new RangeError('"value" argument is out of bounds');if(r+n>e.length)throw new RangeError("Index out of range")}function checkIEEE754(e,t,r,n,f,i){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function writeFloat(e,t,r,n,f){return t=+t,r>>>=0,f||checkIEEE754(e,t,r,4,3.4028234663852886e38,-3.4028234663852886e38),ieee754.write(e,t,r,n,23,4),r+4}function writeDouble(e,t,r,n,f){return t=+t,r>>>=0,f||checkIEEE754(e,t,r,8,1.7976931348623157e308,-1.7976931348623157e308),ieee754.write(e,t,r,n,52,8),r+8}Buffer.prototype.slice=function(e,t){var r=this.length;(e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e);var n=this.subarray(e,t);return n.__proto__=Buffer.prototype,n},Buffer.prototype.readUIntLE=function(e,t,r){e>>>=0,t>>>=0,r||checkOffset(e,t,this.length);for(var n=this[e],f=1,i=0;++i<t&&(f*=256);)n+=this[e+i]*f;return n},Buffer.prototype.readUIntBE=function(e,t,r){e>>>=0,t>>>=0,r||checkOffset(e,t,this.length);for(var n=this[e+--t],f=1;t>0&&(f*=256);)n+=this[e+--t]*f;return n},Buffer.prototype.readUInt8=function(e,t){return e>>>=0,t||checkOffset(e,1,this.length),this[e]},Buffer.prototype.readUInt16LE=function(e,t){return e>>>=0,t||checkOffset(e,2,this.length),this[e]|this[e+1]<<8},Buffer.prototype.readUInt16BE=function(e,t){return e>>>=0,t||checkOffset(e,2,this.length),this[e]<<8|this[e+1]},Buffer.prototype.readUInt32LE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},Buffer.prototype.readUInt32BE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},Buffer.prototype.readIntLE=function(e,t,r){e>>>=0,t>>>=0,r||checkOffset(e,t,this.length);for(var n=this[e],f=1,i=0;++i<t&&(f*=256);)n+=this[e+i]*f;return n>=(f*=128)&&(n-=Math.pow(2,8*t)),n},Buffer.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||checkOffset(e,t,this.length);for(var n=t,f=1,i=this[e+--n];n>0&&(f*=256);)i+=this[e+--n]*f;return i>=(f*=128)&&(i-=Math.pow(2,8*t)),i},Buffer.prototype.readInt8=function(e,t){return e>>>=0,t||checkOffset(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},Buffer.prototype.readInt16LE=function(e,t){e>>>=0,t||checkOffset(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},Buffer.prototype.readInt16BE=function(e,t){e>>>=0,t||checkOffset(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},Buffer.prototype.readInt32LE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},Buffer.prototype.readInt32BE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},Buffer.prototype.readFloatLE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),ieee754.read(this,e,!0,23,4)},Buffer.prototype.readFloatBE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),ieee754.read(this,e,!1,23,4)},Buffer.prototype.readDoubleLE=function(e,t){return e>>>=0,t||checkOffset(e,8,this.length),ieee754.read(this,e,!0,52,8)},Buffer.prototype.readDoubleBE=function(e,t){return e>>>=0,t||checkOffset(e,8,this.length),ieee754.read(this,e,!1,52,8)},Buffer.prototype.writeUIntLE=function(e,t,r,n){(e=+e,t>>>=0,r>>>=0,n)||checkInt(this,e,t,r,Math.pow(2,8*r)-1,0);var f=1,i=0;for(this[t]=255&e;++i<r&&(f*=256);)this[t+i]=e/f&255;return t+r},Buffer.prototype.writeUIntBE=function(e,t,r,n){(e=+e,t>>>=0,r>>>=0,n)||checkInt(this,e,t,r,Math.pow(2,8*r)-1,0);var f=r-1,i=1;for(this[t+f]=255&e;--f>=0&&(i*=256);)this[t+f]=e/i&255;return t+r},Buffer.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,1,255,0),this[t]=255&e,t+1},Buffer.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},Buffer.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},Buffer.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},Buffer.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},Buffer.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t>>>=0,!n){var f=Math.pow(2,8*r-1);checkInt(this,e,t,r,f-1,-f)}var i=0,o=1,u=0;for(this[t]=255&e;++i<r&&(o*=256);)e<0&&0===u&&0!==this[t+i-1]&&(u=1),this[t+i]=(e/o>>0)-u&255;return t+r},Buffer.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t>>>=0,!n){var f=Math.pow(2,8*r-1);checkInt(this,e,t,r,f-1,-f)}var i=r-1,o=1,u=0;for(this[t+i]=255&e;--i>=0&&(o*=256);)e<0&&0===u&&0!==this[t+i+1]&&(u=1),this[t+i]=(e/o>>0)-u&255;return t+r},Buffer.prototype.writeInt8=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},Buffer.prototype.writeInt16LE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},Buffer.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},Buffer.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},Buffer.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},Buffer.prototype.writeFloatLE=function(e,t,r){return writeFloat(this,e,t,!0,r)},Buffer.prototype.writeFloatBE=function(e,t,r){return writeFloat(this,e,t,!1,r)},Buffer.prototype.writeDoubleLE=function(e,t,r){return writeDouble(this,e,t,!0,r)},Buffer.prototype.writeDoubleBE=function(e,t,r){return writeDouble(this,e,t,!1,r)},Buffer.prototype.copy=function(e,t,r,n){if(!Buffer.isBuffer(e))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t<n-r&&(n=e.length-t+r);var f=n-r;if(this===e&&"function"==typeof Uint8Array.prototype.copyWithin)this.copyWithin(t,r,n);else if(this===e&&r<t&&t<n)for(var i=f-1;i>=0;--i)e[i+t]=this[i+r];else Uint8Array.prototype.set.call(e,this.subarray(r,n),t);return f},Buffer.prototype.fill=function(e,t,r,n){if("string"==typeof e){if("string"==typeof t?(n=t,t=0,r=this.length):"string"==typeof r&&(n=r,r=this.length),void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!Buffer.isEncoding(n))throw new TypeError("Unknown encoding: "+n);if(1===e.length){var f=e.charCodeAt(0);("utf8"===n&&f<128||"latin1"===n)&&(e=f)}}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<r)throw new RangeError("Out of range index");if(r<=t)return this;var i;if(t>>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(i=t;i<r;++i)this[i]=e;else{var o=Buffer.isBuffer(e)?e:Buffer.from(e,n),u=o.length;if(0===u)throw new TypeError('The value "'+e+'" is invalid for argument "value"');for(i=0;i<r-t;++i)this[i+t]=o[i%u]}return this};var INVALID_BASE64_RE=/[^+/0-9A-Za-z-_]/g;function base64clean(e){if((e=(e=e.split("=")[0]).trim().replace(INVALID_BASE64_RE,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}function toHex(e){return e<16?"0"+e.toString(16):e.toString(16)}function utf8ToBytes(e,t){var r;t=t||1/0;for(var n=e.length,f=null,i=[],o=0;o<n;++o){if((r=e.charCodeAt(o))>55295&&r<57344){if(!f){if(r>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(o+1===n){(t-=3)>-1&&i.push(239,191,189);continue}f=r;continue}if(r<56320){(t-=3)>-1&&i.push(239,191,189),f=r;continue}r=65536+(f-55296<<10|r-56320)}else f&&(t-=3)>-1&&i.push(239,191,189);if(f=null,r<128){if((t-=1)<0)break;i.push(r)}else if(r<2048){if((t-=2)<0)break;i.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;i.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return i}function asciiToBytes(e){for(var t=[],r=0;r<e.length;++r)t.push(255&e.charCodeAt(r));return t}function utf16leToBytes(e,t){for(var r,n,f,i=[],o=0;o<e.length&&!((t-=2)<0);++o)n=(r=e.charCodeAt(o))>>8,f=r%256,i.push(f),i.push(n);return i}function base64ToBytes(e){return base64.toByteArray(base64clean(e))}function blitBuffer(e,t,r,n){for(var f=0;f<n&&!(f+r>=t.length||f>=e.length);++f)t[f+r]=e[f];return f}function isInstance(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function numberIsNaN(e){return e!=e}
}).call(this)}).call(this,require("buffer").Buffer)
},{"base64-js":29,"buffer":31,"ieee754":33}],32:[function(require,module,exports){
"use strict";var ReflectOwnKeys,R="object"==typeof Reflect?Reflect:null,ReflectApply=R&&"function"==typeof R.apply?R.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};function ProcessEmitWarning(e){console&&console.warn&&console.warn(e)}ReflectOwnKeys=R&&"function"==typeof R.ownKeys?R.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var NumberIsNaN=Number.isNaN||function(e){return e!=e};function EventEmitter(){EventEmitter.init.call(this)}module.exports=EventEmitter,module.exports.once=once,EventEmitter.EventEmitter=EventEmitter,EventEmitter.prototype._events=void 0,EventEmitter.prototype._eventsCount=0,EventEmitter.prototype._maxListeners=void 0;var defaultMaxListeners=10;function checkListener(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function _getMaxListeners(e){return void 0===e._maxListeners?EventEmitter.defaultMaxListeners:e._maxListeners}function _addListener(e,t,n,r){var i,o,s;if(checkListener(n),void 0===(o=e._events)?(o=e._events=Object.create(null),e._eventsCount=0):(void 0!==o.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),o=e._events),s=o[t]),void 0===s)s=o[t]=n,++e._eventsCount;else if("function"==typeof s?s=o[t]=r?[n,s]:[s,n]:r?s.unshift(n):s.push(n),(i=_getMaxListeners(e))>0&&s.length>i&&!s.warned){s.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=e,u.type=t,u.count=s.length,ProcessEmitWarning(u)}return e}function onceWrapper(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function _onceWrap(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},i=onceWrapper.bind(r);return i.listener=n,r.wrapFn=i,i}function _listeners(e,t,n){var r=e._events;if(void 0===r)return[];var i=r[t];return void 0===i?[]:"function"==typeof i?n?[i.listener||i]:[i]:n?unwrapListeners(i):arrayClone(i,i.length)}function listenerCount(e){var t=this._events;if(void 0!==t){var n=t[e];if("function"==typeof n)return 1;if(void 0!==n)return n.length}return 0}function arrayClone(e,t){for(var n=new Array(t),r=0;r<t;++r)n[r]=e[r];return n}function spliceOne(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}function unwrapListeners(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}function once(e,t){return new Promise(function(n,r){function i(n){e.removeListener(t,o),r(n)}function o(){"function"==typeof e.removeListener&&e.removeListener("error",i),n([].slice.call(arguments))}eventTargetAgnosticAddListener(e,t,o,{once:!0}),"error"!==t&&addErrorHandlerIfEventEmitter(e,i,{once:!0})})}function addErrorHandlerIfEventEmitter(e,t,n){"function"==typeof e.on&&eventTargetAgnosticAddListener(e,"error",t,n)}function eventTargetAgnosticAddListener(e,t,n,r){if("function"==typeof e.on)r.once?e.once(t,n):e.on(t,n);else{if("function"!=typeof e.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e);e.addEventListener(t,function i(o){r.once&&e.removeEventListener(t,i),n(o)})}}Object.defineProperty(EventEmitter,"defaultMaxListeners",{enumerable:!0,get:function(){return defaultMaxListeners},set:function(e){if("number"!=typeof e||e<0||NumberIsNaN(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");defaultMaxListeners=e}}),EventEmitter.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},EventEmitter.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||NumberIsNaN(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},EventEmitter.prototype.getMaxListeners=function(){return _getMaxListeners(this)},EventEmitter.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t.push(arguments[n]);var r="error"===e,i=this._events;if(void 0!==i)r=r&&void 0===i.error;else if(!r)return!1;if(r){var o;if(t.length>0&&(o=t[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var u=i[e];if(void 0===u)return!1;if("function"==typeof u)ReflectApply(u,this,t);else{var f=u.length,v=arrayClone(u,f);for(n=0;n<f;++n)ReflectApply(v[n],this,t)}return!0},EventEmitter.prototype.addListener=function(e,t){return _addListener(this,e,t,!1)},EventEmitter.prototype.on=EventEmitter.prototype.addListener,EventEmitter.prototype.prependListener=function(e,t){return _addListener(this,e,t,!0)},EventEmitter.prototype.once=function(e,t){return checkListener(t),this.on(e,_onceWrap(this,e,t)),this},EventEmitter.prototype.prependOnceListener=function(e,t){return checkListener(t),this.prependListener(e,_onceWrap(this,e,t)),this},EventEmitter.prototype.removeListener=function(e,t){var n,r,i,o,s;if(checkListener(t),void 0===(r=this._events))return this;if(void 0===(n=r[e]))return this;if(n===t||n.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete r[e],r.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(i=-1,o=n.length-1;o>=0;o--)if(n[o]===t||n[o].listener===t){s=n[o].listener,i=o;break}if(i<0)return this;0===i?n.shift():spliceOne(n,i),1===n.length&&(r[e]=n[0]),void 0!==r.removeListener&&this.emit("removeListener",e,s||t)}return this},EventEmitter.prototype.off=EventEmitter.prototype.removeListener,EventEmitter.prototype.removeAllListeners=function(e){var t,n,r;if(void 0===(n=this._events))return this;if(void 0===n.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==n[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete n[e]),this;if(0===arguments.length){var i,o=Object.keys(n);for(r=0;r<o.length;++r)"removeListener"!==(i=o[r])&&this.removeAllListeners(i);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(void 0!==t)for(r=t.length-1;r>=0;r--)this.removeListener(e,t[r]);return this},EventEmitter.prototype.listeners=function(e){return _listeners(this,e,!0)},EventEmitter.prototype.rawListeners=function(e){return _listeners(this,e,!1)},EventEmitter.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):listenerCount.call(e,t)},EventEmitter.prototype.listenerCount=listenerCount,EventEmitter.prototype.eventNames=function(){return this._eventsCount>0?ReflectOwnKeys(this._events):[]};
},{}],33:[function(require,module,exports){
exports.read=function(a,o,t,r,h){var M,p,w=8*h-r-1,f=(1<<w)-1,e=f>>1,i=-7,N=t?h-1:0,n=t?-1:1,s=a[o+N];for(N+=n,M=s&(1<<-i)-1,s>>=-i,i+=w;i>0;M=256*M+a[o+N],N+=n,i-=8);for(p=M&(1<<-i)-1,M>>=-i,i+=r;i>0;p=256*p+a[o+N],N+=n,i-=8);if(0===M)M=1-e;else{if(M===f)return p?NaN:1/0*(s?-1:1);p+=Math.pow(2,r),M-=e}return(s?-1:1)*p*Math.pow(2,M-r)},exports.write=function(a,o,t,r,h,M){var p,w,f,e=8*M-h-1,i=(1<<e)-1,N=i>>1,n=23===h?Math.pow(2,-24)-Math.pow(2,-77):0,s=r?0:M-1,u=r?1:-1,l=o<0||0===o&&1/o<0?1:0;for(o=Math.abs(o),isNaN(o)||o===1/0?(w=isNaN(o)?1:0,p=i):(p=Math.floor(Math.log(o)/Math.LN2),o*(f=Math.pow(2,-p))<1&&(p--,f*=2),(o+=p+N>=1?n/f:n*Math.pow(2,1-N))*f>=2&&(p++,f/=2),p+N>=i?(w=0,p=i):p+N>=1?(w=(o*f-1)*Math.pow(2,h),p+=N):(w=o*Math.pow(2,N-1)*Math.pow(2,h),p=0));h>=8;a[t+s]=255&w,s+=u,w/=256,h-=8);for(p=p<<h|w,e+=h;e>0;a[t+s]=255&p,s+=u,p/=256,e-=8);a[t+s-u]|=128*l};
},{}],34:[function(require,module,exports){
"function"==typeof Object.create?module.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:module.exports=function(t,e){if(e){t.super_=e;var o=function(){};o.prototype=e.prototype,t.prototype=new o,t.prototype.constructor=t}};
},{}],35:[function(require,module,exports){
function jBoxWrapper(t){function i(o,s){return this.options={id:null,width:"auto",height:"auto",minWidth:null,minHeight:null,maxWidth:null,maxHeight:null,responsiveWidth:!0,responsiveHeight:!0,responsiveMinWidth:100,responsiveMinHeight:100,attach:null,trigger:"click",preventDefault:!1,content:null,getContent:null,title:null,getTitle:null,footer:null,isolateScroll:!0,ajax:{url:null,data:"",reload:!1,getURL:"data-url",getData:"data-ajax",setContent:!0,loadingClass:!0,spinner:!0,spinnerDelay:300,spinnerReposition:!0},cancelAjaxOnClose:!0,target:null,position:{x:"center",y:"center"},outside:null,offset:0,attributes:{x:"left",y:"top"},fixed:!1,adjustPosition:!0,adjustTracker:!1,adjustDistance:5,reposition:!0,repositionOnOpen:!0,repositionOnContent:!0,holdPosition:!0,pointer:!1,pointTo:"target",fade:180,animation:null,theme:"Default",addClass:null,overlay:!1,overlayClass:null,zIndex:1e4,delayOpen:0,delayClose:0,closeOnEsc:!1,closeOnClick:!1,closeOnMouseleave:!1,closeButton:!1,appendTo:t("body"),createOnInit:!1,blockScroll:!1,blockScrollAdjust:!0,draggable:!1,dragOver:!0,autoClose:!1,delayOnHover:!1,showCountdown:!1,preloadAudio:!0,audio:null,volume:100,onInit:null,onAttach:null,onPosition:null,onCreated:null,onOpen:null,onClose:null,onCloseComplete:null,onDragStart:null,onDragEnd:null},this._pluginOptions={Tooltip:{getContent:"title",trigger:"mouseenter",position:{x:"center",y:"top"},outside:"y",pointer:!0},Mouse:{responsiveWidth:!1,responsiveHeight:!1,adjustPosition:"flip",target:"mouse",trigger:"mouseenter",position:{x:"right",y:"bottom"},outside:"xy",offset:5},Modal:{target:t(window),fixed:!0,blockScroll:!0,closeOnEsc:!0,closeOnClick:"overlay",closeButton:!0,overlay:!0,animation:"zoomIn"}},this.options=t.extend(!0,this.options,this._pluginOptions[o]||i._pluginOptions[o],s),"string"==t.type(o)&&(this.type=o),this.isTouchDevice=function(){var t,i=" -webkit- -moz- -o- -ms- ".split(" ");return!!("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)||(t=i=["(",i.join("touch-enabled),("),"heartz",")"].join(""),window.matchMedia(t).matches)}(),this.isTouchDevice&&"mouseenter"===this.options.trigger&&!1===this.options.closeOnClick&&(this.options.closeOnClick="body"),this._fireEvent=function(t,i){this.options["_"+t]&&this.options["_"+t].bind(this)(i),this.options[t]&&this.options[t].bind(this)(i)},null===this.options.id&&(this.options.id="jBox"+i._getUniqueID()),this.id=this.options.id,("center"==this.options.position.x&&"x"==this.options.outside||"center"==this.options.position.y&&"y"==this.options.outside)&&(this.options.outside=null),"target"!=this.options.pointTo||this.options.outside&&"xy"!=this.options.outside||(this.options.pointer=!1),"object"!=t.type(this.options.offset)?this.options.offset={x:this.options.offset,y:this.options.offset}:this.options.offset=t.extend({x:0,y:0},this.options.offset),"object"!=t.type(this.options.adjustDistance)?this.options.adjustDistance={top:this.options.adjustDistance,right:this.options.adjustDistance,bottom:this.options.adjustDistance,left:this.options.adjustDistance}:this.options.adjustDistance=t.extend({top:5,left:5,right:5,bottom:5},this.options.adjustDistance),this.outside=!(!this.options.outside||"xy"==this.options.outside)&&this.options.position[this.options.outside],this.align=this.outside||("center"!=this.options.position.y&&"number"!=t.type(this.options.position.y)?this.options.position.x:"center"!=this.options.position.x&&"number"!=t.type(this.options.position.x)?this.options.position.y:this.options.attributes.x),i.zIndexMax=Math.max(i.zIndexMax||0,"auto"===this.options.zIndex?1e4:this.options.zIndex),"auto"===this.options.zIndex&&(this.adjustZIndexOnOpen=!0,i.zIndexMax+=2,this.options.zIndex=i.zIndexMax,this.trueModal=this.options.overlay),this._getOpp=function(t){return{left:"right",right:"left",top:"bottom",bottom:"top",x:"y",y:"x"}[t]},this._getXY=function(t){return{left:"x",right:"x",top:"y",bottom:"y",center:"x"}[t]},this._getTL=function(t){return{left:"left",right:"left",top:"top",bottom:"top",center:"left",x:"left",y:"top"}[t]},this._getInt=function(i,o){return"auto"==i?"auto":i&&"string"==t.type(i)&&"%"==i.slice(-1)?t(window)["height"==o?"innerHeight":"innerWidth"]()*parseInt(i.replace("%",""))/100:i},this._createSVG=function(i,o){var s=document.createElementNS("http://www.w3.org/2000/svg",i);return t.each(o,function(t,i){s.setAttribute(i[0],i[1]||"")}),s},this._isolateScroll=function(t){t&&t.length&&t.on("DOMMouseScroll.jBoxIsolateScroll mousewheel.jBoxIsolateScroll",function(i){var o=i.wheelDelta||i.originalEvent&&i.originalEvent.wheelDelta||-i.detail,s=0<=this.scrollTop+t.outerHeight()-this.scrollHeight,e=this.scrollTop<=0;(o<0&&s||0<o&&e)&&i.preventDefault()})},this._setTitleWidth=function(){if(!this.titleContainer||"auto"==this.content[0].style.width&&!this.content[0].style.maxWidth)return null;var t;"none"==this.wrapper.css("display")?(this.wrapper.css("display","block"),t=this.content.outerWidth(),this.wrapper.css("display","none")):t=this.content.outerWidth(),this.titleContainer.css({maxWidth:Math.max(t,parseInt(this.content[0].style.maxWidth))||null})},this._draggable=function(){if(!this.options.draggable)return!1;var o="title"==this.options.draggable?this.titleContainer:this.options.draggable instanceof t?this.options.draggable:"string"==t.type(this.options.draggable)?t(this.options.draggable):this.wrapper;return!(!(o&&o instanceof t&&o.length)||o.data("jBox-draggable"))&&(o.addClass("jBox-draggable").data("jBox-draggable",!0).on("touchstart mousedown",function(o){var s,e,n,a,h,r;2==o.button||t(o.target).hasClass("jBox-noDrag")||t(o.target).parents(".jBox-noDrag").length?"touchstart"==o.type&&(t(o.target).hasClass("jBox-closeButton")||t(o.target).parents(".jBox-closeButton").length)&&this.close({ignoreDelay:!0}):(e="touchstart"==o.type&&o.touches&&o.touches[0]?(s=o.touches[0].pageX,o.touches[0].pageY):(s=o.pageX,o.pageY),this.draggingStartX=s,this.draggingStartY=e,this.options.dragOver&&!this.trueModal&&parseInt(this.wrapper.css("zIndex"),10)<=i.zIndexMaxDragover&&(i.zIndexMaxDragover+=1,this.wrapper.css("zIndex",i.zIndexMaxDragover)),n=this.wrapper.outerHeight(),a=this.wrapper.outerWidth(),h=this.wrapper.offset().top+n-e,r=this.wrapper.offset().left+a-s,t(document).on("touchmove.jBox-draggable-"+this.id+" mousemove.jBox-draggable-"+this.id,function(t){var i;t="touchmove"==t.type&&t.touches&&t.touches[0]?(i=t.touches[0].pageX,t.touches[0].pageY):(i=t.pageX,t.pageY);this.dragging||this.draggingStartX==i||this.draggingStartY==t||(this._fireEvent("onDragStart"),this.dragging=!0),this.wrapper.offset({top:t+h-n,left:i+r-a})}.bind(this)),o.preventDefault())}.bind(this)).on("touchend mouseup",function(){var i;t(document).off("touchmove.jBox-draggable-"+this.id+" mousemove.jBox-draggable-"+this.id),this.dragging&&this._fireEvent("onDragEnd"),this.dragging=!1,"Modal"!=this.type&&"Confirm"!=this.type||!this.options.holdPosition||(i={x:(i=t("#"+this.id).offset()).left-t(document).scrollLeft(),y:i.top-t(document).scrollTop()},this.position({position:i,offset:{x:0,y:0}}))}.bind(this)),this.trueModal||(i.zIndexMaxDragover=i.zIndexMaxDragover?Math.max(i.zIndexMaxDragover,this.options.zIndex):this.options.zIndex),this)},this._create=function(){var i;this.wrapper||(this.wrapper=t("<div/>",{id:this.id,class:"jBox-wrapper"+(this.type?" jBox-"+this.type:"")+(this.options.theme?" jBox-"+this.options.theme:"")+(this.options.addClass?" "+this.options.addClass:"")}).css({position:this.options.fixed?"fixed":"absolute",display:"none",opacity:0,zIndex:this.options.zIndex}).data("jBox",this),this.options.closeOnMouseleave&&this.wrapper.on("mouseleave",function(i){!this.source||i.relatedTarget!=this.source[0]&&-1===t.inArray(this.source[0],t(i.relatedTarget).parents("*"))&&this.close()}.bind(this)),"box"==this.options.closeOnClick&&this.wrapper.on("click tap",function(){this.close({ignoreDelay:!0})}.bind(this)),this.container=t('<div class="jBox-container"/>').appendTo(this.wrapper),this.content=t('<div class="jBox-content"/>').appendTo(this.container),this.options.footer&&(this.footer=t('<div class="jBox-footer"/>').append(this.options.footer).appendTo(this.container)),this.options.isolateScroll&&this._isolateScroll(this.content),this.options.closeButton&&((i=this._createSVG("svg",[["viewBox","0 0 24 24"]])).appendChild(this._createSVG("path",[["d","M22.2,4c0,0,0.5,0.6,0,1.1l-6.8,6.8l6.9,6.9c0.5,0.5,0,1.1,0,1.1L20,22.3c0,0-0.6,0.5-1.1,0L12,15.4l-6.9,6.9c-0.5,0.5-1.1,0-1.1,0L1.7,20c0,0-0.5-0.6,0-1.1L8.6,12L1.7,5.1C1.2,4.6,1.7,4,1.7,4L4,1.7c0,0,0.6-0.5,1.1,0L12,8.5l6.8-6.8c0.5-0.5,1.1,0,1.1,0L22.2,4z"]])),this.closeButton=t('<div class="jBox-closeButton jBox-noDrag"/>').on("click tap",function(t){this.close({ignoreDelay:!0})}.bind(this)).append(i),"box"!=this.options.closeButton&&(!0!==this.options.closeButton||this.options.overlay||this.options.title||this.options.getTitle)||(this.wrapper.addClass("jBox-closeButton-box"),this.closeButton.appendTo(this.container))),this.wrapper.appendTo(this.options.appendTo),this.wrapper.find(".jBox-closeButton").length&&t.each(["top","right","bottom","left"],function(t,i){this.wrapper.find(".jBox-closeButton").css(i)&&"auto"!=this.wrapper.find(".jBox-closeButton").css(i)&&(this.options.adjustDistance[i]=Math.max(this.options.adjustDistance[i],this.options.adjustDistance[i]+-1*((parseInt(this.wrapper.find(".jBox-closeButton").css(i))||0)+(parseInt(this.container.css("border-"+i+"-width"))||0))))}.bind(this)),this.options.pointer&&(this.pointer={position:"target"!=this.options.pointTo?this.options.pointTo:this._getOpp(this.outside),xy:"target"!=this.options.pointTo?this._getXY(this.options.pointTo):this._getXY(this.outside),align:"center",offset:0},this.pointer.element=t('<div class="jBox-pointer jBox-pointer-'+this.pointer.position+'"/>').appendTo(this.wrapper),this.pointer.dimensions={x:this.pointer.element.outerWidth(),y:this.pointer.element.outerHeight()},"string"==t.type(this.options.pointer)&&((i=this.options.pointer.split(":"))[0]&&(this.pointer.align=i[0]),i[1]&&(this.pointer.offset=parseInt(i[1]))),this.pointer.alignAttribute="x"==this.pointer.xy?"bottom"==this.pointer.align?"bottom":"top":"right"==this.pointer.align?"right":"left",this.wrapper.css("padding-"+this.pointer.position,this.pointer.dimensions[this.pointer.xy]),this.pointer.element.css(this.pointer.alignAttribute,"center"==this.pointer.align?"50%":0).css("margin-"+this.pointer.alignAttribute,this.pointer.offset),this.pointer.margin={},this.pointer.margin["margin-"+this.pointer.alignAttribute]=this.pointer.offset,"center"==this.pointer.align&&this.pointer.element.css("transform","translate("+("y"==this.pointer.xy?-.5*this.pointer.dimensions.x+"px":0)+", "+("x"==this.pointer.xy?-.5*this.pointer.dimensions.y+"px":0)+")"),this.pointer.element.css("x"==this.pointer.xy?"width":"height",parseInt(this.pointer.dimensions[this.pointer.xy])+parseInt(this.container.css("border-"+this.pointer.alignAttribute+"-width"))),this.wrapper.addClass("jBox-pointerPosition-"+this.pointer.position)),this.setContent(this.options.content,!0),this.setTitle(this.options.title,!0),this.options.draggable&&this._draggable(),this._fireEvent("onCreated"))},this.options.createOnInit&&this._create(),this.options.attach&&this.attach(),this._attachEvents=function(){this.options.delayOnHover&&t("#"+this.id).on("mouseenter",function(t){this.isHovered=!0}.bind(this)),this.options.delayOnHover&&t("#"+this.id).on("mouseleave",function(t){this.isHovered=!1}.bind(this)),(this.options.adjustPosition||this.options.reposition)&&!this.fixed&&this.outside&&(this.options.adjustTracker&&t(window).on("scroll.jBox-"+this.id,function(t){this.position()}.bind(this)),(this.options.adjustPosition||this.options.reposition)&&t(window).on("resize.jBox-"+this.id,function(t){this.position()}.bind(this))),"mouse"==this.options.target&&t("body").on("mousemove.jBox-"+this.id,function(t){this.position({mouseTarget:{top:t.pageY,left:t.pageX}})}.bind(this))},this._detachEvents=function(){this.options.closeOnEsc&&t(document).off("keyup.jBox-"+this.id),!0!==this.options.closeOnClick&&"body"!=this.options.closeOnClick||t(document).off("click.jBox-"+this.id+" tap.jBox-"+this.id),this.options.adjustTracker&&t(window).off("scroll.jBox-"+this.id),(this.options.adjustPosition||this.options.reposition)&&t(window).off("resize.jBox-"+this.id),"mouse"==this.options.target&&t("body").off("mousemove.jBox-"+this.id)},this._showOverlay=function(){this.overlay||(this.overlay=t('<div id="'+this.id+'-overlay"/>').addClass("jBox-overlay"+(this.type?" jBox-overlay-"+this.type:"")).css({display:"none",opacity:0,zIndex:this.options.zIndex-1}).appendTo(this.options.appendTo),this.options.overlayClass&&this.overlay.addClass(this.options.overlayClass),"overlay"!=this.options.closeButton&&!0!==this.options.closeButton||this.overlay.append(this.closeButton),"overlay"==this.options.closeOnClick&&this.overlay.on("click tap",function(){this.close({ignoreDelay:!0})}.bind(this)),t("#"+this.id+"-overlay .jBox-closeButton").length&&(this.options.adjustDistance.top=Math.max(t("#"+this.id+"-overlay .jBox-closeButton").outerHeight(),this.options.adjustDistance.top))),!0===this.adjustZIndexOnOpen&&this.overlay.css("zIndex",parseInt(this.wrapper.css("zIndex"),10)-1),"block"!=this.overlay.css("display")&&(this.options.fade?this.overlay.stop()&&this.overlay.animate({opacity:1},{queue:!1,duration:this.options.fade,start:function(){this.overlay.css({display:"block"})}.bind(this)}):this.overlay.css({display:"block",opacity:1}))},this._hideOverlay=function(){this.overlay&&(this.options.fade?this.overlay.stop()&&this.overlay.animate({opacity:0},{queue:!1,duration:this.options.fade,complete:function(){this.overlay.css({display:"none"})}.bind(this)}):this.overlay.css({display:"none",opacity:0}))},this._exposeDimensions=function(){this.wrapper.css({top:-1e4,left:-1e4,right:"auto",bottom:"auto"});var t={x:this.wrapper.outerWidth(),y:this.wrapper.outerHeight()};return this.wrapper.css({top:"auto",left:"auto"}),t},this._generateAnimationCSS=function(){if("object"!=t.type(this.options.animation)&&(this.options.animation={pulse:{open:"pulse",close:"zoomOut"},zoomIn:{open:"zoomIn",close:"zoomIn"},zoomOut:{open:"zoomOut",close:"zoomOut"},move:{open:"move",close:"move"},slide:{open:"slide",close:"slide"},flip:{open:"flip",close:"flip"},tada:{open:"tada",close:"zoomOut"}}[this.options.animation]),!this.options.animation)return null;this.options.animation.open&&(this.options.animation.open=this.options.animation.open.split(":")),this.options.animation.close&&(this.options.animation.close=this.options.animation.close.split(":")),this.options.animation.openDirection=this.options.animation.open[1]||null,this.options.animation.closeDirection=this.options.animation.close[1]||null,this.options.animation.open&&(this.options.animation.open=this.options.animation.open[0]),this.options.animation.close&&(this.options.animation.close=this.options.animation.close[0]),this.options.animation.open&&(this.options.animation.open+="Open"),this.options.animation.close&&(this.options.animation.close+="Close");var i={pulse:{duration:350,css:[["0%","scale(1)"],["50%","scale(1.1)"],["100%","scale(1)"]]},zoomInOpen:{duration:this.options.fade||180,css:[["0%","scale(0.9)"],["100%","scale(1)"]]},zoomInClose:{duration:this.options.fade||180,css:[["0%","scale(1)"],["100%","scale(0.9)"]]},zoomOutOpen:{duration:this.options.fade||180,css:[["0%","scale(1.1)"],["100%","scale(1)"]]},zoomOutClose:{duration:this.options.fade||180,css:[["0%","scale(1)"],["100%","scale(1.1)"]]},moveOpen:{duration:this.options.fade||180,positions:{top:{"0%":-12},right:{"0%":12},bottom:{"0%":12},left:{"0%":-12}},css:[["0%","translate%XY(%Vpx)"],["100%","translate%XY(0px)"]]},moveClose:{duration:this.options.fade||180,timing:"ease-in",positions:{top:{"100%":-12},right:{"100%":12},bottom:{"100%":12},left:{"100%":-12}},css:[["0%","translate%XY(0px)"],["100%","translate%XY(%Vpx)"]]},slideOpen:{duration:400,positions:{top:{"0%":-400},right:{"0%":400},bottom:{"0%":400},left:{"0%":-400}},css:[["0%","translate%XY(%Vpx)"],["100%","translate%XY(0px)"]]},slideClose:{duration:400,timing:"ease-in",positions:{top:{"100%":-400},right:{"100%":400},bottom:{"100%":400},left:{"100%":-400}},css:[["0%","translate%XY(0px)"],["100%","translate%XY(%Vpx)"]]},flipOpen:{duration:600,css:[["0%","perspective(400px) rotateX(90deg)"],["40%","perspective(400px) rotateX(-15deg)"],["70%","perspective(400px) rotateX(15deg)"],["100%","perspective(400px) rotateX(0deg)"]]},flipClose:{duration:this.options.fade||300,css:[["0%","perspective(400px) rotateX(0deg)"],["100%","perspective(400px) rotateX(90deg)"]]},tada:{duration:800,css:[["0%","scale(1)"],["10%, 20%","scale(0.9) rotate(-3deg)"],["30%, 50%, 70%, 90%","scale(1.1) rotate(3deg)"],["40%, 60%, 80%","scale(1.1) rotate(-3deg)"],["100%","scale(1) rotate(0)"]]}};t.each(["pulse","tada"],function(t,o){i[o+"Open"]=i[o+"Close"]=i[o]});var o=function(o,s){var e="@keyframes jBox-"+this.id+"-animation-"+this.options.animation[o]+"-"+o+(s?"-"+s:"")+" {";return t.each(i[this.options.animation[o]].css,function(t,n){var a=s?n[1].replace("%XY",this._getXY(s).toUpperCase()):n[1];i[this.options.animation[o]].positions&&(a=a.replace("%V",i[this.options.animation[o]].positions[s][n[0]])),e+=n[0]+" {transform:"+a+";}"}.bind(this)),e+="}",e+=".jBox-"+this.id+"-animation-"+this.options.animation[o]+"-"+o+(s?"-"+s:"")+" {",e+="animation-duration: "+i[this.options.animation[o]].duration+"ms;",e+="animation-name: jBox-"+this.id+"-animation-"+this.options.animation[o]+"-"+o+(s?"-"+s:"")+";",e+=i[this.options.animation[o]].timing?"animation-timing-function: "+i[this.options.animation[o]].timing+";":"",e+="}"}.bind(this);this._animationCSS="",t.each(["open","close"],function(s,e){if(!this.options.animation[e]||!i[this.options.animation[e]]||"close"==e&&!this.options.fade)return"";i[this.options.animation[e]].positions?t.each(["top","right","bottom","left"],function(t,i){this._animationCSS+=o(e,i)}.bind(this)):this._animationCSS+=o(e)}.bind(this))},this.options.animation&&this._generateAnimationCSS(),this._blockBodyClick=function(){this.blockBodyClick=!0,setTimeout(function(){this.blockBodyClick=!1}.bind(this),10)},this._animate=function(t){if(t=t||(this.isOpen?"open":"close"),!this.options.fade&&"close"==t)return null;var i=this.options.animation[t+"Direction"]||("center"!=this.align?this.align:this.options.attributes.x);this.flipped&&this._getXY(i)==this._getXY(this.align)&&(i=this._getOpp(i));var o="jBox-"+this.id+"-animation-"+this.options.animation[t]+"-"+t+" jBox-"+this.id+"-animation-"+this.options.animation[t]+"-"+t+"-"+i;this.wrapper.addClass(o),i=1e3*parseFloat(this.wrapper.css("animation-duration")),"close"==t&&(i=Math.min(i,this.options.fade)),setTimeout(function(){this.wrapper.removeClass(o)}.bind(this),i)},this._abortAnimation=function(){var t=this.wrapper.attr("class").split(" ").filter(function(t){return 0!==t.lastIndexOf("jBox-"+this.id+"-animation",0)}.bind(this));this.wrapper.attr("class",t.join(" "))},(this.options.responsiveWidth||this.options.responsiveHeight)&&t(window).on("resize.responsivejBox-"+this.id,function(t){this.isOpen&&this.position()}.bind(this)),"string"===t.type(this.options.preloadAudio)&&(this.options.preloadAudio=[this.options.preloadAudio]),"string"===t.type(this.options.audio)&&(this.options.audio={open:this.options.audio}),"number"===t.type(this.options.volume)&&(this.options.volume={open:this.options.volume,close:this.options.volume}),!0===this.options.preloadAudio&&this.options.audio&&(this.options.preloadAudio=[],t.each(this.options.audio,function(t,i){this.options.preloadAudio.push(i+".mp3"),this.options.preloadAudio.push(i+".ogg")}.bind(this))),this.options.preloadAudio.length&&t.each(this.options.preloadAudio,function(t,i){var o=new Audio;o.src=i,o.preload="auto"}),this._fireEvent("onInit"),this}var o,s;return i.prototype.attach=function(i,o){return i=i||this.options.attach,"string"==t.type(i)&&(i=t(i)),o=o||this.options.trigger,i&&i.length&&t.each(i,function(i,s){(s=t(s)).data("jBox-attached-"+this.id)||("title"==this.options.getContent&&null!=s.attr("title")&&s.data("jBox-getContent",s.attr("title")).removeAttr("title"),this.attachedElements||(this.attachedElements=[]),this.attachedElements.push(s[0]),s.on(o+".jBox-attach-"+this.id,function(t){var i;this.timer&&clearTimeout(this.timer),"mouseenter"==o&&this.isOpen&&this.source[0]==s[0]||(this.isOpen&&this.source&&this.source[0]!=s[0]&&(i=!0),this.source=s,this.options.target||(this.target=s),"click"==o&&this.options.preventDefault&&t.preventDefault(),this["click"!=o||i?"open":"toggle"]())}.bind(this)),"mouseenter"==this.options.trigger&&s.on("mouseleave",function(i){if(!this.wrapper)return null;this.options.closeOnMouseleave&&(i.relatedTarget==this.wrapper[0]||t(i.relatedTarget).parents("#"+this.id).length)||this.close()}.bind(this)),s.data("jBox-attached-"+this.id,o),this._fireEvent("onAttach",s))}.bind(this)),this},i.prototype.detach=function(i){return(i=i||this.attachedElements||[])&&i.length&&t.each(i,function(i,o){(o=t(o)).data("jBox-attached-"+this.id)&&(o.off(o.data("jBox-attached-"+this.id)+".jBox-attach-"+this.id),o.data("jBox-attached-"+this.id,null)),this.attachedElements=t.grep(this.attachedElements,function(t){return t!=o[0]})}.bind(this)),this},i.prototype.setTitle=function(i,o){if(null==i||null==i)return this;this.wrapper||this._create();var s=this.wrapper.outerHeight(),e=this.wrapper.outerWidth();return this.title||(this.titleContainer=t('<div class="jBox-title"/>'),this.title=t("<div/>").appendTo(this.titleContainer),"title"!=this.options.closeButton&&(!0!==this.options.closeButton||this.options.overlay)||(this.wrapper.addClass("jBox-closeButton-title"),this.closeButton.appendTo(this.titleContainer)),this.titleContainer.insertBefore(this.content),this._setTitleWidth()),this.wrapper[i?"addClass":"removeClass"]("jBox-hasTitle"),this.title.html(i),e!=this.wrapper.outerWidth()&&this._setTitleWidth(),this.options.draggable&&this._draggable(),o||!this.options.repositionOnContent||s==this.wrapper.outerHeight()&&e==this.wrapper.outerWidth()||this.position(),this},i.prototype.setContent=function(i,o){if(null==i||null==i)return this;this.wrapper||this._create();var s=this.wrapper.outerHeight(),e=this.wrapper.outerWidth();switch(this.content.children("[data-jbox-content-appended]").appendTo("body").css({display:"none"}),t.type(i)){case"string":this.content.html(i);break;case"object":i&&(i instanceof t||i.constructor.prototype.jquery)?(this.content.html(""),i.attr("data-jbox-content-appended",1).appendTo(this.content).css({display:"block"})):this.content.html(JSON.stringify(i))}return e!=this.wrapper.outerWidth()&&this._setTitleWidth(),this.options.draggable&&this._draggable(),o||!this.options.repositionOnContent||s==this.wrapper.outerHeight()&&e==this.wrapper.outerWidth()||this.position(),this},i.prototype.setDimensions=function(t,i,o){this.wrapper||this._create(),null==i&&(i="auto"),this.content.css(t,this._getInt(i)),"width"==t&&this._setTitleWidth(),this.options[t]=i,null!=o&&!o||this.position()},i.prototype.setWidth=function(t,i){this.setDimensions("width",t,i)},i.prototype.setHeight=function(t,i){this.setDimensions("height",t,i)},i.prototype.position=function(i){if(i=i||{},i=t.extend(!0,this.options,i),this.target=i.target||this.target||t(window),this.target instanceof t||"mouse"==this.target||(this.target=t(this.target)),!this.target.length)return this;this.content.css({width:this._getInt(i.width,"width"),height:this._getInt(i.height,"height"),minWidth:this._getInt(i.minWidth,"width"),minHeight:this._getInt(i.minHeight,"height"),maxWidth:this._getInt(i.maxWidth,"width"),maxHeight:this._getInt(i.maxHeight,"height")}),this._setTitleWidth();var o=this._exposeDimensions();"mouse"==this.target||this.target.data("jBox-"+this.id+"-fixed")||this.target.data("jBox-"+this.id+"-fixed",this.target[0]!=t(window)[0]&&("fixed"==this.target.css("position")||0<this.target.parents().filter(function(){return"fixed"==t(this).css("position")}).length)?"fixed":"static");var s={x:t(window).outerWidth(),y:t(window).outerHeight(),top:i.fixed&&this.target.data("jBox-"+this.id+"-fixed")?0:t(window).scrollTop(),left:i.fixed&&this.target.data("jBox-"+this.id+"-fixed")?0:t(window).scrollLeft()};s.bottom=s.top+s.y,s.right=s.left+s.x;try{var e=this.target.offset()}catch(s){e={top:0,left:0}}"mouse"!=this.target&&"fixed"==this.target.data("jBox-"+this.id+"-fixed")&&i.fixed&&(e.top=e.top-t(window).scrollTop(),e.left=e.left-t(window).scrollLeft());var n={x:"mouse"==this.target?12:this.target.outerWidth(),y:"mouse"==this.target?20:this.target.outerHeight(),top:"mouse"==this.target&&i.mouseTarget?i.mouseTarget.top:e?e.top:0,left:"mouse"==this.target&&i.mouseTarget?i.mouseTarget.left:e?e.left:0},a=i.outside&&!("center"==i.position.x&&"center"==i.position.y),h={x:s.x-i.adjustDistance.left-i.adjustDistance.right,y:s.y-i.adjustDistance.top-i.adjustDistance.bottom,left:a?n.left-t(window).scrollLeft()-i.adjustDistance.left:0,right:a?s.x-n.left+t(window).scrollLeft()-n.x-i.adjustDistance.right:0,top:a?n.top-t(window).scrollTop()-this.options.adjustDistance.top:0,bottom:a?s.y-n.top+t(window).scrollTop()-n.y-i.adjustDistance.bottom:0},r={x:"x"!=i.outside&&"xy"!=i.outside||"number"==t.type(i.position.x)?null:i.position.x,y:"y"!=i.outside&&"xy"!=i.outside||"number"==t.type(i.position.y)?null:i.position.y},p={x:!1,y:!1};r.x&&o.x>h[r.x]&&h[this._getOpp(r.x)]>h[r.x]&&(r.x=this._getOpp(r.x))&&(p.x=!0),r.y&&o.y>h[r.y]&&h[this._getOpp(r.y)]>h[r.y]&&(r.y=this._getOpp(r.y))&&(p.y=!0),(i.responsiveWidth||i.responsiveHeight)&&(x=function(){var t;i.responsiveWidth&&o.x>h[r.x||"x"]&&(t=h[r.x||"x"]-(this.pointer&&a&&"x"==i.outside?this.pointer.dimensions.x:0)-parseInt(this.container.css("border-left-width"))-parseInt(this.container.css("border-right-width")),this.content.css({width:t>this.options.responsiveMinWidth?t:null,minWidth:t<parseInt(this.content.css("minWidth"))?0:null}),this._setTitleWidth()),o=this._exposeDimensions()}.bind(this),i.responsiveWidth&&x(),i.responsiveWidth&&!p.y&&r.y&&o.y>h[r.y]&&h[this._getOpp(r.y)]>h[r.y]&&(r.y=this._getOpp(r.y))&&(p.y=!0),y=function(){var t;i.responsiveHeight&&o.y>h[r.y||"y"]&&(t=function(){return this.titleContainer||this.footer?("none"==this.wrapper.css("display")?(this.wrapper.css("display","block"),t=(this.titleContainer?this.titleContainer.outerHeight():0)+(this.footer?this.footer.outerHeight():0),this.wrapper.css("display","none")):t=(this.titleContainer?this.titleContainer.outerHeight():0)+(this.footer?this.footer.outerHeight():0),t||0):0;var t}.bind(this),t=h[r.y||"y"]-(this.pointer&&a&&"y"==i.outside?this.pointer.dimensions.y:0)-t()-parseInt(this.container.css("border-top-width"))-parseInt(this.container.css("border-bottom-width")),this.content.css({height:t>this.options.responsiveMinHeight?t:null}),this._setTitleWidth()),o=this._exposeDimensions()}.bind(this),i.responsiveHeight&&y(),i.responsiveHeight&&!p.x&&r.x&&o.x>h[r.x]&&h[this._getOpp(r.x)]>h[r.x]&&(r.x=this._getOpp(r.x))&&(p.x=!0),i.adjustPosition&&"move"!=i.adjustPosition&&(p.x&&x(),p.y&&y()));var l={},d=function(s){if("number"!=t.type(i.position[s])){var e=i.attributes[s]="x"==s?"left":"top";if(l[e]=n[e],"center"==i.position[s])return l[e]+=Math.ceil((n[s]-o[s])/2),void("mouse"!=this.target&&this.target[0]&&this.target[0]==t(window)[0]&&(l[e]+=.5*(i.adjustDistance[e]-i.adjustDistance[this._getOpp(e)])));e!=i.position[s]&&(l[e]+=n[s]-o[s]),i.outside!=s&&"xy"!=i.outside||(l[e]+=o[s]*(e!=i.position[s]?1:-1))}else l[i.attributes[s]]=i.position[s]}.bind(this);if(d("x"),d("y"),this.pointer&&"target"==i.pointTo&&"number"!=t.type(i.position.x)&&"number"!=t.type(i.position.y)&&(j=0,"center"===this.pointer.align?"center"!=i.position[this._getOpp(i.outside)]&&(j+=o[this._getOpp(i.outside)]/2):"center"===i.position[this._getOpp(i.outside)]?j+=(o[this._getOpp(i.outside)]/2-this.pointer.dimensions[this._getOpp(i.outside)]/2)*(this.pointer.align==this._getTL(this.pointer.align)?1:-1):j+=this.pointer.align!=i.position[this._getOpp(i.outside)]?this.dimensions[this._getOpp(i.outside)]*(-1!==t.inArray(this.pointer.align,["top","left"])?1:-1)+this.pointer.dimensions[this._getOpp(i.outside)]/2*(-1!==t.inArray(this.pointer.align,["top","left"])?-1:1):this.pointer.dimensions[this._getOpp(i.outside)]/2*(-1!==t.inArray(this.pointer.align,["top","left"])?1:-1),j*=i.position[this._getOpp(i.outside)]==this.pointer.alignAttribute?-1:1,j+=this.pointer.offset*(this.pointer.align==this._getOpp(this._getTL(this.pointer.align))?1:-1),l[this._getTL(this._getOpp(this.pointer.xy))]+=j),l[i.attributes.x]+=i.offset.x,l[i.attributes.y]+=i.offset.y,this.wrapper.css(l),i.adjustPosition){this.positionAdjusted&&(this.pointer&&this.wrapper.css("padding",0).css("padding-"+this._getOpp(this.outside),this.pointer.dimensions[this._getXY(this.outside)]).removeClass("jBox-pointerPosition-"+this._getOpp(this.pointer.position)).addClass("jBox-pointerPosition-"+this.pointer.position),this.pointer&&this.pointer.element.attr("class","jBox-pointer jBox-pointer-"+this._getOpp(this.outside)).css(this.pointer.margin),this.positionAdjusted=!1,this.flipped=!1);var c=s.top>l.top-(i.adjustDistance.top||0),u=s.right<l.left+o.x+(i.adjustDistance.right||0),g=s.bottom<l.top+o.y+(i.adjustDistance.bottom||0),m=s.left>l.left-(i.adjustDistance.left||0),f=m?"left":u?"right":null,x=c?"top":g?"bottom":null;if(f||x){if(("Modal"==this.type||"Confirm"==this.type)&&"number"==t.type(this.options.position.x)&&"number"==t.type(this.options.position.y)){var y=0,j=0;return this.options.holdPosition&&(m?y=s.left-(l.left-(i.adjustDistance.left||0)):u&&(y=s.right-(l.left+o.x+(i.adjustDistance.right||0))),c?j=s.top-(l.top-(i.adjustDistance.top||0)):g&&(j=s.bottom-(l.top+o.y+(i.adjustDistance.bottom||0))),this.options.position.x=Math.max(s.top,this.options.position.x+y),this.options.position.y=Math.max(s.left,this.options.position.y+j),d("x"),d("y"),this.wrapper.css(l)),this._fireEvent("onPosition"),this}!0!==i.adjustPosition&&"flip"!==i.adjustPosition||(b=function(t){this.wrapper.css(this._getTL(t),l[this._getTL(t)]+(o[this._getXY(t)]+i.offset[this._getXY(t)]*("top"==t||"left"==t?-2:2)+n[this._getXY(t)])*("top"==t||"left"==t?1:-1)),this.pointer&&this.wrapper.removeClass("jBox-pointerPosition-"+this.pointer.position).addClass("jBox-pointerPosition-"+this._getOpp(this.pointer.position)).css("padding",0).css("padding-"+t,this.pointer.dimensions[this._getXY(t)]),this.pointer&&this.pointer.element.attr("class","jBox-pointer jBox-pointer-"+t),this.positionAdjusted=!0,this.flipped=!0}.bind(this),p.x&&b(this.options.position.x),p.y&&b(this.options.position.y));var b="x"==this._getXY(this.outside)?x:f;this.pointer&&"target"==i.pointTo&&"flip"!=i.adjustPosition&&this._getXY(b)==this._getOpp(this._getXY(this.outside))&&(x="center"==this.pointer.align?o[this._getXY(b)]/2-this.pointer.dimensions[this._getOpp(this.pointer.xy)]/2-parseInt(this.pointer.element.css("margin-"+this.pointer.alignAttribute))*(b!=this._getTL(b)?-1:1):b==this.pointer.alignAttribute?parseInt(this.pointer.element.css("margin-"+this.pointer.alignAttribute)):o[this._getXY(b)]-parseInt(this.pointer.element.css("margin-"+this.pointer.alignAttribute))-this.pointer.dimensions[this._getXY(b)],f=b==this._getTL(b)?s[this._getTL(b)]-l[this._getTL(b)]+i.adjustDistance[b]:-1*(s[this._getOpp(this._getTL(b))]-l[this._getTL(b)]-i.adjustDistance[b]-o[this._getXY(b)]),b==this._getOpp(this._getTL(b))&&l[this._getTL(b)]-f<s[this._getTL(b)]+i.adjustDistance[this._getTL(b)]&&(f-=s[this._getTL(b)]+i.adjustDistance[this._getTL(b)]-(l[this._getTL(b)]-f)),(f=Math.min(f,x))<=x&&0<f&&(this.pointer.element.css("margin-"+this.pointer.alignAttribute,parseInt(this.pointer.element.css("margin-"+this.pointer.alignAttribute))-f*(b!=this.pointer.alignAttribute?-1:1)),this.wrapper.css(this._getTL(b),l[this._getTL(b)]+f*(b!=this._getTL(b)?-1:1)),this.positionAdjusted=!0))}}return this._fireEvent("onPosition"),this},(i.prototype.unscroll=function(t){if(this.set=function(t,i){window.unscrollStore||(window.unscrollStore={}),window.unscrollStore[t]=i},this.get=function(t){return window.unscrollStore?window.unscrollStore[t]:null},this.getScrollbarWidth=function(){if(this.get("scrollbarWidth"))return this.get("scrollbarWidth")+"px";var t=document.createElement("div");t.style.width="100px",t.style.height="100px",t.style.overflow="scroll",t.style.position="absolute",t.style.top="-10000",document.body.appendChild(t);var i=t.offsetWidth-t.clientWidth;return document.body.removeChild(t),this.set("scrollbarWidth",i),i+"px"},this.getElementsToAdjust=function(t){(t="string"==typeof(t=t||[])?[[t,"padding-right"]]:t).forEach(function(i,o){"string"==typeof i&&(t[o]=[i,"padding-right"])});for(var i=!1,o=0;o<t.length;o++)-1!==t[o][0].indexOf("body")&&(i=!0);return!1===i&&t.push(["body","padding-right"]),t},this.pageHasScrollbar=function(){return this.getScrollbarWidth()&&document.body.offsetHeight>window.innerHeight},this.pageHasScrollbar()){t=this.getElementsToAdjust(t);for(var i=0;i<t.length;i++)for(var o=document.querySelectorAll(t[i][0]),s=0;s<o.length;s++){if(o[s].getAttribute("data-unscroll"))return;var e=t[i][1],n=window.getComputedStyle(o[s]).getPropertyValue(e);o[s].setAttribute("data-unscroll",e),n=n||"0px";var a="padding-right"==e||"right"==e?"+":"-";o[s].style[e]="calc("+n+" "+a+" "+this.getScrollbarWidth()+")"}}var h,r;document.getElementById("unscroll-class-name")||(h=document.head||document.getElementsByTagName("head")[0],(r=document.createElement("style")).type="text/css",r.setAttribute("id","unscroll-class-name"),r.appendChild(document.createTextNode(".unscrollable { overflow: hidden !important; }")),h.appendChild(r)),document.body.classList.add("unscrollable")}).reset=function(){for(var t=document.querySelectorAll("[data-unscroll]"),i=0;i<t.length;i++){var o=t[i].getAttribute("data-unscroll");t[i].style[o]=null,t[i].removeAttribute("data-unscroll")}document.body.classList.remove("unscrollable")},i.prototype.open=function(o){if(o=o||{},this.isDestroyed)return this;if(this.wrapper||this._create(),this._styles||(this._styles=t("<style/>").append(this._animationCSS).appendTo(t("head"))),this.timer&&clearTimeout(this.timer),this._blockBodyClick(),this.isDisabled)return this;this.options.closeOnEsc&&t(document).on("keyup.jBox-"+this.id,function(t){27==t.keyCode&&this.close({ignoreDelay:!0})}.bind(this)),!0!==this.options.closeOnClick&&"body"!==this.options.closeOnClick||(t("body").on("click.jBox-"+this.id+" tap.jBox-"+this.id,function(t){this.blockBodyClick||"body"==this.options.closeOnClick&&(t.target==this.wrapper[0]||this.wrapper.has(t.target).length)||this.close({ignoreDelay:!0})}.bind(this)),this.isTouchDevice&&t("body > *").on("click.jBox-"+this.id+" tap.jBox-"+this.id,function(){return!0}));var s=function(){!0===this.adjustZIndexOnOpen&&(i.zIndexMax=Math.max(parseInt(this.wrapper.css("zIndex"),10),this.options.zIndex,i.zIndexMax||0,i.zIndexMaxDragover||0)+2,this.wrapper.css("zIndex",i.zIndexMax),this.options.zIndex=i.zIndexMax),this.source&&this.options.getTitle&&this.source.attr(this.options.getTitle)&&this.setTitle(this.source.attr(this.options.getTitle),!0),this.source&&this.options.getContent&&(this.source.data("jBox-getContent")?this.setContent(this.source.data("jBox-getContent"),!0):this.source.attr(this.options.getContent)?this.setContent(this.source.attr(this.options.getContent),!0):"html"==this.options.getContent&&this.setContent(this.source.html(),!0)),this._fireEvent("onOpen"),(this.options.ajax&&(this.options.ajax.url||this.source&&this.source.attr(this.options.ajax.getURL))&&(!this.ajaxLoaded||this.options.ajax.reload)||o.ajax&&(o.ajax.url||o.ajax.data))&&("strict"==this.options.ajax.reload||!this.source||!this.source.data("jBox-ajax-data")||o.ajax&&(o.ajax.url||o.ajax.data)?this.ajax(o.ajax||null,!0):this.setContent(this.source.data("jBox-ajax-data"))),this.positionedOnOpen&&!this.options.repositionOnOpen||!this.position(o)||(this.positionedOnOpen=!0),this.isClosing&&this._abortAnimation(),this.isOpen||(this.isOpen=!0,this.options.autoClose&&(this.options.delayClose=this.options.autoClose)&&this.close(),this._attachEvents(),this.options.blockScroll&&(this.options.blockScrollAdjust?i.blockScrollScopes?i.blockScrollScopes++:(i.blockScrollScopes=1,this.unscroll(Array.isArray(this.options.blockScrollAdjust)||"string"==typeof this.options.blockScrollAdjust?this.options.blockScrollAdjust:null)):t("body").addClass("jBox-blockScroll-"+this.id)),this.options.overlay&&(this._showOverlay(),this.position()),this.options.animation&&!this.isClosing&&this._animate("open"),this.options.audio&&this.options.audio.open&&this.audio(this.options.audio.open,this.options.volume.open),this.options.fade?this.wrapper.stop().animate({opacity:1},{queue:!1,duration:this.options.fade,start:function(){this.isOpening=!0,this.wrapper.css({display:"block"})}.bind(this),always:function(){this.isOpening=!1,setTimeout(function(){this.positionOnFadeComplete&&this.position()&&(this.positionOnFadeComplete=!1)}.bind(this),10)}.bind(this)}):(this.wrapper.css({display:"block",opacity:1}),this.positionOnFadeComplete&&this.position()&&(this.positionOnFadeComplete=!1)))}.bind(this);return!this.options.delayOpen||this.isOpen||this.isClosing||o.ignoreDelay?s():this.timer=setTimeout(s,this.options.delayOpen),this},i.prototype.close=function(o){if(o=o||{},t("body").off("click.jBox-"+this.id+" tap.jBox-"+this.id),this.isTouchDevice&&t("body > *").off("click.jBox-"+this.id+" tap.jBox-"+this.id),this.isDestroyed||this.isClosing)return this;if(this.timer&&clearTimeout(this.timer),this._blockBodyClick(),this.isDisabled)return this;var s,e,n,a=function(){var o;this._fireEvent("onClose"),this.options.cancelAjaxOnClose&&this.cancelAjax(),this.isOpen&&(this.isOpen=!1,this._detachEvents(),this.options.blockScroll&&(this.options.blockScrollAdjust?(i.blockScrollScopes=i.blockScrollScopes?--i.blockScrollScopes:0)||this.unscroll.reset():t("body").removeClass("jBox-blockScroll-"+this.id)),this.options.overlay&&this._hideOverlay(),this.options.animation&&!this.isOpening&&this._animate("close"),this.options.audio&&this.options.audio.close&&this.audio(this.options.audio.close,this.options.volume.close),(o=this.isTouchDevice&&"mouse"==this.options.target?0:this.options.fade)?this.wrapper.stop().animate({opacity:0},{queue:!1,duration:o,start:function(){this.isClosing=!0}.bind(this),complete:function(){this.wrapper.css({display:"none"}),this._fireEvent("onCloseComplete")}.bind(this),always:function(){this.isClosing=!1}.bind(this)}):(this.wrapper.css({display:"none",opacity:0}),this._fireEvent("onCloseComplete")))}.bind(this);return o.ignoreDelay||this.isTouchDevice&&"mouse"==this.options.target?a():(this.options.delayOnHover||this.options.showCountdown)&&10<this.options.delayClose?(e=(s=this).options.delayClose,n=Date.now(),this.options.showCountdown&&!this.inner&&(o=t('<div class="jBox-countdown" />'),this.inner=t('<div class="jBox-countdown-inner" />'),o.prepend(this.inner),t("#"+this.id).append(o)),this.countdown=function(){var t=Date.now();s.isHovered||(e-=t-n),n=t,0<e?(s.options.showCountdown&&s.inner.css("width",100*e/s.options.delayClose+"%"),window.requestAnimationFrame(s.countdown)):a()},window.requestAnimationFrame(this.countdown)):this.timer=setTimeout(a,Math.max(this.options.delayClose,10)),this},i.prototype.toggle=function(t){return this[this.isOpen?"close":"open"](t),this},i.prototype.disable=function(){return this.isDisabled=!0,this},i.prototype.enable=function(){return this.isDisabled=!1,this},i.prototype.hide=function(){return this.disable(),this.wrapper&&(this.cacheWrapperDisplay=this.wrapper.css("display"),this.wrapper.css({display:"none"})),this.overlay&&(this.cacheOverlayDisplay=this.overlay.css("display"),this.overlay.css({display:"none"})),this},i.prototype.show=function(){return this.enable(),this.wrapper&&this.cacheWrapperDisplay&&(this.wrapper.css({display:this.cacheWrapperDisplay}),this.cacheWrapperDisplay=null),this.overlay&&this.cacheOverlayDisplay&&(this.overlay.css({display:this.cacheOverlayDisplay}),this.cacheOverlayDisplay=null),this},i.prototype.ajax=function(i,o){i=i||{},t.each([["getData","data"],["getURL","url"]],function(t,o){this.options.ajax[o[0]]&&!i[o[1]]&&this.source&&null!=this.source.attr(this.options.ajax[o[0]])&&(i[o[1]]=this.source.attr(this.options.ajax[o[0]])||"")}.bind(this));var s=t.extend(!0,{},this.options.ajax);this.cancelAjax();var e=i.beforeSend||s.beforeSend||function(){},n=i.complete||s.complete||function(){},a=i.success||s.success||function(){},h=i.error||s.error||function(){},r=t.extend(!0,s,i);return r.beforeSend=function(i){r.loadingClass&&this.wrapper.addClass(!0===r.loadingClass?"jBox-loading":r.loadingClass),r.spinner&&(this.spinnerDelay=setTimeout(function(){this.wrapper.addClass("jBox-loading-spinner"),r.spinnerReposition&&(o?this.positionOnFadeComplete=!0:this.position()),this.spinner=t(!0!==r.spinner?r.spinner:'<div class="jBox-spinner"></div>').appendTo(this.container),this.titleContainer&&"absolute"==this.spinner.css("position")&&this.spinner.css({transform:"translateY("+.5*this.titleContainer.outerHeight()+"px)"})}.bind(this),""!=this.content.html()&&r.spinnerDelay||0)),e.bind(this)(i)}.bind(this),r.complete=function(t){this.spinnerDelay&&clearTimeout(this.spinnerDelay),this.wrapper.removeClass("jBox-loading jBox-loading-spinner jBox-loading-spinner-delay"),this.spinner&&this.spinner.length&&this.spinner.remove()&&r.spinnerReposition&&(o?this.positionOnFadeComplete=!0:this.position()),this.ajaxLoaded=!0,n.bind(this)(t)}.bind(this),r.success=function(t){r.setContent&&this.setContent(t,!0)&&(o?this.positionOnFadeComplete=!0:this.position()),r.setContent&&this.source&&this.source.data("jBox-ajax-data",t),a.bind(this)(t)}.bind(this),r.error=function(t){h.bind(this)(t)}.bind(this),this.ajaxRequest=t.ajax(r),this},i.prototype.cancelAjax=function(){this.ajaxRequest&&(this.ajaxRequest.abort(),this.ajaxLoaded=!1)},i.prototype.audio=function(o,s){if(!o)return this;var e;(i._audio=i._audio?i._audio:{})[o]||(e=t("<audio/>"),t("<source/>",{src:o+".mp3"}).appendTo(e),t("<source/>",{src:o+".ogg"}).appendTo(e),i._audio[o]=e[0]),i._audio[o].volume=Math.min((null!=s?s:100)/100,1);try{i._audio[o].pause(),i._audio[o].currentTime=0}catch(o){}return i._audio[o].play(),this},i._animationSpeeds={tada:1e3,tadaSmall:1e3,flash:500,shake:400,pulseUp:250,pulseDown:250,popIn:250,popOut:250,fadeIn:200,fadeOut:200,slideUp:400,slideRight:400,slideLeft:400,slideDown:400},i.prototype.animate=function(t,o){o=o||{},this.animationTimeout||(this.animationTimeout={}),o.element||(o.element=this.wrapper),o.element.data("jBox-animating-id")||o.element.data("jBox-animating-id",i._getUniqueElementID()),o.element.data("jBox-animating")&&(o.element.removeClass(o.element.data("jBox-animating")).data("jBox-animating",null),this.animationTimeout[o.element.data("jBox-animating-id")]&&clearTimeout(this.animationTimeout[o.element.data("jBox-animating-id")])),o.element.addClass("jBox-animated-"+t).data("jBox-animating","jBox-animated-"+t),this.animationTimeout[o.element.data("jBox-animating-id")]=setTimeout(function(){o.element.removeClass(o.element.data("jBox-animating")).data("jBox-animating",null),o.complete&&o.complete()},i._animationSpeeds[t])},i.prototype.swipeDetector=function(i,o){var s=0,e=0,n=0,a=0,h=0;return o=t.extend({swipeThreshold:70,useOnlyTouch:!1},o),i.on("mousedown touchstart",function(t){o.useOnlyTouch&&!t.originalEvent.touches||(t.originalEvent.touches&&(t=t.originalEvent.touches[0]),0===s&&(s=1,e=t.clientX,n=t.clientY))}),t("html").on("mouseup touchend",function(e){2===s&&(s=0,Math.abs(a)>Math.abs(h)&&Math.abs(a)>o.swipeThreshold?a<0?i.trigger(t.Event("swipeLeft.sd")):i.trigger(t.Event("swipeRight.sd")):Math.abs(h)>o.swipeThreshold&&(h<0?i.trigger(t.Event("swipeUp.sd")):i.trigger(t.Event("swipeDown.sd"))))}),t("html").on("mousemove touchmove",function(t){var i;1===s&&(i=(t=t.originalEvent.touches?t.originalEvent.touches[0]:t).clientX-e,t=t.clientY-n,(Math.abs(i)>o.swipeThreshold||Math.abs(t)>o.swipeThreshold)&&(s=2,a=i,h=t))}),i},i.prototype.destroy=function(){return this.detach(),this.isOpen&&this.close({ignoreDelay:!0}),this.wrapper&&this.wrapper.remove(),this.overlay&&this.overlay.remove(),this._styles&&this._styles.remove(),this.isDestroyed=!0,this},i._getUniqueID=(o=1,function(){return o++}),i._getUniqueElementID=(s=1,function(){return s++}),i._pluginOptions={},i.plugin=function(t,o){i._pluginOptions[t]=o},t.fn.jBox=function(o,s){return s=s||{},new i(o=o||{},t.extend(s,{attach:this}))},i}function jBoxConfirmWrapper(jBox,jQuery){new jBox.plugin("Confirm",{confirmButton:"Submit",cancelButton:"Cancel",confirm:null,cancel:null,closeOnConfirm:!0,target:window,fixed:!0,attach:"[data-confirm]",getContent:"data-confirm",content:"Do you really want to do this?",minWidth:360,maxWidth:500,blockScroll:!0,closeOnEsc:!0,closeOnClick:!1,closeButton:!1,overlay:!0,animation:"zoomIn",preventDefault:!0,_onAttach:function(t){var i;this.options.confirm||(i=t.attr("onclick")?t.attr("onclick"):t.attr("href")?t.attr("target")?'window.open("'+t.attr("href")+'", "'+t.attr("target")+'");':'window.location.href = "'+t.attr("href")+'";':"",t.prop("onclick",null).data("jBox-Confirm-submit",i))},_onCreated:function(){this.wrapper.addClass("jBox-Modal"),this.footer=jQuery('<div class="jBox-Confirm-footer"/>'),jQuery('<div class="jBox-Confirm-button jBox-Confirm-button-cancel"/>').html(this.options.cancelButton).on("click tap",function(){this.options.cancel&&this.options.cancel(this.source),this.close()}.bind(this)).appendTo(this.footer),this.submitButton=jQuery('<div class="jBox-Confirm-button jBox-Confirm-button-submit"/>').html(this.options.confirmButton).appendTo(this.footer),this.footer.appendTo(this.container)},_onOpen:function(){this.submitButton.off("click.jBox-Confirm"+this.id+" tap.jBox-Confirm"+this.id).on("click.jBox-Confirm"+this.id+" tap.jBox-Confirm"+this.id,function(){this.options.confirm?this.options.confirm(this.source):eval(this.source.data("jBox-Confirm-submit")),this.options.closeOnConfirm&&this.close()}.bind(this))}})}function jBoxImageWrapper(t,i){new t.plugin("Image",{src:"href",gallery:"data-jbox-image",imageLabel:"title",imageFade:360,imageSize:"contain",imageCounter:!1,imageCounterSeparator:"/",downloadButton:!1,downloadButtonText:null,downloadButtonUrl:null,mobileImageAttr:null,mobileImageBreakpoint:null,preloadFirstImage:!1,target:window,attach:"[data-jbox-image]",fixed:!0,blockScroll:!0,closeOnEsc:!0,closeOnClick:"button",closeButton:!0,overlay:!0,animation:"zoomIn",preventDefault:!0,width:"100%",height:"100%",adjustDistance:{top:40,right:0,bottom:40,left:0},_onInit:function(){this.images=this.currentImage={},this.imageZIndex=1,this.initImage=function(t){var o,s;(t=i(t)).data("jBox-image-gallery")||(o=t.attr(this.options.src),this.options.mobileImageAttr&&this.options.mobileImageBreakpoint&&t.attr(this.options.mobileImageAttr)&&i(window).width()<=this.options.mobileImageBreakpoint&&(o=t.attr(this.options.mobileImageAttr)),s=t.attr(this.options.gallery)||"default",this.images[s]||(this.images[s]=[]),this.images[s].push({src:o,label:t.attr(this.options.imageLabel)||"",downloadUrl:this.options.downloadButtonUrl&&t.attr(this.options.downloadButtonUrl)?t.attr(this.options.downloadButtonUrl):null}),"title"==this.options.imageLabel&&t.removeAttr("title"),t.data("jBox-image-gallery",s),t.data("jBox-image-id",this.images[s].length-1))}.bind(this),this.attachedElements&&this.attachedElements.length&&i.each(this.attachedElements,function(t,i){this.initImage(i)}.bind(this));var t=function(t,o,s,e){if(!i("#jBox-image-"+t+"-"+o).length){var n=i("<div/>",{id:"jBox-image-"+t+"-"+o,class:"jBox-image-container"+(s?" jBox-image-"+t+"-current":"")}).css({backgroundSize:this.options.imageSize,opacity:e?1:0,zIndex:s?this.imageZIndex++:0}).appendTo(this.content);return this.swipeDetector(n).on("swipeLeft.sd swipeRight.sd",function(t){"swipeLeft"===t.type?this.showImage("next"):"swipeRight"===t.type&&this.showImage("prev")}.bind(this)),i("<div/>",{id:"jBox-image-label-"+t+"-"+o,class:"jBox-image-label"+(s?" active":"")}).html(this.images[t][o].label).on("click tap",function(){i(this).toggleClass("expanded")}).appendTo(this.imageLabelContainer),s&&n.animate({opacity:1},e?0:this.options.imageFade),n}}.bind(this);this.downloadImage=function(t){var i=document.createElement("a");i.href=t,i.setAttribute("download",t.substring(t.lastIndexOf("/")+1)),document.body.appendChild(i),i.click()};var o=function(o,s,e,n){var a=t(o,s,e,n);a.addClass("jBox-image-loading"),i('<img src="'+this.images[o][s].src+'" />').each(function(){var t=new Image;t.onload=function(){a.removeClass("jBox-image-loading"),a.css({backgroundImage:'url("'+this.images[o][s].src+'")'})}.bind(this),t.onerror=function(){a.removeClass("jBox-image-loading"),a.addClass("jBox-image-not-found")}.bind(this),t.src=this.images[o][s].src}.bind(this))}.bind(this);this.showImage=function(t){var s,e,n;if("open"!=t)s=this.currentImage.gallery,n=(n=this.currentImage.id+(+("prev"==t)?-1:1))>this.images[s].length-1?0:n<0?this.images[s].length-1:n;else{if(this.source)s=this.source.data("jBox-image-gallery"),n=this.source.data("jBox-image-id");else{if(!this.attachedElements||!this.attachedElements.length)return;s=i(this.attachedElements[0]).data("jBox-image-gallery"),n=i(this.attachedElements[0]).data("jBox-image-id")}this.images&&this.images[s]&&i(".jBox-image-pointer-prev, .jBox-image-pointer-next").css({display:1<this.images[s].length?"block":"none"})}i(".jBox-image-"+s+"-current").length&&i(".jBox-image-"+s+"-current").removeClass("jBox-image-"+s+"-current").animate({opacity:0},"open"==t?0:this.options.imageFade),this.currentImage={gallery:s,id:n},i("#jBox-image-"+s+"-"+n).length?i("#jBox-image-"+s+"-"+n).addClass("jBox-image-"+s+"-current").css({zIndex:this.imageZIndex++,opacity:0}).animate({opacity:1},"open"==t?0:this.options.imageFade):o(s,n,!0,"open"===t),e=s,t=n,i(".jBox-image-label.active").removeClass("active expanded"),i("#jBox-image-label-"+e+"-"+t).addClass("active"),this.imageCounter&&(this.images[s]&&1<this.images[s].length?(this.wrapper.addClass("jBox-image-has-counter"),this.imageCounter.find(".jBox-image-counter-all").html(this.images[s].length),this.imageCounter.find(".jBox-image-counter-current").html(n+1)):this.wrapper.removeClass("jBox-image-has-counter")),this.images[s]&&this.images[s].length-1&&(n=(n+=1)>this.images[s].length-1?0:n<0?this.images[s].length-1:n,i("#jBox-image-"+s+"-"+n).length||o(s,n,!1,!1))},this.options.preloadFirstImage&&i(window).on("load",function(){this.showImage("open")}.bind(this))},_onAttach:function(t){this.initImage&&this.initImage(t)},_onCreated:function(){this.imageLabelWrapper=i('<div class="jBox-image-label-wrapper"/>').appendTo(this.wrapper),this.imagePrevButton=i('<div class="jBox-image-pointer-prev"/>').on("click tap",function(){this.showImage("prev")}.bind(this)),this.imageNextButton=i('<div class="jBox-image-pointer-next"/>').on("click tap",function(){this.showImage("next")}.bind(this)),this.imageLabelContainer=i('<div class="jBox-image-label-container"/>'),this.imageLabelWrapper.append(this.imagePrevButton).append(this.imageLabelContainer).append(this.imageNextButton),this.options.downloadButton&&(this.downloadButton=i("<div/>",{class:"jBox-image-download-button-wrapper"}).appendTo(this.wrapper).append(this.options.downloadButtonText?i("<div/>",{class:"jBox-image-download-button-text"}).html(this.options.downloadButtonText):null).append(i("<div/>",{class:"jBox-image-download-button-icon"})).on("click tap",function(){var t;t=this.images[this.currentImage.gallery][this.currentImage.id].downloadUrl||this.wrapper.find(".jBox-image-"+this.currentImage.gallery+"-current")[0].style.backgroundImage.slice(4,-1).replace(/["']/g,""),this.downloadImage(t)}.bind(this))),this.options.imageCounter&&(this.imageCounter=i("<div/>",{class:"jBox-image-counter-container"}).insertAfter(this.imageLabelContainer),this.imageCounter.append(i("<span/>",{class:"jBox-image-counter-current"})).append(i("<span/>").html(this.options.imageCounterSeparator)).append(i("<span/>",{class:"jBox-image-counter-all"})))},_onOpen:function(){i(document).on("keyup.jBox-Image-"+this.id,function(t){37==t.keyCode&&this.showImage("prev"),39==t.keyCode&&this.showImage("next")}.bind(this)),this.showImage("open")},_onClose:function(){i(document).off("keyup.jBox-Image-"+this.id)},_onCloseComplete:function(){this.wrapper.find(".jBox-image-container").css("opacity",0)}})}function jBoxNoticeWrapper(t,i){new t.plugin("Notice",{color:null,stack:!0,stackSpacing:10,autoClose:6e3,attributes:{x:"right",y:"top"},position:{x:15,y:15},responsivePositions:{500:{x:5,y:5},768:{x:10,y:10}},target:window,fixed:!0,animation:"zoomIn",closeOnClick:"box",zIndex:12e3,_onInit:function(){this.defaultNoticePosition=i.extend({},this.options.position),this._adjustNoticePositon=function(){var t=i(window),o=t.width();t.height(),this.options.position=i.extend({},this.defaultNoticePosition),i.each(this.options.responsivePositions,function(t,i){if(o<=t)return this.options.position=i,!1}.bind(this)),this.options.adjustDistance={top:this.options.position.y,right:this.options.position.x,bottom:this.options.position.y,left:this.options.position.x}},this.options.content instanceof i&&(this.options.content=this.options.content.clone().attr("id","")),i(window).on("resize.responsivejBoxNotice-"+this.id,function(t){this.isOpen&&this._adjustNoticePositon()}.bind(this)),this.open()},_onCreated:function(){this.wrapper.addClass("jBox-Notice-color jBox-Notice-"+(this.options.color||"gray")),this.wrapper.data("jBox-Notice-position",this.options.attributes.x+"-"+this.options.attributes.y)},_onOpen:function(){this.options.stack||(this._adjustNoticePositon(),i.each(i(".jBox-Notice"),function(t,o){(o=i(o)).attr("id")!=this.id&&o.data("jBox-Notice-position")==this.options.attributes.x+"-"+this.options.attributes.y&&(this.options.stack||o.data("jBox").close({ignoreDelay:!0}))}.bind(this)))},_onPosition:function(){var t,o={};for(t in i.each(i(".jBox-Notice"),function(t,s){var e=(s=i(s)).data("jBox-Notice-position");o[e]||(o[e]=[]),o[e].push(s)}),o){var s=t.split("-")[1];o[t].reverse();var e,n=0;for(e in o[t]){var a=i(o[t][e]);a.css("margin-"+s,n),n+=a.outerHeight()+this.options.stackSpacing}}},_onCloseComplete:function(){this.destroy(),this.options._onPosition.bind(this).call()}})}!function(t,i){"function"==typeof define&&define.amd?define(["jquery"],function(o){return t.jBox=i(o)}):"object"==typeof module&&module.exports?module.exports=t.jBox=i(require("jquery")):t.jBox=i(t.jQuery)}(this,function(t){var i=jBoxWrapper(t);try{void 0!==jBoxConfirmWrapper&&jBoxConfirmWrapper&&jBoxConfirmWrapper(i,t)}catch(t){console.error(t)}try{void 0!==jBoxImageWrapper&&jBoxImageWrapper&&jBoxImageWrapper(i,t)}catch(t){console.error(t)}try{void 0!==jBoxNoticeWrapper&&jBoxNoticeWrapper&&jBoxNoticeWrapper(i,t)}catch(t){console.error(t)}return i});
},{"jquery":37}],36:[function(require,module,exports){
!function(t){"function"==typeof define&&define.amd?define(["jquery","./version"],t):t(jQuery)}(function(t){var e,i=0,s=Array.prototype.slice;return t.cleanData=(e=t.cleanData,function(i){var s,n,o;for(o=0;null!=(n=i[o]);o++)try{(s=t._data(n,"events"))&&s.remove&&t(n).triggerHandler("remove")}catch(t){}e(i)}),t.widget=function(e,i,s){var n,o,a,r={},l=e.split(".")[0],u=l+"-"+(e=e.split(".")[1]);return s||(s=i,i=t.Widget),t.isArray(s)&&(s=t.extend.apply(null,[{}].concat(s))),t.expr[":"][u.toLowerCase()]=function(e){return!!t.data(e,u)},t[l]=t[l]||{},n=t[l][e],o=t[l][e]=function(t,e){if(!this._createWidget)return new o(t,e);arguments.length&&this._createWidget(t,e)},t.extend(o,n,{version:s.version,_proto:t.extend({},s),_childConstructors:[]}),(a=new i).options=t.widget.extend({},a.options),t.each(s,function(e,s){t.isFunction(s)?r[e]=function(){function t(){return i.prototype[e].apply(this,arguments)}function n(t){return i.prototype[e].apply(this,t)}return function(){var e,i=this._super,o=this._superApply;return this._super=t,this._superApply=n,e=s.apply(this,arguments),this._super=i,this._superApply=o,e}}():r[e]=s}),o.prototype=t.widget.extend(a,{widgetEventPrefix:n&&a.widgetEventPrefix||e},r,{constructor:o,namespace:l,widgetName:e,widgetFullName:u}),n?(t.each(n._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete n._childConstructors):i._childConstructors.push(o),t.widget.bridge(e,o),o},t.widget.extend=function(e){for(var i,n,o=s.call(arguments,1),a=0,r=o.length;a<r;a++)for(i in o[a])n=o[a][i],o[a].hasOwnProperty(i)&&void 0!==n&&(t.isPlainObject(n)?e[i]=t.isPlainObject(e[i])?t.widget.extend({},e[i],n):t.widget.extend({},n):e[i]=n);return e},t.widget.bridge=function(e,i){var n=i.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=s.call(arguments,1),l=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(l=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r))!==s&&void 0!==i?(l=i&&i.jquery?l.pushStack(i.get()):i,!1):void 0:t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; attempted to call method '"+o+"'")}):l=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new i(o,this))})),l}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;o<s.length-1;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){var i=[],s=this;function n(n,o){var a,r;for(r=0;r<n.length;r++)a=s.classesElementLookup[n[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),s.classesElementLookup[n[r]]=a,i.push(n[r]),o&&e.classes[n[r]]&&i.push(e.classes[n[r]])}return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&n(e.keys.match(/\S+/g)||[],!0),e.extra&&n(e.extra.match(/\S+/g)||[]),i.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){if(e||!0!==o.options.disabled&&!t(this).hasClass("ui-state-disabled"))return("string"==typeof a?o[a]:a).apply(o,arguments)}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var l=s.match(/^([\w:-]*)\s*(.*)$/),u=l[1]+o.eventNamespace,h=l[2];h?n.on(u,h,r):i.on(u,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){var i=this;return setTimeout(function(){return("string"==typeof t?i[t]:t).apply(i,arguments)},e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},(i=t.Event(i)).type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&!1===a.apply(this.element[0],[i].concat(s))||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){var a;"string"==typeof n&&(n={effect:n});var r=n?!0===n||"number"==typeof n?i:n.effect||i:e;"number"==typeof(n=n||{})&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget});
},{}],37:[function(require,module,exports){
!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var n=[],r=Object.getPrototypeOf,i=n.slice,o=n.flat?function(e){return n.flat.call(e)}:function(e){return n.concat.apply([],e)},a=n.push,s=n.indexOf,u={},l=u.toString,c=u.hasOwnProperty,f=c.toString,p=f.call(Object),d={},h=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},g=function(e){return null!=e&&e===e.window},v=e.document,y={type:!0,src:!0,nonce:!0,noModule:!0};function m(e,t,n){var r,i,o=(n=n||v).createElement("script");if(o.text=e,t)for(r in y)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?u[l.call(e)]||"object":typeof e}var b=function(e,t){return new b.fn.init(e,t)};function w(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!h(e)&&!g(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}b.fn=b.prototype={jquery:"3.6.0",constructor:b,length:0,toArray:function(){return i.call(this)},get:function(e){return null==e?i.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=b.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return b.each(this,e)},map:function(e){return this.pushStack(b.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(i.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(b.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(b.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:a,sort:n.sort,splice:n.splice},b.extend=b.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||h(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(b.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||b.isPlainObject(n)?n:{},i=!1,a[t]=b.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},b.extend({expando:"jQuery"+("3.6.0"+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==l.call(e))&&(!(t=r(e))||"function"==typeof(n=c.call(t,"constructor")&&t.constructor)&&f.call(n)===p)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){m(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(w(e))for(n=e.length;r<n&&!1!==t.call(e[r],r,e[r]);r++);else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(w(Object(e))?b.merge(n,"string"==typeof e?[e]:e):a.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:s.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,a=0,s=[];if(w(e))for(r=e.length;a<r;a++)null!=(i=t(e[a],a,n))&&s.push(i);else for(a in e)null!=(i=t(e[a],a,n))&&s.push(i);return o(s)},guid:1,support:d}),"function"==typeof Symbol&&(b.fn[Symbol.iterator]=n[Symbol.iterator]),b.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){u["[object "+t+"]"]=t.toLowerCase()});var T=function(e){var t,n,r,i,o,a,s,u,l,c,f,p,d,h,g,v,y,m,x,b="sizzle"+1*new Date,w=e.document,T=0,C=0,E=ue(),S=ue(),k=ue(),A=ue(),N=function(e,t){return e===t&&(f=!0),0},j={}.hasOwnProperty,D=[],q=D.pop,L=D.push,H=D.push,O=D.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"<22>":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){p()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(D=O.call(w.childNodes),w.childNodes),D[w.childNodes.length].nodeType}catch(e){H={apply:D.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function se(e,t,r,i){var o,s,l,c,f,h,y,m=t&&t.ownerDocument,w=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==w&&9!==w&&11!==w)return r;if(!i&&(p(t),t=t||d,g)){if(11!==w&&(f=Z.exec(e)))if(o=f[1]){if(9===w){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return H.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return H.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!A[e+" "]&&(!v||!v.test(e))&&(1!==w||"object"!==t.nodeName.toLowerCase())){if(y=e,m=t,1===w&&(U.test(e)||z.test(e))){for((m=ee.test(e)&&ye(t.parentNode)||t)===t&&n.scope||((c=t.getAttribute("id"))?c=c.replace(re,ie):t.setAttribute("id",c=b)),s=(h=a(e)).length;s--;)h[s]=(c?"#"+c:":scope")+" "+xe(h[s]);y=h.join(",")}try{return H.apply(r,m.querySelectorAll(y)),r}catch(t){A(e,!0)}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace($,"$1"),t,r,i)}function ue(){var e=[];return function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}}function le(e){return e[b]=!0,e}function ce(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){for(var n=e.split("|"),i=n.length;i--;)r.attrHandle[n[i]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function de(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function he(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ge(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ae(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function ve(e){return le(function(t){return t=+t,le(function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ye(e){return e&&void 0!==e.getElementsByTagName&&e}for(t in n=se.support={},o=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},p=se.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!=d&&9===a.nodeType&&a.documentElement?(h=(d=a).documentElement,g=!o(d),w!=d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",oe,!1):i.attachEvent&&i.attachEvent("onunload",oe)),n.scope=ce(function(e){return h.appendChild(e).appendChild(d.createElement("div")),void 0!==e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),n.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ce(function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=K.test(d.getElementsByClassName),n.getById=ce(function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&g)return t.getElementsByClassName(e)},y=[],v=[],(n.qsa=K.test(d.querySelectorAll))&&(ce(function(e){var t;h.appendChild(e).innerHTML="<a id='"+b+"'></a><select id='"+b+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+b+"-]").length||v.push("~="),(t=d.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(n.matchesSelector=K.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ce(function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),y.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),y=y.length&&new RegExp(y.join("|")),t=K.test(h.compareDocumentPosition),x=t||K.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},N=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e==d||e.ownerDocument==w&&x(w,e)?-1:t==d||t.ownerDocument==w&&x(w,t)?1:c?P(c,e)-P(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==d?-1:t==d?1:i?-1:o?1:c?P(c,e)-P(c,t):0;if(i===o)return pe(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?pe(a[r],s[r]):a[r]==w?-1:s[r]==w?1:0},d):d},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(p(e),n.matchesSelector&&g&&!A[t+" "]&&(!y||!y.test(t))&&(!v||!v.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){A(t,!0)}return se(t,d,null,[e]).length>0},se.contains=function(e,t){return(e.ownerDocument||e)!=d&&p(e),x(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&j.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(N),f){for(;t=e[o++];)t===e[o]&&(i=r.push(o));for(;i--;)e.splice(r[i],1)}return c=null,e},i=se.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[r++];)n+=i(t);return n},(r=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&E(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=se.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace(B," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",v=t.parentNode,y=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(v){if(o){for(;g;){for(p=t;p=p[g];)if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?v.firstChild:v.lastChild],a&&m){for(x=(d=(l=(c=(f=(p=v)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&v.childNodes[d];p=++d&&p&&p[g]||(x=d=0)||h.pop();)if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)for(;(p=++d&&p&&p[g]||(x=d=0)||h.pop())&&((s?p.nodeName.toLowerCase()!==y:1!==p.nodeType)||!++x||(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p!==t)););return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,n){for(var r,o=i(e,t),a=o.length;a--;)e[r=P(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:le(function(e){var t=[],n=[],r=s(e.replace($,"$1"));return r[b]?le(function(e,t,n,i){for(var o,a=r(e,null,i,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:le(function(e){return function(t){return se(e,t).length>0}}),contains:le(function(e){return e=e.replace(te,ne),function(t){return(t.textContent||i(t)).indexOf(e)>-1}}),lang:le(function(e){return V.test(e||"")||se.error("unsupported lang: "+e),e=e.replace(te,ne).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:n>t?t:n;--r>=0;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=r.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})r.pseudos[t]=de(t);for(t in{submit:!0,reset:!0})r.pseudos[t]=he(t);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(e,t,n){var r=t.dir,i=t.next,o=i||r,a=n&&"parentNode"===o,s=C++;return t.first?function(t,n,i){for(;t=t[r];)if(1===t.nodeType||a)return e(t,n,i);return!1}:function(t,n,u){var l,c,f,p=[T,s];if(u){for(;t=t[r];)if((1===t.nodeType||a)&&e(t,n,u))return!0}else for(;t=t[r];)if(1===t.nodeType||a)if(c=(f=t[b]||(t[b]={}))[t.uniqueID]||(f[t.uniqueID]={}),i&&i===t.nodeName.toLowerCase())t=t[r]||t;else{if((l=c[o])&&l[0]===T&&l[1]===s)return p[2]=l[2];if(c[o]=p,p[2]=e(t,n,u))return!0}return!1}}function we(e){return e.length>1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(e,t,n,r,i,o){return r&&!r[b]&&(r=Ce(r)),i&&!i[b]&&(i=Ce(i,o)),le(function(o,a,s,u){var l,c,f,p=[],d=[],h=a.length,g=o||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(t||"*",s.nodeType?[s]:s,[]),v=!e||!o&&t?g:Te(g,p,e,s,u),y=n?i||(o?e:h||r)?[]:a:v;if(n&&n(v,y,s,u),r)for(l=Te(y,d),r(l,[],s,u),c=l.length;c--;)(f=l[c])&&(y[d[c]]=!(v[d[c]]=f));if(o){if(i||e){if(i){for(l=[],c=y.length;c--;)(f=y[c])&&l.push(v[c]=f);i(null,y=[],l,u)}for(c=y.length;c--;)(f=y[c])&&(l=i?P(o,f):p[c])>-1&&(o[l]=!(a[l]=f))}}else y=Te(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):H.apply(a,y)})}function Ee(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=be(function(e){return e===t},s,!0),f=be(function(e){return P(t,e)>-1},s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u<o;u++)if(n=r.relative[e[u].type])p=[be(we(p),n)];else{if((n=r.filter[e[u].type].apply(null,e[u].matches))[b]){for(i=++u;i<o&&!r.relative[e[i].type];i++);return Ce(u>1&&we(p),u>1&&xe(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace($,"$1"),n,u<i&&Ee(e.slice(u,i)),i<o&&Ee(e=e.slice(i)),i<o&&xe(e))}p.push(n)}return we(p)}return me.prototype=r.filters=r.pseudos,r.setFilters=new me,a=se.tokenize=function(e,t){var n,i,o,a,s,u,l,c=S[e+" "];if(c)return t?0:c.slice(0);for(s=e,u=[],l=r.preFilter;s;){for(a in n&&!(i=_.exec(s))||(i&&(s=s.slice(i[0].length)||s),u.push(o=[])),n=!1,(i=z.exec(s))&&(n=i.shift(),o.push({value:n,type:i[0].replace($," ")}),s=s.slice(n.length)),r.filter)!(i=G[a].exec(s))||l[a]&&!(i=l[a](i))||(n=i.shift(),o.push({value:n,type:a,matches:i}),s=s.slice(n.length));if(!n)break}return t?s.length:s?se.error(e):S(e,u).slice(0)},s=se.compile=function(e,t){var n,i=[],o=[],s=k[e+" "];if(!s){for(t||(t=a(e)),n=t.length;n--;)(s=Ee(t[n]))[b]?i.push(s):o.push(s);(s=k(e,function(e,t){var n=t.length>0,i=e.length>0,o=function(o,a,s,u,c){var f,h,v,y=0,m="0",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG("*",c),E=T+=null==w?1:Math.random()||.1,S=C.length;for(c&&(l=a==d||a||c);m!==S&&null!=(f=C[m]);m++){if(i&&f){for(h=0,a||f.ownerDocument==d||(p(f),s=!g);v=e[h++];)if(v(f,a||d,s)){u.push(f);break}c&&(T=E)}n&&((f=!v&&f)&&y--,o&&x.push(f))}if(y+=m,n&&m!==y){for(h=0;v=t[h++];)v(x,b,a,s);if(o){if(y>0)for(;m--;)x[m]||b[m]||(b[m]=q.call(u));b=Te(b)}H.apply(u,b),c&&!o&&b.length>0&&y+t.length>1&&se.uniqueSort(u)}return c&&(T=E,l=w),x};return n?le(o):o}(o,i))).selector=e}return s},u=se.select=function(e,t,n,i){var o,u,l,c,f,p="function"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&"ID"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(te,ne),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}for(o=G.needsContext.test(e)?0:u.length;o--&&(l=u[o],!r.relative[c=l.type]);)if((f=r.find[c])&&(i=f(l.matches[0].replace(te,ne),ee.test(u[0].type)&&ye(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&xe(u)))return H.apply(n,i),n;break}}return(p||s(e,d))(i,t,!g,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},n.sortStable=b.split("").sort(N).join("")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(d.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(e);b.find=T,b.expr=T.selectors,b.expr[":"]=b.expr.pseudos,b.uniqueSort=b.unique=T.uniqueSort,b.text=T.getText,b.isXMLDoc=T.isXML,b.contains=T.contains,b.escapeSelector=T.escape;var C=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&b(e).is(n))break;r.push(e)}return r},E=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},S=b.expr.match.needsContext;function k(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var A=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function N(e,t,n){return h(t)?b.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?b.grep(e,function(e){return e===t!==n}):"string"!=typeof t?b.grep(e,function(e){return s.call(t,e)>-1!==n}):b.filter(t,e,n)}b.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?b.find.matchesSelector(r,e)?[r]:[]:b.find.matches(e,b.grep(t,function(e){return 1===e.nodeType}))},b.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(b(e).filter(function(){for(t=0;t<r;t++)if(b.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)b.find(e,i[t],n);return r>1?b.uniqueSort(n):n},filter:function(e){return this.pushStack(N(this,e||[],!1))},not:function(e){return this.pushStack(N(this,e||[],!0))},is:function(e){return!!N(this,"string"==typeof e&&S.test(e)?b(e):e||[],!1).length}});var j,D=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(b.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:D.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof b?t[0]:t,b.merge(this,b.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:v,!0)),A.test(r[1])&&b.isPlainObject(t))for(r in t)h(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=v.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):h(e)?void 0!==n.ready?n.ready(e):e(b):b.makeArray(e,this)}).prototype=b.fn,j=b(v);var q=/^(?:parents|prev(?:Until|All))/,L={children:!0,contents:!0,next:!0,prev:!0};function H(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}b.fn.extend({has:function(e){var t=b(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(b.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&b(e);if(!S.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&b.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?b.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?s.call(b(e),this[0]):s.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(b.uniqueSort(b.merge(this.get(),b(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),b.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return C(e,"parentNode")},parentsUntil:function(e,t,n){return C(e,"parentNode",n)},next:function(e){return H(e,"nextSibling")},prev:function(e){return H(e,"previousSibling")},nextAll:function(e){return C(e,"nextSibling")},prevAll:function(e){return C(e,"previousSibling")},nextUntil:function(e,t,n){return C(e,"nextSibling",n)},prevUntil:function(e,t,n){return C(e,"previousSibling",n)},siblings:function(e){return E((e.parentNode||{}).firstChild,e)},children:function(e){return E(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(k(e,"template")&&(e=e.content||e),b.merge([],e.childNodes))}},function(e,t){b.fn[e]=function(n,r){var i=b.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=b.filter(r,i)),this.length>1&&(L[e]||b.uniqueSort(i),q.test(e)&&i.reverse()),this.pushStack(i)}});var O=/[^\x20\t\r\n\f]+/g;function P(e){return e}function R(e){throw e}function M(e,t,n,r){var i;try{e&&h(i=e.promise)?i.call(e).done(t).fail(n):e&&h(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}b.Callbacks=function(e){e="string"==typeof e?function(e){var t={};return b.each(e.match(O)||[],function(e,n){t[n]=!0}),t}(e):b.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1)for(n=a.shift();++s<o.length;)!1===o[s].apply(n[0],n[1])&&e.stopOnFalse&&(s=o.length,n=!1);e.memory||(n=!1),t=!1,i&&(o=n?[]:"")},l={add:function(){return o&&(n&&!t&&(s=o.length-1,a.push(n)),function t(n){b.each(n,function(n,r){h(r)?e.unique&&l.has(r)||o.push(r):r&&r.length&&"string"!==x(r)&&t(r)})}(arguments),n&&!t&&u()),this},remove:function(){return b.each(arguments,function(e,t){for(var n;(n=b.inArray(t,o,n))>-1;)o.splice(n,1),n<=s&&s--}),this},has:function(e){return e?b.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l},b.extend({Deferred:function(t){var n=[["notify","progress",b.Callbacks("memory"),b.Callbacks("memory"),2],["resolve","done",b.Callbacks("once memory"),b.Callbacks("once memory"),0,"resolved"],["reject","fail",b.Callbacks("once memory"),b.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},catch:function(e){return i.then(null,e)},pipe:function(){var e=arguments;return b.Deferred(function(t){b.each(n,function(n,r){var i=h(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&h(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;if(!(t<o)){if((e=r.apply(s,u))===n.promise())throw new TypeError("Thenable self-resolution");l=e&&("object"==typeof e||"function"==typeof e)&&e.then,h(l)?i?l.call(e,a(o,n,P,i),a(o,n,R,i)):(o++,l.call(e,a(o,n,P,i),a(o,n,R,i),a(o,n,P,n.notifyWith))):(r!==P&&(s=void 0,u=[e]),(i||n.resolveWith)(s,u))}},c=i?l:function(){try{l()}catch(e){b.Deferred.exceptionHook&&b.Deferred.exceptionHook(e,c.stackTrace),t+1>=o&&(r!==R&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(b.Deferred.getStackHook&&(c.stackTrace=b.Deferred.getStackHook()),e.setTimeout(c))}}return b.Deferred(function(e){n[0][3].add(a(0,e,h(i)?i:P,e.notifyWith)),n[1][3].add(a(0,e,h(t)?t:P)),n[2][3].add(a(0,e,h(r)?r:R))}).promise()},promise:function(e){return null!=e?b.extend(e,i):i}},o={};return b.each(n,function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),o=i.call(arguments),a=b.Deferred(),s=function(e){return function(n){r[e]=this,o[e]=arguments.length>1?i.call(arguments):n,--t||a.resolveWith(r,o)}};if(t<=1&&(M(e,a.done(s(n)).resolve,a.reject,!t),"pending"===a.state()||h(o[n]&&o[n].then)))return a.then();for(;n--;)M(o[n],s(n),a.reject);return a.promise()}});var I=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;b.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&I.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},b.readyException=function(t){e.setTimeout(function(){throw t})};var W=b.Deferred();function F(){v.removeEventListener("DOMContentLoaded",F),e.removeEventListener("load",F),b.ready()}b.fn.ready=function(e){return W.then(e).catch(function(e){b.readyException(e)}),this},b.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--b.readyWait:b.isReady)||(b.isReady=!0,!0!==e&&--b.readyWait>0||W.resolveWith(v,[b]))}}),b.ready.then=W.then,"complete"===v.readyState||"loading"!==v.readyState&&!v.documentElement.doScroll?e.setTimeout(b.ready):(v.addEventListener("DOMContentLoaded",F),e.addEventListener("load",F));var B=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n))for(s in i=!0,n)B(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,h(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(b(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},$=/^-ms-/,_=/-([a-z])/g;function z(e,t){return t.toUpperCase()}function U(e){return e.replace($,"ms-").replace(_,z)}var X=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function V(){this.expando=b.expando+V.uid++}V.uid=1,V.prototype={cache:function(e){var t=e[this.expando];return t||(t={},X(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[U(t)]=n;else for(r in t)i[U(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][U(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(U):(t=U(t))in r?[t]:t.match(O)||[]).length;for(;n--;)delete r[t[n]]}(void 0===t||b.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!b.isEmptyObject(t)}};var G=new V,Y=new V,Q=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,J=/[A-Z]/g;function K(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(J,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n=function(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:Q.test(e)?JSON.parse(e):e)}(n)}catch(e){}Y.set(e,t,n)}else n=void 0;return n}b.extend({hasData:function(e){return Y.hasData(e)||G.hasData(e)},data:function(e,t,n){return Y.access(e,t,n)},removeData:function(e,t){Y.remove(e,t)},_data:function(e,t,n){return G.access(e,t,n)},_removeData:function(e,t){G.remove(e,t)}}),b.fn.extend({data:function(e,t){var n,r,i,o=this[0],a=o&&o.attributes;if(void 0===e){if(this.length&&(i=Y.get(o),1===o.nodeType&&!G.get(o,"hasDataAttrs"))){for(n=a.length;n--;)a[n]&&0===(r=a[n].name).indexOf("data-")&&(r=U(r.slice(5)),K(o,r,i[r]));G.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof e?this.each(function(){Y.set(this,e)}):B(this,function(t){var n;if(o&&void 0===t)return void 0!==(n=Y.get(o,e))?n:void 0!==(n=K(o,e))?n:void 0;this.each(function(){Y.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){Y.remove(this,e)})}}),b.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=G.get(e,t),n&&(!r||Array.isArray(n)?r=G.access(e,t,b.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=b.queue(e,t),r=n.length,i=n.shift(),o=b._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){b.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return G.get(e,n)||G.access(e,n,{empty:b.Callbacks("once memory").add(function(){G.remove(e,[t+"queue",n])})})}}),b.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?b.queue(this[0],e):void 0===t?this:this.each(function(){var n=b.queue(this,e,t);b._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&b.dequeue(this,e)})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=b.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";a--;)(n=G.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var Z=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ee=new RegExp("^(?:([+-])=|)("+Z+")([a-z%]*)$","i"),te=["Top","Right","Bottom","Left"],ne=v.documentElement,re=function(e){return b.contains(e.ownerDocument,e)},ie={composed:!0};ne.getRootNode&&(re=function(e){return b.contains(e.ownerDocument,e)||e.getRootNode(ie)===e.ownerDocument});var oe=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&re(e)&&"none"===b.css(e,"display")};function ae(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return b.css(e,t,"")},u=s(),l=n&&n[3]||(b.cssNumber[t]?"":"px"),c=e.nodeType&&(b.cssNumber[t]||"px"!==l&&+u)&&ee.exec(b.css(e,t));if(c&&c[3]!==l){for(u/=2,l=l||c[3],c=+u||1;a--;)b.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,b.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var se={};function ue(e){var t,n=e.ownerDocument,r=e.nodeName,i=se[r];return i||(t=n.body.appendChild(n.createElement(r)),i=b.css(t,"display"),t.parentNode.removeChild(t),"none"===i&&(i="block"),se[r]=i,i)}function le(e,t){for(var n,r,i=[],o=0,a=e.length;o<a;o++)(r=e[o]).style&&(n=r.style.display,t?("none"===n&&(i[o]=G.get(r,"display")||null,i[o]||(r.style.display="")),""===r.style.display&&oe(r)&&(i[o]=ue(r))):"none"!==n&&(i[o]="none",G.set(r,"display",n)));for(o=0;o<a;o++)null!=i[o]&&(e[o].style.display=i[o]);return e}b.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){oe(this)?b(this).show():b(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=v.createDocumentFragment().appendChild(v.createElement("div")),(fe=v.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),d.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",d.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",d.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&k(e,t)?b.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)G.set(e[n],"globalEval",!t||G.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,d.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===x(o))b.merge(p,o.nodeType?[o]:o);else if(me.test(o)){for(a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+b.htmlPrefilter(o)+u[2],c=u[0];c--;)a=a.lastChild;b.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));for(f.textContent="",d=0;o=p[d++];)if(r&&b.inArray(o,r)>-1)i&&i.push(o);else if(l=re(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n)for(c=0;o=a[c++];)he.test(o.type||"")&&n.push(o);return f}var be=/^([^.]*)(?:\.(.+)|)/;function we(){return!0}function Te(){return!1}function Ce(e,t){return e===function(){try{return v.activeElement}catch(e){}}()==("focus"===t)}function Ee(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ee(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Te;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return b().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=b.guid++)),e.each(function(){b.event.add(this,t,i,r,n)})}function Se(e,t,n){n?(G.set(e,t,!1),b.event.add(e,t,{namespace:!1,handler:function(e){var r,o,a=G.get(this,t);if(1&e.isTrigger&&this[t]){if(a.length)(b.event.special[t]||{}).delegateType&&e.stopPropagation();else if(a=i.call(arguments),G.set(this,t,a),r=n(this,t),this[t](),a!==(o=G.get(this,t))||r?G.set(this,t,!1):o={},a!==o)return e.stopImmediatePropagation(),e.preventDefault(),o&&o.value}else a.length&&(G.set(this,t,{value:b.event.trigger(b.extend(a[0],b.Event.prototype),a.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===G.get(e,t)&&b.event.add(e,t,we)}b.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=G.get(e);if(X(e))for(n.handler&&(n=(o=n).handler,i=o.selector),i&&b.find.matchesSelector(ne,i),n.guid||(n.guid=b.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(t){return void 0!==b&&b.event.triggered!==t.type?b.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(O)||[""]).length;l--;)d=g=(s=be.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=b.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=b.event.special[d]||{},c=b.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&b.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),b.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=G.hasData(e)&&G.get(e);if(v&&(u=v.events)){for(l=(t=(t||"").match(O)||[""]).length;l--;)if(d=g=(s=be.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){for(f=b.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;o--;)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||b.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)b.event.remove(e,d+t[l],n,r,!0);b.isEmptyObject(u)&&G.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=b.event.fix(e),l=(G.get(this,"events")||Object.create(null))[u.type]||[],c=b.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){for(a=b.event.handlers.call(this,u,l),t=0;(i=a[t++])&&!u.isPropagationStopped();)for(u.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!u.isImmediatePropagationStopped();)u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((b.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&e.button>=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?b(i,this).index(l)>-1:b.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(e,t){Object.defineProperty(b.Event.prototype,e,{enumerable:!0,configurable:!0,get:h(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[b.expando]?e:new b.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&k(t,"input")&&Se(t,"click",we),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&k(t,"input")&&Se(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&k(t,"input")&&G.get(t,"click")||k(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},b.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},b.Event=function(e,t){if(!(this instanceof b.Event))return new b.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?we:Te,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&b.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[b.expando]=!0},b.Event.prototype={constructor:b.Event,isDefaultPrevented:Te,isPropagationStopped:Te,isImmediatePropagationStopped:Te,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=we,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=we,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=we,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},b.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},b.event.addProp),b.each({focus:"focusin",blur:"focusout"},function(e,t){b.event.special[e]={setup:function(){return Se(this,e,Ce),!1},trigger:function(){return Se(this,e),!0},_default:function(){return!0},delegateType:t}}),b.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){b.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=e.relatedTarget,i=e.handleObj;return r&&(r===this||b.contains(this,r))||(e.type=i.origType,n=i.handler.apply(this,arguments),e.type=t),n}}}),b.fn.extend({on:function(e,t,n,r){return Ee(this,e,t,n,r)},one:function(e,t,n,r){return Ee(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,b(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Te),this.each(function(){b.event.remove(this,e,n,t)})}});var ke=/<script|<style|<link/i,Ae=/checked\s*(?:[^=]|=\s*.checked.)/i,Ne=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function je(e,t){return k(e,"table")&&k(11!==t.nodeType?t:t.firstChild,"tr")&&b(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(G.hasData(e)&&(s=G.get(e).events))for(i in G.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)b.event.add(t,i,s[i][n]);Y.hasData(e)&&(o=Y.access(e),a=b.extend({},o),Y.set(t,a))}}function He(e,t,n,r){t=o(t);var i,a,s,u,l,c,f=0,p=e.length,g=p-1,v=t[0],y=h(v);if(y||p>1&&"string"==typeof v&&!d.checkClone&&Ae.test(v))return e.each(function(i){var o=e.eq(i);y&&(t[0]=v.call(this,i,o.html())),He(o,t,n,r)});if(p&&(a=(i=xe(t,e[0].ownerDocument,!1,e,r)).firstChild,1===i.childNodes.length&&(i=a),a||r)){for(u=(s=b.map(ve(i,"script"),De)).length;f<p;f++)l=i,f!==g&&(l=b.clone(l,!0,!0),u&&b.merge(s,ve(l,"script"))),n.call(e[f],l,f);if(u)for(c=s[s.length-1].ownerDocument,b.map(s,qe),f=0;f<u;f++)l=s[f],he.test(l.type||"")&&!G.access(l,"globalEval")&&b.contains(c,l)&&(l.src&&"module"!==(l.type||"").toLowerCase()?b._evalUrl&&!l.noModule&&b._evalUrl(l.src,{nonce:l.nonce||l.getAttribute("nonce")},c):m(l.textContent.replace(Ne,""),l,c))}return e}function Oe(e,t,n){for(var r,i=t?b.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||b.cleanData(ve(r)),r.parentNode&&(n&&re(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}b.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=re(e);if(!(d.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||b.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],l=void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Le(o[r],a[r]);else Le(e,c);return(a=ve(c,"script")).length>0&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=b.event.special,o=0;void 0!==(n=e[o]);o++)if(X(n)){if(t=n[G.expando]){if(t.events)for(r in t.events)i[r]?b.event.remove(n,r):b.removeEvent(n,r,t.handle);n[G.expando]=void 0}n[Y.expando]&&(n[Y.expando]=void 0)}}}),b.fn.extend({detach:function(e){return Oe(this,e,!0)},remove:function(e){return Oe(this,e)},text:function(e){return B(this,function(e){return void 0===e?b.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return He(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||je(this,e).appendChild(e)})},prepend:function(){return He(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=je(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(b.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return b.clone(this,e,t)})},html:function(e){return B(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!ke.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=b.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(b.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return He(this,arguments,function(t){var n=this.parentNode;b.inArray(this,e)<0&&(b.cleanData(ve(this)),n&&n.replaceChild(t,this))},e)}}),b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){b.fn[e]=function(e){for(var n,r=[],i=b(e),o=i.length-1,s=0;s<=o;s++)n=s===o?this:this.clone(!0),b(i[s])[t](n),a.apply(r,n.get());return this.pushStack(r)}});var Pe=new RegExp("^("+Z+")(?!px)[a-z%]+$","i"),Re=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)},Me=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Ie=new RegExp(te.join("|"),"i");function We(e,t,n){var r,i,o,a,s=e.style;return(n=n||Re(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||re(e)||(a=b.style(e,t)),!d.pixelBoxStyles()&&Pe.test(a)&&Ie.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function Fe(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function t(){if(c){l.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",c.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",ne.appendChild(l).appendChild(c);var t=e.getComputedStyle(c);r="1%"!==t.top,u=12===n(t.marginLeft),c.style.right="60%",a=36===n(t.right),i=36===n(t.width),c.style.position="absolute",o=12===n(c.offsetWidth/3),ne.removeChild(l),c=null}}function n(e){return Math.round(parseFloat(e))}var r,i,o,a,s,u,l=v.createElement("div"),c=v.createElement("div");c.style&&(c.style.backgroundClip="content-box",c.cloneNode(!0).style.backgroundClip="",d.clearCloneStyle="content-box"===c.style.backgroundClip,b.extend(d,{boxSizingReliable:function(){return t(),i},pixelBoxStyles:function(){return t(),a},pixelPosition:function(){return t(),r},reliableMarginLeft:function(){return t(),u},scrollboxSize:function(){return t(),o},reliableTrDimensions:function(){var t,n,r,i;return null==s&&(t=v.createElement("table"),n=v.createElement("tr"),r=v.createElement("div"),t.style.cssText="position:absolute;left:-11111px;border-collapse:separate",n.style.cssText="border:1px solid",n.style.height="1px",r.style.height="9px",r.style.display="block",ne.appendChild(t).appendChild(n).appendChild(r),i=e.getComputedStyle(n),s=parseInt(i.height,10)+parseInt(i.borderTopWidth,10)+parseInt(i.borderBottomWidth,10)===n.offsetHeight,ne.removeChild(t)),s}}))}();var Be=["Webkit","Moz","ms"],$e=v.createElement("div").style,_e={};function ze(e){var t=b.cssProps[e]||_e[e];return t||(e in $e?e:_e[e]=function(e){for(var t=e[0].toUpperCase()+e.slice(1),n=Be.length;n--;)if((e=Be[n]+t)in $e)return e}(e)||e)}var Ue=/^(none|table(?!-c[ea]).+)/,Xe=/^--/,Ve={position:"absolute",visibility:"hidden",display:"block"},Ge={letterSpacing:"0",fontWeight:"400"};function Ye(e,t,n){var r=ee.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Qe(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=b.css(e,n+te[a],!0,i)),r?("content"===n&&(u-=b.css(e,"padding"+te[a],!0,i)),"margin"!==n&&(u-=b.css(e,"border"+te[a]+"Width",!0,i))):(u+=b.css(e,"padding"+te[a],!0,i),"padding"!==n?u+=b.css(e,"border"+te[a]+"Width",!0,i):s+=b.css(e,"border"+te[a]+"Width",!0,i));return!r&&o>=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Je(e,t,n){var r=Re(e),i=(!d.boxSizingReliable()||n)&&"border-box"===b.css(e,"boxSizing",!1,r),o=i,a=We(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Pe.test(a)){if(!n)return a;a="auto"}return(!d.boxSizingReliable()&&i||!d.reliableTrDimensions()&&k(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===b.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===b.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Qe(e,t,n||(i?"border":"content"),o,r,a)+"px"}function Ke(e,t,n,r,i){return new Ke.prototype.init(e,t,n,r,i)}b.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=We(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=U(t),u=Xe.test(t),l=e.style;if(u||(t=ze(s)),a=b.cssHooks[t]||b.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=ee.exec(n))&&i[1]&&(n=ae(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(b.cssNumber[s]?"":"px")),d.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=U(t);return Xe.test(t)||(t=ze(s)),(a=b.cssHooks[t]||b.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=We(e,t,r)),"normal"===i&&t in Ge&&(i=Ge[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),b.each(["height","width"],function(e,t){b.cssHooks[t]={get:function(e,n,r){if(n)return!Ue.test(b.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Je(e,t,r):Me(e,Ve,function(){return Je(e,t,r)})},set:function(e,n,r){var i,o=Re(e),a=!d.scrollboxSize()&&"absolute"===o.position,s=(a||r)&&"border-box"===b.css(e,"boxSizing",!1,o),u=r?Qe(e,t,r,s,o):0;return s&&a&&(u-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Qe(e,t,"border",!1,o)-.5)),u&&(i=ee.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=b.css(e,t)),Ye(0,n,u)}}}),b.cssHooks.marginLeft=Fe(d.reliableMarginLeft,function(e,t){if(t)return(parseFloat(We(e,"marginLeft"))||e.getBoundingClientRect().left-Me(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),b.each({margin:"",padding:"",border:"Width"},function(e,t){b.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+te[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(b.cssHooks[e+t].set=Ye)}),b.fn.extend({css:function(e,t){return B(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Re(e),i=t.length;a<i;a++)o[t[a]]=b.css(e,t[a],!1,r);return o}return void 0!==n?b.style(e,t,n):b.css(e,t)},e,t,arguments.length>1)}}),b.Tween=Ke,Ke.prototype={constructor:Ke,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||b.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(b.cssNumber[n]?"":"px")},cur:function(){var e=Ke.propHooks[this.prop];return e&&e.get?e.get(this):Ke.propHooks._default.get(this)},run:function(e){var t,n=Ke.propHooks[this.prop];return this.options.duration?this.pos=t=b.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Ke.propHooks._default.set(this),this}},Ke.prototype.init.prototype=Ke.prototype,Ke.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=b.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){b.fx.step[e.prop]?b.fx.step[e.prop](e):1!==e.elem.nodeType||!b.cssHooks[e.prop]&&null==e.elem.style[ze(e.prop)]?e.elem[e.prop]=e.now:b.style(e.elem,e.prop,e.now+e.unit)}}},Ke.propHooks.scrollTop=Ke.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},b.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},b.fx=Ke.prototype.init,b.fx.step={};var Ze,et,tt=/^(?:toggle|show|hide)$/,nt=/queueHooks$/;function rt(){et&&(!1===v.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(rt):e.setTimeout(rt,b.fx.interval),b.fx.tick())}function it(){return e.setTimeout(function(){Ze=void 0}),Ze=Date.now()}function ot(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=te[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function at(e,t,n){for(var r,i=(st.tweeners[t]||[]).concat(st.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function st(e,t,n){var r,i,o=0,a=st.prefilters.length,s=b.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;for(var t=Ze||it(),n=Math.max(0,l.startTime+l.duration-t),r=1-(n/l.duration||0),o=0,a=l.tweens.length;o<a;o++)l.tweens[o].run(r);return s.notifyWith(e,[l,r,n]),r<1&&a?n:(a||s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:b.extend({},t),opts:b.extend(!0,{specialEasing:{},easing:b.easing._default},n),originalProperties:t,originalOptions:n,startTime:Ze||it(),duration:n.duration,tweens:[],createTween:function(t,n){var r=b.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;n<r;n++)l.tweens[n].run(1);return t?(s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l,t])):s.rejectWith(e,[l,t]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=U(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=b.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);o<a;o++)if(r=st.prefilters[o].call(l,e,c,l.opts))return h(r.stop)&&(b._queueHooks(l.elem,l.opts.queue).stop=r.stop.bind(r)),r;return b.map(c,at,l),h(l.opts.start)&&l.opts.start.call(e,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),b.fx.timer(b.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l}b.Animation=b.extend(st,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return ae(n.elem,e,ee.exec(t),n),n}]},tweener:function(e,t){h(e)?(t=e,e=["*"]):e=e.match(O);for(var n,r=0,i=e.length;r<i;r++)n=e[r],st.tweeners[n]=st.tweeners[n]||[],st.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&oe(e),v=G.get(e,"fxshow");for(r in n.queue||(null==(a=b._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,b.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],tt.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||b.style(e,r)}if((u=!b.isEmptyObject(t))||!b.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=G.get(e,"display")),"none"===(c=b.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=b.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===b.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=G.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),G.remove(e,"fxshow"),d)b.style(e,r,d[r])})),u=at(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?st.prefilters.unshift(e):st.prefilters.push(e)}}),b.speed=function(e,t,n){var r=e&&"object"==typeof e?b.extend({},e):{complete:n||!n&&t||h(e)&&e,duration:e,easing:n&&t||t&&!h(t)&&t};return b.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in b.fx.speeds?r.duration=b.fx.speeds[r.duration]:r.duration=b.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){h(r.old)&&r.old.call(this),r.queue&&b.dequeue(this,r.queue)},r},b.fn.extend({fadeTo:function(e,t,n,r){return this.filter(oe).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=b.isEmptyObject(e),o=b.speed(t,n,r),a=function(){var t=st(this,b.extend({},e),o);(i||G.get(this,"finish"))&&t.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&this.queue(e||"fx",[]),this.each(function(){var t=!0,i=null!=e&&e+"queueHooks",o=b.timers,a=G.get(this);if(i)a[i]&&a[i].stop&&r(a[i]);else for(i in a)a[i]&&a[i].stop&&nt.test(i)&&r(a[i]);for(i=o.length;i--;)o[i].elem!==this||null!=e&&o[i].queue!==e||(o[i].anim.stop(n),t=!1,o.splice(i,1));!t&&n||b.dequeue(this,e)})},finish:function(e){return!1!==e&&(e=e||"fx"),this.each(function(){var t,n=G.get(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=b.timers,a=r?r.length:0;for(n.finish=!0,b.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;t<a;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),b.each(["toggle","show","hide"],function(e,t){var n=b.fn[t];b.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ot(t,!0),e,r,i)}}),b.each({slideDown:ot("show"),slideUp:ot("hide"),slideToggle:ot("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){b.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),b.timers=[],b.fx.tick=function(){var e,t=0,n=b.timers;for(Ze=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||b.fx.stop(),Ze=void 0},b.fx.timer=function(e){b.timers.push(e),b.fx.start()},b.fx.interval=13,b.fx.start=function(){et||(et=!0,rt())},b.fx.stop=function(){et=null},b.fx.speeds={slow:600,fast:200,_default:400},b.fn.delay=function(t,n){return t=b.fx&&b.fx.speeds[t]||t,n=n||"fx",this.queue(n,function(n,r){var i=e.setTimeout(n,t);r.stop=function(){e.clearTimeout(i)}})},function(){var e=v.createElement("input"),t=v.createElement("select").appendChild(v.createElement("option"));e.type="checkbox",d.checkOn=""!==e.value,d.optSelected=t.selected,(e=v.createElement("input")).value="t",e.type="radio",d.radioValue="t"===e.value}();var ut,lt=b.expr.attrHandle;b.fn.extend({attr:function(e,t){return B(this,b.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})}}),b.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?b.prop(e,t,n):(1===o&&b.isXMLDoc(e)||(i=b.attrHooks[t.toLowerCase()]||(b.expr.match.bool.test(t)?ut:void 0)),void 0!==n?null===n?void b.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=b.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!d.radioValue&&"radio"===t&&k(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(O);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),ut={set:function(e,t,n){return!1===t?b.removeAttr(e,n):e.setAttribute(n,n),n}},b.each(b.expr.match.bool.source.match(/\w+/g),function(e,t){var n=lt[t]||b.find.attr;lt[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=lt[a],lt[a]=i,i=null!=n(e,t,r)?a:null,lt[a]=o),i}});var ct=/^(?:input|select|textarea|button)$/i,ft=/^(?:a|area)$/i;function pt(e){return(e.match(O)||[]).join(" ")}function dt(e){return e.getAttribute&&e.getAttribute("class")||""}function ht(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(O)||[]}b.fn.extend({prop:function(e,t){return B(this,b.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[b.propFix[e]||e]})}}),b.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&b.isXMLDoc(e)||(t=b.propFix[t]||t,i=b.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=b.find.attr(e,"tabindex");return t?parseInt(t,10):ct.test(e.nodeName)||ft.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),d.optSelected||(b.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),b.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){b.propFix[this.toLowerCase()]=this}),b.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(h(e))return this.each(function(t){b(this).addClass(e.call(this,t,dt(this)))});if((t=ht(e)).length)for(;n=this[u++];)if(i=dt(n),r=1===n.nodeType&&" "+pt(i)+" "){for(a=0;o=t[a++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=pt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(h(e))return this.each(function(t){b(this).removeClass(e.call(this,t,dt(this)))});if(!arguments.length)return this.attr("class","");if((t=ht(e)).length)for(;n=this[u++];)if(i=dt(n),r=1===n.nodeType&&" "+pt(i)+" "){for(a=0;o=t[a++];)for(;r.indexOf(" "+o+" ")>-1;)r=r.replace(" "+o+" "," ");i!==(s=pt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):h(e)?this.each(function(n){b(this).toggleClass(e.call(this,n,dt(this),t),t)}):this.each(function(){var t,i,o,a;if(r)for(i=0,o=b(this),a=ht(e);t=a[i++];)o.hasClass(t)?o.removeClass(t):o.addClass(t);else void 0!==e&&"boolean"!==n||((t=dt(this))&&G.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":G.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+pt(dt(n))+" ").indexOf(t)>-1)return!0;return!1}});var gt=/\r/g;b.fn.extend({val:function(e){var t,n,r,i=this[0];return arguments.length?(r=h(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,b(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=b.map(i,function(e){return null==e?"":e+""})),(t=b.valHooks[this.type]||b.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))})):i?(t=b.valHooks[i.type]||b.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(gt,""):null==n?"":n:void 0}}),b.extend({valHooks:{option:{get:function(e){var t=b.find.attr(e,"value");return null!=t?t:pt(b.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!k(n.parentNode,"optgroup"))){if(t=b(n).val(),a)return t;s.push(t)}return s},set:function(e,t){for(var n,r,i=e.options,o=b.makeArray(t),a=i.length;a--;)((r=i[a]).selected=b.inArray(b.valHooks.option.get(r),o)>-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),b.each(["radio","checkbox"],function(){b.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=b.inArray(b(e).val(),t)>-1}},d.checkOn||(b.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),d.focusin="onfocusin"in e;var vt=/^(?:focusinfocus|focusoutblur)$/,yt=function(e){e.stopPropagation()};b.extend(b.event,{trigger:function(t,n,r,i){var o,a,s,u,l,f,p,d,y=[r||v],m=c.call(t,"type")?t.type:t,x=c.call(t,"namespace")?t.namespace.split("."):[];if(a=d=s=r=r||v,3!==r.nodeType&&8!==r.nodeType&&!vt.test(m+b.event.triggered)&&(m.indexOf(".")>-1&&(x=m.split("."),m=x.shift(),x.sort()),l=m.indexOf(":")<0&&"on"+m,(t=t[b.expando]?t:new b.Event(m,"object"==typeof t&&t)).isTrigger=i?2:3,t.namespace=x.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+x.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:b.makeArray(n,[t]),p=b.event.special[m]||{},i||!p.trigger||!1!==p.trigger.apply(r,n))){if(!i&&!p.noBubble&&!g(r)){for(u=p.delegateType||m,vt.test(u+m)||(a=a.parentNode);a;a=a.parentNode)y.push(a),s=a;s===(r.ownerDocument||v)&&y.push(s.defaultView||s.parentWindow||e)}for(o=0;(a=y[o++])&&!t.isPropagationStopped();)d=a,t.type=o>1?u:p.bindType||m,(f=(G.get(a,"events")||Object.create(null))[t.type]&&G.get(a,"handle"))&&f.apply(a,n),(f=l&&a[l])&&f.apply&&X(a)&&(t.result=f.apply(a,n),!1===t.result&&t.preventDefault());return t.type=m,i||t.isDefaultPrevented()||p._default&&!1!==p._default.apply(y.pop(),n)||!X(r)||l&&h(r[m])&&!g(r)&&((s=r[l])&&(r[l]=null),b.event.triggered=m,t.isPropagationStopped()&&d.addEventListener(m,yt),r[m](),t.isPropagationStopped()&&d.removeEventListener(m,yt),b.event.triggered=void 0,s&&(r[l]=s)),t.result}},simulate:function(e,t,n){var r=b.extend(new b.Event,n,{type:e,isSimulated:!0});b.event.trigger(r,null,t)}}),b.fn.extend({trigger:function(e,t){return this.each(function(){b.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return b.event.trigger(e,t,n,!0)}}),d.focusin||b.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){b.event.simulate(t,e.target,b.event.fix(e))};b.event.special[t]={setup:function(){var r=this.ownerDocument||this.document||this,i=G.access(r,t);i||r.addEventListener(e,n,!0),G.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this.document||this,i=G.access(r,t)-1;i?G.access(r,t,i):(r.removeEventListener(e,n,!0),G.remove(r,t))}}});var mt=e.location,xt={guid:Date.now()},bt=/\?/;b.parseXML=function(t){var n,r;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){}return r=n&&n.getElementsByTagName("parsererror")[0],n&&!r||b.error("Invalid XML: "+(r?b.map(r.childNodes,function(e){return e.textContent}).join("\n"):t)),n};var wt=/\[\]$/,Tt=/\r?\n/g,Ct=/^(?:submit|button|image|reset|file)$/i,Et=/^(?:input|select|textarea|keygen)/i;function St(e,t,n,r){var i;if(Array.isArray(t))b.each(t,function(t,i){n||wt.test(e)?r(e,i):St(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==x(t))r(e,t);else for(i in t)St(e+"["+i+"]",t[i],n,r)}b.param=function(e,t){var n,r=[],i=function(e,t){var n=h(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!b.isPlainObject(e))b.each(e,function(){i(this.name,this.value)});else for(n in e)St(n,e[n],t,i);return r.join("&")},b.fn.extend({serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=b.prop(this,"elements");return e?b.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!b(this).is(":disabled")&&Et.test(this.nodeName)&&!Ct.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=b(this).val();return null==n?null:Array.isArray(n)?b.map(n,function(e){return{name:t.name,value:e.replace(Tt,"\r\n")}}):{name:t.name,value:n.replace(Tt,"\r\n")}}).get()}});var kt=/%20/g,At=/#.*$/,Nt=/([?&])_=[^&]*/,jt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Dt=/^(?:GET|HEAD)$/,qt=/^\/\//,Lt={},Ht={},Ot="*/".concat("*"),Pt=v.createElement("a");function Rt(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(O)||[];if(h(n))for(;r=o[i++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function Mt(e,t,n,r){var i={},o=e===Ht;function a(s){var u;return i[s]=!0,b.each(e[s]||[],function(e,s){var l=s(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)}),u}return a(t.dataTypes[0])||!i["*"]&&a("*")}function It(e,t){var n,r,i=b.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&b.extend(!0,e,r),e}Pt.href=mt.href,b.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:mt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(mt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Ot,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":b.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?It(It(e,b.ajaxSettings),t):It(b.ajaxSettings,e)},ajaxPrefilter:Rt(Lt),ajaxTransport:Rt(Ht),ajax:function(t,n){"object"==typeof t&&(n=t,t=void 0),n=n||{};var r,i,o,a,s,u,l,c,f,p,d=b.ajaxSetup({},n),h=d.context||d,g=d.context&&(h.nodeType||h.jquery)?b(h):b.event,y=b.Deferred(),m=b.Callbacks("once memory"),x=d.statusCode||{},w={},T={},C="canceled",E={readyState:0,getResponseHeader:function(e){var t;if(l){if(!a)for(a={};t=jt.exec(o);)a[t[1].toLowerCase()+" "]=(a[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=a[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return l?o:null},setRequestHeader:function(e,t){return null==l&&(e=T[e.toLowerCase()]=T[e.toLowerCase()]||e,w[e]=t),this},overrideMimeType:function(e){return null==l&&(d.mimeType=e),this},statusCode:function(e){var t;if(e)if(l)E.always(e[E.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||C;return r&&r.abort(t),S(0,t),this}};if(y.promise(E),d.url=((t||d.url||mt.href)+"").replace(qt,mt.protocol+"//"),d.type=n.method||n.type||d.method||d.type,d.dataTypes=(d.dataType||"*").toLowerCase().match(O)||[""],null==d.crossDomain){u=v.createElement("a");try{u.href=d.url,u.href=u.href,d.crossDomain=Pt.protocol+"//"+Pt.host!=u.protocol+"//"+u.host}catch(e){d.crossDomain=!0}}if(d.data&&d.processData&&"string"!=typeof d.data&&(d.data=b.param(d.data,d.traditional)),Mt(Lt,d,n,E),l)return E;for(f in(c=b.event&&d.global)&&0==b.active++&&b.event.trigger("ajaxStart"),d.type=d.type.toUpperCase(),d.hasContent=!Dt.test(d.type),i=d.url.replace(At,""),d.hasContent?d.data&&d.processData&&0===(d.contentType||"").indexOf("application/x-www-form-urlencoded")&&(d.data=d.data.replace(kt,"+")):(p=d.url.slice(i.length),d.data&&(d.processData||"string"==typeof d.data)&&(i+=(bt.test(i)?"&":"?")+d.data,delete d.data),!1===d.cache&&(i=i.replace(Nt,"$1"),p=(bt.test(i)?"&":"?")+"_="+xt.guid+++p),d.url=i+p),d.ifModified&&(b.lastModified[i]&&E.setRequestHeader("If-Modified-Since",b.lastModified[i]),b.etag[i]&&E.setRequestHeader("If-None-Match",b.etag[i])),(d.data&&d.hasContent&&!1!==d.contentType||n.contentType)&&E.setRequestHeader("Content-Type",d.contentType),E.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+("*"!==d.dataTypes[0]?", "+Ot+"; q=0.01":""):d.accepts["*"]),d.headers)E.setRequestHeader(f,d.headers[f]);if(d.beforeSend&&(!1===d.beforeSend.call(h,E,d)||l))return E.abort();if(C="abort",m.add(d.complete),E.done(d.success),E.fail(d.error),r=Mt(Ht,d,n,E)){if(E.readyState=1,c&&g.trigger("ajaxSend",[E,d]),l)return E;d.async&&d.timeout>0&&(s=e.setTimeout(function(){E.abort("timeout")},d.timeout));try{l=!1,r.send(w,S)}catch(e){if(l)throw e;S(-1,e)}}else S(-1,"No Transport");function S(t,n,a,u){var f,p,v,w,T,C=n;l||(l=!0,s&&e.clearTimeout(s),r=void 0,o=u||"",E.readyState=t>0?4:0,f=t>=200&&t<300||304===t,a&&(w=function(e,t,n){for(var r,i,o,a,s=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(d,E,a)),!f&&b.inArray("script",d.dataTypes)>-1&&b.inArray("json",d.dataTypes)<0&&(d.converters["text script"]=function(){}),w=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(d,w,E,f),f?(d.ifModified&&((T=E.getResponseHeader("Last-Modified"))&&(b.lastModified[i]=T),(T=E.getResponseHeader("etag"))&&(b.etag[i]=T)),204===t||"HEAD"===d.type?C="nocontent":304===t?C="notmodified":(C=w.state,p=w.data,f=!(v=w.error))):(v=C,!t&&C||(C="error",t<0&&(t=0))),E.status=t,E.statusText=(n||C)+"",f?y.resolveWith(h,[p,C,E]):y.rejectWith(h,[E,C,v]),E.statusCode(x),x=void 0,c&&g.trigger(f?"ajaxSuccess":"ajaxError",[E,d,f?p:v]),m.fireWith(h,[E,C]),c&&(g.trigger("ajaxComplete",[E,d]),--b.active||b.event.trigger("ajaxStop")))}return E},getJSON:function(e,t,n){return b.get(e,t,n,"json")},getScript:function(e,t){return b.get(e,void 0,t,"script")}}),b.each(["get","post"],function(e,t){b[t]=function(e,n,r,i){return h(n)&&(i=i||r,r=n,n=void 0),b.ajax(b.extend({url:e,type:t,dataType:i,data:n,success:r},b.isPlainObject(e)&&e))}}),b.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),b._evalUrl=function(e,t,n){return b.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){b.globalEval(e,t,n)}})},b.fn.extend({wrapAll:function(e){var t;return this[0]&&(h(e)&&(e=e.call(this[0])),t=b(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return h(e)?this.each(function(t){b(this).wrapInner(e.call(this,t))}):this.each(function(){var t=b(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=h(e);return this.each(function(n){b(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){b(this).replaceWith(this.childNodes)}),this}}),b.expr.pseudos.hidden=function(e){return!b.expr.pseudos.visible(e)},b.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},b.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Wt={0:200,1223:204},Ft=b.ajaxSettings.xhr();d.cors=!!Ft&&"withCredentials"in Ft,d.ajax=Ft=!!Ft,b.ajaxTransport(function(t){var n,r;if(d.cors||Ft&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];for(a in t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest"),i)s.setRequestHeader(a,i[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Wt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),b.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),b.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return b.globalEval(e),e}}}),b.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),b.ajaxTransport("script",function(e){var t,n;if(e.crossDomain||e.scriptAttrs)return{send:function(r,i){t=b("<script>").attr(e.scriptAttrs||{}).prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&i("error"===e.type?404:200,e.type)}),v.head.appendChild(t[0])},abort:function(){n&&n()}}});var Bt,$t=[],_t=/(=)\?(?=&|$)|\?\?/;b.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=$t.pop()||b.expando+"_"+xt.guid++;return this[e]=!0,e}}),b.ajaxPrefilter("json jsonp",function(t,n,r){var i,o,a,s=!1!==t.jsonp&&(_t.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&_t.test(t.data)&&"data");if(s||"jsonp"===t.dataTypes[0])return i=t.jsonpCallback=h(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(_t,"$1"+i):!1!==t.jsonp&&(t.url+=(bt.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return a||b.error(i+" was not called"),a[0]},t.dataTypes[0]="json",o=e[i],e[i]=function(){a=arguments},r.always(function(){void 0===o?b(e).removeProp(i):e[i]=o,t[i]&&(t.jsonpCallback=n.jsonpCallback,$t.push(i)),a&&h(o)&&o(a[0]),a=o=void 0}),"script"}),d.createHTMLDocument=((Bt=v.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Bt.childNodes.length),b.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(d.createHTMLDocument?((r=(t=v.implementation.createHTMLDocument("")).createElement("base")).href=v.location.href,t.head.appendChild(r)):t=v),o=!n&&[],(i=A.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&b(o).remove(),b.merge([],i.childNodes)));var r,i,o},b.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return s>-1&&(r=pt(e.slice(s)),e=e.slice(0,s)),h(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),a.length>0&&b.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?b("<div>").append(b.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},b.expr.pseudos.animated=function(e){return b.grep(b.timers,function(t){return e===t.elem}).length},b.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=b.css(e,"position"),c=b(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=b.css(e,"top"),u=b.css(e,"left"),("absolute"===l||"fixed"===l)&&(o+u).indexOf("auto")>-1?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),h(t)&&(t=t.call(e,n,b.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},b.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){b.offset.setOffset(this,e,t)});var t,n,r=this[0];return r?r.getClientRects().length?(t=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:t.top+n.pageYOffset,left:t.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===b.css(r,"position"))t=r.getBoundingClientRect();else{for(t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;e&&(e===n.body||e===n.documentElement)&&"static"===b.css(e,"position");)e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=b(e).offset()).top+=b.css(e,"borderTopWidth",!0),i.left+=b.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-b.css(r,"marginTop",!0),left:t.left-i.left-b.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===b.css(e,"position");)e=e.offsetParent;return e||ne})}}),b.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n="pageYOffset"===t;b.fn[e]=function(r){return B(this,function(e,r,i){var o;if(g(e)?o=e:9===e.nodeType&&(o=e.defaultView),void 0===i)return o?o[t]:e[r];o?o.scrollTo(n?o.pageXOffset:i,n?i:o.pageYOffset):e[r]=i},e,r,arguments.length)}}),b.each(["top","left"],function(e,t){b.cssHooks[t]=Fe(d.pixelPosition,function(e,n){if(n)return n=We(e,t),Pe.test(n)?b(e).position()[t]+"px":n})}),b.each({Height:"height",Width:"width"},function(e,t){b.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){b.fn[r]=function(i,o){var a=arguments.length&&(n||"boolean"!=typeof i),s=n||(!0===i||!0===o?"margin":"border");return B(this,function(t,n,i){var o;return g(t)?0===r.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(o=t.documentElement,Math.max(t.body["scroll"+e],o["scroll"+e],t.body["offset"+e],o["offset"+e],o["client"+e])):void 0===i?b.css(t,n,s):b.style(t,n,i,s)},t,a?i:void 0,a)}})}),b.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){b.fn[t]=function(e){return this.on(t,e)}}),b.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),b.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){b.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}});var zt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;b.proxy=function(e,t){var n,r,o;if("string"==typeof t&&(n=e[t],t=e,e=n),h(e))return r=i.call(arguments,2),(o=function(){return e.apply(t||this,r.concat(i.call(arguments)))}).guid=e.guid=e.guid||b.guid++,o},b.holdReady=function(e){e?b.readyWait++:b.ready(!0)},b.isArray=Array.isArray,b.parseJSON=JSON.parse,b.nodeName=k,b.isFunction=h,b.isWindow=g,b.camelCase=U,b.type=x,b.now=Date.now,b.isNumeric=function(e){var t=b.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},b.trim=function(e){return null==e?"":(e+"").replace(zt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return b});var Ut=e.jQuery,Xt=e.$;return b.noConflict=function(t){return e.$===b&&(e.$=Xt),t&&e.jQuery===b&&(e.jQuery=Ut),b},void 0===t&&(e.jQuery=e.$=b),b});
},{}],38:[function(require,module,exports){
var cachedSetTimeout,cachedClearTimeout,process=module.exports={};function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}function runTimeout(e){if(cachedSetTimeout===setTimeout)return setTimeout(e,0);if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout)return cachedSetTimeout=setTimeout,setTimeout(e,0);try{return cachedSetTimeout(e,0)}catch(t){try{return cachedSetTimeout.call(null,e,0)}catch(t){return cachedSetTimeout.call(this,e,0)}}}function runClearTimeout(e){if(cachedClearTimeout===clearTimeout)return clearTimeout(e);if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout)return cachedClearTimeout=clearTimeout,clearTimeout(e);try{return cachedClearTimeout(e)}catch(t){try{return cachedClearTimeout.call(null,e)}catch(t){return cachedClearTimeout.call(this,e)}}}!function(){try{cachedSetTimeout="function"==typeof setTimeout?setTimeout:defaultSetTimout}catch(e){cachedSetTimeout=defaultSetTimout}try{cachedClearTimeout="function"==typeof clearTimeout?clearTimeout:defaultClearTimeout}catch(e){cachedClearTimeout=defaultClearTimeout}}();var currentQueue,queue=[],draining=!1,queueIndex=-1;function cleanUpNextTick(){draining&&currentQueue&&(draining=!1,currentQueue.length?queue=currentQueue.concat(queue):queueIndex=-1,queue.length&&drainQueue())}function drainQueue(){if(!draining){var e=runTimeout(cleanUpNextTick);draining=!0;for(var t=queue.length;t;){for(currentQueue=queue,queue=[];++queueIndex<t;)currentQueue&&currentQueue[queueIndex].run();queueIndex=-1,t=queue.length}currentQueue=null,draining=!1,runClearTimeout(e)}}function Item(e,t){this.fun=e,this.array=t}function noop(){}process.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];queue.push(new Item(e,t)),1!==queue.length||draining||runTimeout(drainQueue)},Item.prototype.run=function(){this.fun.apply(null,this.array)},process.title="browser",process.browser=!0,process.env={},process.argv=[],process.version="",process.versions={},process.on=noop,process.addListener=noop,process.once=noop,process.off=noop,process.removeListener=noop,process.removeAllListeners=noop,process.emit=noop,process.prependListener=noop,process.prependOnceListener=noop,process.listeners=function(e){return[]},process.binding=function(e){throw new Error("process.binding is not supported")},process.cwd=function(){return"/"},process.chdir=function(e){throw new Error("process.chdir is not supported")},process.umask=function(){return 0};
},{}],39:[function(require,module,exports){
var buffer=require("buffer"),Buffer=buffer.Buffer;function copyProps(f,e){for(var r in f)e[r]=f[r]}function SafeBuffer(f,e,r){return Buffer(f,e,r)}Buffer.from&&Buffer.alloc&&Buffer.allocUnsafe&&Buffer.allocUnsafeSlow?module.exports=buffer:(copyProps(buffer,exports),exports.Buffer=SafeBuffer),SafeBuffer.prototype=Object.create(Buffer.prototype),copyProps(Buffer,SafeBuffer),SafeBuffer.from=function(f,e,r){if("number"==typeof f)throw new TypeError("Argument must not be a number");return Buffer(f,e,r)},SafeBuffer.alloc=function(f,e,r){if("number"!=typeof f)throw new TypeError("Argument must be a number");var u=Buffer(f);return void 0!==e?"string"==typeof r?u.fill(e,r):u.fill(e):u.fill(0),u},SafeBuffer.allocUnsafe=function(f){if("number"!=typeof f)throw new TypeError("Argument must be a number");return Buffer(f)},SafeBuffer.allocUnsafeSlow=function(f){if("number"!=typeof f)throw new TypeError("Argument must be a number");return buffer.SlowBuffer(f)};
},{"buffer":31}],40:[function(require,module,exports){
(function (Buffer){(function (){
!function(t){t.parser=function(t,e){return new s(t,e)},t.SAXParser=s,t.SAXStream=n,t.createStream=function(t,e){return new n(t,e)},t.MAX_BUFFER_LENGTH=65536;var e,i=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"];function s(e,a){if(!(this instanceof s))return new s(e,a);!function(t){for(var e=0,s=i.length;e<s;e++)t[i[e]]=""}(this),this.q=this.c="",this.bufferCheckPosition=t.MAX_BUFFER_LENGTH,this.opt=a||{},this.opt.lowercase=this.opt.lowercase||this.opt.lowercasetags,this.looseCase=this.opt.lowercase?"toLowerCase":"toUpperCase",this.tags=[],this.closed=this.closedRoot=this.sawRoot=!1,this.tag=this.error=null,this.strict=!!e,this.noscript=!(!e&&!this.opt.noscript),this.state=D.BEGIN,this.strictEntities=this.opt.strictEntities,this.ENTITIES=this.strictEntities?Object.create(t.XML_ENTITIES):Object.create(t.ENTITIES),this.attribList=[],this.opt.xmlns&&(this.ns=Object.create(h)),this.trackPosition=!1!==this.opt.position,this.trackPosition&&(this.position=this.line=this.column=0),C(this,"onready")}t.EVENTS=["text","processinginstruction","sgmldeclaration","doctype","comment","opentagstart","attribute","opentag","closetag","opencdata","cdata","closecdata","error","end","ready","script","opennamespace","closenamespace"],Object.create||(Object.create=function(t){function e(){}return e.prototype=t,new e}),Object.keys||(Object.keys=function(t){var e=[];for(var i in t)t.hasOwnProperty(i)&&e.push(i);return e}),s.prototype={end:function(){v(this)},write:function(e){if(this.error)throw this.error;if(this.closed)return R(this,"Cannot write after close. Assign an onready handler.");if(null===e)return v(this);"object"==typeof e&&(e=e.toString());var s=0,a="";for(;a=M(e,s++),this.c=a,a;)switch(this.trackPosition&&(this.position++,"\n"===a?(this.line++,this.column=0):this.column++),this.state){case D.BEGIN:if(this.state=D.BEGIN_WHITESPACE,"\ufeff"===a)continue;G(this,a);continue;case D.BEGIN_WHITESPACE:G(this,a);continue;case D.TEXT:if(this.sawRoot&&!this.closedRoot){for(var n=s-1;a&&"<"!==a&&"&"!==a;)(a=M(e,s++))&&this.trackPosition&&(this.position++,"\n"===a?(this.line++,this.column=0):this.column++);this.textNode+=e.substring(n,s-1)}"<"!==a||this.sawRoot&&this.closedRoot&&!this.strict?(m(a)||this.sawRoot&&!this.closedRoot||P(this,"Text data outside of root node."),"&"===a?this.state=D.TEXT_ENTITY:this.textNode+=a):(this.state=D.OPEN_WAKA,this.startTagPosition=this.position);continue;case D.SCRIPT:"<"===a?this.state=D.SCRIPT_ENDING:this.script+=a;continue;case D.SCRIPT_ENDING:"/"===a?this.state=D.CLOSE_TAG:(this.script+="<"+a,this.state=D.SCRIPT);continue;case D.OPEN_WAKA:if("!"===a)this.state=D.SGML_DECL,this.sgmlDecl="";else if(m(a));else if(_(l,a))this.state=D.OPEN_TAG,this.tagName=a;else if("/"===a)this.state=D.CLOSE_TAG,this.tagName="";else if("?"===a)this.state=D.PROC_INST,this.procInstName=this.procInstBody="";else{if(P(this,"Unencoded <"),this.startTagPosition+1<this.position){var c=this.position-this.startTagPosition;a=new Array(c).join(" ")+a}this.textNode+="<"+a,this.state=D.TEXT}continue;case D.SGML_DECL:(this.sgmlDecl+a).toUpperCase()===r?(O(this,"onopencdata"),this.state=D.CDATA,this.sgmlDecl="",this.cdata=""):this.sgmlDecl+a==="--"?(this.state=D.COMMENT,this.comment="",this.sgmlDecl=""):(this.sgmlDecl+a).toUpperCase()===o?(this.state=D.DOCTYPE,(this.doctype||this.sawRoot)&&P(this,"Inappropriately located doctype declaration"),this.doctype="",this.sgmlDecl=""):">"===a?(O(this,"onsgmldeclaration",this.sgmlDecl),this.sgmlDecl="",this.state=D.TEXT):N(a)?(this.state=D.SGML_DECL_QUOTED,this.sgmlDecl+=a):this.sgmlDecl+=a;continue;case D.SGML_DECL_QUOTED:a===this.q&&(this.state=D.SGML_DECL,this.q=""),this.sgmlDecl+=a;continue;case D.DOCTYPE:">"===a?(this.state=D.TEXT,O(this,"ondoctype",this.doctype),this.doctype=!0):(this.doctype+=a,"["===a?this.state=D.DOCTYPE_DTD:N(a)&&(this.state=D.DOCTYPE_QUOTED,this.q=a));continue;case D.DOCTYPE_QUOTED:this.doctype+=a,a===this.q&&(this.q="",this.state=D.DOCTYPE);continue;case D.DOCTYPE_DTD:this.doctype+=a,"]"===a?this.state=D.DOCTYPE:N(a)&&(this.state=D.DOCTYPE_DTD_QUOTED,this.q=a);continue;case D.DOCTYPE_DTD_QUOTED:this.doctype+=a,a===this.q&&(this.state=D.DOCTYPE_DTD,this.q="");continue;case D.COMMENT:"-"===a?this.state=D.COMMENT_ENDING:this.comment+=a;continue;case D.COMMENT_ENDING:"-"===a?(this.state=D.COMMENT_ENDED,this.comment=S(this.opt,this.comment),this.comment&&O(this,"oncomment",this.comment),this.comment=""):(this.comment+="-"+a,this.state=D.COMMENT);continue;case D.COMMENT_ENDED:">"!==a?(P(this,"Malformed comment"),this.comment+="--"+a,this.state=D.COMMENT):this.state=D.TEXT;continue;case D.CDATA:"]"===a?this.state=D.CDATA_ENDING:this.cdata+=a;continue;case D.CDATA_ENDING:"]"===a?this.state=D.CDATA_ENDING_2:(this.cdata+="]"+a,this.state=D.CDATA);continue;case D.CDATA_ENDING_2:">"===a?(this.cdata&&O(this,"oncdata",this.cdata),O(this,"onclosecdata"),this.cdata="",this.state=D.TEXT):"]"===a?this.cdata+="]":(this.cdata+="]]"+a,this.state=D.CDATA);continue;case D.PROC_INST:"?"===a?this.state=D.PROC_INST_ENDING:m(a)?this.state=D.PROC_INST_BODY:this.procInstName+=a;continue;case D.PROC_INST_BODY:if(!this.procInstBody&&m(a))continue;"?"===a?this.state=D.PROC_INST_ENDING:this.procInstBody+=a;continue;case D.PROC_INST_ENDING:">"===a?(O(this,"onprocessinginstruction",{name:this.procInstName,body:this.procInstBody}),this.procInstName=this.procInstBody="",this.state=D.TEXT):(this.procInstBody+="?"+a,this.state=D.PROC_INST_BODY);continue;case D.OPEN_TAG:_(T,a)?this.tagName+=a:(y(this),">"===a?U(this):"/"===a?this.state=D.OPEN_TAG_SLASH:(m(a)||P(this,"Invalid character in tag name"),this.state=D.ATTRIB));continue;case D.OPEN_TAG_SLASH:">"===a?(U(this,!0),x(this)):(P(this,"Forward-slash in opening tag not followed by >"),this.state=D.ATTRIB);continue;case D.ATTRIB:if(m(a))continue;">"===a?U(this):"/"===a?this.state=D.OPEN_TAG_SLASH:_(l,a)?(this.attribName=a,this.attribValue="",this.state=D.ATTRIB_NAME):P(this,"Invalid attribute name");continue;case D.ATTRIB_NAME:"="===a?this.state=D.ATTRIB_VALUE:">"===a?(P(this,"Attribute without value"),this.attribValue=this.attribName,B(this),U(this)):m(a)?this.state=D.ATTRIB_NAME_SAW_WHITE:_(T,a)?this.attribName+=a:P(this,"Invalid attribute name");continue;case D.ATTRIB_NAME_SAW_WHITE:if("="===a)this.state=D.ATTRIB_VALUE;else{if(m(a))continue;P(this,"Attribute without value"),this.tag.attributes[this.attribName]="",this.attribValue="",O(this,"onattribute",{name:this.attribName,value:""}),this.attribName="",">"===a?U(this):_(l,a)?(this.attribName=a,this.state=D.ATTRIB_NAME):(P(this,"Invalid attribute name"),this.state=D.ATTRIB)}continue;case D.ATTRIB_VALUE:if(m(a))continue;N(a)?(this.q=a,this.state=D.ATTRIB_VALUE_QUOTED):(P(this,"Unquoted attribute value"),this.state=D.ATTRIB_VALUE_UNQUOTED,this.attribValue=a);continue;case D.ATTRIB_VALUE_QUOTED:if(a!==this.q){"&"===a?this.state=D.ATTRIB_VALUE_ENTITY_Q:this.attribValue+=a;continue}B(this),this.q="",this.state=D.ATTRIB_VALUE_CLOSED;continue;case D.ATTRIB_VALUE_CLOSED:m(a)?this.state=D.ATTRIB:">"===a?U(this):"/"===a?this.state=D.OPEN_TAG_SLASH:_(l,a)?(P(this,"No whitespace between attributes"),this.attribName=a,this.attribValue="",this.state=D.ATTRIB_NAME):P(this,"Invalid attribute name");continue;case D.ATTRIB_VALUE_UNQUOTED:if(!f(a)){"&"===a?this.state=D.ATTRIB_VALUE_ENTITY_U:this.attribValue+=a;continue}B(this),">"===a?U(this):this.state=D.ATTRIB;continue;case D.CLOSE_TAG:if(this.tagName)">"===a?x(this):_(T,a)?this.tagName+=a:this.script?(this.script+="</"+this.tagName,this.tagName="",this.state=D.SCRIPT):(m(a)||P(this,"Invalid tagname in closing tag"),this.state=D.CLOSE_TAG_SAW_WHITE);else{if(m(a))continue;d(l,a)?this.script?(this.script+="</"+a,this.state=D.SCRIPT):P(this,"Invalid tagname in closing tag."):this.tagName=a}continue;case D.CLOSE_TAG_SAW_WHITE:if(m(a))continue;">"===a?x(this):P(this,"Invalid characters in closing tag");continue;case D.TEXT_ENTITY:case D.ATTRIB_VALUE_ENTITY_Q:case D.ATTRIB_VALUE_ENTITY_U:var u,h;switch(this.state){case D.TEXT_ENTITY:u=D.TEXT,h="textNode";break;case D.ATTRIB_VALUE_ENTITY_Q:u=D.ATTRIB_VALUE_QUOTED,h="attribValue";break;case D.ATTRIB_VALUE_ENTITY_U:u=D.ATTRIB_VALUE_UNQUOTED,h="attribValue"}";"===a?(this[h]+=w(this),this.entity="",this.state=u):_(this.entity.length?p:E,a)?this.entity+=a:(P(this,"Invalid character in entity name"),this[h]+="&"+this.entity+a,this.entity="",this.state=u);continue;default:throw new Error(this,"Unknown state: "+this.state)}this.position>=this.bufferCheckPosition&&function(e){for(var s=Math.max(t.MAX_BUFFER_LENGTH,10),a=0,n=0,r=i.length;n<r;n++){var o=e[i[n]].length;if(o>s)switch(i[n]){case"textNode":F(e);break;case"cdata":O(e,"oncdata",e.cdata),e.cdata="";break;case"script":O(e,"onscript",e.script),e.script="";break;default:R(e,"Max buffer length exceeded: "+i[n])}a=Math.max(a,o)}var c=t.MAX_BUFFER_LENGTH-a;e.bufferCheckPosition=c+e.position}(this);return this},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){var t;F(t=this),""!==t.cdata&&(O(t,"oncdata",t.cdata),t.cdata=""),""!==t.script&&(O(t,"onscript",t.script),t.script="")}};try{e=require("stream").Stream}catch(t){e=function(){}}var a=t.EVENTS.filter(function(t){return"error"!==t&&"end"!==t});function n(t,i){if(!(this instanceof n))return new n(t,i);e.apply(this),this._parser=new s(t,i),this.writable=!0,this.readable=!0;var r=this;this._parser.onend=function(){r.emit("end")},this._parser.onerror=function(t){r.emit("error",t),r._parser.error=null},this._decoder=null,a.forEach(function(t){Object.defineProperty(r,"on"+t,{get:function(){return r._parser["on"+t]},set:function(e){if(!e)return r.removeAllListeners(t),r._parser["on"+t]=e,e;r.on(t,e)},enumerable:!0,configurable:!1})})}n.prototype=Object.create(e.prototype,{constructor:{value:n}}),n.prototype.write=function(t){if("function"==typeof Buffer&&"function"==typeof Buffer.isBuffer&&Buffer.isBuffer(t)){if(!this._decoder){var e=require("string_decoder").StringDecoder;this._decoder=new e("utf8")}t=this._decoder.write(t)}return this._parser.write(t.toString()),this.emit("data",t),!0},n.prototype.end=function(t){return t&&t.length&&this.write(t),this._parser.end(),!0},n.prototype.on=function(t,i){var s=this;return s._parser["on"+t]||-1===a.indexOf(t)||(s._parser["on"+t]=function(){var e=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);e.splice(0,0,t),s.emit.apply(s,e)}),e.prototype.on.call(s,t,i)};var r="[CDATA[",o="DOCTYPE",c="http://www.w3.org/XML/1998/namespace",u="http://www.w3.org/2000/xmlns/",h={xml:c,xmlns:u},l=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,T=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,E=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,p=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function m(t){return" "===t||"\n"===t||"\r"===t||"\t"===t}function N(t){return'"'===t||"'"===t}function f(t){return">"===t||m(t)}function _(t,e){return t.test(e)}function d(t,e){return!_(t,e)}var g,A,I,D=0;for(var b in t.STATE={BEGIN:D++,BEGIN_WHITESPACE:D++,TEXT:D++,TEXT_ENTITY:D++,OPEN_WAKA:D++,SGML_DECL:D++,SGML_DECL_QUOTED:D++,DOCTYPE:D++,DOCTYPE_QUOTED:D++,DOCTYPE_DTD:D++,DOCTYPE_DTD_QUOTED:D++,COMMENT_STARTING:D++,COMMENT:D++,COMMENT_ENDING:D++,COMMENT_ENDED:D++,CDATA:D++,CDATA_ENDING:D++,CDATA_ENDING_2:D++,PROC_INST:D++,PROC_INST_BODY:D++,PROC_INST_ENDING:D++,OPEN_TAG:D++,OPEN_TAG_SLASH:D++,ATTRIB:D++,ATTRIB_NAME:D++,ATTRIB_NAME_SAW_WHITE:D++,ATTRIB_VALUE:D++,ATTRIB_VALUE_QUOTED:D++,ATTRIB_VALUE_CLOSED:D++,ATTRIB_VALUE_UNQUOTED:D++,ATTRIB_VALUE_ENTITY_Q:D++,ATTRIB_VALUE_ENTITY_U:D++,CLOSE_TAG:D++,CLOSE_TAG_SAW_WHITE:D++,SCRIPT:D++,SCRIPT_ENDING:D++},t.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},t.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(t.ENTITIES).forEach(function(e){var i=t.ENTITIES[e],s="number"==typeof i?String.fromCharCode(i):i;t.ENTITIES[e]=s}),t.STATE)t.STATE[t.STATE[b]]=b;function C(t,e,i){t[e]&&t[e](i)}function O(t,e,i){t.textNode&&F(t),C(t,e,i)}function F(t){t.textNode=S(t.opt,t.textNode),t.textNode&&C(t,"ontext",t.textNode),t.textNode=""}function S(t,e){return t.trim&&(e=e.trim()),t.normalize&&(e=e.replace(/\s+/g," ")),e}function R(t,e){return F(t),t.trackPosition&&(e+="\nLine: "+t.line+"\nColumn: "+t.column+"\nChar: "+t.c),e=new Error(e),t.error=e,C(t,"onerror",e),t}function v(t){return t.sawRoot&&!t.closedRoot&&P(t,"Unclosed root tag"),t.state!==D.BEGIN&&t.state!==D.BEGIN_WHITESPACE&&t.state!==D.TEXT&&R(t,"Unexpected end"),F(t),t.c="",t.closed=!0,C(t,"onend"),s.call(t,t.strict,t.opt),t}function P(t,e){if("object"!=typeof t||!(t instanceof s))throw new Error("bad call to strictFail");t.strict&&R(t,e)}function y(t){t.strict||(t.tagName=t.tagName[t.looseCase]());var e=t.tags[t.tags.length-1]||t,i=t.tag={name:t.tagName,attributes:{}};t.opt.xmlns&&(i.ns=e.ns),t.attribList.length=0,O(t,"onopentagstart",i)}function L(t,e){var i=t.indexOf(":")<0?["",t]:t.split(":"),s=i[0],a=i[1];return e&&"xmlns"===t&&(s="xmlns",a=""),{prefix:s,local:a}}function B(t){if(t.strict||(t.attribName=t.attribName[t.looseCase]()),-1!==t.attribList.indexOf(t.attribName)||t.tag.attributes.hasOwnProperty(t.attribName))t.attribName=t.attribValue="";else{if(t.opt.xmlns){var e=L(t.attribName,!0),i=e.prefix,s=e.local;if("xmlns"===i)if("xml"===s&&t.attribValue!==c)P(t,"xml: prefix must be bound to "+c+"\nActual: "+t.attribValue);else if("xmlns"===s&&t.attribValue!==u)P(t,"xmlns: prefix must be bound to "+u+"\nActual: "+t.attribValue);else{var a=t.tag,n=t.tags[t.tags.length-1]||t;a.ns===n.ns&&(a.ns=Object.create(n.ns)),a.ns[s]=t.attribValue}t.attribList.push([t.attribName,t.attribValue])}else t.tag.attributes[t.attribName]=t.attribValue,O(t,"onattribute",{name:t.attribName,value:t.attribValue});t.attribName=t.attribValue=""}}function U(t,e){if(t.opt.xmlns){var i=t.tag,s=L(t.tagName);i.prefix=s.prefix,i.local=s.local,i.uri=i.ns[s.prefix]||"",i.prefix&&!i.uri&&(P(t,"Unbound namespace prefix: "+JSON.stringify(t.tagName)),i.uri=s.prefix);var a=t.tags[t.tags.length-1]||t;i.ns&&a.ns!==i.ns&&Object.keys(i.ns).forEach(function(e){O(t,"onopennamespace",{prefix:e,uri:i.ns[e]})});for(var n=0,r=t.attribList.length;n<r;n++){var o=t.attribList[n],c=o[0],u=o[1],h=L(c,!0),l=h.prefix,T=h.local,E=""===l?"":i.ns[l]||"",p={name:c,value:u,prefix:l,local:T,uri:E};l&&"xmlns"!==l&&!E&&(P(t,"Unbound namespace prefix: "+JSON.stringify(l)),p.uri=l),t.tag.attributes[c]=p,O(t,"onattribute",p)}t.attribList.length=0}t.tag.isSelfClosing=!!e,t.sawRoot=!0,t.tags.push(t.tag),O(t,"onopentag",t.tag),e||(t.noscript||"script"!==t.tagName.toLowerCase()?t.state=D.TEXT:t.state=D.SCRIPT,t.tag=null,t.tagName=""),t.attribName=t.attribValue="",t.attribList.length=0}function x(t){if(!t.tagName)return P(t,"Weird empty close tag."),t.textNode+="</>",void(t.state=D.TEXT);if(t.script){if("script"!==t.tagName)return t.script+="</"+t.tagName+">",t.tagName="",void(t.state=D.SCRIPT);O(t,"onscript",t.script),t.script=""}var e=t.tags.length,i=t.tagName;t.strict||(i=i[t.looseCase]());for(var s=i;e--;){if(t.tags[e].name===s)break;P(t,"Unexpected close tag")}if(e<0)return P(t,"Unmatched closing tag: "+t.tagName),t.textNode+="</"+t.tagName+">",void(t.state=D.TEXT);t.tagName=i;for(var a=t.tags.length;a-- >e;){var n=t.tag=t.tags.pop();t.tagName=t.tag.name,O(t,"onclosetag",t.tagName);var r={};for(var o in n.ns)r[o]=n.ns[o];var c=t.tags[t.tags.length-1]||t;t.opt.xmlns&&n.ns!==c.ns&&Object.keys(n.ns).forEach(function(e){var i=n.ns[e];O(t,"onclosenamespace",{prefix:e,uri:i})})}0===e&&(t.closedRoot=!0),t.tagName=t.attribValue=t.attribName="",t.attribList.length=0,t.state=D.TEXT}function w(t){var e,i=t.entity,s=i.toLowerCase(),a="";return t.ENTITIES[i]?t.ENTITIES[i]:t.ENTITIES[s]?t.ENTITIES[s]:("#"===(i=s).charAt(0)&&("x"===i.charAt(1)?(i=i.slice(2),a=(e=parseInt(i,16)).toString(16)):(i=i.slice(1),a=(e=parseInt(i,10)).toString(10))),i=i.replace(/^0+/,""),isNaN(e)||a.toLowerCase()!==i?(P(t,"Invalid character entity"),"&"+t.entity+";"):String.fromCodePoint(e))}function G(t,e){"<"===e?(t.state=D.OPEN_WAKA,t.startTagPosition=t.position):m(e)||(P(t,"Non-whitespace before first tag."),t.textNode=e,t.state=D.TEXT)}function M(t,e){var i="";return e<t.length&&(i=t.charAt(e)),i}D=t.STATE,String.fromCodePoint||(g=String.fromCharCode,A=Math.floor,I=function(){var t,e,i=[],s=-1,a=arguments.length;if(!a)return"";for(var n="";++s<a;){var r=Number(arguments[s]);if(!isFinite(r)||r<0||r>1114111||A(r)!==r)throw RangeError("Invalid code point: "+r);r<=65535?i.push(r):(t=55296+((r-=65536)>>10),e=r%1024+56320,i.push(t,e)),(s+1===a||i.length>16384)&&(n+=g.apply(null,i),i.length=0)}return n},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:I,configurable:!0,writable:!0}):String.fromCodePoint=I)}("undefined"==typeof exports?this.sax={}:exports);
}).call(this)}).call(this,require("buffer").Buffer)
},{"buffer":31,"stream":41,"string_decoder":56}],41:[function(require,module,exports){
module.exports=Stream;var EE=require("events").EventEmitter,inherits=require("inherits");function Stream(){EE.call(this)}inherits(Stream,EE),Stream.Readable=require("readable-stream/lib/_stream_readable.js"),Stream.Writable=require("readable-stream/lib/_stream_writable.js"),Stream.Duplex=require("readable-stream/lib/_stream_duplex.js"),Stream.Transform=require("readable-stream/lib/_stream_transform.js"),Stream.PassThrough=require("readable-stream/lib/_stream_passthrough.js"),Stream.finished=require("readable-stream/lib/internal/streams/end-of-stream.js"),Stream.pipeline=require("readable-stream/lib/internal/streams/pipeline.js"),Stream.Stream=Stream,Stream.prototype.pipe=function(e,r){var t=this;function a(r){e.writable&&!1===e.write(r)&&t.pause&&t.pause()}function i(){t.readable&&t.resume&&t.resume()}t.on("data",a),e.on("drain",i),e._isStdio||r&&!1===r.end||(t.on("end",s),t.on("close",o));var n=!1;function s(){n||(n=!0,e.end())}function o(){n||(n=!0,"function"==typeof e.destroy&&e.destroy())}function m(e){if(l(),0===EE.listenerCount(this,"error"))throw e}function l(){t.removeListener("data",a),e.removeListener("drain",i),t.removeListener("end",s),t.removeListener("close",o),t.removeListener("error",m),e.removeListener("error",m),t.removeListener("end",l),t.removeListener("close",l),e.removeListener("close",l)}return t.on("error",m),e.on("error",m),t.on("end",l),t.on("close",l),e.on("close",l),e.emit("pipe",t),e};
},{"events":32,"inherits":34,"readable-stream/lib/_stream_duplex.js":43,"readable-stream/lib/_stream_passthrough.js":44,"readable-stream/lib/_stream_readable.js":45,"readable-stream/lib/_stream_transform.js":46,"readable-stream/lib/_stream_writable.js":47,"readable-stream/lib/internal/streams/end-of-stream.js":51,"readable-stream/lib/internal/streams/pipeline.js":53}],42:[function(require,module,exports){
"use strict";function _inheritsLoose(e,r){e.prototype=Object.create(r.prototype),e.prototype.constructor=e,e.__proto__=r}var codes={};function createErrorType(e,r,t){t||(t=Error);var n=function(e){function t(t,n,o){return e.call(this,function(e,t,n){return"string"==typeof r?r:r(e,t,n)}(t,n,o))||this}return _inheritsLoose(t,e),t}(t);n.prototype.name=t.name,n.prototype.code=e,codes[e]=n}function oneOf(e,r){if(Array.isArray(e)){var t=e.length;return e=e.map(function(e){return String(e)}),t>2?"one of ".concat(r," ").concat(e.slice(0,t-1).join(", "),", or ")+e[t-1]:2===t?"one of ".concat(r," ").concat(e[0]," or ").concat(e[1]):"of ".concat(r," ").concat(e[0])}return"of ".concat(r," ").concat(String(e))}function startsWith(e,r,t){return e.substr(!t||t<0?0:+t,r.length)===r}function endsWith(e,r,t){return(void 0===t||t>e.length)&&(t=e.length),e.substring(t-r.length,t)===r}function includes(e,r,t){return"number"!=typeof t&&(t=0),!(t+r.length>e.length)&&-1!==e.indexOf(r,t)}createErrorType("ERR_INVALID_OPT_VALUE",function(e,r){return'The value "'+r+'" is invalid for option "'+e+'"'},TypeError),createErrorType("ERR_INVALID_ARG_TYPE",function(e,r,t){var n,o;if("string"==typeof r&&startsWith(r,"not ")?(n="must not be",r=r.replace(/^not /,"")):n="must be",endsWith(e," argument"))o="The ".concat(e," ").concat(n," ").concat(oneOf(r,"type"));else{var c=includes(e,".")?"property":"argument";o='The "'.concat(e,'" ').concat(c," ").concat(n," ").concat(oneOf(r,"type"))}return o+=". Received type ".concat(typeof t)},TypeError),createErrorType("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),createErrorType("ERR_METHOD_NOT_IMPLEMENTED",function(e){return"The "+e+" method is not implemented"}),createErrorType("ERR_STREAM_PREMATURE_CLOSE","Premature close"),createErrorType("ERR_STREAM_DESTROYED",function(e){return"Cannot call "+e+" after a stream was destroyed"}),createErrorType("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),createErrorType("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),createErrorType("ERR_STREAM_WRITE_AFTER_END","write after end"),createErrorType("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),createErrorType("ERR_UNKNOWN_ENCODING",function(e){return"Unknown encoding: "+e},TypeError),createErrorType("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),module.exports.codes=codes;
},{}],43:[function(require,module,exports){
(function (process){(function (){
"use strict";var objectKeys=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};module.exports=Duplex;var Readable=require("./_stream_readable"),Writable=require("./_stream_writable");require("inherits")(Duplex,Readable);for(var keys=objectKeys(Writable.prototype),v=0;v<keys.length;v++){var method=keys[v];Duplex.prototype[method]||(Duplex.prototype[method]=Writable.prototype[method])}function Duplex(e){if(!(this instanceof Duplex))return new Duplex(e);Readable.call(this,e),Writable.call(this,e),this.allowHalfOpen=!0,e&&(!1===e.readable&&(this.readable=!1),!1===e.writable&&(this.writable=!1),!1===e.allowHalfOpen&&(this.allowHalfOpen=!1,this.once("end",onend)))}function onend(){this._writableState.ended||process.nextTick(onEndNT,this)}function onEndNT(e){e.end()}Object.defineProperty(Duplex.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(Duplex.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(Duplex.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(Duplex.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(e){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}});
}).call(this)}).call(this,require('_process'))
},{"./_stream_readable":45,"./_stream_writable":47,"_process":38,"inherits":34}],44:[function(require,module,exports){
"use strict";module.exports=PassThrough;var Transform=require("./_stream_transform");function PassThrough(r){if(!(this instanceof PassThrough))return new PassThrough(r);Transform.call(this,r)}require("inherits")(PassThrough,Transform),PassThrough.prototype._transform=function(r,s,o){o(null,r)};
},{"./_stream_transform":46,"inherits":34}],45:[function(require,module,exports){
(function (process,global){(function (){
"use strict";var Duplex;module.exports=Readable,Readable.ReadableState=ReadableState;var EE=require("events").EventEmitter,EElistenerCount=function(e,t){return e.listeners(t).length},Stream=require("./internal/streams/stream"),Buffer=require("buffer").Buffer,OurUint8Array=global.Uint8Array||function(){};function _uint8ArrayToBuffer(e){return Buffer.from(e)}function _isUint8Array(e){return Buffer.isBuffer(e)||e instanceof OurUint8Array}var debug,debugUtil=require("util");debug=debugUtil&&debugUtil.debuglog?debugUtil.debuglog("stream"):function(){};var StringDecoder,createReadableStreamAsyncIterator,from,BufferList=require("./internal/streams/buffer_list"),destroyImpl=require("./internal/streams/destroy"),_require=require("./internal/streams/state"),getHighWaterMark=_require.getHighWaterMark,_require$codes=require("../errors").codes,ERR_INVALID_ARG_TYPE=_require$codes.ERR_INVALID_ARG_TYPE,ERR_STREAM_PUSH_AFTER_EOF=_require$codes.ERR_STREAM_PUSH_AFTER_EOF,ERR_METHOD_NOT_IMPLEMENTED=_require$codes.ERR_METHOD_NOT_IMPLEMENTED,ERR_STREAM_UNSHIFT_AFTER_END_EVENT=_require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;require("inherits")(Readable,Stream);var errorOrDestroy=destroyImpl.errorOrDestroy,kProxyEvents=["error","close","destroy","pause","resume"];function prependListener(e,t,r){if("function"==typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}function ReadableState(e,t,r){Duplex=Duplex||require("./_stream_duplex"),e=e||{},"boolean"!=typeof r&&(r=t instanceof Duplex),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=getHighWaterMark(this,e,"readableHighWaterMark",r),this.buffer=new BufferList,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(StringDecoder||(StringDecoder=require("string_decoder/").StringDecoder),this.decoder=new StringDecoder(e.encoding),this.encoding=e.encoding)}function Readable(e){if(Duplex=Duplex||require("./_stream_duplex"),!(this instanceof Readable))return new Readable(e);var t=this instanceof Duplex;this._readableState=new ReadableState(e,this,t),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),Stream.call(this)}function readableAddChunk(e,t,r,a,n){debug("readableAddChunk",t);var i,d=e._readableState;if(null===t)d.reading=!1,onEofChunk(e,d);else if(n||(i=chunkInvalid(d,t)),i)errorOrDestroy(e,i);else if(d.objectMode||t&&t.length>0)if("string"==typeof t||d.objectMode||Object.getPrototypeOf(t)===Buffer.prototype||(t=_uint8ArrayToBuffer(t)),a)d.endEmitted?errorOrDestroy(e,new ERR_STREAM_UNSHIFT_AFTER_END_EVENT):addChunk(e,d,t,!0);else if(d.ended)errorOrDestroy(e,new ERR_STREAM_PUSH_AFTER_EOF);else{if(d.destroyed)return!1;d.reading=!1,d.decoder&&!r?(t=d.decoder.write(t),d.objectMode||0!==t.length?addChunk(e,d,t,!1):maybeReadMore(e,d)):addChunk(e,d,t,!1)}else a||(d.reading=!1,maybeReadMore(e,d));return!d.ended&&(d.length<d.highWaterMark||0===d.length)}function addChunk(e,t,r,a){t.flowing&&0===t.length&&!t.sync?(t.awaitDrain=0,e.emit("data",r)):(t.length+=t.objectMode?1:r.length,a?t.buffer.unshift(r):t.buffer.push(r),t.needReadable&&emitReadable(e)),maybeReadMore(e,t)}function chunkInvalid(e,t){var r;return _isUint8Array(t)||"string"==typeof t||void 0===t||e.objectMode||(r=new ERR_INVALID_ARG_TYPE("chunk",["string","Buffer","Uint8Array"],t)),r}Object.defineProperty(Readable.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),Readable.prototype.destroy=destroyImpl.destroy,Readable.prototype._undestroy=destroyImpl.undestroy,Readable.prototype._destroy=function(e,t){t(e)},Readable.prototype.push=function(e,t){var r,a=this._readableState;return a.objectMode?r=!0:"string"==typeof e&&((t=t||a.defaultEncoding)!==a.encoding&&(e=Buffer.from(e,t),t=""),r=!0),readableAddChunk(this,e,t,!1,r)},Readable.prototype.unshift=function(e){return readableAddChunk(this,e,null,!0,!1)},Readable.prototype.isPaused=function(){return!1===this._readableState.flowing},Readable.prototype.setEncoding=function(e){StringDecoder||(StringDecoder=require("string_decoder/").StringDecoder);var t=new StringDecoder(e);this._readableState.decoder=t,this._readableState.encoding=this._readableState.decoder.encoding;for(var r=this._readableState.buffer.head,a="";null!==r;)a+=t.write(r.data),r=r.next;return this._readableState.buffer.clear(),""!==a&&this._readableState.buffer.push(a),this._readableState.length=a.length,this};var MAX_HWM=1073741824;function computeNewHighWaterMark(e){return e>=MAX_HWM?e=MAX_HWM:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function howMuchToRead(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!=e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=computeNewHighWaterMark(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function onEofChunk(e,t){if(debug("onEofChunk"),!t.ended){if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,t.sync?emitReadable(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,emitReadable_(e)))}}function emitReadable(e){var t=e._readableState;debug("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(debug("emitReadable",t.flowing),t.emittedReadable=!0,process.nextTick(emitReadable_,e))}function emitReadable_(e){var t=e._readableState;debug("emitReadable_",t.destroyed,t.length,t.ended),t.destroyed||!t.length&&!t.ended||(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,flow(e)}function maybeReadMore(e,t){t.readingMore||(t.readingMore=!0,process.nextTick(maybeReadMore_,e,t))}function maybeReadMore_(e,t){for(;!t.reading&&!t.ended&&(t.length<t.highWaterMark||t.flowing&&0===t.length);){var r=t.length;if(debug("maybeReadMore read 0"),e.read(0),r===t.length)break}t.readingMore=!1}function pipeOnDrain(e){return function(){var t=e._readableState;debug("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&EElistenerCount(e,"data")&&(t.flowing=!0,flow(e))}}function updateReadableListening(e){var t=e._readableState;t.readableListening=e.listenerCount("readable")>0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function nReadingNextTick(e){debug("readable nexttick read 0"),e.read(0)}function resume(e,t){t.resumeScheduled||(t.resumeScheduled=!0,process.nextTick(resume_,e,t))}function resume_(e,t){debug("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),flow(e),t.flowing&&!t.reading&&e.read(0)}function flow(e){var t=e._readableState;for(debug("flow",t.flowing);t.flowing&&null!==e.read(););}function fromList(e,t){return 0===t.length?null:(t.objectMode?r=t.buffer.shift():!e||e>=t.length?(r=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r);var r}function endReadable(e){var t=e._readableState;debug("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,process.nextTick(endReadableNT,t,e))}function endReadableNT(e,t){if(debug("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&0===e.length&&(e.endEmitted=!0,t.readable=!1,t.emit("end"),e.autoDestroy)){var r=t._writableState;(!r||r.autoDestroy&&r.finished)&&t.destroy()}}function indexOf(e,t){for(var r=0,a=e.length;r<a;r++)if(e[r]===t)return r;return-1}Readable.prototype.read=function(e){debug("read",e),e=parseInt(e,10);var t=this._readableState,r=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&((0!==t.highWaterMark?t.length>=t.highWaterMark:t.length>0)||t.ended))return debug("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?endReadable(this):emitReadable(this),null;if(0===(e=howMuchToRead(e,t))&&t.ended)return 0===t.length&&endReadable(this),null;var a,n=t.needReadable;return debug("need readable",n),(0===t.length||t.length-e<t.highWaterMark)&&debug("length less than watermark",n=!0),t.ended||t.reading?debug("reading or ended",n=!1):n&&(debug("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=howMuchToRead(r,t))),null===(a=e>0?fromList(e,t):null)?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&endReadable(this)),null!==a&&this.emit("data",a),a},Readable.prototype._read=function(e){errorOrDestroy(this,new ERR_METHOD_NOT_IMPLEMENTED("_read()"))},Readable.prototype.pipe=function(e,t){var r=this,a=this._readableState;switch(a.pipesCount){case 0:a.pipes=e;break;case 1:a.pipes=[a.pipes,e];break;default:a.pipes.push(e)}a.pipesCount+=1,debug("pipe count=%d opts=%j",a.pipesCount,t);var n=(!t||!1!==t.end)&&e!==process.stdout&&e!==process.stderr?d:f;function i(t,n){debug("onunpipe"),t===r&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,debug("cleanup"),e.removeListener("close",b),e.removeListener("finish",p),e.removeListener("drain",o),e.removeListener("error",u),e.removeListener("unpipe",i),r.removeListener("end",d),r.removeListener("end",f),r.removeListener("data",l),s=!0,!a.awaitDrain||e._writableState&&!e._writableState.needDrain||o())}function d(){debug("onend"),e.end()}a.endEmitted?process.nextTick(n):r.once("end",n),e.on("unpipe",i);var o=pipeOnDrain(r);e.on("drain",o);var s=!1;function l(t){debug("ondata");var n=e.write(t);debug("dest.write",n),!1===n&&((1===a.pipesCount&&a.pipes===e||a.pipesCount>1&&-1!==indexOf(a.pipes,e))&&!s&&(debug("false write response, pause",a.awaitDrain),a.awaitDrain++),r.pause())}function u(t){debug("onerror",t),f(),e.removeListener("error",u),0===EElistenerCount(e,"error")&&errorOrDestroy(e,t)}function b(){e.removeListener("finish",p),f()}function p(){debug("onfinish"),e.removeListener("close",b),f()}function f(){debug("unpipe"),r.unpipe(e)}return r.on("data",l),prependListener(e,"error",u),e.once("close",b),e.once("finish",p),e.emit("pipe",r),a.flowing||(debug("pipe resume"),r.resume()),e},Readable.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,r),this);if(!e){var a=t.pipes,n=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var i=0;i<n;i++)a[i].emit("unpipe",this,{hasUnpiped:!1});return this}var d=indexOf(t.pipes,e);return-1===d?this:(t.pipes.splice(d,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this,r),this)},Readable.prototype.on=function(e,t){var r=Stream.prototype.on.call(this,e,t),a=this._readableState;return"data"===e?(a.readableListening=this.listenerCount("readable")>0,!1!==a.flowing&&this.resume()):"readable"===e&&(a.endEmitted||a.readableListening||(a.readableListening=a.needReadable=!0,a.flowing=!1,a.emittedReadable=!1,debug("on readable",a.length,a.reading),a.length?emitReadable(this):a.reading||process.nextTick(nReadingNextTick,this))),r},Readable.prototype.addListener=Readable.prototype.on,Readable.prototype.removeListener=function(e,t){var r=Stream.prototype.removeListener.call(this,e,t);return"readable"===e&&process.nextTick(updateReadableListening,this),r},Readable.prototype.removeAllListeners=function(e){var t=Stream.prototype.removeAllListeners.apply(this,arguments);return"readable"!==e&&void 0!==e||process.nextTick(updateReadableListening,this),t},Readable.prototype.resume=function(){var e=this._readableState;return e.flowing||(debug("resume"),e.flowing=!e.readableListening,resume(this,e)),e.paused=!1,this},Readable.prototype.pause=function(){return debug("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(debug("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},Readable.prototype.wrap=function(e){var t=this,r=this._readableState,a=!1;for(var n in e.on("end",function(){if(debug("wrapped end"),r.decoder&&!r.ended){var e=r.decoder.end();e&&e.length&&t.push(e)}t.push(null)}),e.on("data",function(n){(debug("wrapped data"),r.decoder&&(n=r.decoder.write(n)),r.objectMode&&null==n)||(r.objectMode||n&&n.length)&&(t.push(n)||(a=!0,e.pause()))}),e)void 0===this[n]&&"function"==typeof e[n]&&(this[n]=function(t){return function(){return e[t].apply(e,arguments)}}(n));for(var i=0;i<kProxyEvents.length;i++)e.on(kProxyEvents[i],this.emit.bind(this,kProxyEvents[i]));return this._read=function(t){debug("wrapped _read",t),a&&(a=!1,e.resume())},this},"function"==typeof Symbol&&(Readable.prototype[Symbol.asyncIterator]=function(){return void 0===createReadableStreamAsyncIterator&&(createReadableStreamAsyncIterator=require("./internal/streams/async_iterator")),createReadableStreamAsyncIterator(this)}),Object.defineProperty(Readable.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(Readable.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(Readable.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(e){this._readableState&&(this._readableState.flowing=e)}}),Readable._fromList=fromList,Object.defineProperty(Readable.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}}),"function"==typeof Symbol&&(Readable.from=function(e,t){return void 0===from&&(from=require("./internal/streams/from")),from(Readable,e,t)});
}).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
},{"../errors":42,"./_stream_duplex":43,"./internal/streams/async_iterator":48,"./internal/streams/buffer_list":49,"./internal/streams/destroy":50,"./internal/streams/from":52,"./internal/streams/state":54,"./internal/streams/stream":55,"_process":38,"buffer":31,"events":32,"inherits":34,"string_decoder/":56,"util":30}],46:[function(require,module,exports){
"use strict";module.exports=Transform;var _require$codes=require("../errors").codes,ERR_METHOD_NOT_IMPLEMENTED=_require$codes.ERR_METHOD_NOT_IMPLEMENTED,ERR_MULTIPLE_CALLBACK=_require$codes.ERR_MULTIPLE_CALLBACK,ERR_TRANSFORM_ALREADY_TRANSFORMING=_require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,ERR_TRANSFORM_WITH_LENGTH_0=_require$codes.ERR_TRANSFORM_WITH_LENGTH_0,Duplex=require("./_stream_duplex");function afterTransform(r,e){var t=this._transformState;t.transforming=!1;var n=t.writecb;if(null===n)return this.emit("error",new ERR_MULTIPLE_CALLBACK);t.writechunk=null,t.writecb=null,null!=e&&this.push(e),n(r);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function Transform(r){if(!(this instanceof Transform))return new Transform(r);Duplex.call(this,r),this._transformState={afterTransform:afterTransform.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,r&&("function"==typeof r.transform&&(this._transform=r.transform),"function"==typeof r.flush&&(this._flush=r.flush)),this.on("prefinish",prefinish)}function prefinish(){var r=this;"function"!=typeof this._flush||this._readableState.destroyed?done(this,null,null):this._flush(function(e,t){done(r,e,t)})}function done(r,e,t){if(e)return r.emit("error",e);if(null!=t&&r.push(t),r._writableState.length)throw new ERR_TRANSFORM_WITH_LENGTH_0;if(r._transformState.transforming)throw new ERR_TRANSFORM_ALREADY_TRANSFORMING;return r.push(null)}require("inherits")(Transform,Duplex),Transform.prototype.push=function(r,e){return this._transformState.needTransform=!1,Duplex.prototype.push.call(this,r,e)},Transform.prototype._transform=function(r,e,t){t(new ERR_METHOD_NOT_IMPLEMENTED("_transform()"))},Transform.prototype._write=function(r,e,t){var n=this._transformState;if(n.writecb=t,n.writechunk=r,n.writeencoding=e,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},Transform.prototype._read=function(r){var e=this._transformState;null===e.writechunk||e.transforming?e.needTransform=!0:(e.transforming=!0,this._transform(e.writechunk,e.writeencoding,e.afterTransform))},Transform.prototype._destroy=function(r,e){Duplex.prototype._destroy.call(this,r,function(r){e(r)})};
},{"../errors":42,"./_stream_duplex":43,"inherits":34}],47:[function(require,module,exports){
(function (process,global){(function (){
"use strict";function WriteReq(e,t,r){this.chunk=e,this.encoding=t,this.callback=r,this.next=null}function CorkedRequest(e){var t=this;this.next=null,this.entry=null,this.finish=function(){onCorkedFinish(t,e)}}var Duplex;module.exports=Writable,Writable.WritableState=WritableState;var internalUtil={deprecate:require("util-deprecate")},Stream=require("./internal/streams/stream"),Buffer=require("buffer").Buffer,OurUint8Array=global.Uint8Array||function(){};function _uint8ArrayToBuffer(e){return Buffer.from(e)}function _isUint8Array(e){return Buffer.isBuffer(e)||e instanceof OurUint8Array}var realHasInstance,destroyImpl=require("./internal/streams/destroy"),_require=require("./internal/streams/state"),getHighWaterMark=_require.getHighWaterMark,_require$codes=require("../errors").codes,ERR_INVALID_ARG_TYPE=_require$codes.ERR_INVALID_ARG_TYPE,ERR_METHOD_NOT_IMPLEMENTED=_require$codes.ERR_METHOD_NOT_IMPLEMENTED,ERR_MULTIPLE_CALLBACK=_require$codes.ERR_MULTIPLE_CALLBACK,ERR_STREAM_CANNOT_PIPE=_require$codes.ERR_STREAM_CANNOT_PIPE,ERR_STREAM_DESTROYED=_require$codes.ERR_STREAM_DESTROYED,ERR_STREAM_NULL_VALUES=_require$codes.ERR_STREAM_NULL_VALUES,ERR_STREAM_WRITE_AFTER_END=_require$codes.ERR_STREAM_WRITE_AFTER_END,ERR_UNKNOWN_ENCODING=_require$codes.ERR_UNKNOWN_ENCODING,errorOrDestroy=destroyImpl.errorOrDestroy;function nop(){}function WritableState(e,t,r){Duplex=Duplex||require("./_stream_duplex"),e=e||{},"boolean"!=typeof r&&(r=t instanceof Duplex),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=getHighWaterMark(this,e,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var i=!1===e.decodeStrings;this.decodeStrings=!i,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){onwrite(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new CorkedRequest(this)}function Writable(e){var t=this instanceof(Duplex=Duplex||require("./_stream_duplex"));if(!t&&!realHasInstance.call(Writable,this))return new Writable(e);this._writableState=new WritableState(e,this,t),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),Stream.call(this)}function writeAfterEnd(e,t){var r=new ERR_STREAM_WRITE_AFTER_END;errorOrDestroy(e,r),process.nextTick(t,r)}function validChunk(e,t,r,i){var n;return null===r?n=new ERR_STREAM_NULL_VALUES:"string"==typeof r||t.objectMode||(n=new ERR_INVALID_ARG_TYPE("chunk",["string","Buffer"],r)),!n||(errorOrDestroy(e,n),process.nextTick(i,n),!1)}function decodeChunk(e,t,r){return e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=Buffer.from(t,r)),t}function writeOrBuffer(e,t,r,i,n,o){if(!r){var s=decodeChunk(t,i,n);i!==s&&(r=!0,n="buffer",i=s)}var a=t.objectMode?1:i.length;t.length+=a;var u=t.length<t.highWaterMark;if(u||(t.needDrain=!0),t.writing||t.corked){var f=t.lastBufferedRequest;t.lastBufferedRequest={chunk:i,encoding:n,isBuf:r,callback:o,next:null},f?f.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else doWrite(e,t,!1,a,i,n,o);return u}function doWrite(e,t,r,i,n,o,s){t.writelen=i,t.writecb=s,t.writing=!0,t.sync=!0,t.destroyed?t.onwrite(new ERR_STREAM_DESTROYED("write")):r?e._writev(n,t.onwrite):e._write(n,o,t.onwrite),t.sync=!1}function onwriteError(e,t,r,i,n){--t.pendingcb,r?(process.nextTick(n,i),process.nextTick(finishMaybe,e,t),e._writableState.errorEmitted=!0,errorOrDestroy(e,i)):(n(i),e._writableState.errorEmitted=!0,errorOrDestroy(e,i),finishMaybe(e,t))}function onwriteStateUpdate(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}function onwrite(e,t){var r=e._writableState,i=r.sync,n=r.writecb;if("function"!=typeof n)throw new ERR_MULTIPLE_CALLBACK;if(onwriteStateUpdate(r),t)onwriteError(e,r,i,t,n);else{var o=needFinish(r)||e.destroyed;o||r.corked||r.bufferProcessing||!r.bufferedRequest||clearBuffer(e,r),i?process.nextTick(afterWrite,e,r,o,n):afterWrite(e,r,o,n)}}function afterWrite(e,t,r,i){r||onwriteDrain(e,t),t.pendingcb--,i(),finishMaybe(e,t)}function onwriteDrain(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}function clearBuffer(e,t){t.bufferProcessing=!0;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var i=t.bufferedRequestCount,n=new Array(i),o=t.corkedRequestsFree;o.entry=r;for(var s=0,a=!0;r;)n[s]=r,r.isBuf||(a=!1),r=r.next,s+=1;n.allBuffers=a,doWrite(e,t,!0,t.length,n,"",o.finish),t.pendingcb++,t.lastBufferedRequest=null,o.next?(t.corkedRequestsFree=o.next,o.next=null):t.corkedRequestsFree=new CorkedRequest(t),t.bufferedRequestCount=0}else{for(;r;){var u=r.chunk,f=r.encoding,l=r.callback;if(doWrite(e,t,!1,t.objectMode?1:u.length,u,f,l),r=r.next,t.bufferedRequestCount--,t.writing)break}null===r&&(t.lastBufferedRequest=null)}t.bufferedRequest=r,t.bufferProcessing=!1}function needFinish(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function callFinal(e,t){e._final(function(r){t.pendingcb--,r&&errorOrDestroy(e,r),t.prefinished=!0,e.emit("prefinish"),finishMaybe(e,t)})}function prefinish(e,t){t.prefinished||t.finalCalled||("function"!=typeof e._final||t.destroyed?(t.prefinished=!0,e.emit("prefinish")):(t.pendingcb++,t.finalCalled=!0,process.nextTick(callFinal,e,t)))}function finishMaybe(e,t){var r=needFinish(t);if(r&&(prefinish(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"),t.autoDestroy))){var i=e._readableState;(!i||i.autoDestroy&&i.endEmitted)&&e.destroy()}return r}function endWritable(e,t,r){t.ending=!0,finishMaybe(e,t),r&&(t.finished?process.nextTick(r):e.once("finish",r)),t.ended=!0,e.writable=!1}function onCorkedFinish(e,t,r){var i=e.entry;for(e.entry=null;i;){var n=i.callback;t.pendingcb--,n(r),i=i.next}t.corkedRequestsFree.next=e}require("inherits")(Writable,Stream),WritableState.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(WritableState.prototype,"buffer",{get:internalUtil.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(realHasInstance=Function.prototype[Symbol.hasInstance],Object.defineProperty(Writable,Symbol.hasInstance,{value:function(e){return!!realHasInstance.call(this,e)||this===Writable&&(e&&e._writableState instanceof WritableState)}})):realHasInstance=function(e){return e instanceof this},Writable.prototype.pipe=function(){errorOrDestroy(this,new ERR_STREAM_CANNOT_PIPE)},Writable.prototype.write=function(e,t,r){var i=this._writableState,n=!1,o=!i.objectMode&&_isUint8Array(e);return o&&!Buffer.isBuffer(e)&&(e=_uint8ArrayToBuffer(e)),"function"==typeof t&&(r=t,t=null),o?t="buffer":t||(t=i.defaultEncoding),"function"!=typeof r&&(r=nop),i.ending?writeAfterEnd(this,r):(o||validChunk(this,i,e,r))&&(i.pendingcb++,n=writeOrBuffer(this,i,o,e,t,r)),n},Writable.prototype.cork=function(){this._writableState.corked++},Writable.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.bufferProcessing||!e.bufferedRequest||clearBuffer(this,e))},Writable.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new ERR_UNKNOWN_ENCODING(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(Writable.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(Writable.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Writable.prototype._write=function(e,t,r){r(new ERR_METHOD_NOT_IMPLEMENTED("_write()"))},Writable.prototype._writev=null,Writable.prototype.end=function(e,t,r){var i=this._writableState;return"function"==typeof e?(r=e,e=null,t=null):"function"==typeof t&&(r=t,t=null),null!=e&&this.write(e,t),i.corked&&(i.corked=1,this.uncork()),i.ending||endWritable(this,i,r),this},Object.defineProperty(Writable.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(Writable.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),Writable.prototype.destroy=destroyImpl.destroy,Writable.prototype._undestroy=destroyImpl.undestroy,Writable.prototype._destroy=function(e,t){t(e)};
}).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
},{"../errors":42,"./_stream_duplex":43,"./internal/streams/destroy":50,"./internal/streams/state":54,"./internal/streams/stream":55,"_process":38,"buffer":31,"inherits":34,"util-deprecate":58}],48:[function(require,module,exports){
(function (process){(function (){
"use strict";var _Object$setPrototypeO;function _defineProperty(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var finished=require("./end-of-stream"),kLastResolve=Symbol("lastResolve"),kLastReject=Symbol("lastReject"),kError=Symbol("error"),kEnded=Symbol("ended"),kLastPromise=Symbol("lastPromise"),kHandlePromise=Symbol("handlePromise"),kStream=Symbol("stream");function createIterResult(e,t){return{value:e,done:t}}function readAndResolve(e){var t=e[kLastResolve];if(null!==t){var r=e[kStream].read();null!==r&&(e[kLastPromise]=null,e[kLastResolve]=null,e[kLastReject]=null,t(createIterResult(r,!1)))}}function onReadable(e){process.nextTick(readAndResolve,e)}function wrapForNext(e,t){return function(r,o){e.then(function(){t[kEnded]?r(createIterResult(void 0,!0)):t[kHandlePromise](r,o)},o)}}var AsyncIteratorPrototype=Object.getPrototypeOf(function(){}),ReadableStreamAsyncIteratorPrototype=Object.setPrototypeOf((_defineProperty(_Object$setPrototypeO={get stream(){return this[kStream]},next:function(){var e=this,t=this[kError];if(null!==t)return Promise.reject(t);if(this[kEnded])return Promise.resolve(createIterResult(void 0,!0));if(this[kStream].destroyed)return new Promise(function(t,r){process.nextTick(function(){e[kError]?r(e[kError]):t(createIterResult(void 0,!0))})});var r,o=this[kLastPromise];if(o)r=new Promise(wrapForNext(o,this));else{var n=this[kStream].read();if(null!==n)return Promise.resolve(createIterResult(n,!1));r=new Promise(this[kHandlePromise])}return this[kLastPromise]=r,r}},Symbol.asyncIterator,function(){return this}),_defineProperty(_Object$setPrototypeO,"return",function(){var e=this;return new Promise(function(t,r){e[kStream].destroy(null,function(e){e?r(e):t(createIterResult(void 0,!0))})})}),_Object$setPrototypeO),AsyncIteratorPrototype),createReadableStreamAsyncIterator=function(e){var t,r=Object.create(ReadableStreamAsyncIteratorPrototype,(_defineProperty(t={},kStream,{value:e,writable:!0}),_defineProperty(t,kLastResolve,{value:null,writable:!0}),_defineProperty(t,kLastReject,{value:null,writable:!0}),_defineProperty(t,kError,{value:null,writable:!0}),_defineProperty(t,kEnded,{value:e._readableState.endEmitted,writable:!0}),_defineProperty(t,kHandlePromise,{value:function(e,t){var o=r[kStream].read();o?(r[kLastPromise]=null,r[kLastResolve]=null,r[kLastReject]=null,e(createIterResult(o,!1))):(r[kLastResolve]=e,r[kLastReject]=t)},writable:!0}),t));return r[kLastPromise]=null,finished(e,function(e){if(e&&"ERR_STREAM_PREMATURE_CLOSE"!==e.code){var t=r[kLastReject];return null!==t&&(r[kLastPromise]=null,r[kLastResolve]=null,r[kLastReject]=null,t(e)),void(r[kError]=e)}var o=r[kLastResolve];null!==o&&(r[kLastPromise]=null,r[kLastResolve]=null,r[kLastReject]=null,o(createIterResult(void 0,!0))),r[kEnded]=!0}),e.on("readable",onReadable.bind(null,r)),r};module.exports=createReadableStreamAsyncIterator;
}).call(this)}).call(this,require('_process'))
},{"./end-of-stream":51,"_process":38}],49:[function(require,module,exports){
"use strict";function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(n),!0).forEach(function(t){_defineProperty(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function _createClass(e,t,n){return t&&_defineProperties(e.prototype,t),n&&_defineProperties(e,n),e}var _require=require("buffer"),Buffer=_require.Buffer,_require2=require("util"),inspect=_require2.inspect,custom=inspect&&inspect.custom||"inspect";function copyBuffer(e,t,n){Buffer.prototype.copy.call(e,t,n)}module.exports=function(){function e(){_classCallCheck(this,e),this.head=null,this.tail=null,this.length=0}return _createClass(e,[{key:"push",value:function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length}},{key:"unshift",value:function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}},{key:"shift",value:function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n}},{key:"concat",value:function(e){if(0===this.length)return Buffer.alloc(0);for(var t=Buffer.allocUnsafe(e>>>0),n=this.head,r=0;n;)copyBuffer(n.data,t,r),r+=n.data.length,n=n.next;return t}},{key:"consume",value:function(e,t){var n;return e<this.head.data.length?(n=this.head.data.slice(0,e),this.head.data=this.head.data.slice(e)):n=e===this.head.data.length?this.shift():t?this._getString(e):this._getBuffer(e),n}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(e){var t=this.head,n=1,r=t.data;for(e-=r.length;t=t.next;){var a=t.data,i=e>a.length?a.length:e;if(i===a.length?r+=a:r+=a.slice(0,e),0===(e-=i)){i===a.length?(++n,t.next?this.head=t.next:this.head=this.tail=null):(this.head=t,t.data=a.slice(i));break}++n}return this.length-=n,r}},{key:"_getBuffer",value:function(e){var t=Buffer.allocUnsafe(e),n=this.head,r=1;for(n.data.copy(t),e-=n.data.length;n=n.next;){var a=n.data,i=e>a.length?a.length:e;if(a.copy(t,t.length-e,0,i),0===(e-=i)){i===a.length?(++r,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=a.slice(i));break}++r}return this.length-=r,t}},{key:custom,value:function(e,t){return inspect(this,_objectSpread({},t,{depth:0,customInspect:!1}))}}]),e}();
},{"buffer":31,"util":30}],50:[function(require,module,exports){
(function (process){(function (){
"use strict";function destroy(t,e){var r=this,i=this._readableState&&this._readableState.destroyed,a=this._writableState&&this._writableState.destroyed;return i||a?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(emitErrorNT,this,t)):process.nextTick(emitErrorNT,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(t){!e&&t?r._writableState?r._writableState.errorEmitted?process.nextTick(emitCloseNT,r):(r._writableState.errorEmitted=!0,process.nextTick(emitErrorAndCloseNT,r,t)):process.nextTick(emitErrorAndCloseNT,r,t):e?(process.nextTick(emitCloseNT,r),e(t)):process.nextTick(emitCloseNT,r)}),this)}function emitErrorAndCloseNT(t,e){emitErrorNT(t,e),emitCloseNT(t)}function emitCloseNT(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function undestroy(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function emitErrorNT(t,e){t.emit("error",e)}function errorOrDestroy(t,e){var r=t._readableState,i=t._writableState;r&&r.autoDestroy||i&&i.autoDestroy?t.destroy(e):t.emit("error",e)}module.exports={destroy:destroy,undestroy:undestroy,errorOrDestroy:errorOrDestroy};
}).call(this)}).call(this,require('_process'))
},{"_process":38}],51:[function(require,module,exports){
"use strict";var ERR_STREAM_PREMATURE_CLOSE=require("../../../errors").codes.ERR_STREAM_PREMATURE_CLOSE;function once(e){var r=!1;return function(){if(!r){r=!0;for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];e.apply(this,n)}}}function noop(){}function isRequest(e){return e.setHeader&&"function"==typeof e.abort}function eos(e,r,t){if("function"==typeof r)return eos(e,null,r);r||(r={}),t=once(t||noop);var n=r.readable||!1!==r.readable&&e.readable,o=r.writable||!1!==r.writable&&e.writable,i=function(){e.writable||l()},a=e._writableState&&e._writableState.finished,l=function(){o=!1,a=!0,n||t.call(e)},s=e._readableState&&e._readableState.endEmitted,c=function(){n=!1,s=!0,o||t.call(e)},u=function(r){t.call(e,r)},f=function(){var r;return n&&!s?(e._readableState&&e._readableState.ended||(r=new ERR_STREAM_PREMATURE_CLOSE),t.call(e,r)):o&&!a?(e._writableState&&e._writableState.ended||(r=new ERR_STREAM_PREMATURE_CLOSE),t.call(e,r)):void 0},d=function(){e.req.on("finish",l)};return isRequest(e)?(e.on("complete",l),e.on("abort",f),e.req?d():e.on("request",d)):o&&!e._writableState&&(e.on("end",i),e.on("close",i)),e.on("end",c),e.on("finish",l),!1!==r.error&&e.on("error",u),e.on("close",f),function(){e.removeListener("complete",l),e.removeListener("abort",f),e.removeListener("request",d),e.req&&e.req.removeListener("finish",l),e.removeListener("end",i),e.removeListener("close",i),e.removeListener("finish",l),e.removeListener("end",c),e.removeListener("error",u),e.removeListener("close",f)}}module.exports=eos;
},{"../../../errors":42}],52:[function(require,module,exports){
module.exports=function(){throw new Error("Readable.from is not available in the browser")};
},{}],53:[function(require,module,exports){
"use strict";var eos;function once(e){var r=!1;return function(){r||(r=!0,e.apply(void 0,arguments))}}var _require$codes=require("../../../errors").codes,ERR_MISSING_ARGS=_require$codes.ERR_MISSING_ARGS,ERR_STREAM_DESTROYED=_require$codes.ERR_STREAM_DESTROYED;function noop(e){if(e)throw e}function isRequest(e){return e.setHeader&&"function"==typeof e.abort}function destroyer(e,r,n,o){o=once(o);var t=!1;e.on("close",function(){t=!0}),void 0===eos&&(eos=require("./end-of-stream")),eos(e,{readable:r,writable:n},function(e){if(e)return o(e);t=!0,o()});var i=!1;return function(r){if(!t&&!i)return i=!0,isRequest(e)?e.abort():"function"==typeof e.destroy?e.destroy():void o(r||new ERR_STREAM_DESTROYED("pipe"))}}function call(e){e()}function pipe(e,r){return e.pipe(r)}function popCallback(e){return e.length?"function"!=typeof e[e.length-1]?noop:e.pop():noop}function pipeline(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];var o,t=popCallback(r);if(Array.isArray(r[0])&&(r=r[0]),r.length<2)throw new ERR_MISSING_ARGS("streams");var i=r.map(function(e,n){var u=n<r.length-1;return destroyer(e,u,n>0,function(e){o||(o=e),e&&i.forEach(call),u||(i.forEach(call),t(o))})});return r.reduce(pipe)}module.exports=pipeline;
},{"../../../errors":42,"./end-of-stream":51}],54:[function(require,module,exports){
"use strict";var ERR_INVALID_OPT_VALUE=require("../../../errors").codes.ERR_INVALID_OPT_VALUE;function highWaterMarkFrom(r,e,t){return null!=r.highWaterMark?r.highWaterMark:e?r[t]:null}function getHighWaterMark(r,e,t,a){var i=highWaterMarkFrom(e,a,t);if(null!=i){if(!isFinite(i)||Math.floor(i)!==i||i<0)throw new ERR_INVALID_OPT_VALUE(a?t:"highWaterMark",i);return Math.floor(i)}return r.objectMode?16:16384}module.exports={getHighWaterMark:getHighWaterMark};
},{"../../../errors":42}],55:[function(require,module,exports){
module.exports=require("events").EventEmitter;
},{"events":32}],56:[function(require,module,exports){
"use strict";var Buffer=require("safe-buffer").Buffer,isEncoding=Buffer.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function _normalizeEncoding(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}function normalizeEncoding(t){var e=_normalizeEncoding(t);if("string"!=typeof e&&(Buffer.isEncoding===isEncoding||!isEncoding(t)))throw new Error("Unknown encoding: "+t);return e||t}function StringDecoder(t){var e;switch(this.encoding=normalizeEncoding(t),this.encoding){case"utf16le":this.text=utf16Text,this.end=utf16End,e=4;break;case"utf8":this.fillLast=utf8FillLast,e=4;break;case"base64":this.text=base64Text,this.end=base64End,e=3;break;default:return this.write=simpleWrite,void(this.end=simpleEnd)}this.lastNeed=0,this.lastTotal=0,this.lastChar=Buffer.allocUnsafe(e)}function utf8CheckByte(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function utf8CheckIncomplete(t,e,s){var i=e.length-1;if(i<s)return 0;var n=utf8CheckByte(e[i]);return n>=0?(n>0&&(t.lastNeed=n-1),n):--i<s||-2===n?0:(n=utf8CheckByte(e[i]))>=0?(n>0&&(t.lastNeed=n-2),n):--i<s||-2===n?0:(n=utf8CheckByte(e[i]))>=0?(n>0&&(2===n?n=0:t.lastNeed=n-3),n):0}function utf8CheckExtraBytes(t,e,s){if(128!=(192&e[0]))return t.lastNeed=0,"<22>";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"<22>";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"<22>"}}function utf8FillLast(t){var e=this.lastTotal-this.lastNeed,s=utf8CheckExtraBytes(this,t,e);return void 0!==s?s:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function utf8Text(t,e){var s=utf8CheckIncomplete(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=s;var i=t.length-(s-this.lastNeed);return t.copy(this.lastChar,0,i),t.toString("utf8",e,i)}function utf8End(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"<22>":e}function utf16Text(t,e){if((t.length-e)%2==0){var s=t.toString("utf16le",e);if(s){var i=s.charCodeAt(s.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],s.slice(0,-1)}return s}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function utf16End(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var s=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,s)}return e}function base64Text(t,e){var s=(t.length-e)%3;return 0===s?t.toString("base64",e):(this.lastNeed=3-s,this.lastTotal=3,1===s?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-s))}function base64End(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function simpleWrite(t){return t.toString(this.encoding)}function simpleEnd(t){return t&&t.length?this.write(t):""}exports.StringDecoder=StringDecoder,StringDecoder.prototype.write=function(t){if(0===t.length)return"";var e,s;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";s=this.lastNeed,this.lastNeed=0}else s=0;return s<t.length?e?e+this.text(t,s):this.text(t,s):e||""},StringDecoder.prototype.end=utf8End,StringDecoder.prototype.text=utf8Text,StringDecoder.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length};
},{"safe-buffer":39}],57:[function(require,module,exports){
(function (setImmediate,clearImmediate){(function (){
var nextTick=require("process/browser.js").nextTick,apply=Function.prototype.apply,slice=Array.prototype.slice,immediateIds={},nextImmediateId=0;function Timeout(e,t){this._id=e,this._clearFn=t}exports.setTimeout=function(){return new Timeout(apply.call(setTimeout,window,arguments),clearTimeout)},exports.setInterval=function(){return new Timeout(apply.call(setInterval,window,arguments),clearInterval)},exports.clearTimeout=exports.clearInterval=function(e){e.close()},Timeout.prototype.unref=Timeout.prototype.ref=function(){},Timeout.prototype.close=function(){this._clearFn.call(window,this._id)},exports.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},exports.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},exports._unrefActive=exports.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},t))},exports.setImmediate="function"==typeof setImmediate?setImmediate:function(e){var t=nextImmediateId++,i=!(arguments.length<2)&&slice.call(arguments,1);return immediateIds[t]=!0,nextTick(function(){immediateIds[t]&&(i?e.apply(null,i):e.call(null),exports.clearImmediate(t))}),t},exports.clearImmediate="function"==typeof clearImmediate?clearImmediate:function(e){delete immediateIds[e]};
}).call(this)}).call(this,require("timers").setImmediate,require("timers").clearImmediate)
},{"process/browser.js":38,"timers":57}],58:[function(require,module,exports){
(function (global){(function (){
function deprecate(r,e){if(config("noDeprecation"))return r;var o=!1;return function(){if(!o){if(config("throwDeprecation"))throw new Error(e);config("traceDeprecation")?console.trace(e):console.warn(e),o=!0}return r.apply(this,arguments)}}function config(r){try{if(!global.localStorage)return!1}catch(r){return!1}var e=global.localStorage[r];return null!=e&&"true"===String(e).toLowerCase()}module.exports=deprecate;
}).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
},{}],59:[function(require,module,exports){
(function(){"use strict";exports.stripBOM=function(t){return"\ufeff"===t[0]?t.substring(1):t}}).call(this);
},{}],60:[function(require,module,exports){
(function(){"use strict";var t,e,o,i,r,n={}.hasOwnProperty;t=require("xmlbuilder"),e=require("./defaults").defaults,i=function(t){return"string"==typeof t&&(t.indexOf("&")>=0||t.indexOf(">")>=0||t.indexOf("<")>=0)},r=function(t){return"<![CDATA["+o(t)+"]]>"},o=function(t){return t.replace("]]>","]]]]><![CDATA[>")},exports.Builder=function(){function o(t){var o,i,r;for(o in this.options={},i=e[.2])n.call(i,o)&&(r=i[o],this.options[o]=r);for(o in t)n.call(t,o)&&(r=t[o],this.options[o]=r)}return o.prototype.buildObject=function(o){var s,a,l,p,f,u;return s=this.options.attrkey,a=this.options.charkey,1===Object.keys(o).length&&this.options.rootName===e[.2].rootName?o=o[f=Object.keys(o)[0]]:f=this.options.rootName,u=this,l=function(t,e){var o,p,f,c,h,d;if("object"!=typeof e)u.options.cdata&&i(e)?t.raw(r(e)):t.txt(e);else if(Array.isArray(e)){for(c in e)if(n.call(e,c))for(h in p=e[c])f=p[h],t=l(t.ele(h),f).up()}else for(h in e)if(n.call(e,h))if(p=e[h],h===s){if("object"==typeof p)for(o in p)d=p[o],t=t.att(o,d)}else if(h===a)t=u.options.cdata&&i(p)?t.raw(r(p)):t.txt(p);else if(Array.isArray(p))for(c in p)n.call(p,c)&&(t="string"==typeof(f=p[c])?u.options.cdata&&i(f)?t.ele(h).raw(r(f)).up():t.ele(h,f).up():l(t.ele(h),f).up());else"object"==typeof p?t=l(t.ele(h),p).up():"string"==typeof p&&u.options.cdata&&i(p)?t=t.ele(h).raw(r(p)).up():(null==p&&(p=""),t=t.ele(h,p.toString()).up());return t},p=t.create(f,this.options.xmldec,this.options.doctype,{headless:this.options.headless,allowSurrogateChars:this.options.allowSurrogateChars}),l(p,o).end(this.options.renderOpts)},o}()}).call(this);
},{"./defaults":61,"xmlbuilder":97}],61:[function(require,module,exports){
(function(){exports.defaults={.1:{explicitCharkey:!1,trim:!0,normalize:!0,normalizeTags:!1,attrkey:"@",charkey:"#",explicitArray:!1,ignoreAttrs:!1,mergeAttrs:!1,explicitRoot:!1,validator:null,xmlns:!1,explicitChildren:!1,childkey:"@@",charsAsChildren:!1,includeWhiteChars:!1,async:!1,strict:!0,attrNameProcessors:null,attrValueProcessors:null,tagNameProcessors:null,valueProcessors:null,emptyTag:""},.2:{explicitCharkey:!1,trim:!1,normalize:!1,normalizeTags:!1,attrkey:"$",charkey:"_",explicitArray:!0,ignoreAttrs:!1,mergeAttrs:!1,explicitRoot:!0,validator:null,xmlns:!1,explicitChildren:!1,preserveChildrenOrder:!1,childkey:"$$",charsAsChildren:!1,includeWhiteChars:!1,async:!1,strict:!0,attrNameProcessors:null,attrValueProcessors:null,tagNameProcessors:null,valueProcessors:null,rootName:"root",xmldec:{version:"1.0",encoding:"UTF-8",standalone:!0},doctype:null,renderOpts:{pretty:!0,indent:" ",newline:"\n"},headless:!1,chunkSize:1e4,emptyTag:"",cdata:!1}}}).call(this);
},{}],62:[function(require,module,exports){
(function(){"use strict";var t,r,s,e,i,n,o,a,h=function(t,r){return function(){return t.apply(r,arguments)}},p={}.hasOwnProperty;o=require("sax"),s=require("events"),t=require("./bom"),n=require("./processors"),a=require("timers").setImmediate,r=require("./defaults").defaults,e=function(t){return"object"==typeof t&&null!=t&&0===Object.keys(t).length},i=function(t,r,s){var e,i;for(e=0,i=t.length;e<i;e++)r=(0,t[e])(r,s);return r},exports.Parser=function(c){function u(t){var s,e,i;if(this.parseStringPromise=h(this.parseStringPromise,this),this.parseString=h(this.parseString,this),this.reset=h(this.reset,this),this.assignOrPush=h(this.assignOrPush,this),this.processAsync=h(this.processAsync,this),!(this instanceof exports.Parser))return new exports.Parser(t);for(s in this.options={},e=r[.2])p.call(e,s)&&(i=e[s],this.options[s]=i);for(s in t)p.call(t,s)&&(i=t[s],this.options[s]=i);this.options.xmlns&&(this.options.xmlnskey=this.options.attrkey+"ns"),this.options.normalizeTags&&(this.options.tagNameProcessors||(this.options.tagNameProcessors=[]),this.options.tagNameProcessors.unshift(n.normalize)),this.reset()}return function(t,r){for(var s in r)p.call(r,s)&&(t[s]=r[s]);function e(){this.constructor=t}e.prototype=r.prototype,t.prototype=new e,t.__super__=r.prototype}(u,s),u.prototype.processAsync=function(){var t,r;try{return this.remaining.length<=this.options.chunkSize?(t=this.remaining,this.remaining="",this.saxParser=this.saxParser.write(t),this.saxParser.close()):(t=this.remaining.substr(0,this.options.chunkSize),this.remaining=this.remaining.substr(this.options.chunkSize,this.remaining.length),this.saxParser=this.saxParser.write(t),a(this.processAsync))}catch(t){if(r=t,!this.saxParser.errThrown)return this.saxParser.errThrown=!0,this.emit(r)}},u.prototype.assignOrPush=function(t,r,s){return r in t?(t[r]instanceof Array||(t[r]=[t[r]]),t[r].push(s)):this.options.explicitArray?t[r]=[s]:t[r]=s},u.prototype.reset=function(){var t,r,s,n,a;return this.removeAllListeners(),this.saxParser=o.parser(this.options.strict,{trim:!1,normalize:!1,xmlns:this.options.xmlns}),this.saxParser.errThrown=!1,this.saxParser.onerror=(a=this,function(t){if(a.saxParser.resume(),!a.saxParser.errThrown)return a.saxParser.errThrown=!0,a.emit("error",t)}),this.saxParser.onend=function(t){return function(){if(!t.saxParser.ended)return t.saxParser.ended=!0,t.emit("end",t.resultObject)}}(this),this.saxParser.ended=!1,this.EXPLICIT_CHARKEY=this.options.explicitCharkey,this.resultObject=null,n=[],t=this.options.attrkey,r=this.options.charkey,this.saxParser.onopentag=function(s){return function(e){var o,a,h,c,u;if((h={})[r]="",!s.options.ignoreAttrs)for(o in u=e.attributes)p.call(u,o)&&(t in h||s.options.mergeAttrs||(h[t]={}),a=s.options.attrValueProcessors?i(s.options.attrValueProcessors,e.attributes[o],o):e.attributes[o],c=s.options.attrNameProcessors?i(s.options.attrNameProcessors,o):o,s.options.mergeAttrs?s.assignOrPush(h,c,a):h[t][c]=a);return h["#name"]=s.options.tagNameProcessors?i(s.options.tagNameProcessors,e.name):e.name,s.options.xmlns&&(h[s.options.xmlnskey]={uri:e.uri,local:e.local}),n.push(h)}}(this),this.saxParser.onclosetag=function(t){return function(){var s,o,a,h,c,u,l,m,f,P;if(u=n.pop(),c=u["#name"],t.options.explicitChildren&&t.options.preserveChildrenOrder||delete u["#name"],!0===u.cdata&&(s=u.cdata,delete u.cdata),f=n[n.length-1],u[r].match(/^\s*$/)&&!s?(o=u[r],delete u[r]):(t.options.trim&&(u[r]=u[r].trim()),t.options.normalize&&(u[r]=u[r].replace(/\s{2,}/g," ").trim()),u[r]=t.options.valueProcessors?i(t.options.valueProcessors,u[r],c):u[r],1===Object.keys(u).length&&r in u&&!t.EXPLICIT_CHARKEY&&(u=u[r])),e(u)&&(u=""!==t.options.emptyTag?t.options.emptyTag:o),null!=t.options.validator&&(P="/"+function(){var t,r,s;for(s=[],t=0,r=n.length;t<r;t++)h=n[t],s.push(h["#name"]);return s}().concat(c).join("/"),function(){var r;try{u=t.options.validator(P,f&&f[c],u)}catch(s){return r=s,t.emit("error",r)}}()),t.options.explicitChildren&&!t.options.mergeAttrs&&"object"==typeof u)if(t.options.preserveChildrenOrder){if(f){for(a in f[t.options.childkey]=f[t.options.childkey]||[],l={},u)p.call(u,a)&&(l[a]=u[a]);f[t.options.childkey].push(l),delete u["#name"],1===Object.keys(u).length&&r in u&&!t.EXPLICIT_CHARKEY&&(u=u[r])}}else h={},t.options.attrkey in u&&(h[t.options.attrkey]=u[t.options.attrkey],delete u[t.options.attrkey]),!t.options.charsAsChildren&&t.options.charkey in u&&(h[t.options.charkey]=u[t.options.charkey],delete u[t.options.charkey]),Object.getOwnPropertyNames(u).length>0&&(h[t.options.childkey]=u),u=h;return n.length>0?t.assignOrPush(f,c,u):(t.options.explicitRoot&&(m=u,(u={})[c]=m),t.resultObject=u,t.saxParser.ended=!0,t.emit("end",t.resultObject))}}(this),s=function(t){return function(s){var e,i;if(i=n[n.length-1])return i[r]+=s,t.options.explicitChildren&&t.options.preserveChildrenOrder&&t.options.charsAsChildren&&(t.options.includeWhiteChars||""!==s.replace(/\\n/g,"").trim())&&(i[t.options.childkey]=i[t.options.childkey]||[],(e={"#name":"__text__"})[r]=s,t.options.normalize&&(e[r]=e[r].replace(/\s{2,}/g," ").trim()),i[t.options.childkey].push(e)),i}}(this),this.saxParser.ontext=s,this.saxParser.oncdata=function(t){var r;if(r=s(t))return r.cdata=!0}},u.prototype.parseString=function(r,s){var e;null!=s&&"function"==typeof s&&(this.on("end",function(t){return this.reset(),s(null,t)}),this.on("error",function(t){return this.reset(),s(t)}));try{return""===(r=r.toString()).trim()?(this.emit("end",null),!0):(r=t.stripBOM(r),this.options.async?(this.remaining=r,a(this.processAsync),this.saxParser):this.saxParser.write(r).close())}catch(t){if(e=t,!this.saxParser.errThrown&&!this.saxParser.ended)return this.emit("error",e),this.saxParser.errThrown=!0;if(this.saxParser.ended)throw e}},u.prototype.parseStringPromise=function(t){return new Promise((r=this,function(s,e){return r.parseString(t,function(t,r){return t?e(t):s(r)})}));var r},u}(),exports.parseString=function(t,r,s){var e,i;return null!=s?("function"==typeof s&&(e=s),"object"==typeof r&&(i=r)):("function"==typeof r&&(e=r),i={}),new exports.Parser(i).parseString(t,e)},exports.parseStringPromise=function(t,r){var s;return"object"==typeof r&&(s=r),new exports.Parser(s).parseStringPromise(t)}}).call(this);
},{"./bom":59,"./defaults":61,"./processors":63,"events":32,"sax":40,"timers":57}],63:[function(require,module,exports){
(function(){"use strict";var e;e=new RegExp(/(?!xmlns)^.*:/),exports.normalize=function(e){return e.toLowerCase()},exports.firstCharLowerCase=function(e){return e.charAt(0).toLowerCase()+e.slice(1)},exports.stripPrefix=function(r){return r.replace(e,"")},exports.parseNumbers=function(e){return isNaN(e)||(e=e%1==0?parseInt(e,10):parseFloat(e)),e},exports.parseBooleans=function(e){return/^(?:true|false)$/i.test(e)&&(e="true"===e.toLowerCase()),e}}).call(this);
},{}],64:[function(require,module,exports){
(function(){"use strict";var r,e,t,s,o={}.hasOwnProperty;e=require("./defaults"),r=require("./builder"),t=require("./parser"),s=require("./processors"),exports.defaults=e.defaults,exports.processors=s,exports.ValidationError=function(r){function e(r){this.message=r}return function(r,e){for(var t in e)o.call(e,t)&&(r[t]=e[t]);function s(){this.constructor=r}s.prototype=e.prototype,r.prototype=new s,r.__super__=e.prototype}(e,Error),e}(),exports.Builder=r.Builder,exports.Parser=t.Parser,exports.parseString=t.parseString,exports.parseStringPromise=t.parseStringPromise}).call(this);
},{"./builder":60,"./defaults":61,"./parser":62,"./processors":63}],65:[function(require,module,exports){
(function(){module.exports={Disconnected:1,Preceding:2,Following:4,Contains:8,ContainedBy:16,ImplementationSpecific:32}}).call(this);
},{}],66:[function(require,module,exports){
(function(){module.exports={Element:1,Attribute:2,Text:3,CData:4,EntityReference:5,EntityDeclaration:6,ProcessingInstruction:7,Comment:8,Document:9,DocType:10,DocumentFragment:11,NotationDeclaration:12,Declaration:201,Raw:202,AttributeDeclaration:203,ElementDeclaration:204,Dummy:205}}).call(this);
},{}],67:[function(require,module,exports){
(function(){var t,r,n,e,o,i,c,l=[].slice,u={}.hasOwnProperty;t=function(){var t,r,n,e,i,c;if(c=arguments[0],i=2<=arguments.length?l.call(arguments,1):[],o(Object.assign))Object.assign.apply(null,arguments);else for(t=0,n=i.length;t<n;t++)if(null!=(e=i[t]))for(r in e)u.call(e,r)&&(c[r]=e[r]);return c},o=function(t){return!!t&&"[object Function]"===Object.prototype.toString.call(t)},i=function(t){var r;return!!t&&("function"==(r=typeof t)||"object"===r)},n=function(t){return o(Array.isArray)?Array.isArray(t):"[object Array]"===Object.prototype.toString.call(t)},e=function(t){var r;if(n(t))return!t.length;for(r in t)if(u.call(t,r))return!1;return!0},c=function(t){var r,n;return i(t)&&(n=Object.getPrototypeOf(t))&&(r=n.constructor)&&"function"==typeof r&&r instanceof r&&Function.prototype.toString.call(r)===Function.prototype.toString.call(Object)},r=function(t){return o(t.valueOf)?t.valueOf():t},module.exports.assign=t,module.exports.isFunction=o,module.exports.isObject=i,module.exports.isArray=n,module.exports.isEmpty=e,module.exports.isPlainObject=c,module.exports.getValue=r}).call(this);
},{}],68:[function(require,module,exports){
(function(){module.exports={None:0,OpenTag:1,InsideTag:2,CloseTag:3}}).call(this);
},{}],69:[function(require,module,exports){
(function(){var t;t=require("./NodeType"),require("./XMLNode"),module.exports=function(){function e(e,n,r){if(this.parent=e,this.parent&&(this.options=this.parent.options,this.stringify=this.parent.stringify),null==n)throw new Error("Missing attribute name. "+this.debugInfo(n));this.name=this.stringify.name(n),this.value=this.stringify.attValue(r),this.type=t.Attribute,this.isId=!1,this.schemaTypeInfo=null}return Object.defineProperty(e.prototype,"nodeType",{get:function(){return this.type}}),Object.defineProperty(e.prototype,"ownerElement",{get:function(){return this.parent}}),Object.defineProperty(e.prototype,"textContent",{get:function(){return this.value},set:function(t){return this.value=t||""}}),Object.defineProperty(e.prototype,"namespaceURI",{get:function(){return""}}),Object.defineProperty(e.prototype,"prefix",{get:function(){return""}}),Object.defineProperty(e.prototype,"localName",{get:function(){return this.name}}),Object.defineProperty(e.prototype,"specified",{get:function(){return!0}}),e.prototype.clone=function(){return Object.create(this)},e.prototype.toString=function(t){return this.options.writer.attribute(this,this.options.writer.filterOptions(t))},e.prototype.debugInfo=function(t){return null==(t=t||this.name)?"parent: <"+this.parent.name+">":"attribute: {"+t+"}, parent: <"+this.parent.name+">"},e.prototype.isEqualNode=function(t){return t.namespaceURI===this.namespaceURI&&(t.prefix===this.prefix&&(t.localName===this.localName&&t.value===this.value))},e}()}).call(this);
},{"./NodeType":66,"./XMLNode":88}],70:[function(require,module,exports){
(function(){var t,r,o={}.hasOwnProperty;t=require("./NodeType"),r=require("./XMLCharacterData"),module.exports=function(e){function i(r,o){if(i.__super__.constructor.call(this,r),null==o)throw new Error("Missing CDATA text. "+this.debugInfo());this.name="#cdata-section",this.type=t.CData,this.value=this.stringify.cdata(o)}return function(t,r){for(var e in r)o.call(r,e)&&(t[e]=r[e]);function i(){this.constructor=t}i.prototype=r.prototype,t.prototype=new i,t.__super__=r.prototype}(i,r),i.prototype.clone=function(){return Object.create(this)},i.prototype.toString=function(t){return this.options.writer.cdata(this,this.options.writer.filterOptions(t))},i}()}).call(this);
},{"./NodeType":66,"./XMLCharacterData":71}],71:[function(require,module,exports){
(function(){var t,e={}.hasOwnProperty;t=require("./XMLNode"),module.exports=function(o){function n(t){n.__super__.constructor.call(this,t),this.value=""}return function(t,o){for(var n in o)e.call(o,n)&&(t[n]=o[n]);function r(){this.constructor=t}r.prototype=o.prototype,t.prototype=new r,t.__super__=o.prototype}(n,t),Object.defineProperty(n.prototype,"data",{get:function(){return this.value},set:function(t){return this.value=t||""}}),Object.defineProperty(n.prototype,"length",{get:function(){return this.value.length}}),Object.defineProperty(n.prototype,"textContent",{get:function(){return this.value},set:function(t){return this.value=t||""}}),n.prototype.clone=function(){return Object.create(this)},n.prototype.substringData=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},n.prototype.appendData=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},n.prototype.insertData=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},n.prototype.deleteData=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},n.prototype.replaceData=function(t,e,o){throw new Error("This DOM method is not implemented."+this.debugInfo())},n.prototype.isEqualNode=function(t){return!!n.__super__.isEqualNode.apply(this,arguments).isEqualNode(t)&&t.data===this.data},n}()}).call(this);
},{"./XMLNode":88}],72:[function(require,module,exports){
(function(){var t,o,r={}.hasOwnProperty;t=require("./NodeType"),o=require("./XMLCharacterData"),module.exports=function(e){function n(o,r){if(n.__super__.constructor.call(this,o),null==r)throw new Error("Missing comment text. "+this.debugInfo());this.name="#comment",this.type=t.Comment,this.value=this.stringify.comment(r)}return function(t,o){for(var e in o)r.call(o,e)&&(t[e]=o[e]);function n(){this.constructor=t}n.prototype=o.prototype,t.prototype=new n,t.__super__=o.prototype}(n,o),n.prototype.clone=function(){return Object.create(this)},n.prototype.toString=function(t){return this.options.writer.comment(this,this.options.writer.filterOptions(t))},n}()}).call(this);
},{"./NodeType":66,"./XMLCharacterData":71}],73:[function(require,module,exports){
(function(){var e,t;e=require("./XMLDOMErrorHandler"),t=require("./XMLDOMStringList"),module.exports=function(){function a(){this.defaultParams={"canonical-form":!1,"cdata-sections":!1,comments:!1,"datatype-normalization":!1,"element-content-whitespace":!0,entities:!0,"error-handler":new e,infoset:!0,"validate-if-schema":!1,namespaces:!0,"namespace-declarations":!0,"normalize-characters":!1,"schema-location":"","schema-type":"","split-cdata-sections":!0,validate:!1,"well-formed":!0},this.params=Object.create(this.defaultParams)}return Object.defineProperty(a.prototype,"parameterNames",{get:function(){return new t(Object.keys(this.defaultParams))}}),a.prototype.getParameter=function(e){return this.params.hasOwnProperty(e)?this.params[e]:null},a.prototype.canSetParameter=function(e,t){return!0},a.prototype.setParameter=function(e,t){return null!=t?this.params[e]=t:delete this.params[e]},a}()}).call(this);
},{"./XMLDOMErrorHandler":74,"./XMLDOMStringList":76}],74:[function(require,module,exports){
(function(){module.exports=function(){function n(){}return n.prototype.handleError=function(n){throw new Error(n)},n}()}).call(this);
},{}],75:[function(require,module,exports){
(function(){module.exports=function(){function t(){}return t.prototype.hasFeature=function(t,e){return!0},t.prototype.createDocumentType=function(t,e,o){throw new Error("This DOM method is not implemented.")},t.prototype.createDocument=function(t,e,o){throw new Error("This DOM method is not implemented.")},t.prototype.createHTMLDocument=function(t){throw new Error("This DOM method is not implemented.")},t.prototype.getFeature=function(t,e){throw new Error("This DOM method is not implemented.")},t}()}).call(this);
},{}],76:[function(require,module,exports){
(function(){module.exports=function(){function t(t){this.arr=t||[]}return Object.defineProperty(t.prototype,"length",{get:function(){return this.arr.length}}),t.prototype.item=function(t){return this.arr[t]||null},t.prototype.contains=function(t){return-1!==this.arr.indexOf(t)},t}()}).call(this);
},{}],77:[function(require,module,exports){
(function(){var t,e,i={}.hasOwnProperty;e=require("./XMLNode"),t=require("./NodeType"),module.exports=function(r){function n(e,i,r,o,s,u){if(n.__super__.constructor.call(this,e),null==i)throw new Error("Missing DTD element name. "+this.debugInfo());if(null==r)throw new Error("Missing DTD attribute name. "+this.debugInfo(i));if(!o)throw new Error("Missing DTD attribute type. "+this.debugInfo(i));if(!s)throw new Error("Missing DTD attribute default. "+this.debugInfo(i));if(0!==s.indexOf("#")&&(s="#"+s),!s.match(/^(#REQUIRED|#IMPLIED|#FIXED|#DEFAULT)$/))throw new Error("Invalid default value type; expected: #REQUIRED, #IMPLIED, #FIXED or #DEFAULT. "+this.debugInfo(i));if(u&&!s.match(/^(#FIXED|#DEFAULT)$/))throw new Error("Default value only applies to #FIXED or #DEFAULT. "+this.debugInfo(i));this.elementName=this.stringify.name(i),this.type=t.AttributeDeclaration,this.attributeName=this.stringify.name(r),this.attributeType=this.stringify.dtdAttType(o),u&&(this.defaultValue=this.stringify.dtdAttDefault(u)),this.defaultValueType=s}return function(t,e){for(var r in e)i.call(e,r)&&(t[r]=e[r]);function n(){this.constructor=t}n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype}(n,e),n.prototype.toString=function(t){return this.options.writer.dtdAttList(this,this.options.writer.filterOptions(t))},n}()}).call(this);
},{"./NodeType":66,"./XMLNode":88}],78:[function(require,module,exports){
(function(){var t,r,e={}.hasOwnProperty;r=require("./XMLNode"),t=require("./NodeType"),module.exports=function(i){function n(r,e,i){if(n.__super__.constructor.call(this,r),null==e)throw new Error("Missing DTD element name. "+this.debugInfo());i||(i="(#PCDATA)"),Array.isArray(i)&&(i="("+i.join(",")+")"),this.name=this.stringify.name(e),this.type=t.ElementDeclaration,this.value=this.stringify.dtdElementValue(i)}return function(t,r){for(var i in r)e.call(r,i)&&(t[i]=r[i]);function n(){this.constructor=t}n.prototype=r.prototype,t.prototype=new n,t.__super__=r.prototype}(n,r),n.prototype.toString=function(t){return this.options.writer.dtdElement(this,this.options.writer.filterOptions(t))},n}()}).call(this);
},{"./NodeType":66,"./XMLNode":88}],79:[function(require,module,exports){
(function(){var t,e,i,n={}.hasOwnProperty;i=require("./Utility").isObject,e=require("./XMLNode"),t=require("./NodeType"),module.exports=function(r){function o(e,n,r,s){if(o.__super__.constructor.call(this,e),null==r)throw new Error("Missing DTD entity name. "+this.debugInfo(r));if(null==s)throw new Error("Missing DTD entity value. "+this.debugInfo(r));if(this.pe=!!n,this.name=this.stringify.name(r),this.type=t.EntityDeclaration,i(s)){if(!s.pubID&&!s.sysID)throw new Error("Public and/or system identifiers are required for an external entity. "+this.debugInfo(r));if(s.pubID&&!s.sysID)throw new Error("System identifier is required for a public external entity. "+this.debugInfo(r));if(this.internal=!1,null!=s.pubID&&(this.pubID=this.stringify.dtdPubID(s.pubID)),null!=s.sysID&&(this.sysID=this.stringify.dtdSysID(s.sysID)),null!=s.nData&&(this.nData=this.stringify.dtdNData(s.nData)),this.pe&&this.nData)throw new Error("Notation declaration is not allowed in a parameter entity. "+this.debugInfo(r))}else this.value=this.stringify.dtdEntityValue(s),this.internal=!0}return function(t,e){for(var i in e)n.call(e,i)&&(t[i]=e[i]);function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype}(o,e),Object.defineProperty(o.prototype,"publicId",{get:function(){return this.pubID}}),Object.defineProperty(o.prototype,"systemId",{get:function(){return this.sysID}}),Object.defineProperty(o.prototype,"notationName",{get:function(){return this.nData||null}}),Object.defineProperty(o.prototype,"inputEncoding",{get:function(){return null}}),Object.defineProperty(o.prototype,"xmlEncoding",{get:function(){return null}}),Object.defineProperty(o.prototype,"xmlVersion",{get:function(){return null}}),o.prototype.toString=function(t){return this.options.writer.dtdEntity(this,this.options.writer.filterOptions(t))},o}()}).call(this);
},{"./NodeType":66,"./Utility":67,"./XMLNode":88}],80:[function(require,module,exports){
(function(){var t,r,i={}.hasOwnProperty;r=require("./XMLNode"),t=require("./NodeType"),module.exports=function(e){function o(r,i,e){if(o.__super__.constructor.call(this,r),null==i)throw new Error("Missing DTD notation name. "+this.debugInfo(i));if(!e.pubID&&!e.sysID)throw new Error("Public or system identifiers are required for an external entity. "+this.debugInfo(i));this.name=this.stringify.name(i),this.type=t.NotationDeclaration,null!=e.pubID&&(this.pubID=this.stringify.dtdPubID(e.pubID)),null!=e.sysID&&(this.sysID=this.stringify.dtdSysID(e.sysID))}return function(t,r){for(var e in r)i.call(r,e)&&(t[e]=r[e]);function o(){this.constructor=t}o.prototype=r.prototype,t.prototype=new o,t.__super__=r.prototype}(o,r),Object.defineProperty(o.prototype,"publicId",{get:function(){return this.pubID}}),Object.defineProperty(o.prototype,"systemId",{get:function(){return this.sysID}}),o.prototype.toString=function(t){return this.options.writer.dtdNotation(this,this.options.writer.filterOptions(t))},o}()}).call(this);
},{"./NodeType":66,"./XMLNode":88}],81:[function(require,module,exports){
(function(){var t,i,n,o={}.hasOwnProperty;n=require("./Utility").isObject,i=require("./XMLNode"),t=require("./NodeType"),module.exports=function(r){function e(i,o,r,s){var l;e.__super__.constructor.call(this,i),n(o)&&(o=(l=o).version,r=l.encoding,s=l.standalone),o||(o="1.0"),this.type=t.Declaration,this.version=this.stringify.xmlVersion(o),null!=r&&(this.encoding=this.stringify.xmlEncoding(r)),null!=s&&(this.standalone=this.stringify.xmlStandalone(s))}return function(t,i){for(var n in i)o.call(i,n)&&(t[n]=i[n]);function r(){this.constructor=t}r.prototype=i.prototype,t.prototype=new r,t.__super__=i.prototype}(e,i),e.prototype.toString=function(t){return this.options.writer.declaration(this,this.options.writer.filterOptions(t))},e}()}).call(this);
},{"./NodeType":66,"./Utility":67,"./XMLNode":88}],82:[function(require,module,exports){
(function(){var t,e,n,i,r,o,s,p,u={}.hasOwnProperty;p=require("./Utility").isObject,s=require("./XMLNode"),t=require("./NodeType"),e=require("./XMLDTDAttList"),i=require("./XMLDTDEntity"),n=require("./XMLDTDElement"),r=require("./XMLDTDNotation"),o=require("./XMLNamedNodeMap"),module.exports=function(h){function c(e,n,i){var r,o,s,u,h,y;if(c.__super__.constructor.call(this,e),this.type=t.DocType,e.children)for(o=0,s=(u=e.children).length;o<s;o++)if((r=u[o]).type===t.Element){this.name=r.name;break}this.documentObject=e,p(n)&&(n=(h=n).pubID,i=h.sysID),null==i&&(i=(y=[n,i])[0],n=y[1]),null!=n&&(this.pubID=this.stringify.dtdPubID(n)),null!=i&&(this.sysID=this.stringify.dtdSysID(i))}return function(t,e){for(var n in e)u.call(e,n)&&(t[n]=e[n]);function i(){this.constructor=t}i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype}(c,s),Object.defineProperty(c.prototype,"entities",{get:function(){var e,n,i,r,s;for(r={},n=0,i=(s=this.children).length;n<i;n++)(e=s[n]).type!==t.EntityDeclaration||e.pe||(r[e.name]=e);return new o(r)}}),Object.defineProperty(c.prototype,"notations",{get:function(){var e,n,i,r,s;for(r={},n=0,i=(s=this.children).length;n<i;n++)(e=s[n]).type===t.NotationDeclaration&&(r[e.name]=e);return new o(r)}}),Object.defineProperty(c.prototype,"publicId",{get:function(){return this.pubID}}),Object.defineProperty(c.prototype,"systemId",{get:function(){return this.sysID}}),Object.defineProperty(c.prototype,"internalSubset",{get:function(){throw new Error("This DOM method is not implemented."+this.debugInfo())}}),c.prototype.element=function(t,e){var i;return i=new n(this,t,e),this.children.push(i),this},c.prototype.attList=function(t,n,i,r,o){var s;return s=new e(this,t,n,i,r,o),this.children.push(s),this},c.prototype.entity=function(t,e){var n;return n=new i(this,!1,t,e),this.children.push(n),this},c.prototype.pEntity=function(t,e){var n;return n=new i(this,!0,t,e),this.children.push(n),this},c.prototype.notation=function(t,e){var n;return n=new r(this,t,e),this.children.push(n),this},c.prototype.toString=function(t){return this.options.writer.docType(this,this.options.writer.filterOptions(t))},c.prototype.ele=function(t,e){return this.element(t,e)},c.prototype.att=function(t,e,n,i,r){return this.attList(t,e,n,i,r)},c.prototype.ent=function(t,e){return this.entity(t,e)},c.prototype.pent=function(t,e){return this.pEntity(t,e)},c.prototype.not=function(t,e){return this.notation(t,e)},c.prototype.up=function(){return this.root()||this.documentObject},c.prototype.isEqualNode=function(t){return!!c.__super__.isEqualNode.apply(this,arguments).isEqualNode(t)&&(t.name===this.name&&(t.publicId===this.publicId&&t.systemId===this.systemId))},c}()}).call(this);
},{"./NodeType":66,"./Utility":67,"./XMLDTDAttList":77,"./XMLDTDElement":78,"./XMLDTDEntity":79,"./XMLDTDNotation":80,"./XMLNamedNodeMap":87,"./XMLNode":88}],83:[function(require,module,exports){
(function(){var t,e,o,n,r,i,p,h={}.hasOwnProperty;p=require("./Utility").isPlainObject,o=require("./XMLDOMImplementation"),e=require("./XMLDOMConfiguration"),n=require("./XMLNode"),t=require("./NodeType"),i=require("./XMLStringifier"),r=require("./XMLStringWriter"),module.exports=function(s){function u(o){u.__super__.constructor.call(this,null),this.name="#document",this.type=t.Document,this.documentURI=null,this.domConfig=new e,o||(o={}),o.writer||(o.writer=new r),this.options=o,this.stringify=new i(o)}return function(t,e){for(var o in e)h.call(e,o)&&(t[o]=e[o]);function n(){this.constructor=t}n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype}(u,n),Object.defineProperty(u.prototype,"implementation",{value:new o}),Object.defineProperty(u.prototype,"doctype",{get:function(){var e,o,n,r;for(o=0,n=(r=this.children).length;o<n;o++)if((e=r[o]).type===t.DocType)return e;return null}}),Object.defineProperty(u.prototype,"documentElement",{get:function(){return this.rootObject||null}}),Object.defineProperty(u.prototype,"inputEncoding",{get:function(){return null}}),Object.defineProperty(u.prototype,"strictErrorChecking",{get:function(){return!1}}),Object.defineProperty(u.prototype,"xmlEncoding",{get:function(){return 0!==this.children.length&&this.children[0].type===t.Declaration?this.children[0].encoding:null}}),Object.defineProperty(u.prototype,"xmlStandalone",{get:function(){return 0!==this.children.length&&this.children[0].type===t.Declaration&&"yes"===this.children[0].standalone}}),Object.defineProperty(u.prototype,"xmlVersion",{get:function(){return 0!==this.children.length&&this.children[0].type===t.Declaration?this.children[0].version:"1.0"}}),Object.defineProperty(u.prototype,"URL",{get:function(){return this.documentURI}}),Object.defineProperty(u.prototype,"origin",{get:function(){return null}}),Object.defineProperty(u.prototype,"compatMode",{get:function(){return null}}),Object.defineProperty(u.prototype,"characterSet",{get:function(){return null}}),Object.defineProperty(u.prototype,"contentType",{get:function(){return null}}),u.prototype.end=function(t){var e;return e={},t?p(t)&&(e=t,t=this.options.writer):t=this.options.writer,t.document(this,t.filterOptions(e))},u.prototype.toString=function(t){return this.options.writer.document(this,this.options.writer.filterOptions(t))},u.prototype.createElement=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createDocumentFragment=function(){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createTextNode=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createComment=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createCDATASection=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createProcessingInstruction=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createAttribute=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createEntityReference=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.getElementsByTagName=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.importNode=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createElementNS=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createAttributeNS=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.getElementsByTagNameNS=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.getElementById=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.adoptNode=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.normalizeDocument=function(){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.renameNode=function(t,e,o){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.getElementsByClassName=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createEvent=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createRange=function(){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createNodeIterator=function(t,e,o){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createTreeWalker=function(t,e,o){throw new Error("This DOM method is not implemented."+this.debugInfo())},u}()}).call(this);
},{"./NodeType":66,"./Utility":67,"./XMLDOMConfiguration":73,"./XMLDOMImplementation":75,"./XMLNode":88,"./XMLStringWriter":93,"./XMLStringifier":94}],84:[function(require,module,exports){
(function(){var t,e,r,i,n,o,s,h,u,c,a,p,l,d,w,y,f,v,L,m,N,D,O,b={}.hasOwnProperty;O=require("./Utility"),N=O.isObject,m=O.isFunction,D=O.isPlainObject,L=O.getValue,t=require("./NodeType"),p=require("./XMLDocument"),l=require("./XMLElement"),i=require("./XMLCData"),n=require("./XMLComment"),w=require("./XMLRaw"),v=require("./XMLText"),d=require("./XMLProcessingInstruction"),c=require("./XMLDeclaration"),a=require("./XMLDocType"),o=require("./XMLDTDAttList"),h=require("./XMLDTDEntity"),s=require("./XMLDTDElement"),u=require("./XMLDTDNotation"),r=require("./XMLAttribute"),f=require("./XMLStringifier"),y=require("./XMLStringWriter"),e=require("./WriterState"),module.exports=function(){function O(e,r,i){var n;this.name="?xml",this.type=t.Document,e||(e={}),n={},e.writer?D(e.writer)&&(n=e.writer,e.writer=new y):e.writer=new y,this.options=e,this.writer=e.writer,this.writerOptions=this.writer.filterOptions(n),this.stringify=new f(e),this.onDataCallback=r||function(){},this.onEndCallback=i||function(){},this.currentNode=null,this.currentLevel=-1,this.openTags={},this.documentStarted=!1,this.documentCompleted=!1,this.root=null}return O.prototype.createChildNode=function(e){var r,i,n,o,s,h,u,c;switch(e.type){case t.CData:this.cdata(e.value);break;case t.Comment:this.comment(e.value);break;case t.Element:for(i in n={},u=e.attribs)b.call(u,i)&&(r=u[i],n[i]=r.value);this.node(e.name,n);break;case t.Dummy:this.dummy();break;case t.Raw:this.raw(e.value);break;case t.Text:this.text(e.value);break;case t.ProcessingInstruction:this.instruction(e.target,e.value);break;default:throw new Error("This XML node type is not supported in a JS object: "+e.constructor.name)}for(s=0,h=(c=e.children).length;s<h;s++)o=c[s],this.createChildNode(o),o.type===t.Element&&this.up();return this},O.prototype.dummy=function(){return this},O.prototype.node=function(t,e,r){var i;if(null==t)throw new Error("Missing node name.");if(this.root&&-1===this.currentLevel)throw new Error("Document can only have one root node. "+this.debugInfo(t));return this.openCurrent(),t=L(t),null==e&&(e={}),e=L(e),N(e)||(r=(i=[e,r])[0],e=i[1]),this.currentNode=new l(this,t,e),this.currentNode.children=!1,this.currentLevel++,this.openTags[this.currentLevel]=this.currentNode,null!=r&&this.text(r),this},O.prototype.element=function(e,r,i){var n,o,s,h,u,c;if(this.currentNode&&this.currentNode.type===t.DocType)this.dtdElement.apply(this,arguments);else if(Array.isArray(e)||N(e)||m(e))for(h=this.options.noValidation,this.options.noValidation=!0,(c=new p(this.options).element("TEMP_ROOT")).element(e),this.options.noValidation=h,o=0,s=(u=c.children).length;o<s;o++)n=u[o],this.createChildNode(n),n.type===t.Element&&this.up();else this.node(e,r,i);return this},O.prototype.attribute=function(t,e){var i,n;if(!this.currentNode||this.currentNode.children)throw new Error("att() can only be used immediately after an ele() call in callback mode. "+this.debugInfo(t));if(null!=t&&(t=L(t)),N(t))for(i in t)b.call(t,i)&&(n=t[i],this.attribute(i,n));else m(e)&&(e=e.apply()),this.options.keepNullAttributes&&null==e?this.currentNode.attribs[t]=new r(this,t,""):null!=e&&(this.currentNode.attribs[t]=new r(this,t,e));return this},O.prototype.text=function(t){var e;return this.openCurrent(),e=new v(this,t),this.onData(this.writer.text(e,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},O.prototype.cdata=function(t){var e;return this.openCurrent(),e=new i(this,t),this.onData(this.writer.cdata(e,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},O.prototype.comment=function(t){var e;return this.openCurrent(),e=new n(this,t),this.onData(this.writer.comment(e,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},O.prototype.raw=function(t){var e;return this.openCurrent(),e=new w(this,t),this.onData(this.writer.raw(e,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},O.prototype.instruction=function(t,e){var r,i,n,o,s;if(this.openCurrent(),null!=t&&(t=L(t)),null!=e&&(e=L(e)),Array.isArray(t))for(r=0,o=t.length;r<o;r++)i=t[r],this.instruction(i);else if(N(t))for(i in t)b.call(t,i)&&(n=t[i],this.instruction(i,n));else m(e)&&(e=e.apply()),s=new d(this,t,e),this.onData(this.writer.processingInstruction(s,this.writerOptions,this.currentLevel+1),this.currentLevel+1);return this},O.prototype.declaration=function(t,e,r){var i;if(this.openCurrent(),this.documentStarted)throw new Error("declaration() must be the first node.");return i=new c(this,t,e,r),this.onData(this.writer.declaration(i,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},O.prototype.doctype=function(t,e,r){if(this.openCurrent(),null==t)throw new Error("Missing root node name.");if(this.root)throw new Error("dtd() must come before the root node.");return this.currentNode=new a(this,e,r),this.currentNode.rootNodeName=t,this.currentNode.children=!1,this.currentLevel++,this.openTags[this.currentLevel]=this.currentNode,this},O.prototype.dtdElement=function(t,e){var r;return this.openCurrent(),r=new s(this,t,e),this.onData(this.writer.dtdElement(r,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},O.prototype.attList=function(t,e,r,i,n){var s;return this.openCurrent(),s=new o(this,t,e,r,i,n),this.onData(this.writer.dtdAttList(s,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},O.prototype.entity=function(t,e){var r;return this.openCurrent(),r=new h(this,!1,t,e),this.onData(this.writer.dtdEntity(r,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},O.prototype.pEntity=function(t,e){var r;return this.openCurrent(),r=new h(this,!0,t,e),this.onData(this.writer.dtdEntity(r,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},O.prototype.notation=function(t,e){var r;return this.openCurrent(),r=new u(this,t,e),this.onData(this.writer.dtdNotation(r,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},O.prototype.up=function(){if(this.currentLevel<0)throw new Error("The document node has no parent.");return this.currentNode?(this.currentNode.children?this.closeNode(this.currentNode):this.openNode(this.currentNode),this.currentNode=null):this.closeNode(this.openTags[this.currentLevel]),delete this.openTags[this.currentLevel],this.currentLevel--,this},O.prototype.end=function(){for(;this.currentLevel>=0;)this.up();return this.onEnd()},O.prototype.openCurrent=function(){if(this.currentNode)return this.currentNode.children=!0,this.openNode(this.currentNode)},O.prototype.openNode=function(r){var i,n,o,s;if(!r.isOpen){if(this.root||0!==this.currentLevel||r.type!==t.Element||(this.root=r),n="",r.type===t.Element){for(o in this.writerOptions.state=e.OpenTag,n=this.writer.indent(r,this.writerOptions,this.currentLevel)+"<"+r.name,s=r.attribs)b.call(s,o)&&(i=s[o],n+=this.writer.attribute(i,this.writerOptions,this.currentLevel));n+=(r.children?">":"/>")+this.writer.endline(r,this.writerOptions,this.currentLevel),this.writerOptions.state=e.InsideTag}else this.writerOptions.state=e.OpenTag,n=this.writer.indent(r,this.writerOptions,this.currentLevel)+"<!DOCTYPE "+r.rootNodeName,r.pubID&&r.sysID?n+=' PUBLIC "'+r.pubID+'" "'+r.sysID+'"':r.sysID&&(n+=' SYSTEM "'+r.sysID+'"'),r.children?(n+=" [",this.writerOptions.state=e.InsideTag):(this.writerOptions.state=e.CloseTag,n+=">"),n+=this.writer.endline(r,this.writerOptions,this.currentLevel);return this.onData(n,this.currentLevel),r.isOpen=!0}},O.prototype.closeNode=function(r){var i;if(!r.isClosed)return i="",this.writerOptions.state=e.CloseTag,i=r.type===t.Element?this.writer.indent(r,this.writerOptions,this.currentLevel)+"</"+r.name+">"+this.writer.endline(r,this.writerOptions,this.currentLevel):this.writer.indent(r,this.writerOptions,this.currentLevel)+"]>"+this.writer.endline(r,this.writerOptions,this.currentLevel),this.writerOptions.state=e.None,this.onData(i,this.currentLevel),r.isClosed=!0},O.prototype.onData=function(t,e){return this.documentStarted=!0,this.onDataCallback(t,e+1)},O.prototype.onEnd=function(){return this.documentCompleted=!0,this.onEndCallback()},O.prototype.debugInfo=function(t){return null==t?"":"node: <"+t+">"},O.prototype.ele=function(){return this.element.apply(this,arguments)},O.prototype.nod=function(t,e,r){return this.node(t,e,r)},O.prototype.txt=function(t){return this.text(t)},O.prototype.dat=function(t){return this.cdata(t)},O.prototype.com=function(t){return this.comment(t)},O.prototype.ins=function(t,e){return this.instruction(t,e)},O.prototype.dec=function(t,e,r){return this.declaration(t,e,r)},O.prototype.dtd=function(t,e,r){return this.doctype(t,e,r)},O.prototype.e=function(t,e,r){return this.element(t,e,r)},O.prototype.n=function(t,e,r){return this.node(t,e,r)},O.prototype.t=function(t){return this.text(t)},O.prototype.d=function(t){return this.cdata(t)},O.prototype.c=function(t){return this.comment(t)},O.prototype.r=function(t){return this.raw(t)},O.prototype.i=function(t,e){return this.instruction(t,e)},O.prototype.att=function(){return this.currentNode&&this.currentNode.type===t.DocType?this.attList.apply(this,arguments):this.attribute.apply(this,arguments)},O.prototype.a=function(){return this.currentNode&&this.currentNode.type===t.DocType?this.attList.apply(this,arguments):this.attribute.apply(this,arguments)},O.prototype.ent=function(t,e){return this.entity(t,e)},O.prototype.pent=function(t,e){return this.pEntity(t,e)},O.prototype.not=function(t,e){return this.notation(t,e)},O}()}).call(this);
},{"./NodeType":66,"./Utility":67,"./WriterState":68,"./XMLAttribute":69,"./XMLCData":70,"./XMLComment":72,"./XMLDTDAttList":77,"./XMLDTDElement":78,"./XMLDTDEntity":79,"./XMLDTDNotation":80,"./XMLDeclaration":81,"./XMLDocType":82,"./XMLDocument":83,"./XMLElement":86,"./XMLProcessingInstruction":90,"./XMLRaw":91,"./XMLStringWriter":93,"./XMLStringifier":94,"./XMLText":95}],85:[function(require,module,exports){
(function(){var t,o,r={}.hasOwnProperty;o=require("./XMLNode"),t=require("./NodeType"),module.exports=function(e){function n(o){n.__super__.constructor.call(this,o),this.type=t.Dummy}return function(t,o){for(var e in o)r.call(o,e)&&(t[e]=o[e]);function n(){this.constructor=t}n.prototype=o.prototype,t.prototype=new n,t.__super__=o.prototype}(n,o),n.prototype.clone=function(){return Object.create(this)},n.prototype.toString=function(t){return""},n}()}).call(this);
},{"./NodeType":66,"./XMLNode":88}],86:[function(require,module,exports){
(function(){var t,e,r,o,i,n,s,h,u={}.hasOwnProperty;h=require("./Utility"),s=h.isObject,n=h.isFunction,i=h.getValue,o=require("./XMLNode"),t=require("./NodeType"),e=require("./XMLAttribute"),r=require("./XMLNamedNodeMap"),module.exports=function(h){function p(e,r,o){var i,n,s,h;if(p.__super__.constructor.call(this,e),null==r)throw new Error("Missing element name. "+this.debugInfo());if(this.name=this.stringify.name(r),this.type=t.Element,this.attribs={},this.schemaTypeInfo=null,null!=o&&this.attribute(o),e.type===t.Document&&(this.isRoot=!0,this.documentObject=e,e.rootObject=this,e.children))for(n=0,s=(h=e.children).length;n<s;n++)if((i=h[n]).type===t.DocType){i.name=this.name;break}}return function(t,e){for(var r in e)u.call(e,r)&&(t[r]=e[r]);function o(){this.constructor=t}o.prototype=e.prototype,t.prototype=new o,t.__super__=e.prototype}(p,o),Object.defineProperty(p.prototype,"tagName",{get:function(){return this.name}}),Object.defineProperty(p.prototype,"namespaceURI",{get:function(){return""}}),Object.defineProperty(p.prototype,"prefix",{get:function(){return""}}),Object.defineProperty(p.prototype,"localName",{get:function(){return this.name}}),Object.defineProperty(p.prototype,"id",{get:function(){throw new Error("This DOM method is not implemented."+this.debugInfo())}}),Object.defineProperty(p.prototype,"className",{get:function(){throw new Error("This DOM method is not implemented."+this.debugInfo())}}),Object.defineProperty(p.prototype,"classList",{get:function(){throw new Error("This DOM method is not implemented."+this.debugInfo())}}),Object.defineProperty(p.prototype,"attributes",{get:function(){return this.attributeMap&&this.attributeMap.nodes||(this.attributeMap=new r(this.attribs)),this.attributeMap}}),p.prototype.clone=function(){var t,e,r,o;for(e in(r=Object.create(this)).isRoot&&(r.documentObject=null),r.attribs={},o=this.attribs)u.call(o,e)&&(t=o[e],r.attribs[e]=t.clone());return r.children=[],this.children.forEach(function(t){var e;return(e=t.clone()).parent=r,r.children.push(e)}),r},p.prototype.attribute=function(t,r){var o,h;if(null!=t&&(t=i(t)),s(t))for(o in t)u.call(t,o)&&(h=t[o],this.attribute(o,h));else n(r)&&(r=r.apply()),this.options.keepNullAttributes&&null==r?this.attribs[t]=new e(this,t,""):null!=r&&(this.attribs[t]=new e(this,t,r));return this},p.prototype.removeAttribute=function(t){var e,r,o;if(null==t)throw new Error("Missing attribute name. "+this.debugInfo());if(t=i(t),Array.isArray(t))for(r=0,o=t.length;r<o;r++)e=t[r],delete this.attribs[e];else delete this.attribs[t];return this},p.prototype.toString=function(t){return this.options.writer.element(this,this.options.writer.filterOptions(t))},p.prototype.att=function(t,e){return this.attribute(t,e)},p.prototype.a=function(t,e){return this.attribute(t,e)},p.prototype.getAttribute=function(t){return this.attribs.hasOwnProperty(t)?this.attribs[t].value:null},p.prototype.setAttribute=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.getAttributeNode=function(t){return this.attribs.hasOwnProperty(t)?this.attribs[t]:null},p.prototype.setAttributeNode=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.removeAttributeNode=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.getElementsByTagName=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.getAttributeNS=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.setAttributeNS=function(t,e,r){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.removeAttributeNS=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.getAttributeNodeNS=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.setAttributeNodeNS=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.getElementsByTagNameNS=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.hasAttribute=function(t){return this.attribs.hasOwnProperty(t)},p.prototype.hasAttributeNS=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.setIdAttribute=function(t,e){return this.attribs.hasOwnProperty(t)?this.attribs[t].isId:e},p.prototype.setIdAttributeNS=function(t,e,r){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.setIdAttributeNode=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.getElementsByTagName=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.getElementsByTagNameNS=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.getElementsByClassName=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.isEqualNode=function(t){var e,r,o;if(!p.__super__.isEqualNode.apply(this,arguments).isEqualNode(t))return!1;if(t.namespaceURI!==this.namespaceURI)return!1;if(t.prefix!==this.prefix)return!1;if(t.localName!==this.localName)return!1;if(t.attribs.length!==this.attribs.length)return!1;for(e=r=0,o=this.attribs.length-1;0<=o?r<=o:r>=o;e=0<=o?++r:--r)if(!this.attribs[e].isEqualNode(t.attribs[e]))return!1;return!0},p}()}).call(this);
},{"./NodeType":66,"./Utility":67,"./XMLAttribute":69,"./XMLNamedNodeMap":87,"./XMLNode":88}],87:[function(require,module,exports){
(function(){module.exports=function(){function e(e){this.nodes=e}return Object.defineProperty(e.prototype,"length",{get:function(){return Object.keys(this.nodes).length||0}}),e.prototype.clone=function(){return this.nodes=null},e.prototype.getNamedItem=function(e){return this.nodes[e]},e.prototype.setNamedItem=function(e){var t;return t=this.nodes[e.nodeName],this.nodes[e.nodeName]=e,t||null},e.prototype.removeNamedItem=function(e){var t;return t=this.nodes[e],delete this.nodes[e],t||null},e.prototype.item=function(e){return this.nodes[Object.keys(this.nodes)[e]]||null},e.prototype.getNamedItemNS=function(e,t){throw new Error("This DOM method is not implemented.")},e.prototype.setNamedItemNS=function(e){throw new Error("This DOM method is not implemented.")},e.prototype.removeNamedItemNS=function(e,t){throw new Error("This DOM method is not implemented.")},e}()}).call(this);
},{}],88:[function(require,module,exports){
(function(){var t,e,n,r,i,o,s,h,p,u,c,l,d,a,f,y,m,g={}.hasOwnProperty;m=require("./Utility"),y=m.isObject,f=m.isFunction,a=m.isEmpty,d=m.getValue,h=null,n=null,r=null,i=null,o=null,c=null,l=null,u=null,s=null,e=null,p=null,t=null,module.exports=function(){function m(d){this.parent=d,this.parent&&(this.options=this.parent.options,this.stringify=this.parent.stringify),this.value=null,this.children=[],this.baseURI=null,h||(h=require("./XMLElement"),n=require("./XMLCData"),r=require("./XMLComment"),i=require("./XMLDeclaration"),o=require("./XMLDocType"),c=require("./XMLRaw"),l=require("./XMLText"),u=require("./XMLProcessingInstruction"),s=require("./XMLDummy"),e=require("./NodeType"),p=require("./XMLNodeList"),require("./XMLNamedNodeMap"),t=require("./DocumentPosition"))}return Object.defineProperty(m.prototype,"nodeName",{get:function(){return this.name}}),Object.defineProperty(m.prototype,"nodeType",{get:function(){return this.type}}),Object.defineProperty(m.prototype,"nodeValue",{get:function(){return this.value}}),Object.defineProperty(m.prototype,"parentNode",{get:function(){return this.parent}}),Object.defineProperty(m.prototype,"childNodes",{get:function(){return this.childNodeList&&this.childNodeList.nodes||(this.childNodeList=new p(this.children)),this.childNodeList}}),Object.defineProperty(m.prototype,"firstChild",{get:function(){return this.children[0]||null}}),Object.defineProperty(m.prototype,"lastChild",{get:function(){return this.children[this.children.length-1]||null}}),Object.defineProperty(m.prototype,"previousSibling",{get:function(){var t;return t=this.parent.children.indexOf(this),this.parent.children[t-1]||null}}),Object.defineProperty(m.prototype,"nextSibling",{get:function(){var t;return t=this.parent.children.indexOf(this),this.parent.children[t+1]||null}}),Object.defineProperty(m.prototype,"ownerDocument",{get:function(){return this.document()||null}}),Object.defineProperty(m.prototype,"textContent",{get:function(){var t,n,r,i,o;if(this.nodeType===e.Element||this.nodeType===e.DocumentFragment){for(o="",n=0,r=(i=this.children).length;n<r;n++)(t=i[n]).textContent&&(o+=t.textContent);return o}return null},set:function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())}}),m.prototype.setParent=function(t){var e,n,r,i,o;for(this.parent=t,t&&(this.options=t.options,this.stringify=t.stringify),o=[],n=0,r=(i=this.children).length;n<r;n++)e=i[n],o.push(e.setParent(this));return o},m.prototype.element=function(t,e,n){var r,i,o,s,h,p,u,c,l,m,w;if(p=null,null===e&&null==n&&(e=(l=[{},null])[0],n=l[1]),null==e&&(e={}),e=d(e),y(e)||(n=(m=[e,n])[0],e=m[1]),null!=t&&(t=d(t)),Array.isArray(t))for(o=0,u=t.length;o<u;o++)i=t[o],p=this.element(i);else if(f(t))p=this.element(t.apply());else if(y(t)){for(h in t)if(g.call(t,h))if(w=t[h],f(w)&&(w=w.apply()),!this.options.ignoreDecorators&&this.stringify.convertAttKey&&0===h.indexOf(this.stringify.convertAttKey))p=this.attribute(h.substr(this.stringify.convertAttKey.length),w);else if(!this.options.separateArrayItems&&Array.isArray(w)&&a(w))p=this.dummy();else if(y(w)&&a(w))p=this.element(h);else if(this.options.keepNullNodes||null!=w)if(!this.options.separateArrayItems&&Array.isArray(w))for(s=0,c=w.length;s<c;s++)i=w[s],(r={})[h]=i,p=this.element(r);else y(w)?!this.options.ignoreDecorators&&this.stringify.convertTextKey&&0===h.indexOf(this.stringify.convertTextKey)?p=this.element(w):(p=this.element(h)).element(w):p=this.element(h,w);else p=this.dummy()}else p=this.options.keepNullNodes||null!==n?!this.options.ignoreDecorators&&this.stringify.convertTextKey&&0===t.indexOf(this.stringify.convertTextKey)?this.text(n):!this.options.ignoreDecorators&&this.stringify.convertCDataKey&&0===t.indexOf(this.stringify.convertCDataKey)?this.cdata(n):!this.options.ignoreDecorators&&this.stringify.convertCommentKey&&0===t.indexOf(this.stringify.convertCommentKey)?this.comment(n):!this.options.ignoreDecorators&&this.stringify.convertRawKey&&0===t.indexOf(this.stringify.convertRawKey)?this.raw(n):!this.options.ignoreDecorators&&this.stringify.convertPIKey&&0===t.indexOf(this.stringify.convertPIKey)?this.instruction(t.substr(this.stringify.convertPIKey.length),n):this.node(t,e,n):this.dummy();if(null==p)throw new Error("Could not create any elements with: "+t+". "+this.debugInfo());return p},m.prototype.insertBefore=function(t,e,n){var r,i,o,s,h;if(null!=t?t.type:void 0)return s=e,(o=t).setParent(this),s?(i=children.indexOf(s),h=children.splice(i),children.push(o),Array.prototype.push.apply(children,h)):children.push(o),o;if(this.isRoot)throw new Error("Cannot insert elements at root level. "+this.debugInfo(t));return i=this.parent.children.indexOf(this),h=this.parent.children.splice(i),r=this.parent.element(t,e,n),Array.prototype.push.apply(this.parent.children,h),r},m.prototype.insertAfter=function(t,e,n){var r,i,o;if(this.isRoot)throw new Error("Cannot insert elements at root level. "+this.debugInfo(t));return i=this.parent.children.indexOf(this),o=this.parent.children.splice(i+1),r=this.parent.element(t,e,n),Array.prototype.push.apply(this.parent.children,o),r},m.prototype.remove=function(){var t;if(this.isRoot)throw new Error("Cannot remove the root element. "+this.debugInfo());return t=this.parent.children.indexOf(this),[].splice.apply(this.parent.children,[t,t-t+1].concat([])),this.parent},m.prototype.node=function(t,e,n){var r,i;return null!=t&&(t=d(t)),e||(e={}),e=d(e),y(e)||(n=(i=[e,n])[0],e=i[1]),r=new h(this,t,e),null!=n&&r.text(n),this.children.push(r),r},m.prototype.text=function(t){var e;return y(t)&&this.element(t),e=new l(this,t),this.children.push(e),this},m.prototype.cdata=function(t){var e;return e=new n(this,t),this.children.push(e),this},m.prototype.comment=function(t){var e;return e=new r(this,t),this.children.push(e),this},m.prototype.commentBefore=function(t){var e,n;return e=this.parent.children.indexOf(this),n=this.parent.children.splice(e),this.parent.comment(t),Array.prototype.push.apply(this.parent.children,n),this},m.prototype.commentAfter=function(t){var e,n;return e=this.parent.children.indexOf(this),n=this.parent.children.splice(e+1),this.parent.comment(t),Array.prototype.push.apply(this.parent.children,n),this},m.prototype.raw=function(t){var e;return e=new c(this,t),this.children.push(e),this},m.prototype.dummy=function(){return new s(this)},m.prototype.instruction=function(t,e){var n,r,i,o,s;if(null!=t&&(t=d(t)),null!=e&&(e=d(e)),Array.isArray(t))for(o=0,s=t.length;o<s;o++)n=t[o],this.instruction(n);else if(y(t))for(n in t)g.call(t,n)&&(r=t[n],this.instruction(n,r));else f(e)&&(e=e.apply()),i=new u(this,t,e),this.children.push(i);return this},m.prototype.instructionBefore=function(t,e){var n,r;return n=this.parent.children.indexOf(this),r=this.parent.children.splice(n),this.parent.instruction(t,e),Array.prototype.push.apply(this.parent.children,r),this},m.prototype.instructionAfter=function(t,e){var n,r;return n=this.parent.children.indexOf(this),r=this.parent.children.splice(n+1),this.parent.instruction(t,e),Array.prototype.push.apply(this.parent.children,r),this},m.prototype.declaration=function(t,n,r){var o,s;return o=this.document(),s=new i(o,t,n,r),0===o.children.length?o.children.unshift(s):o.children[0].type===e.Declaration?o.children[0]=s:o.children.unshift(s),o.root()||o},m.prototype.dtd=function(t,n){var r,i,s,h,p,u,c,l,d;for(r=this.document(),i=new o(r,t,n),s=h=0,u=(l=r.children).length;h<u;s=++h)if(l[s].type===e.DocType)return r.children[s]=i,i;for(s=p=0,c=(d=r.children).length;p<c;s=++p)if(d[s].isRoot)return r.children.splice(s,0,i),i;return r.children.push(i),i},m.prototype.up=function(){if(this.isRoot)throw new Error("The root node has no parent. Use doc() if you need to get the document object.");return this.parent},m.prototype.root=function(){var t;for(t=this;t;){if(t.type===e.Document)return t.rootObject;if(t.isRoot)return t;t=t.parent}},m.prototype.document=function(){var t;for(t=this;t;){if(t.type===e.Document)return t;t=t.parent}},m.prototype.end=function(t){return this.document().end(t)},m.prototype.prev=function(){var t;if((t=this.parent.children.indexOf(this))<1)throw new Error("Already at the first node. "+this.debugInfo());return this.parent.children[t-1]},m.prototype.next=function(){var t;if(-1===(t=this.parent.children.indexOf(this))||t===this.parent.children.length-1)throw new Error("Already at the last node. "+this.debugInfo());return this.parent.children[t+1]},m.prototype.importDocument=function(t){var e;return(e=t.root().clone()).parent=this,e.isRoot=!1,this.children.push(e),this},m.prototype.debugInfo=function(t){var e,n;return null!=(t=t||this.name)||(null!=(e=this.parent)?e.name:void 0)?null==t?"parent: <"+this.parent.name+">":(null!=(n=this.parent)?n.name:void 0)?"node: <"+t+">, parent: <"+this.parent.name+">":"node: <"+t+">":""},m.prototype.ele=function(t,e,n){return this.element(t,e,n)},m.prototype.nod=function(t,e,n){return this.node(t,e,n)},m.prototype.txt=function(t){return this.text(t)},m.prototype.dat=function(t){return this.cdata(t)},m.prototype.com=function(t){return this.comment(t)},m.prototype.ins=function(t,e){return this.instruction(t,e)},m.prototype.doc=function(){return this.document()},m.prototype.dec=function(t,e,n){return this.declaration(t,e,n)},m.prototype.e=function(t,e,n){return this.element(t,e,n)},m.prototype.n=function(t,e,n){return this.node(t,e,n)},m.prototype.t=function(t){return this.text(t)},m.prototype.d=function(t){return this.cdata(t)},m.prototype.c=function(t){return this.comment(t)},m.prototype.r=function(t){return this.raw(t)},m.prototype.i=function(t,e){return this.instruction(t,e)},m.prototype.u=function(){return this.up()},m.prototype.importXMLBuilder=function(t){return this.importDocument(t)},m.prototype.replaceChild=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.removeChild=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.appendChild=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.hasChildNodes=function(){return 0!==this.children.length},m.prototype.cloneNode=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.normalize=function(){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.isSupported=function(t,e){return!0},m.prototype.hasAttributes=function(){return 0!==this.attribs.length},m.prototype.compareDocumentPosition=function(e){var n;return this,this===e?0:this.document()!==e.document()?(n=t.Disconnected|t.ImplementationSpecific,Math.random()<.5?n|=t.Preceding:n|=t.Following,n):this.isAncestor(e)?t.Contains|t.Preceding:this.isDescendant(e)?t.Contains|t.Following:this.isPreceding(e)?t.Preceding:t.Following},m.prototype.isSameNode=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.lookupPrefix=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.isDefaultNamespace=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.lookupNamespaceURI=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.isEqualNode=function(t){var e,n,r;if(t.nodeType!==this.nodeType)return!1;if(t.children.length!==this.children.length)return!1;for(e=n=0,r=this.children.length-1;0<=r?n<=r:n>=r;e=0<=r?++n:--n)if(!this.children[e].isEqualNode(t.children[e]))return!1;return!0},m.prototype.getFeature=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.setUserData=function(t,e,n){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.getUserData=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.contains=function(t){return!!t&&(t===this||this.isDescendant(t))},m.prototype.isDescendant=function(t){var e,n,r,i;for(n=0,r=(i=this.children).length;n<r;n++){if(t===(e=i[n]))return!0;if(e.isDescendant(t))return!0}return!1},m.prototype.isAncestor=function(t){return t.isDescendant(this)},m.prototype.isPreceding=function(t){var e,n;return e=this.treePosition(t),n=this.treePosition(this),-1!==e&&-1!==n&&e<n},m.prototype.isFollowing=function(t){var e,n;return e=this.treePosition(t),n=this.treePosition(this),-1!==e&&-1!==n&&e>n},m.prototype.treePosition=function(t){var e,n;return n=0,e=!1,this.foreachTreeNode(this.document(),function(r){if(n++,!e&&r===t)return e=!0}),e?n:-1},m.prototype.foreachTreeNode=function(t,e){var n,r,i,o,s;for(t||(t=this.document()),r=0,i=(o=t.children).length;r<i;r++){if(s=e(n=o[r]))return s;if(s=this.foreachTreeNode(n,e))return s}},m}()}).call(this);
},{"./DocumentPosition":65,"./NodeType":66,"./Utility":67,"./XMLCData":70,"./XMLComment":72,"./XMLDeclaration":81,"./XMLDocType":82,"./XMLDummy":85,"./XMLElement":86,"./XMLNamedNodeMap":87,"./XMLNodeList":89,"./XMLProcessingInstruction":90,"./XMLRaw":91,"./XMLText":95}],89:[function(require,module,exports){
(function(){module.exports=function(){function t(t){this.nodes=t}return Object.defineProperty(t.prototype,"length",{get:function(){return this.nodes.length||0}}),t.prototype.clone=function(){return this.nodes=null},t.prototype.item=function(t){return this.nodes[t]||null},t}()}).call(this);
},{}],90:[function(require,module,exports){
(function(){var t,r,i={}.hasOwnProperty;t=require("./NodeType"),r=require("./XMLCharacterData"),module.exports=function(e){function o(r,i,e){if(o.__super__.constructor.call(this,r),null==i)throw new Error("Missing instruction target. "+this.debugInfo());this.type=t.ProcessingInstruction,this.target=this.stringify.insTarget(i),this.name=this.target,e&&(this.value=this.stringify.insValue(e))}return function(t,r){for(var e in r)i.call(r,e)&&(t[e]=r[e]);function o(){this.constructor=t}o.prototype=r.prototype,t.prototype=new o,t.__super__=r.prototype}(o,r),o.prototype.clone=function(){return Object.create(this)},o.prototype.toString=function(t){return this.options.writer.processingInstruction(this,this.options.writer.filterOptions(t))},o.prototype.isEqualNode=function(t){return!!o.__super__.isEqualNode.apply(this,arguments).isEqualNode(t)&&t.target===this.target},o}()}).call(this);
},{"./NodeType":66,"./XMLCharacterData":71}],91:[function(require,module,exports){
(function(){var t,r,o={}.hasOwnProperty;t=require("./NodeType"),r=require("./XMLNode"),module.exports=function(e){function i(r,o){if(i.__super__.constructor.call(this,r),null==o)throw new Error("Missing raw text. "+this.debugInfo());this.type=t.Raw,this.value=this.stringify.raw(o)}return function(t,r){for(var e in r)o.call(r,e)&&(t[e]=r[e]);function i(){this.constructor=t}i.prototype=r.prototype,t.prototype=new i,t.__super__=r.prototype}(i,r),i.prototype.clone=function(){return Object.create(this)},i.prototype.toString=function(t){return this.options.writer.raw(this,this.options.writer.filterOptions(t))},i}()}).call(this);
},{"./NodeType":66,"./XMLNode":88}],92:[function(require,module,exports){
(function(){var t,e,r,s={}.hasOwnProperty;t=require("./NodeType"),r=require("./XMLWriterBase"),e=require("./WriterState"),module.exports=function(i){function n(t,e){this.stream=t,n.__super__.constructor.call(this,e)}return function(t,e){for(var r in e)s.call(e,r)&&(t[r]=e[r]);function i(){this.constructor=t}i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype}(n,r),n.prototype.endline=function(t,r,s){return t.isLastRootNode&&r.state===e.CloseTag?"":n.__super__.endline.call(this,t,r,s)},n.prototype.document=function(t,e){var r,s,i,n,o,a,h,l,p;for(s=i=0,o=(h=t.children).length;i<o;s=++i)(r=h[s]).isLastRootNode=s===t.children.length-1;for(e=this.filterOptions(e),p=[],n=0,a=(l=t.children).length;n<a;n++)r=l[n],p.push(this.writeChildNode(r,e,0));return p},n.prototype.attribute=function(t,e,r){return this.stream.write(n.__super__.attribute.call(this,t,e,r))},n.prototype.cdata=function(t,e,r){return this.stream.write(n.__super__.cdata.call(this,t,e,r))},n.prototype.comment=function(t,e,r){return this.stream.write(n.__super__.comment.call(this,t,e,r))},n.prototype.declaration=function(t,e,r){return this.stream.write(n.__super__.declaration.call(this,t,e,r))},n.prototype.docType=function(t,r,s){var i,n,o,a;if(s||(s=0),this.openNode(t,r,s),r.state=e.OpenTag,this.stream.write(this.indent(t,r,s)),this.stream.write("<!DOCTYPE "+t.root().name),t.pubID&&t.sysID?this.stream.write(' PUBLIC "'+t.pubID+'" "'+t.sysID+'"'):t.sysID&&this.stream.write(' SYSTEM "'+t.sysID+'"'),t.children.length>0){for(this.stream.write(" ["),this.stream.write(this.endline(t,r,s)),r.state=e.InsideTag,n=0,o=(a=t.children).length;n<o;n++)i=a[n],this.writeChildNode(i,r,s+1);r.state=e.CloseTag,this.stream.write("]")}return r.state=e.CloseTag,this.stream.write(r.spaceBeforeSlash+">"),this.stream.write(this.endline(t,r,s)),r.state=e.None,this.closeNode(t,r,s)},n.prototype.element=function(r,i,n){var o,a,h,l,p,u,c,d,_;for(c in n||(n=0),this.openNode(r,i,n),i.state=e.OpenTag,this.stream.write(this.indent(r,i,n)+"<"+r.name),d=r.attribs)s.call(d,c)&&(o=d[c],this.attribute(o,i,n));if(l=0===(h=r.children.length)?null:r.children[0],0===h||r.children.every(function(e){return(e.type===t.Text||e.type===t.Raw)&&""===e.value}))i.allowEmpty?(this.stream.write(">"),i.state=e.CloseTag,this.stream.write("</"+r.name+">")):(i.state=e.CloseTag,this.stream.write(i.spaceBeforeSlash+"/>"));else if(!i.pretty||1!==h||l.type!==t.Text&&l.type!==t.Raw||null==l.value){for(this.stream.write(">"+this.endline(r,i,n)),i.state=e.InsideTag,p=0,u=(_=r.children).length;p<u;p++)a=_[p],this.writeChildNode(a,i,n+1);i.state=e.CloseTag,this.stream.write(this.indent(r,i,n)+"</"+r.name+">")}else this.stream.write(">"),i.state=e.InsideTag,i.suppressPrettyCount++,!0,this.writeChildNode(l,i,n+1),i.suppressPrettyCount--,!1,i.state=e.CloseTag,this.stream.write("</"+r.name+">");return this.stream.write(this.endline(r,i,n)),i.state=e.None,this.closeNode(r,i,n)},n.prototype.processingInstruction=function(t,e,r){return this.stream.write(n.__super__.processingInstruction.call(this,t,e,r))},n.prototype.raw=function(t,e,r){return this.stream.write(n.__super__.raw.call(this,t,e,r))},n.prototype.text=function(t,e,r){return this.stream.write(n.__super__.text.call(this,t,e,r))},n.prototype.dtdAttList=function(t,e,r){return this.stream.write(n.__super__.dtdAttList.call(this,t,e,r))},n.prototype.dtdElement=function(t,e,r){return this.stream.write(n.__super__.dtdElement.call(this,t,e,r))},n.prototype.dtdEntity=function(t,e,r){return this.stream.write(n.__super__.dtdEntity.call(this,t,e,r))},n.prototype.dtdNotation=function(t,e,r){return this.stream.write(n.__super__.dtdNotation.call(this,t,e,r))},n}()}).call(this);
},{"./NodeType":66,"./WriterState":68,"./XMLWriterBase":96}],93:[function(require,module,exports){
(function(){var t,e={}.hasOwnProperty;t=require("./XMLWriterBase"),module.exports=function(n){function r(t){r.__super__.constructor.call(this,t)}return function(t,n){for(var r in n)e.call(n,r)&&(t[r]=n[r]);function o(){this.constructor=t}o.prototype=n.prototype,t.prototype=new o,t.__super__=n.prototype}(r,t),r.prototype.document=function(t,e){var n,r,o,i,l;for(e=this.filterOptions(e),i="",r=0,o=(l=t.children).length;r<o;r++)n=l[r],i+=this.writeChildNode(n,e,0);return e.pretty&&i.slice(-e.newline.length)===e.newline&&(i=i.slice(0,-e.newline.length)),i},r}()}).call(this);
},{"./XMLWriterBase":96}],94:[function(require,module,exports){
(function(){var t=function(t,o){return function(){return t.apply(o,arguments)}},o={}.hasOwnProperty;module.exports=function(){function n(n){var r,i,e;for(r in this.assertLegalName=t(this.assertLegalName,this),this.assertLegalChar=t(this.assertLegalChar,this),n||(n={}),this.options=n,this.options.version||(this.options.version="1.0"),i=n.stringify||{})o.call(i,r)&&(e=i[r],this[r]=e)}return n.prototype.name=function(t){return this.options.noValidation?t:this.assertLegalName(""+t||"")},n.prototype.text=function(t){return this.options.noValidation?t:this.assertLegalChar(this.textEscape(""+t||""))},n.prototype.cdata=function(t){return this.options.noValidation?t:(t=(t=""+t||"").replace("]]>","]]]]><![CDATA[>"),this.assertLegalChar(t))},n.prototype.comment=function(t){if(this.options.noValidation)return t;if((t=""+t||"").match(/--/))throw new Error("Comment text cannot contain double-hypen: "+t);return this.assertLegalChar(t)},n.prototype.raw=function(t){return this.options.noValidation?t:""+t||""},n.prototype.attValue=function(t){return this.options.noValidation?t:this.assertLegalChar(this.attEscape(t=""+t||""))},n.prototype.insTarget=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},n.prototype.insValue=function(t){if(this.options.noValidation)return t;if((t=""+t||"").match(/\?>/))throw new Error("Invalid processing instruction value: "+t);return this.assertLegalChar(t)},n.prototype.xmlVersion=function(t){if(this.options.noValidation)return t;if(!(t=""+t||"").match(/1\.[0-9]+/))throw new Error("Invalid version number: "+t);return t},n.prototype.xmlEncoding=function(t){if(this.options.noValidation)return t;if(!(t=""+t||"").match(/^[A-Za-z](?:[A-Za-z0-9._-])*$/))throw new Error("Invalid encoding: "+t);return this.assertLegalChar(t)},n.prototype.xmlStandalone=function(t){return this.options.noValidation?t:t?"yes":"no"},n.prototype.dtdPubID=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},n.prototype.dtdSysID=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},n.prototype.dtdElementValue=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},n.prototype.dtdAttType=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},n.prototype.dtdAttDefault=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},n.prototype.dtdEntityValue=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},n.prototype.dtdNData=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},n.prototype.convertAttKey="@",n.prototype.convertPIKey="?",n.prototype.convertTextKey="#text",n.prototype.convertCDataKey="#cdata",n.prototype.convertCommentKey="#comment",n.prototype.convertRawKey="#raw",n.prototype.assertLegalChar=function(t){var o,n;if(this.options.noValidation)return t;if(o="","1.0"===this.options.version){if(o=/[\0-\x08\x0B\f\x0E-\x1F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,n=t.match(o))throw new Error("Invalid character in string: "+t+" at index "+n.index)}else if("1.1"===this.options.version&&(o=/[\0\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,n=t.match(o)))throw new Error("Invalid character in string: "+t+" at index "+n.index);return t},n.prototype.assertLegalName=function(t){var o;if(this.options.noValidation)return t;if(this.assertLegalChar(t),o=/^([:A-Z_a-z\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])([\x2D\.0-:A-Z_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])*$/,!t.match(o))throw new Error("Invalid character in name");return t},n.prototype.textEscape=function(t){var o;return this.options.noValidation?t:(o=this.options.noDoubleEncoding?/(?!&\S+;)&/g:/&/g,t.replace(o,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\r/g,"&#xD;"))},n.prototype.attEscape=function(t){var o;return this.options.noValidation?t:(o=this.options.noDoubleEncoding?/(?!&\S+;)&/g:/&/g,t.replace(o,"&amp;").replace(/</g,"&lt;").replace(/"/g,"&quot;").replace(/\t/g,"&#x9;").replace(/\n/g,"&#xA;").replace(/\r/g,"&#xD;"))},n}()}).call(this);
},{}],95:[function(require,module,exports){
(function(){var t,e,o={}.hasOwnProperty;t=require("./NodeType"),e=require("./XMLCharacterData"),module.exports=function(r){function i(e,o){if(i.__super__.constructor.call(this,e),null==o)throw new Error("Missing element text. "+this.debugInfo());this.name="#text",this.type=t.Text,this.value=this.stringify.text(o)}return function(t,e){for(var r in e)o.call(e,r)&&(t[r]=e[r]);function i(){this.constructor=t}i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype}(i,e),Object.defineProperty(i.prototype,"isElementContentWhitespace",{get:function(){throw new Error("This DOM method is not implemented."+this.debugInfo())}}),Object.defineProperty(i.prototype,"wholeText",{get:function(){var t,e,o;for(o="",e=this.previousSibling;e;)o=e.data+o,e=e.previousSibling;for(o+=this.data,t=this.nextSibling;t;)o+=t.data,t=t.nextSibling;return o}}),i.prototype.clone=function(){return Object.create(this)},i.prototype.toString=function(t){return this.options.writer.text(this,this.options.writer.filterOptions(t))},i.prototype.splitText=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},i.prototype.replaceWholeText=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},i}()}).call(this);
},{"./NodeType":66,"./XMLCharacterData":71}],96:[function(require,module,exports){
(function(){var e,t,n,s={}.hasOwnProperty;n=require("./Utility").assign,e=require("./NodeType"),require("./XMLDeclaration"),require("./XMLDocType"),require("./XMLCData"),require("./XMLComment"),require("./XMLElement"),require("./XMLRaw"),require("./XMLText"),require("./XMLProcessingInstruction"),require("./XMLDummy"),require("./XMLDTDAttList"),require("./XMLDTDElement"),require("./XMLDTDEntity"),require("./XMLDTDNotation"),t=require("./WriterState"),module.exports=function(){function o(e){var t,n,o;for(t in e||(e={}),this.options=e,n=e.writer||{})s.call(n,t)&&(o=n[t],this["_"+t]=this[t],this[t]=o)}return o.prototype.filterOptions=function(e){var s,o,a,i,r,l,u,p;return e||(e={}),e=n({},this.options,e),(s={writer:this}).pretty=e.pretty||!1,s.allowEmpty=e.allowEmpty||!1,s.indent=null!=(o=e.indent)?o:" ",s.newline=null!=(a=e.newline)?a:"\n",s.offset=null!=(i=e.offset)?i:0,s.dontPrettyTextNodes=null!=(r=null!=(l=e.dontPrettyTextNodes)?l:e.dontprettytextnodes)?r:0,s.spaceBeforeSlash=null!=(u=null!=(p=e.spaceBeforeSlash)?p:e.spacebeforeslash)?u:"",!0===s.spaceBeforeSlash&&(s.spaceBeforeSlash=" "),s.suppressPrettyCount=0,s.user={},s.state=t.None,s},o.prototype.indent=function(e,t,n){var s;return!t.pretty||t.suppressPrettyCount?"":t.pretty&&(s=(n||0)+t.offset+1)>0?new Array(s).join(t.indent):""},o.prototype.endline=function(e,t,n){return!t.pretty||t.suppressPrettyCount?"":t.newline},o.prototype.attribute=function(e,t,n){var s;return this.openAttribute(e,t,n),s=" "+e.name+'="'+e.value+'"',this.closeAttribute(e,t,n),s},o.prototype.cdata=function(e,n,s){var o;return this.openNode(e,n,s),n.state=t.OpenTag,o=this.indent(e,n,s)+"<![CDATA[",n.state=t.InsideTag,o+=e.value,n.state=t.CloseTag,o+="]]>"+this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),o},o.prototype.comment=function(e,n,s){var o;return this.openNode(e,n,s),n.state=t.OpenTag,o=this.indent(e,n,s)+"\x3c!-- ",n.state=t.InsideTag,o+=e.value,n.state=t.CloseTag,o+=" --\x3e"+this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),o},o.prototype.declaration=function(e,n,s){var o;return this.openNode(e,n,s),n.state=t.OpenTag,o=this.indent(e,n,s)+"<?xml",n.state=t.InsideTag,o+=' version="'+e.version+'"',null!=e.encoding&&(o+=' encoding="'+e.encoding+'"'),null!=e.standalone&&(o+=' standalone="'+e.standalone+'"'),n.state=t.CloseTag,o+=n.spaceBeforeSlash+"?>",o+=this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),o},o.prototype.docType=function(e,n,s){var o,a,i,r,l;if(s||(s=0),this.openNode(e,n,s),n.state=t.OpenTag,r=this.indent(e,n,s),r+="<!DOCTYPE "+e.root().name,e.pubID&&e.sysID?r+=' PUBLIC "'+e.pubID+'" "'+e.sysID+'"':e.sysID&&(r+=' SYSTEM "'+e.sysID+'"'),e.children.length>0){for(r+=" [",r+=this.endline(e,n,s),n.state=t.InsideTag,a=0,i=(l=e.children).length;a<i;a++)o=l[a],r+=this.writeChildNode(o,n,s+1);n.state=t.CloseTag,r+="]"}return n.state=t.CloseTag,r+=n.spaceBeforeSlash+">",r+=this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),r},o.prototype.element=function(n,o,a){var i,r,l,u,p,d,h,c,y,T,f,N,g,D;for(y in a||(a=0),T=!1,f="",this.openNode(n,o,a),o.state=t.OpenTag,f+=this.indent(n,o,a)+"<"+n.name,N=n.attribs)s.call(N,y)&&(i=N[y],f+=this.attribute(i,o,a));if(u=0===(l=n.children.length)?null:n.children[0],0===l||n.children.every(function(t){return(t.type===e.Text||t.type===e.Raw)&&""===t.value}))o.allowEmpty?(f+=">",o.state=t.CloseTag,f+="</"+n.name+">"+this.endline(n,o,a)):(o.state=t.CloseTag,f+=o.spaceBeforeSlash+"/>"+this.endline(n,o,a));else if(!o.pretty||1!==l||u.type!==e.Text&&u.type!==e.Raw||null==u.value){if(o.dontPrettyTextNodes)for(p=0,h=(g=n.children).length;p<h;p++)if(((r=g[p]).type===e.Text||r.type===e.Raw)&&null!=r.value){o.suppressPrettyCount++,T=!0;break}for(f+=">"+this.endline(n,o,a),o.state=t.InsideTag,d=0,c=(D=n.children).length;d<c;d++)r=D[d],f+=this.writeChildNode(r,o,a+1);o.state=t.CloseTag,f+=this.indent(n,o,a)+"</"+n.name+">",T&&o.suppressPrettyCount--,f+=this.endline(n,o,a),o.state=t.None}else f+=">",o.state=t.InsideTag,o.suppressPrettyCount++,T=!0,f+=this.writeChildNode(u,o,a+1),o.suppressPrettyCount--,T=!1,o.state=t.CloseTag,f+="</"+n.name+">"+this.endline(n,o,a);return this.closeNode(n,o,a),f},o.prototype.writeChildNode=function(t,n,s){switch(t.type){case e.CData:return this.cdata(t,n,s);case e.Comment:return this.comment(t,n,s);case e.Element:return this.element(t,n,s);case e.Raw:return this.raw(t,n,s);case e.Text:return this.text(t,n,s);case e.ProcessingInstruction:return this.processingInstruction(t,n,s);case e.Dummy:return"";case e.Declaration:return this.declaration(t,n,s);case e.DocType:return this.docType(t,n,s);case e.AttributeDeclaration:return this.dtdAttList(t,n,s);case e.ElementDeclaration:return this.dtdElement(t,n,s);case e.EntityDeclaration:return this.dtdEntity(t,n,s);case e.NotationDeclaration:return this.dtdNotation(t,n,s);default:throw new Error("Unknown XML node type: "+t.constructor.name)}},o.prototype.processingInstruction=function(e,n,s){var o;return this.openNode(e,n,s),n.state=t.OpenTag,o=this.indent(e,n,s)+"<?",n.state=t.InsideTag,o+=e.target,e.value&&(o+=" "+e.value),n.state=t.CloseTag,o+=n.spaceBeforeSlash+"?>",o+=this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),o},o.prototype.raw=function(e,n,s){var o;return this.openNode(e,n,s),n.state=t.OpenTag,o=this.indent(e,n,s),n.state=t.InsideTag,o+=e.value,n.state=t.CloseTag,o+=this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),o},o.prototype.text=function(e,n,s){var o;return this.openNode(e,n,s),n.state=t.OpenTag,o=this.indent(e,n,s),n.state=t.InsideTag,o+=e.value,n.state=t.CloseTag,o+=this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),o},o.prototype.dtdAttList=function(e,n,s){var o;return this.openNode(e,n,s),n.state=t.OpenTag,o=this.indent(e,n,s)+"<!ATTLIST",n.state=t.InsideTag,o+=" "+e.elementName+" "+e.attributeName+" "+e.attributeType,"#DEFAULT"!==e.defaultValueType&&(o+=" "+e.defaultValueType),e.defaultValue&&(o+=' "'+e.defaultValue+'"'),n.state=t.CloseTag,o+=n.spaceBeforeSlash+">"+this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),o},o.prototype.dtdElement=function(e,n,s){var o;return this.openNode(e,n,s),n.state=t.OpenTag,o=this.indent(e,n,s)+"<!ELEMENT",n.state=t.InsideTag,o+=" "+e.name+" "+e.value,n.state=t.CloseTag,o+=n.spaceBeforeSlash+">"+this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),o},o.prototype.dtdEntity=function(e,n,s){var o;return this.openNode(e,n,s),n.state=t.OpenTag,o=this.indent(e,n,s)+"<!ENTITY",n.state=t.InsideTag,e.pe&&(o+=" %"),o+=" "+e.name,e.value?o+=' "'+e.value+'"':(e.pubID&&e.sysID?o+=' PUBLIC "'+e.pubID+'" "'+e.sysID+'"':e.sysID&&(o+=' SYSTEM "'+e.sysID+'"'),e.nData&&(o+=" NDATA "+e.nData)),n.state=t.CloseTag,o+=n.spaceBeforeSlash+">"+this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),o},o.prototype.dtdNotation=function(e,n,s){var o;return this.openNode(e,n,s),n.state=t.OpenTag,o=this.indent(e,n,s)+"<!NOTATION",n.state=t.InsideTag,o+=" "+e.name,e.pubID&&e.sysID?o+=' PUBLIC "'+e.pubID+'" "'+e.sysID+'"':e.pubID?o+=' PUBLIC "'+e.pubID+'"':e.sysID&&(o+=' SYSTEM "'+e.sysID+'"'),n.state=t.CloseTag,o+=n.spaceBeforeSlash+">"+this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),o},o.prototype.openNode=function(e,t,n){},o.prototype.closeNode=function(e,t,n){},o.prototype.openAttribute=function(e,t,n){},o.prototype.closeAttribute=function(e,t,n){},o}()}).call(this);
},{"./NodeType":66,"./Utility":67,"./WriterState":68,"./XMLCData":70,"./XMLComment":72,"./XMLDTDAttList":77,"./XMLDTDElement":78,"./XMLDTDEntity":79,"./XMLDTDNotation":80,"./XMLDeclaration":81,"./XMLDocType":82,"./XMLDummy":85,"./XMLElement":86,"./XMLProcessingInstruction":90,"./XMLRaw":91,"./XMLText":95}],97:[function(require,module,exports){
(function(){var e,r,t,n,i,o,u,l,m,s;s=require("./Utility"),l=s.assign,m=s.isFunction,t=require("./XMLDOMImplementation"),n=require("./XMLDocument"),i=require("./XMLDocumentCB"),u=require("./XMLStringWriter"),o=require("./XMLStreamWriter"),e=require("./NodeType"),r=require("./WriterState"),module.exports.create=function(e,r,t,i){var o,u;if(null==e)throw new Error("Root element needs a name.");return i=l({},r,t,i),u=(o=new n(i)).element(e),i.headless||(o.declaration(i),null==i.pubID&&null==i.sysID||o.dtd(i)),u},module.exports.begin=function(e,r,t){var o;return m(e)&&(r=(o=[e,r])[0],t=o[1],e={}),r?new i(e,r,t):new n(e)},module.exports.stringWriter=function(e){return new u(e)},module.exports.streamWriter=function(e,r){return new o(e,r)},module.exports.implementation=new t,module.exports.nodeType=e,module.exports.writerState=r}).call(this);
},{"./NodeType":66,"./Utility":67,"./WriterState":68,"./XMLDOMImplementation":75,"./XMLDocument":83,"./XMLDocumentCB":84,"./XMLStreamWriter":92,"./XMLStringWriter":93}],98:[function(require,module,exports){
},{}],99:[function(require,module,exports){
"use strict";var __assign=this&&this.__assign||function(){return(__assign=Object.assign||function(e){for(var t,i=1,a=arguments.length;i<a;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},__createBinding=this&&this.__createBinding||(Object.create?function(e,t,i,a){void 0===a&&(a=i),Object.defineProperty(e,a,{enumerable:!0,get:function(){return t[i]}})}:function(e,t,i,a){void 0===a&&(a=i),e[a]=t[i]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&__createBinding(t,e,i);return __setModuleDefault(t,e),t},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});var jQuery=require("jquery");require("jquery-ui");var inputsWithValue,utils_1=__importDefault(require("./modules/utils")),Communication=__importStar(require("./modules/communication")),Parser=__importStar(require("./modules/parser")),UI=__importStar(require("./modules/ui")),BookingBtn=__importStar(require("./modules/bookingButton")),Parent=__importStar(require("./modules/parent"));function messageHandler(e){if("string"==typeof e.data){var t=JSON.parse(e.data);switch(utils_1.default.consoleLog("parent: received from "+t.from),utils_1.default.consoleLog(t),t.event){case"child_init_needInputsWithValue":Parent.initNeedInputsWithValue(inputsWithValue);break;case"child_init_needVenueXML":Parent.initNeedVenueXML(inputsWithValue);break;case"child_needSeatmapXML":Parent.needSeatmapXML(e,inputsWithValue);break;case"child_seatmap_ready":utils_1.default.consoleLog("child completely ready"),jQuery("#containerBookingBtn").show();break;case"child_needCheckoutResponse":Parent.needCheckoutResponse(e,inputsWithValue);break;case"child_hide_dialog_titlebar":jQuery(".ui-dialog-titlebar").hide();break;case"child_show_dialog_titlebar":jQuery(".ui-dialog-titlebar").show();break;case"child_click_checkout":Parent.clickCheckout(e);break;case"child_closeDialog":jQuery(".ui-dialog-titlebar-close").click()}}}require("../src/css/inject.css"),window.addEventListener("load",function(){var e=(new XMLSerializer).serializeToString(document);inputsWithValue=__assign(__assign({},inputsWithValue),Parser.getInputs(e)),utils_1.default.consoleLog(inputsWithValue),utils_1.default.consoleLog("trxstate: "+inputsWithValue.trxstate);var t=/posturl:"(.+?)"/.test(e);utils_1.default.consoleLog("posturl available: "+t),"20"===inputsWithValue.trxstate&&!1!==t&&(Parent.injectResources(),Communication.listenToMessages(messageHandler),inputsWithValue=__assign(__assign({},inputsWithValue),Parser.getAdditionalInputs(e)),inputsWithValue=__assign(__assign({},inputsWithValue),Parser.getVenueImage()),(inputsWithValue=__assign(__assign({},inputsWithValue),Parser.getImportantNote())).smap=Parser.getSMAP(),BookingBtn.injectBookingBtn(),UI.createDialog(),utils_1.default.consoleLog(inputsWithValue))});
},{"../src/css/inject.css":98,"./modules/bookingButton":100,"./modules/communication":103,"./modules/parent":110,"./modules/parser":111,"./modules/ui":113,"./modules/utils":114,"jquery":37,"jquery-ui":36}],100:[function(require,module,exports){
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,n,t,i){void 0===i&&(i=t),Object.defineProperty(e,i,{enumerable:!0,get:function(){return n[t]}})}:function(e,n,t,i){void 0===i&&(i=t),e[i]=n[t]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,n){Object.defineProperty(e,"default",{enumerable:!0,value:n})}:function(e,n){e.default=n}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var n={};if(null!=e)for(var t in e)"default"!==t&&Object.prototype.hasOwnProperty.call(e,t)&&__createBinding(n,e,t);return __setModuleDefault(n,e),n};Object.defineProperty(exports,"__esModule",{value:!0}),exports.showSeatmapBtnParent=exports.injectBookingBtn=void 0;var Communication=__importStar(require("./communication"));function injectBookingBtn(){jQuery(".flash_seat_map_box").remove(),changeBookingBtnCSS(),appendBookingBtnHTML()}function showSeatmapBtnParent(){Communication.sendEventToParent("child_seatmap_ready")}function appendBookingBtnHTML(){jQuery("#flash_seat_map_box_id").append('\n <div class="row_space"></div>\n <div class="row_space"></div>\n <div id="containerBookingBtn">\n <a class="continue" id="openSeatmap">\n <span>Saalplanbuchung</span>\n </a>\n <div id="dialogSeatmap" hidden="hidden"></div>\n </div>\n ')}function changeBookingBtnCSS(){jQuery("#flash_seat_map_box_id").css({display:"block",position:"relative",width:"100%"})}exports.injectBookingBtn=injectBookingBtn,exports.showSeatmapBtnParent=showSeatmapBtnParent;
},{"./communication":103}],101:[function(require,module,exports){
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,a){void 0===a&&(a=r),Object.defineProperty(e,a,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,a){void 0===a&&(a=r),e[a]=t[r]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(t,e,r);return __setModuleDefault(t,e),t};Object.defineProperty(exports,"__esModule",{value:!0}),exports.generateCheckoutUrl=exports.initModalCart=exports.generateCartItems=exports.calcOverallPrice=exports.changedDropdownBuyerType=exports.removeCartItems=exports.addItem=void 0;var XMLHelper=__importStar(require("./xmlhelper")),config_1=require("./config"),Events=__importStar(require("./events")),CartButtons=__importStar(require("./cartButtons"));function addItem(e){var t="#"+XMLHelper.getVenuePricescalePropertyByPricescaleID("color",e.data.seatsObj.id[0]),r=XMLHelper.getVenuePricescalePropertyByPricescaleID("desc",e.data.seatsObj.id[0]),a=config_1.config.state.layoutRows[e.id][5],n=config_1.config.state.layoutRows[e.id][4],o=config_1.config.state.layoutRows[e.id][3],c=XMLHelper.getSectionDescBySectionID(o)+"<br/>Reihe "+n+" Platz "+a,i=XMLHelper.getBuyerTypesByPricescaleID(e.data.seatsObj.id[0]),s="cartItem-"+e.id,d="#"+s+" .dropdownBuyerTypes";appendHTML(s,t,r,c),addDropdownBuyerTypeOptions(i,d),Events.addCartDropdownBuyerTypes(d,e)}function removeCartItems(){jQuery("#cartItemHTML .cartItem").each(function(){this.remove()})}function changedDropdownBuyerType(e,t){var r=config_1.config.state.selectedSeatsArr.findIndex(function(e){return e[0]===t.id});config_1.config.state.selectedSeatsArr[r][1]=e.value;var a=XMLHelper.getBuyerTypeCodeByBuyerTypeID(e.value);a&&(config_1.config.state.selectedSeatsArr[r][2]=a),calcOverallPrice(),CartButtons.setBtnCartText();var n=generateCheckoutUrl();Events.addRedirectCheckout(n)}function calcOverallPrice(){return config_1.config.state.selectedSeatsArr.length?(config_1.config.state.priceOverall=sumSeatPrices(),config_1.config.state.priceOverall):(config_1.config.state.priceOverall="0","0")}function generateCartItems(){if(config_1.config.state.selectedSeatsArr.length)for(var e in config_1.config.state.selectedSeatsObj){if(Object.prototype.hasOwnProperty.call(config_1.config.state.selectedSeatsObj,e))addItem(config_1.config.state.selectedSeatsObj[e])}}function initModalCart(){jQuery("#modalCart-overlay").hide(),Events.addCartBack(),Events.addCartClose()}function generateCheckoutUrl(){if(config_1.config.state.selectedSeatsArr.length){var e=config_1.config.state.inputsWithValue,t=XMLHelper.generateSelectedSeatIndexes();return e.ticketPurchaseUrl+"?user_context="+e.user_context+"&pid="+e.pid+"&selected_seat_indexes="+t+"&trxstate=148"}}function appendHTML(e,t,r,a){jQuery("#cartItemHTML .fl-html").append('\n <div class="cartItem" id="'+e+'">\n <div class="cartItemColoredSquare" style="background: '+t+';"></div>\n <div class="cartItemCategory">'+r+'</div>\n <h5 class="cartItemSeat">'+a+'</h5>\n <select name="dropdownBuyerTypes" class="dropdownBuyerTypes"></select>\n </div>')}function addDropdownBuyerTypeOptions(e,t){e&&e.forEach(function(e){e[0]&&appendOption(t,e)})}function appendOption(e,t){var r=jQuery(e).get(0),a=document.createElement("option");a.value=t[0],a.innerHTML=t[2]+" €"+t[1],r.appendChild(a)}function sumSeatPrices(){return config_1.config.state.selectedSeatsArr.map(getSeatPrice).reduce(function(e,t){return e+t}).toFixed(2)}function getSeatPrice(e){var t=e[0],r=e[1],a=config_1.config.state.selectedSeatsObj[t].data.seatsObj.id[0],n=XMLHelper.getVenuePriceStructurePropertyByPricescaleID(a);if(n){var o=XMLHelper.getPriceByBuyerTypeID(r,n);if(o)return o}return 0}exports.addItem=addItem,exports.removeCartItems=removeCartItems,exports.changedDropdownBuyerType=changedDropdownBuyerType,exports.calcOverallPrice=calcOverallPrice,exports.generateCartItems=generateCartItems,exports.initModalCart=initModalCart,exports.generateCheckoutUrl=generateCheckoutUrl;
},{"./cartButtons":102,"./config":104,"./events":105,"./xmlhelper":115}],102:[function(require,module,exports){
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.showHideBtnCartLoading=exports.setBtnCartText=void 0;var config_1=require("./config");function setBtnCartText(){jQuery("#modalCart .uabb-button-text")[0].innerText=createCartBtnText(),jQuery("#modalCartSum .uabb-heading-text")[0].textContent=createModalCartBtnText()}function createCartBtnText(){var t=config_1.config.state.selectedSeatsArr.length;return""!==config_1.config.state.priceOverall?1===t?t+" Ticket für €"+config_1.config.state.priceOverall:t+" Tickets für €"+config_1.config.state.priceOverall:"0 Tickets für €0.00"}function createModalCartBtnText(){var t=config_1.config.state.selectedSeatsArr.length;return""!==config_1.config.state.priceOverall?"Summe ("+t+" Plätze) €"+config_1.config.state.priceOverall:"Summe (0 Plätze) €0,00"}function showHideBtnCartLoading(t){"show"===t?(jQuery("#modalCart .uabb-button").css("pointer-events","none"),jQuery("#modalCart i").hide(),jQuery("#modalCart .uabb-button-text").addClass("dot-pulse")):"hide"===t&&(jQuery("#modalCart i").show(),jQuery("#modalCart .uabb-button-text").removeClass("dot-pulse"),jQuery("#modalCart .uabb-button").css("pointer-events","all"))}exports.setBtnCartText=setBtnCartText,exports.showHideBtnCartLoading=showHideBtnCartLoading;
},{"./config":104}],103:[function(require,module,exports){
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,n,s){void 0===s&&(s=n),Object.defineProperty(e,s,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,s){void 0===s&&(s=n),e[s]=t[n]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&__createBinding(t,e,n);return __setModuleDefault(t,e),t},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.isValidSeatSelection=exports.cancelCheckout=exports.needSeatmapXML=exports.sendEventToParent=exports.sendEventToChild=exports.sendXML=exports.listenToMessages=exports.sendMessage=void 0;var axios_1=__importDefault(require("axios")),xml2jsParser=require("xml2js").parseString,UI=__importStar(require("./ui")),config_1=require("./config"),Cart=__importStar(require("./cart")),utils_1=__importDefault(require("./utils"));function sendMessage(e,t){if("parent"===t)window.parent.postMessage(JSON.stringify(e),"*");else{var n=document.getElementById(t);null!==n&&null!==n.contentWindow&&n.contentWindow.postMessage(JSON.stringify(e),"*")}}function listenToMessages(e){window.addEventListener("message",function(t){e(t)})}function sendXML(e,t,n,s,o){void 0===o&&(o=Date.now()),getXMLPromise(e).then(function(e){sendMessage({date:o,from:s,message:e,event:n},t)}).catch(function(e){console.error(e)})}function sendEventToChild(e){sendMessage({message:null,from:"parent",event:e,date:Date.now()},"iframeSeatmap")}function sendEventToParent(e){sendMessage({message:null,from:"child",event:e,date:Date.now()},"parent")}function needSeatmapXML(e){sendMessage({message:e,from:"child",event:"child_needSeatmapXML",date:Date.now()},"parent")}function cancelCheckout(e){fetch(e,{redirect:"manual"}).then(function(){return utils_1.default.consoleLog(e+" canceled")}).catch(function(e){return utils_1.default.consoleLog(e)})}function isValidSeatSelection(){(jQuery("#modalCart-overlay").hide(),config_1.config.state.selectedSeatsArr.length)&&(UI.adjustUIToLoading(),sendMessage({message:{url:Cart.generateCheckoutUrl()},from:"child",event:"child_needCheckoutResponse",date:Date.now()},"parent"))}function getXMLPromise(e){return axios_1.default.get(e).then(function(e){return new Promise(function(t,n){var s=e;200===s.status&&"text/xml;charset=utf-8"===s.headers["content-type"]&&xml2jsParser(s.data,{normalizeTags:!0,normalize:!0,mergeAttrs:!0},function(e,s){e?n(e):t(s)})})}).catch(function(e){return utils_1.default.consoleLog(e)})}exports.sendMessage=sendMessage,exports.listenToMessages=listenToMessages,exports.sendXML=sendXML,exports.sendEventToChild=sendEventToChild,exports.sendEventToParent=sendEventToParent,exports.needSeatmapXML=needSeatmapXML,exports.cancelCheckout=cancelCheckout,exports.isValidSeatSelection=isValidSeatSelection;
},{"./cart":101,"./config":104,"./ui":113,"./utils":114,"axios":2,"xml2js":64}],104:[function(require,module,exports){
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.config=void 0,exports.config={childHasVenueXML:!1,debug:!0,branch:"staging",version:"0.0.1",maxSelectedSeats:10,resources:{master:{seatmap:"https://tickets.zinomedia.de",JSC:"https://tickets.zinomedia.de/libs/jQuery-Seat-Charts/jquery.seat-charts.min.js",CSSChild:"https://tickets.zinomedia.de/dist/seatmap.css",CSSJSC:"https://tickets.zinomedia.de/libs/jQuery-Seat-Charts/jquery.seat-charts.css",CSSParent:"https://tickets.zinomedia.de/dist/inject.css",CSSjQueryUI:"https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css",CSSjBox:"https://tickets.zinomedia.de/dist/jBox.all.min.css"},staging:{seatmap:"https://staging.tickets.zinomedia.de",JSC:"https://staging.tickets.zinomedia.de/libs/jQuery-Seat-Charts/jquery.seat-charts.min.js",CSSChild:"https://staging.tickets.zinomedia.de/dist/seatmap.css",CSSJSC:"https://staging.tickets.zinomedia.de/libs/jQuery-Seat-Charts/jquery.seat-charts.css",CSSParent:"https://staging.tickets.zinomedia.de/dist/inject.css",CSSjQueryUI:"https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css",CSSjBox:"https://staging.tickets.zinomedia.de/dist/jBox.all.min.css"}},state:{priceOverall:"",cartChanged:!1,selectedSeatsArr:[],selectedSeatsObj:{},layoutRows:{},isValidSeatSelection:!1,inputsWithValue:void 0,seatmap:void 0,panzoom:void 0,inVenueXML:void 0,seatmapXML:void 0}};
},{}],105:[function(require,module,exports){
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,a,n){void 0===n&&(n=a),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[a]}})}:function(e,t,a,n){void 0===n&&(n=a),e[n]=t[a]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&__createBinding(t,e,a);return __setModuleDefault(t,e),t};Object.defineProperty(exports,"__esModule",{value:!0}),exports.addOpenSeatmap=exports.addCartDropdownBuyerTypes=exports.dropdownLegendOnChange=exports.addCartBack=exports.addCartClose=exports.addRedirectCheckout=exports.addModalCart=exports.addDropdownSeatmap=exports.addCloseModal=void 0;var Communication=__importStar(require("./communication")),UI=__importStar(require("./ui")),config_1=require("./config"),JSC=__importStar(require("./jsc")),Cart=__importStar(require("./cart")),Legend=__importStar(require("./legend")),jBoxHelper=__importStar(require("./jBoxHelper"));function addCloseModal(){var e=jQuery("#btnCloseModal").get(0);e&&e.addEventListener("click",function(){return Communication.sendEventToParent("child_closeDialog")})}function addDropdownSeatmap(){var e=document.getElementById("dropdownSeatmap");e&&e.addEventListener("change",function(){UI.controlLoftloader("show"),UI.destroyCurrentSeatmap("#containerSeatmapInner"),Communication.needSeatmapXML(this.value)})}function addModalCart(){var e=jQuery("#modalCart .uabb-button").get(0);e&&e.addEventListener("click",function(){config_1.config.state.selectedSeatsArr.length?config_1.config.state.cartChanged?Communication.isValidSeatSelection():!config_1.config.state.cartChanged&&config_1.config.state.isValidSeatSelection?UI.fadeInCartModal():config_1.config.state.cartChanged||config_1.config.state.isValidSeatSelection||jBoxHelper.showJBoxNotice("Auswahl nicht möglich: Bitte lassen Sie keinen einzelnen Platz frei."):jBoxHelper.showJBoxNotice("Sie haben bislang keinen Platz ausgewählt.")})}function addRedirectCheckout(e){if(e){var t=jQuery("#modalCart-overlay #checkout .fl-button").get(0);t&&t.addEventListener("click",function(){var t={message:{url:e},from:"child",event:"child_click_checkout",date:Date.now()};Communication.sendMessage(t,"parent")})}}function addCartClose(){var e=jQuery("#modalCart-overlay .uabb-close-icon").get(0);e&&e.addEventListener("click",function(){return Communication.sendEventToParent("child_show_dialog_titlebar")})}function addCartBack(){var e=jQuery("#modalCart-overlay #goBack .fl-button").get(0);e&&e.addEventListener("click",function(){return jQuery("#modalCart-overlay .uabb-close-icon").trigger("click")})}function dropdownLegendOnChange(e){var t=config_1.config.state.seatmap;jQuery(e).get(0).addEventListener("change",function(){var a=this.value,n="._"+a;Legend.changeDropdownLegendBGColor(e,a,n),"all"===a?(t.find("unavailable").status("available"),JSC.setUnavailableSeats()):(t.find("available").status("unavailable"),JSC.activateSeatsBySectionID(a),JSC.setUnavailableSeats())})}function addCartDropdownBuyerTypes(e,t){jQuery(e).on("change",function(){Cart.changedDropdownBuyerType(this,t)})}function addOpenSeatmap(){jQuery("#openSeatmap").on("click",function(){config_1.config.childHasVenueXML||Communication.sendEventToChild("parent_init_venue"),jQuery("html, body").css("overflow","hidden"),jQuery("#dialogSeatmap").dialog("open")})}exports.addCloseModal=addCloseModal,exports.addDropdownSeatmap=addDropdownSeatmap,exports.addModalCart=addModalCart,exports.addRedirectCheckout=addRedirectCheckout,exports.addCartClose=addCartClose,exports.addCartBack=addCartBack,exports.dropdownLegendOnChange=dropdownLegendOnChange,exports.addCartDropdownBuyerTypes=addCartDropdownBuyerTypes,exports.addOpenSeatmap=addOpenSeatmap;
},{"./cart":101,"./communication":103,"./config":104,"./jBoxHelper":106,"./jsc":107,"./legend":108,"./ui":113}],106:[function(require,module,exports){
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,o,i){void 0===i&&(i=o),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[o]}})}:function(e,t,o,i){void 0===i&&(i=o),e[i]=t[o]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var o in e)"default"!==o&&Object.prototype.hasOwnProperty.call(e,o)&&__createBinding(t,e,o);return __setModuleDefault(t,e),t},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.createSeatTooltips=exports.showJBoxNotice=void 0;var jbox_1=__importDefault(require("jbox")),config_1=require("./config"),XMLHelper=__importStar(require("./xmlhelper"));function showJBoxNotice(e,t){void 0===t&&(t=5e3),new jbox_1.default("Notice",{position:{x:"center",y:"top"},offset:{x:0,y:320},content:e,autoClose:t,animation:{open:"zoomIn",close:"zoomOut"},closeOnEsc:!1,closeButton:!0,closeOnMouseleave:!1,closeOnClick:!1,draggable:!1,color:"red",stack:!0,showCountdown:!0,reposition:!0,responsiveWidth:!0,responsiveHeight:!0})}function createSeatTooltips(){new jbox_1.default("Tooltip",{attach:jQuery(".seatCharts-seat"),onOpen:function(){showSeatTooltip(this)}})}function showSeatTooltip(e){var t=e.source[0].id,o=config_1.config.state.layoutRows[t][5],i=config_1.config.state.layoutRows[t][4],n=config_1.config.state.layoutRows[t][3],r=XMLHelper.getSectionDescBySectionID(n)+"<br/>Reihe "+i+" Platz "+o;e.setContent(r)}exports.showJBoxNotice=showJBoxNotice,exports.createSeatTooltips=createSeatTooltips;
},{"./config":104,"./xmlhelper":115,"jbox":35}],107:[function(require,module,exports){
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,a,r){void 0===r&&(r=a),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[a]}})}:function(e,t,a,r){void 0===r&&(r=a),e[r]=t[a]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&__createBinding(t,e,a);return __setModuleDefault(t,e),t},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.addSeatmap=exports.selectSeatsInCart=exports.createArrMatrix=exports.splitSeatStr=exports.getSeatsKey=exports.setUnavailableSeats=exports.generateLegend=exports.generateMap=exports.getRowsNaming=exports.activateSeatsBySectionID=exports.getSeats=void 0;var config_1=require("./config"),State=__importStar(require("./state")),Cart=__importStar(require("./cart")),CartButtons=__importStar(require("./cartButtons")),utils_1=__importDefault(require("./utils"));function getSeats(){var e=config_1.config.state.seatmapXML.seatmap[0].pricescale_config[0].pricescale,t={};for(var a in e){var r={classes:"_"+e[a].id[0],seatsObj:e[a]};t[String.fromCharCode(97+parseInt(a)).toLocaleUpperCase()]=r}return t}function activateSeatsBySectionID(e){var t,a=config_1.config.state.seatmapXML,r=config_1.config.state.seatmap,i=null===(t=a.seatmap[0].pricescale_config[0].pricescale.find(function(t){return t.id[0]===e}))||void 0===t?void 0:t.mask[0].split(",");r.status(i,"available")}function getRowsNaming(){var e=config_1.config.state.seatmapXML.seatmap[0].layouts[0].layout[0],t=parseInt(e.height[0]),a=Array.from({length:t},function(e){return""});return e.rows[0].row.forEach(function(e){var t=parseInt(e.y_cell_coord[0]),r=splitSeatStr(e.seats[0].split("|")[0])[4];a[t]=r}),a}function generateMap(){var e=config_1.config.state.seatmapXML,t=e.seatmap[0].layouts[0].layout[0],a=t.rows[0].row,r=e.seatmap[0].pricescale_config[0].pricescale,i=e.seatmap[0].view_modes[0].view_mode[0].availability[0],n=createArrMatrix(parseInt(t.height[0]),parseInt(t.width[0]),"_");return(n=enterSeatsInMatrix(a,n,r,i)).map(function(e){return e.join("")})}function generateLegend(e){var t=config_1.config.state.seatmapXML,a=config_1.config.state.inVenueXML,r=t.seatmap[0].pricescale_config[0].pricescale,i=a.venue[0].pricescales[0].pricescale;return{node:jQuery(e),items:createLegendItems(r,i)}}function setUnavailableSeats(){var e=config_1.config.state.seatmapXML,t=config_1.config.state.seatmap,a=e.seatmap[0].view_modes[0].view_mode[0].availability[0];if(""!==a.unavailable_unselectable_mask[0]){var r=a.unavailable_unselectable_mask[0].split(",");t.status(r,"unavailable")}}function getSeatsKey(e,t){for(var a in t)if(t[a].mask[0].includes(e))return String.fromCharCode(97+parseInt(a)).toLocaleUpperCase()}function splitSeatStr(e){return e.split(",").map(function(e){return e.trim()})}function createArrMatrix(e,t,a){return Array(e).fill(null).map(function(){return Array(t).fill(a)})}function selectSeatsInCart(){var e=config_1.config.state.seatmap;config_1.config.state.selectedSeatsArr.forEach(function(t){var a=t[0];e.get(a)&&e.status(a,"selected")})}function addSeatmap(e,t,a,r,i){var n=window.jQuery(e);config_1.config.state.seatmap=n.seatCharts({naming:{top:!1,left:!1,rows:a},map:t,seats:r,legend:i,click:function(){return clickedSeat(this)}})}function createLegendItems(e,t){return e.map(function(a,r){var i,n=a.id[0];return[String.fromCharCode(97+r).toLocaleUpperCase(),"available",(null===(i=t.find(function(e){return e.id[0]===n}))||void 0===i?void 0:i.desc[0])+" €"+e[r].ref_price[0]]})}function enterSeatsInMatrix(e,t,a,r){var i=r.available_selectable_mask[0].split(","),n=r.unavailable_unselectable_mask[0].split(",");return e.forEach(function(e){var r=e,s=parseInt(r.y_cell_coord[0])-1;r.seats[0].split("|").forEach(function(e){var r=splitSeatStr(e);if(i.includes(r[0])||n.includes(r[0])){var o=parseInt(r[2])-1,c=getSeatsKey(r[0],a);c&&(t[s][o]=c+"["+r[0]+", ]"),config_1.config.state.layoutRows[r[0]]=r}})}),t}function clickedSeat(e){return"available"==e.status()?clickAvailableSeat(e):"selected"===e.status()?clickedSelectedSeat(e):"unavailable"==e.status()?"unavailable":e.style()}function clickAvailableSeat(e){var t=e.settings;return utils_1.default.consoleLog(t),State.maximumSelectedSeatsReached(t)?"available":(State.addSeatToState(t),Cart.calcOverallPrice(),CartButtons.setBtnCartText(),"selected")}function clickedSelectedSeat(e){var t=e.settings;return State.removeSeatFromState(t),Cart.calcOverallPrice(),CartButtons.setBtnCartText(),"available"}exports.getSeats=getSeats,exports.activateSeatsBySectionID=activateSeatsBySectionID,exports.getRowsNaming=getRowsNaming,exports.generateMap=generateMap,exports.generateLegend=generateLegend,exports.setUnavailableSeats=setUnavailableSeats,exports.getSeatsKey=getSeatsKey,exports.splitSeatStr=splitSeatStr,exports.createArrMatrix=createArrMatrix,exports.selectSeatsInCart=selectSeatsInCart,exports.addSeatmap=addSeatmap;
},{"./cart":101,"./cartButtons":102,"./config":104,"./state":112,"./utils":114}],108:[function(require,module,exports){
"use strict";function convertLegendToDropdown(e){jQuery("ul.seatCharts-legendList").each(function(){var n=jQuery(document.createElement("select")).insertBefore(jQuery(this).hide());n.attr({id:e}),appendFirstLegendOption(n),appendLegendOptions(this,n)})}function appendLegendOptions(e,n){jQuery(">li",e).each(function(){var e=jQuery(this)[0].children[0].classList[3],o=e.substring(1),r=jQuery(this)[0].children[1].innerText;appendLegendOption(n,e,o,r)})}function appendLegendOption(e,n,o,r){var t=jQuery("<option/>");t.attr({value:o,class:n}).text(r),e.append(t)}function appendFirstLegendOption(e){var n=jQuery("<option/>");n.attr({value:"all"}).text("Alle Preiskategorien"),n.css("color","#5c5c5c"),e.append(n)}function changeDropdownLegendBGColor(e,n,o){var r="#fafafa",t="#5c5c5c";"all"!==n&&(t="white",r=jQuery(o).css("background-color")),jQuery(e).css("color",t),jQuery(e).css("background-color",r),jQuery(e+' option[value="all"]').css("color",t)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.changeDropdownLegendBGColor=exports.convertLegendToDropdown=void 0,exports.convertLegendToDropdown=convertLegendToDropdown,exports.changeDropdownLegendBGColor=changeDropdownLegendBGColor;
},{}],109:[function(require,module,exports){
"use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.unbindPanzoomEvents=exports.addPanzoom=void 0;var panzoom_1=__importDefault(require("@panzoom/panzoom")),config_1=require("./config");function addPanzoom(e,o,n,t){void 0===o&&(o=void 0),void 0===n&&(n=void 0),void 0===t&&(t=void 0);var a=jQuery(e).get(0);if(a){var i=panzoom_1.default(a,{maxScale:5,animate:!1,overflow:"hidden",startScale:"0.66"});return addPanzoomEvents(o,n,t,a.parentElement,i),i}}function addPanzoomEvents(e,o,n,t,a){[{Selector:e,PanzoomFunction:a.zoomIn,Type:"click"},{Selector:o,PanzoomFunction:a.zoomOut,Type:"click"},{Selector:n,PanzoomFunction:a.reset,Type:"click"},{HTMLElement:t,PanzoomFunction:a.zoomWithWheel,Type:"wheel"}].map(function(e){if(e.Selector){var o=jQuery(e.Selector).get(0);o&&o.addEventListener(e.Type,e.PanzoomFunction)}else e.HTMLElement&&"wheel"===e.Type&&e.HTMLElement.addEventListener(e.Type,e.PanzoomFunction)})}function unbindPanzoomEvents(e){var o;null===(o=jQuery(e).get(0).parentElement)||void 0===o||o.removeEventListener("wheel",config_1.config.state.panzoom.zoomWithWheel)}exports.addPanzoom=addPanzoom,exports.unbindPanzoomEvents=unbindPanzoomEvents;
},{"./config":104,"@panzoom/panzoom":1}],110:[function(require,module,exports){
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&__createBinding(t,e,n);return __setModuleDefault(t,e),t},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.injectResources=exports.clickCheckout=exports.needSeatmapXML=exports.initNeedVenueXML=exports.initNeedInputsWithValue=exports.needCheckoutResponse=void 0;var config_1=require("./config"),axios_1=__importDefault(require("axios")),Communication=__importStar(require("./communication")),utils_1=__importDefault(require("./utils"));function needCheckoutResponse(e,t){var n=JSON.parse(e.data).message.url;axios_1.default.get(n,{maxRedirects:0}).then(function(e){var i=!1,a=e.data,o=jQuery.parseHTML(a),r=jQuery(o).find("#orderkey").val();if(utils_1.default.consoleLog("orderkey: "+r),r){i=!0;var s=t.ticketPurchaseUrl+"?user_context="+t.user_context+"&pid="+t.pid+"&orderkey="+r+"&trxstate=92";Communication.cancelCheckout(s)}var u={message:{isValidSeatSelection:i,parsedHTML:o,url:n},from:"parent",event:"parent_sendCheckoutResponse",date:Date.now()};Communication.sendMessage(u,"iframeSeatmap")}).catch(function(e){utils_1.default.consoleLog("error in child_needCheckoutResponse"),utils_1.default.consoleLog(e)})}function initNeedInputsWithValue(e){var t={message:e,from:"parent",event:"parent_init_sendInputsWithValue",date:Date.now()};Communication.sendMessage(t,"iframeSeatmap")}function initNeedVenueXML(e){Communication.sendXML(e.posturl,"iframeSeatmap","parent_init_sendVenueXML","parent"),config_1.config.childHasVenueXML=!0}function needSeatmapXML(e,t){var n=JSON.parse(e.data),i=t.posturlRawDecoded+"&inclseatmap=Y&seatmap="+n.message;Communication.sendXML(i,"iframeSeatmap","parent_sendSeatmapXML","parent")}function clickCheckout(e){var t=JSON.parse(e.data).message.url;window.location.href=t}function injectResources(){var e=config_1.config.branch,t=config_1.config.resources[e];utils_1.default.inject(t.CSSParent,"css","body")}exports.needCheckoutResponse=needCheckoutResponse,exports.initNeedInputsWithValue=initNeedInputsWithValue,exports.initNeedVenueXML=initNeedVenueXML,exports.needSeatmapXML=needSeatmapXML,exports.clickCheckout=clickCheckout,exports.injectResources=injectResources;
},{"./communication":103,"./config":104,"./utils":114,"axios":2}],111:[function(require,module,exports){
"use strict";var __assign=this&&this.__assign||function(){return(__assign=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getEventInfo=exports.getSMAP=exports.getVenueImage=exports.getAdditionalInputs=exports.getImportantNote=exports.getInputs=exports.getVenueLocation=void 0;var config_1=require("./config"),jQuery=require("jquery"),utils_1=__importDefault(require("./utils"));function getVenueLocation(){var e=[];return jQuery(".venue span").each(function(){e.push(jQuery(this).text())}),e.join(", ")}function getInputs(e){var t=jQuery.parseHTML(e),n={};return jQuery(t).find("input").each(function(){var e=this.name,t=this.value;""!==t&&(n[e]=t)}),n}function getImportantNote(){if(jQuery(".important_note").length){var e=jQuery(".important_note")[0].textContent;if(null==e?void 0:e.trim().length)return{importantNote:e,importantNoteEncoded:encodeURIComponent(e)}}}function getAdditionalInputs(e){var t=e.match(/event:"(.+?)"/)[1],n=e.match(/holdcode:"(.+?)"/)[1],i=e.match(/posturl:"(.+?)"/)[1],o=decodeURIComponent(i),a=decodeURIComponent(i+"&event="+t+"&holdcode="+n+"&nocache=0&inclpkg=Y&incloffer=Y&inclcartdetails=Y&inclCart=Y&inclvenue=Y"),r=getVenueLocation(),u=o.split("?")[0].split("/").slice(0,-1).join("/")+"/TicketPurchase";return{event:t,holdcode:n,posturlRaw:i,posturlRawDecoded:o,posturl:a,venueLocation:r,ticketPurchaseUrl:u}}function getVenueImage(){var e=jQuery("#static_venue_map img").get(0);if(e)return{venueImageSrc:e.src,venueImageHeight:e.height,venueImageWidth:e.width}}function getSMAP(){if(jQuery("#seating_map_url").length){var e=jQuery("#seating_map_url a").attr("onclick").match(/openNewWindow\(\'(\d+)\'/);return e?e[1]:void 0}}function getEventInfo(){var e=config_1.config.state.inVenueXML,t=e.master_config[0].section_inventory[0].section,n=e.event[0],i=e.event[0],o=e.venue_config[0],a=new Date(parseInt(i.year[0]),parseInt(i.month[0])-1,parseInt(i.day[0]),parseInt(i.hour[0]),parseInt(i.minute[0])),r=[a.toLocaleString(["de-DE"],{weekday:"long",day:"2-digit",month:"2-digit",year:"numeric",hour:"2-digit",minute:"2-digit",timeZoneName:"short"})],u=[utils_1.default.getDayName(a,"de-DE")],s=t.map(function(e){return parseInt(e.available[0])}).reduce(function(e,t){return e+t}),c={venue_config_capacity:o.capacity,venue_config_code:o.code,venue_config_desc:o.desc,venue_config_id:o.id,venue_config_nav_image:o.nav_image,venue_config_nav_image_height:o.nav_image_height,venue_config_nav_image_width:o.nav_image_width,start:r,weekday:u,seats_available:s};return __assign(__assign({},n),c)}exports.getVenueLocation=getVenueLocation,exports.getInputs=getInputs,exports.getImportantNote=getImportantNote,exports.getAdditionalInputs=getAdditionalInputs,exports.getVenueImage=getVenueImage,exports.getSMAP=getSMAP,exports.getEventInfo=getEventInfo;
},{"./config":104,"./utils":114,"jquery":37}],112:[function(require,module,exports){
"use strict";var __assign=this&&this.__assign||function(){return(__assign=Object.assign||function(e){for(var t,a=1,r=arguments.length;a<r;a++)for(var i in t=arguments[a])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)},__createBinding=this&&this.__createBinding||(Object.create?function(e,t,a,r){void 0===r&&(r=a),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[a]}})}:function(e,t,a,r){void 0===r&&(r=a),e[r]=t[a]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&__createBinding(t,e,a);return __setModuleDefault(t,e),t};Object.defineProperty(exports,"__esModule",{value:!0}),exports.maximumSelectedSeatsReached=exports.removeSeatFromState=exports.addSeatToState=void 0;var config_1=require("./config"),XMLHelper=__importStar(require("./xmlhelper")),jBoxHelper=__importStar(require("./jBoxHelper"));function addSeatToState(e){addSeatObjToState(e);var t=config_1.config.state.selectedSeatsObj[e.id].data.seatsObj.id[0],a=XMLHelper.getVenuePriceStructurePropertyByPricescaleID(t);if(a){var r=a.buyer_type[0].id[0],i=XMLHelper.getBuyerTypeCodeByBuyerTypeID(r);addSeatsItemToState([e.id,r,i])}else console.warn("Cannot find corresponding venueXML pricescaleObj for pricescale with ID "+t)}function removeSeatFromState(e){delete config_1.config.state.selectedSeatsObj[e.id];var t=config_1.config.state.selectedSeatsArr.findIndex(function(t){return t[0]===e.id});config_1.config.state.selectedSeatsArr.splice(t,1),config_1.config.state.cartChanged=!0,config_1.config.state.selectedSeatsArr.length||jQuery("#modalCart-overlay").hide()}function maximumSelectedSeatsReached(e){var t=config_1.config.state.seatmap;return config_1.config.state.selectedSeatsArr.length>=config_1.config.maxSelectedSeats&&(jBoxHelper.showJBoxNotice("Sie können maximal "+config_1.config.maxSelectedSeats+" Plätze auswählen."),t.status(e.id,"available"),!0)}function addSeatsItemToState(e){e.every(function(e){return null!==e})&&(config_1.config.state.selectedSeatsArr.push(e),config_1.config.state.cartChanged=!0)}function addSeatObjToState(e){var t,a=((t={})[e.id]=e,t);config_1.config.state.selectedSeatsObj=__assign(__assign({},config_1.config.state.selectedSeatsObj),a)}exports.addSeatToState=addSeatToState,exports.removeSeatFromState=removeSeatFromState,exports.maximumSelectedSeatsReached=maximumSelectedSeatsReached;
},{"./config":104,"./jBoxHelper":106,"./xmlhelper":115}],113:[function(require,module,exports){
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&__createBinding(t,e,n);return __setModuleDefault(t,e),t},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.appendVersion=exports.adjustUIToLoading=exports.generatePricescaleCSS=exports.fadeInCartModal=exports.changeVenueImage=exports.controlLoftloader=exports.destroyCurrentSeatmap=exports.createDialog=exports.setEventInfo=exports.setOptionSelect=void 0;var Communication=__importStar(require("./communication")),config_1=require("./config"),Events=__importStar(require("./events")),Panzoom=__importStar(require("./panzoom")),CartButtons=__importStar(require("./cartButtons")),utils_1=__importDefault(require("./utils"));function setOptionSelect(e,t){var n=document.getElementById(t);if(n)for(var o=0,r=e;o<r.length;o++){var a=r[o],i=document.createElement("option");i.value=a.id[0],i.innerHTML=a.desc[0],n.appendChild(i)}}function setEventInfo(e){var t=config_1.config.state.inputsWithValue;jQuery("#eventInfoDesc span.fl-heading-text")[0].childNodes[0].textContent=e.desc[0],jQuery("#eventInfoDate p")[0].childNodes[0].textContent=e.start[0],jQuery("#eventInfoLocation p")[0].childNodes[0].textContent=t.venueLocation,jQuery("#eventInfoCapacity p")[0].childNodes[0].textContent="Verfügbare Plätze: "+e.seats_available+" von "+e.venue_config_capacity[0]}function createDialog(){var e=utils_1.default.getConfigValue("seatmap");jQuery("#dialogSeatmap").append(jQuery("<iframe id='iframeSeatmap' scrolling='no' frameborder='0' marginwidth='0' marginheight='0' allowfullscreen width='100%' />").attr("src",e)).dialog({modal:!0,autoOpen:!1,closeOnEscape:!0,draggable:!1,hide:!0,show:!0,resizable:!1,title:"",width:"100%",height:"auto",close:function(){return jQuery("html, body").css("overflow","auto")}}),Events.addOpenSeatmap()}function destroyCurrentSeatmap(e){config_1.config.state.panzoom&&Panzoom.unbindPanzoomEvents(e),jQuery("#containerSeatmapInner").remove(),jQuery("#htmlSeatmapInner .fl-html").removeAttr("style"),jQuery("#htmlSeatmapInner .fl-html").append('<div id="containerSeatmapInner"></div>'),jQuery("#JSCLegendInner").remove(),jQuery("#JSCLegend .fl-html").append('<div id="JSCLegendInner"></div>')}function controlLoftloader(e){"show"===e?jQuery("body").removeClass("loaded loftloader-loaded"):"hide"===e&&jQuery("body").addClass("loaded loftloader-loaded")}function changeVenueImage(){var e=config_1.config.state.inputsWithValue;void 0!==e.venueImageSrc&&jQuery("#venueImage img").attr("src",e.venueImageSrc)}function fadeInCartModal(){jQuery("#modalCart-overlay").fadeIn(300),Communication.sendEventToParent("child_hide_dialog_titlebar")}function generatePricescaleCSS(){return config_1.config.state.inVenueXML.venue[0].pricescales[0].pricescale.map(function(e){return"._"+e.id[0]+" { background-color: "+("#"+e.color[0]+" !important")+"; }"}).join("\r\n")}function adjustUIToLoading(){CartButtons.showHideBtnCartLoading("show"),jQuery("#modalCart i").hide(),jQuery("#modalCart .uabb-button-text").addClass("dot-pulse")}function appendVersion(){jQuery("#bottomHTMLVersion")[0].innerText=config_1.config.version,jQuery("#bottomHTMLBranch")[0].innerText="("+config_1.config.branch+")"}exports.setOptionSelect=setOptionSelect,exports.setEventInfo=setEventInfo,exports.createDialog=createDialog,exports.destroyCurrentSeatmap=destroyCurrentSeatmap,exports.controlLoftloader=controlLoftloader,exports.changeVenueImage=changeVenueImage,exports.fadeInCartModal=fadeInCartModal,exports.generatePricescaleCSS=generatePricescaleCSS,exports.adjustUIToLoading=adjustUIToLoading,exports.appendVersion=appendVersion;
},{"./cartButtons":102,"./communication":103,"./config":104,"./events":105,"./panzoom":109,"./utils":114}],114:[function(require,module,exports){
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var config_1=require("./config"),Utils=function(){function e(){}return e.waitForElement=function(t,n,o,c,r){void 0===o&&(o="selector"),void 0===c&&(c=1e3),void 0===r&&(r=1e4);var a=Date.now();!function i(){("selector"===o?jQuery(t).get(0):e.getSeatmapElement())?(e.consoleLog("ready"),n()):(e.consoleLog("Repeating for "+o),setTimeout(function(){r&&Date.now()-a>r||i()},c))}()},e.getSeatmapElement=function(){var t=window.jQuery("#containerSeatmap").seatCharts;return e.isFunction(t)},e.waitForSeatmap=function(e){var t=window.jQuery("#containerSeatmap").seatCharts;this.waitForElement(t,e,"seatmap")},e.querySelector=function(e){return null!=document.querySelector(e)},e.isFunction=function(e){return"function"==typeof e},e.inject=function(t,n,o){var c;switch(void 0===n&&(n="js"),void 0===o&&(o="head"),n){case"js":(c=document.createElement("script")).type="text/javascript",c.src=t;break;case"css":(c=document.createElement("link")).type="text/css",c.rel="stylesheet",c.href=t;break;case"cssCustom":(c=document.createElement("style")).type="text/css",c.innerHTML=t;break;case"script":(c=document.createElement("script")).type="text/javascript",c.innerHTML=t;break;default:c=void 0}c&&e.appendScript(c,o)},e.appendScript=function(e,t){"body"===t?document.body.appendChild(e):"head"===t&&document.head.appendChild(e)},e.getDayName=function(e,t){return e.toLocaleDateString(t,{weekday:"long"})},e.consoleLog=function(e){console.log(e)},e.getConfigValue=function(e){var t=config_1.config.branch;return config_1.config.resources[t][e]},e}();exports.default=Utils;
},{"./config":104}],115:[function(require,module,exports){
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.generateSelectedSeatIndexes=exports.getBuyerTypesByPricescaleID=exports.getVenuePriceStructurePropertyByPricescaleID=exports.getPriceByBuyerTypeID=exports.getBuyerTypeCodeByBuyerTypeID=exports.getVenuePricescalePropertyByPricescaleID=exports.getSectionDescBySectionID=exports.processSMAP=void 0;var config_1=require("./config");function processSMAP(){var e=config_1.config.state.inputsWithValue;e.smap&&(e.smap.split("").map(Number)[0]||jQuery("#eventInfoCapacity").hide())}function getSectionDescBySectionID(e){var r;return null===(r=config_1.config.state.inVenueXML.master_config[0].section_config[0].section.find(function(r){return e===r.id[0]}))||void 0===r?void 0:r.desc[0]}function getVenuePricescalePropertyByPricescaleID(e,r){var t;return null===(t=config_1.config.state.inVenueXML.venue[0].pricescales[0].pricescale.find(function(e){return e.id[0]===r?e:void 0}))||void 0===t?void 0:t[e][0]}function getBuyerTypeCodeByBuyerTypeID(e){var r;return null===(r=config_1.config.state.inVenueXML.venue[0].buyer_types[0].buyer_type.find(function(r){return e===r.id[0]}))||void 0===r?void 0:r.code[0]}function getPriceByBuyerTypeID(e,r){var t,n=null===(t=null==r?void 0:r.buyer_type.find(function(r){return r.id[0]===e}))||void 0===t?void 0:t.price[0];return n?parseFloat(n):void 0}function getVenuePriceStructurePropertyByPricescaleID(e){return config_1.config.state.inVenueXML.price_structure[0].pricescale.find(function(r){return r.id[0]===e})}function getBuyerTypesByPricescaleID(e){var r=findBuyerTypesArrByPricescaleID(e);return r?r.map(function(e){return[e.id[0],e.price[0],getBuyerTypeDesc(e)]}):void 0}function generateSelectedSeatIndexes(){return config_1.config.state.selectedSeatsArr.map(function(e){return e.join(",")}).join("|")}function findBuyerTypesArrByPricescaleID(e){var r;return null===(r=config_1.config.state.inVenueXML.price_structure[0].pricescale.find(function(r){return r.id[0]===e}))||void 0===r?void 0:r.buyer_type}function getBuyerTypeDesc(e){var r;return null===(r=config_1.config.state.inVenueXML.venue[0].buyer_types[0].buyer_type.find(function(r){return r.id[0]===e.id[0]?r.desc[0]:void 0}))||void 0===r?void 0:r.desc[0]}exports.processSMAP=processSMAP,exports.getSectionDescBySectionID=getSectionDescBySectionID,exports.getVenuePricescalePropertyByPricescaleID=getVenuePricescalePropertyByPricescaleID,exports.getBuyerTypeCodeByBuyerTypeID=getBuyerTypeCodeByBuyerTypeID,exports.getPriceByBuyerTypeID=getPriceByBuyerTypeID,exports.getVenuePriceStructurePropertyByPricescaleID=getVenuePriceStructurePropertyByPricescaleID,exports.getBuyerTypesByPricescaleID=getBuyerTypesByPricescaleID,exports.generateSelectedSeatIndexes=generateSelectedSeatIndexes;
},{"./config":104}]},{},[99])
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJub2RlX21vZHVsZXMvQHBhbnpvb20vcGFuem9vbS9kaXN0L3Bhbnpvb20uanMiLCJub2RlX21vZHVsZXMvYXhpb3MvaW5kZXguanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2FkYXB0ZXJzL3hoci5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvYXhpb3MuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2NhbmNlbC9DYW5jZWwuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2NhbmNlbC9DYW5jZWxUb2tlbi5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvY2FuY2VsL2lzQ2FuY2VsLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL0F4aW9zLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL0ludGVyY2VwdG9yTWFuYWdlci5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvY29yZS9idWlsZEZ1bGxQYXRoLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL2NyZWF0ZUVycm9yLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL2Rpc3BhdGNoUmVxdWVzdC5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvY29yZS9lbmhhbmNlRXJyb3IuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvbWVyZ2VDb25maWcuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvc2V0dGxlLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL3RyYW5zZm9ybURhdGEuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2RlZmF1bHRzLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9oZWxwZXJzL2JpbmQuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvYnVpbGRVUkwuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvY29tYmluZVVSTHMuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvY29va2llcy5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9pc0Fic29sdXRlVVJMLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9oZWxwZXJzL2lzQXhpb3NFcnJvci5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9pc1VSTFNhbWVPcmlnaW4uanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvbm9ybWFsaXplSGVhZGVyTmFtZS5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9wYXJzZUhlYWRlcnMuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvc3ByZWFkLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi91dGlscy5qcyIsIm5vZGVfbW9kdWxlcy9iYXNlNjQtanMvaW5kZXguanMiLCJub2RlX21vZHVsZXMvYnJvd3Nlci1yZXNvbHZlL2VtcHR5LmpzIiwibm9kZV9tb2R1bGVzL2J1ZmZlci9pbmRleC5qcyIsIm5vZGVfbW9kdWxlcy9ldmVudHMvZXZlbnRzLmpzIiwibm9kZV9tb2R1bGVzL2llZWU3NTQvaW5kZXguanMiLCJub2RlX21vZHVsZXMvaW5oZXJpdHMvaW5oZXJpdHNfYnJvd3Nlci5qcyIsIm5vZGVfbW9kdWxlcy9qYm94L2Rpc3QvakJveC5hbGwubWluLmpzIiwibm9kZV9tb2R1bGVzL2pxdWVyeS11aS91aS93aWRnZXQuanMiLCJub2RlX21vZHVsZXMvanF1ZXJ5L2Rpc3QvanF1ZXJ5LmpzIiwibm9kZV9tb2R1bGVzL3Byb2Nlc3MvYnJvd3Nlci5qcyIsIm5vZGVfbW9kdWxlcy9zYWZlLWJ1ZmZlci9pbmRleC5qcyIsIm5vZGVfbW9kdWxlcy9zYXgvbGliL3NheC5qcyIsIm5vZGVfbW9kdWxlcy9zdHJlYW0tYnJvd3NlcmlmeS9pbmRleC5qcyIsIm5vZGVfbW9kdWxlcy9zdHJlYW0tYnJvd3NlcmlmeS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2Vycm9ycy1icm93c2VyLmpzIiwibm9kZV9tb2R1bGVzL3N0cmVhbS1icm93c2VyaWZ5L25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fZHVwbGV4LmpzIiwibm9kZV9tb2R1bGVzL3N0cmVhbS1icm93c2VyaWZ5L25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fcGFzc3Rocm91Z2guanMiLCJub2RlX21vZHVsZXMvc3RyZWFtLWJyb3dzZXJpZnkvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9yZWFkYWJsZS5qcyIsIm5vZGVfbW9kdWxlcy9zdHJlYW0tYnJvd3NlcmlmeS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3RyYW5zZm9ybS5qcyIsIm5vZGVfbW9kdWxlcy9zdHJlYW0tYnJvd3NlcmlmeS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3dyaXRhYmxlLmpzIiwibm9kZV9tb2R1bGVzL3N0cmVhbS1icm93c2VyaWZ5L25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvYXN5bmNfaXRlcmF0b3IuanMiLCJub2RlX21vZHVsZXMvc3RyZWFtLWJyb3dzZXJpZnkvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9idWZmZXJfbGlzdC5qcyIsIm5vZGVfbW9kdWxlcy9zdHJlYW0tYnJvd3NlcmlmeS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2Rlc3Ryb3kuanMiLCJub2RlX21vZHVsZXMvc3RyZWFtLWJyb3dzZXJpZnkvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9lbmQtb2Ytc3RyZWFtLmpzIiwibm9kZV9tb2R1bGVzL3N0cmVhbS1icm93c2VyaWZ5L25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvZnJvbS1icm93c2VyLmpzIiwibm9kZV9tb2R1bGVzL3N0cmVhbS1icm93c2VyaWZ5L25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvcGlwZWxpbmUuanMiLCJub2RlX21vZHVsZXMvc3RyZWFtLWJyb3dzZXJpZnkvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9zdGF0ZS5qcyIsIm5vZGVfbW9kdWxlcy9zdHJlYW0tYnJvd3NlcmlmeS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL3N0cmVhbS1icm93c2VyLmpzIiwibm9kZV9tb2R1bGVzL3N0cmluZ19kZWNvZGVyL2xpYi9zdHJpbmdfZGVjb2Rlci5qcyIsIm5vZGVfbW9kdWxlcy90aW1lcnMtYnJvd3NlcmlmeS9tYWluLmpzIiwibm9kZV9tb2R1bGVzL3V0aWwtZGVwcmVjYXRlL2Jyb3dzZXIuanMiLCJub2RlX21vZHVsZXMveG1sMmpzL2xpYi9ib20uanMiLCJub2RlX21vZHVsZXMveG1sMmpzL2xpYi9idWlsZGVyLmpzIiwibm9kZV9tb2R1bGVzL3htbDJqcy9saWIvZGVmYXVsdHMuanMiLCJub2RlX21vZHVsZXMveG1sMmpzL2xpYi9wYXJzZXIuanMiLCJub2RlX21vZHVsZXMveG1sMmpzL2xpYi9wcm9jZXNzb3JzLmpzIiwibm9kZV9tb2R1bGVzL3htbDJqcy9saWIveG1sMmpzLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL0RvY3VtZW50UG9zaXRpb24uanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvTm9kZVR5cGUuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvVXRpbGl0eS5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9Xcml0ZXJTdGF0ZS5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxBdHRyaWJ1dGUuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MQ0RhdGEuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MQ2hhcmFjdGVyRGF0YS5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxDb21tZW50LmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTERPTUNvbmZpZ3VyYXRpb24uanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MRE9NRXJyb3JIYW5kbGVyLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTERPTUltcGxlbWVudGF0aW9uLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTERPTVN0cmluZ0xpc3QuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MRFREQXR0TGlzdC5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxEVERFbGVtZW50LmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTERUREVudGl0eS5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxEVEROb3RhdGlvbi5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxEZWNsYXJhdGlvbi5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxEb2NUeXBlLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTERvY3VtZW50LmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTERvY3VtZW50Q0IuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MRHVtbXkuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MRWxlbWVudC5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxOYW1lZE5vZGVNYXAuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MTm9kZS5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxOb2RlTGlzdC5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MUmF3LmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTFN0cmVhbVdyaXRlci5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxTdHJpbmdXcml0ZXIuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MU3RyaW5naWZpZXIuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MVGV4dC5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxXcml0ZXJCYXNlLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL2luZGV4LmpzIiwic3JjL2Nzcy9pbmplY3QuY3NzIiwic3JjL2luamVjdC50cyIsInNyYy9tb2R1bGVzL2Jvb2tpbmdCdXR0b24udHMiLCJzcmMvbW9kdWxlcy9jYXJ0LnRzIiwic3JjL21vZHVsZXMvY2FydEJ1dHRvbnMudHMiLCJzcmMvbW9kdWxlcy9jb21tdW5pY2F0aW9uLnRzIiwic3JjL21vZHVsZXMvY29uZmlnLnRzIiwic3JjL21vZHVsZXMvZXZlbnRzLnRzIiwic3JjL21vZHVsZXMvakJveEhlbHBlci50cyIsInNyYy9tb2R1bGVzL2pzYy50cyIsInNyYy9tb2R1bGVzL2xlZ2VuZC50cyIsInNyYy9tb2R1bGVzL3Bhbnpvb20udHMiLCJzcmMvbW9kdWxlcy9wYXJlbnQudHMiLCJzcmMvbW9kdWxlcy9wYXJzZXIudHMiLCJzcmMvbW9kdWxlcy9zdGF0ZS50cyIsInNyYy9tb2R1bGVzL3VpLnRzIiwic3JjL21vZHVsZXMvdXRpbHMudHMiLCJzcmMvbW9kdWxlcy94bWxoZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUNBQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7O0FDRkE7QUFDQTtBQUNBOzs7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7OztBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTs7QUNGQTtBQUNBO0FBQ0E7OztBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTs7QUNGQTtBQUNBO0FBQ0E7OztBQ0ZBO0FBQ0E7QUFDQTs7QUNGQTtBQUNBO0FBQ0E7OztBQ0ZBO0FBQ0E7QUFDQTs7QUNGQTtBQUNBO0FBQ0E7Ozs7QUNGQTtBQUNBO0FBQ0E7OztBQ0ZBO0FBQ0E7QUFDQTs7QUNGQTtBQUNBO0FBQ0E7OztBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTs7QUNGQTtBQUNBO0FBQ0E7Ozs7QUNGQTtBQUNBO0FBQ0E7OztBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQSwwL0JDRkEsSUFBSSxPQUFTLFFBQVEsVUFDckIsUUFBQSxhQUVBLElBUUksZ0JBUkosUUFBQSxnQkFBQSxRQUFBLG9CQUNBLGNBQUEsYUFBQSxRQUFBLDRCQUNBLE9BQUEsYUFBQSxRQUFBLHFCQUNBLEdBQUEsYUFBQSxRQUFBLGlCQUNBLFdBQUEsYUFBQSxRQUFBLDRCQUNBLE9BQUEsYUFBQSxRQUFBLHFCQThDQSxTQUFTLGVBQWUsR0FDcEIsR0FBd0IsaUJBQVosRUFBTSxLQUFsQixDQUdBLElBQU0sRUFBa0IsS0FBSyxNQUFNLEVBQUUsTUFLckMsT0FIQSxRQUFBLFFBQU0sV0FBVyx5QkFBeUIsRUFBSyxNQUMvQyxRQUFBLFFBQU0sV0FBVyxHQUVULEVBQUssT0FDVCxJQUFLLGlDQUNELE9BQU8sd0JBQXdCLGlCQUMvQixNQUVKLElBQUssMEJBQ0QsT0FBTyxpQkFBaUIsaUJBQ3hCLE1BRUosSUFBSyx1QkFDRCxPQUFPLGVBQWUsRUFBRyxpQkFDekIsTUFFSixJQUFLLHNCQUNELFFBQUEsUUFBTSxXQUFXLDBCQUNqQixPQUFPLHdCQUF3QixPQUMvQixNQUVKLElBQUssNkJBQ0QsT0FBTyxxQkFBcUIsRUFBRyxpQkFDL0IsTUFFSixJQUFLLDZCQUNELE9BQU8sdUJBQXVCLE9BQzlCLE1BRUosSUFBSyw2QkFDRCxPQUFPLHVCQUF1QixPQUM5QixNQUVKLElBQUssdUJBQ0QsT0FBTyxjQUFjLEdBQ3JCLE1BRUosSUFBSyxvQkFDRCxPQUFPLDZCQUE2QixVQXpGaEQsUUFBUSx5QkFJUixPQUFPLGlCQUFpQixPQUFRLFdBRTVCLElBQU0sR0FBa0IsSUFBSSxlQUFnQixrQkFBa0IsVUFDOUQsZ0JBQWUsU0FBQSxTQUFBLEdBQVEsaUJBQW9CLE9BQU8sVUFBVSxJQUU1RCxRQUFBLFFBQU0sV0FBVyxpQkFDakIsUUFBQSxRQUFNLFdBQVcsYUFBYSxnQkFBMEIsVUFJeEQsSUFBTSxFQUF3QixrQkFBa0IsS0FBSyxHQUVyRCxRQUFBLFFBQU0sV0FBVyxzQkFBc0IsR0FHSCxPQUFoQyxnQkFBMEIsV0FBK0IsSUFBakIsSUFLNUMsT0FBTyxrQkFHUCxjQUFjLGlCQUFpQixnQkFHL0IsZ0JBQWUsU0FBQSxTQUFBLEdBQVEsaUJBQW9CLE9BQU8sb0JBQW9CLElBQ3RFLGdCQUFlLFNBQUEsU0FBQSxHQUFRLGlCQUFvQixPQUFPLGtCQUNsRCxnQkFBZSxTQUFBLFNBQUEsR0FBUSxpQkFBb0IsT0FBTyxxQkFDNUIsS0FBSSxPQUFPLFVBR2pDLFdBQVcsbUJBSVgsR0FBRyxlQUVILFFBQUEsUUFBTSxXQUFXOzs7dXVCQ25EckIsSUFBQSxjQUFBLGFBQUEsUUFBQSxvQkFFQSxTQUFnQixtQkFDWixPQUFPLHVCQUF1QixTQUM5QixzQkFDQSx1QkFHSixTQUFnQix1QkFDWixjQUFjLGtCQUFrQix1QkFHcEMsU0FBUyx1QkFDTCxPQUFPLDBCQUEwQixPQUFPLCtSQVk1QyxTQUFTLHNCQUNMLE9BQU8sMEJBQTBCLElBQUksQ0FDakMsUUFBVyxRQUNYLFNBQVksV0FDWixNQUFTLFNBM0JqQixRQUFBLGlCQUFBLGlCQU1BLFFBQUEscUJBQUE7OzsrMUJDUkEsSUFBQSxVQUFBLGFBQUEsUUFBQSxnQkFDQSxTQUFBLFFBQUEsWUFFQSxPQUFBLGFBQUEsUUFBQSxhQUNBLFlBQUEsYUFBQSxRQUFBLGtCQUVBLFNBQWdCLFFBQVEsR0FDcEIsSUFBTSxFQUFnQixJQUFJLFVBQVUseUNBQXlDLFFBQVMsRUFBVSxLQUFLLFNBQVMsR0FBRyxJQUMzRyxFQUErQixVQUFVLHlDQUF5QyxPQUFRLEVBQVUsS0FBSyxTQUFTLEdBQUcsSUFDckgsRUFBZSxTQUFBLE9BQU8sTUFBTSxXQUFXLEVBQVUsSUFBSSxHQUNyRCxFQUFjLFNBQUEsT0FBTyxNQUFNLFdBQVcsRUFBVSxJQUFJLEdBQ3BELEVBQW9CLFNBQUEsT0FBTyxNQUFNLFdBQVcsRUFBVSxJQUFJLEdBRTFELEVBRGtDLFVBQVUsMEJBQTBCLEdBQzFCLGNBQWMsRUFBRyxVQUFVLEVBQ3ZFLEVBQThCLFVBQVUsNEJBQTRCLEVBQVUsS0FBSyxTQUFTLEdBQUcsSUFDL0YsRUFBaUIsWUFBWSxFQUFVLEdBQ3ZDLEVBQXFDLElBQUksRUFBTSx1QkFFckQsV0FBVyxFQUFRLEVBQU8sRUFBVSxHQUNwQyw0QkFBNEIsRUFBWSxHQUN4QyxPQUFPLDBCQUEwQixFQUE0QixHQUdqRSxTQUFnQixrQkFDWixPQUFPLDJCQUEyQixLQUFLLFdBQ25DLEtBQUssV0FJYixTQUFnQix5QkFBeUIsRUFBNkIsR0FDbEUsSUFBTSxFQUFnQixTQUFBLE9BQU8sTUFBTSxpQkFBaUIsVUFBVSxTQUFBLEdBQzFELE9BQUEsRUFBSSxLQUFPLEVBQVUsS0FFekIsU0FBQSxPQUFPLE1BQU0saUJBQWlCLEdBQU8sR0FBSyxFQUFTLE1BQ25ELElBQU0sRUFBZ0IsVUFBVSw4QkFBOEIsRUFBUyxPQUVuRSxJQUNBLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixHQUFPLEdBQUssR0FFOUMsbUJBQ0EsWUFBWSxpQkFFWixJQUFNLEVBQU0sc0JBQ1osT0FBTyxvQkFBb0IsR0FHL0IsU0FBZ0IsbUJBQ1osT0FBSyxTQUFBLE9BQU8sTUFBTSxpQkFBaUIsUUFLbkMsU0FBQSxPQUFPLE1BQU0sYUFBZSxnQkFDckIsU0FBQSxPQUFPLE1BQU0sZUFMaEIsU0FBQSxPQUFPLE1BQU0sYUFBZSxJQUNyQixLQVFmLFNBQWdCLG9CQUNaLEdBQUssU0FBQSxPQUFPLE1BQU0saUJBQWlCLE9BR25DLElBQUssSUFBTSxLQUFPLFNBQUEsT0FBTyxNQUFNLGlCQUFrQixDQUM3QyxHQUFJLE9BQU8sVUFBVSxlQUFlLEtBQUssU0FBQSxPQUFPLE1BQU0saUJBQWtCLEdBRXBFLFFBRGdCLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixLQU0xRCxTQUFnQixnQkFDWixPQUFPLHNCQUFzQixPQUM3QixPQUFPLGNBQ1AsT0FBTyxlQUdYLFNBQWdCLHNCQUNaLEdBQUssU0FBQSxPQUFPLE1BQU0saUJBQWlCLE9BQW5DLENBR0EsSUFBTSxFQUFrQixTQUFBLE9BQU8sTUFBTSxnQkFDL0IsRUFBOEIsVUFBVSw4QkFDOUMsT0FBVSxFQUFtQyxrQkFBQyxpQkFBaUIsRUFBZ0IsYUFBWSxRQUFRLEVBQXFCLElBQUMsMEJBQTBCLEVBQW1CLGlCQUcxSyxTQUFTLFdBQVcsRUFBa0IsRUFBaUIsRUFBZ0MsR0FDbkYsT0FBTywwQkFBMEIsT0FBTyxtQ0FDWixFQUFRLHFFQUN3QixFQUFPLG9EQUMvQixFQUFVLDRDQUNmLEVBQVMscUdBTTVDLFNBQVMsNEJBQTRCLEVBQStCLEdBQzNELEdBR0wsRUFBYSxRQUFRLFNBQUEsR0FDYixFQUFJLElBQ0osYUFBYSxFQUFZLEtBSXJDLFNBQVMsYUFBYSxFQUFvQixHQUN0QyxJQUFNLEVBQWtDLE9BQU8sR0FBWSxJQUFJLEdBQzNELEVBQXlCLFNBQVMsY0FBYyxVQUNwRCxFQUFJLE1BQWdCLEVBQU0sR0FDMUIsRUFBSSxVQUFlLEVBQU0sR0FBRSxLQUFLLEVBQU0sR0FDdEMsRUFBbUIsWUFBWSxHQUduQyxTQUFTLGdCQUNMLE9BQU8sU0FBQSxPQUFPLE1BQU0saUJBQWlCLElBQUksY0FDcEMsT0FBTyxTQUFDLEVBQU0sR0FBUyxPQUFBLEVBQU8sSUFDOUIsUUFBUSxHQUdqQixTQUFTLGFBQWEsR0FDbEIsSUFBTSxFQUFpQixFQUFJLEdBQ2pCLEVBQXNCLEVBQUksR0FFMUIsRUFEa0MsU0FBQSxPQUFPLE1BQU0saUJBQWlCLEdBQzVCLEtBQUssU0FBUyxHQUFHLEdBQ3JELEVBQTJDLFVBQVUsNkNBQTZDLEdBRXhHLEdBQUksRUFBZSxDQUNmLElBQU0sRUFBZ0MsVUFBVSxzQkFBc0IsRUFBYSxHQUVuRixHQUFJLEVBQ0EsT0FBTyxFQUdmLE9BQU8sRUEvSGYsUUFBQSxRQUFBLFFBaUJBLFFBQUEsZ0JBQUEsZ0JBTUEsUUFBQSx5QkFBQSx5QkFpQkEsUUFBQSxpQkFBQSxpQkFXQSxRQUFBLGtCQUFBLGtCQVlBLFFBQUEsY0FBQSxjQU1BLFFBQUEsb0JBQUE7OztpSUMzRUEsSUFBQSxTQUFBLFFBQUEsWUFFQSxTQUFnQixpQkFDWixPQUFPLGdDQUFnQyxHQUFHLFVBQVksb0JBQ3RELE9BQU8sb0NBQW9DLEdBQUcsWUFBYyx5QkFHaEUsU0FBUyxvQkFDTCxJQUFNLEVBQXFCLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixPQUV6RCxNQUFrQyxLQUE5QixTQUFBLE9BQU8sTUFBTSxhQUNTLElBQWYsRUFBc0IsRUFBVSxnQkFBZ0IsU0FBQSxPQUFPLE1BQU0sYUFBb0IsRUFBVSxpQkFBaUIsU0FBQSxPQUFPLE1BQU0sYUFFekgsc0JBR2YsU0FBUyx5QkFDTCxJQUFNLEVBQXFCLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixPQUV6RCxNQUFrQyxLQUE5QixTQUFBLE9BQU8sTUFBTSxhQUNOLFVBQVUsRUFBVSxhQUFhLFNBQUEsT0FBTyxNQUFNLGFBRTlDLHlCQUdmLFNBQWdCLHVCQUF1QixHQUNsQixTQUFiLEdBQ0EsT0FBTywyQkFBMkIsSUFBSSxpQkFBa0IsUUFDeEQsT0FBTyxnQkFBZ0IsT0FDdkIsT0FBTyxnQ0FBZ0MsU0FBUyxjQUU5QixTQUFiLElBQ0wsT0FBTyxnQkFBZ0IsT0FDdkIsT0FBTyxnQ0FBZ0MsWUFBWSxhQUNuRCxPQUFPLDJCQUEyQixJQUFJLGlCQUFrQixRQWhDaEUsUUFBQSxlQUFBLGVBdUJBLFFBQUEsdUJBQUE7OzswOEJDeEJBLElBQUEsUUFBQSxnQkFBQSxRQUFBLFVBQ00sYUFBZSxRQUFRLFVBQVUsWUFDdkMsR0FBQSxhQUFBLFFBQUEsU0FDQSxTQUFBLFFBQUEsWUFDQSxLQUFBLGFBQUEsUUFBQSxXQUNBLFFBQUEsZ0JBQUEsUUFBQSxZQUdBLFNBQWdCLFlBQVksRUFBbUIsR0FDM0MsR0FBYSxXQUFULEVBQ0EsT0FBTyxPQUFPLFlBQVksS0FBSyxVQUFVLEdBQVMsU0FDakQsQ0FDRCxJQUFNLEVBQWEsU0FBUyxlQUFlLEdBRTdCLE9BQVYsR0FBMEMsT0FBeEIsRUFBTSxlQUN4QixFQUFNLGNBQWMsWUFBWSxLQUFLLFVBQVUsR0FBUyxNQUlwRSxTQUFnQixpQkFBaUIsR0FDN0IsT0FBTyxpQkFBaUIsVUFBVyxTQUFDLEdBQ2hDLEVBQVUsS0FJbEIsU0FBZ0IsUUFBUSxFQUFlLEVBQWMsRUFBaUIsRUFBZ0IsUUFBQSxJQUFBLElBQUEsRUFBaUIsS0FBSyxPQUN4RyxjQUFjLEdBQU8sS0FBSyxTQUFDLEdBT3ZCLFlBTjJCLENBQ3ZCLEtBQU0sRUFDTixLQUFNLEVBQ04sUUFBUyxFQUNULE1BQU8sR0FFVSxLQUVwQixNQUFNLFNBQVUsR0FDYixRQUFRLE1BQU0sS0FJMUIsU0FBZ0IsaUJBQWlCLEdBTzdCLFlBTjJCLENBQ3ZCLFFBQVMsS0FDVCxLQUFNLFNBQ04sTUFBTyxFQUNQLEtBQU0sS0FBSyxPQUVNLGlCQUd6QixTQUFnQixrQkFBa0IsR0FPOUIsWUFOMkIsQ0FDdkIsUUFBUyxLQUNULEtBQU0sUUFDTixNQUFPLEVBQ1AsS0FBTSxLQUFLLE9BRU0sVUFHekIsU0FBZ0IsZUFBZSxHQU8zQixZQU4yQixDQUN2QixRQUFTLEVBQ1QsS0FBTSxRQUNOLE1BQU8sdUJBQ1AsS0FBTSxLQUFLLE9BRU0sVUFHekIsU0FBZ0IsZUFBZSxHQUczQixNQUFNLEVBQU8sQ0FDVCxTQUFVLFdBRVQsS0FBSyxXQUFNLE9BQUEsUUFBQSxRQUFNLFdBQWMsRUFBSyxlQUNwQyxNQUFNLFNBQUMsR0FBVSxPQUFBLFFBQUEsUUFBTSxXQUFXLEtBRzNDLFNBQWdCLHdCQUNaLE9BQU8sc0JBQXNCLE9BRXhCLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixVQUduQyxHQUFHLG9CQVlILFlBVDJCLENBQ3ZCLFFBQVMsQ0FDTCxJQUp3QixLQUFLLHVCQU1qQyxLQUFNLFFBQ04sTUFBTyw2QkFDUCxLQUFNLEtBQUssT0FHTSxXQUd6QixTQUFTLGNBQWMsR0FDbkIsT0FBTyxRQUFBLFFBQU0sSUFBSSxHQUNaLEtBQUssU0FBQyxHQUNILE9BQU8sSUFBSSxRQUFRLFNBQUMsRUFBYyxHQUM5QixJQUFNLEVBQStCLEVBQ1IsTUFBekIsRUFBYyxRQUE0RCwyQkFBMUMsRUFBYyxRQUFRLGlCQUN0RCxhQUFhLEVBQWMsS0FDdkIsQ0FBRSxlQUFlLEVBQU0sV0FBVyxFQUFNLFlBQVksR0FDcEQsU0FBQyxFQUFVLEdBQ0gsRUFDQSxFQUFPLEdBRVAsRUFBUSxTQUsvQixNQUFNLFNBQUMsR0FBVSxPQUFBLFFBQUEsUUFBTSxXQUFXLEtBOUczQyxRQUFBLFlBQUEsWUFXQSxRQUFBLGlCQUFBLGlCQU1BLFFBQUEsUUFBQSxRQWVBLFFBQUEsaUJBQUEsaUJBVUEsUUFBQSxrQkFBQSxrQkFVQSxRQUFBLGVBQUEsZUFVQSxRQUFBLGVBQUEsZUFVQSxRQUFBLHFCQUFBOzs7MEZDL0VhLFFBQUEsT0FBbUIsQ0FDNUIsa0JBQWtCLEVBQ2xCLE9BQU8sRUFDUCxPQUFRLFVBQ1IsUUFBUyxRQUNULGlCQUFrQixHQUNsQixVQUFXLENBQ1AsT0FBUSxDQUNKLFFBQVMsK0JBQ1QsSUFBSyxpRkFDTCxTQUFVLGdEQUNWLE9BQVEsOEVBQ1IsVUFBVywrQ0FDWCxZQUFhLDhEQUNiLFFBQVMsc0RBRWIsUUFBUyxDQUNMLFFBQVMsdUNBQ1QsSUFBSyx5RkFDTCxTQUFVLHdEQUNWLE9BQVEsc0ZBQ1IsVUFBVyx1REFDWCxZQUFhLDhEQUNiLFFBQVMsK0RBR2pCLE1BQU8sQ0FDSCxhQUFjLEdBQ2QsYUFBYSxFQUNiLGlCQUFrQixHQUNsQixpQkFBa0IsR0FDbEIsV0FBWSxHQUNaLHNCQUFzQixFQUN0QixxQkFBaUIsRUFDakIsYUFBUyxFQUNULGFBQVMsRUFDVCxnQkFBWSxFQUNaLGdCQUFZOzs7bzVCQ3ZDcEIsSUFBQSxjQUFBLGFBQUEsUUFBQSxvQkFDQSxHQUFBLGFBQUEsUUFBQSxTQUNBLFNBQUEsUUFBQSxZQUVBLElBQUEsYUFBQSxRQUFBLFVBQ0EsS0FBQSxhQUFBLFFBQUEsV0FDQSxPQUFBLGFBQUEsUUFBQSxhQUNBLFdBQUEsYUFBQSxRQUFBLGlCQUVBLFNBQWdCLGdCQUNaLElBQU0sRUFBeUMsT0FBTyxrQkFBa0IsSUFBSSxHQUN4RSxHQUNBLEVBQWMsaUJBQWlCLFFBQVMsV0FBTSxPQUFBLGNBQWMsa0JBQWtCLHVCQUd0RixTQUFnQixxQkFDWixJQUFNLEVBQXNDLFNBQVMsZUFBZSxtQkFFaEUsR0FDQSxFQUFnQixpQkFBaUIsU0FBVSxXQUN2QyxHQUFHLGtCQUFrQixRQUNyQixHQUFHLHNCQUFzQiwwQkFDekIsY0FBYyxlQUFlLEtBQUssU0FLOUMsU0FBZ0IsZUFDWixJQUFNLEVBQW1DLE9BQU8sMkJBQTJCLElBQUksR0FFM0UsR0FDQSxFQUFRLGlCQUFpQixRQUFTLFdBQ3pCLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixPQUUxQixTQUFBLE9BQU8sTUFBTSxZQUNsQixjQUFjLHdCQUNSLFNBQUEsT0FBTyxNQUFNLGFBQWUsU0FBQSxPQUFPLE1BQU0scUJBQy9DLEdBQUcsa0JBQ0csU0FBQSxPQUFPLE1BQU0sYUFBZ0IsU0FBQSxPQUFPLE1BQU0sc0JBQ2hELFdBQVcsZUFBZSx3RUFOMUIsV0FBVyxlQUFlLGdEQVcxQyxTQUFnQixvQkFBb0IsR0FDaEMsR0FBSyxFQUFMLENBR0EsSUFBTSxFQUFjLE9BQU8sMkNBQTJDLElBQUksR0FDdEUsR0FDQSxFQUFZLGlCQUFpQixRQUFTLFdBQ2xDLElBQU0sRUFBcUIsQ0FDdkIsUUFBUyxDQUNMLElBQUssR0FFVCxLQUFNLFFBQ04sTUFBTyx1QkFDUCxLQUFNLEtBQUssT0FFZixjQUFjLFlBQVksRUFBUyxhQUsvQyxTQUFnQixlQUNaLElBQU0sRUFBd0IsT0FBTyx1Q0FBdUMsSUFBSSxHQUM1RSxHQUNBLEVBQVMsaUJBQWlCLFFBQVMsV0FBTSxPQUFBLGNBQWMsa0JBQWtCLGdDQUdqRixTQUFnQixjQUNaLElBQU0sRUFBdUIsT0FBTyx5Q0FBeUMsSUFBSSxHQUM3RSxHQUNBLEVBQVEsaUJBQWlCLFFBQVMsV0FBTSxPQUFBLE9BQU8sdUNBQXVDLFFBQVEsV0FHdEcsU0FBZ0IsdUJBQXVCLEdBQ25DLElBQU0sRUFBZSxTQUFBLE9BQU8sTUFBTSxRQUNFLE9BQU8sR0FBWSxJQUFJLEdBRTVDLGlCQUFpQixTQUFVLFdBQ3RDLElBQU0sRUFBZ0IsS0FBSyxNQUNyQixFQUFvQixLQUFLLEVBRS9CLE9BQU8sNEJBQTRCLEVBQVksRUFBTyxHQUV4QyxRQUFWLEdBQ0EsRUFBUSxLQUFLLGVBQWUsT0FBTyxhQUNuQyxJQUFJLHdCQUdKLEVBQVEsS0FBSyxhQUFhLE9BQU8sZUFDakMsSUFBSSx5QkFBeUIsR0FDN0IsSUFBSSx5QkFLaEIsU0FBZ0IsMEJBQTBCLEVBQW9CLEdBRTFELE9BQU8sR0FBWSxHQUFHLFNBQVUsV0FDNUIsS0FBSyx5QkFBeUIsS0FBTSxLQUk1QyxTQUFnQixpQkFDWixPQUFPLGdCQUFnQixHQUFHLFFBQVMsV0FDMUIsU0FBQSxPQUFPLGtCQUNSLGNBQWMsaUJBQWlCLHFCQUVuQyxPQUFPLGNBQWMsSUFBSSxXQUFZLFVBQ3JDLE9BQU8sa0JBQWtCLE9BQU8sVUF0R3hDLFFBQUEsY0FBQSxjQU1BLFFBQUEsbUJBQUEsbUJBWUEsUUFBQSxhQUFBLGFBaUJBLFFBQUEsb0JBQUEsb0JBb0JBLFFBQUEsYUFBQSxhQU1BLFFBQUEsWUFBQSxZQU1BLFFBQUEsdUJBQUEsdUJBc0JBLFFBQUEsMEJBQUEsMEJBT0EsUUFBQSxlQUFBOzs7aTBCQ3pHQSxJQUFBLE9BQUEsZ0JBQUEsUUFBQSxTQUNBLFNBQUEsUUFBQSxZQUNBLFVBQUEsYUFBQSxRQUFBLGdCQUVBLFNBQWdCLGVBQWUsRUFBbUIsUUFBQSxJQUFBLElBQUEsRUFBQSxLQUM5QyxJQUFJLE9BQUEsUUFBZ0IsU0FBVSxDQUMxQixTQUFVLENBQUUsRUFBRyxTQUFVLEVBQUcsT0FDNUIsT0FBUSxDQUFFLEVBQUcsRUFBRyxFQUFHLEtBQ25CLFFBQVMsRUFDVCxVQUFXLEVBQ1gsVUFBVyxDQUFFLEtBQU0sU0FBVSxNQUFPLFdBQ3BDLFlBQVksRUFDWixhQUFhLEVBQ2IsbUJBQW1CLEVBQ25CLGNBQWMsRUFDZCxXQUFXLEVBQ1gsTUFBTyxNQUNQLE9BQU8sRUFDUCxlQUFlLEVBQ2YsWUFBWSxFQUNaLGlCQUFpQixFQUNqQixrQkFBa0IsSUFJMUIsU0FBZ0IscUJBQ1osSUFBSSxPQUFBLFFBQWlCLFVBQVcsQ0FDNUIsT0FBUSxPQUFPLG9CQUNmLE9BQVEsV0FDSixnQkFBZ0IsU0FLNUIsU0FBUyxnQkFBZ0IsR0FDckIsSUFBTSxFQUFpQixFQUFLLE9BQU8sR0FBRyxHQUNoQyxFQUFlLFNBQUEsT0FBTyxNQUFNLFdBQVcsR0FBUSxHQUMvQyxFQUFjLFNBQUEsT0FBTyxNQUFNLFdBQVcsR0FBUSxHQUM5QyxFQUFvQixTQUFBLE9BQU8sTUFBTSxXQUFXLEdBQVEsR0FFcEQsRUFEa0MsVUFBVSwwQkFBMEIsR0FDL0IsY0FBYyxFQUFHLFVBQVUsRUFFeEUsRUFBSyxXQUFXLEdBdENwQixRQUFBLGVBQUEsZUFxQkEsUUFBQSxtQkFBQTs7OzRnQ0N4QkEsSUFBQSxTQUFBLFFBQUEsWUFDQSxNQUFBLGFBQUEsUUFBQSxZQUNBLEtBQUEsYUFBQSxRQUFBLFdBQ0EsWUFBQSxhQUFBLFFBQUEsa0JBQ0EsUUFBQSxnQkFBQSxRQUFBLFlBRUEsU0FBZ0IsV0FDWixJQUNNLEVBRGtCLFNBQUEsT0FBTyxNQUFNLFdBQ21CLFFBQVEsR0FBRyxrQkFBa0IsR0FBRyxXQUNwRixFQUErQixHQUVuQyxJQUFLLElBQUksS0FBTyxFQUFlLENBQzNCLElBQU0sRUFBd0IsQ0FDMUIsUUFBVyxJQUFJLEVBQWMsR0FBSyxHQUFHLEdBQ3JDLFNBQVksRUFBYyxJQUc5QixFQUR5QixPQUFPLGFBQWEsR0FBSyxTQUFTLElBQU0scUJBQ3BDLEVBR2pDLE9BQU8sRUFHWCxTQUFnQix5QkFBeUIsU0FDL0IsRUFBa0IsU0FBQSxPQUFPLE1BQU0sV0FDL0IsRUFBZSxTQUFBLE9BQU8sTUFBTSxRQUc1QixFQUVKLFFBRnFDLEVBRk0sRUFBVyxRQUFRLEdBQUcsa0JBQWtCLEdBQUcsV0FFbkMsS0FBSyxTQUFBLEdBQ3RELE9BQU8sRUFBSSxHQUFHLEtBQU8sV0FDdkIsSUFBQSxPQUFBLEVBQUEsRUFBRSxLQUFLLEdBQUcsTUFBTSxLQUVsQixFQUFRLE9BQU8sRUFBVSxhQUc3QixTQUFnQixnQkFDWixJQUNNLEVBRGtCLFNBQUEsT0FBTyxNQUFNLFdBQ00sUUFBUSxHQUFHLFFBQVEsR0FBRyxPQUFPLEdBQ2xFLEVBQWlCLFNBQVMsRUFBTyxPQUFPLElBQ3hDLEVBQXNCLE1BQU0sS0FBSyxDQUFFLE9BQVEsR0FBVSxTQUFDLEdBQU0sTUFBQSxLQVdsRSxPQVZnQyxFQUFPLEtBQUssR0FBRyxJQUV2QyxRQUFRLFNBQUEsR0FDWixJQUFNLEVBQWdCLFNBQVMsRUFBUSxhQUFhLElBRzlDLEVBRG9CLGFBREMsRUFBUSxNQUFNLEdBQUcsTUFBTSxLQUNGLElBQ3BCLEdBQzVCLEVBQVUsR0FBUyxJQUdoQixFQUdYLFNBQWdCLGNBQ1osSUFBTSxFQUFrQixTQUFBLE9BQU8sTUFBTSxXQUMvQixFQUEwQixFQUFXLFFBQVEsR0FBRyxRQUFRLEdBQUcsT0FBTyxHQUNsRSxFQUF1QixFQUFPLEtBQUssR0FBRyxJQUN0QyxFQUF1QyxFQUFXLFFBQVEsR0FBRyxrQkFBa0IsR0FBRyxXQUNsRixFQUFxQyxFQUFXLFFBQVEsR0FBRyxXQUFXLEdBQUcsVUFBVSxHQUFHLGFBQWEsR0FHckcsRUFBd0IsZ0JBQ3hCLFNBQVMsRUFBTyxPQUFPLElBQ3ZCLFNBQVMsRUFBTyxNQUFNLElBQ3RCLEtBSUosT0FEQSxFQUFZLG1CQUFtQixFQUFNLEVBQVcsRUFBZSxJQUM5QyxJQUFJLFNBQUEsR0FBVyxPQUFBLEVBQVEsS0FBSyxNQUdqRCxTQUFnQixlQUFlLEdBQzNCLElBQU0sRUFBa0IsU0FBQSxPQUFPLE1BQU0sV0FDL0IsRUFBdUIsU0FBQSxPQUFPLE1BQU0sV0FDcEMsRUFBdUMsRUFBVyxRQUFRLEdBQUcsa0JBQWtCLEdBQUcsV0FDbEYsRUFBc0MsRUFBUyxNQUFNLEdBQUcsWUFBWSxHQUFHLFdBRTdFLE1BQW9CLENBQ2hCLEtBQU0sT0FBTyxHQUNiLE1BQU8sa0JBQWtCLEVBQWUsSUFNaEQsU0FBZ0Isc0JBQ1osSUFBTSxFQUFrQixTQUFBLE9BQU8sTUFBTSxXQUMvQixFQUFlLFNBQUEsT0FBTyxNQUFNLFFBQzVCLEVBQXFDLEVBQVcsUUFBUSxHQUFHLFdBQVcsR0FBRyxVQUFVLEdBQUcsYUFBYSxHQUV6RyxHQUF5RCxLQUFyRCxFQUFnQiw4QkFBOEIsR0FBVyxDQUN6RCxJQUFNLEVBQTJCLEVBQWdCLDhCQUE4QixHQUFHLE1BQU0sS0FDeEYsRUFBUSxPQUFPLEVBQWdCLGdCQUl2QyxTQUFnQixZQUFZLEVBQWtCLEdBQzFDLElBQUssSUFBSSxLQUFPLEVBQ1osR0FBSSxFQUFnQixHQUFLLEtBQUssR0FBRyxTQUFTLEdBQ3RDLE9BQU8sT0FBTyxhQUFhLEdBQUssU0FBUyxJQUFNLG9CQU0zRCxTQUFnQixhQUFhLEdBQ3pCLE9BQU8sRUFBVSxNQUFNLEtBQUssSUFBSSxTQUFDLEdBQVMsT0FBQSxFQUFLLFNBR25ELFNBQWdCLGdCQUFnQixFQUFtQixFQUFtQixHQUNsRSxPQUFPLE1BQU0sR0FBVyxLQUFLLE1BQU0sSUFBSSxXQUFNLE9BQUEsTUFBTSxHQUFXLEtBQUssS0FHdkUsU0FBZ0Isb0JBQ1osSUFBTSxFQUFlLFNBQUEsT0FBTyxNQUFNLFFBQ2xDLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixRQUFRLFNBQUEsR0FDbEMsSUFBTSxFQUFpQixFQUFJLEdBRXZCLEVBQVEsSUFBSSxJQUNaLEVBQVEsT0FBTyxFQUFRLGNBSW5DLFNBQWdCLFdBQVcsRUFBb0IsRUFBaUIsRUFBd0IsRUFBcUIsR0FDekcsSUFBTSxFQUE4QixPQUFRLE9BQU8sR0FFbkQsU0FBQSxPQUFPLE1BQU0sUUFBVSxFQUFpQixXQUFXLENBQy9DLE9BQVEsQ0FDSixLQUFLLEVBQ0wsTUFBTSxFQUNOLEtBQU0sR0FFVixJQUFLLEVBQ0wsTUFBTyxFQUNQLE9BQVEsRUFDUixNQUFPLFdBQ0gsT0FBTyxZQUFZLFNBSy9CLFNBQVMsa0JBQWtCLEVBQXNDLEdBQzdELE9BQU8sRUFBYyxJQUFJLFNBQUMsRUFBSyxTQUNyQixFQUFhLEVBQUksR0FBRyxHQUkxQixNQUFPLENBSGtCLE9BQU8sYUFBYSxHQUFLLEdBQU8sb0JBR3ZDLGFBRitELFFBQWhELEVBQUEsRUFBbUIsS0FBSyxTQUFBLEdBQU8sT0FBQSxFQUFJLEdBQUcsS0FBTyxXQUFHLElBQUEsT0FBQSxFQUFBLEVBQUUsS0FBSyxJQUNyRCxLQUFLLEVBQWMsR0FBTyxVQUFVLE1BSy9FLFNBQVMsbUJBQW1CLEVBQXdCLEVBQXlCLEVBQXdDLEdBQ2pILElBQU0sRUFBeUIsRUFBa0IsMEJBQTBCLEdBQUcsTUFBTSxLQUM5RSxFQUEyQixFQUFrQiw4QkFBOEIsR0FBRyxNQUFNLEtBc0MxRixPQXBDQSxFQUFPLFFBQVEsU0FBQSxHQUNYLElBQU0sRUFBb0IsRUFDcEIsRUFBWSxTQUFTLEVBQUksYUFBYSxJQUFNLEVBQ3ZCLEVBQUksTUFBTSxHQUFHLE1BQU0sS0FFckMsUUFBUSxTQUFBLEdBQ2IsSUFJTSxFQUFvQixhQUpGLEdBY3hCLEdBQUssRUFBYSxTQUFTLEVBQVEsS0FBUSxFQUFlLFNBQVMsRUFBUSxJQUEzRSxDQUlBLElBQU0sRUFBWSxTQUFTLEVBQVEsSUFBTSxFQUNuQyxFQUErQixZQUFZLEVBQVEsR0FBSSxHQUV6RCxJQUNBLEVBQVksR0FBRyxHQUFRLEVBQVEsSUFBSSxFQUFRLEdBQUUsT0FJakQsU0FBQSxPQUFPLE1BQU0sV0FBVyxFQUFRLElBQU0sT0FJdkMsRUFHWCxTQUFTLFlBQVksR0FDakIsTUFBMEIsYUFBdEIsRUFBVSxTQUNILG1CQUFtQixHQUVFLGFBQXZCLEVBQVUsU0FDUixvQkFBb0IsR0FFQSxlQUF0QixFQUFVLFNBQ1IsY0FHQSxFQUFVLFFBSXpCLFNBQVMsbUJBQW1CLEdBQ3hCLElBQU0sRUFBa0MsRUFBVSxTQUlsRCxPQUZBLFFBQUEsUUFBTSxXQUFXLEdBRWIsTUFBTSw0QkFBNEIsR0FDM0IsYUFFWCxNQUFNLGVBQWUsR0FDckIsS0FBSyxtQkFDTCxZQUFZLGlCQUVMLFlBR1gsU0FBUyxvQkFBb0IsR0FDekIsSUFBTSxFQUFrQyxFQUFVLFNBS2xELE9BSkEsTUFBTSxvQkFBb0IsR0FDMUIsS0FBSyxtQkFDTCxZQUFZLGlCQUVMLFlBaE9YLFFBQUEsU0FBQSxTQWlCQSxRQUFBLHlCQUFBLHlCQVlBLFFBQUEsY0FBQSxjQWtCQSxRQUFBLFlBQUEsWUFrQkEsUUFBQSxlQUFBLGVBY0EsUUFBQSxvQkFBQSxvQkFXQSxRQUFBLFlBQUEsWUFTQSxRQUFBLGFBQUEsYUFJQSxRQUFBLGdCQUFBLGdCQUlBLFFBQUEsa0JBQUEsa0JBVUEsUUFBQSxXQUFBOzs7YUM1SEEsU0FBZ0Isd0JBQXdCLEdBQ3BDLE9BQU8sNEJBQTRCLEtBQUssV0FDcEMsSUFBSSxFQUFvQyxPQUFPLFNBQVMsY0FBYyxXQUNqRSxhQUNHLE9BQU8sTUFBTSxRQUdyQixFQUFPLEtBQUssQ0FBRSxHQUFJLElBQ2xCLHdCQUF3QixHQUN4QixvQkFBb0IsS0FBTSxLQUlsQyxTQUFTLG9CQUFvQixFQUFzQixHQUMvQyxPQUFPLE1BQU8sR0FBUyxLQUFLLFdBQ3hCLElBQU0sRUFBb0IsT0FBTyxNQUFNLEdBQUcsU0FBUyxHQUFHLFVBQVUsR0FDMUQsRUFBYyxFQUFVLFVBQVUsR0FDbEMsRUFBNkIsT0FBTyxNQUFNLEdBQUcsU0FBUyxHQUFJLFVBRWhFLG1CQUFtQixFQUFVLEVBQVcsRUFBSyxLQUlyRCxTQUFTLG1CQUFtQixFQUFxQyxFQUFtQixFQUFhLEdBQzdGLElBQUksRUFBb0MsT0FBTyxhQUMvQyxFQUFPLEtBQUssQ0FBRSxNQUFTLEVBQUssTUFBUyxJQUFhLEtBQUssR0FDdkQsRUFBUyxPQUFPLEdBR3BCLFNBQVMsd0JBQXdCLEdBQzdCLElBQUksRUFBb0MsT0FBTyxhQUMvQyxFQUFPLEtBQUssQ0FBRSxNQUFTLFFBQVMsS0FBSyx3QkFDckMsRUFBTyxJQUFJLFFBQVMsV0FDcEIsRUFBUyxPQUFPLEdBR3BCLFNBQWdCLDRCQUE0QixFQUFvQixFQUFpQixHQUM3RSxJQUFJLEVBQWtCLFVBQ2xCLEVBQWdCLFVBRUosUUFBWixJQUNBLEVBQVEsUUFDUixFQUFVLE9BQU8sR0FBYSxJQUFJLHFCQUd0QyxPQUFPLEdBQVksSUFBSSxRQUFTLEdBQ2hDLE9BQU8sR0FBWSxJQUFJLG1CQUFvQixHQUMzQyxPQUFVLEVBQVUsd0JBQXdCLElBQUksUUFBUyxxSUEvQzdELFFBQUEsd0JBQUEsd0JBb0NBLFFBQUEsNEJBQUE7Ozs0TkNwQ0EsSUFBQSxVQUFBLGdCQUFBLFFBQUEscUJBRUEsU0FBQSxRQUFBLFlBRUEsU0FBZ0IsV0FBVyxFQUFvQixFQUE2QyxFQUE4QyxRQUEzRixJQUFBLElBQUEsT0FBQSxRQUE2QyxJQUFBLElBQUEsT0FBQSxRQUE4QyxJQUFBLElBQUEsT0FBQSxHQUN0SSxJQUFNLEVBQXlCLE9BQU8sR0FBWSxJQUFJLEdBRXRELEdBQUksRUFBVyxDQUNYLElBQU0sRUFBeUIsVUFBQSxRQUFRLEVBQVcsQ0FDOUMsU0FBVSxFQUNWLFNBQVMsRUFDVCxTQUFVLFNBQ1YsV0FBWSxTQUloQixPQURBLGlCQUFpQixFQUFhLEVBQWMsRUFBZ0IsRUFBVSxjQUFnQixHQUMvRSxHQU1mLFNBQVMsaUJBQWlCLEVBQWlDLEVBQWtDLEVBQW9DLEVBQThCLEdBQ3RJLENBQ2pCLENBQUUsU0FBVSxFQUFhLGdCQUFpQixFQUFRLE9BQVEsS0FBTSxTQUNoRSxDQUFFLFNBQVUsRUFBYyxnQkFBaUIsRUFBUSxRQUFTLEtBQU0sU0FDbEUsQ0FBRSxTQUFVLEVBQWdCLGdCQUFpQixFQUFRLE1BQU8sS0FBTSxTQUNsRSxDQUFFLFlBQWEsRUFBaUIsZ0JBQWlCLEVBQVEsY0FBZSxLQUFNLFVBR3JFLElBQUksU0FBQSxHQUNiLEdBQUksRUFBTSxTQUFVLENBQ2hCLElBQU0sRUFBK0IsT0FBTyxFQUFNLFVBQVUsSUFBSSxHQUM1RCxHQUNBLEVBQUksaUJBQWlCLEVBQU0sS0FBTSxFQUFNLHNCQUV0QyxFQUFNLGFBQ1EsVUFBZixFQUFNLE1BQ04sRUFBTSxZQUFZLGlCQUFpQixFQUFNLEtBQU0sRUFBTSxtQkFLckUsU0FBZ0Isb0JBQW9CLFNBRVQsUUFBdkIsRUFEK0IsT0FBTyxHQUFZLElBQUksR0FDNUMscUJBQWEsSUFBQSxHQUFBLEVBQUUsb0JBQW9CLFFBQVMsU0FBQSxPQUFPLE1BQU0sUUFBUyxlQXpDaEYsUUFBQSxXQUFBLFdBdUNBLFFBQUEsb0JBQUE7OzswNkJDM0NBLElBQUEsU0FBQSxRQUFBLFlBQ0EsUUFBQSxnQkFBQSxRQUFBLFVBQ0EsY0FBQSxhQUFBLFFBQUEsb0JBRUEsUUFBQSxnQkFBQSxRQUFBLFlBRUEsU0FBZ0IscUJBQXFCLEVBQVUsR0FDM0MsSUFDTSxFQURrQixLQUFLLE1BQU0sRUFBSSxNQUNaLFFBQVEsSUFFbkMsUUFBQSxRQUFNLElBQUksRUFBTyxDQUNiLGFBQWMsSUFFYixLQUFLLFNBQUMsR0FFSCxJQUFJLEdBQWdDLEVBQzlCLEVBQWtCLEVBQUksS0FDdEIsRUFBcUIsT0FBTyxVQUFVLEdBQ3RDLEVBQXFCLE9BQU8sR0FBWSxLQUFLLGFBQWEsTUFJaEUsR0FGQSxRQUFBLFFBQU0sV0FBVyxhQUFhLEdBRTFCLEVBQVUsQ0FDVixHQUF1QixFQUN2QixJQUFNLEVBQWUsRUFBcUMsa0JBQUMsaUJBQWlCLEVBQWdDLGFBQUMsUUFBUSxFQUF1QixJQUFDLGFBQWEsRUFBUSxlQUNsSyxjQUFjLGVBQWUsR0FHakMsSUFBTSxFQUFxQixDQUN2QixRQUFTLENBQ0wscUJBQXdCLEVBQ3hCLFdBQWMsRUFDZCxJQUFPLEdBRVgsS0FBTSxTQUNOLE1BQU8sOEJBQ1AsS0FBTSxLQUFLLE9BRWYsY0FBYyxZQUFZLEVBQVMsbUJBRXRDLE1BQU0sU0FBVSxHQUNiLFFBQUEsUUFBTSxXQUFXLHVDQUNqQixRQUFBLFFBQU0sV0FBVyxLQUk3QixTQUFnQix3QkFBd0IsR0FDcEMsSUFBTSxFQUFxQixDQUN2QixRQUFTLEVBQ1QsS0FBTSxTQUNOLE1BQU8sa0NBQ1AsS0FBTSxLQUFLLE9BRWYsY0FBYyxZQUFZLEVBQVMsaUJBR3ZDLFNBQWdCLGlCQUFpQixHQUM3QixjQUFjLFFBQVEsRUFBMkIsUUFBRyxnQkFBaUIsMkJBQTRCLFVBQ2pHLFNBQUEsT0FBTyxrQkFBbUIsRUFHOUIsU0FBZ0IsZUFBZSxFQUFVLEdBQ3JDLElBQU0sRUFBa0IsS0FBSyxNQUFNLEVBQUksTUFDakMsRUFBd0IsRUFBcUMsa0JBQUMsMEJBQTBCLEVBQUssUUFDbkcsY0FBYyxRQUFRLEVBQVksZ0JBQWlCLHdCQUF5QixVQUdoRixTQUFnQixjQUFjLEdBQzFCLElBQ00sRUFEa0IsS0FBSyxNQUFNLEVBQUksTUFDWixRQUFRLElBQ25DLE9BQU8sU0FBUyxLQUFPLEVBRzNCLFNBQWdCLGtCQUNaLElBQU0sRUFBNkIsU0FBQSxPQUFPLE9BQ3BDLEVBQVksU0FBQSxPQUFPLFVBQVUsR0FFbkMsUUFBQSxRQUFNLE9BQU8sRUFBVSxVQUFXLE1BQU8sUUF2RTdDLFFBQUEscUJBQUEscUJBd0NBLFFBQUEsd0JBQUEsd0JBVUEsUUFBQSxpQkFBQSxpQkFLQSxRQUFBLGVBQUEsZUFNQSxRQUFBLGNBQUEsY0FNQSxRQUFBLGdCQUFBOzs7MGpCQ3hFQSxJQUFBLFNBQUEsUUFBQSxZQUNJLE9BQVMsUUFBUSxVQUNyQixRQUFBLGdCQUFBLFFBQUEsWUFFQSxTQUFnQixtQkFDWixJQUFJLEVBQW9CLEdBS3hCLE9BSkEsT0FBTyxlQUFlLEtBQUssV0FDdkIsRUFBUSxLQUFLLE9BQU8sTUFBTSxVQUd2QixFQUFRLEtBQUssTUFHeEIsU0FBZ0IsVUFBVSxHQUN0QixJQUFNLEVBQXFCLE9BQU8sVUFBVSxHQUN4QyxFQUFtQixHQVV2QixPQVJBLE9BQU8sR0FBWSxLQUFLLFNBQVMsS0FBSyxXQUNsQyxJQUFNLEVBQWUsS0FBSyxLQUNwQixFQUFnQixLQUFLLE1BRWIsS0FBVixJQUNBLEVBQU8sR0FBUSxLQUdoQixFQUlYLFNBQWdCLG1CQUNaLEdBQUksT0FBTyxtQkFBbUIsT0FBUSxDQUNsQyxJQUFNLEVBQStCLE9BQU8sbUJBQW1CLEdBQUcsWUFFbEUsR0FBSSxNQUFBLE9BQWEsRUFBYixFQUFlLE9BQU8sT0FFdEIsTUFBeUIsQ0FDckIsY0FBaUIsRUFDakIscUJBSGlDLG1CQUFtQixLQVdwRSxTQUFnQixvQkFBb0IsR0FDaEMsSUFBTSxFQUFRLEVBQVUsTUFBTSxpQkFBa0IsR0FDMUMsRUFBVyxFQUFVLE1BQU0sb0JBQXFCLEdBQ2hELEVBQWEsRUFBVSxNQUFNLG1CQUFvQixHQUNqRCxFQUFvQixtQkFBbUIsR0FDdkMsRUFBVSxtQkFBc0IsRUFBVSxVQUFVLEVBQUssYUFBYSxFQUFRLDZFQUM5RSxFQUFnQixtQkFDaEIsRUFBdUIsRUFBa0IsTUFBTSxLQUFLLEdBQUcsTUFBTSxLQUFLLE1BQU0sR0FBRyxHQUFHLEtBQUssS0FBSSxrQkFFN0YsTUFBa0IsQ0FDZCxNQUFTLEVBQ1QsU0FBWSxFQUNaLFdBQWMsRUFDZCxrQkFBcUIsRUFDckIsUUFBVyxFQUNYLGNBQWlCLEVBQ2pCLGtCQUFxQixHQUk3QixTQUFnQixnQkFDWixJQUFNLEVBQXdCLE9BQU8seUJBQXlCLElBQUksR0FFbEUsR0FBSSxFQUNBLE1BQXNCLENBQ2xCLGNBQWUsRUFBSSxJQUNuQixpQkFBa0IsRUFBSSxPQUN0QixnQkFBaUIsRUFBSSxPQU9qQyxTQUFnQixVQUNaLEdBQUssT0FBTyxvQkFBb0IsT0FBaEMsQ0FHQSxJQUVNLEVBRmMsT0FBTyxzQkFBc0IsS0FBSyxXQUVYLE1BRGhDLDRCQUdYLE9BQU8sRUFBUSxFQUFNLFFBQUssR0FHOUIsU0FBZ0IsZUFDWixJQUFNLEVBQXVCLFNBQUEsT0FBTyxNQUFNLFdBQ3BDLEVBQTJCLEVBQVMsY0FBYyxHQUFHLGtCQUFrQixHQUFHLFFBQzFFLEVBQW9CLEVBQVMsTUFBTSxHQUNuQyxFQUFpQixFQUFTLE1BQU0sR0FDaEMsRUFBOEIsRUFBUyxhQUFhLEdBQ3BELEVBQWdCLElBQUksS0FBSyxTQUFTLEVBQU0sS0FBSyxJQUFLLFNBQVMsRUFBTSxNQUFNLElBQU0sRUFBRyxTQUFTLEVBQU0sSUFBSSxJQUFLLFNBQVMsRUFBTSxLQUFLLElBQUssU0FBUyxFQUFNLE9BQU8sS0FDdkosRUFBa0IsQ0FBQyxFQUFRLGVBQWUsQ0FBQyxTQUFVLENBQUUsUUFBUyxPQUFRLElBQUssVUFBVyxNQUFPLFVBQVcsS0FBTSxVQUFXLEtBQU0sVUFBVyxPQUFRLFVBQVcsYUFBYyxXQUM3SyxFQUFvQixDQUFDLFFBQUEsUUFBTSxXQUFXLEVBQVMsVUFDL0MsRUFBa0IsRUFBVyxJQUFJLFNBQUEsR0FBUSxPQUFBLFNBQVMsRUFBSyxVQUFVLE1BQUssT0FBTyxTQUFDLEVBQU0sR0FBUyxPQUFBLEVBQU8sSUFFcEcsRUFBNkIsQ0FDL0Isc0JBQXVCLEVBQWEsU0FDcEMsa0JBQW1CLEVBQWEsS0FDaEMsa0JBQW1CLEVBQWEsS0FDaEMsZ0JBQWlCLEVBQWEsR0FDOUIsdUJBQXdCLEVBQWEsVUFDckMsOEJBQStCLEVBQWEsaUJBQzVDLDZCQUE4QixFQUFhLGdCQUMzQyxNQUFPLEVBQ1AsUUFBUyxFQUNULGdCQUFpQixHQUdyQixPQUFPLFNBQUEsU0FBQSxHQUFrQixHQUFhLEdBOUcxQyxRQUFBLGlCQUFBLGlCQVNBLFFBQUEsVUFBQSxVQWdCQSxRQUFBLGlCQUFBLGlCQWdCQSxRQUFBLG9CQUFBLG9CQW9CQSxRQUFBLGNBQUEsY0FjQSxRQUFBLFFBQUEsUUFXQSxRQUFBLGFBQUE7OzswL0JDM0ZBLElBQUEsU0FBQSxRQUFBLFlBRUEsVUFBQSxhQUFBLFFBQUEsZ0JBQ0EsV0FBQSxhQUFBLFFBQUEsaUJBRUEsU0FBZ0IsZUFBZSxHQUMzQixrQkFBa0IsR0FDbEIsSUFBTSxFQUF1QixTQUFBLE9BQU8sTUFBTSxpQkFBaUIsRUFBZSxJQUFJLEtBQUssU0FBUyxHQUFHLEdBQ3pGLEVBQTJDLFVBQVUsNkNBQTZDLEdBRXhHLEdBQUksRUFBZSxDQUNmLElBQU0sRUFBMkIsRUFBYyxXQUFXLEdBQUcsR0FBRyxHQUMxRCxFQUFvQyxVQUFVLDhCQUE4QixHQUVsRixvQkFEcUQsQ0FBQyxFQUFlLEdBQUksRUFBa0IsU0FJM0YsUUFBUSxLQUFLLDJFQUEyRSxHQUdoRyxTQUFnQixvQkFBb0IsVUFDekIsU0FBQSxPQUFPLE1BQU0saUJBQWlCLEVBQWUsSUFFcEQsSUFBTSxFQUFnQixTQUFBLE9BQU8sTUFBTSxpQkFBaUIsVUFBVSxTQUFBLEdBQU8sT0FBQSxFQUFJLEtBQU8sRUFBZSxLQUMvRixTQUFBLE9BQU8sTUFBTSxpQkFBaUIsT0FBTyxFQUFPLEdBRTVDLFNBQUEsT0FBTyxNQUFNLGFBQWMsRUFFdEIsU0FBQSxPQUFPLE1BQU0saUJBQWlCLFFBQy9CLE9BQU8sc0JBQXNCLE9BR3JDLFNBQWdCLDRCQUE0QixHQUN4QyxJQUFNLEVBQWUsU0FBQSxPQUFPLE1BQU0sUUFFbEMsT0FBSSxTQUFBLE9BQU8sTUFBTSxpQkFBaUIsUUFBVSxTQUFBLE9BQU8sbUJBQy9DLFdBQVcsZUFBZSxzQkFBc0IsU0FBQSxPQUFPLGlCQUFnQixzQkFDdkUsRUFBUSxPQUFPLEVBQVUsR0FBSSxjQUN0QixHQU1mLFNBQVMsb0JBQW9CLEdBQ3JCLEVBQU8sTUFBTSxTQUFBLEdBQUssT0FBMEIsT0FBMUIsTUFDbEIsU0FBQSxPQUFPLE1BQU0saUJBQWlCLEtBQWUsR0FDN0MsU0FBQSxPQUFPLE1BQU0sYUFBYyxHQUluQyxTQUFTLGtCQUFrQixTQUVqQixJQUFPLEVBQUEsSUFEVSxFQUFlLElBRXhCLEtBR2QsU0FBQSxPQUFPLE1BQU0saUJBQWdCLFNBQUEsU0FBQSxHQUFRLFNBQUEsT0FBTyxNQUFNLGtCQUFxQixHQXBEM0UsUUFBQSxlQUFBLGVBZUEsUUFBQSxvQkFBQSxvQkFZQSxRQUFBLDRCQUFBOzs7d2dDQy9CQSxJQUFBLGNBQUEsYUFBQSxRQUFBLG9CQUNBLFNBQUEsUUFBQSxZQUNBLE9BQUEsYUFBQSxRQUFBLGFBQ0EsUUFBQSxhQUFBLFFBQUEsY0FDQSxZQUFBLGFBQUEsUUFBQSxrQkFDQSxRQUFBLGdCQUFBLFFBQUEsWUFFQSxTQUFnQixnQkFBZ0IsRUFBK0IsR0FDM0QsSUFBTSxFQUFzQyxTQUFTLGVBQWUsR0FFcEUsR0FBSSxFQUNBLElBQXVCLElBQUEsRUFBQSxFQUFBLEVBQUEsRUFBQSxFQUFBLEVBQUEsT0FBQSxJQUFrQixDQUFwQyxJQUFJLEVBQVUsRUFBQSxHQUNYLEVBQXlCLFNBQVMsY0FBYyxVQUNwRCxFQUFJLE1BQVEsRUFBVyxHQUFHLEdBQzFCLEVBQUksVUFBWSxFQUFXLEtBQUssR0FDaEMsRUFBZ0IsWUFBWSxJQUt4QyxTQUFnQixhQUFhLEdBQ3pCLElBQU0sRUFBa0IsU0FBQSxPQUFPLE1BQU0sZ0JBRXJDLE9BQU8sdUNBQXVDLEdBQUcsV0FBVyxHQUFHLFlBQWMsRUFBWSxLQUFLLEdBQzlGLE9BQU8sb0JBQW9CLEdBQUcsV0FBVyxHQUFHLFlBQWMsRUFBWSxNQUFNLEdBQzVFLE9BQU8sd0JBQXdCLEdBQUcsV0FBVyxHQUFHLFlBQWMsRUFBZ0IsY0FDOUUsT0FBTyx3QkFBd0IsR0FBRyxXQUFXLEdBQUcsWUFBYyxzQkFBc0IsRUFBWSxnQkFBZSxRQUFRLEVBQVksc0JBQXNCLEdBRzdKLFNBQWdCLGVBQ1osSUFDTSxFQUFjLFFBQUEsUUFBTSxlQUFlLFdBRXpDLE9BQU8sa0JBQWtCLE9BQ3JCLE9BSnVCLDhIQUtsQixLQUFLLE1BQU8sSUFDaEIsT0FBTyxDQUNKLE9BQU8sRUFDUCxVQUFVLEVBQ1YsZUFBZSxFQUNmLFdBQVcsRUFDWCxNQUFNLEVBQ04sTUFBTSxFQUNOLFdBQVcsRUFDWCxNQUFPLEdBQ1AsTUFBTyxPQUNQLE9BQVEsT0FDUixNQUFPLFdBQU0sT0FBQSxPQUFPLGNBQWMsSUFBSSxXQUFZLFdBRzFELE9BQU8saUJBR1gsU0FBZ0Isc0JBQXNCLEdBQzlCLFNBQUEsT0FBTyxNQUFNLFNBQ2IsUUFBUSxvQkFBb0IsR0FFaEMsT0FBTywwQkFBMEIsU0FDakMsT0FBTyw4QkFBOEIsV0FBVyxTQUNoRCxPQUFPLDhCQUE4QixPQUFPLDBDQUM1QyxPQUFPLG1CQUFtQixTQUMxQixPQUFPLHVCQUF1QixPQUFPLG1DQUd6QyxTQUFnQixrQkFBa0IsR0FDYixTQUFiLEVBQ0EsT0FBTyxRQUFRLFlBQVksNEJBQ1QsU0FBYixHQUNMLE9BQU8sUUFBUSxTQUFTLDRCQUdoQyxTQUFnQixtQkFDWixJQUFNLEVBQXFDLFNBQUEsT0FBTyxNQUFNLHFCQUVsQixJQUFsQyxFQUFnQixlQUNoQixPQUFPLG1CQUFtQixLQUFLLE1BQU8sRUFBZ0IsZUFHOUQsU0FBZ0Isa0JBQ1osT0FBTyxzQkFBc0IsT0FBTyxLQUNwQyxjQUFjLGtCQUFrQiw4QkFHcEMsU0FBZ0Isd0JBSVosT0FINkIsU0FBQSxPQUFPLE1BQU0sV0FDWSxNQUFNLEdBQUcsWUFBWSxHQUFHLFdBRW5ELElBQUksU0FBQSxHQUczQixNQUFPLEtBRlksRUFBSSxHQUFHLEdBRVoseUJBRE0sSUFBSSxFQUFJLE1BQU0sR0FBRSxlQUNPLFFBQzVDLEtBQUssUUFHWixTQUFnQixvQkFDWixZQUFZLHVCQUF1QixRQUNuQyxPQUFPLGdCQUFnQixPQUN2QixPQUFPLGdDQUFnQyxTQUFTLGFBR3BELFNBQWdCLGdCQUNaLE9BQU8sc0JBQXNCLEdBQUcsVUFBWSxTQUFBLE9BQU8sUUFDbkQsT0FBTyxxQkFBcUIsR0FBRyxVQUFZLElBQUksU0FBQSxPQUFPLE9BQU0sSUEvRmhFLFFBQUEsZ0JBQUEsZ0JBYUEsUUFBQSxhQUFBLGFBU0EsUUFBQSxhQUFBLGFBd0JBLFFBQUEsc0JBQUEsc0JBV0EsUUFBQSxrQkFBQSxrQkFPQSxRQUFBLGlCQUFBLGlCQU9BLFFBQUEsZ0JBQUEsZ0JBS0EsUUFBQSxzQkFBQSxzQkFXQSxRQUFBLGtCQUFBLGtCQU1BLFFBQUEsY0FBQTs7O29FQ3BHQSxJQUFBLFNBQUEsUUFBQSxZQUVBLE1BQUEsV0FBQSxTQUFBLEtBd0dBLE9BdEdXLEVBQUEsZUFBUCxTQUFzQixFQUF1QyxFQUFzQixFQUFtRCxFQUFvQyxRQUF2RixJQUFBLElBQUEsRUFBQSxpQkFBbUQsSUFBQSxJQUFBLEVBQUEsVUFBb0MsSUFBQSxJQUFBLEVBQUEsS0FDdEssSUFBTSxFQUF3QixLQUFLLE9BRW5DLFNBQVUsS0FDOEMsYUFBYixFQUEwQixPQUFlLEdBQVksSUFBSSxHQUFLLEVBQU0sc0JBR3ZHLEVBQU0sV0FBVyxTQUNqQixNQUdBLEVBQU0sV0FBVyxpQkFBaUIsR0FDbEMsV0FBVyxXQUNILEdBQWlCLEtBQUssTUFBUSxFQUFnQixHQUdsRCxLQUNELElBZFgsSUFtQkcsRUFBQSxrQkFBUCxXQUNJLElBQU0sRUFBcUMsT0FBUSxPQUFPLHFCQUFxQixXQUMvRSxPQUFPLEVBQU0sV0FBVyxJQUdyQixFQUFBLGVBQVAsU0FBc0IsR0FDbEIsSUFBTSxFQUFxQyxPQUFRLE9BQU8scUJBQXFCLFdBQy9FLEtBQUssZUFBZSxFQUFZLEVBQVksWUFHekMsRUFBQSxjQUFQLFNBQXFCLEdBQ2pCLE9BQXdDLE1BQXBDLFNBQVMsY0FBYyxJQU14QixFQUFBLFdBQVAsU0FBa0IsR0FDZCxNQUE2QixtQkFBZixHQUdYLEVBQUEsT0FBUCxTQUFjLEVBQW1CLEVBQXVCLEdBQ3BELElBQUksRUFFSixZQUg2QixJQUFBLElBQUEsRUFBQSxXQUF1QixJQUFBLElBQUEsRUFBQSxRQUc1QyxHQUNKLElBQUssTUFDRCxFQUFTLFNBQVMsY0FBYyxXQUN6QixLQUFPLGtCQUNkLEVBQU8sSUFBTSxFQUNiLE1BRUosSUFBSyxPQUNELEVBQVMsU0FBUyxjQUFjLFNBQ3pCLEtBQU8sV0FDSSxFQUFRLElBQU0sYUFDZCxFQUFRLEtBQU8sRUFDakMsTUFFSixJQUFLLGFBQ0QsRUFBUyxTQUFTLGNBQWMsVUFDekIsS0FBTyxXQUNkLEVBQU8sVUFBWSxFQUNuQixNQUVKLElBQUssVUFDRCxFQUFTLFNBQVMsY0FBYyxXQUN6QixLQUFPLGtCQUNkLEVBQU8sVUFBWSxFQUNuQixNQUVKLFFBQ0ksT0FBUyxFQUliLEdBQ0EsRUFBTSxhQUFhLEVBQVEsSUFHNUIsRUFBQSxhQUFQLFNBQW9CLEVBQThCLEdBQ2hDLFNBQVYsRUFDQSxTQUFTLEtBQUssWUFBWSxHQUNYLFNBQVYsR0FDTCxTQUFTLEtBQUssWUFBWSxJQUczQixFQUFBLFdBQVAsU0FBa0IsRUFBYyxHQUM1QixPQUFPLEVBQU8sbUJBQW1CLEVBQVUsQ0FBRSxRQUFTLFVBR25ELEVBQUEsV0FBUCxTQUFrQixHQUVWLFFBQVEsSUFBSSxJQUdiLEVBQUEsZUFBUCxTQUFzQixHQUNsQixJQUFNLEVBQTZCLFNBQUEsT0FBTyxPQUUxQyxPQURrQixTQUFBLE9BQU8sVUFBVSxHQUNsQixJQUV6QixFQXhHQTs7O21YQ0RBLElBQUEsU0FBQSxRQUFBLFlBRUEsU0FBZ0IsY0FDWixJQUFNLEVBQWtCLFNBQUEsT0FBTyxNQUFNLGdCQUVoQyxFQUFnQixPQUdLLEVBQWdCLEtBQUssTUFBTSxJQUFJLElBQUksUUFFaEQsSUFDVCxPQUFPLHNCQUFzQixRQUdyQyxTQUFnQiwwQkFBMEIsU0FJdEMsT0FBd0QsUUFBakQsRUFIc0IsU0FBQSxPQUFPLE1BQU0sV0FDRCxjQUFjLEdBQUcsZUFBZSxHQUFHLFFBRTFELEtBQUssU0FBQSxHQUFPLE9BQUEsSUFBZ0IsRUFBSSxHQUFHLFlBQUcsSUFBQSxPQUFBLEVBQUEsRUFBRSxLQUFLLEdBR25FLFNBQWdCLHlDQUF5QyxFQUFxQyxTQUkxRixPQUFxRixRQUE5RSxFQUhzQixTQUFBLE9BQU8sTUFBTSxXQUNXLE1BQU0sR0FBRyxZQUFZLEdBQUcsV0FFbkQsS0FBSyxTQUFBLEdBQU8sT0FBQSxFQUFJLEdBQUcsS0FBTyxFQUFpQixPQUFNLFdBQVUsSUFBQSxPQUFBLEVBQUEsRUFBRyxHQUFZLEdBR3hHLFNBQWdCLDhCQUE4QixTQUkxQyxPQUFpRSxRQUExRCxFQUhzQixTQUFBLE9BQU8sTUFBTSxXQUNTLE1BQU0sR0FBRyxZQUFZLEdBQUcsV0FFbEQsS0FBSyxTQUFBLEdBQU8sT0FBQSxJQUFrQixFQUFJLEdBQUcsWUFBRyxJQUFBLE9BQUEsRUFBQSxFQUFFLEtBQUssR0FHNUUsU0FBZ0Isc0JBQXNCLEVBQXVCLFNBQ25ELEVBQTRFLFFBQXBFLEVBQUEsTUFBQSxPQUFlLEVBQWYsRUFBaUIsV0FBVyxLQUFLLFNBQUEsR0FBTyxPQUFBLEVBQUksR0FBRyxLQUFPLFdBQWMsSUFBQSxPQUFBLEVBQUEsRUFBRSxNQUFNLEdBQzFGLE9BQU8sRUFBUSxXQUFXLFFBQVMsRUFHdkMsU0FBZ0IsNkNBQTZDLEdBR3pELE9BRjZCLFNBQUEsT0FBTyxNQUFNLFdBQ1csZ0JBQWdCLEdBQUcsV0FDOUMsS0FBSyxTQUFBLEdBQU8sT0FBQSxFQUFJLEdBQUcsS0FBTyxJQUd4RCxTQUFnQiw0QkFBNEIsR0FDeEMsSUFBTSxFQUE0QyxnQ0FBZ0MsR0FDbEYsT0FBTyxFQUFnQixFQUFjLElBQUksU0FBQSxHQUFPLE1BQUEsQ0FBQyxFQUFJLEdBQUcsR0FBSSxFQUFJLE1BQU0sR0FBSSxpQkFBaUIsV0FBUyxFQUd4RyxTQUFnQiw4QkFDWixPQUFRLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixJQUFJLFNBQUEsR0FBTyxPQUFBLEVBQUksS0FBSyxPQUFPLEtBQUssS0FHMUUsU0FBUyxnQ0FBZ0MsU0FJckMsT0FBbUUsUUFBNUQsRUFIc0IsU0FBQSxPQUFPLE1BQU0sV0FDVyxnQkFBZ0IsR0FBRyxXQUU5QyxLQUFLLFNBQUEsR0FBTyxPQUFBLEVBQUksR0FBRyxLQUFPLFdBQWUsSUFBQSxPQUFBLEVBQUEsRUFBRSxXQUd6RSxTQUFTLGlCQUFpQixTQUl0QixPQUFvRixRQUE3RSxFQUhzQixTQUFBLE9BQU8sTUFBTSxXQUNJLE1BQU0sR0FBRyxZQUFZLEdBQUcsV0FFbEQsS0FBSyxTQUFBLEdBQU8sT0FBQSxFQUFJLEdBQUcsS0FBTyxFQUFNLEdBQUcsR0FBSyxFQUFJLEtBQUssUUFBSyxXQUFVLElBQUEsT0FBQSxFQUFBLEVBQUUsS0FBSyxHQWhFL0YsUUFBQSxZQUFBLFlBWUEsUUFBQSwwQkFBQSwwQkFPQSxRQUFBLHlDQUFBLHlDQU9BLFFBQUEsOEJBQUEsOEJBT0EsUUFBQSxzQkFBQSxzQkFLQSxRQUFBLDZDQUFBLDZDQU1BLFFBQUEsNEJBQUEsNEJBS0EsUUFBQSw0QkFBQSIsImZpbGUiOiJnZW5lcmF0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uKCl7ZnVuY3Rpb24gcihlLG4sdCl7ZnVuY3Rpb24gbyhpLGYpe2lmKCFuW2ldKXtpZighZVtpXSl7dmFyIGM9XCJmdW5jdGlvblwiPT10eXBlb2YgcmVxdWlyZSYmcmVxdWlyZTtpZighZiYmYylyZXR1cm4gYyhpLCEwKTtpZih1KXJldHVybiB1KGksITApO3ZhciBhPW5ldyBFcnJvcihcIkNhbm5vdCBmaW5kIG1vZHVsZSAnXCIraStcIidcIik7dGhyb3cgYS5jb2RlPVwiTU9EVUxFX05PVF9GT1VORFwiLGF9dmFyIHA9bltpXT17ZXhwb3J0czp7fX07ZVtpXVswXS5jYWxsKHAuZXhwb3J0cyxmdW5jdGlvbihyKXt2YXIgbj1lW2ldWzFdW3JdO3JldHVybiBvKG58fHIpfSxwLHAuZXhwb3J0cyxyLGUsbix0KX1yZXR1cm4gbltpXS5leHBvcnRzfWZvcih2YXIgdT1cImZ1bmN0aW9uXCI9PXR5cGVvZiByZXF1aXJlJiZyZXF1aXJlLGk9MDtpPHQubGVuZ3RoO2krKylvKHRbaV0pO3JldHVybiBvfXJldHVybiByfSkoKSIsIiFmdW5jdGlvbih0LGUpe1wib2JqZWN0XCI9PXR5cGVvZiBleHBvcnRzJiZcInVuZGVmaW5lZFwiIT10eXBlb2YgbW9kdWxlP21vZHVsZS5leHBvcnRzPWUoKTpcImZ1bmN0aW9uXCI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKGUpOih0PVwidW5kZWZpbmVkXCIhPXR5cGVvZiBnbG9iYWxUaGlzP2dsb2JhbFRoaXM6dHx8c2VsZikuUGFuem9vbT1lKCl9KHRoaXMsZnVuY3Rpb24oKXtcInVzZSBzdHJpY3RcIjt2YXIgdD1mdW5jdGlvbigpe3JldHVybih0PU9iamVjdC5hc3NpZ258fGZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxuPTEsbz1hcmd1bWVudHMubGVuZ3RoO248bztuKyspZm9yKHZhciByIGluIGU9YXJndW1lbnRzW25dKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLHIpJiYodFtyXT1lW3JdKTtyZXR1cm4gdH0pLmFwcGx5KHRoaXMsYXJndW1lbnRzKX07ZnVuY3Rpb24gZSh0LGUpe2Zvcih2YXIgbj10Lmxlbmd0aDtuLS07KWlmKHRbbl0ucG9pbnRlcklkPT09ZS5wb2ludGVySWQpcmV0dXJuIG47cmV0dXJuLTF9ZnVuY3Rpb24gbih0LG8pe3ZhciByO2lmKG8udG91Y2hlcyl7cj0wO2Zvcih2YXIgYT0wLGk9by50b3VjaGVzO2E8aS5sZW5ndGg7YSsrKXt2YXIgYz1pW2FdO2MucG9pbnRlcklkPXIrKyxuKHQsYyl9fWVsc2Uocj1lKHQsbykpPi0xJiZ0LnNwbGljZShyLDEpLHQucHVzaChvKX1mdW5jdGlvbiBvKHQpe2Zvcih2YXIgZSxuPSh0PXQuc2xpY2UoMCkpLnBvcCgpO2U9dC5wb3AoKTspbj17Y2xpZW50WDooZS5jbGllbnRYLW4uY2xpZW50WCkvMituLmNsaWVudFgsY2xpZW50WTooZS5jbGllbnRZLW4uY2xpZW50WSkvMituLmNsaWVudFl9O3JldHVybiBufWZ1bmN0aW9uIHIodCl7aWYodC5sZW5ndGg8MilyZXR1cm4gMDt2YXIgZT10WzBdLG49dFsxXTtyZXR1cm4gTWF0aC5zcXJ0KE1hdGgucG93KE1hdGguYWJzKG4uY2xpZW50WC1lLmNsaWVudFgpLDIpK01hdGgucG93KE1hdGguYWJzKG4uY2xpZW50WS1lLmNsaWVudFkpLDIpKX1cInVuZGVmaW5lZFwiIT10eXBlb2Ygd2luZG93JiYod2luZG93Lk5vZGVMaXN0JiYhTm9kZUxpc3QucHJvdG90eXBlLmZvckVhY2gmJihOb2RlTGlzdC5wcm90b3R5cGUuZm9yRWFjaD1BcnJheS5wcm90b3R5cGUuZm9yRWFjaCksXCJmdW5jdGlvblwiIT10eXBlb2Ygd2luZG93LkN1c3RvbUV2ZW50JiYod2luZG93LkN1c3RvbUV2ZW50PWZ1bmN0aW9uKHQsZSl7ZT1lfHx7YnViYmxlczohMSxjYW5jZWxhYmxlOiExLGRldGFpbDpudWxsfTt2YXIgbj1kb2N1bWVudC5jcmVhdGVFdmVudChcIkN1c3RvbUV2ZW50XCIpO3JldHVybiBuLmluaXRDdXN0b21FdmVudCh0LGUuYnViYmxlcyxlLmNhbmNlbGFibGUsZS5kZXRhaWwpLG59KSk7dmFyIGE9e2Rvd246XCJtb3VzZWRvd25cIixtb3ZlOlwibW91c2Vtb3ZlXCIsdXA6XCJtb3VzZXVwIG1vdXNlbGVhdmVcIn07ZnVuY3Rpb24gaSh0LGUsbixvKXthW3RdLnNwbGl0KFwiIFwiKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe2UuYWRkRXZlbnRMaXN0ZW5lcih0LG4sbyl9KX1mdW5jdGlvbiBjKHQsZSxuKXthW3RdLnNwbGl0KFwiIFwiKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe2UucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LG4pfSl9XCJ1bmRlZmluZWRcIiE9dHlwZW9mIHdpbmRvdyYmKFwiZnVuY3Rpb25cIj09dHlwZW9mIHdpbmRvdy5Qb2ludGVyRXZlbnQ/YT17ZG93bjpcInBvaW50ZXJkb3duXCIsbW92ZTpcInBvaW50ZXJtb3ZlXCIsdXA6XCJwb2ludGVydXAgcG9pbnRlcmxlYXZlIHBvaW50ZXJjYW5jZWxcIn06XCJmdW5jdGlvblwiPT10eXBlb2Ygd2luZG93LlRvdWNoRXZlbnQmJihhPXtkb3duOlwidG91Y2hzdGFydFwiLG1vdmU6XCJ0b3VjaG1vdmVcIix1cDpcInRvdWNoZW5kIHRvdWNoY2FuY2VsXCJ9KSk7dmFyIGwscD1cInVuZGVmaW5lZFwiIT10eXBlb2YgZG9jdW1lbnQmJiEhZG9jdW1lbnQuZG9jdW1lbnRNb2RlO2Z1bmN0aW9uIHUoKXtyZXR1cm4gbHx8KGw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKS5zdHlsZSl9dmFyIGQ9W1wid2Via2l0XCIsXCJtb3pcIixcIm1zXCJdLHM9e307ZnVuY3Rpb24gZih0KXtpZihzW3RdKXJldHVybiBzW3RdO3ZhciBlPXUoKTtpZih0IGluIGUpcmV0dXJuIHNbdF09dDtmb3IodmFyIG49dFswXS50b1VwcGVyQ2FzZSgpK3Quc2xpY2UoMSksbz1kLmxlbmd0aDtvLS07KXt2YXIgcj1cIlwiK2Rbb10rbjtpZihyIGluIGUpcmV0dXJuIHNbdF09cn19ZnVuY3Rpb24gbSh0LGUpe3JldHVybiBwYXJzZUZsb2F0KGVbZih0KV0pfHwwfWZ1bmN0aW9uIGgodCxlLG4pe3ZvaWQgMD09PW4mJihuPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHQpKTt2YXIgbz1cImJvcmRlclwiPT09ZT9cIldpZHRoXCI6XCJcIjtyZXR1cm57bGVmdDptKGUrXCJMZWZ0XCIrbyxuKSxyaWdodDptKGUrXCJSaWdodFwiK28sbiksdG9wOm0oZStcIlRvcFwiK28sbiksYm90dG9tOm0oZStcIkJvdHRvbVwiK28sbil9fWZ1bmN0aW9uIHYodCxlLG4pe3Quc3R5bGVbZihlKV09bn1mdW5jdGlvbiBnKHQpe3ZhciBlPXQucGFyZW50Tm9kZSxuPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHQpLG89d2luZG93LmdldENvbXB1dGVkU3R5bGUoZSkscj10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGE9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm57ZWxlbTp7c3R5bGU6bix3aWR0aDpyLndpZHRoLGhlaWdodDpyLmhlaWdodCx0b3A6ci50b3AsYm90dG9tOnIuYm90dG9tLGxlZnQ6ci5sZWZ0LHJpZ2h0OnIucmlnaHQsbWFyZ2luOmgodCxcIm1hcmdpblwiLG4pLGJvcmRlcjpoKHQsXCJib3JkZXJcIixuKX0scGFyZW50OntzdHlsZTpvLHdpZHRoOmEud2lkdGgsaGVpZ2h0OmEuaGVpZ2h0LHRvcDphLnRvcCxib3R0b206YS5ib3R0b20sbGVmdDphLmxlZnQscmlnaHQ6YS5yaWdodCxwYWRkaW5nOmgoZSxcInBhZGRpbmdcIixvKSxib3JkZXI6aChlLFwiYm9yZGVyXCIsbyl9fX1mdW5jdGlvbiB5KHQsZSl7cmV0dXJuIDE9PT10Lm5vZGVUeXBlJiYoXCIgXCIrZnVuY3Rpb24odCl7cmV0dXJuKHQuZ2V0QXR0cmlidXRlKFwiY2xhc3NcIil8fFwiXCIpLnRyaW0oKX0odCkrXCIgXCIpLmluZGV4T2YoXCIgXCIrZStcIiBcIik+LTF9dmFyIHc9L15odHRwOltcXHdcXC5cXC9dK3N2ZyQvO3ZhciBiPXthbmltYXRlOiExLGNhbnZhczohMSxjdXJzb3I6XCJtb3ZlXCIsZGlzYWJsZVBhbjohMSxkaXNhYmxlWm9vbTohMSxkaXNhYmxlWEF4aXM6ITEsZGlzYWJsZVlBeGlzOiExLGR1cmF0aW9uOjIwMCxlYXNpbmc6XCJlYXNlLWluLW91dFwiLGV4Y2x1ZGU6W10sZXhjbHVkZUNsYXNzOlwicGFuem9vbS1leGNsdWRlXCIsaGFuZGxlU3RhcnRFdmVudDpmdW5jdGlvbih0KXt0LnByZXZlbnREZWZhdWx0KCksdC5zdG9wUHJvcGFnYXRpb24oKX0sbWF4U2NhbGU6NCxtaW5TY2FsZTouMTI1LG92ZXJmbG93OlwiaGlkZGVuXCIscGFuT25seVdoZW5ab29tZWQ6ITEscmVsYXRpdmU6ITEsc2V0VHJhbnNmb3JtOmZ1bmN0aW9uKHQsZSxuKXt2YXIgbz1lLngscj1lLnksYT1lLnNjYWxlLGk9ZS5pc1NWRztpZih2KHQsXCJ0cmFuc2Zvcm1cIixcInNjYWxlKFwiK2ErXCIpIHRyYW5zbGF0ZShcIitvK1wicHgsIFwiK3IrXCJweClcIiksaSYmcCl7dmFyIGM9d2luZG93LmdldENvbXB1dGVkU3R5bGUodCkuZ2V0UHJvcGVydHlWYWx1ZShcInRyYW5zZm9ybVwiKTt0LnNldEF0dHJpYnV0ZShcInRyYW5zZm9ybVwiLGMpfX0sc3RhcnRYOjAsc3RhcnRZOjAsc3RhcnRTY2FsZToxLHN0ZXA6LjMsdG91Y2hBY3Rpb246XCJub25lXCJ9O2Z1bmN0aW9uIHgobCxwKXtpZighbCl0aHJvdyBuZXcgRXJyb3IoXCJQYW56b29tIHJlcXVpcmVzIGFuIGVsZW1lbnQgYXMgYW4gYXJndW1lbnRcIik7aWYoMSE9PWwubm9kZVR5cGUpdGhyb3cgbmV3IEVycm9yKFwiUGFuem9vbSByZXF1aXJlcyBhbiBlbGVtZW50IHdpdGggYSBub2RlVHlwZSBvZiAxXCIpO2lmKCFmdW5jdGlvbih0KXt2YXIgZT10Lm93bmVyRG9jdW1lbnQsbj10LnBhcmVudE5vZGU7cmV0dXJuIGUmJm4mJjk9PT1lLm5vZGVUeXBlJiYxPT09bi5ub2RlVHlwZSYmZS5kb2N1bWVudEVsZW1lbnQuY29udGFpbnMobil9KGwpKXRocm93IG5ldyBFcnJvcihcIlBhbnpvb20gc2hvdWxkIGJlIGNhbGxlZCBvbiBlbGVtZW50cyB0aGF0IGhhdmUgYmVlbiBhdHRhY2hlZCB0byB0aGUgRE9NXCIpO3A9dCh0KHt9LGIpLHApO3ZhciB1PWZ1bmN0aW9uKHQpe3JldHVybiB3LnRlc3QodC5uYW1lc3BhY2VVUkkpJiZcInN2Z1wiIT09dC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpfShsKSxkPWwucGFyZW50Tm9kZTtkLnN0eWxlLm92ZXJmbG93PXAub3ZlcmZsb3csZC5zdHlsZS51c2VyU2VsZWN0PVwibm9uZVwiLGQuc3R5bGUudG91Y2hBY3Rpb249cC50b3VjaEFjdGlvbiwocC5jYW52YXM/ZDpsKS5zdHlsZS5jdXJzb3I9cC5jdXJzb3IsbC5zdHlsZS51c2VyU2VsZWN0PVwibm9uZVwiLGwuc3R5bGUudG91Y2hBY3Rpb249cC50b3VjaEFjdGlvbix2KGwsXCJ0cmFuc2Zvcm1PcmlnaW5cIixcInN0cmluZ1wiPT10eXBlb2YgcC5vcmlnaW4/cC5vcmlnaW46dT9cIjAgMFwiOlwiNTAlIDUwJVwiKTt2YXIgcyxtLGgseCxTLEUsTT0wLE89MCxQPTEsej0hMTtmdW5jdGlvbiBBKHQsZSxuKXtpZighbi5zaWxlbnQpe3ZhciBvPW5ldyBDdXN0b21FdmVudCh0LHtkZXRhaWw6ZX0pO2wuZGlzcGF0Y2hFdmVudChvKX19ZnVuY3Rpb24gWCh0LGUpe3ZhciBuPXt4Ok0seTpPLHNjYWxlOlAsaXNTVkc6dX07cmV0dXJuIHJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe1wiYm9vbGVhblwiPT10eXBlb2YgZS5hbmltYXRlJiYoZS5hbmltYXRlP2Z1bmN0aW9uKHQsZSl7dih0LFwidHJhbnNpdGlvblwiLGYoXCJ0cmFuc2Zvcm1cIikrXCIgXCIrZS5kdXJhdGlvbitcIm1zIFwiK2UuZWFzaW5nKX0obCxlKTp2KGwsXCJ0cmFuc2l0aW9uXCIsXCJub25lXCIpKSxlLnNldFRyYW5zZm9ybShsLG4sZSl9KSxBKHQsbixlKSxBKFwicGFuem9vbWNoYW5nZVwiLG4sZSksbn1mdW5jdGlvbiBZKCl7aWYocC5jb250YWluKXt2YXIgdD1nKGwpLGU9dC5wYXJlbnQud2lkdGgtdC5wYXJlbnQuYm9yZGVyLmxlZnQtdC5wYXJlbnQuYm9yZGVyLnJpZ2h0LG49dC5wYXJlbnQuaGVpZ2h0LXQucGFyZW50LmJvcmRlci50b3AtdC5wYXJlbnQuYm9yZGVyLmJvdHRvbSxvPWUvKHQuZWxlbS53aWR0aC9QKSxyPW4vKHQuZWxlbS5oZWlnaHQvUCk7XCJpbnNpZGVcIj09PXAuY29udGFpbj9wLm1heFNjYWxlPU1hdGgubWluKG8scik6XCJvdXRzaWRlXCI9PT1wLmNvbnRhaW4mJihwLm1pblNjYWxlPU1hdGgubWF4KG8scikpfX1mdW5jdGlvbiBDKGUsbixvLHIpe3ZhciBhPXQodCh7fSxwKSxyKSxpPXt4Ok0seTpPLG9wdHM6YX07aWYoIWEuZm9yY2UmJihhLmRpc2FibGVQYW58fGEucGFuT25seVdoZW5ab29tZWQmJlA9PT1hLnN0YXJ0U2NhbGUpKXJldHVybiBpO2lmKGU9cGFyc2VGbG9hdChlKSxuPXBhcnNlRmxvYXQobiksYS5kaXNhYmxlWEF4aXN8fChpLng9KGEucmVsYXRpdmU/TTowKStlKSxhLmRpc2FibGVZQXhpc3x8KGkueT0oYS5yZWxhdGl2ZT9POjApK24pLFwiaW5zaWRlXCI9PT1hLmNvbnRhaW4pe3ZhciBjPWcobCk7aS54PU1hdGgubWF4KC1jLmVsZW0ubWFyZ2luLmxlZnQtYy5wYXJlbnQucGFkZGluZy5sZWZ0LE1hdGgubWluKGMucGFyZW50LndpZHRoLWMuZWxlbS53aWR0aC9vLWMucGFyZW50LnBhZGRpbmcubGVmdC1jLmVsZW0ubWFyZ2luLmxlZnQtYy5wYXJlbnQuYm9yZGVyLmxlZnQtYy5wYXJlbnQuYm9yZGVyLnJpZ2h0LGkueCkpLGkueT1NYXRoLm1heCgtYy5lbGVtLm1hcmdpbi50b3AtYy5wYXJlbnQucGFkZGluZy50b3AsTWF0aC5taW4oYy5wYXJlbnQuaGVpZ2h0LWMuZWxlbS5oZWlnaHQvby1jLnBhcmVudC5wYWRkaW5nLnRvcC1jLmVsZW0ubWFyZ2luLnRvcC1jLnBhcmVudC5ib3JkZXIudG9wLWMucGFyZW50LmJvcmRlci5ib3R0b20saS55KSl9ZWxzZSBpZihcIm91dHNpZGVcIj09PWEuY29udGFpbil7dmFyIHU9KGM9ZyhsKSkuZWxlbS53aWR0aC9QLGQ9Yy5lbGVtLmhlaWdodC9QLHM9dSpvLGY9ZCpvLG09KHMtdSkvMixoPShmLWQpLzIsdj0oLShzLWMucGFyZW50LndpZHRoKS1jLnBhcmVudC5wYWRkaW5nLmxlZnQtYy5wYXJlbnQuYm9yZGVyLmxlZnQtYy5wYXJlbnQuYm9yZGVyLnJpZ2h0K20pL28seT0obS1jLnBhcmVudC5wYWRkaW5nLmxlZnQpL287aS54PU1hdGgubWF4KE1hdGgubWluKGkueCx5KSx2KTt2YXIgdz0oLShmLWMucGFyZW50LmhlaWdodCktYy5wYXJlbnQucGFkZGluZy50b3AtYy5wYXJlbnQuYm9yZGVyLnRvcC1jLnBhcmVudC5ib3JkZXIuYm90dG9tK2gpL28sYj0oaC1jLnBhcmVudC5wYWRkaW5nLnRvcCkvbztpLnk9TWF0aC5tYXgoTWF0aC5taW4oaS55LGIpLHcpfXJldHVybiBpfWZ1bmN0aW9uIFQoZSxuKXt2YXIgbz10KHQoe30scCksbikscj17c2NhbGU6UCxvcHRzOm99O3JldHVybiFvLmZvcmNlJiZvLmRpc2FibGVab29tP3I6KHIuc2NhbGU9TWF0aC5taW4oTWF0aC5tYXgoZSxvLm1pblNjYWxlKSxvLm1heFNjYWxlKSxyKX1mdW5jdGlvbiBOKHQsZSxuKXt2YXIgbz1DKHQsZSxQLG4pLHI9by5vcHRzO3JldHVybiBNPW8ueCxPPW8ueSxYKFwicGFuem9vbXBhblwiLHIpfWZ1bmN0aW9uIEwodCxlKXt2YXIgbj1UKHQsZSksbz1uLm9wdHM7aWYoby5mb3JjZXx8IW8uZGlzYWJsZVpvb20pe3Q9bi5zY2FsZTt2YXIgcj1NLGE9TztpZihvLmZvY2FsKXt2YXIgaT1vLmZvY2FsO3I9KGkueC90LWkueC9QK00qdCkvdCxhPShpLnkvdC1pLnkvUCtPKnQpL3R9dmFyIGM9QyhyLGEsdCx7cmVsYXRpdmU6ITEsZm9yY2U6ITB9KTtyZXR1cm4gTT1jLngsTz1jLnksUD10LFgoXCJwYW56b29tem9vbVwiLG8pfX1mdW5jdGlvbiBJKGUsbil7dmFyIG89dCh0KHQoe30scCkse2FuaW1hdGU6ITB9KSxuKTtyZXR1cm4gTChQKk1hdGguZXhwKChlPzE6LTEpKm8uc3RlcCksbyl9ZnVuY3Rpb24gVyhlLG4sbyl7dmFyIHI9ZyhsKSxhPXIucGFyZW50LndpZHRoLXIucGFyZW50LnBhZGRpbmcubGVmdC1yLnBhcmVudC5wYWRkaW5nLnJpZ2h0LXIucGFyZW50LmJvcmRlci5sZWZ0LXIucGFyZW50LmJvcmRlci5yaWdodCxpPXIucGFyZW50LmhlaWdodC1yLnBhcmVudC5wYWRkaW5nLnRvcC1yLnBhcmVudC5wYWRkaW5nLmJvdHRvbS1yLnBhcmVudC5ib3JkZXIudG9wLXIucGFyZW50LmJvcmRlci5ib3R0b20sYz1uLmNsaWVudFgtci5wYXJlbnQubGVmdC1yLnBhcmVudC5wYWRkaW5nLmxlZnQtci5wYXJlbnQuYm9yZGVyLmxlZnQtci5lbGVtLm1hcmdpbi5sZWZ0LHA9bi5jbGllbnRZLXIucGFyZW50LnRvcC1yLnBhcmVudC5wYWRkaW5nLnRvcC1yLnBhcmVudC5ib3JkZXIudG9wLXIuZWxlbS5tYXJnaW4udG9wO3V8fChjLT1yLmVsZW0ud2lkdGgvUC8yLHAtPXIuZWxlbS5oZWlnaHQvUC8yKTt2YXIgZD17eDpjL2EqKGEqZSkseTpwL2kqKGkqZSl9O3JldHVybiBMKGUsdCh0KHthbmltYXRlOiExfSxvKSx7Zm9jYWw6ZH0pKX1MKHAuc3RhcnRTY2FsZSx7YW5pbWF0ZTohMX0pLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtZKCksTihwLnN0YXJ0WCxwLnN0YXJ0WSx7YW5pbWF0ZTohMX0pfSk7dmFyIFo9W107ZnVuY3Rpb24gcSh0KXtpZighZnVuY3Rpb24odCxlKXtmb3IodmFyIG49dDtudWxsIT1uO249bi5wYXJlbnROb2RlKWlmKHkobixlLmV4Y2x1ZGVDbGFzcyl8fGUuZXhjbHVkZS5pbmRleE9mKG4pPi0xKXJldHVybiEwO3JldHVybiExfSh0LnRhcmdldCxwKSl7bihaLHQpLHo9ITAscC5oYW5kbGVTdGFydEV2ZW50KHQpLHM9TSxtPU8sQShcInBhbnpvb21zdGFydFwiLHt4Ok0seTpPLHNjYWxlOlB9LHApO3ZhciBlPW8oWik7aD1lLmNsaWVudFgseD1lLmNsaWVudFksUz1QLEU9cihaKX19ZnVuY3Rpb24gQih0KXtpZih6JiZ2b2lkIDAhPT1zJiZ2b2lkIDAhPT1tJiZ2b2lkIDAhPT1oJiZ2b2lkIDAhPT14KXtuKFosdCk7dmFyIGU9byhaKTtpZihaLmxlbmd0aD4xKVcoVCgocihaKS1FKSpwLnN0ZXAvODArUykuc2NhbGUsZSk7TihzKyhlLmNsaWVudFgtaCkvUCxtKyhlLmNsaWVudFkteCkvUCx7YW5pbWF0ZTohMX0pfX1mdW5jdGlvbiBEKHQpezE9PT1aLmxlbmd0aCYmQShcInBhbnpvb21lbmRcIix7eDpNLHk6TyxzY2FsZTpQfSxwKSxmdW5jdGlvbih0LG4pe2lmKG4udG91Y2hlcylmb3IoO3QubGVuZ3RoOyl0LnBvcCgpO2Vsc2V7dmFyIG89ZSh0LG4pO28+LTEmJnQuc3BsaWNlKG8sMSl9fShaLHQpLHomJih6PSExLHM9bT1oPXg9dm9pZCAwKX12YXIgRj0hMTtmdW5jdGlvbiBSKCl7Rnx8KEY9ITAsaShcImRvd25cIixwLmNhbnZhcz9kOmwscSksaShcIm1vdmVcIixkb2N1bWVudCxCLHtwYXNzaXZlOiEwfSksaShcInVwXCIsZG9jdW1lbnQsRCx7cGFzc2l2ZTohMH0pKX1yZXR1cm4gcC5ub0JpbmR8fFIoKSx7YmluZDpSLGRlc3Ryb3k6ZnVuY3Rpb24oKXtGPSExLGMoXCJkb3duXCIscC5jYW52YXM/ZDpsLHEpLGMoXCJtb3ZlXCIsZG9jdW1lbnQsQiksYyhcInVwXCIsZG9jdW1lbnQsRCl9LGV2ZW50TmFtZXM6YSxnZXRQYW46ZnVuY3Rpb24oKXtyZXR1cm57eDpNLHk6T319LGdldFNjYWxlOmZ1bmN0aW9uKCl7cmV0dXJuIFB9LGdldE9wdGlvbnM6ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24odCl7dmFyIGU9e307Zm9yKHZhciBuIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShuKSYmKGVbbl09dFtuXSk7cmV0dXJuIGV9KHApfSxwYW46TixyZXNldDpmdW5jdGlvbihlKXt2YXIgbj10KHQodCh7fSxwKSx7YW5pbWF0ZTohMCxmb3JjZTohMH0pLGUpO1A9VChuLnN0YXJ0U2NhbGUsbikuc2NhbGU7dmFyIG89QyhuLnN0YXJ0WCxuLnN0YXJ0WSxQLG4pO3JldHVybiBNPW8ueCxPPW8ueSxYKFwicGFuem9vbXJlc2V0XCIsbil9LHNldE9wdGlvbnM6ZnVuY3Rpb24odCl7Zm9yKHZhciBlIGluIHZvaWQgMD09PXQmJih0PXt9KSx0KXQuaGFzT3duUHJvcGVydHkoZSkmJihwW2VdPXRbZV0pO3QuaGFzT3duUHJvcGVydHkoXCJjdXJzb3JcIikmJihsLnN0eWxlLmN1cnNvcj10LmN1cnNvciksdC5oYXNPd25Qcm9wZXJ0eShcIm92ZXJmbG93XCIpJiYoZC5zdHlsZS5vdmVyZmxvdz10Lm92ZXJmbG93KSx0Lmhhc093blByb3BlcnR5KFwidG91Y2hBY3Rpb25cIikmJihkLnN0eWxlLnRvdWNoQWN0aW9uPXQudG91Y2hBY3Rpb24sbC5zdHlsZS50b3VjaEFjdGlvbj10LnRvdWNoQWN0aW9uKSwodC5oYXNPd25Qcm9wZXJ0eShcIm1pblNjYWxlXCIpfHx0Lmhhc093blByb3BlcnR5KFwibWF4U2NhbGVcIil8fHQuaGFzT3duUHJvcGVydHkoXCJjb250YWluXCIpKSYmWSgpfSxzZXRTdHlsZTpmdW5jdGlvbih0LGUpe3JldHVybiB2KGwsdCxlKX0sem9vbTpMLHpvb21JbjpmdW5jdGlvbih0KXtyZXR1cm4gSSghMCx0KX0sem9vbU91dDpmdW5jdGlvbih0KXtyZXR1cm4gSSghMSx0KX0sem9vbVRvUG9pbnQ6Vyx6b29tV2l0aFdoZWVsOmZ1bmN0aW9uKGUsbil7ZS5wcmV2ZW50RGVmYXVsdCgpO3ZhciBvPXQodCh7fSxwKSxuKSxyPSgwPT09ZS5kZWx0YVkmJmUuZGVsdGFYP2UuZGVsdGFYOmUuZGVsdGFZKTwwPzE6LTE7cmV0dXJuIFcoVChQKk1hdGguZXhwKHIqby5zdGVwLzMpLG8pLnNjYWxlLGUsbyl9fX1yZXR1cm4geC5kZWZhdWx0T3B0aW9ucz1iLHh9KTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluQmhibnB2YjIwdWFuTWlYU3dpYm1GdFpYTWlPbHNpWjJ4dlltRnNJaXdpWm1GamRHOXllU0lzSW1WNGNHOXlkSE1pTENKdGIyUjFiR1VpTENKa1pXWnBibVVpTENKaGJXUWlMQ0puYkc5aVlXeFVhR2x6SWl3aWMyVnNaaUlzSWxCaGJucHZiMjBpTENKMGFHbHpJaXdpWDE5aGMzTnBaMjRpTENKUFltcGxZM1FpTENKaGMzTnBaMjRpTENKMElpd2ljeUlzSW1raUxDSnVJaXdpWVhKbmRXMWxiblJ6SWl3aWJHVnVaM1JvSWl3aWNDSXNJbkJ5YjNSdmRIbHdaU0lzSW1oaGMwOTNibEJ5YjNCbGNuUjVJaXdpWTJGc2JDSXNJbUZ3Y0d4NUlpd2labWx1WkVWMlpXNTBTVzVrWlhnaUxDSndiMmx1ZEdWeWN5SXNJbVYyWlc1MElpd2ljRzlwYm5SbGNrbGtJaXdpWVdSa1VHOXBiblJsY2lJc0luUnZkV05vWlhNaUxDSmZhU0lzSWw5aElpd2lkRzkxWTJnaUxDSnpjR3hwWTJVaUxDSndkWE5vSWl3aVoyVjBUV2xrWkd4bElpd2laWFpsYm5ReUlpd2laWFpsYm5ReElpd2ljMnhwWTJVaUxDSndiM0FpTENKamJHbGxiblJZSWl3aVkyeHBaVzUwV1NJc0ltZGxkRVJwYzNSaGJtTmxJaXdpVFdGMGFDSXNJbk54Y25RaUxDSndiM2NpTENKaFluTWlMQ0ozYVc1a2IzY2lMQ0pPYjJSbFRHbHpkQ0lzSW1admNrVmhZMmdpTENKQmNuSmhlU0lzSWtOMWMzUnZiVVYyWlc1MElpd2ljR0Z5WVcxeklpd2lZblZpWW14bGN5SXNJbU5oYm1ObGJHRmliR1VpTENKa1pYUmhhV3dpTENKbGRuUWlMQ0prYjJOMWJXVnVkQ0lzSW1OeVpXRjBaVVYyWlc1MElpd2lhVzVwZEVOMWMzUnZiVVYyWlc1MElpd2laWFpsYm5Seklpd2laRzkzYmlJc0ltMXZkbVVpTENKMWNDSXNJbTl1VUc5cGJuUmxjaUlzSW1Wc1pXMGlMQ0pvWVc1a2JHVnlJaXdpWlhabGJuUlBjSFJ6SWl3aWMzQnNhWFFpTENKdVlXMWxJaXdpWVdSa1JYWmxiblJNYVhOMFpXNWxjaUlzSW1SbGMzUnliM2xRYjJsdWRHVnlJaXdpY21WdGIzWmxSWFpsYm5STWFYTjBaVzVsY2lJc0lsQnZhVzUwWlhKRmRtVnVkQ0lzSWxSdmRXTm9SWFpsYm5RaUxDSmthWFpUZEhsc1pTSXNJbWx6U1VVaUxDSmtiMk4xYldWdWRFMXZaR1VpTENKamNtVmhkR1ZUZEhsc1pTSXNJbU55WldGMFpVVnNaVzFsYm5RaUxDSnpkSGxzWlNJc0luQnlaV1pwZUdWeklpd2ljSEpsWm1sNFEyRmphR1VpTENKblpYUlFjbVZtYVhobFpFNWhiV1VpTENKallYQk9ZVzFsSWl3aWRHOVZjSEJsY2tOaGMyVWlMQ0p3Y21WbWFYaGxaRTVoYldVaUxDSm5aWFJEVTFOT2RXMGlMQ0p3WVhKelpVWnNiMkYwSWl3aVoyVjBRbTk0VTNSNWJHVWlMQ0puWlhSRGIyMXdkWFJsWkZOMGVXeGxJaXdpYzNWbVptbDRJaXdpYkdWbWRDSXNJbkpwWjJoMElpd2lkRzl3SWl3aVltOTBkRzl0SWl3aWMyVjBVM1I1YkdVaUxDSjJZV3gxWlNJc0ltZGxkRVJwYldWdWMybHZibk1pTENKd1lYSmxiblFpTENKd1lYSmxiblJPYjJSbElpd2ljR0Z5Wlc1MFUzUjViR1VpTENKeVpXTjBSV3hsYlNJc0ltZGxkRUp2ZFc1a2FXNW5RMnhwWlc1MFVtVmpkQ0lzSW5KbFkzUlFZWEpsYm5RaUxDSjNhV1IwYUNJc0ltaGxhV2RvZENJc0ltMWhjbWRwYmlJc0ltSnZjbVJsY2lJc0luQmhaR1JwYm1jaUxDSm9ZWE5EYkdGemN5SXNJbU5zWVhOelRtRnRaU0lzSW01dlpHVlVlWEJsSWl3aVoyVjBRWFIwY21saWRYUmxJaXdpZEhKcGJTSXNJbWRsZEVOc1lYTnpJaXdpYVc1a1pYaFBaaUlzSW5KemRtY2lMQ0prWldaaGRXeDBUM0IwYVc5dWN5SXNJbUZ1YVcxaGRHVWlMQ0pqWVc1MllYTWlMQ0pqZFhKemIzSWlMQ0prYVhOaFlteGxVR0Z1SWl3aVpHbHpZV0pzWlZwdmIyMGlMQ0prYVhOaFlteGxXRUY0YVhNaUxDSmthWE5oWW14bFdVRjRhWE1pTENKa2RYSmhkR2x2YmlJc0ltVmhjMmx1WnlJc0ltVjRZMngxWkdVaUxDSmxlR05zZFdSbFEyeGhjM01pTENKb1lXNWtiR1ZUZEdGeWRFVjJaVzUwSWl3aVpTSXNJbkJ5WlhabGJuUkVaV1poZFd4MElpd2ljM1J2Y0ZCeWIzQmhaMkYwYVc5dUlpd2liV0Y0VTJOaGJHVWlMQ0p0YVc1VFkyRnNaU0lzSW05MlpYSm1iRzkzSWl3aWNHRnVUMjVzZVZkb1pXNWFiMjl0WldRaUxDSnlaV3hoZEdsMlpTSXNJbk5sZEZSeVlXNXpabTl5YlNJc0lsOXZjSFJwYjI1eklpd2llQ0lzSW5raUxDSnpZMkZzWlNJc0ltbHpVMVpISWl3aWJXRjBjbWw0Vm1Gc2RXVWlMQ0puWlhSUWNtOXdaWEowZVZaaGJIVmxJaXdpYzJWMFFYUjBjbWxpZFhSbElpd2ljM1JoY25SWUlpd2ljM1JoY25SWklpd2ljM1JoY25SVFkyRnNaU0lzSW5OMFpYQWlMQ0owYjNWamFFRmpkR2x2YmlJc0ltOXdkR2x2Ym5NaUxDSkZjbkp2Y2lJc0ltUnZZeUlzSW05M2JtVnlSRzlqZFcxbGJuUWlMQ0prYjJOMWJXVnVkRVZzWlcxbGJuUWlMQ0pqYjI1MFlXbHVjeUlzSW1selFYUjBZV05vWldRaUxDSjBaWE4wSWl3aWJtRnRaWE53WVdObFZWSkpJaXdpYm05a1pVNWhiV1VpTENKMGIweHZkMlZ5UTJGelpTSXNJbWx6VTFaSFJXeGxiV1Z1ZENJc0luVnpaWEpUWld4bFkzUWlMQ0p2Y21sbmFXNGlMQ0p2Y21sbldDSXNJbTl5YVdkWklpd2ljM1JoY25SRGJHbGxiblJZSWl3aWMzUmhjblJEYkdsbGJuUlpJaXdpYzNSaGNuUkVhWE4wWVc1alpTSXNJbWx6VUdGdWJtbHVaeUlzSW5SeWFXZG5aWElpTENKbGRtVnVkRTVoYldVaUxDSnZjSFJ6SWl3aWMybHNaVzUwSWl3aVpHbHpjR0YwWTJoRmRtVnVkQ0lzSW5ObGRGUnlZVzV6Wm05eWJWZHBkR2hGZG1WdWRDSXNJbkpsY1hWbGMzUkJibWx0WVhScGIyNUdjbUZ0WlNJc0luTmxkRlJ5WVc1emFYUnBiMjRpTENKelpYUk5hVzVOWVhnaUxDSmpiMjUwWVdsdUlpd2laR2x0Y3lJc0luQmhjbVZ1ZEZkcFpIUm9JaXdpY0dGeVpXNTBTR1ZwWjJoMElpd2laV3hsYlZOallXeGxaRmRwWkhSb0lpd2laV3hsYlZOallXeGxaRWhsYVdkb2RDSXNJbTFwYmlJc0ltMWhlQ0lzSW1OdmJuTjBjbUZwYmxoWklpd2lkRzlZSWl3aWRHOVpJaXdpZEc5VFkyRnNaU0lzSW5CaGJrOXdkR2x2Ym5NaUxDSnlaWE4xYkhRaUxDSm1iM0pqWlNJc0luSmxZV3hYYVdSMGFDSXNJbkpsWVd4SVpXbG5hSFFpTENKelkyRnNaV1JYYVdSMGFDSXNJbk5qWVd4bFpFaGxhV2RvZENJc0ltUnBabVpJYjNKcGVtOXVkR0ZzSWl3aVpHbG1abFpsY25ScFkyRnNJaXdpYldsdVdDSXNJbTFoZUZnaUxDSnRhVzVaSWl3aWJXRjRXU0lzSW1OdmJuTjBjbUZwYmxOallXeGxJaXdpZW05dmJVOXdkR2x2Ym5NaUxDSndZVzRpTENKNmIyOXRJaXdpWm05allXd2lMQ0p3WVc1U1pYTjFiSFFpTENKNmIyOXRTVzVQZFhRaUxDSnBjMGx1SWl3aVpYaHdJaXdpZW05dmJWUnZVRzlwYm5RaUxDSndiMmx1ZENJc0ltVm1abVZqZEdsMlpVRnlaV0VpTENKelpYUlVhVzFsYjNWMElpd2lhR0Z1Wkd4bFJHOTNiaUlzSW1OMWNpSXNJbWx6UlhoamJIVmtaV1FpTENKMFlYSm5aWFFpTENKMWJtUmxabWx1WldRaUxDSmpkWEp5Wlc1MElpd2lhR0Z1Wkd4bFZYQWlMQ0p5WlcxdmRtVlFiMmx1ZEdWeUlpd2lZbTkxYm1RaUxDSmlhVzVrSWl3aWNHRnpjMmwyWlNJc0ltNXZRbWx1WkNJc0ltUmxjM1J5YjNraUxDSmxkbVZ1ZEU1aGJXVnpJaXdpWjJWMFVHRnVJaXdpWjJWMFUyTmhiR1VpTENKblpYUlBjSFJwYjI1eklpd2liMkpxSWl3aVkyeHZibVVpTENKclpYa2lMQ0p6YUdGc2JHOTNRMnh2Ym1VaUxDSnlaWE5sZENJc0luSmxjMlYwVDNCMGFXOXVjeUlzSW5ObGRFOXdkR2x2Ym5NaUxDSjZiMjl0U1c0aUxDSjZiMjl0VDNWMElpd2llbTl2YlZkcGRHaFhhR1ZsYkNJc0luZG9aV1ZzSWl3aVpHVnNkR0ZaSWl3aVpHVnNkR0ZZSWwwc0ltMWhjSEJwYm1keklqb2lRMEZMUXl4VFFVRlZRU3hGUVVGUlF5eEhRVU5KTEdsQ1FVRmFReXhUUVVFd1F5eHZRa0ZCV0VNc1QwRkJlVUpCTEU5QlFVOUVMRkZCUVZWRUxFbEJRemxFTEcxQ1FVRllSeXhSUVVGNVFrRXNUMEZCVDBNc1NVRkJUVVFzVDBGQlQwZ3NTVUZEYmtSRUxFVkJRU3RDTEc5Q1FVRm1UU3hYUVVFMlFrRXNWMEZCWVU0c1IwRkJWVThzVFVGQllVTXNVVUZCVlZBc1NVRklhRWNzUTBGSlJWRXNTMEZCVFN4WFFVRmxMR0ZCYVVKdVFpeEpRVUZKUXl4RlFVRlhMRmRCVVZnc1QwRlFRVUVzUlVGQlYwTXNUMEZCVDBNc1VVRkJWU3hUUVVGclFrTXNSMEZETVVNc1NVRkJTeXhKUVVGSlF5eEZRVUZIUXl4RlFVRkpMRVZCUVVkRExFVkJRVWxETEZWQlFWVkRMRTlCUVZGSUxFVkJRVWxETEVWQlFVZEVMRWxCUlRWRExFbEJRVXNzU1VGQlNVa3NTMEZFVkV3c1JVRkJTVWNzVlVGQlZVWXNSMEZEVDBvc1QwRkJUMU1zVlVGQlZVTXNaVUZCWlVNc1MwRkJTMUlzUlVGQlIwc3NTMEZCU1U0c1JVRkJSVTBzUjBGQlMwd3NSVUZCUlVzc1NVRkZPVVVzVDBGQlQwNHNTVUZGUzFVc1RVRkJUV1FzUzBGQlRWRXNXVUYzUW1oRExGTkJRVk5QTEVWQlFXVkRMRVZCUVZWRExFZEJSVGxDTEVsQlJFRXNTVUZCU1Znc1JVRkJTVlVzUlVGQlUxQXNUMEZEVmtnc1MwRkRTQ3hIUVVGSlZTeEZRVUZUVml4SFFVRkhXU3haUVVGalJDeEZRVUZOUXl4VlFVTm9ReXhQUVVGUFdpeEZRVWRtTEU5QlFWRXNSVUZGV2l4VFFVRlRZU3hGUVVGWFNDeEZRVUZWUXl4SFFVTXhRaXhKUVVGSldDeEZRVVZLTEVkQlFVbFhMRVZCUVUxSExGRkJRVllzUTBGRFNXUXNSVUZCU1N4RlFVTktMRWxCUVVzc1NVRkJTV1VzUlVGQlN5eEZRVUZIUXl4RlFVRkxUQ3hGUVVGTlJ5eFJRVUZUUXl4RlFVRkxReXhGUVVGSFlpeFBRVUZSV1N4SlFVRk5MRU5CUTNaRUxFbEJRVWxGTEVWQlFWRkVMRVZCUVVkRUxFZEJRMlpGTEVWQlFVMU1MRlZCUVZsYUxFbEJRMnhDWVN4RlFVRlhTQ3hGUVVGVlR5eFRRVWszUW1wQ0xFVkJRVWxUTEVWQlFXVkRMRVZCUVZWRExFdEJSWEJDTEVkQlEweEVMRVZCUVZOUkxFOUJRVTlzUWl4RlFVRkhMRWRCUlhaQ1ZTeEZRVUZUVXl4TFFVRkxVaXhIUVhGQ2JFSXNVMEZCVTFNc1JVRkJWVllzUjBGTFppeEpRVVpCTEVsQlEwbFhMRVZCUkVGRExFZEJSRXBhTEVWQlFWZEJMRVZCUVZOaExFMUJRVTBzU1VGRFNrTXNUVUZGWkVnc1JVRkJVMWdzUlVGQlUyTXNUMEZEZEVKR0xFVkJRVk1zUTBGRFRFY3NVMEZCVlVvc1JVRkJUMGtzVVVGQlZVZ3NSVUZCVDBjc1UwRkJWeXhGUVVGSlNDeEZRVUZQUnl4UlFVTjRSRU1zVTBGQlZVd3NSVUZCVDBzc1VVRkJWVW9zUlVGQlQwa3NVMEZCVnl4RlFVRkpTaXhGUVVGUFNTeFRRVWRvUlN4UFFVRlBTaXhGUVU5WUxGTkJRVk5MTEVWQlFWbHFRaXhIUVVOcVFpeEhRVUZKUVN4RlFVRlRVQ3hQUVVGVExFVkJRMnhDTEU5QlFVOHNSVUZGV0N4SlFVRkpiVUlzUlVGQlUxb3NSVUZCVXl4SFFVTnNRbGNzUlVGQlUxZ3NSVUZCVXl4SFFVTjBRaXhQUVVGUGEwSXNTMEZCUzBNc1MwRkJTMFFzUzBGQlMwVXNTVUZCU1VZc1MwRkJTMGNzU1VGQlNWWXNSVUZCVDBrc1VVRkJWVWdzUlVGQlQwY3NVMEZCVlN4SFFVTnFSVWNzUzBGQlMwVXNTVUZCU1VZc1MwRkJTMGNzU1VGQlNWWXNSVUZCVDBzc1VVRkJWVW9zUlVGQlQwa3NVMEZCVlN4SlFUVkdkRU1zYjBKQlFWaE5MRk5CUlV4QkxFOUJRVTlETEZkQlFXRkJMRk5CUVZNMVFpeFZRVUZWTmtJc1ZVRkRla05FTEZOQlFWTTFRaXhWUVVGVk5rSXNVVUZCVlVNc1RVRkJUVGxDTEZWQlFWVTJRaXhUUVVsaUxHMUNRVUYyUWtZc1QwRkJUMGtzWTBGRGFFSktMRTlCUVU5SkxGbEJRV01zVTBGQmNVSjZRaXhGUVVGUE1FSXNSMEZETDBOQkxFVkJRVk5CTEVkQlFWVXNRMEZCUlVNc1UwRkJVeXhGUVVGUFF5eFpRVUZaTEVWQlFVOURMRTlCUVZFc1RVRkRhRVVzU1VGQlNVTXNSVUZCVFVNc1UwRkJVME1zV1VGQldTeGxRVVV2UWl4UFFVUkJSaXhGUVVGSlJ5eG5Ra0ZCWjBKcVF5eEZRVUZQTUVJc1JVRkJUME1zVVVGQlUwUXNSVUZCVDBVc1YwRkJXVVlzUlVGQlQwY3NVVUZET1VSRExFdEJiVVppTEVsQlFVbEpMRVZCUVZNc1EwRkRWRU1zUzBGQlRTeFpRVU5PUXl4TFFVRk5MRmxCUTA1RExFZEJRVWtzYzBKQmEwSlNMRk5CUVZORExFVkJRVlYwUXl4RlFVRlBkVU1zUlVGQlRVTXNSVUZCVTBNc1IwRkRja05RTEVWQlFVOXNReXhIUVVGUE1FTXNUVUZCVFN4TFFVRkxia0lzVVVGQlVTeFRRVUZWYjBJc1IwRkRka05LTEVWQlFVdExMR2xDUVVGcFFrUXNSVUZCVFVnc1JVRkJVME1zUzBGSE4wTXNVMEZCVTBrc1JVRkJaVGRETEVWQlFVOTFReXhGUVVGTlF5eEhRVU5xUTA0c1JVRkJUMnhETEVkQlFVOHdReXhOUVVGTkxFdEJRVXR1UWl4UlFVRlJMRk5CUVZWdlFpeEhRVU4yUTBvc1JVRkJTMDhzYjBKQlFXOUNTQ3hGUVVGTlNDeExRWFpDYWtJc2IwSkJRVmh1UWl4VFFVTTBRaXh0UWtGQmVFSkJMRTlCUVU4d1FpeGhRVU5rWWl4RlFVRlRMRU5CUTB4RExFdEJRVTBzWTBGRFRrTXNTMEZCVFN4alFVTk9ReXhIUVVGSkxIZERRVWN3UWl4dFFrRkJkRUpvUWl4UFFVRlBNa0lzWVVGRGJrSmtMRVZCUVZNc1EwRkRURU1zUzBGQlRTeGhRVU5PUXl4TFFVRk5MRmxCUTA1RExFZEJRVWtzTUVKQlpXaENMRWxCU1VsWkxFVkJTa0ZETEVWQlFUSkNMRzlDUVVGaWJrSXNXVUZCT0VKQkxGTkJRVk52UWl4aFFVdDZSQ3hUUVVGVFF5eEpRVU5NTEU5QlFVbElMRWxCUjBsQkxFVkJRVmRzUWl4VFFVRlRjMElzWTBGQll5eFBRVUZQUXl4UFFVdHlSQ3hKUVVGSlF5eEZRVUZYTEVOQlFVTXNVMEZCVlN4TlFVRlBMRTFCUXpkQ1F5eEZRVUZqTEVkQlEyeENMRk5CUVZORExFVkJRV2RDWkN4SFFVTnlRaXhIUVVGSllTeEZRVUZaWWl4SFFVTmFMRTlCUVU5aExFVkJRVmxpTEVkQlJYWkNMRWxCUVVsTkxFVkJRVmRITEVsQlEyWXNSMEZCU1ZRc1MwRkJVVTBzUlVGRFVpeFBRVUZSVHl4RlFVRlpZaXhIUVVGUlFTeEZRVWxvUXl4SlFVWkJMRWxCUVVsbExFVkJRVlZtTEVWQlFVc3NSMEZCUjJkQ0xHTkJRV2RDYUVJc1JVRkJTeTlDTEUxQlFVMHNSMEZETjBOMlFpeEZRVUZKYTBVc1JVRkJVeTlFTEU5QlExWklMRXRCUVVzc1EwRkRVaXhKUVVGSmRVVXNSVUZCWlN4SFFVRkxUQ3hGUVVGVGJFVXNSMEZCUzNGRkxFVkJRM1JETEVkQlFVbEZMRXRCUVdkQ1dDeEZRVU5vUWl4UFFVRlJUeXhGUVVGWllpeEhRVUZSYVVJc1IwRlBlRU1zVTBGQlUwTXNSVUZCVld4Q0xFVkJRVTFYTEVkQlEzSkNMRTlCUVU5UkxGZEJRVmRTTEVWQlFVMUhMRVZCUVdkQ1pDeE5RVUZYTEVWQlJYWkVMRk5CUVZOdlFpeEZRVUZaZUVJc1JVRkJUVWtzUlVGQlRWY3NVVUZEWml4SlFVRldRU3hKUVVGdlFrRXNSVUZCVVdwRExFOUJRVTh5UXl4cFFrRkJhVUo2UWl4SlFVZDRSQ3hKUVVGSk1FSXNSVUZCYTBJc1YwRkJWSFJDTEVWQlFXOUNMRkZCUVZVc1IwRkRNME1zVFVGQlR5eERRVU5JZFVJc1MwRkJUVXdzUlVGQlZXeENMRVZCUVU4c1QwRkJVM05DTEVWQlFWRllMRWRCUTNoRFlTeE5RVUZQVGl4RlFVRlZiRUlzUlVGQlR5eFJRVUZWYzBJc1JVRkJVVmdzUjBGRE1VTmpMRWxCUVV0UUxFVkJRVlZzUWl4RlFVRlBMRTFCUVZGelFpeEZRVUZSV0N4SFFVTjBRMlVzVDBGQlVWSXNSVUZCVld4Q0xFVkJRVThzVTBGQlYzTkNMRVZCUVZGWUxFbEJUWEJFTEZOQlFWTm5RaXhGUVVGVEwwSXNSVUZCVFVrc1JVRkJUVFJDTEVkQlJURkNhRU1zUlVGQlMyVXNUVUZCVFVjc1JVRkJaMEprTEVsQlFWTTBRaXhGUVhkQ2VFTXNVMEZCVTBNc1JVRkJZMnBETEVkQlEyNUNMRWxCUVVsclF5eEZRVUZUYkVNc1JVRkJTMjFETEZkQlEyUndRaXhGUVVGUmFrTXNUMEZCVHpKRExHbENRVUZwUW5wQ0xFZEJRMmhEYjBNc1JVRkJZM1JFTEU5QlFVOHlReXhwUWtGQmFVSlRMRWRCUTNSRFJ5eEZRVUZYY2tNc1JVRkJTM05ETEhkQ1FVTm9Ra01zUlVGQllVd3NSVUZCVDBrc2QwSkJRM2hDTEUxQlFVOHNRMEZEU0hSRExFdEJRVTBzUTBGRFJtVXNUVUZCVDBFc1JVRkRVSGxDTEUxQlFVOUlMRVZCUVZOSExFMUJRMmhDUXl4UFFVRlJTaXhGUVVGVFNTeFBRVU5xUWxvc1NVRkJTMUVzUlVGQlUxSXNTVUZEWkVNc1QwRkJVVThzUlVGQlUxQXNUMEZEYWtKSUxFdEJRVTFWTEVWQlFWTldMRXRCUTJaRExFMUJRVTlUTEVWQlFWTlVMRTFCUTJoQ1l5eFBRVUZSYkVJc1JVRkJXWGhDTEVWQlFVMHNVMEZCVldVc1IwRkRjRU0wUWl4UFFVRlJia0lzUlVGQldYaENMRVZCUVUwc1UwRkJWV1VzU1VGRmVFTnRRaXhQUVVGUkxFTkJRMHB1UWl4TlFVRlBjVUlzUlVGRFVFa3NUVUZCVDBRc1JVRkJWME1zVFVGRGJFSkRMRTlCUVZGR0xFVkJRVmRGTEU5QlEyNUNXaXhKUVVGTFZTeEZRVUZYVml4SlFVTm9Ra01zVDBGQlVWTXNSVUZCVjFRc1QwRkRia0pJTEV0QlFVMVpMRVZCUVZkYUxFdEJRMnBDUXl4TlFVRlBWeXhGUVVGWFdDeE5RVU5zUW1kQ0xGRkJRVk53UWl4RlFVRlpWU3hGUVVGUkxGVkJRVmRGTEVkQlEzaERUeXhQUVVGUmJrSXNSVUZCV1ZVc1JVRkJVU3hUUVVGVlJTeExRWE5DYkVRc1UwRkJVMU1zUlVGQlV6ZERMRVZCUVUwNFF5eEhRVU53UWl4UFFVRjVRaXhKUVVGc1FqbERMRVZCUVVzclF5eFhRVUZ0UWl4SlFVcHVReXhUUVVGclFpOURMRWRCUTJRc1QwRkJVVUVzUlVGQlMyZEVMR0ZCUVdFc1ZVRkJXU3hKUVVGSlF5eFBRVWRNUXl4RFFVRlRiRVFzUjBGQlVTeExRVUZMYlVRc1VVRkJVU3hKUVVGTlRDeEZRVUZaTEUxQlFWRXNSVUZsYWtjc1NVRkJTVTBzUlVGQlR5eHpRa0ZsV0N4SlFVRkpReXhGUVVGcFFpeERRVU5xUWtNc1UwRkJVeXhGUVVOVVF5eFJRVUZSTEVWQlExSkRMRTlCUVZFc1QwRkRVa01zV1VGQldTeEZRVU5hUXl4aFFVRmhMRVZCUTJKRExHTkJRV01zUlVGRFpFTXNZMEZCWXl4RlFVTmtReXhUUVVGVkxFbEJRMVpETEU5QlFWRXNZMEZEVWtNc1VVRkJVeXhIUVVOVVF5eGhRVUZqTEd0Q1FVTmtReXhwUWtGQmEwSXNVMEZCVlVNc1IwRkRlRUpCTEVWQlFVVkRMR2xDUVVOR1JDeEZRVUZGUlN4dFFrRkZUa01zVTBGQlZTeEZRVU5XUXl4VFFVRlZMRXRCUTFaRExGTkJRVlVzVTBGRFZrTXNiVUpCUVcxQ0xFVkJRMjVDUXl4VlFVRlZMRVZCUTFaRExHRkJhRWhLTEZOQlFYTkNNVVVzUlVGQlRXeERMRVZCUVVrMlJ5eEhRVU0xUWl4SlFVRkpReXhGUVVGSk9VY3NSVUZCUnpoSExFVkJRVWRETEVWQlFVa3ZSeXhGUVVGSEswY3NSVUZCUjBNc1JVRkJVV2hJTEVWQlFVZG5TQ3hOUVVGUFF5eEZRVUZSYWtnc1JVRkJSMmxJTEUxQlJYSkVMRWRCUkVGb1JDeEZRVUZUTDBJc1JVRkJUU3haUVVGaExGTkJRVmM0UlN4RlFVRlJMR1ZCUVdsQ1JpeEZRVUZKTEU5QlFWTkRMRVZCUVVrc1QwRkROMFZGTEVkQlFWTndSU3hGUVVGTkxFTkJRMllzU1VGQlNYRkZMRVZCUVdOc1J5eFBRVUZQTWtNc2FVSkJRV2xDZWtJc1IwRkJUV2xHTEdsQ1FVRnBRaXhoUVVOcVJXcEdMRVZCUVV0clJpeGhRVUZoTEZsQlFXRkdMRXRCTkVkdVEwY3NUMEZCVVN4RlFVTlNReXhQUVVGUkxFVkJRMUpETEZkQlFWa3NSVUZEV2tNc1MwRkJUU3hIUVVOT1F5eFpRVUZoTEZGQlJXcENMRk5CUVZOb1NpeEZRVUZSZVVRc1JVRkJUWGRHTEVkQlEyNUNMRWxCUVV0NFJpeEZRVU5FTEUxQlFVMHNTVUZCU1hsR0xFMUJRVTBzT0VOQlJYQkNMRWRCUVhOQ0xFbEJRV3hDZWtZc1JVRkJTeXRETEZOQlEwd3NUVUZCVFN4SlFVRkpNRU1zVFVGQlRTeHZSRUZGY0VJc1NVRXZSVW9zVTBGQmIwSjZSaXhIUVVOb1FpeEpRVUZKTUVZc1JVRkJUVEZHTEVWQlFVc3lSaXhqUVVOWWVrUXNSVUZCVTJ4RExFVkJRVXR0UXl4WFFVTnNRaXhQUVVGUmRVUXNSMEZEU25oRUxFZEJRMmxDTEVsQlFXcENkMFFzUlVGQlNUTkRMRlZCUTJkQ0xFbEJRWEJDWWl4RlFVRlBZU3hWUVVOUU1rTXNSVUZCU1VVc1owSkJRV2RDUXl4VFFVRlRNMFFzUjBGM1JUVkNORVFzUTBGQlZ6bEdMRWRCUTFvc1RVRkJUU3hKUVVGSmVVWXNUVUZCVFN3eVJVRkZjRUpFTEVWQlFWVXZTU3hGUVVGVFFTeEZRVUZUTEVkQlFVazBSeXhIUVVGcFFtMURMRWRCUTJwRUxFbEJRVWxVTEVWQmNrUlNMRk5CUVhOQ0wwVXNSMEZEYkVJc1QwRkJUMjlFTEVWQlFVc3lReXhMUVVGTEwwWXNSVUZCUzJkSExHVkJRV2xFTEZGQlFXaERhRWNzUlVGQlMybEhMRk5CUVZORExHTkJiMFI2UTBNc1EwRkJZVzVITEVkQlEzSkNhME1zUlVGQlUyeERMRVZCUVV0dFF5eFhRVVZzUWtRc1JVRkJUMjVDTEUxQlFVMTNSQ3hUUVVGWGFVSXNSVUZCVVdwQ0xGTkJRMmhEY2tNc1JVRkJUMjVDTEUxQlFVMXhSaXhYUVVGaExFOUJSekZDYkVVc1JVRkJUMjVDTEUxQlFVMTNSU3haUVVGalF5eEZRVUZSUkN4aFFVTnNRME1zUlVGQlVXcERMRTlCUVZOeVFpeEZRVUZUYkVNc1IwRkJUV1VzVFVGQlRYbERMRTlCUVZOblF5eEZRVUZSYUVNc1QwRkZlRVI0UkN4RlFVRkxaU3hOUVVGTmNVWXNWMEZCWVN4UFFVTjRRbkJITEVWQlFVdGxMRTFCUVUxM1JTeFpRVUZqUXl4RlFVRlJSQ3haUVVkcVEzaEVMRVZCUVZNdlFpeEZRVUZOTEd0Q1FVRTJReXhwUWtGQmJrSjNSaXhGUVVGUllTeFBRVUZ6UW1Jc1JVRkJVV0VzVDBGQlUzUkNMRVZCUVZFc1RVRkJVU3hYUVhsQ2VFY3NTVUVyVGtsMVFpeEZRVU5CUXl4RlFVTkJReXhGUVVOQlF5eEZRVU5CY0VJc1JVRkRRWEZDTEVWQmNFOUJPVUlzUlVGQlNTeEZRVU5LUXl4RlFVRkpMRVZCUTBwRExFVkJRVkVzUlVGRFVqWkNMRWRCUVZrc1JVRlZhRUlzVTBGQlUwTXNSVUZCVVVNc1JVRkJWM1pJTEVWQlFWRjNTQ3hIUVVOb1F5eEpRVUZKUVN4RlFVRkxReXhQUVVGVUxFTkJSMEVzU1VGQlNYUktMRVZCUVZFc1NVRkJTWGxDTEZsQlFWa3lTQ3hGUVVGWExFTkJRVVYyU0N4UFFVRlJRU3hKUVVOcVJGVXNSVUZCUzJkSUxHTkJRV04yU2l4SlFVVjJRaXhUUVVGVGQwb3NSVUZCYzBKS0xFVkJRVmRETEVkQlEzUkRMRWxCUVVrNVJTeEZRVUZSTEVOQlFVVTBReXhGUVVGSFFTeEZRVUZIUXl4RlFVRkhRU3hGUVVGSFF5eE5RVUZQUVN4RlFVRlBReXhOUVVGUFFTeEhRV012UXl4UFFXSkJiVU1zYzBKQlFYTkNMRmRCUTFVc2EwSkJRV3BDU2l4RlFVRkxlRVFzVlVGRFVuZEVMRVZCUVV0NFJDeFJRWGhOZWtJc1UwRkJkVUowUkN4RlFVRk5kMFlzUjBGRmVrSjZSQ3hGUVVGVEwwSXNSVUZCVFN4aFFVUkRhMElzUlVGQlowSXNZVUZEVXl4SlFVRk5jMFVzUlVGQlVUTkNMRk5CUVZjc1RVRkJVVEpDTEVWQlFWRXhRaXhSUVhWTmJFVnhSQ3hEUVVGamJrZ3NSVUZCVFRoSExFZEJSM0JDTDBVc1JVRkJVeTlDTEVWQlFVMHNZVUZCWXl4VFFVZHlRemhITEVWQlFVdHdReXhoUVVGaE1VVXNSVUZCVFdkRExFVkJRVTg0UlN4TFFVVnVRMFlzUlVGQlVVTXNSVUZCVnpkRkxFVkJRVTg0UlN4SFFVTXhRa1lzUlVGQlVTeG5Ra0ZCYVVJMVJTeEZRVUZQT0VVc1IwRkRla0k1UlN4RlFVVllMRk5CUVZOdlJpeEpRVU5NTEVkQlFVazFRaXhGUVVGUk5rSXNVVUZCVXl4RFFVTnFRaXhKUVVGSlF5eEZRVUZQY2tZc1JVRkJZMnBETEVkQlEzSkNkVWdzUlVGQlkwUXNSVUZCUzNCR0xFOUJRVTlOTEUxQlFWRTRSU3hGUVVGTGNFWXNUMEZCVDFNc1QwRkJUMmhDTEV0QlFVOHlSaXhGUVVGTGNFWXNUMEZCVDFNc1QwRkJUMllzVFVGREwwVTBSaXhGUVVGbFJpeEZRVUZMY0VZc1QwRkJUMDhzVDBGQlV6WkZMRVZCUVV0d1JpeFBRVUZQVXl4UFFVRlBaQ3hKUVVGTmVVWXNSVUZCUzNCR0xFOUJRVTlUTEU5QlFVOWlMRTlCUjJoR01rWXNSVUZCYTBKR0xFZEJSazVFTEVWQlFVdDBTQ3hMUVVGTGQwTXNUVUZCVVhORExFZEJSemxDTkVNc1JVRkJiVUpHTEVkQlJrNUdMRVZCUVV0MFNDeExRVUZMZVVNc1QwRkJVM0ZETEVkQlIxb3NWMEZCY0VKVkxFVkJRVkUyUWl4UlFVTlNOMElzUlVGQlVXNUNMRk5CUVZjelJpeExRVUZMYVVvc1NVRkJTVVlzUlVGQmFVSkRMRWRCUlhCQ0xGbEJRWEJDYkVNc1JVRkJVVFpDTEZWQlEySTNRaXhGUVVGUmJFSXNVMEZCVnpWR0xFdEJRVXRyU2l4SlFVRkpTQ3hGUVVGcFFrTXNTMEZKZWtRc1UwRkJVMGNzUlVGQldVTXNSVUZCUzBNc1JVRkJTME1zUlVGQlUwTXNSMEZEY0VNc1NVRkJTVzVDTEVWQlFVOXlTeXhGUVVGVFFTeEZRVUZUTEVkQlFVa3JTU3hIUVVGVmVVTXNSMEZEZGtORExFVkJRVk1zUTBGQlJYUkVMRVZCUVVkQkxFVkJRVWRETEVWQlFVZEJMRVZCUVVkcFF5eExRVUZOUVN4SFFVTnFReXhKUVVGTFFTeEZRVUZMY1VJc1VVRkJWWEpDTEVWQlFVdHlSQ3haUVVGbGNVUXNSVUZCUzNSRExHMUNRVUZ4UWswc1NVRkJWV2RETEVWQlFVdDZRaXhaUVVNM1JTeFBRVUZQTmtNc1JVRlZXQ3hIUVZKQlNpeEZRVUZOZGtjc1YwRkJWM1ZITEVkQlEycENReXhGUVVGTmVFY3NWMEZCVjNkSExFZEJRMXBxUWl4RlFVRkxia1FzWlVGRFRuVkZMRVZCUVU5MFJDeEhRVUZMYTBNc1JVRkJTM0pETEZOQlFWZEhMRVZCUVVrc1IwRkJTMnRFTEVkQlJYQkRhRUlzUlVGQlMyeEVMR1ZCUTA1elJTeEZRVUZQY2tRc1IwRkJTMmxETEVWQlFVdHlReXhUUVVGWFNTeEZRVUZKTEVkQlFVdHJSQ3hIUVVWd1FpeFhRVUZxUW1wQ0xFVkJRVXRQTEZGQlFYTkNMRU5CUXpOQ0xFbEJRVWxETEVWQlFVOXlSaXhGUVVGamFrTXNSMEZEZWtKclNTeEZRVUZQZEVRc1JVRkJTV3hITEV0QlFVdHJTaXhMUVVGTFRpeEZRVUZMZEVnc1MwRkJTekJETEU5QlFVOW1MRXRCUVU4eVJpeEZRVUZMY0VZc1QwRkJUMVVzVVVGQlVXcENMRXRCUVUxcVJDeExRVUZMYVVvc1NVRkJTVXdzUlVGQlMzQkdMRTlCUVU5TkxFMUJRM2hHT0VVc1JVRkJTM1JJTEV0QlFVdDNReXhOUVVGUmQwWXNSVUZEYkVKV0xFVkJRVXR3Uml4UFFVRlBWU3hSUVVGUmFrSXNTMEZEY0VJeVJpeEZRVUZMZEVnc1MwRkJTekJETEU5QlFVOW1MRXRCUTJwQ01rWXNSVUZCUzNCR0xFOUJRVTlUTEU5QlFVOW9RaXhMUVVOdVFqSkdMRVZCUVV0d1JpeFBRVUZQVXl4UFFVRlBaaXhOUVVGUGMwY3NSVUZCVDNSRUxFbEJRM0pEYzBRc1JVRkJUM0pFTEVWQlFVbHVSeXhMUVVGTGEwb3NTMEZCUzA0c1JVRkJTM1JJTEV0QlFVc3dReXhQUVVGUFlpeEpRVUZOZVVZc1JVRkJTM0JHTEU5QlFVOVZMRkZCUVZGbUxFbEJRVXR1UkN4TFFVRkxhVW9zU1VGQlNVd3NSVUZCUzNCR0xFOUJRVTlQTEU5QlEzUkdOa1VzUlVGQlMzUklMRXRCUVV0NVF5eFBRVUZUZFVZc1JVRkRia0pXTEVWQlFVdHdSaXhQUVVGUFZTeFJRVUZSWml4SlFVTndRbmxHTEVWQlFVdDBTQ3hMUVVGTE1FTXNUMEZCVDJJc1NVRkRha0o1Uml4RlFVRkxjRVlzVDBGQlQxTXNUMEZCVDJRc1NVRkRia0o1Uml4RlFVRkxjRVlzVDBGQlQxTXNUMEZCVDJJc1QwRkJVVzlITEVWQlFVOXlSQ3hUUVVWeVF5eEhRVUZ4UWl4WlFVRnFRbWxETEVWQlFVdFBMRkZCUVhWQ0xFTkJRMnBETEVsQlEwbGxMRWRCUkVGa0xFVkJRVTl5Uml4RlFVRmpha01zU1VGRFNrRXNTMEZCUzNkRExFMUJRVkZ6UXl4RlFVTTVRblZFTEVWQlFXRm1MRVZCUVV0MFNDeExRVUZMZVVNc1QwRkJVM0ZETEVWQlEyaERkMFFzUlVGQlkwWXNSVUZCV1Vvc1JVRkRNVUpQTEVWQlFXVkdMRVZCUVdGTUxFVkJRelZDVVN4SFFVRnJRa1lzUlVGQlkwWXNSMEZCWVN4RlFVTTNRMHNzUjBGQlowSkdMRVZCUVdWR0xFZEJRV01zUlVGRE4wTkxMRXRCUVZWS0xFVkJRV05vUWl4RlFVRkxjRVlzVDBGQlQwMHNUMEZEY0VNNFJTeEZRVUZMY0VZc1QwRkJUMVVzVVVGQlVXcENMRXRCUTNCQ01rWXNSVUZCUzNCR0xFOUJRVTlUTEU5QlFVOW9RaXhMUVVOdVFqSkdMRVZCUVV0d1JpeFBRVUZQVXl4UFFVRlBaaXhOUVVOdVFqUkhMRWRCUTBGU0xFVkJRMEZYTEVkQlFWRklMRVZCUVdsQ2JFSXNSVUZCUzNCR0xFOUJRVTlWTEZGQlFWRnFRaXhOUVVGUmNVY3NSVUZEZWtSRkxFVkJRVTkwUkN4RlFVRkpiRWNzUzBGQlMydEtMRWxCUVVsc1NpeExRVUZMYVVvc1NVRkJTVThzUlVGQlQzUkVMRVZCUVVjclJDeEhRVUZQUkN4SFFVTTVReXhKUVVGSlJTeExRVUZWVEN4RlFVRmxha0lzUlVGQlMzQkdMRTlCUVU5UExGRkJRM0pETmtVc1JVRkJTM0JHTEU5QlFVOVZMRkZCUVZGbUxFbEJRM0JDZVVZc1JVRkJTM0JHTEU5QlFVOVRMRTlCUVU5a0xFbEJRMjVDZVVZc1JVRkJTM0JHTEU5QlFVOVRMRTlCUVU5aUxFOUJRMjVDTWtjc1IwRkRRVlFzUlVGRFFXRXNSMEZCVVVvc1JVRkJaVzVDTEVWQlFVdHdSaXhQUVVGUFZTeFJRVUZSWml4TFFVRlBiVWNzUlVGRGRFUkZMRVZCUVU5eVJDeEZRVUZKYmtjc1MwRkJTMnRLTEVsQlFVbHNTaXhMUVVGTGFVb3NTVUZCU1U4c1JVRkJUM0pFTEVWQlFVZG5SU3hIUVVGUFJDeEhRVVZzUkN4UFFVRlBWaXhGUVVWWUxGTkJRVk5aTEVWQlFXVmtMRVZCUVZObExFZEJRemRDTEVsQlFVbHFReXhGUVVGUGNrc3NSVUZCVTBFc1JVRkJVeXhIUVVGSkswa3NSMEZCVlhWRUxFZEJRM1pEWWl4RlFVRlRMRU5CUVVWd1JDeE5RVUZQUVN4RlFVRlBaME1zUzBGQlRVRXNSMEZEYmtNc1QwRkJTMEVzUlVGQlMzRkNMRTlCUVZOeVFpeEZRVUZMY0VRc1dVRkRZbmRGTEVkQlJWaEJMRVZCUVU5d1JDeE5RVUZSY0Vjc1MwRkJTMmxLTEVsQlFVbHFTaXhMUVVGTGEwb3NTVUZCU1Vrc1JVRkJVMnhDTEVWQlFVdDRReXhWUVVGWGQwTXNSVUZCUzNwRExGVkJRM2hFTmtRc1IwRkZXQ3hUUVVGVFl5eEZRVUZKYkVJc1JVRkJTME1zUlVGQlMwVXNSMEZEYmtJc1NVRkJTVU1zUlVGQlUwd3NSVUZCV1VNc1JVRkJTME1zUlVGQlMycEVMRVZCUVU5dFJDeEhRVU4wUTI1Q0xFVkJRVTl2UWl4RlFVRlBjRUlzUzBGSGJFSXNUMEZHUVd4RExFVkJRVWx6UkN4RlFVRlBkRVFzUlVGRFdFTXNSVUZCU1hGRUxFVkJRVTl5UkN4RlFVTktiME1zUlVGQmMwSXNZVUZCWTBnc1IwRkZMME1zVTBGQlUyMURMRVZCUVV0cVFpeEZRVUZUWlN4SFFVTnVRaXhKUVVGSllpeEZRVUZUV1N4RlFVRmxaQ3hGUVVGVFpTeEhRVU5xUTJwRExFVkJRVTl2UWl4RlFVRlBjRUlzUzBGRGJFSXNSMEZCUzBFc1JVRkJTM0ZDTEZGQlFWTnlRaXhGUVVGTGNFUXNXVUZCZUVJc1EwRkhRWE5GTEVWQlFWVkZMRVZCUVU5d1JDeE5RVU5xUWl4SlFVRkpaMFFzUlVGQlRXeEVMRVZCUTA1dFJDeEZRVUZOYkVRc1JVRkRWaXhIUVVGSmFVTXNSVUZCUzI5RExFMUJRVThzUTBGSldpeEpRVUZKUVN4RlFVRlJjRU1zUlVGQlMyOURMRTFCUTJwQ2NFSXNSMEZCVDI5Q0xFVkJRVTEwUlN4RlFVRkpiMFFzUlVGQlZXdENMRVZCUVUxMFJTeEZRVUZKUlN4RlFVRlJSaXhGUVVGSmIwUXNSMEZCVjBFc1JVRkROVVJFTEVkQlFVOXRRaXhGUVVGTmNrVXNSVUZCU1cxRUxFVkJRVlZyUWl4RlFVRk5ja1VzUlVGQlNVTXNSVUZCVVVRc1JVRkJTVzFFTEVkQlFWZEJMRVZCUldoRkxFbEJRVWx0UWl4RlFVRlpkRUlzUlVGQldVTXNSVUZCUzBNc1JVRkJTME1zUlVGQlV5eERRVUZGZGtRc1ZVRkJWU3hGUVVGUE1FUXNUMEZCVHl4SlFVbDZSU3hQUVVoQmRrUXNSVUZCU1hWRkxFVkJRVlYyUlN4RlFVTmtReXhGUVVGSmMwVXNSVUZCVlhSRkxFVkJRMlJETEVWQlFWRnJSQ3hGUVVORVppeEZRVUZ6UWl4alFVRmxTQ3hKUVVWb1JDeFRRVUZUYzBNc1JVRkJWVU1zUlVGQlRVNHNSMEZEY2tJc1NVRkJTV3BETEVWQlFVOXlTeXhGUVVGVFFTeEZRVUZUUVN4RlFVRlRMRWRCUVVrclNTeEhRVUZWTEVOQlFVVnNReXhUUVVGVExFbEJRVk41Uml4SFFVTjRSU3hQUVVGUFJTeEZRVUZMYmtVc1JVRkJVWEJITEV0QlFVczBTeXhMUVVGTFJDeEZRVUZQTEVkQlFVc3NSMEZCUzNaRExFVkJRVXQ0UWl4TlFVRlBkMElzUjBGUkwwUXNVMEZCVTNsRExFVkJRVmwyUWl4RlFVRlRkMElzUlVGQlQxUXNSMEZEYWtNc1NVRkJTWHBDTEVWQlFVOXlSaXhGUVVGamFrTXNSMEZMY2tKNVNpeEZRVU5QYmtNc1JVRkJTM0JHTEU5QlFVOU5MRTFCUTJZNFJTeEZRVUZMY0VZc1QwRkJUMVVzVVVGQlVXcENMRXRCUTNCQ01rWXNSVUZCUzNCR0xFOUJRVTlWTEZGQlFWRm9RaXhOUVVOd1FqQkdMRVZCUVV0d1JpeFBRVUZQVXl4UFFVRlBhRUlzUzBGRGJrSXlSaXhGUVVGTGNFWXNUMEZCVDFNc1QwRkJUMllzVFVGTWRrSTJTQ3hGUVUxUmJrTXNSVUZCUzNCR0xFOUJRVTlQTEU5QlEyaENOa1VzUlVGQlMzQkdMRTlCUVU5VkxGRkJRVkZtTEVsQlEzQkNlVVlzUlVGQlMzQkdMRTlCUVU5VkxGRkJRVkZrTEU5QlEzQkNkMFlzUlVGQlMzQkdMRTlCUVU5VExFOUJRVTlrTEVsQlEyNUNlVVlzUlVGQlMzQkdMRTlCUVU5VExFOUJRVTlpTEU5QlNYWkNka1FzUlVGQlZXbE1MRVZCUVUxcVRDeFJRVU5vUWl0SkxFVkJRVXR3Uml4UFFVRlBVQ3hMUVVOYU1rWXNSVUZCUzNCR0xFOUJRVTlWTEZGQlFWRnFRaXhMUVVOd1FqSkdMRVZCUVV0d1JpeFBRVUZQVXl4UFFVRlBhRUlzUzBGRGJrSXlSaXhGUVVGTGRFZ3NTMEZCU3pCRExFOUJRVTltTEV0QlEycENia1FzUlVGQlZXZE1MRVZCUVUxb1RDeFJRVU5vUWpoSkxFVkJRVXR3Uml4UFFVRlBUQ3hKUVVOYWVVWXNSVUZCUzNCR0xFOUJRVTlWTEZGQlFWRm1MRWxCUTNCQ2VVWXNSVUZCUzNCR0xFOUJRVTlUTEU5QlFVOWtMRWxCUTI1Q2VVWXNSVUZCUzNSSUxFdEJRVXN3UXl4UFFVRlBZaXhKUVVkb1FtdEVMRWxCUTBSNFJ5eEhRVUZYSzBrc1JVRkJTM1JJTEV0QlFVdDNReXhOUVVGUmMwTXNSVUZCVVN4RlFVTnlRM1JITEVkQlFWYzRTU3hGUVVGTGRFZ3NTMEZCUzNsRExFOUJRVk54UXl4RlFVRlJMRWRCU3pGRExFbEJRVWx2UlN4RlFVRlJMRU5CUTFKMFJTeEZRVUZKY2tjc1JVRkJWV3RNTEVkQlFYZENRU3hGUVVGelFucENMRWRCUXpWRWJrUXNSVUZCU1hKSExFVkJRVlZwVEN4SFFVRjVRa0VzUlVGQmRVSjZRaXhKUVVWc1JTeFBRVUZQYVVJc1JVRkJTMnBDTEVWQlFWTjJUQ3hGUVVGVFFTeEZRVUZUTEVOQlFVVTJSeXhUUVVGVExFZEJRVk41Uml4SFFVRmpMRU5CUVVWSExFMUJRVTlCTEV0QmRFMTBSa1FzUlVGQlMzcEVMRVZCUVZGSUxGZEJRVmtzUTBGQlJTOUNMRk5CUVZNc1NVRkpjRU52Unl4WFFVRlhMRmRCUTFCMFF5eEpRVU5CTkVJc1JVRkJTWGhFTEVWQlFWRk1MRTlCUVZGTExFVkJRVkZLTEU5QlFWRXNRMEZCUlRsQ0xGTkJRVk1zVFVFeVRtNUVMRWxCUVVrNVJpeEZRVUZYTEVkQlEyWXNVMEZCVTIxTkxFVkJRVmRzVFN4SFFVVm9RaXhKUVd4V1VpeFRRVUZ2UW5WRExFVkJRVTEzUml4SFFVTjBRaXhKUVVGTExFbEJRVWx2UlN4RlFVRk5OVW9zUlVGQllTeE5RVUZRTkVvc1JVRkJZVUVzUlVGQlRVRXNSVUZCU1hwSUxGZEJRM2hETEVkQlFVbFZMRVZCUVZNclJ5eEZRVUZMY0VVc1JVRkJVWGhDTEdWQlFXbENkMElzUlVGQlVYcENMRkZCUVZGYUxGRkJRVkY1Unl4SlFVRlJMRVZCUTNaRkxFOUJRVThzUlVGSFppeFBRVUZQTEVWQk5GVkRReXhEUVVGWGNFMHNSVUZCVFhGTkxFOUJRVkYwUlN4SFFVRTNRaXhEUVVkQk4wZ3NSVUZCVjBnc1JVRkJWVU1zUjBGRGNrSnJTaXhIUVVGWkxFVkJRMXB1UWl4RlFVRlJka0lzYVVKQlFXbENlRWNzUjBGRGVrSTJTU3hGUVVGUk1VSXNSVUZEVWpKQ0xFVkJRVkV4UWl4RlFVTlNLMElzUlVGQlVTeGxRVUZuUWl4RFFVRkZhRU1zUlVGQlIwRXNSVUZCUjBNc1JVRkJSMEVzUlVGQlIwTXNUVUZCVDBFc1IwRkJVMVVzUjBGSGRFUXNTVUZCU1dkRkxFVkJRVkYwVEN4RlFVRlZWaXhIUVVOMFFtZEtMRVZCUVdWblJDeEZRVUZOYWt3c1VVRkRja0pyU1N4RlFVRmxLME1zUlVGQlRXaE1MRkZCUTNKQ05rY3NSVUZCWVZBc1JVRkRZalJDTEVWQlFXZENha2tzUlVGQldXcENMRWxCUldoRExGTkJRVk54UXl4RlFVRkxjRU1zUjBGRFZpeEhRVUZMYTBvc1VVRkRVMjlFTEVsQlFWWjZSQ3hSUVVOVmVVUXNTVUZCVm5oRUxGRkJRMmxDZDBRc1NVRkJha0oyUkN4UlFVTnBRblZFTEVsQlFXcENkRVFzUlVGS1NpeERRVTlCT1Vrc1JVRkJWMGdzUlVGQlZVTXNSMEZEY2tJc1NVRkJTWFZOTEVWQlFWVTVUQ3hGUVVGVlZpeEhRVU40UWl4SFFVRkpRU3hGUVVGVFVDeFBRVUZUTEVWQlMyeENjMDBzUlVGRVkxUXNSMEZFU0hKTExFVkJRVmxxUWl4SFFVRlphMG9zUjBGRFJXeENMRVZCUVZGR0xFdEJRVkVzUjBGQlMwUXNSMEZCV1ZBc1RVRkRha1JyUml4SFFVVjZRbWhDTEVWQlFVa3hReXhIUVVGVE1FUXNSVUZCVVhwTUxGRkJRVlZwU1N4SFFVRm5RakZDTEVWQlFVOTVRaXhIUVVGVGVVUXNSVUZCVVhoTUxGRkJRVlZwU1N4SFFVRm5Rak5DTEVWQlFVOHNRMEZEY0VkNFFpeFRRVUZUTEV0QlIycENMRk5CUVZNeVJ5eEZRVUZUZUUwc1IwRkhWU3hKUVVGd1FrUXNSVUZCVTFBc1VVRkRWREpLTEVWQlFWRXNZVUZCWXl4RFFVRkZhRU1zUlVGQlIwRXNSVUZCUjBNc1JVRkJSMEVzUlVGQlIwTXNUVUZCVDBFc1IwRkJVMVVzUjBFdmEwSm9SU3hUUVVGMVFtaEpMRVZCUVZWRExFZEJSVGRDTEVkQlFVbEJMRVZCUVUxSExGRkJSVTRzUzBGQlQwb3NSVUZCVTFBc1VVRkRXazhzUlVGQlUyTXNWVUZJYWtJc1EwRlBRU3hKUVVGSmVFSXNSVUZCU1ZNc1JVRkJaVU1zUlVGQlZVTXNSMEZETjBKWUxFZEJRVXNzUjBGRFRGVXNSVUZCVTFFc1QwRkJUMnhDTEVWQlFVY3NTVUY1YTBKdVFtOU9MRU5CUVdNeFRTeEZRVUZWUXl4SFFVTnVRbXRLTEVsQlIweEJMRWRCUVZrc1JVRkRXa3dzUlVGQlVVTXNSVUZCVVVNc1JVRkJaVU1zVDBGQlpYTkVMRWRCUld4RUxFbEJRVWxKTEVkQlFWRXNSVUZEV2l4VFFVRlRReXhKUVVORVJDeEpRVWRLUVN4SFFVRlJMRVZCUTFKd1N5eEZRVUZWTEU5QlFWRjVSaXhGUVVGUmFrTXNUMEZCVTNKQ0xFVkJRVk5zUXl4RlFVRk5Na29zUjBGRGJFUTFTaXhGUVVGVkxFOUJRVkZRTEZOQlFWVkxMRVZCUVUwc1EwRkJSWGRMTEZOQlFWTXNTVUZETjBOMFN5eEZRVUZWTEV0QlFVMVFMRk5CUVZWNVN5eEZRVUZWTEVOQlFVVkpMRk5CUVZNc1MwRlhia1FzVDBGSVN6ZEZMRVZCUVZFNFJTeFJRVU5VUml4SlFVVkhMRU5CUTBoQkxFdEJRVTFCTEVWQlEwNUhMRkZCV0Vvc1YwRkRTVW9zUjBGQlVTeEZRVU5TTjBvc1JVRkJaU3hQUVVGUmEwWXNSVUZCVVdwRExFOUJRVk55UWl4RlFVRlRiRU1zUlVGQlRUSktMRWRCUTNaRWNrb3NSVUZCWlN4UFFVRlJaQ3hUUVVGVlN5eEhRVU5xUTFNc1JVRkJaU3hMUVVGTlpDeFRRVUZWZVVzc1NVRlJMMEpQTEZkQlFWazNTeXhGUVVOYU9Fc3NUMEZCVVN4WFFVRmpMRTFCUVU4c1EwRkJSemRHTEVWQlFVZEJMRVZCUVVkRExFVkJRVWRCTEVsQlEzcEROa1lzVTBGQlZTeFhRVUZqTEU5QlFVODFSaXhIUVVNdlFqWkdMRmRCUVZrc1YwRkJZeXhQUVM5WmJFTXNVMEZCYzBKRExFZEJRMnhDTEVsQlFVbERMRVZCUVZFc1IwRkRXaXhKUVVGTExFbEJRVWxETEV0QlFVOUdMRVZCUTFKQkxFVkJRVWw0VGl4bFFVRmxNRTRzUzBGRGJrSkVMRVZCUVUxRExFZEJRVTlHTEVWQlFVbEZMRWxCUjNwQ0xFOUJRVTlFTEVWQmQxazRRa1VzUTBGQllYWkdMRWxCUXpsRGQwUXNTVUZCUzBFc1JVRkRUR2RETEUxQmJFZEtMRk5CUVdWRExFZEJRMWdzU1VGQlNXNUZMRVZCUVU5eVN5eEZRVUZUUVN4RlFVRlRRU3hGUVVGVExFZEJRVWtyU1N4SFFVRlZMRU5CUVVWc1F5eFRRVUZUTEVWQlFVMDJSU3hQUVVGUExFbEJRVk00UXl4SFFVTnlSbTVITEVWQlFWRm5SU3hGUVVGbGFFTXNSVUZCUzNwQ0xGZEJRVmw1UWl4SFFVRk5hRU1zVFVGRE9VTXNTVUZCU1hGRkxFVkJRVmwwUWl4RlFVRlpaaXhGUVVGTE0wSXNUMEZCVVRKQ0xFVkJRVXN4UWl4UFFVRlJUaXhGUVVGUFowTXNSMEZITjBRc1QwRkdRV3hETEVWQlFVbDFSU3hGUVVGVmRrVXNSVUZEWkVNc1JVRkJTWE5GTEVWQlFWVjBSU3hGUVVOUWIwTXNSVUZCYzBJc1pVRkJaMEpJTEVsQk5rWTNRMjlGTEZkQmJGWktMRk5CUVc5Q2NFVXNSMEZGYUVJc1NVRkJTeXhKUVVGSlowVXNWVUZFU1N4SlFVRlVhRVVzU1VGQmJVSkJMRVZCUVU4c1NVRkRaRUVzUlVGRFVrRXNSVUZCU3pGS0xHVkJRV1V3VGl4TFFVTndRblJHTEVWQlFWRnpSaXhIUVVGUGFFVXNSVUZCUzJkRkxFbEJTWGhDYUVVc1JVRkJTekZLTEdWQlFXVXNXVUZEY0VJMFF5eEZRVUZMWlN4TlFVRk5lVU1zVDBGQlUzTkVMRVZCUVV0MFJDeFJRVVY2UW5ORUxFVkJRVXN4U2l4bFFVRmxMR05CUTNCQ09FVXNSVUZCVDI1Q0xFMUJRVTEzUkN4VFFVRlhkVU1zUlVGQlMzWkRMRlZCUlRkQ2RVTXNSVUZCU3pGS0xHVkJRV1VzYVVKQlEzQkNPRVVzUlVGQlQyNUNMRTFCUVUxM1JTeFpRVUZqZFVJc1JVRkJTM1pDTEZsQlEyaERka1lzUlVGQlMyVXNUVUZCVFhkRkxGbEJRV04xUWl4RlFVRkxka0lzWTBGRk9VSjFRaXhGUVVGTE1Vb3NaVUZCWlN4aFFVTndRakJLTEVWQlFVc3hTaXhsUVVGbExHRkJRM0JDTUVvc1JVRkJTekZLTEdWQlFXVXNZVUZEY0VKblN5eExRVGhVU25KR0xGTkJRVlVzVTBGQlZUTkNMRVZCUVUwMFFpeEhRVUZUTEU5QlFVOUVMRVZCUVZNdlFpeEZRVUZOU1N4RlFVRk5ORUlzU1VGREwwUnBTQ3hMUVVGTlFTeEZRVU5PYTBNc1QwRndTMG9zVTBGQlowSndReXhIUVVOYUxFOUJRVTlMTEVkQlFWVXNSVUZCVFV3c1NVRnZTM1pDY1VNc1VVRnNTMG9zVTBGQmFVSnlReXhIUVVOaUxFOUJRVTlMTEVkQlFWVXNSVUZCVDB3c1NVRnJTM2hDVVN4WlFVRmhRU3hGUVVOaU9FSXNZMEZ3U0Vvc1UwRkJkVUkxVGl4RlFVRlBjMHdzUjBGSE1VSjBUQ3hGUVVGTk1FY3NhVUpCUTA0c1NVRkJTVEpETEVWQlFVOXlTeXhGUVVGVFFTeEZRVUZUTEVkQlFVa3JTU3hIUVVGVmRVUXNSMEZIZGtOMVF5eEhRVVI1UWl4SlFVRnFRamRPTEVWQlFVMDRUaXhSUVVGblFqbE9MRVZCUVUwclRpeFBRVUZUTDA0c1JVRkJUU3RPTEU5QlFWTXZUaXhGUVVGTk9FNHNVVUZEYkVRc1JVRkJTU3hIUVVGTExFVkJSVGRDTEU5QlFVOW9ReXhGUVVSUFZDeEZRVUZsYUVVc1JVRkJVWEJITEV0QlFVczBTeXhKUVVGTFowTXNSVUZCVVhoRkxFVkJRVXQ0UWl4TFFVRlJMRWRCUVVsM1FpeEhRVUZOYUVNc1RVRkRiRVJ5U0N4RlFVRlBjVW9zUzBGblNETkRMRTlCUmtGMlN5eEZRVUZST0Vjc1pVRkJhVUpCTEVWQlJXeENPVWNpTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmMzUmhaMmx1Wnk5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OUFjR0Z1ZW05dmJTOXdZVzU2YjI5dEwyUnBjM1F2Y0dGdWVtOXZiUzVxY3lKOSIsIm1vZHVsZS5leHBvcnRzPXJlcXVpcmUoXCIuL2xpYi9heGlvc1wiKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltbHVaR1Y0TG1weklsMHNJbTVoYldWeklqcGJJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0p5WlhGMWFYSmxJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVUVzVDBGQlQwTXNVVUZCVlVNc1VVRkJVU0lzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5emRHRm5hVzVuTDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwyRjRhVzl6TDJsdVpHVjRMbXB6SW4wPSIsIlwidXNlIHN0cmljdFwiO3ZhciB1dGlscz1yZXF1aXJlKFwiLi8uLi91dGlsc1wiKSxzZXR0bGU9cmVxdWlyZShcIi4vLi4vY29yZS9zZXR0bGVcIiksY29va2llcz1yZXF1aXJlKFwiLi8uLi9oZWxwZXJzL2Nvb2tpZXNcIiksYnVpbGRVUkw9cmVxdWlyZShcIi4vLi4vaGVscGVycy9idWlsZFVSTFwiKSxidWlsZEZ1bGxQYXRoPXJlcXVpcmUoXCIuLi9jb3JlL2J1aWxkRnVsbFBhdGhcIikscGFyc2VIZWFkZXJzPXJlcXVpcmUoXCIuLy4uL2hlbHBlcnMvcGFyc2VIZWFkZXJzXCIpLGlzVVJMU2FtZU9yaWdpbj1yZXF1aXJlKFwiLi8uLi9oZWxwZXJzL2lzVVJMU2FtZU9yaWdpblwiKSxjcmVhdGVFcnJvcj1yZXF1aXJlKFwiLi4vY29yZS9jcmVhdGVFcnJvclwiKTttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocix0KXt2YXIgcz1lLmRhdGEsbz1lLmhlYWRlcnM7dXRpbHMuaXNGb3JtRGF0YShzKSYmZGVsZXRlIG9bXCJDb250ZW50LVR5cGVcIl07dmFyIGE9bmV3IFhNTEh0dHBSZXF1ZXN0O2lmKGUuYXV0aCl7dmFyIG49ZS5hdXRoLnVzZXJuYW1lfHxcIlwiLGk9ZS5hdXRoLnBhc3N3b3JkP3VuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChlLmF1dGgucGFzc3dvcmQpKTpcIlwiO28uQXV0aG9yaXphdGlvbj1cIkJhc2ljIFwiK2J0b2EobitcIjpcIitpKX12YXIgdT1idWlsZEZ1bGxQYXRoKGUuYmFzZVVSTCxlLnVybCk7aWYoYS5vcGVuKGUubWV0aG9kLnRvVXBwZXJDYXNlKCksYnVpbGRVUkwodSxlLnBhcmFtcyxlLnBhcmFtc1NlcmlhbGl6ZXIpLCEwKSxhLnRpbWVvdXQ9ZS50aW1lb3V0LGEub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7aWYoYSYmND09PWEucmVhZHlTdGF0ZSYmKDAhPT1hLnN0YXR1c3x8YS5yZXNwb25zZVVSTCYmMD09PWEucmVzcG9uc2VVUkwuaW5kZXhPZihcImZpbGU6XCIpKSl7dmFyIHM9XCJnZXRBbGxSZXNwb25zZUhlYWRlcnNcImluIGE/cGFyc2VIZWFkZXJzKGEuZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCkpOm51bGwsbz17ZGF0YTplLnJlc3BvbnNlVHlwZSYmXCJ0ZXh0XCIhPT1lLnJlc3BvbnNlVHlwZT9hLnJlc3BvbnNlOmEucmVzcG9uc2VUZXh0LHN0YXR1czphLnN0YXR1cyxzdGF0dXNUZXh0OmEuc3RhdHVzVGV4dCxoZWFkZXJzOnMsY29uZmlnOmUscmVxdWVzdDphfTtzZXR0bGUocix0LG8pLGE9bnVsbH19LGEub25hYm9ydD1mdW5jdGlvbigpe2EmJih0KGNyZWF0ZUVycm9yKFwiUmVxdWVzdCBhYm9ydGVkXCIsZSxcIkVDT05OQUJPUlRFRFwiLGEpKSxhPW51bGwpfSxhLm9uZXJyb3I9ZnVuY3Rpb24oKXt0KGNyZWF0ZUVycm9yKFwiTmV0d29yayBFcnJvclwiLGUsbnVsbCxhKSksYT1udWxsfSxhLm9udGltZW91dD1mdW5jdGlvbigpe3ZhciByPVwidGltZW91dCBvZiBcIitlLnRpbWVvdXQrXCJtcyBleGNlZWRlZFwiO2UudGltZW91dEVycm9yTWVzc2FnZSYmKHI9ZS50aW1lb3V0RXJyb3JNZXNzYWdlKSx0KGNyZWF0ZUVycm9yKHIsZSxcIkVDT05OQUJPUlRFRFwiLGEpKSxhPW51bGx9LHV0aWxzLmlzU3RhbmRhcmRCcm93c2VyRW52KCkpe3ZhciBsPShlLndpdGhDcmVkZW50aWFsc3x8aXNVUkxTYW1lT3JpZ2luKHUpKSYmZS54c3JmQ29va2llTmFtZT9jb29raWVzLnJlYWQoZS54c3JmQ29va2llTmFtZSk6dm9pZCAwO2wmJihvW2UueHNyZkhlYWRlck5hbWVdPWwpfWlmKFwic2V0UmVxdWVzdEhlYWRlclwiaW4gYSYmdXRpbHMuZm9yRWFjaChvLGZ1bmN0aW9uKGUscil7dm9pZCAwPT09cyYmXCJjb250ZW50LXR5cGVcIj09PXIudG9Mb3dlckNhc2UoKT9kZWxldGUgb1tyXTphLnNldFJlcXVlc3RIZWFkZXIocixlKX0pLHV0aWxzLmlzVW5kZWZpbmVkKGUud2l0aENyZWRlbnRpYWxzKXx8KGEud2l0aENyZWRlbnRpYWxzPSEhZS53aXRoQ3JlZGVudGlhbHMpLGUucmVzcG9uc2VUeXBlKXRyeXthLnJlc3BvbnNlVHlwZT1lLnJlc3BvbnNlVHlwZX1jYXRjaChyKXtpZihcImpzb25cIiE9PWUucmVzcG9uc2VUeXBlKXRocm93IHJ9XCJmdW5jdGlvblwiPT10eXBlb2YgZS5vbkRvd25sb2FkUHJvZ3Jlc3MmJmEuYWRkRXZlbnRMaXN0ZW5lcihcInByb2dyZXNzXCIsZS5vbkRvd25sb2FkUHJvZ3Jlc3MpLFwiZnVuY3Rpb25cIj09dHlwZW9mIGUub25VcGxvYWRQcm9ncmVzcyYmYS51cGxvYWQmJmEudXBsb2FkLmFkZEV2ZW50TGlzdGVuZXIoXCJwcm9ncmVzc1wiLGUub25VcGxvYWRQcm9ncmVzcyksZS5jYW5jZWxUb2tlbiYmZS5jYW5jZWxUb2tlbi5wcm9taXNlLnRoZW4oZnVuY3Rpb24oZSl7YSYmKGEuYWJvcnQoKSx0KGUpLGE9bnVsbCl9KSxzfHwocz1udWxsKSxhLnNlbmQocyl9KX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmhvY2k1cWN5SmRMQ0p1WVcxbGN5STZXeUoxZEdsc2N5SXNJbkpsY1hWcGNtVWlMQ0p6WlhSMGJHVWlMQ0pqYjI5cmFXVnpJaXdpWW5WcGJHUlZVa3dpTENKaWRXbHNaRVoxYkd4UVlYUm9JaXdpY0dGeWMyVklaV0ZrWlhKeklpd2lhWE5WVWt4VFlXMWxUM0pwWjJsdUlpd2lZM0psWVhSbFJYSnliM0lpTENKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aVkyOXVabWxuSWl3aVVISnZiV2x6WlNJc0luSmxjMjlzZG1VaUxDSnlaV3BsWTNRaUxDSnlaWEYxWlhOMFJHRjBZU0lzSW1SaGRHRWlMQ0p5WlhGMVpYTjBTR1ZoWkdWeWN5SXNJbWhsWVdSbGNuTWlMQ0pwYzBadmNtMUVZWFJoSWl3aWNtVnhkV1Z6ZENJc0lsaE5URWgwZEhCU1pYRjFaWE4wSWl3aVlYVjBhQ0lzSW5WelpYSnVZVzFsSWl3aWNHRnpjM2R2Y21RaUxDSjFibVZ6WTJGd1pTSXNJbVZ1WTI5a1pWVlNTVU52YlhCdmJtVnVkQ0lzSWtGMWRHaHZjbWw2WVhScGIyNGlMQ0ppZEc5aElpd2lablZzYkZCaGRHZ2lMQ0ppWVhObFZWSk1JaXdpZFhKc0lpd2liM0JsYmlJc0ltMWxkR2h2WkNJc0luUnZWWEJ3WlhKRFlYTmxJaXdpY0dGeVlXMXpJaXdpY0dGeVlXMXpVMlZ5YVdGc2FYcGxjaUlzSW5ScGJXVnZkWFFpTENKdmJuSmxZV1I1YzNSaGRHVmphR0Z1WjJVaUxDSnlaV0ZrZVZOMFlYUmxJaXdpYzNSaGRIVnpJaXdpY21WemNHOXVjMlZWVWt3aUxDSnBibVJsZUU5bUlpd2ljbVZ6Y0c5dWMyVklaV0ZrWlhKeklpd2laMlYwUVd4c1VtVnpjRzl1YzJWSVpXRmtaWEp6SWl3aWNtVnpjRzl1YzJVaUxDSnlaWE53YjI1elpWUjVjR1VpTENKeVpYTndiMjV6WlZSbGVIUWlMQ0p6ZEdGMGRYTlVaWGgwSWl3aWIyNWhZbTl5ZENJc0ltOXVaWEp5YjNJaUxDSnZiblJwYldWdmRYUWlMQ0owYVcxbGIzVjBSWEp5YjNKTlpYTnpZV2RsSWl3aWFYTlRkR0Z1WkdGeVpFSnliM2R6WlhKRmJuWWlMQ0o0YzNKbVZtRnNkV1VpTENKM2FYUm9RM0psWkdWdWRHbGhiSE1pTENKNGMzSm1RMjl2YTJsbFRtRnRaU0lzSW5KbFlXUWlMQ0oxYm1SbFptbHVaV1FpTENKNGMzSm1TR1ZoWkdWeVRtRnRaU0lzSW1admNrVmhZMmdpTENKMllXd2lMQ0pyWlhraUxDSjBiMHh2ZDJWeVEyRnpaU0lzSW5ObGRGSmxjWFZsYzNSSVpXRmtaWElpTENKcGMxVnVaR1ZtYVc1bFpDSXNJbVVpTENKdmJrUnZkMjVzYjJGa1VISnZaM0psYzNNaUxDSmhaR1JGZG1WdWRFeHBjM1JsYm1WeUlpd2liMjVWY0d4dllXUlFjbTluY21WemN5SXNJblZ3Ykc5aFpDSXNJbU5oYm1ObGJGUnZhMlZ1SWl3aWNISnZiV2x6WlNJc0luUm9aVzRpTENKallXNWpaV3dpTENKaFltOXlkQ0lzSW5ObGJtUWlYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMR0ZCUlVFc1NVRkJTVUVzVFVGQlVVTXNVVUZCVVN4alFVTm9Ra01zVDBGQlUwUXNVVUZCVVN4dlFrRkRha0pGTEZGQlFWVkdMRkZCUVZFc2QwSkJRMnhDUnl4VFFVRlhTQ3hSUVVGUkxIbENRVU51UWtrc1kwRkJaMEpLTEZGQlFWRXNlVUpCUTNoQ1N5eGhRVUZsVEN4UlFVRlJMRFpDUVVOMlFrMHNaMEpCUVd0Q1RpeFJRVUZSTEdkRFFVTXhRazhzV1VGQlkxQXNVVUZCVVN4MVFrRkZNVUpSTEU5QlFVOURMRkZCUVZVc1UwRkJiMEpETEVkQlEyNURMRTlCUVU4c1NVRkJTVU1zVVVGQlVTeFRRVUUwUWtNc1JVRkJVME1zUjBGRGRFUXNTVUZCU1VNc1JVRkJZMG9zUlVGQlQwc3NTMEZEY2tKRExFVkJRV2xDVGl4RlFVRlBUeXhSUVVWNFFteENMRTFCUVUxdFFpeFhRVUZYU2l4WFFVTmFSU3hGUVVGbExHZENRVWQ0UWl4SlFVRkpSeXhGUVVGVkxFbEJRVWxETEdWQlIyeENMRWRCUVVsV0xFVkJRVTlYTEV0QlFVMHNRMEZEWml4SlFVRkpReXhGUVVGWFdpeEZRVUZQVnl4TFFVRkxReXhWUVVGWkxFZEJRMjVEUXl4RlFVRlhZaXhGUVVGUFZ5eExRVUZMUlN4VFFVRlhReXhUUVVGVFF5eHRRa0ZCYlVKbUxFVkJRVTlYTEV0QlFVdEZMRmRCUVdFc1IwRkRNMFpRTEVWQlFXVlZMR05CUVdkQ0xGTkJRVmRETEV0QlFVdE1MRVZCUVZjc1NVRkJUVU1zUjBGSGJFVXNTVUZCU1Vzc1JVRkJWM2hDTEdOQlFXTk5MRVZCUVU5dFFpeFJRVUZUYmtJc1JVRkJUMjlDTEV0Qk5FVndSQ3hIUVRORlFWZ3NSVUZCVVZrc1MwRkJTM0pDTEVWQlFVOXpRaXhQUVVGUFF5eGpRVUZsT1VJc1UwRkJVM2xDTEVWQlFWVnNRaXhGUVVGUGQwSXNUMEZCVVhoQ0xFVkJRVTk1UWl4dFFrRkJiVUlzUjBGSGRFZG9RaXhGUVVGUmFVSXNVVUZCVlRGQ0xFVkJRVTh3UWl4UlFVZDZRbXBDTEVWQlFWRnJRaXh0UWtGQmNVSXNWMEZETTBJc1IwRkJTMnhDTEVkQlFXdERMRWxCUVhaQ1FTeEZRVUZSYlVJc1lVRlJSQ3hKUVVGdVFtNUNMRVZCUVZGdlFpeFJRVUZyUW5CQ0xFVkJRVkZ4UWl4aFFVRjNSQ3hKUVVGNlEzSkNMRVZCUVZGeFFpeFpRVUZaUXl4UlFVRlJMRlZCUVdwR0xFTkJTMEVzU1VGQlNVTXNSVUZCYTBJc01FSkJRVEpDZGtJc1JVRkJWV1FzWVVGQllXTXNSVUZCVVhkQ0xIbENRVUV5UWl4TFFVVjJSME1zUlVGQlZ5eERRVU5pTjBJc1MwRkdhMEpNTEVWQlFVOXRReXhqUVVGM1F5eFRRVUY0UW01RExFVkJRVTl0UXl4aFFVRnBSREZDTEVWQlFWRjVRaXhUUVVFdlFucENMRVZCUVZFeVFpeGhRVWRzUmxBc1QwRkJVWEJDTEVWQlFWRnZRaXhQUVVOb1FsRXNWMEZCV1RWQ0xFVkJRVkUwUWl4WFFVTndRamxDTEZGQlFWTjVRaXhGUVVOVWFFTXNUMEZCVVVFc1JVRkRVbE1zVVVGQlUwRXNSMEZIV0d4Q0xFOUJRVTlYTEVWQlFWTkRMRVZCUVZFclFpeEhRVWQ0UW5wQ0xFVkJRVlVzVDBGSldrRXNSVUZCVVRaQ0xGRkJRVlVzVjBGRFdEZENMRWxCU1V4T0xFVkJRVTlPTEZsQlFWa3NhMEpCUVcxQ1J5eEZRVUZSTEdWQlFXZENVeXhKUVVjNVJFRXNSVUZCVlN4UFFVbGFRU3hGUVVGUk9FSXNVVUZCVlN4WFFVZG9RbkJETEVWQlFVOU9MRmxCUVZrc1owSkJRV2xDUnl4RlFVRlJMRXRCUVUxVExFbEJSMnhFUVN4RlFVRlZMRTFCU1ZwQkxFVkJRVkVyUWl4VlFVRlpMRmRCUTJ4Q0xFbEJRVWxETEVWQlFYTkNMR05CUVdkQ2VrTXNSVUZCVHpCQ0xGRkJRVlVzWTBGRGRrUXhRaXhGUVVGUGVVTXNjMEpCUTFSQkxFVkJRWE5DZWtNc1JVRkJUM2xETEhGQ1FVVXZRblJETEVWQlFVOU9MRmxCUVZrMFF5eEZRVUZ4UW5wRExFVkJRVkVzWlVGRE9VTlRMRWxCUjBaQkxFVkJRVlVzVFVGTlVuQkNMRTFCUVUxeFJDeDFRa0ZCZDBJc1EwRkZhRU1zU1VGQlNVTXNSMEZCWVRORExFVkJRVTgwUXl4cFFrRkJiVUpvUkN4blFrRkJaMEp6UWl4TFFVRmpiRUlzUlVGQlR6WkRMR1ZCUXpsRmNrUXNVVUZCVVhORUxFdEJRVXM1UXl4RlFVRlBOa01zY1VKQlEzQkNSU3hGUVVWRlNpeEpRVU5HY2tNc1JVRkJaVTRzUlVGQlQyZEVMR2RDUVVGclFrd3NSMEYxUWpWRExFZEJiRUpKTEhGQ1FVRnpRbXhETEVkQlEzaENjRUlzVFVGQlRUUkVMRkZCUVZFelF5eEZRVUZuUWl4VFFVRXdRalJETEVWQlFVdERMRkZCUTJoRExFbEJRV2hDTDBNc1IwRkJjVVFzYVVKQlFYUkNLME1zUlVGQlNVTXNjVUpCUlhKRE9VTXNSVUZCWlRaRExFZEJSM1JDTVVNc1JVRkJVVFJETEdsQ1FVRnBRa1lzUlVGQlMwUXNTMEZOTDBJM1JDeE5RVUZOYVVVc1dVRkJXWFJFTEVWQlFVODBReXh0UWtGRE5VSnVReXhGUVVGUmJVTXNhMEpCUVc5Q05VTXNSVUZCVHpSRExHbENRVWxxUXpWRExFVkJRVTl0UXl4aFFVTlVMRWxCUTBVeFFpeEZRVUZSTUVJc1lVRkJaVzVETEVWQlFVOXRReXhoUVVNNVFpeE5RVUZQYjBJc1IwRkhVQ3hIUVVFMFFpeFRRVUY0UW5aRUxFVkJRVTl0UXl4aFFVTlVMRTFCUVUxdlFpeEZRVTAyUWl4dFFrRkJPVUoyUkN4RlFVRlBkMFFzYjBKQlEyaENMME1zUlVGQlVXZEVMR2xDUVVGcFFpeFhRVUZaZWtRc1JVRkJUM2RFTEc5Q1FVbFFMRzFDUVVFMVFuaEVMRVZCUVU4d1JDeHJRa0ZCYlVOcVJDeEZRVUZSYTBRc1VVRkRNMFJzUkN4RlFVRlJhMFFzVDBGQlQwWXNhVUpCUVdsQ0xGZEJRVmw2UkN4RlFVRlBNRVFzYTBKQlIycEVNVVFzUlVGQlR6UkVMR0ZCUlZRMVJDeEZRVUZQTkVRc1dVRkJXVU1zVVVGQlVVTXNTMEZCU3l4VFFVRnZRa01zUjBGRE4wTjBSQ3hKUVVsTVFTeEZRVUZSZFVRc1VVRkRVamRFTEVWQlFVODBSQ3hIUVVWUWRFUXNSVUZCVlN4UlFVbFVUQ3hKUVVOSVFTeEZRVUZqTEUxQlNXaENTeXhGUVVGUmQwUXNTMEZCU3pkRUlpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMM04wWVdkcGJtY3ZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12WVhocGIzTXZiR2xpTDJGa1lYQjBaWEp6TDNob2NpNXFjeUo5IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIHV0aWxzPXJlcXVpcmUoXCIuL3V0aWxzXCIpLGJpbmQ9cmVxdWlyZShcIi4vaGVscGVycy9iaW5kXCIpLEF4aW9zPXJlcXVpcmUoXCIuL2NvcmUvQXhpb3NcIiksbWVyZ2VDb25maWc9cmVxdWlyZShcIi4vY29yZS9tZXJnZUNvbmZpZ1wiKSxkZWZhdWx0cz1yZXF1aXJlKFwiLi9kZWZhdWx0c1wiKTtmdW5jdGlvbiBjcmVhdGVJbnN0YW5jZShlKXt2YXIgcj1uZXcgQXhpb3MoZSksaT1iaW5kKEF4aW9zLnByb3RvdHlwZS5yZXF1ZXN0LHIpO3JldHVybiB1dGlscy5leHRlbmQoaSxBeGlvcy5wcm90b3R5cGUsciksdXRpbHMuZXh0ZW5kKGksciksaX12YXIgYXhpb3M9Y3JlYXRlSW5zdGFuY2UoZGVmYXVsdHMpO2F4aW9zLkF4aW9zPUF4aW9zLGF4aW9zLmNyZWF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gY3JlYXRlSW5zdGFuY2UobWVyZ2VDb25maWcoYXhpb3MuZGVmYXVsdHMsZSkpfSxheGlvcy5DYW5jZWw9cmVxdWlyZShcIi4vY2FuY2VsL0NhbmNlbFwiKSxheGlvcy5DYW5jZWxUb2tlbj1yZXF1aXJlKFwiLi9jYW5jZWwvQ2FuY2VsVG9rZW5cIiksYXhpb3MuaXNDYW5jZWw9cmVxdWlyZShcIi4vY2FuY2VsL2lzQ2FuY2VsXCIpLGF4aW9zLmFsbD1mdW5jdGlvbihlKXtyZXR1cm4gUHJvbWlzZS5hbGwoZSl9LGF4aW9zLnNwcmVhZD1yZXF1aXJlKFwiLi9oZWxwZXJzL3NwcmVhZFwiKSxheGlvcy5pc0F4aW9zRXJyb3I9cmVxdWlyZShcIi4vaGVscGVycy9pc0F4aW9zRXJyb3JcIiksbW9kdWxlLmV4cG9ydHM9YXhpb3MsbW9kdWxlLmV4cG9ydHMuZGVmYXVsdD1heGlvcztcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltRjRhVzl6TG1weklsMHNJbTVoYldWeklqcGJJblYwYVd4eklpd2ljbVZ4ZFdseVpTSXNJbUpwYm1RaUxDSkJlR2x2Y3lJc0ltMWxjbWRsUTI5dVptbG5JaXdpWkdWbVlYVnNkSE1pTENKamNtVmhkR1ZKYm5OMFlXNWpaU0lzSW1SbFptRjFiSFJEYjI1bWFXY2lMQ0pqYjI1MFpYaDBJaXdpYVc1emRHRnVZMlVpTENKd2NtOTBiM1I1Y0dVaUxDSnlaWEYxWlhOMElpd2laWGgwWlc1a0lpd2lZWGhwYjNNaUxDSmpjbVZoZEdVaUxDSnBibk4wWVc1alpVTnZibVpwWnlJc0lrTmhibU5sYkNJc0lrTmhibU5sYkZSdmEyVnVJaXdpYVhORFlXNWpaV3dpTENKaGJHd2lMQ0p3Y205dGFYTmxjeUlzSWxCeWIyMXBjMlVpTENKemNISmxZV1FpTENKcGMwRjRhVzl6UlhKeWIzSWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpWkdWbVlYVnNkQ0pkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzWVVGRlFTeEpRVUZKUVN4TlFVRlJReXhSUVVGUkxGZEJRMmhDUXl4TFFVRlBSQ3hSUVVGUkxHdENRVU5tUlN4TlFVRlJSaXhSUVVGUkxHZENRVU5vUWtjc1dVRkJZMGdzVVVGQlVTeHpRa0ZEZEVKSkxGTkJRVmRLTEZGQlFWRXNZMEZSZGtJc1UwRkJVMHNzWlVGQlpVTXNSMEZEZEVJc1NVRkJTVU1zUlVGQlZTeEpRVUZKVEN4TlFVRk5TU3hIUVVOd1FrVXNSVUZCVjFBc1MwRkJTME1zVFVGQlRVOHNWVUZCVlVNc1VVRkJVMGdzUjBGUk4wTXNUMEZNUVZJc1RVRkJUVmtzVDBGQlQwZ3NSVUZCVlU0c1RVRkJUVThzVlVGQlYwWXNSMEZIZUVOU0xFMUJRVTFaTEU5QlFVOUlMRVZCUVZWRUxFZEJSV2hDUXl4RlFVbFVMRWxCUVVsSkxFMUJRVkZRTEdWQlFXVkVMRlZCUnpOQ1VTeE5RVUZOVml4TlFVRlJRU3hOUVVka1ZTeE5RVUZOUXl4UFFVRlRMRk5CUVdkQ1F5eEhRVU0zUWl4UFFVRlBWQ3hsUVVGbFJpeFpRVUZaVXl4TlFVRk5VaXhUUVVGVlZTeExRVWx3UkVZc1RVRkJUVWNzVDBGQlUyWXNVVUZCVVN4dFFrRkRka0paTEUxQlFVMUpMRmxCUVdOb1FpeFJRVUZSTEhkQ1FVTTFRbGtzVFVGQlRVc3NVMEZCVjJwQ0xGRkJRVkVzY1VKQlIzcENXU3hOUVVGTlRTeEpRVUZOTEZOQlFXRkRMRWRCUTNaQ0xFOUJRVTlETEZGQlFWRkdMRWxCUVVsRExFbEJSWEpDVUN4TlFVRk5VeXhQUVVGVGNrSXNVVUZCVVN4dlFrRkhka0paTEUxQlFVMVZMR0ZCUVdWMFFpeFJRVUZSTERCQ1FVVTNRblZDTEU5QlFVOURMRkZCUVZWYUxFMUJSMnBDVnl4UFFVRlBReXhSUVVGUlF5eFJRVUZWWWlJc0ltWnBiR1VpT2lJdmFHOXRaUzk2YVc1dkwzQnliMnBsWTNSekwzTmxZWFJ0WVhCMk1pOXpkR0ZuYVc1bkwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMMkY0YVc5ekwyeHBZaTloZUdsdmN5NXFjeUo5IiwiXCJ1c2Ugc3RyaWN0XCI7ZnVuY3Rpb24gQ2FuY2VsKGUpe3RoaXMubWVzc2FnZT1lfUNhbmNlbC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm5cIkNhbmNlbFwiKyh0aGlzLm1lc3NhZ2U/XCI6IFwiK3RoaXMubWVzc2FnZTpcIlwiKX0sQ2FuY2VsLnByb3RvdHlwZS5fX0NBTkNFTF9fPSEwLG1vZHVsZS5leHBvcnRzPUNhbmNlbDtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklrTmhibU5sYkM1cWN5SmRMQ0p1WVcxbGN5STZXeUpEWVc1alpXd2lMQ0p0WlhOellXZGxJaXdpZEdocGN5SXNJbkJ5YjNSdmRIbHdaU0lzSW5SdlUzUnlhVzVuSWl3aVgxOURRVTVEUlV4Zlh5SXNJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMR0ZCVVVFc1UwRkJVMEVzVDBGQlQwTXNSMEZEWkVNc1MwRkJTMFFzVVVGQlZVRXNSVUZIYWtKRUxFOUJRVTlITEZWQlFWVkRMRk5CUVZjc1YwRkRNVUlzVFVGQlR5eFZRVUZaUml4TFFVRkxSQ3hSUVVGVkxFdEJRVTlETEV0QlFVdEVMRkZCUVZVc1MwRkhNVVJFTEU5QlFVOUhMRlZCUVZWRkxGbEJRV0VzUlVGRk9VSkRMRTlCUVU5RExGRkJRVlZRSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwzTjBZV2RwYm1jdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZZWGhwYjNNdmJHbGlMMk5oYm1ObGJDOURZVzVqWld3dWFuTWlmUT09IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIENhbmNlbD1yZXF1aXJlKFwiLi9DYW5jZWxcIik7ZnVuY3Rpb24gQ2FuY2VsVG9rZW4oZSl7aWYoXCJmdW5jdGlvblwiIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKFwiZXhlY3V0b3IgbXVzdCBiZSBhIGZ1bmN0aW9uLlwiKTt2YXIgbjt0aGlzLnByb21pc2U9bmV3IFByb21pc2UoZnVuY3Rpb24oZSl7bj1lfSk7dmFyIG89dGhpcztlKGZ1bmN0aW9uKGUpe28ucmVhc29ufHwoby5yZWFzb249bmV3IENhbmNlbChlKSxuKG8ucmVhc29uKSl9KX1DYW5jZWxUb2tlbi5wcm90b3R5cGUudGhyb3dJZlJlcXVlc3RlZD1mdW5jdGlvbigpe2lmKHRoaXMucmVhc29uKXRocm93IHRoaXMucmVhc29ufSxDYW5jZWxUb2tlbi5zb3VyY2U9ZnVuY3Rpb24oKXt2YXIgZTtyZXR1cm57dG9rZW46bmV3IENhbmNlbFRva2VuKGZ1bmN0aW9uKG4pe2U9bn0pLGNhbmNlbDplfX0sbW9kdWxlLmV4cG9ydHM9Q2FuY2VsVG9rZW47XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJa05oYm1ObGJGUnZhMlZ1TG1weklsMHNJbTVoYldWeklqcGJJa05oYm1ObGJDSXNJbkpsY1hWcGNtVWlMQ0pEWVc1alpXeFViMnRsYmlJc0ltVjRaV04xZEc5eUlpd2lWSGx3WlVWeWNtOXlJaXdpY21WemIyeDJaVkJ5YjIxcGMyVWlMQ0owYUdseklpd2ljSEp2YldselpTSXNJbEJ5YjIxcGMyVWlMQ0p5WlhOdmJIWmxJaXdpZEc5clpXNGlMQ0p0WlhOellXZGxJaXdpY21WaGMyOXVJaXdpY0hKdmRHOTBlWEJsSWl3aWRHaHliM2RKWmxKbGNYVmxjM1JsWkNJc0luTnZkWEpqWlNJc0ltTmhibU5sYkNJc0ltTWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hoUVVWQkxFbEJRVWxCTEU5QlFWTkRMRkZCUVZFc1dVRlJja0lzVTBGQlUwTXNXVUZCV1VNc1IwRkRia0lzUjBGQmQwSXNiVUpCUVdKQkxFVkJRMVFzVFVGQlRTeEpRVUZKUXl4VlFVRlZMR2REUVVkMFFpeEpRVUZKUXl4RlFVTktReXhMUVVGTFF5eFJRVUZWTEVsQlFVbERMRkZCUVZFc1UwRkJlVUpETEVkQlEyeEVTaXhGUVVGcFFra3NTVUZIYmtJc1NVRkJTVU1zUlVGQlVVb3NTMEZEV2tnc1JVRkJVeXhUUVVGblFsRXNSMEZEYmtKRUxFVkJRVTFGTEZOQlMxWkdMRVZCUVUxRkxFOUJRVk1zU1VGQlNWb3NUMEZCVDFjc1IwRkRNVUpPTEVWQlFXVkxMRVZCUVUxRkxGZEJUM3BDVml4WlFVRlpWeXhWUVVGVlF5eHBRa0ZCYlVJc1YwRkRka01zUjBGQlNWSXNTMEZCUzAwc1QwRkRVQ3hOUVVGTlRpeExRVUZMVFN4UlFWRm1WaXhaUVVGWllTeFBRVUZUTEZkQlEyNUNMRWxCUVVsRExFVkJTVW9zVFVGQlR5eERRVU5NVGl4TlFVcFZMRWxCUVVsU0xGbEJRVmtzVTBGQmEwSmxMRWRCUXpWRFJDeEZRVUZUUXl4SlFVbFVSQ3hQUVVGUlFTeEpRVWxhUlN4UFFVRlBReXhSUVVGVmFrSWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YzNSaFoybHVaeTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5aGVHbHZjeTlzYVdJdlkyRnVZMlZzTDBOaGJtTmxiRlJ2YTJWdUxtcHpJbjA9IiwiXCJ1c2Ugc3RyaWN0XCI7bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuISghdHx8IXQuX19DQU5DRUxfXyl9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1selEyRnVZMlZzTG1weklsMHNJbTVoYldWeklqcGJJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0oyWVd4MVpTSXNJbDlmUTBGT1EwVk1YMThpWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTEdGQlJVRkJMRTlCUVU5RExGRkJRVlVzVTBGQmEwSkRMRWRCUTJwRExGTkJRVlZCTEVsQlFWTkJMRVZCUVUxRElpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMM04wWVdkcGJtY3ZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12WVhocGIzTXZiR2xpTDJOaGJtTmxiQzlwYzBOaGJtTmxiQzVxY3lKOSIsIlwidXNlIHN0cmljdFwiO3ZhciB1dGlscz1yZXF1aXJlKFwiLi8uLi91dGlsc1wiKSxidWlsZFVSTD1yZXF1aXJlKFwiLi4vaGVscGVycy9idWlsZFVSTFwiKSxJbnRlcmNlcHRvck1hbmFnZXI9cmVxdWlyZShcIi4vSW50ZXJjZXB0b3JNYW5hZ2VyXCIpLGRpc3BhdGNoUmVxdWVzdD1yZXF1aXJlKFwiLi9kaXNwYXRjaFJlcXVlc3RcIiksbWVyZ2VDb25maWc9cmVxdWlyZShcIi4vbWVyZ2VDb25maWdcIik7ZnVuY3Rpb24gQXhpb3MoZSl7dGhpcy5kZWZhdWx0cz1lLHRoaXMuaW50ZXJjZXB0b3JzPXtyZXF1ZXN0Om5ldyBJbnRlcmNlcHRvck1hbmFnZXIscmVzcG9uc2U6bmV3IEludGVyY2VwdG9yTWFuYWdlcn19QXhpb3MucHJvdG90eXBlLnJlcXVlc3Q9ZnVuY3Rpb24oZSl7XCJzdHJpbmdcIj09dHlwZW9mIGU/KGU9YXJndW1lbnRzWzFdfHx7fSkudXJsPWFyZ3VtZW50c1swXTplPWV8fHt9LChlPW1lcmdlQ29uZmlnKHRoaXMuZGVmYXVsdHMsZSkpLm1ldGhvZD9lLm1ldGhvZD1lLm1ldGhvZC50b0xvd2VyQ2FzZSgpOnRoaXMuZGVmYXVsdHMubWV0aG9kP2UubWV0aG9kPXRoaXMuZGVmYXVsdHMubWV0aG9kLnRvTG93ZXJDYXNlKCk6ZS5tZXRob2Q9XCJnZXRcIjt2YXIgdD1bZGlzcGF0Y2hSZXF1ZXN0LHZvaWQgMF0scj1Qcm9taXNlLnJlc29sdmUoZSk7Zm9yKHRoaXMuaW50ZXJjZXB0b3JzLnJlcXVlc3QuZm9yRWFjaChmdW5jdGlvbihlKXt0LnVuc2hpZnQoZS5mdWxmaWxsZWQsZS5yZWplY3RlZCl9KSx0aGlzLmludGVyY2VwdG9ycy5yZXNwb25zZS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3QucHVzaChlLmZ1bGZpbGxlZCxlLnJlamVjdGVkKX0pO3QubGVuZ3RoOylyPXIudGhlbih0LnNoaWZ0KCksdC5zaGlmdCgpKTtyZXR1cm4gcn0sQXhpb3MucHJvdG90eXBlLmdldFVyaT1mdW5jdGlvbihlKXtyZXR1cm4gZT1tZXJnZUNvbmZpZyh0aGlzLmRlZmF1bHRzLGUpLGJ1aWxkVVJMKGUudXJsLGUucGFyYW1zLGUucGFyYW1zU2VyaWFsaXplcikucmVwbGFjZSgvXlxcPy8sXCJcIil9LHV0aWxzLmZvckVhY2goW1wiZGVsZXRlXCIsXCJnZXRcIixcImhlYWRcIixcIm9wdGlvbnNcIl0sZnVuY3Rpb24oZSl7QXhpb3MucHJvdG90eXBlW2VdPWZ1bmN0aW9uKHQscil7cmV0dXJuIHRoaXMucmVxdWVzdChtZXJnZUNvbmZpZyhyfHx7fSx7bWV0aG9kOmUsdXJsOnQsZGF0YToocnx8e30pLmRhdGF9KSl9fSksdXRpbHMuZm9yRWFjaChbXCJwb3N0XCIsXCJwdXRcIixcInBhdGNoXCJdLGZ1bmN0aW9uKGUpe0F4aW9zLnByb3RvdHlwZVtlXT1mdW5jdGlvbih0LHIsbyl7cmV0dXJuIHRoaXMucmVxdWVzdChtZXJnZUNvbmZpZyhvfHx7fSx7bWV0aG9kOmUsdXJsOnQsZGF0YTpyfSkpfX0pLG1vZHVsZS5leHBvcnRzPUF4aW9zO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWtGNGFXOXpMbXB6SWwwc0ltNWhiV1Z6SWpwYkluVjBhV3h6SWl3aWNtVnhkV2x5WlNJc0ltSjFhV3hrVlZKTUlpd2lTVzUwWlhKalpYQjBiM0pOWVc1aFoyVnlJaXdpWkdsemNHRjBZMmhTWlhGMVpYTjBJaXdpYldWeVoyVkRiMjVtYVdjaUxDSkJlR2x2Y3lJc0ltbHVjM1JoYm1ObFEyOXVabWxuSWl3aWRHaHBjeUlzSW1SbFptRjFiSFJ6SWl3aWFXNTBaWEpqWlhCMGIzSnpJaXdpY21WeGRXVnpkQ0lzSW5KbGMzQnZibk5sSWl3aWNISnZkRzkwZVhCbElpd2lZMjl1Wm1sbklpd2lZWEpuZFcxbGJuUnpJaXdpZFhKc0lpd2liV1YwYUc5a0lpd2lkRzlNYjNkbGNrTmhjMlVpTENKamFHRnBiaUlzSW5WdVpHVm1hVzVsWkNJc0luQnliMjFwYzJVaUxDSlFjbTl0YVhObElpd2ljbVZ6YjJ4MlpTSXNJbVp2Y2tWaFkyZ2lMQ0pwYm5SbGNtTmxjSFJ2Y2lJc0luVnVjMmhwWm5RaUxDSm1kV3htYVd4c1pXUWlMQ0p5WldwbFkzUmxaQ0lzSW5CMWMyZ2lMQ0pzWlc1bmRHZ2lMQ0owYUdWdUlpd2ljMmhwWm5RaUxDSm5aWFJWY21raUxDSndZWEpoYlhNaUxDSndZWEpoYlhOVFpYSnBZV3hwZW1WeUlpd2ljbVZ3YkdGalpTSXNJbVJoZEdFaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25SeklsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeGhRVVZCTEVsQlFVbEJMRTFCUVZGRExGRkJRVkVzWTBGRGFFSkRMRk5CUVZkRUxGRkJRVkVzZFVKQlEyNUNSU3h0UWtGQmNVSkdMRkZCUVZFc2QwSkJRemRDUnl4blFrRkJhMEpJTEZGQlFWRXNjVUpCUXpGQ1NTeFpRVUZqU2l4UlFVRlJMR2xDUVU4eFFpeFRRVUZUU3l4TlFVRk5ReXhIUVVOaVF5eExRVUZMUXl4VFFVRlhSaXhGUVVOb1FrTXNTMEZCUzBVc1lVRkJaU3hEUVVOc1FrTXNVVUZCVXl4SlFVRkpVaXh0UWtGRFlsTXNVMEZCVlN4SlFVRkpWQ3h2UWtGVGJFSkhMRTFCUVUxUExGVkJRVlZHTEZGQlFWVXNVMEZCYVVKSExFZEJSMjVDTEdsQ1FVRllRU3hIUVVOVVFTeEZRVUZUUXl4VlFVRlZMRWxCUVUwc1NVRkRiRUpETEVsQlFVMUVMRlZCUVZVc1IwRkZka0pFTEVWQlFWTkJMRWRCUVZVc1NVRkhja0pCTEVWQlFWTlVMRmxCUVZsSExFdEJRVXRETEZOQlFWVkxMRWxCUjNwQ1J5eFBRVU5VU0N4RlFVRlBSeXhQUVVGVFNDeEZRVUZQUnl4UFFVRlBReXhqUVVOeVFsWXNTMEZCUzBNc1UwRkJVMUVzVDBGRGRrSklMRVZCUVU5SExFOUJRVk5VTEV0QlFVdERMRk5CUVZOUkxFOUJRVTlETEdOQlJYSkRTaXhGUVVGUFJ5eFBRVUZUTEUxQlNXeENMRWxCUVVsRkxFVkJRVkVzUTBGQlEyWXNjVUpCUVdsQ1owSXNSMEZETVVKRExFVkJRVlZETEZGQlFWRkRMRkZCUVZGVUxFZEJWVGxDTEVsQlVrRk9MRXRCUVV0RkxHRkJRV0ZETEZGQlFWRmhMRkZCUVZFc1UwRkJiME5ETEVkQlEzQkZUaXhGUVVGTlR5eFJRVUZSUkN4RlFVRlpSU3hWUVVGWFJpeEZRVUZaUnl4WlFVZHVSSEJDTEV0QlFVdEZMR0ZCUVdGRkxGTkJRVk5aTEZGQlFWRXNVMEZCYTBORExFZEJRMjVGVGl4RlFVRk5WU3hMUVVGTFNpeEZRVUZaUlN4VlFVRlhSaXhGUVVGWlJ5eFpRVWQ2UTFRc1JVRkJUVmNzVVVGRFdGUXNSVUZCVlVFc1JVRkJVVlVzUzBGQlMxb3NSVUZCVFdFc1VVRkJVMklzUlVGQlRXRXNVMEZIT1VNc1QwRkJUMWdzUjBGSFZHWXNUVUZCVFU4c1ZVRkJWVzlDTEU5QlFWTXNVMEZCWjBKdVFpeEhRVVYyUXl4UFFVUkJRU3hGUVVGVFZDeFpRVUZaUnl4TFFVRkxReXhUUVVGVlN5eEhRVU0zUWxvc1UwRkJVMWtzUlVGQlQwVXNTVUZCUzBZc1JVRkJUMjlDTEU5QlFWRndRaXhGUVVGUGNVSXNhMEpCUVd0Q1F5eFJRVUZSTEUxQlFVOHNTMEZKY2tad1F5eE5RVUZOZDBJc1VVRkJVU3hEUVVGRExGTkJRVlVzVFVGQlR5eFBRVUZSTEZkQlFWa3NVMEZCTmtKUUxFZEJSUzlGV0N4TlFVRk5UeXhWUVVGVlNTeEhRVUZWTEZOQlFWTkVMRVZCUVV0R0xFZEJRM1JETEU5QlFVOU9MRXRCUVV0SExGRkJRVkZPTEZsQlFWbFRMRWRCUVZVc1IwRkJTU3hEUVVNMVEwY3NUMEZCVVVFc1JVRkRVa1FzU1VGQlMwRXNSVUZEVEhGQ0xFMUJRVTkyUWl4SFFVRlZMRWxCUVVsMVFpeFhRVXN6UW5KRExFMUJRVTEzUWl4UlFVRlJMRU5CUVVNc1QwRkJVU3hOUVVGUExGTkJRVlVzVTBGQkswSlFMRWRCUlhKRldDeE5RVUZOVHl4VlFVRlZTU3hIUVVGVkxGTkJRVk5FTEVWQlFVdHhRaXhGUVVGTmRrSXNSMEZETlVNc1QwRkJUMDRzUzBGQlMwY3NVVUZCVVU0c1dVRkJXVk1zUjBGQlZTeEhRVUZKTEVOQlF6VkRSeXhQUVVGUlFTeEZRVU5TUkN4SlFVRkxRU3hGUVVOTWNVSXNTMEZCVFVFc1VVRkxXa01zVDBGQlQwTXNVVUZCVldwRElpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMM04wWVdkcGJtY3ZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12WVhocGIzTXZiR2xpTDJOdmNtVXZRWGhwYjNNdWFuTWlmUT09IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIHV0aWxzPXJlcXVpcmUoXCIuLy4uL3V0aWxzXCIpO2Z1bmN0aW9uIEludGVyY2VwdG9yTWFuYWdlcigpe3RoaXMuaGFuZGxlcnM9W119SW50ZXJjZXB0b3JNYW5hZ2VyLnByb3RvdHlwZS51c2U9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5oYW5kbGVycy5wdXNoKHtmdWxmaWxsZWQ6ZSxyZWplY3RlZDp0fSksdGhpcy5oYW5kbGVycy5sZW5ndGgtMX0sSW50ZXJjZXB0b3JNYW5hZ2VyLnByb3RvdHlwZS5lamVjdD1mdW5jdGlvbihlKXt0aGlzLmhhbmRsZXJzW2VdJiYodGhpcy5oYW5kbGVyc1tlXT1udWxsKX0sSW50ZXJjZXB0b3JNYW5hZ2VyLnByb3RvdHlwZS5mb3JFYWNoPWZ1bmN0aW9uKGUpe3V0aWxzLmZvckVhY2godGhpcy5oYW5kbGVycyxmdW5jdGlvbih0KXtudWxsIT09dCYmZSh0KX0pfSxtb2R1bGUuZXhwb3J0cz1JbnRlcmNlcHRvck1hbmFnZXI7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJa2x1ZEdWeVkyVndkRzl5VFdGdVlXZGxjaTVxY3lKZExDSnVZVzFsY3lJNld5SjFkR2xzY3lJc0luSmxjWFZwY21VaUxDSkpiblJsY21ObGNIUnZjazFoYm1GblpYSWlMQ0owYUdseklpd2lhR0Z1Wkd4bGNuTWlMQ0p3Y205MGIzUjVjR1VpTENKMWMyVWlMQ0ptZFd4bWFXeHNaV1FpTENKeVpXcGxZM1JsWkNJc0luQjFjMmdpTENKc1pXNW5kR2dpTENKbGFtVmpkQ0lzSW1sa0lpd2labTl5UldGamFDSXNJbVp1SWl3aWFDSXNJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMR0ZCUlVFc1NVRkJTVUVzVFVGQlVVTXNVVUZCVVN4alFVVndRaXhUUVVGVFF5eHhRa0ZEVUVNc1MwRkJTME1zVTBGQlZ5eEhRVmRzUWtZc2JVSkJRVzFDUnl4VlFVRlZReXhKUVVGTkxGTkJRV0ZETEVWQlFWZERMRWRCUzNwRUxFOUJTa0ZNTEV0QlFVdERMRk5CUVZOTExFdEJRVXNzUTBGRGFrSkdMRlZCUVZkQkxFVkJRMWhETEZOQlFWVkJMRWxCUlV4TUxFdEJRVXRETEZOQlFWTk5MRTlCUVZNc1IwRlJhRU5TTEcxQ1FVRnRRa2NzVlVGQlZVMHNUVUZCVVN4VFFVRmxReXhIUVVNNVExUXNTMEZCUzBNc1UwRkJVMUVzUzBGRGFFSlVMRXRCUVV0RExGTkJRVk5STEVkQlFVMHNUMEZaZUVKV0xHMUNRVUZ0UWtjc1ZVRkJWVkVzVVVGQlZTeFRRVUZwUWtNc1IwRkRkRVJrTEUxQlFVMWhMRkZCUVZGV0xFdEJRVXRETEZOQlFWVXNVMEZCZDBKWExFZEJRM3BETEU5QlFVNUJMRWRCUTBaRUxFVkJRVWRETEUxQlMxUkRMRTlCUVU5RExGRkJRVlZtSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwzTjBZV2RwYm1jdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZZWGhwYjNNdmJHbGlMMk52Y21VdlNXNTBaWEpqWlhCMGIzSk5ZVzVoWjJWeUxtcHpJbjA9IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIGlzQWJzb2x1dGVVUkw9cmVxdWlyZShcIi4uL2hlbHBlcnMvaXNBYnNvbHV0ZVVSTFwiKSxjb21iaW5lVVJMcz1yZXF1aXJlKFwiLi4vaGVscGVycy9jb21iaW5lVVJMc1wiKTttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihlLHMpe3JldHVybiBlJiYhaXNBYnNvbHV0ZVVSTChzKT9jb21iaW5lVVJMcyhlLHMpOnN9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1KMWFXeGtSblZzYkZCaGRHZ3Vhbk1pWFN3aWJtRnRaWE1pT2xzaWFYTkJZbk52YkhWMFpWVlNUQ0lzSW5KbGNYVnBjbVVpTENKamIyMWlhVzVsVlZKTWN5SXNJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0ppWVhObFZWSk1JaXdpY21WeGRXVnpkR1ZrVlZKTUlsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeGhRVVZCTEVsQlFVbEJMR05CUVdkQ1F5eFJRVUZSTERSQ1FVTjRRa01zV1VGQlkwUXNVVUZCVVN3d1FrRlhNVUpGTEU5QlFVOURMRkZCUVZVc1UwRkJkVUpETEVWQlFWTkRMRWRCUXk5RExFOUJRVWxFTEVsQlFWbE1MR05CUVdOTkxFZEJRM0pDU2l4WlFVRlpSeXhGUVVGVFF5eEhRVVYyUWtFaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZjM1JoWjJsdVp5OXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTloZUdsdmN5OXNhV0l2WTI5eVpTOWlkV2xzWkVaMWJHeFFZWFJvTG1wekluMD0iLCJcInVzZSBzdHJpY3RcIjt2YXIgZW5oYW5jZUVycm9yPXJlcXVpcmUoXCIuL2VuaGFuY2VFcnJvclwiKTttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihyLGUsbixvLGEpe3ZhciBjPW5ldyBFcnJvcihyKTtyZXR1cm4gZW5oYW5jZUVycm9yKGMsZSxuLG8sYSl9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1OeVpXRjBaVVZ5Y205eUxtcHpJbDBzSW01aGJXVnpJanBiSW1WdWFHRnVZMlZGY25KdmNpSXNJbkpsY1hWcGNtVWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpYldWemMyRm5aU0lzSW1OdmJtWnBaeUlzSW1OdlpHVWlMQ0p5WlhGMVpYTjBJaXdpY21WemNHOXVjMlVpTENKbGNuSnZjaUlzSWtWeWNtOXlJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hoUVVWQkxFbEJRVWxCTEdGQlFXVkRMRkZCUVZFc2EwSkJXVE5DUXl4UFFVRlBReXhSUVVGVkxGTkJRWEZDUXl4RlFVRlRReXhGUVVGUlF5eEZRVUZOUXl4RlFVRlRReXhIUVVOd1JTeEpRVUZKUXl4RlFVRlJMRWxCUVVsRExFMUJRVTFPTEVkQlEzUkNMRTlCUVU5S0xHRkJRV0ZUTEVWQlFVOUtMRVZCUVZGRExFVkJRVTFETEVWQlFWTkRJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDNOMFlXZHBibWN2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdllYaHBiM012YkdsaUwyTnZjbVV2WTNKbFlYUmxSWEp5YjNJdWFuTWlmUT09IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIHV0aWxzPXJlcXVpcmUoXCIuLy4uL3V0aWxzXCIpLHRyYW5zZm9ybURhdGE9cmVxdWlyZShcIi4vdHJhbnNmb3JtRGF0YVwiKSxpc0NhbmNlbD1yZXF1aXJlKFwiLi4vY2FuY2VsL2lzQ2FuY2VsXCIpLGRlZmF1bHRzPXJlcXVpcmUoXCIuLi9kZWZhdWx0c1wiKTtmdW5jdGlvbiB0aHJvd0lmQ2FuY2VsbGF0aW9uUmVxdWVzdGVkKGUpe2UuY2FuY2VsVG9rZW4mJmUuY2FuY2VsVG9rZW4udGhyb3dJZlJlcXVlc3RlZCgpfW1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3JldHVybiB0aHJvd0lmQ2FuY2VsbGF0aW9uUmVxdWVzdGVkKGUpLGUuaGVhZGVycz1lLmhlYWRlcnN8fHt9LGUuZGF0YT10cmFuc2Zvcm1EYXRhKGUuZGF0YSxlLmhlYWRlcnMsZS50cmFuc2Zvcm1SZXF1ZXN0KSxlLmhlYWRlcnM9dXRpbHMubWVyZ2UoZS5oZWFkZXJzLmNvbW1vbnx8e30sZS5oZWFkZXJzW2UubWV0aG9kXXx8e30sZS5oZWFkZXJzKSx1dGlscy5mb3JFYWNoKFtcImRlbGV0ZVwiLFwiZ2V0XCIsXCJoZWFkXCIsXCJwb3N0XCIsXCJwdXRcIixcInBhdGNoXCIsXCJjb21tb25cIl0sZnVuY3Rpb24oYSl7ZGVsZXRlIGUuaGVhZGVyc1thXX0pLChlLmFkYXB0ZXJ8fGRlZmF1bHRzLmFkYXB0ZXIpKGUpLnRoZW4oZnVuY3Rpb24oYSl7cmV0dXJuIHRocm93SWZDYW5jZWxsYXRpb25SZXF1ZXN0ZWQoZSksYS5kYXRhPXRyYW5zZm9ybURhdGEoYS5kYXRhLGEuaGVhZGVycyxlLnRyYW5zZm9ybVJlc3BvbnNlKSxhfSxmdW5jdGlvbihhKXtyZXR1cm4gaXNDYW5jZWwoYSl8fCh0aHJvd0lmQ2FuY2VsbGF0aW9uUmVxdWVzdGVkKGUpLGEmJmEucmVzcG9uc2UmJihhLnJlc3BvbnNlLmRhdGE9dHJhbnNmb3JtRGF0YShhLnJlc3BvbnNlLmRhdGEsYS5yZXNwb25zZS5oZWFkZXJzLGUudHJhbnNmb3JtUmVzcG9uc2UpKSksUHJvbWlzZS5yZWplY3QoYSl9KX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbVJwYzNCaGRHTm9VbVZ4ZFdWemRDNXFjeUpkTENKdVlXMWxjeUk2V3lKMWRHbHNjeUlzSW5KbGNYVnBjbVVpTENKMGNtRnVjMlp2Y20xRVlYUmhJaXdpYVhORFlXNWpaV3dpTENKa1pXWmhkV3gwY3lJc0luUm9jbTkzU1daRFlXNWpaV3hzWVhScGIyNVNaWEYxWlhOMFpXUWlMQ0pqYjI1bWFXY2lMQ0pqWVc1alpXeFViMnRsYmlJc0luUm9jbTkzU1daU1pYRjFaWE4wWldRaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2lhR1ZoWkdWeWN5SXNJbVJoZEdFaUxDSjBjbUZ1YzJadmNtMVNaWEYxWlhOMElpd2liV1Z5WjJVaUxDSmpiMjF0YjI0aUxDSnRaWFJvYjJRaUxDSm1iM0pGWVdOb0lpd2lZV1JoY0hSbGNpSXNJblJvWlc0aUxDSnlaWE53YjI1elpTSXNJblJ5WVc1elptOXliVkpsYzNCdmJuTmxJaXdpY21WaGMyOXVJaXdpVUhKdmJXbHpaU0lzSW5KbGFtVmpkQ0pkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzWVVGRlFTeEpRVUZKUVN4TlFVRlJReXhSUVVGUkxHTkJRMmhDUXl4alFVRm5Ra1FzVVVGQlVTeHRRa0ZEZUVKRkxGTkJRVmRHTEZGQlFWRXNjMEpCUTI1Q1J5eFRRVUZYU0N4UlFVRlJMR1ZCUzNaQ0xGTkJRVk5KTERaQ1FVRTJRa01zUjBGRGFFTkJMRVZCUVU5RExHRkJRMVJFTEVWQlFVOURMRmxCUVZsRExHMUNRVlYyUWtNc1QwRkJUME1zVVVGQlZTeFRRVUY1UWtvc1IwRTJRbmhETEU5Qk5VSkJSQ3cyUWtGQk5rSkRMRWRCUnpkQ1FTeEZRVUZQU3l4UlFVRlZUQ3hGUVVGUFN5eFRRVUZYTEVkQlIyNURUQ3hGUVVGUFRTeExRVUZQVml4alFVTmFTU3hGUVVGUFRTeExRVU5RVGl4RlFVRlBTeXhSUVVOUVRDeEZRVUZQVHl4clFrRkpWRkFzUlVGQlQwc3NVVUZCVlZnc1RVRkJUV01zVFVGRGNrSlNMRVZCUVU5TExGRkJRVkZKTEZGQlFWVXNSMEZEZWtKVUxFVkJRVTlMTEZGQlFWRk1MRVZCUVU5VkxGTkJRVmNzUjBGRGFrTldMRVZCUVU5TExGTkJSMVJZTEUxQlFVMXBRaXhSUVVOS0xFTkJRVU1zVTBGQlZTeE5RVUZQTEU5QlFWRXNUMEZCVVN4TlFVRlBMRkZCUVZNc1ZVRkRiRVFzVTBGQk1rSkVMRlZCUTJ4Q1ZpeEZRVUZQU3l4UlFVRlJTeXhOUVVsYVZpeEZRVUZQV1N4VFFVRlhaQ3hUUVVGVFl5eFRRVVV4UWxvc1IwRkJVV0VzUzBGQlN5eFRRVUUyUWtNc1IwRlZka1FzVDBGVVFXWXNOa0pCUVRaQ1F5eEhRVWMzUW1Nc1JVRkJVMUlzUzBGQlQxWXNZMEZEWkd0Q0xFVkJRVk5TTEV0QlExUlJMRVZCUVZOVUxGRkJRMVJNTEVWQlFVOWxMRzFDUVVkR1JDeEhRVU5PTEZOQlFUUkNSU3hIUVdNM1FpeFBRV0pMYmtJc1UwRkJVMjFDTEV0QlExcHFRaXcyUWtGQk5rSkRMRWRCUjNwQ1owSXNSMEZCVlVFc1JVRkJUMFlzVjBGRGJrSkZMRVZCUVU5R0xGTkJRVk5TTEV0QlFVOVdMR05CUTNKQ2IwSXNSVUZCVDBZc1UwRkJVMUlzUzBGRGFFSlZMRVZCUVU5R0xGTkJRVk5VTEZGQlEyaENUQ3hGUVVGUFpTeHhRa0ZMVGtVc1VVRkJVVU1zVDBGQlQwWWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YzNSaFoybHVaeTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5aGVHbHZjeTlzYVdJdlkyOXlaUzlrYVhOd1lYUmphRkpsY1hWbGMzUXVhbk1pZlE9PSIsIlwidXNlIHN0cmljdFwiO21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKGUsaSxzLHQsbil7cmV0dXJuIGUuY29uZmlnPWkscyYmKGUuY29kZT1zKSxlLnJlcXVlc3Q9dCxlLnJlc3BvbnNlPW4sZS5pc0F4aW9zRXJyb3I9ITAsZS50b0pTT049ZnVuY3Rpb24oKXtyZXR1cm57bWVzc2FnZTp0aGlzLm1lc3NhZ2UsbmFtZTp0aGlzLm5hbWUsZGVzY3JpcHRpb246dGhpcy5kZXNjcmlwdGlvbixudW1iZXI6dGhpcy5udW1iZXIsZmlsZU5hbWU6dGhpcy5maWxlTmFtZSxsaW5lTnVtYmVyOnRoaXMubGluZU51bWJlcixjb2x1bW5OdW1iZXI6dGhpcy5jb2x1bW5OdW1iZXIsc3RhY2s6dGhpcy5zdGFjayxjb25maWc6dGhpcy5jb25maWcsY29kZTp0aGlzLmNvZGV9fSxlfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltVnVhR0Z1WTJWRmNuSnZjaTVxY3lKZExDSnVZVzFsY3lJNld5SnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2laWEp5YjNJaUxDSmpiMjVtYVdjaUxDSmpiMlJsSWl3aWNtVnhkV1Z6ZENJc0luSmxjM0J2Ym5ObElpd2lhWE5CZUdsdmMwVnljbTl5SWl3aWRHOUtVMDlPSWl3aWJXVnpjMkZuWlNJc0luUm9hWE1pTENKdVlXMWxJaXdpWkdWelkzSnBjSFJwYjI0aUxDSnVkVzFpWlhJaUxDSm1hV3hsVG1GdFpTSXNJbXhwYm1WT2RXMWlaWElpTENKamIyeDFiVzVPZFcxaVpYSWlMQ0p6ZEdGamF5SmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNZVUZaUVVFc1QwRkJUME1zVVVGQlZTeFRRVUZ6UWtNc1JVRkJUME1zUlVGQlVVTXNSVUZCVFVNc1JVRkJVME1zUjBFMFFtNUZMRTlCTTBKQlNpeEZRVUZOUXl4UFFVRlRRU3hGUVVOWVF5eEpRVU5HUml4RlFVRk5SU3hMUVVGUFFTeEhRVWRtUml4RlFVRk5SeXhSUVVGVlFTeEZRVU5vUWtnc1JVRkJUVWtzVTBGQlYwRXNSVUZEYWtKS0xFVkJRVTFMTEdOQlFXVXNSVUZGY2tKTUxFVkJRVTFOTEU5QlFWTXNWMEZEWWl4TlFVRlBMRU5CUlV4RExGRkJRVk5ETEV0QlFVdEVMRkZCUTJSRkxFdEJRVTFFTEV0QlFVdERMRXRCUlZoRExGbEJRV0ZHTEV0QlFVdEZMRmxCUTJ4Q1F5eFBRVUZSU0N4TFFVRkxSeXhQUVVWaVF5eFRRVUZWU2l4TFFVRkxTU3hUUVVObVF5eFhRVUZaVEN4TFFVRkxTeXhYUVVOcVFrTXNZVUZCWTA0c1MwRkJTMDBzWVVGRGJrSkRMRTFCUVU5UUxFdEJRVXRQTEUxQlJWcGtMRTlCUVZGUExFdEJRVXRRTEU5QlEySkRMRXRCUVUxTkxFdEJRVXRPTEU5QlIxSkdJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDNOMFlXZHBibWN2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdllYaHBiM012YkdsaUwyTnZjbVV2Wlc1b1lXNWpaVVZ5Y205eUxtcHpJbjA9IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIHV0aWxzPXJlcXVpcmUoXCIuLi91dGlsc1wiKTttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3Q9dHx8e307dmFyIGk9e30scz1bXCJ1cmxcIixcIm1ldGhvZFwiLFwiZGF0YVwiXSxuPVtcImhlYWRlcnNcIixcImF1dGhcIixcInByb3h5XCIsXCJwYXJhbXNcIl0scj1bXCJiYXNlVVJMXCIsXCJ0cmFuc2Zvcm1SZXF1ZXN0XCIsXCJ0cmFuc2Zvcm1SZXNwb25zZVwiLFwicGFyYW1zU2VyaWFsaXplclwiLFwidGltZW91dFwiLFwidGltZW91dE1lc3NhZ2VcIixcIndpdGhDcmVkZW50aWFsc1wiLFwiYWRhcHRlclwiLFwicmVzcG9uc2VUeXBlXCIsXCJ4c3JmQ29va2llTmFtZVwiLFwieHNyZkhlYWRlck5hbWVcIixcIm9uVXBsb2FkUHJvZ3Jlc3NcIixcIm9uRG93bmxvYWRQcm9ncmVzc1wiLFwiZGVjb21wcmVzc1wiLFwibWF4Q29udGVudExlbmd0aFwiLFwibWF4Qm9keUxlbmd0aFwiLFwibWF4UmVkaXJlY3RzXCIsXCJ0cmFuc3BvcnRcIixcImh0dHBBZ2VudFwiLFwiaHR0cHNBZ2VudFwiLFwiY2FuY2VsVG9rZW5cIixcInNvY2tldFBhdGhcIixcInJlc3BvbnNlRW5jb2RpbmdcIl0sbz1bXCJ2YWxpZGF0ZVN0YXR1c1wiXTtmdW5jdGlvbiBhKGUsdCl7cmV0dXJuIHV0aWxzLmlzUGxhaW5PYmplY3QoZSkmJnV0aWxzLmlzUGxhaW5PYmplY3QodCk/dXRpbHMubWVyZ2UoZSx0KTp1dGlscy5pc1BsYWluT2JqZWN0KHQpP3V0aWxzLm1lcmdlKHt9LHQpOnV0aWxzLmlzQXJyYXkodCk/dC5zbGljZSgpOnR9ZnVuY3Rpb24gdShzKXt1dGlscy5pc1VuZGVmaW5lZCh0W3NdKT91dGlscy5pc1VuZGVmaW5lZChlW3NdKXx8KGlbc109YSh2b2lkIDAsZVtzXSkpOmlbc109YShlW3NdLHRbc10pfXV0aWxzLmZvckVhY2gocyxmdW5jdGlvbihlKXt1dGlscy5pc1VuZGVmaW5lZCh0W2VdKXx8KGlbZV09YSh2b2lkIDAsdFtlXSkpfSksdXRpbHMuZm9yRWFjaChuLHUpLHV0aWxzLmZvckVhY2gocixmdW5jdGlvbihzKXt1dGlscy5pc1VuZGVmaW5lZCh0W3NdKT91dGlscy5pc1VuZGVmaW5lZChlW3NdKXx8KGlbc109YSh2b2lkIDAsZVtzXSkpOmlbc109YSh2b2lkIDAsdFtzXSl9KSx1dGlscy5mb3JFYWNoKG8sZnVuY3Rpb24ocyl7cyBpbiB0P2lbc109YShlW3NdLHRbc10pOnMgaW4gZSYmKGlbc109YSh2b2lkIDAsZVtzXSkpfSk7dmFyIGM9cy5jb25jYXQobikuY29uY2F0KHIpLmNvbmNhdChvKSxsPU9iamVjdC5rZXlzKGUpLmNvbmNhdChPYmplY3Qua2V5cyh0KSkuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybi0xPT09Yy5pbmRleE9mKGUpfSk7cmV0dXJuIHV0aWxzLmZvckVhY2gobCx1KSxpfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltMWxjbWRsUTI5dVptbG5MbXB6SWwwc0ltNWhiV1Z6SWpwYkluVjBhV3h6SWl3aWNtVnhkV2x5WlNJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSmpiMjVtYVdjeElpd2lZMjl1Wm1sbk1pSXNJbU52Ym1acFp5SXNJblpoYkhWbFJuSnZiVU52Ym1acFp6SkxaWGx6SWl3aWJXVnlaMlZFWldWd1VISnZjR1Z5ZEdsbGMwdGxlWE1pTENKa1pXWmhkV3gwVkc5RGIyNW1hV2N5UzJWNWN5SXNJbVJwY21WamRFMWxjbWRsUzJWNWN5SXNJbWRsZEUxbGNtZGxaRlpoYkhWbElpd2lkR0Z5WjJWMElpd2ljMjkxY21ObElpd2lhWE5RYkdGcGJrOWlhbVZqZENJc0ltMWxjbWRsSWl3aWFYTkJjbkpoZVNJc0luTnNhV05sSWl3aWJXVnlaMlZFWldWd1VISnZjR1Z5ZEdsbGN5SXNJbkJ5YjNBaUxDSnBjMVZ1WkdWbWFXNWxaQ0lzSW5WdVpHVm1hVzVsWkNJc0ltWnZja1ZoWTJnaUxDSmhlR2x2YzB0bGVYTWlMQ0pqYjI1allYUWlMQ0p2ZEdobGNrdGxlWE1pTENKUFltcGxZM1FpTENKclpYbHpJaXdpWm1sc2RHVnlJaXdpYTJWNUlpd2lhVzVrWlhoUFppSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNZVUZGUVN4SlFVRkpRU3hOUVVGUlF5eFJRVUZSTEZsQlZYQkNReXhQUVVGUFF5eFJRVUZWTEZOQlFYRkNReXhGUVVGVFF5eEhRVVUzUTBFc1JVRkJWVUVzUjBGQlZ5eEhRVU55UWl4SlFVRkpReXhGUVVGVExFZEJSVlJETEVWQlFYVkNMRU5CUVVNc1RVRkJUeXhUUVVGVkxGRkJRM3BEUXl4RlFVRXdRaXhEUVVGRExGVkJRVmNzVDBGQlVTeFJRVUZUTEZWQlEzWkVReXhGUVVGMVFpeERRVU42UWl4VlFVRlhMRzFDUVVGdlFpeHZRa0ZCY1VJc2JVSkJRM0JFTEZWQlFWY3NhVUpCUVd0Q0xHdENRVUZ0UWl4VlFVRlhMR1ZCUVdkQ0xHbENRVU16UlN4cFFrRkJhMElzYlVKQlFXOUNMSEZDUVVGelFpeGhRVU0xUkN4dFFrRkJiMElzWjBKQlFXbENMR1ZCUVdkQ0xGbEJRV0VzV1VGRGJFVXNZVUZCWXl4alFVRmxMR0ZCUVdNc2IwSkJSWHBEUXl4RlFVRnJRaXhEUVVGRExHdENRVVYyUWl4VFFVRlRReXhGUVVGbFF5eEZRVUZSUXl4SFFVTTVRaXhQUVVGSllpeE5RVUZOWXl4alFVRmpSaXhKUVVGWFdpeE5RVUZOWXl4alFVRmpSQ3hIUVVNNVEySXNUVUZCVFdVc1RVRkJUVWdzUlVGQlVVTXNSMEZEYkVKaUxFMUJRVTFqTEdOQlFXTkVMRWRCUTNSQ1lpeE5RVUZOWlN4TlFVRk5MRWRCUVVsR0xFZEJRMlJpTEUxQlFVMW5RaXhSUVVGUlNDeEhRVU5vUWtFc1JVRkJUMGtzVVVGRlZFb3NSVUZIVkN4VFFVRlRTeXhGUVVGdlFrTXNSMEZEZEVKdVFpeE5RVUZOYjBJc1dVRkJXV1lzUlVGQlVXTXNTVUZGYmtKdVFpeE5RVUZOYjBJc1dVRkJXV2hDTEVWQlFWRmxMRTFCUTNCRFlpeEZRVUZQWVN4SFFVRlJVaXhQUVVGbFZTeEZRVUZYYWtJc1JVRkJVV1VzUzBGR2FrUmlMRVZCUVU5aExFZEJRVkZTTEVWQlFXVlFMRVZCUVZGbExFZEJRVTlrTEVWQlFWRmpMRWxCVFhwRWJrSXNUVUZCVFhOQ0xGRkJRVkZtTEVWQlFYTkNMRk5CUVRCQ1dTeEhRVU4yUkc1Q0xFMUJRVTF2UWl4WlFVRlpaaXhGUVVGUll5eE5RVU0zUW1Jc1JVRkJUMkVzUjBGQlVWSXNUMEZCWlZVc1JVRkJWMmhDTEVWQlFWRmpMRTlCU1hKRWJrSXNUVUZCVFhOQ0xGRkJRVkZrTEVWQlFYbENWU3hIUVVWMlEyeENMRTFCUVUxelFpeFJRVUZSWWl4RlFVRnpRaXhUUVVFd1FsVXNSMEZEZGtSdVFpeE5RVUZOYjBJc1dVRkJXV1lzUlVGQlVXTXNTVUZGYmtKdVFpeE5RVUZOYjBJc1dVRkJXV2hDTEVWQlFWRmxMRTFCUTNCRFlpeEZRVUZQWVN4SFFVRlJVaXhQUVVGbFZTeEZRVUZYYWtJc1JVRkJVV1VzUzBGR2FrUmlMRVZCUVU5aExFZEJRVkZTTEU5QlFXVlZMRVZCUVZkb1FpeEZRVUZSWXl4TlFVMXlSRzVDTEUxQlFVMXpRaXhSUVVGUldpeEZRVUZwUWl4VFFVRmxVeXhIUVVONFEwRXNTMEZCVVdRc1JVRkRWa01zUlVGQlQyRXNSMEZCVVZJc1JVRkJaVkFzUlVGQlVXVXNSMEZCVDJRc1JVRkJVV01zU1VGRE5VTkJMRXRCUVZGbUxFbEJRMnBDUlN4RlFVRlBZU3hIUVVGUlVpeFBRVUZsVlN4RlFVRlhha0lzUlVGQlVXVXNUMEZKY2tRc1NVRkJTVWtzUlVGQldXaENMRVZCUTJKcFFpeFBRVUZQYUVJc1IwRkRVR2RDTEU5QlFVOW1MRWRCUTFCbExFOUJRVTlrTEVkQlJVNWxMRVZCUVZsRExFOUJRMkpETEV0QlFVdDJRaXhIUVVOTWIwSXNUMEZCVDBVc1QwRkJUME1zUzBGQlMzUkNMRWxCUTI1Q2RVSXNUMEZCVHl4VFFVRjVRa01zUjBGREwwSXNUMEZCYlVNc1NVRkJOVUpPTEVWQlFWVlBMRkZCUVZGRUxFdEJTemRDTEU5QlJrRTNRaXhOUVVGTmMwSXNVVUZCVVVjc1JVRkJWMUFzUjBGRmJFSmFJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDNOMFlXZHBibWN2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdllYaHBiM012YkdsaUwyTnZjbVV2YldWeVoyVkRiMjVtYVdjdWFuTWlmUT09IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIGNyZWF0ZUVycm9yPXJlcXVpcmUoXCIuL2NyZWF0ZUVycm9yXCIpO21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKHQscixlKXt2YXIgcz1lLmNvbmZpZy52YWxpZGF0ZVN0YXR1cztlLnN0YXR1cyYmcyYmIXMoZS5zdGF0dXMpP3IoY3JlYXRlRXJyb3IoXCJSZXF1ZXN0IGZhaWxlZCB3aXRoIHN0YXR1cyBjb2RlIFwiK2Uuc3RhdHVzLGUuY29uZmlnLG51bGwsZS5yZXF1ZXN0LGUpKTp0KGUpfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluTmxkSFJzWlM1cWN5SmRMQ0p1WVcxbGN5STZXeUpqY21WaGRHVkZjbkp2Y2lJc0luSmxjWFZwY21VaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2ljbVZ6YjJ4MlpTSXNJbkpsYW1WamRDSXNJbkpsYzNCdmJuTmxJaXdpZG1Gc2FXUmhkR1ZUZEdGMGRYTWlMQ0pqYjI1bWFXY2lMQ0p6ZEdGMGRYTWlMQ0p5WlhGMVpYTjBJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hoUVVWQkxFbEJRVWxCTEZsQlFXTkRMRkZCUVZFc2FVSkJVekZDUXl4UFFVRlBReXhSUVVGVkxGTkJRV2RDUXl4RlFVRlRReXhGUVVGUlF5eEhRVU5vUkN4SlFVRkpReXhGUVVGcFFrUXNSVUZCVTBVc1QwRkJUMFFzWlVGRGFFTkVMRVZCUVZOSExGRkJRVmRHTEVsQlFXdENRU3hGUVVGbFJDeEZRVUZUUnl4UlFVZHFSVW9zUlVGQlQwd3NXVUZEVEN4dFEwRkJjVU5OTEVWQlFWTkhMRTlCUXpsRFNDeEZRVUZUUlN4UFFVTlVMRXRCUTBGR0xFVkJRVk5KTEZGQlExUktMRWxCVUVaR0xFVkJRVkZGSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwzTjBZV2RwYm1jdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZZWGhwYjNNdmJHbGlMMk52Y21VdmMyVjBkR3hsTG1wekluMD0iLCJcInVzZSBzdHJpY3RcIjt2YXIgdXRpbHM9cmVxdWlyZShcIi4vLi4vdXRpbHNcIik7bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24odCx1LHIpe3JldHVybiB1dGlscy5mb3JFYWNoKHIsZnVuY3Rpb24ocil7dD1yKHQsdSl9KSx0fTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluUnlZVzV6Wm05eWJVUmhkR0V1YW5NaVhTd2libUZ0WlhNaU9sc2lkWFJwYkhNaUxDSnlaWEYxYVhKbElpd2liVzlrZFd4bElpd2laWGh3YjNKMGN5SXNJbVJoZEdFaUxDSm9aV0ZrWlhKeklpd2labTV6SWl3aVptOXlSV0ZqYUNJc0ltWnVJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hoUVVWQkxFbEJRVWxCTEUxQlFWRkRMRkZCUVZFc1kwRlZjRUpETEU5QlFVOURMRkZCUVZVc1UwRkJkVUpETEVWQlFVMURMRVZCUVZORExFZEJUWEpFTEU5QlNrRk9MRTFCUVUxUExGRkJRVkZFTEVWQlFVc3NVMEZCYlVKRkxFZEJRM0JEU2l4RlFVRlBTU3hGUVVGSFNpeEZRVUZOUXl4TFFVZFlSQ0lzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5emRHRm5hVzVuTDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwyRjRhVzl6TDJ4cFlpOWpiM0psTDNSeVlXNXpabTl5YlVSaGRHRXVhbk1pZlE9PSIsIlwidXNlIHN0cmljdFwiO3ZhciB1dGlscz1yZXF1aXJlKFwiLi91dGlsc1wiKSxub3JtYWxpemVIZWFkZXJOYW1lPXJlcXVpcmUoXCIuL2hlbHBlcnMvbm9ybWFsaXplSGVhZGVyTmFtZVwiKSxERUZBVUxUX0NPTlRFTlRfVFlQRT17XCJDb250ZW50LVR5cGVcIjpcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZFwifTtmdW5jdGlvbiBzZXRDb250ZW50VHlwZUlmVW5zZXQoZSx0KXshdXRpbHMuaXNVbmRlZmluZWQoZSkmJnV0aWxzLmlzVW5kZWZpbmVkKGVbXCJDb250ZW50LVR5cGVcIl0pJiYoZVtcIkNvbnRlbnQtVHlwZVwiXT10KX1mdW5jdGlvbiBnZXREZWZhdWx0QWRhcHRlcigpe3ZhciBlO3JldHVyblwidW5kZWZpbmVkXCIhPXR5cGVvZiBYTUxIdHRwUmVxdWVzdD9lPXJlcXVpcmUoXCIuL2FkYXB0ZXJzL3hoclwiKTpcInVuZGVmaW5lZFwiIT10eXBlb2YgcHJvY2VzcyYmXCJbb2JqZWN0IHByb2Nlc3NdXCI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocHJvY2VzcykmJihlPXJlcXVpcmUoXCIuL2FkYXB0ZXJzL2h0dHBcIikpLGV9dmFyIGRlZmF1bHRzPXthZGFwdGVyOmdldERlZmF1bHRBZGFwdGVyKCksdHJhbnNmb3JtUmVxdWVzdDpbZnVuY3Rpb24oZSx0KXtyZXR1cm4gbm9ybWFsaXplSGVhZGVyTmFtZSh0LFwiQWNjZXB0XCIpLG5vcm1hbGl6ZUhlYWRlck5hbWUodCxcIkNvbnRlbnQtVHlwZVwiKSx1dGlscy5pc0Zvcm1EYXRhKGUpfHx1dGlscy5pc0FycmF5QnVmZmVyKGUpfHx1dGlscy5pc0J1ZmZlcihlKXx8dXRpbHMuaXNTdHJlYW0oZSl8fHV0aWxzLmlzRmlsZShlKXx8dXRpbHMuaXNCbG9iKGUpP2U6dXRpbHMuaXNBcnJheUJ1ZmZlclZpZXcoZSk/ZS5idWZmZXI6dXRpbHMuaXNVUkxTZWFyY2hQYXJhbXMoZSk/KHNldENvbnRlbnRUeXBlSWZVbnNldCh0LFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLThcIiksZS50b1N0cmluZygpKTp1dGlscy5pc09iamVjdChlKT8oc2V0Q29udGVudFR5cGVJZlVuc2V0KHQsXCJhcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLThcIiksSlNPTi5zdHJpbmdpZnkoZSkpOmV9XSx0cmFuc2Zvcm1SZXNwb25zZTpbZnVuY3Rpb24oZSl7aWYoXCJzdHJpbmdcIj09dHlwZW9mIGUpdHJ5e2U9SlNPTi5wYXJzZShlKX1jYXRjaChlKXt9cmV0dXJuIGV9XSx0aW1lb3V0OjAseHNyZkNvb2tpZU5hbWU6XCJYU1JGLVRPS0VOXCIseHNyZkhlYWRlck5hbWU6XCJYLVhTUkYtVE9LRU5cIixtYXhDb250ZW50TGVuZ3RoOi0xLG1heEJvZHlMZW5ndGg6LTEsdmFsaWRhdGVTdGF0dXM6ZnVuY3Rpb24oZSl7cmV0dXJuIGU+PTIwMCYmZTwzMDB9LGhlYWRlcnM6e2NvbW1vbjp7QWNjZXB0OlwiYXBwbGljYXRpb24vanNvbiwgdGV4dC9wbGFpbiwgKi8qXCJ9fX07dXRpbHMuZm9yRWFjaChbXCJkZWxldGVcIixcImdldFwiLFwiaGVhZFwiXSxmdW5jdGlvbihlKXtkZWZhdWx0cy5oZWFkZXJzW2VdPXt9fSksdXRpbHMuZm9yRWFjaChbXCJwb3N0XCIsXCJwdXRcIixcInBhdGNoXCJdLGZ1bmN0aW9uKGUpe2RlZmF1bHRzLmhlYWRlcnNbZV09dXRpbHMubWVyZ2UoREVGQVVMVF9DT05URU5UX1RZUEUpfSksbW9kdWxlLmV4cG9ydHM9ZGVmYXVsdHM7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbVJsWm1GMWJIUnpMbXB6SWwwc0ltNWhiV1Z6SWpwYkluVjBhV3h6SWl3aWNtVnhkV2x5WlNJc0ltNXZjbTFoYkdsNlpVaGxZV1JsY2s1aGJXVWlMQ0pFUlVaQlZVeFVYME5QVGxSRlRsUmZWRmxRUlNJc0lrTnZiblJsYm5RdFZIbHdaU0lzSW5ObGRFTnZiblJsYm5SVWVYQmxTV1pWYm5ObGRDSXNJbWhsWVdSbGNuTWlMQ0oyWVd4MVpTSXNJbWx6Vlc1a1pXWnBibVZrSWl3aVoyVjBSR1ZtWVhWc2RFRmtZWEIwWlhJaUxDSmhaR0Z3ZEdWeUlpd2lXRTFNU0hSMGNGSmxjWFZsYzNRaUxDSndjbTlqWlhOeklpd2lUMkpxWldOMElpd2ljSEp2ZEc5MGVYQmxJaXdpZEc5VGRISnBibWNpTENKallXeHNJaXdpWkdWbVlYVnNkSE1pTENKMGNtRnVjMlp2Y20xU1pYRjFaWE4wSWl3aVpHRjBZU0lzSW1selJtOXliVVJoZEdFaUxDSnBjMEZ5Y21GNVFuVm1abVZ5SWl3aWFYTkNkV1ptWlhJaUxDSnBjMU4wY21WaGJTSXNJbWx6Um1sc1pTSXNJbWx6UW14dllpSXNJbWx6UVhKeVlYbENkV1ptWlhKV2FXVjNJaXdpWW5WbVptVnlJaXdpYVhOVlVreFRaV0Z5WTJoUVlYSmhiWE1pTENKcGMwOWlhbVZqZENJc0lrcFRUMDRpTENKemRISnBibWRwWm5raUxDSjBjbUZ1YzJadmNtMVNaWE53YjI1elpTSXNJbkJoY25ObElpd2laU0lzSW5ScGJXVnZkWFFpTENKNGMzSm1RMjl2YTJsbFRtRnRaU0lzSW5oemNtWklaV0ZrWlhKT1lXMWxJaXdpYldGNFEyOXVkR1Z1ZEV4bGJtZDBhQ0lzSW0xaGVFSnZaSGxNWlc1bmRHZ2lMQ0oyWVd4cFpHRjBaVk4wWVhSMWN5SXNJbk4wWVhSMWN5SXNJbU52YlcxdmJpSXNJa0ZqWTJWd2RDSXNJbVp2Y2tWaFkyZ2lMQ0p0WlhSb2IyUWlMQ0p0WlhKblpTSXNJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMR0ZCUlVFc1NVRkJTVUVzVFVGQlVVTXNVVUZCVVN4WFFVTm9Ra01zYjBKQlFYTkNSQ3hSUVVGUkxHbERRVVU1UWtVc2NVSkJRWFZDTEVOQlEzcENReXhsUVVGblFpeHhRMEZIYkVJc1UwRkJVME1zYzBKQlFYTkNReXhGUVVGVFF5eEpRVU5xUTFBc1RVRkJUVkVzV1VGQldVWXNTVUZCV1U0c1RVRkJUVkVzV1VGQldVWXNSVUZCVVN4dFFrRkRNMFJCTEVWQlFWRXNaMEpCUVd0Q1F5eEhRVWs1UWl4VFFVRlRSU3h2UWtGRFVDeEpRVUZKUXl4RlFWRktMRTFCVURoQ0xHOUNRVUZ1UWtNc1pVRkZWRVFzUlVGQlZWUXNVVUZCVVN4clFrRkRWU3h2UWtGQldsY3NVMEZCZFVVc2NVSkJRVFZEUXl4UFFVRlBReXhWUVVGVlF5eFRRVUZUUXl4TFFVRkxTaXhYUVVVeFJVWXNSVUZCVlZRc1VVRkJVU3h2UWtGRllsTXNSVUZIVkN4SlFVRkpUeXhUUVVGWExFTkJRMkpRTEZGQlFWTkVMRzlDUVVWVVV5eHBRa0ZCYTBJc1EwRkJReXhUUVVFd1FrTXNSVUZCVFdJc1IwRkhha1FzVDBGR1FVb3NiMEpCUVc5Q1NTeEZRVUZUTEZWQlF6ZENTaXh2UWtGQmIwSkpMRVZCUVZNc1owSkJRM3BDVGl4TlFVRk5iMElzVjBGQlYwUXNTVUZEYmtKdVFpeE5RVUZOY1VJc1kwRkJZMFlzU1VGRGNFSnVRaXhOUVVGTmMwSXNVMEZCVTBnc1NVRkRabTVDTEUxQlFVMTFRaXhUUVVGVFNpeEpRVU5tYmtJc1RVRkJUWGRDTEU5QlFVOU1MRWxCUTJKdVFpeE5RVUZOZVVJc1QwRkJUMDRzUjBGRlRrRXNSVUZGVEc1Q0xFMUJRVTB3UWl4clFrRkJhMEpRTEVkQlEyNUNRU3hGUVVGTFVTeFBRVVZXTTBJc1RVRkJUVFJDTEd0Q1FVRnJRbFFzU1VGRE1VSmtMSE5DUVVGelFrTXNSVUZCVXl4dFJFRkRlRUpoTEVWQlFVdEtMRmxCUlZabUxFMUJRVTAyUWl4VFFVRlRWaXhKUVVOcVFtUXNjMEpCUVhOQ1F5eEZRVUZUTEd0RFFVTjRRbmRDTEV0QlFVdERMRlZCUVZWYUxFbEJSV3BDUVN4SlFVZFVZU3hyUWtGQmJVSXNRMEZCUXl4VFFVRXlRbUlzUjBGRk4wTXNSMEZCYjBJc2FVSkJRVlJCTEVWQlExUXNTVUZEUlVFc1JVRkJUMWNzUzBGQlMwY3NUVUZCVFdRc1IwRkRiRUlzVFVGQlQyVXNTVUZGV0N4UFFVRlBaaXhKUVU5VVowSXNVVUZCVXl4RlFVVlVReXhsUVVGblFpeGhRVU5vUWtNc1pVRkJaMElzWlVGRmFFSkRMR3RDUVVGdFFpeEZRVU51UWtNc1pVRkJaMElzUlVGRmFFSkRMR1ZCUVdkQ0xGTkJRWGRDUXl4SFFVTjBReXhQUVVGUFFTeEhRVUZWTEV0QlFVOUJMRVZCUVZNc1MwRkpja051UXl4UlFVRnRRaXhEUVVOcVFtOURMRTlCUVZFc1EwRkRUa01zVDBGQlZTeDFRMEZKWkRORExFMUJRVTAwUXl4UlFVRlJMRU5CUVVNc1UwRkJWU3hOUVVGUExGRkJRVk1zVTBGQk5rSkRMRWRCUTNCRk5VSXNVMEZCVTFnc1VVRkJVWFZETEVkQlFWVXNTMEZITjBJM1F5eE5RVUZOTkVNc1VVRkJVU3hEUVVGRExFOUJRVkVzVFVGQlR5eFRRVUZWTEZOQlFTdENReXhIUVVOeVJUVkNMRk5CUVZOWUxGRkJRVkYxUXl4SFFVRlZOME1zVFVGQlRUaERMRTFCUVUwelF5eDNRa0ZIZWtNMFF5eFBRVUZQUXl4UlFVRlZMMElpTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmMzUmhaMmx1Wnk5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OWhlR2x2Y3k5c2FXSXZaR1ZtWVhWc2RITXVhbk1pZlE9PSIsIlwidXNlIHN0cmljdFwiO21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKHIsbil7cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciB0PW5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoKSxlPTA7ZTx0Lmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07cmV0dXJuIHIuYXBwbHkobix0KX19O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1KcGJtUXVhbk1pWFN3aWJtRnRaWE1pT2xzaWJXOWtkV3hsSWl3aVpYaHdiM0owY3lJc0ltWnVJaXdpZEdocGMwRnlaeUlzSW1GeVozTWlMQ0pCY25KaGVTSXNJbUZ5WjNWdFpXNTBjeUlzSW14bGJtZDBhQ0lzSW1raUxDSmhjSEJzZVNKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc1lVRkZRVUVzVDBGQlQwTXNVVUZCVlN4VFFVRmpReXhGUVVGSlF5eEhRVU5xUXl4UFFVRlBMRmRCUlV3c1NVRkVRU3hKUVVGSlF5eEZRVUZQTEVsQlFVbERMRTFCUVUxRExGVkJRVlZETEZGQlEzUkNReXhGUVVGSkxFVkJRVWRCTEVWQlFVbEtMRVZCUVV0SExFOUJRVkZETEVsQlF5OUNTaXhGUVVGTFNTeEhRVUZMUml4VlFVRlZSU3hIUVVWMFFpeFBRVUZQVGl4RlFVRkhUeXhOUVVGTlRpeEZRVUZUUXlJc0ltWnBiR1VpT2lJdmFHOXRaUzk2YVc1dkwzQnliMnBsWTNSekwzTmxZWFJ0WVhCMk1pOXpkR0ZuYVc1bkwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMMkY0YVc5ekwyeHBZaTlvWld4d1pYSnpMMkpwYm1RdWFuTWlmUT09IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIHV0aWxzPXJlcXVpcmUoXCIuLy4uL3V0aWxzXCIpO2Z1bmN0aW9uIGVuY29kZShlKXtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KGUpLnJlcGxhY2UoLyUzQS9naSxcIjpcIikucmVwbGFjZSgvJTI0L2csXCIkXCIpLnJlcGxhY2UoLyUyQy9naSxcIixcIikucmVwbGFjZSgvJTIwL2csXCIrXCIpLnJlcGxhY2UoLyU1Qi9naSxcIltcIikucmVwbGFjZSgvJTVEL2dpLFwiXVwiKX1tb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihlLGkscil7aWYoIWkpcmV0dXJuIGU7dmFyIHQ7aWYocil0PXIoaSk7ZWxzZSBpZih1dGlscy5pc1VSTFNlYXJjaFBhcmFtcyhpKSl0PWkudG9TdHJpbmcoKTtlbHNle3ZhciBuPVtdO3V0aWxzLmZvckVhY2goaSxmdW5jdGlvbihlLGkpe251bGwhPWUmJih1dGlscy5pc0FycmF5KGUpP2krPVwiW11cIjplPVtlXSx1dGlscy5mb3JFYWNoKGUsZnVuY3Rpb24oZSl7dXRpbHMuaXNEYXRlKGUpP2U9ZS50b0lTT1N0cmluZygpOnV0aWxzLmlzT2JqZWN0KGUpJiYoZT1KU09OLnN0cmluZ2lmeShlKSksbi5wdXNoKGVuY29kZShpKStcIj1cIitlbmNvZGUoZSkpfSkpfSksdD1uLmpvaW4oXCImXCIpfWlmKHQpe3ZhciBzPWUuaW5kZXhPZihcIiNcIik7LTEhPT1zJiYoZT1lLnNsaWNlKDAscykpLGUrPSgtMT09PWUuaW5kZXhPZihcIj9cIik/XCI/XCI6XCImXCIpK3R9cmV0dXJuIGV9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1KMWFXeGtWVkpNTG1weklsMHNJbTVoYldWeklqcGJJblYwYVd4eklpd2ljbVZ4ZFdseVpTSXNJbVZ1WTI5a1pTSXNJblpoYkNJc0ltVnVZMjlrWlZWU1NVTnZiWEJ2Ym1WdWRDSXNJbkpsY0d4aFkyVWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpZFhKc0lpd2ljR0Z5WVcxeklpd2ljR0Z5WVcxelUyVnlhV0ZzYVhwbGNpSXNJbk5sY21saGJHbDZaV1JRWVhKaGJYTWlMQ0pwYzFWU1RGTmxZWEpqYUZCaGNtRnRjeUlzSW5SdlUzUnlhVzVuSWl3aWNHRnlkSE1pTENKbWIzSkZZV05vSWl3aWEyVjVJaXdpYVhOQmNuSmhlU0lzSW5ZaUxDSnBjMFJoZEdVaUxDSjBiMGxUVDFOMGNtbHVaeUlzSW1selQySnFaV04wSWl3aVNsTlBUaUlzSW5OMGNtbHVaMmxtZVNJc0luQjFjMmdpTENKcWIybHVJaXdpYUdGemFHMWhjbXRKYm1SbGVDSXNJbWx1WkdWNFQyWWlMQ0p6YkdsalpTSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNZVUZGUVN4SlFVRkpRU3hOUVVGUlF5eFJRVUZSTEdOQlJYQkNMRk5CUVZORExFOUJRVTlETEVkQlEyUXNUMEZCVDBNc2JVSkJRVzFDUkN4SFFVTjRRa1VzVVVGQlVTeFJRVUZUTEV0QlEycENRU3hSUVVGUkxFOUJRVkVzUzBGRGFFSkJMRkZCUVZFc1VVRkJVeXhMUVVOcVFrRXNVVUZCVVN4UFFVRlJMRXRCUTJoQ1FTeFJRVUZSTEZGQlFWTXNTMEZEYWtKQkxGRkJRVkVzVVVGQlV5eExRVlZ5UWtNc1QwRkJUME1zVVVGQlZTeFRRVUZyUWtNc1JVRkJTME1zUlVGQlVVTXNSMEZGT1VNc1NVRkJTMFFzUlVGRFNDeFBRVUZQUkN4RlFVZFVMRWxCUVVsSExFVkJRMG9zUjBGQlNVUXNSVUZEUmtNc1JVRkJiVUpFTEVWQlFXbENSQ3hSUVVNdlFpeEhRVUZKVkN4TlFVRk5XU3hyUWtGQmEwSklMRWRCUTJwRFJTeEZRVUZ0UWtZc1JVRkJUMGtzWlVGRGNrSXNRMEZEVEN4SlFVRkpReXhGUVVGUkxFZEJSVnBrTEUxQlFVMWxMRkZCUVZGT0xFVkJRVkVzVTBGQmJVSk9MRVZCUVV0aExFZEJRM2hEWWl4TlFVRkJRU3hKUVVsQlNDeE5RVUZOYVVJc1VVRkJVV1FzUjBGRGFFSmhMRWRCUVZrc1MwRkZXbUlzUlVGQlRTeERRVUZEUVN4SFFVZFVTQ3hOUVVGTlpTeFJRVUZSV2l4RlFVRkxMRk5CUVc5Q1pTeEhRVU5xUTJ4Q0xFMUJRVTF0UWl4UFFVRlBSQ3hIUVVObVFTeEZRVUZKUVN4RlFVRkZSU3hqUVVOSGNFSXNUVUZCVFhGQ0xGTkJRVk5JTEV0QlEzaENRU3hGUVVGSlNTeExRVUZMUXl4VlFVRlZUQ3hKUVVWeVFrb3NSVUZCVFZVc1MwRkJTM1JDTEU5QlFVOWpMRWRCUVU4c1NVRkJUV1FzVDBGQlQyZENMRk5CU1RGRFVDeEZRVUZ0UWtjc1JVRkJUVmNzUzBGQlN5eExRVWRvUXl4SFFVRkpaQ3hGUVVGclFpeERRVU53UWl4SlFVRkpaU3hGUVVGblFteENMRVZCUVVsdFFpeFJRVUZSTEUxQlExUXNTVUZCYmtKRUxFbEJRMFpzUWl4RlFVRk5RU3hGUVVGSmIwSXNUVUZCVFN4RlFVRkhSaXhKUVVkeVFteENMRXRCUVRoQ0xFbEJRWFJDUVN4RlFVRkpiVUlzVVVGQlVTeExRVUZqTEVsQlFVMHNTMEZCVDJoQ0xFVkJSMnBFTEU5QlFVOUlJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDNOMFlXZHBibWN2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdllYaHBiM012YkdsaUwyaGxiSEJsY25NdlluVnBiR1JWVWt3dWFuTWlmUT09IiwiXCJ1c2Ugc3RyaWN0XCI7bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oZSxyKXtyZXR1cm4gcj9lLnJlcGxhY2UoL1xcLyskLyxcIlwiKStcIi9cIityLnJlcGxhY2UoL15cXC8rLyxcIlwiKTplfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltTnZiV0pwYm1WVlVreHpMbXB6SWwwc0ltNWhiV1Z6SWpwYkltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSmlZWE5sVlZKTUlpd2ljbVZzWVhScGRtVlZVa3dpTENKeVpYQnNZV05sSWwwc0ltMWhjSEJwYm1keklqb2lRVUZCUVN4aFFWTkJRU3hQUVVGUFF5eFJRVUZWTEZOQlFYRkNReXhGUVVGVFF5eEhRVU0zUXl4UFFVRlBRU3hGUVVOSVJDeEZRVUZSUlN4UlFVRlJMRTlCUVZFc1NVRkJUU3hKUVVGTlJDeEZRVUZaUXl4UlFVRlJMRTlCUVZFc1NVRkRhRVZHSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwzTjBZV2RwYm1jdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZZWGhwYjNNdmJHbGlMMmhsYkhCbGNuTXZZMjl0WW1sdVpWVlNUSE11YW5NaWZRPT0iLCJcInVzZSBzdHJpY3RcIjt2YXIgdXRpbHM9cmVxdWlyZShcIi4vLi4vdXRpbHNcIik7bW9kdWxlLmV4cG9ydHM9dXRpbHMuaXNTdGFuZGFyZEJyb3dzZXJFbnYoKT97d3JpdGU6ZnVuY3Rpb24oZSx0LG4saSx1LG8pe3ZhciByPVtdO3IucHVzaChlK1wiPVwiK2VuY29kZVVSSUNvbXBvbmVudCh0KSksdXRpbHMuaXNOdW1iZXIobikmJnIucHVzaChcImV4cGlyZXM9XCIrbmV3IERhdGUobikudG9HTVRTdHJpbmcoKSksdXRpbHMuaXNTdHJpbmcoaSkmJnIucHVzaChcInBhdGg9XCIraSksdXRpbHMuaXNTdHJpbmcodSkmJnIucHVzaChcImRvbWFpbj1cIit1KSwhMD09PW8mJnIucHVzaChcInNlY3VyZVwiKSxkb2N1bWVudC5jb29raWU9ci5qb2luKFwiOyBcIil9LHJlYWQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZG9jdW1lbnQuY29va2llLm1hdGNoKG5ldyBSZWdFeHAoXCIoXnw7XFxcXHMqKShcIitlK1wiKT0oW147XSopXCIpKTtyZXR1cm4gdD9kZWNvZGVVUklDb21wb25lbnQodFszXSk6bnVsbH0scmVtb3ZlOmZ1bmN0aW9uKGUpe3RoaXMud3JpdGUoZSxcIlwiLERhdGUubm93KCktODY0ZTUpfX06e3dyaXRlOmZ1bmN0aW9uKCl7fSxyZWFkOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9LHJlbW92ZTpmdW5jdGlvbigpe319O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1OdmIydHBaWE11YW5NaVhTd2libUZ0WlhNaU9sc2lkWFJwYkhNaUxDSnlaWEYxYVhKbElpd2liVzlrZFd4bElpd2laWGh3YjNKMGN5SXNJbWx6VTNSaGJtUmhjbVJDY205M2MyVnlSVzUySWl3aWQzSnBkR1VpTENKdVlXMWxJaXdpZG1Gc2RXVWlMQ0psZUhCcGNtVnpJaXdpY0dGMGFDSXNJbVJ2YldGcGJpSXNJbk5sWTNWeVpTSXNJbU52YjJ0cFpTSXNJbkIxYzJnaUxDSmxibU52WkdWVlVrbERiMjF3YjI1bGJuUWlMQ0pwYzA1MWJXSmxjaUlzSWtSaGRHVWlMQ0owYjBkTlZGTjBjbWx1WnlJc0ltbHpVM1J5YVc1bklpd2laRzlqZFcxbGJuUWlMQ0pxYjJsdUlpd2ljbVZoWkNJc0ltMWhkR05vSWl3aVVtVm5SWGh3SWl3aVpHVmpiMlJsVlZKSlEyOXRjRzl1Wlc1MElpd2ljbVZ0YjNabElpd2lkR2hwY3lJc0ltNXZkeUpkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzWVVGRlFTeEpRVUZKUVN4TlFVRlJReXhSUVVGUkxHTkJSWEJDUXl4UFFVRlBReXhSUVVOTVNDeE5RVUZOU1N4MVFrRkpTeXhEUVVOTVF5eE5RVUZQTEZOQlFXVkRMRVZCUVUxRExFVkJRVTlETEVWQlFWTkRMRVZCUVUxRExFVkJRVkZETEVkQlEzaEVMRWxCUVVsRExFVkJRVk1zUjBGRFlrRXNSVUZCVDBNc1MwRkJTMUFzUlVGQlR5eEpRVUZOVVN4dFFrRkJiVUpRTEVsQlJYaERVQ3hOUVVGTlpTeFRRVUZUVUN4SlFVTnFRa2tzUlVGQlQwTXNTMEZCU3l4WFFVRmhMRWxCUVVsSExFdEJRVXRTTEVkQlFWTlRMR1ZCUjNwRGFrSXNUVUZCVFd0Q0xGTkJRVk5VTEVsQlEycENSeXhGUVVGUFF5eExRVUZMTEZGQlFWVktMRWRCUjNCQ1ZDeE5RVUZOYTBJc1UwRkJVMUlzU1VGRGFrSkZMRVZCUVU5RExFdEJRVXNzVlVGQldVZ3NTVUZIV0N4SlFVRllReXhIUVVOR1F5eEZRVUZQUXl4TFFVRkxMRlZCUjJSTkxGTkJRVk5RTEU5QlFWTkJMRVZCUVU5UkxFdEJRVXNzVDBGSGFFTkRMRXRCUVUwc1UwRkJZMllzUjBGRGJFSXNTVUZCU1dkQ0xFVkJRVkZJTEZOQlFWTlFMRTlCUVU5VkxFMUJRVTBzU1VGQlNVTXNUMEZCVHl4aFFVRmxha0lzUlVGQlR5eGpRVU51UlN4UFFVRlJaMElzUlVGQlVVVXNiVUpCUVcxQ1JpeEZRVUZOTEVsQlFVMHNUVUZIYWtSSExFOUJRVkVzVTBGQlowSnVRaXhIUVVOMFFtOUNMRXRCUVV0eVFpeE5RVUZOUXl4RlFVRk5MRWRCUVVsVkxFdEJRVXRYTEUxQlFWRXNVMEZQTDBJc1EwRkRUSFJDTEUxQlFVOHNZVUZEVUdkQ0xFdEJRVTBzVjBGQmEwSXNUMEZCVHl4TlFVTXZRa2tzVDBGQlVTSXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl6ZEdGbmFXNW5MM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDJGNGFXOXpMMnhwWWk5b1pXeHdaWEp6TDJOdmIydHBaWE11YW5NaWZRPT0iLCJcInVzZSBzdHJpY3RcIjttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4vXihbYS16XVthLXpcXGRcXCtcXC1cXC5dKjopP1xcL1xcLy9pLnRlc3QodCl9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1selFXSnpiMngxZEdWVlVrd3Vhbk1pWFN3aWJtRnRaWE1pT2xzaWJXOWtkV3hsSWl3aVpYaHdiM0owY3lJc0luVnliQ0lzSW5SbGMzUWlYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMR0ZCVVVGQkxFOUJRVTlETEZGQlFWVXNVMEZCZFVKRExFZEJTWFJETEUxQlFVOHNaME5CUVdkRFF5eExRVUZMUkNJc0ltWnBiR1VpT2lJdmFHOXRaUzk2YVc1dkwzQnliMnBsWTNSekwzTmxZWFJ0WVhCMk1pOXpkR0ZuYVc1bkwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMMkY0YVc5ekwyeHBZaTlvWld4d1pYSnpMMmx6UVdKemIyeDFkR1ZWVWt3dWFuTWlmUT09IiwiXCJ1c2Ugc3RyaWN0XCI7bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24obyl7cmV0dXJuXCJvYmplY3RcIj09dHlwZW9mIG8mJiEwPT09by5pc0F4aW9zRXJyb3J9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1selFYaHBiM05GY25KdmNpNXFjeUpkTENKdVlXMWxjeUk2V3lKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aWNHRjViRzloWkNJc0ltbHpRWGhwYjNORmNuSnZjaUpkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzWVVGUlFVRXNUMEZCVDBNc1VVRkJWU3hUUVVGelFrTXNSMEZEY2tNc1RVRkJNa0lzYVVKQlFWcEJMRWxCUVcxRUxFbEJRWHBDUVN4RlFVRlJReUlzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5emRHRm5hVzVuTDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwyRjRhVzl6TDJ4cFlpOW9aV3h3WlhKekwybHpRWGhwYjNORmNuSnZjaTVxY3lKOSIsIlwidXNlIHN0cmljdFwiO3ZhciB1dGlscz1yZXF1aXJlKFwiLi8uLi91dGlsc1wiKTttb2R1bGUuZXhwb3J0cz11dGlscy5pc1N0YW5kYXJkQnJvd3NlckVudigpP2Z1bmN0aW9uKCl7dmFyIHQscj0vKG1zaWV8dHJpZGVudCkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImFcIik7ZnVuY3Rpb24gbyh0KXt2YXIgbz10O3JldHVybiByJiYoZS5zZXRBdHRyaWJ1dGUoXCJocmVmXCIsbyksbz1lLmhyZWYpLGUuc2V0QXR0cmlidXRlKFwiaHJlZlwiLG8pLHtocmVmOmUuaHJlZixwcm90b2NvbDplLnByb3RvY29sP2UucHJvdG9jb2wucmVwbGFjZSgvOiQvLFwiXCIpOlwiXCIsaG9zdDplLmhvc3Qsc2VhcmNoOmUuc2VhcmNoP2Uuc2VhcmNoLnJlcGxhY2UoL15cXD8vLFwiXCIpOlwiXCIsaGFzaDplLmhhc2g/ZS5oYXNoLnJlcGxhY2UoL14jLyxcIlwiKTpcIlwiLGhvc3RuYW1lOmUuaG9zdG5hbWUscG9ydDplLnBvcnQscGF0aG5hbWU6XCIvXCI9PT1lLnBhdGhuYW1lLmNoYXJBdCgwKT9lLnBhdGhuYW1lOlwiL1wiK2UucGF0aG5hbWV9fXJldHVybiB0PW8od2luZG93LmxvY2F0aW9uLmhyZWYpLGZ1bmN0aW9uKHIpe3ZhciBlPXV0aWxzLmlzU3RyaW5nKHIpP28ocik6cjtyZXR1cm4gZS5wcm90b2NvbD09PXQucHJvdG9jb2wmJmUuaG9zdD09PXQuaG9zdH19KCk6ZnVuY3Rpb24oKXtyZXR1cm4hMH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbWx6VlZKTVUyRnRaVTl5YVdkcGJpNXFjeUpkTENKdVlXMWxjeUk2V3lKMWRHbHNjeUlzSW5KbGNYVnBjbVVpTENKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aWFYTlRkR0Z1WkdGeVpFSnliM2R6WlhKRmJuWWlMQ0p2Y21sbmFXNVZVa3dpTENKdGMybGxJaXdpZEdWemRDSXNJbTVoZG1sbllYUnZjaUlzSW5WelpYSkJaMlZ1ZENJc0luVnliRkJoY25OcGJtZE9iMlJsSWl3aVpHOWpkVzFsYm5RaUxDSmpjbVZoZEdWRmJHVnRaVzUwSWl3aWNtVnpiMngyWlZWU1RDSXNJblZ5YkNJc0ltaHlaV1lpTENKelpYUkJkSFJ5YVdKMWRHVWlMQ0p3Y205MGIyTnZiQ0lzSW5KbGNHeGhZMlVpTENKb2IzTjBJaXdpYzJWaGNtTm9JaXdpYUdGemFDSXNJbWh2YzNSdVlXMWxJaXdpY0c5eWRDSXNJbkJoZEdodVlXMWxJaXdpWTJoaGNrRjBJaXdpZDJsdVpHOTNJaXdpYkc5allYUnBiMjRpTENKeVpYRjFaWE4wVlZKTUlpd2ljR0Z5YzJWa0lpd2lhWE5UZEhKcGJtY2lYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMR0ZCUlVFc1NVRkJTVUVzVFVGQlVVTXNVVUZCVVN4alFVVndRa01zVDBGQlQwTXNVVUZEVEVnc1RVRkJUVWtzZFVKQlNVb3NWMEZEUlN4SlFVVkpReXhGUVVaQlF5eEZRVUZQTEd0Q1FVRnJRa01zUzBGQlMwTXNWVUZCVlVNc1YwRkRlRU5ETEVWQlFXbENReXhUUVVGVFF5eGpRVUZqTEV0QlV6VkRMRk5CUVZORExFVkJRVmRETEVkQlEyeENMRWxCUVVsRExFVkJRVTlFTEVWQlYxZ3NUMEZVU1ZJc1NVRkZSa2tzUlVGQlpVMHNZVUZCWVN4UFFVRlJSQ3hIUVVOd1EwRXNSVUZCVDB3c1JVRkJaVXNzVFVGSGVFSk1MRVZCUVdWTkxHRkJRV0VzVDBGQlVVUXNSMEZITjBJc1EwRkRURUVzUzBGQlRVd3NSVUZCWlVzc1MwRkRja0pGTEZOQlFWVlFMRVZCUVdWUExGTkJRVmRRTEVWQlFXVlBMRk5CUVZORExGRkJRVkVzUzBGQlRTeEpRVUZOTEVkQlEyaEdReXhMUVVGTlZDeEZRVUZsVXl4TFFVTnlRa01zVDBGQlVWWXNSVUZCWlZVc1QwRkJVMVlzUlVGQlpWVXNUMEZCVDBZc1VVRkJVU3hOUVVGUExFbEJRVTBzUjBGRE0wVkhMRXRCUVUxWUxFVkJRV1ZYTEV0QlFVOVlMRVZCUVdWWExFdEJRVXRJTEZGQlFWRXNTMEZCVFN4SlFVRk5MRWRCUTNCRlNTeFRRVUZWV2l4RlFVRmxXU3hUUVVONlFrTXNTMEZCVFdJc1JVRkJaV0VzUzBGRGNrSkRMRk5CUVdsRUxFMUJRWFJEWkN4RlFVRmxZeXhUUVVGVFF5eFBRVUZQTEVkQlEzaERaaXhGUVVGbFl5eFRRVU5tTEVsQlFVMWtMRVZCUVdWakxGVkJXVE5DTEU5QlVrRnVRaXhGUVVGWlVTeEZRVUZYWVN4UFFVRlBReXhUUVVGVFdpeE5RVkZvUXl4VFFVRjVRbUVzUjBGRE9VSXNTVUZCU1VNc1JVRkJWVGRDTEUxQlFVMDRRaXhUUVVGVFJpeEhRVUZsWml4RlFVRlhaU3hIUVVGalFTeEZRVU55UlN4UFFVRlJReXhGUVVGUFdpeFhRVUZoV2l4RlFVRlZXU3hWUVVOc1Exa3NSVUZCVDFZc1QwRkJVMlFzUlVGQlZXTXNUVUZvUkd4RExFZEJjMFJUTEZkQlEwd3NUMEZCVHlJc0ltWnBiR1VpT2lJdmFHOXRaUzk2YVc1dkwzQnliMnBsWTNSekwzTmxZWFJ0WVhCMk1pOXpkR0ZuYVc1bkwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMMkY0YVc5ekwyeHBZaTlvWld4d1pYSnpMMmx6VlZKTVUyRnRaVTl5YVdkcGJpNXFjeUo5IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIHV0aWxzPXJlcXVpcmUoXCIuLi91dGlsc1wiKTttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3V0aWxzLmZvckVhY2goZSxmdW5jdGlvbihyLHMpe3MhPT10JiZzLnRvVXBwZXJDYXNlKCk9PT10LnRvVXBwZXJDYXNlKCkmJihlW3RdPXIsZGVsZXRlIGVbc10pfSl9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW01dmNtMWhiR2w2WlVobFlXUmxjazVoYldVdWFuTWlYU3dpYm1GdFpYTWlPbHNpZFhScGJITWlMQ0p5WlhGMWFYSmxJaXdpYlc5a2RXeGxJaXdpWlhod2IzSjBjeUlzSW1obFlXUmxjbk1pTENKdWIzSnRZV3hwZW1Wa1RtRnRaU0lzSW1admNrVmhZMmdpTENKMllXeDFaU0lzSW01aGJXVWlMQ0owYjFWd2NHVnlRMkZ6WlNKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc1lVRkZRU3hKUVVGSlFTeE5RVUZSUXl4UlFVRlJMRmxCUlhCQ1F5eFBRVUZQUXl4UlFVRlZMRk5CUVRaQ1F5eEZRVUZUUXl4SFFVTnlSRXdzVFVGQlRVMHNVVUZCVVVZc1JVRkJVeXhUUVVGMVFrY3NSVUZCVDBNc1IwRkRMME5CTEVsQlFWTklMRWRCUVd0Q1J5eEZRVUZMUXl4blFrRkJhMEpLTEVWQlFXVkpMR2RDUVVOdVJVd3NSVUZCVVVNc1IwRkJhMEpGTEZOQlEyNUNTQ3hGUVVGUlNTSXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl6ZEdGbmFXNW5MM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDJGNGFXOXpMMnhwWWk5b1pXeHdaWEp6TDI1dmNtMWhiR2w2WlVobFlXUmxjazVoYldVdWFuTWlmUT09IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIHV0aWxzPXJlcXVpcmUoXCIuLy4uL3V0aWxzXCIpLGlnbm9yZUR1cGxpY2F0ZU9mPVtcImFnZVwiLFwiYXV0aG9yaXphdGlvblwiLFwiY29udGVudC1sZW5ndGhcIixcImNvbnRlbnQtdHlwZVwiLFwiZXRhZ1wiLFwiZXhwaXJlc1wiLFwiZnJvbVwiLFwiaG9zdFwiLFwiaWYtbW9kaWZpZWQtc2luY2VcIixcImlmLXVubW9kaWZpZWQtc2luY2VcIixcImxhc3QtbW9kaWZpZWRcIixcImxvY2F0aW9uXCIsXCJtYXgtZm9yd2FyZHNcIixcInByb3h5LWF1dGhvcml6YXRpb25cIixcInJlZmVyZXJcIixcInJldHJ5LWFmdGVyXCIsXCJ1c2VyLWFnZW50XCJdO21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlLGkscixvPXt9O3JldHVybiB0Pyh1dGlscy5mb3JFYWNoKHQuc3BsaXQoXCJcXG5cIiksZnVuY3Rpb24odCl7aWYocj10LmluZGV4T2YoXCI6XCIpLGU9dXRpbHMudHJpbSh0LnN1YnN0cigwLHIpKS50b0xvd2VyQ2FzZSgpLGk9dXRpbHMudHJpbSh0LnN1YnN0cihyKzEpKSxlKXtpZihvW2VdJiZpZ25vcmVEdXBsaWNhdGVPZi5pbmRleE9mKGUpPj0wKXJldHVybjtvW2VdPVwic2V0LWNvb2tpZVwiPT09ZT8ob1tlXT9vW2VdOltdKS5jb25jYXQoW2ldKTpvW2VdP29bZV0rXCIsIFwiK2k6aX19KSxvKTpvfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluQmhjbk5sU0dWaFpHVnljeTVxY3lKZExDSnVZVzFsY3lJNld5SjFkR2xzY3lJc0luSmxjWFZwY21VaUxDSnBaMjV2Y21WRWRYQnNhV05oZEdWUFppSXNJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0pvWldGa1pYSnpJaXdpYTJWNUlpd2lkbUZzSWl3aWFTSXNJbkJoY25ObFpDSXNJbVp2Y2tWaFkyZ2lMQ0p6Y0d4cGRDSXNJbXhwYm1VaUxDSnBibVJsZUU5bUlpd2lkSEpwYlNJc0luTjFZbk4wY2lJc0luUnZURzkzWlhKRFlYTmxJaXdpWTI5dVkyRjBJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hoUVVWQkxFbEJRVWxCTEUxQlFWRkRMRkZCUVZFc1kwRkphRUpETEd0Q1FVRnZRaXhEUVVOMFFpeE5RVUZQTEdkQ1FVRnBRaXhwUWtGQmEwSXNaVUZCWjBJc1QwRkRNVVFzVlVGQlZ5eFBRVUZSTEU5QlFWRXNiMEpCUVhGQ0xITkNRVU5vUkN4blFrRkJhVUlzVjBGQldTeGxRVUZuUWl4elFrRkROME1zVlVGQlZ5eGpRVUZsTEdOQlowSTFRa01zVDBGQlQwTXNVVUZCVlN4VFFVRnpRa01zUjBGRGNrTXNTVUZEU1VNc1JVRkRRVU1zUlVGRFFVTXNSVUZJUVVNc1JVRkJVeXhIUVV0aUxFOUJRVXRLTEVkQlJVeE1MRTFCUVUxVkxGRkJRVkZNTEVWQlFWRk5MRTFCUVUwc1RVRkJUeXhUUVVGblFrTXNSMEZMYWtRc1IwRktRVW9zUlVGQlNVa3NSVUZCUzBNc1VVRkJVU3hMUVVOcVFsQXNSVUZCVFU0c1RVRkJUV01zUzBGQlMwWXNSVUZCUzBjc1QwRkJUeXhGUVVGSFVDeEpRVUZKVVN4alFVTndRMVFzUlVGQlRWQXNUVUZCVFdNc1MwRkJTMFlzUlVGQlMwY3NUMEZCVDFBc1JVRkJTU3hKUVVVM1FrWXNSVUZCU3l4RFFVTlFMRWRCUVVsSExFVkJRVTlJTEVsQlFWRktMR3RDUVVGclFsY3NVVUZCVVZBc1NVRkJVU3hGUVVOdVJDeFBRVWRCUnl4RlFVRlBTQ3hIUVVSSExHVkJRVkpCTEVkQlEyRkhMRVZCUVU5SUxFZEJRVTlITEVWQlFVOUlMRWRCUVU4c1NVRkJTVmNzVDBGQlR5eERRVUZEVml4SlFVVjZRMFVzUlVGQlQwZ3NSMEZCVDBjc1JVRkJUMGdzUjBGQlR5eExRVUZQUXl4RlFVRk5RU3hMUVV0MFJFVXNSMEZ1UW1kQ1FTSXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl6ZEdGbmFXNW5MM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDJGNGFXOXpMMnhwWWk5b1pXeHdaWEp6TDNCaGNuTmxTR1ZoWkdWeWN5NXFjeUo5IiwiXCJ1c2Ugc3RyaWN0XCI7bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBuLmFwcGx5KG51bGwsdCl9fTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluTndjbVZoWkM1cWN5SmRMQ0p1WVcxbGN5STZXeUp0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpWTJGc2JHSmhZMnNpTENKaGNuSWlMQ0poY0hCc2VTSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNZVUZ6UWtGQkxFOUJRVTlETEZGQlFWVXNVMEZCWjBKRExFZEJReTlDTEU5QlFVOHNVMEZCWTBNc1IwRkRia0lzVDBGQlQwUXNSVUZCVTBVc1RVRkJUU3hMUVVGTlJDSXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl6ZEdGbmFXNW5MM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDJGNGFXOXpMMnhwWWk5b1pXeHdaWEp6TDNOd2NtVmhaQzVxY3lKOSIsIlwidXNlIHN0cmljdFwiO3ZhciBiaW5kPXJlcXVpcmUoXCIuL2hlbHBlcnMvYmluZFwiKSx0b1N0cmluZz1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO2Z1bmN0aW9uIGlzQXJyYXkocil7cmV0dXJuXCJbb2JqZWN0IEFycmF5XVwiPT09dG9TdHJpbmcuY2FsbChyKX1mdW5jdGlvbiBpc1VuZGVmaW5lZChyKXtyZXR1cm4gdm9pZCAwPT09cn1mdW5jdGlvbiBpc0J1ZmZlcihyKXtyZXR1cm4gbnVsbCE9PXImJiFpc1VuZGVmaW5lZChyKSYmbnVsbCE9PXIuY29uc3RydWN0b3ImJiFpc1VuZGVmaW5lZChyLmNvbnN0cnVjdG9yKSYmXCJmdW5jdGlvblwiPT10eXBlb2Ygci5jb25zdHJ1Y3Rvci5pc0J1ZmZlciYmci5jb25zdHJ1Y3Rvci5pc0J1ZmZlcihyKX1mdW5jdGlvbiBpc0FycmF5QnVmZmVyKHIpe3JldHVyblwiW29iamVjdCBBcnJheUJ1ZmZlcl1cIj09PXRvU3RyaW5nLmNhbGwocil9ZnVuY3Rpb24gaXNGb3JtRGF0YShyKXtyZXR1cm5cInVuZGVmaW5lZFwiIT10eXBlb2YgRm9ybURhdGEmJnIgaW5zdGFuY2VvZiBGb3JtRGF0YX1mdW5jdGlvbiBpc0FycmF5QnVmZmVyVmlldyhyKXtyZXR1cm5cInVuZGVmaW5lZFwiIT10eXBlb2YgQXJyYXlCdWZmZXImJkFycmF5QnVmZmVyLmlzVmlldz9BcnJheUJ1ZmZlci5pc1ZpZXcocik6ciYmci5idWZmZXImJnIuYnVmZmVyIGluc3RhbmNlb2YgQXJyYXlCdWZmZXJ9ZnVuY3Rpb24gaXNTdHJpbmcocil7cmV0dXJuXCJzdHJpbmdcIj09dHlwZW9mIHJ9ZnVuY3Rpb24gaXNOdW1iZXIocil7cmV0dXJuXCJudW1iZXJcIj09dHlwZW9mIHJ9ZnVuY3Rpb24gaXNPYmplY3Qocil7cmV0dXJuIG51bGwhPT1yJiZcIm9iamVjdFwiPT10eXBlb2Ygcn1mdW5jdGlvbiBpc1BsYWluT2JqZWN0KHIpe2lmKFwiW29iamVjdCBPYmplY3RdXCIhPT10b1N0cmluZy5jYWxsKHIpKXJldHVybiExO3ZhciBlPU9iamVjdC5nZXRQcm90b3R5cGVPZihyKTtyZXR1cm4gbnVsbD09PWV8fGU9PT1PYmplY3QucHJvdG90eXBlfWZ1bmN0aW9uIGlzRGF0ZShyKXtyZXR1cm5cIltvYmplY3QgRGF0ZV1cIj09PXRvU3RyaW5nLmNhbGwocil9ZnVuY3Rpb24gaXNGaWxlKHIpe3JldHVyblwiW29iamVjdCBGaWxlXVwiPT09dG9TdHJpbmcuY2FsbChyKX1mdW5jdGlvbiBpc0Jsb2Iocil7cmV0dXJuXCJbb2JqZWN0IEJsb2JdXCI9PT10b1N0cmluZy5jYWxsKHIpfWZ1bmN0aW9uIGlzRnVuY3Rpb24ocil7cmV0dXJuXCJbb2JqZWN0IEZ1bmN0aW9uXVwiPT09dG9TdHJpbmcuY2FsbChyKX1mdW5jdGlvbiBpc1N0cmVhbShyKXtyZXR1cm4gaXNPYmplY3QocikmJmlzRnVuY3Rpb24oci5waXBlKX1mdW5jdGlvbiBpc1VSTFNlYXJjaFBhcmFtcyhyKXtyZXR1cm5cInVuZGVmaW5lZFwiIT10eXBlb2YgVVJMU2VhcmNoUGFyYW1zJiZyIGluc3RhbmNlb2YgVVJMU2VhcmNoUGFyYW1zfWZ1bmN0aW9uIHRyaW0ocil7cmV0dXJuIHIucmVwbGFjZSgvXlxccyovLFwiXCIpLnJlcGxhY2UoL1xccyokLyxcIlwiKX1mdW5jdGlvbiBpc1N0YW5kYXJkQnJvd3NlckVudigpe3JldHVybihcInVuZGVmaW5lZFwiPT10eXBlb2YgbmF2aWdhdG9yfHxcIlJlYWN0TmF0aXZlXCIhPT1uYXZpZ2F0b3IucHJvZHVjdCYmXCJOYXRpdmVTY3JpcHRcIiE9PW5hdmlnYXRvci5wcm9kdWN0JiZcIk5TXCIhPT1uYXZpZ2F0b3IucHJvZHVjdCkmJihcInVuZGVmaW5lZFwiIT10eXBlb2Ygd2luZG93JiZcInVuZGVmaW5lZFwiIT10eXBlb2YgZG9jdW1lbnQpfWZ1bmN0aW9uIGZvckVhY2gocixlKXtpZihudWxsIT1yKWlmKFwib2JqZWN0XCIhPXR5cGVvZiByJiYocj1bcl0pLGlzQXJyYXkocikpZm9yKHZhciB0PTAsbj1yLmxlbmd0aDt0PG47dCsrKWUuY2FsbChudWxsLHJbdF0sdCxyKTtlbHNlIGZvcih2YXIgaSBpbiByKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChyLGkpJiZlLmNhbGwobnVsbCxyW2ldLGkscil9ZnVuY3Rpb24gbWVyZ2UoKXt2YXIgcj17fTtmdW5jdGlvbiBlKGUsdCl7aXNQbGFpbk9iamVjdChyW3RdKSYmaXNQbGFpbk9iamVjdChlKT9yW3RdPW1lcmdlKHJbdF0sZSk6aXNQbGFpbk9iamVjdChlKT9yW3RdPW1lcmdlKHt9LGUpOmlzQXJyYXkoZSk/clt0XT1lLnNsaWNlKCk6clt0XT1lfWZvcih2YXIgdD0wLG49YXJndW1lbnRzLmxlbmd0aDt0PG47dCsrKWZvckVhY2goYXJndW1lbnRzW3RdLGUpO3JldHVybiByfWZ1bmN0aW9uIGV4dGVuZChyLGUsdCl7cmV0dXJuIGZvckVhY2goZSxmdW5jdGlvbihlLG4pe3Jbbl09dCYmXCJmdW5jdGlvblwiPT10eXBlb2YgZT9iaW5kKGUsdCk6ZX0pLHJ9ZnVuY3Rpb24gc3RyaXBCT00ocil7cmV0dXJuIDY1Mjc5PT09ci5jaGFyQ29kZUF0KDApJiYocj1yLnNsaWNlKDEpKSxyfW1vZHVsZS5leHBvcnRzPXtpc0FycmF5OmlzQXJyYXksaXNBcnJheUJ1ZmZlcjppc0FycmF5QnVmZmVyLGlzQnVmZmVyOmlzQnVmZmVyLGlzRm9ybURhdGE6aXNGb3JtRGF0YSxpc0FycmF5QnVmZmVyVmlldzppc0FycmF5QnVmZmVyVmlldyxpc1N0cmluZzppc1N0cmluZyxpc051bWJlcjppc051bWJlcixpc09iamVjdDppc09iamVjdCxpc1BsYWluT2JqZWN0OmlzUGxhaW5PYmplY3QsaXNVbmRlZmluZWQ6aXNVbmRlZmluZWQsaXNEYXRlOmlzRGF0ZSxpc0ZpbGU6aXNGaWxlLGlzQmxvYjppc0Jsb2IsaXNGdW5jdGlvbjppc0Z1bmN0aW9uLGlzU3RyZWFtOmlzU3RyZWFtLGlzVVJMU2VhcmNoUGFyYW1zOmlzVVJMU2VhcmNoUGFyYW1zLGlzU3RhbmRhcmRCcm93c2VyRW52OmlzU3RhbmRhcmRCcm93c2VyRW52LGZvckVhY2g6Zm9yRWFjaCxtZXJnZTptZXJnZSxleHRlbmQ6ZXh0ZW5kLHRyaW06dHJpbSxzdHJpcEJPTTpzdHJpcEJPTX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJblYwYVd4ekxtcHpJbDBzSW01aGJXVnpJanBiSW1KcGJtUWlMQ0p5WlhGMWFYSmxJaXdpZEc5VGRISnBibWNpTENKUFltcGxZM1FpTENKd2NtOTBiM1I1Y0dVaUxDSnBjMEZ5Y21GNUlpd2lkbUZzSWl3aVkyRnNiQ0lzSW1selZXNWtaV1pwYm1Wa0lpd2lhWE5DZFdabVpYSWlMQ0pqYjI1emRISjFZM1J2Y2lJc0ltbHpRWEp5WVhsQ2RXWm1aWElpTENKcGMwWnZjbTFFWVhSaElpd2lSbTl5YlVSaGRHRWlMQ0pwYzBGeWNtRjVRblZtWm1WeVZtbGxkeUlzSWtGeWNtRjVRblZtWm1WeUlpd2lhWE5XYVdWM0lpd2lZblZtWm1WeUlpd2lhWE5UZEhKcGJtY2lMQ0pwYzA1MWJXSmxjaUlzSW1selQySnFaV04wSWl3aWFYTlFiR0ZwYms5aWFtVmpkQ0lzSW1kbGRGQnliM1J2ZEhsd1pVOW1JaXdpYVhORVlYUmxJaXdpYVhOR2FXeGxJaXdpYVhOQ2JHOWlJaXdpYVhOR2RXNWpkR2x2YmlJc0ltbHpVM1J5WldGdElpd2ljR2x3WlNJc0ltbHpWVkpNVTJWaGNtTm9VR0Z5WVcxeklpd2lWVkpNVTJWaGNtTm9VR0Z5WVcxeklpd2lkSEpwYlNJc0luTjBjaUlzSW5KbGNHeGhZMlVpTENKcGMxTjBZVzVrWVhKa1FuSnZkM05sY2tWdWRpSXNJbTVoZG1sbllYUnZjaUlzSW5CeWIyUjFZM1FpTENKM2FXNWtiM2NpTENKa2IyTjFiV1Z1ZENJc0ltWnZja1ZoWTJnaUxDSnZZbW9pTENKbWJpSXNJbWtpTENKc0lpd2liR1Z1WjNSb0lpd2lhMlY1SWl3aWFHRnpUM2R1VUhKdmNHVnlkSGtpTENKdFpYSm5aU0lzSW5KbGMzVnNkQ0lzSW1GemMybG5ibFpoYkhWbElpd2ljMnhwWTJVaUxDSmhjbWQxYldWdWRITWlMQ0psZUhSbGJtUWlMQ0poSWl3aVlpSXNJblJvYVhOQmNtY2lMQ0p6ZEhKcGNFSlBUU0lzSW1OdmJuUmxiblFpTENKamFHRnlRMjlrWlVGMElpd2liVzlrZFd4bElpd2laWGh3YjNKMGN5SmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNZVUZGUVN4SlFVRkpRU3hMUVVGUFF5eFJRVUZSTEd0Q1FVMW1ReXhUUVVGWFF5eFBRVUZQUXl4VlFVRlZSaXhUUVZGb1F5eFRRVUZUUnl4UlFVRlJReXhIUVVObUxFMUJRVGhDTEcxQ1FVRjJRa29zVTBGQlUwc3NTMEZCUzBRc1IwRlRka0lzVTBGQlUwVXNXVUZCV1VZc1IwRkRia0lzV1VGQmMwSXNTVUZCVWtFc1JVRlRhRUlzVTBGQlUwY3NVMEZCVTBnc1IwRkRhRUlzVDBGQlpTeFBRVUZTUVN4SlFVRnBRa1VzV1VGQldVWXNTVUZCTkVJc1QwRkJjRUpCTEVWQlFVbEpMR05CUVhsQ1JpeFpRVUZaUml4RlFVRkpTU3hqUVVOb1JDeHRRa0ZCTjBKS0xFVkJRVWxKTEZsQlFWbEVMRlZCUVRKQ1NDeEZRVUZKU1N4WlFVRlpSQ3hUUVVGVFNDeEhRVk5zUml4VFFVRlRTeXhqUVVGalRDeEhRVU55UWl4TlFVRTRRaXg1UWtGQmRrSktMRk5CUVZOTExFdEJRVXRFTEVkQlUzWkNMRk5CUVZOTkxGZEJRVmRPTEVkQlEyeENMRTFCUVRSQ0xHOUNRVUZpVHl4VlFVRTRRbEFzWVVGQlpVOHNVMEZUT1VRc1UwRkJVME1zYTBKQlFXdENVaXhIUVU5NlFpeE5RVXcwUWl4dlFrRkJhRUpUTEdGQlFXbERRU3haUVVGclFpeFBRVU53UkVFc1dVRkJXVU1zVDBGQlQxWXNSMEZGYmtJc1IwRkJWVUVzUlVGQlZTeFJRVUZOUVN4RlFVRkpWeXhyUWtGQmEwSkdMRmxCVnpkRUxGTkJRVk5ITEZOQlFWTmFMRWRCUTJoQ0xFMUJRWE5DTEdsQ1FVRlNRU3hGUVZOb1FpeFRRVUZUWVN4VFFVRlRZaXhIUVVOb1FpeE5RVUZ6UWl4cFFrRkJVa0VzUlVGVGFFSXNVMEZCVTJNc1UwRkJVMlFzUjBGRGFFSXNUMEZCWlN4UFFVRlNRU3hIUVVFclFpeHBRa0ZCVWtFc1JVRlRhRU1zVTBGQlUyVXNZMEZCWTJZc1IwRkRja0lzUjBGQk1rSXNiMEpCUVhaQ1NpeFRRVUZUU3l4TFFVRkxSQ3hIUVVOb1FpeFBRVUZQTEVWQlIxUXNTVUZCU1VZc1JVRkJXVVFzVDBGQlQyMUNMR1ZCUVdWb1FpeEhRVU4wUXl4UFFVRnhRaXhQUVVGa1JpeEhRVUZ6UWtFc1NVRkJZMFFzVDBGQlQwTXNWVUZUY0VRc1UwRkJVMjFDTEU5QlFVOXFRaXhIUVVOa0xFMUJRVGhDTEd0Q1FVRjJRa29zVTBGQlUwc3NTMEZCUzBRc1IwRlRka0lzVTBGQlUydENMRTlCUVU5c1FpeEhRVU5rTEUxQlFUaENMR3RDUVVGMlFrb3NVMEZCVTBzc1MwRkJTMFFzUjBGVGRrSXNVMEZCVTIxQ0xFOUJRVTl1UWl4SFFVTmtMRTFCUVRoQ0xHdENRVUYyUWtvc1UwRkJVMHNzUzBGQlMwUXNSMEZUZGtJc1UwRkJVMjlDTEZkQlFWZHdRaXhIUVVOc1FpeE5RVUU0UWl4elFrRkJka0pLTEZOQlFWTkxMRXRCUVV0RUxFZEJVM1pDTEZOQlFWTnhRaXhUUVVGVGNrSXNSMEZEYUVJc1QwRkJUMk1zVTBGQlUyUXNTVUZCVVc5Q0xGZEJRVmR3UWl4RlFVRkpjMElzVFVGVGVrTXNVMEZCVTBNc2EwSkJRV3RDZGtJc1IwRkRla0lzVFVGQmEwTXNiMEpCUVhCQ2QwSXNhVUpCUVcxRGVFSXNZVUZCWlhkQ0xHZENRVk5zUlN4VFFVRlRReXhMUVVGTFF5eEhRVU5hTEU5QlFVOUJMRVZCUVVsRExGRkJRVkVzVDBGQlVTeEpRVUZKUVN4UlFVRlJMRTlCUVZFc1NVRnJRbXBFTEZOQlFWTkRMSFZDUVVOUUxFOUJRWGxDTEc5Q1FVRmtReXhYUVVGdlJDeG5Ra0ZCZEVKQkxGVkJRVlZETEZOQlExa3NhVUpCUVhSQ1JDeFZRVUZWUXl4VFFVTlpMRTlCUVhSQ1JDeFZRVUZWUXl4WFFVa3ZRaXh2UWtGQldFTXNVVUZEWVN4dlFrRkJZa01zVlVGblFsZ3NVMEZCVTBNc1VVRkJVVU1zUlVGQlMwTXNSMEZGY0VJc1IwRkJTVVFzVFVGQlFVRXNSVUZWU2l4SFFVeHRRaXhwUWtGQlVrRXNTVUZGVkVFc1JVRkJUU3hEUVVGRFFTeEpRVWRNYmtNc1VVRkJVVzFETEVkQlJWWXNTVUZCU3l4SlFVRkpSU3hGUVVGSkxFVkJRVWRETEVWQlFVbElMRVZCUVVsSkxFOUJRVkZHTEVWQlFVbERMRVZCUVVkRUxFbEJRM0pEUkN4RlFVRkhiRU1zUzBGQlN5eExRVUZOYVVNc1JVRkJTVVVzUjBGQlNVRXNSVUZCUjBZc1VVRkpNMElzU1VGQlN5eEpRVUZKU3l4TFFVRlBUQ3hGUVVOV2NrTXNUMEZCVDBNc1ZVRkJWVEJETEdWQlFXVjJReXhMUVVGTGFVTXNSVUZCUzBzc1NVRkROVU5LTEVWQlFVZHNReXhMUVVGTExFdEJRVTFwUXl4RlFVRkpTeXhIUVVGTlFTeEZRVUZMVEN4SFFYVkNja01zVTBGQlUwOHNVVUZEVUN4SlFVRkpReXhGUVVGVExFZEJRMklzVTBGQlUwTXNSVUZCV1RORExFVkJRVXQxUXl4SFFVTndRbmhDTEdOQlFXTXlRaXhGUVVGUFNDeExRVUZUZUVJc1kwRkJZMllzUjBGRE9VTXdReXhGUVVGUFNDeEhRVUZQUlN4TlFVRk5ReXhGUVVGUFNDeEhRVUZOZGtNc1IwRkRlRUpsTEdOQlFXTm1MRWRCUTNaQ01FTXNSVUZCVDBnc1IwRkJUMFVzVFVGQlRTeEhRVUZKZWtNc1IwRkRaa1FzVVVGQlVVTXNSMEZEYWtJd1F5eEZRVUZQU0N4SFFVRlBka01zUlVGQlNUUkRMRkZCUld4Q1JpeEZRVUZQU0N4SFFVRlBka01zUlVGSmJFSXNTVUZCU3l4SlFVRkpiME1zUlVGQlNTeEZRVUZIUXl4RlFVRkpVU3hWUVVGVlVDeFBRVUZSUml4RlFVRkpReXhGUVVGSFJDeEpRVU16UTBnc1VVRkJVVmtzVlVGQlZWUXNSMEZCU1U4c1IwRkZlRUlzVDBGQlQwUXNSVUZYVkN4VFFVRlRTU3hQUVVGUFF5eEZRVUZIUXl4RlFVRkhReXhIUVZGd1FpeFBRVkJCYUVJc1VVRkJVV1VzUlVGQlJ5eFRRVUZ4UW1oRUxFVkJRVXQxUXl4SFFVVnFRMUVzUlVGQlJWSXNSMEZFUVZVc1IwRkJNRUlzYlVKQlFWSnFSQ3hGUVVOWVRpeExRVUZMVFN4RlFVRkxhVVFzUjBGRlZtcEVMRWxCUjA0clF5eEZRVk5VTEZOQlFWTkhMRk5CUVZORExFZEJTV2hDTEU5QlNEaENMRkZCUVRGQ1FTeEZRVUZSUXl4WFFVRlhMRXRCUTNKQ1JDeEZRVUZWUVN4RlFVRlJVQ3hOUVVGTkxFbEJSVzVDVHl4RlFVZFVSU3hQUVVGUFF5eFJRVUZWTEVOQlEyWjJSQ3hSUVVGVFFTeFJRVU5VVFN4alFVRmxRU3hqUVVObVJpeFRRVUZWUVN4VFFVTldSeXhYUVVGWlFTeFhRVU5hUlN4clFrRkJiVUpCTEd0Q1FVTnVRa2tzVTBGQlZVRXNVMEZEVmtNc1UwRkJWVUVzVTBGRFZrTXNVMEZCVlVFc1UwRkRWa01zWTBGQlpVRXNZMEZEWm1Jc1dVRkJZVUVzV1VGRFltVXNUMEZCVVVFc1QwRkRVa01zVDBGQlVVRXNUMEZEVWtNc1QwRkJVVUVzVDBGRFVrTXNWMEZCV1VFc1YwRkRXa01zVTBGQlZVRXNVMEZEVmtVc2EwSkJRVzFDUVN4clFrRkRia0pMTEhGQ1FVRnpRa0VzY1VKQlEzUkNTeXhSUVVGVFFTeFJRVU5VVVN4TlFVRlBRU3hOUVVOUVN5eFBRVUZSUVN4UFFVTlNja0lzUzBGQlRVRXNTMEZEVG5sQ0xGTkJRVlZCSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwzTjBZV2RwYm1jdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZZWGhwYjNNdmJHbGlMM1YwYVd4ekxtcHpJbjA9IiwiXCJ1c2Ugc3RyaWN0XCI7ZXhwb3J0cy5ieXRlTGVuZ3RoPWJ5dGVMZW5ndGgsZXhwb3J0cy50b0J5dGVBcnJheT10b0J5dGVBcnJheSxleHBvcnRzLmZyb21CeXRlQXJyYXk9ZnJvbUJ5dGVBcnJheTtmb3IodmFyIGxvb2t1cD1bXSxyZXZMb29rdXA9W10sQXJyPVwidW5kZWZpbmVkXCIhPXR5cGVvZiBVaW50OEFycmF5P1VpbnQ4QXJyYXk6QXJyYXksY29kZT1cIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky9cIixpPTAsbGVuPWNvZGUubGVuZ3RoO2k8bGVuOysraSlsb29rdXBbaV09Y29kZVtpXSxyZXZMb29rdXBbY29kZS5jaGFyQ29kZUF0KGkpXT1pO2Z1bmN0aW9uIGdldExlbnMobyl7dmFyIHI9by5sZW5ndGg7aWYociU0PjApdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBzdHJpbmcuIExlbmd0aCBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgNFwiKTt2YXIgZT1vLmluZGV4T2YoXCI9XCIpO3JldHVybi0xPT09ZSYmKGU9ciksW2UsZT09PXI/MDo0LWUlNF19ZnVuY3Rpb24gYnl0ZUxlbmd0aChvKXt2YXIgcj1nZXRMZW5zKG8pLGU9clswXSx0PXJbMV07cmV0dXJuIDMqKGUrdCkvNC10fWZ1bmN0aW9uIF9ieXRlTGVuZ3RoKG8scixlKXtyZXR1cm4gMyoocitlKS80LWV9ZnVuY3Rpb24gdG9CeXRlQXJyYXkobyl7dmFyIHIsZSx0PWdldExlbnMobyksbj10WzBdLHU9dFsxXSxwPW5ldyBBcnIoX2J5dGVMZW5ndGgobyxuLHUpKSxhPTAsaD11PjA/bi00Om47Zm9yKGU9MDtlPGg7ZSs9NClyPXJldkxvb2t1cFtvLmNoYXJDb2RlQXQoZSldPDwxOHxyZXZMb29rdXBbby5jaGFyQ29kZUF0KGUrMSldPDwxMnxyZXZMb29rdXBbby5jaGFyQ29kZUF0KGUrMildPDw2fHJldkxvb2t1cFtvLmNoYXJDb2RlQXQoZSszKV0scFthKytdPXI+PjE2JjI1NSxwW2ErK109cj4+OCYyNTUscFthKytdPTI1NSZyO3JldHVybiAyPT09dSYmKHI9cmV2TG9va3VwW28uY2hhckNvZGVBdChlKV08PDJ8cmV2TG9va3VwW28uY2hhckNvZGVBdChlKzEpXT4+NCxwW2ErK109MjU1JnIpLDE9PT11JiYocj1yZXZMb29rdXBbby5jaGFyQ29kZUF0KGUpXTw8MTB8cmV2TG9va3VwW28uY2hhckNvZGVBdChlKzEpXTw8NHxyZXZMb29rdXBbby5jaGFyQ29kZUF0KGUrMildPj4yLHBbYSsrXT1yPj44JjI1NSxwW2ErK109MjU1JnIpLHB9ZnVuY3Rpb24gdHJpcGxldFRvQmFzZTY0KG8pe3JldHVybiBsb29rdXBbbz4+MTgmNjNdK2xvb2t1cFtvPj4xMiY2M10rbG9va3VwW28+PjYmNjNdK2xvb2t1cFs2MyZvXX1mdW5jdGlvbiBlbmNvZGVDaHVuayhvLHIsZSl7Zm9yKHZhciB0LG49W10sdT1yO3U8ZTt1Kz0zKXQ9KG9bdV08PDE2JjE2NzExNjgwKSsob1t1KzFdPDw4JjY1MjgwKSsoMjU1Jm9bdSsyXSksbi5wdXNoKHRyaXBsZXRUb0Jhc2U2NCh0KSk7cmV0dXJuIG4uam9pbihcIlwiKX1mdW5jdGlvbiBmcm9tQnl0ZUFycmF5KG8pe2Zvcih2YXIgcixlPW8ubGVuZ3RoLHQ9ZSUzLG49W10sdT0wLHA9ZS10O3U8cDt1Kz0xNjM4MyluLnB1c2goZW5jb2RlQ2h1bmsobyx1LHUrMTYzODM+cD9wOnUrMTYzODMpKTtyZXR1cm4gMT09PXQ/KHI9b1tlLTFdLG4ucHVzaChsb29rdXBbcj4+Ml0rbG9va3VwW3I8PDQmNjNdK1wiPT1cIikpOjI9PT10JiYocj0ob1tlLTJdPDw4KStvW2UtMV0sbi5wdXNoKGxvb2t1cFtyPj4xMF0rbG9va3VwW3I+PjQmNjNdK2xvb2t1cFtyPDwyJjYzXStcIj1cIikpLG4uam9pbihcIlwiKX1yZXZMb29rdXBbXCItXCIuY2hhckNvZGVBdCgwKV09NjIscmV2TG9va3VwW1wiX1wiLmNoYXJDb2RlQXQoMCldPTYzO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1sdVpHVjRMbXB6SWwwc0ltNWhiV1Z6SWpwYkltVjRjRzl5ZEhNaUxDSmllWFJsVEdWdVozUm9JaXdpZEc5Q2VYUmxRWEp5WVhraUxDSm1jbTl0UW5sMFpVRnljbUY1SWl3aWJHOXZhM1Z3SWl3aWNtVjJURzl2YTNWd0lpd2lRWEp5SWl3aVZXbHVkRGhCY25KaGVTSXNJa0Z5Y21GNUlpd2lZMjlrWlNJc0lta2lMQ0pzWlc0aUxDSnNaVzVuZEdnaUxDSmphR0Z5UTI5a1pVRjBJaXdpWjJWMFRHVnVjeUlzSW1JMk5DSXNJa1Z5Y205eUlpd2lkbUZzYVdSTVpXNGlMQ0pwYm1SbGVFOW1JaXdpYkdWdWN5SXNJbkJzWVdObFNHOXNaR1Z5YzB4bGJpSXNJbDlpZVhSbFRHVnVaM1JvSWl3aWRHMXdJaXdpWVhKeUlpd2lZM1Z5UW5sMFpTSXNJblJ5YVhCc1pYUlViMEpoYzJVMk5DSXNJbTUxYlNJc0ltVnVZMjlrWlVOb2RXNXJJaXdpZFdsdWREZ2lMQ0p6ZEdGeWRDSXNJbVZ1WkNJc0ltOTFkSEIxZENJc0luQjFjMmdpTENKcWIybHVJaXdpWlhoMGNtRkNlWFJsY3lJc0luQmhjblJ6SWl3aWJHVnVNaUpkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzWVVGRlFVRXNVVUZCVVVNc1YwRkJZVUVzVjBGRGNrSkVMRkZCUVZGRkxGbEJRV05CTEZsQlEzUkNSaXhSUVVGUlJ5eGpRVUZuUWtFc1kwRlBlRUlzU1VGTVFTeEpRVUZKUXl4UFFVRlRMRWRCUTFSRExGVkJRVmtzUjBGRFdrTXNTVUZCTkVJc2IwSkJRV1pETEZkQlFUWkNRU3hYUVVGaFF5eE5RVVYyUkVNc1MwRkJUeXh0UlVGRFJrTXNSVUZCU1N4RlFVRkhReXhKUVVGTlJpeExRVUZMUnl4UFFVRlJSaXhGUVVGSlF5eE5RVUZQUkN4RlFVTTFRMDRzVDBGQlQwMHNSMEZCUzBRc1MwRkJTME1zUjBGRGFrSk1MRlZCUVZWSkxFdEJRVXRKTEZkQlFWZElMRWxCUVUxQkxFVkJVV3hETEZOQlFWTkpMRkZCUVZORExFZEJRMmhDTEVsQlFVbEtMRVZCUVUxSkxFVkJRVWxJTEU5QlJXUXNSMEZCU1VRc1JVRkJUU3hGUVVGSkxFVkJRMW9zVFVGQlRTeEpRVUZKU3l4TlFVRk5MR3RFUVV0c1FpeEpRVUZKUXl4RlFVRlhSaXhGUVVGSlJ5eFJRVUZSTEV0QlR6TkNMRTlCVG10Q0xFbEJRV1JFTEVsQlFXbENRU3hGUVVGWFRpeEhRVTE2UWl4RFFVRkRUU3hGUVVwalFTeEpRVUZoVGl4RlFVTXZRaXhGUVVOQkxFVkJRVXROTEVWQlFWY3NSMEZOZEVJc1UwRkJVMmhDTEZkQlFWbGpMRWRCUTI1Q0xFbEJRVWxKTEVWQlFVOU1MRkZCUVZGRExFZEJRMlpGTEVWQlFWZEZMRVZCUVVzc1IwRkRhRUpETEVWQlFXdENSQ3hGUVVGTExFZEJRek5DTEU5QlFYVkRMRWRCUVRsQ1JpeEZRVUZYUnl4SFFVRjFRaXhGUVVGTFFTeEZRVWRzUkN4VFFVRlRReXhaUVVGaFRpeEZRVUZMUlN4RlFVRlZSeXhIUVVOdVF5eFBRVUYxUXl4SFFVRTVRa2dzUlVGQlYwY3NSMEZCZFVJc1JVRkJTMEVzUlVGSGJFUXNVMEZCVTJ4Q0xGbEJRV0ZoTEVkQlEzQkNMRWxCUVVsUExFVkJZMEZhTEVWQllrRlRMRVZCUVU5TUxGRkJRVkZETEVkQlEyWkZMRVZCUVZkRkxFVkJRVXNzUjBGRGFFSkRMRVZCUVd0Q1JDeEZRVUZMTEVkQlJYWkNTU3hGUVVGTkxFbEJRVWxxUWl4SlFVRkpaU3haUVVGWlRpeEZRVUZMUlN4RlFVRlZSeXhKUVVWNlEwa3NSVUZCVlN4RlFVZFdZaXhGUVVGTlV5eEZRVUZyUWl4RlFVTjRRa2dzUlVGQlZ5eEZRVU5ZUVN4RlFVZEtMRWxCUVV0UUxFVkJRVWtzUlVGQlIwRXNSVUZCU1VNc1JVRkJTMFFzUjBGQlN5eEZRVU40UWxrc1JVRkRSMnBDTEZWQlFWVlZMRVZCUVVsR0xGZEJRVmRJTEV0QlFVOHNSMEZEYUVOTUxGVkJRVlZWTEVWQlFVbEdMRmRCUVZkSUxFVkJRVWtzUzBGQlR5eEhRVU53UTB3c1ZVRkJWVlVzUlVGQlNVWXNWMEZCVjBnc1JVRkJTU3hMUVVGUExFVkJRM0pEVEN4VlFVRlZWU3hGUVVGSlJpeFhRVUZYU0N4RlFVRkpMRWxCUXk5Q1lTeEZRVUZKUXl4TFFVRmpSaXhIUVVGUExFZEJRVTBzU1VGREwwSkRMRVZCUVVsRExFdEJRV05HTEVkQlFVOHNSVUZCU3l4SlFVTTVRa01zUlVGQlNVTXNTMEZCYlVJc1NVRkJUa1lzUlVGdFFtNUNMRTlCYUVKM1FpeEpRVUZ3UWtZc1NVRkRSa1VzUlVGRFIycENMRlZCUVZWVkxFVkJRVWxHTEZkQlFWZElMRXRCUVU4c1JVRkRhRU5NTEZWQlFWVlZMRVZCUVVsR0xGZEJRVmRJTEVWQlFVa3NTMEZCVHl4RlFVTjJRMkVzUlVGQlNVTXNTMEZCYlVJc1NVRkJUa1lzUjBGSFN5eEpRVUZ3UWtZc1NVRkRSa1VzUlVGRFIycENMRlZCUVZWVkxFVkJRVWxHTEZkQlFWZElMRXRCUVU4c1IwRkRhRU5NTEZWQlFWVlZMRVZCUVVsR0xGZEJRVmRJTEVWQlFVa3NTMEZCVHl4RlFVTndRMHdzVlVGQlZWVXNSVUZCU1VZc1YwRkJWMGdzUlVGQlNTeExRVUZQTEVWQlEzWkRZU3hGUVVGSlF5eExRVUZqUml4SFFVRlBMRVZCUVVzc1NVRkRPVUpETEVWQlFVbERMRXRCUVcxQ0xFbEJRVTVHTEVkQlIxcERMRVZCUjFRc1UwRkJVMFVzWjBKQlFXbENReXhIUVVONFFpeFBRVUZQZEVJc1QwRkJUM05DTEVkQlFVOHNSMEZCU3l4SlFVTjRRblJDTEU5QlFVOXpRaXhIUVVGUExFZEJRVXNzU1VGRGJrSjBRaXhQUVVGUGMwSXNSMEZCVHl4RlFVRkpMRWxCUTJ4Q2RFSXNUMEZCWVN4SFFVRk9jMElzUjBGSFdDeFRRVUZUUXl4WlFVRmhReXhGUVVGUFF5eEZRVUZQUXl4SFFVZHNReXhKUVVaQkxFbEJRVWxTTEVWQlEwRlRMRVZCUVZNc1IwRkRTbkpDTEVWQlFVbHRRaXhGUVVGUGJrSXNSVUZCU1c5Q0xFVkJRVXR3UWl4SFFVRkxMRVZCUTJoRFdTeEhRVU5KVFN4RlFVRk5iRUlzU1VGQlRTeEhRVUZOTEZkQlEyeENhMElzUlVGQlRXeENMRVZCUVVrc1NVRkJUU3hGUVVGTExGRkJRMUFzU1VGQlptdENMRVZCUVUxc1FpeEZRVUZKTEVsQlEySnhRaXhGUVVGUFF5eExRVUZMVUN4blFrRkJaMEpJTEVsQlJUbENMRTlCUVU5VExFVkJRVTlGTEV0QlFVc3NTVUZIY2tJc1UwRkJVemxDTEdOQlFXVjVRaXhIUVZGMFFpeEpRVkJCTEVsQlFVbE9MRVZCUTBGWUxFVkJRVTFwUWl4RlFVRk5hRUlzVDBGRFduTkNMRVZCUVdGMlFpeEZRVUZOTEVWQlEyNUNkMElzUlVGQlVTeEhRVWxJZWtJc1JVRkJTU3hGUVVGSE1FSXNSVUZCVDNwQ0xFVkJRVTExUWl4RlFVRlplRUlzUlVGQlNUQkNMRVZCUVUweFFpeEhRVWc1UWl4TlFVbHVRbmxDTEVWQlFVMUlMRXRCUVV0TUxGbEJRVmxETEVWQlFVOXNRaXhGUVVGSlFTeEZRVXBtTEUxQlNYRkRNRUlzUlVGQlQwRXNSVUZCVVRGQ0xFVkJTbkJFTEZGQmVVSnlRaXhQUVdwQ2JVSXNTVUZCWm5kQ0xFZEJRMFphTEVWQlFVMU5MRVZCUVUxcVFpeEZRVUZOTEVkQlEyeENkMElzUlVGQlRVZ3NTMEZEU2pWQ0xFOUJRVTlyUWl4SFFVRlBMRWRCUTJSc1FpeFBRVUZSYTBJc1IwRkJUeXhGUVVGTExFbEJRM0JDTEU5QlJYTkNMRWxCUVdaWkxFbEJRMVJhTEVkQlFVOU5MRVZCUVUxcVFpeEZRVUZOTEVsQlFVMHNSMEZCUzJsQ0xFVkJRVTFxUWl4RlFVRk5MRWRCUXpGRGQwSXNSVUZCVFVnc1MwRkRTalZDTEU5QlFVOXJRaXhIUVVGUExFbEJRMlJzUWl4UFFVRlJhMElzUjBGQlR5eEZRVUZMTEVsQlEzQkNiRUlzVDBGQlVXdENMRWRCUVU4c1JVRkJTeXhKUVVOd1FpeE5RVWxIWVN4RlFVRk5SaXhMUVVGTExFbEJiRWx3UWpWQ0xGVkJRVlVzU1VGQlNWRXNWMEZCVnl4SlFVRk5MRWRCUXk5Q1VpeFZRVUZWTEVsQlFVbFJMRmRCUVZjc1NVRkJUU0lzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5emRHRm5hVzVuTDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwySmhjMlUyTkMxcWN5OXBibVJsZUM1cWN5SjkiLCJcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltVnRjSFI1TG1weklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lJaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZjM1JoWjJsdVp5OXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlMWEpsYzI5c2RtVXZaVzF3ZEhrdWFuTWlmUT09IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIGJhc2U2ND1yZXF1aXJlKFwiYmFzZTY0LWpzXCIpLGllZWU3NTQ9cmVxdWlyZShcImllZWU3NTRcIik7ZXhwb3J0cy5CdWZmZXI9QnVmZmVyLGV4cG9ydHMuU2xvd0J1ZmZlcj1TbG93QnVmZmVyLGV4cG9ydHMuSU5TUEVDVF9NQVhfQllURVM9NTA7dmFyIEtfTUFYX0xFTkdUSD0yMTQ3NDgzNjQ3O2Z1bmN0aW9uIHR5cGVkQXJyYXlTdXBwb3J0KCl7dHJ5e3ZhciBlPW5ldyBVaW50OEFycmF5KDEpO3JldHVybiBlLl9fcHJvdG9fXz17X19wcm90b19fOlVpbnQ4QXJyYXkucHJvdG90eXBlLGZvbzpmdW5jdGlvbigpe3JldHVybiA0Mn19LDQyPT09ZS5mb28oKX1jYXRjaChlKXtyZXR1cm4hMX19ZnVuY3Rpb24gY3JlYXRlQnVmZmVyKGUpe2lmKGU+S19NQVhfTEVOR1RIKXRocm93IG5ldyBSYW5nZUVycm9yKCdUaGUgdmFsdWUgXCInK2UrJ1wiIGlzIGludmFsaWQgZm9yIG9wdGlvbiBcInNpemVcIicpO3ZhciB0PW5ldyBVaW50OEFycmF5KGUpO3JldHVybiB0Ll9fcHJvdG9fXz1CdWZmZXIucHJvdG90eXBlLHR9ZnVuY3Rpb24gQnVmZmVyKGUsdCxyKXtpZihcIm51bWJlclwiPT10eXBlb2YgZSl7aWYoXCJzdHJpbmdcIj09dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlIFwic3RyaW5nXCIgYXJndW1lbnQgbXVzdCBiZSBvZiB0eXBlIHN0cmluZy4gUmVjZWl2ZWQgdHlwZSBudW1iZXInKTtyZXR1cm4gYWxsb2NVbnNhZmUoZSl9cmV0dXJuIGZyb20oZSx0LHIpfWZ1bmN0aW9uIGZyb20oZSx0LHIpe2lmKFwic3RyaW5nXCI9PXR5cGVvZiBlKXJldHVybiBmcm9tU3RyaW5nKGUsdCk7aWYoQXJyYXlCdWZmZXIuaXNWaWV3KGUpKXJldHVybiBmcm9tQXJyYXlMaWtlKGUpO2lmKG51bGw9PWUpdGhyb3cgVHlwZUVycm9yKFwiVGhlIGZpcnN0IGFyZ3VtZW50IG11c3QgYmUgb25lIG9mIHR5cGUgc3RyaW5nLCBCdWZmZXIsIEFycmF5QnVmZmVyLCBBcnJheSwgb3IgQXJyYXktbGlrZSBPYmplY3QuIFJlY2VpdmVkIHR5cGUgXCIrdHlwZW9mIGUpO2lmKGlzSW5zdGFuY2UoZSxBcnJheUJ1ZmZlcil8fGUmJmlzSW5zdGFuY2UoZS5idWZmZXIsQXJyYXlCdWZmZXIpKXJldHVybiBmcm9tQXJyYXlCdWZmZXIoZSx0LHIpO2lmKFwibnVtYmVyXCI9PXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSBcInZhbHVlXCIgYXJndW1lbnQgbXVzdCBub3QgYmUgb2YgdHlwZSBudW1iZXIuIFJlY2VpdmVkIHR5cGUgbnVtYmVyJyk7dmFyIG49ZS52YWx1ZU9mJiZlLnZhbHVlT2YoKTtpZihudWxsIT1uJiZuIT09ZSlyZXR1cm4gQnVmZmVyLmZyb20obix0LHIpO3ZhciBmPWZyb21PYmplY3QoZSk7aWYoZilyZXR1cm4gZjtpZihcInVuZGVmaW5lZFwiIT10eXBlb2YgU3ltYm9sJiZudWxsIT1TeW1ib2wudG9QcmltaXRpdmUmJlwiZnVuY3Rpb25cIj09dHlwZW9mIGVbU3ltYm9sLnRvUHJpbWl0aXZlXSlyZXR1cm4gQnVmZmVyLmZyb20oZVtTeW1ib2wudG9QcmltaXRpdmVdKFwic3RyaW5nXCIpLHQscik7dGhyb3cgbmV3IFR5cGVFcnJvcihcIlRoZSBmaXJzdCBhcmd1bWVudCBtdXN0IGJlIG9uZSBvZiB0eXBlIHN0cmluZywgQnVmZmVyLCBBcnJheUJ1ZmZlciwgQXJyYXksIG9yIEFycmF5LWxpa2UgT2JqZWN0LiBSZWNlaXZlZCB0eXBlIFwiK3R5cGVvZiBlKX1mdW5jdGlvbiBhc3NlcnRTaXplKGUpe2lmKFwibnVtYmVyXCIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoJ1wic2l6ZVwiIGFyZ3VtZW50IG11c3QgYmUgb2YgdHlwZSBudW1iZXInKTtpZihlPDApdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1RoZSB2YWx1ZSBcIicrZSsnXCIgaXMgaW52YWxpZCBmb3Igb3B0aW9uIFwic2l6ZVwiJyl9ZnVuY3Rpb24gYWxsb2MoZSx0LHIpe3JldHVybiBhc3NlcnRTaXplKGUpLGU8PTA/Y3JlYXRlQnVmZmVyKGUpOnZvaWQgMCE9PXQ/XCJzdHJpbmdcIj09dHlwZW9mIHI/Y3JlYXRlQnVmZmVyKGUpLmZpbGwodCxyKTpjcmVhdGVCdWZmZXIoZSkuZmlsbCh0KTpjcmVhdGVCdWZmZXIoZSl9ZnVuY3Rpb24gYWxsb2NVbnNhZmUoZSl7cmV0dXJuIGFzc2VydFNpemUoZSksY3JlYXRlQnVmZmVyKGU8MD8wOjB8Y2hlY2tlZChlKSl9ZnVuY3Rpb24gZnJvbVN0cmluZyhlLHQpe2lmKFwic3RyaW5nXCI9PXR5cGVvZiB0JiZcIlwiIT09dHx8KHQ9XCJ1dGY4XCIpLCFCdWZmZXIuaXNFbmNvZGluZyh0KSl0aHJvdyBuZXcgVHlwZUVycm9yKFwiVW5rbm93biBlbmNvZGluZzogXCIrdCk7dmFyIHI9MHxieXRlTGVuZ3RoKGUsdCksbj1jcmVhdGVCdWZmZXIociksZj1uLndyaXRlKGUsdCk7cmV0dXJuIGYhPT1yJiYobj1uLnNsaWNlKDAsZikpLG59ZnVuY3Rpb24gZnJvbUFycmF5TGlrZShlKXtmb3IodmFyIHQ9ZS5sZW5ndGg8MD8wOjB8Y2hlY2tlZChlLmxlbmd0aCkscj1jcmVhdGVCdWZmZXIodCksbj0wO248dDtuKz0xKXJbbl09MjU1JmVbbl07cmV0dXJuIHJ9ZnVuY3Rpb24gZnJvbUFycmF5QnVmZmVyKGUsdCxyKXtpZih0PDB8fGUuYnl0ZUxlbmd0aDx0KXRocm93IG5ldyBSYW5nZUVycm9yKCdcIm9mZnNldFwiIGlzIG91dHNpZGUgb2YgYnVmZmVyIGJvdW5kcycpO2lmKGUuYnl0ZUxlbmd0aDx0KyhyfHwwKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcignXCJsZW5ndGhcIiBpcyBvdXRzaWRlIG9mIGJ1ZmZlciBib3VuZHMnKTt2YXIgbjtyZXR1cm4obj12b2lkIDA9PT10JiZ2b2lkIDA9PT1yP25ldyBVaW50OEFycmF5KGUpOnZvaWQgMD09PXI/bmV3IFVpbnQ4QXJyYXkoZSx0KTpuZXcgVWludDhBcnJheShlLHQscikpLl9fcHJvdG9fXz1CdWZmZXIucHJvdG90eXBlLG59ZnVuY3Rpb24gZnJvbU9iamVjdChlKXtpZihCdWZmZXIuaXNCdWZmZXIoZSkpe3ZhciB0PTB8Y2hlY2tlZChlLmxlbmd0aCkscj1jcmVhdGVCdWZmZXIodCk7cmV0dXJuIDA9PT1yLmxlbmd0aD9yOihlLmNvcHkociwwLDAsdCkscil9cmV0dXJuIHZvaWQgMCE9PWUubGVuZ3RoP1wibnVtYmVyXCIhPXR5cGVvZiBlLmxlbmd0aHx8bnVtYmVySXNOYU4oZS5sZW5ndGgpP2NyZWF0ZUJ1ZmZlcigwKTpmcm9tQXJyYXlMaWtlKGUpOlwiQnVmZmVyXCI9PT1lLnR5cGUmJkFycmF5LmlzQXJyYXkoZS5kYXRhKT9mcm9tQXJyYXlMaWtlKGUuZGF0YSk6dm9pZCAwfWZ1bmN0aW9uIGNoZWNrZWQoZSl7aWYoZT49S19NQVhfTEVOR1RIKXRocm93IG5ldyBSYW5nZUVycm9yKFwiQXR0ZW1wdCB0byBhbGxvY2F0ZSBCdWZmZXIgbGFyZ2VyIHRoYW4gbWF4aW11bSBzaXplOiAweFwiK0tfTUFYX0xFTkdUSC50b1N0cmluZygxNikrXCIgYnl0ZXNcIik7cmV0dXJuIDB8ZX1mdW5jdGlvbiBTbG93QnVmZmVyKGUpe3JldHVybitlIT1lJiYoZT0wKSxCdWZmZXIuYWxsb2MoK2UpfWZ1bmN0aW9uIGJ5dGVMZW5ndGgoZSx0KXtpZihCdWZmZXIuaXNCdWZmZXIoZSkpcmV0dXJuIGUubGVuZ3RoO2lmKEFycmF5QnVmZmVyLmlzVmlldyhlKXx8aXNJbnN0YW5jZShlLEFycmF5QnVmZmVyKSlyZXR1cm4gZS5ieXRlTGVuZ3RoO2lmKFwic3RyaW5nXCIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSBcInN0cmluZ1wiIGFyZ3VtZW50IG11c3QgYmUgb25lIG9mIHR5cGUgc3RyaW5nLCBCdWZmZXIsIG9yIEFycmF5QnVmZmVyLiBSZWNlaXZlZCB0eXBlICcrdHlwZW9mIGUpO3ZhciByPWUubGVuZ3RoLG49YXJndW1lbnRzLmxlbmd0aD4yJiYhMD09PWFyZ3VtZW50c1syXTtpZighbiYmMD09PXIpcmV0dXJuIDA7Zm9yKHZhciBmPSExOzspc3dpdGNoKHQpe2Nhc2VcImFzY2lpXCI6Y2FzZVwibGF0aW4xXCI6Y2FzZVwiYmluYXJ5XCI6cmV0dXJuIHI7Y2FzZVwidXRmOFwiOmNhc2VcInV0Zi04XCI6cmV0dXJuIHV0ZjhUb0J5dGVzKGUpLmxlbmd0aDtjYXNlXCJ1Y3MyXCI6Y2FzZVwidWNzLTJcIjpjYXNlXCJ1dGYxNmxlXCI6Y2FzZVwidXRmLTE2bGVcIjpyZXR1cm4gMipyO2Nhc2VcImhleFwiOnJldHVybiByPj4+MTtjYXNlXCJiYXNlNjRcIjpyZXR1cm4gYmFzZTY0VG9CeXRlcyhlKS5sZW5ndGg7ZGVmYXVsdDppZihmKXJldHVybiBuPy0xOnV0ZjhUb0J5dGVzKGUpLmxlbmd0aDt0PShcIlwiK3QpLnRvTG93ZXJDYXNlKCksZj0hMH19ZnVuY3Rpb24gc2xvd1RvU3RyaW5nKGUsdCxyKXt2YXIgbj0hMTtpZigodm9pZCAwPT09dHx8dDwwKSYmKHQ9MCksdD50aGlzLmxlbmd0aClyZXR1cm5cIlwiO2lmKCh2b2lkIDA9PT1yfHxyPnRoaXMubGVuZ3RoKSYmKHI9dGhpcy5sZW5ndGgpLHI8PTApcmV0dXJuXCJcIjtpZigocj4+Pj0wKTw9KHQ+Pj49MCkpcmV0dXJuXCJcIjtmb3IoZXx8KGU9XCJ1dGY4XCIpOzspc3dpdGNoKGUpe2Nhc2VcImhleFwiOnJldHVybiBoZXhTbGljZSh0aGlzLHQscik7Y2FzZVwidXRmOFwiOmNhc2VcInV0Zi04XCI6cmV0dXJuIHV0ZjhTbGljZSh0aGlzLHQscik7Y2FzZVwiYXNjaWlcIjpyZXR1cm4gYXNjaWlTbGljZSh0aGlzLHQscik7Y2FzZVwibGF0aW4xXCI6Y2FzZVwiYmluYXJ5XCI6cmV0dXJuIGxhdGluMVNsaWNlKHRoaXMsdCxyKTtjYXNlXCJiYXNlNjRcIjpyZXR1cm4gYmFzZTY0U2xpY2UodGhpcyx0LHIpO2Nhc2VcInVjczJcIjpjYXNlXCJ1Y3MtMlwiOmNhc2VcInV0ZjE2bGVcIjpjYXNlXCJ1dGYtMTZsZVwiOnJldHVybiB1dGYxNmxlU2xpY2UodGhpcyx0LHIpO2RlZmF1bHQ6aWYobil0aHJvdyBuZXcgVHlwZUVycm9yKFwiVW5rbm93biBlbmNvZGluZzogXCIrZSk7ZT0oZStcIlwiKS50b0xvd2VyQ2FzZSgpLG49ITB9fWZ1bmN0aW9uIHN3YXAoZSx0LHIpe3ZhciBuPWVbdF07ZVt0XT1lW3JdLGVbcl09bn1mdW5jdGlvbiBiaWRpcmVjdGlvbmFsSW5kZXhPZihlLHQscixuLGYpe2lmKDA9PT1lLmxlbmd0aClyZXR1cm4tMTtpZihcInN0cmluZ1wiPT10eXBlb2Ygcj8obj1yLHI9MCk6cj4yMTQ3NDgzNjQ3P3I9MjE0NzQ4MzY0NzpyPC0yMTQ3NDgzNjQ4JiYocj0tMjE0NzQ4MzY0OCksbnVtYmVySXNOYU4ocj0rcikmJihyPWY/MDplLmxlbmd0aC0xKSxyPDAmJihyPWUubGVuZ3RoK3IpLHI+PWUubGVuZ3RoKXtpZihmKXJldHVybi0xO3I9ZS5sZW5ndGgtMX1lbHNlIGlmKHI8MCl7aWYoIWYpcmV0dXJuLTE7cj0wfWlmKFwic3RyaW5nXCI9PXR5cGVvZiB0JiYodD1CdWZmZXIuZnJvbSh0LG4pKSxCdWZmZXIuaXNCdWZmZXIodCkpcmV0dXJuIDA9PT10Lmxlbmd0aD8tMTphcnJheUluZGV4T2YoZSx0LHIsbixmKTtpZihcIm51bWJlclwiPT10eXBlb2YgdClyZXR1cm4gdCY9MjU1LFwiZnVuY3Rpb25cIj09dHlwZW9mIFVpbnQ4QXJyYXkucHJvdG90eXBlLmluZGV4T2Y/Zj9VaW50OEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoZSx0LHIpOlVpbnQ4QXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoZSx0LHIpOmFycmF5SW5kZXhPZihlLFt0XSxyLG4sZik7dGhyb3cgbmV3IFR5cGVFcnJvcihcInZhbCBtdXN0IGJlIHN0cmluZywgbnVtYmVyIG9yIEJ1ZmZlclwiKX1mdW5jdGlvbiBhcnJheUluZGV4T2YoZSx0LHIsbixmKXt2YXIgaSxvPTEsdT1lLmxlbmd0aCxzPXQubGVuZ3RoO2lmKHZvaWQgMCE9PW4mJihcInVjczJcIj09PShuPVN0cmluZyhuKS50b0xvd2VyQ2FzZSgpKXx8XCJ1Y3MtMlwiPT09bnx8XCJ1dGYxNmxlXCI9PT1ufHxcInV0Zi0xNmxlXCI9PT1uKSl7aWYoZS5sZW5ndGg8Mnx8dC5sZW5ndGg8MilyZXR1cm4tMTtvPTIsdS89MixzLz0yLHIvPTJ9ZnVuY3Rpb24gYShlLHQpe3JldHVybiAxPT09bz9lW3RdOmUucmVhZFVJbnQxNkJFKHQqbyl9aWYoZil7dmFyIGg9LTE7Zm9yKGk9cjtpPHU7aSsrKWlmKGEoZSxpKT09PWEodCwtMT09PWg/MDppLWgpKXtpZigtMT09PWgmJihoPWkpLGktaCsxPT09cylyZXR1cm4gaCpvfWVsc2UtMSE9PWgmJihpLT1pLWgpLGg9LTF9ZWxzZSBmb3IocitzPnUmJihyPXUtcyksaT1yO2k+PTA7aS0tKXtmb3IodmFyIGM9ITAsbD0wO2w8cztsKyspaWYoYShlLGkrbCkhPT1hKHQsbCkpe2M9ITE7YnJlYWt9aWYoYylyZXR1cm4gaX1yZXR1cm4tMX1mdW5jdGlvbiBoZXhXcml0ZShlLHQscixuKXtyPU51bWJlcihyKXx8MDt2YXIgZj1lLmxlbmd0aC1yO24/KG49TnVtYmVyKG4pKT5mJiYobj1mKTpuPWY7dmFyIGk9dC5sZW5ndGg7bj5pLzImJihuPWkvMik7Zm9yKHZhciBvPTA7bzxuOysrbyl7dmFyIHU9cGFyc2VJbnQodC5zdWJzdHIoMipvLDIpLDE2KTtpZihudW1iZXJJc05hTih1KSlyZXR1cm4gbztlW3Irb109dX1yZXR1cm4gb31mdW5jdGlvbiB1dGY4V3JpdGUoZSx0LHIsbil7cmV0dXJuIGJsaXRCdWZmZXIodXRmOFRvQnl0ZXModCxlLmxlbmd0aC1yKSxlLHIsbil9ZnVuY3Rpb24gYXNjaWlXcml0ZShlLHQscixuKXtyZXR1cm4gYmxpdEJ1ZmZlcihhc2NpaVRvQnl0ZXModCksZSxyLG4pfWZ1bmN0aW9uIGxhdGluMVdyaXRlKGUsdCxyLG4pe3JldHVybiBhc2NpaVdyaXRlKGUsdCxyLG4pfWZ1bmN0aW9uIGJhc2U2NFdyaXRlKGUsdCxyLG4pe3JldHVybiBibGl0QnVmZmVyKGJhc2U2NFRvQnl0ZXModCksZSxyLG4pfWZ1bmN0aW9uIHVjczJXcml0ZShlLHQscixuKXtyZXR1cm4gYmxpdEJ1ZmZlcih1dGYxNmxlVG9CeXRlcyh0LGUubGVuZ3RoLXIpLGUscixuKX1mdW5jdGlvbiBiYXNlNjRTbGljZShlLHQscil7cmV0dXJuIDA9PT10JiZyPT09ZS5sZW5ndGg/YmFzZTY0LmZyb21CeXRlQXJyYXkoZSk6YmFzZTY0LmZyb21CeXRlQXJyYXkoZS5zbGljZSh0LHIpKX1mdW5jdGlvbiB1dGY4U2xpY2UoZSx0LHIpe3I9TWF0aC5taW4oZS5sZW5ndGgscik7Zm9yKHZhciBuPVtdLGY9dDtmPHI7KXt2YXIgaSxvLHUscyxhPWVbZl0saD1udWxsLGM9YT4yMzk/NDphPjIyMz8zOmE+MTkxPzI6MTtpZihmK2M8PXIpc3dpdGNoKGMpe2Nhc2UgMTphPDEyOCYmKGg9YSk7YnJlYWs7Y2FzZSAyOjEyOD09KDE5MiYoaT1lW2YrMV0pKSYmKHM9KDMxJmEpPDw2fDYzJmkpPjEyNyYmKGg9cyk7YnJlYWs7Y2FzZSAzOmk9ZVtmKzFdLG89ZVtmKzJdLDEyOD09KDE5MiZpKSYmMTI4PT0oMTkyJm8pJiYocz0oMTUmYSk8PDEyfCg2MyZpKTw8Nnw2MyZvKT4yMDQ3JiYoczw1NTI5Nnx8cz41NzM0MykmJihoPXMpO2JyZWFrO2Nhc2UgNDppPWVbZisxXSxvPWVbZisyXSx1PWVbZiszXSwxMjg9PSgxOTImaSkmJjEyOD09KDE5MiZvKSYmMTI4PT0oMTkyJnUpJiYocz0oMTUmYSk8PDE4fCg2MyZpKTw8MTJ8KDYzJm8pPDw2fDYzJnUpPjY1NTM1JiZzPDExMTQxMTImJihoPXMpfW51bGw9PT1oPyhoPTY1NTMzLGM9MSk6aD42NTUzNSYmKGgtPTY1NTM2LG4ucHVzaChoPj4+MTAmMTAyM3w1NTI5NiksaD01NjMyMHwxMDIzJmgpLG4ucHVzaChoKSxmKz1jfXJldHVybiBkZWNvZGVDb2RlUG9pbnRzQXJyYXkobil9ZXhwb3J0cy5rTWF4TGVuZ3RoPUtfTUFYX0xFTkdUSCxCdWZmZXIuVFlQRURfQVJSQVlfU1VQUE9SVD10eXBlZEFycmF5U3VwcG9ydCgpLEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUfHxcInVuZGVmaW5lZFwiPT10eXBlb2YgY29uc29sZXx8XCJmdW5jdGlvblwiIT10eXBlb2YgY29uc29sZS5lcnJvcnx8Y29uc29sZS5lcnJvcihcIlRoaXMgYnJvd3NlciBsYWNrcyB0eXBlZCBhcnJheSAoVWludDhBcnJheSkgc3VwcG9ydCB3aGljaCBpcyByZXF1aXJlZCBieSBgYnVmZmVyYCB2NS54LiBVc2UgYGJ1ZmZlcmAgdjQueCBpZiB5b3UgcmVxdWlyZSBvbGQgYnJvd3NlciBzdXBwb3J0LlwiKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoQnVmZmVyLnByb3RvdHlwZSxcInBhcmVudFwiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe2lmKEJ1ZmZlci5pc0J1ZmZlcih0aGlzKSlyZXR1cm4gdGhpcy5idWZmZXJ9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KEJ1ZmZlci5wcm90b3R5cGUsXCJvZmZzZXRcIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtpZihCdWZmZXIuaXNCdWZmZXIodGhpcykpcmV0dXJuIHRoaXMuYnl0ZU9mZnNldH19KSxcInVuZGVmaW5lZFwiIT10eXBlb2YgU3ltYm9sJiZudWxsIT1TeW1ib2wuc3BlY2llcyYmQnVmZmVyW1N5bWJvbC5zcGVjaWVzXT09PUJ1ZmZlciYmT2JqZWN0LmRlZmluZVByb3BlcnR5KEJ1ZmZlcixTeW1ib2wuc3BlY2llcyx7dmFsdWU6bnVsbCxjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMSx3cml0YWJsZTohMX0pLEJ1ZmZlci5wb29sU2l6ZT04MTkyLEJ1ZmZlci5mcm9tPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZnJvbShlLHQscil9LEJ1ZmZlci5wcm90b3R5cGUuX19wcm90b19fPVVpbnQ4QXJyYXkucHJvdG90eXBlLEJ1ZmZlci5fX3Byb3RvX189VWludDhBcnJheSxCdWZmZXIuYWxsb2M9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBhbGxvYyhlLHQscil9LEJ1ZmZlci5hbGxvY1Vuc2FmZT1mdW5jdGlvbihlKXtyZXR1cm4gYWxsb2NVbnNhZmUoZSl9LEJ1ZmZlci5hbGxvY1Vuc2FmZVNsb3c9ZnVuY3Rpb24oZSl7cmV0dXJuIGFsbG9jVW5zYWZlKGUpfSxCdWZmZXIuaXNCdWZmZXI9ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGwhPWUmJiEwPT09ZS5faXNCdWZmZXImJmUhPT1CdWZmZXIucHJvdG90eXBlfSxCdWZmZXIuY29tcGFyZT1mdW5jdGlvbihlLHQpe2lmKGlzSW5zdGFuY2UoZSxVaW50OEFycmF5KSYmKGU9QnVmZmVyLmZyb20oZSxlLm9mZnNldCxlLmJ5dGVMZW5ndGgpKSxpc0luc3RhbmNlKHQsVWludDhBcnJheSkmJih0PUJ1ZmZlci5mcm9tKHQsdC5vZmZzZXQsdC5ieXRlTGVuZ3RoKSksIUJ1ZmZlci5pc0J1ZmZlcihlKXx8IUJ1ZmZlci5pc0J1ZmZlcih0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgXCJidWYxXCIsIFwiYnVmMlwiIGFyZ3VtZW50cyBtdXN0IGJlIG9uZSBvZiB0eXBlIEJ1ZmZlciBvciBVaW50OEFycmF5Jyk7aWYoZT09PXQpcmV0dXJuIDA7Zm9yKHZhciByPWUubGVuZ3RoLG49dC5sZW5ndGgsZj0wLGk9TWF0aC5taW4ocixuKTtmPGk7KytmKWlmKGVbZl0hPT10W2ZdKXtyPWVbZl0sbj10W2ZdO2JyZWFrfXJldHVybiByPG4/LTE6bjxyPzE6MH0sQnVmZmVyLmlzRW5jb2Rpbmc9ZnVuY3Rpb24oZSl7c3dpdGNoKFN0cmluZyhlKS50b0xvd2VyQ2FzZSgpKXtjYXNlXCJoZXhcIjpjYXNlXCJ1dGY4XCI6Y2FzZVwidXRmLThcIjpjYXNlXCJhc2NpaVwiOmNhc2VcImxhdGluMVwiOmNhc2VcImJpbmFyeVwiOmNhc2VcImJhc2U2NFwiOmNhc2VcInVjczJcIjpjYXNlXCJ1Y3MtMlwiOmNhc2VcInV0ZjE2bGVcIjpjYXNlXCJ1dGYtMTZsZVwiOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fSxCdWZmZXIuY29uY2F0PWZ1bmN0aW9uKGUsdCl7aWYoIUFycmF5LmlzQXJyYXkoZSkpdGhyb3cgbmV3IFR5cGVFcnJvcignXCJsaXN0XCIgYXJndW1lbnQgbXVzdCBiZSBhbiBBcnJheSBvZiBCdWZmZXJzJyk7aWYoMD09PWUubGVuZ3RoKXJldHVybiBCdWZmZXIuYWxsb2MoMCk7dmFyIHI7aWYodm9pZCAwPT09dClmb3IodD0wLHI9MDtyPGUubGVuZ3RoOysrcil0Kz1lW3JdLmxlbmd0aDt2YXIgbj1CdWZmZXIuYWxsb2NVbnNhZmUodCksZj0wO2ZvcihyPTA7cjxlLmxlbmd0aDsrK3Ipe3ZhciBpPWVbcl07aWYoaXNJbnN0YW5jZShpLFVpbnQ4QXJyYXkpJiYoaT1CdWZmZXIuZnJvbShpKSksIUJ1ZmZlci5pc0J1ZmZlcihpKSl0aHJvdyBuZXcgVHlwZUVycm9yKCdcImxpc3RcIiBhcmd1bWVudCBtdXN0IGJlIGFuIEFycmF5IG9mIEJ1ZmZlcnMnKTtpLmNvcHkobixmKSxmKz1pLmxlbmd0aH1yZXR1cm4gbn0sQnVmZmVyLmJ5dGVMZW5ndGg9Ynl0ZUxlbmd0aCxCdWZmZXIucHJvdG90eXBlLl9pc0J1ZmZlcj0hMCxCdWZmZXIucHJvdG90eXBlLnN3YXAxNj1mdW5jdGlvbigpe3ZhciBlPXRoaXMubGVuZ3RoO2lmKGUlMiE9MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIkJ1ZmZlciBzaXplIG11c3QgYmUgYSBtdWx0aXBsZSBvZiAxNi1iaXRzXCIpO2Zvcih2YXIgdD0wO3Q8ZTt0Kz0yKXN3YXAodGhpcyx0LHQrMSk7cmV0dXJuIHRoaXN9LEJ1ZmZlci5wcm90b3R5cGUuc3dhcDMyPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5sZW5ndGg7aWYoZSU0IT0wKXRocm93IG5ldyBSYW5nZUVycm9yKFwiQnVmZmVyIHNpemUgbXVzdCBiZSBhIG11bHRpcGxlIG9mIDMyLWJpdHNcIik7Zm9yKHZhciB0PTA7dDxlO3QrPTQpc3dhcCh0aGlzLHQsdCszKSxzd2FwKHRoaXMsdCsxLHQrMik7cmV0dXJuIHRoaXN9LEJ1ZmZlci5wcm90b3R5cGUuc3dhcDY0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5sZW5ndGg7aWYoZSU4IT0wKXRocm93IG5ldyBSYW5nZUVycm9yKFwiQnVmZmVyIHNpemUgbXVzdCBiZSBhIG11bHRpcGxlIG9mIDY0LWJpdHNcIik7Zm9yKHZhciB0PTA7dDxlO3QrPTgpc3dhcCh0aGlzLHQsdCs3KSxzd2FwKHRoaXMsdCsxLHQrNiksc3dhcCh0aGlzLHQrMix0KzUpLHN3YXAodGhpcyx0KzMsdCs0KTtyZXR1cm4gdGhpc30sQnVmZmVyLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3ZhciBlPXRoaXMubGVuZ3RoO3JldHVybiAwPT09ZT9cIlwiOjA9PT1hcmd1bWVudHMubGVuZ3RoP3V0ZjhTbGljZSh0aGlzLDAsZSk6c2xvd1RvU3RyaW5nLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sQnVmZmVyLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZz1CdWZmZXIucHJvdG90eXBlLnRvU3RyaW5nLEJ1ZmZlci5wcm90b3R5cGUuZXF1YWxzPWZ1bmN0aW9uKGUpe2lmKCFCdWZmZXIuaXNCdWZmZXIoZSkpdGhyb3cgbmV3IFR5cGVFcnJvcihcIkFyZ3VtZW50IG11c3QgYmUgYSBCdWZmZXJcIik7cmV0dXJuIHRoaXM9PT1lfHwwPT09QnVmZmVyLmNvbXBhcmUodGhpcyxlKX0sQnVmZmVyLnByb3RvdHlwZS5pbnNwZWN0PWZ1bmN0aW9uKCl7dmFyIGU9XCJcIix0PWV4cG9ydHMuSU5TUEVDVF9NQVhfQllURVM7cmV0dXJuIGU9dGhpcy50b1N0cmluZyhcImhleFwiLDAsdCkucmVwbGFjZSgvKC57Mn0pL2csXCIkMSBcIikudHJpbSgpLHRoaXMubGVuZ3RoPnQmJihlKz1cIiAuLi4gXCIpLFwiPEJ1ZmZlciBcIitlK1wiPlwifSxCdWZmZXIucHJvdG90eXBlLmNvbXBhcmU9ZnVuY3Rpb24oZSx0LHIsbixmKXtpZihpc0luc3RhbmNlKGUsVWludDhBcnJheSkmJihlPUJ1ZmZlci5mcm9tKGUsZS5vZmZzZXQsZS5ieXRlTGVuZ3RoKSksIUJ1ZmZlci5pc0J1ZmZlcihlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgXCJ0YXJnZXRcIiBhcmd1bWVudCBtdXN0IGJlIG9uZSBvZiB0eXBlIEJ1ZmZlciBvciBVaW50OEFycmF5LiBSZWNlaXZlZCB0eXBlICcrdHlwZW9mIGUpO2lmKHZvaWQgMD09PXQmJih0PTApLHZvaWQgMD09PXImJihyPWU/ZS5sZW5ndGg6MCksdm9pZCAwPT09biYmKG49MCksdm9pZCAwPT09ZiYmKGY9dGhpcy5sZW5ndGgpLHQ8MHx8cj5lLmxlbmd0aHx8bjwwfHxmPnRoaXMubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKFwib3V0IG9mIHJhbmdlIGluZGV4XCIpO2lmKG4+PWYmJnQ+PXIpcmV0dXJuIDA7aWYobj49ZilyZXR1cm4tMTtpZih0Pj1yKXJldHVybiAxO2lmKHRoaXM9PT1lKXJldHVybiAwO2Zvcih2YXIgaT0oZj4+Pj0wKS0obj4+Pj0wKSxvPShyPj4+PTApLSh0Pj4+PTApLHU9TWF0aC5taW4oaSxvKSxzPXRoaXMuc2xpY2UobixmKSxhPWUuc2xpY2UodCxyKSxoPTA7aDx1OysraClpZihzW2hdIT09YVtoXSl7aT1zW2hdLG89YVtoXTticmVha31yZXR1cm4gaTxvPy0xOm88aT8xOjB9LEJ1ZmZlci5wcm90b3R5cGUuaW5jbHVkZXM9ZnVuY3Rpb24oZSx0LHIpe3JldHVybi0xIT09dGhpcy5pbmRleE9mKGUsdCxyKX0sQnVmZmVyLnByb3RvdHlwZS5pbmRleE9mPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gYmlkaXJlY3Rpb25hbEluZGV4T2YodGhpcyxlLHQsciwhMCl9LEJ1ZmZlci5wcm90b3R5cGUubGFzdEluZGV4T2Y9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBiaWRpcmVjdGlvbmFsSW5kZXhPZih0aGlzLGUsdCxyLCExKX0sQnVmZmVyLnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbihlLHQscixuKXtpZih2b2lkIDA9PT10KW49XCJ1dGY4XCIscj10aGlzLmxlbmd0aCx0PTA7ZWxzZSBpZih2b2lkIDA9PT1yJiZcInN0cmluZ1wiPT10eXBlb2YgdCluPXQscj10aGlzLmxlbmd0aCx0PTA7ZWxzZXtpZighaXNGaW5pdGUodCkpdGhyb3cgbmV3IEVycm9yKFwiQnVmZmVyLndyaXRlKHN0cmluZywgZW5jb2RpbmcsIG9mZnNldFssIGxlbmd0aF0pIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWRcIik7dD4+Pj0wLGlzRmluaXRlKHIpPyhyPj4+PTAsdm9pZCAwPT09biYmKG49XCJ1dGY4XCIpKToobj1yLHI9dm9pZCAwKX12YXIgZj10aGlzLmxlbmd0aC10O2lmKCh2b2lkIDA9PT1yfHxyPmYpJiYocj1mKSxlLmxlbmd0aD4wJiYocjwwfHx0PDApfHx0PnRoaXMubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKFwiQXR0ZW1wdCB0byB3cml0ZSBvdXRzaWRlIGJ1ZmZlciBib3VuZHNcIik7bnx8KG49XCJ1dGY4XCIpO2Zvcih2YXIgaT0hMTs7KXN3aXRjaChuKXtjYXNlXCJoZXhcIjpyZXR1cm4gaGV4V3JpdGUodGhpcyxlLHQscik7Y2FzZVwidXRmOFwiOmNhc2VcInV0Zi04XCI6cmV0dXJuIHV0ZjhXcml0ZSh0aGlzLGUsdCxyKTtjYXNlXCJhc2NpaVwiOnJldHVybiBhc2NpaVdyaXRlKHRoaXMsZSx0LHIpO2Nhc2VcImxhdGluMVwiOmNhc2VcImJpbmFyeVwiOnJldHVybiBsYXRpbjFXcml0ZSh0aGlzLGUsdCxyKTtjYXNlXCJiYXNlNjRcIjpyZXR1cm4gYmFzZTY0V3JpdGUodGhpcyxlLHQscik7Y2FzZVwidWNzMlwiOmNhc2VcInVjcy0yXCI6Y2FzZVwidXRmMTZsZVwiOmNhc2VcInV0Zi0xNmxlXCI6cmV0dXJuIHVjczJXcml0ZSh0aGlzLGUsdCxyKTtkZWZhdWx0OmlmKGkpdGhyb3cgbmV3IFR5cGVFcnJvcihcIlVua25vd24gZW5jb2Rpbmc6IFwiK24pO249KFwiXCIrbikudG9Mb3dlckNhc2UoKSxpPSEwfX0sQnVmZmVyLnByb3RvdHlwZS50b0pTT049ZnVuY3Rpb24oKXtyZXR1cm57dHlwZTpcIkJ1ZmZlclwiLGRhdGE6QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodGhpcy5fYXJyfHx0aGlzLDApfX07dmFyIE1BWF9BUkdVTUVOVFNfTEVOR1RIPTQwOTY7ZnVuY3Rpb24gZGVjb2RlQ29kZVBvaW50c0FycmF5KGUpe3ZhciB0PWUubGVuZ3RoO2lmKHQ8PU1BWF9BUkdVTUVOVFNfTEVOR1RIKXJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KFN0cmluZyxlKTtmb3IodmFyIHI9XCJcIixuPTA7bjx0OylyKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KFN0cmluZyxlLnNsaWNlKG4sbis9TUFYX0FSR1VNRU5UU19MRU5HVEgpKTtyZXR1cm4gcn1mdW5jdGlvbiBhc2NpaVNsaWNlKGUsdCxyKXt2YXIgbj1cIlwiO3I9TWF0aC5taW4oZS5sZW5ndGgscik7Zm9yKHZhciBmPXQ7ZjxyOysrZiluKz1TdHJpbmcuZnJvbUNoYXJDb2RlKDEyNyZlW2ZdKTtyZXR1cm4gbn1mdW5jdGlvbiBsYXRpbjFTbGljZShlLHQscil7dmFyIG49XCJcIjtyPU1hdGgubWluKGUubGVuZ3RoLHIpO2Zvcih2YXIgZj10O2Y8cjsrK2Ypbis9U3RyaW5nLmZyb21DaGFyQ29kZShlW2ZdKTtyZXR1cm4gbn1mdW5jdGlvbiBoZXhTbGljZShlLHQscil7dmFyIG49ZS5sZW5ndGg7KCF0fHx0PDApJiYodD0wKSwoIXJ8fHI8MHx8cj5uKSYmKHI9bik7Zm9yKHZhciBmPVwiXCIsaT10O2k8cjsrK2kpZis9dG9IZXgoZVtpXSk7cmV0dXJuIGZ9ZnVuY3Rpb24gdXRmMTZsZVNsaWNlKGUsdCxyKXtmb3IodmFyIG49ZS5zbGljZSh0LHIpLGY9XCJcIixpPTA7aTxuLmxlbmd0aDtpKz0yKWYrPVN0cmluZy5mcm9tQ2hhckNvZGUobltpXSsyNTYqbltpKzFdKTtyZXR1cm4gZn1mdW5jdGlvbiBjaGVja09mZnNldChlLHQscil7aWYoZSUxIT0wfHxlPDApdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJvZmZzZXQgaXMgbm90IHVpbnRcIik7aWYoZSt0PnIpdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJUcnlpbmcgdG8gYWNjZXNzIGJleW9uZCBidWZmZXIgbGVuZ3RoXCIpfWZ1bmN0aW9uIGNoZWNrSW50KGUsdCxyLG4sZixpKXtpZighQnVmZmVyLmlzQnVmZmVyKGUpKXRocm93IG5ldyBUeXBlRXJyb3IoJ1wiYnVmZmVyXCIgYXJndW1lbnQgbXVzdCBiZSBhIEJ1ZmZlciBpbnN0YW5jZScpO2lmKHQ+Znx8dDxpKXRocm93IG5ldyBSYW5nZUVycm9yKCdcInZhbHVlXCIgYXJndW1lbnQgaXMgb3V0IG9mIGJvdW5kcycpO2lmKHIrbj5lLmxlbmd0aCl0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIkluZGV4IG91dCBvZiByYW5nZVwiKX1mdW5jdGlvbiBjaGVja0lFRUU3NTQoZSx0LHIsbixmLGkpe2lmKHIrbj5lLmxlbmd0aCl0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIkluZGV4IG91dCBvZiByYW5nZVwiKTtpZihyPDApdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJJbmRleCBvdXQgb2YgcmFuZ2VcIil9ZnVuY3Rpb24gd3JpdGVGbG9hdChlLHQscixuLGYpe3JldHVybiB0PSt0LHI+Pj49MCxmfHxjaGVja0lFRUU3NTQoZSx0LHIsNCwzLjQwMjgyMzQ2NjM4NTI4ODZlMzgsLTMuNDAyODIzNDY2Mzg1Mjg4NmUzOCksaWVlZTc1NC53cml0ZShlLHQscixuLDIzLDQpLHIrNH1mdW5jdGlvbiB3cml0ZURvdWJsZShlLHQscixuLGYpe3JldHVybiB0PSt0LHI+Pj49MCxmfHxjaGVja0lFRUU3NTQoZSx0LHIsOCwxLjc5NzY5MzEzNDg2MjMxNTdlMzA4LC0xLjc5NzY5MzEzNDg2MjMxNTdlMzA4KSxpZWVlNzU0LndyaXRlKGUsdCxyLG4sNTIsOCkscis4fUJ1ZmZlci5wcm90b3R5cGUuc2xpY2U9ZnVuY3Rpb24oZSx0KXt2YXIgcj10aGlzLmxlbmd0aDsoZT1+fmUpPDA/KGUrPXIpPDAmJihlPTApOmU+ciYmKGU9ciksKHQ9dm9pZCAwPT09dD9yOn5+dCk8MD8odCs9cik8MCYmKHQ9MCk6dD5yJiYodD1yKSx0PGUmJih0PWUpO3ZhciBuPXRoaXMuc3ViYXJyYXkoZSx0KTtyZXR1cm4gbi5fX3Byb3RvX189QnVmZmVyLnByb3RvdHlwZSxufSxCdWZmZXIucHJvdG90eXBlLnJlYWRVSW50TEU9ZnVuY3Rpb24oZSx0LHIpe2U+Pj49MCx0Pj4+PTAscnx8Y2hlY2tPZmZzZXQoZSx0LHRoaXMubGVuZ3RoKTtmb3IodmFyIG49dGhpc1tlXSxmPTEsaT0wOysraTx0JiYoZio9MjU2KTspbis9dGhpc1tlK2ldKmY7cmV0dXJuIG59LEJ1ZmZlci5wcm90b3R5cGUucmVhZFVJbnRCRT1mdW5jdGlvbihlLHQscil7ZT4+Pj0wLHQ+Pj49MCxyfHxjaGVja09mZnNldChlLHQsdGhpcy5sZW5ndGgpO2Zvcih2YXIgbj10aGlzW2UrLS10XSxmPTE7dD4wJiYoZio9MjU2KTspbis9dGhpc1tlKy0tdF0qZjtyZXR1cm4gbn0sQnVmZmVyLnByb3RvdHlwZS5yZWFkVUludDg9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT4+Pj0wLHR8fGNoZWNrT2Zmc2V0KGUsMSx0aGlzLmxlbmd0aCksdGhpc1tlXX0sQnVmZmVyLnByb3RvdHlwZS5yZWFkVUludDE2TEU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT4+Pj0wLHR8fGNoZWNrT2Zmc2V0KGUsMix0aGlzLmxlbmd0aCksdGhpc1tlXXx0aGlzW2UrMV08PDh9LEJ1ZmZlci5wcm90b3R5cGUucmVhZFVJbnQxNkJFPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU+Pj49MCx0fHxjaGVja09mZnNldChlLDIsdGhpcy5sZW5ndGgpLHRoaXNbZV08PDh8dGhpc1tlKzFdfSxCdWZmZXIucHJvdG90eXBlLnJlYWRVSW50MzJMRT1mdW5jdGlvbihlLHQpe3JldHVybiBlPj4+PTAsdHx8Y2hlY2tPZmZzZXQoZSw0LHRoaXMubGVuZ3RoKSwodGhpc1tlXXx0aGlzW2UrMV08PDh8dGhpc1tlKzJdPDwxNikrMTY3NzcyMTYqdGhpc1tlKzNdfSxCdWZmZXIucHJvdG90eXBlLnJlYWRVSW50MzJCRT1mdW5jdGlvbihlLHQpe3JldHVybiBlPj4+PTAsdHx8Y2hlY2tPZmZzZXQoZSw0LHRoaXMubGVuZ3RoKSwxNjc3NzIxNip0aGlzW2VdKyh0aGlzW2UrMV08PDE2fHRoaXNbZSsyXTw8OHx0aGlzW2UrM10pfSxCdWZmZXIucHJvdG90eXBlLnJlYWRJbnRMRT1mdW5jdGlvbihlLHQscil7ZT4+Pj0wLHQ+Pj49MCxyfHxjaGVja09mZnNldChlLHQsdGhpcy5sZW5ndGgpO2Zvcih2YXIgbj10aGlzW2VdLGY9MSxpPTA7KytpPHQmJihmKj0yNTYpOyluKz10aGlzW2UraV0qZjtyZXR1cm4gbj49KGYqPTEyOCkmJihuLT1NYXRoLnBvdygyLDgqdCkpLG59LEJ1ZmZlci5wcm90b3R5cGUucmVhZEludEJFPWZ1bmN0aW9uKGUsdCxyKXtlPj4+PTAsdD4+Pj0wLHJ8fGNoZWNrT2Zmc2V0KGUsdCx0aGlzLmxlbmd0aCk7Zm9yKHZhciBuPXQsZj0xLGk9dGhpc1tlKy0tbl07bj4wJiYoZio9MjU2KTspaSs9dGhpc1tlKy0tbl0qZjtyZXR1cm4gaT49KGYqPTEyOCkmJihpLT1NYXRoLnBvdygyLDgqdCkpLGl9LEJ1ZmZlci5wcm90b3R5cGUucmVhZEludDg9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT4+Pj0wLHR8fGNoZWNrT2Zmc2V0KGUsMSx0aGlzLmxlbmd0aCksMTI4JnRoaXNbZV0/LTEqKDI1NS10aGlzW2VdKzEpOnRoaXNbZV19LEJ1ZmZlci5wcm90b3R5cGUucmVhZEludDE2TEU9ZnVuY3Rpb24oZSx0KXtlPj4+PTAsdHx8Y2hlY2tPZmZzZXQoZSwyLHRoaXMubGVuZ3RoKTt2YXIgcj10aGlzW2VdfHRoaXNbZSsxXTw8ODtyZXR1cm4gMzI3Njgmcj80Mjk0OTAxNzYwfHI6cn0sQnVmZmVyLnByb3RvdHlwZS5yZWFkSW50MTZCRT1mdW5jdGlvbihlLHQpe2U+Pj49MCx0fHxjaGVja09mZnNldChlLDIsdGhpcy5sZW5ndGgpO3ZhciByPXRoaXNbZSsxXXx0aGlzW2VdPDw4O3JldHVybiAzMjc2OCZyPzQyOTQ5MDE3NjB8cjpyfSxCdWZmZXIucHJvdG90eXBlLnJlYWRJbnQzMkxFPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU+Pj49MCx0fHxjaGVja09mZnNldChlLDQsdGhpcy5sZW5ndGgpLHRoaXNbZV18dGhpc1tlKzFdPDw4fHRoaXNbZSsyXTw8MTZ8dGhpc1tlKzNdPDwyNH0sQnVmZmVyLnByb3RvdHlwZS5yZWFkSW50MzJCRT1mdW5jdGlvbihlLHQpe3JldHVybiBlPj4+PTAsdHx8Y2hlY2tPZmZzZXQoZSw0LHRoaXMubGVuZ3RoKSx0aGlzW2VdPDwyNHx0aGlzW2UrMV08PDE2fHRoaXNbZSsyXTw8OHx0aGlzW2UrM119LEJ1ZmZlci5wcm90b3R5cGUucmVhZEZsb2F0TEU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT4+Pj0wLHR8fGNoZWNrT2Zmc2V0KGUsNCx0aGlzLmxlbmd0aCksaWVlZTc1NC5yZWFkKHRoaXMsZSwhMCwyMyw0KX0sQnVmZmVyLnByb3RvdHlwZS5yZWFkRmxvYXRCRT1mdW5jdGlvbihlLHQpe3JldHVybiBlPj4+PTAsdHx8Y2hlY2tPZmZzZXQoZSw0LHRoaXMubGVuZ3RoKSxpZWVlNzU0LnJlYWQodGhpcyxlLCExLDIzLDQpfSxCdWZmZXIucHJvdG90eXBlLnJlYWREb3VibGVMRT1mdW5jdGlvbihlLHQpe3JldHVybiBlPj4+PTAsdHx8Y2hlY2tPZmZzZXQoZSw4LHRoaXMubGVuZ3RoKSxpZWVlNzU0LnJlYWQodGhpcyxlLCEwLDUyLDgpfSxCdWZmZXIucHJvdG90eXBlLnJlYWREb3VibGVCRT1mdW5jdGlvbihlLHQpe3JldHVybiBlPj4+PTAsdHx8Y2hlY2tPZmZzZXQoZSw4LHRoaXMubGVuZ3RoKSxpZWVlNzU0LnJlYWQodGhpcyxlLCExLDUyLDgpfSxCdWZmZXIucHJvdG90eXBlLndyaXRlVUludExFPWZ1bmN0aW9uKGUsdCxyLG4peyhlPStlLHQ+Pj49MCxyPj4+PTAsbil8fGNoZWNrSW50KHRoaXMsZSx0LHIsTWF0aC5wb3coMiw4KnIpLTEsMCk7dmFyIGY9MSxpPTA7Zm9yKHRoaXNbdF09MjU1JmU7KytpPHImJihmKj0yNTYpOyl0aGlzW3QraV09ZS9mJjI1NTtyZXR1cm4gdCtyfSxCdWZmZXIucHJvdG90eXBlLndyaXRlVUludEJFPWZ1bmN0aW9uKGUsdCxyLG4peyhlPStlLHQ+Pj49MCxyPj4+PTAsbil8fGNoZWNrSW50KHRoaXMsZSx0LHIsTWF0aC5wb3coMiw4KnIpLTEsMCk7dmFyIGY9ci0xLGk9MTtmb3IodGhpc1t0K2ZdPTI1NSZlOy0tZj49MCYmKGkqPTI1Nik7KXRoaXNbdCtmXT1lL2kmMjU1O3JldHVybiB0K3J9LEJ1ZmZlci5wcm90b3R5cGUud3JpdGVVSW50OD1mdW5jdGlvbihlLHQscil7cmV0dXJuIGU9K2UsdD4+Pj0wLHJ8fGNoZWNrSW50KHRoaXMsZSx0LDEsMjU1LDApLHRoaXNbdF09MjU1JmUsdCsxfSxCdWZmZXIucHJvdG90eXBlLndyaXRlVUludDE2TEU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBlPStlLHQ+Pj49MCxyfHxjaGVja0ludCh0aGlzLGUsdCwyLDY1NTM1LDApLHRoaXNbdF09MjU1JmUsdGhpc1t0KzFdPWU+Pj44LHQrMn0sQnVmZmVyLnByb3RvdHlwZS53cml0ZVVJbnQxNkJFPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZT0rZSx0Pj4+PTAscnx8Y2hlY2tJbnQodGhpcyxlLHQsMiw2NTUzNSwwKSx0aGlzW3RdPWU+Pj44LHRoaXNbdCsxXT0yNTUmZSx0KzJ9LEJ1ZmZlci5wcm90b3R5cGUud3JpdGVVSW50MzJMRT1mdW5jdGlvbihlLHQscil7cmV0dXJuIGU9K2UsdD4+Pj0wLHJ8fGNoZWNrSW50KHRoaXMsZSx0LDQsNDI5NDk2NzI5NSwwKSx0aGlzW3QrM109ZT4+PjI0LHRoaXNbdCsyXT1lPj4+MTYsdGhpc1t0KzFdPWU+Pj44LHRoaXNbdF09MjU1JmUsdCs0fSxCdWZmZXIucHJvdG90eXBlLndyaXRlVUludDMyQkU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBlPStlLHQ+Pj49MCxyfHxjaGVja0ludCh0aGlzLGUsdCw0LDQyOTQ5NjcyOTUsMCksdGhpc1t0XT1lPj4+MjQsdGhpc1t0KzFdPWU+Pj4xNix0aGlzW3QrMl09ZT4+PjgsdGhpc1t0KzNdPTI1NSZlLHQrNH0sQnVmZmVyLnByb3RvdHlwZS53cml0ZUludExFPWZ1bmN0aW9uKGUsdCxyLG4pe2lmKGU9K2UsdD4+Pj0wLCFuKXt2YXIgZj1NYXRoLnBvdygyLDgqci0xKTtjaGVja0ludCh0aGlzLGUsdCxyLGYtMSwtZil9dmFyIGk9MCxvPTEsdT0wO2Zvcih0aGlzW3RdPTI1NSZlOysraTxyJiYobyo9MjU2KTspZTwwJiYwPT09dSYmMCE9PXRoaXNbdCtpLTFdJiYodT0xKSx0aGlzW3QraV09KGUvbz4+MCktdSYyNTU7cmV0dXJuIHQrcn0sQnVmZmVyLnByb3RvdHlwZS53cml0ZUludEJFPWZ1bmN0aW9uKGUsdCxyLG4pe2lmKGU9K2UsdD4+Pj0wLCFuKXt2YXIgZj1NYXRoLnBvdygyLDgqci0xKTtjaGVja0ludCh0aGlzLGUsdCxyLGYtMSwtZil9dmFyIGk9ci0xLG89MSx1PTA7Zm9yKHRoaXNbdCtpXT0yNTUmZTstLWk+PTAmJihvKj0yNTYpOyllPDAmJjA9PT11JiYwIT09dGhpc1t0K2krMV0mJih1PTEpLHRoaXNbdCtpXT0oZS9vPj4wKS11JjI1NTtyZXR1cm4gdCtyfSxCdWZmZXIucHJvdG90eXBlLndyaXRlSW50OD1mdW5jdGlvbihlLHQscil7cmV0dXJuIGU9K2UsdD4+Pj0wLHJ8fGNoZWNrSW50KHRoaXMsZSx0LDEsMTI3LC0xMjgpLGU8MCYmKGU9MjU1K2UrMSksdGhpc1t0XT0yNTUmZSx0KzF9LEJ1ZmZlci5wcm90b3R5cGUud3JpdGVJbnQxNkxFPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZT0rZSx0Pj4+PTAscnx8Y2hlY2tJbnQodGhpcyxlLHQsMiwzMjc2NywtMzI3NjgpLHRoaXNbdF09MjU1JmUsdGhpc1t0KzFdPWU+Pj44LHQrMn0sQnVmZmVyLnByb3RvdHlwZS53cml0ZUludDE2QkU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBlPStlLHQ+Pj49MCxyfHxjaGVja0ludCh0aGlzLGUsdCwyLDMyNzY3LC0zMjc2OCksdGhpc1t0XT1lPj4+OCx0aGlzW3QrMV09MjU1JmUsdCsyfSxCdWZmZXIucHJvdG90eXBlLndyaXRlSW50MzJMRT1mdW5jdGlvbihlLHQscil7cmV0dXJuIGU9K2UsdD4+Pj0wLHJ8fGNoZWNrSW50KHRoaXMsZSx0LDQsMjE0NzQ4MzY0NywtMjE0NzQ4MzY0OCksdGhpc1t0XT0yNTUmZSx0aGlzW3QrMV09ZT4+PjgsdGhpc1t0KzJdPWU+Pj4xNix0aGlzW3QrM109ZT4+PjI0LHQrNH0sQnVmZmVyLnByb3RvdHlwZS53cml0ZUludDMyQkU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBlPStlLHQ+Pj49MCxyfHxjaGVja0ludCh0aGlzLGUsdCw0LDIxNDc0ODM2NDcsLTIxNDc0ODM2NDgpLGU8MCYmKGU9NDI5NDk2NzI5NStlKzEpLHRoaXNbdF09ZT4+PjI0LHRoaXNbdCsxXT1lPj4+MTYsdGhpc1t0KzJdPWU+Pj44LHRoaXNbdCszXT0yNTUmZSx0KzR9LEJ1ZmZlci5wcm90b3R5cGUud3JpdGVGbG9hdExFPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gd3JpdGVGbG9hdCh0aGlzLGUsdCwhMCxyKX0sQnVmZmVyLnByb3RvdHlwZS53cml0ZUZsb2F0QkU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiB3cml0ZUZsb2F0KHRoaXMsZSx0LCExLHIpfSxCdWZmZXIucHJvdG90eXBlLndyaXRlRG91YmxlTEU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiB3cml0ZURvdWJsZSh0aGlzLGUsdCwhMCxyKX0sQnVmZmVyLnByb3RvdHlwZS53cml0ZURvdWJsZUJFPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gd3JpdGVEb3VibGUodGhpcyxlLHQsITEscil9LEJ1ZmZlci5wcm90b3R5cGUuY29weT1mdW5jdGlvbihlLHQscixuKXtpZighQnVmZmVyLmlzQnVmZmVyKGUpKXRocm93IG5ldyBUeXBlRXJyb3IoXCJhcmd1bWVudCBzaG91bGQgYmUgYSBCdWZmZXJcIik7aWYocnx8KHI9MCksbnx8MD09PW58fChuPXRoaXMubGVuZ3RoKSx0Pj1lLmxlbmd0aCYmKHQ9ZS5sZW5ndGgpLHR8fCh0PTApLG4+MCYmbjxyJiYobj1yKSxuPT09cilyZXR1cm4gMDtpZigwPT09ZS5sZW5ndGh8fDA9PT10aGlzLmxlbmd0aClyZXR1cm4gMDtpZih0PDApdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJ0YXJnZXRTdGFydCBvdXQgb2YgYm91bmRzXCIpO2lmKHI8MHx8cj49dGhpcy5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJJbmRleCBvdXQgb2YgcmFuZ2VcIik7aWYobjwwKXRocm93IG5ldyBSYW5nZUVycm9yKFwic291cmNlRW5kIG91dCBvZiBib3VuZHNcIik7bj50aGlzLmxlbmd0aCYmKG49dGhpcy5sZW5ndGgpLGUubGVuZ3RoLXQ8bi1yJiYobj1lLmxlbmd0aC10K3IpO3ZhciBmPW4tcjtpZih0aGlzPT09ZSYmXCJmdW5jdGlvblwiPT10eXBlb2YgVWludDhBcnJheS5wcm90b3R5cGUuY29weVdpdGhpbil0aGlzLmNvcHlXaXRoaW4odCxyLG4pO2Vsc2UgaWYodGhpcz09PWUmJnI8dCYmdDxuKWZvcih2YXIgaT1mLTE7aT49MDstLWkpZVtpK3RdPXRoaXNbaStyXTtlbHNlIFVpbnQ4QXJyYXkucHJvdG90eXBlLnNldC5jYWxsKGUsdGhpcy5zdWJhcnJheShyLG4pLHQpO3JldHVybiBmfSxCdWZmZXIucHJvdG90eXBlLmZpbGw9ZnVuY3Rpb24oZSx0LHIsbil7aWYoXCJzdHJpbmdcIj09dHlwZW9mIGUpe2lmKFwic3RyaW5nXCI9PXR5cGVvZiB0PyhuPXQsdD0wLHI9dGhpcy5sZW5ndGgpOlwic3RyaW5nXCI9PXR5cGVvZiByJiYobj1yLHI9dGhpcy5sZW5ndGgpLHZvaWQgMCE9PW4mJlwic3RyaW5nXCIhPXR5cGVvZiBuKXRocm93IG5ldyBUeXBlRXJyb3IoXCJlbmNvZGluZyBtdXN0IGJlIGEgc3RyaW5nXCIpO2lmKFwic3RyaW5nXCI9PXR5cGVvZiBuJiYhQnVmZmVyLmlzRW5jb2RpbmcobikpdGhyb3cgbmV3IFR5cGVFcnJvcihcIlVua25vd24gZW5jb2Rpbmc6IFwiK24pO2lmKDE9PT1lLmxlbmd0aCl7dmFyIGY9ZS5jaGFyQ29kZUF0KDApOyhcInV0ZjhcIj09PW4mJmY8MTI4fHxcImxhdGluMVwiPT09bikmJihlPWYpfX1lbHNlXCJudW1iZXJcIj09dHlwZW9mIGUmJihlJj0yNTUpO2lmKHQ8MHx8dGhpcy5sZW5ndGg8dHx8dGhpcy5sZW5ndGg8cil0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIk91dCBvZiByYW5nZSBpbmRleFwiKTtpZihyPD10KXJldHVybiB0aGlzO3ZhciBpO2lmKHQ+Pj49MCxyPXZvaWQgMD09PXI/dGhpcy5sZW5ndGg6cj4+PjAsZXx8KGU9MCksXCJudW1iZXJcIj09dHlwZW9mIGUpZm9yKGk9dDtpPHI7KytpKXRoaXNbaV09ZTtlbHNle3ZhciBvPUJ1ZmZlci5pc0J1ZmZlcihlKT9lOkJ1ZmZlci5mcm9tKGUsbiksdT1vLmxlbmd0aDtpZigwPT09dSl0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgdmFsdWUgXCInK2UrJ1wiIGlzIGludmFsaWQgZm9yIGFyZ3VtZW50IFwidmFsdWVcIicpO2ZvcihpPTA7aTxyLXQ7KytpKXRoaXNbaSt0XT1vW2kldV19cmV0dXJuIHRoaXN9O3ZhciBJTlZBTElEX0JBU0U2NF9SRT0vW14rLzAtOUEtWmEtei1fXS9nO2Z1bmN0aW9uIGJhc2U2NGNsZWFuKGUpe2lmKChlPShlPWUuc3BsaXQoXCI9XCIpWzBdKS50cmltKCkucmVwbGFjZShJTlZBTElEX0JBU0U2NF9SRSxcIlwiKSkubGVuZ3RoPDIpcmV0dXJuXCJcIjtmb3IoO2UubGVuZ3RoJTQhPTA7KWUrPVwiPVwiO3JldHVybiBlfWZ1bmN0aW9uIHRvSGV4KGUpe3JldHVybiBlPDE2P1wiMFwiK2UudG9TdHJpbmcoMTYpOmUudG9TdHJpbmcoMTYpfWZ1bmN0aW9uIHV0ZjhUb0J5dGVzKGUsdCl7dmFyIHI7dD10fHwxLzA7Zm9yKHZhciBuPWUubGVuZ3RoLGY9bnVsbCxpPVtdLG89MDtvPG47KytvKXtpZigocj1lLmNoYXJDb2RlQXQobykpPjU1Mjk1JiZyPDU3MzQ0KXtpZighZil7aWYocj41NjMxOSl7KHQtPTMpPi0xJiZpLnB1c2goMjM5LDE5MSwxODkpO2NvbnRpbnVlfWlmKG8rMT09PW4peyh0LT0zKT4tMSYmaS5wdXNoKDIzOSwxOTEsMTg5KTtjb250aW51ZX1mPXI7Y29udGludWV9aWYocjw1NjMyMCl7KHQtPTMpPi0xJiZpLnB1c2goMjM5LDE5MSwxODkpLGY9cjtjb250aW51ZX1yPTY1NTM2KyhmLTU1Mjk2PDwxMHxyLTU2MzIwKX1lbHNlIGYmJih0LT0zKT4tMSYmaS5wdXNoKDIzOSwxOTEsMTg5KTtpZihmPW51bGwscjwxMjgpe2lmKCh0LT0xKTwwKWJyZWFrO2kucHVzaChyKX1lbHNlIGlmKHI8MjA0OCl7aWYoKHQtPTIpPDApYnJlYWs7aS5wdXNoKHI+PjZ8MTkyLDYzJnJ8MTI4KX1lbHNlIGlmKHI8NjU1MzYpe2lmKCh0LT0zKTwwKWJyZWFrO2kucHVzaChyPj4xMnwyMjQscj4+NiY2M3wxMjgsNjMmcnwxMjgpfWVsc2V7aWYoIShyPDExMTQxMTIpKXRocm93IG5ldyBFcnJvcihcIkludmFsaWQgY29kZSBwb2ludFwiKTtpZigodC09NCk8MClicmVhaztpLnB1c2gocj4+MTh8MjQwLHI+PjEyJjYzfDEyOCxyPj42JjYzfDEyOCw2MyZyfDEyOCl9fXJldHVybiBpfWZ1bmN0aW9uIGFzY2lpVG9CeXRlcyhlKXtmb3IodmFyIHQ9W10scj0wO3I8ZS5sZW5ndGg7KytyKXQucHVzaCgyNTUmZS5jaGFyQ29kZUF0KHIpKTtyZXR1cm4gdH1mdW5jdGlvbiB1dGYxNmxlVG9CeXRlcyhlLHQpe2Zvcih2YXIgcixuLGYsaT1bXSxvPTA7bzxlLmxlbmd0aCYmISgodC09Mik8MCk7KytvKW49KHI9ZS5jaGFyQ29kZUF0KG8pKT4+OCxmPXIlMjU2LGkucHVzaChmKSxpLnB1c2gobik7cmV0dXJuIGl9ZnVuY3Rpb24gYmFzZTY0VG9CeXRlcyhlKXtyZXR1cm4gYmFzZTY0LnRvQnl0ZUFycmF5KGJhc2U2NGNsZWFuKGUpKX1mdW5jdGlvbiBibGl0QnVmZmVyKGUsdCxyLG4pe2Zvcih2YXIgZj0wO2Y8biYmIShmK3I+PXQubGVuZ3RofHxmPj1lLmxlbmd0aCk7KytmKXRbZityXT1lW2ZdO3JldHVybiBmfWZ1bmN0aW9uIGlzSW5zdGFuY2UoZSx0KXtyZXR1cm4gZSBpbnN0YW5jZW9mIHR8fG51bGwhPWUmJm51bGwhPWUuY29uc3RydWN0b3ImJm51bGwhPWUuY29uc3RydWN0b3IubmFtZSYmZS5jb25zdHJ1Y3Rvci5uYW1lPT09dC5uYW1lfWZ1bmN0aW9uIG51bWJlcklzTmFOKGUpe3JldHVybiBlIT1lfVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1sdVpHVjRMbXB6SWwwc0ltNWhiV1Z6SWpwYkltSmhjMlUyTkNJc0luSmxjWFZwY21VaUxDSnBaV1ZsTnpVMElpd2laWGh3YjNKMGN5SXNJa0oxWm1abGNpSXNJbE5zYjNkQ2RXWm1aWElpTENKSlRsTlFSVU5VWDAxQldGOUNXVlJGVXlJc0lrdGZUVUZZWDB4RlRrZFVTQ0lzSW5SNWNHVmtRWEp5WVhsVGRYQndiM0owSWl3aVlYSnlJaXdpVldsdWREaEJjbkpoZVNJc0lsOWZjSEp2ZEc5Zlh5SXNJbkJ5YjNSdmRIbHdaU0lzSW1admJ5SXNJbVVpTENKamNtVmhkR1ZDZFdabVpYSWlMQ0pzWlc1bmRHZ2lMQ0pTWVc1blpVVnljbTl5SWl3aVluVm1JaXdpWVhKbklpd2laVzVqYjJScGJtZFBjazltWm5ObGRDSXNJbFI1Y0dWRmNuSnZjaUlzSW1Gc2JHOWpWVzV6WVdabElpd2labkp2YlNJc0luWmhiSFZsSWl3aVpuSnZiVk4wY21sdVp5SXNJa0Z5Y21GNVFuVm1abVZ5SWl3aWFYTldhV1YzSWl3aVpuSnZiVUZ5Y21GNVRHbHJaU0lzSW1selNXNXpkR0Z1WTJVaUxDSmlkV1ptWlhJaUxDSm1jbTl0UVhKeVlYbENkV1ptWlhJaUxDSjJZV3gxWlU5bUlpd2lZaUlzSW1aeWIyMVBZbXBsWTNRaUxDSlRlVzFpYjJ3aUxDSjBiMUJ5YVcxcGRHbDJaU0lzSW1GemMyVnlkRk5wZW1VaUxDSnphWHBsSWl3aVlXeHNiMk1pTENKbWFXeHNJaXdpWlc1amIyUnBibWNpTENKMWJtUmxabWx1WldRaUxDSmphR1ZqYTJWa0lpd2ljM1J5YVc1bklpd2lhWE5GYm1OdlpHbHVaeUlzSW1KNWRHVk1aVzVuZEdnaUxDSmhZM1IxWVd3aUxDSjNjbWwwWlNJc0luTnNhV05sSWl3aVlYSnlZWGtpTENKcElpd2lZbmwwWlU5bVpuTmxkQ0lzSW05aWFpSXNJbWx6UW5WbVptVnlJaXdpYkdWdUlpd2lZMjl3ZVNJc0ltNTFiV0psY2tselRtRk9JaXdpZEhsd1pTSXNJa0Z5Y21GNUlpd2lhWE5CY25KaGVTSXNJbVJoZEdFaUxDSjBiMU4wY21sdVp5SXNJbTExYzNSTllYUmphQ0lzSW1GeVozVnRaVzUwY3lJc0lteHZkMlZ5WldSRFlYTmxJaXdpZFhSbU9GUnZRbmwwWlhNaUxDSmlZWE5sTmpSVWIwSjVkR1Z6SWl3aWRHOU1iM2RsY2tOaGMyVWlMQ0p6Ykc5M1ZHOVRkSEpwYm1jaUxDSnpkR0Z5ZENJc0ltVnVaQ0lzSW5Sb2FYTWlMQ0pvWlhoVGJHbGpaU0lzSW5WMFpqaFRiR2xqWlNJc0ltRnpZMmxwVTJ4cFkyVWlMQ0pzWVhScGJqRlRiR2xqWlNJc0ltSmhjMlUyTkZOc2FXTmxJaXdpZFhSbU1UWnNaVk5zYVdObElpd2ljM2RoY0NJc0ltNGlMQ0p0SWl3aVltbGthWEpsWTNScGIyNWhiRWx1WkdWNFQyWWlMQ0oyWVd3aUxDSmthWElpTENKaGNuSmhlVWx1WkdWNFQyWWlMQ0pwYm1SbGVFOW1JaXdpWTJGc2JDSXNJbXhoYzNSSmJtUmxlRTltSWl3aWFXNWtaWGhUYVhwbElpd2lZWEp5VEdWdVozUm9JaXdpZG1Gc1RHVnVaM1JvSWl3aVUzUnlhVzVuSWl3aWNtVmhaQ0lzSW5KbFlXUlZTVzUwTVRaQ1JTSXNJbVp2ZFc1a1NXNWtaWGdpTENKbWIzVnVaQ0lzSW1vaUxDSm9aWGhYY21sMFpTSXNJbTltWm5ObGRDSXNJazUxYldKbGNpSXNJbkpsYldGcGJtbHVaeUlzSW5OMGNreGxiaUlzSW5CaGNuTmxaQ0lzSW5CaGNuTmxTVzUwSWl3aWMzVmljM1J5SWl3aWRYUm1PRmR5YVhSbElpd2lZbXhwZEVKMVptWmxjaUlzSW1GelkybHBWM0pwZEdVaUxDSmhjMk5wYVZSdlFubDBaWE1pTENKc1lYUnBiakZYY21sMFpTSXNJbUpoYzJVMk5GZHlhWFJsSWl3aWRXTnpNbGR5YVhSbElpd2lkWFJtTVRac1pWUnZRbmwwWlhNaUxDSm1jbTl0UW5sMFpVRnljbUY1SWl3aVRXRjBhQ0lzSW0xcGJpSXNJbkpsY3lJc0luTmxZMjl1WkVKNWRHVWlMQ0owYUdseVpFSjVkR1VpTENKbWIzVnlkR2hDZVhSbElpd2lkR1Z0Y0VOdlpHVlFiMmx1ZENJc0ltWnBjbk4wUW5sMFpTSXNJbU52WkdWUWIybHVkQ0lzSW1KNWRHVnpVR1Z5VTJWeGRXVnVZMlVpTENKd2RYTm9JaXdpWkdWamIyUmxRMjlrWlZCdmFXNTBjMEZ5Y21GNUlpd2lhMDFoZUV4bGJtZDBhQ0lzSWxSWlVFVkVYMEZTVWtGWlgxTlZVRkJQVWxRaUxDSmpiMjV6YjJ4bElpd2laWEp5YjNJaUxDSlBZbXBsWTNRaUxDSmtaV1pwYm1WUWNtOXdaWEowZVNJc0ltVnVkVzFsY21GaWJHVWlMQ0puWlhRaUxDSnpjR1ZqYVdWeklpd2lZMjl1Wm1sbmRYSmhZbXhsSWl3aWQzSnBkR0ZpYkdVaUxDSndiMjlzVTJsNlpTSXNJbUZzYkc5alZXNXpZV1psVTJ4dmR5SXNJbDlwYzBKMVptWmxjaUlzSW1OdmJYQmhjbVVpTENKaElpd2llQ0lzSW5raUxDSmpiMjVqWVhRaUxDSnNhWE4wSWl3aWNHOXpJaXdpYzNkaGNERTJJaXdpYzNkaGNETXlJaXdpYzNkaGNEWTBJaXdpWVhCd2JIa2lMQ0owYjB4dlkyRnNaVk4wY21sdVp5SXNJbVZ4ZFdGc2N5SXNJbWx1YzNCbFkzUWlMQ0p6ZEhJaUxDSnRZWGdpTENKeVpYQnNZV05sSWl3aWRISnBiU0lzSW5SaGNtZGxkQ0lzSW5Sb2FYTlRkR0Z5ZENJc0luUm9hWE5GYm1RaUxDSjBhR2x6UTI5d2VTSXNJblJoY21kbGRFTnZjSGtpTENKcGJtTnNkV1JsY3lJc0ltbHpSbWx1YVhSbElpd2lSWEp5YjNJaUxDSjBiMHBUVDA0aUxDSmZZWEp5SWl3aVRVRllYMEZTUjFWTlJVNVVVMTlNUlU1SFZFZ2lMQ0pqYjJSbFVHOXBiblJ6SWl3aVpuSnZiVU5vWVhKRGIyUmxJaXdpY21WMElpd2liM1YwSWl3aWRHOUlaWGdpTENKaWVYUmxjeUlzSW1Ob1pXTnJUMlptYzJWMElpd2laWGgwSWl3aVkyaGxZMnRKYm5RaUxDSmphR1ZqYTBsRlJVVTNOVFFpTENKM2NtbDBaVVpzYjJGMElpd2liR2wwZEd4bFJXNWthV0Z1SWl3aWJtOUJjM05sY25RaUxDSjNjbWwwWlVSdmRXSnNaU0lzSW01bGQwSjFaaUlzSW5OMVltRnljbUY1SWl3aWNtVmhaRlZKYm5STVJTSXNJbTExYkNJc0luSmxZV1JWU1c1MFFrVWlMQ0p5WldGa1ZVbHVkRGdpTENKeVpXRmtWVWx1ZERFMlRFVWlMQ0p5WldGa1ZVbHVkRE15VEVVaUxDSnlaV0ZrVlVsdWRETXlRa1VpTENKeVpXRmtTVzUwVEVVaUxDSndiM2NpTENKeVpXRmtTVzUwUWtVaUxDSnlaV0ZrU1c1ME9DSXNJbkpsWVdSSmJuUXhOa3hGSWl3aWNtVmhaRWx1ZERFMlFrVWlMQ0p5WldGa1NXNTBNekpNUlNJc0luSmxZV1JKYm5Rek1rSkZJaXdpY21WaFpFWnNiMkYwVEVVaUxDSnlaV0ZrUm14dllYUkNSU0lzSW5KbFlXUkViM1ZpYkdWTVJTSXNJbkpsWVdSRWIzVmliR1ZDUlNJc0luZHlhWFJsVlVsdWRFeEZJaXdpZDNKcGRHVlZTVzUwUWtVaUxDSjNjbWwwWlZWSmJuUTRJaXdpZDNKcGRHVlZTVzUwTVRaTVJTSXNJbmR5YVhSbFZVbHVkREUyUWtVaUxDSjNjbWwwWlZWSmJuUXpNa3hGSWl3aWQzSnBkR1ZWU1c1ME16SkNSU0lzSW5keWFYUmxTVzUwVEVVaUxDSnNhVzFwZENJc0luTjFZaUlzSW5keWFYUmxTVzUwUWtVaUxDSjNjbWwwWlVsdWREZ2lMQ0ozY21sMFpVbHVkREUyVEVVaUxDSjNjbWwwWlVsdWRERTJRa1VpTENKM2NtbDBaVWx1ZERNeVRFVWlMQ0ozY21sMFpVbHVkRE15UWtVaUxDSjNjbWwwWlVac2IyRjBURVVpTENKM2NtbDBaVVpzYjJGMFFrVWlMQ0ozY21sMFpVUnZkV0pzWlV4Rklpd2lkM0pwZEdWRWIzVmliR1ZDUlNJc0luUmhjbWRsZEZOMFlYSjBJaXdpWTI5d2VWZHBkR2hwYmlJc0luTmxkQ0lzSW1OdlpHVWlMQ0pqYUdGeVEyOWtaVUYwSWl3aVNVNVdRVXhKUkY5Q1FWTkZOalJmVWtVaUxDSmlZWE5sTmpSamJHVmhiaUlzSW5Od2JHbDBJaXdpZFc1cGRITWlMQ0pKYm1acGJtbDBlU0lzSW14bFlXUlRkWEp5YjJkaGRHVWlMQ0ppZVhSbFFYSnlZWGtpTENKaklpd2lhR2tpTENKc2J5SXNJblJ2UW5sMFpVRnljbUY1SWl3aWMzSmpJaXdpWkhOMElpd2lZMjl1YzNSeWRXTjBiM0lpTENKdVlXMWxJbDBzSW0xaGNIQnBibWR6SWpvaVFVRlJRU3hoUVVWQkxFbEJRVWxCTEU5QlFWTkRMRkZCUVZFc1lVRkRha0pETEZGQlFWVkVMRkZCUVZFc1YwRkZkRUpGTEZGQlFWRkRMRTlCUVZOQkxFOUJRMnBDUkN4UlFVRlJSU3hYUVVGaFFTeFhRVU55UWtZc1VVRkJVVWNzYTBKQlFXOUNMRWRCUlRWQ0xFbEJRVWxETEdGQlFXVXNWMEV5UW01Q0xGTkJRVk5ETEc5Q1FVVlFMRWxCUTBVc1NVRkJTVU1zUlVGQlRTeEpRVUZKUXl4WFFVRlhMRWRCUlhwQ0xFOUJSRUZFTEVWQlFVbEZMRlZCUVZrc1EwRkJSVUVzVlVGQlYwUXNWMEZCVjBVc1ZVRkJWME1zU1VGQlN5eFhRVUZqTEU5QlFVOHNTMEZEZUVRc1MwRkJaRW9zUlVGQlNVa3NUVUZEV0N4TlFVRlBReXhIUVVOUUxFOUJRVThzUjBGdlFsZ3NVMEZCVTBNc1lVRkJZME1zUjBGRGNrSXNSMEZCU1VFc1JVRkJVMVFzWVVGRFdDeE5RVUZOTEVsQlFVbFZMRmRCUVZjc1kwRkJaMEpFTEVWQlFWTXNhME5CUjJoRUxFbEJRVWxGTEVWQlFVMHNTVUZCU1ZJc1YwRkJWMDBzUjBGRmVrSXNUMEZFUVVVc1JVRkJTVkFzVlVGQldWQXNUMEZCVDFFc1ZVRkRhRUpOTEVWQllWUXNVMEZCVTJRc1QwRkJVV1VzUlVGQlMwTXNSVUZCYTBKS0xFZEJSWFJETEVkQlFXMUNMR2xDUVVGU1J5eEZRVUZyUWl4RFFVTXpRaXhIUVVGblF5eHBRa0ZCY2tKRExFVkJRMVFzVFVGQlRTeEpRVUZKUXl4VlFVTlNMSE5GUVVkS0xFOUJRVTlETEZsQlFWbElMRWRCUlhKQ0xFOUJRVTlKTEV0QlFVdEtMRVZCUVV0RExFVkJRV3RDU2l4SFFXZENja01zVTBGQlUwOHNTMEZCVFVNc1JVRkJUMG9zUlVGQmEwSktMRWRCUTNSRExFZEJRWEZDTEdsQ1FVRldVU3hGUVVOVUxFOUJRVTlETEZkQlFWZEVMRVZCUVU5S0xFZEJSek5DTEVkQlFVbE5MRmxCUVZsRExFOUJRVTlJTEVkQlEzSkNMRTlCUVU5SkxHTkJRV05LTEVkQlIzWkNMRWRCUVdFc1RVRkJWRUVzUlVGRFJpeE5RVUZOU0N4VlFVTktMSGxJUVVOcFJFY3NSMEZKY2tRc1IwRkJTVXNzVjBGQlYwd3NSVUZCVDBVc1kwRkRha0pHTEVkQlFWTkxMRmRCUVZkTUxFVkJRVTFOTEU5QlFWRktMR0ZCUTNKRExFOUJRVTlMTEdkQ1FVRm5RbEFzUlVGQlQwb3NSVUZCYTBKS0xFZEJSMnhFTEVkQlFYRkNMR2xDUVVGV1VTeEZRVU5VTEUxQlFVMHNTVUZCU1Vnc1ZVRkRVaXg1UlVGSlNpeEpRVUZKVnl4RlFVRlZVaXhGUVVGTlVTeFRRVUZYVWl4RlFVRk5VU3hWUVVOeVF5eEhRVUZsTEUxQlFWaEJMRWRCUVcxQ1FTeEpRVUZaVWl4RlFVTnFReXhQUVVGUGNFSXNUMEZCVDIxQ0xFdEJRVXRUTEVWQlFWTmFMRVZCUVd0Q1NpeEhRVWRvUkN4SlFVRkphVUlzUlVGQlNVTXNWMEZCVjFZc1IwRkRia0lzUjBGQlNWTXNSVUZCUnl4UFFVRlBRU3hGUVVWa0xFZEJRWE5DTEc5Q1FVRllSU3hSUVVGblJDeE5RVUYwUWtFc1QwRkJUME1zWVVGRFNDeHRRa0ZCT1VKYUxFVkJRVTFYTEU5QlFVOURMR0ZCUTNSQ0xFOUJRVTlvUXl4UFFVRlBiVUlzUzBGRFdrTXNSVUZCVFZjc1QwRkJUME1zWVVGQllTeFZRVUZYYUVJc1JVRkJhMEpLTEVkQlNUTkVMRTFCUVUwc1NVRkJTVXNzVlVGRFVpeDVTRUZEYVVSSExFZEJjVUp5UkN4VFFVRlRZU3hYUVVGWlF5eEhRVU51UWl4SFFVRnZRaXhwUWtGQlZFRXNSVUZEVkN4TlFVRk5MRWxCUVVscVFpeFZRVUZWTERCRFFVTm1MRWRCUVVscFFpeEZRVUZQTEVWQlEyaENMRTFCUVUwc1NVRkJTWEpDTEZkQlFWY3NZMEZCWjBKeFFpeEZRVUZQTEd0RFFVbG9SQ3hUUVVGVFF5eE5RVUZQUkN4RlFVRk5SU3hGUVVGTlF5eEhRVVV4UWl4UFFVUkJTaXhYUVVGWFF5eEhRVU5RUVN4SFFVRlJMRVZCUTBoMlFpeGhRVUZoZFVJc1VVRkZWRWtzU1VGQlZFWXNSVUZKZVVJc2FVSkJRV0pETEVWQlExWXhRaXhoUVVGaGRVSXNSMEZCVFVVc1MwRkJTMEVzUlVGQlRVTXNSMEZET1VJeFFpeGhRVUZoZFVJc1IwRkJUVVVzUzBGQlMwRXNSMEZGZGtKNlFpeGhRVUZoZFVJc1IwRlhkRUlzVTBGQlUyaENMRmxCUVdGblFpeEhRVVZ3UWl4UFFVUkJSQ3hYUVVGWFF5eEhRVU5LZGtJc1lVRkJZWFZDTEVWQlFVOHNSVUZCU1N4RlFVRnZRaXhGUVVGb1Frc3NVVUZCVVV3c1NVRm5RamRETEZOQlFWTmlMRmRCUVZsdFFpeEZRVUZSU0N4SFFVc3pRaXhIUVVwM1FpeHBRa0ZCWWtFc1IwRkJjME1zUzBGQllrRXNTVUZEYkVOQkxFVkJRVmNzVTBGSFVuSkRMRTlCUVU5NVF5eFhRVUZYU2l4SFFVTnlRaXhOUVVGTkxFbEJRVWx3UWl4VlFVRlZMSEZDUVVGMVFtOUNMRWRCUnpkRExFbEJRVWw2UWl4RlFVRjNReXhGUVVFdlFqaENMRmRCUVZkR0xFVkJRVkZJTEVkQlF6VkNka0lzUlVGQlRVZ3NZVUZCWVVNc1IwRkZia0lyUWl4RlFVRlROMElzUlVGQlNUaENMRTFCUVUxS0xFVkJRVkZJTEVkQlV5OUNMRTlCVUVsTkxFbEJRVmN2UWl4SlFVbGlSU3hGUVVGTlFTeEZRVUZKSzBJc1RVRkJUU3hGUVVGSFJpeEpRVWRrTjBJc1JVRkhWQ3hUUVVGVFZTeGpRVUZsYzBJc1IwRkhkRUlzU1VGR1FTeEpRVUZKYkVNc1JVRkJVMnRETEVWQlFVMXNReXhQUVVGVExFVkJRVWtzUlVGQk5FSXNSVUZCZUVJeVFpeFJRVUZSVHl4RlFVRk5iRU1zVVVGRE9VTkZMRVZCUVUxSUxHRkJRV0ZETEVkQlEyUnRReXhGUVVGSkxFVkJRVWRCTEVWQlFVbHVReXhGUVVGUmJVTXNSMEZCU3l4RlFVTXZRbXBETEVWQlFVbHBReXhIUVVGblFpeEpRVUZZUkN4RlFVRk5ReXhIUVVWcVFpeFBRVUZQYWtNc1JVRkhWQ3hUUVVGVFlTeG5Ra0ZCYVVKdFFpeEZRVUZQUlN4RlFVRlpjRU1zUjBGRE0wTXNSMEZCU1c5RExFVkJRV0VzUjBGQlMwWXNSVUZCVFVvc1YwRkJZVTBzUlVGRGRrTXNUVUZCVFN4SlFVRkpia01zVjBGQlZ5eDNRMEZIZGtJc1IwRkJTV2xETEVWQlFVMUtMRmRCUVdGTkxFZEJRV053UXl4SFFVRlZMRWRCUXpkRExFMUJRVTBzU1VGQlNVTXNWMEZCVnl4M1EwRkhka0lzU1VGQlNVTXNSVUZYU2l4UFFWUkZRU3hQUVVScFFuZENMRWxCUVdaVkxGRkJRWFZEVml4SlFVRllNVUlzUlVGRGVFSXNTVUZCU1U0c1YwRkJWM2RETEZGQlEwUlNMRWxCUVZneFFpeEZRVU5JTEVsQlFVbE9MRmRCUVZkM1F5eEZRVUZQUlN4SFFVVjBRaXhKUVVGSk1VTXNWMEZCVjNkRExFVkJRVTlGTEVWQlFWbHdReXhKUVVsMFEwd3NWVUZCV1ZBc1QwRkJUMUVzVlVGRGFFSk5MRVZCUjFRc1UwRkJVMmRDTEZkQlFWbHRRaXhIUVVOdVFpeEhRVUZKYWtRc1QwRkJUMnRFTEZOQlFWTkVMRWRCUVUwc1EwRkRlRUlzU1VGQlNVVXNSVUZCTkVJc1JVRkJkRUphTEZGQlFWRlZMRVZCUVVseVF5eFJRVU5zUWtVc1JVRkJUVWdzWVVGQllYZERMRWRCUlhaQ0xFOUJRVzFDTEVsQlFXWnlReXhGUVVGSlJpeFBRVU5EUlN4SFFVZFViVU1zUlVGQlNVY3NTMEZCUzNSRExFVkJRVXNzUlVGQlJ5eEZRVUZIY1VNc1IwRkRZbkpETEVkQlIxUXNXVUZCYlVKM1FpeEpRVUZtVnl4RlFVRkpja01zVDBGRGIwSXNhVUpCUVdaeFF5eEZRVUZKY2tNc1VVRkJkVUo1UXl4WlFVRlpTaXhGUVVGSmNrTXNVVUZETjBORUxHRkJRV0VzUjBGRlptRXNZMEZCWTNsQ0xFZEJSMDRzVjBGQllrRXNSVUZCU1Vzc1RVRkJjVUpETEUxQlFVMURMRkZCUVZGUUxFVkJRVWxSTEUxQlEzUkRha01zWTBGQlkzbENMRVZCUVVsUkxGZEJSRE5DTEVWQlMwWXNVMEZCVTJ4Q0xGRkJRVk16UWl4SFFVZG9RaXhIUVVGSlFTeEhRVUZWVkN4aFFVTmFMRTFCUVUwc1NVRkJTVlVzVjBGQlZ5d3dSRUZEWVZZc1lVRkJZWFZFTEZOQlFWTXNTVUZCVFN4VlFVVm9SU3hQUVVGblFpeEZRVUZVT1VNc1JVRkhWQ3hUUVVGVFdDeFhRVUZaVnl4SFFVbHVRaXhQUVVoTFFTeEhRVUZWUVN4SlFVTmlRU3hGUVVGVExFZEJSVXBhTEU5QlFVOXRReXhQUVVGUGRrSXNSMEYxUm5aQ0xGTkJRVk00UWl4WFFVRlpSaXhGUVVGUlNDeEhRVU16UWl4SFFVRkpja01zVDBGQlQydEVMRk5CUVZOV0xFZEJRMnhDTEU5QlFVOUJMRVZCUVU4MVFpeFBRVVZvUWl4SFFVRkpWU3haUVVGWlF5eFBRVUZQYVVJc1NVRkJWMllzVjBGQlYyVXNSVUZCVVd4Q0xHRkJRMjVFTEU5QlFVOXJRaXhGUVVGUFJTeFhRVVZvUWl4SFFVRnpRaXhwUWtGQldFWXNSVUZEVkN4TlFVRk5MRWxCUVVsMlFpeFZRVU5TTEd0SFFVTXdRblZDTEVkQlNUbENMRWxCUVVsWExFVkJRVTFZTEVWQlFVODFRaXhQUVVOaUswTXNSVUZCWVVNc1ZVRkJWV2hFTEU5QlFWTXNTVUZCYzBJc1NVRkJha0puUkN4VlFVRlZMRWRCUTI1RUxFbEJRVXRFTEVkQlFYRkNMRWxCUVZKU0xFVkJRVmNzVDBGQlR5eEZRVWx3UXl4SlFVUkJMRWxCUVVsVkxFZEJRV01zU1VGRmFFSXNUMEZCVVhoQ0xFZEJRMDRzU1VGQlN5eFJRVU5NTEVsQlFVc3NVMEZEVEN4SlFVRkxMRk5CUTBnc1QwRkJUMk1zUlVGRFZDeEpRVUZMTEU5QlEwd3NTVUZCU3l4UlFVTklMRTlCUVU5WExGbEJRVmwwUWl4SFFVRlJOVUlzVDBGRE4wSXNTVUZCU3l4UFFVTk1MRWxCUVVzc1VVRkRUQ3hKUVVGTExGVkJRMHdzU1VGQlN5eFhRVU5JTEU5QlFXRXNSVUZCVG5WRExFVkJRMVFzU1VGQlN5eE5RVU5JTEU5QlFVOUJMRWxCUVZFc1JVRkRha0lzU1VGQlN5eFRRVU5JTEU5QlFVOVpMR05CUVdOMlFpeEhRVUZSTlVJc1QwRkRMMElzVVVGRFJTeEhRVUZKYVVRc1JVRkRSaXhQUVVGUFJpeEhRVUZoTEVWQlFVbEhMRmxCUVZsMFFpeEhRVUZSTlVJc1QwRkZPVU41UWl4SFFVRlpMRWRCUVV0QkxFZEJRVlV5UWl4alFVTXpRa2dzUjBGQll5eEhRVTEwUWl4VFFVRlRTU3hoUVVGak5VSXNSVUZCVlRaQ0xFVkJRVTlETEVkQlEzUkRMRWxCUVVsT0xFZEJRV01zUlVGamJFSXNVMEZNWTNaQ0xFbEJRVlkwUWl4SFFVRjFRa0VzUlVGQlVTeExRVU5xUTBFc1JVRkJVU3hIUVVsT1FTeEZRVUZSUlN4TFFVRkxlRVFzVDBGRFppeE5RVUZQTEVkQlQxUXNVMEZLV1RCQ0xFbEJRVkkyUWl4SFFVRnhRa0VzUlVGQlRVTXNTMEZCUzNoRUxGVkJRMnhEZFVRc1JVRkJUVU1zUzBGQlMzaEVMRkZCUjFSMVJDeEhRVUZQTEVWQlExUXNUVUZCVHl4SFFVOVVMRWxCU0VGQkxFdEJRVk1zUzBGRFZFUXNTMEZCVnl4SFFVZFVMRTFCUVU4c1IwRkxWQ3hKUVVaTE4wSXNTVUZCVlVFc1JVRkJWeXhWUVVkNFFpeFBRVUZSUVN4SFFVTk9MRWxCUVVzc1RVRkRTQ3hQUVVGUFowTXNVMEZCVTBRc1MwRkJUVVlzUlVGQlQwTXNSMEZGTDBJc1NVRkJTeXhQUVVOTUxFbEJRVXNzVVVGRFNDeFBRVUZQUnl4VlFVRlZSaXhMUVVGTlJpeEZRVUZQUXl4SFFVVm9ReXhKUVVGTExGRkJRMGdzVDBGQlQwa3NWMEZCVjBnc1MwRkJUVVlzUlVGQlQwTXNSMEZGYWtNc1NVRkJTeXhUUVVOTUxFbEJRVXNzVTBGRFNDeFBRVUZQU3l4WlFVRlpTaXhMUVVGTlJpeEZRVUZQUXl4SFFVVnNReXhKUVVGTExGTkJRMGdzVDBGQlQwMHNXVUZCV1V3c1MwRkJUVVlzUlVGQlQwTXNSMEZGYkVNc1NVRkJTeXhQUVVOTUxFbEJRVXNzVVVGRFRDeEpRVUZMTEZWQlEwd3NTVUZCU3l4WFFVTklMRTlCUVU5UExHRkJRV0ZPTEV0QlFVMUdMRVZCUVU5RExFZEJSVzVETEZGQlEwVXNSMEZCU1U0c1JVRkJZU3hOUVVGTkxFbEJRVWsxUXl4VlFVRlZMSEZDUVVGMVFtOUNMRWRCUXpWRVFTeEhRVUZaUVN4RlFVRlhMRWxCUVVreVFpeGpRVU16UWtnc1IwRkJZeXhIUVdGMFFpeFRRVUZUWXl4TFFVRk5PVU1zUlVGQlJ5dERMRVZCUVVkRExFZEJRMjVDTEVsQlFVazVRaXhGUVVGSmJFSXNSVUZCUlN0RExFZEJRMVl2UXl4RlFVRkZLME1zUjBGQlN5OURMRVZCUVVWblJDeEhRVU5VYUVRc1JVRkJSV2RFTEVkQlFVczVRaXhGUVhsSlZDeFRRVUZUSzBJc2NVSkJRWE5DY0VRc1JVRkJVWEZFTEVWQlFVc3ZRaXhGUVVGWldDeEZRVUZWTWtNc1IwRkZhRVVzUjBGQmMwSXNTVUZCYkVKMFJDeEZRVUZQWkN4UFFVRmpMRTlCUVZFc1JVRnRRbXBETEVkQmFFSXdRaXhwUWtGQlptOURMRWRCUTFSWUxFVkJRVmRYTEVWQlExaEJMRVZCUVdFc1IwRkRTa0VzUlVGQllTeFhRVU4wUWtFc1JVRkJZU3hYUVVOS1FTeEhRVUZqTEdGQlEzWkNRU3hIUVVGakxGbEJSMXBMTEZsQlJFcE1MRWRCUVdOQkxFdEJSMXBCTEVWQlFXRm5ReXhGUVVGTkxFVkJRVXQwUkN4RlFVRlBaQ3hQUVVGVExFZEJTWFJEYjBNc1JVRkJZU3hKUVVGSFFTeEZRVUZoZEVJc1JVRkJUMlFzVDBGQlUyOURMRWRCUXpkRFFTeEhRVUZqZEVJc1JVRkJUMlFzVDBGQlVTeERRVU12UWl4SFFVRkpiMFVzUlVGQlN5eFBRVUZSTEVWQlExcG9ReXhGUVVGaGRFSXNSVUZCVDJRc1QwRkJVeXhQUVVNM1FpeEhRVUZKYjBNc1JVRkJZU3hGUVVGSExFTkJRM3BDTEVsQlFVbG5ReXhGUVVORExFOUJRVkVzUlVGRVNtaERMRVZCUVdFc1JVRlZlRUlzUjBGTWJVSXNhVUpCUVZJclFpeEpRVU5VUVN4RlFVRk5MMFVzVDBGQlQyMUNMRXRCUVVzMFJDeEZRVUZMTVVNc1NVRkpja0p5UXl4UFFVRlBhMFFzVTBGQlV6WkNMRWRCUld4Q0xFOUJRVzFDTEVsQlFXWkJMRVZCUVVsdVJTeFJRVU5GTEVWQlJVaHhSU3hoUVVGaGRrUXNSVUZCVVhGRUxFVkJRVXN2UWl4RlFVRlpXQ3hGUVVGVk1rTXNSMEZEYkVRc1IwRkJiVUlzYVVKQlFWSkVMRVZCUldoQ0xFOUJSRUZCTEVkQlFWa3NTVUZEWjBNc2JVSkJRV3BEZWtVc1YwRkJWMFVzVlVGQlZUQkZMRkZCUXpGQ1JpeEZRVU5MTVVVc1YwRkJWMFVzVlVGQlZUQkZMRkZCUVZGRExFdEJRVXQ2UkN4RlFVRlJjVVFzUlVGQlN5OUNMRWRCUlM5RE1VTXNWMEZCVjBVc1ZVRkJWVFJGTEZsQlFWbEVMRXRCUVV0NlJDeEZRVUZSY1VRc1JVRkJTeTlDTEVkQlIzWkVhVU1zWVVGQllYWkVMRVZCUVZFc1EwRkJSWEZFTEVkQlFVOHZRaXhGUVVGWldDeEZRVUZWTWtNc1IwRkhOMFFzVFVGQlRTeEpRVUZKTDBRc1ZVRkJWU3gzUTBGSGRFSXNVMEZCVTJkRkxHRkJRV00xUlN4RlFVRkxNRVVzUlVGQlN5OUNMRVZCUVZsWUxFVkJRVlV5UXl4SFFVTnlSQ3hKUVRCQ1NXcERMRVZCTVVKQmMwTXNSVUZCV1N4RlFVTmFReXhGUVVGWmFrWXNSVUZCU1U4c1QwRkRhRUl5UlN4RlFVRlpVaXhGUVVGSmJrVXNUMEZGY0VJc1VVRkJhVUl3UWl4SlFVRmlSQ3hKUVVWbExGVkJSR3BDUVN4RlFVRlhiVVFzVDBGQlQyNUVMRWRCUVZVeVFpeG5Ra0ZEV1N4VlFVRmlNMElzUjBGRFZpeFpRVUZpUVN4SFFVRjFReXhoUVVGaVFTeEhRVUY1UWl4RFFVTnlSQ3hIUVVGSmFFTXNSVUZCU1U4c1QwRkJVeXhIUVVGTGJVVXNSVUZCU1c1RkxFOUJRVk1zUlVGRGFrTXNUMEZCVVN4RlFVVldlVVVzUlVGQldTeEZRVU5hUXl4SFFVRmhMRVZCUTJKRExFZEJRV0VzUlVGRFluWkRMRWRCUVdNc1JVRkpiRUlzVTBGQlUzbERMRVZCUVUwelJTeEZRVUZMYVVNc1IwRkRiRUlzVDBGQmEwSXNTVUZCWkhORExFVkJRMHQyUlN4RlFVRkphVU1zUjBGRlNtcERMRVZCUVVrMFJTeGhRVUZoTTBNc1JVRkJTWE5ETEVkQlMyaERMRWRCUVVsTUxFVkJRVXNzUTBGRFVDeEpRVUZKVnl4SFFVRmpMRVZCUTJ4Q0xFbEJRVXMxUXl4RlFVRkpReXhGUVVGWlJDeEZRVUZKZFVNc1JVRkJWM1pETEVsQlEyeERMRWRCUVVrd1F5eEZRVUZMY0VZc1JVRkJTekJETEV0QlFVOHdReXhGUVVGTFZpeEhRVUZ4UWl4SlFVRm9RbGtzUlVGQmIwSXNSVUZCU1RWRExFVkJRVWswUXl4SlFVVjZSQ3hKUVVSdlFpeEpRVUZvUWtFc1NVRkJiVUpCTEVWQlFXRTFReXhIUVVOb1EwRXNSVUZCU1RSRExFVkJRV0VzU1VGQlRVb3NSVUZCVnl4UFFVRlBTU3hGUVVGaFRpeFBRVVYwUXl4SlFVRm9RazBzU1VGQmJVSTFReXhIUVVGTFFTeEZRVUZKTkVNc1IwRkRhRU5CTEVkQlFXTXNUMEZMYkVJc1NVRkVTVE5ETEVWQlFXRjFReXhGUVVGWlJDeEpRVUZYZEVNc1JVRkJZWE5ETEVWQlFWbERMRWRCUXpWRWVFTXNSVUZCU1VNc1JVRkJXVVFzUjBGQlN5eEZRVUZIUVN4SlFVRkxMRU5CUldoRExFbEJSRUVzU1VGQlNUWkRMRWRCUVZFc1JVRkRTRU1zUlVGQlNTeEZRVUZIUVN4RlFVRkpUaXhGUVVGWFRTeEpRVU0zUWl4SFFVRkpTaXhGUVVGTGNFWXNSVUZCU3pCRExFVkJRVWs0UXl4TFFVRlBTaXhGUVVGTFZpeEZRVUZMWXl4SFFVRkpMRU5CUTNKRFJDeEhRVUZSTEVWQlExSXNUVUZIU2l4SFFVRkpRU3hGUVVGUExFOUJRVTgzUXl4RlFVbDBRaXhQUVVGUkxFVkJaVllzVTBGQlV5dERMRk5CUVZWb1JpeEZRVUZMTUVJc1JVRkJVWFZFTEVWQlFWRnVSaXhIUVVOMFEyMUdMRVZCUVZORExFOUJRVTlFTEVsQlFWY3NSVUZETTBJc1NVRkJTVVVzUlVGQldXNUdMRVZCUVVsR0xFOUJRVk50Uml4RlFVTjRRbTVHTEVkQlIwaEJMRVZCUVZOdlJpeFBRVUZQY0VZc1NVRkRTSEZHTEVsQlExaHlSaXhGUVVGVGNVWXNSMEZLV0hKR0xFVkJRVk54Uml4RlFWRllMRWxCUVVsRExFVkJRVk14UkN4RlFVRlBOVUlzVDBGRmFFSkJMRVZCUVZOelJpeEZRVUZUTEVsQlEzQkNkRVlzUlVGQlUzTkdMRVZCUVZNc1IwRkZjRUlzU1VGQlN5eEpRVUZKYmtRc1JVRkJTU3hGUVVGSFFTeEZRVUZKYmtNc1NVRkJWVzFETEVWQlFVY3NRMEZETDBJc1NVRkJTVzlFTEVWQlFWTkRMRk5CUVZNMVJDeEZRVUZQTmtRc1QwRkJWeXhGUVVGS2RFUXNSVUZCVHl4SFFVRkpMRWxCUXk5RExFZEJRVWxOTEZsQlFWazRReXhIUVVGVExFOUJRVTl3UkN4RlFVTm9RMnBETEVWQlFVbHBSaXhGUVVGVGFFUXNSMEZCUzI5RUxFVkJSWEJDTEU5QlFVOXdSQ3hGUVVkVUxGTkJRVk4xUkN4VlFVRlhlRVlzUlVGQlN6QkNMRVZCUVZGMVJDeEZRVUZSYmtZc1IwRkRka01zVDBGQlR6SkdMRmRCUVZkNlF5eFpRVUZaZEVJc1JVRkJVVEZDTEVWQlFVbEdMRTlCUVZOdFJpeEhRVUZUYWtZc1JVRkJTMmxHTEVWQlFWRnVSaXhIUVVjelJTeFRRVUZUTkVZc1YwRkJXVEZHTEVWQlFVc3dRaXhGUVVGUmRVUXNSVUZCVVc1R0xFZEJRM2hETEU5QlFVOHlSaXhYUVVGWFJTeGhRVUZoYWtVc1IwRkJVekZDTEVWQlFVdHBSaXhGUVVGUmJrWXNSMEZIZGtRc1UwRkJVemhHTEZsQlFXRTFSaXhGUVVGTE1FSXNSVUZCVVhWRUxFVkJRVkZ1Uml4SFFVTjZReXhQUVVGUE5FWXNWMEZCVnpGR0xFVkJRVXN3UWl4RlFVRlJkVVFzUlVGQlVXNUdMRWRCUjNwRExGTkJRVk1yUml4WlFVRmhOMFlzUlVGQlN6QkNMRVZCUVZGMVJDeEZRVUZSYmtZc1IwRkRla01zVDBGQlR6SkdMRmRCUVZkNFF5eGpRVUZqZGtJc1IwRkJVekZDTEVWQlFVdHBSaXhGUVVGUmJrWXNSMEZIZUVRc1UwRkJVMmRITEZWQlFWYzVSaXhGUVVGTE1FSXNSVUZCVVhWRUxFVkJRVkZ1Uml4SFFVTjJReXhQUVVGUE1rWXNWMEZCVjAwc1pVRkJaWEpGTEVWQlFWRXhRaXhGUVVGSlJpeFBRVUZUYlVZc1IwRkJVMnBHTEVWQlFVdHBSaXhGUVVGUmJrWXNSMEZwUmpsRkxGTkJRVk0yUkN4WlFVRmhNMFFzUlVGQlMyOUVMRVZCUVU5RExFZEJRMmhETEU5QlFXTXNTVUZCVmtRc1IwRkJaVU1zU1VGQlVYSkVMRVZCUVVsR0xFOUJRM1JDYUVJc1QwRkJUMnRJTEdOQlFXTm9SeXhIUVVWeVFteENMRTlCUVU5clNDeGpRVUZqYUVjc1JVRkJTU3RDTEUxQlFVMXhRaXhGUVVGUFF5eEpRVWxxUkN4VFFVRlRSeXhWUVVGWGVFUXNSVUZCUzI5RUxFVkJRVTlETEVkQlF6bENRU3hGUVVGTk5FTXNTMEZCUzBNc1NVRkJTV3hITEVWQlFVbEdMRTlCUVZGMVJDeEhRVWt6UWl4SlFVaEJMRWxCUVVrNFF5eEZRVUZOTEVkQlJVNXNSU3hGUVVGSmJVSXNSVUZEUkc1Q0xFVkJRVWx2UWl4SFFVRkxMRU5CUTJRc1NVRlJUU3RETEVWQlFWbERMRVZCUVZkRExFVkJRVmxETEVWQlVuSkRReXhGUVVGWmVFY3NSVUZCU1dsRExFZEJRMmhDZDBVc1JVRkJXU3hMUVVOYVF5eEZRVUZ2UWtZc1JVRkJXU3hKUVVGUkxFVkJRM1pEUVN4RlFVRlpMRWxCUVZFc1JVRkRiRUpCTEVWQlFWa3NTVUZCVVN4RlFVTnVRaXhGUVVWU0xFZEJRVWwyUlN4RlFVRkplVVVzUjBGQmIwSnlSQ3hGUVVjeFFpeFBRVUZSY1VRc1IwRkRUaXhMUVVGTExFVkJRME5HTEVWQlFWa3NUVUZEWkVNc1JVRkJXVVFzUjBGRlpDeE5RVU5HTEV0QlFVc3NSVUZGZVVJc1RVRkJWaXhMUVVSc1Frb3NSVUZCWVhCSExFVkJRVWxwUXl4RlFVRkpMRTlCUlc1Q2MwVXNSMEZCTmtJc1IwRkJXa01zU1VGQmNVSXNSVUZCYjBJc1IwRkJZa29zUjBGRGVrSXNUVUZEYkVKTExFVkJRVmxHTEVkQlIyaENMRTFCUTBZc1MwRkJTeXhGUVVOSVNDeEZRVUZoY0Vjc1JVRkJTV2xETEVWQlFVa3NSMEZEY2tKdlJTeEZRVUZaY2tjc1JVRkJTV2xETEVWQlFVa3NSMEZEVVN4TlFVRldMRWxCUVdKdFJTeEpRVUZ6UkN4TlFVRldMRWxCUVZwRExFdEJRMjVEUlN4SFFVRTJRaXhIUVVGYVF5eEpRVUZ2UWl4SlFVRnZRaXhIUVVGaVNpeEpRVUZ6UWl4RlFVRnRRaXhIUVVGYVF5eEhRVU55UkN4UFFVRlZSU3hGUVVGblFpeFBRVUZWUVN4RlFVRm5RaXhUUVVOMFJVVXNSVUZCV1VZc1IwRkhhRUlzVFVGRFJpeExRVUZMTEVWQlEwaElMRVZCUVdGd1J5eEZRVUZKYVVNc1JVRkJTU3hIUVVOeVFtOUZMRVZCUVZseVJ5eEZRVUZKYVVNc1JVRkJTU3hIUVVOd1FuRkZMRVZCUVdGMFJ5eEZRVUZKYVVNc1JVRkJTU3hIUVVOUExFMUJRVllzU1VGQlltMUZMRWxCUVhORUxFMUJRVllzU1VGQldrTXNTVUZCYzBRc1RVRkJWaXhKUVVGaVF5eExRVU5zUlVNc1IwRkJOa0lzUjBGQldrTXNTVUZCYjBJc1NVRkJjVUlzUjBGQllrb3NTVUZCYzBJc1NVRkJiVUlzUjBGQldrTXNTVUZCY1VJc1JVRkJiMElzUjBGQllrTXNSMEZEYkVZc1QwRkJWVU1zUlVGQlowSXNWVUZETlVORkxFVkJRVmxHTEVkQlRVb3NUMEZCWkVVc1IwRkhSa0VzUlVGQldTeE5RVU5hUXl4RlFVRnRRaXhIUVVOV1JDeEZRVUZaTEZGQlJYSkNRU3hIUVVGaExFMUJRMkpPTEVWQlFVbFJMRXRCUVV0R0xFbEJRV01zUjBGQlN5eExRVUZSTEU5QlEzQkRRU3hGUVVGWkxFMUJRWEZDTEV0QlFWcEJMRWRCUjNaQ1RpeEZRVUZKVVN4TFFVRkxSaXhIUVVOVWVFVXNSMEZCUzNsRkxFVkJSMUFzVDBGQlQwVXNjMEpCUVhOQ1ZDeEhRVFU1UWk5Q2JFZ3NVVUZCVVRSSUxGZEJRV0Y0U0N4aFFXZENja0pJTEU5QlFVODBTQ3h2UWtGQmMwSjRTQ3h2UWtGRmVFSktMRTlCUVU4MFNDeHhRa0ZCTUVNc2IwSkJRVnBETEZOQlEySXNiVUpCUVd4Q1FTeFJRVUZSUXl4UFFVTnFRa1FzVVVGQlVVTXNUVUZEVGl4cFNrRm5Ra3BETEU5QlFVOURMR1ZCUVdWb1NTeFBRVUZQVVN4VlFVRlhMRk5CUVZVc1EwRkRhRVI1U0N4WlFVRlpMRVZCUTFwRExFbEJRVXNzVjBGRFNDeEhRVUZMYkVrc1QwRkJUMnRFTEZOQlFWTnJRaXhOUVVOeVFpeFBRVUZQUVN4TFFVRkxNVU1zVlVGSmFFSnhSeXhQUVVGUFF5eGxRVUZsYUVrc1QwRkJUMUVzVlVGQlZ5eFRRVUZWTEVOQlEyaEVlVWdzV1VGQldTeEZRVU5hUXl4SlFVRkxMRmRCUTBnc1IwRkJTMnhKTEU5QlFVOXJSQ3hUUVVGVGEwSXNUVUZEY2tJc1QwRkJUMEVzUzBGQlMzQkNMR05CYzBOTkxHOUNRVUZZYWtJc1VVRkJORU1zVFVGQmJFSkJMRTlCUVU5dlJ5eFRRVU40UTI1SkxFOUJRVThyUWl4UFFVRlBiMGNzVjBGQllXNUpMRkZCUXpkQ0swZ3NUMEZCVDBNc1pVRkJaV2hKTEU5QlFWRXJRaXhQUVVGUGIwY3NVVUZCVXl4RFFVTTFReTlITEUxQlFVOHNTMEZEVUdkSUxHTkJRV01zUlVGRFpFZ3NXVUZCV1N4RlFVTmFTU3hWUVVGVkxFbEJTV1J5U1N4UFFVRlBjMGtzVTBGQlZ5eExRVEJFYkVKMFNTeFBRVUZQYlVJc1MwRkJUeXhUUVVGVlF5eEZRVUZQU2l4RlFVRnJRa29zUjBGREwwTXNUMEZCVDA4c1MwRkJTME1zUlVGQlQwb3NSVUZCYTBKS0xFbEJTM1pEV2l4UFFVRlBVU3hWUVVGVlJDeFZRVUZaUkN4WFFVRlhSU3hWUVVONFExSXNUMEZCVDA4c1ZVRkJXVVFzVjBFNFFtNUNUaXhQUVVGUGJVTXNUVUZCVVN4VFFVRlZSQ3hGUVVGTlJTeEZRVUZOUXl4SFFVTnVReXhQUVVGUFJpeE5RVUZOUkN4RlFVRk5SU3hGUVVGTlF5eEpRVmN6UW5KRExFOUJRVTlyUWl4WlFVRmpMRk5CUVZWblFpeEhRVU0zUWl4UFFVRlBhRUlzV1VGQldXZENMRWxCUzNKQ2JFTXNUMEZCVDNWSkxHZENRVUZyUWl4VFFVRlZja2NzUjBGRGFrTXNUMEZCVDJoQ0xGbEJRVmxuUWl4SlFYRkhja0pzUXl4UFFVRlBhMFFzVTBGQlZ5eFRRVUZ0UW5KQ0xFZEJRMjVETEU5QlFWa3NUVUZCVEVFc1NVRkJOa0lzU1VGQmFFSkJMRVZCUVVVeVJ5eFhRVU53UWpOSExFbEJRVTAzUWl4UFFVRlBVU3hYUVVkcVFsSXNUMEZCVDNsSkxGRkJRVlVzVTBGQmEwSkRMRVZCUVVjM1J5eEhRVWR3UXl4SFFVWkpTaXhYUVVGWGFVZ3NSVUZCUjNCSkxHTkJRV0Z2U1N4RlFVRkpNVWtzVDBGQlQyMUNMRXRCUVV0MVNDeEZRVUZIUVN4RlFVRkZNME1zVDBGQlVUSkRMRVZCUVVWb1J5eGhRVU14UkdwQ0xGZEJRVmRKTEVWQlFVZDJRaXhqUVVGaGRVSXNSVUZCU1RkQ0xFOUJRVTl0UWl4TFFVRkxWU3hGUVVGSFFTeEZRVUZGYTBVc1QwRkJVV3hGTEVWQlFVVmhMR05CUTNwRU1VTXNUMEZCVDJ0RUxGTkJRVk4zUml4TFFVRlBNVWtzVDBGQlQydEVMRk5CUVZOeVFpeEhRVU14UXl4TlFVRk5MRWxCUVVsYUxGVkJRMUlzZVVWQlNVb3NSMEZCU1hsSUxFbEJRVTAzUnl4RlFVRkhMRTlCUVU4c1JVRkxjRUlzU1VGSVFTeEpRVUZKT0Vjc1JVRkJTVVFzUlVGQlJUbElMRTlCUTA1blNTeEZRVUZKTDBjc1JVRkJSV3BDTEU5QlJVUnRReXhGUVVGSkxFVkJRVWRKTEVWQlFVMDBSQ3hMUVVGTFF5eEpRVUZKTWtJc1JVRkJSME1zUjBGQlNUZEdMRVZCUVVsSkxFbEJRVTlLTEVWQlF5OURMRWRCUVVreVJpeEZRVUZGTTBZc1MwRkJUMnhDTEVWQlFVVnJRaXhIUVVGSkxFTkJRMnBDTkVZc1JVRkJTVVFzUlVGQlJUTkdMRWRCUTA0MlJpeEZRVUZKTDBjc1JVRkJSV3RDTEVkQlEwNHNUVUZKU2l4UFFVRkpORVlzUlVGQlNVTXNSMEZCVnl4RlFVTm1RU3hGUVVGSlJDeEZRVUZWTEVWQlExZ3NSMEZIVkROSkxFOUJRVTk1UXl4WFFVRmhMRk5CUVhGQ1NpeEhRVU4yUXl4UFFVRlJiVVFzVDBGQlQyNUVMRWRCUVZVeVFpeGxRVU4yUWl4SlFVRkxMRTFCUTB3c1NVRkJTeXhQUVVOTUxFbEJRVXNzVVVGRFRDeEpRVUZMTEZGQlEwd3NTVUZCU3l4VFFVTk1MRWxCUVVzc1UwRkRUQ3hKUVVGTExGTkJRMHdzU1VGQlN5eFBRVU5NTEVsQlFVc3NVVUZEVEN4SlFVRkxMRlZCUTB3c1NVRkJTeXhYUVVOSUxFOUJRVThzUlVGRFZDeFJRVU5GTEU5QlFVOHNTVUZKWW1oRkxFOUJRVTgyU1N4UFFVRlRMRk5CUVdsQ1F5eEZRVUZOYkVrc1IwRkRja01zU1VGQlN6SkRMRTFCUVUxRExGRkJRVkZ6Uml4SFFVTnFRaXhOUVVGTkxFbEJRVWszU0N4VlFVRlZMQ3REUVVkMFFpeEhRVUZ2UWl4SlFVRm9RalpJTEVWQlFVdHNTU3hQUVVOUUxFOUJRVTlhTEU5QlFVOXRReXhOUVVGTkxFZEJSM1JDTEVsQlFVbFpMRVZCUTBvc1VVRkJaVlFzU1VGQldERkNMRVZCUlVZc1NVRkVRVUVzUlVGQlV5eEZRVU5LYlVNc1JVRkJTU3hGUVVGSFFTeEZRVUZKSzBZc1JVRkJTMnhKTEZOQlFWVnRReXhGUVVNM1FtNURMRWRCUVZWclNTeEZRVUZMTDBZc1IwRkJSMjVETEU5QlNYUkNMRWxCUVVsakxFVkJRVk14UWl4UFFVRlBhMElzV1VGQldVNHNSMEZETlVKdFNTeEZRVUZOTEVWQlExWXNTVUZCUzJoSExFVkJRVWtzUlVGQlIwRXNSVUZCU1N0R0xFVkJRVXRzU1N4VFFVRlZiVU1zUlVGQlJ5eERRVU5vUXl4SlFVRkpha01zUlVGQlRXZEpMRVZCUVVzdlJpeEhRVWxtTEVkQlNFbDBRaXhYUVVGWFdDeEZRVUZMVWl4alFVTnNRbEVzUlVGQlRXUXNUMEZCVDIxQ0xFdEJRVXRNTEV0QlJXWmtMRTlCUVU5clJDeFRRVUZUY0VNc1IwRkRia0lzVFVGQlRTeEpRVUZKUnl4VlFVRlZMQ3REUVVWMFFrZ3NSVUZCU1hORExFdEJRVXN4UWl4RlFVRlJjVWdzUjBGRGFrSkJMRWRCUVU5cVNTeEZRVUZKUml4UFFVVmlMRTlCUVU5akxFZEJhMFJVTVVJc1QwRkJUekJETEZkQlFXRkJMRmRCT0VWd1FqRkRMRTlCUVU5UkxGVkJRVlZuU1N4WFFVRlpMRVZCVVRkQ2VFa3NUMEZCVDFFc1ZVRkJWWGRKTEU5QlFWTXNWMEZEZUVJc1NVRkJTVGRHTEVWQlFVMXBRaXhMUVVGTGVFUXNUMEZEWml4SFFVRkpkVU1zUlVGQlRTeEhRVUZOTEVWQlEyUXNUVUZCVFN4SlFVRkpkRU1zVjBGQlZ5dzJRMEZGZGtJc1NVRkJTeXhKUVVGSmEwTXNSVUZCU1N4RlFVRkhRU3hGUVVGSlNTeEZRVUZMU2l4SFFVRkxMRVZCUXpWQ05FSXNTMEZCUzFBc1MwRkJUWEpDTEVWQlFVZEJMRVZCUVVrc1IwRkZjRUlzVDBGQlQzRkNMRTFCUjFSd1JTeFBRVUZQVVN4VlFVRlZlVWtzVDBGQlV5eFhRVU40UWl4SlFVRkpPVVlzUlVGQlRXbENMRXRCUVV0NFJDeFBRVU5tTEVkQlFVbDFReXhGUVVGTkxFZEJRVTBzUlVGRFpDeE5RVUZOTEVsQlFVbDBReXhYUVVGWExEWkRRVVYyUWl4SlFVRkxMRWxCUVVsclF5eEZRVUZKTEVWQlFVZEJMRVZCUVVsSkxFVkJRVXRLTEVkQlFVc3NSVUZETlVJMFFpeExRVUZMVUN4TFFVRk5ja0lzUlVGQlIwRXNSVUZCU1N4SFFVTnNRalJDTEV0QlFVdFFMRXRCUVUxeVFpeEZRVUZKTEVWQlFVZEJMRVZCUVVrc1IwRkZlRUlzVDBGQlQzRkNMRTFCUjFSd1JTeFBRVUZQVVN4VlFVRlZNRWtzVDBGQlV5eFhRVU40UWl4SlFVRkpMMFlzUlVGQlRXbENMRXRCUVV0NFJDeFBRVU5tTEVkQlFVbDFReXhGUVVGTkxFZEJRVTBzUlVGRFpDeE5RVUZOTEVsQlFVbDBReXhYUVVGWExEWkRRVVYyUWl4SlFVRkxMRWxCUVVsclF5eEZRVUZKTEVWQlFVZEJMRVZCUVVsSkxFVkJRVXRLTEVkQlFVc3NSVUZETlVJMFFpeExRVUZMVUN4TFFVRk5ja0lzUlVGQlIwRXNSVUZCU1N4SFFVTnNRalJDTEV0QlFVdFFMRXRCUVUxeVFpeEZRVUZKTEVWQlFVZEJMRVZCUVVrc1IwRkRkRUkwUWl4TFFVRkxVQ3hMUVVGTmNrSXNSVUZCU1N4RlFVRkhRU3hGUVVGSkxFZEJRM1JDTkVJc1MwRkJTMUFzUzBGQlRYSkNMRVZCUVVrc1JVRkJSMEVzUlVGQlNTeEhRVVY0UWl4UFFVRlBjVUlzVFVGSFZIQkZMRTlCUVU5UkxGVkJRVlZyUkN4VFFVRlhMRmRCUXpGQ0xFbEJRVWs1UXl4RlFVRlRkMFFzUzBGQlMzaEVMRTlCUTJ4Q0xFOUJRV1VzU1VGQldFRXNSVUZCY1VJc1IwRkRRU3hKUVVGeVFtZEVMRlZCUVZWb1JDeFBRVUZ4UWpCRUxGVkJRVlZHTEV0QlFVMHNSVUZCUjNoRUxFZEJReTlEY1VRc1lVRkJZV3RHTEUxQlFVMHZSU3hMUVVGTlVpeFpRVWRzUXpWRUxFOUJRVTlSTEZWQlFWVTBTU3hsUVVGcFFuQktMRTlCUVU5UkxGVkJRVlZyUkN4VFFVVnVSREZFTEU5QlFVOVJMRlZCUVZVMlNTeFBRVUZUTEZOQlFXbENlRWdzUjBGRGVrTXNTVUZCU3pkQ0xFOUJRVTlyUkN4VFFVRlRja0lzUjBGQlNTeE5RVUZOTEVsQlFVbGFMRlZCUVZVc05rSkJRemRETEU5QlFVbHRSQ3hQUVVGVGRrTXNSMEZEYzBJc1NVRkJOVUkzUWl4UFFVRlBlVWtzVVVGQlVYSkZMRXRCUVUxMlF5eEpRVWM1UWpkQ0xFOUJRVTlSTEZWQlFWVTRTU3hSUVVGVkxGZEJRM3BDTEVsQlFVbERMRVZCUVUwc1IwRkRUa01zUlVGQlRYcEtMRkZCUVZGSExHdENRVWRzUWl4UFFVWkJjVW9zUlVGQlRXNUdMRXRCUVV0V0xGTkJRVk1zVFVGQlR5eEZRVUZIT0VZc1IwRkJTME1zVVVGQlVTeFZRVUZYTEU5QlFVOURMRTlCUTNwRWRFWXNTMEZCUzNoRUxFOUJRVk0wU1N4SlFVRkxSQ3hIUVVGUExGTkJRM1pDTEZkQlFXRkJMRVZCUVUwc1MwRkhOVUoyU2l4UFFVRlBVU3hWUVVGVmFVa3NVVUZCVlN4VFFVRnJRbXRDTEVWQlFWRjZSaXhGUVVGUFF5eEZRVUZMZVVZc1JVRkJWME1zUjBGSk1VVXNSMEZJU1hCSkxGZEJRVmRyU1N4RlFVRlJja29zWTBGRGNrSnhTaXhGUVVGVE0wb3NUMEZCVDIxQ0xFdEJRVXQzU1N4RlFVRlJRU3hGUVVGUE5VUXNUMEZCVVRSRUxFVkJRVTlxU0N4alFVVm9SREZETEU5QlFVOXJSQ3hUUVVGVGVVY3NSMEZEYmtJc1RVRkJUU3hKUVVGSk1Va3NWVUZEVWl4M1JrRkRNa0l3U1N4SFFXbENMMElzVVVGaVkzSklMRWxCUVZZMFFpeEpRVU5HUVN4RlFVRlJMRkZCUlVVMVFpeEpRVUZTTmtJc1NVRkRSa0VzUlVGQlRYZEdMRVZCUVZOQkxFVkJRVTh2U1N4UFFVRlRMRkZCUldZd1FpeEpRVUZrYzBnc1NVRkRSa0VzUlVGQldTeFJRVVZGZEVnc1NVRkJXblZJTEVsQlEwWkJMRVZCUVZWNlJpeExRVUZMZUVRc1VVRkhZbk5FTEVWQlFWRXNSMEZCUzBNc1JVRkJUWGRHTEVWQlFVOHZTU3hSUVVGVlowb3NSVUZCV1N4SFFVRkxReXhGUVVGVmVrWXNTMEZCUzNoRUxFOUJRM1JGTEUxQlFVMHNTVUZCU1VNc1YwRkJWeXh6UWtGSGRrSXNSMEZCU1N0SkxFZEJRV0ZETEVkQlFWY3pSaXhIUVVGVFF5eEZRVU51UXl4UFFVRlBMRVZCUlZRc1IwRkJTWGxHTEVkQlFXRkRMRVZCUTJZc1QwRkJVU3hGUVVWV0xFZEJRVWt6Uml4SFFVRlRReXhGUVVOWUxFOUJRVThzUlVGUlZDeEhRVUZKUXl4UFFVRlRkVVlzUlVGQlVTeFBRVUZQTEVWQlV6VkNMRWxCVUVFc1NVRkJTV2hDTEVkQlNrcHJRaXhMUVVGaExFbEJSR0pFTEV0QlFXVXNSMEZOV0doQ0xFZEJVRXA2UlN4TFFVRlRMRWxCUkZSRUxFdEJRVmNzUjBGVFVHWXNSVUZCVFRSRUxFdEJRVXRETEVsQlFVa3lRaXhGUVVGSFF5eEhRVVZzUW10Q0xFVkJRVmN4Uml4TFFVRkxka0lzVFVGQlRTdEhMRVZCUVZkRExFZEJRMnBEUlN4RlFVRmhTaXhGUVVGUE9VY3NUVUZCVFhGQ0xFVkJRVTlETEVkQlJUVkNjRUlzUlVGQlNTeEZRVUZIUVN4RlFVRkpTU3hKUVVGUFNpeEZRVU42UWl4SFFVRkpLMGNzUlVGQlV5OUhMRXRCUVU5blNDeEZRVUZYYUVnc1IwRkJTU3hEUVVOcVF6UkdMRVZCUVVsdFFpeEZRVUZUTDBjc1IwRkRZalpHTEVWQlFVbHRRaXhGUVVGWGFFZ3NSMEZEWml4TlFVbEtMRTlCUVVrMFJpeEZRVUZKUXl4SFFVRlhMRVZCUTJaQkxFVkJRVWxFTEVWQlFWVXNSVUZEV0N4SFFUUklWRE5KTEU5QlFVOVJMRlZCUVZWM1NpeFRRVUZYTEZOQlFXMUNha1lzUlVGQlN5OUNMRVZCUVZsWUxFZEJRemxFTEU5QlFXOUVMRWxCUVRkREswSXNTMEZCUzJNc1VVRkJVVWdzUlVGQlN5OUNMRVZCUVZsWUxFbEJSM1pEY2tNc1QwRkJUMUVzVlVGQlZUQkZMRkZCUVZVc1UwRkJhMEpJTEVWQlFVc3ZRaXhGUVVGWldDeEhRVU0xUkN4UFFVRlBlVU1zY1VKQlFYRkNWaXhMUVVGTlZ5eEZRVUZMTDBJc1JVRkJXVmdzUjBGQlZTeEpRVWN2UkhKRExFOUJRVTlSTEZWQlFWVTBSU3haUVVGakxGTkJRWE5DVEN4RlFVRkxMMElzUlVGQldWZ3NSMEZEY0VVc1QwRkJUM2xETEhGQ1FVRnhRbFlzUzBGQlRWY3NSVUZCU3k5Q0xFVkJRVmxZTEVkQlFWVXNTVUZuUkM5RWNrTXNUMEZCVDFFc1ZVRkJWVzlETEUxQlFWRXNVMEZCWjBKS0xFVkJRVkYxUkN4RlFVRlJia1lzUlVGQlVYbENMRWRCUlM5RUxGRkJRV1ZETEVsQlFWaDVSQ3hGUVVOR01VUXNSVUZCVnl4UFFVTllla0lzUlVGQlUzZEVMRXRCUVV0NFJDeFBRVU5rYlVZc1JVRkJVeXhQUVVWS0xGRkJRV1Y2UkN4SlFVRllNVUlzUjBGQk1FTXNhVUpCUVZodFJpeEZRVU40UXpGRUxFVkJRVmN3UkN4RlFVTllia1lzUlVGQlUzZEVMRXRCUVV0NFJDeFBRVU5rYlVZc1JVRkJVeXhOUVVWS0xFTkJRVUVzU1VGQlNXdEZMRk5CUVZOc1JTeEhRVlZzUWl4TlFVRk5MRWxCUVVsdFJTeE5RVU5TTERKRlFWWkdia1VzUzBGQmIwSXNSVUZEYUVKclJTeFRRVUZUY2tvc1NVRkRXRUVzUzBGQmIwSXNUMEZEU0RCQ0xFbEJRV0pFTEVsQlFYZENRU3hGUVVGWExGVkJSWFpEUVN4RlFVRlhla0lzUlVGRFdFRXNUMEZCVXpCQ0xFZEJVV0lzU1VGQlNUSkVMRVZCUVZrM1FpeExRVUZMZUVRc1QwRkJVMjFHTEVWQlJ6bENMRk5CUm1WNlJDeEpRVUZZTVVJc1IwRkJkMEpCTEVWQlFWTnhSaXhMUVVGWGNrWXNSVUZCVTNGR0xFZEJSWEJFZWtRc1JVRkJUelZDTEU5QlFWTXNTVUZCVFVFc1JVRkJVeXhIUVVGTGJVWXNSVUZCVXl4SlFVRlBRU3hGUVVGVE0wSXNTMEZCUzNoRUxFOUJRM0pGTEUxQlFVMHNTVUZCU1VNc1YwRkJWeXd3UTBGSGJFSjNRaXhKUVVGVlFTeEZRVUZYTEZGQlJ6RkNMRWxCUkVFc1NVRkJTWGRDTEVkQlFXTXNTVUZGYUVJc1QwRkJVWGhDTEVkQlEwNHNTVUZCU3l4TlFVTklMRTlCUVU5NVJDeFRRVUZUTVVJc1MwRkJUVFZDTEVWQlFWRjFSQ3hGUVVGUmJrWXNSMEZGZUVNc1NVRkJTeXhQUVVOTUxFbEJRVXNzVVVGRFNDeFBRVUZQTUVZc1ZVRkJWV3hETEV0QlFVMDFRaXhGUVVGUmRVUXNSVUZCVVc1R0xFZEJSWHBETEVsQlFVc3NVVUZEU0N4UFFVRlBORVlzVjBGQlYzQkRMRXRCUVUwMVFpeEZRVUZSZFVRc1JVRkJVVzVHTEVkQlJURkRMRWxCUVVzc1UwRkRUQ3hKUVVGTExGTkJRMGdzVDBGQlR6aEdMRmxCUVZsMFF5eExRVUZOTlVJc1JVRkJVWFZFTEVWQlFWRnVSaXhIUVVVelF5eEpRVUZMTEZOQlJVZ3NUMEZCVHl0R0xGbEJRVmwyUXl4TFFVRk5OVUlzUlVGQlVYVkVMRVZCUVZGdVJpeEhRVVV6UXl4SlFVRkxMRTlCUTB3c1NVRkJTeXhSUVVOTUxFbEJRVXNzVlVGRFRDeEpRVUZMTEZkQlEwZ3NUMEZCVDJkSExGVkJRVlY0UXl4TFFVRk5OVUlzUlVGQlVYVkVMRVZCUVZGdVJpeEhRVVY2UXl4UlFVTkZMRWRCUVVscFJDeEZRVUZoTEUxQlFVMHNTVUZCU1RWRExGVkJRVlVzY1VKQlFYVkNiMElzUjBGRE5VUkJMRWRCUVZrc1IwRkJTMEVzUjBGQlZUSkNMR05CUXpOQ1NDeEhRVUZqTEVsQlMzUkNOMFFzVDBGQlQxRXNWVUZCVlRKS0xFOUJRVk1zVjBGRGVFSXNUVUZCVHl4RFFVTk1OMGNzUzBGQlRTeFRRVU5PUnl4TFFVRk5SaXhOUVVGTkwwTXNWVUZCVlhGRExFMUJRVTF6UXl4TFFVRkxaaXhMUVVGTFowY3NUVUZCVVdoSExFdEJRVTBzUzBGM1JuaEVMRWxCUVVscFJ5eHhRa0ZCZFVJc1MwRkZNMElzVTBGQlV6TkRMSE5DUVVGMVFqUkRMRWRCUXpsQ0xFbEJRVWx1U0N4RlFVRk5iVWdzUlVGQlZ6RktMRTlCUTNKQ0xFZEJRVWwxUXl4SFFVRlBhMGdzY1VKQlExUXNUMEZCVHpkRkxFOUJRVThyUlN4aFFVRmhjRUlzVFVGQlRUTkVMRTlCUVZFNFJTeEhRVTB6UXl4SlFVWkJMRWxCUVVseVJDeEZRVUZOTEVkQlEwNXNSU3hGUVVGSkxFVkJRMFJCTEVWQlFVbEpMRWRCUTFRNFJDeEhRVUZQZWtJc1QwRkJUeXRGTEdGQlFXRndRaXhOUVVONlFqTkVMRTlCUTBFNFJTeEZRVUZYZWtnc1RVRkJUVVVzUlVGQlIwRXNSMEZCUzNOSUxIVkNRVWMzUWl4UFFVRlBjRVFzUlVGSFZDeFRRVUZUTVVNc1YwRkJXWHBFTEVWQlFVdHZSQ3hGUVVGUFF5eEhRVU12UWl4SlFVRkpjVWNzUlVGQlRTeEhRVU5XY2tjc1JVRkJUVFJETEV0QlFVdERMRWxCUVVsc1J5eEZRVUZKUml4UFFVRlJkVVFzUjBGRk0wSXNTVUZCU3l4SlFVRkpjRUlzUlVGQlNXMUNMRVZCUVU5dVFpeEZRVUZKYjBJc1NVRkJUM0JDTEVWQlF6ZENlVWdzUjBGQlQyaEdMRTlCUVU4clJTeGhRVUZ6UWl4SlFVRlVla29zUlVGQlNXbERMRWxCUldwRExFOUJRVTk1U0N4RlFVZFVMRk5CUVZOb1J5eFpRVUZoTVVRc1JVRkJTMjlFTEVWQlFVOURMRWRCUTJoRExFbEJRVWx4Unl4RlFVRk5MRWRCUTFaeVJ5eEZRVUZOTkVNc1MwRkJTME1zU1VGQlNXeEhMRVZCUVVsR0xFOUJRVkYxUkN4SFFVVXpRaXhKUVVGTExFbEJRVWx3UWl4RlFVRkpiVUlzUlVGQlQyNUNMRVZCUVVsdlFpeEpRVUZQY0VJc1JVRkROMEo1U0N4SFFVRlBhRVlzVDBGQlR5dEZMR0ZCUVdGNlNpeEZRVUZKYVVNc1NVRkZha01zVDBGQlQzbElMRVZCUjFRc1UwRkJVMjVITEZOQlFWVjJSQ3hGUVVGTGIwUXNSVUZCVDBNc1IwRkROMElzU1VGQlNXaENMRVZCUVUxeVF5eEZRVUZKUml4VFFVVlVjMFFzUjBGQlUwRXNSVUZCVVN4TFFVRkhRU3hGUVVGUkxFdEJRelZDUXl4SFFVRlBRU3hGUVVGTkxFZEJRVXRCTEVWQlFVMW9RaXhMUVVGTFowSXNSVUZCVFdoQ0xFZEJSM2hETEVsQlJFRXNTVUZCU1hOSUxFVkJRVTBzUjBGRFJERklMRVZCUVVsdFFpeEZRVUZQYmtJc1JVRkJTVzlDTEVsQlFVOXdRaXhGUVVNM1FqQklMRWRCUVU5RExFMUJRVTAxU2l4RlFVRkphVU1zU1VGRmJrSXNUMEZCVHpCSUxFVkJSMVFzVTBGQlV5OUdMR0ZCUVdNMVJDeEZRVUZMYjBRc1JVRkJUME1zUjBGSGFrTXNTVUZHUVN4SlFVRkpkMGNzUlVGQlVUZEtMRVZCUVVrclFpeE5RVUZOY1VJc1JVRkJUME1zUjBGRGVrSTRReXhGUVVGTkxFZEJRMFJzUlN4RlFVRkpMRVZCUVVkQkxFVkJRVWswU0N4RlFVRk5MMG9zVDBGQlVXMURMRWRCUVVzc1JVRkRja05yUlN4SFFVRlBla0lzVDBGQlR5dEZMR0ZCUVdGSkxFVkJRVTAxU0N4SFFVRnhRaXhKUVVGbU5FZ3NSVUZCVFRWSUxFVkJRVWtzU1VGRmJrUXNUMEZCVDJ0RkxFVkJhVU5VTEZOQlFWTXlSQ3haUVVGaE4wVXNSVUZCVVRoRkxFVkJRVXRxU3l4SFFVTnFReXhIUVVGTGJVWXNSVUZCVXl4SFFVRlBMRWRCUVV0QkxFVkJRVk1zUlVGQlJ5eE5RVUZOTEVsQlFVbHNSaXhYUVVGWExITkNRVU16UkN4SFFVRkphMFlzUlVGQlV6aEZMRVZCUVUxcVN5eEZRVUZSTEUxQlFVMHNTVUZCU1VNc1YwRkJWeXg1UTBFMlMyeEVMRk5CUVZOcFN5eFRRVUZWYUVzc1JVRkJTMDBzUlVGQlR6SkZMRVZCUVZFNFJTeEZRVUZMY2tJc1JVRkJTM2hETEVkQlF5OURMRWxCUVV0b1NDeFBRVUZQYTBRc1UwRkJVM0JETEVkQlFVMHNUVUZCVFN4SlFVRkpSeXhWUVVGVkxDdERRVU12UXl4SFFVRkpSeXhGUVVGUmIwa3NSMEZCVDNCSkxFVkJRVkUwUml4RlFVRkxMRTFCUVUwc1NVRkJTVzVITEZkQlFWY3NjVU5CUTNKRUxFZEJRVWxyUml4RlFVRlRPRVVzUlVGQlRTOUtMRVZCUVVsR0xFOUJRVkVzVFVGQlRTeEpRVUZKUXl4WFFVRlhMSE5DUVhsTWRFUXNVMEZCVTJ0TExHRkJRV05xU3l4RlFVRkxUU3hGUVVGUE1rVXNSVUZCVVRoRkxFVkJRVXR5UWl4RlFVRkxlRU1zUjBGRGJrUXNSMEZCU1dwQ0xFVkJRVk00UlN4RlFVRk5MMG9zUlVGQlNVWXNUMEZCVVN4TlFVRk5MRWxCUVVsRExGZEJRVmNzYzBKQlEzQkVMRWRCUVVsclJpeEZRVUZUTEVWQlFVY3NUVUZCVFN4SlFVRkpiRVlzVjBGQlZ5eHpRa0ZIZGtNc1UwRkJVMjFMTEZkQlFWbHNTeXhGUVVGTFRTeEZRVUZQTWtVc1JVRkJVV3RHTEVWQlFXTkRMRWRCVDNKRUxFOUJUa0U1U2l4SFFVRlRRU3hGUVVOVU1rVXNTMEZCYjBJc1JVRkRabTFHTEVkQlEwaElMR0ZCUVdGcVN5eEZRVUZMVFN4RlFVRlBNa1VzUlVGQlVTeEZRVUZITEhWQ1FVRjVRaXgxUWtGRkwwUnFSeXhSUVVGUk9FTXNUVUZCVFRsQ0xFVkJRVXROTEVWQlFVOHlSU3hGUVVGUmEwWXNSVUZCWXl4SFFVRkpMRWRCUXpkRGJFWXNSVUZCVXl4RlFWZHNRaXhUUVVGVGIwWXNXVUZCWVhKTExFVkJRVXROTEVWQlFVOHlSU3hGUVVGUmEwWXNSVUZCWTBNc1IwRlBkRVFzVDBGT1FUbEtMRWRCUVZOQkxFVkJRMVF5UlN4TFFVRnZRaXhGUVVObWJVWXNSMEZEU0Vnc1lVRkJZV3BMTEVWQlFVdE5MRVZCUVU4eVJTeEZRVUZSTEVWQlFVY3NkMEpCUVRCQ0xIZENRVVZvUldwSExGRkJRVkU0UXl4TlFVRk5PVUlzUlVGQlMwMHNSVUZCVHpKRkxFVkJRVkZyUml4RlFVRmpMRWRCUVVrc1IwRkROME5zUml4RlFVRlRMRVZCZG1Gc1FpOUdMRTlCUVU5UkxGVkJRVlZ4UXl4TlFVRlJMRk5CUVdkQ2NVSXNSVUZCVDBNc1IwRkRPVU1zU1VGQlNXaENMRVZCUVUxcFFpeExRVUZMZUVRc1VVRkRabk5FTEVsQlFWVkJMRWRCUjBVc1IwRkRWa0VzUjBGQlUyWXNSMEZEUnl4SlFVRkhaU3hGUVVGUkxFZEJRMlJCTEVWQlFWRm1MRWxCUTJwQ1pTeEZRVUZSWml4SlFVNVdaMElzVDBGQll6ZENMRWxCUVZJMlFpeEZRVUZ2UW1oQ0xFbEJRVkZuUWl4SFFWTjRRaXhIUVVOU1FTeEhRVUZQYUVJc1IwRkRSeXhKUVVGSFowSXNSVUZCVFN4SFFVTldRU3hGUVVGTmFFSXNTVUZEWm1kQ0xFVkJRVTFvUWl4SFFVZEtaMElzUlVGQlRVUXNTVUZCVDBNc1JVRkJUVVFzUjBGRmRrSXNTVUZCU1d0SUxFVkJRVk5vU0N4TFFVRkxhVWdzVTBGQlUyNUlMRVZCUVU5RExFZEJSMnhETEU5QlJFRnBTQ3hGUVVGUE4wc3NWVUZCV1ZBc1QwRkJUMUVzVlVGRGJrSTBTeXhIUVZkVWNFd3NUMEZCVDFFc1ZVRkJWVGhMTEZkQlFXRXNVMEZCY1VKMlJpeEZRVUZSY2tRc1JVRkJXWGRKTEVkQlEzSkZia1lzUzBGQmIwSXNSVUZEY0VKeVJDeExRVUUwUWl4RlFVTjJRbmRKTEVkQlFWVk9MRmxCUVZrM1JTeEZRVUZSY2tRc1JVRkJXVEJDTEV0QlFVdDRSQ3hSUVV0d1JDeEpRVWhCTEVsQlFVbHRSU3hGUVVGTldDeExRVUZMTWtJc1IwRkRXSGRHTEVWQlFVMHNSVUZEVG5oSkxFVkJRVWtzU1VGRFEwRXNSVUZCU1V3c1NVRkJaVFpKTEVkQlFVOHNUVUZEYWtONFJ5eEhRVUZQV0N4TFFVRkxNa0lzUlVGQlUyaEVMRWRCUVV0M1NTeEZRVWMxUWl4UFFVRlBlRWNzUjBGSFZDOUZMRTlCUVU5UkxGVkJRVlZuVEN4WFFVRmhMRk5CUVhGQ2VrWXNSVUZCVVhKRUxFVkJRVmwzU1N4SFFVTnlSVzVHTEV0QlFXOUNMRVZCUTNCQ2NrUXNTMEZCTkVJc1JVRkRka0ozU1N4SFFVTklUaXhaUVVGWk4wVXNSVUZCVVhKRUxFVkJRVmt3UWl4TFFVRkxlRVFzVVVGTGRrTXNTVUZHUVN4SlFVRkpiVVVzUlVGQlRWZ3NTMEZCU3pKQ0xFbEJRVmR5UkN4SFFVTjBRalpKTEVWQlFVMHNSVUZEU0RkSkxFVkJRV0VzU1VGQlRUWkpMRWRCUVU4c1RVRkRMMEo0Unl4SFFVRlBXQ3hMUVVGTE1rSXNTVUZCVjNKRUxFZEJRV00yU1N4RlFVZDJReXhQUVVGUGVFY3NSMEZIVkM5RkxFOUJRVTlSTEZWQlFWVnBUQ3hWUVVGWkxGTkJRVzlDTVVZc1JVRkJVVzFHTEVkQlIzWkVMRTlCUmtGdVJpeExRVUZ2UWl4RlFVTm1iVVlzUjBGQlZVNHNXVUZCV1RkRkxFVkJRVkVzUlVGQlJ6TkNMRXRCUVV0NFJDeFJRVU53UTNkRUxFdEJRVXN5UWl4SlFVZGtMMFlzVDBGQlQxRXNWVUZCVld0TUxHRkJRV1VzVTBGQmRVSXpSaXhGUVVGUmJVWXNSMEZITjBRc1QwRkdRVzVHTEV0QlFXOUNMRVZCUTJadFJpeEhRVUZWVGl4WlFVRlpOMFVzUlVGQlVTeEZRVUZITTBJc1MwRkJTM2hFTEZGQlEzQkRkMFFzUzBGQlN6SkNMRWRCUVZjelFpeExRVUZMTWtJc1JVRkJVeXhKUVVGTkxFZEJSemRETDBZc1QwRkJUMUVzVlVGQlZXdEdMR0ZCUVdVc1UwRkJkVUpMTEVWQlFWRnRSaXhIUVVjM1JDeFBRVVpCYmtZc1MwRkJiMElzUlVGRFptMUdMRWRCUVZWT0xGbEJRVmszUlN4RlFVRlJMRVZCUVVjelFpeExRVUZMZUVRc1VVRkRia04zUkN4TFFVRkxNa0lzU1VGQlZ5eEZRVUZMTTBJc1MwRkJTekpDTEVWQlFWTXNTVUZITjBNdlJpeFBRVUZQVVN4VlFVRlZiVXdzWVVGQlpTeFRRVUYxUWpWR0xFVkJRVkZ0Uml4SFFVazNSQ3hQUVVoQmJrWXNTMEZCYjBJc1JVRkRabTFHTEVkQlFWVk9MRmxCUVZrM1JTeEZRVUZSTEVWQlFVY3pRaXhMUVVGTGVFUXNVMEZGYkVOM1JDeExRVUZMTWtJc1IwRkRWRE5DTEV0QlFVc3lRaXhGUVVGVExFbEJRVTBzUlVGRGNFSXpRaXhMUVVGTE1rSXNSVUZCVXl4SlFVRk5MRWxCUTBRc1UwRkJia0l6UWl4TFFVRkxNa0lzUlVGQlV5eEpRVWR5UWk5R0xFOUJRVTlSTEZWQlFWVnZUQ3hoUVVGbExGTkJRWFZDTjBZc1JVRkJVVzFHTEVkQlNUZEVMRTlCU0VGdVJpeExRVUZ2UWl4RlFVTm1iVVlzUjBGQlZVNHNXVUZCV1RkRkxFVkJRVkVzUlVGQlJ6TkNMRXRCUVV0NFJDeFJRVVZ3UWl4VFFVRm1kMFFzUzBGQlN6SkNMRWxCUTFRelFpeExRVUZMTWtJc1JVRkJVeXhKUVVGTkxFZEJRM0pDTTBJc1MwRkJTekpDTEVWQlFWTXNTVUZCVFN4RlFVTnlRak5DTEV0QlFVc3lRaXhGUVVGVExFdEJSMnhDTDBZc1QwRkJUMUVzVlVGQlZYRk1MRlZCUVZrc1UwRkJiMEk1Uml4RlFVRlJja1FzUlVGQldYZEpMRWRCUTI1RmJrWXNTMEZCYjBJc1JVRkRjRUp5UkN4TFFVRTBRaXhGUVVOMlFuZEpMRWRCUVZWT0xGbEJRVmszUlN4RlFVRlJja1FzUlVGQldUQkNMRXRCUVV0NFJDeFJRVXR3UkN4SlFVaEJMRWxCUVVsdFJTeEZRVUZOV0N4TFFVRkxNa0lzUjBGRFdIZEdMRVZCUVUwc1JVRkRUbmhKTEVWQlFVa3NTVUZEUTBFc1JVRkJTVXdzU1VGQlpUWkpMRWRCUVU4c1RVRkRha040Unl4SFFVRlBXQ3hMUVVGTE1rSXNSVUZCVTJoRUxFZEJRVXQzU1N4RlFVMDFRaXhQUVVaSmVFY3NTVUZHU25kSExFZEJRVThzVDBGRlUzaEhMRWRCUVU5blF5eExRVUZMSzBVc1NVRkJTU3hGUVVGSExFVkJRVWx3U2l4SlFVVm9RM0ZETEVkQlIxUXZSU3hQUVVGUFVTeFZRVUZWZFV3c1ZVRkJXU3hUUVVGdlFtaEhMRVZCUVZGeVJDeEZRVUZaZDBrc1IwRkRia1Z1Uml4TFFVRnZRaXhGUVVOd1FuSkVMRXRCUVRSQ0xFVkJRM1pDZDBrc1IwRkJWVTRzV1VGQldUZEZMRVZCUVZGeVJDeEZRVUZaTUVJc1MwRkJTM2hFTEZGQlMzQkVMRWxCU0VFc1NVRkJTVzFETEVWQlFVbE1MRVZCUTBvMlNTeEZRVUZOTEVWQlEwNTRSeXhGUVVGTldDeExRVUZMTWtJc1NVRkJWMmhFTEVkQlEyNUNRU3hGUVVGSkxFbEJRVTEzU1N4SFFVRlBMRTFCUTNSQ2VFY3NSMEZCVDFnc1MwRkJTekpDTEVsQlFWZG9SQ3hIUVVGTGQwa3NSVUZOT1VJc1QwRkdTWGhITEVsQlJrcDNSeXhIUVVGUExFOUJSVk40Unl4SFFVRlBaME1zUzBGQlN5dEZMRWxCUVVrc1JVRkJSeXhGUVVGSmNFb3NTVUZGYUVOeFF5eEhRVWRVTDBVc1QwRkJUMUVzVlVGQlZYZE1MRk5CUVZjc1UwRkJiVUpxUnl4RlFVRlJiVVlzUjBGSGNrUXNUMEZHUVc1R0xFdEJRVzlDTEVWQlEyWnRSaXhIUVVGVlRpeFpRVUZaTjBVc1JVRkJVU3hGUVVGSE0wSXNTMEZCUzNoRUxGRkJRM1JDTEVsQlFXWjNSQ3hMUVVGTE1rSXNTVUZETUVJc1IwRkJOVUlzU1VGQlR6TkNMRXRCUVVzeVFpeEhRVUZWTEVkQlJFc3pRaXhMUVVGTE1rSXNTVUZKTTBNdlJpeFBRVUZQVVN4VlFVRlZlVXdzV1VGQll5eFRRVUZ6UW14SExFVkJRVkZ0Uml4SFFVTXpSRzVHTEV0QlFXOUNMRVZCUTJadFJpeEhRVUZWVGl4WlFVRlpOMFVzUlVGQlVTeEZRVUZITTBJc1MwRkJTM2hFTEZGQlF6TkRMRWxCUVVsdFJTeEZRVUZOV0N4TFFVRkxNa0lzUjBGQlZ6TkNMRXRCUVVzeVFpeEZRVUZUTEVsQlFVMHNSVUZET1VNc1QwRkJZeXhOUVVGT2FFSXNSVUZCYzBJc1YwRkJUa0VzUlVGQmJVSkJMRWRCUnpkREwwVXNUMEZCVDFFc1ZVRkJWVEJNTEZsQlFXTXNVMEZCYzBKdVJ5eEZRVUZSYlVZc1IwRkRNMFJ1Uml4TFFVRnZRaXhGUVVObWJVWXNSMEZCVlU0c1dVRkJXVGRGTEVWQlFWRXNSVUZCUnpOQ0xFdEJRVXQ0UkN4UlFVTXpReXhKUVVGSmJVVXNSVUZCVFZnc1MwRkJTekpDTEVWQlFWTXNSMEZCVFROQ0xFdEJRVXN5UWl4SlFVRlhMRVZCUXpsRExFOUJRV01zVFVGQlRtaENMRVZCUVhOQ0xGZEJRVTVCTEVWQlFXMUNRU3hIUVVjM1F5OUZMRTlCUVU5UkxGVkJRVlV5VEN4WlFVRmpMRk5CUVhOQ2NFY3NSVUZCVVcxR0xFZEJTVE5FTEU5QlNFRnVSaXhMUVVGdlFpeEZRVU5tYlVZc1IwRkJWVTRzV1VGQldUZEZMRVZCUVZFc1JVRkJSek5DTEV0QlFVdDRSQ3hSUVVWdVEzZEVMRXRCUVVzeVFpeEhRVU5XTTBJc1MwRkJTekpDTEVWQlFWTXNTVUZCVFN4RlFVTndRak5DTEV0QlFVc3lRaXhGUVVGVExFbEJRVTBzUjBGRGNFSXpRaXhMUVVGTE1rSXNSVUZCVXl4SlFVRk5MRWxCUjNwQ0wwWXNUMEZCVDFFc1ZVRkJWVFJNTEZsQlFXTXNVMEZCYzBKeVJ5eEZRVUZSYlVZc1IwRkpNMFFzVDBGSVFXNUdMRXRCUVc5Q0xFVkJRMlp0Uml4SFFVRlZUaXhaUVVGWk4wVXNSVUZCVVN4RlFVRkhNMElzUzBGQlMzaEVMRkZCUlc1RGQwUXNTMEZCU3pKQ0xFbEJRVmNzUjBGRGNrSXpRaXhMUVVGTE1rSXNSVUZCVXl4SlFVRk5MRWRCUTNCQ00wSXNTMEZCU3pKQ0xFVkJRVk1zU1VGQlRTeEZRVU53UWpOQ0xFdEJRVXN5UWl4RlFVRlRMRWxCUjI1Q0wwWXNUMEZCVDFFc1ZVRkJWVFpNTEZsQlFXTXNVMEZCYzBKMFJ5eEZRVUZSYlVZc1IwRkhNMFFzVDBGR1FXNUdMRXRCUVc5Q0xFVkJRMlp0Uml4SFFVRlZUaXhaUVVGWk4wVXNSVUZCVVN4RlFVRkhNMElzUzBGQlMzaEVMRkZCUTNCRFpDeFJRVUZSTWtZc1MwRkJTM0pDTEV0QlFVMHlRaXhIUVVGUkxFVkJRVTBzUjBGQlNTeEpRVWM1UXk5R0xFOUJRVTlSTEZWQlFWVTRUQ3haUVVGakxGTkJRWE5DZGtjc1JVRkJVVzFHTEVkQlJ6TkVMRTlCUmtGdVJpeExRVUZ2UWl4RlFVTm1iVVlzUjBGQlZVNHNXVUZCV1RkRkxFVkJRVkVzUlVGQlJ6TkNMRXRCUVV0NFJDeFJRVU53UTJRc1VVRkJVVEpHTEV0QlFVdHlRaXhMUVVGTk1rSXNSMEZCVVN4RlFVRlBMRWRCUVVrc1NVRkhMME12Uml4UFFVRlBVU3hWUVVGVkswd3NZVUZCWlN4VFFVRjFRbmhITEVWQlFWRnRSaXhIUVVjM1JDeFBRVVpCYmtZc1MwRkJiMElzUlVGRFptMUdMRWRCUVZWT0xGbEJRVmszUlN4RlFVRlJMRVZCUVVjelFpeExRVUZMZUVRc1VVRkRjRU5rTEZGQlFWRXlSaXhMUVVGTGNrSXNTMEZCVFRKQ0xFZEJRVkVzUlVGQlRTeEhRVUZKTEVsQlJ6bERMMFlzVDBGQlQxRXNWVUZCVldkTkxHRkJRV1VzVTBGQmRVSjZSeXhGUVVGUmJVWXNSMEZITjBRc1QwRkdRVzVHTEV0QlFXOUNMRVZCUTJadFJpeEhRVUZWVGl4WlFVRlpOMFVzUlVGQlVTeEZRVUZITTBJc1MwRkJTM2hFTEZGQlEzQkRaQ3hSUVVGUk1rWXNTMEZCUzNKQ0xFdEJRVTB5UWl4SFFVRlJMRVZCUVU4c1IwRkJTU3hKUVZNdlF5OUdMRTlCUVU5UkxGVkJRVlZwVFN4WlFVRmpMRk5CUVhOQ2Nrd3NSVUZCVHpKRkxFVkJRVkZ5UkN4RlFVRlpkMGtzU1VGRE9VVTVTaXhIUVVGVFFTeEZRVU5VTWtVc1MwRkJiMElzUlVGRGNFSnlSQ3hMUVVFMFFpeEZRVU4yUW5kSkxFbEJSVWhLTEZOQlFWTXhSeXhMUVVGTmFFUXNSVUZCVHpKRkxFVkJRVkZ5UkN4RlFVUm1jVVVzUzBGQlN5dEZMRWxCUVVrc1JVRkJSeXhGUVVGSmNFb3NSMEZCWXl4RlFVTlBMRWRCUjNSRUxFbEJRVWsyU1N4RlFVRk5MRVZCUTA1NFNTeEZRVUZKTEVWQlJWSXNTVUZFUVhGQ0xFdEJRVXN5UWl4SFFVRnJRaXhKUVVGU00wVXNTVUZEVGpKQ0xFVkJRVWxNTEVsQlFXVTJTU3hIUVVGUExFMUJRMnBEYmtnc1MwRkJTekpDTEVWQlFWTm9SQ3hIUVVGTk0wSXNSVUZCVVcxTExFVkJRVThzU1VGSGNrTXNUMEZCVDNoR0xFVkJRVk55UkN4SFFVZHNRakZETEU5QlFVOVJMRlZCUVZWclRTeFpRVUZqTEZOQlFYTkNkRXdzUlVGQlR6SkZMRVZCUVZGeVJDeEZRVUZaZDBrc1NVRkRPVVU1U2l4SFFVRlRRU3hGUVVOVU1rVXNTMEZCYjBJc1JVRkRjRUp5UkN4TFFVRTBRaXhGUVVOMlFuZEpMRWxCUlVoS0xGTkJRVk14Unl4TFFVRk5hRVFzUlVGQlR6SkZMRVZCUVZGeVJDeEZRVVJtY1VVc1MwRkJTeXRGTEVsQlFVa3NSVUZCUnl4RlFVRkpjRW9zUjBGQll5eEZRVU5QTEVkQlIzUkVMRWxCUVVsTExFVkJRVWxNTEVWQlFXRXNSVUZEYWtJMlNTeEZRVUZOTEVWQlJWWXNTVUZFUVc1SUxFdEJRVXN5UWl4RlFVRlRhRVFzUjBGQllTeEpRVUZTTTBJc1NVRkRWakpDTEVkQlFVc3NTVUZCVFhkSkxFZEJRVThzVFVGRGVrSnVTQ3hMUVVGTE1rSXNSVUZCVTJoRUxFZEJRVTB6UWl4RlFVRlJiVXNzUlVGQlR5eEpRVWR5UXl4UFFVRlBlRVlzUlVGQlUzSkVMRWRCUjJ4Q01VTXNUMEZCVDFFc1ZVRkJWVzFOTEZkQlFXRXNVMEZCY1VKMlRDeEZRVUZQTWtVc1JVRkJVVzFHTEVkQlMyaEZMRTlCU2tFNVNpeEhRVUZUUVN4RlFVTlVNa1VzUzBGQmIwSXNSVUZEWm0xR0xFZEJRVlZLTEZOQlFWTXhSeXhMUVVGTmFFUXNSVUZCVHpKRkxFVkJRVkVzUlVGQlJ5eEpRVUZOTEVkQlEzUkVNMElzUzBGQlN6SkNMRWRCUVcxQ0xFbEJRVkl6UlN4RlFVTlVNa1VzUlVGQlV5eEhRVWRzUWk5R0xFOUJRVTlSTEZWQlFWVnZUU3hqUVVGblFpeFRRVUYzUW5oTUxFVkJRVTh5UlN4RlFVRlJiVVlzUjBGTmRFVXNUMEZNUVRsS0xFZEJRVk5CTEVWQlExUXlSU3hMUVVGdlFpeEZRVU5tYlVZc1IwRkJWVW9zVTBGQlV6RkhMRXRCUVUxb1JDeEZRVUZQTWtVc1JVRkJVU3hGUVVGSExFMUJRVkVzUjBGRGVFUXpRaXhMUVVGTE1rSXNSMEZCYlVJc1NVRkJVak5GTEVWQlEyaENaMFFzUzBGQlN6SkNMRVZCUVZNc1IwRkJUVE5GTEVsQlFWVXNSVUZEZGtJeVJTeEZRVUZUTEVkQlIyeENMMFlzVDBGQlQxRXNWVUZCVlhGTkxHTkJRV2RDTEZOQlFYZENla3dzUlVGQlR6SkZMRVZCUVZGdFJpeEhRVTEwUlN4UFFVeEJPVW9zUjBGQlUwRXNSVUZEVkRKRkxFdEJRVzlDTEVWQlEyWnRSaXhIUVVGVlNpeFRRVUZUTVVjc1MwRkJUV2hFTEVWQlFVOHlSU3hGUVVGUkxFVkJRVWNzVFVGQlVTeEhRVU40UkROQ0xFdEJRVXN5UWl4SFFVRlhNMFVzU1VGQlZTeEZRVU14UW1kRUxFdEJRVXN5UWl4RlFVRlRMRWRCUVdNc1NVRkJVak5GTEVWQlEySXlSU3hGUVVGVExFZEJSMnhDTDBZc1QwRkJUMUVzVlVGQlZYTk5MR05CUVdkQ0xGTkJRWGRDTVV3c1JVRkJUekpGTEVWQlFWRnRSaXhIUVZGMFJTeFBRVkJCT1Vvc1IwRkJVMEVzUlVGRFZESkZMRXRCUVc5Q0xFVkJRMlp0Uml4SFFVRlZTaXhUUVVGVE1VY3NTMEZCVFdoRUxFVkJRVTh5UlN4RlFVRlJMRVZCUVVjc1YwRkJXU3hIUVVNMVJETkNMRXRCUVVzeVFpeEZRVUZUTEVkQlFVMHpSU3hKUVVGVkxFZEJRemxDWjBRc1MwRkJTekpDTEVWQlFWTXNSMEZCVFRORkxFbEJRVlVzUjBGRE9VSm5SQ3hMUVVGTE1rSXNSVUZCVXl4SFFVRk5NMFVzU1VGQlZTeEZRVU01UW1kRUxFdEJRVXN5UWl4SFFVRnRRaXhKUVVGU00wVXNSVUZEVkRKRkxFVkJRVk1zUjBGSGJFSXZSaXhQUVVGUFVTeFZRVUZWZFUwc1kwRkJaMElzVTBGQmQwSXpUQ3hGUVVGUE1rVXNSVUZCVVcxR0xFZEJVWFJGTEU5QlVFRTVTaXhIUVVGVFFTeEZRVU5VTWtVc1MwRkJiMElzUlVGRFptMUdMRWRCUVZWS0xGTkJRVk14Unl4TFFVRk5hRVFzUlVGQlR6SkZMRVZCUVZFc1JVRkJSeXhYUVVGWkxFZEJRelZFTTBJc1MwRkJTekpDTEVkQlFWY3pSU3hKUVVGVkxFZEJRekZDWjBRc1MwRkJTekpDTEVWQlFWTXNSMEZCVFRORkxFbEJRVlVzUjBGRE9VSm5SQ3hMUVVGTE1rSXNSVUZCVXl4SFFVRk5NMFVzU1VGQlZTeEZRVU01UW1kRUxFdEJRVXN5UWl4RlFVRlRMRWRCUVdNc1NVRkJVak5GTEVWQlEySXlSU3hGUVVGVExFZEJSMnhDTDBZc1QwRkJUMUVzVlVGQlZYZE5MRmRCUVdFc1UwRkJjVUkxVEN4RlFVRlBNa1VzUlVGQlVYSkVMRVZCUVZsM1NTeEhRVWMxUlN4SFFVWkJPVW9zUjBGQlUwRXNSVUZEVkRKRkxFdEJRVzlDTEVkQlEyWnRSaXhGUVVGVkxFTkJRMklzU1VGQlNTdENMRVZCUVZGc1J5eExRVUZMSzBVc1NVRkJTU3hGUVVGSkxFVkJRVWx3U2l4RlFVRmpMRWRCUlRORGIwa3NVMEZCVXpGSExFdEJRVTFvUkN4RlFVRlBNa1VzUlVGQlVYSkVMRVZCUVZsMVN5eEZRVUZSTEVkQlFVbEJMRWRCUjNoRUxFbEJRVWxzU3l4RlFVRkpMRVZCUTBwM1NTeEZRVUZOTEVWQlEwNHlRaXhGUVVGTkxFVkJSVllzU1VGRVFUbEpMRXRCUVVzeVFpeEhRVUZyUWl4SlFVRlNNMFVzU1VGRFRqSkNMRVZCUVVsTUxFbEJRV1UyU1N4SFFVRlBMRTFCUXpkQ2Jrc3NSVUZCVVN4SFFVRmhMRWxCUVZJNFRDeEhRVUZ6UXl4SlFVRjZRamxKTEV0QlFVc3lRaXhGUVVGVGFFUXNSVUZCU1N4TFFVTTVRMjFMTEVWQlFVMHNSMEZGVWpsSkxFdEJRVXN5UWl4RlFVRlRhRVFzU1VGQlR6TkNMRVZCUVZGdFN5eEhRVUZSTEVkQlFVc3lRaXhGUVVGTkxFbEJSMnhFTEU5QlFVOXVTQ3hGUVVGVGNrUXNSMEZIYkVJeFF5eFBRVUZQVVN4VlFVRlZNazBzVjBGQllTeFRRVUZ4UWk5TUxFVkJRVTh5UlN4RlFVRlJja1FzUlVGQldYZEpMRWRCUnpWRkxFZEJSa0U1U2l4SFFVRlRRU3hGUVVOVU1rVXNTMEZCYjBJc1IwRkRabTFHTEVWQlFWVXNRMEZEWWl4SlFVRkpLMElzUlVGQlVXeEhMRXRCUVVzclJTeEpRVUZKTEVWQlFVa3NSVUZCU1hCS0xFVkJRV01zUjBGRk0wTnZTU3hUUVVGVE1VY3NTMEZCVFdoRUxFVkJRVTh5UlN4RlFVRlJja1FzUlVGQldYVkxMRVZCUVZFc1IwRkJTVUVzUjBGSGVFUXNTVUZCU1d4TExFVkJRVWxNTEVWQlFXRXNSVUZEYWtJMlNTeEZRVUZOTEVWQlEwNHlRaXhGUVVGTkxFVkJSVllzU1VGRVFUbEpMRXRCUVVzeVFpeEZRVUZUYUVRc1IwRkJZU3hKUVVGU00wSXNTVUZEVmpKQ0xFZEJRVXNzU1VGQlRYZEpMRWRCUVU4c1RVRkRja0p1U3l4RlFVRlJMRWRCUVdFc1NVRkJVamhNTEVkQlFYTkRMRWxCUVhwQ09Va3NTMEZCU3pKQ0xFVkJRVk5vUkN4RlFVRkpMRXRCUXpsRGJVc3NSVUZCVFN4SFFVVlNPVWtzUzBGQlN6SkNMRVZCUVZOb1JDeEpRVUZQTTBJc1JVRkJVVzFMTEVkQlFWRXNSMEZCU3pKQ0xFVkJRVTBzU1VGSGJFUXNUMEZCVDI1SUxFVkJRVk55UkN4SFFVZHNRakZETEU5QlFVOVJMRlZCUVZVMFRTeFZRVUZaTEZOQlFXOUNhRTBzUlVGQlR6SkZMRVZCUVZGdFJpeEhRVTA1UkN4UFFVeEJPVW9zUjBGQlUwRXNSVUZEVkRKRkxFdEJRVzlDTEVWQlEyWnRSaXhIUVVGVlNpeFRRVUZUTVVjc1MwRkJUV2hFTEVWQlFVOHlSU3hGUVVGUkxFVkJRVWNzUzBGQlR5eExRVU51UkRORkxFVkJRVkVzU1VGQlIwRXNSVUZCVVN4SlFVRlBRU3hGUVVGUkxFZEJRM1JEWjBRc1MwRkJTekpDTEVkQlFXMUNMRWxCUVZJelJTeEZRVU5VTWtVc1JVRkJVeXhIUVVkc1FpOUdMRTlCUVU5UkxGVkJRVlUyVFN4aFFVRmxMRk5CUVhWQ2FrMHNSVUZCVHpKRkxFVkJRVkZ0Uml4SFFVMXdSU3hQUVV4Qk9Vb3NSMEZCVTBFc1JVRkRWREpGTEV0QlFXOUNMRVZCUTJadFJpeEhRVUZWU2l4VFFVRlRNVWNzUzBGQlRXaEVMRVZCUVU4eVJTeEZRVUZSTEVWQlFVY3NUMEZCVXl4UFFVTjZSRE5DTEV0QlFVc3lRaXhIUVVGdFFpeEpRVUZTTTBVc1JVRkRhRUpuUkN4TFFVRkxNa0lzUlVGQlV5eEhRVUZOTTBVc1NVRkJWU3hGUVVOMlFqSkZMRVZCUVZNc1IwRkhiRUl2Uml4UFFVRlBVU3hWUVVGVk9FMHNZVUZCWlN4VFFVRjFRbXhOTEVWQlFVOHlSU3hGUVVGUmJVWXNSMEZOY0VVc1QwRk1RVGxLTEVkQlFWTkJMRVZCUTFReVJTeExRVUZ2UWl4RlFVTm1iVVlzUjBGQlZVb3NVMEZCVXpGSExFdEJRVTFvUkN4RlFVRlBNa1VzUlVGQlVTeEZRVUZITEU5QlFWTXNUMEZEZWtRelFpeExRVUZMTWtJc1IwRkJWek5GTEVsQlFWVXNSVUZETVVKblJDeExRVUZMTWtJc1JVRkJVeXhIUVVGakxFbEJRVkl6UlN4RlFVTmlNa1VzUlVGQlV5eEhRVWRzUWk5R0xFOUJRVTlSTEZWQlFWVXJUU3hoUVVGbExGTkJRWFZDYmswc1JVRkJUekpGTEVWQlFWRnRSaXhIUVZGd1JTeFBRVkJCT1Vvc1IwRkJVMEVzUlVGRFZESkZMRXRCUVc5Q0xFVkJRMlp0Uml4SFFVRlZTaXhUUVVGVE1VY3NTMEZCVFdoRUxFVkJRVTh5UlN4RlFVRlJMRVZCUVVjc1dVRkJZU3haUVVNM1JETkNMRXRCUVVzeVFpeEhRVUZ0UWl4SlFVRlNNMFVzUlVGRGFFSm5SQ3hMUVVGTE1rSXNSVUZCVXl4SFFVRk5NMFVzU1VGQlZTeEZRVU01UW1kRUxFdEJRVXN5UWl4RlFVRlRMRWRCUVUwelJTeEpRVUZWTEVkQlF6bENaMFFzUzBGQlN6SkNMRVZCUVZNc1IwRkJUVE5GTEVsQlFWVXNSMEZEZGtJeVJTeEZRVUZUTEVkQlIyeENMMFlzVDBGQlQxRXNWVUZCVldkT0xHRkJRV1VzVTBGQmRVSndUU3hGUVVGUE1rVXNSVUZCVVcxR0xFZEJVM0JGTEU5QlVrRTVTaXhIUVVGVFFTeEZRVU5VTWtVc1MwRkJiMElzUlVGRFptMUdMRWRCUVZWS0xGTkJRVk14Unl4TFFVRk5hRVFzUlVGQlR6SkZMRVZCUVZFc1JVRkJSeXhaUVVGaExGbEJRM3BFTTBVc1JVRkJVU3hKUVVGSFFTeEZRVUZSTEZkQlFXRkJMRVZCUVZFc1IwRkROVU5uUkN4TFFVRkxNa0lzUjBGQlZ6TkZMRWxCUVZVc1IwRkRNVUpuUkN4TFFVRkxNa0lzUlVGQlV5eEhRVUZOTTBVc1NVRkJWU3hIUVVNNVFtZEVMRXRCUVVzeVFpeEZRVUZUTEVkQlFVMHpSU3hKUVVGVkxFVkJRemxDWjBRc1MwRkJTekpDTEVWQlFWTXNSMEZCWXl4SlFVRlNNMFVzUlVGRFlqSkZMRVZCUVZNc1IwRnJRbXhDTDBZc1QwRkJUMUVzVlVGQlZXbE9MR0ZCUVdVc1UwRkJkVUp5VFN4RlFVRlBNa1VzUlVGQlVXMUdMRWRCUTNCRkxFOUJRVTlHTEZkQlFWYzFSeXhMUVVGTmFFUXNSVUZCVHpKRkxFZEJRVkVzUlVGQlRXMUdMRWxCUnk5RGJFd3NUMEZCVDFFc1ZVRkJWV3RPTEdGQlFXVXNVMEZCZFVKMFRTeEZRVUZQTWtVc1JVRkJVVzFHTEVkQlEzQkZMRTlCUVU5R0xGZEJRVmMxUnl4TFFVRk5hRVFzUlVGQlR6SkZMRWRCUVZFc1JVRkJUMjFHTEVsQllXaEViRXdzVDBGQlQxRXNWVUZCVlcxT0xHTkJRV2RDTEZOQlFYZENkazBzUlVGQlR6SkZMRVZCUVZGdFJpeEhRVU4wUlN4UFFVRlBReXhaUVVGWkwwY3NTMEZCVFdoRUxFVkJRVTh5UlN4SFFVRlJMRVZCUVUxdFJpeEpRVWRvUkd4TUxFOUJRVTlSTEZWQlFWVnZUaXhqUVVGblFpeFRRVUYzUW5oTkxFVkJRVTh5UlN4RlFVRlJiVVlzUjBGRGRFVXNUMEZCVDBNc1dVRkJXUzlITEV0QlFVMW9SQ3hGUVVGUE1rVXNSMEZCVVN4RlFVRlBiVVlzU1VGSmFrUnNUQ3hQUVVGUFVTeFZRVUZWTkVNc1MwRkJUeXhUUVVGbGRVY3NSVUZCVVd0RkxFVkJRV0V6U2l4RlFVRlBReXhIUVVOcVJTeEpRVUZMYmtVc1QwRkJUMnRFTEZOQlFWTjVSeXhIUVVGVExFMUJRVTBzU1VGQlNURkpMRlZCUVZVc0swSkJVV3hFTEVkQlVFdHBSQ3hKUVVGUFFTeEZRVUZSTEVkQlEyWkRMRWRCUVdVc1NVRkJVa0VzU1VGQlYwRXNSVUZCVFVNc1MwRkJTM2hFTEZGQlF6bENhVTRzUjBGQlpXeEZMRVZCUVU4dlNTeFRRVUZSYVU0c1JVRkJZMnhGTEVWQlFVOHZTU3hSUVVOc1JHbE9MRWxCUVdGQkxFVkJRV01zUjBGRE5VSXhTaXhGUVVGTkxFZEJRVXRCTEVWQlFVMUVMRWxCUVU5RExFVkJRVTFFTEVkQlJ6bENReXhKUVVGUlJDeEZRVUZQTEU5QlFVOHNSVUZETVVJc1IwRkJjMElzU1VGQmJFSjVSaXhGUVVGUEwwa3NVVUZCWjBNc1NVRkJhRUozUkN4TFFVRkxlRVFzVDBGQll5eFBRVUZQTEVWQlIzSkVMRWRCUVVscFRpeEZRVUZqTEVWQlEyaENMRTFCUVUwc1NVRkJTV2hPTEZkQlFWY3NOa0pCUlhaQ0xFZEJRVWx4UkN4RlFVRlJMRWRCUVV0QkxFZEJRVk5GTEV0QlFVdDRSQ3hQUVVGUkxFMUJRVTBzU1VGQlNVTXNWMEZCVnl4elFrRkROVVFzUjBGQlNYTkVMRVZCUVUwc1JVRkJSeXhOUVVGTkxFbEJRVWwwUkN4WFFVRlhMREpDUVVjNVFuTkVMRVZCUVUxRExFdEJRVXQ0UkN4VFFVRlJkVVFzUlVGQlRVTXNTMEZCUzNoRUxGRkJRemxDSzBrc1JVRkJUeTlKTEU5QlFWTnBUaXhGUVVGak1Vb3NSVUZCVFVRc1NVRkRkRU5ETEVWQlFVMTNSaXhGUVVGUEwwa3NUMEZCVTJsT0xFVkJRV016U2l4SFFVZDBReXhKUVVGSlppeEZRVUZOWjBJc1JVRkJUVVFzUlVGRmFFSXNSMEZCU1VVc1QwRkJVM1ZHTEVkQlFYRkVMRzFDUVVGd1EzSktMRmRCUVZkRkxGVkJRVlZ6VGl4WFFVVnFSREZLTEV0QlFVc3dTaXhYUVVGWFJDeEZRVUZoTTBvc1JVRkJUME1zVVVGREwwSXNSMEZCU1VNc1QwRkJVM1ZHTEVkQlFWVjZSaXhGUVVGUk1rb3NSMEZCWlVFc1JVRkJZekZLTEVWQlJXcEZMRWxCUVVzc1NVRkJTWEJDTEVWQlFVbEpMRVZCUVUwc1JVRkJSMG9zUjBGQlN5eEpRVUZMUVN4RlFVTTVRalJITEVWQlFVODFSeXhGUVVGSk9Fc3NSMEZCWlhwS0xFdEJRVXR5UWl4RlFVRkpiVUlzVVVGSGNrTTFSQ3hYUVVGWFJTeFZRVUZWZFU0c1NVRkJTVFZKTEV0QlEzWkNkMFVzUlVGRFFYWkdMRXRCUVV0cFNDeFRRVUZUYmtnc1JVRkJUME1zUjBGRGNrSXdTaXhIUVVsS0xFOUJRVTh4U3l4SFFVOVVia1FzVDBGQlQxRXNWVUZCVlRSQ0xFdEJRVThzVTBGQlpUSkRMRVZCUVV0aUxFVkJRVTlETEVWQlFVczVRaXhIUVVWMFJDeEhRVUZ0UWl4cFFrRkJVakJETEVWQlFXdENMRU5CVXpOQ0xFZEJVbkZDTEdsQ1FVRldZaXhIUVVOVU4wSXNSVUZCVnpaQ0xFVkJRMWhCTEVWQlFWRXNSVUZEVWtNc1JVRkJUVU1zUzBGQlMzaEVMRkZCUTJFc2FVSkJRVkoxUkN4SlFVTm9RamxDTEVWQlFWYzRRaXhGUVVOWVFTeEZRVUZOUXl4TFFVRkxlRVFzWVVGRlNUQkNMRWxCUVdKRUxFZEJRVGhETEdsQ1FVRmlRU3hGUVVOdVF5eE5RVUZOTEVsQlFVbHdRaXhWUVVGVkxEWkNRVVYwUWl4SFFVRjNRaXhwUWtGQlltOUNMRWxCUVRCQ2NrTXNUMEZCVDNsRExGZEJRVmRLTEVkQlEzSkVMRTFCUVUwc1NVRkJTWEJDTEZWQlFWVXNjVUpCUVhWQ2IwSXNSMEZGTjBNc1IwRkJiVUlzU1VGQlpqQkRMRVZCUVVsdVJTeFBRVUZqTEVOQlEzQkNMRWxCUVVsdlRpeEZRVUZQYWtvc1JVRkJTV3RLTEZkQlFWY3NTVUZEVWl4VFFVRmlOVXdzUjBGQmRVSXlUQ3hGUVVGUExFdEJRMnhDTEZkQlFXSXpUQ3hMUVVWR01FTXNSVUZCVFdsS0xGRkJSMk1zYVVKQlFWSnFTaXhKUVVOb1FrRXNSMEZCV1N4TFFVbGtMRWRCUVVsaUxFVkJRVkVzUjBGQlMwVXNTMEZCUzNoRUxFOUJRVk56UkN4SFFVRlRSU3hMUVVGTGVFUXNUMEZCVTNWRUxFVkJRM0JFTEUxQlFVMHNTVUZCU1hSRUxGZEJRVmNzYzBKQlIzWkNMRWRCUVVselJDeEhRVUZQUkN4RlFVTlVMRTlCUVU5RkxFdEJVVlFzU1VGQlNYSkNMRVZCUTBvc1IwRk9RVzFDTEV0QlFXdENMRVZCUTJ4Q1F5eFBRVUZqTjBJc1NVRkJValpDTEVWQlFXOUNReXhMUVVGTGVFUXNUMEZCVTNWRUxFbEJRVkVzUlVGRk0wTlpMRWxCUVV0QkxFVkJRVTBzUjBGSFJ5eHBRa0ZCVWtFc1JVRkRWQ3hKUVVGTGFFTXNSVUZCU1cxQ0xFVkJRVTl1UWl4RlFVRkpiMElzU1VGQlQzQkNMRVZCUTNwQ2NVSXNTMEZCUzNKQ0xFZEJRVXRuUXl4TlFVVlFMRU5CUTB3c1NVRkJTVFJHTEVWQlFWRXpTeXhQUVVGUGEwUXNVMEZCVXpaQ0xFZEJRM2hDUVN4RlFVTkJMMFVzVDBGQlQyMUNMRXRCUVVzMFJDeEZRVUZMTVVNc1IwRkRha0pqTEVWQlFVMTNTQ3hGUVVGTkwwb3NUMEZEYUVJc1IwRkJXU3hKUVVGU2RVTXNSVUZEUml4TlFVRk5MRWxCUVVsc1F5eFZRVUZWTEdOQlFXZENPRVFzUlVGRGJFTXNjVU5CUlVvc1NVRkJTMmhETEVWQlFVa3NSVUZCUjBFc1JVRkJTVzlDTEVWQlFVMUVMRWxCUVZOdVFpeEZRVU0zUW5GQ0xFdEJRVXR5UWl4RlFVRkpiVUlzUjBGQlUzbEhMRVZCUVUwMVNDeEZRVUZKU1N4SFFVbG9ReXhQUVVGUGFVSXNUVUZOVkN4SlFVRkpPRW9zYTBKQlFXOUNMRzlDUVVWNFFpeFRRVUZUUXl4WlFVRmhOVVVzUjBGTmNFSXNTVUZHUVVFc1IwRkdRVUVzUlVGQlRVRXNSVUZCU1RaRkxFMUJRVTBzUzBGQlN5eEpRVVZZTVVVc1QwRkJUMFFzVVVGQlVYbEZMR3RDUVVGdFFpeExRVVZ3UTNST0xFOUJRVk1zUlVGQlJ5eE5RVUZQTEVkQlJUTkNMRXRCUVU4eVNTeEZRVUZKTTBrc1QwRkJVeXhIUVVGTkxFZEJRM2hDTWtrc1IwRkJXU3hKUVVWa0xFOUJRVTlCTEVWQlIxUXNVMEZCVTIxQ0xFMUJRVTg1Uml4SFFVTmtMRTlCUVVsQkxFVkJRVWtzUjBGQlZ5eEpRVUZOUVN4RlFVRkZiRUlzVTBGQlV5eEpRVU0zUW10Q0xFVkJRVVZzUWl4VFFVRlRMRWxCUjNCQ0xGTkJRVk5KTEZsQlFXRjBRaXhGUVVGUk5rd3NSMEZGTlVJc1NVRkJTVGxITEVWQlJFbzRSeXhGUVVGUlFTeEhRVUZUUXl4RlFVRkJRU3hGUVUxcVFpeEpRVXBCTEVsQlFVa3hUaXhGUVVGVE5FSXNSVUZCVHpWQ0xFOUJRMmhDTWs0c1JVRkJaMElzUzBGRGFFSTFSQ3hGUVVGUkxFZEJSVWcxU0N4RlFVRkpMRVZCUVVkQkxFVkJRVWx1UXl4SlFVRlZiVU1zUlVGQlJ5eERRVWt2UWl4SlFVaEJkMFVzUlVGQldTOUZMRVZCUVU5NVRDeFhRVUZYYkV3c1NVRkhaQ3hQUVVGVmQwVXNSVUZCV1N4TlFVRlJMRU5CUlRWRExFbEJRVXRuU0N4RlFVRmxMRU5CUld4Q0xFZEJRVWxvU0N4RlFVRlpMRTFCUVZFc1JVRkZha0k0Unl4SFFVRlRMRWxCUVUwc1IwRkJSekZFTEVWQlFVMXNSQ3hMUVVGTExFbEJRVTBzU1VGQlRTeExRVU01UXl4VFFVTkxMRWRCUVVreFJTeEZRVUZKTEVsQlFVMXVReXhGUVVGUkxFVkJSWFJDZVU0c1IwRkJVeXhKUVVGTkxFZEJRVWN4UkN4RlFVRk5iRVFzUzBGQlN5eEpRVUZOTEVsQlFVMHNTMEZET1VNc1UwRkpSamhITEVWQlFXZENhRWdzUlVGRmFFSXNVMEZKUml4SFFVRkpRU3hGUVVGWkxFMUJRVkVzUlVGRGFrSTRSeXhIUVVGVExFbEJRVTBzUjBGQlJ6RkVMRVZCUVUxc1JDeExRVUZMTEVsQlFVMHNTVUZCVFN4TFFVTTVRemhITEVWQlFXZENhRWdzUlVGRGFFSXNVMEZKUmtFc1JVRkJhMFVzVDBGQmNrUm5TQ3hGUVVGblFpeFBRVUZWTEVkQlFVdG9TQ3hGUVVGWkxGbEJReTlEWjBnc1NVRkZTa1lzUjBGQlV5eEpRVUZOTEVkQlFVY3hSQ3hGUVVGTmJFUXNTMEZCU3l4SlFVRk5MRWxCUVUwc1MwRk5hRVFzUjBGSVFUaEhMRVZCUVdkQ0xFdEJSMXBvU0N4RlFVRlpMRWxCUVUwc1EwRkRjRUlzU1VGQlN6aEhMRWRCUVZNc1IwRkJTeXhGUVVGSExFMUJRM1JDTVVRc1JVRkJUV3hFTEV0QlFVdEdMRkZCUTA0c1IwRkJTVUVzUlVGQldTeExRVUZQTEVOQlF6VkNMRWxCUVVzNFJ5eEhRVUZUTEVkQlFVc3NSVUZCUnl4TlFVTjBRakZFTEVWQlFVMXNSQ3hMUVVOS1JpeEhRVUZoTEVWQlFVMHNTVUZEVUN4SFFVRmFRU3hGUVVGdFFpeFZRVVZvUWl4SFFVRkpRU3hGUVVGWkxFMUJRVk1zUTBGRE9VSXNTVUZCU3poSExFZEJRVk1zUjBGQlN5eEZRVUZITEUxQlEzUkNNVVFzUlVGQlRXeEVMRXRCUTBwR0xFZEJRV0VzUjBGQlRTeEpRVU51UWtFc1IwRkJZU3hGUVVGTkxFZEJRVThzU1VGRFpDeEhRVUZhUVN4RlFVRnRRaXhUUVVWb1FpeERRVUZCTEV0QlFVbEJMRVZCUVZrc1UwRlRja0lzVFVGQlRTeEpRVUZKTWtNc1RVRkJUU3h6UWtGU2FFSXNTVUZCUzIxRkxFZEJRVk1zUjBGQlN5eEZRVUZITEUxQlEzUkNNVVFzUlVGQlRXeEVMRXRCUTBwR0xFZEJRV0VzUjBGQlR5eEpRVU53UWtFc1IwRkJZU3hIUVVGTkxFZEJRVThzU1VGRE1VSkJMRWRCUVdFc1JVRkJUU3hIUVVGUExFbEJRMlFzUjBGQldrRXNSVUZCYlVJc1RVRlBla0lzVDBGQlQyOUVMRVZCUjFRc1UwRkJVMnhGTEdGQlFXTTRReXhIUVVWeVFpeEpRVVJCTEVsQlFVbHBSaXhGUVVGWkxFZEJRMUI2VEN4RlFVRkpMRVZCUVVkQkxFVkJRVWwzUnl4RlFVRkpNMGtzVTBGQlZXMURMRVZCUldoRGVVd3NSVUZCVlM5SExFdEJRWGxDTEVsQlFYQkNPRUlzUlVGQlNUQkZMRmRCUVZkc1RDeEpRVVZvUXl4UFFVRlBlVXdzUlVGSFZDeFRRVUZUTTBnc1pVRkJaMEl3UXl4RlFVRkxPRVVzUjBGSE5VSXNTVUZHUVN4SlFVRkpTU3hGUVVGSFF5eEZRVUZKUXl4RlFVTlFTQ3hGUVVGWkxFZEJRMUI2VEN4RlFVRkpMRVZCUVVkQkxFVkJRVWwzUnl4RlFVRkpNMGtzVjBGRGFrSjVUaXhIUVVGVExFZEJRVXNzUzBGRVlYUk1MRVZCU1doRE1rd3NSMEZFUVVRc1JVRkJTV3hHTEVWQlFVa3dSU3hYUVVGWGJFd3NTMEZEVkN4RlFVTldORXdzUlVGQlMwWXNSVUZCU1N4SlFVTlVSQ3hGUVVGVkwwY3NTMEZCUzJ0SUxFZEJRMlpJTEVWQlFWVXZSeXhMUVVGTGFVZ3NSMEZIYWtJc1QwRkJUMFlzUlVGSFZDeFRRVUZUZWtzc1kwRkJaWGRHTEVkQlEzUkNMRTlCUVU4elNpeFBRVUZQWjFBc1dVRkJXVlFzV1VGQldUVkZMRWxCUjNoRExGTkJRVk5vUkN4WFFVRlpjMGtzUlVGQlMwTXNSVUZCU3k5SkxFVkJRVkZ1Uml4SFFVTnlReXhKUVVGTExFbEJRVWx0UXl4RlFVRkpMRVZCUVVkQkxFVkJRVWx1UXl4TFFVTmliVU1zUlVGQlNXZEVMRWRCUVZVclNTeEZRVUZKYkU4c1VVRkJXVzFETEVkQlFVczRUQ3hGUVVGSmFrOHNWVUZFYUVKdFF5eEZRVVUxUWl0TUxFVkJRVWt2VEN4RlFVRkpaMFFzUjBGQlZUaEpMRVZCUVVrNVRDeEhRVVY0UWl4UFFVRlBRU3hGUVUxVUxGTkJRVk4wUWl4WFFVRlpkMElzUlVGQlMwc3NSMEZEZUVJc1QwRkJUMHdzWVVGQlpVc3NSMEZEV2l4TlFVRlFUQ3hIUVVGclF5eE5RVUZ1UWtFc1JVRkJTVGhNTEdGQlFTdERMRTFCUVhoQ09Vd3NSVUZCU1RoTUxGbEJRVmxETEUxQlEzcEVMMHdzUlVGQlNUaE1MRmxCUVZsRExFOUJRVk14VEN4RlFVRkxNRXdzUzBGRmNFTXNVMEZCVXpOTUxGbEJRV0ZLTEVkQlJYQkNMRTlCUVU5QkxFZEJRVkZCSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwzTjBZV2RwYm1jdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZZblZtWm1WeUwybHVaR1Y0TG1wekluMD0iLCJcInVzZSBzdHJpY3RcIjt2YXIgUmVmbGVjdE93bktleXMsUj1cIm9iamVjdFwiPT10eXBlb2YgUmVmbGVjdD9SZWZsZWN0Om51bGwsUmVmbGVjdEFwcGx5PVImJlwiZnVuY3Rpb25cIj09dHlwZW9mIFIuYXBwbHk/Ui5hcHBseTpmdW5jdGlvbihlLHQsbil7cmV0dXJuIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5jYWxsKGUsdCxuKX07ZnVuY3Rpb24gUHJvY2Vzc0VtaXRXYXJuaW5nKGUpe2NvbnNvbGUmJmNvbnNvbGUud2FybiYmY29uc29sZS53YXJuKGUpfVJlZmxlY3RPd25LZXlzPVImJlwiZnVuY3Rpb25cIj09dHlwZW9mIFIub3duS2V5cz9SLm93bktleXM6T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scz9mdW5jdGlvbihlKXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoZSkuY29uY2F0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSkpfTpmdW5jdGlvbihlKXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoZSl9O3ZhciBOdW1iZXJJc05hTj1OdW1iZXIuaXNOYU58fGZ1bmN0aW9uKGUpe3JldHVybiBlIT1lfTtmdW5jdGlvbiBFdmVudEVtaXR0ZXIoKXtFdmVudEVtaXR0ZXIuaW5pdC5jYWxsKHRoaXMpfW1vZHVsZS5leHBvcnRzPUV2ZW50RW1pdHRlcixtb2R1bGUuZXhwb3J0cy5vbmNlPW9uY2UsRXZlbnRFbWl0dGVyLkV2ZW50RW1pdHRlcj1FdmVudEVtaXR0ZXIsRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5fZXZlbnRzPXZvaWQgMCxFdmVudEVtaXR0ZXIucHJvdG90eXBlLl9ldmVudHNDb3VudD0wLEV2ZW50RW1pdHRlci5wcm90b3R5cGUuX21heExpc3RlbmVycz12b2lkIDA7dmFyIGRlZmF1bHRNYXhMaXN0ZW5lcnM9MTA7ZnVuY3Rpb24gY2hlY2tMaXN0ZW5lcihlKXtpZihcImZ1bmN0aW9uXCIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSBcImxpc3RlbmVyXCIgYXJndW1lbnQgbXVzdCBiZSBvZiB0eXBlIEZ1bmN0aW9uLiBSZWNlaXZlZCB0eXBlICcrdHlwZW9mIGUpfWZ1bmN0aW9uIF9nZXRNYXhMaXN0ZW5lcnMoZSl7cmV0dXJuIHZvaWQgMD09PWUuX21heExpc3RlbmVycz9FdmVudEVtaXR0ZXIuZGVmYXVsdE1heExpc3RlbmVyczplLl9tYXhMaXN0ZW5lcnN9ZnVuY3Rpb24gX2FkZExpc3RlbmVyKGUsdCxuLHIpe3ZhciBpLG8scztpZihjaGVja0xpc3RlbmVyKG4pLHZvaWQgMD09PShvPWUuX2V2ZW50cyk/KG89ZS5fZXZlbnRzPU9iamVjdC5jcmVhdGUobnVsbCksZS5fZXZlbnRzQ291bnQ9MCk6KHZvaWQgMCE9PW8ubmV3TGlzdGVuZXImJihlLmVtaXQoXCJuZXdMaXN0ZW5lclwiLHQsbi5saXN0ZW5lcj9uLmxpc3RlbmVyOm4pLG89ZS5fZXZlbnRzKSxzPW9bdF0pLHZvaWQgMD09PXMpcz1vW3RdPW4sKytlLl9ldmVudHNDb3VudDtlbHNlIGlmKFwiZnVuY3Rpb25cIj09dHlwZW9mIHM/cz1vW3RdPXI/W24sc106W3Msbl06cj9zLnVuc2hpZnQobik6cy5wdXNoKG4pLChpPV9nZXRNYXhMaXN0ZW5lcnMoZSkpPjAmJnMubGVuZ3RoPmkmJiFzLndhcm5lZCl7cy53YXJuZWQ9ITA7dmFyIHU9bmV3IEVycm9yKFwiUG9zc2libGUgRXZlbnRFbWl0dGVyIG1lbW9yeSBsZWFrIGRldGVjdGVkLiBcIitzLmxlbmd0aCtcIiBcIitTdHJpbmcodCkrXCIgbGlzdGVuZXJzIGFkZGVkLiBVc2UgZW1pdHRlci5zZXRNYXhMaXN0ZW5lcnMoKSB0byBpbmNyZWFzZSBsaW1pdFwiKTt1Lm5hbWU9XCJNYXhMaXN0ZW5lcnNFeGNlZWRlZFdhcm5pbmdcIix1LmVtaXR0ZXI9ZSx1LnR5cGU9dCx1LmNvdW50PXMubGVuZ3RoLFByb2Nlc3NFbWl0V2FybmluZyh1KX1yZXR1cm4gZX1mdW5jdGlvbiBvbmNlV3JhcHBlcigpe2lmKCF0aGlzLmZpcmVkKXJldHVybiB0aGlzLnRhcmdldC5yZW1vdmVMaXN0ZW5lcih0aGlzLnR5cGUsdGhpcy53cmFwRm4pLHRoaXMuZmlyZWQ9ITAsMD09PWFyZ3VtZW50cy5sZW5ndGg/dGhpcy5saXN0ZW5lci5jYWxsKHRoaXMudGFyZ2V0KTp0aGlzLmxpc3RlbmVyLmFwcGx5KHRoaXMudGFyZ2V0LGFyZ3VtZW50cyl9ZnVuY3Rpb24gX29uY2VXcmFwKGUsdCxuKXt2YXIgcj17ZmlyZWQ6ITEsd3JhcEZuOnZvaWQgMCx0YXJnZXQ6ZSx0eXBlOnQsbGlzdGVuZXI6bn0saT1vbmNlV3JhcHBlci5iaW5kKHIpO3JldHVybiBpLmxpc3RlbmVyPW4sci53cmFwRm49aSxpfWZ1bmN0aW9uIF9saXN0ZW5lcnMoZSx0LG4pe3ZhciByPWUuX2V2ZW50cztpZih2b2lkIDA9PT1yKXJldHVybltdO3ZhciBpPXJbdF07cmV0dXJuIHZvaWQgMD09PWk/W106XCJmdW5jdGlvblwiPT10eXBlb2YgaT9uP1tpLmxpc3RlbmVyfHxpXTpbaV06bj91bndyYXBMaXN0ZW5lcnMoaSk6YXJyYXlDbG9uZShpLGkubGVuZ3RoKX1mdW5jdGlvbiBsaXN0ZW5lckNvdW50KGUpe3ZhciB0PXRoaXMuX2V2ZW50cztpZih2b2lkIDAhPT10KXt2YXIgbj10W2VdO2lmKFwiZnVuY3Rpb25cIj09dHlwZW9mIG4pcmV0dXJuIDE7aWYodm9pZCAwIT09bilyZXR1cm4gbi5sZW5ndGh9cmV0dXJuIDB9ZnVuY3Rpb24gYXJyYXlDbG9uZShlLHQpe2Zvcih2YXIgbj1uZXcgQXJyYXkodCkscj0wO3I8dDsrK3IpbltyXT1lW3JdO3JldHVybiBufWZ1bmN0aW9uIHNwbGljZU9uZShlLHQpe2Zvcig7dCsxPGUubGVuZ3RoO3QrKyllW3RdPWVbdCsxXTtlLnBvcCgpfWZ1bmN0aW9uIHVud3JhcExpc3RlbmVycyhlKXtmb3IodmFyIHQ9bmV3IEFycmF5KGUubGVuZ3RoKSxuPTA7bjx0Lmxlbmd0aDsrK24pdFtuXT1lW25dLmxpc3RlbmVyfHxlW25dO3JldHVybiB0fWZ1bmN0aW9uIG9uY2UoZSx0KXtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24obixyKXtmdW5jdGlvbiBpKG4pe2UucmVtb3ZlTGlzdGVuZXIodCxvKSxyKG4pfWZ1bmN0aW9uIG8oKXtcImZ1bmN0aW9uXCI9PXR5cGVvZiBlLnJlbW92ZUxpc3RlbmVyJiZlLnJlbW92ZUxpc3RlbmVyKFwiZXJyb3JcIixpKSxuKFtdLnNsaWNlLmNhbGwoYXJndW1lbnRzKSl9ZXZlbnRUYXJnZXRBZ25vc3RpY0FkZExpc3RlbmVyKGUsdCxvLHtvbmNlOiEwfSksXCJlcnJvclwiIT09dCYmYWRkRXJyb3JIYW5kbGVySWZFdmVudEVtaXR0ZXIoZSxpLHtvbmNlOiEwfSl9KX1mdW5jdGlvbiBhZGRFcnJvckhhbmRsZXJJZkV2ZW50RW1pdHRlcihlLHQsbil7XCJmdW5jdGlvblwiPT10eXBlb2YgZS5vbiYmZXZlbnRUYXJnZXRBZ25vc3RpY0FkZExpc3RlbmVyKGUsXCJlcnJvclwiLHQsbil9ZnVuY3Rpb24gZXZlbnRUYXJnZXRBZ25vc3RpY0FkZExpc3RlbmVyKGUsdCxuLHIpe2lmKFwiZnVuY3Rpb25cIj09dHlwZW9mIGUub24pci5vbmNlP2Uub25jZSh0LG4pOmUub24odCxuKTtlbHNle2lmKFwiZnVuY3Rpb25cIiE9dHlwZW9mIGUuYWRkRXZlbnRMaXN0ZW5lcil0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgXCJlbWl0dGVyXCIgYXJndW1lbnQgbXVzdCBiZSBvZiB0eXBlIEV2ZW50RW1pdHRlci4gUmVjZWl2ZWQgdHlwZSAnK3R5cGVvZiBlKTtlLmFkZEV2ZW50TGlzdGVuZXIodCxmdW5jdGlvbiBpKG8pe3Iub25jZSYmZS5yZW1vdmVFdmVudExpc3RlbmVyKHQsaSksbihvKX0pfX1PYmplY3QuZGVmaW5lUHJvcGVydHkoRXZlbnRFbWl0dGVyLFwiZGVmYXVsdE1heExpc3RlbmVyc1wiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBkZWZhdWx0TWF4TGlzdGVuZXJzfSxzZXQ6ZnVuY3Rpb24oZSl7aWYoXCJudW1iZXJcIiE9dHlwZW9mIGV8fGU8MHx8TnVtYmVySXNOYU4oZSkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1RoZSB2YWx1ZSBvZiBcImRlZmF1bHRNYXhMaXN0ZW5lcnNcIiBpcyBvdXQgb2YgcmFuZ2UuIEl0IG11c3QgYmUgYSBub24tbmVnYXRpdmUgbnVtYmVyLiBSZWNlaXZlZCAnK2UrXCIuXCIpO2RlZmF1bHRNYXhMaXN0ZW5lcnM9ZX19KSxFdmVudEVtaXR0ZXIuaW5pdD1mdW5jdGlvbigpe3ZvaWQgMCE9PXRoaXMuX2V2ZW50cyYmdGhpcy5fZXZlbnRzIT09T2JqZWN0LmdldFByb3RvdHlwZU9mKHRoaXMpLl9ldmVudHN8fCh0aGlzLl9ldmVudHM9T2JqZWN0LmNyZWF0ZShudWxsKSx0aGlzLl9ldmVudHNDb3VudD0wKSx0aGlzLl9tYXhMaXN0ZW5lcnM9dGhpcy5fbWF4TGlzdGVuZXJzfHx2b2lkIDB9LEV2ZW50RW1pdHRlci5wcm90b3R5cGUuc2V0TWF4TGlzdGVuZXJzPWZ1bmN0aW9uKGUpe2lmKFwibnVtYmVyXCIhPXR5cGVvZiBlfHxlPDB8fE51bWJlcklzTmFOKGUpKXRocm93IG5ldyBSYW5nZUVycm9yKCdUaGUgdmFsdWUgb2YgXCJuXCIgaXMgb3V0IG9mIHJhbmdlLiBJdCBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIG51bWJlci4gUmVjZWl2ZWQgJytlK1wiLlwiKTtyZXR1cm4gdGhpcy5fbWF4TGlzdGVuZXJzPWUsdGhpc30sRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5nZXRNYXhMaXN0ZW5lcnM9ZnVuY3Rpb24oKXtyZXR1cm4gX2dldE1heExpc3RlbmVycyh0aGlzKX0sRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5lbWl0PWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1bXSxuPTE7bjxhcmd1bWVudHMubGVuZ3RoO24rKyl0LnB1c2goYXJndW1lbnRzW25dKTt2YXIgcj1cImVycm9yXCI9PT1lLGk9dGhpcy5fZXZlbnRzO2lmKHZvaWQgMCE9PWkpcj1yJiZ2b2lkIDA9PT1pLmVycm9yO2Vsc2UgaWYoIXIpcmV0dXJuITE7aWYocil7dmFyIG87aWYodC5sZW5ndGg+MCYmKG89dFswXSksbyBpbnN0YW5jZW9mIEVycm9yKXRocm93IG87dmFyIHM9bmV3IEVycm9yKFwiVW5oYW5kbGVkIGVycm9yLlwiKyhvP1wiIChcIitvLm1lc3NhZ2UrXCIpXCI6XCJcIikpO3Rocm93IHMuY29udGV4dD1vLHN9dmFyIHU9aVtlXTtpZih2b2lkIDA9PT11KXJldHVybiExO2lmKFwiZnVuY3Rpb25cIj09dHlwZW9mIHUpUmVmbGVjdEFwcGx5KHUsdGhpcyx0KTtlbHNle3ZhciBmPXUubGVuZ3RoLHY9YXJyYXlDbG9uZSh1LGYpO2ZvcihuPTA7bjxmOysrbilSZWZsZWN0QXBwbHkodltuXSx0aGlzLHQpfXJldHVybiEwfSxFdmVudEVtaXR0ZXIucHJvdG90eXBlLmFkZExpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIF9hZGRMaXN0ZW5lcih0aGlzLGUsdCwhMSl9LEV2ZW50RW1pdHRlci5wcm90b3R5cGUub249RXZlbnRFbWl0dGVyLnByb3RvdHlwZS5hZGRMaXN0ZW5lcixFdmVudEVtaXR0ZXIucHJvdG90eXBlLnByZXBlbmRMaXN0ZW5lcj1mdW5jdGlvbihlLHQpe3JldHVybiBfYWRkTGlzdGVuZXIodGhpcyxlLHQsITApfSxFdmVudEVtaXR0ZXIucHJvdG90eXBlLm9uY2U9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gY2hlY2tMaXN0ZW5lcih0KSx0aGlzLm9uKGUsX29uY2VXcmFwKHRoaXMsZSx0KSksdGhpc30sRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5wcmVwZW5kT25jZUxpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGNoZWNrTGlzdGVuZXIodCksdGhpcy5wcmVwZW5kTGlzdGVuZXIoZSxfb25jZVdyYXAodGhpcyxlLHQpKSx0aGlzfSxFdmVudEVtaXR0ZXIucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7dmFyIG4scixpLG8scztpZihjaGVja0xpc3RlbmVyKHQpLHZvaWQgMD09PShyPXRoaXMuX2V2ZW50cykpcmV0dXJuIHRoaXM7aWYodm9pZCAwPT09KG49cltlXSkpcmV0dXJuIHRoaXM7aWYobj09PXR8fG4ubGlzdGVuZXI9PT10KTA9PS0tdGhpcy5fZXZlbnRzQ291bnQ/dGhpcy5fZXZlbnRzPU9iamVjdC5jcmVhdGUobnVsbCk6KGRlbGV0ZSByW2VdLHIucmVtb3ZlTGlzdGVuZXImJnRoaXMuZW1pdChcInJlbW92ZUxpc3RlbmVyXCIsZSxuLmxpc3RlbmVyfHx0KSk7ZWxzZSBpZihcImZ1bmN0aW9uXCIhPXR5cGVvZiBuKXtmb3IoaT0tMSxvPW4ubGVuZ3RoLTE7bz49MDtvLS0paWYobltvXT09PXR8fG5bb10ubGlzdGVuZXI9PT10KXtzPW5bb10ubGlzdGVuZXIsaT1vO2JyZWFrfWlmKGk8MClyZXR1cm4gdGhpczswPT09aT9uLnNoaWZ0KCk6c3BsaWNlT25lKG4saSksMT09PW4ubGVuZ3RoJiYocltlXT1uWzBdKSx2b2lkIDAhPT1yLnJlbW92ZUxpc3RlbmVyJiZ0aGlzLmVtaXQoXCJyZW1vdmVMaXN0ZW5lclwiLGUsc3x8dCl9cmV0dXJuIHRoaXN9LEV2ZW50RW1pdHRlci5wcm90b3R5cGUub2ZmPUV2ZW50RW1pdHRlci5wcm90b3R5cGUucmVtb3ZlTGlzdGVuZXIsRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5yZW1vdmVBbGxMaXN0ZW5lcnM9ZnVuY3Rpb24oZSl7dmFyIHQsbixyO2lmKHZvaWQgMD09PShuPXRoaXMuX2V2ZW50cykpcmV0dXJuIHRoaXM7aWYodm9pZCAwPT09bi5yZW1vdmVMaXN0ZW5lcilyZXR1cm4gMD09PWFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX2V2ZW50cz1PYmplY3QuY3JlYXRlKG51bGwpLHRoaXMuX2V2ZW50c0NvdW50PTApOnZvaWQgMCE9PW5bZV0mJigwPT0tLXRoaXMuX2V2ZW50c0NvdW50P3RoaXMuX2V2ZW50cz1PYmplY3QuY3JlYXRlKG51bGwpOmRlbGV0ZSBuW2VdKSx0aGlzO2lmKDA9PT1hcmd1bWVudHMubGVuZ3RoKXt2YXIgaSxvPU9iamVjdC5rZXlzKG4pO2ZvcihyPTA7cjxvLmxlbmd0aDsrK3IpXCJyZW1vdmVMaXN0ZW5lclwiIT09KGk9b1tyXSkmJnRoaXMucmVtb3ZlQWxsTGlzdGVuZXJzKGkpO3JldHVybiB0aGlzLnJlbW92ZUFsbExpc3RlbmVycyhcInJlbW92ZUxpc3RlbmVyXCIpLHRoaXMuX2V2ZW50cz1PYmplY3QuY3JlYXRlKG51bGwpLHRoaXMuX2V2ZW50c0NvdW50PTAsdGhpc31pZihcImZ1bmN0aW9uXCI9PXR5cGVvZih0PW5bZV0pKXRoaXMucmVtb3ZlTGlzdGVuZXIoZSx0KTtlbHNlIGlmKHZvaWQgMCE9PXQpZm9yKHI9dC5sZW5ndGgtMTtyPj0wO3ItLSl0aGlzLnJlbW92ZUxpc3RlbmVyKGUsdFtyXSk7cmV0dXJuIHRoaXN9LEV2ZW50RW1pdHRlci5wcm90b3R5cGUubGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3JldHVybiBfbGlzdGVuZXJzKHRoaXMsZSwhMCl9LEV2ZW50RW1pdHRlci5wcm90b3R5cGUucmF3TGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3JldHVybiBfbGlzdGVuZXJzKHRoaXMsZSwhMSl9LEV2ZW50RW1pdHRlci5saXN0ZW5lckNvdW50PWZ1bmN0aW9uKGUsdCl7cmV0dXJuXCJmdW5jdGlvblwiPT10eXBlb2YgZS5saXN0ZW5lckNvdW50P2UubGlzdGVuZXJDb3VudCh0KTpsaXN0ZW5lckNvdW50LmNhbGwoZSx0KX0sRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5saXN0ZW5lckNvdW50PWxpc3RlbmVyQ291bnQsRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5ldmVudE5hbWVzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2V2ZW50c0NvdW50PjA/UmVmbGVjdE93bktleXModGhpcy5fZXZlbnRzKTpbXX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbVYyWlc1MGN5NXFjeUpkTENKdVlXMWxjeUk2V3lKU1pXWnNaV04wVDNkdVMyVjVjeUlzSWxJaUxDSlNaV1pzWldOMElpd2lVbVZtYkdWamRFRndjR3g1SWl3aVlYQndiSGtpTENKMFlYSm5aWFFpTENKeVpXTmxhWFpsY2lJc0ltRnlaM01pTENKR2RXNWpkR2x2YmlJc0luQnliM1J2ZEhsd1pTSXNJbU5oYkd3aUxDSlFjbTlqWlhOelJXMXBkRmRoY201cGJtY2lMQ0ozWVhKdWFXNW5JaXdpWTI5dWMyOXNaU0lzSW5kaGNtNGlMQ0p2ZDI1TFpYbHpJaXdpVDJKcVpXTjBJaXdpWjJWMFQzZHVVSEp2Y0dWeWRIbFRlVzFpYjJ4eklpd2laMlYwVDNkdVVISnZjR1Z5ZEhsT1lXMWxjeUlzSW1OdmJtTmhkQ0lzSWs1MWJXSmxja2x6VG1GT0lpd2lUblZ0WW1WeUlpd2lhWE5PWVU0aUxDSjJZV3gxWlNJc0lrVjJaVzUwUlcxcGRIUmxjaUlzSW1sdWFYUWlMQ0owYUdseklpd2liVzlrZFd4bElpd2laWGh3YjNKMGN5SXNJbTl1WTJVaUxDSmZaWFpsYm5Seklpd2lkVzVrWldacGJtVmtJaXdpWDJWMlpXNTBjME52ZFc1MElpd2lYMjFoZUV4cGMzUmxibVZ5Y3lJc0ltUmxabUYxYkhSTllYaE1hWE4wWlc1bGNuTWlMQ0pqYUdWamEweHBjM1JsYm1WeUlpd2liR2x6ZEdWdVpYSWlMQ0pVZVhCbFJYSnliM0lpTENKZloyVjBUV0Y0VEdsemRHVnVaWEp6SWl3aWRHaGhkQ0lzSWw5aFpHUk1hWE4wWlc1bGNpSXNJblI1Y0dVaUxDSndjbVZ3Wlc1a0lpd2liU0lzSW1WMlpXNTBjeUlzSW1WNGFYTjBhVzVuSWl3aVkzSmxZWFJsSWl3aWJtVjNUR2x6ZEdWdVpYSWlMQ0psYldsMElpd2lkVzV6YUdsbWRDSXNJbkIxYzJnaUxDSnNaVzVuZEdnaUxDSjNZWEp1WldRaUxDSjNJaXdpUlhKeWIzSWlMQ0pUZEhKcGJtY2lMQ0p1WVcxbElpd2laVzFwZEhSbGNpSXNJbU52ZFc1MElpd2liMjVqWlZkeVlYQndaWElpTENKbWFYSmxaQ0lzSW5KbGJXOTJaVXhwYzNSbGJtVnlJaXdpZDNKaGNFWnVJaXdpWVhKbmRXMWxiblJ6SWl3aVgyOXVZMlZYY21Gd0lpd2ljM1JoZEdVaUxDSjNjbUZ3Y0dWa0lpd2lZbWx1WkNJc0lsOXNhWE4wWlc1bGNuTWlMQ0oxYm5keVlYQWlMQ0psZG14cGMzUmxibVZ5SWl3aWRXNTNjbUZ3VEdsemRHVnVaWEp6SWl3aVlYSnlZWGxEYkc5dVpTSXNJbXhwYzNSbGJtVnlRMjkxYm5RaUxDSmhjbklpTENKdUlpd2lZMjl3ZVNJc0lrRnljbUY1SWl3aWFTSXNJbk53YkdsalpVOXVaU0lzSW14cGMzUWlMQ0pwYm1SbGVDSXNJbkJ2Y0NJc0luSmxkQ0lzSWxCeWIyMXBjMlVpTENKeVpYTnZiSFpsSWl3aWNtVnFaV04wSWl3aVpYSnliM0pNYVhOMFpXNWxjaUlzSW1WeWNpSXNJbkpsYzI5c2RtVnlJaXdpYzJ4cFkyVWlMQ0psZG1WdWRGUmhjbWRsZEVGbmJtOXpkR2xqUVdSa1RHbHpkR1Z1WlhJaUxDSmhaR1JGY25KdmNraGhibVJzWlhKSlprVjJaVzUwUlcxcGRIUmxjaUlzSW1oaGJtUnNaWElpTENKbWJHRm5jeUlzSW05dUlpd2lZV1JrUlhabGJuUk1hWE4wWlc1bGNpSXNJbmR5WVhCTWFYTjBaVzVsY2lJc0ltRnlaeUlzSW5KbGJXOTJaVVYyWlc1MFRHbHpkR1Z1WlhJaUxDSmtaV1pwYm1WUWNtOXdaWEowZVNJc0ltVnVkVzFsY21GaWJHVWlMQ0puWlhRaUxDSnpaWFFpTENKU1lXNW5aVVZ5Y205eUlpd2laMlYwVUhKdmRHOTBlWEJsVDJZaUxDSnpaWFJOWVhoTWFYTjBaVzVsY25NaUxDSm5aWFJOWVhoTWFYTjBaVzVsY25NaUxDSmtiMFZ5Y205eUlpd2laWEp5YjNJaUxDSmxjaUlzSW0xbGMzTmhaMlVpTENKamIyNTBaWGgwSWl3aWJHVnVJaXdpYkdsemRHVnVaWEp6SWl3aVlXUmtUR2x6ZEdWdVpYSWlMQ0p3Y21Wd1pXNWtUR2x6ZEdWdVpYSWlMQ0p3Y21Wd1pXNWtUMjVqWlV4cGMzUmxibVZ5SWl3aWNHOXphWFJwYjI0aUxDSnZjbWxuYVc1aGJFeHBjM1JsYm1WeUlpd2ljMmhwWm5RaUxDSnZabVlpTENKeVpXMXZkbVZCYkd4TWFYTjBaVzVsY25NaUxDSnJaWGtpTENKclpYbHpJaXdpY21GM1RHbHpkR1Z1WlhKeklpd2laWFpsYm5ST1lXMWxjeUpkTENKdFlYQndhVzVuY3lJNklrRkJjVUpCTEdGQlJVRXNTVUZQU1VFc1pVRlFRVU1zUlVGQmRVSXNhVUpCUVZwRExGRkJRWFZDUVN4UlFVRlZMRXRCUXpWRFF5eGhRVUZsUml4SFFVRjNRaXh0UWtGQldrRXNSVUZCUlVjc1RVRkROMEpJTEVWQlFVVkhMRTFCUTBZc1UwRkJjMEpETEVWQlFWRkRMRVZCUVZWRExFZEJRM2hETEU5QlFVOURMRk5CUVZORExGVkJRVlZNTEUxQlFVMU5MRXRCUVV0TUxFVkJRVkZETEVWQlFWVkRMRWxCYVVJelJDeFRRVUZUU1N4dFFrRkJiVUpETEVkQlEzUkNReXhUUVVGWFFTeFJRVUZSUXl4TlFVRk5SQ3hSUVVGUlF5eExRVUZMUml4SFFXSXhRMW9zWlVGRVJVTXNSMEZCTUVJc2JVSkJRV1JCTEVWQlFVVmpMRkZCUTBOa0xFVkJRVVZqTEZGQlExWkRMRTlCUVU5RExITkNRVU5ETEZOQlFYZENXaXhIUVVOMlF5eFBRVUZQVnl4UFFVRlBSU3h2UWtGQmIwSmlMRWRCUXk5Q1l5eFBRVUZQU0N4UFFVRlBReXh6UWtGQmMwSmFMRXRCUjNoQ0xGTkJRWGRDUVN4SFFVTjJReXhQUVVGUFZ5eFBRVUZQUlN4dlFrRkJiMEppTEVsQlVYUkRMRWxCUVVsbExGbEJRV05ETEU5QlFVOURMRTlCUVZNc1UwRkJjVUpETEVkQlEzSkVMRTlCUVU5QkxFZEJRVlZCTEVkQlIyNUNMRk5CUVZORExHVkJRMUJCTEdGQlFXRkRMRXRCUVV0bUxFdEJRVXRuUWl4TlFVVjZRa01zVDBGQlQwTXNVVUZCVlVvc1lVRkRha0pITEU5QlFVOURMRkZCUVZGRExFdEJRVTlCTEV0QlIzUkNUQ3hoUVVGaFFTeGhRVUZsUVN4aFFVVTFRa0VzWVVGQllXWXNWVUZCVlhGQ0xHRkJRVlZETEVWQlEycERVQ3hoUVVGaFppeFZRVUZWZFVJc1lVRkJaU3hGUVVOMFExSXNZVUZCWVdZc1ZVRkJWWGRDTEcxQ1FVRm5Ra1lzUlVGSmRrTXNTVUZCU1Vjc2IwSkJRWE5DTEVkQlJURkNMRk5CUVZORExHTkJRV05ETEVkQlEzSkNMRWRCUVhkQ0xHMUNRVUZpUVN4RlFVTlVMRTFCUVUwc1NVRkJTVU1zVlVGQlZTd3dSVUZCTkVWRUxFZEJjME53Unl4VFFVRlRSU3hwUWtGQmFVSkRMRWRCUTNoQ0xGbEJRVEpDVWl4SlFVRjJRbEVzUlVGQlMwNHNZMEZEUVZRc1lVRkJZVlVzYjBKQlEyWkxMRVZCUVV0T0xHTkJiVVJrTEZOQlFWTlBMR0ZCUVdGdVF5eEZRVUZSYjBNc1JVRkJUVXdzUlVGQlZVMHNSMEZETlVNc1NVRkJTVU1zUlVGRFFVTXNSVUZEUVVNc1JVRnpRa29zUjBGd1FrRldMR05CUVdORExGRkJSME5NTEV0QlJHWmhMRVZCUVZOMlF5eEZRVUZQZVVJc1ZVRkZaR01zUlVGQlUzWkRMRVZCUVU5NVFpeFJRVUZWWkN4UFFVRlBPRUlzVDBGQlR5eE5RVU40UTNwRExFVkJRVTh5UWl4aFFVRmxMRk5CU1V0RUxFbEJRWFpDWVN4RlFVRlBSeXhqUVVOVU1VTXNSVUZCVHpKRExFdEJRVXNzWTBGQlpWQXNSVUZEWmt3c1JVRkJVMEVzVTBGQlYwRXNSVUZCVTBFc1UwRkJWMEVzUjBGSmNFUlJMRVZCUVZOMlF5eEZRVUZQZVVJc1UwRkZiRUpsTEVWQlFWZEVMRVZCUVU5SUxGTkJSMGhXTEVsQlFXSmpMRVZCUlVaQkxFVkJRVmRFTEVWQlFVOUlMRWRCUVZGTUxFbEJRM2hDTDBJc1JVRkJUekpDTEd0Q1FXVlVMRWRCWW5kQ0xHMUNRVUZpWVN4RlFVVlVRU3hGUVVGWFJDeEZRVUZQU0N4SFFVTm9Ra01zUlVGQlZTeERRVUZEVGl4RlFVRlZVeXhIUVVGWkxFTkJRVU5CTEVWQlFWVlVMRWRCUlhKRFRTeEZRVU5VUnl4RlFVRlRTU3hSUVVGUllpeEhRVVZxUWxNc1JVRkJVMHNzUzBGQlMyUXNTVUZKYUVKUExFVkJRVWxNTEdsQ1FVRnBRbXBETEVsQlEySXNSMEZCUzNkRExFVkJRVk5OTEU5QlFWTlNMRWxCUVUxRkxFVkJRVk5QTEU5QlFWRXNRMEZEY0VSUUxFVkJRVk5QTEZGQlFWTXNSVUZIYkVJc1NVRkJTVU1zUlVGQlNTeEpRVUZKUXl4TlFVRk5MQ3REUVVORlZDeEZRVUZUVFN4UFFVRlRMRWxCUVUxSkxFOUJRVTlrTEVkQlFWRXNjVVZCUnpORVdTeEZRVUZGUnl4TFFVRlBMRGhDUVVOVVNDeEZRVUZGU1N4UlFVRlZjRVFzUlVGRFdtZEVMRVZCUVVWYUxFdEJRVTlCTEVWQlExUlpMRVZCUVVWTExFMUJRVkZpTEVWQlFWTk5MRTlCUTI1Q2VFTXNiVUpCUVcxQ01FTXNSMEZKZGtJc1QwRkJUMmhFTEVWQlkxUXNVMEZCVTNORUxHTkJRMUFzU1VGQlMycERMRXRCUVV0clF5eE5RVWRTTEU5QlJrRnNReXhMUVVGTGNrSXNUMEZCVDNkRUxHVkJRV1Z1UXl4TFFVRkxaU3hMUVVGTlppeExRVUZMYjBNc1VVRkRNME53UXl4TFFVRkxhME1zVDBGQlVTeEZRVU5aTEVsQlFYSkNSeXhWUVVGVldpeFBRVU5NZWtJc1MwRkJTMVVzVTBGQlV6RkNMRXRCUVV0blFpeExRVUZMY2tJc1VVRkRNVUp4UWl4TFFVRkxWU3hUUVVGVGFFTXNUVUZCVFhOQ0xFdEJRVXR5UWl4UFFVRlJNRVFzVjBGSk5VTXNVMEZCVTBNc1ZVRkJWVE5FTEVWQlFWRnZReXhGUVVGTlRDeEhRVU12UWl4SlFVRkpOa0lzUlVGQlVTeERRVUZGVEN4UFFVRlBMRVZCUVU5RkxGbEJRVkV2UWl4RlFVRlhNVUlzVDBGQlVVRXNSVUZCVVc5RExFdEJRVTFCTEVWQlFVMU1MRk5CUVZWQkxFZEJRMnBHT0VJc1JVRkJWVkFzV1VGQldWRXNTMEZCUzBZc1IwRkhMMElzVDBGR1FVTXNSVUZCVVRsQ0xGTkJRVmRCTEVWQlEyNUNOa0lzUlVGQlRVZ3NUMEZCVTBrc1JVRkRVa0VzUlVFd1NGUXNVMEZCVTBVc1YwRkJWeTlFTEVWQlFWRnZReXhGUVVGTk5FSXNSMEZEYUVNc1NVRkJTWHBDTEVWQlFWTjJReXhGUVVGUGVVSXNVVUZGY0VJc1VVRkJaVU1zU1VGQldHRXNSVUZEUml4TlFVRlBMRWRCUlZRc1NVRkJTVEJDTEVWQlFXRXhRaXhGUVVGUFNDeEhRVU40UWl4WlFVRnRRbFlzU1VGQlpuVkRMRVZCUTBzc1IwRkZhVUlzYlVKQlFXWkJMRVZCUTBaRUxFVkJRVk1zUTBGQlEwTXNSVUZCVjJ4RExGVkJRVmxyUXl4SFFVRmpMRU5CUVVOQkxFZEJSV3hFUkN4RlFVTk1SU3huUWtGQlowSkVMRWRCUVdORkxGZEJRVmRHTEVWQlFWbEJMRVZCUVZkdVFpeFJRVzlDY0VVc1UwRkJVM05DTEdOQlFXTm9ReXhIUVVOeVFpeEpRVUZKUnl4RlFVRlRiRUlzUzBGQlMwa3NVVUZGYkVJc1VVRkJaVU1zU1VGQldHRXNSVUZCYzBJc1EwRkRlRUlzU1VGQlNUQkNMRVZCUVdFeFFpeEZRVUZQU0N4SFFVVjRRaXhIUVVFd1FpeHRRa0ZCWmpaQ0xFVkJRMVFzVDBGQlR5eEZRVU5HTEZGQlFXMUNka01zU1VGQlpuVkRMRVZCUTFRc1QwRkJUMEVzUlVGQlYyNUNMRTlCU1hSQ0xFOUJRVThzUlVGUFZDeFRRVUZUY1VJc1YwRkJWMFVzUlVGQlMwTXNSMEZGZGtJc1NVRkVRU3hKUVVGSlF5eEZRVUZQTEVsQlFVbERMRTFCUVUxR0xFZEJRMXBITEVWQlFVa3NSVUZCUjBFc1JVRkJTVWdzU1VGQlMwY3NSVUZEZGtKR0xFVkJRVXRGTEVkQlFVdEtMRVZCUVVsSkxFZEJRMmhDTEU5QlFVOUdMRVZCUjFRc1UwRkJVMGNzVlVGQlZVTXNSVUZCVFVNc1IwRkRka0lzUzBGQlQwRXNSVUZCVVN4RlFVRkpSQ3hGUVVGTE4wSXNUMEZCVVRoQ0xFbEJRemxDUkN4RlFVRkxReXhIUVVGVFJDeEZRVUZMUXl4RlFVRlJMRWRCUXpkQ1JDeEZRVUZMUlN4TlFVZFFMRk5CUVZOWUxHZENRVUZuUWtjc1IwRkZka0lzU1VGRVFTeEpRVUZKVXl4RlFVRk5MRWxCUVVsT0xFMUJRVTFJTEVWQlFVbDJRaXhSUVVObU1rSXNSVUZCU1N4RlFVRkhRU3hGUVVGSlN5eEZRVUZKYUVNc1UwRkJWVEpDTEVWQlEyaERTeXhGUVVGSlRDeEhRVUZMU2l4RlFVRkpTU3hIUVVGSE1VTXNWVUZCV1hORExFVkJRVWxKTEVkQlJXeERMRTlCUVU5TExFVkJSMVFzVTBGQlUzUkVMRXRCUVVzMFFpeEZRVUZUUkN4SFFVTnlRaXhQUVVGUExFbEJRVWswUWl4UlFVRlJMRk5CUVZWRExFVkJRVk5ETEVkQlEzQkRMRk5CUVZORExFVkJRV05ETEVkQlEzSkNMMElzUlVGQlVVa3NaVUZCWlV3c1JVRkJUV2xETEVkQlF6ZENTQ3hGUVVGUFJTeEhRVWRVTEZOQlFWTkRMRWxCUXl0Q0xHMUNRVUV6UW1oRExFVkJRVkZKTEdkQ1FVTnFRa29zUlVGQlVVa3NaVUZCWlN4UlFVRlRNRUlzUjBGRmJFTkdMRVZCUVZFc1IwRkJSMHNzVFVGQlRXaEdMRXRCUVV0eFJDeFpRVWQ0UWpSQ0xDdENRVUVyUW14RExFVkJRVk5FTEVWQlFVMXBReXhGUVVGVkxFTkJRVVUxUkN4TlFVRk5MRWxCUTI1RUxGVkJRVlF5UWl4SFFVTkdiME1zT0VKQlFUaENia01zUlVGQlV6aENMRVZCUVdVc1EwRkJSVEZFTEUxQlFVMHNUVUZMY0VVc1UwRkJVeXRFTERoQ1FVRTRRbTVETEVWQlFWTnZReXhGUVVGVFF5eEhRVU0zUWl4dFFrRkJabkpETEVWQlFWRnpReXhKUVVOcVFrb3NLMEpCUVN0Q2JFTXNSVUZCVXl4UlFVRlRiME1zUlVGQlUwTXNSMEZKT1VRc1UwRkJVMGdzSzBKQlFTdENiRU1zUlVGQlUwUXNSVUZCVFhCQ0xFVkJRVlV3UkN4SFFVTXZSQ3hIUVVFd1FpeHRRa0ZCWm5KRExFVkJRVkZ6UXl4SFFVTmlSQ3hGUVVGTmFrVXNTMEZEVWpSQ0xFVkJRVkUxUWl4TFFVRkxNa0lzUlVGQlRYQkNMRWRCUlc1Q2NVSXNSVUZCVVhORExFZEJRVWQyUXl4RlFVRk5jRUlzVDBGRlpDeERRVUZCTEVkQlFYZERMRzFDUVVFM1FuRkNMRVZCUVZGMVF5eHBRa0ZaZUVJc1RVRkJUU3hKUVVGSk0wUXNWVUZCVlN3MlJVRkJLMFZ2UWl4SFFWUnVSMEVzUlVGQlVYVkRMR2xDUVVGcFFuaERMRVZCUVUwc1UwRkJVM2xETEVWQlFXRkRMRWRCUnk5RFNpeEZRVUZOYWtVc1RVRkRValJDTEVWQlFWRXdReXh2UWtGQmIwSXpReXhGUVVGTmVVTXNSMEZGY0VNM1JDeEZRVUZUT0VRc1RVRm9ZV1pzUml4UFFVRlBiMFlzWlVGQlpUVkZMR0ZCUVdNc2MwSkJRWFZDTEVOQlEzcEVOa1VzV1VGQldTeEZRVU5hUXl4SlFVRkxMRmRCUTBnc1QwRkJUM0JGTEhGQ1FVVlVjVVVzU1VGQlN5eFRRVUZUVEN4SFFVTmFMRWRCUVcxQ0xHbENRVUZTUVN4SFFVRnZRa0VzUlVGQlRTeEhRVUZMT1VVc1dVRkJXVGhGTEVkQlEzQkVMRTFCUVUwc1NVRkJTVTBzVjBGQlZ5eHJSMEZCYjBkT0xFVkJRVTBzUzBGRmFrbG9SU3h2UWtGQmMwSm5SU3hMUVVreFFqRkZMR0ZCUVdGRExFdEJRVThzWjBKQlJVZE5MRWxCUVdwQ1RDeExRVUZMU1N4VFFVTk1TaXhMUVVGTFNTeFZRVUZaWkN4UFFVRlBlVVlzWlVGQlpTOUZMRTFCUVUxSkxGVkJReTlEU2l4TFFVRkxTU3hSUVVGVlpDeFBRVUZQT0VJc1QwRkJUeXhOUVVNM1FuQkNMRXRCUVV0TkxHRkJRV1VzUjBGSGRFSk9MRXRCUVV0UExHTkJRV2RDVUN4TFFVRkxUeXh2UWtGQmFVSkdMRWRCU3pkRFVDeGhRVUZoWml4VlFVRlZhVWNzWjBKQlFXdENMRk5CUVhsQ0wwSXNSMEZEYUVVc1IwRkJhVUlzYVVKQlFVNUJMRWRCUVd0Q1FTeEZRVUZKTEVkQlFVdDJSQ3haUVVGWmRVUXNSMEZEYUVRc1RVRkJUU3hKUVVGSk5rSXNWMEZCVnl4blJrRkJhMFkzUWl4RlFVRkpMRXRCUnpkSExFOUJSRUZxUkN4TFFVRkxUeXhqUVVGblFqQkRMRVZCUTJScVJDeE5RVk5VUml4aFFVRmhaaXhWUVVGVmEwY3NaMEpCUVd0Q0xGZEJRM1pETEU5QlFVOXlSU3hwUWtGQmFVSmFMRTlCUnpGQ1JpeGhRVUZoWml4VlFVRlZkVU1zUzBGQlR5eFRRVUZqVUN4SFFVVXhReXhKUVVSQkxFbEJRVWxzUXl4RlFVRlBMRWRCUTBaMVJTeEZRVUZKTEVWQlFVZEJMRVZCUVVsbUxGVkJRVlZhTEU5QlFWRXlRaXhKUVVGTGRrVXNSVUZCU3pKRExFdEJRVXRoTEZWQlFWVmxMRWxCUXk5RUxFbEJRVWs0UWl4RlFVRnZRaXhWUVVGVWJrVXNSVUZGV0Vjc1JVRkJVMnhDTEV0QlFVdEpMRkZCUTJ4Q0xGRkJRV1ZETEVsQlFWaGhMRVZCUTBablJTeEZRVUZYUVN4UlFVRTBRamRGTEVsQlFXcENZU3hGUVVGUGFVVXNWMEZETVVJc1NVRkJTMFFzUlVGRFVpeFBRVUZQTEVWQlIxUXNSMEZCU1VFc1JVRkJVeXhEUVVOWUxFbEJRVWxGTEVWQlIwb3NSMEZHU1haSExFVkJRVXMwUXl4UFFVRlRMRWxCUTJoQ01rUXNSVUZCUzNaSExFVkJRVXNzU1VGRFVuVkhMR0ZCUVdONFJDeE5RVWRvUWl4TlFVRk5kMFFzUlVGSFVpeEpRVUZKZEVJc1JVRkJUU3hKUVVGSmJFTXNUVUZCVFN4dlFrRkJjMEozUkN4RlFVRkxMRXRCUVU5QkxFVkJRVWRETEZGQlFWVXNTVUZCVFN4TFFVVjZSU3hOUVVSQmRrSXNSVUZCU1hkQ0xGRkJRVlZHTEVWQlExSjBRaXhGUVVkU0xFbEJRVWxMTEVWQlFWVnFSQ3hGUVVGUFNDeEhRVVZ5UWl4UlFVRm5RbFlzU1VGQldqaEVMRVZCUTBZc1QwRkJUeXhGUVVWVUxFZEJRWFZDTEcxQ1FVRmFRU3hGUVVOVU1VWXNZVUZCWVRCR0xFVkJRVk51UlN4TFFVRk5ia0lzVDBGRk5VSXNRMEZCUVN4SlFVRkpNRWNzUlVGQlRYQkNMRVZCUVZFeFF5eFBRVU5rSzBRc1JVRkJXVEZETEZkQlFWZHhRaXhGUVVGVGIwSXNSMEZEY0VNc1NVRkJVMjVETEVWQlFVa3NSVUZCUjBFc1JVRkJTVzFETEVsQlFVOXVReXhGUVVONlFqTkZMR0ZCUVdFclJ5eEZRVUZWY0VNc1IwRkJTWEJFTEV0QlFVMXVRaXhIUVVkeVF5eFBRVUZQTEVkQmFVVlVhVUlzWVVGQllXWXNWVUZCVlRCSExGbEJRV01zVTBGQmNVSXhSU3hGUVVGTlRDeEhRVU01UkN4UFFVRlBTU3hoUVVGaFpDeExRVUZOWlN4RlFVRk5UQ3hIUVVGVkxFbEJSelZEV2l4aFFVRmhaaXhWUVVGVmMwWXNSMEZCUzNaRkxHRkJRV0ZtTEZWQlFWVXdSeXhaUVVWdVJETkdMR0ZCUVdGbUxGVkJRVlV5Unl4blFrRkRia0lzVTBGQmVVSXpSU3hGUVVGTlRDeEhRVU0zUWl4UFFVRlBTU3hoUVVGaFpDeExRVUZOWlN4RlFVRk5UQ3hIUVVGVkxFbEJjVUpvUkZvc1lVRkJZV1lzVlVGQlZXOUNMRXRCUVU4c1UwRkJZMWtzUlVGQlRVd3NSMEZIYUVRc1QwRkdRVVFzWTBGQlkwTXNSMEZEWkZZc1MwRkJTM0ZGTEVkQlFVZDBSQ3hGUVVGTmRVSXNWVUZCVlhSRExFdEJRVTFsTEVWQlFVMU1MRWxCUXpkQ1ZpeE5RVWRVUml4aFFVRmhaaXhWUVVGVk5FY3NiMEpCUTI1Q0xGTkJRVFpDTlVVc1JVRkJUVXdzUjBGSGFrTXNUMEZHUVVRc1kwRkJZME1zUjBGRFpGWXNTMEZCU3pCR0xHZENRVUZuUWpORkxFVkJRVTExUWl4VlFVRlZkRU1zUzBGQlRXVXNSVUZCVFV3c1NVRkRNVU5XTEUxQlNXSkdMR0ZCUVdGbUxGVkJRVlZ2UkN4bFFVTnVRaXhUUVVGM1FuQkNMRVZCUVUxTUxFZEJRelZDTEVsQlFVazBReXhGUVVGTmNFTXNSVUZCVVRCRkxFVkJRVlY0UXl4RlFVRkhlVU1zUlVGTEwwSXNSMEZJUVhCR0xHTkJRV05ETEZGQlIwTk1MRXRCUkdaaExFVkJRVk5zUWl4TFFVRkxTU3hUUVVWYUxFOUJRVTlLTEV0QlIxUXNVVUZCWVVzc1MwRkVZbWxFTEVWQlFVOXdReXhGUVVGUFNDeEpRVVZhTEU5QlFVOW1MRXRCUlZRc1IwRkJTWE5FTEVsQlFWTTFReXhIUVVGWk5FTXNSVUZCU3pWRExGZEJRV0ZCTEVWQlEySXNTMEZCZEVKV0xFdEJRVXROTEdGQlExUk9MRXRCUVV0SkxGRkJRVlZrTEU5QlFVODRRaXhQUVVGUExHTkJSWFJDUml4RlFVRlBTQ3hIUVVOV1J5eEZRVUZQYVVJc1owSkJRMVJ1UXl4TFFVRkxjMElzUzBGQlN5eHBRa0ZCYTBKUUxFVkJRVTExUXl4RlFVRkxOVU1zVlVGQldVRXNVMEZGYkVRc1IwRkJiMElzYlVKQlFWUTBReXhGUVVGeFFpeERRVWR5UXl4SlFVWkJjME1zUjBGQldTeEZRVVZRZUVNc1JVRkJTVVVzUlVGQlN6ZENMRTlCUVZNc1JVRkJSekpDTEVkQlFVc3NSVUZCUjBFc1NVRkRhRU1zUjBGQlNVVXNSVUZCUzBZc1MwRkJUekZETEVkQlFWazBReXhGUVVGTFJpeEhRVUZITVVNc1YwRkJZVUVzUlVGQlZTeERRVU42UkcxR0xFVkJRVzFDZGtNc1JVRkJTMFlzUjBGQlJ6RkRMRk5CUXpOQ2EwWXNSVUZCVjNoRExFVkJRMWdzVFVGSlNpeEhRVUZKZDBNc1JVRkJWeXhGUVVOaUxFOUJRVTgxUml4TFFVVlJMRWxCUVdJMFJpeEZRVU5HZEVNc1JVRkJTM2RETEZGQlJVeDZReXhWUVVGVlF5eEZRVUZOYzBNc1IwRkhSU3hKUVVGb1FuUkRMRVZCUVVzM1FpeFRRVU5RVUN4RlFVRlBTQ3hIUVVGUmRVTXNSVUZCU3l4VFFVVlJha1FzU1VGQk1VSmhMRVZCUVU5cFFpeG5Ra0ZEVkc1RExFdEJRVXR6UWl4TFFVRkxMR2xDUVVGclFsQXNSVUZCVFRoRkxFZEJRVzlDYmtZc1IwRkhNVVFzVDBGQlQxWXNUVUZIWWtZc1lVRkJZV1lzVlVGQlZXZElMRWxCUVUxcVJ5eGhRVUZoWml4VlFVRlZiMFFzWlVGRmNFUnlReXhoUVVGaFppeFZRVUZWYVVnc2JVSkJRMjVDTEZOQlFUUkNha1lzUjBGRE1VSXNTVUZCU1hsRkxFVkJRVmQwUlN4RlFVRlJhME1zUlVGSGRrSXNVVUZCWlM5RExFdEJSR1poTEVWQlFWTnNRaXhMUVVGTFNTeFRRVVZhTEU5QlFVOUtMRXRCUjFRc1VVRkJPRUpMTEVsQlFURkNZU3hGUVVGUGFVSXNaVUZWVkN4UFFWUjVRaXhKUVVGeVFrVXNWVUZCVlZvc1VVRkRXbnBDTEV0QlFVdEpMRkZCUVZWa0xFOUJRVTg0UWl4UFFVRlBMRTFCUXpkQ2NFSXNTMEZCUzAwc1lVRkJaU3hSUVVOTlJDeEpRVUZxUW1Fc1JVRkJUMGdzUzBGRFdTeExRVUYwUW1Zc1MwRkJTMDBzWVVGRFZFNHNTMEZCUzBrc1VVRkJWV1FzVDBGQlR6aENMRTlCUVU4c1lVRkZkRUpHTEVWQlFVOUlMRWxCUlZobUxFdEJTVlFzUjBGQmVVSXNTVUZCY2tKeFF5eFZRVUZWV2l4UFFVRmpMRU5CUXpGQ0xFbEJRMGwzUlN4RlFVUkJReXhGUVVGUE5VY3NUMEZCVHpSSExFdEJRVXRvUml4SFFVVjJRaXhKUVVGTGEwTXNSVUZCU1N4RlFVRkhRU3hGUVVGSk9FTXNSVUZCUzNwRkxGTkJRVlV5UWl4RlFVVnFRaXh2UWtGRVdqWkRMRVZCUVUxRExFVkJRVXM1UXl4TFFVVlljRVFzUzBGQlMyZEhMRzFDUVVGdFFrTXNSMEZMTVVJc1QwRklRV3BITEV0QlFVdG5SeXh0UWtGQmJVSXNhMEpCUTNoQ2FFY3NTMEZCUzBrc1VVRkJWV1FzVDBGQlR6aENMRTlCUVU4c1RVRkROMEp3UWl4TFFVRkxUU3hoUVVGbExFVkJRMkpPTEV0QlMxUXNSMEZCZVVJc2JVSkJSbnBDZDBZc1JVRkJXWFJGTEVWQlFVOUlMRWxCUjJwQ1ppeExRVUZMYlVNc1pVRkJaWEJDTEVWQlFVMTVSU3hSUVVOeVFpeFJRVUZyUW01R0xFbEJRV1J0Uml4RlFVVlVMRWxCUVV0d1F5eEZRVUZKYjBNc1JVRkJWUzlFTEU5QlFWTXNSVUZCUnpKQ0xFZEJRVXNzUlVGQlIwRXNTVUZEY2tOd1JDeExRVUZMYlVNc1pVRkJaWEJDTEVWQlFVMTVSU3hGUVVGVmNFTXNTVUZKZUVNc1QwRkJUM0JFTEUxQmIwSmlSaXhoUVVGaFppeFZRVUZWZVVjc1ZVRkJXU3hUUVVGdFFucEZMRWRCUTNCRUxFOUJRVTh5UWl4WFFVRlhNVU1zUzBGQlRXVXNSMEZCVFN4SlFVZG9RMnBDTEdGQlFXRm1MRlZCUVZWdlNDeGhRVUZsTEZOQlFYTkNjRVlzUjBGRE1VUXNUMEZCVHpKQ0xGZEJRVmN4UXl4TFFVRk5aU3hIUVVGTkxFbEJSMmhEYWtJc1lVRkJZV2xFTEdOQlFXZENMRk5CUVZOb1FpeEZRVUZUYUVJc1IwRkROME1zVFVGQmNVTXNiVUpCUVRGQ1owSXNSVUZCVVdkQ0xHTkJRMVpvUWl4RlFVRlJaMElzWTBGQlkyaERMRWRCUlhSQ1owTXNZMEZCWXk5RUxFdEJRVXNyUXl4RlFVRlRhRUlzU1VGSmRrTnFRaXhoUVVGaFppeFZRVUZWWjBVc1kwRkJaMEpCTEdOQmFVSjJRMnBFTEdGQlFXRm1MRlZCUVZWeFNDeFhRVUZoTEZkQlEyeERMRTlCUVU5d1J5eExRVUZMVFN4aFFVRmxMRVZCUVVsb1F5eGxRVUZsTUVJc1MwRkJTMGtzVTBGQlZ5SXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl6ZEdGbmFXNW5MM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDJWMlpXNTBjeTlsZG1WdWRITXVhbk1pZlE9PSIsImV4cG9ydHMucmVhZD1mdW5jdGlvbihhLG8sdCxyLGgpe3ZhciBNLHAsdz04Kmgtci0xLGY9KDE8PHcpLTEsZT1mPj4xLGk9LTcsTj10P2gtMTowLG49dD8tMToxLHM9YVtvK05dO2ZvcihOKz1uLE09cyYoMTw8LWkpLTEscz4+PS1pLGkrPXc7aT4wO009MjU2Kk0rYVtvK05dLE4rPW4saS09OCk7Zm9yKHA9TSYoMTw8LWkpLTEsTT4+PS1pLGkrPXI7aT4wO3A9MjU2KnArYVtvK05dLE4rPW4saS09OCk7aWYoMD09PU0pTT0xLWU7ZWxzZXtpZihNPT09ZilyZXR1cm4gcD9OYU46MS8wKihzPy0xOjEpO3ArPU1hdGgucG93KDIsciksTS09ZX1yZXR1cm4ocz8tMToxKSpwKk1hdGgucG93KDIsTS1yKX0sZXhwb3J0cy53cml0ZT1mdW5jdGlvbihhLG8sdCxyLGgsTSl7dmFyIHAsdyxmLGU9OCpNLWgtMSxpPSgxPDxlKS0xLE49aT4+MSxuPTIzPT09aD9NYXRoLnBvdygyLC0yNCktTWF0aC5wb3coMiwtNzcpOjAscz1yPzA6TS0xLHU9cj8xOi0xLGw9bzwwfHwwPT09byYmMS9vPDA/MTowO2ZvcihvPU1hdGguYWJzKG8pLGlzTmFOKG8pfHxvPT09MS8wPyh3PWlzTmFOKG8pPzE6MCxwPWkpOihwPU1hdGguZmxvb3IoTWF0aC5sb2cobykvTWF0aC5MTjIpLG8qKGY9TWF0aC5wb3coMiwtcCkpPDEmJihwLS0sZio9MiksKG8rPXArTj49MT9uL2Y6bipNYXRoLnBvdygyLDEtTikpKmY+PTImJihwKyssZi89MikscCtOPj1pPyh3PTAscD1pKTpwK04+PTE/KHc9KG8qZi0xKSpNYXRoLnBvdygyLGgpLHArPU4pOih3PW8qTWF0aC5wb3coMixOLTEpKk1hdGgucG93KDIsaCkscD0wKSk7aD49ODthW3Qrc109MjU1Jncscys9dSx3Lz0yNTYsaC09OCk7Zm9yKHA9cDw8aHx3LGUrPWg7ZT4wO2FbdCtzXT0yNTUmcCxzKz11LHAvPTI1NixlLT04KTthW3Qrcy11XXw9MTI4Kmx9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1sdVpHVjRMbXB6SWwwc0ltNWhiV1Z6SWpwYkltVjRjRzl5ZEhNaUxDSnlaV0ZrSWl3aVluVm1abVZ5SWl3aWIyWm1jMlYwSWl3aWFYTk1SU0lzSW0xTVpXNGlMQ0p1UW5sMFpYTWlMQ0psSWl3aWJTSXNJbVZNWlc0aUxDSmxUV0Y0SWl3aVpVSnBZWE1pTENKdVFtbDBjeUlzSW1raUxDSmtJaXdpY3lJc0lrNWhUaUlzSWtsdVptbHVhWFI1SWl3aVRXRjBhQ0lzSW5CdmR5SXNJbmR5YVhSbElpd2lkbUZzZFdVaUxDSmpJaXdpY25RaUxDSmhZbk1pTENKcGMwNWhUaUlzSW1ac2IyOXlJaXdpYkc5bklpd2lURTR5SWwwc0ltMWhjSEJwYm1keklqb2lRVUZEUVVFc1VVRkJVVU1zUzBGQlR5eFRRVUZWUXl4RlFVRlJReXhGUVVGUlF5eEZRVUZOUXl4RlFVRk5ReXhIUVVOdVJDeEpRVUZKUXl4RlFVRkhReXhGUVVOSVF5eEZRVUZwUWl4RlFVRlVTQ3hGUVVGalJDeEZRVUZQTEVWQlF6ZENTeXhIUVVGUkxFZEJRVXRFTEVkQlFWRXNSVUZEY2tKRkxFVkJRVkZFTEVkQlFWRXNSVUZEYUVKRkxFZEJRVk1zUlVGRFZFTXNSVUZCU1ZRc1JVRkJVVVVzUlVGQlV5eEZRVUZMTEVWQlF6RkNVU3hGUVVGSlZpeEhRVUZSTEVWQlFVa3NSVUZEYUVKWExFVkJRVWxpTEVWQlFVOURMRVZCUVZOVkxFZEJUM2hDTEVsQlRFRkJMRWRCUVV0RExFVkJSVXhRTEVWQlFVbFJMRWRCUVUwc1NVRkJUMGdzUjBGQlZTeEZRVU16UWtjc1MwRkJVVWdzUlVGRFVrRXNSMEZCVTBnc1JVRkRSa2NzUlVGQlVTeEZRVUZIVEN4RlFVRlRMRWxCUVVwQkxFVkJRVmRNTEVWQlFVOURMRVZCUVZOVkxFZEJRVWxCTEVkQlFVdERMRVZCUVVkR0xFZEJRVk1zUjBGTGRrVXNTVUZJUVVvc1JVRkJTVVFzUjBGQlRTeEpRVUZQU3l4SFFVRlZMRVZCUXpOQ1RDeExRVUZSU3l4RlFVTlNRU3hIUVVGVFVDeEZRVU5HVHl4RlFVRlJMRVZCUVVkS0xFVkJRVk1zU1VGQlNrRXNSVUZCVjA0c1JVRkJUME1zUlVGQlUxVXNSMEZCU1VFc1IwRkJTME1zUlVGQlIwWXNSMEZCVXl4SFFVVjJSU3hIUVVGVkxFbEJRVTVNTEVWQlEwWkJMRVZCUVVrc1JVRkJTVWtzVFVGRFNDeERRVUZCTEVkQlFVbEtMRWxCUVUxSExFVkJRMllzVDBGQlQwWXNSVUZCU1ZFc1NVRkJjMEpETEVWQlFVRkJMRWRCUVdSR0xFZEJRVXNzUlVGQlNTeEhRVVUxUWxBc1IwRkJVVlVzUzBGQlMwTXNTVUZCU1N4RlFVRkhaQ3hIUVVOd1FrVXNSMEZCVVVrc1JVRkZWaXhQUVVGUlNTeEhRVUZMTEVWQlFVa3NSMEZCUzFBc1JVRkJTVlVzUzBGQlMwTXNTVUZCU1N4RlFVRkhXaXhGUVVGSlJpeEpRVWMxUTB3c1VVRkJVVzlDTEUxQlFWRXNVMEZCVld4Q0xFVkJRVkZ0UWl4RlFVRlBiRUlzUlVGQlVVTXNSVUZCVFVNc1JVRkJUVU1zUjBGRE0wUXNTVUZCU1VNc1JVRkJSME1zUlVGQlIyTXNSVUZEVG1Jc1JVRkJhVUlzUlVGQlZFZ3NSVUZCWTBRc1JVRkJUeXhGUVVNM1Frc3NSMEZCVVN4SFFVRkxSQ3hIUVVGUkxFVkJRM0pDUlN4RlFVRlJSQ3hIUVVGUkxFVkJRMmhDWVN4RlFVRmxMRXRCUVZSc1FpeEZRVUZqWVN4TFFVRkxReXhKUVVGSkxFZEJRVWtzU1VGQlRVUXNTMEZCUzBNc1NVRkJTU3hIUVVGSkxFbEJRVTBzUlVGRE1VUk9MRVZCUVVsVUxFVkJRVThzUlVGQlMwVXNSVUZCVXl4RlFVTjZRbEVzUlVGQlNWWXNSVUZCVHl4SFFVRkxMRVZCUTJoQ1Z5eEZRVUZKVFN4RlFVRlJMRWRCUVdkQ0xFbEJRVlpCTEVkQlFXVXNSVUZCU1VFc1JVRkJVU3hGUVVGTExFVkJRVWtzUlVGdFF6RkVMRWxCYWtOQlFTeEZRVUZSU0N4TFFVRkxUU3hKUVVGSlNDeEhRVVZpU1N4TlFVRk5TaXhKUVVGVlFTeEpRVUZWU2l4RlFVRkJRU3hIUVVNMVFsUXNSVUZCU1dsQ0xFMUJRVTFLTEVkQlFWTXNSVUZCU1N4RlFVTjJRbVFzUlVGQlNVY3NTVUZGU2tnc1JVRkJTVmNzUzBGQlMxRXNUVUZCVFZJc1MwRkJTMU1zU1VGQlNVNHNSMEZCVTBnc1MwRkJTMVVzUzBGRGJFTlFMRWRCUVZORExFVkJRVWxLTEV0QlFVdERMRWxCUVVrc1IwRkJTVm9zU1VGQlRTeEpRVU5zUTBFc1NVRkRRV1VzUjBGQlN5eEpRVWRNUkN4SFFVUkZaQ3hGUVVGSlNTeEhRVUZUTEVWQlEwNVpMRVZCUVV0RUxFVkJSVXhETEVWQlFVdE1MRXRCUVV0RExFbEJRVWtzUlVGQlJ5eEZRVUZKVWl4SlFVVndRbGNzUjBGQlN5eEpRVU5tWml4SlFVTkJaU3hIUVVGTExFZEJSMGhtTEVWQlFVbEpMRWRCUVZORUxFZEJRMlpHTEVWQlFVa3NSVUZEU2tRc1JVRkJTVWNzUjBGRFMwZ3NSVUZCU1Vrc1IwRkJVeXhIUVVOMFFrZ3NSMEZCVFdFc1JVRkJVVU1zUlVGQlN5eEhRVUZMU2l4TFFVRkxReXhKUVVGSkxFVkJRVWRrTEVkQlEzQkRSU3hIUVVGUlNTeEpRVVZTU0N4RlFVRkpZU3hGUVVGUlNDeExRVUZMUXl4SlFVRkpMRVZCUVVkU0xFVkJRVkVzUjBGQlMwOHNTMEZCUzBNc1NVRkJTU3hGUVVGSFpDeEhRVU5xUkVVc1JVRkJTU3hKUVVsRVJpeEhRVUZSTEVWQlFVZElMRVZCUVU5RExFVkJRVk5WTEVkQlFWTXNTVUZCU2t3c1JVRkJWVXNzUjBGQlMwTXNSVUZCUjA0c1IwRkJTeXhKUVVGTFNDeEhRVUZSTEVkQlNUTkZMRWxCUmtGRkxFVkJRVXRCTEVkQlFVdEdMRVZCUVZGSExFVkJRMnhDUXl4SFFVRlJTaXhGUVVORVNTeEZRVUZQTEVWQlFVZFFMRVZCUVU5RExFVkJRVk5WTEVkQlFWTXNTVUZCU2s0c1JVRkJWVTBzUjBGQlMwTXNSVUZCUjFBc1IwRkJTeXhKUVVGTFJTeEhRVUZSTEVkQlJURkZVQ3hGUVVGUFF5eEZRVUZUVlN4RlFVRkpReXhKUVVGVkxFbEJRVXBESWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwzTjBZV2RwYm1jdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZhV1ZsWlRjMU5DOXBibVJsZUM1cWN5SjkiLCJcImZ1bmN0aW9uXCI9PXR5cGVvZiBPYmplY3QuY3JlYXRlP21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7ZSYmKHQuc3VwZXJfPWUsdC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlLnByb3RvdHlwZSx7Y29uc3RydWN0b3I6e3ZhbHVlOnQsZW51bWVyYWJsZTohMSx3cml0YWJsZTohMCxjb25maWd1cmFibGU6ITB9fSkpfTptb2R1bGUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2lmKGUpe3Quc3VwZXJfPWU7dmFyIG89ZnVuY3Rpb24oKXt9O28ucHJvdG90eXBlPWUucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyBvLHQucHJvdG90eXBlLmNvbnN0cnVjdG9yPXR9fTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltbHVhR1Z5YVhSelgySnliM2R6WlhJdWFuTWlYU3dpYm1GdFpYTWlPbHNpVDJKcVpXTjBJaXdpWTNKbFlYUmxJaXdpYlc5a2RXeGxJaXdpWlhod2IzSjBjeUlzSW1OMGIzSWlMQ0p6ZFhCbGNrTjBiM0lpTENKemRYQmxjbDhpTENKd2NtOTBiM1I1Y0dVaUxDSmpiMjV6ZEhKMVkzUnZjaUlzSW5aaGJIVmxJaXdpWlc1MWJXVnlZV0pzWlNJc0luZHlhWFJoWW14bElpd2lZMjl1Wm1sbmRYSmhZbXhsSWl3aVZHVnRjRU4wYjNJaVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVFMlFpeHRRa0ZCYkVKQkxFOUJRVTlETEU5QlJXaENReXhQUVVGUFF5eFJRVUZWTEZOQlFXdENReXhGUVVGTlF5eEhRVU51UTBFc1NVRkRSa1FzUlVGQlMwVXNUMEZCVTBRc1JVRkRaRVFzUlVGQlMwY3NWVUZCV1ZBc1QwRkJUME1zVDBGQlQwa3NSVUZCVlVVc1ZVRkJWeXhEUVVOc1JFTXNXVUZCWVN4RFFVTllReXhOUVVGUFRDeEZRVU5RVFN4WlFVRlpMRVZCUTFwRExGVkJRVlVzUlVGRFZrTXNZMEZCWXl4UFFVOTBRbFlzVDBGQlQwTXNVVUZCVlN4VFFVRnJRa01zUlVGQlRVTXNSMEZEZGtNc1IwRkJTVUVzUlVGQlZ5eERRVU5pUkN4RlFVRkxSU3hQUVVGVFJDeEZRVU5rTEVsQlFVbFJMRVZCUVZjc1lVRkRaa0VzUlVGQlUwNHNWVUZCV1VZc1JVRkJWVVVzVlVGREwwSklMRVZCUVV0SExGVkJRVmtzU1VGQlNVMHNSVUZEY2tKVUxFVkJRVXRITEZWQlFWVkRMRmxCUVdOS0lpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMM04wWVdkcGJtY3ZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12YVc1b1pYSnBkSE12YVc1b1pYSnBkSE5mWW5KdmQzTmxjaTVxY3lKOSIsImZ1bmN0aW9uIGpCb3hXcmFwcGVyKHQpe2Z1bmN0aW9uIGkobyxzKXtyZXR1cm4gdGhpcy5vcHRpb25zPXtpZDpudWxsLHdpZHRoOlwiYXV0b1wiLGhlaWdodDpcImF1dG9cIixtaW5XaWR0aDpudWxsLG1pbkhlaWdodDpudWxsLG1heFdpZHRoOm51bGwsbWF4SGVpZ2h0Om51bGwscmVzcG9uc2l2ZVdpZHRoOiEwLHJlc3BvbnNpdmVIZWlnaHQ6ITAscmVzcG9uc2l2ZU1pbldpZHRoOjEwMCxyZXNwb25zaXZlTWluSGVpZ2h0OjEwMCxhdHRhY2g6bnVsbCx0cmlnZ2VyOlwiY2xpY2tcIixwcmV2ZW50RGVmYXVsdDohMSxjb250ZW50Om51bGwsZ2V0Q29udGVudDpudWxsLHRpdGxlOm51bGwsZ2V0VGl0bGU6bnVsbCxmb290ZXI6bnVsbCxpc29sYXRlU2Nyb2xsOiEwLGFqYXg6e3VybDpudWxsLGRhdGE6XCJcIixyZWxvYWQ6ITEsZ2V0VVJMOlwiZGF0YS11cmxcIixnZXREYXRhOlwiZGF0YS1hamF4XCIsc2V0Q29udGVudDohMCxsb2FkaW5nQ2xhc3M6ITAsc3Bpbm5lcjohMCxzcGlubmVyRGVsYXk6MzAwLHNwaW5uZXJSZXBvc2l0aW9uOiEwfSxjYW5jZWxBamF4T25DbG9zZTohMCx0YXJnZXQ6bnVsbCxwb3NpdGlvbjp7eDpcImNlbnRlclwiLHk6XCJjZW50ZXJcIn0sb3V0c2lkZTpudWxsLG9mZnNldDowLGF0dHJpYnV0ZXM6e3g6XCJsZWZ0XCIseTpcInRvcFwifSxmaXhlZDohMSxhZGp1c3RQb3NpdGlvbjohMCxhZGp1c3RUcmFja2VyOiExLGFkanVzdERpc3RhbmNlOjUscmVwb3NpdGlvbjohMCxyZXBvc2l0aW9uT25PcGVuOiEwLHJlcG9zaXRpb25PbkNvbnRlbnQ6ITAsaG9sZFBvc2l0aW9uOiEwLHBvaW50ZXI6ITEscG9pbnRUbzpcInRhcmdldFwiLGZhZGU6MTgwLGFuaW1hdGlvbjpudWxsLHRoZW1lOlwiRGVmYXVsdFwiLGFkZENsYXNzOm51bGwsb3ZlcmxheTohMSxvdmVybGF5Q2xhc3M6bnVsbCx6SW5kZXg6MWU0LGRlbGF5T3BlbjowLGRlbGF5Q2xvc2U6MCxjbG9zZU9uRXNjOiExLGNsb3NlT25DbGljazohMSxjbG9zZU9uTW91c2VsZWF2ZTohMSxjbG9zZUJ1dHRvbjohMSxhcHBlbmRUbzp0KFwiYm9keVwiKSxjcmVhdGVPbkluaXQ6ITEsYmxvY2tTY3JvbGw6ITEsYmxvY2tTY3JvbGxBZGp1c3Q6ITAsZHJhZ2dhYmxlOiExLGRyYWdPdmVyOiEwLGF1dG9DbG9zZTohMSxkZWxheU9uSG92ZXI6ITEsc2hvd0NvdW50ZG93bjohMSxwcmVsb2FkQXVkaW86ITAsYXVkaW86bnVsbCx2b2x1bWU6MTAwLG9uSW5pdDpudWxsLG9uQXR0YWNoOm51bGwsb25Qb3NpdGlvbjpudWxsLG9uQ3JlYXRlZDpudWxsLG9uT3BlbjpudWxsLG9uQ2xvc2U6bnVsbCxvbkNsb3NlQ29tcGxldGU6bnVsbCxvbkRyYWdTdGFydDpudWxsLG9uRHJhZ0VuZDpudWxsfSx0aGlzLl9wbHVnaW5PcHRpb25zPXtUb29sdGlwOntnZXRDb250ZW50OlwidGl0bGVcIix0cmlnZ2VyOlwibW91c2VlbnRlclwiLHBvc2l0aW9uOnt4OlwiY2VudGVyXCIseTpcInRvcFwifSxvdXRzaWRlOlwieVwiLHBvaW50ZXI6ITB9LE1vdXNlOntyZXNwb25zaXZlV2lkdGg6ITEscmVzcG9uc2l2ZUhlaWdodDohMSxhZGp1c3RQb3NpdGlvbjpcImZsaXBcIix0YXJnZXQ6XCJtb3VzZVwiLHRyaWdnZXI6XCJtb3VzZWVudGVyXCIscG9zaXRpb246e3g6XCJyaWdodFwiLHk6XCJib3R0b21cIn0sb3V0c2lkZTpcInh5XCIsb2Zmc2V0OjV9LE1vZGFsOnt0YXJnZXQ6dCh3aW5kb3cpLGZpeGVkOiEwLGJsb2NrU2Nyb2xsOiEwLGNsb3NlT25Fc2M6ITAsY2xvc2VPbkNsaWNrOlwib3ZlcmxheVwiLGNsb3NlQnV0dG9uOiEwLG92ZXJsYXk6ITAsYW5pbWF0aW9uOlwiem9vbUluXCJ9fSx0aGlzLm9wdGlvbnM9dC5leHRlbmQoITAsdGhpcy5vcHRpb25zLHRoaXMuX3BsdWdpbk9wdGlvbnNbb118fGkuX3BsdWdpbk9wdGlvbnNbb10scyksXCJzdHJpbmdcIj09dC50eXBlKG8pJiYodGhpcy50eXBlPW8pLHRoaXMuaXNUb3VjaERldmljZT1mdW5jdGlvbigpe3ZhciB0LGk9XCIgLXdlYmtpdC0gLW1vei0gLW8tIC1tcy0gXCIuc3BsaXQoXCIgXCIpO3JldHVybiEhKFwib250b3VjaHN0YXJ0XCJpbiB3aW5kb3d8fHdpbmRvdy5Eb2N1bWVudFRvdWNoJiZkb2N1bWVudCBpbnN0YW5jZW9mIERvY3VtZW50VG91Y2gpfHwodD1pPVtcIihcIixpLmpvaW4oXCJ0b3VjaC1lbmFibGVkKSwoXCIpLFwiaGVhcnR6XCIsXCIpXCJdLmpvaW4oXCJcIiksd2luZG93Lm1hdGNoTWVkaWEodCkubWF0Y2hlcyl9KCksdGhpcy5pc1RvdWNoRGV2aWNlJiZcIm1vdXNlZW50ZXJcIj09PXRoaXMub3B0aW9ucy50cmlnZ2VyJiYhMT09PXRoaXMub3B0aW9ucy5jbG9zZU9uQ2xpY2smJih0aGlzLm9wdGlvbnMuY2xvc2VPbkNsaWNrPVwiYm9keVwiKSx0aGlzLl9maXJlRXZlbnQ9ZnVuY3Rpb24odCxpKXt0aGlzLm9wdGlvbnNbXCJfXCIrdF0mJnRoaXMub3B0aW9uc1tcIl9cIit0XS5iaW5kKHRoaXMpKGkpLHRoaXMub3B0aW9uc1t0XSYmdGhpcy5vcHRpb25zW3RdLmJpbmQodGhpcykoaSl9LG51bGw9PT10aGlzLm9wdGlvbnMuaWQmJih0aGlzLm9wdGlvbnMuaWQ9XCJqQm94XCIraS5fZ2V0VW5pcXVlSUQoKSksdGhpcy5pZD10aGlzLm9wdGlvbnMuaWQsKFwiY2VudGVyXCI9PXRoaXMub3B0aW9ucy5wb3NpdGlvbi54JiZcInhcIj09dGhpcy5vcHRpb25zLm91dHNpZGV8fFwiY2VudGVyXCI9PXRoaXMub3B0aW9ucy5wb3NpdGlvbi55JiZcInlcIj09dGhpcy5vcHRpb25zLm91dHNpZGUpJiYodGhpcy5vcHRpb25zLm91dHNpZGU9bnVsbCksXCJ0YXJnZXRcIiE9dGhpcy5vcHRpb25zLnBvaW50VG98fHRoaXMub3B0aW9ucy5vdXRzaWRlJiZcInh5XCIhPXRoaXMub3B0aW9ucy5vdXRzaWRlfHwodGhpcy5vcHRpb25zLnBvaW50ZXI9ITEpLFwib2JqZWN0XCIhPXQudHlwZSh0aGlzLm9wdGlvbnMub2Zmc2V0KT90aGlzLm9wdGlvbnMub2Zmc2V0PXt4OnRoaXMub3B0aW9ucy5vZmZzZXQseTp0aGlzLm9wdGlvbnMub2Zmc2V0fTp0aGlzLm9wdGlvbnMub2Zmc2V0PXQuZXh0ZW5kKHt4OjAseTowfSx0aGlzLm9wdGlvbnMub2Zmc2V0KSxcIm9iamVjdFwiIT10LnR5cGUodGhpcy5vcHRpb25zLmFkanVzdERpc3RhbmNlKT90aGlzLm9wdGlvbnMuYWRqdXN0RGlzdGFuY2U9e3RvcDp0aGlzLm9wdGlvbnMuYWRqdXN0RGlzdGFuY2UscmlnaHQ6dGhpcy5vcHRpb25zLmFkanVzdERpc3RhbmNlLGJvdHRvbTp0aGlzLm9wdGlvbnMuYWRqdXN0RGlzdGFuY2UsbGVmdDp0aGlzLm9wdGlvbnMuYWRqdXN0RGlzdGFuY2V9OnRoaXMub3B0aW9ucy5hZGp1c3REaXN0YW5jZT10LmV4dGVuZCh7dG9wOjUsbGVmdDo1LHJpZ2h0OjUsYm90dG9tOjV9LHRoaXMub3B0aW9ucy5hZGp1c3REaXN0YW5jZSksdGhpcy5vdXRzaWRlPSEoIXRoaXMub3B0aW9ucy5vdXRzaWRlfHxcInh5XCI9PXRoaXMub3B0aW9ucy5vdXRzaWRlKSYmdGhpcy5vcHRpb25zLnBvc2l0aW9uW3RoaXMub3B0aW9ucy5vdXRzaWRlXSx0aGlzLmFsaWduPXRoaXMub3V0c2lkZXx8KFwiY2VudGVyXCIhPXRoaXMub3B0aW9ucy5wb3NpdGlvbi55JiZcIm51bWJlclwiIT10LnR5cGUodGhpcy5vcHRpb25zLnBvc2l0aW9uLnkpP3RoaXMub3B0aW9ucy5wb3NpdGlvbi54OlwiY2VudGVyXCIhPXRoaXMub3B0aW9ucy5wb3NpdGlvbi54JiZcIm51bWJlclwiIT10LnR5cGUodGhpcy5vcHRpb25zLnBvc2l0aW9uLngpP3RoaXMub3B0aW9ucy5wb3NpdGlvbi55OnRoaXMub3B0aW9ucy5hdHRyaWJ1dGVzLngpLGkuekluZGV4TWF4PU1hdGgubWF4KGkuekluZGV4TWF4fHwwLFwiYXV0b1wiPT09dGhpcy5vcHRpb25zLnpJbmRleD8xZTQ6dGhpcy5vcHRpb25zLnpJbmRleCksXCJhdXRvXCI9PT10aGlzLm9wdGlvbnMuekluZGV4JiYodGhpcy5hZGp1c3RaSW5kZXhPbk9wZW49ITAsaS56SW5kZXhNYXgrPTIsdGhpcy5vcHRpb25zLnpJbmRleD1pLnpJbmRleE1heCx0aGlzLnRydWVNb2RhbD10aGlzLm9wdGlvbnMub3ZlcmxheSksdGhpcy5fZ2V0T3BwPWZ1bmN0aW9uKHQpe3JldHVybntsZWZ0OlwicmlnaHRcIixyaWdodDpcImxlZnRcIix0b3A6XCJib3R0b21cIixib3R0b206XCJ0b3BcIix4OlwieVwiLHk6XCJ4XCJ9W3RdfSx0aGlzLl9nZXRYWT1mdW5jdGlvbih0KXtyZXR1cm57bGVmdDpcInhcIixyaWdodDpcInhcIix0b3A6XCJ5XCIsYm90dG9tOlwieVwiLGNlbnRlcjpcInhcIn1bdF19LHRoaXMuX2dldFRMPWZ1bmN0aW9uKHQpe3JldHVybntsZWZ0OlwibGVmdFwiLHJpZ2h0OlwibGVmdFwiLHRvcDpcInRvcFwiLGJvdHRvbTpcInRvcFwiLGNlbnRlcjpcImxlZnRcIix4OlwibGVmdFwiLHk6XCJ0b3BcIn1bdF19LHRoaXMuX2dldEludD1mdW5jdGlvbihpLG8pe3JldHVyblwiYXV0b1wiPT1pP1wiYXV0b1wiOmkmJlwic3RyaW5nXCI9PXQudHlwZShpKSYmXCIlXCI9PWkuc2xpY2UoLTEpP3Qod2luZG93KVtcImhlaWdodFwiPT1vP1wiaW5uZXJIZWlnaHRcIjpcImlubmVyV2lkdGhcIl0oKSpwYXJzZUludChpLnJlcGxhY2UoXCIlXCIsXCJcIikpLzEwMDppfSx0aGlzLl9jcmVhdGVTVkc9ZnVuY3Rpb24oaSxvKXt2YXIgcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiLGkpO3JldHVybiB0LmVhY2gobyxmdW5jdGlvbih0LGkpe3Muc2V0QXR0cmlidXRlKGlbMF0saVsxXXx8XCJcIil9KSxzfSx0aGlzLl9pc29sYXRlU2Nyb2xsPWZ1bmN0aW9uKHQpe3QmJnQubGVuZ3RoJiZ0Lm9uKFwiRE9NTW91c2VTY3JvbGwuakJveElzb2xhdGVTY3JvbGwgbW91c2V3aGVlbC5qQm94SXNvbGF0ZVNjcm9sbFwiLGZ1bmN0aW9uKGkpe3ZhciBvPWkud2hlZWxEZWx0YXx8aS5vcmlnaW5hbEV2ZW50JiZpLm9yaWdpbmFsRXZlbnQud2hlZWxEZWx0YXx8LWkuZGV0YWlsLHM9MDw9dGhpcy5zY3JvbGxUb3ArdC5vdXRlckhlaWdodCgpLXRoaXMuc2Nyb2xsSGVpZ2h0LGU9dGhpcy5zY3JvbGxUb3A8PTA7KG88MCYmc3x8MDxvJiZlKSYmaS5wcmV2ZW50RGVmYXVsdCgpfSl9LHRoaXMuX3NldFRpdGxlV2lkdGg9ZnVuY3Rpb24oKXtpZighdGhpcy50aXRsZUNvbnRhaW5lcnx8XCJhdXRvXCI9PXRoaXMuY29udGVudFswXS5zdHlsZS53aWR0aCYmIXRoaXMuY29udGVudFswXS5zdHlsZS5tYXhXaWR0aClyZXR1cm4gbnVsbDt2YXIgdDtcIm5vbmVcIj09dGhpcy53cmFwcGVyLmNzcyhcImRpc3BsYXlcIik/KHRoaXMud3JhcHBlci5jc3MoXCJkaXNwbGF5XCIsXCJibG9ja1wiKSx0PXRoaXMuY29udGVudC5vdXRlcldpZHRoKCksdGhpcy53cmFwcGVyLmNzcyhcImRpc3BsYXlcIixcIm5vbmVcIikpOnQ9dGhpcy5jb250ZW50Lm91dGVyV2lkdGgoKSx0aGlzLnRpdGxlQ29udGFpbmVyLmNzcyh7bWF4V2lkdGg6TWF0aC5tYXgodCxwYXJzZUludCh0aGlzLmNvbnRlbnRbMF0uc3R5bGUubWF4V2lkdGgpKXx8bnVsbH0pfSx0aGlzLl9kcmFnZ2FibGU9ZnVuY3Rpb24oKXtpZighdGhpcy5vcHRpb25zLmRyYWdnYWJsZSlyZXR1cm4hMTt2YXIgbz1cInRpdGxlXCI9PXRoaXMub3B0aW9ucy5kcmFnZ2FibGU/dGhpcy50aXRsZUNvbnRhaW5lcjp0aGlzLm9wdGlvbnMuZHJhZ2dhYmxlIGluc3RhbmNlb2YgdD90aGlzLm9wdGlvbnMuZHJhZ2dhYmxlOlwic3RyaW5nXCI9PXQudHlwZSh0aGlzLm9wdGlvbnMuZHJhZ2dhYmxlKT90KHRoaXMub3B0aW9ucy5kcmFnZ2FibGUpOnRoaXMud3JhcHBlcjtyZXR1cm4hKCEobyYmbyBpbnN0YW5jZW9mIHQmJm8ubGVuZ3RoKXx8by5kYXRhKFwiakJveC1kcmFnZ2FibGVcIikpJiYoby5hZGRDbGFzcyhcImpCb3gtZHJhZ2dhYmxlXCIpLmRhdGEoXCJqQm94LWRyYWdnYWJsZVwiLCEwKS5vbihcInRvdWNoc3RhcnQgbW91c2Vkb3duXCIsZnVuY3Rpb24obyl7dmFyIHMsZSxuLGEsaCxyOzI9PW8uYnV0dG9ufHx0KG8udGFyZ2V0KS5oYXNDbGFzcyhcImpCb3gtbm9EcmFnXCIpfHx0KG8udGFyZ2V0KS5wYXJlbnRzKFwiLmpCb3gtbm9EcmFnXCIpLmxlbmd0aD9cInRvdWNoc3RhcnRcIj09by50eXBlJiYodChvLnRhcmdldCkuaGFzQ2xhc3MoXCJqQm94LWNsb3NlQnV0dG9uXCIpfHx0KG8udGFyZ2V0KS5wYXJlbnRzKFwiLmpCb3gtY2xvc2VCdXR0b25cIikubGVuZ3RoKSYmdGhpcy5jbG9zZSh7aWdub3JlRGVsYXk6ITB9KTooZT1cInRvdWNoc3RhcnRcIj09by50eXBlJiZvLnRvdWNoZXMmJm8udG91Y2hlc1swXT8ocz1vLnRvdWNoZXNbMF0ucGFnZVgsby50b3VjaGVzWzBdLnBhZ2VZKToocz1vLnBhZ2VYLG8ucGFnZVkpLHRoaXMuZHJhZ2dpbmdTdGFydFg9cyx0aGlzLmRyYWdnaW5nU3RhcnRZPWUsdGhpcy5vcHRpb25zLmRyYWdPdmVyJiYhdGhpcy50cnVlTW9kYWwmJnBhcnNlSW50KHRoaXMud3JhcHBlci5jc3MoXCJ6SW5kZXhcIiksMTApPD1pLnpJbmRleE1heERyYWdvdmVyJiYoaS56SW5kZXhNYXhEcmFnb3Zlcis9MSx0aGlzLndyYXBwZXIuY3NzKFwiekluZGV4XCIsaS56SW5kZXhNYXhEcmFnb3ZlcikpLG49dGhpcy53cmFwcGVyLm91dGVySGVpZ2h0KCksYT10aGlzLndyYXBwZXIub3V0ZXJXaWR0aCgpLGg9dGhpcy53cmFwcGVyLm9mZnNldCgpLnRvcCtuLWUscj10aGlzLndyYXBwZXIub2Zmc2V0KCkubGVmdCthLXMsdChkb2N1bWVudCkub24oXCJ0b3VjaG1vdmUuakJveC1kcmFnZ2FibGUtXCIrdGhpcy5pZCtcIiBtb3VzZW1vdmUuakJveC1kcmFnZ2FibGUtXCIrdGhpcy5pZCxmdW5jdGlvbih0KXt2YXIgaTt0PVwidG91Y2htb3ZlXCI9PXQudHlwZSYmdC50b3VjaGVzJiZ0LnRvdWNoZXNbMF0/KGk9dC50b3VjaGVzWzBdLnBhZ2VYLHQudG91Y2hlc1swXS5wYWdlWSk6KGk9dC5wYWdlWCx0LnBhZ2VZKTt0aGlzLmRyYWdnaW5nfHx0aGlzLmRyYWdnaW5nU3RhcnRYPT1pfHx0aGlzLmRyYWdnaW5nU3RhcnRZPT10fHwodGhpcy5fZmlyZUV2ZW50KFwib25EcmFnU3RhcnRcIiksdGhpcy5kcmFnZ2luZz0hMCksdGhpcy53cmFwcGVyLm9mZnNldCh7dG9wOnQraC1uLGxlZnQ6aStyLWF9KX0uYmluZCh0aGlzKSksby5wcmV2ZW50RGVmYXVsdCgpKX0uYmluZCh0aGlzKSkub24oXCJ0b3VjaGVuZCBtb3VzZXVwXCIsZnVuY3Rpb24oKXt2YXIgaTt0KGRvY3VtZW50KS5vZmYoXCJ0b3VjaG1vdmUuakJveC1kcmFnZ2FibGUtXCIrdGhpcy5pZCtcIiBtb3VzZW1vdmUuakJveC1kcmFnZ2FibGUtXCIrdGhpcy5pZCksdGhpcy5kcmFnZ2luZyYmdGhpcy5fZmlyZUV2ZW50KFwib25EcmFnRW5kXCIpLHRoaXMuZHJhZ2dpbmc9ITEsXCJNb2RhbFwiIT10aGlzLnR5cGUmJlwiQ29uZmlybVwiIT10aGlzLnR5cGV8fCF0aGlzLm9wdGlvbnMuaG9sZFBvc2l0aW9ufHwoaT17eDooaT10KFwiI1wiK3RoaXMuaWQpLm9mZnNldCgpKS5sZWZ0LXQoZG9jdW1lbnQpLnNjcm9sbExlZnQoKSx5OmkudG9wLXQoZG9jdW1lbnQpLnNjcm9sbFRvcCgpfSx0aGlzLnBvc2l0aW9uKHtwb3NpdGlvbjppLG9mZnNldDp7eDowLHk6MH19KSl9LmJpbmQodGhpcykpLHRoaXMudHJ1ZU1vZGFsfHwoaS56SW5kZXhNYXhEcmFnb3Zlcj1pLnpJbmRleE1heERyYWdvdmVyP01hdGgubWF4KGkuekluZGV4TWF4RHJhZ292ZXIsdGhpcy5vcHRpb25zLnpJbmRleCk6dGhpcy5vcHRpb25zLnpJbmRleCksdGhpcyl9LHRoaXMuX2NyZWF0ZT1mdW5jdGlvbigpe3ZhciBpO3RoaXMud3JhcHBlcnx8KHRoaXMud3JhcHBlcj10KFwiPGRpdi8+XCIse2lkOnRoaXMuaWQsY2xhc3M6XCJqQm94LXdyYXBwZXJcIisodGhpcy50eXBlP1wiIGpCb3gtXCIrdGhpcy50eXBlOlwiXCIpKyh0aGlzLm9wdGlvbnMudGhlbWU/XCIgakJveC1cIit0aGlzLm9wdGlvbnMudGhlbWU6XCJcIikrKHRoaXMub3B0aW9ucy5hZGRDbGFzcz9cIiBcIit0aGlzLm9wdGlvbnMuYWRkQ2xhc3M6XCJcIil9KS5jc3Moe3Bvc2l0aW9uOnRoaXMub3B0aW9ucy5maXhlZD9cImZpeGVkXCI6XCJhYnNvbHV0ZVwiLGRpc3BsYXk6XCJub25lXCIsb3BhY2l0eTowLHpJbmRleDp0aGlzLm9wdGlvbnMuekluZGV4fSkuZGF0YShcImpCb3hcIix0aGlzKSx0aGlzLm9wdGlvbnMuY2xvc2VPbk1vdXNlbGVhdmUmJnRoaXMud3JhcHBlci5vbihcIm1vdXNlbGVhdmVcIixmdW5jdGlvbihpKXshdGhpcy5zb3VyY2V8fGkucmVsYXRlZFRhcmdldCE9dGhpcy5zb3VyY2VbMF0mJi0xPT09dC5pbkFycmF5KHRoaXMuc291cmNlWzBdLHQoaS5yZWxhdGVkVGFyZ2V0KS5wYXJlbnRzKFwiKlwiKSkmJnRoaXMuY2xvc2UoKX0uYmluZCh0aGlzKSksXCJib3hcIj09dGhpcy5vcHRpb25zLmNsb3NlT25DbGljayYmdGhpcy53cmFwcGVyLm9uKFwiY2xpY2sgdGFwXCIsZnVuY3Rpb24oKXt0aGlzLmNsb3NlKHtpZ25vcmVEZWxheTohMH0pfS5iaW5kKHRoaXMpKSx0aGlzLmNvbnRhaW5lcj10KCc8ZGl2IGNsYXNzPVwiakJveC1jb250YWluZXJcIi8+JykuYXBwZW5kVG8odGhpcy53cmFwcGVyKSx0aGlzLmNvbnRlbnQ9dCgnPGRpdiBjbGFzcz1cImpCb3gtY29udGVudFwiLz4nKS5hcHBlbmRUbyh0aGlzLmNvbnRhaW5lciksdGhpcy5vcHRpb25zLmZvb3RlciYmKHRoaXMuZm9vdGVyPXQoJzxkaXYgY2xhc3M9XCJqQm94LWZvb3RlclwiLz4nKS5hcHBlbmQodGhpcy5vcHRpb25zLmZvb3RlcikuYXBwZW5kVG8odGhpcy5jb250YWluZXIpKSx0aGlzLm9wdGlvbnMuaXNvbGF0ZVNjcm9sbCYmdGhpcy5faXNvbGF0ZVNjcm9sbCh0aGlzLmNvbnRlbnQpLHRoaXMub3B0aW9ucy5jbG9zZUJ1dHRvbiYmKChpPXRoaXMuX2NyZWF0ZVNWRyhcInN2Z1wiLFtbXCJ2aWV3Qm94XCIsXCIwIDAgMjQgMjRcIl1dKSkuYXBwZW5kQ2hpbGQodGhpcy5fY3JlYXRlU1ZHKFwicGF0aFwiLFtbXCJkXCIsXCJNMjIuMiw0YzAsMCwwLjUsMC42LDAsMS4xbC02LjgsNi44bDYuOSw2LjljMC41LDAuNSwwLDEuMSwwLDEuMUwyMCwyMi4zYzAsMC0wLjYsMC41LTEuMSwwTDEyLDE1LjRsLTYuOSw2LjljLTAuNSwwLjUtMS4xLDAtMS4xLDBMMS43LDIwYzAsMC0wLjUtMC42LDAtMS4xTDguNiwxMkwxLjcsNS4xQzEuMiw0LjYsMS43LDQsMS43LDRMNCwxLjdjMCwwLDAuNi0wLjUsMS4xLDBMMTIsOC41bDYuOC02LjhjMC41LTAuNSwxLjEsMCwxLjEsMEwyMi4yLDR6XCJdXSkpLHRoaXMuY2xvc2VCdXR0b249dCgnPGRpdiBjbGFzcz1cImpCb3gtY2xvc2VCdXR0b24gakJveC1ub0RyYWdcIi8+Jykub24oXCJjbGljayB0YXBcIixmdW5jdGlvbih0KXt0aGlzLmNsb3NlKHtpZ25vcmVEZWxheTohMH0pfS5iaW5kKHRoaXMpKS5hcHBlbmQoaSksXCJib3hcIiE9dGhpcy5vcHRpb25zLmNsb3NlQnV0dG9uJiYoITAhPT10aGlzLm9wdGlvbnMuY2xvc2VCdXR0b258fHRoaXMub3B0aW9ucy5vdmVybGF5fHx0aGlzLm9wdGlvbnMudGl0bGV8fHRoaXMub3B0aW9ucy5nZXRUaXRsZSl8fCh0aGlzLndyYXBwZXIuYWRkQ2xhc3MoXCJqQm94LWNsb3NlQnV0dG9uLWJveFwiKSx0aGlzLmNsb3NlQnV0dG9uLmFwcGVuZFRvKHRoaXMuY29udGFpbmVyKSkpLHRoaXMud3JhcHBlci5hcHBlbmRUbyh0aGlzLm9wdGlvbnMuYXBwZW5kVG8pLHRoaXMud3JhcHBlci5maW5kKFwiLmpCb3gtY2xvc2VCdXR0b25cIikubGVuZ3RoJiZ0LmVhY2goW1widG9wXCIsXCJyaWdodFwiLFwiYm90dG9tXCIsXCJsZWZ0XCJdLGZ1bmN0aW9uKHQsaSl7dGhpcy53cmFwcGVyLmZpbmQoXCIuakJveC1jbG9zZUJ1dHRvblwiKS5jc3MoaSkmJlwiYXV0b1wiIT10aGlzLndyYXBwZXIuZmluZChcIi5qQm94LWNsb3NlQnV0dG9uXCIpLmNzcyhpKSYmKHRoaXMub3B0aW9ucy5hZGp1c3REaXN0YW5jZVtpXT1NYXRoLm1heCh0aGlzLm9wdGlvbnMuYWRqdXN0RGlzdGFuY2VbaV0sdGhpcy5vcHRpb25zLmFkanVzdERpc3RhbmNlW2ldKy0xKigocGFyc2VJbnQodGhpcy53cmFwcGVyLmZpbmQoXCIuakJveC1jbG9zZUJ1dHRvblwiKS5jc3MoaSkpfHwwKSsocGFyc2VJbnQodGhpcy5jb250YWluZXIuY3NzKFwiYm9yZGVyLVwiK2krXCItd2lkdGhcIikpfHwwKSkpKX0uYmluZCh0aGlzKSksdGhpcy5vcHRpb25zLnBvaW50ZXImJih0aGlzLnBvaW50ZXI9e3Bvc2l0aW9uOlwidGFyZ2V0XCIhPXRoaXMub3B0aW9ucy5wb2ludFRvP3RoaXMub3B0aW9ucy5wb2ludFRvOnRoaXMuX2dldE9wcCh0aGlzLm91dHNpZGUpLHh5OlwidGFyZ2V0XCIhPXRoaXMub3B0aW9ucy5wb2ludFRvP3RoaXMuX2dldFhZKHRoaXMub3B0aW9ucy5wb2ludFRvKTp0aGlzLl9nZXRYWSh0aGlzLm91dHNpZGUpLGFsaWduOlwiY2VudGVyXCIsb2Zmc2V0OjB9LHRoaXMucG9pbnRlci5lbGVtZW50PXQoJzxkaXYgY2xhc3M9XCJqQm94LXBvaW50ZXIgakJveC1wb2ludGVyLScrdGhpcy5wb2ludGVyLnBvc2l0aW9uKydcIi8+JykuYXBwZW5kVG8odGhpcy53cmFwcGVyKSx0aGlzLnBvaW50ZXIuZGltZW5zaW9ucz17eDp0aGlzLnBvaW50ZXIuZWxlbWVudC5vdXRlcldpZHRoKCkseTp0aGlzLnBvaW50ZXIuZWxlbWVudC5vdXRlckhlaWdodCgpfSxcInN0cmluZ1wiPT10LnR5cGUodGhpcy5vcHRpb25zLnBvaW50ZXIpJiYoKGk9dGhpcy5vcHRpb25zLnBvaW50ZXIuc3BsaXQoXCI6XCIpKVswXSYmKHRoaXMucG9pbnRlci5hbGlnbj1pWzBdKSxpWzFdJiYodGhpcy5wb2ludGVyLm9mZnNldD1wYXJzZUludChpWzFdKSkpLHRoaXMucG9pbnRlci5hbGlnbkF0dHJpYnV0ZT1cInhcIj09dGhpcy5wb2ludGVyLnh5P1wiYm90dG9tXCI9PXRoaXMucG9pbnRlci5hbGlnbj9cImJvdHRvbVwiOlwidG9wXCI6XCJyaWdodFwiPT10aGlzLnBvaW50ZXIuYWxpZ24/XCJyaWdodFwiOlwibGVmdFwiLHRoaXMud3JhcHBlci5jc3MoXCJwYWRkaW5nLVwiK3RoaXMucG9pbnRlci5wb3NpdGlvbix0aGlzLnBvaW50ZXIuZGltZW5zaW9uc1t0aGlzLnBvaW50ZXIueHldKSx0aGlzLnBvaW50ZXIuZWxlbWVudC5jc3ModGhpcy5wb2ludGVyLmFsaWduQXR0cmlidXRlLFwiY2VudGVyXCI9PXRoaXMucG9pbnRlci5hbGlnbj9cIjUwJVwiOjApLmNzcyhcIm1hcmdpbi1cIit0aGlzLnBvaW50ZXIuYWxpZ25BdHRyaWJ1dGUsdGhpcy5wb2ludGVyLm9mZnNldCksdGhpcy5wb2ludGVyLm1hcmdpbj17fSx0aGlzLnBvaW50ZXIubWFyZ2luW1wibWFyZ2luLVwiK3RoaXMucG9pbnRlci5hbGlnbkF0dHJpYnV0ZV09dGhpcy5wb2ludGVyLm9mZnNldCxcImNlbnRlclwiPT10aGlzLnBvaW50ZXIuYWxpZ24mJnRoaXMucG9pbnRlci5lbGVtZW50LmNzcyhcInRyYW5zZm9ybVwiLFwidHJhbnNsYXRlKFwiKyhcInlcIj09dGhpcy5wb2ludGVyLnh5Py0uNSp0aGlzLnBvaW50ZXIuZGltZW5zaW9ucy54K1wicHhcIjowKStcIiwgXCIrKFwieFwiPT10aGlzLnBvaW50ZXIueHk/LS41KnRoaXMucG9pbnRlci5kaW1lbnNpb25zLnkrXCJweFwiOjApK1wiKVwiKSx0aGlzLnBvaW50ZXIuZWxlbWVudC5jc3MoXCJ4XCI9PXRoaXMucG9pbnRlci54eT9cIndpZHRoXCI6XCJoZWlnaHRcIixwYXJzZUludCh0aGlzLnBvaW50ZXIuZGltZW5zaW9uc1t0aGlzLnBvaW50ZXIueHldKStwYXJzZUludCh0aGlzLmNvbnRhaW5lci5jc3MoXCJib3JkZXItXCIrdGhpcy5wb2ludGVyLmFsaWduQXR0cmlidXRlK1wiLXdpZHRoXCIpKSksdGhpcy53cmFwcGVyLmFkZENsYXNzKFwiakJveC1wb2ludGVyUG9zaXRpb24tXCIrdGhpcy5wb2ludGVyLnBvc2l0aW9uKSksdGhpcy5zZXRDb250ZW50KHRoaXMub3B0aW9ucy5jb250ZW50LCEwKSx0aGlzLnNldFRpdGxlKHRoaXMub3B0aW9ucy50aXRsZSwhMCksdGhpcy5vcHRpb25zLmRyYWdnYWJsZSYmdGhpcy5fZHJhZ2dhYmxlKCksdGhpcy5fZmlyZUV2ZW50KFwib25DcmVhdGVkXCIpKX0sdGhpcy5vcHRpb25zLmNyZWF0ZU9uSW5pdCYmdGhpcy5fY3JlYXRlKCksdGhpcy5vcHRpb25zLmF0dGFjaCYmdGhpcy5hdHRhY2goKSx0aGlzLl9hdHRhY2hFdmVudHM9ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMuZGVsYXlPbkhvdmVyJiZ0KFwiI1wiK3RoaXMuaWQpLm9uKFwibW91c2VlbnRlclwiLGZ1bmN0aW9uKHQpe3RoaXMuaXNIb3ZlcmVkPSEwfS5iaW5kKHRoaXMpKSx0aGlzLm9wdGlvbnMuZGVsYXlPbkhvdmVyJiZ0KFwiI1wiK3RoaXMuaWQpLm9uKFwibW91c2VsZWF2ZVwiLGZ1bmN0aW9uKHQpe3RoaXMuaXNIb3ZlcmVkPSExfS5iaW5kKHRoaXMpKSwodGhpcy5vcHRpb25zLmFkanVzdFBvc2l0aW9ufHx0aGlzLm9wdGlvbnMucmVwb3NpdGlvbikmJiF0aGlzLmZpeGVkJiZ0aGlzLm91dHNpZGUmJih0aGlzLm9wdGlvbnMuYWRqdXN0VHJhY2tlciYmdCh3aW5kb3cpLm9uKFwic2Nyb2xsLmpCb3gtXCIrdGhpcy5pZCxmdW5jdGlvbih0KXt0aGlzLnBvc2l0aW9uKCl9LmJpbmQodGhpcykpLCh0aGlzLm9wdGlvbnMuYWRqdXN0UG9zaXRpb258fHRoaXMub3B0aW9ucy5yZXBvc2l0aW9uKSYmdCh3aW5kb3cpLm9uKFwicmVzaXplLmpCb3gtXCIrdGhpcy5pZCxmdW5jdGlvbih0KXt0aGlzLnBvc2l0aW9uKCl9LmJpbmQodGhpcykpKSxcIm1vdXNlXCI9PXRoaXMub3B0aW9ucy50YXJnZXQmJnQoXCJib2R5XCIpLm9uKFwibW91c2Vtb3ZlLmpCb3gtXCIrdGhpcy5pZCxmdW5jdGlvbih0KXt0aGlzLnBvc2l0aW9uKHttb3VzZVRhcmdldDp7dG9wOnQucGFnZVksbGVmdDp0LnBhZ2VYfX0pfS5iaW5kKHRoaXMpKX0sdGhpcy5fZGV0YWNoRXZlbnRzPWZ1bmN0aW9uKCl7dGhpcy5vcHRpb25zLmNsb3NlT25Fc2MmJnQoZG9jdW1lbnQpLm9mZihcImtleXVwLmpCb3gtXCIrdGhpcy5pZCksITAhPT10aGlzLm9wdGlvbnMuY2xvc2VPbkNsaWNrJiZcImJvZHlcIiE9dGhpcy5vcHRpb25zLmNsb3NlT25DbGlja3x8dChkb2N1bWVudCkub2ZmKFwiY2xpY2suakJveC1cIit0aGlzLmlkK1wiIHRhcC5qQm94LVwiK3RoaXMuaWQpLHRoaXMub3B0aW9ucy5hZGp1c3RUcmFja2VyJiZ0KHdpbmRvdykub2ZmKFwic2Nyb2xsLmpCb3gtXCIrdGhpcy5pZCksKHRoaXMub3B0aW9ucy5hZGp1c3RQb3NpdGlvbnx8dGhpcy5vcHRpb25zLnJlcG9zaXRpb24pJiZ0KHdpbmRvdykub2ZmKFwicmVzaXplLmpCb3gtXCIrdGhpcy5pZCksXCJtb3VzZVwiPT10aGlzLm9wdGlvbnMudGFyZ2V0JiZ0KFwiYm9keVwiKS5vZmYoXCJtb3VzZW1vdmUuakJveC1cIit0aGlzLmlkKX0sdGhpcy5fc2hvd092ZXJsYXk9ZnVuY3Rpb24oKXt0aGlzLm92ZXJsYXl8fCh0aGlzLm92ZXJsYXk9dCgnPGRpdiBpZD1cIicrdGhpcy5pZCsnLW92ZXJsYXlcIi8+JykuYWRkQ2xhc3MoXCJqQm94LW92ZXJsYXlcIisodGhpcy50eXBlP1wiIGpCb3gtb3ZlcmxheS1cIit0aGlzLnR5cGU6XCJcIikpLmNzcyh7ZGlzcGxheTpcIm5vbmVcIixvcGFjaXR5OjAsekluZGV4OnRoaXMub3B0aW9ucy56SW5kZXgtMX0pLmFwcGVuZFRvKHRoaXMub3B0aW9ucy5hcHBlbmRUbyksdGhpcy5vcHRpb25zLm92ZXJsYXlDbGFzcyYmdGhpcy5vdmVybGF5LmFkZENsYXNzKHRoaXMub3B0aW9ucy5vdmVybGF5Q2xhc3MpLFwib3ZlcmxheVwiIT10aGlzLm9wdGlvbnMuY2xvc2VCdXR0b24mJiEwIT09dGhpcy5vcHRpb25zLmNsb3NlQnV0dG9ufHx0aGlzLm92ZXJsYXkuYXBwZW5kKHRoaXMuY2xvc2VCdXR0b24pLFwib3ZlcmxheVwiPT10aGlzLm9wdGlvbnMuY2xvc2VPbkNsaWNrJiZ0aGlzLm92ZXJsYXkub24oXCJjbGljayB0YXBcIixmdW5jdGlvbigpe3RoaXMuY2xvc2Uoe2lnbm9yZURlbGF5OiEwfSl9LmJpbmQodGhpcykpLHQoXCIjXCIrdGhpcy5pZCtcIi1vdmVybGF5IC5qQm94LWNsb3NlQnV0dG9uXCIpLmxlbmd0aCYmKHRoaXMub3B0aW9ucy5hZGp1c3REaXN0YW5jZS50b3A9TWF0aC5tYXgodChcIiNcIit0aGlzLmlkK1wiLW92ZXJsYXkgLmpCb3gtY2xvc2VCdXR0b25cIikub3V0ZXJIZWlnaHQoKSx0aGlzLm9wdGlvbnMuYWRqdXN0RGlzdGFuY2UudG9wKSkpLCEwPT09dGhpcy5hZGp1c3RaSW5kZXhPbk9wZW4mJnRoaXMub3ZlcmxheS5jc3MoXCJ6SW5kZXhcIixwYXJzZUludCh0aGlzLndyYXBwZXIuY3NzKFwiekluZGV4XCIpLDEwKS0xKSxcImJsb2NrXCIhPXRoaXMub3ZlcmxheS5jc3MoXCJkaXNwbGF5XCIpJiYodGhpcy5vcHRpb25zLmZhZGU/dGhpcy5vdmVybGF5LnN0b3AoKSYmdGhpcy5vdmVybGF5LmFuaW1hdGUoe29wYWNpdHk6MX0se3F1ZXVlOiExLGR1cmF0aW9uOnRoaXMub3B0aW9ucy5mYWRlLHN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5vdmVybGF5LmNzcyh7ZGlzcGxheTpcImJsb2NrXCJ9KX0uYmluZCh0aGlzKX0pOnRoaXMub3ZlcmxheS5jc3Moe2Rpc3BsYXk6XCJibG9ja1wiLG9wYWNpdHk6MX0pKX0sdGhpcy5faGlkZU92ZXJsYXk9ZnVuY3Rpb24oKXt0aGlzLm92ZXJsYXkmJih0aGlzLm9wdGlvbnMuZmFkZT90aGlzLm92ZXJsYXkuc3RvcCgpJiZ0aGlzLm92ZXJsYXkuYW5pbWF0ZSh7b3BhY2l0eTowfSx7cXVldWU6ITEsZHVyYXRpb246dGhpcy5vcHRpb25zLmZhZGUsY29tcGxldGU6ZnVuY3Rpb24oKXt0aGlzLm92ZXJsYXkuY3NzKHtkaXNwbGF5Olwibm9uZVwifSl9LmJpbmQodGhpcyl9KTp0aGlzLm92ZXJsYXkuY3NzKHtkaXNwbGF5Olwibm9uZVwiLG9wYWNpdHk6MH0pKX0sdGhpcy5fZXhwb3NlRGltZW5zaW9ucz1mdW5jdGlvbigpe3RoaXMud3JhcHBlci5jc3Moe3RvcDotMWU0LGxlZnQ6LTFlNCxyaWdodDpcImF1dG9cIixib3R0b206XCJhdXRvXCJ9KTt2YXIgdD17eDp0aGlzLndyYXBwZXIub3V0ZXJXaWR0aCgpLHk6dGhpcy53cmFwcGVyLm91dGVySGVpZ2h0KCl9O3JldHVybiB0aGlzLndyYXBwZXIuY3NzKHt0b3A6XCJhdXRvXCIsbGVmdDpcImF1dG9cIn0pLHR9LHRoaXMuX2dlbmVyYXRlQW5pbWF0aW9uQ1NTPWZ1bmN0aW9uKCl7aWYoXCJvYmplY3RcIiE9dC50eXBlKHRoaXMub3B0aW9ucy5hbmltYXRpb24pJiYodGhpcy5vcHRpb25zLmFuaW1hdGlvbj17cHVsc2U6e29wZW46XCJwdWxzZVwiLGNsb3NlOlwiem9vbU91dFwifSx6b29tSW46e29wZW46XCJ6b29tSW5cIixjbG9zZTpcInpvb21JblwifSx6b29tT3V0OntvcGVuOlwiem9vbU91dFwiLGNsb3NlOlwiem9vbU91dFwifSxtb3ZlOntvcGVuOlwibW92ZVwiLGNsb3NlOlwibW92ZVwifSxzbGlkZTp7b3BlbjpcInNsaWRlXCIsY2xvc2U6XCJzbGlkZVwifSxmbGlwOntvcGVuOlwiZmxpcFwiLGNsb3NlOlwiZmxpcFwifSx0YWRhOntvcGVuOlwidGFkYVwiLGNsb3NlOlwiem9vbU91dFwifX1bdGhpcy5vcHRpb25zLmFuaW1hdGlvbl0pLCF0aGlzLm9wdGlvbnMuYW5pbWF0aW9uKXJldHVybiBudWxsO3RoaXMub3B0aW9ucy5hbmltYXRpb24ub3BlbiYmKHRoaXMub3B0aW9ucy5hbmltYXRpb24ub3Blbj10aGlzLm9wdGlvbnMuYW5pbWF0aW9uLm9wZW4uc3BsaXQoXCI6XCIpKSx0aGlzLm9wdGlvbnMuYW5pbWF0aW9uLmNsb3NlJiYodGhpcy5vcHRpb25zLmFuaW1hdGlvbi5jbG9zZT10aGlzLm9wdGlvbnMuYW5pbWF0aW9uLmNsb3NlLnNwbGl0KFwiOlwiKSksdGhpcy5vcHRpb25zLmFuaW1hdGlvbi5vcGVuRGlyZWN0aW9uPXRoaXMub3B0aW9ucy5hbmltYXRpb24ub3BlblsxXXx8bnVsbCx0aGlzLm9wdGlvbnMuYW5pbWF0aW9uLmNsb3NlRGlyZWN0aW9uPXRoaXMub3B0aW9ucy5hbmltYXRpb24uY2xvc2VbMV18fG51bGwsdGhpcy5vcHRpb25zLmFuaW1hdGlvbi5vcGVuJiYodGhpcy5vcHRpb25zLmFuaW1hdGlvbi5vcGVuPXRoaXMub3B0aW9ucy5hbmltYXRpb24ub3BlblswXSksdGhpcy5vcHRpb25zLmFuaW1hdGlvbi5jbG9zZSYmKHRoaXMub3B0aW9ucy5hbmltYXRpb24uY2xvc2U9dGhpcy5vcHRpb25zLmFuaW1hdGlvbi5jbG9zZVswXSksdGhpcy5vcHRpb25zLmFuaW1hdGlvbi5vcGVuJiYodGhpcy5vcHRpb25zLmFuaW1hdGlvbi5vcGVuKz1cIk9wZW5cIiksdGhpcy5vcHRpb25zLmFuaW1hdGlvbi5jbG9zZSYmKHRoaXMub3B0aW9ucy5hbmltYXRpb24uY2xvc2UrPVwiQ2xvc2VcIik7dmFyIGk9e3B1bHNlOntkdXJhdGlvbjozNTAsY3NzOltbXCIwJVwiLFwic2NhbGUoMSlcIl0sW1wiNTAlXCIsXCJzY2FsZSgxLjEpXCJdLFtcIjEwMCVcIixcInNjYWxlKDEpXCJdXX0sem9vbUluT3Blbjp7ZHVyYXRpb246dGhpcy5vcHRpb25zLmZhZGV8fDE4MCxjc3M6W1tcIjAlXCIsXCJzY2FsZSgwLjkpXCJdLFtcIjEwMCVcIixcInNjYWxlKDEpXCJdXX0sem9vbUluQ2xvc2U6e2R1cmF0aW9uOnRoaXMub3B0aW9ucy5mYWRlfHwxODAsY3NzOltbXCIwJVwiLFwic2NhbGUoMSlcIl0sW1wiMTAwJVwiLFwic2NhbGUoMC45KVwiXV19LHpvb21PdXRPcGVuOntkdXJhdGlvbjp0aGlzLm9wdGlvbnMuZmFkZXx8MTgwLGNzczpbW1wiMCVcIixcInNjYWxlKDEuMSlcIl0sW1wiMTAwJVwiLFwic2NhbGUoMSlcIl1dfSx6b29tT3V0Q2xvc2U6e2R1cmF0aW9uOnRoaXMub3B0aW9ucy5mYWRlfHwxODAsY3NzOltbXCIwJVwiLFwic2NhbGUoMSlcIl0sW1wiMTAwJVwiLFwic2NhbGUoMS4xKVwiXV19LG1vdmVPcGVuOntkdXJhdGlvbjp0aGlzLm9wdGlvbnMuZmFkZXx8MTgwLHBvc2l0aW9uczp7dG9wOntcIjAlXCI6LTEyfSxyaWdodDp7XCIwJVwiOjEyfSxib3R0b206e1wiMCVcIjoxMn0sbGVmdDp7XCIwJVwiOi0xMn19LGNzczpbW1wiMCVcIixcInRyYW5zbGF0ZSVYWSglVnB4KVwiXSxbXCIxMDAlXCIsXCJ0cmFuc2xhdGUlWFkoMHB4KVwiXV19LG1vdmVDbG9zZTp7ZHVyYXRpb246dGhpcy5vcHRpb25zLmZhZGV8fDE4MCx0aW1pbmc6XCJlYXNlLWluXCIscG9zaXRpb25zOnt0b3A6e1wiMTAwJVwiOi0xMn0scmlnaHQ6e1wiMTAwJVwiOjEyfSxib3R0b206e1wiMTAwJVwiOjEyfSxsZWZ0OntcIjEwMCVcIjotMTJ9fSxjc3M6W1tcIjAlXCIsXCJ0cmFuc2xhdGUlWFkoMHB4KVwiXSxbXCIxMDAlXCIsXCJ0cmFuc2xhdGUlWFkoJVZweClcIl1dfSxzbGlkZU9wZW46e2R1cmF0aW9uOjQwMCxwb3NpdGlvbnM6e3RvcDp7XCIwJVwiOi00MDB9LHJpZ2h0OntcIjAlXCI6NDAwfSxib3R0b206e1wiMCVcIjo0MDB9LGxlZnQ6e1wiMCVcIjotNDAwfX0sY3NzOltbXCIwJVwiLFwidHJhbnNsYXRlJVhZKCVWcHgpXCJdLFtcIjEwMCVcIixcInRyYW5zbGF0ZSVYWSgwcHgpXCJdXX0sc2xpZGVDbG9zZTp7ZHVyYXRpb246NDAwLHRpbWluZzpcImVhc2UtaW5cIixwb3NpdGlvbnM6e3RvcDp7XCIxMDAlXCI6LTQwMH0scmlnaHQ6e1wiMTAwJVwiOjQwMH0sYm90dG9tOntcIjEwMCVcIjo0MDB9LGxlZnQ6e1wiMTAwJVwiOi00MDB9fSxjc3M6W1tcIjAlXCIsXCJ0cmFuc2xhdGUlWFkoMHB4KVwiXSxbXCIxMDAlXCIsXCJ0cmFuc2xhdGUlWFkoJVZweClcIl1dfSxmbGlwT3Blbjp7ZHVyYXRpb246NjAwLGNzczpbW1wiMCVcIixcInBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKVwiXSxbXCI0MCVcIixcInBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC0xNWRlZylcIl0sW1wiNzAlXCIsXCJwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgxNWRlZylcIl0sW1wiMTAwJVwiLFwicGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZylcIl1dfSxmbGlwQ2xvc2U6e2R1cmF0aW9uOnRoaXMub3B0aW9ucy5mYWRlfHwzMDAsY3NzOltbXCIwJVwiLFwicGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZylcIl0sW1wiMTAwJVwiLFwicGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpXCJdXX0sdGFkYTp7ZHVyYXRpb246ODAwLGNzczpbW1wiMCVcIixcInNjYWxlKDEpXCJdLFtcIjEwJSwgMjAlXCIsXCJzY2FsZSgwLjkpIHJvdGF0ZSgtM2RlZylcIl0sW1wiMzAlLCA1MCUsIDcwJSwgOTAlXCIsXCJzY2FsZSgxLjEpIHJvdGF0ZSgzZGVnKVwiXSxbXCI0MCUsIDYwJSwgODAlXCIsXCJzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZylcIl0sW1wiMTAwJVwiLFwic2NhbGUoMSkgcm90YXRlKDApXCJdXX19O3QuZWFjaChbXCJwdWxzZVwiLFwidGFkYVwiXSxmdW5jdGlvbih0LG8pe2lbbytcIk9wZW5cIl09aVtvK1wiQ2xvc2VcIl09aVtvXX0pO3ZhciBvPWZ1bmN0aW9uKG8scyl7dmFyIGU9XCJAa2V5ZnJhbWVzIGpCb3gtXCIrdGhpcy5pZCtcIi1hbmltYXRpb24tXCIrdGhpcy5vcHRpb25zLmFuaW1hdGlvbltvXStcIi1cIitvKyhzP1wiLVwiK3M6XCJcIikrXCIge1wiO3JldHVybiB0LmVhY2goaVt0aGlzLm9wdGlvbnMuYW5pbWF0aW9uW29dXS5jc3MsZnVuY3Rpb24odCxuKXt2YXIgYT1zP25bMV0ucmVwbGFjZShcIiVYWVwiLHRoaXMuX2dldFhZKHMpLnRvVXBwZXJDYXNlKCkpOm5bMV07aVt0aGlzLm9wdGlvbnMuYW5pbWF0aW9uW29dXS5wb3NpdGlvbnMmJihhPWEucmVwbGFjZShcIiVWXCIsaVt0aGlzLm9wdGlvbnMuYW5pbWF0aW9uW29dXS5wb3NpdGlvbnNbc11bblswXV0pKSxlKz1uWzBdK1wiIHt0cmFuc2Zvcm06XCIrYStcIjt9XCJ9LmJpbmQodGhpcykpLGUrPVwifVwiLGUrPVwiLmpCb3gtXCIrdGhpcy5pZCtcIi1hbmltYXRpb24tXCIrdGhpcy5vcHRpb25zLmFuaW1hdGlvbltvXStcIi1cIitvKyhzP1wiLVwiK3M6XCJcIikrXCIge1wiLGUrPVwiYW5pbWF0aW9uLWR1cmF0aW9uOiBcIitpW3RoaXMub3B0aW9ucy5hbmltYXRpb25bb11dLmR1cmF0aW9uK1wibXM7XCIsZSs9XCJhbmltYXRpb24tbmFtZTogakJveC1cIit0aGlzLmlkK1wiLWFuaW1hdGlvbi1cIit0aGlzLm9wdGlvbnMuYW5pbWF0aW9uW29dK1wiLVwiK28rKHM/XCItXCIrczpcIlwiKStcIjtcIixlKz1pW3RoaXMub3B0aW9ucy5hbmltYXRpb25bb11dLnRpbWluZz9cImFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IFwiK2lbdGhpcy5vcHRpb25zLmFuaW1hdGlvbltvXV0udGltaW5nK1wiO1wiOlwiXCIsZSs9XCJ9XCJ9LmJpbmQodGhpcyk7dGhpcy5fYW5pbWF0aW9uQ1NTPVwiXCIsdC5lYWNoKFtcIm9wZW5cIixcImNsb3NlXCJdLGZ1bmN0aW9uKHMsZSl7aWYoIXRoaXMub3B0aW9ucy5hbmltYXRpb25bZV18fCFpW3RoaXMub3B0aW9ucy5hbmltYXRpb25bZV1dfHxcImNsb3NlXCI9PWUmJiF0aGlzLm9wdGlvbnMuZmFkZSlyZXR1cm5cIlwiO2lbdGhpcy5vcHRpb25zLmFuaW1hdGlvbltlXV0ucG9zaXRpb25zP3QuZWFjaChbXCJ0b3BcIixcInJpZ2h0XCIsXCJib3R0b21cIixcImxlZnRcIl0sZnVuY3Rpb24odCxpKXt0aGlzLl9hbmltYXRpb25DU1MrPW8oZSxpKX0uYmluZCh0aGlzKSk6dGhpcy5fYW5pbWF0aW9uQ1NTKz1vKGUpfS5iaW5kKHRoaXMpKX0sdGhpcy5vcHRpb25zLmFuaW1hdGlvbiYmdGhpcy5fZ2VuZXJhdGVBbmltYXRpb25DU1MoKSx0aGlzLl9ibG9ja0JvZHlDbGljaz1mdW5jdGlvbigpe3RoaXMuYmxvY2tCb2R5Q2xpY2s9ITAsc2V0VGltZW91dChmdW5jdGlvbigpe3RoaXMuYmxvY2tCb2R5Q2xpY2s9ITF9LmJpbmQodGhpcyksMTApfSx0aGlzLl9hbmltYXRlPWZ1bmN0aW9uKHQpe2lmKHQ9dHx8KHRoaXMuaXNPcGVuP1wib3BlblwiOlwiY2xvc2VcIiksIXRoaXMub3B0aW9ucy5mYWRlJiZcImNsb3NlXCI9PXQpcmV0dXJuIG51bGw7dmFyIGk9dGhpcy5vcHRpb25zLmFuaW1hdGlvblt0K1wiRGlyZWN0aW9uXCJdfHwoXCJjZW50ZXJcIiE9dGhpcy5hbGlnbj90aGlzLmFsaWduOnRoaXMub3B0aW9ucy5hdHRyaWJ1dGVzLngpO3RoaXMuZmxpcHBlZCYmdGhpcy5fZ2V0WFkoaSk9PXRoaXMuX2dldFhZKHRoaXMuYWxpZ24pJiYoaT10aGlzLl9nZXRPcHAoaSkpO3ZhciBvPVwiakJveC1cIit0aGlzLmlkK1wiLWFuaW1hdGlvbi1cIit0aGlzLm9wdGlvbnMuYW5pbWF0aW9uW3RdK1wiLVwiK3QrXCIgakJveC1cIit0aGlzLmlkK1wiLWFuaW1hdGlvbi1cIit0aGlzLm9wdGlvbnMuYW5pbWF0aW9uW3RdK1wiLVwiK3QrXCItXCIraTt0aGlzLndyYXBwZXIuYWRkQ2xhc3MobyksaT0xZTMqcGFyc2VGbG9hdCh0aGlzLndyYXBwZXIuY3NzKFwiYW5pbWF0aW9uLWR1cmF0aW9uXCIpKSxcImNsb3NlXCI9PXQmJihpPU1hdGgubWluKGksdGhpcy5vcHRpb25zLmZhZGUpKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhpcy53cmFwcGVyLnJlbW92ZUNsYXNzKG8pfS5iaW5kKHRoaXMpLGkpfSx0aGlzLl9hYm9ydEFuaW1hdGlvbj1mdW5jdGlvbigpe3ZhciB0PXRoaXMud3JhcHBlci5hdHRyKFwiY2xhc3NcIikuc3BsaXQoXCIgXCIpLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gMCE9PXQubGFzdEluZGV4T2YoXCJqQm94LVwiK3RoaXMuaWQrXCItYW5pbWF0aW9uXCIsMCl9LmJpbmQodGhpcykpO3RoaXMud3JhcHBlci5hdHRyKFwiY2xhc3NcIix0LmpvaW4oXCIgXCIpKX0sKHRoaXMub3B0aW9ucy5yZXNwb25zaXZlV2lkdGh8fHRoaXMub3B0aW9ucy5yZXNwb25zaXZlSGVpZ2h0KSYmdCh3aW5kb3cpLm9uKFwicmVzaXplLnJlc3BvbnNpdmVqQm94LVwiK3RoaXMuaWQsZnVuY3Rpb24odCl7dGhpcy5pc09wZW4mJnRoaXMucG9zaXRpb24oKX0uYmluZCh0aGlzKSksXCJzdHJpbmdcIj09PXQudHlwZSh0aGlzLm9wdGlvbnMucHJlbG9hZEF1ZGlvKSYmKHRoaXMub3B0aW9ucy5wcmVsb2FkQXVkaW89W3RoaXMub3B0aW9ucy5wcmVsb2FkQXVkaW9dKSxcInN0cmluZ1wiPT09dC50eXBlKHRoaXMub3B0aW9ucy5hdWRpbykmJih0aGlzLm9wdGlvbnMuYXVkaW89e29wZW46dGhpcy5vcHRpb25zLmF1ZGlvfSksXCJudW1iZXJcIj09PXQudHlwZSh0aGlzLm9wdGlvbnMudm9sdW1lKSYmKHRoaXMub3B0aW9ucy52b2x1bWU9e29wZW46dGhpcy5vcHRpb25zLnZvbHVtZSxjbG9zZTp0aGlzLm9wdGlvbnMudm9sdW1lfSksITA9PT10aGlzLm9wdGlvbnMucHJlbG9hZEF1ZGlvJiZ0aGlzLm9wdGlvbnMuYXVkaW8mJih0aGlzLm9wdGlvbnMucHJlbG9hZEF1ZGlvPVtdLHQuZWFjaCh0aGlzLm9wdGlvbnMuYXVkaW8sZnVuY3Rpb24odCxpKXt0aGlzLm9wdGlvbnMucHJlbG9hZEF1ZGlvLnB1c2goaStcIi5tcDNcIiksdGhpcy5vcHRpb25zLnByZWxvYWRBdWRpby5wdXNoKGkrXCIub2dnXCIpfS5iaW5kKHRoaXMpKSksdGhpcy5vcHRpb25zLnByZWxvYWRBdWRpby5sZW5ndGgmJnQuZWFjaCh0aGlzLm9wdGlvbnMucHJlbG9hZEF1ZGlvLGZ1bmN0aW9uKHQsaSl7dmFyIG89bmV3IEF1ZGlvO28uc3JjPWksby5wcmVsb2FkPVwiYXV0b1wifSksdGhpcy5fZmlyZUV2ZW50KFwib25Jbml0XCIpLHRoaXN9dmFyIG8scztyZXR1cm4gaS5wcm90b3R5cGUuYXR0YWNoPWZ1bmN0aW9uKGksbyl7cmV0dXJuIGk9aXx8dGhpcy5vcHRpb25zLmF0dGFjaCxcInN0cmluZ1wiPT10LnR5cGUoaSkmJihpPXQoaSkpLG89b3x8dGhpcy5vcHRpb25zLnRyaWdnZXIsaSYmaS5sZW5ndGgmJnQuZWFjaChpLGZ1bmN0aW9uKGkscyl7KHM9dChzKSkuZGF0YShcImpCb3gtYXR0YWNoZWQtXCIrdGhpcy5pZCl8fChcInRpdGxlXCI9PXRoaXMub3B0aW9ucy5nZXRDb250ZW50JiZudWxsIT1zLmF0dHIoXCJ0aXRsZVwiKSYmcy5kYXRhKFwiakJveC1nZXRDb250ZW50XCIscy5hdHRyKFwidGl0bGVcIikpLnJlbW92ZUF0dHIoXCJ0aXRsZVwiKSx0aGlzLmF0dGFjaGVkRWxlbWVudHN8fCh0aGlzLmF0dGFjaGVkRWxlbWVudHM9W10pLHRoaXMuYXR0YWNoZWRFbGVtZW50cy5wdXNoKHNbMF0pLHMub24obytcIi5qQm94LWF0dGFjaC1cIit0aGlzLmlkLGZ1bmN0aW9uKHQpe3ZhciBpO3RoaXMudGltZXImJmNsZWFyVGltZW91dCh0aGlzLnRpbWVyKSxcIm1vdXNlZW50ZXJcIj09byYmdGhpcy5pc09wZW4mJnRoaXMuc291cmNlWzBdPT1zWzBdfHwodGhpcy5pc09wZW4mJnRoaXMuc291cmNlJiZ0aGlzLnNvdXJjZVswXSE9c1swXSYmKGk9ITApLHRoaXMuc291cmNlPXMsdGhpcy5vcHRpb25zLnRhcmdldHx8KHRoaXMudGFyZ2V0PXMpLFwiY2xpY2tcIj09byYmdGhpcy5vcHRpb25zLnByZXZlbnREZWZhdWx0JiZ0LnByZXZlbnREZWZhdWx0KCksdGhpc1tcImNsaWNrXCIhPW98fGk/XCJvcGVuXCI6XCJ0b2dnbGVcIl0oKSl9LmJpbmQodGhpcykpLFwibW91c2VlbnRlclwiPT10aGlzLm9wdGlvbnMudHJpZ2dlciYmcy5vbihcIm1vdXNlbGVhdmVcIixmdW5jdGlvbihpKXtpZighdGhpcy53cmFwcGVyKXJldHVybiBudWxsO3RoaXMub3B0aW9ucy5jbG9zZU9uTW91c2VsZWF2ZSYmKGkucmVsYXRlZFRhcmdldD09dGhpcy53cmFwcGVyWzBdfHx0KGkucmVsYXRlZFRhcmdldCkucGFyZW50cyhcIiNcIit0aGlzLmlkKS5sZW5ndGgpfHx0aGlzLmNsb3NlKCl9LmJpbmQodGhpcykpLHMuZGF0YShcImpCb3gtYXR0YWNoZWQtXCIrdGhpcy5pZCxvKSx0aGlzLl9maXJlRXZlbnQoXCJvbkF0dGFjaFwiLHMpKX0uYmluZCh0aGlzKSksdGhpc30saS5wcm90b3R5cGUuZGV0YWNoPWZ1bmN0aW9uKGkpe3JldHVybihpPWl8fHRoaXMuYXR0YWNoZWRFbGVtZW50c3x8W10pJiZpLmxlbmd0aCYmdC5lYWNoKGksZnVuY3Rpb24oaSxvKXsobz10KG8pKS5kYXRhKFwiakJveC1hdHRhY2hlZC1cIit0aGlzLmlkKSYmKG8ub2ZmKG8uZGF0YShcImpCb3gtYXR0YWNoZWQtXCIrdGhpcy5pZCkrXCIuakJveC1hdHRhY2gtXCIrdGhpcy5pZCksby5kYXRhKFwiakJveC1hdHRhY2hlZC1cIit0aGlzLmlkLG51bGwpKSx0aGlzLmF0dGFjaGVkRWxlbWVudHM9dC5ncmVwKHRoaXMuYXR0YWNoZWRFbGVtZW50cyxmdW5jdGlvbih0KXtyZXR1cm4gdCE9b1swXX0pfS5iaW5kKHRoaXMpKSx0aGlzfSxpLnByb3RvdHlwZS5zZXRUaXRsZT1mdW5jdGlvbihpLG8pe2lmKG51bGw9PWl8fG51bGw9PWkpcmV0dXJuIHRoaXM7dGhpcy53cmFwcGVyfHx0aGlzLl9jcmVhdGUoKTt2YXIgcz10aGlzLndyYXBwZXIub3V0ZXJIZWlnaHQoKSxlPXRoaXMud3JhcHBlci5vdXRlcldpZHRoKCk7cmV0dXJuIHRoaXMudGl0bGV8fCh0aGlzLnRpdGxlQ29udGFpbmVyPXQoJzxkaXYgY2xhc3M9XCJqQm94LXRpdGxlXCIvPicpLHRoaXMudGl0bGU9dChcIjxkaXYvPlwiKS5hcHBlbmRUbyh0aGlzLnRpdGxlQ29udGFpbmVyKSxcInRpdGxlXCIhPXRoaXMub3B0aW9ucy5jbG9zZUJ1dHRvbiYmKCEwIT09dGhpcy5vcHRpb25zLmNsb3NlQnV0dG9ufHx0aGlzLm9wdGlvbnMub3ZlcmxheSl8fCh0aGlzLndyYXBwZXIuYWRkQ2xhc3MoXCJqQm94LWNsb3NlQnV0dG9uLXRpdGxlXCIpLHRoaXMuY2xvc2VCdXR0b24uYXBwZW5kVG8odGhpcy50aXRsZUNvbnRhaW5lcikpLHRoaXMudGl0bGVDb250YWluZXIuaW5zZXJ0QmVmb3JlKHRoaXMuY29udGVudCksdGhpcy5fc2V0VGl0bGVXaWR0aCgpKSx0aGlzLndyYXBwZXJbaT9cImFkZENsYXNzXCI6XCJyZW1vdmVDbGFzc1wiXShcImpCb3gtaGFzVGl0bGVcIiksdGhpcy50aXRsZS5odG1sKGkpLGUhPXRoaXMud3JhcHBlci5vdXRlcldpZHRoKCkmJnRoaXMuX3NldFRpdGxlV2lkdGgoKSx0aGlzLm9wdGlvbnMuZHJhZ2dhYmxlJiZ0aGlzLl9kcmFnZ2FibGUoKSxvfHwhdGhpcy5vcHRpb25zLnJlcG9zaXRpb25PbkNvbnRlbnR8fHM9PXRoaXMud3JhcHBlci5vdXRlckhlaWdodCgpJiZlPT10aGlzLndyYXBwZXIub3V0ZXJXaWR0aCgpfHx0aGlzLnBvc2l0aW9uKCksdGhpc30saS5wcm90b3R5cGUuc2V0Q29udGVudD1mdW5jdGlvbihpLG8pe2lmKG51bGw9PWl8fG51bGw9PWkpcmV0dXJuIHRoaXM7dGhpcy53cmFwcGVyfHx0aGlzLl9jcmVhdGUoKTt2YXIgcz10aGlzLndyYXBwZXIub3V0ZXJIZWlnaHQoKSxlPXRoaXMud3JhcHBlci5vdXRlcldpZHRoKCk7c3dpdGNoKHRoaXMuY29udGVudC5jaGlsZHJlbihcIltkYXRhLWpib3gtY29udGVudC1hcHBlbmRlZF1cIikuYXBwZW5kVG8oXCJib2R5XCIpLmNzcyh7ZGlzcGxheTpcIm5vbmVcIn0pLHQudHlwZShpKSl7Y2FzZVwic3RyaW5nXCI6dGhpcy5jb250ZW50Lmh0bWwoaSk7YnJlYWs7Y2FzZVwib2JqZWN0XCI6aSYmKGkgaW5zdGFuY2VvZiB0fHxpLmNvbnN0cnVjdG9yLnByb3RvdHlwZS5qcXVlcnkpPyh0aGlzLmNvbnRlbnQuaHRtbChcIlwiKSxpLmF0dHIoXCJkYXRhLWpib3gtY29udGVudC1hcHBlbmRlZFwiLDEpLmFwcGVuZFRvKHRoaXMuY29udGVudCkuY3NzKHtkaXNwbGF5OlwiYmxvY2tcIn0pKTp0aGlzLmNvbnRlbnQuaHRtbChKU09OLnN0cmluZ2lmeShpKSl9cmV0dXJuIGUhPXRoaXMud3JhcHBlci5vdXRlcldpZHRoKCkmJnRoaXMuX3NldFRpdGxlV2lkdGgoKSx0aGlzLm9wdGlvbnMuZHJhZ2dhYmxlJiZ0aGlzLl9kcmFnZ2FibGUoKSxvfHwhdGhpcy5vcHRpb25zLnJlcG9zaXRpb25PbkNvbnRlbnR8fHM9PXRoaXMud3JhcHBlci5vdXRlckhlaWdodCgpJiZlPT10aGlzLndyYXBwZXIub3V0ZXJXaWR0aCgpfHx0aGlzLnBvc2l0aW9uKCksdGhpc30saS5wcm90b3R5cGUuc2V0RGltZW5zaW9ucz1mdW5jdGlvbih0LGksbyl7dGhpcy53cmFwcGVyfHx0aGlzLl9jcmVhdGUoKSxudWxsPT1pJiYoaT1cImF1dG9cIiksdGhpcy5jb250ZW50LmNzcyh0LHRoaXMuX2dldEludChpKSksXCJ3aWR0aFwiPT10JiZ0aGlzLl9zZXRUaXRsZVdpZHRoKCksdGhpcy5vcHRpb25zW3RdPWksbnVsbCE9byYmIW98fHRoaXMucG9zaXRpb24oKX0saS5wcm90b3R5cGUuc2V0V2lkdGg9ZnVuY3Rpb24odCxpKXt0aGlzLnNldERpbWVuc2lvbnMoXCJ3aWR0aFwiLHQsaSl9LGkucHJvdG90eXBlLnNldEhlaWdodD1mdW5jdGlvbih0LGkpe3RoaXMuc2V0RGltZW5zaW9ucyhcImhlaWdodFwiLHQsaSl9LGkucHJvdG90eXBlLnBvc2l0aW9uPWZ1bmN0aW9uKGkpe2lmKGk9aXx8e30saT10LmV4dGVuZCghMCx0aGlzLm9wdGlvbnMsaSksdGhpcy50YXJnZXQ9aS50YXJnZXR8fHRoaXMudGFyZ2V0fHx0KHdpbmRvdyksdGhpcy50YXJnZXQgaW5zdGFuY2VvZiB0fHxcIm1vdXNlXCI9PXRoaXMudGFyZ2V0fHwodGhpcy50YXJnZXQ9dCh0aGlzLnRhcmdldCkpLCF0aGlzLnRhcmdldC5sZW5ndGgpcmV0dXJuIHRoaXM7dGhpcy5jb250ZW50LmNzcyh7d2lkdGg6dGhpcy5fZ2V0SW50KGkud2lkdGgsXCJ3aWR0aFwiKSxoZWlnaHQ6dGhpcy5fZ2V0SW50KGkuaGVpZ2h0LFwiaGVpZ2h0XCIpLG1pbldpZHRoOnRoaXMuX2dldEludChpLm1pbldpZHRoLFwid2lkdGhcIiksbWluSGVpZ2h0OnRoaXMuX2dldEludChpLm1pbkhlaWdodCxcImhlaWdodFwiKSxtYXhXaWR0aDp0aGlzLl9nZXRJbnQoaS5tYXhXaWR0aCxcIndpZHRoXCIpLG1heEhlaWdodDp0aGlzLl9nZXRJbnQoaS5tYXhIZWlnaHQsXCJoZWlnaHRcIil9KSx0aGlzLl9zZXRUaXRsZVdpZHRoKCk7dmFyIG89dGhpcy5fZXhwb3NlRGltZW5zaW9ucygpO1wibW91c2VcIj09dGhpcy50YXJnZXR8fHRoaXMudGFyZ2V0LmRhdGEoXCJqQm94LVwiK3RoaXMuaWQrXCItZml4ZWRcIil8fHRoaXMudGFyZ2V0LmRhdGEoXCJqQm94LVwiK3RoaXMuaWQrXCItZml4ZWRcIix0aGlzLnRhcmdldFswXSE9dCh3aW5kb3cpWzBdJiYoXCJmaXhlZFwiPT10aGlzLnRhcmdldC5jc3MoXCJwb3NpdGlvblwiKXx8MDx0aGlzLnRhcmdldC5wYXJlbnRzKCkuZmlsdGVyKGZ1bmN0aW9uKCl7cmV0dXJuXCJmaXhlZFwiPT10KHRoaXMpLmNzcyhcInBvc2l0aW9uXCIpfSkubGVuZ3RoKT9cImZpeGVkXCI6XCJzdGF0aWNcIik7dmFyIHM9e3g6dCh3aW5kb3cpLm91dGVyV2lkdGgoKSx5OnQod2luZG93KS5vdXRlckhlaWdodCgpLHRvcDppLmZpeGVkJiZ0aGlzLnRhcmdldC5kYXRhKFwiakJveC1cIit0aGlzLmlkK1wiLWZpeGVkXCIpPzA6dCh3aW5kb3cpLnNjcm9sbFRvcCgpLGxlZnQ6aS5maXhlZCYmdGhpcy50YXJnZXQuZGF0YShcImpCb3gtXCIrdGhpcy5pZCtcIi1maXhlZFwiKT8wOnQod2luZG93KS5zY3JvbGxMZWZ0KCl9O3MuYm90dG9tPXMudG9wK3MueSxzLnJpZ2h0PXMubGVmdCtzLng7dHJ5e3ZhciBlPXRoaXMudGFyZ2V0Lm9mZnNldCgpfWNhdGNoKHMpe2U9e3RvcDowLGxlZnQ6MH19XCJtb3VzZVwiIT10aGlzLnRhcmdldCYmXCJmaXhlZFwiPT10aGlzLnRhcmdldC5kYXRhKFwiakJveC1cIit0aGlzLmlkK1wiLWZpeGVkXCIpJiZpLmZpeGVkJiYoZS50b3A9ZS50b3AtdCh3aW5kb3cpLnNjcm9sbFRvcCgpLGUubGVmdD1lLmxlZnQtdCh3aW5kb3cpLnNjcm9sbExlZnQoKSk7dmFyIG49e3g6XCJtb3VzZVwiPT10aGlzLnRhcmdldD8xMjp0aGlzLnRhcmdldC5vdXRlcldpZHRoKCkseTpcIm1vdXNlXCI9PXRoaXMudGFyZ2V0PzIwOnRoaXMudGFyZ2V0Lm91dGVySGVpZ2h0KCksdG9wOlwibW91c2VcIj09dGhpcy50YXJnZXQmJmkubW91c2VUYXJnZXQ/aS5tb3VzZVRhcmdldC50b3A6ZT9lLnRvcDowLGxlZnQ6XCJtb3VzZVwiPT10aGlzLnRhcmdldCYmaS5tb3VzZVRhcmdldD9pLm1vdXNlVGFyZ2V0LmxlZnQ6ZT9lLmxlZnQ6MH0sYT1pLm91dHNpZGUmJiEoXCJjZW50ZXJcIj09aS5wb3NpdGlvbi54JiZcImNlbnRlclwiPT1pLnBvc2l0aW9uLnkpLGg9e3g6cy54LWkuYWRqdXN0RGlzdGFuY2UubGVmdC1pLmFkanVzdERpc3RhbmNlLnJpZ2h0LHk6cy55LWkuYWRqdXN0RGlzdGFuY2UudG9wLWkuYWRqdXN0RGlzdGFuY2UuYm90dG9tLGxlZnQ6YT9uLmxlZnQtdCh3aW5kb3cpLnNjcm9sbExlZnQoKS1pLmFkanVzdERpc3RhbmNlLmxlZnQ6MCxyaWdodDphP3MueC1uLmxlZnQrdCh3aW5kb3cpLnNjcm9sbExlZnQoKS1uLngtaS5hZGp1c3REaXN0YW5jZS5yaWdodDowLHRvcDphP24udG9wLXQod2luZG93KS5zY3JvbGxUb3AoKS10aGlzLm9wdGlvbnMuYWRqdXN0RGlzdGFuY2UudG9wOjAsYm90dG9tOmE/cy55LW4udG9wK3Qod2luZG93KS5zY3JvbGxUb3AoKS1uLnktaS5hZGp1c3REaXN0YW5jZS5ib3R0b206MH0scj17eDpcInhcIiE9aS5vdXRzaWRlJiZcInh5XCIhPWkub3V0c2lkZXx8XCJudW1iZXJcIj09dC50eXBlKGkucG9zaXRpb24ueCk/bnVsbDppLnBvc2l0aW9uLngseTpcInlcIiE9aS5vdXRzaWRlJiZcInh5XCIhPWkub3V0c2lkZXx8XCJudW1iZXJcIj09dC50eXBlKGkucG9zaXRpb24ueSk/bnVsbDppLnBvc2l0aW9uLnl9LHA9e3g6ITEseTohMX07ci54JiZvLng+aFtyLnhdJiZoW3RoaXMuX2dldE9wcChyLngpXT5oW3IueF0mJihyLng9dGhpcy5fZ2V0T3BwKHIueCkpJiYocC54PSEwKSxyLnkmJm8ueT5oW3IueV0mJmhbdGhpcy5fZ2V0T3BwKHIueSldPmhbci55XSYmKHIueT10aGlzLl9nZXRPcHAoci55KSkmJihwLnk9ITApLChpLnJlc3BvbnNpdmVXaWR0aHx8aS5yZXNwb25zaXZlSGVpZ2h0KSYmKHg9ZnVuY3Rpb24oKXt2YXIgdDtpLnJlc3BvbnNpdmVXaWR0aCYmby54Pmhbci54fHxcInhcIl0mJih0PWhbci54fHxcInhcIl0tKHRoaXMucG9pbnRlciYmYSYmXCJ4XCI9PWkub3V0c2lkZT90aGlzLnBvaW50ZXIuZGltZW5zaW9ucy54OjApLXBhcnNlSW50KHRoaXMuY29udGFpbmVyLmNzcyhcImJvcmRlci1sZWZ0LXdpZHRoXCIpKS1wYXJzZUludCh0aGlzLmNvbnRhaW5lci5jc3MoXCJib3JkZXItcmlnaHQtd2lkdGhcIikpLHRoaXMuY29udGVudC5jc3Moe3dpZHRoOnQ+dGhpcy5vcHRpb25zLnJlc3BvbnNpdmVNaW5XaWR0aD90Om51bGwsbWluV2lkdGg6dDxwYXJzZUludCh0aGlzLmNvbnRlbnQuY3NzKFwibWluV2lkdGhcIikpPzA6bnVsbH0pLHRoaXMuX3NldFRpdGxlV2lkdGgoKSksbz10aGlzLl9leHBvc2VEaW1lbnNpb25zKCl9LmJpbmQodGhpcyksaS5yZXNwb25zaXZlV2lkdGgmJngoKSxpLnJlc3BvbnNpdmVXaWR0aCYmIXAueSYmci55JiZvLnk+aFtyLnldJiZoW3RoaXMuX2dldE9wcChyLnkpXT5oW3IueV0mJihyLnk9dGhpcy5fZ2V0T3BwKHIueSkpJiYocC55PSEwKSx5PWZ1bmN0aW9uKCl7dmFyIHQ7aS5yZXNwb25zaXZlSGVpZ2h0JiZvLnk+aFtyLnl8fFwieVwiXSYmKHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50aXRsZUNvbnRhaW5lcnx8dGhpcy5mb290ZXI/KFwibm9uZVwiPT10aGlzLndyYXBwZXIuY3NzKFwiZGlzcGxheVwiKT8odGhpcy53cmFwcGVyLmNzcyhcImRpc3BsYXlcIixcImJsb2NrXCIpLHQ9KHRoaXMudGl0bGVDb250YWluZXI/dGhpcy50aXRsZUNvbnRhaW5lci5vdXRlckhlaWdodCgpOjApKyh0aGlzLmZvb3Rlcj90aGlzLmZvb3Rlci5vdXRlckhlaWdodCgpOjApLHRoaXMud3JhcHBlci5jc3MoXCJkaXNwbGF5XCIsXCJub25lXCIpKTp0PSh0aGlzLnRpdGxlQ29udGFpbmVyP3RoaXMudGl0bGVDb250YWluZXIub3V0ZXJIZWlnaHQoKTowKSsodGhpcy5mb290ZXI/dGhpcy5mb290ZXIub3V0ZXJIZWlnaHQoKTowKSx0fHwwKTowO3ZhciB0fS5iaW5kKHRoaXMpLHQ9aFtyLnl8fFwieVwiXS0odGhpcy5wb2ludGVyJiZhJiZcInlcIj09aS5vdXRzaWRlP3RoaXMucG9pbnRlci5kaW1lbnNpb25zLnk6MCktdCgpLXBhcnNlSW50KHRoaXMuY29udGFpbmVyLmNzcyhcImJvcmRlci10b3Atd2lkdGhcIikpLXBhcnNlSW50KHRoaXMuY29udGFpbmVyLmNzcyhcImJvcmRlci1ib3R0b20td2lkdGhcIikpLHRoaXMuY29udGVudC5jc3Moe2hlaWdodDp0PnRoaXMub3B0aW9ucy5yZXNwb25zaXZlTWluSGVpZ2h0P3Q6bnVsbH0pLHRoaXMuX3NldFRpdGxlV2lkdGgoKSksbz10aGlzLl9leHBvc2VEaW1lbnNpb25zKCl9LmJpbmQodGhpcyksaS5yZXNwb25zaXZlSGVpZ2h0JiZ5KCksaS5yZXNwb25zaXZlSGVpZ2h0JiYhcC54JiZyLngmJm8ueD5oW3IueF0mJmhbdGhpcy5fZ2V0T3BwKHIueCldPmhbci54XSYmKHIueD10aGlzLl9nZXRPcHAoci54KSkmJihwLng9ITApLGkuYWRqdXN0UG9zaXRpb24mJlwibW92ZVwiIT1pLmFkanVzdFBvc2l0aW9uJiYocC54JiZ4KCkscC55JiZ5KCkpKTt2YXIgbD17fSxkPWZ1bmN0aW9uKHMpe2lmKFwibnVtYmVyXCIhPXQudHlwZShpLnBvc2l0aW9uW3NdKSl7dmFyIGU9aS5hdHRyaWJ1dGVzW3NdPVwieFwiPT1zP1wibGVmdFwiOlwidG9wXCI7aWYobFtlXT1uW2VdLFwiY2VudGVyXCI9PWkucG9zaXRpb25bc10pcmV0dXJuIGxbZV0rPU1hdGguY2VpbCgobltzXS1vW3NdKS8yKSx2b2lkKFwibW91c2VcIiE9dGhpcy50YXJnZXQmJnRoaXMudGFyZ2V0WzBdJiZ0aGlzLnRhcmdldFswXT09dCh3aW5kb3cpWzBdJiYobFtlXSs9LjUqKGkuYWRqdXN0RGlzdGFuY2VbZV0taS5hZGp1c3REaXN0YW5jZVt0aGlzLl9nZXRPcHAoZSldKSkpO2UhPWkucG9zaXRpb25bc10mJihsW2VdKz1uW3NdLW9bc10pLGkub3V0c2lkZSE9cyYmXCJ4eVwiIT1pLm91dHNpZGV8fChsW2VdKz1vW3NdKihlIT1pLnBvc2l0aW9uW3NdPzE6LTEpKX1lbHNlIGxbaS5hdHRyaWJ1dGVzW3NdXT1pLnBvc2l0aW9uW3NdfS5iaW5kKHRoaXMpO2lmKGQoXCJ4XCIpLGQoXCJ5XCIpLHRoaXMucG9pbnRlciYmXCJ0YXJnZXRcIj09aS5wb2ludFRvJiZcIm51bWJlclwiIT10LnR5cGUoaS5wb3NpdGlvbi54KSYmXCJudW1iZXJcIiE9dC50eXBlKGkucG9zaXRpb24ueSkmJihqPTAsXCJjZW50ZXJcIj09PXRoaXMucG9pbnRlci5hbGlnbj9cImNlbnRlclwiIT1pLnBvc2l0aW9uW3RoaXMuX2dldE9wcChpLm91dHNpZGUpXSYmKGorPW9bdGhpcy5fZ2V0T3BwKGkub3V0c2lkZSldLzIpOlwiY2VudGVyXCI9PT1pLnBvc2l0aW9uW3RoaXMuX2dldE9wcChpLm91dHNpZGUpXT9qKz0ob1t0aGlzLl9nZXRPcHAoaS5vdXRzaWRlKV0vMi10aGlzLnBvaW50ZXIuZGltZW5zaW9uc1t0aGlzLl9nZXRPcHAoaS5vdXRzaWRlKV0vMikqKHRoaXMucG9pbnRlci5hbGlnbj09dGhpcy5fZ2V0VEwodGhpcy5wb2ludGVyLmFsaWduKT8xOi0xKTpqKz10aGlzLnBvaW50ZXIuYWxpZ24hPWkucG9zaXRpb25bdGhpcy5fZ2V0T3BwKGkub3V0c2lkZSldP3RoaXMuZGltZW5zaW9uc1t0aGlzLl9nZXRPcHAoaS5vdXRzaWRlKV0qKC0xIT09dC5pbkFycmF5KHRoaXMucG9pbnRlci5hbGlnbixbXCJ0b3BcIixcImxlZnRcIl0pPzE6LTEpK3RoaXMucG9pbnRlci5kaW1lbnNpb25zW3RoaXMuX2dldE9wcChpLm91dHNpZGUpXS8yKigtMSE9PXQuaW5BcnJheSh0aGlzLnBvaW50ZXIuYWxpZ24sW1widG9wXCIsXCJsZWZ0XCJdKT8tMToxKTp0aGlzLnBvaW50ZXIuZGltZW5zaW9uc1t0aGlzLl9nZXRPcHAoaS5vdXRzaWRlKV0vMiooLTEhPT10LmluQXJyYXkodGhpcy5wb2ludGVyLmFsaWduLFtcInRvcFwiLFwibGVmdFwiXSk/MTotMSksaio9aS5wb3NpdGlvblt0aGlzLl9nZXRPcHAoaS5vdXRzaWRlKV09PXRoaXMucG9pbnRlci5hbGlnbkF0dHJpYnV0ZT8tMToxLGorPXRoaXMucG9pbnRlci5vZmZzZXQqKHRoaXMucG9pbnRlci5hbGlnbj09dGhpcy5fZ2V0T3BwKHRoaXMuX2dldFRMKHRoaXMucG9pbnRlci5hbGlnbikpPzE6LTEpLGxbdGhpcy5fZ2V0VEwodGhpcy5fZ2V0T3BwKHRoaXMucG9pbnRlci54eSkpXSs9aiksbFtpLmF0dHJpYnV0ZXMueF0rPWkub2Zmc2V0LngsbFtpLmF0dHJpYnV0ZXMueV0rPWkub2Zmc2V0LnksdGhpcy53cmFwcGVyLmNzcyhsKSxpLmFkanVzdFBvc2l0aW9uKXt0aGlzLnBvc2l0aW9uQWRqdXN0ZWQmJih0aGlzLnBvaW50ZXImJnRoaXMud3JhcHBlci5jc3MoXCJwYWRkaW5nXCIsMCkuY3NzKFwicGFkZGluZy1cIit0aGlzLl9nZXRPcHAodGhpcy5vdXRzaWRlKSx0aGlzLnBvaW50ZXIuZGltZW5zaW9uc1t0aGlzLl9nZXRYWSh0aGlzLm91dHNpZGUpXSkucmVtb3ZlQ2xhc3MoXCJqQm94LXBvaW50ZXJQb3NpdGlvbi1cIit0aGlzLl9nZXRPcHAodGhpcy5wb2ludGVyLnBvc2l0aW9uKSkuYWRkQ2xhc3MoXCJqQm94LXBvaW50ZXJQb3NpdGlvbi1cIit0aGlzLnBvaW50ZXIucG9zaXRpb24pLHRoaXMucG9pbnRlciYmdGhpcy5wb2ludGVyLmVsZW1lbnQuYXR0cihcImNsYXNzXCIsXCJqQm94LXBvaW50ZXIgakJveC1wb2ludGVyLVwiK3RoaXMuX2dldE9wcCh0aGlzLm91dHNpZGUpKS5jc3ModGhpcy5wb2ludGVyLm1hcmdpbiksdGhpcy5wb3NpdGlvbkFkanVzdGVkPSExLHRoaXMuZmxpcHBlZD0hMSk7dmFyIGM9cy50b3A+bC50b3AtKGkuYWRqdXN0RGlzdGFuY2UudG9wfHwwKSx1PXMucmlnaHQ8bC5sZWZ0K28ueCsoaS5hZGp1c3REaXN0YW5jZS5yaWdodHx8MCksZz1zLmJvdHRvbTxsLnRvcCtvLnkrKGkuYWRqdXN0RGlzdGFuY2UuYm90dG9tfHwwKSxtPXMubGVmdD5sLmxlZnQtKGkuYWRqdXN0RGlzdGFuY2UubGVmdHx8MCksZj1tP1wibGVmdFwiOnU/XCJyaWdodFwiOm51bGwseD1jP1widG9wXCI6Zz9cImJvdHRvbVwiOm51bGw7aWYoZnx8eCl7aWYoKFwiTW9kYWxcIj09dGhpcy50eXBlfHxcIkNvbmZpcm1cIj09dGhpcy50eXBlKSYmXCJudW1iZXJcIj09dC50eXBlKHRoaXMub3B0aW9ucy5wb3NpdGlvbi54KSYmXCJudW1iZXJcIj09dC50eXBlKHRoaXMub3B0aW9ucy5wb3NpdGlvbi55KSl7dmFyIHk9MCxqPTA7cmV0dXJuIHRoaXMub3B0aW9ucy5ob2xkUG9zaXRpb24mJihtP3k9cy5sZWZ0LShsLmxlZnQtKGkuYWRqdXN0RGlzdGFuY2UubGVmdHx8MCkpOnUmJih5PXMucmlnaHQtKGwubGVmdCtvLngrKGkuYWRqdXN0RGlzdGFuY2UucmlnaHR8fDApKSksYz9qPXMudG9wLShsLnRvcC0oaS5hZGp1c3REaXN0YW5jZS50b3B8fDApKTpnJiYoaj1zLmJvdHRvbS0obC50b3Arby55KyhpLmFkanVzdERpc3RhbmNlLmJvdHRvbXx8MCkpKSx0aGlzLm9wdGlvbnMucG9zaXRpb24ueD1NYXRoLm1heChzLnRvcCx0aGlzLm9wdGlvbnMucG9zaXRpb24ueCt5KSx0aGlzLm9wdGlvbnMucG9zaXRpb24ueT1NYXRoLm1heChzLmxlZnQsdGhpcy5vcHRpb25zLnBvc2l0aW9uLnkraiksZChcInhcIiksZChcInlcIiksdGhpcy53cmFwcGVyLmNzcyhsKSksdGhpcy5fZmlyZUV2ZW50KFwib25Qb3NpdGlvblwiKSx0aGlzfSEwIT09aS5hZGp1c3RQb3NpdGlvbiYmXCJmbGlwXCIhPT1pLmFkanVzdFBvc2l0aW9ufHwoYj1mdW5jdGlvbih0KXt0aGlzLndyYXBwZXIuY3NzKHRoaXMuX2dldFRMKHQpLGxbdGhpcy5fZ2V0VEwodCldKyhvW3RoaXMuX2dldFhZKHQpXStpLm9mZnNldFt0aGlzLl9nZXRYWSh0KV0qKFwidG9wXCI9PXR8fFwibGVmdFwiPT10Py0yOjIpK25bdGhpcy5fZ2V0WFkodCldKSooXCJ0b3BcIj09dHx8XCJsZWZ0XCI9PXQ/MTotMSkpLHRoaXMucG9pbnRlciYmdGhpcy53cmFwcGVyLnJlbW92ZUNsYXNzKFwiakJveC1wb2ludGVyUG9zaXRpb24tXCIrdGhpcy5wb2ludGVyLnBvc2l0aW9uKS5hZGRDbGFzcyhcImpCb3gtcG9pbnRlclBvc2l0aW9uLVwiK3RoaXMuX2dldE9wcCh0aGlzLnBvaW50ZXIucG9zaXRpb24pKS5jc3MoXCJwYWRkaW5nXCIsMCkuY3NzKFwicGFkZGluZy1cIit0LHRoaXMucG9pbnRlci5kaW1lbnNpb25zW3RoaXMuX2dldFhZKHQpXSksdGhpcy5wb2ludGVyJiZ0aGlzLnBvaW50ZXIuZWxlbWVudC5hdHRyKFwiY2xhc3NcIixcImpCb3gtcG9pbnRlciBqQm94LXBvaW50ZXItXCIrdCksdGhpcy5wb3NpdGlvbkFkanVzdGVkPSEwLHRoaXMuZmxpcHBlZD0hMH0uYmluZCh0aGlzKSxwLngmJmIodGhpcy5vcHRpb25zLnBvc2l0aW9uLngpLHAueSYmYih0aGlzLm9wdGlvbnMucG9zaXRpb24ueSkpO3ZhciBiPVwieFwiPT10aGlzLl9nZXRYWSh0aGlzLm91dHNpZGUpP3g6Zjt0aGlzLnBvaW50ZXImJlwidGFyZ2V0XCI9PWkucG9pbnRUbyYmXCJmbGlwXCIhPWkuYWRqdXN0UG9zaXRpb24mJnRoaXMuX2dldFhZKGIpPT10aGlzLl9nZXRPcHAodGhpcy5fZ2V0WFkodGhpcy5vdXRzaWRlKSkmJih4PVwiY2VudGVyXCI9PXRoaXMucG9pbnRlci5hbGlnbj9vW3RoaXMuX2dldFhZKGIpXS8yLXRoaXMucG9pbnRlci5kaW1lbnNpb25zW3RoaXMuX2dldE9wcCh0aGlzLnBvaW50ZXIueHkpXS8yLXBhcnNlSW50KHRoaXMucG9pbnRlci5lbGVtZW50LmNzcyhcIm1hcmdpbi1cIit0aGlzLnBvaW50ZXIuYWxpZ25BdHRyaWJ1dGUpKSooYiE9dGhpcy5fZ2V0VEwoYik/LTE6MSk6Yj09dGhpcy5wb2ludGVyLmFsaWduQXR0cmlidXRlP3BhcnNlSW50KHRoaXMucG9pbnRlci5lbGVtZW50LmNzcyhcIm1hcmdpbi1cIit0aGlzLnBvaW50ZXIuYWxpZ25BdHRyaWJ1dGUpKTpvW3RoaXMuX2dldFhZKGIpXS1wYXJzZUludCh0aGlzLnBvaW50ZXIuZWxlbWVudC5jc3MoXCJtYXJnaW4tXCIrdGhpcy5wb2ludGVyLmFsaWduQXR0cmlidXRlKSktdGhpcy5wb2ludGVyLmRpbWVuc2lvbnNbdGhpcy5fZ2V0WFkoYildLGY9Yj09dGhpcy5fZ2V0VEwoYik/c1t0aGlzLl9nZXRUTChiKV0tbFt0aGlzLl9nZXRUTChiKV0raS5hZGp1c3REaXN0YW5jZVtiXTotMSooc1t0aGlzLl9nZXRPcHAodGhpcy5fZ2V0VEwoYikpXS1sW3RoaXMuX2dldFRMKGIpXS1pLmFkanVzdERpc3RhbmNlW2JdLW9bdGhpcy5fZ2V0WFkoYildKSxiPT10aGlzLl9nZXRPcHAodGhpcy5fZ2V0VEwoYikpJiZsW3RoaXMuX2dldFRMKGIpXS1mPHNbdGhpcy5fZ2V0VEwoYildK2kuYWRqdXN0RGlzdGFuY2VbdGhpcy5fZ2V0VEwoYildJiYoZi09c1t0aGlzLl9nZXRUTChiKV0raS5hZGp1c3REaXN0YW5jZVt0aGlzLl9nZXRUTChiKV0tKGxbdGhpcy5fZ2V0VEwoYildLWYpKSwoZj1NYXRoLm1pbihmLHgpKTw9eCYmMDxmJiYodGhpcy5wb2ludGVyLmVsZW1lbnQuY3NzKFwibWFyZ2luLVwiK3RoaXMucG9pbnRlci5hbGlnbkF0dHJpYnV0ZSxwYXJzZUludCh0aGlzLnBvaW50ZXIuZWxlbWVudC5jc3MoXCJtYXJnaW4tXCIrdGhpcy5wb2ludGVyLmFsaWduQXR0cmlidXRlKSktZiooYiE9dGhpcy5wb2ludGVyLmFsaWduQXR0cmlidXRlPy0xOjEpKSx0aGlzLndyYXBwZXIuY3NzKHRoaXMuX2dldFRMKGIpLGxbdGhpcy5fZ2V0VEwoYildK2YqKGIhPXRoaXMuX2dldFRMKGIpPy0xOjEpKSx0aGlzLnBvc2l0aW9uQWRqdXN0ZWQ9ITApKX19cmV0dXJuIHRoaXMuX2ZpcmVFdmVudChcIm9uUG9zaXRpb25cIiksdGhpc30sKGkucHJvdG90eXBlLnVuc2Nyb2xsPWZ1bmN0aW9uKHQpe2lmKHRoaXMuc2V0PWZ1bmN0aW9uKHQsaSl7d2luZG93LnVuc2Nyb2xsU3RvcmV8fCh3aW5kb3cudW5zY3JvbGxTdG9yZT17fSksd2luZG93LnVuc2Nyb2xsU3RvcmVbdF09aX0sdGhpcy5nZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHdpbmRvdy51bnNjcm9sbFN0b3JlP3dpbmRvdy51bnNjcm9sbFN0b3JlW3RdOm51bGx9LHRoaXMuZ2V0U2Nyb2xsYmFyV2lkdGg9ZnVuY3Rpb24oKXtpZih0aGlzLmdldChcInNjcm9sbGJhcldpZHRoXCIpKXJldHVybiB0aGlzLmdldChcInNjcm9sbGJhcldpZHRoXCIpK1wicHhcIjt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO3Quc3R5bGUud2lkdGg9XCIxMDBweFwiLHQuc3R5bGUuaGVpZ2h0PVwiMTAwcHhcIix0LnN0eWxlLm92ZXJmbG93PVwic2Nyb2xsXCIsdC5zdHlsZS5wb3NpdGlvbj1cImFic29sdXRlXCIsdC5zdHlsZS50b3A9XCItMTAwMDBcIixkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHQpO3ZhciBpPXQub2Zmc2V0V2lkdGgtdC5jbGllbnRXaWR0aDtyZXR1cm4gZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0KSx0aGlzLnNldChcInNjcm9sbGJhcldpZHRoXCIsaSksaStcInB4XCJ9LHRoaXMuZ2V0RWxlbWVudHNUb0FkanVzdD1mdW5jdGlvbih0KXsodD1cInN0cmluZ1wiPT10eXBlb2YodD10fHxbXSk/W1t0LFwicGFkZGluZy1yaWdodFwiXV06dCkuZm9yRWFjaChmdW5jdGlvbihpLG8pe1wic3RyaW5nXCI9PXR5cGVvZiBpJiYodFtvXT1baSxcInBhZGRpbmctcmlnaHRcIl0pfSk7Zm9yKHZhciBpPSExLG89MDtvPHQubGVuZ3RoO28rKyktMSE9PXRbb11bMF0uaW5kZXhPZihcImJvZHlcIikmJihpPSEwKTtyZXR1cm4hMT09PWkmJnQucHVzaChbXCJib2R5XCIsXCJwYWRkaW5nLXJpZ2h0XCJdKSx0fSx0aGlzLnBhZ2VIYXNTY3JvbGxiYXI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRTY3JvbGxiYXJXaWR0aCgpJiZkb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodD53aW5kb3cuaW5uZXJIZWlnaHR9LHRoaXMucGFnZUhhc1Njcm9sbGJhcigpKXt0PXRoaXMuZ2V0RWxlbWVudHNUb0FkanVzdCh0KTtmb3IodmFyIGk9MDtpPHQubGVuZ3RoO2krKylmb3IodmFyIG89ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCh0W2ldWzBdKSxzPTA7czxvLmxlbmd0aDtzKyspe2lmKG9bc10uZ2V0QXR0cmlidXRlKFwiZGF0YS11bnNjcm9sbFwiKSlyZXR1cm47dmFyIGU9dFtpXVsxXSxuPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG9bc10pLmdldFByb3BlcnR5VmFsdWUoZSk7b1tzXS5zZXRBdHRyaWJ1dGUoXCJkYXRhLXVuc2Nyb2xsXCIsZSksbj1ufHxcIjBweFwiO3ZhciBhPVwicGFkZGluZy1yaWdodFwiPT1lfHxcInJpZ2h0XCI9PWU/XCIrXCI6XCItXCI7b1tzXS5zdHlsZVtlXT1cImNhbGMoXCIrbitcIiBcIithK1wiIFwiK3RoaXMuZ2V0U2Nyb2xsYmFyV2lkdGgoKStcIilcIn19dmFyIGgscjtkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcInVuc2Nyb2xsLWNsYXNzLW5hbWVcIil8fChoPWRvY3VtZW50LmhlYWR8fGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiaGVhZFwiKVswXSwocj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIikpLnR5cGU9XCJ0ZXh0L2Nzc1wiLHIuc2V0QXR0cmlidXRlKFwiaWRcIixcInVuc2Nyb2xsLWNsYXNzLW5hbWVcIiksci5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShcIi51bnNjcm9sbGFibGUgeyBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7IH1cIikpLGguYXBwZW5kQ2hpbGQocikpLGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZChcInVuc2Nyb2xsYWJsZVwiKX0pLnJlc2V0PWZ1bmN0aW9uKCl7Zm9yKHZhciB0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXCJbZGF0YS11bnNjcm9sbF1cIiksaT0wO2k8dC5sZW5ndGg7aSsrKXt2YXIgbz10W2ldLmdldEF0dHJpYnV0ZShcImRhdGEtdW5zY3JvbGxcIik7dFtpXS5zdHlsZVtvXT1udWxsLHRbaV0ucmVtb3ZlQXR0cmlidXRlKFwiZGF0YS11bnNjcm9sbFwiKX1kb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoXCJ1bnNjcm9sbGFibGVcIil9LGkucHJvdG90eXBlLm9wZW49ZnVuY3Rpb24obyl7aWYobz1vfHx7fSx0aGlzLmlzRGVzdHJveWVkKXJldHVybiB0aGlzO2lmKHRoaXMud3JhcHBlcnx8dGhpcy5fY3JlYXRlKCksdGhpcy5fc3R5bGVzfHwodGhpcy5fc3R5bGVzPXQoXCI8c3R5bGUvPlwiKS5hcHBlbmQodGhpcy5fYW5pbWF0aW9uQ1NTKS5hcHBlbmRUbyh0KFwiaGVhZFwiKSkpLHRoaXMudGltZXImJmNsZWFyVGltZW91dCh0aGlzLnRpbWVyKSx0aGlzLl9ibG9ja0JvZHlDbGljaygpLHRoaXMuaXNEaXNhYmxlZClyZXR1cm4gdGhpczt0aGlzLm9wdGlvbnMuY2xvc2VPbkVzYyYmdChkb2N1bWVudCkub24oXCJrZXl1cC5qQm94LVwiK3RoaXMuaWQsZnVuY3Rpb24odCl7Mjc9PXQua2V5Q29kZSYmdGhpcy5jbG9zZSh7aWdub3JlRGVsYXk6ITB9KX0uYmluZCh0aGlzKSksITAhPT10aGlzLm9wdGlvbnMuY2xvc2VPbkNsaWNrJiZcImJvZHlcIiE9PXRoaXMub3B0aW9ucy5jbG9zZU9uQ2xpY2t8fCh0KFwiYm9keVwiKS5vbihcImNsaWNrLmpCb3gtXCIrdGhpcy5pZCtcIiB0YXAuakJveC1cIit0aGlzLmlkLGZ1bmN0aW9uKHQpe3RoaXMuYmxvY2tCb2R5Q2xpY2t8fFwiYm9keVwiPT10aGlzLm9wdGlvbnMuY2xvc2VPbkNsaWNrJiYodC50YXJnZXQ9PXRoaXMud3JhcHBlclswXXx8dGhpcy53cmFwcGVyLmhhcyh0LnRhcmdldCkubGVuZ3RoKXx8dGhpcy5jbG9zZSh7aWdub3JlRGVsYXk6ITB9KX0uYmluZCh0aGlzKSksdGhpcy5pc1RvdWNoRGV2aWNlJiZ0KFwiYm9keSA+ICpcIikub24oXCJjbGljay5qQm94LVwiK3RoaXMuaWQrXCIgdGFwLmpCb3gtXCIrdGhpcy5pZCxmdW5jdGlvbigpe3JldHVybiEwfSkpO3ZhciBzPWZ1bmN0aW9uKCl7ITA9PT10aGlzLmFkanVzdFpJbmRleE9uT3BlbiYmKGkuekluZGV4TWF4PU1hdGgubWF4KHBhcnNlSW50KHRoaXMud3JhcHBlci5jc3MoXCJ6SW5kZXhcIiksMTApLHRoaXMub3B0aW9ucy56SW5kZXgsaS56SW5kZXhNYXh8fDAsaS56SW5kZXhNYXhEcmFnb3Zlcnx8MCkrMix0aGlzLndyYXBwZXIuY3NzKFwiekluZGV4XCIsaS56SW5kZXhNYXgpLHRoaXMub3B0aW9ucy56SW5kZXg9aS56SW5kZXhNYXgpLHRoaXMuc291cmNlJiZ0aGlzLm9wdGlvbnMuZ2V0VGl0bGUmJnRoaXMuc291cmNlLmF0dHIodGhpcy5vcHRpb25zLmdldFRpdGxlKSYmdGhpcy5zZXRUaXRsZSh0aGlzLnNvdXJjZS5hdHRyKHRoaXMub3B0aW9ucy5nZXRUaXRsZSksITApLHRoaXMuc291cmNlJiZ0aGlzLm9wdGlvbnMuZ2V0Q29udGVudCYmKHRoaXMuc291cmNlLmRhdGEoXCJqQm94LWdldENvbnRlbnRcIik/dGhpcy5zZXRDb250ZW50KHRoaXMuc291cmNlLmRhdGEoXCJqQm94LWdldENvbnRlbnRcIiksITApOnRoaXMuc291cmNlLmF0dHIodGhpcy5vcHRpb25zLmdldENvbnRlbnQpP3RoaXMuc2V0Q29udGVudCh0aGlzLnNvdXJjZS5hdHRyKHRoaXMub3B0aW9ucy5nZXRDb250ZW50KSwhMCk6XCJodG1sXCI9PXRoaXMub3B0aW9ucy5nZXRDb250ZW50JiZ0aGlzLnNldENvbnRlbnQodGhpcy5zb3VyY2UuaHRtbCgpLCEwKSksdGhpcy5fZmlyZUV2ZW50KFwib25PcGVuXCIpLCh0aGlzLm9wdGlvbnMuYWpheCYmKHRoaXMub3B0aW9ucy5hamF4LnVybHx8dGhpcy5zb3VyY2UmJnRoaXMuc291cmNlLmF0dHIodGhpcy5vcHRpb25zLmFqYXguZ2V0VVJMKSkmJighdGhpcy5hamF4TG9hZGVkfHx0aGlzLm9wdGlvbnMuYWpheC5yZWxvYWQpfHxvLmFqYXgmJihvLmFqYXgudXJsfHxvLmFqYXguZGF0YSkpJiYoXCJzdHJpY3RcIj09dGhpcy5vcHRpb25zLmFqYXgucmVsb2FkfHwhdGhpcy5zb3VyY2V8fCF0aGlzLnNvdXJjZS5kYXRhKFwiakJveC1hamF4LWRhdGFcIil8fG8uYWpheCYmKG8uYWpheC51cmx8fG8uYWpheC5kYXRhKT90aGlzLmFqYXgoby5hamF4fHxudWxsLCEwKTp0aGlzLnNldENvbnRlbnQodGhpcy5zb3VyY2UuZGF0YShcImpCb3gtYWpheC1kYXRhXCIpKSksdGhpcy5wb3NpdGlvbmVkT25PcGVuJiYhdGhpcy5vcHRpb25zLnJlcG9zaXRpb25Pbk9wZW58fCF0aGlzLnBvc2l0aW9uKG8pfHwodGhpcy5wb3NpdGlvbmVkT25PcGVuPSEwKSx0aGlzLmlzQ2xvc2luZyYmdGhpcy5fYWJvcnRBbmltYXRpb24oKSx0aGlzLmlzT3Blbnx8KHRoaXMuaXNPcGVuPSEwLHRoaXMub3B0aW9ucy5hdXRvQ2xvc2UmJih0aGlzLm9wdGlvbnMuZGVsYXlDbG9zZT10aGlzLm9wdGlvbnMuYXV0b0Nsb3NlKSYmdGhpcy5jbG9zZSgpLHRoaXMuX2F0dGFjaEV2ZW50cygpLHRoaXMub3B0aW9ucy5ibG9ja1Njcm9sbCYmKHRoaXMub3B0aW9ucy5ibG9ja1Njcm9sbEFkanVzdD9pLmJsb2NrU2Nyb2xsU2NvcGVzP2kuYmxvY2tTY3JvbGxTY29wZXMrKzooaS5ibG9ja1Njcm9sbFNjb3Blcz0xLHRoaXMudW5zY3JvbGwoQXJyYXkuaXNBcnJheSh0aGlzLm9wdGlvbnMuYmxvY2tTY3JvbGxBZGp1c3QpfHxcInN0cmluZ1wiPT10eXBlb2YgdGhpcy5vcHRpb25zLmJsb2NrU2Nyb2xsQWRqdXN0P3RoaXMub3B0aW9ucy5ibG9ja1Njcm9sbEFkanVzdDpudWxsKSk6dChcImJvZHlcIikuYWRkQ2xhc3MoXCJqQm94LWJsb2NrU2Nyb2xsLVwiK3RoaXMuaWQpKSx0aGlzLm9wdGlvbnMub3ZlcmxheSYmKHRoaXMuX3Nob3dPdmVybGF5KCksdGhpcy5wb3NpdGlvbigpKSx0aGlzLm9wdGlvbnMuYW5pbWF0aW9uJiYhdGhpcy5pc0Nsb3NpbmcmJnRoaXMuX2FuaW1hdGUoXCJvcGVuXCIpLHRoaXMub3B0aW9ucy5hdWRpbyYmdGhpcy5vcHRpb25zLmF1ZGlvLm9wZW4mJnRoaXMuYXVkaW8odGhpcy5vcHRpb25zLmF1ZGlvLm9wZW4sdGhpcy5vcHRpb25zLnZvbHVtZS5vcGVuKSx0aGlzLm9wdGlvbnMuZmFkZT90aGlzLndyYXBwZXIuc3RvcCgpLmFuaW1hdGUoe29wYWNpdHk6MX0se3F1ZXVlOiExLGR1cmF0aW9uOnRoaXMub3B0aW9ucy5mYWRlLHN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5pc09wZW5pbmc9ITAsdGhpcy53cmFwcGVyLmNzcyh7ZGlzcGxheTpcImJsb2NrXCJ9KX0uYmluZCh0aGlzKSxhbHdheXM6ZnVuY3Rpb24oKXt0aGlzLmlzT3BlbmluZz0hMSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhpcy5wb3NpdGlvbk9uRmFkZUNvbXBsZXRlJiZ0aGlzLnBvc2l0aW9uKCkmJih0aGlzLnBvc2l0aW9uT25GYWRlQ29tcGxldGU9ITEpfS5iaW5kKHRoaXMpLDEwKX0uYmluZCh0aGlzKX0pOih0aGlzLndyYXBwZXIuY3NzKHtkaXNwbGF5OlwiYmxvY2tcIixvcGFjaXR5OjF9KSx0aGlzLnBvc2l0aW9uT25GYWRlQ29tcGxldGUmJnRoaXMucG9zaXRpb24oKSYmKHRoaXMucG9zaXRpb25PbkZhZGVDb21wbGV0ZT0hMSkpKX0uYmluZCh0aGlzKTtyZXR1cm4hdGhpcy5vcHRpb25zLmRlbGF5T3Blbnx8dGhpcy5pc09wZW58fHRoaXMuaXNDbG9zaW5nfHxvLmlnbm9yZURlbGF5P3MoKTp0aGlzLnRpbWVyPXNldFRpbWVvdXQocyx0aGlzLm9wdGlvbnMuZGVsYXlPcGVuKSx0aGlzfSxpLnByb3RvdHlwZS5jbG9zZT1mdW5jdGlvbihvKXtpZihvPW98fHt9LHQoXCJib2R5XCIpLm9mZihcImNsaWNrLmpCb3gtXCIrdGhpcy5pZCtcIiB0YXAuakJveC1cIit0aGlzLmlkKSx0aGlzLmlzVG91Y2hEZXZpY2UmJnQoXCJib2R5ID4gKlwiKS5vZmYoXCJjbGljay5qQm94LVwiK3RoaXMuaWQrXCIgdGFwLmpCb3gtXCIrdGhpcy5pZCksdGhpcy5pc0Rlc3Ryb3llZHx8dGhpcy5pc0Nsb3NpbmcpcmV0dXJuIHRoaXM7aWYodGhpcy50aW1lciYmY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpLHRoaXMuX2Jsb2NrQm9keUNsaWNrKCksdGhpcy5pc0Rpc2FibGVkKXJldHVybiB0aGlzO3ZhciBzLGUsbixhPWZ1bmN0aW9uKCl7dmFyIG87dGhpcy5fZmlyZUV2ZW50KFwib25DbG9zZVwiKSx0aGlzLm9wdGlvbnMuY2FuY2VsQWpheE9uQ2xvc2UmJnRoaXMuY2FuY2VsQWpheCgpLHRoaXMuaXNPcGVuJiYodGhpcy5pc09wZW49ITEsdGhpcy5fZGV0YWNoRXZlbnRzKCksdGhpcy5vcHRpb25zLmJsb2NrU2Nyb2xsJiYodGhpcy5vcHRpb25zLmJsb2NrU2Nyb2xsQWRqdXN0PyhpLmJsb2NrU2Nyb2xsU2NvcGVzPWkuYmxvY2tTY3JvbGxTY29wZXM/LS1pLmJsb2NrU2Nyb2xsU2NvcGVzOjApfHx0aGlzLnVuc2Nyb2xsLnJlc2V0KCk6dChcImJvZHlcIikucmVtb3ZlQ2xhc3MoXCJqQm94LWJsb2NrU2Nyb2xsLVwiK3RoaXMuaWQpKSx0aGlzLm9wdGlvbnMub3ZlcmxheSYmdGhpcy5faGlkZU92ZXJsYXkoKSx0aGlzLm9wdGlvbnMuYW5pbWF0aW9uJiYhdGhpcy5pc09wZW5pbmcmJnRoaXMuX2FuaW1hdGUoXCJjbG9zZVwiKSx0aGlzLm9wdGlvbnMuYXVkaW8mJnRoaXMub3B0aW9ucy5hdWRpby5jbG9zZSYmdGhpcy5hdWRpbyh0aGlzLm9wdGlvbnMuYXVkaW8uY2xvc2UsdGhpcy5vcHRpb25zLnZvbHVtZS5jbG9zZSksKG89dGhpcy5pc1RvdWNoRGV2aWNlJiZcIm1vdXNlXCI9PXRoaXMub3B0aW9ucy50YXJnZXQ/MDp0aGlzLm9wdGlvbnMuZmFkZSk/dGhpcy53cmFwcGVyLnN0b3AoKS5hbmltYXRlKHtvcGFjaXR5OjB9LHtxdWV1ZTohMSxkdXJhdGlvbjpvLHN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5pc0Nsb3Npbmc9ITB9LmJpbmQodGhpcyksY29tcGxldGU6ZnVuY3Rpb24oKXt0aGlzLndyYXBwZXIuY3NzKHtkaXNwbGF5Olwibm9uZVwifSksdGhpcy5fZmlyZUV2ZW50KFwib25DbG9zZUNvbXBsZXRlXCIpfS5iaW5kKHRoaXMpLGFsd2F5czpmdW5jdGlvbigpe3RoaXMuaXNDbG9zaW5nPSExfS5iaW5kKHRoaXMpfSk6KHRoaXMud3JhcHBlci5jc3Moe2Rpc3BsYXk6XCJub25lXCIsb3BhY2l0eTowfSksdGhpcy5fZmlyZUV2ZW50KFwib25DbG9zZUNvbXBsZXRlXCIpKSl9LmJpbmQodGhpcyk7cmV0dXJuIG8uaWdub3JlRGVsYXl8fHRoaXMuaXNUb3VjaERldmljZSYmXCJtb3VzZVwiPT10aGlzLm9wdGlvbnMudGFyZ2V0P2EoKToodGhpcy5vcHRpb25zLmRlbGF5T25Ib3Zlcnx8dGhpcy5vcHRpb25zLnNob3dDb3VudGRvd24pJiYxMDx0aGlzLm9wdGlvbnMuZGVsYXlDbG9zZT8oZT0ocz10aGlzKS5vcHRpb25zLmRlbGF5Q2xvc2Usbj1EYXRlLm5vdygpLHRoaXMub3B0aW9ucy5zaG93Q291bnRkb3duJiYhdGhpcy5pbm5lciYmKG89dCgnPGRpdiBjbGFzcz1cImpCb3gtY291bnRkb3duXCIgLz4nKSx0aGlzLmlubmVyPXQoJzxkaXYgY2xhc3M9XCJqQm94LWNvdW50ZG93bi1pbm5lclwiIC8+Jyksby5wcmVwZW5kKHRoaXMuaW5uZXIpLHQoXCIjXCIrdGhpcy5pZCkuYXBwZW5kKG8pKSx0aGlzLmNvdW50ZG93bj1mdW5jdGlvbigpe3ZhciB0PURhdGUubm93KCk7cy5pc0hvdmVyZWR8fChlLT10LW4pLG49dCwwPGU/KHMub3B0aW9ucy5zaG93Q291bnRkb3duJiZzLmlubmVyLmNzcyhcIndpZHRoXCIsMTAwKmUvcy5vcHRpb25zLmRlbGF5Q2xvc2UrXCIlXCIpLHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUocy5jb3VudGRvd24pKTphKCl9LHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGhpcy5jb3VudGRvd24pKTp0aGlzLnRpbWVyPXNldFRpbWVvdXQoYSxNYXRoLm1heCh0aGlzLm9wdGlvbnMuZGVsYXlDbG9zZSwxMCkpLHRoaXN9LGkucHJvdG90eXBlLnRvZ2dsZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpc1t0aGlzLmlzT3Blbj9cImNsb3NlXCI6XCJvcGVuXCJdKHQpLHRoaXN9LGkucHJvdG90eXBlLmRpc2FibGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pc0Rpc2FibGVkPSEwLHRoaXN9LGkucHJvdG90eXBlLmVuYWJsZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlzRGlzYWJsZWQ9ITEsdGhpc30saS5wcm90b3R5cGUuaGlkZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmRpc2FibGUoKSx0aGlzLndyYXBwZXImJih0aGlzLmNhY2hlV3JhcHBlckRpc3BsYXk9dGhpcy53cmFwcGVyLmNzcyhcImRpc3BsYXlcIiksdGhpcy53cmFwcGVyLmNzcyh7ZGlzcGxheTpcIm5vbmVcIn0pKSx0aGlzLm92ZXJsYXkmJih0aGlzLmNhY2hlT3ZlcmxheURpc3BsYXk9dGhpcy5vdmVybGF5LmNzcyhcImRpc3BsYXlcIiksdGhpcy5vdmVybGF5LmNzcyh7ZGlzcGxheTpcIm5vbmVcIn0pKSx0aGlzfSxpLnByb3RvdHlwZS5zaG93PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZW5hYmxlKCksdGhpcy53cmFwcGVyJiZ0aGlzLmNhY2hlV3JhcHBlckRpc3BsYXkmJih0aGlzLndyYXBwZXIuY3NzKHtkaXNwbGF5OnRoaXMuY2FjaGVXcmFwcGVyRGlzcGxheX0pLHRoaXMuY2FjaGVXcmFwcGVyRGlzcGxheT1udWxsKSx0aGlzLm92ZXJsYXkmJnRoaXMuY2FjaGVPdmVybGF5RGlzcGxheSYmKHRoaXMub3ZlcmxheS5jc3Moe2Rpc3BsYXk6dGhpcy5jYWNoZU92ZXJsYXlEaXNwbGF5fSksdGhpcy5jYWNoZU92ZXJsYXlEaXNwbGF5PW51bGwpLHRoaXN9LGkucHJvdG90eXBlLmFqYXg9ZnVuY3Rpb24oaSxvKXtpPWl8fHt9LHQuZWFjaChbW1wiZ2V0RGF0YVwiLFwiZGF0YVwiXSxbXCJnZXRVUkxcIixcInVybFwiXV0sZnVuY3Rpb24odCxvKXt0aGlzLm9wdGlvbnMuYWpheFtvWzBdXSYmIWlbb1sxXV0mJnRoaXMuc291cmNlJiZudWxsIT10aGlzLnNvdXJjZS5hdHRyKHRoaXMub3B0aW9ucy5hamF4W29bMF1dKSYmKGlbb1sxXV09dGhpcy5zb3VyY2UuYXR0cih0aGlzLm9wdGlvbnMuYWpheFtvWzBdXSl8fFwiXCIpfS5iaW5kKHRoaXMpKTt2YXIgcz10LmV4dGVuZCghMCx7fSx0aGlzLm9wdGlvbnMuYWpheCk7dGhpcy5jYW5jZWxBamF4KCk7dmFyIGU9aS5iZWZvcmVTZW5kfHxzLmJlZm9yZVNlbmR8fGZ1bmN0aW9uKCl7fSxuPWkuY29tcGxldGV8fHMuY29tcGxldGV8fGZ1bmN0aW9uKCl7fSxhPWkuc3VjY2Vzc3x8cy5zdWNjZXNzfHxmdW5jdGlvbigpe30saD1pLmVycm9yfHxzLmVycm9yfHxmdW5jdGlvbigpe30scj10LmV4dGVuZCghMCxzLGkpO3JldHVybiByLmJlZm9yZVNlbmQ9ZnVuY3Rpb24oaSl7ci5sb2FkaW5nQ2xhc3MmJnRoaXMud3JhcHBlci5hZGRDbGFzcyghMD09PXIubG9hZGluZ0NsYXNzP1wiakJveC1sb2FkaW5nXCI6ci5sb2FkaW5nQ2xhc3MpLHIuc3Bpbm5lciYmKHRoaXMuc3Bpbm5lckRlbGF5PXNldFRpbWVvdXQoZnVuY3Rpb24oKXt0aGlzLndyYXBwZXIuYWRkQ2xhc3MoXCJqQm94LWxvYWRpbmctc3Bpbm5lclwiKSxyLnNwaW5uZXJSZXBvc2l0aW9uJiYobz90aGlzLnBvc2l0aW9uT25GYWRlQ29tcGxldGU9ITA6dGhpcy5wb3NpdGlvbigpKSx0aGlzLnNwaW5uZXI9dCghMCE9PXIuc3Bpbm5lcj9yLnNwaW5uZXI6JzxkaXYgY2xhc3M9XCJqQm94LXNwaW5uZXJcIj48L2Rpdj4nKS5hcHBlbmRUbyh0aGlzLmNvbnRhaW5lciksdGhpcy50aXRsZUNvbnRhaW5lciYmXCJhYnNvbHV0ZVwiPT10aGlzLnNwaW5uZXIuY3NzKFwicG9zaXRpb25cIikmJnRoaXMuc3Bpbm5lci5jc3Moe3RyYW5zZm9ybTpcInRyYW5zbGF0ZVkoXCIrLjUqdGhpcy50aXRsZUNvbnRhaW5lci5vdXRlckhlaWdodCgpK1wicHgpXCJ9KX0uYmluZCh0aGlzKSxcIlwiIT10aGlzLmNvbnRlbnQuaHRtbCgpJiZyLnNwaW5uZXJEZWxheXx8MCkpLGUuYmluZCh0aGlzKShpKX0uYmluZCh0aGlzKSxyLmNvbXBsZXRlPWZ1bmN0aW9uKHQpe3RoaXMuc3Bpbm5lckRlbGF5JiZjbGVhclRpbWVvdXQodGhpcy5zcGlubmVyRGVsYXkpLHRoaXMud3JhcHBlci5yZW1vdmVDbGFzcyhcImpCb3gtbG9hZGluZyBqQm94LWxvYWRpbmctc3Bpbm5lciBqQm94LWxvYWRpbmctc3Bpbm5lci1kZWxheVwiKSx0aGlzLnNwaW5uZXImJnRoaXMuc3Bpbm5lci5sZW5ndGgmJnRoaXMuc3Bpbm5lci5yZW1vdmUoKSYmci5zcGlubmVyUmVwb3NpdGlvbiYmKG8/dGhpcy5wb3NpdGlvbk9uRmFkZUNvbXBsZXRlPSEwOnRoaXMucG9zaXRpb24oKSksdGhpcy5hamF4TG9hZGVkPSEwLG4uYmluZCh0aGlzKSh0KX0uYmluZCh0aGlzKSxyLnN1Y2Nlc3M9ZnVuY3Rpb24odCl7ci5zZXRDb250ZW50JiZ0aGlzLnNldENvbnRlbnQodCwhMCkmJihvP3RoaXMucG9zaXRpb25PbkZhZGVDb21wbGV0ZT0hMDp0aGlzLnBvc2l0aW9uKCkpLHIuc2V0Q29udGVudCYmdGhpcy5zb3VyY2UmJnRoaXMuc291cmNlLmRhdGEoXCJqQm94LWFqYXgtZGF0YVwiLHQpLGEuYmluZCh0aGlzKSh0KX0uYmluZCh0aGlzKSxyLmVycm9yPWZ1bmN0aW9uKHQpe2guYmluZCh0aGlzKSh0KX0uYmluZCh0aGlzKSx0aGlzLmFqYXhSZXF1ZXN0PXQuYWpheChyKSx0aGlzfSxpLnByb3RvdHlwZS5jYW5jZWxBamF4PWZ1bmN0aW9uKCl7dGhpcy5hamF4UmVxdWVzdCYmKHRoaXMuYWpheFJlcXVlc3QuYWJvcnQoKSx0aGlzLmFqYXhMb2FkZWQ9ITEpfSxpLnByb3RvdHlwZS5hdWRpbz1mdW5jdGlvbihvLHMpe2lmKCFvKXJldHVybiB0aGlzO3ZhciBlOyhpLl9hdWRpbz1pLl9hdWRpbz9pLl9hdWRpbzp7fSlbb118fChlPXQoXCI8YXVkaW8vPlwiKSx0KFwiPHNvdXJjZS8+XCIse3NyYzpvK1wiLm1wM1wifSkuYXBwZW5kVG8oZSksdChcIjxzb3VyY2UvPlwiLHtzcmM6bytcIi5vZ2dcIn0pLmFwcGVuZFRvKGUpLGkuX2F1ZGlvW29dPWVbMF0pLGkuX2F1ZGlvW29dLnZvbHVtZT1NYXRoLm1pbigobnVsbCE9cz9zOjEwMCkvMTAwLDEpO3RyeXtpLl9hdWRpb1tvXS5wYXVzZSgpLGkuX2F1ZGlvW29dLmN1cnJlbnRUaW1lPTB9Y2F0Y2gobyl7fXJldHVybiBpLl9hdWRpb1tvXS5wbGF5KCksdGhpc30saS5fYW5pbWF0aW9uU3BlZWRzPXt0YWRhOjFlMyx0YWRhU21hbGw6MWUzLGZsYXNoOjUwMCxzaGFrZTo0MDAscHVsc2VVcDoyNTAscHVsc2VEb3duOjI1MCxwb3BJbjoyNTAscG9wT3V0OjI1MCxmYWRlSW46MjAwLGZhZGVPdXQ6MjAwLHNsaWRlVXA6NDAwLHNsaWRlUmlnaHQ6NDAwLHNsaWRlTGVmdDo0MDAsc2xpZGVEb3duOjQwMH0saS5wcm90b3R5cGUuYW5pbWF0ZT1mdW5jdGlvbih0LG8pe289b3x8e30sdGhpcy5hbmltYXRpb25UaW1lb3V0fHwodGhpcy5hbmltYXRpb25UaW1lb3V0PXt9KSxvLmVsZW1lbnR8fChvLmVsZW1lbnQ9dGhpcy53cmFwcGVyKSxvLmVsZW1lbnQuZGF0YShcImpCb3gtYW5pbWF0aW5nLWlkXCIpfHxvLmVsZW1lbnQuZGF0YShcImpCb3gtYW5pbWF0aW5nLWlkXCIsaS5fZ2V0VW5pcXVlRWxlbWVudElEKCkpLG8uZWxlbWVudC5kYXRhKFwiakJveC1hbmltYXRpbmdcIikmJihvLmVsZW1lbnQucmVtb3ZlQ2xhc3Moby5lbGVtZW50LmRhdGEoXCJqQm94LWFuaW1hdGluZ1wiKSkuZGF0YShcImpCb3gtYW5pbWF0aW5nXCIsbnVsbCksdGhpcy5hbmltYXRpb25UaW1lb3V0W28uZWxlbWVudC5kYXRhKFwiakJveC1hbmltYXRpbmctaWRcIildJiZjbGVhclRpbWVvdXQodGhpcy5hbmltYXRpb25UaW1lb3V0W28uZWxlbWVudC5kYXRhKFwiakJveC1hbmltYXRpbmctaWRcIildKSksby5lbGVtZW50LmFkZENsYXNzKFwiakJveC1hbmltYXRlZC1cIit0KS5kYXRhKFwiakJveC1hbmltYXRpbmdcIixcImpCb3gtYW5pbWF0ZWQtXCIrdCksdGhpcy5hbmltYXRpb25UaW1lb3V0W28uZWxlbWVudC5kYXRhKFwiakJveC1hbmltYXRpbmctaWRcIildPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtvLmVsZW1lbnQucmVtb3ZlQ2xhc3Moby5lbGVtZW50LmRhdGEoXCJqQm94LWFuaW1hdGluZ1wiKSkuZGF0YShcImpCb3gtYW5pbWF0aW5nXCIsbnVsbCksby5jb21wbGV0ZSYmby5jb21wbGV0ZSgpfSxpLl9hbmltYXRpb25TcGVlZHNbdF0pfSxpLnByb3RvdHlwZS5zd2lwZURldGVjdG9yPWZ1bmN0aW9uKGksbyl7dmFyIHM9MCxlPTAsbj0wLGE9MCxoPTA7cmV0dXJuIG89dC5leHRlbmQoe3N3aXBlVGhyZXNob2xkOjcwLHVzZU9ubHlUb3VjaDohMX0sbyksaS5vbihcIm1vdXNlZG93biB0b3VjaHN0YXJ0XCIsZnVuY3Rpb24odCl7by51c2VPbmx5VG91Y2gmJiF0Lm9yaWdpbmFsRXZlbnQudG91Y2hlc3x8KHQub3JpZ2luYWxFdmVudC50b3VjaGVzJiYodD10Lm9yaWdpbmFsRXZlbnQudG91Y2hlc1swXSksMD09PXMmJihzPTEsZT10LmNsaWVudFgsbj10LmNsaWVudFkpKX0pLHQoXCJodG1sXCIpLm9uKFwibW91c2V1cCB0b3VjaGVuZFwiLGZ1bmN0aW9uKGUpezI9PT1zJiYocz0wLE1hdGguYWJzKGEpPk1hdGguYWJzKGgpJiZNYXRoLmFicyhhKT5vLnN3aXBlVGhyZXNob2xkP2E8MD9pLnRyaWdnZXIodC5FdmVudChcInN3aXBlTGVmdC5zZFwiKSk6aS50cmlnZ2VyKHQuRXZlbnQoXCJzd2lwZVJpZ2h0LnNkXCIpKTpNYXRoLmFicyhoKT5vLnN3aXBlVGhyZXNob2xkJiYoaDwwP2kudHJpZ2dlcih0LkV2ZW50KFwic3dpcGVVcC5zZFwiKSk6aS50cmlnZ2VyKHQuRXZlbnQoXCJzd2lwZURvd24uc2RcIikpKSl9KSx0KFwiaHRtbFwiKS5vbihcIm1vdXNlbW92ZSB0b3VjaG1vdmVcIixmdW5jdGlvbih0KXt2YXIgaTsxPT09cyYmKGk9KHQ9dC5vcmlnaW5hbEV2ZW50LnRvdWNoZXM/dC5vcmlnaW5hbEV2ZW50LnRvdWNoZXNbMF06dCkuY2xpZW50WC1lLHQ9dC5jbGllbnRZLW4sKE1hdGguYWJzKGkpPm8uc3dpcGVUaHJlc2hvbGR8fE1hdGguYWJzKHQpPm8uc3dpcGVUaHJlc2hvbGQpJiYocz0yLGE9aSxoPXQpKX0pLGl9LGkucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kZXRhY2goKSx0aGlzLmlzT3BlbiYmdGhpcy5jbG9zZSh7aWdub3JlRGVsYXk6ITB9KSx0aGlzLndyYXBwZXImJnRoaXMud3JhcHBlci5yZW1vdmUoKSx0aGlzLm92ZXJsYXkmJnRoaXMub3ZlcmxheS5yZW1vdmUoKSx0aGlzLl9zdHlsZXMmJnRoaXMuX3N0eWxlcy5yZW1vdmUoKSx0aGlzLmlzRGVzdHJveWVkPSEwLHRoaXN9LGkuX2dldFVuaXF1ZUlEPShvPTEsZnVuY3Rpb24oKXtyZXR1cm4gbysrfSksaS5fZ2V0VW5pcXVlRWxlbWVudElEPShzPTEsZnVuY3Rpb24oKXtyZXR1cm4gcysrfSksaS5fcGx1Z2luT3B0aW9ucz17fSxpLnBsdWdpbj1mdW5jdGlvbih0LG8pe2kuX3BsdWdpbk9wdGlvbnNbdF09b30sdC5mbi5qQm94PWZ1bmN0aW9uKG8scyl7cmV0dXJuIHM9c3x8e30sbmV3IGkobz1vfHx7fSx0LmV4dGVuZChzLHthdHRhY2g6dGhpc30pKX0saX1mdW5jdGlvbiBqQm94Q29uZmlybVdyYXBwZXIoakJveCxqUXVlcnkpe25ldyBqQm94LnBsdWdpbihcIkNvbmZpcm1cIix7Y29uZmlybUJ1dHRvbjpcIlN1Ym1pdFwiLGNhbmNlbEJ1dHRvbjpcIkNhbmNlbFwiLGNvbmZpcm06bnVsbCxjYW5jZWw6bnVsbCxjbG9zZU9uQ29uZmlybTohMCx0YXJnZXQ6d2luZG93LGZpeGVkOiEwLGF0dGFjaDpcIltkYXRhLWNvbmZpcm1dXCIsZ2V0Q29udGVudDpcImRhdGEtY29uZmlybVwiLGNvbnRlbnQ6XCJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZG8gdGhpcz9cIixtaW5XaWR0aDozNjAsbWF4V2lkdGg6NTAwLGJsb2NrU2Nyb2xsOiEwLGNsb3NlT25Fc2M6ITAsY2xvc2VPbkNsaWNrOiExLGNsb3NlQnV0dG9uOiExLG92ZXJsYXk6ITAsYW5pbWF0aW9uOlwiem9vbUluXCIscHJldmVudERlZmF1bHQ6ITAsX29uQXR0YWNoOmZ1bmN0aW9uKHQpe3ZhciBpO3RoaXMub3B0aW9ucy5jb25maXJtfHwoaT10LmF0dHIoXCJvbmNsaWNrXCIpP3QuYXR0cihcIm9uY2xpY2tcIik6dC5hdHRyKFwiaHJlZlwiKT90LmF0dHIoXCJ0YXJnZXRcIik/J3dpbmRvdy5vcGVuKFwiJyt0LmF0dHIoXCJocmVmXCIpKydcIiwgXCInK3QuYXR0cihcInRhcmdldFwiKSsnXCIpOyc6J3dpbmRvdy5sb2NhdGlvbi5ocmVmID0gXCInK3QuYXR0cihcImhyZWZcIikrJ1wiOyc6XCJcIix0LnByb3AoXCJvbmNsaWNrXCIsbnVsbCkuZGF0YShcImpCb3gtQ29uZmlybS1zdWJtaXRcIixpKSl9LF9vbkNyZWF0ZWQ6ZnVuY3Rpb24oKXt0aGlzLndyYXBwZXIuYWRkQ2xhc3MoXCJqQm94LU1vZGFsXCIpLHRoaXMuZm9vdGVyPWpRdWVyeSgnPGRpdiBjbGFzcz1cImpCb3gtQ29uZmlybS1mb290ZXJcIi8+JyksalF1ZXJ5KCc8ZGl2IGNsYXNzPVwiakJveC1Db25maXJtLWJ1dHRvbiBqQm94LUNvbmZpcm0tYnV0dG9uLWNhbmNlbFwiLz4nKS5odG1sKHRoaXMub3B0aW9ucy5jYW5jZWxCdXR0b24pLm9uKFwiY2xpY2sgdGFwXCIsZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMuY2FuY2VsJiZ0aGlzLm9wdGlvbnMuY2FuY2VsKHRoaXMuc291cmNlKSx0aGlzLmNsb3NlKCl9LmJpbmQodGhpcykpLmFwcGVuZFRvKHRoaXMuZm9vdGVyKSx0aGlzLnN1Ym1pdEJ1dHRvbj1qUXVlcnkoJzxkaXYgY2xhc3M9XCJqQm94LUNvbmZpcm0tYnV0dG9uIGpCb3gtQ29uZmlybS1idXR0b24tc3VibWl0XCIvPicpLmh0bWwodGhpcy5vcHRpb25zLmNvbmZpcm1CdXR0b24pLmFwcGVuZFRvKHRoaXMuZm9vdGVyKSx0aGlzLmZvb3Rlci5hcHBlbmRUbyh0aGlzLmNvbnRhaW5lcil9LF9vbk9wZW46ZnVuY3Rpb24oKXt0aGlzLnN1Ym1pdEJ1dHRvbi5vZmYoXCJjbGljay5qQm94LUNvbmZpcm1cIit0aGlzLmlkK1wiIHRhcC5qQm94LUNvbmZpcm1cIit0aGlzLmlkKS5vbihcImNsaWNrLmpCb3gtQ29uZmlybVwiK3RoaXMuaWQrXCIgdGFwLmpCb3gtQ29uZmlybVwiK3RoaXMuaWQsZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMuY29uZmlybT90aGlzLm9wdGlvbnMuY29uZmlybSh0aGlzLnNvdXJjZSk6ZXZhbCh0aGlzLnNvdXJjZS5kYXRhKFwiakJveC1Db25maXJtLXN1Ym1pdFwiKSksdGhpcy5vcHRpb25zLmNsb3NlT25Db25maXJtJiZ0aGlzLmNsb3NlKCl9LmJpbmQodGhpcykpfX0pfWZ1bmN0aW9uIGpCb3hJbWFnZVdyYXBwZXIodCxpKXtuZXcgdC5wbHVnaW4oXCJJbWFnZVwiLHtzcmM6XCJocmVmXCIsZ2FsbGVyeTpcImRhdGEtamJveC1pbWFnZVwiLGltYWdlTGFiZWw6XCJ0aXRsZVwiLGltYWdlRmFkZTozNjAsaW1hZ2VTaXplOlwiY29udGFpblwiLGltYWdlQ291bnRlcjohMSxpbWFnZUNvdW50ZXJTZXBhcmF0b3I6XCIvXCIsZG93bmxvYWRCdXR0b246ITEsZG93bmxvYWRCdXR0b25UZXh0Om51bGwsZG93bmxvYWRCdXR0b25Vcmw6bnVsbCxtb2JpbGVJbWFnZUF0dHI6bnVsbCxtb2JpbGVJbWFnZUJyZWFrcG9pbnQ6bnVsbCxwcmVsb2FkRmlyc3RJbWFnZTohMSx0YXJnZXQ6d2luZG93LGF0dGFjaDpcIltkYXRhLWpib3gtaW1hZ2VdXCIsZml4ZWQ6ITAsYmxvY2tTY3JvbGw6ITAsY2xvc2VPbkVzYzohMCxjbG9zZU9uQ2xpY2s6XCJidXR0b25cIixjbG9zZUJ1dHRvbjohMCxvdmVybGF5OiEwLGFuaW1hdGlvbjpcInpvb21JblwiLHByZXZlbnREZWZhdWx0OiEwLHdpZHRoOlwiMTAwJVwiLGhlaWdodDpcIjEwMCVcIixhZGp1c3REaXN0YW5jZTp7dG9wOjQwLHJpZ2h0OjAsYm90dG9tOjQwLGxlZnQ6MH0sX29uSW5pdDpmdW5jdGlvbigpe3RoaXMuaW1hZ2VzPXRoaXMuY3VycmVudEltYWdlPXt9LHRoaXMuaW1hZ2VaSW5kZXg9MSx0aGlzLmluaXRJbWFnZT1mdW5jdGlvbih0KXt2YXIgbyxzOyh0PWkodCkpLmRhdGEoXCJqQm94LWltYWdlLWdhbGxlcnlcIil8fChvPXQuYXR0cih0aGlzLm9wdGlvbnMuc3JjKSx0aGlzLm9wdGlvbnMubW9iaWxlSW1hZ2VBdHRyJiZ0aGlzLm9wdGlvbnMubW9iaWxlSW1hZ2VCcmVha3BvaW50JiZ0LmF0dHIodGhpcy5vcHRpb25zLm1vYmlsZUltYWdlQXR0cikmJmkod2luZG93KS53aWR0aCgpPD10aGlzLm9wdGlvbnMubW9iaWxlSW1hZ2VCcmVha3BvaW50JiYobz10LmF0dHIodGhpcy5vcHRpb25zLm1vYmlsZUltYWdlQXR0cikpLHM9dC5hdHRyKHRoaXMub3B0aW9ucy5nYWxsZXJ5KXx8XCJkZWZhdWx0XCIsdGhpcy5pbWFnZXNbc118fCh0aGlzLmltYWdlc1tzXT1bXSksdGhpcy5pbWFnZXNbc10ucHVzaCh7c3JjOm8sbGFiZWw6dC5hdHRyKHRoaXMub3B0aW9ucy5pbWFnZUxhYmVsKXx8XCJcIixkb3dubG9hZFVybDp0aGlzLm9wdGlvbnMuZG93bmxvYWRCdXR0b25VcmwmJnQuYXR0cih0aGlzLm9wdGlvbnMuZG93bmxvYWRCdXR0b25VcmwpP3QuYXR0cih0aGlzLm9wdGlvbnMuZG93bmxvYWRCdXR0b25VcmwpOm51bGx9KSxcInRpdGxlXCI9PXRoaXMub3B0aW9ucy5pbWFnZUxhYmVsJiZ0LnJlbW92ZUF0dHIoXCJ0aXRsZVwiKSx0LmRhdGEoXCJqQm94LWltYWdlLWdhbGxlcnlcIixzKSx0LmRhdGEoXCJqQm94LWltYWdlLWlkXCIsdGhpcy5pbWFnZXNbc10ubGVuZ3RoLTEpKX0uYmluZCh0aGlzKSx0aGlzLmF0dGFjaGVkRWxlbWVudHMmJnRoaXMuYXR0YWNoZWRFbGVtZW50cy5sZW5ndGgmJmkuZWFjaCh0aGlzLmF0dGFjaGVkRWxlbWVudHMsZnVuY3Rpb24odCxpKXt0aGlzLmluaXRJbWFnZShpKX0uYmluZCh0aGlzKSk7dmFyIHQ9ZnVuY3Rpb24odCxvLHMsZSl7aWYoIWkoXCIjakJveC1pbWFnZS1cIit0K1wiLVwiK28pLmxlbmd0aCl7dmFyIG49aShcIjxkaXYvPlwiLHtpZDpcImpCb3gtaW1hZ2UtXCIrdCtcIi1cIitvLGNsYXNzOlwiakJveC1pbWFnZS1jb250YWluZXJcIisocz9cIiBqQm94LWltYWdlLVwiK3QrXCItY3VycmVudFwiOlwiXCIpfSkuY3NzKHtiYWNrZ3JvdW5kU2l6ZTp0aGlzLm9wdGlvbnMuaW1hZ2VTaXplLG9wYWNpdHk6ZT8xOjAsekluZGV4OnM/dGhpcy5pbWFnZVpJbmRleCsrOjB9KS5hcHBlbmRUbyh0aGlzLmNvbnRlbnQpO3JldHVybiB0aGlzLnN3aXBlRGV0ZWN0b3Iobikub24oXCJzd2lwZUxlZnQuc2Qgc3dpcGVSaWdodC5zZFwiLGZ1bmN0aW9uKHQpe1wic3dpcGVMZWZ0XCI9PT10LnR5cGU/dGhpcy5zaG93SW1hZ2UoXCJuZXh0XCIpOlwic3dpcGVSaWdodFwiPT09dC50eXBlJiZ0aGlzLnNob3dJbWFnZShcInByZXZcIil9LmJpbmQodGhpcykpLGkoXCI8ZGl2Lz5cIix7aWQ6XCJqQm94LWltYWdlLWxhYmVsLVwiK3QrXCItXCIrbyxjbGFzczpcImpCb3gtaW1hZ2UtbGFiZWxcIisocz9cIiBhY3RpdmVcIjpcIlwiKX0pLmh0bWwodGhpcy5pbWFnZXNbdF1bb10ubGFiZWwpLm9uKFwiY2xpY2sgdGFwXCIsZnVuY3Rpb24oKXtpKHRoaXMpLnRvZ2dsZUNsYXNzKFwiZXhwYW5kZWRcIil9KS5hcHBlbmRUbyh0aGlzLmltYWdlTGFiZWxDb250YWluZXIpLHMmJm4uYW5pbWF0ZSh7b3BhY2l0eToxfSxlPzA6dGhpcy5vcHRpb25zLmltYWdlRmFkZSksbn19LmJpbmQodGhpcyk7dGhpcy5kb3dubG9hZEltYWdlPWZ1bmN0aW9uKHQpe3ZhciBpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJhXCIpO2kuaHJlZj10LGkuc2V0QXR0cmlidXRlKFwiZG93bmxvYWRcIix0LnN1YnN0cmluZyh0Lmxhc3RJbmRleE9mKFwiL1wiKSsxKSksZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpKSxpLmNsaWNrKCl9O3ZhciBvPWZ1bmN0aW9uKG8scyxlLG4pe3ZhciBhPXQobyxzLGUsbik7YS5hZGRDbGFzcyhcImpCb3gtaW1hZ2UtbG9hZGluZ1wiKSxpKCc8aW1nIHNyYz1cIicrdGhpcy5pbWFnZXNbb11bc10uc3JjKydcIiAvPicpLmVhY2goZnVuY3Rpb24oKXt2YXIgdD1uZXcgSW1hZ2U7dC5vbmxvYWQ9ZnVuY3Rpb24oKXthLnJlbW92ZUNsYXNzKFwiakJveC1pbWFnZS1sb2FkaW5nXCIpLGEuY3NzKHtiYWNrZ3JvdW5kSW1hZ2U6J3VybChcIicrdGhpcy5pbWFnZXNbb11bc10uc3JjKydcIiknfSl9LmJpbmQodGhpcyksdC5vbmVycm9yPWZ1bmN0aW9uKCl7YS5yZW1vdmVDbGFzcyhcImpCb3gtaW1hZ2UtbG9hZGluZ1wiKSxhLmFkZENsYXNzKFwiakJveC1pbWFnZS1ub3QtZm91bmRcIil9LmJpbmQodGhpcyksdC5zcmM9dGhpcy5pbWFnZXNbb11bc10uc3JjfS5iaW5kKHRoaXMpKX0uYmluZCh0aGlzKTt0aGlzLnNob3dJbWFnZT1mdW5jdGlvbih0KXt2YXIgcyxlLG47aWYoXCJvcGVuXCIhPXQpcz10aGlzLmN1cnJlbnRJbWFnZS5nYWxsZXJ5LG49KG49dGhpcy5jdXJyZW50SW1hZ2UuaWQrKCsoXCJwcmV2XCI9PXQpPy0xOjEpKT50aGlzLmltYWdlc1tzXS5sZW5ndGgtMT8wOm48MD90aGlzLmltYWdlc1tzXS5sZW5ndGgtMTpuO2Vsc2V7aWYodGhpcy5zb3VyY2Upcz10aGlzLnNvdXJjZS5kYXRhKFwiakJveC1pbWFnZS1nYWxsZXJ5XCIpLG49dGhpcy5zb3VyY2UuZGF0YShcImpCb3gtaW1hZ2UtaWRcIik7ZWxzZXtpZighdGhpcy5hdHRhY2hlZEVsZW1lbnRzfHwhdGhpcy5hdHRhY2hlZEVsZW1lbnRzLmxlbmd0aClyZXR1cm47cz1pKHRoaXMuYXR0YWNoZWRFbGVtZW50c1swXSkuZGF0YShcImpCb3gtaW1hZ2UtZ2FsbGVyeVwiKSxuPWkodGhpcy5hdHRhY2hlZEVsZW1lbnRzWzBdKS5kYXRhKFwiakJveC1pbWFnZS1pZFwiKX10aGlzLmltYWdlcyYmdGhpcy5pbWFnZXNbc10mJmkoXCIuakJveC1pbWFnZS1wb2ludGVyLXByZXYsIC5qQm94LWltYWdlLXBvaW50ZXItbmV4dFwiKS5jc3Moe2Rpc3BsYXk6MTx0aGlzLmltYWdlc1tzXS5sZW5ndGg/XCJibG9ja1wiOlwibm9uZVwifSl9aShcIi5qQm94LWltYWdlLVwiK3MrXCItY3VycmVudFwiKS5sZW5ndGgmJmkoXCIuakJveC1pbWFnZS1cIitzK1wiLWN1cnJlbnRcIikucmVtb3ZlQ2xhc3MoXCJqQm94LWltYWdlLVwiK3MrXCItY3VycmVudFwiKS5hbmltYXRlKHtvcGFjaXR5OjB9LFwib3BlblwiPT10PzA6dGhpcy5vcHRpb25zLmltYWdlRmFkZSksdGhpcy5jdXJyZW50SW1hZ2U9e2dhbGxlcnk6cyxpZDpufSxpKFwiI2pCb3gtaW1hZ2UtXCIrcytcIi1cIituKS5sZW5ndGg/aShcIiNqQm94LWltYWdlLVwiK3MrXCItXCIrbikuYWRkQ2xhc3MoXCJqQm94LWltYWdlLVwiK3MrXCItY3VycmVudFwiKS5jc3Moe3pJbmRleDp0aGlzLmltYWdlWkluZGV4Kyssb3BhY2l0eTowfSkuYW5pbWF0ZSh7b3BhY2l0eToxfSxcIm9wZW5cIj09dD8wOnRoaXMub3B0aW9ucy5pbWFnZUZhZGUpOm8ocyxuLCEwLFwib3BlblwiPT09dCksZT1zLHQ9bixpKFwiLmpCb3gtaW1hZ2UtbGFiZWwuYWN0aXZlXCIpLnJlbW92ZUNsYXNzKFwiYWN0aXZlIGV4cGFuZGVkXCIpLGkoXCIjakJveC1pbWFnZS1sYWJlbC1cIitlK1wiLVwiK3QpLmFkZENsYXNzKFwiYWN0aXZlXCIpLHRoaXMuaW1hZ2VDb3VudGVyJiYodGhpcy5pbWFnZXNbc10mJjE8dGhpcy5pbWFnZXNbc10ubGVuZ3RoPyh0aGlzLndyYXBwZXIuYWRkQ2xhc3MoXCJqQm94LWltYWdlLWhhcy1jb3VudGVyXCIpLHRoaXMuaW1hZ2VDb3VudGVyLmZpbmQoXCIuakJveC1pbWFnZS1jb3VudGVyLWFsbFwiKS5odG1sKHRoaXMuaW1hZ2VzW3NdLmxlbmd0aCksdGhpcy5pbWFnZUNvdW50ZXIuZmluZChcIi5qQm94LWltYWdlLWNvdW50ZXItY3VycmVudFwiKS5odG1sKG4rMSkpOnRoaXMud3JhcHBlci5yZW1vdmVDbGFzcyhcImpCb3gtaW1hZ2UtaGFzLWNvdW50ZXJcIikpLHRoaXMuaW1hZ2VzW3NdJiZ0aGlzLmltYWdlc1tzXS5sZW5ndGgtMSYmKG49KG4rPTEpPnRoaXMuaW1hZ2VzW3NdLmxlbmd0aC0xPzA6bjwwP3RoaXMuaW1hZ2VzW3NdLmxlbmd0aC0xOm4saShcIiNqQm94LWltYWdlLVwiK3MrXCItXCIrbikubGVuZ3RofHxvKHMsbiwhMSwhMSkpfSx0aGlzLm9wdGlvbnMucHJlbG9hZEZpcnN0SW1hZ2UmJmkod2luZG93KS5vbihcImxvYWRcIixmdW5jdGlvbigpe3RoaXMuc2hvd0ltYWdlKFwib3BlblwiKX0uYmluZCh0aGlzKSl9LF9vbkF0dGFjaDpmdW5jdGlvbih0KXt0aGlzLmluaXRJbWFnZSYmdGhpcy5pbml0SW1hZ2UodCl9LF9vbkNyZWF0ZWQ6ZnVuY3Rpb24oKXt0aGlzLmltYWdlTGFiZWxXcmFwcGVyPWkoJzxkaXYgY2xhc3M9XCJqQm94LWltYWdlLWxhYmVsLXdyYXBwZXJcIi8+JykuYXBwZW5kVG8odGhpcy53cmFwcGVyKSx0aGlzLmltYWdlUHJldkJ1dHRvbj1pKCc8ZGl2IGNsYXNzPVwiakJveC1pbWFnZS1wb2ludGVyLXByZXZcIi8+Jykub24oXCJjbGljayB0YXBcIixmdW5jdGlvbigpe3RoaXMuc2hvd0ltYWdlKFwicHJldlwiKX0uYmluZCh0aGlzKSksdGhpcy5pbWFnZU5leHRCdXR0b249aSgnPGRpdiBjbGFzcz1cImpCb3gtaW1hZ2UtcG9pbnRlci1uZXh0XCIvPicpLm9uKFwiY2xpY2sgdGFwXCIsZnVuY3Rpb24oKXt0aGlzLnNob3dJbWFnZShcIm5leHRcIil9LmJpbmQodGhpcykpLHRoaXMuaW1hZ2VMYWJlbENvbnRhaW5lcj1pKCc8ZGl2IGNsYXNzPVwiakJveC1pbWFnZS1sYWJlbC1jb250YWluZXJcIi8+JyksdGhpcy5pbWFnZUxhYmVsV3JhcHBlci5hcHBlbmQodGhpcy5pbWFnZVByZXZCdXR0b24pLmFwcGVuZCh0aGlzLmltYWdlTGFiZWxDb250YWluZXIpLmFwcGVuZCh0aGlzLmltYWdlTmV4dEJ1dHRvbiksdGhpcy5vcHRpb25zLmRvd25sb2FkQnV0dG9uJiYodGhpcy5kb3dubG9hZEJ1dHRvbj1pKFwiPGRpdi8+XCIse2NsYXNzOlwiakJveC1pbWFnZS1kb3dubG9hZC1idXR0b24td3JhcHBlclwifSkuYXBwZW5kVG8odGhpcy53cmFwcGVyKS5hcHBlbmQodGhpcy5vcHRpb25zLmRvd25sb2FkQnV0dG9uVGV4dD9pKFwiPGRpdi8+XCIse2NsYXNzOlwiakJveC1pbWFnZS1kb3dubG9hZC1idXR0b24tdGV4dFwifSkuaHRtbCh0aGlzLm9wdGlvbnMuZG93bmxvYWRCdXR0b25UZXh0KTpudWxsKS5hcHBlbmQoaShcIjxkaXYvPlwiLHtjbGFzczpcImpCb3gtaW1hZ2UtZG93bmxvYWQtYnV0dG9uLWljb25cIn0pKS5vbihcImNsaWNrIHRhcFwiLGZ1bmN0aW9uKCl7dmFyIHQ7dD10aGlzLmltYWdlc1t0aGlzLmN1cnJlbnRJbWFnZS5nYWxsZXJ5XVt0aGlzLmN1cnJlbnRJbWFnZS5pZF0uZG93bmxvYWRVcmx8fHRoaXMud3JhcHBlci5maW5kKFwiLmpCb3gtaW1hZ2UtXCIrdGhpcy5jdXJyZW50SW1hZ2UuZ2FsbGVyeStcIi1jdXJyZW50XCIpWzBdLnN0eWxlLmJhY2tncm91bmRJbWFnZS5zbGljZSg0LC0xKS5yZXBsYWNlKC9bXCInXS9nLFwiXCIpLHRoaXMuZG93bmxvYWRJbWFnZSh0KX0uYmluZCh0aGlzKSkpLHRoaXMub3B0aW9ucy5pbWFnZUNvdW50ZXImJih0aGlzLmltYWdlQ291bnRlcj1pKFwiPGRpdi8+XCIse2NsYXNzOlwiakJveC1pbWFnZS1jb3VudGVyLWNvbnRhaW5lclwifSkuaW5zZXJ0QWZ0ZXIodGhpcy5pbWFnZUxhYmVsQ29udGFpbmVyKSx0aGlzLmltYWdlQ291bnRlci5hcHBlbmQoaShcIjxzcGFuLz5cIix7Y2xhc3M6XCJqQm94LWltYWdlLWNvdW50ZXItY3VycmVudFwifSkpLmFwcGVuZChpKFwiPHNwYW4vPlwiKS5odG1sKHRoaXMub3B0aW9ucy5pbWFnZUNvdW50ZXJTZXBhcmF0b3IpKS5hcHBlbmQoaShcIjxzcGFuLz5cIix7Y2xhc3M6XCJqQm94LWltYWdlLWNvdW50ZXItYWxsXCJ9KSkpfSxfb25PcGVuOmZ1bmN0aW9uKCl7aShkb2N1bWVudCkub24oXCJrZXl1cC5qQm94LUltYWdlLVwiK3RoaXMuaWQsZnVuY3Rpb24odCl7Mzc9PXQua2V5Q29kZSYmdGhpcy5zaG93SW1hZ2UoXCJwcmV2XCIpLDM5PT10LmtleUNvZGUmJnRoaXMuc2hvd0ltYWdlKFwibmV4dFwiKX0uYmluZCh0aGlzKSksdGhpcy5zaG93SW1hZ2UoXCJvcGVuXCIpfSxfb25DbG9zZTpmdW5jdGlvbigpe2koZG9jdW1lbnQpLm9mZihcImtleXVwLmpCb3gtSW1hZ2UtXCIrdGhpcy5pZCl9LF9vbkNsb3NlQ29tcGxldGU6ZnVuY3Rpb24oKXt0aGlzLndyYXBwZXIuZmluZChcIi5qQm94LWltYWdlLWNvbnRhaW5lclwiKS5jc3MoXCJvcGFjaXR5XCIsMCl9fSl9ZnVuY3Rpb24gakJveE5vdGljZVdyYXBwZXIodCxpKXtuZXcgdC5wbHVnaW4oXCJOb3RpY2VcIix7Y29sb3I6bnVsbCxzdGFjazohMCxzdGFja1NwYWNpbmc6MTAsYXV0b0Nsb3NlOjZlMyxhdHRyaWJ1dGVzOnt4OlwicmlnaHRcIix5OlwidG9wXCJ9LHBvc2l0aW9uOnt4OjE1LHk6MTV9LHJlc3BvbnNpdmVQb3NpdGlvbnM6ezUwMDp7eDo1LHk6NX0sNzY4Ont4OjEwLHk6MTB9fSx0YXJnZXQ6d2luZG93LGZpeGVkOiEwLGFuaW1hdGlvbjpcInpvb21JblwiLGNsb3NlT25DbGljazpcImJveFwiLHpJbmRleDoxMmUzLF9vbkluaXQ6ZnVuY3Rpb24oKXt0aGlzLmRlZmF1bHROb3RpY2VQb3NpdGlvbj1pLmV4dGVuZCh7fSx0aGlzLm9wdGlvbnMucG9zaXRpb24pLHRoaXMuX2FkanVzdE5vdGljZVBvc2l0b249ZnVuY3Rpb24oKXt2YXIgdD1pKHdpbmRvdyksbz10LndpZHRoKCk7dC5oZWlnaHQoKSx0aGlzLm9wdGlvbnMucG9zaXRpb249aS5leHRlbmQoe30sdGhpcy5kZWZhdWx0Tm90aWNlUG9zaXRpb24pLGkuZWFjaCh0aGlzLm9wdGlvbnMucmVzcG9uc2l2ZVBvc2l0aW9ucyxmdW5jdGlvbih0LGkpe2lmKG88PXQpcmV0dXJuIHRoaXMub3B0aW9ucy5wb3NpdGlvbj1pLCExfS5iaW5kKHRoaXMpKSx0aGlzLm9wdGlvbnMuYWRqdXN0RGlzdGFuY2U9e3RvcDp0aGlzLm9wdGlvbnMucG9zaXRpb24ueSxyaWdodDp0aGlzLm9wdGlvbnMucG9zaXRpb24ueCxib3R0b206dGhpcy5vcHRpb25zLnBvc2l0aW9uLnksbGVmdDp0aGlzLm9wdGlvbnMucG9zaXRpb24ueH19LHRoaXMub3B0aW9ucy5jb250ZW50IGluc3RhbmNlb2YgaSYmKHRoaXMub3B0aW9ucy5jb250ZW50PXRoaXMub3B0aW9ucy5jb250ZW50LmNsb25lKCkuYXR0cihcImlkXCIsXCJcIikpLGkod2luZG93KS5vbihcInJlc2l6ZS5yZXNwb25zaXZlakJveE5vdGljZS1cIit0aGlzLmlkLGZ1bmN0aW9uKHQpe3RoaXMuaXNPcGVuJiZ0aGlzLl9hZGp1c3ROb3RpY2VQb3NpdG9uKCl9LmJpbmQodGhpcykpLHRoaXMub3BlbigpfSxfb25DcmVhdGVkOmZ1bmN0aW9uKCl7dGhpcy53cmFwcGVyLmFkZENsYXNzKFwiakJveC1Ob3RpY2UtY29sb3IgakJveC1Ob3RpY2UtXCIrKHRoaXMub3B0aW9ucy5jb2xvcnx8XCJncmF5XCIpKSx0aGlzLndyYXBwZXIuZGF0YShcImpCb3gtTm90aWNlLXBvc2l0aW9uXCIsdGhpcy5vcHRpb25zLmF0dHJpYnV0ZXMueCtcIi1cIit0aGlzLm9wdGlvbnMuYXR0cmlidXRlcy55KX0sX29uT3BlbjpmdW5jdGlvbigpe3RoaXMub3B0aW9ucy5zdGFja3x8KHRoaXMuX2FkanVzdE5vdGljZVBvc2l0b24oKSxpLmVhY2goaShcIi5qQm94LU5vdGljZVwiKSxmdW5jdGlvbih0LG8peyhvPWkobykpLmF0dHIoXCJpZFwiKSE9dGhpcy5pZCYmby5kYXRhKFwiakJveC1Ob3RpY2UtcG9zaXRpb25cIik9PXRoaXMub3B0aW9ucy5hdHRyaWJ1dGVzLngrXCItXCIrdGhpcy5vcHRpb25zLmF0dHJpYnV0ZXMueSYmKHRoaXMub3B0aW9ucy5zdGFja3x8by5kYXRhKFwiakJveFwiKS5jbG9zZSh7aWdub3JlRGVsYXk6ITB9KSl9LmJpbmQodGhpcykpKX0sX29uUG9zaXRpb246ZnVuY3Rpb24oKXt2YXIgdCxvPXt9O2Zvcih0IGluIGkuZWFjaChpKFwiLmpCb3gtTm90aWNlXCIpLGZ1bmN0aW9uKHQscyl7dmFyIGU9KHM9aShzKSkuZGF0YShcImpCb3gtTm90aWNlLXBvc2l0aW9uXCIpO29bZV18fChvW2VdPVtdKSxvW2VdLnB1c2gocyl9KSxvKXt2YXIgcz10LnNwbGl0KFwiLVwiKVsxXTtvW3RdLnJldmVyc2UoKTt2YXIgZSxuPTA7Zm9yKGUgaW4gb1t0XSl7dmFyIGE9aShvW3RdW2VdKTthLmNzcyhcIm1hcmdpbi1cIitzLG4pLG4rPWEub3V0ZXJIZWlnaHQoKSt0aGlzLm9wdGlvbnMuc3RhY2tTcGFjaW5nfX19LF9vbkNsb3NlQ29tcGxldGU6ZnVuY3Rpb24oKXt0aGlzLmRlc3Ryb3koKSx0aGlzLm9wdGlvbnMuX29uUG9zaXRpb24uYmluZCh0aGlzKS5jYWxsKCl9fSl9IWZ1bmN0aW9uKHQsaSl7XCJmdW5jdGlvblwiPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbXCJqcXVlcnlcIl0sZnVuY3Rpb24obyl7cmV0dXJuIHQuakJveD1pKG8pfSk6XCJvYmplY3RcIj09dHlwZW9mIG1vZHVsZSYmbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9dC5qQm94PWkocmVxdWlyZShcImpxdWVyeVwiKSk6dC5qQm94PWkodC5qUXVlcnkpfSh0aGlzLGZ1bmN0aW9uKHQpe3ZhciBpPWpCb3hXcmFwcGVyKHQpO3RyeXt2b2lkIDAhPT1qQm94Q29uZmlybVdyYXBwZXImJmpCb3hDb25maXJtV3JhcHBlciYmakJveENvbmZpcm1XcmFwcGVyKGksdCl9Y2F0Y2godCl7Y29uc29sZS5lcnJvcih0KX10cnl7dm9pZCAwIT09akJveEltYWdlV3JhcHBlciYmakJveEltYWdlV3JhcHBlciYmakJveEltYWdlV3JhcHBlcihpLHQpfWNhdGNoKHQpe2NvbnNvbGUuZXJyb3IodCl9dHJ5e3ZvaWQgMCE9PWpCb3hOb3RpY2VXcmFwcGVyJiZqQm94Tm90aWNlV3JhcHBlciYmakJveE5vdGljZVdyYXBwZXIoaSx0KX1jYXRjaCh0KXtjb25zb2xlLmVycm9yKHQpfXJldHVybiBpfSk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbXBDYjNndVlXeHNMbTFwYmk1cWN5SmRMQ0p1WVcxbGN5STZXeUpxUW05NFYzSmhjSEJsY2lJc0ltSWlMQ0pvSWl3aWRDSXNJbWtpTENKMGFHbHpJaXdpYjNCMGFXOXVjeUlzSW1sa0lpd2lkMmxrZEdnaUxDSm9aV2xuYUhRaUxDSnRhVzVYYVdSMGFDSXNJbTFwYmtobGFXZG9kQ0lzSW0xaGVGZHBaSFJvSWl3aWJXRjRTR1ZwWjJoMElpd2ljbVZ6Y0c5dWMybDJaVmRwWkhSb0lpd2ljbVZ6Y0c5dWMybDJaVWhsYVdkb2RDSXNJbkpsYzNCdmJuTnBkbVZOYVc1WGFXUjBhQ0lzSW5KbGMzQnZibk5wZG1WTmFXNUlaV2xuYUhRaUxDSmhkSFJoWTJnaUxDSjBjbWxuWjJWeUlpd2ljSEpsZG1WdWRFUmxabUYxYkhRaUxDSmpiMjUwWlc1MElpd2laMlYwUTI5dWRHVnVkQ0lzSW5ScGRHeGxJaXdpWjJWMFZHbDBiR1VpTENKbWIyOTBaWElpTENKcGMyOXNZWFJsVTJOeWIyeHNJaXdpWVdwaGVDSXNJblZ5YkNJc0ltUmhkR0VpTENKeVpXeHZZV1FpTENKblpYUlZVa3dpTENKblpYUkVZWFJoSWl3aWMyVjBRMjl1ZEdWdWRDSXNJbXh2WVdScGJtZERiR0Z6Y3lJc0luTndhVzV1WlhJaUxDSnpjR2x1Ym1WeVJHVnNZWGtpTENKemNHbHVibVZ5VW1Wd2IzTnBkR2x2YmlJc0ltTmhibU5sYkVGcVlYaFBia05zYjNObElpd2lkR0Z5WjJWMElpd2ljRzl6YVhScGIyNGlMQ0o0SWl3aWVTSXNJbTkxZEhOcFpHVWlMQ0p2Wm1aelpYUWlMQ0poZEhSeWFXSjFkR1Z6SWl3aVptbDRaV1FpTENKaFpHcDFjM1JRYjNOcGRHbHZiaUlzSW1Ga2FuVnpkRlJ5WVdOclpYSWlMQ0poWkdwMWMzUkVhWE4wWVc1alpTSXNJbkpsY0c5emFYUnBiMjRpTENKeVpYQnZjMmwwYVc5dVQyNVBjR1Z1SWl3aWNtVndiM05wZEdsdmJrOXVRMjl1ZEdWdWRDSXNJbWh2YkdSUWIzTnBkR2x2YmlJc0luQnZhVzUwWlhJaUxDSndiMmx1ZEZSdklpd2labUZrWlNJc0ltRnVhVzFoZEdsdmJpSXNJblJvWlcxbElpd2lZV1JrUTJ4aGMzTWlMQ0p2ZG1WeWJHRjVJaXdpYjNabGNteGhlVU5zWVhOeklpd2lla2x1WkdWNElpd2laR1ZzWVhsUGNHVnVJaXdpWkdWc1lYbERiRzl6WlNJc0ltTnNiM05sVDI1RmMyTWlMQ0pqYkc5elpVOXVRMnhwWTJzaUxDSmpiRzl6WlU5dVRXOTFjMlZzWldGMlpTSXNJbU5zYjNObFFuVjBkRzl1SWl3aVlYQndaVzVrVkc4aUxDSmpjbVZoZEdWUGJrbHVhWFFpTENKaWJHOWphMU5qY205c2JDSXNJbUpzYjJOclUyTnliMnhzUVdScWRYTjBJaXdpWkhKaFoyZGhZbXhsSWl3aVpISmhaMDkyWlhJaUxDSmhkWFJ2UTJ4dmMyVWlMQ0prWld4aGVVOXVTRzkyWlhJaUxDSnphRzkzUTI5MWJuUmtiM2R1SWl3aWNISmxiRzloWkVGMVpHbHZJaXdpWVhWa2FXOGlMQ0oyYjJ4MWJXVWlMQ0p2YmtsdWFYUWlMQ0p2YmtGMGRHRmphQ0lzSW05dVVHOXphWFJwYjI0aUxDSnZia055WldGMFpXUWlMQ0p2Yms5d1pXNGlMQ0p2YmtOc2IzTmxJaXdpYjI1RGJHOXpaVU52YlhCc1pYUmxJaXdpYjI1RWNtRm5VM1JoY25RaUxDSnZia1J5WVdkRmJtUWlMQ0pmY0d4MVoybHVUM0IwYVc5dWN5SXNJbFJ2YjJ4MGFYQWlMQ0pOYjNWelpTSXNJazF2WkdGc0lpd2lkMmx1Wkc5M0lpd2laWGgwWlc1a0lpd2lkSGx3WlNJc0ltbHpWRzkxWTJoRVpYWnBZMlVpTENKemNHeHBkQ0lzSWtSdlkzVnRaVzUwVkc5MVkyZ2lMQ0prYjJOMWJXVnVkQ0lzSW1wdmFXNGlMQ0p0WVhSamFFMWxaR2xoSWl3aWJXRjBZMmhsY3lJc0lsOW1hWEpsUlhabGJuUWlMQ0ppYVc1a0lpd2lYMmRsZEZWdWFYRjFaVWxFSWl3aWRHOXdJaXdpY21sbmFIUWlMQ0ppYjNSMGIyMGlMQ0pzWldaMElpd2lZV3hwWjI0aUxDSjZTVzVrWlhoTllYZ2lMQ0pOWVhSb0lpd2liV0Y0SWl3aVlXUnFkWE4wV2tsdVpHVjRUMjVQY0dWdUlpd2lkSEoxWlUxdlpHRnNJaXdpWDJkbGRFOXdjQ0lzSWw5blpYUllXU0lzSW1ObGJuUmxjaUlzSWw5blpYUlVUQ0lzSWw5blpYUkpiblFpTENKemJHbGpaU0lzSW5CaGNuTmxTVzUwSWl3aWNtVndiR0ZqWlNJc0lsOWpjbVZoZEdWVFZrY2lMQ0p2SWl3aVkzSmxZWFJsUld4bGJXVnVkRTVUSWl3aVpXRmphQ0lzSW5ObGRFRjBkSEpwWW5WMFpTSXNJbDlwYzI5c1lYUmxVMk55YjJ4c0lpd2laU0lzSW14bGJtZDBhQ0lzSW05dUlpd2lkMmhsWld4RVpXeDBZU0lzSW05eWFXZHBibUZzUlhabGJuUWlMQ0prWlhSaGFXd2lMQ0p6WTNKdmJHeFViM0FpTENKdmRYUmxja2hsYVdkb2RDSXNJbk5qY205c2JFaGxhV2RvZENJc0luTWlMQ0pmYzJWMFZHbDBiR1ZYYVdSMGFDSXNJblJwZEd4bFEyOXVkR0ZwYm1WeUlpd2ljM1I1YkdVaUxDSjNjbUZ3Y0dWeUlpd2lZM056SWl3aWIzVjBaWEpYYVdSMGFDSXNJbDlrY21GbloyRmliR1VpTENKdUlpd2lZU0lzSW1KMWRIUnZiaUlzSW1oaGMwTnNZWE56SWl3aWNHRnlaVzUwY3lJc0ltTnNiM05sSWl3aWFXZHViM0psUkdWc1lYa2lMQ0owYjNWamFHVnpJaXdpY0dGblpWZ2lMQ0p3WVdkbFdTSXNJbVJ5WVdkbmFXNW5VM1JoY25SWUlpd2laSEpoWjJkcGJtZFRkR0Z5ZEZraUxDSjZTVzVrWlhoTllYaEVjbUZuYjNabGNpSXNJbVJ5WVdkbmFXNW5JaXdpYjJabUlpd2ljMk55YjJ4c1RHVm1kQ0lzSWw5amNtVmhkR1VpTENKamJHRnpjeUlzSW1ScGMzQnNZWGtpTENKdmNHRmphWFI1SWl3aWMyOTFjbU5sSWl3aWNtVnNZWFJsWkZSaGNtZGxkQ0lzSW1sdVFYSnlZWGtpTENKamIyNTBZV2x1WlhJaUxDSmhjSEJsYm1RaUxDSmhjSEJsYm1SRGFHbHNaQ0lzSW1acGJtUWlMQ0o0ZVNJc0ltVnNaVzFsYm5RaUxDSmthVzFsYm5OcGIyNXpJaXdpWVd4cFoyNUJkSFJ5YVdKMWRHVWlMQ0p0WVhKbmFXNGlMQ0p6WlhSVWFYUnNaU0lzSWw5aGRIUmhZMmhGZG1WdWRITWlMQ0pwYzBodmRtVnlaV1FpTENKdGIzVnpaVlJoY21kbGRDSXNJbDlrWlhSaFkyaEZkbVZ1ZEhNaUxDSmZjMmh2ZDA5MlpYSnNZWGtpTENKemRHOXdJaXdpWVc1cGJXRjBaU0lzSW5GMVpYVmxJaXdpWkhWeVlYUnBiMjRpTENKemRHRnlkQ0lzSWw5b2FXUmxUM1psY214aGVTSXNJbU52YlhCc1pYUmxJaXdpWDJWNGNHOXpaVVJwYldWdWMybHZibk1pTENKZloyVnVaWEpoZEdWQmJtbHRZWFJwYjI1RFUxTWlMQ0p3ZFd4elpTSXNJbTl3Wlc0aUxDSjZiMjl0U1c0aUxDSjZiMjl0VDNWMElpd2liVzkyWlNJc0luTnNhV1JsSWl3aVpteHBjQ0lzSW5SaFpHRWlMQ0p2Y0dWdVJHbHlaV04wYVc5dUlpd2lZMnh2YzJWRWFYSmxZM1JwYjI0aUxDSjZiMjl0U1c1UGNHVnVJaXdpZW05dmJVbHVRMnh2YzJVaUxDSjZiMjl0VDNWMFQzQmxiaUlzSW5wdmIyMVBkWFJEYkc5elpTSXNJbTF2ZG1WUGNHVnVJaXdpY0c5emFYUnBiMjV6SWl3aU1DVWlMQ0p0YjNabFEyeHZjMlVpTENKMGFXMXBibWNpTENJeE1EQWxJaXdpYzJ4cFpHVlBjR1Z1SWl3aWMyeHBaR1ZEYkc5elpTSXNJbVpzYVhCUGNHVnVJaXdpWm14cGNFTnNiM05sSWl3aWRHOVZjSEJsY2tOaGMyVWlMQ0pmWVc1cGJXRjBhVzl1UTFOVElpd2lYMkpzYjJOclFtOWtlVU5zYVdOcklpd2lZbXh2WTJ0Q2IyUjVRMnhwWTJzaUxDSnpaWFJVYVcxbGIzVjBJaXdpWDJGdWFXMWhkR1VpTENKcGMwOXdaVzRpTENKbWJHbHdjR1ZrSWl3aWNHRnljMlZHYkc5aGRDSXNJbTFwYmlJc0luSmxiVzkyWlVOc1lYTnpJaXdpWDJGaWIzSjBRVzVwYldGMGFXOXVJaXdpWVhSMGNpSXNJbVpwYkhSbGNpSXNJbXhoYzNSSmJtUmxlRTltSWl3aWNIVnphQ0lzSWtGMVpHbHZJaXdpYzNKaklpd2ljSEpsYkc5aFpDSXNJbkJ5YjNSdmRIbHdaU0lzSW5KbGJXOTJaVUYwZEhJaUxDSmhkSFJoWTJobFpFVnNaVzFsYm5Seklpd2lkR2x0WlhJaUxDSmpiR1ZoY2xScGJXVnZkWFFpTENKa1pYUmhZMmdpTENKbmNtVndJaXdpYVc1elpYSjBRbVZtYjNKbElpd2lhSFJ0YkNJc0ltTm9hV3hrY21WdUlpd2lZMjl1YzNSeWRXTjBiM0lpTENKcWNYVmxjbmtpTENKS1UwOU9JaXdpYzNSeWFXNW5hV1o1SWl3aWMyVjBSR2x0Wlc1emFXOXVjeUlzSW5ObGRGZHBaSFJvSWl3aWMyVjBTR1ZwWjJoMElpd2ljaUlzSW1ZaUxDSndJaXdpYkNJc0ltTmxhV3dpTENKd2IzTnBkR2x2YmtGa2FuVnpkR1ZrSWl3aVpDSXNJbU1pTENKMUlpd2laeUlzSW0waUxDSnFJaXdpZFc1elkzSnZiR3dpTENKelpYUWlMQ0oxYm5OamNtOXNiRk4wYjNKbElpd2laMlYwSWl3aVoyVjBVMk55YjJ4c1ltRnlWMmxrZEdnaUxDSmpjbVZoZEdWRmJHVnRaVzUwSWl3aWIzWmxjbVpzYjNjaUxDSmliMlI1SWl3aWIyWm1jMlYwVjJsa2RHZ2lMQ0pqYkdsbGJuUlhhV1IwYUNJc0luSmxiVzkyWlVOb2FXeGtJaXdpWjJWMFJXeGxiV1Z1ZEhOVWIwRmthblZ6ZENJc0ltWnZja1ZoWTJnaUxDSnBibVJsZUU5bUlpd2ljR0ZuWlVoaGMxTmpjbTlzYkdKaGNpSXNJbTltWm5ObGRFaGxhV2RvZENJc0ltbHVibVZ5U0dWcFoyaDBJaXdpY1hWbGNubFRaV3hsWTNSdmNrRnNiQ0lzSW1kbGRFRjBkSEpwWW5WMFpTSXNJbWRsZEVOdmJYQjFkR1ZrVTNSNWJHVWlMQ0puWlhSUWNtOXdaWEowZVZaaGJIVmxJaXdpWjJWMFJXeGxiV1Z1ZEVKNVNXUWlMQ0pvWldGa0lpd2laMlYwUld4bGJXVnVkSE5DZVZSaFowNWhiV1VpTENKamNtVmhkR1ZVWlhoMFRtOWtaU0lzSW1Oc1lYTnpUR2x6ZENJc0ltRmtaQ0lzSW5KbGMyVjBJaXdpY21WdGIzWmxRWFIwY21saWRYUmxJaXdpY21WdGIzWmxJaXdpYVhORVpYTjBjbTk1WldRaUxDSmZjM1I1YkdWeklpd2lhWE5FYVhOaFlteGxaQ0lzSW10bGVVTnZaR1VpTENKb1lYTWlMQ0poYW1GNFRHOWhaR1ZrSWl3aWNHOXphWFJwYjI1bFpFOXVUM0JsYmlJc0ltbHpRMnh2YzJsdVp5SXNJbUpzYjJOclUyTnliMnhzVTJOdmNHVnpJaXdpUVhKeVlYa2lMQ0pwYzBGeWNtRjVJaXdpYVhOUGNHVnVhVzVuSWl3aVlXeDNZWGx6SWl3aWNHOXphWFJwYjI1UGJrWmhaR1ZEYjIxd2JHVjBaU0lzSW1OaGJtTmxiRUZxWVhnaUxDSkVZWFJsSWl3aWJtOTNJaXdpYVc1dVpYSWlMQ0p3Y21Wd1pXNWtJaXdpWTI5MWJuUmtiM2R1SWl3aWNtVnhkV1Z6ZEVGdWFXMWhkR2x2YmtaeVlXMWxJaXdpZEc5bloyeGxJaXdpWkdsellXSnNaU0lzSW1WdVlXSnNaU0lzSW1ocFpHVWlMQ0pqWVdOb1pWZHlZWEJ3WlhKRWFYTndiR0Y1SWl3aVkyRmphR1ZQZG1WeWJHRjVSR2x6Y0d4aGVTSXNJbk5vYjNjaUxDSmlaV1p2Y21WVFpXNWtJaXdpYzNWalkyVnpjeUlzSW1WeWNtOXlJaXdpZEhKaGJuTm1iM0p0SWl3aVlXcGhlRkpsY1hWbGMzUWlMQ0poWW05eWRDSXNJbDloZFdScGJ5SXNJbkJoZFhObElpd2lZM1Z5Y21WdWRGUnBiV1VpTENKd2JHRjVJaXdpWDJGdWFXMWhkR2x2YmxOd1pXVmtjeUlzSW5SaFpHRlRiV0ZzYkNJc0ltWnNZWE5vSWl3aWMyaGhhMlVpTENKd2RXeHpaVlZ3SWl3aWNIVnNjMlZFYjNkdUlpd2ljRzl3U1c0aUxDSndiM0JQZFhRaUxDSm1ZV1JsU1c0aUxDSm1ZV1JsVDNWMElpd2ljMnhwWkdWVmNDSXNJbk5zYVdSbFVtbG5hSFFpTENKemJHbGtaVXhsWm5RaUxDSnpiR2xrWlVSdmQyNGlMQ0poYm1sdFlYUnBiMjVVYVcxbGIzVjBJaXdpWDJkbGRGVnVhWEYxWlVWc1pXMWxiblJKUkNJc0luTjNhWEJsUkdWMFpXTjBiM0lpTENKemQybHdaVlJvY21WemFHOXNaQ0lzSW5WelpVOXViSGxVYjNWamFDSXNJbU5zYVdWdWRGZ2lMQ0pqYkdsbGJuUlpJaXdpWVdKeklpd2lSWFpsYm5RaUxDSmtaWE4wY205NUlpd2ljR3gxWjJsdUlpd2labTRpTENKcVFtOTRJaXdpYWtKdmVFTnZibVpwY20xWGNtRndjR1Z5SWl3aWFsRjFaWEo1SWl3aVkyOXVabWx5YlVKMWRIUnZiaUlzSW1OaGJtTmxiRUoxZEhSdmJpSXNJbU52Ym1acGNtMGlMQ0pqWVc1alpXd2lMQ0pqYkc5elpVOXVRMjl1Wm1seWJTSXNJbDl2YmtGMGRHRmphQ0lzSW5CeWIzQWlMQ0pmYjI1RGNtVmhkR1ZrSWl3aWMzVmliV2wwUW5WMGRHOXVJaXdpWDI5dVQzQmxiaUlzSW1WMllXd2lMQ0pxUW05NFNXMWhaMlZYY21Gd2NHVnlJaXdpWjJGc2JHVnllU0lzSW1sdFlXZGxUR0ZpWld3aUxDSnBiV0ZuWlVaaFpHVWlMQ0pwYldGblpWTnBlbVVpTENKcGJXRm5aVU52ZFc1MFpYSWlMQ0pwYldGblpVTnZkVzUwWlhKVFpYQmhjbUYwYjNJaUxDSmtiM2R1Ykc5aFpFSjFkSFJ2YmlJc0ltUnZkMjVzYjJGa1FuVjBkRzl1VkdWNGRDSXNJbVJ2ZDI1c2IyRmtRblYwZEc5dVZYSnNJaXdpYlc5aWFXeGxTVzFoWjJWQmRIUnlJaXdpYlc5aWFXeGxTVzFoWjJWQ2NtVmhhM0J2YVc1MElpd2ljSEpsYkc5aFpFWnBjbk4wU1cxaFoyVWlMQ0pmYjI1SmJtbDBJaXdpYVcxaFoyVnpJaXdpWTNWeWNtVnVkRWx0WVdkbElpd2lhVzFoWjJWYVNXNWtaWGdpTENKcGJtbDBTVzFoWjJVaUxDSnNZV0psYkNJc0ltUnZkMjVzYjJGa1ZYSnNJaXdpWW1GamEyZHliM1Z1WkZOcGVtVWlMQ0p6YUc5M1NXMWhaMlVpTENKMGIyZG5iR1ZEYkdGemN5SXNJbWx0WVdkbFRHRmlaV3hEYjI1MFlXbHVaWElpTENKa2IzZHViRzloWkVsdFlXZGxJaXdpYUhKbFppSXNJbk4xWW5OMGNtbHVaeUlzSW1Oc2FXTnJJaXdpU1cxaFoyVWlMQ0p2Ym14dllXUWlMQ0ppWVdOclozSnZkVzVrU1cxaFoyVWlMQ0p2Ym1WeWNtOXlJaXdpYVcxaFoyVk1ZV0psYkZkeVlYQndaWElpTENKcGJXRm5aVkJ5WlhaQ2RYUjBiMjRpTENKcGJXRm5aVTVsZUhSQ2RYUjBiMjRpTENKcGJuTmxjblJCWm5SbGNpSXNJbDl2YmtOc2IzTmxJaXdpWDI5dVEyeHZjMlZEYjIxd2JHVjBaU0lzSW1wQ2IzaE9iM1JwWTJWWGNtRndjR1Z5SWl3aVkyOXNiM0lpTENKemRHRmpheUlzSW5OMFlXTnJVM0JoWTJsdVp5SXNJbkpsYzNCdmJuTnBkbVZRYjNOcGRHbHZibk1pTENJMU1EQWlMQ0kzTmpnaUxDSmtaV1poZFd4MFRtOTBhV05sVUc5emFYUnBiMjRpTENKZllXUnFkWE4wVG05MGFXTmxVRzl6YVhSdmJpSXNJbU5zYjI1bElpd2lYMjl1VUc5emFYUnBiMjRpTENKeVpYWmxjbk5sSWl3aVkyRnNiQ0lzSW1SbFptbHVaU0lzSW1GdFpDSXNJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0p5WlhGMWFYSmxJaXdpWTI5dWMyOXNaU0pkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzVTBGQlUwRXNXVUZCV1VNc1IwRkJSeXhUUVVGVFF5eEZRVUZGUXl4RlFVRkZReXhIUVVGSExFOUJRVTlETEV0QlFVdERMRkZCUVZFc1EwRkJRME1zUjBGQlJ5eExRVUZMUXl4TlFVRk5MRTlCUVU5RExFOUJRVThzVDBGQlQwTXNVMEZCVXl4TFFVRkxReXhWUVVGVkxFdEJRVXRETEZOQlFWTXNTMEZCUzBNc1ZVRkJWU3hMUVVGTFF5eHBRa0ZCWjBJc1JVRkJSME1zYTBKQlFXbENMRVZCUVVkRExHMUNRVUZ0UWl4SlFVRkpReXh2UWtGQmIwSXNTVUZCU1VNc1QwRkJUeXhMUVVGTFF5eFJRVUZSTEZGQlFWRkRMR2RDUVVGbExFVkJRVWRETEZGQlFWRXNTMEZCUzBNc1YwRkJWeXhMUVVGTFF5eE5RVUZOTEV0QlFVdERMRk5CUVZNc1MwRkJTME1zVDBGQlR5eExRVUZMUXl4bFFVRmpMRVZCUVVkRExFdEJRVXNzUTBGQlEwTXNTVUZCU1N4TFFVRkxReXhMUVVGTExFZEJRVWRETEZGQlFVOHNSVUZCUjBNc1QwRkJUeXhYUVVGWFF5eFJRVUZSTEZsQlFWbERMRmxCUVZjc1JVRkJSME1zWTBGQllTeEZRVUZIUXl4VFFVRlJMRVZCUVVkRExHRkJRV0VzU1VGQlNVTXNiVUpCUVd0Q0xFZEJRVWxETEcxQ1FVRnJRaXhGUVVGSFF5eFBRVUZQTEV0QlFVdERMRk5CUVZNc1EwRkJRME1zUlVGQlJTeFRRVUZUUXl4RlFVRkZMRlZCUVZWRExGRkJRVkVzUzBGQlMwTXNUMEZCVHl4RlFVRkZReXhYUVVGWExFTkJRVU5LTEVWQlFVVXNUMEZCVDBNc1JVRkJSU3hQUVVGUFNTeFBRVUZOTEVWQlFVZERMR2RDUVVGbExFVkJRVWRETEdWQlFXTXNSVUZCUjBNc1pVRkJaU3hGUVVGRlF5eFpRVUZYTEVWQlFVZERMR3RDUVVGcFFpeEZRVUZIUXl4eFFrRkJiMElzUlVGQlIwTXNZMEZCWVN4RlFVRkhReXhUUVVGUkxFVkJRVWRETEZGQlFWRXNVMEZCVTBNc1MwRkJTeXhKUVVGSlF5eFZRVUZWTEV0QlFVdERMRTFCUVUwc1ZVRkJWVU1zVTBGQlV5eExRVUZMUXl4VFFVRlJMRVZCUVVkRExHRkJRV0VzUzBGQlMwTXNUMEZCVHl4SlFVRkpReXhWUVVGVkxFVkJRVVZETEZkQlFWY3NSVUZCUlVNc1dVRkJWeXhGUVVGSFF5eGpRVUZoTEVWQlFVZERMRzFDUVVGclFpeEZRVUZIUXl4aFFVRlpMRVZCUVVkRExGTkJRVk53UlN4RlFVRkZMRkZCUVZGeFJTeGpRVUZoTEVWQlFVZERMR0ZCUVZrc1JVRkJSME1zYlVKQlFXdENMRVZCUVVkRExGZEJRVlVzUlVGQlIwTXNWVUZCVXl4RlFVRkhReXhYUVVGVkxFVkJRVWRETEdOQlFXRXNSVUZCUjBNc1pVRkJZeXhGUVVGSFF5eGpRVUZoTEVWQlFVZERMRTFCUVUwc1MwRkJTME1zVDBGQlR5eEpRVUZKUXl4UFFVRlBMRXRCUVV0RExGTkJRVk1zUzBGQlMwTXNWMEZCVnl4TFFVRkxReXhWUVVGVkxFdEJRVXRETEU5QlFVOHNTMEZCUzBNc1VVRkJVU3hMUVVGTFF5eG5Ra0ZCWjBJc1MwRkJTME1zV1VGQldTeExRVUZMUXl4VlFVRlZMRTFCUVUxd1JpeExRVUZMY1VZc1pVRkJaU3hEUVVGRFF5eFJRVUZSTEVOQlFVTnlSU3hYUVVGWExGRkJRVkZJTEZGQlFWRXNZVUZCWVhGQ0xGTkJRVk1zUTBGQlEwTXNSVUZCUlN4VFFVRlRReXhGUVVGRkxFOUJRVTlETEZGQlFWRXNTVUZCU1Zjc1UwRkJVU3hIUVVGSmMwTXNUVUZCVFN4RFFVRkRPVVVzYVVKQlFXZENMRVZCUVVkRExHdENRVUZwUWl4RlFVRkhaME1zWlVGQlpTeFBRVUZQVWl4UFFVRlBMRkZCUVZGd1FpeFJRVUZSTEdGQlFXRnhRaXhUUVVGVExFTkJRVU5ETEVWQlFVVXNVVUZCVVVNc1JVRkJSU3hWUVVGVlF5eFJRVUZSTEV0QlFVdERMRTlCUVU4c1IwRkJSMmxFTEUxQlFVMHNRMEZCUTNSRUxFOUJRVTkwUXl4RlFVRkZOa1lzVVVGQlVXaEVMRTlCUVUwc1JVRkJSM2xDTEdGQlFWa3NSVUZCUjA0c1dVRkJWeXhGUVVGSFF5eGhRVUZoTEZWQlFWVkZMR0ZCUVZrc1JVRkJSMUlzVTBGQlVTeEZRVUZIU0N4VlFVRlZMRmRCUVZkd1JDeExRVUZMUXl4UlFVRlJUQ3hGUVVGRk9FWXNVVUZCVHl4RlFVRkhNVVlzUzBGQlMwTXNVVUZCVVVRc1MwRkJTM0ZHTEdWQlFXVjJSaXhKUVVGSlJDeEZRVUZGZDBZc1pVRkJaWFpHTEVkQlFVZERMRWRCUVVjc1ZVRkJWVWdzUlVGQlJTdEdMRXRCUVVzM1JpeExRVUZMUlN4TFFVRkxNa1lzUzBGQlN6ZEdMRWRCUVVkRkxFdEJRVXMwUml4alFVRmpMRmRCUVZjc1NVRkJPRWszUml4RlFVRXhTVVFzUlVGQlJTdzBRa0ZCTkVJclJpeE5RVUZOTEV0QlFVc3NVMEZCUnl4cFFrRkJhVUpLTEZGQlFWRkJMRTlCUVU5TExHVkJRV1ZETEc5Q1FVRnZRa1FzYVVKQlFUWkdMMFlzUlVGQmFFVkVMRVZCUVVVc1EwRkJReXhKUVVGSlFTeEZRVUZGYTBjc1MwRkJTeXh2UWtGQmIwSXNVMEZCVXl4TFFVRkxRU3hMUVVGTExFbEJRV1ZRTEU5QlFVOVJMRmRCUVZkc1J5eEhRVUZIYlVjc1UwRkJjRkFzUjBGQksxQnNSeXhMUVVGTE5FWXNaVUZCWlN4bFFVRmxOVVlzUzBGQlMwTXNVVUZCVVdFc1ZVRkJVeXhKUVVGTFpDeExRVUZMUXl4UlFVRlJORVFzWlVGQlpUZEVMRXRCUVV0RExGRkJRVkUwUkN4aFFVRmhMRkZCUVZFM1JDeExRVUZMYlVjc1YwRkJWeXhUUVVGVGNrY3NSVUZCUlVNc1IwRkJSME1zUzBGQlMwTXNVVUZCVVN4SlFVRkpTQ3hKUVVGSlJTeExRVUZMUXl4UlFVRlJMRWxCUVVsSUxFZEJRVWR6Unl4TFFVRkxjRWNzUzBGQmVrSkJMRU5CUVN0Q1JDeEhRVUZIUXl4TFFVRkxReXhSUVVGUlNDeEpRVUZKUlN4TFFVRkxReXhSUVVGUlNDeEhRVUZIYzBjc1MwRkJTM0JITEV0QlFYSkNRU3hEUVVFeVFrUXNTVUZCU1N4UFFVRlBReXhMUVVGTFF5eFJRVUZSUXl4TFFVRkxSaXhMUVVGTFF5eFJRVUZSUXl4SFFVRkhMRTlCUVU5TUxFVkJRVVYzUnl4blFrRkJaMEp5Unl4TFFVRkxSU3hIUVVGSFJpeExRVUZMUXl4UlFVRlJReXhKUVVGSkxGVkJRVlZHTEV0QlFVdERMRkZCUVZGclF5eFRRVUZUUXl4SFFVRkhMRXRCUVV0d1F5eExRVUZMUXl4UlFVRlJjVU1zVTBGQlV5eFZRVUZWZEVNc1MwRkJTME1zVVVGQlVXdERMRk5CUVZORkxFZEJRVWNzUzBGQlMzSkRMRXRCUVV0RExGRkJRVkZ4UXl4WFFVRlhkRU1zUzBGQlMwTXNVVUZCVVhGRExGRkJRVkVzVFVGQlRTeFZRVUZWZEVNc1MwRkJTME1zVVVGQlVXbEVMRk5CUVZOc1JDeExRVUZMUXl4UlFVRlJjVU1zVTBGQlV5eE5RVUZOZEVNc1MwRkJTME1zVVVGQlVYRkRMRlZCUVZWMFF5eExRVUZMUXl4UlFVRlJaMFFzVTBGQlVTeEhRVUZKTEZWQlFWVnlSQ3hGUVVGRkswWXNTMEZCU3pOR0xFdEJRVXRETEZGQlFWRnpReXhSUVVGUmRrTXNTMEZCUzBNc1VVRkJVWE5ETEU5QlFVOHNRMEZCUTBnc1JVRkJSWEJETEV0QlFVdERMRkZCUVZGelF5eFBRVUZQUml4RlFVRkZja01zUzBGQlMwTXNVVUZCVVhORExGRkJRVkYyUXl4TFFVRkxReXhSUVVGUmMwTXNUMEZCVHpORExFVkJRVVU0Uml4UFFVRlBMRU5CUVVOMFJDeEZRVUZGTEVWQlFVVkRMRVZCUVVVc1IwRkJSM0pETEV0QlFVdERMRkZCUVZGelF5eFJRVUZSTEZWQlFWVXpReXhGUVVGRkswWXNTMEZCU3pOR0xFdEJRVXRETEZGQlFWRXlReXhuUWtGQlowSTFReXhMUVVGTFF5eFJRVUZSTWtNc1pVRkJaU3hEUVVGRE1FUXNTVUZCU1hSSExFdEJRVXRETEZGQlFWRXlReXhsUVVGbE1rUXNUVUZCVFhaSExFdEJRVXRETEZGQlFWRXlReXhsUVVGbE5FUXNUMEZCVDNoSExFdEJRVXRETEZGQlFWRXlReXhsUVVGbE5rUXNTMEZCUzNwSExFdEJRVXRETEZGQlFWRXlReXhuUWtGQlowSTFReXhMUVVGTFF5eFJRVUZSTWtNc1pVRkJaV2hFTEVWQlFVVTRSaXhQUVVGUExFTkJRVU5aTEVsQlFVa3NSVUZCUlVjc1MwRkJTeXhGUVVGRlJpeE5RVUZOTEVWQlFVVkRMRTlCUVU4c1IwRkJSM2hITEV0QlFVdERMRkZCUVZFeVF5eG5Ra0ZCWjBJMVF5eExRVUZMYzBNc1YwRkJWM1JETEV0QlFVdERMRkZCUVZGeFF5eFRRVUZUTEUxQlFVMTBReXhMUVVGTFF5eFJRVUZSY1VNc1ZVRkJWWFJETEV0QlFVdERMRkZCUVZGclF5eFRRVUZUYmtNc1MwRkJTME1zVVVGQlVYRkRMRk5CUVZOMFF5eExRVUZMTUVjc1RVRkJUVEZITEV0QlFVdHpReXhWUVVGVkxGVkJRVlYwUXl4TFFVRkxReXhSUVVGUmEwTXNVMEZCVTBVc1IwRkJSeXhWUVVGVmVrTXNSVUZCUlN0R0xFdEJRVXN6Uml4TFFVRkxReXhSUVVGUmEwTXNVMEZCVTBVc1IwRkJSM0pETEV0QlFVdERMRkZCUVZGclF5eFRRVUZUUXl4RlFVRkZMRlZCUVZWd1F5eExRVUZMUXl4UlFVRlJhME1zVTBGQlUwTXNSMEZCUnl4VlFVRlZlRU1zUlVGQlJTdEdMRXRCUVVzelJpeExRVUZMUXl4UlFVRlJhME1zVTBGQlUwTXNSMEZCUjNCRExFdEJRVXRETEZGQlFWRnJReXhUUVVGVFJTeEZRVUZGY2tNc1MwRkJTME1zVVVGQlVYVkRMRmRCUVZkS0xFZEJRVWQyUXl4RlFVRkZPRWNzVlVGQlZVTXNTMEZCUzBNc1NVRkJTV2hJTEVWQlFVVTRSeXhYUVVGWExFVkJRVVVzVTBGQlV6TkhMRXRCUVV0RExGRkJRVkYzUkN4UFFVRlBMRWxCUVVsNlJDeExRVUZMUXl4UlFVRlJkMFFzVVVGQlVTeFRRVUZUZWtRc1MwRkJTME1zVVVGQlVYZEVMRk5CUVZONlJDeExRVUZMT0Vjc2IwSkJRVzFDTEVWQlFVZHFTQ3hGUVVGRk9FY3NWMEZCVnl4RlFVRkZNMGNzUzBGQlMwTXNVVUZCVVhkRUxFOUJRVTgxUkN4RlFVRkZPRWNzVlVGQlZUTkhMRXRCUVVzclJ5eFZRVUZWTDBjc1MwRkJTME1zVVVGQlVYTkVMRk5CUVZOMlJDeExRVUZMWjBnc1VVRkJVU3hUUVVGVGJFZ3NSMEZCUnl4TlFVRk5MRU5CUVVNeVJ5eExRVUZMTEZGQlFWRkdMRTFCUVUwc1QwRkJUMFFzU1VGQlNTeFRRVUZUUlN4UFFVRlBMRTFCUVUxd1JTeEZRVUZGTEVsQlFVbERMRVZCUVVVc1MwRkJTM1pETEVsQlFVbEZMRXRCUVV0cFNDeFBRVUZQTEZOQlFWTnVTQ3hIUVVGSExFMUJRVTBzUTBGQlF6SkhMRXRCUVVzc1NVRkJTVVlzVFVGQlRTeEpRVUZKUkN4SlFVRkpMRWxCUVVsRkxFOUJRVThzU1VGQlNWVXNUMEZCVHl4TFFVRkxjRWdzU1VGQlNVVXNTMEZCUzIxSUxFOUJRVThzVTBGQlUzSklMRWRCUVVjc1RVRkJUU3hEUVVGRE1rY3NTMEZCU3l4UFFVRlBSaXhOUVVGTkxFOUJRVTlFTEVsQlFVa3NUVUZCVFVVc1QwRkJUeXhOUVVGTlZTeFBRVUZQTEU5QlFVODVSU3hGUVVGRkxFOUJRVTlETEVWQlFVVXNUMEZCVDNaRExFbEJRVWxGTEV0QlFVdHZTQ3hSUVVGUkxGTkJRVk4wU0N4RlFVRkZReXhIUVVGSExFMUJRVTBzVVVGQlVVUXNSVUZCUlN4UFFVRlBRU3hIUVVGSExGVkJRVlZHTEVWQlFVVXJSaXhMUVVGTE4wWXNTVUZCU1N4TFFVRkxRU3hGUVVGRmRVZ3NUMEZCVHl4SFFVRkhla2dzUlVGQlJUWkdMRkZCUVZFc1ZVRkJWVEZHTEVWQlFVVXNZMEZCWXl4blFrRkJaMEoxU0N4VFFVRlRlRWdzUlVGQlJYbElMRkZCUVZFc1NVRkJTU3hMUVVGTExFbEJRVWw2U0N4SFFVRkhSU3hMUVVGTGQwZ3NWMEZCVnl4VFFVRlRNVWdzUlVGQlJVTXNSMEZCUnl4SlFVRkpNRWdzUlVGQlJURkNMRk5CUVZNeVFpeG5Ra0ZCWjBJc05rSkJRVFpDTlVnc1IwRkJSeXhQUVVGUFJpeEZRVUZGSzBnc1MwRkJTelZJTEVWQlFVVXNVMEZCVTBRc1JVRkJSVU1zUjBGQlJ6QklMRVZCUVVWSExHRkJRV0UzU0N4RlFVRkZMRWRCUVVkQkxFVkJRVVVzU1VGQlNTeE5RVUZOTUVnc1IwRkJSM3BJTEV0QlFVczJTQ3hsUVVGbExGTkJRVk5ETEVkQlFVZEJMRWRCUVVkQkxFVkJRVVZETEZGQlFWRkVMRVZCUVVWRkxFZEJRVWNzWjBWQlFXZEZMRk5CUVZOc1NTeEhRVUZITEVsQlFVbERMRVZCUVVWRUxFVkJRVVZ0U1N4WlFVRlpia2tzUlVGQlJXOUpMR1ZCUVdWd1NTeEZRVUZGYjBrc1kwRkJZMFFzWVVGQllXNUpMRVZCUVVWeFNTeFBRVUZQVml4RlFVRkZMRWRCUVVkNlNDeExRVUZMYjBrc1ZVRkJWVTRzUlVGQlJVOHNZMEZCWTNKSkxFdEJRVXR6U1N4aFFVRmhReXhGUVVGRmRra3NTMEZCUzI5SkxGZEJRVmNzUjBGQlIzSkpMRVZCUVVVc1IwRkJSekJJTEVkQlFVY3NSVUZCUlRGSUxFZEJRVWQzU1N4SlFVRkpla2tzUlVGQlJXbENMRzlDUVVGdlFtWXNTMEZCUzNkSkxHVkJRV1VzVjBGQlZ5eEpRVUZKZUVrc1MwRkJTM2xKTEdkQ1FVRm5RaXhSUVVGUmVra3NTMEZCUzJkQ0xGRkJRVkVzUjBGQlJ6QklMRTFCUVUxMlNTeFJRVUZSU0N4TFFVRkxaMElzVVVGQlVTeEhRVUZITUVnc1RVRkJUVzVKTEZOQlFWTXNUMEZCVHl4TFFVRkxMRWxCUVVsVUxFVkJRVVVzVVVGQlVVVXNTMEZCU3pKSkxGRkJRVkZETEVsQlFVa3NXVUZCV1RWSkxFdEJRVXN5U1N4UlFVRlJReXhKUVVGSkxGVkJRVlVzVTBGQlV6bEpMRVZCUVVWRkxFdEJRVXRuUWl4UlFVRlJOa2dzWVVGQllUZEpMRXRCUVVzeVNTeFJRVUZSUXl4SlFVRkpMRlZCUVZVc1UwRkJVemxKTEVWQlFVVkZMRXRCUVV0blFpeFJRVUZSTmtnc1lVRkJZVGRKTEV0QlFVdDVTU3hsUVVGbFJ5eEpRVUZKTEVOQlFVTnlTU3hUUVVGVGNVY3NTMEZCUzBNc1NVRkJTUzlITEVWQlFVVjNTQ3hUUVVGVGRFZ3NTMEZCUzJkQ0xGRkJRVkVzUjBGQlJ6QklMRTFCUVUxdVNTeFpRVUZaTEZGQlFWRlFMRXRCUVVzNFNTeFhRVUZYTEZkQlFWY3NTVUZCU1RsSkxFdEJRVXRETEZGQlFWRnRSU3hWUVVGVkxFOUJRVTBzUlVGQlJ5eEpRVUZKZEVVc1JVRkJSU3hUUVVGVFJTeExRVUZMUXl4UlFVRlJiVVVzVlVGQlZYQkZMRXRCUVV0NVNTeGxRVUZsZWtrc1MwRkJTME1zVVVGQlVXMUZMSEZDUVVGeFFuaEZMRVZCUVVWSkxFdEJRVXRETEZGQlFWRnRSU3hWUVVGVkxGVkJRVlY0UlN4RlFVRkZLMFlzUzBGQlN6TkdMRXRCUVV0RExGRkJRVkZ0UlN4WFFVRlhlRVVzUlVGQlJVa3NTMEZCUzBNc1VVRkJVVzFGTEZkQlFWZHdSU3hMUVVGTE1ra3NVVUZCVVN4VlFVRlZOMGtzUjBGQlIwRXNZVUZCWVVZc1IwRkJSMFVzUlVGQlJXbEpMRk5CUVZOcVNTeEZRVUZGTUVJc1MwRkJTeXh4UWtGQmNVSXhRaXhGUVVGRmQwUXNVMEZCVXl4clFrRkJhMEk1UWl4TFFVRkxMR3RDUVVGcFFpeEhRVUZKZDBjc1IwRkJSeXgxUWtGQmRVSXNVMEZCVTJ4SkxFZEJRVWNzU1VGQlNVTXNSVUZCUlRCSUxFVkJRVVZqTEVWQlFVVlVMRVZCUVVWcFFpeEZRVUZGUXl4RlFVRkZMRWRCUVVkc1NpeEZRVUZGYlVvc1VVRkJVWEpLTEVWQlFVVkZMRVZCUVVWdlF5eFJRVUZSWjBnc1UwRkJVeXhuUWtGQlowSjBTaXhGUVVGRlJTeEZRVUZGYjBNc1VVRkJVV2xJTEZGQlFWRXNaMEpCUVdkQ2NFSXNUMEZCVHl4alFVRmpha2tzUlVGQlJUWkdMRTlCUVU4dlJpeEZRVUZGUlN4RlFVRkZiME1zVVVGQlVXZElMRk5CUVZNc2NVSkJRWEZDZEVvc1JVRkJSVVVzUlVGQlJXOURMRkZCUVZGcFNDeFJRVUZSTEhGQ1FVRnhRbkJDTEZOQlFWTXZTQ3hMUVVGTGIwb3NUVUZCVFN4RFFVRkRReXhoUVVGWkxFdEJRVTAxUWl4RlFVRkZMR05CUVdNelNDeEZRVUZGTmtZc1RVRkJUVGRHTEVWQlFVVjNTaXhUUVVGVGVFb3NSVUZCUlhkS0xGRkJRVkVzU1VGQlNYWktMRVZCUVVWRUxFVkJRVVYzU2l4UlFVRlJMRWRCUVVkRExFMUJRVTE2U2l4RlFVRkZkMG9zVVVGQlVTeEhRVUZIUlN4UlFVRlJla29zUlVGQlJVUXNSVUZCUlhsS0xFMUJRVTE2U2l4RlFVRkZNRW9zVDBGQlQzaEtMRXRCUVV0NVNpeGxRVUZsTVVvc1JVRkJSVU1zUzBGQlN6QktMR1ZCUVdWcVF5eEZRVUZGZWtnc1MwRkJTME1zVVVGQlVXOUZMRmRCUVZkeVJTeExRVUZMSzBjc1YwRkJWMDhzVTBGQlUzUklMRXRCUVVzeVNTeFJRVUZSUXl4SlFVRkpMRlZCUVZVc1MwRkJTeTlKTEVWQlFVVTRTaXh2UWtGQmIwSTVTaXhGUVVGRk9Fb3NiVUpCUVcxQ0xFVkJRVVV6U2l4TFFVRkxNa2tzVVVGQlVVTXNTVUZCU1N4VFFVRlRMMGtzUlVGQlJUaEtMRzlDUVVGdlFuQkNMRVZCUVVWMlNTeExRVUZMTWtrc1VVRkJVVTRzWTBGQlkxQXNSVUZCUlRsSUxFdEJRVXN5U1N4UlFVRlJSU3hoUVVGaFJTeEZRVUZGTDBrc1MwRkJTekpKTEZGQlFWRndSeXhUUVVGVEswUXNTVUZCU1dsRExFVkJRVVZrTEVWQlFVVjFRaXhGUVVGRmFFb3NTMEZCU3pKSkxGRkJRVkZ3Unl4VFFVRlRhMFVzUzBGQlMzRkNMRVZCUVVVdlNDeEZRVUZGU0N4RlFVRkZiVWNzVlVGQlZXbERMRWRCUVVjc05FSkJRVFJDYUVrc1MwRkJTMFVzUjBGQlJ5dzJRa0ZCTmtKR0xFdEJRVXRGTEVkQlFVY3NVMEZCVTBvc1IwRkJSeXhKUVVGSlF5eEZRVUZGUkN4RlFVRkZMR0ZCUVdGQkxFVkJRVVUyUml4TlFVRk5OMFlzUlVGQlJYZEtMRk5CUVZONFNpeEZRVUZGZDBvc1VVRkJVU3hKUVVGSmRrb3NSVUZCUlVRc1JVRkJSWGRLTEZGQlFWRXNSMEZCUjBNc1RVRkJUWHBLTEVWQlFVVjNTaXhSUVVGUkxFZEJRVWRGTEZGQlFWRjZTaXhGUVVGRlJDeEZRVUZGZVVvc1RVRkJUWHBLTEVWQlFVVXdTaXhQUVVGUGVFb3NTMEZCU3pSS0xGVkJRVlUxU2l4TFFVRkxlVW9zWjBKQlFXZENNVW9zUjBGQlIwTXNTMEZCU3pCS0xHZENRVUZuUWpWS0xFbEJRVWxGTEV0QlFVdHRSeXhYUVVGWExHVkJRV1Z1Unl4TFFVRkxORW9zVlVGQlV5eEhRVUZKTlVvc1MwRkJTekpKTEZGQlFWRndSeXhQUVVGUExFTkJRVU1yUkN4SlFVRkplRWNzUlVGQlJXbEtMRVZCUVVWU0xFVkJRVVU1UWl4TFFVRkxNVWNzUlVGQlJXbEtMRVZCUVVWc1FpeExRVUZMTVVJc1MwRkJTM0JITEU5QlFVOUdMRVZCUVVWcFFpeHRRa0ZCYlVKeFJpeExRVUZMY0Vjc1QwRkJUMmRKTEVkQlFVY3NiVUpCUVcxQ0xGZEJRVmNzU1VGQlNXeEpMRVZCUVVWR0xFVkJRVVZ0Unl4VlFVRlZPRVFzU1VGQlNTdzBRa0ZCTkVJM1NpeExRVUZMUlN4SFFVRkhMRFpDUVVFMlFrWXNTMEZCUzBVc1NVRkJTVVlzUzBGQlN6UktMRlZCUVZVMVNpeExRVUZMYlVjc1YwRkJWeXhoUVVGaGJrY3NTMEZCU3pSS0xGVkJRVk1zUlVGQlJ5eFRRVUZUTlVvc1MwRkJTekpHTEUxQlFVMHNWMEZCVnpOR0xFdEJRVXN5Uml4UFFVRlBNMFlzUzBGQlMwTXNVVUZCVVN0RExHVkJRV1ZzUkN4RlFVRkZMRU5CUVVOelF5eEhRVUZIZEVNc1JVRkJSVVlzUlVGQlJTeEpRVUZKU1N4TFFVRkxSU3hKUVVGSmNVTXNWVUZCVld0RkxFdEJRVXMzUnl4RlFVRkZiVWNzVlVGQlZTdEVMR0ZCUVdGNlNDeEZRVUZGZGtNc1JVRkJSWGRITEVsQlFVa3hSeXhGUVVGRmJVY3NWVUZCVlhGRExHRkJRV0Z3U1N4TFFVRkxiVU1zVTBGQlV5eERRVUZEUVN4VFFVRlRja01zUlVGQlJYbERMRTlCUVU4c1EwRkJRMGdzUlVGQlJTeEZRVUZGUXl4RlFVRkZMRTlCUVU4clJDeExRVUZMY0Vjc1QwRkJUMEVzUzBGQlN5dEhMRmxCUVZsc1NDeEZRVUZGT0Vvc2EwSkJRV3RDT1Vvc1JVRkJSVGhLTEd0Q1FVRnJRaTlETEV0QlFVdERMRWxCUVVsb1NDeEZRVUZGT0Vvc2EwSkJRV3RDTTBvc1MwRkJTME1zVVVGQlVYZEVMRkZCUVZGNlJDeExRVUZMUXl4UlFVRlJkMFFzVVVGQlVYcEVMRTlCUVU5QkxFdEJRVXNyU2l4UlFVRlJMRmRCUVZjc1NVRkJTV3BMTEVWQlFVVkZMRXRCUVVzeVNTeFZRVUZWTTBrc1MwRkJTekpKTEZGQlFWRXZTU3hGUVVGRkxGTkJRVk1zUTBGQlEwMHNSMEZCUjBZc1MwRkJTMFVzUjBGQlJ6aEtMRTFCUVUwc1owSkJRV2RDYUVzc1MwRkJTekpHTEV0QlFVc3NVMEZCVXpOR0xFdEJRVXN5Uml4TFFVRkxMRXRCUVVzelJpeExRVUZMUXl4UlFVRlJiMFFzVFVGQlRTeFRRVUZUY2tRc1MwRkJTME1zVVVGQlVXOUVMRTFCUVUwc1MwRkJTM0pFTEV0QlFVdERMRkZCUVZGeFJDeFRRVUZUTEVsQlFVbDBSQ3hMUVVGTFF5eFJRVUZSY1VRc1UwRkJVeXhOUVVGTmMwWXNTVUZCU1N4RFFVRkRla2NzVTBGQlUyNURMRXRCUVV0RExGRkJRVkYzUXl4TlFVRk5MRkZCUVZFc1YwRkJWM2RJTEZGQlFWRXNUMEZCVDBNc1VVRkJVU3hGUVVGRmVrY3NUMEZCVDNwRUxFdEJRVXRETEZGQlFWRjNSQ3hUUVVGVGFrTXNTMEZCU3l4UFFVRlBlRUlzVFVGQlRVRXNTMEZCUzBNc1VVRkJVVFpFTEcxQ1FVRnRRamxFTEV0QlFVc3lTU3hSUVVGUldDeEhRVUZITEdGQlFXRXNVMEZCVTJ4SkxFbEJRVWxGTEV0QlFVdHRTeXhSUVVGUmNrc3NSVUZCUlhOTExHVkJRV1Z3U3l4TFFVRkxiVXNzVDBGQlR5eExRVUZMTEVsQlFVbDJTeXhGUVVGRmVVc3NVVUZCVVhKTExFdEJRVXR0U3l4UFFVRlBMRWRCUVVkMlN5eEZRVUZGUlN4RlFVRkZjMHNzWlVGQlpXcENMRkZCUVZFc1QwRkJUMjVLTEV0QlFVdHZTaXhUUVVGVGFFUXNTMEZCUzNCSExFOUJRVThzVDBGQlQwRXNTMEZCUzBNc1VVRkJVVFJFTEdOQlFXTTNSQ3hMUVVGTE1ra3NVVUZCVVZnc1IwRkJSeXhaUVVGWkxGZEJRVmRvU1N4TFFVRkxiMG9zVFVGQlRTeERRVUZEUXl4aFFVRlpMRXRCUVUxcVJDeExRVUZMY0Vjc1QwRkJUMEVzUzBGQlMzTkxMRlZCUVZVeFN5eEZRVUZGTEdsRFFVRnBRMjlGTEZOQlFWTm9SU3hMUVVGTE1ra3NVMEZCVXpOSkxFdEJRVXRuUWl4UlFVRlJjRUlzUlVGQlJTd3JRa0ZCSzBKdlJTeFRRVUZUYUVVc1MwRkJTM05MTEZkQlFWZDBTeXhMUVVGTFF5eFJRVUZSYlVJc1UwRkJVM0JDTEV0QlFVdHZRaXhQUVVGUGVFSXNSVUZCUlN3NFFrRkJPRUl5U3l4UFFVRlBka3NzUzBGQlMwTXNVVUZCVVcxQ0xGRkJRVkUwUXl4VFFVRlRhRVVzUzBGQlMzTkxMRmxCUVZsMFN5eExRVUZMUXl4UlFVRlJiMElzWlVGQlpYSkNMRXRCUVVzMlNDeGxRVUZsTjBnc1MwRkJTMmRDTEZOQlFWTm9RaXhMUVVGTFF5eFJRVUZST0VRc1pVRkJaV3BGTEVWQlFVVkZMRXRCUVV0M1NDeFhRVUZYTEUxQlFVMHNRMEZCUXl4RFFVRkRMRlZCUVZVc1owSkJRV2RDWjBRc1dVRkJXWGhMTEV0QlFVdDNTQ3hYUVVGWExFOUJRVThzUTBGQlF5eERRVUZETEVsQlFVa3NiMUZCUVc5UmVFZ3NTMEZCU3l0RUxGbEJRVmx1UlN4RlFVRkZMQ3REUVVFclEyOUpMRWRCUVVjc1dVRkJXU3hUUVVGVGJFa3NSMEZCUjBVc1MwRkJTMjlLTEUxQlFVMHNRMEZCUTBNc1lVRkJXU3hMUVVGTmFrUXNTMEZCUzNCSExFOUJRVTkxU3l4UFFVRlBla3NzUjBGQlJ5eFBRVUZQUlN4TFFVRkxReXhSUVVGUk9FUXNaVUZCWXl4SlFVRkxMMFFzUzBGQlMwTXNVVUZCVVRoRUxHRkJRV0V2UkN4TFFVRkxReXhSUVVGUmMwUXNVMEZCVTNaRUxFdEJRVXRETEZGQlFWRnBRaXhQUVVGUGJFSXNTMEZCUzBNc1VVRkJVV3RDTEZsQlFWbHVRaXhMUVVGTE1ra3NVVUZCVVhKR0xGTkJRVk1zZDBKQlFYZENkRVFzUzBGQlN5dEVMRmxCUVZsRExGTkJRVk5vUlN4TFFVRkxjMHNzWVVGQllYUkxMRXRCUVVzeVNTeFJRVUZSTTBVc1UwRkJVMmhGTEV0QlFVdERMRkZCUVZFclJDeFZRVUZWYUVVc1MwRkJTekpKTEZGQlFWRTRRaXhMUVVGTExIRkNRVUZ4UWpGRExGRkJRVkZ1U1N4RlFVRkZLMGdzUzBGQlN5eERRVUZETEUxQlFVMHNVVUZCVVN4VFFVRlRMRkZCUVZFc1UwRkJVemRJTEVWQlFVVkRMRWRCUVVkRExFdEJRVXN5U1N4UlFVRlJPRUlzUzBGQlN5eHhRa0ZCY1VJM1FpeEpRVUZKTjBrc1NVRkJTU3hSUVVGUlF5eExRVUZMTWtrc1VVRkJVVGhDTEV0QlFVc3NjVUpCUVhGQ04wSXNTVUZCU1RkSkxFdEJRVXRETEV0QlFVdERMRkZCUVZFeVF5eGxRVUZsTjBNc1IwRkJSelpITEV0QlFVdERMRWxCUVVrM1J5eExRVUZMUXl4UlFVRlJNa01zWlVGQlpUZERMRWRCUVVkRExFdEJRVXRETEZGQlFWRXlReXhsUVVGbE4wTXNTVUZCU1N4SlFVRkpkVWdzVTBGQlUzUklMRXRCUVVzeVNTeFJRVUZST0VJc1MwRkJTeXh4UWtGQmNVSTNRaXhKUVVGSk4wa3NTMEZCU3l4SlFVRkpkVWdzVTBGQlUzUklMRXRCUVV0elN5eFZRVUZWTVVJc1NVRkJTU3hWUVVGVk4wa3NSVUZCUlN4WlFVRlpMRTlCUVU5eFJ5eExRVUZMY0Vjc1QwRkJUMEVzUzBGQlMwTXNVVUZCVVdkRUxGVkJRVlZxUkN4TFFVRkxhVVFzVVVGQlVTeERRVUZEWkN4VFFVRlRMRlZCUVZWdVF5eExRVUZMUXl4UlFVRlJhVVFzVVVGQlVXeEVMRXRCUVV0RExGRkJRVkZwUkN4UlFVRlJiRVFzUzBGQlMyZElMRkZCUVZGb1NDeExRVUZMYzBNc1UwRkJVMjlKTEVkQlFVY3NWVUZCVlRGTExFdEJRVXRETEZGQlFWRnBSQ3hSUVVGUmJFUXNTMEZCUzJsSUxFOUJRVTlxU0N4TFFVRkxReXhSUVVGUmFVUXNVMEZCVTJ4RUxFdEJRVXRwU0N4UFFVRlBha2dzUzBGQlMzTkRMRk5CUVZOdlJTeE5RVUZOTEZOQlFWTnVSU3hQUVVGUExFZEJRVWQyUXl4TFFVRkxhVVFzVVVGQlVUQklMRkZCUVZFdlN5eEZRVUZGTEhsRFFVRjVRMGtzUzBGQlMybEVMRkZCUVZGa0xGTkJRVk1zVDBGQlR6WkNMRk5CUVZOb1JTeExRVUZMTWtrc1UwRkJVek5KTEV0QlFVdHBSQ3hSUVVGUk1rZ3NWMEZCVnl4RFFVRkRlRWtzUlVGQlJYQkRMRXRCUVV0cFJDeFJRVUZSTUVnc1VVRkJVVGxDTEdGQlFXRjRSeXhGUVVGRmNrTXNTMEZCUzJsRUxGRkJRVkV3U0N4UlFVRlJkRU1zWlVGQlpTeFZRVUZWZWtrc1JVRkJSU3RHTEV0QlFVc3pSaXhMUVVGTFF5eFJRVUZSWjBRc1dVRkJXVzVFTEVWQlFVVkZMRXRCUVV0RExGRkJRVkZuUkN4UlFVRlJORU1zVFVGQlRTeE5RVUZOTEV0QlFVczNSaXhMUVVGTGFVUXNVVUZCVVhsRUxFMUJRVTAxUnl4RlFVRkZMRWxCUVVsQkxFVkJRVVVzUzBGQlMwVXNTMEZCUzJsRUxGRkJRVkZXTEU5QlFVOHJSU3hUUVVGVGVFZ3NSVUZCUlN4TlFVRk5SU3hMUVVGTGFVUXNVVUZCVVRSSUxHVkJRV1VzUzBGQlN6ZExMRXRCUVV0cFJDeFJRVUZSZVVnc1IwRkJSeXhWUVVGVk1Vc3NTMEZCUzJsRUxGRkJRVkY1UkN4TlFVRk5MRk5CUVZNc1RVRkJUU3hUUVVGVE1VY3NTMEZCUzJsRUxGRkJRVkY1UkN4TlFVRk5MRkZCUVZFc1QwRkJUekZITEV0QlFVc3lTU3hSUVVGUlF5eEpRVUZKTEZkQlFWYzFTU3hMUVVGTGFVUXNVVUZCVVdRc1UwRkJVMjVETEV0QlFVdHBSQ3hSUVVGUk1rZ3NWMEZCVnpWTExFdEJRVXRwUkN4UlFVRlJlVWdzUzBGQlN6RkxMRXRCUVV0cFJDeFJRVUZSTUVnc1VVRkJVUzlDTEVsQlFVazFTU3hMUVVGTGFVUXNVVUZCVVRSSUxHVkJRV1VzVlVGQlZUZExMRXRCUVV0cFJDeFJRVUZSZVVRc1RVRkJUU3hOUVVGTkxFZEJRVWRyUXl4SlFVRkpMRlZCUVZVMVNTeExRVUZMYVVRc1VVRkJVVFJJTEdWQlFXVTNTeXhMUVVGTGFVUXNVVUZCVVZZc1VVRkJVWFpETEV0QlFVdHBSQ3hSUVVGUk5rZ3NUMEZCVHl4SFFVRkhPVXNzUzBGQlMybEVMRkZCUVZFMlNDeFBRVUZQTEZWQlFWVTVTeXhMUVVGTGFVUXNVVUZCVVRSSUxHZENRVUZuUWpkTExFdEJRVXRwUkN4UlFVRlJWaXhQUVVGUExGVkJRVlYyUXl4TFFVRkxhVVFzVVVGQlVYbEVMRTlCUVU4eFJ5eExRVUZMYVVRc1VVRkJVVEJJTEZGQlFWRXZRaXhKUVVGSkxGbEJRVmtzWTBGQll5eExRVUZMTlVrc1MwRkJTMmxFTEZGQlFWRjVTQ3hKUVVGSkxFZEJRVWN4U3l4TFFVRkxhVVFzVVVGQlVUSklMRmRCUVZkNFNTeEZRVUZGTEV0QlFVc3NSMEZCUnl4TlFVRk5MRXRCUVV0d1F5eExRVUZMYVVRc1VVRkJVWGxJTEVsQlFVa3NSMEZCUnpGTExFdEJRVXRwUkN4UlFVRlJNa2dzVjBGQlYzWkpMRVZCUVVVc1MwRkJTeXhIUVVGSExFdEJRVXR5UXl4TFFVRkxhVVFzVVVGQlVUQklMRkZCUVZFdlFpeEpRVUZKTEV0QlFVczFTU3hMUVVGTGFVUXNVVUZCVVhsSUxFZEJRVWNzVVVGQlVTeFRRVUZUY0VRc1UwRkJVM1JJTEV0QlFVdHBSQ3hSUVVGUk1rZ3NWMEZCVnpWTExFdEJRVXRwUkN4UlFVRlJlVWdzUzBGQlMzQkVMRk5CUVZOMFNDeExRVUZMYzBzc1ZVRkJWVEZDTEVsQlFVa3NWVUZCVlRWSkxFdEJRVXRwUkN4UlFVRlJORWdzWlVGQlpTeFpRVUZaTjBzc1MwRkJTekpKTEZGQlFWRnlSaXhUUVVGVExIZENRVUYzUW5SRUxFdEJRVXRwUkN4UlFVRlJaQ3hYUVVGWGJrTXNTMEZCU3pSQ0xGZEJRVmMxUWl4TFFVRkxReXhSUVVGUlpTeFRRVUZSTEVkQlFVbG9RaXhMUVVGTEswc3NVMEZCVXk5TExFdEJRVXRETEZGQlFWRnBRaXhQUVVGTkxFZEJRVWxzUWl4TFFVRkxReXhSUVVGUmJVVXNWMEZCVjNCRkxFdEJRVXM0U1N4aFFVRmhPVWtzUzBGQlMyMUhMRmRCUVZjc1pVRkJaVzVITEV0QlFVdERMRkZCUVZGblJTeGpRVUZqYWtVc1MwRkJTeXRLTEZWQlFWVXZTaXhMUVVGTFF5eFJRVUZSV1N4UlFVRlJZaXhMUVVGTFlTeFRRVUZUWWl4TFFVRkxaMHdzWTBGQll5eFhRVUZYYUV3c1MwRkJTME1zVVVGQlVYTkZMR05CUVdNelJTeEZRVUZGTEVsQlFVbEpMRXRCUVV0RkxFbEJRVWs0U0N4SFFVRkhMR0ZCUVdFc1UwRkJVMnhKTEVkQlFVZEZMRXRCUVV0cFRDeFhRVUZWTEVkQlFVazNSU3hMUVVGTGNFY3NUMEZCVDBFc1MwRkJTME1zVVVGQlVYTkZMR05CUVdNelJTeEZRVUZGTEVsQlFVbEpMRXRCUVV0RkxFbEJRVWs0U0N4SFFVRkhMR0ZCUVdFc1UwRkJVMnhKTEVkQlFVZEZMRXRCUVV0cFRDeFhRVUZWTEVkQlFVazNSU3hMUVVGTGNFY3NVVUZCVVVFc1MwRkJTME1zVVVGQlVYbERMR2RDUVVGblFqRkRMRXRCUVV0RExGRkJRVkUwUXl4alFVRmpOME1zUzBGQlMzbERMRTlCUVU5NlF5eExRVUZMYzBNc1ZVRkJWWFJETEV0QlFVdERMRkZCUVZFd1F5eGxRVUZsTDBNc1JVRkJSVFpHTEZGQlFWRjFReXhIUVVGSExHVkJRV1ZvU1N4TFFVRkxSU3hIUVVGSExGTkJRVk5LTEVkQlFVZEZMRXRCUVV0dFF5eFpRVUZaYVVVc1MwRkJTM0JITEZGQlFWRkJMRXRCUVV0RExGRkJRVkY1UXl4blFrRkJaMEl4UXl4TFFVRkxReXhSUVVGUk5FTXNZVUZCWVdwRUxFVkJRVVUyUml4UlFVRlJkVU1zUjBGQlJ5eGxRVUZsYUVrc1MwRkJTMFVzUjBGQlJ5eFRRVUZUU2l4SFFVRkhSU3hMUVVGTGJVTXNXVUZCV1dsRkxFdEJRVXR3Unl4UlFVRlJMRk5CUVZOQkxFdEJRVXRETEZGQlFWRnBReXhSUVVGUmRFTXNSVUZCUlN4UlFVRlJiMGtzUjBGQlJ5eHJRa0ZCYTBKb1NTeExRVUZMUlN4SFFVRkhMRk5CUVZOS0xFZEJRVWRGTEV0QlFVdHRReXhUUVVGVExFTkJRVU1yU1N4WlFVRlpMRU5CUVVNMVJTeEpRVUZKZUVjc1JVRkJSVEJLTEUxQlFVMHZReXhMUVVGTE0wY3NSVUZCUlhsS0xGVkJRVlZ1UkN4TFFVRkxjRWNzVVVGQlVVRXNTMEZCUzIxTUxHTkJRV01zVjBGQlYyNU1MRXRCUVV0RExGRkJRVkV5UkN4WlFVRlphRVVzUlVGQlJXMUhMRlZCUVZVNFJDeEpRVUZKTEdOQlFXTTNTaXhMUVVGTFJTeExRVUZKTEVsQlFVdEdMRXRCUVV0RExGRkJRVkUwUkN4alFVRmpMRkZCUVZFM1JDeExRVUZMUXl4UlFVRlJORVFzWTBGQlkycEZMRVZCUVVWdFJ5eFZRVUZWT0VRc1NVRkJTU3hqUVVGak4wb3NTMEZCUzBVc1IwRkJSeXhoUVVGaFJpeExRVUZMUlN4SlFVRkpSaXhMUVVGTFF5eFJRVUZSTUVNc1pVRkJaUzlETEVWQlFVVTJSaXhSUVVGUmIwVXNTVUZCU1N4bFFVRmxOMG9zUzBGQlMwVXNTMEZCUzBZc1MwRkJTME1zVVVGQlVYbERMR2RDUVVGblFqRkRMRXRCUVV0RExGRkJRVkUwUXl4aFFVRmhha1FzUlVGQlJUWkdMRkZCUVZGdlJTeEpRVUZKTEdWQlFXVTNTaXhMUVVGTFJTeEpRVUZKTEZOQlFWTkdMRXRCUVV0RExGRkJRVkZwUXl4UlFVRlJkRU1zUlVGQlJTeFJRVUZSYVVzc1NVRkJTU3hyUWtGQmEwSTNTaXhMUVVGTFJTeExRVUZMUml4TFFVRkxiMHdzWVVGQllTeFhRVUZYY0V3c1MwRkJTM1ZFTEZWQlFWVjJSQ3hMUVVGTGRVUXNVVUZCVVRORUxFVkJRVVVzV1VGQldVa3NTMEZCUzBVc1IwRkJSeXhsUVVGbGIwUXNVMEZCVXl4blFrRkJaMEowUkN4TFFVRkxNa1lzUzBGQlN5eHBRa0ZCYVVJelJpeExRVUZMTWtZc1MwRkJTeXhMUVVGTGFVUXNTVUZCU1N4RFFVRkRjVUlzVVVGQlVTeFBRVUZQUXl4UlFVRlJMRVZCUVVWNlJ5eFBRVUZQZWtRc1MwRkJTME1zVVVGQlVYZEVMRTlCUVU4c1NVRkJTVThzVTBGQlUyaEZMRXRCUVV0RExGRkJRVkVyUkN4VlFVRlZhRVVzUzBGQlMwTXNVVUZCVVhWRUxHTkJRV040UkN4TFFVRkxkVVFzVVVGQlVVUXNVMEZCVTNSRUxFdEJRVXRETEZGQlFWRjFSQ3hqUVVGakxGZEJRVmQ0UkN4TFFVRkxReXhSUVVGUk9FUXNZMEZCWVN4SlFVRkxMMFFzUzBGQlMwTXNVVUZCVVRoRUxHRkJRV0V2UkN4TFFVRkxkVVFzVVVGQlVXZElMRTlCUVU5MlN5eExRVUZMSzBRc1lVRkJZU3hYUVVGWEwwUXNTMEZCUzBNc1VVRkJVVFJFTEdOQlFXTTNSQ3hMUVVGTGRVUXNVVUZCVVhsRkxFZEJRVWNzV1VGQldTeFhRVUZYYUVrc1MwRkJTMjlLTEUxQlFVMHNRMEZCUTBNc1lVRkJXU3hMUVVGTmFrUXNTMEZCUzNCSExFOUJRVTlLTEVWQlFVVXNTVUZCU1Vrc1MwRkJTMFVzUjBGQlJ5dzRRa0ZCT0VJMlNDeFRRVUZUTDBnc1MwRkJTME1zVVVGQlVUSkRMR1ZCUVdVd1JDeEpRVUZKVFN4TFFVRkxReXhKUVVGSmFrZ3NSVUZCUlN4SlFVRkpTU3hMUVVGTFJTeEhRVUZITERoQ1FVRTRRbTFKTEdOQlFXTnlTU3hMUVVGTFF5eFJRVUZSTWtNc1pVRkJaVEJFTEZGQlFVOHNTVUZCUzNSSExFdEJRVXM0Unl4dlFrRkJiMEk1Unl4TFFVRkxkVVFzVVVGQlVYRkdMRWxCUVVrc1UwRkJVM1JDTEZOQlFWTjBTQ3hMUVVGTE1ra3NVVUZCVVVNc1NVRkJTU3hWUVVGVkxFbEJRVWtzUjBGQlJ5eFRRVUZUTlVrc1MwRkJTM1ZFTEZGQlFWRnhSaXhKUVVGSkxHRkJRV0UxU1N4TFFVRkxReXhSUVVGUmEwUXNTMEZCUzI1RUxFdEJRVXQxUkN4UlFVRlJPRWdzVVVGQlVYSk1MRXRCUVV0MVJDeFJRVUZSSzBnc1VVRkJVU3hEUVVGRGNFSXNVVUZCVVN4SFFVRkhMRU5CUVVOeFFpeFBRVUZOTEVWQlFVZERMRk5CUVZONFRDeExRVUZMUXl4UlFVRlJhMFFzUzBGQlMzTkpMRTFCUVUwc1YwRkJWM3BNTEV0QlFVdDFSQ3hSUVVGUmNVWXNTVUZCU1N4RFFVRkRjVUlzVVVGQlVTeFhRVUZYTjBRc1MwRkJTM0JITEZGQlFWRkJMRXRCUVV0MVJDeFJRVUZSY1VZc1NVRkJTU3hEUVVGRGNVSXNVVUZCVVN4UlFVRlJReXhSUVVGUkxFMUJRVTFzU3l4TFFVRkxNRXdzWVVGQllTeFhRVUZYTVV3c1MwRkJTM1ZFTEZWQlFWVjJSQ3hMUVVGTFF5eFJRVUZSYTBRc1MwRkJTMjVFTEV0QlFVdDFSQ3hSUVVGUk9FZ3NVVUZCVVhKTUxFdEJRVXQxUkN4UlFVRlJLMGdzVVVGQlVTeERRVUZEY0VJc1VVRkJVU3hIUVVGSExFTkJRVU54UWl4UFFVRk5MRVZCUVVkRExGTkJRVk40VEN4TFFVRkxReXhSUVVGUmEwUXNTMEZCUzNkSkxGTkJRVk1zVjBGQlZ6Tk1MRXRCUVV0MVJDeFJRVUZSY1VZc1NVRkJTU3hEUVVGRGNVSXNVVUZCVVN4VlFVRlZOMFFzUzBGQlMzQkhMRkZCUVZGQkxFdEJRVXQxUkN4UlFVRlJjVVlzU1VGQlNTeERRVUZEY1VJc1VVRkJVU3hQUVVGUFF5eFJRVUZSTEUxQlFVMXNTeXhMUVVGTE5Fd3NhMEpCUVd0Q0xGZEJRVmMxVEN4TFFVRkxNa2tzVVVGQlVVTXNTVUZCU1N4RFFVRkRkRU1zUzBGQlN5eEpRVUZKUnl4TlFVRk5MRWxCUVVsR0xFMUJRVTBzVDBGQlQwTXNUMEZCVHl4VFFVRlRMRWxCUVVreFJ5eEZRVUZGTEVOQlFVTnpReXhGUVVGRmNFTXNTMEZCU3pKSkxGRkJRVkZGTEdGQlFXRjRSeXhGUVVGRmNrTXNTMEZCU3pKSkxGRkJRVkZPTEdWQlFXVXNUMEZCVDNKSkxFdEJRVXN5U1N4UlFVRlJReXhKUVVGSkxFTkJRVU4wUXl4SlFVRkpMRTlCUVU5SExFdEJRVXNzVTBGQlV6TkhMRWRCUVVkRkxFdEJRVXMyVEN4elFrRkJjMElzVjBGQlZ5eEhRVUZITEZWQlFWVnFUU3hGUVVGRkswWXNTMEZCU3pOR0xFdEJRVXRETEZGQlFWRnRSQ3hoUVVGaGNFUXNTMEZCUzBNc1VVRkJVVzFFTEZWQlFWVXNRMEZCUXpCSkxFMUJRVTBzUTBGQlEwTXNTMEZCU3l4UlFVRlJNME1zVFVGQlRTeFhRVUZYTkVNc1QwRkJUeXhEUVVGRFJDeExRVUZMTEZOQlFWTXpReXhOUVVGTkxGVkJRVlUyUXl4UlFVRlJMRU5CUVVOR0xFdEJRVXNzVlVGQlZUTkRMRTFCUVUwc1YwRkJWemhETEV0QlFVc3NRMEZCUTBnc1MwRkJTeXhQUVVGUE0wTXNUVUZCVFN4UlFVRlJLME1zVFVGQlRTeERRVUZEU2l4TFFVRkxMRkZCUVZFelF5eE5RVUZOTEZOQlFWTm5SQ3hMUVVGTExFTkJRVU5NTEV0QlFVc3NUMEZCVHpORExFMUJRVTBzVVVGQlVXbEVMRXRCUVVzc1EwRkJRMDRzUzBGQlN5eFBRVUZQTTBNc1RVRkJUU3haUVVGWmNFb3NTMEZCUzBNc1VVRkJVVzFFTEdGQlFXRndSQ3hMUVVGTFF5eFJRVUZSYlVRc1ZVRkJWU3hQUVVGUExFdEJRVXR3UkN4TFFVRkxReXhSUVVGUmJVUXNWVUZCVlRKSkxFOUJRVTh2VEN4TFFVRkxReXhSUVVGUmJVUXNWVUZCVlRKSkxFdEJRVXN2VEN4TFFVRkxReXhSUVVGUmJVUXNWVUZCVlRKSkxFdEJRVXRzUnl4TlFVRk5MRTFCUVUwM1JpeExRVUZMUXl4UlFVRlJiVVFzVlVGQlZXZEhMRkZCUVZGd1NpeExRVUZMUXl4UlFVRlJiVVFzVlVGQlZXZEhMRTFCUVUxd1NpeExRVUZMUXl4UlFVRlJiVVFzVlVGQlZXZEhMRTFCUVUxMlJDeE5RVUZOTEUxQlFVMDNSaXhMUVVGTFF5eFJRVUZSYlVRc1ZVRkJWV3RLTEdOQlFXTjBUU3hMUVVGTFF5eFJRVUZSYlVRc1ZVRkJWVEpKTEV0QlFVc3NTVUZCU1N4TFFVRkxMMHdzUzBGQlMwTXNVVUZCVVcxRUxGVkJRVlZ0U2l4bFFVRmxkazBzUzBGQlMwTXNVVUZCVVcxRUxGVkJRVlZuUnl4TlFVRk5MRWxCUVVrc1MwRkJTM0JLTEV0QlFVdERMRkZCUVZGdFJDeFZRVUZWTWtrc1QwRkJUeTlNTEV0QlFVdERMRkZCUVZGdFJDeFZRVUZWTWtrc1MwRkJTeTlNTEV0QlFVdERMRkZCUVZGdFJDeFZRVUZWTWtrc1MwRkJTeXhKUVVGSkwwd3NTMEZCUzBNc1VVRkJVVzFFTEZWQlFWVm5SeXhSUVVGUmNFb3NTMEZCUzBNc1VVRkJVVzFFTEZWQlFWVm5SeXhOUVVGTmNFb3NTMEZCUzBNc1VVRkJVVzFFTEZWQlFWVm5SeXhOUVVGTkxFbEJRVWx3U2l4TFFVRkxReXhSUVVGUmJVUXNWVUZCVlRKSkxFOUJRVTh2VEN4TFFVRkxReXhSUVVGUmJVUXNWVUZCVlRKSkxFMUJRVTBzVVVGQlVTOU1MRXRCUVV0RExGRkJRVkZ0UkN4VlFVRlZaMGNzVVVGQlVYQktMRXRCUVV0RExGRkJRVkZ0UkN4VlFVRlZaMGNzVDBGQlR5eFRRVUZUTEVsQlFVbEtMRVZCUVVVc1EwRkJRemhETEUxQlFVMHNRMEZCUTA0c1UwRkJVeXhKUVVGSk5VTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1MwRkJTeXhaUVVGWkxFTkJRVU1zVFVGQlRTeGpRVUZqTEVOQlFVTXNUMEZCVHl4alFVRmpORVFzVjBGQlZ5eERRVUZEYUVJc1UwRkJVM2hNTEV0QlFVdERMRkZCUVZGclJDeE5RVUZOTEVsQlFVbDVSaXhKUVVGSkxFTkJRVU1zUTBGQlF5eExRVUZMTEdOQlFXTXNRMEZCUXl4UFFVRlBMR05CUVdNMlJDeFpRVUZaTEVOQlFVTnFRaXhUUVVGVGVFd3NTMEZCUzBNc1VVRkJVV3RFTEUxQlFVMHNTVUZCU1hsR0xFbEJRVWtzUTBGQlF5eERRVUZETEV0QlFVc3NXVUZCV1N4RFFVRkRMRTlCUVU4c1owSkJRV2RDT0VRc1dVRkJXU3hEUVVGRGJFSXNVMEZCVTNoTUxFdEJRVXRETEZGQlFWRnJSQ3hOUVVGTkxFbEJRVWw1Uml4SlFVRkpMRU5CUVVNc1EwRkJReXhMUVVGTExHTkJRV01zUTBGQlF5eFBRVUZQTEdOQlFXTXJSQ3hoUVVGaExFTkJRVU51UWl4VFFVRlRlRXdzUzBGQlMwTXNVVUZCVVd0RUxFMUJRVTBzU1VGQlNYbEdMRWxCUVVrc1EwRkJReXhEUVVGRExFdEJRVXNzV1VGQldTeERRVUZETEU5QlFVOHNaMEpCUVdkQ1owVXNVMEZCVXl4RFFVRkRjRUlzVTBGQlUzaE1MRXRCUVV0RExGRkJRVkZyUkN4TlFVRk5MRWxCUVVrd1NpeFZRVUZWTEVOQlFVTjJSeXhKUVVGSkxFTkJRVU4zUnl4TlFVRk5MRWxCUVVsMlJ5eE5RVUZOTEVOQlFVTjFSeXhMUVVGTExFbEJRVWwwUnl4UFFVRlBMRU5CUVVOelJ5eExRVUZMTEVsQlFVbHlSeXhMUVVGTExFTkJRVU54Unl4TlFVRk5MRXRCUVV0c1JTeEpRVUZKTEVOQlFVTXNRMEZCUXl4TFFVRkxMSE5DUVVGelFpeERRVUZETEU5QlFVOHNkVUpCUVhWQ2JVVXNWVUZCVlN4RFFVRkRka0lzVTBGQlUzaE1MRXRCUVV0RExGRkJRVkZyUkN4TlFVRk5MRWxCUVVrMlNpeFBRVUZQTEZWQlFWVklMRlZCUVZVc1EwRkJRM1pITEVsQlFVa3NRMEZCUXpKSExGRkJRVkVzU1VGQlNURkhMRTFCUVUwc1EwRkJRekJITEU5QlFVOHNTVUZCU1hwSExFOUJRVThzUTBGQlEzbEhMRTlCUVU4c1NVRkJTWGhITEV0QlFVc3NRMEZCUTNkSExGRkJRVkVzUzBGQlMzSkZMRWxCUVVrc1EwRkJReXhEUVVGRExFdEJRVXNzY1VKQlFYRkNMRU5CUVVNc1QwRkJUeXgzUWtGQmQwSnpSU3hWUVVGVkxFTkJRVU14UWl4VFFVRlRMRWxCUVVseFFpeFZRVUZWTEVOQlFVTjJSeXhKUVVGSkxFTkJRVU4zUnl4TlFVRk5MRXRCUVV0MlJ5eE5RVUZOTEVOQlFVTjFSeXhMUVVGTExFdEJRVXQwUnl4UFFVRlBMRU5CUVVOelJ5eExRVUZMTEV0QlFVdHlSeXhMUVVGTExFTkJRVU54Unl4TlFVRk5MRTFCUVUxc1JTeEpRVUZKTEVOQlFVTXNRMEZCUXl4TFFVRkxMSE5DUVVGelFpeERRVUZETEU5QlFVOHNkVUpCUVhWQ2RVVXNWMEZCVnl4RFFVRkRNMElzVTBGQlV5eEpRVUZKZDBJc1QwRkJUeXhWUVVGVlNDeFZRVUZWTEVOQlFVTjJSeXhKUVVGSkxFTkJRVU15Unl4UlFVRlJMRXRCUVVzeFJ5eE5RVUZOTEVOQlFVTXdSeXhQUVVGUExFdEJRVXQ2Unl4UFFVRlBMRU5CUVVONVJ5eFBRVUZQTEV0QlFVdDRSeXhMUVVGTExFTkJRVU4zUnl4UlFVRlJMRTFCUVUxeVJTeEpRVUZKTEVOQlFVTXNRMEZCUXl4TFFVRkxMSEZDUVVGeFFpeERRVUZETEU5QlFVOHNkMEpCUVhkQ2QwVXNVMEZCVXl4RFFVRkROVUlzVTBGQlV5eEpRVUZKTlVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUzBGQlN5eHhRMEZCY1VNc1EwRkJReXhOUVVGTkxITkRRVUZ6UXl4RFFVRkRMRTFCUVUwc2NVTkJRWEZETEVOQlFVTXNUMEZCVHl4elEwRkJjME41UlN4VlFVRlZMRU5CUVVNM1FpeFRRVUZUZUV3c1MwRkJTME1zVVVGQlVXdEVMRTFCUVUwc1NVRkJTWGxHTEVsQlFVa3NRMEZCUXl4RFFVRkRMRXRCUVVzc2IwTkJRVzlETEVOQlFVTXNUMEZCVHl4MVEwRkJkVU41UkN4TFFVRkxMRU5CUVVOaUxGTkJRVk1zU1VGQlNUVkRMRWxCUVVrc1EwRkJReXhEUVVGRExFdEJRVXNzV1VGQldTeERRVUZETEZkQlFWY3NORUpCUVRSQ0xFTkJRVU1zY1VKQlFYRkNMREpDUVVFeVFpeERRVUZETEdkQ1FVRm5RaXcwUWtGQk5FSXNRMEZCUXl4UFFVRlBMSGxDUVVGNVFtaEtMRVZCUVVVclNDeExRVUZMTEVOQlFVTXNVVUZCVVN4UlFVRlJMRk5CUVZNM1NDeEZRVUZGUXl4SFFVRkhhVW9zUlVGQlJXcEtMRVZCUVVVc1VVRkJVV2xLTEVWQlFVVnFTaXhGUVVGRkxGTkJRVk5wU2l4RlFVRkZha29zUzBGQlN5eEpRVUZKZDBrc1JVRkJSU3hUUVVGVFFTeEZRVUZGVkN4SFFVRkhMRWxCUVVscFFpeEZRVUZGTEcxQ1FVRnRRaTlKTEV0QlFVdEZMRWRCUVVjc1kwRkJZMFlzUzBGQlMwTXNVVUZCVVcxRUxGVkJRVlZ0Uml4SFFVRkhMRWxCUVVsQkxFZEJRVWRVTEVWQlFVVXNTVUZCU1VFc1JVRkJSU3hKUVVGSkxFdEJRVXNzVDBGQlQyeEpMRVZCUVVVclNDeExRVUZMY1VJc1JVRkJSV2hLTEV0QlFVdERMRkZCUVZGdFJDeFZRVUZWYlVZc1NVRkJTVXNzU1VGQlNTeFRRVUZUT1Vrc1JVRkJSVU1zUjBGQlJ5eEpRVUZKTUVnc1JVRkJSVXNzUlVGQlJTOUlMRVZCUVVVc1IwRkJSM2RJTEZGQlFWRXNUVUZCVFhaSUxFdEJRVXRwU0N4UFFVRlBZU3hIUVVGSGQwWXNaVUZCWlhaT0xFVkJRVVVzUjBGQlIybEtMRVZCUVVWb1NpeExRVUZMUXl4UlFVRlJiVVFzVlVGQlZXMUdMRWxCUVVselJTeFpRVUZaY0VZc1JVRkJSVUVzUlVGQlJVWXNVVUZCVVN4TFFVRkxlVUlzUlVGQlJXaEtMRXRCUVV0RExGRkJRVkZ0UkN4VlFVRlZiVVlzU1VGQlNYTkZMRlZCUVZVdlJTeEhRVUZITDBnc1JVRkJSU3hOUVVGTlowb3NSMEZCUjJoS0xFVkJRVVVzUjBGQlJ5eGxRVUZsTUVnc1JVRkJSU3hOUVVGTmNrSXNTMEZCUzNCSExFOUJRVThyU1N4SFFVRkhMRWxCUVVsQkxFZEJRVWNzVTBGQlV5OUpMRXRCUVV0RkxFZEJRVWNzWTBGQlkwWXNTMEZCUzBNc1VVRkJVVzFFTEZWQlFWVnRSaXhIUVVGSExFbEJRVWxCTEVkQlFVZFVMRVZCUVVVc1NVRkJTVUVzUlVGQlJTeEpRVUZKTEV0QlFVdHBRaXhIUVVGSExIVkNRVUYxUWtNc1JVRkJSV2hLTEV0QlFVdERMRkZCUVZGdFJDeFZRVUZWYlVZc1NVRkJTV2xFTEZOQlFWTXNUVUZCVFhwRExFZEJRVWNzZDBKQlFYZENMMGtzUzBGQlMwVXNSMEZCUnl4alFVRmpSaXhMUVVGTFF5eFJRVUZSYlVRc1ZVRkJWVzFHTEVkQlFVY3NTVUZCU1VFc1IwRkJSMVFzUlVGQlJTeEpRVUZKUVN4RlFVRkZMRWxCUVVrc1NVRkJTV2xDTEVkQlFVZERMRVZCUVVWb1NpeExRVUZMUXl4UlFVRlJiVVFzVlVGQlZXMUdMRWxCUVVsNVJTeFBRVUZQTERoQ1FVRTRRbWhGTEVWQlFVVm9TaXhMUVVGTFF5eFJRVUZSYlVRc1ZVRkJWVzFHTEVsQlFVbDVSU3hQUVVGUExFbEJRVWtzUjBGQlIycEZMRWRCUVVjc1MwRkJTek5ETEV0QlFVdHdSeXhOUVVGTlFTeExRVUZMZFU0c1kwRkJZeXhIUVVGSE0wNHNSVUZCUlN0SUxFdEJRVXNzUTBGQlF5eFBRVUZQTEZOQlFWTXNVMEZCVXpkSUxFVkJRVVV5U0N4SFFVRkhMRWxCUVVsNlNDeExRVUZMUXl4UlFVRlJiVVFzVlVGQlZYRkZMRXRCUVV0MVFpeEZRVUZGYUVvc1MwRkJTME1zVVVGQlVXMUVMRlZCUVZWeFJTeExRVUZMTEZOQlFWTkJMRWxCUVVsNlNDeExRVUZMUXl4UlFVRlJhMFFzUzBGQlN5eE5RVUZOTEVkQlFVYzJSaXhGUVVGRmFFb3NTMEZCUzBNc1VVRkJVVzFFTEZWQlFWVnhSU3hKUVVGSmIwWXNWVUZCVldwT0xFVkJRVVVyU0N4TFFVRkxMRU5CUVVNc1RVRkJUU3hSUVVGUkxGTkJRVk1zVVVGQlVTeFRRVUZUTjBnc1JVRkJSVU1zUjBGQlIwTXNTMEZCUzNWT0xHVkJRV1ZvUml4RlFVRkZaQ3hGUVVGRk1VZ3NTVUZCU1hGSExFdEJRVXR3Unl4UFFVRlBRU3hMUVVGTGRVNHNaVUZCWldoR0xFVkJRVVZrTEVsQlFVbHlRaXhMUVVGTGNFY3NVVUZCVVVFc1MwRkJTME1zVVVGQlVXMUVMRmRCUVZkd1JDeExRVUZMTmt3c2QwSkJRWGRDTjB3c1MwRkJTM2RPTEdkQ1FVRm5RaXhYUVVGWGVFNHNTMEZCUzNsT0xHZENRVUZsTEVWQlFVZERMRmRCUVZjc1YwRkJWekZPTEV0QlFVdDVUaXhuUWtGQlpTeEhRVUZKY2tnc1MwRkJTM0JITEUxQlFVMHNTMEZCUzBFc1MwRkJTekpPTEZOQlFWTXNVMEZCVXpkT0xFZEJRVWNzUjBGQlIwRXNSVUZCUlVFc1NVRkJTVVVzUzBGQlN6Uk9MRTlCUVU4c1QwRkJUeXhWUVVGVk5VNHNTMEZCUzBNc1VVRkJVV3RFTEUxQlFVMHNVMEZCVTNKRUxFVkJRVVVzVDBGQlR5eExRVUZMTEVsQlFVbERMRVZCUVVWRExFdEJRVXRETEZGQlFWRnRSQ3hWUVVGVmRFUXNSVUZCUlN4bFFVRmxMRlZCUVZWRkxFdEJRVXN3Unl4TlFVRk5NVWNzUzBGQlN6QkhMRTFCUVUweFJ5eExRVUZMUXl4UlFVRlJkVU1zVjBGQlYwb3NSMEZCUjNCRExFdEJRVXMyVGl4VFFVRlROMDRzUzBGQlMybElMRTlCUVU5c1NDeEpRVUZKUXl4TFFVRkxhVWdzVDBGQlQycElMRXRCUVVzd1J5eFRRVUZUTTBjc1JVRkJSVU1zUzBGQlMyZElMRkZCUVZGcVNDeEpRVUZKTEVsQlFVa3dTQ3hGUVVGRkxGRkJRVkY2U0N4TFFVRkxSU3hIUVVGSExHTkJRV05HTEV0QlFVdERMRkZCUVZGdFJDeFZRVUZWZEVRc1IwRkJSeXhKUVVGSlFTeEZRVUZGTEZOQlFWTkZMRXRCUVV0RkxFZEJRVWNzWTBGQlkwWXNTMEZCUzBNc1VVRkJVVzFFTEZWQlFWVjBSQ3hIUVVGSExFbEJRVWxCTEVWQlFVVXNTVUZCU1VNc1JVRkJSVU1zUzBGQlN6SkpMRkZCUVZGeVJpeFRRVUZUYlVVc1IwRkJSekZJTEVWQlFVVXNTVUZCU1N0T0xGZEJRVmM1VGl4TFFVRkxNa2tzVVVGQlVVTXNTVUZCU1N4MVFrRkJkVUlzVTBGQlV6bEpMRWxCUVVsRExFVkJRVVUyUnl4TFFVRkxiVWdzU1VGQlNXaFBMRVZCUVVWRExFdEJRVXRETEZGQlFWRnJSQ3hQUVVGUGRVc3NWMEZCVnl4WFFVRlhNVTRzUzBGQlN6SkpMRkZCUVZGeFJpeFpRVUZaZGtjc1NVRkJTWEpDTEV0QlFVdHdSeXhOUVVGTlJDeEpRVUZKUXl4TFFVRkxhVThzWjBKQlFXZENMRmRCUVZjc1NVRkJTVzVQTEVWQlFVVkZMRXRCUVVzeVNTeFJRVUZSZFVZc1MwRkJTeXhUUVVGVGNra3NUVUZCVFN4TFFVRkxjMGtzVDBGQlR5eFRRVUZUY2s4c1IwRkJSeXhQUVVGUExFbEJRVWxCTEVWQlFVVnpUeXhaUVVGWkxGRkJRVkZ3VHl4TFFVRkxSU3hIUVVGSExHRkJRV0VzU1VGQlNXdEhMRXRCUVV0d1J5eFBRVUZQUVN4TFFVRkxNa2tzVVVGQlVYVkdMRXRCUVVzc1VVRkJVWEJQTEVWQlFVVnJSeXhMUVVGTExGRkJRVkZvUnl4TFFVRkxReXhSUVVGUlVTeHBRa0ZCYVVKVUxFdEJRVXRETEZGQlFWRlRMRzFDUVVGdFFtUXNSVUZCUlRaR0xGRkJRVkYxUXl4SFFVRkhMSGxDUVVGNVFtaEpMRXRCUVV0RkxFZEJRVWNzVTBGQlUwb3NSMEZCUjBVc1MwRkJTelJPTEZGQlFWRTFUaXhMUVVGTGJVTXNXVUZCV1dsRkxFdEJRVXR3Unl4UFFVRlBMRmRCUVZkS0xFVkJRVVVyUml4TFFVRkxNMFlzUzBGQlMwTXNVVUZCVVhkRkxHZENRVUZuUW5wRkxFdEJRVXRETEZGQlFWRjNSU3hoUVVGaExFTkJRVU42UlN4TFFVRkxReXhSUVVGUmQwVXNaVUZCWlN4WFFVRlhOMFVzUlVGQlJTdEdMRXRCUVVzelJpeExRVUZMUXl4UlFVRlJlVVVzVTBGQlV6RkZMRXRCUVV0RExGRkJRVkY1UlN4TlFVRk5MRU5CUVVOeFNDeExRVUZMTDB3c1MwRkJTME1zVVVGQlVYbEZMRkZCUVZFc1YwRkJWemxGTEVWQlFVVXJSaXhMUVVGTE0wWXNTMEZCUzBNc1VVRkJVVEJGTEZWQlFWVXpSU3hMUVVGTFF5eFJRVUZSTUVVc1QwRkJUeXhEUVVGRGIwZ3NTMEZCU3k5TUxFdEJRVXRETEZGQlFWRXdSU3hQUVVGUGVVVXNUVUZCVFhCS0xFdEJRVXRETEZGQlFWRXdSU3hWUVVGVExFbEJRVXN6UlN4TFFVRkxReXhSUVVGUmQwVXNZMEZCWTNwRkxFdEJRVXRETEZGQlFWRjVSU3hSUVVGUk1VVXNTMEZCUzBNc1VVRkJVWGRGTEdGQlFXRXNSMEZCUnpkRkxFVkJRVVVyU0N4TFFVRkxNMGdzUzBGQlMwTXNVVUZCVVhsRkxFMUJRVTBzVTBGQlV6VkZMRVZCUVVWRExFZEJRVWRETEV0QlFVdERMRkZCUVZGM1JTeGhRVUZoTkVvc1MwRkJTM1JQTEVWQlFVVXNVVUZCVVVNc1MwRkJTME1zVVVGQlVYZEZMR0ZCUVdFMFNpeExRVUZMZEU4c1JVRkJSU3hUUVVGVGNVY3NTMEZCUzNCSExGRkJRVkZCTEV0QlFVdERMRkZCUVZGM1JTeGhRVUZoYzBRc1VVRkJVVzVKTEVWQlFVVXJTQ3hMUVVGTE0wZ3NTMEZCUzBNc1VVRkJVWGRGTEdGQlFXRXNVMEZCVXpORkxFVkJRVVZETEVkQlFVY3NTVUZCU1RCSUxFVkJRVVVzU1VGQlNUWkhMRTFCUVUwM1J5eEZRVUZGT0Vjc1NVRkJTWGhQTEVWQlFVVXdTQ3hGUVVGRkswY3NVVUZCVVN4VFFVRlRlRThzUzBGQlMyMUhMRmRCUVZjc1ZVRkJWVzVITEV0QlFVc3NTVUZCU1VZc1JVRkJSVU1zUlVGQlJTeFBRVUZQUml4RlFVRkZORThzVlVGQlZUVk9MRTlCUVU4c1UwRkJVMllzUlVGQlJYbEpMRWRCUVVjc1QwRkJUM3BKTEVWQlFVVkJMRWRCUVVkRkxFdEJRVXRETEZGQlFWRlpMRTlCUVU4c1ZVRkJWV3BDTEVWQlFVVXJSaXhMUVVGTE4wWXNTMEZCUzBFc1JVRkJSVVlzUlVGQlJVVXNTVUZCU1hsSkxFVkJRVVZCTEVkQlFVZDJTU3hMUVVGTFF5eFJRVUZSWVN4UlFVRlJhRUlzUjBGQlIwRXNSVUZCUldsSkxGRkJRVkZ1U1N4RlFVRkZLMGdzUzBGQlN6ZElMRVZCUVVVc1UwRkJVMEVzUlVGQlJUSklMRWxCUVVsQkxFVkJRVVUzU0N4RlFVRkZOa2dzU1VGQlNXcEhMRXRCUVVzc2FVSkJRV2xDZUVJc1MwRkJTMFVzVFVGQlRTeFRRVUZUUml4TFFVRkxReXhSUVVGUlowSXNXVUZCV1N4TlFVRk5kMGNzUlVGQlJYbEhMRXRCUVVzc1ZVRkJWWHBITEVWQlFVVnFSeXhMUVVGTExHdENRVUZyUW1sSExFVkJRVVY1Unl4TFFVRkxMRlZCUVZWUkxGZEJRVmNzVTBGQlV6RlBMRXRCUVVzeVR5eHRRa0ZCYlVJelR5eExRVUZMTWs4c2FVSkJRV2xDTEVsQlFVa3pUeXhMUVVGTE1rOHNhVUpCUVdsQ1RpeExRVUZMTlVjc1JVRkJSU3hKUVVGSlFTeEZRVUZGVHl4SFFVRkhUeXhGUVVGRkxHZENRVUZuUW5aSkxFdEJRVXRGTEVkQlFVY3NVMEZCVTBvc1IwRkJSeXhKUVVGSlF5eEZRVUZGUXl4TFFVRkxORThzVDBGQlQwTXNZVUZCWVRkUExFdEJRVXMwVHl4UFFVRlBMR05CUVdOeVJ5eEhRVUZIZGtrc1MwRkJTelJPTEZGQlFWRTFUaXhMUVVGTGJVc3NUMEZCVHl4SlFVRkpNVU1zUlVGQlJTeExRVUZMZWtnc1MwRkJTelJPTEZGQlFWRTFUaXhMUVVGTGJVc3NVVUZCVVc1TExFdEJRVXR0U3l4UFFVRlBMRWxCUVVreFF5eEZRVUZGTEV0QlFVc3hTQ3hIUVVGRkxFZEJRVWxETEV0QlFVdHRTeXhQUVVGUE1VTXNSVUZCUlhwSUxFdEJRVXRETEZGQlFWRnBReXhUUVVGVGJFTXNTMEZCUzJ0RExFOUJRVTkxUml4SFFVRkhMRk5CUVZOakxFZEJRVWQyU1N4TFFVRkxReXhSUVVGUll5eG5Ra0ZCWjBKcVFpeEZRVUZGYVVJc2FVSkJRV2xDWml4TFFVRkxMRk5CUVZOMVNTeEhRVUZIZUVrc1JVRkJSU3hQUVVGUExHTkJRV054Unl4TFFVRkxjRWNzVDBGQlR5eGpRVUZqUVN4TFFVRkxReXhSUVVGUllTeFRRVUZUTWtjc1JVRkJSVThzUjBGQlJ5eGhRVUZoTEZOQlFWTnNTU3hIUVVGSExFbEJRVWxGTEV0QlFVc3lTU3hSUVVGUkxFOUJRVThzUzBGQlN6TkpMRXRCUVV0RExGRkJRVkUyUkN4dlFrRkJiMEpvUlN4RlFVRkZjMHNzWlVGQlpYQkxMRXRCUVVzeVNTeFJRVUZSTEVsQlFVa3ZTU3hGUVVGRlJTeEZRVUZGYzBzc1pVRkJaV3BDTEZGQlFWRXNTVUZCU1c1S0xFdEJRVXRGTEVsQlFVazJTQ3hUUVVGVEwwZ3NTMEZCUzI5S0xGTkJRVk5vUkN4TFFVRkxjRWNzVDBGQlQzbElMRVZCUVVWcVJ5eExRVUZMTEdsQ1FVRnBRbmhDTEV0QlFVdEZMRWRCUVVkeFNTeEhRVUZIZGtrc1MwRkJTMjFITEZkQlFWY3NWMEZCVjNOQ0xFdEJRVXR5UWl4TFFVRkxjRWNzVDBGQlQwRXNUVUZCVFVnc1JVRkJSVFJQTEZWQlFWVkxMRTlCUVU4c1UwRkJVMmhRTEVkQlFVY3NUMEZCVDBFc1JVRkJSVUVzUjBGQlNVVXNTMEZCU3pKUExHdENRVUZyUWl4TFFVRk5OMDhzUlVGQlJXbEpMRkZCUVZGdVNTeEZRVUZGSzBnc1MwRkJTemRJTEVWQlFVVXNVMEZCVTBFc1JVRkJSVU1zU1VGQlNVRXNSVUZCUlVnc1JVRkJSVWNzU1VGQlNYbENMRXRCUVVzc2FVSkJRV2xDZUVJc1MwRkJTMFVzVFVGQlRVZ3NSVUZCUlRoS0xFbEJRVWs1U2l4RlFVRkZlVUlzUzBGQlN5eHBRa0ZCYVVKNFFpeExRVUZMUlN4SlFVRkpMR2RDUVVGblFrWXNTMEZCUzBVc1NVRkJTVWdzUlVGQlJYbENMRXRCUVVzc2FVSkJRV2xDZUVJc1MwRkJTMFVzUjBGQlJ5eFBRVUZQUml4TFFVRkxNazhzYVVKQlFXbENMMDhzUlVGQlJXMVFMRXRCUVVzdlR5eExRVUZMTWs4c2FVSkJRV2xDTEZOQlFWTTNUeXhIUVVGSExFOUJRVTlCTEVkQlFVZERMRVZCUVVVc1RVRkJUWEZITEV0QlFVdHdSeXhQUVVGUFFTeE5RVUZOU0N4RlFVRkZORThzVlVGQlZURkVMRk5CUVZNc1UwRkJVMnBNTEVWQlFVVkRMRWRCUVVjc1IwRkJSeXhOUVVGTlJDeEhRVUZITEUxQlFVMUJMRVZCUVVVc1QwRkJUMFVzUzBGQlMwRXNTMEZCU3pKSkxGTkJRVk16U1N4TFFVRkxLMG9zVlVGQlZTeEpRVUZKZEVNc1JVRkJSWHBJTEV0QlFVc3lTU3hSUVVGUlRpeGpRVUZqUlN4RlFVRkZka2tzUzBGQlN6SkpMRkZCUVZGRkxHRkJRV0VzVDBGQlR6ZEpMRXRCUVV0clFpeFJRVUZSYkVJc1MwRkJTM2xKTEdWQlFXVTNTU3hGUVVGRkxEWkNRVUUyUWtrc1MwRkJTMnRDTEUxQlFVMTBRaXhGUVVGRkxGVkJRVlZ2UlN4VFFVRlRhRVVzUzBGQlMzbEpMR2RDUVVGblFpeFRRVUZUZWtrc1MwRkJTME1zVVVGQlVUaEVMR1ZCUVdNc1NVRkJTeTlFTEV0QlFVdERMRkZCUVZFNFJDeGhRVUZoTDBRc1MwRkJTME1zVVVGQlVYTkVMRmRCUVZkMlJDeExRVUZMTWtrc1VVRkJVWEpHTEZOQlFWTXNNRUpCUVRCQ2RFUXNTMEZCU3l0RUxGbEJRVmxETEZOQlFWTm9SU3hMUVVGTGVVa3NhVUpCUVdsQ2Vra3NTMEZCUzNsSkxHVkJRV1YxUnl4aFFVRmhhRkFzUzBGQlMyZENMRk5CUVZOb1FpeExRVUZMZDBrc2EwSkJRV3RDZUVrc1MwRkJTekpKTEZGQlFWRTNTU3hGUVVGRkxGZEJRVmNzWlVGQlpTeHBRa0ZCYVVKRkxFdEJRVXRyUWl4TlFVRk5LMDRzUzBGQlMyNVFMRWRCUVVkNVNTeEhRVUZIZGtrc1MwRkJTekpKTEZGQlFWRkZMR05CUVdNM1NTeExRVUZMZDBrc2FVSkJRV2xDZUVrc1MwRkJTME1zVVVGQlVXMUZMRmRCUVZkd1JTeExRVUZMT0Vrc1lVRkJZUzlKTEVsQlFVbERMRXRCUVV0RExGRkJRVkU0UXl4eFFrRkJjVUl3UlN4SFFVRkhla2dzUzBGQlN6SkpMRkZCUVZGT0xHVkJRV1ZGTEVkQlFVZDJTU3hMUVVGTE1ra3NVVUZCVVVVc1kwRkJZemRKTEV0QlFVdHRReXhYUVVGWGJrTXNUVUZCVFVnc1JVRkJSVFJQTEZWQlFWVTNUU3hYUVVGWExGTkJRVk01UWl4RlFVRkZReXhIUVVGSExFZEJRVWNzVFVGQlRVUXNSMEZCUnl4TlFVRk5RU3hGUVVGRkxFOUJRVTlGTEV0QlFVdEJMRXRCUVVzeVNTeFRRVUZUTTBrc1MwRkJTeXRLTEZWQlFWVXNTVUZCU1hSRExFVkJRVVY2U0N4TFFVRkxNa2tzVVVGQlVVNHNZMEZCWTBVc1JVRkJSWFpKTEV0QlFVc3lTU3hSUVVGUlJTeGhRVUZoTEU5QlFVODNTU3hMUVVGTFowSXNVVUZCVVd0UExGTkJRVk1zWjBOQlFXZERiRXdzVTBGQlV5eFJRVUZSTkVVc1NVRkJTU3hEUVVGRGNVSXNVVUZCVVN4VFFVRlRja3NzUlVGQlJTdEdMRXRCUVVzM1JpeEpRVUZKTEVsQlFVa3NVMEZCVTBVc1MwRkJTMmRDTEZGQlFWRnBUeXhMUVVGTGJsQXNSMEZCUnl4TlFVRk5MRWxCUVVrc1UwRkJVMEVzU1VGQlNVRXNZVUZCWVVZc1IwRkJSMFVzUlVGQlJYRlFMRmxCUVZsV0xGVkJRVlZYTEZOQlFWTndVQ3hMUVVGTFowSXNVVUZCVVdsUExFdEJRVXNzU1VGQlNXNVFMRVZCUVVWdlR5eExRVUZMTERaQ1FVRTJRaXhIUVVGSGJFc3NVMEZCVTJoRkxFdEJRVXRuUWl4VFFVRlRORWdzU1VGQlNTeERRVUZEY1VJc1VVRkJVU3hYUVVGWGFrc3NTMEZCUzJkQ0xGRkJRVkZwVHl4TFFVRkxTU3hMUVVGTFF5eFZRVUZWZUZBc1NVRkJTU3hQUVVGUGVVa3NSMEZCUjNaSkxFdEJRVXN5U1N4UlFVRlJSU3hqUVVGak4wa3NTMEZCUzNkSkxHbENRVUZwUW5oSkxFdEJRVXRETEZGQlFWRnRSU3hYUVVGWGNFVXNTMEZCU3poSkxHRkJRV0V2U1N4SlFVRkpReXhMUVVGTFF5eFJRVUZST0VNc2NVSkJRWEZDTUVVc1IwRkJSM3BJTEV0QlFVc3lTU3hSUVVGUlRpeGxRVUZsUlN4SFFVRkhka2tzUzBGQlN6SkpMRkZCUVZGRkxHTkJRV00zU1N4TFFVRkxiVU1zVjBGQlYyNURMRTFCUVUxSUxFVkJRVVUwVHl4VlFVRlZZeXhqUVVGakxGTkJRVk42VUN4RlFVRkZReXhGUVVGRk1FZ3NSMEZCUjNwSUxFdEJRVXN5U1N4VFFVRlRNMGtzUzBGQlN5dEtMRlZCUVZVc1RVRkJUV2hMTEVsQlFVbEJMRVZCUVVVc1VVRkJVVU1zUzBGQlMyZENMRkZCUVZFMFNDeEpRVUZKT1Vrc1JVRkJSVVVzUzBGQlMyOUlMRkZCUVZGeVNDeEpRVUZKTEZOQlFWTkVMRWRCUVVkRkxFdEJRVXQzU1N4cFFrRkJhVUo0U1N4TFFVRkxReXhSUVVGUlNDeEhRVUZIUXl4RlFVRkZMRTFCUVUwd1NDeEpRVUZKUVN4SFFVRkhla2dzUzBGQlMyMURMRmxCUVZsMFF5eEZRVUZGTkU4c1ZVRkJWV1VzVTBGQlV5eFRRVUZUTVZBc1JVRkJSVU1zUjBGQlIwTXNTMEZCUzNWUUxHTkJRV01zVVVGQlVYcFFMRVZCUVVWRExFbEJRVWxHTEVWQlFVVTBUeXhWUVVGVlowSXNWVUZCVlN4VFFVRlRNMUFzUlVGQlJVTXNSMEZCUjBNc1MwRkJTM1ZRTEdOQlFXTXNVMEZCVTNwUUxFVkJRVVZETEVsQlFVbEdMRVZCUVVVMFR5eFZRVUZWZEUwc1UwRkJVeXhUUVVGVGMwWXNSMEZCUnl4SFFVRkhRU3hGUVVGRlFTeEhRVUZITEVkQlFVZEJMRVZCUVVVM1NDeEZRVUZGT0VZc1VVRkJUeXhGUVVGSE1VWXNTMEZCUzBNc1VVRkJVWGRJTEVkQlFVZDZTQ3hMUVVGTGEwTXNUMEZCVDNWR0xFVkJRVVYyUml4UlFVRlJiRU1zUzBGQlMydERMRkZCUVZGMFF5eEZRVUZGTmtZc1VVRkJVWHBHTEV0QlFVdHJReXhyUWtGQmEwSjBReXhIUVVGSExGTkJRVk5KTEV0QlFVdHJReXhUUVVGVGJFTXNTMEZCUzJ0RExFOUJRVTkwUXl4RlFVRkZTU3hMUVVGTGEwTXNWVUZCVld4RExFdEJRVXRyUXl4UFFVRlBOa1lzVDBGQlR5eFBRVUZQTDBnc1MwRkJTMEVzUzBGQlMyZENMRkZCUVZFMFNDeEpRVUZKTEVOQlFVTjZTU3hOUVVGTlNDeExRVUZMYjBnc1VVRkJVVXNzUlVGQlJYUklMRTFCUVUwc1UwRkJVME1zVDBGQlQwb3NTMEZCUzI5SUxGRkJRVkZMTEVWQlFVVnlTQ3hQUVVGUExGVkJRVlZETEZOQlFWTk1MRXRCUVV0dlNDeFJRVUZSU3l4RlFVRkZjRWdzVTBGQlV5eFRRVUZUUXl4VlFVRlZUaXhMUVVGTGIwZ3NVVUZCVVVzc1JVRkJSVzVJTEZWQlFWVXNWVUZCVlVNc1UwRkJVMUFzUzBGQlMyOUlMRkZCUVZGTExFVkJRVVZzU0N4VFFVRlRMRk5CUVZORExGVkJRVlZTTEV0QlFVdHZTQ3hSUVVGUlN5eEZRVUZGYWtnc1ZVRkJWU3haUVVGWlVpeExRVUZMZDBrc2FVSkJRV2xDTEVsQlFVbEVMRVZCUVVWMlNTeExRVUZMTkV3c2IwSkJRVzlDTEZOQlFWTTFUQ3hMUVVGTGEwTXNVVUZCVVd4RExFdEJRVXRyUXl4UFFVRlBWaXhMUVVGTExGRkJRVkY0UWl4TFFVRkxSU3hIUVVGSExGZEJRVmRHTEV0QlFVdHJReXhQUVVGUFZpeExRVUZMTEZGQlFWRjRRaXhMUVVGTFJTeEhRVUZITEZOQlFWTkdMRXRCUVV0clF5eFBRVUZQTEVsQlFVbDBReXhGUVVGRk5rWXNVVUZCVVN4TFFVRkxMRk5CUVZONlJpeExRVUZMYTBNc1QwRkJUekJITEVsQlFVa3NZVUZCWVN4RlFVRkZOVWtzUzBGQlMydERMRTlCUVU5cFNDeFZRVUZWWjBZc1QwRkJUeXhYUVVGWExFMUJRVTBzVTBGQlUzWlBMRVZCUVVWSkxFMUJRVTAwU1N4SlFVRkpMR05CUVdOaUxGRkJRVkVzVVVGQlVTeFZRVUZWTEVsQlFVbHFTU3hGUVVGRkxFTkJRVU56UXl4RlFVRkZlRU1zUlVGQlJUWkdMRkZCUVZGdlJDeGhRVUZoZUVjc1JVRkJSWHBETEVWQlFVVTJSaXhSUVVGUk5FTXNZMEZCWXk5Q0xFbEJRVWx0UWl4RlFVRkZhRVlzVDBGQlQzcERMRXRCUVV0clF5eFBRVUZQVml4TFFVRkxMRkZCUVZGNFFpeExRVUZMUlN4SFFVRkhMRlZCUVZVc1JVRkJSVTRzUlVGQlJUWkdMRkZCUVZFeVF5eFpRVUZaTTBJc1MwRkJTMmRDTEVWQlFVVm9SaXhQUVVGUGVrTXNTMEZCUzJ0RExFOUJRVTlXTEV0QlFVc3NVVUZCVVhoQ0xFdEJRVXRGTEVkQlFVY3NWVUZCVlN4RlFVRkZUaXhGUVVGRk5rWXNVVUZCVVhGRkxHTkJRV05vU3l4RlFVRkZNRWNzVDBGQlR6RkhMRVZCUVVWM1J5eEpRVUZKZUVjc1JVRkJSWFZETEVWQlFVVjJReXhGUVVGRmVVY3NUVUZCVFhwSExFVkJRVVV5Unl4TFFVRkxNMGNzUlVGQlJYTkRMRVZCUVVVc1NVRkJTU3hKUVVGSmNrTXNSVUZCUlVNc1MwRkJTMnRETEU5QlFVOUxMRk5CUVZNc1RVRkJUWHBETEVkQlFVZERMRVZCUVVVc1EwRkJRM1ZITEVsQlFVa3NSVUZCUlVjc1MwRkJTeXhIUVVGSExGTkJRVk42Unl4TFFVRkxhME1zVVVGQlVTeFRRVUZUYkVNc1MwRkJTMnRETEU5QlFVOVdMRXRCUVVzc1VVRkJVWGhDTEV0QlFVdEZMRWRCUVVjc1YwRkJWM1ZJTEVWQlFVVm9SaXhSUVVGUk1VTXNSVUZCUlhWSExFbEJRVWwyUnl4RlFVRkZkVWNzU1VGQlNURkhMRVZCUVVVMlJpeFJRVUZSTWtNc1dVRkJXWEpKTEVWQlFVVXdSeXhMUVVGTE1VY3NSVUZCUlRCSExFdEJRVXMzUnl4RlFVRkZOa1lzVVVGQlVYRkZMR05CUVdNc1NVRkJTV2hETEVWQlFVVXNRMEZCUXpGR0xFVkJRVVVzVTBGQlUzQkRMRXRCUVV0clF5eFBRVUZQTEVkQlFVZHNReXhMUVVGTGEwTXNUMEZCVHpKSExHRkJRV0Y0Unl4RlFVRkZMRk5CUVZOeVF5eExRVUZMYTBNc1QwRkJUeXhIUVVGSGJFTXNTMEZCUzJ0RExFOUJRVTl0Unl4alFVRmpMMElzU1VGQlNTeFRRVUZUZEVjc1MwRkJTMnRETEZGQlFWRjFSaXhGUVVGRmVVUXNXVUZCV1hwRUxFVkJRVVY1UkN4WlFVRlpOVVVzU1VGQlNYWkhMRVZCUVVWQkxFVkJRVVYxUnl4SlFVRkpMRVZCUVVWSExFdEJRVXNzVTBGQlUzcEhMRXRCUVV0clF5eFJRVUZSZFVZc1JVRkJSWGxFTEZsQlFWbDZSQ3hGUVVGRmVVUXNXVUZCV1hwRkxFdEJRVXN4Unl4RlFVRkZRU3hGUVVGRk1FY3NTMEZCU3l4SFFVRkhjME1zUlVGQlJYUkNMRVZCUVVWdVJpeFhRVUZYTEZWQlFWVnRSaXhGUVVGRmRFWXNVMEZCVTBNc1IwRkJSeXhWUVVGVmNVWXNSVUZCUlhSR0xGTkJRVk5GTEVkQlFVY3lSeXhGUVVGRkxFTkJRVU0xUnl4RlFVRkZkRU1zUlVGQlJYTkRMRVZCUVVWeFJpeEZRVUZGTjBVc1pVRkJaVFpFTEV0QlFVdG5RaXhGUVVGRk4wVXNaVUZCWlRKRUxFMUJRVTFzUlN4RlFVRkZka01zUlVGQlJYVkRMRVZCUVVWdlJpeEZRVUZGTjBVc1pVRkJaVEJFTEVsQlFVbHRRaXhGUVVGRk4wVXNaVUZCWlRSRUxFOUJRVTlETEV0QlFVdHpReXhGUVVGRmFrSXNSVUZCUlhKQ0xFdEJRVXMzUnl4RlFVRkZOa1lzVVVGQlVYRkZMR0ZCUVdGeVF5eEZRVUZGTjBVc1pVRkJaVFpFTEV0QlFVc3NSVUZCUlVZc1RVRkJUWGRETEVWQlFVVnFTaXhGUVVGRmMwTXNSVUZCUlRCR0xFVkJRVVZ5UWl4TFFVRkxOMGNzUlVGQlJUWkdMRkZCUVZGeFJTeGhRVUZoYUVNc1JVRkJSVEZHTEVWQlFVVnhSaXhGUVVGRk4wVXNaVUZCWlRKRUxFMUJRVTBzUlVGQlJVUXNTVUZCU1hsRExFVkJRVVZxUWl4RlFVRkZlRUlzU1VGQlNURkhMRVZCUVVVMlJpeFJRVUZSTWtNc1dVRkJXWEJKTEV0QlFVdERMRkZCUVZFeVF5eGxRVUZsTUVRc1NVRkJTU3hGUVVGRlJTeFBRVUZQZFVNc1JVRkJSV3BLTEVWQlFVVjFReXhGUVVGRmVVWXNSVUZCUlhoQ0xFbEJRVWt4Unl4RlFVRkZOa1lzVVVGQlVUSkRMRmxCUVZsT0xFVkJRVVY2Uml4RlFVRkZiMFlzUlVGQlJUZEZMR1ZCUVdVMFJDeFBRVUZQTEVkQlFVY3pSeXhGUVVGRkxFTkJRVU4xUXl4RlFVRkZMRXRCUVV0eFJpeEZRVUZGYmtZc1UwRkJVeXhOUVVGTmJVWXNSVUZCUlc1R0xGTkJRVk1zVlVGQlZURkRMRVZCUVVVclJpeExRVUZMT0VJc1JVRkJSWFJHTEZOQlFWTkRMRWRCUVVjc1MwRkJTM0ZHTEVWQlFVVjBSaXhUUVVGVFF5eEZRVUZGUXl4RlFVRkZMRXRCUVV0dlJpeEZRVUZGYmtZc1UwRkJVeXhOUVVGTmJVWXNSVUZCUlc1R0xGTkJRVk1zVlVGQlZURkRMRVZCUVVVclJpeExRVUZMT0VJc1JVRkJSWFJHTEZOQlFWTkZMRWRCUVVjc1MwRkJTMjlHTEVWQlFVVjBSaXhUUVVGVFJTeEhRVUZIY1U0c1JVRkJSU3hEUVVGRGRFNHNSMEZCUlN4RlFVRkhReXhIUVVGRkxFZEJRVWw0UXl4RlFVRkZkVU1zUjBGQlIyMUhMRVZCUVVWdVJ5eEZRVUZGTkVjc1JVRkJSVzVLTEVWQlFVVjFReXhKUVVGSk5FY3NSVUZCUldoS0xFdEJRVXRuU0N4UlFVRlJia2dzUlVGQlJYVkRMRWxCUVVrMFJ5eEZRVUZGYmtvc1JVRkJSWFZETEV0QlFVdDJReXhGUVVGRmRVTXNSVUZCUlhCRExFdEJRVXRuU0N4UlFVRlJia2dzUlVGQlJYVkRMRTFCUVUxelRpeEZRVUZGZEU0c1IwRkJSU3hIUVVGSmRrTXNSVUZCUlhkRExFZEJRVWRyUnl4RlFVRkZiRWNzUlVGQlJUSkhMRVZCUVVWdVNpeEZRVUZGZDBNc1NVRkJTVEpITEVWQlFVVm9TaXhMUVVGTFowZ3NVVUZCVVc1SUxFVkJRVVYzUXl4SlFVRkpNa2NzUlVGQlJXNUtMRVZCUVVWM1F5eExRVUZMZUVNc1JVRkJSWGRETEVWQlFVVnlReXhMUVVGTFowZ3NVVUZCVVc1SUxFVkJRVVYzUXl4TlFVRk5jVTRzUlVGQlJYSk9MRWRCUVVVc1NVRkJTMjlHTEVWQlFVVm9TQ3hwUWtGQmFVSm5TQ3hGUVVGRkwwY3NiMEpCUVc5Q2FWQXNSVUZCUlN4WFFVRlhMRWxCUVVrM1VDeEZRVUZGTWtnc1JVRkJSV2hJTEdsQ1FVRnBRamhJTEVWQlFVVnVSeXhGUVVGRk5FY3NSVUZCUlc1S0xFVkJRVVYxUXl4SFFVRkhMRTlCUVU5MFF5eEZRVUZGYTBvc1JVRkJSVzVLTEVWQlFVVjFReXhIUVVGSExFMUJRVTF3UXl4TFFVRkxhVVFzVTBGQlV6aEdMRWRCUVVjc1MwRkJTM1JDTEVWQlFVVnVSaXhSUVVGUmRFTXNTMEZCUzJsRUxGRkJRVkV5U0N4WFFVRlhlRWtzUlVGQlJTeEhRVUZIYTBZc1UwRkJVM1JJTEV0QlFVdHpTeXhWUVVGVk1VSXNTVUZCU1N4elFrRkJjMEowUWl4VFFVRlRkRWdzUzBGQlMzTkxMRlZCUVZVeFFpeEpRVUZKTEhWQ1FVRjFRalZKTEV0QlFVdG5RaXhSUVVGUk5FZ3NTVUZCU1N4RFFVRkRla2tzVFVGQlRVd3NSVUZCUlVVc1MwRkJTME1zVVVGQlVWVXNiVUpCUVcxQ1lpeEZRVUZGTEV0QlFVdFBMRk5CUVZOUUxFVkJRVVYzU0N4VFFVRlRkRWdzUzBGQlMyZENMRkZCUVZFMFNDeEpRVUZKTEdGQlFXRXNSVUZCUlN4UFFVRlBOVWtzUzBGQlMzZEpMR3RDUVVGclFrUXNSVUZCUlhaSkxFdEJRVXMwVEN4eFFrRkJjVUo0Uml4TFFVRkxjRWNzVFVGQlRYbElMRVZCUVVWb1NDeHBRa0ZCYVVKclVDeEpRVUZKYkVrc1JVRkJSV2hJTEd0Q1FVRnJRbWxRTEVWQlFVVnlUaXhIUVVGSGVFTXNSVUZCUlhkRExFZEJRVWRyUnl4RlFVRkZiRWNzUlVGQlJUSkhMRVZCUVVWdVNpeEZRVUZGZDBNc1NVRkJTVEpITEVWQlFVVm9TaXhMUVVGTFowZ3NVVUZCVVc1SUxFVkJRVVYzUXl4SlFVRkpNa2NzUlVGQlJXNUtMRVZCUVVWM1F5eExRVUZMZUVNc1JVRkJSWGRETEVWQlFVVnlReXhMUVVGTFowZ3NVVUZCVVc1SUxFVkJRVVYzUXl4TlFVRk5jVTRzUlVGQlJYSk9MRWRCUVVVc1IwRkJTVVFzUlVGQlJTeFhRVUZYTEVsQlFVbDBReXhGUVVGRk1rZ3NSVUZCUlM5SExHdENRVUZyUWpaSUxFVkJRVVZzUnl4RlFVRkZNa2NzUlVGQlJXNUtMRVZCUVVWM1F5eEhRVUZITEU5QlFVOTJReXhGUVVGRkxGZEJRVmNzVDBGQlQwVXNTMEZCUzNsSkxHZENRVUZuUW5wSkxFdEJRVXR2UWl4UlFVRlJMRkZCUVZGd1FpeExRVUZMTWtrc1VVRkJVVU1zU1VGQlNTeFpRVUZaTlVrc1MwRkJTekpKTEZGQlFWRkRMRWxCUVVrc1ZVRkJWU3hUUVVGVE9Va3NSMEZCUjBVc1MwRkJTM2xKTEdWQlFXVjZTU3hMUVVGTGVVa3NaVUZCWlVvc1kwRkJZeXhKUVVGSmNra3NTMEZCUzI5Q0xFOUJRVTl3UWl4TFFVRkxiMElzVDBGQlQybElMR05CUVdNc1IwRkJSM0pKTEV0QlFVc3lTU3hSUVVGUlF5eEpRVUZKTEZWQlFWVXNVMEZCVXpsSkxFZEJRVWRGTEV0QlFVdDVTU3hsUVVGbGVra3NTMEZCUzNsSkxHVkJRV1ZLTEdOQlFXTXNTVUZCU1hKSkxFdEJRVXR2UWl4UFFVRlBjRUlzUzBGQlMyOUNMRTlCUVU5cFNDeGpRVUZqTEVkQlFVZDJTU3hIUVVGSExFZEJRVWNzUlVGQlJTeEpRVUZKUVN4SFFVRkhjMGNzUzBGQlMzQkhMRTFCUVUxR0xFVkJRVVZyU2l4RlFVRkZia29zUlVGQlJYZERMRWRCUVVjc1RVRkJUWEpETEV0QlFVdHBSQ3hUUVVGVE9FWXNSMEZCUnl4TFFVRkxkRUlzUlVGQlJXNUdMRkZCUVZGMFF5eExRVUZMYVVRc1VVRkJVVEpJTEZkQlFWZDJTU3hGUVVGRkxFZEJRVWQyUXl4SlFVRkpkMGdzVTBGQlUzUklMRXRCUVV0elN5eFZRVUZWTVVJc1NVRkJTU3h4UWtGQmNVSjBRaXhUUVVGVGRFZ3NTMEZCUzNOTExGVkJRVlV4UWl4SlFVRkpMSGRDUVVGM1FqVkpMRXRCUVV0blFpeFJRVUZSTkVnc1NVRkJTU3hEUVVGRGVFa3NUMEZCVDA0c1JVRkJSVVVzUzBGQlMwTXNVVUZCVVZjc2IwSkJRVzlDWkN4RlFVRkZMRTlCUVU5RkxFdEJRVXQzU1N4clFrRkJhMEpFTEVWQlFVVjJTU3hMUVVGTE5Fd3NjVUpCUVhGQ2VFWXNTMEZCUzNCSExFMUJRVTE1U0N4RlFVRkZMMGNzYTBKQlFXdENNRUlzU1VGQlNYRkdMRVZCUVVVdlJ5eHRRa0ZCYlVKblVDeEZRVUZGZEU0c1IwRkJSM1pETEVWQlFVVjFReXhIUVVGSGJVY3NSVUZCUlc1SExFVkJRVVUwUnl4RlFVRkZia29zUlVGQlJYVkRMRWxCUVVrMFJ5eEZRVUZGYUVvc1MwRkJTMmRJTEZGQlFWRnVTQ3hGUVVGRmRVTXNTVUZCU1RSSExFVkJRVVZ1U2l4RlFVRkZkVU1zUzBGQlMzWkRMRVZCUVVWMVF5eEZRVUZGY0VNc1MwRkJTMmRJTEZGQlFWRnVTQ3hGUVVGRmRVTXNUVUZCVFhOT0xFVkJRVVYwVGl4SFFVRkZMRWRCUVVseFJpeEZRVUZGTDBVc1owSkJRV2RDTEZGQlFWRXJSU3hGUVVGRkwwVXNhVUpCUVdsQ1owNHNSVUZCUlhST0xFZEJRVWQxVGl4SlFVRkpSQ3hGUVVGRmNrNHNSMEZCUjBRc1RVRkJUU3hKUVVGSmQwNHNSVUZCUlN4SFFVRkhReXhGUVVGRkxGTkJRVk12VUN4SFFVRkhMRWRCUVVjc1ZVRkJWVVlzUlVGQlJTdEdMRXRCUVVzNFFpeEZRVUZGZEVZc1UwRkJVM0pETEVsQlFVa3NRMEZCUXl4SlFVRkpReXhGUVVGRk1FZ3NSVUZCUldwR0xGZEJRVmN4UXl4SFFVRkhMRXRCUVV0QkxFVkJRVVVzVDBGQlR5eE5RVUZOTEVkQlFVYzRVQ3hGUVVGRk4xQXNSMEZCUnl0SUxFVkJRVVV2U0N4SFFVRkhMRlZCUVZVd1NDeEZRVUZGZEVZc1UwRkJVM0pETEVkQlFVY3NUMEZCVHpoUUxFVkJRVVUzVUN4SlFVRkpOa2NzUzBGQlMydEtMRTFCUVUxb1NTeEZRVUZGYUVrc1IwRkJSM2xKTEVWQlFVVjZTU3hKUVVGSkxGRkJRVkVzVTBGQlUwVXNTMEZCUzJ0RExGRkJRVkZzUXl4TFFVRkxhME1zVDBGQlR5eEpRVUZKYkVNc1MwRkJTMnRETEU5QlFVOHNTVUZCU1hSRExFVkJRVVUyUml4UlFVRlJMRXRCUVV0dFN5eEZRVUZGTjFBc1NVRkJTU3hKUVVGSk1FZ3NSVUZCUlRkRkxHVkJRV1UzUXl4SFFVRkhNRWdzUlVGQlJUZEZMR1ZCUVdVMVF5eExRVUZMWjBnc1VVRkJVV3BJTEU5QlFVOUJMRWRCUVVjd1NDeEZRVUZGZEVZc1UwRkJVM0pETEV0QlFVczRVQ3hGUVVGRk4xQXNTVUZCU1N0SUxFVkJRVVZvU1N4SFFVRkhlVWtzUlVGQlJYcEpMRWxCUVVreVNDeEZRVUZGYmtZc1UwRkJVM2hETEVkQlFVY3NUVUZCVFRKSUxFVkJRVVZ1Uml4VlFVRlZjMDRzUlVGQlJUZFFMRWxCUVVsM1NTeEZRVUZGZWtrc1NVRkJTVU1zUjBGQlJ6QklMRVZCUVVWMFJpeFRRVUZUY2tNc1IwRkJSeXhIUVVGSExGTkJRVk00VUN4RlFVRkZia2tzUlVGQlJXcEdMRmRCUVZjeFF5eEpRVUZKTWtnc1JVRkJSWFJHTEZOQlFWTnlReXhKUVVGSmMwY3NTMEZCUzNCSExFMUJRVTBzUjBGQlJ6WlFMRVZCUVVVc1MwRkJTMEVzUlVGQlJTeExRVUZMTjFBc1MwRkJTMmxFTEZOQlFWTXNWVUZCVlhkRkxFVkJRVVYyUlN4VFFVRlRMRlZCUVZWMFJDeEZRVUZGSzBZc1MwRkJTemhDTEVWQlFVVjBSaXhUUVVGVFF5eEpRVUZKTEZWQlFWVjRReXhGUVVGRkswWXNTMEZCU3poQ0xFVkJRVVYwUml4VFFVRlRSU3hMUVVGTFFTeEZRVUZGTEVWQlFVVXNWMEZCVjNKRExFdEJRVXRwUkN4UlFVRlJlVVFzVFVGQlRTeFZRVUZWWlN4RlFVRkZkRVlzVTBGQlUyNURMRXRCUVV0blNDeFJRVUZSVXl4RlFVRkZia1lzV1VGQldVUXNSMEZCUjJ0SExFVkJRVVYyU1N4TFFVRkxaMGdzVVVGQlVWTXNSVUZCUlc1R0xGVkJRVlVzUjBGQlJ5eFhRVUZYYlVZc1JVRkJSWFJHTEZOQlFWTnVReXhMUVVGTFowZ3NVVUZCVVZNc1JVRkJSVzVHTEZWQlFWVkVMRWxCUVVsclJ5eEZRVUZGZGtrc1MwRkJTMmRJTEZGQlFWRlRMRVZCUVVWdVJpeFZRVUZWTEVWQlFVVjBReXhMUVVGTGFVUXNVVUZCVVRKSUxGZEJRVmMxU3l4TFFVRkxaMGdzVVVGQlVWTXNSVUZCUlc1R0xGVkJRVlVzU1VGQlNYUkRMRXRCUVV0cFJDeFJRVUZSZVVRc1QwRkJUekZITEV0QlFVdHRTQ3hQUVVGUGJrZ3NTMEZCUzJsRUxGRkJRVkY1UkN4UFFVRlBMRWRCUVVjc1IwRkJSM0pGTEVkQlFVZHlReXhMUVVGTGFVUXNVVUZCVVhsRUxFOUJRVTlsTEVWQlFVVjBSaXhUUVVGVGJrTXNTMEZCUzJkSUxGRkJRVkZUTEVWQlFVVnVSaXhWUVVGVmRFTXNTMEZCU3pSTExGZEJRVmMxU3l4TFFVRkxaMGdzVVVGQlVWTXNSVUZCUlc1R0xGbEJRVmtzU1VGQlNURkRMRVZCUVVWNVN5eFJRVUZSY2tzc1MwRkJTMmxFTEZGQlFWRjVSQ3hOUVVGTkxFTkJRVU1zVFVGQlRTeFRRVUZUTEVkQlFVY3NSMEZCUnpGSExFdEJRVXRwUkN4UlFVRlJNa2dzVjBGQlZ6VkxMRXRCUVV0blNDeFJRVUZSVXl4RlFVRkZia1lzVlVGQlZTeEpRVUZKTEVsQlFVa3hReXhGUVVGRmVVc3NVVUZCVVhKTExFdEJRVXRwUkN4UlFVRlJlVVFzVFVGQlRTeERRVUZETEUxQlFVMHNWVUZCVlN4RlFVRkZMRWRCUVVjeFJ5eExRVUZMYVVRc1VVRkJVVEpJTEZkQlFWYzFTeXhMUVVGTFowZ3NVVUZCVVZNc1JVRkJSVzVHTEZWQlFWVXNTVUZCU1N4SlFVRkpNVU1zUlVGQlJYbExMRkZCUVZGeVN5eExRVUZMYVVRc1VVRkJVWGxFTEUxQlFVMHNRMEZCUXl4TlFVRk5MRk5CUVZNc1IwRkJSeXhIUVVGSGNrVXNSMEZCUjI5R0xFVkJRVVYwUml4VFFVRlRia01zUzBGQlMyZElMRkZCUVZGVExFVkJRVVZ1Uml4WFFVRlhkRU1zUzBGQlMybEVMRkZCUVZFMFNDeG5Ra0ZCWjBJc1JVRkJSU3hGUVVGRmVFa3NSMEZCUjNKRExFdEJRVXRwUkN4UlFVRlJWaXhSUVVGUmRrTXNTMEZCUzJsRUxGRkJRVkY1UkN4UFFVRlBNVWNzUzBGQlMyZElMRkZCUVZGb1NDeExRVUZMYlVnc1QwRkJUMjVJTEV0QlFVdHBSQ3hSUVVGUmVVUXNVVUZCVVN4SFFVRkhMRWRCUVVkclNpeEZRVUZGTlZBc1MwRkJTMjFJTEU5QlFVOXVTQ3hMUVVGTFowZ3NVVUZCVVdoSUxFdEJRVXRwUkN4UlFVRlJlVWdzVDBGQlQzSkpMRWRCUVVkMVRpeEZRVUZGYmtrc1JVRkJSV3BHTEZkQlFWZEtMRWxCUVVseFJpeEZRVUZGYkVZc1QwRkJUMGdzUlVGQlJYZE9MRVZCUVVWdVNTeEZRVUZGYWtZc1YwRkJWMGdzU1VGQlNXOUdMRVZCUVVWc1JpeFBRVUZQUml4RlFVRkZja01zUzBGQlN6SkpMRkZCUVZGRExFbEJRVWxuU0N4SFFVRkhia2tzUlVGQlJTOUZMR1ZCUVdVc1EwRkJRekZETEV0QlFVc3JVQ3h0UWtGQmJVSXZVQ3hMUVVGTGFVUXNVMEZCVTJwRUxFdEJRVXN5U1N4UlFVRlJReXhKUVVGSkxGVkJRVlVzUjBGQlIwRXNTVUZCU1N4WFFVRlhOVWtzUzBGQlMyZElMRkZCUVZGb1NDeExRVUZMYzBNc1UwRkJVM1JETEV0QlFVdHBSQ3hSUVVGUk1rZ3NWMEZCVnpWTExFdEJRVXRwU0N4UFFVRlBha2dzUzBGQlMzTkRMRmRCUVZjd1RDeFpRVUZaTEhkQ1FVRjNRbWhQTEV0QlFVdG5TQ3hSUVVGUmFFZ3NTMEZCUzJsRUxGRkJRVkZrTEZkQlFWZHRRaXhUUVVGVExIZENRVUYzUW5SRUxFdEJRVXRwUkN4UlFVRlJaQ3hWUVVGVmJrTXNTMEZCUzJsRUxGTkJRVk5xUkN4TFFVRkxhVVFzVVVGQlVUQklMRkZCUVZGMVJDeExRVUZMTEZGQlFWRXNOa0pCUVRaQ2JFOHNTMEZCUzJkSUxGRkJRVkZvU0N4TFFVRkxjME1zVlVGQlZYTkhMRWxCUVVrMVNTeExRVUZMYVVRc1VVRkJVVFpJTEZGQlFWRTVTeXhMUVVGTEsxQXNhMEpCUVdsQ0xFVkJRVWN2VUN4TFFVRkxOazRzVTBGQlVTeEhRVUZKTEVsQlFVbHRReXhGUVVGRmJGRXNSVUZCUlhkSExFbEJRVWx6U2l4RlFVRkZkRW9zUzBGQlMyMUNMRVZCUVVVM1JTeGxRVUZsTUVRc1MwRkJTeXhIUVVGSE1rb3NSVUZCUlc1UkxFVkJRVVY1Unl4TlFVRk5jVW9zUlVGQlJXNUtMRXRCUVVzNFFpeEZRVUZGYmtjc1IwRkJSM0ZHTEVWQlFVVTNSU3hsUVVGbE1rUXNUMEZCVHl4SFFVRkhNa29zUlVGQlJYQlJMRVZCUVVVd1J5eFBRVUZQYjBvc1JVRkJSWFJLTEVsQlFVbHBReXhGUVVGRmJFY3NSMEZCUjI5R0xFVkJRVVUzUlN4bFFVRmxORVFzVVVGQlVTeEhRVUZITWtvc1JVRkJSWEpSTEVWQlFVVXlSeXhMUVVGTGJVb3NSVUZCUlc1S0xFMUJRVTFuUWl4RlFVRkZOMFVzWlVGQlpUWkVMRTFCUVUwc1IwRkJSekpLTEVWQlFVVkVMRVZCUVVVc1QwRkJUMFlzUlVGQlJTeFJRVUZSTEV0QlFVdE9MRVZCUVVWTExFVkJRVVVzVFVGQlRVVXNSVUZCUlN4VFFVRlRMRXRCUVVzc1IwRkJSMFVzUjBGQlIxUXNSVUZCUlN4RFFVRkRMRWxCUVVrc1UwRkJVek5RTEV0QlFVc3lSaXhOUVVGTkxGZEJRVmN6Uml4TFFVRkxNa1lzVDBGQlR5eFZRVUZWTDBZc1JVRkJSU3RHTEV0QlFVc3pSaXhMUVVGTFF5eFJRVUZSYTBNc1UwRkJVME1zU1VGQlNTeFZRVUZWZUVNc1JVRkJSU3RHTEV0QlFVc3pSaXhMUVVGTFF5eFJRVUZSYTBNc1UwRkJVMFVzUjBGQlJ5eERRVUZETEVsQlFVbEVMRVZCUVVVc1JVRkJSVU1zUlVGQlJTeEZRVUZGTEU5QlFVOXlReXhMUVVGTFF5eFJRVUZSSzBNc1pVRkJaVzFPTEVWQlFVVXZUaXhGUVVGRmRFTXNSVUZCUlRKSExFMUJRVTF0U2l4RlFVRkZia29zVFVGQlRXZENMRVZCUVVVM1JTeGxRVUZsTmtRc1RVRkJUU3hKUVVGSmQwb3NTVUZCU1RkT0xFVkJRVVYwUXl4RlFVRkZlVWNzVDBGQlQzRktMRVZCUVVWdVNpeExRVUZMT0VJc1JVRkJSVzVITEVkQlFVZHhSaXhGUVVGRk4wVXNaVUZCWlRKRUxFOUJRVThzUzBGQlMzbEtMRVZCUVVVelRpeEZRVUZGZGtNc1JVRkJSWGRITEV0QlFVdHpTaXhGUVVGRmRFb3NTMEZCUzIxQ0xFVkJRVVUzUlN4bFFVRmxNRVFzUzBGQlN5eEpRVUZKTkVvc1NVRkJTVGRPTEVWQlFVVjJReXhGUVVGRk1FY3NVVUZCVVc5S0xFVkJRVVYwU2l4SlFVRkphVU1zUlVGQlJXeEhMRWRCUVVkdlJpeEZRVUZGTjBVc1pVRkJaVFJFTEZGQlFWRXNTMEZCUzNoSExFdEJRVXRETEZGQlFWRnJReXhUUVVGVFF5eEZRVUZGZDBVc1MwRkJTME1zU1VGQlNTOUhMRVZCUVVWM1J5eEpRVUZKZEVjc1MwRkJTME1zVVVGQlVXdERMRk5CUVZORExFVkJRVVZCTEVkQlFVZHdReXhMUVVGTFF5eFJRVUZSYTBNc1UwRkJVMFVzUlVGQlJYVkZMRXRCUVV0RExFbEJRVWt2Unl4RlFVRkZNa2NzUzBGQlMzcEhMRXRCUVV0RExGRkJRVkZyUXl4VFFVRlRSU3hGUVVGRlFTeEhRVUZIZDA0c1JVRkJSU3hMUVVGTFFTeEZRVUZGTEV0QlFVczNVQ3hMUVVGTE1ra3NVVUZCVVVNc1NVRkJTV2RJTEVsQlFVazFVQ3hMUVVGTGJVY3NWMEZCVnl4alFVRmpia2NzVFVGQlN5eEpRVUZMZVVnc1JVRkJSUzlGTEdkQ1FVRm5RaXhUUVVGVEswVXNSVUZCUlM5RkxHbENRVUZwUWpKT0xFVkJRVVVzVTBGQlUzWlJMRWRCUVVkRkxFdEJRVXN5U1N4UlFVRlJReXhKUVVGSk5Va3NTMEZCUzIxSUxFOUJRVTl5U0N4SFFVRkhPRkFzUlVGQlJUVlFMRXRCUVV0dFNDeFBRVUZQY2tnc1MwRkJTM2xKTEVWQlFVVjJTU3hMUVVGTGFVZ3NUMEZCVDI1SUxFbEJRVWt5U0N4RlFVRkZiRVlzVDBGQlQzWkRMRXRCUVV0cFNDeFBRVUZQYmtnc1MwRkJTeXhQUVVGUFFTeEhRVUZITEZGQlFWRkJMRWRCUVVjc1JVRkJSU3hIUVVGSFowa3NSVUZCUlRsSUxFdEJRVXRwU0N4UFFVRlBia2dzVFVGQlRTeFBRVUZQUVN4SFFVRkhMRkZCUVZGQkxFVkJRVVVzUjBGQlJ5eEpRVUZKUlN4TFFVRkxhVVFzVTBGQlUycEVMRXRCUVVzeVNTeFJRVUZSY1VZc1dVRkJXU3gzUWtGQmQwSm9UeXhMUVVGTGFVUXNVVUZCVVdRc1ZVRkJWVzFDTEZOQlFWTXNkMEpCUVhkQ2RFUXNTMEZCUzJkSUxGRkJRVkZvU0N4TFFVRkxhVVFzVVVGQlVXUXNWMEZCVjNsSExFbEJRVWtzVlVGQlZTeEhRVUZIUVN4SlFVRkpMRmRCUVZjNVNTeEZRVUZGUlN4TFFVRkxhVVFzVVVGQlVUSklMRmRCUVZjMVN5eExRVUZMYVVnc1QwRkJUMjVJTEV0QlFVdEZMRXRCUVV0cFJDeFRRVUZUYWtRc1MwRkJTMmxFTEZGQlFWRXdTQ3hSUVVGUmRVUXNTMEZCU3l4UlFVRlJMRFpDUVVFMlFuQlBMRWRCUVVkRkxFdEJRVXNyVUN4clFrRkJhVUlzUlVGQlJ5OVFMRXRCUVVzMlRpeFRRVUZSTEVkQlFVbDZTQ3hMUVVGTGNFY3NUVUZCVFRCUUxFVkJRVVYwVGl4SFFVRkhhVThzUlVGQlJYSlJMRXRCUVV0RExGRkJRVkZyUXl4VFFVRlRReXhIUVVGSGMwNHNSVUZCUlhKT0xFZEJRVWRuVHl4RlFVRkZjbEVzUzBGQlMwTXNVVUZCVVd0RExGTkJRVk5GTEVsQlFVa3NTVUZCU1dkUExFVkJRVVVzUzBGQlMzSlJMRXRCUVV0cFNDeFBRVUZQYWtnc1MwRkJTM05ETEZOQlFWTnhUaXhGUVVGRlV5eEZRVUZGY0ZFc1MwRkJTMmxFTEZOQlFWTXNWVUZCVlhkRkxFVkJRVVYyUlN4VFFVRlRMRkZCUVZGMVJTeEZRVUZGTDBVc1owSkJRV2RDTVVNc1MwRkJTMmxJTEU5QlFVOXZTaXhKUVVGSmNsRXNTMEZCUzJkSUxGRkJRVkZvU0N4TFFVRkxhVWdzVDBGQlQycElMRXRCUVV0elF5eFpRVUZaY1U0c1JVRkJSU3hWUVVGVk0xQXNTMEZCUzJsRUxGRkJRVkY1UkN4TlFVRk5Oa0lzUlVGQlJYWkpMRXRCUVV0cFNDeFBRVUZQYjBvc1NVRkJTU3hGUVVGRmNsRXNTMEZCUzJsRUxGRkJRVkV5U0N4WFFVRlhOVXNzUzBGQlMyZElMRkZCUVZGb1NDeExRVUZMYVVRc1VVRkJVWGxJTEV0QlFVc3NSVUZCUlhCRUxGTkJRVk4wU0N4TFFVRkxhVVFzVVVGQlVUQklMRkZCUVZFdlFpeEpRVUZKTEZWQlFWVTFTU3hMUVVGTGFVUXNVVUZCVVRSSUxHdENRVUZyUW5kR0xFZEJRVWR5VVN4TFFVRkxiVWdzVDBGQlQydEtMRWxCUVVrc1JVRkJSU3hIUVVGSFFTeEhRVUZIY2xFc1MwRkJTMmxFTEZGQlFWRTBTQ3hsUVVGbGRrUXNVMEZCVTNSSUxFdEJRVXRwUkN4UlFVRlJNRWdzVVVGQlVTOUNMRWxCUVVrc1ZVRkJWVFZKTEV0QlFVdHBSQ3hSUVVGUk5FZ3NhVUpCUVdsQ2RFTXNSVUZCUlhaSkxFdEJRVXRwU0N4UFFVRlBiMG9zU1VGQlNTOUpMRk5CUVZOMFNDeExRVUZMYVVRc1VVRkJVVEJJTEZGQlFWRXZRaXhKUVVGSkxGVkJRVlUxU1N4TFFVRkxhVVFzVVVGQlVUUklMR2xDUVVGcFFqZExMRXRCUVV0cFJDeFJRVUZSTWtnc1YwRkJWelZMTEV0QlFVdHBTQ3hQUVVGUGIwb3NTVUZCU1VRc1JVRkJSVU1zUjBGQlIzSlJMRXRCUVV0dFNDeFBRVUZQYTBvc1IwRkJSM1pSTEVWQlFVVkZMRXRCUVV0dFNDeFBRVUZQYTBvc1NVRkJTVlFzUlVGQlJUVlFMRXRCUVV0dFNDeFBRVUZQYTBvc1NVRkJTVFZKTEVWQlFVVTNSU3hsUVVGbGVVNHNTVUZCU1N4SFFVRkhkbEVzUlVGQlJVVXNTMEZCUzJkSUxGRkJRVkZvU0N4TFFVRkxiVWdzVDBGQlQydEtMRXRCUVV0VUxFVkJRVVUxVUN4TFFVRkxiVWdzVDBGQlQydEtMRWxCUVVrMVNTeEZRVUZGTjBVc1pVRkJaWGxPTEVkQlFVYzVTQ3hGUVVGRmRra3NTMEZCUzJsSUxFOUJRVTl2U2l4TFFVRkxRU3hIUVVGSGNsRXNTMEZCUzJkSUxGRkJRVkZvU0N4TFFVRkxiVWdzVDBGQlQydEtMRXRCUVV0VUxFVkJRVVUxVUN4TFFVRkxiVWdzVDBGQlQydEtMRWxCUVVsRUxFVkJRVVYwVVN4RlFVRkZSU3hMUVVGTGJVZ3NUMEZCVDJ0S0xFbEJRVWsxU1N4RlFVRkZOMFVzWlVGQlpUVkRMRXRCUVV0dFNDeFBRVUZQYTBvc1RVRkJUVVFzUjBGQlIzUlJMRVZCUVVWRkxFdEJRVXR0U0N4UFFVRlBhMG9zU1VGQlNUVkpMRVZCUVVVM1JTeGxRVUZsTlVNc1MwRkJTMjFJTEU5QlFVOXJTaXhMUVVGTFZDeEZRVUZGTlZBc1MwRkJTMjFJTEU5QlFVOXJTaXhKUVVGSlJDeExRVUZMUVN4RlFVRkZlRW9zUzBGQlMyMUlMRWxCUVVseFF5eEZRVUZGVkN4TFFVRkxRU3hIUVVGSExFVkJRVVZUTEVsQlFVbHdVU3hMUVVGTGFVUXNVVUZCVVRCSUxGRkJRVkV2UWl4SlFVRkpMRlZCUVZVMVNTeExRVUZMYVVRc1VVRkJVVFJJTEdWQlFXVjJSQ3hUUVVGVGRFZ3NTMEZCUzJsRUxGRkJRVkV3U0N4UlFVRlJMMElzU1VGQlNTeFZRVUZWTlVrc1MwRkJTMmxFTEZGQlFWRTBTQ3hwUWtGQmFVSjFSaXhIUVVGSFF5eEhRVUZIY2xFc1MwRkJTMmxFTEZGQlFWRTBTQ3huUWtGQlowSXNSVUZCUlN4SlFVRkpOMHNzUzBGQlN6SkpMRkZCUVZGRExFbEJRVWsxU1N4TFFVRkxiVWdzVDBGQlQydEtMRWRCUVVkVUxFVkJRVVUxVUN4TFFVRkxiVWdzVDBGQlQydEtMRWxCUVVsRUxFZEJRVWRETEVkQlFVZHlVU3hMUVVGTGJVZ3NUMEZCVDJ0S0xFbEJRVWtzUlVGQlJTeEpRVUZKY2xFc1MwRkJTeXRRTEd0Q1FVRnBRaXhMUVVGTkxFOUJRVTh2VUN4TFFVRkxiVWNzVjBGQlZ5eGpRVUZqYmtjc1QwRkJUMGdzUlVGQlJUUlBMRlZCUVZVMlFpeFRRVUZUTEZOQlFWTjRVU3hIUVVGSExFZEJRVWRGTEV0QlFVdDFVU3hKUVVGSkxGTkJRVk42VVN4RlFVRkZReXhIUVVGSE1FWXNUMEZCVHl0TExHZENRVUZuUWk5TExFOUJRVThyU3l4alFVRmpMRWxCUVVrdlN5eFBRVUZQSzBzc1kwRkJZekZSTEVkQlFVZERMRWRCUVVkRExFdEJRVXQ1VVN4SlFVRkpMRk5CUVZNelVTeEhRVUZITEU5QlFVOHlSaXhQUVVGUEswc3NZMEZCWXk5TExFOUJRVThyU3l4alFVRmpNVkVzUjBGQlJ5eE5RVUZOUlN4TFFVRkxNRkVzYTBKQlFXdENMRmRCUVZjc1IwRkJSekZSTEV0QlFVdDVVU3hKUVVGSkxHdENRVUZyUWl4UFFVRlBlbEVzUzBGQlMzbFJMRWxCUVVrc2EwSkJRV3RDTEV0QlFVc3NTVUZCU1ROUkxFVkJRVVZwUnl4VFFVRlRORXNzWTBGQll5eFBRVUZQTjFFc1JVRkJSVFJKTEUxQlFVMTJTU3hOUVVGTkxGRkJRVkZNTEVWQlFVVTBTU3hOUVVGTmRFa3NUMEZCVHl4UlFVRlJUaXhGUVVGRk5Fa3NUVUZCVFd0SkxGTkJRVk1zVTBGQlV6bFJMRVZCUVVVMFNTeE5RVUZOZGtjc1UwRkJVeXhYUVVGWGNrTXNSVUZCUlRSSkxFMUJRVTF3UXl4SlFVRkpMRk5CUVZOUUxGTkJRVk00U3l4TFFVRkxja2NzV1VGQldURkxMRWRCUVVjc1NVRkJTVU1zUlVGQlJVUXNSVUZCUldkU0xGbEJRVmxvVWl4RlFVRkZhVklzV1VGQldTeFBRVUZQYUV3c1UwRkJVemhMTEV0QlFVdEhMRmxCUVZsc1VpeEhRVUZIUlN4TFFVRkxkVkVzU1VGQlNTeHBRa0ZCYVVKNFVTeEhRVUZIUVN4RlFVRkZMRTFCUVUxRExFdEJRVXRwVWl4dlFrRkJiMElzVTBGQlUzaEtMRWxCUVVsQkxFVkJRVVVzYVVKQlFXbENRU3hGUVVGRlFTeEhRVUZITEVsQlFVa3NRMEZCUXl4RFFVRkRRU3hGUVVGRkxHdENRVUZyUWtFc1IwRkJSM2xLTEZGQlFWRXNVMEZCVTNCU0xFVkJRVVZETEVkQlFVY3NhVUpCUVdsQ1JDeEpRVUZKTWtnc1JVRkJSVEZJTEVkQlFVY3NRMEZCUTBRc1JVRkJSU3h2UWtGQmIwSXNTVUZCU1N4SlFVRkpRU3hIUVVGRkxFVkJRVWRETEVWQlFVVXNSVUZCUlVFc1JVRkJSVEJJTEVWQlFVVk5MRTlCUVU5b1NTeExRVUZMTEVsQlFVa3dTQ3hGUVVGRk1VZ3NSMEZCUnl4SFFVRkhiMUlzVVVGQlVTeFZRVUZWY2xJc1IwRkJSU3hIUVVGSkxFOUJRVTBzU1VGQlMwRXNSMEZCUnpKSUxFVkJRVVUwUnl4TFFVRkxMRU5CUVVNc1QwRkJUeXhyUWtGQmEwSTFSeXhIUVVGSGVrZ3NTMEZCUzI5U0xHbENRVUZwUWl4WFFVRlhMRTlCUVU5d1VpeExRVUZMTUZFc2NVSkJRWEZDTTBzc1UwRkJVemhMTEV0QlFVdFJMR0ZCUVdFMVRDeFBRVUZQTmt3c1lVRkJZWFJTTEV0QlFVdHZVaXh0UWtGQmJVSXNRMEZCUTNSU0xFVkJRVVZGTEV0QlFVdHBVaXh2UWtGQmIwSnVVaXhIUVVGSExFbEJRVWtzU1VGQlNVTXNSVUZCUlN4RlFVRkZRU3hGUVVGRlJDeEZRVUZGYVVrc1QwRkJUMmhKTEVsQlFVa3NTVUZCU1N4SlFVRkpNRWdzUlVGQlJURkNMRk5CUVZOM1RDeHBRa0ZCYVVKNlVpeEZRVUZGUXl4SFFVRkhMRWxCUVVsM1NTeEZRVUZGTEVWQlFVVkJMRVZCUVVWa0xFVkJRVVZOTEU5QlFVOVJMRWxCUVVrc1EwRkJReXhIUVVGSFpDeEZRVUZGWXl4SFFVRkhhVW9zWVVGQllTeHBRa0ZCYVVJc1QwRkJUeXhKUVVGSk1Vb3NSVUZCUldoSkxFVkJRVVZETEVkQlFVY3NSMEZCUjJkS0xFVkJRVVYwUkN4UFFVRlBaMDBzYVVKQlFXbENhRXNzUlVGQlJXTXNTVUZCU1cxS0xHbENRVUZwUWpWS0xFZEJRVWRNTEVWQlFVVmpMRWRCUVVkWUxHRkJRV0VzWjBKQlFXZENSU3hIUVVGSGFVSXNSVUZCUlVFc1IwRkJSeXhOUVVGTkxFbEJRVWxETEVWQlFVVXNhVUpCUVdsQ2JFSXNSMEZCUnl4VFFVRlRRU3hGUVVGRkxFbEJRVWtzU1VGQlNVd3NSVUZCUldNc1IwRkJSMGNzVFVGQlRWb3NSMEZCUnl4UlFVRlJhVUlzUlVGQlJTeEpRVUZKUXl4RlFVRkZMRWxCUVVsb1NpeExRVUZMTUZFc2IwSkJRVzlDTEV0QlFVc3NTVUZCU1RkUkxFVkJRVVUyVUN4RlFVRkZNMG9zVTBGQlV6Uk1MR1ZCUVdVc2VVSkJRWGxDT1ZJc1JVRkJSV3RITEZOQlFWTTJUQ3hOUVVGTk4wd3NVMEZCVXpoTUxIRkNRVUZ4UWl4UlFVRlJMRWxCUVVsdVF5eEZRVUZGTTBvc1UwRkJVelJMTEdOQlFXTXNWVUZCVldoTUxFdEJRVXNzVjBGQlZ5dEtMRVZCUVVVNVNDeGhRVUZoTEV0QlFVc3NkVUpCUVhWQ09FZ3NSVUZCUld4R0xGbEJRVmw2UlN4VFFVRlRLMHdzWlVGQlpTeHRSRUZCYlVScVV5eEZRVUZGTWtzc1dVRkJXV3RHTEVsQlFVa3pTaXhUUVVGVE9Fc3NTMEZCUzJ0Q0xGVkJRVlZETEVsQlFVa3NhMEpCUVd0Q1F5eE5RVUZOTEZkQlFWY3NTVUZCU1N4SlFVRkpibE1zUlVGQlJXbEhMRk5CUVZOM1RDeHBRa0ZCYVVJc2JVSkJRVzFDZUZJc1JVRkJSU3hGUVVGRlFTeEZRVUZGUkN4RlFVRkZhVWtzVDBGQlQyaEpMRWxCUVVrc1EwRkJReXhKUVVGSk1FZ3NSVUZCUlROSUxFVkJRVVZETEVkQlFVZDVVaXhoUVVGaExHbENRVUZwUWpGU0xFVkJRVVZETEVkQlFVY3lTU3hOUVVGTmFrSXNSMEZCUnl4TFFVRkxNMGdzUlVGQlJVTXNSMEZCUjIxVExHZENRVUZuUWl4cFFrRkJhVUp1VFN4VFFVRlRPRXNzUzBGQlMydENMRlZCUVZWSkxFOUJRVThzYVVKQlFXbENkRk1zUlVGQlJUUlBMRlZCUVZVeFF5eExRVUZMTEZOQlFWTnFUU3hIUVVGSExFZEJRVWRCTEVWQlFVVkJMRWRCUVVjc1IwRkJSMFVzUzBGQlMyOVRMRmxCUVZrc1QwRkJUM0JUTEV0QlFVc3NSMEZCUjBFc1MwRkJTekpKTEZOQlFWTXpTU3hMUVVGTEswb3NWVUZCVlM5S0xFdEJRVXR4VXl4VlFVRlZjbE1zUzBGQlMzRlRMRkZCUVZGNlV5eEZRVUZGTEZsQlFWa3lTeXhQUVVGUGRrc3NTMEZCUzNWT0xHVkJRV1YyU2l4VFFVRlRjRVVzUlVGQlJTeFZRVUZWU1N4TFFVRkxORThzVDBGQlQwTXNZVUZCWVRkUExFdEJRVXMwVHl4UFFVRlBOVThzUzBGQlMzZE9MR3RDUVVGclFuaE9MRXRCUVV0elV5eFhRVUZYTEU5QlFVOTBVeXhMUVVGTFFTeExRVUZMUXl4UlFVRlJNa1FzV1VGQldXaEZMRVZCUVVWdFJ5eFZRVUZWYVVNc1IwRkJSeXhqUVVGamFFa3NTMEZCUzBVc1IwRkJSeXhUUVVGVFNpeEhRVUZITEVsQlFVbEJMRVZCUVVWNVV5eFRRVUZUZGxNc1MwRkJTMjlLTEUxQlFVMHNRMEZCUTBNc1lVRkJXU3hMUVVGTmFrUXNTMEZCUzNCSExGRkJRVThzU1VGQlMwRXNTMEZCUzBNc1VVRkJVVFJFTEdOQlFXTXNVMEZCVXpkRUxFdEJRVXRETEZGQlFWRTBSQ3hsUVVGbGFrVXNSVUZCUlN4UlFVRlJiMGtzUjBGQlJ5eGpRVUZqYUVrc1MwRkJTMFVzUjBGQlJ5eGhRVUZoUml4TFFVRkxSU3hIUVVGSExGTkJRVk5LTEVkQlFVZEZMRXRCUVV0NVRpeG5Ra0ZCWjBJc1VVRkJVWHBPTEV0QlFVdERMRkZCUVZFMFJDeGxRVUZsTDBRc1JVRkJSVzlETEZGQlFWRnNReXhMUVVGTE1ra3NVVUZCVVN4SlFVRkpNMGtzUzBGQlN6SkpMRkZCUVZFMlNpeEpRVUZKTVZNc1JVRkJSVzlETEZGQlFWRTJSaXhUUVVGVEwwZ3NTMEZCUzI5S0xFMUJRVTBzUTBGQlEwTXNZVUZCV1N4TFFVRk5ha1FzUzBGQlMzQkhMRTlCUVU5QkxFdEJRVXMwUml4bFFVRmxhRWNzUlVGQlJTeFpRVUZaYjBrc1IwRkJSeXhqUVVGamFFa3NTMEZCUzBVc1IwRkJSeXhoUVVGaFJpeExRVUZMUlN4SFFVRkhMRmRCUVZjc1QwRkJUU3hMUVVGTkxFbEJRVWxJTEVWQlFVVXNXVUZCVnl4SlFVRkxReXhMUVVGTE9FY3NjVUpCUVhGQ2FrZ3NSVUZCUlRoSExGVkJRVlZETEV0QlFVdERMRWxCUVVsVExGTkJRVk4wU0N4TFFVRkxNa2tzVVVGQlVVTXNTVUZCU1N4VlFVRlZMRWxCUVVrMVNTeExRVUZMUXl4UlFVRlJkMFFzVDBGQlR6VkVMRVZCUVVVNFJ5eFhRVUZYTEVWQlFVVTVSeXhGUVVGRk9Fb3NiVUpCUVcxQ0xFZEJRVWNzUlVGQlJUTktMRXRCUVVzeVNTeFJRVUZSUXl4SlFVRkpMRk5CUVZNdlNTeEZRVUZGT0Vjc1YwRkJWek5ITEV0QlFVdERMRkZCUVZGM1JDeFBRVUZQTlVRc1JVRkJSVGhITEZkQlFWY3pSeXhMUVVGTGJVc3NVVUZCVVc1TExFdEJRVXRETEZGQlFWRnJRaXhWUVVGVmJrSXNTMEZCUzIxTExFOUJRVThyUkN4TFFVRkxiRThzUzBGQlMwTXNVVUZCVVd0Q0xGZEJRVmR1UWl4TFFVRkxLMHNzVTBGQlV5OUxMRXRCUVV0dFN5eFBRVUZQSzBRc1MwRkJTMnhQTEV0QlFVdERMRkZCUVZGclFpeFhRVUZWTEVkQlFVbHVRaXhMUVVGTGJVc3NVVUZCVVc1TExFdEJRVXRETEZGQlFWRm5RaXhoUVVGaGFrSXNTMEZCUzIxTExFOUJRVTh6U1N4TFFVRkxMRzFDUVVGdFFuaENMRXRCUVVzMFFpeFhRVUZYTlVJc1MwRkJTMjFMTEU5QlFVOHpTU3hMUVVGTExHOUNRVUZ0UWl4SFFVRkplRUlzUzBGQlMyMUxMRTlCUVU4clJDeExRVUZMYkU4c1MwRkJTME1zVVVGQlVXZENMRmxCUVZscVFpeExRVUZMTkVJc1YwRkJWelZDTEV0QlFVdHRTeXhQUVVGUEswUXNTMEZCUzJ4UExFdEJRVXRETEZGQlFWRm5RaXhoUVVGWkxFZEJRVWtzVVVGQlVXcENMRXRCUVV0RExGRkJRVkZuUWl4WlFVRlpha0lzUzBGQlN6UkNMRmRCUVZjMVFpeExRVUZMYlVzc1QwRkJUemhGTEZGQlFVOHNTVUZCUzJwUUxFdEJRVXR0Unl4WFFVRlhMRmRCUVZkdVJ5eExRVUZMUXl4UlFVRlJjVUlzVDBGQlQzUkNMRXRCUVV0RExGRkJRVkZ4UWl4TFFVRkxReXhMUVVGTGRrSXNTMEZCUzIxTExGRkJRVkZ1U3l4TFFVRkxiVXNzVDBGQlR5dEVMRXRCUVV0c1R5eExRVUZMUXl4UlFVRlJjVUlzUzBGQlMwa3NXVUZCV1RGQ0xFdEJRVXQ1VXl4WlFVRlplbE1zUzBGQlMwTXNVVUZCVVhGQ0xFdEJRVXRITEZOQlFWTXpRaXhGUVVGRmQwSXNUMEZCVDNoQ0xFVkJRVVYzUWl4TFFVRkxReXhMUVVGTGVrSXNSVUZCUlhkQ0xFdEJRVXRGTEZOQlFWTXNWVUZCVlhoQ0xFdEJRVXRETEZGQlFWRnhRaXhMUVVGTFJ5eFRRVUZUZWtJc1MwRkJTMjFMTEZOQlFWTnVTeXhMUVVGTGJVc3NUMEZCVHpOSkxFdEJRVXNzYlVKQlFXMUNNVUlzUlVGQlJYZENMRTlCUVU5NFFpeEZRVUZGZDBJc1MwRkJTME1zUzBGQlMzcENMRVZCUVVWM1FpeExRVUZMUlN4TlFVRk5lRUlzUzBGQlMzTkNMRXRCUVV0NFFpeEZRVUZGZDBJc1RVRkJUU3hOUVVGTExFZEJRVWwwUWl4TFFVRkxORUlzVjBGQlZ6VkNMRXRCUVV0dFN5eFBRVUZQTTBrc1MwRkJTeXh2UWtGQmIwSjRRaXhMUVVGTE1GTXNiVUpCUVcxQ01WTXNTMEZCUzBNc1VVRkJVVFpETEcxQ1FVRnRRamxETEV0QlFVdHRReXhUUVVGVGNrTXNTMEZCUzBVc1MwRkJTekJUTEd0Q1FVRnBRaXhIUVVGSk1WTXNTMEZCU3pKVExGZEJRVmN6VXl4TFFVRkxhVThzYTBKQlFXdENhazhzUzBGQlN6Uk9MRk5CUVZNMVRpeExRVUZMTkU0c1VVRkJUeXhGUVVGSE5VNHNTMEZCUzBNc1VVRkJVWEZGTEZsQlFWbDBSU3hMUVVGTFF5eFJRVUZSTUVRc1YwRkJWek5FTEV0QlFVdERMRkZCUVZGeFJTeFpRVUZaZEVVc1MwRkJTMjlLTEZGQlFWRndTaXhMUVVGTFowd3NaMEpCUVdkQ2FFd3NTMEZCUzBNc1VVRkJVV2xGTEdOQlFXTnNSU3hMUVVGTFF5eFJRVUZSYTBVc2EwSkJRV3RDZEVVc1JVRkJSU3RUTEd0Q1FVRnJRaTlUTEVWQlFVVXJVeXh4UWtGQmNVSXZVeXhGUVVGRksxTXNhMEpCUVd0Q0xFVkJRVVUxVXl4TFFVRkxjMUVzVTBGQlUzVkRMRTFCUVUxRExGRkJRVkU1VXl4TFFVRkxReXhSUVVGUmEwVXNiMEpCUVc5Q0xHbENRVUZwUW01RkxFdEJRVXRETEZGQlFWRnJSU3hyUWtGQmEwSnVSU3hMUVVGTFF5eFJRVUZSYTBVc2EwSkJRV3RDTEU5QlFVOTJSU3hGUVVGRkxGRkJRVkV3UkN4VFFVRlRMRzlDUVVGdlFuUkVMRXRCUVV0RkxFdEJRVXRHTEV0QlFVdERMRkZCUVZGelJDeFZRVUZWZGtRc1MwRkJTMjlNTEdWQlFXVndUQ3hMUVVGTGJVTXNXVUZCV1c1RExFdEJRVXRETEZGQlFWRnRSQ3haUVVGWmNFUXNTMEZCU3pKVExGZEJRVmN6VXl4TFFVRkxNazRzVTBGQlV5eFJRVUZSTTA0c1MwRkJTME1zVVVGQlVYbEZMRTlCUVU4eFJTeExRVUZMUXl4UlFVRlJlVVVzVFVGQlRYRklMRTFCUVUwdlRDeExRVUZMTUVVc1RVRkJUVEZGTEV0QlFVdERMRkZCUVZGNVJTeE5RVUZOY1Vnc1MwRkJTeTlNTEV0QlFVdERMRkZCUVZFd1JTeFBRVUZQYjBnc1RVRkJUUzlNTEV0QlFVdERMRkZCUVZGclJDeExRVUZMYmtRc1MwRkJTekpKTEZGQlFWRXdReXhQUVVGUFF5eFJRVUZSTEVOQlFVTndRaXhSUVVGUkxFZEJRVWNzUTBGQlEzRkNMRTlCUVUwc1JVRkJSME1zVTBGQlUzaE1MRXRCUVV0RExGRkJRVkZyUkN4TFFVRkxjMGtzVFVGQlRTeFhRVUZYZWt3c1MwRkJTeXRUTEZkQlFWVXNSVUZCUnk5VExFdEJRVXN5U1N4UlFVRlJReXhKUVVGSkxFTkJRVU54UWl4UlFVRlJMRmRCUVZjM1JDeExRVUZMY0Vjc1RVRkJUV2RVTEU5QlFVOHNWMEZCVjJoVUxFdEJRVXNyVXl4WFFVRlZMRVZCUVVkeVJpeFhRVUZYTEZkQlFWY3hUaXhMUVVGTGFWUXNkMEpCUVhkQ2FsUXNTMEZCUzIxRExHRkJRV0Z1UXl4TFFVRkxhVlFzZDBKQlFYVkNMRWxCUVVzM1RTeExRVUZMY0Vjc1RVRkJUU3hMUVVGTGIwY3NTMEZCUzNCSExGTkJRVk5CTEV0QlFVc3lTU3hSUVVGUlF5eEpRVUZKTEVOQlFVTnhRaXhSUVVGUkxGRkJRVkZETEZGQlFWRXNTVUZCU1d4TExFdEJRVXRwVkN4M1FrRkJkMEpxVkN4TFFVRkxiVU1zWVVGQllXNURMRXRCUVV0cFZDeDNRa0ZCZFVJc1RVRkJUemROTEV0QlFVdHdSeXhOUVVGTkxFOUJRVTlCTEV0QlFVdERMRkZCUVZGNVJDeFhRVUZYTVVRc1MwRkJTelJPTEZGQlFWRTFUaXhMUVVGTE1sTXNWMEZCVnpkVExFVkJRVVYxU2l4WlFVRlpkRW9zU1VGQlNVTXNTMEZCU3pSUExFMUJRVTFzUWl4WFFVRlhNMDRzUlVGQlJVTXNTMEZCUzBNc1VVRkJVWGxFTEZkQlFWY3hSQ3hOUVVGTlNDeEZRVUZGTkU4c1ZVRkJWWEpHTEUxQlFVMHNVMEZCVTNSS0xFZEJRVWNzUjBGQlIwRXNSVUZCUlVFc1IwRkJSeXhIUVVGSFJpeEZRVUZGTEZGQlFWRnBTeXhKUVVGSkxHTkJRV00zU2l4TFFVRkxSU3hIUVVGSExHRkJRV0ZHTEV0QlFVdEZMRWxCUVVsR0xFdEJRVXMwUml4bFFVRmxhRWNzUlVGQlJTeFpRVUZaYVVzc1NVRkJTU3hqUVVGak4wb3NTMEZCUzBVc1IwRkJSeXhoUVVGaFJpeExRVUZMUlN4SlFVRkpSaXhMUVVGTGIxTXNZVUZCWVhCVExFdEJRVXN5VXl4VlFVRlZMRTlCUVU4elV5eExRVUZMTEVkQlFVZEJMRXRCUVVzMFR5eFBRVUZQUXl4aFFVRmhOMDhzUzBGQlN6UlBMRTlCUVU4MVR5eExRVUZMZDA0c2EwSkJRV3RDZUU0c1MwRkJTM05UTEZkQlFWY3NUMEZCVDNSVExFdEJRVXNzU1VGQlNVUXNSVUZCUlRCSUxFVkJRVVZqTEVWQlFVVlVMRVZCUVVVc1YwRkJWeXhKUVVGSmFFa3NSVUZCUlVVc1MwRkJTMjFITEZkQlFWY3NWMEZCVjI1SExFdEJRVXRETEZGQlFWRm5ReXh0UWtGQmJVSnFReXhMUVVGTGExUXNZVUZCWVd4VUxFdEJRVXMwVGl4VFFVRlROVTRzUzBGQlN6Uk9MRkZCUVU4c1JVRkJSelZPTEV0QlFVdHRUQ3huUWtGQlowSnVUQ3hMUVVGTFF5eFJRVUZSYVVVc1kwRkJZMnhGTEV0QlFVdERMRkZCUVZGclJTeHRRa0ZCYlVKMFJTeEZRVUZGSzFNc2EwSkJRV3RDTDFNc1JVRkJSU3RUTEc5Q1FVRnZRaTlUTEVWQlFVVXJVeXhyUWtGQmEwSXNTVUZCU1RWVExFdEJRVXR6VVN4VFFVRlRNa0lzVVVGQlVYSlRMRVZCUVVVc1VVRkJVVzlQTEZsQlFWa3NiMEpCUVc5Q2FFOHNTMEZCUzBVc1MwRkJTMFlzUzBGQlMwTXNVVUZCVVhORUxGTkJRVk4yUkN4TFFVRkxNRXdzWlVGQlpURk1MRXRCUVV0RExGRkJRVkZ0UkN4WlFVRlpjRVFzUzBGQlN5dFRMRmRCUVZjdlV5eExRVUZMTWs0c1UwRkJVeXhUUVVGVE0wNHNTMEZCUzBNc1VVRkJVWGxGTEU5QlFVOHhSU3hMUVVGTFF5eFJRVUZSZVVVc1RVRkJUVEJGTEU5QlFVOXdTaXhMUVVGTE1FVXNUVUZCVFRGRkxFdEJRVXRETEZGQlFWRjVSU3hOUVVGTk1FVXNUVUZCVFhCS0xFdEJRVXRETEZGQlFWRXdSU3hQUVVGUGVVVXNVVUZCVVhSS0xFVkJRVVZGTEV0QlFVczBSaXhsUVVGbExGTkJRVk0xUml4TFFVRkxReXhSUVVGUmFVTXNUMEZCVHl4RlFVRkZiRU1zUzBGQlMwTXNVVUZCVVd0RUxFMUJRVTF1UkN4TFFVRkxNa2tzVVVGQlVUQkRMRTlCUVU5RExGRkJRVkVzUTBGQlEzQkNMRkZCUVZFc1IwRkJSeXhEUVVGRGNVSXNUMEZCVFN4RlFVRkhReXhUUVVGVE1Vd3NSVUZCUlRKTUxFMUJRVTBzVjBGQlYzcE1MRXRCUVVzeVV5eFhRVUZWTEVkQlFVbDJUU3hMUVVGTGNFY3NUVUZCVFRKTUxGTkJRVk1zVjBGQlZ6Tk1MRXRCUVVzeVNTeFJRVUZSUXl4SlFVRkpMRU5CUVVOeFFpeFJRVUZSTEZOQlFWTnFTeXhMUVVGTGJVY3NWMEZCVnl4dlFrRkJiMEpETEV0QlFVdHdSeXhOUVVGTloxUXNUMEZCVHl4WFFVRlhhRlFzUzBGQlN6SlRMRmRCUVZVc1IwRkJTWFpOTEV0QlFVdHdSeXhUUVVGVFFTeExRVUZMTWtrc1VVRkJVVU1zU1VGQlNTeERRVUZEY1VJc1VVRkJVU3hQUVVGUFF5eFJRVUZSTEVsQlFVbHNTeXhMUVVGTGJVY3NWMEZCVnl4elFrRkJjMEpETEV0QlFVdHdSeXhOUVVGTkxFOUJRVTlHTEVWQlFVVjFTaXhoUVVGaGNrb3NTMEZCU3pSR0xHVkJRV1VzVTBGQlV6VkdMRXRCUVV0RExGRkJRVkZwUXl4UFFVRlBORVlzUzBGQlN6bElMRXRCUVV0RExGRkJRVkZ6UlN4alFVRmpka1VzUzBGQlMwTXNVVUZCVVhWRkxHZENRVUZuUWl4SFFVRkhlRVVzUzBGQlMwTXNVVUZCVVRCRUxGbEJRVms0UkN4SFFVRkhNVWdzUlVGQlJVTXNUVUZCVFVNc1VVRkJVVEJFTEZkQlFWYzBSU3hGUVVGRk5Fc3NTMEZCUzBNc1RVRkJUWEJVTEV0QlFVdERMRkZCUVZGMVJTeG5Ra0ZCWjBKNFJTeExRVUZMY1ZRc1VVRkJVWFpVTEVWQlFVVkdMRVZCUVVVc2EwTkJRV3REU1N4TFFVRkxjVlFzVFVGQlRYcFVMRVZCUVVVc2QwTkJRWGREUlN4RlFVRkZkMVFzVVVGQlVYUlVMRXRCUVV0eFZDeFBRVUZQZWxRc1JVRkJSU3hKUVVGSlNTeExRVUZMUlN4SlFVRkpjVXNzVDBGQlQzcExMRWxCUVVsRkxFdEJRVXQxVkN4VlFVRlZMRmRCUVZjc1NVRkJTWHBVTEVWQlFVVnhWQ3hMUVVGTFF5eE5RVUZOY2xRc1JVRkJSV3RNTEZsQlFWbDRSQ3hIUVVGSE0wZ3NSVUZCUlhsSkxFZEJRVWRCTEVWQlFVVjZTU3hGUVVGRkxFVkJRVVV5U0N4SFFVRkhNVWdzUlVGQlJVVXNVVUZCVVhWRkxHVkJRV1Y2UlN4RlFVRkZjMVFzVFVGQlRYcExMRWxCUVVrc1VVRkJVU3hKUVVGSmJrSXNSVUZCUlRGSUxFVkJRVVZGTEZGQlFWRXdSQ3hYUVVGWExFdEJRVXM0UWl4UFFVRlBLMDRzYzBKQlFYTkNlbFFzUlVGQlJYZFVMRmxCUVZsNlRDeExRVUZMY2tNc1QwRkJUeXRPTEhOQ1FVRnpRbmhVTEV0QlFVdDFWQ3haUVVGWmRsUXNTMEZCU3pSUExFMUJRVTFzUWl4WFFVRlhOVVlzUlVGQlJXeENMRXRCUVV0RExFbEJRVWszUnl4TFFVRkxReXhSUVVGUk1FUXNWMEZCVnl4TFFVRkxNMFFzVFVGQlRVZ3NSVUZCUlRSUExGVkJRVlZuUml4UFFVRlBMRk5CUVZNelZDeEhRVUZITEU5QlFVOUZMRXRCUVV0QkxFdEJRVXMwVGl4UFFVRlBMRkZCUVZFc1VVRkJVVGxPTEVkQlFVZEZMRTFCUVUxSUxFVkJRVVUwVHl4VlFVRlZhVVlzVVVGQlVTeFhRVUZYTEU5QlFVOHhWQ3hMUVVGTGMxTXNXVUZCVnl4RlFVRkhkRk1zVFVGQlRVZ3NSVUZCUlRSUExGVkJRVlZyUml4UFFVRlBMRmRCUVZjc1QwRkJUek5VTEV0QlFVdHpVeXhaUVVGWExFVkJRVWQwVXl4TlFVRk5TQ3hGUVVGRk5FOHNWVUZCVlcxR0xFdEJRVXNzVjBGQlZ5eFBRVUZQTlZRc1MwRkJTekJVTEZWQlFWVXhWQ3hMUVVGTE1ra3NWVUZCVlROSkxFdEJRVXMyVkN4dlFrRkJiMEkzVkN4TFFVRkxNa2tzVVVGQlVVTXNTVUZCU1N4WFFVRlhOVWtzUzBGQlN6SkpMRkZCUVZGRExFbEJRVWtzUTBGQlEzRkNMRkZCUVZFc1ZVRkJWV3BMTEV0QlFVdDFSQ3hWUVVGVmRrUXNTMEZCU3poVUxHOUNRVUZ2UWpsVUxFdEJRVXQxUkN4UlFVRlJjVVlzU1VGQlNTeFhRVUZYTlVrc1MwRkJTM1ZFTEZGQlFWRnhSaXhKUVVGSkxFTkJRVU54UWl4UlFVRlJMRlZCUVZWcVN5eE5RVUZOU0N4RlFVRkZORThzVlVGQlZYTkdMRXRCUVVzc1YwRkJWeXhQUVVGUEwxUXNTMEZCU3pKVUxGTkJRVk16VkN4TFFVRkxNa2tzVTBGQlV6TkpMRXRCUVVzMlZDeHpRa0ZCYzBJM1ZDeExRVUZMTWtrc1VVRkJVVU1zU1VGQlNTeERRVUZEY1VJc1VVRkJVV3BMTEV0QlFVczJWQ3h6UWtGQmMwSTNWQ3hMUVVGTE5sUXNiMEpCUVc5Q0xFMUJRVTAzVkN4TFFVRkxkVVFzVTBGQlUzWkVMRXRCUVVzNFZDeHpRa0ZCYzBJNVZDeExRVUZMZFVRc1VVRkJVWEZHTEVsQlFVa3NRMEZCUTNGQ0xGRkJRVkZxU3l4TFFVRkxPRlFzYzBKQlFYTkNPVlFzUzBGQlN6aFVMRzlDUVVGdlFpeE5RVUZOT1ZRc1RVRkJUVWdzUlVGQlJUUlBMRlZCUVZWdVRpeExRVUZMTEZOQlFWTnRSeXhGUVVGRk1VZ3NSMEZCUnpCSUxFVkJRVVZCTEVkQlFVY3NSMEZCUnpkSUxFVkJRVVVyU0N4TFFVRkxMRU5CUVVNc1EwRkJReXhWUVVGVkxGRkJRVkVzUTBGQlF5eFRRVUZUTEZGQlFWRXNVMEZCVXpkSUxFVkJRVVZETEVkQlFVZERMRXRCUVV0RExGRkJRVkZ4UWl4TFFVRkxka0lzUlVGQlJTeE5RVUZOTUVnc1JVRkJSVEZJTEVWQlFVVXNTMEZCUzBNc1MwRkJTMjFMTEZGQlFWRXNUVUZCVFc1TExFdEJRVXR0U3l4UFFVRlBLMFFzUzBGQlMyeFBMRXRCUVV0RExGRkJRVkZ4UWl4TFFVRkxka0lzUlVGQlJTeFBRVUZQTUVnc1JVRkJSVEZJTEVWQlFVVXNTVUZCU1VNc1MwRkJTMjFMTEU5QlFVOHJSQ3hMUVVGTGJFOHNTMEZCUzBNc1VVRkJVWEZDTEV0QlFVdDJRaXhGUVVGRkxFMUJRVTBzUzBGQlMzRkhMRXRCUVV0d1J5eFBRVUZQTEVsQlFVbEdMRVZCUVVWR0xFVkJRVVU0Uml4UlFVRlBMRVZCUVVjc1IwRkJSekZHTEV0QlFVdERMRkZCUVZGeFFpeE5RVUZOZEVJc1MwRkJTMnRVTEdGQlFXRXNTVUZCU1ROTExFVkJRVVZrTEVWQlFVVjFUU3haUVVGWmJGVXNSVUZCUld0VkxGbEJRVmtzWVVGQllXeE5MRVZCUVVWTUxFVkJRVVZyUlN4VlFVRlZOMHdzUlVGQlJUWk1MRlZCUVZVc1lVRkJZVFZETEVWQlFVVjBRaXhGUVVGRmQwMHNVMEZCVTI1VkxFVkJRVVZ0VlN4VFFVRlRMR0ZCUVdGcVRDeEZRVUZGZGtJc1JVRkJSWGxOTEU5QlFVOXdWU3hGUVVGRmIxVXNUMEZCVHl4aFFVRmhjbFVzUlVGQlJVUXNSVUZCUlRoR0xGRkJRVThzUlVGQlJ6VkdMRVZCUVVVeVNDeEhRVUZITEU5QlFVODFTQ3hGUVVGRmJWVXNWMEZCVnl4VFFVRlRiRlVzUjBGQlIwUXNSVUZCUldkRExHTkJRV00zUWl4TFFVRkxNa2tzVVVGQlVYSkdMRlZCUVZNc1NVRkJTM3BFTEVWQlFVVm5ReXhoUVVGaExHVkJRV1ZvUXl4RlFVRkZaME1zWTBGQlkyaERMRVZCUVVWcFF5eFZRVUZWT1VJc1MwRkJTeXRDTEdGQlFXRXlUQ3hYUVVGWExGZEJRVmN4VGl4TFFVRkxNa2tzVVVGQlVYSkdMRk5CUVZNc2QwSkJRWGRDZWtRc1JVRkJSVzFETEc5Q1FVRnZRbXBETEVWQlFVVkRMRXRCUVV0cFZDeDNRa0ZCZFVJc1JVRkJSMnBVTEV0QlFVdHRReXhaUVVGWmJrTXNTMEZCU3poQ0xGRkJRVkZzUXl4SFFVRkZMRWxCUVV0RExFVkJRVVZwUXl4UlFVRlJha01zUlVGQlJXbERMRkZCUVZFc2IwTkJRVzlEYTBNc1UwRkJVMmhGTEV0QlFVdHpTeXhYUVVGWGRFc3NTMEZCUzNsSkxHZENRVUZuUWl4WlFVRlpla2tzUzBGQlN6aENMRkZCUVZFNFJ5eEpRVUZKTEdGQlFXRTFTU3hMUVVGTE9FSXNVVUZCVVRoSExFbEJRVWtzUTBGQlEzVk1MRlZCUVZVc1kwRkJZeXhIUVVGSGJsVXNTMEZCUzNsSkxHVkJRV1ZLTEdOQlFXTXNVMEZCVTJwRExFdEJRVXR3Unl4TlFVRk5MRWxCUVVsQkxFdEJRVXRuUWl4UlFVRlJhVThzVVVGQlVYQlFMRVZCUVVWclF5eGpRVUZqTEVsQlFVbDNSeXhGUVVGRmJrTXNTMEZCUzNCSExFdEJRVkIxU1N4RFFVRmhla2tzU1VGQlNYTkhMRXRCUVV0d1J5eE5RVUZOU0N4RlFVRkZPRXdzVTBGQlV5eFRRVUZUTjB3c1IwRkJSMFVzUzBGQlN5dENMR05CUVdNNFRTeGhRVUZoTjA4c1MwRkJTeXRDTEdOQlFXTXZRaXhMUVVGTE1ra3NVVUZCVVhGR0xGbEJRVmtzWjBWQlFXZEZhRThzUzBGQlN6aENMRk5CUVZNNVFpeExRVUZMT0VJc1VVRkJVV2xITEZGQlFWRXZTQ3hMUVVGTE9FSXNVVUZCVVhGUkxGVkJRVlYwVXl4RlFVRkZiVU1zYjBKQlFXOUNha01zUlVGQlJVTXNTMEZCUzJsVUxIZENRVUYxUWl4RlFVRkhhbFFzUzBGQlMyMURMRmxCUVZsdVF5eExRVUZMZVZNc1dVRkJWeXhGUVVGSE0wc3NSVUZCUlRGQ0xFdEJRVXR3Unl4TFFVRlFPRWdzUTBGQllXaEpMRWxCUVVselJ5eExRVUZMY0Vjc1RVRkJUVWdzUlVGQlJXOVZMRkZCUVZFc1UwRkJVMjVWTEVkQlFVZEVMRVZCUVVVclFpeFpRVUZaTlVJc1MwRkJTelJDTEZkQlFWYzVRaXhIUVVGRkxFdEJRVTFETEVWQlFVVkRMRXRCUVV0cFZDeDNRa0ZCZFVJc1JVRkJSMnBVTEV0QlFVdHRReXhaUVVGWmRFTXNSVUZCUlN0Q0xGbEJRVmsxUWl4TFFVRkxiVXNzVVVGQlVXNUxMRXRCUVV0dFN5eFBRVUZQTTBrc1MwRkJTeXhwUWtGQmFVSXhRaXhIUVVGSGFVb3NSVUZCUlRORExFdEJRVXR3Unl4TFFVRlFLMGtzUTBGQllXcEtMRWxCUVVselJ5eExRVUZMY0Vjc1RVRkJUVWdzUlVGQlJYRlZMRTFCUVUwc1UwRkJVM0JWTEVkQlFVZHJTaXhGUVVGRk5VTXNTMEZCUzNCSExFdEJRVkJuU2l4RFFVRmhiRW9zU1VGQlNYTkhMRXRCUVV0d1J5eE5RVUZOUVN4TFFVRkxiMVVzV1VGQldYaFZMRVZCUVVVd1FpeExRVUZMZWtJc1IwRkJSMGNzVFVGQlRVZ3NSVUZCUlRSUExGVkJRVlY1UlN4WFFVRlhMRmRCUVZkc1ZDeExRVUZMYjFVc1kwRkJZM0JWTEV0QlFVdHZWU3haUVVGWlF5eFJRVUZSY2xVc1MwRkJTM2xUTEZsQlFWY3NTVUZCU3pWVExFVkJRVVUwVHl4VlFVRlZMMG9zVFVGQlRTeFRRVUZUTlVVc1JVRkJSVU1zUjBGQlJ5eEpRVUZKUkN4RlFVRkZMRTlCUVU5RkxFdEJRVXNzU1VGQlNYbElMRWRCUVVjMVNDeEZRVUZGZVZVc1QwRkJVWHBWTEVWQlFVVjVWU3hQUVVGVmVsVXNSVUZCUlhsVkxFOUJRVXdzU1VGQllYaFZMRXRCUVVzeVNDeEZRVUZGTjBnc1JVRkJSU3haUVVGWlFTeEZRVUZGTEZsQlFWa3NRMEZCUXpKUExFbEJRVWw2VHl4RlFVRkZMRk5CUVZOclJTeFRRVUZUZVVRc1IwRkJSemRJTEVWQlFVVXNXVUZCV1N4RFFVRkRNazhzU1VGQlNYcFBMRVZCUVVVc1UwRkJVMnRGTEZOQlFWTjVSQ3hIUVVGSE5VZ3NSVUZCUlhsVkxFOUJRVTk0VlN4SFFVRkhNa2dzUlVGQlJTeEpRVUZKTlVnc1JVRkJSWGxWTEU5QlFVOTRWU3hIUVVGSE5rVXNUMEZCVDJsRExFdEJRVXR0U0N4TFFVRkxMRTFCUVUxb1R5eEZRVUZGUVN4RlFVRkZMRXRCUVVzc1NVRkJTU3hIUVVGSExFbEJRVWxHTEVWQlFVVjVWU3hQUVVGUGVGVXNSMEZCUjNsVkxGRkJRVkV4VlN4RlFVRkZlVlVzVDBGQlQzaFZMRWRCUVVjd1ZTeFpRVUZaTEVWQlFVVXNUVUZCVFRGVkxFbEJRVWtzVDBGQlQwUXNSVUZCUlhsVkxFOUJRVTk0VlN4SFFVRkhNbFVzVDBGQlQzcFZMRTFCUVUxSUxFVkJRVVUyVlN4cFFrRkJhVUlzUTBGQlEzSkpMRXRCUVVzc1NVRkJTWE5KTEZWQlFWVXNTVUZCU1VNc1RVRkJUU3hKUVVGSlF5eE5RVUZOTEVsQlFVbERMRkZCUVZFc1NVRkJTVU1zVlVGQlZTeEpRVUZKUXl4TlFVRk5MRWxCUVVsRExFOUJRVThzU1VGQlNVTXNUMEZCVHl4SlFVRkpReXhSUVVGUkxFbEJRVWxETEZGQlFWRXNTVUZCU1VNc1YwRkJWeXhKUVVGSlF5eFZRVUZWTEVsQlFVbERMRlZCUVZVc1MwRkJTekZXTEVWQlFVVTBUeXhWUVVGVmJrUXNVVUZCVVN4VFFVRlRlRXdzUlVGQlJVTXNSMEZCUjBFc1JVRkJSVUVzUjBGQlJ5eEhRVUZIUXl4TFFVRkxkMVlzYlVKQlFXMUNlRllzUzBGQlMzZFdMR2xDUVVGcFFpeEpRVUZKZWxZc1JVRkJSVFJMTEZWQlFWVTFTeXhGUVVGRk5Fc3NVVUZCVVROTExFdEJRVXN5U1N4VFFVRlROVWtzUlVGQlJUUkxMRkZCUVZGdVNpeExRVUZMTEhOQ1FVRnpRbnBDTEVWQlFVVTBTeXhSUVVGUmJrb3NTMEZCU3l4dlFrRkJiMEl6UWl4RlFVRkZORllzZFVKQlFYVkNNVllzUlVGQlJUUkxMRkZCUVZGdVNpeExRVUZMTEc5Q1FVRnZRbnBDTEVWQlFVVTBTeXhSUVVGUmNVUXNXVUZCV1dwUExFVkJRVVUwU3l4UlFVRlJia29zUzBGQlN5eHRRa0ZCYlVKQkxFdEJRVXNzYVVKQlFXbENMRTFCUVUxNFFpeExRVUZMZDFZc2FVSkJRV2xDZWxZc1JVRkJSVFJMTEZGQlFWRnVTaXhMUVVGTExIVkNRVUYxUW5GT0xHRkJRV0UzVHl4TFFVRkxkMVlzYVVKQlFXbENlbFlzUlVGQlJUUkxMRkZCUVZGdVNpeExRVUZMTEhkQ1FVRjNRbnBDTEVWQlFVVTBTeXhSUVVGUmNrZ3NVMEZCVXl4cFFrRkJhVUo0UkN4SFFVRkhNRUlzUzBGQlN5eHBRa0ZCYVVJc2FVSkJRV2xDTVVJc1IwRkJSMFVzUzBGQlMzZFdMR2xDUVVGcFFucFdMRVZCUVVVMFN5eFJRVUZSYmtvc1MwRkJTeXh6UWtGQmMwSnJUU3hYUVVGWExGZEJRVmN6VGl4RlFVRkZORXNzVVVGQlVYRkVMRmxCUVZscVR5eEZRVUZGTkVzc1VVRkJVVzVLTEV0QlFVc3NiVUpCUVcxQ1FTeExRVUZMTEdsQ1FVRnBRaXhOUVVGTmVrSXNSVUZCUlRSTUxGVkJRVlUxVEN4RlFVRkZORXdzV1VGQldUbE1MRVZCUVVVMlZTeHBRa0ZCYVVJMVZTeExRVUZMUkN4RlFVRkZORThzVlVGQlZXbElMR05CUVdNc1UwRkJVek5XTEVWQlFVVXdTQ3hIUVVGSExFbEJRVWxqTEVWQlFVVXNSVUZCUlZRc1JVRkJSU3hGUVVGRmFVSXNSVUZCUlN4RlFVRkZReXhGUVVGRkxFVkJRVVZ1U2l4RlFVRkZMRVZCUVN0dVFpeFBRVUZQTkVnc1JVRkJSVGRJTEVWQlFVVTRSaXhQUVVGMGIwSXNRMEZCUTJsUkxHVkJRV1VzUjBGQlIwTXNZMEZCWVN4SFFVRXJiVUp1VHl4SFFVRkhNVWdzUlVGQlJXbEpMRWRCUVVjc2RVSkJRVzV1UWl4VFFVRlhiRWtzUjBGQlJ6SklMRVZCUVVWdFR5eGxRVUZsT1ZZc1JVRkJSVzlKTEdOQlFXTnZRaXhWUVVGVmVFb3NSVUZCUlc5SkxHTkJRV052UWl4VlFVRlZlRW9zUlVGQlJVRXNSVUZCUlc5SkxHTkJRV052UWl4UlFVRlJMRWxCUVVrc1NVRkJTV1lzU1VGQlNVRXNSVUZCUlN4RlFVRkZWQ3hGUVVGRmFFa3NSVUZCUlN0V0xGRkJRVkU1VFN4RlFVRkZha29zUlVGQlJXZFhMRmxCUVdkblFteFhMRVZCUVVVc1VVRkJVVzlKTEVkQlFVY3NiVUpCUVc1blFpeFRRVUZYYkVrc1IwRkJSeXhKUVVGSmVVa3NTVUZCU1VFc1JVRkJSU3hGUVVGRk0wSXNTMEZCUzIxUUxFbEJRVWt2VFN4SFFVRkhjRU1zUzBGQlMyMVFMRWxCUVVsc1Z5eEpRVUZKSzBjc1MwRkJTMjFRTEVsQlFVa3ZUU3hIUVVGSGRrSXNSVUZCUld0UExHVkJRV1V6VFN4RlFVRkZMRVZCUVVWcVNpeEZRVUZGWlN4UlFVRlJiRUlzUlVGQlJXOVhMRTFCUVUwc2FVSkJRV2xDYWxjc1JVRkJSV1VzVVVGQlVXeENMRVZCUVVWdlZ5eE5RVUZOTEd0Q1FVRnJRbkJRTEV0QlFVdHRVQ3hKUVVGSmJGY3NSMEZCUnpSSUxFVkJRVVZyVHl4cFFrRkJhVUk1Vml4RlFVRkZMRVZCUVVWRkxFVkJRVVZsTEZGQlFWRnNRaXhGUVVGRmIxY3NUVUZCVFN4bFFVRmxhbGNzUlVGQlJXVXNVVUZCVVd4Q0xFVkJRVVZ2Vnl4TlFVRk5MSEZDUVVGM1UzQlhMRVZCUVVVc1VVRkJVVzlKTEVkQlFVY3NjMEpCUVd4VExGTkJRVmRzU1N4SFFVRkhMRWxCUVVsRExFVkJRVVVzU1VGQlNYZEpMRWxCUVVsNFNTeEhRVUZIUkN4RlFVRkZRU3hGUVVGRmIwa3NZMEZCWTI5Q0xGRkJRVkY0U2l4RlFVRkZiMGtzWTBGQlkyOUNMRkZCUVZFc1IwRkJSM2hLTEVkQlFVY3JWaXhSUVVGUkwwNHNSVUZCUldoSkxFVkJRVVZCTEVWQlFVVm5WeXhSUVVGUkwwMHNSMEZCUjI1RExFdEJRVXR0VUN4SlFVRkphRmNzUjBGQlJ6QklMRVZCUVVWclR5eG5Ra0ZCWjBJdlR5eExRVUZMYlZBc1NVRkJTV3BYTEVkQlFVY3lTQ3hGUVVGRmEwOHNhMEpCUVd0Q2NFNHNSVUZCUlN4RlFVRkZVeXhGUVVGRmFrb3NSVUZCUlVZc1JVRkJSVU1zVFVGQmJVbERMRWRCUVVkR0xFVkJRVVUwVHl4VlFVRlZkMGdzVVVGQlVTeFhRVUZYTEU5QlFVOXFWeXhMUVVGTE9FOHNVMEZCVXpsUExFdEJRVXMwVGl4UlFVRlJOVTRzUzBGQlMyOUtMRTFCUVUwc1EwRkJRME1zWVVGQldTeEpRVUZMY2tvc1MwRkJTekpKTEZOQlFWTXpTU3hMUVVGTE1ra3NVVUZCVVhkS0xGTkJRVk51VXl4TFFVRkxkVVFzVTBGQlUzWkVMRXRCUVV0MVJDeFJRVUZSTkU4c1UwRkJVMjVUTEV0QlFVdHhVeXhUUVVGVGNsTXNTMEZCUzNGVExGRkJRVkZHTEZOQlFWTnVVeXhMUVVGTGIxTXNZVUZCV1N4RlFVRkhjRk1zVFVGQlRVZ3NSVUZCUlhkSExHTkJRV04yUnl4RlFVRkZMRVZCUVVVc1YwRkJWeXhQUVVGUFFTeE5RVUZOUkN4RlFVRkZORllzY1VKQlFYRkNNVllzUlVGQlJTeEZRVUZGTEZkQlFWY3NUMEZCVDBFc1RVRkJUVVlzUlVGQlJYZEdMR1ZCUVdVc1IwRkJSM2hHTEVWQlFVVnhWeXhQUVVGUExGTkJRVk53Vnl4RlFVRkZReXhIUVVGSFJpeEZRVUZGZDBZc1pVRkJaWFpHTEVkQlFVZERMRWRCUVVkSUxFVkJRVVYxVnl4SFFVRkhReXhMUVVGTExGTkJRVk4wVnl4RlFVRkZReXhIUVVGSExFOUJRVTlCTEVWQlFVVkJMRWRCUVVjc1IwRkJSeXhKUVVGSlJpeEZRVUZGUXl4RlFVRkZRU3hIUVVGSExFZEJRVWRHTEVWQlFVVTRSaXhQUVVGUE0wWXNSVUZCUlN4RFFVRkRZeXhQUVVGUFlpeFRRVUZUU0N4RlFVRkZMRk5CUVZOM1Z5eHRRa0ZCYlVKRUxFdEJRVXRGTEZGQlFWRXNTVUZCU1VZc1MwRkJTMFlzVDBGQlR5eFZRVUZWTEVOQlFVTkxMR05CUVdNc1UwRkJVME1zWVVGQllTeFRRVUZUUXl4UlFVRlJMRXRCUVV0RExFOUJRVThzUzBGQlMwTXNaMEpCUVdVc1JVRkJSM3BWTEU5QlFVOTFSQ3hQUVVGUGFFUXNUMEZCVFN4RlFVRkhOVUlzVDBGQlR5eHBRa0ZCYVVKSkxGZEJRVmNzWlVGQlpVUXNVVUZCVVN4cFEwRkJhVU5ZTEZOQlFWTXNTVUZCU1VVc1UwRkJVeXhKUVVGSk1rUXNZVUZCV1N4RlFVRkhUaXhaUVVGWExFVkJRVWRETEdOQlFXRXNSVUZCUjBVc1lVRkJXU3hGUVVGSFVpeFRRVUZSTEVWQlFVZElMRlZCUVZVc1UwRkJVM0pETEdkQ1FVRmxMRVZCUVVjMlZpeFZRVUZWTEZOQlFWTTVWeXhIUVVGSExFbEJRVWxETEVWQlFVVkRMRXRCUVV0RExGRkJRVkYzVnl4VlFVRlZNVmNzUlVGQlJVUXNSVUZCUlc5UExFdEJRVXNzVjBGQlYzQlBMRVZCUVVWdlR5eExRVUZMTEZkQlFWZHdUeXhGUVVGRmIwOHNTMEZCU3l4UlFVRlJjRThzUlVGQlJXOVBMRXRCUVVzc1ZVRkJWU3huUWtGQlowSndUeXhGUVVGRmIwOHNTMEZCU3l4UlFVRlJMRTlCUVU5d1R5eEZRVUZGYjA4c1MwRkJTeXhWUVVGVkxFMUJRVTBzTWtKQlFUSkNjRThzUlVGQlJXOVBMRXRCUVVzc1VVRkJVU3hMUVVGTExFZEJRVWR3VHl4RlFVRkZLMWNzUzBGQlN5eFZRVUZWTEUxQlFVMXlWaXhMUVVGTExITkNRVUZ6UW5wQ0xFdEJRVXNyVnl4WFFVRlhMRmRCUVZjNVZ5eExRVUZMTWtrc1VVRkJVWEpHTEZOQlFWTXNZMEZCWTNSRUxFdEJRVXR2UWl4UFFVRlBhMVlzVDBGQlR5eHpRMEZCYzBOQkxFOUJRVThzYVVWQlFXbEZja2dzUzBGQlMycFFMRXRCUVV0RExGRkJRVkYxVnl4alFVRmplRThzUjBGQlJ5eFpRVUZaTEZkQlFWZG9TU3hMUVVGTFF5eFJRVUZSZVZjc1VVRkJVVEZYTEV0QlFVdERMRkZCUVZGNVZ5eFBRVUZQTVZjc1MwRkJTMjFMTEZGQlFWRnVTeXhMUVVGTGIwb3NVMEZCVTJoRUxFdEJRVXR3Unl4UFFVRlBaMFVzVTBGQlUyaEZMRXRCUVV0dlFpeFJRVUZSY0VJc1MwRkJTeXRYTEdGQlFXRlVMRTlCUVU4c2FVVkJRV2xGY2tnc1MwRkJTMnBRTEV0QlFVdERMRkZCUVZGelZ5eGxRVUZsZGxNc1UwRkJVMmhGTEV0QlFVdHZRaXhSUVVGUmNFSXNTMEZCUzI5Q0xFOUJRVTgwUXl4VFFVRlRhRVVzUzBGQlMzTkxMRmxCUVZrd1RTeFJRVUZSTEZkQlFWZG9XQ3hMUVVGTEsxY3NZVUZCWVd4T0xFbEJRVWtzY1VKQlFYRkNOMG9zUzBGQlMwVXNSMEZCUnl4dlFrRkJiMEpHTEV0QlFVdEZMRWxCUVVrNFNDeEhRVUZITEhGQ1FVRnhRbWhKTEV0QlFVdEZMRWRCUVVjc2IwSkJRVzlDUml4TFFVRkxSU3hIUVVGSExGZEJRVmRHTEV0QlFVdERMRkZCUVZGM1Z5eFJRVUZSZWxjc1MwRkJTME1zVVVGQlVYZFhMRkZCUVZGNlZ5eExRVUZMYlVzc1VVRkJVVGhOTEV0QlFVdHFXQ3hMUVVGTGJVc3NUMEZCVHpOSkxFdEJRVXNzZDBKQlFYZENlRUlzUzBGQlMwTXNVVUZCVVRCWExHZENRVUZuUWpOWExFdEJRVXR2U2l4VFFVRlRhRVFzUzBGQlMzQkhMRlZCUVZVc1UwRkJVMnRZTEdsQ1FVRnBRbkJZTEVWQlFVVnJTaXhIUVVGSExFbEJRVWxzU2l4RlFVRkZiMWNzVDBGQlR5eFJRVUZSTEVOQlFVTXpTQ3hKUVVGSkxFOUJRVTgwU1N4UlFVRlJMR3RDUVVGclFrTXNWMEZCVnl4UlFVRlJReXhWUVVGVkxFbEJRVWxETEZWQlFWVXNWVUZCVlVNc1kwRkJZU3hGUVVGSFF5eHpRa0ZCYzBJc1NVRkJTVU1zWjBKQlFXVXNSVUZCUjBNc2JVSkJRVzFDTEV0QlFVdERMR3RDUVVGclFpeExRVUZMUXl4blFrRkJaMElzUzBGQlMwTXNjMEpCUVhOQ0xFdEJRVXRETEcxQ1FVRnJRaXhGUVVGSE5WWXNUMEZCVDNWRUxFOUJRVTgxUlN4UFFVRlBMRzlDUVVGdlFqUkNMRTlCUVUwc1JVRkJSM2xDTEdGQlFWa3NSVUZCUjA0c1dVRkJWeXhGUVVGSFF5eGhRVUZoTEZOQlFWTkZMR0ZCUVZrc1JVRkJSMUlzVTBGQlVTeEZRVUZIU0N4VlFVRlZMRk5CUVZOeVF5eG5Ra0ZCWlN4RlFVRkhXaXhOUVVGTkxFOUJRVTlETEU5QlFVOHNUMEZCVDNkRExHVkJRV1VzUTBGQlF6QkVMRWxCUVVrc1IwRkJSME1zVFVGQlRTeEZRVUZGUXl4UFFVRlBMRWRCUVVkRExFdEJRVXNzUjBGQlIzTlNMRkZCUVZFc1YwRkJWeTlZTEV0QlFVdG5XU3hQUVVGUGFGa3NTMEZCUzJsWkxHRkJRV0VzUjBGQlIycFpMRXRCUVV0cldTeFpRVUZaTEVWQlFVVnNXU3hMUVVGTGJWa3NWVUZCVlN4VFFVRlRjbGtzUjBGQlJ5eEpRVUZKUXl4RlFVRkZNRWdzUjBGQlJ6TklMRVZCUVVWclNpeEZRVUZGYkVvc1NVRkJTVEJDTEV0QlFVc3NkMEpCUVhkQ2VrSXNSVUZCUlVRc1JVRkJSVzlQTEV0QlFVdHNUeXhMUVVGTFF5eFJRVUZSYzA4c1MwRkJTM1pQTEV0QlFVdERMRkZCUVZFeVdDeHBRa0ZCYVVJMVdDeExRVUZMUXl4UlFVRlJORmdzZFVKQlFYVkNMMWdzUlVGQlJXOVBMRXRCUVV0c1R5eExRVUZMUXl4UlFVRlJNbGdzYTBKQlFXdENOVThzUlVGQlJYWkVMRkZCUVZGMFJpeFRRVUZUU0N4TFFVRkxReXhSUVVGUk5GZ3NkMEpCUVhkQ09WZ3NSVUZCUlVRc1JVRkJSVzlQTEV0QlFVdHNUeXhMUVVGTFF5eFJRVUZSTWxnc2EwSkJRV3RDYmxFc1JVRkJSVE5JTEVWQlFVVnZUeXhMUVVGTGJFOHNTMEZCUzBNc1VVRkJVV3RZTEZWQlFWVXNWVUZCVlc1WUxFdEJRVXRuV1N4UFFVRlBkbEVzUzBGQlMzcElMRXRCUVV0bldTeFBRVUZQZGxFc1IwRkJSeXhKUVVGSmVrZ3NTMEZCUzJkWkxFOUJRVTkyVVN4SFFVRkhORWNzUzBGQlN5eERRVUZEUlN4SlFVRkplRThzUlVGQlJYRlpMRTFCUVUxMFdTeEZRVUZGYjA4c1MwRkJTMnhQTEV0QlFVdERMRkZCUVZGdFdDeGhRVUZoTEVkQlFVZHBRaXhaUVVGWmNsa3NTMEZCUzBNc1VVRkJVVEJZTEcxQ1FVRnRRamRZTEVWQlFVVnZUeXhMUVVGTGJFOHNTMEZCUzBNc1VVRkJVVEJZTEcxQ1FVRnRRamRZTEVWQlFVVnZUeXhMUVVGTGJFOHNTMEZCUzBNc1VVRkJVVEJZTEcxQ1FVRnRRaXhQUVVGUExGTkJRVk16V0N4TFFVRkxReXhSUVVGUmJWZ3NXVUZCV1hSWUxFVkJRVVUwVHl4WFFVRlhMRk5CUVZNMVR5eEZRVUZGTUVJc1MwRkJTeXh4UWtGQmNVSnBSeXhIUVVGSE0wZ3NSVUZCUlRCQ0xFdEJRVXNzWjBKQlFXZENlRUlzUzBGQlMyZFpMRTlCUVU5MlVTeEhRVUZIVFN4UFFVRlBMRXRCUVVzelFpeExRVUZMY0Vjc1RVRkJUVUVzUzBGQlN6SlBMR3RDUVVGclFqTlBMRXRCUVVzeVR5eHBRa0ZCYVVJMVJ5eFJRVUZSYVVJc1JVRkJSWEpDTEV0QlFVc3pTQ3hMUVVGTE1rOHNhVUpCUVdsQ0xGTkJRVk0zVHl4RlFVRkZReXhIUVVGSFF5eExRVUZMYlZrc1ZVRkJWWEJaTEVsQlFVbHhSeXhMUVVGTGNFY3NUMEZCVHl4SlFVRkpLMGtzUlVGQlJTeFRRVUZUYWtvc1JVRkJSVU1zUlVGQlJUQklMRVZCUVVWakxFZEJRVWNzU1VGQlNWTXNSVUZCUlN4bFFVRmxiRW9zUlVGQlJTeEpRVUZKUXl4SFFVRkhaMGtzVDBGQlR5eERRVUZETEVsQlFVbEVMRVZCUVVWclFpeEZRVUZGTEZOQlFWTXNRMEZCUXpsSkxFZEJRVWNzWTBGQlkwb3NSVUZCUlN4SlFVRkpReXhGUVVGRmFVc3NUVUZCVFN4M1FrRkJkMEoyUXl4RlFVRkZMR1ZCUVdVelNDeEZRVUZGTEZkQlFWY3NUVUZCVFRoSkxFbEJRVWtzUTBGQlF6QlFMR1ZCUVdWMFdTeExRVUZMUXl4UlFVRlJjVmdzVlVGQlZYQk9MRkZCUVZFelFpeEZRVUZGTEVWQlFVVXNSVUZCUlRsRkxFOUJRVTluUlN4RlFVRkZla2dzUzBGQlMydFpMR05CUVdNc1NVRkJTV3hWTEZOQlFWTm9SU3hMUVVGTFowSXNVMEZCVXl4UFFVRlBhRUlzUzBGQlN6QldMR05CUVdNMVRpeEhRVUZIUlN4SFFVRkhMRFpDUVVFMlFpeFRRVUZUYkVrc1IwRkJSeXhqUVVGalFTeEZRVUZGTmtZc1MwRkJTek5HTEV0QlFVdDFXU3hWUVVGVkxGRkJRVkVzWlVGQlpYcFpMRVZCUVVVMlJpeE5RVUZOTTBZc1MwRkJTM1ZaTEZWQlFWVXNVMEZCVTI1VExFdEJRVXR3Unl4UFFVRlBaMG9zUlVGQlJTeFRRVUZUTEVOQlFVTTVTU3hIUVVGSExHOUNRVUZ2UWtvc1JVRkJSU3hKUVVGSlF5eEZRVUZGYVVzc1RVRkJUU3h2UWtGQmIwSjJReXhGUVVGRkxGVkJRVlVzVFVGQlRYZElMRXRCUVV0cVVDeExRVUZMWjFrc1QwRkJUMnhaTEVkQlFVZERMRWRCUVVkeFdTeFBRVUZQY0ZFc1IwRkJSeXhaUVVGWkxGZEJRVmRuUWl4RlFVRkZhRW9zVFVGQlRYZFpMRmxCUVZrc1kwRkJZM2hWTEZOQlFWTm9SU3hMUVVGTGVWa3NjVUpCUVhGQ2FGSXNSMEZCUjBzc1JVRkJSWGRFTEZGQlFWRXNRMEZCUTNCQ0xGRkJRVkVzUjBGQlJ6TkNMRVZCUVVVc1JVRkJSWFpKTEV0QlFVdERMRkZCUVZGdldDeFhRVUZYZGxBc1NVRkJTVEZDTEV0QlFVdHdSeXhOUVVGTlFTeExRVUZMTUZrc1kwRkJZeXhUUVVGVE5Wa3NSMEZCUnl4SlFVRkpReXhGUVVGRlowY3NVMEZCVXpSTExHTkJRV01zUzBGQlN6VlJMRVZCUVVVMFdTeExRVUZMTjFrc1JVRkJSVU1zUlVGQlJUWklMR0ZCUVdFc1YwRkJWemxJTEVWQlFVVTRXU3hWUVVGVk9Wa3NSVUZCUlhOUExGbEJRVmtzUzBGQlN5eEpRVUZKY2trc1UwRkJVemhMTEV0QlFVdHlSeXhaUVVGWmVrc3NSMEZCUjBFc1JVRkJSVGhaTEZOQlFWTXNTVUZCU1M5UkxFVkJRVVVzVTBGQlV5OUlMRVZCUVVVd1NDeEZRVUZGTTBnc1JVRkJSWGxKTEVkQlFVY3NTVUZCU1ZRc1JVRkJSV2xDTEVWQlFVVm9TaXhGUVVGRk1FZ3NSVUZCUlROSUxFVkJRVVY1U1N4SFFVRkhWQ3hGUVVGRmVFVXNVMEZCVXl4elFrRkJjMEl3Uml4RlFVRkZMR0ZCUVdGb1NpeExRVUZMWjFrc1QwRkJUMnBaTEVkQlFVY3dTQ3hIUVVGSE9FY3NTVUZCU1N4UlFVRlJOVWNzUzBGQlN5eFhRVUZYTEVsQlFVazNTQ3hGUVVGRkxFbEJRVWxuV2l4TlFVRk5hRm9zUlVGQlJXbGFMRTlCUVU4c1YwRkJWMnBTTEVWQlFVVnJSeXhaUVVGWkxITkNRVUZ6UW14SExFVkJRVVZqTEVsQlFVa3NRMEZCUTI5UkxHZENRVUZuUWl4UlFVRlJhRm9zUzBGQlMyZFpMRTlCUVU5cVdTeEhRVUZITUVnc1IwRkJSemhITEVsQlFVa3NVVUZCVVc1SkxFdEJRVXR3Unl4TlFVRk5SaXhGUVVGRmJWb3NVVUZCVVN4WFFVRlhibElzUlVGQlJXdEhMRmxCUVZrc2MwSkJRWE5DYkVjc1JVRkJSWGhGTEZOQlFWTXNlVUpCUVhsQ09FTXNTMEZCUzNCSExFMUJRVTFHTEVWQlFVVjVUeXhKUVVGSmRrOHNTMEZCUzJkWkxFOUJRVTlxV1N4SFFVRkhNRWdzUjBGQlJ6aEhMRXRCUVV0dVNTeExRVUZMY0Vjc1VVRkJVVzlITEV0QlFVdHdSeXhOUVVGTlFTeExRVUZMZFZrc1ZVRkJWU3hUUVVGVGVsa3NSMEZCUnl4SlFVRkpReXhGUVVGRk1FZ3NSVUZCUldNc1JVRkJSU3hIUVVGSExGRkJRVkY2U1N4RlFVRkZReXhGUVVGRlF5eExRVUZMYVZrc1lVRkJZV1FzVVVGQlVUVlBMRWRCUVVkQkxFVkJRVVYyU1N4TFFVRkxhVmtzWVVGQllTOVlMRTFCUVUwc1VVRkJVVW9zU1VGQlNTeEZRVUZGTEVsQlFVbEZMRXRCUVV0bldTeFBRVUZQYWxrc1IwRkJSMmRKTEU5QlFVOHNSVUZCUlN4RlFVRkZVU3hGUVVGRkxFVkJRVVYyU1N4TFFVRkxaMWtzVDBGQlQycFpMRWRCUVVkblNTeFBRVUZQTEVWQlFVVlJMRTFCUVUwc1EwRkJReXhIUVVGSGRra3NTMEZCUzIxTExFOUJRVTl3U3l4RlFVRkZReXhMUVVGTGJVc3NUMEZCVHpOSkxFdEJRVXNzYzBKQlFYTkNLMGNzUlVGQlJYWkpMRXRCUVV0dFN5eFBRVUZQTTBrc1MwRkJTeXh4UWtGQmNVSXNRMEZCUXl4SlFVRkplRUlzUzBGQlN6SlBMRzFDUVVGdFFqTlBMRXRCUVVzeVR5eHBRa0ZCYVVJMVJ5eFBRVUZQTEU5QlFVOW9TU3hGUVVGRmFVb3NSVUZCUldoS0xFdEJRVXN5VHl4cFFrRkJhVUlzU1VGQlNXNU9MRXRCUVVzc2MwSkJRWE5DSzBjc1JVRkJSVk1zUlVGQlJXaEtMRXRCUVVzeVR5eHBRa0ZCYVVJc1NVRkJTVzVPTEV0QlFVc3NhVUpCUVdsQ2VFSXNTMEZCUzJkWkxGRkJRVkZvV1N4TFFVRkxaMWtzVDBGQlQycFpMRWxCUVVscFNpeEZRVUZGTEhORVFVRnpSRW9zU1VGQlNTeERRVUZEY1VJc1VVRkJVU3hGUVVGRmFrc3NTMEZCUzJkWkxFOUJRVTlxV1N4SFFVRkhaMGtzVDBGQlR5eFJRVUZSTEZOQlFWTnBRaXhGUVVGRkxHVkJRV1ZxU2l4RlFVRkZMRmxCUVZsblNTeFJRVUZSYVVJc1JVRkJSU3hsUVVGbGFrb3NSVUZCUlN4WlFVRlphVThzV1VGQldTeGpRVUZqYWs4c1JVRkJSU3haUVVGWmRVd3NVVUZCVVN4RFFVRkRjRUlzVVVGQlVTeEhRVUZITEZGQlFWRndTeXhGUVVGRkxFVkJRVVZGTEV0QlFVdERMRkZCUVZGdldDeFhRVUZYY2xnc1MwRkJTMmxaTEdGQlFXRXNRMEZCUTJRc1VVRkJVWEJZTEVWQlFVVkhMRWRCUVVkeFNTeEhRVUZIVXl4RlFVRkZMR1ZCUVdWcVNpeEZRVUZGTEVsQlFVbDNTU3hIUVVGSFVpeFBRVUZQYVVJc1JVRkJSU3hsUVVGbGFrb3NSVUZCUlN4SlFVRkpkMGtzUjBGQlIycEdMRk5CUVZNc1kwRkJZM1pFTEVWQlFVVXNXVUZCV1RaSkxFbEJRVWtzUTBGQlEyNUdMRTlCUVU5NlJDeExRVUZMYTFrc1kwRkJZMmhQTEZGQlFWRXNTVUZCU1c5Q0xGRkJRVkVzUTBGQlEzQkNMRkZCUVZFc1IwRkJSeXhSUVVGUmNFc3NSVUZCUlN4RlFVRkZSU3hMUVVGTFF5eFJRVUZSYjFnc1YwRkJWM1pRTEVWQlFVVXZTQ3hGUVVGRmQwa3NSMEZCUlN4RlFVRkhMRk5CUVZONlNTeEhRVUZITWtnc1JVRkJSVEZJTEVWQlFVVkVMRVZCUVVWNVNTeEZRVUZGVXl4RlFVRkZMRFJDUVVFMFFtZEdMRmxCUVZrc2JVSkJRVzFDYUVZc1JVRkJSU3h4UWtGQmNVSjJRaXhGUVVGRkxFbEJRVWt6U0N4SFFVRkhkMFFzVTBGQlV5eFZRVUZWZEVRc1MwRkJTM1ZZTEdWQlFXVjJXQ3hMUVVGTFoxa3NUMEZCVDJwWkxFbEJRVWtzUlVGQlJVTXNTMEZCUzJkWkxFOUJRVTlxV1N4SFFVRkhaMGtzVVVGQlVTOUlMRXRCUVVzeVNTeFJRVUZSY2tZc1UwRkJVeXd3UWtGQk1FSjBSQ3hMUVVGTGRWZ3NZVUZCWVRsTkxFdEJRVXNzTWtKQlFUSkNkMFVzUzBGQlMycFFMRXRCUVV0bldTeFBRVUZQYWxrc1IwRkJSMmRKTEZGQlFWRXZTQ3hMUVVGTGRWZ3NZVUZCWVRsTkxFdEJRVXNzSzBKQlFTdENkMFVzUzBGQlN6RkhMRVZCUVVVc1NVRkJTWFpKTEV0QlFVc3lTU3hSUVVGUmNVWXNXVUZCV1N3eVFrRkJNa0pvVHl4TFFVRkxaMWtzVDBGQlQycFpMRWxCUVVsRExFdEJRVXRuV1N4UFFVRlBhbGtzUjBGQlIyZEpMRTlCUVU4c1NVRkJTVkVzUjBGQlIwRXNSMEZCU1N4SFFVRkhka2tzUzBGQlMyZFpMRTlCUVU5cVdTeEhRVUZIWjBrc1QwRkJUeXhGUVVGRkxFVkJRVVZSTEVWQlFVVXNSVUZCUlhaSkxFdEJRVXRuV1N4UFFVRlBhbGtzUjBGQlIyZEpMRTlCUVU4c1JVRkJSVkVzUlVGQlJWTXNSVUZCUlN4bFFVRmxha29zUlVGQlJTeEpRVUZKZDBrc1IwRkJSMUlzVVVGQlVVUXNSVUZCUlM5SUxFVkJRVVYzU1N4SFFVRkZMRWRCUVVjc1MwRkJUWFpKTEV0QlFVdERMRkZCUVZFMldDeHRRa0ZCYlVJNVR5eEZRVUZGZGtRc1VVRkJVWFZETEVkQlFVY3NUMEZCVHl4WFFVRlhhRWtzUzBGQlMzVlpMRlZCUVZVc1UwRkJVMjVUTEV0QlFVdHdSeXhSUVVGUk5GY3NWVUZCVlN4VFFVRlRPVmNzUjBGQlIwVXNTMEZCUzIxWkxGZEJRVmR1V1N4TFFVRkxiVmtzVlVGQlZYSlpMRWxCUVVsbldDeFhRVUZYTEZkQlFWYzVWeXhMUVVGTGExb3NhMEpCUVd0Q2JGRXNSVUZCUlN3eVEwRkJNa05vUml4VFFVRlRhRVVzUzBGQlN6SkpMRk5CUVZNelNTeExRVUZMYlZvc1owSkJRV2RDYmxFc1JVRkJSU3d3UTBGQk1FTm9RaXhIUVVGSExGbEJRVmtzVjBGQlYyaEpMRXRCUVV0MVdTeFZRVUZWTEZOQlFWTnVVeXhMUVVGTGNFY3NUMEZCVDBFc1MwRkJTMjlhTEdkQ1FVRm5RbkJSTEVWQlFVVXNNRU5CUVRCRGFFSXNSMEZCUnl4WlFVRlpMRmRCUVZkb1NTeExRVUZMZFZrc1ZVRkJWU3hUUVVGVGJsTXNTMEZCUzNCSExFOUJRVTlCTEV0QlFVdDVXU3h2UWtGQmIwSjZVQ3hGUVVGRkxEWkRRVUUyUTJoS0xFdEJRVXRyV2l4clFrRkJhMEl6VHl4UFFVRlBka3NzUzBGQlMyMWFMR2xDUVVGcFFqVlBMRTlCUVU5MlN5eExRVUZMZVZrc2NVSkJRWEZDYkU4c1QwRkJUM1pMTEV0QlFVdHZXaXhwUWtGQmFVSndXaXhMUVVGTFF5eFJRVUZSZDFnc2FVSkJRV2xDZWxnc1MwRkJTM2xZTEdWQlFXVjZUeXhGUVVGRkxGTkJRVk1zUTBGQlEyZENMRTFCUVUwc2RVTkJRWFZEYUVjc1UwRkJVMmhGTEV0QlFVc3lTU3hUUVVGVE5FSXNUMEZCVDNaTExFdEJRVXRETEZGQlFWRjVXQ3h0UWtGQmJVSXhUeXhGUVVGRkxGTkJRVk1zUTBGQlEyZENMRTFCUVUwc2IwTkJRVzlEYVVZc1MwRkJTMnBRTEV0QlFVdERMRkZCUVZGNVdDeHZRa0ZCYjBJc1RVRkJUVzVPTEU5QlFVOTJRaXhGUVVGRkxGTkJRVk1zUTBGQlEyZENMRTFCUVUwc2NVTkJRWEZEYUVNc1IwRkJSeXhaUVVGWkxGZEJRVmNzU1VGQlNXeEpMRVZCUVVWQkxFVkJRVVZGTEV0QlFVdG5XU3hQUVVGUGFGa3NTMEZCUzJsWkxHRkJRV0ZrTEZOQlFWTnVXQ3hMUVVGTGFWa3NZVUZCWVM5WUxFbEJRVWx0V1N4aFFVRmhjbGtzUzBGQlN6SkpMRkZCUVZFNFFpeExRVUZMTEdWQlFXVjZTeXhMUVVGTGFWa3NZVUZCWVdRc1VVRkJVU3haUVVGWkxFZEJRVWQ2VHl4TlFVRk5jMUVzWjBKQlFXZENNMUlzVFVGQlRTeEhRVUZITEVkQlFVZEZMRkZCUVZFc1VVRkJVU3hKUVVGSmRrZ3NTMEZCU3pCWkxHTkJRV00xV1N4SlFVRkpjMGNzUzBGQlMzQkhMRkZCUVZGQkxFdEJRVXRETEZGQlFWRnpXQ3hsUVVGbGRsZ3NTMEZCUzNWWUxHRkJRV0YyVHl4RlFVRkZMRk5CUVZNc1EwRkJRMmRDTEUxQlFVMHNhVU5CUVdsRGNWQXNXVUZCV1hKYUxFdEJRVXQ1V1N4eFFrRkJjVUo2V1N4TFFVRkxkVmdzWVVGQllXaE9MRTlCUVU5MlFpeEZRVUZGTEZWQlFWVXNRMEZCUTJkQ0xFMUJRVTBzWjBOQlFXZERUeXhQUVVGUGRrSXNSVUZCUlN4WFFVRlhhVWNzUzBGQlMycFFMRXRCUVV0RExGRkJRVkYxV0N4M1FrRkJkMEpxVGl4UFFVRlBka0lzUlVGQlJTeFZRVUZWTEVOQlFVTm5RaXhOUVVGTkxEaENRVUU0UW1kT0xGRkJRVkVzVjBGQlYyaFBMRVZCUVVWcVJDeFZRVUZWYVVNc1IwRkJSeXh2UWtGQmIwSm9TU3hMUVVGTFJTeEhRVUZITEZOQlFWTktMRWRCUVVjc1NVRkJTVUVzUlVGQlJYbFRMRk5CUVZOMlV5eExRVUZMZFZrc1ZVRkJWU3hSUVVGUkxFbEJRVWw2V1N4RlFVRkZlVk1zVTBGQlUzWlRMRXRCUVV0MVdTeFZRVUZWTEZOQlFWTnVVeXhMUVVGTGNFY3NUMEZCVDBFc1MwRkJTM1ZaTEZWQlFWVXNVMEZCVTJVc1UwRkJVeXhYUVVGWGRGRXNSVUZCUldwRUxGVkJRVlU0UkN4SlFVRkpMRzlDUVVGdlFqZEtMRXRCUVV0RkxFdEJRVXR4V2l4cFFrRkJhVUlzVjBGQlYzWmFMRXRCUVVzeVNTeFJRVUZST0VJc1MwRkJTeXg1UWtGQmVVSTNRaXhKUVVGSkxGVkJRVlVzVFVGQlRTeFRRVUZUTkZFc2EwSkJRV3RDTVZvc1JVRkJSV3RLTEVkQlFVY3NTVUZCU1d4S0xFVkJRVVZ2Vnl4UFFVRlBMRk5CUVZNc1EwRkJRM1ZFTEUxQlFVMHNTMEZCUzBNc1QwRkJUU3hGUVVGSFF5eGhRVUZoTEVkQlFVZHlWaXhWUVVGVkxFbEJRVWs1UWl4WFFVRlhMRU5CUVVOS0xFVkJRVVVzVVVGQlVVTXNSVUZCUlN4UFFVRlBSaXhUUVVGVExFTkJRVU5ETEVWQlFVVXNSMEZCUjBNc1JVRkJSU3hKUVVGSmRWZ3NiMEpCUVc5Q0xFTkJRVU5ETEVsQlFVa3NRMEZCUTNwWUxFVkJRVVVzUlVGQlJVTXNSVUZCUlN4SFFVRkhlVmdzU1VGQlNTeERRVUZETVZnc1JVRkJSU3hIUVVGSFF5eEZRVUZGTEV0QlFVdElMRTlCUVU5MVJDeFBRVUZQYUVRc1QwRkJUU3hGUVVGSFZ5eFZRVUZWTEZOQlFWTlRMR0ZCUVdFc1RVRkJUVW9zVDBGQlR5eExRVUZMYzFVc1VVRkJVU3hYUVVGWEwxZ3NTMEZCU3l0YUxITkNRVUZ6UWk5UkxFVkJRVVYwUkN4UFFVRlBMRWRCUVVjeFJpeExRVUZMUXl4UlFVRlJhME1zVlVGQlZXNURMRXRCUVV0bllTeHhRa0ZCY1VJc1YwRkJWeXhKUVVGSmJHRXNSVUZCUld0S0xFVkJRVVYyUkN4UlFVRlJaME1zUlVGQlJUTklMRVZCUVVWTExGRkJRVkZNTEVWQlFVVk5MRk5CUVZOS0xFdEJRVXRETEZGQlFWRnJReXhUUVVGVE5rY3NSVUZCUlhSRUxFOUJRVThzUjBGQlJ6RkdMRXRCUVVzcldpeDFRa0ZCZFVJdlVTeEZRVUZGY2tJc1MwRkJTek5JTEV0QlFVdERMRkZCUVZFeVdpeHZRa0ZCYjBJc1UwRkJVemxhTEVWQlFVVkRMRWRCUVVjc1IwRkJSekJJTEVkQlFVY3pTQ3hGUVVGRkxFOUJRVTlGTEV0QlFVdERMRkZCUVZGclF5eFRRVUZUY0VNc1IwRkJSU3hIUVVGSmNVY3NTMEZCUzNCSExFOUJRVTlCTEV0QlFVdERMRkZCUVZFeVF5eGxRVUZsTEVOQlFVTXdSQ3hKUVVGSmRFY3NTMEZCUzBNc1VVRkJVV3RETEZOQlFWTkZMRVZCUVVWclJTeE5RVUZOZGtjc1MwRkJTME1zVVVGQlVXdERMRk5CUVZORExFVkJRVVZ2UlN4UFFVRlBlRWNzUzBGQlMwTXNVVUZCVVd0RExGTkJRVk5GTEVWQlFVVnZSU3hMUVVGTGVrY3NTMEZCUzBNc1VVRkJVV3RETEZOQlFWTkRMRWxCUVVsd1F5eExRVUZMUXl4UlFVRlJaU3h0UWtGQmJVSm5TU3hKUVVGSmFFb3NTMEZCUzBNc1VVRkJVV1VzVVVGQlVXaENMRXRCUVV0RExGRkJRVkZsTEZGQlFWRnBXaXhSUVVGUkwwd3NTMEZCU3l4TFFVRkxMRXRCUVV0c1JpeEZRVUZGZGtRc1VVRkJVWFZETEVkQlFVY3NLMEpCUVN0Q2FFa3NTMEZCUzBVc1IwRkJSeXhUUVVGVFNpeEhRVUZIUlN4TFFVRkxORTRzVVVGQlVUVk9MRXRCUVV0bllTeDNRa0ZCZDBJMVZDeExRVUZMY0Vjc1QwRkJUMEVzUzBGQlN5dE1MRkZCUVZFclN5eFhRVUZYTEZkQlFWYzVWeXhMUVVGTE1ra3NVVUZCVVhKR0xGTkJRVk1zYTBOQlFXdERkRVFzUzBGQlMwTXNVVUZCVVhkYUxFOUJRVThzVTBGQlUzcGFMRXRCUVVzeVNTeFJRVUZSYmtnc1MwRkJTeXgxUWtGQmRVSjRRaXhMUVVGTFF5eFJRVUZSZFVNc1YwRkJWMG9zUlVGQlJTeEpRVUZKY0VNc1MwRkJTME1zVVVGQlVYVkRMRmRCUVZkSUxFbEJRVWt5VlN4UlFVRlJMRmRCUVZkb1dDeExRVUZMUXl4UlFVRlJlVm9zVVVGQlVURmFMRXRCUVV0bllTeDFRa0ZCZFVKb1VpeEZRVUZGY2tJc1MwRkJTM0ZDTEVWQlFVVXNaMEpCUVdkQ0xGTkJRVk5zU2l4RlFVRkZReXhKUVVGSlFTeEZRVUZGYVVvc1JVRkJSV3BLTEVsQlFVbHRUeXhMUVVGTExFOUJRVTlzVHl4TFFVRkxSU3hKUVVGSlNDeEZRVUZGZVVJc1MwRkJTeXg1UWtGQmVVSjRRaXhMUVVGTFF5eFJRVUZSZFVNc1YwRkJWMG9zUlVGQlJTeEpRVUZKY0VNc1MwRkJTME1zVVVGQlVYVkRMRmRCUVZkSUxFbEJRVWx5UXl4TFFVRkxReXhSUVVGUmVWb3NUMEZCVHpOYUxFVkJRVVY1UWl4TFFVRkxMRkZCUVZFMFNDeE5RVUZOTEVOQlFVTkRMR0ZCUVZrc1RVRkJUMnBFTEV0QlFVdHdSeXhUUVVGVGEyRXNXVUZCV1N4WFFVRlhMRWxCUVVsd1lTeEZRVUZGZVVrc1JVRkJSU3hIUVVGSExFbEJRVWw2U1N4TFFVRkxhMG9zUlVGQlJYSkNMRXRCUVV0eFFpeEZRVUZGTEdkQ1FVRm5RaXhUUVVGVGJFb3NSVUZCUlVNc1IwRkJSeXhKUVVGSk1FZ3NSMEZCUnpGSUxFVkJRVVZwU2l4RlFVRkZha29zU1VGQlNYbENMRXRCUVVzc2QwSkJRWGRDSzBjc1JVRkJSV1FzUzBGQlMyTXNSVUZCUldRc1IwRkJSeXhKUVVGSll5eEZRVUZGWkN4SFFVRkhORWNzUzBGQlMzUlBMRXRCUVV0M1NTeEZRVUZGTEVOQlFVTXNTVUZCU1hoSkxFVkJRVVZFTEVWQlFVVXJSaXhOUVVGTkxFdEJRVXNzUjBGQlJ6QkRMRVZCUVVWNlNTeEhRVUZIY1dFc1ZVRkJWU3hKUVVGSk1WTXNSVUZCUlVzc1JVRkJSU3hGUVVGRkxFbEJRVWxNTEV0QlFVdGpMRVZCUVVWNlNTeEhRVUZITEVOQlFVTXNTVUZCU1dsS0xFVkJRVVZETEVWQlFVVlVMRVZCUVVWNlNTeEhRVUZITWtnc1NVRkJTWE5DTEVWQlFVVklMRWxCUVVrc1ZVRkJWVGRKTEVWQlFVVXJTQ3hIUVVGSFFTeEhRVUZIYVVJc1JVRkJSVllzWTBGQlkzSkpMRXRCUVV0RExGRkJRVkV3V2l4blFrRkJaMEpLTEdsQ1FVRnBRaXhYUVVGWGRsb3NTMEZCUzJsWExGVkJRVlZxVnl4TFFVRkxReXhSUVVGUmFXRXNXVUZCV1RsVUxFdEJRVXR3Unl4TlFVRk5iMkVzVjBGQlZ5eFRRVUZUY21Fc1JVRkJSVEJJTEVkQlFVY3NiVUpCUVcxQ05GTXNVVUZCVVVFc1QwRkJUME1zU1VGQlNVUXNUMEZCVHl4RFFVRkRMRlZCUVZVc1UwRkJVM1poTEVkQlFVY3NUMEZCVDBNc1JVRkJSWEZYTEV0QlFVc3pUeXhGUVVGRk0wZ3NTMEZCU3l4cFFrRkJhVUo1WVN4UlFVRlJRU3hQUVVGUFF5eFJRVUZSUkN4UFFVRlBReXhSUVVGUmVtRXNSVUZCUlhGWExFdEJRVXN6VHl4RlFVRkZaMVFzVVVGQlVTeFhRVUZYTVdFc1JVRkJSWEZYTEV0QlFVc3pUeXhGUVVGRk1VZ3NSVUZCUlhWWExGRkJRWEpOTEVOQlFUaE5kRmNzUzBGQlN5eFRRVUZUUml4SFFVRkhMRWxCUVVsRExFVkJRVVZLTEZsQlFWbEhMRWRCUVVjc1UwRkJTU3hKUVVGVGRWY3NiMEpCUVc5Q1FTeHZRa0ZCYjBKQkxHMUNRVUZ0UW5SWExFVkJRVVZFTEVkQlFVY3NUVUZCVFVFc1IwRkJSelJoTEZGQlFWRjRSeXhOUVVGTmNGVXNSMEZCUnl4VFFVRkpMRWxCUVZOdldDeHJRa0ZCYTBKQkxHdENRVUZyUWtFc2FVSkJRV2xDYmxnc1JVRkJSVVFzUjBGQlJ5eE5RVUZOUVN4SFFVRkhOR0VzVVVGQlVYaEhMRTFCUVUxd1ZTeEhRVUZITEZOQlFVa3NTVUZCVXpCYUxHMUNRVUZ0UWtFc2JVSkJRVzFDUVN4clFrRkJhMEo2V2l4RlFVRkZSQ3hIUVVGSExFMUJRVTFCTEVkQlFVYzBZU3hSUVVGUmVFY3NUVUZCVFhCVkxFZEJRVWNzVDBGQlQwTWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YzNSaFoybHVaeTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5cVltOTRMMlJwYzNRdmFrSnZlQzVoYkd3dWJXbHVMbXB6SW4wPSIsIiFmdW5jdGlvbih0KXtcImZ1bmN0aW9uXCI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKFtcImpxdWVyeVwiLFwiLi92ZXJzaW9uXCJdLHQpOnQoalF1ZXJ5KX0oZnVuY3Rpb24odCl7dmFyIGUsaT0wLHM9QXJyYXkucHJvdG90eXBlLnNsaWNlO3JldHVybiB0LmNsZWFuRGF0YT0oZT10LmNsZWFuRGF0YSxmdW5jdGlvbihpKXt2YXIgcyxuLG87Zm9yKG89MDtudWxsIT0obj1pW29dKTtvKyspdHJ5eyhzPXQuX2RhdGEobixcImV2ZW50c1wiKSkmJnMucmVtb3ZlJiZ0KG4pLnRyaWdnZXJIYW5kbGVyKFwicmVtb3ZlXCIpfWNhdGNoKHQpe31lKGkpfSksdC53aWRnZXQ9ZnVuY3Rpb24oZSxpLHMpe3ZhciBuLG8sYSxyPXt9LGw9ZS5zcGxpdChcIi5cIilbMF0sdT1sK1wiLVwiKyhlPWUuc3BsaXQoXCIuXCIpWzFdKTtyZXR1cm4gc3x8KHM9aSxpPXQuV2lkZ2V0KSx0LmlzQXJyYXkocykmJihzPXQuZXh0ZW5kLmFwcGx5KG51bGwsW3t9XS5jb25jYXQocykpKSx0LmV4cHJbXCI6XCJdW3UudG9Mb3dlckNhc2UoKV09ZnVuY3Rpb24oZSl7cmV0dXJuISF0LmRhdGEoZSx1KX0sdFtsXT10W2xdfHx7fSxuPXRbbF1bZV0sbz10W2xdW2VdPWZ1bmN0aW9uKHQsZSl7aWYoIXRoaXMuX2NyZWF0ZVdpZGdldClyZXR1cm4gbmV3IG8odCxlKTthcmd1bWVudHMubGVuZ3RoJiZ0aGlzLl9jcmVhdGVXaWRnZXQodCxlKX0sdC5leHRlbmQobyxuLHt2ZXJzaW9uOnMudmVyc2lvbixfcHJvdG86dC5leHRlbmQoe30scyksX2NoaWxkQ29uc3RydWN0b3JzOltdfSksKGE9bmV3IGkpLm9wdGlvbnM9dC53aWRnZXQuZXh0ZW5kKHt9LGEub3B0aW9ucyksdC5lYWNoKHMsZnVuY3Rpb24oZSxzKXt0LmlzRnVuY3Rpb24ocyk/cltlXT1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXtyZXR1cm4gaS5wcm90b3R5cGVbZV0uYXBwbHkodGhpcyxhcmd1bWVudHMpfWZ1bmN0aW9uIG4odCl7cmV0dXJuIGkucHJvdG90eXBlW2VdLmFwcGx5KHRoaXMsdCl9cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGUsaT10aGlzLl9zdXBlcixvPXRoaXMuX3N1cGVyQXBwbHk7cmV0dXJuIHRoaXMuX3N1cGVyPXQsdGhpcy5fc3VwZXJBcHBseT1uLGU9cy5hcHBseSh0aGlzLGFyZ3VtZW50cyksdGhpcy5fc3VwZXI9aSx0aGlzLl9zdXBlckFwcGx5PW8sZX19KCk6cltlXT1zfSksby5wcm90b3R5cGU9dC53aWRnZXQuZXh0ZW5kKGEse3dpZGdldEV2ZW50UHJlZml4Om4mJmEud2lkZ2V0RXZlbnRQcmVmaXh8fGV9LHIse2NvbnN0cnVjdG9yOm8sbmFtZXNwYWNlOmwsd2lkZ2V0TmFtZTplLHdpZGdldEZ1bGxOYW1lOnV9KSxuPyh0LmVhY2gobi5fY2hpbGRDb25zdHJ1Y3RvcnMsZnVuY3Rpb24oZSxpKXt2YXIgcz1pLnByb3RvdHlwZTt0LndpZGdldChzLm5hbWVzcGFjZStcIi5cIitzLndpZGdldE5hbWUsbyxpLl9wcm90byl9KSxkZWxldGUgbi5fY2hpbGRDb25zdHJ1Y3RvcnMpOmkuX2NoaWxkQ29uc3RydWN0b3JzLnB1c2gobyksdC53aWRnZXQuYnJpZGdlKGUsbyksb30sdC53aWRnZXQuZXh0ZW5kPWZ1bmN0aW9uKGUpe2Zvcih2YXIgaSxuLG89cy5jYWxsKGFyZ3VtZW50cywxKSxhPTAscj1vLmxlbmd0aDthPHI7YSsrKWZvcihpIGluIG9bYV0pbj1vW2FdW2ldLG9bYV0uaGFzT3duUHJvcGVydHkoaSkmJnZvaWQgMCE9PW4mJih0LmlzUGxhaW5PYmplY3Qobik/ZVtpXT10LmlzUGxhaW5PYmplY3QoZVtpXSk/dC53aWRnZXQuZXh0ZW5kKHt9LGVbaV0sbik6dC53aWRnZXQuZXh0ZW5kKHt9LG4pOmVbaV09bik7cmV0dXJuIGV9LHQud2lkZ2V0LmJyaWRnZT1mdW5jdGlvbihlLGkpe3ZhciBuPWkucHJvdG90eXBlLndpZGdldEZ1bGxOYW1lfHxlO3QuZm5bZV09ZnVuY3Rpb24obyl7dmFyIGE9XCJzdHJpbmdcIj09dHlwZW9mIG8scj1zLmNhbGwoYXJndW1lbnRzLDEpLGw9dGhpcztyZXR1cm4gYT90aGlzLmxlbmd0aHx8XCJpbnN0YW5jZVwiIT09bz90aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgaSxzPXQuZGF0YSh0aGlzLG4pO3JldHVyblwiaW5zdGFuY2VcIj09PW8/KGw9cywhMSk6cz90LmlzRnVuY3Rpb24oc1tvXSkmJlwiX1wiIT09by5jaGFyQXQoMCk/KGk9c1tvXS5hcHBseShzLHIpKSE9PXMmJnZvaWQgMCE9PWk/KGw9aSYmaS5qcXVlcnk/bC5wdXNoU3RhY2soaS5nZXQoKSk6aSwhMSk6dm9pZCAwOnQuZXJyb3IoXCJubyBzdWNoIG1ldGhvZCAnXCIrbytcIicgZm9yIFwiK2UrXCIgd2lkZ2V0IGluc3RhbmNlXCIpOnQuZXJyb3IoXCJjYW5ub3QgY2FsbCBtZXRob2RzIG9uIFwiK2UrXCIgcHJpb3IgdG8gaW5pdGlhbGl6YXRpb247IGF0dGVtcHRlZCB0byBjYWxsIG1ldGhvZCAnXCIrbytcIidcIil9KTpsPXZvaWQgMDooci5sZW5ndGgmJihvPXQud2lkZ2V0LmV4dGVuZC5hcHBseShudWxsLFtvXS5jb25jYXQocikpKSx0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZT10LmRhdGEodGhpcyxuKTtlPyhlLm9wdGlvbihvfHx7fSksZS5faW5pdCYmZS5faW5pdCgpKTp0LmRhdGEodGhpcyxuLG5ldyBpKG8sdGhpcykpfSkpLGx9fSx0LldpZGdldD1mdW5jdGlvbigpe30sdC5XaWRnZXQuX2NoaWxkQ29uc3RydWN0b3JzPVtdLHQuV2lkZ2V0LnByb3RvdHlwZT17d2lkZ2V0TmFtZTpcIndpZGdldFwiLHdpZGdldEV2ZW50UHJlZml4OlwiXCIsZGVmYXVsdEVsZW1lbnQ6XCI8ZGl2PlwiLG9wdGlvbnM6e2NsYXNzZXM6e30sZGlzYWJsZWQ6ITEsY3JlYXRlOm51bGx9LF9jcmVhdGVXaWRnZXQ6ZnVuY3Rpb24oZSxzKXtzPXQoc3x8dGhpcy5kZWZhdWx0RWxlbWVudHx8dGhpcylbMF0sdGhpcy5lbGVtZW50PXQocyksdGhpcy51dWlkPWkrKyx0aGlzLmV2ZW50TmFtZXNwYWNlPVwiLlwiK3RoaXMud2lkZ2V0TmFtZSt0aGlzLnV1aWQsdGhpcy5iaW5kaW5ncz10KCksdGhpcy5ob3ZlcmFibGU9dCgpLHRoaXMuZm9jdXNhYmxlPXQoKSx0aGlzLmNsYXNzZXNFbGVtZW50TG9va3VwPXt9LHMhPT10aGlzJiYodC5kYXRhKHMsdGhpcy53aWRnZXRGdWxsTmFtZSx0aGlzKSx0aGlzLl9vbighMCx0aGlzLmVsZW1lbnQse3JlbW92ZTpmdW5jdGlvbih0KXt0LnRhcmdldD09PXMmJnRoaXMuZGVzdHJveSgpfX0pLHRoaXMuZG9jdW1lbnQ9dChzLnN0eWxlP3Mub3duZXJEb2N1bWVudDpzLmRvY3VtZW50fHxzKSx0aGlzLndpbmRvdz10KHRoaXMuZG9jdW1lbnRbMF0uZGVmYXVsdFZpZXd8fHRoaXMuZG9jdW1lbnRbMF0ucGFyZW50V2luZG93KSksdGhpcy5vcHRpb25zPXQud2lkZ2V0LmV4dGVuZCh7fSx0aGlzLm9wdGlvbnMsdGhpcy5fZ2V0Q3JlYXRlT3B0aW9ucygpLGUpLHRoaXMuX2NyZWF0ZSgpLHRoaXMub3B0aW9ucy5kaXNhYmxlZCYmdGhpcy5fc2V0T3B0aW9uRGlzYWJsZWQodGhpcy5vcHRpb25zLmRpc2FibGVkKSx0aGlzLl90cmlnZ2VyKFwiY3JlYXRlXCIsbnVsbCx0aGlzLl9nZXRDcmVhdGVFdmVudERhdGEoKSksdGhpcy5faW5pdCgpfSxfZ2V0Q3JlYXRlT3B0aW9uczpmdW5jdGlvbigpe3JldHVybnt9fSxfZ2V0Q3JlYXRlRXZlbnREYXRhOnQubm9vcCxfY3JlYXRlOnQubm9vcCxfaW5pdDp0Lm5vb3AsZGVzdHJveTpmdW5jdGlvbigpe3ZhciBlPXRoaXM7dGhpcy5fZGVzdHJveSgpLHQuZWFjaCh0aGlzLmNsYXNzZXNFbGVtZW50TG9va3VwLGZ1bmN0aW9uKHQsaSl7ZS5fcmVtb3ZlQ2xhc3MoaSx0KX0pLHRoaXMuZWxlbWVudC5vZmYodGhpcy5ldmVudE5hbWVzcGFjZSkucmVtb3ZlRGF0YSh0aGlzLndpZGdldEZ1bGxOYW1lKSx0aGlzLndpZGdldCgpLm9mZih0aGlzLmV2ZW50TmFtZXNwYWNlKS5yZW1vdmVBdHRyKFwiYXJpYS1kaXNhYmxlZFwiKSx0aGlzLmJpbmRpbmdzLm9mZih0aGlzLmV2ZW50TmFtZXNwYWNlKX0sX2Rlc3Ryb3k6dC5ub29wLHdpZGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVsZW1lbnR9LG9wdGlvbjpmdW5jdGlvbihlLGkpe3ZhciBzLG4sbyxhPWU7aWYoMD09PWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHQud2lkZ2V0LmV4dGVuZCh7fSx0aGlzLm9wdGlvbnMpO2lmKFwic3RyaW5nXCI9PXR5cGVvZiBlKWlmKGE9e30scz1lLnNwbGl0KFwiLlwiKSxlPXMuc2hpZnQoKSxzLmxlbmd0aCl7Zm9yKG49YVtlXT10LndpZGdldC5leHRlbmQoe30sdGhpcy5vcHRpb25zW2VdKSxvPTA7bzxzLmxlbmd0aC0xO28rKyluW3Nbb11dPW5bc1tvXV18fHt9LG49bltzW29dXTtpZihlPXMucG9wKCksMT09PWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHZvaWQgMD09PW5bZV0/bnVsbDpuW2VdO25bZV09aX1lbHNle2lmKDE9PT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiB2b2lkIDA9PT10aGlzLm9wdGlvbnNbZV0/bnVsbDp0aGlzLm9wdGlvbnNbZV07YVtlXT1pfXJldHVybiB0aGlzLl9zZXRPcHRpb25zKGEpLHRoaXN9LF9zZXRPcHRpb25zOmZ1bmN0aW9uKHQpe3ZhciBlO2ZvcihlIGluIHQpdGhpcy5fc2V0T3B0aW9uKGUsdFtlXSk7cmV0dXJuIHRoaXN9LF9zZXRPcHRpb246ZnVuY3Rpb24odCxlKXtyZXR1cm5cImNsYXNzZXNcIj09PXQmJnRoaXMuX3NldE9wdGlvbkNsYXNzZXMoZSksdGhpcy5vcHRpb25zW3RdPWUsXCJkaXNhYmxlZFwiPT09dCYmdGhpcy5fc2V0T3B0aW9uRGlzYWJsZWQoZSksdGhpc30sX3NldE9wdGlvbkNsYXNzZXM6ZnVuY3Rpb24oZSl7dmFyIGkscyxuO2ZvcihpIGluIGUpbj10aGlzLmNsYXNzZXNFbGVtZW50TG9va3VwW2ldLGVbaV0hPT10aGlzLm9wdGlvbnMuY2xhc3Nlc1tpXSYmbiYmbi5sZW5ndGgmJihzPXQobi5nZXQoKSksdGhpcy5fcmVtb3ZlQ2xhc3MobixpKSxzLmFkZENsYXNzKHRoaXMuX2NsYXNzZXMoe2VsZW1lbnQ6cyxrZXlzOmksY2xhc3NlczplLGFkZDohMH0pKSl9LF9zZXRPcHRpb25EaXNhYmxlZDpmdW5jdGlvbih0KXt0aGlzLl90b2dnbGVDbGFzcyh0aGlzLndpZGdldCgpLHRoaXMud2lkZ2V0RnVsbE5hbWUrXCItZGlzYWJsZWRcIixudWxsLCEhdCksdCYmKHRoaXMuX3JlbW92ZUNsYXNzKHRoaXMuaG92ZXJhYmxlLG51bGwsXCJ1aS1zdGF0ZS1ob3ZlclwiKSx0aGlzLl9yZW1vdmVDbGFzcyh0aGlzLmZvY3VzYWJsZSxudWxsLFwidWktc3RhdGUtZm9jdXNcIikpfSxlbmFibGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2V0T3B0aW9ucyh7ZGlzYWJsZWQ6ITF9KX0sZGlzYWJsZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9zZXRPcHRpb25zKHtkaXNhYmxlZDohMH0pfSxfY2xhc3NlczpmdW5jdGlvbihlKXt2YXIgaT1bXSxzPXRoaXM7ZnVuY3Rpb24gbihuLG8pe3ZhciBhLHI7Zm9yKHI9MDtyPG4ubGVuZ3RoO3IrKylhPXMuY2xhc3Nlc0VsZW1lbnRMb29rdXBbbltyXV18fHQoKSxhPWUuYWRkP3QodC51bmlxdWUoYS5nZXQoKS5jb25jYXQoZS5lbGVtZW50LmdldCgpKSkpOnQoYS5ub3QoZS5lbGVtZW50KS5nZXQoKSkscy5jbGFzc2VzRWxlbWVudExvb2t1cFtuW3JdXT1hLGkucHVzaChuW3JdKSxvJiZlLmNsYXNzZXNbbltyXV0mJmkucHVzaChlLmNsYXNzZXNbbltyXV0pfXJldHVybiBlPXQuZXh0ZW5kKHtlbGVtZW50OnRoaXMuZWxlbWVudCxjbGFzc2VzOnRoaXMub3B0aW9ucy5jbGFzc2VzfHx7fX0sZSksdGhpcy5fb24oZS5lbGVtZW50LHtyZW1vdmU6XCJfdW50cmFja0NsYXNzZXNFbGVtZW50XCJ9KSxlLmtleXMmJm4oZS5rZXlzLm1hdGNoKC9cXFMrL2cpfHxbXSwhMCksZS5leHRyYSYmbihlLmV4dHJhLm1hdGNoKC9cXFMrL2cpfHxbXSksaS5qb2luKFwiIFwiKX0sX3VudHJhY2tDbGFzc2VzRWxlbWVudDpmdW5jdGlvbihlKXt2YXIgaT10aGlzO3QuZWFjaChpLmNsYXNzZXNFbGVtZW50TG9va3VwLGZ1bmN0aW9uKHMsbil7LTEhPT10LmluQXJyYXkoZS50YXJnZXQsbikmJihpLmNsYXNzZXNFbGVtZW50TG9va3VwW3NdPXQobi5ub3QoZS50YXJnZXQpLmdldCgpKSl9KX0sX3JlbW92ZUNsYXNzOmZ1bmN0aW9uKHQsZSxpKXtyZXR1cm4gdGhpcy5fdG9nZ2xlQ2xhc3ModCxlLGksITEpfSxfYWRkQ2xhc3M6ZnVuY3Rpb24odCxlLGkpe3JldHVybiB0aGlzLl90b2dnbGVDbGFzcyh0LGUsaSwhMCl9LF90b2dnbGVDbGFzczpmdW5jdGlvbih0LGUsaSxzKXtzPVwiYm9vbGVhblwiPT10eXBlb2Ygcz9zOmk7dmFyIG49XCJzdHJpbmdcIj09dHlwZW9mIHR8fG51bGw9PT10LG89e2V4dHJhOm4/ZTppLGtleXM6bj90OmUsZWxlbWVudDpuP3RoaXMuZWxlbWVudDp0LGFkZDpzfTtyZXR1cm4gby5lbGVtZW50LnRvZ2dsZUNsYXNzKHRoaXMuX2NsYXNzZXMobykscyksdGhpc30sX29uOmZ1bmN0aW9uKGUsaSxzKXt2YXIgbixvPXRoaXM7XCJib29sZWFuXCIhPXR5cGVvZiBlJiYocz1pLGk9ZSxlPSExKSxzPyhpPW49dChpKSx0aGlzLmJpbmRpbmdzPXRoaXMuYmluZGluZ3MuYWRkKGkpKToocz1pLGk9dGhpcy5lbGVtZW50LG49dGhpcy53aWRnZXQoKSksdC5lYWNoKHMsZnVuY3Rpb24ocyxhKXtmdW5jdGlvbiByKCl7aWYoZXx8ITAhPT1vLm9wdGlvbnMuZGlzYWJsZWQmJiF0KHRoaXMpLmhhc0NsYXNzKFwidWktc3RhdGUtZGlzYWJsZWRcIikpcmV0dXJuKFwic3RyaW5nXCI9PXR5cGVvZiBhP29bYV06YSkuYXBwbHkobyxhcmd1bWVudHMpfVwic3RyaW5nXCIhPXR5cGVvZiBhJiYoci5ndWlkPWEuZ3VpZD1hLmd1aWR8fHIuZ3VpZHx8dC5ndWlkKyspO3ZhciBsPXMubWF0Y2goL14oW1xcdzotXSopXFxzKiguKikkLyksdT1sWzFdK28uZXZlbnROYW1lc3BhY2UsaD1sWzJdO2g/bi5vbih1LGgscik6aS5vbih1LHIpfSl9LF9vZmY6ZnVuY3Rpb24oZSxpKXtpPShpfHxcIlwiKS5zcGxpdChcIiBcIikuam9pbih0aGlzLmV2ZW50TmFtZXNwYWNlK1wiIFwiKSt0aGlzLmV2ZW50TmFtZXNwYWNlLGUub2ZmKGkpLm9mZihpKSx0aGlzLmJpbmRpbmdzPXQodGhpcy5iaW5kaW5ncy5ub3QoZSkuZ2V0KCkpLHRoaXMuZm9jdXNhYmxlPXQodGhpcy5mb2N1c2FibGUubm90KGUpLmdldCgpKSx0aGlzLmhvdmVyYWJsZT10KHRoaXMuaG92ZXJhYmxlLm5vdChlKS5nZXQoKSl9LF9kZWxheTpmdW5jdGlvbih0LGUpe3ZhciBpPXRoaXM7cmV0dXJuIHNldFRpbWVvdXQoZnVuY3Rpb24oKXtyZXR1cm4oXCJzdHJpbmdcIj09dHlwZW9mIHQ/aVt0XTp0KS5hcHBseShpLGFyZ3VtZW50cyl9LGV8fDApfSxfaG92ZXJhYmxlOmZ1bmN0aW9uKGUpe3RoaXMuaG92ZXJhYmxlPXRoaXMuaG92ZXJhYmxlLmFkZChlKSx0aGlzLl9vbihlLHttb3VzZWVudGVyOmZ1bmN0aW9uKGUpe3RoaXMuX2FkZENsYXNzKHQoZS5jdXJyZW50VGFyZ2V0KSxudWxsLFwidWktc3RhdGUtaG92ZXJcIil9LG1vdXNlbGVhdmU6ZnVuY3Rpb24oZSl7dGhpcy5fcmVtb3ZlQ2xhc3ModChlLmN1cnJlbnRUYXJnZXQpLG51bGwsXCJ1aS1zdGF0ZS1ob3ZlclwiKX19KX0sX2ZvY3VzYWJsZTpmdW5jdGlvbihlKXt0aGlzLmZvY3VzYWJsZT10aGlzLmZvY3VzYWJsZS5hZGQoZSksdGhpcy5fb24oZSx7Zm9jdXNpbjpmdW5jdGlvbihlKXt0aGlzLl9hZGRDbGFzcyh0KGUuY3VycmVudFRhcmdldCksbnVsbCxcInVpLXN0YXRlLWZvY3VzXCIpfSxmb2N1c291dDpmdW5jdGlvbihlKXt0aGlzLl9yZW1vdmVDbGFzcyh0KGUuY3VycmVudFRhcmdldCksbnVsbCxcInVpLXN0YXRlLWZvY3VzXCIpfX0pfSxfdHJpZ2dlcjpmdW5jdGlvbihlLGkscyl7dmFyIG4sbyxhPXRoaXMub3B0aW9uc1tlXTtpZihzPXN8fHt9LChpPXQuRXZlbnQoaSkpLnR5cGU9KGU9PT10aGlzLndpZGdldEV2ZW50UHJlZml4P2U6dGhpcy53aWRnZXRFdmVudFByZWZpeCtlKS50b0xvd2VyQ2FzZSgpLGkudGFyZ2V0PXRoaXMuZWxlbWVudFswXSxvPWkub3JpZ2luYWxFdmVudClmb3IobiBpbiBvKW4gaW4gaXx8KGlbbl09b1tuXSk7cmV0dXJuIHRoaXMuZWxlbWVudC50cmlnZ2VyKGkscyksISh0LmlzRnVuY3Rpb24oYSkmJiExPT09YS5hcHBseSh0aGlzLmVsZW1lbnRbMF0sW2ldLmNvbmNhdChzKSl8fGkuaXNEZWZhdWx0UHJldmVudGVkKCkpfX0sdC5lYWNoKHtzaG93OlwiZmFkZUluXCIsaGlkZTpcImZhZGVPdXRcIn0sZnVuY3Rpb24oZSxpKXt0LldpZGdldC5wcm90b3R5cGVbXCJfXCIrZV09ZnVuY3Rpb24ocyxuLG8pe3ZhciBhO1wic3RyaW5nXCI9PXR5cGVvZiBuJiYobj17ZWZmZWN0Om59KTt2YXIgcj1uPyEwPT09bnx8XCJudW1iZXJcIj09dHlwZW9mIG4/aTpuLmVmZmVjdHx8aTplO1wibnVtYmVyXCI9PXR5cGVvZihuPW58fHt9KSYmKG49e2R1cmF0aW9uOm59KSxhPSF0LmlzRW1wdHlPYmplY3Qobiksbi5jb21wbGV0ZT1vLG4uZGVsYXkmJnMuZGVsYXkobi5kZWxheSksYSYmdC5lZmZlY3RzJiZ0LmVmZmVjdHMuZWZmZWN0W3JdP3NbZV0obik6ciE9PWUmJnNbcl0/c1tyXShuLmR1cmF0aW9uLG4uZWFzaW5nLG8pOnMucXVldWUoZnVuY3Rpb24oaSl7dCh0aGlzKVtlXSgpLG8mJm8uY2FsbChzWzBdKSxpKCl9KX19KSx0LndpZGdldH0pO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kcFpHZGxkQzVxY3lKZExDSnVZVzFsY3lJNld5Sm1ZV04wYjNKNUlpd2laR1ZtYVc1bElpd2lZVzFrSWl3aWFsRjFaWEo1SWl3aUpDSXNJbTl5YVdjaUxDSjNhV1JuWlhSVmRXbGtJaXdpZDJsa1oyVjBVMnhwWTJVaUxDSkJjbkpoZVNJc0luQnliM1J2ZEhsd1pTSXNJbk5zYVdObElpd2lZMnhsWVc1RVlYUmhJaXdpWld4bGJYTWlMQ0psZG1WdWRITWlMQ0psYkdWdElpd2lhU0lzSWw5a1lYUmhJaXdpY21WdGIzWmxJaXdpZEhKcFoyZGxja2hoYm1Sc1pYSWlMQ0psSWl3aWQybGtaMlYwSWl3aWJtRnRaU0lzSW1KaGMyVWlMQ0psZUdsemRHbHVaME52Ym5OMGNuVmpkRzl5SWl3aVkyOXVjM1J5ZFdOMGIzSWlMQ0ppWVhObFVISnZkRzkwZVhCbElpd2ljSEp2ZUdsbFpGQnliM1J2ZEhsd1pTSXNJbTVoYldWemNHRmpaU0lzSW5Od2JHbDBJaXdpWm5Wc2JFNWhiV1VpTENKWGFXUm5aWFFpTENKcGMwRnljbUY1SWl3aVpYaDBaVzVrSWl3aVlYQndiSGtpTENKamIyNWpZWFFpTENKbGVIQnlJaXdpZEc5TWIzZGxja05oYzJVaUxDSmtZWFJoSWl3aWIzQjBhVzl1Y3lJc0ltVnNaVzFsYm5RaUxDSjBhR2x6SWl3aVgyTnlaV0YwWlZkcFpHZGxkQ0lzSW1GeVozVnRaVzUwY3lJc0lteGxibWQwYUNJc0luWmxjbk5wYjI0aUxDSmZjSEp2ZEc4aUxDSmZZMmhwYkdSRGIyNXpkSEoxWTNSdmNuTWlMQ0psWVdOb0lpd2ljSEp2Y0NJc0luWmhiSFZsSWl3aWFYTkdkVzVqZEdsdmJpSXNJbDl6ZFhCbGNpSXNJbDl6ZFhCbGNrRndjR3g1SWl3aVlYSm5jeUlzSW5KbGRIVnlibFpoYkhWbElpd2lYMTl6ZFhCbGNpSXNJbDlmYzNWd1pYSkJjSEJzZVNJc0luZHBaR2RsZEVWMlpXNTBVSEpsWm1sNElpd2lkMmxrWjJWMFRtRnRaU0lzSW5kcFpHZGxkRVoxYkd4T1lXMWxJaXdpWTJocGJHUWlMQ0pqYUdsc1pGQnliM1J2ZEhsd1pTSXNJbkIxYzJnaUxDSmljbWxrWjJVaUxDSjBZWEpuWlhRaUxDSnJaWGtpTENKcGJuQjFkQ0lzSW1OaGJHd2lMQ0pwYm5CMWRFbHVaR1Y0SWl3aWFXNXdkWFJNWlc1bmRHZ2lMQ0pvWVhOUGQyNVFjbTl3WlhKMGVTSXNJblZ1WkdWbWFXNWxaQ0lzSW1selVHeGhhVzVQWW1wbFkzUWlMQ0p2WW1wbFkzUWlMQ0ptYmlJc0ltbHpUV1YwYUc5a1EyRnNiQ0lzSW0xbGRHaHZaRlpoYkhWbElpd2lhVzV6ZEdGdVkyVWlMQ0pqYUdGeVFYUWlMQ0pxY1hWbGNua2lMQ0p3ZFhOb1UzUmhZMnNpTENKblpYUWlMQ0psY25KdmNpSXNJbTl3ZEdsdmJpSXNJbDlwYm1sMElpd2laR1ZtWVhWc2RFVnNaVzFsYm5RaUxDSmpiR0Z6YzJWeklpd2laR2x6WVdKc1pXUWlMQ0pqY21WaGRHVWlMQ0oxZFdsa0lpd2laWFpsYm5ST1lXMWxjM0JoWTJVaUxDSmlhVzVrYVc1bmN5SXNJbWh2ZG1WeVlXSnNaU0lzSW1adlkzVnpZV0pzWlNJc0ltTnNZWE56WlhORmJHVnRaVzUwVEc5dmEzVndJaXdpWDI5dUlpd2laWFpsYm5RaUxDSmtaWE4wY205NUlpd2laRzlqZFcxbGJuUWlMQ0p6ZEhsc1pTSXNJbTkzYm1WeVJHOWpkVzFsYm5RaUxDSjNhVzVrYjNjaUxDSmtaV1poZFd4MFZtbGxkeUlzSW5CaGNtVnVkRmRwYm1SdmR5SXNJbDluWlhSRGNtVmhkR1ZQY0hScGIyNXpJaXdpWDJOeVpXRjBaU0lzSWw5elpYUlBjSFJwYjI1RWFYTmhZbXhsWkNJc0lsOTBjbWxuWjJWeUlpd2lYMmRsZEVOeVpXRjBaVVYyWlc1MFJHRjBZU0lzSW01dmIzQWlMQ0owYUdGMElpd2lYMlJsYzNSeWIza2lMQ0pmY21WdGIzWmxRMnhoYzNNaUxDSnZabVlpTENKeVpXMXZkbVZFWVhSaElpd2ljbVZ0YjNabFFYUjBjaUlzSW5CaGNuUnpJaXdpWTNWeVQzQjBhVzl1SWl3aWMyaHBablFpTENKd2IzQWlMQ0pmYzJWMFQzQjBhVzl1Y3lJc0lsOXpaWFJQY0hScGIyNGlMQ0pmYzJWMFQzQjBhVzl1UTJ4aGMzTmxjeUlzSW1Oc1lYTnpTMlY1SWl3aVpXeGxiV1Z1ZEhNaUxDSmpkWEp5Wlc1MFJXeGxiV1Z1ZEhNaUxDSmhaR1JEYkdGemN5SXNJbDlqYkdGemMyVnpJaXdpYTJWNWN5SXNJbUZrWkNJc0lsOTBiMmRuYkdWRGJHRnpjeUlzSW1WdVlXSnNaU0lzSW1ScGMyRmliR1VpTENKbWRXeHNJaXdpY0hKdlkyVnpjME5zWVhOelUzUnlhVzVuSWl3aVkyaGxZMnRQY0hScGIyNGlMQ0pqZFhKeVpXNTBJaXdpZFc1cGNYVmxJaXdpYm05MElpd2liV0YwWTJnaUxDSmxlSFJ5WVNJc0ltcHZhVzRpTENKZmRXNTBjbUZqYTBOc1lYTnpaWE5GYkdWdFpXNTBJaXdpYVc1QmNuSmhlU0lzSWw5aFpHUkRiR0Z6Y3lJc0luUnZaMmRzWlVOc1lYTnpJaXdpYzNWd2NISmxjM05FYVhOaFlteGxaRU5vWldOcklpd2lhR0Z1Wkd4bGNuTWlMQ0prWld4bFoyRjBaVVZzWlcxbGJuUWlMQ0pvWVc1a2JHVnlJaXdpYUdGdVpHeGxjbEJ5YjNoNUlpd2lhR0Z6UTJ4aGMzTWlMQ0puZFdsa0lpd2laWFpsYm5ST1lXMWxJaXdpYzJWc1pXTjBiM0lpTENKdmJpSXNJbDl2Wm1ZaUxDSmZaR1ZzWVhraUxDSmtaV3hoZVNJc0luTmxkRlJwYldWdmRYUWlMQ0pmYUc5MlpYSmhZbXhsSWl3aWJXOTFjMlZsYm5SbGNpSXNJbU4xY25KbGJuUlVZWEpuWlhRaUxDSnRiM1Z6Wld4bFlYWmxJaXdpWDJadlkzVnpZV0pzWlNJc0ltWnZZM1Z6YVc0aUxDSm1iMk4xYzI5MWRDSXNJblI1Y0dVaUxDSmpZV3hzWW1GamF5SXNJa1YyWlc1MElpd2liM0pwWjJsdVlXeEZkbVZ1ZENJc0luUnlhV2RuWlhJaUxDSnBjMFJsWm1GMWJIUlFjbVYyWlc1MFpXUWlMQ0p6YUc5M0lpd2lhR2xrWlNJc0ltMWxkR2h2WkNJc0ltUmxabUYxYkhSRlptWmxZM1FpTENKb1lYTlBjSFJwYjI1eklpd2laV1ptWldOMElpd2laV1ptWldOMFRtRnRaU0lzSW1SMWNtRjBhVzl1SWl3aWFYTkZiWEIwZVU5aWFtVmpkQ0lzSW1OdmJYQnNaWFJsSWl3aVpXWm1aV04wY3lJc0ltVmhjMmx1WnlJc0luRjFaWFZsSWl3aWJtVjRkQ0pkTENKdFlYQndhVzVuY3lJNklrTkJaVVVzVTBGQlZVRXNSMEZEV1N4dFFrRkJXRU1zVVVGQmVVSkJMRTlCUVU5RExFbEJSek5EUkN4UFFVRlJMRU5CUVVVc1UwRkJWU3hoUVVGbFJDeEhRVWx1UTBFc1JVRkJVMGNzVVVGU1dDeERRVlZITEZOQlFWVkRMRWRCUldJc1NVRkhNRUpETEVWQlNIUkNReXhGUVVGaExFVkJRMkpETEVWQlFXTkRMRTFCUVUxRExGVkJRVlZETEUxQk9ISkNiRU1zVDBFMWNrSkJUaXhGUVVGRlR5eFhRVUYzUWs0c1JVRnBRbkpDUkN4RlFVRkZUeXhWUVdoQ1F5eFRRVUZWUXl4SFFVTm9RaXhKUVVGSlF5eEZRVUZSUXl4RlFVRk5ReXhGUVVOc1FpeEpRVUZOUVN4RlFVRkpMRVZCUVRSQ0xFOUJRWFpDUkN4RlFVRlBSaXhGUVVGUFJ5eEpRVUZsUVN4SlFVTXpReXhMUVVkRFJpeEZRVUZUVkN4RlFVRkZXU3hOUVVGUFJpeEZRVUZOTEZsQlExUkVMRVZCUVU5SkxGRkJRM0pDWWl4RlFVRkhWU3hIUVVGUFNTeGxRVUZuUWl4VlFVa3hRaXhOUVVGUlF5eEpRVVZZWkN4RlFVRk5UeXhMUVVsU1VpeEZRVUZGWjBJc1QwRkJVeXhUUVVGVlF5eEZRVUZOUXl4RlFVRk5ZaXhIUVVOb1F5eEpRVUZKWXl4RlFVRnhRa01zUlVGQllVTXNSVUZKYkVORExFVkJRVzFDTEVkQlJXNUNReXhGUVVGWlRpeEZRVUZMVHl4TlFVRlBMRXRCUVU4c1IwRkZMMEpETEVWQlFWZEdMRVZCUVZrc1MwRkVNMEpPTEVWQlFVOUJMRVZCUVV0UExFMUJRVThzUzBGQlR5eEpRWFZJTVVJc1QwRndTRTF1UWl4SlFVTk1RU3hGUVVGWllTeEZRVU5hUVN4RlFVRlBiRUlzUlVGQlJUQkNMRkZCUjB3eFFpeEZRVUZGTWtJc1VVRkJVM1JDTEV0QlEyWkJMRVZCUVZsTUxFVkJRVVUwUWl4UFFVRlBReXhOUVVGUExFdEJRVTBzUTBGQlJTeEpRVUZMUXl4UFFVRlJla0lzUzBGSmJFUk1MRVZCUVVVclFpeExRVUZOTEV0QlFVOU9MRVZCUVZOUExHVkJRV3RDTEZOQlFWVjBRaXhIUVVOdVJDeFJRVUZUVml4RlFVRkZhVU1zUzBGQlRYWkNMRVZCUVUxbExFbEJSM2hDZWtJc1JVRkJSM1ZDTEVkQlFXTjJRaXhGUVVGSGRVSXNTVUZCWlN4SFFVTnVRMG9zUlVGQmMwSnVRaXhGUVVGSGRVSXNSMEZCWVU0c1IwRkRkRU5ITEVWQlFXTndRaXhGUVVGSGRVSXNSMEZCWVU0c1IwRkJVeXhUUVVGVmFVSXNSVUZCVTBNc1IwRkhla1FzU1VGQlRVTXNTMEZCUzBNc1kwRkRWaXhQUVVGUExFbEJRVWxxUWl4RlFVRmhZeXhGUVVGVFF5eEhRVXMzUWtjc1ZVRkJWVU1zVVVGRFpFZ3NTMEZCUzBNc1kwRkJaVWdzUlVGQlUwTXNTVUZMTDBKdVF5eEZRVUZGTkVJc1QwRkJVVklzUlVGQllVUXNSVUZCY1VJc1EwRkRNME54UWl4UlFVRlRia01zUlVGQlZXMURMRkZCU1c1Q1F5eFBRVUZSZWtNc1JVRkJSVFJDTEU5QlFWRXNSMEZCU1haQ0xFZEJTWFJDY1VNc2JVSkJRVzlDTEUxQlIzSkNja0lzUlVGQlowSXNTVUZCU1Vnc1IwRkxUbWRDTEZGQlFWVnNReXhGUVVGRlowSXNUMEZCVDFrc1QwRkJVU3hIUVVGSlVDeEZRVUZqWVN4VFFVTXpSR3hETEVWQlFVVXlReXhMUVVGTmRFTXNSVUZCVnl4VFFVRlZkVU1zUlVGQlRVTXNSMEZETlVJM1F5eEZRVUZGT0VNc1YwRkJXVVFzUjBGSmNFSjJRaXhGUVVGclFuTkNMRWRCUVZNc1YwRkRNVUlzVTBGQlUwY3NTVUZEVWl4UFFVRlBOMElzUlVGQlMySXNWVUZCVjNWRExFZEJRVTltTEUxQlFVOVBMRXRCUVUxRkxGZEJSelZETEZOQlFWTlZMRVZCUVdGRExFZEJRM0pDTEU5QlFVOHZRaXhGUVVGTFlpeFZRVUZYZFVNc1IwRkJUMllzVFVGQlQwOHNTMEZCVFdFc1IwRkhOVU1zVDBGQlR5eFhRVU5PTEVsQlJVbERMRVZCUmtGRExFVkJRVlZtTEV0QlFVdFhMRTlCUTJaTExFVkJRV1ZvUWl4TFFVRkxXU3haUVZkNFFpeFBRVkpCV2l4TFFVRkxWeXhQUVVGVFFTeEZRVU5rV0N4TFFVRkxXU3haUVVGalFTeEZRVVZ1UWtVc1JVRkJZMHdzUlVGQlRXaENMRTFCUVU5UExFdEJRVTFGTEZkQlJXcERSaXhMUVVGTFZ5eFBRVUZUU1N4RlFVTmtaaXhMUVVGTFdTeFpRVUZqU1N4RlFVVmFSaXhIUVhSQ2EwSXNSMEZJTVVJMVFpeEZRVUZyUW5OQ0xFZEJRVk5ETEVsQk5rSTNRbnBDTEVWQlFWbG1MRlZCUVZsTUxFVkJRVVZuUWl4UFFVRlBXU3hQUVVGUlVDeEZRVUZsTEVOQlMzWkVaME1zYTBKQlFXMUNiRU1zUjBGQmQwSkZMRVZCUVdOblF5eHRRa0ZCT0VKd1F5eEhRVU55Umtzc1JVRkJhMElzUTBGRGNFSkdMRmxCUVdGQkxFVkJRMkpITEZWQlFWZEJMRVZCUTFnclFpeFhRVUZaY2tNc1JVRkRXbk5ETEdWQlFXZENPVUlzU1VGUFdrNHNSMEZEU201Q0xFVkJRVVV5UXl4TFFVRk5lRUlzUlVGQmIwSjFRaXh0UWtGQmIwSXNVMEZCVlM5Q0xFVkJRVWMyUXl4SFFVTTFSQ3hKUVVGSlF5eEZRVUZwUWtRc1JVRkJUVzVFTEZWQlNUTkNUQ3hGUVVGRlowSXNUMEZCVVhsRExFVkJRV1ZzUXl4VlFVRlpMRWxCUVUxclF5eEZRVUZsU0N4WFFVRlpiRU1zUlVGRGNrVnZReXhGUVVGTlppeHBRa0ZMUkhSQ0xFVkJRVzlDZFVJc2IwSkJSVE5DZUVJc1JVRkJTM2RDTEcxQ1FVRnRRbWRDTEV0QlFVMTBReXhIUVVjdlFuQkNMRVZCUVVWblFpeFBRVUZQTWtNc1QwRkJVVEZETEVWQlFVMUhMRWRCUldoQ1FTeEhRVWRTY0VJc1JVRkJSV2RDTEU5QlFVOVpMRTlCUVZNc1UwRkJWV2RETEVkQlR6TkNMRWxCVGtFc1NVRkhTVU1zUlVGRFFXaENMRVZCU2tGcFFpeEZRVUZSTTBRc1JVRkJXVFJFTEV0QlFVMTZRaXhWUVVGWExFZEJRM0pETUVJc1JVRkJZU3hGUVVOaVF5eEZRVUZqU0N4RlFVRk5ka0lzVDBGSmFFSjVRaXhGUVVGaFF5eEZRVUZoUkN4SlFVTnFReXhKUVVGTlNDeExRVUZQUXl4RlFVRlBSU3hIUVVOdVFtNUNMRVZCUVZGcFFpeEZRVUZQUlN4SFFVRmpTQ3hIUVVONFFrTXNSVUZCVDBVc1IwRkJZVVVzWlVGQlowSk1MRk5CUVcxQ1RTeEpRVUZXZEVJc1NVRkhOVU0zUXl4RlFVRkZiMFVzWTBGQlpYWkNMRWRCUTNKQ1pTeEZRVUZSUXl4SFFVRlJOMFFzUlVGQlJXOUZMR05CUVdWU0xFVkJRVkZETEVsQlEzaEROMFFzUlVGQlJXZENMRTlCUVU5WkxFOUJRVkVzUjBGQlNXZERMRVZCUVZGRExFZEJRVTlvUWl4SFFVZHdRemRETEVWQlFVVm5RaXhQUVVGUFdTeFBRVUZSTEVkQlFVbHBRaXhIUVVsMFFtVXNSVUZCVVVNc1IwRkJVV2hDTEVkQlMzQkNMRTlCUVU5bExFZEJSMUkxUkN4RlFVRkZaMElzVDBGQlR6SkRMRTlCUVZNc1UwRkJWVEZETEVWQlFVMXZSQ3hIUVVOcVF5eEpRVUZKTlVNc1JVRkJWelJETEVWQlFVOW9SU3hWUVVGVmEwUXNaMEpCUVd0Q2RFTXNSVUZEYkVScVFpeEZRVUZGYzBVc1IwRkJTWEpFTEVkQlFWTXNVMEZCVldsQ0xFZEJRM2hDTEVsQlFVbHhReXhGUVVGclF5eHBRa0ZCV25KRExFVkJRM1JDWlN4RlFVRlBPVU1zUlVGQldUUkVMRXRCUVUxNlFpeFZRVUZYTEVkQlEzQkRXU3hGUVVGalpDeExRVEpFYkVJc1QwRjZSRXR0UXl4RlFVbEZia01zUzBGQlMwY3NVVUZCYzBJc1lVRkJXa3dzUlVGSGNFSkZMRXRCUVV0UExFdEJRVTBzVjBGRFZpeEpRVUZKTmtJc1JVRkRRVU1zUlVGQlYzcEZMRVZCUVVWcFF5eExRVUZOUnl4TFFVRk5XQ3hIUVVVM1FpeE5RVUZwUWl4aFFVRmFVeXhIUVVOS1owSXNSVUZCWTNWQ0xFZEJRMUFzUjBGSFJrRXNSVUZOUVhwRkxFVkJRVVU0UXl4WFFVRlpNa0lzUlVGQlZYWkRMRXRCUVhWRExFMUJRWGhDUVN4RlFVRlJkME1zVDBGQlVTeEpRVXMzUkVZc1JVRkJZME1zUlVGQlZYWkRMRWRCUVZWTUxFMUJRVTgwUXl4RlFVRlZlRUlzVFVGRk9VSjNRaXhSUVVFMFFrNHNTVUZCYUVKTExFZEJRMmhEZEVJc1JVRkJZM05DTEVkQlFXVkJMRVZCUVZsSExFOUJRM2hEZWtJc1JVRkJXVEJDTEZWQlFWZEtMRVZCUVZsTExFOUJRMjVEVEN4SFFVTk5MRkZCU2xJc1JVRk9VWGhGTEVWQlFVVTRSU3hOUVVGUExHMUNRVUZ4UWpWRExFVkJRVlVzVTBGQlYycENMRVZCUTNwRUxHOUNRVkJOYWtJc1JVRkJSVGhGTEUxQlFVOHNNRUpCUVRSQ04wUXNSVUZETTBNc2RVUkJReXRDYVVJc1JVRkJWU3hQUVdRMVEyZENMRTlCUVdOcFFpeEhRVzFEVm14Q0xFVkJRVXRXTEZOQlExUk1MRVZCUVZWc1F5eEZRVUZGWjBJc1QwRkJUMWtzVDBGQlQwTXNUVUZCVHl4TFFVRk5MRU5CUVVWTExFZEJRVlZLTEU5QlFWRnRRaXhMUVVjMVJHSXNTMEZCUzA4c1MwRkJUU3hYUVVOV0xFbEJRVWs0UWl4RlFVRlhla1VzUlVGQlJXbERMRXRCUVUxSExFdEJRVTFZTEVkQlEzaENaMFFzUjBGRFNrRXNSVUZCVTAwc1QwRkJVVGRETEVkQlFWY3NTVUZEZGtKMVF5eEZRVUZUVHl4UFFVTmlVQ3hGUVVGVFR5eFRRVWRXYUVZc1JVRkJSV2xETEV0QlFVMUhMRXRCUVUxWUxFVkJRVlVzU1VGQlNUUkRMRVZCUVZGdVF5eEZRVUZUUlN4VlFVdDZRMk1zU1VGSlZHeEVMRVZCUVVVd1FpeFBRVUZUTEdGQlExZ3hRaXhGUVVGRk1FSXNUMEZCVDJkQ0xHMUNRVUZ4UWl4SFFVVTVRakZETEVWQlFVVXdRaXhQUVVGUGNrSXNWVUZCV1N4RFFVTndRbWxFTEZkQlFWa3NVMEZEV2tRc2EwSkJRVzFDTEVkQlEyNUNORUlzWlVGQlowSXNVVUZGYUVJdlF5eFJRVUZUTEVOQlExSm5SQ3hSUVVGVExFZEJRMVJETEZWQlFWVXNSVUZIVmtNc1QwRkJVU3hOUVVkVUwwTXNZMEZCWlN4VFFVRlZTQ3hGUVVGVFF5eEhRVU5xUTBFc1JVRkJWVzVETEVWQlFVZHRReXhIUVVGWFF5eExRVUZMTmtNc1owSkJRV3RDTjBNc1RVRkJVU3hIUVVOMlJFRXNTMEZCUzBRc1VVRkJWVzVETEVWQlFVZHRReXhIUVVOc1FrTXNTMEZCUzJsRUxFdEJRVTl1Uml4SlFVTmFhME1zUzBGQlMydEVMR1ZCUVdsQ0xFbEJRVTFzUkN4TFFVRkxhMElzVjBGQllXeENMRXRCUVV0cFJDeExRVVZ1UkdwRUxFdEJRVXR0UkN4VFFVRlhka1lzU1VGRGFFSnZReXhMUVVGTGIwUXNWVUZCV1hoR0xFbEJRMnBDYjBNc1MwRkJTM0ZFTEZWQlFWbDZSaXhKUVVOcVFtOURMRXRCUVV0elJDeHhRa0ZCZFVJc1IwRkZka0oyUkN4SlFVRlpReXhQUVVOb1FuQkRMRVZCUVVWcFF5eExRVUZOUlN4RlFVRlRReXhMUVVGTGJVSXNaVUZCWjBKdVFpeE5RVU4wUTBFc1MwRkJTM1ZFTEV0QlFVc3NSVUZCVFhaRUxFdEJRVXRFTEZGQlFWTXNRMEZETjBKMFFpeFBRVUZSTEZOQlFWVXJSU3hIUVVOYVFTeEZRVUZOYUVNc1UwRkJWM3BDTEVkQlEzSkNReXhMUVVGTGVVUXNZVUZKVW5wRUxFdEJRVXN3UkN4VFFVRlhPVVlzUlVGQlIyMURMRVZCUVZFMFJDeE5RVWN4UWpWRUxFVkJRVkUyUkN4alFVZFNOMFFzUlVGQlVUSkVMRlZCUVZrelJDeEhRVU55UWtNc1MwRkJTelpFTEU5QlFWTnFSeXhGUVVGSGIwTXNTMEZCU3pCRUxGTkJRVlVzUjBGQlNVa3NZVUZCWlRsRUxFdEJRVXN3UkN4VFFVRlZMRWRCUVVsTExHVkJSM1pGTDBRc1MwRkJTMFlzVVVGQlZXeERMRVZCUVVWblFpeFBRVUZQV1N4UFFVRlJMRWRCUXk5Q1VTeExRVUZMUml4UlFVTk1SU3hMUVVGTFowVXNiMEpCUTB4c1JTeEhRVVZFUlN4TFFVRkxhVVVzVlVGRlFXcEZMRXRCUVV0R0xGRkJRVkZwUkN4VlFVTnFRaTlETEV0QlFVdHJSU3h0UWtGQmIwSnNSU3hMUVVGTFJpeFJRVUZSYVVRc1ZVRkhka012UXl4TFFVRkxiVVVzVTBGQlZTeFRRVUZWTEV0QlFVMXVSU3hMUVVGTGIwVXNkVUpCUTNCRGNFVXNTMEZCU3pSRExGTkJSMDV2UWl4clFrRkJiVUlzVjBGRGJFSXNUVUZCVHl4SlFVZFNTU3h2UWtGQmNVSjRSeXhGUVVGRmVVY3NTMEZGZGtKS0xGRkJRVk55Unl4RlFVRkZlVWNzUzBGRldIcENMRTFCUVU5b1JpeEZRVUZGZVVjc1MwRkZWRm9zVVVGQlV5eFhRVU5TTEVsQlFVbGhMRVZCUVU5MFJTeExRVVZZUVN4TFFVRkxkVVVzVjBGRFRETkhMRVZCUVVVeVF5eExRVUZOVUN4TFFVRkxjMFFzY1VKQlFYTkNMRk5CUVZVM1FpeEZRVUZMYUVJc1IwRkRha1EyUkN4RlFVRkxSU3hoUVVGakwwUXNSVUZCVDJkQ0xFdEJTek5DZWtJc1MwRkJTMFFzVVVGRFNEQkZMRWxCUVV0NlJTeExRVUZMYTBRc1owSkJRMVozUWl4WFFVRlpNVVVzUzBGQlMyMUNMR2RDUVVOdVFtNUNMRXRCUVV0d1FpeFRRVU5JTmtZc1NVRkJTM3BGTEV0QlFVdHJSQ3huUWtGRFZubENMRmRCUVZrc2FVSkJSMlF6UlN4TFFVRkxiVVFzVTBGQlUzTkNMRWxCUVV0NlJTeExRVUZMYTBRc2FVSkJSM3BDY1VJc1UwRkJWVE5ITEVWQlFVVjVSeXhMUVVWYWVrWXNUMEZCVVN4WFFVTlFMRTlCUVU5dlFpeExRVUZMUkN4VFFVZGlORU1zVDBGQlVTeFRRVUZWYkVJc1JVRkJTMmhDTEVkQlEzUkNMRWxCUTBsdFJTeEZRVU5CUXl4RlFVTkJkRWNzUlVGSVFYVkNMRVZCUVZVeVFpeEZRVXRrTEVkQlFUQkNMRWxCUVhKQ2RrSXNWVUZCVlVNc1QwRkhaQ3hQUVVGUGRrTXNSVUZCUldkQ0xFOUJRVTlaTEU5QlFWRXNSMEZCU1ZFc1MwRkJTMFlzVTBGSGJFTXNSMEZCYjBJc2FVSkJRVkl5UWl4RlFVMVlMRWRCU0VFelFpeEZRVUZWTEVkQlExWTRSU3hGUVVGUmJrUXNSVUZCU1hKRExFMUJRVThzUzBGRGJrSnhReXhGUVVGTmJVUXNSVUZCVFVVc1VVRkRVRVlzUlVGQlRYcEZMRTlCUVZNc1EwRkZia0lzU1VGRVFUQkZMRVZCUVZrdlJTeEZRVUZUTWtJc1IwRkJVVGRFTEVWQlFVVm5RaXhQUVVGUFdTeFBRVUZSTEVkQlFVbFJMRXRCUVV0R0xGRkJRVk15UWl4SlFVTXhSR3hFTEVWQlFVa3NSVUZCUjBFc1JVRkJTWEZITEVWQlFVMTZSU3hQUVVGVExFVkJRVWMxUWl4SlFVTnNRM05ITEVWQlFWZEVMRVZCUVU5eVJ5eEpRVUZSYzBjc1JVRkJWMFFzUlVGQlQzSkhMRXRCUVZNc1IwRkRja1J6Unl4RlFVRlpRU3hGUVVGWFJDeEZRVUZQY2tjc1NVRkhMMElzUjBGRVFXdEVMRVZCUVUxdFJDeEZRVUZOUnl4TlFVTmpMRWxCUVhKQ04wVXNWVUZCVlVNc1QwRkRaQ3haUVVFMFFqUkNMRWxCUVhKQ09FTXNSVUZCVjNCRUxFZEJRWE5DTEV0QlFVOXZSQ3hGUVVGWGNFUXNSMEZGTTBSdlJDeEZRVUZYY0VRc1IwRkJVV2hDTEUxQlEySXNRMEZEVGl4SFFVRXdRaXhKUVVGeVFsQXNWVUZCVlVNc1QwRkRaQ3haUVVFclFqUkNMRWxCUVhoQ0wwSXNTMEZCUzBZc1VVRkJVekpDTEVkQlFYTkNMRXRCUVU5NlFpeExRVUZMUml4UlFVRlRNa0lzUjBGRmFrVXpRaXhGUVVGVE1rSXNSMEZCVVdoQ0xFVkJUVzVDTEU5QlJrRlVMRXRCUVV0blJpeFpRVUZoYkVZc1IwRkZXRVVzVFVGSFVtZEdMRmxCUVdFc1UwRkJWV3hHTEVkQlEzUkNMRWxCUVVreVFpeEZRVVZLTEVsQlFVMUJMRXRCUVU4elFpeEZRVU5hUlN4TFFVRkxhVVlzVjBGQldYaEVMRVZCUVVzelFpeEZRVUZUTWtJc1NVRkhhRU1zVDBGQlQzcENMRTFCUjFKcFJpeFhRVUZaTEZOQlFWVjRSQ3hGUVVGTGFFSXNSMEZYTVVJc1RVRldZU3haUVVGU1owSXNSMEZEU25wQ0xFdEJRVXRyUml4clFrRkJiVUo2UlN4SFFVZDZRbFFzUzBGQlMwWXNVVUZCVXpKQ0xFZEJRVkZvUWl4RlFVVlVMR0ZCUVZKblFpeEhRVU5LZWtJc1MwRkJTMnRGTEcxQ1FVRnZRbnBFTEVkQlIyNUNWQ3hOUVVkU2EwWXNhMEpCUVcxQ0xGTkJRVlY2UlN4SFFVTTFRaXhKUVVGSk1FVXNSVUZCVlVNc1JVRkJWVU1zUlVGRmVFSXNTVUZCVFVZc1MwRkJXVEZGTEVWQlEycENORVVzUlVGQmEwSnlSaXhMUVVGTGMwUXNjVUpCUVhOQ05rSXNSMEZEZUVNeFJTeEZRVUZQTUVVc1MwRkJaVzVHTEV0QlFVdEdMRkZCUVZGblJDeFJRVUZUY1VNc1NVRkRPVU5GTEVkQlEwRkJMRVZCUVdkQ2JFWXNVMEZSYmtKcFJpeEZRVUZYZUVnc1JVRkJSM2xJTEVWQlFXZENOVU1zVDBGRE9VSjZReXhMUVVGTGQwVXNZVUZCWTJFc1JVRkJhVUpHTEVkQlRYQkRReXhGUVVGVFJTeFRRVUZWZEVZc1MwRkJTM1ZHTEZOQlFWVXNRMEZEYWtONFJpeFJRVUZUY1VZc1JVRkRWRWtzUzBGQlRVd3NSVUZEVG5KRExGRkJRVk55UXl4RlFVTlVaMFlzUzBGQlN5eFBRVXRTZGtJc2JVSkJRVzlDTEZOQlFWVjZSQ3hIUVVNM1FsUXNTMEZCU3pCR0xHRkJRV014Uml4TFFVRkxjRUlzVTBGQlZXOUNMRXRCUVV0dFFpeGxRVUZwUWl4WlFVRmhMRTlCUVZGV0xFZEJSM2hGUVN4SlFVTktWQ3hMUVVGTGQwVXNZVUZCWTNoRkxFdEJRVXR2UkN4VlFVRlhMRXRCUVUwc2EwSkJRM3BEY0VRc1MwRkJTM2RGTEdGQlFXTjRSU3hMUVVGTGNVUXNWVUZCVnl4TFFVRk5MRzlDUVVrelEzTkRMRTlCUVZFc1YwRkRVQ3hQUVVGUE0wWXNTMEZCUzJkR0xGbEJRV0VzUTBGQlJXcERMRlZCUVZVc1MwRkhkRU0yUXl4UlFVRlRMRmRCUTFJc1QwRkJUelZHTEV0QlFVdG5SaXhaUVVGaExFTkJRVVZxUXl4VlFVRlZMRXRCUjNSRGQwTXNVMEZCVlN4VFFVRlZla1lzUjBGRGJrSXNTVUZCU1N0R0xFVkJRVThzUjBGRFVIWkNMRVZCUVU5MFJTeExRVTlZTEZOQlFWTTRSaXhGUVVGdlFtaEVMRVZCUVZOcFJDeEhRVU55UXl4SlFVRkpReXhGUVVGVGVrZ3NSVUZEWWl4SlFVRk5RU3hGUVVGSkxFVkJRVWRCTEVWQlFVbDFSU3hGUVVGUk0wTXNUMEZCVVRWQ0xFbEJRMmhEZVVnc1JVRkJWVEZDTEVWQlFVdG9RaXh4UWtGQmMwSlNMRVZCUVZOMlJTeExRVUZUV0N4SlFVVjBSRzlKTEVWQlJFbHNSeXhGUVVGUk1rWXNTVUZEUmpkSUxFVkJRVWRCTEVWQlFVVnhTU3hQUVVGUlJDeEZRVUZSZGtRc1RVRkJUUzlETEU5QlFWRkpMRVZCUVZGRExGRkJRVkV3UXl4VFFVVnVSRGRGTEVWQlFVZHZTU3hGUVVGUlJTeEpRVUZMY0Vjc1JVRkJVVU1zVTBGQlZUQkRMRTlCUlRkRE5rSXNSVUZCUzJoQ0xIRkNRVUZ6UWxJc1JVRkJVM1pGTEVsQlFWRjVTQ3hGUVVNMVEwZ3NSVUZCUzNaRkxFdEJRVTEzUWl4RlFVRlRka1VzU1VGRFpuZElMRWRCUVdWcVJ5eEZRVUZSWjBRc1VVRkJVMEVzUlVGQlUzWkZMRXRCUXpkRGMwZ3NSVUZCUzNaRkxFdEJRVTE0UWl4RlFVRlJaMFFzVVVGQlUwRXNSVUZCVTNaRkxFdEJaMEo0UXl4UFFXcERRWFZDTEVWQlFWVnNReXhGUVVGRk5FSXNUMEZCVVN4RFFVTnVRazhzVVVGQlUwTXNTMEZCUzBRc1VVRkRaQ3RETEZGQlFWTTVReXhMUVVGTFJpeFJRVUZSWjBRc1UwRkJWeXhKUVVNdlFtaEVMRWRCYlVKSVJTeExRVUZMZFVRc1NVRkJTM3BFTEVWQlFWRkRMRkZCUVZNc1EwRkRNVUowUWl4UFFVRlZMREpDUVVkT2NVSXNSVUZCVVRCR0xFMUJRMXBOTEVWQlFXOUNhRWNzUlVGQlVUQkdMRXRCUVV0WExFMUJRVThzVTBGQldTeEpRVUZKTEVkQlJYQkVja2NzUlVGQlVYTkhMRTlCUTFwT0xFVkJRVzlDYUVjc1JVRkJVWE5ITEUxQlFVMUVMRTFCUVU4c1UwRkJXU3hKUVVjdlEwNHNSVUZCUzFFc1MwRkJUU3hOUVVkdVFrTXNkVUpCUVhkQ0xGTkJRVlU1UXl4SFFVTnFReXhKUVVGSll5eEZRVUZQZEVVc1MwRkRXSEJETEVWQlFVVXlReXhMUVVGTkswUXNSVUZCUzJoQ0xIRkNRVUZ6UWl4VFFVRlZOMElzUlVGQlMyaENMRWxCUTA0c1NVRkJkRU0zUXl4RlFVRkZNa2tzVVVGQlV5OURMRVZCUVUxb1F5eFBRVUZSWml4TFFVTTNRalpFTEVWQlFVdG9RaXh4UWtGQmMwSTNRaXhIUVVGUk4wUXNSVUZCUnpaRExFVkJRVTE1Uml4SlFVRkxNVU1zUlVGQlRXaERMRkZCUVZOcFFpeFhRVXR1UlN0Q0xHRkJRV01zVTBGQlZYcEZMRVZCUVZONVJpeEZRVUZOV1N4SFFVTjBReXhQUVVGUGNFY3NTMEZCU3pCR0xHRkJRV016Uml4RlFVRlRlVVlzUlVGQlRWa3NSMEZCVHl4SlFVZHFSRWtzVlVGQlZ5eFRRVUZWZWtjc1JVRkJVM2xHTEVWQlFVMVpMRWRCUTI1RExFOUJRVTl3Unl4TFFVRkxNRVlzWVVGQll6TkdMRVZCUVZONVJpeEZRVUZOV1N4SFFVRlBMRWxCUjJwRVZpeGhRVUZqTEZOQlFWVXpSaXhGUVVGVGVVWXNSVUZCVFZrc1JVRkJUMWdzUjBGRE4wTkJMRVZCUVhWQ0xHdENRVUZTUVN4RlFVRnpRa0VzUlVGQlRWY3NSVUZETTBNc1NVRkJTWFJDTEVWQlFUWkNMR2xDUVVGYUwwVXNSMEZCYjBNc1QwRkJXa0VzUlVGRE5VTkVMRVZCUVZVc1EwRkRWSE5ITEUxQlFVOTBRaXhGUVVGUlZTeEZRVUZQV1N4RlFVTjBRbG9zUzBGQlRWWXNSVUZCVVM5RkxFVkJRVlY1Uml4RlFVTjRRbnBHTEZGQlFWTXJSU3hGUVVGUk9VVXNTMEZCUzBRc1VVRkJWVUVzUlVGRGFFTXdSaXhKUVVGTFFTeEhRVWRRTEU5QlJFRXpSaXhGUVVGUlF5eFJRVUZSTUVjc1dVRkJZWHBITEV0QlFVdDFSaXhUUVVGVmVrWXNSMEZCVnpKR0xFZEJRMmhFZWtZc1RVRkhVblZFTEVsQlFVc3NVMEZCVlcxRUxFVkJRWFZDTTBjc1JVRkJVelJITEVkQlF6bERMRWxCUVVsRExFVkJRMEYyUlN4RlFVRlhja01zUzBGSGRVSXNhMEpCUVRGQ01FY3NTVUZEV0VNc1JVRkJWelZITEVWQlExaEJMRVZCUVZVeVJ5eEZRVU5XUVN4SFFVRjNRaXhIUVVsdVFrTXNSMEZMVERWSExFVkJRVlUyUnl4RlFVRnJRbWhLTEVWQlFVZHRReXhIUVVNdlFrTXNTMEZCUzIxRUxGTkJRVmR1UkN4TFFVRkxiVVFzVTBGQlUzTkRMRWxCUVVzeFJpeExRVXh1UXpSSExFVkJRVmMxUnl4RlFVTllRU3hGUVVGVlF5eExRVUZMUkN4UlFVTm1Oa2NzUlVGQmEwSTFSeXhMUVVGTGNFSXNWVUZOZUVKb1FpeEZRVUZGTWtNc1MwRkJUVzlITEVWQlFWVXNVMEZCVlc1RUxFVkJRVTl4UkN4SFFVTnNReXhUUVVGVFF5eEpRVXRTTEVkQlFVMUtMRWxCUXpSQ0xFbEJRVGxDY2tVc1JVRkJVM1pETEZGQlFWRnBSQ3hYUVVOdVFtNUdMRVZCUVVkdlF5eE5RVUZQSzBjc1UwRkJWU3h4UWtGSGRFSXNUMEZCTkVJc2FVSkJRVnBHTEVWQlFYVkNlRVVzUlVGQlZYZEZMRWRCUVZsQkxFZEJRek5FY0Vnc1RVRkJUelJETEVWQlFWVnVReXhYUVVsSkxHbENRVUZhTWtjc1NVRkRXRU1zUlVGQllVVXNTMEZCVDBnc1JVRkJVVWNzUzBGRE0wSklMRVZCUVZGSExFMUJRVkZHTEVWQlFXRkZMRTFCUVZGd1NpeEZRVUZGYjBvc1VVRkhla01zU1VGQlNXSXNSVUZCVVRORExFVkJRVTB5UXl4TlFVRlBMSE5DUVVOeVFtTXNSVUZCV1dRc1JVRkJUeXhIUVVGTk9VUXNSVUZCVTJFc1pVRkRiRU5uUlN4RlFVRlhaaXhGUVVGUExFZEJSV3BDWlN4RlFVTktUaXhGUVVGblFrOHNSMEZCU1VZc1JVRkJWME1zUlVGQlZVb3NSMEZGZWtNdlJ5eEZRVUZSYjBnc1IwRkJTVVlzUlVGQlYwZ3NUVUZMTVVKTkxFdEJRVTBzVTBGQlZYSklMRVZCUVZOclNDeEhRVU40UWtFc1IwRkJZMEVzUjBGQllTeEpRVUZMTjBnc1RVRkJUeXhMUVVGTmFVZ3NTMEZCVFhKSExFdEJRVXRyUkN4bFFVRnBRaXhMUVVONFJXeEVMRXRCUVV0clJDeGxRVU5PYmtRc1JVRkJVVEJGTEVsQlFVdDNReXhIUVVGWmVFTXNTVUZCUzNkRExFZEJSemxDYWtnc1MwRkJTMjFFTEZOQlFWZDJSaXhGUVVGSGIwTXNTMEZCUzIxRUxGTkJRVk1yUXl4SlFVRkxia2NzUjBGQlZUQkRMRTlCUTJoRWVrTXNTMEZCUzNGRUxGVkJRVmw2Uml4RlFVRkhiME1zUzBGQlMzRkVMRlZCUVZVMlF5eEpRVUZMYmtjc1IwRkJWVEJETEU5QlEyeEVla01zUzBGQlMyOUVMRlZCUVZsNFJpeEZRVUZIYjBNc1MwRkJTMjlFTEZWQlFWVTRReXhKUVVGTGJrY3NSMEZCVlRCRExGRkJSMjVFTkVVc1QwRkJVU3hUUVVGVlVpeEZRVUZUVXl4SFFVc3hRaXhKUVVGSmFrWXNSVUZCVjNKRExFdEJRMllzVDBGQlQzVklMRmRCVEZBc1YwRkRReXhQUVVFMFFpeHBRa0ZCV2xZc1JVRkJkVUo0UlN4RlFVRlZkMFVzUjBGQldVRXNSMEZETTBSd1NDeE5RVUZQTkVNc1JVRkJWVzVETEZsQlIyRnZTQ3hIUVVGVExFbEJSek5EUlN4WFFVRlpMRk5CUVZWNlNDeEhRVU55UWtNc1MwRkJTMjlFTEZWQlFWbHdSQ3hMUVVGTGIwUXNWVUZCVlhGRExFbEJRVXN4Uml4SFFVTnlRME1zUzBGQlMzVkVMRWxCUVV0NFJDeEZRVUZUTEVOQlEyeENNRWdzVjBGQldTeFRRVUZWYWtVc1IwRkRja0o0UkN4TFFVRkxkMGNzVlVGQlZ6VkpMRVZCUVVjMFJpeEZRVUZOYTBVc1pVRkJhVUlzUzBGQlRTeHRRa0ZGYWtSRExGZEJRVmtzVTBGQlZXNUZMRWRCUTNKQ2VFUXNTMEZCUzNkRkxHRkJRV00xUnl4RlFVRkhORVlzUlVGQlRXdEZMR1ZCUVdsQ0xFdEJRVTBzYzBKQlMzUkVSU3hYUVVGWkxGTkJRVlUzU0N4SFFVTnlRa01zUzBGQlMzRkVMRlZCUVZseVJDeExRVUZMY1VRc1ZVRkJWVzlETEVsQlFVc3hSaXhIUVVOeVEwTXNTMEZCUzNWRUxFbEJRVXQ0UkN4RlFVRlRMRU5CUTJ4Q09FZ3NVVUZCVXl4VFFVRlZja1VzUjBGRGJFSjRSQ3hMUVVGTGQwY3NWVUZCVnpWSkxFVkJRVWMwUml4RlFVRk5hMFVzWlVGQmFVSXNTMEZCVFN4dFFrRkZha1JKTEZOQlFWVXNVMEZCVlhSRkxFZEJRMjVDZUVRc1MwRkJTM2RGTEdGQlFXTTFSeXhGUVVGSE5FWXNSVUZCVFd0RkxHVkJRV2xDTEV0QlFVMHNjMEpCUzNSRWRrUXNVMEZCVlN4VFFVRlZORVFzUlVGQlRYWkZMRVZCUVU4elJDeEhRVU5vUXl4SlFVRkpWeXhGUVVGTk0wTXNSVUZEVG0xTExFVkJRVmRvU1N4TFFVRkxSaXhSUVVGVGFVa3NSMEZqTjBJc1IwRmFRV3hKTEVWQlFVOUJMRWRCUVZFc1NVRkRaakpFTEVWQlFWRTFSaXhGUVVGRmNVc3NUVUZCVDNwRkxFbEJRMWgxUlN4TlFVRlRRU3hKUVVGVEwwZ3NTMEZCUzJsQ0xHdENRVU0xUWpoSExFVkJRMEV2U0N4TFFVRkxhVUlzYTBKQlFXOUNPRWNzUjBGQlQyNUpMR05CU1dwRE5FUXNSVUZCVFdoRExFOUJRVk40UWl4TFFVRkxSQ3hSUVVGVExFZEJSemRDYkVNc1JVRkJUekpHTEVWQlFVMHdSU3hqUVVWYUxFbEJRVTB4U0N4TFFVRlJNME1zUlVGRFRESkRMRXRCUVZGblJDeEpRVU5tUVN4RlFVRlBhRVFzUjBGQlV6TkRMRVZCUVUweVF5eEpRVTE2UWl4UFFVUkJVaXhMUVVGTFJDeFJRVUZSYjBrc1VVRkJVek5GTEVWQlFVOHpSQ3hMUVVOdVFtcERMRVZCUVVVNFF5eFhRVUZaYzBnc1MwRkRNa01zU1VGQmJFVkJMRVZCUVZOMlNTeE5RVUZQVHl4TFFVRkxSQ3hSUVVGVExFZEJRVXNzUTBGQlJYbEVMRWRCUVZFNVJDeFBRVUZSUnl4TFFVTnlSREpFTEVWQlFVMDBSU3gzUWtGSlZIaExMRVZCUVVVeVF5eExRVUZOTEVOQlFVVTRTQ3hMUVVGTkxGTkJRVlZETEV0QlFVMHNWMEZCWVN4VFFVRlZReXhGUVVGUlF5eEhRVU01UkRWTExFVkJRVVV3UWl4UFFVRlBja0lzVlVGQlZ5eEpRVUZOYzBzc1IwRkJWeXhUUVVGVmVFa3NSVUZCVTBRc1JVRkJVMnRKTEVkQlMyaEZMRWxCUVVsVExFVkJTbTlDTEdsQ1FVRmFNMGtzU1VGRFdFRXNSVUZCVlN4RFFVRkZORWtzVDBGQlVUVkpMRWxCU1hKQ0xFbEJRVWsyU1N4RlFVRmpOMGtzUjBGRlRDeEpRVUZhUVN4SFFVRjFReXhwUWtGQldrRXNSVUZETVVJd1NTeEZRVU5CTVVrc1JVRkJVVFJKTEZGQlFWVkdMRVZCU0c1Q1JDeEZRVTExUWl4cFFrRkVlRUo2U1N4RlFVRlZRU3hIUVVGWExFMUJSWEJDUVN4RlFVRlZMRU5CUVVVNFNTeFRRVUZWT1Vrc1NVRkhka0l5U1N4SFFVRmpOMHNzUlVGQlJXbE1MR05CUVdVdlNTeEhRVU12UWtFc1JVRkJVV2RLTEZOQlFWZGtMRVZCUldSc1NTeEZRVUZSZDBnc1QwRkRXblpJTEVWQlFWRjFTQ3hOUVVGUGVFZ3NSVUZCVVhkSUxFOUJSMjVDYlVJc1IwRkJZemRMTEVWQlFVVnRUQ3hUUVVGWGJrd3NSVUZCUlcxTUxGRkJRVkZNTEU5QlFWRkRMRWRCUTJwRU5Va3NSVUZCVTNkSkxFZEJRVlY2U1N4SFFVTlNOa2tzU1VGQlpVb3NSMEZCVlhoSkxFVkJRVk0wU1N4SFFVTTNRelZKTEVWQlFWTTBTU3hIUVVGak4wa3NSVUZCVVRoSkxGTkJRVlU1U1N4RlFVRlJhMG9zVDBGQlVXaENMRWRCUlhwRWFra3NSVUZCVVd0S0xFMUJRVThzVTBGQlZVTXNSMEZEZUVKMFRDeEZRVUZIYjBNc1RVRkJVWFZKTEV0QlEwNVFMRWRCUTBwQkxFVkJRVk55Unl4TFFVRk5OVUlzUlVGQlV5eEpRVVY2UW0xS0xGTkJUVWQwVEN4RlFVRkZaMElpTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmMzUmhaMmx1Wnk5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OXFjWFZsY25rdGRXa3ZkV2t2ZDJsa1oyVjBMbXB6SW4wPSIsIiFmdW5jdGlvbihlLHQpe1widXNlIHN0cmljdFwiO1wib2JqZWN0XCI9PXR5cGVvZiBtb2R1bGUmJlwib2JqZWN0XCI9PXR5cGVvZiBtb2R1bGUuZXhwb3J0cz9tb2R1bGUuZXhwb3J0cz1lLmRvY3VtZW50P3QoZSwhMCk6ZnVuY3Rpb24oZSl7aWYoIWUuZG9jdW1lbnQpdGhyb3cgbmV3IEVycm9yKFwialF1ZXJ5IHJlcXVpcmVzIGEgd2luZG93IHdpdGggYSBkb2N1bWVudFwiKTtyZXR1cm4gdChlKX06dChlKX0oXCJ1bmRlZmluZWRcIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6dGhpcyxmdW5jdGlvbihlLHQpe1widXNlIHN0cmljdFwiO3ZhciBuPVtdLHI9T2JqZWN0LmdldFByb3RvdHlwZU9mLGk9bi5zbGljZSxvPW4uZmxhdD9mdW5jdGlvbihlKXtyZXR1cm4gbi5mbGF0LmNhbGwoZSl9OmZ1bmN0aW9uKGUpe3JldHVybiBuLmNvbmNhdC5hcHBseShbXSxlKX0sYT1uLnB1c2gscz1uLmluZGV4T2YsdT17fSxsPXUudG9TdHJpbmcsYz11Lmhhc093blByb3BlcnR5LGY9Yy50b1N0cmluZyxwPWYuY2FsbChPYmplY3QpLGQ9e30saD1mdW5jdGlvbihlKXtyZXR1cm5cImZ1bmN0aW9uXCI9PXR5cGVvZiBlJiZcIm51bWJlclwiIT10eXBlb2YgZS5ub2RlVHlwZSYmXCJmdW5jdGlvblwiIT10eXBlb2YgZS5pdGVtfSxnPWZ1bmN0aW9uKGUpe3JldHVybiBudWxsIT1lJiZlPT09ZS53aW5kb3d9LHY9ZS5kb2N1bWVudCx5PXt0eXBlOiEwLHNyYzohMCxub25jZTohMCxub01vZHVsZTohMH07ZnVuY3Rpb24gbShlLHQsbil7dmFyIHIsaSxvPShuPW58fHYpLmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIik7aWYoby50ZXh0PWUsdClmb3IociBpbiB5KShpPXRbcl18fHQuZ2V0QXR0cmlidXRlJiZ0LmdldEF0dHJpYnV0ZShyKSkmJm8uc2V0QXR0cmlidXRlKHIsaSk7bi5oZWFkLmFwcGVuZENoaWxkKG8pLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobyl9ZnVuY3Rpb24geChlKXtyZXR1cm4gbnVsbD09ZT9lK1wiXCI6XCJvYmplY3RcIj09dHlwZW9mIGV8fFwiZnVuY3Rpb25cIj09dHlwZW9mIGU/dVtsLmNhbGwoZSldfHxcIm9iamVjdFwiOnR5cGVvZiBlfXZhciBiPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIG5ldyBiLmZuLmluaXQoZSx0KX07ZnVuY3Rpb24gdyhlKXt2YXIgdD0hIWUmJlwibGVuZ3RoXCJpbiBlJiZlLmxlbmd0aCxuPXgoZSk7cmV0dXJuIWgoZSkmJiFnKGUpJiYoXCJhcnJheVwiPT09bnx8MD09PXR8fFwibnVtYmVyXCI9PXR5cGVvZiB0JiZ0PjAmJnQtMSBpbiBlKX1iLmZuPWIucHJvdG90eXBlPXtqcXVlcnk6XCIzLjYuMFwiLGNvbnN0cnVjdG9yOmIsbGVuZ3RoOjAsdG9BcnJheTpmdW5jdGlvbigpe3JldHVybiBpLmNhbGwodGhpcyl9LGdldDpmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZT9pLmNhbGwodGhpcyk6ZTwwP3RoaXNbZSt0aGlzLmxlbmd0aF06dGhpc1tlXX0scHVzaFN0YWNrOmZ1bmN0aW9uKGUpe3ZhciB0PWIubWVyZ2UodGhpcy5jb25zdHJ1Y3RvcigpLGUpO3JldHVybiB0LnByZXZPYmplY3Q9dGhpcyx0fSxlYWNoOmZ1bmN0aW9uKGUpe3JldHVybiBiLmVhY2godGhpcyxlKX0sbWFwOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnB1c2hTdGFjayhiLm1hcCh0aGlzLGZ1bmN0aW9uKHQsbil7cmV0dXJuIGUuY2FsbCh0LG4sdCl9KSl9LHNsaWNlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGkuYXBwbHkodGhpcyxhcmd1bWVudHMpKX0sZmlyc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcSgwKX0sbGFzdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVxKC0xKX0sZXZlbjpmdW5jdGlvbigpe3JldHVybiB0aGlzLnB1c2hTdGFjayhiLmdyZXAodGhpcyxmdW5jdGlvbihlLHQpe3JldHVybih0KzEpJTJ9KSl9LG9kZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnB1c2hTdGFjayhiLmdyZXAodGhpcyxmdW5jdGlvbihlLHQpe3JldHVybiB0JTJ9KSl9LGVxOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMubGVuZ3RoLG49K2UrKGU8MD90OjApO3JldHVybiB0aGlzLnB1c2hTdGFjayhuPj0wJiZuPHQ/W3RoaXNbbl1dOltdKX0sZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHJldk9iamVjdHx8dGhpcy5jb25zdHJ1Y3RvcigpfSxwdXNoOmEsc29ydDpuLnNvcnQsc3BsaWNlOm4uc3BsaWNlfSxiLmV4dGVuZD1iLmZuLmV4dGVuZD1mdW5jdGlvbigpe3ZhciBlLHQsbixyLGksbyxhPWFyZ3VtZW50c1swXXx8e30scz0xLHU9YXJndW1lbnRzLmxlbmd0aCxsPSExO2ZvcihcImJvb2xlYW5cIj09dHlwZW9mIGEmJihsPWEsYT1hcmd1bWVudHNbc118fHt9LHMrKyksXCJvYmplY3RcIj09dHlwZW9mIGF8fGgoYSl8fChhPXt9KSxzPT09dSYmKGE9dGhpcyxzLS0pO3M8dTtzKyspaWYobnVsbCE9KGU9YXJndW1lbnRzW3NdKSlmb3IodCBpbiBlKXI9ZVt0XSxcIl9fcHJvdG9fX1wiIT09dCYmYSE9PXImJihsJiZyJiYoYi5pc1BsYWluT2JqZWN0KHIpfHwoaT1BcnJheS5pc0FycmF5KHIpKSk/KG49YVt0XSxvPWkmJiFBcnJheS5pc0FycmF5KG4pP1tdOml8fGIuaXNQbGFpbk9iamVjdChuKT9uOnt9LGk9ITEsYVt0XT1iLmV4dGVuZChsLG8scikpOnZvaWQgMCE9PXImJihhW3RdPXIpKTtyZXR1cm4gYX0sYi5leHRlbmQoe2V4cGFuZG86XCJqUXVlcnlcIisoXCIzLjYuMFwiK01hdGgucmFuZG9tKCkpLnJlcGxhY2UoL1xcRC9nLFwiXCIpLGlzUmVhZHk6ITAsZXJyb3I6ZnVuY3Rpb24oZSl7dGhyb3cgbmV3IEVycm9yKGUpfSxub29wOmZ1bmN0aW9uKCl7fSxpc1BsYWluT2JqZWN0OmZ1bmN0aW9uKGUpe3ZhciB0LG47cmV0dXJuISghZXx8XCJbb2JqZWN0IE9iamVjdF1cIiE9PWwuY2FsbChlKSkmJighKHQ9cihlKSl8fFwiZnVuY3Rpb25cIj09dHlwZW9mKG49Yy5jYWxsKHQsXCJjb25zdHJ1Y3RvclwiKSYmdC5jb25zdHJ1Y3RvcikmJmYuY2FsbChuKT09PXApfSxpc0VtcHR5T2JqZWN0OmZ1bmN0aW9uKGUpe3ZhciB0O2Zvcih0IGluIGUpcmV0dXJuITE7cmV0dXJuITB9LGdsb2JhbEV2YWw6ZnVuY3Rpb24oZSx0LG4pe20oZSx7bm9uY2U6dCYmdC5ub25jZX0sbil9LGVhY2g6ZnVuY3Rpb24oZSx0KXt2YXIgbixyPTA7aWYodyhlKSlmb3Iobj1lLmxlbmd0aDtyPG4mJiExIT09dC5jYWxsKGVbcl0scixlW3JdKTtyKyspO2Vsc2UgZm9yKHIgaW4gZSlpZighMT09PXQuY2FsbChlW3JdLHIsZVtyXSkpYnJlYWs7cmV0dXJuIGV9LG1ha2VBcnJheTpmdW5jdGlvbihlLHQpe3ZhciBuPXR8fFtdO3JldHVybiBudWxsIT1lJiYodyhPYmplY3QoZSkpP2IubWVyZ2UobixcInN0cmluZ1wiPT10eXBlb2YgZT9bZV06ZSk6YS5jYWxsKG4sZSkpLG59LGluQXJyYXk6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBudWxsPT10Py0xOnMuY2FsbCh0LGUsbil9LG1lcmdlOmZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPSt0Lmxlbmd0aCxyPTAsaT1lLmxlbmd0aDtyPG47cisrKWVbaSsrXT10W3JdO3JldHVybiBlLmxlbmd0aD1pLGV9LGdyZXA6ZnVuY3Rpb24oZSx0LG4pe2Zvcih2YXIgcj1bXSxpPTAsbz1lLmxlbmd0aCxhPSFuO2k8bztpKyspIXQoZVtpXSxpKSE9PWEmJnIucHVzaChlW2ldKTtyZXR1cm4gcn0sbWFwOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLGE9MCxzPVtdO2lmKHcoZSkpZm9yKHI9ZS5sZW5ndGg7YTxyO2ErKyludWxsIT0oaT10KGVbYV0sYSxuKSkmJnMucHVzaChpKTtlbHNlIGZvcihhIGluIGUpbnVsbCE9KGk9dChlW2FdLGEsbikpJiZzLnB1c2goaSk7cmV0dXJuIG8ocyl9LGd1aWQ6MSxzdXBwb3J0OmR9KSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBTeW1ib2wmJihiLmZuW1N5bWJvbC5pdGVyYXRvcl09bltTeW1ib2wuaXRlcmF0b3JdKSxiLmVhY2goXCJCb29sZWFuIE51bWJlciBTdHJpbmcgRnVuY3Rpb24gQXJyYXkgRGF0ZSBSZWdFeHAgT2JqZWN0IEVycm9yIFN5bWJvbFwiLnNwbGl0KFwiIFwiKSxmdW5jdGlvbihlLHQpe3VbXCJbb2JqZWN0IFwiK3QrXCJdXCJdPXQudG9Mb3dlckNhc2UoKX0pO3ZhciBUPWZ1bmN0aW9uKGUpe3ZhciB0LG4scixpLG8sYSxzLHUsbCxjLGYscCxkLGgsZyx2LHksbSx4LGI9XCJzaXp6bGVcIisxKm5ldyBEYXRlLHc9ZS5kb2N1bWVudCxUPTAsQz0wLEU9dWUoKSxTPXVlKCksaz11ZSgpLEE9dWUoKSxOPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU9PT10JiYoZj0hMCksMH0saj17fS5oYXNPd25Qcm9wZXJ0eSxEPVtdLHE9RC5wb3AsTD1ELnB1c2gsSD1ELnB1c2gsTz1ELnNsaWNlLFA9ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49MCxyPWUubGVuZ3RoO248cjtuKyspaWYoZVtuXT09PXQpcmV0dXJuIG47cmV0dXJuLTF9LFI9XCJjaGVja2VkfHNlbGVjdGVkfGFzeW5jfGF1dG9mb2N1c3xhdXRvcGxheXxjb250cm9sc3xkZWZlcnxkaXNhYmxlZHxoaWRkZW58aXNtYXB8bG9vcHxtdWx0aXBsZXxvcGVufHJlYWRvbmx5fHJlcXVpcmVkfHNjb3BlZFwiLE09XCJbXFxcXHgyMFxcXFx0XFxcXHJcXFxcblxcXFxmXVwiLEk9XCIoPzpcXFxcXFxcXFtcXFxcZGEtZkEtRl17MSw2fVwiK00rXCI/fFxcXFxcXFxcW15cXFxcclxcXFxuXFxcXGZdfFtcXFxcdy1dfFteXFwwLVxcXFx4N2ZdKStcIixXPVwiXFxcXFtcIitNK1wiKihcIitJK1wiKSg/OlwiK00rXCIqKFsqXiR8IX5dPz0pXCIrTStcIiooPzonKCg/OlxcXFxcXFxcLnxbXlxcXFxcXFxcJ10pKiknfFxcXCIoKD86XFxcXFxcXFwufFteXFxcXFxcXFxcXFwiXSkqKVxcXCJ8KFwiK0krXCIpKXwpXCIrTStcIipcXFxcXVwiLEY9XCI6KFwiK0krXCIpKD86XFxcXCgoKCcoKD86XFxcXFxcXFwufFteXFxcXFxcXFwnXSkqKSd8XFxcIigoPzpcXFxcXFxcXC58W15cXFxcXFxcXFxcXCJdKSopXFxcIil8KCg/OlxcXFxcXFxcLnxbXlxcXFxcXFxcKClbXFxcXF1dfFwiK1crXCIpKil8LiopXFxcXCl8KVwiLEI9bmV3IFJlZ0V4cChNK1wiK1wiLFwiZ1wiKSwkPW5ldyBSZWdFeHAoXCJeXCIrTStcIit8KCg/Ol58W15cXFxcXFxcXF0pKD86XFxcXFxcXFwuKSopXCIrTStcIiskXCIsXCJnXCIpLF89bmV3IFJlZ0V4cChcIl5cIitNK1wiKixcIitNK1wiKlwiKSx6PW5ldyBSZWdFeHAoXCJeXCIrTStcIiooWz4rfl18XCIrTStcIilcIitNK1wiKlwiKSxVPW5ldyBSZWdFeHAoTStcInw+XCIpLFg9bmV3IFJlZ0V4cChGKSxWPW5ldyBSZWdFeHAoXCJeXCIrSStcIiRcIiksRz17SUQ6bmV3IFJlZ0V4cChcIl4jKFwiK0krXCIpXCIpLENMQVNTOm5ldyBSZWdFeHAoXCJeXFxcXC4oXCIrSStcIilcIiksVEFHOm5ldyBSZWdFeHAoXCJeKFwiK0krXCJ8WypdKVwiKSxBVFRSOm5ldyBSZWdFeHAoXCJeXCIrVyksUFNFVURPOm5ldyBSZWdFeHAoXCJeXCIrRiksQ0hJTEQ6bmV3IFJlZ0V4cChcIl46KG9ubHl8Zmlyc3R8bGFzdHxudGh8bnRoLWxhc3QpLShjaGlsZHxvZi10eXBlKSg/OlxcXFwoXCIrTStcIiooZXZlbnxvZGR8KChbKy1dfCkoXFxcXGQqKW58KVwiK00rXCIqKD86KFsrLV18KVwiK00rXCIqKFxcXFxkKyl8KSlcIitNK1wiKlxcXFwpfClcIixcImlcIiksYm9vbDpuZXcgUmVnRXhwKFwiXig/OlwiK1IrXCIpJFwiLFwiaVwiKSxuZWVkc0NvbnRleHQ6bmV3IFJlZ0V4cChcIl5cIitNK1wiKls+K35dfDooZXZlbnxvZGR8ZXF8Z3R8bHR8bnRofGZpcnN0fGxhc3QpKD86XFxcXChcIitNK1wiKigoPzotXFxcXGQpP1xcXFxkKilcIitNK1wiKlxcXFwpfCkoPz1bXi1dfCQpXCIsXCJpXCIpfSxZPS9IVE1MJC9pLFE9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uKSQvaSxKPS9eaFxcZCQvaSxLPS9eW157XStcXHtcXHMqXFxbbmF0aXZlIFxcdy8sWj0vXig/OiMoW1xcdy1dKyl8KFxcdyspfFxcLihbXFx3LV0rKSkkLyxlZT0vWyt+XS8sdGU9bmV3IFJlZ0V4cChcIlxcXFxcXFxcW1xcXFxkYS1mQS1GXXsxLDZ9XCIrTStcIj98XFxcXFxcXFwoW15cXFxcclxcXFxuXFxcXGZdKVwiLFwiZ1wiKSxuZT1mdW5jdGlvbihlLHQpe3ZhciBuPVwiMHhcIitlLnNsaWNlKDEpLTY1NTM2O3JldHVybiB0fHwobjwwP1N0cmluZy5mcm9tQ2hhckNvZGUobis2NTUzNik6U3RyaW5nLmZyb21DaGFyQ29kZShuPj4xMHw1NTI5NiwxMDIzJm58NTYzMjApKX0scmU9LyhbXFwwLVxceDFmXFx4N2ZdfF4tP1xcZCl8Xi0kfFteXFwwLVxceDFmXFx4N2YtXFx1RkZGRlxcdy1dL2csaWU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdD9cIlxcMFwiPT09ZT9cIu+/vVwiOmUuc2xpY2UoMCwtMSkrXCJcXFxcXCIrZS5jaGFyQ29kZUF0KGUubGVuZ3RoLTEpLnRvU3RyaW5nKDE2KStcIiBcIjpcIlxcXFxcIitlfSxvZT1mdW5jdGlvbigpe3AoKX0sYWU9YmUoZnVuY3Rpb24oZSl7cmV0dXJuITA9PT1lLmRpc2FibGVkJiZcImZpZWxkc2V0XCI9PT1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCl9LHtkaXI6XCJwYXJlbnROb2RlXCIsbmV4dDpcImxlZ2VuZFwifSk7dHJ5e0guYXBwbHkoRD1PLmNhbGwody5jaGlsZE5vZGVzKSx3LmNoaWxkTm9kZXMpLERbdy5jaGlsZE5vZGVzLmxlbmd0aF0ubm9kZVR5cGV9Y2F0Y2goZSl7SD17YXBwbHk6RC5sZW5ndGg/ZnVuY3Rpb24oZSx0KXtMLmFwcGx5KGUsTy5jYWxsKHQpKX06ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49ZS5sZW5ndGgscj0wO2VbbisrXT10W3IrK107KTtlLmxlbmd0aD1uLTF9fX1mdW5jdGlvbiBzZShlLHQscixpKXt2YXIgbyxzLGwsYyxmLGgseSxtPXQmJnQub3duZXJEb2N1bWVudCx3PXQ/dC5ub2RlVHlwZTo5O2lmKHI9cnx8W10sXCJzdHJpbmdcIiE9dHlwZW9mIGV8fCFlfHwxIT09dyYmOSE9PXcmJjExIT09dylyZXR1cm4gcjtpZighaSYmKHAodCksdD10fHxkLGcpKXtpZigxMSE9PXcmJihmPVouZXhlYyhlKSkpaWYobz1mWzFdKXtpZig5PT09dyl7aWYoIShsPXQuZ2V0RWxlbWVudEJ5SWQobykpKXJldHVybiByO2lmKGwuaWQ9PT1vKXJldHVybiByLnB1c2gobCkscn1lbHNlIGlmKG0mJihsPW0uZ2V0RWxlbWVudEJ5SWQobykpJiZ4KHQsbCkmJmwuaWQ9PT1vKXJldHVybiByLnB1c2gobCkscn1lbHNle2lmKGZbMl0pcmV0dXJuIEguYXBwbHkocix0LmdldEVsZW1lbnRzQnlUYWdOYW1lKGUpKSxyO2lmKChvPWZbM10pJiZuLmdldEVsZW1lbnRzQnlDbGFzc05hbWUmJnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSlyZXR1cm4gSC5hcHBseShyLHQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShvKSkscn1pZihuLnFzYSYmIUFbZStcIiBcIl0mJighdnx8IXYudGVzdChlKSkmJigxIT09d3x8XCJvYmplY3RcIiE9PXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSkpe2lmKHk9ZSxtPXQsMT09PXcmJihVLnRlc3QoZSl8fHoudGVzdChlKSkpe2ZvcigobT1lZS50ZXN0KGUpJiZ5ZSh0LnBhcmVudE5vZGUpfHx0KT09PXQmJm4uc2NvcGV8fCgoYz10LmdldEF0dHJpYnV0ZShcImlkXCIpKT9jPWMucmVwbGFjZShyZSxpZSk6dC5zZXRBdHRyaWJ1dGUoXCJpZFwiLGM9YikpLHM9KGg9YShlKSkubGVuZ3RoO3MtLTspaFtzXT0oYz9cIiNcIitjOlwiOnNjb3BlXCIpK1wiIFwiK3hlKGhbc10pO3k9aC5qb2luKFwiLFwiKX10cnl7cmV0dXJuIEguYXBwbHkocixtLnF1ZXJ5U2VsZWN0b3JBbGwoeSkpLHJ9Y2F0Y2godCl7QShlLCEwKX1maW5hbGx5e2M9PT1iJiZ0LnJlbW92ZUF0dHJpYnV0ZShcImlkXCIpfX19cmV0dXJuIHUoZS5yZXBsYWNlKCQsXCIkMVwiKSx0LHIsaSl9ZnVuY3Rpb24gdWUoKXt2YXIgZT1bXTtyZXR1cm4gZnVuY3Rpb24gdChuLGkpe3JldHVybiBlLnB1c2gobitcIiBcIik+ci5jYWNoZUxlbmd0aCYmZGVsZXRlIHRbZS5zaGlmdCgpXSx0W24rXCIgXCJdPWl9fWZ1bmN0aW9uIGxlKGUpe3JldHVybiBlW2JdPSEwLGV9ZnVuY3Rpb24gY2UoZSl7dmFyIHQ9ZC5jcmVhdGVFbGVtZW50KFwiZmllbGRzZXRcIik7dHJ5e3JldHVybiEhZSh0KX1jYXRjaChlKXtyZXR1cm4hMX1maW5hbGx5e3QucGFyZW50Tm9kZSYmdC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHQpLHQ9bnVsbH19ZnVuY3Rpb24gZmUoZSx0KXtmb3IodmFyIG49ZS5zcGxpdChcInxcIiksaT1uLmxlbmd0aDtpLS07KXIuYXR0ckhhbmRsZVtuW2ldXT10fWZ1bmN0aW9uIHBlKGUsdCl7dmFyIG49dCYmZSxyPW4mJjE9PT1lLm5vZGVUeXBlJiYxPT09dC5ub2RlVHlwZSYmZS5zb3VyY2VJbmRleC10LnNvdXJjZUluZGV4O2lmKHIpcmV0dXJuIHI7aWYobilmb3IoO249bi5uZXh0U2libGluZzspaWYobj09PXQpcmV0dXJuLTE7cmV0dXJuIGU/MTotMX1mdW5jdGlvbiBkZShlKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuXCJpbnB1dFwiPT09dC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpJiZ0LnR5cGU9PT1lfX1mdW5jdGlvbiBoZShlKXtyZXR1cm4gZnVuY3Rpb24odCl7dmFyIG49dC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybihcImlucHV0XCI9PT1ufHxcImJ1dHRvblwiPT09bikmJnQudHlwZT09PWV9fWZ1bmN0aW9uIGdlKGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm5cImZvcm1cImluIHQ/dC5wYXJlbnROb2RlJiYhMT09PXQuZGlzYWJsZWQ/XCJsYWJlbFwiaW4gdD9cImxhYmVsXCJpbiB0LnBhcmVudE5vZGU/dC5wYXJlbnROb2RlLmRpc2FibGVkPT09ZTp0LmRpc2FibGVkPT09ZTp0LmlzRGlzYWJsZWQ9PT1lfHx0LmlzRGlzYWJsZWQhPT0hZSYmYWUodCk9PT1lOnQuZGlzYWJsZWQ9PT1lOlwibGFiZWxcImluIHQmJnQuZGlzYWJsZWQ9PT1lfX1mdW5jdGlvbiB2ZShlKXtyZXR1cm4gbGUoZnVuY3Rpb24odCl7cmV0dXJuIHQ9K3QsbGUoZnVuY3Rpb24obixyKXtmb3IodmFyIGksbz1lKFtdLG4ubGVuZ3RoLHQpLGE9by5sZW5ndGg7YS0tOyluW2k9b1thXV0mJihuW2ldPSEocltpXT1uW2ldKSl9KX0pfWZ1bmN0aW9uIHllKGUpe3JldHVybiBlJiZ2b2lkIDAhPT1lLmdldEVsZW1lbnRzQnlUYWdOYW1lJiZlfWZvcih0IGluIG49c2Uuc3VwcG9ydD17fSxvPXNlLmlzWE1MPWZ1bmN0aW9uKGUpe3ZhciB0PWUmJmUubmFtZXNwYWNlVVJJLG49ZSYmKGUub3duZXJEb2N1bWVudHx8ZSkuZG9jdW1lbnRFbGVtZW50O3JldHVybiFZLnRlc3QodHx8biYmbi5ub2RlTmFtZXx8XCJIVE1MXCIpfSxwPXNlLnNldERvY3VtZW50PWZ1bmN0aW9uKGUpe3ZhciB0LGksYT1lP2Uub3duZXJEb2N1bWVudHx8ZTp3O3JldHVybiBhIT1kJiY5PT09YS5ub2RlVHlwZSYmYS5kb2N1bWVudEVsZW1lbnQ/KGg9KGQ9YSkuZG9jdW1lbnRFbGVtZW50LGc9IW8oZCksdyE9ZCYmKGk9ZC5kZWZhdWx0VmlldykmJmkudG9wIT09aSYmKGkuYWRkRXZlbnRMaXN0ZW5lcj9pLmFkZEV2ZW50TGlzdGVuZXIoXCJ1bmxvYWRcIixvZSwhMSk6aS5hdHRhY2hFdmVudCYmaS5hdHRhY2hFdmVudChcIm9udW5sb2FkXCIsb2UpKSxuLnNjb3BlPWNlKGZ1bmN0aW9uKGUpe3JldHVybiBoLmFwcGVuZENoaWxkKGUpLmFwcGVuZENoaWxkKGQuY3JlYXRlRWxlbWVudChcImRpdlwiKSksdm9pZCAwIT09ZS5xdWVyeVNlbGVjdG9yQWxsJiYhZS5xdWVyeVNlbGVjdG9yQWxsKFwiOnNjb3BlIGZpZWxkc2V0IGRpdlwiKS5sZW5ndGh9KSxuLmF0dHJpYnV0ZXM9Y2UoZnVuY3Rpb24oZSl7cmV0dXJuIGUuY2xhc3NOYW1lPVwiaVwiLCFlLmdldEF0dHJpYnV0ZShcImNsYXNzTmFtZVwiKX0pLG4uZ2V0RWxlbWVudHNCeVRhZ05hbWU9Y2UoZnVuY3Rpb24oZSl7cmV0dXJuIGUuYXBwZW5kQ2hpbGQoZC5jcmVhdGVDb21tZW50KFwiXCIpKSwhZS5nZXRFbGVtZW50c0J5VGFnTmFtZShcIipcIikubGVuZ3RofSksbi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lPUsudGVzdChkLmdldEVsZW1lbnRzQnlDbGFzc05hbWUpLG4uZ2V0QnlJZD1jZShmdW5jdGlvbihlKXtyZXR1cm4gaC5hcHBlbmRDaGlsZChlKS5pZD1iLCFkLmdldEVsZW1lbnRzQnlOYW1lfHwhZC5nZXRFbGVtZW50c0J5TmFtZShiKS5sZW5ndGh9KSxuLmdldEJ5SWQ/KHIuZmlsdGVyLklEPWZ1bmN0aW9uKGUpe3ZhciB0PWUucmVwbGFjZSh0ZSxuZSk7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBlLmdldEF0dHJpYnV0ZShcImlkXCIpPT09dH19LHIuZmluZC5JRD1mdW5jdGlvbihlLHQpe2lmKHZvaWQgMCE9PXQuZ2V0RWxlbWVudEJ5SWQmJmcpe3ZhciBuPXQuZ2V0RWxlbWVudEJ5SWQoZSk7cmV0dXJuIG4/W25dOltdfX0pOihyLmZpbHRlci5JRD1mdW5jdGlvbihlKXt2YXIgdD1lLnJlcGxhY2UodGUsbmUpO3JldHVybiBmdW5jdGlvbihlKXt2YXIgbj12b2lkIDAhPT1lLmdldEF0dHJpYnV0ZU5vZGUmJmUuZ2V0QXR0cmlidXRlTm9kZShcImlkXCIpO3JldHVybiBuJiZuLnZhbHVlPT09dH19LHIuZmluZC5JRD1mdW5jdGlvbihlLHQpe2lmKHZvaWQgMCE9PXQuZ2V0RWxlbWVudEJ5SWQmJmcpe3ZhciBuLHIsaSxvPXQuZ2V0RWxlbWVudEJ5SWQoZSk7aWYobyl7aWYoKG49by5nZXRBdHRyaWJ1dGVOb2RlKFwiaWRcIikpJiZuLnZhbHVlPT09ZSlyZXR1cm5bb107Zm9yKGk9dC5nZXRFbGVtZW50c0J5TmFtZShlKSxyPTA7bz1pW3IrK107KWlmKChuPW8uZ2V0QXR0cmlidXRlTm9kZShcImlkXCIpKSYmbi52YWx1ZT09PWUpcmV0dXJuW29dfXJldHVybltdfX0pLHIuZmluZC5UQUc9bi5nZXRFbGVtZW50c0J5VGFnTmFtZT9mdW5jdGlvbihlLHQpe3JldHVybiB2b2lkIDAhPT10LmdldEVsZW1lbnRzQnlUYWdOYW1lP3QuZ2V0RWxlbWVudHNCeVRhZ05hbWUoZSk6bi5xc2E/dC5xdWVyeVNlbGVjdG9yQWxsKGUpOnZvaWQgMH06ZnVuY3Rpb24oZSx0KXt2YXIgbixyPVtdLGk9MCxvPXQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoZSk7aWYoXCIqXCI9PT1lKXtmb3IoO249b1tpKytdOykxPT09bi5ub2RlVHlwZSYmci5wdXNoKG4pO3JldHVybiByfXJldHVybiBvfSxyLmZpbmQuQ0xBU1M9bi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lJiZmdW5jdGlvbihlLHQpe2lmKHZvaWQgMCE9PXQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmZylyZXR1cm4gdC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGUpfSx5PVtdLHY9W10sKG4ucXNhPUsudGVzdChkLnF1ZXJ5U2VsZWN0b3JBbGwpKSYmKGNlKGZ1bmN0aW9uKGUpe3ZhciB0O2guYXBwZW5kQ2hpbGQoZSkuaW5uZXJIVE1MPVwiPGEgaWQ9J1wiK2IrXCInPjwvYT48c2VsZWN0IGlkPSdcIitiK1wiLVxcclxcXFwnIG1zYWxsb3djYXB0dXJlPScnPjxvcHRpb24gc2VsZWN0ZWQ9Jyc+PC9vcHRpb24+PC9zZWxlY3Q+XCIsZS5xdWVyeVNlbGVjdG9yQWxsKFwiW21zYWxsb3djYXB0dXJlXj0nJ11cIikubGVuZ3RoJiZ2LnB1c2goXCJbKl4kXT1cIitNK1wiKig/OicnfFxcXCJcXFwiKVwiKSxlLnF1ZXJ5U2VsZWN0b3JBbGwoXCJbc2VsZWN0ZWRdXCIpLmxlbmd0aHx8di5wdXNoKFwiXFxcXFtcIitNK1wiKig/OnZhbHVlfFwiK1IrXCIpXCIpLGUucXVlcnlTZWxlY3RvckFsbChcIltpZH49XCIrYitcIi1dXCIpLmxlbmd0aHx8di5wdXNoKFwifj1cIiksKHQ9ZC5jcmVhdGVFbGVtZW50KFwiaW5wdXRcIikpLnNldEF0dHJpYnV0ZShcIm5hbWVcIixcIlwiKSxlLmFwcGVuZENoaWxkKHQpLGUucXVlcnlTZWxlY3RvckFsbChcIltuYW1lPScnXVwiKS5sZW5ndGh8fHYucHVzaChcIlxcXFxbXCIrTStcIipuYW1lXCIrTStcIio9XCIrTStcIiooPzonJ3xcXFwiXFxcIilcIiksZS5xdWVyeVNlbGVjdG9yQWxsKFwiOmNoZWNrZWRcIikubGVuZ3RofHx2LnB1c2goXCI6Y2hlY2tlZFwiKSxlLnF1ZXJ5U2VsZWN0b3JBbGwoXCJhI1wiK2IrXCIrKlwiKS5sZW5ndGh8fHYucHVzaChcIi4jLitbK35dXCIpLGUucXVlcnlTZWxlY3RvckFsbChcIlxcXFxcXGZcIiksdi5wdXNoKFwiW1xcXFxyXFxcXG5cXFxcZl1cIil9KSxjZShmdW5jdGlvbihlKXtlLmlubmVySFRNTD1cIjxhIGhyZWY9JycgZGlzYWJsZWQ9J2Rpc2FibGVkJz48L2E+PHNlbGVjdCBkaXNhYmxlZD0nZGlzYWJsZWQnPjxvcHRpb24vPjwvc2VsZWN0PlwiO3ZhciB0PWQuY3JlYXRlRWxlbWVudChcImlucHV0XCIpO3Quc2V0QXR0cmlidXRlKFwidHlwZVwiLFwiaGlkZGVuXCIpLGUuYXBwZW5kQ2hpbGQodCkuc2V0QXR0cmlidXRlKFwibmFtZVwiLFwiRFwiKSxlLnF1ZXJ5U2VsZWN0b3JBbGwoXCJbbmFtZT1kXVwiKS5sZW5ndGgmJnYucHVzaChcIm5hbWVcIitNK1wiKlsqXiR8IX5dPz1cIiksMiE9PWUucXVlcnlTZWxlY3RvckFsbChcIjplbmFibGVkXCIpLmxlbmd0aCYmdi5wdXNoKFwiOmVuYWJsZWRcIixcIjpkaXNhYmxlZFwiKSxoLmFwcGVuZENoaWxkKGUpLmRpc2FibGVkPSEwLDIhPT1lLnF1ZXJ5U2VsZWN0b3JBbGwoXCI6ZGlzYWJsZWRcIikubGVuZ3RoJiZ2LnB1c2goXCI6ZW5hYmxlZFwiLFwiOmRpc2FibGVkXCIpLGUucXVlcnlTZWxlY3RvckFsbChcIiosOnhcIiksdi5wdXNoKFwiLC4qOlwiKX0pKSwobi5tYXRjaGVzU2VsZWN0b3I9Sy50ZXN0KG09aC5tYXRjaGVzfHxoLndlYmtpdE1hdGNoZXNTZWxlY3Rvcnx8aC5tb3pNYXRjaGVzU2VsZWN0b3J8fGgub01hdGNoZXNTZWxlY3Rvcnx8aC5tc01hdGNoZXNTZWxlY3RvcikpJiZjZShmdW5jdGlvbihlKXtuLmRpc2Nvbm5lY3RlZE1hdGNoPW0uY2FsbChlLFwiKlwiKSxtLmNhbGwoZSxcIltzIT0nJ106eFwiKSx5LnB1c2goXCIhPVwiLEYpfSksdj12Lmxlbmd0aCYmbmV3IFJlZ0V4cCh2LmpvaW4oXCJ8XCIpKSx5PXkubGVuZ3RoJiZuZXcgUmVnRXhwKHkuam9pbihcInxcIikpLHQ9Sy50ZXN0KGguY29tcGFyZURvY3VtZW50UG9zaXRpb24pLHg9dHx8Sy50ZXN0KGguY29udGFpbnMpP2Z1bmN0aW9uKGUsdCl7dmFyIG49OT09PWUubm9kZVR5cGU/ZS5kb2N1bWVudEVsZW1lbnQ6ZSxyPXQmJnQucGFyZW50Tm9kZTtyZXR1cm4gZT09PXJ8fCEoIXJ8fDEhPT1yLm5vZGVUeXBlfHwhKG4uY29udGFpbnM/bi5jb250YWlucyhyKTplLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uJiYxNiZlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHIpKSl9OmZ1bmN0aW9uKGUsdCl7aWYodClmb3IoO3Q9dC5wYXJlbnROb2RlOylpZih0PT09ZSlyZXR1cm4hMDtyZXR1cm4hMX0sTj10P2Z1bmN0aW9uKGUsdCl7aWYoZT09PXQpcmV0dXJuIGY9ITAsMDt2YXIgcj0hZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbi0hdC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbjtyZXR1cm4gcnx8KDEmKHI9KGUub3duZXJEb2N1bWVudHx8ZSk9PSh0Lm93bmVyRG9jdW1lbnR8fHQpP2UuY29tcGFyZURvY3VtZW50UG9zaXRpb24odCk6MSl8fCFuLnNvcnREZXRhY2hlZCYmdC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihlKT09PXI/ZT09ZHx8ZS5vd25lckRvY3VtZW50PT13JiZ4KHcsZSk/LTE6dD09ZHx8dC5vd25lckRvY3VtZW50PT13JiZ4KHcsdCk/MTpjP1AoYyxlKS1QKGMsdCk6MDo0JnI/LTE6MSl9OmZ1bmN0aW9uKGUsdCl7aWYoZT09PXQpcmV0dXJuIGY9ITAsMDt2YXIgbixyPTAsaT1lLnBhcmVudE5vZGUsbz10LnBhcmVudE5vZGUsYT1bZV0scz1bdF07aWYoIWl8fCFvKXJldHVybiBlPT1kPy0xOnQ9PWQ/MTppPy0xOm8/MTpjP1AoYyxlKS1QKGMsdCk6MDtpZihpPT09bylyZXR1cm4gcGUoZSx0KTtmb3Iobj1lO249bi5wYXJlbnROb2RlOylhLnVuc2hpZnQobik7Zm9yKG49dDtuPW4ucGFyZW50Tm9kZTspcy51bnNoaWZ0KG4pO2Zvcig7YVtyXT09PXNbcl07KXIrKztyZXR1cm4gcj9wZShhW3JdLHNbcl0pOmFbcl09PXc/LTE6c1tyXT09dz8xOjB9LGQpOmR9LHNlLm1hdGNoZXM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gc2UoZSxudWxsLG51bGwsdCl9LHNlLm1hdGNoZXNTZWxlY3Rvcj1mdW5jdGlvbihlLHQpe2lmKHAoZSksbi5tYXRjaGVzU2VsZWN0b3ImJmcmJiFBW3QrXCIgXCJdJiYoIXl8fCF5LnRlc3QodCkpJiYoIXZ8fCF2LnRlc3QodCkpKXRyeXt2YXIgcj1tLmNhbGwoZSx0KTtpZihyfHxuLmRpc2Nvbm5lY3RlZE1hdGNofHxlLmRvY3VtZW50JiYxMSE9PWUuZG9jdW1lbnQubm9kZVR5cGUpcmV0dXJuIHJ9Y2F0Y2goZSl7QSh0LCEwKX1yZXR1cm4gc2UodCxkLG51bGwsW2VdKS5sZW5ndGg+MH0sc2UuY29udGFpbnM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4oZS5vd25lckRvY3VtZW50fHxlKSE9ZCYmcChlKSx4KGUsdCl9LHNlLmF0dHI9ZnVuY3Rpb24oZSx0KXsoZS5vd25lckRvY3VtZW50fHxlKSE9ZCYmcChlKTt2YXIgaT1yLmF0dHJIYW5kbGVbdC50b0xvd2VyQ2FzZSgpXSxvPWkmJmouY2FsbChyLmF0dHJIYW5kbGUsdC50b0xvd2VyQ2FzZSgpKT9pKGUsdCwhZyk6dm9pZCAwO3JldHVybiB2b2lkIDAhPT1vP286bi5hdHRyaWJ1dGVzfHwhZz9lLmdldEF0dHJpYnV0ZSh0KToobz1lLmdldEF0dHJpYnV0ZU5vZGUodCkpJiZvLnNwZWNpZmllZD9vLnZhbHVlOm51bGx9LHNlLmVzY2FwZT1mdW5jdGlvbihlKXtyZXR1cm4oZStcIlwiKS5yZXBsYWNlKHJlLGllKX0sc2UuZXJyb3I9ZnVuY3Rpb24oZSl7dGhyb3cgbmV3IEVycm9yKFwiU3ludGF4IGVycm9yLCB1bnJlY29nbml6ZWQgZXhwcmVzc2lvbjogXCIrZSl9LHNlLnVuaXF1ZVNvcnQ9ZnVuY3Rpb24oZSl7dmFyIHQscj1bXSxpPTAsbz0wO2lmKGY9IW4uZGV0ZWN0RHVwbGljYXRlcyxjPSFuLnNvcnRTdGFibGUmJmUuc2xpY2UoMCksZS5zb3J0KE4pLGYpe2Zvcig7dD1lW28rK107KXQ9PT1lW29dJiYoaT1yLnB1c2gobykpO2Zvcig7aS0tOyllLnNwbGljZShyW2ldLDEpfXJldHVybiBjPW51bGwsZX0saT1zZS5nZXRUZXh0PWZ1bmN0aW9uKGUpe3ZhciB0LG49XCJcIixyPTAsbz1lLm5vZGVUeXBlO2lmKG8pe2lmKDE9PT1vfHw5PT09b3x8MTE9PT1vKXtpZihcInN0cmluZ1wiPT10eXBlb2YgZS50ZXh0Q29udGVudClyZXR1cm4gZS50ZXh0Q29udGVudDtmb3IoZT1lLmZpcnN0Q2hpbGQ7ZTtlPWUubmV4dFNpYmxpbmcpbis9aShlKX1lbHNlIGlmKDM9PT1vfHw0PT09bylyZXR1cm4gZS5ub2RlVmFsdWV9ZWxzZSBmb3IoO3Q9ZVtyKytdOyluKz1pKHQpO3JldHVybiBufSwocj1zZS5zZWxlY3RvcnM9e2NhY2hlTGVuZ3RoOjUwLGNyZWF0ZVBzZXVkbzpsZSxtYXRjaDpHLGF0dHJIYW5kbGU6e30sZmluZDp7fSxyZWxhdGl2ZTp7XCI+XCI6e2RpcjpcInBhcmVudE5vZGVcIixmaXJzdDohMH0sXCIgXCI6e2RpcjpcInBhcmVudE5vZGVcIn0sXCIrXCI6e2RpcjpcInByZXZpb3VzU2libGluZ1wiLGZpcnN0OiEwfSxcIn5cIjp7ZGlyOlwicHJldmlvdXNTaWJsaW5nXCJ9fSxwcmVGaWx0ZXI6e0FUVFI6ZnVuY3Rpb24oZSl7cmV0dXJuIGVbMV09ZVsxXS5yZXBsYWNlKHRlLG5lKSxlWzNdPShlWzNdfHxlWzRdfHxlWzVdfHxcIlwiKS5yZXBsYWNlKHRlLG5lKSxcIn49XCI9PT1lWzJdJiYoZVszXT1cIiBcIitlWzNdK1wiIFwiKSxlLnNsaWNlKDAsNCl9LENISUxEOmZ1bmN0aW9uKGUpe3JldHVybiBlWzFdPWVbMV0udG9Mb3dlckNhc2UoKSxcIm50aFwiPT09ZVsxXS5zbGljZSgwLDMpPyhlWzNdfHxzZS5lcnJvcihlWzBdKSxlWzRdPSsoZVs0XT9lWzVdKyhlWzZdfHwxKToyKihcImV2ZW5cIj09PWVbM118fFwib2RkXCI9PT1lWzNdKSksZVs1XT0rKGVbN10rZVs4XXx8XCJvZGRcIj09PWVbM10pKTplWzNdJiZzZS5lcnJvcihlWzBdKSxlfSxQU0VVRE86ZnVuY3Rpb24oZSl7dmFyIHQsbj0hZVs2XSYmZVsyXTtyZXR1cm4gRy5DSElMRC50ZXN0KGVbMF0pP251bGw6KGVbM10/ZVsyXT1lWzRdfHxlWzVdfHxcIlwiOm4mJlgudGVzdChuKSYmKHQ9YShuLCEwKSkmJih0PW4uaW5kZXhPZihcIilcIixuLmxlbmd0aC10KS1uLmxlbmd0aCkmJihlWzBdPWVbMF0uc2xpY2UoMCx0KSxlWzJdPW4uc2xpY2UoMCx0KSksZS5zbGljZSgwLDMpKX19LGZpbHRlcjp7VEFHOmZ1bmN0aW9uKGUpe3ZhciB0PWUucmVwbGFjZSh0ZSxuZSkudG9Mb3dlckNhc2UoKTtyZXR1cm5cIipcIj09PWU/ZnVuY3Rpb24oKXtyZXR1cm4hMH06ZnVuY3Rpb24oZSl7cmV0dXJuIGUubm9kZU5hbWUmJmUubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PXR9fSxDTEFTUzpmdW5jdGlvbihlKXt2YXIgdD1FW2UrXCIgXCJdO3JldHVybiB0fHwodD1uZXcgUmVnRXhwKFwiKF58XCIrTStcIilcIitlK1wiKFwiK00rXCJ8JClcIikpJiZFKGUsZnVuY3Rpb24oZSl7cmV0dXJuIHQudGVzdChcInN0cmluZ1wiPT10eXBlb2YgZS5jbGFzc05hbWUmJmUuY2xhc3NOYW1lfHx2b2lkIDAhPT1lLmdldEF0dHJpYnV0ZSYmZS5nZXRBdHRyaWJ1dGUoXCJjbGFzc1wiKXx8XCJcIil9KX0sQVRUUjpmdW5jdGlvbihlLHQsbil7cmV0dXJuIGZ1bmN0aW9uKHIpe3ZhciBpPXNlLmF0dHIocixlKTtyZXR1cm4gbnVsbD09aT9cIiE9XCI9PT10OiF0fHwoaSs9XCJcIixcIj1cIj09PXQ/aT09PW46XCIhPVwiPT09dD9pIT09bjpcIl49XCI9PT10P24mJjA9PT1pLmluZGV4T2Yobik6XCIqPVwiPT09dD9uJiZpLmluZGV4T2Yobik+LTE6XCIkPVwiPT09dD9uJiZpLnNsaWNlKC1uLmxlbmd0aCk9PT1uOlwifj1cIj09PXQ/KFwiIFwiK2kucmVwbGFjZShCLFwiIFwiKStcIiBcIikuaW5kZXhPZihuKT4tMTpcInw9XCI9PT10JiYoaT09PW58fGkuc2xpY2UoMCxuLmxlbmd0aCsxKT09PW4rXCItXCIpKX19LENISUxEOmZ1bmN0aW9uKGUsdCxuLHIsaSl7dmFyIG89XCJudGhcIiE9PWUuc2xpY2UoMCwzKSxhPVwibGFzdFwiIT09ZS5zbGljZSgtNCkscz1cIm9mLXR5cGVcIj09PXQ7cmV0dXJuIDE9PT1yJiYwPT09aT9mdW5jdGlvbihlKXtyZXR1cm4hIWUucGFyZW50Tm9kZX06ZnVuY3Rpb24odCxuLHUpe3ZhciBsLGMsZixwLGQsaCxnPW8hPT1hP1wibmV4dFNpYmxpbmdcIjpcInByZXZpb3VzU2libGluZ1wiLHY9dC5wYXJlbnROb2RlLHk9cyYmdC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLG09IXUmJiFzLHg9ITE7aWYodil7aWYobyl7Zm9yKDtnOyl7Zm9yKHA9dDtwPXBbZ107KWlmKHM/cC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09eToxPT09cC5ub2RlVHlwZSlyZXR1cm4hMTtoPWc9XCJvbmx5XCI9PT1lJiYhaCYmXCJuZXh0U2libGluZ1wifXJldHVybiEwfWlmKGg9W2E/di5maXJzdENoaWxkOnYubGFzdENoaWxkXSxhJiZtKXtmb3IoeD0oZD0obD0oYz0oZj0ocD12KVtiXXx8KHBbYl09e30pKVtwLnVuaXF1ZUlEXXx8KGZbcC51bmlxdWVJRF09e30pKVtlXXx8W10pWzBdPT09VCYmbFsxXSkmJmxbMl0scD1kJiZ2LmNoaWxkTm9kZXNbZF07cD0rK2QmJnAmJnBbZ118fCh4PWQ9MCl8fGgucG9wKCk7KWlmKDE9PT1wLm5vZGVUeXBlJiYrK3gmJnA9PT10KXtjW2VdPVtULGQseF07YnJlYWt9fWVsc2UgaWYobSYmKHg9ZD0obD0oYz0oZj0ocD10KVtiXXx8KHBbYl09e30pKVtwLnVuaXF1ZUlEXXx8KGZbcC51bmlxdWVJRF09e30pKVtlXXx8W10pWzBdPT09VCYmbFsxXSksITE9PT14KWZvcig7KHA9KytkJiZwJiZwW2ddfHwoeD1kPTApfHxoLnBvcCgpKSYmKChzP3Aubm9kZU5hbWUudG9Mb3dlckNhc2UoKSE9PXk6MSE9PXAubm9kZVR5cGUpfHwhKyt4fHwobSYmKChjPShmPXBbYl18fChwW2JdPXt9KSlbcC51bmlxdWVJRF18fChmW3AudW5pcXVlSURdPXt9KSlbZV09W1QseF0pLHAhPT10KSk7KTtyZXR1cm4oeC09aSk9PT1yfHx4JXI9PTAmJngvcj49MH19fSxQU0VVRE86ZnVuY3Rpb24oZSx0KXt2YXIgbixpPXIucHNldWRvc1tlXXx8ci5zZXRGaWx0ZXJzW2UudG9Mb3dlckNhc2UoKV18fHNlLmVycm9yKFwidW5zdXBwb3J0ZWQgcHNldWRvOiBcIitlKTtyZXR1cm4gaVtiXT9pKHQpOmkubGVuZ3RoPjE/KG49W2UsZSxcIlwiLHRdLHIuc2V0RmlsdGVycy5oYXNPd25Qcm9wZXJ0eShlLnRvTG93ZXJDYXNlKCkpP2xlKGZ1bmN0aW9uKGUsbil7Zm9yKHZhciByLG89aShlLHQpLGE9by5sZW5ndGg7YS0tOyllW3I9UChlLG9bYV0pXT0hKG5bcl09b1thXSl9KTpmdW5jdGlvbihlKXtyZXR1cm4gaShlLDAsbil9KTppfX0scHNldWRvczp7bm90OmxlKGZ1bmN0aW9uKGUpe3ZhciB0PVtdLG49W10scj1zKGUucmVwbGFjZSgkLFwiJDFcIikpO3JldHVybiByW2JdP2xlKGZ1bmN0aW9uKGUsdCxuLGkpe2Zvcih2YXIgbyxhPXIoZSxudWxsLGksW10pLHM9ZS5sZW5ndGg7cy0tOykobz1hW3NdKSYmKGVbc109ISh0W3NdPW8pKX0pOmZ1bmN0aW9uKGUsaSxvKXtyZXR1cm4gdFswXT1lLHIodCxudWxsLG8sbiksdFswXT1udWxsLCFuLnBvcCgpfX0pLGhhczpsZShmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIHNlKGUsdCkubGVuZ3RoPjB9fSksY29udGFpbnM6bGUoZnVuY3Rpb24oZSl7cmV0dXJuIGU9ZS5yZXBsYWNlKHRlLG5lKSxmdW5jdGlvbih0KXtyZXR1cm4odC50ZXh0Q29udGVudHx8aSh0KSkuaW5kZXhPZihlKT4tMX19KSxsYW5nOmxlKGZ1bmN0aW9uKGUpe3JldHVybiBWLnRlc3QoZXx8XCJcIil8fHNlLmVycm9yKFwidW5zdXBwb3J0ZWQgbGFuZzogXCIrZSksZT1lLnJlcGxhY2UodGUsbmUpLnRvTG93ZXJDYXNlKCksZnVuY3Rpb24odCl7dmFyIG47ZG97aWYobj1nP3QubGFuZzp0LmdldEF0dHJpYnV0ZShcInhtbDpsYW5nXCIpfHx0LmdldEF0dHJpYnV0ZShcImxhbmdcIikpcmV0dXJuKG49bi50b0xvd2VyQ2FzZSgpKT09PWV8fDA9PT1uLmluZGV4T2YoZStcIi1cIil9d2hpbGUoKHQ9dC5wYXJlbnROb2RlKSYmMT09PXQubm9kZVR5cGUpO3JldHVybiExfX0pLHRhcmdldDpmdW5jdGlvbih0KXt2YXIgbj1lLmxvY2F0aW9uJiZlLmxvY2F0aW9uLmhhc2g7cmV0dXJuIG4mJm4uc2xpY2UoMSk9PT10LmlkfSxyb290OmZ1bmN0aW9uKGUpe3JldHVybiBlPT09aH0sZm9jdXM6ZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT1kLmFjdGl2ZUVsZW1lbnQmJighZC5oYXNGb2N1c3x8ZC5oYXNGb2N1cygpKSYmISEoZS50eXBlfHxlLmhyZWZ8fH5lLnRhYkluZGV4KX0sZW5hYmxlZDpnZSghMSksZGlzYWJsZWQ6Z2UoITApLGNoZWNrZWQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVyblwiaW5wdXRcIj09PXQmJiEhZS5jaGVja2VkfHxcIm9wdGlvblwiPT09dCYmISFlLnNlbGVjdGVkfSxzZWxlY3RlZDpmdW5jdGlvbihlKXtyZXR1cm4gZS5wYXJlbnROb2RlJiZlLnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCwhMD09PWUuc2VsZWN0ZWR9LGVtcHR5OmZ1bmN0aW9uKGUpe2ZvcihlPWUuZmlyc3RDaGlsZDtlO2U9ZS5uZXh0U2libGluZylpZihlLm5vZGVUeXBlPDYpcmV0dXJuITE7cmV0dXJuITB9LHBhcmVudDpmdW5jdGlvbihlKXtyZXR1cm4hci5wc2V1ZG9zLmVtcHR5KGUpfSxoZWFkZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIEoudGVzdChlLm5vZGVOYW1lKX0saW5wdXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIFEudGVzdChlLm5vZGVOYW1lKX0sYnV0dG9uOmZ1bmN0aW9uKGUpe3ZhciB0PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm5cImlucHV0XCI9PT10JiZcImJ1dHRvblwiPT09ZS50eXBlfHxcImJ1dHRvblwiPT09dH0sdGV4dDpmdW5jdGlvbihlKXt2YXIgdDtyZXR1cm5cImlucHV0XCI9PT1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkmJlwidGV4dFwiPT09ZS50eXBlJiYobnVsbD09KHQ9ZS5nZXRBdHRyaWJ1dGUoXCJ0eXBlXCIpKXx8XCJ0ZXh0XCI9PT10LnRvTG93ZXJDYXNlKCkpfSxmaXJzdDp2ZShmdW5jdGlvbigpe3JldHVyblswXX0pLGxhc3Q6dmUoZnVuY3Rpb24oZSx0KXtyZXR1cm5bdC0xXX0pLGVxOnZlKGZ1bmN0aW9uKGUsdCxuKXtyZXR1cm5bbjwwP24rdDpuXX0pLGV2ZW46dmUoZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49MDtuPHQ7bis9MillLnB1c2gobik7cmV0dXJuIGV9KSxvZGQ6dmUoZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49MTtuPHQ7bis9MillLnB1c2gobik7cmV0dXJuIGV9KSxsdDp2ZShmdW5jdGlvbihlLHQsbil7Zm9yKHZhciByPW48MD9uK3Q6bj50P3Q6bjstLXI+PTA7KWUucHVzaChyKTtyZXR1cm4gZX0pLGd0OnZlKGZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIHI9bjwwP24rdDpuOysrcjx0OyllLnB1c2gocik7cmV0dXJuIGV9KX19KS5wc2V1ZG9zLm50aD1yLnBzZXVkb3MuZXEse3JhZGlvOiEwLGNoZWNrYm94OiEwLGZpbGU6ITAscGFzc3dvcmQ6ITAsaW1hZ2U6ITB9KXIucHNldWRvc1t0XT1kZSh0KTtmb3IodCBpbntzdWJtaXQ6ITAscmVzZXQ6ITB9KXIucHNldWRvc1t0XT1oZSh0KTtmdW5jdGlvbiBtZSgpe31mdW5jdGlvbiB4ZShlKXtmb3IodmFyIHQ9MCxuPWUubGVuZ3RoLHI9XCJcIjt0PG47dCsrKXIrPWVbdF0udmFsdWU7cmV0dXJuIHJ9ZnVuY3Rpb24gYmUoZSx0LG4pe3ZhciByPXQuZGlyLGk9dC5uZXh0LG89aXx8cixhPW4mJlwicGFyZW50Tm9kZVwiPT09byxzPUMrKztyZXR1cm4gdC5maXJzdD9mdW5jdGlvbih0LG4saSl7Zm9yKDt0PXRbcl07KWlmKDE9PT10Lm5vZGVUeXBlfHxhKXJldHVybiBlKHQsbixpKTtyZXR1cm4hMX06ZnVuY3Rpb24odCxuLHUpe3ZhciBsLGMsZixwPVtULHNdO2lmKHUpe2Zvcig7dD10W3JdOylpZigoMT09PXQubm9kZVR5cGV8fGEpJiZlKHQsbix1KSlyZXR1cm4hMH1lbHNlIGZvcig7dD10W3JdOylpZigxPT09dC5ub2RlVHlwZXx8YSlpZihjPShmPXRbYl18fCh0W2JdPXt9KSlbdC51bmlxdWVJRF18fChmW3QudW5pcXVlSURdPXt9KSxpJiZpPT09dC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKXQ9dFtyXXx8dDtlbHNle2lmKChsPWNbb10pJiZsWzBdPT09VCYmbFsxXT09PXMpcmV0dXJuIHBbMl09bFsyXTtpZihjW29dPXAscFsyXT1lKHQsbix1KSlyZXR1cm4hMH1yZXR1cm4hMX19ZnVuY3Rpb24gd2UoZSl7cmV0dXJuIGUubGVuZ3RoPjE/ZnVuY3Rpb24odCxuLHIpe2Zvcih2YXIgaT1lLmxlbmd0aDtpLS07KWlmKCFlW2ldKHQsbixyKSlyZXR1cm4hMTtyZXR1cm4hMH06ZVswXX1mdW5jdGlvbiBUZShlLHQsbixyLGkpe2Zvcih2YXIgbyxhPVtdLHM9MCx1PWUubGVuZ3RoLGw9bnVsbCE9dDtzPHU7cysrKShvPWVbc10pJiYobiYmIW4obyxyLGkpfHwoYS5wdXNoKG8pLGwmJnQucHVzaChzKSkpO3JldHVybiBhfWZ1bmN0aW9uIENlKGUsdCxuLHIsaSxvKXtyZXR1cm4gciYmIXJbYl0mJihyPUNlKHIpKSxpJiYhaVtiXSYmKGk9Q2UoaSxvKSksbGUoZnVuY3Rpb24obyxhLHMsdSl7dmFyIGwsYyxmLHA9W10sZD1bXSxoPWEubGVuZ3RoLGc9b3x8ZnVuY3Rpb24oZSx0LG4pe2Zvcih2YXIgcj0wLGk9dC5sZW5ndGg7cjxpO3IrKylzZShlLHRbcl0sbik7cmV0dXJuIG59KHR8fFwiKlwiLHMubm9kZVR5cGU/W3NdOnMsW10pLHY9IWV8fCFvJiZ0P2c6VGUoZyxwLGUscyx1KSx5PW4/aXx8KG8/ZTpofHxyKT9bXTphOnY7aWYobiYmbih2LHkscyx1KSxyKWZvcihsPVRlKHksZCkscihsLFtdLHMsdSksYz1sLmxlbmd0aDtjLS07KShmPWxbY10pJiYoeVtkW2NdXT0hKHZbZFtjXV09ZikpO2lmKG8pe2lmKGl8fGUpe2lmKGkpe2ZvcihsPVtdLGM9eS5sZW5ndGg7Yy0tOykoZj15W2NdKSYmbC5wdXNoKHZbY109Zik7aShudWxsLHk9W10sbCx1KX1mb3IoYz15Lmxlbmd0aDtjLS07KShmPXlbY10pJiYobD1pP1AobyxmKTpwW2NdKT4tMSYmKG9bbF09IShhW2xdPWYpKX19ZWxzZSB5PVRlKHk9PT1hP3kuc3BsaWNlKGgseS5sZW5ndGgpOnkpLGk/aShudWxsLGEseSx1KTpILmFwcGx5KGEseSl9KX1mdW5jdGlvbiBFZShlKXtmb3IodmFyIHQsbixpLG89ZS5sZW5ndGgsYT1yLnJlbGF0aXZlW2VbMF0udHlwZV0scz1hfHxyLnJlbGF0aXZlW1wiIFwiXSx1PWE/MTowLGM9YmUoZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT10fSxzLCEwKSxmPWJlKGZ1bmN0aW9uKGUpe3JldHVybiBQKHQsZSk+LTF9LHMsITApLHA9W2Z1bmN0aW9uKGUsbixyKXt2YXIgaT0hYSYmKHJ8fG4hPT1sKXx8KCh0PW4pLm5vZGVUeXBlP2MoZSxuLHIpOmYoZSxuLHIpKTtyZXR1cm4gdD1udWxsLGl9XTt1PG87dSsrKWlmKG49ci5yZWxhdGl2ZVtlW3VdLnR5cGVdKXA9W2JlKHdlKHApLG4pXTtlbHNle2lmKChuPXIuZmlsdGVyW2VbdV0udHlwZV0uYXBwbHkobnVsbCxlW3VdLm1hdGNoZXMpKVtiXSl7Zm9yKGk9Kyt1O2k8byYmIXIucmVsYXRpdmVbZVtpXS50eXBlXTtpKyspO3JldHVybiBDZSh1PjEmJndlKHApLHU+MSYmeGUoZS5zbGljZSgwLHUtMSkuY29uY2F0KHt2YWx1ZTpcIiBcIj09PWVbdS0yXS50eXBlP1wiKlwiOlwiXCJ9KSkucmVwbGFjZSgkLFwiJDFcIiksbix1PGkmJkVlKGUuc2xpY2UodSxpKSksaTxvJiZFZShlPWUuc2xpY2UoaSkpLGk8byYmeGUoZSkpfXAucHVzaChuKX1yZXR1cm4gd2UocCl9cmV0dXJuIG1lLnByb3RvdHlwZT1yLmZpbHRlcnM9ci5wc2V1ZG9zLHIuc2V0RmlsdGVycz1uZXcgbWUsYT1zZS50b2tlbml6ZT1mdW5jdGlvbihlLHQpe3ZhciBuLGksbyxhLHMsdSxsLGM9U1tlK1wiIFwiXTtpZihjKXJldHVybiB0PzA6Yy5zbGljZSgwKTtmb3Iocz1lLHU9W10sbD1yLnByZUZpbHRlcjtzOyl7Zm9yKGEgaW4gbiYmIShpPV8uZXhlYyhzKSl8fChpJiYocz1zLnNsaWNlKGlbMF0ubGVuZ3RoKXx8cyksdS5wdXNoKG89W10pKSxuPSExLChpPXouZXhlYyhzKSkmJihuPWkuc2hpZnQoKSxvLnB1c2goe3ZhbHVlOm4sdHlwZTppWzBdLnJlcGxhY2UoJCxcIiBcIil9KSxzPXMuc2xpY2Uobi5sZW5ndGgpKSxyLmZpbHRlcikhKGk9R1thXS5leGVjKHMpKXx8bFthXSYmIShpPWxbYV0oaSkpfHwobj1pLnNoaWZ0KCksby5wdXNoKHt2YWx1ZTpuLHR5cGU6YSxtYXRjaGVzOml9KSxzPXMuc2xpY2Uobi5sZW5ndGgpKTtpZighbilicmVha31yZXR1cm4gdD9zLmxlbmd0aDpzP3NlLmVycm9yKGUpOlMoZSx1KS5zbGljZSgwKX0scz1zZS5jb21waWxlPWZ1bmN0aW9uKGUsdCl7dmFyIG4saT1bXSxvPVtdLHM9a1tlK1wiIFwiXTtpZighcyl7Zm9yKHR8fCh0PWEoZSkpLG49dC5sZW5ndGg7bi0tOykocz1FZSh0W25dKSlbYl0/aS5wdXNoKHMpOm8ucHVzaChzKTsocz1rKGUsZnVuY3Rpb24oZSx0KXt2YXIgbj10Lmxlbmd0aD4wLGk9ZS5sZW5ndGg+MCxvPWZ1bmN0aW9uKG8sYSxzLHUsYyl7dmFyIGYsaCx2LHk9MCxtPVwiMFwiLHg9byYmW10sYj1bXSx3PWwsQz1vfHxpJiZyLmZpbmQuVEFHKFwiKlwiLGMpLEU9VCs9bnVsbD09dz8xOk1hdGgucmFuZG9tKCl8fC4xLFM9Qy5sZW5ndGg7Zm9yKGMmJihsPWE9PWR8fGF8fGMpO20hPT1TJiZudWxsIT0oZj1DW21dKTttKyspe2lmKGkmJmYpe2ZvcihoPTAsYXx8Zi5vd25lckRvY3VtZW50PT1kfHwocChmKSxzPSFnKTt2PWVbaCsrXTspaWYodihmLGF8fGQscykpe3UucHVzaChmKTticmVha31jJiYoVD1FKX1uJiYoKGY9IXYmJmYpJiZ5LS0sbyYmeC5wdXNoKGYpKX1pZih5Kz1tLG4mJm0hPT15KXtmb3IoaD0wO3Y9dFtoKytdOyl2KHgsYixhLHMpO2lmKG8pe2lmKHk+MClmb3IoO20tLTspeFttXXx8YlttXXx8KGJbbV09cS5jYWxsKHUpKTtiPVRlKGIpfUguYXBwbHkodSxiKSxjJiYhbyYmYi5sZW5ndGg+MCYmeSt0Lmxlbmd0aD4xJiZzZS51bmlxdWVTb3J0KHUpfXJldHVybiBjJiYoVD1FLGw9dykseH07cmV0dXJuIG4/bGUobyk6b30obyxpKSkpLnNlbGVjdG9yPWV9cmV0dXJuIHN9LHU9c2Uuc2VsZWN0PWZ1bmN0aW9uKGUsdCxuLGkpe3ZhciBvLHUsbCxjLGYscD1cImZ1bmN0aW9uXCI9PXR5cGVvZiBlJiZlLGQ9IWkmJmEoZT1wLnNlbGVjdG9yfHxlKTtpZihuPW58fFtdLDE9PT1kLmxlbmd0aCl7aWYoKHU9ZFswXT1kWzBdLnNsaWNlKDApKS5sZW5ndGg+MiYmXCJJRFwiPT09KGw9dVswXSkudHlwZSYmOT09PXQubm9kZVR5cGUmJmcmJnIucmVsYXRpdmVbdVsxXS50eXBlXSl7aWYoISh0PShyLmZpbmQuSUQobC5tYXRjaGVzWzBdLnJlcGxhY2UodGUsbmUpLHQpfHxbXSlbMF0pKXJldHVybiBuO3AmJih0PXQucGFyZW50Tm9kZSksZT1lLnNsaWNlKHUuc2hpZnQoKS52YWx1ZS5sZW5ndGgpfWZvcihvPUcubmVlZHNDb250ZXh0LnRlc3QoZSk/MDp1Lmxlbmd0aDtvLS0mJihsPXVbb10sIXIucmVsYXRpdmVbYz1sLnR5cGVdKTspaWYoKGY9ci5maW5kW2NdKSYmKGk9ZihsLm1hdGNoZXNbMF0ucmVwbGFjZSh0ZSxuZSksZWUudGVzdCh1WzBdLnR5cGUpJiZ5ZSh0LnBhcmVudE5vZGUpfHx0KSkpe2lmKHUuc3BsaWNlKG8sMSksIShlPWkubGVuZ3RoJiZ4ZSh1KSkpcmV0dXJuIEguYXBwbHkobixpKSxuO2JyZWFrfX1yZXR1cm4ocHx8cyhlLGQpKShpLHQsIWcsbiwhdHx8ZWUudGVzdChlKSYmeWUodC5wYXJlbnROb2RlKXx8dCksbn0sbi5zb3J0U3RhYmxlPWIuc3BsaXQoXCJcIikuc29ydChOKS5qb2luKFwiXCIpPT09YixuLmRldGVjdER1cGxpY2F0ZXM9ISFmLHAoKSxuLnNvcnREZXRhY2hlZD1jZShmdW5jdGlvbihlKXtyZXR1cm4gMSZlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGQuY3JlYXRlRWxlbWVudChcImZpZWxkc2V0XCIpKX0pLGNlKGZ1bmN0aW9uKGUpe3JldHVybiBlLmlubmVySFRNTD1cIjxhIGhyZWY9JyMnPjwvYT5cIixcIiNcIj09PWUuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoXCJocmVmXCIpfSl8fGZlKFwidHlwZXxocmVmfGhlaWdodHx3aWR0aFwiLGZ1bmN0aW9uKGUsdCxuKXtpZighbilyZXR1cm4gZS5nZXRBdHRyaWJ1dGUodCxcInR5cGVcIj09PXQudG9Mb3dlckNhc2UoKT8xOjIpfSksbi5hdHRyaWJ1dGVzJiZjZShmdW5jdGlvbihlKXtyZXR1cm4gZS5pbm5lckhUTUw9XCI8aW5wdXQvPlwiLGUuZmlyc3RDaGlsZC5zZXRBdHRyaWJ1dGUoXCJ2YWx1ZVwiLFwiXCIpLFwiXCI9PT1lLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKFwidmFsdWVcIil9KXx8ZmUoXCJ2YWx1ZVwiLGZ1bmN0aW9uKGUsdCxuKXtpZighbiYmXCJpbnB1dFwiPT09ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKXJldHVybiBlLmRlZmF1bHRWYWx1ZX0pLGNlKGZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lLmdldEF0dHJpYnV0ZShcImRpc2FibGVkXCIpfSl8fGZlKFIsZnVuY3Rpb24oZSx0LG4pe3ZhciByO2lmKCFuKXJldHVybiEwPT09ZVt0XT90LnRvTG93ZXJDYXNlKCk6KHI9ZS5nZXRBdHRyaWJ1dGVOb2RlKHQpKSYmci5zcGVjaWZpZWQ/ci52YWx1ZTpudWxsfSksc2V9KGUpO2IuZmluZD1ULGIuZXhwcj1ULnNlbGVjdG9ycyxiLmV4cHJbXCI6XCJdPWIuZXhwci5wc2V1ZG9zLGIudW5pcXVlU29ydD1iLnVuaXF1ZT1ULnVuaXF1ZVNvcnQsYi50ZXh0PVQuZ2V0VGV4dCxiLmlzWE1MRG9jPVQuaXNYTUwsYi5jb250YWlucz1ULmNvbnRhaW5zLGIuZXNjYXBlU2VsZWN0b3I9VC5lc2NhcGU7dmFyIEM9ZnVuY3Rpb24oZSx0LG4pe2Zvcih2YXIgcj1bXSxpPXZvaWQgMCE9PW47KGU9ZVt0XSkmJjkhPT1lLm5vZGVUeXBlOylpZigxPT09ZS5ub2RlVHlwZSl7aWYoaSYmYihlKS5pcyhuKSlicmVhaztyLnB1c2goZSl9cmV0dXJuIHJ9LEU9ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49W107ZTtlPWUubmV4dFNpYmxpbmcpMT09PWUubm9kZVR5cGUmJmUhPT10JiZuLnB1c2goZSk7cmV0dXJuIG59LFM9Yi5leHByLm1hdGNoLm5lZWRzQ29udGV4dDtmdW5jdGlvbiBrKGUsdCl7cmV0dXJuIGUubm9kZU5hbWUmJmUubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PXQudG9Mb3dlckNhc2UoKX12YXIgQT0vXjwoW2Etel1bXlxcL1xcMD46XFx4MjBcXHRcXHJcXG5cXGZdKilbXFx4MjBcXHRcXHJcXG5cXGZdKlxcLz8+KD86PFxcL1xcMT58KSQvaTtmdW5jdGlvbiBOKGUsdCxuKXtyZXR1cm4gaCh0KT9iLmdyZXAoZSxmdW5jdGlvbihlLHIpe3JldHVybiEhdC5jYWxsKGUscixlKSE9PW59KTp0Lm5vZGVUeXBlP2IuZ3JlcChlLGZ1bmN0aW9uKGUpe3JldHVybiBlPT09dCE9PW59KTpcInN0cmluZ1wiIT10eXBlb2YgdD9iLmdyZXAoZSxmdW5jdGlvbihlKXtyZXR1cm4gcy5jYWxsKHQsZSk+LTEhPT1ufSk6Yi5maWx0ZXIodCxlLG4pfWIuZmlsdGVyPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcj10WzBdO3JldHVybiBuJiYoZT1cIjpub3QoXCIrZStcIilcIiksMT09PXQubGVuZ3RoJiYxPT09ci5ub2RlVHlwZT9iLmZpbmQubWF0Y2hlc1NlbGVjdG9yKHIsZSk/W3JdOltdOmIuZmluZC5tYXRjaGVzKGUsYi5ncmVwKHQsZnVuY3Rpb24oZSl7cmV0dXJuIDE9PT1lLm5vZGVUeXBlfSkpfSxiLmZuLmV4dGVuZCh7ZmluZDpmdW5jdGlvbihlKXt2YXIgdCxuLHI9dGhpcy5sZW5ndGgsaT10aGlzO2lmKFwic3RyaW5nXCIhPXR5cGVvZiBlKXJldHVybiB0aGlzLnB1c2hTdGFjayhiKGUpLmZpbHRlcihmdW5jdGlvbigpe2Zvcih0PTA7dDxyO3QrKylpZihiLmNvbnRhaW5zKGlbdF0sdGhpcykpcmV0dXJuITB9KSk7Zm9yKG49dGhpcy5wdXNoU3RhY2soW10pLHQ9MDt0PHI7dCsrKWIuZmluZChlLGlbdF0sbik7cmV0dXJuIHI+MT9iLnVuaXF1ZVNvcnQobik6bn0sZmlsdGVyOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnB1c2hTdGFjayhOKHRoaXMsZXx8W10sITEpKX0sbm90OmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnB1c2hTdGFjayhOKHRoaXMsZXx8W10sITApKX0saXM6ZnVuY3Rpb24oZSl7cmV0dXJuISFOKHRoaXMsXCJzdHJpbmdcIj09dHlwZW9mIGUmJlMudGVzdChlKT9iKGUpOmV8fFtdLCExKS5sZW5ndGh9fSk7dmFyIGosRD0vXig/OlxccyooPFtcXHdcXFddKz4pW14+XSp8IyhbXFx3LV0rKSkkLzsoYi5mbi5pbml0PWZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpO2lmKCFlKXJldHVybiB0aGlzO2lmKG49bnx8aixcInN0cmluZ1wiPT10eXBlb2YgZSl7aWYoIShyPVwiPFwiPT09ZVswXSYmXCI+XCI9PT1lW2UubGVuZ3RoLTFdJiZlLmxlbmd0aD49Mz9bbnVsbCxlLG51bGxdOkQuZXhlYyhlKSl8fCFyWzFdJiZ0KXJldHVybiF0fHx0LmpxdWVyeT8odHx8bikuZmluZChlKTp0aGlzLmNvbnN0cnVjdG9yKHQpLmZpbmQoZSk7aWYoclsxXSl7aWYodD10IGluc3RhbmNlb2YgYj90WzBdOnQsYi5tZXJnZSh0aGlzLGIucGFyc2VIVE1MKHJbMV0sdCYmdC5ub2RlVHlwZT90Lm93bmVyRG9jdW1lbnR8fHQ6diwhMCkpLEEudGVzdChyWzFdKSYmYi5pc1BsYWluT2JqZWN0KHQpKWZvcihyIGluIHQpaCh0aGlzW3JdKT90aGlzW3JdKHRbcl0pOnRoaXMuYXR0cihyLHRbcl0pO3JldHVybiB0aGlzfXJldHVybihpPXYuZ2V0RWxlbWVudEJ5SWQoclsyXSkpJiYodGhpc1swXT1pLHRoaXMubGVuZ3RoPTEpLHRoaXN9cmV0dXJuIGUubm9kZVR5cGU/KHRoaXNbMF09ZSx0aGlzLmxlbmd0aD0xLHRoaXMpOmgoZSk/dm9pZCAwIT09bi5yZWFkeT9uLnJlYWR5KGUpOmUoYik6Yi5tYWtlQXJyYXkoZSx0aGlzKX0pLnByb3RvdHlwZT1iLmZuLGo9Yih2KTt2YXIgcT0vXig/OnBhcmVudHN8cHJldig/OlVudGlsfEFsbCkpLyxMPXtjaGlsZHJlbjohMCxjb250ZW50czohMCxuZXh0OiEwLHByZXY6ITB9O2Z1bmN0aW9uIEgoZSx0KXtmb3IoOyhlPWVbdF0pJiYxIT09ZS5ub2RlVHlwZTspO3JldHVybiBlfWIuZm4uZXh0ZW5kKHtoYXM6ZnVuY3Rpb24oZSl7dmFyIHQ9YihlLHRoaXMpLG49dC5sZW5ndGg7cmV0dXJuIHRoaXMuZmlsdGVyKGZ1bmN0aW9uKCl7Zm9yKHZhciBlPTA7ZTxuO2UrKylpZihiLmNvbnRhaW5zKHRoaXMsdFtlXSkpcmV0dXJuITB9KX0sY2xvc2VzdDpmdW5jdGlvbihlLHQpe3ZhciBuLHI9MCxpPXRoaXMubGVuZ3RoLG89W10sYT1cInN0cmluZ1wiIT10eXBlb2YgZSYmYihlKTtpZighUy50ZXN0KGUpKWZvcig7cjxpO3IrKylmb3Iobj10aGlzW3JdO24mJm4hPT10O249bi5wYXJlbnROb2RlKWlmKG4ubm9kZVR5cGU8MTEmJihhP2EuaW5kZXgobik+LTE6MT09PW4ubm9kZVR5cGUmJmIuZmluZC5tYXRjaGVzU2VsZWN0b3IobixlKSkpe28ucHVzaChuKTticmVha31yZXR1cm4gdGhpcy5wdXNoU3RhY2soby5sZW5ndGg+MT9iLnVuaXF1ZVNvcnQobyk6byl9LGluZGV4OmZ1bmN0aW9uKGUpe3JldHVybiBlP1wic3RyaW5nXCI9PXR5cGVvZiBlP3MuY2FsbChiKGUpLHRoaXNbMF0pOnMuY2FsbCh0aGlzLGUuanF1ZXJ5P2VbMF06ZSk6dGhpc1swXSYmdGhpc1swXS5wYXJlbnROb2RlP3RoaXMuZmlyc3QoKS5wcmV2QWxsKCkubGVuZ3RoOi0xfSxhZGQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soYi51bmlxdWVTb3J0KGIubWVyZ2UodGhpcy5nZXQoKSxiKGUsdCkpKSl9LGFkZEJhY2s6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuYWRkKG51bGw9PWU/dGhpcy5wcmV2T2JqZWN0OnRoaXMucHJldk9iamVjdC5maWx0ZXIoZSkpfX0pLGIuZWFjaCh7cGFyZW50OmZ1bmN0aW9uKGUpe3ZhciB0PWUucGFyZW50Tm9kZTtyZXR1cm4gdCYmMTEhPT10Lm5vZGVUeXBlP3Q6bnVsbH0scGFyZW50czpmdW5jdGlvbihlKXtyZXR1cm4gQyhlLFwicGFyZW50Tm9kZVwiKX0scGFyZW50c1VudGlsOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gQyhlLFwicGFyZW50Tm9kZVwiLG4pfSxuZXh0OmZ1bmN0aW9uKGUpe3JldHVybiBIKGUsXCJuZXh0U2libGluZ1wiKX0scHJldjpmdW5jdGlvbihlKXtyZXR1cm4gSChlLFwicHJldmlvdXNTaWJsaW5nXCIpfSxuZXh0QWxsOmZ1bmN0aW9uKGUpe3JldHVybiBDKGUsXCJuZXh0U2libGluZ1wiKX0scHJldkFsbDpmdW5jdGlvbihlKXtyZXR1cm4gQyhlLFwicHJldmlvdXNTaWJsaW5nXCIpfSxuZXh0VW50aWw6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBDKGUsXCJuZXh0U2libGluZ1wiLG4pfSxwcmV2VW50aWw6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBDKGUsXCJwcmV2aW91c1NpYmxpbmdcIixuKX0sc2libGluZ3M6ZnVuY3Rpb24oZSl7cmV0dXJuIEUoKGUucGFyZW50Tm9kZXx8e30pLmZpcnN0Q2hpbGQsZSl9LGNoaWxkcmVuOmZ1bmN0aW9uKGUpe3JldHVybiBFKGUuZmlyc3RDaGlsZCl9LGNvbnRlbnRzOmZ1bmN0aW9uKGUpe3JldHVybiBudWxsIT1lLmNvbnRlbnREb2N1bWVudCYmcihlLmNvbnRlbnREb2N1bWVudCk/ZS5jb250ZW50RG9jdW1lbnQ6KGsoZSxcInRlbXBsYXRlXCIpJiYoZT1lLmNvbnRlbnR8fGUpLGIubWVyZ2UoW10sZS5jaGlsZE5vZGVzKSl9fSxmdW5jdGlvbihlLHQpe2IuZm5bZV09ZnVuY3Rpb24obixyKXt2YXIgaT1iLm1hcCh0aGlzLHQsbik7cmV0dXJuXCJVbnRpbFwiIT09ZS5zbGljZSgtNSkmJihyPW4pLHImJlwic3RyaW5nXCI9PXR5cGVvZiByJiYoaT1iLmZpbHRlcihyLGkpKSx0aGlzLmxlbmd0aD4xJiYoTFtlXXx8Yi51bmlxdWVTb3J0KGkpLHEudGVzdChlKSYmaS5yZXZlcnNlKCkpLHRoaXMucHVzaFN0YWNrKGkpfX0pO3ZhciBPPS9bXlxceDIwXFx0XFxyXFxuXFxmXSsvZztmdW5jdGlvbiBQKGUpe3JldHVybiBlfWZ1bmN0aW9uIFIoZSl7dGhyb3cgZX1mdW5jdGlvbiBNKGUsdCxuLHIpe3ZhciBpO3RyeXtlJiZoKGk9ZS5wcm9taXNlKT9pLmNhbGwoZSkuZG9uZSh0KS5mYWlsKG4pOmUmJmgoaT1lLnRoZW4pP2kuY2FsbChlLHQsbik6dC5hcHBseSh2b2lkIDAsW2VdLnNsaWNlKHIpKX1jYXRjaChlKXtuLmFwcGx5KHZvaWQgMCxbZV0pfX1iLkNhbGxiYWNrcz1mdW5jdGlvbihlKXtlPVwic3RyaW5nXCI9PXR5cGVvZiBlP2Z1bmN0aW9uKGUpe3ZhciB0PXt9O3JldHVybiBiLmVhY2goZS5tYXRjaChPKXx8W10sZnVuY3Rpb24oZSxuKXt0W25dPSEwfSksdH0oZSk6Yi5leHRlbmQoe30sZSk7dmFyIHQsbixyLGksbz1bXSxhPVtdLHM9LTEsdT1mdW5jdGlvbigpe2ZvcihpPWl8fGUub25jZSxyPXQ9ITA7YS5sZW5ndGg7cz0tMSlmb3Iobj1hLnNoaWZ0KCk7KytzPG8ubGVuZ3RoOykhMT09PW9bc10uYXBwbHkoblswXSxuWzFdKSYmZS5zdG9wT25GYWxzZSYmKHM9by5sZW5ndGgsbj0hMSk7ZS5tZW1vcnl8fChuPSExKSx0PSExLGkmJihvPW4/W106XCJcIil9LGw9e2FkZDpmdW5jdGlvbigpe3JldHVybiBvJiYobiYmIXQmJihzPW8ubGVuZ3RoLTEsYS5wdXNoKG4pKSxmdW5jdGlvbiB0KG4pe2IuZWFjaChuLGZ1bmN0aW9uKG4scil7aChyKT9lLnVuaXF1ZSYmbC5oYXMocil8fG8ucHVzaChyKTpyJiZyLmxlbmd0aCYmXCJzdHJpbmdcIiE9PXgocikmJnQocil9KX0oYXJndW1lbnRzKSxuJiYhdCYmdSgpKSx0aGlzfSxyZW1vdmU6ZnVuY3Rpb24oKXtyZXR1cm4gYi5lYWNoKGFyZ3VtZW50cyxmdW5jdGlvbihlLHQpe2Zvcih2YXIgbjsobj1iLmluQXJyYXkodCxvLG4pKT4tMTspby5zcGxpY2UobiwxKSxuPD1zJiZzLS19KSx0aGlzfSxoYXM6ZnVuY3Rpb24oZSl7cmV0dXJuIGU/Yi5pbkFycmF5KGUsbyk+LTE6by5sZW5ndGg+MH0sZW1wdHk6ZnVuY3Rpb24oKXtyZXR1cm4gbyYmKG89W10pLHRoaXN9LGRpc2FibGU6ZnVuY3Rpb24oKXtyZXR1cm4gaT1hPVtdLG89bj1cIlwiLHRoaXN9LGRpc2FibGVkOmZ1bmN0aW9uKCl7cmV0dXJuIW99LGxvY2s6ZnVuY3Rpb24oKXtyZXR1cm4gaT1hPVtdLG58fHR8fChvPW49XCJcIiksdGhpc30sbG9ja2VkOmZ1bmN0aW9uKCl7cmV0dXJuISFpfSxmaXJlV2l0aDpmdW5jdGlvbihlLG4pe3JldHVybiBpfHwobj1bZSwobj1ufHxbXSkuc2xpY2U/bi5zbGljZSgpOm5dLGEucHVzaChuKSx0fHx1KCkpLHRoaXN9LGZpcmU6ZnVuY3Rpb24oKXtyZXR1cm4gbC5maXJlV2l0aCh0aGlzLGFyZ3VtZW50cyksdGhpc30sZmlyZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hIXJ9fTtyZXR1cm4gbH0sYi5leHRlbmQoe0RlZmVycmVkOmZ1bmN0aW9uKHQpe3ZhciBuPVtbXCJub3RpZnlcIixcInByb2dyZXNzXCIsYi5DYWxsYmFja3MoXCJtZW1vcnlcIiksYi5DYWxsYmFja3MoXCJtZW1vcnlcIiksMl0sW1wicmVzb2x2ZVwiLFwiZG9uZVwiLGIuQ2FsbGJhY2tzKFwib25jZSBtZW1vcnlcIiksYi5DYWxsYmFja3MoXCJvbmNlIG1lbW9yeVwiKSwwLFwicmVzb2x2ZWRcIl0sW1wicmVqZWN0XCIsXCJmYWlsXCIsYi5DYWxsYmFja3MoXCJvbmNlIG1lbW9yeVwiKSxiLkNhbGxiYWNrcyhcIm9uY2UgbWVtb3J5XCIpLDEsXCJyZWplY3RlZFwiXV0scj1cInBlbmRpbmdcIixpPXtzdGF0ZTpmdW5jdGlvbigpe3JldHVybiByfSxhbHdheXM6ZnVuY3Rpb24oKXtyZXR1cm4gby5kb25lKGFyZ3VtZW50cykuZmFpbChhcmd1bWVudHMpLHRoaXN9LGNhdGNoOmZ1bmN0aW9uKGUpe3JldHVybiBpLnRoZW4obnVsbCxlKX0scGlwZTpmdW5jdGlvbigpe3ZhciBlPWFyZ3VtZW50cztyZXR1cm4gYi5EZWZlcnJlZChmdW5jdGlvbih0KXtiLmVhY2gobixmdW5jdGlvbihuLHIpe3ZhciBpPWgoZVtyWzRdXSkmJmVbcls0XV07b1tyWzFdXShmdW5jdGlvbigpe3ZhciBlPWkmJmkuYXBwbHkodGhpcyxhcmd1bWVudHMpO2UmJmgoZS5wcm9taXNlKT9lLnByb21pc2UoKS5wcm9ncmVzcyh0Lm5vdGlmeSkuZG9uZSh0LnJlc29sdmUpLmZhaWwodC5yZWplY3QpOnRbclswXStcIldpdGhcIl0odGhpcyxpP1tlXTphcmd1bWVudHMpfSl9KSxlPW51bGx9KS5wcm9taXNlKCl9LHRoZW46ZnVuY3Rpb24odCxyLGkpe3ZhciBvPTA7ZnVuY3Rpb24gYSh0LG4scixpKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgcz10aGlzLHU9YXJndW1lbnRzLGw9ZnVuY3Rpb24oKXt2YXIgZSxsO2lmKCEodDxvKSl7aWYoKGU9ci5hcHBseShzLHUpKT09PW4ucHJvbWlzZSgpKXRocm93IG5ldyBUeXBlRXJyb3IoXCJUaGVuYWJsZSBzZWxmLXJlc29sdXRpb25cIik7bD1lJiYoXCJvYmplY3RcIj09dHlwZW9mIGV8fFwiZnVuY3Rpb25cIj09dHlwZW9mIGUpJiZlLnRoZW4saChsKT9pP2wuY2FsbChlLGEobyxuLFAsaSksYShvLG4sUixpKSk6KG8rKyxsLmNhbGwoZSxhKG8sbixQLGkpLGEobyxuLFIsaSksYShvLG4sUCxuLm5vdGlmeVdpdGgpKSk6KHIhPT1QJiYocz12b2lkIDAsdT1bZV0pLChpfHxuLnJlc29sdmVXaXRoKShzLHUpKX19LGM9aT9sOmZ1bmN0aW9uKCl7dHJ5e2woKX1jYXRjaChlKXtiLkRlZmVycmVkLmV4Y2VwdGlvbkhvb2smJmIuRGVmZXJyZWQuZXhjZXB0aW9uSG9vayhlLGMuc3RhY2tUcmFjZSksdCsxPj1vJiYociE9PVImJihzPXZvaWQgMCx1PVtlXSksbi5yZWplY3RXaXRoKHMsdSkpfX07dD9jKCk6KGIuRGVmZXJyZWQuZ2V0U3RhY2tIb29rJiYoYy5zdGFja1RyYWNlPWIuRGVmZXJyZWQuZ2V0U3RhY2tIb29rKCkpLGUuc2V0VGltZW91dChjKSl9fXJldHVybiBiLkRlZmVycmVkKGZ1bmN0aW9uKGUpe25bMF1bM10uYWRkKGEoMCxlLGgoaSk/aTpQLGUubm90aWZ5V2l0aCkpLG5bMV1bM10uYWRkKGEoMCxlLGgodCk/dDpQKSksblsyXVszXS5hZGQoYSgwLGUsaChyKT9yOlIpKX0pLnByb21pc2UoKX0scHJvbWlzZTpmdW5jdGlvbihlKXtyZXR1cm4gbnVsbCE9ZT9iLmV4dGVuZChlLGkpOml9fSxvPXt9O3JldHVybiBiLmVhY2gobixmdW5jdGlvbihlLHQpe3ZhciBhPXRbMl0scz10WzVdO2lbdFsxXV09YS5hZGQscyYmYS5hZGQoZnVuY3Rpb24oKXtyPXN9LG5bMy1lXVsyXS5kaXNhYmxlLG5bMy1lXVszXS5kaXNhYmxlLG5bMF1bMl0ubG9jayxuWzBdWzNdLmxvY2spLGEuYWRkKHRbM10uZmlyZSksb1t0WzBdXT1mdW5jdGlvbigpe3JldHVybiBvW3RbMF0rXCJXaXRoXCJdKHRoaXM9PT1vP3ZvaWQgMDp0aGlzLGFyZ3VtZW50cyksdGhpc30sb1t0WzBdK1wiV2l0aFwiXT1hLmZpcmVXaXRofSksaS5wcm9taXNlKG8pLHQmJnQuY2FsbChvLG8pLG99LHdoZW46ZnVuY3Rpb24oZSl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxuPXQscj1BcnJheShuKSxvPWkuY2FsbChhcmd1bWVudHMpLGE9Yi5EZWZlcnJlZCgpLHM9ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JbZV09dGhpcyxvW2VdPWFyZ3VtZW50cy5sZW5ndGg+MT9pLmNhbGwoYXJndW1lbnRzKTpuLC0tdHx8YS5yZXNvbHZlV2l0aChyLG8pfX07aWYodDw9MSYmKE0oZSxhLmRvbmUocyhuKSkucmVzb2x2ZSxhLnJlamVjdCwhdCksXCJwZW5kaW5nXCI9PT1hLnN0YXRlKCl8fGgob1tuXSYmb1tuXS50aGVuKSkpcmV0dXJuIGEudGhlbigpO2Zvcig7bi0tOylNKG9bbl0scyhuKSxhLnJlamVjdCk7cmV0dXJuIGEucHJvbWlzZSgpfX0pO3ZhciBJPS9eKEV2YWx8SW50ZXJuYWx8UmFuZ2V8UmVmZXJlbmNlfFN5bnRheHxUeXBlfFVSSSlFcnJvciQvO2IuRGVmZXJyZWQuZXhjZXB0aW9uSG9vaz1mdW5jdGlvbih0LG4pe2UuY29uc29sZSYmZS5jb25zb2xlLndhcm4mJnQmJkkudGVzdCh0Lm5hbWUpJiZlLmNvbnNvbGUud2FybihcImpRdWVyeS5EZWZlcnJlZCBleGNlcHRpb246IFwiK3QubWVzc2FnZSx0LnN0YWNrLG4pfSxiLnJlYWR5RXhjZXB0aW9uPWZ1bmN0aW9uKHQpe2Uuc2V0VGltZW91dChmdW5jdGlvbigpe3Rocm93IHR9KX07dmFyIFc9Yi5EZWZlcnJlZCgpO2Z1bmN0aW9uIEYoKXt2LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJET01Db250ZW50TG9hZGVkXCIsRiksZS5yZW1vdmVFdmVudExpc3RlbmVyKFwibG9hZFwiLEYpLGIucmVhZHkoKX1iLmZuLnJlYWR5PWZ1bmN0aW9uKGUpe3JldHVybiBXLnRoZW4oZSkuY2F0Y2goZnVuY3Rpb24oZSl7Yi5yZWFkeUV4Y2VwdGlvbihlKX0pLHRoaXN9LGIuZXh0ZW5kKHtpc1JlYWR5OiExLHJlYWR5V2FpdDoxLHJlYWR5OmZ1bmN0aW9uKGUpeyghMD09PWU/LS1iLnJlYWR5V2FpdDpiLmlzUmVhZHkpfHwoYi5pc1JlYWR5PSEwLCEwIT09ZSYmLS1iLnJlYWR5V2FpdD4wfHxXLnJlc29sdmVXaXRoKHYsW2JdKSl9fSksYi5yZWFkeS50aGVuPVcudGhlbixcImNvbXBsZXRlXCI9PT12LnJlYWR5U3RhdGV8fFwibG9hZGluZ1wiIT09di5yZWFkeVN0YXRlJiYhdi5kb2N1bWVudEVsZW1lbnQuZG9TY3JvbGw/ZS5zZXRUaW1lb3V0KGIucmVhZHkpOih2LmFkZEV2ZW50TGlzdGVuZXIoXCJET01Db250ZW50TG9hZGVkXCIsRiksZS5hZGRFdmVudExpc3RlbmVyKFwibG9hZFwiLEYpKTt2YXIgQj1mdW5jdGlvbihlLHQsbixyLGksbyxhKXt2YXIgcz0wLHU9ZS5sZW5ndGgsbD1udWxsPT1uO2lmKFwib2JqZWN0XCI9PT14KG4pKWZvcihzIGluIGk9ITAsbilCKGUsdCxzLG5bc10sITAsbyxhKTtlbHNlIGlmKHZvaWQgMCE9PXImJihpPSEwLGgocil8fChhPSEwKSxsJiYoYT8odC5jYWxsKGUsciksdD1udWxsKToobD10LHQ9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBsLmNhbGwoYihlKSxuKX0pKSx0KSlmb3IoO3M8dTtzKyspdChlW3NdLG4sYT9yOnIuY2FsbChlW3NdLHMsdChlW3NdLG4pKSk7cmV0dXJuIGk/ZTpsP3QuY2FsbChlKTp1P3QoZVswXSxuKTpvfSwkPS9eLW1zLS8sXz0vLShbYS16XSkvZztmdW5jdGlvbiB6KGUsdCl7cmV0dXJuIHQudG9VcHBlckNhc2UoKX1mdW5jdGlvbiBVKGUpe3JldHVybiBlLnJlcGxhY2UoJCxcIm1zLVwiKS5yZXBsYWNlKF8seil9dmFyIFg9ZnVuY3Rpb24oZSl7cmV0dXJuIDE9PT1lLm5vZGVUeXBlfHw5PT09ZS5ub2RlVHlwZXx8IStlLm5vZGVUeXBlfTtmdW5jdGlvbiBWKCl7dGhpcy5leHBhbmRvPWIuZXhwYW5kbytWLnVpZCsrfVYudWlkPTEsVi5wcm90b3R5cGU9e2NhY2hlOmZ1bmN0aW9uKGUpe3ZhciB0PWVbdGhpcy5leHBhbmRvXTtyZXR1cm4gdHx8KHQ9e30sWChlKSYmKGUubm9kZVR5cGU/ZVt0aGlzLmV4cGFuZG9dPXQ6T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdGhpcy5leHBhbmRvLHt2YWx1ZTp0LGNvbmZpZ3VyYWJsZTohMH0pKSksdH0sc2V0OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpPXRoaXMuY2FjaGUoZSk7aWYoXCJzdHJpbmdcIj09dHlwZW9mIHQpaVtVKHQpXT1uO2Vsc2UgZm9yKHIgaW4gdClpW1UocildPXRbcl07cmV0dXJuIGl9LGdldDpmdW5jdGlvbihlLHQpe3JldHVybiB2b2lkIDA9PT10P3RoaXMuY2FjaGUoZSk6ZVt0aGlzLmV4cGFuZG9dJiZlW3RoaXMuZXhwYW5kb11bVSh0KV19LGFjY2VzczpmdW5jdGlvbihlLHQsbil7cmV0dXJuIHZvaWQgMD09PXR8fHQmJlwic3RyaW5nXCI9PXR5cGVvZiB0JiZ2b2lkIDA9PT1uP3RoaXMuZ2V0KGUsdCk6KHRoaXMuc2V0KGUsdCxuKSx2b2lkIDAhPT1uP246dCl9LHJlbW92ZTpmdW5jdGlvbihlLHQpe3ZhciBuLHI9ZVt0aGlzLmV4cGFuZG9dO2lmKHZvaWQgMCE9PXIpe2lmKHZvaWQgMCE9PXQpe249KHQ9QXJyYXkuaXNBcnJheSh0KT90Lm1hcChVKToodD1VKHQpKWluIHI/W3RdOnQubWF0Y2goTyl8fFtdKS5sZW5ndGg7Zm9yKDtuLS07KWRlbGV0ZSByW3Rbbl1dfSh2b2lkIDA9PT10fHxiLmlzRW1wdHlPYmplY3QocikpJiYoZS5ub2RlVHlwZT9lW3RoaXMuZXhwYW5kb109dm9pZCAwOmRlbGV0ZSBlW3RoaXMuZXhwYW5kb10pfX0saGFzRGF0YTpmdW5jdGlvbihlKXt2YXIgdD1lW3RoaXMuZXhwYW5kb107cmV0dXJuIHZvaWQgMCE9PXQmJiFiLmlzRW1wdHlPYmplY3QodCl9fTt2YXIgRz1uZXcgVixZPW5ldyBWLFE9L14oPzpcXHtbXFx3XFxXXSpcXH18XFxbW1xcd1xcV10qXFxdKSQvLEo9L1tBLVpdL2c7ZnVuY3Rpb24gSyhlLHQsbil7dmFyIHI7aWYodm9pZCAwPT09biYmMT09PWUubm9kZVR5cGUpaWYocj1cImRhdGEtXCIrdC5yZXBsYWNlKEosXCItJCZcIikudG9Mb3dlckNhc2UoKSxcInN0cmluZ1wiPT10eXBlb2Yobj1lLmdldEF0dHJpYnV0ZShyKSkpe3RyeXtuPWZ1bmN0aW9uKGUpe3JldHVyblwidHJ1ZVwiPT09ZXx8XCJmYWxzZVwiIT09ZSYmKFwibnVsbFwiPT09ZT9udWxsOmU9PT0rZStcIlwiPytlOlEudGVzdChlKT9KU09OLnBhcnNlKGUpOmUpfShuKX1jYXRjaChlKXt9WS5zZXQoZSx0LG4pfWVsc2Ugbj12b2lkIDA7cmV0dXJuIG59Yi5leHRlbmQoe2hhc0RhdGE6ZnVuY3Rpb24oZSl7cmV0dXJuIFkuaGFzRGF0YShlKXx8Ry5oYXNEYXRhKGUpfSxkYXRhOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gWS5hY2Nlc3MoZSx0LG4pfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGUsdCl7WS5yZW1vdmUoZSx0KX0sX2RhdGE6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBHLmFjY2VzcyhlLHQsbil9LF9yZW1vdmVEYXRhOmZ1bmN0aW9uKGUsdCl7Ry5yZW1vdmUoZSx0KX19KSxiLmZuLmV4dGVuZCh7ZGF0YTpmdW5jdGlvbihlLHQpe3ZhciBuLHIsaSxvPXRoaXNbMF0sYT1vJiZvLmF0dHJpYnV0ZXM7aWYodm9pZCAwPT09ZSl7aWYodGhpcy5sZW5ndGgmJihpPVkuZ2V0KG8pLDE9PT1vLm5vZGVUeXBlJiYhRy5nZXQobyxcImhhc0RhdGFBdHRyc1wiKSkpe2ZvcihuPWEubGVuZ3RoO24tLTspYVtuXSYmMD09PShyPWFbbl0ubmFtZSkuaW5kZXhPZihcImRhdGEtXCIpJiYocj1VKHIuc2xpY2UoNSkpLEsobyxyLGlbcl0pKTtHLnNldChvLFwiaGFzRGF0YUF0dHJzXCIsITApfXJldHVybiBpfXJldHVyblwib2JqZWN0XCI9PXR5cGVvZiBlP3RoaXMuZWFjaChmdW5jdGlvbigpe1kuc2V0KHRoaXMsZSl9KTpCKHRoaXMsZnVuY3Rpb24odCl7dmFyIG47aWYobyYmdm9pZCAwPT09dClyZXR1cm4gdm9pZCAwIT09KG49WS5nZXQobyxlKSk/bjp2b2lkIDAhPT0obj1LKG8sZSkpP246dm9pZCAwO3RoaXMuZWFjaChmdW5jdGlvbigpe1kuc2V0KHRoaXMsZSx0KX0pfSxudWxsLHQsYXJndW1lbnRzLmxlbmd0aD4xLG51bGwsITApfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtZLnJlbW92ZSh0aGlzLGUpfSl9fSksYi5leHRlbmQoe3F1ZXVlOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcjtpZihlKXJldHVybiB0PSh0fHxcImZ4XCIpK1wicXVldWVcIixyPUcuZ2V0KGUsdCksbiYmKCFyfHxBcnJheS5pc0FycmF5KG4pP3I9Ry5hY2Nlc3MoZSx0LGIubWFrZUFycmF5KG4pKTpyLnB1c2gobikpLHJ8fFtdfSxkZXF1ZXVlOmZ1bmN0aW9uKGUsdCl7dD10fHxcImZ4XCI7dmFyIG49Yi5xdWV1ZShlLHQpLHI9bi5sZW5ndGgsaT1uLnNoaWZ0KCksbz1iLl9xdWV1ZUhvb2tzKGUsdCk7XCJpbnByb2dyZXNzXCI9PT1pJiYoaT1uLnNoaWZ0KCksci0tKSxpJiYoXCJmeFwiPT09dCYmbi51bnNoaWZ0KFwiaW5wcm9ncmVzc1wiKSxkZWxldGUgby5zdG9wLGkuY2FsbChlLGZ1bmN0aW9uKCl7Yi5kZXF1ZXVlKGUsdCl9LG8pKSwhciYmbyYmby5lbXB0eS5maXJlKCl9LF9xdWV1ZUhvb2tzOmZ1bmN0aW9uKGUsdCl7dmFyIG49dCtcInF1ZXVlSG9va3NcIjtyZXR1cm4gRy5nZXQoZSxuKXx8Ry5hY2Nlc3MoZSxuLHtlbXB0eTpiLkNhbGxiYWNrcyhcIm9uY2UgbWVtb3J5XCIpLmFkZChmdW5jdGlvbigpe0cucmVtb3ZlKGUsW3QrXCJxdWV1ZVwiLG5dKX0pfSl9fSksYi5mbi5leHRlbmQoe3F1ZXVlOmZ1bmN0aW9uKGUsdCl7dmFyIG49MjtyZXR1cm5cInN0cmluZ1wiIT10eXBlb2YgZSYmKHQ9ZSxlPVwiZnhcIixuLS0pLGFyZ3VtZW50cy5sZW5ndGg8bj9iLnF1ZXVlKHRoaXNbMF0sZSk6dm9pZCAwPT09dD90aGlzOnRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBuPWIucXVldWUodGhpcyxlLHQpO2IuX3F1ZXVlSG9va3ModGhpcyxlKSxcImZ4XCI9PT1lJiZcImlucHJvZ3Jlc3NcIiE9PW5bMF0mJmIuZGVxdWV1ZSh0aGlzLGUpfSl9LGRlcXVldWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2IuZGVxdWV1ZSh0aGlzLGUpfSl9LGNsZWFyUXVldWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMucXVldWUoZXx8XCJmeFwiLFtdKX0scHJvbWlzZTpmdW5jdGlvbihlLHQpe3ZhciBuLHI9MSxpPWIuRGVmZXJyZWQoKSxvPXRoaXMsYT10aGlzLmxlbmd0aCxzPWZ1bmN0aW9uKCl7LS1yfHxpLnJlc29sdmVXaXRoKG8sW29dKX07Zm9yKFwic3RyaW5nXCIhPXR5cGVvZiBlJiYodD1lLGU9dm9pZCAwKSxlPWV8fFwiZnhcIjthLS07KShuPUcuZ2V0KG9bYV0sZStcInF1ZXVlSG9va3NcIikpJiZuLmVtcHR5JiYocisrLG4uZW1wdHkuYWRkKHMpKTtyZXR1cm4gcygpLGkucHJvbWlzZSh0KX19KTt2YXIgWj0vWystXT8oPzpcXGQqXFwufClcXGQrKD86W2VFXVsrLV0/XFxkK3wpLy5zb3VyY2UsZWU9bmV3IFJlZ0V4cChcIl4oPzooWystXSk9fCkoXCIrWitcIikoW2EteiVdKikkXCIsXCJpXCIpLHRlPVtcIlRvcFwiLFwiUmlnaHRcIixcIkJvdHRvbVwiLFwiTGVmdFwiXSxuZT12LmRvY3VtZW50RWxlbWVudCxyZT1mdW5jdGlvbihlKXtyZXR1cm4gYi5jb250YWlucyhlLm93bmVyRG9jdW1lbnQsZSl9LGllPXtjb21wb3NlZDohMH07bmUuZ2V0Um9vdE5vZGUmJihyZT1mdW5jdGlvbihlKXtyZXR1cm4gYi5jb250YWlucyhlLm93bmVyRG9jdW1lbnQsZSl8fGUuZ2V0Um9vdE5vZGUoaWUpPT09ZS5vd25lckRvY3VtZW50fSk7dmFyIG9lPWZ1bmN0aW9uKGUsdCl7cmV0dXJuXCJub25lXCI9PT0oZT10fHxlKS5zdHlsZS5kaXNwbGF5fHxcIlwiPT09ZS5zdHlsZS5kaXNwbGF5JiZyZShlKSYmXCJub25lXCI9PT1iLmNzcyhlLFwiZGlzcGxheVwiKX07ZnVuY3Rpb24gYWUoZSx0LG4scil7dmFyIGksbyxhPTIwLHM9cj9mdW5jdGlvbigpe3JldHVybiByLmN1cigpfTpmdW5jdGlvbigpe3JldHVybiBiLmNzcyhlLHQsXCJcIil9LHU9cygpLGw9biYmblszXXx8KGIuY3NzTnVtYmVyW3RdP1wiXCI6XCJweFwiKSxjPWUubm9kZVR5cGUmJihiLmNzc051bWJlclt0XXx8XCJweFwiIT09bCYmK3UpJiZlZS5leGVjKGIuY3NzKGUsdCkpO2lmKGMmJmNbM10hPT1sKXtmb3IodS89MixsPWx8fGNbM10sYz0rdXx8MTthLS07KWIuc3R5bGUoZSx0LGMrbCksKDEtbykqKDEtKG89cygpL3V8fC41KSk8PTAmJihhPTApLGMvPW87Yyo9MixiLnN0eWxlKGUsdCxjK2wpLG49bnx8W119cmV0dXJuIG4mJihjPStjfHwrdXx8MCxpPW5bMV0/YysoblsxXSsxKSpuWzJdOituWzJdLHImJihyLnVuaXQ9bCxyLnN0YXJ0PWMsci5lbmQ9aSkpLGl9dmFyIHNlPXt9O2Z1bmN0aW9uIHVlKGUpe3ZhciB0LG49ZS5vd25lckRvY3VtZW50LHI9ZS5ub2RlTmFtZSxpPXNlW3JdO3JldHVybiBpfHwodD1uLmJvZHkuYXBwZW5kQ2hpbGQobi5jcmVhdGVFbGVtZW50KHIpKSxpPWIuY3NzKHQsXCJkaXNwbGF5XCIpLHQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0KSxcIm5vbmVcIj09PWkmJihpPVwiYmxvY2tcIiksc2Vbcl09aSxpKX1mdW5jdGlvbiBsZShlLHQpe2Zvcih2YXIgbixyLGk9W10sbz0wLGE9ZS5sZW5ndGg7bzxhO28rKykocj1lW29dKS5zdHlsZSYmKG49ci5zdHlsZS5kaXNwbGF5LHQ/KFwibm9uZVwiPT09biYmKGlbb109Ry5nZXQocixcImRpc3BsYXlcIil8fG51bGwsaVtvXXx8KHIuc3R5bGUuZGlzcGxheT1cIlwiKSksXCJcIj09PXIuc3R5bGUuZGlzcGxheSYmb2UocikmJihpW29dPXVlKHIpKSk6XCJub25lXCIhPT1uJiYoaVtvXT1cIm5vbmVcIixHLnNldChyLFwiZGlzcGxheVwiLG4pKSk7Zm9yKG89MDtvPGE7bysrKW51bGwhPWlbb10mJihlW29dLnN0eWxlLmRpc3BsYXk9aVtvXSk7cmV0dXJuIGV9Yi5mbi5leHRlbmQoe3Nob3c6ZnVuY3Rpb24oKXtyZXR1cm4gbGUodGhpcywhMCl9LGhpZGU6ZnVuY3Rpb24oKXtyZXR1cm4gbGUodGhpcyl9LHRvZ2dsZTpmdW5jdGlvbihlKXtyZXR1cm5cImJvb2xlYW5cIj09dHlwZW9mIGU/ZT90aGlzLnNob3coKTp0aGlzLmhpZGUoKTp0aGlzLmVhY2goZnVuY3Rpb24oKXtvZSh0aGlzKT9iKHRoaXMpLnNob3coKTpiKHRoaXMpLmhpZGUoKX0pfX0pO3ZhciBjZSxmZSxwZT0vXig/OmNoZWNrYm94fHJhZGlvKSQvaSxkZT0vPChbYS16XVteXFwvXFwwPlxceDIwXFx0XFxyXFxuXFxmXSopL2ksaGU9L14kfF5tb2R1bGUkfFxcLyg/OmphdmF8ZWNtYSlzY3JpcHQvaTtjZT12LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKS5hcHBlbmRDaGlsZCh2LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIikpLChmZT12LmNyZWF0ZUVsZW1lbnQoXCJpbnB1dFwiKSkuc2V0QXR0cmlidXRlKFwidHlwZVwiLFwicmFkaW9cIiksZmUuc2V0QXR0cmlidXRlKFwiY2hlY2tlZFwiLFwiY2hlY2tlZFwiKSxmZS5zZXRBdHRyaWJ1dGUoXCJuYW1lXCIsXCJ0XCIpLGNlLmFwcGVuZENoaWxkKGZlKSxkLmNoZWNrQ2xvbmU9Y2UuY2xvbmVOb2RlKCEwKS5jbG9uZU5vZGUoITApLmxhc3RDaGlsZC5jaGVja2VkLGNlLmlubmVySFRNTD1cIjx0ZXh0YXJlYT54PC90ZXh0YXJlYT5cIixkLm5vQ2xvbmVDaGVja2VkPSEhY2UuY2xvbmVOb2RlKCEwKS5sYXN0Q2hpbGQuZGVmYXVsdFZhbHVlLGNlLmlubmVySFRNTD1cIjxvcHRpb24+PC9vcHRpb24+XCIsZC5vcHRpb249ISFjZS5sYXN0Q2hpbGQ7dmFyIGdlPXt0aGVhZDpbMSxcIjx0YWJsZT5cIixcIjwvdGFibGU+XCJdLGNvbDpbMixcIjx0YWJsZT48Y29sZ3JvdXA+XCIsXCI8L2NvbGdyb3VwPjwvdGFibGU+XCJdLHRyOlsyLFwiPHRhYmxlPjx0Ym9keT5cIixcIjwvdGJvZHk+PC90YWJsZT5cIl0sdGQ6WzMsXCI8dGFibGU+PHRib2R5Pjx0cj5cIixcIjwvdHI+PC90Ym9keT48L3RhYmxlPlwiXSxfZGVmYXVsdDpbMCxcIlwiLFwiXCJdfTtmdW5jdGlvbiB2ZShlLHQpe3ZhciBuO3JldHVybiBuPXZvaWQgMCE9PWUuZ2V0RWxlbWVudHNCeVRhZ05hbWU/ZS5nZXRFbGVtZW50c0J5VGFnTmFtZSh0fHxcIipcIik6dm9pZCAwIT09ZS5xdWVyeVNlbGVjdG9yQWxsP2UucXVlcnlTZWxlY3RvckFsbCh0fHxcIipcIik6W10sdm9pZCAwPT09dHx8dCYmayhlLHQpP2IubWVyZ2UoW2VdLG4pOm59ZnVuY3Rpb24geWUoZSx0KXtmb3IodmFyIG49MCxyPWUubGVuZ3RoO248cjtuKyspRy5zZXQoZVtuXSxcImdsb2JhbEV2YWxcIiwhdHx8Ry5nZXQodFtuXSxcImdsb2JhbEV2YWxcIikpfWdlLnRib2R5PWdlLnRmb290PWdlLmNvbGdyb3VwPWdlLmNhcHRpb249Z2UudGhlYWQsZ2UudGg9Z2UudGQsZC5vcHRpb258fChnZS5vcHRncm91cD1nZS5vcHRpb249WzEsXCI8c2VsZWN0IG11bHRpcGxlPSdtdWx0aXBsZSc+XCIsXCI8L3NlbGVjdD5cIl0pO3ZhciBtZT0vPHwmIz9cXHcrOy87ZnVuY3Rpb24geGUoZSx0LG4scixpKXtmb3IodmFyIG8sYSxzLHUsbCxjLGY9dC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCkscD1bXSxkPTAsaD1lLmxlbmd0aDtkPGg7ZCsrKWlmKChvPWVbZF0pfHwwPT09bylpZihcIm9iamVjdFwiPT09eChvKSliLm1lcmdlKHAsby5ub2RlVHlwZT9bb106byk7ZWxzZSBpZihtZS50ZXN0KG8pKXtmb3IoYT1hfHxmLmFwcGVuZENoaWxkKHQuY3JlYXRlRWxlbWVudChcImRpdlwiKSkscz0oZGUuZXhlYyhvKXx8W1wiXCIsXCJcIl0pWzFdLnRvTG93ZXJDYXNlKCksdT1nZVtzXXx8Z2UuX2RlZmF1bHQsYS5pbm5lckhUTUw9dVsxXStiLmh0bWxQcmVmaWx0ZXIobykrdVsyXSxjPXVbMF07Yy0tOylhPWEubGFzdENoaWxkO2IubWVyZ2UocCxhLmNoaWxkTm9kZXMpLChhPWYuZmlyc3RDaGlsZCkudGV4dENvbnRlbnQ9XCJcIn1lbHNlIHAucHVzaCh0LmNyZWF0ZVRleHROb2RlKG8pKTtmb3IoZi50ZXh0Q29udGVudD1cIlwiLGQ9MDtvPXBbZCsrXTspaWYociYmYi5pbkFycmF5KG8scik+LTEpaSYmaS5wdXNoKG8pO2Vsc2UgaWYobD1yZShvKSxhPXZlKGYuYXBwZW5kQ2hpbGQobyksXCJzY3JpcHRcIiksbCYmeWUoYSksbilmb3IoYz0wO289YVtjKytdOyloZS50ZXN0KG8udHlwZXx8XCJcIikmJm4ucHVzaChvKTtyZXR1cm4gZn12YXIgYmU9L14oW14uXSopKD86XFwuKC4rKXwpLztmdW5jdGlvbiB3ZSgpe3JldHVybiEwfWZ1bmN0aW9uIFRlKCl7cmV0dXJuITF9ZnVuY3Rpb24gQ2UoZSx0KXtyZXR1cm4gZT09PWZ1bmN0aW9uKCl7dHJ5e3JldHVybiB2LmFjdGl2ZUVsZW1lbnR9Y2F0Y2goZSl7fX0oKT09KFwiZm9jdXNcIj09PXQpfWZ1bmN0aW9uIEVlKGUsdCxuLHIsaSxvKXt2YXIgYSxzO2lmKFwib2JqZWN0XCI9PXR5cGVvZiB0KXtmb3IocyBpblwic3RyaW5nXCIhPXR5cGVvZiBuJiYocj1yfHxuLG49dm9pZCAwKSx0KUVlKGUscyxuLHIsdFtzXSxvKTtyZXR1cm4gZX1pZihudWxsPT1yJiZudWxsPT1pPyhpPW4scj1uPXZvaWQgMCk6bnVsbD09aSYmKFwic3RyaW5nXCI9PXR5cGVvZiBuPyhpPXIscj12b2lkIDApOihpPXIscj1uLG49dm9pZCAwKSksITE9PT1pKWk9VGU7ZWxzZSBpZighaSlyZXR1cm4gZTtyZXR1cm4gMT09PW8mJihhPWksKGk9ZnVuY3Rpb24oZSl7cmV0dXJuIGIoKS5vZmYoZSksYS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KS5ndWlkPWEuZ3VpZHx8KGEuZ3VpZD1iLmd1aWQrKykpLGUuZWFjaChmdW5jdGlvbigpe2IuZXZlbnQuYWRkKHRoaXMsdCxpLHIsbil9KX1mdW5jdGlvbiBTZShlLHQsbil7bj8oRy5zZXQoZSx0LCExKSxiLmV2ZW50LmFkZChlLHQse25hbWVzcGFjZTohMSxoYW5kbGVyOmZ1bmN0aW9uKGUpe3ZhciByLG8sYT1HLmdldCh0aGlzLHQpO2lmKDEmZS5pc1RyaWdnZXImJnRoaXNbdF0pe2lmKGEubGVuZ3RoKShiLmV2ZW50LnNwZWNpYWxbdF18fHt9KS5kZWxlZ2F0ZVR5cGUmJmUuc3RvcFByb3BhZ2F0aW9uKCk7ZWxzZSBpZihhPWkuY2FsbChhcmd1bWVudHMpLEcuc2V0KHRoaXMsdCxhKSxyPW4odGhpcyx0KSx0aGlzW3RdKCksYSE9PShvPUcuZ2V0KHRoaXMsdCkpfHxyP0cuc2V0KHRoaXMsdCwhMSk6bz17fSxhIT09bylyZXR1cm4gZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSxlLnByZXZlbnREZWZhdWx0KCksbyYmby52YWx1ZX1lbHNlIGEubGVuZ3RoJiYoRy5zZXQodGhpcyx0LHt2YWx1ZTpiLmV2ZW50LnRyaWdnZXIoYi5leHRlbmQoYVswXSxiLkV2ZW50LnByb3RvdHlwZSksYS5zbGljZSgxKSx0aGlzKX0pLGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCkpfX0pKTp2b2lkIDA9PT1HLmdldChlLHQpJiZiLmV2ZW50LmFkZChlLHQsd2UpfWIuZXZlbnQ9e2dsb2JhbDp7fSxhZGQ6ZnVuY3Rpb24oZSx0LG4scixpKXt2YXIgbyxhLHMsdSxsLGMsZixwLGQsaCxnLHY9Ry5nZXQoZSk7aWYoWChlKSlmb3Iobi5oYW5kbGVyJiYobj0obz1uKS5oYW5kbGVyLGk9by5zZWxlY3RvciksaSYmYi5maW5kLm1hdGNoZXNTZWxlY3RvcihuZSxpKSxuLmd1aWR8fChuLmd1aWQ9Yi5ndWlkKyspLCh1PXYuZXZlbnRzKXx8KHU9di5ldmVudHM9T2JqZWN0LmNyZWF0ZShudWxsKSksKGE9di5oYW5kbGUpfHwoYT12LmhhbmRsZT1mdW5jdGlvbih0KXtyZXR1cm4gdm9pZCAwIT09YiYmYi5ldmVudC50cmlnZ2VyZWQhPT10LnR5cGU/Yi5ldmVudC5kaXNwYXRjaC5hcHBseShlLGFyZ3VtZW50cyk6dm9pZCAwfSksbD0odD0odHx8XCJcIikubWF0Y2goTyl8fFtcIlwiXSkubGVuZ3RoO2wtLTspZD1nPShzPWJlLmV4ZWModFtsXSl8fFtdKVsxXSxoPShzWzJdfHxcIlwiKS5zcGxpdChcIi5cIikuc29ydCgpLGQmJihmPWIuZXZlbnQuc3BlY2lhbFtkXXx8e30sZD0oaT9mLmRlbGVnYXRlVHlwZTpmLmJpbmRUeXBlKXx8ZCxmPWIuZXZlbnQuc3BlY2lhbFtkXXx8e30sYz1iLmV4dGVuZCh7dHlwZTpkLG9yaWdUeXBlOmcsZGF0YTpyLGhhbmRsZXI6bixndWlkOm4uZ3VpZCxzZWxlY3RvcjppLG5lZWRzQ29udGV4dDppJiZiLmV4cHIubWF0Y2gubmVlZHNDb250ZXh0LnRlc3QoaSksbmFtZXNwYWNlOmguam9pbihcIi5cIil9LG8pLChwPXVbZF0pfHwoKHA9dVtkXT1bXSkuZGVsZWdhdGVDb3VudD0wLGYuc2V0dXAmJiExIT09Zi5zZXR1cC5jYWxsKGUscixoLGEpfHxlLmFkZEV2ZW50TGlzdGVuZXImJmUuYWRkRXZlbnRMaXN0ZW5lcihkLGEpKSxmLmFkZCYmKGYuYWRkLmNhbGwoZSxjKSxjLmhhbmRsZXIuZ3VpZHx8KGMuaGFuZGxlci5ndWlkPW4uZ3VpZCkpLGk/cC5zcGxpY2UocC5kZWxlZ2F0ZUNvdW50KyssMCxjKTpwLnB1c2goYyksYi5ldmVudC5nbG9iYWxbZF09ITApfSxyZW1vdmU6ZnVuY3Rpb24oZSx0LG4scixpKXt2YXIgbyxhLHMsdSxsLGMsZixwLGQsaCxnLHY9Ry5oYXNEYXRhKGUpJiZHLmdldChlKTtpZih2JiYodT12LmV2ZW50cykpe2ZvcihsPSh0PSh0fHxcIlwiKS5tYXRjaChPKXx8W1wiXCJdKS5sZW5ndGg7bC0tOylpZihkPWc9KHM9YmUuZXhlYyh0W2xdKXx8W10pWzFdLGg9KHNbMl18fFwiXCIpLnNwbGl0KFwiLlwiKS5zb3J0KCksZCl7Zm9yKGY9Yi5ldmVudC5zcGVjaWFsW2RdfHx7fSxwPXVbZD0ocj9mLmRlbGVnYXRlVHlwZTpmLmJpbmRUeXBlKXx8ZF18fFtdLHM9c1syXSYmbmV3IFJlZ0V4cChcIihefFxcXFwuKVwiK2guam9pbihcIlxcXFwuKD86LipcXFxcLnwpXCIpK1wiKFxcXFwufCQpXCIpLGE9bz1wLmxlbmd0aDtvLS07KWM9cFtvXSwhaSYmZyE9PWMub3JpZ1R5cGV8fG4mJm4uZ3VpZCE9PWMuZ3VpZHx8cyYmIXMudGVzdChjLm5hbWVzcGFjZSl8fHImJnIhPT1jLnNlbGVjdG9yJiYoXCIqKlwiIT09cnx8IWMuc2VsZWN0b3IpfHwocC5zcGxpY2UobywxKSxjLnNlbGVjdG9yJiZwLmRlbGVnYXRlQ291bnQtLSxmLnJlbW92ZSYmZi5yZW1vdmUuY2FsbChlLGMpKTthJiYhcC5sZW5ndGgmJihmLnRlYXJkb3duJiYhMSE9PWYudGVhcmRvd24uY2FsbChlLGgsdi5oYW5kbGUpfHxiLnJlbW92ZUV2ZW50KGUsZCx2LmhhbmRsZSksZGVsZXRlIHVbZF0pfWVsc2UgZm9yKGQgaW4gdSliLmV2ZW50LnJlbW92ZShlLGQrdFtsXSxuLHIsITApO2IuaXNFbXB0eU9iamVjdCh1KSYmRy5yZW1vdmUoZSxcImhhbmRsZSBldmVudHNcIil9fSxkaXNwYXRjaDpmdW5jdGlvbihlKXt2YXIgdCxuLHIsaSxvLGEscz1uZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCksdT1iLmV2ZW50LmZpeChlKSxsPShHLmdldCh0aGlzLFwiZXZlbnRzXCIpfHxPYmplY3QuY3JlYXRlKG51bGwpKVt1LnR5cGVdfHxbXSxjPWIuZXZlbnQuc3BlY2lhbFt1LnR5cGVdfHx7fTtmb3Ioc1swXT11LHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXNbdF09YXJndW1lbnRzW3RdO2lmKHUuZGVsZWdhdGVUYXJnZXQ9dGhpcywhYy5wcmVEaXNwYXRjaHx8ITEhPT1jLnByZURpc3BhdGNoLmNhbGwodGhpcyx1KSl7Zm9yKGE9Yi5ldmVudC5oYW5kbGVycy5jYWxsKHRoaXMsdSxsKSx0PTA7KGk9YVt0KytdKSYmIXUuaXNQcm9wYWdhdGlvblN0b3BwZWQoKTspZm9yKHUuY3VycmVudFRhcmdldD1pLmVsZW0sbj0wOyhvPWkuaGFuZGxlcnNbbisrXSkmJiF1LmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkKCk7KXUucm5hbWVzcGFjZSYmITEhPT1vLm5hbWVzcGFjZSYmIXUucm5hbWVzcGFjZS50ZXN0KG8ubmFtZXNwYWNlKXx8KHUuaGFuZGxlT2JqPW8sdS5kYXRhPW8uZGF0YSx2b2lkIDAhPT0ocj0oKGIuZXZlbnQuc3BlY2lhbFtvLm9yaWdUeXBlXXx8e30pLmhhbmRsZXx8by5oYW5kbGVyKS5hcHBseShpLmVsZW0scykpJiYhMT09PSh1LnJlc3VsdD1yKSYmKHUucHJldmVudERlZmF1bHQoKSx1LnN0b3BQcm9wYWdhdGlvbigpKSk7cmV0dXJuIGMucG9zdERpc3BhdGNoJiZjLnBvc3REaXNwYXRjaC5jYWxsKHRoaXMsdSksdS5yZXN1bHR9fSxoYW5kbGVyczpmdW5jdGlvbihlLHQpe3ZhciBuLHIsaSxvLGEscz1bXSx1PXQuZGVsZWdhdGVDb3VudCxsPWUudGFyZ2V0O2lmKHUmJmwubm9kZVR5cGUmJiEoXCJjbGlja1wiPT09ZS50eXBlJiZlLmJ1dHRvbj49MSkpZm9yKDtsIT09dGhpcztsPWwucGFyZW50Tm9kZXx8dGhpcylpZigxPT09bC5ub2RlVHlwZSYmKFwiY2xpY2tcIiE9PWUudHlwZXx8ITAhPT1sLmRpc2FibGVkKSl7Zm9yKG89W10sYT17fSxuPTA7bjx1O24rKyl2b2lkIDA9PT1hW2k9KHI9dFtuXSkuc2VsZWN0b3IrXCIgXCJdJiYoYVtpXT1yLm5lZWRzQ29udGV4dD9iKGksdGhpcykuaW5kZXgobCk+LTE6Yi5maW5kKGksdGhpcyxudWxsLFtsXSkubGVuZ3RoKSxhW2ldJiZvLnB1c2gocik7by5sZW5ndGgmJnMucHVzaCh7ZWxlbTpsLGhhbmRsZXJzOm99KX1yZXR1cm4gbD10aGlzLHU8dC5sZW5ndGgmJnMucHVzaCh7ZWxlbTpsLGhhbmRsZXJzOnQuc2xpY2UodSl9KSxzfSxhZGRQcm9wOmZ1bmN0aW9uKGUsdCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGIuRXZlbnQucHJvdG90eXBlLGUse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLGdldDpoKHQpP2Z1bmN0aW9uKCl7aWYodGhpcy5vcmlnaW5hbEV2ZW50KXJldHVybiB0KHRoaXMub3JpZ2luYWxFdmVudCl9OmZ1bmN0aW9uKCl7aWYodGhpcy5vcmlnaW5hbEV2ZW50KXJldHVybiB0aGlzLm9yaWdpbmFsRXZlbnRbZV19LHNldDpmdW5jdGlvbih0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcyxlLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTp0fSl9fSl9LGZpeDpmdW5jdGlvbihlKXtyZXR1cm4gZVtiLmV4cGFuZG9dP2U6bmV3IGIuRXZlbnQoZSl9LHNwZWNpYWw6e2xvYWQ6e25vQnViYmxlOiEwfSxjbGljazp7c2V0dXA6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpc3x8ZTtyZXR1cm4gcGUudGVzdCh0LnR5cGUpJiZ0LmNsaWNrJiZrKHQsXCJpbnB1dFwiKSYmU2UodCxcImNsaWNrXCIsd2UpLCExfSx0cmlnZ2VyOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXN8fGU7cmV0dXJuIHBlLnRlc3QodC50eXBlKSYmdC5jbGljayYmayh0LFwiaW5wdXRcIikmJlNlKHQsXCJjbGlja1wiKSwhMH0sX2RlZmF1bHQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS50YXJnZXQ7cmV0dXJuIHBlLnRlc3QodC50eXBlKSYmdC5jbGljayYmayh0LFwiaW5wdXRcIikmJkcuZ2V0KHQsXCJjbGlja1wiKXx8ayh0LFwiYVwiKX19LGJlZm9yZXVubG9hZDp7cG9zdERpc3BhdGNoOmZ1bmN0aW9uKGUpe3ZvaWQgMCE9PWUucmVzdWx0JiZlLm9yaWdpbmFsRXZlbnQmJihlLm9yaWdpbmFsRXZlbnQucmV0dXJuVmFsdWU9ZS5yZXN1bHQpfX19fSxiLnJlbW92ZUV2ZW50PWZ1bmN0aW9uKGUsdCxuKXtlLnJlbW92ZUV2ZW50TGlzdGVuZXImJmUucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LG4pfSxiLkV2ZW50PWZ1bmN0aW9uKGUsdCl7aWYoISh0aGlzIGluc3RhbmNlb2YgYi5FdmVudCkpcmV0dXJuIG5ldyBiLkV2ZW50KGUsdCk7ZSYmZS50eXBlPyh0aGlzLm9yaWdpbmFsRXZlbnQ9ZSx0aGlzLnR5cGU9ZS50eXBlLHRoaXMuaXNEZWZhdWx0UHJldmVudGVkPWUuZGVmYXVsdFByZXZlbnRlZHx8dm9pZCAwPT09ZS5kZWZhdWx0UHJldmVudGVkJiYhMT09PWUucmV0dXJuVmFsdWU/d2U6VGUsdGhpcy50YXJnZXQ9ZS50YXJnZXQmJjM9PT1lLnRhcmdldC5ub2RlVHlwZT9lLnRhcmdldC5wYXJlbnROb2RlOmUudGFyZ2V0LHRoaXMuY3VycmVudFRhcmdldD1lLmN1cnJlbnRUYXJnZXQsdGhpcy5yZWxhdGVkVGFyZ2V0PWUucmVsYXRlZFRhcmdldCk6dGhpcy50eXBlPWUsdCYmYi5leHRlbmQodGhpcyx0KSx0aGlzLnRpbWVTdGFtcD1lJiZlLnRpbWVTdGFtcHx8RGF0ZS5ub3coKSx0aGlzW2IuZXhwYW5kb109ITB9LGIuRXZlbnQucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpiLkV2ZW50LGlzRGVmYXVsdFByZXZlbnRlZDpUZSxpc1Byb3BhZ2F0aW9uU3RvcHBlZDpUZSxpc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZDpUZSxpc1NpbXVsYXRlZDohMSxwcmV2ZW50RGVmYXVsdDpmdW5jdGlvbigpe3ZhciBlPXRoaXMub3JpZ2luYWxFdmVudDt0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD13ZSxlJiYhdGhpcy5pc1NpbXVsYXRlZCYmZS5wcmV2ZW50RGVmYXVsdCgpfSxzdG9wUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt2YXIgZT10aGlzLm9yaWdpbmFsRXZlbnQ7dGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZD13ZSxlJiYhdGhpcy5pc1NpbXVsYXRlZCYmZS5zdG9wUHJvcGFnYXRpb24oKX0sc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ9d2UsZSYmIXRoaXMuaXNTaW11bGF0ZWQmJmUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCksdGhpcy5zdG9wUHJvcGFnYXRpb24oKX19LGIuZWFjaCh7YWx0S2V5OiEwLGJ1YmJsZXM6ITAsY2FuY2VsYWJsZTohMCxjaGFuZ2VkVG91Y2hlczohMCxjdHJsS2V5OiEwLGRldGFpbDohMCxldmVudFBoYXNlOiEwLG1ldGFLZXk6ITAscGFnZVg6ITAscGFnZVk6ITAsc2hpZnRLZXk6ITAsdmlldzohMCxjaGFyOiEwLGNvZGU6ITAsY2hhckNvZGU6ITAsa2V5OiEwLGtleUNvZGU6ITAsYnV0dG9uOiEwLGJ1dHRvbnM6ITAsY2xpZW50WDohMCxjbGllbnRZOiEwLG9mZnNldFg6ITAsb2Zmc2V0WTohMCxwb2ludGVySWQ6ITAscG9pbnRlclR5cGU6ITAsc2NyZWVuWDohMCxzY3JlZW5ZOiEwLHRhcmdldFRvdWNoZXM6ITAsdG9FbGVtZW50OiEwLHRvdWNoZXM6ITAsd2hpY2g6ITB9LGIuZXZlbnQuYWRkUHJvcCksYi5lYWNoKHtmb2N1czpcImZvY3VzaW5cIixibHVyOlwiZm9jdXNvdXRcIn0sZnVuY3Rpb24oZSx0KXtiLmV2ZW50LnNwZWNpYWxbZV09e3NldHVwOmZ1bmN0aW9uKCl7cmV0dXJuIFNlKHRoaXMsZSxDZSksITF9LHRyaWdnZXI6ZnVuY3Rpb24oKXtyZXR1cm4gU2UodGhpcyxlKSwhMH0sX2RlZmF1bHQ6ZnVuY3Rpb24oKXtyZXR1cm4hMH0sZGVsZWdhdGVUeXBlOnR9fSksYi5lYWNoKHttb3VzZWVudGVyOlwibW91c2VvdmVyXCIsbW91c2VsZWF2ZTpcIm1vdXNlb3V0XCIscG9pbnRlcmVudGVyOlwicG9pbnRlcm92ZXJcIixwb2ludGVybGVhdmU6XCJwb2ludGVyb3V0XCJ9LGZ1bmN0aW9uKGUsdCl7Yi5ldmVudC5zcGVjaWFsW2VdPXtkZWxlZ2F0ZVR5cGU6dCxiaW5kVHlwZTp0LGhhbmRsZTpmdW5jdGlvbihlKXt2YXIgbixyPWUucmVsYXRlZFRhcmdldCxpPWUuaGFuZGxlT2JqO3JldHVybiByJiYocj09PXRoaXN8fGIuY29udGFpbnModGhpcyxyKSl8fChlLnR5cGU9aS5vcmlnVHlwZSxuPWkuaGFuZGxlci5hcHBseSh0aGlzLGFyZ3VtZW50cyksZS50eXBlPXQpLG59fX0pLGIuZm4uZXh0ZW5kKHtvbjpmdW5jdGlvbihlLHQsbixyKXtyZXR1cm4gRWUodGhpcyxlLHQsbixyKX0sb25lOmZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiBFZSh0aGlzLGUsdCxuLHIsMSl9LG9mZjpmdW5jdGlvbihlLHQsbil7dmFyIHIsaTtpZihlJiZlLnByZXZlbnREZWZhdWx0JiZlLmhhbmRsZU9iailyZXR1cm4gcj1lLmhhbmRsZU9iaixiKGUuZGVsZWdhdGVUYXJnZXQpLm9mZihyLm5hbWVzcGFjZT9yLm9yaWdUeXBlK1wiLlwiK3IubmFtZXNwYWNlOnIub3JpZ1R5cGUsci5zZWxlY3RvcixyLmhhbmRsZXIpLHRoaXM7aWYoXCJvYmplY3RcIj09dHlwZW9mIGUpe2ZvcihpIGluIGUpdGhpcy5vZmYoaSx0LGVbaV0pO3JldHVybiB0aGlzfXJldHVybiExIT09dCYmXCJmdW5jdGlvblwiIT10eXBlb2YgdHx8KG49dCx0PXZvaWQgMCksITE9PT1uJiYobj1UZSksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Yi5ldmVudC5yZW1vdmUodGhpcyxlLG4sdCl9KX19KTt2YXIga2U9LzxzY3JpcHR8PHN0eWxlfDxsaW5rL2ksQWU9L2NoZWNrZWRcXHMqKD86W149XXw9XFxzKi5jaGVja2VkLikvaSxOZT0vXlxccyo8ISg/OlxcW0NEQVRBXFxbfC0tKXwoPzpcXF1cXF18LS0pPlxccyokL2c7ZnVuY3Rpb24gamUoZSx0KXtyZXR1cm4gayhlLFwidGFibGVcIikmJmsoMTEhPT10Lm5vZGVUeXBlP3Q6dC5maXJzdENoaWxkLFwidHJcIikmJmIoZSkuY2hpbGRyZW4oXCJ0Ym9keVwiKVswXXx8ZX1mdW5jdGlvbiBEZShlKXtyZXR1cm4gZS50eXBlPShudWxsIT09ZS5nZXRBdHRyaWJ1dGUoXCJ0eXBlXCIpKStcIi9cIitlLnR5cGUsZX1mdW5jdGlvbiBxZShlKXtyZXR1cm5cInRydWUvXCI9PT0oZS50eXBlfHxcIlwiKS5zbGljZSgwLDUpP2UudHlwZT1lLnR5cGUuc2xpY2UoNSk6ZS5yZW1vdmVBdHRyaWJ1dGUoXCJ0eXBlXCIpLGV9ZnVuY3Rpb24gTGUoZSx0KXt2YXIgbixyLGksbyxhLHM7aWYoMT09PXQubm9kZVR5cGUpe2lmKEcuaGFzRGF0YShlKSYmKHM9Ry5nZXQoZSkuZXZlbnRzKSlmb3IoaSBpbiBHLnJlbW92ZSh0LFwiaGFuZGxlIGV2ZW50c1wiKSxzKWZvcihuPTAscj1zW2ldLmxlbmd0aDtuPHI7bisrKWIuZXZlbnQuYWRkKHQsaSxzW2ldW25dKTtZLmhhc0RhdGEoZSkmJihvPVkuYWNjZXNzKGUpLGE9Yi5leHRlbmQoe30sbyksWS5zZXQodCxhKSl9fWZ1bmN0aW9uIEhlKGUsdCxuLHIpe3Q9byh0KTt2YXIgaSxhLHMsdSxsLGMsZj0wLHA9ZS5sZW5ndGgsZz1wLTEsdj10WzBdLHk9aCh2KTtpZih5fHxwPjEmJlwic3RyaW5nXCI9PXR5cGVvZiB2JiYhZC5jaGVja0Nsb25lJiZBZS50ZXN0KHYpKXJldHVybiBlLmVhY2goZnVuY3Rpb24oaSl7dmFyIG89ZS5lcShpKTt5JiYodFswXT12LmNhbGwodGhpcyxpLG8uaHRtbCgpKSksSGUobyx0LG4scil9KTtpZihwJiYoYT0oaT14ZSh0LGVbMF0ub3duZXJEb2N1bWVudCwhMSxlLHIpKS5maXJzdENoaWxkLDE9PT1pLmNoaWxkTm9kZXMubGVuZ3RoJiYoaT1hKSxhfHxyKSl7Zm9yKHU9KHM9Yi5tYXAodmUoaSxcInNjcmlwdFwiKSxEZSkpLmxlbmd0aDtmPHA7ZisrKWw9aSxmIT09ZyYmKGw9Yi5jbG9uZShsLCEwLCEwKSx1JiZiLm1lcmdlKHMsdmUobCxcInNjcmlwdFwiKSkpLG4uY2FsbChlW2ZdLGwsZik7aWYodSlmb3IoYz1zW3MubGVuZ3RoLTFdLm93bmVyRG9jdW1lbnQsYi5tYXAocyxxZSksZj0wO2Y8dTtmKyspbD1zW2ZdLGhlLnRlc3QobC50eXBlfHxcIlwiKSYmIUcuYWNjZXNzKGwsXCJnbG9iYWxFdmFsXCIpJiZiLmNvbnRhaW5zKGMsbCkmJihsLnNyYyYmXCJtb2R1bGVcIiE9PShsLnR5cGV8fFwiXCIpLnRvTG93ZXJDYXNlKCk/Yi5fZXZhbFVybCYmIWwubm9Nb2R1bGUmJmIuX2V2YWxVcmwobC5zcmMse25vbmNlOmwubm9uY2V8fGwuZ2V0QXR0cmlidXRlKFwibm9uY2VcIil9LGMpOm0obC50ZXh0Q29udGVudC5yZXBsYWNlKE5lLFwiXCIpLGwsYykpfXJldHVybiBlfWZ1bmN0aW9uIE9lKGUsdCxuKXtmb3IodmFyIHIsaT10P2IuZmlsdGVyKHQsZSk6ZSxvPTA7bnVsbCE9KHI9aVtvXSk7bysrKW58fDEhPT1yLm5vZGVUeXBlfHxiLmNsZWFuRGF0YSh2ZShyKSksci5wYXJlbnROb2RlJiYobiYmcmUocikmJnllKHZlKHIsXCJzY3JpcHRcIikpLHIucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChyKSk7cmV0dXJuIGV9Yi5leHRlbmQoe2h0bWxQcmVmaWx0ZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGV9LGNsb25lOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG8sYSxzLHUsbCxjPWUuY2xvbmVOb2RlKCEwKSxmPXJlKGUpO2lmKCEoZC5ub0Nsb25lQ2hlY2tlZHx8MSE9PWUubm9kZVR5cGUmJjExIT09ZS5ub2RlVHlwZXx8Yi5pc1hNTERvYyhlKSkpZm9yKGE9dmUoYykscj0wLGk9KG89dmUoZSkpLmxlbmd0aDtyPGk7cisrKXM9b1tyXSx1PWFbcl0sbD12b2lkIDAsXCJpbnB1dFwiPT09KGw9dS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKSYmcGUudGVzdChzLnR5cGUpP3UuY2hlY2tlZD1zLmNoZWNrZWQ6XCJpbnB1dFwiIT09bCYmXCJ0ZXh0YXJlYVwiIT09bHx8KHUuZGVmYXVsdFZhbHVlPXMuZGVmYXVsdFZhbHVlKTtpZih0KWlmKG4pZm9yKG89b3x8dmUoZSksYT1hfHx2ZShjKSxyPTAsaT1vLmxlbmd0aDtyPGk7cisrKUxlKG9bcl0sYVtyXSk7ZWxzZSBMZShlLGMpO3JldHVybihhPXZlKGMsXCJzY3JpcHRcIikpLmxlbmd0aD4wJiZ5ZShhLCFmJiZ2ZShlLFwic2NyaXB0XCIpKSxjfSxjbGVhbkRhdGE6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG4scixpPWIuZXZlbnQuc3BlY2lhbCxvPTA7dm9pZCAwIT09KG49ZVtvXSk7bysrKWlmKFgobikpe2lmKHQ9bltHLmV4cGFuZG9dKXtpZih0LmV2ZW50cylmb3IociBpbiB0LmV2ZW50cylpW3JdP2IuZXZlbnQucmVtb3ZlKG4scik6Yi5yZW1vdmVFdmVudChuLHIsdC5oYW5kbGUpO25bRy5leHBhbmRvXT12b2lkIDB9bltZLmV4cGFuZG9dJiYobltZLmV4cGFuZG9dPXZvaWQgMCl9fX0pLGIuZm4uZXh0ZW5kKHtkZXRhY2g6ZnVuY3Rpb24oZSl7cmV0dXJuIE9lKHRoaXMsZSwhMCl9LHJlbW92ZTpmdW5jdGlvbihlKXtyZXR1cm4gT2UodGhpcyxlKX0sdGV4dDpmdW5jdGlvbihlKXtyZXR1cm4gQih0aGlzLGZ1bmN0aW9uKGUpe3JldHVybiB2b2lkIDA9PT1lP2IudGV4dCh0aGlzKTp0aGlzLmVtcHR5KCkuZWFjaChmdW5jdGlvbigpezEhPT10aGlzLm5vZGVUeXBlJiYxMSE9PXRoaXMubm9kZVR5cGUmJjkhPT10aGlzLm5vZGVUeXBlfHwodGhpcy50ZXh0Q29udGVudD1lKX0pfSxudWxsLGUsYXJndW1lbnRzLmxlbmd0aCl9LGFwcGVuZDpmdW5jdGlvbigpe3JldHVybiBIZSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihlKXsxIT09dGhpcy5ub2RlVHlwZSYmMTEhPT10aGlzLm5vZGVUeXBlJiY5IT09dGhpcy5ub2RlVHlwZXx8amUodGhpcyxlKS5hcHBlbmRDaGlsZChlKX0pfSxwcmVwZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIEhlKHRoaXMsYXJndW1lbnRzLGZ1bmN0aW9uKGUpe2lmKDE9PT10aGlzLm5vZGVUeXBlfHwxMT09PXRoaXMubm9kZVR5cGV8fDk9PT10aGlzLm5vZGVUeXBlKXt2YXIgdD1qZSh0aGlzLGUpO3QuaW5zZXJ0QmVmb3JlKGUsdC5maXJzdENoaWxkKX19KX0sYmVmb3JlOmZ1bmN0aW9uKCl7cmV0dXJuIEhlKHRoaXMsYXJndW1lbnRzLGZ1bmN0aW9uKGUpe3RoaXMucGFyZW50Tm9kZSYmdGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShlLHRoaXMpfSl9LGFmdGVyOmZ1bmN0aW9uKCl7cmV0dXJuIEhlKHRoaXMsYXJndW1lbnRzLGZ1bmN0aW9uKGUpe3RoaXMucGFyZW50Tm9kZSYmdGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShlLHRoaXMubmV4dFNpYmxpbmcpfSl9LGVtcHR5OmZ1bmN0aW9uKCl7Zm9yKHZhciBlLHQ9MDtudWxsIT0oZT10aGlzW3RdKTt0KyspMT09PWUubm9kZVR5cGUmJihiLmNsZWFuRGF0YSh2ZShlLCExKSksZS50ZXh0Q29udGVudD1cIlwiKTtyZXR1cm4gdGhpc30sY2xvbmU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT1udWxsIT1lJiZlLHQ9bnVsbD09dD9lOnQsdGhpcy5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gYi5jbG9uZSh0aGlzLGUsdCl9KX0saHRtbDpmdW5jdGlvbihlKXtyZXR1cm4gQih0aGlzLGZ1bmN0aW9uKGUpe3ZhciB0PXRoaXNbMF18fHt9LG49MCxyPXRoaXMubGVuZ3RoO2lmKHZvaWQgMD09PWUmJjE9PT10Lm5vZGVUeXBlKXJldHVybiB0LmlubmVySFRNTDtpZihcInN0cmluZ1wiPT10eXBlb2YgZSYmIWtlLnRlc3QoZSkmJiFnZVsoZGUuZXhlYyhlKXx8W1wiXCIsXCJcIl0pWzFdLnRvTG93ZXJDYXNlKCldKXtlPWIuaHRtbFByZWZpbHRlcihlKTt0cnl7Zm9yKDtuPHI7bisrKTE9PT0odD10aGlzW25dfHx7fSkubm9kZVR5cGUmJihiLmNsZWFuRGF0YSh2ZSh0LCExKSksdC5pbm5lckhUTUw9ZSk7dD0wfWNhdGNoKGUpe319dCYmdGhpcy5lbXB0eSgpLmFwcGVuZChlKX0sbnVsbCxlLGFyZ3VtZW50cy5sZW5ndGgpfSxyZXBsYWNlV2l0aDpmdW5jdGlvbigpe3ZhciBlPVtdO3JldHVybiBIZSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbih0KXt2YXIgbj10aGlzLnBhcmVudE5vZGU7Yi5pbkFycmF5KHRoaXMsZSk8MCYmKGIuY2xlYW5EYXRhKHZlKHRoaXMpKSxuJiZuLnJlcGxhY2VDaGlsZCh0LHRoaXMpKX0sZSl9fSksYi5lYWNoKHthcHBlbmRUbzpcImFwcGVuZFwiLHByZXBlbmRUbzpcInByZXBlbmRcIixpbnNlcnRCZWZvcmU6XCJiZWZvcmVcIixpbnNlcnRBZnRlcjpcImFmdGVyXCIscmVwbGFjZUFsbDpcInJlcGxhY2VXaXRoXCJ9LGZ1bmN0aW9uKGUsdCl7Yi5mbltlXT1mdW5jdGlvbihlKXtmb3IodmFyIG4scj1bXSxpPWIoZSksbz1pLmxlbmd0aC0xLHM9MDtzPD1vO3MrKyluPXM9PT1vP3RoaXM6dGhpcy5jbG9uZSghMCksYihpW3NdKVt0XShuKSxhLmFwcGx5KHIsbi5nZXQoKSk7cmV0dXJuIHRoaXMucHVzaFN0YWNrKHIpfX0pO3ZhciBQZT1uZXcgUmVnRXhwKFwiXihcIitaK1wiKSg/IXB4KVthLXolXSskXCIsXCJpXCIpLFJlPWZ1bmN0aW9uKHQpe3ZhciBuPXQub3duZXJEb2N1bWVudC5kZWZhdWx0VmlldztyZXR1cm4gbiYmbi5vcGVuZXJ8fChuPWUpLG4uZ2V0Q29tcHV0ZWRTdHlsZSh0KX0sTWU9ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbz17fTtmb3IoaSBpbiB0KW9baV09ZS5zdHlsZVtpXSxlLnN0eWxlW2ldPXRbaV07Zm9yKGkgaW4gcj1uLmNhbGwoZSksdCllLnN0eWxlW2ldPW9baV07cmV0dXJuIHJ9LEllPW5ldyBSZWdFeHAodGUuam9pbihcInxcIiksXCJpXCIpO2Z1bmN0aW9uIFdlKGUsdCxuKXt2YXIgcixpLG8sYSxzPWUuc3R5bGU7cmV0dXJuKG49bnx8UmUoZSkpJiYoXCJcIiE9PShhPW4uZ2V0UHJvcGVydHlWYWx1ZSh0KXx8blt0XSl8fHJlKGUpfHwoYT1iLnN0eWxlKGUsdCkpLCFkLnBpeGVsQm94U3R5bGVzKCkmJlBlLnRlc3QoYSkmJkllLnRlc3QodCkmJihyPXMud2lkdGgsaT1zLm1pbldpZHRoLG89cy5tYXhXaWR0aCxzLm1pbldpZHRoPXMubWF4V2lkdGg9cy53aWR0aD1hLGE9bi53aWR0aCxzLndpZHRoPXIscy5taW5XaWR0aD1pLHMubWF4V2lkdGg9bykpLHZvaWQgMCE9PWE/YStcIlwiOmF9ZnVuY3Rpb24gRmUoZSx0KXtyZXR1cm57Z2V0OmZ1bmN0aW9uKCl7aWYoIWUoKSlyZXR1cm4odGhpcy5nZXQ9dCkuYXBwbHkodGhpcyxhcmd1bWVudHMpO2RlbGV0ZSB0aGlzLmdldH19fSFmdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXtpZihjKXtsLnN0eWxlLmNzc1RleHQ9XCJwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0Oi0xMTExMXB4O3dpZHRoOjYwcHg7bWFyZ2luLXRvcDoxcHg7cGFkZGluZzowO2JvcmRlcjowXCIsYy5zdHlsZS5jc3NUZXh0PVwicG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3g7b3ZlcmZsb3c6c2Nyb2xsO21hcmdpbjphdXRvO2JvcmRlcjoxcHg7cGFkZGluZzoxcHg7d2lkdGg6NjAlO3RvcDoxJVwiLG5lLmFwcGVuZENoaWxkKGwpLmFwcGVuZENoaWxkKGMpO3ZhciB0PWUuZ2V0Q29tcHV0ZWRTdHlsZShjKTtyPVwiMSVcIiE9PXQudG9wLHU9MTI9PT1uKHQubWFyZ2luTGVmdCksYy5zdHlsZS5yaWdodD1cIjYwJVwiLGE9MzY9PT1uKHQucmlnaHQpLGk9MzY9PT1uKHQud2lkdGgpLGMuc3R5bGUucG9zaXRpb249XCJhYnNvbHV0ZVwiLG89MTI9PT1uKGMub2Zmc2V0V2lkdGgvMyksbmUucmVtb3ZlQ2hpbGQobCksYz1udWxsfX1mdW5jdGlvbiBuKGUpe3JldHVybiBNYXRoLnJvdW5kKHBhcnNlRmxvYXQoZSkpfXZhciByLGksbyxhLHMsdSxsPXYuY3JlYXRlRWxlbWVudChcImRpdlwiKSxjPXYuY3JlYXRlRWxlbWVudChcImRpdlwiKTtjLnN0eWxlJiYoYy5zdHlsZS5iYWNrZ3JvdW5kQ2xpcD1cImNvbnRlbnQtYm94XCIsYy5jbG9uZU5vZGUoITApLnN0eWxlLmJhY2tncm91bmRDbGlwPVwiXCIsZC5jbGVhckNsb25lU3R5bGU9XCJjb250ZW50LWJveFwiPT09Yy5zdHlsZS5iYWNrZ3JvdW5kQ2xpcCxiLmV4dGVuZChkLHtib3hTaXppbmdSZWxpYWJsZTpmdW5jdGlvbigpe3JldHVybiB0KCksaX0scGl4ZWxCb3hTdHlsZXM6ZnVuY3Rpb24oKXtyZXR1cm4gdCgpLGF9LHBpeGVsUG9zaXRpb246ZnVuY3Rpb24oKXtyZXR1cm4gdCgpLHJ9LHJlbGlhYmxlTWFyZ2luTGVmdDpmdW5jdGlvbigpe3JldHVybiB0KCksdX0sc2Nyb2xsYm94U2l6ZTpmdW5jdGlvbigpe3JldHVybiB0KCksb30scmVsaWFibGVUckRpbWVuc2lvbnM6ZnVuY3Rpb24oKXt2YXIgdCxuLHIsaTtyZXR1cm4gbnVsbD09cyYmKHQ9di5jcmVhdGVFbGVtZW50KFwidGFibGVcIiksbj12LmNyZWF0ZUVsZW1lbnQoXCJ0clwiKSxyPXYuY3JlYXRlRWxlbWVudChcImRpdlwiKSx0LnN0eWxlLmNzc1RleHQ9XCJwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0Oi0xMTExMXB4O2JvcmRlci1jb2xsYXBzZTpzZXBhcmF0ZVwiLG4uc3R5bGUuY3NzVGV4dD1cImJvcmRlcjoxcHggc29saWRcIixuLnN0eWxlLmhlaWdodD1cIjFweFwiLHIuc3R5bGUuaGVpZ2h0PVwiOXB4XCIsci5zdHlsZS5kaXNwbGF5PVwiYmxvY2tcIixuZS5hcHBlbmRDaGlsZCh0KS5hcHBlbmRDaGlsZChuKS5hcHBlbmRDaGlsZChyKSxpPWUuZ2V0Q29tcHV0ZWRTdHlsZShuKSxzPXBhcnNlSW50KGkuaGVpZ2h0LDEwKStwYXJzZUludChpLmJvcmRlclRvcFdpZHRoLDEwKStwYXJzZUludChpLmJvcmRlckJvdHRvbVdpZHRoLDEwKT09PW4ub2Zmc2V0SGVpZ2h0LG5lLnJlbW92ZUNoaWxkKHQpKSxzfX0pKX0oKTt2YXIgQmU9W1wiV2Via2l0XCIsXCJNb3pcIixcIm1zXCJdLCRlPXYuY3JlYXRlRWxlbWVudChcImRpdlwiKS5zdHlsZSxfZT17fTtmdW5jdGlvbiB6ZShlKXt2YXIgdD1iLmNzc1Byb3BzW2VdfHxfZVtlXTtyZXR1cm4gdHx8KGUgaW4gJGU/ZTpfZVtlXT1mdW5jdGlvbihlKXtmb3IodmFyIHQ9ZVswXS50b1VwcGVyQ2FzZSgpK2Uuc2xpY2UoMSksbj1CZS5sZW5ndGg7bi0tOylpZigoZT1CZVtuXSt0KWluICRlKXJldHVybiBlfShlKXx8ZSl9dmFyIFVlPS9eKG5vbmV8dGFibGUoPyEtY1tlYV0pLispLyxYZT0vXi0tLyxWZT17cG9zaXRpb246XCJhYnNvbHV0ZVwiLHZpc2liaWxpdHk6XCJoaWRkZW5cIixkaXNwbGF5OlwiYmxvY2tcIn0sR2U9e2xldHRlclNwYWNpbmc6XCIwXCIsZm9udFdlaWdodDpcIjQwMFwifTtmdW5jdGlvbiBZZShlLHQsbil7dmFyIHI9ZWUuZXhlYyh0KTtyZXR1cm4gcj9NYXRoLm1heCgwLHJbMl0tKG58fDApKSsoclszXXx8XCJweFwiKTp0fWZ1bmN0aW9uIFFlKGUsdCxuLHIsaSxvKXt2YXIgYT1cIndpZHRoXCI9PT10PzE6MCxzPTAsdT0wO2lmKG49PT0ocj9cImJvcmRlclwiOlwiY29udGVudFwiKSlyZXR1cm4gMDtmb3IoO2E8NDthKz0yKVwibWFyZ2luXCI9PT1uJiYodSs9Yi5jc3MoZSxuK3RlW2FdLCEwLGkpKSxyPyhcImNvbnRlbnRcIj09PW4mJih1LT1iLmNzcyhlLFwicGFkZGluZ1wiK3RlW2FdLCEwLGkpKSxcIm1hcmdpblwiIT09biYmKHUtPWIuY3NzKGUsXCJib3JkZXJcIit0ZVthXStcIldpZHRoXCIsITAsaSkpKToodSs9Yi5jc3MoZSxcInBhZGRpbmdcIit0ZVthXSwhMCxpKSxcInBhZGRpbmdcIiE9PW4/dSs9Yi5jc3MoZSxcImJvcmRlclwiK3RlW2FdK1wiV2lkdGhcIiwhMCxpKTpzKz1iLmNzcyhlLFwiYm9yZGVyXCIrdGVbYV0rXCJXaWR0aFwiLCEwLGkpKTtyZXR1cm4hciYmbz49MCYmKHUrPU1hdGgubWF4KDAsTWF0aC5jZWlsKGVbXCJvZmZzZXRcIit0WzBdLnRvVXBwZXJDYXNlKCkrdC5zbGljZSgxKV0tby11LXMtLjUpKXx8MCksdX1mdW5jdGlvbiBKZShlLHQsbil7dmFyIHI9UmUoZSksaT0oIWQuYm94U2l6aW5nUmVsaWFibGUoKXx8bikmJlwiYm9yZGVyLWJveFwiPT09Yi5jc3MoZSxcImJveFNpemluZ1wiLCExLHIpLG89aSxhPVdlKGUsdCxyKSxzPVwib2Zmc2V0XCIrdFswXS50b1VwcGVyQ2FzZSgpK3Quc2xpY2UoMSk7aWYoUGUudGVzdChhKSl7aWYoIW4pcmV0dXJuIGE7YT1cImF1dG9cIn1yZXR1cm4oIWQuYm94U2l6aW5nUmVsaWFibGUoKSYmaXx8IWQucmVsaWFibGVUckRpbWVuc2lvbnMoKSYmayhlLFwidHJcIil8fFwiYXV0b1wiPT09YXx8IXBhcnNlRmxvYXQoYSkmJlwiaW5saW5lXCI9PT1iLmNzcyhlLFwiZGlzcGxheVwiLCExLHIpKSYmZS5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCYmKGk9XCJib3JkZXItYm94XCI9PT1iLmNzcyhlLFwiYm94U2l6aW5nXCIsITEsciksKG89cyBpbiBlKSYmKGE9ZVtzXSkpLChhPXBhcnNlRmxvYXQoYSl8fDApK1FlKGUsdCxufHwoaT9cImJvcmRlclwiOlwiY29udGVudFwiKSxvLHIsYSkrXCJweFwifWZ1bmN0aW9uIEtlKGUsdCxuLHIsaSl7cmV0dXJuIG5ldyBLZS5wcm90b3R5cGUuaW5pdChlLHQsbixyLGkpfWIuZXh0ZW5kKHtjc3NIb29rczp7b3BhY2l0eTp7Z2V0OmZ1bmN0aW9uKGUsdCl7aWYodCl7dmFyIG49V2UoZSxcIm9wYWNpdHlcIik7cmV0dXJuXCJcIj09PW4/XCIxXCI6bn19fX0sY3NzTnVtYmVyOnthbmltYXRpb25JdGVyYXRpb25Db3VudDohMCxjb2x1bW5Db3VudDohMCxmaWxsT3BhY2l0eTohMCxmbGV4R3JvdzohMCxmbGV4U2hyaW5rOiEwLGZvbnRXZWlnaHQ6ITAsZ3JpZEFyZWE6ITAsZ3JpZENvbHVtbjohMCxncmlkQ29sdW1uRW5kOiEwLGdyaWRDb2x1bW5TdGFydDohMCxncmlkUm93OiEwLGdyaWRSb3dFbmQ6ITAsZ3JpZFJvd1N0YXJ0OiEwLGxpbmVIZWlnaHQ6ITAsb3BhY2l0eTohMCxvcmRlcjohMCxvcnBoYW5zOiEwLHdpZG93czohMCx6SW5kZXg6ITAsem9vbTohMH0sY3NzUHJvcHM6e30sc3R5bGU6ZnVuY3Rpb24oZSx0LG4scil7aWYoZSYmMyE9PWUubm9kZVR5cGUmJjghPT1lLm5vZGVUeXBlJiZlLnN0eWxlKXt2YXIgaSxvLGEscz1VKHQpLHU9WGUudGVzdCh0KSxsPWUuc3R5bGU7aWYodXx8KHQ9emUocykpLGE9Yi5jc3NIb29rc1t0XXx8Yi5jc3NIb29rc1tzXSx2b2lkIDA9PT1uKXJldHVybiBhJiZcImdldFwiaW4gYSYmdm9pZCAwIT09KGk9YS5nZXQoZSwhMSxyKSk/aTpsW3RdO1wic3RyaW5nXCI9PT0obz10eXBlb2YgbikmJihpPWVlLmV4ZWMobikpJiZpWzFdJiYobj1hZShlLHQsaSksbz1cIm51bWJlclwiKSxudWxsIT1uJiZuPT1uJiYoXCJudW1iZXJcIiE9PW98fHV8fChuKz1pJiZpWzNdfHwoYi5jc3NOdW1iZXJbc10/XCJcIjpcInB4XCIpKSxkLmNsZWFyQ2xvbmVTdHlsZXx8XCJcIiE9PW58fDAhPT10LmluZGV4T2YoXCJiYWNrZ3JvdW5kXCIpfHwobFt0XT1cImluaGVyaXRcIiksYSYmXCJzZXRcImluIGEmJnZvaWQgMD09PShuPWEuc2V0KGUsbixyKSl8fCh1P2wuc2V0UHJvcGVydHkodCxuKTpsW3RdPW4pKX19LGNzczpmdW5jdGlvbihlLHQsbixyKXt2YXIgaSxvLGEscz1VKHQpO3JldHVybiBYZS50ZXN0KHQpfHwodD16ZShzKSksKGE9Yi5jc3NIb29rc1t0XXx8Yi5jc3NIb29rc1tzXSkmJlwiZ2V0XCJpbiBhJiYoaT1hLmdldChlLCEwLG4pKSx2b2lkIDA9PT1pJiYoaT1XZShlLHQscikpLFwibm9ybWFsXCI9PT1pJiZ0IGluIEdlJiYoaT1HZVt0XSksXCJcIj09PW58fG4/KG89cGFyc2VGbG9hdChpKSwhMD09PW58fGlzRmluaXRlKG8pP298fDA6aSk6aX19KSxiLmVhY2goW1wiaGVpZ2h0XCIsXCJ3aWR0aFwiXSxmdW5jdGlvbihlLHQpe2IuY3NzSG9va3NbdF09e2dldDpmdW5jdGlvbihlLG4scil7aWYobilyZXR1cm4hVWUudGVzdChiLmNzcyhlLFwiZGlzcGxheVwiKSl8fGUuZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGgmJmUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg/SmUoZSx0LHIpOk1lKGUsVmUsZnVuY3Rpb24oKXtyZXR1cm4gSmUoZSx0LHIpfSl9LHNldDpmdW5jdGlvbihlLG4scil7dmFyIGksbz1SZShlKSxhPSFkLnNjcm9sbGJveFNpemUoKSYmXCJhYnNvbHV0ZVwiPT09by5wb3NpdGlvbixzPShhfHxyKSYmXCJib3JkZXItYm94XCI9PT1iLmNzcyhlLFwiYm94U2l6aW5nXCIsITEsbyksdT1yP1FlKGUsdCxyLHMsbyk6MDtyZXR1cm4gcyYmYSYmKHUtPU1hdGguY2VpbChlW1wib2Zmc2V0XCIrdFswXS50b1VwcGVyQ2FzZSgpK3Quc2xpY2UoMSldLXBhcnNlRmxvYXQob1t0XSktUWUoZSx0LFwiYm9yZGVyXCIsITEsbyktLjUpKSx1JiYoaT1lZS5leGVjKG4pKSYmXCJweFwiIT09KGlbM118fFwicHhcIikmJihlLnN0eWxlW3RdPW4sbj1iLmNzcyhlLHQpKSxZZSgwLG4sdSl9fX0pLGIuY3NzSG9va3MubWFyZ2luTGVmdD1GZShkLnJlbGlhYmxlTWFyZ2luTGVmdCxmdW5jdGlvbihlLHQpe2lmKHQpcmV0dXJuKHBhcnNlRmxvYXQoV2UoZSxcIm1hcmdpbkxlZnRcIikpfHxlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQtTWUoZSx7bWFyZ2luTGVmdDowfSxmdW5jdGlvbigpe3JldHVybiBlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnR9KSkrXCJweFwifSksYi5lYWNoKHttYXJnaW46XCJcIixwYWRkaW5nOlwiXCIsYm9yZGVyOlwiV2lkdGhcIn0sZnVuY3Rpb24oZSx0KXtiLmNzc0hvb2tzW2UrdF09e2V4cGFuZDpmdW5jdGlvbihuKXtmb3IodmFyIHI9MCxpPXt9LG89XCJzdHJpbmdcIj09dHlwZW9mIG4/bi5zcGxpdChcIiBcIik6W25dO3I8NDtyKyspaVtlK3RlW3JdK3RdPW9bcl18fG9bci0yXXx8b1swXTtyZXR1cm4gaX19LFwibWFyZ2luXCIhPT1lJiYoYi5jc3NIb29rc1tlK3RdLnNldD1ZZSl9KSxiLmZuLmV4dGVuZCh7Y3NzOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIEIodGhpcyxmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvPXt9LGE9MDtpZihBcnJheS5pc0FycmF5KHQpKXtmb3Iocj1SZShlKSxpPXQubGVuZ3RoO2E8aTthKyspb1t0W2FdXT1iLmNzcyhlLHRbYV0sITEscik7cmV0dXJuIG99cmV0dXJuIHZvaWQgMCE9PW4/Yi5zdHlsZShlLHQsbik6Yi5jc3MoZSx0KX0sZSx0LGFyZ3VtZW50cy5sZW5ndGg+MSl9fSksYi5Ud2Vlbj1LZSxLZS5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOktlLGluaXQ6ZnVuY3Rpb24oZSx0LG4scixpLG8pe3RoaXMuZWxlbT1lLHRoaXMucHJvcD1uLHRoaXMuZWFzaW5nPWl8fGIuZWFzaW5nLl9kZWZhdWx0LHRoaXMub3B0aW9ucz10LHRoaXMuc3RhcnQ9dGhpcy5ub3c9dGhpcy5jdXIoKSx0aGlzLmVuZD1yLHRoaXMudW5pdD1vfHwoYi5jc3NOdW1iZXJbbl0/XCJcIjpcInB4XCIpfSxjdXI6ZnVuY3Rpb24oKXt2YXIgZT1LZS5wcm9wSG9va3NbdGhpcy5wcm9wXTtyZXR1cm4gZSYmZS5nZXQ/ZS5nZXQodGhpcyk6S2UucHJvcEhvb2tzLl9kZWZhdWx0LmdldCh0aGlzKX0scnVuOmZ1bmN0aW9uKGUpe3ZhciB0LG49S2UucHJvcEhvb2tzW3RoaXMucHJvcF07cmV0dXJuIHRoaXMub3B0aW9ucy5kdXJhdGlvbj90aGlzLnBvcz10PWIuZWFzaW5nW3RoaXMuZWFzaW5nXShlLHRoaXMub3B0aW9ucy5kdXJhdGlvbiplLDAsMSx0aGlzLm9wdGlvbnMuZHVyYXRpb24pOnRoaXMucG9zPXQ9ZSx0aGlzLm5vdz0odGhpcy5lbmQtdGhpcy5zdGFydCkqdCt0aGlzLnN0YXJ0LHRoaXMub3B0aW9ucy5zdGVwJiZ0aGlzLm9wdGlvbnMuc3RlcC5jYWxsKHRoaXMuZWxlbSx0aGlzLm5vdyx0aGlzKSxuJiZuLnNldD9uLnNldCh0aGlzKTpLZS5wcm9wSG9va3MuX2RlZmF1bHQuc2V0KHRoaXMpLHRoaXN9fSxLZS5wcm90b3R5cGUuaW5pdC5wcm90b3R5cGU9S2UucHJvdG90eXBlLEtlLnByb3BIb29rcz17X2RlZmF1bHQ6e2dldDpmdW5jdGlvbihlKXt2YXIgdDtyZXR1cm4gMSE9PWUuZWxlbS5ub2RlVHlwZXx8bnVsbCE9ZS5lbGVtW2UucHJvcF0mJm51bGw9PWUuZWxlbS5zdHlsZVtlLnByb3BdP2UuZWxlbVtlLnByb3BdOih0PWIuY3NzKGUuZWxlbSxlLnByb3AsXCJcIikpJiZcImF1dG9cIiE9PXQ/dDowfSxzZXQ6ZnVuY3Rpb24oZSl7Yi5meC5zdGVwW2UucHJvcF0/Yi5meC5zdGVwW2UucHJvcF0oZSk6MSE9PWUuZWxlbS5ub2RlVHlwZXx8IWIuY3NzSG9va3NbZS5wcm9wXSYmbnVsbD09ZS5lbGVtLnN0eWxlW3plKGUucHJvcCldP2UuZWxlbVtlLnByb3BdPWUubm93OmIuc3R5bGUoZS5lbGVtLGUucHJvcCxlLm5vdytlLnVuaXQpfX19LEtlLnByb3BIb29rcy5zY3JvbGxUb3A9S2UucHJvcEhvb2tzLnNjcm9sbExlZnQ9e3NldDpmdW5jdGlvbihlKXtlLmVsZW0ubm9kZVR5cGUmJmUuZWxlbS5wYXJlbnROb2RlJiYoZS5lbGVtW2UucHJvcF09ZS5ub3cpfX0sYi5lYXNpbmc9e2xpbmVhcjpmdW5jdGlvbihlKXtyZXR1cm4gZX0sc3dpbmc6ZnVuY3Rpb24oZSl7cmV0dXJuLjUtTWF0aC5jb3MoZSpNYXRoLlBJKS8yfSxfZGVmYXVsdDpcInN3aW5nXCJ9LGIuZng9S2UucHJvdG90eXBlLmluaXQsYi5meC5zdGVwPXt9O3ZhciBaZSxldCx0dD0vXig/OnRvZ2dsZXxzaG93fGhpZGUpJC8sbnQ9L3F1ZXVlSG9va3MkLztmdW5jdGlvbiBydCgpe2V0JiYoITE9PT12LmhpZGRlbiYmZS5yZXF1ZXN0QW5pbWF0aW9uRnJhbWU/ZS5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUocnQpOmUuc2V0VGltZW91dChydCxiLmZ4LmludGVydmFsKSxiLmZ4LnRpY2soKSl9ZnVuY3Rpb24gaXQoKXtyZXR1cm4gZS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7WmU9dm9pZCAwfSksWmU9RGF0ZS5ub3coKX1mdW5jdGlvbiBvdChlLHQpe3ZhciBuLHI9MCxpPXtoZWlnaHQ6ZX07Zm9yKHQ9dD8xOjA7cjw0O3IrPTItdClpW1wibWFyZ2luXCIrKG49dGVbcl0pXT1pW1wicGFkZGluZ1wiK25dPWU7cmV0dXJuIHQmJihpLm9wYWNpdHk9aS53aWR0aD1lKSxpfWZ1bmN0aW9uIGF0KGUsdCxuKXtmb3IodmFyIHIsaT0oc3QudHdlZW5lcnNbdF18fFtdKS5jb25jYXQoc3QudHdlZW5lcnNbXCIqXCJdKSxvPTAsYT1pLmxlbmd0aDtvPGE7bysrKWlmKHI9aVtvXS5jYWxsKG4sdCxlKSlyZXR1cm4gcn1mdW5jdGlvbiBzdChlLHQsbil7dmFyIHIsaSxvPTAsYT1zdC5wcmVmaWx0ZXJzLmxlbmd0aCxzPWIuRGVmZXJyZWQoKS5hbHdheXMoZnVuY3Rpb24oKXtkZWxldGUgdS5lbGVtfSksdT1mdW5jdGlvbigpe2lmKGkpcmV0dXJuITE7Zm9yKHZhciB0PVplfHxpdCgpLG49TWF0aC5tYXgoMCxsLnN0YXJ0VGltZStsLmR1cmF0aW9uLXQpLHI9MS0obi9sLmR1cmF0aW9ufHwwKSxvPTAsYT1sLnR3ZWVucy5sZW5ndGg7bzxhO28rKylsLnR3ZWVuc1tvXS5ydW4ocik7cmV0dXJuIHMubm90aWZ5V2l0aChlLFtsLHIsbl0pLHI8MSYmYT9uOihhfHxzLm5vdGlmeVdpdGgoZSxbbCwxLDBdKSxzLnJlc29sdmVXaXRoKGUsW2xdKSwhMSl9LGw9cy5wcm9taXNlKHtlbGVtOmUscHJvcHM6Yi5leHRlbmQoe30sdCksb3B0czpiLmV4dGVuZCghMCx7c3BlY2lhbEVhc2luZzp7fSxlYXNpbmc6Yi5lYXNpbmcuX2RlZmF1bHR9LG4pLG9yaWdpbmFsUHJvcGVydGllczp0LG9yaWdpbmFsT3B0aW9uczpuLHN0YXJ0VGltZTpaZXx8aXQoKSxkdXJhdGlvbjpuLmR1cmF0aW9uLHR3ZWVuczpbXSxjcmVhdGVUd2VlbjpmdW5jdGlvbih0LG4pe3ZhciByPWIuVHdlZW4oZSxsLm9wdHMsdCxuLGwub3B0cy5zcGVjaWFsRWFzaW5nW3RdfHxsLm9wdHMuZWFzaW5nKTtyZXR1cm4gbC50d2VlbnMucHVzaChyKSxyfSxzdG9wOmZ1bmN0aW9uKHQpe3ZhciBuPTAscj10P2wudHdlZW5zLmxlbmd0aDowO2lmKGkpcmV0dXJuIHRoaXM7Zm9yKGk9ITA7bjxyO24rKylsLnR3ZWVuc1tuXS5ydW4oMSk7cmV0dXJuIHQ/KHMubm90aWZ5V2l0aChlLFtsLDEsMF0pLHMucmVzb2x2ZVdpdGgoZSxbbCx0XSkpOnMucmVqZWN0V2l0aChlLFtsLHRdKSx0aGlzfX0pLGM9bC5wcm9wcztmb3IoIWZ1bmN0aW9uKGUsdCl7dmFyIG4scixpLG8sYTtmb3IobiBpbiBlKWlmKGk9dFtyPVUobildLG89ZVtuXSxBcnJheS5pc0FycmF5KG8pJiYoaT1vWzFdLG89ZVtuXT1vWzBdKSxuIT09ciYmKGVbcl09byxkZWxldGUgZVtuXSksKGE9Yi5jc3NIb29rc1tyXSkmJlwiZXhwYW5kXCJpbiBhKWZvcihuIGluIG89YS5leHBhbmQobyksZGVsZXRlIGVbcl0sbyluIGluIGV8fChlW25dPW9bbl0sdFtuXT1pKTtlbHNlIHRbcl09aX0oYyxsLm9wdHMuc3BlY2lhbEVhc2luZyk7bzxhO28rKylpZihyPXN0LnByZWZpbHRlcnNbb10uY2FsbChsLGUsYyxsLm9wdHMpKXJldHVybiBoKHIuc3RvcCkmJihiLl9xdWV1ZUhvb2tzKGwuZWxlbSxsLm9wdHMucXVldWUpLnN0b3A9ci5zdG9wLmJpbmQocikpLHI7cmV0dXJuIGIubWFwKGMsYXQsbCksaChsLm9wdHMuc3RhcnQpJiZsLm9wdHMuc3RhcnQuY2FsbChlLGwpLGwucHJvZ3Jlc3MobC5vcHRzLnByb2dyZXNzKS5kb25lKGwub3B0cy5kb25lLGwub3B0cy5jb21wbGV0ZSkuZmFpbChsLm9wdHMuZmFpbCkuYWx3YXlzKGwub3B0cy5hbHdheXMpLGIuZngudGltZXIoYi5leHRlbmQodSx7ZWxlbTplLGFuaW06bCxxdWV1ZTpsLm9wdHMucXVldWV9KSksbH1iLkFuaW1hdGlvbj1iLmV4dGVuZChzdCx7dHdlZW5lcnM6e1wiKlwiOltmdW5jdGlvbihlLHQpe3ZhciBuPXRoaXMuY3JlYXRlVHdlZW4oZSx0KTtyZXR1cm4gYWUobi5lbGVtLGUsZWUuZXhlYyh0KSxuKSxufV19LHR3ZWVuZXI6ZnVuY3Rpb24oZSx0KXtoKGUpPyh0PWUsZT1bXCIqXCJdKTplPWUubWF0Y2goTyk7Zm9yKHZhciBuLHI9MCxpPWUubGVuZ3RoO3I8aTtyKyspbj1lW3JdLHN0LnR3ZWVuZXJzW25dPXN0LnR3ZWVuZXJzW25dfHxbXSxzdC50d2VlbmVyc1tuXS51bnNoaWZ0KHQpfSxwcmVmaWx0ZXJzOltmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvLGEscyx1LGwsYyxmPVwid2lkdGhcImluIHR8fFwiaGVpZ2h0XCJpbiB0LHA9dGhpcyxkPXt9LGg9ZS5zdHlsZSxnPWUubm9kZVR5cGUmJm9lKGUpLHY9Ry5nZXQoZSxcImZ4c2hvd1wiKTtmb3IociBpbiBuLnF1ZXVlfHwobnVsbD09KGE9Yi5fcXVldWVIb29rcyhlLFwiZnhcIikpLnVucXVldWVkJiYoYS51bnF1ZXVlZD0wLHM9YS5lbXB0eS5maXJlLGEuZW1wdHkuZmlyZT1mdW5jdGlvbigpe2EudW5xdWV1ZWR8fHMoKX0pLGEudW5xdWV1ZWQrKyxwLmFsd2F5cyhmdW5jdGlvbigpe3AuYWx3YXlzKGZ1bmN0aW9uKCl7YS51bnF1ZXVlZC0tLGIucXVldWUoZSxcImZ4XCIpLmxlbmd0aHx8YS5lbXB0eS5maXJlKCl9KX0pKSx0KWlmKGk9dFtyXSx0dC50ZXN0KGkpKXtpZihkZWxldGUgdFtyXSxvPW98fFwidG9nZ2xlXCI9PT1pLGk9PT0oZz9cImhpZGVcIjpcInNob3dcIikpe2lmKFwic2hvd1wiIT09aXx8IXZ8fHZvaWQgMD09PXZbcl0pY29udGludWU7Zz0hMH1kW3JdPXYmJnZbcl18fGIuc3R5bGUoZSxyKX1pZigodT0hYi5pc0VtcHR5T2JqZWN0KHQpKXx8IWIuaXNFbXB0eU9iamVjdChkKSlmb3IociBpbiBmJiYxPT09ZS5ub2RlVHlwZSYmKG4ub3ZlcmZsb3c9W2gub3ZlcmZsb3csaC5vdmVyZmxvd1gsaC5vdmVyZmxvd1ldLG51bGw9PShsPXYmJnYuZGlzcGxheSkmJihsPUcuZ2V0KGUsXCJkaXNwbGF5XCIpKSxcIm5vbmVcIj09PShjPWIuY3NzKGUsXCJkaXNwbGF5XCIpKSYmKGw/Yz1sOihsZShbZV0sITApLGw9ZS5zdHlsZS5kaXNwbGF5fHxsLGM9Yi5jc3MoZSxcImRpc3BsYXlcIiksbGUoW2VdKSkpLChcImlubGluZVwiPT09Y3x8XCJpbmxpbmUtYmxvY2tcIj09PWMmJm51bGwhPWwpJiZcIm5vbmVcIj09PWIuY3NzKGUsXCJmbG9hdFwiKSYmKHV8fChwLmRvbmUoZnVuY3Rpb24oKXtoLmRpc3BsYXk9bH0pLG51bGw9PWwmJihjPWguZGlzcGxheSxsPVwibm9uZVwiPT09Yz9cIlwiOmMpKSxoLmRpc3BsYXk9XCJpbmxpbmUtYmxvY2tcIikpLG4ub3ZlcmZsb3cmJihoLm92ZXJmbG93PVwiaGlkZGVuXCIscC5hbHdheXMoZnVuY3Rpb24oKXtoLm92ZXJmbG93PW4ub3ZlcmZsb3dbMF0saC5vdmVyZmxvd1g9bi5vdmVyZmxvd1sxXSxoLm92ZXJmbG93WT1uLm92ZXJmbG93WzJdfSkpLHU9ITEsZCl1fHwodj9cImhpZGRlblwiaW4gdiYmKGc9di5oaWRkZW4pOnY9Ry5hY2Nlc3MoZSxcImZ4c2hvd1wiLHtkaXNwbGF5Omx9KSxvJiYodi5oaWRkZW49IWcpLGcmJmxlKFtlXSwhMCkscC5kb25lKGZ1bmN0aW9uKCl7Zm9yKHIgaW4gZ3x8bGUoW2VdKSxHLnJlbW92ZShlLFwiZnhzaG93XCIpLGQpYi5zdHlsZShlLHIsZFtyXSl9KSksdT1hdChnP3Zbcl06MCxyLHApLHIgaW4gdnx8KHZbcl09dS5zdGFydCxnJiYodS5lbmQ9dS5zdGFydCx1LnN0YXJ0PTApKX1dLHByZWZpbHRlcjpmdW5jdGlvbihlLHQpe3Q/c3QucHJlZmlsdGVycy51bnNoaWZ0KGUpOnN0LnByZWZpbHRlcnMucHVzaChlKX19KSxiLnNwZWVkPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1lJiZcIm9iamVjdFwiPT10eXBlb2YgZT9iLmV4dGVuZCh7fSxlKTp7Y29tcGxldGU6bnx8IW4mJnR8fGgoZSkmJmUsZHVyYXRpb246ZSxlYXNpbmc6biYmdHx8dCYmIWgodCkmJnR9O3JldHVybiBiLmZ4Lm9mZj9yLmR1cmF0aW9uPTA6XCJudW1iZXJcIiE9dHlwZW9mIHIuZHVyYXRpb24mJihyLmR1cmF0aW9uIGluIGIuZnguc3BlZWRzP3IuZHVyYXRpb249Yi5meC5zcGVlZHNbci5kdXJhdGlvbl06ci5kdXJhdGlvbj1iLmZ4LnNwZWVkcy5fZGVmYXVsdCksbnVsbCE9ci5xdWV1ZSYmITAhPT1yLnF1ZXVlfHwoci5xdWV1ZT1cImZ4XCIpLHIub2xkPXIuY29tcGxldGUsci5jb21wbGV0ZT1mdW5jdGlvbigpe2goci5vbGQpJiZyLm9sZC5jYWxsKHRoaXMpLHIucXVldWUmJmIuZGVxdWV1ZSh0aGlzLHIucXVldWUpfSxyfSxiLmZuLmV4dGVuZCh7ZmFkZVRvOmZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiB0aGlzLmZpbHRlcihvZSkuY3NzKFwib3BhY2l0eVwiLDApLnNob3coKS5lbmQoKS5hbmltYXRlKHtvcGFjaXR5OnR9LGUsbixyKX0sYW5pbWF0ZTpmdW5jdGlvbihlLHQsbixyKXt2YXIgaT1iLmlzRW1wdHlPYmplY3QoZSksbz1iLnNwZWVkKHQsbixyKSxhPWZ1bmN0aW9uKCl7dmFyIHQ9c3QodGhpcyxiLmV4dGVuZCh7fSxlKSxvKTsoaXx8Ry5nZXQodGhpcyxcImZpbmlzaFwiKSkmJnQuc3RvcCghMCl9O3JldHVybiBhLmZpbmlzaD1hLGl8fCExPT09by5xdWV1ZT90aGlzLmVhY2goYSk6dGhpcy5xdWV1ZShvLnF1ZXVlLGEpfSxzdG9wOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1mdW5jdGlvbihlKXt2YXIgdD1lLnN0b3A7ZGVsZXRlIGUuc3RvcCx0KG4pfTtyZXR1cm5cInN0cmluZ1wiIT10eXBlb2YgZSYmKG49dCx0PWUsZT12b2lkIDApLHQmJnRoaXMucXVldWUoZXx8XCJmeFwiLFtdKSx0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgdD0hMCxpPW51bGwhPWUmJmUrXCJxdWV1ZUhvb2tzXCIsbz1iLnRpbWVycyxhPUcuZ2V0KHRoaXMpO2lmKGkpYVtpXSYmYVtpXS5zdG9wJiZyKGFbaV0pO2Vsc2UgZm9yKGkgaW4gYSlhW2ldJiZhW2ldLnN0b3AmJm50LnRlc3QoaSkmJnIoYVtpXSk7Zm9yKGk9by5sZW5ndGg7aS0tOylvW2ldLmVsZW0hPT10aGlzfHxudWxsIT1lJiZvW2ldLnF1ZXVlIT09ZXx8KG9baV0uYW5pbS5zdG9wKG4pLHQ9ITEsby5zcGxpY2UoaSwxKSk7IXQmJm58fGIuZGVxdWV1ZSh0aGlzLGUpfSl9LGZpbmlzaDpmdW5jdGlvbihlKXtyZXR1cm4hMSE9PWUmJihlPWV8fFwiZnhcIiksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQsbj1HLmdldCh0aGlzKSxyPW5bZStcInF1ZXVlXCJdLGk9bltlK1wicXVldWVIb29rc1wiXSxvPWIudGltZXJzLGE9cj9yLmxlbmd0aDowO2ZvcihuLmZpbmlzaD0hMCxiLnF1ZXVlKHRoaXMsZSxbXSksaSYmaS5zdG9wJiZpLnN0b3AuY2FsbCh0aGlzLCEwKSx0PW8ubGVuZ3RoO3QtLTspb1t0XS5lbGVtPT09dGhpcyYmb1t0XS5xdWV1ZT09PWUmJihvW3RdLmFuaW0uc3RvcCghMCksby5zcGxpY2UodCwxKSk7Zm9yKHQ9MDt0PGE7dCsrKXJbdF0mJnJbdF0uZmluaXNoJiZyW3RdLmZpbmlzaC5jYWxsKHRoaXMpO2RlbGV0ZSBuLmZpbmlzaH0pfX0pLGIuZWFjaChbXCJ0b2dnbGVcIixcInNob3dcIixcImhpZGVcIl0sZnVuY3Rpb24oZSx0KXt2YXIgbj1iLmZuW3RdO2IuZm5bdF09ZnVuY3Rpb24oZSxyLGkpe3JldHVybiBudWxsPT1lfHxcImJvb2xlYW5cIj09dHlwZW9mIGU/bi5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dGhpcy5hbmltYXRlKG90KHQsITApLGUscixpKX19KSxiLmVhY2goe3NsaWRlRG93bjpvdChcInNob3dcIiksc2xpZGVVcDpvdChcImhpZGVcIiksc2xpZGVUb2dnbGU6b3QoXCJ0b2dnbGVcIiksZmFkZUluOntvcGFjaXR5Olwic2hvd1wifSxmYWRlT3V0OntvcGFjaXR5OlwiaGlkZVwifSxmYWRlVG9nZ2xlOntvcGFjaXR5OlwidG9nZ2xlXCJ9fSxmdW5jdGlvbihlLHQpe2IuZm5bZV09ZnVuY3Rpb24oZSxuLHIpe3JldHVybiB0aGlzLmFuaW1hdGUodCxlLG4scil9fSksYi50aW1lcnM9W10sYi5meC50aWNrPWZ1bmN0aW9uKCl7dmFyIGUsdD0wLG49Yi50aW1lcnM7Zm9yKFplPURhdGUubm93KCk7dDxuLmxlbmd0aDt0KyspKGU9blt0XSkoKXx8blt0XSE9PWV8fG4uc3BsaWNlKHQtLSwxKTtuLmxlbmd0aHx8Yi5meC5zdG9wKCksWmU9dm9pZCAwfSxiLmZ4LnRpbWVyPWZ1bmN0aW9uKGUpe2IudGltZXJzLnB1c2goZSksYi5meC5zdGFydCgpfSxiLmZ4LmludGVydmFsPTEzLGIuZnguc3RhcnQ9ZnVuY3Rpb24oKXtldHx8KGV0PSEwLHJ0KCkpfSxiLmZ4LnN0b3A9ZnVuY3Rpb24oKXtldD1udWxsfSxiLmZ4LnNwZWVkcz17c2xvdzo2MDAsZmFzdDoyMDAsX2RlZmF1bHQ6NDAwfSxiLmZuLmRlbGF5PWZ1bmN0aW9uKHQsbil7cmV0dXJuIHQ9Yi5meCYmYi5meC5zcGVlZHNbdF18fHQsbj1ufHxcImZ4XCIsdGhpcy5xdWV1ZShuLGZ1bmN0aW9uKG4scil7dmFyIGk9ZS5zZXRUaW1lb3V0KG4sdCk7ci5zdG9wPWZ1bmN0aW9uKCl7ZS5jbGVhclRpbWVvdXQoaSl9fSl9LGZ1bmN0aW9uKCl7dmFyIGU9di5jcmVhdGVFbGVtZW50KFwiaW5wdXRcIiksdD12LmNyZWF0ZUVsZW1lbnQoXCJzZWxlY3RcIikuYXBwZW5kQ2hpbGQodi5jcmVhdGVFbGVtZW50KFwib3B0aW9uXCIpKTtlLnR5cGU9XCJjaGVja2JveFwiLGQuY2hlY2tPbj1cIlwiIT09ZS52YWx1ZSxkLm9wdFNlbGVjdGVkPXQuc2VsZWN0ZWQsKGU9di5jcmVhdGVFbGVtZW50KFwiaW5wdXRcIikpLnZhbHVlPVwidFwiLGUudHlwZT1cInJhZGlvXCIsZC5yYWRpb1ZhbHVlPVwidFwiPT09ZS52YWx1ZX0oKTt2YXIgdXQsbHQ9Yi5leHByLmF0dHJIYW5kbGU7Yi5mbi5leHRlbmQoe2F0dHI6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gQih0aGlzLGIuYXR0cixlLHQsYXJndW1lbnRzLmxlbmd0aD4xKX0scmVtb3ZlQXR0cjpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Yi5yZW1vdmVBdHRyKHRoaXMsZSl9KX19KSxiLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvPWUubm9kZVR5cGU7aWYoMyE9PW8mJjghPT1vJiYyIT09bylyZXR1cm4gdm9pZCAwPT09ZS5nZXRBdHRyaWJ1dGU/Yi5wcm9wKGUsdCxuKTooMT09PW8mJmIuaXNYTUxEb2MoZSl8fChpPWIuYXR0ckhvb2tzW3QudG9Mb3dlckNhc2UoKV18fChiLmV4cHIubWF0Y2guYm9vbC50ZXN0KHQpP3V0OnZvaWQgMCkpLHZvaWQgMCE9PW4/bnVsbD09PW4/dm9pZCBiLnJlbW92ZUF0dHIoZSx0KTppJiZcInNldFwiaW4gaSYmdm9pZCAwIT09KHI9aS5zZXQoZSxuLHQpKT9yOihlLnNldEF0dHJpYnV0ZSh0LG4rXCJcIiksbik6aSYmXCJnZXRcImluIGkmJm51bGwhPT0ocj1pLmdldChlLHQpKT9yOm51bGw9PShyPWIuZmluZC5hdHRyKGUsdCkpP3ZvaWQgMDpyKX0sYXR0ckhvb2tzOnt0eXBlOntzZXQ6ZnVuY3Rpb24oZSx0KXtpZighZC5yYWRpb1ZhbHVlJiZcInJhZGlvXCI9PT10JiZrKGUsXCJpbnB1dFwiKSl7dmFyIG49ZS52YWx1ZTtyZXR1cm4gZS5zZXRBdHRyaWJ1dGUoXCJ0eXBlXCIsdCksbiYmKGUudmFsdWU9biksdH19fX0scmVtb3ZlQXR0cjpmdW5jdGlvbihlLHQpe3ZhciBuLHI9MCxpPXQmJnQubWF0Y2goTyk7aWYoaSYmMT09PWUubm9kZVR5cGUpZm9yKDtuPWlbcisrXTspZS5yZW1vdmVBdHRyaWJ1dGUobil9fSksdXQ9e3NldDpmdW5jdGlvbihlLHQsbil7cmV0dXJuITE9PT10P2IucmVtb3ZlQXR0cihlLG4pOmUuc2V0QXR0cmlidXRlKG4sbiksbn19LGIuZWFjaChiLmV4cHIubWF0Y2guYm9vbC5zb3VyY2UubWF0Y2goL1xcdysvZyksZnVuY3Rpb24oZSx0KXt2YXIgbj1sdFt0XXx8Yi5maW5kLmF0dHI7bHRbdF09ZnVuY3Rpb24oZSx0LHIpe3ZhciBpLG8sYT10LnRvTG93ZXJDYXNlKCk7cmV0dXJuIHJ8fChvPWx0W2FdLGx0W2FdPWksaT1udWxsIT1uKGUsdCxyKT9hOm51bGwsbHRbYV09byksaX19KTt2YXIgY3Q9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uKSQvaSxmdD0vXig/OmF8YXJlYSkkL2k7ZnVuY3Rpb24gcHQoZSl7cmV0dXJuKGUubWF0Y2goTyl8fFtdKS5qb2luKFwiIFwiKX1mdW5jdGlvbiBkdChlKXtyZXR1cm4gZS5nZXRBdHRyaWJ1dGUmJmUuZ2V0QXR0cmlidXRlKFwiY2xhc3NcIil8fFwiXCJ9ZnVuY3Rpb24gaHQoZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSk/ZTpcInN0cmluZ1wiPT10eXBlb2YgZSYmZS5tYXRjaChPKXx8W119Yi5mbi5leHRlbmQoe3Byb3A6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gQih0aGlzLGIucHJvcCxlLHQsYXJndW1lbnRzLmxlbmd0aD4xKX0scmVtb3ZlUHJvcDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7ZGVsZXRlIHRoaXNbYi5wcm9wRml4W2VdfHxlXX0pfX0pLGIuZXh0ZW5kKHtwcm9wOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG89ZS5ub2RlVHlwZTtpZigzIT09byYmOCE9PW8mJjIhPT1vKXJldHVybiAxPT09byYmYi5pc1hNTERvYyhlKXx8KHQ9Yi5wcm9wRml4W3RdfHx0LGk9Yi5wcm9wSG9va3NbdF0pLHZvaWQgMCE9PW4/aSYmXCJzZXRcImluIGkmJnZvaWQgMCE9PShyPWkuc2V0KGUsbix0KSk/cjplW3RdPW46aSYmXCJnZXRcImluIGkmJm51bGwhPT0ocj1pLmdldChlLHQpKT9yOmVbdF19LHByb3BIb29rczp7dGFiSW5kZXg6e2dldDpmdW5jdGlvbihlKXt2YXIgdD1iLmZpbmQuYXR0cihlLFwidGFiaW5kZXhcIik7cmV0dXJuIHQ/cGFyc2VJbnQodCwxMCk6Y3QudGVzdChlLm5vZGVOYW1lKXx8ZnQudGVzdChlLm5vZGVOYW1lKSYmZS5ocmVmPzA6LTF9fX0scHJvcEZpeDp7Zm9yOlwiaHRtbEZvclwiLGNsYXNzOlwiY2xhc3NOYW1lXCJ9fSksZC5vcHRTZWxlY3RlZHx8KGIucHJvcEhvb2tzLnNlbGVjdGVkPXtnZXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5wYXJlbnROb2RlO3JldHVybiB0JiZ0LnBhcmVudE5vZGUmJnQucGFyZW50Tm9kZS5zZWxlY3RlZEluZGV4LG51bGx9LHNldDpmdW5jdGlvbihlKXt2YXIgdD1lLnBhcmVudE5vZGU7dCYmKHQuc2VsZWN0ZWRJbmRleCx0LnBhcmVudE5vZGUmJnQucGFyZW50Tm9kZS5zZWxlY3RlZEluZGV4KX19KSxiLmVhY2goW1widGFiSW5kZXhcIixcInJlYWRPbmx5XCIsXCJtYXhMZW5ndGhcIixcImNlbGxTcGFjaW5nXCIsXCJjZWxsUGFkZGluZ1wiLFwicm93U3BhblwiLFwiY29sU3BhblwiLFwidXNlTWFwXCIsXCJmcmFtZUJvcmRlclwiLFwiY29udGVudEVkaXRhYmxlXCJdLGZ1bmN0aW9uKCl7Yi5wcm9wRml4W3RoaXMudG9Mb3dlckNhc2UoKV09dGhpc30pLGIuZm4uZXh0ZW5kKHthZGRDbGFzczpmdW5jdGlvbihlKXt2YXIgdCxuLHIsaSxvLGEscyx1PTA7aWYoaChlKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKHQpe2IodGhpcykuYWRkQ2xhc3MoZS5jYWxsKHRoaXMsdCxkdCh0aGlzKSkpfSk7aWYoKHQ9aHQoZSkpLmxlbmd0aClmb3IoO249dGhpc1t1KytdOylpZihpPWR0KG4pLHI9MT09PW4ubm9kZVR5cGUmJlwiIFwiK3B0KGkpK1wiIFwiKXtmb3IoYT0wO289dFthKytdOylyLmluZGV4T2YoXCIgXCIrbytcIiBcIik8MCYmKHIrPW8rXCIgXCIpO2khPT0ocz1wdChyKSkmJm4uc2V0QXR0cmlidXRlKFwiY2xhc3NcIixzKX1yZXR1cm4gdGhpc30scmVtb3ZlQ2xhc3M6ZnVuY3Rpb24oZSl7dmFyIHQsbixyLGksbyxhLHMsdT0wO2lmKGgoZSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbih0KXtiKHRoaXMpLnJlbW92ZUNsYXNzKGUuY2FsbCh0aGlzLHQsZHQodGhpcykpKX0pO2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybiB0aGlzLmF0dHIoXCJjbGFzc1wiLFwiXCIpO2lmKCh0PWh0KGUpKS5sZW5ndGgpZm9yKDtuPXRoaXNbdSsrXTspaWYoaT1kdChuKSxyPTE9PT1uLm5vZGVUeXBlJiZcIiBcIitwdChpKStcIiBcIil7Zm9yKGE9MDtvPXRbYSsrXTspZm9yKDtyLmluZGV4T2YoXCIgXCIrbytcIiBcIik+LTE7KXI9ci5yZXBsYWNlKFwiIFwiK28rXCIgXCIsXCIgXCIpO2khPT0ocz1wdChyKSkmJm4uc2V0QXR0cmlidXRlKFwiY2xhc3NcIixzKX1yZXR1cm4gdGhpc30sdG9nZ2xlQ2xhc3M6ZnVuY3Rpb24oZSx0KXt2YXIgbj10eXBlb2YgZSxyPVwic3RyaW5nXCI9PT1ufHxBcnJheS5pc0FycmF5KGUpO3JldHVyblwiYm9vbGVhblwiPT10eXBlb2YgdCYmcj90P3RoaXMuYWRkQ2xhc3MoZSk6dGhpcy5yZW1vdmVDbGFzcyhlKTpoKGUpP3RoaXMuZWFjaChmdW5jdGlvbihuKXtiKHRoaXMpLnRvZ2dsZUNsYXNzKGUuY2FsbCh0aGlzLG4sZHQodGhpcyksdCksdCl9KTp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgdCxpLG8sYTtpZihyKWZvcihpPTAsbz1iKHRoaXMpLGE9aHQoZSk7dD1hW2krK107KW8uaGFzQ2xhc3ModCk/by5yZW1vdmVDbGFzcyh0KTpvLmFkZENsYXNzKHQpO2Vsc2Ugdm9pZCAwIT09ZSYmXCJib29sZWFuXCIhPT1ufHwoKHQ9ZHQodGhpcykpJiZHLnNldCh0aGlzLFwiX19jbGFzc05hbWVfX1wiLHQpLHRoaXMuc2V0QXR0cmlidXRlJiZ0aGlzLnNldEF0dHJpYnV0ZShcImNsYXNzXCIsdHx8ITE9PT1lP1wiXCI6Ry5nZXQodGhpcyxcIl9fY2xhc3NOYW1lX19cIil8fFwiXCIpKX0pfSxoYXNDbGFzczpmdW5jdGlvbihlKXt2YXIgdCxuLHI9MDtmb3IodD1cIiBcIitlK1wiIFwiO249dGhpc1tyKytdOylpZigxPT09bi5ub2RlVHlwZSYmKFwiIFwiK3B0KGR0KG4pKStcIiBcIikuaW5kZXhPZih0KT4tMSlyZXR1cm4hMDtyZXR1cm4hMX19KTt2YXIgZ3Q9L1xcci9nO2IuZm4uZXh0ZW5kKHt2YWw6ZnVuY3Rpb24oZSl7dmFyIHQsbixyLGk9dGhpc1swXTtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj1oKGUpLHRoaXMuZWFjaChmdW5jdGlvbihuKXt2YXIgaTsxPT09dGhpcy5ub2RlVHlwZSYmKG51bGw9PShpPXI/ZS5jYWxsKHRoaXMsbixiKHRoaXMpLnZhbCgpKTplKT9pPVwiXCI6XCJudW1iZXJcIj09dHlwZW9mIGk/aSs9XCJcIjpBcnJheS5pc0FycmF5KGkpJiYoaT1iLm1hcChpLGZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lP1wiXCI6ZStcIlwifSkpLCh0PWIudmFsSG9va3NbdGhpcy50eXBlXXx8Yi52YWxIb29rc1t0aGlzLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldKSYmXCJzZXRcImluIHQmJnZvaWQgMCE9PXQuc2V0KHRoaXMsaSxcInZhbHVlXCIpfHwodGhpcy52YWx1ZT1pKSl9KSk6aT8odD1iLnZhbEhvb2tzW2kudHlwZV18fGIudmFsSG9va3NbaS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXSkmJlwiZ2V0XCJpbiB0JiZ2b2lkIDAhPT0obj10LmdldChpLFwidmFsdWVcIikpP246XCJzdHJpbmdcIj09dHlwZW9mKG49aS52YWx1ZSk/bi5yZXBsYWNlKGd0LFwiXCIpOm51bGw9PW4/XCJcIjpuOnZvaWQgMH19KSxiLmV4dGVuZCh7dmFsSG9va3M6e29wdGlvbjp7Z2V0OmZ1bmN0aW9uKGUpe3ZhciB0PWIuZmluZC5hdHRyKGUsXCJ2YWx1ZVwiKTtyZXR1cm4gbnVsbCE9dD90OnB0KGIudGV4dChlKSl9fSxzZWxlY3Q6e2dldDpmdW5jdGlvbihlKXt2YXIgdCxuLHIsaT1lLm9wdGlvbnMsbz1lLnNlbGVjdGVkSW5kZXgsYT1cInNlbGVjdC1vbmVcIj09PWUudHlwZSxzPWE/bnVsbDpbXSx1PWE/bysxOmkubGVuZ3RoO2ZvcihyPW88MD91OmE/bzowO3I8dTtyKyspaWYoKChuPWlbcl0pLnNlbGVjdGVkfHxyPT09bykmJiFuLmRpc2FibGVkJiYoIW4ucGFyZW50Tm9kZS5kaXNhYmxlZHx8IWsobi5wYXJlbnROb2RlLFwib3B0Z3JvdXBcIikpKXtpZih0PWIobikudmFsKCksYSlyZXR1cm4gdDtzLnB1c2godCl9cmV0dXJuIHN9LHNldDpmdW5jdGlvbihlLHQpe2Zvcih2YXIgbixyLGk9ZS5vcHRpb25zLG89Yi5tYWtlQXJyYXkodCksYT1pLmxlbmd0aDthLS07KSgocj1pW2FdKS5zZWxlY3RlZD1iLmluQXJyYXkoYi52YWxIb29rcy5vcHRpb24uZ2V0KHIpLG8pPi0xKSYmKG49ITApO3JldHVybiBufHwoZS5zZWxlY3RlZEluZGV4PS0xKSxvfX19fSksYi5lYWNoKFtcInJhZGlvXCIsXCJjaGVja2JveFwiXSxmdW5jdGlvbigpe2IudmFsSG9va3NbdGhpc109e3NldDpmdW5jdGlvbihlLHQpe2lmKEFycmF5LmlzQXJyYXkodCkpcmV0dXJuIGUuY2hlY2tlZD1iLmluQXJyYXkoYihlKS52YWwoKSx0KT4tMX19LGQuY2hlY2tPbnx8KGIudmFsSG9va3NbdGhpc10uZ2V0PWZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT09ZS5nZXRBdHRyaWJ1dGUoXCJ2YWx1ZVwiKT9cIm9uXCI6ZS52YWx1ZX0pfSksZC5mb2N1c2luPVwib25mb2N1c2luXCJpbiBlO3ZhciB2dD0vXig/OmZvY3VzaW5mb2N1c3xmb2N1c291dGJsdXIpJC8seXQ9ZnVuY3Rpb24oZSl7ZS5zdG9wUHJvcGFnYXRpb24oKX07Yi5leHRlbmQoYi5ldmVudCx7dHJpZ2dlcjpmdW5jdGlvbih0LG4scixpKXt2YXIgbyxhLHMsdSxsLGYscCxkLHk9W3J8fHZdLG09Yy5jYWxsKHQsXCJ0eXBlXCIpP3QudHlwZTp0LHg9Yy5jYWxsKHQsXCJuYW1lc3BhY2VcIik/dC5uYW1lc3BhY2Uuc3BsaXQoXCIuXCIpOltdO2lmKGE9ZD1zPXI9cnx8diwzIT09ci5ub2RlVHlwZSYmOCE9PXIubm9kZVR5cGUmJiF2dC50ZXN0KG0rYi5ldmVudC50cmlnZ2VyZWQpJiYobS5pbmRleE9mKFwiLlwiKT4tMSYmKHg9bS5zcGxpdChcIi5cIiksbT14LnNoaWZ0KCkseC5zb3J0KCkpLGw9bS5pbmRleE9mKFwiOlwiKTwwJiZcIm9uXCIrbSwodD10W2IuZXhwYW5kb10/dDpuZXcgYi5FdmVudChtLFwib2JqZWN0XCI9PXR5cGVvZiB0JiZ0KSkuaXNUcmlnZ2VyPWk/MjozLHQubmFtZXNwYWNlPXguam9pbihcIi5cIiksdC5ybmFtZXNwYWNlPXQubmFtZXNwYWNlP25ldyBSZWdFeHAoXCIoXnxcXFxcLilcIit4LmpvaW4oXCJcXFxcLig/Oi4qXFxcXC58KVwiKStcIihcXFxcLnwkKVwiKTpudWxsLHQucmVzdWx0PXZvaWQgMCx0LnRhcmdldHx8KHQudGFyZ2V0PXIpLG49bnVsbD09bj9bdF06Yi5tYWtlQXJyYXkobixbdF0pLHA9Yi5ldmVudC5zcGVjaWFsW21dfHx7fSxpfHwhcC50cmlnZ2VyfHwhMSE9PXAudHJpZ2dlci5hcHBseShyLG4pKSl7aWYoIWkmJiFwLm5vQnViYmxlJiYhZyhyKSl7Zm9yKHU9cC5kZWxlZ2F0ZVR5cGV8fG0sdnQudGVzdCh1K20pfHwoYT1hLnBhcmVudE5vZGUpO2E7YT1hLnBhcmVudE5vZGUpeS5wdXNoKGEpLHM9YTtzPT09KHIub3duZXJEb2N1bWVudHx8dikmJnkucHVzaChzLmRlZmF1bHRWaWV3fHxzLnBhcmVudFdpbmRvd3x8ZSl9Zm9yKG89MDsoYT15W28rK10pJiYhdC5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpOylkPWEsdC50eXBlPW8+MT91OnAuYmluZFR5cGV8fG0sKGY9KEcuZ2V0KGEsXCJldmVudHNcIil8fE9iamVjdC5jcmVhdGUobnVsbCkpW3QudHlwZV0mJkcuZ2V0KGEsXCJoYW5kbGVcIikpJiZmLmFwcGx5KGEsbiksKGY9bCYmYVtsXSkmJmYuYXBwbHkmJlgoYSkmJih0LnJlc3VsdD1mLmFwcGx5KGEsbiksITE9PT10LnJlc3VsdCYmdC5wcmV2ZW50RGVmYXVsdCgpKTtyZXR1cm4gdC50eXBlPW0saXx8dC5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8cC5fZGVmYXVsdCYmITEhPT1wLl9kZWZhdWx0LmFwcGx5KHkucG9wKCksbil8fCFYKHIpfHxsJiZoKHJbbV0pJiYhZyhyKSYmKChzPXJbbF0pJiYocltsXT1udWxsKSxiLmV2ZW50LnRyaWdnZXJlZD1tLHQuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSYmZC5hZGRFdmVudExpc3RlbmVyKG0seXQpLHJbbV0oKSx0LmlzUHJvcGFnYXRpb25TdG9wcGVkKCkmJmQucmVtb3ZlRXZlbnRMaXN0ZW5lcihtLHl0KSxiLmV2ZW50LnRyaWdnZXJlZD12b2lkIDAscyYmKHJbbF09cykpLHQucmVzdWx0fX0sc2ltdWxhdGU6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWIuZXh0ZW5kKG5ldyBiLkV2ZW50LG4se3R5cGU6ZSxpc1NpbXVsYXRlZDohMH0pO2IuZXZlbnQudHJpZ2dlcihyLG51bGwsdCl9fSksYi5mbi5leHRlbmQoe3RyaWdnZXI6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Yi5ldmVudC50cmlnZ2VyKGUsdCx0aGlzKX0pfSx0cmlnZ2VySGFuZGxlcjpmdW5jdGlvbihlLHQpe3ZhciBuPXRoaXNbMF07aWYobilyZXR1cm4gYi5ldmVudC50cmlnZ2VyKGUsdCxuLCEwKX19KSxkLmZvY3VzaW58fGIuZWFjaCh7Zm9jdXM6XCJmb2N1c2luXCIsYmx1cjpcImZvY3Vzb3V0XCJ9LGZ1bmN0aW9uKGUsdCl7dmFyIG49ZnVuY3Rpb24oZSl7Yi5ldmVudC5zaW11bGF0ZSh0LGUudGFyZ2V0LGIuZXZlbnQuZml4KGUpKX07Yi5ldmVudC5zcGVjaWFsW3RdPXtzZXR1cDpmdW5jdGlvbigpe3ZhciByPXRoaXMub3duZXJEb2N1bWVudHx8dGhpcy5kb2N1bWVudHx8dGhpcyxpPUcuYWNjZXNzKHIsdCk7aXx8ci5hZGRFdmVudExpc3RlbmVyKGUsbiwhMCksRy5hY2Nlc3Mocix0LChpfHwwKSsxKX0sdGVhcmRvd246ZnVuY3Rpb24oKXt2YXIgcj10aGlzLm93bmVyRG9jdW1lbnR8fHRoaXMuZG9jdW1lbnR8fHRoaXMsaT1HLmFjY2VzcyhyLHQpLTE7aT9HLmFjY2VzcyhyLHQsaSk6KHIucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLG4sITApLEcucmVtb3ZlKHIsdCkpfX19KTt2YXIgbXQ9ZS5sb2NhdGlvbix4dD17Z3VpZDpEYXRlLm5vdygpfSxidD0vXFw/LztiLnBhcnNlWE1MPWZ1bmN0aW9uKHQpe3ZhciBuLHI7aWYoIXR8fFwic3RyaW5nXCIhPXR5cGVvZiB0KXJldHVybiBudWxsO3RyeXtuPShuZXcgZS5ET01QYXJzZXIpLnBhcnNlRnJvbVN0cmluZyh0LFwidGV4dC94bWxcIil9Y2F0Y2goZSl7fXJldHVybiByPW4mJm4uZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJwYXJzZXJlcnJvclwiKVswXSxuJiYhcnx8Yi5lcnJvcihcIkludmFsaWQgWE1MOiBcIisocj9iLm1hcChyLmNoaWxkTm9kZXMsZnVuY3Rpb24oZSl7cmV0dXJuIGUudGV4dENvbnRlbnR9KS5qb2luKFwiXFxuXCIpOnQpKSxufTt2YXIgd3Q9L1xcW1xcXSQvLFR0PS9cXHI/XFxuL2csQ3Q9L14oPzpzdWJtaXR8YnV0dG9ufGltYWdlfHJlc2V0fGZpbGUpJC9pLEV0PS9eKD86aW5wdXR8c2VsZWN0fHRleHRhcmVhfGtleWdlbikvaTtmdW5jdGlvbiBTdChlLHQsbixyKXt2YXIgaTtpZihBcnJheS5pc0FycmF5KHQpKWIuZWFjaCh0LGZ1bmN0aW9uKHQsaSl7bnx8d3QudGVzdChlKT9yKGUsaSk6U3QoZStcIltcIisoXCJvYmplY3RcIj09dHlwZW9mIGkmJm51bGwhPWk/dDpcIlwiKStcIl1cIixpLG4scil9KTtlbHNlIGlmKG58fFwib2JqZWN0XCIhPT14KHQpKXIoZSx0KTtlbHNlIGZvcihpIGluIHQpU3QoZStcIltcIitpK1wiXVwiLHRbaV0sbixyKX1iLnBhcmFtPWZ1bmN0aW9uKGUsdCl7dmFyIG4scj1bXSxpPWZ1bmN0aW9uKGUsdCl7dmFyIG49aCh0KT90KCk6dDtyW3IubGVuZ3RoXT1lbmNvZGVVUklDb21wb25lbnQoZSkrXCI9XCIrZW5jb2RlVVJJQ29tcG9uZW50KG51bGw9PW4/XCJcIjpuKX07aWYobnVsbD09ZSlyZXR1cm5cIlwiO2lmKEFycmF5LmlzQXJyYXkoZSl8fGUuanF1ZXJ5JiYhYi5pc1BsYWluT2JqZWN0KGUpKWIuZWFjaChlLGZ1bmN0aW9uKCl7aSh0aGlzLm5hbWUsdGhpcy52YWx1ZSl9KTtlbHNlIGZvcihuIGluIGUpU3QobixlW25dLHQsaSk7cmV0dXJuIHIuam9pbihcIiZcIil9LGIuZm4uZXh0ZW5kKHtzZXJpYWxpemU6ZnVuY3Rpb24oKXtyZXR1cm4gYi5wYXJhbSh0aGlzLnNlcmlhbGl6ZUFycmF5KCkpfSxzZXJpYWxpemVBcnJheTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbigpe3ZhciBlPWIucHJvcCh0aGlzLFwiZWxlbWVudHNcIik7cmV0dXJuIGU/Yi5tYWtlQXJyYXkoZSk6dGhpc30pLmZpbHRlcihmdW5jdGlvbigpe3ZhciBlPXRoaXMudHlwZTtyZXR1cm4gdGhpcy5uYW1lJiYhYih0aGlzKS5pcyhcIjpkaXNhYmxlZFwiKSYmRXQudGVzdCh0aGlzLm5vZGVOYW1lKSYmIUN0LnRlc3QoZSkmJih0aGlzLmNoZWNrZWR8fCFwZS50ZXN0KGUpKX0pLm1hcChmdW5jdGlvbihlLHQpe3ZhciBuPWIodGhpcykudmFsKCk7cmV0dXJuIG51bGw9PW4/bnVsbDpBcnJheS5pc0FycmF5KG4pP2IubWFwKG4sZnVuY3Rpb24oZSl7cmV0dXJue25hbWU6dC5uYW1lLHZhbHVlOmUucmVwbGFjZShUdCxcIlxcclxcblwiKX19KTp7bmFtZTp0Lm5hbWUsdmFsdWU6bi5yZXBsYWNlKFR0LFwiXFxyXFxuXCIpfX0pLmdldCgpfX0pO3ZhciBrdD0vJTIwL2csQXQ9LyMuKiQvLE50PS8oWz8mXSlfPVteJl0qLyxqdD0vXiguKj8pOlsgXFx0XSooW15cXHJcXG5dKikkL2dtLER0PS9eKD86R0VUfEhFQUQpJC8scXQ9L15cXC9cXC8vLEx0PXt9LEh0PXt9LE90PVwiKi9cIi5jb25jYXQoXCIqXCIpLFB0PXYuY3JlYXRlRWxlbWVudChcImFcIik7ZnVuY3Rpb24gUnQoZSl7cmV0dXJuIGZ1bmN0aW9uKHQsbil7XCJzdHJpbmdcIiE9dHlwZW9mIHQmJihuPXQsdD1cIipcIik7dmFyIHIsaT0wLG89dC50b0xvd2VyQ2FzZSgpLm1hdGNoKE8pfHxbXTtpZihoKG4pKWZvcig7cj1vW2krK107KVwiK1wiPT09clswXT8ocj1yLnNsaWNlKDEpfHxcIipcIiwoZVtyXT1lW3JdfHxbXSkudW5zaGlmdChuKSk6KGVbcl09ZVtyXXx8W10pLnB1c2gobil9fWZ1bmN0aW9uIE10KGUsdCxuLHIpe3ZhciBpPXt9LG89ZT09PUh0O2Z1bmN0aW9uIGEocyl7dmFyIHU7cmV0dXJuIGlbc109ITAsYi5lYWNoKGVbc118fFtdLGZ1bmN0aW9uKGUscyl7dmFyIGw9cyh0LG4scik7cmV0dXJuXCJzdHJpbmdcIiE9dHlwZW9mIGx8fG98fGlbbF0/bz8hKHU9bCk6dm9pZCAwOih0LmRhdGFUeXBlcy51bnNoaWZ0KGwpLGEobCksITEpfSksdX1yZXR1cm4gYSh0LmRhdGFUeXBlc1swXSl8fCFpW1wiKlwiXSYmYShcIipcIil9ZnVuY3Rpb24gSXQoZSx0KXt2YXIgbixyLGk9Yi5hamF4U2V0dGluZ3MuZmxhdE9wdGlvbnN8fHt9O2ZvcihuIGluIHQpdm9pZCAwIT09dFtuXSYmKChpW25dP2U6cnx8KHI9e30pKVtuXT10W25dKTtyZXR1cm4gciYmYi5leHRlbmQoITAsZSxyKSxlfVB0LmhyZWY9bXQuaHJlZixiLmV4dGVuZCh7YWN0aXZlOjAsbGFzdE1vZGlmaWVkOnt9LGV0YWc6e30sYWpheFNldHRpbmdzOnt1cmw6bXQuaHJlZix0eXBlOlwiR0VUXCIsaXNMb2NhbDovXig/OmFib3V0fGFwcHxhcHAtc3RvcmFnZXwuKy1leHRlbnNpb258ZmlsZXxyZXN8d2lkZ2V0KTokLy50ZXN0KG10LnByb3RvY29sKSxnbG9iYWw6ITAscHJvY2Vzc0RhdGE6ITAsYXN5bmM6ITAsY29udGVudFR5cGU6XCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7IGNoYXJzZXQ9VVRGLThcIixhY2NlcHRzOntcIipcIjpPdCx0ZXh0OlwidGV4dC9wbGFpblwiLGh0bWw6XCJ0ZXh0L2h0bWxcIix4bWw6XCJhcHBsaWNhdGlvbi94bWwsIHRleHQveG1sXCIsanNvbjpcImFwcGxpY2F0aW9uL2pzb24sIHRleHQvamF2YXNjcmlwdFwifSxjb250ZW50czp7eG1sOi9cXGJ4bWxcXGIvLGh0bWw6L1xcYmh0bWwvLGpzb246L1xcYmpzb25cXGIvfSxyZXNwb25zZUZpZWxkczp7eG1sOlwicmVzcG9uc2VYTUxcIix0ZXh0OlwicmVzcG9uc2VUZXh0XCIsanNvbjpcInJlc3BvbnNlSlNPTlwifSxjb252ZXJ0ZXJzOntcIiogdGV4dFwiOlN0cmluZyxcInRleHQgaHRtbFwiOiEwLFwidGV4dCBqc29uXCI6SlNPTi5wYXJzZSxcInRleHQgeG1sXCI6Yi5wYXJzZVhNTH0sZmxhdE9wdGlvbnM6e3VybDohMCxjb250ZXh0OiEwfX0sYWpheFNldHVwOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQ/SXQoSXQoZSxiLmFqYXhTZXR0aW5ncyksdCk6SXQoYi5hamF4U2V0dGluZ3MsZSl9LGFqYXhQcmVmaWx0ZXI6UnQoTHQpLGFqYXhUcmFuc3BvcnQ6UnQoSHQpLGFqYXg6ZnVuY3Rpb24odCxuKXtcIm9iamVjdFwiPT10eXBlb2YgdCYmKG49dCx0PXZvaWQgMCksbj1ufHx7fTt2YXIgcixpLG8sYSxzLHUsbCxjLGYscCxkPWIuYWpheFNldHVwKHt9LG4pLGg9ZC5jb250ZXh0fHxkLGc9ZC5jb250ZXh0JiYoaC5ub2RlVHlwZXx8aC5qcXVlcnkpP2IoaCk6Yi5ldmVudCx5PWIuRGVmZXJyZWQoKSxtPWIuQ2FsbGJhY2tzKFwib25jZSBtZW1vcnlcIikseD1kLnN0YXR1c0NvZGV8fHt9LHc9e30sVD17fSxDPVwiY2FuY2VsZWRcIixFPXtyZWFkeVN0YXRlOjAsZ2V0UmVzcG9uc2VIZWFkZXI6ZnVuY3Rpb24oZSl7dmFyIHQ7aWYobCl7aWYoIWEpZm9yKGE9e307dD1qdC5leGVjKG8pOylhW3RbMV0udG9Mb3dlckNhc2UoKStcIiBcIl09KGFbdFsxXS50b0xvd2VyQ2FzZSgpK1wiIFwiXXx8W10pLmNvbmNhdCh0WzJdKTt0PWFbZS50b0xvd2VyQ2FzZSgpK1wiIFwiXX1yZXR1cm4gbnVsbD09dD9udWxsOnQuam9pbihcIiwgXCIpfSxnZXRBbGxSZXNwb25zZUhlYWRlcnM6ZnVuY3Rpb24oKXtyZXR1cm4gbD9vOm51bGx9LHNldFJlcXVlc3RIZWFkZXI6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbnVsbD09bCYmKGU9VFtlLnRvTG93ZXJDYXNlKCldPVRbZS50b0xvd2VyQ2FzZSgpXXx8ZSx3W2VdPXQpLHRoaXN9LG92ZXJyaWRlTWltZVR5cGU6ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PWwmJihkLm1pbWVUeXBlPWUpLHRoaXN9LHN0YXR1c0NvZGU6ZnVuY3Rpb24oZSl7dmFyIHQ7aWYoZSlpZihsKUUuYWx3YXlzKGVbRS5zdGF0dXNdKTtlbHNlIGZvcih0IGluIGUpeFt0XT1beFt0XSxlW3RdXTtyZXR1cm4gdGhpc30sYWJvcnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZXx8QztyZXR1cm4gciYmci5hYm9ydCh0KSxTKDAsdCksdGhpc319O2lmKHkucHJvbWlzZShFKSxkLnVybD0oKHR8fGQudXJsfHxtdC5ocmVmKStcIlwiKS5yZXBsYWNlKHF0LG10LnByb3RvY29sK1wiLy9cIiksZC50eXBlPW4ubWV0aG9kfHxuLnR5cGV8fGQubWV0aG9kfHxkLnR5cGUsZC5kYXRhVHlwZXM9KGQuZGF0YVR5cGV8fFwiKlwiKS50b0xvd2VyQ2FzZSgpLm1hdGNoKE8pfHxbXCJcIl0sbnVsbD09ZC5jcm9zc0RvbWFpbil7dT12LmNyZWF0ZUVsZW1lbnQoXCJhXCIpO3RyeXt1LmhyZWY9ZC51cmwsdS5ocmVmPXUuaHJlZixkLmNyb3NzRG9tYWluPVB0LnByb3RvY29sK1wiLy9cIitQdC5ob3N0IT11LnByb3RvY29sK1wiLy9cIit1Lmhvc3R9Y2F0Y2goZSl7ZC5jcm9zc0RvbWFpbj0hMH19aWYoZC5kYXRhJiZkLnByb2Nlc3NEYXRhJiZcInN0cmluZ1wiIT10eXBlb2YgZC5kYXRhJiYoZC5kYXRhPWIucGFyYW0oZC5kYXRhLGQudHJhZGl0aW9uYWwpKSxNdChMdCxkLG4sRSksbClyZXR1cm4gRTtmb3IoZiBpbihjPWIuZXZlbnQmJmQuZ2xvYmFsKSYmMD09Yi5hY3RpdmUrKyYmYi5ldmVudC50cmlnZ2VyKFwiYWpheFN0YXJ0XCIpLGQudHlwZT1kLnR5cGUudG9VcHBlckNhc2UoKSxkLmhhc0NvbnRlbnQ9IUR0LnRlc3QoZC50eXBlKSxpPWQudXJsLnJlcGxhY2UoQXQsXCJcIiksZC5oYXNDb250ZW50P2QuZGF0YSYmZC5wcm9jZXNzRGF0YSYmMD09PShkLmNvbnRlbnRUeXBlfHxcIlwiKS5pbmRleE9mKFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCIpJiYoZC5kYXRhPWQuZGF0YS5yZXBsYWNlKGt0LFwiK1wiKSk6KHA9ZC51cmwuc2xpY2UoaS5sZW5ndGgpLGQuZGF0YSYmKGQucHJvY2Vzc0RhdGF8fFwic3RyaW5nXCI9PXR5cGVvZiBkLmRhdGEpJiYoaSs9KGJ0LnRlc3QoaSk/XCImXCI6XCI/XCIpK2QuZGF0YSxkZWxldGUgZC5kYXRhKSwhMT09PWQuY2FjaGUmJihpPWkucmVwbGFjZShOdCxcIiQxXCIpLHA9KGJ0LnRlc3QoaSk/XCImXCI6XCI/XCIpK1wiXz1cIit4dC5ndWlkKysrcCksZC51cmw9aStwKSxkLmlmTW9kaWZpZWQmJihiLmxhc3RNb2RpZmllZFtpXSYmRS5zZXRSZXF1ZXN0SGVhZGVyKFwiSWYtTW9kaWZpZWQtU2luY2VcIixiLmxhc3RNb2RpZmllZFtpXSksYi5ldGFnW2ldJiZFLnNldFJlcXVlc3RIZWFkZXIoXCJJZi1Ob25lLU1hdGNoXCIsYi5ldGFnW2ldKSksKGQuZGF0YSYmZC5oYXNDb250ZW50JiYhMSE9PWQuY29udGVudFR5cGV8fG4uY29udGVudFR5cGUpJiZFLnNldFJlcXVlc3RIZWFkZXIoXCJDb250ZW50LVR5cGVcIixkLmNvbnRlbnRUeXBlKSxFLnNldFJlcXVlc3RIZWFkZXIoXCJBY2NlcHRcIixkLmRhdGFUeXBlc1swXSYmZC5hY2NlcHRzW2QuZGF0YVR5cGVzWzBdXT9kLmFjY2VwdHNbZC5kYXRhVHlwZXNbMF1dKyhcIipcIiE9PWQuZGF0YVR5cGVzWzBdP1wiLCBcIitPdCtcIjsgcT0wLjAxXCI6XCJcIik6ZC5hY2NlcHRzW1wiKlwiXSksZC5oZWFkZXJzKUUuc2V0UmVxdWVzdEhlYWRlcihmLGQuaGVhZGVyc1tmXSk7aWYoZC5iZWZvcmVTZW5kJiYoITE9PT1kLmJlZm9yZVNlbmQuY2FsbChoLEUsZCl8fGwpKXJldHVybiBFLmFib3J0KCk7aWYoQz1cImFib3J0XCIsbS5hZGQoZC5jb21wbGV0ZSksRS5kb25lKGQuc3VjY2VzcyksRS5mYWlsKGQuZXJyb3IpLHI9TXQoSHQsZCxuLEUpKXtpZihFLnJlYWR5U3RhdGU9MSxjJiZnLnRyaWdnZXIoXCJhamF4U2VuZFwiLFtFLGRdKSxsKXJldHVybiBFO2QuYXN5bmMmJmQudGltZW91dD4wJiYocz1lLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtFLmFib3J0KFwidGltZW91dFwiKX0sZC50aW1lb3V0KSk7dHJ5e2w9ITEsci5zZW5kKHcsUyl9Y2F0Y2goZSl7aWYobCl0aHJvdyBlO1MoLTEsZSl9fWVsc2UgUygtMSxcIk5vIFRyYW5zcG9ydFwiKTtmdW5jdGlvbiBTKHQsbixhLHUpe3ZhciBmLHAsdix3LFQsQz1uO2x8fChsPSEwLHMmJmUuY2xlYXJUaW1lb3V0KHMpLHI9dm9pZCAwLG89dXx8XCJcIixFLnJlYWR5U3RhdGU9dD4wPzQ6MCxmPXQ+PTIwMCYmdDwzMDB8fDMwND09PXQsYSYmKHc9ZnVuY3Rpb24oZSx0LG4pe2Zvcih2YXIgcixpLG8sYSxzPWUuY29udGVudHMsdT1lLmRhdGFUeXBlcztcIipcIj09PXVbMF07KXUuc2hpZnQoKSx2b2lkIDA9PT1yJiYocj1lLm1pbWVUeXBlfHx0LmdldFJlc3BvbnNlSGVhZGVyKFwiQ29udGVudC1UeXBlXCIpKTtpZihyKWZvcihpIGluIHMpaWYoc1tpXSYmc1tpXS50ZXN0KHIpKXt1LnVuc2hpZnQoaSk7YnJlYWt9aWYodVswXWluIG4pbz11WzBdO2Vsc2V7Zm9yKGkgaW4gbil7aWYoIXVbMF18fGUuY29udmVydGVyc1tpK1wiIFwiK3VbMF1dKXtvPWk7YnJlYWt9YXx8KGE9aSl9bz1vfHxhfWlmKG8pcmV0dXJuIG8hPT11WzBdJiZ1LnVuc2hpZnQobyksbltvXX0oZCxFLGEpKSwhZiYmYi5pbkFycmF5KFwic2NyaXB0XCIsZC5kYXRhVHlwZXMpPi0xJiZiLmluQXJyYXkoXCJqc29uXCIsZC5kYXRhVHlwZXMpPDAmJihkLmNvbnZlcnRlcnNbXCJ0ZXh0IHNjcmlwdFwiXT1mdW5jdGlvbigpe30pLHc9ZnVuY3Rpb24oZSx0LG4scil7dmFyIGksbyxhLHMsdSxsPXt9LGM9ZS5kYXRhVHlwZXMuc2xpY2UoKTtpZihjWzFdKWZvcihhIGluIGUuY29udmVydGVycylsW2EudG9Mb3dlckNhc2UoKV09ZS5jb252ZXJ0ZXJzW2FdO2ZvcihvPWMuc2hpZnQoKTtvOylpZihlLnJlc3BvbnNlRmllbGRzW29dJiYobltlLnJlc3BvbnNlRmllbGRzW29dXT10KSwhdSYmciYmZS5kYXRhRmlsdGVyJiYodD1lLmRhdGFGaWx0ZXIodCxlLmRhdGFUeXBlKSksdT1vLG89Yy5zaGlmdCgpKWlmKFwiKlwiPT09bylvPXU7ZWxzZSBpZihcIipcIiE9PXUmJnUhPT1vKXtpZighKGE9bFt1K1wiIFwiK29dfHxsW1wiKiBcIitvXSkpZm9yKGkgaW4gbClpZigocz1pLnNwbGl0KFwiIFwiKSlbMV09PT1vJiYoYT1sW3UrXCIgXCIrc1swXV18fGxbXCIqIFwiK3NbMF1dKSl7ITA9PT1hP2E9bFtpXTohMCE9PWxbaV0mJihvPXNbMF0sYy51bnNoaWZ0KHNbMV0pKTticmVha31pZighMCE9PWEpaWYoYSYmZS50aHJvd3MpdD1hKHQpO2Vsc2UgdHJ5e3Q9YSh0KX1jYXRjaChlKXtyZXR1cm57c3RhdGU6XCJwYXJzZXJlcnJvclwiLGVycm9yOmE/ZTpcIk5vIGNvbnZlcnNpb24gZnJvbSBcIit1K1wiIHRvIFwiK299fX1yZXR1cm57c3RhdGU6XCJzdWNjZXNzXCIsZGF0YTp0fX0oZCx3LEUsZiksZj8oZC5pZk1vZGlmaWVkJiYoKFQ9RS5nZXRSZXNwb25zZUhlYWRlcihcIkxhc3QtTW9kaWZpZWRcIikpJiYoYi5sYXN0TW9kaWZpZWRbaV09VCksKFQ9RS5nZXRSZXNwb25zZUhlYWRlcihcImV0YWdcIikpJiYoYi5ldGFnW2ldPVQpKSwyMDQ9PT10fHxcIkhFQURcIj09PWQudHlwZT9DPVwibm9jb250ZW50XCI6MzA0PT09dD9DPVwibm90bW9kaWZpZWRcIjooQz13LnN0YXRlLHA9dy5kYXRhLGY9ISh2PXcuZXJyb3IpKSk6KHY9QywhdCYmQ3x8KEM9XCJlcnJvclwiLHQ8MCYmKHQ9MCkpKSxFLnN0YXR1cz10LEUuc3RhdHVzVGV4dD0obnx8QykrXCJcIixmP3kucmVzb2x2ZVdpdGgoaCxbcCxDLEVdKTp5LnJlamVjdFdpdGgoaCxbRSxDLHZdKSxFLnN0YXR1c0NvZGUoeCkseD12b2lkIDAsYyYmZy50cmlnZ2VyKGY/XCJhamF4U3VjY2Vzc1wiOlwiYWpheEVycm9yXCIsW0UsZCxmP3A6dl0pLG0uZmlyZVdpdGgoaCxbRSxDXSksYyYmKGcudHJpZ2dlcihcImFqYXhDb21wbGV0ZVwiLFtFLGRdKSwtLWIuYWN0aXZlfHxiLmV2ZW50LnRyaWdnZXIoXCJhamF4U3RvcFwiKSkpfXJldHVybiBFfSxnZXRKU09OOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gYi5nZXQoZSx0LG4sXCJqc29uXCIpfSxnZXRTY3JpcHQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gYi5nZXQoZSx2b2lkIDAsdCxcInNjcmlwdFwiKX19KSxiLmVhY2goW1wiZ2V0XCIsXCJwb3N0XCJdLGZ1bmN0aW9uKGUsdCl7Ylt0XT1mdW5jdGlvbihlLG4scixpKXtyZXR1cm4gaChuKSYmKGk9aXx8cixyPW4sbj12b2lkIDApLGIuYWpheChiLmV4dGVuZCh7dXJsOmUsdHlwZTp0LGRhdGFUeXBlOmksZGF0YTpuLHN1Y2Nlc3M6cn0sYi5pc1BsYWluT2JqZWN0KGUpJiZlKSl9fSksYi5hamF4UHJlZmlsdGVyKGZ1bmN0aW9uKGUpe3ZhciB0O2Zvcih0IGluIGUuaGVhZGVycylcImNvbnRlbnQtdHlwZVwiPT09dC50b0xvd2VyQ2FzZSgpJiYoZS5jb250ZW50VHlwZT1lLmhlYWRlcnNbdF18fFwiXCIpfSksYi5fZXZhbFVybD1mdW5jdGlvbihlLHQsbil7cmV0dXJuIGIuYWpheCh7dXJsOmUsdHlwZTpcIkdFVFwiLGRhdGFUeXBlOlwic2NyaXB0XCIsY2FjaGU6ITAsYXN5bmM6ITEsZ2xvYmFsOiExLGNvbnZlcnRlcnM6e1widGV4dCBzY3JpcHRcIjpmdW5jdGlvbigpe319LGRhdGFGaWx0ZXI6ZnVuY3Rpb24oZSl7Yi5nbG9iYWxFdmFsKGUsdCxuKX19KX0sYi5mbi5leHRlbmQoe3dyYXBBbGw6ZnVuY3Rpb24oZSl7dmFyIHQ7cmV0dXJuIHRoaXNbMF0mJihoKGUpJiYoZT1lLmNhbGwodGhpc1swXSkpLHQ9YihlLHRoaXNbMF0ub3duZXJEb2N1bWVudCkuZXEoMCkuY2xvbmUoITApLHRoaXNbMF0ucGFyZW50Tm9kZSYmdC5pbnNlcnRCZWZvcmUodGhpc1swXSksdC5tYXAoZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcztlLmZpcnN0RWxlbWVudENoaWxkOyllPWUuZmlyc3RFbGVtZW50Q2hpbGQ7cmV0dXJuIGV9KS5hcHBlbmQodGhpcykpLHRoaXN9LHdyYXBJbm5lcjpmdW5jdGlvbihlKXtyZXR1cm4gaChlKT90aGlzLmVhY2goZnVuY3Rpb24odCl7Yih0aGlzKS53cmFwSW5uZXIoZS5jYWxsKHRoaXMsdCkpfSk6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9Yih0aGlzKSxuPXQuY29udGVudHMoKTtuLmxlbmd0aD9uLndyYXBBbGwoZSk6dC5hcHBlbmQoZSl9KX0sd3JhcDpmdW5jdGlvbihlKXt2YXIgdD1oKGUpO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24obil7Yih0aGlzKS53cmFwQWxsKHQ/ZS5jYWxsKHRoaXMsbik6ZSl9KX0sdW53cmFwOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnBhcmVudChlKS5ub3QoXCJib2R5XCIpLmVhY2goZnVuY3Rpb24oKXtiKHRoaXMpLnJlcGxhY2VXaXRoKHRoaXMuY2hpbGROb2Rlcyl9KSx0aGlzfX0pLGIuZXhwci5wc2V1ZG9zLmhpZGRlbj1mdW5jdGlvbihlKXtyZXR1cm4hYi5leHByLnBzZXVkb3MudmlzaWJsZShlKX0sYi5leHByLnBzZXVkb3MudmlzaWJsZT1mdW5jdGlvbihlKXtyZXR1cm4hIShlLm9mZnNldFdpZHRofHxlLm9mZnNldEhlaWdodHx8ZS5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCl9LGIuYWpheFNldHRpbmdzLnhocj1mdW5jdGlvbigpe3RyeXtyZXR1cm4gbmV3IGUuWE1MSHR0cFJlcXVlc3R9Y2F0Y2goZSl7fX07dmFyIFd0PXswOjIwMCwxMjIzOjIwNH0sRnQ9Yi5hamF4U2V0dGluZ3MueGhyKCk7ZC5jb3JzPSEhRnQmJlwid2l0aENyZWRlbnRpYWxzXCJpbiBGdCxkLmFqYXg9RnQ9ISFGdCxiLmFqYXhUcmFuc3BvcnQoZnVuY3Rpb24odCl7dmFyIG4scjtpZihkLmNvcnN8fEZ0JiYhdC5jcm9zc0RvbWFpbilyZXR1cm57c2VuZDpmdW5jdGlvbihpLG8pe3ZhciBhLHM9dC54aHIoKTtpZihzLm9wZW4odC50eXBlLHQudXJsLHQuYXN5bmMsdC51c2VybmFtZSx0LnBhc3N3b3JkKSx0LnhockZpZWxkcylmb3IoYSBpbiB0LnhockZpZWxkcylzW2FdPXQueGhyRmllbGRzW2FdO2ZvcihhIGluIHQubWltZVR5cGUmJnMub3ZlcnJpZGVNaW1lVHlwZSYmcy5vdmVycmlkZU1pbWVUeXBlKHQubWltZVR5cGUpLHQuY3Jvc3NEb21haW58fGlbXCJYLVJlcXVlc3RlZC1XaXRoXCJdfHwoaVtcIlgtUmVxdWVzdGVkLVdpdGhcIl09XCJYTUxIdHRwUmVxdWVzdFwiKSxpKXMuc2V0UmVxdWVzdEhlYWRlcihhLGlbYV0pO249ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKCl7biYmKG49cj1zLm9ubG9hZD1zLm9uZXJyb3I9cy5vbmFib3J0PXMub250aW1lb3V0PXMub25yZWFkeXN0YXRlY2hhbmdlPW51bGwsXCJhYm9ydFwiPT09ZT9zLmFib3J0KCk6XCJlcnJvclwiPT09ZT9cIm51bWJlclwiIT10eXBlb2Ygcy5zdGF0dXM/bygwLFwiZXJyb3JcIik6byhzLnN0YXR1cyxzLnN0YXR1c1RleHQpOm8oV3Rbcy5zdGF0dXNdfHxzLnN0YXR1cyxzLnN0YXR1c1RleHQsXCJ0ZXh0XCIhPT0ocy5yZXNwb25zZVR5cGV8fFwidGV4dFwiKXx8XCJzdHJpbmdcIiE9dHlwZW9mIHMucmVzcG9uc2VUZXh0P3tiaW5hcnk6cy5yZXNwb25zZX06e3RleHQ6cy5yZXNwb25zZVRleHR9LHMuZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCkpKX19LHMub25sb2FkPW4oKSxyPXMub25lcnJvcj1zLm9udGltZW91dD1uKFwiZXJyb3JcIiksdm9pZCAwIT09cy5vbmFib3J0P3Mub25hYm9ydD1yOnMub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7ND09PXMucmVhZHlTdGF0ZSYmZS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7biYmcigpfSl9LG49bihcImFib3J0XCIpO3RyeXtzLnNlbmQodC5oYXNDb250ZW50JiZ0LmRhdGF8fG51bGwpfWNhdGNoKGUpe2lmKG4pdGhyb3cgZX19LGFib3J0OmZ1bmN0aW9uKCl7biYmbigpfX19KSxiLmFqYXhQcmVmaWx0ZXIoZnVuY3Rpb24oZSl7ZS5jcm9zc0RvbWFpbiYmKGUuY29udGVudHMuc2NyaXB0PSExKX0pLGIuYWpheFNldHVwKHthY2NlcHRzOntzY3JpcHQ6XCJ0ZXh0L2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2VjbWFzY3JpcHQsIGFwcGxpY2F0aW9uL3gtZWNtYXNjcmlwdFwifSxjb250ZW50czp7c2NyaXB0Oi9cXGIoPzpqYXZhfGVjbWEpc2NyaXB0XFxiL30sY29udmVydGVyczp7XCJ0ZXh0IHNjcmlwdFwiOmZ1bmN0aW9uKGUpe3JldHVybiBiLmdsb2JhbEV2YWwoZSksZX19fSksYi5hamF4UHJlZmlsdGVyKFwic2NyaXB0XCIsZnVuY3Rpb24oZSl7dm9pZCAwPT09ZS5jYWNoZSYmKGUuY2FjaGU9ITEpLGUuY3Jvc3NEb21haW4mJihlLnR5cGU9XCJHRVRcIil9KSxiLmFqYXhUcmFuc3BvcnQoXCJzY3JpcHRcIixmdW5jdGlvbihlKXt2YXIgdCxuO2lmKGUuY3Jvc3NEb21haW58fGUuc2NyaXB0QXR0cnMpcmV0dXJue3NlbmQ6ZnVuY3Rpb24ocixpKXt0PWIoXCI8c2NyaXB0PlwiKS5hdHRyKGUuc2NyaXB0QXR0cnN8fHt9KS5wcm9wKHtjaGFyc2V0OmUuc2NyaXB0Q2hhcnNldCxzcmM6ZS51cmx9KS5vbihcImxvYWQgZXJyb3JcIixuPWZ1bmN0aW9uKGUpe3QucmVtb3ZlKCksbj1udWxsLGUmJmkoXCJlcnJvclwiPT09ZS50eXBlPzQwNDoyMDAsZS50eXBlKX0pLHYuaGVhZC5hcHBlbmRDaGlsZCh0WzBdKX0sYWJvcnQ6ZnVuY3Rpb24oKXtuJiZuKCl9fX0pO3ZhciBCdCwkdD1bXSxfdD0vKD0pXFw/KD89JnwkKXxcXD9cXD8vO2IuYWpheFNldHVwKHtqc29ucDpcImNhbGxiYWNrXCIsanNvbnBDYWxsYmFjazpmdW5jdGlvbigpe3ZhciBlPSR0LnBvcCgpfHxiLmV4cGFuZG8rXCJfXCIreHQuZ3VpZCsrO3JldHVybiB0aGlzW2VdPSEwLGV9fSksYi5hamF4UHJlZmlsdGVyKFwianNvbiBqc29ucFwiLGZ1bmN0aW9uKHQsbixyKXt2YXIgaSxvLGEscz0hMSE9PXQuanNvbnAmJihfdC50ZXN0KHQudXJsKT9cInVybFwiOlwic3RyaW5nXCI9PXR5cGVvZiB0LmRhdGEmJjA9PT0odC5jb250ZW50VHlwZXx8XCJcIikuaW5kZXhPZihcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZFwiKSYmX3QudGVzdCh0LmRhdGEpJiZcImRhdGFcIik7aWYoc3x8XCJqc29ucFwiPT09dC5kYXRhVHlwZXNbMF0pcmV0dXJuIGk9dC5qc29ucENhbGxiYWNrPWgodC5qc29ucENhbGxiYWNrKT90Lmpzb25wQ2FsbGJhY2soKTp0Lmpzb25wQ2FsbGJhY2sscz90W3NdPXRbc10ucmVwbGFjZShfdCxcIiQxXCIraSk6ITEhPT10Lmpzb25wJiYodC51cmwrPShidC50ZXN0KHQudXJsKT9cIiZcIjpcIj9cIikrdC5qc29ucCtcIj1cIitpKSx0LmNvbnZlcnRlcnNbXCJzY3JpcHQganNvblwiXT1mdW5jdGlvbigpe3JldHVybiBhfHxiLmVycm9yKGkrXCIgd2FzIG5vdCBjYWxsZWRcIiksYVswXX0sdC5kYXRhVHlwZXNbMF09XCJqc29uXCIsbz1lW2ldLGVbaV09ZnVuY3Rpb24oKXthPWFyZ3VtZW50c30sci5hbHdheXMoZnVuY3Rpb24oKXt2b2lkIDA9PT1vP2IoZSkucmVtb3ZlUHJvcChpKTplW2ldPW8sdFtpXSYmKHQuanNvbnBDYWxsYmFjaz1uLmpzb25wQ2FsbGJhY2ssJHQucHVzaChpKSksYSYmaChvKSYmbyhhWzBdKSxhPW89dm9pZCAwfSksXCJzY3JpcHRcIn0pLGQuY3JlYXRlSFRNTERvY3VtZW50PSgoQnQ9di5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoXCJcIikuYm9keSkuaW5uZXJIVE1MPVwiPGZvcm0+PC9mb3JtPjxmb3JtPjwvZm9ybT5cIiwyPT09QnQuY2hpbGROb2Rlcy5sZW5ndGgpLGIucGFyc2VIVE1MPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm5cInN0cmluZ1wiIT10eXBlb2YgZT9bXTooXCJib29sZWFuXCI9PXR5cGVvZiB0JiYobj10LHQ9ITEpLHR8fChkLmNyZWF0ZUhUTUxEb2N1bWVudD8oKHI9KHQ9di5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoXCJcIikpLmNyZWF0ZUVsZW1lbnQoXCJiYXNlXCIpKS5ocmVmPXYubG9jYXRpb24uaHJlZix0LmhlYWQuYXBwZW5kQ2hpbGQocikpOnQ9diksbz0hbiYmW10sKGk9QS5leGVjKGUpKT9bdC5jcmVhdGVFbGVtZW50KGlbMV0pXTooaT14ZShbZV0sdCxvKSxvJiZvLmxlbmd0aCYmYihvKS5yZW1vdmUoKSxiLm1lcmdlKFtdLGkuY2hpbGROb2RlcykpKTt2YXIgcixpLG99LGIuZm4ubG9hZD1mdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvLGE9dGhpcyxzPWUuaW5kZXhPZihcIiBcIik7cmV0dXJuIHM+LTEmJihyPXB0KGUuc2xpY2UocykpLGU9ZS5zbGljZSgwLHMpKSxoKHQpPyhuPXQsdD12b2lkIDApOnQmJlwib2JqZWN0XCI9PXR5cGVvZiB0JiYoaT1cIlBPU1RcIiksYS5sZW5ndGg+MCYmYi5hamF4KHt1cmw6ZSx0eXBlOml8fFwiR0VUXCIsZGF0YVR5cGU6XCJodG1sXCIsZGF0YTp0fSkuZG9uZShmdW5jdGlvbihlKXtvPWFyZ3VtZW50cyxhLmh0bWwocj9iKFwiPGRpdj5cIikuYXBwZW5kKGIucGFyc2VIVE1MKGUpKS5maW5kKHIpOmUpfSkuYWx3YXlzKG4mJmZ1bmN0aW9uKGUsdCl7YS5lYWNoKGZ1bmN0aW9uKCl7bi5hcHBseSh0aGlzLG98fFtlLnJlc3BvbnNlVGV4dCx0LGVdKX0pfSksdGhpc30sYi5leHByLnBzZXVkb3MuYW5pbWF0ZWQ9ZnVuY3Rpb24oZSl7cmV0dXJuIGIuZ3JlcChiLnRpbWVycyxmdW5jdGlvbih0KXtyZXR1cm4gZT09PXQuZWxlbX0pLmxlbmd0aH0sYi5vZmZzZXQ9e3NldE9mZnNldDpmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvLGEscyx1LGw9Yi5jc3MoZSxcInBvc2l0aW9uXCIpLGM9YihlKSxmPXt9O1wic3RhdGljXCI9PT1sJiYoZS5zdHlsZS5wb3NpdGlvbj1cInJlbGF0aXZlXCIpLHM9Yy5vZmZzZXQoKSxvPWIuY3NzKGUsXCJ0b3BcIiksdT1iLmNzcyhlLFwibGVmdFwiKSwoXCJhYnNvbHV0ZVwiPT09bHx8XCJmaXhlZFwiPT09bCkmJihvK3UpLmluZGV4T2YoXCJhdXRvXCIpPi0xPyhhPShyPWMucG9zaXRpb24oKSkudG9wLGk9ci5sZWZ0KTooYT1wYXJzZUZsb2F0KG8pfHwwLGk9cGFyc2VGbG9hdCh1KXx8MCksaCh0KSYmKHQ9dC5jYWxsKGUsbixiLmV4dGVuZCh7fSxzKSkpLG51bGwhPXQudG9wJiYoZi50b3A9dC50b3Atcy50b3ArYSksbnVsbCE9dC5sZWZ0JiYoZi5sZWZ0PXQubGVmdC1zLmxlZnQraSksXCJ1c2luZ1wiaW4gdD90LnVzaW5nLmNhbGwoZSxmKTpjLmNzcyhmKX19LGIuZm4uZXh0ZW5kKHtvZmZzZXQ6ZnVuY3Rpb24oZSl7aWYoYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gdm9pZCAwPT09ZT90aGlzOnRoaXMuZWFjaChmdW5jdGlvbih0KXtiLm9mZnNldC5zZXRPZmZzZXQodGhpcyxlLHQpfSk7dmFyIHQsbixyPXRoaXNbMF07cmV0dXJuIHI/ci5nZXRDbGllbnRSZWN0cygpLmxlbmd0aD8odD1yLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG49ci5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3LHt0b3A6dC50b3Arbi5wYWdlWU9mZnNldCxsZWZ0OnQubGVmdCtuLnBhZ2VYT2Zmc2V0fSk6e3RvcDowLGxlZnQ6MH06dm9pZCAwfSxwb3NpdGlvbjpmdW5jdGlvbigpe2lmKHRoaXNbMF0pe3ZhciBlLHQsbixyPXRoaXNbMF0saT17dG9wOjAsbGVmdDowfTtpZihcImZpeGVkXCI9PT1iLmNzcyhyLFwicG9zaXRpb25cIikpdD1yLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2Vsc2V7Zm9yKHQ9dGhpcy5vZmZzZXQoKSxuPXIub3duZXJEb2N1bWVudCxlPXIub2Zmc2V0UGFyZW50fHxuLmRvY3VtZW50RWxlbWVudDtlJiYoZT09PW4uYm9keXx8ZT09PW4uZG9jdW1lbnRFbGVtZW50KSYmXCJzdGF0aWNcIj09PWIuY3NzKGUsXCJwb3NpdGlvblwiKTspZT1lLnBhcmVudE5vZGU7ZSYmZSE9PXImJjE9PT1lLm5vZGVUeXBlJiYoKGk9YihlKS5vZmZzZXQoKSkudG9wKz1iLmNzcyhlLFwiYm9yZGVyVG9wV2lkdGhcIiwhMCksaS5sZWZ0Kz1iLmNzcyhlLFwiYm9yZGVyTGVmdFdpZHRoXCIsITApKX1yZXR1cm57dG9wOnQudG9wLWkudG9wLWIuY3NzKHIsXCJtYXJnaW5Ub3BcIiwhMCksbGVmdDp0LmxlZnQtaS5sZWZ0LWIuY3NzKHIsXCJtYXJnaW5MZWZ0XCIsITApfX19LG9mZnNldFBhcmVudDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbigpe2Zvcih2YXIgZT10aGlzLm9mZnNldFBhcmVudDtlJiZcInN0YXRpY1wiPT09Yi5jc3MoZSxcInBvc2l0aW9uXCIpOyllPWUub2Zmc2V0UGFyZW50O3JldHVybiBlfHxuZX0pfX0pLGIuZWFjaCh7c2Nyb2xsTGVmdDpcInBhZ2VYT2Zmc2V0XCIsc2Nyb2xsVG9wOlwicGFnZVlPZmZzZXRcIn0sZnVuY3Rpb24oZSx0KXt2YXIgbj1cInBhZ2VZT2Zmc2V0XCI9PT10O2IuZm5bZV09ZnVuY3Rpb24ocil7cmV0dXJuIEIodGhpcyxmdW5jdGlvbihlLHIsaSl7dmFyIG87aWYoZyhlKT9vPWU6OT09PWUubm9kZVR5cGUmJihvPWUuZGVmYXVsdFZpZXcpLHZvaWQgMD09PWkpcmV0dXJuIG8/b1t0XTplW3JdO28/by5zY3JvbGxUbyhuP28ucGFnZVhPZmZzZXQ6aSxuP2k6by5wYWdlWU9mZnNldCk6ZVtyXT1pfSxlLHIsYXJndW1lbnRzLmxlbmd0aCl9fSksYi5lYWNoKFtcInRvcFwiLFwibGVmdFwiXSxmdW5jdGlvbihlLHQpe2IuY3NzSG9va3NbdF09RmUoZC5waXhlbFBvc2l0aW9uLGZ1bmN0aW9uKGUsbil7aWYobilyZXR1cm4gbj1XZShlLHQpLFBlLnRlc3Qobik/YihlKS5wb3NpdGlvbigpW3RdK1wicHhcIjpufSl9KSxiLmVhY2goe0hlaWdodDpcImhlaWdodFwiLFdpZHRoOlwid2lkdGhcIn0sZnVuY3Rpb24oZSx0KXtiLmVhY2goe3BhZGRpbmc6XCJpbm5lclwiK2UsY29udGVudDp0LFwiXCI6XCJvdXRlclwiK2V9LGZ1bmN0aW9uKG4scil7Yi5mbltyXT1mdW5jdGlvbihpLG8pe3ZhciBhPWFyZ3VtZW50cy5sZW5ndGgmJihufHxcImJvb2xlYW5cIiE9dHlwZW9mIGkpLHM9bnx8KCEwPT09aXx8ITA9PT1vP1wibWFyZ2luXCI6XCJib3JkZXJcIik7cmV0dXJuIEIodGhpcyxmdW5jdGlvbih0LG4saSl7dmFyIG87cmV0dXJuIGcodCk/MD09PXIuaW5kZXhPZihcIm91dGVyXCIpP3RbXCJpbm5lclwiK2VdOnQuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50W1wiY2xpZW50XCIrZV06OT09PXQubm9kZVR5cGU/KG89dC5kb2N1bWVudEVsZW1lbnQsTWF0aC5tYXgodC5ib2R5W1wic2Nyb2xsXCIrZV0sb1tcInNjcm9sbFwiK2VdLHQuYm9keVtcIm9mZnNldFwiK2VdLG9bXCJvZmZzZXRcIitlXSxvW1wiY2xpZW50XCIrZV0pKTp2b2lkIDA9PT1pP2IuY3NzKHQsbixzKTpiLnN0eWxlKHQsbixpLHMpfSx0LGE/aTp2b2lkIDAsYSl9fSl9KSxiLmVhY2goW1wiYWpheFN0YXJ0XCIsXCJhamF4U3RvcFwiLFwiYWpheENvbXBsZXRlXCIsXCJhamF4RXJyb3JcIixcImFqYXhTdWNjZXNzXCIsXCJhamF4U2VuZFwiXSxmdW5jdGlvbihlLHQpe2IuZm5bdF09ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMub24odCxlKX19KSxiLmZuLmV4dGVuZCh7YmluZDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIHRoaXMub24oZSxudWxsLHQsbil9LHVuYmluZDpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLm9mZihlLG51bGwsdCl9LGRlbGVnYXRlOmZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiB0aGlzLm9uKHQsZSxuLHIpfSx1bmRlbGVnYXRlOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/dGhpcy5vZmYoZSxcIioqXCIpOnRoaXMub2ZmKHQsZXx8XCIqKlwiLG4pfSxob3ZlcjpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLm1vdXNlZW50ZXIoZSkubW91c2VsZWF2ZSh0fHxlKX19KSxiLmVhY2goXCJibHVyIGZvY3VzIGZvY3VzaW4gZm9jdXNvdXQgcmVzaXplIHNjcm9sbCBjbGljayBkYmxjbGljayBtb3VzZWRvd24gbW91c2V1cCBtb3VzZW1vdmUgbW91c2VvdmVyIG1vdXNlb3V0IG1vdXNlZW50ZXIgbW91c2VsZWF2ZSBjaGFuZ2Ugc2VsZWN0IHN1Ym1pdCBrZXlkb3duIGtleXByZXNzIGtleXVwIGNvbnRleHRtZW51XCIuc3BsaXQoXCIgXCIpLGZ1bmN0aW9uKGUsdCl7Yi5mblt0XT1mdW5jdGlvbihlLG4pe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPjA/dGhpcy5vbih0LG51bGwsZSxuKTp0aGlzLnRyaWdnZXIodCl9fSk7dmFyIHp0PS9eW1xcc1xcdUZFRkZcXHhBMF0rfFtcXHNcXHVGRUZGXFx4QTBdKyQvZztiLnByb3h5PWZ1bmN0aW9uKGUsdCl7dmFyIG4scixvO2lmKFwic3RyaW5nXCI9PXR5cGVvZiB0JiYobj1lW3RdLHQ9ZSxlPW4pLGgoZSkpcmV0dXJuIHI9aS5jYWxsKGFyZ3VtZW50cywyKSwobz1mdW5jdGlvbigpe3JldHVybiBlLmFwcGx5KHR8fHRoaXMsci5jb25jYXQoaS5jYWxsKGFyZ3VtZW50cykpKX0pLmd1aWQ9ZS5ndWlkPWUuZ3VpZHx8Yi5ndWlkKyssb30sYi5ob2xkUmVhZHk9ZnVuY3Rpb24oZSl7ZT9iLnJlYWR5V2FpdCsrOmIucmVhZHkoITApfSxiLmlzQXJyYXk9QXJyYXkuaXNBcnJheSxiLnBhcnNlSlNPTj1KU09OLnBhcnNlLGIubm9kZU5hbWU9ayxiLmlzRnVuY3Rpb249aCxiLmlzV2luZG93PWcsYi5jYW1lbENhc2U9VSxiLnR5cGU9eCxiLm5vdz1EYXRlLm5vdyxiLmlzTnVtZXJpYz1mdW5jdGlvbihlKXt2YXIgdD1iLnR5cGUoZSk7cmV0dXJuKFwibnVtYmVyXCI9PT10fHxcInN0cmluZ1wiPT09dCkmJiFpc05hTihlLXBhcnNlRmxvYXQoZSkpfSxiLnRyaW09ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PWU/XCJcIjooZStcIlwiKS5yZXBsYWNlKHp0LFwiXCIpfSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQmJmRlZmluZShcImpxdWVyeVwiLFtdLGZ1bmN0aW9uKCl7cmV0dXJuIGJ9KTt2YXIgVXQ9ZS5qUXVlcnksWHQ9ZS4kO3JldHVybiBiLm5vQ29uZmxpY3Q9ZnVuY3Rpb24odCl7cmV0dXJuIGUuJD09PWImJihlLiQ9WHQpLHQmJmUualF1ZXJ5PT09YiYmKGUualF1ZXJ5PVV0KSxifSx2b2lkIDA9PT10JiYoZS5qUXVlcnk9ZS4kPWIpLGJ9KTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltcHhkV1Z5ZVM1cWN5SmRMQ0p1WVcxbGN5STZXeUpuYkc5aVlXd2lMQ0ptWVdOMGIzSjVJaXdpYlc5a2RXeGxJaXdpWlhod2IzSjBjeUlzSW1SdlkzVnRaVzUwSWl3aWR5SXNJa1Z5Y205eUlpd2lkMmx1Wkc5M0lpd2lkR2hwY3lJc0ltNXZSMnh2WW1Gc0lpd2lZWEp5SWl3aVoyVjBVSEp2ZEc4aUxDSlBZbXBsWTNRaUxDSm5aWFJRY205MGIzUjVjR1ZQWmlJc0luTnNhV05sSWl3aVpteGhkQ0lzSW1GeWNtRjVJaXdpWTJGc2JDSXNJbU52Ym1OaGRDSXNJbUZ3Y0d4NUlpd2ljSFZ6YUNJc0ltbHVaR1Y0VDJZaUxDSmpiR0Z6Y3pKMGVYQmxJaXdpZEc5VGRISnBibWNpTENKb1lYTlBkMjRpTENKb1lYTlBkMjVRY205d1pYSjBlU0lzSW1adVZHOVRkSEpwYm1jaUxDSlBZbXBsWTNSR2RXNWpkR2x2YmxOMGNtbHVaeUlzSW5OMWNIQnZjblFpTENKcGMwWjFibU4wYVc5dUlpd2liMkpxSWl3aWJtOWtaVlI1Y0dVaUxDSnBkR1Z0SWl3aWFYTlhhVzVrYjNjaUxDSndjbVZ6WlhKMlpXUlRZM0pwY0hSQmRIUnlhV0oxZEdWeklpd2lkSGx3WlNJc0luTnlZeUlzSW01dmJtTmxJaXdpYm05TmIyUjFiR1VpTENKRVQwMUZkbUZzSWl3aVkyOWtaU0lzSW01dlpHVWlMQ0prYjJNaUxDSnBJaXdpZG1Gc0lpd2ljMk55YVhCMElpd2lZM0psWVhSbFJXeGxiV1Z1ZENJc0luUmxlSFFpTENKblpYUkJkSFJ5YVdKMWRHVWlMQ0p6WlhSQmRIUnlhV0oxZEdVaUxDSm9aV0ZrSWl3aVlYQndaVzVrUTJocGJHUWlMQ0p3WVhKbGJuUk9iMlJsSWl3aWNtVnRiM1psUTJocGJHUWlMQ0owYjFSNWNHVWlMQ0pxVVhWbGNua2lMQ0p6Wld4bFkzUnZjaUlzSW1OdmJuUmxlSFFpTENKbWJpSXNJbWx1YVhRaUxDSnBjMEZ5Y21GNVRHbHJaU0lzSW14bGJtZDBhQ0lzSW5CeWIzUnZkSGx3WlNJc0ltcHhkV1Z5ZVNJc0ltTnZibk4wY25WamRHOXlJaXdpZEc5QmNuSmhlU0lzSW1kbGRDSXNJbTUxYlNJc0luQjFjMmhUZEdGamF5SXNJbVZzWlcxeklpd2ljbVYwSWl3aWJXVnlaMlVpTENKd2NtVjJUMkpxWldOMElpd2laV0ZqYUNJc0ltTmhiR3hpWVdOcklpd2liV0Z3SWl3aVpXeGxiU0lzSW1GeVozVnRaVzUwY3lJc0ltWnBjbk4wSWl3aVpYRWlMQ0pzWVhOMElpd2laWFpsYmlJc0ltZHlaWEFpTENKZlpXeGxiU0lzSW05a1pDSXNJbXhsYmlJc0ltb2lMQ0psYm1RaUxDSnpiM0owSWl3aWMzQnNhV05sSWl3aVpYaDBaVzVrSWl3aWIzQjBhVzl1Y3lJc0ltNWhiV1VpTENKamIzQjVJaXdpWTI5d2VVbHpRWEp5WVhraUxDSmpiRzl1WlNJc0luUmhjbWRsZENJc0ltUmxaWEFpTENKcGMxQnNZV2x1VDJKcVpXTjBJaXdpUVhKeVlYa2lMQ0pwYzBGeWNtRjVJaXdpZFc1a1pXWnBibVZrSWl3aVpYaHdZVzVrYnlJc0lrMWhkR2dpTENKeVlXNWtiMjBpTENKeVpYQnNZV05sSWl3aWFYTlNaV0ZrZVNJc0ltVnljbTl5SWl3aWJYTm5JaXdpYm05dmNDSXNJbkJ5YjNSdklpd2lRM1J2Y2lJc0ltbHpSVzF3ZEhsUFltcGxZM1FpTENKbmJHOWlZV3hGZG1Gc0lpd2liV0ZyWlVGeWNtRjVJaXdpY21WemRXeDBjeUlzSW1sdVFYSnlZWGtpTENKelpXTnZibVFpTENKcGJuWmxjblFpTENKdFlYUmphR1Z6SWl3aVkyRnNiR0poWTJ0RmVIQmxZM1FpTENKaGNtY2lMQ0oyWVd4MVpTSXNJbWQxYVdRaUxDSlRlVzFpYjJ3aUxDSnBkR1Z5WVhSdmNpSXNJbk53YkdsMElpd2lYMmtpTENKMGIweHZkMlZ5UTJGelpTSXNJbE5wZW5wc1pTSXNJa1Y0Y0hJaUxDSm5aWFJVWlhoMElpd2lhWE5ZVFV3aUxDSjBiMnRsYm1sNlpTSXNJbU52YlhCcGJHVWlMQ0p6Wld4bFkzUWlMQ0p2ZFhSbGNtMXZjM1JEYjI1MFpYaDBJaXdpYzI5eWRFbHVjSFYwSWl3aWFHRnpSSFZ3YkdsallYUmxJaXdpYzJWMFJHOWpkVzFsYm5RaUxDSmtiMk5GYkdWdElpd2laRzlqZFcxbGJuUkpjMGhVVFV3aUxDSnlZblZuWjNsUlUwRWlMQ0p5WW5WblozbE5ZWFJqYUdWeklpd2lZMjl1ZEdGcGJuTWlMQ0pFWVhSbElpd2ljSEpsWm1WeWNtVmtSRzlqSWl3aVpHbHljblZ1Y3lJc0ltUnZibVVpTENKamJHRnpjME5oWTJobElpd2lZM0psWVhSbFEyRmphR1VpTENKMGIydGxia05oWTJobElpd2lZMjl0Y0dsc1pYSkRZV05vWlNJc0ltNXZibTVoZEdsMlpWTmxiR1ZqZEc5eVEyRmphR1VpTENKemIzSjBUM0prWlhJaUxDSmhJaXdpWWlJc0luQnZjQ0lzSW5CMWMyaE9ZWFJwZG1VaUxDSnNhWE4wSWl3aVltOXZiR1ZoYm5NaUxDSjNhR2wwWlhOd1lXTmxJaXdpYVdSbGJuUnBabWxsY2lJc0ltRjBkSEpwWW5WMFpYTWlMQ0p3YzJWMVpHOXpJaXdpY25kb2FYUmxjM0JoWTJVaUxDSlNaV2RGZUhBaUxDSnlkSEpwYlNJc0luSmpiMjF0WVNJc0luSmpiMjFpYVc1aGRHOXljeUlzSW5Ka1pYTmpaVzVrSWl3aWNuQnpaWFZrYnlJc0luSnBaR1Z1ZEdsbWFXVnlJaXdpYldGMFkyaEZlSEJ5SWl3aVNVUWlMQ0pEVEVGVFV5SXNJbFJCUnlJc0lrRlVWRklpTENKUVUwVlZSRThpTENKRFNFbE1SQ0lzSW1KdmIyd2lMQ0p1WldWa2MwTnZiblJsZUhRaUxDSnlhSFJ0YkNJc0luSnBibkIxZEhNaUxDSnlhR1ZoWkdWeUlpd2ljbTVoZEdsMlpTSXNJbkp4ZFdsamEwVjRjSElpTENKeWMybGliR2x1WnlJc0luSjFibVZ6WTJGd1pTSXNJbVoxYm1WelkyRndaU0lzSW1WelkyRndaU0lzSW01dmJraGxlQ0lzSW1ocFoyZ2lMQ0pUZEhKcGJtY2lMQ0ptY205dFEyaGhja052WkdVaUxDSnlZM056WlhOallYQmxJaXdpWm1OemMyVnpZMkZ3WlNJc0ltTm9JaXdpWVhORGIyUmxVRzlwYm5RaUxDSmphR0Z5UTI5a1pVRjBJaXdpZFc1c2IyRmtTR0Z1Wkd4bGNpSXNJbWx1UkdsellXSnNaV1JHYVdWc1pITmxkQ0lzSW1Ga1pFTnZiV0pwYm1GMGIzSWlMQ0prYVhOaFlteGxaQ0lzSW01dlpHVk9ZVzFsSWl3aVpHbHlJaXdpYm1WNGRDSXNJbU5vYVd4a1RtOWtaWE1pTENKbElpd2laV3h6SWl3aWMyVmxaQ0lzSW0waUxDSnVhV1FpTENKdFlYUmphQ0lzSW1keWIzVndjeUlzSW01bGQxTmxiR1ZqZEc5eUlpd2libVYzUTI5dWRHVjRkQ0lzSW05M2JtVnlSRzlqZFcxbGJuUWlMQ0psZUdWaklpd2laMlYwUld4bGJXVnVkRUo1U1dRaUxDSnBaQ0lzSW1kbGRFVnNaVzFsYm5SelFubFVZV2RPWVcxbElpd2laMlYwUld4bGJXVnVkSE5DZVVOc1lYTnpUbUZ0WlNJc0luRnpZU0lzSW5SbGMzUWlMQ0owWlhOMFEyOXVkR1Y0ZENJc0luTmpiM0JsSWl3aWRHOVRaV3hsWTNSdmNpSXNJbXB2YVc0aUxDSnhkV1Z5ZVZObGJHVmpkRzl5UVd4c0lpd2ljWE5oUlhKeWIzSWlMQ0p5WlcxdmRtVkJkSFJ5YVdKMWRHVWlMQ0pyWlhseklpd2lZMkZqYUdVaUxDSnJaWGtpTENKallXTm9aVXhsYm1kMGFDSXNJbk5vYVdaMElpd2liV0Z5YTBaMWJtTjBhVzl1SWl3aVlYTnpaWEowSWl3aVpXd2lMQ0poWkdSSVlXNWtiR1VpTENKaGRIUnljeUlzSW1oaGJtUnNaWElpTENKaGRIUnlTR0Z1Wkd4bElpd2ljMmxpYkdsdVowTm9aV05ySWl3aVkzVnlJaXdpWkdsbVppSXNJbk52ZFhKalpVbHVaR1Y0SWl3aWJtVjRkRk5wWW14cGJtY2lMQ0pqY21WaGRHVkpibkIxZEZCelpYVmtieUlzSW1OeVpXRjBaVUoxZEhSdmJsQnpaWFZrYnlJc0ltTnlaV0YwWlVScGMyRmliR1ZrVUhObGRXUnZJaXdpYVhORWFYTmhZbXhsWkNJc0ltTnlaV0YwWlZCdmMybDBhVzl1WVd4UWMyVjFaRzhpTENKaGNtZDFiV1Z1ZENJc0ltMWhkR05vU1c1a1pYaGxjeUlzSW01aGJXVnpjR0ZqWlNJc0ltNWhiV1Z6Y0dGalpWVlNTU0lzSW1SdlkzVnRaVzUwUld4bGJXVnVkQ0lzSW1oaGMwTnZiWEJoY21VaUxDSnpkV0pYYVc1a2IzY2lMQ0prWldaaGRXeDBWbWxsZHlJc0luUnZjQ0lzSW1Ga1pFVjJaVzUwVEdsemRHVnVaWElpTENKaGRIUmhZMmhGZG1WdWRDSXNJbU5zWVhOelRtRnRaU0lzSW1OeVpXRjBaVU52YlcxbGJuUWlMQ0puWlhSQ2VVbGtJaXdpWjJWMFJXeGxiV1Z1ZEhOQ2VVNWhiV1VpTENKbWFXeDBaWElpTENKaGRIUnlTV1FpTENKbWFXNWtJaXdpWjJWMFFYUjBjbWxpZFhSbFRtOWtaU0lzSW5SaFp5SXNJblJ0Y0NJc0ltbHVjSFYwSWl3aWFXNXVaWEpJVkUxTUlpd2liV0YwWTJobGMxTmxiR1ZqZEc5eUlpd2lkMlZpYTJsMFRXRjBZMmhsYzFObGJHVmpkRzl5SWl3aWJXOTZUV0YwWTJobGMxTmxiR1ZqZEc5eUlpd2liMDFoZEdOb1pYTlRaV3hsWTNSdmNpSXNJbTF6VFdGMFkyaGxjMU5sYkdWamRHOXlJaXdpWkdselkyOXVibVZqZEdWa1RXRjBZMmdpTENKamIyMXdZWEpsUkc5amRXMWxiblJRYjNOcGRHbHZiaUlzSW1Ga2IzZHVJaXdpWW5Wd0lpd2lZMjl0Y0dGeVpTSXNJbk52Y25SRVpYUmhZMmhsWkNJc0ltRjFjQ0lzSW1Gd0lpd2lZbkFpTENKMWJuTm9hV1owSWl3aVpYaHdjaUlzSW1Wc1pXMWxiblJ6SWl3aVlYUjBjaUlzSW5Od1pXTnBabWxsWkNJc0luTmxiQ0lzSW5WdWFYRjFaVk52Y25RaUxDSmtkWEJzYVdOaGRHVnpJaXdpWkdWMFpXTjBSSFZ3YkdsallYUmxjeUlzSW5OdmNuUlRkR0ZpYkdVaUxDSjBaWGgwUTI5dWRHVnVkQ0lzSW1acGNuTjBRMmhwYkdRaUxDSnViMlJsVm1Gc2RXVWlMQ0p6Wld4bFkzUnZjbk1pTENKamNtVmhkR1ZRYzJWMVpHOGlMQ0p5Wld4aGRHbDJaU0lzSWo0aUxDSWdJaXdpS3lJc0luNGlMQ0p3Y21WR2FXeDBaWElpTENKbGVHTmxjM01pTENKMWJuRjFiM1JsWkNJc0ltNXZaR1ZPWVcxbFUyVnNaV04wYjNJaUxDSndZWFIwWlhKdUlpd2liM0JsY21GMGIzSWlMQ0pqYUdWamF5SXNJbkpsYzNWc2RDSXNJbmRvWVhRaUxDSmZZWEpuZFcxbGJuUWlMQ0p6YVcxd2JHVWlMQ0ptYjNKM1lYSmtJaXdpYjJaVWVYQmxJaXdpWDJOdmJuUmxlSFFpTENKNGJXd2lMQ0oxYm1seGRXVkRZV05vWlNJc0ltOTFkR1Z5UTJGamFHVWlMQ0p1YjJSbFNXNWtaWGdpTENKemRHRnlkQ0lzSW5CaGNtVnVkQ0lzSW5WelpVTmhZMmhsSWl3aWJHRnpkRU5vYVd4a0lpd2lkVzVwY1hWbFNVUWlMQ0p3YzJWMVpHOGlMQ0poY21keklpd2ljMlYwUm1sc2RHVnljeUlzSW1sa2VDSXNJbTFoZEdOb1pXUWlMQ0p1YjNRaUxDSnRZWFJqYUdWeUlpd2lkVzV0WVhSamFHVmtJaXdpYUdGeklpd2liR0Z1WnlJc0ltVnNaVzFNWVc1bklpd2lhR0Z6YUNJc0lteHZZMkYwYVc5dUlpd2ljbTl2ZENJc0ltWnZZM1Z6SWl3aVlXTjBhWFpsUld4bGJXVnVkQ0lzSW1oaGMwWnZZM1Z6SWl3aWFISmxaaUlzSW5SaFlrbHVaR1Y0SWl3aVpXNWhZbXhsWkNJc0ltTm9aV05yWldRaUxDSnpaV3hsWTNSbFpDSXNJbk5sYkdWamRHVmtTVzVrWlhnaUxDSmxiWEIwZVNJc0ltaGxZV1JsY2lJc0ltSjFkSFJ2YmlJc0lsOXRZWFJqYUVsdVpHVjRaWE1pTENKc2RDSXNJbWQwSWl3aWNtRmthVzhpTENKamFHVmphMkp2ZUNJc0ltWnBiR1VpTENKd1lYTnpkMjl5WkNJc0ltbHRZV2RsSWl3aWMzVmliV2wwSWl3aWNtVnpaWFFpTENKMGIydGxibk1pTENKamIyMWlhVzVoZEc5eUlpd2lZbUZ6WlNJc0luTnJhWEFpTENKamFHVmphMDV2YmtWc1pXMWxiblJ6SWl3aVpHOXVaVTVoYldVaUxDSnZiR1JEWVdOb1pTSXNJbTVsZDBOaFkyaGxJaXdpWld4bGJXVnVkRTFoZEdOb1pYSWlMQ0p0WVhSamFHVnljeUlzSW1OdmJtUmxibk5sSWl3aWJtVjNWVzV0WVhSamFHVmtJaXdpYldGd2NHVmtJaXdpYzJWMFRXRjBZMmhsY2lJc0luQnZjM1JHYVd4MFpYSWlMQ0p3YjNOMFJtbHVaR1Z5SWl3aWNHOXpkRk5sYkdWamRHOXlJaXdpZEdWdGNDSXNJbkJ5WlUxaGNDSXNJbkJ2YzNSTllYQWlMQ0p3Y21WbGVHbHpkR2x1WnlJc0ltTnZiblJsZUhSeklpd2liWFZzZEdsd2JHVkRiMjUwWlhoMGN5SXNJbTFoZEdOb1pYSkpiaUlzSW0xaGRHTm9aWEpQZFhRaUxDSnRZWFJqYUdWeVJuSnZiVlJ2YTJWdWN5SXNJbU5vWldOclEyOXVkR1Y0ZENJc0lteGxZV1JwYm1kU1pXeGhkR2wyWlNJc0ltbHRjR3hwWTJsMFVtVnNZWFJwZG1VaUxDSnRZWFJqYUVOdmJuUmxlSFFpTENKdFlYUmphRUZ1ZVVOdmJuUmxlSFFpTENKbWFXeDBaWEp6SWl3aWNHRnljMlZQYm14NUlpd2ljMjlHWVhJaUxDSndjbVZHYVd4MFpYSnpJaXdpWTJGamFHVmtJaXdpYzJWMFRXRjBZMmhsY25NaUxDSmxiR1Z0Wlc1MFRXRjBZMmhsY25NaUxDSmllVk5sZENJc0ltSjVSV3hsYldWdWRDSXNJbk4xY0dWeVRXRjBZMmhsY2lJc0ltOTFkR1Z5Ylc5emRDSXNJbTFoZEdOb1pXUkRiM1Z1ZENJc0luTmxkRTFoZEdOb1pXUWlMQ0pqYjI1MFpYaDBRbUZqYTNWd0lpd2laR2x5Y25WdWMxVnVhWEYxWlNJc0ltMWhkR05vWlhKR2NtOXRSM0p2ZFhCTllYUmphR1Z5Y3lJc0luUnZhMlZ1SWl3aVkyOXRjR2xzWldRaUxDSmZibUZ0WlNJc0ltUmxabUYxYkhSV1lXeDFaU0lzSW5WdWFYRjFaU0lzSW1seldFMU1SRzlqSWl3aVpYTmpZWEJsVTJWc1pXTjBiM0lpTENKMWJuUnBiQ0lzSW5SeWRXNWpZWFJsSWl3aWFYTWlMQ0p6YVdKc2FXNW5jeUlzSW00aUxDSnlibVZsWkhORGIyNTBaWGgwSWl3aWNuTnBibWRzWlZSaFp5SXNJbmRwYm01dmR5SXNJbkYxWVd4cFptbGxjaUlzSW5ObGJHWWlMQ0p5YjI5MGFsRjFaWEo1SWl3aWNHRnljMlZJVkUxTUlpd2ljbVZoWkhraUxDSnljR0Z5Wlc1MGMzQnlaWFlpTENKbmRXRnlZVzUwWldWa1ZXNXBjWFZsSWl3aVkyaHBiR1J5Wlc0aUxDSmpiMjUwWlc1MGN5SXNJbkJ5WlhZaUxDSnphV0pzYVc1bklpd2lkR0Z5WjJWMGN5SXNJbXdpTENKamJHOXpaWE4wSWl3aWFXNWtaWGdpTENKd2NtVjJRV3hzSWl3aVlXUmtJaXdpWVdSa1FtRmpheUlzSW5CaGNtVnVkSE1pTENKd1lYSmxiblJ6Vlc1MGFXd2lMQ0p1WlhoMFFXeHNJaXdpYm1WNGRGVnVkR2xzSWl3aWNISmxkbFZ1ZEdsc0lpd2lZMjl1ZEdWdWRFUnZZM1Z0Wlc1MElpd2lZMjl1ZEdWdWRDSXNJbkpsZG1WeWMyVWlMQ0p5Ym05MGFIUnRiSGRvYVhSbElpd2lTV1JsYm5ScGRIa2lMQ0oySWl3aVZHaHliM2RsY2lJc0ltVjRJaXdpWVdSdmNIUldZV3gxWlNJc0luSmxjMjlzZG1VaUxDSnlaV3BsWTNRaUxDSnViMVpoYkhWbElpd2liV1YwYUc5a0lpd2ljSEp2YldselpTSXNJbVpoYVd3aUxDSjBhR1Z1SWl3aVEyRnNiR0poWTJ0eklpd2liMkpxWldOMElpd2lYeUlzSW1ac1lXY2lMQ0pqY21WaGRHVlBjSFJwYjI1eklpd2labWx5YVc1bklpd2liV1Z0YjNKNUlpd2labWx5WldRaUxDSnNiMk5yWldRaUxDSnhkV1YxWlNJc0ltWnBjbWx1WjBsdVpHVjRJaXdpWm1seVpTSXNJbTl1WTJVaUxDSnpkRzl3VDI1R1lXeHpaU0lzSW5KbGJXOTJaU0lzSW1ScGMyRmliR1VpTENKc2IyTnJJaXdpWm1seVpWZHBkR2dpTENKRVpXWmxjbkpsWkNJc0ltWjFibU1pTENKMGRYQnNaWE1pTENKemRHRjBaU0lzSW1Gc2QyRjVjeUlzSW1SbFptVnljbVZrSWl3aVkyRjBZMmdpTENKd2FYQmxJaXdpWm01eklpd2libVYzUkdWbVpYSWlMQ0owZFhCc1pTSXNJbkpsZEhWeWJtVmtJaXdpY0hKdlozSmxjM01pTENKdWIzUnBabmtpTENKdmJrWjFiR1pwYkd4bFpDSXNJbTl1VW1WcVpXTjBaV1FpTENKdmJsQnliMmR5WlhOeklpd2liV0Y0UkdWd2RHZ2lMQ0prWlhCMGFDSXNJbk53WldOcFlXd2lMQ0owYUdGMElpd2liV2xuYUhSVWFISnZkeUlzSWxSNWNHVkZjbkp2Y2lJc0ltNXZkR2xtZVZkcGRHZ2lMQ0p5WlhOdmJIWmxWMmwwYUNJc0luQnliMk5sYzNNaUxDSmxlR05sY0hScGIyNUliMjlySWl3aWMzUmhZMnRVY21GalpTSXNJbkpsYW1WamRGZHBkR2dpTENKblpYUlRkR0ZqYTBodmIyc2lMQ0p6WlhSVWFXMWxiM1YwSWl3aWMzUmhkR1ZUZEhKcGJtY2lMQ0ozYUdWdUlpd2ljMmx1WjJ4bFZtRnNkV1VpTENKeVpXMWhhVzVwYm1jaUxDSnlaWE52YkhabFEyOXVkR1Y0ZEhNaUxDSnlaWE52YkhabFZtRnNkV1Z6SWl3aWNISnBiV0Z5ZVNJc0luVndaR0YwWlVaMWJtTWlMQ0p5WlhKeWIzSk9ZVzFsY3lJc0luTjBZV05ySWl3aVkyOXVjMjlzWlNJc0luZGhjbTRpTENKdFpYTnpZV2RsSWl3aWNtVmhaSGxGZUdObGNIUnBiMjRpTENKeVpXRmtlVXhwYzNRaUxDSmpiMjF3YkdWMFpXUWlMQ0p5WlcxdmRtVkZkbVZ1ZEV4cGMzUmxibVZ5SWl3aWNtVmhaSGxYWVdsMElpd2lkMkZwZENJc0luSmxZV1I1VTNSaGRHVWlMQ0prYjFOamNtOXNiQ0lzSW1GalkyVnpjeUlzSW1Ob1lXbHVZV0pzWlNJc0ltVnRjSFI1UjJWMElpd2ljbUYzSWl3aVluVnNheUlzSWw5clpYa2lMQ0p5YlhOUWNtVm1hWGdpTENKeVpHRnphRUZzY0doaElpd2labU5oYldWc1EyRnpaU0lzSWw5aGJHd2lMQ0pzWlhSMFpYSWlMQ0owYjFWd2NHVnlRMkZ6WlNJc0ltTmhiV1ZzUTJGelpTSXNJbk4wY21sdVp5SXNJbUZqWTJWd2RFUmhkR0VpTENKdmQyNWxjaUlzSWtSaGRHRWlMQ0oxYVdRaUxDSmtaV1pwYm1WUWNtOXdaWEowZVNJc0ltTnZibVpwWjNWeVlXSnNaU0lzSW5ObGRDSXNJbVJoZEdFaUxDSndjbTl3SWl3aWFHRnpSR0YwWVNJc0ltUmhkR0ZRY21sMklpd2laR0YwWVZWelpYSWlMQ0p5WW5KaFkyVWlMQ0p5YlhWc2RHbEVZWE5vSWl3aVpHRjBZVUYwZEhJaUxDSktVMDlPSWl3aWNHRnljMlVpTENKblpYUkVZWFJoSWl3aWNtVnRiM1psUkdGMFlTSXNJbDlrWVhSaElpd2lYM0psYlc5MlpVUmhkR0VpTENKa1pYRjFaWFZsSWl3aWMzUmhjblJNWlc1bmRHZ2lMQ0pvYjI5cmN5SXNJbDl4ZFdWMVpVaHZiMnR6SWl3aWMzUnZjQ0lzSW5ObGRIUmxjaUlzSW1Oc1pXRnlVWFZsZFdVaUxDSmpiM1Z1ZENJc0ltUmxabVZ5SWl3aWNHNTFiU0lzSW5OdmRYSmpaU0lzSW5KamMzTk9kVzBpTENKamMzTkZlSEJoYm1RaUxDSnBjMEYwZEdGamFHVmtJaXdpWTI5dGNHOXpaV1FpTENKblpYUlNiMjkwVG05a1pTSXNJbWx6U0dsa1pHVnVWMmwwYUdsdVZISmxaU0lzSW5OMGVXeGxJaXdpWkdsemNHeGhlU0lzSW1OemN5SXNJbUZrYW5WemRFTlRVeUlzSW5aaGJIVmxVR0Z5ZEhNaUxDSjBkMlZsYmlJc0ltRmthblZ6ZEdWa0lpd2ljMk5oYkdVaUxDSnRZWGhKZEdWeVlYUnBiMjV6SWl3aVkzVnljbVZ1ZEZaaGJIVmxJaXdpYVc1cGRHbGhiQ0lzSW5WdWFYUWlMQ0pqYzNOT2RXMWlaWElpTENKcGJtbDBhV0ZzU1c1VmJtbDBJaXdpWkdWbVlYVnNkRVJwYzNCc1lYbE5ZWEFpTENKblpYUkVaV1poZFd4MFJHbHpjR3hoZVNJc0ltSnZaSGtpTENKemFHOTNTR2xrWlNJc0luTm9iM2NpTENKMllXeDFaWE1pTENKb2FXUmxJaXdpZEc5bloyeGxJaXdpWkdsMklpd2ljbU5vWldOcllXSnNaVlI1Y0dVaUxDSnlkR0ZuVG1GdFpTSXNJbkp6WTNKcGNIUlVlWEJsSWl3aVkzSmxZWFJsUkc5amRXMWxiblJHY21GbmJXVnVkQ0lzSW1Ob1pXTnJRMnh2Ym1VaUxDSmpiRzl1WlU1dlpHVWlMQ0p1YjBOc2IyNWxRMmhsWTJ0bFpDSXNJbTl3ZEdsdmJpSXNJbmR5WVhCTllYQWlMQ0owYUdWaFpDSXNJbU52YkNJc0luUnlJaXdpZEdRaUxDSmZaR1ZtWVhWc2RDSXNJbWRsZEVGc2JDSXNJbk5sZEVkc2IySmhiRVYyWVd3aUxDSnlaV1pGYkdWdFpXNTBjeUlzSW5SaWIyUjVJaXdpZEdadmIzUWlMQ0pqYjJ4bmNtOTFjQ0lzSW1OaGNIUnBiMjRpTENKMGFDSXNJbTl3ZEdkeWIzVndJaXdpWW5WcGJHUkdjbUZuYldWdWRDSXNJbk5qY21sd2RITWlMQ0p6Wld4bFkzUnBiMjRpTENKcFoyNXZjbVZrSWl3aWQzSmhjQ0lzSW1GMGRHRmphR1ZrSWl3aVpuSmhaMjFsYm5RaUxDSnViMlJsY3lJc0ltaDBiV3hRY21WbWFXeDBaWElpTENKamNtVmhkR1ZVWlhoMFRtOWtaU0lzSW5KMGVYQmxibUZ0WlhOd1lXTmxJaXdpY21WMGRYSnVWSEoxWlNJc0luSmxkSFZ5YmtaaGJITmxJaXdpWlhod1pXTjBVM2x1WXlJc0ltVnljaUlzSW5OaFptVkJZM1JwZG1WRmJHVnRaVzUwSWl3aWIyNGlMQ0owZVhCbGN5SXNJbTl1WlNJc0ltOXlhV2RHYmlJc0ltVjJaVzUwSWl3aWIyWm1JaXdpYkdWMlpYSmhaMlZPWVhScGRtVWlMQ0p1YjNSQmMzbHVZeUlzSW5OaGRtVmtJaXdpYVhOVWNtbG5aMlZ5SWl3aVpHVnNaV2RoZEdWVWVYQmxJaXdpYzNSdmNGQnliM0JoWjJGMGFXOXVJaXdpYzNSdmNFbHRiV1ZrYVdGMFpWQnliM0JoWjJGMGFXOXVJaXdpY0hKbGRtVnVkRVJsWm1GMWJIUWlMQ0owY21sbloyVnlJaXdpUlhabGJuUWlMQ0pvWVc1a2JHVlBZbXBKYmlJc0ltVjJaVzUwU0dGdVpHeGxJaXdpWlhabGJuUnpJaXdpZENJc0ltaGhibVJzWlU5aWFpSXNJbWhoYm1Sc1pYSnpJaXdpYm1GdFpYTndZV05sY3lJc0ltOXlhV2RVZVhCbElpd2laV3hsYlVSaGRHRWlMQ0pqY21WaGRHVWlMQ0pvWVc1a2JHVWlMQ0owY21sbloyVnlaV1FpTENKa2FYTndZWFJqYUNJc0ltSnBibVJVZVhCbElpd2laR1ZzWldkaGRHVkRiM1Z1ZENJc0luTmxkSFZ3SWl3aWJXRndjR1ZrVkhsd1pYTWlMQ0p2Y21sblEyOTFiblFpTENKMFpXRnlaRzkzYmlJc0luSmxiVzkyWlVWMlpXNTBJaXdpYm1GMGFYWmxSWFpsYm5RaUxDSm9ZVzVrYkdWeVVYVmxkV1VpTENKbWFYZ2lMQ0prWld4bFoyRjBaVlJoY21kbGRDSXNJbkJ5WlVScGMzQmhkR05vSWl3aWFYTlFjbTl3WVdkaGRHbHZibE4wYjNCd1pXUWlMQ0pqZFhKeVpXNTBWR0Z5WjJWMElpd2lhWE5KYlcxbFpHbGhkR1ZRY205d1lXZGhkR2x2YmxOMGIzQndaV1FpTENKeWJtRnRaWE53WVdObElpd2ljRzl6ZEVScGMzQmhkR05vSWl3aWJXRjBZMmhsWkVoaGJtUnNaWEp6SWl3aWJXRjBZMmhsWkZObGJHVmpkRzl5Y3lJc0ltRmtaRkJ5YjNBaUxDSm9iMjlySWl3aVpXNTFiV1Z5WVdKc1pTSXNJbTl5YVdkcGJtRnNSWFpsYm5RaUxDSjNjbWwwWVdKc1pTSXNJbXh2WVdRaUxDSnViMEoxWW1Kc1pTSXNJbU5zYVdOcklpd2lZbVZtYjNKbGRXNXNiMkZrSWl3aWNtVjBkWEp1Vm1Gc2RXVWlMQ0p3Y205d2N5SXNJbWx6UkdWbVlYVnNkRkJ5WlhabGJuUmxaQ0lzSW1SbFptRjFiSFJRY21WMlpXNTBaV1FpTENKeVpXeGhkR1ZrVkdGeVoyVjBJaXdpZEdsdFpWTjBZVzF3SWl3aWJtOTNJaXdpYVhOVGFXMTFiR0YwWldRaUxDSmhiSFJMWlhraUxDSmlkV0ppYkdWeklpd2lZMkZ1WTJWc1lXSnNaU0lzSW1Ob1lXNW5aV1JVYjNWamFHVnpJaXdpWTNSeWJFdGxlU0lzSW1SbGRHRnBiQ0lzSW1WMlpXNTBVR2hoYzJVaUxDSnRaWFJoUzJWNUlpd2ljR0ZuWlZnaUxDSndZV2RsV1NJc0luTm9hV1owUzJWNUlpd2lkbWxsZHlJc0ltTm9ZWElpTENKamFHRnlRMjlrWlNJc0ltdGxlVU52WkdVaUxDSmlkWFIwYjI1eklpd2lZMnhwWlc1MFdDSXNJbU5zYVdWdWRGa2lMQ0p2Wm1aelpYUllJaXdpYjJabWMyVjBXU0lzSW5CdmFXNTBaWEpKWkNJc0luQnZhVzUwWlhKVWVYQmxJaXdpYzJOeVpXVnVXQ0lzSW5OamNtVmxibGtpTENKMFlYSm5aWFJVYjNWamFHVnpJaXdpZEc5RmJHVnRaVzUwSWl3aWRHOTFZMmhsY3lJc0luZG9hV05vSWl3aVlteDFjaUlzSW0xdmRYTmxaVzUwWlhJaUxDSnRiM1Z6Wld4bFlYWmxJaXdpY0c5cGJuUmxjbVZ1ZEdWeUlpd2ljRzlwYm5SbGNteGxZWFpsSWl3aWIzSnBaeUlzSW5KbGJHRjBaV1FpTENKeWJtOUpibTVsY21oMGJXd2lMQ0p5WTJobFkydGxaQ0lzSW5KamJHVmhibE5qY21sd2RDSXNJbTFoYm1sd2RXeGhkR2x2YmxSaGNtZGxkQ0lzSW1ScGMyRmliR1ZUWTNKcGNIUWlMQ0p5WlhOMGIzSmxVMk55YVhCMElpd2lZMnh2Ym1WRGIzQjVSWFpsYm5RaUxDSmtaWE4wSWl3aWRXUmhkR0ZQYkdRaUxDSjFaR0YwWVVOMWNpSXNJbVJ2YlUxaGJtbHdJaXdpWTI5c2JHVmpkR2x2YmlJc0ltaGhjMU5qY21sd2RITWlMQ0pwVG05RGJHOXVaU0lzSW5aaGJIVmxTWE5HZFc1amRHbHZiaUlzSW1oMGJXd2lMQ0pmWlhaaGJGVnliQ0lzSW10bFpYQkVZWFJoSWl3aVkyeGxZVzVFWVhSaElpd2laR0YwWVVGdVpFVjJaVzUwY3lJc0ltUmxaWEJFWVhSaFFXNWtSWFpsYm5Seklpd2ljM0pqUld4bGJXVnVkSE1pTENKa1pYTjBSV3hsYldWdWRITWlMQ0pwYmxCaFoyVWlMQ0prWlhSaFkyZ2lMQ0poY0hCbGJtUWlMQ0p3Y21Wd1pXNWtJaXdpYVc1elpYSjBRbVZtYjNKbElpd2lZbVZtYjNKbElpd2lZV1owWlhJaUxDSnlaWEJzWVdObFYybDBhQ0lzSW5KbGNHeGhZMlZEYUdsc1pDSXNJbUZ3Y0dWdVpGUnZJaXdpY0hKbGNHVnVaRlJ2SWl3aWFXNXpaWEowUVdaMFpYSWlMQ0p5WlhCc1lXTmxRV3hzSWl3aWIzSnBaMmx1WVd3aUxDSnBibk5sY25RaUxDSnliblZ0Ym05dWNIZ2lMQ0puWlhSVGRIbHNaWE1pTENKdmNHVnVaWElpTENKblpYUkRiMjF3ZFhSbFpGTjBlV3hsSWl3aWMzZGhjQ0lzSW05c1pDSXNJbkppYjNoVGRIbHNaU0lzSW1OMWNrTlRVeUlzSW1OdmJYQjFkR1ZrSWl3aWQybGtkR2dpTENKdGFXNVhhV1IwYUNJc0ltMWhlRmRwWkhSb0lpd2laMlYwVUhKdmNHVnlkSGxXWVd4MVpTSXNJbkJwZUdWc1FtOTRVM1I1YkdWeklpd2lZV1JrUjJWMFNHOXZhMGxtSWl3aVkyOXVaR2wwYVc5dVJtNGlMQ0pvYjI5clJtNGlMQ0pqYjIxd2RYUmxVM1I1YkdWVVpYTjBjeUlzSW1OdmJuUmhhVzVsY2lJc0ltTnpjMVJsZUhRaUxDSmthWFpUZEhsc1pTSXNJbkJwZUdWc1VHOXphWFJwYjI1V1lXd2lMQ0p5Wld4cFlXSnNaVTFoY21kcGJreGxablJXWVd3aUxDSnliM1Z1WkZCcGVHVnNUV1ZoYzNWeVpYTWlMQ0p0WVhKbmFXNU1aV1owSWl3aWNtbG5hSFFpTENKd2FYaGxiRUp2ZUZOMGVXeGxjMVpoYkNJc0ltSnZlRk5wZW1sdVoxSmxiR2xoWW14bFZtRnNJaXdpY0c5emFYUnBiMjRpTENKelkzSnZiR3hpYjNoVGFYcGxWbUZzSWl3aWIyWm1jMlYwVjJsa2RHZ2lMQ0p0WldGemRYSmxJaXdpY205MWJtUWlMQ0p3WVhKelpVWnNiMkYwSWl3aWNtVnNhV0ZpYkdWVWNrUnBiV1Z1YzJsdmJuTldZV3dpTENKaVlXTnJaM0p2ZFc1a1EyeHBjQ0lzSW1Oc1pXRnlRMnh2Ym1WVGRIbHNaU0lzSW1KdmVGTnBlbWx1WjFKbGJHbGhZbXhsSWl3aWNHbDRaV3hRYjNOcGRHbHZiaUlzSW5KbGJHbGhZbXhsVFdGeVoybHVUR1ZtZENJc0luTmpjbTlzYkdKdmVGTnBlbVVpTENKeVpXeHBZV0pzWlZSeVJHbHRaVzV6YVc5dWN5SXNJblJoWW14bElpd2lkSEpEYUdsc1pDSXNJblJ5VTNSNWJHVWlMQ0pvWldsbmFIUWlMQ0p3WVhKelpVbHVkQ0lzSW1KdmNtUmxjbFJ2Y0ZkcFpIUm9JaXdpWW05eVpHVnlRbTkwZEc5dFYybGtkR2dpTENKdlptWnpaWFJJWldsbmFIUWlMQ0pqYzNOUWNtVm1hWGhsY3lJc0ltVnRjSFI1VTNSNWJHVWlMQ0oyWlc1a2IzSlFjbTl3Y3lJc0ltWnBibUZzVUhKdmNFNWhiV1VpTENKbWFXNWhiQ0lzSW1OemMxQnliM0J6SWl3aVkyRndUbUZ0WlNJc0luWmxibVJ2Y2xCeWIzQk9ZVzFsSWl3aWNtUnBjM0JzWVhsemQyRndJaXdpY21OMWMzUnZiVkJ5YjNBaUxDSmpjM05UYUc5M0lpd2lkbWx6YVdKcGJHbDBlU0lzSW1OemMwNXZjbTFoYkZSeVlXNXpabTl5YlNJc0lteGxkSFJsY2xOd1lXTnBibWNpTENKbWIyNTBWMlZwWjJoMElpd2ljMlYwVUc5emFYUnBkbVZPZFcxaVpYSWlMQ0p6ZFdKMGNtRmpkQ0lzSW0xaGVDSXNJbUp2ZUUxdlpHVnNRV1JxZFhOMGJXVnVkQ0lzSW1ScGJXVnVjMmx2YmlJc0ltSnZlQ0lzSW1selFtOXlaR1Z5UW05NElpd2ljM1I1YkdWeklpd2lZMjl0Y0hWMFpXUldZV3dpTENKbGVIUnlZU0lzSW1SbGJIUmhJaXdpWTJWcGJDSXNJbWRsZEZkcFpIUm9UM0pJWldsbmFIUWlMQ0oyWVd4MVpVbHpRbTl5WkdWeVFtOTRJaXdpYjJabWMyVjBVSEp2Y0NJc0ltZGxkRU5zYVdWdWRGSmxZM1J6SWl3aVZIZGxaVzRpTENKbFlYTnBibWNpTENKamMzTkliMjlyY3lJc0ltOXdZV05wZEhraUxDSmhibWx0WVhScGIyNUpkR1Z5WVhScGIyNURiM1Z1ZENJc0ltTnZiSFZ0YmtOdmRXNTBJaXdpWm1sc2JFOXdZV05wZEhraUxDSm1iR1Y0UjNKdmR5SXNJbVpzWlhoVGFISnBibXNpTENKbmNtbGtRWEpsWVNJc0ltZHlhV1JEYjJ4MWJXNGlMQ0puY21sa1EyOXNkVzF1Ulc1a0lpd2laM0pwWkVOdmJIVnRibE4wWVhKMElpd2laM0pwWkZKdmR5SXNJbWR5YVdSU2IzZEZibVFpTENKbmNtbGtVbTkzVTNSaGNuUWlMQ0pzYVc1bFNHVnBaMmgwSWl3aWIzSmtaWElpTENKdmNuQm9ZVzV6SWl3aWQybGtiM2R6SWl3aWVrbHVaR1Y0SWl3aWVtOXZiU0lzSW05eWFXZE9ZVzFsSWl3aWFYTkRkWE4wYjIxUWNtOXdJaXdpYzJWMFVISnZjR1Z5ZEhraUxDSnBjMFpwYm1sMFpTSXNJbWRsZEVKdmRXNWthVzVuUTJ4cFpXNTBVbVZqZENJc0luTmpjbTlzYkdKdmVGTnBlbVZDZFdkbmVTSXNJbXhsWm5RaUxDSnRZWEpuYVc0aUxDSndZV1JrYVc1bklpd2lZbTl5WkdWeUlpd2ljSEpsWm1sNElpd2ljM1ZtWm1sNElpd2laWGh3WVc1a0lpd2laWGh3WVc1a1pXUWlMQ0p3WVhKMGN5SXNJbkJ5YjNCSWIyOXJjeUlzSW5KMWJpSXNJbkJsY21ObGJuUWlMQ0psWVhObFpDSXNJbVIxY21GMGFXOXVJaXdpY0c5eklpd2ljM1JsY0NJc0ltWjRJaXdpYzJOeWIyeHNWRzl3SWl3aWMyTnliMnhzVEdWbWRDSXNJbXhwYm1WaGNpSXNJbkFpTENKemQybHVaeUlzSW1OdmN5SXNJbEJKSWl3aVpuaE9iM2NpTENKcGJsQnliMmR5WlhOeklpd2ljbVo0ZEhsd1pYTWlMQ0p5Y25WdUlpd2ljMk5vWldSMWJHVWlMQ0pvYVdSa1pXNGlMQ0p5WlhGMVpYTjBRVzVwYldGMGFXOXVSbkpoYldVaUxDSnBiblJsY25aaGJDSXNJblJwWTJzaUxDSmpjbVZoZEdWR2VFNXZkeUlzSW1kbGJrWjRJaXdpYVc1amJIVmtaVmRwWkhSb0lpd2lZM0psWVhSbFZIZGxaVzRpTENKaGJtbHRZWFJwYjI0aUxDSkJibWx0WVhScGIyNGlMQ0owZDJWbGJtVnljeUlzSW5CeWIzQmxjblJwWlhNaUxDSnpkRzl3Y0dWa0lpd2ljSEpsWm1sc2RHVnljeUlzSW1OMWNuSmxiblJVYVcxbElpd2ljM1JoY25SVWFXMWxJaXdpZEhkbFpXNXpJaXdpYjNCMGN5SXNJbk53WldOcFlXeEZZWE5wYm1jaUxDSnZjbWxuYVc1aGJGQnliM0JsY25ScFpYTWlMQ0p2Y21sbmFXNWhiRTl3ZEdsdmJuTWlMQ0puYjNSdlJXNWtJaXdpY0hKdmNFWnBiSFJsY2lJc0ltSnBibVFpTENKamIyMXdiR1YwWlNJc0luUnBiV1Z5SWl3aVlXNXBiU0lzSWlvaUxDSjBkMlZsYm1WeUlpd2liMnhrWm1seVpTSXNJbkJ5YjNCVWQyVmxiaUlzSW5KbGMzUnZjbVZFYVhOd2JHRjVJaXdpYVhOQ2IzZ2lMQ0prWVhSaFUyaHZkeUlzSW5WdWNYVmxkV1ZrSWl3aWIzWmxjbVpzYjNjaUxDSnZkbVZ5Wm14dmQxZ2lMQ0p2ZG1WeVpteHZkMWtpTENKd2NtVm1hV3gwWlhJaUxDSnpjR1ZsWkNJc0ltOXdkQ0lzSW5Od1pXVmtjeUlzSW1aaFpHVlVieUlzSW5Sdklpd2lZVzVwYldGMFpTSXNJbTl3ZEdGc2JDSXNJbVJ2UVc1cGJXRjBhVzl1SWl3aVptbHVhWE5vSWl3aWMzUnZjRkYxWlhWbElpd2lkR2x0WlhKeklpd2lZM056Um00aUxDSnpiR2xrWlVSdmQyNGlMQ0p6Ykdsa1pWVndJaXdpYzJ4cFpHVlViMmRuYkdVaUxDSm1ZV1JsU1c0aUxDSm1ZV1JsVDNWMElpd2labUZrWlZSdloyZHNaU0lzSW5Oc2IzY2lMQ0ptWVhOMElpd2laR1ZzWVhraUxDSjBhVzFsSWl3aWRHbHRaVzkxZENJc0ltTnNaV0Z5VkdsdFpXOTFkQ0lzSW1Ob1pXTnJUMjRpTENKdmNIUlRaV3hsWTNSbFpDSXNJbkpoWkdsdlZtRnNkV1VpTENKaWIyOXNTRzl2YXlJc0luSmxiVzkyWlVGMGRISWlMQ0p1Vkhsd1pTSXNJbUYwZEhKSWIyOXJjeUlzSW1GMGRISk9ZVzFsY3lJc0ltZGxkSFJsY2lJc0lteHZkMlZ5WTJGelpVNWhiV1VpTENKeVptOWpkWE5oWW14bElpd2ljbU5zYVdOcllXSnNaU0lzSW5OMGNtbHdRVzVrUTI5c2JHRndjMlVpTENKblpYUkRiR0Z6Y3lJc0ltTnNZWE56WlhOVWIwRnljbUY1SWl3aWNtVnRiM1psVUhKdmNDSXNJbkJ5YjNCR2FYZ2lMQ0owWVdKcGJtUmxlQ0lzSW1admNpSXNJbU5zWVhOeklpd2lZV1JrUTJ4aGMzTWlMQ0pqYkdGemMyVnpJaXdpWTNWeVZtRnNkV1VpTENKamJHRjZlaUlzSW1acGJtRnNWbUZzZFdVaUxDSnlaVzF2ZG1WRGJHRnpjeUlzSW5SdloyZHNaVU5zWVhOeklpd2ljM1JoZEdWV1lXd2lMQ0pwYzFaaGJHbGtWbUZzZFdVaUxDSmpiR0Z6YzA1aGJXVnpJaXdpYUdGelEyeGhjM01pTENKeWNtVjBkWEp1SWl3aWRtRnNTRzl2YTNNaUxDSnZjSFJwYjI1VFpYUWlMQ0ptYjJOMWMybHVJaXdpY21adlkzVnpUVzl5Y0dnaUxDSnpkRzl3VUhKdmNHRm5ZWFJwYjI1RFlXeHNZbUZqYXlJc0ltOXViSGxJWVc1a2JHVnljeUlzSW1KMVltSnNaVlI1Y0dVaUxDSnZiblI1Y0dVaUxDSnNZWE4wUld4bGJXVnVkQ0lzSW1WMlpXNTBVR0YwYUNJc0luQmhjbVZ1ZEZkcGJtUnZkeUlzSW5OcGJYVnNZWFJsSWl3aWRISnBaMmRsY2toaGJtUnNaWElpTENKaGRIUmhZMmhsY3lJc0luSnhkV1Z5ZVNJc0luQmhjbk5sV0UxTUlpd2ljR0Z5YzJWeVJYSnliM0pGYkdWdElpd2lSRTlOVUdGeWMyVnlJaXdpY0dGeWMyVkdjbTl0VTNSeWFXNW5JaXdpY21KeVlXTnJaWFFpTENKeVExSk1SaUlzSW5KemRXSnRhWFIwWlhKVWVYQmxjeUlzSW5KemRXSnRhWFIwWVdKc1pTSXNJbUoxYVd4a1VHRnlZVzF6SWl3aWRISmhaR2wwYVc5dVlXd2lMQ0p3WVhKaGJTSXNJbk1pTENKMllXeDFaVTl5Um5WdVkzUnBiMjRpTENKbGJtTnZaR1ZWVWtsRGIyMXdiMjVsYm5RaUxDSnpaWEpwWVd4cGVtVWlMQ0p6WlhKcFlXeHBlbVZCY25KaGVTSXNJbkl5TUNJc0luSm9ZWE5vSWl3aWNtRnVkR2xEWVdOb1pTSXNJbkpvWldGa1pYSnpJaXdpY201dlEyOXVkR1Z1ZENJc0luSndjbTkwYjJOdmJDSXNJblJ5WVc1emNHOXlkSE1pTENKaGJHeFVlWEJsY3lJc0ltOXlhV2RwYmtGdVkyaHZjaUlzSW1Ga1pGUnZVSEpsWm1sc2RHVnljMDl5VkhKaGJuTndiM0owY3lJc0luTjBjblZqZEhWeVpTSXNJbVJoZEdGVWVYQmxSWGh3Y21WemMybHZiaUlzSW1SaGRHRlVlWEJsSWl3aVpHRjBZVlI1Y0dWeklpd2lhVzV6Y0dWamRGQnlaV1pwYkhSbGNuTlBjbFJ5WVc1emNHOXlkSE1pTENKcWNWaElVaUlzSW1sdWMzQmxZM1JsWkNJc0luTmxaV3RwYm1kVWNtRnVjM0J2Y25RaUxDSnBibk53WldOMElpd2ljSEpsWm1sc2RHVnlUM0pHWVdOMGIzSjVJaXdpWkdGMFlWUjVjR1ZQY2xSeVlXNXpjRzl5ZENJc0ltRnFZWGhGZUhSbGJtUWlMQ0ptYkdGMFQzQjBhVzl1Y3lJc0ltRnFZWGhUWlhSMGFXNW5jeUlzSW1GamRHbDJaU0lzSW14aGMzUk5iMlJwWm1sbFpDSXNJbVYwWVdjaUxDSjFjbXdpTENKcGMweHZZMkZzSWl3aWNISnZkRzlqYjJ3aUxDSndjbTlqWlhOelJHRjBZU0lzSW1GemVXNWpJaXdpWTI5dWRHVnVkRlI1Y0dVaUxDSmhZMk5sY0hSeklpd2lhbk52YmlJc0luSmxjM0J2Ym5ObFJtbGxiR1J6SWl3aVkyOXVkbVZ5ZEdWeWN5SXNJaW9nZEdWNGRDSXNJblJsZUhRZ2FIUnRiQ0lzSW5SbGVIUWdhbk52YmlJc0luUmxlSFFnZUcxc0lpd2lZV3BoZUZObGRIVndJaXdpYzJWMGRHbHVaM01pTENKaGFtRjRVSEpsWm1sc2RHVnlJaXdpWVdwaGVGUnlZVzV6Y0c5eWRDSXNJbUZxWVhnaUxDSjBjbUZ1YzNCdmNuUWlMQ0pqWVdOb1pWVlNUQ0lzSW5KbGMzQnZibk5sU0dWaFpHVnljMU4wY21sdVp5SXNJbkpsYzNCdmJuTmxTR1ZoWkdWeWN5SXNJblJwYldWdmRYUlVhVzFsY2lJc0luVnliRUZ1WTJodmNpSXNJbVpwY21WSGJHOWlZV3h6SWl3aWRXNWpZV05vWldRaUxDSmpZV3hzWW1GamEwTnZiblJsZUhRaUxDSm5iRzlpWVd4RmRtVnVkRU52Ym5SbGVIUWlMQ0pqYjIxd2JHVjBaVVJsWm1WeWNtVmtJaXdpYzNSaGRIVnpRMjlrWlNJc0luSmxjWFZsYzNSSVpXRmtaWEp6SWl3aWNtVnhkV1Z6ZEVobFlXUmxjbk5PWVcxbGN5SXNJbk4wY2tGaWIzSjBJaXdpWjJWMFVtVnpjRzl1YzJWSVpXRmtaWElpTENKblpYUkJiR3hTWlhOd2IyNXpaVWhsWVdSbGNuTWlMQ0p6WlhSU1pYRjFaWE4wU0dWaFpHVnlJaXdpYjNabGNuSnBaR1ZOYVcxbFZIbHdaU0lzSW0xcGJXVlVlWEJsSWl3aWMzUmhkSFZ6SWl3aVlXSnZjblFpTENKemRHRjBkWE5VWlhoMElpd2labWx1WVd4VVpYaDBJaXdpWTNKdmMzTkViMjFoYVc0aUxDSm9iM04wSWl3aWFHRnpRMjl1ZEdWdWRDSXNJbWxtVFc5a2FXWnBaV1FpTENKb1pXRmtaWEp6SWl3aVltVm1iM0psVTJWdVpDSXNJbk4xWTJObGMzTWlMQ0p6Wlc1a0lpd2libUYwYVhabFUzUmhkSFZ6VkdWNGRDSXNJbkpsYzNCdmJuTmxjeUlzSW1selUzVmpZMlZ6Y3lJc0luSmxjM0J2Ym5ObElpd2liVzlrYVdacFpXUWlMQ0pqZENJc0ltWnBibUZzUkdGMFlWUjVjR1VpTENKbWFYSnpkRVJoZEdGVWVYQmxJaXdpWVdwaGVFaGhibVJzWlZKbGMzQnZibk5sY3lJc0ltTnZibll5SWl3aVkzVnljbVZ1ZENJc0ltTnZibllpTENKa1lYUmhSbWxzZEdWeUlpd2lkR2h5YjNkeklpd2lZV3BoZUVOdmJuWmxjblFpTENKblpYUktVMDlPSWl3aVoyVjBVMk55YVhCMElpd2lkR1Y0ZENCelkzSnBjSFFpTENKM2NtRndRV3hzSWl3aVptbHljM1JGYkdWdFpXNTBRMmhwYkdRaUxDSjNjbUZ3U1c1dVpYSWlMQ0pvZEcxc1NYTkdkVzVqZEdsdmJpSXNJblZ1ZDNKaGNDSXNJblpwYzJsaWJHVWlMQ0o0YUhJaUxDSllUVXhJZEhSd1VtVnhkV1Z6ZENJc0luaG9jbE4xWTJObGMzTlRkR0YwZFhNaUxDSXdJaXdpTVRJeU15SXNJbmhvY2xOMWNIQnZjblJsWkNJc0ltTnZjbk1pTENKbGNuSnZja05oYkd4aVlXTnJJaXdpYjNCbGJpSXNJblZ6WlhKdVlXMWxJaXdpZUdoeVJtbGxiR1J6SWl3aWIyNXNiMkZrSWl3aWIyNWxjbkp2Y2lJc0ltOXVZV0p2Y25RaUxDSnZiblJwYldWdmRYUWlMQ0p2Ym5KbFlXUjVjM1JoZEdWamFHRnVaMlVpTENKeVpYTndiMjV6WlZSNWNHVWlMQ0p5WlhOd2IyNXpaVlJsZUhRaUxDSmlhVzVoY25raUxDSnpZM0pwY0hSQmRIUnljeUlzSW1Ob1lYSnpaWFFpTENKelkzSnBjSFJEYUdGeWMyVjBJaXdpWlhaMElpd2liMnhrUTJGc2JHSmhZMnR6SWl3aWNtcHpiMjV3SWl3aWFuTnZibkFpTENKcWMyOXVjRU5oYkd4aVlXTnJJaXdpYjNKcFoybHVZV3hUWlhSMGFXNW5jeUlzSW1OaGJHeGlZV05yVG1GdFpTSXNJbTkyWlhKM2NtbDBkR1Z1SWl3aWNtVnpjRzl1YzJWRGIyNTBZV2x1WlhJaUxDSnFjMjl1VUhKdmNDSXNJbU55WldGMFpVaFVUVXhFYjJOMWJXVnVkQ0lzSW1sdGNHeGxiV1Z1ZEdGMGFXOXVJaXdpYTJWbGNGTmpjbWx3ZEhNaUxDSndZWEp6WldRaUxDSndZWEpoYlhNaUxDSmhibWx0WVhSbFpDSXNJbTltWm5ObGRDSXNJbk5sZEU5bVpuTmxkQ0lzSW1OMWNsQnZjMmwwYVc5dUlpd2lZM1Z5VEdWbWRDSXNJbU4xY2tOVFUxUnZjQ0lzSW1OMWNsUnZjQ0lzSW1OMWNrOW1abk5sZENJc0ltTjFja05UVTB4bFpuUWlMQ0pqZFhKRmJHVnRJaXdpZFhOcGJtY2lMQ0p5WldOMElpd2lkMmx1SWl3aWNHRm5aVmxQWm1aelpYUWlMQ0p3WVdkbFdFOW1abk5sZENJc0ltOW1abk5sZEZCaGNtVnVkQ0lzSW5CaGNtVnVkRTltWm5ObGRDSXNJbk5qY205c2JGUnZJaXdpU0dWcFoyaDBJaXdpVjJsa2RHZ2lMQ0lpTENKa1pXWmhkV3gwUlhoMGNtRWlMQ0ptZFc1alRtRnRaU0lzSW5WdVltbHVaQ0lzSW1SbGJHVm5ZWFJsSWl3aWRXNWtaV3hsWjJGMFpTSXNJbWh2ZG1WeUlpd2labTVQZG1WeUlpd2labTVQZFhRaUxDSndjbTk0ZVNJc0ltaHZiR1JTWldGa2VTSXNJbWh2YkdRaUxDSndZWEp6WlVwVFQwNGlMQ0pwYzA1MWJXVnlhV01pTENKcGMwNWhUaUlzSW5SeWFXMGlMQ0prWldacGJtVWlMQ0poYldRaUxDSmZhbEYxWlhKNUlpd2lYeVFpTENJa0lpd2libTlEYjI1bWJHbGpkQ0pkTENKdFlYQndhVzVuY3lJNklrTkJZVUVzVTBGQldVRXNSVUZCVVVNc1IwRkZia0lzWVVGRmRVSXNhVUpCUVZoRExGRkJRV2xFTEdsQ1FVRnVRa0VzVDBGQlQwTXNVVUZUYUVSRUxFOUJRVTlETEZGQlFWVklMRVZCUVU5SkxGTkJRM1pDU0N4RlFVRlRSQ3hIUVVGUkxFZEJRMnBDTEZOQlFWVkxMRWRCUTFRc1NVRkJUVUVzUlVGQlJVUXNVMEZEVUN4TlFVRk5MRWxCUVVsRkxFMUJRVThzTkVOQlJXeENMRTlCUVU5TUxFVkJRVk5KTEVsQlIyeENTaXhGUVVGVFJDeEhRWFJDV0N4RFFUQkNkVUlzYjBKQlFWaFBMRTlCUVhsQ1FTeFBRVUZUUXl4TFFVRk5MRk5CUVZWRUxFVkJRVkZGTEVkQlRYUkZMR0ZCUlVFc1NVRkJTVU1zUlVGQlRTeEhRVVZPUXl4RlFVRlhReXhQUVVGUFF5eGxRVVZzUWtNc1JVRkJVVW9zUlVGQlNVa3NUVUZGV2tNc1JVRkJUMHdzUlVGQlNVc3NTMEZCVHl4VFFVRlZReXhIUVVNdlFpeFBRVUZQVGl4RlFVRkpTeXhMUVVGTFJTeExRVUZOUkN4SlFVTnVRaXhUUVVGVlFTeEhRVU5pTEU5QlFVOU9MRVZCUVVsUkxFOUJRVTlETEUxQlFVOHNSMEZCU1Vnc1NVRkpNVUpKTEVWQlFVOVdMRVZCUVVsVkxFdEJSVmhETEVWQlFWVllMRVZCUVVsWExGRkJSV1JETEVWQlFXRXNSMEZGWWtNc1JVRkJWMFFzUlVGQlYwTXNVMEZGZEVKRExFVkJRVk5HTEVWQlFWZEhMR1ZCUlhCQ1F5eEZRVUZoUml4RlFVRlBSQ3hUUVVWd1Fra3NSVUZCZFVKRUxFVkJRVmRVTEV0QlFVMU1MRkZCUlhoRFowSXNSVUZCVlN4SFFVVldReXhGUVVGaExGTkJRWEZDUXl4SFFWTndReXhOUVVGelFpeHRRa0ZCVWtFc1IwRkJPRU1zYVVKQlFXcENRU3hGUVVGSlF5eFZRVU14UWl4dFFrRkJZa1FzUlVGQlNVVXNUVUZKVmtNc1JVRkJWeXhUUVVGdFFrZ3NSMEZEYUVNc1QwRkJZeXhOUVVGUVFTeEhRVUZsUVN4SlFVRlJRU3hGUVVGSmRrSXNVVUZKYUVOSUxFVkJRVmRITEVWQlFVOUlMRk5CU1dwQ09FSXNSVUZCTkVJc1EwRkRMMEpETEUxQlFVMHNSVUZEVGtNc1MwRkJTeXhGUVVOTVF5eFBRVUZQTEVWQlExQkRMRlZCUVZVc1IwRkhXQ3hUUVVGVFF5eEZRVUZUUXl4RlFVRk5ReXhGUVVGTlF5eEhRVWMzUWl4SlFVRkpReXhGUVVGSFF5eEZRVU5PUXl4SFFVaEVTQ3hGUVVGTlFTeEhRVUZQZEVNc1IwRkhRekJETEdOQlFXVXNWVUZITjBJc1IwRkVRVVFzUlVGQlQwVXNTMEZCVDFBc1JVRkRWRU1zUlVGRFNpeEpRVUZOUlN4TFFVRkxWQ3hIUVZsV1ZTeEZRVUZOU0N4RlFVRk5SU3hKUVVGUFJpeEZRVUZMVHl4alFVRm5RbEFzUlVGQlMwOHNZVUZCWTB3c1MwRkZNVVJGTEVWQlFVOUpMR0ZCUVdOT0xFVkJRVWRETEVkQlNUTkNSaXhGUVVGSlVTeExRVUZMUXl4WlFVRmhUaXhIUVVGVFR5eFhRVUZYUXl4WlFVRmhVaXhIUVVsNlJDeFRRVUZUVXl4RlFVRlJlRUlzUjBGRGFFSXNUMEZCV1N4TlFVRlFRU3hGUVVOSFFTeEZRVUZOTEVkQlNWRXNhVUpCUVZKQkxFZEJRVzFETEcxQ1FVRlNRU3hGUVVONFExSXNSVUZCV1VNc1JVRkJVMDRzUzBGQlRXRXNTMEZCVnl4blFrRkRMMEpCTEVWQlVWUXNTVUZKUTNsQ0xFVkJRVk1zVTBGQlZVTXNSVUZCVlVNc1IwRkpOVUlzVDBGQlR5eEpRVUZKUml4RlFVRlBSeXhIUVVGSFF5eExRVUZOU0N4RlFVRlZReXhKUVRCV2RrTXNVMEZCVTBjc1JVRkJZVGxDTEVkQlRYSkNMRWxCUVVrclFpeEpRVUZYTDBJc1IwRkJUeXhYUVVGWlFTeEhRVUZQUVN4RlFVRkpLMElzVDBGRE5VTXhRaXhGUVVGUGJVSXNSVUZCVVhoQ0xFZEJSV2hDTEU5QlFVdEVMRVZCUVZsRExFdEJRVk5ITEVWQlFWVklMRXRCU1hCQ0xGVkJRVlJMTEVkQlFTdENMRWxCUVZnd1FpeEhRVU5TTEdsQ1FVRllRU3hIUVVGMVFrRXNSVUZCVXl4SFFVRlBRU3hGUVVGVExFdEJRVTh2UWl4SFFYSlhhRVY1UWl4RlFVRlBSeXhIUVVGTFNDeEZRVUZQVHl4VlFVRlpMRU5CUnpsQ1F5eFBRV0pWTEZGQlpWWkRMRmxCUVdGVUxFVkJSMkpOTEU5QlFWRXNSVUZGVWtrc1VVRkJVeXhYUVVOU0xFOUJRVTl1UkN4RlFVRk5SeXhMUVVGTlZDeFBRVXR3UWpCRUxFbEJRVXNzVTBGQlZVTXNSMEZIWkN4UFFVRlpMRTFCUVZCQkxFVkJRMGR5UkN4RlFVRk5SeXhMUVVGTlZDeE5RVWxpTWtRc1JVRkJUU3hGUVVGSk0wUXNTMEZCVFRKRUxFVkJRVTB6UkN4TFFVRkxjVVFzVVVGQlYzSkVMRXRCUVUweVJDeEpRVXR3UkVNc1ZVRkJWeXhUUVVGVlF5eEhRVWR3UWl4SlFVRkpReXhGUVVGTlppeEZRVUZQWjBJc1RVRkJUeTlFTEV0QlFVdDNSQ3hqUVVGbFN5eEhRVTAxUXl4UFFVaEJReXhGUVVGSlJTeFhRVUZoYUVVc1MwRkhWamhFTEVkQlNWSkhMRXRCUVUwc1UwRkJWVU1zUjBGRFppeFBRVUZQYmtJc1JVRkJUMnRDTEV0QlFVMXFSU3hMUVVGTmEwVXNTVUZITTBKRExFbEJRVXNzVTBGQlZVUXNSMEZEWkN4UFFVRlBiRVVzUzBGQlN6UkVMRlZCUVZkaUxFVkJRVTl2UWl4SlFVRkxia1VzUzBGQlRTeFRRVUZWYjBVc1JVRkJUV3BETEVkQlEzaEVMRTlCUVU4clFpeEZRVUZUZWtRc1MwRkJUVEpFTEVWQlFVMXFReXhGUVVGSGFVTXNUMEZKYWtNNVJDeE5RVUZQTEZkQlEwNHNUMEZCVDA0c1MwRkJTelJFTEZWQlFWZDBSQ3hGUVVGTlN5eE5RVUZQV0N4TFFVRk5jVVVzWVVGSE0wTkRMRTFCUVU4c1YwRkRUaXhQUVVGUGRFVXNTMEZCUzNWRkxFZEJRVWtzU1VGSGFrSkRMRXRCUVUwc1YwRkRUQ3hQUVVGUGVFVXNTMEZCUzNWRkxFbEJRVXNzU1VGSGJFSkZMRXRCUVUwc1YwRkRUQ3hQUVVGUGVrVXNTMEZCU3pSRUxGVkJRVmRpTEVWQlFVOHlRaXhMUVVGTk1VVXNTMEZCVFN4VFFVRlZNa1VzUlVGQlQzaERMRWRCUXpGRUxFOUJRVk5CTEVWQlFVa3NSMEZCVFN4TlFVbHlRbmxETEVsQlFVc3NWMEZEU2l4UFFVRlBOVVVzUzBGQlN6UkVMRlZCUVZkaUxFVkJRVTh5UWl4TFFVRk5NVVVzUzBGQlRTeFRRVUZWTWtVc1JVRkJUM2hETEVkQlF6RkVMRTlCUVU5QkxFVkJRVWtzVFVGSlltOURMRWRCUVVrc1UwRkJWWEJETEVkQlEySXNTVUZCU1RCRExFVkJRVTAzUlN4TFFVRkxjVVFzVDBGRFpIbENMRWRCUVVzelF5eEhRVUZOUVN4RlFVRkpMRVZCUVVrd1F5eEZRVUZOTEVkQlF6RkNMRTlCUVU4M1JTeExRVUZMTkVRc1ZVRkJWMnRDTEVkQlFVc3NSMEZCUzBFc1JVRkJTVVFzUlVGQlRTeERRVUZGTjBVc1MwRkJUVGhGTEVsQlFWRXNTMEZITlVSRExFbEJRVXNzVjBGRFNpeFBRVUZQTDBVc1MwRkJTMmRGTEZsQlFXTm9SU3hMUVVGTGQwUXNaVUZMYUVNMVF5eExRVUZOUVN4RlFVTk9iMFVzUzBGQlRUbEZMRVZCUVVrNFJTeExRVU5XUXl4UFFVRlJMMFVzUlVGQlNTdEZMRkZCUjJKc1F5eEZRVUZQYlVNc1QwRkJVMjVETEVWQlFVOUhMRWRCUVVkblF5eFBRVUZUTEZkQlEyeERMRWxCUVVsRExFVkJRVk5ETEVWQlFVMTRSQ3hGUVVGTGVVUXNSVUZCVFVNc1JVRkJZVU1zUlVGRE1VTkRMRVZCUVZOdVFpeFZRVUZYTEVsQlFVOHNSMEZETTBKc1F5eEZRVUZKTEVWQlEwcHJRaXhGUVVGVFowSXNWVUZCVldoQ0xFOUJRMjVDYjBNc1IwRkJUeXhGUVhOQ1VpeEpRVzVDZFVJc2EwSkJRVmhFTEVsQlExaERMRVZCUVU5RUxFVkJSMUJCTEVWQlFWTnVRaXhWUVVGWGJFTXNTVUZCVHl4SFFVTXpRa0VzUzBGSmMwSXNhVUpCUVZoeFJDeEhRVUYzUW01RkxFVkJRVmx0UlN4TFFVTXZRMEVzUlVGQlV5eEpRVWxNY2tRc1NVRkJUV3RDTEVsQlExWnRReXhGUVVGVGVFWXNTMEZEVkcxRExFdEJSMDlCTEVWQlFVbHJRaXhGUVVGUmJFSXNTVUZIYmtJc1IwRkJjVU1zVDBGQk9VSm5SQ3hGUVVGVlpDeFZRVUZYYkVNc1NVRkhNMElzU1VGQlRXbEVMRXRCUVZGRUxFVkJRMkpGTEVWQlFVOUdMRVZCUVZORExFZEJTVVlzWTBGQlZFRXNSMEZCZDBKSkxFbEJRVmRJTEVsQlMyNURTU3hIUVVGUlNpeEpRVUZWZEVNc1JVRkJUekpETEdOQlFXVk1MRXRCUXpGRFF5eEZRVUZqU3l4TlFVRk5ReXhSUVVGVFVDeE5RVU12UW5wRUxFVkJRVTAwUkN4RlFVRlJTaXhIUVVsaVJ5eEZRVVJKUkN4SlFVRm5Ra3NzVFVGQlRVTXNVVUZCVTJoRkxFZEJRek5DTEVkQlEwa3dSQ3hIUVVGblFuWkRMRVZCUVU4eVF5eGpRVUZsT1VRc1IwRkhNVU5CTEVWQlJrRXNSMEZKVkRCRUxFZEJRV01zUlVGSFpFVXNSVUZCVVVvc1IwRkJVM0pETEVWQlFVOXRReXhQUVVGUlR5eEZRVUZOUml4RlFVRlBSaXhUUVVkNlFsRXNTVUZCVkZJc1NVRkRXRWNzUlVGQlVVb3NSMEZCVTBNc1NVRlBja0lzVDBGQlQwY3NSMEZIVW5wRExFVkJRVTl0UXl4UFFVRlJMRU5CUjJSWkxGRkJRVk1zVlVGc1RFTXNVVUZyVEhOQ1F5eExRVUZMUXl4VlFVRlhReXhSUVVGVExFMUJRVThzU1VGSGFFVkRMRk5CUVZNc1JVRkZWRU1zVFVGQlR5eFRRVUZWUXl4SFFVTm9RaXhOUVVGTkxFbEJRVWwwUnl4TlFVRlBjMGNzU1VGSGJFSkRMRXRCUVUwc1lVRkZUbGdzWTBGQlpTeFRRVUZWY0VVc1IwRkRlRUlzU1VGQlNXZEdMRVZCUVU5RExFVkJTVmdzVTBGQlRXcEdMRWRCUVdkRExHOUNRVUY2UWxBc1JVRkJVMDRzUzBGQlRXRXNVVUZKTlVKblJpeEZRVUZSYmtjc1JVRkJWVzFDTEV0QlUwc3NiVUpCUkhaQ2FVWXNSVUZCVDNaR0xFVkJRVTlRTEV0QlFVMDJSaXhGUVVGUExHZENRVUZ0UWtFc1JVRkJUVGxETEdOQlEyWjBReXhGUVVGWFZDeExRVUZOT0VZc1MwRkJWM0JHTEVsQlIyeEZjVVlzWTBGQlpTeFRRVUZWYkVZc1IwRkRlRUlzU1VGQlNUaEVMRVZCUlVvc1NVRkJUVUVzUzBGQlVUbEVMRVZCUTJJc1QwRkJUeXhGUVVWU0xFOUJRVThzUjBGTFVtMUdMRmRCUVZrc1UwRkJWWHBGTEVWQlFVMXRSQ3hGUVVGVGFrUXNSMEZEY0VOSUxFVkJRVk5ETEVWQlFVMHNRMEZCUlVnc1RVRkJUM05FTEVkQlFWZEJMRVZCUVZGMFJDeFBRVUZUU3l4SlFVZHlSQ3RDTEV0QlFVMHNVMEZCVlRORExFVkJRVXMwUXl4SFFVTndRaXhKUVVGSllpeEZRVUZSYkVJc1JVRkJTU3hGUVVWb1FpeEhRVUZMYVVJc1JVRkJZVGxDTEVkQlJXcENMRWxCUkVFclFpeEZRVUZUTDBJc1JVRkJTU3RDTEU5QlEweHNRaXhGUVVGSmEwSXNTVUZEY1VNc1NVRkJNME5oTEVWQlFWTjZSQ3hMUVVGTllTeEZRVUZMWVN4SFFVRkxRU3hGUVVGSFlpeEZRVUZMWVN4SlFVUnVRa0VzVlVGTmNFSXNTVUZCVFVFc1MwRkJTMklzUlVGRFZpeEpRVUZuUkN4SlFVRXpRelJETEVWQlFWTjZSQ3hMUVVGTllTeEZRVUZMWVN4SFFVRkxRU3hGUVVGSFlpeEZRVUZMWVN4SlFVTnlReXhOUVV0SUxFOUJRVTlpTEVkQlNWSnZSaXhWUVVGWExGTkJRVlY0Unl4RlFVRkxlVWNzUjBGRGVrSXNTVUZCU1RkRExFVkJRVTAyUXl4SFFVRlhMRWRCWVhKQ0xFOUJXRmtzVFVGQlVIcEhMRWxCUTBOclJDeEZRVUZoYUVRc1QwRkJVVVlzU1VGRGVrSTJReXhGUVVGUFowSXNUVUZCVDBRc1JVRkRSU3hwUWtGQlVqVkVMRVZCUTA0c1EwRkJSVUVzUjBGQlVVRXNSMEZIV2xVc1JVRkJTMGdzUzBGQlRYRkVMRVZCUVVzMVJDeEpRVWxZTkVRc1IwRkhVamhETEZGQlFWTXNVMEZCVlhoRExFVkJRVTFzUlN4RlFVRkxhVU1zUjBGRE4wSXNUMEZCWXl4TlFVRlFha01zUjBGQlpTeEZRVUZKVnl4RlFVRlJTaXhMUVVGTlVDeEZRVUZMYTBVc1JVRkJUV3BETEVsQlMzQkVORUlzVFVGQlR5eFRRVUZWVHl4RlFVRlBkVU1zUjBGTGRrSXNTVUZLUVN4SlFVRkphRU1zUjBGQlQyZERMRVZCUVU5NFJDeFBRVU5xUW5sQ0xFVkJRVWtzUlVGRFNqTkRMRVZCUVVsdFF5eEZRVUZOYWtJc1QwRkZTSGxDTEVWQlFVbEVMRVZCUVV0RExFbEJRMmhDVWl4RlFVRlBia01zUzBGQlVUQkZMRVZCUVZFdlFpeEhRVXQ0UWl4UFFVWkJVaXhGUVVGTmFrSXNUMEZCVTJ4Q0xFVkJSVkp0UXl4SFFVZFNTU3hMUVVGTkxGTkJRVlZpTEVWQlFVOUxMRVZCUVZVMFF5eEhRVk5vUXl4SlFWSkJMRWxCUTBORExFVkJRVlVzUjBGRFZqVkZMRVZCUVVrc1JVRkRTbXRDTEVWQlFWTlJMRVZCUVUxU0xFOUJRMll5UkN4SFFVRnJRa1lzUlVGSldETkZMRVZCUVVsclFpeEZRVUZSYkVJc1MwRkRRU3RDTEVWQlFWVk1MRVZCUVU4eFFpeEhRVUZMUVN4TFFVTm9RalpGTEVkQlEzaENSQ3hGUVVGUmJrY3NTMEZCVFdsRUxFVkJRVTh4UWl4SlFVbDJRaXhQUVVGUE5FVXNSMEZKVWpWRExFbEJRVXNzVTBGQlZVNHNSVUZCVDBzc1JVRkJWU3RETEVkQlF5OUNMRWxCUVVrMVJDeEZRVUZSTmtRc1JVRkRXQzlGTEVWQlFVa3NSVUZEU2pKQ0xFVkJRVTBzUjBGSFVDeEhRVUZMVml4RlFVRmhVeXhIUVVWcVFpeEpRVVJCVWl4RlFVRlRVU3hGUVVGTlVpeFBRVU5RYkVJc1JVRkJTV3RDTEVWQlFWRnNRaXhKUVVkTUxFOUJSbVFyUlN4RlFVRlJhRVFzUlVGQlZVd3NSVUZCVHpGQ0xFZEJRVXRCTEVWQlFVYzRSU3hMUVVkb1EyNUVMRVZCUVVsc1JDeExRVUZOYzBjc1VVRk5XaXhKUVVGTkwwVXNTMEZCU3pCQ0xFVkJSMGtzVDBGR1pIRkVMRVZCUVZGb1JDeEZRVUZWVEN4RlFVRlBNVUlzUjBGQlMwRXNSVUZCUnpoRkxFdEJSMmhEYmtRc1JVRkJTV3hFTEV0QlFVMXpSeXhIUVUxaUxFOUJRVTh6Unl4RlFVRk5kVVFzU1VGSlpIRkVMRXRCUVUwc1JVRkpUaTlHTEZGQlFWTkJMRWxCUjJFc2JVSkJRVmhuUnl4VFFVTllja1VzUlVGQlQwY3NSMEZCU1d0RkxFOUJRVTlETEZWQlFXRnVTQ3hGUVVGTGEwZ3NUMEZCVDBNc1YwRkpOVU4wUlN4RlFVRlBhMElzUzBGQlRTeDFSVUZCZFVWeFJDeE5RVUZQTEV0QlF6RkdMRk5CUVZWRExFVkJRVWx1UXl4SFFVTmlkRVVzUlVGQldTeFhRVUZoYzBVc1JVRkJUeXhMUVVGUlFTeEZRVUZMYjBNc1owSkJiVUl2UXl4SlFVRkpReXhGUVZkS0xGTkJRVmt4U0N4SFFVTmFMRWxCUVVsdlF5eEZRVU5JWml4RlFVTkJjMGNzUlVGRFFVTXNSVUZEUVVNc1JVRkRRVU1zUlVGRFFVTXNSVUZEUVVNc1JVRkRRVU1zUlVGRFFVTXNSVUZEUVVNc1JVRkhRVU1zUlVGRFFYWkpMRVZCUTBGM1NTeEZRVU5CUXl4RlFVTkJReXhGUVVOQlF5eEZRVU5CZUVJc1JVRkRRWGxDTEVWQlIwRXhReXhGUVVGVkxGTkJRVmNzUlVGQlNTeEpRVUZKTWtNc1MwRkROMEpETEVWQlFXVXpTU3hGUVVGUFNDeFRRVU4wUWl0SkxFVkJRVlVzUlVGRFZrTXNSVUZCVHl4RlFVTlFReXhGUVVGaFF5eExRVU5pUXl4RlFVRmhSQ3hMUVVOaVJTeEZRVUZuUWtZc1MwRkRhRUpITEVWQlFYbENTQ3hMUVVONlFra3NSVUZCV1N4VFFVRlZReXhGUVVGSFF5eEhRVWw0UWl4UFFVaExSQ3hKUVVGTlF5eEpRVU5XYkVJc1IwRkJaU3hIUVVWVUxFZEJTVkpzU0N4RlFVRlRMRWRCUVU5RExHVkJRMmhDWml4RlFVRk5MRWRCUTA1dFNpeEZRVUZOYmtvc1JVRkJTVzFLTEVsQlExWkRMRVZCUVdGd1NpeEZRVUZKVlN4TFFVTnFRa0VzUlVGQlQxWXNSVUZCU1ZVc1MwRkRXRTRzUlVGQlVVb3NSVUZCU1Vrc1RVRkpXazhzUlVGQlZTeFRRVUZWTUVrc1JVRkJUVzVHTEVkQlIzcENMRWxCUmtFc1NVRkJTV3BETEVWQlFVa3NSVUZEVURCRExFVkJRVTB3UlN4RlFVRkxiRWNzVDBGRFNteENMRVZCUVVrd1F5eEZRVUZMTVVNc1NVRkRhRUlzUjBGQlMyOUlMRVZCUVUxd1NDeExRVUZSYVVNc1JVRkRiRUlzVDBGQlQycERMRVZCUjFRc1QwRkJVU3hIUVVkVWNVZ3NSVUZCVnl3MlNFRk5XRU1zUlVGQllTeHpRa0ZIWWtNc1JVRkJZU3d3UWtGQk5FSkVMRVZCUTNoRExEQkRRVWRFUlN4RlFVRmhMRTFCUVZGR0xFVkJRV0VzUzBGQlQwTXNSVUZCWVN4UFFVRlRSQ3hGUVVjNVJDeG5Ra0ZCYTBKQkxFVkJTV3hDTERKRVFVRTJSRU1zUlVGQllTeFBRVU14UlVRc1JVRkJZU3hQUVVWa1J5eEZRVUZWTEV0QlFVOUdMRVZCUVdFc2QwWkJUMEZETEVWQlFXRXNaVUZQTTBORkxFVkJRV01zU1VGQlNVTXNUMEZCVVV3c1JVRkJZU3hKUVVGTExFdEJRelZEVFN4RlFVRlJMRWxCUVVsRUxFOUJRVkVzU1VGQlRVd3NSVUZCWVN3NFFrRkRkRU5CTEVWQlFXRXNTMEZCVFN4TFFVVndRazhzUlVGQlV5eEpRVUZKUml4UFFVRlJMRWxCUVUxTUxFVkJRV0VzUzBGQlQwRXNSVUZCWVN4TFFVTTFSRkVzUlVGQlpTeEpRVUZKU0N4UFFVRlJMRWxCUVUxTUxFVkJRV0VzVjBGQllVRXNSVUZCWVN4SlFVRk5RU3hGUVVNM1JTeExRVU5FVXl4RlFVRlhMRWxCUVVsS0xFOUJRVkZNTEVWQlFXRXNUVUZGY0VOVkxFVkJRVlVzU1VGQlNVd3NUMEZCVVVZc1IwRkRkRUpSTEVWQlFXTXNTVUZCU1U0c1QwRkJVU3hKUVVGTlNpeEZRVUZoTEV0QlJUZERWeXhGUVVGWkxFTkJRMWhETEVkQlFVMHNTVUZCU1ZJc1QwRkJVU3hOUVVGUlNpeEZRVUZoTEV0QlEzWkRZU3hOUVVGVExFbEJRVWxVTEU5QlFWRXNVVUZCVlVvc1JVRkJZU3hMUVVNMVEyTXNTVUZCVHl4SlFVRkpWaXhQUVVGUkxFdEJRVTlLTEVWQlFXRXNVMEZEZGtObExFdEJRVkVzU1VGQlNWZ3NUMEZCVVN4SlFVRk5TQ3hIUVVNeFFtVXNUMEZCVlN4SlFVRkpXaXhQUVVGUkxFbEJRVTFHTEVkQlF6VkNaU3hOUVVGVExFbEJRVWxpTEU5QlFWRXNlVVJCUTNCQ1RDeEZRVUZoTEN0Q1FVRnBRMEVzUlVGQllTeGpRVU16UkVFc1JVRkJZU3hoUVVGbFFTeEZRVUZoTEZOQlFWVXNTMEZEY0VSdFFpeExRVUZSTEVsQlFVbGtMRTlCUVZFc1QwRkJVMDRzUlVGQlZ5eExRVUZOTEV0QlNUbERjVUlzWVVGQlowSXNTVUZCU1dZc1QwRkJVU3hKUVVGTlRDeEZRVU5xUXl4dFJFRkJjVVJCTEVWQlEzSkVMRzFDUVVGeFFrRXNSVUZCWVN4dFFrRkJiMElzVFVGSGVFUnhRaXhGUVVGUkxGTkJRMUpETEVWQlFWVXNjME5CUTFaRExFVkJRVlVzVTBGRlZrTXNSVUZCVlN4NVFrRkhWa01zUlVGQllTeHRRMEZGWWtNc1IwRkJWeXhQUVVsWVF5eEhRVUZaTEVsQlFVbDBRaXhQUVVGUkxIVkNRVUY1UWt3c1JVRkJZU3gxUWtGQmQwSXNTMEZEZEVZMFFpeEhRVUZaTEZOQlFWVkRMRVZCUVZGRExFZEJRemRDTEVsQlFVbERMRVZCUVU4c1MwRkJUMFlzUlVGQlQyaE1MRTFCUVU4c1IwRkJUU3hOUVVWMFF5eFBRVUZQYVV3c1NVRlRUa01zUlVGQlR5eEZRVU5PUXl4UFFVRlBReXhoUVVGalJpeEZRVUZQTEU5QlF6VkNReXhQUVVGUFF5eGhRVUZqUml4SFFVRlJMRWRCUVVzc1RVRkJaU3hMUVVGUVFTeEZRVUZsTEZOQlN6VkVSeXhIUVVGaExITkVRVU5pUXl4SFFVRmhMRk5CUVZWRExFVkJRVWxETEVkQlF6RkNMRTlCUVV0QkxFVkJSMUVzVDBGQlVFUXNSVUZEUnl4SlFVbEVRU3hGUVVGSGRrd3NUVUZCVHl4SFFVRkpMRWRCUVUwc1MwRkRNVUoxVEN4RlFVRkhSU3hYUVVGWlJpeEZRVUZIZUVrc1QwRkJVeXhIUVVGSmRFTXNVMEZCVlN4SlFVRlBMRWxCU1RORExFdEJRVTg0U3l4SFFVOW1SeXhIUVVGblFpeFhRVU5tTjBRc1MwRkhSRGhFTEVkQlFYRkNReXhIUVVOd1FpeFRRVUZWT1Vnc1IwRkRWQ3hQUVVGNVFpeEpRVUZzUWtFc1JVRkJTeXRJTEZWQlFYRkVMR0ZCUVdoREwwZ3NSVUZCUzJkSkxGTkJRVk0xUlN4bFFVVm9SQ3hEUVVGRk5rVXNTVUZCU3l4aFFVRmpReXhMUVVGTkxGZEJTVGRDTEVsQlEwTXhUQ3hGUVVGTFJDeE5RVU5HVkN4RlFVRk5TU3hGUVVGTlJ5eExRVUZOYVVrc1JVRkJZVFpFTEZsQlEycEROMFFzUlVGQllUWkVMRmxCVFdSeVRTeEZRVUZMZDBrc1JVRkJZVFpFTEZkQlFWZHNTaXhSUVVGVE9VSXNVMEZEY2tNc1RVRkJVV2xNTEVkQlExUTFUQ3hGUVVGUExFTkJRVVZFTEUxQlFVOVVMRVZCUVVsdFJDeFBRVWR1UWl4VFFVRlZiVU1zUlVGQlVXbElMRWRCUTJwQ2JrUXNSVUZCVnpOSkxFMUJRVTgyUlN4RlFVRlJiRVlzUlVGQlRVY3NTMEZCVFdkTkxFdEJTM1pETEZOQlFWVnFTQ3hGUVVGUmFVZ3NSMEZMYWtJc1NVRktRU3hKUVVGSk0wZ3NSVUZCU1ZVc1JVRkJUMjVETEU5QlEyUnNRaXhGUVVGSkxFVkJSMHR4UkN4RlFVRlJWaXhMUVVGUk1rZ3NSVUZCUzNSTExFOUJReTlDY1VRc1JVRkJUMjVETEU5QlFWTjVRaXhGUVVGSkxFbEJTM1pDTEZOQlFWTXlReXhIUVVGUmVrVXNSVUZCVlVNc1JVRkJVekJFTEVWQlFWTXJSaXhIUVVNMVF5eEpRVUZKUXl4RlFVRkhlRXNzUlVGQlIybERMRVZCUVUxM1NTeEZRVUZMUXl4RlFVRlBReXhGUVVGUlF5eEZRVU51UTBNc1JVRkJZUzlLTEVkQlFWZEJMRVZCUVZGblN5eGpRVWRvUXpGTUxFVkJRVmN3UWl4RlFVRlZRU3hGUVVGUk1VSXNVMEZCVnl4RlFVdDZReXhIUVVoQmIwWXNSVUZCVlVFc1IwRkJWeXhIUVVkSkxHbENRVUZpTTBRc1NVRkJNRUpCTEVkQlEzaENMRWxCUVdKNlFpeEhRVUVyUWl4SlFVRmlRU3hIUVVFclFpeExRVUZpUVN4RlFVVndReXhQUVVGUGIwWXNSVUZKVWl4SlFVRk5LMFlzU1VGRFRIWkZMRVZCUVdGc1JpeEhRVU5pUVN4RlFVRlZRU3hIUVVGWGNrUXNSVUZGYUVKNVNTeEhRVUZwUWl4RFFVbHlRaXhIUVVGclFpeExRVUZpT1Vjc1NVRkJjVUp6VEN4RlFVRlJNMElzUlVGQlYyZERMRXRCUVUxc1N5eEpRVWRzUkN4SFFVRlBNa29zUlVGQlNVVXNSVUZCVHl4SlFVZHFRaXhIUVVGclFpeEpRVUZpZEV3c1JVRkJhVUlzUTBGRGNrSXNTMEZCVHpaRExFVkJRVTl1UWl4RlFVRlJhMHNzWlVGQlowSlNMRWxCVlhKRExFOUJRVTlvUnl4RlFVeFFMRWRCUVV0MlF5eEZRVUZMWjBvc1MwRkJUMVFzUlVGRmFFSXNUMEZFUVdoSExFVkJRVkV2Uml4TFFVRk5kMFFzUjBGRFVIVkRMRTlCV1ZRc1IwRkJTM0ZITEVsQlFXZENOVWtzUlVGQlR6UkpMRVZCUVZkSExHVkJRV2RDVWl4TFFVTjBSRzVGTEVWQlFWVjJSaXhGUVVGVGJVSXNTVUZEYmtKQkxFVkJRVXRuU2l4TFFVRlBWQ3hGUVVkYUxFOUJSRUZvUnl4RlFVRlJMMFlzUzBGQlRYZEVMRWRCUTFCMVF5eE5RVXRJTEVOQlFVRXNSMEZCUzJ0SExFVkJRVThzUjBGRmJFSXNUMEZFUVdwTkxFVkJRVXRFTEUxQlFVOW5SeXhGUVVGVE1VUXNSVUZCVVc5TExIRkNRVUZ6UW5KTExFbEJRelZETWtRc1JVRkhSQ3hKUVVGUFowY3NSVUZCU1VVc1JVRkJUeXhMUVVGVGVrd3NSVUZCVVd0TkxIZENRVU42UTNKTExFVkJRVkZ4U3l4MVFrRkhVaXhQUVVSQk1VMHNSVUZCUzBRc1RVRkJUMmRITEVWQlFWTXhSQ3hGUVVGUmNVc3NkVUpCUVhkQ1dDeEpRVU01UTJoSExFVkJTMVFzUjBGQlMzWkdMRVZCUVZGdFRTeE5RVU5ZZEVVc1JVRkJkMEpxUnl4RlFVRlhMRkZCUTJwRGMwWXNTVUZCWTBFc1JVRkJWV3RHTEV0QlFVMTRTeXhOUVVsc1FpeEpRVUZpZWtJc1IwRkJjVVFzVjBGQmJrTXdRaXhGUVVGUmJVb3NVMEZCVXpWRkxHVkJRU3RDTEVOQldYQkZMRWRCVmtGMVJpeEZRVUZqTDBvc1JVRkRaR2RMTEVWQlFXRXZTaXhGUVZOTExFbEJRV0l4UWl4SlFVTkdNa2tzUlVGQlUzTkVMRXRCUVUxNFN5eEpRVUZqYVVnc1JVRkJZWFZFTEV0QlFVMTRTeXhKUVVGbExFTkJjVUpxUlN4TFFXeENRV2RMTEVWQlFXRTNRaXhIUVVGVGNVTXNTMEZCVFhoTExFbEJRV041U3l4SFFVRmhlRXNzUlVGQlVVd3NZVUZET1VSTExFdEJTVzFDUVN4SFFVRlpOMElzUlVGQlVYTk5MRk5CUjJoRFpDeEZRVUZOTTBvc1JVRkJVVlFzWVVGQll5eFBRVU5zUTI5TExFVkJRVTFCTEVWQlFVa3pSeXhSUVVGVE1FWXNSMEZCV1VNc1NVRkZMMEl6U1N4RlFVRlJVaXhoUVVGakxFdEJRVkZ0U3l4RlFVRk5PVWNzU1VGTmRFTXpSQ3hIUVVSQk1rc3NSVUZCVTJwR0xFVkJRVlUzUlN4SlFVTlNTeXhQUVVOSWJFSXNTMEZEVURKTExFVkJRVkV6U3l4SlFVRlJlVXNzUlVGQlRTeEpRVUZOUVN4RlFVRk5MRlZCUVdFc1NVRkRPVU5sTEVkQlFWbGlMRVZCUVZFelN5eEpRVVYwUWpSTExFVkJRV05FTEVWQlFVOWpMRXRCUVUwc1MwRkhOVUlzU1VGSlF5eFBRVWhCYUU0c1JVRkJTMFFzVFVGQlQyZEhMRVZCUTFoeFJ5eEZRVUZYWVN4cFFrRkJhMEprTEVsQlJYWkNjRWNzUlVGRFRpeE5RVUZSYlVnc1IwRkRWRGRGTEVWQlFYZENha2NzUjBGQlZTeEhRVU5xUXl4UlFVTkpORW9zU1VGQlVUbEhMRWRCUTFvM1F5eEZRVUZST0Vzc1owSkJRV2xDTEZGQlVUbENMRTlCUVU5b1J5eEZRVUZSTDBVc1JVRkJVMmxFTEZGQlFWTTRSQ3hGUVVGUExFMUJRVkU1Unl4RlFVRlRNRVFzUlVGQlV5dEdMRWRCVTI1RkxGTkJRVk0xUkN4TFFVTlNMRWxCUVVsclJpeEZRVUZQTEVkQldWZ3NUMEZXUVN4VFFVRlRReXhGUVVGUFF5eEZRVUZMYUVnc1IwRlJjRUlzVDBGTVN6aEhMRVZCUVV0d1RpeExRVUZOYzA0c1JVRkJUU3hMUVVGUmVFY3NSVUZCUzNsSExHOUNRVWN6UWtZc1JVRkJUMFFzUlVGQlMwa3NVMEZGV0Vnc1JVRkJUME1zUlVGQlRTeExRVUZSYUVnc1IwRlRhRU1zVTBGQlUyMUlMRWRCUVdOdVRDeEhRVVYwUWl4UFFVUkJRU3hGUVVGSk5FTXNTVUZCV1N4RlFVTlVOVU1zUlVGUFVpeFRRVUZUYjB3c1IwRkJVWEJNTEVkQlEyaENMRWxCUVVseFRDeEZRVUZMTTA4c1JVRkJVekJETEdOQlFXVXNXVUZGYWtNc1NVRkRReXhSUVVGVFdTeEZRVUZKY1V3c1IwRkRXaXhOUVVGUkwwSXNSMEZEVkN4UFFVRlBMRVZCUTA0c1VVRkhTU3RDTEVWQlFVY3pUQ3haUVVOUU1rd3NSVUZCUnpOTUxGZEJRVmRETEZsQlFXRXdUQ3hIUVVrMVFrRXNSVUZCU3l4TlFWTlFMRk5CUVZORExFZEJRVmRETEVWQlFVOURMRWRCU1RGQ0xFbEJTRUVzU1VGQlNYaFBMRVZCUVUxMVR5eEZRVUZOYmtnc1RVRkJUeXhMUVVOMFFtNUdMRVZCUVVscVF5eEZRVUZKYlVRc1QwRkZSR3hDTEV0QlExQjFSaXhGUVVGTGFVZ3NWMEZCV1hwUExFVkJRVXRwUXl4SlFVRlJkVTBzUlVGVmFFTXNVMEZCVTBVc1IwRkJZM3BHTEVWQlFVZERMRWRCUTNwQ0xFbEJRVWw1Uml4RlFVRk5la1lzUjBGQlMwUXNSVUZEWkRKR0xFVkJRVTlFTEVkQlFYTkNMRWxCUVdZeFJpeEZRVUZGTlVnc1ZVRkJhVU1zU1VGQlpqWklMRVZCUVVVM1NDeFZRVU51UXpSSUxFVkJRVVUwUml4WlFVRmpNMFlzUlVGQlJUSkdMRmxCUjNCQ0xFZEJRVXRFTEVWQlEwb3NUMEZCVDBFc1JVRkpVaXhIUVVGTFJDeEZRVU5LTEV0QlFWVkJMRVZCUVUxQkxFVkJRVWxITEdGQlEyNUNMRWRCUVV0SUxFbEJRVkY2Uml4RlFVTmFMRTlCUVZFc1JVRkxXQ3hQUVVGUFJDeEZRVUZKTEVkQlFVc3NSVUZQYWtJc1UwRkJVemhHTEVkQlFXMUNkRTRzUjBGRE0wSXNUMEZCVHl4VFFVRlZlVU1zUjBGRmFFSXNUVUZCWjBJc1ZVRkVURUVzUlVGQlMyZEpMRk5CUVZNMVJTeGxRVU5GY0VRc1JVRkJTM3BETEU5QlFWTkJMRWRCVVRORExGTkJRVk4xVGl4SFFVRnZRblpPTEVkQlF6VkNMRTlCUVU4c1UwRkJWWGxETEVkQlEyaENMRWxCUVVsblFpeEZRVUZQYUVJc1JVRkJTMmRKTEZOQlFWTTFSU3hqUVVONlFpeFBRVUZyUWl4VlFVRlVjRU1zUjBGQk5rSXNWMEZCVkVFc1NVRkJkVUpvUWl4RlFVRkxla01zVDBGQlUwRXNSMEZSY0VVc1UwRkJVM2RPTEVkQlFYTkNhRVFzUjBGSE9VSXNUMEZCVHl4VFFVRlZMMGdzUjBGTGFFSXNUVUZCU3l4VFFVRlZRU3hGUVZOVVFTeEZRVUZMZUVJc1lVRkJaME1zU1VGQmJFSjNRaXhGUVVGTEswZ3NVMEZIZGtJc1ZVRkJWeTlJTEVWQlExWXNWVUZCVjBFc1JVRkJTM2hDTEZkQlEySjNRaXhGUVVGTGVFSXNWMEZCVjNWS0xGZEJRV0ZCTEVWQlJUZENMMGdzUlVGQlN5dElMRmRCUVdGQkxFVkJUWEJDTDBnc1JVRkJTMmRNTEdGQlFXVnFSQ3hIUVVreFFpOUlMRVZCUVV0blRDeGpRVUZuUW1wRUxFZEJRM0pDUml4SFFVRnZRamRJTEV0QlFWY3JTQ3hGUVVjeFFpOUlMRVZCUVVzclNDeFhRVUZoUVN4RlFVdGtMRlZCUVZjdlNDeEhRVU5tUVN4RlFVRkxLMGdzVjBGQllVRXNSMEZaTlVJc1UwRkJVMnRFTEVkQlFYZENiazBzUjBGRGFFTXNUMEZCVDIxTUxFZEJRV01zVTBGQlZXbENMRWRCUlRsQ0xFOUJSRUZCTEVkQlFWbEJMRVZCUTB4cVFpeEhRVUZqTEZOQlFWVXpRaXhGUVVGTk0wWXNSMEZOY0VNc1NVRk1RU3hKUVVGSmFrTXNSVUZEU0hsTExFVkJRV1Z5VFN4RlFVRkpMRWRCUVVsM1NpeEZRVUZMY2tvc1QwRkJVV2xOTEVkQlEzQkRiazRzUlVGQlNXOU9MRVZCUVdGc1RTeFBRVWRXYkVJc1MwRkRSblZMTEVWQlFWRTFTQ3hGUVVGSmVVc3NSVUZCWTNCT0xFMUJRemxDZFVzc1JVRkJUVFZJTEV0QlFWTnBReXhGUVVGVGFrTXNSMEZCVFRSSUxFVkJRVTAxU0N4VFFWbDZReXhUUVVGVE1ra3NSMEZCWVhoTExFZEJRM0pDTEU5QlFVOUJMRkZCUVcxRUxFbEJRV3BEUVN4RlFVRlJiMHNzYzBKQlFYZERjRXNzUlVGcmNrTXhSU3hKUVVGTlpDeExRVGx4UTA1bUxFVkJRVlZ4Unl4SFFVRlBja2NzVVVGQlZTeEhRVTh6UW5kSExFVkJRVkZJTEVkQlFVOUhMRTFCUVZFc1UwRkJWWGhFTEVkQlEyaERMRWxCUVVsdlRDeEZRVUZaY0V3c1IwRkJVVUVzUlVGQlMzRk1MR0ZCUXpWQ2NrZ3NSVUZCVldoRkxFbEJRVlZCTEVWQlFVczJTU3hsUVVGcFFqZEpMRWRCUVU5elRDeG5Ra0ZMYkVRc1QwRkJVVFZGTEVWQlFVMHdReXhMUVVGTlowTXNSMEZCWVhCSUxFZEJRVmRCTEVWQlFWRm5SU3hWUVVGWkxGTkJVV3BGYWtVc1JVRkJZMVlzUjBGQlQxVXNXVUZCWXl4VFFVRlZiRWNzUjBGRE5VTXNTVUZCU1RCT0xFVkJRVmxETEVWQlEyWXhUaXhGUVVGTlJDeEZRVUZQUVN4RlFVRkxaMHdzWlVGQmFVSm9UQ3hGUVVGUGVVY3NSVUZQTTBNc1QwRkJTM2hITEVkQlFVOTBReXhIUVVFMlFpeEpRVUZxUW5ORExFVkJRVWxZTEZWQlFXMUNWeXhGUVVGSmQwNHNhVUpCVFc1RWRFZ3NSMEZFUVhoSkxFVkJRVmR6UXl4SFFVTlJkMDRzWjBKQlEyNUNja2dzUjBGQmEwSlVMRVZCUVU5b1NTeEhRVkZ3UWpoSkxFZEJRV2RDT1Vrc1NVRkRiRUpuVVN4RlFVRlphRkVzUlVGQlUybFJMR05CUVdsQ1JDeEZRVUZWUlN4TlFVRlJSaXhKUVVkeVJFRXNSVUZCVlVjc2FVSkJRMlJJTEVWQlFWVkhMR2xDUVVGclFpeFRRVUZWTDBRc1NVRkJaU3hIUVVjeFF6UkVMRVZCUVZWSkxHRkJRM0pDU2l4RlFVRlZTU3haUVVGaExGZEJRVmxvUlN4TFFWTnlRelZMTEVWQlFWRnpUU3hOUVVGUldTeEhRVUZSTEZOQlFWVkRMRWRCUldwRExFOUJSRUZ1Unl4RlFVRlJla1lzV1VGQllUUk1MRWRCUVVzMVRDeFpRVUZoTDBNc1JVRkJVekJETEdOQlFXVXNZVUZEZWtJc1NVRkJlRUpwVFN4RlFVRkhWaXh0UWtGRFpsVXNSVUZCUjFZc2FVSkJRV3RDTEhWQ1FVRjNRbmhMTEZOQlUyaEVha01zUlVGQlVYVkpMRmRCUVdFeVJTeEhRVUZSTEZOQlFWVkRMRWRCUlhSRExFOUJSRUZCTEVWQlFVY3dRaXhWUVVGWkxFdEJRMUF4UWl4RlFVRkhMMHdzWVVGQll5eGxRVTh4UW5CQ0xFVkJRVkZwVFN4eFFrRkJkVUpwUWl4SFFVRlJMRk5CUVZWRExFZEJSV2hFTEU5QlJFRkJMRVZCUVVjMVRDeFpRVUZoTDBNc1JVRkJVM05STEdOQlFXVXNUVUZEYUVNelFpeEZRVUZIYkVJc2NVSkJRWE5DTEV0QlFVMW9TeXhUUVVsNFEycERMRVZCUVZGclRTeDFRa0ZCZVVKeVF5eEZRVUZSZFVNc1MwRkJUVFZPTEVWQlFWTXdUaXgzUWtGTmVFUnNUU3hGUVVGUkswOHNVVUZCVlRkQ0xFZEJRVkVzVTBGQlZVTXNSMEZGYmtNc1QwRkVRVzVITEVWQlFWRjZSaXhaUVVGaE5Fd3NSMEZCUzI1Q0xFZEJRVXQwU0N4SFFVTjJRbXhITEVWQlFWTjNVU3h2UWtGQmMwSjRVU3hGUVVGVGQxRXNhMEpCUVcxQ2RFc3NSMEZCVlhwRExGTkJTWHBGYWtNc1JVRkJVU3RQTEZOQlExcDZTU3hGUVVGTE1ra3NUMEZCWVN4SFFVRkpMRk5CUVZWcVJDeEhRVU12UWl4SlFVRkphMFFzUlVGQlUyeEVMRVZCUVVkdVNDeFJRVUZUYlVZc1IwRkJWME1zU1VGRGNFTXNUMEZCVHl4VFFVRlZha2dzUjBGRGFFSXNUMEZCVDBFc1JVRkJTelZDTEdGQlFXTXNVVUZCVnpoT0xFbEJSM1pETlVrc1JVRkJTelpKTEV0QlFWY3NSMEZCU1N4VFFVRlZia1FzUlVGQlNXNUxMRWRCUTJwRExGRkJRWFZETEVsQlFUTkNRU3hGUVVGUmEwc3NaMEpCUVd0RE9VVXNSVUZCYVVJc1EwRkRkRVVzU1VGQlNXcEZMRVZCUVU5dVFpeEZRVUZSYTBzc1pVRkJaMEpETEVkQlEyNURMRTlCUVU5b1NpeEZRVUZQTEVOQlFVVkJMRWRCUVZNc1QwRkpNMEp6UkN4RlFVRkxNa2tzVDBGQllTeEhRVUZMTEZOQlFWVnFSQ3hIUVVOb1F5eEpRVUZKYTBRc1JVRkJVMnhFTEVWQlFVZHVTQ3hSUVVGVGJVWXNSMEZCVjBNc1NVRkRjRU1zVDBGQlR5eFRRVUZWYWtnc1IwRkRhRUlzU1VGQlNXNURMRTlCUVhkRExFbEJRVEZDYlVNc1JVRkJTMjlOTEd0Q1FVTjBRbkJOTEVWQlFVdHZUU3hwUWtGQmEwSXNUVUZEZUVJc1QwRkJUM1pQTEVkQlFWRkJMRVZCUVV0cFJpeFJRVUZWYjBvc1NVRk5hRU0xU1N4RlFVRkxOa2tzUzBGQlZ5eEhRVUZKTEZOQlFWVnVSQ3hGUVVGSmJrc3NSMEZEYWtNc1VVRkJkVU1zU1VGQk0wSkJMRVZCUVZGclN5eG5Ra0ZCYTBNNVJTeEZRVUZwUWl4RFFVTjBSU3hKUVVGSmNFY3NSVUZCVFVVc1JVRkJSekJDTEVWQlExcFBMRVZCUVU5dVFpeEZRVUZSYTBzc1pVRkJaMEpETEVkQlJXaERMRWRCUVV0b1NpeEZRVUZQTEVOQlNWZ3NTVUZFUVc1RExFVkJRVTl0UXl4RlFVRkxiMDBzYVVKQlFXdENMRkZCUTJwQ2RrOHNSVUZCUzJsR0xGRkJRVlZyUnl4RlFVTXpRaXhOUVVGUExFTkJRVVZvU2l4SFFVMVdMRWxCUmtGUUxFVkJRVkZhTEVWQlFWRnRUaXhyUWtGQmJVSm9SQ3hIUVVOdVEycE1MRVZCUVVrc1JVRkRUV2xETEVWQlFVOVFMRVZCUVU4eFFpeE5RVVYyUWl4SlFVUkJSaXhGUVVGUGJVTXNSVUZCUzI5TkxHbENRVUZyUWl4UlFVTnFRblpQTEVWQlFVdHBSaXhSUVVGVmEwY3NSVUZETTBJc1RVRkJUeXhEUVVGRmFFb3NSMEZMV2l4TlFVRlBMRTFCVFZaelJDeEZRVUZMTmtrc1MwRkJXU3hKUVVGSmJsQXNSVUZCVVdsTkxIRkNRVU0xUWl4VFFVRlZiMFFzUlVGQlMzaE9MRWRCUTJRc1dVRkJOa01zU1VGQmFrTkJMRVZCUVZGdlN5eHhRa0ZEV25CTExFVkJRVkZ2U3l4eFFrRkJjMEp2UkN4SFFVY3hRbkpRTEVWQlFWRnRUU3hKUVVOYWRFc3NSVUZCVVRSTExHbENRVUZyUWpSRExGRkJSRE5DTEVkQlMxSXNVMEZCVlVFc1JVRkJTM2hPTEVkQlEyUXNTVUZCU1cxQ0xFVkJRMGh6VFN4RlFVRk5MRWRCUTA1MlR5eEZRVUZKTEVWQlIwcDNSU3hGUVVGVk1VUXNSVUZCVVc5TExIRkNRVUZ6UW05RUxFZEJSM3BETEVkQlFXRXNUVUZCVWtFc1JVRkJZeXhEUVVOc1FpeExRVUZWY2swc1JVRkJUM1ZETEVWQlFWTjRSU3hOUVVOR0xFbEJRV3hDYVVNc1JVRkJTemRETEZWQlExUnRVQ3hGUVVGSk9WQXNTMEZCVFhkRUxFZEJTVm9zVDBGQlQzTk5MRVZCUlZJc1QwRkJUeTlLTEVkQlNWUmxMRVZCUVVzMlNTeExRVUZqTEUxQlFVbHVVQ3hGUVVGUmEwMHNkMEpCUVRCQ0xGTkJRVlV5UXl4RlFVRlhhRTRzUjBGRE4wVXNVVUZCSzBNc1NVRkJia05CTEVWQlFWRnhTeXgzUWtGQk1FTnFSaXhGUVVNM1JDeFBRVUZQY0VZc1JVRkJVWEZMTEhWQ1FVRjNRakpETEVsQlZYcERNVWdzUlVGQlowSXNSMEZQYUVKRUxFVkJRVmtzU1VGRlRHeElMRVZCUVZGdFRTeEpRVUZOZEVNc1JVRkJVWFZETEV0QlFVMDFUaXhGUVVGVGFVOHNjVUpCU1RORFV5eEhRVUZSTEZOQlFWVkRMRWRCUldwQ0xFbEJRVWx2UXl4RlFVOUtka2tzUlVGQlVYcEdMRmxCUVdFMFRDeEhRVUZMY1VNc1ZVRkJXU3hWUVVGWk9Vc3NSVUZCVlN4eFFrRkRNVU5CTEVWQlFWVXNhMFZCVDNaQ2VVa3NSVUZCUjFZc2FVSkJRV3RDTEhkQ1FVRjVRbmhMTEZGQlEyeEVhVVlzUlVGQlZURklMRXRCUVUwc1UwRkJWelpKTEVWQlFXRXNaMEpCUzI1RE9FVXNSVUZCUjFZc2FVSkJRV3RDTEdOQlFXVjRTeXhSUVVONlEybEdMRVZCUVZVeFNDeExRVUZOTEUxQlFWRTJTU3hGUVVGaExHRkJRV1ZFTEVWQlFWY3NTMEZKTVVRclJTeEZRVUZIVml4cFFrRkJhMElzVVVGQlZTOUlMRVZCUVZVc1RVRkJUM3BETEZGQlEzSkVhVVlzUlVGQlZURklMRXRCUVUwc1QwRlJha0lyVUN4RlFVRlJMMUVzUlVGQlV6QkRMR05CUVdVc1ZVRkRNVUpITEdGQlFXTXNUMEZCVVN4SlFVTTFRamhNTEVWQlFVYzFUQ3haUVVGaFowOHNSMEZEVm5CRExFVkJRVWRXTEdsQ1FVRnJRaXhoUVVGamVFc3NVVUZEZUVOcFJpeEZRVUZWTVVnc1MwRkJUU3hOUVVGUk5ra3NSVUZCWVN4UlFVRlZRU3hGUVVGaExFdEJRek5FUVN4RlFVRmhMR2RDUVUxVU9FVXNSVUZCUjFZc2FVSkJRV3RDTEZsQlFXRjRTeXhSUVVOMlEybEdMRVZCUVZVeFNDeExRVUZOTEZsQlRWZ3lUaXhGUVVGSFZpeHBRa0ZCYTBJc1MwRkJUeTlJTEVWQlFWVXNUVUZCVDNwRExGRkJRMnhFYVVZc1JVRkJWVEZJTEV0QlFVMHNXVUZMYWtJeVRpeEZRVUZIVml4cFFrRkJhMElzVVVGRGNrSjJSaXhGUVVGVk1VZ3NTMEZCVFN4cFFrRkhha0l3VGl4SFFVRlJMRk5CUVZWRExFZEJRMnBDUVN4RlFVRkhjVU1zVlVGQldTeHZSa0ZMWml4SlFVRkpSQ3hGUVVGUkwxRXNSVUZCVXpCRExHTkJRV1VzVTBGRGNFTnhUeXhGUVVGTmJFOHNZVUZCWXl4UFFVRlJMRlZCUXpWQ09Fd3NSVUZCUnpWTUxGbEJRV0ZuVHl4SFFVRlJiRThzWVVGQll5eFBRVUZSTEV0QlNYcERPRXdzUlVGQlIxWXNhVUpCUVd0Q0xGbEJRV0Y0U3l4UlFVTjBRMmxHTEVWQlFWVXhTQ3hMUVVGTkxFOUJRVk0yU1N4RlFVRmhMR1ZCUzFjc1NVRkJOME00UlN4RlFVRkhWaXhwUWtGQmEwSXNXVUZCWVhoTExGRkJRM1JEYVVZc1JVRkJWVEZJTEV0QlFVMHNWMEZCV1N4aFFVczNRbmRJTEVWQlFWRjZSaXhaUVVGaE5Fd3NSMEZCUzNCRExGVkJRVmNzUlVGRFl5eEpRVUU1UTI5RExFVkJRVWRXTEdsQ1FVRnJRaXhoUVVGamVFc3NVVUZEZGtOcFJpeEZRVUZWTVVnc1MwRkJUU3hYUVVGWkxHRkJTemRDTWs0c1JVRkJSMVlzYVVKQlFXdENMRkZCUTNKQ2RrWXNSVUZCVlRGSUxFdEJRVTBzV1VGSldGRXNSVUZCVVhsUUxHZENRVUZyUWpWR0xFVkJRVkYxUXl4TFFVRlJla2NzUlVGQlZYRkNMRVZCUVZGeVFpeFRRVU5zUlhGQ0xFVkJRVkV3U1N4MVFrRkRVakZKTEVWQlFWRXlTU3h2UWtGRFVqTkpMRVZCUVZFMFNTeHJRa0ZEVWpWSkxFVkJRVkUyU1N4eFFrRkZVak5ETEVkQlFWRXNVMEZCVlVNc1IwRkpha0p1VGl4RlFVRlJPRkFzYTBKQlFXOUNia3NzUlVGQlVYUkhMRXRCUVUwNFRpeEZRVUZKTEV0QlNUbERlRWdzUlVGQlVYUkhMRXRCUVUwNFRpeEZRVUZKTEdGQlEyeENhRWNzUlVGQll6TklMRXRCUVUwc1MwRkJUV2RLTEV0QlNUVkNkRUlzUlVGQldVRXNSVUZCVldwR0xGRkJRVlVzU1VGQlNYbEhMRTlCUVZGNFFpeEZRVUZWYzBZc1MwRkJUU3hOUVVNMVJISkdMRVZCUVdkQ1FTeEZRVUZqYkVZc1VVRkJWU3hKUVVGSmVVY3NUMEZCVVhaQ0xFVkJRV054Uml4TFFVRk5MRTFCU1hoRkswSXNSVUZCWVRGRkxFVkJRVkYxUXl4TFFVRk5jRVlzUlVGQlVTdEpMSGxDUVV0dVF6TkpMRVZCUVZkdFNDeEhRVUZqTVVVc1JVRkJVWFZETEV0QlFVMXdSaXhGUVVGUlNTeFZRVU01UXl4VFFVRlZWeXhGUVVGSFF5eEhRVU5hTEVsQlFVbG5TU3hGUVVGMVFpeEpRVUZtYWtrc1JVRkJSVFZJTEZOQlFXbENORWdzUlVGQlJYVkhMR2RDUVVGclFuWkhMRVZCUTJ4RWEwa3NSVUZCVFdwSkxFZEJRVXRCTEVWQlFVVjRSeXhYUVVOa0xFOUJRVTkxUnl4SlFVRk5hMGtzVFVGQlYwRXNSMEZCZDBJc1NVRkJha0pCTEVWQlFVazVVQ3haUVVOc1F6WlFMRVZCUVUwMVNTeFRRVU5NTkVrc1JVRkJUVFZKTEZOQlFWVTJTU3hIUVVOb1FteEpMRVZCUVVWblNTeDVRa0ZCT0VRc1IwRkJia05vU1N4RlFVRkZaMGtzZDBKQlFYbENSU3hOUVVjelJDeFRRVUZWYkVrc1JVRkJSME1zUjBGRFdpeEhRVUZMUVN4RlFVTktMRXRCUVZWQkxFVkJRVWxCTEVWQlFVVjRSeXhaUVVObUxFZEJRVXQzUnl4SlFVRk5SQ3hGUVVOV0xFOUJRVThzUlVGSlZpeFBRVUZQTEVkQlQxUkVMRVZCUVZsNVJ5eEZRVU5hTEZOQlFWVjRSeXhGUVVGSFF5eEhRVWRhTEVkQlFVdEVMRWxCUVUxRExFVkJSVllzVDBGRVFXeENMRWRCUVdVc1JVRkRVaXhGUVVsU0xFbEJRVWx2U2l4SFFVRlhia2tzUlVGQlJXZEpMSGxDUVVFeVFpOUlMRVZCUVVVclNDeDNRa0ZET1VNc1QwRkJTMGNzU1VGblFsVXNSMEZRWmtFc1IwRkJXVzVKTEVWQlFVVTRSQ3hsUVVGcFFqbEVMRXRCUVZORExFVkJRVVUyUkN4bFFVRnBRamRFTEVkQlF6RkVSQ3hGUVVGRlowa3NkMEpCUVhsQ0wwZ3NSMEZITTBJc1MwRkpSMmhKTEVWQlFWRnRVU3hqUVVGblFtNUpMRVZCUVVVclNDeDNRa0ZCZVVKb1NTeExRVUZSYlVrc1JVRlBla1J1U1N4SFFVRkxka29zUjBGQldYVktMRVZCUVVVNFJDeGxRVUZwUW5aRkxFZEJRM2hEUml4RlFVRlZSU3hGUVVGalV5eEpRVU5vUWl4RlFVOUtReXhIUVVGTGVFb3NSMEZCV1hkS0xFVkJRVVUyUkN4bFFVRnBRblpGTEVkQlEzaERSaXhGUVVGVlJTeEZRVUZqVlN4SFFVTnFRaXhGUVVsRWJrSXNSVUZEU25CSUxFVkJRVk52U0N4RlFVRlhhMElzUjBGQlRYUkpMRVZCUVZOdlNDeEZRVUZYYlVJc1IwRkRhRVFzUlVGSFpTeEZRVUZXYTBrc1IwRkJaU3hGUVVGSkxFbEJSVE5DTEZOQlFWVnVTU3hGUVVGSFF5eEhRVWRhTEVkQlFVdEVMRWxCUVUxRExFVkJSVllzVDBGRVFXeENMRWRCUVdVc1JVRkRVaXhGUVVkU0xFbEJRVWt5Unl4RlFVTklNVTBzUlVGQlNTeEZRVU5LY1ZBc1JVRkJUWEpKTEVWQlFVVjJSeXhYUVVOU2VVOHNSVUZCVFdwSkxFVkJRVVY0Unl4WFFVTlNOazhzUlVGQlN5eERRVUZGZEVrc1IwRkRVSFZKTEVWQlFVc3NRMEZCUlhSSkxFZEJSMUlzU1VGQlRXOUpMRWxCUVZGSUxFVkJUV0lzVDBGQlQyeEpMRWRCUVV0MlNpeEhRVUZaTEVWQlEzWkNkMG9zUjBGQlMzaEtMRVZCUVZjc1JVRkZhRUkwVWl4SFFVRlBMRVZCUTFCSUxFVkJRVTBzUlVGRFRuQktMRVZCUTBWd1NDeEZRVUZUYjBnc1JVRkJWMnRDTEVkQlFVMTBTU3hGUVVGVGIwZ3NSVUZCVjIxQ0xFZEJRMmhFTEVWQlIwc3NSMEZCUzI5SkxFbEJRVkZJTEVWQlEyNUNMRTlCUVU5NlF5eEhRVUZqZWtZc1JVRkJSME1zUjBGTGVrSXNTVUZFUVhsR0xFVkJRVTB4Uml4RlFVTkpNRVlzUlVGQlRVRXNSVUZCU1dwTkxGbEJRMjVDTms4c1JVRkJSMFVzVVVGQlV6bERMRWRCUjJJc1NVRkVRVUVzUlVGQlRYcEdMRVZCUTBsNVJpeEZRVUZOUVN4RlFVRkphazBzV1VGRGJrSTRUeXhGUVVGSFF5eFJRVUZUT1VNc1IwRkpZaXhMUVVGUk5FTXNSVUZCU1hSUUxFdEJRVkYxVUN4RlFVRkpkbEFzU1VGRGRrSkJMRWxCUjBRc1QwRkJUMEVzUlVGSFRubE5MRWRCUVdNMlF5eEZRVUZKZEZBc1IwRkJTM1ZRTEVWQlFVbDJVQ3hKUVU4elFuTlFMRVZCUVVsMFVDeEpRVUZQZFVjc1IwRkJaMElzUlVGRE0wSm5TaXhGUVVGSmRsQXNTVUZCVDNWSExFVkJRV1VzUlVGRk1VSXNSMEZIU3psSkxFZEJMMk5EUVN4SFFXdGtWRFpJTEVkQlFVOVdMRkZCUVZVc1UwRkJWVFpMTEVWQlFVMURMRWRCUTJoRExFOUJRVTl3U3l4SFFVRlJiVXNzUlVGQlRTeExRVUZOTEV0QlFVMURMRWxCUjJ4RGNFc3NSMEZCVDI5S0xHZENRVUZyUWl4VFFVRlZlazBzUlVGQlRYZE9MRWRCUjNoRExFZEJSa0Y2U2l4RlFVRmhMMFFzUjBGRlVtaEVMRVZCUVZGNVVDeHBRa0ZCYlVKNFNTeEpRVU01UWxrc1JVRkJkMEl5U1N4RlFVRlBMRkZCUXpkQ2Nrb3NTVUZCYTBKQkxFVkJRV05wUml4TFFVRk5iMFVzVDBGRGRFTjBTaXhKUVVGclFrRXNSVUZCVld0R0xFdEJRVTF2UlN4SlFVVnlReXhKUVVORExFbEJRVWs1VGl4RlFVRk5hVVFzUlVGQlVYUkhMRXRCUVUweVJDeEZRVUZOZDA0c1IwRkhPVUlzUjBGQlN6bE9MRWRCUVU4eFF5eEZRVUZST0ZBc2JVSkJTVzVDT1Uwc1JVRkJTM2hGTEZWQlFYVkRMRXRCUVROQ2QwVXNSVUZCUzNoRkxGTkJRVk15UWl4VFFVTXZRaXhQUVVGUGRVTXNSVUZGVUN4TlFVRlJNRWtzUjBGRFZIWkVMRVZCUVhkQ01ra3NSMEZCVFN4SFFVbG9ReXhQUVVGUGJrc3NSMEZCVVcxTExFVkJRVTFvVXl4RlFVRlZMRXRCUVUwc1EwRkJSWGRGTEVsQlFWTm1MRTlCUVZNc1IwRkhNVVJ2UlN4SFFVRlBaU3hUUVVGWExGTkJRVlYyUml4RlFVRlRiVUlzUjBGVmNFTXNUMEZJVDI1Q0xFVkJRVkZuU3l4bFFVRnBRbWhMTEVsQlFXRnlSQ3hIUVVNMVEzVkpMRVZCUVdGc1JpeEhRVVZRZFVZc1JVRkJWWFpHTEVWQlFWTnRRaXhKUVVjelFuRkVMRWRCUVU5eFN5eExRVUZQTEZOQlFWVXhUaXhGUVVGTlowSXNTVUZQZEVKb1FpeEZRVUZMTmtrc1pVRkJhVUkzU1N4SlFVRlZlRVVzUjBGRGRFTjFTU3hGUVVGaEwwUXNSMEZIWkN4SlFVRkpiRUlzUlVGQlMzZEZMRVZCUVV0cFNDeFhRVUZaZGtvc1JVRkJTMjlETEdWQlJ6bENjRVlzUlVGQlRXTXNSMEZCVFd4RExFVkJRVTlRTEV0QlFVMXBTQ3hGUVVGTGFVZ3NWMEZCV1haS0xFVkJRVXR2UXl4bFFVTTVRM1JGTEVWQlFVbHJRaXhGUVVGTlowSXNSMEZCVDJsRUxGRkJRMnBDZUVNc1JVRkZSaXhaUVVGbFFTeEpRVUZTZWtRc1JVRkRUa0VzUlVGRFFXaENMRVZCUVZGMVNTeGhRVUZsZEVJc1JVRkRkRUpxUlN4RlFVRkxOVUlzWVVGQll6UkRMRWxCUTJwQ2FFUXNSVUZCVFdkRExFVkJRVXR2VFN4cFFrRkJhMEp3VEN4TFFVRlphRVFzUlVGQlNUSlFMRlZCUXpsRE0xQXNSVUZCU1RoRkxFMUJRMG9zVFVGSFNrOHNSMEZCVHpaRUxFOUJRVk1zVTBGQlZUQkhMRWRCUTNwQ0xFOUJRVk5CTEVWQlFVMHNTVUZCU3k5TUxGRkJRVk13Uml4SFFVRlpReXhMUVVjeFEyNUZMRWRCUVU5MFFpeE5RVUZSTEZOQlFWVkRMRWRCUTNoQ0xFMUJRVTBzU1VGQlNYUkhMRTFCUVU4c01FTkJRVFJEYzBjc1NVRlBPVVJ4UWl4SFFVRlBkMHNzVjBGQllTeFRRVUZWZEV3c1IwRkROMElzU1VGQlNYWkRMRVZCUTBnNFRpeEZRVUZoTEVkQlEySndUaXhGUVVGSkxFVkJRMG96UXl4RlFVRkpMRVZCVDB3c1IwRktRU3RHTEVkQlFXZENPVWNzUlVGQlVTdFJMR2xDUVVONFFteExMRWRCUVdFM1J5eEZRVUZSWjFJc1dVRkJZM3BNTEVWQlFWRnlSeXhOUVVGUExFZEJRMnhFY1Vjc1JVRkJVVE5DTEV0QlFVMXJSU3hIUVVWVWFFSXNSVUZCWlN4RFFVTnVRaXhMUVVGVk9VUXNSVUZCVDNWRExFVkJRVk40UlN4TlFVTndRbWxETEVsQlFWTjFReXhGUVVGVGVFVXNTMEZEZEVJeVF5eEZRVUZKYjA0c1JVRkJWM1JTTEV0QlFVMTFRaXhKUVVkMlFpeExRVUZSTWtNc1MwRkRVRFpDTEVWQlFWRXhRaXhQUVVGUmFVNHNSVUZCV1hCT0xFZEJRVXNzUjBGUmJrTXNUMEZHUVcxRUxFVkJRVmtzUzBGRlRIUkNMRWRCVDFKblFpeEZRVUZWUml4SFFVRlBSU3hSUVVGVkxGTkJRVlYyUkN4SFFVTndReXhKUVVGSmJrTXNSVUZEU0RaQ0xFVkJRVTBzUjBGRFRqTkNMRVZCUVVrc1JVRkRTbG9zUlVGQlZ6WkRMRVZCUVVzM1F5eFRRVVZxUWl4SFFVRk5RU3hIUVZGRExFZEJRV3RDTEVsQlFXSkJMRWRCUVN0Q0xFbEJRV0pCTEVkQlFTdENMRXRCUVdKQkxFVkJRV3RDTEVOQlNXcEZMRWRCUVdsRExHbENRVUZ5UWpaRExFVkJRVXRwVHl4WlFVTm9RaXhQUVVGUGFrOHNSVUZCUzJsUExGbEJTVm9zU1VGQlRXcFBMRVZCUVU5QkxFVkJRVXRyVHl4WFFVRlpiRThzUlVGQlRVRXNSVUZCVDBFc1JVRkJTelJMTEZsQlF5OURiRXdzUjBGQlR6WkVMRVZCUVZOMlJDeFJRVWRhTEVkQlFXdENMRWxCUVdJM1F5eEhRVUVyUWl4SlFVRmlRU3hGUVVNM1FpeFBRVUZQTmtNc1JVRkJTMjFQTEdWQmJrSmFMRXRCUVZWMFVTeEZRVUZQYlVNc1JVRkJUV3BETEUxQlIzUkNNa0lzUjBGQlR6WkVMRVZCUVZNeFJpeEhRWEZDYkVJc1QwRkJUelpDTEVsQlIxSTBSQ3hGUVVGUFJDeEhRVUZQSzBzc1ZVRkJXU3hEUVVkNlFuSkZMRmxCUVdFc1IwRkZZbk5GTEdGQlFXTndSU3hIUVVWa2VFSXNUVUZCVDNoRExFVkJSVkJ6UlN4WFFVRlpMRWRCUlZvMFFpeExRVUZOTEVkQlJVNXRReXhUUVVGVkxFTkJRMVJETEVsQlFVc3NRMEZCUlhSSExFbEJRVXNzWVVGQll5OUlMRTlCUVU4c1IwRkRha056VHl4SlFVRkxMRU5CUVVWMlJ5eEpRVUZMTEdOQlExcDNSeXhKUVVGTExFTkJRVVY0Unl4SlFVRkxMR3RDUVVGdFFpOUlMRTlCUVU4c1IwRkRkRU4zVHl4SlFVRkxMRU5CUVVWNlJ5eEpRVUZMTEc5Q1FVZGlNRWNzVlVGQlZ5eERRVU5XZEVrc1MwRkJVU3hUUVVGVmIwTXNSMEZYYWtJc1QwRldRVUVzUlVGQlR5eEhRVUZOUVN4RlFVRlBMRWRCUVVrMVJ5eFJRVUZUYlVZc1IwRkJWME1zU1VGSE5VTjNRaXhGUVVGUExFbEJRVkZCTEVWQlFVOHNTVUZCVDBFc1JVRkJUeXhKUVVOdVEwRXNSVUZCVHl4SlFVRlBMRWxCUVVzMVJ5eFJRVUZUYlVZc1IwRkJWME1zU1VGRmNFSXNUMEZCWm5kQ0xFVkJRVThzUzBGRFdFRXNSVUZCVHl4SFFVRk5MRWxCUVUxQkxFVkJRVThzUjBGQlRTeExRVWN4UWtFc1JVRkJUWFpOTEUxQlFVOHNSVUZCUnl4SlFVZDRRbkZMTEUxQlFWTXNVMEZCVld0RExFZEJhVU5zUWl4UFFYSkNRVUVzUlVGQlR5eEhRVUZOUVN4RlFVRlBMRWRCUVVseVJpeGpRVVZWTEZGQlFUZENjVVlzUlVGQlR5eEhRVUZKZGswc1RVRkJUeXhGUVVGSExFbEJSMjVDZFUwc1JVRkJUeXhKUVVOYWNFWXNSMEZCVDNSQ0xFMUJRVTh3Unl4RlFVRlBMRWxCUzNSQ1FTeEZRVUZQTEV0QlFWTkJMRVZCUVU4c1IwRkRkRUpCTEVWQlFVOHNTVUZCVVVFc1JVRkJUeXhKUVVGUExFZEJRemRDTEVkQlFYRkNMRk5CUVdaQkxFVkJRVThzU1VGQmFVTXNVVUZCWmtFc1JVRkJUeXhMUVVOMlEwRXNSVUZCVHl4TFFVRlhRU3hGUVVGUExFZEJRVTFCTEVWQlFVOHNTVUZCZDBJc1VVRkJaa0VzUlVGQlR5eExRVWN6UTBFc1JVRkJUeXhKUVVOc1FuQkdMRWRCUVU5MFFpeE5RVUZQTUVjc1JVRkJUeXhKUVVkbVFTeEhRVWRTYmtNc1QwRkJWU3hUUVVGVmJVTXNSMEZEYmtJc1NVRkJTVzFITEVWQlEwaERMRWRCUVZsd1J5eEZRVUZQTEVsQlFVOUJMRVZCUVU4c1IwRkZiRU1zVDBGQlMzaERMRVZCUVcxQ0xFMUJRVVZ0UkN4TFFVRk5XQ3hGUVVGUExFbEJReTlDTEUxQlNVaEJMRVZCUVU4c1IwRkRXRUVzUlVGQlR5eEhRVUZOUVN4RlFVRlBMRWxCUVU5QkxFVkJRVThzU1VGQlR5eEhRVWM1UW05SExFZEJRVms1U1N4RlFVRlJjVVFzUzBGQlRYbEdMRXRCUjI1RFJDeEZRVUZUYmt3c1JVRkJWVzlNTEVkQlFWVXNUVUZITjBKRUxFVkJRVk5ETEVWQlFWTndVeXhSUVVGVExFbEJRVXR2VXl4RlFVRlROVkFzVDBGQlV6SlFMRWRCUVZkRExFVkJRVk0xVUN4VlFVZDRSWGRLTEVWQlFVOHNSMEZCVFVFc1JVRkJUeXhIUVVGSmRrMHNUVUZCVHl4RlFVRkhNRk1zUjBGRGJFTnVSeXhGUVVGUExFZEJRVTF2Unl4RlFVRlRNMU1zVFVGQlR5eEZRVUZITUZNc1NVRkpNVUp1Unl4RlFVRk5kazBzVFVGQlR5eEZRVUZITEUxQlNYcENLMUFzVDBGQlVTeERRVVZRTjBZc1NVRkJUeXhUUVVGVk1Fa3NSMEZEYUVJc1NVRkJTVGxITEVWQlFWYzRSeXhGUVVGcFFtcE9MRkZCUVZOdFJpeEhRVUZYUXl4SlFVRlpOMFFzWTBGRGFFVXNUVUZCTkVJc1RVRkJja0l3VEN4RlFVTk9MRmRCUTBNc1QwRkJUeXhIUVVWU0xGTkJRVlU1VHl4SFFVTlVMRTlCUVU5QkxFVkJRVXRuU1N4VlFVRlphRWtzUlVGQlMyZEpMRk5CUVZNMVJTeG5Ra0ZCYTBJMFJTeEpRVWt6UkRkQ0xFMUJRVk1zVTBGQlZUQkdMRWRCUTJ4Q0xFbEJRVWxyUkN4RlFVRlZkRXNzUlVGQldXOUlMRVZCUVZrc1MwRkZkRU1zVDBGQlQydEVMRWxCUTBwQkxFVkJRVlVzU1VGQlNYSktMRTlCUVZFc1RVRkJVVXdzUlVGREwwSXNTVUZCVFhkSExFVkJRVmtzU1VGQlRYaEhMRVZCUVdFc1UwRkJZVm9zUlVGRGFrUnZTQ3hGUVVGWExGTkJRVlUzVEN4SFFVTndRaXhQUVVGUEswOHNSVUZCVVROR0xFdEJRMWtzYVVKQlFXNUNjRW9zUlVGQlN6Wk1MRmRCUVRCQ04wd3NSVUZCU3paTUxHZENRVU5rTEVsQlFYUkNOMHdzUlVGQlN6VkNMR05CUTFnMFFpeEZRVUZMTlVJc1lVRkJZeXhWUVVOd1FpeFBRVXRPYVVrc1MwRkJVU3hUUVVGVmNrWXNSVUZCVFdkUExFVkJRVlZETEVkQlEycERMRTlCUVU4c1UwRkJWV3BRTEVkQlEyaENMRWxCUVVsclVDeEZRVUZUTjB3c1IwRkJUM0ZMTEV0QlFVMHhUaXhGUVVGTlowSXNSMEZGYUVNc1QwRkJaU3hOUVVGV2EwOHNSVUZEWjBJc1QwRkJZa1lzUjBGRlJrRXNTVUZKVGtVc1IwRkJWU3hIUVVsVkxFMUJRV0pHTEVWQlFXMUNSU3hKUVVGWFJDeEZRVU4yUWl4UFFVRmlSQ3hGUVVGdlFrVXNTVUZCVjBRc1JVRkRiRUlzVDBGQllrUXNSVUZCYjBKRExFZEJRWEZETEVsQlFUVkNReXhGUVVGUGVsTXNVVUZCVTNkVExFZEJRMmhETEU5QlFXSkVMRVZCUVc5Q1F5eEhRVUZUUXl4RlFVRlBlbE1zVVVGQlUzZFRMRWxCUVZjc1JVRkRNME1zVDBGQllrUXNSVUZCYjBKRExFZEJRVk5ETEVWQlFVOW9WQ3hQUVVGUksxTXNSVUZCVFdoUkxGVkJRV0ZuVVN4RlFVTnNSQ3hQUVVGaVJDeEhRVUZ6UWl4SlFVRk5SU3hGUVVGUGNrNHNVVUZCVXpSRUxFVkJRV0VzUzBGQlVTeExRVUZOYUVvc1VVRkJVM2RUTEVsQlFWY3NSVUZET1VVc1QwRkJZa1FzU1VGQmIwSkZMRWxCUVZkRUxFZEJRVk5ETEVWQlFVOW9WQ3hOUVVGUExFVkJRVWNyVXl4RlFVRk5hRkVzVDBGQlV5eExRVUZSWjFFc1JVRkJVU3hSUVU4elJqRkpMRTFCUVZNc1UwRkJWV2hLTEVWQlFVMDBVaXhGUVVGTlF5eEZRVUZYYkZBc1JVRkJUMFVzUjBGRGFFUXNTVUZCU1dsUUxFVkJRV2RETEZGQlFYWkNPVklzUlVGQlMzSkNMRTFCUVU4c1JVRkJSeXhIUVVNelFtOVVMRVZCUVN0Q0xGTkJRWEpDTDFJc1JVRkJTM0pDTEU5QlFWRXNSMEZEZGtKeFZDeEZRVUZyUWl4WlFVRlVTaXhGUVVWV0xFOUJRV2xDTEVsQlFWWnFVQ3hIUVVGM1FpeEpRVUZVUlN4RlFVZHlRaXhUUVVGVlNpeEhRVU5VTEZGQlFWTkJMRVZCUVV0NFFpeFpRVWRtTEZOQlFWVjNRaXhGUVVGTmQxQXNSVUZCVlVNc1IwRkRla0lzU1VGQlNUVkdMRVZCUVU4MlJpeEZRVUZoUXl4RlFVRlpPVklzUlVGQlRTdFNMRVZCUVZkRExFVkJRM0JFTlVnc1JVRkJUVzlJTEVsQlFWZERMRVZCUVZVc1kwRkJaMElzYTBKQlF6TkRVU3hGUVVGVE9WQXNSVUZCUzNoQ0xGZEJRMlIzUXl4RlFVRlBkVThzUjBGQlZYWlFMRVZCUVV0blNTeFRRVUZUTlVVc1kwRkRMMEl5VFN4SFFVRlpUaXhKUVVGUlJpeEZRVU53UWpkRkxFZEJRVThzUlVGRlVpeEhRVUZMYjBZc1JVRkJVeXhEUVVkaUxFZEJRVXRVTEVWQlFWTXNRMEZEWWl4TFFVRlJjRWdzUjBGQlRTeERRVVZpTEVsQlJFRndTeXhGUVVGUGJVTXNSVUZEUjI1RExFVkJRVTlCTEVWQlFVMXZTeXhKUVVOMFFpeEhRVUZMYzBnc1JVRkRTakZTTEVWQlFVdHRTeXhUUVVGVE5VVXNaMEpCUVd0Q2NFTXNSVUZEWkN4SlFVRnNRbTVFTEVWQlFVdFdMRk5CUlV3c1QwRkJUeXhGUVV0VU1GTXNSVUZCVVRWSUxFVkJRV1VzVTBGQlZERkxMRWxCUVc5Q2MxTXNSMEZCVXl4alFVVTFReXhQUVVGUExFVkJUVklzUjBGSVFVRXNSVUZCVVN4RFFVRkZVQ3hGUVVGVlVTeEZRVUZQTlVJc1YwRkJZVFJDTEVWQlFVOUZMRmRCUnpGRFZpeEhRVUZYVXl4SFFXdENaaXhKUVVoQmNrWXNSMEZFUVd0R0xFZEJSRUV2Uml4SFFVaEJOa1lzUjBGS1FVTXNSMEZFUVRsU0xFVkJRVTlwVXl4SFFVTlpjRThzUzBGQlpUZEVMRVZCUVUwMlJDeEhRVUZaTEV0QlNURkNOMFFzUlVGQlMyOVRMRmxCUXpWQ1RpeEZRVUZaT1ZJc1JVRkJTMjlUTEZWQlFXRXNTMEZGV2pGVExFbEJRVlVzU1VGRFdpeExRVUZSWjBnc1IwRkJWM05HTEVWQlFVOHNTMEZEZWtKQkxFVkJRVThzUjBGRE0wSm9UU3hGUVVGUEsxSXNSMEZCWVVVc1JVRkJUek5JTEZkQlFWbDVTQ3hIUVVVM1FpOVNMRWxCUVZNclVpeEhRVUZoTDFJc1IwRkJVVUVzUlVGQlRXOUxMRXRCUnpORGVVTXNSVUZCVDJ0R0xFVkJRVmtzU1VGQlQwTXNSVUZCVFRWTExFOUJSMnhETEVkQlFYVkNMRWxCUVd4Q2NFZ3NSVUZCUzFZc1dVRkJiMEoxVGl4SFFVRlJOMDBzU1VGQlUyMURMRVZCUVU4c1EwRkRja1F3VUN4RlFVRmhibE1zUjBGQlV5eERRVUZGWjBnc1JVRkJVM0ZNTEVWQlFWZHNSaXhIUVVNMVF5eFpRWGxDUml4SFFXeENTM0ZHTEVsQllVcHlSaXhGUVVSQmEwWXNSMEZFUVM5R0xFZEJTRUUyUml4SFFVcEJReXhIUVVSQk9WSXNSVUZCVDIxRExFZEJRMWt3UWl4TFFVRmxOMFFzUlVGQlRUWkVMRWRCUVZrc1MwRkpNVUkzUkN4RlFVRkxiMU1zV1VGRE5VSk9MRVZCUVZrNVVpeEZRVUZMYjFNc1ZVRkJZU3hMUVVWYU1WTXNTVUZCVlN4SlFVTmFMRXRCUVZGblNDeEhRVUZYYzBZc1JVRkJUeXhMUVUxb1F5eEpRVUZVWVN4RlFVZEtMRTFCUVZVM1RTeEpRVUZUSzFJc1IwRkJZUzlTTEVkQlFWRkJMRVZCUVUxdlN5eExRVU16UTNsRExFVkJRVTlyUml4RlFVRlpMRWxCUVU5RExFVkJRVTAxU3l4VlFVVXpRbk5MTEVWQlEwNHhVaXhGUVVGTGJVc3NVMEZCVXpWRkxHZENRVUZyUW5CRExFVkJRMlFzU1VGQmJFSnVSQ3hGUVVGTFZpeGpRVU5JZFU0c1NVRkhSM0ZHTEV0QlRVcE1MRWRCVEVGRExFVkJRV0U1VWl4RlFVRk5Oa1FzUzBGRGFFSTNSQ3hGUVVGTk5rUXNSMEZCV1N4TFFVbExOMFFzUlVGQlMyOVRMRmxCUXpWQ1RpeEZRVUZaT1ZJc1JVRkJTMjlUTEZWQlFXRXNTMEZGY0VJeFV5eEhRVUZUTEVOQlFVVm5TQ3hGUVVGVGJVY3NTVUZITjBJM1RTeEpRVUZUYlVNc1RVRlZiRUlzVDBGRVFUQkxMRWRCUVZGMFN5eExRVU5SUml4SFFVRlhkMHNzUlVGQlQzaExMRWRCUVZVc1IwRkJTM2RMTEVWQlFVOTRTeXhIUVVGVExFdEJTM0pGYjBjc1QwRkJWU3hUUVVGVk5Fb3NSVUZCVVdoR0xFZEJUVE5DTEVsQlFVbHBSaXhGUVVOSWNsSXNSVUZCUzNkRkxFVkJRVXRyUXl4UlFVRlRNRXNzU1VGQldUVk5MRVZCUVVzNFRTeFhRVUZaUml4RlFVRlBPVTBzWjBKQlEzUkVReXhIUVVGUGRFSXNUVUZCVHl4MVFrRkJlVUp0VHl4SFFVdDZReXhQUVVGTGNGSXNSVUZCU1RSRExFZEJRMFExUXl4RlFVRkpiMDBzUjBGSlVIQk5MRVZCUVVkSExFOUJRVk1zUjBGRGFFSnJVaXhGUVVGUExFTkJRVVZFTEVWQlFWRkJMRVZCUVZFc1IwRkJTV2hHTEVkQlEzUkNOVWdzUlVGQlN6aE5MRmRCUVZkMlZDeGxRVUZuUW5GVUxFVkJRVTg1VFN4bFFVTTNRelpITEVkQlFXTXNVMEZCVlROQ0xFVkJRVTB6Uml4SFFVazNRaXhKUVVoQkxFbEJRVWt3VGl4RlFVTklReXhGUVVGVmVGSXNSVUZCU1hkS0xFVkJRVTAwUXl4SFFVTndRbTVPTEVWQlFVbDFVeXhGUVVGUmNsSXNUMEZEVEd4Q0xFdEJSVkIxU3l4RlFVUkJLMGdzUlVGQlRUVlVMRVZCUVZNMlRDeEZRVUZOWjBrc1JVRkJVM1pUTEU5QlEySTBSU3hGUVVGVE1FNHNSMEZCVVVNc1JVRkJVM1pUTEUxQlJ6ZERMRk5CUVZWcFF5eEhRVU5VTEU5QlFVOXNRaXhGUVVGSmEwSXNSVUZCVFN4RlFVRkhiVkVzUzBGSmFFSnlVaXhKUVVsVU1FY3NVVUZCVXl4RFFVZFNLMHNzU1VGQlQzUkhMRWRCUVdNc1UwRkJWWEpNTEVkQlN6bENMRWxCUVVreVRpeEZRVUZSTEVkQlExaG9TeXhGUVVGVkxFZEJRMVpwVHl4RlFVRlZPVTBzUlVGQlV6bEZMRVZCUVZOcFJDeFJRVUZUT0VRc1JVRkJUeXhQUVVVM1F5eFBRVUZQTmtzc1JVRkJVemxQTEVkQlEyWjFTU3hIUVVGakxGTkJRVlV6UWl4RlFVRk5NMFlzUlVGQlV6Wk5MRVZCUVZWRExFZEJUV2hFTEVsQlRFRXNTVUZCU1hwUUxFVkJRMGg1VVN4RlFVRlpSQ3hGUVVGVGJFa3NSVUZCVFN4TFFVRk5iVWdzUlVGQlN5eEpRVU4wUXpGU0xFVkJRVWwxU3l4RlFVRkxja29zVDBGSFJteENMRTFCUTBGcFF5eEZRVUZQZVZFc1JVRkJWekZUTEUxQlEzaENkVXNzUlVGQlRYWkxMRXRCUVZNMFJTeEZRVUZUTlVVc1IwRkJUV2xETEUxQlNXcERMRk5CUVZWQkxFVkJRVTEzVUN4RlFVRlZReXhIUVUxNlFpeFBRVXhCYkVRc1JVRkJUeXhIUVVGTmRrMHNSVUZEWW5kUkxFVkJRVk5xUlN4RlFVRlBMRXRCUVUxclJDeEZRVUZMYkU0c1IwRkhNMEpuU3l4RlFVRlBMRWRCUVUwc1RVRkRUR2hMTEVWQlFWRXdReXhUUVVsdVFubE1MRWxCUVU5NlJ5eEhRVUZqTEZOQlFWVnlUQ3hIUVVNNVFpeFBRVUZQTEZOQlFWVnZRaXhIUVVOb1FpeFBRVUZQY1VRc1IwRkJVWHBGTEVWQlFWVnZRaXhIUVVGUFppeFBRVUZUTEV0QlNUTkRiVVlzVTBGQldUWkdMRWRCUVdNc1UwRkJWVGxNTEVkQlJXNURMRTlCUkVGQkxFVkJRVTlCTEVWQlFVc3dSQ3hSUVVGVGJVWXNSMEZCVjBNc1NVRkRla0lzVTBGQlZXcElMRWRCUTJoQ0xFOUJRVk5CTEVWQlFVdHBUeXhoUVVGbE1Vc3NSVUZCVTNaRUxFbEJRVk4yUkN4UlFVRlRNRUlzU1VGQlZTeExRVmR3UlhkVExFdEJRVkV4Unl4SFFVRmpMRk5CUVZVd1J5eEhRVTh2UWl4UFFVcE5NMHNzUlVGQldXOUVMRXRCUVUxMVNDeEhRVUZSTEV0QlF5OUNkRTRzUjBGQlQzUkNMRTFCUVU4c2NVSkJRWFZDTkU4c1IwRkZkRU5CTEVWQlFVOUJMRVZCUVVzNVR5eFJRVUZUYlVZc1IwRkJWME1zU1VGQldUZEVMR05CUTNKRExGTkJRVlZ3UkN4SFFVTm9RaXhKUVVGSk5GRXNSVUZEU2l4SFFVTkRMRWRCUVU5QkxFVkJRVmN6VFN4RlFVTnFRbXBGTEVWQlFVc3lVU3hMUVVOTU0xRXNSVUZCU3pWQ0xHRkJRV01zWVVGQlowSTBRaXhGUVVGTE5VSXNZVUZCWXl4UlFVZDBSQ3hQUVVSQmQxTXNSVUZCVjBFc1JVRkJVM2hPTEdsQ1FVTkJkVTRzUjBGQk1rTXNTVUZCYmtORExFVkJRVk51VlN4UlFVRlRhMVVzUlVGQlR5eFpRVVV6UXpOUkxFVkJRVTlCTEVWQlFVdDRRaXhoUVVGclF5eEpRVUZzUW5kQ0xFVkJRVXMzUXl4VlFVTTNReXhQUVVGUExFdEJTMVJwUlN4UFFVRlZMRk5CUVZWd1FpeEhRVU51UWl4SlFVRkpObEVzUlVGQlQyeFdMRVZCUVU5dFZpeFZRVUZaYmxZc1JVRkJUMjFXTEZOQlFWTkVMRXRCUXpsRExFOUJRVTlCTEVkQlFWRkJMRVZCUVVzelZTeE5RVUZQTEV0QlFWRTRSQ3hGUVVGTFowb3NTVUZIZWtNclNDeExRVUZSTEZOQlFWVXZVU3hIUVVOcVFpeFBRVUZQUVN4SlFVRlRaMFVzUjBGSGFrSm5UaXhOUVVGVExGTkJRVlZvVWl4SFFVTnNRaXhQUVVGUFFTeEpRVUZUZUVVc1JVRkJVM2xXTEdsQ1FVTnlRbnBXTEVWQlFWTXdWaXhWUVVGWk1WWXNSVUZCVXpCV0xHZENRVU0zUW14U0xFVkJRVXQ2UXl4TlFVRlJlVU1zUlVGQlMyMVNMRTlCUVZOdVVpeEZRVUZMYjFJc1YwRkpkRU5ETEZGQlFWZDBSeXhKUVVGelFpeEhRVU5xUTJoRUxGTkJRVmxuUkN4SlFVRnpRaXhIUVVWc1EzVkhMRkZCUVZjc1UwRkJWWFJTTEVkQlNYQkNMRWxCUVVsblNTeEZRVUZYYUVrc1JVRkJTMmRKTEZOQlFWTTFSU3hqUVVNM1FpeE5RVUZ6UWl4VlFVRmlORVVzUzBGQk1FSm9TU3hGUVVGTGMxSXNVMEZEZUVJc1YwRkJZblJLTEV0QlFUSkNhRWtzUlVGQlMzVlNMRlZCUjNCRFFTeFRRVUZaTEZOQlFWVjJVaXhIUVZOeVFpeFBRVXhMUVN4RlFVRkxlRUlzV1VGRlZIZENMRVZCUVV0NFFpeFhRVUZYWjFRc1pVRkhVU3hKUVVGc1FuaFNMRVZCUVV0MVVpeFZRVWxpUlN4TlFVRlRMRk5CUVZWNlVpeEhRVTFzUWl4SlFVRk5RU3hGUVVGUFFTeEZRVUZMYTA4c1YwRkJXV3hQTEVWQlFVMUJMRVZCUVU5QkxFVkJRVXMwU3l4WlFVTXZReXhIUVVGTE5Vc3NSVUZCU3pkRExGTkJRVmNzUlVGRGNFSXNUMEZCVHl4RlFVZFVMRTlCUVU4c1IwRkhVakpUTEU5QlFWVXNVMEZCVlRsUUxFZEJRMjVDTEU5QlFWRnpSQ3hGUVVGTGEwTXNVVUZCYVVJc1RVRkJSM2hHTEVsQlNXeERNRklzVDBGQlZTeFRRVUZWTVZJc1IwRkRia0lzVDBGQlR6UkhMRVZCUVZGM1F5eExRVUZOY0Vvc1JVRkJTMmRKTEZkQlJ6TkNkVVVzVFVGQlV5eFRRVUZWZGswc1IwRkRiRUlzVDBGQlR6SkhMRVZCUVZGNVF5eExRVUZOY0Vvc1JVRkJTMmRKTEZkQlJ6TkNNa29zVDBGQlZTeFRRVUZWTTFJc1IwRkRia0lzU1VGQlNXZENMRVZCUVU5b1FpeEZRVUZMWjBrc1UwRkJVelZGTEdOQlEzcENMRTFCUVdkQ0xGVkJRVlJ3UXl4SFFVRnJReXhYUVVGa2FFSXNSVUZCUzNwRExFMUJRVGhDTEZkQlFWUjVSQ3hIUVVkMFJEZERMRXRCUVZFc1UwRkJWVFpDTEVkQlEycENMRWxCUVVrd1RpeEZRVU5LTEUxQlFYVkRMRlZCUVdoRE1VNHNSVUZCUzJkSkxGTkJRVk0xUlN4bFFVTk9MRk5CUVdSd1JDeEZRVUZMZWtNc1QwRkpkVU1zVDBGQmVFTnRVU3hGUVVGUE1VNHNSVUZCU3pWQ0xHRkJRV01zVlVGRFRpeFRRVUYyUW5OUUxFVkJRVXQwU3l4blFrRkpVbXhFTEUxQlFWTXJTeXhIUVVGM1FpeFhRVU5vUXl4TlFVRlBMRU5CUVVVc1MwRkhWamRMTEV0QlFWRTJTeXhIUVVGM1FpeFRRVUZWTWtjc1JVRkJaVE5UTEVkQlEzaEVMRTFCUVU4c1EwRkJSVUVzUlVGQlV5eExRVWR1UW10Q0xFZEJRVTA0U3l4SFFVRjNRaXhUUVVGVk1rY3NSVUZCWlROVExFVkJRVkZwVFN4SFFVTTVSQ3hOUVVGUExFTkJRVVZCTEVWQlFWY3NSVUZCU1VFc1JVRkJWMnBOTEVWQlFWTnBUU3hMUVVjM1F6ZExMRXRCUVZFMFN5eEhRVUYzUWl4VFFVRlZSU3hGUVVGamJFMHNSMEZGZGtRc1NVRkVRU3hKUVVGSmJFSXNSVUZCU1N4RlFVTkJRU3hGUVVGSmEwSXNSVUZCVVd4Q0xFZEJRVXNzUlVGRGVFSnZUaXhGUVVGaE0wOHNTMEZCVFhWQ0xFZEJSWEJDTEU5QlFVOXZUaXhKUVVkU00wc3NTVUZCVDNsTExFZEJRWGRDTEZOQlFWVkZMRVZCUVdOc1RTeEhRVVYwUkN4SlFVUkJMRWxCUVVsc1FpeEZRVUZKTEVWQlEwRkJMRVZCUVVsclFpeEZRVUZSYkVJc1IwRkJTeXhGUVVONFFtOU9MRVZCUVdFelR5eExRVUZOZFVJc1IwRkZjRUlzVDBGQlQyOU9MRWxCUjFJd1J5eEhRVUZOTlVjc1IwRkJkMElzVTBGQlZVVXNSVUZCWTJ4TkxFVkJRVkZwVFN4SFFVMDNSQ3hKUVV4QkxFbEJRVWx1VGl4RlFVRkpiVTRzUlVGQlZ5eEZRVU5zUWtFc1JVRkJWMnBOTEVWQlExaHBUU3hGUVVGWGFrMHNSVUZEVmtFc1JVRkRRV2xOTEVsQlExRnVUaXhIUVVGTExFZEJRMlJ2VGl4RlFVRmhNMDhzUzBGQlRYVkNMRWRCUlhCQ0xFOUJRVTl2VGl4SlFVZFNNa2NzUjBGQlRUZEhMRWRCUVhkQ0xGTkJRVlZGTEVWQlFXTnNUU3hGUVVGUmFVMHNSMEZGTjBRc1NVRkVRU3hKUVVGSmJrNHNSVUZCU1cxT0xFVkJRVmNzUlVGQlNVRXNSVUZCVjJwTkxFVkJRVk5wVFN4SlFVTnFRMjVPTEVWQlFVbHJRaXhIUVVOaWEwMHNSVUZCWVROUExFdEJRVTExUWl4SFFVVndRaXhQUVVGUGIwNHNUMEZMVEROR0xGRkJRV1VzU1VGQlNXeERMRVZCUVV0clF5eFJRVUZqTEVkQlIyaERMRU5CUVVWMVRTeFBRVUZQTEVWQlFVMURMRlZCUVZVc1JVRkJUVU1zVFVGQlRTeEZRVUZOUXl4VlFVRlZMRVZCUVUxRExFOUJRVThzUjBGRE5VVTNUeXhGUVVGTGEwTXNVVUZCVTNwSUxFZEJRVTA0VFN4SFFVRnRRamxOTEVkQlJYaERMRWxCUVUxQkxFbEJRVXNzUTBGQlJYRlZMRkZCUVZFc1JVRkJUVU1zVDBGQlR5eEhRVU5xUXk5UExFVkJRVXRyUXl4UlFVRlRla2dzUjBGQlRTdE5MRWRCUVc5Q0wwMHNSMEZKZWtNc1UwRkJVM0ZUTEUxQk1FVlVMRk5CUVZNM1J5eEhRVUZaSzBrc1IwRkpjRUlzU1VGSVFTeEpRVUZKZGxVc1JVRkJTU3hGUVVOUU1FTXNSVUZCVFRaU0xFVkJRVTl5VkN4UFFVTmlUQ3hGUVVGWExFZEJRMHBpTEVWQlFVa3dReXhGUVVGTE1VTXNTVUZEYUVKaExFZEJRVmt3VkN4RlFVRlJkbFVzUjBGQlNTdEZMRTFCUlhwQ0xFOUJRVTlzUlN4RlFVZFNMRk5CUVZOclNpeEhRVUZsTUVrc1JVRkJVeXRDTEVWQlFWbERMRWRCUXpWRExFbEJRVWwyU3l4RlFVRk5jMHNzUlVGQlYzUkxMRWxCUTNCQ2Qwc3NSVUZCVDBZc1JVRkJWM0pMTEV0QlEyeENORUlzUlVGQlRUSkpMRWRCUVZGNFN5eEZRVU5rZVVzc1JVRkJiVUpHTEVkQlFXZENMR1ZCUVZJeFNTeEZRVU16UWpaSkxFVkJRVmR1VHl4SlFVVmFMRTlCUVU4clRpeEZRVUZYY2xNc1RVRkhha0lzVTBGQlZVWXNSVUZCVFc1Q0xFVkJRVk0wVVN4SFFVTjRRaXhMUVVGVmVsQXNSVUZCVDBFc1JVRkJUV2xKTEVsQlEzUkNMRWRCUVhWQ0xFbEJRV3hDYWtrc1JVRkJTemRETEZWQlFXdENkVllzUlVGRE0wSXNUMEZCVDJ4RExFVkJRVk40VVN4RlFVRk5ia0lzUlVGQlV6UlJMRWRCUjJwRExFOUJRVThzUjBGSlVpeFRRVUZWZWxBc1JVRkJUVzVDTEVWQlFWTTBVU3hIUVVONFFpeEpRVUZKYlVRc1JVRkJWV3hFTEVWQlFXRkRMRVZCUXpGQ2EwUXNSVUZCVnl4RFFVRkZkRThzUlVGQlUyOVBMRWRCUjNaQ0xFZEJRVXRzUkN4SFFVTktMRXRCUVZWNlVDeEZRVUZQUVN4RlFVRk5hVWtzU1VGRGRFSXNTVUZCZFVJc1NVRkJiRUpxU1N4RlFVRkxOME1zVlVGQmEwSjFWaXhKUVVOMFFteERMRVZCUVZONFVTeEZRVUZOYmtJc1JVRkJVelJSTEVkQlF6VkNMRTlCUVU4c1QwRkxWaXhMUVVGVmVsQXNSVUZCVDBFc1JVRkJUV2xKTEVsQlEzUkNMRWRCUVhWQ0xFbEJRV3hDYWtrc1JVRkJTemRETEZWQlFXdENkVllzUlVGUk0wSXNSMEZJUVdoRUxFZEJTa0ZETEVWQlFXRXpVQ3hGUVVGTk1FSXNTMEZCWlRGQ0xFVkJRVTB3UWl4SFFVRlpMRXRCU1RGQ01VSXNSVUZCUzJsUkxGbEJRelZDVGl4RlFVRlpNMUFzUlVGQlMybFJMRlZCUVdFc1NVRkZOVUozUXl4SFFVRlJRU3hKUVVGVGVsTXNSVUZCUzJkSkxGTkJRVk0xUlN4alFVTnVRM0JFTEVWQlFVOUJMRVZCUVUxcFNTeEpRVUZUYWtrc1RVRkRhRUlzUTBGQlFTeEpRVUZQTkZNc1JVRkJWMnhFTEVWQlFXRTFSaXhMUVVOeVF6aEpMRVZCUVZVc1MwRkJVWEpQTEVkQlFWZHhUeXhGUVVGVkxFdEJRVkZFTEVWQlJ5OURMRTlCUVZORkxFVkJRVlVzUjBGQlRVUXNSVUZCVlN4SFFVOXVReXhIUVVoQmJFUXNSVUZCWVRWR0xFZEJRVkVyU1N4RlFVZGtRU3hGUVVGVkxFZEJRVTF5UXl4RlFVRlRlRkVzUlVGQlRXNUNMRVZCUVZNMFVTeEhRVU01UXl4UFFVRlBMRVZCVFZvc1QwRkJUeXhIUVVsV0xGTkJRVk54UkN4SFFVRm5Ra01zUjBGRGVFSXNUMEZCVDBFc1JVRkJVemxVTEU5QlFWTXNSVUZEZUVJc1UwRkJWV1VzUlVGQlRXNUNMRVZCUVZNMFVTeEhRVVY0UWl4SlFVUkJMRWxCUVVreFVpeEZRVUZKWjFZc1JVRkJVemxVTEU5QlExUnNRaXhMUVVOUUxFbEJRVTFuVml4RlFVRlZhRllzUjBGQlMybERMRVZCUVUxdVFpeEZRVUZUTkZFc1IwRkRia01zVDBGQlR5eEZRVWRVTEU5QlFVOHNSMEZGVW5ORUxFVkJRVlVzUjBGWldpeFRRVUZUUXl4SFFVRlZka01zUlVGQlZ6RlJMRVZCUVV0clRTeEZRVUZSY0U0c1JVRkJVelJSTEVkQlQyNUVMRWxCVGtFc1NVRkJTWHBRTEVWQlEwaHBWQ3hGUVVGbExFZEJRMlpzVml4RlFVRkpMRVZCUTBvd1F5eEZRVUZOWjFFc1JVRkJWWGhTTEU5QlEyaENhVlVzUlVGQlowSXNUVUZCVUc1VUxFVkJSVVpvUXl4RlFVRkpNRU1zUlVGQlN6RkRMRXRCUTFScFF5eEZRVUZQZVZFc1JVRkJWekZUTEUxQlEyeENhMDhzU1VGQlZVRXNSVUZCVVdwTkxFVkJRVTF1UWl4RlFVRlRORkVzUzBGRGRFTjNSQ3hGUVVGaGVsY3NTMEZCVFhkRUxFZEJRMlJyVkN4SFFVTktibFFzUlVGQlNYWkVMRXRCUVUxMVFpeExRVTFrTEU5QlFVOXJWaXhGUVVkU0xGTkJRVk5GTEVkQlFWbDRSU3hGUVVGWEwxQXNSVUZCVlRSU0xFVkJRVk0wUXl4RlFVRlpReXhGUVVGWlF5eEhRVTh4UlN4UFFVNUxSaXhKUVVGbFFTeEZRVUZaTVZJc1MwRkRMMEl3VWl4RlFVRmhSQ3hIUVVGWlF5eEpRVVZ5UWtNc1NVRkJaVUVzUlVGQldUTlNMRXRCUXk5Q01sSXNSVUZCWVVZc1IwRkJXVVVzUlVGQldVTXNTVUZGTDBKeVNpeEhRVUZqTEZOQlFWVXpRaXhGUVVGTkwwWXNSVUZCVXpGRUxFVkJRVk0wVVN4SFFVTjBSQ3hKUVVGSk9FUXNSVUZCVFhoV0xFVkJRVWRwUXl4RlFVTmFkMVFzUlVGQlV5eEhRVU5VUXl4RlFVRlZMRWRCUTFaRExFVkJRV051VWl4RlFVRlJkRVFzVDBGSGRFSlJMRVZCUVZFMlNTeEhRVFZEV0N4VFFVRXlRakZLTEVWQlFWVXJWU3hGUVVGVmNGSXNSMEZIT1VNc1NVRkdRU3hKUVVGSmVFVXNSVUZCU1N4RlFVTlFNRU1zUlVGQlRXdFVMRVZCUVZNeFZTeFBRVU5TYkVJc1JVRkJTVEJETEVWQlFVc3hReXhKUVVOb1FuTkdMRWRCUVZGNlJTeEZRVUZWSzFVc1JVRkJWVFZXTEVkQlFVdDNSU3hIUVVWc1F5eFBRVUZQUVN4RlFYTkRWM0ZTTEVOQlEyWm9WaXhIUVVGWkxFbEJRMXBETEVWQlFWRXhRaXhUUVVGWExFTkJRVVV3UWl4SFFVRlpRU3hGUVVOcVF5eEpRVWxFWjFZc1IwRkJXV3hHTEVsQlFXVnlSeXhIUVVGVE1Vb3NSVUZGYmtOaExFVkJSRUYxVkN4SFFVRlZkbFFzUlVGQlR5dFVMRVZCUVZFM1JTeEZRVUZYT1ZBc1JVRkJVelJSTEVkQlJ6bERjVVVzUlVGQllYUkVMRVZCUjFvMlF5eEpRVUZuUWk5TExFVkJRVTl4Unl4RlFVRlpLMFVzUjBGQlpVNHNSMEZIYWtRc1IwRkhRVGRSTEVWQlEwUnpVaXhGUVZGR0xFZEJURXR5UkN4SFFVTktRU3hGUVVGVGNVUXNSVUZCVjBNc1JVRkJXV3BXTEVWQlFWTTBVU3hIUVVseVF6SkVMRVZCVFVvc1NVRk1RVWNzUlVGQlQxQXNSMEZCVldNc1JVRkJXVXdzUjBGRE4wSk1MRVZCUVZsSExFVkJRVTBzUjBGQlNURlZMRVZCUVZNMFVTeEhRVWN2UWpGU0xFVkJRVWwzVml4RlFVRkxkRlVzVDBGRFJHeENMRTFCUTBGcFF5eEZRVUZQZFZRc1JVRkJUWGhXTEUxQlEyNUNLMVlzUlVGQldVd3NSVUZCVXpGV0xFMUJRVmM0Vml4RlFVRlhTaXhGUVVGVE1WWXNTVUZCVVdsRExFbEJTeTlFTEVkQlFVdHpTU3hIUVVOS0xFZEJRVXNyU3l4SFFVRmpNVVVzUlVGQldTeERRVU01UWl4SFFVRkxNRVVzUlVGQllTeERRVXRxUWl4SlFVWkJSU3hGUVVGUExFZEJRMUI0Vml4RlFVRkpLMVlzUlVGQlZ6ZFZMRTlCUTFCc1FpeE5RVU5CYVVNc1JVRkJUemhVTEVWQlFWa3ZWaXhMUVVkNlFuZFdMRVZCUVVzdlZ5eExRVUZSY1Znc1JVRkJWemxXTEVkQlFVMXBReXhIUVVkb1EzRlVMRVZCUVZrc1MwRkJVVk1zUlVGQllTeEhRVUZOVUN4RlFVRk5PVVFzUjBGTE9VTXNTVUZFUVRGU0xFVkJRVWtyVml4RlFVRlhOMVVzVDBGRFVHeENMRTFCUTBGcFF5eEZRVUZQT0ZRc1JVRkJXUzlXTEUxQlEzWkNkMVlzUlVGQlQwWXNSVUZCWVRWWExFVkJRVk0yVEN4RlFVRk5kRWtzUjBGQlUzZFVMRVZCUVZGNlZpeExRVUZUTEVsQlJTOUVkVXNzUlVGQlRXbE1MRXRCUVZsb1VpeEZRVUZUWjFJc1IwRkJVM1pVTEZWQlQzWkRPRlFzUlVGQllXUXNSMEZEV21Nc1NVRkJaWFpTTEVWQlEyUjFVaXhGUVVGWGFsUXNUMEZCVVRaVExFVkJRV0ZKTEVWQlFWYzNWU3hSUVVNelF6WlZMRWRCUlVkVUxFVkJRMHBCTEVWQlFWa3NTMEZCVFRsUkxFVkJRVk4xVWl4RlFVRlpja1VzUjBGRmRrTnFWQ3hGUVVGTFJDeE5RVUZQWjBjc1JVRkJVM1ZTTEV0QlRYcENMRk5CUVZORExFZEJRVzFDZWtJc1IwRjVRak5DTEVsQmVFSkJMRWxCUVVrd1FpeEZRVUZqZUVRc1JVRkJVemxRTEVWQlF6RkNSQ3hGUVVGTk5sSXNSVUZCVDNKVUxFOUJRMkpuVml4RlFVRnJRak5STEVWQlFVdG5UQ3hUUVVGVlowVXNSVUZCVVN4SFFVRkpMMVVzVFVGRE4wTXlWeXhGUVVGdFFrUXNSMEZCYlVJelVTeEZRVUZMWjB3c1UwRkJWU3hMUVVOeVJIWlJMRVZCUVVsclZ5eEZRVUZyUWl4RlFVRkpMRVZCUnpGQ1JTeEZRVUZsY2swc1IwRkJaU3hUUVVGVk9VZ3NSMEZEZGtNc1QwRkJUMEVzU1VGQlUyZFZMRWRCUTJSRkxFZEJRV3RDTEVkQlEzSkNSU3hGUVVGclFuUk5MRWRCUVdVc1UwRkJWVGxJTEVkQlF6RkRMRTlCUVU5MlJDeEZRVUZUZFZnc1JVRkJZMmhWTEVsQlFWVXNSMEZEZEVOclZTeEhRVUZyUWl4SFFVTnlRbTVDTEVWQlFWY3NRMEZCUlN4VFFVRlZMMU1zUlVGQlRXNUNMRVZCUVZNMFVTeEhRVU55UXl4SlFVRkpMMUFzUjBGQlUzVlZMRWxCUVhGQ2VFVXNSMEZCVHpWUkxFbEJRVmtyUlN4TlFVTnNSRzlSTEVWQlFXVnVWaXhIUVVGVk1VSXNVMEZETVVKbldDeEZRVUZqYmxVc1JVRkJUVzVDTEVWQlFWTTBVU3hIUVVNM1FqSkZMRVZCUVdsQ2NGVXNSVUZCVFc1Q0xFVkJRVk0wVVN4SlFVbHNReXhQUVVSQmRVVXNSVUZCWlN4TFFVTlNkRlVzU1VGSFJETkNMRVZCUVVrd1F5eEZRVUZMTVVNc1NVRkRhRUlzUjBGQlQzbFRMRVZCUVZWc1RpeEZRVUZMWjB3c1UwRkJWV2RGTEVWQlFWRjJWU3hIUVVGSlVpeE5RVU16UTNkV0xFVkJRVmNzUTBGQlJXcE1MRWRCUVdWblRDeEhRVUZuUWtNc1IwRkJXWFpETEZGQlEyeEVMRU5CU1U0c1NVRklRVUVzUlVGQlZXeE9MRVZCUVVzeVNTeFBRVUZSY1Vjc1JVRkJVWFpWTEVkQlFVbFNMRTFCUVU5b1FpeE5RVUZQTEV0QlFVMHJWaXhGUVVGUmRsVXNSMEZCU1RSRkxGVkJSM0pFYWtJc1IwRkJXU3hEUVVsNlFpeEpRVVJCYUVJc1NVRkJUVE5ETEVWQlEwVXlReXhGUVVGSlJDeEpRVU5PTmtNc1JVRkJTMmRNTEZOQlFWVm5SU3hGUVVGUk5WSXNSMEZCU1c1RUxFMUJSR2hDYlVRc1MwRkxha0lzVDBGQlQzbFRMRWRCUTA1d1ZpeEZRVUZKTEVkQlFVc3JWU3hIUVVGblFrTXNSMEZEZWtKb1ZpeEZRVUZKTEVkQlFVdDNUQ3hIUVVkVUswa3NSVUZEUlhCWExFMUJRVThzUlVGQlJ6WkNMRVZCUVVrc1IwRkRaSHBDTEU5QlFWRXNRMEZCUlhkSExFMUJRV2RETEUxQlFYcENkMUFzUlVGQlVYWlZMRVZCUVVrc1IwRkJTVklzUzBGQlpTeEpRVUZOTEUxQlEzUkVjMFVzVVVGQlV6aEVMRVZCUVU4c1RVRkRiRUkyU3l4RlFVTkJlbE1zUlVGQlNUSkRMRWRCUVV0eFZDeEhRVUZ0UW5wQ0xFVkJRVTl3Vnl4TlFVRlBOa0lzUlVGQlJ6SkRMRWxCUXpkRFFTeEZRVUZKUkN4SFFVRlBjMVFzUjBGQmNVSjZRaXhGUVVGVFFTeEZRVUZQY0Zjc1RVRkJUM2RGTEVsQlEzWkVRU3hGUVVGSlJDeEhRVUZQT0Vrc1IwRkJXU3RKTEVsQlIzcENVeXhGUVVGVGRsY3NTMEZCVFdkVkxFZEJTV3BDTEU5QlFVOXpReXhIUVVGblFrTXNSMEZ2VkhoQ0xFOUJkSEJDUVRORExFZEJRVmRzVWl4VlFVRlpiMFVzUlVGQlN5dFJMRkZCUVZVdlVTeEZRVUZMYTBNc1VVRkRNME5zUXl4RlFVRkxPRTBzVjBGQllTeEpRVUZKUVN4SFFVVjBRak5OTEVWQlFWZEtMRWRCUVU5SkxGTkJRVmNzVTBGQlZUZEZMRVZCUVZVd1ZpeEhRVU5vUkN4SlFVRkphRVVzUlVGQlV6ZElMRVZCUVU4MlNpeEZRVUZSTDFVc1JVRkRNMEpuV0N4RlFVRlBOMHdzUlVGQlVUaE1MRVZCUTJaRExFVkJRVk01VUN4RlFVRlpMMFlzUlVGQlZ5eExRVVZxUXl4SFFVRkxObFlzUlVGRFNpeFBRVUZQU0N4RlFVRlpMRVZCUVVsSExFVkJRVTkyV1N4TlFVRlBMRWRCVDNSRExFbEJTa0Z4V1N4RlFVRlJNMVlzUlVGRFVqaEtMRVZCUVZNc1IwRkRWRGhNTEVWQlFXRnNVaXhGUVVGTGNVd3NWVUZGVmpSR0xFZEJRVkVzUTBFeVFtWXNTVUZCVFdoWUxFdEJlRUpCSzFNc1MwRkJZVGRJTEVWQlFWRTNReXhGUVVGUGEwUXNTMEZCVFhsTUxFMUJRMnhET1V3c1NVRkhTamhNTEVWQlFWRkJMRVZCUVUxeVdTeE5RVUZQZFUwc1JVRkJUeXhIUVVGSmVFb3NVMEZCV1hOV0xFZEJSVGRETjB3c1JVRkJUMnhOTEV0QlFWRTRWaXhGUVVGVExFdEJSM3BDYUVNc1IwRkJWU3hIUVVkSU4wZ3NSVUZCVVRWRExFVkJRV0ZwUkN4TFFVRk5lVXdzVFVGRGFrTnFSU3hGUVVGVk4wZ3NSVUZCVFhWQ0xGRkJRMmhDYzBrc1JVRkJUemxXTEV0QlFVMHNRMEZEV25OSExFMUJRVTkzVGl4RlFVZFFMMU1zUzBGQlRXdE1MRVZCUVU4c1IwRkJTVFZITEZGQlFWTTRSQ3hGUVVGUExFOUJSV3hETkU4c1JVRkJVVUVzUlVGQlRYSlpMRTFCUVU5dlZTeEZRVUZSY2xJc1UwRkphRUp4UlN4RlFVRkxNa2tzVTBGRFdIaEVMRVZCUVZGNFF5eEZRVUZYTVVrc1IwRkJUM1ZNTEV0QlFVMTVUQ3hMUVVGblFrTXNSVUZCV1dwWUxFMUJRMmhGYTB3c1JVRkJVU3RNTEVWQlFWbHFXQ3hIUVVGUmEwd3NUVUZET1VJMlNDeEZRVUZWTjBnc1JVRkJUWFZDTEZGQlEyaENjMGtzUlVGQlR6bFdMRXRCUVUwc1EwRkRXbk5ITEUxQlFVOTNUaXhGUVVOUUwxTXNTMEZCVFVFc1JVRkRUbTlHTEZGQlFWTTRSaXhKUVVWV09Fd3NSVUZCVVVFc1JVRkJUWEpaTEUxQlFVOXZWU3hGUVVGUmNsSXNVMEZKTDBJc1NVRkJUWEZTTEVWQlEwd3NUVUZQUml4UFFVRlBaMFVzUlVGRFRrTXNSVUZCVFhSV0xFOUJRMDV6Vml4RlFVTkRiRklzUjBGQlQzUkNMRTFCUVU5dVJDeEhRVWRrSzBZc1JVRkJXUzlHTEVWQlFWVTRTaXhIUVVGVGVFMHNUVUZCVHl4SlFUUmFla04zU0N4RlFVRlZUQ3hIUVVGUFN5eFJRVUZWTEZOQlFWVTVSU3hGUVVGVk5rb3NSMEZET1VNc1NVRkJTVEZMTEVWQlEwZ3lWeXhGUVVGakxFZEJRMlJETEVWQlFXdENMRWRCUTJ4Q1JpeEZRVUZUTjFBc1JVRkJaV2hITEVWQlFWY3NTMEZGY0VNc1NVRkJUVFpXTEVWQlFWTXNRMEZQWkN4SlFVcE5hRTBzU1VGRFRFRXNSVUZCVVdoR0xFVkJRVlUzUlN4SlFVVnVRbUlzUlVGQlNUQkxMRVZCUVUxNFNpeFBRVU5HYkVJc1RVRkRVREJYTEVWQlFWTldMRWRCUVcxQ2RFd3NSVUZCVHpGTExFdEJRM1JDTWtRc1IwRkRXbWRVTEVWQlFWbHNXU3hMUVVGTmFWa3NSMEZGYkVKRkxFVkJRV2RDYmxrc1MwRkJUV2xaTEVsQlMzaENRU3hGUVVGVE4xQXNSVUZEVW1oSExFVkJja3BJTEZOQlFXMURLMVlzUlVGQmFVSkVMRWRCUTI1RUxFbEJRVWxGTEVWQlFWRkdMRVZCUVZsNlZpeFBRVUZUTEVWQlEyaERORllzUlVGQldVWXNSVUZCWjBJeFZpeFBRVUZUTEVWQlEzSkRObFlzUlVGQlpTeFRRVUZWZUUwc1JVRkJUWHBLTEVWQlFWTTBVU3hGUVVGTGJFNHNSVUZCVTNkVExFZEJRM0pFTEVsQlFVa3ZWU3hGUVVGTlZTeEZRVUZIT0ZBc1JVRkRXbmRGTEVWQlFXVXNSVUZEWm1wWUxFVkJRVWtzU1VGRFNqQlRMRVZCUVZsdVNTeEhRVUZSTEVkQlEzQkNNazBzUlVGQllTeEhRVU5pUXl4RlFVRm5RblJTTEVWQlIyaENia1VzUlVGQlVUWkpMRWRCUVZGMVRTeEhRVUZoZGxJc1JVRkJTelpKTEV0QlFWa3NTVUZCUnl4SlFVRkxORWtzUjBGSGRFUkpMRVZCUVd0Q05WRXNSMEZCTkVJc1RVRkJha0l5VVN4RlFVRjNRaXhGUVVGSmRsUXNTMEZCUzBNc1ZVRkJXU3hIUVVNeFJXNUNMRVZCUVUxb1FpeEZRVUZOVWl4UFFXTmlMRWxCV2tzNFZpeEpRVTFLYmxJc1JVRkJiVUl2UlN4SFFVRlhja1FzUjBGQldYRkVMRWRCUVZkclZ5eEhRVTA1UTJoWUxFbEJRVTB3UXl4SFFVRm5ReXhQUVVGMlFsUXNSVUZCVDFBc1JVRkJUekZDTEVsQlFXVkJMRWxCUVUwc1EwRkRla1FzUjBGQlN6aFhMRWRCUVdFM1ZTeEZRVUZQTEVOQlYzaENMRWxCVmtGVkxFVkJRVWtzUlVGTlJUZENMRWRCUVZkdFFpeEZRVUZMTmtrc1pVRkJhVUp5VGl4SlFVTjBRM1ZKTEVWQlFXRXZSQ3hIUVVOaWVWQXNSMEZCVDNoTUxFZEJSVVYxVFN4RlFVRlZiVVVzUlVGQmFVSnFWU3hOUVVOd1F5eEhRVUZMT0ZBc1JVRkJVM2hSTEVWQlFVMXVRaXhIUVVGWGNrUXNSVUZCVldsVkxFZEJRVkVzUTBGRGFFUnNUaXhGUVVGUkwwWXNTMEZCVFhkRUxFZEJRMlFzVFVGSFJ5dFZMRWxCUTBwNFVTeEZRVUZWTkZFc1IwRkxVRkFzUzBGSFJ6VlZMRWRCUVZGM1VTeEhRVUZYZUZFc1NVRkRla0puVml4SlFVbEpNVTBzUjBGRFNtMUpMRVZCUVZWcVZTeExRVUZOZDBRc1NVRm5RbTVDTEVkQlZFRm5WaXhIUVVGblFtcFlMRVZCVTFnMlZ5eEhRVUZUTjFjc1NVRkJUV2xZTEVWQlFXVXNRMEZGYkVNc1NVRkVRWFJWTEVWQlFVa3NSVUZEVFRoUUxFVkJRVlZyUlN4RlFVRmhhRlVzVFVGRGFFTTRVQ3hGUVVGVFF5eEZRVUZYZDBVc1JVRkJXWEJYTEVWQlFWTTBVU3hIUVVjeFF5eEhRVUZMYmtnc1JVRkJUeXhEUVVkWUxFZEJRVXN3VFN4RlFVRmxMRVZCUTI1Q0xFdEJRVkZxV0N4TFFVTkRNRk1zUlVGQlZ6RlRMRWxCUVU5cldDeEZRVUZaYkZnc1MwRkRja05yV0N4RlFVRlpiRmdzUjBGQlRXdElMRVZCUVVrMVNTeExRVUZOYTBjc1NVRk5MMEl3VXl4RlFVRmhha01zUjBGQlZXbERMRWRCU1hoQ2Vsa3NSVUZCUzBRc1RVRkJUMmRITEVWQlFWTXdVeXhIUVVkb1FrWXNTVUZCWTNwTkxFZEJRVkV5VFN4RlFVRlhhRmNzVDBGQlV5eEhRVU0xUXl0V0xFVkJRV1ZPTEVWQlFWbDZWaXhQUVVGWExFZEJSWGhEYjBVc1IwRkJUM2RMTEZkQlFWbDBUQ3hIUVZWeVFpeFBRVXhMZDFNc1NVRkRTbmhSTEVWQlFWVTBVU3hGUVVOV2RsSXNSVUZCYlVKelVpeEhRVWRpZWtVc1IwRkhWQ3hQUVVGUGJVVXNSVUZEVGpOTExFZEJRV00yU3l4SFFVTmtRU3hGUVRSQ1EwMHNRMEZCTUVKVUxFVkJRV2xDUkN4TFFVbHlRemxXTEZOQlFWZEJMRVZCUlc1Q0xFOUJRVTgyVml4SFFWbFNPVkVzUlVGQlUwNHNSMEZCVDAwc1QwRkJVeXhUUVVGVkwwVXNSVUZCVlVNc1JVRkJVekJFTEVWQlFWTXJSaXhIUVVNNVJDeEpRVUZKZGtzc1JVRkJSM1ZWTEVWQlFWRXJReXhGUVVGUE9WZ3NSVUZCVFRSUExFVkJRek5DYlVvc1JVRkJLMElzYlVKQlFXSXhWeXhIUVVFeVFrRXNSVUZETjBNMlNpeEhRVUZUU0N4SFFVRlJOMFVzUlVGQldUZEZMRVZCUVZjd1Z5eEZRVUZUTVZjc1ZVRkJXVUVzUjBGTk9VUXNSMEZLUVRKRUxFVkJRVlZCTEVkQlFWY3NSMEZKUXl4SlFVRnFRbXRITEVWQlFVMTRTaXhQUVVGbExFTkJTWHBDTEVsQlJFRnhWQ3hGUVVGVE4wb3NSVUZCVHl4SFFVRk5RU3hGUVVGUExFZEJRVWwyVFN4TlFVRlBMRWxCUXpWQ0swTXNUMEZCVXl4SFFVRnpReXhSUVVFdlFtOVhMRVZCUVZFdlF5eEZRVUZSTEVsQlFVMHZWU3hOUVVNMVFpeEpRVUZ5UW5OQ0xFVkJRVkV4UWl4VlFVRnJRamhITEVkQlFXdENXQ3hGUVVGTFowd3NVMEZCVldkRkxFVkJRVkVzUjBGQlNTOVZMRTFCUVZNc1EwRkphRVlzUzBGR1FYTkNMRWRCUVZsNVJTeEZRVUZMTmtrc1MwRkJWeXhIUVVGSGEwb3NSVUZCVFRGVExGRkJRVk1zUjBGRE5VTmtMRkZCUVZOdFJpeEhRVUZYUXl4SlFVRmhjRWtzU1VGQllTeEpRVUZOTEVsQlJYSkVMRTlCUVU4d1JDeEZRVWRKSzFNc1NVRkRXSHBYTEVWQlFWVkJMRVZCUVZGTUxGbEJSMjVDU1N4RlFVRlhRU3hGUVVGVE1VTXNUVUZCVDI5WExFVkJRVTkwU1N4UlFVRlJiRWdzVFVGQlRUZEVMRkZCUzJwRUxFbEJSRUZzUWl4RlFVRkphMGtzUlVGQk1FSXNZVUZCUlcxRUxFdEJRVTE0U3l4SFFVRmhMRVZCUVVrd1ZDeEZRVUZQY2xRc1QwRkRkRVJzUWl4TlFVTlFjMWdzUlVGQlVTOURMRVZCUVZGMlZTeEpRVWRZZFVZc1JVRkJTMmRNTEZOQlFWa3ZVU3hGUVVGUE9GZ3NSVUZCVFRsWUxGRkJSMjVETEVsQlFVODBUeXhGUVVGUE4wa3NSVUZCU3paSkxFdEJRVTAxVHl4TlFVZHFRaXRMTEVWQlFVODJSQ3hGUVVOaWEwb3NSVUZCVFRGVExGRkJRVk1zUjBGQlNXUXNVVUZCVTIxR0xFZEJRVmRETEVsQlEzWkRSaXhIUVVGVGNVTXNTMEZCVFd0S0xFVkJRVkVzUjBGQlNTOVZMRTlCUVZVNFRDeEhRVUZoZUVzc1JVRkJVVXdzWVVGRGVrUkxMRWxCUTBrc1EwRkxUQ3hIUVVaQmVWUXNSVUZCVDNwU0xFOUJRVkU1UXl4RlFVRkhMRXRCUTJ4Q1lTeEZRVUZYTUVvc1JVRkJTM0pLTEZGQlFWVnpTeXhIUVVGWkswa3NTVUZIY2tNc1QwRkVRVGxXTEVWQlFVdEVMRTFCUVU5blJ5eEZRVUZUSzBZc1IwRkRaQzlHTEVWQlIxSXNUMEZsU2l4UFFWQkZLMU1zUjBGQldUVlNMRVZCUVZNNVJTeEZRVUZWTmtvc1NVRkRhRU5JTEVWQlEwRjZTaXhIUVVORGIwWXNSVUZEUkRGQ0xFZEJRME14UkN4SFFVRlhhMGtzUjBGQlUzRkRMRXRCUVUxNFN5eEpRVUZqZVVzc1IwRkJZWGhMTEVWQlFWRk1MR0ZCUVdkQ1N5eEhRVVY0UlRCRUxFZEJUVkoyUml4RlFVRlJaMUlzVjBGQllYUk5MRVZCUVZGM1FpeE5RVUZQTEVsQlFVdDBReXhMUVVGTmEwVXNSMEZCV1RCRkxFdEJRVTBzVFVGQlV6bElMRVZCU1RGRk1VVXNSVUZCVVN0UkxHMUNRVUZ4UW1wTExFVkJSemRDUXl4SlFVbEJMMGNzUlVGQlVXMVJMR0ZCUVdWcVJDeEhRVUZSTEZOQlFWVkRMRWRCUjNoRExFOUJRVFJGTEVWQlFYSkZRU3hGUVVGSE5FTXNkMEpCUVhsQ2RsSXNSVUZCVXpCRExHTkJRV1VzWlVGTmRFUm5UU3hIUVVGUkxGTkJRVlZETEVkQlJYWkNMRTlCUkVGQkxFVkJRVWR4UXl4VlFVRlpMRzFDUVVOcFF5eE5RVUY2UTNKRExFVkJRVWNyUkN4WFFVRlhPVkFzWVVGQll5eFhRVVZ1UTJkTkxFZEJRVmNzZVVKQlFUQkNMRk5CUVZWd1N5eEZRVUZOWjBJc1JVRkJUWGRETEVkQlF6RkVMRWxCUVUxQkxFVkJRMHdzVDBGQlQzaEVMRVZCUVVzMVFpeGhRVUZqTkVNc1JVRkJOa0lzVTBGQmRrSkJMRVZCUVV0dlF5eGpRVUV5UWl4RlFVRkpMRXRCVDJwRmNFY3NSVUZCVVhWSkxGbEJRV1V5UlN4SFFVRlJMRk5CUVZWRExFZEJSemxETEU5QlJrRkJMRVZCUVVkeFF5eFZRVUZaTEZkQlEyWnlReXhGUVVGSEswUXNWMEZCVnpkUUxHRkJRV01zVVVGQlV5eEpRVU5aTEV0QlFURkRPRXdzUlVGQlJ5dEVMRmRCUVZjNVVDeGhRVUZqTEZsQlJXNURaMDBzUjBGQlZ5eFJRVUZUTEZOQlFWVndTeXhGUVVGTmRWWXNSVUZCVHk5U0xFZEJRekZETEVsQlFVMUJMRWRCUVhsRExGVkJRV2hEZUVRc1JVRkJTMmRKTEZOQlFWTTFSU3hqUVVNMVFpeFBRVUZQY0VRc1JVRkJTM2RXTEdWQlQxUjBUQ3hIUVVGUkxGTkJRVlZETEVkQlEzWkNMRTlCUVhkRExFMUJRV3BEUVN4RlFVRkhMMHdzWVVGQll5eGxRVVY0UW1kTkxFZEJRVmRvUml4RlFVRlZMRk5CUVZWd1JpeEZRVUZOWjBJc1JVRkJUWGRETEVkQlF6RkRMRWxCUVVsNFJpeEZRVU5LTEVsQlFVMTNSaXhGUVVOTUxFOUJRWGRDTEVsQlFXcENlRVFzUlVGQlRXZENMRWRCUVd0Q1FTeEZRVUZMYjBNc1pVRkRha053Uml4RlFVRk5aME1zUlVGQlMyOU5MR2xDUVVGclFuQk1MRXRCUVZsb1JDeEZRVUZKTWxBc1ZVRkRPVU16VUN4RlFVRkpPRVVzVFVGRFNpeFBRVXRGVHl4SFFURTBSVkFzUTBFME5FVkxNVWdzUjBGSlRHZEVMRVZCUVU5M1RpeExRVUZQT1Vrc1JVRkRaREZGTEVWQlFVODJUeXhMUVVGUGJrc3NSVUZCVHl0TExGVkJSM0pDZWxBc1JVRkJUelpQTEV0QlFVMHNTMEZCVVRkUExFVkJRVTgyVHl4TFFVRkxhRWtzVVVGRGFrTTNSeXhGUVVGUGExQXNWMEZCWVd4UUxFVkJRVTg0Vnl4UFFVRlRjRk1zUlVGQlQzZExMRmRCUXpORGJGQXNSVUZCVDFJc1MwRkJUMnRHTEVWQlFVOUZMRkZCUTNKQ05VVXNSVUZCVHl0WExGTkJRVmR5VXl4RlFVRlBSeXhOUVVONlFqZEZMRVZCUVU5NVJpeFRRVUZYWml4RlFVRlBaU3hUUVVONlFucEdMRVZCUVU5bldDeGxRVUZwUW5SVExFVkJRVTgyUkN4UFFVc3ZRaXhKUVVGSlpTeEZRVUZOTEZOQlFWVnFTU3hGUVVGTmFVa3NSVUZCU3pKT0xFZEJTVGxDTEVsQlNFRXNTVUZCU1hSR0xFVkJRVlVzUjBGRFluVkdMRTlCUVhGQ2NGVXNTVUZCVm0xVkxFZEJSVVkxVml4RlFVRlBRU3hGUVVGTmFVa3NTMEZCTmtJc1NVRkJiRUpxU1N4RlFVRkxOME1zVlVGRGRFTXNSMEZCZFVJc1NVRkJiRUkyUXl4RlFVRkxOME1zVTBGQmFVSXNRMEZETVVJc1IwRkJTekJaTEVkQlFWbHNXQ3hGUVVGUmNVSXNSMEZCVHpoV0xFZEJRVWxHTEVkQlEyNURMRTFCUlVSMFJpeEZRVUZST1ZRc1MwRkJUWGRFTEVkQlIyaENMRTlCUVU5elVTeEhRVWxLZVVZc1JVRkJWeXhUUVVGVlF5eEZRVUZIYUZjc1IwRkhNMElzU1VGR1FTeEpRVUZKYzFFc1JVRkJWU3hIUVVWT01FWXNSVUZCUjBFc1JVRkJTVUVzUlVGQlJYQk1MRmxCUTBrc1NVRkJabTlNTEVWQlFVVTNXU3hWUVVGclFqWlpMRWxCUVUxb1Z5eEhRVU01UW5OUkxFVkJRVkU1VkN4TFFVRk5kMW9zUjBGSmFFSXNUMEZCVHpGR0xFZEJTVW95Uml4RlFVRm5RblJZTEVWQlFVODJUeXhMUVVGTEwwVXNUVUZCVFdoRExHRkJTWFJETEZOQlFWTjFRaXhGUVVGVmFFa3NSVUZCVFdkQ0xFZEJSWGhDTEU5QlFVOW9RaXhGUVVGTFowa3NWVUZCV1doSkxFVkJRVXRuU1N4VFFVRlROVVVzWjBKQlFXdENjRU1zUlVGQlMyOURMR05CUnpsRUxFbEJRVWs0VXl4RlFVRmhMR3RGUVV0cVFpeFRRVUZUUXl4RlFVRlJNVWtzUlVGQlZUSkpMRVZCUVZjM1JpeEhRVU55UXl4UFFVRkxkRlFzUlVGQldXMWFMRWRCUTFSNldDeEZRVUZQTWtJc1MwRkJUVzFPTEVWQlFWVXNVMEZCVlhwT0xFVkJRVTFxUXl4SFFVTTNReXhSUVVGVGNWa3NSVUZCVlM5YUxFdEJRVTB5UkN4RlFVRk5ha01zUlVGQlIybERMRXRCUVZkMVVTeEpRVXN4UXpaR0xFVkJRVlZxV2l4VFFVTlFkMElzUlVGQlR6SkNMRXRCUVUxdFRpeEZRVUZWTEZOQlFWVjZUaXhIUVVOMlF5eFBRVUZUUVN4SlFVRlRiMWNzU1VGQlowSTNSaXhKUVV0V0xHbENRVUZrTmtZc1JVRkRTbnBZTEVWQlFVOHlRaXhMUVVGTmJVNHNSVUZCVlN4VFFVRlZlazRzUjBGRGRrTXNUMEZCVTNaRUxFVkJRVkZLTEV0QlFVMHJXaXhGUVVGWGNGY3NTVUZCVlN4SlFVRlJkVkVzU1VGTEwwTTFVaXhGUVVGUGMwNHNUMEZCVVcxTExFVkJRVmN6U1N4RlFVRlZPRU1zUjBGSE5VTTFVaXhGUVVGUGMwNHNUMEZCVXl4VFFVRlZkVUlzUlVGQlRTOU9MRVZCUVU4NFVTeEhRVU4wUXl4SlFVRkpkbEVzUlVGQlQxQXNSVUZCVHl4SFFVMXNRaXhQUVVwTE9GRXNTVUZEU2k5RExFVkJRVThzVVVGQlZVRXNSVUZCVHl4TFFVZElMRWxCUVdwQ0wwNHNSVUZCVFZJc1VVRkJhME1zU1VGQmJFSmxMRVZCUVVzM1F5eFRRVU40UW5kQ0xFVkJRVTkzVGl4TFFVRkxUU3huUWtGQmFVSjZUU3hGUVVGTmQwNHNSMEZCVXl4RFFVRkZlRTRzUjBGQlV5eEhRVWQ0UkhKQ0xFVkJRVTkzVGl4TFFVRkxlRW9zVVVGQlV6WkxMRVZCUVUwM1R5eEZRVUZQTWtJc1MwRkJUV0lzUlVGQlR5eFRRVUZWVHl4SFFVTXZSQ3hQUVVGNVFpeEpRVUZzUWtFc1JVRkJTemRETEdGQlNXUjNRaXhGUVVGUFJ5eEhRVUZIWjBNc1QwRkJVU3hEUVVOcVFuRk1MRXRCUVUwc1UwRkJWWFpPTEVkQlEyWXNTVUZCU1dJc1JVRkJSekpDTEVWQlEwNWxMRVZCUVUwM1JTeExRVUZMY1VRc1QwRkRXRzlZTEVWQlFVOTZZU3hMUVVWU0xFZEJRWGxDTEdsQ1FVRmlaMFFzUlVGRFdDeFBRVUZQYUVRc1MwRkJTelJFTEZWQlFWZGlMRVZCUVZGRExFZEJRVmR4VGl4UFFVRlJMRmRCUTJwRUxFbEJRVTFzVHl4RlFVRkpMRVZCUVVkQkxFVkJRVWt3UXl4RlFVRkxNVU1zU1VGRGNrSXNSMEZCUzFrc1JVRkJUM2xHTEZOQlFWVnBVeXhGUVVGTmRGa3NSMEZCUzI1RExFMUJRMmhETEU5QlFVOHNTMEZSV0N4SlFVWkJPRVFzUlVGQlRUbEVMRXRCUVVzMFJDeFZRVUZYTEVsQlJXaENla0lzUlVGQlNTeEZRVUZIUVN4RlFVRkpNRU1zUlVGQlN6RkRMRWxCUTNKQ1dTeEZRVUZQZDA0c1MwRkJUWFpPTEVWQlFWVjVXQ3hGUVVGTmRGa3NSMEZCU3pKQ0xFZEJSMjVETEU5QlFVOWxMRVZCUVUwc1JVRkJTVGxDTEVWQlFVOXJVQ3hYUVVGWmJrOHNSMEZCVVVFc1IwRkZOME4xVFN4UFFVRlJMRk5CUVZWeVRpeEhRVU5xUWl4UFFVRlBhRVFzUzBGQlN6UkVMRlZCUVZjeVZ5eEZRVUZSZG1Fc1MwRkJUV2RFTEVkQlFWa3NTVUZCU1N4TFFVVjBSREpTTEVsQlFVc3NVMEZCVlROU0xFZEJRMlFzVDBGQlQyaEVMRXRCUVVzMFJDeFZRVUZYTWxjc1JVRkJVWFpoTEV0QlFVMW5SQ3hIUVVGWkxFbEJRVWtzUzBGRmRFUnJXQ3hIUVVGSkxGTkJRVlZzV0N4SFFVTmlMRkZCUVZOMVdDeEZRVU5TZG1Fc1MwRkpiMElzYVVKQlFXSm5SQ3hIUVVGNVFuRllMRVZCUVdNM1RTeExRVUZOZUVzc1IwRkRia1JFTEVWQlFWRkRMRWRCUTFKQkxFZEJRVmtzU1VGRFlpeEhRVU5EU3l4VlFWTktMRWxCUVVseFdDeEZRVTFJZUZBc1JVRkJZU3gxUTBGRlRtNUpMRVZCUVU5SExFZEJRVWRETEV0QlFVOHNVMEZCVlVnc1JVRkJWVU1zUlVGQlUydFRMRWRCUTNCRUxFbEJRVWwwU1N4RlFVRlBla2tzUlVGSFdDeEpRVUZOY0VJc1JVRkRUQ3hQUVVGUGFFUXNTMEZSVWl4SFFVaEJiVllzUlVGQlQwRXNSMEZCVVhWR0xFVkJSMVVzYVVKQlFXSXhXQ3hGUVVGM1FpeERRV0Z1UXl4TFFWQkROa29zUlVGTWMwSXNUVUZCYkVJM1NpeEZRVUZWTEVsQlEzTkNMRTFCUVhCRFFTeEZRVUZWUVN4RlFVRlRTeXhQUVVGVExFbEJRelZDVEN4RlFVRlRTeXhSUVVGVkxFVkJSMWdzUTBGQlJTeExRVUZOVEN4RlFVRlZMRTFCUjJ4Q2Ewa3NSVUZCVjJkRExFdEJRVTFzU3l4TlFVbFdOa29zUlVGQlR5eEpRVUZSTlVvc1JVRTJRM2hDTEU5QlFVMUJMRWRCUVZkQkxFVkJRVkZOTEZGQlEzUkNUaXhIUVVGWGExTXNSMEZCVHpWRkxFdEJRVTEyVGl4SFFVc3hRbWhFTEV0QlFVdDNSQ3haUVVGaFVDeEhRVUZWYzA0c1MwRkJUWFpPTEVkQmFFUjZReXhIUVVGTE5rb3NSVUZCVHl4SFFVRk5MRU5CV1dwQ0xFZEJXRUUxU2l4RlFVRlZRU3hoUVVGdFFrWXNSVUZCVTBVc1JVRkJVeXhIUVVGTlFTeEZRVWx5UkVZc1JVRkJUMmRDTEUxQlFVOHZSQ3hMUVVGTkswTXNSVUZCVHpSWUxGVkJRekZDT1U0c1JVRkJUeXhIUVVOUU5Vb3NSMEZCVjBFc1JVRkJVVEZDTEZOQlFWY3dRaXhGUVVGUlowc3NaVUZCYVVKb1N5eEZRVUZWY2tRc1IwRkRha1VzU1VGSlNUQmhMRVZCUVZjNVRTeExRVUZOV0N4RlFVRlBMRXRCUVZNNVNpeEZRVUZQTWtNc1kwRkJaWHBETEVkQlF6TkVMRWxCUVUwMFNpeExRVUZUTlVvc1JVRkhWRFZDTEVWQlFWbHlRaXhMUVVGTk5rMHNTVUZEZEVJM1RTeExRVUZOTmswc1IwRkJVelZLTEVWQlFWTTBTaXhKUVVsNFFqZE5MRXRCUVVzNFVpeExRVUZOYWtZc1JVRkJUelZLTEVWQlFWTTBTaXhKUVVzNVFpeFBRVUZQTjAwc1MwRlpVQ3hQUVZKQmIwVXNSVUZCVDNoRkxFVkJRVk4xVGl4bFFVRm5RazRzUlVGQlR5eFBRVXQwUXpkTkxFdEJRVTBzUjBGQlRXOUZMRVZCUTFwd1JTeExRVUZMY1VRc1QwRkJVeXhIUVVWU2NrUXNTMEZqU0N4UFFVRkxaMFFzUlVGQlUzcENMRlZCUTNCQ2RrSXNTMEZCVFN4SFFVRk5aMFFzUlVGRFdtaEVMRXRCUVV0eFJDeFBRVUZUTEVWQlExQnlSQ3hOUVVsSmNVSXNSVUZCV1RKQ0xGRkJRMFEyUXl4SlFVRm1jMUFzUlVGQlMzbEdMRTFCUTFoNlJpeEZRVUZMZVVZc1RVRkJUelZZTEVkQlIxcEJMRVZCUVZWRUxFZEJSMHhCTEVWQlFVOHlSQ3hWUVVGWE1VUXNSVUZCVldoRUxGRkJTV2hEYzBRc1ZVRkJXVkFzUlVGQlQwY3NSMEZIZUVKM1dDeEZRVUZoTTFnc1JVRkJVVzVFTEVkQlIzSkNMRWxCUVVscFlpeEZRVUZsTEdsRFFVZHNRa01zUlVGQmJVSXNRMEZEYkVKRExGVkJRVlVzUlVGRFZrTXNWVUZCVlN4RlFVTldNVThzVFVGQlRTeEZRVU5PTWs4c1RVRkJUU3hIUVc5R1VpeFRRVUZUUXl4RlFVRlRjazBzUlVGQlMzaERMRWRCUTNSQ0xFMUJRVlYzUXl4RlFVRk5RU3hGUVVGTGVFTXNTMEZCTkVJc1NVRkJha0ozUXl4RlFVRkpkRTRzVjBGRGNFTXNUMEZCVDNOT0xFVkJia1pTT1V3c1JVRkJUMGNzUjBGQlIyZERMRTlCUVZFc1EwRkRha0kwVUN4SlFVRkxMRk5CUVZWMFVDeEhRVU5rTEVsQlFVa3lWaXhGUVVGVmNGa3NSVUZCVVhsRExFVkJRVkY0Uml4TlFVTTNRbTlpTEVWQlFVbEVMRVZCUVZFNVdDeFBRVVZpTEU5QlFVOXlSQ3hMUVVGTGNWRXNUMEZCVVN4WFFVVnVRaXhKUVVSQkxFbEJRVWxzVHl4RlFVRkpMRVZCUTBGQkxFVkJRVWxwV2l4RlFVRkhhbG9zU1VGRFpDeEhRVUZMV1N4RlFVRlBlVVlzVTBGQlZYaEpMRXRCUVUxdFlpeEZRVUZUYUZvc1NVRkRjRU1zVDBGQlR5eExRVTFZYTFvc1VVRkJVeXhUUVVGVk4wa3NSVUZCVjNaUUxFZEJRemRDTEVsQlFVazBUQ3hGUVVOSU1VMHNSVUZCU1N4RlFVTkthVm9zUlVGQlNYQmlMRXRCUVV0eFJDeFBRVU5VY1ZJc1JVRkJWU3hIUVVOV2VVY3NSVUZCSzBJc2FVSkJRV1F6U1N4SFFVRXdRbnBRTEVWQlFWRjVVQ3hIUVVkd1JDeEpRVUZOTmtnc1JVRkJZemROTEV0QlFVMW5SaXhIUVVONlFpeExRVUZSY2xFc1JVRkJTV2xhTEVWQlFVZHFXaXhKUVVOa0xFbEJRVTB3VFN4RlFVRk5OMDhzUzBGQlRXMURMRWRCUVVzd1RTeEhRVUZQUVN4SlFVRlJOVXdzUlVGQlV6Uk1MRVZCUVUxQkxFVkJRVWxxVFN4WFFVZDRSQ3hIUVVGTGFVMHNSVUZCU1hST0xGTkJRVmNzUzBGQlVUUmFMRVZCUXpOQ1FTeEZRVUZSUnl4TlFVRlBlazBzU1VGQlV5eEZRVWRRTEVsQlFXcENRU3hGUVVGSmRFNHNWVUZEU0hkQ0xFVkJRVTkzVGl4TFFVRkxUU3huUWtGQmFVSm9ReXhGUVVGTE1rUXNTVUZCWjBJc1EwRkZia1JyUXl4RlFVRlJPVlFzUzBGQlRXbFBMRWRCUTJRc1RVRk5TaXhQUVVGUE4wOHNTMEZCU3pSRUxGVkJRVmM0VVN4RlFVRlJjbElzVDBGQlV5eEZRVUZKVGl4RlFVRlBhMUFzVjBGQldYbERMRWRCUVZsQkxFbEJTVFZGTkVjc1RVRkJUeXhUUVVGVmJGZ3NSMEZIYUVJc1QwRkJUVUVzUlVGTFpTeHBRa0ZCVkVFc1JVRkRTblpFTEVWQlFWRktMRXRCUVUxelF5eEZRVUZSY1VJc1IwRkJVWEJGTEV0QlFVMHNTVUZKY2tOaExFVkJRVkZLTEV0QlFVMVVMRXRCUjNCQ2IwVXNSVUZCUzJJc1QwRkJVMkVzUlVGQlRTeEhRVUZOUVN4SFFWcHFRbkJGTEV0QlFVMHNTVUZCVDBFc1MwRkJUU3hIUVVGSk5FTXNWMEZCWlRWRExFdEJRVXR6UlN4UlFVRlJhVmdzVlVGQlZXeFpMRkZCUVZVc1IwRm5RbXhHYlZrc1NVRkJTeXhUUVVGVmVGa3NSVUZCVlVNc1IwRkRlRUlzVDBGQlQycEVMRXRCUVVzMFJDeFZRVU5ZWWl4RlFVRlBhMUFzVjBGRFRteFFMRVZCUVU5blFpeE5RVUZQTDBRc1MwRkJTekJFTEUxQlFVOVlMRVZCUVZGRExFVkJRVlZETEU5QlN5OURkMWtzVVVGQlV5eFRRVUZWZWxrc1IwRkRiRUlzVDBGQlQyaEVMRXRCUVV0M1lpeEpRVUZwUWl4TlFVRmFlRmtzUlVGRGFFSm9SQ3hMUVVGTFowVXNWMEZCWVdoRkxFdEJRVXRuUlN4WFFVRlhjVTBzVDBGQlVYSk9MRTlCVlRkRFJDeEZRVUZQYTBJc1MwRkJUU3hEUVVOYWFWRXNUMEZCVVN4VFFVRlZPVkFzUjBGRGFrSXNTVUZCU1RoUUxFVkJRVk01VUN4RlFVRkxlRUlzVjBGRGJFSXNUMEZCVDNOU0xFZEJRVGhDTEV0QlFYQkNRU3hGUVVGUE0xTXNVMEZCYTBJeVV5eEZRVUZUTEUxQlJYQkVkMGdzVVVGQlV5eFRRVUZWZEZnc1IwRkRiRUlzVDBGQlQybEpMRVZCUVV0cVNTeEZRVUZOTEdWQlJXNUNkVmdzWVVGQll5eFRRVUZWZGxnc1JVRkJUVzFFTEVWQlFVbDVVeXhIUVVOcVF5eFBRVUZQTTA0c1JVRkJTMnBKTEVWQlFVMHNZVUZCWXpSV0xFbEJSV3BETVU0c1MwRkJUU3hUUVVGVmJFa3NSMEZEWml4UFFVRlBPRmNzUlVGQlV6bFhMRVZCUVUwc1owSkJSWFpDTmxjc1MwRkJUU3hUUVVGVk4xY3NSMEZEWml4UFFVRlBPRmNzUlVGQlV6bFhMRVZCUVUwc2IwSkJSWFpDZDFnc1VVRkJVeXhUUVVGVmVGZ3NSMEZEYkVJc1QwRkJUMmxKTEVWQlFVdHFTU3hGUVVGTkxHZENRVVZ1UW0xWUxGRkJRVk1zVTBGQlZXNVlMRWRCUTJ4Q0xFOUJRVTlwU1N4RlFVRkxha2tzUlVGQlRTeHZRa0ZGYmtKNVdDeFZRVUZYTEZOQlFWVjZXQ3hGUVVGTmJVUXNSVUZCU1hsVExFZEJRemxDTEU5QlFVOHpUaXhGUVVGTGFra3NSVUZCVFN4alFVRmxORllzU1VGRmJFTTRRaXhWUVVGWExGTkJRVlV4V0N4RlFVRk5iVVFzUlVGQlNYbFRMRWRCUXpsQ0xFOUJRVTh6VGl4RlFVRkxha2tzUlVGQlRTeHJRa0ZCYlVJMFZpeEpRVVYwUTBjc1UwRkJWU3hUUVVGVkwxWXNSMEZEYmtJc1QwRkJUeXRXTEVkQlFWa3ZWaXhGUVVGTGVFSXNXVUZCWXl4SlFVRkxNRkFzVjBGQldXeFBMRWxCUlhoRU1sY3NVMEZCVlN4VFFVRlZNMWNzUjBGRGJrSXNUMEZCVHl0V0xFVkJRVlV2Vml4RlFVRkxhMDhzWVVGRmRrSXdTU3hUUVVGVkxGTkJRVlUxVnl4SFFVTnVRaXhQUVVFMlFpeE5RVUY0UWtFc1JVRkJTekpZTEdsQ1FVdFVOV0lzUlVGQlZXbEZMRVZCUVVzeVdDeHBRa0ZGVWpOWUxFVkJRVXN5V0N4cFFrRk5Vak5RTEVWQlFWVm9TU3hGUVVGTkxHTkJRM0JDUVN4RlFVRlBRU3hGUVVGTE5GZ3NVMEZCVnpWWUxFZEJSMnBDY2tJc1JVRkJUMmRDTEUxQlFVOHNSMEZCU1Vzc1JVRkJTMjFKTEdWQlJUZENMRk5CUVZWdVNDeEZRVUZOYkVNc1IwRkRiRUpJTEVWQlFVOUhMRWRCUVVsclF5eEhRVUZUTEZOQlFWVTBWU3hGUVVGUGFGZ3NSMEZEY0VNc1NVRkJTVEJTTEVWQlFWVXpVaXhGUVVGUGIwSXNTVUZCUzI1RkxFdEJRVTFyUkN4RlFVRkpPRmNzUjBGMVFuQkRMRTFCY2tJd1FpeFZRVUZ5UWpWVkxFVkJRVXM1UlN4UFFVRlJMRXRCUTJwQ01FTXNSVUZCVjJkWUxFZEJSMUJvV0N4SFFVRm5ReXhwUWtGQllrRXNTVUZEZGtJd1VpeEZRVUZWTTFJc1JVRkJUM05PTEU5QlFWRnlUaXhGUVVGVk1GSXNTVUZITDBJeFZTeExRVUZMY1VRc1QwRkJVeXhKUVVkYWVWZ3NSVUZCYTBJeFZpeEpRVU4yUW5KRExFVkJRVTlyVUN4WFFVRlplVU1zUjBGSlptMUhMRVZCUVdGeVRpeExRVUZOY0Vrc1NVRkRka0p6VUN4RlFVRlJkVWdzVjBGSlNHcGpMRXRCUVVzMFJDeFZRVUZYT0ZFc1RVRkhla0lzU1VGQlNYZElMRVZCUVdkQ0xHOUNRWE5QY0VJc1UwRkJVME1zUlVGQlZVTXNSMEZEYkVJc1QwRkJUMEVzUlVGRlVpeFRRVUZUUXl4RlFVRlRReXhIUVVOcVFpeE5RVUZOUVN4RlFVZFFMRk5CUVZORExFVkJRVmx5Vml4RlFVRlBjMVlzUlVGQlUwTXNSVUZCVVVNc1IwRkROVU1zU1VGQlNVTXNSVUZGU2l4SlFVZE5lbFlzUjBGQlV6ZEdMRVZCUVdOellpeEZRVUZUZWxZc1JVRkJUVEJXTEZOQlF6RkRSQ3hGUVVGUGJHTXNTMEZCVFhsSExFZEJRVkV3UWl4TFFVRk5ORlFzUjBGQlZVc3NTMEZCVFVvc1IwRkhhRU4yVml4SFFVRlROMFlzUlVGQlkzTmlMRVZCUVZONlZpeEZRVUZOTkZZc1RVRkRha1JJTEVWQlFVOXNZeXhMUVVGTmVVY3NSVUZCVDNOV0xFVkJRVk5ETEVkQlVUZENSQ3hGUVVGUk4ySXNWMEZCVDJ0R0xFVkJRVmNzUTBGQlJYRkNMRWRCUVZFMVJ5eE5RVUZQYjJNc1NVRk5NME1zVFVGQlVYaFdMRWRCU1ZSMVZpeEZRVUZQT1dJc1YwRkJUMnRHTEVWQlFWY3NRMEZCUlhGQ0xFdEJkazgzUW01RkxFVkJRVTluWVN4VlFVRlpMRk5CUVZVMVdDeEhRVWsxUWtFc1JVRkJOa0lzYVVKQlFWcEJMRVZCYkVOc1FpeFRRVUYzUWtFc1IwRkRka0lzU1VGQlNUWllMRVZCUVZNc1IwRkpZaXhQUVVoQmFtRXNSVUZCVDJ0Q0xFdEJRVTFyUWl4RlFVRlJNRWdzVFVGQlQzRlFMRWxCUVcxQ0xFZEJRVWtzVTBGQlZXVXNSVUZCUjBNc1IwRkRMMFJHTEVWQlFWRkZMRWxCUVZNc1NVRkZXRVlzUlVFNFFrNUhMRU5CUVdWb1dTeEhRVU5tY0VNc1JVRkJUMjFETEU5QlFWRXNSMEZCU1VNc1IwRkZjRUlzU1VGRFEybFpMRVZCUjBGRExFVkJSMEZETEVWQlIwRkRMRVZCUjBGb1ZTeEZRVUZQTEVkQlIxQnBWU3hGUVVGUkxFZEJSMUpETEVkQlFXVXNSVUZIWmtNc1JVRkJUeXhYUVZGT0xFbEJURUZJTEVWQlFWTkJMRWRCUVZWd1dTeEZRVUZSZDFrc1MwRkpNMEpNTEVWQlFWRkdMRWRCUVZNc1JVRkRWRWtzUlVGQlRXNWhMRTlCUVZGdllTeEhRVUZsTEVWQlJYQkRMRWxCUkVGS0xFVkJRVk5ITEVWQlFVMXdVQ3hWUVVOTWNWQXNSVUZCWTJ4VkxFVkJRVXRzUnl4VFFVZHRReXhKUVVFeFJHdEhMRVZCUVUxclZTeEhRVUZqT1dNc1RVRkJUekJqTEVWQlFWRXNSMEZCUzBFc1JVRkJVU3hMUVVOd1JHeFpMRVZCUVZGNVdTeGpRVWRTU0N4RlFVRmpiRlVzUlVGQlMyeEhMRTlCUTI1Q1oyRXNSMEZCVXl4SFFVMU9iRmtzUlVGQlVXdFpMRk5CUTJKQkxFZEJRVk1zUjBGSFZrUXNSMEZCVXl4RlFVZEtSeXhKUVVsSWFGVXNSVUZFU1RoVUxFVkJRMGNzUjBGSlFTeExRVTFXTlVNc1JVRkJUeXhEUVVkT1pTeEpRVUZMTEZkQk1rSktMRTlCTVVKTGFsTXNTVUZIUXpoVUxFbEJRVmRFTEVsQlEyWkxMRVZCUVdOc1ZTeEZRVUZMYkVjc1QwRkJVeXhGUVVNMVFtMWhMRVZCUVUwMVl5eExRVUZOZVdNc1NVRkhZaXhUUVVGWE4wSXNSVUZCUzJwSUxFZEJRMlo0VWl4RlFVRlBhMElzUzBGQlRYTlJMRVZCUVUwc1UwRkJWVEJKTEVWQlFVZG9WeXhIUVVNeFFqVkdMRVZCUVZrMFJpeEhRVU5XT1VJc1JVRkJVVEJWTEZGQlFWZFpMRVZCUVVzelJpeEpRVUZMTjA0c1NVRkRiRU56UXl4RlFVRkxNMGtzUzBGQlRYRkhMRWRCUlVSQkxFZEJRVTlCTEVWQlFVazFSQ3hSUVVFMFFpeFhRVUZzUWxBc1JVRkJVVzFGTEVsQlIzaERkVlVzUlVGQlMzWlZMRXRCVkZJc1EwRlpTelZETEZkQlJVRm5XaXhKUVVGWFJDeEhRVU5tVFN4TFFVZExNV1FzVFVGSlVqWmtMRTlCUVZFc1YwRlpVQ3hQUVZoQk9XRXNSVUZCVDJ0Q0xFdEJRVTFKTEZWQlFWY3NVMEZCVlRSWkxFVkJRVWRvVnl4SFFVVndReXhKUVVSQkxFbEJRVWx4VlN4SFFVTk5RU3hGUVVGUmRsa3NSVUZCVHpaRUxGRkJRVk5MTEVWQlFVdHpReXhGUVVGTksxSXNTMEZCWVN4SFFVTjZSQzlTTEVWQlFVdDBSU3hQUVVGUmNWY3NSVUZCVHl4SFFVZG1RU3hIUVVGVGJVTXNSMEZEWWtFc1RVRkpTWHBrTEUxQlMxSTRWU3hKUVVGTExGTkJRVlUxVWl4SFFVTmtMRTlCUVU5QkxFVkJRMDVJTEVWQlFVODJSQ3hSUVVGVE1VUXNSVUZCU1hGSExFbEJRVlVzUlVGRE9VSkJMRVZCUVV0c1J5eFBRVUZUTEVkQlNXaENkMU1zVFVGQlR5eFhRVWxPTEU5QlNFdDBUU3hKUVVOS1FTeEZRVUZQTEVsQlJVUjJTaXhOUVUxU09HUXNVVUZCVXl4WFFVZFNMRTlCUmtGUUxFVkJRVk5ETEVWQlFWRXNSMEZEYWtKcVZTeEZRVUZQT0ZRc1JVRkJVeXhIUVVOVWNtUXNUVUZGVW0xTkxGTkJRVlVzVjBGRFZDeFBRVUZSTlVNc1IwRk5WSGRWTEV0QlFVMHNWMEZMVEN4UFFVcEJVaXhGUVVGVFF5eEZRVUZSTEVkQlExaElMRWRCUVZkRUxFbEJRMmhDTjFRc1JVRkJUemhVTEVWQlFWTXNTVUZGVm5Ka0xFMUJSVkoxWkN4UFFVRlJMRmRCUTFBc1VVRkJVMEVzUjBGSlZsTXNVMEZCVlN4VFFVRlZMMkVzUlVGQlUzTlNMRWRCVXpWQ0xFOUJVazFuU2l4SlFVVk1hRW9zUlVGQlR5eERRVUZGZEZJc1IwRkVWSE5TTEVWQlFVOUJMRWRCUVZFc1NVRkRVV3BWTEUxQlFWRnBWU3hGUVVGTGFsVXNVVUZCVldsVkxFZEJRemxEYVVvc1JVRkJUVFZqTEV0QlFVMHlWQ3hIUVVOT05ra3NSMEZEVEUwc1MwRkhTekZrTEUxQlNWSXdaQ3hMUVVGTkxGZEJSVXdzVDBGRVFXcEVMRVZCUVV0MVJDeFRRVUZWYUdVc1MwRkJUWEZGTEZkQlEyUnlSU3hOUVVsU2MyUXNUVUZCVHl4WFFVTk9MRkZCUVZOQkxFbEJTVm9zVDBGQlR6ZERMRWRCTkVOU01WZ3NSVUZCVDIxRExFOUJRVkVzUTBGRlpDdFpMRk5CUVZVc1UwRkJWVU1zUjBGRGJrSXNTVUZCU1VNc1JVRkJVeXhEUVVsWUxFTkJRVVVzVTBGQlZTeFhRVUZaY0dJc1JVRkJUMmRoTEZWQlFWY3NWVUZEZWtOb1lTeEZRVUZQWjJFc1ZVRkJWeXhWUVVGWkxFZEJReTlDTEVOQlFVVXNWVUZCVnl4UFFVRlJhR0VzUlVGQlQyZGhMRlZCUVZjc1pVRkRkRU5vWVN4RlFVRlBaMkVzVlVGQlZ5eGxRVUZwUWl4RlFVRkhMRmxCUTNaRExFTkJRVVVzVTBGQlZTeFBRVUZSYUdFc1JVRkJUMmRoTEZWQlFWY3NaVUZEY2tOb1lTeEZRVUZQWjJFc1ZVRkJWeXhsUVVGcFFpeEZRVUZITEdGQlJYaERjVUlzUlVGQlVTeFZRVU5TZUVJc1JVRkJWU3hEUVVOVWQwSXNUVUZCVHl4WFFVTk9MRTlCUVU5QkxFZEJSVkpETEU5QlFWRXNWMEZGVUN4UFFVUkJReXhGUVVGVE1WWXNTMEZCVFhaRkxGZEJRVmwzV1N4TFFVRk5lRmtzVjBGRE1VSnlSU3hOUVVWU2RXVXNUVUZCVXl4VFFVRlZjbUlzUjBGRGJFSXNUMEZCVHpCYUxFVkJRVkZGTEV0QlFVMHNTMEZCVFRWYUxFbEJTVFZDYzJJc1MwRkJUU3hYUVVOTUxFbEJRVWxETEVWQlFVMXdZU3hWUVVWV0xFOUJRVTkwUWl4RlFVRlBhMklzVTBGQlZTeFRRVUZWVXl4SFFVTnFRek5pTEVWQlFVOXJRaXhMUVVGTmEyRXNSVUZCVVN4VFFVRlZOVmNzUlVGQlNXOVlMRWRCUjJ4RExFbEJRVWw2WWl4RlFVRkxOMElzUlVGQldXOWtMRVZCUVV0RkxFVkJRVThzVFVGQlYwWXNSVUZCUzBVc1JVRkJUeXhKUVV0NFJFd3NSVUZCVlVzc1JVRkJUeXhKUVVGUExGZEJRM1pDTEVsQlFVbERMRVZCUVZjeFlpeEhRVUZOUVN4RlFVRkhka01zVFVGQlQxZ3NTMEZCVFhGRkxGZEJRMmhEZFdFc1IwRkJXWFprTEVWQlFWbDFaQ3hGUVVGVGFFTXNVMEZEY2tOblF5eEZRVUZUYUVNc1ZVRkRVR2xETEZOQlFWVklMRVZCUVZOSkxGRkJRMjVDYkZjc1MwRkJUVGhXTEVWQlFWTnNReXhUUVVObVN5eExRVUZOTmtJc1JVRkJVMnBETEZGQlJXcENhVU1zUlVGQlZVTXNSVUZCVHl4SFFVRk5MRkZCUTNSQ00yVXNTMEZEUVd0RUxFVkJRVXNzUTBGQlJUQmlMRWRCUVdGMllTeGxRVXQ0UW05aExFVkJRVTBzVDBGRFNEZENMRmRCUlV4RkxFdEJRVTBzVTBGQlZXbERMRVZCUVdGRExFVkJRVmxETEVkQlEzaERMRWxCUVVsRExFVkJRVmNzUlVGRFppeFRRVUZUTVVNc1JVRkJVekpETEVWQlFVOWlMRVZCUVZVMVVDeEZRVUZUTUZFc1IwRkRNME1zVDBGQlR5eFhRVU5PTEVsQlFVbERMRVZCUVU5eVppeExRVU5XZFZVc1JVRkJUMnhSTEZWQlExQnBZaXhGUVVGaExGZEJRMW9zU1VGQlNWWXNSVUZCVlRsQ0xFVkJTMlFzUzBGQlMzRkRMRVZCUVZGRUxFZEJRV0lzUTBGUlFTeEpRVXBCVGl4RlFVRlhiRkVzUlVGQlVTOU9MRTFCUVU4d1pTeEZRVUZOT1Vzc1RVRkpaQ3RLTEVWQlFWTXhRaXhWUVVNeFFpeE5RVUZOTEVsQlFVa3lReXhWUVVGWExEUkNRVTkwUW5wRExFVkJRVTg0UWl4SlFVdG5RaXhwUWtGQllrRXNSMEZEV1N4dFFrRkJZa0VzU1VGRFVrRXNSVUZCVXpsQ0xFdEJSMHg2WWl4RlFVRlplV0lzUjBGSFdITkRMRVZCUTBwMFF5eEZRVUZMY21Nc1MwRkRTbTFsTEVWQlEwRndReXhGUVVGVE1FTXNSVUZCVlZvc1JVRkJWVzVETEVWQlFWVnBSQ3hIUVVOMlF6VkRMRVZCUVZNd1F5eEZRVUZWV2l4RlFVRlZha01zUlVGQlV5dERMRXRCVDNaRFJpeEpRVVZCY0VNc1JVRkJTM0pqTEV0QlEwcHRaU3hGUVVOQmNFTXNSVUZCVXpCRExFVkJRVlZhTEVWQlFWVnVReXhGUVVGVmFVUXNSMEZEZGtNMVF5eEZRVUZUTUVNc1JVRkJWVm9zUlVGQlZXcERMRVZCUVZNclF5eEhRVU4wUXpWRExFVkJRVk13UXl4RlFVRlZXaXhGUVVGVmJrTXNSVUZETlVKdFF5eEZRVUZUYTBJc1pVRlRVRGxSTEVsQlFWbDVUaXhKUVVOb1FtdEVMRTlCUVU5NFdpeEZRVU5RTUU4c1JVRkJUeXhEUVVGRmNVc3NTMEZMVWxFc1IwRkJWMlFzUlVGQlUyMUNMR0ZCUVdWS0xFVkJRVTA1U3l4TlFVczNRMjFNTEVWQlFWVk9MRVZCUTFSRkxFVkJRMEVzVjBGRFF5eEpRVU5EUVN4SlFVTkRMRTFCUVZFNVV5eEhRVVZLZWtvc1JVRkJUMnRpTEZOQlFWTXdRaXhsUVVOd1FqVmpMRVZCUVU5cllpeFRRVUZUTUVJc1kwRkJaVzVVTEVWQlF6bENhMVFzUlVGQlVVVXNXVUZOVEZRc1JVRkJVU3hIUVVGTFJDeEpRVWxhZUZFc1NVRkJXVEpPTEVsQlEyaENaMFFzVDBGQlQzaGFMRVZCUTFBd1R5eEZRVUZQTEVOQlFVVXZTQ3hKUVVkV09GSXNSVUZCVTNWQ0xGZEJRVmxTTEVWQlFVMDVTeXhOUVZNelFqUkxMRVZCUTBwUExFdEJTMHN6WXl4RlFVRlBhMklzVTBGQlV6WkNMR1ZCUTNCQ1NpeEZRVUZSUlN4WFFVRmhOMk1zUlVGQlQydGlMRk5CUVZNMlFpeG5Ra0ZGZEVNdlppeEZRVUZQWjJkQ0xGZEJRVmxNTEV0QlMzUkNMRTlCUVU4ell5eEZRVUZQYTJJc1UwRkJWU3hUUVVGVlV5eEhRVWRxUTFBc1JVRkJVU3hIUVVGTExFZEJRVWt6UXl4SlFVTm9RbWRDTEVWQlEwTXNSVUZEUVd0RExFVkJRMEZ5WkN4RlFVRlpOR1FzUjBGRFdFRXNSVUZEUVRsRExFVkJRMFIxUXl4RlFVRlRZeXhoUVV0WWNrSXNSVUZCVVN4SFFVRkxMRWRCUVVrelF5eEpRVU5vUW1kQ0xFVkJRME1zUlVGRFFXdERMRVZCUTBGeVpDeEZRVUZaTUdRc1IwRkRXRUVzUlVGRFFUVkRMRWxCUzBoblF5eEZRVUZSTEVkQlFVc3NSMEZCU1RORExFbEJRMmhDWjBJc1JVRkRReXhGUVVOQmEwTXNSVUZEUVhKa0xFVkJRVmt5WkN4SFFVTllRU3hGUVVOQk0wTXNUVUZIUVU4c1YwRkxURUVzVVVGQlV5eFRRVUZWZEdJc1IwRkRiRUlzVDBGQll5eE5RVUZRUVN4RlFVRmplVUlzUlVGQlQyMURMRTlCUVZFMVJDeEZRVUZMYzJJc1IwRkJXVUVzU1VGSGRrUXdRaXhGUVVGWExFZEJhMFZhTEU5QkwwUkJkbUlzUlVGQlQydENMRXRCUVUxcllTeEZRVUZSTEZOQlFWVm9ZeXhGUVVGSGQyTXNSMEZEYWtNc1NVRkJTWEJXTEVWQlFVOXZWaXhGUVVGUExFZEJRMnBDY1VJc1JVRkJZM0pDTEVWQlFVOHNSMEZMZEVJdlFpeEZRVUZUSzBJc1JVRkJUeXhKUVVGUmNGWXNSVUZCUzJsVExFbEJSM2hDZDBVc1IwRkRTbnBYTEVWQlFVdHBVeXhKUVVOS0xGZEJTVU0wUXl4RlFVRlJORUlzUjBGTFZEZENMRVZCUVZFc1JVRkJTV2hqTEVkQlFVc3NSMEZCU1RKaUxGRkJTWEpDU3l4RlFVRlJMRVZCUVVsb1l5eEhRVUZMTEVkQlFVa3lZaXhSUVVkeVFrc3NSVUZCVVN4SFFVRkxMRWRCUVVsS0xFdEJSMnBDU1N4RlFVRlJMRWRCUVVzc1IwRkJTVW9zVFVGUGJrSjRWU3hGUVVGTGFWTXNTVUZCUzIxRUxFVkJRVThzUjBGQlNXcENMRTFCUzNKQ1dTeEZRVUZWU3l4RlFVRlBMRWxCUVZFc1YwRkZlRUlzVDBGRVFVd3NSVUZCVlVzc1JVRkJUeXhIUVVGTkxGRkJRVlV6WlN4UFFVRlRjMlVzVDBGQlYzcFpMRVZCUVZrM1JpeExRVUZOY1VVc1YwRkRhRVZ5UlN4TlFVMVNjMlVzUlVGQlZVc3NSVUZCVHl4SFFVRk5MRkZCUVZkd1ZpeEZRVUZMZVZVc1YwRkplRU53UWl4RlFVRlJRU3hSUVVGVE1FSXNSMEZIV2tvc1IwRkRTa0VzUlVGQlMzcGtMRXRCUVUwMlpDeEZRVUZWUVN4SFFVbG1RU3hIUVVsU01rSXNTMEZCVFN4VFFVRlZReXhIUVVObUxFbEJSME5ETEVWQlFWazVZaXhWUVVGVmFFSXNUMEZIZEVKc1FpeEZRVUZKWjJVc1JVRkhTa01zUlVGQmEwSjZZU3hOUVVGUGVFUXNSMEZEZWtKclpTeEZRVUZuUWk5bUxFVkJRVTFITEV0QlFVMDBSQ3hYUVVjMVFtbGpMRVZCUVZWMlpDeEZRVUZQYTJJc1YwRkhha0p6UXl4RlFVRmhMRk5CUVZWd1pTeEhRVU4wUWl4UFFVRlBMRk5CUVZVclJTeEhRVU5vUW10YUxFVkJRV2xDYW1Vc1IwRkJUVzVETEV0QlEzWkNjV2RDTEVWQlFXVnNaU3hIUVVGTmEwTXNWVUZCVldoQ0xFOUJRVk1zUlVGQlNTOURMRVZCUVUxSExFdEJRVTAwUkN4WFFVRmpOa01zU1VGRE5VUnBXaXhIUVVOVVJ5eEZRVUZSWWl4WlFVRmhWeXhGUVVGcFFrTXNTMEZOTVVNc1IwRkJTMFlzUjBGQllTeEpRVU5xUWpWRUxFVkJRVmt5UkN4RlFVRmhTU3hGUVVGUk1WZ3NTMEZCVFRKWUxFVkJRVmx3WlN4SlFVRk5jV0VzVVVGQlV6aEVMRVZCUVZFM1JDeFJRVU40UlRCRUxFZEJSM1ZDTEZsQlFYQkNSeXhGUVVGUmJFTXNVMEZEV2k5akxFVkJRVmxuWml4RlFVRmxiR1VzU1VGQlQydGxMRVZCUVdWc1pTeEhRVUZKTW1Fc1QwRkZja1FzVDBGQlQzZEVMRVZCUVZGNFJDeFBRVXRxUWl4TFFVRlJNMkVzUzBGRFVHOWhMRVZCUVZrNFJDeEZRVUZsYkdVc1IwRkJTMjlsTEVWQlFWbHdaU3hIUVVGTGJXVXNSVUZCVVRkRUxGRkJSekZFTEU5QlFVODJSQ3hGUVVGUk1VUXNZVUZQYWtJc1NVRkJTVFJFTEVWQlFXTXNlVVJCUld4Q2VtUXNSVUZCVDJ0aUxGTkJRVk13UWl4alFVRm5RaXhUUVVGVmVGb3NSVUZCVDNOaExFZEJTVE5ETVdkQ0xFVkJRVTh5WjBJc1UwRkJWek5uUWl4RlFVRlBNbWRDTEZGQlFWRkRMRTFCUVZGNFlTeEhRVUZUY1dFc1JVRkJXV2hVTEV0QlFVMXlTQ3hGUVVGTlppeFBRVU01UlhKR0xFVkJRVTh5WjBJc1VVRkJVVU1zUzBGQlRTdzRRa0ZCWjBONFlTeEZRVUZOZVdFc1VVRkJVM3BoTEVWQlFVMXpZU3hOUVVGUFFTeEpRVTl1UmpGa0xFVkJRVTg0WkN4bFFVRnBRaXhUUVVGVk1XRXNSMEZEYWtOd1J5eEZRVUZQWjJkQ0xGZEJRVmtzVjBGRGJFSXNUVUZCVFRWYUxFdEJVVklzU1VGQlNUSmhMRVZCUVZrdlpDeEZRVUZQYTJJc1YwRnJSSFpDTEZOQlFWTTRReXhKUVVOU2JtaENMRVZCUVZOdmFFSXNiMEpCUVhGQ0xHMUNRVUZ2UWtRc1IwRkRiRVJvYUVJc1JVRkJUMmxvUWl4dlFrRkJjVUlzVDBGQlVVUXNSMEZEY0VOb1pTeEZRVUZQTmxnc1VVRnVSRkkzV0N4RlFVRlBSeXhIUVVGSE1GZ3NUVUZCVVN4VFFVRlZNVmdzUjBGWk0wSXNUMEZXUVRSa0xFVkJRMFZvUlN4TFFVRk5OVm9zUjBGTFRuRmlMRTFCUVU4c1UwRkJWWEJaTEVkQlEycENjRVFzUlVGQlR6aGtMR1ZCUVdkQ01XRXNTMEZIYkVKdVJ5eE5RVWRTSzBNc1JVRkJUMjFETEU5QlFWRXNRMEZIWkdkQ0xGTkJRVk1zUlVGSlZDdGhMRlZCUVZjc1JVRkhXSEpITEUxQlFVOHNVMEZCVlhOSExFdEJSMFlzU1VGQlZFRXNTVUZCYTBKdVpTeEZRVUZQYTJVc1ZVRkJXV3hsTEVWQlFVOXRSQ3hYUVV0cVJHNUVMRVZCUVU5dFJDeFRRVUZWTEVkQlIwZ3NTVUZCVkdkaUxFdEJRVzFDYm1Vc1JVRkJUMnRsTEZWQlFWa3NSMEZMTTBOSUxFVkJRVlZ5UWl4WlFVRmhOMllzUlVGQlZTeERRVUZGYlVRc1VVRkpja05CTEVWQlFVODJXQ3hOUVVGTmEwTXNTMEZCVDJkRkxFVkJRVlZvUlN4TFFXRkVMR0ZCUVhoQ2JHUXNSVUZCVTNWb1FpeFpRVU5oTEZsQlFYaENkbWhDTEVWQlFWTjFhRUlzWVVGQk5rSjJhRUlzUlVGQlV6aFFMR2RDUVVGblFqQlNMRk5CUjJwRmNtaENMRVZCUVU5blowSXNWMEZCV1doa0xFVkJRVTgyV0N4UlFVc3hRbWhpTEVWQlFWTnRVU3hwUWtGQmEwSXNiVUpCUVc5Q1oxSXNSMEZITDBOb2FFSXNSVUZCVDJkUkxHbENRVUZyUWl4UFFVRlJaMUlzU1VGUmJFTXNTVUZCU1Uwc1JVRkJVeXhUUVVGVmVHUXNSVUZCVDFnc1JVRkJTV2RNTEVWQlFVdG9TQ3hGUVVGUGIyRXNSVUZCVjBNc1JVRkJWVU1zUjBGRGJFVXNTVUZCU1hKbUxFVkJRVWtzUlVGRFVEQkRMRVZCUVUxb1FpeEZRVUZOVWl4UFFVTmFiMlVzUlVGQll5eE5RVUZRZGxRc1JVRkhVaXhIUVVGMVFpeFhRVUZzUW5CTUxFVkJRVkZ2VEN4SFFVVmFMRWxCUVUwdlRDeExRVVJPYldZc1IwRkJXU3hGUVVORWNGUXNSVUZEVm0xVUxFVkJRVkY0WkN4RlFVRlBXQ3hGUVVGSlppeEZRVUZISzB3c1JVRkJTeTlNTEVsQlFVc3NSVUZCVFc5bUxFVkJRVlZETEZGQlNUTkRMRkZCUVdVellpeEpRVUZXY1VJc1NVRkRXRzloTEVkQlFWa3NSVUZGVG1wblFpeEZRVUZaTmtZc1MwRkRha0p6WVN4SFFVRk5MRWRCUjBaRExFbEJSME5FTEVkQlEwcDBaU3hGUVVGSGVrTXNTMEZCVFc5RUxFVkJRVTl4UkN4SFFVTm9RbWhGTEVWQlFVc3NUMEZKVEhWbExFVkJRVTkyWlN4RlFVTlFRU3hGUVVGTExGTkJRVlZyUWl4RlFVRk5jMlFzUlVGQlRYaGhMRWRCUXpGQ0xFOUJRVTkxWVN4RlFVRkxhR2hDTEV0QlFVMXpReXhGUVVGUmNVSXNSMEZCVVRoRExFMUJTMmhEYUVVc1IwRkRTaXhMUVVGUlppeEZRVUZKTUVNc1JVRkJTekZETEVsQlEyaENaU3hGUVVORFZ5eEZRVUZQTVVJc1IwRkJTeXRNTEVWQlFVdHpWQ3hGUVVOb1FuUmhMRVZCUTBGQkxFVkJRVTE2Unl4TFFVRk5iMFFzUlVGQlR6RkNMRWRCUVV0QkxFVkJRVWRsTEVWQlFVbFhMRVZCUVU4eFFpeEhRVUZMSzB3c1MwRk5hRVFzVDBGQlMyOVVMRVZCUTBkNlpDeEZRVWxJTkdRc1JVRkRSM1psTEVWQlFVZDZReXhMUVVGTmIwUXNSMEZIVm1kQ0xFVkJRVTB6UWl4RlFVRkpWeXhGUVVGUExFZEJRVXR4U3l4SFFVRlJjVlFzUjBGTGJFTkpMRVZCUVZrc1VVRkRaa01zUlVGQllTeFpRVWRrTEZOQlFWTkRMRVZCUVZsRExFVkJRVTFETEVkQlF6RkNMRTlCUVU5QkxFVkJRVTlETEdOQlRXWXNVMEZCVTBNc1JVRkJWME1zUjBGRGJrSXNUMEZCVDBFc1JVRkJUMnBqTEZGQlFWTXdZaXhGUVVGWExFOUJRVkV4WWl4UlFVRlRNbUlzUlVGQldVTXNSMEZGYUVVc1NVRkJTVTBzUlVGQllTeFRRVUZWUXl4SFFWRXhRaXhQUVVFd1FpeEpRVUZ1UWtFc1JVRkJUVGRuUWl4VlFVRnhReXhKUVVGdVFqWm5RaXhGUVVGTk4yZENMRmxCUVhOQ05tZENMRVZCUVUwM1owSXNWVUZOYkVVc1UwRkJVemhuUWl4SlFVTlNjbWxDTEV0QlFVczRSaXhSUVVGVkwwTXNSVUZCVHl0RExGRkJRVlYxWXl4RlFVRkxReXhOUVVkMFEwUXNSVUZCUzBNc1NVRkJUU3hGUVVWWVJDeEZRVUZMTDJVc1ZVRkJXU3hEUVVWb1FqSkxMRTFCUVU4c1UwRkJWVzFWTEVkQlIyaENMRWxCUVVsc1lpeEZRVUZSYTJJc1JVRkJUM0JwUWl4TFFVRkxPRVlzVTBFMFFuaENMRTlCZWtKTmIwSXNTVUZEVEVFc1JVRkJVU3hIUVV0SWFXSXNSVUZCV1VNc1MwRkpXRUVzUlVGQlRUZG5RaXhUUVVOV05tZENMRVZCUVU5d2FVSXNTMEZCU3poR0xGTkJRVmx2UWl4RlFVMTRRamxITEU5QlFVOXRhVUlzWlVGQlowSklMRVZCUVU5d2FVSXNTMEZCU3poR0xGRkJRVk1zUTBGRE0wTnZRaXhOUVVGUFFTeEZRVU5RYzJJc1kwRkJZeXhOUVUxWWRHSXNSMEZGVW5WaUxFbEJRVXNzVTBGQlZVd3NSVUZCVDAwc1JVRkJUWGhpTEVkQlF6TkNMRWxCUVVsNVlpeEZRVU5JTVZVc1JVRkJVV3BQTEV0QlFVdHBUeXhOUVVGUGJWVXNSMEZKY2tJc1IwRkJjVUlzYVVKQlFWUk5MRVZCUTFoNlZTeEZRVUZQWjFVc1JVRkJWMU1zU1VGQlYzaGlMRTlCVFRkQ0xFbEJRVTE1WWl4TFFVRlJSQ3hGUVVOaWVsVXNSVUZCVDJkVkxFVkJRVmRWTEVsQlFWZEVMRVZCUVUxRExFZEJSM0pETEU5QlFVOHhWU3hIUVVWU2Rrc3NTVUZCU3l4VFFVRlZNR1VzUlVGQlQyeFZMRWRCUTNKQ0xGbEJRV1Z5U1N4SlFVRlNjVWtzUlVGRFRteFBMRXRCUVV0cFR5eE5RVUZQYlZVc1IwRkhXa0VzUlVGQlQzQnBRaXhMUVVGTE9FWXNWVUZCWVhOakxFVkJRVTl3YVVJc1MwRkJTemhHTEZOQlFWZHRZeXhGUVVGWEwxUXNTMEZGTjBSdFZDeFBRVUZSTEZOQlFWVmxMRVZCUVU5c1ZTeEZRVUZMYUVnc1IwRmhOMElzV1VGQllYSkNMRWxCUVZKeFNTeEhRVU5EUVN4SFFVRnpRaXhwUWtGQlVrRXNVVUZCWjBOeVNTeEpRVUZXY1VJc1JVRkZiRU5zU0N4TFFVRkxNRVFzU1VGQlN6QmxMRVZCUVU5c1ZTeEpRVk42UW14UExFdEJRVXQ1YVVJc1NVRkJTMHdzUlVGQlQyeFZMRVZCUVV0b1NDeFJRVWxNY2tJc1NVRkJWbkZDTEVWQlFYTkNRU3hGUVVGUlowZ3NTVUZGZEVNeVVDeFBRVUZSTEZOQlFWVjFSU3hGUVVGUGJGVXNSMEZEZUVJc1NVRkJTUzlNTEVWQlEwZzRUQ3hGUVVGUmJWVXNSVUZCVDNCcFFpeExRVUZMT0VZc1UwRkZja0lzVVVGQlpVUXNTVUZCVm05SkxFVkJRVXdzUTBGSlFTeFJRVUZoY0Vrc1NVRkJVbkZKTEVWQlFXOUNMRU5CYTBKNFFpOU1MRWRCV0VNclRDeEZRVXBKZGtrc1RVRkJUVU1zVVVGQlUzTkpMRWRCU1dKQkxFVkJRVWt2U2l4SlFVRkxPR1FzU1VGRlppOVVMRVZCUVUwclZDeEZRVUZYTDFRc1RVRkpTa1FzUlVGRFdpeERRVUZGUXl4SFFVTkJRU3hGUVVGSmNrSXNUVUZCVDNGUUxFbEJRVzFDTEVsQlJ6RkNOMWtzVDBGRlVpeExRVUZSYkVJc1dVRkRRVGhNTEVWQlFVOURMRVZCUVVzdlRDeFZRVXRTTUVRc1NVRkJVbkZKTEVkQlFYRkNia3dzUlVGQlQzbEVMR05CUVdWNVNDeE5RVTB4UTIxVkxFVkJRVTAzWjBJc1UwRkRWalpuUWl4RlFVRlBjR2xDTEV0QlFVczRSaXhqUVVGWlJDeFRRVVZxUW5WakxFVkJRVTl3YVVJc1MwRkJTemhHTEZsQlNYUkNPR01zVVVGQlV5eFRRVUZWVWl4SFFVTnNRaXhKUVVGSmJsVXNSVUZCVVcxVkxFVkJRVTl3YVVJc1MwRkJTemhHTEZOQlEzaENMRmxCUVdsQ1JDeEpRVUZXYjBrc1NVRkJkMEpzVEN4RlFVRlBlVVFzWTBGQlpYbElMRXRCUjNaRUxFbEJRVWswVlN4RlFVRlhMRWxCUVVsU0xFVkJSV1pUTEVWQlFWY3NTVUZCU1ZRc1JVRmpabFVzUlVGQlV5eG5RMEZEV2tNc1JVRkJZU3hUUVRKQ1pDeFRRVUZUUXl4RlFVRlZOMlVzUlVGQlRUaEtMRVZCUVV0M1ZTeEhRVU0zUWl4SlFVRkpkR1FzUlVGSlNpeFJRVUZqVXl4SlFVRlVObU1zUjBGQmQwTXNTVUZCYkVKMFpTeEZRVUZMTjBNc1UwRkpMMElzUjBGSVFUWkVMRVZCUVU4c1VVRkJWVGhKTEVWQlFVbHFTU3hSUVVGVEsyTXNSVUZCV1N4UFFVRlJlR0lzWTBGSE4wSXNhVUpCUm5KQ2EySXNSVUZCVDNSbExFVkJRVXMxUWl4aFFVRmpORU1zU1VGRlRTeERRVU12UWl4SlFVTkRjMlFzUlVGd1Ewb3NVMEZCYTBKQkxFZEJRMnBDTEUxQlFXTXNVMEZCVkVFc1IwRkpVeXhWUVVGVVFTeEpRVWxUTEZOQlFWUkJMRVZCUTBjc1MwRkpTRUVzUzBGQlZVRXNSVUZCVHl4SlFVTmlRU3hGUVVkS1N5eEZRVUZQZGxZc1MwRkJUV3RXTEVkQlExWlJMRXRCUVV0RExFMUJRVTlVTEVkQlIySkJMRWRCWTBkVkxFTkJRVk5XTEVkQlEyWXNUVUZCVVd4WExFbEJSMVp6Vnl4RlFVRlRUQ3hKUVVGTGNtVXNSVUZCVFRoS0xFVkJRVXQzVlN4UlFVVjZRa0VzVDBGQlR6ZGpMRVZCUjFRc1QwRkJUelpqTEVWQlIxSXpaaXhGUVVGUGJVTXNUMEZCVVN4RFFVTmtNR1FzVVVGQlV5eFRRVUZWZUdVc1IwRkRiRUlzVDBGQlR6QmxMRVZCUVZOR0xGRkJRVk40WlN4SlFVRlZlV1VzUlVGQlUwUXNVVUZCVTNobExFbEJSM1JFYzJVc1MwRkJUU3hUUVVGVmRHVXNSVUZCVFdkQ0xFVkJRVTF6WkN4SFFVTXpRaXhQUVVGUFNTeEZRVUZUZWtJc1QwRkJVV3BrTEVWQlFVMW5RaXhGUVVGTmMyUXNTVUZIY2tOWExGZEJRVmtzVTBGQlZXcG1MRVZCUVUxblFpeEhRVU16UWpCa0xFVkJRVk5xUml4UFFVRlJlbG9zUlVGQlRXZENMRWxCUzNoQ2EyVXNUVUZCVHl4VFFVRlZiR1lzUlVGQlRXZENMRVZCUVUxelpDeEhRVU0xUWl4UFFVRlBSeXhGUVVGVGVFSXNUMEZCVVdwa0xFVkJRVTFuUWl4RlFVRk5jMlFzU1VGSGNrTmhMRmxCUVdFc1UwRkJWVzVtTEVWQlFVMW5RaXhIUVVNMVFubGtMRVZCUVZOb1JpeFBRVUZSZWxvc1JVRkJUV2RDTEUxQlNYcENja01zUlVGQlQwY3NSMEZCUjJkRExFOUJRVkVzUTBGRGFrSjNaQ3hMUVVGTkxGTkJRVlY0VlN4RlFVRkxhRWdzUjBGRGNFSXNTVUZCU1M5RkxFVkJRVWRwUkN4RlFVRk5jMlFzUlVGRFduUmxMRVZCUVU5d1JTeExRVUZOTEVkQlEySjVUeXhGUVVGUmNrc3NSMEZCVVVFc1JVRkJTM1ZHTEZkQlIzUkNMRkZCUVdFNVJDeEpRVUZTY1Vrc1JVRkJiMElzUTBGRGVFSXNSMEZCUzJ4UExFdEJRVXR4UkN4VFFVTlVjV1lzUlVGQlQwa3NSVUZCVTNCbUxFbEJRVXRWTEVkQlJVVXNTVUZCYkVKQkxFVkJRVXMzUXl4WFFVRnRRbk5vUWl4RlFVRlRibVlzU1VGQlMxVXNSVUZCVFN4cFFrRkJiVUlzUTBGRmJrVXNTVUZFUVdwRExFVkJRVWx6VFN4RlFVRk5jRXdzVDBGRFJteENMRXRCU1VaelRTeEZRVUZQZEUwc1NVRkZjMElzUzBGRWFrTnBSQ3hGUVVGUGNVb3NSVUZCVDNSTkxFZEJRVWxwUkN4TlFVTlNka1VzVVVGQlV5eFhRVU5zUW5WRkxFVkJRVTgyWXl4RlFVRlhOMk1zUlVGQlN6bEZMRTFCUVU4c1NVRkRPVUl5YVVJc1JVRkJWVGRsTEVWQlFVMW5RaXhGUVVGTmMyUXNSVUZCVFhSa0xFdEJTUzlDZVdRc1JVRkJVMG9zU1VGQlMzSmxMRVZCUVUwc1owSkJRV2RDTEVkQlNYUkRMRTlCUVU5elpTeEZRVWxTTEUxQlFXOUNMR2xDUVVGU2VGVXNSVUZEU214UExFdEJRVXRwUlN4TFFVRk5MRmRCUTJwQ05tVXNSVUZCVTB3c1NVRkJTM3BwUWl4TFFVRk5hMDhzUzBGSlptMVVMRVZCUVZGeWFFSXNTMEZCVFN4VFFVRlZhMGdzUjBGRE9VSXNTVUZCU1hkaUxFVkJUMG9zUjBGQlMzUmxMRkZCUVd0Q2VVSXNTVUZCVm5GQ0xFVkJTMW9zV1VGQlkzSkNMRXRCUkdRMll5eEZRVUZQU1N4RlFVRlRjR1lzU1VGQlMxVXNSVUZCVFRoS0xFbEJSVzVDZDFVc1QwRk5UVGRqTEV0QlJHUTJZeXhGUVVGUFR5eEZRVUZWTjJVc1JVRkJUVGhLTEVsQlJXWjNWU3hQUVVsU0xFVkJTVVF4YVVJc1MwRkJTMmxGTEV0QlFVMHNWMEZIVmpabExFVkJRVk5NTEVsQlFVdDZhVUlzUzBGQlRXdFBMRVZCUVV0b1NDeE5RVVY0UWl4TFFVRk5RU3hGUVVGUE4wTXNWVUZCVldoQ0xFOUJRVk1zUlVGQlJ5eE5RVUZOTEVsQlJ6ZERaMmRDTEZkQlFWa3NVMEZCVlc1V0xFZEJRM0pDTEU5QlFVOXNUeXhMUVVGTGFVVXNTMEZCVFN4WFFVTnFRalpsTEVWQlFWTnFSaXhQUVVGUk4yUXNTMEZCVFd0UExGRkJUVEZDYmt3c1JVRkJUMjFETEU5QlFWRXNRMEZEWkhOWkxFMUJRVThzVTBGQlZYQmFMRVZCUVUxNlF5eEZRVUZOSzJkQ0xFZEJRelZDTEVsQlFVbHNSaXhGUVVWS0xFZEJRVXR3V2l4RlFWbEtMRTlCV0VGNlF5eEhRVUZUUVN4SFFVRlJMRTFCUVZNc1VVRkRNVUkyWWl4RlFVRlJjVVlzUlVGQlUyNW1MRWxCUVV0VkxFVkJRVTE2UXl4SFFVZDJRaXRuUWl4TFFVTkZiRVlzUjBGQlV6ZFlMRTFCUVUxRExGRkJRVk00WXl4SFFVTTNRbXhHTEVWQlFWRnhSaXhGUVVGVGVFSXNUMEZCVVdwa0xFVkJRVTE2UXl4RlFVRk5iMElzUlVGQlR6SkVMRlZCUVZkbll5eEpRVVYyUkd4R0xFVkJRVTAxWXl4TFFVRk5PR2hDTEVsQlIxQnNSaXhIUVVGVExFbEJTV3hDWjBjc1VVRkJVeXhUUVVGVmNHWXNSVUZCVFhwRExFZEJRM2hDUVN4RlFVRlBRU3hIUVVGUkxFdEJSV1lzU1VGQlNUWmlMRVZCUVZGNllTeEZRVUZQZVdFc1RVRkJUM0JhTEVWQlFVMTZReXhIUVVNdlFqaG9RaXhGUVVGamFrY3NSVUZCVFc1aExFOUJRM0JDU0N4RlFVRkxjMkVzUlVGQlRYQlFMRkZCUTFoelZpeEZRVUZSTTJkQ0xFVkJRVTgwWjBJc1dVRkJZWFptTEVWQlFVMTZReXhIUVUxMlFpeGxRVUZRZFVJc1NVRkRTa0VzUlVGQlMzTmhMRVZCUVUxd1VDeFJRVU5ZY1ZZc1MwRkhTWFpuUWl4SlFVbFZMRTlCUVZSMlFpeEhRVU5LTm1Jc1JVRkJUVGRNTEZGQlFWTXNjVUpCU1ZRclVpeEZRVUZOUlN4TFFVTmlNV2RDTEVWQlFVZDZReXhMUVVGTk1rUXNSVUZ3UWtZc1YwRkRUbkpDTEVWQlFVOTVaMElzVVVGQlUzQm1MRVZCUVUxNlF5eEpRVzFDUml0b1FpeExRVWRvUWtRc1IwRkJaVU1zUjBGRGNFSkJMRVZCUVUwM1RpeE5RVUZOTmtnc1VVRkxaR2xITEZsQlFXRXNVMEZCVlhabUxFVkJRVTE2UXl4SFFVTTFRaXhKUVVGSmRVMHNSVUZCVFhaTkxFVkJRVThzWVVGRGFrSXNUMEZCVDJ0b1FpeEZRVUZUYm1Zc1NVRkJTMVVzUlVGQlRUaEtMRWxCUVZNeVZTeEZRVUZUZUVJc1QwRkJVV3BrTEVWQlFVMDRTaXhGUVVGTExFTkJReTlFTWtnc1RVRkJUemxUTEVWQlFVOW5ZU3hWUVVGWExHVkJRV2RDZGtJc1NVRkJTeXhYUVVNM1EzRklMRVZCUVZOb1JpeFBRVUZSZWxvc1JVRkJUU3hEUVVGRmVrTXNSVUZCVHl4UlFVRlRkVTBzVjBGTk4wTnVUQ3hGUVVGUFJ5eEhRVUZIWjBNc1QwRkJVU3hEUVVOcVFuTlpMRTFCUVU4c1UwRkJWVGRpTEVWQlFVMHJaMElzUjBGRGRFSXNTVUZCU1cxQ0xFVkJRVk1zUlVGUllpeE5RVTV4UWl4cFFrRkJWR3hwUWl4SlFVTllLMmRDTEVWQlFVOHZaMElzUlVGRFVFRXNSVUZCVHl4TFFVTlFhMmxDTEV0QlIwbDRaaXhWUVVGVmFFSXNUMEZCVTNkblFpeEZRVU5vUWpsblFpeEZRVUZQZVdFc1RVRkJUM2hrTEV0QlFVMHNSMEZCU3pKQ0xGRkJSMnBDYTBVc1NVRkJWRFpqTEVWQlEwNHhhVUlzUzBGRFFVRXNTMEZCUzJsRkxFdEJRVTBzVjBGRFZpeEpRVUZKZFZvc1JVRkJVWHBoTEVWQlFVOTVZU3hOUVVGUGVHUXNTMEZCVFRKQ0xFVkJRVTByWjBJc1IwRkhkRU16Wml4RlFVRlBOR2RDTEZsQlFXRXpha0lzUzBGQlRUSkNMRWRCUlZvc1QwRkJWRUVzUjBGQlowTXNaVUZCWmpaaUxFVkJRVThzU1VGRE5VSjZZU3hGUVVGUGVXZENMRkZCUVZONGFrSXNTMEZCVFRKQ0xFMUJTVEZDTm1oQ0xGRkJRVk1zVTBGQlZUZG9RaXhIUVVOc1FpeFBRVUZQTTBJc1MwRkJTMmxGTEV0QlFVMHNWMEZEYWtKc1FpeEZRVUZQZVdkQ0xGRkJRVk40YWtJc1MwRkJUVEpDTEUxQlIzaENiV2xDTEZkQlFWa3NVMEZCVlc1cFFpeEhRVU55UWl4UFFVRlBNMElzUzBGQlMzZGtMRTFCUVU4M1lpeEhRVUZSTEV0QlFVMHNTMEZMYkVOcFlpeFJRVUZUTEZOQlFWVnFZaXhGUVVGTlRDeEhRVU40UWl4SlFVRkpiMUFzUlVGRFNIRlVMRVZCUVZFc1JVRkRVa01zUlVGQlVXcG9RaXhGUVVGUGEySXNWMEZEWm5CTkxFVkJRVmMzVWl4TFFVTlliVU1zUlVGQlNXNURMRXRCUVV0eFJDeFBRVU5VYlZvc1JVRkJWU3hoUVVORGRVZ3NSMEZEVkVNc1JVRkJUWFpGTEZsQlFXRTFUaXhGUVVGVkxFTkJRVVZCTEV0QlZXeERMRWxCVG5GQ0xHbENRVUZVYkZFc1NVRkRXRXdzUlVGQlRVc3NSVUZEVGtFc1QwRkJUMnRGTEVkQlJWSnNSU3hGUVVGUFFTeEhRVUZSTEV0QlJWQlJMRTFCUTFCMVR5eEZRVUZOYlZNc1JVRkJVMjVtTEVsQlFVdHRUeXhGUVVGVk1WQXNSMEZCUzFJc1JVRkJUeXhuUWtGRE9VSXJUeXhGUVVGSmJVWXNVVUZEWm10UExFbEJRMEZ5VkN4RlFVRkpiVVlzVFVGQlRUSkdMRWxCUVV0blFpeEpRVWxxUWl4UFFVUkJRU3hKUVVOUGQwZ3NSVUZCVFhCSUxGRkJRVk4wWWl4TlFVZDRRaXhKUVVGSk1tbENMRVZCUVU4c2MwTkJRVEJEUXl4UFFVVnFSRU1zUjBGQlZTeEpRVUZKY21Fc1QwRkJVU3hwUWtGQmJVSnRZU3hGUVVGUExHTkJRV1VzUzBGSEwwUkhMRWRCUVZrc1EwRkJSU3hOUVVGUExGRkJRVk1zVTBGQlZTeFJRVVY0UXpGVkxFZEJRV3RDT1ZBc1JVRkJVemhRTEdkQ1FVa3hRakpWTEVkQlFXRXNVMEZCVldwblFpeEhRVU42UWl4UFFVRlBja0lzUlVGQlQzbEdMRk5CUVZWd1JTeEZRVUZMTmtrc1kwRkJaVGRKTEVsQlJUZERhMmRDTEVkQlFWY3NRMEZCUlVFc1ZVRkJWU3hIUVU5dVFqVlZMRWRCUVdkQ05sVXNZMEZEY0VKR0xFZEJRV0VzVTBGQlZXcG5RaXhIUVVOMFFpeFBRVUZQY2tJc1JVRkJUM2xHTEZOQlFWVndSU3hGUVVGTE5ra3NZMEZCWlRkSkxFbEJRek5EUVN4RlFVRkxiV2RDTEZsQlFXRkVMRTFCUVdWc1owSXNSVUZCU3paSkxHZENRVWN4UXl4SlFVRkpkVmdzUjBGQmNVSXNVMEZCVlhCblFpeEZRVUZOYlVzc1IwRlBka01zVFVGQk9FSXNWVUZJT1VKdVN5eEZRVUZQYlVzc1IwRkJUVzVMTEVkQlIwUnhaMElzVFVGQlRVTXNVMEZEVFN4TFFVRjJRblJuUWl4RlFVRkxjV2RDTEUxQlFVMURMRk5CVFZoTUxFZEJRVmxxWjBJc1NVRkZjMElzVTBGQmJFTnlRaXhGUVVGUE5HaENMRWxCUVV0MlowSXNSVUZCVFN4WlFVdHlRaXhUUVVGVGQyZENMRWRCUVZkNFowSXNSVUZCVFhWbExFVkJRVTFyUXl4RlFVRlpReXhIUVVNelF5eEpRVUZKUXl4RlFVRlZReXhGUVVOaVF5eEZRVUZuUWl4SFFVTm9Ra01zUlVGQlpVb3NSVUZEWkN4WFFVTkRMRTlCUVU5QkxFVkJRVTFxVnl4UFFVVmtMRmRCUTBNc1QwRkJUemxNTEVWQlFVODBhRUlzU1VGQlMzWm5RaXhGUVVGTmRXVXNSVUZCVFN4TFFVVnFRM2RETEVWQlFWVkVMRWxCUTFaRkxFVkJRVTlRTEVkQlFXTkJMRVZCUVZrc1MwRkJVemxvUWl4RlFVRlBjMmxDTEZWQlFWY3hReXhIUVVGVExFZEJRVXNzVFVGSE1VVXlReXhGUVVGblFteG9RaXhGUVVGTE4wTXNWMEZEYkVKM1FpeEZRVUZQYzJsQ0xGVkJRVmN4UXl4SlFVRnRRaXhQUVVGVWVVTXNTVUZCYTBKRUxFbEJRMmhFYUVJc1IwRkJVV3BZTEV0QlFVMXVTeXhGUVVGUE5HaENMRWxCUVV0MlowSXNSVUZCVFhWbExFbEJSV3hETEVkQlFVc3lReXhIUVVGcFFrRXNSVUZCWlN4TFFVRlJSaXhGUVVGUExFTkJXVzVFTEVsQlVrRkVMRWRCUVc5Q0xFVkJSM0JDUXl4RlFVRlBRU3hIUVVGUlJTeEZRVUZsTEVkQlJ6bENRU3hIUVVGcFFrZ3NSMEZCVnl4RlFVVndRa1lzUzBGSlVHeHBRaXhGUVVGUE1HaENMRTFCUVU5eVowSXNSVUZCVFhWbExFVkJRVTB5UXl4RlFVRm5Ra1lzU1VGRGJrTXNSVUZCU1Vvc1NVRkJXU3hIUVVGTlFTeEZRVUZSUlN4SlFVRnBRa01zUjBGQlZ5eE5RVUZYTEVsQlF6TkZSaXhGUVVGblFpeEhRVVZxUWtzc1IwRkJaME5PTEVWQlNXcERUU3hIUVVGblF5eEZRVU5vUTNacFFpeEZRVUZQTUdoQ0xFMUJRVTl5WjBJc1JVRkJUWFZsTEVWQlFVMHlReXhGUVVGblFrWXNSMEZITVVOUUxFVkJRV0ZCTEVkQlFXTXNSMEZuUWpWQ0xFOUJZa3RCTEVsQlEwcFRMRWRCUVdsQ1FTeEpRVUZyUWtnc1IwRkJWeXhGUVVjNVEwb3NSVUZCVjBZc1JVRkJXU3hIUVVOMFFsTXNSMEZCYTBKVUxFVkJRVmtzUjBGQlRTeEhRVUZOUVN4RlFVRlpMRWxCUTNKRVFTeEZRVUZaTEVkQlExUkRMRWxCUTBwQkxFVkJRVTFOTEV0QlFVOUJMRVZCUTJKT0xFVkJRVTAzVVN4TlFVRlJjVklzUlVGRFpGSXNSVUZCVFM5bUxFbEJRVTFuWjBJc1NVRkhVRUVzUlVGSlVpeEpRVUZKVVN4SFFVRnZRaXhIUVVWNFFpeFRRVUZUUXl4SFFVRnRRbkJvUWl4SFFVTXpRaXhKUVVGSmRWUXNSVUZEU0hwV0xFVkJRVTFyUXl4RlFVRkxOa2tzWTBGRFdHSXNSVUZCVjJoSkxFVkJRVXRuU1N4VFFVTm9Rbk5aTEVWQlFWVmhMRWRCUVcxQ2Jsb3NSMEZGT1VJc1QwRkJTM05aTEVsQlNVd3ZUU3hGUVVGUGVsWXNSVUZCU1hWcVFpeExRVUZMT1dsQ0xGbEJRV0ZVTEVWQlFVbEpMR05CUVdVNFNpeEpRVU5vUkhOWkxFVkJRVlV6YUVJc1JVRkJUelJvUWl4SlFVRkxhRTRzUlVGQlRTeFhRVVUxUWtFc1JVRkJTeTlWTEZkQlFWZERMRmxCUVdFNFZTeEhRVVZhTEZOQlFWb3JUU3hKUVVOS1FTeEZRVUZWTEZOQlJWaGhMRWRCUVcxQ2Jsb3NSMEZCWVhOWkxFVkJSWHBDUVN4SFFVZFNMRk5CUVZOblFpeEhRVUZWTjFRc1JVRkJWVGhVTEVkQlR6VkNMRWxCVGtFc1NVRkJTV3BDTEVWQlFWTjBaMElzUlVGRFduZG9RaXhGUVVGVExFZEJRMVIwU3l4RlFVRlJMRVZCUTFKcVdTeEZRVUZUZDA4c1JVRkJVM2hQTEU5QlIxaHBXU3hGUVVGUmFsa3NSVUZCVVdsWkxFdEJRM1pDYkZnc1JVRkJUM2xPTEVWQlFWVjVTaXhKUVVOT2JVb3NVVUZKV0VNc1JVRkJWWFJuUWl4RlFVRkxjV2RDTEUxQlFVMURMRkZCUTJoQ2FVSXNSMEZMWVN4VFFVRmFha0lzU1VGRFNtdENMRVZCUVZGMFN5eEhRVUZWZFVnc1JVRkJVMjVtTEVsQlFVdFZMRVZCUVUwc1dVRkJaU3hMUVVNdlEzZG9RaXhGUVVGUmRFc3NTMEZEWW14WUxFVkJRVXR4WjBJc1RVRkJUVU1zVVVGQlZTeExRVWRMTEV0QlFYWkNkR2RDTEVWQlFVdHhaMElzVFVGQlRVTXNVMEZCYTBKR0xFZEJRVzlDY0dkQ0xFdEJRM0pFZDJoQ0xFVkJRVkYwU3l4SFFVRlZhMHNzUjBGQmJVSndhRUlzUzBGSGNrSXNVMEZCV25OblFpeEpRVU5LYTBJc1JVRkJVWFJMTEVkQlFWVXNUMEZIYkVKMVNDeEZRVUZUU2l4SlFVRkxjbVVzUlVGQlRTeFZRVUZYYzJkQ0xFdEJUV3hETEVsQlFVMXdTaXhGUVVGUkxFVkJRVWRCTEVWQlFWRnFXU3hGUVVGUmFWa3NTVUZEVWl4TlFVRnVRbk5MTEVWQlFWRjBTeXhMUVVOYWVrb3NSVUZCVlhsS0xFZEJRVkZ0U2l4TlFVRk5ReXhSUVVGVmEwSXNSVUZCVVhSTExFbEJTVFZETEU5QlFVOTZTaXhGUVVkU09VOHNSVUZCVDBjc1IwRkJSMmRETEU5QlFWRXNRMEZEYWtKNVowSXNTMEZCVFN4WFFVTk1MRTlCUVU5RUxFZEJRVlV4YkVJc1RVRkJUU3hKUVVWNFFqWnNRaXhMUVVGTkxGZEJRMHdzVDBGQlQwZ3NSMEZCVlRGc1FpeFBRVVZzUWpoc1FpeFBRVUZSTEZOQlFWVXhTQ3hIUVVOcVFpeE5RVUZ6UWl4clFrRkJWa0VzUlVGRFNrRXNSVUZCVVhCbExFdEJRVXN5YkVJc1QwRkJVek5zUWl4TFFVRkxObXhDTEU5QlJ6VkNOMnhDTEV0QlFVdHBSU3hMUVVGTkxGZEJRMXAxWjBJc1IwRkJiMEo0YTBJc1RVRkRlRUlyUXl4RlFVRlJMME1zVFVGQlR6SnNRaXhQUVVWbU5XbENMRVZCUVZFdlF5eE5RVUZQTm14Q0xGbEJTMjVDTEVsQlZVVkZMRWRCUTBGd1ZpeEhRVmhGY1ZZc1IwRkJhVUlzZDBKQlJXcENReXhIUVVGWExHbERRVVZZUXl4SFFVRmpMSEZEUVUxb1FrZ3NSMEZFWTI1dFFpeEZRVUZUZFcxQ0xIbENRVU5TZUdwQ0xGbEJRV0V2UXl4RlFVRlRNRU1zWTBGQlpTeFRRVU53UkhGUExFZEJRVkV2VVN4RlFVRlRNRU1zWTBGQlpTeFZRVTB6UWtjc1lVRkJZeXhQUVVGUkxGTkJRelZDYTA4c1IwRkJUV3hQTEdGQlFXTXNWVUZCVnl4WFFVTXZRbXRQTEVkQlFVMXNUeXhoUVVGakxFOUJRVkVzUzBGRk5VSnpha0lzUjBGQlNYQnFRaXhaUVVGaFowOHNTVUZKYWtKMlVDeEZRVUZSWjJ4Q0xGZEJRV0ZNTEVkQlFVbE5MRmRCUVZjc1IwRkJUMEVzVjBGQlZ5eEhRVUZQYWxNc1ZVRkJWWE5DTEZGQlNYWkZjVkVzUjBGQlNXNVdMRlZCUVZrc2VVSkJRMmhDZUZBc1JVRkJVV3RzUWl4cFFrRkJiVUpRTEVkQlFVbE5MRmRCUVZjc1IwRkJUMnBUTEZWQlFWVjNSaXhoUVVzelJHMU5MRWRCUVVsdVZpeFZRVUZaTEc5Q1FVTm9RbmhRTEVWQlFWRnRiRUlzVTBGQlYxSXNSMEZCU1ROU0xGVkJTM2hDTEVsQlFVbHZVeXhIUVVGVkxFTkJTMkpETEUxQlFVOHNRMEZCUlN4RlFVRkhMRlZCUVZjc1dVRkRka0pETEVsQlFVc3NRMEZCUlN4RlFVRkhMRzlDUVVGeFFpeDFRa0ZETDBKRExFZEJRVWtzUTBGQlJTeEZRVUZITEdsQ1FVRnJRaXh2UWtGRE0wSkRMRWRCUVVrc1EwRkJSU3hGUVVGSExIRkNRVUZ6UWl4NVFrRkZMMEpETEZOQlFWVXNRMEZCUlN4RlFVRkhMRWRCUVVrc1MwRlpjRUlzVTBGQlUwTXNSMEZCVVRkcVFpeEZRVUZUZDA0c1IwRkpla0lzU1VGQlNUTk5MRVZCV1Vvc1QwRlVRMEVzVDBGRU5FTXNTVUZCYWtOaUxFVkJRVkZ2U3l4eFFrRkRZbkJMTEVWQlFWRnZTeXh4UWtGQmMwSnZSQ3hIUVVGUExGVkJSVWtzU1VGQk4wSjRUaXhGUVVGUk5Fc3NhVUpCUTNCQ05Vc3NSVUZCVVRSTExHbENRVUZyUWpSRExFZEJRVThzUzBGSGFrTXNVVUZIVFRWTExFbEJRVkkwU3l4SFFVRnhRa0VzUjBGQlQzSkZMRVZCUVZWdVNpeEZRVUZUZDA0c1IwRkROVU14VGl4RlFVRlBaMElzVFVGQlR5eERRVUZGWkN4SFFVRlhZU3hIUVVjMVFrRXNSVUZMVWl4VFFVRlRhV3BDTEVkQlFXVnNha0lzUlVGQlQyMXFRaXhIUVVrNVFpeEpRVWhCTEVsQlFVazNhMElzUlVGQlNTeEZRVU5RYVZvc1JVRkJTWFpZTEVWQlFVMVNMRTlCUlVoc1FpeEZRVUZKYVZvc1JVRkJSMnBhTEVsQlEyUXdaMElzUlVGQlUwb3NTVUZEVWpWbExFVkJRVTh4UWl4SFFVTlFMR05CUTBNMmEwSXNSMEZCWlc1RkxFVkJRVk51Wml4SlFVRkxjMnBDTEVWQlFXRTNhMElzUjBGQlN5eGxRVEZEYmtSeGEwSXNSMEZCVVZNc1RVRkJVVlFzUjBGQlVWVXNUVUZCVVZZc1IwRkJVVmNzVTBGQlYxZ3NSMEZCVVZrc1VVRkJWVm9zUjBGQlVVTXNUVUZETjBWRUxFZEJRVkZoTEVkQlFVdGlMRWRCUVZGSkxFZEJSMlo0YkVJc1JVRkJVVzFzUWl4VFFVTmlReXhIUVVGUll5eFRRVUZYWkN4SFFVRlJSQ3hQUVVGVExFTkJRVVVzUlVGQlJ5d3JRa0ZCWjBNc1kwRXlRekZGTEVsQlFVbDZZaXhIUVVGUkxGbEJSVm9zVTBGQlUzbGpMRWRCUVdVeGFrSXNSVUZCVDFvc1JVRkJVM1ZyUWl4RlFVRlRReXhGUVVGWFF5eEhRVTh6UkN4SlFVNUJMRWxCUVVsMGFrSXNSVUZCVFhOTkxFVkJRVXRFTEVWQlFVdHJXQ3hGUVVGTlF5eEZRVUZWT1dsQ0xFVkJRMjVESzJsQ0xFVkJRVmMxYTBJc1JVRkJVV3RxUWl4NVFrRkRia0l5UWl4RlFVRlJMRWRCUTFJemJFSXNSVUZCU1N4RlFVTkthVm9zUlVGQlNYWllMRVZCUVUxU0xFOUJSVWhzUWl4RlFVRkphVm9zUlVGQlIycGFMRWxCUjJRc1NVRkdRV2xETEVWQlFVOVFMRVZCUVU4eFFpeExRVVZSTEVsQlFWUnBReXhGUVVkYUxFZEJRWGRDTEZkQlFXNUNkRUlzUlVGQlVYTkNMRWRCU1ZweVFpeEZRVUZQWjBJc1RVRkJUeXRxUWl4RlFVRlBNV3BDTEVWQlFVczNReXhUUVVGWExFTkJRVVUyUXl4SFFVRlRRU3hSUVVjeFF5eEhRVUZOTUVjc1IwRkJUVEJETEV0QlFVMXdTaXhIUVVsc1FpeERRVlZPTEVsQlZFRnpUU3hGUVVGTlFTeEhRVUZQYlZnc1JVRkJVMnhzUWl4WlFVRmhUU3hGUVVGUldDeGpRVUZsTEZGQlJ6RkViVThzUjBGQlVYZFdMRWRCUVZNdldTeExRVUZOT1Vrc1NVRkJWU3hEUVVGRkxFZEJRVWtzUzBGQlVTeEhRVUZKYjBRc1kwRkRia1J0WjBJc1JVRkJUMjVDTEVkQlFWTXZWaXhKUVVGVEsxWXNSMEZCVVVzc1UwRkRha051Vnl4RlFVRkpSU3hWUVVGWksxY3NSVUZCVFN4SFFVRk5OV3RDTEVWQlFVOW5iRUlzWTBGQlpUTnFRaXhIUVVGVGRXcENMRVZCUVUwc1IwRkhha1UzYVVJc1JVRkJTVFpwUWl4RlFVRk5MRWRCUTBZM2FVSXNTMEZEVURSTUxFVkJRVTFCTEVWQlFVa3dSQ3hWUVV0WWNsSXNSVUZCVDJkQ0xFMUJRVThyYWtJc1JVRkJUM0JZTEVWQlFVbHVSU3hoUVVkNlFtMUZMRVZCUVUxdFdDeEZRVUZUZGxZc1dVRkhXRVFzV1VGQll5eFJRWHBDYkVKNVZpeEZRVUZOYkc1Q0xFdEJRVTF4UXl4RlFVRlJLMnRDTEdWQlFXZENOV3BDTEVsQmEwTjJReXhKUVVoQmVXcENMRVZCUVZONFZpeFpRVUZqTEVkQlJYWkNiRkVzUlVGQlNTeEZRVU5OYVVNc1JVRkJUekJxUWl4RlFVRlBNMnhDTEUxQlIzWkNMRWRCUVV0emJFSXNSMEZCWVRGclFpeEZRVUZQTmtRc1VVRkJVM2hETEVWQlFVMXhha0lzU1VGQlpTeEZRVU5xUkVNc1IwRkRTa0VzUlVGQlVUbHRRaXhMUVVGTmQwUXNVVUZuUW1oQ0xFZEJXRUYzYWtJc1JVRkJWM1pFTEVkQlFWbHFaMElzUjBGSGRrSnpUU3hGUVVGTmIxY3NSMEZCVVdVc1JVRkJVMnhzUWl4WlFVRmhlVUlzUjBGQlVTeFZRVWQyUTNkcVFpeEhRVU5LWWl4SFFVRmxjbGNzUjBGSldEaFhMRVZCUlVvc1NVRkVRVEZwUWl4RlFVRkpMRVZCUTAxV0xFVkJRVTl6VFN4RlFVRkxOVXdzVFVGRGFFSnZhRUlzUjBGQldURlpMRXRCUVUxd1NpeEZRVUZMZWtNc1RVRkJVU3hMUVVOdVF6WnNRaXhGUVVGUk5XMUNMRXRCUVUxM1JDeEhRVTFzUWl4UFFVRlBlV3BDTEVWQlNWSXNTVUZCU1Vrc1IwRkJhVUlzYzBKQlJYSkNMRk5CUVZORExFdEJRMUlzVDBGQlR5eEZRVWRTTEZOQlFWTkRMRXRCUTFJc1QwRkJUeXhGUVZOU0xGTkJRVk5ETEVkQlFWbG9hMElzUlVGQlRYcERMRWRCUXpGQ0xFOUJRVk41UXl4SlFVMVdMRmRCUTBNc1NVRkRReXhQUVVGUGVFVXNSVUZCVTNsV0xHTkJRMllzVFVGQlVXZFVMRXRCVkZGRExFdEJRWEZETEZWQlFWUXpiVUlzUjBGWkwwTXNVMEZCVXpSdFFpeEhRVUZKYm10Q0xFVkJRVTF2YTBJc1JVRkJUM2hzUWl4RlFVRlZNR1lzUlVGQlRYaG1MRVZCUVVsMWJFSXNSMEZETjBNc1NVRkJTVU1zUlVGQlVTOXRRaXhGUVVkYUxFZEJRWE5DTEdsQ1FVRldObTFDTEVWQlFYRkNMRU5CVTJoRExFbEJRVTAzYlVJc1NVRk9iVUlzYVVKQlFXSnhRaXhKUVVkWU1HWXNSVUZCVDBFc1IwRkJVVEZtTEVWQlEyWkJMRTlCUVZjMlF5eEhRVVZGTW1sQ0xFVkJRMkpFTEVkQlFVbHVhMElzUlVGQlRYcERMRVZCUVUxeFFpeEZRVUZWTUdZc1JVRkJUVGhHTEVWQlFVODNiVUlzUjBGQlVUaHRRaXhIUVVWb1JDeFBRVUZQY210Q0xFVkJjMEpTTEVkQmJrSmhMRTFCUVZKelpTeEhRVUZ6UWl4TlFVRk9lR1lzUjBGSGNFSkJMRVZCUVV0R0xFVkJRMHd3Wml4RlFVRlBNV1lzVDBGQlZ6WkRMRWRCUTBRc1RVRkJUak5ETEVsQlEyTXNhVUpCUVdKR0xFZEJSMWhGTEVWQlFVdDNaaXhGUVVOTVFTeFBRVUZQTjJNc1NVRkpVRE5ETEVWQlFVdDNaaXhGUVVOTVFTeEZRVUZQTVdZc1JVRkRVRUVzVDBGQlZ6WkRMRXRCUjBRc1NVRkJVRE5ETEVWQlEwcEJMRVZCUVV0cGJFSXNVVUZEUXl4SlFVRk5hbXhDTEVWQlExb3NUMEZCVDJ0Q0xFVkJaVklzVDBGYVlTeEpRVUZTY1d0Q0xFbEJRMHBETEVWQlFWTjRiRUlzUjBGRFZFRXNSVUZCU3l4VFFVRlZlV3hDTEVkQlNXUXNUMEZFUVRWc1FpeEpRVUZUTm14Q0xFbEJRVXRFTEVkQlExQkVMRVZCUVU4dmJrSXNUVUZCVDFnc1MwRkJUWEZGTEdGQlNYcENPRU1zUzBGQlQzVm9RaXhGUVVGUGRtaENMRTlCUVZWMWFFSXNSVUZCVDNab1FpeExRVUZQY0VVc1JVRkJUMjlGTEZOQlJURkRMME1zUlVGQlMwZ3NTMEZCVFN4WFFVTnFRbXhDTEVWQlFVODBiRUlzVFVGQlRXNU9MRWxCUVV0NFlpeExRVUZOZDI5Q0xFVkJRVTkwYkVJc1JVRkJTWGRtTEVWQlFVMHhaaXhMUVN0aE0wTXNVMEZCVXpac1FpeEhRVUZuUW5SaExFVkJRVWsxVFN4RlFVRk5lVzFDTEVkQlJ6VkNRU3hIUVZGT2RrWXNSVUZCVTBvc1NVRkJTMnhWTEVWQlFVazFUU3hIUVVGTkxFZEJRM2hDYjBJc1JVRkJUelJzUWl4TlFVRk5iazRzU1VGQlMycE9MRVZCUVVrMVRTeEZRVUZOTEVOQlF6TkNOazRzVjBGQlZ5eEZRVU5ZWkN4UlFVRlRMRk5CUVZWcFlTeEhRVU5zUWl4SlFVRkpSeXhGUVVGVmVGWXNSVUZEWW5sV0xFVkJRVkZzUnl4RlFVRlRibVlzU1VGQlN6RkVMRXRCUVUweVFpeEhRVVUzUWl4SFFVRjVRaXhGUVVGc1FtZHVRaXhGUVVGTlN5eFhRVUZ0UW1od1FpeExRVUZOTWtJc1NVRkxja01zUjBGQlRXOXVRaXhGUVVGTk1XeENMRkZCZFVORlRpeEZRVUZQTkd4Q0xFMUJRVTEyU2l4UlFVRlRlbVFzU1VGQlZTeEpRVUZMYzI1Q0xHTkJRMnhFVGl4RlFVRk5UeXgxUWtGeVFrNHNSMEZrUVVnc1JVRkJVWHB2UWl4RlFVRk5SeXhMUVVGTk5FUXNWMEZEY0VKM1pTeEZRVUZUU2l4SlFVRkxlbWxDTEV0QlFVMHlRaXhGUVVGTmIyNUNMRWRCU3pGQ1JDeEZRVUZYVml4RlFVRlpjRzlDTEV0QlFVMHlRaXhIUVVNM1FqTkNMRXRCUVUweVFpeExRVVZFYjI1Q0xFdEJSRXg2Vml4RlFVRlRkVkFzUlVGQlUyNW1MRWxCUVVzeFJDeExRVUZOTWtJc1MwRkRTbTF1UWl4RlFVTjRRbXBITEVWQlFWTktMRWxCUVV0NmFVSXNTMEZCVFRKQ0xFZEJRVTBzUjBGRk1VSXlVaXhGUVVGVExFZEJSVXg1Vml4SlFVRlZlbFlzUlVGWFpDeFBRVkpCY1ZZc1JVRkJUVkVzTWtKQlEwNVNMRVZCUVUxVExHbENRVTlET1ZZc1IwRkJWVUVzUlVGQlQzQk5MRmRCWldZMmFFSXNSVUZCVFRGc1FpeFRRVWRxUW5kbUxFVkJRVk5LTEVsQlFVdDZhVUlzUzBGQlRUSkNMRVZCUVUwc1EwRkRla0oxUml4TlFVRlBia1VzUlVGQlR6UnNRaXhOUVVGTlZTeFJRVWx1UW5SdFFpeEZRVUZQYlVNc1QwRkJVVFpxUWl4RlFVRlBMRWRCUVV0b2JVSXNSVUZCVDNWdFFpeE5RVUZOYUcxQ0xGZEJRM2hEZVd4Q0xFVkJRVTE2YjBJc1RVRkJUeXhIUVVOaVRpeFJRVXRHTW05Q0xFVkJRVTFSTEhGRFFTOUZNRUowYWtJc1NVRkJOMEpuWkN4RlFVRlRibVlzU1VGQlN6WkxMRVZCUVVrMVRTeEpRVU4wUW05Q0xFVkJRVTgwYkVJc1RVRkJUVzVPTEVsQlFVdHFUaXhGUVVGSk5VMHNSVUZCVFhWdFFpeEpRVFZoTDBKdWJFSXNSVUZCVHpSc1FpeE5RVUZSTEVOQlJXUnVjRUlzVDBGQlVTeEhRVVZTWjJNc1NVRkJTeXhUUVVGVmNGZ3NSVUZCVFc5clFpeEZRVUZQT1Zvc1JVRkJVMmRWTEVWQlFVMHhaaXhIUVVVeFF5eEpRVUZKZFcxQ0xFVkJRV0ZETEVWQlFXRTVXU3hGUVVNM1FpdFpMRVZCUVZGRExFVkJRVWRETEVWQlExaDJTeXhGUVVGVGQwc3NSVUZCVldwdlFpeEZRVUZOYTI5Q0xFVkJRVmxETEVWQlEzSkRReXhGUVVGWGJFZ3NSVUZCVTI1bUxFbEJRVXRWTEVkQlJ6RkNMRWRCUVUwclpDeEZRVUZaTDJRc1IwRjFRMnhDTEVsQmJFTkxjMHNzUlVGQlVVRXNWVUZGV2tFc1IwRkVRVFpoTEVWQlFXTTNZU3hIUVVOUlFTeFJRVU4wUWpGTUxFVkJRVmQxYlVJc1JVRkJXWFp0UWl4VlFVdHVRa0VzUjBGRFNrUXNSVUZCVDNkT0xFdEJRVXROTEdkQ1FVRnBRbTVDTEVkQlFXbENNVTBzUjBGSmVrTXdUQ3hGUVVGUmRrZ3NUMEZEWW5WSUxFVkJRVkYyU0N4TFFVRlBjRVVzUlVGQlQyOUZMRk5CU1daemFVSXNSVUZCVTAwc1JVRkJVMDRzVlVGRGVrSkJMRVZCUVZOTkxFVkJRVk5PTEU5QlFWTnljRUlzVDBGQlR6UndRaXhQUVVGUkxGRkJSVzVEVWl4RlFVRmpUeXhGUVVGVFJTeFZRVU01UWxRc1JVRkJZMDhzUlVGQlUwVXNUMEZCVXl4VFFVRlZlbVFzUjBGSmVrTXNXVUZCZVVJc1NVRkJXSHBLTEVkQlFUQkNRU3hGUVVGUE5HeENMRTFCUVUxMVFpeFpRVUZqTVdRc1JVRkJSVGRMTEV0QlEzQkZiMElzUlVGQlR6UnNRaXhOUVVGTmQwSXNVMEZCVTNod1FpeE5RVUZQZVVRc1JVRkJUVU1zWjBKQlFXTjNRaXhKUVUxd1JEWnFRaXhIUVVSQmJFSXNSMEZCVlVFc1IwRkJVeXhKUVVGTE0ySXNUVUZCVDNGUUxFbEJRVzFDTEVOQlFVVXNTMEZETVVNM1dTeFBRVU5HY1cxQ0xFdEJSVkF2YmtJc1JVRkJUMjF2UWl4SFFVUlFjRm9zUlVGQlRYVllMRWRCUVdVdllTeExRVUZOYzJJc1JVRkJUMnRDTEV0QlFWTXNTVUZEY0VJc1IwRkRka0pITEVkQlFXVnVXaXhGUVVGTExFbEJRVThzU1VGQlMzQktMRTFCUVU4c1MwRkJUWFJETEU5QlIzWkRja1FzU1VGTFRubGtMRVZCUVZWeVl5eEZRVUZQTkd4Q0xFMUJRVTEyU2l4UlFVRlRlbVFzU1VGQlZTeEhRVWN4UTBFc1IwRkJVM0ZDTEVWQlFWZHZZeXhGUVVGUk5rb3NZVUZCWlRkS0xFVkJRVkZuVEN4WFFVRmplbTlDTEVWQlIycEZlV1FzUlVGQlZYSmpMRVZCUVU4MGJFSXNUVUZCVFhaS0xGRkJRVk42WkN4SlFVRlZMRWRCUnpGRFoyOUNMRVZCUVZrMWJVSXNSVUZCVDIxRExFOUJRVkVzUTBGRE1VSjJSQ3hMUVVGTlFTeEZRVU5PYlc5Q0xGTkJRVlZCTEVWQlExWndTQ3hMUVVGTlFTeEZRVU5PYUZVc1VVRkJVMEVzUlVGRFZIWklMRXRCUVUxMVNDeEZRVUZSZGtnc1MwRkRaRzVGTEZOQlFWVkJMRVZCUTFZMlNDeGhRVUZqTjBnc1IwRkJXVVFzUlVGQlR6WlBMRXRCUVVzdlJTeE5RVUZOYUVNc1lVRkJZVEpETEV0QlFVMTRTeXhIUVVNdlJIZE5MRlZCUVZkeFlTeEZRVUZYYW1Nc1MwRkJUU3hOUVVNeFFqSmlMRWxCUjB0TExFVkJRVmRJTEVWQlFWRTVia0lzVDBGRE1VSnBiMElzUlVGQlYwZ3NSVUZCVVRsdVFpeEhRVUZUTEVsQlEyNUNNRzlDTEdOQlFXZENMRVZCUjI1Q2Frd3NSVUZCVVd0TUxGRkJRMmxFTEVsQlFUbEViRXdzUlVGQlVXdE1MRTFCUVUwM2NFSXNTMEZCVFRKRUxFVkJRVTF6WlN4RlFVRk5iVWdzUlVGQldVd3NTVUZGZGtOd2JFSXNSVUZCU3pKTUxHdENRVU5VTTB3c1JVRkJTekpNTEdsQ1FVRnJRbkJQTEVWQlFVMDJia0lzU1VGTE0wSndTeXhGUVVGUk5VUXNUVUZEV2pSRUxFVkJRVkUxUkN4SlFVRkpMMkVzUzBGQlRUSkVMRVZCUVUxMWJFSXNSMEZGYkVKQkxFVkJRVlZxWWl4UlFVRlJka2dzVDBGRGRrSjNhVUlzUlVGQlZXcGlMRkZCUVZGMlNDeExRVUZQZFVnc1JVRkJVWFpJTEU5QlN6bENia1VzUlVGRFNqUnRRaXhGUVVGVE0ydENMRTlCUVZFeWEwSXNSVUZCVTFNc1owSkJRV2xDTEVWQlFVZFdMRWRCUlRsRFF5eEZRVUZUYUhCQ0xFdEJRVTByYjBJc1IwRkphRUkxYlVJc1JVRkJUelJzUWl4TlFVRk5ibkJDTEU5QlFWRnRReXhKUVVGVExFbEJUV2hEYTJNc1QwRkJVU3hUUVVGVmVsb3NSVUZCVFc5clFpeEZRVUZQT1Zvc1JVRkJVekZNTEVWQlFWVjFia0lzUjBGRmFrUXNTVUZCU1hwc1FpeEZRVUZITUd4Q0xFVkJRVmM1V2l4RlFVTnFRaXRaTEVWQlFWRkRMRVZCUVVkRExFVkJRMWgyU3l4RlFVRlRkMHNzUlVGQlZXcHZRaXhGUVVGTmEyOUNMRVZCUVZsRExFVkJRM0pEUXl4RlFVRlhiRWdzUlVGQlUwUXNVVUZCVTNobExFbEJRVlY1WlN4RlFVRlRibVlzU1VGQlMxVXNSMEZGZEVRc1IwRkJUVEpzUWl4SlFVRmxUaXhGUVVGVFRTeEZRVUZUVGl4UlFVRjJReXhEUVU5QkxFbEJSRUZETEVkQlJFRnNRaXhIUVVGVlFTeEhRVUZUTEVsQlFVc3pZaXhOUVVGUGNWQXNTVUZCYlVJc1EwRkJSU3hMUVVNeFF6ZFpMRTlCUTBaeGJVSXNTMEZOVUN4SFFVcEJMMjVDTEVWQlFVOXRiMElzUjBGRVVIQmFMRVZCUVUxMVdDeEhRVUZsTDJFc1MwRkJUWE5pTEVWQlFVOXJRaXhMUVVGVExFbEJRM0JDTEVkQlEzWkNSeXhIUVVGbGJsb3NSVUZCU3l4SlFVRlBMRWxCUVV0d1NpeE5RVUZQTEV0QlFVMTBReXhQUVVkMlEzSkVMRVZCUVU0c1EwRmxRU3hKUVZKQmVXUXNSVUZCVlhKakxFVkJRVTgwYkVJc1RVRkJUWFpLTEZGQlFWTjZaQ3hKUVVGVkxFZEJSVEZEYVc5Q0xFVkJRVmRJTEVWQlJGZzVia0lzUjBGQlUzRkNMRVZCUVZkdll5eEZRVUZSTmtvc1lVRkJaVGRLTEVWQlFWRm5UQ3hYUVVGamVtOUNMRWxCUTNCRExFZEJRemRDSzA4c1JVRkJUVUVzUlVGQlN5eEpRVU5XTEVsQlFVazFSeXhQUVVGUkxGVkJRVmtyWml4RlFVRlhhbU1zUzBGQlRTeHBRa0ZCYjBJc1YwRkhPVVEwWXl4RlFVRlpNV3hDTEVWQlFVazRhMElzUlVGQlUzWnRRaXhQUVVOcVFubENMRXRCUTFBMmEwSXNSVUZCV1VNc1JVRkJWVGxyUWl4SlFVVm1lV3hDTEVkQlFXVlVMRWxCUVdGSUxFVkJRVlZITEZWQlEzcERjR0lzUjBGQlYwRXNSVUZCVVhaSUxFOUJRVk4zYVVJc1JVRkJWWGhwUWl4TlFVTjBRM1ZLTEVsQlFVOUJMRVZCUVVsc1JDeExRVUZOYldNc1JVRkJWVzVoTEZsQlF6TkNlRTBzUjBGQldVRXNTVUZCWVRKdFFpeEZRVUZWTTIxQ0xGZEJRM2hDTEU5QlFXSkJMRWxCUVhGQ01tMUNMRVZCUVZVemJVSXNXVUZEYUVNMGJVSXNSVUZCVXpOclFpeFBRVUZSU0N4RlFVRkhMRWRCUldZMmEwSXNSVUZCVlROdFFpeFZRVU5rTkcxQ0xFVkJRVk5UTEdkQ1FVVk1ha3dzUlVGQlVYWkNMRkZCUTFwMVFpeEZRVUZSZGtJc1QwRkJUM0JrTEV0QlFVMHlSQ3hGUVVGTmRXeENMRWxCVDNwQ1lTeEpRVUZqV2l4RlFVRlRkbTFDTEZOQlEzSkNLMklzUlVGQlVYRk1MRmRCUTJ0RUxFbEJRUzlFY2t3c1JVRkJVWEZNTEZOQlFWTm9jVUlzUzBGQlRUSkVMRVZCUVUxNWJFSXNSVUZCV1VVc1JVRkJVMFVzVTBGRmJFUnNia0lzUlVGQlR6SnVRaXhaUVVGaGRHMUNMRVZCUVUxNlF5eEZRVUZOYjI5Q0xFVkJRVk5GTEdWQlIyNURVaXhGUVVGUk9XNUNMRk5CTVVObUxFbEJRVTFCTEV0QlFWRTRia0lzUlVGRFlqRnRRaXhGUVVGUE5HeENMRTFCUVUwNVN5eFBRVUZSZWxvc1JVRkJUWHBETEVWQlFVODJiVUlzUlVGQlQydENMRWRCUVV0b1lpeEZRVUZUTVV3c1IwRkJWU3hIUVRoREwwUkVMRVZCUVU5NVJDeGpRVUZsYVdwQ0xFbEJRekZDTlVjc1JVRkJVMmhHTEU5QlFWRjZXaXhGUVVGTkxHMUNRVWw2UWl0c1FpeFRRVUZWTEZOQlFWVlJMRWRCUlc1Q0xFbEJRVWw0YjBJc1JVRkJSekpETEVWQlFVZG9RaXhGUVVGTE5GRXNSVUZCVTJsV0xFVkJRVmRwUWl4RlFVTnNRM0pYTEVWQlFVOHNTVUZCU1RWUExFMUJRVTkwUWl4VlFVRlZhRUlzVVVGSE5VSnpiRUlzUlVGQlVUVnNRaXhGUVVGUE5HeENMRTFCUVUxclF5eEpRVUZMUml4SFFVVXhRbVlzUjBGRFF5OUhMRVZCUVZOdVppeEpRVUZMTVVRc1MwRkJUU3hYUVVGalNTeFBRVUZQTkhCQ0xFOUJRVkVzVDBGREwwTnlRaXhGUVVGTmFHNUNMRTlCUVZVc1IwRkRia0o1WkN4RlFVRlZjbU1zUlVGQlR6UnNRaXhOUVVGTmRrb3NVVUZCVTNWS0xFVkJRVTFvYmtJc1QwRkJWU3hIUVV0cVJDeEpRVVpCTkZNc1JVRkJUU3hIUVVGTmIxVXNSVUZGVG5odFFpeEZRVUZKTEVWQlFVZEJMRVZCUVVsclF5eFZRVUZWYUVJc1QwRkJVV3hDTEVsQlEyeERiMU1zUlVGQlRYQlRMRWRCUVUxclF5eFZRVUZYYkVNc1IwRk5lRUlzUjBGSVFYZHRRaXhGUVVGTmJVTXNaVUZCYVVJNWNVSXNUVUZIYkVKdlppeEZRVUZSTWt3c1kwRkJNa1FzU1VGQk5VTXpUQ3hGUVVGUk1rd3NXVUZCV1hSeFFpeExRVUZOVkN4TFFVRk5NbTlDTEVkQlFUVkVMRU5CVTBFc1NVRktRV2xETEVWQlFXVTNia0lzUlVGQlR6UnNRaXhOUVVGTmFVSXNVMEZCVTI1d1FpeExRVUZOVkN4TFFVRk5NbTlDTEVWQlFVOXBRaXhIUVVkNFJIcHVRaXhGUVVGSkxFZEJRMDExVXl4RlFVRlZhMWNzUlVGQlkzcHZRaXhSUVVGWmQyMUNMRVZCUVUxeFF5eDNRa0ZKYmtRc1NVRklRWEpETEVWQlFVMXpReXhqUVVGblFuWlhMRVZCUVZGMFVTeExRVVU1UWxVc1JVRkJTU3hIUVVOTk5tdENMRVZCUVZscVZpeEZRVUZSYTFZc1UwRkJWVGxyUWl4UlFVTjBRelpxUWl4RlFVRk5kVU1zYVVOQlNVUjJReXhGUVVGTmQwTXNZVUZCYzBNc1NVRkJlRUo0UWl4RlFVRlZibUVzV1VGRGJrTnRXaXhGUVVGTmQwTXNWMEZCVnpOa0xFdEJRVTF0WXl4RlFVRlZibUVzWVVGRmFrTnRXaXhGUVVGTlowSXNWVUZCV1VFc1JVRkRiRUpvUWl4RlFVRk5ha2NzUzBGQlQybElMRVZCUVZWcVNDeFZRVXRXTjJNc1MwRklZaTlDTEVsQlFWVm1MRVZCUVU4MGJFSXNUVUZCVFhaS0xGRkJRVk4xU3l4RlFVRlZSeXhYUVVGakxFbEJRVXRITEZGQlF6VkVUaXhGUVVGVmFtSXNVMEZCVlM5T0xFMUJRVThyVkN4RlFVRlJkRkVzUzBGQlRXMVJMRTFCUjFRc1MwRkJla0p2VlN4RlFVRk5jbFlzVDBGQlUzaFFMRXRCUTNKQ05tdENMRVZCUVUxVExHbENRVU5PVkN4RlFVRk5UeXh2UWtGWldDeFBRVXBMT1Vvc1JVRkJVV2ROTEdOQlExcG9UU3hGUVVGUlowMHNZVUZCWVROeFFpeExRVUZOVkN4TFFVRk5NbTlDTEVkQlJ6TkNRU3hGUVVGTmNsWXNVMEZIWkhOWExGTkJRVlVzVTBGQlZXcENMRVZCUVU5cFFpeEhRVU14UWl4SlFVRkplbTVDTEVWQlFVZDNia0lzUlVGQlZ6TllMRVZCUVV0eFdpeEZRVUZwUWtNc1JVRkRka05XTEVWQlFXVXNSMEZEWmxBc1JVRkJaMEpVTEVWQlFWTlRMR05CUTNwQ2VHSXNSVUZCVFRoYUxFVkJRVTF1YWtJc1QwRkhZaXhIUVVGTE5tdENMRWRCU1VwNFlpeEZRVUZKZEU0c1dVRlBZeXhWUVVGbWIyNUNMRVZCUVUxb2JrSXNUVUZCYjBKbmJrSXNSVUZCVFRWVExGRkJRVlVzUjBGRk4wTXNTMEZCVVd4SUxFbEJRVkUzVHl4TFFVRk5OazhzUlVGQlRVRXNSVUZCU1dwTkxGbEJRV00xUXl4TFFVazNReXhIUVVGelFpeEpRVUZxUWpaUExFVkJRVWwwVGl4WFFVRnZReXhWUVVGbWIyNUNMRVZCUVUxb2JrSXNUMEZCY1VNc1NVRkJha0pyVGl4RlFVRkpNVU1zVlVGQmMwSXNRMEZIYWtZc1NVRkdRV3RtTEVWQlFXdENMRWRCUTJ4Q1F5eEZRVUZ0UWl4SFFVTmlibkJDTEVWQlFVa3NSVUZCUjBFc1JVRkJTV3R2UWl4RlFVRmxiRzlDTEZOQlRVVXdSQ3hKUVVFMVFubHNRaXhGUVVaTWRGb3NSMEZJUVRKWUxFVkJRVmxETEVWQlFWVjZia0lzU1VGSFRtRXNVMEZCVnl4UFFVY3hRbk52UWl4RlFVRnJRblJhTEVkQlFWRXlXQ3hGUVVGVk9XVXNZVUZEYmtNNVNDeEZRVUZSYVZBc1JVRkJTMmhUTEUxQlFVOXpZaXhOUVVGUGVrMHNTVUZCVXl4RlFVTndRemxNTEVWQlFVOTNUaXhMUVVGTmVVSXNSVUZCUzJoVExFdEJRVTBzUzBGQlRTeERRVUZGTms4c1NVRkJVWGhNTEZGQlJYSkRhVzlDTEVWQlFXdENkRm9zU1VGRGRFSnhXaXhGUVVGblFucHhRaXhMUVVGTksyOUNMRWRCUjI1Q01FSXNSVUZCWjBKb2IwSXNVVUZEY0VKMWJrSXNSVUZCWVdoeFFpeExRVUZOTEVOQlFVVjNSQ3hMUVVGTmVVc3NSVUZCU3l0aExGTkJRVlY1UWl4SlFWazVReXhQUVV4QmVHTXNSVUZCVFRkUExFdEJRMFJ4Y1VJc1JVRkJaMEpVTEVWQlFWTjJiVUlzVVVGRE4wSjFia0lzUlVGQllXaHhRaXhMUVVGTkxFTkJRVVYzUkN4TFFVRk5lVXNzUlVGQlN5dGhMRk5CUVZWQkxFVkJRVk4wY0VJc1RVRkJUeXR3UWl4TFFVZHdSRThzUjBGSFVsY3NVVUZCVXl4VFFVRlZibTFDTEVWQlFVMXZiVUlzUjBGRGVFSndja0lzVDBGQlQyMXBRaXhsUVVGblFuaG1MRVZCUVU5MWJVSXNUVUZCVFdodFFpeFZRVUZYT0VJc1JVRkJUU3hEUVVOd1JIRnRRaXhaUVVGWkxFVkJRMXBxU2l4alFVRmpMRVZCUldRNVpTeEpRVUZMY2tNc1JVRkJXVzF4UWl4SFFVTm9RaXhYUVVORExFZEJRVXQ0Y2tJc1MwRkJTekJ5UWl4alFVTlVMRTlCUVU5R0xFVkJRVTE0Y2tJc1MwRkJTekJ5UWl4blFrRkhjRUlzVjBGRFF5eEhRVUZMTVhKQ0xFdEJRVXN3Y2tJc1kwRkRWQ3hQUVVGUE1YSkNMRXRCUVVzd2NrSXNZMEZCWlhSdFFpeEpRVWs1UW5Ga0xFbEJRVXNzVTBGQlZYWmlMRWRCUTJRNVJ5eFBRVUZQYldsQ0xHVkJRV2RDZG1sQ0xFdEJRVTF2Uml4RlFVRk5MRU5CUTJ4RGNXMUNMRmxCUVZrc1JVRkRXbXBLTEdOQlFXTXNSVUZEWkcxS0xGVkJRVlVzUlVGRFZucHJRaXhOUVVGUFFTeFJRVTFZTW1wQ0xFbEJRVXNzVTBGQlZXRXNSMEZEWkN4UFFVRlBRU3hGUVVGbE0yOUNMRVZCUVU4clF5eFRRVU0xUWpSc1FpeEZRVU5CTEVsQlFVa3piMElzUlVGQlQzVnRRaXhOUVVGUGIwTXNTVUZIY0VKMFRTeFJRVUZUTEVOQlExSjNUU3hMUVVGTkxFTkJSMHhETEZWQlFWVXNSMEZGV0VNc1RVRkJUeXhEUVVkT2VFSXNUVUZCVHl4VFFVRlZOVWdzUjBGSmFFSXNTVUZCU1c1VkxFVkJRVXQyVHl4TlFVRlJNR2xDTEVWQlYycENMRTlCVWt0elJDeEhRVUZsZUZrc1MwRkJUV1VzUlVGQlJ6Vk5MRTlCUXpWQ05FMHNSVUZCUjNWa0xFOUJRVk14Wml4RlFVRlZiVU1zUlVGQlNTeFZRVWN4UW5OaExFZEJRV2RDZEdFc1JVRkJTU3hSUVVGVE1sb3NTMEZKZGtJc1IwRkZVbTFDTEZGQlFWTXNVMEZCVlROSExFZEJTV3hDTEVsQlFVbHVWU3hGUVVGTGRrOHNUVUZCVVRCcFFpeEZRVlZxUWl4UFFWQkxjMFFzUjBGQlpYaFpMRXRCUVUxbExFVkJRVWMxVFN4UFFVTTFRalJOTEVWQlFVZDFaQ3hQUVVGVE1XWXNSVUZCVlcxRExFVkJRVWtzVlVGRk1VSnpZU3hIUVVGblFuUmhMRVZCUVVrc1ZVRkpaQ3hIUVV0U2Mxa3NVMEZCVlN4VFFVRlZPRUlzUjBGRGJrSXNTVUZCU1c1cVFpeEZRVUZUYldwQ0xFVkJRVTF1YWtJc1QwRkRia0lzVDBGQlQzZG5RaXhIUVVGbGVGa3NTMEZCVFdoSkxFVkJRVTgzUkN4UFFVTnNRelpFTEVWQlFVOXpiVUlzVDBGQlV6Rm1MRVZCUVZVMVJ5eEZRVUZSTEZWQlEyeERjV1FzUlVGQlUyNW1MRWxCUVVzNFFpeEZRVUZSTEZWQlEzUkNORWNzUlVGQlZUVkhMRVZCUVZFc1QwRkpja0oxYlVJc1lVRkJZeXhEUVVOaVdDeGhRVUZqTEZOQlFWVjZReXhSUVVsRU9XbENMRWxCUVdwQ09HbENMRVZCUVUxeVZpeFJRVUYzUW5GV0xFVkJRVTByUXl4blFrRkRlRU12UXl4RlFVRk5LME1zWTBGQlkwMHNXVUZCWTNKRUxFVkJRVTF5Vml4WlFXOUhOME4yVVN4RlFVRlBNbTVDTEZsQlFXTXNVMEZCVlhSdFFpeEZRVUZOZWtNc1JVRkJUWE52UWl4SFFVZHlRemRzUWl4RlFVRkxOR01zY1VKQlExUTFZeXhGUVVGTE5HTXNiMEpCUVhGQ2NtWXNSVUZCVFhOdlFpeEpRVWxzUTJ4dVFpeEZRVUZQZFcxQ0xFMUJRVkVzVTBGQlZURnVRaXhGUVVGTGNYRkNMRWRCUnpkQ0xFdEJRVkZxYzBJc1owSkJRV2RDSzBNc1JVRkJUM1Z0UWl4UFFVTTVRaXhQUVVGUExFbEJRVWwyYlVJc1JVRkJUM1Z0UWl4TlFVRlBNVzVDTEVWQlFVdHhjVUlzUjBGSk1VSnljVUlzUjBGQlQwRXNSVUZCU1VRc1RVRkRaak5DTEV0QlFVc3dja0lzWTBGQlowSTVjRUlzUlVGRGNrSTFRaXhMUVVGTE1rSXNTMEZCVDBNc1JVRkJTVVFzUzBGSmFFSXpRaXhMUVVGTGEzTkNMRzFDUVVGeFFuUnhRaXhGUVVGSmRYRkNMSFZDUVVOSWRHMUNMRWxCUVhwQ2FrVXNSVUZCU1hWeFFpeHRRa0ZIWjBJc1NVRkJjRUoyY1VJc1JVRkJTVzl4UWl4WlFVTk1PVVFzUjBGRFFVTXNSMEZMUkc1dlFpeExRVUZMZDBZc1QwRkJWelZFTEVWQlFVazBSQ3hSUVVGclF5eEpRVUY0UWpWRUxFVkJRVWswUkN4UFFVRlBha1VzVTBGRGVFTkxMRVZCUVVrMFJDeFBRVUZQTlVNc1YwRkRXR2hDTEVWQlFVazBSQ3hQUVVWTWVFWXNTMEZCUzJseVFpeGpRVUZuUW5Kd1FpeEZRVUZKY1hCQ0xHTkJRM3BDYW5KQ0xFdEJRVXR2YzBJc1kwRkJaMEo0Y1VJc1JVRkJTWGR4UWl4bFFVbDZRbkJ6UWl4TFFVRkxNa0lzUzBGQlQwTXNSVUZKVW5GeFFpeEhRVU5LYkhCQ0xFVkJRVTl0UXl4UFFVRlJiRVlzUzBGQlRXbHpRaXhIUVVsMFFtcHpRaXhMUVVGTGNYTkNMRlZCUVZsNmNVSXNSMEZCVDBFc1JVRkJTWGx4UWl4WFFVRmhOV3BDTEV0QlFVczJha0lzVFVGSE9VTjBjMElzUzBGQlRTdERMRVZCUVU4clF5eFZRVUZaTEVkQlN6RkNMME1zUlVGQlQzVnRRaXhOUVVGTmFHMUNMRlZCUVZrc1EwRkRlRUpGTEZsQlFXRlVMRVZCUVU5MWJVSXNUVUZEY0VJMFF5eHRRa0ZCYjBJdlJDeEhRVU53UWpaRExIRkNRVUZ6UWpkRExFZEJRM1JDSzBNc09FSkJRU3RDTDBNc1IwRkRMMEp2UlN4aFFVRmhMRVZCUldKdVJDeGxRVUZuUWl4WFFVTm1MRWxCUVVrMVl5eEZRVUZKZUUwc1MwRkJTekJ5UWl4alFVVmlNWEpDTEV0QlFVdHJjMElzYlVKQlFYRkNhRVVzUjBGRmNrSXhZaXhKUVVGTmVFMHNTMEZCUzNWelFpeGhRVU5tTDJZc1JVRkJSVFJqTEd0Q1FVZEtSaXhuUWtGQmFVSXNWMEZEYUVJc1NVRkJTVEZqTEVWQlFVbDRUU3hMUVVGTE1ISkNMR05CUldJeGNrSXNTMEZCUzJkeVFpeHhRa0ZCZFVJNVF5eEhRVVYyUWpGaUxFbEJRVTE0VFN4TFFVRkxkWE5DTEdGQlEyWXZaaXhGUVVGRk1HTXNiVUpCUjBwRExIbENRVUV3UWl4WFFVTjZRaXhKUVVGSk0yTXNSVUZCU1hoTkxFdEJRVXN3Y2tJc1kwRkZZakZ5UWl4TFFVRkxhM0pDTERoQ1FVRm5RMmhFTEVkQlJXaERNV0lzU1VGQlRYaE5MRXRCUVV0MWMwSXNZVUZEWmk5bUxFVkJRVVV5WXl3eVFrRkhTRzV3UWl4TFFVRkxhM0JDTEc5Q1FVdFFibTFDTEVWQlFVOXJRaXhMUVVGTkxFTkJRMXAxYjBJc1VVRkJVU3hGUVVOU1F5eFRRVUZUTEVWQlExUkRMRmxCUVZrc1JVRkRXa01zWjBKQlFXZENMRVZCUTJoQ1F5eFRRVUZUTEVWQlExUkRMRkZCUVZFc1JVRkRVa01zV1VGQldTeEZRVU5hUXl4VFFVRlRMRVZCUTFSRExFOUJRVThzUlVGRFVFTXNUMEZCVHl4RlFVTlFReXhWUVVGVkxFVkJRMVpETEUxQlFVMHNSVUZEVGtNc1RVRkJVU3hGUVVOU2NISkNMRTFCUVUwc1JVRkRUbkZ5UWl4VlFVRlZMRVZCUTFadVppeExRVUZMTEVWQlEweHZaaXhUUVVGVExFVkJRMVIyV0N4UlFVRlJMRVZCUTFKM1dDeFRRVUZUTEVWQlExUkRMRk5CUVZNc1JVRkRWRU1zVTBGQlV5eEZRVU5VUXl4VFFVRlRMRVZCUTFSRExGTkJRVk1zUlVGRFZFTXNWMEZCVnl4RlFVTllReXhoUVVGaExFVkJRMkpETEZOQlFWTXNSVUZEVkVNc1UwRkJVeXhGUVVOVVF5eGxRVUZsTEVWQlEyWkRMRmRCUVZjc1JVRkRXRU1zVTBGQlV5eEZRVU5VUXl4UFFVRlBMRWRCUTB4d2NrSXNSVUZCVHpSc1FpeE5RVUZOTkVNc1UwRkZhRUo0YjBJc1JVRkJUMnRDTEV0QlFVMHNRMEZCUlcxU0xFMUJRVThzVlVGQlYyZGFMRXRCUVUwc1dVRkJZeXhUUVVGVmVuTkNMRVZCUVUxemJrSXNSMEZEY0VWc2JVSXNSVUZCVHpSc1FpeE5RVUZOZGtvc1VVRkJVM3BrTEVkQlFWTXNRMEZIT1VJeWIwSXNUVUZCVHl4WFFWRk9MRTlCU0VGNlFpeEhRVUZuUWpkdlFpeExRVUZOTWtJc1JVRkJUWGx0UWl4TFFVZHlRaXhIUVVWU2FVSXNVVUZCVXl4WFFVMVNMRTlCU0VGU0xFZEJRV2RDTjI5Q0xFdEJRVTB5UWl4SlFVZG1MRWRCUzFKcmJFSXNVMEZCVlN4WFFVTlVMRTlCUVU4c1IwRkhVbTlETEdGQlFXTkJMRXRCV1doQ2JHMUNMRVZCUVU5clFpeExRVUZOTEVOQlExcHZjVUlzVjBGQldTeFpRVU5hUXl4WFFVRlpMRmRCUTFwRExHRkJRV01zWTBGRFpFTXNZVUZCWXl4alFVTmFMRk5CUVZWRExFVkJRVTAxUkN4SFFVTnNRamx1UWl4RlFVRlBOR3hDTEUxQlFVMTJTaXhSUVVGVGNWQXNSMEZCVXl4RFFVTTVRbmhHTEdGQlFXTTBRaXhGUVVOa1ZDeFRRVUZWVXl4RlFVVldXaXhQUVVGUkxGTkJRVlYwUWl4SFFVTnFRaXhKUVVGSk4ydENMRVZCUlVnMGNVSXNSVUZCVlM5R0xFVkJRVTE1UkN4alFVTm9RbnBETEVWQlFWbG9RaXhGUVVGTlowSXNWVUZUYmtJc1QwRk1UU3RGTEVsQlFXRkJMRWxCVGxReGRVSXNUVUZOWjBNclF5eEZRVUZQZVVZc1UwRk9ka040U1N4TFFVMTVSREIxUWl4TlFVTnNSUzlHTEVWQlFVMW9ia0lzUzBGQlQyZHZRaXhGUVVGVlJ5eFRRVU4yUW1odFFpeEZRVUZOTm14Q0xFVkJRVlZxWWl4UlFVRlJMMDRzVFVGQlQxZ3NTMEZCVFhGRkxGZEJRM0pEYzJ0Q0xFVkJRVTFvYmtJc1MwRkJUMnR3UWl4SFFVVlFMMjFDTEUxQlMxWm1MRVZCUVU5SExFZEJRVWRuUXl4UFFVRlJMRU5CUldwQ2NXcENMRWRCUVVrc1UwRkJWVU1zUlVGQlQzaHNRaXhGUVVGVk1HWXNSVUZCVFhobUxFZEJRM0JETEU5QlFVOXhiRUlzUjBGQlNYWnZRaXhMUVVGTmQyOUNMRVZCUVU5NGJFSXNSVUZCVlRCbUxFVkJRVTE0Wml4SlFVVjZRM1ZzUWl4SlFVRkxMRk5CUVZWRUxFVkJRVTk0YkVJc1JVRkJWVEJtTEVWQlFVMTRaaXhIUVVOeVF5eFBRVUZQY1d4Q0xFZEJRVWwyYjBJc1MwRkJUWGR2UWl4RlFVRlBlR3hDTEVWQlFWVXdaaXhGUVVGTmVHWXNSVUZCU1N4SlFVVTNRekJzUWl4SlFVRkxMRk5CUVZWS0xFVkJRVTk0YkVJc1JVRkJWVVVzUjBGREwwSXNTVUZCU1hsdFFpeEZRVUZYYUc5Q0xFVkJRMllzUjBGQlN6WnRRaXhIUVVGVFFTeEZRVUZOV1N4blFrRkJhMEphTEVWQlFVMXRRaXhWUVZjelF5eFBRVkpCUVN4RlFVRlpia0lzUlVGQlRXMUNMRlZCUTJ4Q05XMUNMRVZCUVZGNWJFSXNSVUZCVFhORExHZENRVUZwUW14RExFbEJRemxDWlN4RlFVRlZibUVzVlVGRFZHMWhMRVZCUVZWSExGTkJRVmNzU1VGQlRVZ3NSVUZCVlc1aExGVkJRM0pEYldFc1JVRkJWVWNzVTBGRFdFZ3NSVUZCVlROdFFpeFRRVU5XTW0xQ0xFVkJRVlZxWWl4VFFVVktNVThzUzBGRlVpeEhRVUZ6UWl4cFFrRkJWbmR2UWl4RlFVRnhRaXhEUVVkb1F5eEpRVUZOTjIxQ0xFdEJRVkUyYlVJc1JVRkRZbmh2UWl4TFFVRkxORzlDTEVsQlFVdHFia0lzUlVGQlRYRkNMRVZCUVZWM2JFSXNSVUZCVHpkdFFpeEpRVVZzUXl4UFFVRlBNMElzUzBGWFVpeFBRVlJyUWl4SlFVRmlaMFFzUjBGQk1FTXNiVUpCUVdKQkxFbEJSMnBEUlN4RlFVRkxSaXhGUVVOTVFTeFBRVUZYTmtNc1NVRkZRU3hKUVVGUU0wTXNTVUZEU2tFc1JVRkJTMmxzUWl4SlFVVkRibTlDTEV0QlFVdHBSU3hMUVVGTkxGZEJRMnBDYkVJc1JVRkJUelJzUWl4TlFVRk5PVXNzVDBGQlVUZGtMRXRCUVUxM2IwSXNSVUZCVDNSc1FpeEZRVUZKUml4UlFVMTZReXhKUVV0RE1uSkNMRWRCUVdVc2QwSkJSMlpETEVkQlFWY3NiME5CUTFoRExFZEJRV1VzTWtOQlIyaENMRk5CUVZORExFZEJRVzlDTVhGQ0xFVkJRVTAwV0N4SFFVTnNReXhQUVVGTE5WQXNSVUZCVldoSkxFVkJRVTBzVlVGRGNFSm5TU3hGUVVFclFpeExRVUZ5UWpSUUxFVkJRVkY2WVN4VFFVRnJRbmxoTEVWQlFWVkJMRVZCUVZFeFNpeFhRVUZaTEU5QlJUTkVkbEFzUlVGQlVYRkNMRWRCUVU4eVZ5eFRRVUZWTEZOQlFWY3NTVUZIY2tNelZ5eEZRVWxTTEZOQlFWTXljVUlzUjBGQlpUTnhRaXhIUVVWMlFpeFBRVVJCUVN4RlFVRkxla01zVFVGQmVVTXNUMEZCYUVONVF5eEZRVUZMTlVJc1lVRkJZeXhUUVVGelFpeEpRVUZOTkVJc1JVRkJTM3BETEV0QlF6TkVlVU1zUlVGRlVpeFRRVUZUTkhGQ0xFZEJRV1UxY1VJc1IwRlBka0lzVFVGT01rTXNWMEZCY0VOQkxFVkJRVXQ2UXl4TlFVRlJMRWxCUVV0eVFpeE5RVUZQTEVWQlFVY3NSMEZEYkVNNFJDeEZRVUZMZWtNc1MwRkJUM2xETEVWQlFVdDZReXhMUVVGTGNrSXNUVUZCVHl4SFFVVTNRamhFTEVWQlFVc3lTaXhuUWtGQmFVSXNVVUZIYUVJelNpeEZRVWRTTEZOQlFWTTJjVUlzUjBGQlowSnlkRUlzUlVGQlMzTjBRaXhIUVVNM1FpeEpRVUZKTDNOQ0xFVkJRVWRwV2l4RlFVRkhlbG9zUlVGQlowSjNkRUlzUlVGQlZVTXNSVUZCVlROR0xFVkJSVGxETEVkQlFYVkNMRWxCUVd4Q2VVWXNSVUZCU3pOMFFpeFRRVUZXTEVOQlMwRXNSMEZCUzNOb1FpeEZRVUZUUkN4UlFVRlRhR2hDTEV0QlJYUkNObTVDTEVWQlJGYzFSeXhGUVVGVGJtWXNTVUZCU3psQ0xFZEJRMUEyYmtJc1VVRkxha0lzU1VGQlRUbHVRaXhMUVVaT2EyaENMRVZCUVZOb1JpeFBRVUZSY1ZJc1JVRkJUU3hwUWtGRlZIcEdMRVZCUTJJc1NVRkJUWFJ1UWl4RlFVRkpMRVZCUVVkcFdpeEZRVUZKY1U4c1JVRkJVVGx1UWl4SFFVRlBNRUlzVDBGQlVXeENMRVZCUVVscFdpeEZRVUZIYWxvc1NVRkRPVU5aTEVWQlFVODBiRUlzVFVGQlRXNU9MRWxCUVVzd1ZDeEZRVUZOZG5SQ0xFVkJRVTA0YmtJc1JVRkJVVGx1UWl4SFFVRlJVU3hKUVU4M1F6Sm5RaXhGUVVGVFJpeFJRVUZUYUdoQ0xFdEJRM1JDZFhSQ0xFVkJRVmR5VFN4RlFVRlRla0lzVDBGQlVYcG1MRWRCUXpWQ2QzUkNMRVZCUVZkeWMwSXNSVUZCVDIxRExFOUJRVkVzUjBGQlNXbHhRaXhIUVVVNVFuSk5MRVZCUVZOTUxFbEJRVXQ1VFN4RlFVRk5SU3hMUVd0Q2RFSXNVMEZCVTBNc1IwRkJWVU1zUlVGQldTOWhMRVZCUVUxeVVTeEZRVUZWZDJwQ0xFZEJSemxEYmxRc1JVRkJUMmhWTEVWQlFVMW5WU3hIUVVWaUxFbEJRVWx6VkN4RlFVRlZkbXBDTEVWQlFVOXJha0lzUlVGQlV5dElMRVZCUVZsMGRFSXNSVUZCVFVNc1JVRkRMME5ETEVWQlFVa3NSVUZEU21sYUxFVkJRVWxyVlN4RlFVRlhhbk5DTEU5QlEyWnRjMElzUlVGQlYzQlZMRVZCUVVrc1JVRkRabXhWTEVWQlFWRnhUaXhGUVVGTkxFZEJRMlJyWWl4RlFVRnJRbkIxUWl4RlFVRlpOa1lzUjBGSEwwSXNSMEZCUzNWdlFpeEhRVU5FY2xVc1JVRkJTU3hIUVVGelFpeHBRa0ZCVm14VkxFbEJRMmhDT1VZc1JVRkJVV2RzUWl4WlFVRmpkMGtzUjBGQlUzQm9RaXhMUVVGTmRFY3NSMEZEZUVNc1QwRkJUMjl2UWl4RlFVRlhjbkpDTEV0QlFVMHNVMEZCVlhGWUxFZEJRMnBETEVsQlFVbGlMRVZCUVU4MlZTeEZRVUZYTDNGQ0xFZEJRVWtyVnl4SFFVTnlRbTFWTEVsQlEwcHNZaXhGUVVGTkxFZEJRVTF5VGl4RlFVRk5la2NzUzBGQlRWUXNTMEZCVFhOaUxFVkJRVTlpTEVWQlFVdHBWaXhUUVVVelEwd3NSMEZCVlRWVkxFVkJRVTFzUnl4RlFVRk5jbEVzUlVGQlZYZHFRaXhMUVVsc1F5eEhRVUZMZEUwc1NVRkZTamxYTEVkQlJFRjFha0lzUlVGQlYwNHNSMEZCWldoVUxFVkJRVTByWVN4RlFVRlpMRWRCUVVseWFVSXNaVUZCWlN4RlFVRlBjV2xDTEVWQlFWazFTQ3hKUVVOcVJYQldMRmRCUlcxQ0xFbEJRUzlDZFZZc1JVRkJVM1JpTEZkQlFWZHNTaXhUUVVONFFuZHJRaXhGUVVGWGRtcENMRWRCU1ZCQkxFZEJRVk52YWtJc1IwRkJWU3hEUVU5MlFpeEpRVXhCTmtnc1IwRkVRUzlJTEVWQlFWVjZhMElzUlVGQlQyOUNMRWxCUVVzeWFVSXNSMEZCVVdVc1JVRkJWU3hWUVVGWmEwZ3NTMEZETDBJeGNrSXNUMEZMWW14Q0xFVkJRVWxwV2l4RlFVRkhhbG9zU1VGRFpFWXNSVUZCVHpSc1FpeEZRVVZHTVd4Q0xFbEJRVTF4ZEVJc1NVRkRWblowUWl4RlFVRlBZeXhGUVVGUGQwTXNUVUZCVDNSRUxFZEJRVTBzUjBGQlRTeEhRVWMxUW5OMFFpeEhRVWxLZUhOQ0xFVkJRVTluUWl4TlFVRlBlV3BDTEVWQlFWTldMRWRCUVZFM2EwSXNSVUZCVFN4WlFVbDJRMmxETEVWQlFWTjZSQ3hMUVVGTk5uVkNMRVZCUVZsdWRFSXNSMEZCUzBZc1JVRkJUVVVzUjBGSGRrTXNSMEZCUzI5MFFpeEZRVTlLTEVsQlRrRnlkRUlzUlVGQlRYTnNRaXhGUVVGVFFTeEZRVUZSYm10Q0xFOUJRVk1zUjBGQlNUUktMR05CUjNCRGJFc3NSVUZCVDI5Q0xFbEJRVXR4YWtJc1JVRkJVM2RJTEVsQlIyWTNjMElzUlVGQlNTeEZRVUZIUVN4RlFVRkpiM1JDTEVWQlFWbHdkRUlzU1VGRE5VSkdMRVZCUVU5MWJFSXNSVUZCVTNKc1FpeEhRVU5ZSzJwQ0xFZEJRVmt4V1N4TFFVRk5ka3dzUlVGQlMwNHNUVUZCVVN4TlFVTnNRMnRvUWl4RlFVRlRlRUlzVDBGQlVYQm1MRVZCUVUwc1pVRkRlRUpqTEVWQlFVOTVSaXhUUVVGVmRFY3NSVUZCUzBRc1MwRkZha0pCTEVWQlFVdE1MRXRCUVRoRExGbEJRWEpEU3l4RlFVRkxUaXhOUVVGUkxFbEJRVXMyUml4alFVY3ZRbnBGTEVWQlFVODBjMElzVjBGQllURjBRaXhGUVVGTFNDeFZRVU0zUW1sQ0xFVkJRVTgwYzBJc1UwRkJWVEYwUWl4RlFVRkxUQ3hKUVVGTExFTkJRekZDUXl4TlFVRlBTU3hGUVVGTFNpeFBRVUZUU1N4RlFVRkxUeXhoUVVGakxGVkJRM1JEVGl4SFFVZEtTQ3hGUVVGVFJTeEZRVUZMYjFFc1dVRkJXWEJOTEZGQlFWTTBiMElzUjBGQll5eEpRVUZOTlhOQ0xFVkJRVTFETEVsQlVXNUZMRTlCUVU5dmRFSXNSVUZIVWl4VFFVRlRlbElzUjBGQlVYcGFMRVZCUVUxd1FpeEZRVUZWTkhOQ0xFZEJTMmhETEVsQlNrRXNTVUZCU1ROMFFpeEZRVU5JTm14Q0xFVkJRVkU1YTBJc1JVRkJWMFFzUlVGQlQzTk9MRTlCUVZGeVRpeEZRVUZWYjBJc1IwRkJVMEVzUlVGRGNrUnFReXhGUVVGSkxFVkJSVFJDTEU5QlFYWkNSaXhGUVVGUE5teENMRVZCUVU4emJFSXNTVUZCWlVFc1NVRkRhRU41ZEVJc1IwRkJPRUlzU1VGQmJFSXpkRUlzUlVGQlMxWXNWVUZEZEVKM1FpeEZRVUZQT0hOQ0xGVkJRVmN2U1N4SFFVRlJOMnRDTEVsQlIzUkNRU3hGUVVGTFZ5eGhRVU5LWjNSQ0xFZEJRVmwyVEN4SFFVRlpjR2xDTEVsQlF6VkNPR3RDTEVkQlFXVkVMRWRCUVZFM2EwSXNSVUZCVFN4WFFVVTVRa0VzUlVGQlMxY3NWMEZCVjBNc1dVRkJZVm9zU1VGSkwwSXNUMEZCVDIxRExFVkJSMUp5UWl4RlFVRlBiVU1zVDBGQlVTeERRVU5rTm1sQ0xHTkJRV1VzVTBGQlZUSklMRWRCUTNoQ0xFOUJRVTlCTEVkQlIxSnVjVUlzVFVGQlR5eFRRVUZWYmtJc1JVRkJUVEJ5UWl4RlFVRmxReXhIUVVOeVF5eEpRVUZKTlhSQ0xFVkJRVWRwV2l4RlFVRkhORlVzUlVGQllVTXNSVUZ3U1U1eWRVSXNSVUZCUzNOMFFpeEZRVU51UWpscFFpeEZRVzlKUmpkSExFVkJRVkZ1UWl4RlFVRkxhV2xDTEZkQlFWY3NSMEZEZUVJMlNpeEZRVUZUTjB3c1IwRkJXV3BuUWl4SFFVZDBRaXhMUVVGTmFFUXNSVUZCVVd0c1FpeG5Ra0ZCYzBNc1NVRkJiRUpzYVVJc1JVRkJTemRETEZWQlFXOURMRXRCUVd4Q05rTXNSVUZCU3pkRExGVkJRek5FZDBJc1JVRkJUeXRYTEZOQlFWVXhWaXhKUVUxdVFpeEpRVWhCTm5KQ0xFVkJRV1Z1U2l4SFFVRlJkbWhDTEVkQlIycENjRVFzUlVGQlNTeEZRVUZIYVZvc1IwRkdZalJWTEVWQlFXTnNTaXhIUVVGUk1XbENMRWxCUlU5bUxFOUJRVkZzUWl4RlFVRkphVm9zUlVGQlIycGFMRWxCYUVvMVFsQXNSVUZwU2t4dmRVSXNSVUZCWVRkMFFpeEhRV3BLU0N0elFpeEZRV2xLVVdVc1JVRkJZemwwUWl4SFFXaEtla05wU3l4UFFVRkJRU3hGUVVkakxGZEJTR1JCTEVWQlFWYzRhVUlzUlVGQlN6bHBRaXhUUVVGVE5VVXNaMEpCUjBGM1pTeEhRVUZsZUZrc1MwRkJUVFZNTEVWQlFVbEVMRTFCUTNKRWRYUkNMRVZCUVV0NFdpeFJRVUZWT1ZRc1JVRkJTVGhVTEZGQlIwc3NWVUZCWW5SS0xFZEJRWEZETEdGQlFXSkJMRWxCUTI1RE9HbENMRVZCUVV0MFZpeGhRVUZsYUZrc1JVRkJTV2RaTEdOQk5rbDRRaXhIUVVGTGExY3NSVUZEU2l4SFFVRkxReXhGUVVsS0xFbEJTRUZETEVWQlFXTkJMRWRCUVdWc1NpeEhRVUZSTVdsQ0xFZEJRM0pETm5KQ0xFVkJRV1ZCTEVkQlFXZENia29zUjBGQlVYWm9RaXhIUVVWcVEzQkVMRVZCUVVrc1JVRkJSMmxhTEVWQlFVazBWU3hGUVVGWk0zTkNMRTlCUVZGc1FpeEZRVUZKYVZvc1JVRkJSMnBhTEVsQlF6TkRPSE5DTEVkQlFXZENaU3hGUVVGaE4zUkNMRWRCUVVzNGRFSXNSVUZCWXpsMFFpeFRRVWRxUkRoelFpeEhRVUZuUWpkeFFpeEZRVUZOYlVJc1IwRlhlRUlzVDBGT1FUQnhRaXhGUVVGbGJrb3NSMEZCVVhab1FpeEZRVUZQTEZkQlExcHNReXhQUVVGVExFZEJRekZDTUdwQ0xFZEJRV1ZyU2l4SFFVRmxReXhIUVVGVmNFb3NSMEZCVVRGcFFpeEZRVUZOTEZkQlNXaEViVUlzUjBGSFVuTnhRaXhWUVVGWExGTkJRVlZvYzBJc1IwRkxjRUlzU1VGS1FTeEpRVUZKTm1Vc1JVRkJUWFJsTEVWQlFVMTZReXhGUVVObWVXUXNSVUZCVlhKakxFVkJRVTgwYkVJc1RVRkJUWFpLTEZGQlEzWkNhbVFzUlVGQlNTeFBRVVUyUWpCRUxFdEJRWGhDZWtJc1JVRkJUMUFzUlVGQlR6RkNMRWxCUVhGQ1FTeEpRVU0xUXl4SFFVRkxaMmRDTEVWQlFWa3ZaQ3hIUVVGVExFTkJRM3BDTEVkQlFVOXpaU3hGUVVGUGRHVXNSVUZCVFhsbExFVkJRVk12WXl4VFFVRmpMRU5CUXpGRExFZEJRVXMwWXl4RlFVRkxLMGNzVDBGRFZDeEpRVUZOT1c1Q0xFdEJRVkVyWjBJc1JVRkJTeXRITEU5QlEySnlTeXhGUVVGVGVtUXNSMEZEWW05Q0xFVkJRVTgwYkVJc1RVRkJUVGxMTEU5QlFWRjZXaXhGUVVGTmVrTXNSMEZKTTBKdlFpeEZRVUZQTW01Q0xGbEJRV0YwYlVJc1JVRkJUWHBETEVWQlFVMHJaMElzUlVGQlMzVklMRkZCVDNoRE4yeENMRVZCUVUxNVpTeEZRVUZUTDJNc1kwRkJXVVFzUlVGRmRrSjZRaXhGUVVGTk1HVXNSVUZCVTJoa0xGZEJTVzVDTVVJc1JVRkJUVEJsTEVWQlFWTm9aQ3hqUVVGWlJDeFBRVTlvUXpsRExFVkJRVTlITEVkQlFVZG5ReXhQUVVGUkxFTkJRMnBDYVhKQ0xFOUJRVkVzVTBGQlZXNTBRaXhIUVVOcVFpeFBRVUZQTm1Fc1IwRkJVVGRrTEV0QlFVMW5SQ3hIUVVGVkxFbEJSMmhETm1Fc1QwRkJVU3hUUVVGVk4yRXNSMEZEYWtJc1QwRkJUelpoTEVkQlFWRTNaQ3hMUVVGTlowUXNTVUZIZEVKVUxFdEJRVTBzVTBGQlZUSkZMRWRCUTJZc1QwRkJUMjFoTEVWQlFWRnlhRUlzUzBGQlRTeFRRVUZWYTBnc1IwRkRPVUlzV1VGQmFVSnlRaXhKUVVGV2NVSXNSVUZEVG01RkxFVkJRVTlTTEV0QlFVMTJReXhOUVVOaVFTeExRVUZMTmxZc1VVRkJVVFZTTEV0QlFVMHNWMEZEU3l4SlFVRnNRbXBGTEV0QlFVdDFRaXhWUVVGdlF5eExRVUZzUW5aQ0xFdEJRVXQxUWl4VlFVRnhReXhKUVVGc1FuWkNMRXRCUVV0MVFpeFhRVU40UkhaQ0xFdEJRVXR4VXl4WlFVRmpia3dzVFVGSGNFSXNTMEZCVFVFc1JVRkJUemRETEZWQlFWVm9RaXhUUVVjelFpdHpRaXhQUVVGUkxGZEJRMUFzVDBGQlQyWXNSMEZCVlhKMlFpeExRVUZOY1VVc1ZVRkJWeXhUUVVGVlJDeEhRVU53UWl4SlFVRnNRbkJGTEV0QlFVdDFRaXhWUVVGdlF5eExRVUZzUW5aQ0xFdEJRVXQxUWl4VlFVRnhReXhKUVVGc1FuWkNMRXRCUVV0MVFpeFZRVU16UTNWMFFpeEhRVUZ2UWpsMVFpeExRVUZOYjBVc1IwRkRhRU42UWl4WlFVRmhlVUlzVFVGTGRrSnBjMElzVVVGQlV5eFhRVU5TTEU5QlFVOW9RaXhIUVVGVmNuWkNMRXRCUVUxeFJTeFZRVUZYTEZOQlFWVkVMRWRCUXpORExFZEJRWFZDTEVsQlFXeENjRVVzUzBGQlMzVkNMRlZCUVc5RExFdEJRV3hDZGtJc1MwRkJTM1ZDTEZWQlFYRkRMRWxCUVd4Q2RrSXNTMEZCUzNWQ0xGTkJRV2xDTEVOQlEzcEZMRWxCUVVscFJTeEZRVUZUYzNCQ0xFZEJRVzlDT1hWQ0xFdEJRVTF2UlN4SFFVTjJRMjlDTEVWQlFVODRjVUlzWVVGQlkyeHpRaXhGUVVGTmIwSXNSVUZCVHpoTkxHZENRVXR5UTJsbExFOUJRVkVzVjBGRFVDeFBRVUZQYkVJc1IwRkJWWEoyUWl4TFFVRk5jVVVzVlVGQlZ5eFRRVUZWUkN4SFFVTjBRM0JGTEV0QlFVczBReXhaUVVOVU5VTXNTMEZCU3pSRExGZEJRVmN3ZEVJc1lVRkJZMnh6UWl4RlFVRk5jRVVzVTBGTGRrTjNkMElzVFVGQlR5eFhRVU5PTEU5QlFVOXVRaXhIUVVGVmNuWkNMRXRCUVUxeFJTeFZRVUZYTEZOQlFWVkVMRWRCUTNSRGNFVXNTMEZCU3pSRExGbEJRMVExUXl4TFFVRkxORU1zVjBGQlZ6QjBRaXhoUVVGamJITkNMRVZCUVUxd1JTeExRVUZMWjFBc1owSkJTelZETmtjc1RVRkJUeXhYUVVsT0xFbEJTRUVzU1VGQlNYcFNMRVZCUTBocVF5eEZRVUZKTEVWQlJUSkNMRTlCUVhSQ2FVTXNSVUZCVDNCRkxFdEJRVTF0UXl4SlFVRmxRU3hKUVVOa0xFbEJRV3hDYVVNc1JVRkJTemRETEZkQlIxUjNRaXhGUVVGUE9ITkNMRlZCUVZjdlNTeEhRVUZSTVdsQ0xFZEJRVTBzU1VGSGFFTkJMRVZCUVV0cFR5eFpRVUZqTEVsQlNYSkNMRTlCUVU5eVV5eE5RVWRTZFVZc1RVRkJUeXhUUVVGVmRYRkNMRVZCUVdWRExFZEJTUzlDTEU5QlNFRkVMRVZCUVdsRExFMUJRV3BDUVN4SFFVRm5RMEVzUlVGRGFFUkRMRVZCUVhsRExFMUJRWEpDUVN4RlFVRTBRa1FzUlVGQlowSkRMRVZCUlhwRUwzWkNMRXRCUVV0dFJTeEpRVUZMTEZkQlEyaENMRTlCUVU5d1FpeEZRVUZQZDBNc1RVRkJUM1pHTEV0QlFVMDRka0lzUlVGQlpVTXNUVUZKTlVOTUxFdEJRVTBzVTBGQlZYaHZRaXhIUVVObUxFOUJRVTl0WVN4RlFVRlJjbWhDTEV0QlFVMHNVMEZCVld0SUxFZEJRemxDTEVsQlFVazVReXhGUVVGUGNFVXNTMEZCVFN4SlFVRlBMRWRCUTNaQ2JVTXNSVUZCU1N4RlFVTkthVm9zUlVGQlNYQmlMRXRCUVV0eFJDeFBRVVZXTEZGQlFXVjNReXhKUVVGV2NVSXNSMEZCZVVNc1NVRkJiRUk1UXl4RlFVRkxOME1zVTBGRGFFTXNUMEZCVHpaRExFVkJRVXQzVFN4VlFVbGlMRWRCUVhOQ0xHbENRVUZXTVVvc1NVRkJkVUo1YmtJc1IwRkJZVzVvUWl4TFFVRk5kRWNzUzBGRGNFUnpaaXhKUVVGWFVDeEhRVUZUTDFrc1MwRkJUV2hITEVsQlFWY3NRMEZCUlN4SFFVRkpMRXRCUVZFc1IwRkJTVTBzWlVGQmEwSXNRMEZGTVVWT0xFVkJRVkZ1UlN4RlFVRlBaMnhDTEdOQlFXVTNaMElzUjBGRk9VSXNTVUZEUXl4TFFVRlJMMFVzUlVGQlNXbGFMRVZCUVVkcVdpeEpRVWxUTEV0QlNIWkNhVU1zUlVGQlQzQkZMRXRCUVUxdFF5eEpRVUZQTEVsQlIxWmFMRmRCUTFSM1FpeEZRVUZQT0hOQ0xGVkJRVmN2U1N4SFFVRlJNV2xDTEVkQlFVMHNTVUZEYUVOQkxFVkJRVXQzVFN4VlFVRlpNVW9zUjBGSmJrSTVReXhGUVVGUExFVkJSMDRzVFVGQlVXOUpMRXRCUjA1d1NTeEhRVU5LY0VVc1MwRkJTelpXTEZGQlFWRjFZU3hQUVVGUmJIQkNMRWxCUlhCQ0xFdEJRVTFCTEVWQlFVODNReXhWUVVGVmFFSXNVMEZITTBKdmRFSXNXVUZCWVN4WFFVTmFMRWxCUVVrdlNTeEZRVUZWTEVkQlIyUXNUMEZCVHpKSUxFZEJRVlZ5ZGtJc1MwRkJUWEZGTEZWQlFWY3NVMEZCVlVRc1IwRkRNME1zU1VGQlNUaFFMRVZCUVZOc1ZTeExRVUZMTkVNc1YwRkZZa2NzUlVGQlR6WkVMRkZCUVZNMVJ5eExRVUZOTUc1Q0xFZEJRVmtzU1VGRGRFTXphMElzUlVGQlR6aHpRaXhWUVVGWEwwa3NSMEZCVVRsdFFpeFBRVU55UW10VkxFZEJRMHBCTEVWQlFVOTNZeXhoUVVGamRITkNMRVZCUVUxd1JTeFJRVXN6UWpCdVFpeE5RVWxNTTJ0Q0xFVkJRVTlyUWl4TFFVRk5MRU5CUTFvd2MwSXNVMEZCVlN4VFFVTldReXhWUVVGWExGVkJRMWhPTEdGQlFXTXNVMEZEWkU4c1dVRkJZU3hSUVVOaVF5eFhRVUZaTEdWQlExWXNVMEZCVlRGeVFpeEZRVUZOTW5KQ0xFZEJRMnhDYUhWQ0xFVkJRVTlITEVkQlFVbHJReXhIUVVGVExGTkJRVlZ3UXl4SFFVODNRaXhKUVU1QkxFbEJRVWxoTEVWQlEwaERMRVZCUVUwc1IwRkRUbXQwUWl4RlFVRlRhblZDTEVWQlFWRkRMRWRCUTJwQ2QwSXNSVUZCVDNkelFpeEZRVUZQTTNSQ0xFOUJRVk1zUlVGRGRrSnNRaXhGUVVGSkxFVkJSVWRCTEVkQlFVdHhReXhGUVVGTmNrTXNTVUZEYkVJd1FpeEZRVUZSTVVJc1NVRkJUWEZETEVWQlFVOTRSU3hMUVVGUFFTeExRVUZMZFVZc1QwRkJUeXhIUVVONFEzaERMRVZCUVZGcGRVSXNSVUZCVVRkMVFpeEpRVUZQTkhWQ0xFZEJRVmxzZEVJc1IwRkpia05xUkN4RlFVRkxSQ3hOUVVGUGJVUXNSVUZCUzBRc1JVRkJUVWdzVDBGSGVFSXNUMEZCVHpGRUxFdEJRVXMwUkN4VlFVRlhSU3hOUVVkNlFpeEpRVUZKYlhSQ0xFZEJRVmtzU1VGQlNXNXVRaXhQUVVGUkxFdEJRVTl0WVN4RlFVRlBMR3RDUVVGdFFpeExRVVY2UkdsT0xFZEJRVmtzVTBGQlZUbHpRaXhIUVV0NFFpeEpRVUZKSzI5Q0xFVkJRVTh2YjBJc1JVRkJTelpKTEdOQlFXTTBReXhaUVUwNVFpeFBRVXBOYzJRc1IwRkJVMEVzUlVGQlMyZEZMRk5CUTI1Q2FFVXNSVUZCVDNCMFFpeEhRVWRFYjNSQ0xFVkJRVXRwUlN4cFFrRkJhMEpvZEVJc1NVRkhOVUpwZEVJc1IwRkJUeXhUUVVGVmFuUkNMRVZCUVUxbExFVkJRVk5xUWl4SFFVTnVReXhKUVVGSlNpeEZRVUZMYzBJc1JVRkRVbXR6UWl4RlFVRk5MRWRCUjFBc1NVRkJUV3h6UWl4TFFVRlJSQ3hGUVVOaWJYTkNMRVZCUVV0c2MwSXNSMEZCVTJoQ0xFVkJRVXR4WjBJc1RVRkJUM0ptTEVkQlF6RkNhRUlzUlVGQlMzRm5RaXhOUVVGUGNtWXNSMEZCVTBRc1JVRkJVME1zUjBGTkwwSXNTVUZCVFVFc1MwRklUblJDTEVWQlFVMUpMRVZCUVZONlJDeExRVUZOTWtRc1IwRkhVR1VzUlVGRFltWXNSVUZCUzNGblFpeE5RVUZQY21Zc1IwRkJVMnR6UWl4RlFVRkxiSE5DTEVkQlJ6TkNMRTlCUVU5MFFpeEhRVWxLZVhSQ0xFZEJRVmtzU1VGQlNYcHVRaXhQUVVGUmMyRXNSMEZCVlhoWExFdEJRVTBzUzBGQlR5eExRV2xLYmtRc1UwRkJVelJxUWl4SFFVRlJjSFJDTEVWQlFVMW5RaXhGUVVGTmNYTkNMRWRCUXpWQ0xFbEJRVWxETEVWQlFVOURMRVZCUVZWRExFVkJRVlU1ZEVJc1JVRk5PVUl5WjBJc1JVRkJVWEpuUWl4RlFVRkxjV2RDTEUxQmNVTmtMRTlCYmtOQlowNHNSVUZCVjBFc1IwRkJXVkFzUjBGQlZ6bHpRaXhOUVZGd1FpeE5RVVppVGl4RlFVRk5NblJDTEVWQlFWTkpMR2xDUVVGclFucHpRaXhKUVVGVmNYTkNMRVZCUVZWeWMwSXNTMEZGYWtOcFppeEhRVUZaYW1kQ0xFdEJReTlDVGl4RlFVRk5aaXhGUVVGUE1HaENMRTFCUVU5eVowSXNSVUZCVFdkQ0xFdEJVWEpDYUVVc1JVRkJVVEIzUWl4clFrRkJiMEppTEVkQlFWVjZha0lzUzBGQlRURktMRWxCUVZONWRFSXNSMEZCVlM5cVFpeExRVUZOY0Vrc1MwRkhNVVZ6YzBJc1JVRkJVV3BPTEVWQlFVMXBUaXhOUVVOa1F5eEZRVUZYYkU0c1JVRkJUV3RPTEZOQlEycENReXhGUVVGWGJrNHNSVUZCVFcxT0xGTkJSMnBDYms0c1JVRkJUV3RPTEZOQlFWZHNUaXhGUVVGTmJVNHNVMEZCVjI1T0xFVkJRVTFwVGl4TlFVRlJOWFJDTEVWQlEyaEVRU3hGUVVGTk1uUkNMRVZCUVZORExFMUJSMlpxVGl4RlFVRk5hVTRzVFVGQlVVRXNSVUZEWkdwT0xFVkJRVTFyVGl4VFFVRlhRU3hGUVVOcVFteE9MRVZCUVUxdFRpeFRRVUZYUVN4VFFVbEtMM0pDTEVsQlFWSXZRaXhGUVVsT1FTeEZRVUZOTEVkQlEwNUJMRVZCU1VZc1UwRkJVMmwxUWl4SFFVRmpReXhGUVVGaFF5eEhRVWR1UXl4TlFVRlBMRU5CUTA1MmRVSXNTVUZCU3l4WFFVTktMRWxCUVV0emRVSXNTVUZUVEN4UFFVRlRhSGxDTEV0QlFVc3dSQ3hKUVVGTmRYVkNMRWRCUVZOMGVFSXNUVUZCVDFnc1MwRkJUWEZGTEd0Q1FVeHNRM0pGTEV0QlFVc3dSQ3hQUVROTmFFSXNWMEZKUXl4VFFVRlRkM1ZDTEVsQlIxSXNSMEZCVFc1TkxFVkJRVTRzUTBGSlFXOU5MRVZCUVZVeFRpeE5RVUZOTWs0c1VVRkJWU3dyUlVGRk1VSnlUU3hGUVVGSmRFSXNUVUZCVFRKT0xGRkJRMVFzTkVoQlIwUXhhVUlzUjBGQlowSXZUU3haUVVGaGQzWkNMRWRCUVZsNGRrSXNXVUZCWVc5cVFpeEhRVVYwUkN4SlFVRkpjMDBzUlVGQlYzUjVRaXhGUVVGUGNYaENMR2xDUVVGclFuSk1MRWRCUTNoRGRVMHNSVUZCYjBNc1QwRkJha0pFTEVWQlFWTjJhVUlzU1VGSE5VSjVhVUlzUlVGQmMwVXNTMEZCT1VORExFVkJRVzlDU0N4RlFVRlRTU3haUVVseVJERk5MRVZCUVVsMFFpeE5RVUZOYVU4c1RVRkJVU3hOUVVOc1FrTXNSVUZCTmtRc1MwRkJla05JTEVWQlFXOUNTQ3hGUVVGVFN5eFBRVWxxUkVVc1JVRkJaMFVzUzBGQmVrTktMRVZCUVc5Q1NDeEZRVUZUV0N4UFFVMXdSRE5NTEVWQlFVbDBRaXhOUVVGTmIwOHNVMEZCVnl4WFFVTnlRa01zUlVGQmFVVXNTMEZCT1VOT0xFVkJRVzlDZWswc1JVRkJTV2RPTEZsQlFXTXNSMEZGZWtSeWFrSXNSMEZCWjBJM1RTeFpRVUZoYzNaQ0xFZEJTVGRDY0Uwc1JVRkJUU3hOUVVkUUxGTkJRVk41VFN4RlFVRnZRbEVzUjBGRE5VSXNUMEZCVDJwMFFpeExRVUZMYTNSQ0xFMUJRVTlETEZkQlFWbEdMRWxCUjJoRExFbEJRVWxXTEVWQlFXdENUU3hGUVVGelFrVXNSVUZCYTBKSUxFVkJRemRFVVN4RlFVRjVRbG9zUlVGRGVrSktMRVZCUVZsMmVVSXNSVUZCVXpCRExHTkJRV1VzVDBGRGNFTjVha0lzUlVGQlRXNXRRaXhGUVVGVE1FTXNZMEZCWlN4UFFVZDZRbmxxUWl4RlFVRkpkRUlzVVVGTlZuTkNMRVZCUVVsMFFpeE5RVUZOTWs4c1pVRkJhVUlzWTBGRE0wSnlUaXhGUVVGSlRTeFhRVUZYTEVkQlFVODFRaXhOUVVGTk1rOHNaVUZCYVVJc1IwRkROME5vZVVJc1JVRkJVV2w1UWl4blFrRkJLME1zWjBKQlFUZENkRTRzUlVGQlNYUkNMRTFCUVUweVR5eGxRVVZ3UTNKM1FpeEZRVUZQYlVNc1QwRkJVVGxFTEVWQlFWTXNRMEZEZGtKcmVVSXNhMEpCUVcxQ0xGZEJSV3hDTEU5QlJFRndRaXhKUVVOUFZTeEhRVVZTWkN4bFFVRm5RaXhYUVVWbUxFOUJSRUZKTEVsQlEwOVRMRWRCUlZKWkxHTkJRV1VzVjBGRlpDeFBRVVJCY2tJc1NVRkRUMGtzUjBGRlVtdENMRzFDUVVGdlFpeFhRVVZ1UWl4UFFVUkJkRUlzU1VGRFQwc3NSMEZGVW10Q0xHTkJRV1VzVjBGRlpDeFBRVVJCZGtJc1NVRkRUMWtzUjBGWlVsa3NjVUpCUVhOQ0xGZEJRM0pDTEVsQlFVbERMRVZCUVU5b1RpeEZRVUZKYVU0c1JVRkJVME1zUlVGdFEzaENMRTlCYkVOblF5eE5RVUV6UWxZc1NVRkRTbEVzUlVGQlVTOTZRaXhGUVVGVE1FTXNZMEZCWlN4VFFVTm9RM0ZyUWl4RlFVRkxMMjFDTEVWQlFWTXdReXhqUVVGbExFMUJRemRDYzNoQ0xFVkJRVlZvTUVJc1JVRkJVekJETEdOQlFXVXNUMEZGYkVOeGVFSXNSVUZCVFd4UUxFMUJRVTB5VGl4UlFVRlZMREpFUVVOMFFucE1MRVZCUVVkc1F5eE5RVUZOTWs0c1VVRkJWU3h0UWtGTGJrSjZUQ3hGUVVGSGJFTXNUVUZCVFhGUUxFOUJRVk1zVFVGRGJFSkdMRVZCUVZGdVVDeE5RVUZOY1ZBc1QwRkJVeXhOUVZGMlFrWXNSVUZCVVc1UUxFMUJRVTFETEZGQlFWVXNVVUZGZUVKb1ZpeEhRVU5GTDAwc1dVRkJZV2Q0UWl4SFFVTmlhSGhDTEZsQlFXRm5hMElzUjBGRFltaHJRaXhaUVVGaGFYaENMRWRCUldaRExFVkJRVlU1ZWtJc1JVRkJUM0Y0UWl4cFFrRkJhMEo2U3l4SFFVTnVRM2ROTEVWQlFUUkNXU3hUUVVGVlJpeEZRVUZSUXl4UFFVRlJMRWxCUTNKRVF5eFRRVUZWUml4RlFVRlJSeXhsUVVGblFpeEpRVU5zUTBRc1UwRkJWVVlzUlVGQlVVa3NhMEpCUVcxQ0xFMUJRVmQwVGl4RlFVRkhkVTRzWVVGRmNFUjRhMElzUjBGQlowSTNUU3haUVVGaE9IZENMRWxCUlhaQ1VpeE5RWFpKVml4SFFYTk9RU3hKUVVGSlowSXNSMEZCWXl4RFFVRkZMRk5CUVZVc1RVRkJUeXhOUVVOd1EwTXNSMEZCWVhnd1FpeEZRVUZUTUVNc1kwRkJaU3hQUVVGUmJXbENMRTFCUXpkRE5GQXNSMEZCWXl4SFFXdENaaXhUUVVGVFF5eEhRVUZsYkhaQ0xFZEJRM1pDTEVsQlFVbHRka0lzUlVGQlVYaDRRaXhGUVVGUGVYaENMRk5CUVZWd2RrSXNTVUZCVldsMlFpeEhRVUZoYW5aQ0xFZEJSWEJFTEU5QlFVdHRka0lzU1VGSFFXNTJRaXhMUVVGUlozWkNMRWRCUTB4b2RrSXNSVUZGUkdsMlFpeEhRVUZoYW5aQ0xFZEJlRUp5UWl4VFFVRjVRa0VzUjBGTmVFSXNTVUZJUVN4SlFVRkpjWFpDTEVWQlFWVnlka0lzUlVGQlRTeEhRVUZKTkdNc1kwRkJaMEkxWXl4RlFVRkxPVVVzVFVGQlR5eEhRVU51UkRaQ0xFVkJRVWxuZVVJc1IwRkJXVGwzUWl4UFFVVlViRUlzUzBGRlVDeEpRVVJCYVVRc1JVRkJUeXQxUWl4SFFVRmhhSGxDTEVkQlFVMXplVUlzUzBGRFlrd3NSMEZEV2l4UFFVRlBhSFpDTEVWQlpXOUNjM1pDTEVOQlFXZENkSFpDTEVsQlFWVkJMRWRCU1hoRUxFbEJTME4xZGtJc1IwRkJaU3cwUWtGRFprTXNSMEZCWXl4TlFVTmtReXhIUVVGVkxFTkJRVVZvUXl4VFFVRlZMRmRCUVZscFF5eFhRVUZaTEZOQlFWVndVU3hSUVVGVExGTkJRMnBGY1ZFc1IwRkJjVUlzUTBGRGNFSkRMR05CUVdVc1NVRkRaa01zVjBGQldTeFBRVWRrTEZOQlFWTkRMRWRCUVcxQ2RuZENMRVZCUVU5MVF5eEZRVUZQYVhWQ0xFZEJTWHBETEVsQlFVbHdkVUlzUlVGQlZXOWtMRWRCUVZGcVdDeExRVUZOYUVjc1IwRkROVUlzVDBGQlQwZ3NSVUZIVG1oQ0xFdEJRVXR4ZGtJc1NVRkJTeXhGUVVGSGNuVkNMRVZCUVZNc1NVRkJVVzkxUWl4SFFVRlpMRXRCUVZWd2RVSXNSVUZCVXl4SlFVRlBMRTFCUTNCRlJ5eEZRVWRHTEZOQlFWTnRkVUlzUjBGQmIwSnFlRUlzUlVGQlRXdDRRaXhGUVVGWFF5eEZRVUZMUXl4RlFVRmhReXhGUVVGUlF5eEhRVU4yUlN4SlFVRkpkbnBDTEVWQlFXdENMRlZCUVdSdGVrSXNSVUZCZDBJc1JVRkJTU3hGUVVOdVEwc3NSVUZCVVN4RlFVTlNReXhGUVVGUkxFVkJSMVFzUjBGQlMwd3NTMEZCVlVNc1JVRkJZeXhUUVVGWExGZEJRM1pETEU5QlFVOHNSVUZIVWl4TFFVRlJjbnBDTEVWQlFVa3NSVUZCUjBFc1IwRkJTeXhGUVVkT0xGZEJRVkp2ZWtJc1NVRkRTa3NzUjBGQlV6ZDVRaXhGUVVGUE5HaENMRWxCUVV0MlowSXNSVUZCVFcxNFFpeEZRVUZOYmxJc1IwRkJWMnBwUWl4SlFVRkxMRVZCUVUxemVrSXNTVUZKYkVSRUxFZEJiVUpSTEZsQlFWSkVMRWxCUTBwTExFZEJRVk0zZVVJc1JVRkJUelJvUWl4SlFVRkxkbWRDTEVWQlFVMHNWVUZCV1dkblFpeEhRVUZYYW1sQ0xFbEJRVXNzUlVGQlRYTjZRaXhKUVVscVJDeFhRVUZTUml4SlFVTktTeXhIUVVGVE4zbENMRVZCUVU4MGFFSXNTVUZCUzNablFpeEZRVUZOTEZOQlFWZG5aMElzUjBGQlYycHBRaXhIUVVGTkxGTkJRVk1zUlVGQlRYTjZRaXhOUVhSQ2RrVkhMRWRCUVZNM2VVSXNSVUZCVHpSb1FpeEpRVUZMZG1kQ0xFVkJRVTBzVlVGQldXZG5RaXhIUVVGWGFtbENMRWxCUVVzc1JVRkJUWE42UWl4SFFVZG9SQ3haUVVGU1JpeEZRVU5LU3l4SFFVRlROM2xDTEVWQlFVODBhRUlzU1VGQlMzWm5RaXhGUVVGTkxGTkJRVmRuWjBJc1IwRkJWMnBwUWl4SFFVRk5MRk5CUVZNc1JVRkJUWE42UWl4SFFVbDBSVVVzUjBGQlV6VjVRaXhGUVVGUE5HaENMRWxCUVV0MlowSXNSVUZCVFN4VFFVRlhaMmRDTEVkQlFWZHFhVUlzUjBGQlRTeFRRVUZUTEVWQlFVMXpla0lzU1VGdlEzcEZMRTlCYUVKTlJDeEhRVUZsUlN4SFFVRmxMRWxCU1c1RFJTeEhRVUZUTjNaQ0xFdEJRVXR4ZGtJc1NVRkJTeXhGUVVGSGNuWkNMRXRCUVVzNGRrSXNTMEZETVVKNmVFSXNSVUZCVFN4VFFVRlhhM2hDTEVWQlFWY3NSMEZCU1hSVUxHTkJRV2RDYzFRc1JVRkJWV2d4UWl4TlFVRlBMRWxCUTJwRmJ6RkNMRVZCUTBGRkxFVkJRMEZFTEVWQlEwRXNUVUZKVFN4SFFVZEVReXhGUVVkU0xGTkJRVk5GTEVkQlFXdENNWGhDTEVWQlFVMXJlRUlzUlVGQlYwc3NSMEZITTBNc1NVRkJTVVlzUlVGQlUzWkZMRWRCUVZjNWMwSXNSMEZMZGtKdmVFSXNTVUZFYlVKd01FSXNSVUZCVVd0NVFpeHhRa0ZCZFVKeFF5eEpRVVZGTEdWQlFXNUVOWGxDTEVWQlFVODBhRUlzU1VGQlMzWm5RaXhGUVVGTkxHRkJRV0VzUlVGQlQzRjRRaXhIUVVOMlEwMHNSVUZCYlVKUUxFVkJSVzVDY0hwQ0xFVkJRVTF2ZGtJc1IwRkJVWEIwUWl4RlFVRk5hM2hDTEVWQlFWZEhMRWRCUXk5Q1R5eEZRVUZoTEZOQlFWZFdMRVZCUVZjc1IwRkJTWFJVTEdOQlFXZENjMVFzUlVGQlZXZ3hRaXhOUVVGUExFZEJTWHBGTEVkQlFVc3lkMElzUjBGQlZYcHFRaXhMUVVGTmNFd3NSMEZCVVN4RFFVTTFRaXhKUVVGTmRYcENMRVZCUTB3c1QwRkJUM1o2UWl4RlFVVlNRU3hGUVVGTkxFOUJlVU5RTEZGQmJFTlJhRUlzUlVGQlVXdDVRaXh4UWtGQmRVSnJReXhKUVUxeVEzQXdRaXhGUVVGUmMzbENMSGRDUVVFd1FuUnVRaXhGUVVGVmFFa3NSVUZCVFN4UFFVa3pReXhUUVVGU2FFTXNTVUZKUXpoM1FpeFhRVUZaT1hkQ0xFbEJRVEJFTEZkQlFXcEVWeXhGUVVGUE5HaENMRWxCUVV0MlowSXNSVUZCVFN4WFFVRlhMRVZCUVU5eGVFSXNTMEZITVVSeWVFSXNSVUZCU3paNFFpeHBRa0ZCYVVJMWVVSXNVMEZGZEVKdGVVSXNSVUZCYVVVc1pVRkJia1I2ZVVJc1JVRkJUelJvUWl4SlFVRkxkbWRDTEVWQlFVMHNZVUZCWVN4RlFVRlBjWGhDTEVsQlMzQkVUU3hGUVVGdFFrTXNTMEZCWXpWNFFpeExRVVZvUTJoRExFVkJRVTFuUXl4RlFVRk5OSGhDTEUxQlMyUTFla0lzUlVGQlRUaDNRaXhYUVVGWk9YZENMRWxCUVZNc1IwRkpNVUpwZWtJc1IwRkRRMnA0UWl4RlFVTkJhM2hDTEVWQlEwRkxMRWxCUVZkSUxFVkJRV01zVTBGQlZ5eFhRVU53UTA4c1JVRkRRVTRzUlVGSFFYSjZRaXhIUVVWRkxFdEJLMU5NTEZOQlFWTTRla0lzUjBGQlR6bDRRaXhGUVVGTlpTeEZRVUZUZDJRc1JVRkJUVFZrTEVWQlFVdHZlRUlzUjBGRGVrTXNUMEZCVHl4SlFVRkpSQ3hIUVVGTk5YbENMRlZCUVZWSUxFdEJRVTFwUWl4RlFVRk5aU3hGUVVGVGQyUXNSVUZCVFRWa0xFVkJRVXR2ZUVJc1IwRTNVelZFY0hwQ0xFVkJRVTl0UXl4UFFVRlJMRU5CU1dScmVFSXNVMEZCVlN4RFFVTlVReXhSUVVGVExFTkJRMUl6ZVVJc1NVRkJTeXhUUVVGVlZTeEZRVUZOY1hSQ0xFZEJRM0JDTEVkQlFVdEJMRVZCUVZjc1EwRkhaaXhKUVVGSk0zUkNMRVZCUVUwd2RFSXNSMEZCVVhCMFFpeEZRVUZOTEZkQlEzaENMRTFCUVdVc1MwRkJVazRzUlVGQllTeEpRVUZOUVN4TlFVODVRblZvUWl4VlFVRlhMRU5CUTFacFVpeDVRa0ZCTWtJc1JVRkRNMEpETEdGQlFXVXNSVUZEWmtNc1lVRkJaU3hGUVVObVF5eFZRVUZaTEVWQlExcERMRmxCUVdNc1JVRkRaSHBDTEZsQlFXTXNSVUZEWkRCQ0xGVkJRVmtzUlVGRFdrTXNXVUZCWXl4RlFVTmtReXhsUVVGcFFpeEZRVU5xUWtNc2FVSkJRVzFDTEVWQlEyNUNReXhUUVVGWExFVkJRMWhETEZsQlFXTXNSVUZEWkVNc1kwRkJaMElzUlVGRGFFSkRMRmxCUVdNc1JVRkRaR0lzVTBGQlZ5eEZRVU5ZWXl4UFFVRlRMRVZCUTFSRExGTkJRVmNzUlVGRFdFTXNVVUZCVlN4RlFVTldReXhSUVVGVkxFVkJRMVpETEUxQlFWRXNSMEZMVkM5RExGTkJRVlVzUjBGSFZpOVFMRTFCUVU4c1UwRkJWWEpuUWl4RlFVRk5aMElzUlVGQlRUaENMRVZCUVU5NWRVSXNSMEZIYmtNc1IwRkJUWFo0UWl4SFFVRXdRaXhKUVVGc1FrRXNSVUZCU3pkRExGVkJRVzlETEVsQlFXeENOa01zUlVGQlN6ZERMRlZCUVcxQ05rTXNSVUZCUzNGblFpeE5RVUZzUlN4RFFVdEJMRWxCUVVrelowSXNSVUZCUzI1RExFVkJRVTByYUVJc1JVRkRaRGhVTEVWQlFWZDJWaXhGUVVGWE4yTXNSMEZEZEVKeGVVSXNSVUZCWlRkRExFZEJRVmx3YmtJc1MwRkJUWEJKTEVkQlEycERjV1lzUlVGQlVYSm5RaXhGUVVGTGNXZENMRTFCWVdRc1IwRlNUV2RVTEVsQlEweHllVUlzUlVGQlQydDJRaXhIUVVGbGEwUXNTVUZKZGtJNVZDeEZRVUZSTTJkQ0xFVkJRVTl4ZWtJc1UwRkJWV2g0UWl4SlFVRlZja01zUlVGQlQzRjZRaXhUUVVGVmIwSXNVVUZIY2tNemVFSXNTVUZCVm5GQ0xFVkJNRU5LTEU5QlFVdDNZeXhIUVVGVExGRkJRVk5CTEZGQlEzZENOMlFzUzBGQk5VTXZRaXhGUVVGTk5HWXNSVUZCVFdoblFpeEpRVUZMVlN4SFFVRk5MRVZCUVU5MWVFSXNTVUZGZWtJM2VFSXNSVUZKUkRKblFpeEZRVUZQY21Zc1IwRTNRMEVzV1VGSVpIcEVMRk5CUVdOMVJpeExRVWRqY0VRc1JVRkJUWEZuUWl4SFFVRlJhbGdzUzBGQlRXaEhMRXRCUVdGd1JDeEZRVUZMTEV0QlEycEZiMFFzUlVGQlVUQmtMRWRCUVZkNFowSXNSVUZCVFdkQ0xFVkJRVTEwUWl4SFFVY3ZRbTVETEVWQlFVOHNWVUZKVFN4TlFVRlVkVVlzUjBGQmFVSkJMRWRCUVZWQkxFbEJUMnhDTEZkQlFWUjJSaXhIUVVGelFqZ3hRaXhKUVVNeFFuWjNRaXhIUVVGVGNFUXNSMEZCVDBFc1JVRkJTeXhMUVVGVFppeEZRVUZQYzJsQ0xGVkJRVmR0VXl4SFFVRmhMRWRCUVVzc1QwRkpOMFJ3TWtJc1JVRkJVV2w1UWl4cFFrRkJOa0lzUzBGQlZtNXpRaXhIUVVGcFJDeEpRVUZxUXpsQ0xFVkJRVXQyUlN4UlFVRlRMR2RDUVVNNVJEUnFRaXhGUVVGUGNtWXNSMEZCVXl4WFFVbFljMlVzUjBGQldTeFJRVUZUUVN4UlFVTnpRamRrTEV0QlFUbERjVUlzUlVGQlVYZGpMRVZCUVUxcVFpeEpRVUZMY21Vc1JVRkJUVGhETEVWQlFVOTVkVUlzVFVGRk4wSTRRaXhGUVVOS2FGUXNSVUZCVFdsVUxGbEJRV0YwZVVJc1JVRkJUVGhDTEVkQlJYcENkV1FzUlVGQlQzSm1MRWRCUVZNNFFpeE5RV3RDY0VKNVpDeEpRVUZMTEZOQlFWVjJaMElzUlVGQlRXZENMRVZCUVUxMWQwSXNSVUZCVDBZc1IwRkRha01zU1VGQlNYSjZRaXhGUVVGTGRVSXNSVUZCU3l0bUxFVkJRMkk0VkN4RlFVRlhkbFlzUlVGQlZ6ZGpMRWRCTmtKMlFpeFBRVFZDWjBKM2RrSXNSMEZCV1hCdVFpeExRVUZOY0Vrc1MwRk5ha05CTEVWQlFVOXJka0lzUjBGQlpXdEVMRXRCU1haQ09WUXNSVUZCVVROblFpeEZRVUZQY1hwQ0xGTkJRVlZvZUVJc1NVRkJWWEpETEVWQlFVOXhla0lzVTBGQlZXOUNMRXRCUjNSRExGRkJRVk01VkN4SlFVTjBRblJvUWl4RlFVRk5jMmhDTEVWQlFVMW9aMElzU1VGQlMxVXNSMEZCVFN4RlFVRk5kWGhDTEZOQlNXcENPWFpDTEVsQlFWSjZSQ3hKUVVOS1FTeEZRVUZOYjNaQ0xFZEJRVkZ3ZEVJc1JVRkJUV2RDTEVWQlFVMXhkMElzU1VGSlpDeFhRVUZTY25wQ0xFZEJRVzlDWjBRc1MwRkJVVEoyUWl4TFFVTm9Rek41UWl4RlFVRk5NbmxDTEVkQlFXOUNNM1pDTEVsQlNWb3NTMEZCVm5WM1FpeEhRVUZuUWtFc1IwRkRjRUpvZVVJc1JVRkJUWFYyUWl4WFFVRlpPWGRDTEVsQlEwUXNTVUZCVm5WNlFpeEhRVUZyUW1kRExGTkJRVlZvTUVJc1IwRkJVVUVzUjBGQlR5eEZRVUZKZGtJc1IwRkhhRVJCTEV0QlNWUlhMRVZCUVU5clFpeExRVUZOTEVOQlFVVXNVMEZCVlN4VFFVRlhMRk5CUVZWelJDeEZRVUZKSzNSQ0xFZEJRMnBFZG5sQ0xFVkJRVTl4ZWtJc1UwRkJWV1FzUjBGQll5eERRVU01UWpWNFFpeEpRVUZMTEZOQlFWVlZMRVZCUVUxeGRFSXNSVUZCVld0RkxFZEJRemxDTEVkQlFVdHNSU3hGUVVsS0xFOUJRVTlyUkN4SFFVRmhibTVDTEV0QlFVMTZTeXhGUVVGUE5HaENMRWxCUVV0MlowSXNSVUZCVFN4aFFWRjRRMEVzUlVGQlN6WjRRaXhwUWtGQmFVSTFlVUlzVVVGQlYyVXNSVUZCUzNkNlFpeDNRa0ZCZDBKc1J5eE5RVWxxUlc5RkxFZEJRV3RDTVhoQ0xFVkJRVTFyZUVJc1JVRkJWMHNzUjBGSWJrTjBSU3hIUVVGTmFuUkNMRVZCUVUxNWQwSXNSMEZCVXl4WFFVTndRaXhQUVVGUGFVSXNSMEZCYTBJeGVFSXNSVUZCVFd0NFFpeEZRVUZYU3l4TlFVMDVRMnhVTEVsQlFVc3NVMEZCVlhKbExFVkJRVTA0UXl4RlFVRlBlWFZDTEVkQlF6TkNMRWxCUVVrMWRVSXNSVUZEU0RCMVFpeEZRVUZUZGtVc1IwRkJWemx6UWl4SFFVbHdRbmw2UWl4SFFVRnpRbm95UWl4RlFVRlJjWGxDTEdsQ1FVTlVMR0ZCUVhCQ1owTXNSVUZCVHpWRExGTkJTVkl5UXl4SFFVUnJRbkZETEVkQlFYTkNiRU1zU1VGRldTeGxRVUZ1UkRWNVFpeEZRVUZQTkdoQ0xFbEJRVXQyWjBJc1JVRkJUU3hoUVVGaExFVkJRVTl4ZUVJc1IwRkRka05PTEVWQlFWZFJMRVZCUTFaT0xFZEJRME5xZUVJc1JVRkRRV3Q0UWl4RlFVTkJTeXhGUVVOQlNDeEZRVU5CUXl4SFFVVkVMRVZCY1VKR0xFOUJha0pMUkN4SFFVRmxjVU1zU1VGRGJrSXhReXhIUVVGWmNIWkNMRXRCUVVzNGRrSXNTMEZEYUVKNmVFSXNSVUZCVFN4VFFVRlhhM2hDTEVWQlFWY3NSMEZCU1hSVUxHTkJRV2RDYzFRc1JVRkJWV2d4UWl4TlFVRlBMRWxCUTJwRk5IbENMRmRCUVZsMVF5eEZRVUZSU0N4SlFVTndRa1FzUjBGQmIwSnFlRUlzUlVGQlRXdDRRaXhGUVVGWExGVkJRVlVzUlVGQlQwY3NSMEZEZEVRc1MwRkxSMDRzU1VGQlkzQjFRaXhGUVVGVmIyUXNSMEZCVVdwWUxFdEJRVTFvUnl4TFFVTmlMRkZCUVROQ1NDeEZRVUZUTEVsQlFVOHNVVUZGYkVJelF5eEZRVUZMY1dkQ0xFMUJRVTgyVVN4SFFVRmpjSFZDTEVWQlF6RkNRU3hGUVVGUmJrVXNSVUZCVHpSb1FpeEpRVUZMZG1kQ0xFVkJRVTFyZUVJc1NVRkhjRUpLTEVkQlFXMUNPWGRDTEVWQlFVMDRReXhGUVVGUGFYVkNMRTlCU3pGRGNIbENMRVZCUVU5eGVrSXNVMEZCVXpORUxGZEJRV0ZXTEVkQlFXTXpkMElzUlVGQlVXOTVRaXh0UWtGRGJFUXNVMEZCVlhCMlFpeEZRVUZOY1hSQ0xFZEJRMllzUjBGQlMwRXNSVUZEU2l4UFFVRlRlVUlzVjBGQldURkNMRWRCUVZGd2RFSXNSVUZCVFN4blFrRkRiRU5CTEVWQlFVdDNla0lzZDBKQlFYZENSU3hMUVVNMVFucEhMRWRCUVUxcWRFSXNSVUZCVFN4RFFVRkZjWFZDTEZkQlFWa3NSMEZCU3l4WFFVTTVRaXhQUVVGUGNuVkNMRVZCUVV0M2VrSXNkMEpCUVhkQ1JTeFJRVVZ1UXl4UFFVMVFMekJDTEVWQlFVOXJRaXhMUVVGTkxFTkJRMW80ZWtJc1QwRkJVU3hIUVVOU1F5eFJRVUZUTEVkQlExUkRMRTlCUVZFc1UwRkRUaXhUUVVGVlF5eEZRVUZSUXl4SFFVTndRbkF4UWl4RlFVRlBjWHBDTEZOQlFWVTRRaXhGUVVGVFF5eEhRVUZYTEVOQlEzQkRReXhQUVVGUkxGTkJRVlZzZUVJc1IwRlBha0lzU1VGT1FTeEpRVUZKTDBVc1JVRkJTU3hGUVVOUWF6SkNMRVZCUVZjc1IwRkhXRU1zUlVGQmVVSXNhVUpCUVZad2VFSXNSVUZCY1VKQkxFVkJRVTFKTEUxQlFVOHNTMEZCVVN4RFFVRkZTaXhIUVVWd1JDOUZMRVZCUVVrc1JVRkJSMEVzU1VGRFpHc3lRaXhGUVVGVlNDeEZRVUZUT1ZRc1IwRkJWMnBwUWl4SFFVRk5aekpDTEVkQlEyNURSeXhGUVVGUGJqSkNMRWxCUVU5dE1rSXNSVUZCVDI0eVFpeEZRVUZKTEVsQlFVOXRNa0lzUlVGQlR5eEhRVWQ2UXl4UFFVRlBSQ3hKUVVsUExGZEJRVmhJTEVsQlEwcHVNVUlzUlVGQlQzRjZRaXhUUVVGVk9FSXNSVUZCVTBNc1IwRkJVekZXTEVsQlFVMTVVeXhOUVVrelEyNTVRaXhGUVVGUFJ5eEhRVUZIWjBNc1QwRkJVU3hEUVVOcVFubG1MRWxCUVVzc1UwRkJWWFptTEVWQlFVMDRRaXhIUVVOd1FpeFBRVUZQYldFc1JVRkJVWEpvUWl4TFFVRk5MRk5CUVZWdlJTeEZRVUZOWjBJc1JVRkJUVGhDTEVkQlF6RkRMRWxCUVVsMWRVSXNSVUZCVVRWM1FpeEZRVU5ZVml4RlFVRk5MRWRCUTA1b1F5eEZRVUZKTEVWQlJVd3NSMEZCUzNkRUxFMUJRVTFETEZGQlFWTlNMRWRCUVZNc1EwRkpOVUlzU1VGSVFYRjNRaXhGUVVGVGRrVXNSMEZCVnpselFpeEhRVU53UWxNc1JVRkJUVThzUlVGQlN5OUNMRTlCUlVoc1FpeEZRVUZKTUVNc1JVRkJTekZETEVsQlEyaENaME1zUlVGQlMybENMRVZCUVUxcVJDeEpRVUZSV1N4RlFVRlBOR2hDTEVsQlFVdDJaMElzUlVGQlRXZENMRVZCUVUxcVJDeEpRVUZMTEVWQlFVOXpla0lzUjBGSGVFUXNUMEZCVDNSNFFpeEZRVWRTTEZsQlFXbENNRUlzU1VGQlZuRkNMRVZCUTA1dVJTeEZRVUZQTUdoQ0xFMUJRVTl5WjBJc1JVRkJUV2RDTEVWQlFVMDRRaXhIUVVNeFFtNUZMRVZCUVU4MGFFSXNTVUZCUzNablFpeEZRVUZOWjBJc1NVRkRha0pCTEVWQlFVMDRRaXhGUVVGUE4wTXNWVUZCVldoQ0xFOUJRVk1zVFVGUmNrTk9MRVZCUVU5dGVrSXNUVUZCVVVFc1IwRkZaa0VzUjBGQlRUVjVRaXhWUVVGWkxFTkJRMnBDUlN4WlFVRmhNSGxDTEVkQlEySXZlVUlzUzBGQlRTeFRRVUZWYVVJc1JVRkJUV1VzUlVGQlUzZGtMRVZCUVUwMVpDeEZRVUZMYjNoQ0xFVkJRVkV2VVN4SFFVTnFSSEJzUWl4TFFVRkxiMFVzUzBGQlQwRXNSVUZEV25CRkxFdEJRVXN5YVVJc1MwRkJUMEVzUlVGRFdqTnBRaXhMUVVGTGJUSkNMRTlCUVZOQkxFZEJRVlZ3ZWtJc1JVRkJUMjk2UWl4UFFVRlBkRkFzVTBGRGRFTTNiVUlzUzBGQlMyMUdMRkZCUVZWQkxFVkJRMlp1Uml4TFFVRkxhVlVzVFVGQlVXcFZMRXRCUVV0emMwSXNTVUZCVFhSelFpeExRVUZMTms4c1RVRkROMEkzVHl4TFFVRkxLMFVzU1VGQlRVRXNSVUZEV0M5RkxFdEJRVXR2YkVJc1MwRkJUMEVzU1VGQlZYSnBRaXhGUVVGUGMybENMRlZCUVZjeFF5eEhRVUZUTEVkQlFVc3NUMEZGZGtRNVZDeEpRVUZMTEZkQlEwb3NTVUZCU1RaVkxFVkJRVkYzVXl4SFFVRk5jVU1zVlVGQlYzWTBRaXhMUVVGTE1tbENMRTFCUld4RExFOUJRVTlsTEVkQlFWTkJMRVZCUVUxb1owSXNTVUZEY2tKblowSXNSVUZCVFdoblFpeEpRVUZMTVVRc1RVRkRXR3N5UWl4SFFVRk5jVU1zVlVGQlZURlNMRk5CUVZOdWFrSXNTVUZCU3pGRUxFOUJSV2hEZHpSQ0xFbEJRVXNzVTBGQlZVTXNSMEZEWkN4SlFVRkpReXhGUVVOSWFGWXNSVUZCVVhkVExFZEJRVTF4UXl4VlFVRlhkalJDTEV0QlFVc3lhVUlzVFVGdlFpOUNMRTlCYkVKTE0ybENMRXRCUVV0dFJpeFJRVUZSZDNwQ0xGTkJRMnBDTXpSQ0xFdEJRVXMwTkVJc1NVRkJUVVlzUlVGQlVUTXhRaXhGUVVGUGIzcENMRTlCUVZGdU1rSXNTMEZCUzIweVFpeFJRVU4wUTNORExFVkJRVk42TkVJc1MwRkJTMjFHTEZGQlFWRjNla0lzVTBGQlYwWXNSVUZCVXl4RlFVRkhMRVZCUVVkNk5FSXNTMEZCUzIxR0xGRkJRVkYzZWtJc1ZVRkhPVVF6TkVJc1MwRkJTelEwUWl4SlFVRk5SaXhGUVVGUlJDeEZRVVZ3UW5vMFFpeExRVUZMYzNOQ0xFdEJRVkYwYzBJc1MwRkJTeXRGTEVsQlFVMHZSU3hMUVVGTGFWVXNUMEZCVlhsclFpeEZRVUZSTVRSQ0xFdEJRVXRwVlN4TlFVVXZRMnBWTEV0QlFVdHRSaXhSUVVGUk1IcENMRTFCUTJwQ056UkNMRXRCUVV0dFJpeFJRVUZSTUhwQ0xFdEJRVXR3TkVJc1MwRkJUVlFzUzBGQlMyOUZMRXRCUVUxd1JTeExRVUZMYzNOQ0xFbEJRVXQwYzBJc1RVRkhla013YWtJc1IwRkJVMEVzUlVGQlRXcENMRWxCUTI1Q2FVSXNSVUZCVFdwQ0xFbEJRVXQ2YVVJc1RVRkZXR3N5UWl4SFFVRk5jVU1zVlVGQlZURlNMRk5CUVZOd1JTeEpRVUZMZW1sQ0xFMUJSWGhDUVN4UFFVbFVhekpDTEVkQlFVMDFlVUlzVlVGQlZVZ3NTMEZCUzBjc1ZVRkJXVFI1UWl4SFFVRk5OWGxDTEZWQlJYWkROSGxDTEVkQlFVMXhReXhWUVVGWkxFTkJRMnBDTVZJc1UwRkJWU3hEUVVOVWJtcENMRWxCUVVzc1UwRkJWVzlvUWl4SFFVTmtMRWxCUVVsNFVpeEZRVWxLTEU5QlFUWkNMRWxCUVhoQ2QxSXNSVUZCVFRGblFpeExRVUZMTjBNc1ZVRkRZU3hOUVVFMVFuVnFRaXhGUVVGTk1XZENMRXRCUVUwd1owSXNSVUZCVFc1RExFOUJRVzlFTEUxQlFXeERiVU1zUlVGQlRURm5RaXhMUVVGTGNXZENMRTFCUVU5TExFVkJRVTF1UXl4TlFVTnlSRzFETEVWQlFVMHhaMElzUzBGQlRUQm5RaXhGUVVGTmJrTXNUMEZQTVVKeVVDeEZRVUZUZGxFc1JVRkJUelJvUWl4SlFVRkxSeXhGUVVGTk1XZENMRXRCUVUwd1owSXNSVUZCVFc1RExFdEJRVTBzVFVGSGFFSXNVMEZCV0hKUUxFVkJRWGRDUVN4RlFVRktMRWRCUlhaRGJWQXNTVUZCU3l4VFFVRlZjVU1zUjBGTFZDOW9RaXhGUVVGUEt6RkNMRWRCUVVkRUxFdEJRVTB2VkN4RlFVRk5ia01zVFVGRE1VSTFaaXhGUVVGUEt6RkNMRWRCUVVkRUxFdEJRVTB2VkN4RlFVRk5ia01zVFVGQlVXMURMRWRCUTBzc1NVRkJlRUpCTEVWQlFVMHhaMElzUzBGQlN6ZERMRmRCUTNSQ2QwSXNSVUZCVDNGNlFpeFRRVUZWZEZJc1JVRkJUVzVETEU5QlF6WkNMRTFCUVc1RWJVTXNSVUZCVFRGblFpeExRVUZMY1dkQ0xFMUJRVTgyVUN4SFFVRmxlRkFzUlVGQlRXNURMRTlCUjNoRGJVTXNSVUZCVFRGblFpeExRVUZOTUdkQ0xFVkJRVTF1UXl4TlFVRlRiVU1zUlVGQlRYZElMRWxCUm1wRGRuQkNMRVZCUVU4d2FFSXNUVUZCVDBzc1JVRkJUVEZuUWl4TFFVRk5NR2RDTEVWQlFVMXVReXhMUVVGTmJVTXNSVUZCVFhkSUxFbEJRVTE0U0N4RlFVRk5UU3hUUVZVMVJEaFJMRWRCUVUxeFF5eFZRVUZWVVN4VlFVRlpOME1zUjBGQlRYRkRMRlZCUVZWVExGZEJRV0VzUTBGRGVFUjJWeXhKUVVGTExGTkJRVlZ4UXl4SFFVTlVRU3hGUVVGTk1XZENMRXRCUVVzM1F5eFZRVUZaZFdwQ0xFVkJRVTB4WjBJc1MwRkJTM2hDTEdGQlEzUkRhMmxDTEVWQlFVMHhaMElzUzBGQlRUQm5RaXhGUVVGTmJrTXNUVUZCVTIxRExFVkJRVTEzU0N4UFFVdHdRM1p3UWl4RlFVRlBiM3BDTEU5QlFWTXNRMEZEWmpoRExFOUJRVkVzVTBGQlZVTXNSMEZEYWtJc1QwRkJUMEVzUjBGRlVrTXNUVUZCVHl4VFFVRlZSQ3hIUVVOb1FpeE5RVUZQTEVkQlFVMXVla0lzUzBGQlMzRjZRaXhKUVVGTFJpeEZRVUZKYm5wQ0xFdEJRVXR6ZWtJc1NVRkJUeXhIUVVWNFEzaFRMRk5CUVZVc1UwRkhXRGxxUWl4RlFVRlBLekZDTEVkQlFVczFReXhIUVVGTk5YbENMRlZCUVZWSUxFdEJSelZDU2l4RlFVRlBLekZDTEVkQlFVZEVMRXRCUVU4c1IwRkxha0lzU1VGRFExTXNSMEZCVDBNc1IwRkRVRU1zUjBGQlZ5eDVRa0ZEV0VNc1IwRkJUeXhqUVVWU0xGTkJRVk5ETEV0QlEwaElMRTFCUTNGQ0xFbEJRWEJDTXpWQ0xFVkJRVk1yTlVJc1VVRkJiMEkxTlVJc1JVRkJUelkxUWl4elFrRkRlRU0zTlVJc1JVRkJUelkxUWl4elFrRkJkVUpHTEVsQlJUbENNelZDTEVWQlFVOW5aMElzVjBGQldUSmFMRWRCUVZVek1rSXNSVUZCVHlzeFFpeEhRVUZIWlN4VlFVZDRRemt5UWl4RlFVRlBLekZDTEVkQlFVZG5RaXhSUVV0YUxGTkJRVk5ETEV0QlNWSXNUMEZJUVdnMlFpeEZRVUZQWjJkQ0xGZEJRVmtzVjBGRGJFSjFXaXhSUVVGUmVucENMRWxCUlVGNWVrSXNSMEZCVVRkM1FpeExRVUZMTm1wQ0xFMUJTWFpDTEZOQlFWTXdUaXhIUVVGUGNqUkNMRVZCUVUxek5FSXNSMEZEY2tJc1NVRkJTVGxNTEVWQlEwaG9jMElzUlVGQlNTeEZRVU5LYzAwc1JVRkJVU3hEUVVGRmNXeENMRTlCUVZGdWVVSXNSMEZMYmtJc1NVRkVRWE0wUWl4RlFVRmxRU3hGUVVGbExFVkJRVWtzUlVGRE1VSTVNMElzUlVGQlNTeEZRVUZIUVN4SFFVRkxMRVZCUVVrNE0wSXNSVUZGZGtKNGNrSXNSVUZCVHl4VlFVUlFNR1lzUlVGQlVTOUtMRWRCUVZkcWFVSXNTMEZEVTNOTkxFVkJRVThzVlVGQldUQm1MRWRCUVZWNGMwSXNSVUZQTVVRc1QwRktTM00wUWl4SlFVTktlSEpDTEVWQlFVMDBia0lzVVVGQlZUVnVRaXhGUVVGTmFXcENMRTFCUVZFdmRrSXNSMEZIZUVJNFRTeEZRVWRTTEZOQlFWTjVja0lzUjBGQllXaDZRaXhGUVVGUGVXSXNSVUZCVFhkWUxFZEJTMnhETEVsQlNrRXNTVUZCU1hKV0xFVkJRMGgzU3l4SFFVRmxPRXNzUjBGQlZVTXNVMEZCVlRGWUxFbEJRVlVzU1VGQlMycHBRaXhQUVVGUk1EVkNMRWRCUVZWRExGTkJRVlVzVFVGRE9VVXZaU3hGUVVGUkxFVkJRMUpxV1N4RlFVRlRhWE5DTEVWQlFWZHFjMElzVDBGRFltbFpMRVZCUVZGcVdTeEZRVUZSYVZrc1NVRkRka0lzUjBGQlQzZEtMRVZCUVZGM1N5eEZRVUZaYUZVc1IwRkJVVGRoTEV0QlFVMHdOVUlzUlVGQlYzaFlMRVZCUVUxNllpeEhRVWQ2UkN4UFFVRlBOR1FzUlVGelRsWXNVMEZCVTNOV0xFZEJRVmRvTWtJc1JVRkJUV3N5UWl4RlFVRlpiakZDTEVkQlEzSkRMRWxCUVVsdFR5eEZRVU5JYVc1Q0xFVkJRMEZxWml4RlFVRlJMRVZCUTFKcVdTeEZRVUZUS3pKQ0xFZEJRVlZKTEZkQlFWZHVNMElzVDBGRE9VSnBZaXhGUVVGWGRtSXNSVUZCVDJ0aUxGZEJRVmRKTEU5QlFWRXNhMEpCUnpkQ2VXSXNSVUZCU3pFeFFpeFBRVVZpTURGQ0xFVkJRVThzVjBGRFRpeEhRVUZMVXl4RlFVTktMRTlCUVU4c1JVRlpVaXhKUVZaQkxFbEJRVWxGTEVWQlFXTnVRaXhKUVVGVFV5eExRVU14UWpWYUxFVkJRVmx3WVN4TFFVRkxjWFpDTEVsQlFVc3NSVUZCUnl0RkxFVkJRVlZQTEZWQlFWbFFMRVZCUVZWNFFpeFRRVUZYT0VJc1IwRkxjRVZvUXl4RlFVRlZMRWRCUkVoMFdTeEZRVUZaWjJFc1JVRkJWWGhDTEZWQlFWa3NSMEZGZWtOeVpDeEZRVUZSTEVWQlExSnFXU3hGUVVGVE9ESkNMRVZCUVZWUkxFOUJRVTkwTTBJc1QwRkZia0pwV1N4RlFVRlJhbGtzUlVGQlVXbFpMRWxCUTNaQ05tVXNSVUZCVlZFc1QwRkJVWEptTEVkQlFWRnJaQ3hKUVVGTFF5eEhRVTFvUXl4UFFVaEJibUVzUlVGQlUydENMRmRCUVZsd1lpeEZRVUZOTEVOQlFVVXJNVUlzUlVGQlZ6RkNMRVZCUVZOMFdTeEpRVWMxUTNOWkxFVkJRVlVzUjBGQlMzQXhRaXhGUVVOYU9HTXNSMEZKUmpsakxFZEJRMHhwWWl4RlFVRlRhMElzVjBGQldYQmlMRVZCUVUwc1EwRkJSU3N4UWl4RlFVRlhMRVZCUVVjc1NVRkpOVU0zWWl4RlFVRlRiVUlzV1VGQllYSmlMRVZCUVUwc1EwRkJSU3N4UWl4TFFVTjJRaXhKUVVWU1FTeEZRVUZaTjJJc1JVRkJVekZDTEZGQlFWTXNRMEZETjBKNFdTeExRVUZOUVN4RlFVTk9ObTVDTEUxQlFVOXNjRUlzUlVGQlQyMURMRTlCUVZFc1IwRkJTVzh4UWl4SFFVTXhRazBzUzBGQlRUY3pRaXhGUVVGUGJVTXNVVUZCVVN4RlFVRk5MRU5CUXpGQ01qRkNMR05CUVdVc1IwRkRaakZGTEU5QlFWRndla0lzUlVGQlQyOTZRaXhQUVVGUGRGQXNWVUZEY0VJeGFFSXNSMEZEU0RJeFFpeHRRa0ZCYjBKU0xFVkJRM0JDVXl4blFrRkJhVUkxTVVJc1JVRkRha0oxTVVJc1ZVRkJWM0JDTEVsQlFWTlRMRXRCUTNCQ2NFSXNVMEZCVlhoNlFpeEZRVUZSZDNwQ0xGTkJRMnhDWjBNc1QwRkJVU3hIUVVOU1ZDeFpRVUZoTEZOQlFWVjJXQ3hGUVVGTk5XUXNSMEZETlVJc1NVRkJTU3RtTEVWQlFWRXZhRUlzUlVGQlQyMTZRaXhOUVVGUE9YaENMRVZCUVUwck1VSXNSVUZCVlZNc1MwRkJUV3BaTEVWQlFVMDFaQ3hGUVVOeVJHOHhRaXhGUVVGVlV5eExRVUZMUXl4alFVRmxiRmtzU1VGQlZYZFlMRVZCUVZWVExFdEJRVXQ2UlN4UlFVVjRSQ3hQUVVSQlowVXNSVUZCVlZFc1QwRkJUeTgxUWl4TFFVRk5hMnRDTEVkQlEyaENRU3hIUVVWU2JFSXNTMEZCVFN4VFFVRlZiMWdzUjBGRFppeEpRVUZKTVdZc1JVRkJVU3hGUVVsWWFsa3NSVUZCVXpJelFpeEZRVUZWWWl4RlFVRlZVU3hQUVVGUGRETkNMRTlCUVZNc1JVRkRPVU1zUjBGQlMyc3pRaXhGUVVOS0xFOUJRVTkyTmtJc1MwRkhVaXhKUVVSQmRUWkNMRWRCUVZVc1JVRkRSbXBtTEVWQlFWRnFXU3hGUVVGUmFWa3NTVUZEZGtJMlpTeEZRVUZWVVN4UFFVRlJjbVlzUjBGQlVXdGtMRWxCUVVzc1IwRlZhRU1zVDBGT1MzZERMRWRCUTBveFl5eEZRVUZUYTBJc1YwRkJXWEJpTEVWQlFVMHNRMEZCUlNzeFFpeEZRVUZYTEVWQlFVY3NTVUZETTBNM1lpeEZRVUZUYlVJc1dVRkJZWEppTEVWQlFVMHNRMEZCUlNzeFFpeEZRVUZYWVN4TFFVVjZRekZqTEVWQlFWTjFRaXhYUVVGWmVtSXNSVUZCVFN4RFFVRkZLekZDTEVWQlFWZGhMRWxCUld4RGFEZENMRkZCUjFScGMwSXNSVUZCVVd0UExFVkJRVlZzVHl4TlFVbHVRaXhMUVM5SVJDeFRRVUZ4UWtFc1JVRkJUelJQTEVkQlF6TkNMRWxCUVVsMlppeEZRVUZQYkZjc1JVRkJUU3QzUWl4RlFVRlJhblpDTEVWQlFVOTNZeXhGUVVkb1F5eEpRVUZOY0Vrc1MwRkJVekpSTEVWQlpXUXNSMEZpUVd0TExFVkJRVk13UlN4RlFVUlVlakZDTEVWQlFVODJZeXhGUVVGWE0wY3NTVUZGYkVKd1ZTeEZRVUZSSzJ0Q0xFVkJRVTh6VVN4SFFVTldNMVlzVFVGQlRVTXNVVUZCVTNOQ0xFdEJRMjVDYVhaQ0xFVkJRVk5xZGtJc1JVRkJUeXhIUVVOb1FrRXNSVUZCVVN0clFpeEZRVUZQTTFFc1IwRkJWWEJWTEVWQlFVOHNTVUZITlVKdlZTeEpRVUZWYkZjc1NVRkRaRFp0UWl4RlFVRlBOMjFDTEVkQlFWTTRRaXhUUVVOVUsydENMRVZCUVU4elVTeExRVWRtYjBrc1JVRkJVVE5uUWl4RlFVRlBjWHBDTEZOQlFWVm9lRUlzUzBGRFdDeFhRVUZaYzJVc1JVRk5la0lzU1VGQlRYQkpMRXRCVEU1d1ZTeEZRVUZSZDJNc1JVRkJUVEJWTEU5QlFWRnNlRUlzVlVGRFppdHJRaXhGUVVGUE4yMUNMRWRCU1VNNFFpeEZRVU5PYjFVc1MwRkJVekpSTEVsQlEyaENRU3hGUVVGUE0xRXNSMEZCVlhCVkxFVkJRVTl2VlN4SFFVTjRRblZtTEVWQlFXVjJaaXhIUVVGVk5tRXNVVUZKTTBJd1JTeEZRVUZsZWpGQ0xFZEJRVk1yZDBJc1JVRTJSakZDT0VVc1EwRkJXV2hRTEVWQlFVOXJUeXhGUVVGVlV5eExRVUZMUXl4bFFVVXhRblptTEVWQlFWRnFXU3hGUVVGUmFWa3NTVUZGZGtJc1IwRkVRV2hKTEVWQlFWTTRiVUlzUjBGQlZVa3NWMEZCV1d4bUxFZEJRVkUzWVN4TFFVRk5NRFZDTEVWQlFWY3ZNVUlzUlVGQlRUWnVRaXhGUVVGUGEwOHNSVUZCVlZNc1RVRk5PVVVzVDBGS1MzWTFRaXhGUVVGWmFWTXNSVUZCVDNOUkxGRkJRM1pDTjJkQ0xFVkJRVTgwWjBJc1dVRkJZWGRYTEVWQlFWVXZNVUlzUzBGQlRTc3hRaXhGUVVGVlV5eExRVUZMY0dRc1QwRkJVVzlITEV0QlF6RkVkRkVzUlVGQlQzTlJMRXRCUVV0eldDeExRVUZOTlc1Q0xFbEJSV0pCTEVWQmVVSlVMRTlCY2tKQmRsRXNSVUZCVDI5Q0xFbEJRVXM0YmtJc1JVRkJUMmxQTEVkQlFXRkRMRWRCUlROQ09UUkNMRVZCUVZrNE5FSXNSVUZCVlZNc1MwRkJTek50UWl4UlFVTXZRbXR0UWl4RlFVRlZVeXhMUVVGTE0yMUNMRTFCUVUxNFZDeExRVUZOTWtRc1JVRkJUU3N4UWl4SFFVbHNRMEVzUlVGRFJYUmlMRk5CUVZWellpeEZRVUZWVXl4TFFVRkxMMklzVlVGRGVrSnFWeXhMUVVGTmRYaENMRVZCUVZWVExFdEJRVXRvZVVJc1MwRkJUWFY0UWl4RlFVRlZVeXhMUVVGTFR5eFZRVU14UTNSbExFdEJRVTF6WkN4RlFVRlZVeXhMUVVGTEwyUXNUVUZEY2tKM1FpeFBRVUZST0dJc1JVRkJWVk1zUzBGQlMzWmpMRkZCUlhwQ2RHSXNSVUZCVHlzeFFpeEhRVUZIYzBNc1RVRkRWSEkwUWl4RlFVRlBiVU1zVDBGQlVUUXdRaXhGUVVGTkxFTkJRM0JDTVRGQ0xFdEJRVTFCTEVWQlEwNXBNMElzUzBGQlRXeENMRVZCUTA0ell5eE5RVUZQTW1Nc1JVRkJWVk1zUzBGQlMzQmtMRk5CU1dwQ01tTXNSVUZIVW5BelFpeEZRVUZQY1ROQ0xGVkJRVmx5TTBJc1JVRkJUMjFETEU5QlFWRnJNVUlzUjBGQlZ5eERRVVUxUTBNc1UwRkJWU3hEUVVOVWFVSXNTVUZCU3l4RFFVRkZMRk5CUVZVeldTeEZRVUZOZW1Jc1IwRkRkRUlzU1VGQlNUUmtMRVZCUVZFNWEwSXNTMEZCUzJzMlFpeFpRVUZoZGxnc1JVRkJUWHBpTEVkQlJYQkRMRTlCUkVFd1pDeEhRVUZYUlN4RlFVRk5NV2RDTEV0QlFVMTFaU3hGUVVGTmQwSXNSMEZCVVdwWUxFdEJRVTFvUnl4SFFVRlROR1FzUjBGRE4wTkJMRXRCU1ZSNVZ5eFJRVUZUTEZOQlFWVjBVQ3hGUVVGUEwyNUNMRWRCUTNCQ04wTXNSVUZCV1RSeFFpeEpRVU5vUWk5dVFpeEZRVUZYSzI1Q0xFVkJRMWhCTEVWQlFWRXNRMEZCUlN4TlFVVldRU3hGUVVGUlFTeEZRVUZOY0dZc1RVRkJUM0ZRTEVkQlQzUkNMRWxCU2tFc1NVRkJTWGxITEVWQlEwaHlTQ3hGUVVGUkxFVkJRMUpxV1N4RlFVRlRORzlDTEVWQlFVMDFiMElzVDBGRlVtbFpMRVZCUVZGcVdTeEZRVUZSYVZrc1NVRkRka0p4U0N4RlFVRlBjMG9zUlVGQlR6TlJMRWRCUTJRNFpTeEhRVUZWUXl4VFFVRlZNVmdzUjBGQlUzbFlMRWRCUVZWRExGTkJRVlV4V0N4SlFVRlZMRWRCUXpORWVWZ3NSMEZCVlVNc1UwRkJWVEZZTEVkQlFVOW9VaXhSUVVGVGVrNHNTVUZKZEVOek1rSXNWMEZCV1N4RFFUTlhZaXhUUVVFeVFuQXlRaXhGUVVGTk5tNUNMRVZCUVU4eVR5eEhRVU4yUXl4SlFVRkphbGtzUlVGQlRYcGlMRVZCUVU4MFpTeEZRVUZSY0VNc1JVRkJUemhZTEVWQlFWTkRMRVZCUVZkRExFVkJRV2RDYUZnc1JVRkRia1ZwV0N4RlFVRlJMRlZCUVZjeFVDeEhRVUZUTEZkQlFWbEJMRVZCUTNoRGIxQXNSVUZCVDNJM1FpeExRVU5RZVhWQ0xFVkJRVThzUjBGRFVHaExMRVZCUVZGeVowSXNSVUZCUzNGblFpeE5RVU5pYTFZc1JVRkJVM1l4UWl4RlFVRkxOME1zVlVGQldXbHFRaXhIUVVGdlFuQm5RaXhIUVVNNVEzY3pRaXhGUVVGWEwxa3NSVUZCVTI1bUxFbEJRVXRWTEVWQlFVMHNWVUUyUW1oRExFbEJRVTExWlN4TFFURkNRV2xaTEVWQlFVdHdaQ3hSUVVWaExFOUJSSFpDYTBjc1JVRkJVVE5uUWl4RlFVRlBOR2RDTEZsQlFXRjJaaXhGUVVGTkxFOUJRM1pDZVROQ0xGZEJRMVp1V1N4RlFVRk5iVmtzVTBGQlZ5eEZRVU5xUWt3c1JVRkJWVGxZTEVWQlFVMDNUaXhOUVVGTk5rZ3NTMEZEZEVKblJ5eEZRVUZOTjA0c1RVRkJUVFpJTEV0QlFVOHNWMEZEV21kSExFVkJRVTF0V1N4VlFVTllUQ3hOUVVsSU9WZ3NSVUZCVFcxWkxGZEJSVTVTTEVWQlFVdG9aQ3hQUVVGUkxGZEJSMXBuWkN4RlFVRkxhR1FzVDBGQlVTeFhRVU5hY1VZc1JVRkJUVzFaTEZkQlEwRTVORUlzUlVGQlQzbGhMRTFCUVU5d1dpeEZRVUZOTEUxQlFVOW1MRkZCUTJoRGNXZENMRVZCUVUwM1RpeE5RVUZOTmtnc1dVRlBSblZQTEVWQlJXSXNSMEZFUVM5clFpeEZRVUZSSzJ0Q0xFVkJRVTkwU2l4SFFVTldObGNzUjBGQlUyaHpRaXhMUVVGTmRFY3NSMEZCVlN4RFFVYzNRaXhWUVVaUEsydENMRVZCUVU5MFNpeEhRVU5rYlVRc1JVRkJVMEVzUjBGQmIwSXNWMEZCVmpWbExFVkJRMlJCTEV0QlFWbDVlVUlzUlVGQlV5eFBRVUZUTEZGQlFWY3NRMEZKTjBNc1IwRkJaU3hUUVVGV2VubENMRWxCUVc5Q01EQkNMRkZCUVdsREx6RkNMRWxCUVhKQ0t6RkNMRVZCUVZWcVdpeEhRVXM1UXl4VFFVcEJaMWdzUjBGQlV5eEZRVTlZYkV3c1JVRkJUVGxNTEVkQlFWTnBXaXhIUVVGWlFTeEZRVUZWYWxvc1NVRkJWVFZtTEVWQlFVOHdhRUlzVFVGQlQzSm5RaXhGUVVGTmRXVXNSMEZOY2tVc1NVRkVRVGhaTEVkQlFXRXhORUlzUlVGQlQzbEVMR05CUVdWNWJFSXNUVUZEYUVKc2NFSXNSVUZCVDNsRUxHTkJRV1ZwYjBJc1IwRTRSSHBETEVsQlFVMDVUQ3hMUVhwRVJHZGFMRWRCUVRKQ0xFbEJRV3hDZGpOQ0xFVkJRVXMzUXl4WFFVMXNRbkUxUWl4RlFVRkxhMElzVTBGQlZ5eERRVUZGY2xnc1JVRkJUWEZZTEZOQlFWVnlXQ3hGUVVGTmMxZ3NWVUZCVjNSWUxFVkJRVTExV0N4WFFVbHNReXhQUVVSMlFrNHNSVUZCYVVKRkxFZEJRVmxCTEVWQlFWTnNXQ3hYUVVWeVEyZFlMRVZCUVdsQ04xa3NSVUZCVTI1bUxFbEJRVXRWTEVWQlFVMHNXVUZIY2tJc1ZVRkVha0p6WjBJc1JVRkJWVE5vUWl4RlFVRlBOR2hDTEVsQlFVdDJaMElzUlVGQlRTeGpRVVYwUW5NelFpeEZRVU5LYUZnc1JVRkJWV2RZTEVkQlNWWm9WeXhIUVVGVkxFTkJRVVYwYUVJc1NVRkJVU3hIUVVOd1FuTXpRaXhGUVVGcFFuUXpRaXhGUVVGTGNXZENMRTFCUVUxRExGTkJRVmRuV0N4RlFVTjJRMmhZTEVWQlFWVXphRUlzUlVGQlR6Um9RaXhKUVVGTGRtZENMRVZCUVUwc1YwRkROVUp6YUVJc1IwRkJWU3hEUVVGRmRHaENMRTlCUzBjc1YwRkJXbk5uUWl4SFFVRnZReXhwUWtGQldrRXNSMEZCWjBRc1RVRkJiRUpuV0N4SlFVTnlRaXhUUVVGb1F6TTBRaXhGUVVGUE5HaENMRWxCUVV0MlowSXNSVUZCVFN4WFFVZG9RbkV6UWl4SlFVTk1TaXhGUVVGTGVubENMRXRCUVUwc1YwRkRWalppTEVWQlFVMURMRkZCUVZWbldDeEpRVVZOTEUxQlFXeENRU3hKUVVOS2FGZ3NSVUZCVlVRc1JVRkJUVU1zVVVGRGFFSm5XQ3hGUVVFMlFpeFRRVUZhYUZnc1JVRkJjVUlzUjBGQlMwRXNTVUZITjBORUxFVkJRVTFETEZGQlFWVXNhVUpCUzJSclZ5eEZRVUZMYTBJc1YwRkRWSEpZTEVWQlFVMXhXQ3hUUVVGWExGTkJRMnBDVkN4RlFVRkxhR1FzVDBGQlVTeFhRVU5hYjBjc1JVRkJUWEZZTEZOQlFWZHNRaXhGUVVGTGEwSXNVMEZCVlN4SFFVTm9RM0pZTEVWQlFVMXpXQ3hWUVVGWmJrSXNSVUZCUzJ0Q0xGTkJRVlVzUjBGRGFrTnlXQ3hGUVVGTmRWZ3NWVUZCV1hCQ0xFVkJRVXRyUWl4VFFVRlZMRTFCUzI1RFRDeEhRVUZaTEVWQlEwVm9UaXhGUVVkUVowNHNTVUZEUVVjc1JVRkRReXhYUVVGWlFTeEpRVU5vUW1wRExFVkJRVk5wUXl4RlFVRlRha01zVVVGSGJrSnBReXhGUVVGWEwxa3NSVUZCVTNoQ0xFOUJRVkZxWkN4RlFVRk5MRk5CUVZVc1EwRkJSWE5uUWl4UlFVRlRaMWdzU1VGSmJrUTFWaXhKUVVOS09GWXNSVUZCVTJwRExGRkJRVlZCTEVkQlNXWkJMRWRCUTBwcVZTeEhRVUZWTEVOQlFVVjBhRUlzU1VGQlVTeEhRVXR5UW1relFpeEZRVUZMZW5sQ0xFdEJRVTBzVjBGVFZpeEpRVUZOSzFvc1MwRktRV2RZTEVkQlEweHFWU3hIUVVGVkxFTkJRVVYwYUVJc1NVRkZZbmxsTEVWQlFWTm9SaXhQUVVGUmVsb3NSVUZCVFN4VlFVTlVjWEZDTEVWQlEySXhja0lzUlVGQlR6Qm9RaXhOUVVGUGNtZENMRVZCUVUxMVpTeEZRVUZOT0V3c1JVRkJUVGxNTEU5QlRXNURPRmtzUlVGQldYWkNMRWRCUVdGUUxFVkJRVk5wUXl4RlFVRlZhbG9zUjBGQlV5eEZRVUZIUVN4RlFVRk5NRmtzUjBGRGRFUXhXU3hMUVVGUmFWb3NTVUZEWmtFc1JVRkJWV3BhTEVkQlFWTTRXU3hGUVVGVmVHNUNMRTFCUTNoQ01HeENMRWxCUTBvNFFpeEZRVUZWTVRKQ0xFbEJRVTB3TWtJc1JVRkJWWGh1UWl4TlFVTXhRbmR1UWl4RlFVRlZlRzVDTEUxQlFWRXNUVUYxVFhKQ1oyOUNMRlZCUVZjc1UwRkJWUzh6UWl4RlFVRlZiWE5DTEVkQlEzcENRU3hGUVVOS0swb3NSMEZCVlVrc1YwRkJWemR2UWl4UlFVRlRlazRzUjBGRk9VSnJNa0lzUjBGQlZVa3NWMEZCVnpVMVFpeExRVUZOYzBRc1RVRkxPVUp1UWl4RlFVRlBiVFZDTEUxQlFWRXNVMEZCVlVFc1JVRkJUeTlHTEVWQlFWRnFla0lzUjBGRGRrTXNTVUZCU1drMVFpeEZRVUZOUkN4SFFVRXdRaXhwUWtGQlZrRXNSVUZCY1VKdU5VSXNSVUZCVDIxRExFOUJRVkVzUjBGQlNXY3pRaXhIUVVGVkxFTkJRek5GWml4VFFVRlZhalJDTEVsQlFVOUJMRWRCUVUxcGVrSXNSMEZEZEVJNU1FSXNSVUZCV1RZMlFpeEpRVUZYUVN4RlFVTjRRblpFTEZOQlFWVjFSQ3hGUVVOV0wwWXNUMEZCVVdwNlFpeEhRVUZOYVhwQ0xFZEJRVlZCTEVsQlFWYzVNRUlzUlVGQldUZ3dRaXhKUVVGWlFTeEhRVzlETlVRc1QwRm9RMHR3ZWtJc1JVRkJUeXN4UWl4SFFVRkhiRkVzU1VGRFpIVlVMRVZCUVVsNFJDeFRRVUZYTEVWQlIyTXNhVUpCUVdwQ2QwUXNSVUZCU1hoRUxGZEJRMVozUkN4RlFVRkplRVFzV1VGQldUVXhRaXhGUVVGUEt6RkNMRWRCUVVkelJDeFBRVU01UWtRc1JVRkJTWGhFTEZOQlFWYzFNVUlzUlVGQlR5c3hRaXhIUVVGSGMwUXNUMEZCVVVRc1JVRkJTWGhFTEZWQlIzSkRkMFFzUlVGQlNYaEVMRk5CUVZjMU1VSXNSVUZCVHlzeFFpeEhRVUZIYzBRc1QwRkJUM1pXTEZWQlRXcENMRTFCUVdKelZpeEZRVUZKTTJVc1VVRkJLMElzU1VGQlpESmxMRVZCUVVrelpTeFJRVU0zUWpKbExFVkJRVWt6WlN4TlFVRlJMRTFCU1dJeVpTeEZRVUZKTjBzc1NVRkJUVFpMTEVWQlFVbG9RaXhUUVVWa1owSXNSVUZCU1doQ0xGTkJRVmNzVjBGRFZEazFRaXhGUVVGWk9EWkNMRVZCUVVrM1N5eE5RVU53UWpaTExFVkJRVWszU3l4SlFVRkpOM2RDTEV0QlFVMVVMRTFCUjFadE9FSXNSVUZCU1RObExFOUJRMUo2WVN4RlFVRlBlV2RDTEZGQlFWTjRha0lzUzBGQlRXMDRRaXhGUVVGSk0yVXNVVUZKY2tJeVpTeEhRVWRTY0RWQ0xFVkJRVTlITEVkQlFVZG5ReXhQUVVGUkxFTkJRMnBDYlROQ0xFOUJRVkVzVTBGQlZVZ3NSVUZCVDBrc1JVRkJTVzVITEVWQlFWRnFlVUlzUjBGSGNFTXNUMEZCVDJ4RkxFdEJRVXR4VVN4UFFVRlJiVlVzU1VGQmNVSkhMRWxCUVVzc1ZVRkJWeXhIUVVGSlowSXNUMEZITTBRMVowSXNUVUZCVFhjelFpeFJRVUZUTEVOQlFVVnNSeXhSUVVGVGFVY3NSMEZCVFVvc1JVRkJUeTlHTEVWQlFWRnFlVUlzU1VGRmJFUnhORUlzVVVGQlV5eFRRVUZWTlZvc1JVRkJUWFZhTEVWQlFVOHZSaXhGUVVGUmFubENMRWRCUTNaRExFbEJRVWt5VWl4RlFVRlJPVk1zUlVGQlQzbEVMR05CUVdWdFl5eEhRVU5xUXpaYUxFVkJRVk42TlVJc1JVRkJUMjAxUWl4TlFVRlBRU3hGUVVGUEwwWXNSVUZCVVdwNVFpeEhRVU4wUTNVMFFpeEZRVUZqTEZkQlIySXNTVUZCU1hCQ0xFVkJRVTlxUWl4SFFVRlhjRFpDTEV0QlFVMHJReXhGUVVGUGJVTXNUMEZCVVN4SFFVRkplV1FzUjBGQlVUWmFMRWxCUjJ4RU0yMUNMRWRCUVZOblRpeEZRVUZUYm1Zc1NVRkJTekZFTEV0QlFVMHNXVUZEYWtOeE4wSXNSVUZCUzNwWUxFMUJRVTBzU1VGTlpDeFBRVVpCTmxrc1JVRkJXVU1zVDBGQlUwUXNSVUZGWkRWdFFpeEpRVUV3UWl4SlFVRnFRakp0UWl4RlFVRlBhR1lzVFVGRGRFSjRaQ3hMUVVGTGFVVXNTMEZCVFhjMFFpeEhRVU5ZZWpoQ0xFdEJRVXQzWkN4TlFVRlBaMllzUlVGQlQyaG1MRTFCUVU5cFppeEpRVVUxUWpkWkxFdEJRVTBzVTBGQlZXcHBRaXhGUVVGTmJXbENMRVZCUVZscldDeEhRVU5xUXl4SlFVRkpNa0lzUlVGQldTeFRRVUZWYWxvc1IwRkRla0lzU1VGQlNVVXNSVUZCVDBZc1JVRkJUVVVzV1VGRFZrWXNSVUZCVFVVc1MwRkRZa0VzUlVGQlRXOVlMRWxCV1ZBc1RVRlVjVUlzYVVKQlFWUnlOVUlzU1VGRFdIRTFRaXhGUVVGVmJGZ3NSVUZEVmtFc1JVRkJZVzVwUWl4RlFVTmlRU3hQUVVGUGEwVXNSMEZGU0dsbExFZEJRMG81YWtJc1MwRkJTM2RrTEUxQlFVODNZaXhIUVVGUkxFdEJRVTBzU1VGSGNFSXpRaXhMUVVGTGFVVXNTMEZCVFN4WFFVTnFRaXhKUVVGSmRXWXNSMEZCVlN4RlFVTmliRWtzUlVGQlowSXNUVUZCVWpOYUxFZEJRV2RDUVN4RlFVRlBMR0ZCUXk5Q2FUZENMRVZCUVZNM05VSXNSVUZCVHpZMVFpeFBRVU5vUW14aExFVkJRVTlITEVWQlFWTnVaaXhKUVVGTE1VUXNUVUZGZEVJc1IwRkJTM05pTEVWQlEwTnZTQ3hGUVVGTmNFZ3NTVUZCVjI5SUxFVkJRVTF3U0N4SFFVRlJjMGtzVFVGRGJrTXJXU3hGUVVGWGFtRXNSVUZCVFhCSUxGTkJSMnhDTEVsQlFVMUJMRXRCUVZOdlNDeEZRVU5VUVN4RlFVRk5jRWdzU1VGQlYyOUlMRVZCUVUxd1NDeEhRVUZSYzBrc1RVRkJVVFpXTEVkQlFVdHFjMElzUzBGQlRUaE9MRWxCUTNSRWNXaENMRVZCUVZkcVlTeEZRVUZOY0Vnc1NVRkxjRUlzU1VGQlRVRXNSVUZCVVhOb1FpeEZRVUZQZGpWQ0xFOUJRVkZwV1N4TFFVTjJRbk5vUWl4RlFVRlJkR2hDTEVkQlFWRnNXQ3hQUVVGVGNFVXNUVUZEYmtJc1RVRkJVakpDTEVkQlFXZENhVGRDTEVWQlFWRjBhRUlzUjBGQlVXdERMRkZCUVZVM1lpeEpRVVUxUTJrM1FpeEZRVUZSZEdoQ0xFZEJRVkVyWml4TFFVRkxlbGdzUzBGQlRXOVlMRWRCUXpOQ2VGZ3NSMEZCVlN4RlFVTldiMW9zUlVGQlR6TXpRaXhQUVVGUmNWY3NSVUZCVHl4TFFVOXVRbXRKTEVkQlFWbDNXQ3hIUVVOb1FtbzBRaXhGUVVGUGVXZENMRkZCUVZONGFrSXNTMEZCVFRKQ0xFMUJTWHBDS3paQ0xFOUJRVkVzVTBGQlZTODJRaXhIUVVscVFpeFBRVWhqTEVsQlFWUkJMRWxCUTBwQkxFVkJRVTlCTEVkQlFWRXNUVUZGVkROQ0xFdEJRVXRwUlN4TFFVRk5MRmRCUTJwQ0xFbEJRVWx4V0N4RlFVTkliMGdzUlVGQlQwY3NSVUZCVTI1bUxFbEJRVXN4UkN4TlFVTnlRbmRrTEVWQlFWRnJSaXhGUVVGTkwyZENMRVZCUVU4c1UwRkRja0lyYUVJc1JVRkJVV2hDTEVWQlFVMHZaMElzUlVGQlR5eGpRVU55UW1rM1FpeEZRVUZUTnpWQ0xFVkJRVTgyTlVJc1QwRkRhRUoyTlVJc1JVRkJVMjFoTEVWQlFWRkJMRVZCUVUxdVlTeFBRVUZUTEVWQllXcERMRWxCVmtGeFppeEZRVUZMWjJFc1VVRkJVeXhGUVVka016VkNMRVZCUVU5NVlTeE5RVUZQZUdRc1MwRkJUVEpDTEVWQlFVMHNTVUZGY2tJcmFFSXNSMEZCVTBFc1JVRkJUVVVzVFVGRGJrSkdMRVZCUVUxRkxFdEJRVXR1YWtJc1MwRkJUVlFzVFVGQlRTeEhRVWxzUW5OaUxFVkJRVkZ6YUVJc1JVRkJUM1kxUWl4UFFVRlJhVmtzUzBGRGRrSnphRUlzUlVGQlVYUm9RaXhIUVVGUmJGZ3NUMEZCVTNCRkxFMUJRVkUwT0VJc1JVRkJVWFJvUWl4SFFVRlJhME1zVVVGQlZUZGlMRWxCUXk5RWFUZENMRVZCUVZGMGFFSXNSMEZCVVN0bUxFdEJRVXQ2V0N4TlFVRk5MRWRCUXpOQ1oxb3NSVUZCVHpNelFpeFBRVUZSY1Zjc1JVRkJUeXhKUVV0NFFpeEpRVUZOUVN4RlFVRlJMRVZCUVVkQkxFVkJRVkZxV1N4RlFVRlJhVmtzU1VGRE0wSnJReXhGUVVGUGJFTXNTVUZCVjJ0RExFVkJRVTlzUXl4SFFVRlJiMmhDTEZGQlEzSkRiR1lzUlVGQlQyeERMRWRCUVZGdmFFSXNUMEZCVDJvNFFpeExRVUZOVkN4aFFVdDJRakJwUWl4RlFVRkxaMkVzV1VGTFpqTTFRaXhGUVVGUGEwSXNTMEZCVFN4RFFVRkZMRk5CUVZVc1QwRkJVU3hSUVVGVkxGTkJRVlZ6UkN4RlFVRkpia01zUjBGRGVFUXNTVUZCU1hrelFpeEZRVUZST1RWQ0xFVkJRVTlITEVkQlFVbHJReXhIUVVOMlFuSkRMRVZCUVU5SExFZEJRVWxyUXl4SFFVRlRMRk5CUVZVNE1rSXNSVUZCVHk5R0xFVkJRVkZxZVVJc1IwRkROVU1zVDBGQlowSXNUVUZCVkdjMFFpeEhRVUZyUXl4clFrRkJWa0VzUlVGRE9VSlhMRVZCUVUxc09FSXNUVUZCVDFnc1MwRkJUWEZGTEZkQlEyNUNja1VzUzBGQlMzVTRRaXhSUVVGVGRrTXNSMEZCVHpVd1FpeEhRVUZOTEVkQlFWRTRNa0lzUlVGQlR5OUdMRVZCUVZGcWVVSXNUVUZMY2tSdVFpeEZRVUZQYTBJc1MwRkJUU3hEUVVOYU5qUkNMRlZCUVZjNVF5eEhRVUZQTEZGQlEyeENLME1zVVVGQlV5OURMRWRCUVU4c1VVRkRhRUpuUkN4WlFVRmhhRVFzUjBGQlR5eFZRVU53UW1sRUxFOUJRVkVzUTBGQlJUVkhMRkZCUVZNc1VVRkRia0kyUnl4UlFVRlRMRU5CUVVVM1J5eFJRVUZUTEZGQlEzQkNPRWNzVjBGQldTeERRVUZGT1Vjc1VVRkJVeXhYUVVOeVFpeFRRVUZWYW5oQ0xFVkJRVTAyYlVJc1IwRkRiRUpzY0VJc1JVRkJUMGNzUjBGQlNXdERMRWRCUVZNc1UwRkJWVGd5UWl4RlFVRlBMMFlzUlVGQlVXcDVRaXhIUVVNMVF5eFBRVUZQYkVVc1MwRkJTM1U0UWl4UlFVRlRkRkVzUlVGQlQybFJMRVZCUVU4dlJpeEZRVUZSYW5sQ0xFMUJTVGREYmtJc1JVRkJUelkxUWl4UFFVRlRMRWRCUTJoQ056VkNMRVZCUVU4ck1VSXNSMEZCUjJkQ0xFdEJRVThzVjBGRGFFSXNTVUZCU1hOQ0xFVkJRMGhxTlVJc1JVRkJTU3hGUVVOS2VUWkNMRVZCUVZNM05VSXNSVUZCVHpZMVFpeFBRVWxxUWl4SlFVWkJkRVFzUjBGQlVUZDNRaXhMUVVGTE5tcENMRTFCUlV4dWNVSXNSVUZCU1hrMlFpeEZRVUZQZGpWQ0xFOUJRVkZzUWl4TFFVTXhRbWsxUWl4RlFVRlJkMElzUlVGQlVYbzJRaXhQUVVkRGVUWkNMRVZCUVZGNk5rSXNTMEZCVVdrMVFpeEhRVU5vUTNkQ0xFVkJRVTh6TTBJc1QwRkJVVGxETEVsQlFVc3NSMEZKYUVKNU5rSXNSVUZCVDNZMVFpeFJRVU5hVGl4RlFVRlBLekZDTEVkQlFVZHNWaXhQUVVWWU1GWXNVVUZCVVhwNlFpeEhRVWRVT1VNc1JVRkJUeXN4UWl4SFFVRkhjME1zVFVGQlVTeFRRVUZWUVN4SFFVTXpRbkkwUWl4RlFVRlBOalZDTEU5QlFVOW9PRUlzUzBGQlRYYzJRaXhIUVVOd1FuSTBRaXhGUVVGUEt6RkNMRWRCUVVjM2EwSXNVMEZIV0d4U0xFVkJRVThyTVVJc1IwRkJSMlVzVTBGQlZ5eEhRVU55UWpreVFpeEZRVUZQS3pGQ0xFZEJRVWMzYTBJc1RVRkJVU3hYUVVOYWMyeENMRXRCU1V4QkxFbEJRV0VzUlVGRFlrY3NUMEZIUkRNeVFpeEZRVUZQS3pGQ0xFZEJRVWRzVml4TFFVRlBMRmRCUTJoQ01sWXNSMEZCWVN4TlFVZGtlREpDTEVWQlFVOHJNVUlzUjBGQlIzTkVMRTlCUVZNc1EwRkRiRUpuUWl4TFFVRk5MRWxCUTA1RExFdEJRVTBzU1VGSFRuaFhMRk5CUVZVc1MwRk5XRGxxUWl4RlFVRlBSeXhIUVVGSGJ6WkNMRTFCUVZFc1UwRkJWVU1zUlVGQlRUVTNRaXhIUVVscVF5eFBRVWhCTkRkQ0xFVkJRVTk0TmtJc1JVRkJUeXN4UWl4SlFVRkxMekZDTEVWQlFVOHJNVUlzUjBGQlIzTkVMRTlCUVZGdFFpeEpRVUZwUWtFc1JVRkRkRVExTjBJc1JVRkJUMEVzUjBGQlVTeExRVVZTTTBJc1MwRkJTM2RrTEUxQlFVODNZaXhGUVVGTkxGTkJRVlV5U3l4RlFVRk5iMWdzUjBGRGVFTXNTVUZCU1RoYUxFVkJRVlY2T1VJc1JVRkJUMmRuUWl4WFFVRlplbFFzUlVGQlRXbDRRaXhIUVVOMlF6ZGFMRVZCUVUxRkxFdEJRVThzVjBGRFdqZHFRaXhGUVVGUE1EbENMR0ZCUVdORUxFOUJUWGhDTEZkQlEwTXNTVUZCU1RkelFpeEZRVUZSTDFFc1JVRkJVekJETEdOQlFXVXNVMEZGYmtNMk5VSXNSVUZFVTNZNFFpeEZRVUZUTUVNc1kwRkJaU3hWUVVOd1Frc3NXVUZCWVM5RExFVkJRVk13UXl4alFVRmxMRmRCUlc1RWNVOHNSVUZCVFdoUUxFdEJRVThzVjBGSllsQXNSVUZCVVhNNFFpeFJRVUV3UWl4TFFVRm9RaTl6UWl4RlFVRk5la29zVFVGSmVFSTVSaXhGUVVGUmRUaENMRmxCUVdONFFpeEZRVUZKZUcxQ0xGVkJTVEZDYUVZc1JVRkJVUzlSTEVWQlFWTXdReXhqUVVGbExGVkJRekZDTkVVc1RVRkJVU3hKUVVOa2VVb3NSVUZCVFdoUUxFdEJRVThzVVVGRFlsQXNSVUZCVVhjNFFpeFhRVUUyUWl4TlFVRm9RbXAwUWl4RlFVRk5la29zVFVGd1FqVkNMRWRCZDBKQkxFbEJRVWt5TWtJc1IwRkRTR3gyUWl4SFFVRmhOVXdzUlVGQlR6WlBMRXRCUVV0cVJDeFhRVVV4UWpWTUxFVkJRVTlITEVkQlFVZG5ReXhQUVVGUkxFTkJRMnBDTkUwc1MwRkJUU3hUUVVGVk1VMHNSVUZCVFRoQ0xFZEJRM0pDTEU5QlFVOXRZU3hGUVVGUmNtaENMRXRCUVUwclF5eEZRVUZQSzA4c1MwRkJUVEZOTEVWQlFVMDRRaXhGUVVGUE4wTXNWVUZCVldoQ0xFOUJRVk1zU1VGSGJrVjVOa0lzVjBGQldTeFRRVUZWTVRSQ0xFZEJRM0pDTEU5QlFVOXdSaXhMUVVGTGFVVXNTMEZCVFN4WFFVTnFRbXhDTEVWQlFVOHJOa0lzVjBGQldUazVRaXhMUVVGTmIwWXNVVUZMTlVKeVF5eEZRVUZQYlVNc1QwRkJVU3hEUVVOa05FMHNTMEZCVFN4VFFVRlZNVTRzUlVGQlRXZENMRVZCUVUwNFFpeEhRVU16UWl4SlFVRkpjRVFzUlVGQlN6Um1MRVZCUTFKeFlTeEZRVUZSTXpWQ0xFVkJRVXMzUXl4VFFVZGtMRWRCUVdVc1NVRkJWbmM0UWl4SFFVRjVRaXhKUVVGV1FTeEhRVUY1UWl4SlFVRldRU3hGUVV0dVF5eFpRVUZyUXl4SlFVRjBRak0xUWl4RlFVRkxOVUlzWVVGRFZFOHNSVUZCVHpSbUxFdEJRVTEyWlN4RlFVRk5aMElzUlVGQlRUaENMRWxCUzJ4Q0xFbEJRVlkyTWtJc1IwRkJaMEpvTjBJc1JVRkJUeXRYTEZOQlFWVXhWaXhMUVVOeVEzTm1MRVZCUVZFelowSXNSVUZCVDJrM1FpeFZRVUZYTlRSQ0xFVkJRVXR2UXl4cFFrRkROVUo2UlN4RlFVRlBOazhzUzBGQlN5OUZMRTFCUVUxcVF5eExRVUZMTkVNc1MwRkJUWEJKTEVkQlFWTjVORUlzVVVGQlYyZzBRaXhUUVVkMFEwRXNTVUZCVm5GQ0xFVkJRMWNzVDBGQlZrRXNUMEZEU201RkxFVkJRVThyTmtJc1YwRkJXVEUxUWl4RlFVRk5aMElzUjBGSmNrSnpaU3hIUVVGVExGRkJRVk5CTEZGQlEzVkNOMlFzUzBGQk0wTXZRaXhGUVVGTk5HWXNSVUZCVFdwQ0xFbEJRVXR5WlN4RlFVRk5PRU1zUlVGQlR6bENMRWxCUTNwQ2RFSXNSMEZIVWswc1JVRkJTek5DTEdGQlFXTXlReXhGUVVGTk9FSXNSVUZCVVN4SlFVTXhRa0VzUjBGSFNIZGpMRWRCUVZNc1VVRkJVMEVzUjBGQkswTXNVVUZCY0VNMVppeEZRVUZOTkdZc1JVRkJUV2huUWl4SlFVRkxWU3hGUVVGTlowSXNTVUZEYWtSMFFpeEZRVTFOTEU5QlNHUkJMRVZCUVUxbUxFVkJRVTkzVGl4TFFVRkxkVUlzUzBGQlRURk9MRVZCUVUxblFpeFRRVWRVVXl4RlFVRlpMMElzU1VGSGJFTnJOa0lzVlVGQlZ5eERRVU5XY2poQ0xFdEJRVTBzUTBGRFREaG5RaXhKUVVGTExGTkJRVlZ5WlN4RlFVRk5PRU1zUjBGRGNFSXNTVUZCVFRsR0xFVkJRVkYzT0VJc1dVRkJkMElzVlVGQlZqRXlRaXhIUVVNelFtdEdMRVZCUVZWb1NTeEZRVUZOTEZOQlFWa3NRMEZETlVJc1NVRkJTV2hETEVWQlFVMW5ReXhGUVVGTE9FTXNUVUZMWml4UFFVcEJPVU1zUlVGQlN6TkNMR0ZCUVdNc1QwRkJVWGxGTEVkQlEzUkNPVVVzU1VGRFNtZERMRVZCUVVzNFF5eE5RVUZST1VVc1IwRkZVRGhGTEUxQlRWZzBNa0lzVjBGQldTeFRRVUZWTVRWQ0xFVkJRVTA0UXl4SFFVTXpRaXhKUVVGSk9VSXNSVUZEU0dwRUxFVkJRVWtzUlVGSlNqZzNRaXhGUVVGWkx6SkNMRWRCUVZOQkxFVkJRVTB5Uml4TlFVRlBjVkFzUjBGRmJrTXNSMEZCU3l0b1FpeEhRVUVyUWl4SlFVRnNRamMxUWl4RlFVRkxOME1zVTBGRGRFSXNTMEZCVlRaRUxFVkJRVTgyTkVJc1JVRkJWemszUWl4TlFVTXpRbWxETEVWQlFVc3lTaXhuUWtGQmFVSXpTU3hOUVU4eFFuazBRaXhIUVVGWExFTkJRMVp3WWl4SlFVRkxMRk5CUVZWeVpTeEZRVUZOT0VNc1JVRkJUemxDTEVkQlVUTkNMRTlCVUdVc1NVRkJWamhDTEVWQlIwcHVSU3hGUVVGUEt6WkNMRmRCUVZreE5VSXNSVUZCVFdkQ0xFZEJSWHBDYUVJc1JVRkJTek5DTEdGQlFXTXlReXhGUVVGTlFTeEhRVVZ1UWtFc1NVRkpWSEpETEVWQlFVOXJRaXhMUVVGTmJFSXNSVUZCVHpaUExFdEJRVXN2UlN4TlFVRk5ha01zUzBGQlMzTmFMRTlCUVU5eVdDeE5RVUZQTEZGQlFWVXNVMEZCVlhSR0xFVkJRVWx1UXl4SFFVTjZSU3hKUVVGSk9EUkNMRVZCUVZOMmRrSXNSMEZCV1haS0xFbEJRVlZ5UXl4RlFVRlBkMDRzUzBGQlMzVkNMRXRCUlM5RGJrUXNSMEZCV1haS0xFZEJRVk1zVTBGQlZXaENMRVZCUVUxblFpeEZRVUZOZDBNc1IwRkRNVU1zU1VGQlNUbEVMRVZCUVV0dGJVSXNSVUZEVW10VkxFVkJRV2RDTHpSQ0xFVkJRVXR2UXl4alFWbDBRaXhQUVZaTlNTeEpRVWRNY1dsQ0xFVkJRVk4wWWl4SFFVRlpkM1pDTEVkQlEzSkNlSFpDTEVkQlFWbDNka0lzUjBGQmEwSnlOa0lzUlVGRE9VSkJMRVZCUVhGRExFMUJRUzlDYnpaQ0xFVkJRVkU1TlVJc1JVRkJUV2RDTEVWQlFVMTNReXhIUVVONlFuVXlRaXhGUVVOQkxFdEJRMFI0ZGtJc1IwRkJXWGQyUWl4SFFVRnJRbXhWTEVkQlJYaENibTFDTEV0QlQxUXNTVUZCU1hNMlFpeEhRVUZoTEhORFFVTm9Ra01zUjBGQllTeG5Ra0Y1U1dJc1UwRkJVME1zUjBGQmEwSndNMElzUjBGRk1VSXNUMEZFWVVFc1JVRkJUVEpHTEUxQlFVOXhVQ3hKUVVGdFFpeEpRVU12UW5SUExFdEJRVTBzUzBGSmRFSXNVMEZCVXpKM1FpeEhRVUZWYmpaQ0xFZEJRMnhDTEU5QlFVOUJMRVZCUVVzMVFpeGpRVUZuUWpSQ0xFVkJRVXMxUWl4aFFVRmpMRlZCUVdFc1IwRkhOMFFzVTBGQlUyYzRRaXhIUVVGblFuUXpRaXhIUVVONFFpeFBRVUZMZGtJc1RVRkJUVU1zVVVGQlUzTkNMRWRCUTFwQkxFVkJSV01zYVVKQlFWWkJMRWRCUTBwQkxFVkJRVTB5Uml4TlFVRlBjVkFzU1VGRlpDeEhRWGhLVW01YUxFVkJRVTlITEVkQlFVZG5ReXhQUVVGUkxFTkJRMnBDZVdRc1MwRkJUU3hUUVVGVmRtUXNSVUZCVFRoQ0xFZEJRM0pDTEU5QlFVOXRZU3hGUVVGUmNtaENMRXRCUVUwclF5eEZRVUZQTkdZc1MwRkJUWFprTEVWQlFVMDRRaXhGUVVGUE4wTXNWVUZCVldoQ0xFOUJRVk1zU1VGSGJrVnZOMElzVjBGQldTeFRRVUZWY2pWQ0xFZEJRM0pDTEU5QlFVOXdSaXhMUVVGTGFVVXNTMEZCVFN4clFrRkRWbXBGTEV0QlFVMHJReXhGUVVGUE1qZENMRkZCUVZOME5VSXNTVUZCVlVFc1VVRkxNVU55UXl4RlFVRlBiVU1zVDBGQlVTeERRVU5rZVdRc1MwRkJUU3hUUVVGVmRtVXNSVUZCVFdkQ0xFVkJRVTA0UWl4SFFVTXpRaXhKUVVGSmNFUXNSVUZCU3pSbUxFVkJRMUp4WVN4RlFVRlJNelZDTEVWQlFVczNReXhUUVVka0xFZEJRV1VzU1VGQlZuYzRRaXhIUVVGNVFpeEpRVUZXUVN4SFFVRjVRaXhKUVVGV1FTeEZRVmR1UXl4UFFWQmxMRWxCUVZaQkxFZEJRV2RDYURkQ0xFVkJRVThyVnl4VFFVRlZNVllzUzBGSGNrTm5RaXhGUVVGUGNrTXNSVUZCVHpJM1FpeFJRVUZUZERWQ0xFbEJRVlZCTEVWQlEycERjMlVzUlVGQlVUTm5RaXhGUVVGUGR6RkNMRlZCUVZkdWVrSXNVMEZIV2xNc1NVRkJWbkZDTEVWQlEwTjNZeXhIUVVGVExGRkJRVk5CTEZGQlEzVkNOMlFzUzBGQk0wTXZRaXhGUVVGTk5HWXNSVUZCVFdwQ0xFbEJRVXR5WlN4RlFVRk5PRU1zUlVGQlR6bENMRWxCUTNwQ2RFSXNSVUZIUTAwc1JVRkJUV2RDTEVkQlFWTTRRaXhGUVVkd1FuZGpMRWRCUVZNc1VVRkJVMEVzUjBGQkswTXNVVUZCY0VNMVppeEZRVUZOTkdZc1JVRkJUV2huUWl4SlFVRkxWU3hGUVVGTlowSXNTVUZEYWtSMFFpeEZRVWRFVFN4RlFVRk5aMElzU1VGSFpHMTZRaXhWUVVGWExFTkJRMVl2YVVJc1UwRkJWU3hEUVVOVU9WSXNTVUZCU3l4VFFVRlZWU3hIUVU5a0xFbEJRVWwxTmtJc1JVRkJWelUzUWl4RlFVRlBkMDRzUzBGQlMzVkNMRXRCUVUweFRpeEZRVUZOTEZsQlJYWkRMRTlCUVV0MU5rSXNSVUZEUnpWTExGTkJRVlUwU3l4RlFVRlZMRWxCU1ROQ1VDeEhRVUZYTlhkQ0xFdEJRVTF3U2l4RlFVRkxaMGtzVjBGRGRFSnBlVUlzUjBGQlZ6ZDNRaXhMUVVGTmNFb3NSVUZCUzJkSkxGZEJRM1JDYUVrc1JVRkJTMjFTTEV0QlJVVXNSMEZIUVN4TFFVdFliWEJDTEZGQlFWTXNRMEZEVWtVc1NVRkJUeXhWUVVOUVF5eE5RVUZUTEdWQldVeDZPVUlzUlVGQlVYVTRRaXhqUVVOaU5UWkNMRVZCUVU5M01VSXNWVUZCVlRWcFFpeFRRVUZYTEVOQlF6TkNhbE1zU1VGQlN5eFRRVUZWVlN4SFFVbGtMRWxCUVVrNFVDeEZRVUZUT1ZBc1JVRkJTM2hDTEZkQlNXeENMRTlCU0V0elVpeEhRVUZWUVN4RlFVRlBkRklzV1VGRGNrSnpVaXhGUVVGUGRGSXNWMEZCVjJkVUxHTkJSVm9zVFVGRlVqWk5MRWxCUVVzc1UwRkJWWEpsTEVkQlNXUXNTVUZCU1RoUUxFVkJRVk01VUN4RlFVRkxlRUlzVjBGRFluTlNMRWxCUTBwQkxFVkJRVTh3UWl4alFVVkdNVUlzUlVGQlQzUlNMRmxCUTFoelVpeEZRVUZQZEZJc1YwRkJWMmRVTEd0Q1FVOTJRamRUTEVWQlFVOXJRaXhMUVVGTkxFTkJRMW9zVjBGRFFTeFhRVU5CTEZsQlEwRXNZMEZEUVN4alFVTkJMRlZCUTBFc1ZVRkRRU3hUUVVOQkxHTkJRMEVzYlVKQlEwVXNWMEZEUm14Q0xFVkJRVTh5TjBJc1VVRkJVekVyUWl4TFFVRkxkMGdzWlVGQmEwSjRTQ3hQUVRSQ2VFTXJReXhGUVVGUFJ5eEhRVUZIWjBNc1QwRkJVU3hEUVVOcVFqUTFRaXhUUVVGVkxGTkJRVlUxTTBJc1IwRkRia0lzU1VGQlNUWXpRaXhGUVVGVE16WkNMRVZCUVUxNVN5eEZRVUZMYlhkQ0xFVkJRVlZETEVWQlFVOXVOa0lzUlVGQlIyODJRaXhGUVVNelF5ODRRaXhGUVVGSkxFVkJSVXdzUjBGQlMyUXNSVUZCV1RaR0xFZEJRMmhDTEU5QlFVOXNTQ3hMUVVGTGFVVXNTMEZCVFN4VFFVRlZZU3hIUVVNelFpOUNMRVZCUVZFdlF5eE5RVUZQT0N0Q0xGTkJRVlUxTTBJc1JVRkJUWHBITEV0QlFVMVVMRXRCUVUwNFJTeEZRVUZIZVRWQ0xFZEJRVlYySzBJc1ZVRk5NVVFzU1VGR1FTc3JRaXhGUVVGVlVDeEhRVUZuUW5RelFpeEpRVVZpTjBRc1QwRkRXaXhMUVVGVlpTeEZRVUZQY0VVc1MwRkJUVzFETEUxQlNYUkNMRWRCU0VFMk9FSXNSVUZCVjFRc1IwRkJWVzQyUWl4SFFVTnlRbmxMTEVWQlFYZENMRWxCUVd4Q2Vrc3NSVUZCU3pkRExGVkJRVzlDTEVsQlFVMHJPRUlzUjBGQmEwSlZMRWRCUVdFc1NVRkZla1FzUTBGRlZpeEpRVVJCYkRaQ0xFVkJRVWtzUlVGRFRXMDJRaXhGUVVGUlJpeEZRVUZUYWpaQ0xFMUJRM0pDSzBvc1JVRkJTV2hQTEZGQlFWTXNTVUZCVFc4clFpeEZRVUZSTEV0QlFWRXNTVUZEZGtOd2QwSXNSMEZCVDI5M1FpeEZRVUZSTEV0QlRWcEVMRXRCUkV4RkxFVkJRV0ZhTEVkQlFXdENlblpDTEV0QlJUbENla3NzUlVGQlN6TkNMR0ZCUVdNc1VVRkJVM2s0UWl4SFFVMW9ReXhQUVVGUGJDOUNMRTFCUjFKdEwwSXNXVUZCWVN4VFFVRlZhalJDTEVkQlEzUkNMRWxCUVVrMk0wSXNSVUZCVXpNMlFpeEZRVUZOZVVzc1JVRkJTMjEzUWl4RlFVRlZReXhGUVVGUGJqWkNMRVZCUVVkdk5rSXNSVUZETTBNdk9FSXNSVUZCU1N4RlFVVk1MRWRCUVV0a0xFVkJRVmsyUml4SFFVTm9RaXhQUVVGUGJFZ3NTMEZCUzJsRkxFdEJRVTBzVTBGQlZXRXNSMEZETTBJdlFpeEZRVUZSTDBNc1RVRkJUMjB2UWl4WlFVRmhhalJDTEVWQlFVMTZSeXhMUVVGTlZDeExRVUZOT0VVc1JVRkJSM2sxUWl4SFFVRlZkaXRDTEZWQlNUZEVMRWxCUVUxeFJTeFZRVUZWYUVJc1QwRkRaaXhQUVVGUGNrUXNTMEZCU3poU0xFdEJRVTBzVVVGQlV5eEpRVXMxUWl4SlFVWkJhWFJDTEVWQlFWVlFMRWRCUVdkQ2RETkNMRWxCUldJM1JDeFBRVU5hTEV0QlFWVmxMRVZCUVU5d1JTeExRVUZOYlVNc1RVRk5kRUlzUjBGTVFUWTRRaXhGUVVGWFZDeEhRVUZWYmpaQ0xFZEJSM0pDZVVzc1JVRkJkMElzU1VGQmJFSjZTeXhGUVVGTE4wTXNWVUZCYjBJc1NVRkJUU3M0UWl4SFFVRnJRbFVzUjBGQllTeEpRVVY2UkN4RFFVVldMRWxCUkVGc05rSXNSVUZCU1N4RlFVTk5iVFpDTEVWQlFWRkdMRVZCUVZOcU5rSXNUVUZITVVJc1MwRkJVU3RLTEVWQlFVbG9UeXhSUVVGVExFbEJRVTF2SzBJc1JVRkJVU3hOUVVGVExFZEJRek5EY0hkQ0xFVkJRVTFCTEVWQlFVazFTU3hSUVVGVExFbEJRVTFuTlVJc1JVRkJVU3hKUVVGTExFdEJUVzVEUkN4TFFVUk1SU3hGUVVGaFdpeEhRVUZyUW5wMlFpeExRVVU1UW5wTExFVkJRVXN6UWl4aFFVRmpMRkZCUVZONU9FSXNSMEZOYUVNc1QwRkJUMnd2UWl4TlFVZFNieTlDTEZsQlFXRXNVMEZCVld3MFFpeEZRVUZQYlRSQ0xFZEJRemRDTEVsQlFVa3hPVUlzVTBGQlkzVkdMRVZCUTJwQ2J6UkNMRVZCUVhkQ0xGZEJRVlF6T1VJc1IwRkJjVUpuUlN4TlFVRk5ReXhSUVVGVGMwSXNSMEZGY0VRc1RVRkJlVUlzYTBKQlFXSnRORUlzUjBGQk1FSkRMRVZCUXpsQ1JDeEZRVUZYY2k5Q0xFdEJRVXM0SzBJc1UwRkJWVFV6UWl4SFFVRlZiRWdzUzBGQlMyMHZRaXhaUVVGaGFqUkNMRWRCUjNwRU4wWXNSVUZCV1RaR0xFZEJRMVJzU0N4TFFVRkxhVVVzUzBGQlRTeFRRVUZWT1VJc1IwRkRNMEpaTEVWQlFWRXZReXhOUVVGUGJ5OUNMRmxCUTJSc05FSXNSVUZCVFhwSExFdEJRVTFVTEV0QlFVMXRReXhGUVVGSGJ6aENMRWRCUVZWMkswSXNUVUZCVVhFdlFpeEhRVU4yUTBFc1MwRkxTWEl2UWl4TFFVRkxhVVVzUzBGQlRTeFhRVU5xUWl4SlFVRkpaMDBzUlVGQlZ6bE9MRVZCUVVkeldTeEZRVUZOT0d0Q0xFVkJSWGhDTEVkQlFVdEVMRVZCVDBvc1NVRktRVzQ1UWl4RlFVRkpMRVZCUTBweldTeEZRVUZQTVZnc1JVRkJVUzlETEUxQlEyWjFMMElzUlVGQllXWXNSMEZCWjBKME0wSXNSMEZGYmtJclNTeEZRVUZaYzNaQ0xFVkJRVmx3T1VJc1RVRkhOVUp6V1N4RlFVRkxLMnRDTEZOQlFWVjJka0lzUjBGRGJrSjNTeXhGUVVGTE1HdENMRmxCUVdGc2RrSXNSMEZGYkVKM1N5eEZRVUZMY1d0Q0xGTkJRVlUzZFVJc1lVRkxTWEJMTEVsQlFWWnhRaXhIUVVGblF5eFpRVUZVZGtZc1MwRkRiRU56VHl4RlFVRlpjM1ZDTEVkQlFWVjJLMElzVVVGSmNrSTJhVUlzUlVGQlUwb3NTVUZCUzNwcFFpeExRVUZOTEdkQ1FVRnBRbWxSTEVkQlQycERhbEVzUzBGQlMzbERMR05CUTFSNlF5eExRVUZMZVVNc1lVRkJZeXhSUVVOc1FuZE9MRWxCUVhWQ0xFbEJRVll2U1N4RlFVTmFMRWRCUTBFeVlpeEZRVUZUYm1Zc1NVRkJTekZFTEV0QlFVMHNhMEpCUVhGQ0xGRkJUeTlEZHk5Q0xGTkJRVlVzVTBGQlZYZzRRaXhIUVVOdVFpeEpRVUZKYVU0c1JVRkJWemRNTEVWQlEyUnFReXhGUVVGSkxFVkJSMHdzU1VGRVFUaE9MRVZCUVZrc1NVRkJUV3BPTEVWQlFWY3NTVUZEYmtKdlFpeEZRVUZQY0VVc1MwRkJUVzFETEUxQlEzUkNMRWRCUVhWQ0xFbEJRV3hDYVVNc1JVRkJTemRETEZkQlExQXNTVUZCVFNzNFFpeEhRVUZyUWtNc1IwRkJWVzQyUWl4SlFVRlhMRXRCUVUxMlJDeFJRVUZUYjFBc1NVRkJaU3hGUVVNM1JTeFBRVUZQTEVWQlNWUXNUMEZCVHl4TFFVOVVMRWxCUVVsM2RrSXNSMEZCVlN4TlFVVmtNVGhDTEVWQlFVOUhMRWRCUVVkblF5eFBRVUZSTEVOQlEycENPVU1zU1VGQlN5eFRRVUZWT0VVc1IwRkRaQ3hKUVVGSmQyTXNSVUZCVHpWbUxFVkJRVXN5Y2tJc1JVRkRabkp5UWl4RlFVRlBjRVVzUzBGQlRTeEhRVVZrTEU5QlFVMXhSU3hWUVVGVmFFSXNVVUV3UW1oQ2IzTkNMRVZCUVd0Q2NIVkNMRVZCUVZrMlJpeEhRVVYyUW14SUxFdEJRVXRwUlN4TFFVRk5MRk5CUVZVNVFpeEhRVU16UWl4SlFVRkpReXhGUVVWdFFpeEpRVUZzUW5CRExFdEJRVXQxUWl4WFFWZEZMRTlCVGxoaExFVkJSRWx4ZEVJc1JVRkRSWFp2UWl4RlFVRk5la2NzUzBGQlRWUXNTMEZCVFcxRExFVkJRVWRaTEVWQlFWRXZReXhOUVVGUGIwTXNUMEZGY0VNNFJTeEhRVXRPT1VVc1JVRkJUU3hIUVVWdlFpeHBRa0ZCVWtFc1JVRkRiRUpCTEVkQlFVOHNSMEZGU1hWRUxFMUJRVTFETEZGQlFWTjRSQ3hMUVVNeFFrRXNSVUZCVFZjc1JVRkJUMjlDTEVsQlFVc3ZRaXhGUVVGTExGTkJRVlU0UlN4SFFVTm9ReXhQUVVGblFpeE5RVUZVUVN4RlFVRm5RaXhIUVVGTFFTeEZRVUZSTEU5QlNYUkRkMk1zUlVGQlVUTm5RaXhGUVVGUE1qaENMRk5CUVZVeEwwSXNTMEZCU3pKQ0xFOUJRVlZ2UWl4RlFVRlBNamhDTEZOQlFWVXhMMElzUzBGQlMyOU5MRk5CUVZNMVJTeHBRa0ZIY2tRc1VVRkJVMnRqTEZGQlFTdEROMlFzU1VGQmNFTTJaQ3hGUVVGTmFrSXNTVUZCUzNwcFFpeExRVUZOYjBNc1JVRkJTeXhYUVVNelJIQkRMRXRCUVV0clNDeE5RVUZST1VVc1QwRjZSRlJuUXl4SFFVTktjMllzUlVGQlVUTm5RaXhGUVVGUE1qaENMRk5CUVZWME4wSXNSVUZCUzNwRExFOUJRemRDYjBJc1JVRkJUekk0UWl4VFFVRlZkRGRDTEVWQlFVdG5TU3hUUVVGVE5VVXNhVUpCUnk5Q0xGRkJRVk5yWXl4UlFVTm5RemRrTEV0QlFYWkRMMElzUlVGQlRUUm1MRVZCUVUxb1owSXNTVUZCUzFVc1JVRkJUU3hWUVVWc1FrNHNSVUZOV1N4cFFrRkljRUpCTEVWQlFVMU5MRVZCUVVzNFF5eFBRVWxJY0VRc1JVRkJTVzFETEZGQlFWTjNOVUlzUjBGQlV5eEpRVWxvUWl4TlFVRlFNemRDTEVWQlFXTXNSMEZCUzBFc1QwRkhNMElzUzBGNVEwaG1MRVZCUVU5dFF5eFBRVUZSTEVOQlEyUjNOa0lzVTBGQlZTeERRVU5VYmxvc1QwRkJVU3hEUVVOUU4ybENMRWxCUVVzc1UwRkJWVlVzUjBGRlpDeEpRVUZKYUVNc1JVRkJUVmNzUlVGQlQzZE9MRXRCUVV0MVFpeExRVUZOTVU0c1JVRkJUU3hUUVVOc1F5eFBRVUZqTEUxQlFWQm9ReXhGUVVOT1FTeEZRVTFCYXpoQ0xFZEJRV3RDZGpkQ0xFVkJRVTlTTEV0QlFVMDJRaXhOUVVkc1F6SkVMRTlCUVZFc1EwRkRVSEpGTEVsQlFVc3NVMEZCVlZVc1IwRkRaQ3hKUVVGSk9FTXNSVUZCVDNGbUxFVkJRVkZ3YTBJc1JVRkRiRUpuUkN4RlFVRlZaaXhGUVVGTFpTeFJRVU5tYlZjc1JVRkJVV3hZTEVWQlFVdDNVaXhqUVVOaU5sTXNSVUZCYjBJc1pVRkJaSEpyUWl4RlFVRkxla01zUzBGRFdHbHJRaXhGUVVGVE5rTXNSVUZCVFN4TFFVRlBMRWRCUTNSQ01rMHNSVUZCVFROTkxFVkJRVTF1VGl4RlFVRlJMRVZCUVVsdVZ5eEZRVUZST1VJc1QwRlZha01zU1VGUVEyeENMRVZCUkVsdFdpeEZRVUZSTEVWQlExSTRXaXhGUVVkQk0wMHNSVUZCVFc1T0xFVkJRVkVzUlVGSldHNWFMRVZCUVVscGVrSXNSVUZCUzJwNlFpeEpRVXRvUWl4TFFVcEJiMnRDTEVWQlFWTndhRUlzUlVGQlUyaEVMRWxCU1VwM1ZDeFZRVUZaZUZRc1NVRkJUVzFhTEV0QlJ6ZENhVXdzUlVGQlQzQmhMRmxCUTB4dllTeEZRVUZQTTJwQ0xGZEJRVmQxU2l4WFFVTnVRa01zUlVGQlZXMWhMRVZCUVU4emFrSXNWMEZCV1N4aFFVRnBRaXhEUVUxcVJDeEhRVWhCYzBVc1JVRkJVVzVGTEVWQlFWRjNha0lzUjBGQlUyNXJRaXhOUVVkd1FuRnRRaXhGUVVOS0xFOUJRVTkyYUVJc1JVRkpVakJsTEVWQlFVOW9iRUlzUzBGQlRYTkhMRWRCU1dZc1QwRkJUekJsTEVkQlIxSnVSQ3hKUVVGTExGTkJRVlZ5WlN4RlFVRk5PRU1zUjBGTmNFSXNTVUZNUVN4SlFVRkplVFJDTEVWQlFWZHdXaXhGUVVOa2NHaENMRVZCUVZWbUxFVkJRVXRsTEZGQlEyWjVaMElzUlVGQlV6ZHBRaXhGUVVGUE1rUXNWVUZCVjFFc1IwRkRNMEl2UlN4RlFVRkpaMFFzUlVGQlVUbENMRTlCUlV4c1FpeFBRVU5RYjJ0Q0xFVkJRVk53YUVJc1JVRkJVMmhFTEVsQlNVNTNWQ3hUUVVOWU5WTXNSVUZCVHpaRUxGRkJRVk0zUkN4RlFVRlBNamhDTEZOQlFWTnVXaXhQUVVGUE4ybENMRWxCUVVzMmFVSXNSMEZCVlZnc1NVRkJXU3hMUVVWc1JTdGFMRWRCUVZrc1IwRlZaQ3hQUVVoTlFTeEpRVU5NZGpkQ0xFVkJRVXQzVWl4bFFVRnBRaXhIUVVWb1FtZFJMRTlCVDFnM2FVSXNSVUZCVDJ0Q0xFdEJRVTBzUTBGQlJTeFJRVUZUTEZsQlFXTXNWMEZEY2tOc1FpeEZRVUZQTWpoQ0xGTkJRVlV4TDBJc1RVRkJVeXhEUVVONlFubHBRaXhKUVVGTExGTkJRVlZ5WlN4RlFVRk5PRU1zUjBGRGNFSXNSMEZCUzNaQ0xFMUJRVTFETEZGQlFWTnpRaXhIUVVOdVFpeFBRVUZUT1VNc1JVRkJTM05TTEZGQlFWVXpVeXhGUVVGUE5rUXNVVUZCVXpkRUxFVkJRVkZ4UWl4SFFVRlBhRU1zVFVGQlR6aEZMRWxCUVZjc1NVRkpkRVU1Uml4RlFVRlJjemhDTEZWQlEySXpOa0lzUlVGQlR6STRRaXhUUVVGVk1TOUNMRTFCUVU4d1JDeEpRVUZOTEZOQlFWVlZMRWRCUTNaRExFOUJRWGRETEU5QlFXcERRU3hGUVVGTE5VSXNZVUZCWXl4VFFVRnhRaXhMUVVGUE5FSXNSVUZCU3poRExGVkJWemxFT1VZc1JVRkJVWGNyUWl4UlFVRlZMR05CUVdVM0wwSXNSVUZIYWtNc1NVRkJTVGd2UWl4SFFVRmpMR3REUVVOcVFrTXNSMEZCTUVJc1UwRkJWWFI2UWl4SFFVTnVRMEVzUlVGQlJUQmpMRzFDUVVkS2JtMUNMRVZCUVU5dFF5eFBRVUZSYmtNc1JVRkJUelJzUWl4TlFVRlBMRU5CUlRWQ1ZTeFJRVUZUTEZOQlFWVldMRVZCUVU5cVJ5eEZRVUZOZEdVc1JVRkJUVEkzUWl4SFFVVnlReXhKUVVGSk5UbENMRVZCUVVjd1RTeEZRVUZMTmtJc1JVRkJTM04yUWl4RlFVRlpReXhGUVVGUmFGY3NSVUZCVVRkTExFVkJRVk00WjBJc1JVRkRja1JETEVWQlFWa3NRMEZCUlM4M1FpeEhRVUZSZUVVc1IwRkRkRUlyUWl4RlFVRlBXQ3hGUVVGUFVDeExRVUZOYTI5Q0xFVkJRVThzVVVGQlYwRXNSVUZCVFdodVFpeExRVUZQWjI1Q0xFVkJRMjVFYTBJc1JVRkJZVGR2UWl4RlFVRlBVQ3hMUVVGTmEyOUNMRVZCUVU4c1lVRkJaMEpCTEVWQlFVMXVXaXhWUVVGVmJFa3NUVUZCVHl4TFFVRlJMRWRCUzJwR0xFZEJTRUYxU0N4RlFVRk5jWGhDTEVWQlFXTjRka0lzUlVGQlRYUk5MRVZCUVU5QkxFZEJRVkY0UlN4RlFVZHNRaXhKUVVGc1FuZEZMRVZCUVVzM1F5eFZRVUZ2UXl4SlFVRnNRalpETEVWQlFVczNReXhYUVVzMVFuTXJRaXhIUVVGWmNubENMRXRCUVUwM1RDeEZRVUZQYjBJc1JVRkJUelJzUWl4TlFVRk5kVUlzWVVGSmRFTjJiMElzUlVGQlMyUXNVVUZCVXl4TlFVRlRMRWxCUnpOQ1ozQkNMRVZCUVdGc2IwSXNSVUZCU3pKR0xFMUJRVThzUzBGRGVrSXpSaXhGUVVGUGEyOUNMRVZCUVZkNllpeFJRVU5zUW5saUxFVkJRVmMzYTBJc1VVRkZXbWszUWl4RlFVRlRkQ3RDTEVWQlFVdGtMRkZCUVZNc1MwRkJVU3hIUVVGTExFdEJRVTlqTEVkQlJ6TkRaMjVDTEVWQlFWRkJMRVZCUVU4MWJFSXNSVUZCVHl0RExGTkJRM0pDTm1sQ0xFVkJRMEVzU1VGQlNUVnNRaXhGUVVGUGRXMUNMRTFCUVU4emJrSXNSVUZCZFVJc2FVSkJRVlpuYmtJc1IwRkJjMEpCTEVsQlIyaEVTeXhWUVVGWksxY3NSVUZCWlN4RlFVRkpMRVZCUTNKRGNGZ3NSVUZCVFc1YUxGVkJRVmx4WVN4RlFVRlhhbU1zUzBGQlRTeExRVU51UXl0aExFVkJRVTEzUXl4WFFVRmhlRU1zUlVGQlRXNWFMRlZCUTNoQ0xFbEJRVWt4Uml4UFFVRlJMRlZCUVZrclppeEZRVUZYYW1Nc1MwRkJUU3hwUWtGQmIwSXNWMEZETjBRc1MwRkhSQ3RoTEVWQlFVMXlWaXhaUVVGVGVrNHNSVUZEVkRocFFpeEZRVUZOYm1wQ0xGTkJRMWh0YWtJc1JVRkJUVzVxUWl4UFFVRlRjRUlzUjBGSmFFSnpaU3hGUVVGbExFMUJRVkpCTEVWQlEwNHNRMEZCUldsSExFZEJRMFkxYkVJc1JVRkJUekpFTEZWQlFWZG5ZeXhGUVVGTkxFTkJRVVZwUnl4SlFVY3pRblpLTEVWQlFWVnlZeXhGUVVGUE5HeENMRTFCUVUxMlNpeFJRVUZUZW1Rc1NVRkJWU3hIUVVOd1EyOHJRaXhKUVVGblFqTm5RaXhGUVVGUmFVc3NWVUZCYlVRc1NVRkJlRU5xU3l4RlFVRlJhVXNzVVVGQlVURnZRaXhOUVVGUGVVUXNSVUZCVFhObExFbEJRWFJGTEVOQlRVRXNTVUZCVFhGa0xFbEJRV2xDTTJkQ0xFVkJRVkY1VFN4WFFVRmhjSEZDTEVWQlFWVXlReXhIUVVGVExFTkJUVGxFTEVsQlNrRTBOMElzUlVGQllUVm5RaXhGUVVGUk5rb3NZMEZCWjBKMGJrSXNSVUZETDBKckswSXNSMEZCV1hKNVFpeExRVUZOZDNsQ0xFVkJRV0Z5SzBJc1MwRkRjRU5yVGl4RlFVRk5RU3hGUVVGSmFrMHNXVUZGU0dsTkxFVkJRVXRCTEVWQlFVMUJMRVZCUVVscVRTeFhRVU4wUW5VNVFpeEZRVUZWZGk5Q0xFdEJRVTFwVHl4SFFVTm9RalpDTEVWQlFVMDNRaXhGUVVsR05rSXNTMEZCVlhSTkxFVkJRVXMyU1N4bFFVRnBRbkpPTEVsQlEzQkRkV2RETEVWQlFWVjJMMElzUzBGQlRUaFFMRVZCUVVsaUxHRkJRV1ZoTEVWQlFVa3dka0lzWTBGQlowSnlaME1zUjBGTmVrUXNTVUZFUVc5RExFVkJRVWtzUjBGRFRUQk5MRVZCUVUxemVFSXNSVUZCVjJnclFpeFJRVUZaZDIxQ0xFVkJRVTF4UXl4M1FrRkROVU5yVml4RlFVRmpjbmhDTEVWQlEyUTRXaXhGUVVGTmFHNUNMRXRCUVU5UkxFVkJRVWtzUlVGRGFFSTJPVUlzUlVGRFFUVm5RaXhGUVVGUlowd3NWVUZCV1hwdlFpeEhRVWR5UW5OdlFpeEhRVUZYY0Vnc1JVRkJVMjVtTEVsQlFVdHRUQ3hGUVVGTExGZEJRV042VHl4UFFVRlBOSEJDTEU5QlFWRXNUMEZCVlhKQ0xFVkJRVTFvYmtJc1QwRkRNVVZyYUVJc1JVRkJVMjVtTEVsQlFVdHRUQ3hGUVVGTExGbEJSVzVDYjJJc1JVRkJUM1J3UWl4TlFVRlBhMDhzUlVGQlN6WlVMRWxCU1hCQ2RVZ3NSVUZCVTJkWExFZEJRVlZ3ZUVJc1JVRkJTMjk0UWl4TFFVTlVhRmNzUlVGQlQzUndRaXhQUVVGVGQyaENMRVZCUVZsMFZDeExRVU14UXpoYUxFVkJRVTF5Vml4UFFVRlRNbGNzUlVGQlQzUndRaXhOUVVGUGEwOHNSVUZCU3paVUxFbEJRMW9zU1VGQmFrSnBSeXhGUVVGTmNsWXNVVUZEVm5GV0xFVkJRVTFUTEd0Q1FUaERWQ3hQUVRGRFFWUXNSVUZCVFdodVFpeExRVUZQUVN4RlFVZFFieXRDTEVkQlFXbENjRmdzUlVGQlRYVkVMSE5DUVVWd1FqbE5MRVZCUVZGNVNDeFhRVU54UXl4SlFVRndSSHBJTEVWQlFWRjVTQ3hUUVVGVGJHMUNMRTFCUVU5M0wwSXNSVUZCVlRreVFpeE5RVUZQY1Zvc1MwRkRla05RTEVWQlFWa3ZaQ3hKUVVsUU5qZENMRWRCUVZVMUswSXNSVUZCV1N0RExFVkJRVTE2UXl4TlFVRmhSaXhGUVVGVk1rTXNUVUZIZGtSelRTeEZRVUZOZEUwc1JVRkJUVFkzUWl4TlFVZFlOemRDTEVWQlFVMDJOMElzUjBGQlZ5eE5RVWxzUW13NVFpeEZRVUZQTkd4Q0xFMUJRVTExUWl4VlFVRlpkbTlDTEVWQlJYQkNaMjVDTEVWQlFVMXhReXgzUWtGRFZtdFdMRVZCUVZsdWQwSXNhVUpCUVd0Q2NFOHNSVUZCVFcwclFpeEpRVWR5UXpFM1FpeEZRVUZOZWtNc1MwRkZSR2R1UWl4RlFVRk5jVU1zZDBKQlExWnJWaXhGUVVGWmJHWXNiMEpCUVhGQ2NtWXNSVUZCVFcwclFpeEpRVWQ0UXk4NFFpeEZRVUZQTkd4Q0xFMUJRVTExUWl4bFFVRlpjbXRDTEVWQlJYQkNOa3NzU1VGRFNuUk5MRVZCUVUwMk4wSXNSMEZCVjNaMlFpeEpRVTFrYVZrc1JVRkJUWEpXTEZOQlMyUXJjMElzVTBGQlZTeFRRVUZWTVN0Q0xFVkJRVTE1UXl4RlFVRk5kV3RDTEVkQlF5OUNMRWxCUVVsdVl5eEZRVUZKZWtvc1JVRkJUMjFETEU5QlEyUXNTVUZCU1c1RExFVkJRVTkxYlVJc1RVRkRXRmdzUlVGRFFTeERRVU5EYUc1Q0xFdEJRVTFCTEVWQlEwNDBjVUlzWVVGQllTeEpRVWxtZUhCQ0xFVkJRVTgwYkVJc1RVRkJUVlVzVVVGQlV6ZGpMRVZCUVVjc1MwRkJUWEJKTEUxQlMycERja0lzUlVGQlQwY3NSMEZCUjJkRExFOUJRVkVzUTBGRmFrSnRhMElzVVVGQlV5eFRRVUZWTVc1Q0xFVkJRVTByWjBJc1IwRkRlRUlzVDBGQlR6RnBRaXhMUVVGTGFVVXNTMEZCVFN4WFFVTnFRbXhDTEVWQlFVODBiRUlzVFVGQlRWVXNVVUZCVXpGdVFpeEZRVUZOSzJkQ0xFVkJRVTB4YVVJc1UwRkhjRU56WjBNc1pVRkJaMElzVTBGQlZUTXJRaXhGUVVGTksyZENMRWRCUXk5Q0xFbEJRVWwwWlN4RlFVRlBjRVVzUzBGQlRTeEhRVU5xUWl4SFFVRkxiMFVzUlVGRFNpeFBRVUZQY2tJc1JVRkJUelJzUWl4TlFVRk5WU3hSUVVGVE1XNUNMRVZCUVUwclowSXNSVUZCVFhSbExFZEJRVTBzVFVGak5VTm9SQ3hGUVVGUmR5dENMRk5CUTJJM09FSXNSVUZCVDJ0Q0xFdEJRVTBzUTBGQlJXMVNMRTFCUVU4c1ZVRkJWMmRhTEV0QlFVMHNXVUZCWXl4VFFVRlZTeXhGUVVGTk5VUXNSMEZIY0VVc1NVRkJTVzVqTEVWQlFWVXNVMEZCVldsaExFZEJRM1pDTld4Q0xFVkJRVTgwYkVJc1RVRkJUVEJZTEZOQlFWVjRWaXhGUVVGTGJFTXNSVUZCVFc1cVFpeFBRVUZSZWtNc1JVRkJUelJzUWl4TlFVRk5hME1zU1VGQlMyeERMRXRCUnpkRU5XeENMRVZCUVU4MGJFSXNUVUZCVFhaS0xGRkJRVk41VEN4SFFVRlJMRU5CUXpkQ1VDeE5RVUZQTEZkQlNVNHNTVUZCU1hCdlFpeEZRVUZOYkVNc1MwRkJTMmxPTEdWQlFXbENhazRzUzBGQlMwb3NWVUZCV1Vrc1MwRkRhRVIxWjBNc1JVRkJWekZrTEVWQlFWTjRRaXhQUVVGUmJtWXNSVUZCU3pKdlFpeEhRVVUxUWpCV0xFZEJRMHh5SzBJc1JVRkJTVFpPTEdsQ1FVRnJRakJsTEVWQlFVMHZaaXhIUVVGVExFZEJSWFJEYlZVc1JVRkJVM2hDTEU5QlFWRnVaaXhGUVVGTE1tOUNMRWRCUVU4d1ZpeEhRVUZaTEVkQlFVMHNTVUZGYUVRNVZpeFRRVUZWTEZkQlExUXNTVUZCU1hadlFpeEZRVUZOYkVNc1MwRkJTMmxPTEdWQlFXbENhazRzUzBGQlMwb3NWVUZCV1Vrc1MwRkRhRVIxWjBNc1JVRkJWekZrTEVWQlFWTjRRaXhQUVVGUmJtWXNSVUZCU3pKdlFpeEhRVUZSTEVWQlJYQkRNRllzUlVGTFRERmtMRVZCUVZONFFpeFBRVUZSYm1Zc1JVRkJTekp2UWl4RlFVRkxNRllzU1VGS00wSnlLMElzUlVGQlNUaGxMRzlDUVVGeFFubE9MRVZCUVUwdlppeEhRVUZUTEVkQlEzaERiVlVzUlVGQlUyaEdMRTlCUVZFellpeEZRVUZMTW05Q0xGRkJVek5DTEVsQlFVa3pWaXhIUVVGWGJsWXNSVUZCVDIxV0xGTkJSV3hDY2xRc1IwRkJVU3hEUVVGRmMwWXNTMEZCVFhOQ0xFdEJRVXMyYWtJc1QwRkZja0pyVlN4SFFVRlRMRXRCUzJKNk9VSXNSVUZCVHpBNVFpeFRRVUZYTEZOQlFWVXZaQ3hIUVVNelFpeEpRVUZKTjA4c1JVRkJTelp6UWl4RlFVTlVMRWxCUVUxb1pTeEhRVUYzUWl4cFFrRkJWRUVzUlVGRGNFSXNUMEZCVHl4TFFVdFNMRWxCUTBNM1R5eEhRVUZOTEVsQlFVMDVWQ3hGUVVGUE5HZERMRmRCUVdORExHZENRVUZwUW14bExFVkJRVTBzV1VGRGRrUXNUVUZCVVd4WExFbEJXVllzVDBGV1FXc3dRaXhGUVVGclFqZHpRaXhIUVVGUFFTeEZRVUZKZUVjc2NVSkJRWE5DTEdWQlFXbENMRWRCUXpsRWQwY3NTVUZCVHpaelFpeEhRVU5hTXpsQ0xFVkJRVTl2UkN4TlFVRlBMR2xDUVVOaWRUWkNMRVZCUTBNek9VSXNSVUZCVDI5Q0xFbEJRVXQxT0VJc1JVRkJaMEp1TUVJc1YwRkJXU3hUUVVGVlowTXNSMEZEYWtRc1QwRkJUMEVzUlVGQlJ6aEVMR05CUTFCNlJTeExRVUZOTEUxQlExWTRWU3hKUVVkSk4wOHNSMEZKVWl4SlFVTkRaM1JDTEVkQlFWY3NVVUZEV0VNc1IwRkJVU3hUUVVOU1F5eEhRVUZyUWl4M1EwRkRiRUpETEVkQlFXVXNjVU5CUldoQ0xGTkJRVk5ETEVkQlFXRXZTU3hGUVVGUk5USkNMRVZCUVVzMEwwSXNSVUZCWVRGc1FpeEhRVU12UXl4SlFVRkpjRmNzUlVGRlNpeEhRVUZMVHl4TlFVRk5ReXhSUVVGVGRFVXNSMEZIYmtKNVFpeEZRVUZQYTBJc1MwRkJUVE5ETEVWQlFVc3NVMEZCVldFc1JVRkJSMmxoTEVkQlEzcENPR3RDTEVkQlFXVk1MRWRCUVZOeWVrSXNTMEZCVFRCeFFpeEhRVWRzUXpGakxFVkJRVXN3WXl4RlFVRlJPV0lzUjBGTFlqWnJRaXhIUVVOREwwa3NSVUZCVXl4TFFVRnhRaXhwUWtGQlRqbGlMRWRCUVhWQ0xFMUJRVXhCTEVWQlFWbHFZU3hGUVVGSkxFbEJRVThzU1VGRGFrVnBZU3hGUVVOQk9HdENMRVZCUTBFeGJFSXNWVUZMUnl4SFFVRk5NR3hDTEVkQlFXbERMRmRCUVd4Q2NDdENMRVZCUVZGNFFpeEhRVlZ1UTJ0aExFVkJRVXN3WXl4RlFVRlJOVEpDTEZGQlVHSXNTVUZCVFRoRUxFdEJRVkU1UkN4RlFVTmlNaTlDTEVkQlFXRXZTU3hGUVVGVExFbEJRVTA1ZVVJc1JVRkJUeXhKUVVGTE9VUXNSVUZCU3poRUxFZEJRVkU0TjBJc1JVRkJZVEZzUWl4SFFWbHlSWHBaTEVWQlFVOXZLMElzVFVGQlVTeFRRVUZWYURSQ0xFVkJRVWNyTTBJc1IwRkRNMElzU1VGQlNXaEtMRVZCUTBoclNpeEZRVUZKTEVkQlEwbzFiRUlzUlVGQlRTeFRRVUZWZEU0c1JVRkJTMjE2UWl4SFFVZHdRaXhKUVVGSmJqWkNMRVZCUVZFM1JpeEZRVUZaWjJkRExFZEJRM1pDUVN4SlFVTkJRU3hGUVVWRVJDeEZRVUZIUVN4RlFVRkZMemxDTEZGQlFWZHBLMElzYlVKQlFXOUNjSHBDTEVkQlFWRXNTVUZETTBOdmVrSXNiVUpCUVRaQ0xFMUJRVlJ3TmtJc1JVRkJaMElzUjBGQlMwRXNTVUZITlVNc1IwRkJWU3hOUVVGTWFVTXNSVUZEU2l4TlFVRlBMRWRCU1ZJc1IwRkJTM2hFTEUxQlFVMURMRkZCUVZOMVJDeEpRVUZUUVN4RlFVRkZOVVlzVTBGQlYxSXNSVUZCVHpKRExHTkJRV1Y1UkN4SFFVY3ZSSEJITEVWQlFVOXJRaXhMUVVGTmEwWXNSVUZCUnl4WFFVTm1jVk1zUlVGQlMzaGlMRXRCUVV0dlJpeExRVUZOY0VZc1MwRkJTMnRJTEdOQlQzUkNMRWxCUVUxbmVFSXNTMEZCVlM5MVFpeEZRVU5tT0ROQ0xFZEJRV0V2U1N4RlFVRlJMM1ZDTEVWQlFVY3JkVUlzUjBGQlZXZEtMRVZCUVdFeGJFSXNSMEZMYWtRc1QwRkJUelJzUWl4RlFVRkZlSHBDTEV0QlFVMHNUVUZIYUVJM1N5eEZRVUZQUnl4SFFVRkhaME1zVDBGQlVTeERRVU5xUW5FNFFpeFZRVUZYTEZkQlExWXNUMEZCVDNnclFpeEZRVUZQYnl0Q0xFMUJRVTl1YUVNc1MwRkJTM2RvUXl4dFFrRkZNMEpCTEdWQlFXZENMRmRCUTJZc1QwRkJUM2hvUXl4TFFVRkxiVVVzU1VGQlN5eFhRVWRvUWl4SlFVRkpNRTRzUlVGQlZ6bFBMRVZCUVU4MFppeExRVUZOTTJsQ0xFdEJRVTBzV1VGRGJFTXNUMEZCVHpaU0xFVkJRVmM1VHl4RlFVRlBNa1FzVlVGQlYyMU1MRWRCUVdFM1VpeFBRVU01UTNGUkxFOUJRVkVzVjBGRFdDeEpRVUZKTVU4c1JVRkJUek5DTEV0QlFVc3lRaXhMUVVkb1FpeFBRVUZQTTBJc1MwRkJTMjlHTEU5QlFWTnlReXhGUVVGUkwwTXNUVUZCVDJ0aExFZEJRVWtzWTBGRGRrTTRiVUlzUjBGQllYaDZRaXhMUVVGTmVFNHNTMEZCUzI5TkxGbEJRV1V5TUVJc1IwRkJaMEoyZWtJc1MwRkJUVGRNTEV0QlF6TkVNMElzUzBGQlN6QldMRlZCUVZselVTeEhRVUZsZUZrc1MwRkJUVGRNTEUxQlEzUkRkME1zU1VGQlN5eFRRVUZWYjBRc1JVRkJTVzVFTEVkQlEzUkNMRWxCUVVsb1F5eEZRVUZOVnl4RlFVRlJMME1zVFVGQlQyOURMRTFCUlhwQ0xFOUJRVmtzVFVGQlVFRXNSVUZEUnl4TFFVZElkVVFzVFVGQlRVTXNVVUZCVTNoRUxFZEJRMXBYTEVWQlFVOXZRaXhKUVVGTEwwSXNSVUZCU3l4VFFVRlZRU3hIUVVOcVF5eE5RVUZQTEVOQlFVVm5SQ3hMUVVGTmFFSXNSVUZCUzJkQ0xFdEJRVTA0UWl4TlFVRlBPVVVzUlVGQlNUWkVMRkZCUVZNMk5rSXNSMEZCVHl4WFFVbG9SQ3hEUVVGRk1UZENMRXRCUVUxb1FpeEZRVUZMWjBJc1MwRkJUVGhDTEUxQlFVODVSU3hGUVVGSk5rUXNVVUZCVXpZMlFpeEhRVUZQTEZkQlEyeEVjRGxDTEZOQlMwNHNTVUZEUXlzNVFpeEhRVUZOTEU5QlEwNURMRWRCUVZFc1QwRkRVa01zUjBGQllTeG5Ra0ZEWWtNc1IwRkJWeXcyUWtGSldFTXNSMEZCWVN4cFFrRkRZa01zUjBGQldTeFJRVmRhZEVnc1IwRkJZU3hIUVU5aWRVZ3NSMEZCWVN4SFFVZGlReXhIUVVGWExFdEJRVXQwYUVNc1QwRkJVU3hMUVVkNFFuVm9ReXhIUVVGbGNtbERMRVZCUVZNd1F5eGpRVUZsTEV0QlMzaERMRk5CUVZNMEwwSXNSMEZCTmtKRExFZEJSM0pETEU5QlFVOHNVMEZCVlVNc1JVRkJiMEpzYTBJc1IwRkZSQ3hwUWtGQmRrSnJhMElzU1VGRFdHeHJRaXhGUVVGUGEydENMRVZCUTFCQkxFVkJRWEZDTEV0QlIzUkNMRWxCUVVsRExFVkJRMGhzWjBNc1JVRkJTU3hGUVVOS2JXZERMRVZCUVZsR0xFVkJRVzFDTlRaQ0xHTkJRV054Uml4TlFVRlBjVkFzU1VGQmJVSXNSMEZGZUVVc1IwRkJTemRoTEVWQlFWazJZeXhIUVVkb1FpeExRVUZWYld0Q0xFVkJRVmRETEVWQlFWZHVaME1zVFVGSFVpeE5RVUZzUW10blF5eEZRVUZWTEVsQlEyUkJMRVZCUVZkQkxFVkJRVk12YUVNc1RVRkJUeXhKUVVGUExFdEJRMmhETm1oRExFVkJRVmRGTEVkQlFXRkdMRVZCUVZkRkxFbEJRV01zU1VGQlN6RjNRaXhSUVVGVGRVMHNTMEZKTDBScGEwSXNSVUZCVjBVc1IwRkJZVVlzUlVGQlYwVXNTVUZCWXl4SlFVRkxlbWhETEV0QlFVMXpaQ3hKUVZGdVJTeFRRVUZUY1d0Q0xFZEJRU3RDU2l4RlFVRlhhRGxDTEVWQlFWTTBNVUlzUlVGQmFVSjVTQ3hIUVVVMVJTeEpRVUZKUXl4RlFVRlpMRWRCUTJaRExFVkJRWEZDVUN4SlFVRmpTaXhIUVVWd1F5eFRRVUZUV1N4RlFVRlRUaXhIUVVOcVFpeEpRVUZKTVhOQ0xFVkJZMG9zVDBGaVFUaHpRaXhGUVVGWFNpeEpRVUZoTEVWQlEzaENkQzlDTEVWQlFVOXJRaXhMUVVGTmF5dENMRVZCUVZkRkxFbEJRV01zUjBGQlNTeFRRVUZWY0d4Q0xFVkJRVWN5YkVJc1IwRkRkRVFzU1VGQlNVTXNSVUZCYzBKRUxFVkJRVzlDZWpsQ0xFVkJRVk0wTVVJc1JVRkJhVUo1U0N4SFFVTjRSU3hOUVVGdlF5eHBRa0ZCZUVKTExFZEJRMVpJTEVkQlFYRkNSQ3hGUVVGWFNTeEhRVXQwUWtnc1NVRkRSQzl6UWl4RlFVRlhhM1JDTEZGQlJHWXNSMEZJVGpFNVFpeEZRVUZSYlRsQ0xGVkJRVlV6ZDBJc1VVRkJVMnQ0UWl4SFFVTXpRa1lzUlVGQlUwVXNTVUZEUml4TFFVdEdiSFJDTEVWQlIxSXNUMEZCVDJkMFFpeEZRVUZUZURsQ0xFVkJRVkZ0T1VJc1ZVRkJWeXhOUVVGVlJ5eEZRVUZYTEUxQlFWTkZMRVZCUVZNc1MwRk5NMFVzVTBGQlUwY3NSMEZCV1hRNVFpeEZRVUZSTlVRc1IwRkROVUlzU1VGQlNYTk5MRVZCUVV0NlNTeEZRVU5TY3psQ0xFVkJRV05vWjBNc1JVRkJUMmxuUXl4aFFVRmhSQ3hoUVVGbExFZEJSV3hFTEVsQlFVMDNNRUlzUzBGQlQzUk5MRTlCUTFGcFJTeEpRVUZtYWtVc1JVRkJTM05OTEUxQlExQTJNRUlzUlVGQllUY3dRaXhIUVVGUk1Va3NSVUZCVjBNc1NVRkJWVUVzUlVGQlR5eExRVUZWZVVrc1IwRkJVWFJOTEVWQlFVdHpUU3hKUVU4MVJTeFBRVXBMZWtrc1IwRkRTakZETEVWQlFVOXRReXhSUVVGUkxFVkJRVTFOTEVWQlFWRkRMRWRCUjNaQ1JDeEZRUzlGVW5rNFFpeEhRVUZoTVhOQ0xFdEJRVTlNTEVkQlFWTkxMRXRCWjFBM1FuaFRMRVZCUVU5dFF5eFBRVUZSTEVOQlIyUXJPVUlzVDBGQlVTeEZRVWRTUXl4aFFVRmpMRWRCUTJSRExFdEJRVTBzUjBGRlRrZ3NZVUZCWXl4RFFVTmlTU3hKUVVGTGJIVkNMRWRCUVZOTExFdEJRMlExVkN4TFFVRk5MRTFCUTA0d2FFTXNVVUY0VW1kQ0xEUkVRWGRTVVRjeFFpeExRVUZOTUVnc1IwRkJVMjkxUWl4VlFVTjJRemxxUXl4UlFVRlJMRVZCUTFJcmFrTXNZVUZCWVN4RlFVTmlReXhQUVVGUExFVkJRMUJETEZsQlFXRXNiVVJCWTJKRExGRkJRVk1zUTBGRFVuQkpMRWxCUVVzd1J5eEhRVU5NZWk5Q0xFdEJRVTBzWVVGRFRtMTBRaXhMUVVGTkxGbEJRMDQzWWl4SlFVRkxMRFJDUVVOTU9IWkNMRXRCUVUwc2NVTkJSMUF6YjBJc1UwRkJWU3hEUVVOVWJrZ3NTVUZCU3l4VlFVTk1ObUlzUzBGQlRTeFRRVU5PYVZVc1MwRkJUU3haUVVkUVF5eGxRVUZuUWl4RFFVTm1MM1pDTEVsQlFVc3NZMEZEVEhSU0xFdEJRVTBzWlVGRFRtOW9ReXhMUVVGTkxHZENRVXRRUlN4WFFVRlpMRU5CUjFoRExGTkJRVlZ5TkVJc1QwRkhWbk0wUWl4aFFVRmhMRVZCUjJKRExGbEJRV0U1WjBJc1MwRkJTME1zVFVGSGJFSTRaMElzVjBGQldXeG9ReXhGUVVGUE1EbENMRlZCVDNCQ2MwTXNXVUZCWVN4RFFVTmFTeXhMUVVGTExFVkJRMHh1WjBNc1UwRkJVeXhKUVU5WWFXaERMRlZCUVZjc1UwRkJWVEVyUWl4RlFVRlJNaXRDTEVkQlF6VkNMRTlCUVU5QkxFVkJSMDV5UWl4SFFVRlpRU3hIUVVGWmREbENMRVZCUVZGNlF5eEZRVUZQYVdkRExHTkJRV2RDYlVJc1IwRkhka1J5UWl4SFFVRlpMeTlDTEVWQlFVOXBaME1zWVVGQlkzZzVRaXhKUVVkdVF6UXJRaXhqUVVGbGJFTXNSMEZCTmtJeFNDeEpRVU0xUXpaS0xHTkJRV1Z1UXl4SFFVRTJRa2dzU1VGSE5VTjFReXhMUVVGTkxGTkJRVlZzUWl4RlFVRkxhaXRDTEVkQlIwRXNhVUpCUVZKcEswSXNTVUZEV0dvclFpeEZRVUZWYVN0Q0xFVkJRMVpCTEU5QlFVMTJPVUlzUjBGSlVGWXNSVUZCVlVFc1IwRkJWeXhIUVVWeVFpeEpRVUZKYnk5Q0xFVkJSMGhETEVWQlIwRkRMRVZCUTBGRExFVkJSMEZETEVWQlIwRkRMRVZCUjBFM2FrSXNSVUZIUVRocVFpeEZRVWRCTVdsRExFVkJSMEV5YVVNc1JVRkhRVEZFTEVWQlFVbHlLMElzUlVGQlQyMW9ReXhWUVVGWExFZEJRVWt2SzBJc1IwRkhNVUkwTDBJc1JVRkJhMEl6UkN4RlFVRkZiaXRDTEZOQlFWZHRLMElzUlVGSEwwSTBSQ3hGUVVGeFFqVkVMRVZCUVVWdUswSXNWVUZEY0VJNGFFTXNSVUZCWjBKNGFrTXNWVUZCV1hkcVF5eEZRVUZuUW5ob1F5eFJRVU01UTFJc1JVRkJVV2RwUXl4SFFVTlNhR2xETEVWQlFVODBiRUlzVFVGSFVuSkxMRVZCUVZkMllpeEZRVUZQYTJJc1YwRkRiRUpuYmtJc1JVRkJiVUpzYVVNc1JVRkJUMmRoTEZWQlFWY3NaVUZIY2tOdGIwSXNSVUZCWVRsRUxFVkJRVVU0UkN4WlFVRmpMRWRCUnpkQ1F5eEZRVUZwUWl4SFFVTnFRa01zUlVGQmMwSXNSMEZIZEVKRExFVkJRVmNzVjBGSFdEZERMRVZCUVZFc1EwRkRVSEpvUWl4WFFVRlpMRVZCUjFwdGEwSXNhMEpCUVcxQ0xGTkJRVlZ3TTBJc1IwRkROVUlzU1VGQlNYSkNMRVZCUTBvc1IwRkJTMnRWTEVWQlFWa3NRMEZEYUVJc1NVRkJUVEpxUWl4RlFVVk1MRWxCUkVGQkxFVkJRV3RDTEVkQlExSTNNMElzUlVGQlVTc3dRaXhIUVVGVE1UQkNMRXRCUVUxMU0wSXNTVUZEYUVORExFVkJRV2xDTnpOQ0xFVkJRVThzUjBGQlNYSkdMR05CUVdkQ0xFMUJRM3BEYXpsQ0xFVkJRV2xDTnpOQ0xFVkJRVThzUjBGQlNYSkdMR05CUVdkQ0xFMUJRVk1zU1VGRGNrUTVSeXhQUVVGUmJVMHNSVUZCVHl4SlFVZHdRa0VzUlVGQlVUWXpRaXhGUVVGcFFuZ3lRaXhGUVVGSk1VY3NZMEZCWjBJc1MwRkZPVU1zVDBGQlowSXNUVUZCVkhGR0xFVkJRV2RDTEV0QlFVOUJMRVZCUVUxbExFdEJRVTBzVDBGSk0wTXlNMElzYzBKQlFYVkNMRmRCUTNSQ0xFOUJRVTk0YTBJc1JVRkJXVEJxUWl4RlFVRjNRaXhOUVVrMVEyVXNhVUpCUVd0Q0xGTkJRVlZ3WjBNc1JVRkJUVGhDTEVkQlRXcERMRTlCVEd0Q0xFMUJRV0kyV2l4SlFVTktNMklzUlVGQlQyZG5ReXhGUVVGeFFtaG5ReXhGUVVGTGIwTXNaVUZEYUVNME9VSXNSVUZCY1VKb1owTXNSVUZCUzI5RExHZENRVUZ0UW5CRExFVkJRemxES3k5Q0xFVkJRV2RDTHk5Q0xFZEJRVk00UWl4SFFVVnVRbXhJTEUxQlNWSjViRU1zYVVKQlFXdENMRk5CUVZVNWFrTXNSMEZKTTBJc1QwRklhMElzVFVGQlltOW1MRWxCUTBweFowSXNSVUZCUlhORkxGTkJRVmN2YWtNc1IwRkZVRE5DTEUxQlNWSnJiRU1zVjBGQldTeFRRVUZWTDJkRExFZEJRM0pDTEVsQlFVbHVReXhGUVVOS0xFZEJRVXR0UXl4RlFVTktMRWRCUVVzMFl5eEZRVWRLZVdoQ0xFVkJRVTF1YTBJc1QwRkJVV3hoTEVWQlFVdHhLMElzUlVGQlRXMUVMR05CU1hwQ0xFbEJRVTB6YWtNc1MwRkJVVzFETEVWQlEySXJaME1zUlVGQldXeHFReXhIUVVGVExFTkJRVVZyYWtNc1JVRkJXV3hxUXl4SFFVRlJiVU1zUlVGQlMyNURMRWxCU1c1RUxFOUJRVTlvUXl4TlFVbFNOR3hETEUxQlFVOHNVMEZCVlVNc1IwRkRhRUlzU1VGQlNVTXNSVUZCV1VRc1IwRkJZMUlzUlVGTE9VSXNUMEZLUzJRc1IwRkRTa0VzUlVGQlZYRkNMRTFCUVU5RkxFZEJSV3hDYkRsQ0xFVkJRVTBzUlVGQlIyczVRaXhIUVVOR09XeERMRTlCYjBKV0xFZEJaa0Z6WlN4RlFVRlRNVUlzVVVGQlV6UnNRaXhIUVV0c1FuQkNMRVZCUVVWblF5eE5RVUZWUVN4SFFVRlBhRU1zUlVGQlJXZERMRXRCUVU5c2RVSXNSMEZCVTBzc1RVRkJVeXhKUVVNMVEzUlFMRkZCUVZNMk4wSXNSMEZCVnpWelFpeEhRVUZUYjNWQ0xGTkJRVmNzVFVGSE1VTnNReXhGUVVGRmVpOUNMRXRCUVU5M1JDeEZRVUZSZDFnc1VVRkJWWGhZTEVWQlFWRjRSQ3hOUVVGUmVTOUNMRVZCUVVWNmEwSXNVVUZCVlhsclFpeEZRVUZGZWk5Q0xFdEJSM3BFZVM5Q0xFVkJRVVZyUWl4WFFVRmpiRUlzUlVGQlJXbENMRlZCUVZrc1MwRkJUVGMyUWl4alFVRmpjVVlzVFVGQlQzRlFMRWxCUVcxQ0xFTkJRVVVzU1VGSGVFUXNUVUZCYWtKcmJFSXNSVUZCUlRKRkxGbEJRWE5DTEVOQlF6VkNia0lzUlVGQldXaHNReXhGUVVGVE1FTXNZMEZCWlN4TFFVdHdReXhKUVVORGMybERMRVZCUVZWeWRrSXNTMEZCVHpaeVFpeEZRVUZGWjBNc1NVRkpia0ozUWl4RlFVRlZjblpDTEV0QlFVOXhka0lzUlVGQlZYSjJRaXhMUVVNelFqWnlRaXhGUVVGRk1rVXNXVUZCWXpsRUxFZEJRV0Z4UWl4VFFVRlhMRXRCUVU5eVFpeEhRVUZoSzBRc1RVRkRNMFJ3UWl4RlFVRlZkRUlzVTBGQlZ5eExRVUZQYzBJc1JVRkJWVzlDTEV0QlEzUkRMRTFCUVZGNE5VSXNSMEZKVkRRd1FpeEZRVUZGTWtVc1lVRkJZeXhIUVdGc1FpeEhRVkpMTTBVc1JVRkJSVEZsTEUxQlFWRXdaU3hGUVVGRmJVTXNZVUZCYVVNc2FVSkJRVmh1UXl4RlFVRkZNV1VzVDBGRGVFTXdaU3hGUVVGRk1XVXNTMEZCVHpObUxFVkJRVTl2SzBJc1RVRkJUME1zUlVGQlJURmxMRXRCUVUwd1pTeEZRVUZGUml4alFVbHNRM0ZDTEVkQlFTdENMMGdzUjBGQldUUkhMRVZCUVVkcU9FSXNSVUZCVTNFNVFpeEhRVWRzUkhwb1FpeEZRVU5LTEU5QlFVOTVhRUlzUlVFNFJWSXNTVUZCVFhKblF5eExRWHBGVGpCcFF5eEZRVUZqT1doRExFVkJRVTgwYkVJc1QwRkJVM2xaTEVWQlFVVTFhRU1zVTBGSFVTeEhRVUZ3UW5WRUxFVkJRVTlyWjBNc1ZVRkRNVUpzWjBNc1JVRkJUelJzUWl4TlFVRk5WU3hSUVVGVExHRkJTWFpDSzFnc1JVRkJSWG92UWl4TFFVRlBlUzlDTEVWQlFVVjZMMElzUzBGQlMzRm5RaXhqUVVkb1FtOW1MRVZCUVVVMlJTeFpRVUZqY0VVc1IwRkJWM0l3UWl4TFFVRk5OSHBDTEVWQlFVVjZMMElzVFVGTGJrTTJhVU1zUlVGQlYzQkVMRVZCUVVWblF5eEpRVUZKYmpsQ0xGRkJRVk41TjBJc1IwRkJUeXhKUVVjelFrNHNSVUZCUlRaRkxGZEJkMEpKTjBVc1JVRkJSVEZsTEUxQlFWRXdaU3hGUVVGRmJVTXNZVUZEYjBRc1MwRkJla1Z1UXl4RlFVRkZjVU1zWVVGQlpTeEpRVUZMTldsRExGRkJRVk1zZFVOQlEycERkV2RETEVWQlFVVXhaU3hMUVVGUE1HVXNSVUZCUlRGbExFdEJRVXQ2WXl4UlFVRlRkemRDTEVkQlFVc3NUMEYyUWpsQ2NVUXNSVUZCVnpGRUxFVkJRVVZuUXl4SlFVRkpPV2xETEUxQlFVOXJhME1zUlVGQlUyNW9ReXhSUVVjMVFpczVRaXhGUVVGRk1XVXNUMEZCVlRCbExFVkJRVVZ0UXl4aFFVRnBReXhwUWtGQldHNURMRVZCUVVVeFpTeFJRVU14UXpob1FpeEpRVUZqYUVVc1IwRkJUMmg2UWl4TFFVRk5aek5DTEVkQlFXRXNTVUZCVFN4TFFVRlJjRVFzUlVGQlJURmxMRmxCUjJwRU1HVXNSVUZCUlRGbExFOUJTVThzU1VGQldqQmxMRVZCUVVWdWVrSXNVVUZEVG5VeVFpeEZRVUZYUVN4RlFVRlRkaXRDTEZGQlFWTXdOMElzUjBGQldTeE5RVU42UTIxRUxFZEJRV0YwUlN4SFFVRlBhSHBDTEV0QlFVMW5NMElzUjBGQllTeEpRVUZOTEV0QlFWRXNTMEZCVXpOcFF5eEhRVUZOYzBZc1QwRkRia1V5T1VJc1IwRkpSakZFTEVWQlFVVm5ReXhKUVVGTmIwSXNSVUZCVjAwc1IwRlRaakZFTEVWQlFVVTRSU3hoUVVORWJtcERMRVZCUVU5dFowTXNZVUZCWTNOQ0xFbEJRM3BDYUVNc1JVRkJUV2RFTEdsQ1FVRnJRaXh2UWtGQmNVSjZhVU1zUlVGQlQyMW5ReXhoUVVGamMwSXNTVUZGT1VSNmFFTXNSVUZCVDI5blF5eExRVUZOY1VJc1NVRkRha0pvUXl4RlFVRk5aMFFzYVVKQlFXdENMR2RDUVVGcFFucHBReXhGUVVGUGIyZERMRXRCUVUxeFFpeE5RVXR1UkhCRUxFVkJRVVV4WlN4TlFVRlJNR1VzUlVGQlJUWkZMR0ZCUVdkRExFbEJRV3hDTjBVc1JVRkJSWEZETEdGQlFYbENkQ3RDTEVWQlFWRnpLMElzWTBGRGFrVnFRaXhGUVVGTlowUXNhVUpCUVd0Q0xHVkJRV2RDY0VVc1JVRkJSWEZETEdGQlNUTkRha0lzUlVGQlRXZEVMR2xDUVVOTUxGTkJRMEZ3UlN4RlFVRkZhMElzVlVGQlZ5eEpRVUZQYkVJc1JVRkJSWE5ETEZGQlFWTjBReXhGUVVGRmEwSXNWVUZCVnl4SlFVTXpRMnhDTEVWQlFVVnpReXhSUVVGVGRFTXNSVUZCUld0Q0xGVkJRVmNzUzBGRFFTeE5RVUZ5UW14Q0xFVkJRVVZyUWl4VlFVRlhMRWRCUVdNc1MwRkJUMDRzUjBGQlZ5eFhRVUZoTEVsQlF6ZEVXaXhGUVVGRmMwTXNVVUZCVXl4TlFVbEdkRU1zUlVGQlJTdEZMRkZCUTFvelJDeEZRVUZOWjBRc2FVSkJRV3RDY21wRExFVkJRVWRwTDBJc1JVRkJSU3RGTEZGQlFWTm9hME1zU1VGSmRrTXNSMEZCUzJrdlFpeEZRVUZGWjBZc1kwRkRLME1zU1VGQmJrUm9SaXhGUVVGRlowWXNWMEZCVnpOc1F5eExRVUZOYzJ0RExFVkJRV2xDZGtNc1JVRkJUM0JDTEVsQlFXbENjbWRDTEVkQlJ6bEVMRTlCUVU5NWFFSXNSVUZCVFc5RUxGRkJaV1FzUjBGWVFWQXNSVUZCVnl4UlFVZFlTaXhGUVVGcFFucHdRaXhKUVVGTE5HeENMRVZCUVVWcVJ5eFZRVU40UW5GSUxFVkJRVTAxTlVJc1MwRkJUWGMwUWl4RlFVRkZhVVlzVTBGRFpEZEVMRVZCUVUwemJFSXNTMEZCVFhWclFpeEZRVUZGYWpkQ0xFOUJSMlJ2SzBJc1JVRkJXV2hETEVkQlFTdENVaXhIUVVGWldDeEZRVUZIYWpoQ0xFVkJRVk54T1VJc1IwRkxOVVFzUTBGVFRpeEhRVkpCUVN4RlFVRk5jbWhDTEZkQlFXRXNSVUZIWkRCcVFpeEhRVU5LUnl4RlFVRnRRak5pTEZGQlFWTXNWMEZCV1N4RFFVRkZiVm9zUlVGQlQzQkNMRWxCU1RkRGNtZENMRVZCUTBvc1QwRkJUM2xvUWl4RlFVbEljRUlzUlVGQlJXOURMRTlCUVZOd1F5eEZRVUZGTlVRc1VVRkJWU3hKUVVNelFtMUlMRVZCUVdVMWEwTXNSVUZCVDJkblFpeFhRVUZaTEZkQlEycERlV2xDTEVWQlFVMXZSQ3hOUVVGUExGbEJRMWg0UlN4RlFVRkZOVVFzVlVGSFRpeEpRVU5EZW1Nc1IwRkJXU3hGUVVOYWQycENMRVZCUVZVclFpeExRVUZOYmtJc1JVRkJaMEoyT0VJc1IwRkRMMElzVFVGQlVUUkVMRWRCUjFRc1IwRkJTM1ZWTEVWQlEwb3NUVUZCVFhaVkxFVkJTVkExUkN4SFFVRlBMRVZCUVVjMFJDeFRRV2hEV0RWRUxFZEJRVThzUlVGQlJ5eG5Ra0Z4UTFnc1UwRkJVMEVzUlVGQlRTczRRaXhGUVVGUldTeEZRVUZyUWtNc1JVRkJWMHdzUjBGRGJrUXNTVUZCU1Uwc1JVRkJWMG9zUlVGQlUyeG5ReXhGUVVGUGRXZERMRVZCUVZWRExFVkJRM2hEWkN4RlFVRmhWU3hGUVVkVWVHeENMRWxCU1V4QkxFZEJRVmtzUlVGSFVEUnFRaXhIUVVOS05XdERMRVZCUVU4d09VSXNZVUZCWTJ0SUxFZEJTM1JDU2l4UFFVRlpNU3RDTEVWQlIxbzBLMElzUlVGQmQwSXdRaXhIUVVGWExFZEJSMjVETTBRc1JVRkJUWEpvUWl4WFFVRmhkMnRDTEVWQlFWTXNSVUZCU1N4RlFVRkpMRVZCUjNCRFl5eEZRVUZaWkN4SFFVRlZMRXRCUVU5QkxFVkJRVk1zUzBGQmEwSXNUVUZCV0VFc1JVRkhlRU5oTEVsQlEwcEZMRVZCTjJ4Q1NpeFRRVUU0UW5SR0xFVkJRVWR2UWl4RlFVRlBaMFVzUjBGUGRrTXNTVUZNUVN4SlFVRkpTU3hGUVVGSmFteERMRVZCUVUxcmJFTXNSVUZCWlVNc1JVRkROVUk1Y2tJc1JVRkJWMjl0UWl4RlFVRkZjRzFDTEZOQlEySnpia0lzUlVGQldXeENMRVZCUVVWclFpeFZRVWRaTEUxQlFXNUNRU3hGUVVGWExFbEJRMnhDUVN4RlFVRlZiREJDTEdGQlEwVjJTU3hKUVVGUUsyZERMRWxCUTBwQkxFVkJRVXQ0Uml4RlFVRkZjMFVzVlVGQldXeEVMRVZCUVUwNFF5eHJRa0ZCYlVJc2FVSkJTemxETEVkQlFVdHpRaXhGUVVOS0xFbEJRVTFxYkVNc1MwRkJVWEZhTEVWQlEySXNSMEZCUzBFc1JVRkJWWEphTEVsQlFWVnhXaXhGUVVGVmNsb3NSMEZCVHpaTUxFdEJRVTF2TlVJc1IwRkJUeXhEUVVOMFJIUkZMRVZCUVZVemQwSXNVVUZCVTJoUkxFZEJRMjVDTEUxQlRVZ3NSMEZCU3pKblF5eEZRVUZYTEV0QlFVOXJSU3hGUVVOMFFrc3NSVUZCWjBKMlJTeEZRVUZYTEU5QlEzSkNMRU5CUjA0c1NVRkJUVE5uUXl4TFFVRlJObXRETEVWQlFWa3NRMEZEZWtJc1NVRkJUV3hGTEVWQlFWY3NTVUZCVDJ4Q0xFVkJRVVY1UXl4WFFVRlpiR2xETEVWQlFVOHNTVUZCVFRKblF5eEZRVUZYTEVsQlFWRXNRMEZEY2tWMVJTeEZRVUZuUW14c1F5eEZRVU5vUWl4TlFVVkxiV3hETEVsQlEweEJMRVZCUVdkQ2JteERMRWRCUzJ4Q2EyeERMRVZCUVdkQ1FTeEhRVUZwUWtNc1JVRk5iRU1zUjBGQlMwUXNSVUZKU2l4UFFVaExRU3hKUVVGclFuWkZMRVZCUVZjc1NVRkRha05CTEVWQlFWVXpkMElzVVVGQlUyc3hRaXhIUVVWaVRDeEZRVUZYU3l4SFFUQnBRa3hGTEVOQlFYRkNNMFlzUlVGQlIyOUNMRVZCUVU5blJTeExRVWx5UTBNc1IwRkRUREZxUXl4RlFVRlBOa1FzVVVGQlV5eFRRVUZWZHpaQ0xFVkJRVVZyUWl4WlFVRmxMRWRCUXpORGRpOUNMRVZCUVU4MlJDeFJRVUZUTEU5QlFWRjNOa0lzUlVGQlJXdENMRmRCUVdNc1NVRkRlRU5zUWl4RlFVRkZlVU1zVjBGQldTeGxRVUZyUWl4alFVbHFRelpETEVWQk9XbENTQ3hUUVVGelFuUkdMRVZCUVVkelJpeEZRVUZWYkVVc1JVRkJUMmxGTEVkQlEzcERMRWxCUVVsUExFVkJRVTlETEVWQlFWTkRMRVZCUVUxNE1rSXNSVUZCUzNWTExFVkJRemxDTkc5Q0xFVkJRV0VzUjBGSFluWkNMRVZCUVZsc1FpeEZRVUZGYTBJc1ZVRkJWV2hwUXl4UlFVZDZRaXhIUVVGTFoybERMRVZCUVZjc1IwRkRaaXhKUVVGTk5FVXNTMEZCVVRsR0xFVkJRVVY1UXl4WFFVTm1RU3hGUVVGWmNVUXNSVUZCU3pFdlFpeGxRVUZyUWpRMVFpeEZRVUZGZVVNc1YwRkJXWEZFTEVkQlQyNUVMRWxCU0VGRUxFVkJRVlV6UlN4RlFVRlZiREJDTEZGQlIxbzJORUlzUjBGalVDeEhRVnBMTjBZc1JVRkJSWGRETEdWQlFXZENjVVFzUzBGRGRFSjZSU3hGUVVGUGNFSXNSVUZCUlhkRExHVkJRV2RDY1VRc1NVRkJZMUFzU1VGSmJFTjZja0lzUjBGQlVYZHlRaXhIUVVGaGNrWXNSVUZCUlN0R0xHRkJRelZDVkN4RlFVRlhkRVlzUlVGQlJTdEdMRmRCUVZsVUxFVkJRVlYwUml4RlFVRkZhVUlzVjBGSGRFTndia0lzUlVGQlQyZHpRaXhGUVVOUVFTeEZRVUZWTTBVc1JVRkJWV3d3UWl4UlFVdHVRaXhIUVVGcFFpeE5RVUZhTmpSQ0xFVkJSVXBCTEVWQlFWVm9jMElzVDBGSFNpeEhRVUZqTEUxQlFWUkJMRWRCUVdkQ1FTeEpRVUZUWjNOQ0xFVkJRVlVzUTBGTk9VTXNTMEZJUVVNc1JVRkJUM0pFTEVWQlFWazFiMElzUlVGQlR5eEpRVUZOWjNOQ0xFbEJRV0Z3UkN4RlFVRlpMRXRCUVU5dlJDeEpRVWt2UkN4SlFVRk5SQ3hMUVVGVGJrUXNSVUZKWkN4SlFVUkJibnBDTEVWQlFVMXpNa0lzUlVGQlRURXZRaXhOUVVGUExFMUJRMVFzUzBGQlVUSXZRaXhKUVVkcVFrTXNSVUZCVDNKRUxFVkJRVmsxYjBJc1JVRkJUeXhKUVVGTmRrc3NSVUZCU3l4TFFVTndRMjE2UWl4RlFVRlpMRXRCUVU5dWVrSXNSVUZCU3l4TFFVTmlMRVZCUjBjc1NVRkJWSGN5UWl4RlFVTktRU3hGUVVGUGNrUXNSVUZCV1cxRUxFbEJSMmRDTEVsQlFYaENia1FzUlVGQldXMUVMRXRCUTNaQ1F5eEZRVUZWZGpKQ0xFVkJRVXNzUjBGRFpqUjRRaXhGUVVGVk0zZENMRkZCUVZOcVFpeEZRVUZMTEV0QlJYcENMRTFCVDBvc1NVRkJZeXhKUVVGVWR6SkNMRVZCUjBvc1IwRkJTMEVzUjBGQlVUbEdMRVZCUVVWblJ5eFBRVU5rVml4RlFVRlhVU3hGUVVGTlVpeFJRVVZxUWl4SlFVTkRRU3hGUVVGWFVTeEZRVUZOVWl4SFFVTm9RaXhOUVVGUmJEWkNMRWRCUTFRc1RVRkJUeXhEUVVOT05GSXNUVUZCVHl4alFVTlFhbGtzVFVGQlR5dG5ReXhGUVVGUE1UWkNMRVZCUVVrc2MwSkJRWGRDZVU4c1JVRkJUeXhQUVVGVFozTkNMRWxCVTJwRkxFMUJRVThzUTBGQlJUZHZRaXhOUVVGUExGVkJRVmR6UlN4TFFVRk5aMnRDTEVkQmFXUndRbGNzUTBGQllXcEhMRVZCUVVkelJpeEZRVUZWYkVVc1JVRkJUMmxGTEVkQlIzWkRRU3hIUVVkRGNrWXNSVUZCUlRoRkxHTkJRMDVUTEVWQlFWZHVSU3hGUVVGTk9FTXNhMEpCUVcxQ0xHOUNRVVZ1UTNacFF5eEZRVUZQYldkRExHRkJRV056UWl4SFFVRmhiVU1zU1VGRmJrTkJMRVZCUVZkdVJTeEZRVUZOT0VNc2EwSkJRVzFDTEZkQlJXNURkbWxETEVWQlFVOXZaME1zUzBGQlRYRkNMRWRCUVdGdFF5eEpRVXRhTEUxQlFWaG9RaXhIUVVFMlFpeFRRVUZZZGtVc1JVRkJSWG92UWl4TFFVTjRRbXRyUXl4RlFVRmhMRmxCUjFNc1RVRkJXRVlzUlVGRFdFVXNSVUZCWVN4bFFVbGlRU3hGUVVGaFlTeEZRVUZUZEc5Q0xFMUJRM1JDYVc5Q0xFVkJRVlZMTEVWQlFWTm9hMElzUzBGRmJrSXJha0lzU1VGRVFYUm5ReXhGUVVGUmRXZERMRVZCUVZOMlowTXNWVUZOYkVKQkxFVkJRVkV3TDBJc1IwRkRTRVlzUjBGQlYwVXNTVUZEWmtFc1JVRkJZU3hSUVVOU1JpeEZRVUZUTEVsQlEySkJMRVZCUVZNc1MwRk5XbTVFTEVWQlFVMXRSQ3hQUVVGVFFTeEZRVU5tYmtRc1JVRkJUWEZFTEZsQlFXVlZMRWRCUVc5Q1ZpeEhRVUZsTEVkQlIyNUVXU3hGUVVOS2JtOUNMRVZCUVZOdFFpeFpRVUZoYzJ4Q0xFVkJRV2xDTEVOQlFVVnpRaXhGUVVGVFVpeEZRVUZaY2tRc1NVRkZPVVJzYTBJc1JVRkJVM1ZDTEZkQlFWbHJiRUlzUlVGQmFVSXNRMEZCUlhaRExFVkJRVTl4UkN4RlFVRlpNUzlDTEVsQlNUVkVjVGhDTEVWQlFVMHdReXhYUVVGWlFTeEhRVU5zUWtFc1QwRkJZWEl2UWl4RlFVVlNaeTlDTEVkQlEwcEhMRVZCUVcxQ00ySXNVVUZCVTI5a0xFVkJRVmtzWTBGQlowSXNXVUZEZGtRc1EwRkJSV3BGTEVWQlFVOXdRaXhGUVVGSGNVWXNSVUZCV1Vvc1JVRkJWV3huUXl4SlFVbHdRemdyUWl4RlFVRnBRbXB1UWl4VFFVRlZLMjFDTEVWQlFXbENMRU5CUVVWMlF5eEZRVUZQY1VRc1NVRkZhRVJvUWl4SlFVTktSeXhGUVVGdFFqTmlMRkZCUVZNc1pVRkJaMElzUTBGQlJXMWFMRVZCUVU5d1FpeE5RVWN6UTNJclFpeEZRVUZQYTJkRExGRkJRMmhDYkdkRExFVkJRVTgwYkVJc1RVRkJUVlVzVVVGQlV5eGpRVXQ2UWl4UFFVRlBiVm9zUjBGSFVqaEZMRkZCUVZNc1UwRkJWV3hGTEVWQlFVc3haMElzUlVGQlRYaGxMRWRCUXpkQ0xFOUJRVTl1UWl4RlFVRlBWeXhKUVVGTE1DOUNMRVZCUVVzeFowSXNSVUZCVFhobExFVkJRVlVzVTBGSGVrTnhha01zVlVGQlZ5eFRRVUZWYmtVc1JVRkJTMnd2UWl4SFFVTjZRaXhQUVVGUGJrSXNSVUZCVDFjc1NVRkJTekF2UWl4UFFVRkxkamxDTEVWQlFWY3pRaXhGUVVGVkxHRkJTUzlEYmtJc1JVRkJUMnRDTEV0QlFVMHNRMEZCUlN4TlFVRlBMRkZCUVZVc1UwRkJWWE5FTEVWQlFVbHZWaXhIUVVNM1F6VmFMRVZCUVZFMFdpeEhRVUZYTEZOQlFWVjViVUlzUlVGQlN6Rm5RaXhGUVVGTmVHVXNSVUZCVlhaRExFZEJWV3BFTEU5QlVFdE9MRVZCUVZseGFFSXNTMEZEYUVJdlowSXNSVUZCVDBFc1IwRkJVWFZETEVWQlEyWkJMRVZCUVZkM1pTeEZRVU5ZUVN4UFFVRlBOMk1zUjBGSlJEbERMRVZCUVU5MWFFTXNTMEZCVFhab1F5eEZRVUZQYlVNc1QwRkJVU3hEUVVOc1Eyc3JRaXhKUVVGTFFTeEZRVU5NZW1oRExFdEJRVTFuWWl4RlFVTk9NR3hDTEZOQlFWVXhaME1zUlVGRFZpdG5RaXhMUVVGTlFTeEZRVU5PTW1wQ0xGRkJRVk51YVVNc1IwRkRVRzVDTEVWQlFVOHlReXhqUVVGbE1EbENMRWxCUVZOQkxFOUJTWEJEY21kRExFVkJRVTl4YUVNc1kwRkJaU3hUUVVGVmFFUXNSMEZETDBJc1NVRkJTV292UWl4RlFVTktMRWxCUVUxQkxFdEJRVXRwTDBJc1JVRkJSU3RGTEZGQlEyRXNhVUpCUVhCQ2FHdERMRVZCUVVWeFJpeG5Ra0ZEVGpRMVFpeEZRVUZGY1VNc1dVRkJZM0pETEVWQlFVVXJSU3hSUVVGVGFHdERMRWxCUVU4c1RVRk5ja05aTEVWQlFVODBjMElzVTBGQlZ5eFRRVUZWZVZRc1JVRkJTMm9yUWl4RlFVRlRha1FzUjBGRGVrTXNUMEZCVDJFc1JVRkJUM1ZvUXl4TFFVRk5MRU5CUTI1Q2JFSXNTVUZCUzBFc1JVRkhUSHBvUXl4TFFVRk5MRTFCUTA0d1owTXNVMEZCVlN4VFFVTldjREJDTEU5QlFVOHNSVUZEVUhVeFFpeFBRVUZQTEVWQlExQm9hME1zVVVGQlVTeEZRVXRTY1d0RExGZEJRVmtzUTBGRFdESkVMR05CUVdVc1kwRkZhRUpNTEZkQlFWa3NVMEZCVlZRc1IwRkRja0l6YWtNc1JVRkJUekJFTEZkQlFWbHBaME1zUlVGQlZYWm9ReXhGUVVGVGFrUXNUMEZOZWtOaExFVkJRVTlITEVkQlFVZG5ReXhQUVVGUkxFTkJRMnBDZFdsRExGRkJRVk1zVTBGQlZTOVlMRWRCUTJ4Q0xFbEJRVWt2U0N4RlFYbENTaXhQUVhaQ1N6TnVRaXhMUVVGTkxFdEJRMHh4UWl4RlFVRlpjWFZDTEV0QlEyaENRU3hGUVVGUFFTeEZRVUZMYW5aQ0xFdEJRVTFVTEV0QlFVMHNTMEZKZWtJeWJrSXNSVUZCVHpWclFpeEZRVUZSTW5OQ0xFVkJRVTB4ZGtJc1MwRkJUU3hIUVVGSmFVNHNaVUZCWjBJeFNTeEhRVUZKTEVkQlFVbG5RaXhQUVVGUExFZEJSWHBFZGtZc1MwRkJUU3hIUVVGSk5FTXNXVUZEWkN0clFpeEZRVUZMTWtrc1lVRkJZM1IzUWl4TFFVRk5MRWxCUnpGQ01tNUNMRVZCUVV0NGFrSXNTVUZCU3l4WFFVZFVMRWxCUmtFc1NVRkJTVU1zUlVGQlQzQkZMRXRCUlVodlJTeEZRVUZMYzJwRExHMUNRVU5hZEdwRExFVkJRVTlCTEVWQlFVdHpha01zYTBKQlIySXNUMEZCVDNScVF5eEpRVU5LWjNOQ0xFOUJRVkZ3ZDBJc1QwRkhUa0VzVFVGSFVqSnVReXhWUVVGWExGTkJRVlZxV1N4SFFVTndRaXhQUVVGTGNuVkNMRVZCUVZseGRVSXNSMEZEVkRGMlFpeExRVUZMYVVVc1MwRkJUU3hUUVVGVk9VSXNSMEZETTBKWkxFVkJRVkV2UXl4TlFVRlBNbTVETEZWQlFWZHFXU3hGUVVGTGFuWkNMRXRCUVUxVUxFdEJRVTF0UXl4TlFVbDBRMjVETEV0QlFVdHBSU3hMUVVGTkxGZEJRMnBDTEVsQlFVbDNWeXhGUVVGUE1WZ3NSVUZCVVM5RExFMUJRMnhDWjJJc1JVRkJWMUFzUlVGQlMwOHNWMEZGV2tFc1JVRkJVek5ZTEU5QlEySXlXQ3hGUVVGVGVYTkNMRkZCUVZNdldDeEhRVWRzUW1wV0xFVkJRVXN5Vml4UFFVRlJWaXhOUVV0b1FpOUlMRXRCUVUwc1UwRkJWU3RJTEVkQlEyWXNTVUZCU1d0WkxFVkJRV2xDZG0xRExFVkJRVmx4ZFVJc1IwRkZha01zVDBGQlR6RjJRaXhMUVVGTGFVVXNTMEZCVFN4VFFVRlZPVUlzUjBGRE0wSlpMRVZCUVZFdlF5eE5RVUZQZVc1RExGRkJRVk5ITEVWQlFXbENiRmtzUlVGQlMycDJRaXhMUVVGTlZDeExRVUZOYlVNc1IwRkJUWFYwUWl4TlFVbHNSVzFaTEU5QlFWRXNVMEZCVlRkclF5eEhRVWxxUWl4UFFVaEJhRVFzUzBGQlMydFZMRTlCUVZGc1VpeEhRVUZYTWxJc1NVRkJTeXhSUVVGVE1WRXNTMEZCVFN4WFFVTXpRMnhDTEVWQlFWRXZReXhOUVVGUGVYZENMRmxCUVdGNmQwSXNTMEZCUzNWTkxHTkJSVE5DZGswc1VVRkxWQ3RETEVWQlFVODJUeXhMUVVGTGFFa3NVVUZCVVN0MlFpeFBRVUZUTEZOQlFWVjJNVUlzUjBGRGRFTXNUMEZCVVhKQ0xFVkJRVTgyVHl4TFFVRkxhRWtzVVVGQlVXc3JRaXhSUVVGVE1XcERMRWxCUlhSRGNrSXNSVUZCVHpaUExFdEJRVXRvU1N4UlFVRlJheXRDTEZGQlFWVXNVMEZCVlRGcVF5eEhRVU4yUXl4VFFVRlhRU3hGUVVGTE1uVkNMR0ZCUVdVemRVSXNSVUZCU3poMlFpeGpRVUZuUWpsMlFpeEZRVUZMTm5oQ0xHbENRVUZwUWpWNVFpeFRRVTB6UlU0c1JVRkJUMmxuUXl4aFFVRmhLMFVzU1VGQlRTeFhRVU42UWl4SlFVTkRMRTlCUVU4c1NVRkJTV2h2UXl4RlFVRlBhVzlETEdWQlEycENMRTFCUVZGNE4wSXNUVUZIV0N4SlFVRkplVGRDTEVkQlFXMUNMRU5CUjNKQ1F5eEZRVUZITEVsQlNVaERMRXRCUVUwc1MwRkZVRU1zUjBGQlpYSnNReXhGUVVGUGFXZERMR0ZCUVdFclJTeE5RVVZ3UXpOdFF5eEZRVUZSYVc1RExFOUJRVk5FTEVsQlFXdENMRzlDUVVGeFFrRXNSMEZEZUVSb2JrTXNSVUZCVVd0cVF5eExRVUZQT0VRc1MwRkJhVUpCTEVkQlJXaERjbXhETEVWQlFVOXphRU1zWTBGQlpTeFRRVUZWYkM5Q0xFZEJReTlDTEVsQlFVbHFRaXhGUVVGVmIydERMRVZCUjJRc1IwRkJTMnh1UXl4RlFVRlJhVzVETEUxQlFWRkVMRXRCUVdsQ2FtcERMRVZCUVZFMFowTXNXVUZETjBNc1RVRkJUeXhEUVVOT1R5eExRVUZOTEZOQlFWVklMRVZCUVZOb1RDeEhRVU40UWl4SlFVRkphRFZDTEVWQlEwZzBiRU1zUlVGQlRUVnBReXhGUVVGUk5HbERMRTFCVjJZc1IwRlVRVUVzUlVGQlNWRXNTMEZEU0hCcVF5eEZRVUZSZUVRc1MwRkRVbmRFTEVWQlFWRnBLMElzU1VGRFVtb3JRaXhGUVVGUmNTdENMRTFCUTFKeUswSXNSVUZCVVhGcVF5eFRRVU5TY21wRExFVkJRVkZ0VWl4VlFVbEtibElzUlVGQlVYTnFReXhWUVVOYUxFbEJRVTEwYlVNc1MwRkJTMmRFTEVWQlFWRnpha01zVlVGRGJFSldMRVZCUVVzMWJFTXNSMEZCVFdkRUxFVkJRVkZ6YWtNc1ZVRkJWM1J0UXl4SFFXMUNhRU1zU1VGQlRVRXNTMEZrUkdkRUxFVkJRVkYxWjBNc1ZVRkJXWEZETEVWQlFVbDBReXhyUWtGRE5VSnpReXhGUVVGSmRFTXNhVUpCUVd0Q2RHZERMRVZCUVZGMVowTXNWVUZSZWtKMlowTXNSVUZCVVRSblF5eGhRVUZuUWtrc1JVRkJVeXh6UWtGRGRFTkJMRVZCUVZNc2IwSkJRWFZDTEd0Q1FVbDBRa0VzUlVGRFZqUkNMRVZCUVVsMlF5eHBRa0ZCYTBKeWFrTXNSVUZCUjJkclF5eEZRVUZUYUd0RExFbEJTVzVESzBJc1JVRkJWeXhUUVVGVmRrTXNSMEZEY0VJc1QwRkJUeXhYUVVORWRVTXNTVUZEU2tFc1JVRkJWMjlyUXl4RlFVRm5RbEFzUlVGQlNWY3NUMEZET1VKWUxFVkJRVWxaTEZGQlFWVmFMRVZCUVVsaExGRkJRVlZpTEVWQlFVbGpMRlZCUXk5Q1pDeEZRVUZKWlN4dFFrRkJjVUlzUzBGRllpeFZRVUZVYm01RExFVkJRMHB2YlVNc1JVRkJTVzVETEZGQlEyZENMRlZCUVZScWEwTXNSVUZMWjBJc2FVSkJRV1p2YlVNc1JVRkJTWEJETEU5QlEyWjRTeXhGUVVGVkxFVkJRVWNzVTBGRllrRXNSVUZIUXpSTkxFVkJRVWx3UXl4UFFVTktiME1zUlVGQlNXeERMRmxCU1U0eFN5eEZRVU5ET0Uwc1IwRkJhMEpHTEVWQlFVbHdReXhUUVVGWmIwTXNSVUZCU1hCRExFOUJRM1JEYjBNc1JVRkJTV3hETEZkQlN5dENMRlZCUVdwRGEwTXNSVUZCU1dkQ0xHTkJRV2RDTEZOQlEwMHNhVUpCUVhKQ2FFSXNSVUZCU1dsQ0xHRkJRMVlzUTBGQlJVTXNUMEZCVVd4Q0xFVkJRVWx5UWl4VlFVTmtMRU5CUVVWdWEwTXNTMEZCVFhkc1F5eEZRVUZKYVVJc1kwRkRZbXBDTEVWQlFVbDRReXcwUWtGUlZIZERMRVZCUVVsWExFOUJRVk40YTBNc1NVRkRZbTlyUXl4RlFVRm5RbEFzUlVGQlNWa3NVVUZCVlZvc1JVRkJTV01zVlVGQldUTnJReXhGUVVGVkxHTkJTMjVETWtJc1NVRkJhRUpyYVVNc1JVRkJTV0VzVVVGRFVtSXNSVUZCU1dFc1VVRkJWVTRzUlVGRlpGQXNSVUZCU1dVc2JVSkJRWEZDTEZkQlIwRXNTVUZCYmtKbUxFVkJRVWsxYlVJc1dVRk5VbkJvUWl4RlFVRlBaMmRDTEZkQlFWa3NWMEZEWWpkaUxFZEJRMHB2YTBNc1QwRlJUSEJyUXl4RlFVRlhRU3hGUVVGVkxGTkJSWEpDTEVsQlIwTTJha01zUlVGQlNYcENMRXRCUVUxdWFFTXNSVUZCVVRoblF5eFpRVUZqT1dkRExFVkJRVkYxWkN4TlFVRlJMRTFCUXk5RExFMUJRVkZzVnl4SFFVZFVMRWRCUVV0MFNTeEZRVU5LTEUxQlFVMXpTU3hKUVV0VWJ6VkNMRTFCUVU4c1YwRkRSREZvUXl4SFFVTktRU3hSUVZkTWJrSXNSVUZCVDNGb1F5eGpRVUZsTEZOQlFWVm9SQ3hIUVVNeFFrRXNSVUZCUlRKRkxHTkJRMDR6UlN4RlFVRkZjRzFDTEZOQlFWTXpXU3hSUVVGVExFdEJTM1JDVlN4RlFVRlBiV2hETEZWQlFWY3NRMEZEYWtKU0xGRkJRVk1zUTBGRFVuSm9ReXhQUVVGUkxEWkdRVWRVTWxrc1UwRkJWU3hEUVVOVU0xa3NUMEZCVVN3eVFrRkZWSGRvUXl4WFFVRlpMRU5CUTFneVJDeGpRVUZsTEZOQlFWVnFiRU1zUjBGRmVFSXNUMEZFUVZFc1JVRkJUekJFTEZkQlFWbHNSU3hIUVVOYVFTeE5RVTFXVVN4RlFVRlBjV2hETEdOQlFXVXNVMEZCVlN4VFFVRlZhRVFzVVVGRGVFSjJOMElzU1VGQlduVTNRaXhGUVVGRmJucENMRkZCUTA1dGVrSXNSVUZCUlc1NlFpeFBRVUZSTEVkQlJVNXRla0lzUlVGQlJUSkZMR05CUTA0elJTeEZRVUZGZWk5Q0xFdEJRVThzVTBGTFdHOUNMRVZCUVU5emFFTXNZMEZCWlN4VFFVRlZMRk5CUVZWcVJDeEhRVWw0UXl4SlFVRkpMeXRDTEVWQlFWRTJRaXhGUVVSaUxFZEJRVXRyT1VJc1JVRkJSVEpGTEdGQlFXVXpSU3hGUVVGRk9FZ3NXVUZGZGtJc1RVRkJUeXhEUVVOT05VTXNTMEZCVFN4VFFVRlZjbkJDTEVWQlFVZHJaU3hIUVVOc1FqazBRaXhGUVVGVFZTeEZRVUZSTEZsQlEyWXJUeXhMUVVGTmMzWkNMRVZCUVVVNFNDeGhRVUZsTEVsQlEzWkNkbTFDTEV0QlFVMHNRMEZCUlhkdFFpeFJRVUZUTDBnc1JVRkJSV2RKTEdOQlFXVjRia01zU1VGQlMzY3ZRaXhGUVVGRlowTXNUVUZEZWtNM1lTeEhRVUZKTEdGQlFXTnlhMElzUlVGQlZ5eFRRVUZWYld4RExFZEJRM1pEYUc1RExFVkJRVTkzWWl4VFFVTlFNMW9zUlVGQlZ5eExRVU5PYld4RExFZEJRMHBzVHl4RlFVRjFRaXhWUVVGaWEwOHNSVUZCU1RGdVF5eExRVUZ0UWl4SlFVRk5MRWxCUVVzd2JrTXNSVUZCU1RGdVF5eFJRVXR1UkM5Q0xFVkJRVk00UXl4TFFVRkxReXhaUVVGaFRpeEZRVUZSTEV0QlJYQkRkV3BETEUxQlFVOHNWMEZEUkRGb1F5eEhRVU5LUVN4UlFWVk1MRWxCY1VkTGRXaENMRWRCY2tkRU5tcENMRWRCUVdVc1IwRkRiRUpETEVkQlFWTXNiMEpCUjFaNGJVTXNSVUZCVDIxb1F5eFZRVUZYTEVOQlEycENjMFlzVFVGQlR5eFhRVU5RUXl4alFVRmxMRmRCUTJRc1NVRkJTWFpzUXl4RlFVRlhiMnhETEVkQlFXRnFaME1zVDBGQlYzUkhMRVZCUVU4clF5eFJRVUZWTEVsQlFWRnFSU3hIUVVGTmMwWXNUMEZGZEVVc1QwRkVRVzVJTEV0QlFVMXJSU3hKUVVGaExFVkJRMXBCTEV0QlMxUnVRaXhGUVVGUGNXaERMR05CUVdVc1lVRkJZeXhUUVVGVmFFUXNSVUZCUjNOSkxFVkJRV3RDYkVnc1IwRkZiRVVzU1VGQlNXMUlMRVZCUVdORExFVkJRV0ZETEVWQlF6bENReXhIUVVGMVFpeEpRVUZhTVVrc1JVRkJSVzlKTEZGQlFYRkNSQ3hIUVVGUEx6ZENMRXRCUVUwMGVrSXNSVUZCUldkRExFdEJRMmhFTEUxQlEydENMR2xDUVVGWWFFTXNSVUZCUlRGbExFMUJSVFpETEV0QlJHNUVNR1VzUlVGQlJYRkRMR0ZCUVdVc1NVRkRha0kxYVVNc1VVRkJVeXh6UTBGRFdEQnZReXhIUVVGUEx6ZENMRXRCUVUwMGVrSXNSVUZCUlRGbExFOUJRVlVzVVVGSk5VSXNSMEZCUzI5dVFpeEhRVUZwUXl4VlFVRnlRakZKTEVWQlFVVnJRaXhWUVVGWExFZEJPRVEzUWl4UFFUTkVRWEZJTEVWQlFXVjJTU3hGUVVGRmNVa3NZMEZCWjBKd2IwTXNSVUZCV1NzdlFpeEZRVUZGY1Vrc1pVRkRPVU55U1N4RlFVRkZjVWtzWjBKQlEwWnlTU3hGUVVGRmNVa3NZMEZIUlVzc1JVRkRTakZKTEVWQlFVY3dTU3hIUVVGaE1Va3NSVUZCUnpCSkxFZEJRVmMzYWtNc1VVRkJVM05xUXl4SFFVRlJMRXRCUVU5SkxFbEJReTlDTEVsQlFWcDJTU3hGUVVGRmIwa3NVVUZEWW5CSkxFVkJRVVZuUXl4TlFVRlROVU1zUjBGQlQyaDZRaXhMUVVGTk5IcENMRVZCUVVWblF5eExRVUZSTEVsQlFVMHNTMEZCVVdoRExFVkJRVVZ2U1N4TlFVRlJMRWxCUVUxSExFZEJTV3BGZGtrc1JVRkJSWGxETEZkQlFWa3NaVUZCYTBJc1YwRkpMMElzVDBGSVRXZEhMRWRCUTB3NWJVTXNSVUZCVDI5RUxFMUJRVTkzYWtNc1JVRkJaU3h0UWtGRmRrSkZMRVZCUVcxQ0xFbEJTVE5DZWtrc1JVRkJSV3RDTEZWQlFWY3NSMEZCVFN4UFFVZHVRbk5JTEVWQlFXTTNjRU1zUlVGQlVUUndReXhIUVVOMFFqVndReXhGUVVGUk5IQkRMRWRCUVdsQ0xGZEJRM2hDUlN4RlFVRnZRbmhzUXl4WFFVbHlRbTByUWl4RlFVRk5ibXRDTEU5QlFWRXNaMEpCUjFGNFdTeEpRVUZvUWl0cVF5eEZRVU5LTjIxRExFVkJRVkZvUkN4SFFVRlRNQ3RDTEZkQlFWbHJUQ3hIUVVrM1FqVndReXhGUVVGUk5IQkRMRWRCUVdsQ1F5eEZRVWx5UW5oSkxFVkJRVWQxU1N4TFFVZFFka2tzUlVGQlJYRkpMR05CUVdkQ1F5eEZRVUZwUWtRc1kwRkhia05JTEVkQlFXRXhiME1zUzBGQlRTdHZReXhKUVVsbVJTeEhRVUZ4UW5odlF5eEZRVUZaZFc5RExFbEJRM0pEUVN4RlFVRmhReXhGUVVGdFFpeEpRVWRxUTBFc1JVRkJiMEpFTEU5QlFXTXZha01zU1VGSk5VSXNWMEZaVkhwRkxFVkJRVkV5YjBNc2NVSkJRMGgwYTBJc1IwRkJUemRzUWl4RlFVRlRiM0ZETEdWQlFXVkVMRzFDUVVGdlFpeEpRVUZMZEd0Q0xFMUJRM1pFTjFVc1ZVRkJXU3cyUWtGRGFVSXNTVUZCTTBJMlZTeEhRVUZMYkZvc1YwRkJWMnhLTEZGQlVYaENUaXhGUVVGUE5GZ3NWVUZCV1N4VFFVRlZLMGdzUlVGQlRYcG1MRVZCUVZObmJrTXNSMEZETTBNc1RVRkJjVUlzYVVKQlFWUjJia0lzUlVGRFNpeEpRVVZuUWl4clFrRkJXbnBtTEVsQlExaG5ia01zUlVGQlkyaHVReXhGUVVOa1FTeEhRVUZWTEVkQlMweEJMRWxCU1VFM1FpeEZRVUZSTW05RExIRkNRVTFhYm5wQ0xFZEJURUV6VkN4RlFVRlZja1FzUlVGQlUyOXhReXhsUVVGbFJDeHRRa0ZCYjBJc1MwRkxka042YmtNc1kwRkJaU3hUUVVONlFtbFVMRXRCUVU4elZpeEZRVUZUYzFZc1UwRkJVMHNzUzBGRE9VSjBVeXhGUVVGUlVDeExRVUZMUXl4WlFVRmhhVlVzU1VGRk1VSXpWQ3hGUVVGVmNrUXNSMEZMV2pSdVFpeEhRVUZYZVdsQ0xFZEJRV1VzU1VGRU1VSkRMRVZCUVZNMWRrSXNSVUZCVjNCT0xFdEJRVTEzVml4SlFVdHNRaXhEUVVGRmVtWXNSVUZCVVZnc1kwRkJaVFJ1UXl4RlFVRlJMRTFCUjNwRFFTeEZRVUZUTTJsQ0xFZEJRV1VzUTBGQlJUZEZMRWRCUVZGNlppeEZRVUZUZFd0Q0xFZEJSWFJEUVN4SFFVRlhRU3hGUVVGUmJtdENMRkZCUTNaQ1RpeEZRVUZSZVd0Q0xFZEJRVlV6U2l4VFFVZGFPV0VzUlVGQlQyZENMRTFCUVU4c1IwRkJTVzF0UXl4RlFVRlBNemxDTEdOQmJFTm9ReXhKUVVGSmNVc3NSVUZCVFhONlFpeEZRVUZSTVdsQ0xFZEJlVU51UW5wclFpeEZRVUZQUnl4SFFVRkhNRzlDTEV0QlFVOHNVMEZCVlhkWUxFVkJRVXNyUnl4RlFVRlJhbTFETEVkQlEzWkRMRWxCUVVsc1FpeEZRVUZWY2tJc1JVRkJUU3RyUXl4RlFVTnVRbXB6UWl4RlFVRlBlbUVzUzBGRFVEUnZRaXhGUVVGTmQyRXNSVUZCU1hacFF5eFJRVUZUTEV0QmMwUndRaXhQUVhCRVN5dHVRaXhIUVVGUExFbEJRMWcxYkVJc1JVRkJWM00zUWl4SFFVRnJRamhGTEVWQlFVazVhVU1zVFVGQlQzTnZRaXhKUVVONFEzZGhMRVZCUVUxQkxFVkJRVWs1YVVNc1RVRkJUeXhGUVVGSGMyOUNMRWxCU1doQ2RtNUNMRVZCUVZrNGIwTXNTVUZIYUVKcWJVTXNSVUZCVjJsdFF5eEZRVU5ZUVN4UFFVRlRkR3RETEVkQlIwVnphME1zUjBGQk5FSXNhVUpCUVZoQkxFbEJRelZDZUc5RExFVkJRVThzVVVGSlNEaFpMRVZCUVV0d1dDeFBRVUZUTEVkQlEyeENUaXhGUVVGUGRXaERMRXRCUVUwc1EwRkRXbXhDTEVsQlFVdEJMRVZCUzB4NmFFTXNTMEZCVFVFc1IwRkJVU3hOUVVOa01HZERMRk5CUVZVc1QwRkRWak5tTEV0QlFVMTVia0lzU1VGRFNIWm9ReXhMUVVGTkxGTkJRVlZ2WjBNc1IwRkhia0owUXl4RlFVRlhjbWxETEZWQlJWaHZWeXhGUVVGTGFWWXNTMEZCVFRGelFpeEZRVWxXUkN4RlFVRlJMRk5CUVZWeGRFSXNUMEZCVVhKMFFpeEZRVUZQTkZnc1ZVRkJWM0YxUWl4SlFVRnBRbm8wUWl4TFFVRk5kazRzUjBGSGJrVm5iVU1zUzBGTFJUTnhRaXhQUVVGUmJtRXNSMEZCV1N4VFFVRlZjeXRDTEVWQlFVOXRSQ3hIUVVONFEyeHlRaXhGUVVGTGVGY3NTMEZCVFN4WFFVTldReXhGUVVGVGRrUXNUVUZCVDFnc1MwRkJUVEJ0UXl4SFFVRlpMRU5CUVVWc1JTeEZRVUZOZDBjc1lVRkJZM0pFTEVWQlFWRnVSQ3hSUVVzMVJIaHBReXhOUVUxU0swTXNSVUZCVHpaUExFdEJRVXRvU1N4UlFVRlJkMmRETEZOQlFWY3NVMEZCVldodFF5eEhRVU40UXl4UFFVRlBja0lzUlVGQlR6SkNMRXRCUVUwelFpeEZRVUZQTmpWQ0xFOUJRVkVzVTBGQlZURTFRaXhIUVVNMVF5eFBRVUZQYTBJc1NVRkJVMnhDTEVWQlFVZHJRaXhQUVVOb1FtWXNVVUZOVEU0c1JVRkJUM051UXl4UFFVRlRMRU5CUTJaRExGVkJRVmNzVTBGQlZXeHRReXhGUVVGTlpTeEZRVUZUYUVRc1IwRkRia01zU1VGQlNXOXZReXhGUVVGaFF5eEZRVUZUUXl4RlFVRlhReXhGUVVGUlF5eEZRVUZYUXl4RlFVTjJSQzlZTEVWQlFWYzVka0lzUlVGQlR6Um9RaXhKUVVGTGRtZENMRVZCUVUwc1dVRkROMEo1YlVNc1JVRkJWVGx1UXl4RlFVRlJjVUlzUjBGRGJFSTJia0lzUlVGQlVTeEhRVWRUTEZkQlFXSTBSeXhKUVVOS2VuVkNMRVZCUVV0eFowSXNUVUZCVFc5UExGTkJRVmNzV1VGSGRrSTRXQ3hGUVVGWlJTeEZRVUZSVWl4VFFVTndRa2tzUlVGQldURnVReXhGUVVGUE5HaENMRWxCUVV0MlowSXNSVUZCVFN4UFFVTTVRbmR0UXl4RlFVRmhOMjVETEVWQlFVODBhRUlzU1VGQlMzWm5RaXhGUVVGTkxGTkJRMGtzWVVGQllubDFRaXhIUVVGM1F5eFZRVUZpUVN4TFFVTTVRelJZTEVWQlFWbEhMRWRCUVdFdmNFTXNVVUZCVXl4VFFVRlpMRWRCVFdoRU5uQkRMRWRCUkVGSUxFVkJRV05OTEVWQlFWRm9XU3haUVVORUwybENMRWxCUTNKQ01EWkNMRVZCUVZWRUxFVkJRVmw2VXl4UFFVZDBRalJUTEVWQlFWTjRXQ3hYUVVGWmRWZ3NTVUZCWlN4RlFVTndRMFFzUlVGQlZYUllMRmRCUVZrd1dDeEpRVUZuUWl4SFFVZHNRM1p3UXl4RlFVRlpPRVFzUzBGSGFFSkJMRVZCUVZWQkxFVkJRVkV4UlN4TFFVRk5Na1FzUlVGQlRXcERMRVZCUVVkWkxFVkJRVTl0UXl4UFFVRlJMRWRCUVVsNWJFTXNTMEZIYWtNc1RVRkJabmhzUXl4RlFVRlJNa3NzVFVGRFdtMWpMRVZCUVUxdVl5eEpRVUZSTTBzc1JVRkJVVEpMTEVsQlFVMDJOa0lzUlVGQlZUYzJRaXhKUVVGUk5EWkNMRWRCUlRGQ0xFMUJRV2hDZG14RExFVkJRVkV5ZVVJc1QwRkRXamRNTEVWQlFVMDJUQ3hMUVVGVE0zbENMRVZCUVZFeWVVSXNTMEZCVHpaVExFVkJRVlUzVXl4TFFVRlRNRk1zUjBGSE4wTXNWVUZCVjNKc1F5eEZRVU5tUVN4RlFVRlJNbXhETEUxQlFVMXljVU1zUzBGQlRUSkVMRVZCUVUwMmJrSXNSMEZITVVJMFpTeEZRVUZSYkcxQ0xFbEJRVXR6U0N4TFFVdG9RbXh3UWl4RlFVRlBSeXhIUVVGSFowTXNUMEZCVVN4RFFVZHFRbTFzUXl4UFFVRlJMRk5CUVZWc2JFTXNSMEZIYWtJc1IwRkJTMlFzVlVGQlZXaENMRTlCUTJRc1dVRkJiVUozUXl4SlFVRmFWaXhGUVVOT2JrWXNTMEZEUVVFc1MwRkJTMmxGTEV0QlFVMHNVMEZCVlRsQ0xFZEJRM0JDV1N4RlFVRlBjMjVETEU5QlFVOURMRlZCUVZkMGNVTXNTMEZCVFcxR0xFVkJRVk5vUkN4TFFVa3pReXhKUVVGSk5HOURMRVZCUVUxRExFVkJRMVExYlVNc1JVRkJUM0JGTEV0QlFVMHNSMEZGWkN4UFFVRk5iMFVzUlVGUlFVRXNSVUZCU3paNFFpeHBRa0ZCYVVJMWVVSXNVVUZMTlVJd2JrTXNSVUZCVHpOdFF5eEZRVUZMZDNwQ0xIZENRVU5hYjFRc1JVRkJUVFZ0UXl4RlFVRkxOa2tzWTBGQll6UkRMRmxCUTJ4Q0xFTkJRMDVETEVsQlFVdHBOMElzUlVGQlMybzNRaXhKUVVGTmF6ZENMRVZCUVVsRExGbEJRM0JDYmxRc1MwRkJUV2xVTEVWQlFVdHFWQ3hMUVVGUGExUXNSVUZCU1VVc1kwRlNaaXhEUVVGRmNEZENMRWxCUVVzc1JVRkJSMmR2UWl4TFFVRk5MRkZCVkhoQ0xFZEJkVUpFYWtZc1UwRkJWU3hYUVVOVUxFZEJRVTAzZVVJc1MwRkJUU3hIUVVGYUxFTkJTVUVzU1VGQlNXMXlReXhGUVVGalpDeEZRVUZSYm05RExFVkJRM3BDYTBNc1JVRkJUM0JGTEV0QlFVMHNSMEZEWW05eVF5eEZRVUZsTEVOQlFVVjBOMElzU1VGQlN5eEZRVUZIWjI5Q0xFdEJRVTBzUjBGSGFFTXNSMEZCZDBNc1ZVRkJia012TUVJc1JVRkJUelJvUWl4SlFVRkxkbWRDTEVWQlFVMHNXVUZIZEVKcGJVTXNSVUZCVTJwdFF5eEZRVUZMZDNwQ0xEUkNRVVZTTEVOQlQwNHNTVUZPUVhsVExFVkJRVk55Y1VNc1MwRkJTM0Z4UXl4VFFVbGtibTlETEVWQlFVMXJReXhGUVVGTE5ra3NZMEZEV0dzclFpeEZRVUZsTDIxRExFVkJRVXNyYlVNc1kwRkJaMEpxY0VNc1JVRkJTWGRPTEdkQ1FVTm9RM2szUWl4SlFVTk1RU3hKUVVGcFFtcHdReXhGUVVGSmRXcENMRTFCUVZFd2JFSXNTVUZCYVVKcWNFTXNSVUZCU1hkT0xHdENRVU5VTEZkQlFUTkRNMDBzUlVGQlR6Um9RaXhKUVVGTGQyMUNMRVZCUVdNc1lVRkZNVUpCTEVWQlFXVkJMRVZCUVdGMmIwTXNWMEZGZUVKMWIwTXNSMEZCWjBKQkxFbEJRV2xDTDIxRExFZEJRV3RETEVsQlFURkNLMjFETEVWQlFXRTFjRU1zV1VGSE1VUTJjRU1zUlVGQlpYSnZReXhGUVVGUmIyOURMRWRCUVdWa0xGVkJRM3BDZGpaQ0xFdEJRVTh2VFN4RlFVRlBOR2hDTEVsQlFVdDNiVUlzUlVGQll5eHJRa0ZCYTBJc1IwRkRhRVZETEVWQlFXRjBWQ3hOUVVGUkx6QkNMRVZCUVU4MGFFSXNTVUZCUzNkdFFpeEZRVUZqTEcxQ1FVRnRRaXhKUVV0d1JTeE5RVUZQTEVOQlEwNXlOMElzU1VGQlMzVTJRaXhGUVVGUGRqWkNMRWxCUVUxek4wSXNSVUZCWVhRM1FpeEpRVUZOTDAwc1JVRkJUelJvUWl4SlFVRkxkbWRDTEVWQlFVMHNZVUZCWVN4SFFVTndSVEI2UWl4TFFVRk5kVk1zUlVGQlQzWlRMRXRCUVU5elZDeEZRVUZoZEZRc1MwRkJUeTh3UWl4RlFVRlBOR2hDTEVsQlFVdDJaMElzUlVGQlRTeGpRVUZqTEUxQll6RkZLMjFETEdGQlFXTXNWMEZEWWl4UFFVRlBibkpETEV0QlFVdHRSU3hKUVVGTExGZEJSMmhDTEVsQlJrRXNTVUZCU1dkdVF5eEZRVUZsYm5KRExFdEJRVXR0Y2tNc1lVRkZhRUpCTEVkQlFUSkVMRmRCUVRORGNHOURMRVZCUVU4MGFFSXNTVUZCUzNkdFFpeEZRVUZqTEdGQlEycEVRU3hGUVVGbFFTeEZRVUZoUVN4aFFVYzNRaXhQUVVGUFFTeEhRVUZuUW5vM1FpeFJRVTB4UWpOTkxFVkJRVTlyUWl4TFFVRk5MRU5CUVVVck1FSXNWMEZCV1N4alFVRmxSQ3hWUVVGWExHVkJRV2xDTEZOQlFWVndZeXhGUVVGUlowY3NSMEZEZGtZc1NVRkJTVGRUTEVWQlFVMHNaMEpCUVd0Q05sTXNSVUZGTlVJMVppeEZRVUZQUnl4SFFVRkplVm9zUjBGQlZ5eFRRVUZWZG1Fc1IwRkRMMElzVDBGQlQybG1MRVZCUVZGeWFFSXNTMEZCVFN4VFFVRlZiMFVzUlVGQlRYVlpMRVZCUVZGMllTeEhRVWMxUXl4SlFVRkpORzlETEVWQlQwb3NSMEZPUzNad1F5eEZRVUZWTWtNc1IwRkRaRFJ0UXl4RlFVRk5OVzFETEVWQlEzVkNMRWxCUVd4Q1FTeEZRVUZMTjBNc1YwRkRhRUo1Y0VNc1JVRkJUVFZ0UXl4RlFVRkxlVXdzYTBKQlIwTm9TeXhKUVVGU2VrUXNSVUZEU2l4UFFVRlBORzlETEVWQlFVMUJMRVZCUVV0eWIwSXNSMEZCVTNabExFVkJRVTExV1N4SFFVYzNRbkYxUWl4RlFVTktRU3hGUVVGSlN5eFRRVU5HZGpkQ0xFVkJRVmxyTjBJc1JVRkJTVVVzV1VGQlZqbHZReXhGUVVOUU1FNHNSVUZCVFRGT0xFVkJRVTAwYjBNc1JVRkJTVU1zWVVGSmFrSTNiVU1zUlVGQlRYVlpMRWRCUVZkMllTeEhRVVZvUW5WaExFVkJRVkYyWVN4RlFVRkxhVU1zVlVGQlZXaENMRmRCVlRWQ1RpeEZRVUZQYTBJc1MwRkJUU3hEUVVGRkxFMUJRVThzVVVGQlZTeFRRVUZWYzBRc1JVRkJTVzlpTEVkQlF6ZEROV1lzUlVGQlQzRjZRaXhUUVVGVmVsUXNSMEZCVTI5UUxFZEJRV016ZDBJc1JVRkJVVzE1UWl4alFVTXZReXhUUVVGVmJuWkNMRVZCUVUxeGRFSXNSMEZEWml4SFFVRkxRU3hGUVVsS0xFOUJTRUZCTEVWQlFWZEVMRWRCUVZGd2RFSXNSVUZCVFhWbExFZEJSMnhDYzA4c1IwRkJWWHBxUWl4TFFVRk5hV3RDTEVkQlEzUkNNWFZDTEVWQlFWRnhRaXhIUVVGUGVYVkNMRmRCUVZsc1VTeEhRVUZUTEV0QlEzQkRPRThzVFVGUlRERjFRaXhGUVVGUGEwSXNTMEZCVFN4RFFVRkZjVzVETEU5QlFWRXNVMEZCVlVNc1RVRkJUeXhUUVVGWExGTkJRVlZ1YlVNc1JVRkJUWHBFTEVkQlEyeEZiMElzUlVGQlQydENMRXRCUVUwc1EwRkRXaXQ2UWl4UlFVRlRMRkZCUVZVMWVVSXNSVUZEYmtJMFZ5eFJRVUZUY21Fc1JVRkRWRFp3UXl4SFFVRkpMRkZCUVZWd2JVTXNSMEZEV2l4VFFVRlZjVzFETEVWQlFXTkRMRWRCUnpGQ00yOURMRVZCUVU5SExFZEJRVWwzYjBNc1IwRkJZU3hUUVVGVk0xUXNSVUZCVVRkM1FpeEhRVU42UXl4SlFVRkpiMkVzUlVGQldXcGtMRlZCUVZWb1FpeFRRVUZaYjI5RExFZEJRV3RETEd0Q1FVRllNVlFzUjBGRE5VUndReXhGUVVGUk9GWXNTMEZCTmtJc1NVRkJXREZVTEVsQlFUWkNMRWxCUVZZM2QwSXNSVUZCYVVJc1UwRkJWeXhWUVVVeFJTeFBRVUZQYldFc1JVRkJVWEpvUWl4TFFVRk5MRk5CUVZWdlJTeEZRVUZOZWtNc1JVRkJUWFZHTEVkQlF6RkRMRWxCUVVsb1JpeEZRVVZLTEU5QlFVdFVMRVZCUVZVeVF5eEhRVWQ1UWl4SlFVRm9RM051UXl4RlFVRlROM0ZETEZGQlFWTXNVMEZEZUVKMVJDeEZRVUZOTEZGQlFWVm5RaXhIUVVOb1FtaENMRVZCUVV0NFJTeFRRVUZUT0ZBc1owSkJRV2xDTEZOQlFWZDBTeXhIUVVseVFpeEpRVUZzUW1oQ0xFVkJRVXMzUXl4VlFVTlVWeXhGUVVGTmEwTXNSVUZCUzNOTUxHZENRVWxLTTBvc1MwRkJTM0YyUWl4SlFVTllhSGhDTEVWQlFVdHhhRUlzUzBGQlRTeFRRVUZYY21kQ0xFZEJRVkZzUkN4RlFVRkxMRk5CUVZkclJDeEhRVU01UTJoQ0xFVkJRVXR4YUVJc1MwRkJUU3hUUVVGWGNtZENMRWRCUVZGc1JDeEZRVUZMTEZOQlFWZHJSQ3hIUVVNNVEyeEVMRVZCUVVzc1UwRkJWMnRFTEZWQlNVUlRMRWxCUVZaeFFpeEZRVWRPYmtVc1JVRkJUelJvUWl4SlFVRkxkbWRDTEVWQlFVMTZReXhGUVVGTlp6QkNMRWRCUjNoQ05YbENMRVZCUVU4d2FFSXNUVUZCVDNKblFpeEZRVUZOZWtNc1JVRkJUWFZHTEVWQlFVOTVkVUlzU1VGRGFFTm9NRUlzUlVGQlRUSm1MRVZCUVZsNVZ5eFBRVUZUYkhsQ0xFVkJRVmQ1WWl4UlFVMDFRM1psTEVWQlFVOXJRaXhMUVVGTkxFTkJRMW9zV1VGRFFTeFhRVU5CTEdWQlEwRXNXVUZEUVN4alFVTkJMRmxCUTBVc1UwRkJWWE5FTEVWQlFVazFSaXhIUVVOb1FtOUNMRVZCUVU5SExFZEJRVWwyUWl4SFFVRlRMRk5CUVZWMVFpeEhRVU0zUWl4UFFVRlBiRVFzUzBGQlMzVnZRaXhIUVVGSk5XMUNMRVZCUVUxMVFpeE5RVTk0UWtnc1JVRkJUMGNzUjBGQlIyZERMRTlCUVZFc1EwRkZha0puTWtJc1MwRkJUU3hUUVVGVk1WTXNSVUZCVHpsR0xFVkJRVTE0Wml4SFFVTTFRaXhQUVVGUGJFUXNTMEZCUzNWdlFpeEhRVUZKUXl4RlFVRlBMRXRCUVUwNVJpeEZRVUZOZUdZc1NVRkZjRU41YjBNc1QwRkJVU3hUUVVGVmJtcENMRVZCUVU5MGJFSXNSMEZEZUVJc1QwRkJUMnhFTEV0QlFVczBiMElzU1VGQlMwb3NSVUZCVHl4TFFVRk5kR3hDTEVsQlJ5OUNNRzlETEZOQlFWVXNVMEZCVlRWdlF5eEZRVUZWZDJ4Q0xFVkJRVTg1Uml4RlFVRk5lR1lzUjBGRE1VTXNUMEZCVDJ4RUxFdEJRVXQxYjBJc1IwRkJTVU1zUlVGQlQzaHNRaXhGUVVGVk1HWXNSVUZCVFhobUxFbEJSWGhETW05RExGZEJRVmtzVTBGQlZUZHZReXhGUVVGVmQyeENMRVZCUVU5MGJFSXNSMEZIZEVNc1QwRkJORUlzU1VGQmNrSnRRaXhWUVVGVmFFSXNUMEZEYUVKeVJDeExRVUZMTkc5Q0xFbEJRVXMxYkVJc1JVRkJWU3hOUVVOd1FtaEVMRXRCUVVzMGIwSXNTVUZCUzBvc1JVRkJUM2hzUWl4SFFVRlpMRXRCUVUxRkxFbEJSM0pETkc5RExFMUJRVThzVTBGQlZVTXNSVUZCVVVNc1IwRkRlRUlzVDBGQlQyaHpReXhMUVVGTGNYVkNMRmRCUVZrd1pDeEhRVUZUZW1Rc1YwRkJXVEJrTEVkQlFWTkVMRTFCU1hoRWFIQkRMRVZCUVU5clFpeExRVU5PTEhkTVFVVTBSSEZFTEUxQlFVOHNTMEZEYmtVc1UwRkJWVU1zUlVGQlNXNURMRWRCUjJKeVF5eEZRVUZQUnl4SFFVRkphME1zUjBGQlV5eFRRVUZWYzJRc1JVRkJUWGhtTEVkQlEyNURMRTlCUVU5dFFpeFZRVUZWYUVJc1QwRkJVeXhGUVVONlFuSkVMRXRCUVV0MWIwSXNSMEZCU1c1cVFpeEZRVUZOTEV0QlFVMXpaQ3hGUVVGTmVHWXNSMEZETTBKc1JDeExRVUZMY1hCQ0xGRkJRVk5xYTBJc1RVRlZiRUlzU1VGQlNUSkZMRWRCUVZFc2NVTkJUVnBvU0N4RlFVRlBhM0JETEUxQlFWRXNVMEZCVlM5dlF5eEZRVUZKUkN4SFFVTTFRaXhKUVVGSmVVNHNSVUZCU3paRUxFVkJRVTB3TTBJc1JVRlZaaXhIUVZKM1FpeHBRa0ZCV21od1F5eEpRVU5ZZVU0c1JVRkJUWGhPTEVWQlFVbEVMRWRCUTFaQkxFVkJRVlZETEVWQlExWkJMRVZCUVV0M1RpeEhRVXRCY2xBc1JVRkJXVFpDTEVkQllXeENMRTlCVWtGeFVpeEZRVUZQYWxVc1JVRkJUVWNzUzBGQlRUUkVMRlZCUVZjc1NVRkRPVUkwYmtNc1JVRkJVU3hYUVVOUUxFOUJRVTh2YjBNc1JVRkJSM1pETEUxQlFVOXpReXhIUVVGWGFrUXNTMEZCVFhWVkxFVkJRVXMzVkN4UFFVRlJTaXhGUVVGTlJ5eExRVUZOTkVRc1pVRkpkRVE0UXl4TFFVRlBha1VzUlVGQlIybEZMRXRCUVU5cVJTeEZRVUZIYVVVc1RVRkJVWEJGTEVWQlFVOXZSU3hQUVVWc1F6aHJReXhIUVVkU2JIQkRMRVZCUVU5dGNFTXNWVUZCV1N4VFFVRlZReXhIUVVOMlFrRXNSVUZEU25Cd1F5eEZRVUZQYTJVc1dVRkZVR3hsTEVWQlFVODJXQ3hQUVVGUExFbEJSMmhDTjFnc1JVRkJUelpETEZGQlFWVkVMRTFCUVUxRExGRkJRM1pDTjBNc1JVRkJUM0Z3UXl4VlFVRlpiSEJDTEV0QlFVdERMRTFCUTNoQ2NHZENMRVZCUVU5eFNpeFRRVUZYUVN4RlFVTnNRbkpLTEVWQlFVOHhRaXhYUVVGaFFTeEZRVU53UWpCQ0xFVkJRVTkwUWl4VFFVRlhRU3hGUVVOc1FuTkNMRVZCUVU5clppeFZRVUZaUVN4RlFVTnVRbXhtTEVWQlFVOXdRaXhMUVVGUGJVSXNSVUZGWkVNc1JVRkJUM1Z3UWl4SlFVRk5OMnBDTEV0QlFVczJha0lzU1VGRmJFSjJjRUlzUlVGQlQzTndReXhWUVVGWkxGTkJRVlV2Y1VNc1IwRkxOVUlzU1VGQlNVc3NSVUZCVDI5Q0xFVkJRVTl3UWl4TFFVRk5UQ3hIUVVONFFpeFBRVUZyUWl4WFFVRlVTeXhIUVVFNFFpeFhRVUZVUVN4TFFVczFRakp4UXl4TlFVRlBhSEpETEVWQlFVMDBlRUlzVjBGQldUVjRRaXhMUVVjMVFubENMRVZCUVU5M2NFTXNTMEZCVHl4VFFVRlZhSEZETEVkQlEzWkNMRTlCUVdVc1RVRkJVa0VzUlVGRFRpeEpRVU5GUVN4RlFVRlBMRWxCUVVzd1JDeFJRVUZUT0VRc1IwRkJUeXhMUVd0Q1ZDeHRRa0ZCV0hscFF5eFJRVUY1UWtFc1QwRkJUME1zUzBGRE0wTkVMRTlCUVZFc1UwRkJWU3hIUVVGSkxGZEJRM0pDTEU5QlFVOTZjRU1zU1VGUFZDeEpRVWRETW5CRExFZEJRVlV6YzBNc1JVRkJUMmRFTEU5QlIycENOSEJETEVkQlFVczFjME1zUlVGQlR6WnpReXhGUVhkQ1lpeFBRWFJDUVRkd1F5eEZRVUZQT0hCRExGZEJRV0VzVTBGQlZYQnVReXhIUVZNM1FpeFBRVkpMTVVZc1JVRkJUelp6UXl4SlFVRk5OM0JETEVsQlEycENhRVFzUlVGQlR6WnpReXhGUVVGSlJDeEpRVWRRYkc1RExFZEJRVkV4Uml4RlFVRlBaMFFzVTBGQlYwRXNTVUZET1VKb1JDeEZRVUZQWjBRc1QwRkJVekp3UXl4SlFVZFdNM0JETEZGQlRXbENMRWxCUVdJNVF5eEpRVU5ZUml4RlFVRlBaMFFzVDBGQlUyaEVMRVZCUVU4MmMwTXNSVUZCU1Rkd1F5eEhRVTF5UWtFaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZjM1JoWjJsdVp5OXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTlxY1hWbGNua3ZaR2x6ZEM5cWNYVmxjbmt1YW5NaWZRPT0iLCJ2YXIgY2FjaGVkU2V0VGltZW91dCxjYWNoZWRDbGVhclRpbWVvdXQscHJvY2Vzcz1tb2R1bGUuZXhwb3J0cz17fTtmdW5jdGlvbiBkZWZhdWx0U2V0VGltb3V0KCl7dGhyb3cgbmV3IEVycm9yKFwic2V0VGltZW91dCBoYXMgbm90IGJlZW4gZGVmaW5lZFwiKX1mdW5jdGlvbiBkZWZhdWx0Q2xlYXJUaW1lb3V0KCl7dGhyb3cgbmV3IEVycm9yKFwiY2xlYXJUaW1lb3V0IGhhcyBub3QgYmVlbiBkZWZpbmVkXCIpfWZ1bmN0aW9uIHJ1blRpbWVvdXQoZSl7aWYoY2FjaGVkU2V0VGltZW91dD09PXNldFRpbWVvdXQpcmV0dXJuIHNldFRpbWVvdXQoZSwwKTtpZigoY2FjaGVkU2V0VGltZW91dD09PWRlZmF1bHRTZXRUaW1vdXR8fCFjYWNoZWRTZXRUaW1lb3V0KSYmc2V0VGltZW91dClyZXR1cm4gY2FjaGVkU2V0VGltZW91dD1zZXRUaW1lb3V0LHNldFRpbWVvdXQoZSwwKTt0cnl7cmV0dXJuIGNhY2hlZFNldFRpbWVvdXQoZSwwKX1jYXRjaCh0KXt0cnl7cmV0dXJuIGNhY2hlZFNldFRpbWVvdXQuY2FsbChudWxsLGUsMCl9Y2F0Y2godCl7cmV0dXJuIGNhY2hlZFNldFRpbWVvdXQuY2FsbCh0aGlzLGUsMCl9fX1mdW5jdGlvbiBydW5DbGVhclRpbWVvdXQoZSl7aWYoY2FjaGVkQ2xlYXJUaW1lb3V0PT09Y2xlYXJUaW1lb3V0KXJldHVybiBjbGVhclRpbWVvdXQoZSk7aWYoKGNhY2hlZENsZWFyVGltZW91dD09PWRlZmF1bHRDbGVhclRpbWVvdXR8fCFjYWNoZWRDbGVhclRpbWVvdXQpJiZjbGVhclRpbWVvdXQpcmV0dXJuIGNhY2hlZENsZWFyVGltZW91dD1jbGVhclRpbWVvdXQsY2xlYXJUaW1lb3V0KGUpO3RyeXtyZXR1cm4gY2FjaGVkQ2xlYXJUaW1lb3V0KGUpfWNhdGNoKHQpe3RyeXtyZXR1cm4gY2FjaGVkQ2xlYXJUaW1lb3V0LmNhbGwobnVsbCxlKX1jYXRjaCh0KXtyZXR1cm4gY2FjaGVkQ2xlYXJUaW1lb3V0LmNhbGwodGhpcyxlKX19fSFmdW5jdGlvbigpe3RyeXtjYWNoZWRTZXRUaW1lb3V0PVwiZnVuY3Rpb25cIj09dHlwZW9mIHNldFRpbWVvdXQ/c2V0VGltZW91dDpkZWZhdWx0U2V0VGltb3V0fWNhdGNoKGUpe2NhY2hlZFNldFRpbWVvdXQ9ZGVmYXVsdFNldFRpbW91dH10cnl7Y2FjaGVkQ2xlYXJUaW1lb3V0PVwiZnVuY3Rpb25cIj09dHlwZW9mIGNsZWFyVGltZW91dD9jbGVhclRpbWVvdXQ6ZGVmYXVsdENsZWFyVGltZW91dH1jYXRjaChlKXtjYWNoZWRDbGVhclRpbWVvdXQ9ZGVmYXVsdENsZWFyVGltZW91dH19KCk7dmFyIGN1cnJlbnRRdWV1ZSxxdWV1ZT1bXSxkcmFpbmluZz0hMSxxdWV1ZUluZGV4PS0xO2Z1bmN0aW9uIGNsZWFuVXBOZXh0VGljaygpe2RyYWluaW5nJiZjdXJyZW50UXVldWUmJihkcmFpbmluZz0hMSxjdXJyZW50UXVldWUubGVuZ3RoP3F1ZXVlPWN1cnJlbnRRdWV1ZS5jb25jYXQocXVldWUpOnF1ZXVlSW5kZXg9LTEscXVldWUubGVuZ3RoJiZkcmFpblF1ZXVlKCkpfWZ1bmN0aW9uIGRyYWluUXVldWUoKXtpZighZHJhaW5pbmcpe3ZhciBlPXJ1blRpbWVvdXQoY2xlYW5VcE5leHRUaWNrKTtkcmFpbmluZz0hMDtmb3IodmFyIHQ9cXVldWUubGVuZ3RoO3Q7KXtmb3IoY3VycmVudFF1ZXVlPXF1ZXVlLHF1ZXVlPVtdOysrcXVldWVJbmRleDx0OyljdXJyZW50UXVldWUmJmN1cnJlbnRRdWV1ZVtxdWV1ZUluZGV4XS5ydW4oKTtxdWV1ZUluZGV4PS0xLHQ9cXVldWUubGVuZ3RofWN1cnJlbnRRdWV1ZT1udWxsLGRyYWluaW5nPSExLHJ1bkNsZWFyVGltZW91dChlKX19ZnVuY3Rpb24gSXRlbShlLHQpe3RoaXMuZnVuPWUsdGhpcy5hcnJheT10fWZ1bmN0aW9uIG5vb3AoKXt9cHJvY2Vzcy5uZXh0VGljaz1mdW5jdGlvbihlKXt2YXIgdD1uZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aC0xKTtpZihhcmd1bWVudHMubGVuZ3RoPjEpZm9yKHZhciByPTE7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyl0W3ItMV09YXJndW1lbnRzW3JdO3F1ZXVlLnB1c2gobmV3IEl0ZW0oZSx0KSksMSE9PXF1ZXVlLmxlbmd0aHx8ZHJhaW5pbmd8fHJ1blRpbWVvdXQoZHJhaW5RdWV1ZSl9LEl0ZW0ucHJvdG90eXBlLnJ1bj1mdW5jdGlvbigpe3RoaXMuZnVuLmFwcGx5KG51bGwsdGhpcy5hcnJheSl9LHByb2Nlc3MudGl0bGU9XCJicm93c2VyXCIscHJvY2Vzcy5icm93c2VyPSEwLHByb2Nlc3MuZW52PXt9LHByb2Nlc3MuYXJndj1bXSxwcm9jZXNzLnZlcnNpb249XCJcIixwcm9jZXNzLnZlcnNpb25zPXt9LHByb2Nlc3Mub249bm9vcCxwcm9jZXNzLmFkZExpc3RlbmVyPW5vb3AscHJvY2Vzcy5vbmNlPW5vb3AscHJvY2Vzcy5vZmY9bm9vcCxwcm9jZXNzLnJlbW92ZUxpc3RlbmVyPW5vb3AscHJvY2Vzcy5yZW1vdmVBbGxMaXN0ZW5lcnM9bm9vcCxwcm9jZXNzLmVtaXQ9bm9vcCxwcm9jZXNzLnByZXBlbmRMaXN0ZW5lcj1ub29wLHByb2Nlc3MucHJlcGVuZE9uY2VMaXN0ZW5lcj1ub29wLHByb2Nlc3MubGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3JldHVybltdfSxwcm9jZXNzLmJpbmRpbmc9ZnVuY3Rpb24oZSl7dGhyb3cgbmV3IEVycm9yKFwicHJvY2Vzcy5iaW5kaW5nIGlzIG5vdCBzdXBwb3J0ZWRcIil9LHByb2Nlc3MuY3dkPWZ1bmN0aW9uKCl7cmV0dXJuXCIvXCJ9LHByb2Nlc3MuY2hkaXI9ZnVuY3Rpb24oZSl7dGhyb3cgbmV3IEVycm9yKFwicHJvY2Vzcy5jaGRpciBpcyBub3Qgc3VwcG9ydGVkXCIpfSxwcm9jZXNzLnVtYXNrPWZ1bmN0aW9uKCl7cmV0dXJuIDB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1KeWIzZHpaWEl1YW5NaVhTd2libUZ0WlhNaU9sc2lZMkZqYUdWa1UyVjBWR2x0Wlc5MWRDSXNJbU5oWTJobFpFTnNaV0Z5VkdsdFpXOTFkQ0lzSW5CeWIyTmxjM01pTENKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aVpHVm1ZWFZzZEZObGRGUnBiVzkxZENJc0lrVnljbTl5SWl3aVpHVm1ZWFZzZEVOc1pXRnlWR2x0Wlc5MWRDSXNJbkoxYmxScGJXVnZkWFFpTENKbWRXNGlMQ0p6WlhSVWFXMWxiM1YwSWl3aVpTSXNJbU5oYkd3aUxDSjBhR2x6SWl3aWNuVnVRMnhsWVhKVWFXMWxiM1YwSWl3aWJXRnlhMlZ5SWl3aVkyeGxZWEpVYVcxbGIzVjBJaXdpWTNWeWNtVnVkRkYxWlhWbElpd2ljWFZsZFdVaUxDSmtjbUZwYm1sdVp5SXNJbkYxWlhWbFNXNWtaWGdpTENKamJHVmhibFZ3VG1WNGRGUnBZMnNpTENKc1pXNW5kR2dpTENKamIyNWpZWFFpTENKa2NtRnBibEYxWlhWbElpd2lkR2x0Wlc5MWRDSXNJbXhsYmlJc0luSjFiaUlzSWtsMFpXMGlMQ0poY25KaGVTSXNJbTV2YjNBaUxDSnVaWGgwVkdsamF5SXNJbUZ5WjNNaUxDSkJjbkpoZVNJc0ltRnlaM1Z0Wlc1MGN5SXNJbWtpTENKd2RYTm9JaXdpY0hKdmRHOTBlWEJsSWl3aVlYQndiSGtpTENKMGFYUnNaU0lzSW1KeWIzZHpaWElpTENKbGJuWWlMQ0poY21kMklpd2lkbVZ5YzJsdmJpSXNJblpsY25OcGIyNXpJaXdpYjI0aUxDSmhaR1JNYVhOMFpXNWxjaUlzSW05dVkyVWlMQ0p2Wm1ZaUxDSnlaVzF2ZG1WTWFYTjBaVzVsY2lJc0luSmxiVzkyWlVGc2JFeHBjM1JsYm1WeWN5SXNJbVZ0YVhRaUxDSndjbVZ3Wlc1a1RHbHpkR1Z1WlhJaUxDSndjbVZ3Wlc1a1QyNWpaVXhwYzNSbGJtVnlJaXdpYkdsemRHVnVaWEp6SWl3aWJtRnRaU0lzSW1KcGJtUnBibWNpTENKamQyUWlMQ0pqYUdScGNpSXNJbVJwY2lJc0luVnRZWE5ySWwwc0ltMWhjSEJwYm1keklqb2lRVUZEUVN4SlFVOUpRU3hwUWtGRFFVTXNiVUpCVWtGRExGRkJRVlZETEU5QlFVOURMRkZCUVZVc1IwRlZMMElzVTBGQlUwTXNiVUpCUTB3c1RVRkJUU3hKUVVGSlF5eE5RVUZOTEcxRFFVVndRaXhUUVVGVFF5eHpRa0ZEVEN4TlFVRk5MRWxCUVVsRUxFMUJRVTBzY1VOQmMwSndRaXhUUVVGVFJTeFhRVUZYUXl4SFFVTm9RaXhIUVVGSlZDeHRRa0ZCY1VKVkxGZEJSWEpDTEU5QlFVOUJMRmRCUVZkRUxFVkJRVXNzUjBGSE0wSXNTVUZCUzFRc2JVSkJRWEZDU3l4dFFrRkJjVUpNTEcxQ1FVRnhRbFVzVjBGRmFFVXNUMEZFUVZZc2FVSkJRVzFDVlN4WFFVTmFRU3hYUVVGWFJDeEZRVUZMTEVkQlJUTkNMRWxCUlVrc1QwRkJUMVFzYVVKQlFXbENVeXhGUVVGTExFZEJReTlDTEUxQlFVMUZMRWRCUTBvc1NVRkZTU3hQUVVGUFdDeHBRa0ZCYVVKWkxFdEJRVXNzUzBGQlRVZ3NSVUZCU3l4SFFVTXhReXhOUVVGTlJTeEhRVVZLTEU5QlFVOVlMR2xDUVVGcFFsa3NTMEZCUzBNc1MwRkJUVW9zUlVGQlN5eExRVTF3UkN4VFFVRlRTeXhuUWtGQlowSkRMRWRCUTNKQ0xFZEJRVWxrTEhGQ1FVRjFRbVVzWVVGRmRrSXNUMEZCVDBFc1lVRkJZVVFzUjBGSGVFSXNTVUZCUzJRc2NVSkJRWFZDVFN4elFrRkJkMEpPTEhGQ1FVRjFRbVVzWVVGRmRrVXNUMEZFUVdZc2JVSkJRWEZDWlN4aFFVTmtRU3hoUVVGaFJDeEhRVVY0UWl4SlFVVkpMRTlCUVU5a0xHMUNRVUZ0UW1Nc1IwRkROVUlzVFVGQlQwb3NSMEZEVEN4SlFVVkpMRTlCUVU5V0xHMUNRVUZ0UWxjc1MwRkJTeXhMUVVGTlJ5eEhRVU4yUXl4TlFVRlBTaXhIUVVkTUxFOUJRVTlXTEcxQ1FVRnRRbGNzUzBGQlMwTXNTMEZCVFVVc1RVRnFSV2hFTEZkQlEwY3NTVUZGVVdZc2FVSkJSSE5DTEcxQ1FVRm1WU3hYUVVOWlFTeFhRVVZCVEN4cFFrRkZla0lzVFVGQlQwMHNSMEZEVEZnc2FVSkJRVzFDU3l4cFFrRkZka0lzU1VGRlVVb3NiVUpCUkhkQ0xHMUNRVUZxUW1Vc1lVRkRZMEVzWVVGRlFWUXNiMEpCUlROQ0xFMUJRVTlKTEVkQlEweFdMRzFDUVVGeFFrMHNjVUpCYWtJM1FpeEhRWGRGUVN4SlFVVkpWU3hoUVVaQlF5eE5RVUZSTEVkQlExSkRMRlZCUVZjc1JVRkZXRU1zV1VGQll5eEZRVVZzUWl4VFFVRlRReXhyUWtGRFFVWXNWVUZCWVVZc1pVRkhiRUpGTEZWQlFWY3NSVUZEVUVZc1lVRkJZVXNzVDBGRFlrb3NUVUZCVVVRc1lVRkJZVTBzVDBGQlQwd3NUMEZGTlVKRkxGbEJRV01zUlVGRlpFWXNUVUZCVFVrc1VVRkRUa1VzWTBGSlVpeFRRVUZUUVN4aFFVTk1MRWxCUVVsTUxGTkJRVW9zUTBGSFFTeEpRVUZKVFN4RlFVRlZha0lzVjBGQlYyRXNhVUpCUTNwQ1JpeFZRVUZYTEVWQlIxZ3NTVUZFUVN4SlFVRkpUeXhGUVVGTlVpeE5RVUZOU1N4UFFVTldTU3hIUVVGTExFTkJSMUFzU1VGR1FWUXNZVUZCWlVNc1RVRkRaa0VzVFVGQlVTeExRVU5EUlN4WFFVRmhUU3hIUVVOa1ZDeGpRVU5CUVN4aFFVRmhSeXhaUVVGWlR5eE5RVWRxUTFBc1dVRkJZeXhGUVVOa1RTeEZRVUZOVWl4TlFVRk5TU3hQUVVWb1Frd3NZVUZCWlN4TFFVTm1SU3hWUVVGWExFVkJRMWhNTEdkQ1FVRm5RbGNzU1VGcFFuQkNMRk5CUVZOSExFdEJRVXR1UWl4RlFVRkxiMElzUjBGRFptaENMRXRCUVV0S0xFbEJRVTFCTEVWQlExaEpMRXRCUVV0blFpeE5RVUZSUVN4RlFWbHFRaXhUUVVGVFF5eFJRVFZDVkRWQ0xGRkJRVkUyUWl4VFFVRlhMRk5CUVZWMFFpeEhRVU42UWl4SlFVRkpkVUlzUlVGQlR5eEpRVUZKUXl4TlFVRk5ReXhWUVVGVldpeFBRVUZUTEVkQlEzaERMRWRCUVVsWkxGVkJRVlZhTEU5QlFWTXNSVUZEYmtJc1NVRkJTeXhKUVVGSllTeEZRVUZKTEVWQlFVZEJMRVZCUVVsRUxGVkJRVlZhTEU5QlFWRmhMRWxCUTJ4RFNDeEZRVUZMUnl4RlFVRkpMRWRCUVV0RUxGVkJRVlZETEVkQlIyaERha0lzVFVGQlRXdENMRXRCUVVzc1NVRkJTVklzUzBGQlMyNUNMRVZCUVV0MVFpeEpRVU5LTEVsQlFXcENaQ3hOUVVGTlNTeFJRVUZwUWtnc1ZVRkRka0pZTEZkQlFWZG5RaXhoUVZOdVFra3NTMEZCUzFNc1ZVRkJWVllzU1VGQlRTeFhRVU5xUW1Rc1MwRkJTMG9zU1VGQlNUWkNMRTFCUVUwc1MwRkJUWHBDTEV0QlFVdG5RaXhSUVVVNVFqTkNMRkZCUVZGeFF5eE5RVUZSTEZWQlEyaENja01zVVVGQlVYTkRMRk5CUVZVc1JVRkRiRUowUXl4UlFVRlJkVU1zU1VGQlRTeEhRVU5rZGtNc1VVRkJVWGRETEV0QlFVOHNSMEZEWm5oRExGRkJRVkY1UXl4UlFVRlZMRWRCUTJ4Q2VrTXNVVUZCVVRCRExGTkJRVmNzUjBGSmJrSXhReXhSUVVGUk1rTXNSMEZCUzJZc1MwRkRZalZDTEZGQlFWRTBReXhaUVVGamFFSXNTMEZEZEVJMVFpeFJRVUZSTmtNc1MwRkJUMnBDTEV0QlEyWTFRaXhSUVVGUk9FTXNTVUZCVFd4Q0xFdEJRMlExUWl4UlFVRlJLME1zWlVGQmFVSnVRaXhMUVVONlFqVkNMRkZCUVZGblJDeHRRa0ZCY1VKd1FpeExRVU0zUWpWQ0xGRkJRVkZwUkN4TFFVRlBja0lzUzBGRFpqVkNMRkZCUVZGclJDeG5Ra0ZCYTBKMFFpeExRVU14UWpWQ0xGRkJRVkZ0UkN4dlFrRkJjMEoyUWl4TFFVVTVRalZDTEZGQlFWRnZSQ3hWUVVGWkxGTkJRVlZETEVkQlFWRXNUVUZCVHl4SlFVVTNRM0pFTEZGQlFWRnpSQ3hSUVVGVkxGTkJRVlZFTEVkQlEzaENMRTFCUVUwc1NVRkJTV3BFTEUxQlFVMHNjVU5CUjNCQ1NpeFJRVUZSZFVRc1NVRkJUU3hYUVVGakxFMUJRVThzUzBGRGJrTjJSQ3hSUVVGUmQwUXNUVUZCVVN4VFFVRlZReXhIUVVOMFFpeE5RVUZOTEVsQlFVbHlSQ3hOUVVGTkxHMURRVVZ3UWtvc1VVRkJVVEJFTEUxQlFWRXNWMEZCWVN4UFFVRlBJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDNOMFlXZHBibWN2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdmNISnZZMlZ6Y3k5aWNtOTNjMlZ5TG1wekluMD0iLCJ2YXIgYnVmZmVyPXJlcXVpcmUoXCJidWZmZXJcIiksQnVmZmVyPWJ1ZmZlci5CdWZmZXI7ZnVuY3Rpb24gY29weVByb3BzKGYsZSl7Zm9yKHZhciByIGluIGYpZVtyXT1mW3JdfWZ1bmN0aW9uIFNhZmVCdWZmZXIoZixlLHIpe3JldHVybiBCdWZmZXIoZixlLHIpfUJ1ZmZlci5mcm9tJiZCdWZmZXIuYWxsb2MmJkJ1ZmZlci5hbGxvY1Vuc2FmZSYmQnVmZmVyLmFsbG9jVW5zYWZlU2xvdz9tb2R1bGUuZXhwb3J0cz1idWZmZXI6KGNvcHlQcm9wcyhidWZmZXIsZXhwb3J0cyksZXhwb3J0cy5CdWZmZXI9U2FmZUJ1ZmZlciksU2FmZUJ1ZmZlci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShCdWZmZXIucHJvdG90eXBlKSxjb3B5UHJvcHMoQnVmZmVyLFNhZmVCdWZmZXIpLFNhZmVCdWZmZXIuZnJvbT1mdW5jdGlvbihmLGUscil7aWYoXCJudW1iZXJcIj09dHlwZW9mIGYpdGhyb3cgbmV3IFR5cGVFcnJvcihcIkFyZ3VtZW50IG11c3Qgbm90IGJlIGEgbnVtYmVyXCIpO3JldHVybiBCdWZmZXIoZixlLHIpfSxTYWZlQnVmZmVyLmFsbG9jPWZ1bmN0aW9uKGYsZSxyKXtpZihcIm51bWJlclwiIT10eXBlb2YgZil0aHJvdyBuZXcgVHlwZUVycm9yKFwiQXJndW1lbnQgbXVzdCBiZSBhIG51bWJlclwiKTt2YXIgdT1CdWZmZXIoZik7cmV0dXJuIHZvaWQgMCE9PWU/XCJzdHJpbmdcIj09dHlwZW9mIHI/dS5maWxsKGUscik6dS5maWxsKGUpOnUuZmlsbCgwKSx1fSxTYWZlQnVmZmVyLmFsbG9jVW5zYWZlPWZ1bmN0aW9uKGYpe2lmKFwibnVtYmVyXCIhPXR5cGVvZiBmKXRocm93IG5ldyBUeXBlRXJyb3IoXCJBcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyXCIpO3JldHVybiBCdWZmZXIoZil9LFNhZmVCdWZmZXIuYWxsb2NVbnNhZmVTbG93PWZ1bmN0aW9uKGYpe2lmKFwibnVtYmVyXCIhPXR5cGVvZiBmKXRocm93IG5ldyBUeXBlRXJyb3IoXCJBcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyXCIpO3JldHVybiBidWZmZXIuU2xvd0J1ZmZlcihmKX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbWx1WkdWNExtcHpJbDBzSW01aGJXVnpJanBiSW1KMVptWmxjaUlzSW5KbGNYVnBjbVVpTENKQ2RXWm1aWElpTENKamIzQjVVSEp2Y0hNaUxDSnpjbU1pTENKa2MzUWlMQ0pyWlhraUxDSlRZV1psUW5WbVptVnlJaXdpWVhKbklpd2laVzVqYjJScGJtZFBjazltWm5ObGRDSXNJbXhsYm1kMGFDSXNJbVp5YjIwaUxDSmhiR3h2WXlJc0ltRnNiRzlqVlc1ellXWmxJaXdpWVd4c2IyTlZibk5oWm1WVGJHOTNJaXdpYlc5a2RXeGxJaXdpWlhod2IzSjBjeUlzSW5CeWIzUnZkSGx3WlNJc0lrOWlhbVZqZENJc0ltTnlaV0YwWlNJc0lsUjVjR1ZGY25KdmNpSXNJbk5wZW1VaUxDSm1hV3hzSWl3aVpXNWpiMlJwYm1jaUxDSmlkV1lpTENKMWJtUmxabWx1WldRaUxDSlRiRzkzUW5WbVptVnlJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkZRU3hKUVVGSlFTeFBRVUZUUXl4UlFVRlJMRlZCUTJwQ1F5eFBRVUZUUml4UFFVRlBSU3hQUVVkd1FpeFRRVUZUUXl4VlFVRlhReXhGUVVGTFF5eEhRVU4yUWl4SlFVRkxMRWxCUVVsRExFdEJRVTlHTEVWQlEyUkRMRVZCUVVsRExFZEJRVTlHTEVWQlFVbEZMRWRCVjI1Q0xGTkJRVk5ETEZkQlFWbERMRVZCUVV0RExFVkJRV3RDUXl4SFFVTXhReXhQUVVGUFVpeFBRVUZQVFN4RlFVRkxReXhGUVVGclFrTXNSMEZVYmtOU0xFOUJRVTlUTEUxQlFWRlVMRTlCUVU5VkxFOUJRVk5XTEU5QlFVOVhMR0ZCUVdWWUxFOUJRVTlaTEdkQ1FVTTVSRU1zVDBGQlQwTXNVVUZCVldoQ0xGRkJSMnBDUnl4VlFVRlZTQ3hQUVVGUlowSXNVMEZEYkVKQkxGRkJRVkZrTEU5QlFWTkxMRmxCVDI1Q1FTeFhRVUZYVlN4VlFVRlpReXhQUVVGUFF5eFBRVUZQYWtJc1QwRkJUMlVzVjBGSE5VTmtMRlZCUVZWRUxFOUJRVkZMTEZsQlJXeENRU3hYUVVGWFNTeExRVUZQTEZOQlFWVklMRVZCUVV0RExFVkJRV3RDUXl4SFFVTnFSQ3hIUVVGdFFpeHBRa0ZCVWtZc1JVRkRWQ3hOUVVGTkxFbEJRVWxaTEZWQlFWVXNhVU5CUlhSQ0xFOUJRVTlzUWl4UFFVRlBUU3hGUVVGTFF5eEZRVUZyUWtNc1NVRkhka05JTEZkQlFWZExMRTFCUVZFc1UwRkJWVk1zUlVGQlRVTXNSVUZCVFVNc1IwRkRka01zUjBGQmIwSXNhVUpCUVZSR0xFVkJRMVFzVFVGQlRTeEpRVUZKUkN4VlFVRlZMRFpDUVVWMFFpeEpRVUZKU1N4RlFVRk5kRUlzVDBGQlQyMUNMRWRCVldwQ0xGbEJWR0ZKTEVsQlFWUklMRVZCUTNOQ0xHbENRVUZpUXl4RlFVTlVReXhGUVVGSlJpeExRVUZMUVN4RlFVRk5ReXhIUVVWbVF5eEZRVUZKUml4TFFVRkxRU3hIUVVkWVJTeEZRVUZKUml4TFFVRkxMRWRCUlVwRkxFZEJSMVJxUWl4WFFVRlhUU3haUVVGakxGTkJRVlZSTEVkQlEycERMRWRCUVc5Q0xHbENRVUZVUVN4RlFVTlVMRTFCUVUwc1NVRkJTVVFzVlVGQlZTdzJRa0ZGZEVJc1QwRkJUMnhDTEU5QlFVOXRRaXhKUVVkb1FtUXNWMEZCVjA4c1owSkJRV3RDTEZOQlFWVlBMRWRCUTNKRExFZEJRVzlDTEdsQ1FVRlVRU3hGUVVOVUxFMUJRVTBzU1VGQlNVUXNWVUZCVlN3MlFrRkZkRUlzVDBGQlQzQkNMRTlCUVU4d1FpeFhRVUZYVENJc0ltWnBiR1VpT2lJdmFHOXRaUzk2YVc1dkwzQnliMnBsWTNSekwzTmxZWFJ0WVhCMk1pOXpkR0ZuYVc1bkwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMM05oWm1VdFluVm1abVZ5TDJsdVpHVjRMbXB6SW4wPSIsIiFmdW5jdGlvbih0KXt0LnBhcnNlcj1mdW5jdGlvbih0LGUpe3JldHVybiBuZXcgcyh0LGUpfSx0LlNBWFBhcnNlcj1zLHQuU0FYU3RyZWFtPW4sdC5jcmVhdGVTdHJlYW09ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IG4odCxlKX0sdC5NQVhfQlVGRkVSX0xFTkdUSD02NTUzNjt2YXIgZSxpPVtcImNvbW1lbnRcIixcInNnbWxEZWNsXCIsXCJ0ZXh0Tm9kZVwiLFwidGFnTmFtZVwiLFwiZG9jdHlwZVwiLFwicHJvY0luc3ROYW1lXCIsXCJwcm9jSW5zdEJvZHlcIixcImVudGl0eVwiLFwiYXR0cmliTmFtZVwiLFwiYXR0cmliVmFsdWVcIixcImNkYXRhXCIsXCJzY3JpcHRcIl07ZnVuY3Rpb24gcyhlLGEpe2lmKCEodGhpcyBpbnN0YW5jZW9mIHMpKXJldHVybiBuZXcgcyhlLGEpOyFmdW5jdGlvbih0KXtmb3IodmFyIGU9MCxzPWkubGVuZ3RoO2U8cztlKyspdFtpW2VdXT1cIlwifSh0aGlzKSx0aGlzLnE9dGhpcy5jPVwiXCIsdGhpcy5idWZmZXJDaGVja1Bvc2l0aW9uPXQuTUFYX0JVRkZFUl9MRU5HVEgsdGhpcy5vcHQ9YXx8e30sdGhpcy5vcHQubG93ZXJjYXNlPXRoaXMub3B0Lmxvd2VyY2FzZXx8dGhpcy5vcHQubG93ZXJjYXNldGFncyx0aGlzLmxvb3NlQ2FzZT10aGlzLm9wdC5sb3dlcmNhc2U/XCJ0b0xvd2VyQ2FzZVwiOlwidG9VcHBlckNhc2VcIix0aGlzLnRhZ3M9W10sdGhpcy5jbG9zZWQ9dGhpcy5jbG9zZWRSb290PXRoaXMuc2F3Um9vdD0hMSx0aGlzLnRhZz10aGlzLmVycm9yPW51bGwsdGhpcy5zdHJpY3Q9ISFlLHRoaXMubm9zY3JpcHQ9ISghZSYmIXRoaXMub3B0Lm5vc2NyaXB0KSx0aGlzLnN0YXRlPUQuQkVHSU4sdGhpcy5zdHJpY3RFbnRpdGllcz10aGlzLm9wdC5zdHJpY3RFbnRpdGllcyx0aGlzLkVOVElUSUVTPXRoaXMuc3RyaWN0RW50aXRpZXM/T2JqZWN0LmNyZWF0ZSh0LlhNTF9FTlRJVElFUyk6T2JqZWN0LmNyZWF0ZSh0LkVOVElUSUVTKSx0aGlzLmF0dHJpYkxpc3Q9W10sdGhpcy5vcHQueG1sbnMmJih0aGlzLm5zPU9iamVjdC5jcmVhdGUoaCkpLHRoaXMudHJhY2tQb3NpdGlvbj0hMSE9PXRoaXMub3B0LnBvc2l0aW9uLHRoaXMudHJhY2tQb3NpdGlvbiYmKHRoaXMucG9zaXRpb249dGhpcy5saW5lPXRoaXMuY29sdW1uPTApLEModGhpcyxcIm9ucmVhZHlcIil9dC5FVkVOVFM9W1widGV4dFwiLFwicHJvY2Vzc2luZ2luc3RydWN0aW9uXCIsXCJzZ21sZGVjbGFyYXRpb25cIixcImRvY3R5cGVcIixcImNvbW1lbnRcIixcIm9wZW50YWdzdGFydFwiLFwiYXR0cmlidXRlXCIsXCJvcGVudGFnXCIsXCJjbG9zZXRhZ1wiLFwib3BlbmNkYXRhXCIsXCJjZGF0YVwiLFwiY2xvc2VjZGF0YVwiLFwiZXJyb3JcIixcImVuZFwiLFwicmVhZHlcIixcInNjcmlwdFwiLFwib3Blbm5hbWVzcGFjZVwiLFwiY2xvc2VuYW1lc3BhY2VcIl0sT2JqZWN0LmNyZWF0ZXx8KE9iamVjdC5jcmVhdGU9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe31yZXR1cm4gZS5wcm90b3R5cGU9dCxuZXcgZX0pLE9iamVjdC5rZXlzfHwoT2JqZWN0LmtleXM9ZnVuY3Rpb24odCl7dmFyIGU9W107Zm9yKHZhciBpIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShpKSYmZS5wdXNoKGkpO3JldHVybiBlfSkscy5wcm90b3R5cGU9e2VuZDpmdW5jdGlvbigpe3YodGhpcyl9LHdyaXRlOmZ1bmN0aW9uKGUpe2lmKHRoaXMuZXJyb3IpdGhyb3cgdGhpcy5lcnJvcjtpZih0aGlzLmNsb3NlZClyZXR1cm4gUih0aGlzLFwiQ2Fubm90IHdyaXRlIGFmdGVyIGNsb3NlLiBBc3NpZ24gYW4gb25yZWFkeSBoYW5kbGVyLlwiKTtpZihudWxsPT09ZSlyZXR1cm4gdih0aGlzKTtcIm9iamVjdFwiPT10eXBlb2YgZSYmKGU9ZS50b1N0cmluZygpKTt2YXIgcz0wLGE9XCJcIjtmb3IoO2E9TShlLHMrKyksdGhpcy5jPWEsYTspc3dpdGNoKHRoaXMudHJhY2tQb3NpdGlvbiYmKHRoaXMucG9zaXRpb24rKyxcIlxcblwiPT09YT8odGhpcy5saW5lKyssdGhpcy5jb2x1bW49MCk6dGhpcy5jb2x1bW4rKyksdGhpcy5zdGF0ZSl7Y2FzZSBELkJFR0lOOmlmKHRoaXMuc3RhdGU9RC5CRUdJTl9XSElURVNQQUNFLFwiXFx1ZmVmZlwiPT09YSljb250aW51ZTtHKHRoaXMsYSk7Y29udGludWU7Y2FzZSBELkJFR0lOX1dISVRFU1BBQ0U6Ryh0aGlzLGEpO2NvbnRpbnVlO2Nhc2UgRC5URVhUOmlmKHRoaXMuc2F3Um9vdCYmIXRoaXMuY2xvc2VkUm9vdCl7Zm9yKHZhciBuPXMtMTthJiZcIjxcIiE9PWEmJlwiJlwiIT09YTspKGE9TShlLHMrKykpJiZ0aGlzLnRyYWNrUG9zaXRpb24mJih0aGlzLnBvc2l0aW9uKyssXCJcXG5cIj09PWE/KHRoaXMubGluZSsrLHRoaXMuY29sdW1uPTApOnRoaXMuY29sdW1uKyspO3RoaXMudGV4dE5vZGUrPWUuc3Vic3RyaW5nKG4scy0xKX1cIjxcIiE9PWF8fHRoaXMuc2F3Um9vdCYmdGhpcy5jbG9zZWRSb290JiYhdGhpcy5zdHJpY3Q/KG0oYSl8fHRoaXMuc2F3Um9vdCYmIXRoaXMuY2xvc2VkUm9vdHx8UCh0aGlzLFwiVGV4dCBkYXRhIG91dHNpZGUgb2Ygcm9vdCBub2RlLlwiKSxcIiZcIj09PWE/dGhpcy5zdGF0ZT1ELlRFWFRfRU5USVRZOnRoaXMudGV4dE5vZGUrPWEpOih0aGlzLnN0YXRlPUQuT1BFTl9XQUtBLHRoaXMuc3RhcnRUYWdQb3NpdGlvbj10aGlzLnBvc2l0aW9uKTtjb250aW51ZTtjYXNlIEQuU0NSSVBUOlwiPFwiPT09YT90aGlzLnN0YXRlPUQuU0NSSVBUX0VORElORzp0aGlzLnNjcmlwdCs9YTtjb250aW51ZTtjYXNlIEQuU0NSSVBUX0VORElORzpcIi9cIj09PWE/dGhpcy5zdGF0ZT1ELkNMT1NFX1RBRzoodGhpcy5zY3JpcHQrPVwiPFwiK2EsdGhpcy5zdGF0ZT1ELlNDUklQVCk7Y29udGludWU7Y2FzZSBELk9QRU5fV0FLQTppZihcIiFcIj09PWEpdGhpcy5zdGF0ZT1ELlNHTUxfREVDTCx0aGlzLnNnbWxEZWNsPVwiXCI7ZWxzZSBpZihtKGEpKTtlbHNlIGlmKF8obCxhKSl0aGlzLnN0YXRlPUQuT1BFTl9UQUcsdGhpcy50YWdOYW1lPWE7ZWxzZSBpZihcIi9cIj09PWEpdGhpcy5zdGF0ZT1ELkNMT1NFX1RBRyx0aGlzLnRhZ05hbWU9XCJcIjtlbHNlIGlmKFwiP1wiPT09YSl0aGlzLnN0YXRlPUQuUFJPQ19JTlNULHRoaXMucHJvY0luc3ROYW1lPXRoaXMucHJvY0luc3RCb2R5PVwiXCI7ZWxzZXtpZihQKHRoaXMsXCJVbmVuY29kZWQgPFwiKSx0aGlzLnN0YXJ0VGFnUG9zaXRpb24rMTx0aGlzLnBvc2l0aW9uKXt2YXIgYz10aGlzLnBvc2l0aW9uLXRoaXMuc3RhcnRUYWdQb3NpdGlvbjthPW5ldyBBcnJheShjKS5qb2luKFwiIFwiKSthfXRoaXMudGV4dE5vZGUrPVwiPFwiK2EsdGhpcy5zdGF0ZT1ELlRFWFR9Y29udGludWU7Y2FzZSBELlNHTUxfREVDTDoodGhpcy5zZ21sRGVjbCthKS50b1VwcGVyQ2FzZSgpPT09cj8oTyh0aGlzLFwib25vcGVuY2RhdGFcIiksdGhpcy5zdGF0ZT1ELkNEQVRBLHRoaXMuc2dtbERlY2w9XCJcIix0aGlzLmNkYXRhPVwiXCIpOnRoaXMuc2dtbERlY2wrYT09PVwiLS1cIj8odGhpcy5zdGF0ZT1ELkNPTU1FTlQsdGhpcy5jb21tZW50PVwiXCIsdGhpcy5zZ21sRGVjbD1cIlwiKToodGhpcy5zZ21sRGVjbCthKS50b1VwcGVyQ2FzZSgpPT09bz8odGhpcy5zdGF0ZT1ELkRPQ1RZUEUsKHRoaXMuZG9jdHlwZXx8dGhpcy5zYXdSb290KSYmUCh0aGlzLFwiSW5hcHByb3ByaWF0ZWx5IGxvY2F0ZWQgZG9jdHlwZSBkZWNsYXJhdGlvblwiKSx0aGlzLmRvY3R5cGU9XCJcIix0aGlzLnNnbWxEZWNsPVwiXCIpOlwiPlwiPT09YT8oTyh0aGlzLFwib25zZ21sZGVjbGFyYXRpb25cIix0aGlzLnNnbWxEZWNsKSx0aGlzLnNnbWxEZWNsPVwiXCIsdGhpcy5zdGF0ZT1ELlRFWFQpOk4oYSk/KHRoaXMuc3RhdGU9RC5TR01MX0RFQ0xfUVVPVEVELHRoaXMuc2dtbERlY2wrPWEpOnRoaXMuc2dtbERlY2wrPWE7Y29udGludWU7Y2FzZSBELlNHTUxfREVDTF9RVU9URUQ6YT09PXRoaXMucSYmKHRoaXMuc3RhdGU9RC5TR01MX0RFQ0wsdGhpcy5xPVwiXCIpLHRoaXMuc2dtbERlY2wrPWE7Y29udGludWU7Y2FzZSBELkRPQ1RZUEU6XCI+XCI9PT1hPyh0aGlzLnN0YXRlPUQuVEVYVCxPKHRoaXMsXCJvbmRvY3R5cGVcIix0aGlzLmRvY3R5cGUpLHRoaXMuZG9jdHlwZT0hMCk6KHRoaXMuZG9jdHlwZSs9YSxcIltcIj09PWE/dGhpcy5zdGF0ZT1ELkRPQ1RZUEVfRFREOk4oYSkmJih0aGlzLnN0YXRlPUQuRE9DVFlQRV9RVU9URUQsdGhpcy5xPWEpKTtjb250aW51ZTtjYXNlIEQuRE9DVFlQRV9RVU9URUQ6dGhpcy5kb2N0eXBlKz1hLGE9PT10aGlzLnEmJih0aGlzLnE9XCJcIix0aGlzLnN0YXRlPUQuRE9DVFlQRSk7Y29udGludWU7Y2FzZSBELkRPQ1RZUEVfRFREOnRoaXMuZG9jdHlwZSs9YSxcIl1cIj09PWE/dGhpcy5zdGF0ZT1ELkRPQ1RZUEU6TihhKSYmKHRoaXMuc3RhdGU9RC5ET0NUWVBFX0RURF9RVU9URUQsdGhpcy5xPWEpO2NvbnRpbnVlO2Nhc2UgRC5ET0NUWVBFX0RURF9RVU9URUQ6dGhpcy5kb2N0eXBlKz1hLGE9PT10aGlzLnEmJih0aGlzLnN0YXRlPUQuRE9DVFlQRV9EVEQsdGhpcy5xPVwiXCIpO2NvbnRpbnVlO2Nhc2UgRC5DT01NRU5UOlwiLVwiPT09YT90aGlzLnN0YXRlPUQuQ09NTUVOVF9FTkRJTkc6dGhpcy5jb21tZW50Kz1hO2NvbnRpbnVlO2Nhc2UgRC5DT01NRU5UX0VORElORzpcIi1cIj09PWE/KHRoaXMuc3RhdGU9RC5DT01NRU5UX0VOREVELHRoaXMuY29tbWVudD1TKHRoaXMub3B0LHRoaXMuY29tbWVudCksdGhpcy5jb21tZW50JiZPKHRoaXMsXCJvbmNvbW1lbnRcIix0aGlzLmNvbW1lbnQpLHRoaXMuY29tbWVudD1cIlwiKToodGhpcy5jb21tZW50Kz1cIi1cIithLHRoaXMuc3RhdGU9RC5DT01NRU5UKTtjb250aW51ZTtjYXNlIEQuQ09NTUVOVF9FTkRFRDpcIj5cIiE9PWE/KFAodGhpcyxcIk1hbGZvcm1lZCBjb21tZW50XCIpLHRoaXMuY29tbWVudCs9XCItLVwiK2EsdGhpcy5zdGF0ZT1ELkNPTU1FTlQpOnRoaXMuc3RhdGU9RC5URVhUO2NvbnRpbnVlO2Nhc2UgRC5DREFUQTpcIl1cIj09PWE/dGhpcy5zdGF0ZT1ELkNEQVRBX0VORElORzp0aGlzLmNkYXRhKz1hO2NvbnRpbnVlO2Nhc2UgRC5DREFUQV9FTkRJTkc6XCJdXCI9PT1hP3RoaXMuc3RhdGU9RC5DREFUQV9FTkRJTkdfMjoodGhpcy5jZGF0YSs9XCJdXCIrYSx0aGlzLnN0YXRlPUQuQ0RBVEEpO2NvbnRpbnVlO2Nhc2UgRC5DREFUQV9FTkRJTkdfMjpcIj5cIj09PWE/KHRoaXMuY2RhdGEmJk8odGhpcyxcIm9uY2RhdGFcIix0aGlzLmNkYXRhKSxPKHRoaXMsXCJvbmNsb3NlY2RhdGFcIiksdGhpcy5jZGF0YT1cIlwiLHRoaXMuc3RhdGU9RC5URVhUKTpcIl1cIj09PWE/dGhpcy5jZGF0YSs9XCJdXCI6KHRoaXMuY2RhdGErPVwiXV1cIithLHRoaXMuc3RhdGU9RC5DREFUQSk7Y29udGludWU7Y2FzZSBELlBST0NfSU5TVDpcIj9cIj09PWE/dGhpcy5zdGF0ZT1ELlBST0NfSU5TVF9FTkRJTkc6bShhKT90aGlzLnN0YXRlPUQuUFJPQ19JTlNUX0JPRFk6dGhpcy5wcm9jSW5zdE5hbWUrPWE7Y29udGludWU7Y2FzZSBELlBST0NfSU5TVF9CT0RZOmlmKCF0aGlzLnByb2NJbnN0Qm9keSYmbShhKSljb250aW51ZTtcIj9cIj09PWE/dGhpcy5zdGF0ZT1ELlBST0NfSU5TVF9FTkRJTkc6dGhpcy5wcm9jSW5zdEJvZHkrPWE7Y29udGludWU7Y2FzZSBELlBST0NfSU5TVF9FTkRJTkc6XCI+XCI9PT1hPyhPKHRoaXMsXCJvbnByb2Nlc3NpbmdpbnN0cnVjdGlvblwiLHtuYW1lOnRoaXMucHJvY0luc3ROYW1lLGJvZHk6dGhpcy5wcm9jSW5zdEJvZHl9KSx0aGlzLnByb2NJbnN0TmFtZT10aGlzLnByb2NJbnN0Qm9keT1cIlwiLHRoaXMuc3RhdGU9RC5URVhUKToodGhpcy5wcm9jSW5zdEJvZHkrPVwiP1wiK2EsdGhpcy5zdGF0ZT1ELlBST0NfSU5TVF9CT0RZKTtjb250aW51ZTtjYXNlIEQuT1BFTl9UQUc6XyhULGEpP3RoaXMudGFnTmFtZSs9YTooeSh0aGlzKSxcIj5cIj09PWE/VSh0aGlzKTpcIi9cIj09PWE/dGhpcy5zdGF0ZT1ELk9QRU5fVEFHX1NMQVNIOihtKGEpfHxQKHRoaXMsXCJJbnZhbGlkIGNoYXJhY3RlciBpbiB0YWcgbmFtZVwiKSx0aGlzLnN0YXRlPUQuQVRUUklCKSk7Y29udGludWU7Y2FzZSBELk9QRU5fVEFHX1NMQVNIOlwiPlwiPT09YT8oVSh0aGlzLCEwKSx4KHRoaXMpKTooUCh0aGlzLFwiRm9yd2FyZC1zbGFzaCBpbiBvcGVuaW5nIHRhZyBub3QgZm9sbG93ZWQgYnkgPlwiKSx0aGlzLnN0YXRlPUQuQVRUUklCKTtjb250aW51ZTtjYXNlIEQuQVRUUklCOmlmKG0oYSkpY29udGludWU7XCI+XCI9PT1hP1UodGhpcyk6XCIvXCI9PT1hP3RoaXMuc3RhdGU9RC5PUEVOX1RBR19TTEFTSDpfKGwsYSk/KHRoaXMuYXR0cmliTmFtZT1hLHRoaXMuYXR0cmliVmFsdWU9XCJcIix0aGlzLnN0YXRlPUQuQVRUUklCX05BTUUpOlAodGhpcyxcIkludmFsaWQgYXR0cmlidXRlIG5hbWVcIik7Y29udGludWU7Y2FzZSBELkFUVFJJQl9OQU1FOlwiPVwiPT09YT90aGlzLnN0YXRlPUQuQVRUUklCX1ZBTFVFOlwiPlwiPT09YT8oUCh0aGlzLFwiQXR0cmlidXRlIHdpdGhvdXQgdmFsdWVcIiksdGhpcy5hdHRyaWJWYWx1ZT10aGlzLmF0dHJpYk5hbWUsQih0aGlzKSxVKHRoaXMpKTptKGEpP3RoaXMuc3RhdGU9RC5BVFRSSUJfTkFNRV9TQVdfV0hJVEU6XyhULGEpP3RoaXMuYXR0cmliTmFtZSs9YTpQKHRoaXMsXCJJbnZhbGlkIGF0dHJpYnV0ZSBuYW1lXCIpO2NvbnRpbnVlO2Nhc2UgRC5BVFRSSUJfTkFNRV9TQVdfV0hJVEU6aWYoXCI9XCI9PT1hKXRoaXMuc3RhdGU9RC5BVFRSSUJfVkFMVUU7ZWxzZXtpZihtKGEpKWNvbnRpbnVlO1AodGhpcyxcIkF0dHJpYnV0ZSB3aXRob3V0IHZhbHVlXCIpLHRoaXMudGFnLmF0dHJpYnV0ZXNbdGhpcy5hdHRyaWJOYW1lXT1cIlwiLHRoaXMuYXR0cmliVmFsdWU9XCJcIixPKHRoaXMsXCJvbmF0dHJpYnV0ZVwiLHtuYW1lOnRoaXMuYXR0cmliTmFtZSx2YWx1ZTpcIlwifSksdGhpcy5hdHRyaWJOYW1lPVwiXCIsXCI+XCI9PT1hP1UodGhpcyk6XyhsLGEpPyh0aGlzLmF0dHJpYk5hbWU9YSx0aGlzLnN0YXRlPUQuQVRUUklCX05BTUUpOihQKHRoaXMsXCJJbnZhbGlkIGF0dHJpYnV0ZSBuYW1lXCIpLHRoaXMuc3RhdGU9RC5BVFRSSUIpfWNvbnRpbnVlO2Nhc2UgRC5BVFRSSUJfVkFMVUU6aWYobShhKSljb250aW51ZTtOKGEpPyh0aGlzLnE9YSx0aGlzLnN0YXRlPUQuQVRUUklCX1ZBTFVFX1FVT1RFRCk6KFAodGhpcyxcIlVucXVvdGVkIGF0dHJpYnV0ZSB2YWx1ZVwiKSx0aGlzLnN0YXRlPUQuQVRUUklCX1ZBTFVFX1VOUVVPVEVELHRoaXMuYXR0cmliVmFsdWU9YSk7Y29udGludWU7Y2FzZSBELkFUVFJJQl9WQUxVRV9RVU9URUQ6aWYoYSE9PXRoaXMucSl7XCImXCI9PT1hP3RoaXMuc3RhdGU9RC5BVFRSSUJfVkFMVUVfRU5USVRZX1E6dGhpcy5hdHRyaWJWYWx1ZSs9YTtjb250aW51ZX1CKHRoaXMpLHRoaXMucT1cIlwiLHRoaXMuc3RhdGU9RC5BVFRSSUJfVkFMVUVfQ0xPU0VEO2NvbnRpbnVlO2Nhc2UgRC5BVFRSSUJfVkFMVUVfQ0xPU0VEOm0oYSk/dGhpcy5zdGF0ZT1ELkFUVFJJQjpcIj5cIj09PWE/VSh0aGlzKTpcIi9cIj09PWE/dGhpcy5zdGF0ZT1ELk9QRU5fVEFHX1NMQVNIOl8obCxhKT8oUCh0aGlzLFwiTm8gd2hpdGVzcGFjZSBiZXR3ZWVuIGF0dHJpYnV0ZXNcIiksdGhpcy5hdHRyaWJOYW1lPWEsdGhpcy5hdHRyaWJWYWx1ZT1cIlwiLHRoaXMuc3RhdGU9RC5BVFRSSUJfTkFNRSk6UCh0aGlzLFwiSW52YWxpZCBhdHRyaWJ1dGUgbmFtZVwiKTtjb250aW51ZTtjYXNlIEQuQVRUUklCX1ZBTFVFX1VOUVVPVEVEOmlmKCFmKGEpKXtcIiZcIj09PWE/dGhpcy5zdGF0ZT1ELkFUVFJJQl9WQUxVRV9FTlRJVFlfVTp0aGlzLmF0dHJpYlZhbHVlKz1hO2NvbnRpbnVlfUIodGhpcyksXCI+XCI9PT1hP1UodGhpcyk6dGhpcy5zdGF0ZT1ELkFUVFJJQjtjb250aW51ZTtjYXNlIEQuQ0xPU0VfVEFHOmlmKHRoaXMudGFnTmFtZSlcIj5cIj09PWE/eCh0aGlzKTpfKFQsYSk/dGhpcy50YWdOYW1lKz1hOnRoaXMuc2NyaXB0Pyh0aGlzLnNjcmlwdCs9XCI8L1wiK3RoaXMudGFnTmFtZSx0aGlzLnRhZ05hbWU9XCJcIix0aGlzLnN0YXRlPUQuU0NSSVBUKToobShhKXx8UCh0aGlzLFwiSW52YWxpZCB0YWduYW1lIGluIGNsb3NpbmcgdGFnXCIpLHRoaXMuc3RhdGU9RC5DTE9TRV9UQUdfU0FXX1dISVRFKTtlbHNle2lmKG0oYSkpY29udGludWU7ZChsLGEpP3RoaXMuc2NyaXB0Pyh0aGlzLnNjcmlwdCs9XCI8L1wiK2EsdGhpcy5zdGF0ZT1ELlNDUklQVCk6UCh0aGlzLFwiSW52YWxpZCB0YWduYW1lIGluIGNsb3NpbmcgdGFnLlwiKTp0aGlzLnRhZ05hbWU9YX1jb250aW51ZTtjYXNlIEQuQ0xPU0VfVEFHX1NBV19XSElURTppZihtKGEpKWNvbnRpbnVlO1wiPlwiPT09YT94KHRoaXMpOlAodGhpcyxcIkludmFsaWQgY2hhcmFjdGVycyBpbiBjbG9zaW5nIHRhZ1wiKTtjb250aW51ZTtjYXNlIEQuVEVYVF9FTlRJVFk6Y2FzZSBELkFUVFJJQl9WQUxVRV9FTlRJVFlfUTpjYXNlIEQuQVRUUklCX1ZBTFVFX0VOVElUWV9VOnZhciB1LGg7c3dpdGNoKHRoaXMuc3RhdGUpe2Nhc2UgRC5URVhUX0VOVElUWTp1PUQuVEVYVCxoPVwidGV4dE5vZGVcIjticmVhaztjYXNlIEQuQVRUUklCX1ZBTFVFX0VOVElUWV9ROnU9RC5BVFRSSUJfVkFMVUVfUVVPVEVELGg9XCJhdHRyaWJWYWx1ZVwiO2JyZWFrO2Nhc2UgRC5BVFRSSUJfVkFMVUVfRU5USVRZX1U6dT1ELkFUVFJJQl9WQUxVRV9VTlFVT1RFRCxoPVwiYXR0cmliVmFsdWVcIn1cIjtcIj09PWE/KHRoaXNbaF0rPXcodGhpcyksdGhpcy5lbnRpdHk9XCJcIix0aGlzLnN0YXRlPXUpOl8odGhpcy5lbnRpdHkubGVuZ3RoP3A6RSxhKT90aGlzLmVudGl0eSs9YTooUCh0aGlzLFwiSW52YWxpZCBjaGFyYWN0ZXIgaW4gZW50aXR5IG5hbWVcIiksdGhpc1toXSs9XCImXCIrdGhpcy5lbnRpdHkrYSx0aGlzLmVudGl0eT1cIlwiLHRoaXMuc3RhdGU9dSk7Y29udGludWU7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IodGhpcyxcIlVua25vd24gc3RhdGU6IFwiK3RoaXMuc3RhdGUpfXRoaXMucG9zaXRpb24+PXRoaXMuYnVmZmVyQ2hlY2tQb3NpdGlvbiYmZnVuY3Rpb24oZSl7Zm9yKHZhciBzPU1hdGgubWF4KHQuTUFYX0JVRkZFUl9MRU5HVEgsMTApLGE9MCxuPTAscj1pLmxlbmd0aDtuPHI7bisrKXt2YXIgbz1lW2lbbl1dLmxlbmd0aDtpZihvPnMpc3dpdGNoKGlbbl0pe2Nhc2VcInRleHROb2RlXCI6RihlKTticmVhaztjYXNlXCJjZGF0YVwiOk8oZSxcIm9uY2RhdGFcIixlLmNkYXRhKSxlLmNkYXRhPVwiXCI7YnJlYWs7Y2FzZVwic2NyaXB0XCI6TyhlLFwib25zY3JpcHRcIixlLnNjcmlwdCksZS5zY3JpcHQ9XCJcIjticmVhaztkZWZhdWx0OlIoZSxcIk1heCBidWZmZXIgbGVuZ3RoIGV4Y2VlZGVkOiBcIitpW25dKX1hPU1hdGgubWF4KGEsbyl9dmFyIGM9dC5NQVhfQlVGRkVSX0xFTkdUSC1hO2UuYnVmZmVyQ2hlY2tQb3NpdGlvbj1jK2UucG9zaXRpb259KHRoaXMpO3JldHVybiB0aGlzfSxyZXN1bWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcnJvcj1udWxsLHRoaXN9LGNsb3NlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMud3JpdGUobnVsbCl9LGZsdXNoOmZ1bmN0aW9uKCl7dmFyIHQ7Rih0PXRoaXMpLFwiXCIhPT10LmNkYXRhJiYoTyh0LFwib25jZGF0YVwiLHQuY2RhdGEpLHQuY2RhdGE9XCJcIiksXCJcIiE9PXQuc2NyaXB0JiYoTyh0LFwib25zY3JpcHRcIix0LnNjcmlwdCksdC5zY3JpcHQ9XCJcIil9fTt0cnl7ZT1yZXF1aXJlKFwic3RyZWFtXCIpLlN0cmVhbX1jYXRjaCh0KXtlPWZ1bmN0aW9uKCl7fX12YXIgYT10LkVWRU5UUy5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuXCJlcnJvclwiIT09dCYmXCJlbmRcIiE9PXR9KTtmdW5jdGlvbiBuKHQsaSl7aWYoISh0aGlzIGluc3RhbmNlb2YgbikpcmV0dXJuIG5ldyBuKHQsaSk7ZS5hcHBseSh0aGlzKSx0aGlzLl9wYXJzZXI9bmV3IHModCxpKSx0aGlzLndyaXRhYmxlPSEwLHRoaXMucmVhZGFibGU9ITA7dmFyIHI9dGhpczt0aGlzLl9wYXJzZXIub25lbmQ9ZnVuY3Rpb24oKXtyLmVtaXQoXCJlbmRcIil9LHRoaXMuX3BhcnNlci5vbmVycm9yPWZ1bmN0aW9uKHQpe3IuZW1pdChcImVycm9yXCIsdCksci5fcGFyc2VyLmVycm9yPW51bGx9LHRoaXMuX2RlY29kZXI9bnVsbCxhLmZvckVhY2goZnVuY3Rpb24odCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsXCJvblwiK3Qse2dldDpmdW5jdGlvbigpe3JldHVybiByLl9wYXJzZXJbXCJvblwiK3RdfSxzZXQ6ZnVuY3Rpb24oZSl7aWYoIWUpcmV0dXJuIHIucmVtb3ZlQWxsTGlzdGVuZXJzKHQpLHIuX3BhcnNlcltcIm9uXCIrdF09ZSxlO3Iub24odCxlKX0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITF9KX0pfW4ucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZS5wcm90b3R5cGUse2NvbnN0cnVjdG9yOnt2YWx1ZTpufX0pLG4ucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKHQpe2lmKFwiZnVuY3Rpb25cIj09dHlwZW9mIEJ1ZmZlciYmXCJmdW5jdGlvblwiPT10eXBlb2YgQnVmZmVyLmlzQnVmZmVyJiZCdWZmZXIuaXNCdWZmZXIodCkpe2lmKCF0aGlzLl9kZWNvZGVyKXt2YXIgZT1yZXF1aXJlKFwic3RyaW5nX2RlY29kZXJcIikuU3RyaW5nRGVjb2Rlcjt0aGlzLl9kZWNvZGVyPW5ldyBlKFwidXRmOFwiKX10PXRoaXMuX2RlY29kZXIud3JpdGUodCl9cmV0dXJuIHRoaXMuX3BhcnNlci53cml0ZSh0LnRvU3RyaW5nKCkpLHRoaXMuZW1pdChcImRhdGFcIix0KSwhMH0sbi5wcm90b3R5cGUuZW5kPWZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0Lmxlbmd0aCYmdGhpcy53cml0ZSh0KSx0aGlzLl9wYXJzZXIuZW5kKCksITB9LG4ucHJvdG90eXBlLm9uPWZ1bmN0aW9uKHQsaSl7dmFyIHM9dGhpcztyZXR1cm4gcy5fcGFyc2VyW1wib25cIit0XXx8LTE9PT1hLmluZGV4T2YodCl8fChzLl9wYXJzZXJbXCJvblwiK3RdPWZ1bmN0aW9uKCl7dmFyIGU9MT09PWFyZ3VtZW50cy5sZW5ndGg/W2FyZ3VtZW50c1swXV06QXJyYXkuYXBwbHkobnVsbCxhcmd1bWVudHMpO2Uuc3BsaWNlKDAsMCx0KSxzLmVtaXQuYXBwbHkocyxlKX0pLGUucHJvdG90eXBlLm9uLmNhbGwocyx0LGkpfTt2YXIgcj1cIltDREFUQVtcIixvPVwiRE9DVFlQRVwiLGM9XCJodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2VcIix1PVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC94bWxucy9cIixoPXt4bWw6Yyx4bWxuczp1fSxsPS9bOl9BLVphLXpcXHUwMEMwLVxcdTAwRDZcXHUwMEQ4LVxcdTAwRjZcXHUwMEY4LVxcdTAyRkZcXHUwMzcwLVxcdTAzN0RcXHUwMzdGLVxcdTFGRkZcXHUyMDBDLVxcdTIwMERcXHUyMDcwLVxcdTIxOEZcXHUyQzAwLVxcdTJGRUZcXHUzMDAxLVxcdUQ3RkZcXHVGOTAwLVxcdUZEQ0ZcXHVGREYwLVxcdUZGRkRdLyxUPS9bOl9BLVphLXpcXHUwMEMwLVxcdTAwRDZcXHUwMEQ4LVxcdTAwRjZcXHUwMEY4LVxcdTAyRkZcXHUwMzcwLVxcdTAzN0RcXHUwMzdGLVxcdTFGRkZcXHUyMDBDLVxcdTIwMERcXHUyMDcwLVxcdTIxOEZcXHUyQzAwLVxcdTJGRUZcXHUzMDAxLVxcdUQ3RkZcXHVGOTAwLVxcdUZEQ0ZcXHVGREYwLVxcdUZGRkRcXHUwMEI3XFx1MDMwMC1cXHUwMzZGXFx1MjAzRi1cXHUyMDQwLlxcZC1dLyxFPS9bIzpfQS1aYS16XFx1MDBDMC1cXHUwMEQ2XFx1MDBEOC1cXHUwMEY2XFx1MDBGOC1cXHUwMkZGXFx1MDM3MC1cXHUwMzdEXFx1MDM3Ri1cXHUxRkZGXFx1MjAwQy1cXHUyMDBEXFx1MjA3MC1cXHUyMThGXFx1MkMwMC1cXHUyRkVGXFx1MzAwMS1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkZEXS8scD0vWyM6X0EtWmEtelxcdTAwQzAtXFx1MDBENlxcdTAwRDgtXFx1MDBGNlxcdTAwRjgtXFx1MDJGRlxcdTAzNzAtXFx1MDM3RFxcdTAzN0YtXFx1MUZGRlxcdTIwMEMtXFx1MjAwRFxcdTIwNzAtXFx1MjE4RlxcdTJDMDAtXFx1MkZFRlxcdTMwMDEtXFx1RDdGRlxcdUY5MDAtXFx1RkRDRlxcdUZERjAtXFx1RkZGRFxcdTAwQjdcXHUwMzAwLVxcdTAzNkZcXHUyMDNGLVxcdTIwNDAuXFxkLV0vO2Z1bmN0aW9uIG0odCl7cmV0dXJuXCIgXCI9PT10fHxcIlxcblwiPT09dHx8XCJcXHJcIj09PXR8fFwiXFx0XCI9PT10fWZ1bmN0aW9uIE4odCl7cmV0dXJuJ1wiJz09PXR8fFwiJ1wiPT09dH1mdW5jdGlvbiBmKHQpe3JldHVyblwiPlwiPT09dHx8bSh0KX1mdW5jdGlvbiBfKHQsZSl7cmV0dXJuIHQudGVzdChlKX1mdW5jdGlvbiBkKHQsZSl7cmV0dXJuIV8odCxlKX12YXIgZyxBLEksRD0wO2Zvcih2YXIgYiBpbiB0LlNUQVRFPXtCRUdJTjpEKyssQkVHSU5fV0hJVEVTUEFDRTpEKyssVEVYVDpEKyssVEVYVF9FTlRJVFk6RCsrLE9QRU5fV0FLQTpEKyssU0dNTF9ERUNMOkQrKyxTR01MX0RFQ0xfUVVPVEVEOkQrKyxET0NUWVBFOkQrKyxET0NUWVBFX1FVT1RFRDpEKyssRE9DVFlQRV9EVEQ6RCsrLERPQ1RZUEVfRFREX1FVT1RFRDpEKyssQ09NTUVOVF9TVEFSVElORzpEKyssQ09NTUVOVDpEKyssQ09NTUVOVF9FTkRJTkc6RCsrLENPTU1FTlRfRU5ERUQ6RCsrLENEQVRBOkQrKyxDREFUQV9FTkRJTkc6RCsrLENEQVRBX0VORElOR18yOkQrKyxQUk9DX0lOU1Q6RCsrLFBST0NfSU5TVF9CT0RZOkQrKyxQUk9DX0lOU1RfRU5ESU5HOkQrKyxPUEVOX1RBRzpEKyssT1BFTl9UQUdfU0xBU0g6RCsrLEFUVFJJQjpEKyssQVRUUklCX05BTUU6RCsrLEFUVFJJQl9OQU1FX1NBV19XSElURTpEKyssQVRUUklCX1ZBTFVFOkQrKyxBVFRSSUJfVkFMVUVfUVVPVEVEOkQrKyxBVFRSSUJfVkFMVUVfQ0xPU0VEOkQrKyxBVFRSSUJfVkFMVUVfVU5RVU9URUQ6RCsrLEFUVFJJQl9WQUxVRV9FTlRJVFlfUTpEKyssQVRUUklCX1ZBTFVFX0VOVElUWV9VOkQrKyxDTE9TRV9UQUc6RCsrLENMT1NFX1RBR19TQVdfV0hJVEU6RCsrLFNDUklQVDpEKyssU0NSSVBUX0VORElORzpEKyt9LHQuWE1MX0VOVElUSUVTPXthbXA6XCImXCIsZ3Q6XCI+XCIsbHQ6XCI8XCIscXVvdDonXCInLGFwb3M6XCInXCJ9LHQuRU5USVRJRVM9e2FtcDpcIiZcIixndDpcIj5cIixsdDpcIjxcIixxdW90OidcIicsYXBvczpcIidcIixBRWxpZzoxOTgsQWFjdXRlOjE5MyxBY2lyYzoxOTQsQWdyYXZlOjE5MixBcmluZzoxOTcsQXRpbGRlOjE5NSxBdW1sOjE5NixDY2VkaWw6MTk5LEVUSDoyMDgsRWFjdXRlOjIwMSxFY2lyYzoyMDIsRWdyYXZlOjIwMCxFdW1sOjIwMyxJYWN1dGU6MjA1LEljaXJjOjIwNixJZ3JhdmU6MjA0LEl1bWw6MjA3LE50aWxkZToyMDksT2FjdXRlOjIxMSxPY2lyYzoyMTIsT2dyYXZlOjIxMCxPc2xhc2g6MjE2LE90aWxkZToyMTMsT3VtbDoyMTQsVEhPUk46MjIyLFVhY3V0ZToyMTgsVWNpcmM6MjE5LFVncmF2ZToyMTcsVXVtbDoyMjAsWWFjdXRlOjIyMSxhYWN1dGU6MjI1LGFjaXJjOjIyNixhZWxpZzoyMzAsYWdyYXZlOjIyNCxhcmluZzoyMjksYXRpbGRlOjIyNyxhdW1sOjIyOCxjY2VkaWw6MjMxLGVhY3V0ZToyMzMsZWNpcmM6MjM0LGVncmF2ZToyMzIsZXRoOjI0MCxldW1sOjIzNSxpYWN1dGU6MjM3LGljaXJjOjIzOCxpZ3JhdmU6MjM2LGl1bWw6MjM5LG50aWxkZToyNDEsb2FjdXRlOjI0MyxvY2lyYzoyNDQsb2dyYXZlOjI0Mixvc2xhc2g6MjQ4LG90aWxkZToyNDUsb3VtbDoyNDYsc3psaWc6MjIzLHRob3JuOjI1NCx1YWN1dGU6MjUwLHVjaXJjOjI1MSx1Z3JhdmU6MjQ5LHV1bWw6MjUyLHlhY3V0ZToyNTMseXVtbDoyNTUsY29weToxNjkscmVnOjE3NCxuYnNwOjE2MCxpZXhjbDoxNjEsY2VudDoxNjIscG91bmQ6MTYzLGN1cnJlbjoxNjQseWVuOjE2NSxicnZiYXI6MTY2LHNlY3Q6MTY3LHVtbDoxNjgsb3JkZjoxNzAsbGFxdW86MTcxLG5vdDoxNzIsc2h5OjE3MyxtYWNyOjE3NSxkZWc6MTc2LHBsdXNtbjoxNzcsc3VwMToxODUsc3VwMjoxNzgsc3VwMzoxNzksYWN1dGU6MTgwLG1pY3JvOjE4MSxwYXJhOjE4MixtaWRkb3Q6MTgzLGNlZGlsOjE4NCxvcmRtOjE4NixyYXF1bzoxODcsZnJhYzE0OjE4OCxmcmFjMTI6MTg5LGZyYWMzNDoxOTAsaXF1ZXN0OjE5MSx0aW1lczoyMTUsZGl2aWRlOjI0NyxPRWxpZzozMzgsb2VsaWc6MzM5LFNjYXJvbjozNTIsc2Nhcm9uOjM1MyxZdW1sOjM3Nixmbm9mOjQwMixjaXJjOjcxMCx0aWxkZTo3MzIsQWxwaGE6OTEzLEJldGE6OTE0LEdhbW1hOjkxNSxEZWx0YTo5MTYsRXBzaWxvbjo5MTcsWmV0YTo5MTgsRXRhOjkxOSxUaGV0YTo5MjAsSW90YTo5MjEsS2FwcGE6OTIyLExhbWJkYTo5MjMsTXU6OTI0LE51OjkyNSxYaTo5MjYsT21pY3Jvbjo5MjcsUGk6OTI4LFJobzo5MjksU2lnbWE6OTMxLFRhdTo5MzIsVXBzaWxvbjo5MzMsUGhpOjkzNCxDaGk6OTM1LFBzaTo5MzYsT21lZ2E6OTM3LGFscGhhOjk0NSxiZXRhOjk0NixnYW1tYTo5NDcsZGVsdGE6OTQ4LGVwc2lsb246OTQ5LHpldGE6OTUwLGV0YTo5NTEsdGhldGE6OTUyLGlvdGE6OTUzLGthcHBhOjk1NCxsYW1iZGE6OTU1LG11Ojk1NixudTo5NTcseGk6OTU4LG9taWNyb246OTU5LHBpOjk2MCxyaG86OTYxLHNpZ21hZjo5NjIsc2lnbWE6OTYzLHRhdTo5NjQsdXBzaWxvbjo5NjUscGhpOjk2NixjaGk6OTY3LHBzaTo5Njgsb21lZ2E6OTY5LHRoZXRhc3ltOjk3Nyx1cHNpaDo5NzgscGl2Ojk4MixlbnNwOjgxOTQsZW1zcDo4MTk1LHRoaW5zcDo4MjAxLHp3bmo6ODIwNCx6d2o6ODIwNSxscm06ODIwNixybG06ODIwNyxuZGFzaDo4MjExLG1kYXNoOjgyMTIsbHNxdW86ODIxNixyc3F1bzo4MjE3LHNicXVvOjgyMTgsbGRxdW86ODIyMCxyZHF1bzo4MjIxLGJkcXVvOjgyMjIsZGFnZ2VyOjgyMjQsRGFnZ2VyOjgyMjUsYnVsbDo4MjI2LGhlbGxpcDo4MjMwLHBlcm1pbDo4MjQwLHByaW1lOjgyNDIsUHJpbWU6ODI0Myxsc2FxdW86ODI0OSxyc2FxdW86ODI1MCxvbGluZTo4MjU0LGZyYXNsOjgyNjAsZXVybzo4MzY0LGltYWdlOjg0NjUsd2VpZXJwOjg0NzIscmVhbDo4NDc2LHRyYWRlOjg0ODIsYWxlZnN5bTo4NTAxLGxhcnI6ODU5Mix1YXJyOjg1OTMscmFycjo4NTk0LGRhcnI6ODU5NSxoYXJyOjg1OTYsY3JhcnI6ODYyOSxsQXJyOjg2NTYsdUFycjo4NjU3LHJBcnI6ODY1OCxkQXJyOjg2NTksaEFycjo4NjYwLGZvcmFsbDo4NzA0LHBhcnQ6ODcwNixleGlzdDo4NzA3LGVtcHR5Ojg3MDksbmFibGE6ODcxMSxpc2luOjg3MTIsbm90aW46ODcxMyxuaTo4NzE1LHByb2Q6ODcxOSxzdW06ODcyMSxtaW51czo4NzIyLGxvd2FzdDo4NzI3LHJhZGljOjg3MzAscHJvcDo4NzMzLGluZmluOjg3MzQsYW5nOjg3MzYsYW5kOjg3NDMsb3I6ODc0NCxjYXA6ODc0NSxjdXA6ODc0NixpbnQ6ODc0Nyx0aGVyZTQ6ODc1NixzaW06ODc2NCxjb25nOjg3NzMsYXN5bXA6ODc3NixuZTo4ODAwLGVxdWl2Ojg4MDEsbGU6ODgwNCxnZTo4ODA1LHN1Yjo4ODM0LHN1cDo4ODM1LG5zdWI6ODgzNixzdWJlOjg4Mzgsc3VwZTo4ODM5LG9wbHVzOjg4NTMsb3RpbWVzOjg4NTUscGVycDo4ODY5LHNkb3Q6ODkwMSxsY2VpbDo4OTY4LHJjZWlsOjg5NjksbGZsb29yOjg5NzAscmZsb29yOjg5NzEsbGFuZzo5MDAxLHJhbmc6OTAwMixsb3o6OTY3NCxzcGFkZXM6OTgyNCxjbHViczo5ODI3LGhlYXJ0czo5ODI5LGRpYW1zOjk4MzB9LE9iamVjdC5rZXlzKHQuRU5USVRJRVMpLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIGk9dC5FTlRJVElFU1tlXSxzPVwibnVtYmVyXCI9PXR5cGVvZiBpP1N0cmluZy5mcm9tQ2hhckNvZGUoaSk6aTt0LkVOVElUSUVTW2VdPXN9KSx0LlNUQVRFKXQuU1RBVEVbdC5TVEFURVtiXV09YjtmdW5jdGlvbiBDKHQsZSxpKXt0W2VdJiZ0W2VdKGkpfWZ1bmN0aW9uIE8odCxlLGkpe3QudGV4dE5vZGUmJkYodCksQyh0LGUsaSl9ZnVuY3Rpb24gRih0KXt0LnRleHROb2RlPVModC5vcHQsdC50ZXh0Tm9kZSksdC50ZXh0Tm9kZSYmQyh0LFwib250ZXh0XCIsdC50ZXh0Tm9kZSksdC50ZXh0Tm9kZT1cIlwifWZ1bmN0aW9uIFModCxlKXtyZXR1cm4gdC50cmltJiYoZT1lLnRyaW0oKSksdC5ub3JtYWxpemUmJihlPWUucmVwbGFjZSgvXFxzKy9nLFwiIFwiKSksZX1mdW5jdGlvbiBSKHQsZSl7cmV0dXJuIEYodCksdC50cmFja1Bvc2l0aW9uJiYoZSs9XCJcXG5MaW5lOiBcIit0LmxpbmUrXCJcXG5Db2x1bW46IFwiK3QuY29sdW1uK1wiXFxuQ2hhcjogXCIrdC5jKSxlPW5ldyBFcnJvcihlKSx0LmVycm9yPWUsQyh0LFwib25lcnJvclwiLGUpLHR9ZnVuY3Rpb24gdih0KXtyZXR1cm4gdC5zYXdSb290JiYhdC5jbG9zZWRSb290JiZQKHQsXCJVbmNsb3NlZCByb290IHRhZ1wiKSx0LnN0YXRlIT09RC5CRUdJTiYmdC5zdGF0ZSE9PUQuQkVHSU5fV0hJVEVTUEFDRSYmdC5zdGF0ZSE9PUQuVEVYVCYmUih0LFwiVW5leHBlY3RlZCBlbmRcIiksRih0KSx0LmM9XCJcIix0LmNsb3NlZD0hMCxDKHQsXCJvbmVuZFwiKSxzLmNhbGwodCx0LnN0cmljdCx0Lm9wdCksdH1mdW5jdGlvbiBQKHQsZSl7aWYoXCJvYmplY3RcIiE9dHlwZW9mIHR8fCEodCBpbnN0YW5jZW9mIHMpKXRocm93IG5ldyBFcnJvcihcImJhZCBjYWxsIHRvIHN0cmljdEZhaWxcIik7dC5zdHJpY3QmJlIodCxlKX1mdW5jdGlvbiB5KHQpe3Quc3RyaWN0fHwodC50YWdOYW1lPXQudGFnTmFtZVt0Lmxvb3NlQ2FzZV0oKSk7dmFyIGU9dC50YWdzW3QudGFncy5sZW5ndGgtMV18fHQsaT10LnRhZz17bmFtZTp0LnRhZ05hbWUsYXR0cmlidXRlczp7fX07dC5vcHQueG1sbnMmJihpLm5zPWUubnMpLHQuYXR0cmliTGlzdC5sZW5ndGg9MCxPKHQsXCJvbm9wZW50YWdzdGFydFwiLGkpfWZ1bmN0aW9uIEwodCxlKXt2YXIgaT10LmluZGV4T2YoXCI6XCIpPDA/W1wiXCIsdF06dC5zcGxpdChcIjpcIikscz1pWzBdLGE9aVsxXTtyZXR1cm4gZSYmXCJ4bWxuc1wiPT09dCYmKHM9XCJ4bWxuc1wiLGE9XCJcIikse3ByZWZpeDpzLGxvY2FsOmF9fWZ1bmN0aW9uIEIodCl7aWYodC5zdHJpY3R8fCh0LmF0dHJpYk5hbWU9dC5hdHRyaWJOYW1lW3QubG9vc2VDYXNlXSgpKSwtMSE9PXQuYXR0cmliTGlzdC5pbmRleE9mKHQuYXR0cmliTmFtZSl8fHQudGFnLmF0dHJpYnV0ZXMuaGFzT3duUHJvcGVydHkodC5hdHRyaWJOYW1lKSl0LmF0dHJpYk5hbWU9dC5hdHRyaWJWYWx1ZT1cIlwiO2Vsc2V7aWYodC5vcHQueG1sbnMpe3ZhciBlPUwodC5hdHRyaWJOYW1lLCEwKSxpPWUucHJlZml4LHM9ZS5sb2NhbDtpZihcInhtbG5zXCI9PT1pKWlmKFwieG1sXCI9PT1zJiZ0LmF0dHJpYlZhbHVlIT09YylQKHQsXCJ4bWw6IHByZWZpeCBtdXN0IGJlIGJvdW5kIHRvIFwiK2MrXCJcXG5BY3R1YWw6IFwiK3QuYXR0cmliVmFsdWUpO2Vsc2UgaWYoXCJ4bWxuc1wiPT09cyYmdC5hdHRyaWJWYWx1ZSE9PXUpUCh0LFwieG1sbnM6IHByZWZpeCBtdXN0IGJlIGJvdW5kIHRvIFwiK3UrXCJcXG5BY3R1YWw6IFwiK3QuYXR0cmliVmFsdWUpO2Vsc2V7dmFyIGE9dC50YWcsbj10LnRhZ3NbdC50YWdzLmxlbmd0aC0xXXx8dDthLm5zPT09bi5ucyYmKGEubnM9T2JqZWN0LmNyZWF0ZShuLm5zKSksYS5uc1tzXT10LmF0dHJpYlZhbHVlfXQuYXR0cmliTGlzdC5wdXNoKFt0LmF0dHJpYk5hbWUsdC5hdHRyaWJWYWx1ZV0pfWVsc2UgdC50YWcuYXR0cmlidXRlc1t0LmF0dHJpYk5hbWVdPXQuYXR0cmliVmFsdWUsTyh0LFwib25hdHRyaWJ1dGVcIix7bmFtZTp0LmF0dHJpYk5hbWUsdmFsdWU6dC5hdHRyaWJWYWx1ZX0pO3QuYXR0cmliTmFtZT10LmF0dHJpYlZhbHVlPVwiXCJ9fWZ1bmN0aW9uIFUodCxlKXtpZih0Lm9wdC54bWxucyl7dmFyIGk9dC50YWcscz1MKHQudGFnTmFtZSk7aS5wcmVmaXg9cy5wcmVmaXgsaS5sb2NhbD1zLmxvY2FsLGkudXJpPWkubnNbcy5wcmVmaXhdfHxcIlwiLGkucHJlZml4JiYhaS51cmkmJihQKHQsXCJVbmJvdW5kIG5hbWVzcGFjZSBwcmVmaXg6IFwiK0pTT04uc3RyaW5naWZ5KHQudGFnTmFtZSkpLGkudXJpPXMucHJlZml4KTt2YXIgYT10LnRhZ3NbdC50YWdzLmxlbmd0aC0xXXx8dDtpLm5zJiZhLm5zIT09aS5ucyYmT2JqZWN0LmtleXMoaS5ucykuZm9yRWFjaChmdW5jdGlvbihlKXtPKHQsXCJvbm9wZW5uYW1lc3BhY2VcIix7cHJlZml4OmUsdXJpOmkubnNbZV19KX0pO2Zvcih2YXIgbj0wLHI9dC5hdHRyaWJMaXN0Lmxlbmd0aDtuPHI7bisrKXt2YXIgbz10LmF0dHJpYkxpc3Rbbl0sYz1vWzBdLHU9b1sxXSxoPUwoYywhMCksbD1oLnByZWZpeCxUPWgubG9jYWwsRT1cIlwiPT09bD9cIlwiOmkubnNbbF18fFwiXCIscD17bmFtZTpjLHZhbHVlOnUscHJlZml4OmwsbG9jYWw6VCx1cmk6RX07bCYmXCJ4bWxuc1wiIT09bCYmIUUmJihQKHQsXCJVbmJvdW5kIG5hbWVzcGFjZSBwcmVmaXg6IFwiK0pTT04uc3RyaW5naWZ5KGwpKSxwLnVyaT1sKSx0LnRhZy5hdHRyaWJ1dGVzW2NdPXAsTyh0LFwib25hdHRyaWJ1dGVcIixwKX10LmF0dHJpYkxpc3QubGVuZ3RoPTB9dC50YWcuaXNTZWxmQ2xvc2luZz0hIWUsdC5zYXdSb290PSEwLHQudGFncy5wdXNoKHQudGFnKSxPKHQsXCJvbm9wZW50YWdcIix0LnRhZyksZXx8KHQubm9zY3JpcHR8fFwic2NyaXB0XCIhPT10LnRhZ05hbWUudG9Mb3dlckNhc2UoKT90LnN0YXRlPUQuVEVYVDp0LnN0YXRlPUQuU0NSSVBULHQudGFnPW51bGwsdC50YWdOYW1lPVwiXCIpLHQuYXR0cmliTmFtZT10LmF0dHJpYlZhbHVlPVwiXCIsdC5hdHRyaWJMaXN0Lmxlbmd0aD0wfWZ1bmN0aW9uIHgodCl7aWYoIXQudGFnTmFtZSlyZXR1cm4gUCh0LFwiV2VpcmQgZW1wdHkgY2xvc2UgdGFnLlwiKSx0LnRleHROb2RlKz1cIjwvPlwiLHZvaWQodC5zdGF0ZT1ELlRFWFQpO2lmKHQuc2NyaXB0KXtpZihcInNjcmlwdFwiIT09dC50YWdOYW1lKXJldHVybiB0LnNjcmlwdCs9XCI8L1wiK3QudGFnTmFtZStcIj5cIix0LnRhZ05hbWU9XCJcIix2b2lkKHQuc3RhdGU9RC5TQ1JJUFQpO08odCxcIm9uc2NyaXB0XCIsdC5zY3JpcHQpLHQuc2NyaXB0PVwiXCJ9dmFyIGU9dC50YWdzLmxlbmd0aCxpPXQudGFnTmFtZTt0LnN0cmljdHx8KGk9aVt0Lmxvb3NlQ2FzZV0oKSk7Zm9yKHZhciBzPWk7ZS0tOyl7aWYodC50YWdzW2VdLm5hbWU9PT1zKWJyZWFrO1AodCxcIlVuZXhwZWN0ZWQgY2xvc2UgdGFnXCIpfWlmKGU8MClyZXR1cm4gUCh0LFwiVW5tYXRjaGVkIGNsb3NpbmcgdGFnOiBcIit0LnRhZ05hbWUpLHQudGV4dE5vZGUrPVwiPC9cIit0LnRhZ05hbWUrXCI+XCIsdm9pZCh0LnN0YXRlPUQuVEVYVCk7dC50YWdOYW1lPWk7Zm9yKHZhciBhPXQudGFncy5sZW5ndGg7YS0tID5lOyl7dmFyIG49dC50YWc9dC50YWdzLnBvcCgpO3QudGFnTmFtZT10LnRhZy5uYW1lLE8odCxcIm9uY2xvc2V0YWdcIix0LnRhZ05hbWUpO3ZhciByPXt9O2Zvcih2YXIgbyBpbiBuLm5zKXJbb109bi5uc1tvXTt2YXIgYz10LnRhZ3NbdC50YWdzLmxlbmd0aC0xXXx8dDt0Lm9wdC54bWxucyYmbi5ucyE9PWMubnMmJk9iamVjdC5rZXlzKG4ubnMpLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIGk9bi5uc1tlXTtPKHQsXCJvbmNsb3NlbmFtZXNwYWNlXCIse3ByZWZpeDplLHVyaTppfSl9KX0wPT09ZSYmKHQuY2xvc2VkUm9vdD0hMCksdC50YWdOYW1lPXQuYXR0cmliVmFsdWU9dC5hdHRyaWJOYW1lPVwiXCIsdC5hdHRyaWJMaXN0Lmxlbmd0aD0wLHQuc3RhdGU9RC5URVhUfWZ1bmN0aW9uIHcodCl7dmFyIGUsaT10LmVudGl0eSxzPWkudG9Mb3dlckNhc2UoKSxhPVwiXCI7cmV0dXJuIHQuRU5USVRJRVNbaV0/dC5FTlRJVElFU1tpXTp0LkVOVElUSUVTW3NdP3QuRU5USVRJRVNbc106KFwiI1wiPT09KGk9cykuY2hhckF0KDApJiYoXCJ4XCI9PT1pLmNoYXJBdCgxKT8oaT1pLnNsaWNlKDIpLGE9KGU9cGFyc2VJbnQoaSwxNikpLnRvU3RyaW5nKDE2KSk6KGk9aS5zbGljZSgxKSxhPShlPXBhcnNlSW50KGksMTApKS50b1N0cmluZygxMCkpKSxpPWkucmVwbGFjZSgvXjArLyxcIlwiKSxpc05hTihlKXx8YS50b0xvd2VyQ2FzZSgpIT09aT8oUCh0LFwiSW52YWxpZCBjaGFyYWN0ZXIgZW50aXR5XCIpLFwiJlwiK3QuZW50aXR5K1wiO1wiKTpTdHJpbmcuZnJvbUNvZGVQb2ludChlKSl9ZnVuY3Rpb24gRyh0LGUpe1wiPFwiPT09ZT8odC5zdGF0ZT1ELk9QRU5fV0FLQSx0LnN0YXJ0VGFnUG9zaXRpb249dC5wb3NpdGlvbik6bShlKXx8KFAodCxcIk5vbi13aGl0ZXNwYWNlIGJlZm9yZSBmaXJzdCB0YWcuXCIpLHQudGV4dE5vZGU9ZSx0LnN0YXRlPUQuVEVYVCl9ZnVuY3Rpb24gTSh0LGUpe3ZhciBpPVwiXCI7cmV0dXJuIGU8dC5sZW5ndGgmJihpPXQuY2hhckF0KGUpKSxpfUQ9dC5TVEFURSxTdHJpbmcuZnJvbUNvZGVQb2ludHx8KGc9U3RyaW5nLmZyb21DaGFyQ29kZSxBPU1hdGguZmxvb3IsST1mdW5jdGlvbigpe3ZhciB0LGUsaT1bXSxzPS0xLGE9YXJndW1lbnRzLmxlbmd0aDtpZighYSlyZXR1cm5cIlwiO2Zvcih2YXIgbj1cIlwiOysrczxhOyl7dmFyIHI9TnVtYmVyKGFyZ3VtZW50c1tzXSk7aWYoIWlzRmluaXRlKHIpfHxyPDB8fHI+MTExNDExMXx8QShyKSE9PXIpdGhyb3cgUmFuZ2VFcnJvcihcIkludmFsaWQgY29kZSBwb2ludDogXCIrcik7cjw9NjU1MzU/aS5wdXNoKHIpOih0PTU1Mjk2Kygoci09NjU1MzYpPj4xMCksZT1yJTEwMjQrNTYzMjAsaS5wdXNoKHQsZSkpLChzKzE9PT1hfHxpLmxlbmd0aD4xNjM4NCkmJihuKz1nLmFwcGx5KG51bGwsaSksaS5sZW5ndGg9MCl9cmV0dXJuIG59LE9iamVjdC5kZWZpbmVQcm9wZXJ0eT9PYmplY3QuZGVmaW5lUHJvcGVydHkoU3RyaW5nLFwiZnJvbUNvZGVQb2ludFwiLHt2YWx1ZTpJLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pOlN0cmluZy5mcm9tQ29kZVBvaW50PUkpfShcInVuZGVmaW5lZFwiPT10eXBlb2YgZXhwb3J0cz90aGlzLnNheD17fTpleHBvcnRzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluTmhlQzVxY3lKZExDSnVZVzFsY3lJNld5SnpZWGdpTENKd1lYSnpaWElpTENKemRISnBZM1FpTENKdmNIUWlMQ0pUUVZoUVlYSnpaWElpTENKVFFWaFRkSEpsWVcwaUxDSmpjbVZoZEdWVGRISmxZVzBpTENKTlFWaGZRbFZHUmtWU1gweEZUa2RVU0NJc0lsTjBjbVZoYlNJc0ltSjFabVpsY25NaUxDSjBhR2x6SWl3aWFTSXNJbXdpTENKc1pXNW5kR2dpTENKamJHVmhja0oxWm1abGNuTWlMQ0p4SWl3aVl5SXNJbUoxWm1abGNrTm9aV05yVUc5emFYUnBiMjRpTENKc2IzZGxjbU5oYzJVaUxDSnNiM2RsY21OaGMyVjBZV2R6SWl3aWJHOXZjMlZEWVhObElpd2lkR0ZuY3lJc0ltTnNiM05sWkNJc0ltTnNiM05sWkZKdmIzUWlMQ0p6WVhkU2IyOTBJaXdpZEdGbklpd2laWEp5YjNJaUxDSnViM05qY21sd2RDSXNJbk4wWVhSbElpd2lVeUlzSWtKRlIwbE9JaXdpYzNSeWFXTjBSVzUwYVhScFpYTWlMQ0pGVGxSSlZFbEZVeUlzSWs5aWFtVmpkQ0lzSW1OeVpXRjBaU0lzSWxoTlRGOUZUbFJKVkVsRlV5SXNJbUYwZEhKcFlreHBjM1FpTENKNGJXeHVjeUlzSW01eklpd2ljbTl2ZEU1VElpd2lkSEpoWTJ0UWIzTnBkR2x2YmlJc0luQnZjMmwwYVc5dUlpd2liR2x1WlNJc0ltTnZiSFZ0YmlJc0ltVnRhWFFpTENKRlZrVk9WRk1pTENKdklpd2lSaUlzSW5CeWIzUnZkSGx3WlNJc0ltdGxlWE1pTENKaElpd2lhR0Z6VDNkdVVISnZjR1Z5ZEhraUxDSndkWE5vSWl3aVpXNWtJaXdpZDNKcGRHVWlMQ0pqYUhWdWF5SXNJblJ2VTNSeWFXNW5JaXdpWTJoaGNrRjBJaXdpUWtWSFNVNWZWMGhKVkVWVFVFRkRSU0lzSW1KbFoybHVWMmhwZEdWVGNHRmpaU0lzSWxSRldGUWlMQ0p6ZEdGeWRHa2lMQ0owWlhoMFRtOWtaU0lzSW5OMVluTjBjbWx1WnlJc0ltbHpWMmhwZEdWemNHRmpaU0lzSW5OMGNtbGpkRVpoYVd3aUxDSlVSVmhVWDBWT1ZFbFVXU0lzSWs5UVJVNWZWMEZMUVNJc0luTjBZWEowVkdGblVHOXphWFJwYjI0aUxDSlRRMUpKVUZRaUxDSlRRMUpKVUZSZlJVNUVTVTVISWl3aWMyTnlhWEIwSWl3aVEweFBVMFZmVkVGSElpd2lVMGROVEY5RVJVTk1JaXdpYzJkdGJFUmxZMndpTENKcGMwMWhkR05vSWl3aWJtRnRaVk4wWVhKMElpd2lUMUJGVGw5VVFVY2lMQ0owWVdkT1lXMWxJaXdpVUZKUFExOUpUbE5VSWl3aWNISnZZMGx1YzNST1lXMWxJaXdpY0hKdlkwbHVjM1JDYjJSNUlpd2ljR0ZrSWl3aVFYSnlZWGtpTENKcWIybHVJaXdpZEc5VmNIQmxja05oYzJVaUxDSkRSRUZVUVNJc0ltVnRhWFJPYjJSbElpd2lZMlJoZEdFaUxDSkRUMDFOUlU1VUlpd2lZMjl0YldWdWRDSXNJa1JQUTFSWlVFVWlMQ0prYjJOMGVYQmxJaXdpYVhOUmRXOTBaU0lzSWxOSFRVeGZSRVZEVEY5UlZVOVVSVVFpTENKRVQwTlVXVkJGWDBSVVJDSXNJa1JQUTFSWlVFVmZVVlZQVkVWRUlpd2lSRTlEVkZsUVJWOUVWRVJmVVZWUFZFVkVJaXdpUTA5TlRVVk9WRjlGVGtSSlRrY2lMQ0pEVDAxTlJVNVVYMFZPUkVWRUlpd2lkR1Y0ZEc5d2RITWlMQ0pEUkVGVVFWOUZUa1JKVGtjaUxDSkRSRUZVUVY5RlRrUkpUa2RmTWlJc0lsQlNUME5mU1U1VFZGOUZUa1JKVGtjaUxDSlFVazlEWDBsT1UxUmZRazlFV1NJc0ltNWhiV1VpTENKaWIyUjVJaXdpYm1GdFpVSnZaSGtpTENKdVpYZFVZV2NpTENKdmNHVnVWR0ZuSWl3aVQxQkZUbDlVUVVkZlUweEJVMGdpTENKQlZGUlNTVUlpTENKamJHOXpaVlJoWnlJc0ltRjBkSEpwWWs1aGJXVWlMQ0poZEhSeWFXSldZV3gxWlNJc0lrRlVWRkpKUWw5T1FVMUZJaXdpUVZSVVVrbENYMVpCVEZWRklpd2lZWFIwY21saUlpd2lRVlJVVWtsQ1gwNUJUVVZmVTBGWFgxZElTVlJGSWl3aVlYUjBjbWxpZFhSbGN5SXNJblpoYkhWbElpd2lRVlJVVWtsQ1gxWkJURlZGWDFGVlQxUkZSQ0lzSWtGVVZGSkpRbDlXUVV4VlJWOVZUbEZWVDFSRlJDSXNJa0ZVVkZKSlFsOVdRVXhWUlY5RlRsUkpWRmxmVVNJc0lrRlVWRkpKUWw5V1FVeFZSVjlEVEU5VFJVUWlMQ0pwYzBGMGRISnBZa1Z1WkNJc0lrRlVWRkpKUWw5V1FVeFZSVjlGVGxSSlZGbGZWU0lzSWtOTVQxTkZYMVJCUjE5VFFWZGZWMGhKVkVVaUxDSnViM1JOWVhSamFDSXNJbkpsZEhWeWJsTjBZWFJsSWl3aVluVm1abVZ5SWl3aWNHRnljMlZGYm5ScGRIa2lMQ0psYm5ScGRIa2lMQ0psYm5ScGRIbENiMlI1SWl3aVpXNTBhWFI1VTNSaGNuUWlMQ0pGY25KdmNpSXNJbTFoZUVGc2JHOTNaV1FpTENKTllYUm9JaXdpYldGNElpd2liV0Y0UVdOMGRXRnNJaXdpYkdWdUlpd2lZMnh2YzJWVVpYaDBJaXdpYlNJc0ltTm9aV05yUW5WbVptVnlUR1Z1WjNSb0lpd2ljbVZ6ZFcxbElpd2lZMnh2YzJVaUxDSm1iSFZ6YUNJc0luSmxjWFZwY21VaUxDSmxlQ0lzSW5OMGNtVmhiVmR5WVhCeklpd2labWxzZEdWeUlpd2laWFlpTENKaGNIQnNlU0lzSWw5d1lYSnpaWElpTENKM2NtbDBZV0pzWlNJc0luSmxZV1JoWW14bElpd2liV1VpTENKdmJtVnVaQ0lzSW05dVpYSnliM0lpTENKbGNpSXNJbDlrWldOdlpHVnlJaXdpWm05eVJXRmphQ0lzSW1SbFptbHVaVkJ5YjNCbGNuUjVJaXdpWjJWMElpd2ljMlYwSWl3aWFDSXNJbkpsYlc5MlpVRnNiRXhwYzNSbGJtVnljeUlzSW05dUlpd2laVzUxYldWeVlXSnNaU0lzSW1OdmJtWnBaM1Z5WVdKc1pTSXNJbU52Ym5OMGNuVmpkRzl5SWl3aVpHRjBZU0lzSWtKMVptWmxjaUlzSW1selFuVm1abVZ5SWl3aVUwUWlMQ0pUZEhKcGJtZEVaV052WkdWeUlpd2lhR0Z1Wkd4bGNpSXNJbWx1WkdWNFQyWWlMQ0poY21keklpd2lZWEpuZFcxbGJuUnpJaXdpYzNCc2FXTmxJaXdpWTJGc2JDSXNJbGhOVEY5T1FVMUZVMUJCUTBVaUxDSllUVXhPVTE5T1FVMUZVMUJCUTBVaUxDSjRiV3dpTENKeVpXZGxlQ0lzSW5SbGMzUWlMQ0p6ZEhKcGJtZEdjbTl0UTJoaGNrTnZaR1VpTENKbWJHOXZjaUlzSW1aeWIyMURiMlJsVUc5cGJuUWlMQ0p6SWl3aVUxUkJWRVVpTENKRFQwMU5SVTVVWDFOVVFWSlVTVTVISWl3aVlXMXdJaXdpWjNRaUxDSnNkQ0lzSW5GMWIzUWlMQ0poY0c5eklpd2lRVVZzYVdjaUxDSkJZV04xZEdVaUxDSkJZMmx5WXlJc0lrRm5jbUYyWlNJc0lrRnlhVzVuSWl3aVFYUnBiR1JsSWl3aVFYVnRiQ0lzSWtOalpXUnBiQ0lzSWtWVVNDSXNJa1ZoWTNWMFpTSXNJa1ZqYVhKaklpd2lSV2R5WVhabElpd2lSWFZ0YkNJc0lrbGhZM1YwWlNJc0lrbGphWEpqSWl3aVNXZHlZWFpsSWl3aVNYVnRiQ0lzSWs1MGFXeGtaU0lzSWs5aFkzVjBaU0lzSWs5amFYSmpJaXdpVDJkeVlYWmxJaXdpVDNOc1lYTm9JaXdpVDNScGJHUmxJaXdpVDNWdGJDSXNJbFJJVDFKT0lpd2lWV0ZqZFhSbElpd2lWV05wY21NaUxDSlZaM0poZG1VaUxDSlZkVzFzSWl3aVdXRmpkWFJsSWl3aVlXRmpkWFJsSWl3aVlXTnBjbU1pTENKaFpXeHBaeUlzSW1GbmNtRjJaU0lzSW1GeWFXNW5JaXdpWVhScGJHUmxJaXdpWVhWdGJDSXNJbU5qWldScGJDSXNJbVZoWTNWMFpTSXNJbVZqYVhKaklpd2laV2R5WVhabElpd2laWFJvSWl3aVpYVnRiQ0lzSW1saFkzVjBaU0lzSW1samFYSmpJaXdpYVdkeVlYWmxJaXdpYVhWdGJDSXNJbTUwYVd4a1pTSXNJbTloWTNWMFpTSXNJbTlqYVhKaklpd2liMmR5WVhabElpd2liM05zWVhOb0lpd2liM1JwYkdSbElpd2liM1Z0YkNJc0luTjZiR2xuSWl3aWRHaHZjbTRpTENKMVlXTjFkR1VpTENKMVkybHlZeUlzSW5WbmNtRjJaU0lzSW5WMWJXd2lMQ0o1WVdOMWRHVWlMQ0o1ZFcxc0lpd2lZMjl3ZVNJc0luSmxaeUlzSW01aWMzQWlMQ0pwWlhoamJDSXNJbU5sYm5RaUxDSndiM1Z1WkNJc0ltTjFjbkpsYmlJc0lubGxiaUlzSW1KeWRtSmhjaUlzSW5ObFkzUWlMQ0oxYld3aUxDSnZjbVJtSWl3aWJHRnhkVzhpTENKdWIzUWlMQ0p6YUhraUxDSnRZV055SWl3aVpHVm5JaXdpY0d4MWMyMXVJaXdpYzNWd01TSXNJbk4xY0RJaUxDSnpkWEF6SWl3aVlXTjFkR1VpTENKdGFXTnlieUlzSW5CaGNtRWlMQ0p0YVdSa2IzUWlMQ0pqWldScGJDSXNJbTl5WkcwaUxDSnlZWEYxYnlJc0ltWnlZV014TkNJc0ltWnlZV014TWlJc0ltWnlZV016TkNJc0ltbHhkV1Z6ZENJc0luUnBiV1Z6SWl3aVpHbDJhV1JsSWl3aVQwVnNhV2NpTENKdlpXeHBaeUlzSWxOallYSnZiaUlzSW5OallYSnZiaUlzSWxsMWJXd2lMQ0ptYm05bUlpd2lZMmx5WXlJc0luUnBiR1JsSWl3aVFXeHdhR0VpTENKQ1pYUmhJaXdpUjJGdGJXRWlMQ0pFWld4MFlTSXNJa1Z3YzJsc2IyNGlMQ0phWlhSaElpd2lSWFJoSWl3aVZHaGxkR0VpTENKSmIzUmhJaXdpUzJGd2NHRWlMQ0pNWVcxaVpHRWlMQ0pOZFNJc0lrNTFJaXdpV0draUxDSlBiV2xqY205dUlpd2lVR2tpTENKU2FHOGlMQ0pUYVdkdFlTSXNJbFJoZFNJc0lsVndjMmxzYjI0aUxDSlFhR2tpTENKRGFHa2lMQ0pRYzJraUxDSlBiV1ZuWVNJc0ltRnNjR2hoSWl3aVltVjBZU0lzSW1kaGJXMWhJaXdpWkdWc2RHRWlMQ0psY0hOcGJHOXVJaXdpZW1WMFlTSXNJbVYwWVNJc0luUm9aWFJoSWl3aWFXOTBZU0lzSW10aGNIQmhJaXdpYkdGdFltUmhJaXdpYlhVaUxDSnVkU0lzSW5ocElpd2liMjFwWTNKdmJpSXNJbkJwSWl3aWNtaHZJaXdpYzJsbmJXRm1JaXdpYzJsbmJXRWlMQ0owWVhVaUxDSjFjSE5wYkc5dUlpd2ljR2hwSWl3aVkyaHBJaXdpY0hOcElpd2liMjFsWjJFaUxDSjBhR1YwWVhONWJTSXNJblZ3YzJsb0lpd2ljR2wySWl3aVpXNXpjQ0lzSW1WdGMzQWlMQ0owYUdsdWMzQWlMQ0o2ZDI1cUlpd2llbmRxSWl3aWJISnRJaXdpY214dElpd2libVJoYzJnaUxDSnRaR0Z6YUNJc0lteHpjWFZ2SWl3aWNuTnhkVzhpTENKelluRjFieUlzSW14a2NYVnZJaXdpY21SeGRXOGlMQ0ppWkhGMWJ5SXNJbVJoWjJkbGNpSXNJa1JoWjJkbGNpSXNJbUoxYkd3aUxDSm9aV3hzYVhBaUxDSndaWEp0YVd3aUxDSndjbWx0WlNJc0lsQnlhVzFsSWl3aWJITmhjWFZ2SWl3aWNuTmhjWFZ2SWl3aWIyeHBibVVpTENKbWNtRnpiQ0lzSW1WMWNtOGlMQ0pwYldGblpTSXNJbmRsYVdWeWNDSXNJbkpsWVd3aUxDSjBjbUZrWlNJc0ltRnNaV1p6ZVcwaUxDSnNZWEp5SWl3aWRXRnljaUlzSW5KaGNuSWlMQ0prWVhKeUlpd2lhR0Z5Y2lJc0ltTnlZWEp5SWl3aWJFRnljaUlzSW5WQmNuSWlMQ0p5UVhKeUlpd2laRUZ5Y2lJc0ltaEJjbklpTENKbWIzSmhiR3dpTENKd1lYSjBJaXdpWlhocGMzUWlMQ0psYlhCMGVTSXNJbTVoWW14aElpd2lhWE5wYmlJc0ltNXZkR2x1SWl3aWJta2lMQ0p3Y205a0lpd2ljM1Z0SWl3aWJXbHVkWE1pTENKc2IzZGhjM1FpTENKeVlXUnBZeUlzSW5CeWIzQWlMQ0pwYm1acGJpSXNJbUZ1WnlJc0ltRnVaQ0lzSW05eUlpd2lZMkZ3SWl3aVkzVndJaXdpYVc1MElpd2lkR2hsY21VMElpd2ljMmx0SWl3aVkyOXVaeUlzSW1GemVXMXdJaXdpYm1VaUxDSmxjWFZwZGlJc0lteGxJaXdpWjJVaUxDSnpkV0lpTENKemRYQWlMQ0p1YzNWaUlpd2ljM1ZpWlNJc0luTjFjR1VpTENKdmNHeDFjeUlzSW05MGFXMWxjeUlzSW5CbGNuQWlMQ0p6Wkc5MElpd2liR05sYVd3aUxDSnlZMlZwYkNJc0lteG1iRzl2Y2lJc0luSm1iRzl2Y2lJc0lteGhibWNpTENKeVlXNW5JaXdpYkc5Nklpd2ljM0JoWkdWeklpd2lZMngxWW5NaUxDSm9aV0Z5ZEhNaUxDSmthV0Z0Y3lJc0ltdGxlU0lzSW1VaUxDSlRkSEpwYm1jaUxDSm1jbTl0UTJoaGNrTnZaR1VpTENKbGRtVnVkQ0lzSW01dlpHVlVlWEJsSWl3aWRHVjRkQ0lzSW5SeWFXMGlMQ0p1YjNKdFlXeHBlbVVpTENKeVpYQnNZV05sSWl3aWJXVnpjMkZuWlNJc0luQmhjbVZ1ZENJc0luRnVZVzFsSWl3aVlYUjBjbWxpZFhSbElpd2ljWFZoYkU1aGJXVWlMQ0p6Y0d4cGRDSXNJbkJ5WldacGVDSXNJbXh2WTJGc0lpd2ljVzRpTENKelpXeG1RMnh2YzJsdVp5SXNJblZ5YVNJc0lrcFRUMDRpTENKemRISnBibWRwWm5raUxDSndJaXdpYm5ZaUxDSnBjMU5sYkdaRGJHOXphVzVuSWl3aWRHOU1iM2RsY2tOaGMyVWlMQ0owSWl3aVkyeHZjMlZVYnlJc0luQnZjQ0lzSW5naUxDSnVJaXdpYm5WdElpd2laVzUwYVhSNVRFTWlMQ0p1ZFcxVGRISWlMQ0p6YkdsalpTSXNJbkJoY25ObFNXNTBJaXdpYVhOT1lVNGlMQ0p5WlhOMWJIUWlMQ0pvYVdkb1UzVnljbTluWVhSbElpd2liRzkzVTNWeWNtOW5ZWFJsSWl3aVkyOWtaVlZ1YVhSeklpd2lhVzVrWlhnaUxDSmpiMlJsVUc5cGJuUWlMQ0pPZFcxaVpYSWlMQ0pwYzBacGJtbDBaU0lzSWxKaGJtZGxSWEp5YjNJaUxDSmxlSEJ2Y25SeklsMHNJbTFoY0hCcGJtZHpJam9pUTBGQlF5eFRRVUZYUVN4SFFVTldRU3hGUVVGSlF5eFBRVUZUTEZOQlFWVkRMRVZCUVZGRExFZEJRVThzVDBGQlR5eEpRVUZKUXl4RlFVRlZSaXhGUVVGUlF5eEpRVU51UlVnc1JVRkJTVWtzVlVGQldVRXNSVUZEYUVKS0xFVkJRVWxMTEZWQlFWbEJMRVZCUTJoQ1RDeEZRVUZKVFN4aFFYVkxTaXhUUVVGMVFrb3NSVUZCVVVNc1IwRkROMElzVDBGQlR5eEpRVUZKUlN4RlFVRlZTQ3hGUVVGUlF5eEpRVGRLTDBKSUxFVkJRVWxQTEd0Q1FVRnZRaXhOUVVWNFFpeEpRU3RKU1VNc1JVRXZTVUZETEVWQlFWVXNRMEZEV2l4VlFVRlhMRmRCUVZrc1YwRkJXU3hWUVVGWExGVkJRemxETEdWQlFXZENMR1ZCUVdkQ0xGTkJRVlVzWVVGRE1VTXNZMEZCWlN4UlFVRlRMRlZCZDBJeFFpeFRRVUZUVEN4RlFVRlhSaXhGUVVGUlF5eEhRVU14UWl4TFFVRk5UeXhuUWtGQlowSk9MRWRCUTNCQ0xFOUJRVThzU1VGQlNVRXNSVUZCVlVZc1JVRkJVVU1zU1VGM1JtcERMRk5CUVhWQ1JpeEhRVU55UWl4SlFVRkxMRWxCUVVsVkxFVkJRVWtzUlVGQlIwTXNSVUZCU1Vnc1JVRkJVVWtzVDBGQlVVWXNSVUZCU1VNc1JVRkJSMFFzU1VGRGVrTldMRVZCUVU5UkxFVkJRVkZGTEVsQlFVMHNSMEYwUm5aQ1J5eERRVVJoU2l4TlFVRkJRU3hMUVVWT1N5eEZRVVpOVEN4TFFVVkxUU3hGUVVGSkxFZEJSbFJPTEV0QlIwNVBMRzlDUVVGelFtcENMRVZCUVVsUExHdENRVWh3UWtjc1MwRkpUbEFzU1VGQlRVRXNSMEZCVHl4SFFVcFFUeXhMUVV0T1VDeEpRVUZKWlN4VlFVeEZVaXhMUVV0cFFsQXNTVUZCU1dVc1YwRk1ja0pTTEV0QlMzbERVQ3hKUVVGSlowSXNZMEZNTjBOVUxFdEJUVTVWTEZWQlRrMVdMRXRCVFdGUUxFbEJRVWxsTEZWQlFWa3NZMEZCWjBJc1kwRk9OME5TTEV0QlQwNVhMRXRCUVU4c1IwRlFSRmdzUzBGUlRsa3NUMEZTVFZvc1MwRlJWV0VzVjBGU1ZtSXNTMEZST0VKakxGTkJRVlVzUlVGU2VFTmtMRXRCVTA1bExFbEJWRTFtTEV0QlUwOW5RaXhOUVVGUkxFdEJWR1pvUWl4TFFWVk9VaXhUUVVGWFFTeEZRVlpNVVN4TFFWZE9hVUlzV1VGQlkzcENMRWxCV0ZKUkxFdEJWM2xDVUN4SlFVRkpkMElzVlVGWU4wSnFRaXhMUVZsT2EwSXNUVUZCVVVNc1JVRkJSVU1zVFVGYVNuQkNMRXRCWVU1eFFpeGxRV0pOY2tJc1MwRmhhMEpRTEVsQlFVazBRaXhsUVdKMFFuSkNMRXRCWTA1elFpeFRRV1JOZEVJc1MwRmpXWEZDTEdWQlFXbENSU3hQUVVGUFF5eFBRVUZQYkVNc1JVRkJTVzFETEdOQlFXZENSaXhQUVVGUFF5eFBRVUZQYkVNc1JVRkJTV2RETEZWQlpHcEdkRUlzUzBGbFRqQkNMRmRCUVdFc1IwRm1VREZDTEV0QmIwSkdVQ3hKUVVGSmEwTXNVVUZ3UWtZelFpeExRWEZDU2pSQ0xFZEJRVXRNTEU5QlFVOURMRTlCUVU5TExFbEJja0ptTjBJc1MwRjVRazQ0UWl4bFFVRjNReXhKUVhwQ2JFTTVRaXhMUVhsQ2FVSlFMRWxCUVVselF5eFRRWHBDY2tJdlFpeExRVEJDUmpoQ0xHZENRVEZDUlRsQ0xFdEJNa0pLSzBJc1UwRXpRa2t2UWl4TFFUSkNZMmRETEV0Qk0wSmthRU1zUzBFeVFqUkNhVU1zVDBGQlV5eEhRVVZzUkVNc1JVRTNRbUZzUXl4TFFUWkNRU3hYUVhaRVpsWXNSVUZCU1RaRExFOUJRVk1zUTBGRFdDeFBRVU5CTEhkQ1FVTkJMR3RDUVVOQkxGVkJRMEVzVlVGRFFTeGxRVU5CTEZsQlEwRXNWVUZEUVN4WFFVTkJMRmxCUTBFc1VVRkRRU3hoUVVOQkxGRkJRMEVzVFVGRFFTeFJRVU5CTEZOQlEwRXNaMEpCUTBFc2EwSkJkME5IV2l4UFFVRlBReXhUUVVOV1JDeFBRVUZQUXl4UFFVRlRMRk5CUVZWWkxFZEJRM2hDTEZOQlFWTkRMRXRCUjFRc1QwRkdRVUVzUlVGQlJVTXNWVUZCV1VZc1JVRkRTQ3hKUVVGSlF5eEpRVXRrWkN4UFFVRlBaMElzVDBGRFZtaENMRTlCUVU5blFpeExRVUZQTEZOQlFWVklMRWRCUTNSQ0xFbEJRVWxKTEVWQlFVa3NSMEZEVWl4SlFVRkxMRWxCUVVsMlF5eExRVUZMYlVNc1JVRkJUMEVzUlVGQlJVc3NaVUZCWlhoRExFbEJRVWwxUXl4RlFVRkZSU3hMUVVGTGVrTXNSMEZEYWtRc1QwRkJUM1ZETEVsQk1FUllPVU1zUlVGQlZUUkRMRlZCUVZrc1EwRkRjRUpMTEVsQlFVc3NWMEZCWTBFc1JVRkJTVE5ETEU5QlEzWkNORU1zVFVFd2VVSkdMRk5CUVdkQ1F5eEhRVVZrTEVkQlFVazNReXhMUVVGTFowSXNUVUZEVUN4TlFVRk5hRUlzUzBGQlMyZENMRTFCUldJc1IwRktZV2hDTEV0QlNVWlpMRTlCUTFRc1QwRkJUMGtzUlVGTVNXaENMRXRCVFZRc2QwUkJSVW9zUjBGQll5eFBRVUZXTmtNc1JVRkRSaXhQUVVGUFJpeEZRVlJKTTBNc1RVRlhVU3hwUWtGQlZqWkRMRWxCUTFSQkxFVkJRVkZCTEVWQlFVMURMRmxCUldoQ0xFbEJRVWszUXl4RlFVRkpMRVZCUTBwTExFVkJRVWtzUjBGRFVpeExRVU5GUVN4RlFVRkplVU1zUlVGQlQwWXNSVUZCVHpWRExFdEJha0pRUkN4TFFXdENTazBzUlVGQlNVRXNSVUZGVGtFc1IwRmpUQ3hQUVd4RFYwNHNTMEYzUWtFNFFpeG5Ra0Y0UWtFNVFpeExRWGxDUml0Q0xGZEJRMGNzVDBGQlRucENMRWRCTVVKTFRpeExRVEpDUVdkRExFOUJNMEpCYUVNc1MwRTBRa0ZwUXl4UFFVRlRMRWRCTlVKVWFrTXNTMEU0UWtGcFF5eFZRVGxDUVdwRExFdEJhME5KYTBJc1QwRkRZaXhMUVVGTFF5eEZRVUZGUXl4TlFVVk1MRWRCY2tOUGNFSXNTMEZ2UTBGclFpeE5RVUZSUXl4RlFVRkZOa0lzYVVKQlExQXNWMEZCVGpGRExFVkJRMFlzVTBGRlJqSkRMRVZCZUVOUGFrUXNTMEYzUTJsQ1RTeEhRVU40UWl4VFFVVkdMRXRCUVV0aExFVkJRVVUyUWl4cFFrRkRURU1zUlVFMVEwOXFSQ3hMUVRSRGFVSk5MRWRCUTNoQ0xGTkJSVVlzUzBGQlMyRXNSVUZCUlN0Q0xFdEJRMHdzUjBGb1JFOXNSQ3hMUVdkRVNXTXNWVUZvUkVwa0xFdEJaMFIxUW1Fc1YwRkJXU3hEUVVWNFF5eEpRVVJCTEVsQlFVbHpReXhGUVVGVGJFUXNSVUZCU1N4RlFVTldTeXhIUVVGWExFMUJRVTVCTEVkQlFXMUNMRTFCUVU1QkxFbEJRM1pDUVN4RlFVRkplVU1zUlVGQlQwWXNSVUZCVHpWRExFOUJia1JtUkN4TFFXOUVZVGhDTEdkQ1FYQkVZamxDTEV0QmNVUk5LMElzVjBGRFJ5eFBRVUZPZWtJc1IwRjBSRWhPTEV0QmRVUlJaME1zVDBGMlJGSm9ReXhMUVhkRVVXbERMRTlCUVZNc1IwRjRSR3BDYWtNc1MwRXdSRkZwUXl4VlFURkVVbXBETEV0Qk9FUkZiMFFzVlVGQldWQXNSVUZCVFZFc1ZVRkJWVVlzUlVGQlVXeEVMRVZCUVVrc1IwRkZka01zVFVGQlRrc3NSMEZvUlVkT0xFdEJaMFZ0UW1Nc1UwRm9SVzVDWkN4TFFXZEZjVU5oTEdGQmFFVnlRMklzUzBGblJUSkVVaXhSUVVrelJEaEVMRVZCUVdGb1JDeEpRWEJGWWs0c1MwRnZSVFJDWXl4VlFYQkZOVUprTEV0QmIwVTRRMkVzV1VGRGFrUXdReXhGUVhKRlIzWkVMRXRCY1VWblFpeHRRMEZGV0N4TlFVRk9UU3hGUVhaRlEwNHNTMEYzUlVsclFpeE5RVUZSUXl4RlFVRkZjVU1zV1VGNFJXUjRSQ3hMUVRCRlNXOUVMRlZCUVZrNVF5eEpRVEZGYUVKT0xFdEJhVVZGYTBJc1RVRkJVVU1zUlVGQlJYTkRMRlZCYWtWYWVrUXNTMEZyUlVVd1JDeHBRa0ZzUlVZeFJDeExRV3RGTkVJclFpeFZRVmR1UXl4VFFVVkdMRXRCUVV0YUxFVkJRVVYzUXl4UFFVVkxMRTFCUVU1eVJDeEZRV3BHUjA0c1MwRnJSa1ZyUWl4TlFVRlJReXhGUVVGRmVVTXNZMEZzUmxvMVJDeExRVzlHUlRaRUxGRkJRVlYyUkN4RlFVVnVRaXhUUVVWR0xFdEJRVXRoTEVWQlFVVjVReXhqUVVOTExFMUJRVTUwUkN4RlFYcEdSMDRzUzBFd1JrVnJRaXhOUVVGUlF5eEZRVUZGTWtNc1YwRXhSbG81UkN4TFFUUkdSVFpFTEZGQlFWVXNTVUZCVFhaRUxFVkJOVVpzUWs0c1MwRTJSa1ZyUWl4TlFVRlJReXhGUVVGRmQwTXNVVUZGYmtJc1UwRkZSaXhMUVVGTGVFTXNSVUZCUlhORExGVkJSVXdzUjBGQlZTeE5RVUZPYmtRc1JVRnVSMGRPTEV0QmIwZEZhMElzVFVGQlVVTXNSVUZCUlRSRExGVkJjRWRhTDBRc1MwRnhSMFZuUlN4VFFVRlhMRkZCUTJJc1IwRkJTVllzUlVGQllXaEVMRk5CUldwQ0xFZEJRVWt5UkN4RlFVRlJReXhGUVVGWE5VUXNSMEY0UjNaQ1RpeExRWGxIUld0Q0xFMUJRVkZETEVWQlFVVm5SQ3hUUVhwSFdtNUZMRXRCTUVkRmIwVXNVVUZCVlRsRUxFOUJRMW9zUjBGQlZTeE5RVUZPUVN4RlFUTkhTazRzUzBFMFIwVnJRaXhOUVVGUlF5eEZRVUZGTWtNc1ZVRTFSMW81UkN4TFFUWkhSVzlGTEZGQlFWVXNVVUZEV2l4SFFVRlZMRTFCUVU0NVJDeEZRVGxIU2s0c1MwRXJSMFZyUWl4TlFVRlJReXhGUVVGRmEwUXNWVUV2UjFweVJTeExRV2RJUlhORkxHRkJhRWhHZEVVc1MwRm5TSGRDZFVVc1lVRkJaU3hQUVVOMlF5eERRVWRNTEVkQlJrRm9RaXhGUVd4SVMzWkVMRXRCYTBoakxHVkJiRWhrUVN4TFFXOUlUVEJFTEdsQ1FVRnRRaXhGUVhCSWVrSXhSQ3hMUVc5SWIwTXJRaXhUUVVGVkxFTkJRMnBFTEVsQlFVbDVReXhGUVhKSVJIaEZMRXRCY1VoakswSXNVMEZ5U0dRdlFpeExRWEZJWjBNd1JDeHBRa0ZEYmtOd1JDeEZRVUZKTEVsQlFVbHRSU3hOUVVGTlJDeEhRVUZMUlN4TFFVRkxMRXRCUVU5d1JTeEZRWFJJTlVKT0xFdEJkMGhGYjBRc1ZVRkJXU3hKUVVGTk9VTXNSVUY0U0hCQ1RpeExRWGxJUld0Q0xFMUJRVkZETEVWQlFVVXJRaXhMUVVWdVFpeFRRVVZHTEV0QlFVc3ZRaXhGUVVGRk5FTXNWMEUzU0VVdlJDeExRVGhJUzJkRkxGTkJRVmN4UkN4SFFVRkhjVVVzWjBKQlFXdENReXhIUVVNeFEwTXNSVUV2U0VzM1JTeExRU3RJV1N4bFFTOUlXa0VzUzBGblNVVnJRaXhOUVVGUlF5eEZRVUZGZVVRc1RVRm9TVm8xUlN4TFFXbEpSV2RGTEZOQlFWY3NSMEZxU1dKb1JTeExRV3RKUlRoRkxFMUJRVkVzU1VGc1NWWTVSU3hMUVcxSlYyZEZMRk5CUVZjeFJDeEpRVUZOTEUxQmJrazFRazRzUzBGdlNVVnJRaXhOUVVGUlF5eEZRVUZGTkVRc1VVRndTVm92UlN4TFFYRkpSV2RHTEZGQlFWVXNSMEZ5U1Zwb1JpeExRWE5KUldkRkxGTkJRVmNzUzBGMFNXSm9SU3hMUVhWSldXZEZMRk5CUVZjeFJDeEhRVUZIY1VVc1owSkJRV3RDVFN4SFFYWkpOVU5xUml4TFFYZEpSV3RDTEUxQlFWRkRMRVZCUVVVNFJDeFRRWGhKV21wR0xFdEJlVWxOYTBZc1UwRjZTVTVzUml4TFFYbEpkMEpqTEZWQlF6TkNlVU1zUlVFeFNVZDJSQ3hMUVRKSlJDd3JRMEV6U1VOQkxFdEJOa2xGYTBZc1VVRkJWU3hIUVRkSldteEdMRXRCT0VsRlowVXNVMEZCVnl4SlFVTklMRTFCUVU0eFJDeEhRVU5VZFVVc1JVRm9Ta3MzUlN4TFFXZEtXU3h2UWtGb1NscEJMRXRCWjBwM1EyZEZMRlZCYUVwNFEyaEZMRXRCYVVwRlowVXNVMEZCVnl4SFFXcEtZbWhGTEV0QmEwcEZhMElzVFVGQlVVTXNSVUZCUlN0Q0xFMUJRMUpwUXl4RlFVRlJOMFVzU1VGdVNscE9MRXRCYjBwRmEwSXNUVUZCVVVNc1JVRkJSV2xGTEdsQ1FYQktXbkJHTEV0QmNVcEZaMFVzVlVGQldURkVMRWRCY2twa1RpeExRWFZLUldkRkxGVkJRVmt4UkN4RlFVVnlRaXhUUVVWR0xFdEJRVXRoTEVWQlFVVnBSU3hwUWtGRFJEbEZMRWxCTlVwSFRpeExRVFJLVlVzc1NVRTFTbFpNTEV0Qk5rcEZhMElzVFVGQlVVTXNSVUZCUlRSRExGVkJOMHBhTDBRc1MwRTRTa1ZMTEVWQlFVa3NTVUU1U2s1TUxFdEJaMHRCWjBVc1ZVRkJXVEZFTEVWQlEyNUNMRk5CUlVZc1MwRkJTMkVzUlVGQlJUaEVMRkZCUTBzc1RVRkJUak5GTEVkQmNFdEhUaXhMUVhGTFJXdENMRTFCUVZGRExFVkJRVVVyUWl4TFFVTnFRakpDTEVWQmRFdExOMFVzUzBGelMxa3NXVUYwUzFwQkxFdEJjMHRuUTJ0R0xGTkJkRXRvUTJ4R0xFdEJkVXRGYTBZc1UwRkJWU3hKUVhaTFdteEdMRXRCZVV0RmEwWXNVMEZCVnpWRkxFVkJRMUlzVFVGQlRrRXNSVUV4UzBOT0xFdEJNa3RKYTBJc1RVRkJVVU1zUlVGQlJXdEZMRmxCUTFKR0xFVkJRVkUzUlN4TFFUVkxaRTRzUzBFMlMwbHJRaXhOUVVGUlF5eEZRVUZGYlVVc1pVRTNTMlIwUml4TFFUaExTVXNzUlVGQlNVTXNTVUZIWml4VFFVVkdMRXRCUVV0aExFVkJRVVZ0UlN4bFFXNU1SWFJHTEV0QmIweEJhMFlzVTBGQlZ6VkZMRVZCUTJSQkxFbEJja3hIVGl4TFFYRk1WVXNzU1VGeVRGWk1MRXRCYzB4RlN5eEZRVUZKTEVkQmRFeE9UQ3hMUVhWTVJXdENMRTFCUVZGRExFVkJRVVU0UkN4VFFVVnVRaXhUUVVWR0xFdEJRVXM1UkN4RlFVRkZhMFVzV1VFelRFVnlSaXhMUVRSTVFXdEdMRk5CUVZjMVJTeEZRVU5TTEUxQlFVNUJMRVZCTjB4SFRpeExRVGhNUld0Q0xFMUJRVkZETEVWQlFVVTRSQ3hSUVVOU1JTeEZRVUZSTjBVc1MwRXZURnBPTEV0QlowMUZhMElzVFVGQlVVTXNSVUZCUlc5RkxHMUNRV2hOV25aR0xFdEJhVTFGU3l4RlFVRkpReXhIUVVWaUxGTkJSVVlzUzBGQlMyRXNSVUZCUlc5RkxHMUNRWEpOUlhaR0xFdEJjMDFCYTBZc1UwRkJWelZGTEVWQlEyUkJMRWxCZGsxSFRpeExRWFZOVlVzc1NVRjJUVlpNTEV0QmQwMUZhMElzVFVGQlVVTXNSVUZCUld0RkxGbEJlRTFhY2tZc1MwRjVUVVZMTEVWQlFVa3NTVUZGWWl4VFFVVkdMRXRCUVV0akxFVkJRVVUwUkN4UlFVTkxMRTFCUVU1NlJTeEZRVGxOUjA0c1MwRXJUVVZyUWl4TlFVRlJReXhGUVVGRmNVVXNaVUV2VFZwNFJpeExRV2xPUldkR0xGTkJRVmN4UlN4RlFVVndRaXhUUVVWR0xFdEJRVXRoTEVWQlFVVnhSU3hsUVVOTExFMUJRVTVzUml4SFFYUk9SMDRzUzBGMVRrVnJRaXhOUVVGUlF5eEZRVUZGYzBVc1kwRjJUbHA2Uml4TFFYZE9SV2RHTEZGQlFWVlZMRVZCZUU1YU1VWXNTMEYzVGpSQ1VDeEpRWGhPTlVKUExFdEJkMDUzUTJkR0xGTkJlRTU0UTJoR0xFdEJlVTVOWjBZc1UwRkRWRWdzUlVFeFRrYzNSU3hMUVRCT1l5eFpRVEZPWkVFc1MwRXdUbXREWjBZc1UwRXhUbXhEYUVZc1MwRTBUa1ZuUml4UlFVRlZMRXRCTlU1YWFFWXNTMEU0VGtWblJpeFRRVUZYTEVsQlFVMHhSU3hGUVRsT2JrSk9MRXRCSzA1RmEwSXNUVUZCVVVNc1JVRkJSVFJFTEZOQlJXNUNMRk5CUlVZc1MwRkJTelZFTEVWQlFVVnpSU3hqUVVOTExFMUJRVTV1Uml4SFFVTkdhVVFzUlVGeVQwdDJSQ3hMUVhGUFl5eHhRa0Z5VDJSQkxFdEJkMDlGWjBZc1UwRkJWeXhMUVVGUE1VVXNSVUY0VDNCQ1RpeExRWGxQUld0Q0xFMUJRVkZETEVWQlFVVTBSQ3hUUVhwUFdpOUZMRXRCTWs5RmEwSXNUVUZCVVVNc1JVRkJSU3RDTEV0QlJXNUNMRk5CUlVZc1MwRkJTeTlDTEVWQlFVVjVSQ3hOUVVOTExFMUJRVTUwUlN4RlFXaFFSMDRzUzBGcFVFVnJRaXhOUVVGUlF5eEZRVUZGZDBVc1lVRnFVRm96Uml4TFFXMVFSVGhGTEU5QlFWTjRSU3hGUVVWc1FpeFRRVVZHTEV0QlFVdGhMRVZCUVVWM1JTeGhRVU5MTEUxQlFVNXlSaXhGUVhoUVIwNHNTMEY1VUVWclFpeE5RVUZSUXl4RlFVRkZlVVVzWjBKQmVsQmFOVVlzUzBFeVVFVTRSU3hQUVVGVExFbEJRVTE0UlN4RlFUTlFha0pPTEV0Qk5GQkZhMElzVFVGQlVVTXNSVUZCUlhsRUxFOUJSVzVDTEZOQlJVWXNTMEZCUzNwRUxFVkJRVVY1UlN4bFFVTkxMRTFCUVU1MFJpeEhRV3BSUjA0c1MwRnJVVTA0UlN4UFFVTlVSQ3hGUVc1UlJ6ZEZMRXRCYlZGakxGVkJibEZrUVN4TFFXMVJaME00UlN4UFFVVnlRMFFzUlVGeVVVczNSU3hMUVhGUldTeG5Ra0Z5VVZwQkxFdEJjMUZGT0VVc1RVRkJVU3hIUVhSUlZqbEZMRXRCZFZGRmEwSXNUVUZCVVVNc1JVRkJSU3RDTEUxQlEwWXNUVUZCVGpWRExFVkJlRkZLVGl4TFFYbFJSVGhGTEU5QlFWTXNTMEY2VVZnNVJTeExRVEpSUlRoRkxFOUJRVk1zUzBGQlQzaEZMRVZCTTFGc1FrNHNTMEUwVVVWclFpeE5RVUZSUXl4RlFVRkZlVVFzVDBGRmJrSXNVMEZGUml4TFFVRkxla1FzUlVGQlJXdEVMRlZCUTBzc1RVRkJUaTlFTEVWQmFsSkhUaXhMUVd0U1JXdENMRTFCUVZGRExFVkJRVVV3UlN4cFFrRkRVblpETEVWQlFXRm9SQ3hIUVc1U2FrSk9MRXRCYjFKRmEwSXNUVUZCVVVNc1JVRkJSVEpGTEdWQmNGSmFPVVlzUzBGelVrVnpSU3hqUVVGblFtaEZMRVZCUlhwQ0xGTkJSVVlzUzBGQlMyRXNSVUZCUlRKRkxHVkJRMHdzU1VFelVrODVSaXhMUVRKU1MzVkZMR05CUVdkQ2FrSXNSVUZCWVdoRUxFZEJRM1pETEZOQlEyVXNUVUZCVGtFc1JVRTNVa3BPTEV0Qk9GSkZhMElzVFVGQlVVTXNSVUZCUlRCRkxHbENRVGxTV2pkR0xFdEJaMU5GZFVVc1kwRkJaMEpxUlN4RlFVVjZRaXhUUVVWR0xFdEJRVXRoTEVWQlFVVXdSU3hwUWtGRFN5eE5RVUZPZGtZc1IwRkRSblZGTEVWQmRGTkxOMFVzUzBGelUxa3NNRUpCUVRKQ0xFTkJRekZESzBZc1MwRjJVMGN2Uml4TFFYVlRWWE5GTEdGQlEySXdRaXhMUVhoVFIyaEhMRXRCZDFOVmRVVXNaVUY0VTFaMlJTeExRVEJUUlhORkxHRkJNVk5HZEVVc1MwRXdVM2RDZFVVc1lVRkJaU3hIUVRGVGRrTjJSU3hMUVRKVFJXdENMRTFCUVZGRExFVkJRVVVyUWl4UFFUTlRXbXhFTEV0Qk5sTkZkVVVzWTBGQlowSXNTVUZCVFdwRkxFVkJOMU40UWs0c1MwRTRVMFZyUWl4TlFVRlJReXhGUVVGRk1rVXNaMEpCUlc1Q0xGTkJSVVlzUzBGQlN6TkZMRVZCUVVWblJDeFRRVU5FUml4RlFVRlJaME1zUlVGQlZUTkdMRWRCYmxSbVRpeExRVzlVUlc5RkxGTkJRVmM1UkN4SFFVVnNRalJHTEVWQmRGUkxiRWNzVFVGMVZFc3NUVUZCVGswc1JVRkRSalpHTEVWQmVGUkhia2NzVFVGNVZGa3NUVUZCVGswc1JVRjZWRTVPTEV0Qk1GUkphMElzVFVGQlVVTXNSVUZCUldsR0xHZENRVVZhT1VNc1JVRkJZV2hFTEVsQlEyaENhVVFzUlVFM1ZFTjJSQ3hMUVRaVWEwSXNhVU5CTjFSc1FrRXNTMEVyVkVsclFpeE5RVUZSUXl4RlFVRkZhMFlzVTBGSGNrSXNVMEZGUml4TFFVRkxiRVlzUlVGQlJXbEdMR1ZCUTBzc1RVRkJUamxHTEVkQlEwWTJSaXhGUVhSVlMyNUhMRTFCYzFWWExFZEJRMmhDYzBjc1JVRjJWVXQwUnl4UlFYbFZUSFZFTEVWQmVsVkxka1FzUzBGNVZXTXNhMFJCZWxWa1FTeExRVEJWUld0Q0xFMUJRVkZETEVWQlFVVnJSaXhSUVVWdVFpeFRRVVZHTEV0QlFVdHNSaXhGUVVGRmEwWXNUMEZGVEN4SFFVRkpMME1zUlVGQllXaEVMRWRCUTJZc1UwRkRaU3hOUVVGT1FTeEZRVU5VTmtZc1JVRnVWa3R1Unl4TlFXOVdWU3hOUVVGT1RTeEZRWEJXU2s0c1MwRnhWa1ZyUWl4TlFVRlJReXhGUVVGRmFVWXNaVUZEVW01RExFVkJRVkZETEVWQlFWYzFSQ3hKUVhSV2RrSk9MRXRCZFZaRmRVY3NWMEZCWVdwSExFVkJkbFptVGl4TFFYZFdSWGRITEZsQlFXTXNSMEY0Vm1oQ2VFY3NTMEY1VmtWclFpeE5RVUZSUXl4RlFVRkZjMFlzWVVGRmFrSnNSQ3hGUVROV1MzWkVMRXRCTWxaakxEQkNRVVZ5UWl4VFFVVkdMRXRCUVV0dFFpeEZRVUZGYzBZc1dVRkRTeXhOUVVGT2JrY3NSVUZvVjBkT0xFdEJhVmRGYTBJc1RVRkJVVU1zUlVGQlJYVkdMR0ZCUTBZc1RVRkJUbkJITEVkQlExUnBSQ3hGUVc1WFMzWkVMRXRCYlZkakxESkNRVzVYWkVFc1MwRnZWMFYzUnl4WlFYQlhSbmhITEV0QmIxZDFRblZITEZkQlF6VkNTU3hGUVhKWFN6TkhMRTFCYzFkTWJVY3NSVUYwVjB0dVJ5eFBRWFZYU1hORUxFVkJRV0ZvUkN4SFFYWlhha0pPTEV0QmQxZEZhMElzVFVGQlVVTXNSVUZCUlhsR0xITkNRVU5TTTBNc1JVRkJVV2RETEVWQlFWVXpSaXhIUVhwWGRFSk9MRXRCTUZkRmRVY3NXVUZCWTJwSExFVkJSWEpDYVVRc1JVRTFWMHQyUkN4TFFUUlhZeXd3UWtGRmNrSXNVMEZGUml4TFFVRkxiVUlzUlVGQlJYbEdMSE5DUVVOTUxFZEJRVlVzVFVGQlRuUkhMRVZCYWxoSFRpeExRV3RZUld0Q0xFMUJRVkZETEVWQlFVVjFSaXhwUWtGRFdpeERRVUZCTEVkQlFVbHdSQ3hGUVVGaGFFUXNSMEZEZEVJc1UwRkZRV2xFTEVWQmRGaExka1FzUzBGeldHTXNNa0pCZEZoa1FTeExRWFZZUldVc1NVRkJTVGhHTEZkQmRsaE9OMGNzUzBGMVdIZENkVWNzV1VGQll5eEhRWFpZZEVOMlJ5eExRWGRZUlhkSExGbEJRV01zUjBGRGNrSXpRaXhGUVhwWVN6ZEZMRXRCZVZoWkxHTkJRV1VzUTBGRE9VSXJSaXhMUVRGWVJ5OUdMRXRCTUZoVmRVY3NWMEZEWWs4c1RVRkJUeXhMUVROWVNqbEhMRXRCTmxoRmRVY3NWMEZCWVN4SFFVTldMRTFCUVU1cVJ5eEZRVU5HTmtZc1JVRXZXRWR1Unl4TlFXZFpUV2xGTEVWQlFWRkRMRVZCUVZjMVJDeEpRV2haZWtKT0xFdEJhVmxKZFVjc1YwRkJZV3BITEVWQmFsbHFRazRzUzBGcldVbHJRaXhOUVVGUlF5eEZRVUZGYzBZc1kwRkZha0pzUkN4RlFYQlpSM1pFTEV0QmIxbG5RaXd3UWtGd1dXaENRU3hMUVhGWlNXdENMRTFCUVZGRExFVkJRVVZyUml4UlFVZHlRaXhUUVVWR0xFdEJRVXRzUml4RlFVRkZkVVlzWVVGRFRDeEhRVUZKY0VRc1JVRkJZV2hFTEVkQlEyWXNVMEZEVXpaRkxFVkJRVkUzUlN4SlFUZFpXazRzUzBFNFdVVkxMRVZCUVVsRExFVkJPVmxPVGl4TFFTdFpSV3RDTEUxQlFWRkRMRVZCUVVVMFJpeHpRa0ZGYWtKNFJDeEZRV3BhUzNaRUxFdEJhVnBqTERSQ1FXcGFaRUVzUzBGcldrVnJRaXhOUVVGUlF5eEZRVUZGTmtZc2MwSkJiRnBhYUVnc1MwRnRXa1YzUnl4WlFVRmpiRWNzUjBGRmRrSXNVMEZGUml4TFFVRkxZU3hGUVVGRk5FWXNiMEpCUTB3c1IwRkJTWHBITEVsQmVGcEhUaXhMUVhkYVZVc3NSVUZCUnl4RFFVTlNMRTFCUVU1RExFVkJlbHBEVGl4TFFUQmFTV3RDTEUxQlFWRkRMRVZCUVVVNFJpeHpRa0V4V21ScVNDeExRVFJhU1hkSExHRkJRV1ZzUnl4RlFVVjRRaXhUUVVWR2NVY3NSVUZvWVU4elJ5eE5RVUZCUVN4TFFXbGhRVXNzUlVGQlNTeEhRV3BoU2t3c1MwRnJZVUZyUWl4TlFVRlJReXhGUVVGRkswWXNiMEpCUTJwQ0xGTkJSVVlzUzBGQlN5OUdMRVZCUVVVclJpeHZRa0ZEUkRWRUxFVkJRV0ZvUkN4SFFYUmhWazRzUzBGMVlVVnJRaXhOUVVGUlF5eEZRVUZGYTBZc1QwRkRSaXhOUVVGT0wwWXNSVUZEVkRaR0xFVkJlbUZMYmtjc1RVRXdZVlVzVFVGQlRrMHNSVUV4WVVwT0xFdEJNbUZGYTBJc1RVRkJVVU1zUlVGQlJXbEdMR1ZCUTFKdVF5eEZRVUZSUXl4RlFVRlhOVVFzU1VGRE5VSnBSQ3hGUVRkaFMzWkVMRXRCTm1GakxHOURRVGRoWkVFc1MwRTRZVVYxUnl4WFFVRmhha2NzUlVFNVlXWk9MRXRCSzJGRmQwY3NXVUZCWXl4SFFTOWhhRUo0Unl4TFFXZGlSV3RDTEUxQlFWRkRMRVZCUVVWelJpeGhRVVZxUW14RUxFVkJiR0pMZGtRc1MwRnJZbU1zTUVKQlJYSkNMRk5CUlVZc1MwRkJTMjFDTEVWQlFVVTJSaXh6UWtGRFRDeEpRVUZMUnl4RlFVRlpOMGNzUjBGQlNTeERRVU5VTEUxQlFVNUJMRVZCZUdKRFRpeExRWGxpU1d0Q0xFMUJRVkZETEVWQlFVVnBSeXh6UWtGNlltUndTQ3hMUVRKaVNYZEhMR0ZCUVdWc1J5eEZRVVY0UWl4VFFVVkdjVWNzUlVFdllrOHpSeXhOUVdkalJ5eE5RVUZPVFN4RlFVTkdOa1lzUlVGcVkwdHVSeXhOUVVGQlFTeExRVzFqUld0Q0xFMUJRVkZETEVWQlFVVnJSaXhQUVVWdVFpeFRRVVZHTEV0QlFVdHNSaXhGUVVGRk1rTXNWVUZEVEN4SFFYaGpUemxFTEV0QmQyTkxiMFVzVVVGaFN5eE5RVUZPT1VRc1JVRkRWR2RITEVWQmRHUkxkRWNzVFVGMVpFbHBSU3hGUVVGUlowTXNSVUZCVlROR0xFZEJkbVIwUWs0c1MwRjNaRVZ2UlN4VFFVRlhPVVFzUlVGNFpHSk9MRXRCZVdSWE5rUXNVVUY2WkZnM1JDeExRVEJrUlRaRUxGRkJRVlVzUzBFeFpGbzNSQ3hMUVRCa01FSnZSU3hSUVRGa01VSndSU3hMUVRKa1JXOUZMRkZCUVZVc1IwRXpaRnB3UlN4TFFUUmtSV3RDTEUxQlFWRkRMRVZCUVVWM1F5eFRRVVZhVEN4RlFVRmhhRVFzU1VGRGFFSnBSQ3hGUVM5a1IzWkVMRXRCSzJSblFpeHJRMEV2WkdoQ1FTeExRV2xsUld0Q0xFMUJRVkZETEVWQlFVVnJSeXg1UWtGNlFrVXNRMEZEYmtJc1IwRkJTUzlFTEVWQlFXRm9SQ3hIUVVObUxGTkJRMU5uU0N4RlFVRlRjRVFzUlVGQlZ6VkVMRWRCTTJNeFFrNHNTMEUwWTFFMlJDeFJRVFZqVWpkRUxFdEJObU5OTmtRc1VVRkJWU3hMUVVGUGRrUXNSVUUzWTNaQ1RpeExRVGhqVFd0Q0xFMUJRVkZETEVWQlFVVjNReXhSUVVWcVFrb3NSVUZvWkVOMlJDeExRV2RrYTBJc2JVTkJhR1JzUWtFc1MwRnRaRWx2UlN4UlFVRlZPVVFzUlVGblFuSkNMRk5CUlVZc1MwRkJTMkVzUlVGQlJXdEhMRzlDUVVOTUxFZEJRVWt2UkN4RlFVRmhhRVFzUjBGRFppeFRRVVZSTEUxQlFVNUJMRVZCUTBablJ5eEZRVEZsUzNSSExFMUJOR1ZNZFVRc1JVRTFaVXQyUkN4TFFUUmxZeXh4UTBGRmNrSXNVMEZGUml4TFFVRkxiVUlzUlVGQlJYRkRMRmxCUTFBc1MwRkJTM0pETEVWQlFVVTRSaXh6UWtGRFVDeExRVUZMT1VZc1JVRkJSV2xITEhOQ1FVTk1MRWxCUVVsSExFVkJRMEZETEVWQlEwb3NUMEZ5Wms5NFNDeExRWEZtVVd0Q0xFOUJRMklzUzBGQlMwTXNSVUZCUlhGRExGbEJRMHdyUkN4RlFVRmpjRWNzUlVGQlJTdENMRXRCUTJoQ2MwVXNSVUZCVXl4WFFVTlVMRTFCUlVZc1MwRkJTM0pITEVWQlFVVTRSaXh6UWtGRFRFMHNSVUZCWTNCSExFVkJRVVUwUml4dlFrRkRhRUpUTEVWQlFWTXNZMEZEVkN4TlFVVkdMRXRCUVV0eVJ5eEZRVUZGYVVjc2MwSkJRMHhITEVWQlFXTndSeXhGUVVGRk5rWXNjMEpCUTJoQ1VTeEZRVUZUTEdOQlNVZ3NUVUZCVG14SUxFZEJkR2RDUjA0c1MwRjFaMEpGZDBnc1NVRkJWME1zUlVGMlowSmlla2dzVFVGQlFVRXNTMEYzWjBKRk1FZ3NUMEZCVXl4SFFYaG5RbGd4U0N4TFFYbG5Ra1ZyUWl4TlFVRlJjVWNzUjBGRFRuUkVMRVZCTVdkQ1NtcEZMRXRCTUdkQ2JVSXdTQ3hQUVVGUGRrZ3NUMEZCVTNkSUxFVkJRV0ZETEVWQlFXRjBTQ3hIUVRGblFqZEVUaXhMUVRKblFrVXdTQ3hSUVVGVmNFZ3NSMEZGYWtKcFJDeEZRVGRuUWt0MlJDeExRVFpuUW1Nc2IwTkJOMmRDWkVFc1MwRTRaMEpGZDBnc1NVRkJWeXhKUVRsblFtSjRTQ3hMUVRoblFqQkNNRWdzVDBGQlUzQklMRVZCT1dkQ2JrTk9MRXRCSzJkQ1JUQklMRTlCUVZNc1IwRXZaMEpZTVVnc1MwRm5hRUpGYTBJc1RVRkJVWEZITEVkQlIycENMRk5CUlVZc1VVRkRSU3hOUVVGTkxFbEJRVWxOTEUxQmRHaENTRGRJTEV0QmMyaENhVUlzYTBKQmRHaENha0pCTEV0QmMyaENORU5yUWl4UFFYUm9RalZEYkVJc1MwRXdhRUpHSzBJc1ZVRXhhRUpGTDBJc1MwRXdhRUpwUWs4c2NVSkJOek5EYUVNc1UwRkJORUpvUWl4SFFVY3hRaXhKUVVaQkxFbEJRVWwxU1N4RlFVRmhReXhMUVVGTFF5eEpRVUZKTVVrc1JVRkJTVThzYTBKQlFXMUNMRWxCUXpkRGIwa3NSVUZCV1N4RlFVTlFhRWtzUlVGQlNTeEZRVUZIUXl4RlFVRkpTQ3hGUVVGUlNTeFBRVUZSUml4RlFVRkpReXhGUVVGSFJDeEpRVUZMTEVOQlF6bERMRWxCUVVscFNTeEZRVUZOTTBrc1JVRkJUMUVzUlVGQlVVVXNTVUZCU1VVc1QwRkROMElzUjBGQlNTdElMRVZCUVUxS0xFVkJTMUlzVDBGQlVTOUlMRVZCUVZGRkxFbEJRMlFzU1VGQlN5eFhRVU5JYTBrc1JVRkJWVFZKTEVkQlExWXNUVUZGUml4SlFVRkxMRkZCUTBoelJpeEZRVUZUZEVZc1JVRkJVU3hWUVVGWFFTeEZRVUZQZFVZc1QwRkRia04yUml4RlFVRlBkVVlzVFVGQlVTeEhRVU5tTEUxQlJVWXNTVUZCU3l4VFFVTklSQ3hGUVVGVGRFWXNSVUZCVVN4WFFVRlpRU3hGUVVGUGMwVXNVVUZEY0VOMFJTeEZRVUZQYzBVc1QwRkJVeXhIUVVOb1FpeE5RVVZHTEZGQlEwVTNReXhGUVVGTmVrSXNSVUZCVVN3clFrRkJhVU5STEVWQlFWRkZMRWxCUnpkRVowa3NSVUZCV1VZc1MwRkJTME1zU1VGQlNVTXNSVUZCVjBNc1IwRkhiRU1zU1VGQlNVVXNSVUZCU1RsSkxFVkJRVWxQTEd0Q1FVRnZRbTlKTEVWQlEyaERNVWtzUlVGQlQyZENMRzlDUVVGelFqWklMRVZCUVVrM1NTeEZRVUZQZDBNc1UwRTJNVU4wUTNOSExFTkJNMmhDVjNKSkxFMUJObWhDWWl4UFFUZG9RbUZCTEUxQk1YbENZbk5KTEU5QlFWRXNWMEZCYVVNc1QwRkJia0owU1N4TFFVRkxaMElzVFVGQlVTeExRVUZoYUVJc1RVRkRhRVIxU1N4TlFVRlBMRmRCUVdNc1QwRkJUM1pKTEV0QlFVczBReXhOUVVGTkxFOUJRM1pETkVZc1RVRkJUeXhYUVdwQ1ZDeEpRVUYxUW1wS0xFVkJRM0pDTkVrc1JVRkVjVUkxU1N4RlFXbENZVk1zVFVGbVlpeExRVUZxUWxRc1JVRkJUM1ZHTEZGQlExUkVMRVZCUVZOMFJpeEZRVUZSTEZWQlFWZEJMRVZCUVU5MVJpeFBRVU51UTNaR0xFVkJRVTkxUml4TlFVRlJMRWxCUlVzc1MwRkJiRUoyUml4RlFVRlBjMFVzVTBGRFZHZENMRVZCUVZOMFJpeEZRVUZSTEZkQlFWbEJMRVZCUVU5elJTeFJRVU53UTNSRkxFVkJRVTl6UlN4UFFVRlRMRTFCWVhCQ0xFbEJRMFV2UkN4RlFVRlRNa2tzVVVGQlVTeFZRVUZWTTBrc1QwRkRNMElzVFVGQlR6UkpMRWRCUTFBMVNTeEZRVUZUTEdGQlIxZ3NTVUZCU1RaSkxFVkJRV055U2l4RlFVRkpOa01zVDBGQlQzbEhMRTlCUVU4c1UwRkJWVU1zUjBGRE5VTXNUVUZCWXl4VlFVRlFRU3hIUVVGNVFpeFJRVUZRUVN4SlFVOHpRaXhUUVVGVGJFb3NSVUZCVjBnc1JVRkJVVU1zUjBGRE1VSXNTMEZCVFU4c1owSkJRV2RDVEN4SFFVTndRaXhQUVVGUExFbEJRVWxCTEVWQlFWVklMRVZCUVZGRExFZEJSeTlDU3l4RlFVRlBaMG9zVFVGQlRUbEpMRTFCUldKQkxFdEJRVXNyU1N4UlFVRlZMRWxCUVVseVNpeEZRVUZWUml4RlFVRlJReXhIUVVOeVEwOHNTMEZCUzJkS0xGVkJRVmNzUlVGRGFFSm9TaXhMUVVGTGFVb3NWVUZCVnl4RlFVVm9RaXhKUVVGSlF5eEZRVUZMYkVvc1MwRkZWRUVzUzBGQlN5dEpMRkZCUVZGSkxFMUJRVkVzVjBGRGJrSkVMRVZCUVVkb1NDeExRVUZMTEZGQlIxWnNReXhMUVVGTEswa3NVVUZCVVVzc1VVRkJWU3hUUVVGVlF5eEhRVU12UWtnc1JVRkJSMmhJTEV0QlFVc3NVVUZCVTIxSUxFZEJTV3BDU0N4RlFVRkhTQ3hSUVVGUkwwZ3NUVUZCVVN4TlFVZHlRbWhDTEV0QlFVdHpTaXhUUVVGWExFdEJSV2hDV0N4RlFVRlpXU3hSUVVGUkxGTkJRVlZXTEVkQlF6VkNkRWdzVDBGQlQybEpMR1ZCUVdWT0xFVkJRVWtzUzBGQlQwd3NSVUZCU1N4RFFVTnVRMWtzU1VGQlN5eFhRVU5JTEU5QlFVOVFMRVZCUVVkSUxGRkJRVkVzUzBGQlQwWXNTVUZGTTBKaExFbEJRVXNzVTBGQlZVTXNSMEZEWWl4SlFVRkxRU3hGUVVkSUxFOUJSa0ZVTEVWQlFVZFZMRzFDUVVGdFFtWXNSMEZEZEVKTExFVkJRVWRJTEZGQlFWRXNTMEZCVDBZc1IwRkJUV01zUlVGRGFrSkJMRVZCUlZSVUxFVkJRVWRYTEVkQlFVZG9RaXhGUVVGSll5eEpRVVZhUnl4WlFVRlpMRVZCUTFwRExHTkJRV01zVFVGTGNFSndTeXhGUVVGVk1rTXNWVUZCV1dZc1QwRkJUME1zVDBGQlR6RkNMRVZCUVU5M1F5eFZRVUZYTEVOQlEzQkVNRWdzV1VGQllTeERRVU5ZYkVRc1RVRkJUMjVJTEV0QlNWaEJMRVZCUVZVeVF5eFZRVUZWVFN4TlFVRlJMRk5CUVZWeFNDeEhRVU53UXl4SFFVRnpRaXh0UWtGQldFTXNVVUZEYTBJc2JVSkJRWEJDUVN4UFFVRlBReXhWUVVOa1JDeFBRVUZQUXl4VFFVRlRSaXhIUVVGUExFTkJRM1pDTEVsQlFVdHFTeXhMUVVGTGMwb3NVMEZCVlN4RFFVTnNRaXhKUVVGSll5eEZRVUZMTTBJc1VVRkJVU3hyUWtGQmEwSTBRaXhqUVVOdVEzSkxMRXRCUVV0elNpeFRRVUZYTEVsQlFVbGpMRVZCUVVjc1VVRkZla0pJTEVWQlFVOXFTeXhMUVVGTGMwb3NVMEZCVXpGSExFMUJRVTF4U0N4SFFVczNRaXhQUVVaQmFrc3NTMEZCU3l0SkxGRkJRVkZ1Unl4TlFVRk5jVWdzUlVGQlMyNUlMRmxCUTNoQ09VTXNTMEZCUzJ0RExFdEJRVXNzVDBGQlVTdElMRWxCUTFnc1IwRkhWSFJMTEVWQlFWVXlReXhWUVVGVlN5eEpRVUZOTEZOQlFWVkZMRWRCUzJ4RExFOUJTa2xCTEVkQlFWTkJMRVZCUVUweFF5eFJRVU5xUWtnc1MwRkJTelJETEUxQlFVMURMRWRCUldJM1F5eExRVUZMSzBrc1VVRkJVWEJITEU5QlEwNHNSMEZIVkdoRUxFVkJRVlV5UXl4VlFVRlZkVWdzUjBGQlN5eFRRVUZWYUVJc1JVRkJTWGxDTEVkQlEzSkRMRWxCUVVsd1FpeEZRVUZMYkVvc1MwRlRWQ3hQUVZKTGEwb3NSVUZCUjBnc1VVRkJVU3hMUVVGUFJpeExRVUZ2UXl4SlFVRTNRa1lzUlVGQldUUkNMRkZCUVZFeFFpeExRVU5vUkVzc1JVRkJSMGdzVVVGQlVTeExRVUZQUml4SFFVRk5MRmRCUTNSQ0xFbEJRVWt5UWl4RlFVRTBRaXhKUVVGeVFrTXNWVUZCVlhSTExFOUJRV1VzUTBGQlEzTkxMRlZCUVZVc1NVRkJUV2hITEUxQlFVMXhSU3hOUVVGTkxFdEJRVTB5UWl4WFFVTjJSVVFzUlVGQlMwVXNUMEZCVHl4RlFVRkhMRVZCUVVjM1FpeEhRVU5zUWtzc1JVRkJSMmhJTEV0QlFVczBSeXhOUVVGTlNTeEZRVUZKYzBJc1MwRkpaakZMTEVWQlFVOTNReXhWUVVGVmRVZ3NSMEZCUjJNc1MwRkJTM3BDTEVWQlFVbE1MRVZCUVVsNVFpeEpRVXN4UXl4SlFVRkpNVVlzUlVGQlVTeFZRVU5TU3l4RlFVRlZMRlZCUTFZeVJpeEZRVUZuUWl4MVEwRkRhRUpETEVWQlFXdENMR2REUVVOc1FtaEtMRVZCUVZNc1EwRkJSV2xLTEVsQlFVdEdMRVZCUVdWcVNpeE5RVUZQYTBvc1IwRlJkRU16Unl4RlFVRlpMRFJLUVVWYUswSXNSVUZCVnl4blRVRkZXREpDTEVWQlFXTXNOa3BCUTJSRUxFVkJRV0VzYVUxQlJXcENMRk5CUVZOeVJTeEZRVUZqYUVRc1IwRkRja0lzVFVGQllTeE5RVUZPUVN4SFFVRnRRaXhQUVVGT1FTeEhRVUZ2UWl4UFFVRk9RU3hIUVVGdlFpeFBRVUZPUVN4RlFVZHNSQ3hUUVVGVE5rVXNSVUZCVXpkRkxFZEJRMmhDTEUxQlFXRXNUVUZCVGtFc1IwRkJiVUlzVFVGQlRrRXNSVUZIZEVJc1UwRkJVelpITEVWQlFXRTNSeXhIUVVOd1FpeE5RVUZoTEUxQlFVNUJMRWRCUVdGblJDeEZRVUZoYUVRc1IwRkhia01zVTBGQlV6SkVMRVZCUVZNNFJ5eEZRVUZQZWtzc1IwRkRka0lzVDBGQlQzbExMRVZCUVUxRExFdEJRVXN4U3l4SFFVZHdRaXhUUVVGVFowZ3NSVUZCVlhsRUxFVkJRVTk2U3l4SFFVTjRRaXhQUVVGUk1rUXNSVUZCVVRoSExFVkJRVTk2U3l4SFFVZDZRaXhKUVhkeVExRXlTeXhGUVVOQlF5eEZRVU5CUXl4RlFURnlRMHBvU3l4RlFVRkpMRVZCYzFSU0xFbEJRVXNzU1VGQlNXbExMRXRCY2xSVU9Vd3NSVUZCU1N0TUxFMUJRVkVzUTBGRFZtcExMRTFCUVU5RUxFbEJRMUEyUWl4cFFrRkJhMEkzUWl4SlFVTnNRaXRDTEV0QlFVMHZRaXhKUVVOT2NVTXNXVUZCWVhKRExFbEJRMkp6UXl4VlFVRlhkRU1zU1VGRFdEUkRMRlZCUVZjMVF5eEpRVU5ZYVVVc2FVSkJRV3RDYWtVc1NVRkRiRUk0UkN4UlFVRlRPVVFzU1VGRFZHMUZMR1ZCUVdkQ2JrVXNTVUZEYUVKclJTeFpRVUZoYkVVc1NVRkRZbTlGTEcxQ1FVRnZRbkJGTEVsQlEzQkNiVXNzYVVKQlFXdENia3NzU1VGRGJFSTBSQ3hSUVVGVE5VUXNTVUZEVkhGRkxHVkJRV2RDY2tVc1NVRkRhRUp6UlN4alFVRmxkRVVzU1VGRFpubEVMRTFCUVU5NlJDeEpRVU5RZDBVc1lVRkJZM2hGTEVsQlEyUjVSU3hsUVVGblFucEZMRWxCUTJoQ2EwUXNWVUZCVjJ4RUxFbEJRMWd5UlN4bFFVRm5Rak5GTEVsQlEyaENNRVVzYVVKQlFXdENNVVVzU1VGRGJFSm5SQ3hUUVVGVmFFUXNTVUZEVm1sR0xHVkJRV2RDYWtZc1NVRkRhRUpyUml4UFFVRlJiRVlzU1VGRFVuTkdMRmxCUVdGMFJpeEpRVU5pZVVZc2MwSkJRWFZDZWtZc1NVRkRka0oxUml4aFFVRmpka1lzU1VGRFpEUkdMRzlDUVVGeFFqVkdMRWxCUTNKQ0swWXNiMEpCUVhGQ0wwWXNTVUZEY2tJMlJpeHpRa0ZCZFVJM1JpeEpRVU4yUWpoR0xITkNRVUYxUWpsR0xFbEJRM1pDYVVjc2MwSkJRWFZDYWtjc1NVRkRka0l5UXl4VlFVRlhNME1zU1VGRFdHdEhMRzlDUVVGeFFteEhMRWxCUTNKQ2QwTXNUMEZCVVhoRExFbEJRMUo1UXl4alFVRmxla01zUzBGSGFrSTNRaXhGUVVGSmJVTXNZVUZCWlN4RFFVTnFRamhLTEVsQlFVOHNTVUZEVUVNc1IwRkJUU3hKUVVOT1F5eEhRVUZOTEVsQlEwNURMRXRCUVZFc1NVRkRVa01zUzBGQlVTeExRVWRXY2swc1JVRkJTV2RETEZOQlFWY3NRMEZEWW1sTExFbEJRVThzU1VGRFVFTXNSMEZCVFN4SlFVTk9ReXhIUVVGTkxFbEJRMDVETEV0QlFWRXNTVUZEVWtNc1MwRkJVU3hKUVVOU1F5eE5RVUZUTEVsQlExUkRMRTlCUVZVc1NVRkRWa01zVFVGQlV5eEpRVU5VUXl4UFFVRlZMRWxCUTFaRExFMUJRVk1zU1VGRFZFTXNUMEZCVlN4SlFVTldReXhMUVVGUkxFbEJRMUpETEU5QlFWVXNTVUZEVmtNc1NVRkJUeXhKUVVOUVF5eFBRVUZWTEVsQlExWkRMRTFCUVZNc1NVRkRWRU1zVDBGQlZTeEpRVU5XUXl4TFFVRlJMRWxCUTFKRExFOUJRVlVzU1VGRFZrTXNUVUZCVXl4SlFVTlVReXhQUVVGVkxFbEJRMVpETEV0QlFWRXNTVUZEVWtNc1QwRkJWU3hKUVVOV1F5eFBRVUZWTEVsQlExWkRMRTFCUVZNc1NVRkRWRU1zVDBGQlZTeEpRVU5XUXl4UFFVRlZMRWxCUTFaRExFOUJRVlVzU1VGRFZrTXNTMEZCVVN4SlFVTlNReXhOUVVGVExFbEJRMVJETEU5QlFWVXNTVUZEVmtNc1RVRkJVeXhKUVVOVVF5eFBRVUZWTEVsQlExWkRMRXRCUVZFc1NVRkRVa01zVDBGQlZTeEpRVU5XUXl4UFFVRlZMRWxCUTFaRExFMUJRVk1zU1VGRFZFTXNUVUZCVXl4SlFVTlVReXhQUVVGVkxFbEJRMVpETEUxQlFWTXNTVUZEVkVNc1QwRkJWU3hKUVVOV1F5eExRVUZSTEVsQlExSkRMRTlCUVZVc1NVRkRWa01zVDBGQlZTeEpRVU5XUXl4TlFVRlRMRWxCUTFSRExFOUJRVlVzU1VGRFZrTXNTVUZCVHl4SlFVTlFReXhMUVVGUkxFbEJRMUpETEU5QlFWVXNTVUZEVmtNc1RVRkJVeXhKUVVOVVF5eFBRVUZWTEVsQlExWkRMRXRCUVZFc1NVRkRVa01zVDBGQlZTeEpRVU5XUXl4UFFVRlZMRWxCUTFaRExFMUJRVk1zU1VGRFZFTXNUMEZCVlN4SlFVTldReXhQUVVGVkxFbEJRMVpETEU5QlFWVXNTVUZEVmtNc1MwRkJVU3hKUVVOU1F5eE5RVUZUTEVsQlExUkRMRTFCUVZNc1NVRkRWRU1zVDBGQlZTeEpRVU5XUXl4TlFVRlRMRWxCUTFSRExFOUJRVlVzU1VGRFZrTXNTMEZCVVN4SlFVTlNReXhQUVVGVkxFbEJRMVpETEV0QlFWRXNTVUZEVWtNc1MwRkJVU3hKUVVOU1F5eEpRVUZQTEVsQlExQkRMRXRCUVZFc1NVRkRVa01zVFVGQlV5eEpRVU5VUXl4TFFVRlJMRWxCUTFKRExFMUJRVk1zU1VGRFZFTXNUMEZCVlN4SlFVTldReXhKUVVGUExFbEJRMUJETEU5QlFWVXNTVUZEVmtNc1MwRkJVU3hKUVVOU1F5eEpRVUZQTEVsQlExQkRMRXRCUVZFc1NVRkRVa01zVFVGQlV5eEpRVU5VUXl4SlFVRlBMRWxCUTFCRExFbEJRVThzU1VGRFVFTXNTMEZCVVN4SlFVTlNReXhKUVVGUExFbEJRMUJETEU5QlFWVXNTVUZEVmtNc1MwRkJVU3hKUVVOU1F5eExRVUZSTEVsQlExSkRMRXRCUVZFc1NVRkRVa01zVFVGQlV5eEpRVU5VUXl4TlFVRlRMRWxCUTFSRExFdEJRVkVzU1VGRFVrTXNUMEZCVlN4SlFVTldReXhOUVVGVExFbEJRMVJETEV0QlFWRXNTVUZEVWtNc1RVRkJVeXhKUVVOVVF5eFBRVUZWTEVsQlExWkRMRTlCUVZVc1NVRkRWa01zVDBGQlZTeEpRVU5XUXl4UFFVRlZMRWxCUTFaRExFMUJRVk1zU1VGRFZFTXNUMEZCVlN4SlFVTldReXhOUVVGVExFbEJRMVJETEUxQlFWTXNTVUZEVkVNc1QwRkJWU3hKUVVOV1F5eFBRVUZWTEVsQlExWkRMRXRCUVZFc1NVRkRVa01zUzBGQlVTeEpRVU5TUXl4TFFVRlJMRWxCUTFKRExFMUJRVk1zU1VGRFZFTXNUVUZCVXl4SlFVTlVReXhMUVVGUkxFbEJRMUpETEUxQlFWTXNTVUZEVkVNc1RVRkJVeXhKUVVOVVF5eFJRVUZYTEVsQlExaERMRXRCUVZFc1NVRkRVa01zU1VGQlR5eEpRVU5RUXl4TlFVRlRMRWxCUTFSRExFdEJRVkVzU1VGRFVrTXNUVUZCVXl4SlFVTlVReXhQUVVGVkxFbEJRMVpETEVkQlFVMHNTVUZEVGtNc1IwRkJUU3hKUVVOT1F5eEhRVUZOTEVsQlEwNURMRkZCUVZjc1NVRkRXRU1zUjBGQlRTeEpRVU5PUXl4SlFVRlBMRWxCUTFCRExFMUJRVk1zU1VGRFZFTXNTVUZCVHl4SlFVTlFReXhSUVVGWExFbEJRMWhETEVsQlFVOHNTVUZEVUVNc1NVRkJUeXhKUVVOUVF5eEpRVUZQTEVsQlExQkRMRTFCUVZNc1NVRkRWRU1zVFVGQlV5eEpRVU5VUXl4TFFVRlJMRWxCUTFKRExFMUJRVk1zU1VGRFZFTXNUVUZCVXl4SlFVTlVReXhSUVVGWExFbEJRMWhETEV0QlFWRXNTVUZEVWtNc1NVRkJUeXhKUVVOUVF5eE5RVUZUTEVsQlExUkRMRXRCUVZFc1NVRkRVa01zVFVGQlV5eEpRVU5VUXl4UFFVRlZMRWxCUTFaRExFZEJRVTBzU1VGRFRrTXNSMEZCVFN4SlFVTk9ReXhIUVVGTkxFbEJRMDVETEZGQlFWY3NTVUZEV0VNc1IwRkJUU3hKUVVOT1F5eEpRVUZQTEVsQlExQkRMRTlCUVZVc1NVRkRWa01zVFVGQlV5eEpRVU5VUXl4SlFVRlBMRWxCUTFCRExGRkJRVmNzU1VGRFdFTXNTVUZCVHl4SlFVTlFReXhKUVVGUExFbEJRMUJETEVsQlFVOHNTVUZEVUVNc1RVRkJVeXhKUVVOVVF5eFRRVUZaTEVsQlExcERMRTFCUVZNc1NVRkRWRU1zU1VGQlR5eEpRVU5RUXl4TFFVRlJMRXRCUTFKRExFdEJRVkVzUzBGRFVrTXNUMEZCVlN4TFFVTldReXhMUVVGUkxFdEJRMUpETEVsQlFVOHNTMEZEVUVNc1NVRkJUeXhMUVVOUVF5eEpRVUZQTEV0QlExQkRMRTFCUVZNc1MwRkRWRU1zVFVGQlV5eExRVU5VUXl4TlFVRlRMRXRCUTFSRExFMUJRVk1zUzBGRFZFTXNUVUZCVXl4TFFVTlVReXhOUVVGVExFdEJRMVJETEUxQlFWTXNTMEZEVkVNc1RVRkJVeXhMUVVOVVF5eFBRVUZWTEV0QlExWkRMRTlCUVZVc1MwRkRWa01zUzBGQlVTeExRVU5TUXl4UFFVRlZMRXRCUTFaRExFOUJRVlVzUzBGRFZrTXNUVUZCVXl4TFFVTlVReXhOUVVGVExFdEJRMVJETEU5QlFWVXNTMEZEVmtNc1QwRkJWU3hMUVVOV1F5eE5RVUZUTEV0QlExUkRMRTFCUVZNc1MwRkRWRU1zUzBGQlVTeExRVU5TUXl4TlFVRlRMRXRCUTFSRExFOUJRVlVzUzBGRFZrTXNTMEZCVVN4TFFVTlNReXhOUVVGVExFdEJRMVJETEZGQlFWY3NTMEZEV0VNc1MwRkJVU3hMUVVOU1F5eExRVUZSTEV0QlExSkRMRXRCUVZFc1MwRkRVa01zUzBGQlVTeExRVU5TUXl4TFFVRlJMRXRCUTFKRExFMUJRVk1zUzBGRFZFTXNTMEZCVVN4TFFVTlNReXhMUVVGUkxFdEJRMUpETEV0QlFWRXNTMEZEVWtNc1MwRkJVU3hMUVVOU1F5eExRVUZSTEV0QlExSkRMRTlCUVZVc1MwRkRWa01zUzBGQlVTeExRVU5TUXl4TlFVRlRMRXRCUTFSRExFMUJRVk1zUzBGRFZFTXNUVUZCVXl4TFFVTlVReXhMUVVGUkxFdEJRMUpETEUxQlFWTXNTMEZEVkVNc1IwRkJUU3hMUVVOT1F5eExRVUZSTEV0QlExSkRMRWxCUVU4c1MwRkRVRU1zVFVGQlV5eExRVU5VUXl4UFFVRlZMRXRCUTFaRExFMUJRVk1zUzBGRFZFTXNTMEZCVVN4TFFVTlNReXhOUVVGVExFdEJRMVJETEVsQlFVOHNTMEZEVUVNc1NVRkJUeXhMUVVOUVF5eEhRVUZOTEV0QlEwNURMRWxCUVU4c1MwRkRVRU1zU1VGQlR5eExRVU5RUXl4SlFVRlBMRXRCUTFCRExFOUJRVlVzUzBGRFZrTXNTVUZCVHl4TFFVTlFReXhMUVVGUkxFdEJRMUpETEUxQlFWTXNTMEZEVkVNc1IwRkJUU3hMUVVOT1F5eE5RVUZUTEV0QlExUkRMRWRCUVUwc1MwRkRUa01zUjBGQlRTeExRVU5PUXl4SlFVRlBMRXRCUTFCRExFbEJRVThzUzBGRFVFTXNTMEZCVVN4TFFVTlNReXhMUVVGUkxFdEJRMUpETEV0QlFWRXNTMEZEVWtNc1RVRkJVeXhMUVVOVVF5eFBRVUZWTEV0QlExWkRMRXRCUVZFc1MwRkRVa01zUzBGQlVTeExRVU5TUXl4TlFVRlRMRXRCUTFSRExFMUJRVk1zUzBGRFZFTXNUMEZCVlN4TFFVTldReXhQUVVGVkxFdEJRMVpETEV0QlFWRXNTMEZEVWtNc1MwRkJVU3hMUVVOU1F5eEpRVUZQTEV0QlExQkRMRTlCUVZVc1MwRkRWa01zVFVGQlV5eExRVU5VUXl4UFFVRlZMRXRCUTFaRExFMUJRVk1zVFVGSFdEVmFMRTlCUVU5blFpeExRVUZMYWtRc1JVRkJTV2RETEZWQlFWVnBTU3hSUVVGUkxGTkJRVlUyVWl4SFFVTXhReXhKUVVGSlF5eEZRVUZKTDJJc1JVRkJTV2RETEZOQlFWTTRXaXhIUVVOcVFtaFJMRVZCUVdsQ0xHbENRVUZPYVZFc1JVRkJhVUpETEU5QlFVOURMR0ZCUVdGR0xFZEJRVXRCTEVWQlEzcEVMMklzUlVGQlNXZERMRk5CUVZNNFdpeEhRVUZQYUZFc1NVRkhVamxNTEVWQlFVa3JUQ3hOUVVOb1FpOU1MRVZCUVVrclRDeE5RVUZOTDB3c1JVRkJTU3RNTEUxQlFVMUVMRWxCUVUxQkxFVkJUVFZDTEZOQlFWTnNTaXhGUVVGTk0wTXNSVUZCVVdsakxFVkJRVTkyVWl4SFFVTTFRakZMTEVWQlFVOXBZeXhKUVVGVmFtTXNSVUZCVDJsakxFZEJRVTkyVWl4SFFVZHFReXhUUVVGVGNFWXNSVUZCVlhSR0xFVkJRVkZyWXl4RlFVRlZlRklzUjBGREwwSXhTeXhGUVVGUE5rUXNWVUZCVlN0RkxFVkJRVlUxU1N4SFFVTXZRakpETEVWQlFVc3pReXhGUVVGUmEyTXNSVUZCVlhoU0xFZEJSM3BDTEZOQlFWTTVRaXhGUVVGWE5Va3NSMEZEYkVKQkxFVkJRVTgyUkN4VFFVRlhjME1zUlVGQlUyNUhMRVZCUVU5RkxFbEJRVXRHTEVWQlFVODJSQ3hWUVVNeFF6ZEVMRVZCUVU4MlJDeFZRVUZWYkVJc1JVRkJTek5ETEVWQlFWRXNVMEZCVlVFc1JVRkJUelpFTEZWQlEyNUVOMFFzUlVGQlR6WkVMRk5CUVZjc1IwRkhjRUlzVTBGQlUzTkRMRVZCUVZWcVJ5eEZRVUZMYVdNc1IwRkhkRUlzVDBGR1NXcGpMRVZCUVVscll5eFBRVUZOUkN4RlFVRlBRU3hGUVVGTFF5eFJRVU4wUW14akxFVkJRVWx0WXl4WlFVRlhSaXhGUVVGUFFTeEZRVUZMUnl4UlFVRlJMRTlCUVZFc1RVRkRlRU5JTEVWQlIxUXNVMEZCVXpGaExFVkJRVTk2UWl4RlFVRlJPRW9zUjBGVmRFSXNUMEZVUVd4Q0xFVkJRVlUxU1N4SFFVTk9RU3hGUVVGUGRVTXNaMEpCUTFSMVNDeEhRVUZOTEZkQlFXRTVTaXhGUVVGUGVVTXNTMEZEZUVJc1lVRkJaWHBETEVWQlFVOHdReXhQUVVOMFFpeFhRVUZoTVVNc1JVRkJUMlVzUjBGRmVFSXJTU3hGUVVGTExFbEJRVWw0UWl4TlFVRk5kMElzUjBGRFpqbEtMRVZCUVU5NVFpeE5RVUZSY1Vrc1JVRkRabTVJTEVWQlFVc3pReXhGUVVGUkxGVkJRVmM0U2l4SFFVTnFRamxLTEVWQlIxUXNVMEZCVTI5RUxFVkJRVXR3UkN4SFFWbGFMRTlCV0VsQkxFVkJRVTkxUWl4VlFVRlpka0lzUlVGQlQzTkNMRmxCUVZrd1F5eEZRVUZYYUVVc1JVRkJVU3h4UWtGRGVFUkJMRVZCUVU4eVFpeFJRVUZWUXl4RlFVRkZReXhQUVVOeVFqZENMRVZCUVU4eVFpeFJRVUZWUXl4RlFVRkZOa0lzYTBKQlEyNUNla1FzUlVGQlR6SkNMRkZCUVZWRExFVkJRVVVyUWl4TlFVTndRbXhETEVWQlFVMTZRaXhGUVVGUkxHdENRVVZvUWpSSkxFVkJRVlUxU1N4SFFVTldRU3hGUVVGUFpTeEZRVUZKTEVkQlExaG1MRVZCUVU5eFFpeFJRVUZUTEVWQlEyaENjMElzUlVGQlN6TkRMRVZCUVZFc1UwRkRZa2NzUlVGQlZXbE1MRXRCUVV0d1RDeEZRVUZSUVN4RlFVRlBReXhQUVVGUlJDeEZRVUZQUlN4TFFVTjBRMFlzUlVGSFZDeFRRVUZUWjBVc1JVRkJXV2hGTEVWQlFWRjFZeXhIUVVNelFpeEhRVUZ6UWl4cFFrRkJXSFpqTEV0QlFYbENRU3hoUVVGclFrY3NSMEZEY0VRc1RVRkJUU3hKUVVGSmJVa3NUVUZCVFN3d1FrRkZaSFJKTEVWQlFVOURMRkZCUTFSM1FpeEZRVUZOZWtJc1JVRkJVWFZqTEVkQlNXeENMRk5CUVZNMVZpeEZRVUZSTTBjc1IwRkRWa0VzUlVGQlQwTXNVMEZCVVVRc1JVRkJUelpGTEZGQlFWVTNSU3hGUVVGUE5rVXNVVUZCVVRkRkxFVkJRVTl0UWl4alFVTXpSQ3hKUVVGSmNXSXNSVUZCVTNoakxFVkJRVTl2UWl4TFFVRkxjRUlzUlVGQlQyOUNMRXRCUVV0U0xFOUJRVk1zU1VGQlRWb3NSVUZEYUVSM1FpeEZRVUZOZUVJc1JVRkJUM2RDTEVsQlFVMHNRMEZCUldkR0xFdEJRVTE0Unl4RlFVRlBOa1VzVVVGQlUzbERMRmRCUVZrc1NVRkhka1IwU0N4RlFVRlBSU3hKUVVGSmEwTXNVVUZEWWxvc1JVRkJTV0VzUjBGQlMyMWhMRVZCUVU5dVlTeEpRVVZzUW5KRExFVkJRVTl0UXl4WFFVRlhka0lzVDBGQlV5eEZRVU16UWpCRkxFVkJRVk4wUml4RlFVRlJMR2xDUVVGclFuZENMRWRCUjNKRExGTkJRVk5wWWl4RlFVRlBhbGNzUlVGQlRXdFhMRWRCUTNCQ0xFbEJRMGxETEVWQlJFbHVWeXhGUVVGTGQwVXNVVUZCVVN4TFFVTkdMRVZCUVVrc1EwRkJSU3hIUVVGSmVFVXNSMEZCVTBFc1JVRkJTMjlYTEUxQlFVMHNTMEZETjBORExFVkJRVk5HTEVWQlFWTXNSMEZEYkVKSExFVkJRVkZJTEVWQlFWTXNSMEZSY2tJc1QwRk1TVVFzUjBGQmMwSXNWVUZCVkd4WExFbEJRMlp4Vnl4RlFVRlRMRkZCUTFSRExFVkJRVkVzU1VGSFNDeERRVUZGUkN4UFFVRlJRU3hGUVVGUlF5eE5RVUZQUVN4SFFVZHNReXhUUVVGVE1WWXNSVUZCVVhCSUxFZEJTMllzUjBGS1MwRXNSVUZCVDBNc1UwRkRWa1FzUlVGQlQyZElMRmRCUVdGb1NDeEZRVUZQWjBnc1YwRkJWMmhJTEVWQlFVOXRRaXhsUVVkUExFbEJRV3hFYmtJc1JVRkJUMjFETEZkQlFWYzJTU3hSUVVGUmFFd3NSVUZCVDJkSUxHRkJRMjVEYUVnc1JVRkJUM2RDTEVsQlFVazRSaXhYUVVGWGNFVXNaVUZCWld4RUxFVkJRVTluU0N4WlFVTTFRMmhJTEVWQlFVOW5TQ3hYUVVGaGFFZ3NSVUZCVDJsSUxGbEJRV01zVDBGR00wTXNRMEZOUVN4SFFVRkpha2dzUlVGQlQwVXNTVUZCU1d0RExFMUJRVThzUTBGRGNFSXNTVUZCU1RKaExFVkJRVXRPTEVWQlFVMTZZeXhGUVVGUFowZ3NXVUZCV1N4SFFVTTVRalpXTEVWQlFWTkZMRVZCUVVkR0xFOUJRMXBETEVWQlFWRkRMRVZCUVVkRUxFMUJSV1lzUjBGQlpTeFZRVUZZUkN4RlFVVkdMRWRCUVdNc1VVRkJWa01zUjBGQmJVSTVZeXhGUVVGUGFVZ3NZMEZCWjBKdlJTeEZRVU0xUTNKSUxFVkJRVmRvUlN4RlFVTlVMR2REUVVGclEzRk1MRVZCUVdkQ0xHRkJRM0pEY2t3c1JVRkJUMmxJTEd0Q1FVTnFRaXhIUVVGakxGVkJRVlkyVml4SFFVRnhRamxqTEVWQlFVOXBTQ3hqUVVGblFuRkZMRVZCUTNKRWRFZ3NSVUZCVjJoRkxFVkJRMVFzYTBOQlFXOURjMHdzUlVGQmEwSXNZVUZEZWtOMFRDeEZRVUZQYVVnc2FVSkJRMnBDTEVOQlEwd3NTVUZCU1hwR0xFVkJRVTE0UWl4RlFVRlBkMElzU1VGRFltZGlMRVZCUVZONFl5eEZRVUZQYjBJc1MwRkJTM0JDTEVWQlFVOXZRaXhMUVVGTFVpeFBRVUZUTEVsQlFVMWFMRVZCUTJoRWQwSXNSVUZCU1dFc1MwRkJUMjFoTEVWQlFVOXVZU3hMUVVOd1FtSXNSVUZCU1dFc1IwRkJTMHdzVDBGQlQwTXNUMEZCVDNWaExFVkJRVTl1WVN4TFFVVm9RMklzUlVGQlNXRXNSMEZCUjNsaExFZEJRVk01WXl4RlFVRlBhVWdzV1VGUE0wSnFTQ3hGUVVGUGJVTXNWMEZCVjJkQ0xFdEJRVXNzUTBGQlEyNUVMRVZCUVU5blNDeFhRVUZaYUVnc1JVRkJUMmxJTEcxQ1FVZHNSR3BJTEVWQlFVOTNRaXhKUVVGSk9FWXNWMEZCVjNSSUxFVkJRVTluU0N4WlFVRmphRWdzUlVGQlQybElMRmxCUTJ4RU0wSXNSVUZCVTNSR0xFVkJRVkVzWTBGQlpTeERRVU01UW5kSExFdEJRVTE0Unl4RlFVRlBaMGdzVjBGRFlrOHNUVUZCVDNaSUxFVkJRVTlwU0N4alFVbHNRbXBJTEVWQlFVOW5TQ3hYUVVGaGFFZ3NSVUZCVDJsSUxGbEJRV01zU1VGSE0wTXNVMEZCVTB3c1JVRkJVelZITEVWQlFWRm5aQ3hIUVVONFFpeEhRVUZKYUdRc1JVRkJUMFVzU1VGQlNXdERMRTFCUVU4c1EwRkZjRUlzU1VGQlNWb3NSVUZCVFhoQ0xFVkJRVTkzUWl4SlFVZGlkV0lzUlVGQlMwNHNSVUZCVFhwakxFVkJRVTgyUlN4VFFVTjBRbkpFTEVWQlFVbHhZaXhQUVVGVFJTeEZRVUZIUml4UFFVTm9RbkppTEVWQlFVbHpZaXhOUVVGUlF5eEZRVUZIUkN4TlFVTm1kR0lzUlVGQlNYbGlMRWxCUVUxNllpeEZRVUZKWVN4SFFVRkhNR0VzUlVGQlIwWXNVMEZCVnl4SFFVVXpRbkppTEVWQlFVbHhZaXhUUVVGWGNtSXNSVUZCU1hsaUxFMUJRM0pDYWxvc1JVRkJWMmhGTEVWQlFWRXNOa0pCUTJwQ2EyUXNTMEZCUzBNc1ZVRkJWVzVrTEVWQlFVODJSU3hWUVVONFFuSkVMRVZCUVVsNVlpeEpRVUZOUml4RlFVRkhSaXhSUVVkbUxFbEJRVWxNTEVWQlFWTjRZeXhGUVVGUGIwSXNTMEZCUzNCQ0xFVkJRVTl2UWl4TFFVRkxVaXhQUVVGVExFbEJRVTFhTEVWQlEyaEVkMElzUlVGQlNXRXNTVUZCVFcxaExFVkJRVTl1WVN4TFFVRlBZaXhGUVVGSllTeEpRVU01UWt3c1QwRkJUMmRDTEV0QlFVdDRRaXhGUVVGSllTeEpRVUZKTWtnc1VVRkJVU3hUUVVGVmIxUXNSMEZEY0VNNVdDeEZRVUZUZEVZc1JVRkJVU3hyUWtGQmJVSXNRMEZEYkVNMll5eFBRVUZSVHl4RlFVTlNTQ3hKUVVGTGVtSXNSVUZCU1dFc1IwRkJSeXRoTEU5QlVXeENMRWxCUVVzc1NVRkJTVEZqTEVWQlFVa3NSVUZCUjBNc1JVRkJTVmdzUlVGQlQyMURMRmRCUVZkMlFpeFBRVUZSUml4RlFVRkpReXhGUVVGSFJDeEpRVUZMTEVOQlEzaEVMRWxCUVVreVl5eEZRVUZMY21Rc1JVRkJUMjFETEZkQlFWZDZRaXhIUVVOMlFqaEdMRVZCUVU4MlZ5eEZRVUZITEVkQlExWTVWaXhGUVVGUk9GWXNSVUZCUnl4SFFVTllWaXhGUVVGWFJpeEZRVUZOYWxjc1IwRkJUU3hIUVVOMlFuRlhMRVZCUVZOR0xFVkJRVk5GTEU5QlEyeENReXhGUVVGUlNDeEZRVUZUUnl4TlFVTnFRa2NzUlVGQmFVSXNTMEZCV0Vvc1JVRkJaMElzUjBGQlRYSmlMRVZCUVVsaExFZEJRVWQzWVN4SlFVRlhMRWRCUXpsRE5Wb3NSVUZCU1N4RFFVTk9kVVFzUzBGQlRVRXNSVUZEVG1Vc1RVRkJUMEVzUlVGRFVITldMRTlCUVZGQkxFVkJRMUpETEUxQlFVOUJMRVZCUTFCSExFbEJRVXRCTEVkQlMwaEtMRWRCUVhGQ0xGVkJRVmhCTEVsQlFYVkNTU3hKUVVOdVEycGFMRVZCUVZkb1JTeEZRVUZSTERaQ1FVTnFRbXRrTEV0QlFVdERMRlZCUVZWT0xFbEJRMnBDTlZvc1JVRkJSV2RoTEVsQlFVMUtMRWRCUlZZM1l5eEZRVUZQZDBJc1NVRkJTVGhHTEZkQlFWZGtMRWRCUVZGMlJDeEZRVU01UW5GRExFVkJRVk4wUml4RlFVRlJMR05CUVdWcFJDeEhRVVZzUTJwRUxFVkJRVTl0UXl4WFFVRlhka0lzVDBGQlV5eEZRVWMzUWxvc1JVRkJUM2RDTEVsQlFVazRZaXhuUWtGQmEwSk9MRVZCUnpkQ2FHUXNSVUZCVDNWQ0xGTkJRVlVzUlVGRGFrSjJRaXhGUVVGUGIwSXNTMEZCU3l0Q0xFdEJRVXR1UkN4RlFVRlBkMElzUzBGRGVFSTRSQ3hGUVVGVGRFWXNSVUZCVVN4WlFVRmhRU3hGUVVGUGQwSXNTMEZEYUVOM1lpeEpRVVZGYUdRc1JVRkJUekJDTEZWQlFUWkRMRmRCUVdwRE1VSXNSVUZCVHpaRkxGRkJRVkV3V1N4alFVZHlRM1prTEVWQlFVOHlRaXhOUVVGUlF5eEZRVUZGSzBJc1MwRkdha0l6UkN4RlFVRlBNa0lzVFVGQlVVTXNSVUZCUlhkRExFOUJTVzVDY0VVc1JVRkJUM2RDTEVsQlFVMHNTMEZEWW5oQ0xFVkJRVTgyUlN4UlFVRlZMRWxCUlc1Q04wVXNSVUZCVDJkSUxGZEJRV0ZvU0N4RlFVRlBhVWdzV1VGQll5eEhRVU42UTJwSUxFVkJRVTl0UXl4WFFVRlhka0lzVDBGQlV5eEZRVWMzUWl4VFFVRlRiVWNzUlVGQlZTOUhMRWRCUTJwQ0xFbEJRVXRCTEVWQlFVODJSU3hSUVVsV0xFOUJTRUZpTEVWQlFWZG9SU3hGUVVGUkxEQkNRVU51UWtFc1JVRkJUelpFTEZWQlFWa3NWMEZEYmtJM1JDeEZRVUZQTWtJc1RVRkJVVU1zUlVGQlJTdENMRTFCU1c1Q0xFZEJRVWt6UkN4RlFVRlBjMFVzVDBGQlVTeERRVU5xUWl4SFFVRjFRaXhYUVVGdVFuUkZMRVZCUVU4MlJTeFJRVWxVTEU5QlNFRTNSU3hGUVVGUGMwVXNVVUZCVlN4TFFVRlBkRVVzUlVGQlR6WkZMRkZCUVZVc1NVRkRla00zUlN4RlFVRlBOa1VzVVVGQlZTeFJRVU5xUWpkRkxFVkJRVTh5UWl4TlFVRlJReXhGUVVGRmQwTXNVVUZIYmtKclFpeEZRVUZUZEVZc1JVRkJVU3hYUVVGWlFTeEZRVUZQYzBVc1VVRkRjRU4wUlN4RlFVRlBjMFVzVDBGQlV5eEhRVXRzUWl4SlFVRkphMW9zUlVGQlNYaGtMRVZCUVU5dlFpeExRVUZMVWl4UFFVTm9RbWxGTEVWQlFWVTNSU3hGUVVGUE5rVXNVVUZEYUVJM1JTeEZRVUZQUXl4VFFVTldORVVzUlVGQlZVRXNSVUZCVVRkRkxFVkJRVTl0UWl4alFVY3pRaXhKUVVSQkxFbEJRVWx6WXl4RlFVRlZOVmtzUlVGRFVESlpMRXRCUVVzc1EwRkZWaXhIUVVSWmVHUXNSVUZCVDI5Q0xFdEJRVXR2WXl4SFFVTmthRmdzVDBGQlUybFlMRVZCU1dwQ0xFMUJSa0Y2V2l4RlFVRlhhRVVzUlVGQlVTeDNRa0ZQZGtJc1IwRkJTWGRrTEVWQlFVa3NSVUZKVGl4UFFVaEJlRm9zUlVGQlYyaEZMRVZCUVZFc01FSkJRVFJDUVN4RlFVRlBOa1VzVTBGRGRFUTNSU3hGUVVGUE5rUXNWVUZCV1N4TFFVRlBOMFFzUlVGQlR6WkZMRkZCUVZVc1UwRkRNME0zUlN4RlFVRlBNa0lzVFVGQlVVTXNSVUZCUlN0Q0xFMUJSMjVDTTBRc1JVRkJUelpGTEZGQlFWVkJMRVZCUldwQ0xFbEJSRUVzU1VGQlNXZElMRVZCUVVrM1RDeEZRVUZQYjBJc1MwRkJTMUlzVDBGRFltbE1MRXRCUVUweVVpeEhRVUZITEVOQlEyUXNTVUZCU1doakxFVkJRVTE0UWl4RlFVRlBkMElzU1VGQlRYaENMRVZCUVU5dlFpeExRVUZMYzJNc1RVRkRia014WkN4RlFVRlBOa1VzVVVGQlZUZEZMRVZCUVU5M1FpeEpRVUZKWjBZc1MwRkROVUpzUWl4RlFVRlRkRVlzUlVGQlVTeGhRVUZqUVN4RlFVRlBOa1VzVTBGRmRFTXNTVUZCU1RoWkxFVkJRVWtzUjBGRFVpeEpRVUZMTEVsQlFVbHFaQ3hMUVVGTFl5eEZRVUZKWVN4SFFVTm9Rbk5pTEVWQlFVVnFaQ3hIUVVGTFl5eEZRVUZKWVN4SFFVRkhNMElzUjBGSGFFSXNTVUZCU1RoaUxFVkJRVk40WXl4RlFVRlBiMElzUzBGQlMzQkNMRVZCUVU5dlFpeExRVUZMVWl4UFFVRlRMRWxCUVUxYUxFVkJRMmhFUVN4RlFVRlBSU3hKUVVGSmEwTXNUMEZCVTFvc1JVRkJTV0VzUzBGQlQyMWhMRVZCUVU5dVlTeEpRVVY0UTB3c1QwRkJUMmRDTEV0QlFVdDRRaXhGUVVGSllTeEpRVUZKTWtnc1VVRkJVU3hUUVVGVmIxUXNSMEZEY0VNc1NVRkJTVkVzUlVGQlNYQmpMRVZCUVVsaExFZEJRVWNyWVN4SFFVTm1PVmdzUlVGQlUzUkdMRVZCUVZFc2JVSkJRVzlDTEVOQlFVVTJZeXhQUVVGUlR5eEZRVUZIU0N4SlFVRkxWeXhOUVVsdVJDeEpRVUZPU2l4SlFVRlRlR1FzUlVGQlQzTkNMRmxCUVdFc1IwRkRha04wUWl4RlFVRlBOa1VzVVVGQlZUZEZMRVZCUVU5cFNDeFpRVUZqYWtnc1JVRkJUMmRJTEZkQlFXRXNSMEZETVVSb1NDeEZRVUZQYlVNc1YwRkJWM1pDTEU5QlFWTXNSVUZETTBKYUxFVkJRVTh5UWl4TlFVRlJReXhGUVVGRkswSXNTMEZIYmtJc1UwRkJVM1ZGTEVWQlFXRnNTU3hIUVVOd1FpeEpRVVZKTm1Rc1JVRkdRVEZXTEVWQlFWTnVTU3hGUVVGUGJVa3NUMEZEYUVJeVZpeEZRVUZYTTFZc1JVRkJUMjlXTEdOQlJXeENVU3hGUVVGVExFZEJSV0lzVDBGQlNTOWtMRVZCUVU4clFpeFRRVUZUYjBjc1IwRkRXRzVKTEVWQlFVOHJRaXhUUVVGVGIwY3NSMEZGY2tKdVNTeEZRVUZQSzBJc1UwRkJVeXRpTEVkQlExZzVaQ3hGUVVGUEswSXNVMEZCVXl0aUxFbEJSMEVzVDBGRWVrSXpWaXhGUVVGVE1sWXNSMEZEUlhSaExFOUJRVThzUzBGRFV5eE5RVUZ5UWpKRkxFVkJRVTh6UlN4UFFVRlBMRWxCUTJoQ01rVXNSVUZCVTBFc1JVRkJUelpXTEUxQlFVMHNSMEZGZEVKRUxFZEJSRUZHTEVWQlFVMUpMRk5CUVZNNVZpeEZRVUZSTEV0QlExWTFSU3hUUVVGVExFMUJSWFJDTkVVc1JVRkJVMEVzUlVGQlR6WldMRTFCUVUwc1IwRkZkRUpFTEVkQlJFRkdMRVZCUVUxSkxGTkJRVk01Vml4RlFVRlJMRXRCUTFZMVJTeFRRVUZUTEUxQlJ6RkNORVVzUlVGQlUwRXNSVUZCVDIxVkxGRkJRVkVzVFVGQlR5eEpRVU16UWpSQ0xFMUJRVTFNTEVsQlFWRkZMRVZCUVU5U0xHZENRVUZyUW5CV0xFZEJRM3BEYmtVc1JVRkJWMmhGTEVWQlFWRXNORUpCUTFvc1NVRkJUVUVzUlVGQlQyMUpMRTlCUVZNc1MwRkhlRUkwVkN4UFFVRlBibEVzWTBGQlkybFRMRWxCUnpsQ0xGTkJRVk51WVN4RlFVRnBRakZFTEVWQlFWRmxMRWRCUTNSQ0xFMUJRVTVCTEVkQlEwWm1MRVZCUVU4eVFpeE5RVUZSUXl4RlFVRkZjME1zVlVGRGFrSnNSU3hGUVVGUGJVVXNhVUpCUVcxQ2JrVXNSVUZCVDNkRExGVkJRM1pDZFVJc1JVRkJZV2hFTEV0QlIzWkNhVVFzUlVGQlYyaEZMRVZCUVZFc2IwTkJRMjVDUVN4RlFVRlBOa1FzVTBGQlZ6bERMRVZCUTJ4Q1ppeEZRVUZQTWtJc1RVRkJVVU1zUlVGQlJTdENMRTFCU1hKQ0xGTkJRVk5JTEVWQlFWRkdMRVZCUVU4MVF5eEhRVU4wUWl4SlFVRkplV1FzUlVGQlV5eEhRVWxpTEU5QlNFbDZaQ3hGUVVGSk5FTXNSVUZCVFRGRExGTkJRMXAxWkN4RlFVRlROMkVzUlVGQlRVVXNUMEZCVHpsRExFbEJSV3BDZVdRc1JVRnlWbFIyWXl4RlFVRkpOMElzUlVGQlNTdE1MRTFCTWpOQ1NHbFJMRTlCUVU5dVVTeG5Ra0ZGU2tZc1JVRkJjVUp4VVN4UFFVRlBReXhoUVVNMVFuSlJMRVZCUVZGdVJDeExRVUZMYlVRc1RVRkRZa01zUlVGQlowSXNWMEZEYkVJc1NVRkZTWGRUTEVWQlEwRkRMRVZCUmtGRExFVkJRVmtzUjBGSFdrTXNSMEZCVXl4RlFVTlVNMlFzUlVGQlUzTkxMRlZCUVZWMFN5eFBRVU4yUWl4SlFVRkxRU3hGUVVOSUxFMUJRVThzUjBGSFZDeEpRVVJCTEVsQlFVbDFaQ3hGUVVGVExFdEJRMHBKTEVWQlFWRXpaQ3hIUVVGUkxFTkJRM1pDTEVsQlFVazBaQ3hGUVVGWlF5eFBRVUZQZGxRc1ZVRkJWWEZVTEVsQlEycERMRWxCUTBkSExGTkJRVk5HTEVsQlExWkJMRVZCUVZrc1IwRkRXa0VzUlVGQldTeFRRVU5hTjFNc1JVRkJUVFpUTEV0QlFXVkJMRVZCUlhKQ0xFMUJRVTFITEZkQlFWY3NkVUpCUVhsQ1NDeEhRVVY0UTBFc1IwRkJZU3hOUVVObVJpeEZRVUZWYm1Jc1MwRkJTM0ZpTEVsQlNXWktMRVZCUVc5RExGRkJSSEJEU1N4SFFVRmhMRkZCUTJsQ0xFbEJRemxDU0N4RlFVRm5Ra2NzUlVGQldTeExRVUZUTEUxQlEzSkRSaXhGUVVGVmJtSXNTMEZCUzJsaUxFVkJRV1ZETEV0QlJUVkNSU3hGUVVGUkxFbEJRVTB6WkN4SFFVRlZNR1FzUlVGQlZURmtMRTlCTjBKNlFpeFRRVGhDV0hWa0xFZEJRVlY2VXl4RlFVRnRRbTVETEUxQlFVMHNTMEZCVFN0VkxFZEJRM3BEUVN4RlFVRlZNV1FzVDBGQlV5eEhRVWQyUWl4UFFVRlBkV1FzUjBGSFRHNWpMRTlCUVU5cFNTeGxRVU5VYWtrc1QwRkJUMmxKTEdWQlFXVTRVaXhQUVVGUkxHZENRVUZwUWl4RFFVTTNRM2hWTEUxQlFVOXhSU3hGUVVOUWNFSXNZMEZCWXl4RlFVTmtaaXhWUVVGVkxFbEJSMXB6VXl4UFFVRlBibEVzWTBGQlowSkJMRWRCZUdoRU9VSXNRMEUwYUVSeFFpeHZRa0ZCV21kVUxGRkJRVEJDYm1Vc1MwRkJTMVlzU1VGQlRTeEhRVUZMTm1VaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZjM1JoWjJsdVp5OXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTl6WVhndmJHbGlMM05oZUM1cWN5SjkiLCJtb2R1bGUuZXhwb3J0cz1TdHJlYW07dmFyIEVFPXJlcXVpcmUoXCJldmVudHNcIikuRXZlbnRFbWl0dGVyLGluaGVyaXRzPXJlcXVpcmUoXCJpbmhlcml0c1wiKTtmdW5jdGlvbiBTdHJlYW0oKXtFRS5jYWxsKHRoaXMpfWluaGVyaXRzKFN0cmVhbSxFRSksU3RyZWFtLlJlYWRhYmxlPXJlcXVpcmUoXCJyZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fcmVhZGFibGUuanNcIiksU3RyZWFtLldyaXRhYmxlPXJlcXVpcmUoXCJyZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fd3JpdGFibGUuanNcIiksU3RyZWFtLkR1cGxleD1yZXF1aXJlKFwicmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX2R1cGxleC5qc1wiKSxTdHJlYW0uVHJhbnNmb3JtPXJlcXVpcmUoXCJyZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fdHJhbnNmb3JtLmpzXCIpLFN0cmVhbS5QYXNzVGhyb3VnaD1yZXF1aXJlKFwicmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3Bhc3N0aHJvdWdoLmpzXCIpLFN0cmVhbS5maW5pc2hlZD1yZXF1aXJlKFwicmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2VuZC1vZi1zdHJlYW0uanNcIiksU3RyZWFtLnBpcGVsaW5lPXJlcXVpcmUoXCJyZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvcGlwZWxpbmUuanNcIiksU3RyZWFtLlN0cmVhbT1TdHJlYW0sU3RyZWFtLnByb3RvdHlwZS5waXBlPWZ1bmN0aW9uKGUscil7dmFyIHQ9dGhpcztmdW5jdGlvbiBhKHIpe2Uud3JpdGFibGUmJiExPT09ZS53cml0ZShyKSYmdC5wYXVzZSYmdC5wYXVzZSgpfWZ1bmN0aW9uIGkoKXt0LnJlYWRhYmxlJiZ0LnJlc3VtZSYmdC5yZXN1bWUoKX10Lm9uKFwiZGF0YVwiLGEpLGUub24oXCJkcmFpblwiLGkpLGUuX2lzU3RkaW98fHImJiExPT09ci5lbmR8fCh0Lm9uKFwiZW5kXCIscyksdC5vbihcImNsb3NlXCIsbykpO3ZhciBuPSExO2Z1bmN0aW9uIHMoKXtufHwobj0hMCxlLmVuZCgpKX1mdW5jdGlvbiBvKCl7bnx8KG49ITAsXCJmdW5jdGlvblwiPT10eXBlb2YgZS5kZXN0cm95JiZlLmRlc3Ryb3koKSl9ZnVuY3Rpb24gbShlKXtpZihsKCksMD09PUVFLmxpc3RlbmVyQ291bnQodGhpcyxcImVycm9yXCIpKXRocm93IGV9ZnVuY3Rpb24gbCgpe3QucmVtb3ZlTGlzdGVuZXIoXCJkYXRhXCIsYSksZS5yZW1vdmVMaXN0ZW5lcihcImRyYWluXCIsaSksdC5yZW1vdmVMaXN0ZW5lcihcImVuZFwiLHMpLHQucmVtb3ZlTGlzdGVuZXIoXCJjbG9zZVwiLG8pLHQucmVtb3ZlTGlzdGVuZXIoXCJlcnJvclwiLG0pLGUucmVtb3ZlTGlzdGVuZXIoXCJlcnJvclwiLG0pLHQucmVtb3ZlTGlzdGVuZXIoXCJlbmRcIixsKSx0LnJlbW92ZUxpc3RlbmVyKFwiY2xvc2VcIixsKSxlLnJlbW92ZUxpc3RlbmVyKFwiY2xvc2VcIixsKX1yZXR1cm4gdC5vbihcImVycm9yXCIsbSksZS5vbihcImVycm9yXCIsbSksdC5vbihcImVuZFwiLGwpLHQub24oXCJjbG9zZVwiLGwpLGUub24oXCJjbG9zZVwiLGwpLGUuZW1pdChcInBpcGVcIix0KSxlfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltbHVaR1Y0TG1weklsMHNJbTVoYldWeklqcGJJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0pUZEhKbFlXMGlMQ0pGUlNJc0luSmxjWFZwY21VaUxDSkZkbVZ1ZEVWdGFYUjBaWElpTENKcGJtaGxjbWwwY3lJc0ltTmhiR3dpTENKMGFHbHpJaXdpVW1WaFpHRmliR1VpTENKWGNtbDBZV0pzWlNJc0lrUjFjR3hsZUNJc0lsUnlZVzV6Wm05eWJTSXNJbEJoYzNOVWFISnZkV2RvSWl3aVptbHVhWE5vWldRaUxDSndhWEJsYkdsdVpTSXNJbkJ5YjNSdmRIbHdaU0lzSW5CcGNHVWlMQ0prWlhOMElpd2liM0IwYVc5dWN5SXNJbk52ZFhKalpTSXNJbTl1WkdGMFlTSXNJbU5vZFc1cklpd2lkM0pwZEdGaWJHVWlMQ0ozY21sMFpTSXNJbkJoZFhObElpd2liMjVrY21GcGJpSXNJbkpsWVdSaFlteGxJaXdpY21WemRXMWxJaXdpYjI0aUxDSmZhWE5UZEdScGJ5SXNJbVZ1WkNJc0ltOXVaVzVrSWl3aWIyNWpiRzl6WlNJc0ltUnBaRTl1Ulc1a0lpd2laR1Z6ZEhKdmVTSXNJbTl1WlhKeWIzSWlMQ0psY2lJc0ltTnNaV0Z1ZFhBaUxDSnNhWE4wWlc1bGNrTnZkVzUwSWl3aWNtVnRiM1psVEdsemRHVnVaWElpTENKbGJXbDBJbDBzSW0xaGNIQnBibWR6SWpvaVFVRnhRa0ZCTEU5QlFVOURMRkZCUVZWRExFOUJSV3BDTEVsQlFVbERMRWRCUVV0RExGRkJRVkVzVlVGQlZVTXNZVUZEZGtKRExGTkJRVmRHTEZGQlFWRXNXVUZ0UW5aQ0xGTkJRVk5HTEZOQlExQkRMRWRCUVVkSkxFdEJRVXRETEUxQmJFSldSaXhUUVVGVFNpeFBRVUZSUXl4SlFVTnFRa1FzVDBGQlQwOHNVMEZCVjB3c1VVRkJVU3d5UTBGRE1VSkdMRTlCUVU5UkxGTkJRVmRPTEZGQlFWRXNNa05CUXpGQ1JpeFBRVUZQVXl4UFFVRlRVQ3hSUVVGUkxIbERRVU40UWtZc1QwRkJUMVVzVlVGQldWSXNVVUZCVVN3MFEwRkRNMEpHTEU5QlFVOVhMRmxCUVdOVUxGRkJRVkVzT0VOQlF6ZENSaXhQUVVGUFdTeFRRVUZYVml4UlFVRlJMSGxFUVVNeFFrWXNUMEZCVDJFc1UwRkJWMWdzVVVGQlVTeHZSRUZITVVKR0xFOUJRVTlCTEU5QlFWTkJMRTlCVjJoQ1FTeFBRVUZQWXl4VlFVRlZReXhMUVVGUExGTkJRVk5ETEVWQlFVMURMRWRCUTNKRExFbEJRVWxETEVWQlFWTmFMRXRCUldJc1UwRkJVMkVzUlVGQlQwTXNSMEZEVmtvc1JVRkJTMHNzVjBGRFNDeEpRVUZWVEN4RlFVRkxUU3hOUVVGTlJpeEpRVUZWUml4RlFVRlBTeXhQUVVONFEwd3NSVUZCVDBzc1VVRlBZaXhUUVVGVFF5eEpRVU5JVGl4RlFVRlBUeXhWUVVGWlVDeEZRVUZQVVN4UlFVTTFRbElzUlVGQlQxRXNVMEZLV0ZJc1JVRkJUMU1zUjBGQlJ5eFBRVUZSVWl4SFFWRnNRa2dzUlVGQlMxY3NSMEZCUnl4UlFVRlRTQ3hIUVVsYVVpeEZRVUZMV1N4VlFVRmpXQ3hKUVVFeVFpeEpRVUZvUWtFc1JVRkJVVmtzVFVGRGVrTllMRVZCUVU5VExFZEJRVWNzVFVGQlQwY3NSMEZEYWtKYUxFVkJRVTlUTEVkQlFVY3NVVUZCVTBrc1NVRkhja0lzU1VGQlNVTXNSMEZCVnl4RlFVTm1MRk5CUVZOR0xFbEJRMGhGTEVsQlEwcEJMRWRCUVZjc1JVRkZXR2hDTEVWQlFVdGhMRTlCU1ZBc1UwRkJVMFVzU1VGRFNFTXNTVUZEU2tFc1IwRkJWeXhGUVVWcFFpeHRRa0ZCYWtKb1FpeEZRVUZMYVVJc1UwRkJkMEpxUWl4RlFVRkxhVUlzVjBGSkwwTXNVMEZCVTBNc1JVRkJVVU1zUjBGRlppeEhRVVJCUXl4SlFVTjNReXhKUVVGd1EyNURMRWRCUVVkdlF5eGpRVUZqTDBJc1MwRkJUU3hUUVVONlFpeE5RVUZOTmtJc1JVRlJWaXhUUVVGVFF5eEpRVU5RYkVJc1JVRkJUMjlDTEdWQlFXVXNUMEZCVVc1Q0xFZEJRemxDU0N4RlFVRkxjMElzWlVGQlpTeFJRVUZUWkN4SFFVVTNRazRzUlVGQlQyOUNMR1ZCUVdVc1RVRkJUMUlzUjBGRE4wSmFMRVZCUVU5dlFpeGxRVUZsTEZGQlFWTlFMRWRCUlM5Q1lpeEZRVUZQYjBJc1pVRkJaU3hSUVVGVFNpeEhRVU12UW14Q0xFVkJRVXR6UWl4bFFVRmxMRkZCUVZOS0xFZEJSVGRDYUVJc1JVRkJUMjlDTEdWQlFXVXNUVUZCVDBZc1IwRkROMEpzUWl4RlFVRlBiMElzWlVGQlpTeFJRVUZUUml4SFFVVXZRbkJDTEVWQlFVdHpRaXhsUVVGbExGRkJRVk5HTEVkQlZ5OUNMRTlCTlVKQmJFSXNSVUZCVDFNc1IwRkJSeXhSUVVGVFR5eEhRVU51UW14Q0xFVkJRVXRYTEVkQlFVY3NVVUZCVTA4c1IwRnRRbXBDYUVJc1JVRkJUMU1zUjBGQlJ5eE5RVUZQVXl4SFFVTnFRbXhDTEVWQlFVOVRMRWRCUVVjc1VVRkJVMU1zUjBGRmJrSndRaXhGUVVGTFZ5eEhRVUZITEZGQlFWTlRMRWRCUldwQ2NFSXNSVUZCUzNWQ0xFdEJRVXNzVDBGQlVYSkNMRWRCUjFoR0lpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMM04wWVdkcGJtY3ZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12YzNSeVpXRnRMV0p5YjNkelpYSnBabmt2YVc1a1pYZ3Vhbk1pZlE9PSIsIlwidXNlIHN0cmljdFwiO2Z1bmN0aW9uIF9pbmhlcml0c0xvb3NlKGUscil7ZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShyLnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLl9fcHJvdG9fXz1yfXZhciBjb2Rlcz17fTtmdW5jdGlvbiBjcmVhdGVFcnJvclR5cGUoZSxyLHQpe3R8fCh0PUVycm9yKTt2YXIgbj1mdW5jdGlvbihlKXtmdW5jdGlvbiB0KHQsbixvKXtyZXR1cm4gZS5jYWxsKHRoaXMsZnVuY3Rpb24oZSx0LG4pe3JldHVyblwic3RyaW5nXCI9PXR5cGVvZiByP3I6cihlLHQsbil9KHQsbixvKSl8fHRoaXN9cmV0dXJuIF9pbmhlcml0c0xvb3NlKHQsZSksdH0odCk7bi5wcm90b3R5cGUubmFtZT10Lm5hbWUsbi5wcm90b3R5cGUuY29kZT1lLGNvZGVzW2VdPW59ZnVuY3Rpb24gb25lT2YoZSxyKXtpZihBcnJheS5pc0FycmF5KGUpKXt2YXIgdD1lLmxlbmd0aDtyZXR1cm4gZT1lLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gU3RyaW5nKGUpfSksdD4yP1wib25lIG9mIFwiLmNvbmNhdChyLFwiIFwiKS5jb25jYXQoZS5zbGljZSgwLHQtMSkuam9pbihcIiwgXCIpLFwiLCBvciBcIikrZVt0LTFdOjI9PT10P1wib25lIG9mIFwiLmNvbmNhdChyLFwiIFwiKS5jb25jYXQoZVswXSxcIiBvciBcIikuY29uY2F0KGVbMV0pOlwib2YgXCIuY29uY2F0KHIsXCIgXCIpLmNvbmNhdChlWzBdKX1yZXR1cm5cIm9mIFwiLmNvbmNhdChyLFwiIFwiKS5jb25jYXQoU3RyaW5nKGUpKX1mdW5jdGlvbiBzdGFydHNXaXRoKGUscix0KXtyZXR1cm4gZS5zdWJzdHIoIXR8fHQ8MD8wOit0LHIubGVuZ3RoKT09PXJ9ZnVuY3Rpb24gZW5kc1dpdGgoZSxyLHQpe3JldHVybih2b2lkIDA9PT10fHx0PmUubGVuZ3RoKSYmKHQ9ZS5sZW5ndGgpLGUuc3Vic3RyaW5nKHQtci5sZW5ndGgsdCk9PT1yfWZ1bmN0aW9uIGluY2x1ZGVzKGUscix0KXtyZXR1cm5cIm51bWJlclwiIT10eXBlb2YgdCYmKHQ9MCksISh0K3IubGVuZ3RoPmUubGVuZ3RoKSYmLTEhPT1lLmluZGV4T2Yocix0KX1jcmVhdGVFcnJvclR5cGUoXCJFUlJfSU5WQUxJRF9PUFRfVkFMVUVcIixmdW5jdGlvbihlLHIpe3JldHVybidUaGUgdmFsdWUgXCInK3IrJ1wiIGlzIGludmFsaWQgZm9yIG9wdGlvbiBcIicrZSsnXCInfSxUeXBlRXJyb3IpLGNyZWF0ZUVycm9yVHlwZShcIkVSUl9JTlZBTElEX0FSR19UWVBFXCIsZnVuY3Rpb24oZSxyLHQpe3ZhciBuLG87aWYoXCJzdHJpbmdcIj09dHlwZW9mIHImJnN0YXJ0c1dpdGgocixcIm5vdCBcIik/KG49XCJtdXN0IG5vdCBiZVwiLHI9ci5yZXBsYWNlKC9ebm90IC8sXCJcIikpOm49XCJtdXN0IGJlXCIsZW5kc1dpdGgoZSxcIiBhcmd1bWVudFwiKSlvPVwiVGhlIFwiLmNvbmNhdChlLFwiIFwiKS5jb25jYXQobixcIiBcIikuY29uY2F0KG9uZU9mKHIsXCJ0eXBlXCIpKTtlbHNle3ZhciBjPWluY2x1ZGVzKGUsXCIuXCIpP1wicHJvcGVydHlcIjpcImFyZ3VtZW50XCI7bz0nVGhlIFwiJy5jb25jYXQoZSwnXCIgJykuY29uY2F0KGMsXCIgXCIpLmNvbmNhdChuLFwiIFwiKS5jb25jYXQob25lT2YocixcInR5cGVcIikpfXJldHVybiBvKz1cIi4gUmVjZWl2ZWQgdHlwZSBcIi5jb25jYXQodHlwZW9mIHQpfSxUeXBlRXJyb3IpLGNyZWF0ZUVycm9yVHlwZShcIkVSUl9TVFJFQU1fUFVTSF9BRlRFUl9FT0ZcIixcInN0cmVhbS5wdXNoKCkgYWZ0ZXIgRU9GXCIpLGNyZWF0ZUVycm9yVHlwZShcIkVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVEXCIsZnVuY3Rpb24oZSl7cmV0dXJuXCJUaGUgXCIrZStcIiBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkXCJ9KSxjcmVhdGVFcnJvclR5cGUoXCJFUlJfU1RSRUFNX1BSRU1BVFVSRV9DTE9TRVwiLFwiUHJlbWF0dXJlIGNsb3NlXCIpLGNyZWF0ZUVycm9yVHlwZShcIkVSUl9TVFJFQU1fREVTVFJPWUVEXCIsZnVuY3Rpb24oZSl7cmV0dXJuXCJDYW5ub3QgY2FsbCBcIitlK1wiIGFmdGVyIGEgc3RyZWFtIHdhcyBkZXN0cm95ZWRcIn0pLGNyZWF0ZUVycm9yVHlwZShcIkVSUl9NVUxUSVBMRV9DQUxMQkFDS1wiLFwiQ2FsbGJhY2sgY2FsbGVkIG11bHRpcGxlIHRpbWVzXCIpLGNyZWF0ZUVycm9yVHlwZShcIkVSUl9TVFJFQU1fQ0FOTk9UX1BJUEVcIixcIkNhbm5vdCBwaXBlLCBub3QgcmVhZGFibGVcIiksY3JlYXRlRXJyb3JUeXBlKFwiRVJSX1NUUkVBTV9XUklURV9BRlRFUl9FTkRcIixcIndyaXRlIGFmdGVyIGVuZFwiKSxjcmVhdGVFcnJvclR5cGUoXCJFUlJfU1RSRUFNX05VTExfVkFMVUVTXCIsXCJNYXkgbm90IHdyaXRlIG51bGwgdmFsdWVzIHRvIHN0cmVhbVwiLFR5cGVFcnJvciksY3JlYXRlRXJyb3JUeXBlKFwiRVJSX1VOS05PV05fRU5DT0RJTkdcIixmdW5jdGlvbihlKXtyZXR1cm5cIlVua25vd24gZW5jb2Rpbmc6IFwiK2V9LFR5cGVFcnJvciksY3JlYXRlRXJyb3JUeXBlKFwiRVJSX1NUUkVBTV9VTlNISUZUX0FGVEVSX0VORF9FVkVOVFwiLFwic3RyZWFtLnVuc2hpZnQoKSBhZnRlciBlbmQgZXZlbnRcIiksbW9kdWxlLmV4cG9ydHMuY29kZXM9Y29kZXM7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbVZ5Y205eWN5MWljbTkzYzJWeUxtcHpJbDBzSW01aGJXVnpJanBiSWw5cGJtaGxjbWwwYzB4dmIzTmxJaXdpYzNWaVEyeGhjM01pTENKemRYQmxja05zWVhOeklpd2ljSEp2ZEc5MGVYQmxJaXdpVDJKcVpXTjBJaXdpWTNKbFlYUmxJaXdpWTI5dWMzUnlkV04wYjNJaUxDSmZYM0J5YjNSdlgxOGlMQ0pqYjJSbGN5SXNJbU55WldGMFpVVnljbTl5Vkhsd1pTSXNJbU52WkdVaUxDSnRaWE56WVdkbElpd2lRbUZ6WlNJc0lrVnljbTl5SWl3aVRtOWtaVVZ5Y205eUlpd2lYMEpoYzJVaUxDSmhjbWN4SWl3aVlYSm5NaUlzSW1GeVp6TWlMQ0pqWVd4c0lpd2lkR2hwY3lJc0ltZGxkRTFsYzNOaFoyVWlMQ0p1WVcxbElpd2liMjVsVDJZaUxDSmxlSEJsWTNSbFpDSXNJblJvYVc1bklpd2lRWEp5WVhraUxDSnBjMEZ5Y21GNUlpd2liR1Z1SWl3aWJHVnVaM1JvSWl3aWJXRndJaXdpYVNJc0lsTjBjbWx1WnlJc0ltTnZibU5oZENJc0luTnNhV05sSWl3aWFtOXBiaUlzSW5OMFlYSjBjMWRwZEdnaUxDSnpkSElpTENKelpXRnlZMmdpTENKd2IzTWlMQ0p6ZFdKemRISWlMQ0psYm1SelYybDBhQ0lzSW5Sb2FYTmZiR1Z1SWl3aWRXNWtaV1pwYm1Wa0lpd2ljM1ZpYzNSeWFXNW5JaXdpYVc1amJIVmtaWE1pTENKemRHRnlkQ0lzSW1sdVpHVjRUMllpTENKMllXeDFaU0lzSWxSNWNHVkZjbkp2Y2lJc0ltRmpkSFZoYkNJc0ltUmxkR1Z5YldsdVpYSWlMQ0p0YzJjaUxDSnlaWEJzWVdObElpd2lkSGx3WlNJc0ltRnlaeUlzSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTEdGQlJVRXNVMEZCVTBFc1pVRkJaVU1zUlVGQlZVTXNSMEZCWTBRc1JVRkJVMFVzVlVGQldVTXNUMEZCVDBNc1QwRkJUMGdzUlVGQlYwTXNWMEZCV1VZc1JVRkJVMFVzVlVGQlZVY3NXVUZCWTB3c1JVRkJWVUVzUlVGQlUwMHNWVUZCV1V3c1JVRkZNVXNzU1VGQlNVMHNUVUZCVVN4SFFVVmFMRk5CUVZORExHZENRVUZuUWtNc1JVRkJUVU1zUlVGQlUwTXNSMEZEYWtOQkxFbEJRMGhCTEVWQlFVOURMRTlCVjFRc1NVRkJTVU1zUlVGRlNpeFRRVUZWUXl4SFFVZFNMRk5CUVZORUxFVkJRVlZGTEVWQlFVMURMRVZCUVUxRExFZEJRemRDTEU5QlFVOUlMRVZCUVUxSkxFdEJRVXRETEV0QlpIUkNMRk5CUVc5Q1NpeEZRVUZOUXl4RlFVRk5ReXhIUVVNNVFpeE5RVUYxUWl4cFFrRkJXbEFzUlVGRFJrRXNSVUZGUVVFc1JVRkJVVXNzUlVGQlRVTXNSVUZCVFVNc1IwRlZTRWNzUTBGQlYwd3NSVUZCVFVNc1JVRkJUVU1zUzBGQlZVVXNTMEZITTBRc1QwRk9RWEJDTEdWQlFXVmpMRVZCUVZkRExFZEJUVzVDUkN4RlFWQlVMRU5CVVVWR0xFZEJSVVpGTEVWQlFWVllMRlZCUVZWdFFpeExRVUZQVml4RlFVRkxWU3hMUVVOb1ExSXNSVUZCVlZnc1ZVRkJWVThzUzBGQlQwRXNSVUZETTBKR0xFMUJRVTFGTEVkQlFWRkpMRVZCU1doQ0xGTkJRVk5UTEUxQlFVMURMRVZCUVZWRExFZEJRM1pDTEVkQlFVbERMRTFCUVUxRExGRkJRVkZJTEVkQlFWY3NRMEZETTBJc1NVRkJTVWtzUlVGQlRVb3NSVUZCVTBzc1QwRkxia0lzVDBGS1FVd3NSVUZCVjBFc1JVRkJVMDBzU1VGQlNTeFRRVUZWUXl4SFFVTm9ReXhQUVVGUFF5eFBRVUZQUkN4TFFVZGFTQ3hGUVVGTkxFVkJRMFFzVlVGQlZVc3NUMEZCVDFJc1JVRkJUeXhMUVVGTFVTeFBRVUZQVkN4RlFVRlRWU3hOUVVGTkxFVkJRVWRPTEVWQlFVMHNSMEZCUjA4c1MwRkJTeXhOUVVGUExGTkJRVmRZTEVWQlFWTkpMRVZCUVUwc1IwRkRNMFlzU1VGQlVrRXNSVUZEUml4VlFVRlZTeXhQUVVGUFVpeEZRVUZQTEV0QlFVdFJMRTlCUVU5VUxFVkJRVk1zUjBGQlNTeFJRVUZSVXl4UFFVRlBWQ3hGUVVGVExFbEJSWHBGTEUxQlFVMVRMRTlCUVU5U0xFVkJRVThzUzBGQlMxRXNUMEZCVDFRc1JVRkJVeXhKUVVkc1JDeE5RVUZQTEUxQlFVMVRMRTlCUVU5U0xFVkJRVThzUzBGQlMxRXNUMEZCVDBRc1QwRkJUMUlzU1VGTGJFUXNVMEZCVTFrc1YwRkJWME1zUlVGQlMwTXNSVUZCVVVNc1IwRkRMMElzVDBGQlQwWXNSVUZCU1Vjc1VVRkJVVVFzUjBGQlQwRXNSVUZCVFN4RlFVRkpMRWRCUVV0QkxFVkJRVXRFTEVWQlFVOVVMRlZCUVZsVExFVkJTVzVGTEZOQlFWTkhMRk5CUVZOS0xFVkJRVXRETEVWQlFWRkpMRWRCU3pkQ0xGbEJTbWxDUXl4SlFVRmlSQ3hIUVVFd1FrRXNSVUZCVjB3c1JVRkJTVklzVlVGRE0wTmhMRVZCUVZkTUxFVkJRVWxTTEZGQlIxWlJMRVZCUVVsUExGVkJRVlZHTEVWQlFWZEtMRVZCUVU5VUxFOUJRVkZoTEV0QlFXTktMRVZCU1M5RUxGTkJRVk5QTEZOQlFWTlNMRVZCUVV0RExFVkJRVkZSTEVkQlN6ZENMRTFCU25GQ0xHbENRVUZXUVN4SlFVTlVRU3hGUVVGUkxFdEJSMDVCTEVWQlFWRlNMRVZCUVU5VUxFOUJRVk5STEVWQlFVbFNMRlZCUjFNc1NVRkJhRU5STEVWQlFVbFZMRkZCUVZGVUxFVkJRVkZSTEVkQlNTOUNja01zWjBKQlFXZENMSGRDUVVGNVFpeFRRVUZWWVN4RlFVRk5NRUlzUjBGRGRrUXNUVUZCVHl4alFVRm5Ra0VzUlVGQlVTdzBRa0ZCT0VJeFFpeEZRVUZQTEV0QlEyNUZNa0lzVjBGRFNIaERMR2RDUVVGblFpeDFRa0ZCZDBJc1UwRkJWV0VzUlVGQlRVVXNSVUZCVlRCQ0xFZEJSV2hGTEVsQlFVbERMRVZCVTBGRExFVkJSVW9zUjBGVWQwSXNhVUpCUVdJMVFpeEhRVUY1UWxrc1YwRkJWMW9zUlVGQlZTeFRRVU4yUkRKQ0xFVkJRV0VzWTBGRFlqTkNMRVZCUVZkQkxFVkJRVk0yUWl4UlFVRlJMRkZCUVZNc1MwRkZja05HTEVWQlFXRXNWVUZMV0ZZc1UwRkJVMjVDTEVWQlFVMHNZVUZGYWtJNFFpeEZRVUZOTEU5QlFVOXVRaXhQUVVGUFdDeEZRVUZOTEV0QlFVdFhMRTlCUVU5clFpeEZRVUZaTEV0QlFVdHNRaXhQUVVGUFZpeE5RVUZOUXl4RlFVRlZMR0ZCUTNwRkxFTkJRMHdzU1VGQlNUaENMRVZCUVU5VUxGTkJRVk4yUWl4RlFVRk5MRXRCUVU4c1YwRkJZU3hYUVVNNVF6aENMRVZCUVUwc1VVRkJVMjVDTEU5QlFVOVlMRVZCUVUwc1RVRkJUMWNzVDBGQlQzRkNMRVZCUVUwc1MwRkJTM0pDTEU5QlFVOXJRaXhGUVVGWkxFdEJRVXRzUWl4UFFVRlBWaXhOUVVGTlF5eEZRVUZWTEZOQlNYUkhMRTlCUkVFMFFpeEhRVUZQTEcxQ1FVRnRRbTVDTEdOQlFXTnBRaXhKUVVWMlEwUXNWMEZEU0hoRExHZENRVUZuUWl3MFFrRkJOa0lzTWtKQlF6ZERRU3huUWtGQlowSXNOa0pCUVRoQ0xGTkJRVlZoTEVkQlEzUkVMRTFCUVU4c1QwRkJVMEVzUlVGQlR5d3JRa0ZGZWtKaUxHZENRVUZuUWl3MlFrRkJPRUlzYlVKQlF6bERRU3huUWtGQlowSXNkVUpCUVhkQ0xGTkJRVlZoTEVkQlEyaEVMRTFCUVU4c1pVRkJhVUpCTEVWQlFVOHNhME5CUldwRFlpeG5Ra0ZCWjBJc2QwSkJRWGxDTEd0RFFVTjZRMEVzWjBKQlFXZENMSGxDUVVFd1FpdzJRa0ZETVVOQkxHZENRVUZuUWl3MlFrRkJPRUlzYlVKQlF6bERRU3huUWtGQlowSXNlVUpCUVRCQ0xITkRRVUYxUTNkRExGZEJRMnBHZUVNc1owSkJRV2RDTEhWQ1FVRjNRaXhUUVVGVk9FTXNSMEZEYUVRc1RVRkJUeXh4UWtGQmRVSkJMRWRCUXpkQ1RpeFhRVU5JZUVNc1owSkJRV2RDTEhGRFFVRnpReXh2UTBGRGRFUXJReXhQUVVGUFF5eFJRVUZSYWtRc1RVRkJVVUVpTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmMzUmhaMmx1Wnk5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OXpkSEpsWVcwdFluSnZkM05sY21sbWVTOXViMlJsWDIxdlpIVnNaWE12Y21WaFpHRmliR1V0YzNSeVpXRnRMMlZ5Y205eWN5MWljbTkzYzJWeUxtcHpJbjA9IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIG9iamVjdEtleXM9T2JqZWN0LmtleXN8fGZ1bmN0aW9uKGUpe3ZhciB0PVtdO2Zvcih2YXIgciBpbiBlKXQucHVzaChyKTtyZXR1cm4gdH07bW9kdWxlLmV4cG9ydHM9RHVwbGV4O3ZhciBSZWFkYWJsZT1yZXF1aXJlKFwiLi9fc3RyZWFtX3JlYWRhYmxlXCIpLFdyaXRhYmxlPXJlcXVpcmUoXCIuL19zdHJlYW1fd3JpdGFibGVcIik7cmVxdWlyZShcImluaGVyaXRzXCIpKER1cGxleCxSZWFkYWJsZSk7Zm9yKHZhciBrZXlzPW9iamVjdEtleXMoV3JpdGFibGUucHJvdG90eXBlKSx2PTA7djxrZXlzLmxlbmd0aDt2Kyspe3ZhciBtZXRob2Q9a2V5c1t2XTtEdXBsZXgucHJvdG90eXBlW21ldGhvZF18fChEdXBsZXgucHJvdG90eXBlW21ldGhvZF09V3JpdGFibGUucHJvdG90eXBlW21ldGhvZF0pfWZ1bmN0aW9uIER1cGxleChlKXtpZighKHRoaXMgaW5zdGFuY2VvZiBEdXBsZXgpKXJldHVybiBuZXcgRHVwbGV4KGUpO1JlYWRhYmxlLmNhbGwodGhpcyxlKSxXcml0YWJsZS5jYWxsKHRoaXMsZSksdGhpcy5hbGxvd0hhbGZPcGVuPSEwLGUmJighMT09PWUucmVhZGFibGUmJih0aGlzLnJlYWRhYmxlPSExKSwhMT09PWUud3JpdGFibGUmJih0aGlzLndyaXRhYmxlPSExKSwhMT09PWUuYWxsb3dIYWxmT3BlbiYmKHRoaXMuYWxsb3dIYWxmT3Blbj0hMSx0aGlzLm9uY2UoXCJlbmRcIixvbmVuZCkpKX1mdW5jdGlvbiBvbmVuZCgpe3RoaXMuX3dyaXRhYmxlU3RhdGUuZW5kZWR8fHByb2Nlc3MubmV4dFRpY2sob25FbmROVCx0aGlzKX1mdW5jdGlvbiBvbkVuZE5UKGUpe2UuZW5kKCl9T2JqZWN0LmRlZmluZVByb3BlcnR5KER1cGxleC5wcm90b3R5cGUsXCJ3cml0YWJsZUhpZ2hXYXRlck1hcmtcIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5oaWdoV2F0ZXJNYXJrfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShEdXBsZXgucHJvdG90eXBlLFwid3JpdGFibGVCdWZmZXJcIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZSYmdGhpcy5fd3JpdGFibGVTdGF0ZS5nZXRCdWZmZXIoKX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoRHVwbGV4LnByb3RvdHlwZSxcIndyaXRhYmxlTGVuZ3RoXCIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUubGVuZ3RofX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShEdXBsZXgucHJvdG90eXBlLFwiZGVzdHJveWVkXCIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMCE9PXRoaXMuX3JlYWRhYmxlU3RhdGUmJnZvaWQgMCE9PXRoaXMuX3dyaXRhYmxlU3RhdGUmJih0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZCYmdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQpfSxzZXQ6ZnVuY3Rpb24oZSl7dm9pZCAwIT09dGhpcy5fcmVhZGFibGVTdGF0ZSYmdm9pZCAwIT09dGhpcy5fd3JpdGFibGVTdGF0ZSYmKHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkPWUsdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ9ZSl9fSk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbDl6ZEhKbFlXMWZaSFZ3YkdWNExtcHpJbDBzSW01aGJXVnpJanBiSW05aWFtVmpkRXRsZVhNaUxDSlBZbXBsWTNRaUxDSnJaWGx6SWl3aWIySnFJaXdpYTJWNUlpd2ljSFZ6YUNJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSkVkWEJzWlhnaUxDSlNaV0ZrWVdKc1pTSXNJbkpsY1hWcGNtVWlMQ0pYY21sMFlXSnNaU0lzSW5CeWIzUnZkSGx3WlNJc0luWWlMQ0pzWlc1bmRHZ2lMQ0p0WlhSb2IyUWlMQ0p2Y0hScGIyNXpJaXdpZEdocGN5SXNJbU5oYkd3aUxDSmhiR3h2ZDBoaGJHWlBjR1Z1SWl3aWNtVmhaR0ZpYkdVaUxDSjNjbWwwWVdKc1pTSXNJbTl1WTJVaUxDSnZibVZ1WkNJc0lsOTNjbWwwWVdKc1pWTjBZWFJsSWl3aVpXNWtaV1FpTENKd2NtOWpaWE56SWl3aWJtVjRkRlJwWTJzaUxDSnZia1Z1WkU1VUlpd2ljMlZzWmlJc0ltVnVaQ0lzSW1SbFptbHVaVkJ5YjNCbGNuUjVJaXdpWlc1MWJXVnlZV0pzWlNJc0ltZGxkQ0lzSW1ocFoyaFhZWFJsY2sxaGNtc2lMQ0puWlhSQ2RXWm1aWElpTENKMWJtUmxabWx1WldRaUxDSmZjbVZoWkdGaWJHVlRkR0YwWlNJc0ltUmxjM1J5YjNsbFpDSXNJbk5sZENJc0luWmhiSFZsSWwwc0ltMWhjSEJwYm1keklqb2lRVUYzUWtFc1lVRkhRU3hKUVVGSlFTeFhRVUZoUXl4UFFVRlBReXhOUVVGUkxGTkJRVlZETEVkQlEzaERMRWxCUVVsRUxFVkJRVThzUjBGRldDeEpRVUZMTEVsQlFVbEZMRXRCUVU5RUxFVkJRMlJFTEVWQlFVdEhMRXRCUVV0RUxFZEJSMW9zVDBGQlQwWXNSMEZMVkVrc1QwRkJUME1zVVVGQlZVTXNUMEZGYWtJc1NVRkJTVU1zVTBGQlYwTXNVVUZCVVN4elFrRkZia0pETEZOQlFWZEVMRkZCUVZFc2MwSkJSWFpDUVN4UlFVRlJMRmRCUVZKQkxFTkJRVzlDUml4UFFVRlJReXhWUVUweFFpeEpRVVpCTEVsQlFVbFFMRXRCUVU5R0xGZEJRVmRYTEZOQlFWTkRMRmRCUlhSQ1F5eEZRVUZKTEVWQlFVZEJMRVZCUVVsWUxFdEJRVXRaTEU5QlFWRkVMRWxCUVVzc1EwRkRjRU1zU1VGQlNVVXNUMEZCVTJJc1MwRkJTMWNzUjBGRFlrd3NUMEZCVDBrc1ZVRkJWVWNzVlVGQlUxQXNUMEZCVDBrc1ZVRkJWVWNzVVVGQlZVb3NVMEZCVTBNc1ZVRkJWVWNzVTBGSmFrWXNVMEZCVTFBc1QwRkJUMUVzUjBGRFpDeExRVUZOUXl4blFrRkJaMEpVTEZGQlFWTXNUMEZCVHl4SlFVRkpRU3hQUVVGUFVTeEhRVU5xUkZBc1UwRkJVMU1zUzBGQlMwUXNTMEZCVFVRc1IwRkRjRUpNTEZOQlFWTlBMRXRCUVV0RUxFdEJRVTFFTEVkQlEzQkNReXhMUVVGTFJTeGxRVUZuUWl4RlFVVnFRa2dzUzBGRGRVSXNTVUZCY2tKQkxFVkJRVkZKTEZkQlFXOUNTQ3hMUVVGTFJ5eFZRVUZYTEVsQlEzWkNMRWxCUVhKQ1NpeEZRVUZSU3l4WFFVRnZRa29zUzBGQlMwa3NWVUZCVnl4SlFVVnNRaXhKUVVFeFFrd3NSVUZCVVVjc1owSkJRMVpHTEV0QlFVdEZMR1ZCUVdkQ0xFVkJRM0pDUml4TFFVRkxTeXhMUVVGTExFMUJRVTlETEZOQmFVTjJRaXhUUVVGVFFTeFJRVVZJVGl4TFFVRkxUeXhsUVVGbFF5eFBRVWQ0UWtNc1VVRkJVVU1zVTBGQlUwTXNVVUZCVTFnc1RVRkhOVUlzVTBGQlUxY3NVVUZCVVVNc1IwRkRaa0VzUlVGQlMwTXNUVUZ5UTFBM1FpeFBRVUZQT0VJc1pVRkJaWFpDTEU5QlFVOUpMRlZCUVZjc2QwSkJRWGxDTEVOQlNTOUViMElzV1VGQldTeEZRVU5hUXl4SlFVRkxMRmRCUTBnc1QwRkJUMmhDTEV0QlFVdFBMR1ZCUVdWVkxHbENRVWN2UW1wRExFOUJRVTg0UWl4bFFVRmxka0lzVDBGQlQwa3NWVUZCVnl4cFFrRkJhMElzUTBGSmVFUnZRaXhaUVVGWkxFVkJRMXBETEVsQlFVc3NWMEZEU0N4UFFVRlBhRUlzUzBGQlMwOHNaMEpCUVd0Q1VDeExRVUZMVHl4bFFVRmxWeXhsUVVkMFJHeERMRTlCUVU4NFFpeGxRVUZsZGtJc1QwRkJUMGtzVlVGQlZ5eHBRa0ZCYTBJc1EwRkplRVJ2UWl4WlFVRlpMRVZCUTFwRExFbEJRVXNzVjBGRFNDeFBRVUZQYUVJc1MwRkJTMDhzWlVGQlpWWXNWVUZuUWk5Q1lpeFBRVUZQT0VJc1pVRkJaWFpDTEU5QlFVOUpMRlZCUVZjc1dVRkJZU3hEUVVsdVJHOUNMRmxCUVZrc1JVRkRXa01zU1VGQlN5eFhRVU5JTEZsQlFUUkNSeXhKUVVGNFFtNUNMRXRCUVV0dlFpeHhRa0ZCZDBSRUxFbEJRWGhDYmtJc1MwRkJTMDhzYVVKQlNYWkRVQ3hMUVVGTGIwSXNaVUZCWlVNc1YwRkJZWEpDTEV0QlFVdFBMR1ZCUVdWakxGbEJSVGxFUXl4SlFVRkxMRk5CUVdGRExGRkJSMWxLTEVsQlFYaENia0lzUzBGQlMyOUNMSEZDUVVGM1JFUXNTVUZCZUVKdVFpeExRVUZMVHl4cFFrRk5PVU5RTEV0QlFVdHZRaXhsUVVGbFF5eFZRVUZaUlN4RlFVTm9RM1pDTEV0QlFVdFBMR1ZCUVdWakxGVkJRVmxGSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwzTjBZV2RwYm1jdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZjM1J5WldGdExXSnliM2R6WlhKcFpua3ZibTlrWlY5dGIyUjFiR1Z6TDNKbFlXUmhZbXhsTFhOMGNtVmhiUzlzYVdJdlgzTjBjbVZoYlY5a2RYQnNaWGd1YW5NaWZRPT0iLCJcInVzZSBzdHJpY3RcIjttb2R1bGUuZXhwb3J0cz1QYXNzVGhyb3VnaDt2YXIgVHJhbnNmb3JtPXJlcXVpcmUoXCIuL19zdHJlYW1fdHJhbnNmb3JtXCIpO2Z1bmN0aW9uIFBhc3NUaHJvdWdoKHIpe2lmKCEodGhpcyBpbnN0YW5jZW9mIFBhc3NUaHJvdWdoKSlyZXR1cm4gbmV3IFBhc3NUaHJvdWdoKHIpO1RyYW5zZm9ybS5jYWxsKHRoaXMscil9cmVxdWlyZShcImluaGVyaXRzXCIpKFBhc3NUaHJvdWdoLFRyYW5zZm9ybSksUGFzc1Rocm91Z2gucHJvdG90eXBlLl90cmFuc2Zvcm09ZnVuY3Rpb24ocixzLG8pe28obnVsbCxyKX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbDl6ZEhKbFlXMWZjR0Z6YzNSb2NtOTFaMmd1YW5NaVhTd2libUZ0WlhNaU9sc2liVzlrZFd4bElpd2laWGh3YjNKMGN5SXNJbEJoYzNOVWFISnZkV2RvSWl3aVZISmhibk5tYjNKdElpd2ljbVZ4ZFdseVpTSXNJbTl3ZEdsdmJuTWlMQ0owYUdseklpd2lZMkZzYkNJc0luQnliM1J2ZEhsd1pTSXNJbDkwY21GdWMyWnZjbTBpTENKamFIVnVheUlzSW1WdVkyOWthVzVuSWl3aVkySWlYU3dpYldGd2NHbHVaM01pT2lKQlFYVkNRU3hoUVVWQlFTeFBRVUZQUXl4UlFVRlZReXhaUVVWcVFpeEpRVUZKUXl4VlFVRlpReXhSUVVGUkxIVkNRVWw0UWl4VFFVRlRSaXhaUVVGWlJ5eEhRVU51UWl4TFFVRk5ReXhuUWtGQlowSktMR0ZCUVdNc1QwRkJUeXhKUVVGSlFTeFpRVUZaUnl4SFFVTXpSRVlzVlVGQlZVa3NTMEZCUzBRc1MwRkJUVVFzUjBGS2RrSkVMRkZCUVZFc1YwRkJVa0VzUTBGQmIwSkdMRmxCUVdGRExGZEJUMnBEUkN4WlFVRlpUU3hWUVVGVlF5eFhRVUZoTEZOQlFWVkRMRVZCUVU5RExFVkJRVlZETEVkQlF6VkVRU3hGUVVGSExFdEJRVTFHSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwzTjBZV2RwYm1jdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZjM1J5WldGdExXSnliM2R6WlhKcFpua3ZibTlrWlY5dGIyUjFiR1Z6TDNKbFlXUmhZbXhsTFhOMGNtVmhiUzlzYVdJdlgzTjBjbVZoYlY5d1lYTnpkR2h5YjNWbmFDNXFjeUo5IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIER1cGxleDttb2R1bGUuZXhwb3J0cz1SZWFkYWJsZSxSZWFkYWJsZS5SZWFkYWJsZVN0YXRlPVJlYWRhYmxlU3RhdGU7dmFyIEVFPXJlcXVpcmUoXCJldmVudHNcIikuRXZlbnRFbWl0dGVyLEVFbGlzdGVuZXJDb3VudD1mdW5jdGlvbihlLHQpe3JldHVybiBlLmxpc3RlbmVycyh0KS5sZW5ndGh9LFN0cmVhbT1yZXF1aXJlKFwiLi9pbnRlcm5hbC9zdHJlYW1zL3N0cmVhbVwiKSxCdWZmZXI9cmVxdWlyZShcImJ1ZmZlclwiKS5CdWZmZXIsT3VyVWludDhBcnJheT1nbG9iYWwuVWludDhBcnJheXx8ZnVuY3Rpb24oKXt9O2Z1bmN0aW9uIF91aW50OEFycmF5VG9CdWZmZXIoZSl7cmV0dXJuIEJ1ZmZlci5mcm9tKGUpfWZ1bmN0aW9uIF9pc1VpbnQ4QXJyYXkoZSl7cmV0dXJuIEJ1ZmZlci5pc0J1ZmZlcihlKXx8ZSBpbnN0YW5jZW9mIE91clVpbnQ4QXJyYXl9dmFyIGRlYnVnLGRlYnVnVXRpbD1yZXF1aXJlKFwidXRpbFwiKTtkZWJ1Zz1kZWJ1Z1V0aWwmJmRlYnVnVXRpbC5kZWJ1Z2xvZz9kZWJ1Z1V0aWwuZGVidWdsb2coXCJzdHJlYW1cIik6ZnVuY3Rpb24oKXt9O3ZhciBTdHJpbmdEZWNvZGVyLGNyZWF0ZVJlYWRhYmxlU3RyZWFtQXN5bmNJdGVyYXRvcixmcm9tLEJ1ZmZlckxpc3Q9cmVxdWlyZShcIi4vaW50ZXJuYWwvc3RyZWFtcy9idWZmZXJfbGlzdFwiKSxkZXN0cm95SW1wbD1yZXF1aXJlKFwiLi9pbnRlcm5hbC9zdHJlYW1zL2Rlc3Ryb3lcIiksX3JlcXVpcmU9cmVxdWlyZShcIi4vaW50ZXJuYWwvc3RyZWFtcy9zdGF0ZVwiKSxnZXRIaWdoV2F0ZXJNYXJrPV9yZXF1aXJlLmdldEhpZ2hXYXRlck1hcmssX3JlcXVpcmUkY29kZXM9cmVxdWlyZShcIi4uL2Vycm9yc1wiKS5jb2RlcyxFUlJfSU5WQUxJRF9BUkdfVFlQRT1fcmVxdWlyZSRjb2Rlcy5FUlJfSU5WQUxJRF9BUkdfVFlQRSxFUlJfU1RSRUFNX1BVU0hfQUZURVJfRU9GPV9yZXF1aXJlJGNvZGVzLkVSUl9TVFJFQU1fUFVTSF9BRlRFUl9FT0YsRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URUQ9X3JlcXVpcmUkY29kZXMuRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URUQsRVJSX1NUUkVBTV9VTlNISUZUX0FGVEVSX0VORF9FVkVOVD1fcmVxdWlyZSRjb2Rlcy5FUlJfU1RSRUFNX1VOU0hJRlRfQUZURVJfRU5EX0VWRU5UO3JlcXVpcmUoXCJpbmhlcml0c1wiKShSZWFkYWJsZSxTdHJlYW0pO3ZhciBlcnJvck9yRGVzdHJveT1kZXN0cm95SW1wbC5lcnJvck9yRGVzdHJveSxrUHJveHlFdmVudHM9W1wiZXJyb3JcIixcImNsb3NlXCIsXCJkZXN0cm95XCIsXCJwYXVzZVwiLFwicmVzdW1lXCJdO2Z1bmN0aW9uIHByZXBlbmRMaXN0ZW5lcihlLHQscil7aWYoXCJmdW5jdGlvblwiPT10eXBlb2YgZS5wcmVwZW5kTGlzdGVuZXIpcmV0dXJuIGUucHJlcGVuZExpc3RlbmVyKHQscik7ZS5fZXZlbnRzJiZlLl9ldmVudHNbdF0/QXJyYXkuaXNBcnJheShlLl9ldmVudHNbdF0pP2UuX2V2ZW50c1t0XS51bnNoaWZ0KHIpOmUuX2V2ZW50c1t0XT1bcixlLl9ldmVudHNbdF1dOmUub24odCxyKX1mdW5jdGlvbiBSZWFkYWJsZVN0YXRlKGUsdCxyKXtEdXBsZXg9RHVwbGV4fHxyZXF1aXJlKFwiLi9fc3RyZWFtX2R1cGxleFwiKSxlPWV8fHt9LFwiYm9vbGVhblwiIT10eXBlb2YgciYmKHI9dCBpbnN0YW5jZW9mIER1cGxleCksdGhpcy5vYmplY3RNb2RlPSEhZS5vYmplY3RNb2RlLHImJih0aGlzLm9iamVjdE1vZGU9dGhpcy5vYmplY3RNb2RlfHwhIWUucmVhZGFibGVPYmplY3RNb2RlKSx0aGlzLmhpZ2hXYXRlck1hcms9Z2V0SGlnaFdhdGVyTWFyayh0aGlzLGUsXCJyZWFkYWJsZUhpZ2hXYXRlck1hcmtcIixyKSx0aGlzLmJ1ZmZlcj1uZXcgQnVmZmVyTGlzdCx0aGlzLmxlbmd0aD0wLHRoaXMucGlwZXM9bnVsbCx0aGlzLnBpcGVzQ291bnQ9MCx0aGlzLmZsb3dpbmc9bnVsbCx0aGlzLmVuZGVkPSExLHRoaXMuZW5kRW1pdHRlZD0hMSx0aGlzLnJlYWRpbmc9ITEsdGhpcy5zeW5jPSEwLHRoaXMubmVlZFJlYWRhYmxlPSExLHRoaXMuZW1pdHRlZFJlYWRhYmxlPSExLHRoaXMucmVhZGFibGVMaXN0ZW5pbmc9ITEsdGhpcy5yZXN1bWVTY2hlZHVsZWQ9ITEsdGhpcy5wYXVzZWQ9ITAsdGhpcy5lbWl0Q2xvc2U9ITEhPT1lLmVtaXRDbG9zZSx0aGlzLmF1dG9EZXN0cm95PSEhZS5hdXRvRGVzdHJveSx0aGlzLmRlc3Ryb3llZD0hMSx0aGlzLmRlZmF1bHRFbmNvZGluZz1lLmRlZmF1bHRFbmNvZGluZ3x8XCJ1dGY4XCIsdGhpcy5hd2FpdERyYWluPTAsdGhpcy5yZWFkaW5nTW9yZT0hMSx0aGlzLmRlY29kZXI9bnVsbCx0aGlzLmVuY29kaW5nPW51bGwsZS5lbmNvZGluZyYmKFN0cmluZ0RlY29kZXJ8fChTdHJpbmdEZWNvZGVyPXJlcXVpcmUoXCJzdHJpbmdfZGVjb2Rlci9cIikuU3RyaW5nRGVjb2RlciksdGhpcy5kZWNvZGVyPW5ldyBTdHJpbmdEZWNvZGVyKGUuZW5jb2RpbmcpLHRoaXMuZW5jb2Rpbmc9ZS5lbmNvZGluZyl9ZnVuY3Rpb24gUmVhZGFibGUoZSl7aWYoRHVwbGV4PUR1cGxleHx8cmVxdWlyZShcIi4vX3N0cmVhbV9kdXBsZXhcIiksISh0aGlzIGluc3RhbmNlb2YgUmVhZGFibGUpKXJldHVybiBuZXcgUmVhZGFibGUoZSk7dmFyIHQ9dGhpcyBpbnN0YW5jZW9mIER1cGxleDt0aGlzLl9yZWFkYWJsZVN0YXRlPW5ldyBSZWFkYWJsZVN0YXRlKGUsdGhpcyx0KSx0aGlzLnJlYWRhYmxlPSEwLGUmJihcImZ1bmN0aW9uXCI9PXR5cGVvZiBlLnJlYWQmJih0aGlzLl9yZWFkPWUucmVhZCksXCJmdW5jdGlvblwiPT10eXBlb2YgZS5kZXN0cm95JiYodGhpcy5fZGVzdHJveT1lLmRlc3Ryb3kpKSxTdHJlYW0uY2FsbCh0aGlzKX1mdW5jdGlvbiByZWFkYWJsZUFkZENodW5rKGUsdCxyLGEsbil7ZGVidWcoXCJyZWFkYWJsZUFkZENodW5rXCIsdCk7dmFyIGksZD1lLl9yZWFkYWJsZVN0YXRlO2lmKG51bGw9PT10KWQucmVhZGluZz0hMSxvbkVvZkNodW5rKGUsZCk7ZWxzZSBpZihufHwoaT1jaHVua0ludmFsaWQoZCx0KSksaSllcnJvck9yRGVzdHJveShlLGkpO2Vsc2UgaWYoZC5vYmplY3RNb2RlfHx0JiZ0Lmxlbmd0aD4wKWlmKFwic3RyaW5nXCI9PXR5cGVvZiB0fHxkLm9iamVjdE1vZGV8fE9iamVjdC5nZXRQcm90b3R5cGVPZih0KT09PUJ1ZmZlci5wcm90b3R5cGV8fCh0PV91aW50OEFycmF5VG9CdWZmZXIodCkpLGEpZC5lbmRFbWl0dGVkP2Vycm9yT3JEZXN0cm95KGUsbmV3IEVSUl9TVFJFQU1fVU5TSElGVF9BRlRFUl9FTkRfRVZFTlQpOmFkZENodW5rKGUsZCx0LCEwKTtlbHNlIGlmKGQuZW5kZWQpZXJyb3JPckRlc3Ryb3koZSxuZXcgRVJSX1NUUkVBTV9QVVNIX0FGVEVSX0VPRik7ZWxzZXtpZihkLmRlc3Ryb3llZClyZXR1cm4hMTtkLnJlYWRpbmc9ITEsZC5kZWNvZGVyJiYhcj8odD1kLmRlY29kZXIud3JpdGUodCksZC5vYmplY3RNb2RlfHwwIT09dC5sZW5ndGg/YWRkQ2h1bmsoZSxkLHQsITEpOm1heWJlUmVhZE1vcmUoZSxkKSk6YWRkQ2h1bmsoZSxkLHQsITEpfWVsc2UgYXx8KGQucmVhZGluZz0hMSxtYXliZVJlYWRNb3JlKGUsZCkpO3JldHVybiFkLmVuZGVkJiYoZC5sZW5ndGg8ZC5oaWdoV2F0ZXJNYXJrfHwwPT09ZC5sZW5ndGgpfWZ1bmN0aW9uIGFkZENodW5rKGUsdCxyLGEpe3QuZmxvd2luZyYmMD09PXQubGVuZ3RoJiYhdC5zeW5jPyh0LmF3YWl0RHJhaW49MCxlLmVtaXQoXCJkYXRhXCIscikpOih0Lmxlbmd0aCs9dC5vYmplY3RNb2RlPzE6ci5sZW5ndGgsYT90LmJ1ZmZlci51bnNoaWZ0KHIpOnQuYnVmZmVyLnB1c2gociksdC5uZWVkUmVhZGFibGUmJmVtaXRSZWFkYWJsZShlKSksbWF5YmVSZWFkTW9yZShlLHQpfWZ1bmN0aW9uIGNodW5rSW52YWxpZChlLHQpe3ZhciByO3JldHVybiBfaXNVaW50OEFycmF5KHQpfHxcInN0cmluZ1wiPT10eXBlb2YgdHx8dm9pZCAwPT09dHx8ZS5vYmplY3RNb2RlfHwocj1uZXcgRVJSX0lOVkFMSURfQVJHX1RZUEUoXCJjaHVua1wiLFtcInN0cmluZ1wiLFwiQnVmZmVyXCIsXCJVaW50OEFycmF5XCJdLHQpKSxyfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShSZWFkYWJsZS5wcm90b3R5cGUsXCJkZXN0cm95ZWRcIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdm9pZCAwIT09dGhpcy5fcmVhZGFibGVTdGF0ZSYmdGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWR9LHNldDpmdW5jdGlvbihlKXt0aGlzLl9yZWFkYWJsZVN0YXRlJiYodGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQ9ZSl9fSksUmVhZGFibGUucHJvdG90eXBlLmRlc3Ryb3k9ZGVzdHJveUltcGwuZGVzdHJveSxSZWFkYWJsZS5wcm90b3R5cGUuX3VuZGVzdHJveT1kZXN0cm95SW1wbC51bmRlc3Ryb3ksUmVhZGFibGUucHJvdG90eXBlLl9kZXN0cm95PWZ1bmN0aW9uKGUsdCl7dChlKX0sUmVhZGFibGUucHJvdG90eXBlLnB1c2g9ZnVuY3Rpb24oZSx0KXt2YXIgcixhPXRoaXMuX3JlYWRhYmxlU3RhdGU7cmV0dXJuIGEub2JqZWN0TW9kZT9yPSEwOlwic3RyaW5nXCI9PXR5cGVvZiBlJiYoKHQ9dHx8YS5kZWZhdWx0RW5jb2RpbmcpIT09YS5lbmNvZGluZyYmKGU9QnVmZmVyLmZyb20oZSx0KSx0PVwiXCIpLHI9ITApLHJlYWRhYmxlQWRkQ2h1bmsodGhpcyxlLHQsITEscil9LFJlYWRhYmxlLnByb3RvdHlwZS51bnNoaWZ0PWZ1bmN0aW9uKGUpe3JldHVybiByZWFkYWJsZUFkZENodW5rKHRoaXMsZSxudWxsLCEwLCExKX0sUmVhZGFibGUucHJvdG90eXBlLmlzUGF1c2VkPWZ1bmN0aW9uKCl7cmV0dXJuITE9PT10aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmd9LFJlYWRhYmxlLnByb3RvdHlwZS5zZXRFbmNvZGluZz1mdW5jdGlvbihlKXtTdHJpbmdEZWNvZGVyfHwoU3RyaW5nRGVjb2Rlcj1yZXF1aXJlKFwic3RyaW5nX2RlY29kZXIvXCIpLlN0cmluZ0RlY29kZXIpO3ZhciB0PW5ldyBTdHJpbmdEZWNvZGVyKGUpO3RoaXMuX3JlYWRhYmxlU3RhdGUuZGVjb2Rlcj10LHRoaXMuX3JlYWRhYmxlU3RhdGUuZW5jb2Rpbmc9dGhpcy5fcmVhZGFibGVTdGF0ZS5kZWNvZGVyLmVuY29kaW5nO2Zvcih2YXIgcj10aGlzLl9yZWFkYWJsZVN0YXRlLmJ1ZmZlci5oZWFkLGE9XCJcIjtudWxsIT09cjspYSs9dC53cml0ZShyLmRhdGEpLHI9ci5uZXh0O3JldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlLmJ1ZmZlci5jbGVhcigpLFwiXCIhPT1hJiZ0aGlzLl9yZWFkYWJsZVN0YXRlLmJ1ZmZlci5wdXNoKGEpLHRoaXMuX3JlYWRhYmxlU3RhdGUubGVuZ3RoPWEubGVuZ3RoLHRoaXN9O3ZhciBNQVhfSFdNPTEwNzM3NDE4MjQ7ZnVuY3Rpb24gY29tcHV0ZU5ld0hpZ2hXYXRlck1hcmsoZSl7cmV0dXJuIGU+PU1BWF9IV00/ZT1NQVhfSFdNOihlLS0sZXw9ZT4+PjEsZXw9ZT4+PjIsZXw9ZT4+PjQsZXw9ZT4+PjgsZXw9ZT4+PjE2LGUrKyksZX1mdW5jdGlvbiBob3dNdWNoVG9SZWFkKGUsdCl7cmV0dXJuIGU8PTB8fDA9PT10Lmxlbmd0aCYmdC5lbmRlZD8wOnQub2JqZWN0TW9kZT8xOmUhPWU/dC5mbG93aW5nJiZ0Lmxlbmd0aD90LmJ1ZmZlci5oZWFkLmRhdGEubGVuZ3RoOnQubGVuZ3RoOihlPnQuaGlnaFdhdGVyTWFyayYmKHQuaGlnaFdhdGVyTWFyaz1jb21wdXRlTmV3SGlnaFdhdGVyTWFyayhlKSksZTw9dC5sZW5ndGg/ZTp0LmVuZGVkP3QubGVuZ3RoOih0Lm5lZWRSZWFkYWJsZT0hMCwwKSl9ZnVuY3Rpb24gb25Fb2ZDaHVuayhlLHQpe2lmKGRlYnVnKFwib25Fb2ZDaHVua1wiKSwhdC5lbmRlZCl7aWYodC5kZWNvZGVyKXt2YXIgcj10LmRlY29kZXIuZW5kKCk7ciYmci5sZW5ndGgmJih0LmJ1ZmZlci5wdXNoKHIpLHQubGVuZ3RoKz10Lm9iamVjdE1vZGU/MTpyLmxlbmd0aCl9dC5lbmRlZD0hMCx0LnN5bmM/ZW1pdFJlYWRhYmxlKGUpOih0Lm5lZWRSZWFkYWJsZT0hMSx0LmVtaXR0ZWRSZWFkYWJsZXx8KHQuZW1pdHRlZFJlYWRhYmxlPSEwLGVtaXRSZWFkYWJsZV8oZSkpKX19ZnVuY3Rpb24gZW1pdFJlYWRhYmxlKGUpe3ZhciB0PWUuX3JlYWRhYmxlU3RhdGU7ZGVidWcoXCJlbWl0UmVhZGFibGVcIix0Lm5lZWRSZWFkYWJsZSx0LmVtaXR0ZWRSZWFkYWJsZSksdC5uZWVkUmVhZGFibGU9ITEsdC5lbWl0dGVkUmVhZGFibGV8fChkZWJ1ZyhcImVtaXRSZWFkYWJsZVwiLHQuZmxvd2luZyksdC5lbWl0dGVkUmVhZGFibGU9ITAscHJvY2Vzcy5uZXh0VGljayhlbWl0UmVhZGFibGVfLGUpKX1mdW5jdGlvbiBlbWl0UmVhZGFibGVfKGUpe3ZhciB0PWUuX3JlYWRhYmxlU3RhdGU7ZGVidWcoXCJlbWl0UmVhZGFibGVfXCIsdC5kZXN0cm95ZWQsdC5sZW5ndGgsdC5lbmRlZCksdC5kZXN0cm95ZWR8fCF0Lmxlbmd0aCYmIXQuZW5kZWR8fChlLmVtaXQoXCJyZWFkYWJsZVwiKSx0LmVtaXR0ZWRSZWFkYWJsZT0hMSksdC5uZWVkUmVhZGFibGU9IXQuZmxvd2luZyYmIXQuZW5kZWQmJnQubGVuZ3RoPD10LmhpZ2hXYXRlck1hcmssZmxvdyhlKX1mdW5jdGlvbiBtYXliZVJlYWRNb3JlKGUsdCl7dC5yZWFkaW5nTW9yZXx8KHQucmVhZGluZ01vcmU9ITAscHJvY2Vzcy5uZXh0VGljayhtYXliZVJlYWRNb3JlXyxlLHQpKX1mdW5jdGlvbiBtYXliZVJlYWRNb3JlXyhlLHQpe2Zvcig7IXQucmVhZGluZyYmIXQuZW5kZWQmJih0Lmxlbmd0aDx0LmhpZ2hXYXRlck1hcmt8fHQuZmxvd2luZyYmMD09PXQubGVuZ3RoKTspe3ZhciByPXQubGVuZ3RoO2lmKGRlYnVnKFwibWF5YmVSZWFkTW9yZSByZWFkIDBcIiksZS5yZWFkKDApLHI9PT10Lmxlbmd0aClicmVha310LnJlYWRpbmdNb3JlPSExfWZ1bmN0aW9uIHBpcGVPbkRyYWluKGUpe3JldHVybiBmdW5jdGlvbigpe3ZhciB0PWUuX3JlYWRhYmxlU3RhdGU7ZGVidWcoXCJwaXBlT25EcmFpblwiLHQuYXdhaXREcmFpbiksdC5hd2FpdERyYWluJiZ0LmF3YWl0RHJhaW4tLSwwPT09dC5hd2FpdERyYWluJiZFRWxpc3RlbmVyQ291bnQoZSxcImRhdGFcIikmJih0LmZsb3dpbmc9ITAsZmxvdyhlKSl9fWZ1bmN0aW9uIHVwZGF0ZVJlYWRhYmxlTGlzdGVuaW5nKGUpe3ZhciB0PWUuX3JlYWRhYmxlU3RhdGU7dC5yZWFkYWJsZUxpc3RlbmluZz1lLmxpc3RlbmVyQ291bnQoXCJyZWFkYWJsZVwiKT4wLHQucmVzdW1lU2NoZWR1bGVkJiYhdC5wYXVzZWQ/dC5mbG93aW5nPSEwOmUubGlzdGVuZXJDb3VudChcImRhdGFcIik+MCYmZS5yZXN1bWUoKX1mdW5jdGlvbiBuUmVhZGluZ05leHRUaWNrKGUpe2RlYnVnKFwicmVhZGFibGUgbmV4dHRpY2sgcmVhZCAwXCIpLGUucmVhZCgwKX1mdW5jdGlvbiByZXN1bWUoZSx0KXt0LnJlc3VtZVNjaGVkdWxlZHx8KHQucmVzdW1lU2NoZWR1bGVkPSEwLHByb2Nlc3MubmV4dFRpY2socmVzdW1lXyxlLHQpKX1mdW5jdGlvbiByZXN1bWVfKGUsdCl7ZGVidWcoXCJyZXN1bWVcIix0LnJlYWRpbmcpLHQucmVhZGluZ3x8ZS5yZWFkKDApLHQucmVzdW1lU2NoZWR1bGVkPSExLGUuZW1pdChcInJlc3VtZVwiKSxmbG93KGUpLHQuZmxvd2luZyYmIXQucmVhZGluZyYmZS5yZWFkKDApfWZ1bmN0aW9uIGZsb3coZSl7dmFyIHQ9ZS5fcmVhZGFibGVTdGF0ZTtmb3IoZGVidWcoXCJmbG93XCIsdC5mbG93aW5nKTt0LmZsb3dpbmcmJm51bGwhPT1lLnJlYWQoKTspO31mdW5jdGlvbiBmcm9tTGlzdChlLHQpe3JldHVybiAwPT09dC5sZW5ndGg/bnVsbDoodC5vYmplY3RNb2RlP3I9dC5idWZmZXIuc2hpZnQoKTohZXx8ZT49dC5sZW5ndGg/KHI9dC5kZWNvZGVyP3QuYnVmZmVyLmpvaW4oXCJcIik6MT09PXQuYnVmZmVyLmxlbmd0aD90LmJ1ZmZlci5maXJzdCgpOnQuYnVmZmVyLmNvbmNhdCh0Lmxlbmd0aCksdC5idWZmZXIuY2xlYXIoKSk6cj10LmJ1ZmZlci5jb25zdW1lKGUsdC5kZWNvZGVyKSxyKTt2YXIgcn1mdW5jdGlvbiBlbmRSZWFkYWJsZShlKXt2YXIgdD1lLl9yZWFkYWJsZVN0YXRlO2RlYnVnKFwiZW5kUmVhZGFibGVcIix0LmVuZEVtaXR0ZWQpLHQuZW5kRW1pdHRlZHx8KHQuZW5kZWQ9ITAscHJvY2Vzcy5uZXh0VGljayhlbmRSZWFkYWJsZU5ULHQsZSkpfWZ1bmN0aW9uIGVuZFJlYWRhYmxlTlQoZSx0KXtpZihkZWJ1ZyhcImVuZFJlYWRhYmxlTlRcIixlLmVuZEVtaXR0ZWQsZS5sZW5ndGgpLCFlLmVuZEVtaXR0ZWQmJjA9PT1lLmxlbmd0aCYmKGUuZW5kRW1pdHRlZD0hMCx0LnJlYWRhYmxlPSExLHQuZW1pdChcImVuZFwiKSxlLmF1dG9EZXN0cm95KSl7dmFyIHI9dC5fd3JpdGFibGVTdGF0ZTsoIXJ8fHIuYXV0b0Rlc3Ryb3kmJnIuZmluaXNoZWQpJiZ0LmRlc3Ryb3koKX19ZnVuY3Rpb24gaW5kZXhPZihlLHQpe2Zvcih2YXIgcj0wLGE9ZS5sZW5ndGg7cjxhO3IrKylpZihlW3JdPT09dClyZXR1cm4gcjtyZXR1cm4tMX1SZWFkYWJsZS5wcm90b3R5cGUucmVhZD1mdW5jdGlvbihlKXtkZWJ1ZyhcInJlYWRcIixlKSxlPXBhcnNlSW50KGUsMTApO3ZhciB0PXRoaXMuX3JlYWRhYmxlU3RhdGUscj1lO2lmKDAhPT1lJiYodC5lbWl0dGVkUmVhZGFibGU9ITEpLDA9PT1lJiZ0Lm5lZWRSZWFkYWJsZSYmKCgwIT09dC5oaWdoV2F0ZXJNYXJrP3QubGVuZ3RoPj10LmhpZ2hXYXRlck1hcms6dC5sZW5ndGg+MCl8fHQuZW5kZWQpKXJldHVybiBkZWJ1ZyhcInJlYWQ6IGVtaXRSZWFkYWJsZVwiLHQubGVuZ3RoLHQuZW5kZWQpLDA9PT10Lmxlbmd0aCYmdC5lbmRlZD9lbmRSZWFkYWJsZSh0aGlzKTplbWl0UmVhZGFibGUodGhpcyksbnVsbDtpZigwPT09KGU9aG93TXVjaFRvUmVhZChlLHQpKSYmdC5lbmRlZClyZXR1cm4gMD09PXQubGVuZ3RoJiZlbmRSZWFkYWJsZSh0aGlzKSxudWxsO3ZhciBhLG49dC5uZWVkUmVhZGFibGU7cmV0dXJuIGRlYnVnKFwibmVlZCByZWFkYWJsZVwiLG4pLCgwPT09dC5sZW5ndGh8fHQubGVuZ3RoLWU8dC5oaWdoV2F0ZXJNYXJrKSYmZGVidWcoXCJsZW5ndGggbGVzcyB0aGFuIHdhdGVybWFya1wiLG49ITApLHQuZW5kZWR8fHQucmVhZGluZz9kZWJ1ZyhcInJlYWRpbmcgb3IgZW5kZWRcIixuPSExKTpuJiYoZGVidWcoXCJkbyByZWFkXCIpLHQucmVhZGluZz0hMCx0LnN5bmM9ITAsMD09PXQubGVuZ3RoJiYodC5uZWVkUmVhZGFibGU9ITApLHRoaXMuX3JlYWQodC5oaWdoV2F0ZXJNYXJrKSx0LnN5bmM9ITEsdC5yZWFkaW5nfHwoZT1ob3dNdWNoVG9SZWFkKHIsdCkpKSxudWxsPT09KGE9ZT4wP2Zyb21MaXN0KGUsdCk6bnVsbCk/KHQubmVlZFJlYWRhYmxlPXQubGVuZ3RoPD10LmhpZ2hXYXRlck1hcmssZT0wKToodC5sZW5ndGgtPWUsdC5hd2FpdERyYWluPTApLDA9PT10Lmxlbmd0aCYmKHQuZW5kZWR8fCh0Lm5lZWRSZWFkYWJsZT0hMCksciE9PWUmJnQuZW5kZWQmJmVuZFJlYWRhYmxlKHRoaXMpKSxudWxsIT09YSYmdGhpcy5lbWl0KFwiZGF0YVwiLGEpLGF9LFJlYWRhYmxlLnByb3RvdHlwZS5fcmVhZD1mdW5jdGlvbihlKXtlcnJvck9yRGVzdHJveSh0aGlzLG5ldyBFUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRChcIl9yZWFkKClcIikpfSxSZWFkYWJsZS5wcm90b3R5cGUucGlwZT1mdW5jdGlvbihlLHQpe3ZhciByPXRoaXMsYT10aGlzLl9yZWFkYWJsZVN0YXRlO3N3aXRjaChhLnBpcGVzQ291bnQpe2Nhc2UgMDphLnBpcGVzPWU7YnJlYWs7Y2FzZSAxOmEucGlwZXM9W2EucGlwZXMsZV07YnJlYWs7ZGVmYXVsdDphLnBpcGVzLnB1c2goZSl9YS5waXBlc0NvdW50Kz0xLGRlYnVnKFwicGlwZSBjb3VudD0lZCBvcHRzPSVqXCIsYS5waXBlc0NvdW50LHQpO3ZhciBuPSghdHx8ITEhPT10LmVuZCkmJmUhPT1wcm9jZXNzLnN0ZG91dCYmZSE9PXByb2Nlc3Muc3RkZXJyP2Q6ZjtmdW5jdGlvbiBpKHQsbil7ZGVidWcoXCJvbnVucGlwZVwiKSx0PT09ciYmbiYmITE9PT1uLmhhc1VucGlwZWQmJihuLmhhc1VucGlwZWQ9ITAsZGVidWcoXCJjbGVhbnVwXCIpLGUucmVtb3ZlTGlzdGVuZXIoXCJjbG9zZVwiLGIpLGUucmVtb3ZlTGlzdGVuZXIoXCJmaW5pc2hcIixwKSxlLnJlbW92ZUxpc3RlbmVyKFwiZHJhaW5cIixvKSxlLnJlbW92ZUxpc3RlbmVyKFwiZXJyb3JcIix1KSxlLnJlbW92ZUxpc3RlbmVyKFwidW5waXBlXCIsaSksci5yZW1vdmVMaXN0ZW5lcihcImVuZFwiLGQpLHIucmVtb3ZlTGlzdGVuZXIoXCJlbmRcIixmKSxyLnJlbW92ZUxpc3RlbmVyKFwiZGF0YVwiLGwpLHM9ITAsIWEuYXdhaXREcmFpbnx8ZS5fd3JpdGFibGVTdGF0ZSYmIWUuX3dyaXRhYmxlU3RhdGUubmVlZERyYWlufHxvKCkpfWZ1bmN0aW9uIGQoKXtkZWJ1ZyhcIm9uZW5kXCIpLGUuZW5kKCl9YS5lbmRFbWl0dGVkP3Byb2Nlc3MubmV4dFRpY2sobik6ci5vbmNlKFwiZW5kXCIsbiksZS5vbihcInVucGlwZVwiLGkpO3ZhciBvPXBpcGVPbkRyYWluKHIpO2Uub24oXCJkcmFpblwiLG8pO3ZhciBzPSExO2Z1bmN0aW9uIGwodCl7ZGVidWcoXCJvbmRhdGFcIik7dmFyIG49ZS53cml0ZSh0KTtkZWJ1ZyhcImRlc3Qud3JpdGVcIixuKSwhMT09PW4mJigoMT09PWEucGlwZXNDb3VudCYmYS5waXBlcz09PWV8fGEucGlwZXNDb3VudD4xJiYtMSE9PWluZGV4T2YoYS5waXBlcyxlKSkmJiFzJiYoZGVidWcoXCJmYWxzZSB3cml0ZSByZXNwb25zZSwgcGF1c2VcIixhLmF3YWl0RHJhaW4pLGEuYXdhaXREcmFpbisrKSxyLnBhdXNlKCkpfWZ1bmN0aW9uIHUodCl7ZGVidWcoXCJvbmVycm9yXCIsdCksZigpLGUucmVtb3ZlTGlzdGVuZXIoXCJlcnJvclwiLHUpLDA9PT1FRWxpc3RlbmVyQ291bnQoZSxcImVycm9yXCIpJiZlcnJvck9yRGVzdHJveShlLHQpfWZ1bmN0aW9uIGIoKXtlLnJlbW92ZUxpc3RlbmVyKFwiZmluaXNoXCIscCksZigpfWZ1bmN0aW9uIHAoKXtkZWJ1ZyhcIm9uZmluaXNoXCIpLGUucmVtb3ZlTGlzdGVuZXIoXCJjbG9zZVwiLGIpLGYoKX1mdW5jdGlvbiBmKCl7ZGVidWcoXCJ1bnBpcGVcIiksci51bnBpcGUoZSl9cmV0dXJuIHIub24oXCJkYXRhXCIsbCkscHJlcGVuZExpc3RlbmVyKGUsXCJlcnJvclwiLHUpLGUub25jZShcImNsb3NlXCIsYiksZS5vbmNlKFwiZmluaXNoXCIscCksZS5lbWl0KFwicGlwZVwiLHIpLGEuZmxvd2luZ3x8KGRlYnVnKFwicGlwZSByZXN1bWVcIiksci5yZXN1bWUoKSksZX0sUmVhZGFibGUucHJvdG90eXBlLnVucGlwZT1mdW5jdGlvbihlKXt2YXIgdD10aGlzLl9yZWFkYWJsZVN0YXRlLHI9e2hhc1VucGlwZWQ6ITF9O2lmKDA9PT10LnBpcGVzQ291bnQpcmV0dXJuIHRoaXM7aWYoMT09PXQucGlwZXNDb3VudClyZXR1cm4gZSYmZSE9PXQucGlwZXM/dGhpczooZXx8KGU9dC5waXBlcyksdC5waXBlcz1udWxsLHQucGlwZXNDb3VudD0wLHQuZmxvd2luZz0hMSxlJiZlLmVtaXQoXCJ1bnBpcGVcIix0aGlzLHIpLHRoaXMpO2lmKCFlKXt2YXIgYT10LnBpcGVzLG49dC5waXBlc0NvdW50O3QucGlwZXM9bnVsbCx0LnBpcGVzQ291bnQ9MCx0LmZsb3dpbmc9ITE7Zm9yKHZhciBpPTA7aTxuO2krKylhW2ldLmVtaXQoXCJ1bnBpcGVcIix0aGlzLHtoYXNVbnBpcGVkOiExfSk7cmV0dXJuIHRoaXN9dmFyIGQ9aW5kZXhPZih0LnBpcGVzLGUpO3JldHVybi0xPT09ZD90aGlzOih0LnBpcGVzLnNwbGljZShkLDEpLHQucGlwZXNDb3VudC09MSwxPT09dC5waXBlc0NvdW50JiYodC5waXBlcz10LnBpcGVzWzBdKSxlLmVtaXQoXCJ1bnBpcGVcIix0aGlzLHIpLHRoaXMpfSxSZWFkYWJsZS5wcm90b3R5cGUub249ZnVuY3Rpb24oZSx0KXt2YXIgcj1TdHJlYW0ucHJvdG90eXBlLm9uLmNhbGwodGhpcyxlLHQpLGE9dGhpcy5fcmVhZGFibGVTdGF0ZTtyZXR1cm5cImRhdGFcIj09PWU/KGEucmVhZGFibGVMaXN0ZW5pbmc9dGhpcy5saXN0ZW5lckNvdW50KFwicmVhZGFibGVcIik+MCwhMSE9PWEuZmxvd2luZyYmdGhpcy5yZXN1bWUoKSk6XCJyZWFkYWJsZVwiPT09ZSYmKGEuZW5kRW1pdHRlZHx8YS5yZWFkYWJsZUxpc3RlbmluZ3x8KGEucmVhZGFibGVMaXN0ZW5pbmc9YS5uZWVkUmVhZGFibGU9ITAsYS5mbG93aW5nPSExLGEuZW1pdHRlZFJlYWRhYmxlPSExLGRlYnVnKFwib24gcmVhZGFibGVcIixhLmxlbmd0aCxhLnJlYWRpbmcpLGEubGVuZ3RoP2VtaXRSZWFkYWJsZSh0aGlzKTphLnJlYWRpbmd8fHByb2Nlc3MubmV4dFRpY2soblJlYWRpbmdOZXh0VGljayx0aGlzKSkpLHJ9LFJlYWRhYmxlLnByb3RvdHlwZS5hZGRMaXN0ZW5lcj1SZWFkYWJsZS5wcm90b3R5cGUub24sUmVhZGFibGUucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7dmFyIHI9U3RyZWFtLnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lci5jYWxsKHRoaXMsZSx0KTtyZXR1cm5cInJlYWRhYmxlXCI9PT1lJiZwcm9jZXNzLm5leHRUaWNrKHVwZGF0ZVJlYWRhYmxlTGlzdGVuaW5nLHRoaXMpLHJ9LFJlYWRhYmxlLnByb3RvdHlwZS5yZW1vdmVBbGxMaXN0ZW5lcnM9ZnVuY3Rpb24oZSl7dmFyIHQ9U3RyZWFtLnByb3RvdHlwZS5yZW1vdmVBbGxMaXN0ZW5lcnMuYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVyblwicmVhZGFibGVcIiE9PWUmJnZvaWQgMCE9PWV8fHByb2Nlc3MubmV4dFRpY2sodXBkYXRlUmVhZGFibGVMaXN0ZW5pbmcsdGhpcyksdH0sUmVhZGFibGUucHJvdG90eXBlLnJlc3VtZT1mdW5jdGlvbigpe3ZhciBlPXRoaXMuX3JlYWRhYmxlU3RhdGU7cmV0dXJuIGUuZmxvd2luZ3x8KGRlYnVnKFwicmVzdW1lXCIpLGUuZmxvd2luZz0hZS5yZWFkYWJsZUxpc3RlbmluZyxyZXN1bWUodGhpcyxlKSksZS5wYXVzZWQ9ITEsdGhpc30sUmVhZGFibGUucHJvdG90eXBlLnBhdXNlPWZ1bmN0aW9uKCl7cmV0dXJuIGRlYnVnKFwiY2FsbCBwYXVzZSBmbG93aW5nPSVqXCIsdGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nKSwhMSE9PXRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZyYmKGRlYnVnKFwicGF1c2VcIiksdGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nPSExLHRoaXMuZW1pdChcInBhdXNlXCIpKSx0aGlzLl9yZWFkYWJsZVN0YXRlLnBhdXNlZD0hMCx0aGlzfSxSZWFkYWJsZS5wcm90b3R5cGUud3JhcD1mdW5jdGlvbihlKXt2YXIgdD10aGlzLHI9dGhpcy5fcmVhZGFibGVTdGF0ZSxhPSExO2Zvcih2YXIgbiBpbiBlLm9uKFwiZW5kXCIsZnVuY3Rpb24oKXtpZihkZWJ1ZyhcIndyYXBwZWQgZW5kXCIpLHIuZGVjb2RlciYmIXIuZW5kZWQpe3ZhciBlPXIuZGVjb2Rlci5lbmQoKTtlJiZlLmxlbmd0aCYmdC5wdXNoKGUpfXQucHVzaChudWxsKX0pLGUub24oXCJkYXRhXCIsZnVuY3Rpb24obil7KGRlYnVnKFwid3JhcHBlZCBkYXRhXCIpLHIuZGVjb2RlciYmKG49ci5kZWNvZGVyLndyaXRlKG4pKSxyLm9iamVjdE1vZGUmJm51bGw9PW4pfHwoci5vYmplY3RNb2RlfHxuJiZuLmxlbmd0aCkmJih0LnB1c2gobil8fChhPSEwLGUucGF1c2UoKSkpfSksZSl2b2lkIDA9PT10aGlzW25dJiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBlW25dJiYodGhpc1tuXT1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZVt0XS5hcHBseShlLGFyZ3VtZW50cyl9fShuKSk7Zm9yKHZhciBpPTA7aTxrUHJveHlFdmVudHMubGVuZ3RoO2krKyllLm9uKGtQcm94eUV2ZW50c1tpXSx0aGlzLmVtaXQuYmluZCh0aGlzLGtQcm94eUV2ZW50c1tpXSkpO3JldHVybiB0aGlzLl9yZWFkPWZ1bmN0aW9uKHQpe2RlYnVnKFwid3JhcHBlZCBfcmVhZFwiLHQpLGEmJihhPSExLGUucmVzdW1lKCkpfSx0aGlzfSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBTeW1ib2wmJihSZWFkYWJsZS5wcm90b3R5cGVbU3ltYm9sLmFzeW5jSXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMD09PWNyZWF0ZVJlYWRhYmxlU3RyZWFtQXN5bmNJdGVyYXRvciYmKGNyZWF0ZVJlYWRhYmxlU3RyZWFtQXN5bmNJdGVyYXRvcj1yZXF1aXJlKFwiLi9pbnRlcm5hbC9zdHJlYW1zL2FzeW5jX2l0ZXJhdG9yXCIpKSxjcmVhdGVSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3IodGhpcyl9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoUmVhZGFibGUucHJvdG90eXBlLFwicmVhZGFibGVIaWdoV2F0ZXJNYXJrXCIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuaGlnaFdhdGVyTWFya319KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoUmVhZGFibGUucHJvdG90eXBlLFwicmVhZGFibGVCdWZmZXJcIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcmVhZGFibGVTdGF0ZSYmdGhpcy5fcmVhZGFibGVTdGF0ZS5idWZmZXJ9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KFJlYWRhYmxlLnByb3RvdHlwZSxcInJlYWRhYmxlRmxvd2luZ1wiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmd9LHNldDpmdW5jdGlvbihlKXt0aGlzLl9yZWFkYWJsZVN0YXRlJiYodGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nPWUpfX0pLFJlYWRhYmxlLl9mcm9tTGlzdD1mcm9tTGlzdCxPYmplY3QuZGVmaW5lUHJvcGVydHkoUmVhZGFibGUucHJvdG90eXBlLFwicmVhZGFibGVMZW5ndGhcIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcmVhZGFibGVTdGF0ZS5sZW5ndGh9fSksXCJmdW5jdGlvblwiPT10eXBlb2YgU3ltYm9sJiYoUmVhZGFibGUuZnJvbT1mdW5jdGlvbihlLHQpe3JldHVybiB2b2lkIDA9PT1mcm9tJiYoZnJvbT1yZXF1aXJlKFwiLi9pbnRlcm5hbC9zdHJlYW1zL2Zyb21cIikpLGZyb20oUmVhZGFibGUsZSx0KX0pO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWw5emRISmxZVzFmY21WaFpHRmliR1V1YW5NaVhTd2libUZ0WlhNaU9sc2lSSFZ3YkdWNElpd2liVzlrZFd4bElpd2laWGh3YjNKMGN5SXNJbEpsWVdSaFlteGxJaXdpVW1WaFpHRmliR1ZUZEdGMFpTSXNJa1ZGSWl3aWNtVnhkV2x5WlNJc0lrVjJaVzUwUlcxcGRIUmxjaUlzSWtWRmJHbHpkR1Z1WlhKRGIzVnVkQ0lzSW1WdGFYUjBaWElpTENKMGVYQmxJaXdpYkdsemRHVnVaWEp6SWl3aWJHVnVaM1JvSWl3aVUzUnlaV0Z0SWl3aVFuVm1abVZ5SWl3aVQzVnlWV2x1ZERoQmNuSmhlU0lzSW1kc2IySmhiQ0lzSWxWcGJuUTRRWEp5WVhraUxDSmZkV2x1ZERoQmNuSmhlVlJ2UW5WbVptVnlJaXdpWTJoMWJtc2lMQ0ptY205dElpd2lYMmx6VldsdWREaEJjbkpoZVNJc0ltOWlhaUlzSW1selFuVm1abVZ5SWl3aVpHVmlkV2NpTENKa1pXSjFaMVYwYVd3aUxDSmtaV0oxWjJ4dlp5SXNJbE4wY21sdVowUmxZMjlrWlhJaUxDSmpjbVZoZEdWU1pXRmtZV0pzWlZOMGNtVmhiVUZ6ZVc1alNYUmxjbUYwYjNJaUxDSkNkV1ptWlhKTWFYTjBJaXdpWkdWemRISnZlVWx0Y0d3aUxDSmZjbVZ4ZFdseVpTSXNJbWRsZEVocFoyaFhZWFJsY2sxaGNtc2lMQ0pmY21WeGRXbHlaU1JqYjJSbGN5SXNJbU52WkdWeklpd2lSVkpTWDBsT1ZrRk1TVVJmUVZKSFgxUlpVRVVpTENKRlVsSmZVMVJTUlVGTlgxQlZVMGhmUVVaVVJWSmZSVTlHSWl3aVJWSlNYMDFGVkVoUFJGOU9UMVJmU1UxUVRFVk5SVTVVUlVRaUxDSkZVbEpmVTFSU1JVRk5YMVZPVTBoSlJsUmZRVVpVUlZKZlJVNUVYMFZXUlU1VUlpd2laWEp5YjNKUGNrUmxjM1J5YjNraUxDSnJVSEp2ZUhsRmRtVnVkSE1pTENKd2NtVndaVzVrVEdsemRHVnVaWElpTENKbGRtVnVkQ0lzSW1adUlpd2lYMlYyWlc1MGN5SXNJa0Z5Y21GNUlpd2lhWE5CY25KaGVTSXNJblZ1YzJocFpuUWlMQ0p2YmlJc0ltOXdkR2x2Ym5NaUxDSnpkSEpsWVcwaUxDSnBjMFIxY0d4bGVDSXNJblJvYVhNaUxDSnZZbXBsWTNSTmIyUmxJaXdpY21WaFpHRmliR1ZQWW1wbFkzUk5iMlJsSWl3aWFHbG5hRmRoZEdWeVRXRnlheUlzSW1KMVptWmxjaUlzSW5CcGNHVnpJaXdpY0dsd1pYTkRiM1Z1ZENJc0ltWnNiM2RwYm1jaUxDSmxibVJsWkNJc0ltVnVaRVZ0YVhSMFpXUWlMQ0p5WldGa2FXNW5JaXdpYzNsdVl5SXNJbTVsWldSU1pXRmtZV0pzWlNJc0ltVnRhWFIwWldSU1pXRmtZV0pzWlNJc0luSmxZV1JoWW14bFRHbHpkR1Z1YVc1bklpd2ljbVZ6ZFcxbFUyTm9aV1IxYkdWa0lpd2ljR0YxYzJWa0lpd2laVzFwZEVOc2IzTmxJaXdpWVhWMGIwUmxjM1J5YjNraUxDSmtaWE4wY205NVpXUWlMQ0prWldaaGRXeDBSVzVqYjJScGJtY2lMQ0poZDJGcGRFUnlZV2x1SWl3aWNtVmhaR2x1WjAxdmNtVWlMQ0prWldOdlpHVnlJaXdpWlc1amIyUnBibWNpTENKZmNtVmhaR0ZpYkdWVGRHRjBaU0lzSW5KbFlXUmhZbXhsSWl3aWNtVmhaQ0lzSWw5eVpXRmtJaXdpWkdWemRISnZlU0lzSWw5a1pYTjBjbTk1SWl3aVkyRnNiQ0lzSW5KbFlXUmhZbXhsUVdSa1EyaDFibXNpTENKaFpHUlViMFp5YjI1MElpd2ljMnRwY0VOb2RXNXJRMmhsWTJzaUxDSmxjaUlzSW5OMFlYUmxJaXdpYjI1RmIyWkRhSFZ1YXlJc0ltTm9kVzVyU1c1MllXeHBaQ0lzSWs5aWFtVmpkQ0lzSW1kbGRGQnliM1J2ZEhsd1pVOW1JaXdpY0hKdmRHOTBlWEJsSWl3aVlXUmtRMmgxYm1zaUxDSjNjbWwwWlNJc0ltMWhlV0psVW1WaFpFMXZjbVVpTENKbGJXbDBJaXdpY0hWemFDSXNJbVZ0YVhSU1pXRmtZV0pzWlNJc0luVnVaR1ZtYVc1bFpDSXNJbVJsWm1sdVpWQnliM0JsY25SNUlpd2laVzUxYldWeVlXSnNaU0lzSW1kbGRDSXNJbk5sZENJc0luWmhiSFZsSWl3aVgzVnVaR1Z6ZEhKdmVTSXNJblZ1WkdWemRISnZlU0lzSW1WeWNpSXNJbU5pSWl3aWFYTlFZWFZ6WldRaUxDSnpaWFJGYm1OdlpHbHVaeUlzSW1WdVl5SXNJbkFpTENKb1pXRmtJaXdpWTI5dWRHVnVkQ0lzSW1SaGRHRWlMQ0p1WlhoMElpd2lZMnhsWVhJaUxDSk5RVmhmU0ZkTklpd2lZMjl0Y0hWMFpVNWxkMGhwWjJoWFlYUmxjazFoY21zaUxDSnVJaXdpYUc5M1RYVmphRlJ2VW1WaFpDSXNJbVZ1WkNJc0ltVnRhWFJTWldGa1lXSnNaVjhpTENKd2NtOWpaWE56SWl3aWJtVjRkRlJwWTJzaUxDSm1iRzkzSWl3aWJXRjVZbVZTWldGa1RXOXlaVjhpTENKc1pXNGlMQ0p3YVhCbFQyNUVjbUZwYmlJc0luTnlZeUlzSW5Wd1pHRjBaVkpsWVdSaFlteGxUR2x6ZEdWdWFXNW5JaXdpYzJWc1ppSXNJbXhwYzNSbGJtVnlRMjkxYm5RaUxDSnlaWE4xYldVaUxDSnVVbVZoWkdsdVowNWxlSFJVYVdOcklpd2ljbVZ6ZFcxbFh5SXNJbVp5YjIxTWFYTjBJaXdpY21WMElpd2ljMmhwWm5RaUxDSnFiMmx1SWl3aVptbHljM1FpTENKamIyNWpZWFFpTENKamIyNXpkVzFsSWl3aVpXNWtVbVZoWkdGaWJHVWlMQ0psYm1SU1pXRmtZV0pzWlU1VUlpd2lkMU4wWVhSbElpd2lYM2R5YVhSaFlteGxVM1JoZEdVaUxDSm1hVzVwYzJobFpDSXNJbWx1WkdWNFQyWWlMQ0o0Y3lJc0luZ2lMQ0pwSWl3aWJDSXNJbkJoY25ObFNXNTBJaXdpYms5eWFXY2lMQ0prYjFKbFlXUWlMQ0p3YVhCbElpd2laR1Z6ZENJc0luQnBjR1ZQY0hSeklpd2laVzVrUm00aUxDSnpkR1J2ZFhRaUxDSnpkR1JsY25JaUxDSnZibVZ1WkNJc0luVnVjR2x3WlNJc0ltOXVkVzV3YVhCbElpd2lkVzV3YVhCbFNXNW1ieUlzSW1oaGMxVnVjR2x3WldRaUxDSnlaVzF2ZG1WTWFYTjBaVzVsY2lJc0ltOXVZMnh2YzJVaUxDSnZibVpwYm1semFDSXNJbTl1WkhKaGFXNGlMQ0p2Ym1WeWNtOXlJaXdpYjI1a1lYUmhJaXdpWTJ4bFlXNWxaRlZ3SWl3aWJtVmxaRVJ5WVdsdUlpd2liMjVqWlNJc0luQmhkWE5sSWl3aVpHVnpkSE1pTENKcGJtUmxlQ0lzSW5Od2JHbGpaU0lzSW1WMklpd2ljbVZ6SWl3aVlXUmtUR2x6ZEdWdVpYSWlMQ0p5WlcxdmRtVkJiR3hNYVhOMFpXNWxjbk1pTENKaGNIQnNlU0lzSW1GeVozVnRaVzUwY3lJc0luZHlZWEFpTENKZmRHaHBjeUlzSW0xbGRHaHZaQ0lzSW1KcGJtUWlMQ0pUZVcxaWIyd2lMQ0poYzNsdVkwbDBaWEpoZEc5eUlpd2lYMlp5YjIxTWFYTjBJaXdpYVhSbGNtRmliR1VpTENKdmNIUnpJbDBzSW0xaGNIQnBibWR6SWpvaVFVRnZRa0VzWVVGTFFTeEpRVUZKUVN4UFFVaEtReXhQUVVGUFF5eFJRVUZWUXl4VFFVMXFRa0VzVTBGQlUwTXNZMEZCWjBKQkxHTkJSM3BDTEVsQlFVbERMRWRCUVV0RExGRkJRVkVzVlVGQlZVTXNZVUZGZGtKRExHZENRVUZyUWl4VFFVRjVRa01zUlVGQlUwTXNSMEZEZEVRc1QwRkJUMFFzUlVGQlVVVXNWVUZCVlVRc1IwRkJUVVVzVVVGUE4wSkRMRTlCUVZOUUxGRkJRVkVzTmtKQlNXcENVU3hQUVVGVFVpeFJRVUZSTEZWQlFWVlJMRTlCUlROQ1F5eGpRVUZuUWtNc1QwRkJUME1zV1VGQll5eGhRVVY2UXl4VFFVRlRReXh2UWtGQmIwSkRMRWRCUXpOQ0xFOUJRVTlNTEU5QlFVOU5MRXRCUVV0RUxFZEJSM0pDTEZOQlFWTkZMR05CUVdORExFZEJRM0pDTEU5QlFVOVNMRTlCUVU5VExGTkJRVk5FTEVsQlFWRkJMR0ZCUVdWUUxHTkJTMmhFTEVsQlJVbFRMRTFCUmtGRExGVkJRVmx1UWl4UlFVRlJMRkZCUzNSQ2EwSXNUVUZFUlVNc1YwRkJZVUVzVlVGQlZVTXNVMEZEYWtKRUxGVkJRVlZETEZOQlFWTXNWVUZGYmtJc1lVRkxWaXhKUVdOSlF5eGpRVU5CUXl4clEwRkRRVklzUzBGb1FrRlRMRmRCUVdGMlFpeFJRVUZSTEd0RFFVVnlRbmRDTEZsQlFXTjRRaXhSUVVGUkxEaENRVVYwUW5sQ0xGTkJRVmQ2UWl4UlFVRlJMRFJDUVVOdVFqQkNMR2xDUVVGdFFrUXNVMEZCVTBNc2FVSkJSVFZDUXl4bFFVRnBRak5DTEZGQlFWRXNZVUZCWVRSQ0xFMUJRM1JEUXl4eFFrRkJkVUpHTEdWQlFXVkZMSEZDUVVOMFEwTXNNRUpCUVRSQ1NDeGxRVUZsUnl3d1FrRkRNME5ETERKQ1FVRTJRa29zWlVGQlpVa3NNa0pCUXpWRFF5eHRRMEZCY1VOTUxHVkJRV1ZMTEcxRFFVOTRSR2hETEZGQlFWRXNWMEZCVWtFc1EwRkJiMEpJTEZOQlFWVlZMRkZCUlRsQ0xFbEJRVWt3UWl4bFFVRnBRbFFzV1VGQldWTXNaVUZETjBKRExHRkJRV1VzUTBGQlF5eFJRVUZUTEZGQlFWTXNWVUZCVnl4UlFVRlRMRlZCUlRGRUxGTkJRVk5ETEdkQ1FVRm5RbWhETEVWQlFWTnBReXhGUVVGUFF5eEhRVWQyUXl4SFFVRjFReXh0UWtGQk5VSnNReXhGUVVGUlowTXNaMEpCUVdkRExFOUJRVTlvUXl4RlFVRlJaME1zWjBKQlFXZENReXhGUVVGUFF5eEhRVXR3Um14RExFVkJRVkZ0UXl4VFFVRlpia01zUlVGQlVXMURMRkZCUVZGR0xFZEJRWFZEUnl4TlFVRk5ReXhSUVVGUmNrTXNSVUZCVVcxRExGRkJRVkZHTEVsQlFWTnFReXhGUVVGUmJVTXNVVUZCVVVZc1IwRkJUMHNzVVVGQlVVb3NSMEZCVTJ4RExFVkJRVkZ0UXl4UlFVRlJSaXhIUVVGVExFTkJRVU5ETEVWQlFVbHNReXhGUVVGUmJVTXNVVUZCVVVZc1NVRkJOVXBxUXl4RlFVRlJkVU1zUjBGQlIwNHNSVUZCVDBNc1IwRkhja1VzVTBGQlUzWkRMR05CUVdNMlF5eEZRVUZUUXl4RlFVRlJReXhIUVVOMFEyNUVMRTlCUVZOQkxGRkJRVlZOTEZGQlFWRXNiMEpCUXpOQ01rTXNSVUZCVlVFc1IwRkJWeXhIUVUxSExHdENRVUZpUlN4SlFVRjNRa0VzUlVGQlYwUXNZVUZCYTBKc1JDeFJRVWRvUlc5RUxFdEJRVXRETEdGQlFXVktMRVZCUVZGSkxGZEJRM2hDUml4SlFVRlZReXhMUVVGTFF5eFhRVUZoUkN4TFFVRkxReXhqUVVGblFrb3NSVUZCVVVzc2IwSkJSemRFUml4TFFVRkxSeXhqUVVGblFuWkNMR2xDUVVGcFFtOUNMRXRCUVUxSUxFVkJRVk1zZDBKQlFYbENSU3hIUVVrNVJVTXNTMEZCUzBrc1QwRkJVeXhKUVVGSk0wSXNWMEZEYkVKMVFpeExRVUZMZUVNc1QwRkJVeXhGUVVOa2QwTXNTMEZCUzBzc1RVRkJVU3hMUVVOaVRDeExRVUZMVFN4WFFVRmhMRVZCUTJ4Q1RpeExRVUZMVHl4UlFVRlZMRXRCUTJaUUxFdEJRVXRSTEU5QlFWRXNSVUZEWWxJc1MwRkJTMU1zV1VGQllTeEZRVU5zUWxRc1MwRkJTMVVzVTBGQlZTeEZRVXRtVml4TFFVRkxWeXhOUVVGUExFVkJSMXBZTEV0QlFVdFpMR05CUVdVc1JVRkRjRUphTEV0QlFVdGhMR2xDUVVGclFpeEZRVU4yUW1Jc1MwRkJTMk1zYlVKQlFXOUNMRVZCUTNwQ1pDeExRVUZMWlN4cFFrRkJhMElzUlVGRGRrSm1MRXRCUVV0blFpeFJRVUZUTEVWQlJXUm9RaXhMUVVGTGFVSXNWMEZCYTBNc1NVRkJkRUp3UWl4RlFVRlJiMElzVlVGRmVrSnFRaXhMUVVGTGEwSXNZMEZCWjBKeVFpeEZRVUZSY1VJc1dVRkZOMEpzUWl4TFFVRkxiVUlzVjBGQldTeEZRVWxxUW01Q0xFdEJRVXR2UWl4blFrRkJhMEoyUWl4RlFVRlJkVUlzYVVKQlFXMUNMRTlCUld4RWNFSXNTMEZCUzNGQ0xGZEJRV0VzUlVGRmJFSnlRaXhMUVVGTGMwSXNZVUZCWXl4RlFVTnVRblJDTEV0QlFVdDFRaXhSUVVGVkxFdEJRMloyUWl4TFFVRkxkMElzVTBGQlZ5eExRVVZhTTBJc1JVRkJVVEpDTEZkQlEweHFSQ3huUWtGQlpVRXNZMEZCWjBKeVFpeFJRVUZSTEcxQ1FVRnRRbkZDTEdWQlF5OUVlVUlzUzBGQlMzVkNMRkZCUVZVc1NVRkJTV2hFTEdOQlFXTnpRaXhGUVVGUk1rSXNWVUZEZWtONFFpeExRVUZMZDBJc1UwRkJWek5DTEVWQlFWRXlRaXhWUVVrMVFpeFRRVUZUZWtVc1UwRkJVemhETEVkQlJXaENMRWRCUkVGcVJDeFBRVUZUUVN4UlFVRlZUU3hSUVVGUkxITkNRVU55UWpoRExHZENRVUZuUW1wRUxGVkJRVmNzVDBGQlR5eEpRVUZKUVN4VFFVRlRPRU1zUjBGSGNrUXNTVUZCU1VVc1JVRkJWME1zWjBKQlFXZENjRVFzVDBGREwwSnZSQ3hMUVVGTGVVSXNaVUZCYVVJc1NVRkJTWHBGTEdOQlFXTTJReXhGUVVGVFJ5eExRVUZOUkN4SFFVVjJSRU1zUzBGQlN6QkNMRlZCUVZjc1JVRkZXamRDTEVsQlF6QkNMRzFDUVVGcVFrRXNSVUZCVVRoQ0xFOUJRWEZDTTBJc1MwRkJTelJDTEUxQlFWRXZRaXhGUVVGUk9FSXNUVUZET1VJc2JVSkJRWEJDT1VJc1JVRkJVV2RETEZWQlFYZENOMElzUzBGQlN6aENMRk5CUVZkcVF5eEZRVUZSWjBNc1ZVRkhja1Z3UlN4UFFVRlBjMFVzUzBGQlN5OUNMRTFCYVVWa0xGTkJRVk5uUXl4cFFrRkJhVUpzUXl4RlFVRlJMMElzUlVGQlQzbEVMRVZCUVZWVExFVkJRVmxETEVkQlF6ZEVPVVFzVFVGQlRTeHRRa0ZCYjBKTUxFZEJRekZDTEVsQlRVMXZSU3hGUVU1R1F5eEZRVUZSZEVNc1JVRkJUekpDTEdWQlJXNUNMRWRCUVdNc1QwRkJWakZFTEVWQlEwWnhSU3hGUVVGTk1VSXNVMEZCVlN4RlFVTm9RakpDTEZkQlFWZDJReXhGUVVGUmMwTXNVVUZMYmtJc1IwRkdTMFlzU1VGQlowSkRMRVZCUVV0SExHRkJRV0ZHTEVWQlFVOXlSU3hKUVVVeFEyOUZMRVZCUTBab1JDeGxRVUZsVnl4RlFVRlJjVU1zVVVGRGJFSXNSMEZCU1VNc1JVRkJUVzVETEZsQlFXTnNReXhIUVVGVFFTeEZRVUZOVUN4UFFVRlRMRVZCUzNKRUxFZEJTbkZDTEdsQ1FVRldUeXhIUVVGMVFuRkZMRVZCUVUxdVF5eFpRVUZqYzBNc1QwRkJUME1zWlVGQlpYcEZMRXRCUVZkTUxFOUJRVThyUlN4WlFVTTFSakZGTEVWQlFWRkVMRzlDUVVGdlFrTXNTVUZITVVKclJTeEZRVU5GUnl4RlFVRk5NMElzVjBGQldYUkNMR1ZCUVdWWExFVkJRVkVzU1VGQlNWb3NiME5CUVRKRGQwUXNVMEZCVXpWRExFVkJRVkZ6UXl4RlFVRlBja1VzUjBGQlR5eFJRVU4wU0N4SFFVRkpjVVVzUlVGQlRUVkNMRTFCUTJaeVFpeGxRVUZsVnl4RlFVRlJMRWxCUVVsa0xDdENRVU4wUWl4RFFVRkJMRWRCUVVsdlJDeEZRVUZOYWtJc1ZVRkRaaXhQUVVGUExFVkJSVkJwUWl4RlFVRk5NVUlzVTBGQlZTeEZRVVZhTUVJc1JVRkJUV0lzVlVGQldVTXNSMEZEY0VKNlJDeEZRVUZSY1VVc1JVRkJUV0lzVVVGQlVXOUNMRTFCUVUwMVJTeEhRVU40UW5GRkxFVkJRVTF1UXl4WlFVRXJRaXhKUVVGcVFteERMRVZCUVUxUUxFOUJRV05yUml4VFFVRlROVU1zUlVGQlVYTkRMRVZCUVU5eVJTeEhRVUZQTEVkQlFWazJSU3hqUVVGak9VTXNSVUZCVVhORExFbEJSVGRIVFN4VFFVRlROVU1zUlVGQlVYTkRMRVZCUVU5eVJTeEhRVUZQTEZGQlIzcENhMFVzU1VGRFZrY3NSVUZCVFRGQ0xGTkJRVlVzUlVGRGFFSnJReXhqUVVGak9VTXNSVUZCVVhORExFbEJUekZDTEU5QlFWRkJMRVZCUVUwMVFpeFJRVUZWTkVJc1JVRkJUVFZGTEU5QlFWTTBSU3hGUVVGTmFrTXNaVUZCYTBNc1NVRkJha0pwUXl4RlFVRk5OVVVzVVVGSGRFVXNVMEZCVTJ0R0xGTkJRVk0xUXl4RlFVRlJjME1zUlVGQlQzSkZMRVZCUVU5clJTeEhRVU5zUTBjc1JVRkJUVGRDTEZOQlFUUkNMRWxCUVdwQ05rSXNSVUZCVFRWRkxGTkJRV2xDTkVVc1JVRkJUWHBDTEUxQlEyaEVlVUlzUlVGQlRXWXNWMEZCWVN4RlFVTnVRblpDTEVWQlFVOHJReXhMUVVGTExFOUJRVkU1UlN4TFFVZHdRbkZGTEVWQlFVMDFSU3hSUVVGVk5FVXNSVUZCVFc1RExGZEJRV0VzUlVGQlNXeERMRVZCUVUxUUxFOUJRM3BEZVVVc1JVRkJXVWNzUlVGQlRXaERMRTlCUVU5VUxGRkJRVkUxUWl4SFFVRlpjVVVzUlVGQlRXaERMRTlCUVU4d1F5eExRVUZMTDBVc1IwRkRMMFJ4UlN4RlFVRk5lRUlzWTBGQlkyMURMR0ZCUVdGcVJDeEpRVWQyUXpoRExHTkJRV001UXl4RlFVRlJjME1zUjBGSGVFSXNVMEZCVTBVc1lVRkJZVVlzUlVGQlQzSkZMRWRCUXpOQ0xFbEJRVWx2UlN4RlFVMUtMRTlCU2t0c1JTeGpRVUZqUml4SlFVRXlRaXhwUWtGQlZrRXNVVUZCWjBOcFJpeEpRVUZXYWtZc1IwRkJkMEp4UlN4RlFVRk5ia01zWVVGRGRFWnJReXhGUVVGTExFbEJRVWx3UkN4eFFrRkJjVUlzVVVGQlV5eERRVUZETEZOQlFWVXNVMEZCVlN4alFVRmxhRUlzU1VGSGRFVnZSU3hGUVdwSlZFa3NUMEZCVDFVc1pVRkJaV3hITEZOQlFWTXdSaXhWUVVGWExGbEJRV0VzUTBGSmNrUlRMRmxCUVZrc1JVRkRXa01zU1VGQlN5eFhRVU5JTEZsQlFUUkNTQ3hKUVVGNFFtaEVMRXRCUVV0NVFpeG5Ra0ZKUm5wQ0xFdEJRVXQ1UWl4bFFVRmxUaXhYUVVVM1FtbERMRWxCUVVzc1UwRkJZVU1zUjBGSFdISkVMRXRCUVV0NVFpeHBRa0ZOVm5wQ0xFdEJRVXQ1UWl4bFFVRmxUaXhWUVVGWmEwTXNUVUZIY0VOMFJ5eFRRVUZUTUVZc1ZVRkJWVm9zVVVGQlZXNUVMRmxCUVZsdFJDeFJRVU42UXpsRkxGTkJRVk13Uml4VlFVRlZZU3hYUVVGaE5VVXNXVUZCV1RaRkxGVkJSVFZEZUVjc1UwRkJVekJHTEZWQlFWVllMRk5CUVZjc1UwRkJWVEJDTEVWQlFVdERMRWRCUXpORFFTeEZRVUZIUkN4SlFVOU1la2NzVTBGQlV6QkdMRlZCUVZWTExFdEJRVThzVTBGQlZTOUZMRVZCUVU5NVJDeEhRVU42UXl4SlFVTkpWU3hGUVVSQlJTeEZRVUZSY0VNc1MwRkJTM2xDTEdWQmEwSnFRaXhQUVdaTFZ5eEZRVUZOYmtNc1YwRlpWR2xETEVkQlFXbENMRVZCV0Vrc2FVSkJRVlp1UlN4TFFVTlVlVVFzUlVGQlYwRXNSMEZCV1Zrc1JVRkJUV2hDTEcxQ1FVVmFaMElzUlVGQlRWb3NWMEZEY2tKNlJDeEZRVUZSVEN4UFFVRlBUU3hMUVVGTFJDeEZRVUZQZVVRc1IwRkRNMEpCTEVWQlFWY3NTVUZIWWxVc1IwRkJhVUlzUjBGTlpFWXNhVUpCUVdsQ2FFTXNTMEZCVFdwRExFVkJRVTk1UkN4SFFVRlZMRVZCUVU5VkxFbEJTWGhFYmtZc1UwRkJVekJHTEZWQlFWVTVReXhSUVVGVkxGTkJRVlUxUWl4SFFVTnlReXhQUVVGUGFVVXNhVUpCUVdsQ2FFTXNTMEZCVFdwRExFVkJRVThzVFVGQlRTeEhRVUZOTEVsQmVVVnVSR2hDTEZOQlFWTXdSaXhWUVVGVmFVSXNVMEZCVnl4WFFVTTFRaXhQUVVGMVF5eEpRVUZvUXpGRUxFdEJRVXQ1UWl4bFFVRmxiRUlzVTBGSk4wSjRSQ3hUUVVGVE1FWXNWVUZCVld0Q0xGbEJRV01zVTBGQlZVTXNSMEZEY0VOeVJpeG5Ra0ZCWlVFc1kwRkJaMEp5UWl4UlFVRlJMRzFDUVVGdFFuRkNMR1ZCUXk5RUxFbEJRVWxuUkN4RlFVRlZMRWxCUVVsb1JDeGpRVUZqY1VZc1IwRkRhRU0xUkN4TFFVRkxlVUlzWlVGQlpVWXNVVUZCVlVFc1JVRkZPVUoyUWl4TFFVRkxlVUlzWlVGQlpVUXNVMEZCVjNoQ0xFdEJRVXQ1UWl4bFFVRmxSaXhSUVVGUlF5eFRRVXN6UkN4SlFVaEJMRWxCUVVseFF5eEZRVUZKTjBRc1MwRkJTM2xDTEdWQlFXVnlRaXhQUVVGUE1FUXNTMEZETDBKRExFVkJRVlVzUjBGRlJDeFBRVUZPUml4SFFVTk1SU3hIUVVGWGVFTXNSVUZCVVc5Q0xFMUJRVTFyUWl4RlFVRkZSeXhOUVVNelFrZ3NSVUZCU1VFc1JVRkJSVWtzUzBGUFVpeFBRVXBCYWtVc1MwRkJTM2xDTEdWQlFXVnlRaXhQUVVGUE9FUXNVVUZGV0N4TFFVRmFTQ3hIUVVGblFpOUVMRXRCUVV0NVFpeGxRVUZsY2tJc1QwRkJUekJETEV0QlFVdHBRaXhIUVVOd1JDOUVMRXRCUVV0NVFpeGxRVUZsYWtVc1QwRkJVM1ZITEVWQlFWRjJSeXhQUVVNNVFuZERMRTFCU1ZRc1NVRkJTVzFGTEZGQlFWVXNWMEZGWkN4VFFVRlRReXgzUWtGQmQwSkRMRWRCWjBJdlFpeFBRV1pKUVN4SFFVRkxSaXhSUVVWUVJTeEZRVUZKUml4VFFVbEtSU3hKUVVOQlFTeEhRVUZMUVN4SlFVRk5MRVZCUTFoQkxFZEJRVXRCTEVsQlFVMHNSVUZEV0VFc1IwRkJTMEVzU1VGQlRTeEZRVU5ZUVN4SFFVRkxRU3hKUVVGTkxFVkJRMWhCTEVkQlFVdEJMRWxCUVUwc1IwRkRXRUVzUzBGSFMwRXNSVUZMVkN4VFFVRlRReXhqUVVGalJDeEZRVUZIYWtNc1IwRkRlRUlzVDBGQlNXbERMRWRCUVVzc1IwRkJjMElzU1VGQmFrSnFReXhGUVVGTk5VVXNVVUZCWjBJMFJTeEZRVUZOTlVJc1RVRkJZeXhGUVVOd1JEUkNMRVZCUVUxdVF5eFhRVUZ0UWl4RlFVVjZRbTlGTEVkQlFVMUJMRVZCUlVwcVF5eEZRVUZOTjBJc1UwRkJWelpDTEVWQlFVMDFSU3hQUVVGbE5FVXNSVUZCVFdoRExFOUJRVTh3UkN4TFFVRkxSU3hMUVVGTGVFY3NUMEZCYlVJMFJTeEZRVUZOTlVVc1VVRkplRVkyUnl4RlFVRkpha01zUlVGQlRXcERMR2RDUVVGbGFVTXNSVUZCVFdwRExHTkJRV2RDYVVVc2QwSkJRWGRDUXl4SlFVTjJSVUVzUjBGQlMycERMRVZCUVUwMVJTeFBRVUZsTmtjc1JVRkZla0pxUXl4RlFVRk5OVUlzVFVGTFNqUkNMRVZCUVUwMVJTeFJRVXBZTkVVc1JVRkJUWGhDTEdOQlFXVXNSVUZEWkN4SlFYTkhXQ3hUUVVGVGVVSXNWMEZCVjNaRExFVkJRVkZ6UXl4SFFVVXhRaXhIUVVSQmFFVXNUVUZCVFN4bFFVTkdaMFVzUlVGQlRUVkNMRTFCUVZZc1EwRkZRU3hIUVVGSk5FSXNSVUZCVFdJc1VVRkJVeXhEUVVOcVFpeEpRVUZKZUVRc1JVRkJVWEZGTEVWQlFVMWlMRkZCUVZGblJDeE5RVVYwUW5oSExFZEJRVk5CTEVWQlFVMVFMRk5CUTJwQ05FVXNSVUZCVFdoRExFOUJRVTh3UXl4TFFVRkxMMFVzUjBGRGJFSnhSU3hGUVVGTk5VVXNVVUZCVlRSRkxFVkJRVTF1UXl4WFFVRmhMRVZCUVVsc1F5eEZRVUZOVUN4UlFVbHFSRFJGTEVWQlFVMDFRaXhQUVVGUkxFVkJSVlkwUWl4RlFVRk5la0lzUzBGSlVtOURMR0ZCUVdGcVJDeEpRVWRpYzBNc1JVRkJUWGhDTEdOQlFXVXNSVUZGYUVKM1FpeEZRVUZOZGtJc2EwSkJRMVIxUWl4RlFVRk5ka0lzYVVKQlFXdENMRVZCUTNoQ01rUXNZMEZCWXpGRkxFMUJVWEJDTEZOQlFWTnBSQ3hoUVVGaGFrUXNSMEZEY0VJc1NVRkJTWE5ETEVWQlFWRjBReXhGUVVGUE1rSXNaVUZEYmtKeVJDeE5RVUZOTEdWQlFXZENaMFVzUlVGQlRYaENMR0ZCUVdOM1FpeEZRVUZOZGtJc2FVSkJRMmhFZFVJc1JVRkJUWGhDTEdOQlFXVXNSVUZGYUVKM1FpeEZRVUZOZGtJc2EwSkJRMVI2UXl4TlFVRk5MR1ZCUVdkQ1owVXNSVUZCVFRkQ0xGTkJRelZDTmtJc1JVRkJUWFpDTEdsQ1FVRnJRaXhGUVVONFFqUkVMRkZCUVZGRExGTkJRVk5HTEdOQlFXVXhSU3hKUVVsd1F5eFRRVUZUTUVVc1kwRkJZekZGTEVkQlEzSkNMRWxCUVVselF5eEZRVUZSZEVNc1JVRkJUekpDTEdWQlEyNUNja1FzVFVGQlRTeG5Ra0ZCYVVKblJTeEZRVUZOYWtJc1ZVRkJWMmxDTEVWQlFVMDFSU3hQUVVGUk5FVXNSVUZCVFRWQ0xFOUJSWFpFTkVJc1JVRkJUV3BDTEZsQlFXTnBRaXhGUVVGTk5VVXNVMEZCVlRSRkxFVkJRVTAxUWl4UlFVTTNRMVlzUlVGQlR5dERMRXRCUVVzc1dVRkRXbFFzUlVGQlRYWkNMR2xDUVVGclFpeEhRVk14UW5WQ0xFVkJRVTE0UWl4alFVRm5RbmRDTEVWQlFVMDNRaXhWUVVGWk5rSXNSVUZCVFRWQ0xFOUJRVk0wUWl4RlFVRk5OVVVzVVVGQlZUUkZMRVZCUVUxcVF5eGpRVU0zUlhkRkxFdEJRVXMzUlN4SFFWTlFMRk5CUVZNNFF5eGpRVUZqT1VNc1JVRkJVWE5ETEVkQlEzaENRU3hGUVVGTlpDeGpRVU5VWXl4RlFVRk5aQ3hoUVVGakxFVkJRM0JDYlVRc1VVRkJVVU1zVTBGQlUwVXNaVUZCWjBJNVJTeEZRVUZSYzBNc1NVRkpOME1zVTBGQlUzZERMR1ZCUVdVNVJTeEZRVUZSYzBNc1IwRjNRamxDTEUxQlFWRkJMRVZCUVUweFFpeFZRVUZaTUVJc1JVRkJUVFZDTEZGQlFWVTBRaXhGUVVGTk5VVXNUMEZCVXpSRkxFVkJRVTFxUXl4bFFVRnBRbWxETEVWQlFVMDNRaXhUUVVFMFFpeEpRVUZxUWpaQ0xFVkJRVTAxUlN4VFFVRmxMRU5CUTNCSUxFbEJRVWx4U0N4RlFVRk5la01zUlVGQlRUVkZMRTlCUjJoQ0xFZEJSa0ZaTEUxQlFVMHNkMEpCUTA0d1FpeEZRVUZQTmtJc1MwRkJTeXhIUVVOU2EwUXNTVUZCVVhwRExFVkJRVTAxUlN4UFFVTm9RaXhOUVVkS05FVXNSVUZCVFdRc1lVRkJZeXhGUVdkS2RFSXNVMEZCVTNkRUxGbEJRVmxETEVkQlEyNUNMRTlCUVU4c1YwRkRUQ3hKUVVGSk0wTXNSVUZCVVRKRExFVkJRVWwwUkN4bFFVTm9RbkpFTEUxQlFVMHNZMEZCWldkRkxFVkJRVTFtTEZsQlEzWkNaU3hGUVVGTlppeFpRVUZaWlN4RlFVRk5aaXhoUVVWSUxFbEJRWEpDWlN4RlFVRk5aaXhaUVVGdlFtcEZMR2RDUVVGblFqSklMRVZCUVVzc1ZVRkRha1F6UXl4RlFVRk5OMElzVTBGQlZTeEZRVU5vUW05RkxFdEJRVXRKTEV0QmNVaFlMRk5CUVZORExIZENRVUYzUWtNc1IwRkRMMElzU1VGQlNUZERMRVZCUVZFMlF5eEZRVUZMZUVRc1pVRkRha0pYTEVWQlFVMTBRaXhyUWtGQmIwSnRSU3hGUVVGTFF5eGpRVUZqTEZsQlFXTXNSVUZGZGtRNVF5eEZRVUZOY2tJc2EwSkJRVzlDY1VJc1JVRkJUWEJDTEU5QlIyeERiMElzUlVGQlRUZENMRk5CUVZVc1JVRkRVREJGTEVWQlFVdERMR05CUVdNc1VVRkJWU3hIUVVOMFEwUXNSVUZCUzBVc1UwRkpWQ3hUUVVGVFF5eHBRa0ZCYVVKSUxFZEJRM2hDTjBjc1RVRkJUU3cwUWtGRFRqWkhMRVZCUVV0MFJDeExRVUZMTEVkQmNVSmFMRk5CUVZOM1JDeFBRVUZQY2tZc1JVRkJVWE5ETEVkQlEycENRU3hGUVVGTmNrSXNhMEpCUTFSeFFpeEZRVUZOY2tJc2FVSkJRV3RDTEVWQlEzaENNRVFzVVVGQlVVTXNVMEZCVTFjc1VVRkJVM1pHTEVWQlFWRnpReXhKUVVsMFF5eFRRVUZUYVVRc1VVRkJVWFpHTEVWQlFWRnpReXhIUVVOMlFtaEZMRTFCUVUwc1UwRkJWV2RGTEVWQlFVMHhRaXhUUVVWcVFqQkNMRVZCUVUweFFpeFRRVU5VV2l4RlFVRlBOa0lzUzBGQlN5eEhRVWRrVXl4RlFVRk5ja0lzYVVKQlFXdENMRVZCUTNoQ2FrSXNSVUZCVHl0RExFdEJRVXNzVlVGRFdqaENMRXRCUVVzM1JTeEhRVU5FYzBNc1JVRkJUVGRDTEZWQlFWazJRaXhGUVVGTk1VSXNVMEZCVTFvc1JVRkJUelpDTEV0QlFVc3NSMEZuUW01RUxGTkJRVk5uUkN4TFFVRkxOMFVzUjBGRFdpeEpRVUZKYzBNc1JVRkJVWFJETEVWQlFVOHlRaXhsUVVkdVFpeEpRVVpCY2tRc1RVRkJUU3hQUVVGUlowVXNSVUZCVFRkQ0xGTkJSV0kyUWl4RlFVRk5OMElzVTBGQk5rSXNUMEZCYkVKVUxFVkJRVTgyUWl4VlFUUklha01zVTBGQlV6SkVMRk5CUVZOcVFpeEZRVUZIYWtNc1IwRkZia0lzVDBGQmNVSXNTVUZCYWtKQkxFVkJRVTAxUlN4UFFVRnhRaXhOUVVVelFqUkZMRVZCUVUxdVF5eFhRVUZaYzBZc1JVRkJUVzVFTEVWQlFVMW9ReXhQUVVGUGIwWXNVMEZCYTBKdVFpeEhRVUZMUVN4SFFVRkxha01zUlVGQlRUVkZMRkZCUlhSRUswZ3NSVUZCWm01RUxFVkJRVTFpTEZGQlFXVmhMRVZCUVUxb1F5eFBRVUZQY1VZc1MwRkJTeXhKUVVGeFF5eEpRVUY0UW5KRUxFVkJRVTFvUXl4UFFVRlBOVU1zVDBGQmIwSTBSU3hGUVVGTmFFTXNUMEZCVDNOR0xGRkJRVzFDZEVRc1JVRkJUV2hETEU5QlFVOTFSaXhQUVVGUGRrUXNSVUZCVFRWRkxGRkJRMjVLTkVVc1JVRkJUV2hETEU5QlFVODRSQ3hUUVVkaWNVSXNSVUZCVFc1RUxFVkJRVTFvUXl4UFFVRlBkMFlzVVVGQlVYWkNMRVZCUVVkcVF5eEZRVUZOWWl4VFFVVXZRbWRGTEVkQlZGQXNTVUZCU1VFc1JVRlpUaXhUUVVGVFRTeFpRVUZaTDBZc1IwRkRia0lzU1VGQlNYTkRMRVZCUVZGMFF5eEZRVUZQTWtJc1pVRkRia0p5UkN4TlFVRk5MR05CUVdWblJTeEZRVUZOTTBJc1dVRkZkRUl5UWl4RlFVRk5NMElzWVVGRFZESkNMRVZCUVUwMVFpeFBRVUZSTEVWQlEyUnBSU3hSUVVGUlF5eFRRVUZUYjBJc1kwRkJaVEZFTEVWQlFVOTBReXhKUVVrelF5eFRRVUZUWjBjc1kwRkJZekZFTEVWQlFVOTBReXhIUVVjMVFpeEhRVVpCTVVJc1RVRkJUU3huUWtGQmFVSm5SU3hGUVVGTk0wSXNWMEZCV1RKQ0xFVkJRVTAxUlN4VFFVVXhRelJGTEVWQlFVMHpRaXhaUVVFclFpeEpRVUZxUWpKQ0xFVkJRVTAxUlN4VFFVTTNRalJGTEVWQlFVMHpRaXhaUVVGaExFVkJRMjVDV0N4RlFVRlBORUlzVlVGQlZ5eEZRVU5zUWpWQ0xFVkJRVThyUXl4TFFVRkxMRTlCUlZKVUxFVkJRVTFzUWl4aFFVRmhMRU5CUjNKQ0xFbEJRVWsyUlN4RlFVRlRha2NzUlVGQlQydEhMR2xDUVVWbVJDeEhRVUZWUVN4RlFVRlBOMFVzWVVGQlpUWkZMRVZCUVU5RkxGZEJRekZEYmtjc1JVRkJUeXRDTEZkQlowSm1MRk5CUVZOeFJTeFJRVUZSUXl4RlFVRkpReXhIUVVOdVFpeEpRVUZMTEVsQlFVbERMRVZCUVVrc1JVRkJSME1zUlVGQlNVZ3NSVUZCUnpOSkxFOUJRVkUyU1N4RlFVRkpReXhGUVVGSFJDeEpRVU53UXl4SFFVRkpSaXhGUVVGSFJTeExRVUZQUkN4RlFVRkhMRTlCUVU5RExFVkJSekZDTEU5QlFWRXNSVUV6ZEVKV2RFb3NVMEZCVXpCR0xGVkJRVlZrTEV0QlFVOHNVMEZCVlRCRExFZEJRMnhEYWtjc1RVRkJUU3hQUVVGUmFVY3NSMEZEWkVFc1JVRkJTV3RETEZOQlFWTnNReXhGUVVGSExFbEJRMmhDTEVsQlFVbHFReXhGUVVGUmNFTXNTMEZCUzNsQ0xHVkJRMklyUlN4RlFVRlJia01zUlVGTFdpeEhRVXBWTEVsQlFVNUJMRWxCUVZOcVF5eEZRVUZOZGtJc2FVSkJRV3RDTEVkQlNUTkNMRWxCUVU1M1JDeEhRVUZYYWtNc1JVRkJUWGhDTEdkQ1FVRXdReXhKUVVGNFFuZENMRVZCUVUxcVF5eGpRVUZ6UW1sRExFVkJRVTAxUlN4UlFVRlZORVVzUlVGQlRXcERMR05CUVdkQ2FVTXNSVUZCVFRWRkxFOUJRVk1zU1VGQlRUUkZMRVZCUVUwMVFpeFBRVWRzU1N4UFFVWkJjRU1zVFVGQlRTeHhRa0ZCYzBKblJTeEZRVUZOTlVVc1QwRkJVVFJGTEVWQlFVMDFRaXhQUVVNelFpeEpRVUZxUWpSQ0xFVkJRVTAxUlN4UlFVRm5RalJGTEVWQlFVMDFRaXhOUVVGUGNVWXNXVUZCV1RkR0xFMUJRVmNyUXl4aFFVRmhMME1zVFVGRGNFVXNTMEZMVkN4SFFVRlZMRXRCUmxaeFJTeEZRVUZKUXl4alFVRmpSQ3hGUVVGSGFrTXNTMEZGVGtFc1JVRkJUVFZDTEUxQlJXNUNMRTlCUkhGQ0xFbEJRV3BDTkVJc1JVRkJUVFZGTEZGQlFXTnhTU3haUVVGWk4wWXNUVUZETjBJc1MwRjVRbFFzU1VFMFFrbDFSaXhGUVRWQ1FXdENMRVZCUVZOeVJTeEZRVUZOZUVJc1lVRm5SRzVDTEU5QkwwTkJlRU1zVFVGQlRTeG5Ra0ZCYVVKeFNTeEpRVVZHTEVsQlFXcENja1VzUlVGQlRUVkZMRkZCUVdkQ05FVXNSVUZCVFRWRkxFOUJRVk0yUnl4RlFVRkpha01zUlVGQlRXcERMR2RDUVVWcVJDOUNMRTFCUVUwc05rSkJSRTV4U1N4SFFVRlRMRWRCVFZCeVJTeEZRVUZOTlVJc1QwRkJVelJDTEVWQlFVMHhRaXhSUVVWMlFuUkRMRTFCUVUwc2JVSkJSRTV4U1N4SFFVRlRMRWRCUlVGQkxFbEJRMVJ5U1N4TlFVRk5MRmRCUTA1blJTeEZRVUZOTVVJc1UwRkJWU3hGUVVOb1FqQkNMRVZCUVUxNlFpeE5RVUZQTEVWQlJWRXNTVUZCYWtKNVFpeEZRVUZOTlVVc1UwRkJZelJGTEVWQlFVMTRRaXhqUVVGbExFZEJSVGREV2l4TFFVRkxORUlzVFVGQlRWRXNSVUZCVFdwRExHVkJSV3BDYVVNc1JVRkJUWHBDTEUxQlFVOHNSVUZIVW5sQ0xFVkJRVTB4UWl4VlFVRlRNa1FzUlVGQlNVTXNZMEZCWTJ0RExFVkJRVTl3UlN4TFFVMXVReXhSUVVaRWJVUXNSVUZCVUd4Q0xFVkJRVWtzUlVGQlUybENMRk5CUVZOcVFpeEZRVUZIYWtNc1IwRkJhMElzVDBGSE4wTkJMRVZCUVUxNFFpeGhRVUZsZDBJc1JVRkJUVFZGTEZGQlFWVTBSU3hGUVVGTmFrTXNZMEZETTBOclJTeEZRVUZKTEVsQlJVcHFReXhGUVVGTk5VVXNVVUZCVlRaSExFVkJRMmhDYWtNc1JVRkJUV1lzVjBGQllTeEhRVWRCTEVsQlFXcENaU3hGUVVGTk5VVXNVMEZIU0RSRkxFVkJRVTAxUWl4UlFVRlBORUlzUlVGQlRYaENMR05CUVdVc1IwRkZia00wUml4SlFVRlZia01zUjBGQlMycERMRVZCUVUwMVFpeFBRVUZQY1VZc1dVRkJXVGRHTEU5QlIyeERMRTlCUVZKMVJpeEhRVUZqZGtZc1MwRkJTelpETEV0QlFVc3NUMEZCVVRCRExFZEJRemRDUVN4SFFYZElWSGhKTEZOQlFWTXdSaXhWUVVGVllpeE5RVUZSTEZOQlFWVjVReXhIUVVOdVEyeEdMR1ZCUVdWaExFdEJRVTBzU1VGQlNXWXNNa0pCUVRKQ0xHRkJSM1JFYkVNc1UwRkJVekJHTEZWQlFWVnBSU3hMUVVGUExGTkJRVlZETEVWQlFVMURMRWRCUTNoRExFbEJRVWszUWl4RlFVRk5MMFVzUzBGRFRtOURMRVZCUVZGd1F5eExRVUZMZVVJc1pVRkZha0lzVDBGQlVWY3NSVUZCVFRsQ0xGbEJRMW9zUzBGQlN5eEZRVU5JT0VJc1JVRkJUUzlDTEUxQlFWRnpSeXhGUVVOa0xFMUJSVVlzUzBGQlN5eEZRVU5JZGtVc1JVRkJUUzlDTEUxQlFWRXNRMEZCUXl0Q0xFVkJRVTB2UWl4TlFVRlBjMGNzUjBGRE5VSXNUVUZGUml4UlFVTkZka1VzUlVGQlRTOUNMRTFCUVUxNVF5eExRVUZMTmtRc1IwRkpja0oyUlN4RlFVRk5PVUlzV1VGQll5eEZRVU53UW14RExFMUJRVTBzZDBKQlFYbENaMFVzUlVGQlRUbENMRmRCUVZselJ5eEhRVU5xUkN4SlFVTkpReXhKUVVSVlJDeEpRVUUyUWl4SlFVRnFRa0VzUlVGQlUzSkRMRTFCUVd0Q2IwTXNTVUZCVTJ4RExGRkJRVkZ4UXl4UlFVRlZTQ3hKUVVGVGJFTXNVVUZCVVhORExFOUJRemRGUXl4RlFVRlJReXhGUVVrMVFpeFRRVUZUUXl4RlFVRlRlRVlzUlVGQlZYbEdMRWRCUXpGQ0wwa3NUVUZCVFN4WlFVVkdjMFFzU1VGQllYRkVMRWRCUTFodlF5eEpRVUYzUXl4SlFVRXhRa0VzUlVGQlYwTXNZVUZETTBKRUxFVkJRVmRETEZsQlFXRXNSVUZ2UWpWQ2FFb3NUVUZCVFN4WFFVVk9kVWtzUlVGQlMxVXNaVUZCWlN4UlFVRlRReXhIUVVNM1FsZ3NSVUZCUzFVc1pVRkJaU3hUUVVGVlJTeEhRVU01UWxvc1JVRkJTMVVzWlVGQlpTeFJRVUZUUnl4SFFVTTNRbUlzUlVGQlMxVXNaVUZCWlN4UlFVRlRTU3hIUVVNM1FtUXNSVUZCUzFVc1pVRkJaU3hUUVVGVlNDeEhRVU01UW01RExFVkJRVWx6UXl4bFFVRmxMRTFCUVU5TUxFZEJRekZDYWtNc1JVRkJTWE5ETEdWQlFXVXNUVUZCVDBvc1IwRkRNVUpzUXl4RlFVRkpjME1zWlVGQlpTeFBRVUZSU3l4SFFVTXpRa01zUjBGQldTeEhRVTFTZGtZc1JVRkJUV1lzV1VGQlowSnpSaXhGUVVGTFdDeHBRa0ZCYTBKWExFVkJRVXRZTEdWQlFXVTBRaXhYUVVGWlNpeExRVGxDYmtZc1UwRkJVMUlzU1VGRFVEVkpMRTFCUVUwc1UwRkRUblZKTEVWQlFVdHdReXhOUVdoQ1NHNURMRVZCUVUwelFpeFhRVUZaWjBVc1VVRkJVVU1zVTBGQlUyMURMRWRCUVZrNVFpeEZRVUZKT0VNc1MwRkJTeXhOUVVGUGFFSXNSMEZEYmtWR0xFVkJRVXN2Unl4SFFVRkhMRk5CUVZWelNDeEhRWE5DYkVJc1NVRkJTVTBzUlVGQlZURkRMRmxCUVZsRExFZEJRekZDTkVJc1JVRkJTeTlITEVkQlFVY3NVVUZCVXpSSUxFZEJRMnBDTEVsQlFVbEhMRWRCUVZrc1JVRjNRbWhDTEZOQlFWTkVMRVZCUVU4elNpeEhRVU5rU3l4TlFVRk5MRlZCUTA0c1NVRkJTVzFJTEVWQlFVMXZRaXhGUVVGTGFFVXNUVUZCVFRWRkxFZEJRM0pDU3l4TlFVRk5MR0ZCUVdOdFNDeEpRVVZTTEVsQlFWSkJMRXRCUzNkQ0xFbEJRWEpDYmtRc1JVRkJUVGxDTEZsQlFXOUNPRUlzUlVGQlRTOUNMRkZCUVZWelJ5eEhRVUZSZGtVc1JVRkJUVGxDTEZkQlFXRXNTVUZCY1VNc1NVRkJhRU0wUml4UlFVRlJPVVFzUlVGQlRTOUNMRTFCUVU5elJ5eE5RVUZyUW1kQ0xFbEJRM0JJZGtvc1RVRkJUU3c0UWtGQkswSm5SU3hGUVVGTlppeFpRVU16UTJVc1JVRkJUV1lzWTBGSFVqQkVMRVZCUVVrclF5eFRRVTFTTEZOQlFWTk1MRVZCUVZGMFJpeEhRVU5tTDBRc1RVRkJUU3hWUVVGWEswUXNSMEZEYWtJNFJTeEpRVU5CVGl4RlFVRkxWU3hsUVVGbExGRkJRVk5KTEVkQlExVXNTVUZCYmtOeVN5eG5Ra0ZCWjBKMVNpeEZRVUZOTEZWQlFXZENlRWdzWlVGQlpYZElMRVZCUVUxNFJTeEhRVTFxUlN4VFFVRlRiVVlzU1VGRFVGZ3NSVUZCUzFVc1pVRkJaU3hUUVVGVlJTeEhRVU01UWs0c1NVRkxSaXhUUVVGVFRTeEpRVU5RYmtvc1RVRkJUU3haUVVOT2RVa3NSVUZCUzFVc1pVRkJaU3hSUVVGVFF5eEhRVU0zUWt3c1NVRkxSaXhUUVVGVFFTeEpRVU5RTjBrc1RVRkJUU3hWUVVOT01rY3NSVUZCU1d0RExFOUJRVTlPTEVkQlYySXNUMEUzUkVFMVFpeEZRVUZKYmtZc1IwRkJSeXhQUVVGUk9FZ3NSMEVyUW1aeVNTeG5Ra0ZCWjBKelNDeEZRVUZOTEZGQlFWTmpMRWRCVHk5Q1pDeEZRVUZMYTBJc1MwRkJTeXhSUVVGVFVDeEhRVkZ1UWxnc1JVRkJTMnRDTEV0QlFVc3NVMEZCVlU0c1IwRlJjRUphTEVWQlFVczVSQ3hMUVVGTExFOUJRVkZyUXl4SFFVVmlNME1zUlVGQlRUZENMRlZCUTFSdVF5eE5RVUZOTEdWQlEwNHlSeXhGUVVGSlNTeFZRVWREZDBJc1IwRm5RbFExU2l4VFFVRlRNRVlzVlVGQlZYZEZMRTlCUVZNc1UwRkJWVTRzUjBGRGNFTXNTVUZCU1haRkxFVkJRVkZ3UXl4TFFVRkxlVUlzWlVGRFlqQkdMRVZCUVdFc1EwRkRaa01zV1VGQldTeEhRVWRrTEVkQlFYbENMRWxCUVhKQ2FFWXNSVUZCVFRsQ0xGZEJRV3RDTEU5QlFVOU9MRXRCUlc1RExFZEJRWGxDTEVsQlFYSkNiME1zUlVGQlRUbENMRmRCUlZJc1QwRkJTWEZITEVkQlFWRkJMRWxCUVZOMlJTeEZRVUZOTDBJc1RVRkJZMHdzVFVGRGNFTXlSeXhKUVVGTlFTeEZRVUZQZGtVc1JVRkJUUzlDTEU5QlJYaENLMElzUlVGQlRTOUNMRTFCUVZFc1MwRkRaQ3RDTEVWQlFVMDVRaXhYUVVGaExFVkJRMjVDT0VJc1JVRkJUVGRDTEZOQlFWVXNSVUZEV205SExFZEJRVTFCTEVWQlFVczVSQ3hMUVVGTExGTkJRVlUzUXl4TFFVRk5iVWdzUjBGRE4wSnVTQ3hOUVVsVUxFbEJRVXN5Unl4RlFVRk5MRU5CUlZRc1NVRkJTVzlDTEVWQlFWRXpSaXhGUVVGTkwwSXNUVUZEWkhkRkxFVkJRVTE2UXl4RlFVRk5PVUlzVjBGRGFFSTRRaXhGUVVGTkwwSXNUVUZCVVN4TFFVTmtLMElzUlVGQlRUbENMRmRCUVdFc1JVRkRia0k0UWl4RlFVRk5OMElzVTBGQlZTeEZRVVZvUWl4SlFVRkxMRWxCUVVrNFJpeEZRVUZKTEVWQlFVZEJMRVZCUVVsNFFpeEZRVUZMZDBJc1NVRkRka0l3UWl4RlFVRk5NVUlzUjBGQlIzaEVMRXRCUVVzc1UwRkJWVGRETEV0QlFVMHNRMEZETlVKdlNDeFpRVUZaTEVsQlNXaENMRTlCUVU5d1NDeExRVWxVTEVsQlFVbG5TU3hGUVVGUk9VSXNVVUZCVVRsRUxFVkJRVTB2UWl4TlFVRlBjMGNzUjBGRGFrTXNUMEZCWlN4SlFVRlljVUlzUlVGQmNVSm9TU3hOUVVONlFtOURMRVZCUVUwdlFpeE5RVUZOTkVnc1QwRkJUMFFzUlVGQlR5eEhRVU14UWpWR0xFVkJRVTA1UWl4WlFVRmpMRVZCUTBzc1NVRkJja0k0UWl4RlFVRk5PVUlzWVVGQmEwSTRRaXhGUVVGTkwwSXNUVUZCVVN0Q0xFVkJRVTB2UWl4TlFVRk5MRWxCUTNSRWMwY3NSVUZCU3psRUxFdEJRVXNzVTBGQlZUZERMRXRCUVUxdFNDeEhRVU51UW01SUxFOUJTMVJxUkN4VFFVRlRNRVlzVlVGQlZUZERMRWRCUVVzc1UwRkJWWE5KTEVWQlFVa3pTU3hIUVVOd1F5eEpRVUZKTkVrc1JVRkJUVEZMTEU5QlFVOW5SaXhWUVVGVk4wTXNSMEZCUjIxRExFdEJRVXN2UWl4TFFVRk5hMGtzUlVGQlNUTkpMRWRCUTNwRE5rTXNSVUZCVVhCRExFdEJRVXQ1UWl4bFFYVkNha0lzVFVGeVFsY3NVMEZCVUhsSExFZEJSMFk1Uml4RlFVRk5kRUlzYTBKQlFXOUNaQ3hMUVVGTGEwWXNZMEZCWXl4WlFVRmpMRWRCUlhKRExFbEJRV3hDT1VNc1JVRkJUVGRDTEZOQlFXMUNVQ3hMUVVGTGJVWXNWVUZEYkVJc1lVRkJVQ3RETEVsQlEwbzVSaXhGUVVGTk0wSXNXVUZCWlRKQ0xFVkJRVTEwUWl4dlFrRkRPVUp6UWl4RlFVRk5kRUlzYTBKQlFXOUNjMElzUlVGQlRYaENMR05CUVdVc1JVRkRMME4zUWl4RlFVRk5OMElzVTBGQlZTeEZRVU5vUWpaQ0xFVkJRVTEyUWl4cFFrRkJhMElzUlVGRGVFSjZReXhOUVVGTkxHTkJRV1ZuUlN4RlFVRk5OVVVzVDBGQlVUUkZMRVZCUVUweFFpeFRRVVZ5UXpCQ0xFVkJRVTAxUlN4UFFVTlNkVVlzWVVGQllTOURMRTFCUTBodlF5eEZRVUZOTVVJc1UwRkRhRUlyUkN4UlFVRlJReXhUUVVGVFZTeHBRa0ZCYTBKd1JpeFJRVXRzUTIxSkxFZEJSMVJ3VEN4VFFVRlRNRVlzVlVGQlZUSkdMRmxCUVdOeVRDeFRRVUZUTUVZc1ZVRkJWVGRETEVkQlJYQkVOME1zVTBGQlV6QkdMRlZCUVZVMFJTeGxRVUZwUWl4VFFVRlZZU3hGUVVGSk0wa3NSMEZEYUVRc1NVRkJTVFJKTEVWQlFVMHhTeXhQUVVGUFowWXNWVUZCVlRSRkxHVkJRV1YwUml4TFFVRkxMMElzUzBGQlRXdEpMRVZCUVVrelNTeEhRVmw2UkN4TlFWWlhMR0ZCUVZBeVNTeEhRVTlHZWtRc1VVRkJVVU1zVTBGQlUwMHNkMEpCUVhsQ2FFWXNUVUZIY2tOdFNTeEhRVWRVY0V3c1UwRkJVekJHTEZWQlFWVTBSaXh0UWtGQmNVSXNVMEZCVlVnc1IwRkRhRVFzU1VGQlNVTXNSVUZCVFRGTExFOUJRVTluUml4VlFVRlZORVlzYlVKQlFXMUNReXhOUVVGTmRFa3NTMEZCVFhWSkxGZEJXVEZFTEUxQlZsY3NZVUZCVUV3c1VVRkJORUpzUml4SlFVRlFhMFlzUjBGUGRrSjZSQ3hSUVVGUlF5eFRRVUZUVFN4M1FrRkJlVUpvUml4TlFVZHlRMjFKTEVkQmRVSlVjRXdzVTBGQlV6QkdMRlZCUVZVd1F5eFBRVUZUTEZkQlF6RkNMRWxCUVVrdlF5eEZRVUZSY0VNc1MwRkJTM2xDTEdWQldXcENMRTlCVmt0WExFVkJRVTAzUWl4VlFVTlVia01zVFVGQlRTeFZRVWxPWjBVc1JVRkJUVGRDTEZOQlFWYzJRaXhGUVVGTmRFSXNhMEpCUTNaQ2NVVXNUMEZCVDI1R0xFdEJRVTF2UXl4SlFVZG1RU3hGUVVGTmNFSXNVVUZCVXl4RlFVTlNhRUlzVFVGMVFsUnFSQ3hUUVVGVE1FWXNWVUZCVlhGR0xFMUJRVkVzVjBGVmVrSXNUMEZVUVRGS0xFMUJRVTBzZDBKQlFYbENORUlzUzBGQlMzbENMR1ZCUVdWc1FpeFZRVVZtTEVsQlFXaERVQ3hMUVVGTGVVSXNaVUZCWld4Q0xGVkJRM1JDYmtNc1RVRkJUU3hUUVVOT05FSXNTMEZCUzNsQ0xHVkJRV1ZzUWl4VFFVRlZMRVZCUXpsQ1VDeExRVUZMTmtNc1MwRkJTeXhWUVVkYU4wTXNTMEZCUzNsQ0xHVkJRV1ZVTEZGQlFWTXNSVUZEZEVKb1FpeE5RV1ZVYWtRc1UwRkJVekJHTEZWQlFWVXJSaXhMUVVGUExGTkJRVlV4U1N4SFFVTnNReXhKUVVGSk1ra3NSVUZCVVhwSkxFdEJSVkp2UXl4RlFVRlJjRU1zUzBGQlMzbENMR1ZCUTJKVUxFZEJRVk1zUlVFd1FtSXNTVUZCU3l4SlFVRkpjVVlzUzBGNlFsUjJSeXhGUVVGUFJpeEhRVUZITEUxQlFVOHNWMEZIWml4SFFVWkJlRUlzVFVGQlRTeGxRVVZHWjBVc1JVRkJUV0lzVlVGQldXRXNSVUZCVFRWQ0xFMUJRVThzUTBGRGFrTXNTVUZCU1hwRExFVkJRVkZ4UlN4RlFVRk5ZaXhSUVVGUlowUXNUVUZEZEVKNFJ5eEhRVUZUUVN4RlFVRk5VQ3hSUVVGUmFVd3NSVUZCVFROR0xFdEJRVXN2UlN4SFFVZDRRekJMTEVWQlFVMHpSaXhMUVVGTExGRkJSV0pvUkN4RlFVRlBSaXhIUVVGSExFOUJRVkVzVTBGQlZUZENMRWxCUXpGQ1N5eE5RVUZOTEdkQ1FVTkdaMFVzUlVGQlRXSXNWVUZCVTNoRUxFVkJRVkZ4UlN4RlFVRk5ZaXhSUVVGUmIwSXNUVUZCVFRWRkxFbEJSVE5EY1VVc1JVRkJUVzVETEZsQlFXTXNUVUZCUTJ4RExFdEJRWGxFY1VVc1JVRkJUVzVETEZsQlFXZENiRU1zUjBGQlZVRXNSVUZCVFZBc1ZVRkZPVWRwVEN4RlFVRk5NMFlzUzBGQlN5OUZMRXRCUjI1Q2FVUXNSMEZCVXl4RlFVTlViRUlzUlVGQlQyZEpMRmxCUzBkb1NTeFBRVU5KYTBRc1NVRkJXbWhFTEV0QlFVdHhSeXhKUVVGNVF5eHRRa0ZCWkhaSExFVkJRVTkxUnl4TFFVTjZRM0pITEV0QlFVdHhSeXhIUVVGTExGTkJRVzlDY1VNc1IwRkROVUlzVDBGQlR5eFhRVU5NTEU5QlFVODFTU3hGUVVGUE5Fa3NSMEZCVVVvc1RVRkJUWGhKTEVWQlFWRjVTU3haUVVZNVFpeERRVWxTYkVNc1NVRkxUaXhKUVVGTExFbEJRVWxvUXl4RlFVRkpMRVZCUVVkQkxFVkJRVWxxUml4aFFVRmhOVUlzVDBGQlVUWkhMRWxCUTNaRGRrVXNSVUZCVDBZc1IwRkJSMUlzWVVGQllXbEdMRWRCUVVseVJTeExRVUZMTmtNc1MwRkJTemhHTEV0QlFVc3pTU3hMUVVGTldpeGhRVUZoYVVZc1MwRmpMMFFzVDBGVVFYSkZMRXRCUVVzMFFpeE5RVUZSTEZOQlFWVjVReXhIUVVOeVFtcEhMRTFCUVUwc1owSkJRV2xDYVVjc1IwRkZia0p5UkN4SlFVTkdRU3hIUVVGVExFVkJRMVJzUWl4RlFVRlBjVVlzVjBGSlNtNUdMRTFCUjJFc2JVSkJRVmcwU1N4VFFVTlVOMHdzVTBGQlV6QkdMRlZCUVZWdFJ5eFBRVUZQUXl4bFFVRnBRaXhYUVV0NlF5eFpRVW93UXpkR0xFbEJRWFJEZUVVc2IwTkJRMFpCTEd0RFFVRnZRM1JDTEZGQlFWRXNjME5CUjNaRGMwSXNhME5CUVd0RGQwSXNVVUZKTjBOMVF5eFBRVUZQVlN4bFFVRmxiRWNzVTBGQlV6QkdMRlZCUVZjc2QwSkJRWGxDTEVOQlNXcEZVeXhaUVVGWkxFVkJRMXBETEVsQlFVc3NWMEZEU0N4UFFVRlBia1FzUzBGQlMzbENMR1ZCUVdWMFFpeHBRa0ZITDBKdlF5eFBRVUZQVlN4bFFVRmxiRWNzVTBGQlV6QkdMRlZCUVZjc2FVSkJRV3RDTEVOQlNURkVVeXhaUVVGWkxFVkJRMXBETEVsQlFVc3NWMEZEU0N4UFFVRlBia1FzUzBGQlMzbENMR2RDUVVGclFucENMRXRCUVV0NVFpeGxRVUZsY2tJc1ZVRkhkRVJ0UXl4UFFVRlBWU3hsUVVGbGJFY3NVMEZCVXpCR0xGVkJRVmNzYTBKQlFXMUNMRU5CU1RORVV5eFpRVUZaTEVWQlExcERMRWxCUVVzc1YwRkRTQ3hQUVVGUGJrUXNTMEZCUzNsQ0xHVkJRV1ZzUWl4VFFVVTNRalpETEVsQlFVc3NVMEZCWVdoQ0xFZEJRMXB3UXl4TFFVRkxlVUlzYVVKQlExQjZRaXhMUVVGTGVVSXNaVUZCWld4Q0xGRkJRVlUyUWl4TlFVdHdRM0pHTEZOQlFWTXJUQ3hWUVVGWmVFUXNVMEZEY2tJdlF5eFBRVUZQVlN4bFFVRmxiRWNzVTBGQlV6QkdMRlZCUVZjc2FVSkJRV3RDTEVOQlNURkVVeXhaUVVGWkxFVkJRMXBETEVsQlFVc3NWMEZEU0N4UFFVRlBia1FzUzBGQlMzbENMR1ZCUVdWcVJTeFZRVzlFVkN4dFFrRkJXRzlNTEZOQlExUTNUQ3hUUVVGVGFVSXNTMEZCVHl4VFFVRlZLMHNzUlVGQlZVTXNSMEZMYkVNc1dVRktZV2hITEVsQlFWUm9SaXhQUVVOR1FTeExRVUZQWkN4UlFVRlJMRFJDUVVkV1l5eExRVUZMYWtJc1UwRkJWV2ROTEVWQlFWVkRJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDNOMFlXZHBibWN2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdmMzUnlaV0Z0TFdKeWIzZHpaWEpwWm5rdmJtOWtaVjl0YjJSMWJHVnpMM0psWVdSaFlteGxMWE4wY21WaGJTOXNhV0l2WDNOMGNtVmhiVjl5WldGa1lXSnNaUzVxY3lKOSIsIlwidXNlIHN0cmljdFwiO21vZHVsZS5leHBvcnRzPVRyYW5zZm9ybTt2YXIgX3JlcXVpcmUkY29kZXM9cmVxdWlyZShcIi4uL2Vycm9yc1wiKS5jb2RlcyxFUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRD1fcmVxdWlyZSRjb2Rlcy5FUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRCxFUlJfTVVMVElQTEVfQ0FMTEJBQ0s9X3JlcXVpcmUkY29kZXMuRVJSX01VTFRJUExFX0NBTExCQUNLLEVSUl9UUkFOU0ZPUk1fQUxSRUFEWV9UUkFOU0ZPUk1JTkc9X3JlcXVpcmUkY29kZXMuRVJSX1RSQU5TRk9STV9BTFJFQURZX1RSQU5TRk9STUlORyxFUlJfVFJBTlNGT1JNX1dJVEhfTEVOR1RIXzA9X3JlcXVpcmUkY29kZXMuRVJSX1RSQU5TRk9STV9XSVRIX0xFTkdUSF8wLER1cGxleD1yZXF1aXJlKFwiLi9fc3RyZWFtX2R1cGxleFwiKTtmdW5jdGlvbiBhZnRlclRyYW5zZm9ybShyLGUpe3ZhciB0PXRoaXMuX3RyYW5zZm9ybVN0YXRlO3QudHJhbnNmb3JtaW5nPSExO3ZhciBuPXQud3JpdGVjYjtpZihudWxsPT09bilyZXR1cm4gdGhpcy5lbWl0KFwiZXJyb3JcIixuZXcgRVJSX01VTFRJUExFX0NBTExCQUNLKTt0LndyaXRlY2h1bms9bnVsbCx0LndyaXRlY2I9bnVsbCxudWxsIT1lJiZ0aGlzLnB1c2goZSksbihyKTt2YXIgaT10aGlzLl9yZWFkYWJsZVN0YXRlO2kucmVhZGluZz0hMSwoaS5uZWVkUmVhZGFibGV8fGkubGVuZ3RoPGkuaGlnaFdhdGVyTWFyaykmJnRoaXMuX3JlYWQoaS5oaWdoV2F0ZXJNYXJrKX1mdW5jdGlvbiBUcmFuc2Zvcm0ocil7aWYoISh0aGlzIGluc3RhbmNlb2YgVHJhbnNmb3JtKSlyZXR1cm4gbmV3IFRyYW5zZm9ybShyKTtEdXBsZXguY2FsbCh0aGlzLHIpLHRoaXMuX3RyYW5zZm9ybVN0YXRlPXthZnRlclRyYW5zZm9ybTphZnRlclRyYW5zZm9ybS5iaW5kKHRoaXMpLG5lZWRUcmFuc2Zvcm06ITEsdHJhbnNmb3JtaW5nOiExLHdyaXRlY2I6bnVsbCx3cml0ZWNodW5rOm51bGwsd3JpdGVlbmNvZGluZzpudWxsfSx0aGlzLl9yZWFkYWJsZVN0YXRlLm5lZWRSZWFkYWJsZT0hMCx0aGlzLl9yZWFkYWJsZVN0YXRlLnN5bmM9ITEsciYmKFwiZnVuY3Rpb25cIj09dHlwZW9mIHIudHJhbnNmb3JtJiYodGhpcy5fdHJhbnNmb3JtPXIudHJhbnNmb3JtKSxcImZ1bmN0aW9uXCI9PXR5cGVvZiByLmZsdXNoJiYodGhpcy5fZmx1c2g9ci5mbHVzaCkpLHRoaXMub24oXCJwcmVmaW5pc2hcIixwcmVmaW5pc2gpfWZ1bmN0aW9uIHByZWZpbmlzaCgpe3ZhciByPXRoaXM7XCJmdW5jdGlvblwiIT10eXBlb2YgdGhpcy5fZmx1c2h8fHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkP2RvbmUodGhpcyxudWxsLG51bGwpOnRoaXMuX2ZsdXNoKGZ1bmN0aW9uKGUsdCl7ZG9uZShyLGUsdCl9KX1mdW5jdGlvbiBkb25lKHIsZSx0KXtpZihlKXJldHVybiByLmVtaXQoXCJlcnJvclwiLGUpO2lmKG51bGwhPXQmJnIucHVzaCh0KSxyLl93cml0YWJsZVN0YXRlLmxlbmd0aCl0aHJvdyBuZXcgRVJSX1RSQU5TRk9STV9XSVRIX0xFTkdUSF8wO2lmKHIuX3RyYW5zZm9ybVN0YXRlLnRyYW5zZm9ybWluZyl0aHJvdyBuZXcgRVJSX1RSQU5TRk9STV9BTFJFQURZX1RSQU5TRk9STUlORztyZXR1cm4gci5wdXNoKG51bGwpfXJlcXVpcmUoXCJpbmhlcml0c1wiKShUcmFuc2Zvcm0sRHVwbGV4KSxUcmFuc2Zvcm0ucHJvdG90eXBlLnB1c2g9ZnVuY3Rpb24ocixlKXtyZXR1cm4gdGhpcy5fdHJhbnNmb3JtU3RhdGUubmVlZFRyYW5zZm9ybT0hMSxEdXBsZXgucHJvdG90eXBlLnB1c2guY2FsbCh0aGlzLHIsZSl9LFRyYW5zZm9ybS5wcm90b3R5cGUuX3RyYW5zZm9ybT1mdW5jdGlvbihyLGUsdCl7dChuZXcgRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URUQoXCJfdHJhbnNmb3JtKClcIikpfSxUcmFuc2Zvcm0ucHJvdG90eXBlLl93cml0ZT1mdW5jdGlvbihyLGUsdCl7dmFyIG49dGhpcy5fdHJhbnNmb3JtU3RhdGU7aWYobi53cml0ZWNiPXQsbi53cml0ZWNodW5rPXIsbi53cml0ZWVuY29kaW5nPWUsIW4udHJhbnNmb3JtaW5nKXt2YXIgaT10aGlzLl9yZWFkYWJsZVN0YXRlOyhuLm5lZWRUcmFuc2Zvcm18fGkubmVlZFJlYWRhYmxlfHxpLmxlbmd0aDxpLmhpZ2hXYXRlck1hcmspJiZ0aGlzLl9yZWFkKGkuaGlnaFdhdGVyTWFyayl9fSxUcmFuc2Zvcm0ucHJvdG90eXBlLl9yZWFkPWZ1bmN0aW9uKHIpe3ZhciBlPXRoaXMuX3RyYW5zZm9ybVN0YXRlO251bGw9PT1lLndyaXRlY2h1bmt8fGUudHJhbnNmb3JtaW5nP2UubmVlZFRyYW5zZm9ybT0hMDooZS50cmFuc2Zvcm1pbmc9ITAsdGhpcy5fdHJhbnNmb3JtKGUud3JpdGVjaHVuayxlLndyaXRlZW5jb2RpbmcsZS5hZnRlclRyYW5zZm9ybSkpfSxUcmFuc2Zvcm0ucHJvdG90eXBlLl9kZXN0cm95PWZ1bmN0aW9uKHIsZSl7RHVwbGV4LnByb3RvdHlwZS5fZGVzdHJveS5jYWxsKHRoaXMscixmdW5jdGlvbihyKXtlKHIpfSl9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWw5emRISmxZVzFmZEhKaGJuTm1iM0p0TG1weklsMHNJbTVoYldWeklqcGJJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0pVY21GdWMyWnZjbTBpTENKZmNtVnhkV2x5WlNSamIyUmxjeUlzSW5KbGNYVnBjbVVpTENKamIyUmxjeUlzSWtWU1VsOU5SVlJJVDBSZlRrOVVYMGxOVUV4RlRVVk9WRVZFSWl3aVJWSlNYMDFWVEZSSlVFeEZYME5CVEV4Q1FVTkxJaXdpUlZKU1gxUlNRVTVUUms5U1RWOUJURkpGUVVSWlgxUlNRVTVUUms5U1RVbE9SeUlzSWtWU1VsOVVVa0ZPVTBaUFVrMWZWMGxVU0Y5TVJVNUhWRWhmTUNJc0lrUjFjR3hsZUNJc0ltRm1kR1Z5VkhKaGJuTm1iM0p0SWl3aVpYSWlMQ0prWVhSaElpd2lkSE1pTENKMGFHbHpJaXdpWDNSeVlXNXpabTl5YlZOMFlYUmxJaXdpZEhKaGJuTm1iM0p0YVc1bklpd2lZMklpTENKM2NtbDBaV05pSWl3aVpXMXBkQ0lzSW5keWFYUmxZMmgxYm1zaUxDSndkWE5vSWl3aWNuTWlMQ0pmY21WaFpHRmliR1ZUZEdGMFpTSXNJbkpsWVdScGJtY2lMQ0p1WldWa1VtVmhaR0ZpYkdVaUxDSnNaVzVuZEdnaUxDSm9hV2RvVjJGMFpYSk5ZWEpySWl3aVgzSmxZV1FpTENKdmNIUnBiMjV6SWl3aVkyRnNiQ0lzSW1KcGJtUWlMQ0p1WldWa1ZISmhibk5tYjNKdElpd2lkM0pwZEdWbGJtTnZaR2x1WnlJc0luTjVibU1pTENKMGNtRnVjMlp2Y20waUxDSmZkSEpoYm5ObWIzSnRJaXdpWm14MWMyZ2lMQ0pmWm14MWMyZ2lMQ0p2YmlJc0luQnlaV1pwYm1semFDSXNJbDkwYUdseklpd2laR1Z6ZEhKdmVXVmtJaXdpWkc5dVpTSXNJbk4wY21WaGJTSXNJbDkzY21sMFlXSnNaVk4wWVhSbElpd2ljSEp2ZEc5MGVYQmxJaXdpWTJoMWJtc2lMQ0psYm1OdlpHbHVaeUlzSWw5M2NtbDBaU0lzSW00aUxDSmZaR1Z6ZEhKdmVTSXNJbVZ5Y2lJc0ltVnljaklpWFN3aWJXRndjR2x1WjNNaU9pSkJRVFpFUVN4aFFVVkJRU3hQUVVGUFF5eFJRVUZWUXl4VlFVVnFRaXhKUVVGSlF5eGxRVUZwUWtNc1VVRkJVU3hoUVVGaFF5eE5RVU4wUTBNc01rSkJRVFpDU0N4bFFVRmxSeXd5UWtGRE5VTkRMSE5DUVVGM1Frb3NaVUZCWlVrc2MwSkJRM1pEUXl4dFEwRkJjVU5NTEdWQlFXVkxMRzFEUVVOd1JFTXNORUpCUVRoQ1RpeGxRVUZsVFN3MFFrRkZOME5ETEU5QlFWTk9MRkZCUVZFc2IwSkJTWEpDTEZOQlFWTlBMR1ZCUVdWRExFVkJRVWxETEVkQlF6RkNMRWxCUVVsRExFVkJRVXRETEV0QlFVdERMR2RDUVVOa1JpeEZRVUZIUnl4alFVRmxMRVZCUTJ4Q0xFbEJRVWxETEVWQlFVdEtMRVZCUVVkTExGRkJSVm9zUjBGQlZ5eFBRVUZRUkN4RlFVTkdMRTlCUVU5SUxFdEJRVXRMTEV0QlFVc3NVVUZCVXl4SlFVRkpZaXgxUWtGSGFFTlBMRVZCUVVkUExGZEJRV0VzUzBGRGFFSlFMRVZCUVVkTExGRkJRVlVzUzBGRFJDeE5RVUZTVGl4SFFVTkdSU3hMUVVGTFR5eExRVUZMVkN4SFFVTmFTeXhGUVVGSFRpeEhRVU5JTEVsQlFVbFhMRVZCUVV0U0xFdEJRVXRUTEdWQlEyUkVMRVZCUVVkRkxGTkJRVlVzUjBGRlZFWXNSVUZCUjBjc1kwRkJaMEpJTEVWQlFVZEpMRTlCUVZOS0xFVkJRVWRMTEdkQ1FVTndRMklzUzBGQlMyTXNUVUZCVFU0c1JVRkJSMHNzWlVGSmJFSXNVMEZCVXpGQ0xGVkJRVlUwUWl4SFFVTnFRaXhMUVVGTlppeG5Ra0ZCWjBKaUxGZEJRVmtzVDBGQlR5eEpRVUZKUVN4VlFVRlZORUlzUjBGRGRrUndRaXhQUVVGUGNVSXNTMEZCUzJoQ0xFdEJRVTFsTEVkQlEyeENaaXhMUVVGTFF5eG5Ra0ZCYTBJc1EwRkRja0pNTEdWQlFXZENRU3hsUVVGbGNVSXNTMEZCUzJwQ0xFMUJRM0JEYTBJc1pVRkJaU3hGUVVObWFFSXNZMEZCWXl4RlFVTmtSU3hSUVVGVExFdEJRMVJGTEZkQlFWa3NTMEZEV21Fc1kwRkJaU3hOUVVkcVFtNUNMRXRCUVV0VExHVkJRV1ZGTEdOQlFXVXNSVUZKYmtOWUxFdEJRVXRUTEdWQlFXVlhMRTFCUVU4c1JVRkZka0pNTEVsQlF5dENMRzFDUVVGMFFrRXNSVUZCVVUwc1dVRkJNRUp5UWl4TFFVRkxjMElzVjBGQllWQXNSVUZCVVUwc1YwRkRNVU1zYlVKQlFXeENUaXhGUVVGUlVTeFJRVUZ6UW5aQ0xFdEJRVXQzUWl4UFFVRlRWQ3hGUVVGUlVTeFJRVWxxUlhaQ0xFdEJRVXQ1UWl4SFFVRkhMRmxCUVdGRExGZEJSM1pDTEZOQlFWTkJMRmxCUTFBc1NVRkJTVU1zUlVGQlVUTkNMRXRCUldVc2JVSkJRV2hDUVN4TFFVRkxkMElzVVVGQk1FSjRRaXhMUVVGTFV5eGxRVUZsYlVJc1ZVRkxOVVJETEV0QlFVczNRaXhMUVVGTkxFdEJRVTBzVFVGS2FrSkJMRXRCUVV0M1FpeFBRVUZQTEZOQlFWVXpRaXhGUVVGSlF5eEhRVU40UWl0Q0xFdEJRVXRHTEVWQlFVODVRaXhGUVVGSlF5eExRVFpFZEVJc1UwRkJVeXRDTEV0QlFVdERMRVZCUVZGcVF5eEZRVUZKUXl4SFFVTjRRaXhIUVVGSlJDeEZRVUZKTEU5QlFVOXBReXhGUVVGUGVrSXNTMEZCU3l4UlFVRlRVaXhIUVUxd1F5eEhRVXhaTEUxQlFWSkRMRWRCUTBablF5eEZRVUZQZGtJc1MwRkJTMVFzUjBGSlZtZERMRVZCUVU5RExHVkJRV1Z1UWl4UFFVRlJMRTFCUVUwc1NVRkJTV3hDTERSQ1FVTTFReXhIUVVGSmIwTXNSVUZCVHpkQ0xHZENRVUZuUWtNc1lVRkJZeXhOUVVGTkxFbEJRVWxVTEcxRFFVTnVSQ3hQUVVGUGNVTXNSVUZCVDNaQ0xFdEJRVXNzVFVFNVNISkNiRUlzVVVGQlVTeFhRVUZTUVN4RFFVRnZRa1lzVlVGQlYxRXNVVUVyUkM5Q1VpeFZRVUZWTmtNc1ZVRkJWWHBDTEV0QlFVOHNVMEZCVlRCQ0xFVkJRVTlETEVkQlJURkRMRTlCUkVGc1F5eExRVUZMUXl4blFrRkJaMEpwUWl4bFFVRm5RaXhGUVVNNVFuWkNMRTlCUVU5eFF5eFZRVUZWZWtJc1MwRkJTMU1zUzBGQlMyaENMRXRCUVUxcFF5eEZRVUZQUXl4SlFXRnFSQzlETEZWQlFWVTJReXhWUVVGVlZpeFhRVUZoTEZOQlFWVlhMRVZCUVU5RExFVkJRVlV2UWl4SFFVTXhSRUVzUlVGQlJ5eEpRVUZKV2l3eVFrRkJNa0lzYTBKQlIzQkRTaXhWUVVGVk5rTXNWVUZCVlVjc1QwRkJVeXhUUVVGVlJpeEZRVUZQUXl4RlFVRlZMMElzUjBGRGRFUXNTVUZCU1Vvc1JVRkJTME1zUzBGQlMwTXNaMEpCUzJRc1IwRktRVVlzUlVGQlIwc3NVVUZCVlVRc1JVRkRZa29zUlVGQlIwOHNWMEZCWVRKQ0xFVkJRMmhDYkVNc1JVRkJSMjlDTEdOQlFXZENaU3hIUVVWa2JrTXNSVUZCUjBjc1lVRkJZeXhEUVVOd1FpeEpRVUZKVFN4RlFVRkxVaXhMUVVGTFV5eG5Ra0ZEVmxZc1JVRkJSMjFDTEdWQlFXbENWaXhGUVVGSFJ5eGpRVUZuUWtnc1JVRkJSMGtzVDBGQlUwb3NSVUZCUjBzc1owSkJRV1ZpTEV0QlFVdGpMRTFCUVUxT0xFVkJRVWRMTEdsQ1FVOHpSakZDTEZWQlFWVTJReXhWUVVGVmJFSXNUVUZCVVN4VFFVRlZjMElzUjBGRGNFTXNTVUZCU1hKRExFVkJRVXRETEV0QlFVdERMR2RDUVVWUkxFOUJRV3hDUml4RlFVRkhUeXhaUVVGM1FsQXNSVUZCUjBjc1lVRlBhRU5JTEVWQlFVZHRRaXhsUVVGblFpeEhRVTV1UW01Q0xFVkJRVWRITEdOQlFXVXNSVUZGYkVKR0xFdEJRVXR6UWl4WFFVRlhka0lzUlVGQlIwOHNWMEZCV1ZBc1JVRkJSMjlDTEdOQlFXVndRaXhGUVVGSFNDeHJRa0ZSZUVSVUxGVkJRVlUyUXl4VlFVRlZTeXhUUVVGWExGTkJRVlZETEVWQlFVdHVReXhIUVVNMVExSXNUMEZCVDNGRExGVkJRVlZMTEZOQlFWTnlRaXhMUVVGTGFFSXNTMEZCVFhORExFVkJRVXNzVTBGQlZVTXNSMEZEYkVSd1F5eEZRVUZIYjBNaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZjM1JoWjJsdVp5OXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTl6ZEhKbFlXMHRZbkp2ZDNObGNtbG1lUzl1YjJSbFgyMXZaSFZzWlhNdmNtVmhaR0ZpYkdVdGMzUnlaV0Z0TDJ4cFlpOWZjM1J5WldGdFgzUnlZVzV6Wm05eWJTNXFjeUo5IiwiXCJ1c2Ugc3RyaWN0XCI7ZnVuY3Rpb24gV3JpdGVSZXEoZSx0LHIpe3RoaXMuY2h1bms9ZSx0aGlzLmVuY29kaW5nPXQsdGhpcy5jYWxsYmFjaz1yLHRoaXMubmV4dD1udWxsfWZ1bmN0aW9uIENvcmtlZFJlcXVlc3QoZSl7dmFyIHQ9dGhpczt0aGlzLm5leHQ9bnVsbCx0aGlzLmVudHJ5PW51bGwsdGhpcy5maW5pc2g9ZnVuY3Rpb24oKXtvbkNvcmtlZEZpbmlzaCh0LGUpfX12YXIgRHVwbGV4O21vZHVsZS5leHBvcnRzPVdyaXRhYmxlLFdyaXRhYmxlLldyaXRhYmxlU3RhdGU9V3JpdGFibGVTdGF0ZTt2YXIgaW50ZXJuYWxVdGlsPXtkZXByZWNhdGU6cmVxdWlyZShcInV0aWwtZGVwcmVjYXRlXCIpfSxTdHJlYW09cmVxdWlyZShcIi4vaW50ZXJuYWwvc3RyZWFtcy9zdHJlYW1cIiksQnVmZmVyPXJlcXVpcmUoXCJidWZmZXJcIikuQnVmZmVyLE91clVpbnQ4QXJyYXk9Z2xvYmFsLlVpbnQ4QXJyYXl8fGZ1bmN0aW9uKCl7fTtmdW5jdGlvbiBfdWludDhBcnJheVRvQnVmZmVyKGUpe3JldHVybiBCdWZmZXIuZnJvbShlKX1mdW5jdGlvbiBfaXNVaW50OEFycmF5KGUpe3JldHVybiBCdWZmZXIuaXNCdWZmZXIoZSl8fGUgaW5zdGFuY2VvZiBPdXJVaW50OEFycmF5fXZhciByZWFsSGFzSW5zdGFuY2UsZGVzdHJveUltcGw9cmVxdWlyZShcIi4vaW50ZXJuYWwvc3RyZWFtcy9kZXN0cm95XCIpLF9yZXF1aXJlPXJlcXVpcmUoXCIuL2ludGVybmFsL3N0cmVhbXMvc3RhdGVcIiksZ2V0SGlnaFdhdGVyTWFyaz1fcmVxdWlyZS5nZXRIaWdoV2F0ZXJNYXJrLF9yZXF1aXJlJGNvZGVzPXJlcXVpcmUoXCIuLi9lcnJvcnNcIikuY29kZXMsRVJSX0lOVkFMSURfQVJHX1RZUEU9X3JlcXVpcmUkY29kZXMuRVJSX0lOVkFMSURfQVJHX1RZUEUsRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URUQ9X3JlcXVpcmUkY29kZXMuRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URUQsRVJSX01VTFRJUExFX0NBTExCQUNLPV9yZXF1aXJlJGNvZGVzLkVSUl9NVUxUSVBMRV9DQUxMQkFDSyxFUlJfU1RSRUFNX0NBTk5PVF9QSVBFPV9yZXF1aXJlJGNvZGVzLkVSUl9TVFJFQU1fQ0FOTk9UX1BJUEUsRVJSX1NUUkVBTV9ERVNUUk9ZRUQ9X3JlcXVpcmUkY29kZXMuRVJSX1NUUkVBTV9ERVNUUk9ZRUQsRVJSX1NUUkVBTV9OVUxMX1ZBTFVFUz1fcmVxdWlyZSRjb2Rlcy5FUlJfU1RSRUFNX05VTExfVkFMVUVTLEVSUl9TVFJFQU1fV1JJVEVfQUZURVJfRU5EPV9yZXF1aXJlJGNvZGVzLkVSUl9TVFJFQU1fV1JJVEVfQUZURVJfRU5ELEVSUl9VTktOT1dOX0VOQ09ESU5HPV9yZXF1aXJlJGNvZGVzLkVSUl9VTktOT1dOX0VOQ09ESU5HLGVycm9yT3JEZXN0cm95PWRlc3Ryb3lJbXBsLmVycm9yT3JEZXN0cm95O2Z1bmN0aW9uIG5vcCgpe31mdW5jdGlvbiBXcml0YWJsZVN0YXRlKGUsdCxyKXtEdXBsZXg9RHVwbGV4fHxyZXF1aXJlKFwiLi9fc3RyZWFtX2R1cGxleFwiKSxlPWV8fHt9LFwiYm9vbGVhblwiIT10eXBlb2YgciYmKHI9dCBpbnN0YW5jZW9mIER1cGxleCksdGhpcy5vYmplY3RNb2RlPSEhZS5vYmplY3RNb2RlLHImJih0aGlzLm9iamVjdE1vZGU9dGhpcy5vYmplY3RNb2RlfHwhIWUud3JpdGFibGVPYmplY3RNb2RlKSx0aGlzLmhpZ2hXYXRlck1hcms9Z2V0SGlnaFdhdGVyTWFyayh0aGlzLGUsXCJ3cml0YWJsZUhpZ2hXYXRlck1hcmtcIixyKSx0aGlzLmZpbmFsQ2FsbGVkPSExLHRoaXMubmVlZERyYWluPSExLHRoaXMuZW5kaW5nPSExLHRoaXMuZW5kZWQ9ITEsdGhpcy5maW5pc2hlZD0hMSx0aGlzLmRlc3Ryb3llZD0hMTt2YXIgaT0hMT09PWUuZGVjb2RlU3RyaW5nczt0aGlzLmRlY29kZVN0cmluZ3M9IWksdGhpcy5kZWZhdWx0RW5jb2Rpbmc9ZS5kZWZhdWx0RW5jb2Rpbmd8fFwidXRmOFwiLHRoaXMubGVuZ3RoPTAsdGhpcy53cml0aW5nPSExLHRoaXMuY29ya2VkPTAsdGhpcy5zeW5jPSEwLHRoaXMuYnVmZmVyUHJvY2Vzc2luZz0hMSx0aGlzLm9ud3JpdGU9ZnVuY3Rpb24oZSl7b253cml0ZSh0LGUpfSx0aGlzLndyaXRlY2I9bnVsbCx0aGlzLndyaXRlbGVuPTAsdGhpcy5idWZmZXJlZFJlcXVlc3Q9bnVsbCx0aGlzLmxhc3RCdWZmZXJlZFJlcXVlc3Q9bnVsbCx0aGlzLnBlbmRpbmdjYj0wLHRoaXMucHJlZmluaXNoZWQ9ITEsdGhpcy5lcnJvckVtaXR0ZWQ9ITEsdGhpcy5lbWl0Q2xvc2U9ITEhPT1lLmVtaXRDbG9zZSx0aGlzLmF1dG9EZXN0cm95PSEhZS5hdXRvRGVzdHJveSx0aGlzLmJ1ZmZlcmVkUmVxdWVzdENvdW50PTAsdGhpcy5jb3JrZWRSZXF1ZXN0c0ZyZWU9bmV3IENvcmtlZFJlcXVlc3QodGhpcyl9ZnVuY3Rpb24gV3JpdGFibGUoZSl7dmFyIHQ9dGhpcyBpbnN0YW5jZW9mKER1cGxleD1EdXBsZXh8fHJlcXVpcmUoXCIuL19zdHJlYW1fZHVwbGV4XCIpKTtpZighdCYmIXJlYWxIYXNJbnN0YW5jZS5jYWxsKFdyaXRhYmxlLHRoaXMpKXJldHVybiBuZXcgV3JpdGFibGUoZSk7dGhpcy5fd3JpdGFibGVTdGF0ZT1uZXcgV3JpdGFibGVTdGF0ZShlLHRoaXMsdCksdGhpcy53cml0YWJsZT0hMCxlJiYoXCJmdW5jdGlvblwiPT10eXBlb2YgZS53cml0ZSYmKHRoaXMuX3dyaXRlPWUud3JpdGUpLFwiZnVuY3Rpb25cIj09dHlwZW9mIGUud3JpdGV2JiYodGhpcy5fd3JpdGV2PWUud3JpdGV2KSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBlLmRlc3Ryb3kmJih0aGlzLl9kZXN0cm95PWUuZGVzdHJveSksXCJmdW5jdGlvblwiPT10eXBlb2YgZS5maW5hbCYmKHRoaXMuX2ZpbmFsPWUuZmluYWwpKSxTdHJlYW0uY2FsbCh0aGlzKX1mdW5jdGlvbiB3cml0ZUFmdGVyRW5kKGUsdCl7dmFyIHI9bmV3IEVSUl9TVFJFQU1fV1JJVEVfQUZURVJfRU5EO2Vycm9yT3JEZXN0cm95KGUscikscHJvY2Vzcy5uZXh0VGljayh0LHIpfWZ1bmN0aW9uIHZhbGlkQ2h1bmsoZSx0LHIsaSl7dmFyIG47cmV0dXJuIG51bGw9PT1yP249bmV3IEVSUl9TVFJFQU1fTlVMTF9WQUxVRVM6XCJzdHJpbmdcIj09dHlwZW9mIHJ8fHQub2JqZWN0TW9kZXx8KG49bmV3IEVSUl9JTlZBTElEX0FSR19UWVBFKFwiY2h1bmtcIixbXCJzdHJpbmdcIixcIkJ1ZmZlclwiXSxyKSksIW58fChlcnJvck9yRGVzdHJveShlLG4pLHByb2Nlc3MubmV4dFRpY2soaSxuKSwhMSl9ZnVuY3Rpb24gZGVjb2RlQ2h1bmsoZSx0LHIpe3JldHVybiBlLm9iamVjdE1vZGV8fCExPT09ZS5kZWNvZGVTdHJpbmdzfHxcInN0cmluZ1wiIT10eXBlb2YgdHx8KHQ9QnVmZmVyLmZyb20odCxyKSksdH1mdW5jdGlvbiB3cml0ZU9yQnVmZmVyKGUsdCxyLGksbixvKXtpZighcil7dmFyIHM9ZGVjb2RlQ2h1bmsodCxpLG4pO2khPT1zJiYocj0hMCxuPVwiYnVmZmVyXCIsaT1zKX12YXIgYT10Lm9iamVjdE1vZGU/MTppLmxlbmd0aDt0Lmxlbmd0aCs9YTt2YXIgdT10Lmxlbmd0aDx0LmhpZ2hXYXRlck1hcms7aWYodXx8KHQubmVlZERyYWluPSEwKSx0LndyaXRpbmd8fHQuY29ya2VkKXt2YXIgZj10Lmxhc3RCdWZmZXJlZFJlcXVlc3Q7dC5sYXN0QnVmZmVyZWRSZXF1ZXN0PXtjaHVuazppLGVuY29kaW5nOm4saXNCdWY6cixjYWxsYmFjazpvLG5leHQ6bnVsbH0sZj9mLm5leHQ9dC5sYXN0QnVmZmVyZWRSZXF1ZXN0OnQuYnVmZmVyZWRSZXF1ZXN0PXQubGFzdEJ1ZmZlcmVkUmVxdWVzdCx0LmJ1ZmZlcmVkUmVxdWVzdENvdW50Kz0xfWVsc2UgZG9Xcml0ZShlLHQsITEsYSxpLG4sbyk7cmV0dXJuIHV9ZnVuY3Rpb24gZG9Xcml0ZShlLHQscixpLG4sbyxzKXt0LndyaXRlbGVuPWksdC53cml0ZWNiPXMsdC53cml0aW5nPSEwLHQuc3luYz0hMCx0LmRlc3Ryb3llZD90Lm9ud3JpdGUobmV3IEVSUl9TVFJFQU1fREVTVFJPWUVEKFwid3JpdGVcIikpOnI/ZS5fd3JpdGV2KG4sdC5vbndyaXRlKTplLl93cml0ZShuLG8sdC5vbndyaXRlKSx0LnN5bmM9ITF9ZnVuY3Rpb24gb253cml0ZUVycm9yKGUsdCxyLGksbil7LS10LnBlbmRpbmdjYixyPyhwcm9jZXNzLm5leHRUaWNrKG4saSkscHJvY2Vzcy5uZXh0VGljayhmaW5pc2hNYXliZSxlLHQpLGUuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkPSEwLGVycm9yT3JEZXN0cm95KGUsaSkpOihuKGkpLGUuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkPSEwLGVycm9yT3JEZXN0cm95KGUsaSksZmluaXNoTWF5YmUoZSx0KSl9ZnVuY3Rpb24gb253cml0ZVN0YXRlVXBkYXRlKGUpe2Uud3JpdGluZz0hMSxlLndyaXRlY2I9bnVsbCxlLmxlbmd0aC09ZS53cml0ZWxlbixlLndyaXRlbGVuPTB9ZnVuY3Rpb24gb253cml0ZShlLHQpe3ZhciByPWUuX3dyaXRhYmxlU3RhdGUsaT1yLnN5bmMsbj1yLndyaXRlY2I7aWYoXCJmdW5jdGlvblwiIT10eXBlb2Ygbil0aHJvdyBuZXcgRVJSX01VTFRJUExFX0NBTExCQUNLO2lmKG9ud3JpdGVTdGF0ZVVwZGF0ZShyKSx0KW9ud3JpdGVFcnJvcihlLHIsaSx0LG4pO2Vsc2V7dmFyIG89bmVlZEZpbmlzaChyKXx8ZS5kZXN0cm95ZWQ7b3x8ci5jb3JrZWR8fHIuYnVmZmVyUHJvY2Vzc2luZ3x8IXIuYnVmZmVyZWRSZXF1ZXN0fHxjbGVhckJ1ZmZlcihlLHIpLGk/cHJvY2Vzcy5uZXh0VGljayhhZnRlcldyaXRlLGUscixvLG4pOmFmdGVyV3JpdGUoZSxyLG8sbil9fWZ1bmN0aW9uIGFmdGVyV3JpdGUoZSx0LHIsaSl7cnx8b253cml0ZURyYWluKGUsdCksdC5wZW5kaW5nY2ItLSxpKCksZmluaXNoTWF5YmUoZSx0KX1mdW5jdGlvbiBvbndyaXRlRHJhaW4oZSx0KXswPT09dC5sZW5ndGgmJnQubmVlZERyYWluJiYodC5uZWVkRHJhaW49ITEsZS5lbWl0KFwiZHJhaW5cIikpfWZ1bmN0aW9uIGNsZWFyQnVmZmVyKGUsdCl7dC5idWZmZXJQcm9jZXNzaW5nPSEwO3ZhciByPXQuYnVmZmVyZWRSZXF1ZXN0O2lmKGUuX3dyaXRldiYmciYmci5uZXh0KXt2YXIgaT10LmJ1ZmZlcmVkUmVxdWVzdENvdW50LG49bmV3IEFycmF5KGkpLG89dC5jb3JrZWRSZXF1ZXN0c0ZyZWU7by5lbnRyeT1yO2Zvcih2YXIgcz0wLGE9ITA7cjspbltzXT1yLHIuaXNCdWZ8fChhPSExKSxyPXIubmV4dCxzKz0xO24uYWxsQnVmZmVycz1hLGRvV3JpdGUoZSx0LCEwLHQubGVuZ3RoLG4sXCJcIixvLmZpbmlzaCksdC5wZW5kaW5nY2IrKyx0Lmxhc3RCdWZmZXJlZFJlcXVlc3Q9bnVsbCxvLm5leHQ/KHQuY29ya2VkUmVxdWVzdHNGcmVlPW8ubmV4dCxvLm5leHQ9bnVsbCk6dC5jb3JrZWRSZXF1ZXN0c0ZyZWU9bmV3IENvcmtlZFJlcXVlc3QodCksdC5idWZmZXJlZFJlcXVlc3RDb3VudD0wfWVsc2V7Zm9yKDtyOyl7dmFyIHU9ci5jaHVuayxmPXIuZW5jb2RpbmcsbD1yLmNhbGxiYWNrO2lmKGRvV3JpdGUoZSx0LCExLHQub2JqZWN0TW9kZT8xOnUubGVuZ3RoLHUsZixsKSxyPXIubmV4dCx0LmJ1ZmZlcmVkUmVxdWVzdENvdW50LS0sdC53cml0aW5nKWJyZWFrfW51bGw9PT1yJiYodC5sYXN0QnVmZmVyZWRSZXF1ZXN0PW51bGwpfXQuYnVmZmVyZWRSZXF1ZXN0PXIsdC5idWZmZXJQcm9jZXNzaW5nPSExfWZ1bmN0aW9uIG5lZWRGaW5pc2goZSl7cmV0dXJuIGUuZW5kaW5nJiYwPT09ZS5sZW5ndGgmJm51bGw9PT1lLmJ1ZmZlcmVkUmVxdWVzdCYmIWUuZmluaXNoZWQmJiFlLndyaXRpbmd9ZnVuY3Rpb24gY2FsbEZpbmFsKGUsdCl7ZS5fZmluYWwoZnVuY3Rpb24ocil7dC5wZW5kaW5nY2ItLSxyJiZlcnJvck9yRGVzdHJveShlLHIpLHQucHJlZmluaXNoZWQ9ITAsZS5lbWl0KFwicHJlZmluaXNoXCIpLGZpbmlzaE1heWJlKGUsdCl9KX1mdW5jdGlvbiBwcmVmaW5pc2goZSx0KXt0LnByZWZpbmlzaGVkfHx0LmZpbmFsQ2FsbGVkfHwoXCJmdW5jdGlvblwiIT10eXBlb2YgZS5fZmluYWx8fHQuZGVzdHJveWVkPyh0LnByZWZpbmlzaGVkPSEwLGUuZW1pdChcInByZWZpbmlzaFwiKSk6KHQucGVuZGluZ2NiKyssdC5maW5hbENhbGxlZD0hMCxwcm9jZXNzLm5leHRUaWNrKGNhbGxGaW5hbCxlLHQpKSl9ZnVuY3Rpb24gZmluaXNoTWF5YmUoZSx0KXt2YXIgcj1uZWVkRmluaXNoKHQpO2lmKHImJihwcmVmaW5pc2goZSx0KSwwPT09dC5wZW5kaW5nY2ImJih0LmZpbmlzaGVkPSEwLGUuZW1pdChcImZpbmlzaFwiKSx0LmF1dG9EZXN0cm95KSkpe3ZhciBpPWUuX3JlYWRhYmxlU3RhdGU7KCFpfHxpLmF1dG9EZXN0cm95JiZpLmVuZEVtaXR0ZWQpJiZlLmRlc3Ryb3koKX1yZXR1cm4gcn1mdW5jdGlvbiBlbmRXcml0YWJsZShlLHQscil7dC5lbmRpbmc9ITAsZmluaXNoTWF5YmUoZSx0KSxyJiYodC5maW5pc2hlZD9wcm9jZXNzLm5leHRUaWNrKHIpOmUub25jZShcImZpbmlzaFwiLHIpKSx0LmVuZGVkPSEwLGUud3JpdGFibGU9ITF9ZnVuY3Rpb24gb25Db3JrZWRGaW5pc2goZSx0LHIpe3ZhciBpPWUuZW50cnk7Zm9yKGUuZW50cnk9bnVsbDtpOyl7dmFyIG49aS5jYWxsYmFjazt0LnBlbmRpbmdjYi0tLG4ociksaT1pLm5leHR9dC5jb3JrZWRSZXF1ZXN0c0ZyZWUubmV4dD1lfXJlcXVpcmUoXCJpbmhlcml0c1wiKShXcml0YWJsZSxTdHJlYW0pLFdyaXRhYmxlU3RhdGUucHJvdG90eXBlLmdldEJ1ZmZlcj1mdW5jdGlvbigpe2Zvcih2YXIgZT10aGlzLmJ1ZmZlcmVkUmVxdWVzdCx0PVtdO2U7KXQucHVzaChlKSxlPWUubmV4dDtyZXR1cm4gdH0sZnVuY3Rpb24oKXt0cnl7T2JqZWN0LmRlZmluZVByb3BlcnR5KFdyaXRhYmxlU3RhdGUucHJvdG90eXBlLFwiYnVmZmVyXCIse2dldDppbnRlcm5hbFV0aWwuZGVwcmVjYXRlKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2V0QnVmZmVyKCl9LFwiX3dyaXRhYmxlU3RhdGUuYnVmZmVyIGlzIGRlcHJlY2F0ZWQuIFVzZSBfd3JpdGFibGVTdGF0ZS5nZXRCdWZmZXIgaW5zdGVhZC5cIixcIkRFUDAwMDNcIil9KX1jYXRjaChlKXt9fSgpLFwiZnVuY3Rpb25cIj09dHlwZW9mIFN5bWJvbCYmU3ltYm9sLmhhc0luc3RhbmNlJiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGVbU3ltYm9sLmhhc0luc3RhbmNlXT8ocmVhbEhhc0luc3RhbmNlPUZ1bmN0aW9uLnByb3RvdHlwZVtTeW1ib2wuaGFzSW5zdGFuY2VdLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShXcml0YWJsZSxTeW1ib2wuaGFzSW5zdGFuY2Use3ZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiEhcmVhbEhhc0luc3RhbmNlLmNhbGwodGhpcyxlKXx8dGhpcz09PVdyaXRhYmxlJiYoZSYmZS5fd3JpdGFibGVTdGF0ZSBpbnN0YW5jZW9mIFdyaXRhYmxlU3RhdGUpfX0pKTpyZWFsSGFzSW5zdGFuY2U9ZnVuY3Rpb24oZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiB0aGlzfSxXcml0YWJsZS5wcm90b3R5cGUucGlwZT1mdW5jdGlvbigpe2Vycm9yT3JEZXN0cm95KHRoaXMsbmV3IEVSUl9TVFJFQU1fQ0FOTk9UX1BJUEUpfSxXcml0YWJsZS5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24oZSx0LHIpe3ZhciBpPXRoaXMuX3dyaXRhYmxlU3RhdGUsbj0hMSxvPSFpLm9iamVjdE1vZGUmJl9pc1VpbnQ4QXJyYXkoZSk7cmV0dXJuIG8mJiFCdWZmZXIuaXNCdWZmZXIoZSkmJihlPV91aW50OEFycmF5VG9CdWZmZXIoZSkpLFwiZnVuY3Rpb25cIj09dHlwZW9mIHQmJihyPXQsdD1udWxsKSxvP3Q9XCJidWZmZXJcIjp0fHwodD1pLmRlZmF1bHRFbmNvZGluZyksXCJmdW5jdGlvblwiIT10eXBlb2YgciYmKHI9bm9wKSxpLmVuZGluZz93cml0ZUFmdGVyRW5kKHRoaXMscik6KG98fHZhbGlkQ2h1bmsodGhpcyxpLGUscikpJiYoaS5wZW5kaW5nY2IrKyxuPXdyaXRlT3JCdWZmZXIodGhpcyxpLG8sZSx0LHIpKSxufSxXcml0YWJsZS5wcm90b3R5cGUuY29yaz1mdW5jdGlvbigpe3RoaXMuX3dyaXRhYmxlU3RhdGUuY29ya2VkKyt9LFdyaXRhYmxlLnByb3RvdHlwZS51bmNvcms9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLl93cml0YWJsZVN0YXRlO2UuY29ya2VkJiYoZS5jb3JrZWQtLSxlLndyaXRpbmd8fGUuY29ya2VkfHxlLmJ1ZmZlclByb2Nlc3Npbmd8fCFlLmJ1ZmZlcmVkUmVxdWVzdHx8Y2xlYXJCdWZmZXIodGhpcyxlKSl9LFdyaXRhYmxlLnByb3RvdHlwZS5zZXREZWZhdWx0RW5jb2Rpbmc9ZnVuY3Rpb24oZSl7aWYoXCJzdHJpbmdcIj09dHlwZW9mIGUmJihlPWUudG9Mb3dlckNhc2UoKSksIShbXCJoZXhcIixcInV0ZjhcIixcInV0Zi04XCIsXCJhc2NpaVwiLFwiYmluYXJ5XCIsXCJiYXNlNjRcIixcInVjczJcIixcInVjcy0yXCIsXCJ1dGYxNmxlXCIsXCJ1dGYtMTZsZVwiLFwicmF3XCJdLmluZGV4T2YoKGUrXCJcIikudG9Mb3dlckNhc2UoKSk+LTEpKXRocm93IG5ldyBFUlJfVU5LTk9XTl9FTkNPRElORyhlKTtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5kZWZhdWx0RW5jb2Rpbmc9ZSx0aGlzfSxPYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGUucHJvdG90eXBlLFwid3JpdGFibGVCdWZmZXJcIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZSYmdGhpcy5fd3JpdGFibGVTdGF0ZS5nZXRCdWZmZXIoKX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGUucHJvdG90eXBlLFwid3JpdGFibGVIaWdoV2F0ZXJNYXJrXCIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUuaGlnaFdhdGVyTWFya319KSxXcml0YWJsZS5wcm90b3R5cGUuX3dyaXRlPWZ1bmN0aW9uKGUsdCxyKXtyKG5ldyBFUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRChcIl93cml0ZSgpXCIpKX0sV3JpdGFibGUucHJvdG90eXBlLl93cml0ZXY9bnVsbCxXcml0YWJsZS5wcm90b3R5cGUuZW5kPWZ1bmN0aW9uKGUsdCxyKXt2YXIgaT10aGlzLl93cml0YWJsZVN0YXRlO3JldHVyblwiZnVuY3Rpb25cIj09dHlwZW9mIGU/KHI9ZSxlPW51bGwsdD1udWxsKTpcImZ1bmN0aW9uXCI9PXR5cGVvZiB0JiYocj10LHQ9bnVsbCksbnVsbCE9ZSYmdGhpcy53cml0ZShlLHQpLGkuY29ya2VkJiYoaS5jb3JrZWQ9MSx0aGlzLnVuY29yaygpKSxpLmVuZGluZ3x8ZW5kV3JpdGFibGUodGhpcyxpLHIpLHRoaXN9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShXcml0YWJsZS5wcm90b3R5cGUsXCJ3cml0YWJsZUxlbmd0aFwiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl93cml0YWJsZVN0YXRlLmxlbmd0aH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGUucHJvdG90eXBlLFwiZGVzdHJveWVkXCIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMCE9PXRoaXMuX3dyaXRhYmxlU3RhdGUmJnRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkfSxzZXQ6ZnVuY3Rpb24oZSl7dGhpcy5fd3JpdGFibGVTdGF0ZSYmKHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkPWUpfX0pLFdyaXRhYmxlLnByb3RvdHlwZS5kZXN0cm95PWRlc3Ryb3lJbXBsLmRlc3Ryb3ksV3JpdGFibGUucHJvdG90eXBlLl91bmRlc3Ryb3k9ZGVzdHJveUltcGwudW5kZXN0cm95LFdyaXRhYmxlLnByb3RvdHlwZS5fZGVzdHJveT1mdW5jdGlvbihlLHQpe3QoZSl9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWw5emRISmxZVzFmZDNKcGRHRmliR1V1YW5NaVhTd2libUZ0WlhNaU9sc2lWM0pwZEdWU1pYRWlMQ0pqYUhWdWF5SXNJbVZ1WTI5a2FXNW5JaXdpWTJJaUxDSjBhR2x6SWl3aVkyRnNiR0poWTJzaUxDSnVaWGgwSWl3aVEyOXlhMlZrVW1WeGRXVnpkQ0lzSW5OMFlYUmxJaXdpWDNSb2FYTWlMQ0psYm5SeWVTSXNJbVpwYm1semFDSXNJbTl1UTI5eWEyVmtSbWx1YVhOb0lpd2lSSFZ3YkdWNElpd2liVzlrZFd4bElpd2laWGh3YjNKMGN5SXNJbGR5YVhSaFlteGxJaXdpVjNKcGRHRmliR1ZUZEdGMFpTSXNJbWx1ZEdWeWJtRnNWWFJwYkNJc0ltUmxjSEpsWTJGMFpTSXNJbkpsY1hWcGNtVWlMQ0pUZEhKbFlXMGlMQ0pDZFdabVpYSWlMQ0pQZFhKVmFXNTBPRUZ5Y21GNUlpd2laMnh2WW1Gc0lpd2lWV2x1ZERoQmNuSmhlU0lzSWw5MWFXNTBPRUZ5Y21GNVZHOUNkV1ptWlhJaUxDSm1jbTl0SWl3aVgybHpWV2x1ZERoQmNuSmhlU0lzSW05aWFpSXNJbWx6UW5WbVptVnlJaXdpY21WaGJFaGhjMGx1YzNSaGJtTmxJaXdpWkdWemRISnZlVWx0Y0d3aUxDSmZjbVZ4ZFdseVpTSXNJbWRsZEVocFoyaFhZWFJsY2sxaGNtc2lMQ0pmY21WeGRXbHlaU1JqYjJSbGN5SXNJbU52WkdWeklpd2lSVkpTWDBsT1ZrRk1TVVJmUVZKSFgxUlpVRVVpTENKRlVsSmZUVVZVU0U5RVgwNVBWRjlKVFZCTVJVMUZUbFJGUkNJc0lrVlNVbDlOVlV4VVNWQk1SVjlEUVV4TVFrRkRTeUlzSWtWU1VsOVRWRkpGUVUxZlEwRk9UazlVWDFCSlVFVWlMQ0pGVWxKZlUxUlNSVUZOWDBSRlUxUlNUMWxGUkNJc0lrVlNVbDlUVkZKRlFVMWZUbFZNVEY5V1FVeFZSVk1pTENKRlVsSmZVMVJTUlVGTlgxZFNTVlJGWDBGR1ZFVlNYMFZPUkNJc0lrVlNVbDlWVGt0T1QxZE9YMFZPUTA5RVNVNUhJaXdpWlhKeWIzSlBja1JsYzNSeWIza2lMQ0p1YjNBaUxDSnZjSFJwYjI1eklpd2ljM1J5WldGdElpd2lhWE5FZFhCc1pYZ2lMQ0p2WW1wbFkzUk5iMlJsSWl3aWQzSnBkR0ZpYkdWUFltcGxZM1JOYjJSbElpd2lhR2xuYUZkaGRHVnlUV0Z5YXlJc0ltWnBibUZzUTJGc2JHVmtJaXdpYm1WbFpFUnlZV2x1SWl3aVpXNWthVzVuSWl3aVpXNWtaV1FpTENKbWFXNXBjMmhsWkNJc0ltUmxjM1J5YjNsbFpDSXNJbTV2UkdWamIyUmxJaXdpWkdWamIyUmxVM1J5YVc1bmN5SXNJbVJsWm1GMWJIUkZibU52WkdsdVp5SXNJbXhsYm1kMGFDSXNJbmR5YVhScGJtY2lMQ0pqYjNKclpXUWlMQ0p6ZVc1aklpd2lZblZtWm1WeVVISnZZMlZ6YzJsdVp5SXNJbTl1ZDNKcGRHVWlMQ0psY2lJc0luZHlhWFJsWTJJaUxDSjNjbWwwWld4bGJpSXNJbUoxWm1abGNtVmtVbVZ4ZFdWemRDSXNJbXhoYzNSQ2RXWm1aWEpsWkZKbGNYVmxjM1FpTENKd1pXNWthVzVuWTJJaUxDSndjbVZtYVc1cGMyaGxaQ0lzSW1WeWNtOXlSVzFwZEhSbFpDSXNJbVZ0YVhSRGJHOXpaU0lzSW1GMWRHOUVaWE4wY205NUlpd2lZblZtWm1WeVpXUlNaWEYxWlhOMFEyOTFiblFpTENKamIzSnJaV1JTWlhGMVpYTjBjMFp5WldVaUxDSmpZV3hzSWl3aVgzZHlhWFJoWW14bFUzUmhkR1VpTENKM2NtbDBZV0pzWlNJc0luZHlhWFJsSWl3aVgzZHlhWFJsSWl3aWQzSnBkR1YySWl3aVgzZHlhWFJsZGlJc0ltUmxjM1J5YjNraUxDSmZaR1Z6ZEhKdmVTSXNJbVpwYm1Gc0lpd2lYMlpwYm1Gc0lpd2lkM0pwZEdWQlpuUmxja1Z1WkNJc0luQnliMk5sYzNNaUxDSnVaWGgwVkdsamF5SXNJblpoYkdsa1EyaDFibXNpTENKa1pXTnZaR1ZEYUhWdWF5SXNJbmR5YVhSbFQzSkNkV1ptWlhJaUxDSnBjMEoxWmlJc0ltNWxkME5vZFc1cklpd2liR1Z1SWl3aWNtVjBJaXdpYkdGemRDSXNJbVJ2VjNKcGRHVWlMQ0p2Ym5keWFYUmxSWEp5YjNJaUxDSm1hVzVwYzJoTllYbGlaU0lzSW05dWQzSnBkR1ZUZEdGMFpWVndaR0YwWlNJc0ltNWxaV1JHYVc1cGMyZ2lMQ0pqYkdWaGNrSjFabVpsY2lJc0ltRm1kR1Z5VjNKcGRHVWlMQ0p2Ym5keWFYUmxSSEpoYVc0aUxDSmxiV2wwSWl3aWJDSXNJbUoxWm1abGNpSXNJa0Z5Y21GNUlpd2lhRzlzWkdWeUlpd2lZMjkxYm5RaUxDSmhiR3hDZFdabVpYSnpJaXdpWTJGc2JFWnBibUZzSWl3aVpYSnlJaXdpY0hKbFptbHVhWE5vSWl3aWJtVmxaQ0lzSW5KVGRHRjBaU0lzSWw5eVpXRmtZV0pzWlZOMFlYUmxJaXdpWlc1a1JXMXBkSFJsWkNJc0ltVnVaRmR5YVhSaFlteGxJaXdpYjI1alpTSXNJbU52Y210U1pYRWlMQ0p3Y205MGIzUjVjR1VpTENKblpYUkNkV1ptWlhJaUxDSmpkWEp5Wlc1MElpd2liM1YwSWl3aWNIVnphQ0lzSWs5aWFtVmpkQ0lzSW1SbFptbHVaVkJ5YjNCbGNuUjVJaXdpWjJWMElpd2lYeUlzSWxONWJXSnZiQ0lzSW1oaGMwbHVjM1JoYm1ObElpd2lSblZ1WTNScGIyNGlMQ0oyWVd4MVpTSXNJbTlpYW1WamRDSXNJbkJwY0dVaUxDSmpiM0pySWl3aWRXNWpiM0pySWl3aWMyVjBSR1ZtWVhWc2RFVnVZMjlrYVc1bklpd2lkRzlNYjNkbGNrTmhjMlVpTENKcGJtUmxlRTltSWl3aVpXNTFiV1Z5WVdKc1pTSXNJbVZ1WkNJc0luVnVaR1ZtYVc1bFpDSXNJbk5sZENJc0lsOTFibVJsYzNSeWIza2lMQ0oxYm1SbGMzUnliM2tpWFN3aWJXRndjR2x1WjNNaU9pSkJRWFZDUVN4aFFVdEJMRk5CUVZOQkxGTkJRVk5ETEVWQlFVOURMRVZCUVZWRExFZEJRMnBEUXl4TFFVRkxTQ3hOUVVGUlFTeEZRVU5pUnl4TFFVRkxSaXhUUVVGWFFTeEZRVU5vUWtVc1MwRkJTME1zVTBGQlYwWXNSVUZEYUVKRExFdEJRVXRGTEV0QlFVOHNTMEZMWkN4VFFVRlRReXhqUVVGalF5eEhRVU55UWl4SlFVRkpReXhGUVVGUlRDeExRVVZhUVN4TFFVRkxSU3hMUVVGUExFdEJRMXBHTEV0QlFVdE5MRTFCUVZFc1MwRkZZazRzUzBGQlMwOHNUMEZCVXl4WFFVTmFReXhsUVVGbFNDeEZRVUZQUkN4SlFWRXhRaXhKUVVGSlN5eFBRVE5DU2tNc1QwRkJUME1zVVVGQlZVTXNVMEU0UW1wQ1FTeFRRVUZUUXl4alFVRm5Ra0VzWTBGSGVrSXNTVUZCU1VNc1lVRkJaU3hEUVVOcVFrTXNWVUZCVjBNc1VVRkJVU3h0UWtGTmFrSkRMRTlCUVZORUxGRkJRVkVzTmtKQlNXcENSU3hQUVVGVFJpeFJRVUZSTEZWQlFWVkZMRTlCUlROQ1F5eGpRVUZuUWtNc1QwRkJUME1zV1VGQll5eGhRVVY2UXl4VFFVRlRReXh2UWtGQmIwSjZRaXhIUVVNelFpeFBRVUZQY1VJc1QwRkJUMHNzUzBGQlN6RkNMRWRCUjNKQ0xGTkJRVk15UWl4alFVRmpReXhIUVVOeVFpeFBRVUZQVUN4UFFVRlBVU3hUUVVGVFJDeEpRVUZSUVN4aFFVRmxUaXhqUVVkb1JDeEpRV3RKU1ZFc1owSkJiRWxCUXl4WlFVRmpXaXhSUVVGUkxEaENRVVYwUW1Fc1UwRkJWMklzVVVGQlVTdzBRa0ZEYmtKakxHbENRVUZ0UWtRc1UwRkJVME1zYVVKQlJUVkNReXhsUVVGcFFtWXNVVUZCVVN4aFFVRmhaMElzVFVGRGRFTkRMSEZDUVVGMVFrWXNaVUZCWlVVc2NVSkJRM1JEUXl3eVFrRkJOa0pJTEdWQlFXVkhMREpDUVVNMVEwTXNjMEpCUVhkQ1NpeGxRVUZsU1N4elFrRkRka05ETEhWQ1FVRjVRa3dzWlVGQlpVc3NkVUpCUTNoRFF5eHhRa0ZCZFVKT0xHVkJRV1ZOTEhGQ1FVTjBRME1zZFVKQlFYbENVQ3hsUVVGbFR5eDFRa0ZEZUVORExESkNRVUUyUWxJc1pVRkJaVkVzTWtKQlF6VkRReXh4UWtGQmRVSlVMR1ZCUVdWVExIRkNRVVYwUTBNc1pVRkJhVUppTEZsQlFWbGhMR1ZCU1dwRExGTkJRVk5ETEU5QlJWUXNVMEZCVXpkQ0xHTkJRV000UWl4RlFVRlRReXhGUVVGUlF5eEhRVU4wUTNCRExFOUJRVk5CTEZGQlFWVlBMRkZCUVZFc2IwSkJRek5DTWtJc1JVRkJWVUVzUjBGQlZ5eEhRVTFITEd0Q1FVRmlSU3hKUVVGM1FrRXNSVUZCVjBRc1lVRkJhMEp1UXl4UlFVZG9SVlFzUzBGQlN6aERMR0ZCUVdWSUxFVkJRVkZITEZkQlEzaENSQ3hKUVVGVk4wTXNTMEZCU3poRExGZEJRV0U1UXl4TFFVRkxPRU1zWTBGQlowSklMRVZCUVZGSkxHOUNRVWszUkM5RExFdEJRVXRuUkN4alFVRm5RbXhDTEdsQ1FVRnBRamxDTEV0QlFVMHlReXhGUVVGVExIZENRVUY1UWtVc1IwRkZPVVUzUXl4TFFVRkxhVVFzWVVGQll5eEZRVVZ1UW1wRUxFdEJRVXRyUkN4WFFVRlpMRVZCUldwQ2JFUXNTMEZCUzIxRUxGRkJRVk1zUlVGRlpHNUVMRXRCUVV0dlJDeFBRVUZSTEVWQlJXSndSQ3hMUVVGTGNVUXNWVUZCVnl4RlFVVm9RbkpFTEV0QlFVdHpSQ3hYUVVGWkxFVkJTV3BDTEVsQlFVbERMRWRCUVhGRExFbEJRVEZDV2l4RlFVRlJZU3hqUVVOMlFuaEVMRXRCUVV0M1JDeGxRVUZwUWtRc1JVRkpkRUoyUkN4TFFVRkxlVVFzWjBKQlFXdENaQ3hGUVVGUll5eHBRa0ZCYlVJc1QwRkpiRVI2UkN4TFFVRkxNRVFzVDBGQlV5eEZRVVZrTVVRc1MwRkJTekpFTEZOQlFWVXNSVUZGWmpORUxFdEJRVXMwUkN4UFFVRlRMRVZCUzJRMVJDeExRVUZMTmtRc1RVRkJUeXhGUVVsYU4wUXNTMEZCU3poRUxHdENRVUZ0UWl4RlFVVjRRamxFTEV0QlFVc3JSQ3hSUVVGVkxGTkJRVlZETEVkQlEzWkNSQ3hSUVVGUmJrSXNSVUZCVVc5Q0xFbEJTV3hDYUVVc1MwRkJTMmxGTEZGQlFWVXNTMEZGWm1wRkxFdEJRVXRyUlN4VFFVRlhMRVZCUTJoQ2JFVXNTMEZCUzIxRkxHZENRVUZyUWl4TFFVTjJRbTVGTEV0QlFVdHZSU3h2UWtGQmMwSXNTMEZITTBKd1JTeExRVUZMY1VVc1ZVRkJXU3hGUVVkcVFuSkZMRXRCUVV0elJTeGhRVUZqTEVWQlJXNUNkRVVzUzBGQlMzVkZMR05CUVdVc1JVRkZjRUoyUlN4TFFVRkxkMFVzVjBGQmEwTXNTVUZCZEVJM1FpeEZRVUZSTmtJc1ZVRkZla0o0UlN4TFFVRkxlVVVzWTBGQlowSTVRaXhGUVVGUk9FSXNXVUZGTjBKNlJTeExRVUZMTUVVc2NVSkJRWFZDTEVWQlJ6VkNNVVVzUzBGQlN6SkZMRzFDUVVGeFFpeEpRVUZKZUVVc1kwRkJZMGdzVFVFMFF6bERMRk5CUVZOWkxGTkJRVk1yUWl4SFFWVm9RaXhKUVVGSlJTeEZRVUZYTjBNc1owSkJWR1pUTEU5QlFWTkJMRkZCUVZWUExGRkJRVkVzY1VKQlZUTkNMRWxCUVVzMlFpeEpRVUZoYkVJc1owSkJRV2RDYVVRc1MwRkJTMmhGTEZOQlFWVmFMRTFCUVU4c1QwRkJUeXhKUVVGSldTeFRRVUZUSzBJc1IwRkROVVV6UXl4TFFVRkxOa1VzWlVGQmFVSXNTVUZCU1doRkxHTkJRV000UWl4RlFVRlRNME1zUzBGQlRUWkRMRWRCUlhaRU4wTXNTMEZCU3poRkxGVkJRVmNzUlVGRldtNURMRWxCUXpKQ0xHMUNRVUZzUWtFc1JVRkJVVzlETEZGQlFYTkNMMFVzUzBGQlMyZEdMRTlCUVZOeVF5eEZRVUZSYjBNc1QwRkRha01zYlVKQlFXNUNjRU1zUlVGQlVYTkRMRk5CUVhWQ2FrWXNTMEZCUzJ0R0xGRkJRVlYyUXl4RlFVRlJjME1zVVVGRGJFTXNiVUpCUVhCQ2RFTXNSVUZCVVhkRExGVkJRWGRDYmtZc1MwRkJTMjlHTEZOQlFWZDZReXhGUVVGUmQwTXNVMEZEZEVNc2JVSkJRV3hDZUVNc1JVRkJVVEJETEZGQlFYTkNja1lzUzBGQlMzTkdMRTlCUVZNelF5eEZRVUZSTUVNc1VVRkhha1Z3UlN4UFFVRlBNa1FzUzBGQlN6VkZMRTFCVVdRc1UwRkJVM1ZHTEdOQlFXTXpReXhGUVVGUk4wTXNSMEZETjBJc1NVRkJTV2xGTEVWQlFVc3NTVUZCU1hwQ0xESkNRVVZpUlN4bFFVRmxSeXhGUVVGUmIwSXNSMEZEZGtKM1FpeFJRVUZSUXl4VFFVRlRNVVlzUlVGQlNXbEZMRWRCVFhaQ0xGTkJRVk13UWl4WFFVRlhPVU1zUlVGQlVYaERMRVZCUVU5UUxFVkJRVTlGTEVkQlEzaERMRWxCUVVscFJTeEZRVkZLTEU5QlRtTXNUMEZCVm01RkxFVkJRMFp0UlN4RlFVRkxMRWxCUVVreFFpeDFRa0ZEYVVJc2FVSkJRVlo2UXl4SFFVRjFRazhzUlVGQlRUQkRMR0ZCUXpkRGEwSXNSVUZCU3l4SlFVRkpMMElzY1VKQlFYRkNMRkZCUVZNc1EwRkJReXhUUVVGVkxGVkJRVmR3UXl4TFFVY3pSRzFGTEVsQlEwWjJRaXhsUVVGbFJ5eEZRVUZSYjBJc1IwRkRka0ozUWl4UlFVRlJReXhUUVVGVE1VWXNSVUZCU1dsRkxFbEJRMlFzUjBFMlJGZ3NVMEZCVXpKQ0xGbEJRVmwyUml4RlFVRlBVQ3hGUVVGUFF5eEhRVXRxUXl4UFFVcExUU3hGUVVGTk1FTXNZVUZCYzBNc1NVRkJlRUl4UXl4RlFVRk5iMFFzWlVGQk5FTXNhVUpCUVZZelJDeEpRVU12UkVFc1JVRkJVWEZDTEU5QlFVOUxMRXRCUVVzeFFpeEZRVUZQUXl4SlFVZDBRa1FzUlVGbFZDeFRRVUZUSzBZc1kwRkJZMmhFTEVWQlFWRjRReXhGUVVGUGVVWXNSVUZCVDJoSExFVkJRVTlETEVWQlFWVkRMRWRCUXpWRUxFbEJRVXM0Uml4RlFVRlBMRU5CUTFZc1NVRkJTVU1zUlVGQlYwZ3NXVUZCV1haR0xFVkJRVTlRTEVWQlFVOURMRWRCUlhKRFJDeEpRVUZWYVVjc1NVRkRXa1FzUjBGQlVTeEZRVU5TTDBZc1JVRkJWeXhUUVVOWVJDeEZRVUZSYVVjc1IwRkpXaXhKUVVGSlF5eEZRVUZOTTBZc1JVRkJUVEJETEZkQlFXRXNSVUZCU1dwRUxFVkJRVTAyUkN4UFFVTjJRM1JFTEVWQlFVMXpSQ3hSUVVGVmNVTXNSVUZEYUVJc1NVRkJTVU1zUlVGQlRUVkdMRVZCUVUxelJDeFBRVUZUZEVRc1JVRkJUVFJETEdOQlNTOUNMRWRCUmt0blJDeEpRVUZMTlVZc1JVRkJUVGhETEZkQlFWa3NSMEZGZUVJNVF5eEZRVUZOZFVRc1UwRkJWM1pFTEVWQlFVMTNSQ3hQUVVGUkxFTkJRMnBETEVsQlFVbHhReXhGUVVGUE4wWXNSVUZCVFdkRkxHOUNRVU5xUW1oRkxFVkJRVTFuUlN4dlFrRkJjMElzUTBGRE1VSjJSU3hOUVVGUFFTeEZRVU5RUXl4VFFVRlZRU3hGUVVOV0swWXNUVUZCVDBFc1JVRkRVRFZHTEZOQlFWVkdMRVZCUTFaSExFdEJRVTBzVFVGSFNpdEdMRVZCUTBaQkxFVkJRVXN2Uml4TFFVRlBSU3hGUVVGTlowVXNiMEpCUld4Q2FFVXNSVUZCVFN0RUxHZENRVUZyUWk5RUxFVkJRVTFuUlN4dlFrRkhhRU5vUlN4RlFVRk5jMFVzYzBKQlFYZENMRTlCUlRsQ2QwSXNVVUZCVVhSRUxFVkJRVkY0UXl4SFFVRlBMRVZCUVU4eVJpeEZRVUZMYkVjc1JVRkJUME1zUlVGQlZVTXNSMEZIZEVRc1QwRkJUMmxITEVWQlIxUXNVMEZCVTBVc1VVRkJVWFJFTEVWQlFWRjRReXhGUVVGUE5rVXNSVUZCVVdNc1JVRkJTMnhITEVWQlFVOURMRVZCUVZWRExFZEJRelZFU3l4RlFVRk5PRVFzVTBGQlZ6WkNMRVZCUTJwQ00wWXNSVUZCVFRaRUxGRkJRVlZzUlN4RlFVTm9Ra3NzUlVGQlRYVkVMRk5CUVZVc1JVRkRhRUoyUkN4RlFVRk5lVVFzVFVGQlR5eEZRVU5VZWtRc1JVRkJUV3RFTEZWQlFWZHNSQ3hGUVVGTk1rUXNVVUZCVVN4SlFVRkpNVUlzY1VKQlFYRkNMRlZCUVcxQ05FTXNSVUZCVVhKRExFVkJRVTl6UXl4UlFVRlJja1lzUlVGQlQwOHNSVUZCVFRKRUxGTkJRV051UWl4RlFVRlBiME1zVDBGQlQyNUdMRVZCUVU5RExFVkJRVlZOTEVWQlFVMHlSQ3hUUVVOMFN6TkVMRVZCUVUxNVJDeE5RVUZQTEVWQlIyWXNVMEZCVTNORExHRkJRV0YyUkN4RlFVRlJlRU1zUlVGQlQzbEVMRVZCUVUxSExFVkJRVWxxUlN4TFFVTXpRMHNzUlVGQlRXbEZMRlZCUlVwU0xFZEJSMFl5UWl4UlFVRlJReXhUUVVGVE1VWXNSVUZCU1dsRkxFZEJSM0pDZDBJc1VVRkJVVU1zVTBGQlUxY3NXVUZCWVhoRUxFVkJRVkY0UXl4SFFVTjBRM2RETEVWQlFVOXBReXhsUVVGbFRpeGpRVUZsTEVWQlEzSkRPVUlzWlVGQlpVY3NSVUZCVVc5Q0xFdEJTWFpDYWtVc1JVRkJSMmxGTEVkQlEwaHdRaXhGUVVGUGFVTXNaVUZCWlU0c1kwRkJaU3hGUVVOeVF6bENMR1ZCUVdWSExFVkJRVkZ2UWl4SFFVZDJRbTlETEZsQlFWbDRSQ3hGUVVGUmVFTXNTVUZKZUVJc1UwRkJVMmxITEcxQ1FVRnRRbXBITEVkQlF6RkNRU3hGUVVGTmRVUXNVMEZCVlN4RlFVTm9RblpFTEVWQlFVMDJSQ3hSUVVGVkxFdEJRMmhDTjBRc1JVRkJUWE5FTEZGQlFWVjBSQ3hGUVVGTk9FUXNVMEZEZEVJNVJDeEZRVUZOT0VRc1UwRkJWeXhGUVVkdVFpeFRRVUZUU0N4UlFVRlJia0lzUlVGQlVXOUNMRWRCUTNaQ0xFbEJRVWsxUkN4RlFVRlJkME1zUlVGQlQybERMR1ZCUTJab1FpeEZRVUZQZWtRc1JVRkJUWGxFTEV0QlEySTVSQ3hGUVVGTFN5eEZRVUZOTmtRc1VVRkRaaXhIUVVGclFpeHRRa0ZCVUd4RkxFVkJRVzFDTEUxQlFVMHNTVUZCU1c5RExITkNRVVY0UXl4SFFVUkJhMFVzYlVKQlFXMUNha2NzUjBGRFpqUkVMRVZCUVVsdFF5eGhRVUZoZGtRc1JVRkJVWGhETEVWQlFVOTVSQ3hGUVVGTlJ5eEZRVUZKYWtVc1QwRkJVeXhEUVVWeVJDeEpRVUZKYzBRc1JVRkJWMmxFTEZkQlFWZHNSeXhKUVVGVmQwTXNSVUZCVDFVc1ZVRkZkRU5FTEVkQlFXRnFSQ3hGUVVGTmQwUXNVVUZCVjNoRUxFVkJRVTB3UkN4dFFrRkJiMEl4UkN4RlFVRk5LMFFzYVVKQlEycEZiME1zV1VGQldUTkVMRVZCUVZGNFF5eEhRVWRzUW5sRUxFVkJRMFl5UWl4UlFVRlJReXhUUVVGVFpTeFhRVUZaTlVRc1JVRkJVWGhETEVWQlFVOXBSQ3hGUVVGVmRFUXNSMEZGZEVSNVJ5eFhRVUZYTlVRc1JVRkJVWGhETEVWQlFVOXBSQ3hGUVVGVmRFUXNTVUZMTVVNc1UwRkJVM2xITEZkQlFWYzFSQ3hGUVVGUmVFTXNSVUZCVDJsRUxFVkJRVlYwUkN4SFFVTjBRM05FTEVkQlFWVnZSQ3hoUVVGaE4wUXNSVUZCVVhoRExFZEJRM0JEUVN4RlFVRk5hVVVzV1VGRFRuUkZMRWxCUTBGeFJ5eFpRVUZaZUVRc1JVRkJVWGhETEVkQlRYUkNMRk5CUVZOeFJ5eGhRVUZoTjBRc1JVRkJVWGhETEVkQlExQXNTVUZCYWtKQkxFVkJRVTF6UkN4UlFVRm5RblJFTEVWQlFVMDRReXhaUVVNNVFqbERMRVZCUVUwNFF5eFhRVUZaTEVWQlEyeENUaXhGUVVGUE9FUXNTMEZCU3l4VlFVdG9RaXhUUVVGVFNDeFpRVUZaTTBRc1JVRkJVWGhETEVkQlF6TkNRU3hGUVVGTk1FUXNhMEpCUVcxQ0xFVkJRM3BDTEVsQlFVbDRSQ3hGUVVGUlJpeEZRVUZOSzBRc1owSkJSV3hDTEVkQlFVbDJRaXhGUVVGUGMwTXNVMEZCVnpWRkxFZEJRVk5CTEVWQlFVMUtMRXRCUVUwc1EwRkZla01zU1VGQlNYbEhMRVZCUVVsMlJ5eEZRVUZOYzBVc2NVSkJRMVpyUXl4RlFVRlRMRWxCUVVsRExFMUJRVTFHTEVkQlEyNUNSeXhGUVVGVE1VY3NSVUZCVFhWRkxHMUNRVU51UW0xRExFVkJRVTk0Unl4TlFVRlJRU3hGUVVsbUxFbEJTRUVzU1VGQlNYbEhMRVZCUVZFc1JVRkRVa01zUjBGQllTeEZRVVZXTVVjc1IwRkRUSE5ITEVWQlFVOUhMRWRCUVZONlJ5eEZRVU5ZUVN4RlFVRk5kVVlzVVVGQlQyMUNMRWRCUVdFc1IwRkRMMEl4Unl4RlFVRlJRU3hGUVVGTlNpeExRVU5rTmtjc1IwRkJVeXhGUVVkWVNDeEZRVUZQU1N4WFFVRmhRU3hGUVVOd1FtUXNVVUZCVVhSRUxFVkJRVkY0UXl4SFFVRlBMRVZCUVUxQkxFVkJRVTF6UkN4UFFVRlJhMFFzUlVGQlVTeEhRVUZKUlN4RlFVRlBka2NzVVVGSE9VUklMRVZCUVUxcFJTeFpRVU5PYWtVc1JVRkJUV2RGTEc5Q1FVRnpRaXhMUVVWNFFqQkRMRVZCUVU4MVJ5eE5RVU5VUlN4RlFVRk5kVVVzYlVKQlFYRkNiVU1zUlVGQlR6VkhMRXRCUTJ4RE5FY3NSVUZCVHpWSExFdEJRVThzVFVGRlpFVXNSVUZCVFhWRkxHMUNRVUZ4UWl4SlFVRkplRVVzWTBGQlkwTXNSMEZITDBOQkxFVkJRVTF6UlN4eFFrRkJkVUlzVFVGRGVFSXNRMEZGVEN4TFFVRlBjRVVzUjBGQlR5eERRVU5hTEVsQlFVbFVMRVZCUVZGVExFVkJRVTFVTEUxQlEyUkRMRVZCUVZkUkxFVkJRVTFTTEZOQlEycENReXhGUVVGTFR5eEZRVUZOVEN4VFFWTm1MRWRCVUVGcFJ5eFJRVUZSZEVRc1JVRkJVWGhETEVkQlFVOHNSVUZFWWtFc1JVRkJUVEJETEZkQlFXRXNSVUZCU1dwRUxFVkJRVTAyUkN4UFFVTktOMFFzUlVGQlQwTXNSVUZCVlVNc1IwRkRjRVJQTEVWQlFWRkJMRVZCUVUxS0xFdEJRMlJGTEVWQlFVMXpSU3gxUWtGTFJuUkZMRVZCUVUxMVJDeFJRVU5TTEUxQlNWVXNUMEZCVm5KRUxFbEJRV2RDUml4RlFVRk5aMFVzYjBKQlFYTkNMRTFCUjJ4RWFFVXNSVUZCVFN0RUxHZENRVUZyUWpkRUxFVkJRM2hDUml4RlFVRk5NRVFzYTBKQlFXMUNMRVZCTWtNelFpeFRRVUZUZDBNc1YwRkJWMnhITEVkQlEyeENMRTlCUVU5QkxFVkJRVTByUXl4UlFVRXlRaXhKUVVGcVFpOURMRVZCUVUxelJDeFJRVUV3UXl4UFFVRXhRblJFTEVWQlFVMHJSQ3hyUWtGQk5rSXZSQ3hGUVVGTmFVUXNWMEZCWVdwRUxFVkJRVTExUkN4UlFVY3pSeXhUUVVGVGMwUXNWVUZCVlhKRkxFVkJRVkY0UXl4SFFVTjZRbmRETEVWQlFVOHdReXhQUVVGUExGTkJRVlUwUWl4SFFVTjBRamxITEVWQlFVMXBSU3haUVVWR05rTXNSMEZEUm5wRkxHVkJRV1ZITEVWQlFWRnpSU3hIUVVkNlFqbEhMRVZCUVUxclJTeGhRVUZqTEVWQlEzQkNNVUlzUlVGQlR6aEVMRXRCUVVzc1lVRkRXazRzV1VGQldYaEVMRVZCUVZGNFF5eExRVWw0UWl4VFFVRlRLMGNzVlVGQlZYWkZMRVZCUVZGNFF5eEhRVU53UWtFc1JVRkJUV3RGTEdGQlFXZENiRVVzUlVGQlRUWkRMR05CUTBZc2JVSkJRV3hDVEN4RlFVRlBNRU1zVVVGQk1FSnNSaXhGUVVGTmEwUXNWMEZMYUVSc1JDeEZRVUZOYTBVc1lVRkJZeXhGUVVOd1FqRkNMRVZCUVU4NFJDeExRVUZMTEdWQlRGcDBSeXhGUVVGTmFVVXNXVUZEVG1wRkxFVkJRVTAyUXl4aFFVRmpMRVZCUTNCQ2RVTXNVVUZCVVVNc1UwRkJVM2RDTEZWQlFWZHlSU3hGUVVGUmVFTXNTMEZSTVVNc1UwRkJVMmRITEZsQlFWbDRSQ3hGUVVGUmVFTXNSMEZETTBJc1NVRkJTV2RJTEVWQlFVOWtMRmRCUVZkc1J5eEhRVVYwUWl4SFFVRkpaMGdzU1VGRFJrUXNWVUZCVlhaRkxFVkJRVkY0UXl4SFFVVk5MRWxCUVhCQ1FTeEZRVUZOYVVVc1dVRkRVbXBGTEVWQlFVMXBSQ3hWUVVGWExFVkJRMnBDVkN4RlFVRlBPRVFzUzBGQlN5eFZRVVZTZEVjc1JVRkJUWEZGTEdOQlFXRXNRMEZIY2tJc1NVRkJTVFJETEVWQlFWTjZSU3hGUVVGUE1FVXNhVUpCUldaRUxFZEJRVlZCTEVWQlFVODFReXhoUVVGbE5FTXNSVUZCVDBVc1lVRkRNVU16UlN4RlFVRlBkVU1zVlVGTlppeFBRVUZQYVVNc1JVRkhWQ3hUUVVGVFNTeFpRVUZaTlVVc1JVRkJVWGhETEVWQlFVOU1MRWRCUTJ4RFN5eEZRVUZOSzBNc1VVRkJVeXhGUVVObWFVUXNXVUZCV1hoRUxFVkJRVkY0UXl4SFFVVm9Ra3dzU1VGRFJVc3NSVUZCVFdsRUxGTkJRVlZ0UXl4UlFVRlJReXhUUVVGVE1VWXNSMEZCVXpaRExFVkJRVTgyUlN4TFFVRkxMRk5CUVZVeFNDeEpRVWQwUlVzc1JVRkJUV2RFTEU5QlFWRXNSVUZEWkZJc1JVRkJUMnRETEZWQlFWY3NSVUZIY0VJc1UwRkJVM1JGTEdWQlFXVnJTQ3hGUVVGVGRFZ3NSVUZCVHpoSExFZEJRM1JETEVsQlFVazFSeXhGUVVGUmIwZ3NSVUZCVVhCSUxFMUJSM0JDTEVsQlJrRnZTQ3hGUVVGUmNFZ3NUVUZCVVN4TFFVVlVRU3hIUVVGUExFTkJRMW9zU1VGQlNWQXNSVUZCUzA4c1JVRkJUVXdzVTBGRFprY3NSVUZCVFdsRkxGbEJRMDUwUlN4RlFVRkhiVWdzUjBGRFNEVkhMRVZCUVZGQkxFVkJRVTFLTEV0QlNXaENSU3hGUVVGTmRVVXNiVUpCUVcxQ2VrVXNTMEZCVDNkSUxFVkJkR3BDYkVNeFJ5eFJRVUZSTEZkQlFWSkJMRU5CUVc5Q1NpeFRRVUZWU3l4UlFYbEdPVUpLTEdOQlFXTTRSeXhWUVVGVlF5eFZRVUZaTEZkQlNXeERMRWxCU0VFc1NVRkJTVU1zUlVGQlZUZElMRXRCUVV0dFJTeG5Ra0ZEWmpKRUxFVkJRVTBzUjBGRlNFUXNSMEZEVEVNc1JVRkJTVU1zUzBGQlMwWXNSMEZEVkVFc1JVRkJWVUVzUlVGQlVUTklMRXRCUjNCQ0xFOUJRVTgwU0N4SFFVZFVMRmRCUTBVc1NVRkRSVVVzVDBGQlQwTXNaVUZCWlhCSUxHTkJRV000Unl4VlFVRlhMRk5CUVZVc1EwRkRka1JQTEVsQlFVdHdTQ3hoUVVGaFF5eFZRVUZWTEZkQlF6RkNMRTlCUVU5bUxFdEJRVXMwU0N4aFFVTllMRFpGUVVGdFJpeGhRVVY0Uml4TlFVRlBUeXhMUVZCWUxFZEJZM05DTEcxQ1FVRllReXhSUVVGNVFrRXNUMEZCVDBNc1lVRkJhVVVzYlVKQlFUTkRReXhUUVVGVFdDeFZRVUZWVXl4UFFVRlBReXhqUVVONlJqRkhMR2RDUVVGclFqSkhMRk5CUVZOWUxGVkJRVlZUTEU5QlFVOURMR0ZCUXpWRFRDeFBRVUZQUXl4bFFVRmxja2dzVTBGQlZYZElMRTlCUVU5RExGbEJRV0VzUTBGRGJFUkZMRTFCUVU4c1UwRkJaVU1zUjBGRGNFSXNVVUZCU1RkSExHZENRVUZuUW1sRUxFdEJRVXMxUlN4TFFVRk5kMGtzU1VGRE0wSjRTU3hQUVVGVFdTeFhRVU5PTkVnc1IwRkJWVUVzUlVGQlR6TkVMREJDUVVFd1FtaEZMRzFDUVVsMFJHTXNaMEpCUVd0Q0xGTkJRWGxDTmtjc1IwRkRla01zVDBGQlQwRXNZVUZCYTBKNFNTeE5RU3RDTjBKWkxGTkJRVk1yUnl4VlFVRlZZeXhMUVVGUExGZEJRM2hDYUVjc1pVRkJaWHBETEV0QlFVMHNTVUZCU1c5RExIbENRU3RDTTBKNFFpeFRRVUZUSzBjc1ZVRkJWVFZETEUxQlFWRXNVMEZCVld4R0xFVkJRVTlETEVWQlFWVkRMRWRCUTNCRUxFbEJRVWxMTEVWQlFWRktMRXRCUVVzMlJTeGxRVU5pYlVJc1IwRkJUU3hGUVVWT1NDeEhRVUZUZWtZc1JVRkJUVEJETEZsQlFXTjBRaXhqUVVGak0wSXNSMEZwUWk5RExFOUJaa2xuUnl4SlFVRlZNMFVzVDBGQlQxRXNVMEZCVXpkQ0xFdEJRelZDUVN4RlFVRlJlVUlzYjBKQlFXOUNla0lzU1VGSFRpeHRRa0ZCWWtNc1NVRkRWRU1zUlVGQlMwUXNSVUZEVEVFc1JVRkJWeXhOUVVkVUswWXNSVUZCVHk5R0xFVkJRVmNzVTBGQmJVSkJMRWxCUVZWQkxFVkJRVmROTEVWQlFVMXhSQ3hwUWtGRGJFUXNiVUpCUVZBeFJDeEpRVUZ0UWtFc1JVRkJTekpETEV0QlF5OUNkRU1zUlVGQlRTdERMRTlCUVZGdlF5eGpRVUZqZGtZc1MwRkJUVVFzU1VGQllUaEdMRWRCUVZOSUxGZEJRVmN4Uml4TFFVRk5TU3hGUVVGUFVDeEZRVUZQUlN4TlFVTjZSa3NzUlVGQlRXbEZMRmxCUTA0eVFpeEZRVUZOU2l4alFVRmpOVVlzUzBGQlRVa3NSVUZCVDNsR0xFVkJRVTlvUnl4RlFVRlBReXhGUVVGVlF5eEpRVVZ3UkdsSExFZEJSMVJ3Uml4VFFVRlRLMGNzVlVGQlZXVXNTMEZCVHl4WFFVTjRRakZKTEV0QlFVczJSU3hsUVVGbGFrSXNWVUZIZEVKb1JDeFRRVUZUSzBjc1ZVRkJWV2RDTEU5QlFWTXNWMEZETVVJc1NVRkJTWFpKTEVWQlFWRktMRXRCUVVzMlJTeGxRVVZpZWtVc1JVRkJUWGRFTEZOQlExSjRSQ3hGUVVGTmQwUXNVMEZEUkhoRUxFVkJRVTExUkN4VFFVRlpka1FzUlVGQlRYZEVMRkZCUVZkNFJDeEZRVUZOTUVRc2JVSkJRVzlDTVVRc1JVRkJUU3RFTEdsQ1FVRnBRbTlETEZsQlFWbDJSeXhMUVVGTlNTeExRVWt2UjFFc1UwRkJVeXRITEZWQlFWVnBRaXh0UWtGQmNVSXNVMEZCTkVJNVNTeEhRVWRzUlN4SFFVUjNRaXhwUWtGQllrRXNTVUZCZFVKQkxFVkJRVmRCTEVWQlFWTXJTU3hwUWtGRGFFUXNRMEZCUXl4TlFVRlBMRTlCUVZFc1VVRkJVeXhSUVVGVExGTkJRVlVzVTBGQlZTeFBRVUZSTEZGQlFWTXNWVUZCVnl4WFFVRlpMRTlCUVU5RExGTkJRVk5vU2l4RlFVRlhMRWxCUVVrclNTeG5Ra0ZCYTBJc1IwRkJTU3hOUVVGTkxFbEJRVWx5Unl4eFFrRkJjVUl4UXl4SFFVVjRUQ3hQUVVSQlJTeExRVUZMTmtVc1pVRkJaWEJDTEdkQ1FVRnJRak5FTEVWQlF5OUNSU3hOUVVkVVowa3NUMEZCVDBNc1pVRkJaWEpJTEZOQlFWTXJSeXhWUVVGWExHbENRVUZyUWl4RFFVa3hSRzlDTEZsQlFWa3NSVUZEV21Jc1NVRkJTeXhYUVVOSUxFOUJRVTlzU1N4TFFVRkxOa1VzWjBKQlFXdENOMFVzUzBGQlN6WkZMR1ZCUVdVclF5eGxRVmwwUkVrc1QwRkJUME1zWlVGQlpYSklMRk5CUVZNclJ5eFZRVUZYTEhkQ1FVRjVRaXhEUVVscVJXOUNMRmxCUVZrc1JVRkRXbUlzU1VGQlN5eFhRVU5JTEU5QlFVOXNTU3hMUVVGTE5rVXNaVUZCWlRkQ0xHbENRVFJNTDBKd1F5eFRRVUZUSzBjc1ZVRkJWVE5ETEU5QlFWTXNVMEZCVlc1R0xFVkJRVTlETEVWQlFWVkRMRWRCUTNKRVFTeEZRVUZITEVsQlFVbHRReXd5UWtGQk1rSXNZMEZIY0VOMFFpeFRRVUZUSzBjc1ZVRkJWWHBETEZGQlFWVXNTMEZGTjBKMFJTeFRRVUZUSzBjc1ZVRkJWWEZDTEVsQlFVMHNVMEZCVlc1S0xFVkJRVTlETEVWQlFWVkRMRWRCUTJ4RUxFbEJRVWxMTEVWQlFWRktMRXRCUVVzMlJTeGxRVzlDYWtJc1RVRnNRbkZDTEcxQ1FVRldhRVlzUjBGRFZFVXNSVUZCUzBZc1JVRkRURUVzUlVGQlVTeExRVU5TUXl4RlFVRlhMRTFCUTJ0Q0xHMUNRVUZpUVN4SlFVTm9Ra01zUlVGQlMwUXNSVUZEVEVFc1JVRkJWeXhOUVVkVVJDeE5RVUZCUVN4SFFVRjFRMGNzUzBGQlN5dEZMRTFCUVUxc1JpeEZRVUZQUXl4SFFVVjZSRTBzUlVGQlRYZEVMRk5CUTFKNFJDeEZRVUZOZDBRc1QwRkJVeXhGUVVObU5VUXNTMEZCU3pKSkxGVkJTVVoyU1N4RlFVRk5LME1zVVVGQlVYRkZMRmxCUVZsNFNDeExRVUZOU1N4RlFVRlBUQ3hIUVVOeVEwTXNUVUZIVkdkSkxFOUJRVTlETEdWQlFXVnlTQ3hUUVVGVEswY3NWVUZCVnl4cFFrRkJhMElzUTBGSk1VUnZRaXhaUVVGWkxFVkJRMXBpTEVsQlFVc3NWMEZEU0N4UFFVRlBiRWtzUzBGQlN6WkZMR1ZCUVdWdVFpeFZRWFZHTDBKelJTeFBRVUZQUXl4bFFVRmxja2dzVTBGQlV5dEhMRlZCUVZjc1dVRkJZU3hEUVVseVJHOUNMRmxCUVZrc1JVRkRXbUlzU1VGQlN5eFhRVU5JTEZsQlFUUkNaU3hKUVVGNFFtcEtMRXRCUVVzMlJTeG5Ra0ZKUmpkRkxFdEJRVXMyUlN4bFFVRmxka0lzVjBGRk4wSTBSaXhKUVVGTExGTkJRV0ZZTEVkQlIxaDJTU3hMUVVGTE5rVXNhVUpCVFZZM1JTeExRVUZMTmtVc1pVRkJaWFpDTEZWQlFWbHBSaXhOUVVkd1F6TklMRk5CUVZNclJ5eFZRVUZWZUVNc1VVRkJWWFpFTEZsQlFWbDFSQ3hSUVVONlEzWkZMRk5CUVZNclJ5eFZRVUZWZDBJc1YwRkJZWFpJTEZsQlFWbDNTQ3hWUVVVMVEzaEpMRk5CUVZNclJ5eFZRVUZWZGtNc1UwRkJWeXhUUVVGVk9FSXNSVUZCUzI1SUxFZEJRek5EUVN4RlFVRkhiVWdpTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmMzUmhaMmx1Wnk5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OXpkSEpsWVcwdFluSnZkM05sY21sbWVTOXViMlJsWDIxdlpIVnNaWE12Y21WaFpHRmliR1V0YzNSeVpXRnRMMnhwWWk5ZmMzUnlaV0Z0WDNkeWFYUmhZbXhsTG1wekluMD0iLCJcInVzZSBzdHJpY3RcIjt2YXIgX09iamVjdCRzZXRQcm90b3R5cGVPO2Z1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShlLHQscil7cmV0dXJuIHQgaW4gZT9PYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHt2YWx1ZTpyLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwfSk6ZVt0XT1yLGV9dmFyIGZpbmlzaGVkPXJlcXVpcmUoXCIuL2VuZC1vZi1zdHJlYW1cIiksa0xhc3RSZXNvbHZlPVN5bWJvbChcImxhc3RSZXNvbHZlXCIpLGtMYXN0UmVqZWN0PVN5bWJvbChcImxhc3RSZWplY3RcIiksa0Vycm9yPVN5bWJvbChcImVycm9yXCIpLGtFbmRlZD1TeW1ib2woXCJlbmRlZFwiKSxrTGFzdFByb21pc2U9U3ltYm9sKFwibGFzdFByb21pc2VcIiksa0hhbmRsZVByb21pc2U9U3ltYm9sKFwiaGFuZGxlUHJvbWlzZVwiKSxrU3RyZWFtPVN5bWJvbChcInN0cmVhbVwiKTtmdW5jdGlvbiBjcmVhdGVJdGVyUmVzdWx0KGUsdCl7cmV0dXJue3ZhbHVlOmUsZG9uZTp0fX1mdW5jdGlvbiByZWFkQW5kUmVzb2x2ZShlKXt2YXIgdD1lW2tMYXN0UmVzb2x2ZV07aWYobnVsbCE9PXQpe3ZhciByPWVba1N0cmVhbV0ucmVhZCgpO251bGwhPT1yJiYoZVtrTGFzdFByb21pc2VdPW51bGwsZVtrTGFzdFJlc29sdmVdPW51bGwsZVtrTGFzdFJlamVjdF09bnVsbCx0KGNyZWF0ZUl0ZXJSZXN1bHQociwhMSkpKX19ZnVuY3Rpb24gb25SZWFkYWJsZShlKXtwcm9jZXNzLm5leHRUaWNrKHJlYWRBbmRSZXNvbHZlLGUpfWZ1bmN0aW9uIHdyYXBGb3JOZXh0KGUsdCl7cmV0dXJuIGZ1bmN0aW9uKHIsbyl7ZS50aGVuKGZ1bmN0aW9uKCl7dFtrRW5kZWRdP3IoY3JlYXRlSXRlclJlc3VsdCh2b2lkIDAsITApKTp0W2tIYW5kbGVQcm9taXNlXShyLG8pfSxvKX19dmFyIEFzeW5jSXRlcmF0b3JQcm90b3R5cGU9T2JqZWN0LmdldFByb3RvdHlwZU9mKGZ1bmN0aW9uKCl7fSksUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yUHJvdG90eXBlPU9iamVjdC5zZXRQcm90b3R5cGVPZigoX2RlZmluZVByb3BlcnR5KF9PYmplY3Qkc2V0UHJvdG90eXBlTz17Z2V0IHN0cmVhbSgpe3JldHVybiB0aGlzW2tTdHJlYW1dfSxuZXh0OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PXRoaXNba0Vycm9yXTtpZihudWxsIT09dClyZXR1cm4gUHJvbWlzZS5yZWplY3QodCk7aWYodGhpc1trRW5kZWRdKXJldHVybiBQcm9taXNlLnJlc29sdmUoY3JlYXRlSXRlclJlc3VsdCh2b2lkIDAsITApKTtpZih0aGlzW2tTdHJlYW1dLmRlc3Ryb3llZClyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24odCxyKXtwcm9jZXNzLm5leHRUaWNrKGZ1bmN0aW9uKCl7ZVtrRXJyb3JdP3IoZVtrRXJyb3JdKTp0KGNyZWF0ZUl0ZXJSZXN1bHQodm9pZCAwLCEwKSl9KX0pO3ZhciByLG89dGhpc1trTGFzdFByb21pc2VdO2lmKG8pcj1uZXcgUHJvbWlzZSh3cmFwRm9yTmV4dChvLHRoaXMpKTtlbHNle3ZhciBuPXRoaXNba1N0cmVhbV0ucmVhZCgpO2lmKG51bGwhPT1uKXJldHVybiBQcm9taXNlLnJlc29sdmUoY3JlYXRlSXRlclJlc3VsdChuLCExKSk7cj1uZXcgUHJvbWlzZSh0aGlzW2tIYW5kbGVQcm9taXNlXSl9cmV0dXJuIHRoaXNba0xhc3RQcm9taXNlXT1yLHJ9fSxTeW1ib2wuYXN5bmNJdGVyYXRvcixmdW5jdGlvbigpe3JldHVybiB0aGlzfSksX2RlZmluZVByb3BlcnR5KF9PYmplY3Qkc2V0UHJvdG90eXBlTyxcInJldHVyblwiLGZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24odCxyKXtlW2tTdHJlYW1dLmRlc3Ryb3kobnVsbCxmdW5jdGlvbihlKXtlP3IoZSk6dChjcmVhdGVJdGVyUmVzdWx0KHZvaWQgMCwhMCkpfSl9KX0pLF9PYmplY3Qkc2V0UHJvdG90eXBlTyksQXN5bmNJdGVyYXRvclByb3RvdHlwZSksY3JlYXRlUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yPWZ1bmN0aW9uKGUpe3ZhciB0LHI9T2JqZWN0LmNyZWF0ZShSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3JQcm90b3R5cGUsKF9kZWZpbmVQcm9wZXJ0eSh0PXt9LGtTdHJlYW0se3ZhbHVlOmUsd3JpdGFibGU6ITB9KSxfZGVmaW5lUHJvcGVydHkodCxrTGFzdFJlc29sdmUse3ZhbHVlOm51bGwsd3JpdGFibGU6ITB9KSxfZGVmaW5lUHJvcGVydHkodCxrTGFzdFJlamVjdCx7dmFsdWU6bnVsbCx3cml0YWJsZTohMH0pLF9kZWZpbmVQcm9wZXJ0eSh0LGtFcnJvcix7dmFsdWU6bnVsbCx3cml0YWJsZTohMH0pLF9kZWZpbmVQcm9wZXJ0eSh0LGtFbmRlZCx7dmFsdWU6ZS5fcmVhZGFibGVTdGF0ZS5lbmRFbWl0dGVkLHdyaXRhYmxlOiEwfSksX2RlZmluZVByb3BlcnR5KHQsa0hhbmRsZVByb21pc2Use3ZhbHVlOmZ1bmN0aW9uKGUsdCl7dmFyIG89cltrU3RyZWFtXS5yZWFkKCk7bz8ocltrTGFzdFByb21pc2VdPW51bGwscltrTGFzdFJlc29sdmVdPW51bGwscltrTGFzdFJlamVjdF09bnVsbCxlKGNyZWF0ZUl0ZXJSZXN1bHQobywhMSkpKToocltrTGFzdFJlc29sdmVdPWUscltrTGFzdFJlamVjdF09dCl9LHdyaXRhYmxlOiEwfSksdCkpO3JldHVybiByW2tMYXN0UHJvbWlzZV09bnVsbCxmaW5pc2hlZChlLGZ1bmN0aW9uKGUpe2lmKGUmJlwiRVJSX1NUUkVBTV9QUkVNQVRVUkVfQ0xPU0VcIiE9PWUuY29kZSl7dmFyIHQ9cltrTGFzdFJlamVjdF07cmV0dXJuIG51bGwhPT10JiYocltrTGFzdFByb21pc2VdPW51bGwscltrTGFzdFJlc29sdmVdPW51bGwscltrTGFzdFJlamVjdF09bnVsbCx0KGUpKSx2b2lkKHJba0Vycm9yXT1lKX12YXIgbz1yW2tMYXN0UmVzb2x2ZV07bnVsbCE9PW8mJihyW2tMYXN0UHJvbWlzZV09bnVsbCxyW2tMYXN0UmVzb2x2ZV09bnVsbCxyW2tMYXN0UmVqZWN0XT1udWxsLG8oY3JlYXRlSXRlclJlc3VsdCh2b2lkIDAsITApKSkscltrRW5kZWRdPSEwfSksZS5vbihcInJlYWRhYmxlXCIsb25SZWFkYWJsZS5iaW5kKG51bGwscikpLHJ9O21vZHVsZS5leHBvcnRzPWNyZWF0ZVJlYWRhYmxlU3RyZWFtQXN5bmNJdGVyYXRvcjtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltRnplVzVqWDJsMFpYSmhkRzl5TG1weklsMHNJbTVoYldWeklqcGJJbDlQWW1wbFkzUWtjMlYwVUhKdmRHOTBlWEJsVHlJc0lsOWtaV1pwYm1WUWNtOXdaWEowZVNJc0ltOWlhaUlzSW10bGVTSXNJblpoYkhWbElpd2lUMkpxWldOMElpd2laR1ZtYVc1bFVISnZjR1Z5ZEhraUxDSmxiblZ0WlhKaFlteGxJaXdpWTI5dVptbG5kWEpoWW14bElpd2lkM0pwZEdGaWJHVWlMQ0ptYVc1cGMyaGxaQ0lzSW5KbGNYVnBjbVVpTENKclRHRnpkRkpsYzI5c2RtVWlMQ0pUZVcxaWIyd2lMQ0pyVEdGemRGSmxhbVZqZENJc0ltdEZjbkp2Y2lJc0ltdEZibVJsWkNJc0ltdE1ZWE4wVUhKdmJXbHpaU0lzSW10SVlXNWtiR1ZRY205dGFYTmxJaXdpYTFOMGNtVmhiU0lzSW1OeVpXRjBaVWwwWlhKU1pYTjFiSFFpTENKa2IyNWxJaXdpY21WaFpFRnVaRkpsYzI5c2RtVWlMQ0pwZEdWeUlpd2ljbVZ6YjJ4MlpTSXNJbVJoZEdFaUxDSnlaV0ZrSWl3aWIyNVNaV0ZrWVdKc1pTSXNJbkJ5YjJObGMzTWlMQ0p1WlhoMFZHbGpheUlzSW5keVlYQkdiM0pPWlhoMElpd2liR0Z6ZEZCeWIyMXBjMlVpTENKeVpXcGxZM1FpTENKMGFHVnVJaXdpZFc1a1pXWnBibVZrSWl3aVFYTjVibU5KZEdWeVlYUnZjbEJ5YjNSdmRIbHdaU0lzSW1kbGRGQnliM1J2ZEhsd1pVOW1JaXdpVW1WaFpHRmliR1ZUZEhKbFlXMUJjM2x1WTBsMFpYSmhkRzl5VUhKdmRHOTBlWEJsSWl3aWMyVjBVSEp2ZEc5MGVYQmxUMllpTENKemRISmxZVzBpTENKMGFHbHpJaXdpYm1WNGRDSXNJbDkwYUdseklpd2laWEp5YjNJaUxDSlFjbTl0YVhObElpd2laR1Z6ZEhKdmVXVmtJaXdpY0hKdmJXbHpaU0lzSW1GemVXNWpTWFJsY21GMGIzSWlMQ0pmZEdocGN6SWlMQ0prWlhOMGNtOTVJaXdpWlhKeUlpd2lZM0psWVhSbFVtVmhaR0ZpYkdWVGRISmxZVzFCYzNsdVkwbDBaWEpoZEc5eUlpd2lYMDlpYW1WamRDUmpjbVZoZEdVaUxDSnBkR1Z5WVhSdmNpSXNJbU55WldGMFpTSXNJbDl5WldGa1lXSnNaVk4wWVhSbElpd2laVzVrUlcxcGRIUmxaQ0lzSW1OdlpHVWlMQ0p2YmlJc0ltSnBibVFpTENKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWwwc0ltMWhjSEJwYm1keklqb2lRVUZCUVN4aFFVVkJMRWxCUVVsQkxITkNRVVZLTEZOQlFWTkRMR2RDUVVGblFrTXNSVUZCUzBNc1JVRkJTME1zUjBGQmFVc3NUMEZCY0VwRUxFdEJRVTlFTEVWQlFVOUhMRTlCUVU5RExHVkJRV1ZLTEVWQlFVdERMRVZCUVVzc1EwRkJSVU1zVFVGQlQwRXNSVUZCVDBjc1dVRkJXU3hGUVVGTlF5eGpRVUZqTEVWQlFVMURMRlZCUVZVc1NVRkJhMEpRTEVWQlFVbERMRWRCUVU5RExFVkJRV2RDUml4RlFVVXpUU3hKUVVGSlVTeFRRVUZYUXl4UlFVRlJMRzFDUVVWdVFrTXNZVUZCWlVNc1QwRkJUeXhsUVVOMFFrTXNXVUZCWTBRc1QwRkJUeXhqUVVOeVFrVXNUMEZCVTBZc1QwRkJUeXhUUVVOb1FrY3NUMEZCVTBnc1QwRkJUeXhUUVVOb1Fra3NZVUZCWlVvc1QwRkJUeXhsUVVOMFFrc3NaVUZCYVVKTUxFOUJRVThzYVVKQlEzaENUU3hSUVVGVlRpeFBRVUZQTEZWQlJYSkNMRk5CUVZOUExHbENRVUZwUW1oQ0xFVkJRVTlwUWl4SFFVTXZRaXhOUVVGUExFTkJRMHhxUWl4TlFVRlBRU3hGUVVOUWFVSXNTMEZCVFVFc1IwRkpWaXhUUVVGVFF5eGxRVUZsUXl4SFFVTjBRaXhKUVVGSlF5eEZRVUZWUkN4RlFVRkxXQ3hqUVVWdVFpeEhRVUZuUWl4UFFVRmFXU3hGUVVGclFpeERRVU53UWl4SlFVRkpReXhGUVVGUFJpeEZRVUZMU2l4VFFVRlRUeXhQUVVsYUxFOUJRVlJFTEVsQlEwWkdMRVZCUVV0T0xHTkJRV2RDTEV0QlEzSkNUU3hGUVVGTFdDeGpRVUZuUWl4TFFVTnlRbGNzUlVGQlMxUXNZVUZCWlN4TFFVTndRbFVzUlVGQlVVb3NhVUpCUVdsQ1N5eEhRVUZOTEUxQlMzSkRMRk5CUVZORkxGZEJRVmRLTEVkQlIyeENTeXhSUVVGUlF5eFRRVUZUVUN4bFFVRm5Ra01zUjBGSGJrTXNVMEZCVTA4c1dVRkJXVU1zUlVGQllWSXNSMEZEYUVNc1QwRkJUeXhUUVVGVlF5eEZRVUZUVVN4SFFVTjRRa1FzUlVGQldVVXNTMEZCU3l4WFFVTllWaXhGUVVGTFVDeFJRVU5RVVN4RlFVRlJTaXh6UWtGQmFVSmpMRWRCUVZjc1NVRkpkRU5ZTEVWQlFVdE1MR2RDUVVGblFrMHNSVUZCVTFFc1NVRkROMEpCTEVsQlNWQXNTVUZCU1Vjc2RVSkJRWGxDT1VJc1QwRkJUeXRDTEdWQlFXVXNZMEZETDBORExIRkRRVUYxUTJoRExFOUJRVTlwUXl4blFrRTBSQzlEY2tNc1owSkJOVVFyUkVRc2MwSkJRWGRDTEVOQlEzaEdkVU1zWVVGRFJTeFBRVUZQUXl4TFFVRkxja0lzVlVGSFpITkNMRXRCUVUwc1YwRkRTaXhKUVVGSlF5eEZRVUZSUml4TFFVbFNSeXhGUVVGUlNDeExRVUZMZWtJc1VVRkZha0lzUjBGQll5eFBRVUZXTkVJc1JVRkRSaXhQUVVGUFF5eFJRVUZSV2l4UFFVRlBWeXhIUVVkNFFpeEhRVUZKU0N4TFFVRkxlRUlzVVVGRFVDeFBRVUZQTkVJc1VVRkJVWEJDTEZGQlFWRktMSE5DUVVGcFFtTXNSMEZCVnl4SlFVZHlSQ3hIUVVGSlRTeExRVUZMY2tJc1UwRkJVekJDTEZWQlMyaENMRTlCUVU4c1NVRkJTVVFzVVVGQlVTeFRRVUZWY0VJc1JVRkJVMUVzUjBGRGNFTktMRkZCUVZGRExGTkJRVk1zVjBGRFdHRXNSVUZCVFROQ0xGRkJRMUpwUWl4RlFVRlBWU3hGUVVGTk0wSXNVMEZGWWxNc1JVRkJVVW9zYzBKQlFXbENZeXhIUVVGWExGRkJWVFZETEVsQlEwbFpMRVZCUkVGbUxFVkJRV05UTEV0QlFVdDJRaXhqUVVkMlFpeEhRVUZKWXl4RlFVTkdaU3hGUVVGVkxFbEJRVWxHTEZGQlFWRmtMRmxCUVZsRExFVkJRV0ZUTEZkQlF6RkRMRU5CUjB3c1NVRkJTV1lzUlVGQlQyVXNTMEZCUzNKQ0xGTkJRVk5QTEU5QlJYcENMRWRCUVdFc1QwRkJWRVFzUlVGRFJpeFBRVUZQYlVJc1VVRkJVWEJDTEZGQlFWRktMR2xDUVVGcFFrc3NSMEZCVFN4SlFVZG9SSEZDTEVWQlFWVXNTVUZCU1VZc1VVRkJVVW9zUzBGQlMzUkNMR2xDUVVrM1FpeFBRVVJCYzBJc1MwRkJTM1pDTEdOQlFXZENOa0lzUlVGRFpFRXNTVUZGSzBKcVF5eFBRVUZQYTBNc1kwRkJaU3hYUVVNNVJDeFBRVUZQVUN4UFFVTk1ka01zWjBKQlFXZENSQ3h6UWtGQmRVSXNVMEZCVlN4WFFVTnVSQ3hKUVVGSlowUXNSVUZCVTFJc1MwRkxZaXhQUVVGUExFbEJRVWxKTEZGQlFWRXNVMEZCVlhCQ0xFVkJRVk5STEVkQlEzQkRaMElzUlVGQlR6ZENMRk5CUVZNNFFpeFJRVUZSTEV0QlFVMHNVMEZCVlVNc1IwRkRiRU5CTEVWQlEwWnNRaXhGUVVGUGEwSXNSMEZKVkRGQ0xFVkJRVkZLTEhOQ1FVRnBRbU1zUjBGQlZ5eFZRVWQwUTJ4RExIVkNRVUYzUW0xRExIZENRVVY0UW1kQ0xHdERRVUZ2UXl4VFFVRXlRMW9zUjBGRGFrWXNTVUZCU1dFc1JVRkZRVU1zUlVGQlYyaEVMRTlCUVU5cFJDeFBRVUZQYWtJc2MwTkJRVFJFY0VNc1owSkJRWEpDYlVRc1JVRkJhVUlzUjBGQmIwTnFReXhSUVVGVExFTkJRMmhKWml4TlFVRlBiVU1zUlVGRFVEbENMRlZCUVZVc1NVRkRVbElzWjBKQlFXZENiVVFzUlVGQlowSjRReXhoUVVGakxFTkJRMmhFVWl4TlFVRlBMRXRCUTFCTExGVkJRVlVzU1VGRFVsSXNaMEpCUVdkQ2JVUXNSVUZCWjBKMFF5eFpRVUZoTEVOQlF5OURWaXhOUVVGUExFdEJRMUJMTEZWQlFWVXNTVUZEVWxJc1owSkJRV2RDYlVRc1JVRkJaMEp5UXl4UFFVRlJMRU5CUXpGRFdDeE5RVUZQTEV0QlExQkxMRlZCUVZVc1NVRkRVbElzWjBKQlFXZENiVVFzUlVGQlowSndReXhQUVVGUkxFTkJRekZEV2l4TlFVRlBiVU1zUlVGQlQyZENMR1ZCUVdWRExGZEJRemRDTDBNc1ZVRkJWU3hKUVVOU1VpeG5Ra0ZCWjBKdFJDeEZRVUZuUW14RExHVkJRV2RDTEVOQlEyeEVaQ3hOUVVGUExGTkJRV1Z2UWl4RlFVRlRVU3hIUVVNM1FpeEpRVUZKVUN4RlFVRlBORUlzUlVGQlUyeERMRk5CUVZOUExFOUJSWHBDUkN4SFFVTkdORUlzUlVGQlUzQkRMR05CUVdkQ0xFdEJRM3BDYjBNc1JVRkJVM3BETEdOQlFXZENMRXRCUTNwQ2VVTXNSVUZCVTNaRExHRkJRV1VzUzBGRGVFSlZMRVZCUVZGS0xHbENRVUZwUWtzc1IwRkJUU3hOUVVVdlFqUkNMRVZCUVZONlF5eGpRVUZuUWxrc1JVRkRla0kyUWl4RlFVRlRka01zWVVGQlpXdENMRWxCUnpWQ2RrSXNWVUZCVlN4SlFVTlNNa01zU1VFNFFrb3NUMEUzUWtGRExFVkJRVk53UXl4alFVRm5RaXhMUVVONlFsQXNVMEZCVXpaQ0xFVkJRVkVzVTBGQlZWY3NSMEZEZWtJc1IwRkJTVUVzUjBGQmIwSXNLMEpCUVdKQkxFVkJRVWxQTEV0QlFYVkRMRU5CUTNCRUxFbEJRVWw2UWl4RlFVRlRjVUlzUlVGQlUzWkRMR0ZCVjNSQ0xFOUJVbVVzVDBGQldHdENMRWxCUTBaeFFpeEZRVUZUY0VNc1kwRkJaMElzUzBGRGVrSnZReXhGUVVGVGVrTXNZMEZCWjBJc1MwRkRla0o1UXl4RlFVRlRka01zWVVGQlpTeExRVU40UW10Q0xFVkJRVTlyUWl4VFFVZFVSeXhGUVVGVGRFTXNVVUZCVlcxRExFZEJTWEpDTEVsQlFVa3hRaXhGUVVGVk5rSXNSVUZCVTNwRExHTkJSVkFzVDBGQldsa3NTVUZEUmpaQ0xFVkJRVk53UXl4alFVRm5RaXhMUVVONlFtOURMRVZCUVZONlF5eGpRVUZuUWl4TFFVTjZRbmxETEVWQlFWTjJReXhoUVVGbExFdEJRM2hDVlN4RlFVRlJTaXh6UWtGQmFVSmpMRWRCUVZjc1MwRkhkRU50UWl4RlFVRlRja01zVTBGQlZTeEpRVVZ5UW5WQ0xFVkJRVTl0UWl4SFFVRkhMRmRCUVZrdlFpeFhRVUZYWjBNc1MwRkJTeXhMUVVGTlRpeEpRVU55UTBFc1IwRkhWRThzVDBGQlQwTXNVVUZCVlZZaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZjM1JoWjJsdVp5OXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTl6ZEhKbFlXMHRZbkp2ZDNObGNtbG1lUzl1YjJSbFgyMXZaSFZzWlhNdmNtVmhaR0ZpYkdVdGMzUnlaV0Z0TDJ4cFlpOXBiblJsY201aGJDOXpkSEpsWVcxekwyRnplVzVqWDJsMFpYSmhkRzl5TG1wekluMD0iLCJcInVzZSBzdHJpY3RcIjtmdW5jdGlvbiBvd25LZXlzKGUsdCl7dmFyIG49T2JqZWN0LmtleXMoZSk7aWYoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIHI9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTt0JiYocj1yLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLHQpLmVudW1lcmFibGV9KSksbi5wdXNoLmFwcGx5KG4scil9cmV0dXJuIG59ZnVuY3Rpb24gX29iamVjdFNwcmVhZChlKXtmb3IodmFyIHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgbj1udWxsIT1hcmd1bWVudHNbdF0/YXJndW1lbnRzW3RdOnt9O3QlMj9vd25LZXlzKE9iamVjdChuKSwhMCkuZm9yRWFjaChmdW5jdGlvbih0KXtfZGVmaW5lUHJvcGVydHkoZSx0LG5bdF0pfSk6T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnM/T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoZSxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhuKSk6b3duS2V5cyhPYmplY3QobikpLmZvckVhY2goZnVuY3Rpb24odCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG4sdCkpfSl9cmV0dXJuIGV9ZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KGUsdCxuKXtyZXR1cm4gdCBpbiBlP09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQse3ZhbHVlOm4sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTplW3RdPW4sZX1mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soZSx0KXtpZighKGUgaW5zdGFuY2VvZiB0KSl0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpfWZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKGUsdCl7Zm9yKHZhciBuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciByPXRbbl07ci5lbnVtZXJhYmxlPXIuZW51bWVyYWJsZXx8ITEsci5jb25maWd1cmFibGU9ITAsXCJ2YWx1ZVwiaW4gciYmKHIud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHIua2V5LHIpfX1mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoZSx0LG4pe3JldHVybiB0JiZfZGVmaW5lUHJvcGVydGllcyhlLnByb3RvdHlwZSx0KSxuJiZfZGVmaW5lUHJvcGVydGllcyhlLG4pLGV9dmFyIF9yZXF1aXJlPXJlcXVpcmUoXCJidWZmZXJcIiksQnVmZmVyPV9yZXF1aXJlLkJ1ZmZlcixfcmVxdWlyZTI9cmVxdWlyZShcInV0aWxcIiksaW5zcGVjdD1fcmVxdWlyZTIuaW5zcGVjdCxjdXN0b209aW5zcGVjdCYmaW5zcGVjdC5jdXN0b218fFwiaW5zcGVjdFwiO2Z1bmN0aW9uIGNvcHlCdWZmZXIoZSx0LG4pe0J1ZmZlci5wcm90b3R5cGUuY29weS5jYWxsKGUsdCxuKX1tb2R1bGUuZXhwb3J0cz1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoKXtfY2xhc3NDYWxsQ2hlY2sodGhpcyxlKSx0aGlzLmhlYWQ9bnVsbCx0aGlzLnRhaWw9bnVsbCx0aGlzLmxlbmd0aD0wfXJldHVybiBfY3JlYXRlQ2xhc3MoZSxbe2tleTpcInB1c2hcIix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgdD17ZGF0YTplLG5leHQ6bnVsbH07dGhpcy5sZW5ndGg+MD90aGlzLnRhaWwubmV4dD10OnRoaXMuaGVhZD10LHRoaXMudGFpbD10LCsrdGhpcy5sZW5ndGh9fSx7a2V5OlwidW5zaGlmdFwiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0PXtkYXRhOmUsbmV4dDp0aGlzLmhlYWR9OzA9PT10aGlzLmxlbmd0aCYmKHRoaXMudGFpbD10KSx0aGlzLmhlYWQ9dCwrK3RoaXMubGVuZ3RofX0se2tleTpcInNoaWZ0XCIsdmFsdWU6ZnVuY3Rpb24oKXtpZigwIT09dGhpcy5sZW5ndGgpe3ZhciBlPXRoaXMuaGVhZC5kYXRhO3JldHVybiAxPT09dGhpcy5sZW5ndGg/dGhpcy5oZWFkPXRoaXMudGFpbD1udWxsOnRoaXMuaGVhZD10aGlzLmhlYWQubmV4dCwtLXRoaXMubGVuZ3RoLGV9fX0se2tleTpcImNsZWFyXCIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLmhlYWQ9dGhpcy50YWlsPW51bGwsdGhpcy5sZW5ndGg9MH19LHtrZXk6XCJqb2luXCIsdmFsdWU6ZnVuY3Rpb24oZSl7aWYoMD09PXRoaXMubGVuZ3RoKXJldHVyblwiXCI7Zm9yKHZhciB0PXRoaXMuaGVhZCxuPVwiXCIrdC5kYXRhO3Q9dC5uZXh0OyluKz1lK3QuZGF0YTtyZXR1cm4gbn19LHtrZXk6XCJjb25jYXRcIix2YWx1ZTpmdW5jdGlvbihlKXtpZigwPT09dGhpcy5sZW5ndGgpcmV0dXJuIEJ1ZmZlci5hbGxvYygwKTtmb3IodmFyIHQ9QnVmZmVyLmFsbG9jVW5zYWZlKGU+Pj4wKSxuPXRoaXMuaGVhZCxyPTA7bjspY29weUJ1ZmZlcihuLmRhdGEsdCxyKSxyKz1uLmRhdGEubGVuZ3RoLG49bi5uZXh0O3JldHVybiB0fX0se2tleTpcImNvbnN1bWVcIix2YWx1ZTpmdW5jdGlvbihlLHQpe3ZhciBuO3JldHVybiBlPHRoaXMuaGVhZC5kYXRhLmxlbmd0aD8obj10aGlzLmhlYWQuZGF0YS5zbGljZSgwLGUpLHRoaXMuaGVhZC5kYXRhPXRoaXMuaGVhZC5kYXRhLnNsaWNlKGUpKTpuPWU9PT10aGlzLmhlYWQuZGF0YS5sZW5ndGg/dGhpcy5zaGlmdCgpOnQ/dGhpcy5fZ2V0U3RyaW5nKGUpOnRoaXMuX2dldEJ1ZmZlcihlKSxufX0se2tleTpcImZpcnN0XCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5oZWFkLmRhdGF9fSx7a2V5OlwiX2dldFN0cmluZ1wiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuaGVhZCxuPTEscj10LmRhdGE7Zm9yKGUtPXIubGVuZ3RoO3Q9dC5uZXh0Oyl7dmFyIGE9dC5kYXRhLGk9ZT5hLmxlbmd0aD9hLmxlbmd0aDplO2lmKGk9PT1hLmxlbmd0aD9yKz1hOnIrPWEuc2xpY2UoMCxlKSwwPT09KGUtPWkpKXtpPT09YS5sZW5ndGg/KCsrbix0Lm5leHQ/dGhpcy5oZWFkPXQubmV4dDp0aGlzLmhlYWQ9dGhpcy50YWlsPW51bGwpOih0aGlzLmhlYWQ9dCx0LmRhdGE9YS5zbGljZShpKSk7YnJlYWt9KytufXJldHVybiB0aGlzLmxlbmd0aC09bixyfX0se2tleTpcIl9nZXRCdWZmZXJcIix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgdD1CdWZmZXIuYWxsb2NVbnNhZmUoZSksbj10aGlzLmhlYWQscj0xO2ZvcihuLmRhdGEuY29weSh0KSxlLT1uLmRhdGEubGVuZ3RoO249bi5uZXh0Oyl7dmFyIGE9bi5kYXRhLGk9ZT5hLmxlbmd0aD9hLmxlbmd0aDplO2lmKGEuY29weSh0LHQubGVuZ3RoLWUsMCxpKSwwPT09KGUtPWkpKXtpPT09YS5sZW5ndGg/KCsrcixuLm5leHQ/dGhpcy5oZWFkPW4ubmV4dDp0aGlzLmhlYWQ9dGhpcy50YWlsPW51bGwpOih0aGlzLmhlYWQ9bixuLmRhdGE9YS5zbGljZShpKSk7YnJlYWt9KytyfXJldHVybiB0aGlzLmxlbmd0aC09cix0fX0se2tleTpjdXN0b20sdmFsdWU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gaW5zcGVjdCh0aGlzLF9vYmplY3RTcHJlYWQoe30sdCx7ZGVwdGg6MCxjdXN0b21JbnNwZWN0OiExfSkpfX1dKSxlfSgpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1KMVptWmxjbDlzYVhOMExtcHpJbDBzSW01aGJXVnpJanBiSW05M2JrdGxlWE1pTENKdlltcGxZM1FpTENKbGJuVnRaWEpoWW14bFQyNXNlU0lzSW10bGVYTWlMQ0pQWW1wbFkzUWlMQ0puWlhSUGQyNVFjbTl3WlhKMGVWTjViV0p2YkhNaUxDSnplVzFpYjJ4eklpd2labWxzZEdWeUlpd2ljM2x0SWl3aVoyVjBUM2R1VUhKdmNHVnlkSGxFWlhOamNtbHdkRzl5SWl3aVpXNTFiV1Z5WVdKc1pTSXNJbkIxYzJnaUxDSmhjSEJzZVNJc0lsOXZZbXBsWTNSVGNISmxZV1FpTENKMFlYSm5aWFFpTENKcElpd2lZWEpuZFcxbGJuUnpJaXdpYkdWdVozUm9JaXdpYzI5MWNtTmxJaXdpWm05eVJXRmphQ0lzSW10bGVTSXNJbDlrWldacGJtVlFjbTl3WlhKMGVTSXNJbWRsZEU5M2JsQnliM0JsY25SNVJHVnpZM0pwY0hSdmNuTWlMQ0prWldacGJtVlFjbTl3WlhKMGFXVnpJaXdpWkdWbWFXNWxVSEp2Y0dWeWRIa2lMQ0p2WW1vaUxDSjJZV3gxWlNJc0ltTnZibVpwWjNWeVlXSnNaU0lzSW5keWFYUmhZbXhsSWl3aVgyTnNZWE56UTJGc2JFTm9aV05ySWl3aWFXNXpkR0Z1WTJVaUxDSkRiMjV6ZEhKMVkzUnZjaUlzSWxSNWNHVkZjbkp2Y2lJc0lsOWtaV1pwYm1WUWNtOXdaWEowYVdWeklpd2ljSEp2Y0hNaUxDSmtaWE5qY21sd2RHOXlJaXdpWDJOeVpXRjBaVU5zWVhOeklpd2ljSEp2ZEc5UWNtOXdjeUlzSW5OMFlYUnBZMUJ5YjNCeklpd2ljSEp2ZEc5MGVYQmxJaXdpWDNKbGNYVnBjbVVpTENKeVpYRjFhWEpsSWl3aVFuVm1abVZ5SWl3aVgzSmxjWFZwY21VeUlpd2lhVzV6Y0dWamRDSXNJbU4xYzNSdmJTSXNJbU52Y0hsQ2RXWm1aWElpTENKemNtTWlMQ0p2Wm1aelpYUWlMQ0pqYjNCNUlpd2lZMkZzYkNJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSkNkV1ptWlhKTWFYTjBJaXdpZEdocGN5SXNJbWhsWVdRaUxDSjBZV2xzSWl3aWRpSXNJbVZ1ZEhKNUlpd2laR0YwWVNJc0ltNWxlSFFpTENKeVpYUWlMQ0p6SWl3aWNDSXNJbTRpTENKaGJHeHZZeUlzSW1Gc2JHOWpWVzV6WVdabElpd2lhR0Z6VTNSeWFXNW5jeUlzSW5Oc2FXTmxJaXdpYzJocFpuUWlMQ0pmWjJWMFUzUnlhVzVuSWl3aVgyZGxkRUoxWm1abGNpSXNJbU1pTENKemRISWlMQ0p1WWlJc0ltSjFaaUlzSWw4aUxDSnZjSFJwYjI1eklpd2laR1Z3ZEdnaUxDSmpkWE4wYjIxSmJuTndaV04wSWwwc0ltMWhjSEJwYm1keklqb2lRVUZCUVN4aFFVVkJMRk5CUVZOQkxGRkJRVkZETEVWQlFWRkRMRWRCUVd0Q0xFbEJRVWxETEVWQlFVOURMRTlCUVU5RUxFdEJRVXRHTEVkQlFWTXNSMEZCU1Vjc1QwRkJUME1zYzBKQlFYVkNMRU5CUVVVc1NVRkJTVU1zUlVGQlZVWXNUMEZCVDBNc2MwSkJRWE5DU2l4SFFVRmhReXhKUVVGblFra3NSVUZCVlVFc1JVRkJVVU1zVDBGQlR5eFRRVUZWUXl4SFFVRlBMRTlCUVU5S0xFOUJRVTlMTEhsQ1FVRjVRbElzUlVGQlVVOHNSMEZCUzBVc1kwRkJaMEpRTEVWQlFVdFJMRXRCUVV0RExFMUJRVTFVTEVWQlFVMUhMRWRCUVZrc1QwRkJUMGdzUlVGRk9WVXNVMEZCVTFVc1kwRkJZME1zUjBGQlZTeEpRVUZMTEVsQlFVbERMRVZCUVVrc1JVRkJSMEVzUlVGQlNVTXNWVUZCVlVNc1QwRkJVVVlzU1VGQlN5eERRVUZGTEVsQlFVbEhMRVZCUVhsQ0xFMUJRV2hDUml4VlFVRlZSQ3hIUVVGaFF5eFZRVUZWUkN4SFFVRkxMRWRCUVZGQkxFVkJRVWtzUlVGQlMyWXNVVUZCVVVrc1QwRkJUMk1zU1VGQlV5eEhRVUZOUXl4UlFVRlJMRk5CUVZWRExFZEJRVTlETEdkQ1FVRm5RbEFzUlVGQlVVMHNSVUZCUzBZc1JVRkJUMFVzVFVGQmMwSm9RaXhQUVVGUGEwSXNNRUpCUVRaQ2JFSXNUMEZCVDIxQ0xHbENRVUZwUWxRc1JVRkJVVllzVDBGQlQydENMREJDUVVFd1Frb3NTVUZCYlVKc1FpeFJRVUZSU1N4UFFVRlBZeXhKUVVGVFF5eFJRVUZSTEZOQlFWVkRMRWRCUVU5b1FpeFBRVUZQYjBJc1pVRkJaVllzUlVGQlVVMHNSVUZCUzJoQ0xFOUJRVTlMTEhsQ1FVRjVRbE1zUlVGQlVVVXNUVUZCWlN4UFFVRlBUaXhGUVVVM1owSXNVMEZCVTA4c1owSkJRV2RDU1N4RlFVRkxUQ3hGUVVGTFRTeEhRVUZwU3l4UFFVRndTazRzUzBGQlQwc3NSVUZCVDNKQ0xFOUJRVTl2UWl4bFFVRmxReXhGUVVGTFRDeEZRVUZMTEVOQlFVVk5MRTFCUVU5QkxFVkJRVTlvUWl4WlFVRlpMRVZCUVUxcFFpeGpRVUZqTEVWQlFVMURMRlZCUVZVc1NVRkJhMEpJTEVWQlFVbE1MRWRCUVU5TkxFVkJRV2RDUkN4RlFVVXpUU3hUUVVGVFNTeG5Ra0ZCWjBKRExFVkJRVlZETEVkQlFXVXNTMEZCVFVRc1lVRkJiMEpETEVkQlFXZENMRTFCUVUwc1NVRkJTVU1zVlVGQlZTeHhRMEZGYUVnc1UwRkJVME1zYTBKQlFXdENia0lzUlVGQlVXOUNMRWRCUVZNc1NVRkJTeXhKUVVGSmJrSXNSVUZCU1N4RlFVRkhRU3hGUVVGSmJVSXNSVUZCVFdwQ0xFOUJRVkZHTEVsQlFVc3NRMEZCUlN4SlFVRkpiMElzUlVGQllVUXNSVUZCVFc1Q0xFZEJRVWx2UWl4RlFVRlhla0lzVjBGQllYbENMRVZCUVZkNlFpeGhRVUZqTEVWQlFVOTVRaXhGUVVGWFVpeGpRVUZsTEVWQlFWVXNWVUZCVjFFc1NVRkJXVUVzUlVGQlYxQXNWVUZCVnl4SFFVRk5lRUlzVDBGQlQyOUNMR1ZCUVdWV0xFVkJRVkZ4UWl4RlFVRlhaaXhKUVVGTFpTeEpRVVUzVXl4VFFVRlRReXhoUVVGaFRDeEZRVUZoVFN4RlFVRlpReXhIUVVGdFNpeFBRVUZvU1VRc1IwRkJXVW9zYTBKQlFXdENSaXhGUVVGWlVTeFZRVUZYUml4SFFVRnBRa01zUjBGQllVd3NhMEpCUVd0Q1JpeEZRVUZoVHl4SFFVRnhRbEFzUlVGRmVrMHNTVUZCU1ZNc1UwRkJWME1zVVVGQlVTeFZRVU51UWtNc1QwRkJVMFlzVTBGQlUwVXNUMEZGYkVKRExGVkJRVmxHTEZGQlFWRXNVVUZEY0VKSExGRkJRVlZFTEZWQlFWVkRMRkZCUlhCQ1F5eFBRVUZUUkN4VFFVRlhRU3hSUVVGUlF5eFJRVUZWTEZWQlJURkRMRk5CUVZORExGZEJRVmRETEVWQlFVdHFReXhGUVVGUmEwTXNSMEZETDBKT0xFOUJRVTlJTEZWQlFWVlZMRXRCUVV0RExFdEJRVXRJTEVWQlFVdHFReXhGUVVGUmEwTXNSMEZITVVOSExFOUJRVTlETEZGQlJWQXNWMEZEUlN4VFFVRlRReXhKUVVOUWVFSXNaMEpCUVdkQ2VVSXNTMEZCVFVRc1IwRkZkRUpETEV0QlFVdERMRXRCUVU4c1MwRkRXa1FzUzBGQlMwVXNTMEZCVHl4TFFVTmFSaXhMUVVGTGNrTXNUMEZCVXl4RlFUaExhRUlzVDBFelMwRnRRaXhoUVVGaGFVSXNSVUZCV1N4RFFVRkRMRU5CUTNoQ2FrTXNTVUZCU3l4UFFVTk1UU3hOUVVGUExGTkJRV01yUWl4SFFVTnVRaXhKUVVGSlF5eEZRVUZSTEVOQlExWkRMRXRCUVUxR0xFVkJRMDVITEV0QlFVMHNUVUZGU2s0c1MwRkJTM0pETEU5QlFWTXNSVUZCUjNGRExFdEJRVXRGTEV0QlFVdEpMRXRCUVU5R0xFVkJRVmRLTEV0QlFVdERMRXRCUVU5SExFVkJRemRFU2l4TFFVRkxSU3hMUVVGUFJTeEpRVU5XU2l4TFFVRkxja01zVTBGRlVpeERRVU5FUnl4SlFVRkxMRlZCUTB4TkxFMUJRVThzVTBGQmFVSXJRaXhIUVVOMFFpeEpRVUZKUXl4RlFVRlJMRU5CUTFaRExFdEJRVTFHTEVWQlEwNUhMRXRCUVUxT0xFdEJRVXRETEUxQlJVOHNTVUZCYUVKRUxFdEJRVXR5UXl4VFFVRmpjVU1zUzBGQlMwVXNTMEZCVDBVc1IwRkRia05LTEV0QlFVdERMRXRCUVU5SExFbEJRMVpLTEV0QlFVdHlReXhUUVVWU0xFTkJRMFJITEVsQlFVc3NVVUZEVEUwc1RVRkJUeXhYUVVOTUxFZEJRVzlDTEVsQlFXaENORUlzUzBGQlMzSkRMRTlCUVZRc1EwRkRRU3hKUVVGSk5FTXNSVUZCVFZBc1MwRkJTME1zUzBGQlMwa3NTMEZIY0VJc1QwRkdiMElzU1VGQmFFSk1MRXRCUVV0eVF5eFBRVUZqY1VNc1MwRkJTME1zUzBGQlQwUXNTMEZCUzBVc1MwRkJUeXhMUVVGVlJpeExRVUZMUXl4TFFVRlBSQ3hMUVVGTFF5eExRVUZMU3l4UFFVTTNSVTRzUzBGQlMzSkRMRTlCUTBFMFF5eExRVVZTTEVOQlEwUjZReXhKUVVGTExGRkJRMHhOTEUxQlFVOHNWMEZEVERSQ0xFdEJRVXRETEV0QlFVOUVMRXRCUVV0RkxFdEJRVThzUzBGRGVFSkdMRXRCUVV0eVF5eFBRVUZUTEVsQlJXWXNRMEZEUkVjc1NVRkJTeXhQUVVOTVRTeE5RVUZQTEZOQlFXTnZReXhIUVVOdVFpeEhRVUZ2UWl4SlFVRm9RbElzUzBGQlMzSkRMRTlCUVdNc1RVRkJUeXhIUVVrNVFpeEpRVWhCTEVsQlFVazRReXhGUVVGSlZDeExRVUZMUXl4TFFVTlVUU3hGUVVGTkxFZEJRVXRGTEVWQlFVVktMRXRCUlZaSkxFVkJRVWxCTEVWQlFVVklMRTFCUTFoRExFZEJRVTlETEVWQlFVbERMRVZCUVVWS0xFdEJSMllzVDBGQlQwVXNTVUZGVWl4RFFVTkVla01zU1VGQlN5eFRRVU5NVFN4TlFVRlBMRk5CUVdkQ2MwTXNSMEZEY2tJc1IwRkJiMElzU1VGQmFFSldMRXRCUVV0eVF5eFBRVUZqTEU5QlFVOTVRaXhQUVVGUGRVSXNUVUZCVFN4SFFVc3pReXhKUVVwQkxFbEJRVWxLTEVWQlFVMXVRaXhQUVVGUGQwSXNXVUZCV1VZc1NVRkJUU3hIUVVNdlFrUXNSVUZCU1ZRc1MwRkJTME1zUzBGRFZIaERMRVZCUVVrc1JVRkZSR2RFTEVkQlEweHFRaXhYUVVGWGFVSXNSVUZCUlVvc1MwRkJUVVVzUlVGQlN6bERMRWRCUTNoQ1FTeEhRVUZMWjBRc1JVRkJSVW9zUzBGQlN6RkRMRTlCUTFvNFF5eEZRVUZKUVN4RlFVRkZTQ3hMUVVkU0xFOUJRVTlETEVsQlIxSXNRMEZEUkhwRExFbEJRVXNzVlVGRFRFMHNUVUZCVHl4VFFVRnBRbk5ETEVWQlFVZEhMRWRCUTNwQ0xFbEJRVWxPTEVWQlkwb3NUMEZhU1Vjc1JVRkJTVllzUzBGQlMwTXNTMEZCUzBrc1MwRkJTekZETEZGQlJYSkNORU1zUlVGQlRWQXNTMEZCUzBNc1MwRkJTMGtzUzBGQlMxTXNUVUZCVFN4RlFVRkhTaXhIUVVNNVFsWXNTMEZCUzBNc1MwRkJTMGtzUzBGQlQwd3NTMEZCUzBNc1MwRkJTMGtzUzBGQlMxTXNUVUZCVFVvc1NVRkhkRU5JTEVWQlJsTkhMRWxCUVUxV0xFdEJRVXRETEV0QlFVdEpMRXRCUVVzeFF5eFBRVVY0UW5GRExFdEJRVXRsTEZGQlIweEdMRVZCUVdGaUxFdEJRVXRuUWl4WFFVRlhUaXhIUVVGTFZpeExRVUZMYVVJc1YwRkJWMUFzUjBGSGJrUklMRWxCUlZJc1EwRkRSSHBETEVsQlFVc3NVVUZEVEUwc1RVRkJUeXhYUVVOTUxFOUJRVTgwUWl4TFFVRkxReXhMUVVGTFNTeFBRVWRzUWl4RFFVTkVka01zU1VGQlN5eGhRVU5NVFN4TlFVRlBMRk5CUVc5Q2MwTXNSMEZEZWtJc1NVRkJTVVFzUlVGQlNWUXNTMEZCUzBNc1MwRkRWR2xDTEVWQlFVa3NSVUZEU2xnc1JVRkJUVVVzUlVGQlJVb3NTMEZIV2l4SlFVWkJTeXhIUVVGTFNDeEZRVUZKTlVNc1QwRkZSamhETEVWQlFVbEJMRVZCUVVWSUxFMUJRVTBzUTBGRGFrSXNTVUZCU1dFc1JVRkJUVllzUlVGQlJVb3NTMEZEVW1Vc1JVRkJTMVlzUlVGQlNWTXNSVUZCU1hoRUxFOUJRVk4zUkN4RlFVRkplRVFzVDBGQlV5dERMRVZCU1haRExFZEJTRWxWTEVsQlFVOUVMRVZCUVVsNFJDeFBRVUZSTkVNc1IwRkJUMWtzUlVGQlUxb3NSMEZCVDFrc1JVRkJTVXdzVFVGQlRTeEZRVUZIU2l4SFFVZHFSQ3hMUVVaV1FTeEhRVUZMVlN4SFFVVlJMRU5CUTFCQkxFbEJRVTlFTEVWQlFVbDRSQ3hWUVVOWWRVUXNSVUZEUlZRc1JVRkJSVWdzUzBGQlRVNHNTMEZCUzBNc1MwRkJUMUVzUlVGQlJVZ3NTMEZCVlU0c1MwRkJTME1zUzBGQlQwUXNTMEZCUzBVc1MwRkJUeXhQUVVVMVJFWXNTMEZCUzBNc1MwRkJUMUVzUlVGRFdrRXNSVUZCUlVvc1MwRkJUMk1zUlVGQlNVd3NUVUZCVFUwc1NVRkhja0lzVVVGSFFVWXNSVUZKU2l4UFFVUkJiRUlzUzBGQlMzSkRMRkZCUVZWMVJDeEZRVU5TV0N4SlFVZFNMRU5CUTBSNlF5eEpRVUZMTEdGQlEweE5MRTFCUVU4c1UwRkJiMEp6UXl4SFFVTjZRaXhKUVVGSlNDeEZRVUZOYmtJc1QwRkJUM2RDTEZsQlFWbEdMRWRCUTNwQ1JDeEZRVUZKVkN4TFFVRkxReXhMUVVOVWFVSXNSVUZCU1N4RlFVbFNMRWxCU0VGVUxFVkJRVVZLTEV0QlFVdFdMRXRCUVV0WkxFZEJRMXBITEVkQlFVdEVMRVZCUVVWS0xFdEJRVXN4UXl4UFFVVk1PRU1zUlVGQlNVRXNSVUZCUlVnc1RVRkJUU3hEUVVOcVFpeEpRVUZKWlN4RlFVRk5XaXhGUVVGRlNpeExRVU5TWlN4RlFVRkxWaXhGUVVGSlZ5eEZRVUZKTVVRc1QwRkJVekJFTEVWQlFVa3hSQ3hQUVVGVEswTXNSVUZKZGtNc1IwRklRVmNzUlVGQlNURkNMRXRCUVV0WkxFVkJRVXRCTEVWQlFVazFReXhQUVVGVEswTXNSVUZCUnl4RlFVRkhWU3hIUVVkMlFpeExRVVpXVml4SFFVRkxWU3hIUVVWUkxFTkJRMUJCTEVsQlFVOURMRVZCUVVreFJDeFZRVU5ZZFVRc1JVRkRSVlFzUlVGQlJVZ3NTMEZCVFU0c1MwRkJTME1zUzBGQlQxRXNSVUZCUlVnc1MwRkJWVTRzUzBGQlMwTXNTMEZCVDBRc1MwRkJTMFVzUzBGQlR5eFBRVVUxUkVZc1MwRkJTME1zUzBGQlQxRXNSVUZEV2tFc1JVRkJSVW9zUzBGQlQyZENMRVZCUVVsUUxFMUJRVTFOTEVsQlIzSkNMRkZCUjBGR0xFVkJTVW9zVDBGRVFXeENMRXRCUVV0eVF5eFJRVUZWZFVRc1JVRkRVbGdzU1VGSFVpeERRVU5FZWtNc1NVRkJTM2xDTEU5QlEweHVRaXhOUVVGUExGTkJRV1ZyUkN4RlFVRkhReXhIUVVOMlFpeFBRVUZQYWtNc1VVRkJVVlVzUzBGQlRYcERMR05CUVdNc1IwRkJTV2RGTEVWQlFWTXNRMEZGT1VORExFMUJRVThzUlVGRlVFTXNaVUZCWlN4VFFVdGtNVUlzUlVGd1RGUWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YzNSaFoybHVaeTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5emRISmxZVzB0WW5KdmQzTmxjbWxtZVM5dWIyUmxYMjF2WkhWc1pYTXZjbVZoWkdGaWJHVXRjM1J5WldGdEwyeHBZaTlwYm5SbGNtNWhiQzl6ZEhKbFlXMXpMMkoxWm1abGNsOXNhWE4wTG1wekluMD0iLCJcInVzZSBzdHJpY3RcIjtmdW5jdGlvbiBkZXN0cm95KHQsZSl7dmFyIHI9dGhpcyxpPXRoaXMuX3JlYWRhYmxlU3RhdGUmJnRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkLGE9dGhpcy5fd3JpdGFibGVTdGF0ZSYmdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ7cmV0dXJuIGl8fGE/KGU/ZSh0KTp0JiYodGhpcy5fd3JpdGFibGVTdGF0ZT90aGlzLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZHx8KHRoaXMuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkPSEwLHByb2Nlc3MubmV4dFRpY2soZW1pdEVycm9yTlQsdGhpcyx0KSk6cHJvY2Vzcy5uZXh0VGljayhlbWl0RXJyb3JOVCx0aGlzLHQpKSx0aGlzKToodGhpcy5fcmVhZGFibGVTdGF0ZSYmKHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkPSEwKSx0aGlzLl93cml0YWJsZVN0YXRlJiYodGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ9ITApLHRoaXMuX2Rlc3Ryb3kodHx8bnVsbCxmdW5jdGlvbih0KXshZSYmdD9yLl93cml0YWJsZVN0YXRlP3IuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkP3Byb2Nlc3MubmV4dFRpY2soZW1pdENsb3NlTlQscik6KHIuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkPSEwLHByb2Nlc3MubmV4dFRpY2soZW1pdEVycm9yQW5kQ2xvc2VOVCxyLHQpKTpwcm9jZXNzLm5leHRUaWNrKGVtaXRFcnJvckFuZENsb3NlTlQscix0KTplPyhwcm9jZXNzLm5leHRUaWNrKGVtaXRDbG9zZU5ULHIpLGUodCkpOnByb2Nlc3MubmV4dFRpY2soZW1pdENsb3NlTlQscil9KSx0aGlzKX1mdW5jdGlvbiBlbWl0RXJyb3JBbmRDbG9zZU5UKHQsZSl7ZW1pdEVycm9yTlQodCxlKSxlbWl0Q2xvc2VOVCh0KX1mdW5jdGlvbiBlbWl0Q2xvc2VOVCh0KXt0Ll93cml0YWJsZVN0YXRlJiYhdC5fd3JpdGFibGVTdGF0ZS5lbWl0Q2xvc2V8fHQuX3JlYWRhYmxlU3RhdGUmJiF0Ll9yZWFkYWJsZVN0YXRlLmVtaXRDbG9zZXx8dC5lbWl0KFwiY2xvc2VcIil9ZnVuY3Rpb24gdW5kZXN0cm95KCl7dGhpcy5fcmVhZGFibGVTdGF0ZSYmKHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkPSExLHRoaXMuX3JlYWRhYmxlU3RhdGUucmVhZGluZz0hMSx0aGlzLl9yZWFkYWJsZVN0YXRlLmVuZGVkPSExLHRoaXMuX3JlYWRhYmxlU3RhdGUuZW5kRW1pdHRlZD0hMSksdGhpcy5fd3JpdGFibGVTdGF0ZSYmKHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkPSExLHRoaXMuX3dyaXRhYmxlU3RhdGUuZW5kZWQ9ITEsdGhpcy5fd3JpdGFibGVTdGF0ZS5lbmRpbmc9ITEsdGhpcy5fd3JpdGFibGVTdGF0ZS5maW5hbENhbGxlZD0hMSx0aGlzLl93cml0YWJsZVN0YXRlLnByZWZpbmlzaGVkPSExLHRoaXMuX3dyaXRhYmxlU3RhdGUuZmluaXNoZWQ9ITEsdGhpcy5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQ9ITEpfWZ1bmN0aW9uIGVtaXRFcnJvck5UKHQsZSl7dC5lbWl0KFwiZXJyb3JcIixlKX1mdW5jdGlvbiBlcnJvck9yRGVzdHJveSh0LGUpe3ZhciByPXQuX3JlYWRhYmxlU3RhdGUsaT10Ll93cml0YWJsZVN0YXRlO3ImJnIuYXV0b0Rlc3Ryb3l8fGkmJmkuYXV0b0Rlc3Ryb3k/dC5kZXN0cm95KGUpOnQuZW1pdChcImVycm9yXCIsZSl9bW9kdWxlLmV4cG9ydHM9e2Rlc3Ryb3k6ZGVzdHJveSx1bmRlc3Ryb3k6dW5kZXN0cm95LGVycm9yT3JEZXN0cm95OmVycm9yT3JEZXN0cm95fTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltUmxjM1J5YjNrdWFuTWlYU3dpYm1GdFpYTWlPbHNpWkdWemRISnZlU0lzSW1WeWNpSXNJbU5pSWl3aVgzUm9hWE1pTENKMGFHbHpJaXdpY21WaFpHRmliR1ZFWlhOMGNtOTVaV1FpTENKZmNtVmhaR0ZpYkdWVGRHRjBaU0lzSW1SbGMzUnliM2xsWkNJc0luZHlhWFJoWW14bFJHVnpkSEp2ZVdWa0lpd2lYM2R5YVhSaFlteGxVM1JoZEdVaUxDSmxjbkp2Y2tWdGFYUjBaV1FpTENKd2NtOWpaWE56SWl3aWJtVjRkRlJwWTJzaUxDSmxiV2wwUlhKeWIzSk9WQ0lzSWw5a1pYTjBjbTk1SWl3aVpXMXBkRU5zYjNObFRsUWlMQ0psYldsMFJYSnliM0pCYm1SRGJHOXpaVTVVSWl3aWMyVnNaaUlzSW1WdGFYUkRiRzl6WlNJc0ltVnRhWFFpTENKMWJtUmxjM1J5YjNraUxDSnlaV0ZrYVc1bklpd2laVzVrWldRaUxDSmxibVJGYldsMGRHVmtJaXdpWlc1a2FXNW5JaXdpWm1sdVlXeERZV3hzWldRaUxDSndjbVZtYVc1cGMyaGxaQ0lzSW1acGJtbHphR1ZrSWl3aVpYSnliM0pQY2tSbGMzUnliM2tpTENKemRISmxZVzBpTENKeVUzUmhkR1VpTENKM1UzUmhkR1VpTENKaGRYUnZSR1Z6ZEhKdmVTSXNJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMR0ZCUlVFc1UwRkJVMEVzVVVGQlVVTXNSVUZCUzBNc1IwRkRjRUlzU1VGQlNVTXNSVUZCVVVNc1MwRkZVa01zUlVGQmIwSkVMRXRCUVV0RkxHZENRVUZyUWtZc1MwRkJTMFVzWlVGQlpVTXNWVUZETDBSRExFVkJRVzlDU2l4TFFVRkxTeXhuUWtGQmEwSk1MRXRCUVV0TExHVkJRV1ZHTEZWQlJXNUZMRTlCUVVsR0xFZEJRWEZDUnl4SFFVTnVRazRzUlVGRFJrRXNSVUZCUjBRc1IwRkRUVUVzU1VGRFNrY3NTMEZCUzBzc1pVRkZSVXdzUzBGQlMwc3NaVUZCWlVNc1pVRkRPVUpPTEV0QlFVdExMR1ZCUVdWRExHTkJRV1VzUlVGRGJrTkRMRkZCUVZGRExGTkJRVk5ETEZsQlFXRlVMRXRCUVUxSUxFbEJTSEJEVlN4UlFVRlJReXhUUVVGVFF5eFpRVUZoVkN4TFFVRk5TQ3hKUVU5cVEwY3NUMEZMVEVFc1MwRkJTMFVzYVVKQlExQkdMRXRCUVV0RkxHVkJRV1ZETEZkQlFWa3NSMEZKT1VKSUxFdEJRVXRMTEdsQ1FVTlFUQ3hMUVVGTFN5eGxRVUZsUml4WFFVRlpMRWRCUjJ4RFNDeExRVUZMVlN4VFFVRlRZaXhIUVVGUExFdEJRVTBzVTBGQlZVRXNTVUZET1VKRExFZEJRVTFFTEVWQlEwcEZMRVZCUVUxTkxHVkJSVU5PTEVWQlFVMU5MR1ZCUVdWRExHRkJTUzlDUXl4UlFVRlJReXhUUVVGVFJ5eFpRVUZoV2l4SlFVZzVRa0VzUlVGQlRVMHNaVUZCWlVNc1kwRkJaU3hGUVVOd1EwTXNVVUZCVVVNc1UwRkJVMGtzYjBKQlFYRkNZaXhGUVVGUFJpeEpRVWczUTFVc1VVRkJVVU1zVTBGQlUwa3NiMEpCUVhGQ1lpeEZRVUZQUml4SFFVOTBRME1zUjBGRFZGTXNVVUZCVVVNc1UwRkJVMGNzV1VGQllWb3NSMEZET1VKRUxFVkJRVWRFTEVsQlJVaFZMRkZCUVZGRExGTkJRVk5ITEZsQlFXRmFMRXRCU1ROQ1F5eE5RVWRVTEZOQlFWTlpMRzlDUVVGdlFrTXNSVUZCVFdoQ0xFZEJRMnBEV1N4WlFVRlpTU3hGUVVGTmFFSXNSMEZEYkVKakxGbEJRVmxGTEVkQlIyUXNVMEZCVTBZc1dVRkJXVVVzUjBGRFprRXNSVUZCUzFJc2FVSkJRVzFDVVN4RlFVRkxVaXhsUVVGbFV5eFhRVU0xUTBRc1JVRkJTMWdzYVVKQlFXMUNWeXhGUVVGTFdDeGxRVUZsV1N4WFFVTm9SRVFzUlVGQlMwVXNTMEZCU3l4VFFVZGFMRk5CUVZORExGbEJRMGhvUWl4TFFVRkxSU3hwUWtGRFVFWXNTMEZCUzBVc1pVRkJaVU1zVjBGQldTeEZRVU5vUTBnc1MwRkJTMFVzWlVGQlpXVXNVMEZCVlN4RlFVTTVRbXBDTEV0QlFVdEZMR1ZCUVdWblFpeFBRVUZSTEVWQlF6VkNiRUlzUzBGQlMwVXNaVUZCWldsQ0xGbEJRV0VzUjBGSEwwSnVRaXhMUVVGTFN5eHBRa0ZEVUV3c1MwRkJTMHNzWlVGQlpVWXNWMEZCV1N4RlFVTm9RMGdzUzBGQlMwc3NaVUZCWldFc1QwRkJVU3hGUVVNMVFteENMRXRCUVV0TExHVkJRV1ZsTEZGQlFWTXNSVUZETjBKd1FpeExRVUZMU3l4bFFVRmxaMElzWVVGQll5eEZRVU5zUTNKQ0xFdEJRVXRMTEdWQlFXVnBRaXhoUVVGakxFVkJRMnhEZEVJc1MwRkJTMHNzWlVGQlpXdENMRlZCUVZjc1JVRkRMMEoyUWl4TFFVRkxTeXhsUVVGbFF5eGpRVUZsTEVkQlNYWkRMRk5CUVZOSExGbEJRVmxKTEVWQlFVMW9RaXhIUVVONlFtZENMRVZCUVV0RkxFdEJRVXNzVVVGQlUyeENMRWRCUjNKQ0xGTkJRVk15UWl4bFFVRmxReXhGUVVGUk5VSXNSMEZOT1VJc1NVRkJTVFpDTEVWQlFWTkVMRVZCUVU5MlFpeGxRVU5vUW5sQ0xFVkJRVk5HTEVWQlFVOXdRaXhsUVVOb1FuRkNMRWRCUVZWQkxFVkJRVTlGTEdGQlFXVkVMRWRCUVZWQkxFVkJRVTlETEZsQlFXRklMRVZCUVU4M1FpeFJRVUZSUXl4SFFVRlZORUlzUlVGQlQxWXNTMEZCU3l4UlFVRlRiRUlzUjBGSGJFaG5ReXhQUVVGUFF5eFJRVUZWTEVOQlEyWnNReXhSUVVGVFFTeFJRVU5VYjBJc1ZVRkJWMEVzVlVGRFdGRXNaVUZCWjBKQklpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMM04wWVdkcGJtY3ZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12YzNSeVpXRnRMV0p5YjNkelpYSnBabmt2Ym05a1pWOXRiMlIxYkdWekwzSmxZV1JoWW14bExYTjBjbVZoYlM5c2FXSXZhVzUwWlhKdVlXd3ZjM1J5WldGdGN5OWtaWE4wY205NUxtcHpJbjA9IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIEVSUl9TVFJFQU1fUFJFTUFUVVJFX0NMT1NFPXJlcXVpcmUoXCIuLi8uLi8uLi9lcnJvcnNcIikuY29kZXMuRVJSX1NUUkVBTV9QUkVNQVRVUkVfQ0xPU0U7ZnVuY3Rpb24gb25jZShlKXt2YXIgcj0hMTtyZXR1cm4gZnVuY3Rpb24oKXtpZighcil7cj0hMDtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxuPW5ldyBBcnJheSh0KSxvPTA7bzx0O28rKyluW29dPWFyZ3VtZW50c1tvXTtlLmFwcGx5KHRoaXMsbil9fX1mdW5jdGlvbiBub29wKCl7fWZ1bmN0aW9uIGlzUmVxdWVzdChlKXtyZXR1cm4gZS5zZXRIZWFkZXImJlwiZnVuY3Rpb25cIj09dHlwZW9mIGUuYWJvcnR9ZnVuY3Rpb24gZW9zKGUscix0KXtpZihcImZ1bmN0aW9uXCI9PXR5cGVvZiByKXJldHVybiBlb3MoZSxudWxsLHIpO3J8fChyPXt9KSx0PW9uY2UodHx8bm9vcCk7dmFyIG49ci5yZWFkYWJsZXx8ITEhPT1yLnJlYWRhYmxlJiZlLnJlYWRhYmxlLG89ci53cml0YWJsZXx8ITEhPT1yLndyaXRhYmxlJiZlLndyaXRhYmxlLGk9ZnVuY3Rpb24oKXtlLndyaXRhYmxlfHxsKCl9LGE9ZS5fd3JpdGFibGVTdGF0ZSYmZS5fd3JpdGFibGVTdGF0ZS5maW5pc2hlZCxsPWZ1bmN0aW9uKCl7bz0hMSxhPSEwLG58fHQuY2FsbChlKX0scz1lLl9yZWFkYWJsZVN0YXRlJiZlLl9yZWFkYWJsZVN0YXRlLmVuZEVtaXR0ZWQsYz1mdW5jdGlvbigpe249ITEscz0hMCxvfHx0LmNhbGwoZSl9LHU9ZnVuY3Rpb24ocil7dC5jYWxsKGUscil9LGY9ZnVuY3Rpb24oKXt2YXIgcjtyZXR1cm4gbiYmIXM/KGUuX3JlYWRhYmxlU3RhdGUmJmUuX3JlYWRhYmxlU3RhdGUuZW5kZWR8fChyPW5ldyBFUlJfU1RSRUFNX1BSRU1BVFVSRV9DTE9TRSksdC5jYWxsKGUscikpOm8mJiFhPyhlLl93cml0YWJsZVN0YXRlJiZlLl93cml0YWJsZVN0YXRlLmVuZGVkfHwocj1uZXcgRVJSX1NUUkVBTV9QUkVNQVRVUkVfQ0xPU0UpLHQuY2FsbChlLHIpKTp2b2lkIDB9LGQ9ZnVuY3Rpb24oKXtlLnJlcS5vbihcImZpbmlzaFwiLGwpfTtyZXR1cm4gaXNSZXF1ZXN0KGUpPyhlLm9uKFwiY29tcGxldGVcIixsKSxlLm9uKFwiYWJvcnRcIixmKSxlLnJlcT9kKCk6ZS5vbihcInJlcXVlc3RcIixkKSk6byYmIWUuX3dyaXRhYmxlU3RhdGUmJihlLm9uKFwiZW5kXCIsaSksZS5vbihcImNsb3NlXCIsaSkpLGUub24oXCJlbmRcIixjKSxlLm9uKFwiZmluaXNoXCIsbCksITEhPT1yLmVycm9yJiZlLm9uKFwiZXJyb3JcIix1KSxlLm9uKFwiY2xvc2VcIixmKSxmdW5jdGlvbigpe2UucmVtb3ZlTGlzdGVuZXIoXCJjb21wbGV0ZVwiLGwpLGUucmVtb3ZlTGlzdGVuZXIoXCJhYm9ydFwiLGYpLGUucmVtb3ZlTGlzdGVuZXIoXCJyZXF1ZXN0XCIsZCksZS5yZXEmJmUucmVxLnJlbW92ZUxpc3RlbmVyKFwiZmluaXNoXCIsbCksZS5yZW1vdmVMaXN0ZW5lcihcImVuZFwiLGkpLGUucmVtb3ZlTGlzdGVuZXIoXCJjbG9zZVwiLGkpLGUucmVtb3ZlTGlzdGVuZXIoXCJmaW5pc2hcIixsKSxlLnJlbW92ZUxpc3RlbmVyKFwiZW5kXCIsYyksZS5yZW1vdmVMaXN0ZW5lcihcImVycm9yXCIsdSksZS5yZW1vdmVMaXN0ZW5lcihcImNsb3NlXCIsZil9fW1vZHVsZS5leHBvcnRzPWVvcztcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltVnVaQzF2WmkxemRISmxZVzB1YW5NaVhTd2libUZ0WlhNaU9sc2lSVkpTWDFOVVVrVkJUVjlRVWtWTlFWUlZVa1ZmUTB4UFUwVWlMQ0p5WlhGMWFYSmxJaXdpWTI5a1pYTWlMQ0p2Ym1ObElpd2lZMkZzYkdKaFkyc2lMQ0pqWVd4c1pXUWlMQ0pmYkdWdUlpd2lZWEpuZFcxbGJuUnpJaXdpYkdWdVozUm9JaXdpWVhKbmN5SXNJa0Z5Y21GNUlpd2lYMnRsZVNJc0ltRndjR3g1SWl3aWRHaHBjeUlzSW01dmIzQWlMQ0pwYzFKbGNYVmxjM1FpTENKemRISmxZVzBpTENKelpYUklaV0ZrWlhJaUxDSmhZbTl5ZENJc0ltVnZjeUlzSW05d2RITWlMQ0p5WldGa1lXSnNaU0lzSW5keWFYUmhZbXhsSWl3aWIyNXNaV2RoWTNsbWFXNXBjMmdpTENKdmJtWnBibWx6YUNJc0luZHlhWFJoWW14bFJXNWtaV1FpTENKZmQzSnBkR0ZpYkdWVGRHRjBaU0lzSW1acGJtbHphR1ZrSWl3aVkyRnNiQ0lzSW5KbFlXUmhZbXhsUlc1a1pXUWlMQ0pmY21WaFpHRmliR1ZUZEdGMFpTSXNJbVZ1WkVWdGFYUjBaV1FpTENKdmJtVnVaQ0lzSW05dVpYSnliM0lpTENKbGNuSWlMQ0p2Ym1Oc2IzTmxJaXdpWlc1a1pXUWlMQ0p2Ym5KbGNYVmxjM1FpTENKeVpYRWlMQ0p2YmlJc0ltVnljbTl5SWl3aWNtVnRiM1psVEdsemRHVnVaWElpTENKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWwwc0ltMWhjSEJwYm1keklqb2lRVUZGUVN4aFFVVkJMRWxCUVVsQkxESkNRVUUyUWtNc1VVRkJVU3h0UWtGQmJVSkRMRTFCUVUxR0xESkNRVVZzUlN4VFFVRlRSeXhMUVVGTFF5eEhRVU5hTEVsQlFVbERMRWRCUVZNc1JVRkRZaXhQUVVGUExGZEJRMHdzU1VGQlNVRXNSVUZCU2l4RFFVTkJRU3hIUVVGVExFVkJSVlFzU1VGQlN5eEpRVUZKUXl4RlFVRlBReXhWUVVGVlF5eFBRVUZSUXl4RlFVRlBMRWxCUVVsRExFMUJRVTFLTEVkQlFVOUxMRVZCUVU4c1JVRkJSMEVzUlVGQlQwd3NSVUZCVFVzc1NVRkRMMFZHTEVWQlFVdEZMRWRCUVZGS0xGVkJRVlZKTEVkQlIzcENVQ3hGUVVGVFVTeE5RVUZOUXl4TFFVRk5TaXhMUVVsNlFpeFRRVUZUU3l4UlFVVlVMRk5CUVZORExGVkJRVlZETEVkQlEycENMRTlCUVU5QkxFVkJRVTlETEZkQlFYRkRMRzFDUVVGcVFrUXNSVUZCVDBVc1RVRkhNME1zVTBGQlUwTXNTVUZCU1Vnc1JVRkJVVWtzUlVGQlRXaENMRWRCUTNwQ0xFZEJRVzlDTEcxQ1FVRlVaMElzUlVGQmNVSXNUMEZCVDBRc1NVRkJTVWdzUlVGQlVTeExRVUZOU1N4SFFVTndSRUVzU1VGQlRVRXNSVUZCVHl4SlFVTnNRbWhDTEVWQlFWZEVMRXRCUVV0RExFZEJRVmxWTEUxQlF6VkNMRWxCUVVsUExFVkJRVmRFTEVWQlFVdERMRmRCUVRoQ0xFbEJRV3hDUkN4RlFVRkxReXhWUVVGelFrd3NSVUZCVDBzc1UwRkRPVVJETEVWQlFWZEdMRVZCUVV0RkxGZEJRVGhDTEVsQlFXeENSaXhGUVVGTFJTeFZRVUZ6UWs0c1JVRkJUMDBzVTBGRk9VUkRMRVZCUVdsQ0xGZEJRMlJRTEVWQlFVOU5MRlZCUVZWRkxFdEJSM0JDUXl4RlFVRm5RbFFzUlVGQlQxVXNaMEpCUVd0Q1ZpeEZRVUZQVlN4bFFVRmxReXhUUVVVdlJFZ3NSVUZCVnl4WFFVTmlSaXhIUVVGWExFVkJRMWhITEVkQlFXZENMRVZCUTFoS0xFZEJRVlZxUWl4RlFVRlRkMElzUzBGQlMxb3NTVUZITTBKaExFVkJRV2RDWWl4RlFVRlBZeXhuUWtGQmEwSmtMRVZCUVU5akxHVkJRV1ZETEZkQlJTOUVReXhGUVVGUkxGZEJRMVpZTEVkQlFWY3NSVUZEV0ZFc1IwRkJaMElzUlVGRFdGQXNSMEZCVld4Q0xFVkJRVk4zUWl4TFFVRkxXaXhKUVVjelFtbENMRVZCUVZVc1UwRkJhVUpETEVkQlF6ZENPVUlzUlVGQlUzZENMRXRCUVV0YUxFVkJRVkZyUWl4SlFVZHdRa01zUlVGQlZTeFhRVU5hTEVsQlFVbEVMRVZCUlVvc1QwRkJTV0lzU1VGQllWRXNSMEZEVm1Jc1JVRkJUMk1zWjBKQlFXMUNaQ3hGUVVGUFl5eGxRVUZsVFN4UlFVRlBSaXhGUVVGTkxFbEJRVWxzUXl3MFFrRkRMMFJKTEVWQlFWTjNRaXhMUVVGTFdpeEZRVUZSYTBJc1NVRkhNMEphTEVsQlFXRkhMRWRCUTFaVUxFVkJRVTlWTEdkQ1FVRnRRbFlzUlVGQlQxVXNaVUZCWlZVc1VVRkJUMFlzUlVGQlRTeEpRVUZKYkVNc05FSkJReTlFU1N4RlFVRlRkMElzUzBGQlMxb3NSVUZCVVd0Q0xGTkJSaTlDTEVkQlRVVkhMRVZCUVZrc1YwRkRaSEpDTEVWQlFVOXpRaXhKUVVGSlF5eEhRVUZITEZOQlFWVm1MRWxCYVVJeFFpeFBRV1JKVkN4VlFVRlZReXhKUVVOYVFTeEZRVUZQZFVJc1IwRkJSeXhYUVVGWlppeEhRVU4wUWxJc1JVRkJUM1ZDTEVkQlFVY3NVVUZCVTBvc1IwRkRabTVDTEVWQlFVOXpRaXhKUVVGTFJDeEpRVUZwUW5KQ0xFVkJRVTkxUWl4SFFVRkhMRlZCUVZkR0xFbEJRemREWml4SlFVRmhUaXhGUVVGUFZTeHBRa0ZGTjBKV0xFVkJRVTkxUWl4SFFVRkhMRTFCUVU5b1FpeEhRVU5xUWxBc1JVRkJUM1ZDTEVkQlFVY3NVVUZCVTJoQ0xFbEJSM0pDVUN4RlFVRlBkVUlzUjBGQlJ5eE5RVUZQVUN4SFFVTnFRbWhDTEVWQlFVOTFRaXhIUVVGSExGTkJRVlZtTEVsQlEwUXNTVUZCWmtvc1JVRkJTMjlDTEU5QlFXbENlRUlzUlVGQlQzVkNMRWRCUVVjc1VVRkJVMDRzUjBGRE4wTnFRaXhGUVVGUGRVSXNSMEZCUnl4UlFVRlRTaXhIUVVOYUxGZEJRMHh1UWl4RlFVRlBlVUlzWlVGQlpTeFhRVUZaYWtJc1IwRkRiRU5TTEVWQlFVOTVRaXhsUVVGbExGRkJRVk5PTEVkQlF5OUNia0lzUlVGQlQzbENMR1ZCUVdVc1ZVRkJWMG9zUjBGRE4wSnlRaXhGUVVGUGMwSXNTMEZCUzNSQ0xFVkJRVTl6UWl4SlFVRkpSeXhsUVVGbExGTkJRVlZxUWl4SFFVTndSRklzUlVGQlQzbENMR1ZCUVdVc1RVRkJUMnhDTEVkQlF6ZENVQ3hGUVVGUGVVSXNaVUZCWlN4UlFVRlRiRUlzUjBGREwwSlFMRVZCUVU5NVFpeGxRVUZsTEZOQlFWVnFRaXhIUVVOb1ExSXNSVUZCVDNsQ0xHVkJRV1VzVFVGQlQxUXNSMEZETjBKb1FpeEZRVUZQZVVJc1pVRkJaU3hSUVVGVFVpeEhRVU12UW1wQ0xFVkJRVTk1UWl4bFFVRmxMRkZCUVZOT0xFbEJTVzVEVHl4UFFVRlBReXhSUVVGVmVFSWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YzNSaFoybHVaeTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5emRISmxZVzB0WW5KdmQzTmxjbWxtZVM5dWIyUmxYMjF2WkhWc1pYTXZjbVZoWkdGaWJHVXRjM1J5WldGdEwyeHBZaTlwYm5SbGNtNWhiQzl6ZEhKbFlXMXpMMlZ1WkMxdlppMXpkSEpsWVcwdWFuTWlmUT09IiwibW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoXCJSZWFkYWJsZS5mcm9tIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhlIGJyb3dzZXJcIil9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1aeWIyMHRZbkp2ZDNObGNpNXFjeUpkTENKdVlXMWxjeUk2V3lKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aVJYSnliM0lpWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCUVN4UFFVRlBReXhSUVVGVkxGZEJRMllzVFVGQlRTeEpRVUZKUXl4TlFVRk5JaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDNOMFlXZHBibWN2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdmMzUnlaV0Z0TFdKeWIzZHpaWEpwWm5rdmJtOWtaVjl0YjJSMWJHVnpMM0psWVdSaFlteGxMWE4wY21WaGJTOXNhV0l2YVc1MFpYSnVZV3d2YzNSeVpXRnRjeTltY205dExXSnliM2R6WlhJdWFuTWlmUT09IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIGVvcztmdW5jdGlvbiBvbmNlKGUpe3ZhciByPSExO3JldHVybiBmdW5jdGlvbigpe3J8fChyPSEwLGUuYXBwbHkodm9pZCAwLGFyZ3VtZW50cykpfX12YXIgX3JlcXVpcmUkY29kZXM9cmVxdWlyZShcIi4uLy4uLy4uL2Vycm9yc1wiKS5jb2RlcyxFUlJfTUlTU0lOR19BUkdTPV9yZXF1aXJlJGNvZGVzLkVSUl9NSVNTSU5HX0FSR1MsRVJSX1NUUkVBTV9ERVNUUk9ZRUQ9X3JlcXVpcmUkY29kZXMuRVJSX1NUUkVBTV9ERVNUUk9ZRUQ7ZnVuY3Rpb24gbm9vcChlKXtpZihlKXRocm93IGV9ZnVuY3Rpb24gaXNSZXF1ZXN0KGUpe3JldHVybiBlLnNldEhlYWRlciYmXCJmdW5jdGlvblwiPT10eXBlb2YgZS5hYm9ydH1mdW5jdGlvbiBkZXN0cm95ZXIoZSxyLG4sbyl7bz1vbmNlKG8pO3ZhciB0PSExO2Uub24oXCJjbG9zZVwiLGZ1bmN0aW9uKCl7dD0hMH0pLHZvaWQgMD09PWVvcyYmKGVvcz1yZXF1aXJlKFwiLi9lbmQtb2Ytc3RyZWFtXCIpKSxlb3MoZSx7cmVhZGFibGU6cix3cml0YWJsZTpufSxmdW5jdGlvbihlKXtpZihlKXJldHVybiBvKGUpO3Q9ITAsbygpfSk7dmFyIGk9ITE7cmV0dXJuIGZ1bmN0aW9uKHIpe2lmKCF0JiYhaSlyZXR1cm4gaT0hMCxpc1JlcXVlc3QoZSk/ZS5hYm9ydCgpOlwiZnVuY3Rpb25cIj09dHlwZW9mIGUuZGVzdHJveT9lLmRlc3Ryb3koKTp2b2lkIG8ocnx8bmV3IEVSUl9TVFJFQU1fREVTVFJPWUVEKFwicGlwZVwiKSl9fWZ1bmN0aW9uIGNhbGwoZSl7ZSgpfWZ1bmN0aW9uIHBpcGUoZSxyKXtyZXR1cm4gZS5waXBlKHIpfWZ1bmN0aW9uIHBvcENhbGxiYWNrKGUpe3JldHVybiBlLmxlbmd0aD9cImZ1bmN0aW9uXCIhPXR5cGVvZiBlW2UubGVuZ3RoLTFdP25vb3A6ZS5wb3AoKTpub29wfWZ1bmN0aW9uIHBpcGVsaW5lKCl7Zm9yKHZhciBlPWFyZ3VtZW50cy5sZW5ndGgscj1uZXcgQXJyYXkoZSksbj0wO248ZTtuKyspcltuXT1hcmd1bWVudHNbbl07dmFyIG8sdD1wb3BDYWxsYmFjayhyKTtpZihBcnJheS5pc0FycmF5KHJbMF0pJiYocj1yWzBdKSxyLmxlbmd0aDwyKXRocm93IG5ldyBFUlJfTUlTU0lOR19BUkdTKFwic3RyZWFtc1wiKTt2YXIgaT1yLm1hcChmdW5jdGlvbihlLG4pe3ZhciB1PW48ci5sZW5ndGgtMTtyZXR1cm4gZGVzdHJveWVyKGUsdSxuPjAsZnVuY3Rpb24oZSl7b3x8KG89ZSksZSYmaS5mb3JFYWNoKGNhbGwpLHV8fChpLmZvckVhY2goY2FsbCksdChvKSl9KX0pO3JldHVybiByLnJlZHVjZShwaXBlKX1tb2R1bGUuZXhwb3J0cz1waXBlbGluZTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluQnBjR1ZzYVc1bExtcHpJbDBzSW01aGJXVnpJanBiSW1WdmN5SXNJbTl1WTJVaUxDSmpZV3hzWW1GamF5SXNJbU5oYkd4bFpDSXNJbUZ3Y0d4NUlpd2lZWEpuZFcxbGJuUnpJaXdpWDNKbGNYVnBjbVVrWTI5a1pYTWlMQ0p5WlhGMWFYSmxJaXdpWTI5a1pYTWlMQ0pGVWxKZlRVbFRVMGxPUjE5QlVrZFRJaXdpUlZKU1gxTlVVa1ZCVFY5RVJWTlVVazlaUlVRaUxDSnViMjl3SWl3aVpYSnlJaXdpYVhOU1pYRjFaWE4wSWl3aWMzUnlaV0Z0SWl3aWMyVjBTR1ZoWkdWeUlpd2lZV0p2Y25RaUxDSmtaWE4wY205NVpYSWlMQ0p5WldGa2FXNW5JaXdpZDNKcGRHbHVaeUlzSW1Oc2IzTmxaQ0lzSW05dUlpd2lkVzVrWldacGJtVmtJaXdpY21WaFpHRmliR1VpTENKM2NtbDBZV0pzWlNJc0ltUmxjM1J5YjNsbFpDSXNJbVJsYzNSeWIza2lMQ0pqWVd4c0lpd2labTRpTENKd2FYQmxJaXdpWm5KdmJTSXNJblJ2SWl3aWNHOXdRMkZzYkdKaFkyc2lMQ0p6ZEhKbFlXMXpJaXdpYkdWdVozUm9JaXdpY0c5d0lpd2ljR2x3Wld4cGJtVWlMQ0pmYkdWdUlpd2lRWEp5WVhraUxDSmZhMlY1SWl3aVpYSnliM0lpTENKcGMwRnljbUY1SWl3aVpHVnpkSEp2ZVhNaUxDSnRZWEFpTENKcElpd2labTl5UldGamFDSXNJbkpsWkhWalpTSXNJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlYU3dpYldGd2NHbHVaM01pT2lKQlFVVkJMR0ZCUlVFc1NVRkJTVUVzU1VGRlNpeFRRVUZUUXl4TFFVRkxReXhIUVVOYUxFbEJRVWxETEVkQlFWTXNSVUZEWWl4UFFVRlBMRmRCUTBSQkxFbEJRMHBCTEVkQlFWTXNSVUZEVkVRc1JVRkJVMFVzVjBGQlRTeEZRVUZSUXl4aFFVa3pRaXhKUVVGSlF5eGxRVUZwUWtNc1VVRkJVU3h0UWtGQmJVSkRMRTFCUXpWRFF5eHBRa0ZCYlVKSUxHVkJRV1ZITEdsQ1FVTnNRME1zY1VKQlFYVkNTaXhsUVVGbFNTeHhRa0ZGTVVNc1UwRkJVME1zUzBGQlMwTXNSMEZGV2l4SFFVRkpRU3hGUVVGTExFMUJRVTFCTEVWQlIycENMRk5CUVZORExGVkJRVlZETEVkQlEycENMRTlCUVU5QkxFVkJRVTlETEZkQlFYRkRMRzFDUVVGcVFrUXNSVUZCVDBVc1RVRkhNME1zVTBGQlUwTXNWVUZCVlVnc1JVRkJVVWtzUlVGQlUwTXNSVUZCVTJwQ0xFZEJRek5EUVN4RlFVRlhSQ3hMUVVGTFF5eEhRVU5vUWl4SlFVRkphMElzUjBGQlV5eEZRVU5pVGl4RlFVRlBUeXhIUVVGSExGRkJRVk1zVjBGRGFrSkVMRWRCUVZNc1UwRkZRMFVzU1VGQlVuUkNMRTFCUVcxQ1FTeEpRVUZOVHl4UlFVRlJMRzlDUVVOeVExQXNTVUZCU1dNc1JVRkJVU3hEUVVOV1V5eFRRVUZWVEN4RlFVTldUU3hUUVVGVlRDeEhRVU5VTEZOQlFWVlFMRWRCUTFnc1IwRkJTVUVzUlVGQlN5eFBRVUZQVml4RlFVRlRWU3hIUVVONlFsRXNSMEZCVXl4RlFVTlViRUlzVFVGRlJpeEpRVUZKZFVJc1IwRkJXU3hGUVVOb1FpeFBRVUZQTEZOQlFWVmlMRWRCUTJZc1NVRkJTVkVzU1VGRFFVc3NSVUZIU2l4UFFVWkJRU3hIUVVGWkxFVkJSVkphTEZWQlFWVkRMRWRCUVdkQ1FTeEZRVUZQUlN4UlFVTlFMRzFDUVVGdVFrWXNSVUZCVDFrc1VVRkJLMEphTEVWQlFVOVpMR1ZCUTNoRWVFSXNSVUZCVTFVc1IwRkJUeXhKUVVGSlJpeHhRa0ZCY1VJc1ZVRkpOME1zVTBGQlUybENMRXRCUVV0RExFZEJRMXBCTEVsQlIwWXNVMEZCVTBNc1MwRkJTME1zUlVGQlRVTXNSMEZEYkVJc1QwRkJUMFFzUlVGQlMwUXNTMEZCUzBVc1IwRkhia0lzVTBGQlUwTXNXVUZCV1VNc1IwRkRia0lzVDBGQlMwRXNSVUZCVVVNc1QwRkRPRUlzYlVKQlFXaERSQ3hGUVVGUlFTeEZRVUZSUXl4UFFVRlRMRWRCUVRCQ2RrSXNTMEZEZGtSelFpeEZRVUZSUlN4TlFVWmhlRUlzUzBGTE9VSXNVMEZCVTNsQ0xGZEJRMUFzU1VGQlN5eEpRVUZKUXl4RlFVRlBhRU1zVlVGQlZUWkNMRTlCUVZGRUxFVkJRVlVzU1VGQlNVc3NUVUZCVFVRc1IwRkJUMFVzUlVGQlR5eEZRVUZIUVN4RlFVRlBSaXhGUVVGTlJTeEpRVU5zUms0c1JVRkJVVTBzUjBGQlVXeERMRlZCUVZWclF5eEhRVWMxUWl4SlFVOUpReXhGUVZCQmRFTXNSVUZCVnpoQ0xGbEJRVmxETEVkQlJ6TkNMRWRCUmtsTExFMUJRVTFITEZGQlFWRlNMRVZCUVZFc1RVRkJTMEVzUlVGQlZVRXNSVUZCVVN4SlFVVTNRMEVzUlVGQlVVTXNUMEZCVXl4RlFVTnVRaXhOUVVGTkxFbEJRVWw2UWl4cFFrRkJhVUlzVjBGSk4wSXNTVUZCU1dsRExFVkJRVmRVTEVWQlFWRlZMRWxCUVVrc1UwRkJWVGRDTEVWQlFWRTRRaXhIUVVNelF5eEpRVUZKTVVJc1JVRkJWVEJDTEVWQlFVbFlMRVZCUVZGRExFOUJRVk1zUlVGRmJrTXNUMEZCVDJwQ0xGVkJRVlZJTEVWQlFWRkpMRVZCUkZnd1FpeEZRVUZKTEVWQlEzbENMRk5CUVZWb1F5eEhRVU01UXpSQ0xFbEJRVTlCTEVWQlFWRTFRaXhIUVVOb1FrRXNSMEZCU3poQ0xFVkJRVk5ITEZGQlFWRnNRaXhOUVVOMFFsUXNTVUZEU25kQ0xFVkJRVk5ITEZGQlFWRnNRaXhOUVVOcVFucENMRVZCUVZOelF5eFJRVWRpTEU5QlFVOVFMRVZCUVZGaExFOUJRVTlxUWl4TlFVZDRRbXRDTEU5QlFVOURMRkZCUVZWYUlpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMM04wWVdkcGJtY3ZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12YzNSeVpXRnRMV0p5YjNkelpYSnBabmt2Ym05a1pWOXRiMlIxYkdWekwzSmxZV1JoWW14bExYTjBjbVZoYlM5c2FXSXZhVzUwWlhKdVlXd3ZjM1J5WldGdGN5OXdhWEJsYkdsdVpTNXFjeUo5IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIEVSUl9JTlZBTElEX09QVF9WQUxVRT1yZXF1aXJlKFwiLi4vLi4vLi4vZXJyb3JzXCIpLmNvZGVzLkVSUl9JTlZBTElEX09QVF9WQUxVRTtmdW5jdGlvbiBoaWdoV2F0ZXJNYXJrRnJvbShyLGUsdCl7cmV0dXJuIG51bGwhPXIuaGlnaFdhdGVyTWFyaz9yLmhpZ2hXYXRlck1hcms6ZT9yW3RdOm51bGx9ZnVuY3Rpb24gZ2V0SGlnaFdhdGVyTWFyayhyLGUsdCxhKXt2YXIgaT1oaWdoV2F0ZXJNYXJrRnJvbShlLGEsdCk7aWYobnVsbCE9aSl7aWYoIWlzRmluaXRlKGkpfHxNYXRoLmZsb29yKGkpIT09aXx8aTwwKXRocm93IG5ldyBFUlJfSU5WQUxJRF9PUFRfVkFMVUUoYT90OlwiaGlnaFdhdGVyTWFya1wiLGkpO3JldHVybiBNYXRoLmZsb29yKGkpfXJldHVybiByLm9iamVjdE1vZGU/MTY6MTYzODR9bW9kdWxlLmV4cG9ydHM9e2dldEhpZ2hXYXRlck1hcms6Z2V0SGlnaFdhdGVyTWFya307XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbk4wWVhSbExtcHpJbDBzSW01aGJXVnpJanBiSWtWU1VsOUpUbFpCVEVsRVgwOVFWRjlXUVV4VlJTSXNJbkpsY1hWcGNtVWlMQ0pqYjJSbGN5SXNJbWhwWjJoWFlYUmxjazFoY210R2NtOXRJaXdpYjNCMGFXOXVjeUlzSW1selJIVndiR1Y0SWl3aVpIVndiR1Y0UzJWNUlpd2lhR2xuYUZkaGRHVnlUV0Z5YXlJc0ltZGxkRWhwWjJoWFlYUmxjazFoY21zaUxDSnpkR0YwWlNJc0ltaDNiU0lzSW1selJtbHVhWFJsSWl3aVRXRjBhQ0lzSW1ac2IyOXlJaXdpYjJKcVpXTjBUVzlrWlNJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxHRkJSVUVzU1VGQlNVRXNjMEpCUVhkQ1F5eFJRVUZSTEcxQ1FVRnRRa01zVFVGQlRVWXNjMEpCUlRkRUxGTkJRVk5ITEd0Q1FVRnJRa01zUlVGQlUwTXNSVUZCVlVNc1IwRkROVU1zVDBGQlowTXNUVUZCZWtKR0xFVkJRVkZITEdOQlFYZENTQ3hGUVVGUlJ5eGpRVUZuUWtZc1JVRkJWMFFzUlVGQlVVVXNSMEZCWVN4TFFVZHFSeXhUUVVGVFJTeHBRa0ZCYVVKRExFVkJRVTlNTEVWQlFWTkZMRVZCUVZkRUxFZEJRMjVFTEVsQlFVbExMRVZCUVUxUUxHdENRVUZyUWtNc1JVRkJVME1zUlVGQlZVTXNSMEZGTDBNc1IwRkJWeXhOUVVGUVNTeEZRVUZoTEVOQlEyWXNTVUZCVFVNc1UwRkJVMFFzU1VGQlVVVXNTMEZCUzBNc1RVRkJUVWdzUzBGQlUwRXNSMEZCVVVFc1JVRkJUU3hGUVVWMlJDeE5RVUZOTEVsQlFVbFdMSE5DUVVSRFN5eEZRVUZYUXl4RlFVRlpMR2RDUVVOSlNTeEhRVWQ0UXl4UFFVRlBSU3hMUVVGTFF5eE5RVUZOU0N4SFFVbHdRaXhQUVVGUFJDeEZRVUZOU3l4WFFVRmhMRWRCUVVzc1RVRkhha05ETEU5QlFVOURMRkZCUVZVc1EwRkRabElzYVVKQlFXdENRU0lzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5emRHRm5hVzVuTDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwzTjBjbVZoYlMxaWNtOTNjMlZ5YVdaNUwyNXZaR1ZmYlc5a2RXeGxjeTl5WldGa1lXSnNaUzF6ZEhKbFlXMHZiR2xpTDJsdWRHVnlibUZzTDNOMGNtVmhiWE12YzNSaGRHVXVhbk1pZlE9PSIsIm1vZHVsZS5leHBvcnRzPXJlcXVpcmUoXCJldmVudHNcIikuRXZlbnRFbWl0dGVyO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5OMGNtVmhiUzFpY205M2MyVnlMbXB6SWwwc0ltNWhiV1Z6SWpwYkltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSnlaWEYxYVhKbElpd2lSWFpsYm5SRmJXbDBkR1Z5SWwwc0ltMWhjSEJwYm1keklqb2lRVUZCUVVFc1QwRkJUME1zVVVGQlZVTXNVVUZCVVN4VlFVRlZReUlzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5emRHRm5hVzVuTDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwzTjBjbVZoYlMxaWNtOTNjMlZ5YVdaNUwyNXZaR1ZmYlc5a2RXeGxjeTl5WldGa1lXSnNaUzF6ZEhKbFlXMHZiR2xpTDJsdWRHVnlibUZzTDNOMGNtVmhiWE12YzNSeVpXRnRMV0p5YjNkelpYSXVhbk1pZlE9PSIsIlwidXNlIHN0cmljdFwiO3ZhciBCdWZmZXI9cmVxdWlyZShcInNhZmUtYnVmZmVyXCIpLkJ1ZmZlcixpc0VuY29kaW5nPUJ1ZmZlci5pc0VuY29kaW5nfHxmdW5jdGlvbih0KXtzd2l0Y2goKHQ9XCJcIit0KSYmdC50b0xvd2VyQ2FzZSgpKXtjYXNlXCJoZXhcIjpjYXNlXCJ1dGY4XCI6Y2FzZVwidXRmLThcIjpjYXNlXCJhc2NpaVwiOmNhc2VcImJpbmFyeVwiOmNhc2VcImJhc2U2NFwiOmNhc2VcInVjczJcIjpjYXNlXCJ1Y3MtMlwiOmNhc2VcInV0ZjE2bGVcIjpjYXNlXCJ1dGYtMTZsZVwiOmNhc2VcInJhd1wiOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fTtmdW5jdGlvbiBfbm9ybWFsaXplRW5jb2RpbmcodCl7aWYoIXQpcmV0dXJuXCJ1dGY4XCI7Zm9yKHZhciBlOzspc3dpdGNoKHQpe2Nhc2VcInV0ZjhcIjpjYXNlXCJ1dGYtOFwiOnJldHVyblwidXRmOFwiO2Nhc2VcInVjczJcIjpjYXNlXCJ1Y3MtMlwiOmNhc2VcInV0ZjE2bGVcIjpjYXNlXCJ1dGYtMTZsZVwiOnJldHVyblwidXRmMTZsZVwiO2Nhc2VcImxhdGluMVwiOmNhc2VcImJpbmFyeVwiOnJldHVyblwibGF0aW4xXCI7Y2FzZVwiYmFzZTY0XCI6Y2FzZVwiYXNjaWlcIjpjYXNlXCJoZXhcIjpyZXR1cm4gdDtkZWZhdWx0OmlmKGUpcmV0dXJuO3Q9KFwiXCIrdCkudG9Mb3dlckNhc2UoKSxlPSEwfX1mdW5jdGlvbiBub3JtYWxpemVFbmNvZGluZyh0KXt2YXIgZT1fbm9ybWFsaXplRW5jb2RpbmcodCk7aWYoXCJzdHJpbmdcIiE9dHlwZW9mIGUmJihCdWZmZXIuaXNFbmNvZGluZz09PWlzRW5jb2Rpbmd8fCFpc0VuY29kaW5nKHQpKSl0aHJvdyBuZXcgRXJyb3IoXCJVbmtub3duIGVuY29kaW5nOiBcIit0KTtyZXR1cm4gZXx8dH1mdW5jdGlvbiBTdHJpbmdEZWNvZGVyKHQpe3ZhciBlO3N3aXRjaCh0aGlzLmVuY29kaW5nPW5vcm1hbGl6ZUVuY29kaW5nKHQpLHRoaXMuZW5jb2Rpbmcpe2Nhc2VcInV0ZjE2bGVcIjp0aGlzLnRleHQ9dXRmMTZUZXh0LHRoaXMuZW5kPXV0ZjE2RW5kLGU9NDticmVhaztjYXNlXCJ1dGY4XCI6dGhpcy5maWxsTGFzdD11dGY4RmlsbExhc3QsZT00O2JyZWFrO2Nhc2VcImJhc2U2NFwiOnRoaXMudGV4dD1iYXNlNjRUZXh0LHRoaXMuZW5kPWJhc2U2NEVuZCxlPTM7YnJlYWs7ZGVmYXVsdDpyZXR1cm4gdGhpcy53cml0ZT1zaW1wbGVXcml0ZSx2b2lkKHRoaXMuZW5kPXNpbXBsZUVuZCl9dGhpcy5sYXN0TmVlZD0wLHRoaXMubGFzdFRvdGFsPTAsdGhpcy5sYXN0Q2hhcj1CdWZmZXIuYWxsb2NVbnNhZmUoZSl9ZnVuY3Rpb24gdXRmOENoZWNrQnl0ZSh0KXtyZXR1cm4gdDw9MTI3PzA6dD4+NT09Nj8yOnQ+PjQ9PTE0PzM6dD4+Mz09MzA/NDp0Pj42PT0yPy0xOi0yfWZ1bmN0aW9uIHV0ZjhDaGVja0luY29tcGxldGUodCxlLHMpe3ZhciBpPWUubGVuZ3RoLTE7aWYoaTxzKXJldHVybiAwO3ZhciBuPXV0ZjhDaGVja0J5dGUoZVtpXSk7cmV0dXJuIG4+PTA/KG4+MCYmKHQubGFzdE5lZWQ9bi0xKSxuKTotLWk8c3x8LTI9PT1uPzA6KG49dXRmOENoZWNrQnl0ZShlW2ldKSk+PTA/KG4+MCYmKHQubGFzdE5lZWQ9bi0yKSxuKTotLWk8c3x8LTI9PT1uPzA6KG49dXRmOENoZWNrQnl0ZShlW2ldKSk+PTA/KG4+MCYmKDI9PT1uP249MDp0Lmxhc3ROZWVkPW4tMyksbik6MH1mdW5jdGlvbiB1dGY4Q2hlY2tFeHRyYUJ5dGVzKHQsZSxzKXtpZigxMjghPSgxOTImZVswXSkpcmV0dXJuIHQubGFzdE5lZWQ9MCxcIu+/vVwiO2lmKHQubGFzdE5lZWQ+MSYmZS5sZW5ndGg+MSl7aWYoMTI4IT0oMTkyJmVbMV0pKXJldHVybiB0Lmxhc3ROZWVkPTEsXCLvv71cIjtpZih0Lmxhc3ROZWVkPjImJmUubGVuZ3RoPjImJjEyOCE9KDE5MiZlWzJdKSlyZXR1cm4gdC5sYXN0TmVlZD0yLFwi77+9XCJ9fWZ1bmN0aW9uIHV0ZjhGaWxsTGFzdCh0KXt2YXIgZT10aGlzLmxhc3RUb3RhbC10aGlzLmxhc3ROZWVkLHM9dXRmOENoZWNrRXh0cmFCeXRlcyh0aGlzLHQsZSk7cmV0dXJuIHZvaWQgMCE9PXM/czp0aGlzLmxhc3ROZWVkPD10Lmxlbmd0aD8odC5jb3B5KHRoaXMubGFzdENoYXIsZSwwLHRoaXMubGFzdE5lZWQpLHRoaXMubGFzdENoYXIudG9TdHJpbmcodGhpcy5lbmNvZGluZywwLHRoaXMubGFzdFRvdGFsKSk6KHQuY29weSh0aGlzLmxhc3RDaGFyLGUsMCx0Lmxlbmd0aCksdm9pZCh0aGlzLmxhc3ROZWVkLT10Lmxlbmd0aCkpfWZ1bmN0aW9uIHV0ZjhUZXh0KHQsZSl7dmFyIHM9dXRmOENoZWNrSW5jb21wbGV0ZSh0aGlzLHQsZSk7aWYoIXRoaXMubGFzdE5lZWQpcmV0dXJuIHQudG9TdHJpbmcoXCJ1dGY4XCIsZSk7dGhpcy5sYXN0VG90YWw9czt2YXIgaT10Lmxlbmd0aC0ocy10aGlzLmxhc3ROZWVkKTtyZXR1cm4gdC5jb3B5KHRoaXMubGFzdENoYXIsMCxpKSx0LnRvU3RyaW5nKFwidXRmOFwiLGUsaSl9ZnVuY3Rpb24gdXRmOEVuZCh0KXt2YXIgZT10JiZ0Lmxlbmd0aD90aGlzLndyaXRlKHQpOlwiXCI7cmV0dXJuIHRoaXMubGFzdE5lZWQ/ZStcIu+/vVwiOmV9ZnVuY3Rpb24gdXRmMTZUZXh0KHQsZSl7aWYoKHQubGVuZ3RoLWUpJTI9PTApe3ZhciBzPXQudG9TdHJpbmcoXCJ1dGYxNmxlXCIsZSk7aWYocyl7dmFyIGk9cy5jaGFyQ29kZUF0KHMubGVuZ3RoLTEpO2lmKGk+PTU1Mjk2JiZpPD01NjMxOSlyZXR1cm4gdGhpcy5sYXN0TmVlZD0yLHRoaXMubGFzdFRvdGFsPTQsdGhpcy5sYXN0Q2hhclswXT10W3QubGVuZ3RoLTJdLHRoaXMubGFzdENoYXJbMV09dFt0Lmxlbmd0aC0xXSxzLnNsaWNlKDAsLTEpfXJldHVybiBzfXJldHVybiB0aGlzLmxhc3ROZWVkPTEsdGhpcy5sYXN0VG90YWw9Mix0aGlzLmxhc3RDaGFyWzBdPXRbdC5sZW5ndGgtMV0sdC50b1N0cmluZyhcInV0ZjE2bGVcIixlLHQubGVuZ3RoLTEpfWZ1bmN0aW9uIHV0ZjE2RW5kKHQpe3ZhciBlPXQmJnQubGVuZ3RoP3RoaXMud3JpdGUodCk6XCJcIjtpZih0aGlzLmxhc3ROZWVkKXt2YXIgcz10aGlzLmxhc3RUb3RhbC10aGlzLmxhc3ROZWVkO3JldHVybiBlK3RoaXMubGFzdENoYXIudG9TdHJpbmcoXCJ1dGYxNmxlXCIsMCxzKX1yZXR1cm4gZX1mdW5jdGlvbiBiYXNlNjRUZXh0KHQsZSl7dmFyIHM9KHQubGVuZ3RoLWUpJTM7cmV0dXJuIDA9PT1zP3QudG9TdHJpbmcoXCJiYXNlNjRcIixlKToodGhpcy5sYXN0TmVlZD0zLXMsdGhpcy5sYXN0VG90YWw9MywxPT09cz90aGlzLmxhc3RDaGFyWzBdPXRbdC5sZW5ndGgtMV06KHRoaXMubGFzdENoYXJbMF09dFt0Lmxlbmd0aC0yXSx0aGlzLmxhc3RDaGFyWzFdPXRbdC5sZW5ndGgtMV0pLHQudG9TdHJpbmcoXCJiYXNlNjRcIixlLHQubGVuZ3RoLXMpKX1mdW5jdGlvbiBiYXNlNjRFbmQodCl7dmFyIGU9dCYmdC5sZW5ndGg/dGhpcy53cml0ZSh0KTpcIlwiO3JldHVybiB0aGlzLmxhc3ROZWVkP2UrdGhpcy5sYXN0Q2hhci50b1N0cmluZyhcImJhc2U2NFwiLDAsMy10aGlzLmxhc3ROZWVkKTplfWZ1bmN0aW9uIHNpbXBsZVdyaXRlKHQpe3JldHVybiB0LnRvU3RyaW5nKHRoaXMuZW5jb2RpbmcpfWZ1bmN0aW9uIHNpbXBsZUVuZCh0KXtyZXR1cm4gdCYmdC5sZW5ndGg/dGhpcy53cml0ZSh0KTpcIlwifWV4cG9ydHMuU3RyaW5nRGVjb2Rlcj1TdHJpbmdEZWNvZGVyLFN0cmluZ0RlY29kZXIucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKHQpe2lmKDA9PT10Lmxlbmd0aClyZXR1cm5cIlwiO3ZhciBlLHM7aWYodGhpcy5sYXN0TmVlZCl7aWYodm9pZCAwPT09KGU9dGhpcy5maWxsTGFzdCh0KSkpcmV0dXJuXCJcIjtzPXRoaXMubGFzdE5lZWQsdGhpcy5sYXN0TmVlZD0wfWVsc2Ugcz0wO3JldHVybiBzPHQubGVuZ3RoP2U/ZSt0aGlzLnRleHQodCxzKTp0aGlzLnRleHQodCxzKTplfHxcIlwifSxTdHJpbmdEZWNvZGVyLnByb3RvdHlwZS5lbmQ9dXRmOEVuZCxTdHJpbmdEZWNvZGVyLnByb3RvdHlwZS50ZXh0PXV0ZjhUZXh0LFN0cmluZ0RlY29kZXIucHJvdG90eXBlLmZpbGxMYXN0PWZ1bmN0aW9uKHQpe2lmKHRoaXMubGFzdE5lZWQ8PXQubGVuZ3RoKXJldHVybiB0LmNvcHkodGhpcy5sYXN0Q2hhcix0aGlzLmxhc3RUb3RhbC10aGlzLmxhc3ROZWVkLDAsdGhpcy5sYXN0TmVlZCksdGhpcy5sYXN0Q2hhci50b1N0cmluZyh0aGlzLmVuY29kaW5nLDAsdGhpcy5sYXN0VG90YWwpO3QuY29weSh0aGlzLmxhc3RDaGFyLHRoaXMubGFzdFRvdGFsLXRoaXMubGFzdE5lZWQsMCx0Lmxlbmd0aCksdGhpcy5sYXN0TmVlZC09dC5sZW5ndGh9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5OMGNtbHVaMTlrWldOdlpHVnlMbXB6SWwwc0ltNWhiV1Z6SWpwYklrSjFabVpsY2lJc0luSmxjWFZwY21VaUxDSnBjMFZ1WTI5a2FXNW5JaXdpWlc1amIyUnBibWNpTENKMGIweHZkMlZ5UTJGelpTSXNJbDl1YjNKdFlXeHBlbVZGYm1OdlpHbHVaeUlzSW1WdVl5SXNJbkpsZEhKcFpXUWlMQ0p1YjNKdFlXeHBlbVZGYm1OdlpHbHVaeUlzSW01bGJtTWlMQ0pGY25KdmNpSXNJbE4wY21sdVowUmxZMjlrWlhJaUxDSnVZaUlzSW5Sb2FYTWlMQ0owWlhoMElpd2lkWFJtTVRaVVpYaDBJaXdpWlc1a0lpd2lkWFJtTVRaRmJtUWlMQ0ptYVd4c1RHRnpkQ0lzSW5WMFpqaEdhV3hzVEdGemRDSXNJbUpoYzJVMk5GUmxlSFFpTENKaVlYTmxOalJGYm1RaUxDSjNjbWwwWlNJc0luTnBiWEJzWlZkeWFYUmxJaXdpYzJsdGNHeGxSVzVrSWl3aWJHRnpkRTVsWldRaUxDSnNZWE4wVkc5MFlXd2lMQ0pzWVhOMFEyaGhjaUlzSW1Gc2JHOWpWVzV6WVdabElpd2lkWFJtT0VOb1pXTnJRbmwwWlNJc0ltSjVkR1VpTENKMWRHWTRRMmhsWTJ0SmJtTnZiWEJzWlhSbElpd2ljMlZzWmlJc0ltSjFaaUlzSW1raUxDSnFJaXdpYkdWdVozUm9JaXdpZFhSbU9FTm9aV05yUlhoMGNtRkNlWFJsY3lJc0luQWlMQ0p5SWl3aWRXNWtaV1pwYm1Wa0lpd2lZMjl3ZVNJc0luUnZVM1J5YVc1bklpd2lkWFJtT0ZSbGVIUWlMQ0owYjNSaGJDSXNJblYwWmpoRmJtUWlMQ0pqSWl3aVkyaGhja052WkdWQmRDSXNJbk5zYVdObElpd2liaUlzSW1WNGNHOXlkSE1pTENKd2NtOTBiM1I1Y0dVaVhTd2liV0Z3Y0dsdVozTWlPaUpCUVhGQ1FTeGhRVWxCTEVsQlFVbEJMRTlCUVZORExGRkJRVkVzWlVGQlpVUXNUMEZIYUVORkxGZEJRV0ZHTEU5QlFVOUZMRmxCUVdNc1UwRkJWVU1zUjBGRk9VTXNVVUZFUVVFc1JVRkJWeXhIUVVGTFFTeEpRVU5KUVN4RlFVRlRReXhsUVVNelFpeEpRVUZMTEUxQlFVMHNTVUZCU3l4UFFVRlBMRWxCUVVzc1VVRkJVU3hKUVVGTExGRkJRVkVzU1VGQlN5eFRRVUZUTEVsQlFVc3NVMEZCVXl4SlFVRkxMRTlCUVU4c1NVRkJTeXhSUVVGUkxFbEJRVXNzVlVGQlZTeEpRVUZMTEZkQlFWY3NTVUZCU3l4TlFVTjRTU3hQUVVGUExFVkJRMVFzVVVGRFJTeFBRVUZQTEVsQlNXSXNVMEZCVTBNc2JVSkJRVzFDUXl4SFFVTXhRaXhKUVVGTFFTeEZRVUZMTEUxQlFVOHNUMEZGYWtJc1NVRkVRU3hKUVVGSlF5eEpRVVZHTEU5QlFWRkVMRWRCUTA0c1NVRkJTeXhQUVVOTUxFbEJRVXNzVVVGRFNDeE5RVUZQTEU5QlExUXNTVUZCU3l4UFFVTk1MRWxCUVVzc1VVRkRUQ3hKUVVGTExGVkJRMHdzU1VGQlN5eFhRVU5JTEUxQlFVOHNWVUZEVkN4SlFVRkxMRk5CUTB3c1NVRkJTeXhUUVVOSUxFMUJRVThzVTBGRFZDeEpRVUZMTEZOQlEwd3NTVUZCU3l4UlFVTk1MRWxCUVVzc1RVRkRTQ3hQUVVGUFFTeEZRVU5VTEZGQlEwVXNSMEZCU1VNc1JVRkJVeXhQUVVOaVJDeEhRVUZQTEVkQlFVdEJMRWRCUVV0R0xHTkJRMnBDUnl4SFFVRlZMRWRCVDJ4Q0xGTkJRVk5ETEd0Q1FVRnJRa1lzUjBGRGVrSXNTVUZCU1Vjc1JVRkJUMG9zYlVKQlFXMUNReXhIUVVNNVFpeEhRVUZ2UWl4cFFrRkJWRWNzU1VGQmMwSlVMRTlCUVU5RkxHRkJRV1ZCTEdGQlFXVkJMRmRCUVZkSkxFbEJRVThzVFVGQlRTeEpRVUZKU1N4TlFVRk5MSEZDUVVGMVFrb3NSMEZETDBnc1QwRkJUMGNzUjBGQlVVZ3NSVUZQYWtJc1UwRkJVMHNzWTBGQlkxSXNSMEZGY2tJc1NVRkJTVk1zUlVGRFNpeFBRVVpCUXl4TFFVRkxWaXhUUVVGWFN5eHJRa0ZCYTBKTUxFZEJSVEZDVlN4TFFVRkxWaXhWUVVOWUxFbEJRVXNzVlVGRFNGVXNTMEZCUzBNc1MwRkJUME1zVlVGRFdrWXNTMEZCUzBjc1NVRkJUVU1zVTBGRFdFd3NSVUZCU3l4RlFVTk1MRTFCUTBZc1NVRkJTeXhQUVVOSVF5eExRVUZMU3l4VFFVRlhReXhoUVVOb1FsQXNSVUZCU3l4RlFVTk1MRTFCUTBZc1NVRkJTeXhUUVVOSVF5eExRVUZMUXl4TFFVRlBUU3hYUVVOYVVDeExRVUZMUnl4SlFVRk5TeXhWUVVOWVZDeEZRVUZMTEVWQlEwd3NUVUZEUml4UlFVZEZMRTlCUmtGRExFdEJRVXRUTEUxQlFWRkRMR2xDUVVOaVZpeExRVUZMUnl4SlFVRk5VU3hYUVVkbVdDeExRVUZMV1N4VFFVRlhMRVZCUTJoQ1dpeExRVUZMWVN4VlFVRlpMRVZCUTJwQ1lpeExRVUZMWXl4VFFVRlhNMElzVDBGQlR6UkNMRmxCUVZsb1FpeEhRVzlEY2tNc1UwRkJVMmxDTEdOQlFXTkRMRWRCUTNKQ0xFOUJRVWxCTEVkQlFWRXNTVUZCWVN4RlFVRlhRU3hIUVVGUkxFZEJRVTBzUlVGQllTeEZRVUZYUVN4SFFVRlJMRWRCUVUwc1IwRkJZU3hGUVVGWFFTeEhRVUZSTEVkQlFVMHNSMEZCWVN4RlFVTndTVUVzUjBGQlVTeEhRVUZOTEVkQlFWRXNSMEZCU3l4RlFVMXdReXhUUVVGVFF5eHZRa0ZCYjBKRExFVkJRVTFETEVWQlFVdERMRWRCUTNSRExFbEJRVWxETEVWQlFVbEdMRVZCUVVsSExFOUJRVk1zUlVGRGNrSXNSMEZCU1VRc1JVRkJTVVFzUlVGQlJ5eFBRVUZQTEVWQlEyeENMRWxCUVVsMFFpeEZRVUZMYVVJc1kwRkJZMGtzUlVGQlNVVXNTVUZETTBJc1QwRkJTWFpDTEVkQlFVMHNSMEZEU2tFc1JVRkJTeXhKUVVGSGIwSXNSVUZCUzFBc1UwRkJWMklzUlVGQlN5eEhRVU14UWtFc1MwRkZTSFZDTEVWQlFVbEVMRWxCUVdFc1NVRkJVblJDTEVWQlFXdENMRWRCUTJwRFFTeEZRVUZMYVVJc1kwRkJZMGtzUlVGQlNVVXNUVUZEWWl4SFFVTktka0lzUlVGQlN5eEpRVUZIYjBJc1JVRkJTMUFzVTBGQlYySXNSVUZCU3l4SFFVTXhRa0VzUzBGRlNIVkNMRVZCUVVsRUxFbEJRV0VzU1VGQlVuUkNMRVZCUVd0Q0xFZEJRMnBEUVN4RlFVRkxhVUlzWTBGQlkwa3NSVUZCU1VVc1RVRkRZaXhIUVVOS2RrSXNSVUZCU3l4SlFVTkpMRWxCUVZCQkxFVkJRVlZCTEVWQlFVc3NSVUZCVDI5Q0xFVkJRVXRRTEZOQlFWZGlMRVZCUVVzc1IwRkZNVU5CTEVkQlJVWXNSVUZYVkN4VFFVRlRlVUlzYjBKQlFXOUNUQ3hGUVVGTlF5eEZRVUZMU3l4SFFVTjBReXhIUVVGM1FpeE5RVUZXTEVsQlFWUk1MRVZCUVVrc1NVRkZVQ3hQUVVSQlJDeEZRVUZMVUN4VFFVRlhMRVZCUTFRc1NVRkZWQ3hIUVVGSlR5eEZRVUZMVUN4VFFVRlhMRWRCUVV0UkxFVkJRVWxITEU5QlFWTXNSVUZCUnl4RFFVTjJReXhIUVVGM1FpeE5RVUZXTEVsQlFWUklMRVZCUVVrc1NVRkZVQ3hQUVVSQlJDeEZRVUZMVUN4VFFVRlhMRVZCUTFRc1NVRkZWQ3hIUVVGSlR5eEZRVUZMVUN4VFFVRlhMRWRCUVV0UkxFVkJRVWxITEU5QlFWTXNSMEZEV2l4TlFVRldMRWxCUVZSSUxFVkJRVWtzU1VGRlVDeFBRVVJCUkN4RlFVRkxVQ3hUUVVGWExFVkJRMVFzUzBGUFppeFRRVUZUVGl4aFFVRmhZeXhIUVVOd1FpeEpRVUZKU3l4RlFVRkpla0lzUzBGQlMyRXNWVUZCV1dJc1MwRkJTMWtzVTBGRE1VSmpMRVZCUVVsR0xHOUNRVUZ2UW5oQ0xFdEJRVTF2UWl4RlFVRkxTeXhIUVVOMlF5eFpRVUZWUlN4SlFVRk9SQ3hGUVVGM1FrRXNSVUZEZUVJeFFpeExRVUZMV1N4VlFVRlpVU3hGUVVGSlJ5eFJRVU4yUWtnc1JVRkJTVkVzUzBGQlN6VkNMRXRCUVV0akxGTkJRVlZYTEVWQlFVY3NSVUZCUjNwQ0xFdEJRVXRaTEZWQlF6VkNXaXhMUVVGTFl5eFRRVUZUWlN4VFFVRlROMElzUzBGQlMxWXNVMEZCVlN4RlFVRkhWU3hMUVVGTFlTeGhRVVYyUkU4c1JVRkJTVkVzUzBGQlN6VkNMRXRCUVV0akxGTkJRVlZYTEVWQlFVY3NSVUZCUjB3c1JVRkJTVWNzWVVGRGJFTjJRaXhMUVVGTFdTeFZRVUZaVVN4RlFVRkpSeXhUUVUxMlFpeFRRVUZUVHl4VFFVRlRWaXhGUVVGTFF5eEhRVU55UWl4SlFVRkpWU3hGUVVGUllpeHZRa0ZCYjBKc1FpeExRVUZOYjBJc1JVRkJTME1zUjBGRE0wTXNTVUZCUzNKQ0xFdEJRVXRaTEZOQlFWVXNUMEZCVDFFc1JVRkJTVk1zVTBGQlV5eFBRVUZSVWl4SFFVTm9SSEpDTEV0QlFVdGhMRlZCUVZsclFpeEZRVU5xUWl4SlFVRkpOVUlzUlVGQlRXbENMRVZCUVVsSExGRkJRVlZSTEVWQlFWRXZRaXhMUVVGTFdTeFZRVVZ5UXl4UFFVUkJVU3hGUVVGSlVTeExRVUZMTlVJc1MwRkJTMk1zVTBGQlZTeEZRVUZIV0N4SFFVTndRbWxDTEVWQlFVbFRMRk5CUVZNc1QwRkJVVklzUlVGQlIyeENMRWRCUzJwRExGTkJRVk0yUWl4UlFVRlJXaXhIUVVObUxFbEJRVWxOTEVWQlFVbE9MRWRCUVU5QkxFVkJRVWxITEU5QlFWTjJRaXhMUVVGTFV5eE5RVUZOVnl4SFFVRlBMRWRCUXpsRExFOUJRVWx3UWl4TFFVRkxXU3hUUVVGcFFtTXNSVUZCU1N4SlFVTjJRa0VzUlVGUFZDeFRRVUZUZUVJc1ZVRkJWV3RDTEVWQlFVdERMRWRCUTNSQ0xFbEJRVXRFTEVWQlFVbEhMRTlCUVZOR0xFZEJRVXNzUjBGQlRTeEZRVUZITEVOQlF6bENMRWxCUVVsTExFVkJRVWxPTEVWQlFVbFRMRk5CUVZNc1ZVRkJWMUlzUjBGRGFFTXNSMEZCU1Vzc1JVRkJSeXhEUVVOTUxFbEJRVWxQTEVWQlFVbFFMRVZCUVVWUkxGZEJRVmRTTEVWQlFVVklMRTlCUVZNc1IwRkRhRU1zUjBGQlNWVXNSMEZCU3l4UFFVRlZRU3hIUVVGTExFMUJTM1JDTEU5QlNrRnFReXhMUVVGTFdTeFRRVUZYTEVWQlEyaENXaXhMUVVGTFlTeFZRVUZaTEVWQlEycENZaXhMUVVGTFl5eFRRVUZUTEVkQlFVdE5MRVZCUVVsQkxFVkJRVWxITEU5QlFWTXNSMEZEY0VOMlFpeExRVUZMWXl4VFFVRlRMRWRCUVV0TkxFVkJRVWxCTEVWQlFVbEhMRTlCUVZNc1IwRkROMEpITEVWQlFVVlRMRTFCUVUwc1IwRkJTU3hIUVVkMlFpeFBRVUZQVkN4RlFVdFVMRTlCU0VFeFFpeExRVUZMV1N4VFFVRlhMRVZCUTJoQ1dpeExRVUZMWVN4VlFVRlpMRVZCUTJwQ1lpeExRVUZMWXl4VFFVRlRMRWRCUVV0TkxFVkJRVWxCTEVWQlFVbEhMRTlCUVZNc1IwRkROMEpJTEVWQlFVbFRMRk5CUVZNc1ZVRkJWMUlzUlVGQlIwUXNSVUZCU1Vjc1QwRkJVeXhIUVV0cVJDeFRRVUZUYmtJc1UwRkJVMmRDTEVkQlEyaENMRWxCUVVsTkxFVkJRVWxPTEVkQlFVOUJMRVZCUVVsSExFOUJRVk4yUWl4TFFVRkxVeXhOUVVGTlZ5eEhRVUZQTEVkQlF6bERMRWRCUVVsd1FpeExRVUZMV1N4VFFVRlZMRU5CUTJwQ0xFbEJRVWxVTEVWQlFVMUlMRXRCUVV0aExGVkJRVmxpTEV0QlFVdFpMRk5CUTJoRExFOUJRVTlqTEVWQlFVa3hRaXhMUVVGTFl5eFRRVUZUWlN4VFFVRlRMRlZCUVZjc1JVRkJSekZDTEVkQlJXeEVMRTlCUVU5MVFpeEZRVWRVTEZOQlFWTnVRaXhYUVVGWFlTeEZRVUZMUXl4SFFVTjJRaXhKUVVGSlpTeEhRVUZMYUVJc1JVRkJTVWNzVDBGQlUwWXNSMEZCU3l4RlFVTXpRaXhQUVVGVkxFbEJRVTVsTEVWQlFXZENhRUlzUlVGQlNWTXNVMEZCVXl4VFFVRlZVaXhKUVVNelEzSkNMRXRCUVV0WkxGTkJRVmNzUlVGQlNYZENMRVZCUTNCQ2NFTXNTMEZCUzJFc1ZVRkJXU3hGUVVOUUxFbEJRVTUxUWl4RlFVTkdjRU1zUzBGQlMyTXNVMEZCVXl4SFFVRkxUU3hGUVVGSlFTeEZRVUZKUnl4UFFVRlRMRWxCUlhCRGRrSXNTMEZCUzJNc1UwRkJVeXhIUVVGTFRTeEZRVUZKUVN4RlFVRkpSeXhQUVVGVExFZEJRM0JEZGtJc1MwRkJTMk1zVTBGQlV5eEhRVUZMVFN4RlFVRkpRU3hGUVVGSlJ5eFBRVUZUTEVsQlJTOUNTQ3hGUVVGSlV5eFRRVUZUTEZOQlFWVlNMRVZCUVVkRUxFVkJRVWxITEU5QlFWTmhMRWxCUjJoRUxGTkJRVk0xUWl4VlFVRlZXU3hIUVVOcVFpeEpRVUZKVFN4RlFVRkpUaXhIUVVGUFFTeEZRVUZKUnl4UFFVRlRka0lzUzBGQlMxTXNUVUZCVFZjc1IwRkJUeXhIUVVNNVF5eFBRVUZKY0VJc1MwRkJTMWtzVTBGQmFVSmpMRVZCUVVreFFpeExRVUZMWXl4VFFVRlRaU3hUUVVGVExGTkJRVlVzUlVGQlJ5eEZRVUZKTjBJc1MwRkJTMWtzVlVGRGNFVmpMRVZCU1ZRc1UwRkJVMmhDTEZsQlFWbFZMRWRCUTI1Q0xFOUJRVTlCTEVWQlFVbFRMRk5CUVZNM1FpeExRVUZMVml4VlFVY3pRaXhUUVVGVGNVSXNWVUZCVlZNc1IwRkRha0lzVDBGQlQwRXNSMEZCVDBFc1JVRkJTVWNzVDBGQlUzWkNMRXRCUVV0VExFMUJRVTFYTEVkQlFVOHNSMEY2VGk5RGFVSXNVVUZCVVhaRExHTkJRV2RDUVN4alFUWkNlRUpCTEdOQlFXTjNReXhWUVVGVk4wSXNUVUZCVVN4VFFVRlZWeXhIUVVONFF5eEhRVUZ0UWl4SlFVRm1RU3hGUVVGSlJ5eFBRVUZqTEUxQlFVOHNSMEZETjBJc1NVRkJTVWNzUlVGRFFVd3NSVUZEU2l4SFFVRkpja0lzUzBGQlMxa3NVMEZCVlN4RFFVVnFRaXhSUVVGVlpTeExRVVJXUkN4RlFVRkpNVUlzUzBGQlMwc3NVMEZCVTJVc1NVRkRSeXhOUVVGUExFZEJRelZDUXl4RlFVRkpja0lzUzBGQlMxa3NVMEZEVkZvc1MwRkJTMWtzVTBGQlZ5eFBRVVZvUWxNc1JVRkJTU3hGUVVWT0xFOUJRVWxCTEVWQlFVbEVMRVZCUVVsSExFOUJRV1ZITEVWQlFVbEJMRVZCUVVreFFpeExRVUZMUXl4TFFVRkxiVUlzUlVGQlMwTXNSMEZCUzNKQ0xFdEJRVXRETEV0QlFVdHRRaXhGUVVGTFF5eEhRVU12UkVzc1IwRkJTeXhKUVVka05VSXNZMEZCWTNkRExGVkJRVlZ1UXl4SlFVRk5Oa0lzVVVGSE9VSnNReXhqUVVGamQwTXNWVUZCVlhKRExFdEJRVTgyUWl4VFFVY3ZRbWhETEdOQlFXTjNReXhWUVVGVmFrTXNVMEZCVnl4VFFVRlZaU3hIUVVNelF5eEhRVUZKY0VJc1MwRkJTMWtzVlVGQldWRXNSVUZCU1Vjc1QwRkZka0lzVDBGRVFVZ3NSVUZCU1ZFc1MwRkJTelZDTEV0QlFVdGpMRk5CUVZWa0xFdEJRVXRoTEZWQlFWbGlMRXRCUVV0WkxGTkJRVlVzUlVGQlIxb3NTMEZCUzFrc1ZVRkRla1JhTEV0QlFVdGpMRk5CUVZObExGTkJRVk0zUWl4TFFVRkxWaXhUUVVGVkxFVkJRVWRWTEV0QlFVdGhMRmRCUlhaRVR5eEZRVUZKVVN4TFFVRkxOVUlzUzBGQlMyTXNVMEZCVldRc1MwRkJTMkVzVlVGQldXSXNTMEZCUzFrc1UwRkJWU3hGUVVGSFVTeEZRVUZKUnl4UlFVTXZSSFpDTEV0QlFVdFpMRlZCUVZsUkxFVkJRVWxISWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwzTjBZV2RwYm1jdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZjM1J5YVc1blgyUmxZMjlrWlhJdmJHbGlMM04wY21sdVoxOWtaV052WkdWeUxtcHpJbjA9IiwidmFyIG5leHRUaWNrPXJlcXVpcmUoXCJwcm9jZXNzL2Jyb3dzZXIuanNcIikubmV4dFRpY2ssYXBwbHk9RnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LHNsaWNlPUFycmF5LnByb3RvdHlwZS5zbGljZSxpbW1lZGlhdGVJZHM9e30sbmV4dEltbWVkaWF0ZUlkPTA7ZnVuY3Rpb24gVGltZW91dChlLHQpe3RoaXMuX2lkPWUsdGhpcy5fY2xlYXJGbj10fWV4cG9ydHMuc2V0VGltZW91dD1mdW5jdGlvbigpe3JldHVybiBuZXcgVGltZW91dChhcHBseS5jYWxsKHNldFRpbWVvdXQsd2luZG93LGFyZ3VtZW50cyksY2xlYXJUaW1lb3V0KX0sZXhwb3J0cy5zZXRJbnRlcnZhbD1mdW5jdGlvbigpe3JldHVybiBuZXcgVGltZW91dChhcHBseS5jYWxsKHNldEludGVydmFsLHdpbmRvdyxhcmd1bWVudHMpLGNsZWFySW50ZXJ2YWwpfSxleHBvcnRzLmNsZWFyVGltZW91dD1leHBvcnRzLmNsZWFySW50ZXJ2YWw9ZnVuY3Rpb24oZSl7ZS5jbG9zZSgpfSxUaW1lb3V0LnByb3RvdHlwZS51bnJlZj1UaW1lb3V0LnByb3RvdHlwZS5yZWY9ZnVuY3Rpb24oKXt9LFRpbWVvdXQucHJvdG90eXBlLmNsb3NlPWZ1bmN0aW9uKCl7dGhpcy5fY2xlYXJGbi5jYWxsKHdpbmRvdyx0aGlzLl9pZCl9LGV4cG9ydHMuZW5yb2xsPWZ1bmN0aW9uKGUsdCl7Y2xlYXJUaW1lb3V0KGUuX2lkbGVUaW1lb3V0SWQpLGUuX2lkbGVUaW1lb3V0PXR9LGV4cG9ydHMudW5lbnJvbGw9ZnVuY3Rpb24oZSl7Y2xlYXJUaW1lb3V0KGUuX2lkbGVUaW1lb3V0SWQpLGUuX2lkbGVUaW1lb3V0PS0xfSxleHBvcnRzLl91bnJlZkFjdGl2ZT1leHBvcnRzLmFjdGl2ZT1mdW5jdGlvbihlKXtjbGVhclRpbWVvdXQoZS5faWRsZVRpbWVvdXRJZCk7dmFyIHQ9ZS5faWRsZVRpbWVvdXQ7dD49MCYmKGUuX2lkbGVUaW1lb3V0SWQ9c2V0VGltZW91dChmdW5jdGlvbigpe2UuX29uVGltZW91dCYmZS5fb25UaW1lb3V0KCl9LHQpKX0sZXhwb3J0cy5zZXRJbW1lZGlhdGU9XCJmdW5jdGlvblwiPT10eXBlb2Ygc2V0SW1tZWRpYXRlP3NldEltbWVkaWF0ZTpmdW5jdGlvbihlKXt2YXIgdD1uZXh0SW1tZWRpYXRlSWQrKyxpPSEoYXJndW1lbnRzLmxlbmd0aDwyKSYmc2xpY2UuY2FsbChhcmd1bWVudHMsMSk7cmV0dXJuIGltbWVkaWF0ZUlkc1t0XT0hMCxuZXh0VGljayhmdW5jdGlvbigpe2ltbWVkaWF0ZUlkc1t0XSYmKGk/ZS5hcHBseShudWxsLGkpOmUuY2FsbChudWxsKSxleHBvcnRzLmNsZWFySW1tZWRpYXRlKHQpKX0pLHR9LGV4cG9ydHMuY2xlYXJJbW1lZGlhdGU9XCJmdW5jdGlvblwiPT10eXBlb2YgY2xlYXJJbW1lZGlhdGU/Y2xlYXJJbW1lZGlhdGU6ZnVuY3Rpb24oZSl7ZGVsZXRlIGltbWVkaWF0ZUlkc1tlXX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbTFoYVc0dWFuTWlYU3dpYm1GdFpYTWlPbHNpYm1WNGRGUnBZMnNpTENKeVpYRjFhWEpsSWl3aVlYQndiSGtpTENKR2RXNWpkR2x2YmlJc0luQnliM1J2ZEhsd1pTSXNJbk5zYVdObElpd2lRWEp5WVhraUxDSnBiVzFsWkdsaGRHVkpaSE1pTENKdVpYaDBTVzF0WldScFlYUmxTV1FpTENKVWFXMWxiM1YwSWl3aWFXUWlMQ0pqYkdWaGNrWnVJaXdpZEdocGN5SXNJbDlwWkNJc0lsOWpiR1ZoY2tadUlpd2laWGh3YjNKMGN5SXNJbk5sZEZScGJXVnZkWFFpTENKallXeHNJaXdpZDJsdVpHOTNJaXdpWVhKbmRXMWxiblJ6SWl3aVkyeGxZWEpVYVcxbGIzVjBJaXdpYzJWMFNXNTBaWEoyWVd3aUxDSmpiR1ZoY2tsdWRHVnlkbUZzSWl3aWRHbHRaVzkxZENJc0ltTnNiM05sSWl3aWRXNXlaV1lpTENKeVpXWWlMQ0psYm5KdmJHd2lMQ0pwZEdWdElpd2liWE5sWTNNaUxDSmZhV1JzWlZScGJXVnZkWFJKWkNJc0lsOXBaR3hsVkdsdFpXOTFkQ0lzSW5WdVpXNXliMnhzSWl3aVgzVnVjbVZtUVdOMGFYWmxJaXdpWVdOMGFYWmxJaXdpWDI5dVZHbHRaVzkxZENJc0luTmxkRWx0YldWa2FXRjBaU0lzSW1adUlpd2lZWEpuY3lJc0lteGxibWQwYUNJc0ltTnNaV0Z5U1cxdFpXUnBZWFJsSWwwc0ltMWhjSEJwYm1keklqb2lRVUZCUVN4SlFVRkpRU3hUUVVGWFF5eFJRVUZSTEhOQ1FVRnpRa1FzVTBGRGVrTkZMRTFCUVZGRExGTkJRVk5ETEZWQlFWVkdMRTFCUXpOQ1J5eE5RVUZSUXl4TlFVRk5SaXhWUVVGVlF5eE5RVU40UWtVc1lVRkJaU3hIUVVObVF5eG5Ra0ZCYTBJc1JVRmhkRUlzVTBGQlUwTXNVVUZCVVVNc1JVRkJTVU1zUjBGRGJrSkRMRXRCUVV0RExFbEJRVTFJTEVWQlExaEZMRXRCUVV0RkxGTkJRVmRJTEVWQldHeENTU3hSUVVGUlF5eFhRVUZoTEZkQlEyNUNMRTlCUVU4c1NVRkJTVkFzVVVGQlVWQXNUVUZCVFdVc1MwRkJTMFFzVjBGQldVVXNUMEZCVVVNc1YwRkJXVU1zWlVGRmFFVk1MRkZCUVZGTkxGbEJRV01zVjBGRGNFSXNUMEZCVHl4SlFVRkpXaXhSUVVGUlVDeE5RVUZOWlN4TFFVRkxTU3haUVVGaFNDeFBRVUZSUXl4WFFVRlpSeXhuUWtGRmFrVlFMRkZCUVZGTExHRkJRMUpNTEZGQlFWRlBMR05CUVdkQ0xGTkJRVk5ETEVkQlFWZEJMRVZCUVZGRExGTkJUWEJFWml4UlFVRlJUQ3hWUVVGVmNVSXNUVUZCVVdoQ0xGRkJRVkZNTEZWQlFWVnpRaXhKUVVGTkxHRkJRMnhFYWtJc1VVRkJVVXdzVlVGQlZXOUNMRTFCUVZFc1YwRkRlRUphTEV0QlFVdEZMRk5CUVZOSExFdEJRVXRETEU5QlFWRk9MRXRCUVV0RExFMUJTV3hEUlN4UlFVRlJXU3hQUVVGVExGTkJRVk5ETEVWQlFVMURMRWRCUXpsQ1ZDeGhRVUZoVVN4RlFVRkxSU3huUWtGRGJFSkdMRVZCUVV0SExHRkJRV1ZHTEVkQlIzUkNaQ3hSUVVGUmFVSXNVMEZCVnl4VFFVRlRTaXhIUVVNeFFsSXNZVUZCWVZFc1JVRkJTMFVzWjBKQlEyeENSaXhGUVVGTFJ5eGpRVUZuUWl4SFFVZDJRbWhDTEZGQlFWRnJRaXhoUVVGbGJFSXNVVUZCVVcxQ0xFOUJRVk1zVTBGQlUwNHNSMEZETDBOU0xHRkJRV0ZSTEVWQlFVdEZMR2RDUVVWc1FpeEpRVUZKUkN4RlFVRlJSQ3hGUVVGTFJ5eGhRVU5pUml4SFFVRlRMRWxCUTFoRUxFVkJRVXRGTEdWQlFXbENaQ3hYUVVGWExGZEJRek5DV1N4RlFVRkxUeXhaUVVOUVVDeEZRVUZMVHl4alFVTk9UaXhMUVV0UVpDeFJRVUZSY1VJc1lVRkJkVU1zYlVKQlFXcENRU3hoUVVFNFFrRXNZVUZCWlN4VFFVRlRReXhIUVVOc1JpeEpRVUZKTTBJc1JVRkJTMFlzYTBKQlEwdzRRaXhKUVVGUGJrSXNWVUZCVlc5Q0xFOUJRVk1zU1VGQldXeERMRTFCUVUxWkxFdEJRVXRGTEZWQlFWY3NSMEZyUW1oRkxFOUJhRUpCV2l4aFFVRmhSeXhKUVVGTkxFVkJSVzVDVml4VFFVRlRMRmRCUTBoUExHRkJRV0ZITEV0QlIxZzBRaXhGUVVOR1JDeEZRVUZIYmtNc1RVRkJUU3hMUVVGTmIwTXNSMEZGWmtRc1JVRkJSM0JDTEV0QlFVc3NUVUZIVmtZc1VVRkJVWGxDTEdWQlFXVTVRaXhOUVVsd1FrRXNSMEZIVkVzc1VVRkJVWGxDTEdWQlFUSkRMRzFDUVVGdVFrRXNaVUZCWjBOQkxHVkJRV2xDTEZOQlFWTTVRaXhWUVVOcVJrZ3NZVUZCWVVjaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZjM1JoWjJsdVp5OXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTkwYVcxbGNuTXRZbkp2ZDNObGNtbG1lUzl0WVdsdUxtcHpJbjA9IiwiZnVuY3Rpb24gZGVwcmVjYXRlKHIsZSl7aWYoY29uZmlnKFwibm9EZXByZWNhdGlvblwiKSlyZXR1cm4gcjt2YXIgbz0hMTtyZXR1cm4gZnVuY3Rpb24oKXtpZighbyl7aWYoY29uZmlnKFwidGhyb3dEZXByZWNhdGlvblwiKSl0aHJvdyBuZXcgRXJyb3IoZSk7Y29uZmlnKFwidHJhY2VEZXByZWNhdGlvblwiKT9jb25zb2xlLnRyYWNlKGUpOmNvbnNvbGUud2FybihlKSxvPSEwfXJldHVybiByLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19ZnVuY3Rpb24gY29uZmlnKHIpe3RyeXtpZighZ2xvYmFsLmxvY2FsU3RvcmFnZSlyZXR1cm4hMX1jYXRjaChyKXtyZXR1cm4hMX12YXIgZT1nbG9iYWwubG9jYWxTdG9yYWdlW3JdO3JldHVybiBudWxsIT1lJiZcInRydWVcIj09PVN0cmluZyhlKS50b0xvd2VyQ2FzZSgpfW1vZHVsZS5leHBvcnRzPWRlcHJlY2F0ZTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltSnliM2R6WlhJdWFuTWlYU3dpYm1GdFpYTWlPbHNpWkdWd2NtVmpZWFJsSWl3aVptNGlMQ0p0YzJjaUxDSmpiMjVtYVdjaUxDSjNZWEp1WldRaUxDSkZjbkp2Y2lJc0ltTnZibk52YkdVaUxDSjBjbUZqWlNJc0luZGhjbTRpTENKaGNIQnNlU0lzSW5Sb2FYTWlMQ0poY21kMWJXVnVkSE1pTENKdVlXMWxJaXdpWjJ4dlltRnNJaXdpYkc5allXeFRkRzl5WVdkbElpd2lYeUlzSW5aaGJDSXNJbE4wY21sdVp5SXNJblJ2VEc5M1pYSkRZWE5sSWl3aWJXOWtkV3hsSWl3aVpYaHdiM0owY3lKZExDSnRZWEJ3YVc1bmN5STZJa0ZCZVVKQkxGTkJRVk5CTEZWQlFWZERMRVZCUVVsRExFZEJRM1JDTEVkQlFVbERMRTlCUVU4c2FVSkJRMVFzVDBGQlQwWXNSVUZIVkN4SlFVRkpSeXhIUVVGVExFVkJaV0lzVDBGa1FTeFhRVU5GTEVsQlFVdEJMRVZCUVZFc1EwRkRXQ3hIUVVGSlJDeFBRVUZQTEc5Q1FVTlVMRTFCUVUwc1NVRkJTVVVzVFVGQlRVZ3NSMEZEVUVNc1QwRkJUeXh2UWtGRGFFSkhMRkZCUVZGRExFMUJRVTFNTEVkQlJXUkpMRkZCUVZGRkxFdEJRVXRPTEVkQlJXWkZMRWRCUVZNc1JVRkZXQ3hQUVVGUFNDeEZRVUZIVVN4TlFVRk5ReXhMUVVGTlF5eFpRV014UWl4VFFVRlRVaXhQUVVGUlV5eEhRVVZtTEVsQlEwVXNTVUZCUzBNc1QwRkJUME1zWVVGQll5eFBRVUZQTEVWQlEycERMRTFCUVU5RExFZEJRMUFzVDBGQlR5eEZRVVZVTEVsQlFVbERMRVZCUVUxSUxFOUJRVTlETEdGQlFXRkdMRWRCUXpsQ0xFOUJRVWtzVFVGQlVVa3NSMEZEZVVJc1UwRkJPVUpETEU5QlFVOUVMRWRCUVV0RkxHTkJOVVJ5UWtNc1QwRkJUME1zVVVGQlZYQkNJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDNOMFlXZHBibWN2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdmRYUnBiQzFrWlhCeVpXTmhkR1V2WW5KdmQzTmxjaTVxY3lKOSIsIihmdW5jdGlvbigpe1widXNlIHN0cmljdFwiO2V4cG9ydHMuc3RyaXBCT009ZnVuY3Rpb24odCl7cmV0dXJuXCJcXHVmZWZmXCI9PT10WzBdP3Quc3Vic3RyaW5nKDEpOnR9fSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltSnZiUzVxY3lKZExDSnVZVzFsY3lJNld5SmxlSEJ2Y25Seklpd2ljM1J5YVhCQ1QwMGlMQ0p6ZEhJaUxDSnpkV0p6ZEhKcGJtY2lMQ0pqWVd4c0lpd2lkR2hwY3lKZExDSnRZWEJ3YVc1bmN5STZJa05CUTBFc1YwRkRSU3hoUVVOQlFTeFJRVUZSUXl4VFFVRlhMRk5CUVZORExFZEJRekZDTEUxQlFXVXNWMEZCV0VFc1JVRkJTU3hIUVVORFFTeEZRVUZKUXl4VlFVRlZMRWRCUldSRUxFdEJTVlpGTEV0QlFVdERJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDNOMFlXZHBibWN2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdmVHMXNNbXB6TDJ4cFlpOWliMjB1YW5NaWZRPT0iLCIoZnVuY3Rpb24oKXtcInVzZSBzdHJpY3RcIjt2YXIgdCxlLG8saSxyLG49e30uaGFzT3duUHJvcGVydHk7dD1yZXF1aXJlKFwieG1sYnVpbGRlclwiKSxlPXJlcXVpcmUoXCIuL2RlZmF1bHRzXCIpLmRlZmF1bHRzLGk9ZnVuY3Rpb24odCl7cmV0dXJuXCJzdHJpbmdcIj09dHlwZW9mIHQmJih0LmluZGV4T2YoXCImXCIpPj0wfHx0LmluZGV4T2YoXCI+XCIpPj0wfHx0LmluZGV4T2YoXCI8XCIpPj0wKX0scj1mdW5jdGlvbih0KXtyZXR1cm5cIjwhW0NEQVRBW1wiK28odCkrXCJdXT5cIn0sbz1mdW5jdGlvbih0KXtyZXR1cm4gdC5yZXBsYWNlKFwiXV0+XCIsXCJdXV1dPjwhW0NEQVRBWz5cIil9LGV4cG9ydHMuQnVpbGRlcj1mdW5jdGlvbigpe2Z1bmN0aW9uIG8odCl7dmFyIG8saSxyO2ZvcihvIGluIHRoaXMub3B0aW9ucz17fSxpPWVbLjJdKW4uY2FsbChpLG8pJiYocj1pW29dLHRoaXMub3B0aW9uc1tvXT1yKTtmb3IobyBpbiB0KW4uY2FsbCh0LG8pJiYocj10W29dLHRoaXMub3B0aW9uc1tvXT1yKX1yZXR1cm4gby5wcm90b3R5cGUuYnVpbGRPYmplY3Q9ZnVuY3Rpb24obyl7dmFyIHMsYSxsLHAsZix1O3JldHVybiBzPXRoaXMub3B0aW9ucy5hdHRya2V5LGE9dGhpcy5vcHRpb25zLmNoYXJrZXksMT09PU9iamVjdC5rZXlzKG8pLmxlbmd0aCYmdGhpcy5vcHRpb25zLnJvb3ROYW1lPT09ZVsuMl0ucm9vdE5hbWU/bz1vW2Y9T2JqZWN0LmtleXMobylbMF1dOmY9dGhpcy5vcHRpb25zLnJvb3ROYW1lLHU9dGhpcyxsPWZ1bmN0aW9uKHQsZSl7dmFyIG8scCxmLGMsaCxkO2lmKFwib2JqZWN0XCIhPXR5cGVvZiBlKXUub3B0aW9ucy5jZGF0YSYmaShlKT90LnJhdyhyKGUpKTp0LnR4dChlKTtlbHNlIGlmKEFycmF5LmlzQXJyYXkoZSkpe2ZvcihjIGluIGUpaWYobi5jYWxsKGUsYykpZm9yKGggaW4gcD1lW2NdKWY9cFtoXSx0PWwodC5lbGUoaCksZikudXAoKX1lbHNlIGZvcihoIGluIGUpaWYobi5jYWxsKGUsaCkpaWYocD1lW2hdLGg9PT1zKXtpZihcIm9iamVjdFwiPT10eXBlb2YgcClmb3IobyBpbiBwKWQ9cFtvXSx0PXQuYXR0KG8sZCl9ZWxzZSBpZihoPT09YSl0PXUub3B0aW9ucy5jZGF0YSYmaShwKT90LnJhdyhyKHApKTp0LnR4dChwKTtlbHNlIGlmKEFycmF5LmlzQXJyYXkocCkpZm9yKGMgaW4gcCluLmNhbGwocCxjKSYmKHQ9XCJzdHJpbmdcIj09dHlwZW9mKGY9cFtjXSk/dS5vcHRpb25zLmNkYXRhJiZpKGYpP3QuZWxlKGgpLnJhdyhyKGYpKS51cCgpOnQuZWxlKGgsZikudXAoKTpsKHQuZWxlKGgpLGYpLnVwKCkpO2Vsc2VcIm9iamVjdFwiPT10eXBlb2YgcD90PWwodC5lbGUoaCkscCkudXAoKTpcInN0cmluZ1wiPT10eXBlb2YgcCYmdS5vcHRpb25zLmNkYXRhJiZpKHApP3Q9dC5lbGUoaCkucmF3KHIocCkpLnVwKCk6KG51bGw9PXAmJihwPVwiXCIpLHQ9dC5lbGUoaCxwLnRvU3RyaW5nKCkpLnVwKCkpO3JldHVybiB0fSxwPXQuY3JlYXRlKGYsdGhpcy5vcHRpb25zLnhtbGRlYyx0aGlzLm9wdGlvbnMuZG9jdHlwZSx7aGVhZGxlc3M6dGhpcy5vcHRpb25zLmhlYWRsZXNzLGFsbG93U3Vycm9nYXRlQ2hhcnM6dGhpcy5vcHRpb25zLmFsbG93U3Vycm9nYXRlQ2hhcnN9KSxsKHAsbykuZW5kKHRoaXMub3B0aW9ucy5yZW5kZXJPcHRzKX0sb30oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbUoxYVd4a1pYSXVhbk1pWFN3aWJtRnRaWE1pT2xzaVluVnBiR1JsY2lJc0ltUmxabUYxYkhSeklpd2laWE5qWVhCbFEwUkJWRUVpTENKeVpYRjFhWEpsYzBORVFWUkJJaXdpZDNKaGNFTkVRVlJCSWl3aWFHRnpVSEp2Y0NJc0ltaGhjMDkzYmxCeWIzQmxjblI1SWl3aWNtVnhkV2x5WlNJc0ltVnVkSEo1SWl3aWFXNWtaWGhQWmlJc0luSmxjR3hoWTJVaUxDSmxlSEJ2Y25Seklpd2lRblZwYkdSbGNpSXNJbTl3ZEhNaUxDSnJaWGtpTENKeVpXWWlMQ0oyWVd4MVpTSXNJblJvYVhNaUxDSnZjSFJwYjI1eklpd2lZMkZzYkNJc0luQnliM1J2ZEhsd1pTSXNJbUoxYVd4a1QySnFaV04wSWl3aWNtOXZkRTlpYWlJc0ltRjBkSEpyWlhraUxDSmphR0Z5YTJWNUlpd2ljbVZ1WkdWeUlpd2ljbTl2ZEVWc1pXMWxiblFpTENKeWIyOTBUbUZ0WlNJc0lsOTBhR2x6SWl3aVQySnFaV04wSWl3aWEyVjVjeUlzSW14bGJtZDBhQ0lzSW1Wc1pXMWxiblFpTENKdlltb2lMQ0poZEhSeUlpd2lZMmhwYkdRaUxDSnBibVJsZUNJc0ltTmtZWFJoSWl3aWNtRjNJaXdpZEhoMElpd2lRWEp5WVhraUxDSnBjMEZ5Y21GNUlpd2laV3hsSWl3aWRYQWlMQ0poZEhRaUxDSjBiMU4wY21sdVp5SXNJbU55WldGMFpTSXNJbmh0YkdSbFl5SXNJbVJ2WTNSNWNHVWlMQ0pvWldGa2JHVnpjeUlzSW1Gc2JHOTNVM1Z5Y205bllYUmxRMmhoY25NaUxDSmxibVFpTENKeVpXNWtaWEpQY0hSeklsMHNJbTFoY0hCcGJtZHpJam9pUTBGRFFTeFhRVU5GTEdGQlEwRXNTVUZCU1VFc1JVRkJVME1zUlVGQlZVTXNSVUZCWVVNc1JVRkJaVU1zUlVGRGFrUkRMRVZCUVZVc1IwRkJSME1zWlVGRlprNHNSVUZCVlU4c1VVRkJVU3hqUVVWc1FrNHNSVUZCVjAwc1VVRkJVU3hqUVVGalRpeFRRVVZxUTBVc1JVRkJaMElzVTBGQlUwc3NSMEZEZGtJc1RVRkJkMElzYVVKQlFWWkJMRWxCUVhWQ1FTeEZRVUZOUXl4UlFVRlJMRTFCUVZFc1IwRkJTMFFzUlVGQlRVTXNVVUZCVVN4TlFVRlJMRWRCUVV0RUxFVkJRVTFETEZGQlFWRXNUVUZCVVN4SlFVZHVTRXdzUlVGQldTeFRRVUZUU1N4SFFVTnVRaXhOUVVGUExGbEJRV1ZPTEVWQlFWbE5MRWRCUVZVc1QwRkhPVU5PTEVWQlFXTXNVMEZCVTAwc1IwRkRja0lzVDBGQlQwRXNSVUZCVFVVc1VVRkJVU3hOUVVGUExHOUNRVWM1UWtNc1VVRkJVVU1zVVVGQlZTeFhRVU5vUWl4VFFVRlRRU3hGUVVGUlF5eEhRVU5tTEVsQlFVbERMRVZCUVV0RExFVkJRVXRETEVWQlIyUXNTVUZCUzBZc1MwRkdURWNzUzBGQlMwTXNVVUZCVlN4SFFVTm1TQ3hGUVVGTlpDeEZRVUZUTEVsQlJWSkpMRVZCUVZGakxFdEJRVXRLTEVWQlFVdEVMRXRCUTNaQ1JTeEZRVUZSUkN4RlFVRkpSQ3hIUVVOYVJ5eExRVUZMUXl4UlFVRlJTaXhIUVVGUFJTeEhRVVYwUWl4SlFVRkxSaXhMUVVGUFJDeEZRVU5NVWl4RlFVRlJZeXhMUVVGTFRpeEZRVUZOUXl4TFFVTjRRa1VzUlVGQlVVZ3NSVUZCUzBNc1IwRkRZa2NzUzBGQlMwTXNVVUZCVVVvc1IwRkJUMFVzUjBGMVJuaENMRTlCYmtaQlNpeEZRVUZSVVN4VlFVRlZReXhaUVVGakxGTkJRVk5ETEVkQlEzWkRMRWxCUVVsRExFVkJRVk5ETEVWQlFWTkRMRVZCUVZGRExFVkJRV0ZETEVWQlUzaENReXhGUVhORmJrSXNUMEU1UlVGTUxFVkJRVlZPTEV0QlFVdERMRkZCUVZGTExGRkJRM1pDUXl4RlFVRlZVQ3hMUVVGTFF5eFJRVUZSVFN4UlFVTmpMRWxCUVdoRFN5eFBRVUZQUXl4TFFVRkxVaXhIUVVGVFV5eFJRVUZyUW1Rc1MwRkJTME1zVVVGQlVWTXNWMEZCWVRGQ0xFVkJRVk1zU1VGQlR6QkNMRk5CUlhCR1RDeEZRVUZWUVN4RlFVUldTeXhGUVVGWFJTeFBRVUZQUXl4TFFVRkxVaXhIUVVGVExFbEJSMmhEU3l4RlFVRlhWaXhMUVVGTFF5eFJRVUZSVXl4VFFVVlFReXhGUVdsRmFFSllMRXRCYWtWSVVTeEZRVU5UTEZOQlFWTlBMRVZCUVZORExFZEJRM1pDTEVsQlFVbERMRVZCUVUxRExFVkJRVTh6UWl4RlFVRlBORUlzUlVGQlQzUkNMRVZCUVV0RkxFVkJRM0JETEVkQlFXMUNMR2xDUVVGU2FVSXNSVUZEVEV3c1JVRkJUVllzVVVGQlVXMUNMRTlCUVZOc1F5eEZRVUZqT0VJc1IwRkRka05FTEVWQlFWRk5MRWxCUVVsc1F5eEZRVUZWTmtJc1NVRkZkRUpFTEVWQlFWRlBMRWxCUVVsT0xGRkJSVlFzUjBGQlNVOHNUVUZCVFVNc1VVRkJVVklzU1VGRGRrSXNTVUZCUzBjc1MwRkJVMGdzUlVGRFdpeEhRVUZMTlVJc1JVRkJVV01zUzBGQlMyTXNSVUZCUzBjc1IwRkZka0lzU1VGQlMzUkNMRXRCUkV4eFFpeEZRVUZSUml4RlFVRkpSeXhIUVVWV05VSXNSVUZCVVRKQ0xFVkJRVTF5UWl4SFFVTmthMElzUlVGQlZWQXNSVUZCVDA4c1JVRkJVVlVzU1VGQlNUVkNMRWRCUVUxT0xFZEJRVTl0UXl4VlFVazVReXhKUVVGTE4wSXNTMEZCVDIxQ0xFVkJRMVlzUjBGQlN6VkNMRVZCUVZGakxFdEJRVXRqTEVWQlFVdHVRaXhIUVVWMlFpeEhRVVJCY1VJc1JVRkJVVVlzUlVGQlNXNUNMRWRCUTFKQkxFbEJRVkZUTEVkQlExWXNSMEZCY1VJc2FVSkJRVlpaTEVWQlExUXNTVUZCUzBRc1MwRkJVVU1zUlVGRFdHNUNMRVZCUVZGdFFpeEZRVUZOUkN4SFFVTmtSaXhGUVVGVlFTeEZRVUZSV1N4SlFVRkpWaXhGUVVGTmJFSXNVVUZITTBJc1IwRkJTVVlzU1VGQlVWVXNSVUZGWmxFc1JVRkVSVW9zUlVGQlRWWXNVVUZCVVcxQ0xFOUJRVk5zUXl4RlFVRmpaME1zUjBGRE4wSklMRVZCUVZGTkxFbEJRVWxzUXl4RlFVRlZLMElzU1VGRmRFSklMRVZCUVZGUExFbEJRVWxLTEZGQlJXNUNMRWRCUVVsTExFMUJRVTFETEZGQlFWRk9MRWRCUTNaQ0xFbEJRVXRETEV0QlFWTkVMRVZCUTFBNVFpeEZRVUZSWXl4TFFVRkxaMElzUlVGQlQwTXNTMEZKY2tKS0xFVkJSbWxDTEdsQ1FVUnlRbmhDTEVWQlFWRXlRaXhGUVVGTlF5eEpRVVZTVWl4RlFVRk5WaXhSUVVGUmJVSXNUMEZCVTJ4RExFVkJRV05MTEVkQlF6ZENkMElzUlVGQlVWVXNTVUZCU1RWQ0xFZEJRVXQzUWl4SlFVRkpiRU1zUlVGQlZVa3NTVUZCVVcxRExFdEJSWFpEV0N4RlFVRlJWU3hKUVVGSk5VSXNSVUZCUzA0c1IwRkJUMjFETEV0QlJ6RkNiRUlzUlVGQlQwOHNSVUZCVVZVc1NVRkJTVFZDTEVkQlFVMU9MRWRCUVU5dFF5eFZRVWR3UWl4cFFrRkJWbElzUlVGRGFFSklMRVZCUVZWUUxFVkJRVTlQTEVWQlFWRlZMRWxCUVVrMVFpeEhRVUZOY1VJc1IwRkJUMUVzUzBGRmNrSXNhVUpCUVZaU0xFZEJRWE5DVUN4RlFVRk5WaXhSUVVGUmJVSXNUMEZCVTJ4RExFVkJRV05uUXl4SFFVTndSVWdzUlVGQlZVRXNSVUZCVVZVc1NVRkJTVFZDTEVkQlFVdDNRaXhKUVVGSmJFTXNSVUZCVlN0Q0xFbEJRVkZSTEUxQlJYQkRMRTFCUVZSU0xFbEJRMFpCTEVWQlFWRXNTVUZGVmtnc1JVRkJWVUVzUlVGQlVWVXNTVUZCU1RWQ0xFVkJRVXR4UWl4RlFVRk5WU3haUVVGWlJpeE5RVXR5UkN4UFFVRlBXQ3hIUVVkWVRpeEZRVUZqTVVJc1JVRkJVVGhETEU5QlFVOXVRaXhGUVVGVlZpeExRVUZMUXl4UlFVRlJOa0lzVDBGQlVUbENMRXRCUVV0RExGRkJRVkU0UWl4UlFVRlRMRU5CUTJoR1F5eFRRVUZWYUVNc1MwRkJTME1zVVVGQlVTdENMRk5CUTNaQ1F5eHZRa0ZCY1VKcVF5eExRVUZMUXl4UlFVRlJaME1zYzBKQlJUZENla0lzUlVGQlQwTXNSVUZCWVVvc1IwRkJVelpDTEVsQlFVbHNReXhMUVVGTFF5eFJRVUZSYTBNc1lVRkhhRVI0UXl4RlFYQkhVeXhMUVhkSGFrSlBMRXRCUVV0R0lpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMM04wWVdkcGJtY3ZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12ZUcxc01tcHpMMnhwWWk5aWRXbHNaR1Z5TG1wekluMD0iLCIoZnVuY3Rpb24oKXtleHBvcnRzLmRlZmF1bHRzPXsuMTp7ZXhwbGljaXRDaGFya2V5OiExLHRyaW06ITAsbm9ybWFsaXplOiEwLG5vcm1hbGl6ZVRhZ3M6ITEsYXR0cmtleTpcIkBcIixjaGFya2V5OlwiI1wiLGV4cGxpY2l0QXJyYXk6ITEsaWdub3JlQXR0cnM6ITEsbWVyZ2VBdHRyczohMSxleHBsaWNpdFJvb3Q6ITEsdmFsaWRhdG9yOm51bGwseG1sbnM6ITEsZXhwbGljaXRDaGlsZHJlbjohMSxjaGlsZGtleTpcIkBAXCIsY2hhcnNBc0NoaWxkcmVuOiExLGluY2x1ZGVXaGl0ZUNoYXJzOiExLGFzeW5jOiExLHN0cmljdDohMCxhdHRyTmFtZVByb2Nlc3NvcnM6bnVsbCxhdHRyVmFsdWVQcm9jZXNzb3JzOm51bGwsdGFnTmFtZVByb2Nlc3NvcnM6bnVsbCx2YWx1ZVByb2Nlc3NvcnM6bnVsbCxlbXB0eVRhZzpcIlwifSwuMjp7ZXhwbGljaXRDaGFya2V5OiExLHRyaW06ITEsbm9ybWFsaXplOiExLG5vcm1hbGl6ZVRhZ3M6ITEsYXR0cmtleTpcIiRcIixjaGFya2V5OlwiX1wiLGV4cGxpY2l0QXJyYXk6ITAsaWdub3JlQXR0cnM6ITEsbWVyZ2VBdHRyczohMSxleHBsaWNpdFJvb3Q6ITAsdmFsaWRhdG9yOm51bGwseG1sbnM6ITEsZXhwbGljaXRDaGlsZHJlbjohMSxwcmVzZXJ2ZUNoaWxkcmVuT3JkZXI6ITEsY2hpbGRrZXk6XCIkJFwiLGNoYXJzQXNDaGlsZHJlbjohMSxpbmNsdWRlV2hpdGVDaGFyczohMSxhc3luYzohMSxzdHJpY3Q6ITAsYXR0ck5hbWVQcm9jZXNzb3JzOm51bGwsYXR0clZhbHVlUHJvY2Vzc29yczpudWxsLHRhZ05hbWVQcm9jZXNzb3JzOm51bGwsdmFsdWVQcm9jZXNzb3JzOm51bGwscm9vdE5hbWU6XCJyb290XCIseG1sZGVjOnt2ZXJzaW9uOlwiMS4wXCIsZW5jb2Rpbmc6XCJVVEYtOFwiLHN0YW5kYWxvbmU6ITB9LGRvY3R5cGU6bnVsbCxyZW5kZXJPcHRzOntwcmV0dHk6ITAsaW5kZW50OlwiICBcIixuZXdsaW5lOlwiXFxuXCJ9LGhlYWRsZXNzOiExLGNodW5rU2l6ZToxZTQsZW1wdHlUYWc6XCJcIixjZGF0YTohMX19fSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltUmxabUYxYkhSekxtcHpJbDBzSW01aGJXVnpJanBiSW1WNGNHOXlkSE1pTENKa1pXWmhkV3gwY3lJc0lqQXVNU0lzSW1WNGNHeHBZMmwwUTJoaGNtdGxlU0lzSW5SeWFXMGlMQ0p1YjNKdFlXeHBlbVVpTENKdWIzSnRZV3hwZW1WVVlXZHpJaXdpWVhSMGNtdGxlU0lzSW1Ob1lYSnJaWGtpTENKbGVIQnNhV05wZEVGeWNtRjVJaXdpYVdkdWIzSmxRWFIwY25NaUxDSnRaWEpuWlVGMGRISnpJaXdpWlhod2JHbGphWFJTYjI5MElpd2lkbUZzYVdSaGRHOXlJaXdpZUcxc2JuTWlMQ0psZUhCc2FXTnBkRU5vYVd4a2NtVnVJaXdpWTJocGJHUnJaWGtpTENKamFHRnljMEZ6UTJocGJHUnlaVzRpTENKcGJtTnNkV1JsVjJocGRHVkRhR0Z5Y3lJc0ltRnplVzVqSWl3aWMzUnlhV04wSWl3aVlYUjBjazVoYldWUWNtOWpaWE56YjNKeklpd2lZWFIwY2xaaGJIVmxVSEp2WTJWemMyOXljeUlzSW5SaFowNWhiV1ZRY205alpYTnpiM0p6SWl3aWRtRnNkV1ZRY205alpYTnpiM0p6SWl3aVpXMXdkSGxVWVdjaUxDSXdMaklpTENKd2NtVnpaWEoyWlVOb2FXeGtjbVZ1VDNKa1pYSWlMQ0p5YjI5MFRtRnRaU0lzSW5odGJHUmxZeUlzSW5abGNuTnBiMjRpTENKbGJtTnZaR2x1WnlJc0luTjBZVzVrWVd4dmJtVWlMQ0prYjJOMGVYQmxJaXdpY21WdVpHVnlUM0IwY3lJc0luQnlaWFIwZVNJc0ltbHVaR1Z1ZENJc0ltNWxkMnhwYm1VaUxDSm9aV0ZrYkdWemN5SXNJbU5vZFc1clUybDZaU0lzSW1Oa1lYUmhJaXdpWTJGc2JDSXNJblJvYVhNaVhTd2liV0Z3Y0dsdVozTWlPaUpEUVVOQkxGZEJRMFZCTEZGQlFWRkRMRk5CUVZjc1EwRkRha0pETEVkQlFVOHNRMEZEVEVNc2FVSkJRV2xDTEVWQlEycENReXhOUVVGTkxFVkJRMDVETEZkQlFWY3NSVUZEV0VNc1pVRkJaU3hGUVVObVF5eFJRVUZUTEVsQlExUkRMRkZCUVZNc1NVRkRWRU1zWlVGQlpTeEZRVU5tUXl4aFFVRmhMRVZCUTJKRExGbEJRVmtzUlVGRFdrTXNZMEZCWXl4RlFVTmtReXhWUVVGWExFdEJRMWhETEU5QlFVOHNSVUZEVUVNc2EwSkJRV3RDTEVWQlEyeENReXhUUVVGVkxFdEJRMVpETEdsQ1FVRnBRaXhGUVVOcVFrTXNiVUpCUVcxQ0xFVkJRMjVDUXl4UFFVRlBMRVZCUTFCRExGRkJRVkVzUlVGRFVrTXNiVUpCUVc5Q0xFdEJRM0JDUXl4dlFrRkJjVUlzUzBGRGNrSkRMR3RDUVVGdFFpeExRVU51UWtNc1owSkJRV2xDTEV0QlEycENReXhUUVVGVkxFbEJSVnBETEVkQlFVOHNRMEZEVEhaQ0xHbENRVUZwUWl4RlFVTnFRa01zVFVGQlRTeEZRVU5PUXl4WFFVRlhMRVZCUTFoRExHVkJRV1VzUlVGRFprTXNVVUZCVXl4SlFVTlVReXhSUVVGVExFbEJRMVJETEdWQlFXVXNSVUZEWmtNc1lVRkJZU3hGUVVOaVF5eFpRVUZaTEVWQlExcERMR05CUVdNc1JVRkRaRU1zVlVGQlZ5eExRVU5ZUXl4UFFVRlBMRVZCUTFCRExHdENRVUZyUWl4RlFVTnNRbGtzZFVKQlFYVkNMRVZCUTNaQ1dDeFRRVUZWTEV0QlExWkRMR2xDUVVGcFFpeEZRVU5xUWtNc2JVSkJRVzFDTEVWQlEyNUNReXhQUVVGUExFVkJRMUJETEZGQlFWRXNSVUZEVWtNc2JVSkJRVzlDTEV0QlEzQkNReXh2UWtGQmNVSXNTMEZEY2tKRExHdENRVUZ0UWl4TFFVTnVRa01zWjBKQlFXbENMRXRCUTJwQ1NTeFRRVUZWTEU5QlExWkRMRTlCUVZFc1EwRkRUa01zVVVGQlZ5eE5RVU5ZUXl4VFFVRlpMRkZCUTFwRExGbEJRV01zUjBGRmFFSkRMRkZCUVZNc1MwRkRWRU1zVjBGQldTeERRVU5XUXl4UlFVRlZMRVZCUTFaRExFOUJRVlVzUzBGRFZrTXNVVUZCVnl4TlFVVmlReXhWUVVGVkxFVkJRMVpETEZWQlFWY3NTVUZEV0dRc1UwRkJWU3hIUVVOV1pTeFBRVUZQTEUxQlNWWkRMRXRCUVV0RElpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMM04wWVdkcGJtY3ZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12ZUcxc01tcHpMMnhwWWk5a1pXWmhkV3gwY3k1cWN5SjkiLCIoZnVuY3Rpb24oKXtcInVzZSBzdHJpY3RcIjt2YXIgdCxyLHMsZSxpLG4sbyxhLGg9ZnVuY3Rpb24odCxyKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdC5hcHBseShyLGFyZ3VtZW50cyl9fSxwPXt9Lmhhc093blByb3BlcnR5O289cmVxdWlyZShcInNheFwiKSxzPXJlcXVpcmUoXCJldmVudHNcIiksdD1yZXF1aXJlKFwiLi9ib21cIiksbj1yZXF1aXJlKFwiLi9wcm9jZXNzb3JzXCIpLGE9cmVxdWlyZShcInRpbWVyc1wiKS5zZXRJbW1lZGlhdGUscj1yZXF1aXJlKFwiLi9kZWZhdWx0c1wiKS5kZWZhdWx0cyxlPWZ1bmN0aW9uKHQpe3JldHVyblwib2JqZWN0XCI9PXR5cGVvZiB0JiZudWxsIT10JiYwPT09T2JqZWN0LmtleXModCkubGVuZ3RofSxpPWZ1bmN0aW9uKHQscixzKXt2YXIgZSxpO2ZvcihlPTAsaT10Lmxlbmd0aDtlPGk7ZSsrKXI9KDAsdFtlXSkocixzKTtyZXR1cm4gcn0sZXhwb3J0cy5QYXJzZXI9ZnVuY3Rpb24oYyl7ZnVuY3Rpb24gdSh0KXt2YXIgcyxlLGk7aWYodGhpcy5wYXJzZVN0cmluZ1Byb21pc2U9aCh0aGlzLnBhcnNlU3RyaW5nUHJvbWlzZSx0aGlzKSx0aGlzLnBhcnNlU3RyaW5nPWgodGhpcy5wYXJzZVN0cmluZyx0aGlzKSx0aGlzLnJlc2V0PWgodGhpcy5yZXNldCx0aGlzKSx0aGlzLmFzc2lnbk9yUHVzaD1oKHRoaXMuYXNzaWduT3JQdXNoLHRoaXMpLHRoaXMucHJvY2Vzc0FzeW5jPWgodGhpcy5wcm9jZXNzQXN5bmMsdGhpcyksISh0aGlzIGluc3RhbmNlb2YgZXhwb3J0cy5QYXJzZXIpKXJldHVybiBuZXcgZXhwb3J0cy5QYXJzZXIodCk7Zm9yKHMgaW4gdGhpcy5vcHRpb25zPXt9LGU9clsuMl0pcC5jYWxsKGUscykmJihpPWVbc10sdGhpcy5vcHRpb25zW3NdPWkpO2ZvcihzIGluIHQpcC5jYWxsKHQscykmJihpPXRbc10sdGhpcy5vcHRpb25zW3NdPWkpO3RoaXMub3B0aW9ucy54bWxucyYmKHRoaXMub3B0aW9ucy54bWxuc2tleT10aGlzLm9wdGlvbnMuYXR0cmtleStcIm5zXCIpLHRoaXMub3B0aW9ucy5ub3JtYWxpemVUYWdzJiYodGhpcy5vcHRpb25zLnRhZ05hbWVQcm9jZXNzb3JzfHwodGhpcy5vcHRpb25zLnRhZ05hbWVQcm9jZXNzb3JzPVtdKSx0aGlzLm9wdGlvbnMudGFnTmFtZVByb2Nlc3NvcnMudW5zaGlmdChuLm5vcm1hbGl6ZSkpLHRoaXMucmVzZXQoKX1yZXR1cm4gZnVuY3Rpb24odCxyKXtmb3IodmFyIHMgaW4gcilwLmNhbGwocixzKSYmKHRbc109cltzXSk7ZnVuY3Rpb24gZSgpe3RoaXMuY29uc3RydWN0b3I9dH1lLnByb3RvdHlwZT1yLnByb3RvdHlwZSx0LnByb3RvdHlwZT1uZXcgZSx0Ll9fc3VwZXJfXz1yLnByb3RvdHlwZX0odSxzKSx1LnByb3RvdHlwZS5wcm9jZXNzQXN5bmM9ZnVuY3Rpb24oKXt2YXIgdCxyO3RyeXtyZXR1cm4gdGhpcy5yZW1haW5pbmcubGVuZ3RoPD10aGlzLm9wdGlvbnMuY2h1bmtTaXplPyh0PXRoaXMucmVtYWluaW5nLHRoaXMucmVtYWluaW5nPVwiXCIsdGhpcy5zYXhQYXJzZXI9dGhpcy5zYXhQYXJzZXIud3JpdGUodCksdGhpcy5zYXhQYXJzZXIuY2xvc2UoKSk6KHQ9dGhpcy5yZW1haW5pbmcuc3Vic3RyKDAsdGhpcy5vcHRpb25zLmNodW5rU2l6ZSksdGhpcy5yZW1haW5pbmc9dGhpcy5yZW1haW5pbmcuc3Vic3RyKHRoaXMub3B0aW9ucy5jaHVua1NpemUsdGhpcy5yZW1haW5pbmcubGVuZ3RoKSx0aGlzLnNheFBhcnNlcj10aGlzLnNheFBhcnNlci53cml0ZSh0KSxhKHRoaXMucHJvY2Vzc0FzeW5jKSl9Y2F0Y2godCl7aWYocj10LCF0aGlzLnNheFBhcnNlci5lcnJUaHJvd24pcmV0dXJuIHRoaXMuc2F4UGFyc2VyLmVyclRocm93bj0hMCx0aGlzLmVtaXQocil9fSx1LnByb3RvdHlwZS5hc3NpZ25PclB1c2g9ZnVuY3Rpb24odCxyLHMpe3JldHVybiByIGluIHQ/KHRbcl1pbnN0YW5jZW9mIEFycmF5fHwodFtyXT1bdFtyXV0pLHRbcl0ucHVzaChzKSk6dGhpcy5vcHRpb25zLmV4cGxpY2l0QXJyYXk/dFtyXT1bc106dFtyXT1zfSx1LnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3ZhciB0LHIscyxuLGE7cmV0dXJuIHRoaXMucmVtb3ZlQWxsTGlzdGVuZXJzKCksdGhpcy5zYXhQYXJzZXI9by5wYXJzZXIodGhpcy5vcHRpb25zLnN0cmljdCx7dHJpbTohMSxub3JtYWxpemU6ITEseG1sbnM6dGhpcy5vcHRpb25zLnhtbG5zfSksdGhpcy5zYXhQYXJzZXIuZXJyVGhyb3duPSExLHRoaXMuc2F4UGFyc2VyLm9uZXJyb3I9KGE9dGhpcyxmdW5jdGlvbih0KXtpZihhLnNheFBhcnNlci5yZXN1bWUoKSwhYS5zYXhQYXJzZXIuZXJyVGhyb3duKXJldHVybiBhLnNheFBhcnNlci5lcnJUaHJvd249ITAsYS5lbWl0KFwiZXJyb3JcIix0KX0pLHRoaXMuc2F4UGFyc2VyLm9uZW5kPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe2lmKCF0LnNheFBhcnNlci5lbmRlZClyZXR1cm4gdC5zYXhQYXJzZXIuZW5kZWQ9ITAsdC5lbWl0KFwiZW5kXCIsdC5yZXN1bHRPYmplY3QpfX0odGhpcyksdGhpcy5zYXhQYXJzZXIuZW5kZWQ9ITEsdGhpcy5FWFBMSUNJVF9DSEFSS0VZPXRoaXMub3B0aW9ucy5leHBsaWNpdENoYXJrZXksdGhpcy5yZXN1bHRPYmplY3Q9bnVsbCxuPVtdLHQ9dGhpcy5vcHRpb25zLmF0dHJrZXkscj10aGlzLm9wdGlvbnMuY2hhcmtleSx0aGlzLnNheFBhcnNlci5vbm9wZW50YWc9ZnVuY3Rpb24ocyl7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciBvLGEsaCxjLHU7aWYoKGg9e30pW3JdPVwiXCIsIXMub3B0aW9ucy5pZ25vcmVBdHRycylmb3IobyBpbiB1PWUuYXR0cmlidXRlcylwLmNhbGwodSxvKSYmKHQgaW4gaHx8cy5vcHRpb25zLm1lcmdlQXR0cnN8fChoW3RdPXt9KSxhPXMub3B0aW9ucy5hdHRyVmFsdWVQcm9jZXNzb3JzP2kocy5vcHRpb25zLmF0dHJWYWx1ZVByb2Nlc3NvcnMsZS5hdHRyaWJ1dGVzW29dLG8pOmUuYXR0cmlidXRlc1tvXSxjPXMub3B0aW9ucy5hdHRyTmFtZVByb2Nlc3NvcnM/aShzLm9wdGlvbnMuYXR0ck5hbWVQcm9jZXNzb3JzLG8pOm8scy5vcHRpb25zLm1lcmdlQXR0cnM/cy5hc3NpZ25PclB1c2goaCxjLGEpOmhbdF1bY109YSk7cmV0dXJuIGhbXCIjbmFtZVwiXT1zLm9wdGlvbnMudGFnTmFtZVByb2Nlc3NvcnM/aShzLm9wdGlvbnMudGFnTmFtZVByb2Nlc3NvcnMsZS5uYW1lKTplLm5hbWUscy5vcHRpb25zLnhtbG5zJiYoaFtzLm9wdGlvbnMueG1sbnNrZXldPXt1cmk6ZS51cmksbG9jYWw6ZS5sb2NhbH0pLG4ucHVzaChoKX19KHRoaXMpLHRoaXMuc2F4UGFyc2VyLm9uY2xvc2V0YWc9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIHMsbyxhLGgsYyx1LGwsbSxmLFA7aWYodT1uLnBvcCgpLGM9dVtcIiNuYW1lXCJdLHQub3B0aW9ucy5leHBsaWNpdENoaWxkcmVuJiZ0Lm9wdGlvbnMucHJlc2VydmVDaGlsZHJlbk9yZGVyfHxkZWxldGUgdVtcIiNuYW1lXCJdLCEwPT09dS5jZGF0YSYmKHM9dS5jZGF0YSxkZWxldGUgdS5jZGF0YSksZj1uW24ubGVuZ3RoLTFdLHVbcl0ubWF0Y2goL15cXHMqJC8pJiYhcz8obz11W3JdLGRlbGV0ZSB1W3JdKToodC5vcHRpb25zLnRyaW0mJih1W3JdPXVbcl0udHJpbSgpKSx0Lm9wdGlvbnMubm9ybWFsaXplJiYodVtyXT11W3JdLnJlcGxhY2UoL1xcc3syLH0vZyxcIiBcIikudHJpbSgpKSx1W3JdPXQub3B0aW9ucy52YWx1ZVByb2Nlc3NvcnM/aSh0Lm9wdGlvbnMudmFsdWVQcm9jZXNzb3JzLHVbcl0sYyk6dVtyXSwxPT09T2JqZWN0LmtleXModSkubGVuZ3RoJiZyIGluIHUmJiF0LkVYUExJQ0lUX0NIQVJLRVkmJih1PXVbcl0pKSxlKHUpJiYodT1cIlwiIT09dC5vcHRpb25zLmVtcHR5VGFnP3Qub3B0aW9ucy5lbXB0eVRhZzpvKSxudWxsIT10Lm9wdGlvbnMudmFsaWRhdG9yJiYoUD1cIi9cIitmdW5jdGlvbigpe3ZhciB0LHIscztmb3Iocz1bXSx0PTAscj1uLmxlbmd0aDt0PHI7dCsrKWg9blt0XSxzLnB1c2goaFtcIiNuYW1lXCJdKTtyZXR1cm4gc30oKS5jb25jYXQoYykuam9pbihcIi9cIiksZnVuY3Rpb24oKXt2YXIgcjt0cnl7dT10Lm9wdGlvbnMudmFsaWRhdG9yKFAsZiYmZltjXSx1KX1jYXRjaChzKXtyZXR1cm4gcj1zLHQuZW1pdChcImVycm9yXCIscil9fSgpKSx0Lm9wdGlvbnMuZXhwbGljaXRDaGlsZHJlbiYmIXQub3B0aW9ucy5tZXJnZUF0dHJzJiZcIm9iamVjdFwiPT10eXBlb2YgdSlpZih0Lm9wdGlvbnMucHJlc2VydmVDaGlsZHJlbk9yZGVyKXtpZihmKXtmb3IoYSBpbiBmW3Qub3B0aW9ucy5jaGlsZGtleV09Zlt0Lm9wdGlvbnMuY2hpbGRrZXldfHxbXSxsPXt9LHUpcC5jYWxsKHUsYSkmJihsW2FdPXVbYV0pO2ZbdC5vcHRpb25zLmNoaWxka2V5XS5wdXNoKGwpLGRlbGV0ZSB1W1wiI25hbWVcIl0sMT09PU9iamVjdC5rZXlzKHUpLmxlbmd0aCYmciBpbiB1JiYhdC5FWFBMSUNJVF9DSEFSS0VZJiYodT11W3JdKX19ZWxzZSBoPXt9LHQub3B0aW9ucy5hdHRya2V5IGluIHUmJihoW3Qub3B0aW9ucy5hdHRya2V5XT11W3Qub3B0aW9ucy5hdHRya2V5XSxkZWxldGUgdVt0Lm9wdGlvbnMuYXR0cmtleV0pLCF0Lm9wdGlvbnMuY2hhcnNBc0NoaWxkcmVuJiZ0Lm9wdGlvbnMuY2hhcmtleSBpbiB1JiYoaFt0Lm9wdGlvbnMuY2hhcmtleV09dVt0Lm9wdGlvbnMuY2hhcmtleV0sZGVsZXRlIHVbdC5vcHRpb25zLmNoYXJrZXldKSxPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh1KS5sZW5ndGg+MCYmKGhbdC5vcHRpb25zLmNoaWxka2V5XT11KSx1PWg7cmV0dXJuIG4ubGVuZ3RoPjA/dC5hc3NpZ25PclB1c2goZixjLHUpOih0Lm9wdGlvbnMuZXhwbGljaXRSb290JiYobT11LCh1PXt9KVtjXT1tKSx0LnJlc3VsdE9iamVjdD11LHQuc2F4UGFyc2VyLmVuZGVkPSEwLHQuZW1pdChcImVuZFwiLHQucmVzdWx0T2JqZWN0KSl9fSh0aGlzKSxzPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihzKXt2YXIgZSxpO2lmKGk9bltuLmxlbmd0aC0xXSlyZXR1cm4gaVtyXSs9cyx0Lm9wdGlvbnMuZXhwbGljaXRDaGlsZHJlbiYmdC5vcHRpb25zLnByZXNlcnZlQ2hpbGRyZW5PcmRlciYmdC5vcHRpb25zLmNoYXJzQXNDaGlsZHJlbiYmKHQub3B0aW9ucy5pbmNsdWRlV2hpdGVDaGFyc3x8XCJcIiE9PXMucmVwbGFjZSgvXFxcXG4vZyxcIlwiKS50cmltKCkpJiYoaVt0Lm9wdGlvbnMuY2hpbGRrZXldPWlbdC5vcHRpb25zLmNoaWxka2V5XXx8W10sKGU9e1wiI25hbWVcIjpcIl9fdGV4dF9fXCJ9KVtyXT1zLHQub3B0aW9ucy5ub3JtYWxpemUmJihlW3JdPWVbcl0ucmVwbGFjZSgvXFxzezIsfS9nLFwiIFwiKS50cmltKCkpLGlbdC5vcHRpb25zLmNoaWxka2V5XS5wdXNoKGUpKSxpfX0odGhpcyksdGhpcy5zYXhQYXJzZXIub250ZXh0PXMsdGhpcy5zYXhQYXJzZXIub25jZGF0YT1mdW5jdGlvbih0KXt2YXIgcjtpZihyPXModCkpcmV0dXJuIHIuY2RhdGE9ITB9fSx1LnByb3RvdHlwZS5wYXJzZVN0cmluZz1mdW5jdGlvbihyLHMpe3ZhciBlO251bGwhPXMmJlwiZnVuY3Rpb25cIj09dHlwZW9mIHMmJih0aGlzLm9uKFwiZW5kXCIsZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMucmVzZXQoKSxzKG51bGwsdCl9KSx0aGlzLm9uKFwiZXJyb3JcIixmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5yZXNldCgpLHModCl9KSk7dHJ5e3JldHVyblwiXCI9PT0ocj1yLnRvU3RyaW5nKCkpLnRyaW0oKT8odGhpcy5lbWl0KFwiZW5kXCIsbnVsbCksITApOihyPXQuc3RyaXBCT00ociksdGhpcy5vcHRpb25zLmFzeW5jPyh0aGlzLnJlbWFpbmluZz1yLGEodGhpcy5wcm9jZXNzQXN5bmMpLHRoaXMuc2F4UGFyc2VyKTp0aGlzLnNheFBhcnNlci53cml0ZShyKS5jbG9zZSgpKX1jYXRjaCh0KXtpZihlPXQsIXRoaXMuc2F4UGFyc2VyLmVyclRocm93biYmIXRoaXMuc2F4UGFyc2VyLmVuZGVkKXJldHVybiB0aGlzLmVtaXQoXCJlcnJvclwiLGUpLHRoaXMuc2F4UGFyc2VyLmVyclRocm93bj0hMDtpZih0aGlzLnNheFBhcnNlci5lbmRlZCl0aHJvdyBlfX0sdS5wcm90b3R5cGUucGFyc2VTdHJpbmdQcm9taXNlPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgUHJvbWlzZSgocj10aGlzLGZ1bmN0aW9uKHMsZSl7cmV0dXJuIHIucGFyc2VTdHJpbmcodCxmdW5jdGlvbih0LHIpe3JldHVybiB0P2UodCk6cyhyKX0pfSkpO3ZhciByfSx1fSgpLGV4cG9ydHMucGFyc2VTdHJpbmc9ZnVuY3Rpb24odCxyLHMpe3ZhciBlLGk7cmV0dXJuIG51bGwhPXM/KFwiZnVuY3Rpb25cIj09dHlwZW9mIHMmJihlPXMpLFwib2JqZWN0XCI9PXR5cGVvZiByJiYoaT1yKSk6KFwiZnVuY3Rpb25cIj09dHlwZW9mIHImJihlPXIpLGk9e30pLG5ldyBleHBvcnRzLlBhcnNlcihpKS5wYXJzZVN0cmluZyh0LGUpfSxleHBvcnRzLnBhcnNlU3RyaW5nUHJvbWlzZT1mdW5jdGlvbih0LHIpe3ZhciBzO3JldHVyblwib2JqZWN0XCI9PXR5cGVvZiByJiYocz1yKSxuZXcgZXhwb3J0cy5QYXJzZXIocykucGFyc2VTdHJpbmdQcm9taXNlKHQpfX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbkJoY25ObGNpNXFjeUpkTENKdVlXMWxjeUk2V3lKaWIyMGlMQ0prWldaaGRXeDBjeUlzSW1WMlpXNTBjeUlzSW1selJXMXdkSGtpTENKd2NtOWpaWE56U1hSbGJTSXNJbkJ5YjJObGMzTnZjbk1pTENKellYZ2lMQ0p6WlhSSmJXMWxaR2xoZEdVaUxDSmlhVzVrSWl3aVptNGlMQ0p0WlNJc0ltRndjR3g1SWl3aVlYSm5kVzFsYm5Seklpd2lhR0Z6VUhKdmNDSXNJbWhoYzA5M2JsQnliM0JsY25SNUlpd2ljbVZ4ZFdseVpTSXNJblJvYVc1bklpd2lUMkpxWldOMElpd2lhMlY1Y3lJc0lteGxibWQwYUNJc0ltbDBaVzBpTENKclpYa2lMQ0pwSWl3aWJHVnVJaXdpY0hKdlkyVnpjeUlzSW1WNGNHOXlkSE1pTENKUVlYSnpaWElpTENKemRYQmxja05zWVhOeklpd2liM0IwY3lJc0luSmxaaUlzSW5aaGJIVmxJaXdpZEdocGN5SXNJbkJoY25ObFUzUnlhVzVuVUhKdmJXbHpaU0lzSW5CaGNuTmxVM1J5YVc1bklpd2ljbVZ6WlhRaUxDSmhjM05wWjI1UGNsQjFjMmdpTENKd2NtOWpaWE56UVhONWJtTWlMQ0p2Y0hScGIyNXpJaXdpWTJGc2JDSXNJbmh0Ykc1eklpd2llRzFzYm5OclpYa2lMQ0poZEhSeWEyVjVJaXdpYm05eWJXRnNhWHBsVkdGbmN5SXNJblJoWjA1aGJXVlFjbTlqWlhOemIzSnpJaXdpZFc1emFHbG1kQ0lzSW01dmNtMWhiR2w2WlNJc0ltTm9hV3hrSWl3aWNHRnlaVzUwSWl3aVkzUnZjaUlzSW1OdmJuTjBjblZqZEc5eUlpd2ljSEp2ZEc5MGVYQmxJaXdpWDE5emRYQmxjbDlmSWl3aVpYaDBaVzVrSWl3aVkyaDFibXNpTENKbGNuSWlMQ0p5WlcxaGFXNXBibWNpTENKamFIVnVhMU5wZW1VaUxDSnpZWGhRWVhKelpYSWlMQ0ozY21sMFpTSXNJbU5zYjNObElpd2ljM1ZpYzNSeUlpd2laWEp5YjNJeElpd2laWEp5VkdoeWIzZHVJaXdpWlcxcGRDSXNJbTlpYWlJc0ltNWxkMVpoYkhWbElpd2lRWEp5WVhraUxDSndkWE5vSWl3aVpYaHdiR2xqYVhSQmNuSmhlU0lzSW1Ob1lYSnJaWGtpTENKdmJuUmxlSFFpTENKemRHRmpheUlzSWw5MGFHbHpJaXdpY21WdGIzWmxRV3hzVEdsemRHVnVaWEp6SWl3aWNHRnljMlZ5SWl3aWMzUnlhV04wSWl3aWRISnBiU0lzSW05dVpYSnliM0lpTENKbGNuSnZjaUlzSW5KbGMzVnRaU0lzSW05dVpXNWtJaXdpWlc1a1pXUWlMQ0p5WlhOMWJIUlBZbXBsWTNRaUxDSkZXRkJNU1VOSlZGOURTRUZTUzBWWklpd2laWGh3YkdsamFYUkRhR0Z5YTJWNUlpd2liMjV2Y0dWdWRHRm5JaXdpYm05a1pTSXNJbkJ5YjJObGMzTmxaRXRsZVNJc0ltbG5ibTl5WlVGMGRISnpJaXdpWVhSMGNtbGlkWFJsY3lJc0ltMWxjbWRsUVhSMGNuTWlMQ0poZEhSeVZtRnNkV1ZRY205alpYTnpiM0p6SWl3aVlYUjBjazVoYldWUWNtOWpaWE56YjNKeklpd2libUZ0WlNJc0luVnlhU0lzSW14dlkyRnNJaXdpYjI1amJHOXpaWFJoWnlJc0ltTmtZWFJoSWl3aVpXMXdkSGxUZEhJaUxDSnViMlJsVG1GdFpTSXNJbTlpYWtOc2IyNWxJaXdpYjJ4a0lpd2ljeUlzSW5od1lYUm9JaXdpY0c5d0lpd2laWGh3YkdsamFYUkRhR2xzWkhKbGJpSXNJbkJ5WlhObGNuWmxRMmhwYkdSeVpXNVBjbVJsY2lJc0ltMWhkR05vSWl3aWNtVndiR0ZqWlNJc0luWmhiSFZsVUhKdlkyVnpjMjl5Y3lJc0ltVnRjSFI1VkdGbklpd2lkbUZzYVdSaGRHOXlJaXdpY21WemRXeDBjeUlzSW1OdmJtTmhkQ0lzSW1wdmFXNGlMQ0pqYUdsc1pHdGxlU0lzSW1Ob1lYSnpRWE5EYUdsc1pISmxiaUlzSW1kbGRFOTNibEJ5YjNCbGNuUjVUbUZ0WlhNaUxDSmxlSEJzYVdOcGRGSnZiM1FpTENKMFpYaDBJaXdpWTJoaGNrTm9hV3hrSWl3aWFXNWpiSFZrWlZkb2FYUmxRMmhoY25NaUxDSWpibUZ0WlNJc0ltOXVZMlJoZEdFaUxDSnpkSElpTENKallpSXNJbTl1SWl3aWNtVnpkV3gwSWl3aWRHOVRkSEpwYm1jaUxDSnpkSEpwY0VKUFRTSXNJbUZ6ZVc1aklpd2lVSEp2YldselpTSXNJbkpsYzI5c2RtVWlMQ0p5WldwbFkzUWlMQ0poSWl3aVlpSmRMQ0p0WVhCd2FXNW5jeUk2SWtOQlEwRXNWMEZEUlN4aFFVTkJMRWxCUVVsQkxFVkJRVXRETEVWQlFWVkRMRVZCUVZGRExFVkJRVk5ETEVWQlFXRkRMRVZCUVZsRExFVkJRVXRETEVWQlEyaEZReXhGUVVGUExGTkJRVk5ETEVWQlFVbERMRWRCUVVzc1QwRkJUeXhYUVVGWkxFOUJRVTlFTEVWQlFVZEZMRTFCUVUxRUxFVkJRVWxGTEdGQlJXaEZReXhGUVVGVkxFZEJRVWRETEdWQlJXWlNMRVZCUVUxVExGRkJRVkVzVDBGRlpHSXNSVUZCVTJFc1VVRkJVU3hWUVVWcVFtWXNSVUZCVFdVc1VVRkJVU3hUUVVWa1ZpeEZRVUZoVlN4UlFVRlJMR2RDUVVWeVFsSXNSVUZCWlZFc1VVRkJVU3hWUVVGVlVpeGhRVVZxUTA0c1JVRkJWMk1zVVVGQlVTeGpRVUZqWkN4VFFVVnFRMFVzUlVGQlZTeFRRVUZUWVN4SFFVTnFRaXhOUVVGM1FpeHBRa0ZCVmtFc1IwRkJaME1zVFVGQlZFRXNSMEZCWjBRc1NVRkJPVUpETEU5QlFVOURMRXRCUVV0R0xFZEJRVTlITEZGQlJ6VkZaaXhGUVVGakxGTkJRVk5ETEVWQlFWbGxMRVZCUVUxRExFZEJRM1pETEVsQlFVbERMRVZCUVVkRExFVkJRMUFzU1VGQlMwUXNSVUZCU1N4RlFVRkhReXhGUVVGTmJFSXNSVUZCVjJNc1QwRkJVVWNzUlVGQlNVTXNSVUZCUzBRc1NVRkZOVU5HTEVkQlJFRkpMRVZCUVZWdVFpeEZRVUZYYVVJc1NVRkRUa1lzUlVGQlRVTXNSMEZGZGtJc1QwRkJUMFFzUjBGSFZFc3NVVUZCVVVNc1QwRkJVeXhUUVVGVlF5eEhRVWQ2UWl4VFFVRlRSQ3hGUVVGUFJTeEhRVTFrTEVsQlFVbFFMRVZCUVV0UkxFVkJRVXRETEVWQlEyUXNSMEZPUVVNc1MwRkJTME1zYlVKQlFYRkNlRUlzUlVGQlMzVkNMRXRCUVV0RExHMUNRVUZ2UWtRc1RVRkRlRVJCTEV0QlFVdEZMRmxCUVdONlFpeEZRVUZMZFVJc1MwRkJTMFVzV1VGQllVWXNUVUZETVVOQkxFdEJRVXRITEUxQlFWRXhRaXhGUVVGTGRVSXNTMEZCUzBjc1RVRkJUMGdzVFVGRE9VSkJMRXRCUVV0SkxHRkJRV1V6UWl4RlFVRkxkVUlzUzBGQlMwa3NZVUZCWTBvc1RVRkROVU5CTEV0QlFVdExMR0ZCUVdVMVFpeEZRVUZMZFVJc1MwRkJTMHNzWVVGQlkwd3NVVUZGZEVOQkxHZENRVUZuUWs0c1VVRkJVVU1zVVVGRE5VSXNUMEZCVHl4SlFVRkpSQ3hSUVVGUlF5eFBRVUZQUlN4SFFVazFRaXhKUVVGTFVDeExRVVpNVlN4TFFVRkxUU3hSUVVGVkxFZEJRMlpTTEVWQlFVMDFRaXhGUVVGVExFbEJSVkpaTEVWQlFWRjVRaXhMUVVGTFZDeEZRVUZMVWl4TFFVTjJRbE1zUlVGQlVVUXNSVUZCU1ZJc1IwRkRXbFVzUzBGQlMwMHNVVUZCVVdoQ0xFZEJRVTlUTEVkQlJYUkNMRWxCUVV0VUxFdEJRVTlQTEVWQlEweG1MRVZCUVZGNVFpeExRVUZMVml4RlFVRk5VQ3hMUVVONFFsTXNSVUZCVVVZc1JVRkJTMUFzUjBGRFlsVXNTMEZCUzAwc1VVRkJVV2hDTEVkQlFVOVRMRWRCUld4Q1F5eExRVUZMVFN4UlFVRlJSU3hSUVVObVVpeExRVUZMVFN4UlFVRlJSeXhUUVVGWFZDeExRVUZMVFN4UlFVRlJTU3hSUVVGVkxFMUJSVGREVml4TFFVRkxUU3hSUVVGUlN5eG5Ra0ZEVmxnc1MwRkJTMDBzVVVGQlVVMHNiMEpCUTJoQ1dpeExRVUZMVFN4UlFVRlJUU3hyUWtGQmIwSXNTVUZGYmtOYUxFdEJRVXROTEZGQlFWRk5MR3RDUVVGclFrTXNVVUZCVVhaRExFVkJRVmQzUXl4WlFVVndSR1FzUzBGQlMwY3NVVUY1VWxBc1QwRjJWbE1zVTBGQlUxa3NSVUZCVDBNc1IwRkJWU3hKUVVGTExFbEJRVWt4UWl4TFFVRlBNRUlzUlVGQlkyeERMRVZCUVZGNVFpeExRVUZMVXl4RlFVRlJNVUlzUzBGQlRYbENMRVZCUVUxNlFpeEhRVUZQTUVJc1JVRkJUekZDTEVsQlFWRXNVMEZCVXpKQ0xFbEJRVk5xUWl4TFFVRkxhMElzV1VGQlkwZ3NSVUZCVTBVc1JVRkJTMFVzVlVGQldVZ3NSVUZCVDBjc1ZVRkJWMG9zUlVGQlRVa3NWVUZCV1N4SlFVRkpSaXhGUVVGUlJpeEZRVUZOU3l4VlFVRlpTaXhGUVVGUFJ5eFZRVFpDYUZGRkxFTkJRVTh4UWl4RlFUUlVUbmhDTEVkQmVGSkVkMElzUlVGQlQzZENMRlZCUVZWa0xHRkJRV1VzVjBGRE9VSXNTVUZCU1dsQ0xFVkJRVTlETEVWQlExZ3NTVUZEUlN4UFFVRkpka0lzUzBGQlMzZENMRlZCUVZWd1F5eFJRVUZWV1N4TFFVRkxUU3hSUVVGUmJVSXNWMEZEZUVOSUxFVkJRVkYwUWl4TFFVRkxkMElzVlVGRFluaENMRXRCUVV0M1FpeFZRVUZaTEVkQlEycENlRUlzUzBGQlN6QkNMRlZCUVZreFFpeExRVUZMTUVJc1ZVRkJWVU1zVFVGQlRVd3NSMEZETDBKMFFpeExRVUZMTUVJc1ZVRkJWVVVzVlVGRmRFSk9MRVZCUVZGMFFpeExRVUZMZDBJc1ZVRkJWVXNzVDBGQlR5eEZRVUZITjBJc1MwRkJTMDBzVVVGQlVXMUNMRmRCUXpsRGVrSXNTMEZCUzNkQ0xGVkJRVmw0UWl4TFFVRkxkMElzVlVGQlZVc3NUMEZCVHpkQ0xFdEJRVXROTEZGQlFWRnRRaXhWUVVGWGVrSXNTMEZCUzNkQ0xGVkJRVlZ3UXl4UlFVTTVSVmtzUzBGQlN6QkNMRlZCUVZreFFpeExRVUZMTUVJc1ZVRkJWVU1zVFVGQlRVd3NSMEZETDBJNVF5eEZRVUZoZDBJc1MwRkJTMHNzWlVGRk0wSXNUVUZCVDNsQ0xFZEJSVkFzUjBGRVFWQXNSVUZCVFU4c1IwRkRSRGxDTEV0QlFVc3dRaXhWUVVGVlN5eFZRVVZzUWl4UFFVUkJMMElzUzBGQlN6QkNMRlZCUVZWTExGZEJRVmtzUlVGRGNFSXZRaXhMUVVGTFowTXNTMEZCUzFRc1MwRkxka0kxUWl4RlFVRlBkMElzVlVGQlZXWXNZVUZCWlN4VFFVRlROa0lzUlVGQlN6TkRMRVZCUVVzMFF5eEhRVU5xUkN4UFFVRk5OVU1zUzBGQlR6SkRMRWRCVDB4QkxFVkJRVWt6UXl4aFFVRm5RalpETEZGQlEzaENSaXhGUVVGSk0wTXNSMEZCVHl4RFFVRkRNa01zUlVGQlNUTkRMRXRCUlZneVF5eEZRVUZKTTBNc1IwRkJTemhETEV0QlFVdEdMRWxCVkdoQ2JFTXNTMEZCUzAwc1VVRkJVU3RDTEdOQlIxUktMRVZCUVVrelF5eEhRVUZQTEVOQlFVTTBReXhIUVVaYVJDeEZRVUZKTTBNc1IwRkJUelJETEVkQldYaENka01zUlVGQlQzZENMRlZCUVZWb1FpeE5RVUZSTEZkQlEzWkNMRWxCUVVsUExFVkJRVk0wUWl4RlFVRlRReXhGUVVGUlF5eEZRVkZMUXl4RlFUQkxia01zVDBGcVRFRjZReXhMUVVGTE1FTXNjVUpCUTB3eFF5eExRVUZMTUVJc1ZVRkJXVzVFTEVWQlFVbHZSU3hQUVVGUE0wTXNTMEZCUzAwc1VVRkJVWE5ETEU5QlFWRXNRMEZETDBORExFMUJRVTBzUlVGRFRpOUNMRmRCUVZjc1JVRkRXRTRzVFVGQlQxSXNTMEZCUzAwc1VVRkJVVVVzVVVGRmRFSlNMRXRCUVVzd1FpeFZRVUZWU3l4WFFVRlpMRVZCUXpOQ0wwSXNTMEZCU3pCQ0xGVkJRVlZ2UWl4VFFVRnZRa3dzUlVGUmFFTjZReXhMUVZCTkxGTkJRVk1yUXl4SFFVVmtMRWRCUkVGT0xFVkJRVTFtTEZWQlFWVnpRaXhWUVVOWVVDeEZRVUZOWml4VlFVRlZTeXhWUVVWdVFpeFBRVVJCVlN4RlFVRk5aaXhWUVVGVlN5eFhRVUZaTEVWQlEzSkNWU3hGUVVGTlZDeExRVUZMTEZGQlFWTmxMRXRCU1dwREwwTXNTMEZCU3pCQ0xGVkJRVlYxUWl4TlFVRlJMRk5CUVZWU0xFZEJReTlDTEU5QlFVOHNWMEZEVEN4SlFVRkxRU3hGUVVGTlppeFZRVUZWZDBJc1RVRkZia0lzVDBGRVFWUXNSVUZCVFdZc1ZVRkJWWGRDTEU5QlFWRXNSVUZEYWtKVUxFVkJRVTFVTEV0QlFVc3NUVUZCVDFNc1JVRkJUVlVzWlVGS1pDeERRVTl3UW01RUxFMUJRMGhCTEV0QlFVc3dRaXhWUVVGVmQwSXNUMEZCVVN4RlFVTjJRbXhFTEV0QlFVdHZSQ3hwUWtGQmJVSndSQ3hMUVVGTFRTeFJRVUZSSzBNc1owSkJRM0pEY2tRc1MwRkJTMjFFTEdGQlFXVXNTMEZEY0VKWUxFVkJRVkVzUjBGRFVqbENMRVZCUVZWV0xFdEJRVXROTEZGQlFWRkpMRkZCUTNaQ05FSXNSVUZCVlhSRExFdEJRVXROTEZGQlFWRm5ReXhSUVVOMlFuUkRMRXRCUVVzd1FpeFZRVUZWTkVJc1ZVRkJXU3hUUVVGVllpeEhRVU51UXl4UFFVRlBMRk5CUVZOakxFZEJRMlFzU1VGQlNXcEZMRVZCUVVzMFF5eEZRVUZWUkN4RlFVRkxkVUlzUlVGQll6RkVMRVZCUjNSRExFbEJSa0Z0UXl4RlFVRk5MRWxCUTBaTExFZEJRVmNzU1VGRFZrY3NSVUZCVFc1RExGRkJRVkZ0UkN4WlFVVnFRaXhKUVVGTGJrVXNTMEZFVEZFc1JVRkJUWGxFTEVWQlFVdEhMRmRCUlVvMVJTeEZRVUZSZVVJc1MwRkJTMVFzUlVGQlMxSXNTMEZEYWtKdlFpeExRVUZYZFVJc1IwRkJVMUVzUlVGQlRXNURMRkZCUVZGeFJDeGhRVU4wUXpGQ0xFVkJRVWwyUWl4SFFVRlhMRWxCUldwQ2QwSXNSVUZCVjA4c1JVRkJUVzVETEZGQlFWRnpSQ3h2UWtGQmMwSjJSaXhGUVVGWmIwVXNSVUZCVFc1RExGRkJRVkZ6UkN4dlFrRkJjVUpNTEVWQlFVdEhMRmRCUVZkd1JTeEhRVUZOUVN4SFFVRlBhVVVzUlVGQlMwY3NWMEZCVjNCRkxFZEJRek5KYTBVc1JVRkJaV1lzUlVGQlRXNURMRkZCUVZGMVJDeHRRa0ZCY1VKNFJpeEZRVUZaYjBVc1JVRkJUVzVETEZGQlFWRjFSQ3h0UWtGQmIwSjJSU3hIUVVGUFFTeEZRVU51UjIxRUxFVkJRVTF1UXl4UlFVRlJjVVFzVjBGRGFFSnNRaXhGUVVGTmNrTXNZVUZCWVRaQ0xFVkJRVXQxUWl4RlFVRmpkRUlzUjBGRmRFTkVMRVZCUVVsMlFpeEhRVUZUT0VNc1IwRkJaMEowUWl4SFFWZHVReXhQUVZCQlJDeEZRVUZKTEZOQlFWZFJMRVZCUVUxdVF5eFJRVUZSVFN4clFrRkJiMEoyUXl4RlFVRlpiMFVzUlVGQlRXNURMRkZCUVZGTkxHdENRVUZ0UWpKRExFVkJRVXRQTEUxQlFWRlFMRVZCUVV0UExFdEJRelZIY2tJc1JVRkJUVzVETEZGQlFWRkZMRkZCUTJoQ2VVSXNSVUZCU1ZFc1JVRkJUVzVETEZGQlFWRkhMRlZCUVZrc1EwRkROVUp6UkN4SlFVRkxVaXhGUVVGTFVTeEpRVU5XUXl4TlFVRlBWQ3hGUVVGTFV5eFJRVWRVZUVJc1JVRkJUVW9zUzBGQlMwZ3NTVUUxUWtzc1EwRTRRbmhDYWtNc1RVRkRTRUVzUzBGQlN6QkNMRlZCUVZWMVF5eFhRVUZoTEZOQlFWVjRRaXhIUVVOd1F5eFBRVUZQTEZkQlEwd3NTVUZCU1hsQ0xFVkJRVTlETEVWQlFWVTNSU3hGUVVGTGFVVXNSVUZCVFdFc1JVRkJWVzVETEVWQlFVdHZReXhGUVVGVlF5eEZRVUZMUXl4RlFVRkhReXhGUVdsRWFrVXNSMEZvUkVGMlF5eEZRVUZOVHl4RlFVRk5hVU1zVFVGRFdrd3NSVUZCVjI1RExFVkJRVWtzVTBGRFZsRXNSVUZCVFc1RExGRkJRVkZ2UlN4clFrRkJjVUpxUXl4RlFVRk5ia01zVVVGQlVYRkZMRGhDUVVNM1F6RkRMRVZCUVVrc1ZVRkZTeXhKUVVGa1FTeEZRVUZKYVVNc1VVRkRUa0VzUlVGQlVXcERMRVZCUVVscFF5eGhRVU5NYWtNc1JVRkJTV2xETEU5QlJXSkxMRVZCUVVrdlFpeEZRVUZOUVN4RlFVRk5jRVFzVDBGQlV5eEhRVU55UWpaRExFVkJRVWxMTEVkQlFWTnpReXhOUVVGTkxGZEJRV0ZXTEVkQlEyeERReXhGUVVGWGJFTXNSVUZCU1Vzc1ZVRkRVa3dzUlVGQlNVc3NTMEZGVUVjc1JVRkJUVzVETEZGQlFWRjFReXhQUVVOb1Fsb3NSVUZCU1Vzc1IwRkJWMHdzUlVGQlNVc3NSMEZCVTA4c1VVRkZNVUpLTEVWQlFVMXVReXhSUVVGUlVTeFpRVU5vUW0xQ0xFVkJRVWxMTEVkQlFWZE1MRVZCUVVsTExFZEJRVk4xUXl4UlFVRlJMRlZCUVZjc1MwRkJTMmhETEZGQlJYUkVXaXhGUVVGSlN5eEhRVUZYUnl4RlFVRk5ia01zVVVGQlVYZEZMR2RDUVVGclFucEhMRVZCUVZsdlJTeEZRVUZOYmtNc1VVRkJVWGRGTEdkQ1FVRnBRamRETEVWQlFVbExMRWRCUVZVNFFpeEhRVUZaYmtNc1JVRkJTVXNzUjBGRGVFWXNTVUZCTlVKd1JDeFBRVUZQUXl4TFFVRkxPRU1zUjBGQlN6ZERMRkZCUVdkQ2EwUXNTMEZCVjB3c1NVRkJVVkVzUlVGQlRWY3NiVUpCUXpWRWJrSXNSVUZCVFVFc1JVRkJTVXNzUzBGSFZteEZMRVZCUVZFMlJDeExRVU5XUVN4RlFVRnBReXhMUVVFelFsRXNSVUZCVFc1RExGRkJRVkY1UlN4VFFVRnJRblJETEVWQlFVMXVReXhSUVVGUmVVVXNVMEZCVjFvc1IwRkZiRU1zVFVGQk0wSXhRaXhGUVVGTmJrTXNVVUZCVVRCRkxGbEJRMmhDVWl4RlFVRlJMRWxCUVU4c1YwRkRZaXhKUVVGSmFrWXNSVUZCUjBNc1JVRkJTM2xHTEVWQlJWb3NTVUZFUVVFc1JVRkJWU3hIUVVOTU1VWXNSVUZCU1N4RlFVRkhReXhGUVVGTlowUXNSVUZCVFhCRUxFOUJRVkZITEVWQlFVbERMRVZCUVV0RUxFbEJRM1pEWjBVc1JVRkJUMllzUlVGQlRXcEVMRWRCUTJJd1JpeEZRVUZSTjBNc1MwRkJTMjFDTEVWQlFVc3NWVUZGY0VJc1QwRkJUekJDTEVWQlVFc3NSMEZSVWtNc1QwRkJUMlFzUjBGQlZXVXNTMEZCU3l4TFFVTTFRaXhYUVVORkxFbEJRVWsxUkN4RlFVTktMRWxCUTFOVkxFVkJRVTFSTEVWQlFVMXVReXhSUVVGUk1FVXNWVUZCVlZJc1JVRkJUMFFzUjBGQlMwRXNSVUZCUlVnc1IwRkJWMjVETEVkQlF6bEVMRTFCUVU5SUxFZEJSVkFzVDBGRVFWQXNSVUZCVFU4c1JVRkRRMWNzUlVGQlRWUXNTMEZCU3l4UlFVRlRWQ3hKUVU0dlFpeEpRVlZGYTBJc1JVRkJUVzVETEZGQlFWRnZSU3h0UWtGQmNVSnFReXhGUVVGTmJrTXNVVUZCVVhGRUxGbEJRVFpDTEdsQ1FVRlNNVUlzUlVGRGVFVXNSMEZCUzFFc1JVRkJUVzVETEZGQlFWRnhSU3gxUWtGaldpeEhRVUZKU2l4RlFVRkhMRU5CUjFvc1NVRkJTMnBHTEV0QlJreHBSaXhGUVVGRk9VSXNSVUZCVFc1RExGRkJRVkU0UlN4VlFVRlpZaXhGUVVGRk9VSXNSVUZCVFc1RExGRkJRVkU0UlN4WFFVRmhMRWRCUTNwRVppeEZRVUZYTEVkQlEwTndReXhGUVVOTWJrUXNSVUZCVVhsQ0xFdEJRVXN3UWl4RlFVRkxNME1zUzBGRGRrSXJSU3hGUVVGVEwwVXNSMEZCVHpKRExFVkJRVWt6UXl4SlFVVjBRbWxHTEVWQlFVVTVRaXhGUVVGTmJrTXNVVUZCVVRoRkxGVkJRVlZvUkN4TFFVRkxhVU1zVlVGRGVFSndReXhGUVVGSkxGTkJRM0ZDTEVsQlFUVkNMME1zVDBGQlQwTXNTMEZCU3poRExFZEJRVXMzUXl4UlFVRm5RbXRFTEV0QlFWZE1MRWxCUVZGUkxFVkJRVTFYTEcxQ1FVTTFSRzVDTEVWQlFVMUJMRVZCUVVsTExGVkJka0phYVVJc1JVRkJUeXhIUVVOSVpDeEZRVUZOYmtNc1VVRkJVVWtzVjBGQlYzVkNMRWxCUXpOQ2MwSXNSVUZCUzJRc1JVRkJUVzVETEZGQlFWRkpMRk5CUVZkMVFpeEZRVUZKVVN4RlFVRk5ia01zVVVGQlVVa3NaMEpCUTNwRGRVSXNSVUZCU1ZFc1JVRkJUVzVETEZGQlFWRkpMRmRCUlhSQ0swSXNSVUZCVFc1RExGRkJRVkVyUlN4cFFrRkJiVUkxUXl4RlFVRk5ia01zVVVGQlVXZERMRmRCUVZkTUxFbEJRemRFYzBJc1JVRkJTMlFzUlVGQlRXNURMRkZCUVZGblF5eFRRVUZYVEN4RlFVRkpVU3hGUVVGTmJrTXNVVUZCVVdkRExHZENRVU42UTB3c1JVRkJTVkVzUlVGQlRXNURMRkZCUVZGblF5eFZRVVYyUW5CRUxFOUJRVTl2Unl4dlFrRkJiMEp5UkN4SFFVRkxOME1zVDBGQlV5eEpRVU16UTIxRkxFVkJRVXRrTEVWQlFVMXVReXhSUVVGUk9FVXNWVUZCV1c1RUxFZEJSV3BEUVN4RlFVRk5jMElzUlVGbFZpeFBRVUZKWml4RlFVRk5jRVFzVDBGQlV5eEZRVU5XY1VRc1JVRkJUWEpETEdGQlFXRnRSU3hGUVVGSFNDeEZRVUZWYmtNc1NVRkZia05STEVWQlFVMXVReXhSUVVGUmFVWXNaVUZEYUVKcVFpeEZRVUZOY2tNc1IwRkRUa0VzUlVGQlRTeEpRVU5HYlVNc1IwRkJXVVVzUjBGRmJFSTNRaXhGUVVGTlZTeGhRVUZsYkVJc1JVRkRja0pSTEVWQlFVMW1MRlZCUVZWM1FpeFBRVUZSTEVWQlEycENWQ3hGUVVGTlZDeExRVUZMTEUxQlFVOVRMRVZCUVUxVkxHZENRVEZHVkN4RFFUWkdla0p1UkN4TlFVTklkVU1zUlVGQlV5eFRRVUZWUlN4SFFVTnFRaXhQUVVGUExGTkJRVk1yUXl4SFFVTmtMRWxCUVVsRExFVkJRVmRzUWl4RlFVVm1MRWRCUkVGQkxFVkJRVWt2UWl4RlFVRk5RU3hGUVVGTmNFUXNUMEZCVXl4SFFXTjJRaXhQUVZwQmJVWXNSVUZCUldwRExFbEJRVmxyUkN4RlFVTldMME1zUlVGQlRXNURMRkZCUVZGdlJTeHJRa0ZCYjBKcVF5eEZRVUZOYmtNc1VVRkJVWEZGTEhWQ1FVRjVRbXhETEVWQlFVMXVReXhSUVVGUkswVXNhMEpCUVc5Q05VTXNSVUZCVFc1RExGRkJRVkZ2Uml4dFFrRkJlVVFzUzBGQmNFTkdMRVZCUVV0WUxGRkJRVkVzVDBGQlVTeEpRVUZKYUVNc1ZVRkRla3N3UWl4RlFVRkZPVUlzUlVGQlRXNURMRkZCUVZFNFJTeFZRVUZaWWl4RlFVRkZPVUlzUlVGQlRXNURMRkZCUVZFNFJTeFhRVUZoTEVsQlEzcEVTeXhGUVVGWkxFTkJRMVpGTEZGQlFWTXNZVUZGUkhKRUxFZEJRVmRyUkN4RlFVTnFRaTlETEVWQlFVMXVReXhSUVVGUlVTeFpRVU5vUWpKRkxFVkJRVlZ1UkN4SFFVRlhiVVFzUlVGQlZXNUVMRWRCUVZOMVF5eFJRVUZSTEZWQlFWY3NTMEZCUzJoRExGRkJSV3hGTUVJc1JVRkJSVGxDTEVWQlFVMXVReXhSUVVGUk9FVXNWVUZCVldoRUxFdEJRVXR4UkN4SlFVVXhRbXhDTEVkQmFrSktMRU5CYjBKT2RrVXNUVUZEU0VFc1MwRkJTekJDTEZWQlFWVmhMRTlCUVZOQkxFVkJRMnBDZGtNc1MwRkJTekJDTEZWQlFWVnJSU3hSUVVOaUxGTkJRVk5LTEVkQlEyUXNTVUZCU1dwQ0xFVkJSVW9zUjBGRVFVRXNSVUZCU1doRExFVkJRVTlwUkN4SFFVVlVMRTlCUVU5cVFpeEZRVUZGVEN4UFFVRlJMRWxCVFhwQ2RrVXNSVUZCVDNkQ0xGVkJRVlZxUWl4WlFVRmpMRk5CUVZNeVJpeEZRVUZMUXl4SFFVTXpReXhKUVVGSmRrVXNSVUZEVHl4TlFVRk9kVVVzUjBGQk5rSXNiVUpCUVZCQkxFbEJRM3BDT1VZc1MwRkJTeXRHTEVkQlFVY3NUVUZCVHl4VFFVRlRReXhIUVVWMFFpeFBRVVJCYUVjc1MwRkJTMGNzVVVGRFJUSkdMRVZCUVVjc1MwRkJUVVVzUzBGRmJFSm9SeXhMUVVGTEswWXNSMEZCUnl4UlFVRlRMRk5CUVZONFJTeEhRVVY0UWl4UFFVUkJka0lzUzBGQlMwY3NVVUZEUlRKR0xFVkJRVWQyUlN4TlFVZGtMRWxCUlVVc1RVRkJiVUlzVFVGRWJrSnpSU3hGUVVGTlFTeEZRVUZKU1N4WlFVTkdjRVFzVVVGRFRqZERMRXRCUVV0blF5eExRVUZMTEUxQlFVOHNUMEZEVml4SlFVVlVOa1FzUlVGQlRUVklMRVZCUVVscFNTeFRRVUZUVEN4SFFVTm1OMFlzUzBGQlMwMHNVVUZCVVRaR0xFOUJRMlp1Unl4TFFVRkxkMElzVlVGQldYRkZMRVZCUTJwQ2NrZ3NSVUZCWVhkQ0xFdEJRVXRMTEdOQlExaE1MRXRCUVVzd1FpeFhRVVZRTVVJc1MwRkJTekJDTEZWQlFWVkRMRTFCUVUxclJTeEhRVUZMYWtVc1UwRkRha01zVFVGQlQwVXNSMEZGVUN4SFFVUkJVQ3hGUVVGTlR5eEhRVU5CT1VJc1MwRkJTekJDTEZWQlFWVkxMRmxCUVdFdlFpeExRVUZMTUVJc1ZVRkJWWGRDTEUxQlJTOURMRTlCUkVGc1JDeExRVUZMWjBNc1MwRkJTeXhSUVVGVFZDeEhRVU5hZGtJc1MwRkJTekJDTEZWQlFWVkxMRmRCUVZrc1JVRkROMElzUjBGQlNTOUNMRXRCUVVzd1FpeFZRVUZWZDBJc1RVRkRlRUlzVFVGQlRUTkNMRWxCUzFvMVFpeEZRVUZQZDBJc1ZVRkJWV3hDTEcxQ1FVRnhRaXhUUVVGVE5FWXNSMEZETjBNc1QwRkJUeXhKUVVGSlR5eFRRVUZyUWpORUxFVkJWVEZDZWtNc1MwRlVUU3hUUVVGVGNVY3NSVUZCVTBNc1IwRkRka0lzVDBGQlR6ZEVMRVZCUVUxMlF5eFpRVUZaTWtZc1JVRkJTeXhUUVVGVGRFVXNSVUZCUzNoQ0xFZEJRekZETEU5QlFVbDNRaXhGUVVOTEswVXNSVUZCVHk5RkxFZEJSVkE0UlN4RlFVRlJkRWNzVVVGT1NpeEpRVUZWTUVNc1IwRmhlRUk1UXl4RlFUTlVVU3hIUVN0VWFrSkVMRkZCUVZGUkxGbEJRV01zVTBGQlV6SkdMRVZCUVV0VkxFVkJRVWRETEVkQlEzSkRMRWxCUVVsV0xFVkJRVWw0Uml4RlFXVlNMRTlCWkZNc1RVRkJUR3RITEVkQlEyVXNiVUpCUVU1QkxFbEJRMVJXTEVWQlFVdFZMRWRCUlZVc2FVSkJRVTVFTEVsQlExUnFSeXhGUVVGVmFVY3NTMEZIU3l4dFFrRkJUa0VzU1VGRFZGUXNSVUZCUzFNc1IwRkZVR3BITEVWQlFWVXNTVUZGU0N4SlFVRkpXaXhSUVVGUlF5eFBRVUZQVnl4SFFVTmtTaXhaUVVGWk1rWXNSVUZCUzBNc1NVRkhha053Unl4UlFVRlJUeXh0UWtGQmNVSXNVMEZCVXpSR0xFVkJRVXRWTEVkQlEzcERMRWxCUVVscVJ5eEZRVXRLTEUxQlNtbENMR2xDUVVGT2FVY3NTVUZEVkdwSExFVkJRVlZwUnl4SFFVVklMRWxCUVVrM1J5eFJRVUZSUXl4UFFVRlBWeXhIUVVOa1RDeHRRa0ZCYlVJMFJpeE5RVWRzUTNSR0xFdEJRVXRRSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwzTjBZV2RwYm1jdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZlRzFzTW1wekwyeHBZaTl3WVhKelpYSXVhbk1pZlE9PSIsIihmdW5jdGlvbigpe1widXNlIHN0cmljdFwiO3ZhciBlO2U9bmV3IFJlZ0V4cCgvKD8heG1sbnMpXi4qOi8pLGV4cG9ydHMubm9ybWFsaXplPWZ1bmN0aW9uKGUpe3JldHVybiBlLnRvTG93ZXJDYXNlKCl9LGV4cG9ydHMuZmlyc3RDaGFyTG93ZXJDYXNlPWZ1bmN0aW9uKGUpe3JldHVybiBlLmNoYXJBdCgwKS50b0xvd2VyQ2FzZSgpK2Uuc2xpY2UoMSl9LGV4cG9ydHMuc3RyaXBQcmVmaXg9ZnVuY3Rpb24ocil7cmV0dXJuIHIucmVwbGFjZShlLFwiXCIpfSxleHBvcnRzLnBhcnNlTnVtYmVycz1mdW5jdGlvbihlKXtyZXR1cm4gaXNOYU4oZSl8fChlPWUlMT09MD9wYXJzZUludChlLDEwKTpwYXJzZUZsb2F0KGUpKSxlfSxleHBvcnRzLnBhcnNlQm9vbGVhbnM9ZnVuY3Rpb24oZSl7cmV0dXJuL14oPzp0cnVlfGZhbHNlKSQvaS50ZXN0KGUpJiYoZT1cInRydWVcIj09PWUudG9Mb3dlckNhc2UoKSksZX19KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5CeWIyTmxjM052Y25NdWFuTWlYU3dpYm1GdFpYTWlPbHNpY0hKbFptbDRUV0YwWTJnaUxDSlNaV2RGZUhBaUxDSmxlSEJ2Y25Seklpd2libTl5YldGc2FYcGxJaXdpYzNSeUlpd2lkRzlNYjNkbGNrTmhjMlVpTENKbWFYSnpkRU5vWVhKTWIzZGxja05oYzJVaUxDSmphR0Z5UVhRaUxDSnpiR2xqWlNJc0luTjBjbWx3VUhKbFptbDRJaXdpY21Wd2JHRmpaU0lzSW5CaGNuTmxUblZ0WW1WeWN5SXNJbWx6VG1GT0lpd2ljR0Z5YzJWSmJuUWlMQ0p3WVhKelpVWnNiMkYwSWl3aWNHRnljMlZDYjI5c1pXRnVjeUlzSW5SbGMzUWlMQ0pqWVd4c0lpd2lkR2hwY3lKZExDSnRZWEJ3YVc1bmN5STZJa05CUTBFc1YwRkRSU3hoUVVOQkxFbEJRVWxCTEVWQlJVcEJMRVZCUVdNc1NVRkJTVU1zVDBGQlR5eHBRa0ZGZWtKRExGRkJRVkZETEZWQlFWa3NVMEZCVTBNc1IwRkRNMElzVDBGQlQwRXNSVUZCU1VNc1pVRkhZa2dzVVVGQlVVa3NiVUpCUVhGQ0xGTkJRVk5HTEVkQlEzQkRMRTlCUVU5QkxFVkJRVWxITEU5QlFVOHNSMEZCUjBZc1kwRkJaMEpFTEVWQlFVbEpMRTFCUVUwc1NVRkhha1JPTEZGQlFWRlBMRmxCUVdNc1UwRkJVMHdzUjBGRE4wSXNUMEZCVDBFc1JVRkJTVTBzVVVGQlVWWXNSVUZCWVN4TFFVZHNRMFVzVVVGQlVWTXNZVUZCWlN4VFFVRlRVQ3hIUVVrNVFpeFBRVWhMVVN4TlFVRk5VaXhMUVVOVVFTeEZRVUZOUVN4RlFVRk5MRWRCUVUwc1JVRkJTVk1zVTBGQlUxUXNSVUZCU3l4SlFVRk5WU3hYUVVGWFZpeEpRVVZvUkVFc1IwRkhWRVlzVVVGQlVXRXNZMEZCWjBJc1UwRkJVMWdzUjBGSkwwSXNUVUZJU1N4dlFrRkJiMEpaTEV0QlFVdGFMRXRCUXpOQ1FTeEZRVUUwUWl4VFFVRjBRa0VzUlVGQlNVTXNaVUZGVEVRc1MwRkhVbUVzUzBGQlMwTWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YzNSaFoybHVaeTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5NGJXd3lhbk12YkdsaUwzQnliMk5sYzNOdmNuTXVhbk1pZlE9PSIsIihmdW5jdGlvbigpe1widXNlIHN0cmljdFwiO3ZhciByLGUsdCxzLG89e30uaGFzT3duUHJvcGVydHk7ZT1yZXF1aXJlKFwiLi9kZWZhdWx0c1wiKSxyPXJlcXVpcmUoXCIuL2J1aWxkZXJcIiksdD1yZXF1aXJlKFwiLi9wYXJzZXJcIikscz1yZXF1aXJlKFwiLi9wcm9jZXNzb3JzXCIpLGV4cG9ydHMuZGVmYXVsdHM9ZS5kZWZhdWx0cyxleHBvcnRzLnByb2Nlc3NvcnM9cyxleHBvcnRzLlZhbGlkYXRpb25FcnJvcj1mdW5jdGlvbihyKXtmdW5jdGlvbiBlKHIpe3RoaXMubWVzc2FnZT1yfXJldHVybiBmdW5jdGlvbihyLGUpe2Zvcih2YXIgdCBpbiBlKW8uY2FsbChlLHQpJiYoclt0XT1lW3RdKTtmdW5jdGlvbiBzKCl7dGhpcy5jb25zdHJ1Y3Rvcj1yfXMucHJvdG90eXBlPWUucHJvdG90eXBlLHIucHJvdG90eXBlPW5ldyBzLHIuX19zdXBlcl9fPWUucHJvdG90eXBlfShlLEVycm9yKSxlfSgpLGV4cG9ydHMuQnVpbGRlcj1yLkJ1aWxkZXIsZXhwb3J0cy5QYXJzZXI9dC5QYXJzZXIsZXhwb3J0cy5wYXJzZVN0cmluZz10LnBhcnNlU3RyaW5nLGV4cG9ydHMucGFyc2VTdHJpbmdQcm9taXNlPXQucGFyc2VTdHJpbmdQcm9taXNlfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluaHRiREpxY3k1cWN5SmRMQ0p1WVcxbGN5STZXeUppZFdsc1pHVnlJaXdpWkdWbVlYVnNkSE1pTENKd1lYSnpaWElpTENKd2NtOWpaWE56YjNKeklpd2lhR0Z6VUhKdmNDSXNJbWhoYzA5M2JsQnliM0JsY25SNUlpd2ljbVZ4ZFdseVpTSXNJbVY0Y0c5eWRITWlMQ0pXWVd4cFpHRjBhVzl1UlhKeWIzSWlMQ0p6ZFhCbGNrTnNZWE56SWl3aWJXVnpjMkZuWlNJc0luUm9hWE1pTENKamFHbHNaQ0lzSW5CaGNtVnVkQ0lzSW10bGVTSXNJbU5oYkd3aUxDSmpkRzl5SWl3aVkyOXVjM1J5ZFdOMGIzSWlMQ0p3Y205MGIzUjVjR1VpTENKZlgzTjFjR1Z5WDE4aUxDSmxlSFJsYm1RaUxDSkZjbkp2Y2lJc0lrSjFhV3hrWlhJaUxDSlFZWEp6WlhJaUxDSndZWEp6WlZOMGNtbHVaeUlzSW5CaGNuTmxVM1J5YVc1blVISnZiV2x6WlNKZExDSnRZWEJ3YVc1bmN5STZJa05CUTBFc1YwRkRSU3hoUVVOQkxFbEJRVWxCTEVWQlFWTkRMRVZCUVZWRExFVkJRVkZETEVWQlJUZENReXhGUVVGVkxFZEJRVWRETEdWQlJXWktMRVZCUVZkTExGRkJRVkVzWTBGRmJrSk9MRVZCUVZWTkxGRkJRVkVzWVVGRmJFSktMRVZCUVZOSkxGRkJRVkVzV1VGRmFrSklMRVZCUVdGSExGRkJRVkVzWjBKQlJYSkNReXhSUVVGUlRpeFRRVUZYUVN4RlFVRlRRU3hUUVVVMVFrMHNVVUZCVVVvc1YwRkJZVUVzUlVGRmNrSkpMRkZCUVZGRExHZENRVUZyUWl4VFFVRlZReXhIUVVkc1F5eFRRVUZUUkN4RlFVRm5Ra1VzUjBGRGRrSkRMRXRCUVV0RUxGRkJRVlZCTEVWQlIycENMRTlCZEVKVExGTkJRVk5GTEVWQlFVOURMRWRCUVZVc1NVRkJTeXhKUVVGSlF5eExRVUZQUkN4RlFVRmpWQ3hGUVVGUlZ5eExRVUZMUml4RlFVRlJReXhMUVVGTlJpeEZRVUZOUlN4SFFVRlBSQ3hGUVVGUFF5eEpRVUZSTEZOQlFWTkZMRWxCUVZOTUxFdEJRVXROTEZsQlFXTk1MRVZCUVZOSkxFVkJRVXRGTEZWQlFWbE1MRVZCUVU5TExGVkJRVmRPTEVWQlFVMU5MRlZCUVZrc1NVRkJTVVlzUlVGQlVVb3NSVUZCVFU4c1ZVRkJXVTRzUlVGQlQwc3NWVUZuUW1oUlJTeERRVUZQV2l4RlFWRk9ZU3hQUVVaTllpeEZRVkJwUWl4SFFWY3hRa1FzVVVGQlVXVXNVVUZCVlhSQ0xFVkJRVkZ6UWl4UlFVVXhRbVlzVVVGQlVXZENMRTlCUVZOeVFpeEZRVUZQY1VJc1QwRkZlRUpvUWl4UlFVRlJhVUlzV1VGQlkzUkNMRVZCUVU5elFpeFpRVVUzUW1wQ0xGRkJRVkZyUWl4dFFrRkJjVUoyUWl4RlFVRlBkVUlzY1VKQlJXNURWaXhMUVVGTFNpSXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl6ZEdGbmFXNW5MM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDNodGJESnFjeTlzYVdJdmVHMXNNbXB6TG1wekluMD0iLCIoZnVuY3Rpb24oKXttb2R1bGUuZXhwb3J0cz17RGlzY29ubmVjdGVkOjEsUHJlY2VkaW5nOjIsRm9sbG93aW5nOjQsQ29udGFpbnM6OCxDb250YWluZWRCeToxNixJbXBsZW1lbnRhdGlvblNwZWNpZmljOjMyfX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJa1J2WTNWdFpXNTBVRzl6YVhScGIyNHVhbk1pWFN3aWJtRnRaWE1pT2xzaWJXOWtkV3hsSWl3aVpYaHdiM0owY3lJc0lrUnBjMk52Ym01bFkzUmxaQ0lzSWxCeVpXTmxaR2x1WnlJc0lrWnZiR3h2ZDJsdVp5SXNJa052Ym5SaGFXNXpJaXdpUTI5dWRHRnBibVZrUW5raUxDSkpiWEJzWlcxbGJuUmhkR2x2YmxOd1pXTnBabWxqSWl3aVkyRnNiQ0lzSW5Sb2FYTWlYU3dpYldGd2NHbHVaM01pT2lKRFFVTkJMRmRCUTBWQkxFOUJRVTlETEZGQlFWVXNRMEZEWmtNc1lVRkJZeXhGUVVOa1F5eFZRVUZYTEVWQlExaERMRlZCUVZjc1JVRkRXRU1zVTBGQlZTeEZRVU5XUXl4WlFVRmhMRWRCUTJKRExIVkNRVUYzUWl4TlFVZDZRa01zUzBGQlMwTWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YzNSaFoybHVaeTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5NGJXeGlkV2xzWkdWeUwyeHBZaTlFYjJOMWJXVnVkRkJ2YzJsMGFXOXVMbXB6SW4wPSIsIihmdW5jdGlvbigpe21vZHVsZS5leHBvcnRzPXtFbGVtZW50OjEsQXR0cmlidXRlOjIsVGV4dDozLENEYXRhOjQsRW50aXR5UmVmZXJlbmNlOjUsRW50aXR5RGVjbGFyYXRpb246NixQcm9jZXNzaW5nSW5zdHJ1Y3Rpb246NyxDb21tZW50OjgsRG9jdW1lbnQ6OSxEb2NUeXBlOjEwLERvY3VtZW50RnJhZ21lbnQ6MTEsTm90YXRpb25EZWNsYXJhdGlvbjoxMixEZWNsYXJhdGlvbjoyMDEsUmF3OjIwMixBdHRyaWJ1dGVEZWNsYXJhdGlvbjoyMDMsRWxlbWVudERlY2xhcmF0aW9uOjIwNCxEdW1teToyMDV9fSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklrNXZaR1ZVZVhCbExtcHpJbDBzSW01aGJXVnpJanBiSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pTENKRmJHVnRaVzUwSWl3aVFYUjBjbWxpZFhSbElpd2lWR1Y0ZENJc0lrTkVZWFJoSWl3aVJXNTBhWFI1VW1WbVpYSmxibU5sSWl3aVJXNTBhWFI1UkdWamJHRnlZWFJwYjI0aUxDSlFjbTlqWlhOemFXNW5TVzV6ZEhKMVkzUnBiMjRpTENKRGIyMXRaVzUwSWl3aVJHOWpkVzFsYm5RaUxDSkViMk5VZVhCbElpd2lSRzlqZFcxbGJuUkdjbUZuYldWdWRDSXNJazV2ZEdGMGFXOXVSR1ZqYkdGeVlYUnBiMjRpTENKRVpXTnNZWEpoZEdsdmJpSXNJbEpoZHlJc0lrRjBkSEpwWW5WMFpVUmxZMnhoY21GMGFXOXVJaXdpUld4bGJXVnVkRVJsWTJ4aGNtRjBhVzl1SWl3aVJIVnRiWGtpTENKallXeHNJaXdpZEdocGN5SmRMQ0p0WVhCd2FXNW5jeUk2SWtOQlEwRXNWMEZEUlVFc1QwRkJUME1zVVVGQlZTeERRVU5tUXl4UlFVRlRMRVZCUTFSRExGVkJRVmNzUlVGRFdFTXNTMEZCVFN4RlFVTk9ReXhOUVVGUExFVkJRMUJETEdkQ1FVRnBRaXhGUVVOcVFrTXNhMEpCUVcxQ0xFVkJRMjVDUXl4elFrRkJkVUlzUlVGRGRrSkRMRkZCUVZNc1JVRkRWRU1zVTBGQlZTeEZRVU5XUXl4UlFVRlRMRWRCUTFSRExHbENRVUZyUWl4SFFVTnNRa01zYjBKQlFYRkNMRWRCUTNKQ1F5eFpRVUZoTEVsQlEySkRMRWxCUVVzc1NVRkRURU1zY1VKQlFYTkNMRWxCUTNSQ1F5eHRRa0ZCYjBJc1NVRkRjRUpETEUxQlFVOHNUMEZIVWtNc1MwRkJTME1pTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmMzUmhaMmx1Wnk5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OTRiV3hpZFdsc1pHVnlMMnhwWWk5T2IyUmxWSGx3WlM1cWN5SjkiLCIoZnVuY3Rpb24oKXt2YXIgdCxyLG4sZSxvLGksYyxsPVtdLnNsaWNlLHU9e30uaGFzT3duUHJvcGVydHk7dD1mdW5jdGlvbigpe3ZhciB0LHIsbixlLGksYztpZihjPWFyZ3VtZW50c1swXSxpPTI8PWFyZ3VtZW50cy5sZW5ndGg/bC5jYWxsKGFyZ3VtZW50cywxKTpbXSxvKE9iamVjdC5hc3NpZ24pKU9iamVjdC5hc3NpZ24uYXBwbHkobnVsbCxhcmd1bWVudHMpO2Vsc2UgZm9yKHQ9MCxuPWkubGVuZ3RoO3Q8bjt0KyspaWYobnVsbCE9KGU9aVt0XSkpZm9yKHIgaW4gZSl1LmNhbGwoZSxyKSYmKGNbcl09ZVtyXSk7cmV0dXJuIGN9LG89ZnVuY3Rpb24odCl7cmV0dXJuISF0JiZcIltvYmplY3QgRnVuY3Rpb25dXCI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCl9LGk9ZnVuY3Rpb24odCl7dmFyIHI7cmV0dXJuISF0JiYoXCJmdW5jdGlvblwiPT0ocj10eXBlb2YgdCl8fFwib2JqZWN0XCI9PT1yKX0sbj1mdW5jdGlvbih0KXtyZXR1cm4gbyhBcnJheS5pc0FycmF5KT9BcnJheS5pc0FycmF5KHQpOlwiW29iamVjdCBBcnJheV1cIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX0sZT1mdW5jdGlvbih0KXt2YXIgcjtpZihuKHQpKXJldHVybiF0Lmxlbmd0aDtmb3IociBpbiB0KWlmKHUuY2FsbCh0LHIpKXJldHVybiExO3JldHVybiEwfSxjPWZ1bmN0aW9uKHQpe3ZhciByLG47cmV0dXJuIGkodCkmJihuPU9iamVjdC5nZXRQcm90b3R5cGVPZih0KSkmJihyPW4uY29uc3RydWN0b3IpJiZcImZ1bmN0aW9uXCI9PXR5cGVvZiByJiZyIGluc3RhbmNlb2YgciYmRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocik9PT1GdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChPYmplY3QpfSxyPWZ1bmN0aW9uKHQpe3JldHVybiBvKHQudmFsdWVPZik/dC52YWx1ZU9mKCk6dH0sbW9kdWxlLmV4cG9ydHMuYXNzaWduPXQsbW9kdWxlLmV4cG9ydHMuaXNGdW5jdGlvbj1vLG1vZHVsZS5leHBvcnRzLmlzT2JqZWN0PWksbW9kdWxlLmV4cG9ydHMuaXNBcnJheT1uLG1vZHVsZS5leHBvcnRzLmlzRW1wdHk9ZSxtb2R1bGUuZXhwb3J0cy5pc1BsYWluT2JqZWN0PWMsbW9kdWxlLmV4cG9ydHMuZ2V0VmFsdWU9cn0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbFYwYVd4cGRIa3Vhbk1pWFN3aWJtRnRaWE1pT2xzaVlYTnphV2R1SWl3aVoyVjBWbUZzZFdVaUxDSnBjMEZ5Y21GNUlpd2lhWE5GYlhCMGVTSXNJbWx6Um5WdVkzUnBiMjRpTENKcGMwOWlhbVZqZENJc0ltbHpVR3hoYVc1UFltcGxZM1FpTENKemJHbGpaU0lzSW1oaGMxQnliM0FpTENKb1lYTlBkMjVRY205d1pYSjBlU0lzSW1raUxDSnJaWGtpTENKc1pXNGlMQ0p6YjNWeVkyVWlMQ0p6YjNWeVkyVnpJaXdpZEdGeVoyVjBJaXdpWVhKbmRXMWxiblJ6SWl3aWJHVnVaM1JvSWl3aVkyRnNiQ0lzSWs5aWFtVmpkQ0lzSW1Gd2NHeDVJaXdpZG1Gc0lpd2ljSEp2ZEc5MGVYQmxJaXdpZEc5VGRISnBibWNpTENKeVpXWWlMQ0pCY25KaGVTSXNJbU4wYjNJaUxDSndjbTkwYnlJc0ltZGxkRkJ5YjNSdmRIbHdaVTltSWl3aVkyOXVjM1J5ZFdOMGIzSWlMQ0pHZFc1amRHbHZiaUlzSW05aWFpSXNJblpoYkhWbFQyWWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpZEdocGN5SmRMQ0p0WVhCd2FXNW5jeUk2SWtOQlEwRXNWMEZEUlN4SlFVRkpRU3hGUVVGUlF5eEZRVUZWUXl4RlFVRlRReXhGUVVGVFF5eEZRVUZaUXl4RlFVRlZReXhGUVVNMVJFTXNSVUZCVVN4SFFVRkhRU3hOUVVOWVF5eEZRVUZWTEVkQlFVZERMR1ZCUldaVUxFVkJRVk1zVjBGRFVDeEpRVUZKVlN4RlFVRkhReXhGUVVGTFF5eEZRVUZMUXl4RlFVRlJReXhGUVVGVFF5eEZRVVZzUXl4SFFVUkJRU3hGUVVGVFF5eFZRVUZWTEVkQlFVbEdMRVZCUVZVc1IwRkJTMFVzVlVGQlZVTXNUMEZCVTFZc1JVRkJUVmNzUzBGQlMwWXNWVUZCVnl4SFFVRkxMRWRCUTJoR1dpeEZRVUZYWlN4UFFVRlBia0lzVVVGRGNFSnRRaXhQUVVGUGJrSXNUMEZCVDI5Q0xFMUJRVTBzUzBGQlRVb3NaMEpCUlRGQ0xFbEJRVXRPTEVWQlFVa3NSVUZCUjBVc1JVRkJUVVVzUlVGQlVVY3NUMEZCVVZBc1JVRkJTVVVzUlVGQlMwWXNTVUZGZWtNc1IwRkJZeXhQUVVSa1J5eEZRVUZUUXl4RlFVRlJTaXhKUVVWbUxFbEJRVXRETEV0QlFVOUZMRVZCUTB4TUxFVkJRVkZWTEV0QlFVdE1MRVZCUVZGR0xFdEJRekZDU1N4RlFVRlBTaXhIUVVGUFJTeEZRVUZQUml4SlFVczNRaXhQUVVGUFNTeEhRVWRVV0N4RlFVRmhMRk5CUVZOcFFpeEhRVU53UWl4UlFVRlRRU3hIUVVFclF5eHpRa0ZCZUVOR0xFOUJRVTlITEZWQlFWVkRMRk5CUVZOTUxFdEJRVXRITEVsQlIycEVhRUlzUlVGQlZ5eFRRVUZUWjBJc1IwRkRiRUlzU1VGQlNVY3NSVUZEU2l4UlFVRlRTQ3hKUVVFclFpeGhRVUYwUWtjc1UwRkJZVWdzU1VGQkswSXNWMEZCVWtjc1NVRkhlRVIwUWl4RlFVRlZMRk5CUVZOdFFpeEhRVU5xUWl4UFFVRkpha0lzUlVGQlYzRkNMRTFCUVUxMlFpeFRRVU5hZFVJc1RVRkJUWFpDTEZGQlFWRnRRaXhIUVVVd1FpeHRRa0ZCZUVOR0xFOUJRVTlITEZWQlFWVkRMRk5CUVZOTUxFdEJRVXRITEVsQlNURkRiRUlzUlVGQlZTeFRRVUZUYTBJc1IwRkRha0lzU1VGQlNWWXNSVUZEU2l4SFFVRkpWQ3hGUVVGUmJVSXNSMEZEVml4UFFVRlJRU3hGUVVGSlNpeFBRVVZhTEVsQlFVdE9MRXRCUVU5VkxFVkJRMVlzUjBGQlMySXNSVUZCVVZVc1MwRkJTMGNzUlVGQlMxWXNSMEZEZGtJc1QwRkJUeXhGUVVWVUxFOUJRVThzUjBGSldFd3NSVUZCWjBJc1UwRkJVMlVzUjBGRGRrSXNTVUZCU1Vzc1JVRkJUVU1zUlVGRFZpeFBRVUZQZEVJc1JVRkJVMmRDTEV0QlFWTk5MRVZCUVZGU0xFOUJRVTlUTEdWQlFXVlFMRTFCUVZWTExFVkJRVTlETEVWQlFVMUZMR05CUVdsRExHMUNRVUZVU0N4SFFVRjVRa0VzWVVGQlowSkJMRWRCUVZWSkxGTkJRVk5TTEZWQlFWVkRMRk5CUVZOTUxFdEJRVXRSTEV0QlFWVkpMRk5CUVZOU0xGVkJRVlZETEZOQlFWTk1MRXRCUVV0RExGTkJSM1pQYkVJc1JVRkJWeXhUUVVGVE9FSXNSMEZEYkVJc1QwRkJTVE5DTEVWQlFWY3lRaXhGUVVGSlF5eFRRVU5XUkN4RlFVRkpReXhWUVVWS1JDeEhRVWxZUlN4UFFVRlBReXhSUVVGUmJFTXNUMEZCVTBFc1JVRkZlRUpwUXl4UFFVRlBReXhSUVVGUk9VSXNWMEZCWVVFc1JVRkZOVUkyUWl4UFFVRlBReXhSUVVGUk4wSXNVMEZCVjBFc1JVRkZNVUkwUWl4UFFVRlBReXhSUVVGUmFFTXNVVUZCVlVFc1JVRkZla0lyUWl4UFFVRlBReXhSUVVGUkwwSXNVVUZCVlVFc1JVRkZla0k0UWl4UFFVRlBReXhSUVVGUk5VSXNZMEZCWjBKQkxFVkJSUzlDTWtJc1QwRkJUME1zVVVGQlVXcERMRk5CUVZkQkxFbEJSWHBDYVVJc1MwRkJTMmxDSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwzTjBZV2RwYm1jdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZlRzFzWW5WcGJHUmxjaTlzYVdJdlZYUnBiR2wwZVM1cWN5SjkiLCIoZnVuY3Rpb24oKXttb2R1bGUuZXhwb3J0cz17Tm9uZTowLE9wZW5UYWc6MSxJbnNpZGVUYWc6MixDbG9zZVRhZzozfX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGR5YVhSbGNsTjBZWFJsTG1weklsMHNJbTVoYldWeklqcGJJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0pPYjI1bElpd2lUM0JsYmxSaFp5SXNJa2x1YzJsa1pWUmhaeUlzSWtOc2IzTmxWR0ZuSWl3aVkyRnNiQ0lzSW5Sb2FYTWlYU3dpYldGd2NHbHVaM01pT2lKRFFVTkJMRmRCUTBWQkxFOUJRVTlETEZGQlFWVXNRMEZEWmtNc1MwRkJUU3hGUVVOT1F5eFJRVUZUTEVWQlExUkRMRlZCUVZjc1JVRkRXRU1zVTBGQlZTeExRVWRZUXl4TFFVRkxReUlzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5emRHRm5hVzVuTDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwzaHRiR0oxYVd4a1pYSXZiR2xpTDFkeWFYUmxjbE4wWVhSbExtcHpJbjA9IiwiKGZ1bmN0aW9uKCl7dmFyIHQ7dD1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxyZXF1aXJlKFwiLi9YTUxOb2RlXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlLG4scil7aWYodGhpcy5wYXJlbnQ9ZSx0aGlzLnBhcmVudCYmKHRoaXMub3B0aW9ucz10aGlzLnBhcmVudC5vcHRpb25zLHRoaXMuc3RyaW5naWZ5PXRoaXMucGFyZW50LnN0cmluZ2lmeSksbnVsbD09bil0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIGF0dHJpYnV0ZSBuYW1lLiBcIit0aGlzLmRlYnVnSW5mbyhuKSk7dGhpcy5uYW1lPXRoaXMuc3RyaW5naWZ5Lm5hbWUobiksdGhpcy52YWx1ZT10aGlzLnN0cmluZ2lmeS5hdHRWYWx1ZShyKSx0aGlzLnR5cGU9dC5BdHRyaWJ1dGUsdGhpcy5pc0lkPSExLHRoaXMuc2NoZW1hVHlwZUluZm89bnVsbH1yZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLFwibm9kZVR5cGVcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudHlwZX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsXCJvd25lckVsZW1lbnRcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucGFyZW50fX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSxcInRleHRDb250ZW50XCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlfSxzZXQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudmFsdWU9dHx8XCJcIn19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsXCJuYW1lc3BhY2VVUklcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuXCJcIn19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsXCJwcmVmaXhcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuXCJcIn19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsXCJsb2NhbE5hbWVcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubmFtZX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsXCJzcGVjaWZpZWRcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuITB9fSksZS5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LmNyZWF0ZSh0aGlzKX0sZS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy53cml0ZXIuYXR0cmlidXRlKHRoaXMsdGhpcy5vcHRpb25zLndyaXRlci5maWx0ZXJPcHRpb25zKHQpKX0sZS5wcm90b3R5cGUuZGVidWdJbmZvPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT0odD10fHx0aGlzLm5hbWUpP1wicGFyZW50OiA8XCIrdGhpcy5wYXJlbnQubmFtZStcIj5cIjpcImF0dHJpYnV0ZToge1wiK3QrXCJ9LCBwYXJlbnQ6IDxcIit0aGlzLnBhcmVudC5uYW1lK1wiPlwifSxlLnByb3RvdHlwZS5pc0VxdWFsTm9kZT1mdW5jdGlvbih0KXtyZXR1cm4gdC5uYW1lc3BhY2VVUkk9PT10aGlzLm5hbWVzcGFjZVVSSSYmKHQucHJlZml4PT09dGhpcy5wcmVmaXgmJih0LmxvY2FsTmFtZT09PXRoaXMubG9jYWxOYW1lJiZ0LnZhbHVlPT09dGhpcy52YWx1ZSkpfSxlfSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URUYwZEhKcFluVjBaUzVxY3lKZExDSnVZVzFsY3lJNld5Sk9iMlJsVkhsd1pTSXNJbkpsY1hWcGNtVWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpV0UxTVFYUjBjbWxpZFhSbElpd2ljR0Z5Wlc1MElpd2libUZ0WlNJc0luWmhiSFZsSWl3aWRHaHBjeUlzSW05d2RHbHZibk1pTENKemRISnBibWRwWm5raUxDSkZjbkp2Y2lJc0ltUmxZblZuU1c1bWJ5SXNJbUYwZEZaaGJIVmxJaXdpZEhsd1pTSXNJa0YwZEhKcFluVjBaU0lzSW1selNXUWlMQ0p6WTJobGJXRlVlWEJsU1c1bWJ5SXNJazlpYW1WamRDSXNJbVJsWm1sdVpWQnliM0JsY25SNUlpd2ljSEp2ZEc5MGVYQmxJaXdpWjJWMElpd2ljMlYwSWl3aVkyeHZibVVpTENKamNtVmhkR1VpTENKMGIxTjBjbWx1WnlJc0luZHlhWFJsY2lJc0ltRjBkSEpwWW5WMFpTSXNJbVpwYkhSbGNrOXdkR2x2Ym5NaUxDSnBjMFZ4ZFdGc1RtOWtaU0lzSW01dlpHVWlMQ0p1WVcxbGMzQmhZMlZWVWtraUxDSndjbVZtYVhnaUxDSnNiMk5oYkU1aGJXVWlMQ0pqWVd4c0lsMHNJbTFoY0hCcGJtZHpJam9pUTBGRFFTeFhRVU5GTEVsQlFVbEJMRVZCUlVwQkxFVkJRVmRETEZGQlFWRXNZMEZGVkVFc1VVRkJVU3hoUVVWc1FrTXNUMEZCVDBNc1VVRkJlVUlzVjBGRE9VSXNVMEZCVTBNc1JVRkJZVU1zUlVGQlVVTXNSVUZCVFVNc1IwRk5iRU1zUjBGTVFVTXNTMEZCUzBnc1QwRkJVMEVzUlVGRFZrY3NTMEZCUzBnc1UwRkRVRWNzUzBGQlMwTXNVVUZCVlVRc1MwRkJTMGdzVDBGQlQwa3NVVUZETTBKRUxFdEJRVXRGTEZWQlFWbEdMRXRCUVV0SUxFOUJRVTlMTEZkQlJXNUNMRTFCUVZKS0xFVkJRMFlzVFVGQlRTeEpRVUZKU3l4TlFVRk5MREpDUVVFMlFrZ3NTMEZCUzBrc1ZVRkJWVTRzU1VGRk9VUkZMRXRCUVV0R0xFdEJRVTlGTEV0QlFVdEZMRlZCUVZWS0xFdEJRVXRCTEVkQlEyaERSU3hMUVVGTFJDeE5RVUZSUXl4TFFVRkxSU3hWUVVGVlJ5eFRRVUZUVGl4SFFVTnlRME1zUzBGQlMwMHNTMEZCVDJRc1JVRkJVMlVzVlVGRGNrSlFMRXRCUVV0UkxFMUJRVThzUlVGRFdsSXNTMEZCUzFNc1pVRkJhVUlzUzBGcFJuaENMRTlCT1VWQlF5eFBRVUZQUXl4bFFVRmxaaXhGUVVGaFowSXNWVUZCVnl4WFFVRlpMRU5CUTNoRVF5eEpRVUZMTEZkQlEwZ3NUMEZCVDJJc1MwRkJTMDBzVVVGSmFFSkpMRTlCUVU5RExHVkJRV1ZtTEVWQlFXRm5RaXhWUVVGWExHVkJRV2RDTEVOQlF6VkVReXhKUVVGTExGZEJRMGdzVDBGQlQySXNTMEZCUzBnc1ZVRkphRUpoTEU5QlFVOURMR1ZCUVdWbUxFVkJRV0ZuUWl4VlFVRlhMR05CUVdVc1EwRkRNMFJETEVsQlFVc3NWMEZEU0N4UFFVRlBZaXhMUVVGTFJDeFBRVVZrWlN4SlFVRkxMRk5CUVZObUxFZEJRMW9zVDBGQlQwTXNTMEZCUzBRc1RVRkJVVUVzUjBGQlV5eE5RVWxxUTFjc1QwRkJUME1zWlVGQlpXWXNSVUZCWVdkQ0xGVkJRVmNzWlVGQlowSXNRMEZETlVSRExFbEJRVXNzVjBGRFNDeE5RVUZQTEUxQlNWaElMRTlCUVU5RExHVkJRV1ZtTEVWQlFXRm5RaXhWUVVGWExGTkJRVlVzUTBGRGRFUkRMRWxCUVVzc1YwRkRTQ3hOUVVGUExFMUJTVmhJTEU5QlFVOURMR1ZCUVdWbUxFVkJRV0ZuUWl4VlFVRlhMRmxCUVdFc1EwRkRla1JETEVsQlFVc3NWMEZEU0N4UFFVRlBZaXhMUVVGTFJpeFJRVWxvUWxrc1QwRkJUME1zWlVGQlpXWXNSVUZCWVdkQ0xGVkJRVmNzV1VGQllTeERRVU42UkVNc1NVRkJTeXhYUVVOSUxFOUJRVThzUzBGSldHcENMRVZCUVdGblFpeFZRVUZWUnl4TlFVRlJMRmRCUXpkQ0xFOUJRVTlNTEU5QlFVOU5MRTlCUVU5b1FpeFBRVWQyUWtvc1JVRkJZV2RDTEZWQlFWVkxMRk5CUVZjc1UwRkJVMmhDTEVkQlEzcERMRTlCUVU5RUxFdEJRVXRETEZGQlFWRnBRaXhQUVVGUFF5eFZRVUZWYmtJc1MwRkJUVUVzUzBGQlMwTXNVVUZCVVdsQ0xFOUJRVTlGTEdOQlFXTnVRaXhMUVVjdlJVd3NSVUZCWVdkQ0xGVkJRVlZTTEZWQlFWa3NVMEZCVTA0c1IwRkZNVU1zVDBGQldTeFBRVVJhUVN4RlFVRlBRU3hIUVVGUlJTeExRVUZMUml4TlFVVllMRmxCUVdORkxFdEJRVXRJTEU5QlFVOURMRXRCUVU4c1NVRkZha01zWlVGQmFVSkJMRVZCUVU4c1pVRkJhVUpGTEV0QlFVdElMRTlCUVU5RExFdEJRVThzUzBGSmRrVkdMRVZCUVdGblFpeFZRVUZWVXl4WlFVRmpMRk5CUVZORExFZEJRelZETEU5QlFVbEJMRVZCUVV0RExHVkJRV2xDZGtJc1MwRkJTM1ZDTEdWQlJ6TkNSQ3hGUVVGTFJTeFRRVUZYZUVJc1MwRkJTM2RDTEZOQlIzSkNSaXhGUVVGTFJ5eFpRVUZqZWtJc1MwRkJTM2xDTEZkQlIzaENTQ3hGUVVGTGRrSXNVVUZCVlVNc1MwRkJTMFFzVTBGTmJrSklMRVZCTDBaMVFpeExRVzFITDBJNFFpeExRVUZMTVVJaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZjM1JoWjJsdVp5OXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTk0Yld4aWRXbHNaR1Z5TDJ4cFlpOVlUVXhCZEhSeWFXSjFkR1V1YW5NaWZRPT0iLCIoZnVuY3Rpb24oKXt2YXIgdCxyLG89e30uaGFzT3duUHJvcGVydHk7dD1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxyPXJlcXVpcmUoXCIuL1hNTENoYXJhY3RlckRhdGFcIiksbW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gaShyLG8pe2lmKGkuX19zdXBlcl9fLmNvbnN0cnVjdG9yLmNhbGwodGhpcyxyKSxudWxsPT1vKXRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgQ0RBVEEgdGV4dC4gXCIrdGhpcy5kZWJ1Z0luZm8oKSk7dGhpcy5uYW1lPVwiI2NkYXRhLXNlY3Rpb25cIix0aGlzLnR5cGU9dC5DRGF0YSx0aGlzLnZhbHVlPXRoaXMuc3RyaW5naWZ5LmNkYXRhKG8pfXJldHVybiBmdW5jdGlvbih0LHIpe2Zvcih2YXIgZSBpbiByKW8uY2FsbChyLGUpJiYodFtlXT1yW2VdKTtmdW5jdGlvbiBpKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fWkucHJvdG90eXBlPXIucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyBpLHQuX19zdXBlcl9fPXIucHJvdG90eXBlfShpLHIpLGkucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdC5jcmVhdGUodGhpcyl9LGkucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMud3JpdGVyLmNkYXRhKHRoaXMsdGhpcy5vcHRpb25zLndyaXRlci5maWx0ZXJPcHRpb25zKHQpKX0saX0oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEVORVlYUmhMbXB6SWwwc0ltNWhiV1Z6SWpwYklrNXZaR1ZVZVhCbElpd2lXRTFNUTJoaGNtRmpkR1Z5UkdGMFlTSXNJbWhoYzFCeWIzQWlMQ0pvWVhOUGQyNVFjbTl3WlhKMGVTSXNJbkpsY1hWcGNtVWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpYzNWd1pYSkRiR0Z6Y3lJc0lsaE5URU5FWVhSaElpd2ljR0Z5Wlc1MElpd2lkR1Y0ZENJc0lsOWZjM1Z3WlhKZlh5SXNJbU52Ym5OMGNuVmpkRzl5SWl3aVkyRnNiQ0lzSW5Sb2FYTWlMQ0pGY25KdmNpSXNJbVJsWW5WblNXNW1ieUlzSW01aGJXVWlMQ0owZVhCbElpd2lRMFJoZEdFaUxDSjJZV3gxWlNJc0luTjBjbWx1WjJsbWVTSXNJbU5rWVhSaElpd2lZMmhwYkdRaUxDSnJaWGtpTENKamRHOXlJaXdpY0hKdmRHOTBlWEJsSWl3aVpYaDBaVzVrSWl3aVkyeHZibVVpTENKUFltcGxZM1FpTENKamNtVmhkR1VpTENKMGIxTjBjbWx1WnlJc0ltOXdkR2x2Ym5NaUxDSjNjbWwwWlhJaUxDSm1hV3gwWlhKUGNIUnBiMjV6SWwwc0ltMWhjSEJwYm1keklqb2lRMEZEUVN4WFFVTkZMRWxCUVVsQkxFVkJRVzlDUXl4RlFVVjBRa01zUlVGQlZTeEhRVUZIUXl4bFFVVm1TQ3hGUVVGWFNTeFJRVUZSTEdOQlJXNUNTQ3hGUVVGdFFrY3NVVUZCVVN4elFrRkZNMEpETEU5QlFVOURMRkZCUVhGQ0xGTkJRVlZETEVkQlIzQkRMRk5CUVZORExFVkJRVk5ETEVWQlFWRkRMRWRCUlhoQ0xFZEJSRUZHTEVWQlFWTkhMRlZCUVZWRExGbEJRVmxETEV0QlFVdERMRXRCUVUxTUxFZEJRemxDTEUxQlFWSkRMRVZCUTBZc1RVRkJUU3hKUVVGSlN5eE5RVUZOTEhWQ1FVRjVRa1FzUzBGQlMwVXNZVUZGYUVSR0xFdEJRVXRITEV0QlFVOHNhVUpCUTFwSUxFdEJRVXRKTEV0QlFVOXNRaXhGUVVGVGJVSXNUVUZEY2tKTUxFdEJRVXROTEUxQlFWRk9MRXRCUVV0UExGVkJRVlZETEUxQlFVMWFMRWRCVjNCRExFOUJOVUpUTEZOQlFWTmhMRVZCUVU5a0xFZEJRVlVzU1VGQlN5eEpRVUZKWlN4TFFVRlBaaXhGUVVGalVDeEZRVUZSVnl4TFFVRkxTaXhGUVVGUlpTeExRVUZOUkN4RlFVRk5ReXhIUVVGUFppeEZRVUZQWlN4SlFVRlJMRk5CUVZORExFbEJRVk5ZTEV0QlFVdEdMRmxCUVdOWExFVkJRVk5GTEVWQlFVdERMRlZCUVZscVFpeEZRVUZQYVVJc1ZVRkJWMGdzUlVGQlRVY3NWVUZCV1N4SlFVRkpSQ3hGUVVGUlJpeEZRVUZOV2l4VlFVRlpSaXhGUVVGUGFVSXNWVUZSYUZGRExFTkJRVTl1UWl4RlFYTkNUbEFzUjBGV1JFOHNSVUZCVTJ0Q0xGVkJRVlZGTEUxQlFWRXNWMEZEZWtJc1QwRkJUME1zVDBGQlQwTXNUMEZCVDJoQ0xFOUJSM1pDVGl4RlFVRlRhMElzVlVGQlZVc3NVMEZCVnl4VFFVRlRReXhIUVVOeVF5eFBRVUZQYkVJc1MwRkJTMnRDTEZGQlFWRkRMRTlCUVU5WUxFMUJRVTFTTEV0QlFVMUJMRXRCUVV0clFpeFJRVUZSUXl4UFFVRlBReXhqUVVGalJpeExRVWR3UlhoQ0xFVkJja0p0UWl4TFFYbENNMEpMTEV0QlFVdERJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDNOMFlXZHBibWN2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdmVHMXNZblZwYkdSbGNpOXNhV0l2V0UxTVEwUmhkR0V1YW5NaWZRPT0iLCIoZnVuY3Rpb24oKXt2YXIgdCxlPXt9Lmhhc093blByb3BlcnR5O3Q9cmVxdWlyZShcIi4vWE1MTm9kZVwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihvKXtmdW5jdGlvbiBuKHQpe24uX19zdXBlcl9fLmNvbnN0cnVjdG9yLmNhbGwodGhpcyx0KSx0aGlzLnZhbHVlPVwiXCJ9cmV0dXJuIGZ1bmN0aW9uKHQsbyl7Zm9yKHZhciBuIGluIG8pZS5jYWxsKG8sbikmJih0W25dPW9bbl0pO2Z1bmN0aW9uIHIoKXt0aGlzLmNvbnN0cnVjdG9yPXR9ci5wcm90b3R5cGU9by5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IHIsdC5fX3N1cGVyX189by5wcm90b3R5cGV9KG4sdCksT2JqZWN0LmRlZmluZVByb3BlcnR5KG4ucHJvdG90eXBlLFwiZGF0YVwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZX0sc2V0OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnZhbHVlPXR8fFwiXCJ9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG4ucHJvdG90eXBlLFwibGVuZ3RoXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlLmxlbmd0aH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobi5wcm90b3R5cGUsXCJ0ZXh0Q29udGVudFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZX0sc2V0OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnZhbHVlPXR8fFwiXCJ9fSksbi5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LmNyZWF0ZSh0aGlzKX0sbi5wcm90b3R5cGUuc3Vic3RyaW5nRGF0YT1mdW5jdGlvbih0LGUpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LG4ucHJvdG90eXBlLmFwcGVuZERhdGE9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sbi5wcm90b3R5cGUuaW5zZXJ0RGF0YT1mdW5jdGlvbih0LGUpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LG4ucHJvdG90eXBlLmRlbGV0ZURhdGE9ZnVuY3Rpb24odCxlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxuLnByb3RvdHlwZS5yZXBsYWNlRGF0YT1mdW5jdGlvbih0LGUsbyl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sbi5wcm90b3R5cGUuaXNFcXVhbE5vZGU9ZnVuY3Rpb24odCl7cmV0dXJuISFuLl9fc3VwZXJfXy5pc0VxdWFsTm9kZS5hcHBseSh0aGlzLGFyZ3VtZW50cykuaXNFcXVhbE5vZGUodCkmJnQuZGF0YT09PXRoaXMuZGF0YX0sbn0oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEVOb1lYSmhZM1JsY2tSaGRHRXVhbk1pWFN3aWJtRnRaWE1pT2xzaVdFMU1UbTlrWlNJc0ltaGhjMUJ5YjNBaUxDSm9ZWE5QZDI1UWNtOXdaWEowZVNJc0luSmxjWFZwY21VaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2ljM1Z3WlhKRGJHRnpjeUlzSWxoTlRFTm9ZWEpoWTNSbGNrUmhkR0VpTENKd1lYSmxiblFpTENKZlgzTjFjR1Z5WDE4aUxDSmpiMjV6ZEhKMVkzUnZjaUlzSW1OaGJHd2lMQ0owYUdseklpd2lkbUZzZFdVaUxDSmphR2xzWkNJc0ltdGxlU0lzSW1OMGIzSWlMQ0p3Y205MGIzUjVjR1VpTENKbGVIUmxibVFpTENKUFltcGxZM1FpTENKa1pXWnBibVZRY205d1pYSjBlU0lzSW1kbGRDSXNJbk5sZENJc0lteGxibWQwYUNJc0ltTnNiMjVsSWl3aVkzSmxZWFJsSWl3aWMzVmljM1J5YVc1blJHRjBZU0lzSW05bVpuTmxkQ0lzSW1OdmRXNTBJaXdpUlhKeWIzSWlMQ0prWldKMVowbHVabThpTENKaGNIQmxibVJFWVhSaElpd2lZWEpuSWl3aWFXNXpaWEowUkdGMFlTSXNJbVJsYkdWMFpVUmhkR0VpTENKeVpYQnNZV05sUkdGMFlTSXNJbWx6UlhGMVlXeE9iMlJsSWl3aWJtOWtaU0lzSW1Gd2NHeDVJaXdpWVhKbmRXMWxiblJ6SWl3aVpHRjBZU0pkTENKdFlYQndhVzVuY3lJNklrTkJRMEVzVjBGRFJTeEpRVUZ6UWtFc1JVRkZjRUpETEVWQlFWVXNSMEZCUjBNc1pVRkZaa1lzUlVGQlZVY3NVVUZCVVN4aFFVVnNRa01zVDBGQlQwTXNVVUZCTmtJc1UwRkJWVU1zUjBGSE5VTXNVMEZCVTBNc1JVRkJhVUpETEVkQlEzaENSQ3hGUVVGcFFrVXNWVUZCVlVNc1dVRkJXVU1zUzBGQlMwTXNTMEZCVFVvc1IwRkRiRVJKTEV0QlFVdERMRTFCUVZFc1IwRTJSR1lzVDBGMlJWTXNVMEZCVTBNc1JVRkJUMDRzUjBGQlZTeEpRVUZMTEVsQlFVbFBMRXRCUVU5UUxFVkJRV05RTEVWQlFWRlZMRXRCUVV0SUxFVkJRVkZQTEV0QlFVMUVMRVZCUVUxRExFZEJRVTlRTEVWQlFVOVBMRWxCUVZFc1UwRkJVME1zU1VGQlUwb3NTMEZCUzBZc1dVRkJZMGtzUlVGQlUwVXNSVUZCUzBNc1ZVRkJXVlFzUlVGQlQxTXNWVUZCVjBnc1JVRkJUVWNzVlVGQldTeEpRVUZKUkN4RlFVRlJSaXhGUVVGTlRDeFZRVUZaUkN4RlFVRlBVeXhWUVUxb1VVTXNRMEZCVDFnc1JVRnRSVTVRTEVkQk5VUkViVUlzVDBGQlQwTXNaVUZCWldJc1JVRkJhVUpWTEZWQlFWY3NUMEZCVVN4RFFVTjRSRWtzU1VGQlN5eFhRVU5JTEU5QlFVOVVMRXRCUVV0RExFOUJSV1JUTEVsQlFVc3NVMEZCVTFRc1IwRkRXaXhQUVVGUFJDeExRVUZMUXl4TlFVRlJRU3hIUVVGVExFMUJTV3BEVFN4UFFVRlBReXhsUVVGbFlpeEZRVUZwUWxVc1ZVRkJWeXhUUVVGVkxFTkJRekZFU1N4SlFVRkxMRmRCUTBnc1QwRkJUMVFzUzBGQlMwTXNUVUZCVFZVc1ZVRkpkRUpLTEU5QlFVOURMR1ZCUVdWaUxFVkJRV2xDVlN4VlFVRlhMR05CUVdVc1EwRkRMMFJKTEVsQlFVc3NWMEZEU0N4UFFVRlBWQ3hMUVVGTFF5eFBRVVZrVXl4SlFVRkxMRk5CUVZOVUxFZEJRMW9zVDBGQlQwUXNTMEZCUzBNc1RVRkJVVUVzUjBGQlV5eE5RVWxxUTA0c1JVRkJhVUpWTEZWQlFWVlBMRTFCUVZFc1YwRkRha01zVDBGQlQwd3NUMEZCVDAwc1QwRkJUMklzVDBGSGRrSk1MRVZCUVdsQ1ZTeFZRVUZWVXl4alFVRm5RaXhUUVVGVFF5eEZRVUZSUXl4SFFVTXhSQ3hOUVVGTkxFbEJRVWxETEUxQlFVMHNjME5CUVhkRGFrSXNTMEZCUzJ0Q0xHTkJSeTlFZGtJc1JVRkJhVUpWTEZWQlFWVmpMRmRCUVdFc1UwRkJVME1zUjBGREwwTXNUVUZCVFN4SlFVRkpTQ3hOUVVGTkxITkRRVUYzUTJwQ0xFdEJRVXRyUWl4alFVY3ZSSFpDTEVWQlFXbENWU3hWUVVGVlowSXNWMEZCWVN4VFFVRlRUaXhGUVVGUlN5eEhRVU4yUkN4TlFVRk5MRWxCUVVsSUxFMUJRVTBzYzBOQlFYZERha0lzUzBGQlMydENMR05CUnk5RWRrSXNSVUZCYVVKVkxGVkJRVlZwUWl4WFFVRmhMRk5CUVZOUUxFVkJRVkZETEVkQlEzWkVMRTFCUVUwc1NVRkJTVU1zVFVGQlRTeHpRMEZCZDBOcVFpeExRVUZMYTBJc1kwRkhMMFIyUWl4RlFVRnBRbFVzVlVGQlZXdENMRmxCUVdNc1UwRkJVMUlzUlVGQlVVTXNSVUZCVDBrc1IwRkRMMFFzVFVGQlRTeEpRVUZKU0N4TlFVRk5MSE5EUVVGM1EycENMRXRCUVV0clFpeGpRVWN2UkhaQ0xFVkJRV2xDVlN4VlFVRlZiVUlzV1VGQll5eFRRVUZUUXl4SFFVTm9SQ3hSUVVGTE9VSXNSVUZCYVVKRkxGVkJRVlV5UWl4WlFVRlpSU3hOUVVGTk1VSXNTMEZCVFRKQ0xGZEJRVmRJTEZsQlFWbERMRWxCUnpORlFTeEZRVUZMUnl4UFFVRlROVUlzUzBGQlN6UkNMRTFCVFd4Q2FrTXNSVUZzUlRKQ0xFdEJjMFZ1UTBrc1MwRkJTME1pTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmMzUmhaMmx1Wnk5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OTRiV3hpZFdsc1pHVnlMMnhwWWk5WVRVeERhR0Z5WVdOMFpYSkVZWFJoTG1wekluMD0iLCIoZnVuY3Rpb24oKXt2YXIgdCxvLHI9e30uaGFzT3duUHJvcGVydHk7dD1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxvPXJlcXVpcmUoXCIuL1hNTENoYXJhY3RlckRhdGFcIiksbW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gbihvLHIpe2lmKG4uX19zdXBlcl9fLmNvbnN0cnVjdG9yLmNhbGwodGhpcyxvKSxudWxsPT1yKXRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgY29tbWVudCB0ZXh0LiBcIit0aGlzLmRlYnVnSW5mbygpKTt0aGlzLm5hbWU9XCIjY29tbWVudFwiLHRoaXMudHlwZT10LkNvbW1lbnQsdGhpcy52YWx1ZT10aGlzLnN0cmluZ2lmeS5jb21tZW50KHIpfXJldHVybiBmdW5jdGlvbih0LG8pe2Zvcih2YXIgZSBpbiBvKXIuY2FsbChvLGUpJiYodFtlXT1vW2VdKTtmdW5jdGlvbiBuKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fW4ucHJvdG90eXBlPW8ucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyBuLHQuX19zdXBlcl9fPW8ucHJvdG90eXBlfShuLG8pLG4ucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdC5jcmVhdGUodGhpcyl9LG4ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMud3JpdGVyLmNvbW1lbnQodGhpcyx0aGlzLm9wdGlvbnMud3JpdGVyLmZpbHRlck9wdGlvbnModCkpfSxufSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URU52YlcxbGJuUXVhbk1pWFN3aWJtRnRaWE1pT2xzaVRtOWtaVlI1Y0dVaUxDSllUVXhEYUdGeVlXTjBaWEpFWVhSaElpd2lhR0Z6VUhKdmNDSXNJbWhoYzA5M2JsQnliM0JsY25SNUlpd2ljbVZ4ZFdseVpTSXNJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0p6ZFhCbGNrTnNZWE56SWl3aVdFMU1RMjl0YldWdWRDSXNJbkJoY21WdWRDSXNJblJsZUhRaUxDSmZYM04xY0dWeVgxOGlMQ0pqYjI1emRISjFZM1J2Y2lJc0ltTmhiR3dpTENKMGFHbHpJaXdpUlhKeWIzSWlMQ0prWldKMVowbHVabThpTENKdVlXMWxJaXdpZEhsd1pTSXNJa052YlcxbGJuUWlMQ0oyWVd4MVpTSXNJbk4wY21sdVoybG1lU0lzSW1OdmJXMWxiblFpTENKamFHbHNaQ0lzSW10bGVTSXNJbU4wYjNJaUxDSndjbTkwYjNSNWNHVWlMQ0psZUhSbGJtUWlMQ0pqYkc5dVpTSXNJazlpYW1WamRDSXNJbU55WldGMFpTSXNJblJ2VTNSeWFXNW5JaXdpYjNCMGFXOXVjeUlzSW5keWFYUmxjaUlzSW1acGJIUmxjazl3ZEdsdmJuTWlYU3dpYldGd2NHbHVaM01pT2lKRFFVTkJMRmRCUTBVc1NVRkJTVUVzUlVGQlZVTXNSVUZGV2tNc1JVRkJWU3hIUVVGSFF5eGxRVVZtU0N4RlFVRlhTU3hSUVVGUkxHTkJSVzVDU0N4RlFVRnRRa2NzVVVGQlVTeHpRa0ZGTTBKRExFOUJRVTlETEZGQlFYVkNMRk5CUVZWRExFZEJSM1JETEZOQlFWTkRMRVZCUVZkRExFVkJRVkZETEVkQlJURkNMRWRCUkVGR0xFVkJRVmRITEZWQlFWVkRMRmxCUVZsRExFdEJRVXRETEV0QlFVMU1MRWRCUTJoRExFMUJRVkpETEVWQlEwWXNUVUZCVFN4SlFVRkpTeXhOUVVGTkxIbENRVUV5UWtRc1MwRkJTMFVzWVVGRmJFUkdMRXRCUVV0SExFdEJRVThzVjBGRFdrZ3NTMEZCUzBrc1MwRkJUMnhDTEVWQlFWTnRRaXhSUVVOeVFrd3NTMEZCUzAwc1RVRkJVVTRzUzBGQlMwOHNWVUZCVlVNc1VVRkJVVm9zUjBGWGRFTXNUMEUxUWxNc1UwRkJVMkVzUlVGQlQyUXNSMEZCVlN4SlFVRkxMRWxCUVVsbExFdEJRVTltTEVWQlFXTlFMRVZCUVZGWExFdEJRVXRLTEVWQlFWRmxMRXRCUVUxRUxFVkJRVTFETEVkQlFVOW1MRVZCUVU5bExFbEJRVkVzVTBGQlUwTXNTVUZCVTFnc1MwRkJTMFlzV1VGQlkxY3NSVUZCVTBVc1JVRkJTME1zVlVGQldXcENMRVZCUVU5cFFpeFZRVUZYU0N4RlFVRk5SeXhWUVVGWkxFbEJRVWxFTEVWQlFWRkdMRVZCUVUxYUxGVkJRVmxHTEVWQlFVOXBRaXhWUVZGb1VVTXNRMEZCVDI1Q0xFVkJjMEpPVUN4SFFWWkVUeXhGUVVGWGEwSXNWVUZCVlVVc1RVRkJVU3hYUVVNelFpeFBRVUZQUXl4UFFVRlBReXhQUVVGUGFFSXNUMEZIZGtKT0xFVkJRVmRyUWl4VlFVRlZTeXhUUVVGWExGTkJRVk5ETEVkQlEzWkRMRTlCUVU5c1FpeExRVUZMYTBJc1VVRkJVVU1zVDBGQlQxZ3NVVUZCVVZJc1MwRkJUVUVzUzBGQlMydENMRkZCUVZGRExFOUJRVTlETEdOQlFXTkdMRXRCUjNSRmVFSXNSVUZ5UW5GQ0xFdEJlVUkzUWtzc1MwRkJTME1pTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmMzUmhaMmx1Wnk5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OTRiV3hpZFdsc1pHVnlMMnhwWWk5WVRVeERiMjF0Wlc1MExtcHpJbjA9IiwiKGZ1bmN0aW9uKCl7dmFyIGUsdDtlPXJlcXVpcmUoXCIuL1hNTERPTUVycm9ySGFuZGxlclwiKSx0PXJlcXVpcmUoXCIuL1hNTERPTVN0cmluZ0xpc3RcIiksbW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKCl7dGhpcy5kZWZhdWx0UGFyYW1zPXtcImNhbm9uaWNhbC1mb3JtXCI6ITEsXCJjZGF0YS1zZWN0aW9uc1wiOiExLGNvbW1lbnRzOiExLFwiZGF0YXR5cGUtbm9ybWFsaXphdGlvblwiOiExLFwiZWxlbWVudC1jb250ZW50LXdoaXRlc3BhY2VcIjohMCxlbnRpdGllczohMCxcImVycm9yLWhhbmRsZXJcIjpuZXcgZSxpbmZvc2V0OiEwLFwidmFsaWRhdGUtaWYtc2NoZW1hXCI6ITEsbmFtZXNwYWNlczohMCxcIm5hbWVzcGFjZS1kZWNsYXJhdGlvbnNcIjohMCxcIm5vcm1hbGl6ZS1jaGFyYWN0ZXJzXCI6ITEsXCJzY2hlbWEtbG9jYXRpb25cIjpcIlwiLFwic2NoZW1hLXR5cGVcIjpcIlwiLFwic3BsaXQtY2RhdGEtc2VjdGlvbnNcIjohMCx2YWxpZGF0ZTohMSxcIndlbGwtZm9ybWVkXCI6ITB9LHRoaXMucGFyYW1zPU9iamVjdC5jcmVhdGUodGhpcy5kZWZhdWx0UGFyYW1zKX1yZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KGEucHJvdG90eXBlLFwicGFyYW1ldGVyTmFtZXNcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyB0KE9iamVjdC5rZXlzKHRoaXMuZGVmYXVsdFBhcmFtcykpfX0pLGEucHJvdG90eXBlLmdldFBhcmFtZXRlcj1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5wYXJhbXMuaGFzT3duUHJvcGVydHkoZSk/dGhpcy5wYXJhbXNbZV06bnVsbH0sYS5wcm90b3R5cGUuY2FuU2V0UGFyYW1ldGVyPWZ1bmN0aW9uKGUsdCl7cmV0dXJuITB9LGEucHJvdG90eXBlLnNldFBhcmFtZXRlcj1mdW5jdGlvbihlLHQpe3JldHVybiBudWxsIT10P3RoaXMucGFyYW1zW2VdPXQ6ZGVsZXRlIHRoaXMucGFyYW1zW2VdfSxhfSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URVJQVFVOdmJtWnBaM1Z5WVhScGIyNHVhbk1pWFN3aWJtRnRaWE1pT2xzaVdFMU1SRTlOUlhKeWIzSklZVzVrYkdWeUlpd2lXRTFNUkU5TlUzUnlhVzVuVEdsemRDSXNJbkpsY1hWcGNtVWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpV0UxTVJFOU5RMjl1Wm1sbmRYSmhkR2x2YmlJc0luUm9hWE1pTENKa1pXWmhkV3gwVUdGeVlXMXpJaXdpWTJGdWIyNXBZMkZzTFdadmNtMGlMQ0pqWkdGMFlTMXpaV04wYVc5dWN5SXNJbU52YlcxbGJuUnpJaXdpWkdGMFlYUjVjR1V0Ym05eWJXRnNhWHBoZEdsdmJpSXNJbVZzWlcxbGJuUXRZMjl1ZEdWdWRDMTNhR2wwWlhOd1lXTmxJaXdpWlc1MGFYUnBaWE1pTENKbGNuSnZjaTFvWVc1a2JHVnlJaXdpYVc1bWIzTmxkQ0lzSW5aaGJHbGtZWFJsTFdsbUxYTmphR1Z0WVNJc0ltNWhiV1Z6Y0dGalpYTWlMQ0p1WVcxbGMzQmhZMlV0WkdWamJHRnlZWFJwYjI1eklpd2libTl5YldGc2FYcGxMV05vWVhKaFkzUmxjbk1pTENKelkyaGxiV0V0Ykc5allYUnBiMjRpTENKelkyaGxiV0V0ZEhsd1pTSXNJbk53YkdsMExXTmtZWFJoTFhObFkzUnBiMjV6SWl3aWRtRnNhV1JoZEdVaUxDSjNaV3hzTFdadmNtMWxaQ0lzSW5CaGNtRnRjeUlzSWs5aWFtVmpkQ0lzSW1OeVpXRjBaU0lzSW1SbFptbHVaVkJ5YjNCbGNuUjVJaXdpY0hKdmRHOTBlWEJsSWl3aVoyVjBJaXdpYTJWNWN5SXNJbWRsZEZCaGNtRnRaWFJsY2lJc0ltNWhiV1VpTENKb1lYTlBkMjVRY205d1pYSjBlU0lzSW1OaGJsTmxkRkJoY21GdFpYUmxjaUlzSW5aaGJIVmxJaXdpYzJWMFVHRnlZVzFsZEdWeUlpd2lZMkZzYkNKZExDSnRZWEJ3YVc1bmN5STZJa05CUTBFc1YwRkRSU3hKUVVGNVFrRXNSVUZCYjBKRExFVkJSVGREUkN4RlFVRnhRa1VzVVVGQlVTeDNRa0ZGTjBKRUxFVkJRVzFDUXl4UlFVRlJMSE5DUVVVelFrTXNUMEZCVDBNc1VVRkJaME1zVjBGRGNrTXNVMEZCVTBNc1NVRkZVRU1zUzBGQlMwTXNZMEZCWjBJc1EwRkRia0pETEd0Q1FVRnJRaXhGUVVOc1FrTXNhMEpCUVd0Q0xFVkJRMnhDUXl4VlFVRlpMRVZCUTFwRExEQkNRVUV3UWl4RlFVTXhRa01zT0VKQlFUaENMRVZCUXpsQ1F5eFZRVUZaTEVWQlExcERMR2RDUVVGcFFpeEpRVUZKWkN4RlFVTnlRbVVzVTBGQlZ5eEZRVU5ZUXl4elFrRkJjMElzUlVGRGRFSkRMRmxCUVdNc1JVRkRaRU1zTUVKQlFUQkNMRVZCUXpGQ1F5eDNRa0ZCZDBJc1JVRkRlRUpETEd0Q1FVRnRRaXhIUVVOdVFrTXNZMEZCWlN4SFFVTm1ReXgzUWtGQmQwSXNSVUZEZUVKRExGVkJRVmtzUlVGRFdrTXNaVUZCWlN4SFFVVnFRbXhDTEV0QlFVdHRRaXhQUVVGelFrTXNUMEZCVDBNc1QwRkJUM0pDTEV0QlFVdERMR1ZCTmtKb1JDeFBRVEZDUVcxQ0xFOUJRVTlGTEdWQlFXVjJRaXhGUVVGdlFuZENMRlZCUVZjc2FVSkJRV3RDTEVOQlEzSkZReXhKUVVGTExGZEJRMGdzVDBGQlR5eEpRVUZKTjBJc1JVRkJhVUo1UWl4UFFVRlBTeXhMUVVGTGVrSXNTMEZCUzBNc2JVSkJTV3BFUml4RlFVRnZRbmRDTEZWQlFWVkhMR0ZCUVdVc1UwRkJVME1zUjBGRGNFUXNUMEZCU1ROQ0xFdEJRVXR0UWl4UFFVRlBVeXhsUVVGbFJDeEhRVU4wUWpOQ0xFdEJRVXR0UWl4UFFVRlBVU3hIUVVWYUxFMUJTVmcxUWl4RlFVRnZRbmRDTEZWQlFWVk5MR2RDUVVGclFpeFRRVUZUUml4RlFVRk5SeXhIUVVNM1JDeFBRVUZQTEVkQlIxUXZRaXhGUVVGdlFuZENMRlZCUVZWUkxHRkJRV1VzVTBGQlUwb3NSVUZCVFVjc1IwRkRNVVFzVDBGQllTeE5RVUZVUVN4RlFVTkxPVUlzUzBGQlMyMUNMRTlCUVU5UkxFZEJRVkZITEZOQlJXSTVRaXhMUVVGTGJVSXNUMEZCVDFFc1NVRkpka0kxUWl4RlFXNUVPRUlzUzBGMVJIUkRhVU1zUzBGQlMyaERJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDNOMFlXZHBibWN2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdmVHMXNZblZwYkdSbGNpOXNhV0l2V0UxTVJFOU5RMjl1Wm1sbmRYSmhkR2x2Ymk1cWN5SjkiLCIoZnVuY3Rpb24oKXttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbigpe2Z1bmN0aW9uIG4oKXt9cmV0dXJuIG4ucHJvdG90eXBlLmhhbmRsZUVycm9yPWZ1bmN0aW9uKG4pe3Rocm93IG5ldyBFcnJvcihuKX0sbn0oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEVSUFRVVnljbTl5U0dGdVpHeGxjaTVxY3lKZExDSnVZVzFsY3lJNld5SnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2lXRTFNUkU5TlJYSnliM0pJWVc1a2JHVnlJaXdpY0hKdmRHOTBlWEJsSWl3aWFHRnVaR3hsUlhKeWIzSWlMQ0psY25KdmNpSXNJa1Z5Y205eUlpd2lZMkZzYkNJc0luUm9hWE1pWFN3aWJXRndjR2x1WjNNaU9pSkRRVU5CTEZkQlIwVkJMRTlCUVU5RExGRkJRU3RDTEZkQlEzQkRMRk5CUVZORExFdEJUVlFzVDBGS1FVRXNSVUZCYlVKRExGVkJRVlZETEZsQlFXTXNVMEZCVTBNc1IwRkRiRVFzVFVGQlRTeEpRVUZKUXl4TlFVRk5SQ3hKUVVkWVNDeEZRVkEyUWl4TFFWZHlRMHNzUzBGQlMwTWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YzNSaFoybHVaeTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5NGJXeGlkV2xzWkdWeUwyeHBZaTlZVFV4RVQwMUZjbkp2Y2toaGJtUnNaWEl1YW5NaWZRPT0iLCIoZnVuY3Rpb24oKXttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt9cmV0dXJuIHQucHJvdG90eXBlLmhhc0ZlYXR1cmU9ZnVuY3Rpb24odCxlKXtyZXR1cm4hMH0sdC5wcm90b3R5cGUuY3JlYXRlRG9jdW1lbnRUeXBlPWZ1bmN0aW9uKHQsZSxvKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiKX0sdC5wcm90b3R5cGUuY3JlYXRlRG9jdW1lbnQ9ZnVuY3Rpb24odCxlLG8pe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIpfSx0LnByb3RvdHlwZS5jcmVhdGVIVE1MRG9jdW1lbnQ9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIil9LHQucHJvdG90eXBlLmdldEZlYXR1cmU9ZnVuY3Rpb24odCxlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiKX0sdH0oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEVSUFRVbHRjR3hsYldWdWRHRjBhVzl1TG1weklsMHNJbTVoYldWeklqcGJJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0pZVFV4RVQwMUpiWEJzWlcxbGJuUmhkR2x2YmlJc0luQnliM1J2ZEhsd1pTSXNJbWhoYzBabFlYUjFjbVVpTENKbVpXRjBkWEpsSWl3aWRtVnljMmx2YmlJc0ltTnlaV0YwWlVSdlkzVnRaVzUwVkhsd1pTSXNJbkYxWVd4cFptbGxaRTVoYldVaUxDSndkV0pzYVdOSlpDSXNJbk41YzNSbGJVbGtJaXdpUlhKeWIzSWlMQ0pqY21WaGRHVkViMk4xYldWdWRDSXNJbTVoYldWemNHRmpaVlZTU1NJc0ltUnZZM1I1Y0dVaUxDSmpjbVZoZEdWSVZFMU1SRzlqZFcxbGJuUWlMQ0owYVhSc1pTSXNJbWRsZEVabFlYUjFjbVVpTENKallXeHNJaXdpZEdocGN5SmRMQ0p0WVhCd2FXNW5jeUk2SWtOQlEwRXNWMEZIUlVFc1QwRkJUME1zVVVGQmFVTXNWMEZEZEVNc1UwRkJVME1zUzBGelFsUXNUMEZ3UWtGQkxFVkJRWEZDUXl4VlFVRlZReXhYUVVGaExGTkJRVk5ETEVWQlFWTkRMRWRCUXpWRUxFOUJRVThzUjBGSFZFb3NSVUZCY1VKRExGVkJRVlZKTEcxQ1FVRnhRaXhUUVVGVFF5eEZRVUZsUXl4RlFVRlZReXhIUVVOd1JpeE5RVUZOTEVsQlFVbERMRTFCUVUwc2QwTkJSMnhDVkN4RlFVRnhRa01zVlVGQlZWTXNaVUZCYVVJc1UwRkJVME1zUlVGQlkwd3NSVUZCWlUwc1IwRkRjRVlzVFVGQlRTeEpRVUZKU0N4TlFVRk5MSGREUVVkc1FsUXNSVUZCY1VKRExGVkJRVlZaTEcxQ1FVRnhRaXhUUVVGVFF5eEhRVU16UkN4TlFVRk5MRWxCUVVsTUxFMUJRVTBzZDBOQlIyeENWQ3hGUVVGeFFrTXNWVUZCVldNc1YwRkJZU3hUUVVGVFdpeEZRVUZUUXl4SFFVTTFSQ3hOUVVGTkxFbEJRVWxMTEUxQlFVMHNkME5CUjFoVUxFVkJka0lyUWl4TFFUSkNka05uUWl4TFFVRkxReUlzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5emRHRm5hVzVuTDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwzaHRiR0oxYVd4a1pYSXZiR2xpTDFoTlRFUlBUVWx0Y0d4bGJXVnVkR0YwYVc5dUxtcHpJbjA9IiwiKGZ1bmN0aW9uKCl7bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3RoaXMuYXJyPXR8fFtdfXJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsXCJsZW5ndGhcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXJyLmxlbmd0aH19KSx0LnByb3RvdHlwZS5pdGVtPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmFyclt0XXx8bnVsbH0sdC5wcm90b3R5cGUuY29udGFpbnM9ZnVuY3Rpb24odCl7cmV0dXJuLTEhPT10aGlzLmFyci5pbmRleE9mKHQpfSx0fSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URVJQVFZOMGNtbHVaMHhwYzNRdWFuTWlYU3dpYm1GdFpYTWlPbHNpYlc5a2RXeGxJaXdpWlhod2IzSjBjeUlzSWxoTlRFUlBUVk4wY21sdVoweHBjM1FpTENKaGNuSWlMQ0owYUdseklpd2lUMkpxWldOMElpd2laR1ZtYVc1bFVISnZjR1Z5ZEhraUxDSndjbTkwYjNSNWNHVWlMQ0puWlhRaUxDSnNaVzVuZEdnaUxDSnBkR1Z0SWl3aWFXNWtaWGdpTENKamIyNTBZV2x1Y3lJc0luTjBjaUlzSW1sdVpHVjRUMllpTENKallXeHNJbDBzSW0xaGNIQnBibWR6SWpvaVEwRkRRU3hYUVVkRlFTeFBRVUZQUXl4UlFVRTJRaXhYUVVOc1F5eFRRVUZUUXl4RlFVRnBRa01zUjBGRGVFSkRMRXRCUVV0RUxFbEJRVTFCTEVkQlFVOHNSMEZwUW5CQ0xFOUJaRUZGTEU5QlFVOURMR1ZCUVdWS0xFVkJRV2xDU3l4VlFVRlhMRk5CUVZVc1EwRkRNVVJETEVsQlFVc3NWMEZEU0N4UFFVRlBTaXhMUVVGTFJDeEpRVUZKVFN4VlFVbHdRbEFzUlVGQmFVSkxMRlZCUVZWSExFdEJRVThzVTBGQlUwTXNSMEZEZWtNc1QwRkJUMUFzUzBGQlMwUXNTVUZCU1ZFc1NVRkJWU3hOUVVjMVFsUXNSVUZCYVVKTExGVkJRVlZMTEZOQlFWY3NVMEZCVTBNc1IwRkROME1zVDBGQmEwTXNTVUZCTTBKVUxFdEJRVXRFTEVsQlFVbFhMRkZCUVZGRUxFbEJSMjVDV0N4RlFXNUNNa0lzUzBGMVFtNURZU3hMUVVGTFdDSXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl6ZEdGbmFXNW5MM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDNodGJHSjFhV3hrWlhJdmJHbGlMMWhOVEVSUFRWTjBjbWx1WjB4cGMzUXVhbk1pZlE9PSIsIihmdW5jdGlvbigpe3ZhciB0LGUsaT17fS5oYXNPd25Qcm9wZXJ0eTtlPXJlcXVpcmUoXCIuL1hNTE5vZGVcIiksdD1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihyKXtmdW5jdGlvbiBuKGUsaSxyLG8scyx1KXtpZihuLl9fc3VwZXJfXy5jb25zdHJ1Y3Rvci5jYWxsKHRoaXMsZSksbnVsbD09aSl0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIERURCBlbGVtZW50IG5hbWUuIFwiK3RoaXMuZGVidWdJbmZvKCkpO2lmKG51bGw9PXIpdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBEVEQgYXR0cmlidXRlIG5hbWUuIFwiK3RoaXMuZGVidWdJbmZvKGkpKTtpZighbyl0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIERURCBhdHRyaWJ1dGUgdHlwZS4gXCIrdGhpcy5kZWJ1Z0luZm8oaSkpO2lmKCFzKXRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgRFREIGF0dHJpYnV0ZSBkZWZhdWx0LiBcIit0aGlzLmRlYnVnSW5mbyhpKSk7aWYoMCE9PXMuaW5kZXhPZihcIiNcIikmJihzPVwiI1wiK3MpLCFzLm1hdGNoKC9eKCNSRVFVSVJFRHwjSU1QTElFRHwjRklYRUR8I0RFRkFVTFQpJC8pKXRocm93IG5ldyBFcnJvcihcIkludmFsaWQgZGVmYXVsdCB2YWx1ZSB0eXBlOyBleHBlY3RlZDogI1JFUVVJUkVELCAjSU1QTElFRCwgI0ZJWEVEIG9yICNERUZBVUxULiBcIit0aGlzLmRlYnVnSW5mbyhpKSk7aWYodSYmIXMubWF0Y2goL14oI0ZJWEVEfCNERUZBVUxUKSQvKSl0aHJvdyBuZXcgRXJyb3IoXCJEZWZhdWx0IHZhbHVlIG9ubHkgYXBwbGllcyB0byAjRklYRUQgb3IgI0RFRkFVTFQuIFwiK3RoaXMuZGVidWdJbmZvKGkpKTt0aGlzLmVsZW1lbnROYW1lPXRoaXMuc3RyaW5naWZ5Lm5hbWUoaSksdGhpcy50eXBlPXQuQXR0cmlidXRlRGVjbGFyYXRpb24sdGhpcy5hdHRyaWJ1dGVOYW1lPXRoaXMuc3RyaW5naWZ5Lm5hbWUociksdGhpcy5hdHRyaWJ1dGVUeXBlPXRoaXMuc3RyaW5naWZ5LmR0ZEF0dFR5cGUobyksdSYmKHRoaXMuZGVmYXVsdFZhbHVlPXRoaXMuc3RyaW5naWZ5LmR0ZEF0dERlZmF1bHQodSkpLHRoaXMuZGVmYXVsdFZhbHVlVHlwZT1zfXJldHVybiBmdW5jdGlvbih0LGUpe2Zvcih2YXIgciBpbiBlKWkuY2FsbChlLHIpJiYodFtyXT1lW3JdKTtmdW5jdGlvbiBuKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fW4ucHJvdG90eXBlPWUucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyBuLHQuX19zdXBlcl9fPWUucHJvdG90eXBlfShuLGUpLG4ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMud3JpdGVyLmR0ZEF0dExpc3QodGhpcyx0aGlzLm9wdGlvbnMud3JpdGVyLmZpbHRlck9wdGlvbnModCkpfSxufSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URVJVUkVGMGRFeHBjM1F1YW5NaVhTd2libUZ0WlhNaU9sc2lUbTlrWlZSNWNHVWlMQ0pZVFV4T2IyUmxJaXdpYUdGelVISnZjQ0lzSW1oaGMwOTNibEJ5YjNCbGNuUjVJaXdpY21WeGRXbHlaU0lzSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pTENKemRYQmxja05zWVhOeklpd2lXRTFNUkZSRVFYUjBUR2x6ZENJc0luQmhjbVZ1ZENJc0ltVnNaVzFsYm5ST1lXMWxJaXdpWVhSMGNtbGlkWFJsVG1GdFpTSXNJbUYwZEhKcFluVjBaVlI1Y0dVaUxDSmtaV1poZFd4MFZtRnNkV1ZVZVhCbElpd2laR1ZtWVhWc2RGWmhiSFZsSWl3aVgxOXpkWEJsY2w5Zklpd2lZMjl1YzNSeWRXTjBiM0lpTENKallXeHNJaXdpZEdocGN5SXNJa1Z5Y205eUlpd2laR1ZpZFdkSmJtWnZJaXdpYVc1a1pYaFBaaUlzSW0xaGRHTm9JaXdpYzNSeWFXNW5hV1o1SWl3aWJtRnRaU0lzSW5SNWNHVWlMQ0pCZEhSeWFXSjFkR1ZFWldOc1lYSmhkR2x2YmlJc0ltUjBaRUYwZEZSNWNHVWlMQ0prZEdSQmRIUkVaV1poZFd4MElpd2lZMmhwYkdRaUxDSnJaWGtpTENKamRHOXlJaXdpY0hKdmRHOTBlWEJsSWl3aVpYaDBaVzVrSWl3aWRHOVRkSEpwYm1jaUxDSnZjSFJwYjI1eklpd2lkM0pwZEdWeUlpd2laSFJrUVhSMFRHbHpkQ0lzSW1acGJIUmxjazl3ZEdsdmJuTWlYU3dpYldGd2NHbHVaM01pT2lKRFFVTkJMRmRCUTBVc1NVRkJTVUVzUlVGQmVVSkRMRVZCUlROQ1F5eEZRVUZWTEVkQlFVZERMR1ZCUldaR0xFVkJRVlZITEZGQlFWRXNZVUZGYkVKS0xFVkJRVmRKTEZGQlFWRXNZMEZGYmtKRExFOUJRVTlETEZGQlFUQkNMRk5CUVZWRExFZEJSM3BETEZOQlFWTkRMRVZCUVdORExFVkJRVkZETEVWQlFXRkRMRVZCUVdWRExFVkJRV1ZETEVWQlFXdENReXhIUVVVeFJpeEhRVVJCVGl4RlFVRmpUeXhWUVVGVlF5eFpRVUZaUXl4TFFVRkxReXhMUVVGTlZDeEhRVU0xUWl4TlFVRm1ReXhGUVVOR0xFMUJRVTBzU1VGQlNWTXNUVUZCVFN3MlFrRkJLMEpFTEV0QlFVdEZMR0ZCUlhSRUxFZEJRWEZDTEUxQlFXcENWQ3hGUVVOR0xFMUJRVTBzU1VGQlNWRXNUVUZCVFN3clFrRkJhVU5FTEV0QlFVdEZMRlZCUVZWV0xFbEJSV3hGTEVsQlFVdEZMRVZCUTBnc1RVRkJUU3hKUVVGSlR5eE5RVUZOTEN0Q1FVRnBRMFFzUzBGQlMwVXNWVUZCVlZZc1NVRkZiRVVzU1VGQlMwY3NSVUZEU0N4TlFVRk5MRWxCUVVsTkxFMUJRVTBzYTBOQlFXOURSQ3hMUVVGTFJTeFZRVUZWVml4SlFVdHlSU3hIUVVoelF5eEpRVUZzUTBjc1JVRkJhVUpSTEZGQlFWRXNUMEZETTBKU0xFVkJRVzFDTEVsQlFVMUJMRWxCUlhSQ1FTeEZRVUZwUWxNc1RVRkJUU3d3UTBGRE1VSXNUVUZCVFN4SlFVRkpTQ3hOUVVGTkxHdEdRVUZ2UmtRc1MwRkJTMFVzVlVGQlZWWXNTVUZGY2tnc1IwRkJTVWtzU1VGQmFVSkVMRVZCUVdsQ1V5eE5RVUZOTEhWQ1FVTXhReXhOUVVGTkxFbEJRVWxJTEUxQlFVMHNjVVJCUVhWRVJDeExRVUZMUlN4VlFVRlZWaXhKUVVWNFJsRXNTMEZCUzFJc1dVRkJZMUVzUzBGQlMwc3NWVUZCVlVNc1MwRkJTMlFzUjBGRGRrTlJMRXRCUVV0UExFdEJRVTk2UWl4RlFVRlRNRUlzY1VKQlEzSkNVaXhMUVVGTFVDeGpRVUZuUWs4c1MwRkJTMHNzVlVGQlZVTXNTMEZCUzJJc1IwRkRla05QTEV0QlFVdE9MR05CUVdkQ1RTeExRVUZMU3l4VlFVRlZTU3hYUVVGWFppeEhRVU16UTBVc1NVRkRSa2tzUzBGQlMwb3NZVUZCWlVrc1MwRkJTMHNzVlVGQlZVc3NZMEZCWTJRc1NVRkZia1JKTEV0QlFVdE1MR2xDUVVGdFFrRXNSVUZQTVVJc1QwRXZRMU1zVTBGQlUyZENMRVZCUVU5d1FpeEhRVUZWTEVsQlFVc3NTVUZCU1hGQ0xFdEJRVTl5UWl4RlFVRmpVQ3hGUVVGUlpTeExRVUZMVWl4RlFVRlJjVUlzUzBGQlRVUXNSVUZCVFVNc1IwRkJUM0pDTEVWQlFVOXhRaXhKUVVGUkxGTkJRVk5ETEVsQlFWTmlMRXRCUVV0R0xGbEJRV05oTEVWQlFWTkZMRVZCUVV0RExGVkJRVmwyUWl4RlFVRlBkVUlzVlVGQlYwZ3NSVUZCVFVjc1ZVRkJXU3hKUVVGSlJDeEZRVUZSUml4RlFVRk5aQ3hWUVVGWlRpeEZRVUZQZFVJc1ZVRlJhRkZETEVOQlFVOTZRaXhGUVhsRFRsQXNSMEZPUkU4c1JVRkJZM2RDTEZWQlFWVkZMRk5CUVZjc1UwRkJVME1zUjBGRE1VTXNUMEZCVDJwQ0xFdEJRVXRwUWl4UlFVRlJReXhQUVVGUFF5eFhRVUZYYmtJc1MwRkJUVUVzUzBGQlMybENMRkZCUVZGRExFOUJRVTlGTEdOQlFXTklMRXRCUjNwRk0wSXNSVUY0UTNkQ0xFdEJORU5vUTFNc1MwRkJTME1pTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmMzUmhaMmx1Wnk5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OTRiV3hpZFdsc1pHVnlMMnhwWWk5WVRVeEVWRVJCZEhSTWFYTjBMbXB6SW4wPSIsIihmdW5jdGlvbigpe3ZhciB0LHIsZT17fS5oYXNPd25Qcm9wZXJ0eTtyPXJlcXVpcmUoXCIuL1hNTE5vZGVcIiksdD1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihpKXtmdW5jdGlvbiBuKHIsZSxpKXtpZihuLl9fc3VwZXJfXy5jb25zdHJ1Y3Rvci5jYWxsKHRoaXMsciksbnVsbD09ZSl0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIERURCBlbGVtZW50IG5hbWUuIFwiK3RoaXMuZGVidWdJbmZvKCkpO2l8fChpPVwiKCNQQ0RBVEEpXCIpLEFycmF5LmlzQXJyYXkoaSkmJihpPVwiKFwiK2kuam9pbihcIixcIikrXCIpXCIpLHRoaXMubmFtZT10aGlzLnN0cmluZ2lmeS5uYW1lKGUpLHRoaXMudHlwZT10LkVsZW1lbnREZWNsYXJhdGlvbix0aGlzLnZhbHVlPXRoaXMuc3RyaW5naWZ5LmR0ZEVsZW1lbnRWYWx1ZShpKX1yZXR1cm4gZnVuY3Rpb24odCxyKXtmb3IodmFyIGkgaW4gcillLmNhbGwocixpKSYmKHRbaV09cltpXSk7ZnVuY3Rpb24gbigpe3RoaXMuY29uc3RydWN0b3I9dH1uLnByb3RvdHlwZT1yLnByb3RvdHlwZSx0LnByb3RvdHlwZT1uZXcgbix0Ll9fc3VwZXJfXz1yLnByb3RvdHlwZX0obixyKSxuLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLndyaXRlci5kdGRFbGVtZW50KHRoaXMsdGhpcy5vcHRpb25zLndyaXRlci5maWx0ZXJPcHRpb25zKHQpKX0sbn0oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEVSVVJFVnNaVzFsYm5RdWFuTWlYU3dpYm1GdFpYTWlPbHNpVG05a1pWUjVjR1VpTENKWVRVeE9iMlJsSWl3aWFHRnpVSEp2Y0NJc0ltaGhjMDkzYmxCeWIzQmxjblI1SWl3aWNtVnhkV2x5WlNJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSnpkWEJsY2tOc1lYTnpJaXdpV0UxTVJGUkVSV3hsYldWdWRDSXNJbkJoY21WdWRDSXNJbTVoYldVaUxDSjJZV3gxWlNJc0lsOWZjM1Z3WlhKZlh5SXNJbU52Ym5OMGNuVmpkRzl5SWl3aVkyRnNiQ0lzSW5Sb2FYTWlMQ0pGY25KdmNpSXNJbVJsWW5WblNXNW1ieUlzSWtGeWNtRjVJaXdpYVhOQmNuSmhlU0lzSW1wdmFXNGlMQ0p6ZEhKcGJtZHBabmtpTENKMGVYQmxJaXdpUld4bGJXVnVkRVJsWTJ4aGNtRjBhVzl1SWl3aVpIUmtSV3hsYldWdWRGWmhiSFZsSWl3aVkyaHBiR1FpTENKclpYa2lMQ0pqZEc5eUlpd2ljSEp2ZEc5MGVYQmxJaXdpWlhoMFpXNWtJaXdpZEc5VGRISnBibWNpTENKdmNIUnBiMjV6SWl3aWQzSnBkR1Z5SWl3aVpIUmtSV3hsYldWdWRDSXNJbVpwYkhSbGNrOXdkR2x2Ym5NaVhTd2liV0Z3Y0dsdVozTWlPaUpEUVVOQkxGZEJRMFVzU1VGQlNVRXNSVUZCZVVKRExFVkJSVE5DUXl4RlFVRlZMRWRCUVVkRExHVkJSV1pHTEVWQlFWVkhMRkZCUVZFc1lVRkZiRUpLTEVWQlFWZEpMRkZCUVZFc1kwRkZia0pETEU5QlFVOURMRkZCUVRCQ0xGTkJRVlZETEVkQlIzcERMRk5CUVZORExFVkJRV05ETEVWQlFWRkRMRVZCUVUxRExFZEJSVzVETEVkQlJFRklMRVZCUVdOSkxGVkJRVlZETEZsQlFWbERMRXRCUVV0RExFdEJRVTFPTEVkQlEyNURMRTFCUVZKRExFVkJRMFlzVFVGQlRTeEpRVUZKVFN4TlFVRk5MRFpDUVVFclFrUXNTMEZCUzBVc1lVRkZha1JPTEVsQlEwaEJMRVZCUVZFc1lVRkZUazhzVFVGQlRVTXNVVUZCVVZJc1MwRkRhRUpCTEVWQlFWRXNTVUZCVFVFc1JVRkJUVk1zUzBGQlN5eExRVUZQTEV0QlJXeERUQ3hMUVVGTFRDeExRVUZQU3l4TFFVRkxUU3hWUVVGVldDeExRVUZMUVN4SFFVTm9RMHNzUzBGQlMwOHNTMEZCVDNSQ0xFVkJRVk4xUWl4dFFrRkRja0pTTEV0QlFVdEtMRTFCUVZGSkxFdEJRVXROTEZWQlFWVkhMR2RDUVVGblFtSXNSMEZQT1VNc1QwRTVRbE1zVTBGQlUyTXNSVUZCVDJoQ0xFZEJRVlVzU1VGQlN5eEpRVUZKYVVJc1MwRkJUMnBDTEVWQlFXTlFMRVZCUVZGWkxFdEJRVXRNTEVWQlFWRnBRaXhMUVVGTlJDeEZRVUZOUXl4SFFVRlBha0lzUlVGQlQybENMRWxCUVZFc1UwRkJVME1zU1VGQlUxb3NTMEZCUzBZc1dVRkJZMWtzUlVGQlUwVXNSVUZCUzBNc1ZVRkJXVzVDTEVWQlFVOXRRaXhWUVVGWFNDeEZRVUZOUnl4VlFVRlpMRWxCUVVsRUxFVkJRVkZHTEVWQlFVMWlMRlZCUVZsSUxFVkJRVTl0UWl4VlFWRm9VVU1zUTBGQlQzSkNMRVZCZDBKT1VDeEhRVTVFVHl4RlFVRmpiMElzVlVGQlZVVXNVMEZCVnl4VFFVRlRReXhIUVVNeFF5eFBRVUZQYUVJc1MwRkJTMmRDTEZGQlFWRkRMRTlCUVU5RExGZEJRVmRzUWl4TFFVRk5RU3hMUVVGTFowSXNVVUZCVVVNc1QwRkJUMFVzWTBGQlkwZ3NTMEZIZWtWMlFpeEZRWFpDZDBJc1MwRXlRbWhEVFN4TFFVRkxReUlzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5emRHRm5hVzVuTDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwzaHRiR0oxYVd4a1pYSXZiR2xpTDFoTlRFUlVSRVZzWlcxbGJuUXVhbk1pZlE9PSIsIihmdW5jdGlvbigpe3ZhciB0LGUsaSxuPXt9Lmhhc093blByb3BlcnR5O2k9cmVxdWlyZShcIi4vVXRpbGl0eVwiKS5pc09iamVjdCxlPXJlcXVpcmUoXCIuL1hNTE5vZGVcIiksdD1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihyKXtmdW5jdGlvbiBvKGUsbixyLHMpe2lmKG8uX19zdXBlcl9fLmNvbnN0cnVjdG9yLmNhbGwodGhpcyxlKSxudWxsPT1yKXRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgRFREIGVudGl0eSBuYW1lLiBcIit0aGlzLmRlYnVnSW5mbyhyKSk7aWYobnVsbD09cyl0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIERURCBlbnRpdHkgdmFsdWUuIFwiK3RoaXMuZGVidWdJbmZvKHIpKTtpZih0aGlzLnBlPSEhbix0aGlzLm5hbWU9dGhpcy5zdHJpbmdpZnkubmFtZShyKSx0aGlzLnR5cGU9dC5FbnRpdHlEZWNsYXJhdGlvbixpKHMpKXtpZighcy5wdWJJRCYmIXMuc3lzSUQpdGhyb3cgbmV3IEVycm9yKFwiUHVibGljIGFuZC9vciBzeXN0ZW0gaWRlbnRpZmllcnMgYXJlIHJlcXVpcmVkIGZvciBhbiBleHRlcm5hbCBlbnRpdHkuIFwiK3RoaXMuZGVidWdJbmZvKHIpKTtpZihzLnB1YklEJiYhcy5zeXNJRCl0aHJvdyBuZXcgRXJyb3IoXCJTeXN0ZW0gaWRlbnRpZmllciBpcyByZXF1aXJlZCBmb3IgYSBwdWJsaWMgZXh0ZXJuYWwgZW50aXR5LiBcIit0aGlzLmRlYnVnSW5mbyhyKSk7aWYodGhpcy5pbnRlcm5hbD0hMSxudWxsIT1zLnB1YklEJiYodGhpcy5wdWJJRD10aGlzLnN0cmluZ2lmeS5kdGRQdWJJRChzLnB1YklEKSksbnVsbCE9cy5zeXNJRCYmKHRoaXMuc3lzSUQ9dGhpcy5zdHJpbmdpZnkuZHRkU3lzSUQocy5zeXNJRCkpLG51bGwhPXMubkRhdGEmJih0aGlzLm5EYXRhPXRoaXMuc3RyaW5naWZ5LmR0ZE5EYXRhKHMubkRhdGEpKSx0aGlzLnBlJiZ0aGlzLm5EYXRhKXRocm93IG5ldyBFcnJvcihcIk5vdGF0aW9uIGRlY2xhcmF0aW9uIGlzIG5vdCBhbGxvd2VkIGluIGEgcGFyYW1ldGVyIGVudGl0eS4gXCIrdGhpcy5kZWJ1Z0luZm8ocikpfWVsc2UgdGhpcy52YWx1ZT10aGlzLnN0cmluZ2lmeS5kdGRFbnRpdHlWYWx1ZShzKSx0aGlzLmludGVybmFsPSEwfXJldHVybiBmdW5jdGlvbih0LGUpe2Zvcih2YXIgaSBpbiBlKW4uY2FsbChlLGkpJiYodFtpXT1lW2ldKTtmdW5jdGlvbiByKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fXIucHJvdG90eXBlPWUucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyByLHQuX19zdXBlcl9fPWUucHJvdG90eXBlfShvLGUpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLnByb3RvdHlwZSxcInB1YmxpY0lkXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnB1YklEfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLnByb3RvdHlwZSxcInN5c3RlbUlkXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnN5c0lEfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLnByb3RvdHlwZSxcIm5vdGF0aW9uTmFtZVwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5uRGF0YXx8bnVsbH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoby5wcm90b3R5cGUsXCJpbnB1dEVuY29kaW5nXCIse2dldDpmdW5jdGlvbigpe3JldHVybiBudWxsfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLnByb3RvdHlwZSxcInhtbEVuY29kaW5nXCIse2dldDpmdW5jdGlvbigpe3JldHVybiBudWxsfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLnByb3RvdHlwZSxcInhtbFZlcnNpb25cIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9fSksby5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy53cml0ZXIuZHRkRW50aXR5KHRoaXMsdGhpcy5vcHRpb25zLndyaXRlci5maWx0ZXJPcHRpb25zKHQpKX0sb30oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEVSVVJFVnVkR2wwZVM1cWN5SmRMQ0p1WVcxbGN5STZXeUpPYjJSbFZIbHdaU0lzSWxoTlRFNXZaR1VpTENKcGMwOWlhbVZqZENJc0ltaGhjMUJ5YjNBaUxDSm9ZWE5QZDI1UWNtOXdaWEowZVNJc0luSmxjWFZwY21VaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2ljM1Z3WlhKRGJHRnpjeUlzSWxoTlRFUlVSRVZ1ZEdsMGVTSXNJbkJoY21WdWRDSXNJbkJsSWl3aWJtRnRaU0lzSW5aaGJIVmxJaXdpWDE5emRYQmxjbDlmSWl3aVkyOXVjM1J5ZFdOMGIzSWlMQ0pqWVd4c0lpd2lkR2hwY3lJc0lrVnljbTl5SWl3aVpHVmlkV2RKYm1adklpd2ljM1J5YVc1bmFXWjVJaXdpZEhsd1pTSXNJa1Z1ZEdsMGVVUmxZMnhoY21GMGFXOXVJaXdpY0hWaVNVUWlMQ0p6ZVhOSlJDSXNJbWx1ZEdWeWJtRnNJaXdpWkhSa1VIVmlTVVFpTENKa2RHUlRlWE5KUkNJc0ltNUVZWFJoSWl3aVpIUmtUa1JoZEdFaUxDSmtkR1JGYm5ScGRIbFdZV3gxWlNJc0ltTm9hV3hrSWl3aWEyVjVJaXdpWTNSdmNpSXNJbkJ5YjNSdmRIbHdaU0lzSW1WNGRHVnVaQ0lzSWs5aWFtVmpkQ0lzSW1SbFptbHVaVkJ5YjNCbGNuUjVJaXdpWjJWMElpd2lkRzlUZEhKcGJtY2lMQ0p2Y0hScGIyNXpJaXdpZDNKcGRHVnlJaXdpWkhSa1JXNTBhWFI1SWl3aVptbHNkR1Z5VDNCMGFXOXVjeUpkTENKdFlYQndhVzVuY3lJNklrTkJRMEVzVjBGRFJTeEpRVUZKUVN4RlFVRjNRa01zUlVGQlUwTXNSVUZGYmtORExFVkJRVlVzUjBGQlIwTXNaVUZGWmtZc1JVRkJWMGNzVVVGQlVTeGhRVUZoU0N4VFFVVm9RMFFzUlVGQlZVa3NVVUZCVVN4aFFVVnNRa3dzUlVGQlYwc3NVVUZCVVN4alFVVnVRa01zVDBGQlQwTXNVVUZCZVVJc1UwRkJWVU1zUjBGSGVFTXNVMEZCVTBNc1JVRkJZVU1zUlVGQlVVTXNSVUZCU1VNc1JVRkJUVU1zUjBGRmRFTXNSMEZFUVVvc1JVRkJZVXNzVlVGQlZVTXNXVUZCV1VNc1MwRkJTME1zUzBGQlRWQXNSMEZEYkVNc1RVRkJVa1VzUlVGRFJpeE5RVUZOTEVsQlFVbE5MRTFCUVUwc05FSkJRVGhDUkN4TFFVRkxSU3hWUVVGVlVDeEpRVVV2UkN4SFFVRmhMRTFCUVZSRExFVkJRMFlzVFVGQlRTeEpRVUZKU3l4TlFVRk5MRFpDUVVFclFrUXNTMEZCUzBVc1ZVRkJWVkFzU1VGTGFFVXNSMEZJUVVzc1MwRkJTMDRzUzBGQlQwRXNSVUZEV2swc1MwRkJTMHdzUzBGQlQwc3NTMEZCUzBjc1ZVRkJWVklzUzBGQlMwRXNSMEZEYUVOTExFdEJRVXRKTEV0QlFVOXlRaXhGUVVGVGMwSXNhMEpCUTJoQ2NFSXNSVUZCVTFjc1IwRkhVQ3hEUVVOTUxFbEJRVXRCTEVWQlFVMVZMRkZCUVZWV0xFVkJRVTFYTEUxQlEzcENMRTFCUVUwc1NVRkJTVTRzVFVGQlRTeDVSVUZCTWtWRUxFdEJRVXRGTEZWQlFWVlFMRWxCUlRWSExFZEJRVWxETEVWQlFVMVZMRkZCUVZWV0xFVkJRVTFYTEUxQlEzaENMRTFCUVUwc1NVRkJTVTRzVFVGQlRTd3JSRUZCYVVWRUxFdEJRVXRGTEZWQlFWVlFMRWxCV1d4SExFZEJWa0ZMTEV0QlFVdFJMRlZCUVZjc1JVRkRSeXhOUVVGbVdpeEZRVUZOVlN4UlFVTlNUaXhMUVVGTFRTeE5RVUZSVGl4TFFVRkxSeXhWUVVGVlRTeFRRVUZUWWl4RlFVRk5WU3hSUVVVeFFpeE5RVUZtVml4RlFVRk5WeXhSUVVOU1VDeExRVUZMVHl4TlFVRlJVQ3hMUVVGTFJ5eFZRVUZWVHl4VFFVRlRaQ3hGUVVGTlZ5eFJRVVV4UWl4TlFVRm1XQ3hGUVVGTlpTeFJRVU5TV0N4TFFVRkxWeXhOUVVGUldDeExRVUZMUnl4VlFVRlZVeXhUUVVGVGFFSXNSVUZCVFdVc1VVRkZla05ZTEV0QlFVdE9MRWxCUVUxTkxFdEJRVXRYTEUxQlEyeENMRTFCUVUwc1NVRkJTVllzVFVGQlRTdzRSRUZCWjBWRUxFdEJRVXRGTEZWQlFWVlFMRk5CY0VKcVIwc3NTMEZCUzBvc1RVRkJVVWtzUzBGQlMwY3NWVUZCVlZVc1pVRkJaV3BDTEVkQlF6TkRTU3hMUVVGTFVTeFZRVUZYTEVWQlowVndRaXhQUVhwR1V5eFRRVUZUVFN4RlFVRlBja0lzUjBGQlZTeEpRVUZMTEVsQlFVbHpRaXhMUVVGUGRFSXNSVUZCWTFBc1JVRkJVV0VzUzBGQlMwNHNSVUZCVVhOQ0xFdEJRVTFFTEVWQlFVMURMRWRCUVU5MFFpeEZRVUZQYzBJc1NVRkJVU3hUUVVGVFF5eEpRVUZUYUVJc1MwRkJTMFlzV1VGQlkyZENMRVZCUVZORkxFVkJRVXRETEZWQlFWbDRRaXhGUVVGUGQwSXNWVUZCVjBnc1JVRkJUVWNzVlVGQldTeEpRVUZKUkN4RlFVRlJSaXhGUVVGTmFrSXNWVUZCV1Vvc1JVRkJUM2RDTEZWQlZXaFJReXhEUVVGUE1VSXNSVUZwUms1U0xFZEJNVU5FYlVNc1QwRkJUME1zWlVGQlpUVkNMRVZCUVdGNVFpeFZRVUZYTEZkQlFWa3NRMEZEZUVSSkxFbEJRVXNzVjBGRFNDeFBRVUZQY2tJc1MwRkJTMDBzVTBGSmFFSmhMRTlCUVU5RExHVkJRV1UxUWl4RlFVRmhlVUlzVlVGQlZ5eFhRVUZaTEVOQlEzaEVTU3hKUVVGTExGZEJRMGdzVDBGQlQzSkNMRXRCUVV0UExGTkJTV2hDV1N4UFFVRlBReXhsUVVGbE5VSXNSVUZCWVhsQ0xGVkJRVmNzWlVGQlowSXNRMEZETlVSSkxFbEJRVXNzVjBGRFNDeFBRVUZQY2tJc1MwRkJTMWNzVDBGQlV5eFJRVWw2UWxFc1QwRkJUME1zWlVGQlpUVkNMRVZCUVdGNVFpeFZRVUZYTEdkQ1FVRnBRaXhEUVVNM1JFa3NTVUZCU3l4WFFVTklMRTlCUVU4c1VVRkpXRVlzVDBGQlQwTXNaVUZCWlRWQ0xFVkJRV0Y1UWl4VlFVRlhMR05CUVdVc1EwRkRNMFJKTEVsQlFVc3NWMEZEU0N4UFFVRlBMRkZCU1ZoR0xFOUJRVTlETEdWQlFXVTFRaXhGUVVGaGVVSXNWVUZCVnl4aFFVRmpMRU5CUXpGRVNTeEpRVUZMTEZkQlEwZ3NUMEZCVHl4UlFVbFlOMElzUlVGQllYbENMRlZCUVZWTExGTkJRVmNzVTBGQlUwTXNSMEZEZWtNc1QwRkJUM1pDTEV0QlFVdDFRaXhSUVVGUlF5eFBRVUZQUXl4VlFVRlZla0lzUzBGQlRVRXNTMEZCUzNWQ0xGRkJRVkZETEU5QlFVOUZMR05CUVdOSUxFdEJSM2hGTDBJc1JVRm9SblZDTEV0QmIwWXZRazhzUzBGQlMwTWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YzNSaFoybHVaeTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5NGJXeGlkV2xzWkdWeUwyeHBZaTlZVFV4RVZFUkZiblJwZEhrdWFuTWlmUT09IiwiKGZ1bmN0aW9uKCl7dmFyIHQscixpPXt9Lmhhc093blByb3BlcnR5O3I9cmVxdWlyZShcIi4vWE1MTm9kZVwiKSx0PXJlcXVpcmUoXCIuL05vZGVUeXBlXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG8ocixpLGUpe2lmKG8uX19zdXBlcl9fLmNvbnN0cnVjdG9yLmNhbGwodGhpcyxyKSxudWxsPT1pKXRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgRFREIG5vdGF0aW9uIG5hbWUuIFwiK3RoaXMuZGVidWdJbmZvKGkpKTtpZighZS5wdWJJRCYmIWUuc3lzSUQpdGhyb3cgbmV3IEVycm9yKFwiUHVibGljIG9yIHN5c3RlbSBpZGVudGlmaWVycyBhcmUgcmVxdWlyZWQgZm9yIGFuIGV4dGVybmFsIGVudGl0eS4gXCIrdGhpcy5kZWJ1Z0luZm8oaSkpO3RoaXMubmFtZT10aGlzLnN0cmluZ2lmeS5uYW1lKGkpLHRoaXMudHlwZT10Lk5vdGF0aW9uRGVjbGFyYXRpb24sbnVsbCE9ZS5wdWJJRCYmKHRoaXMucHViSUQ9dGhpcy5zdHJpbmdpZnkuZHRkUHViSUQoZS5wdWJJRCkpLG51bGwhPWUuc3lzSUQmJih0aGlzLnN5c0lEPXRoaXMuc3RyaW5naWZ5LmR0ZFN5c0lEKGUuc3lzSUQpKX1yZXR1cm4gZnVuY3Rpb24odCxyKXtmb3IodmFyIGUgaW4gcilpLmNhbGwocixlKSYmKHRbZV09cltlXSk7ZnVuY3Rpb24gbygpe3RoaXMuY29uc3RydWN0b3I9dH1vLnByb3RvdHlwZT1yLnByb3RvdHlwZSx0LnByb3RvdHlwZT1uZXcgbyx0Ll9fc3VwZXJfXz1yLnByb3RvdHlwZX0obyxyKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoby5wcm90b3R5cGUsXCJwdWJsaWNJZFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wdWJJRH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoby5wcm90b3R5cGUsXCJzeXN0ZW1JZFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zeXNJRH19KSxvLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLndyaXRlci5kdGROb3RhdGlvbih0aGlzLHRoaXMub3B0aW9ucy53cml0ZXIuZmlsdGVyT3B0aW9ucyh0KSl9LG99KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRFUlVSRTV2ZEdGMGFXOXVMbXB6SWwwc0ltNWhiV1Z6SWpwYklrNXZaR1ZVZVhCbElpd2lXRTFNVG05a1pTSXNJbWhoYzFCeWIzQWlMQ0pvWVhOUGQyNVFjbTl3WlhKMGVTSXNJbkpsY1hWcGNtVWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpYzNWd1pYSkRiR0Z6Y3lJc0lsaE5URVJVUkU1dmRHRjBhVzl1SWl3aWNHRnlaVzUwSWl3aWJtRnRaU0lzSW5aaGJIVmxJaXdpWDE5emRYQmxjbDlmSWl3aVkyOXVjM1J5ZFdOMGIzSWlMQ0pqWVd4c0lpd2lkR2hwY3lJc0lrVnljbTl5SWl3aVpHVmlkV2RKYm1adklpd2ljSFZpU1VRaUxDSnplWE5KUkNJc0luTjBjbWx1WjJsbWVTSXNJblI1Y0dVaUxDSk9iM1JoZEdsdmJrUmxZMnhoY21GMGFXOXVJaXdpWkhSa1VIVmlTVVFpTENKa2RHUlRlWE5KUkNJc0ltTm9hV3hrSWl3aWEyVjVJaXdpWTNSdmNpSXNJbkJ5YjNSdmRIbHdaU0lzSW1WNGRHVnVaQ0lzSWs5aWFtVmpkQ0lzSW1SbFptbHVaVkJ5YjNCbGNuUjVJaXdpWjJWMElpd2lkRzlUZEhKcGJtY2lMQ0p2Y0hScGIyNXpJaXdpZDNKcGRHVnlJaXdpWkhSa1RtOTBZWFJwYjI0aUxDSm1hV3gwWlhKUGNIUnBiMjV6SWwwc0ltMWhjSEJwYm1keklqb2lRMEZEUVN4WFFVTkZMRWxCUVVsQkxFVkJRVEJDUXl4RlFVVTFRa01zUlVGQlZTeEhRVUZIUXl4bFFVVm1SaXhGUVVGVlJ5eFJRVUZSTEdGQlJXeENTaXhGUVVGWFNTeFJRVUZSTEdOQlJXNUNReXhQUVVGUFF5eFJRVUV5UWl4VFFVRlZReXhIUVVjeFF5eFRRVUZUUXl4RlFVRmxReXhGUVVGUlF5eEZRVUZOUXl4SFFVVndReXhIUVVSQlNDeEZRVUZsU1N4VlFVRlZReXhaUVVGWlF5eExRVUZMUXl4TFFVRk5UaXhIUVVOd1F5eE5RVUZTUXl4RlFVTkdMRTFCUVUwc1NVRkJTVTBzVFVGQlRTdzRRa0ZCWjBORUxFdEJRVXRGTEZWQlFWVlFMRWxCUldwRkxFbEJRVXRETEVWQlFVMVBMRkZCUVZWUUxFVkJRVTFSTEUxQlEzcENMRTFCUVUwc1NVRkJTVWdzVFVGQlRTeHhSVUZCZFVWRUxFdEJRVXRGTEZWQlFWVlFMRWxCUlhoSFN5eExRVUZMVEN4TFFVRlBTeXhMUVVGTFN5eFZRVUZWVml4TFFVRkxRU3hIUVVOb1Ewc3NTMEZCUzAwc1MwRkJUM0pDTEVWQlFWTnpRaXh2UWtGRFJpeE5RVUZtV0N4RlFVRk5UeXhSUVVOU1NDeExRVUZMUnl4TlFVRlJTQ3hMUVVGTFN5eFZRVUZWUnl4VFFVRlRXaXhGUVVGTlR5eFJRVVV4UWl4TlFVRm1VQ3hGUVVGTlVTeFJRVU5TU2l4TFFVRkxTU3hOUVVGUlNpeExRVUZMU3l4VlFVRlZTU3hUUVVGVFlpeEZRVUZOVVN4UlFXOUNMME1zVDBFMVExTXNVMEZCVTAwc1JVRkJUMmhDTEVkQlFWVXNTVUZCU3l4SlFVRkphVUlzUzBGQlQycENMRVZCUVdOUUxFVkJRVkZaTEV0QlFVdE1MRVZCUVZGcFFpeExRVUZOUkN4RlFVRk5ReXhIUVVGUGFrSXNSVUZCVDJsQ0xFbEJRVkVzVTBGQlUwTXNTVUZCVTFvc1MwRkJTMFlzV1VGQlkxa3NSVUZCVTBVc1JVRkJTME1zVlVGQldXNUNMRVZCUVU5dFFpeFZRVUZYU0N4RlFVRk5SeXhWUVVGWkxFbEJRVWxFTEVWQlFWRkdMRVZCUVUxaUxGVkJRVmxJTEVWQlFVOXRRaXhWUVZGb1VVTXNRMEZCVDNKQ0xFVkJjME5PVUN4SFFXeENSRFpDTEU5QlFVOURMR1ZCUVdWMlFpeEZRVUZsYjBJc1ZVRkJWeXhYUVVGWkxFTkJRekZFU1N4SlFVRkxMRmRCUTBnc1QwRkJUMnBDTEV0QlFVdEhMRk5CU1doQ1dTeFBRVUZQUXl4bFFVRmxka0lzUlVGQlpXOUNMRlZCUVZjc1YwRkJXU3hEUVVNeFJFa3NTVUZCU3l4WFFVTklMRTlCUVU5cVFpeExRVUZMU1N4VFFVbG9RbGdzUlVGQlpXOUNMRlZCUVZWTExGTkJRVmNzVTBGQlUwTXNSMEZETTBNc1QwRkJUMjVDTEV0QlFVdHRRaXhSUVVGUlF5eFBRVUZQUXl4WlFVRlpja0lzUzBGQlRVRXNTMEZCUzIxQ0xGRkJRVkZETEU5QlFVOUZMR05CUVdOSUxFdEJSekZGTVVJc1JVRnlRM2xDTEV0QmVVTnFRMDBzUzBGQlMwTWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YzNSaFoybHVaeTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5NGJXeGlkV2xzWkdWeUwyeHBZaTlZVFV4RVZFUk9iM1JoZEdsdmJpNXFjeUo5IiwiKGZ1bmN0aW9uKCl7dmFyIHQsaSxuLG89e30uaGFzT3duUHJvcGVydHk7bj1yZXF1aXJlKFwiLi9VdGlsaXR5XCIpLmlzT2JqZWN0LGk9cmVxdWlyZShcIi4vWE1MTm9kZVwiKSx0PXJlcXVpcmUoXCIuL05vZGVUeXBlXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKHIpe2Z1bmN0aW9uIGUoaSxvLHIscyl7dmFyIGw7ZS5fX3N1cGVyX18uY29uc3RydWN0b3IuY2FsbCh0aGlzLGkpLG4obykmJihvPShsPW8pLnZlcnNpb24scj1sLmVuY29kaW5nLHM9bC5zdGFuZGFsb25lKSxvfHwobz1cIjEuMFwiKSx0aGlzLnR5cGU9dC5EZWNsYXJhdGlvbix0aGlzLnZlcnNpb249dGhpcy5zdHJpbmdpZnkueG1sVmVyc2lvbihvKSxudWxsIT1yJiYodGhpcy5lbmNvZGluZz10aGlzLnN0cmluZ2lmeS54bWxFbmNvZGluZyhyKSksbnVsbCE9cyYmKHRoaXMuc3RhbmRhbG9uZT10aGlzLnN0cmluZ2lmeS54bWxTdGFuZGFsb25lKHMpKX1yZXR1cm4gZnVuY3Rpb24odCxpKXtmb3IodmFyIG4gaW4gaSlvLmNhbGwoaSxuKSYmKHRbbl09aVtuXSk7ZnVuY3Rpb24gcigpe3RoaXMuY29uc3RydWN0b3I9dH1yLnByb3RvdHlwZT1pLnByb3RvdHlwZSx0LnByb3RvdHlwZT1uZXcgcix0Ll9fc3VwZXJfXz1pLnByb3RvdHlwZX0oZSxpKSxlLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLndyaXRlci5kZWNsYXJhdGlvbih0aGlzLHRoaXMub3B0aW9ucy53cml0ZXIuZmlsdGVyT3B0aW9ucyh0KSl9LGV9KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRFUmxZMnhoY21GMGFXOXVMbXB6SWwwc0ltNWhiV1Z6SWpwYklrNXZaR1ZVZVhCbElpd2lXRTFNVG05a1pTSXNJbWx6VDJKcVpXTjBJaXdpYUdGelVISnZjQ0lzSW1oaGMwOTNibEJ5YjNCbGNuUjVJaXdpY21WeGRXbHlaU0lzSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pTENKemRYQmxja05zWVhOeklpd2lXRTFNUkdWamJHRnlZWFJwYjI0aUxDSndZWEpsYm5RaUxDSjJaWEp6YVc5dUlpd2laVzVqYjJScGJtY2lMQ0p6ZEdGdVpHRnNiMjVsSWl3aWNtVm1JaXdpWDE5emRYQmxjbDlmSWl3aVkyOXVjM1J5ZFdOMGIzSWlMQ0pqWVd4c0lpd2lkR2hwY3lJc0luUjVjR1VpTENKRVpXTnNZWEpoZEdsdmJpSXNJbk4wY21sdVoybG1lU0lzSW5odGJGWmxjbk5wYjI0aUxDSjRiV3hGYm1OdlpHbHVaeUlzSW5odGJGTjBZVzVrWVd4dmJtVWlMQ0pqYUdsc1pDSXNJbXRsZVNJc0ltTjBiM0lpTENKd2NtOTBiM1I1Y0dVaUxDSmxlSFJsYm1RaUxDSjBiMU4wY21sdVp5SXNJbTl3ZEdsdmJuTWlMQ0ozY21sMFpYSWlMQ0prWldOc1lYSmhkR2x2YmlJc0ltWnBiSFJsY2s5d2RHbHZibk1pWFN3aWJXRndjR2x1WjNNaU9pSkRRVU5CTEZkQlEwVXNTVUZCU1VFc1JVRkJNRUpETEVWQlFWTkRMRVZCUlhKRFF5eEZRVUZWTEVkQlFVZERMR1ZCUldaR0xFVkJRVmRITEZGQlFWRXNZVUZCWVVnc1UwRkZhRU5FTEVWQlFWVkpMRkZCUVZFc1lVRkZiRUpNTEVWQlFWZExMRkZCUVZFc1kwRkZia0pETEU5QlFVOURMRkZCUVRKQ0xGTkJRVlZETEVkQlJ6RkRMRk5CUVZORExFVkJRV1ZETEVWQlFWRkRMRVZCUVZORExFVkJRVlZETEVkQlEycEVMRWxCUVVsRExFVkJRMHBNTEVWQlFXVk5MRlZCUVZWRExGbEJRVmxETEV0QlFVdERMRXRCUVUxU0xFZEJRelZEVWl4RlFVRlRVeXhMUVVOSlFTeEhRVUZtUnl4RlFVRk5TQ3hIUVVGMVFrRXNVVUZCVTBNc1JVRkJWMFVzUlVGQlNVWXNVMEZCVlVNc1JVRkJZVU1zUlVGQlNVUXNXVUZGTjBWR0xFbEJRMGhCTEVWQlFWVXNUMEZGV2s4c1MwRkJTME1zUzBGQlQyNUNMRVZCUVZOdlFpeFpRVU55UWtZc1MwRkJTMUFzVVVGQlZVOHNTMEZCUzBjc1ZVRkJWVU1zVjBGQlYxZ3NSMEZEZWtJc1RVRkJXa01zU1VGRFJrMHNTMEZCUzA0c1UwRkJWMDBzUzBGQlMwY3NWVUZCVlVVc1dVRkJXVmdzU1VGRk0wSXNUVUZCWkVNc1NVRkRSa3NzUzBGQlMwd3NWMEZCWVVzc1MwRkJTMGNzVlVGQlZVY3NZMEZCWTFnc1NVRlJia1FzVDBGdVExTXNVMEZCVTFrc1JVRkJUMllzUjBGQlZTeEpRVUZMTEVsQlFVbG5RaXhMUVVGUGFFSXNSVUZCWTFBc1JVRkJVV01zUzBGQlMxQXNSVUZCVVdkQ0xFdEJRVTFFTEVWQlFVMURMRWRCUVU5b1FpeEZRVUZQWjBJc1NVRkJVU3hUUVVGVFF5eEpRVUZUVkN4TFFVRkxSaXhaUVVGalV5eEZRVUZUUlN4RlFVRkxReXhWUVVGWmJFSXNSVUZCVDJ0Q0xGVkJRVmRJTEVWQlFVMUhMRlZCUVZrc1NVRkJTVVFzUlVGQlVVWXNSVUZCVFZZc1ZVRkJXVXdzUlVGQlQydENMRlZCVldoUlF5eERRVUZQY0VJc1JVRXlRazVTTEVkQlRrUlJMRVZCUVdWdFFpeFZRVUZWUlN4VFFVRlhMRk5CUVZORExFZEJRek5ETEU5QlFVOWlMRXRCUVV0aExGRkJRVkZETEU5QlFVOURMRmxCUVZsbUxFdEJRVTFCTEV0QlFVdGhMRkZCUVZGRExFOUJRVTlGTEdOQlFXTklMRXRCUnpGRmRFSXNSVUV4UW5sQ0xFdEJPRUpxUTFFc1MwRkJTME1pTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmMzUmhaMmx1Wnk5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OTRiV3hpZFdsc1pHVnlMMnhwWWk5WVRVeEVaV05zWVhKaGRHbHZiaTVxY3lKOSIsIihmdW5jdGlvbigpe3ZhciB0LGUsbixpLHIsbyxzLHAsdT17fS5oYXNPd25Qcm9wZXJ0eTtwPXJlcXVpcmUoXCIuL1V0aWxpdHlcIikuaXNPYmplY3Qscz1yZXF1aXJlKFwiLi9YTUxOb2RlXCIpLHQ9cmVxdWlyZShcIi4vTm9kZVR5cGVcIiksZT1yZXF1aXJlKFwiLi9YTUxEVERBdHRMaXN0XCIpLGk9cmVxdWlyZShcIi4vWE1MRFRERW50aXR5XCIpLG49cmVxdWlyZShcIi4vWE1MRFRERWxlbWVudFwiKSxyPXJlcXVpcmUoXCIuL1hNTERURE5vdGF0aW9uXCIpLG89cmVxdWlyZShcIi4vWE1MTmFtZWROb2RlTWFwXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKGgpe2Z1bmN0aW9uIGMoZSxuLGkpe3ZhciByLG8scyx1LGgseTtpZihjLl9fc3VwZXJfXy5jb25zdHJ1Y3Rvci5jYWxsKHRoaXMsZSksdGhpcy50eXBlPXQuRG9jVHlwZSxlLmNoaWxkcmVuKWZvcihvPTAscz0odT1lLmNoaWxkcmVuKS5sZW5ndGg7bzxzO28rKylpZigocj11W29dKS50eXBlPT09dC5FbGVtZW50KXt0aGlzLm5hbWU9ci5uYW1lO2JyZWFrfXRoaXMuZG9jdW1lbnRPYmplY3Q9ZSxwKG4pJiYobj0oaD1uKS5wdWJJRCxpPWguc3lzSUQpLG51bGw9PWkmJihpPSh5PVtuLGldKVswXSxuPXlbMV0pLG51bGwhPW4mJih0aGlzLnB1YklEPXRoaXMuc3RyaW5naWZ5LmR0ZFB1YklEKG4pKSxudWxsIT1pJiYodGhpcy5zeXNJRD10aGlzLnN0cmluZ2lmeS5kdGRTeXNJRChpKSl9cmV0dXJuIGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuIGluIGUpdS5jYWxsKGUsbikmJih0W25dPWVbbl0pO2Z1bmN0aW9uIGkoKXt0aGlzLmNvbnN0cnVjdG9yPXR9aS5wcm90b3R5cGU9ZS5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IGksdC5fX3N1cGVyX189ZS5wcm90b3R5cGV9KGMscyksT2JqZWN0LmRlZmluZVByb3BlcnR5KGMucHJvdG90eXBlLFwiZW50aXRpZXNcIix7Z2V0OmZ1bmN0aW9uKCl7dmFyIGUsbixpLHIscztmb3Iocj17fSxuPTAsaT0ocz10aGlzLmNoaWxkcmVuKS5sZW5ndGg7bjxpO24rKykoZT1zW25dKS50eXBlIT09dC5FbnRpdHlEZWNsYXJhdGlvbnx8ZS5wZXx8KHJbZS5uYW1lXT1lKTtyZXR1cm4gbmV3IG8ocil9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGMucHJvdG90eXBlLFwibm90YXRpb25zXCIse2dldDpmdW5jdGlvbigpe3ZhciBlLG4saSxyLHM7Zm9yKHI9e30sbj0wLGk9KHM9dGhpcy5jaGlsZHJlbikubGVuZ3RoO248aTtuKyspKGU9c1tuXSkudHlwZT09PXQuTm90YXRpb25EZWNsYXJhdGlvbiYmKHJbZS5uYW1lXT1lKTtyZXR1cm4gbmV3IG8ocil9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGMucHJvdG90eXBlLFwicHVibGljSWRcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHViSUR9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGMucHJvdG90eXBlLFwic3lzdGVtSWRcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc3lzSUR9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGMucHJvdG90eXBlLFwiaW50ZXJuYWxTdWJzZXRcIix7Z2V0OmZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX19KSxjLnByb3RvdHlwZS5lbGVtZW50PWZ1bmN0aW9uKHQsZSl7dmFyIGk7cmV0dXJuIGk9bmV3IG4odGhpcyx0LGUpLHRoaXMuY2hpbGRyZW4ucHVzaChpKSx0aGlzfSxjLnByb3RvdHlwZS5hdHRMaXN0PWZ1bmN0aW9uKHQsbixpLHIsbyl7dmFyIHM7cmV0dXJuIHM9bmV3IGUodGhpcyx0LG4saSxyLG8pLHRoaXMuY2hpbGRyZW4ucHVzaChzKSx0aGlzfSxjLnByb3RvdHlwZS5lbnRpdHk9ZnVuY3Rpb24odCxlKXt2YXIgbjtyZXR1cm4gbj1uZXcgaSh0aGlzLCExLHQsZSksdGhpcy5jaGlsZHJlbi5wdXNoKG4pLHRoaXN9LGMucHJvdG90eXBlLnBFbnRpdHk9ZnVuY3Rpb24odCxlKXt2YXIgbjtyZXR1cm4gbj1uZXcgaSh0aGlzLCEwLHQsZSksdGhpcy5jaGlsZHJlbi5wdXNoKG4pLHRoaXN9LGMucHJvdG90eXBlLm5vdGF0aW9uPWZ1bmN0aW9uKHQsZSl7dmFyIG47cmV0dXJuIG49bmV3IHIodGhpcyx0LGUpLHRoaXMuY2hpbGRyZW4ucHVzaChuKSx0aGlzfSxjLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLndyaXRlci5kb2NUeXBlKHRoaXMsdGhpcy5vcHRpb25zLndyaXRlci5maWx0ZXJPcHRpb25zKHQpKX0sYy5wcm90b3R5cGUuZWxlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuZWxlbWVudCh0LGUpfSxjLnByb3RvdHlwZS5hdHQ9ZnVuY3Rpb24odCxlLG4saSxyKXtyZXR1cm4gdGhpcy5hdHRMaXN0KHQsZSxuLGkscil9LGMucHJvdG90eXBlLmVudD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmVudGl0eSh0LGUpfSxjLnByb3RvdHlwZS5wZW50PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMucEVudGl0eSh0LGUpfSxjLnByb3RvdHlwZS5ub3Q9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5ub3RhdGlvbih0LGUpfSxjLnByb3RvdHlwZS51cD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnJvb3QoKXx8dGhpcy5kb2N1bWVudE9iamVjdH0sYy5wcm90b3R5cGUuaXNFcXVhbE5vZGU9ZnVuY3Rpb24odCl7cmV0dXJuISFjLl9fc3VwZXJfXy5pc0VxdWFsTm9kZS5hcHBseSh0aGlzLGFyZ3VtZW50cykuaXNFcXVhbE5vZGUodCkmJih0Lm5hbWU9PT10aGlzLm5hbWUmJih0LnB1YmxpY0lkPT09dGhpcy5wdWJsaWNJZCYmdC5zeXN0ZW1JZD09PXRoaXMuc3lzdGVtSWQpKX0sY30oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEVSdlkxUjVjR1V1YW5NaVhTd2libUZ0WlhNaU9sc2lUbTlrWlZSNWNHVWlMQ0pZVFV4RVZFUkJkSFJNYVhOMElpd2lXRTFNUkZSRVJXeGxiV1Z1ZENJc0lsaE5URVJVUkVWdWRHbDBlU0lzSWxoTlRFUlVSRTV2ZEdGMGFXOXVJaXdpV0UxTVRtRnRaV1JPYjJSbFRXRndJaXdpV0UxTVRtOWtaU0lzSW1selQySnFaV04wSWl3aWFHRnpVSEp2Y0NJc0ltaGhjMDkzYmxCeWIzQmxjblI1SWl3aWNtVnhkV2x5WlNJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSnpkWEJsY2tOc1lYTnpJaXdpV0UxTVJHOWpWSGx3WlNJc0luQmhjbVZ1ZENJc0luQjFZa2xFSWl3aWMzbHpTVVFpTENKamFHbHNaQ0lzSW1raUxDSnNaVzRpTENKeVpXWWlMQ0p5WldZeElpd2ljbVZtTWlJc0lsOWZjM1Z3WlhKZlh5SXNJbU52Ym5OMGNuVmpkRzl5SWl3aVkyRnNiQ0lzSW5Sb2FYTWlMQ0owZVhCbElpd2lSRzlqVkhsd1pTSXNJbU5vYVd4a2NtVnVJaXdpYkdWdVozUm9JaXdpUld4bGJXVnVkQ0lzSW01aGJXVWlMQ0prYjJOMWJXVnVkRTlpYW1WamRDSXNJbk4wY21sdVoybG1lU0lzSW1SMFpGQjFZa2xFSWl3aVpIUmtVM2x6U1VRaUxDSnJaWGtpTENKamRHOXlJaXdpY0hKdmRHOTBlWEJsSWl3aVpYaDBaVzVrSWl3aVQySnFaV04wSWl3aVpHVm1hVzVsVUhKdmNHVnlkSGtpTENKblpYUWlMQ0p1YjJSbGN5SXNJa1Z1ZEdsMGVVUmxZMnhoY21GMGFXOXVJaXdpY0dVaUxDSk9iM1JoZEdsdmJrUmxZMnhoY21GMGFXOXVJaXdpUlhKeWIzSWlMQ0prWldKMVowbHVabThpTENKbGJHVnRaVzUwSWl3aWRtRnNkV1VpTENKd2RYTm9JaXdpWVhSMFRHbHpkQ0lzSW1Wc1pXMWxiblJPWVcxbElpd2lZWFIwY21saWRYUmxUbUZ0WlNJc0ltRjBkSEpwWW5WMFpWUjVjR1VpTENKa1pXWmhkV3gwVm1Gc2RXVlVlWEJsSWl3aVpHVm1ZWFZzZEZaaGJIVmxJaXdpWlc1MGFYUjVJaXdpY0VWdWRHbDBlU0lzSW01dmRHRjBhVzl1SWl3aWRHOVRkSEpwYm1jaUxDSnZjSFJwYjI1eklpd2lkM0pwZEdWeUlpd2laRzlqVkhsd1pTSXNJbVpwYkhSbGNrOXdkR2x2Ym5NaUxDSmxiR1VpTENKaGRIUWlMQ0psYm5RaUxDSndaVzUwSWl3aWJtOTBJaXdpZFhBaUxDSnliMjkwSWl3aWFYTkZjWFZoYkU1dlpHVWlMQ0p1YjJSbElpd2lZWEJ3YkhraUxDSmhjbWQxYldWdWRITWlMQ0p3ZFdKc2FXTkpaQ0lzSW5ONWMzUmxiVWxrSWwwc0ltMWhjSEJwYm1keklqb2lRMEZEUVN4WFFVTkZMRWxCUVVsQkxFVkJRVlZETEVWQlFXVkRMRVZCUVdWRExFVkJRV05ETEVWQlFUUkNReXhGUVVGcFFrTXNSVUZCVTBNc1JVRkZPVWRETEVWQlFWVXNSMEZCUjBNc1pVRkZaa1lzUlVGQlYwY3NVVUZCVVN4aFFVRmhTQ3hUUVVWb1EwUXNSVUZCVlVrc1VVRkJVU3hoUVVWc1FsWXNSVUZCVjFVc1VVRkJVU3hqUVVWdVFsUXNSVUZCWjBKVExGRkJRVkVzYlVKQlJYaENVQ3hGUVVGbFR5eFJRVUZSTEd0Q1FVVjJRbElzUlVGQlowSlJMRkZCUVZFc2JVSkJSWGhDVGl4RlFVRnBRazBzVVVGQlVTeHZRa0ZGZWtKTUxFVkJRV3RDU3l4UlFVRlJMSEZDUVVVeFFrTXNUMEZCVDBNc1VVRkJkVUlzVTBGQlZVTXNSMEZIZEVNc1UwRkJVME1zUlVGQlYwTXNSVUZCVVVNc1JVRkJUME1zUjBGRGFrTXNTVUZCU1VNc1JVRkJUME1zUlVGQlIwTXNSVUZCUzBNc1JVRkJTME1zUlVGQlRVTXNSVUZIT1VJc1IwRkdRVlFzUlVGQlYxVXNWVUZCVlVNc1dVRkJXVU1zUzBGQlMwTXNTMEZCVFZvc1IwRkROVU5aTEV0QlFVdERMRXRCUVU4MVFpeEZRVUZUTmtJc1VVRkRha0prTEVWQlFVOWxMRk5CUlZRc1NVRkJTMWdzUlVGQlNTeEZRVUZIUXl4SFFVUmFReXhGUVVGTlRpeEZRVUZQWlN4VlFVTlRReXhQUVVGUldpeEZRVUZKUXl4RlFVRkxSQ3hKUVVWeVF5eEpRVVJCUkN4RlFVRlJSeXhGUVVGSlJpeEpRVU5HVXl4UFFVRlROVUlzUlVGQlUyZERMRkZCUVZNc1EwRkRia05NTEV0QlFVdE5MRXRCUVU5bUxFVkJRVTFsTEV0QlEyeENMRTFCU1U1T0xFdEJRVXRQTEdWQlFXbENia0lzUlVGRGJFSlNMRVZCUVZOVExFdEJRMGRCTEVkQlFXUk5MRVZCUVU5T0xFZEJRVzlDUVN4TlFVRlBReXhGUVVGUlN5eEZRVUZMVEN4UFFVVndReXhOUVVGVVFTeEpRVU54UWtFc1IwRkJka0pOTEVWQlFVOHNRMEZCUTFBc1JVRkJUME1zU1VGQmNVSXNSMEZCU1VRc1JVRkJVVThzUlVGQlN5eEpRVVV4UXl4TlFVRlVVQ3hKUVVOR1Z5eExRVUZMV0N4TlFVRlJWeXhMUVVGTFVTeFZRVUZWUXl4VFFVRlRjRUlzU1VGRk1VSXNUVUZCVkVNc1NVRkRSbFVzUzBGQlMxWXNUVUZCVVZVc1MwRkJTMUVzVlVGQlZVVXNVMEZCVTNCQ0xFbEJiVWw2UXl4UFFXeE1VeXhUUVVGVFF5eEZRVUZQU0N4SFFVRlZMRWxCUVVzc1NVRkJTWFZDTEV0QlFVOTJRaXhGUVVGalVDeEZRVUZSYTBJc1MwRkJTMWdzUlVGQlVYVkNMRXRCUVUxd1FpeEZRVUZOYjBJc1IwRkJUM1pDTEVWQlFVOTFRaXhKUVVGUkxGTkJRVk5ETEVsQlFWTmFMRXRCUVV0R0xGbEJRV05RTEVWQlFWTnhRaXhGUVVGTFF5eFZRVUZaZWtJc1JVRkJUM2xDTEZWQlFWZDBRaXhGUVVGTmMwSXNWVUZCV1N4SlFVRkpSQ3hGUVVGUmNrSXNSVUZCVFUwc1ZVRkJXVlFzUlVGQlQzbENMRlZCYjBKb1VVTXNRMEZCVHpOQ0xFVkJaMHRPVWl4SFFXcEpSRzlETEU5QlFVOURMR1ZCUVdVM1FpeEZRVUZYTUVJc1ZVRkJWeXhYUVVGWkxFTkJRM1JFU1N4SlFVRkxMRmRCUTBnc1NVRkJTVEZDTEVWQlFVOURMRVZCUVVkRExFVkJRVXQ1UWl4RlFVRlBlRUlzUlVGSE1VSXNTVUZHUVhkQ0xFVkJRVkVzUjBGRlNERkNMRVZCUVVrc1JVRkJSME1zUjBGRVdrTXNSVUZCVFUwc1MwRkJTMGNzVlVGRFYwTXNUMEZCVVZvc1JVRkJTVU1zUlVGQlMwUXNTMEZEY2tORUxFVkJRVkZITEVWQlFVbEdMRWxCUTBSVExFOUJRVk0xUWl4RlFVRlRPRU1zYlVKQlFYVkNOVUlzUlVGQlRUWkNMRXRCUTNoRVJpeEZRVUZOTTBJc1JVRkJUV1VzVFVGQlVXWXNSMEZIZUVJc1QwRkJUeXhKUVVGSllpeEZRVUZuUW5kRExFMUJTUzlDU0N4UFFVRlBReXhsUVVGbE4wSXNSVUZCVnpCQ0xGVkJRVmNzV1VGQllTeERRVU4yUkVrc1NVRkJTeXhYUVVOSUxFbEJRVWt4UWl4RlFVRlBReXhGUVVGSFF5eEZRVUZMZVVJc1JVRkJUM2hDTEVWQlJ6RkNMRWxCUmtGM1FpeEZRVUZSTEVkQlJVZ3hRaXhGUVVGSkxFVkJRVWRETEVkQlJGcERMRVZCUVUxTkxFdEJRVXRITEZWQlExZERMRTlCUVZGYUxFVkJRVWxETEVWQlFVdEVMRXRCUTNKRFJDeEZRVUZSUnl4RlFVRkpSaXhKUVVOR1V5eFBRVUZUTlVJc1JVRkJVMmRFTEhOQ1FVTXhRa2dzUlVGQlRUTkNMRVZCUVUxbExFMUJRVkZtTEVkQlIzaENMRTlCUVU4c1NVRkJTV0lzUlVGQlowSjNReXhOUVVrdlFrZ3NUMEZCVDBNc1pVRkJaVGRDTEVWQlFWY3dRaXhWUVVGWExGZEJRVmtzUTBGRGRFUkpMRWxCUVVzc1YwRkRTQ3hQUVVGUGFrSXNTMEZCUzFnc1UwRkphRUl3UWl4UFFVRlBReXhsUVVGbE4wSXNSVUZCVnpCQ0xGVkJRVmNzVjBGQldTeERRVU4wUkVrc1NVRkJTeXhYUVVOSUxFOUJRVTlxUWl4TFFVRkxWaXhUUVVsb1FubENMRTlCUVU5RExHVkJRV1UzUWl4RlFVRlhNRUlzVlVGQlZ5eHBRa0ZCYTBJc1EwRkROVVJKTEVsQlFVc3NWMEZEU0N4TlFVRk5MRWxCUVVsTExFMUJRVTBzYzBOQlFYZERkRUlzUzBGQlMzVkNMR2RDUVVscVJYQkRMRVZCUVZjd1FpeFZRVUZWVnl4UlFVRlZMRk5CUVZOc1FpeEZRVUZOYlVJc1IwRkROVU1zU1VGQlNXeERMRVZCUjBvc1QwRkdRVUVzUlVGQlVTeEpRVUZKYUVJc1JVRkJZM2xDTEV0QlFVMU5MRVZCUVUxdFFpeEhRVU4wUTNwQ0xFdEJRVXRITEZOQlFWTjFRaXhMUVVGTGJrTXNSMEZEV2xNc1RVRkhWR0lzUlVGQlZ6QkNMRlZCUVZWakxGRkJRVlVzVTBGQlUwTXNSVUZCWVVNc1JVRkJaVU1zUlVGQlpVTXNSVUZCYTBKRExFZEJRMjVITEVsQlFVbDZReXhGUVVkS0xFOUJSa0ZCTEVWQlFWRXNTVUZCU1dwQ0xFVkJRV013UWl4TFFVRk5ORUlzUlVGQllVTXNSVUZCWlVNc1JVRkJaVU1zUlVGQmEwSkRMRWRCUXpkR2FFTXNTMEZCUzBjc1UwRkJVM1ZDTEV0QlFVdHVReXhIUVVOYVV5eE5RVWRVWWl4RlFVRlhNRUlzVlVGQlZXOUNMRTlCUVZNc1UwRkJVek5DTEVWQlFVMXRRaXhIUVVNelF5eEpRVUZKYkVNc1JVRkhTaXhQUVVaQlFTeEZRVUZSTEVsQlFVbG1MRVZCUVdGM1FpeE5RVUZOTEVWQlFVOU5MRVZCUVUxdFFpeEhRVU0xUTNwQ0xFdEJRVXRITEZOQlFWTjFRaXhMUVVGTGJrTXNSMEZEV2xNc1RVRkhWR0lzUlVGQlZ6QkNMRlZCUVZWeFFpeFJRVUZWTEZOQlFWTTFRaXhGUVVGTmJVSXNSMEZETlVNc1NVRkJTV3hETEVWQlIwb3NUMEZHUVVFc1JVRkJVU3hKUVVGSlppeEZRVUZoZDBJc1RVRkJUU3hGUVVGTlRTeEZRVUZOYlVJc1IwRkRNME42UWl4TFFVRkxSeXhUUVVGVGRVSXNTMEZCUzI1RExFZEJRMXBUTEUxQlIxUmlMRVZCUVZjd1FpeFZRVUZWYzBJc1UwRkJWeXhUUVVGVE4wSXNSVUZCVFcxQ0xFZEJRemRETEVsQlFVbHNReXhGUVVkS0xFOUJSa0ZCTEVWQlFWRXNTVUZCU1dRc1JVRkJaWFZDTEV0QlFVMU5MRVZCUVUxdFFpeEhRVU4yUTNwQ0xFdEJRVXRITEZOQlFWTjFRaXhMUVVGTGJrTXNSMEZEV2xNc1RVRkhWR0lzUlVGQlZ6QkNMRlZCUVZWMVFpeFRRVUZYTEZOQlFWTkRMRWRCUTNaRExFOUJRVTl5UXl4TFFVRkxjVU1zVVVGQlVVTXNUMEZCVDBNc1VVRkJVWFpETEV0QlFVMUJMRXRCUVV0eFF5eFJRVUZSUXl4UFFVRlBSU3hqUVVGalNDeExRVWMzUld4RUxFVkJRVmN3UWl4VlFVRlZORUlzU1VGQlRTeFRRVUZUYmtNc1JVRkJUVzFDTEVkQlEzaERMRTlCUVU5NlFpeExRVUZMZDBJc1VVRkJVV3hDTEVWQlFVMXRRaXhKUVVjMVFuUkRMRVZCUVZjd1FpeFZRVUZWTmtJc1NVRkJUU3hUUVVGVFpDeEZRVUZoUXl4RlFVRmxReXhGUVVGbFF5eEZRVUZyUWtNc1IwRkRMMFlzVDBGQlQyaERMRXRCUVVzeVFpeFJRVUZSUXl4RlFVRmhReXhGUVVGbFF5eEZRVUZsUXl4RlFVRnJRa01zU1VGSGJrWTNReXhGUVVGWE1FSXNWVUZCVlRoQ0xFbEJRVTBzVTBGQlUzSkRMRVZCUVUxdFFpeEhRVU40UXl4UFFVRlBla0lzUzBGQlMybERMRTlCUVU4elFpeEZRVUZOYlVJc1NVRkhNMEowUXl4RlFVRlhNRUlzVlVGQlZTdENMRXRCUVU4c1UwRkJVM1JETEVWQlFVMXRRaXhIUVVONlF5eFBRVUZQZWtJc1MwRkJTMnRETEZGQlFWRTFRaXhGUVVGTmJVSXNTVUZITlVKMFF5eEZRVUZYTUVJc1ZVRkJWV2RETEVsQlFVMHNVMEZCVTNaRExFVkJRVTF0UWl4SFFVTjRReXhQUVVGUGVrSXNTMEZCUzIxRExGTkJRVk0zUWl4RlFVRk5iVUlzU1VGSE4wSjBReXhGUVVGWE1FSXNWVUZCVldsRExFZEJRVXNzVjBGRGVFSXNUMEZCVHpsRExFdEJRVXNyUXl4UlFVRlZMME1zUzBGQlMwOHNaMEpCUnpkQ2NFSXNSVUZCVnpCQ0xGVkJRVlZ0UXl4WlFVRmpMRk5CUVZORExFZEJRekZETEZGQlFVczVSQ3hGUVVGWFZTeFZRVUZWYlVRc1dVRkJXVVVzVFVGQlRXeEVMRXRCUVUxdFJDeFhRVUZYU0N4WlFVRlpReXhMUVVkeVJVRXNSVUZCU3pORExFOUJRVk5PTEV0QlFVdE5MRTlCUjI1Q01rTXNSVUZCUzBjc1YwRkJZWEJFTEV0QlFVdHZSQ3hWUVVkMlFrZ3NSVUZCUzBrc1YwRkJZWEpFTEV0QlFVdHhSQ3haUVUxMFFteEZMRVZCTDBweFFpeExRVzFMTjBKWkxFdEJRVXRESWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwzTjBZV2RwYm1jdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZlRzFzWW5WcGJHUmxjaTlzYVdJdldFMU1SRzlqVkhsd1pTNXFjeUo5IiwiKGZ1bmN0aW9uKCl7dmFyIHQsZSxvLG4scixpLHAsaD17fS5oYXNPd25Qcm9wZXJ0eTtwPXJlcXVpcmUoXCIuL1V0aWxpdHlcIikuaXNQbGFpbk9iamVjdCxvPXJlcXVpcmUoXCIuL1hNTERPTUltcGxlbWVudGF0aW9uXCIpLGU9cmVxdWlyZShcIi4vWE1MRE9NQ29uZmlndXJhdGlvblwiKSxuPXJlcXVpcmUoXCIuL1hNTE5vZGVcIiksdD1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxpPXJlcXVpcmUoXCIuL1hNTFN0cmluZ2lmaWVyXCIpLHI9cmVxdWlyZShcIi4vWE1MU3RyaW5nV3JpdGVyXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKHMpe2Z1bmN0aW9uIHUobyl7dS5fX3N1cGVyX18uY29uc3RydWN0b3IuY2FsbCh0aGlzLG51bGwpLHRoaXMubmFtZT1cIiNkb2N1bWVudFwiLHRoaXMudHlwZT10LkRvY3VtZW50LHRoaXMuZG9jdW1lbnRVUkk9bnVsbCx0aGlzLmRvbUNvbmZpZz1uZXcgZSxvfHwobz17fSksby53cml0ZXJ8fChvLndyaXRlcj1uZXcgciksdGhpcy5vcHRpb25zPW8sdGhpcy5zdHJpbmdpZnk9bmV3IGkobyl9cmV0dXJuIGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBvIGluIGUpaC5jYWxsKGUsbykmJih0W29dPWVbb10pO2Z1bmN0aW9uIG4oKXt0aGlzLmNvbnN0cnVjdG9yPXR9bi5wcm90b3R5cGU9ZS5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IG4sdC5fX3N1cGVyX189ZS5wcm90b3R5cGV9KHUsbiksT2JqZWN0LmRlZmluZVByb3BlcnR5KHUucHJvdG90eXBlLFwiaW1wbGVtZW50YXRpb25cIix7dmFsdWU6bmV3IG99KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodS5wcm90b3R5cGUsXCJkb2N0eXBlXCIse2dldDpmdW5jdGlvbigpe3ZhciBlLG8sbixyO2ZvcihvPTAsbj0ocj10aGlzLmNoaWxkcmVuKS5sZW5ndGg7bzxuO28rKylpZigoZT1yW29dKS50eXBlPT09dC5Eb2NUeXBlKXJldHVybiBlO3JldHVybiBudWxsfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LnByb3RvdHlwZSxcImRvY3VtZW50RWxlbWVudFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5yb290T2JqZWN0fHxudWxsfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LnByb3RvdHlwZSxcImlucHV0RW5jb2RpbmdcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHUucHJvdG90eXBlLFwic3RyaWN0RXJyb3JDaGVja2luZ1wiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4hMX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodS5wcm90b3R5cGUsXCJ4bWxFbmNvZGluZ1wiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gMCE9PXRoaXMuY2hpbGRyZW4ubGVuZ3RoJiZ0aGlzLmNoaWxkcmVuWzBdLnR5cGU9PT10LkRlY2xhcmF0aW9uP3RoaXMuY2hpbGRyZW5bMF0uZW5jb2Rpbmc6bnVsbH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodS5wcm90b3R5cGUsXCJ4bWxTdGFuZGFsb25lXCIse2dldDpmdW5jdGlvbigpe3JldHVybiAwIT09dGhpcy5jaGlsZHJlbi5sZW5ndGgmJnRoaXMuY2hpbGRyZW5bMF0udHlwZT09PXQuRGVjbGFyYXRpb24mJlwieWVzXCI9PT10aGlzLmNoaWxkcmVuWzBdLnN0YW5kYWxvbmV9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHUucHJvdG90eXBlLFwieG1sVmVyc2lvblwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gMCE9PXRoaXMuY2hpbGRyZW4ubGVuZ3RoJiZ0aGlzLmNoaWxkcmVuWzBdLnR5cGU9PT10LkRlY2xhcmF0aW9uP3RoaXMuY2hpbGRyZW5bMF0udmVyc2lvbjpcIjEuMFwifX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LnByb3RvdHlwZSxcIlVSTFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb2N1bWVudFVSSX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodS5wcm90b3R5cGUsXCJvcmlnaW5cIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHUucHJvdG90eXBlLFwiY29tcGF0TW9kZVwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodS5wcm90b3R5cGUsXCJjaGFyYWN0ZXJTZXRcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHUucHJvdG90eXBlLFwiY29udGVudFR5cGVcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9fSksdS5wcm90b3R5cGUuZW5kPWZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybiBlPXt9LHQ/cCh0KSYmKGU9dCx0PXRoaXMub3B0aW9ucy53cml0ZXIpOnQ9dGhpcy5vcHRpb25zLndyaXRlcix0LmRvY3VtZW50KHRoaXMsdC5maWx0ZXJPcHRpb25zKGUpKX0sdS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy53cml0ZXIuZG9jdW1lbnQodGhpcyx0aGlzLm9wdGlvbnMud3JpdGVyLmZpbHRlck9wdGlvbnModCkpfSx1LnByb3RvdHlwZS5jcmVhdGVFbGVtZW50PWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHUucHJvdG90eXBlLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQ9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5jcmVhdGVUZXh0Tm9kZT1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5jcmVhdGVDb21tZW50PWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHUucHJvdG90eXBlLmNyZWF0ZUNEQVRBU2VjdGlvbj1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5jcmVhdGVQcm9jZXNzaW5nSW5zdHJ1Y3Rpb249ZnVuY3Rpb24odCxlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5jcmVhdGVBdHRyaWJ1dGU9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sdS5wcm90b3R5cGUuY3JlYXRlRW50aXR5UmVmZXJlbmNlPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHUucHJvdG90eXBlLmdldEVsZW1lbnRzQnlUYWdOYW1lPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHUucHJvdG90eXBlLmltcG9ydE5vZGU9ZnVuY3Rpb24odCxlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5jcmVhdGVFbGVtZW50TlM9ZnVuY3Rpb24odCxlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5jcmVhdGVBdHRyaWJ1dGVOUz1mdW5jdGlvbih0LGUpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHUucHJvdG90eXBlLmdldEVsZW1lbnRzQnlUYWdOYW1lTlM9ZnVuY3Rpb24odCxlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5nZXRFbGVtZW50QnlJZD1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5hZG9wdE5vZGU9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sdS5wcm90b3R5cGUubm9ybWFsaXplRG9jdW1lbnQ9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5yZW5hbWVOb2RlPWZ1bmN0aW9uKHQsZSxvKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHUucHJvdG90eXBlLmNyZWF0ZUV2ZW50PWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHUucHJvdG90eXBlLmNyZWF0ZVJhbmdlPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sdS5wcm90b3R5cGUuY3JlYXRlTm9kZUl0ZXJhdG9yPWZ1bmN0aW9uKHQsZSxvKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5jcmVhdGVUcmVlV2Fsa2VyPWZ1bmN0aW9uKHQsZSxvKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1fSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URVJ2WTNWdFpXNTBMbXB6SWwwc0ltNWhiV1Z6SWpwYklrNXZaR1ZVZVhCbElpd2lXRTFNUkU5TlEyOXVabWxuZFhKaGRHbHZiaUlzSWxoTlRFUlBUVWx0Y0d4bGJXVnVkR0YwYVc5dUlpd2lXRTFNVG05a1pTSXNJbGhOVEZOMGNtbHVaMWR5YVhSbGNpSXNJbGhOVEZOMGNtbHVaMmxtYVdWeUlpd2lhWE5RYkdGcGJrOWlhbVZqZENJc0ltaGhjMUJ5YjNBaUxDSm9ZWE5QZDI1UWNtOXdaWEowZVNJc0luSmxjWFZwY21VaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2ljM1Z3WlhKRGJHRnpjeUlzSWxoTlRFUnZZM1Z0Wlc1MElpd2liM0IwYVc5dWN5SXNJbDlmYzNWd1pYSmZYeUlzSW1OdmJuTjBjblZqZEc5eUlpd2lZMkZzYkNJc0luUm9hWE1pTENKdVlXMWxJaXdpZEhsd1pTSXNJa1J2WTNWdFpXNTBJaXdpWkc5amRXMWxiblJWVWtraUxDSmtiMjFEYjI1bWFXY2lMQ0ozY21sMFpYSWlMQ0p6ZEhKcGJtZHBabmtpTENKamFHbHNaQ0lzSW5CaGNtVnVkQ0lzSW10bGVTSXNJbU4wYjNJaUxDSndjbTkwYjNSNWNHVWlMQ0psZUhSbGJtUWlMQ0pQWW1wbFkzUWlMQ0prWldacGJtVlFjbTl3WlhKMGVTSXNJblpoYkhWbElpd2laMlYwSWl3aWFTSXNJbXhsYmlJc0luSmxaaUlzSW1Ob2FXeGtjbVZ1SWl3aWJHVnVaM1JvSWl3aVJHOWpWSGx3WlNJc0luSnZiM1JQWW1wbFkzUWlMQ0pFWldOc1lYSmhkR2x2YmlJc0ltVnVZMjlrYVc1bklpd2ljM1JoYm1SaGJHOXVaU0lzSW5abGNuTnBiMjRpTENKbGJtUWlMQ0ozY21sMFpYSlBjSFJwYjI1eklpd2laRzlqZFcxbGJuUWlMQ0ptYVd4MFpYSlBjSFJwYjI1eklpd2lkRzlUZEhKcGJtY2lMQ0pqY21WaGRHVkZiR1Z0Wlc1MElpd2lkR0ZuVG1GdFpTSXNJa1Z5Y205eUlpd2laR1ZpZFdkSmJtWnZJaXdpWTNKbFlYUmxSRzlqZFcxbGJuUkdjbUZuYldWdWRDSXNJbU55WldGMFpWUmxlSFJPYjJSbElpd2laR0YwWVNJc0ltTnlaV0YwWlVOdmJXMWxiblFpTENKamNtVmhkR1ZEUkVGVVFWTmxZM1JwYjI0aUxDSmpjbVZoZEdWUWNtOWpaWE56YVc1blNXNXpkSEoxWTNScGIyNGlMQ0owWVhKblpYUWlMQ0pqY21WaGRHVkJkSFJ5YVdKMWRHVWlMQ0pqY21WaGRHVkZiblJwZEhsU1pXWmxjbVZ1WTJVaUxDSm5aWFJGYkdWdFpXNTBjMEo1VkdGblRtRnRaU0lzSW5SaFoyNWhiV1VpTENKcGJYQnZjblJPYjJSbElpd2lhVzF3YjNKMFpXUk9iMlJsSWl3aVpHVmxjQ0lzSW1OeVpXRjBaVVZzWlcxbGJuUk9VeUlzSW01aGJXVnpjR0ZqWlZWU1NTSXNJbkYxWVd4cFptbGxaRTVoYldVaUxDSmpjbVZoZEdWQmRIUnlhV0oxZEdWT1V5SXNJbWRsZEVWc1pXMWxiblJ6UW5sVVlXZE9ZVzFsVGxNaUxDSnNiMk5oYkU1aGJXVWlMQ0puWlhSRmJHVnRaVzUwUW5sSlpDSXNJbVZzWlcxbGJuUkpaQ0lzSW1Ga2IzQjBUbTlrWlNJc0luTnZkWEpqWlNJc0ltNXZjbTFoYkdsNlpVUnZZM1Z0Wlc1MElpd2ljbVZ1WVcxbFRtOWtaU0lzSW01dlpHVWlMQ0puWlhSRmJHVnRaVzUwYzBKNVEyeGhjM05PWVcxbElpd2lZMnhoYzNOT1lXMWxjeUlzSW1OeVpXRjBaVVYyWlc1MElpd2laWFpsYm5SSmJuUmxjbVpoWTJVaUxDSmpjbVZoZEdWU1lXNW5aU0lzSW1OeVpXRjBaVTV2WkdWSmRHVnlZWFJ2Y2lJc0luSnZiM1FpTENKM2FHRjBWRzlUYUc5M0lpd2labWxzZEdWeUlpd2lZM0psWVhSbFZISmxaVmRoYkd0bGNpSmRMQ0p0WVhCd2FXNW5jeUk2SWtOQlEwRXNWMEZEUlN4SlFVRkpRU3hGUVVGVlF5eEZRVUZ4UWtNc1JVRkJiVU5ETEVWQlFWTkRMRVZCUVdsQ1F5eEZRVUZuUWtNc1JVRkZPVWRETEVWQlFWVXNSMEZCUjBNc1pVRkZaa1lzUlVGQlowSkhMRkZCUVZFc1lVRkJZVWdzWTBGRmNrTktMRVZCUVhWQ1R5eFJRVUZSTERCQ1FVVXZRbElzUlVGQmMwSlJMRkZCUVZFc2VVSkJSVGxDVGl4RlFVRlZUU3hSUVVGUkxHRkJSV3hDVkN4RlFVRlhVeXhSUVVGUkxHTkJSVzVDU2l4RlFVRnBRa2tzVVVGQlVTeHZRa0ZGZWtKTUxFVkJRV3RDU3l4UlFVRlJMSEZDUVVVeFFrTXNUMEZCVDBNc1VVRkJkMElzVTBGQlZVTXNSMEZIZGtNc1UwRkJVME1zUlVGQldVTXNSMEZEYmtKRUxFVkJRVmxGTEZWQlFWVkRMRmxCUVZsRExFdEJRVXRETEV0QlFVMHNUVUZETjBOQkxFdEJRVXRETEV0QlFVOHNXVUZEV2tRc1MwRkJTMFVzUzBGQlQzQkNMRVZCUVZOeFFpeFRRVU55UWtnc1MwRkJTMGtzV1VGQll5eExRVU51UWtvc1MwRkJTMHNzVlVGQldTeEpRVUZKZEVJc1JVRkRja0poTEVsQlFWbEJMRVZCUVZVc1NVRkRha0pCTEVWQlFWRlZMRk5CUTFoV0xFVkJRVkZWTEU5QlFWTXNTVUZCU1hCQ0xFZEJSWFpDWXl4TFFVRkxTaXhSUVVGVlFTeEZRVU5tU1N4TFFVRkxUeXhWUVVGWkxFbEJRVWx3UWl4RlFVRmxVeXhIUVRKTmRFTXNUMEV4VDFNc1UwRkJVMWtzUlVGQlQwTXNSMEZCVlN4SlFVRkxMRWxCUVVsRExFdEJRVTlFTEVWQlFXTndRaXhGUVVGUlZTeExRVUZMVlN4RlFVRlJReXhMUVVGTlJpeEZRVUZOUlN4SFFVRlBSQ3hGUVVGUFF5eEpRVUZSTEZOQlFWTkRMRWxCUVZOWUxFdEJRVXRHTEZsQlFXTlZMRVZCUVZOSExFVkJRVXRETEZWQlFWbElMRVZCUVU5SExGVkJRVmRLTEVWQlFVMUpMRlZCUVZrc1NVRkJTVVFzUlVGQlVVZ3NSVUZCVFZnc1ZVRkJXVmtzUlVGQlQwY3NWVUZyUW1oUlF5eERRVUZQYkVJc1JVRXdUazVXTEVkQk1VMUVOa0lzVDBGQlQwTXNaVUZCWlhCQ0xFVkJRVmxwUWl4VlFVRlhMR2xDUVVGclFpeERRVU0zUkVrc1RVRkJUeXhKUVVGSmFFTXNTVUZIWWpoQ0xFOUJRVTlETEdWQlFXVndRaXhGUVVGWmFVSXNWVUZCVnl4VlFVRlhMRU5CUTNSRVN5eEpRVUZMTEZkQlEwZ3NTVUZCU1ZRc1JVRkJUMVVzUlVGQlIwTXNSVUZCUzBNc1JVRkZia0lzU1VGQlMwWXNSVUZCU1N4RlFVRkhReXhIUVVSYVF5eEZRVUZOY0VJc1MwRkJTM0ZDTEZWQlExZERMRTlCUVZGS0xFVkJRVWxETEVWQlFVdEVMRWxCUlhKRExFbEJSRUZXTEVWQlFWRlpMRVZCUVVsR0xFbEJRMFpvUWl4UFFVRlRjRUlzUlVGQlUzbERMRkZCUXpGQ0xFOUJRVTltTEVWQlIxZ3NUMEZCVHl4UlFVbFlUU3hQUVVGUFF5eGxRVUZsY0VJc1JVRkJXV2xDTEZWQlFWY3NhMEpCUVcxQ0xFTkJRemxFU3l4SlFVRkxMRmRCUTBnc1QwRkJUMnBDTEV0QlFVdDNRaXhaUVVGakxGRkJTVGxDVml4UFFVRlBReXhsUVVGbGNFSXNSVUZCV1dsQ0xGVkJRVmNzWjBKQlFXbENMRU5CUXpWRVN5eEpRVUZMTEZkQlEwZ3NUMEZCVHl4UlFVbFlTQ3hQUVVGUFF5eGxRVUZsY0VJc1JVRkJXV2xDTEZWQlFWY3NjMEpCUVhWQ0xFTkJRMnhGU3l4SlFVRkxMRmRCUTBnc1QwRkJUeXhMUVVsWVNDeFBRVUZQUXl4bFFVRmxjRUlzUlVGQldXbENMRlZCUVZjc1kwRkJaU3hEUVVNeFJFc3NTVUZCU3l4WFFVTklMRTlCUVRaQ0xFbEJRWHBDYWtJc1MwRkJTM0ZDTEZOQlFWTkRMRkZCUVdkQ2RFSXNTMEZCUzNGQ0xGTkJRVk1zUjBGQlIyNUNMRTlCUVZOd1FpeEZRVUZUTWtNc1dVRkROVVI2UWl4TFFVRkxjVUlzVTBGQlV5eEhRVUZIU3l4VFFVVnFRaXhSUVV0aVdpeFBRVUZQUXl4bFFVRmxjRUlzUlVGQldXbENMRlZCUVZjc1owSkJRV2xDTEVOQlF6VkVTeXhKUVVGTExGZEJRMGdzVDBGQk5rSXNTVUZCZWtKcVFpeExRVUZMY1VJc1UwRkJVME1zVVVGQlowSjBRaXhMUVVGTGNVSXNVMEZCVXl4SFFVRkhia0lzVDBGQlUzQkNMRVZCUVZNeVF5eGhRVU0xUWl4UlFVRm9RM3BDTEV0QlFVdHhRaXhUUVVGVExFZEJRVWROTEdOQlR6bENZaXhQUVVGUFF5eGxRVUZsY0VJc1JVRkJXV2xDTEZWQlFWY3NZVUZCWXl4RFFVTjZSRXNzU1VGQlN5eFhRVU5JTEU5QlFUWkNMRWxCUVhwQ2FrSXNTMEZCUzNGQ0xGTkJRVk5ETEZGQlFXZENkRUlzUzBGQlMzRkNMRk5CUVZNc1IwRkJSMjVDTEU5QlFWTndRaXhGUVVGVE1rTXNXVUZETlVSNlFpeExRVUZMY1VJc1UwRkJVeXhIUVVGSFR5eFJRVVZxUWl4VFFVdGlaQ3hQUVVGUFF5eGxRVUZsY0VJc1JVRkJXV2xDTEZWQlFWY3NUVUZCVHl4RFFVTnNSRXNzU1VGQlN5eFhRVU5JTEU5QlFVOXFRaXhMUVVGTFNTeGxRVWxvUWxVc1QwRkJUME1zWlVGQlpYQkNMRVZCUVZscFFpeFZRVUZYTEZOQlFWVXNRMEZEY2tSTExFbEJRVXNzVjBGRFNDeFBRVUZQTEZGQlNWaElMRTlCUVU5RExHVkJRV1Z3UWl4RlFVRlphVUlzVlVGQlZ5eGhRVUZqTEVOQlEzcEVTeXhKUVVGTExGZEJRMGdzVDBGQlR5eFJRVWxZU0N4UFFVRlBReXhsUVVGbGNFSXNSVUZCV1dsQ0xGVkJRVmNzWlVGQlowSXNRMEZETTBSTExFbEJRVXNzVjBGRFNDeFBRVUZQTEZGQlNWaElMRTlCUVU5RExHVkJRV1Z3UWl4RlFVRlphVUlzVlVGQlZ5eGpRVUZsTEVOQlF6RkVTeXhKUVVGTExGZEJRMGdzVDBGQlR5eFJRVWxZZEVJc1JVRkJXV2xDTEZWQlFWVnBRaXhKUVVGTkxGTkJRVk4yUWl4SFFVTnVReXhKUVVGSmQwSXNSVUZSU2l4UFFWQkJRU3hGUVVGblFpeEhRVU5ZZUVJc1JVRkZUV3hDTEVWQlFXTnJRaXhMUVVOMlFuZENMRVZCUVdkQ2VFSXNSVUZEYUVKQkxFVkJRVk5PTEV0QlFVdEtMRkZCUVZGVkxGRkJTSFJDUVN4RlFVRlRUaXhMUVVGTFNpeFJRVUZSVlN4UFFVdHFRa0VzUlVGQlQzbENMRk5CUVZNdlFpeExRVUZOVFN4RlFVRlBNRUlzWTBGQlkwWXNTMEZIY0VSdVF5eEZRVUZaYVVJc1ZVRkJWWEZDTEZOQlFWY3NVMEZCVTNKRExFZEJRM2hETEU5QlFVOUpMRXRCUVV0S0xGRkJRVkZWTEU5QlFVOTVRaXhUUVVGVEwwSXNTMEZCVFVFc1MwRkJTMG9zVVVGQlVWVXNUMEZCVHpCQ0xHTkJRV053UXl4TFFVYzVSVVFzUlVGQldXbENMRlZCUVZWelFpeGpRVUZuUWl4VFFVRlRReXhIUVVNM1F5eE5RVUZOTEVsQlFVbERMRTFCUVUwc2MwTkJRWGREY0VNc1MwRkJTM0ZETEdOQlJ5OUVNVU1zUlVGQldXbENMRlZCUVZVd1FpeDFRa0ZCZVVJc1YwRkROME1zVFVGQlRTeEpRVUZKUml4TlFVRk5MSE5EUVVGM1EzQkRMRXRCUVV0eFF5eGpRVWN2UkRGRExFVkJRVmxwUWl4VlFVRlZNa0lzWlVGQmFVSXNVMEZCVTBNc1IwRkRPVU1zVFVGQlRTeEpRVUZKU2l4TlFVRk5MSE5EUVVGM1EzQkRMRXRCUVV0eFF5eGpRVWN2UkRGRExFVkJRVmxwUWl4VlFVRlZOa0lzWTBGQlowSXNVMEZCVTBRc1IwRkROME1zVFVGQlRTeEpRVUZKU2l4TlFVRk5MSE5EUVVGM1EzQkRMRXRCUVV0eFF5eGpRVWN2UkRGRExFVkJRVmxwUWl4VlFVRlZPRUlzYlVKQlFYRkNMRk5CUVZOR0xFZEJRMnhFTEUxQlFVMHNTVUZCU1Vvc1RVRkJUU3h6UTBGQmQwTndReXhMUVVGTGNVTXNZMEZITDBReFF5eEZRVUZaYVVJc1ZVRkJWU3RDTERSQ1FVRTRRaXhUUVVGVFF5eEZRVUZSU2l4SFFVTnVSU3hOUVVGTkxFbEJRVWxLTEUxQlFVMHNjME5CUVhkRGNFTXNTMEZCUzNGRExHTkJSeTlFTVVNc1JVRkJXV2xDTEZWQlFWVnBReXhuUWtGQmEwSXNVMEZCVXpWRExFZEJReTlETEUxQlFVMHNTVUZCU1cxRExFMUJRVTBzYzBOQlFYZERjRU1zUzBGQlMzRkRMR05CUnk5RU1VTXNSVUZCV1dsQ0xGVkJRVlZyUXl4elFrRkJkMElzVTBGQlV6ZERMRWRCUTNKRUxFMUJRVTBzU1VGQlNXMURMRTFCUVUwc2MwTkJRWGREY0VNc1MwRkJTM0ZETEdOQlJ5OUVNVU1zUlVGQldXbENMRlZCUVZWdFF5eHhRa0ZCZFVJc1UwRkJVME1zUjBGRGNFUXNUVUZCVFN4SlFVRkpXaXhOUVVGTkxITkRRVUYzUTNCRExFdEJRVXR4UXl4alFVY3ZSREZETEVWQlFWbHBRaXhWUVVGVmNVTXNWMEZCWVN4VFFVRlRReXhGUVVGalF5eEhRVU40UkN4TlFVRk5MRWxCUVVsbUxFMUJRVTBzYzBOQlFYZERjRU1zUzBGQlMzRkRMR05CUnk5RU1VTXNSVUZCV1dsQ0xGVkJRVlYzUXl4blFrRkJhMElzVTBGQlUwTXNSVUZCWTBNc1IwRkROMFFzVFVGQlRTeEpRVUZKYkVJc1RVRkJUU3h6UTBGQmQwTndReXhMUVVGTGNVTXNZMEZITDBReFF5eEZRVUZaYVVJc1ZVRkJWVEpETEd0Q1FVRnZRaXhUUVVGVFJpeEZRVUZqUXl4SFFVTXZSQ3hOUVVGTkxFbEJRVWxzUWl4TlFVRk5MSE5EUVVGM1EzQkRMRXRCUVV0eFF5eGpRVWN2UkRGRExFVkJRVmxwUWl4VlFVRlZORU1zZFVKQlFYbENMRk5CUVZOSUxFVkJRV05KTEVkQlEzQkZMRTFCUVUwc1NVRkJTWEpDTEUxQlFVMHNjME5CUVhkRGNFTXNTMEZCUzNGRExHTkJSeTlFTVVNc1JVRkJXV2xDTEZWQlFWVTRReXhsUVVGcFFpeFRRVUZUUXl4SFFVTTVReXhOUVVGTkxFbEJRVWwyUWl4TlFVRk5MSE5EUVVGM1EzQkRMRXRCUVV0eFF5eGpRVWN2UkRGRExFVkJRVmxwUWl4VlFVRlZaMFFzVlVGQldTeFRRVUZUUXl4SFFVTjZReXhOUVVGTkxFbEJRVWw2UWl4TlFVRk5MSE5EUVVGM1EzQkRMRXRCUVV0eFF5eGpRVWN2UkRGRExFVkJRVmxwUWl4VlFVRlZhMFFzYTBKQlFXOUNMRmRCUTNoRExFMUJRVTBzU1VGQlNURkNMRTFCUVUwc2MwTkJRWGREY0VNc1MwRkJTM0ZETEdOQlJ5OUVNVU1zUlVGQldXbENMRlZCUVZWdFJDeFhRVUZoTEZOQlFWTkRMRVZCUVUxWUxFVkJRV05ETEVkQlF6bEVMRTFCUVUwc1NVRkJTV3hDTEUxQlFVMHNjME5CUVhkRGNFTXNTMEZCUzNGRExHTkJSeTlFTVVNc1JVRkJXV2xDTEZWQlFWVnhSQ3gxUWtGQmVVSXNVMEZCVTBNc1IwRkRkRVFzVFVGQlRTeEpRVUZKT1VJc1RVRkJUU3h6UTBGQmQwTndReXhMUVVGTGNVTXNZMEZITDBReFF5eEZRVUZaYVVJc1ZVRkJWWFZFTEZsQlFXTXNVMEZCVTBNc1IwRkRNME1zVFVGQlRTeEpRVUZKYUVNc1RVRkJUU3h6UTBGQmQwTndReXhMUVVGTGNVTXNZMEZITDBReFF5eEZRVUZaYVVJc1ZVRkJWWGxFTEZsQlFXTXNWMEZEYkVNc1RVRkJUU3hKUVVGSmFrTXNUVUZCVFN4elEwRkJkME53UXl4TFFVRkxjVU1zWTBGSEwwUXhReXhGUVVGWmFVSXNWVUZCVlRCRUxHMUNRVUZ4UWl4VFFVRlRReXhGUVVGTlF5eEZRVUZaUXl4SFFVTndSU3hOUVVGTkxFbEJRVWx5UXl4TlFVRk5MSE5EUVVGM1EzQkRMRXRCUVV0eFF5eGpRVWN2UkRGRExFVkJRVmxwUWl4VlFVRlZPRVFzYVVKQlFXMUNMRk5CUVZOSUxFVkJRVTFETEVWQlFWbERMRWRCUTJ4RkxFMUJRVTBzU1VGQlNYSkRMRTFCUVUwc2MwTkJRWGREY0VNc1MwRkJTM0ZETEdOQlIzaEVNVU1zUlVGNlRuTkNMRXRCTms0NVFra3NTMEZCUzBNaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZjM1JoWjJsdVp5OXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTk0Yld4aWRXbHNaR1Z5TDJ4cFlpOVlUVXhFYjJOMWJXVnVkQzVxY3lKOSIsIihmdW5jdGlvbigpe3ZhciB0LGUscixpLG4sbyxzLGgsdSxjLGEscCxsLGQsdyx5LGYsdixMLG0sTixELE8sYj17fS5oYXNPd25Qcm9wZXJ0eTtPPXJlcXVpcmUoXCIuL1V0aWxpdHlcIiksTj1PLmlzT2JqZWN0LG09Ty5pc0Z1bmN0aW9uLEQ9Ty5pc1BsYWluT2JqZWN0LEw9Ty5nZXRWYWx1ZSx0PXJlcXVpcmUoXCIuL05vZGVUeXBlXCIpLHA9cmVxdWlyZShcIi4vWE1MRG9jdW1lbnRcIiksbD1yZXF1aXJlKFwiLi9YTUxFbGVtZW50XCIpLGk9cmVxdWlyZShcIi4vWE1MQ0RhdGFcIiksbj1yZXF1aXJlKFwiLi9YTUxDb21tZW50XCIpLHc9cmVxdWlyZShcIi4vWE1MUmF3XCIpLHY9cmVxdWlyZShcIi4vWE1MVGV4dFwiKSxkPXJlcXVpcmUoXCIuL1hNTFByb2Nlc3NpbmdJbnN0cnVjdGlvblwiKSxjPXJlcXVpcmUoXCIuL1hNTERlY2xhcmF0aW9uXCIpLGE9cmVxdWlyZShcIi4vWE1MRG9jVHlwZVwiKSxvPXJlcXVpcmUoXCIuL1hNTERUREF0dExpc3RcIiksaD1yZXF1aXJlKFwiLi9YTUxEVERFbnRpdHlcIikscz1yZXF1aXJlKFwiLi9YTUxEVERFbGVtZW50XCIpLHU9cmVxdWlyZShcIi4vWE1MRFRETm90YXRpb25cIikscj1yZXF1aXJlKFwiLi9YTUxBdHRyaWJ1dGVcIiksZj1yZXF1aXJlKFwiLi9YTUxTdHJpbmdpZmllclwiKSx5PXJlcXVpcmUoXCIuL1hNTFN0cmluZ1dyaXRlclwiKSxlPXJlcXVpcmUoXCIuL1dyaXRlclN0YXRlXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gTyhlLHIsaSl7dmFyIG47dGhpcy5uYW1lPVwiP3htbFwiLHRoaXMudHlwZT10LkRvY3VtZW50LGV8fChlPXt9KSxuPXt9LGUud3JpdGVyP0QoZS53cml0ZXIpJiYobj1lLndyaXRlcixlLndyaXRlcj1uZXcgeSk6ZS53cml0ZXI9bmV3IHksdGhpcy5vcHRpb25zPWUsdGhpcy53cml0ZXI9ZS53cml0ZXIsdGhpcy53cml0ZXJPcHRpb25zPXRoaXMud3JpdGVyLmZpbHRlck9wdGlvbnMobiksdGhpcy5zdHJpbmdpZnk9bmV3IGYoZSksdGhpcy5vbkRhdGFDYWxsYmFjaz1yfHxmdW5jdGlvbigpe30sdGhpcy5vbkVuZENhbGxiYWNrPWl8fGZ1bmN0aW9uKCl7fSx0aGlzLmN1cnJlbnROb2RlPW51bGwsdGhpcy5jdXJyZW50TGV2ZWw9LTEsdGhpcy5vcGVuVGFncz17fSx0aGlzLmRvY3VtZW50U3RhcnRlZD0hMSx0aGlzLmRvY3VtZW50Q29tcGxldGVkPSExLHRoaXMucm9vdD1udWxsfXJldHVybiBPLnByb3RvdHlwZS5jcmVhdGVDaGlsZE5vZGU9ZnVuY3Rpb24oZSl7dmFyIHIsaSxuLG8scyxoLHUsYztzd2l0Y2goZS50eXBlKXtjYXNlIHQuQ0RhdGE6dGhpcy5jZGF0YShlLnZhbHVlKTticmVhaztjYXNlIHQuQ29tbWVudDp0aGlzLmNvbW1lbnQoZS52YWx1ZSk7YnJlYWs7Y2FzZSB0LkVsZW1lbnQ6Zm9yKGkgaW4gbj17fSx1PWUuYXR0cmlicyliLmNhbGwodSxpKSYmKHI9dVtpXSxuW2ldPXIudmFsdWUpO3RoaXMubm9kZShlLm5hbWUsbik7YnJlYWs7Y2FzZSB0LkR1bW15OnRoaXMuZHVtbXkoKTticmVhaztjYXNlIHQuUmF3OnRoaXMucmF3KGUudmFsdWUpO2JyZWFrO2Nhc2UgdC5UZXh0OnRoaXMudGV4dChlLnZhbHVlKTticmVhaztjYXNlIHQuUHJvY2Vzc2luZ0luc3RydWN0aW9uOnRoaXMuaW5zdHJ1Y3Rpb24oZS50YXJnZXQsZS52YWx1ZSk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIFhNTCBub2RlIHR5cGUgaXMgbm90IHN1cHBvcnRlZCBpbiBhIEpTIG9iamVjdDogXCIrZS5jb25zdHJ1Y3Rvci5uYW1lKX1mb3Iocz0wLGg9KGM9ZS5jaGlsZHJlbikubGVuZ3RoO3M8aDtzKyspbz1jW3NdLHRoaXMuY3JlYXRlQ2hpbGROb2RlKG8pLG8udHlwZT09PXQuRWxlbWVudCYmdGhpcy51cCgpO3JldHVybiB0aGlzfSxPLnByb3RvdHlwZS5kdW1teT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxPLnByb3RvdHlwZS5ub2RlPWZ1bmN0aW9uKHQsZSxyKXt2YXIgaTtpZihudWxsPT10KXRocm93IG5ldyBFcnJvcihcIk1pc3Npbmcgbm9kZSBuYW1lLlwiKTtpZih0aGlzLnJvb3QmJi0xPT09dGhpcy5jdXJyZW50TGV2ZWwpdGhyb3cgbmV3IEVycm9yKFwiRG9jdW1lbnQgY2FuIG9ubHkgaGF2ZSBvbmUgcm9vdCBub2RlLiBcIit0aGlzLmRlYnVnSW5mbyh0KSk7cmV0dXJuIHRoaXMub3BlbkN1cnJlbnQoKSx0PUwodCksbnVsbD09ZSYmKGU9e30pLGU9TChlKSxOKGUpfHwocj0oaT1bZSxyXSlbMF0sZT1pWzFdKSx0aGlzLmN1cnJlbnROb2RlPW5ldyBsKHRoaXMsdCxlKSx0aGlzLmN1cnJlbnROb2RlLmNoaWxkcmVuPSExLHRoaXMuY3VycmVudExldmVsKyssdGhpcy5vcGVuVGFnc1t0aGlzLmN1cnJlbnRMZXZlbF09dGhpcy5jdXJyZW50Tm9kZSxudWxsIT1yJiZ0aGlzLnRleHQociksdGhpc30sTy5wcm90b3R5cGUuZWxlbWVudD1mdW5jdGlvbihlLHIsaSl7dmFyIG4sbyxzLGgsdSxjO2lmKHRoaXMuY3VycmVudE5vZGUmJnRoaXMuY3VycmVudE5vZGUudHlwZT09PXQuRG9jVHlwZSl0aGlzLmR0ZEVsZW1lbnQuYXBwbHkodGhpcyxhcmd1bWVudHMpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShlKXx8TihlKXx8bShlKSlmb3IoaD10aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uLHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb249ITAsKGM9bmV3IHAodGhpcy5vcHRpb25zKS5lbGVtZW50KFwiVEVNUF9ST09UXCIpKS5lbGVtZW50KGUpLHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb249aCxvPTAscz0odT1jLmNoaWxkcmVuKS5sZW5ndGg7bzxzO28rKyluPXVbb10sdGhpcy5jcmVhdGVDaGlsZE5vZGUobiksbi50eXBlPT09dC5FbGVtZW50JiZ0aGlzLnVwKCk7ZWxzZSB0aGlzLm5vZGUoZSxyLGkpO3JldHVybiB0aGlzfSxPLnByb3RvdHlwZS5hdHRyaWJ1dGU9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO2lmKCF0aGlzLmN1cnJlbnROb2RlfHx0aGlzLmN1cnJlbnROb2RlLmNoaWxkcmVuKXRocm93IG5ldyBFcnJvcihcImF0dCgpIGNhbiBvbmx5IGJlIHVzZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgYW4gZWxlKCkgY2FsbCBpbiBjYWxsYmFjayBtb2RlLiBcIit0aGlzLmRlYnVnSW5mbyh0KSk7aWYobnVsbCE9dCYmKHQ9TCh0KSksTih0KSlmb3IoaSBpbiB0KWIuY2FsbCh0LGkpJiYobj10W2ldLHRoaXMuYXR0cmlidXRlKGksbikpO2Vsc2UgbShlKSYmKGU9ZS5hcHBseSgpKSx0aGlzLm9wdGlvbnMua2VlcE51bGxBdHRyaWJ1dGVzJiZudWxsPT1lP3RoaXMuY3VycmVudE5vZGUuYXR0cmlic1t0XT1uZXcgcih0aGlzLHQsXCJcIik6bnVsbCE9ZSYmKHRoaXMuY3VycmVudE5vZGUuYXR0cmlic1t0XT1uZXcgcih0aGlzLHQsZSkpO3JldHVybiB0aGlzfSxPLnByb3RvdHlwZS50ZXh0PWZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybiB0aGlzLm9wZW5DdXJyZW50KCksZT1uZXcgdih0aGlzLHQpLHRoaXMub25EYXRhKHRoaXMud3JpdGVyLnRleHQoZSx0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpc30sTy5wcm90b3R5cGUuY2RhdGE9ZnVuY3Rpb24odCl7dmFyIGU7cmV0dXJuIHRoaXMub3BlbkN1cnJlbnQoKSxlPW5ldyBpKHRoaXMsdCksdGhpcy5vbkRhdGEodGhpcy53cml0ZXIuY2RhdGEoZSx0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpc30sTy5wcm90b3R5cGUuY29tbWVudD1mdW5jdGlvbih0KXt2YXIgZTtyZXR1cm4gdGhpcy5vcGVuQ3VycmVudCgpLGU9bmV3IG4odGhpcyx0KSx0aGlzLm9uRGF0YSh0aGlzLndyaXRlci5jb21tZW50KGUsdGhpcy53cml0ZXJPcHRpb25zLHRoaXMuY3VycmVudExldmVsKzEpLHRoaXMuY3VycmVudExldmVsKzEpLHRoaXN9LE8ucHJvdG90eXBlLnJhdz1mdW5jdGlvbih0KXt2YXIgZTtyZXR1cm4gdGhpcy5vcGVuQ3VycmVudCgpLGU9bmV3IHcodGhpcyx0KSx0aGlzLm9uRGF0YSh0aGlzLndyaXRlci5yYXcoZSx0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpc30sTy5wcm90b3R5cGUuaW5zdHJ1Y3Rpb249ZnVuY3Rpb24odCxlKXt2YXIgcixpLG4sbyxzO2lmKHRoaXMub3BlbkN1cnJlbnQoKSxudWxsIT10JiYodD1MKHQpKSxudWxsIT1lJiYoZT1MKGUpKSxBcnJheS5pc0FycmF5KHQpKWZvcihyPTAsbz10Lmxlbmd0aDtyPG87cisrKWk9dFtyXSx0aGlzLmluc3RydWN0aW9uKGkpO2Vsc2UgaWYoTih0KSlmb3IoaSBpbiB0KWIuY2FsbCh0LGkpJiYobj10W2ldLHRoaXMuaW5zdHJ1Y3Rpb24oaSxuKSk7ZWxzZSBtKGUpJiYoZT1lLmFwcGx5KCkpLHM9bmV3IGQodGhpcyx0LGUpLHRoaXMub25EYXRhKHRoaXMud3JpdGVyLnByb2Nlc3NpbmdJbnN0cnVjdGlvbihzLHRoaXMud3JpdGVyT3B0aW9ucyx0aGlzLmN1cnJlbnRMZXZlbCsxKSx0aGlzLmN1cnJlbnRMZXZlbCsxKTtyZXR1cm4gdGhpc30sTy5wcm90b3R5cGUuZGVjbGFyYXRpb249ZnVuY3Rpb24odCxlLHIpe3ZhciBpO2lmKHRoaXMub3BlbkN1cnJlbnQoKSx0aGlzLmRvY3VtZW50U3RhcnRlZCl0aHJvdyBuZXcgRXJyb3IoXCJkZWNsYXJhdGlvbigpIG11c3QgYmUgdGhlIGZpcnN0IG5vZGUuXCIpO3JldHVybiBpPW5ldyBjKHRoaXMsdCxlLHIpLHRoaXMub25EYXRhKHRoaXMud3JpdGVyLmRlY2xhcmF0aW9uKGksdGhpcy53cml0ZXJPcHRpb25zLHRoaXMuY3VycmVudExldmVsKzEpLHRoaXMuY3VycmVudExldmVsKzEpLHRoaXN9LE8ucHJvdG90eXBlLmRvY3R5cGU9ZnVuY3Rpb24odCxlLHIpe2lmKHRoaXMub3BlbkN1cnJlbnQoKSxudWxsPT10KXRocm93IG5ldyBFcnJvcihcIk1pc3Npbmcgcm9vdCBub2RlIG5hbWUuXCIpO2lmKHRoaXMucm9vdCl0aHJvdyBuZXcgRXJyb3IoXCJkdGQoKSBtdXN0IGNvbWUgYmVmb3JlIHRoZSByb290IG5vZGUuXCIpO3JldHVybiB0aGlzLmN1cnJlbnROb2RlPW5ldyBhKHRoaXMsZSxyKSx0aGlzLmN1cnJlbnROb2RlLnJvb3ROb2RlTmFtZT10LHRoaXMuY3VycmVudE5vZGUuY2hpbGRyZW49ITEsdGhpcy5jdXJyZW50TGV2ZWwrKyx0aGlzLm9wZW5UYWdzW3RoaXMuY3VycmVudExldmVsXT10aGlzLmN1cnJlbnROb2RlLHRoaXN9LE8ucHJvdG90eXBlLmR0ZEVsZW1lbnQ9ZnVuY3Rpb24odCxlKXt2YXIgcjtyZXR1cm4gdGhpcy5vcGVuQ3VycmVudCgpLHI9bmV3IHModGhpcyx0LGUpLHRoaXMub25EYXRhKHRoaXMud3JpdGVyLmR0ZEVsZW1lbnQocix0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpc30sTy5wcm90b3R5cGUuYXR0TGlzdD1mdW5jdGlvbih0LGUscixpLG4pe3ZhciBzO3JldHVybiB0aGlzLm9wZW5DdXJyZW50KCkscz1uZXcgbyh0aGlzLHQsZSxyLGksbiksdGhpcy5vbkRhdGEodGhpcy53cml0ZXIuZHRkQXR0TGlzdChzLHRoaXMud3JpdGVyT3B0aW9ucyx0aGlzLmN1cnJlbnRMZXZlbCsxKSx0aGlzLmN1cnJlbnRMZXZlbCsxKSx0aGlzfSxPLnByb3RvdHlwZS5lbnRpdHk9ZnVuY3Rpb24odCxlKXt2YXIgcjtyZXR1cm4gdGhpcy5vcGVuQ3VycmVudCgpLHI9bmV3IGgodGhpcywhMSx0LGUpLHRoaXMub25EYXRhKHRoaXMud3JpdGVyLmR0ZEVudGl0eShyLHRoaXMud3JpdGVyT3B0aW9ucyx0aGlzLmN1cnJlbnRMZXZlbCsxKSx0aGlzLmN1cnJlbnRMZXZlbCsxKSx0aGlzfSxPLnByb3RvdHlwZS5wRW50aXR5PWZ1bmN0aW9uKHQsZSl7dmFyIHI7cmV0dXJuIHRoaXMub3BlbkN1cnJlbnQoKSxyPW5ldyBoKHRoaXMsITAsdCxlKSx0aGlzLm9uRGF0YSh0aGlzLndyaXRlci5kdGRFbnRpdHkocix0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpc30sTy5wcm90b3R5cGUubm90YXRpb249ZnVuY3Rpb24odCxlKXt2YXIgcjtyZXR1cm4gdGhpcy5vcGVuQ3VycmVudCgpLHI9bmV3IHUodGhpcyx0LGUpLHRoaXMub25EYXRhKHRoaXMud3JpdGVyLmR0ZE5vdGF0aW9uKHIsdGhpcy53cml0ZXJPcHRpb25zLHRoaXMuY3VycmVudExldmVsKzEpLHRoaXMuY3VycmVudExldmVsKzEpLHRoaXN9LE8ucHJvdG90eXBlLnVwPWZ1bmN0aW9uKCl7aWYodGhpcy5jdXJyZW50TGV2ZWw8MCl0aHJvdyBuZXcgRXJyb3IoXCJUaGUgZG9jdW1lbnQgbm9kZSBoYXMgbm8gcGFyZW50LlwiKTtyZXR1cm4gdGhpcy5jdXJyZW50Tm9kZT8odGhpcy5jdXJyZW50Tm9kZS5jaGlsZHJlbj90aGlzLmNsb3NlTm9kZSh0aGlzLmN1cnJlbnROb2RlKTp0aGlzLm9wZW5Ob2RlKHRoaXMuY3VycmVudE5vZGUpLHRoaXMuY3VycmVudE5vZGU9bnVsbCk6dGhpcy5jbG9zZU5vZGUodGhpcy5vcGVuVGFnc1t0aGlzLmN1cnJlbnRMZXZlbF0pLGRlbGV0ZSB0aGlzLm9wZW5UYWdzW3RoaXMuY3VycmVudExldmVsXSx0aGlzLmN1cnJlbnRMZXZlbC0tLHRoaXN9LE8ucHJvdG90eXBlLmVuZD1mdW5jdGlvbigpe2Zvcig7dGhpcy5jdXJyZW50TGV2ZWw+PTA7KXRoaXMudXAoKTtyZXR1cm4gdGhpcy5vbkVuZCgpfSxPLnByb3RvdHlwZS5vcGVuQ3VycmVudD1mdW5jdGlvbigpe2lmKHRoaXMuY3VycmVudE5vZGUpcmV0dXJuIHRoaXMuY3VycmVudE5vZGUuY2hpbGRyZW49ITAsdGhpcy5vcGVuTm9kZSh0aGlzLmN1cnJlbnROb2RlKX0sTy5wcm90b3R5cGUub3Blbk5vZGU9ZnVuY3Rpb24ocil7dmFyIGksbixvLHM7aWYoIXIuaXNPcGVuKXtpZih0aGlzLnJvb3R8fDAhPT10aGlzLmN1cnJlbnRMZXZlbHx8ci50eXBlIT09dC5FbGVtZW50fHwodGhpcy5yb290PXIpLG49XCJcIixyLnR5cGU9PT10LkVsZW1lbnQpe2ZvcihvIGluIHRoaXMud3JpdGVyT3B0aW9ucy5zdGF0ZT1lLk9wZW5UYWcsbj10aGlzLndyaXRlci5pbmRlbnQocix0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwpK1wiPFwiK3IubmFtZSxzPXIuYXR0cmlicyliLmNhbGwocyxvKSYmKGk9c1tvXSxuKz10aGlzLndyaXRlci5hdHRyaWJ1dGUoaSx0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwpKTtuKz0oci5jaGlsZHJlbj9cIj5cIjpcIi8+XCIpK3RoaXMud3JpdGVyLmVuZGxpbmUocix0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwpLHRoaXMud3JpdGVyT3B0aW9ucy5zdGF0ZT1lLkluc2lkZVRhZ31lbHNlIHRoaXMud3JpdGVyT3B0aW9ucy5zdGF0ZT1lLk9wZW5UYWcsbj10aGlzLndyaXRlci5pbmRlbnQocix0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwpK1wiPCFET0NUWVBFIFwiK3Iucm9vdE5vZGVOYW1lLHIucHViSUQmJnIuc3lzSUQ/bis9JyBQVUJMSUMgXCInK3IucHViSUQrJ1wiIFwiJytyLnN5c0lEKydcIic6ci5zeXNJRCYmKG4rPScgU1lTVEVNIFwiJytyLnN5c0lEKydcIicpLHIuY2hpbGRyZW4/KG4rPVwiIFtcIix0aGlzLndyaXRlck9wdGlvbnMuc3RhdGU9ZS5JbnNpZGVUYWcpOih0aGlzLndyaXRlck9wdGlvbnMuc3RhdGU9ZS5DbG9zZVRhZyxuKz1cIj5cIiksbis9dGhpcy53cml0ZXIuZW5kbGluZShyLHRoaXMud3JpdGVyT3B0aW9ucyx0aGlzLmN1cnJlbnRMZXZlbCk7cmV0dXJuIHRoaXMub25EYXRhKG4sdGhpcy5jdXJyZW50TGV2ZWwpLHIuaXNPcGVuPSEwfX0sTy5wcm90b3R5cGUuY2xvc2VOb2RlPWZ1bmN0aW9uKHIpe3ZhciBpO2lmKCFyLmlzQ2xvc2VkKXJldHVybiBpPVwiXCIsdGhpcy53cml0ZXJPcHRpb25zLnN0YXRlPWUuQ2xvc2VUYWcsaT1yLnR5cGU9PT10LkVsZW1lbnQ/dGhpcy53cml0ZXIuaW5kZW50KHIsdGhpcy53cml0ZXJPcHRpb25zLHRoaXMuY3VycmVudExldmVsKStcIjwvXCIrci5uYW1lK1wiPlwiK3RoaXMud3JpdGVyLmVuZGxpbmUocix0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwpOnRoaXMud3JpdGVyLmluZGVudChyLHRoaXMud3JpdGVyT3B0aW9ucyx0aGlzLmN1cnJlbnRMZXZlbCkrXCJdPlwiK3RoaXMud3JpdGVyLmVuZGxpbmUocix0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwpLHRoaXMud3JpdGVyT3B0aW9ucy5zdGF0ZT1lLk5vbmUsdGhpcy5vbkRhdGEoaSx0aGlzLmN1cnJlbnRMZXZlbCksci5pc0Nsb3NlZD0hMH0sTy5wcm90b3R5cGUub25EYXRhPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuZG9jdW1lbnRTdGFydGVkPSEwLHRoaXMub25EYXRhQ2FsbGJhY2sodCxlKzEpfSxPLnByb3RvdHlwZS5vbkVuZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmRvY3VtZW50Q29tcGxldGVkPSEwLHRoaXMub25FbmRDYWxsYmFjaygpfSxPLnByb3RvdHlwZS5kZWJ1Z0luZm89ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/XCJcIjpcIm5vZGU6IDxcIit0K1wiPlwifSxPLnByb3RvdHlwZS5lbGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lbGVtZW50LmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sTy5wcm90b3R5cGUubm9kPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdGhpcy5ub2RlKHQsZSxyKX0sTy5wcm90b3R5cGUudHh0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnRleHQodCl9LE8ucHJvdG90eXBlLmRhdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jZGF0YSh0KX0sTy5wcm90b3R5cGUuY29tPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNvbW1lbnQodCl9LE8ucHJvdG90eXBlLmlucz1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmluc3RydWN0aW9uKHQsZSl9LE8ucHJvdG90eXBlLmRlYz1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMuZGVjbGFyYXRpb24odCxlLHIpfSxPLnByb3RvdHlwZS5kdGQ9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0aGlzLmRvY3R5cGUodCxlLHIpfSxPLnByb3RvdHlwZS5lPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdGhpcy5lbGVtZW50KHQsZSxyKX0sTy5wcm90b3R5cGUubj1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMubm9kZSh0LGUscil9LE8ucHJvdG90eXBlLnQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGV4dCh0KX0sTy5wcm90b3R5cGUuZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jZGF0YSh0KX0sTy5wcm90b3R5cGUuYz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jb21tZW50KHQpfSxPLnByb3RvdHlwZS5yPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnJhdyh0KX0sTy5wcm90b3R5cGUuaT1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmluc3RydWN0aW9uKHQsZSl9LE8ucHJvdG90eXBlLmF0dD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmN1cnJlbnROb2RlJiZ0aGlzLmN1cnJlbnROb2RlLnR5cGU9PT10LkRvY1R5cGU/dGhpcy5hdHRMaXN0LmFwcGx5KHRoaXMsYXJndW1lbnRzKTp0aGlzLmF0dHJpYnV0ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LE8ucHJvdG90eXBlLmE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jdXJyZW50Tm9kZSYmdGhpcy5jdXJyZW50Tm9kZS50eXBlPT09dC5Eb2NUeXBlP3RoaXMuYXR0TGlzdC5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dGhpcy5hdHRyaWJ1dGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxPLnByb3RvdHlwZS5lbnQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5lbnRpdHkodCxlKX0sTy5wcm90b3R5cGUucGVudD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLnBFbnRpdHkodCxlKX0sTy5wcm90b3R5cGUubm90PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMubm90YXRpb24odCxlKX0sT30oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEVSdlkzVnRaVzUwUTBJdWFuTWlYU3dpYm1GdFpYTWlPbHNpVG05a1pWUjVjR1VpTENKWGNtbDBaWEpUZEdGMFpTSXNJbGhOVEVGMGRISnBZblYwWlNJc0lsaE5URU5FWVhSaElpd2lXRTFNUTI5dGJXVnVkQ0lzSWxoTlRFUlVSRUYwZEV4cGMzUWlMQ0pZVFV4RVZFUkZiR1Z0Wlc1MElpd2lXRTFNUkZSRVJXNTBhWFI1SWl3aVdFMU1SRlJFVG05MFlYUnBiMjRpTENKWVRVeEVaV05zWVhKaGRHbHZiaUlzSWxoTlRFUnZZMVI1Y0dVaUxDSllUVXhFYjJOMWJXVnVkQ0lzSWxoTlRFVnNaVzFsYm5RaUxDSllUVXhRY205alpYTnphVzVuU1c1emRISjFZM1JwYjI0aUxDSllUVXhTWVhjaUxDSllUVXhUZEhKcGJtZFhjbWwwWlhJaUxDSllUVXhUZEhKcGJtZHBabWxsY2lJc0lsaE5URlJsZUhRaUxDSm5aWFJXWVd4MVpTSXNJbWx6Um5WdVkzUnBiMjRpTENKcGMwOWlhbVZqZENJc0ltbHpVR3hoYVc1UFltcGxZM1FpTENKeVpXWWlMQ0pvWVhOUWNtOXdJaXdpYUdGelQzZHVVSEp2Y0dWeWRIa2lMQ0p5WlhGMWFYSmxJaXdpYlc5a2RXeGxJaXdpWlhod2IzSjBjeUlzSWxoTlRFUnZZM1Z0Wlc1MFEwSWlMQ0p2Y0hScGIyNXpJaXdpYjI1RVlYUmhJaXdpYjI1RmJtUWlMQ0ozY21sMFpYSlBjSFJwYjI1eklpd2lkR2hwY3lJc0ltNWhiV1VpTENKMGVYQmxJaXdpUkc5amRXMWxiblFpTENKM2NtbDBaWElpTENKbWFXeDBaWEpQY0hScGIyNXpJaXdpYzNSeWFXNW5hV1o1SWl3aWIyNUVZWFJoUTJGc2JHSmhZMnNpTENKdmJrVnVaRU5oYkd4aVlXTnJJaXdpWTNWeWNtVnVkRTV2WkdVaUxDSmpkWEp5Wlc1MFRHVjJaV3dpTENKdmNHVnVWR0ZuY3lJc0ltUnZZM1Z0Wlc1MFUzUmhjblJsWkNJc0ltUnZZM1Z0Wlc1MFEyOXRjR3hsZEdWa0lpd2ljbTl2ZENJc0luQnliM1J2ZEhsd1pTSXNJbU55WldGMFpVTm9hV3hrVG05a1pTSXNJbTV2WkdVaUxDSmhkSFFpTENKaGRIUk9ZVzFsSWl3aVlYUjBjbWxpZFhSbGN5SXNJbU5vYVd4a0lpd2lhU0lzSW14bGJpSXNJbkpsWmpFaUxDSnlaV1l5SWl3aVEwUmhkR0VpTENKalpHRjBZU0lzSW5aaGJIVmxJaXdpUTI5dGJXVnVkQ0lzSW1OdmJXMWxiblFpTENKRmJHVnRaVzUwSWl3aVlYUjBjbWxpY3lJc0ltTmhiR3dpTENKRWRXMXRlU0lzSW1SMWJXMTVJaXdpVW1GM0lpd2ljbUYzSWl3aVZHVjRkQ0lzSW5SbGVIUWlMQ0pRY205alpYTnphVzVuU1c1emRISjFZM1JwYjI0aUxDSnBibk4wY25WamRHbHZiaUlzSW5SaGNtZGxkQ0lzSWtWeWNtOXlJaXdpWTI5dWMzUnlkV04wYjNJaUxDSmphR2xzWkhKbGJpSXNJbXhsYm1kMGFDSXNJblZ3SWl3aVpHVmlkV2RKYm1adklpd2liM0JsYmtOMWNuSmxiblFpTENKbGJHVnRaVzUwSWl3aWIyeGtWbUZzYVdSaGRHbHZia1pzWVdjaUxDSkViMk5VZVhCbElpd2laSFJrUld4bGJXVnVkQ0lzSW1Gd2NHeDVJaXdpWVhKbmRXMWxiblJ6SWl3aVFYSnlZWGtpTENKcGMwRnljbUY1SWl3aWJtOVdZV3hwWkdGMGFXOXVJaXdpWVhSMGNtbGlkWFJsSWl3aVlYUjBWbUZzZFdVaUxDSnJaV1Z3VG5Wc2JFRjBkSEpwWW5WMFpYTWlMQ0pwYm5OVVlYSm5aWFFpTENKcGJuTldZV3gxWlNJc0luQnliMk5sYzNOcGJtZEpibk4wY25WamRHbHZiaUlzSW1SbFkyeGhjbUYwYVc5dUlpd2lkbVZ5YzJsdmJpSXNJbVZ1WTI5a2FXNW5JaXdpYzNSaGJtUmhiRzl1WlNJc0ltUnZZM1I1Y0dVaUxDSndkV0pKUkNJc0luTjVjMGxFSWl3aWNtOXZkRTV2WkdWT1lXMWxJaXdpWVhSMFRHbHpkQ0lzSW1Wc1pXMWxiblJPWVcxbElpd2lZWFIwY21saWRYUmxUbUZ0WlNJc0ltRjBkSEpwWW5WMFpWUjVjR1VpTENKa1pXWmhkV3gwVm1Gc2RXVlVlWEJsSWl3aVpHVm1ZWFZzZEZaaGJIVmxJaXdpWkhSa1FYUjBUR2x6ZENJc0ltVnVkR2wwZVNJc0ltUjBaRVZ1ZEdsMGVTSXNJbkJGYm5ScGRIa2lMQ0p1YjNSaGRHbHZiaUlzSW1SMFpFNXZkR0YwYVc5dUlpd2lZMnh2YzJWT2IyUmxJaXdpYjNCbGJrNXZaR1VpTENKbGJtUWlMQ0pqYUhWdWF5SXNJbWx6VDNCbGJpSXNJbk4wWVhSbElpd2lUM0JsYmxSaFp5SXNJbWx1WkdWdWRDSXNJbVZ1Wkd4cGJtVWlMQ0pKYm5OcFpHVlVZV2NpTENKRGJHOXpaVlJoWnlJc0ltbHpRMnh2YzJWa0lpd2lUbTl1WlNJc0lteGxkbVZzSWl3aVpXeGxJaXdpYm05a0lpd2lkSGgwSWl3aVpHRjBJaXdpWTI5dElpd2lhVzV6SWl3aVpHVmpJaXdpWkhSa0lpd2laU0lzSW00aUxDSjBJaXdpWkNJc0ltTWlMQ0p5SWl3aVlTSXNJbVZ1ZENJc0luQmxiblFpTENKdWIzUWlYU3dpYldGd2NHbHVaM01pT2lKRFFVTkJMRmRCUTBVc1NVRkJTVUVzUlVGQlZVTXNSVUZCWVVNc1JVRkJZME1zUlVGQlZVTXNSVUZCV1VNc1JVRkJaVU1zUlVGQlpVTXNSVUZCWTBNc1JVRkJaMEpETEVWQlFXZENReXhGUVVGWlF5eEZRVUUwUWtNc1JVRkJXVU1zUlVGQk1FSkRMRVZCUVZGRExFVkJRV2xDUXl4RlFVRm5Ra01zUlVGQlUwTXNSVUZCVlVNc1JVRkJXVU1zUlVGQlZVTXNSVUZCWlVNc1JVRkRlRlJETEVWQlFWVXNSMEZCUjBNc1pVRkZaa1lzUlVGQlRVY3NVVUZCVVN4aFFVRmpUQ3hGUVVGWFJTeEZRVUZKUml4VFFVRlZSQ3hGUVVGaFJ5eEZRVUZKU0N4WFFVRlpSU3hGUVVGblFrTXNSVUZCU1VRc1kwRkJaVWdzUlVGQlYwa3NSVUZCU1Vvc1UwRkZjRWxzUWl4RlFVRlhlVUlzVVVGQlVTeGpRVVZ1UW1Rc1JVRkJZMk1zVVVGQlVTeHBRa0ZGZEVKaUxFVkJRV0ZoTEZGQlFWRXNaMEpCUlhKQ2RFSXNSVUZCVjNOQ0xGRkJRVkVzWTBGRmJrSnlRaXhGUVVGaGNVSXNVVUZCVVN4blFrRkZja0pZTEVWQlFWTlhMRkZCUVZFc1dVRkZha0pTTEVWQlFWVlJMRkZCUVZFc1lVRkZiRUphTEVWQlFUSkNXU3hSUVVGUkxEaENRVVZ1UTJoQ0xFVkJRV2xDWjBJc1VVRkJVU3h2UWtGRmVrSm1MRVZCUVdGbExGRkJRVkVzWjBKQlJYSkNjRUlzUlVGQlowSnZRaXhSUVVGUkxHMUNRVVY0UW14Q0xFVkJRV1ZyUWl4UlFVRlJMR3RDUVVWMlFtNUNMRVZCUVdkQ2JVSXNVVUZCVVN4dFFrRkZlRUpxUWl4RlFVRnBRbWxDTEZGQlFWRXNiMEpCUlhwQ2RrSXNSVUZCWlhWQ0xGRkJRVkVzYTBKQlJYWkNWQ3hGUVVGcFFsTXNVVUZCVVN4dlFrRkZla0pXTEVWQlFXdENWU3hSUVVGUkxIRkNRVVV4UW5oQ0xFVkJRV04zUWl4UlFVRlJMR2xDUVVWMFFrTXNUMEZCVDBNc1VVRkJNRUlzVjBGREwwSXNVMEZCVTBNc1JVRkJZME1zUlVGQlUwTXNSVUZCVVVNc1IwRkRkRU1zU1VGQlNVTXNSVUZEU2tNc1MwRkJTME1zUzBGQlR5eFBRVU5hUkN4TFFVRkxSU3hMUVVGUGJrTXNSVUZCVTI5RExGTkJRM0pDVUN4SlFVRlpRU3hGUVVGVkxFbEJRM1JDUnl4RlFVRm5RaXhIUVVOWVNDeEZRVUZSVVN4UFFVVkdhRUlzUlVGQlkxRXNSVUZCVVZFc1ZVRkRMMEpNTEVWQlFXZENTQ3hGUVVGUlVTeFBRVU40UWxJc1JVRkJVVkVzVDBGQlV5eEpRVUZKZEVJc1IwRklja0pqTEVWQlFWRlJMRTlCUVZNc1NVRkJTWFJDTEVWQlMzWkNhMElzUzBGQlMwb3NVVUZCVlVFc1JVRkRaa2tzUzBGQlMwa3NUMEZCVTFJc1JVRkJVVkVzVDBGRGRFSktMRXRCUVV0RUxHTkJRV2RDUXl4TFFVRkxTU3hQUVVGUFF5eGpRVUZqVGl4SFFVTXZRME1zUzBGQlMwMHNWVUZCV1N4SlFVRkpka0lzUlVGQlpXRXNSMEZEY0VOSkxFdEJRVXRQTEdWQlFXbENWaXhIUVVGVkxHRkJRMmhEUnl4TFFVRkxVU3hqUVVGblFsWXNSMEZCVXl4aFFVTTVRa1VzUzBGQlMxTXNXVUZCWXl4TFFVTnVRbFFzUzBGQlMxVXNZMEZCWjBJc1JVRkRja0pXTEV0QlFVdFhMRk5CUVZjc1IwRkRhRUpZTEV0QlFVdFpMR2xDUVVGclFpeEZRVU4yUWxvc1MwRkJTMkVzYlVKQlFXOUNMRVZCUTNwQ1lpeExRVUZMWXl4TFFVRlBMRXRCZDJOa0xFOUJjbU5CYmtJc1JVRkJZMjlDTEZWQlFWVkRMR2RDUVVGclFpeFRRVUZUUXl4SFFVTnFSQ3hKUVVGSlF5eEZRVUZMUXl4RlFVRlRReXhGUVVGWlF5eEZRVUZQUXl4RlFVRkhReXhGUVVGTFF5eEZRVUZOUXl4RlFVTnVSQ3hQUVVGUlVpeEZRVUZMWml4TlFVTllMRXRCUVV0dVF5eEZRVUZUTWtRc1RVRkRXakZDTEV0QlFVc3lRaXhOUVVGTlZpeEZRVUZMVnl4UFFVTm9RaXhOUVVOR0xFdEJRVXMzUkN4RlFVRlRPRVFzVVVGRFdqZENMRXRCUVVzNFFpeFJRVUZSWWl4RlFVRkxWeXhQUVVOc1FpeE5RVU5HTEV0QlFVczNSQ3hGUVVGVFowVXNVVUZIV2l4SlFVRkxXaXhMUVVaTVF5eEZRVUZoTEVkQlEySkpMRVZCUVU5UUxFVkJRVXRsTEZGQlJVd3hReXhGUVVGUk1rTXNTMEZCUzFRc1JVRkJUVXdzUzBGRGVFSkVMRVZCUVUxTkxFVkJRVXRNTEVkQlExaERMRVZCUVZkRUxFZEJRVmRFTEVWQlFVbFZMRTlCUlRWQ05VSXNTMEZCUzJsQ0xFdEJRVXRCTEVWQlFVdG9RaXhMUVVGTmJVSXNSMEZEY2tJc1RVRkRSaXhMUVVGTGNrUXNSVUZCVTIxRkxFMUJRMXBzUXl4TFFVRkxiVU1zVVVGRFRDeE5RVU5HTEV0QlFVdHdSU3hGUVVGVGNVVXNTVUZEV25CRExFdEJRVXR4UXl4SlFVRkpjRUlzUlVGQlMxY3NUMEZEWkN4TlFVTkdMRXRCUVVzM1JDeEZRVUZUZFVVc1MwRkRXblJETEV0QlFVdDFReXhMUVVGTGRFSXNSVUZCUzFjc1QwRkRaaXhOUVVOR0xFdEJRVXMzUkN4RlFVRlRlVVVzYzBKQlExcDRReXhMUVVGTGVVTXNXVUZCV1hoQ0xFVkJRVXQ1UWl4UFFVRlJla0lzUlVGQlMxY3NUMEZEYmtNc1RVRkRSaXhSUVVORkxFMUJRVTBzU1VGQlNXVXNUVUZCVFN4MVJFRkJlVVF4UWl4RlFVRkxNa0lzV1VGQldUTkRMRTFCUnpsR0xFbEJRVXR4UWl4RlFVRkpMRVZCUVVkRExFZEJSRnBGTEVWQlFVOVNMRVZCUVVzMFFpeFZRVU5YUXl4UFFVRlJlRUlzUlVGQlNVTXNSVUZCUzBRc1NVRkRkRU5FTEVWQlFWRkpMRVZCUVV0SUxFZEJRMkowUWl4TFFVRkxaMElzWjBKQlFXZENTeXhIUVVOcVFrRXNSVUZCVFc1Q0xFOUJRVk51UXl4RlFVRlRaMFVzVTBGRE1VSXZRaXhMUVVGTEswTXNTMEZIVkN4UFFVRlBMME1zVFVGSFZFd3NSVUZCWTI5Q0xGVkJRVlZ2UWl4TlFVRlJMRmRCUXpsQ0xFOUJRVTl1UXl4TlFVZFVUQ3hGUVVGamIwSXNWVUZCVlVVc1MwRkJUeXhUUVVGVGFFSXNSVUZCVFcxQ0xFVkJRVmx0UWl4SFFVTjRSQ3hKUVVGSlppeEZRVU5LTEVkQlFWa3NUVUZCVW5aQ0xFVkJRMFlzVFVGQlRTeEpRVUZKTUVNc1RVRkJUU3h6UWtGRmJFSXNSMEZCU1RORExFdEJRVXRqTEU5QlFTdENMRWxCUVhaQ1pDeExRVUZMVlN4aFFVTndRaXhOUVVGTkxFbEJRVWxwUXl4TlFVRk5MSGxEUVVFeVF6TkRMRXRCUVV0blJDeFZRVUZWTDBNc1NVRnJRalZGTEU5QmFFSkJSQ3hMUVVGTGFVUXNZMEZEVEdoRUxFVkJRVTlvUWl4RlFVRlRaMElzUjBGRFJTeE5RVUZrYlVJc1NVRkRSa0VzUlVGQllTeEpRVVZtUVN4RlFVRmhia01zUlVGQlUyMURMRWRCUTJwQ2FrTXNSVUZCVTJsRExFdEJRMlZ0UWl4SFFVRXpRbVlzUlVGQlR5eERRVUZEU2l4RlFVRlpiVUlzU1VGQmJVSXNSMEZCU1c1Q0xFVkJRV0ZKTEVWQlFVc3NTVUZGTDBSNFFpeExRVUZMVXl4WlFVRmpMRWxCUVVrNVFpeEZRVUZYY1VJc1MwRkJUVU1zUlVGQlRXMUNMRWRCUXpsRGNFSXNTMEZCUzFNc1dVRkJXVzlETEZWQlFWY3NSVUZETlVJM1F5eExRVUZMVlN4bFFVTk1WaXhMUVVGTFZ5eFRRVUZUV0N4TFFVRkxWU3hqUVVGblFsWXNTMEZCUzFNc1dVRkROVUlzVFVGQlVqaENMRWRCUTBaMlF5eExRVUZMZFVNc1MwRkJTMEVzUjBGRlRIWkRMRTFCUjFSTUxFVkJRV052UWl4VlFVRlZiVU1zVVVGQlZTeFRRVUZUYWtRc1JVRkJUVzFDTEVWQlFWbHRRaXhIUVVNelJDeEpRVUZKYkVJc1JVRkJUME1zUlVGQlIwTXNSVUZCU3pSQ0xFVkJRVzFDTTBJc1JVRkJUVllzUlVGRE5VTXNSMEZCU1dRc1MwRkJTMU1zWVVGQlpWUXNTMEZCUzFNc1dVRkJXVkFzVDBGQlUyNURMRVZCUVZOeFJpeFJRVU42UkhCRUxFdEJRVXR4UkN4WFFVRlhReXhOUVVGTmRFUXNTMEZCVFhWRUxHZENRVVUxUWl4SFFVRkpReXhOUVVGTlF5eFJRVUZSZUVRc1NVRkJVMlFzUlVGQlUyTXNTVUZCVTJZc1JVRkJWMlVzUjBGUGRFUXNTVUZPUVd0RUxFVkJRVzlDYmtRc1MwRkJTMG9zVVVGQlVUaEVMR0ZCUTJwRE1VUXNTMEZCUzBvc1VVRkJVVGhFTEdOQlFXVXNSMEZETlVJMVF5eEZRVUZQTEVsQlFVbHdReXhGUVVGWmMwSXNTMEZCUzBvc1UwRkJVM05FTEZGQlFWRXNZMEZEZUVOQkxGRkJRVkZxUkN4SFFVTmlSQ3hMUVVGTFNpeFJRVUZST0VRc1lVRkJaVkFzUlVGRmRrSTNRaXhGUVVGSkxFVkJRVWRETEVkQlJGcERMRVZCUVU5V0xFVkJRVXNyUWl4VlFVTlhReXhQUVVGUmVFSXNSVUZCU1VNc1JVRkJTMFFzU1VGRGRFTkVMRVZCUVZGSExFVkJRVXRHTEVkQlEySjBRaXhMUVVGTFowSXNaMEpCUVdkQ1N5eEhRVU5xUWtFc1JVRkJUVzVDTEU5QlFWTnVReXhGUVVGVFowVXNVMEZETVVJdlFpeExRVUZMSzBNc1ZVRkpWQzlETEV0QlFVdHBRaXhMUVVGTGFFSXNSVUZCVFcxQ0xFVkJRVmx0UWl4SFFVZG9ReXhQUVVGUGRrTXNUVUZIVkV3c1JVRkJZMjlDTEZWQlFWVTBReXhWUVVGWkxGTkJRVk14UkN4RlFVRk5Na0lzUjBGRGFrUXNTVUZCU1ZRc1JVRkJVM2xETEVWQlEySXNTVUZCU3pWRUxFdEJRVXRUTEdGQlFXVlVMRXRCUVV0VExGbEJRVmx2UXl4VFFVTjRReXhOUVVGTkxFbEJRVWxHTEUxQlFVMHNORVZCUVRoRk0wTXNTMEZCUzJkRUxGVkJRVlV2UXl4SlFVc3ZSeXhIUVVoWkxFMUJRVkpCTEVsQlEwWkJMRVZCUVU5b1FpeEZRVUZUWjBJc1NVRkZaR1FzUlVGQlUyTXNSMEZEV0N4SlFVRkxhMElzUzBGQlYyeENMRVZCUTFSWUxFVkJRVkV5UXl4TFFVRkxhRU1zUlVGQlRXdENMRXRCUTNoQ2VVTXNSVUZCVnpORUxFVkJRVXRyUWl4SFFVTm9RbTVDTEV0QlFVc3lSQ3hWUVVGVmVFTXNSVUZCVTNsRExGTkJSM1JDTVVVc1JVRkJWekJETEV0QlEySkJMRVZCUVZGQkxFVkJRVTB3UWl4VFFVVmFkRVFzUzBGQlMwb3NVVUZCVVdsRkxHOUNRVUZuUXl4TlFVRlVha01zUlVGRGRFTTFRaXhMUVVGTFV5eFpRVUZaZFVJc1VVRkJVUzlDTEVkQlFWRXNTVUZCU1doRExFVkJRV0VyUWl4TFFVRk5ReXhGUVVGTkxFbEJRelZETEUxQlFWUXlRaXhKUVVOVU5VSXNTMEZCUzFNc1dVRkJXWFZDTEZGQlFWRXZRaXhIUVVGUkxFbEJRVWxvUXl4RlFVRmhLMElzUzBGQlRVTXNSVUZCVFRKQ0xFbEJSMnhGTEU5QlFVODFRaXhOUVVkVVRDeEZRVUZqYjBJc1ZVRkJWWGRDTEV0QlFVOHNVMEZCVTFnc1IwRkRkRU1zU1VGQlNWZ3NSVUZKU2l4UFFVaEJha0lzUzBGQlMybEVMR05CUTB4b1F5eEZRVUZQTEVsQlFVbHFReXhGUVVGUlowSXNTMEZCVFRSQ0xFZEJRM3BDTlVJc1MwRkJTMGdzVDBGQlQwY3NTMEZCUzBrc1QwRkJUMjFETEV0QlFVdDBRaXhGUVVGTmFrSXNTMEZCUzBRc1kwRkJaVU1zUzBGQlMxVXNZVUZCWlN4SFFVRkpWaXhMUVVGTFZTeGhRVUZsTEVkQlF6VkdWaXhOUVVkVVRDeEZRVUZqYjBJc1ZVRkJWVmtzVFVGQlVTeFRRVUZUUXl4SFFVTjJReXhKUVVGSldDeEZRVWxLTEU5QlNFRnFRaXhMUVVGTGFVUXNZMEZEVEdoRExFVkJRVThzU1VGQlNTOURMRVZCUVZNNFFpeExRVUZOTkVJc1IwRkRNVUkxUWl4TFFVRkxTQ3hQUVVGUFJ5eExRVUZMU1N4UFFVRlBkVUlzVFVGQlRWWXNSVUZCVFdwQ0xFdEJRVXRFTEdOQlFXVkRMRXRCUVV0VkxHRkJRV1VzUjBGQlNWWXNTMEZCUzFVc1lVRkJaU3hIUVVNM1JsWXNUVUZIVkV3c1JVRkJZMjlDTEZWQlFWVmxMRkZCUVZVc1UwRkJVMFlzUjBGRGVrTXNTVUZCU1Znc1JVRkpTaXhQUVVoQmFrSXNTMEZCUzJsRUxHTkJRMHhvUXl4RlFVRlBMRWxCUVVrNVF5eEZRVUZYTmtJc1MwRkJUVFJDTEVkQlF6VkNOVUlzUzBGQlMwZ3NUMEZCVDBjc1MwRkJTMGtzVDBGQlR6QkNMRkZCUVZGaUxFVkJRVTFxUWl4TFFVRkxSQ3hqUVVGbFF5eExRVUZMVlN4aFFVRmxMRWRCUVVsV0xFdEJRVXRWTEdGQlFXVXNSMEZETDBaV0xFMUJSMVJNTEVWQlFXTnZRaXhWUVVGVmMwSXNTVUZCVFN4VFFVRlRWQ3hIUVVOeVF5eEpRVUZKV0N4RlFVbEtMRTlCU0VGcVFpeExRVUZMYVVRc1kwRkRUR2hETEVWQlFVOHNTVUZCU1hCRExFVkJRVTl0UWl4TFFVRk5ORUlzUjBGRGVFSTFRaXhMUVVGTFNDeFBRVUZQUnl4TFFVRkxTU3hQUVVGUGFVTXNTVUZCU1hCQ0xFVkJRVTFxUWl4TFFVRkxSQ3hqUVVGbFF5eExRVUZMVlN4aFFVRmxMRWRCUVVsV0xFdEJRVXRWTEdGQlFXVXNSMEZETTBaV0xFMUJSMVJNTEVWQlFXTnZRaXhWUVVGVk1FSXNXVUZCWXl4VFFVRlRReXhGUVVGUlpDeEhRVU55UkN4SlFVRkpUaXhGUVVGSGQwTXNSVUZCVjBNc1JVRkJWWGhETEVWQlFVdE9MRVZCVVdwRExFZEJVRUZxUWl4TFFVRkxhVVFzWTBGRFV5eE5RVUZXVUN4SlFVTkdRU3hGUVVGVGVrUXNSVUZCVTNsRUxFbEJSVkFzVFVGQlZHUXNTVUZEUmtFc1JVRkJVVE5ETEVWQlFWTXlReXhKUVVWbU5FSXNUVUZCVFVNc1VVRkJVV1lzUjBGRGFFSXNTVUZCUzNCQ0xFVkJRVWtzUlVGQlIwTXNSVUZCVFcxQ0xFVkJRVTlKTEU5QlFWRjRRaXhGUVVGSlF5eEZRVUZMUkN4SlFVTjRRM2RETEVWQlFWbHdRaXhGUVVGUGNFSXNSMEZEYmtKMFFpeExRVUZMZVVNc1dVRkJXWEZDTEZGQlJXUXNSMEZCU1RORkxFVkJRVk4xUkN4SFFVTnNRaXhKUVVGTGIwSXNTMEZCWVhCQ0xFVkJRMWh3UkN4RlFVRlJNa01zUzBGQlMxTXNSVUZCVVc5Q0xFdEJRekZDUXl4RlFVRlhja0lzUlVGQlQyOUNMRWRCUTJ4Q09VUXNTMEZCUzNsRExGbEJRVmx4UWl4RlFVRlhReXhUUVVjeFFqZEZMRVZCUVZjd1F5eExRVU5pUVN4RlFVRlJRU3hGUVVGTk1FSXNVMEZGYUVKeVF5eEZRVUZQTEVsQlFVbHlReXhGUVVGNVFtOUNMRXRCUVUwd1F5eEZRVUZSWkN4SFFVTnNSRFZDTEV0QlFVdElMRTlCUVU5SExFdEJRVXRKTEU5QlFVODBSQ3h6UWtGQmMwSXZReXhGUVVGTmFrSXNTMEZCUzBRc1kwRkJaVU1zUzBGQlMxVXNZVUZCWlN4SFFVRkpWaXhMUVVGTFZTeGhRVUZsTEVkQlJYUklMRTlCUVU5V0xFMUJSMVJNTEVWQlFXTnZRaXhWUVVGVmEwUXNXVUZCWXl4VFFVRlRReXhGUVVGVFF5eEZRVUZWUXl4SFFVTm9SU3hKUVVGSmJrUXNSVUZGU2l4SFFVUkJha0lzUzBGQlMybEVMR05CUTBScVJDeExRVUZMV1N4blFrRkRVQ3hOUVVGTkxFbEJRVWtyUWl4TlFVRk5MSGxEUVVsc1FpeFBRVVpCTVVJc1JVRkJUeXhKUVVGSmVrTXNSVUZCWlhkQ0xFdEJRVTFyUlN4RlFVRlRReXhGUVVGVlF5eEhRVU51UkhCRkxFdEJRVXRJTEU5QlFVOUhMRXRCUVV0SkxFOUJRVTgyUkN4WlFVRlphRVFzUlVGQlRXcENMRXRCUVV0RUxHTkJRV1ZETEV0QlFVdFZMR0ZCUVdVc1IwRkJTVllzUzBGQlMxVXNZVUZCWlN4SFFVTnVSMVlzVFVGSFZFd3NSVUZCWTI5Q0xGVkJRVlZ6UkN4UlFVRlZMRk5CUVZOMlJDeEZRVUZOZDBRc1JVRkJUME1zUjBGRmRFUXNSMEZFUVhaRkxFdEJRVXRwUkN4alFVTlBMRTFCUVZKdVF5eEZRVU5HTEUxQlFVMHNTVUZCU1RaQ0xFMUJRVTBzTWtKQlJXeENMRWRCUVVrelF5eExRVUZMWXl4TFFVTlFMRTFCUVUwc1NVRkJTVFpDTEUxQlFVMHNlVU5CVDJ4Q0xFOUJURUV6UXl4TFFVRkxVeXhaUVVGakxFbEJRVWxvUXl4RlFVRlhkVUlzUzBGQlRYTkZMRVZCUVU5RExFZEJReTlEZGtVc1MwRkJTMU1zV1VGQldTdEVMR0ZCUVdVeFJDeEZRVU5vUTJRc1MwRkJTMU1zV1VGQldXOURMRlZCUVZjc1JVRkROVUkzUXl4TFFVRkxWU3hsUVVOTVZpeExRVUZMVnl4VFFVRlRXQ3hMUVVGTFZTeGpRVUZuUWxZc1MwRkJTMU1zV1VGRGFrTlVMRTFCUjFSTUxFVkJRV052UWl4VlFVRlZjME1zVjBGQllTeFRRVUZUY0VRc1JVRkJUVEpDTEVkQlEyeEVMRWxCUVVsWUxFVkJTVW9zVDBGSVFXcENMRXRCUVV0cFJDeGpRVU5NYUVNc1JVRkJUeXhKUVVGSk5VTXNSVUZCWXpKQ0xFdEJRVTFETEVWQlFVMHlRaXhIUVVOeVF6VkNMRXRCUVV0SUxFOUJRVTlITEV0QlFVdEpMRTlCUVU5cFJDeFhRVUZYY0VNc1JVRkJUV3BDTEV0QlFVdEVMR05CUVdWRExFdEJRVXRWTEdGQlFXVXNSMEZCU1ZZc1MwRkJTMVVzWVVGQlpTeEhRVU5zUjFZc1RVRkhWRXdzUlVGQlkyOUNMRlZCUVZVd1JDeFJRVUZWTEZOQlFWTkRMRVZCUVdGRExFVkJRV1ZETEVWQlFXVkRMRVZCUVd0Q1F5eEhRVU4wUnl4SlFVRkpOMFFzUlVGSlNpeFBRVWhCYWtJc1MwRkJTMmxFTEdOQlEweG9ReXhGUVVGUExFbEJRVWszUXl4RlFVRmpORUlzUzBGQlRUQkZMRVZCUVdGRExFVkJRV1ZETEVWQlFXVkRMRVZCUVd0Q1F5eEhRVU0xUmpsRkxFdEJRVXRJTEU5QlFVOUhMRXRCUVV0SkxFOUJRVTh5UlN4WFFVRlhPVVFzUlVGQlRXcENMRXRCUVV0RUxHTkJRV1ZETEV0QlFVdFZMR0ZCUVdVc1IwRkJTVllzUzBGQlMxVXNZVUZCWlN4SFFVTnNSMVlzVFVGSFZFd3NSVUZCWTI5Q0xGVkJRVlZwUlN4UFFVRlRMRk5CUVZNdlJTeEZRVUZOTWtJc1IwRkRPVU1zU1VGQlNWZ3NSVUZKU2l4UFFVaEJha0lzUzBGQlMybEVMR05CUTB4b1F5eEZRVUZQTEVsQlFVa3pReXhGUVVGaE1FSXNUVUZCVFN4RlFVRlBReXhGUVVGTk1rSXNSMEZETTBNMVFpeExRVUZMU0N4UFFVRlBSeXhMUVVGTFNTeFBRVUZQTmtVc1ZVRkJWV2hGTEVWQlFVMXFRaXhMUVVGTFJDeGpRVUZsUXl4TFFVRkxWU3hoUVVGbExFZEJRVWxXTEV0QlFVdFZMR0ZCUVdVc1IwRkRha2RXTEUxQlIxUk1MRVZCUVdOdlFpeFZRVUZWYlVVc1VVRkJWU3hUUVVGVGFrWXNSVUZCVFRKQ0xFZEJReTlETEVsQlFVbFlMRVZCU1Vvc1QwRklRV3BDTEV0QlFVdHBSQ3hqUVVOTWFFTXNSVUZCVHl4SlFVRkpNME1zUlVGQllUQkNMRTFCUVUwc1JVRkJUVU1zUlVGQlRUSkNMRWRCUXpGRE5VSXNTMEZCUzBnc1QwRkJUMGNzUzBGQlMwa3NUMEZCVHpaRkxGVkJRVlZvUlN4RlFVRk5ha0lzUzBGQlMwUXNZMEZCWlVNc1MwRkJTMVVzWVVGQlpTeEhRVUZKVml4TFFVRkxWU3hoUVVGbExFZEJRMnBIVml4TlFVZFVUQ3hGUVVGamIwSXNWVUZCVlc5RkxGTkJRVmNzVTBGQlUyeEdMRVZCUVUweVFpeEhRVU5vUkN4SlFVRkpXQ3hGUVVsS0xFOUJTRUZxUWl4TFFVRkxhVVFzWTBGRFRHaERMRVZCUVU4c1NVRkJTVEZETEVWQlFXVjVRaXhMUVVGTlF5eEZRVUZOTWtJc1IwRkRkRU0xUWl4TFFVRkxTQ3hQUVVGUFJ5eExRVUZMU1N4UFFVRlBaMFlzV1VGQldXNUZMRVZCUVUxcVFpeExRVUZMUkN4alFVRmxReXhMUVVGTFZTeGhRVUZsTEVkQlFVbFdMRXRCUVV0VkxHRkJRV1VzUjBGRGJrZFdMRTFCUjFSTUxFVkJRV052UWl4VlFVRlZaME1zUjBGQlN5eFhRVU16UWl4SFFVRkpMME1zUzBGQlMxVXNZVUZCWlN4RlFVTjBRaXhOUVVGTkxFbEJRVWxwUXl4TlFVRk5MRzlEUVdOc1FpeFBRVnBKTTBNc1MwRkJTMU1zWVVGRFNGUXNTMEZCUzFNc1dVRkJXVzlETEZOQlEyNUNOME1zUzBGQlMzRkdMRlZCUVZWeVJpeExRVUZMVXl4aFFVVndRbFFzUzBGQlMzTkdMRk5CUVZOMFJpeExRVUZMVXl4aFFVVnlRbFFzUzBGQlMxTXNXVUZCWXl4TlFVVnVRbFFzUzBGQlMzRkdMRlZCUVZWeVJpeExRVUZMVnl4VFFVRlRXQ3hMUVVGTFZTeHpRa0ZGTjBKV0xFdEJRVXRYTEZOQlFWTllMRXRCUVV0VkxHTkJRekZDVml4TFFVRkxWU3hsUVVORlZpeE5RVWRVVEN4RlFVRmpiMElzVlVGQlZYZEZMRWxCUVUwc1YwRkROVUlzUzBGQlQzWkdMRXRCUVV0VkxHTkJRV2RDTEVkQlF6RkNWaXhMUVVGTEswTXNTMEZGVUN4UFFVRlBMME1zUzBGQlMwWXNVMEZIWkVnc1JVRkJZMjlDTEZWQlFWVnJReXhaUVVGakxGZEJRM0JETEVkQlFVbHFSQ3hMUVVGTFV5eFpRVVZRTEU5QlJFRlVMRXRCUVV0VExGbEJRVmx2UXl4VlFVRlhMRVZCUTNKQ04wTXNTMEZCUzNOR0xGTkJRVk4wUml4TFFVRkxVeXhqUVVrNVFtUXNSVUZCWTI5Q0xGVkJRVlYxUlN4VFFVRlhMRk5CUVZOeVJTeEhRVU14UXl4SlFVRkpReXhGUVVGTGMwVXNSVUZCVDNaR0xFVkJRVTExUWl4RlFVTjBRaXhKUVVGTFVDeEZRVUZMZDBVc1QwRkJVU3hEUVV0b1FpeEhRVXBMZWtZc1MwRkJTMk1zVFVGQk9FSXNTVUZCZEVKa0xFdEJRVXRWTEdOQlFYTkNUeXhGUVVGTFppeFBRVUZUYmtNc1JVRkJVMmRGTEZWQlEyeEZMMElzUzBGQlMyTXNTMEZCVDBjc1IwRkZaSFZGTEVWQlFWRXNSMEZEU25aRkxFVkJRVXRtTEU5QlFWTnVReXhGUVVGVFowVXNVVUZCVXl4RFFVbHNReXhKUVVGTE9VSXNTMEZJVEVRc1MwRkJTMFFzWTBGQll6SkdMRTFCUVZFeFNDeEZRVUZaTWtnc1VVRkRka05JTEVWQlFWRjRSaXhMUVVGTFNTeFBRVUZQZDBZc1QwRkJUek5GTEVWQlFVMXFRaXhMUVVGTFJDeGpRVUZsUXl4TFFVRkxWU3hqUVVGblFpeEpRVUZOVHl4RlFVRkxhRUlzUzBGRGNrWjFRaXhGUVVGUFVDeEZRVUZMWlN4UlFVVk1NVU1zUlVGQlVUSkRMRXRCUVV0VUxFVkJRVTEyUWl4TFFVTjRRbWxDTEVWQlFVMU5MRVZCUVV0MlFpeEhRVU5ZZFVZc1IwRkJVM2hHTEV0QlFVdEpMRTlCUVU5MVJDeFZRVUZWZWtNc1JVRkJTMnhDTEV0QlFVdEVMR05CUVdWRExFdEJRVXRWTEdWQlJTOUVPRVVzU1VGQlZYWkZMRVZCUVVzMFFpeFRRVUZYTEVsQlFVMHNUVUZCVVRkRExFdEJRVXRKTEU5QlFVOTVSaXhSUVVGUk5VVXNSVUZCVFdwQ0xFdEJRVXRFTEdOQlFXVkRMRXRCUVV0VkxHTkJRek5HVml4TFFVRkxSQ3hqUVVGak1rWXNUVUZCVVRGSUxFVkJRVms0U0N4bFFVVjJRemxHTEV0QlFVdEVMR05CUVdNeVJpeE5RVUZSTVVnc1JVRkJXVEpJTEZGQlEzWkRTQ3hGUVVGUmVFWXNTMEZCUzBrc1QwRkJUM2RHTEU5QlFVOHpSU3hGUVVGTmFrSXNTMEZCUzBRc1kwRkJaVU1zUzBGQlMxVXNZMEZCWjBJc1lVRkJaVThzUlVGQlMzVkVMR0ZCUXpGR2RrUXNSVUZCUzNGRUxFOUJRVk55UkN4RlFVRkxjMFFzVFVGRGNrSnBRaXhIUVVGVExGbEJRV04yUlN4RlFVRkxjVVFzVFVGQlVTeE5RVUZSY2tRc1JVRkJTM05FTEUxQlFWRXNTVUZEYUVSMFJDeEZRVUZMYzBRc1VVRkRaR2xDTEVkQlFWTXNXVUZCWTNaRkxFVkJRVXR6UkN4TlFVRlJMRXRCUld4RGRFUXNSVUZCU3pSQ0xGVkJRMUF5UXl4SFFVRlRMRXRCUTFSNFJpeExRVUZMUkN4alFVRmpNa1lzVFVGQlVURklMRVZCUVZrNFNDeFpRVVYyUXpsR0xFdEJRVXRFTEdOQlFXTXlSaXhOUVVGUk1VZ3NSVUZCV1N0SUxGTkJRM1pEVUN4SFFVRlRMRXRCUlZoQkxFZEJRVk40Uml4TFFVRkxTU3hQUVVGUGVVWXNVVUZCVVRWRkxFVkJRVTFxUWl4TFFVRkxSQ3hqUVVGbFF5eExRVUZMVlN4alFVYzVSQ3hQUVVSQlZpeExRVUZMU0N4UFFVRlBNa1lzUlVGQlQzaEdMRXRCUVV0VkxHTkJRMnBDVHl4RlFVRkxkMFVzVVVGQlV5eEpRVWw2UWpsR0xFVkJRV052UWl4VlFVRlZjMFVzVlVGQldTeFRRVUZUY0VVc1IwRkRNME1zU1VGQlNYVkZMRVZCUTBvc1NVRkJTM1pGTEVWQlFVc3JSU3hUUVZWU0xFOUJWRUZTTEVWQlFWRXNSMEZEVW5oR0xFdEJRVXRFTEdOQlFXTXlSaXhOUVVGUk1VZ3NSVUZCV1N0SUxGTkJSWEpEVUN4RlFVUkZka1VzUlVGQlMyWXNUMEZCVTI1RExFVkJRVk5uUlN4UlFVTnFRaTlDTEV0QlFVdEpMRTlCUVU5M1JpeFBRVUZQTTBVc1JVRkJUV3BDTEV0QlFVdEVMR05CUVdWRExFdEJRVXRWTEdOQlFXZENMRXRCUVU5UExFVkJRVXRvUWl4TFFVRlBMRWxCUVUxRUxFdEJRVXRKTEU5QlFVOTVSaXhSUVVGUk5VVXNSVUZCVFdwQ0xFdEJRVXRFTEdOQlFXVkRMRXRCUVV0VkxHTkJSVGxKVml4TFFVRkxTU3hQUVVGUGQwWXNUMEZCVHpORkxFVkJRVTFxUWl4TFFVRkxSQ3hqUVVGbFF5eExRVUZMVlN4alFVRm5RaXhMUVVGUFZpeExRVUZMU1N4UFFVRlBlVVlzVVVGQlVUVkZMRVZCUVUxcVFpeExRVUZMUkN4alFVRmxReXhMUVVGTFZTeGpRVVYwU1ZZc1MwRkJTMFFzWTBGQll6SkdMRTFCUVZFeFNDeEZRVUZaYVVrc1MwRkRka05xUnl4TFFVRkxTQ3hQUVVGUE1rWXNSVUZCVDNoR0xFdEJRVXRWTEdOQlEycENUeXhGUVVGTEswVXNWVUZCVnl4SFFVa3pRbkpITEVWQlFXTnZRaXhWUVVGVmJFSXNUMEZCVXl4VFFVRlRNa1lzUlVGQlQxVXNSMEZGTDBNc1QwRkVRV3hITEV0QlFVdFpMR2xDUVVGclFpeEZRVU5vUWxvc1MwRkJTMDhzWlVGQlpXbEdMRVZCUVU5VkxFVkJRVkVzU1VGSE5VTjJSeXhGUVVGamIwSXNWVUZCVldwQ0xFMUJRVkVzVjBGRk9VSXNUMEZFUVVVc1MwRkJTMkVzYlVKQlFXOUNMRVZCUTJ4Q1lpeExRVUZMVVN4cFFrRkhaR0lzUlVGQlkyOUNMRlZCUVZWcFF5eFZRVUZaTEZOQlFWTXZReXhIUVVNelF5eFBRVUZaTEUxQlFWSkJMRVZCUTBzc1IwRkZRU3hWUVVGWlFTeEZRVUZQTEV0QlNUbENUaXhGUVVGamIwSXNWVUZCVlc5R0xFbEJRVTBzVjBGRE5VSXNUMEZCVDI1SExFdEJRVXRyUkN4UlFVRlJTU3hOUVVGTmRFUXNTMEZCVFhWRUxGbEJSMnhETlVRc1JVRkJZMjlDTEZWQlFWVnhSaXhKUVVGTkxGTkJRVk51Unl4RlFVRk5iVUlzUlVGQldXMUNMRWRCUTNaRUxFOUJRVTkyUXl4TFFVRkxhVUlzUzBGQlMyaENMRVZCUVUxdFFpeEZRVUZaYlVJc1NVRkhja00xUXl4RlFVRmpiMElzVlVGQlZYTkdMRWxCUVUwc1UwRkJVM3BGTEVkQlEzSkRMRTlCUVU4MVFpeExRVUZMZFVNc1MwRkJTMWdzU1VGSGJrSnFReXhGUVVGamIwSXNWVUZCVlhWR0xFbEJRVTBzVTBGQlV6RkZMRWRCUTNKRExFOUJRVTgxUWl4TFFVRkxNa0lzVFVGQlRVTXNTVUZIY0VKcVF5eEZRVUZqYjBJc1ZVRkJWWGRHTEVsQlFVMHNVMEZCVXpORkxFZEJRM0pETEU5QlFVODFRaXhMUVVGTE9FSXNVVUZCVVVZc1NVRkhkRUpxUXl4RlFVRmpiMElzVlVGQlZYbEdMRWxCUVUwc1UwRkJVemxFTEVWQlFWRmtMRWRCUXpkRExFOUJRVTgxUWl4TFFVRkxlVU1zV1VGQldVTXNSVUZCVVdRc1NVRkhiRU5xUXl4RlFVRmpiMElzVlVGQlZUQkdMRWxCUVUwc1UwRkJVM1pETEVWQlFWTkRMRVZCUVZWRExFZEJRM2hFTEU5QlFVOXdSU3hMUVVGTGFVVXNXVUZCV1VNc1JVRkJVME1zUlVGQlZVTXNTVUZITjBONlJTeEZRVUZqYjBJc1ZVRkJWVEpHTEVsQlFVMHNVMEZCVXpWR0xFVkJRVTEzUkN4RlFVRlBReXhIUVVOc1JDeFBRVUZQZGtVc1MwRkJTM0ZGTEZGQlFWRjJSQ3hGUVVGTmQwUXNSVUZCVDBNc1NVRkhia00xUlN4RlFVRmpiMElzVlVGQlZUUkdMRVZCUVVrc1UwRkJVekZITEVWQlFVMXRRaXhGUVVGWmJVSXNSMEZEY2tRc1QwRkJUM1pETEV0QlFVdHJSQ3hSUVVGUmFrUXNSVUZCVFcxQ0xFVkJRVmx0UWl4SlFVZDRRelZETEVWQlFXTnZRaXhWUVVGVk5rWXNSVUZCU1N4VFFVRlRNMGNzUlVGQlRXMUNMRVZCUVZsdFFpeEhRVU55UkN4UFFVRlBka01zUzBGQlMybENMRXRCUVV0b1FpeEZRVUZOYlVJc1JVRkJXVzFDTEVsQlIzSkROVU1zUlVGQlkyOUNMRlZCUVZVNFJpeEZRVUZKTEZOQlFWTnFSaXhIUVVOdVF5eFBRVUZQTlVJc1MwRkJTM1ZETEV0QlFVdFlMRWxCUjI1Q2FrTXNSVUZCWTI5Q0xGVkJRVlVyUml4RlFVRkpMRk5CUVZOc1JpeEhRVU51UXl4UFFVRlBOVUlzUzBGQlN6SkNMRTFCUVUxRExFbEJSM0JDYWtNc1JVRkJZMjlDTEZWQlFWVm5SeXhGUVVGSkxGTkJRVk51Uml4SFFVTnVReXhQUVVGUE5VSXNTMEZCU3poQ0xGRkJRVkZHTEVsQlIzUkNha01zUlVGQlkyOUNMRlZCUVZWcFJ5eEZRVUZKTEZOQlFWTndSaXhIUVVOdVF5eFBRVUZQTlVJc1MwRkJTM0ZETEVsQlFVbFVMRWxCUjJ4Q2FrTXNSVUZCWTI5Q0xGVkJRVlZQTEVWQlFVa3NVMEZCVTI5Q0xFVkJRVkZrTEVkQlF6TkRMRTlCUVU4MVFpeExRVUZMZVVNc1dVRkJXVU1zUlVGQlVXUXNTVUZIYkVOcVF5eEZRVUZqYjBJc1ZVRkJWVWNzU1VGQlRTeFhRVU0xUWl4UFFVRkpiRUlzUzBGQlMxTXNZVUZCWlZRc1MwRkJTMU1zV1VGQldWQXNUMEZCVTI1RExFVkJRVk54Uml4UlFVTnNSSEJFTEV0QlFVdDVSU3hSUVVGUmJrSXNUVUZCVFhSRUxFdEJRVTExUkN4WFFVVjZRblpFTEV0QlFVc3lSQ3hWUVVGVlRDeE5RVUZOZEVRc1MwRkJUWFZFTEZsQlNYUkROVVFzUlVGQlkyOUNMRlZCUVZWclJ5eEZRVUZKTEZkQlF6RkNMRTlCUVVscVNDeExRVUZMVXl4aFFVRmxWQ3hMUVVGTFV5eFpRVUZaVUN4UFFVRlRia01zUlVGQlUzRkdMRkZCUTJ4RWNFUXNTMEZCUzNsRkxGRkJRVkZ1UWl4TlFVRk5kRVFzUzBGQlRYVkVMRmRCUlhwQ2RrUXNTMEZCU3pKRUxGVkJRVlZNTEUxQlFVMTBSQ3hMUVVGTmRVUXNXVUZKZEVNMVJDeEZRVUZqYjBJc1ZVRkJWVzFITEVsQlFVMHNVMEZCVTJwSUxFVkJRVTB5UWl4SFFVTXpReXhQUVVGUE5VSXNTMEZCUzJkR0xFOUJRVTh2UlN4RlFVRk5Na0lzU1VGSE0wSnFReXhGUVVGamIwSXNWVUZCVlc5SExFdEJRVThzVTBGQlUyeElMRVZCUVUweVFpeEhRVU0xUXl4UFFVRlBOVUlzUzBGQlMydEdMRkZCUVZGcVJpeEZRVUZOTWtJc1NVRkhOVUpxUXl4RlFVRmpiMElzVlVGQlZYRkhMRWxCUVUwc1UwRkJVMjVJTEVWQlFVMHlRaXhIUVVNelF5eFBRVUZQTlVJc1MwRkJTMjFHTEZOQlFWTnNSaXhGUVVGTk1rSXNTVUZIZEVKcVF5eEZRV2hsZDBJc1MwRnZaV2hEYzBNc1MwRkJTMnBESWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwzTjBZV2RwYm1jdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZlRzFzWW5WcGJHUmxjaTlzYVdJdldFMU1SRzlqZFcxbGJuUkRRaTVxY3lKOSIsIihmdW5jdGlvbigpe3ZhciB0LG8scj17fS5oYXNPd25Qcm9wZXJ0eTtvPXJlcXVpcmUoXCIuL1hNTE5vZGVcIiksdD1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihlKXtmdW5jdGlvbiBuKG8pe24uX19zdXBlcl9fLmNvbnN0cnVjdG9yLmNhbGwodGhpcyxvKSx0aGlzLnR5cGU9dC5EdW1teX1yZXR1cm4gZnVuY3Rpb24odCxvKXtmb3IodmFyIGUgaW4gbylyLmNhbGwobyxlKSYmKHRbZV09b1tlXSk7ZnVuY3Rpb24gbigpe3RoaXMuY29uc3RydWN0b3I9dH1uLnByb3RvdHlwZT1vLnByb3RvdHlwZSx0LnByb3RvdHlwZT1uZXcgbix0Ll9fc3VwZXJfXz1vLnByb3RvdHlwZX0obixvKSxuLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBPYmplY3QuY3JlYXRlKHRoaXMpfSxuLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbih0KXtyZXR1cm5cIlwifSxufSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URVIxYlcxNUxtcHpJbDBzSW01aGJXVnpJanBiSWs1dlpHVlVlWEJsSWl3aVdFMU1UbTlrWlNJc0ltaGhjMUJ5YjNBaUxDSm9ZWE5QZDI1UWNtOXdaWEowZVNJc0luSmxjWFZwY21VaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2ljM1Z3WlhKRGJHRnpjeUlzSWxoTlRFUjFiVzE1SWl3aWNHRnlaVzUwSWl3aVgxOXpkWEJsY2w5Zklpd2lZMjl1YzNSeWRXTjBiM0lpTENKallXeHNJaXdpZEdocGN5SXNJblI1Y0dVaUxDSkVkVzF0ZVNJc0ltTm9hV3hrSWl3aWEyVjVJaXdpWTNSdmNpSXNJbkJ5YjNSdmRIbHdaU0lzSW1WNGRHVnVaQ0lzSW1Oc2IyNWxJaXdpVDJKcVpXTjBJaXdpWTNKbFlYUmxJaXdpZEc5VGRISnBibWNpTENKdmNIUnBiMjV6SWwwc0ltMWhjSEJwYm1keklqb2lRMEZEUVN4WFFVTkZMRWxCUVVsQkxFVkJRVzlDUXl4RlFVVjBRa01zUlVGQlZTeEhRVUZIUXl4bFFVVm1SaXhGUVVGVlJ5eFJRVUZSTEdGQlJXeENTaXhGUVVGWFNTeFJRVUZSTEdOQlJXNUNReXhQUVVGUFF5eFJRVUZ4UWl4VFFVRlZReXhIUVVkd1F5eFRRVUZUUXl4RlFVRlRReXhIUVVOb1FrUXNSVUZCVTBVc1ZVRkJWVU1zV1VGQldVTXNTMEZCUzBNc1MwRkJUVW9zUjBGRE1VTkpMRXRCUVV0RExFdEJRVTlrTEVWQlFWTmxMRTFCVjNaQ0xFOUJka0pUTEZOQlFWTkRMRVZCUVU5UUxFZEJRVlVzU1VGQlN5eEpRVUZKVVN4TFFVRlBVaXhGUVVGalVDeEZRVUZSVlN4TFFVRkxTQ3hGUVVGUlVTeExRVUZOUkN4RlFVRk5ReXhIUVVGUFVpeEZRVUZQVVN4SlFVRlJMRk5CUVZORExFbEJRVk5NTEV0QlFVdEdMRmxCUVdOTExFVkJRVk5GTEVWQlFVdERMRlZCUVZsV0xFVkJRVTlWTEZWQlFWZElMRVZCUVUxSExGVkJRVmtzU1VGQlNVUXNSVUZCVVVZc1JVRkJUVTRzVlVGQldVUXNSVUZCVDFVc1ZVRlJhRkZETEVOQlFVOWFMRVZCYVVKT1VDeEhRVlpFVHl4RlFVRlRWeXhWUVVGVlJTeE5RVUZSTEZkQlEzcENMRTlCUVU5RExFOUJRVTlETEU5QlFVOVdMRTlCUjNaQ1RDeEZRVUZUVnl4VlFVRlZTeXhUUVVGWExGTkJRVk5ETEVkQlEzSkRMRTFCUVU4c1NVRkhSbXBDTEVWQmFFSnRRaXhMUVc5Q00wSkpMRXRCUVV0RElpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMM04wWVdkcGJtY3ZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12ZUcxc1luVnBiR1JsY2k5c2FXSXZXRTFNUkhWdGJYa3Vhbk1pZlE9PSIsIihmdW5jdGlvbigpe3ZhciB0LGUscixvLGksbixzLGgsdT17fS5oYXNPd25Qcm9wZXJ0eTtoPXJlcXVpcmUoXCIuL1V0aWxpdHlcIikscz1oLmlzT2JqZWN0LG49aC5pc0Z1bmN0aW9uLGk9aC5nZXRWYWx1ZSxvPXJlcXVpcmUoXCIuL1hNTE5vZGVcIiksdD1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxlPXJlcXVpcmUoXCIuL1hNTEF0dHJpYnV0ZVwiKSxyPXJlcXVpcmUoXCIuL1hNTE5hbWVkTm9kZU1hcFwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihoKXtmdW5jdGlvbiBwKGUscixvKXt2YXIgaSxuLHMsaDtpZihwLl9fc3VwZXJfXy5jb25zdHJ1Y3Rvci5jYWxsKHRoaXMsZSksbnVsbD09cil0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIGVsZW1lbnQgbmFtZS4gXCIrdGhpcy5kZWJ1Z0luZm8oKSk7aWYodGhpcy5uYW1lPXRoaXMuc3RyaW5naWZ5Lm5hbWUociksdGhpcy50eXBlPXQuRWxlbWVudCx0aGlzLmF0dHJpYnM9e30sdGhpcy5zY2hlbWFUeXBlSW5mbz1udWxsLG51bGwhPW8mJnRoaXMuYXR0cmlidXRlKG8pLGUudHlwZT09PXQuRG9jdW1lbnQmJih0aGlzLmlzUm9vdD0hMCx0aGlzLmRvY3VtZW50T2JqZWN0PWUsZS5yb290T2JqZWN0PXRoaXMsZS5jaGlsZHJlbikpZm9yKG49MCxzPShoPWUuY2hpbGRyZW4pLmxlbmd0aDtuPHM7bisrKWlmKChpPWhbbl0pLnR5cGU9PT10LkRvY1R5cGUpe2kubmFtZT10aGlzLm5hbWU7YnJlYWt9fXJldHVybiBmdW5jdGlvbih0LGUpe2Zvcih2YXIgciBpbiBlKXUuY2FsbChlLHIpJiYodFtyXT1lW3JdKTtmdW5jdGlvbiBvKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fW8ucHJvdG90eXBlPWUucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyBvLHQuX19zdXBlcl9fPWUucHJvdG90eXBlfShwLG8pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwLnByb3RvdHlwZSxcInRhZ05hbWVcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubmFtZX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkocC5wcm90b3R5cGUsXCJuYW1lc3BhY2VVUklcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuXCJcIn19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkocC5wcm90b3R5cGUsXCJwcmVmaXhcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuXCJcIn19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkocC5wcm90b3R5cGUsXCJsb2NhbE5hbWVcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubmFtZX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkocC5wcm90b3R5cGUsXCJpZFwiLHtnZXQ6ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwLnByb3RvdHlwZSxcImNsYXNzTmFtZVwiLHtnZXQ6ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwLnByb3RvdHlwZSxcImNsYXNzTGlzdFwiLHtnZXQ6ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwLnByb3RvdHlwZSxcImF0dHJpYnV0ZXNcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXR0cmlidXRlTWFwJiZ0aGlzLmF0dHJpYnV0ZU1hcC5ub2Rlc3x8KHRoaXMuYXR0cmlidXRlTWFwPW5ldyByKHRoaXMuYXR0cmlicykpLHRoaXMuYXR0cmlidXRlTWFwfX0pLHAucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7dmFyIHQsZSxyLG87Zm9yKGUgaW4ocj1PYmplY3QuY3JlYXRlKHRoaXMpKS5pc1Jvb3QmJihyLmRvY3VtZW50T2JqZWN0PW51bGwpLHIuYXR0cmlicz17fSxvPXRoaXMuYXR0cmlicyl1LmNhbGwobyxlKSYmKHQ9b1tlXSxyLmF0dHJpYnNbZV09dC5jbG9uZSgpKTtyZXR1cm4gci5jaGlsZHJlbj1bXSx0aGlzLmNoaWxkcmVuLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU7cmV0dXJuKGU9dC5jbG9uZSgpKS5wYXJlbnQ9cixyLmNoaWxkcmVuLnB1c2goZSl9KSxyfSxwLnByb3RvdHlwZS5hdHRyaWJ1dGU9ZnVuY3Rpb24odCxyKXt2YXIgbyxoO2lmKG51bGwhPXQmJih0PWkodCkpLHModCkpZm9yKG8gaW4gdCl1LmNhbGwodCxvKSYmKGg9dFtvXSx0aGlzLmF0dHJpYnV0ZShvLGgpKTtlbHNlIG4ocikmJihyPXIuYXBwbHkoKSksdGhpcy5vcHRpb25zLmtlZXBOdWxsQXR0cmlidXRlcyYmbnVsbD09cj90aGlzLmF0dHJpYnNbdF09bmV3IGUodGhpcyx0LFwiXCIpOm51bGwhPXImJih0aGlzLmF0dHJpYnNbdF09bmV3IGUodGhpcyx0LHIpKTtyZXR1cm4gdGhpc30scC5wcm90b3R5cGUucmVtb3ZlQXR0cmlidXRlPWZ1bmN0aW9uKHQpe3ZhciBlLHIsbztpZihudWxsPT10KXRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgYXR0cmlidXRlIG5hbWUuIFwiK3RoaXMuZGVidWdJbmZvKCkpO2lmKHQ9aSh0KSxBcnJheS5pc0FycmF5KHQpKWZvcihyPTAsbz10Lmxlbmd0aDtyPG87cisrKWU9dFtyXSxkZWxldGUgdGhpcy5hdHRyaWJzW2VdO2Vsc2UgZGVsZXRlIHRoaXMuYXR0cmlic1t0XTtyZXR1cm4gdGhpc30scC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy53cml0ZXIuZWxlbWVudCh0aGlzLHRoaXMub3B0aW9ucy53cml0ZXIuZmlsdGVyT3B0aW9ucyh0KSl9LHAucHJvdG90eXBlLmF0dD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmF0dHJpYnV0ZSh0LGUpfSxwLnByb3RvdHlwZS5hPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuYXR0cmlidXRlKHQsZSl9LHAucHJvdG90eXBlLmdldEF0dHJpYnV0ZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5hdHRyaWJzLmhhc093blByb3BlcnR5KHQpP3RoaXMuYXR0cmlic1t0XS52YWx1ZTpudWxsfSxwLnByb3RvdHlwZS5zZXRBdHRyaWJ1dGU9ZnVuY3Rpb24odCxlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxwLnByb3RvdHlwZS5nZXRBdHRyaWJ1dGVOb2RlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmF0dHJpYnMuaGFzT3duUHJvcGVydHkodCk/dGhpcy5hdHRyaWJzW3RdOm51bGx9LHAucHJvdG90eXBlLnNldEF0dHJpYnV0ZU5vZGU9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0scC5wcm90b3R5cGUucmVtb3ZlQXR0cmlidXRlTm9kZT1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxwLnByb3RvdHlwZS5nZXRFbGVtZW50c0J5VGFnTmFtZT1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxwLnByb3RvdHlwZS5nZXRBdHRyaWJ1dGVOUz1mdW5jdGlvbih0LGUpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHAucHJvdG90eXBlLnNldEF0dHJpYnV0ZU5TPWZ1bmN0aW9uKHQsZSxyKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxwLnByb3RvdHlwZS5yZW1vdmVBdHRyaWJ1dGVOUz1mdW5jdGlvbih0LGUpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHAucHJvdG90eXBlLmdldEF0dHJpYnV0ZU5vZGVOUz1mdW5jdGlvbih0LGUpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHAucHJvdG90eXBlLnNldEF0dHJpYnV0ZU5vZGVOUz1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxwLnByb3RvdHlwZS5nZXRFbGVtZW50c0J5VGFnTmFtZU5TPWZ1bmN0aW9uKHQsZSl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0scC5wcm90b3R5cGUuaGFzQXR0cmlidXRlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmF0dHJpYnMuaGFzT3duUHJvcGVydHkodCl9LHAucHJvdG90eXBlLmhhc0F0dHJpYnV0ZU5TPWZ1bmN0aW9uKHQsZSl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0scC5wcm90b3R5cGUuc2V0SWRBdHRyaWJ1dGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5hdHRyaWJzLmhhc093blByb3BlcnR5KHQpP3RoaXMuYXR0cmlic1t0XS5pc0lkOmV9LHAucHJvdG90eXBlLnNldElkQXR0cmlidXRlTlM9ZnVuY3Rpb24odCxlLHIpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHAucHJvdG90eXBlLnNldElkQXR0cmlidXRlTm9kZT1mdW5jdGlvbih0LGUpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHAucHJvdG90eXBlLmdldEVsZW1lbnRzQnlUYWdOYW1lPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHAucHJvdG90eXBlLmdldEVsZW1lbnRzQnlUYWdOYW1lTlM9ZnVuY3Rpb24odCxlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxwLnByb3RvdHlwZS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHAucHJvdG90eXBlLmlzRXF1YWxOb2RlPWZ1bmN0aW9uKHQpe3ZhciBlLHIsbztpZighcC5fX3N1cGVyX18uaXNFcXVhbE5vZGUuYXBwbHkodGhpcyxhcmd1bWVudHMpLmlzRXF1YWxOb2RlKHQpKXJldHVybiExO2lmKHQubmFtZXNwYWNlVVJJIT09dGhpcy5uYW1lc3BhY2VVUkkpcmV0dXJuITE7aWYodC5wcmVmaXghPT10aGlzLnByZWZpeClyZXR1cm4hMTtpZih0LmxvY2FsTmFtZSE9PXRoaXMubG9jYWxOYW1lKXJldHVybiExO2lmKHQuYXR0cmlicy5sZW5ndGghPT10aGlzLmF0dHJpYnMubGVuZ3RoKXJldHVybiExO2ZvcihlPXI9MCxvPXRoaXMuYXR0cmlicy5sZW5ndGgtMTswPD1vP3I8PW86cj49bztlPTA8PW8/KytyOi0tcilpZighdGhpcy5hdHRyaWJzW2VdLmlzRXF1YWxOb2RlKHQuYXR0cmlic1tlXSkpcmV0dXJuITE7cmV0dXJuITB9LHB9KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRFVnNaVzFsYm5RdWFuTWlYU3dpYm1GdFpYTWlPbHNpVG05a1pWUjVjR1VpTENKWVRVeEJkSFJ5YVdKMWRHVWlMQ0pZVFV4T1lXMWxaRTV2WkdWTllYQWlMQ0pZVFV4T2IyUmxJaXdpWjJWMFZtRnNkV1VpTENKcGMwWjFibU4wYVc5dUlpd2lhWE5QWW1wbFkzUWlMQ0p5WldZaUxDSm9ZWE5RY205d0lpd2lhR0Z6VDNkdVVISnZjR1Z5ZEhraUxDSnlaWEYxYVhKbElpd2liVzlrZFd4bElpd2laWGh3YjNKMGN5SXNJbk4xY0dWeVEyeGhjM01pTENKWVRVeEZiR1Z0Wlc1MElpd2ljR0Z5Wlc1MElpd2libUZ0WlNJc0ltRjBkSEpwWW5WMFpYTWlMQ0pqYUdsc1pDSXNJbW9pTENKc1pXNGlMQ0p5WldZeElpd2lYMTl6ZFhCbGNsOWZJaXdpWTI5dWMzUnlkV04wYjNJaUxDSmpZV3hzSWl3aWRHaHBjeUlzSWtWeWNtOXlJaXdpWkdWaWRXZEpibVp2SWl3aWMzUnlhVzVuYVdaNUlpd2lkSGx3WlNJc0lrVnNaVzFsYm5RaUxDSmhkSFJ5YVdKeklpd2ljMk5vWlcxaFZIbHdaVWx1Wm04aUxDSmhkSFJ5YVdKMWRHVWlMQ0pFYjJOMWJXVnVkQ0lzSW1selVtOXZkQ0lzSW1SdlkzVnRaVzUwVDJKcVpXTjBJaXdpY205dmRFOWlhbVZqZENJc0ltTm9hV3hrY21WdUlpd2liR1Z1WjNSb0lpd2lSRzlqVkhsd1pTSXNJbXRsZVNJc0ltTjBiM0lpTENKd2NtOTBiM1I1Y0dVaUxDSmxlSFJsYm1RaUxDSlBZbXBsWTNRaUxDSmtaV1pwYm1WUWNtOXdaWEowZVNJc0ltZGxkQ0lzSW1GMGRISnBZblYwWlUxaGNDSXNJbTV2WkdWeklpd2lZMnh2Ym1VaUxDSmhkSFFpTENKaGRIUk9ZVzFsSWl3aVkyeHZibVZrVTJWc1ppSXNJbU55WldGMFpTSXNJbVp2Y2tWaFkyZ2lMQ0pqYkc5dVpXUkRhR2xzWkNJc0luQjFjMmdpTENKMllXeDFaU0lzSW1GMGRGWmhiSFZsSWl3aVlYQndiSGtpTENKdmNIUnBiMjV6SWl3aWEyVmxjRTUxYkd4QmRIUnlhV0oxZEdWeklpd2ljbVZ0YjNabFFYUjBjbWxpZFhSbElpd2lRWEp5WVhraUxDSnBjMEZ5Y21GNUlpd2lkRzlUZEhKcGJtY2lMQ0ozY21sMFpYSWlMQ0psYkdWdFpXNTBJaXdpWm1sc2RHVnlUM0IwYVc5dWN5SXNJbUVpTENKblpYUkJkSFJ5YVdKMWRHVWlMQ0p6WlhSQmRIUnlhV0oxZEdVaUxDSm5aWFJCZEhSeWFXSjFkR1ZPYjJSbElpd2ljMlYwUVhSMGNtbGlkWFJsVG05a1pTSXNJbTVsZDBGMGRISWlMQ0p5WlcxdmRtVkJkSFJ5YVdKMWRHVk9iMlJsSWl3aWIyeGtRWFIwY2lJc0ltZGxkRVZzWlcxbGJuUnpRbmxVWVdkT1lXMWxJaXdpWjJWMFFYUjBjbWxpZFhSbFRsTWlMQ0p1WVcxbGMzQmhZMlZWVWtraUxDSnNiMk5oYkU1aGJXVWlMQ0p6WlhSQmRIUnlhV0oxZEdWT1V5SXNJbkYxWVd4cFptbGxaRTVoYldVaUxDSnlaVzF2ZG1WQmRIUnlhV0oxZEdWT1V5SXNJbWRsZEVGMGRISnBZblYwWlU1dlpHVk9VeUlzSW5ObGRFRjBkSEpwWW5WMFpVNXZaR1ZPVXlJc0ltZGxkRVZzWlcxbGJuUnpRbmxVWVdkT1lXMWxUbE1pTENKb1lYTkJkSFJ5YVdKMWRHVWlMQ0pvWVhOQmRIUnlhV0oxZEdWT1V5SXNJbk5sZEVsa1FYUjBjbWxpZFhSbElpd2lhWE5KWkNJc0luTmxkRWxrUVhSMGNtbGlkWFJsVGxNaUxDSnpaWFJKWkVGMGRISnBZblYwWlU1dlpHVWlMQ0pwWkVGMGRISWlMQ0owWVdkdVlXMWxJaXdpWjJWMFJXeGxiV1Z1ZEhOQ2VVTnNZWE56VG1GdFpTSXNJbU5zWVhOelRtRnRaWE1pTENKcGMwVnhkV0ZzVG05a1pTSXNJbTV2WkdVaUxDSnBJaXdpWVhKbmRXMWxiblJ6SWl3aWNISmxabWw0SWwwc0ltMWhjSEJwYm1keklqb2lRMEZEUVN4WFFVTkZMRWxCUVVsQkxFVkJRVlZETEVWQlFUQkNReXhGUVVGcFFrTXNSVUZCVTBNc1JVRkJWVU1zUlVGQldVTXNSVUZCVlVNc1JVRkZhRWRETEVWQlFWVXNSMEZCUjBNc1pVRkZaa1lzUlVGQlRVY3NVVUZCVVN4aFFVRmpTaXhGUVVGWFF5eEZRVUZKUkN4VFFVRlZSQ3hGUVVGaFJTeEZRVUZKUml4WFFVRlpSQ3hGUVVGWFJ5eEZRVUZKU0N4VFFVVnFSMFFzUlVGQlZVOHNVVUZCVVN4aFFVVnNRbFlzUlVGQlYxVXNVVUZCVVN4alFVVnVRbFFzUlVGQlpWTXNVVUZCVVN4clFrRkZka0pTTEVWQlFXdENVU3hSUVVGUkxIRkNRVVV4UWtNc1QwRkJUME1zVVVGQmRVSXNVMEZCVlVNc1IwRkhkRU1zVTBGQlUwTXNSVUZCVjBNc1JVRkJVVU1zUlVGQlRVTXNSMEZEYUVNc1NVRkJTVU1zUlVGQlQwTXNSVUZCUjBNc1JVRkJTME1zUlVGRmJrSXNSMEZFUVZBc1JVRkJWMUVzVlVGQlZVTXNXVUZCV1VNc1MwRkJTME1zUzBGQlRWWXNSMEZEYUVNc1RVRkJVa01zUlVGRFJpeE5RVUZOTEVsQlFVbFZMRTFCUVUwc2VVSkJRVEpDUkN4TFFVRkxSU3hoUVZOc1JDeEhRVkJCUml4TFFVRkxWQ3hMUVVGUFV5eExRVUZMUnl4VlFVRlZXaXhMUVVGTFFTeEhRVU5vUTFNc1MwRkJTMGtzUzBGQlR6ZENMRVZCUVZNNFFpeFJRVU55UWt3c1MwRkJTMDBzVVVGQlZTeEhRVU5tVGl4TFFVRkxUeXhsUVVGcFFpeExRVU5LTEUxQlFXUm1MRWRCUTBaUkxFdEJRVXRSTEZWQlFWVm9RaXhIUVVWaVJpeEZRVUZQWXl4UFFVRlROMElzUlVGQlUydERMRmRCUXpOQ1ZDeExRVUZMVlN4UlFVRlRMRVZCUTJSV0xFdEJRVXRYTEdWQlFXbENja0lzUlVGRGRFSkJMRVZCUVU5elFpeFhRVUZoV2l4TFFVTm9RbFlzUlVGQlQzVkNMRlZCUlZRc1NVRkJTMjVDTEVWQlFVa3NSVUZCUjBNc1IwRkVXa01zUlVGQlQwNHNSVUZCVDNWQ0xGVkJRMU5ETEU5QlFWRndRaXhGUVVGSlF5eEZRVUZMUkN4SlFVVjBReXhKUVVSQlJDeEZRVUZSUnl4RlFVRkxSaXhKUVVOSVZTeFBRVUZUTjBJc1JVRkJVM2RETEZGQlFWTXNRMEZEYmtOMFFpeEZRVUZOUml4TFFVRlBVeXhMUVVGTFZDeExRVU5zUWl4UFFUSlFWaXhQUVd4VFV5eFRRVUZUUlN4RlFVRlBTQ3hIUVVGVkxFbEJRVXNzU1VGQlNUQkNMRXRCUVU4eFFpeEZRVUZqVUN4RlFVRlJaMElzUzBGQlMxUXNSVUZCVVRCQ0xFdEJRVTEyUWl4RlFVRk5kVUlzUjBGQlR6RkNMRVZCUVU4d1FpeEpRVUZSTEZOQlFWTkRMRWxCUVZOcVFpeExRVUZMUml4WlFVRmpUQ3hGUVVGVGQwSXNSVUZCUzBNc1ZVRkJXVFZDTEVWQlFVODBRaXhWUVVGWGVrSXNSVUZCVFhsQ0xGVkJRVmtzU1VGQlNVUXNSVUZCVVhoQ0xFVkJRVTFKTEZWQlFWbFFMRVZCUVU4MFFpeFZRV05vVVVNc1EwRkJUemxDTEVWQmMxSk9XQ3hIUVhSUVJEQkRMRTlCUVU5RExHVkJRV1ZvUXl4RlFVRlhOa0lzVlVGQlZ5eFZRVUZYTEVOQlEzSkVTU3hKUVVGTExGZEJRMGdzVDBGQlQzUkNMRXRCUVV0VUxGRkJTV2hDTmtJc1QwRkJUME1zWlVGQlpXaERMRVZCUVZjMlFpeFZRVUZYTEdWQlFXZENMRU5CUXpGRVNTeEpRVUZMTEZkQlEwZ3NUVUZCVHl4TlFVbFlSaXhQUVVGUFF5eGxRVUZsYUVNc1JVRkJWelpDTEZWQlFWY3NVMEZCVlN4RFFVTndSRWtzU1VGQlN5eFhRVU5JTEUxQlFVOHNUVUZKV0VZc1QwRkJUME1zWlVGQlpXaERMRVZCUVZjMlFpeFZRVUZYTEZsQlFXRXNRMEZEZGtSSkxFbEJRVXNzVjBGRFNDeFBRVUZQZEVJc1MwRkJTMVFzVVVGSmFFSTJRaXhQUVVGUFF5eGxRVUZsYUVNc1JVRkJWelpDTEZWQlFWY3NTMEZCVFN4RFFVTm9SRWtzU1VGQlN5eFhRVU5JTEUxQlFVMHNTVUZCU1hKQ0xFMUJRVTBzYzBOQlFYZERSQ3hMUVVGTFJTeG5Ra0ZKYWtWclFpeFBRVUZQUXl4bFFVRmxhRU1zUlVGQlZ6WkNMRlZCUVZjc1dVRkJZU3hEUVVOMlJFa3NTVUZCU3l4WFFVTklMRTFCUVUwc1NVRkJTWEpDTEUxQlFVMHNjME5CUVhkRFJDeExRVUZMUlN4blFrRkpha1ZyUWl4UFFVRlBReXhsUVVGbGFFTXNSVUZCVnpaQ0xGVkJRVmNzV1VGQllTeERRVU4yUkVrc1NVRkJTeXhYUVVOSUxFMUJRVTBzU1VGQlNYSkNMRTFCUVUwc2MwTkJRWGREUkN4TFFVRkxSU3huUWtGSmFrVnJRaXhQUVVGUFF5eGxRVUZsYUVNc1JVRkJWelpDTEZWQlFWY3NZVUZCWXl4RFFVTjRSRWtzU1VGQlN5eFhRVWxJTEU5QlNFdDBRaXhMUVVGTGRVSXNZMEZCYVVKMlFpeExRVUZMZFVJc1lVRkJZVU1zVVVGRE0wTjRRaXhMUVVGTGRVSXNZVUZCWlN4SlFVRkpPVU1zUlVGQlowSjFRaXhMUVVGTFRTeFZRVVY0UTA0c1MwRkJTM1ZDTEdkQ1FVbG9RbXhETEVWQlFWYzJRaXhWUVVGVlR5eE5RVUZSTEZkQlF6TkNMRWxCUVVsRExFVkJRVXRETEVWQlFWTkRMRVZCUVZsb1F5eEZRVTg1UWl4SlFVRkxLMElzUzBGT1RFTXNSVUZCWVZJc1QwRkJUMU1zVDBGQlR6ZENMRTlCUTFwVkxGTkJRMkpyUWl4RlFVRlhha0lzWlVGQmFVSXNUVUZGT1VKcFFpeEZRVUZYZEVJc1VVRkJWU3hIUVVOeVFsWXNSVUZCVDBrc1MwRkJTMDBzVVVGRlRIWkNMRVZCUVZGblFpeExRVUZMU0N4RlFVRk5LMElzUzBGRGVFSkVMRVZCUVUwNVFpeEZRVUZMSzBJc1IwRkRXRU1zUlVGQlYzUkNMRkZCUVZGeFFpeEhRVUZYUkN4RlFVRkpSQ3hUUVZOd1F5eFBRVkJCUnl4RlFVRlhaaXhUUVVGWExFZEJRM1JDWWl4TFFVRkxZU3hUUVVGVGFVSXNVVUZCVVN4VFFVRlRja01zUjBGRE4wSXNTVUZCU1hORExFVkJSMG9zVDBGR1FVRXNSVUZCWTNSRExFVkJRVTFuUXl4VFFVTlNia01zVDBGQlUzTkRMRVZCUTJSQkxFVkJRVmRtTEZOQlFWTnRRaXhMUVVGTFJDeExRVVV6UWtnc1IwRkhWSFpETEVWQlFWYzJRaXhWUVVGVlZpeFZRVUZaTEZOQlFWTnFRaXhGUVVGTk1FTXNSMEZET1VNc1NVRkJTVTRzUlVGQlUwOHNSVUZKWWl4SFFVaFpMRTFCUVZJelF5eEpRVU5HUVN4RlFVRlBXaXhGUVVGVFdTeEpRVVZrVml4RlFVRlRWU3hIUVVOWUxFbEJRVXR2UXl4TFFVRlhjRU1zUlVGRFZGSXNSVUZCVVdkQ0xFdEJRVXRTTEVWQlFVMXZReXhMUVVONFFrOHNSVUZCVnpORExFVkJRVXR2UXl4SFFVTm9Rak5DTEV0QlFVdFJMRlZCUVZWdFFpeEZRVUZUVHl4VFFVZDBRblJFTEVWQlFWZHhSQ3hMUVVOaVFTeEZRVUZSUVN4RlFVRk5SU3hUUVVWYWJrTXNTMEZCUzI5RExGRkJRVkZETEc5Q1FVRm5ReXhOUVVGVVNpeEZRVU4wUTJwRExFdEJRVXROTEZGQlFWRm1MRWRCUVZFc1NVRkJTV1lzUlVGQllYZENMRXRCUVUxVUxFVkJRVTBzU1VGRGFFTXNUVUZCVkRCRExFbEJRMVJxUXl4TFFVRkxUU3hSUVVGUlppeEhRVUZSTEVsQlFVbG1MRVZCUVdGM1FpeExRVUZOVkN4RlFVRk5NRU1zU1VGSGRFUXNUMEZCVDJwRExFMUJSMVJZTEVWQlFWYzJRaXhWUVVGVmIwSXNaMEpCUVd0Q0xGTkJRVk12UXl4SFFVTTVReXhKUVVGSmIwTXNSVUZCVTJwRExFVkJRVWRETEVWQlEyaENMRWRCUVZrc1RVRkJVa29zUlVGRFJpeE5RVUZOTEVsQlFVbFZMRTFCUVUwc01rSkJRVFpDUkN4TFFVRkxSU3hoUVVkd1JDeEhRVVJCV0N4RlFVRlBXaXhGUVVGVFdTeEhRVU5hWjBRc1RVRkJUVU1zVVVGQlVXcEVMRWRCUTJoQ0xFbEJRVXRITEVWQlFVa3NSVUZCUjBNc1JVRkJUVW9zUlVGQlMzVkNMRTlCUVZGd1FpeEZRVUZKUXl4RlFVRkxSQ3hKUVVOMFEybERMRVZCUVZWd1F5eEZRVUZMUnl4VlFVTlNUU3hMUVVGTFRTeFJRVUZSY1VJc1pVRkhaak5DTEV0QlFVdE5MRkZCUVZGbUxFZEJSWFJDTEU5QlFVOVRMRTFCUjFSWUxFVkJRVmMyUWl4VlFVRlZkVUlzVTBGQlZ5eFRRVUZUVEN4SFFVTjJReXhQUVVGUGNFTXNTMEZCUzI5RExGRkJRVkZOTEU5QlFVOURMRkZCUVZFelF5eExRVUZOUVN4TFFVRkxiME1zVVVGQlVVMHNUMEZCVDBVc1kwRkJZMUlzUzBGSE4wVXZReXhGUVVGWE5rSXNWVUZCVlZFc1NVRkJUU3hUUVVGVGJrTXNSVUZCVFRCRExFZEJRM2hETEU5QlFVOXFReXhMUVVGTFVTeFZRVUZWYWtJc1JVRkJUVEJETEVsQlJ6bENOVU1zUlVGQlZ6WkNMRlZCUVZVeVFpeEZRVUZKTEZOQlFWTjBSQ3hGUVVGTk1FTXNSMEZEZEVNc1QwRkJUMnBETEV0QlFVdFJMRlZCUVZWcVFpeEZRVUZOTUVNc1NVRkhPVUkxUXl4RlFVRlhOa0lzVlVGQlZUUkNMR0ZCUVdVc1UwRkJVM1pFTEVkQlF6TkRMRTlCUVVsVExFdEJRVXROTEZGQlFWRjBRaXhsUVVGbFR5eEhRVU4yUWxNc1MwRkJTMDBzVVVGQlVXWXNSMEZCVFRCRExFMUJSVzVDTEUxQlNWZzFReXhGUVVGWE5rSXNWVUZCVlRaQ0xHRkJRV1VzVTBGQlUzaEVMRVZCUVUwd1F5eEhRVU5xUkN4TlFVRk5MRWxCUVVsb1F5eE5RVUZOTEhORFFVRjNRMFFzUzBGQlMwVXNZMEZITDBSaUxFVkJRVmMyUWl4VlFVRlZPRUlzYVVKQlFXMUNMRk5CUVZONlJDeEhRVU12UXl4UFFVRkpVeXhMUVVGTFRTeFJRVUZSZEVJc1pVRkJaVThzUjBGRGRrSlRMRXRCUVV0TkxGRkJRVkZtTEVkQlJXSXNUVUZKV0VZc1JVRkJWelpDTEZWQlFWVXJRaXhwUWtGQmJVSXNVMEZCVTBNc1IwRkRMME1zVFVGQlRTeEpRVUZKYWtRc1RVRkJUU3h6UTBGQmQwTkVMRXRCUVV0RkxHTkJSeTlFWWl4RlFVRlhOa0lzVlVGQlZXbERMRzlDUVVGelFpeFRRVUZUUXl4SFFVTnNSQ3hOUVVGTkxFbEJRVWx1UkN4TlFVRk5MSE5EUVVGM1EwUXNTMEZCUzBVc1kwRkhMMFJpTEVWQlFWYzJRaXhWUVVGVmJVTXNjVUpCUVhWQ0xGTkJRVk01UkN4SFFVTnVSQ3hOUVVGTkxFbEJRVWxWTEUxQlFVMHNjME5CUVhkRFJDeExRVUZMUlN4alFVY3ZSR0lzUlVGQlZ6WkNMRlZCUVZWdlF5eGxRVUZwUWl4VFFVRlRReXhGUVVGalF5eEhRVU16UkN4TlFVRk5MRWxCUVVsMlJDeE5RVUZOTEhORFFVRjNRMFFzUzBGQlMwVXNZMEZITDBSaUxFVkJRVmMyUWl4VlFVRlZkVU1zWlVGQmFVSXNVMEZCVTBZc1JVRkJZMGNzUlVGQlpYcENMRWRCUXpGRkxFMUJRVTBzU1VGQlNXaERMRTFCUVUwc2MwTkJRWGREUkN4TFFVRkxSU3hqUVVjdlJHSXNSVUZCVnpaQ0xGVkJRVlY1UXl4clFrRkJiMElzVTBGQlUwb3NSVUZCWTBNc1IwRkRPVVFzVFVGQlRTeEpRVUZKZGtRc1RVRkJUU3h6UTBGQmQwTkVMRXRCUVV0RkxHTkJSeTlFWWl4RlFVRlhOa0lzVlVGQlZUQkRMRzFDUVVGeFFpeFRRVUZUVEN4RlFVRmpReXhIUVVNdlJDeE5RVUZOTEVsQlFVbDJSQ3hOUVVGTkxITkRRVUYzUTBRc1MwRkJTMFVzWTBGSEwwUmlMRVZCUVZjMlFpeFZRVUZWTWtNc2JVSkJRWEZDTEZOQlFWTllMRWRCUTJwRUxFMUJRVTBzU1VGQlNXcEVMRTFCUVUwc2MwTkJRWGREUkN4TFFVRkxSU3hqUVVjdlJHSXNSVUZCVnpaQ0xGVkJRVlUwUXl4MVFrRkJlVUlzVTBGQlUxQXNSVUZCWTBNc1IwRkRia1VzVFVGQlRTeEpRVUZKZGtRc1RVRkJUU3h6UTBGQmQwTkVMRXRCUVV0RkxHTkJSeTlFWWl4RlFVRlhOa0lzVlVGQlZUWkRMR0ZCUVdVc1UwRkJVM2hGTEVkQlF6TkRMRTlCUVU5VExFdEJRVXROTEZGQlFWRjBRaXhsUVVGbFR5eEpRVWR5UTBZc1JVRkJWelpDTEZWQlFWVTRReXhsUVVGcFFpeFRRVUZUVkN4RlFVRmpReXhIUVVNelJDeE5RVUZOTEVsQlFVbDJSQ3hOUVVGTkxITkRRVUYzUTBRc1MwRkJTMFVzWTBGSEwwUmlMRVZCUVZjMlFpeFZRVUZWSzBNc1pVRkJhVUlzVTBGQlV6RkZMRVZCUVUweVJTeEhRVU51UkN4UFFVRkpiRVVzUzBGQlMwMHNVVUZCVVhSQ0xHVkJRV1ZQTEVkQlEzWkNVeXhMUVVGTFRTeFJRVUZSWml4SFFVRk5Na1VzUzBGRmJrSkJMRWRCU1ZnM1JTeEZRVUZYTmtJc1ZVRkJWV2xFTEdsQ1FVRnRRaXhUUVVGVFdpeEZRVUZqUXl4RlFVRlhWU3hIUVVONFJTeE5RVUZOTEVsQlFVbHFSU3hOUVVGTkxITkRRVUYzUTBRc1MwRkJTMFVzWTBGSEwwUmlMRVZCUVZjMlFpeFZRVUZWYTBRc2JVSkJRWEZDTEZOQlFWTkRMRVZCUVZGSUxFZEJRM3BFTEUxQlFVMHNTVUZCU1dwRkxFMUJRVTBzYzBOQlFYZERSQ3hMUVVGTFJTeGpRVWN2UkdJc1JVRkJWelpDTEZWQlFWVnRReXh4UWtGQmRVSXNVMEZCVTJsQ0xFZEJRMjVFTEUxQlFVMHNTVUZCU1hKRkxFMUJRVTBzYzBOQlFYZERSQ3hMUVVGTFJTeGpRVWN2UkdJc1JVRkJWelpDTEZWQlFWVTBReXgxUWtGQmVVSXNVMEZCVTFBc1JVRkJZME1zUjBGRGJrVXNUVUZCVFN4SlFVRkpka1FzVFVGQlRTeHpRMEZCZDBORUxFdEJRVXRGTEdOQlJ5OUVZaXhGUVVGWE5rSXNWVUZCVlhGRUxIVkNRVUY1UWl4VFFVRlRReXhIUVVOeVJDeE5RVUZOTEVsQlFVbDJSU3hOUVVGTkxITkRRVUYzUTBRc1MwRkJTMFVzWTBGSEwwUmlMRVZCUVZjMlFpeFZRVUZWZFVRc1dVRkJZeXhUUVVGVFF5eEhRVU14UXl4SlFVRkpReXhGUVVGSGFrWXNSVUZCUjBVc1JVRkRWaXhKUVVGTFVDeEZRVUZYVVN4VlFVRlZORVVzV1VGQldYUkRMRTFCUVUxdVF5eExRVUZOTkVVc1YwRkJWMGdzV1VGQldVTXNSMEZEZGtVc1QwRkJUeXhGUVVWVUxFZEJRVWxCTEVWQlFVdHVRaXhsUVVGcFFuWkVMRXRCUVV0MVJDeGhRVU0zUWl4UFFVRlBMRVZCUlZRc1IwRkJTVzFDTEVWQlFVdEhMRk5CUVZjM1JTeExRVUZMTmtVc1QwRkRka0lzVDBGQlR5eEZRVVZVTEVkQlFVbElMRVZCUVV0c1FpeFpRVUZqZUVRc1MwRkJTM2RFTEZWQlF6RkNMRTlCUVU4c1JVRkZWQ3hIUVVGSmEwSXNSVUZCUzNCRkxGRkJRVkZSTEZOQlFWZGtMRXRCUVV0TkxGRkJRVkZSTEU5QlEzWkRMRTlCUVU4c1JVRkZWQ3hKUVVGTE5rUXNSVUZCU1dwR0xFVkJRVWtzUlVGQlIwVXNSVUZCVDBrc1MwRkJTMDBzVVVGQlVWRXNUMEZCVXl4RlFVRkhMRWRCUVV0c1FpeEZRVUZQUml4SFFVRkxSU3hGUVVGUFJpeEhRVUZMUlN4RlFVRk5LMFVzUlVGQlNTeEhRVUZMTDBVc1NVRkJVMFlzU1VGQlRVRXNSVUZEZWtjc1NVRkJTMDBzUzBGQlMwMHNVVUZCVVhGRkxFZEJRVWRHTEZsQlFWbERMRVZCUVV0d1JTeFJRVUZSY1VVc1NVRkROVU1zVDBGQlR5eEZRVWRZTEU5QlFVOHNSMEZIUm5SR0xFVkJjbEp4UWl4TFFYbFNOMEpWTEV0QlFVdERJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDNOMFlXZHBibWN2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdmVHMXNZblZwYkdSbGNpOXNhV0l2V0UxTVJXeGxiV1Z1ZEM1cWN5SjkiLCIoZnVuY3Rpb24oKXttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSl7dGhpcy5ub2Rlcz1lfXJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsXCJsZW5ndGhcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdC5rZXlzKHRoaXMubm9kZXMpLmxlbmd0aHx8MH19KSxlLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGVzPW51bGx9LGUucHJvdG90eXBlLmdldE5hbWVkSXRlbT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5ub2Rlc1tlXX0sZS5wcm90b3R5cGUuc2V0TmFtZWRJdGVtPWZ1bmN0aW9uKGUpe3ZhciB0O3JldHVybiB0PXRoaXMubm9kZXNbZS5ub2RlTmFtZV0sdGhpcy5ub2Rlc1tlLm5vZGVOYW1lXT1lLHR8fG51bGx9LGUucHJvdG90eXBlLnJlbW92ZU5hbWVkSXRlbT1mdW5jdGlvbihlKXt2YXIgdDtyZXR1cm4gdD10aGlzLm5vZGVzW2VdLGRlbGV0ZSB0aGlzLm5vZGVzW2VdLHR8fG51bGx9LGUucHJvdG90eXBlLml0ZW09ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMubm9kZXNbT2JqZWN0LmtleXModGhpcy5ub2RlcylbZV1dfHxudWxsfSxlLnByb3RvdHlwZS5nZXROYW1lZEl0ZW1OUz1mdW5jdGlvbihlLHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIpfSxlLnByb3RvdHlwZS5zZXROYW1lZEl0ZW1OUz1mdW5jdGlvbihlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiKX0sZS5wcm90b3R5cGUucmVtb3ZlTmFtZWRJdGVtTlM9ZnVuY3Rpb24oZSx0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiKX0sZX0oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEU1aGJXVmtUbTlrWlUxaGNDNXFjeUpkTENKdVlXMWxjeUk2V3lKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aVdFMU1UbUZ0WldST2IyUmxUV0Z3SWl3aWJtOWtaWE1pTENKMGFHbHpJaXdpVDJKcVpXTjBJaXdpWkdWbWFXNWxVSEp2Y0dWeWRIa2lMQ0p3Y205MGIzUjVjR1VpTENKblpYUWlMQ0pyWlhseklpd2liR1Z1WjNSb0lpd2lZMnh2Ym1VaUxDSm5aWFJPWVcxbFpFbDBaVzBpTENKdVlXMWxJaXdpYzJWMFRtRnRaV1JKZEdWdElpd2libTlrWlNJc0ltOXNaRTV2WkdVaUxDSnViMlJsVG1GdFpTSXNJbkpsYlc5MlpVNWhiV1ZrU1hSbGJTSXNJbWwwWlcwaUxDSnBibVJsZUNJc0ltZGxkRTVoYldWa1NYUmxiVTVUSWl3aWJtRnRaWE53WVdObFZWSkpJaXdpYkc5allXeE9ZVzFsSWl3aVJYSnliM0lpTENKelpYUk9ZVzFsWkVsMFpXMU9VeUlzSW5KbGJXOTJaVTVoYldWa1NYUmxiVTVUSWl3aVkyRnNiQ0pkTENKdFlYQndhVzVuY3lJNklrTkJRMEVzVjBGSFJVRXNUMEZCVDBNc1VVRkJORUlzVjBGRGFrTXNVMEZCVTBNc1JVRkJaMEpETEVkQlEzWkNReXhMUVVGTFJDeE5RVUZSUVN4RlFTdERaaXhQUVRWRFFVVXNUMEZCVDBNc1pVRkJaVW9zUlVGQlowSkxMRlZCUVZjc1UwRkJWU3hEUVVONlJFTXNTVUZCU3l4WFFVTklMRTlCUVU5SUxFOUJRVTlKTEV0QlFVdE1MRXRCUVV0RUxFOUJRVTlQTEZGQlFWVXNTMEZKTjBOU0xFVkJRV2RDU3l4VlFVRlZTU3hOUVVGUkxGZEJRMmhETEU5QlFVOVFMRXRCUVV0RUxFMUJRVkVzVFVGSGRFSkVMRVZCUVdkQ1N5eFZRVUZWU3l4aFFVRmxMRk5CUVZORExFZEJRMmhFTEU5QlFVOVVMRXRCUVV0RUxFMUJRVTFWTEVsQlIzQkNXQ3hGUVVGblFrc3NWVUZCVlU4c1lVRkJaU3hUUVVGVFF5eEhRVU5vUkN4SlFVRkpReXhGUVVkS0xFOUJSa0ZCTEVWQlFWVmFMRXRCUVV0RUxFMUJRVTFaTEVWQlFVdEZMRlZCUXpGQ1lpeExRVUZMUkN4TlFVRk5XU3hGUVVGTFJTeFZRVUZaUml4RlFVTnlRa01zUjBGQlZ5eE5RVWR3UW1Rc1JVRkJaMEpMTEZWQlFWVlhMR2RDUVVGclFpeFRRVUZUVEN4SFFVTnVSQ3hKUVVGSlJ5eEZRVWRLTEU5QlJrRkJMRVZCUVZWYUxFdEJRVXRFTEUxQlFVMVZMRlZCUTJSVUxFdEJRVXRFTEUxQlFVMVZMRWRCUTFoSExFZEJRVmNzVFVGSGNFSmtMRVZCUVdkQ1N5eFZRVUZWV1N4TFFVRlBMRk5CUVZORExFZEJRM2hETEU5QlFVOW9RaXhMUVVGTFJDeE5RVUZOUlN4UFFVRlBTU3hMUVVGTFRDeExRVUZMUkN4UFFVRlBhVUlzUzBGQlZ5eE5RVWQyUkd4Q0xFVkJRV2RDU3l4VlFVRlZZeXhsUVVGcFFpeFRRVUZUUXl4RlFVRmpReXhIUVVOb1JTeE5RVUZOTEVsQlFVbERMRTFCUVUwc2QwTkJSMnhDZEVJc1JVRkJaMEpMTEZWQlFWVnJRaXhsUVVGcFFpeFRRVUZUVml4SFFVTnNSQ3hOUVVGTkxFbEJRVWxUTEUxQlFVMHNkME5CUjJ4Q2RFSXNSVUZCWjBKTExGVkJRVlZ0UWl4clFrRkJiMElzVTBGQlUwb3NSVUZCWTBNc1IwRkRia1VzVFVGQlRTeEpRVUZKUXl4TlFVRk5MSGREUVVkWWRFSXNSVUZxUkRCQ0xFdEJjVVJzUTNsQ0xFdEJRVXQyUWlJc0ltWnBiR1VpT2lJdmFHOXRaUzk2YVc1dkwzQnliMnBsWTNSekwzTmxZWFJ0WVhCMk1pOXpkR0ZuYVc1bkwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMM2h0YkdKMWFXeGtaWEl2YkdsaUwxaE5URTVoYldWa1RtOWtaVTFoY0M1cWN5SjkiLCIoZnVuY3Rpb24oKXt2YXIgdCxlLG4scixpLG8scyxoLHAsdSxjLGwsZCxhLGYseSxtLGc9e30uaGFzT3duUHJvcGVydHk7bT1yZXF1aXJlKFwiLi9VdGlsaXR5XCIpLHk9bS5pc09iamVjdCxmPW0uaXNGdW5jdGlvbixhPW0uaXNFbXB0eSxkPW0uZ2V0VmFsdWUsaD1udWxsLG49bnVsbCxyPW51bGwsaT1udWxsLG89bnVsbCxjPW51bGwsbD1udWxsLHU9bnVsbCxzPW51bGwsZT1udWxsLHA9bnVsbCx0PW51bGwsbW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiBtKGQpe3RoaXMucGFyZW50PWQsdGhpcy5wYXJlbnQmJih0aGlzLm9wdGlvbnM9dGhpcy5wYXJlbnQub3B0aW9ucyx0aGlzLnN0cmluZ2lmeT10aGlzLnBhcmVudC5zdHJpbmdpZnkpLHRoaXMudmFsdWU9bnVsbCx0aGlzLmNoaWxkcmVuPVtdLHRoaXMuYmFzZVVSST1udWxsLGh8fChoPXJlcXVpcmUoXCIuL1hNTEVsZW1lbnRcIiksbj1yZXF1aXJlKFwiLi9YTUxDRGF0YVwiKSxyPXJlcXVpcmUoXCIuL1hNTENvbW1lbnRcIiksaT1yZXF1aXJlKFwiLi9YTUxEZWNsYXJhdGlvblwiKSxvPXJlcXVpcmUoXCIuL1hNTERvY1R5cGVcIiksYz1yZXF1aXJlKFwiLi9YTUxSYXdcIiksbD1yZXF1aXJlKFwiLi9YTUxUZXh0XCIpLHU9cmVxdWlyZShcIi4vWE1MUHJvY2Vzc2luZ0luc3RydWN0aW9uXCIpLHM9cmVxdWlyZShcIi4vWE1MRHVtbXlcIiksZT1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxwPXJlcXVpcmUoXCIuL1hNTE5vZGVMaXN0XCIpLHJlcXVpcmUoXCIuL1hNTE5hbWVkTm9kZU1hcFwiKSx0PXJlcXVpcmUoXCIuL0RvY3VtZW50UG9zaXRpb25cIikpfXJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkobS5wcm90b3R5cGUsXCJub2RlTmFtZVwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5uYW1lfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtLnByb3RvdHlwZSxcIm5vZGVUeXBlXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnR5cGV9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG0ucHJvdG90eXBlLFwibm9kZVZhbHVlXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtLnByb3RvdHlwZSxcInBhcmVudE5vZGVcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucGFyZW50fX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtLnByb3RvdHlwZSxcImNoaWxkTm9kZXNcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2hpbGROb2RlTGlzdCYmdGhpcy5jaGlsZE5vZGVMaXN0Lm5vZGVzfHwodGhpcy5jaGlsZE5vZGVMaXN0PW5ldyBwKHRoaXMuY2hpbGRyZW4pKSx0aGlzLmNoaWxkTm9kZUxpc3R9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG0ucHJvdG90eXBlLFwiZmlyc3RDaGlsZFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jaGlsZHJlblswXXx8bnVsbH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobS5wcm90b3R5cGUsXCJsYXN0Q2hpbGRcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2hpbGRyZW5bdGhpcy5jaGlsZHJlbi5sZW5ndGgtMV18fG51bGx9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG0ucHJvdG90eXBlLFwicHJldmlvdXNTaWJsaW5nXCIse2dldDpmdW5jdGlvbigpe3ZhciB0O3JldHVybiB0PXRoaXMucGFyZW50LmNoaWxkcmVuLmluZGV4T2YodGhpcyksdGhpcy5wYXJlbnQuY2hpbGRyZW5bdC0xXXx8bnVsbH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobS5wcm90b3R5cGUsXCJuZXh0U2libGluZ1wiLHtnZXQ6ZnVuY3Rpb24oKXt2YXIgdDtyZXR1cm4gdD10aGlzLnBhcmVudC5jaGlsZHJlbi5pbmRleE9mKHRoaXMpLHRoaXMucGFyZW50LmNoaWxkcmVuW3QrMV18fG51bGx9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG0ucHJvdG90eXBlLFwib3duZXJEb2N1bWVudFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb2N1bWVudCgpfHxudWxsfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtLnByb3RvdHlwZSxcInRleHRDb250ZW50XCIse2dldDpmdW5jdGlvbigpe3ZhciB0LG4scixpLG87aWYodGhpcy5ub2RlVHlwZT09PWUuRWxlbWVudHx8dGhpcy5ub2RlVHlwZT09PWUuRG9jdW1lbnRGcmFnbWVudCl7Zm9yKG89XCJcIixuPTAscj0oaT10aGlzLmNoaWxkcmVuKS5sZW5ndGg7bjxyO24rKykodD1pW25dKS50ZXh0Q29udGVudCYmKG8rPXQudGV4dENvbnRlbnQpO3JldHVybiBvfXJldHVybiBudWxsfSxzZXQ6ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX19KSxtLnByb3RvdHlwZS5zZXRQYXJlbnQ9ZnVuY3Rpb24odCl7dmFyIGUsbixyLGksbztmb3IodGhpcy5wYXJlbnQ9dCx0JiYodGhpcy5vcHRpb25zPXQub3B0aW9ucyx0aGlzLnN0cmluZ2lmeT10LnN0cmluZ2lmeSksbz1bXSxuPTAscj0oaT10aGlzLmNoaWxkcmVuKS5sZW5ndGg7bjxyO24rKyllPWlbbl0sby5wdXNoKGUuc2V0UGFyZW50KHRoaXMpKTtyZXR1cm4gb30sbS5wcm90b3R5cGUuZWxlbWVudD1mdW5jdGlvbih0LGUsbil7dmFyIHIsaSxvLHMsaCxwLHUsYyxsLG0sdztpZihwPW51bGwsbnVsbD09PWUmJm51bGw9PW4mJihlPShsPVt7fSxudWxsXSlbMF0sbj1sWzFdKSxudWxsPT1lJiYoZT17fSksZT1kKGUpLHkoZSl8fChuPShtPVtlLG5dKVswXSxlPW1bMV0pLG51bGwhPXQmJih0PWQodCkpLEFycmF5LmlzQXJyYXkodCkpZm9yKG89MCx1PXQubGVuZ3RoO288dTtvKyspaT10W29dLHA9dGhpcy5lbGVtZW50KGkpO2Vsc2UgaWYoZih0KSlwPXRoaXMuZWxlbWVudCh0LmFwcGx5KCkpO2Vsc2UgaWYoeSh0KSl7Zm9yKGggaW4gdClpZihnLmNhbGwodCxoKSlpZih3PXRbaF0sZih3KSYmKHc9dy5hcHBseSgpKSwhdGhpcy5vcHRpb25zLmlnbm9yZURlY29yYXRvcnMmJnRoaXMuc3RyaW5naWZ5LmNvbnZlcnRBdHRLZXkmJjA9PT1oLmluZGV4T2YodGhpcy5zdHJpbmdpZnkuY29udmVydEF0dEtleSkpcD10aGlzLmF0dHJpYnV0ZShoLnN1YnN0cih0aGlzLnN0cmluZ2lmeS5jb252ZXJ0QXR0S2V5Lmxlbmd0aCksdyk7ZWxzZSBpZighdGhpcy5vcHRpb25zLnNlcGFyYXRlQXJyYXlJdGVtcyYmQXJyYXkuaXNBcnJheSh3KSYmYSh3KSlwPXRoaXMuZHVtbXkoKTtlbHNlIGlmKHkodykmJmEodykpcD10aGlzLmVsZW1lbnQoaCk7ZWxzZSBpZih0aGlzLm9wdGlvbnMua2VlcE51bGxOb2Rlc3x8bnVsbCE9dylpZighdGhpcy5vcHRpb25zLnNlcGFyYXRlQXJyYXlJdGVtcyYmQXJyYXkuaXNBcnJheSh3KSlmb3Iocz0wLGM9dy5sZW5ndGg7czxjO3MrKylpPXdbc10sKHI9e30pW2hdPWkscD10aGlzLmVsZW1lbnQocik7ZWxzZSB5KHcpPyF0aGlzLm9wdGlvbnMuaWdub3JlRGVjb3JhdG9ycyYmdGhpcy5zdHJpbmdpZnkuY29udmVydFRleHRLZXkmJjA9PT1oLmluZGV4T2YodGhpcy5zdHJpbmdpZnkuY29udmVydFRleHRLZXkpP3A9dGhpcy5lbGVtZW50KHcpOihwPXRoaXMuZWxlbWVudChoKSkuZWxlbWVudCh3KTpwPXRoaXMuZWxlbWVudChoLHcpO2Vsc2UgcD10aGlzLmR1bW15KCl9ZWxzZSBwPXRoaXMub3B0aW9ucy5rZWVwTnVsbE5vZGVzfHxudWxsIT09bj8hdGhpcy5vcHRpb25zLmlnbm9yZURlY29yYXRvcnMmJnRoaXMuc3RyaW5naWZ5LmNvbnZlcnRUZXh0S2V5JiYwPT09dC5pbmRleE9mKHRoaXMuc3RyaW5naWZ5LmNvbnZlcnRUZXh0S2V5KT90aGlzLnRleHQobik6IXRoaXMub3B0aW9ucy5pZ25vcmVEZWNvcmF0b3JzJiZ0aGlzLnN0cmluZ2lmeS5jb252ZXJ0Q0RhdGFLZXkmJjA9PT10LmluZGV4T2YodGhpcy5zdHJpbmdpZnkuY29udmVydENEYXRhS2V5KT90aGlzLmNkYXRhKG4pOiF0aGlzLm9wdGlvbnMuaWdub3JlRGVjb3JhdG9ycyYmdGhpcy5zdHJpbmdpZnkuY29udmVydENvbW1lbnRLZXkmJjA9PT10LmluZGV4T2YodGhpcy5zdHJpbmdpZnkuY29udmVydENvbW1lbnRLZXkpP3RoaXMuY29tbWVudChuKTohdGhpcy5vcHRpb25zLmlnbm9yZURlY29yYXRvcnMmJnRoaXMuc3RyaW5naWZ5LmNvbnZlcnRSYXdLZXkmJjA9PT10LmluZGV4T2YodGhpcy5zdHJpbmdpZnkuY29udmVydFJhd0tleSk/dGhpcy5yYXcobik6IXRoaXMub3B0aW9ucy5pZ25vcmVEZWNvcmF0b3JzJiZ0aGlzLnN0cmluZ2lmeS5jb252ZXJ0UElLZXkmJjA9PT10LmluZGV4T2YodGhpcy5zdHJpbmdpZnkuY29udmVydFBJS2V5KT90aGlzLmluc3RydWN0aW9uKHQuc3Vic3RyKHRoaXMuc3RyaW5naWZ5LmNvbnZlcnRQSUtleS5sZW5ndGgpLG4pOnRoaXMubm9kZSh0LGUsbik6dGhpcy5kdW1teSgpO2lmKG51bGw9PXApdGhyb3cgbmV3IEVycm9yKFwiQ291bGQgbm90IGNyZWF0ZSBhbnkgZWxlbWVudHMgd2l0aDogXCIrdCtcIi4gXCIrdGhpcy5kZWJ1Z0luZm8oKSk7cmV0dXJuIHB9LG0ucHJvdG90eXBlLmluc2VydEJlZm9yZT1mdW5jdGlvbih0LGUsbil7dmFyIHIsaSxvLHMsaDtpZihudWxsIT10P3QudHlwZTp2b2lkIDApcmV0dXJuIHM9ZSwobz10KS5zZXRQYXJlbnQodGhpcykscz8oaT1jaGlsZHJlbi5pbmRleE9mKHMpLGg9Y2hpbGRyZW4uc3BsaWNlKGkpLGNoaWxkcmVuLnB1c2gobyksQXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkoY2hpbGRyZW4saCkpOmNoaWxkcmVuLnB1c2gobyksbztpZih0aGlzLmlzUm9vdCl0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgaW5zZXJ0IGVsZW1lbnRzIGF0IHJvb3QgbGV2ZWwuIFwiK3RoaXMuZGVidWdJbmZvKHQpKTtyZXR1cm4gaT10aGlzLnBhcmVudC5jaGlsZHJlbi5pbmRleE9mKHRoaXMpLGg9dGhpcy5wYXJlbnQuY2hpbGRyZW4uc3BsaWNlKGkpLHI9dGhpcy5wYXJlbnQuZWxlbWVudCh0LGUsbiksQXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkodGhpcy5wYXJlbnQuY2hpbGRyZW4saCkscn0sbS5wcm90b3R5cGUuaW5zZXJ0QWZ0ZXI9ZnVuY3Rpb24odCxlLG4pe3ZhciByLGksbztpZih0aGlzLmlzUm9vdCl0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgaW5zZXJ0IGVsZW1lbnRzIGF0IHJvb3QgbGV2ZWwuIFwiK3RoaXMuZGVidWdJbmZvKHQpKTtyZXR1cm4gaT10aGlzLnBhcmVudC5jaGlsZHJlbi5pbmRleE9mKHRoaXMpLG89dGhpcy5wYXJlbnQuY2hpbGRyZW4uc3BsaWNlKGkrMSkscj10aGlzLnBhcmVudC5lbGVtZW50KHQsZSxuKSxBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseSh0aGlzLnBhcmVudC5jaGlsZHJlbixvKSxyfSxtLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oKXt2YXIgdDtpZih0aGlzLmlzUm9vdCl0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgcmVtb3ZlIHRoZSByb290IGVsZW1lbnQuIFwiK3RoaXMuZGVidWdJbmZvKCkpO3JldHVybiB0PXRoaXMucGFyZW50LmNoaWxkcmVuLmluZGV4T2YodGhpcyksW10uc3BsaWNlLmFwcGx5KHRoaXMucGFyZW50LmNoaWxkcmVuLFt0LHQtdCsxXS5jb25jYXQoW10pKSx0aGlzLnBhcmVudH0sbS5wcm90b3R5cGUubm9kZT1mdW5jdGlvbih0LGUsbil7dmFyIHIsaTtyZXR1cm4gbnVsbCE9dCYmKHQ9ZCh0KSksZXx8KGU9e30pLGU9ZChlKSx5KGUpfHwobj0oaT1bZSxuXSlbMF0sZT1pWzFdKSxyPW5ldyBoKHRoaXMsdCxlKSxudWxsIT1uJiZyLnRleHQobiksdGhpcy5jaGlsZHJlbi5wdXNoKHIpLHJ9LG0ucHJvdG90eXBlLnRleHQ9ZnVuY3Rpb24odCl7dmFyIGU7cmV0dXJuIHkodCkmJnRoaXMuZWxlbWVudCh0KSxlPW5ldyBsKHRoaXMsdCksdGhpcy5jaGlsZHJlbi5wdXNoKGUpLHRoaXN9LG0ucHJvdG90eXBlLmNkYXRhPWZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybiBlPW5ldyBuKHRoaXMsdCksdGhpcy5jaGlsZHJlbi5wdXNoKGUpLHRoaXN9LG0ucHJvdG90eXBlLmNvbW1lbnQ9ZnVuY3Rpb24odCl7dmFyIGU7cmV0dXJuIGU9bmV3IHIodGhpcyx0KSx0aGlzLmNoaWxkcmVuLnB1c2goZSksdGhpc30sbS5wcm90b3R5cGUuY29tbWVudEJlZm9yZT1mdW5jdGlvbih0KXt2YXIgZSxuO3JldHVybiBlPXRoaXMucGFyZW50LmNoaWxkcmVuLmluZGV4T2YodGhpcyksbj10aGlzLnBhcmVudC5jaGlsZHJlbi5zcGxpY2UoZSksdGhpcy5wYXJlbnQuY29tbWVudCh0KSxBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseSh0aGlzLnBhcmVudC5jaGlsZHJlbixuKSx0aGlzfSxtLnByb3RvdHlwZS5jb21tZW50QWZ0ZXI9ZnVuY3Rpb24odCl7dmFyIGUsbjtyZXR1cm4gZT10aGlzLnBhcmVudC5jaGlsZHJlbi5pbmRleE9mKHRoaXMpLG49dGhpcy5wYXJlbnQuY2hpbGRyZW4uc3BsaWNlKGUrMSksdGhpcy5wYXJlbnQuY29tbWVudCh0KSxBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseSh0aGlzLnBhcmVudC5jaGlsZHJlbixuKSx0aGlzfSxtLnByb3RvdHlwZS5yYXc9ZnVuY3Rpb24odCl7dmFyIGU7cmV0dXJuIGU9bmV3IGModGhpcyx0KSx0aGlzLmNoaWxkcmVuLnB1c2goZSksdGhpc30sbS5wcm90b3R5cGUuZHVtbXk9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHModGhpcyl9LG0ucHJvdG90eXBlLmluc3RydWN0aW9uPWZ1bmN0aW9uKHQsZSl7dmFyIG4scixpLG8scztpZihudWxsIT10JiYodD1kKHQpKSxudWxsIT1lJiYoZT1kKGUpKSxBcnJheS5pc0FycmF5KHQpKWZvcihvPTAscz10Lmxlbmd0aDtvPHM7bysrKW49dFtvXSx0aGlzLmluc3RydWN0aW9uKG4pO2Vsc2UgaWYoeSh0KSlmb3IobiBpbiB0KWcuY2FsbCh0LG4pJiYocj10W25dLHRoaXMuaW5zdHJ1Y3Rpb24obixyKSk7ZWxzZSBmKGUpJiYoZT1lLmFwcGx5KCkpLGk9bmV3IHUodGhpcyx0LGUpLHRoaXMuY2hpbGRyZW4ucHVzaChpKTtyZXR1cm4gdGhpc30sbS5wcm90b3R5cGUuaW5zdHJ1Y3Rpb25CZWZvcmU9ZnVuY3Rpb24odCxlKXt2YXIgbixyO3JldHVybiBuPXRoaXMucGFyZW50LmNoaWxkcmVuLmluZGV4T2YodGhpcykscj10aGlzLnBhcmVudC5jaGlsZHJlbi5zcGxpY2UobiksdGhpcy5wYXJlbnQuaW5zdHJ1Y3Rpb24odCxlKSxBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseSh0aGlzLnBhcmVudC5jaGlsZHJlbixyKSx0aGlzfSxtLnByb3RvdHlwZS5pbnN0cnVjdGlvbkFmdGVyPWZ1bmN0aW9uKHQsZSl7dmFyIG4scjtyZXR1cm4gbj10aGlzLnBhcmVudC5jaGlsZHJlbi5pbmRleE9mKHRoaXMpLHI9dGhpcy5wYXJlbnQuY2hpbGRyZW4uc3BsaWNlKG4rMSksdGhpcy5wYXJlbnQuaW5zdHJ1Y3Rpb24odCxlKSxBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseSh0aGlzLnBhcmVudC5jaGlsZHJlbixyKSx0aGlzfSxtLnByb3RvdHlwZS5kZWNsYXJhdGlvbj1mdW5jdGlvbih0LG4scil7dmFyIG8scztyZXR1cm4gbz10aGlzLmRvY3VtZW50KCkscz1uZXcgaShvLHQsbixyKSwwPT09by5jaGlsZHJlbi5sZW5ndGg/by5jaGlsZHJlbi51bnNoaWZ0KHMpOm8uY2hpbGRyZW5bMF0udHlwZT09PWUuRGVjbGFyYXRpb24/by5jaGlsZHJlblswXT1zOm8uY2hpbGRyZW4udW5zaGlmdChzKSxvLnJvb3QoKXx8b30sbS5wcm90b3R5cGUuZHRkPWZ1bmN0aW9uKHQsbil7dmFyIHIsaSxzLGgscCx1LGMsbCxkO2ZvcihyPXRoaXMuZG9jdW1lbnQoKSxpPW5ldyBvKHIsdCxuKSxzPWg9MCx1PShsPXIuY2hpbGRyZW4pLmxlbmd0aDtoPHU7cz0rK2gpaWYobFtzXS50eXBlPT09ZS5Eb2NUeXBlKXJldHVybiByLmNoaWxkcmVuW3NdPWksaTtmb3Iocz1wPTAsYz0oZD1yLmNoaWxkcmVuKS5sZW5ndGg7cDxjO3M9KytwKWlmKGRbc10uaXNSb290KXJldHVybiByLmNoaWxkcmVuLnNwbGljZShzLDAsaSksaTtyZXR1cm4gci5jaGlsZHJlbi5wdXNoKGkpLGl9LG0ucHJvdG90eXBlLnVwPWZ1bmN0aW9uKCl7aWYodGhpcy5pc1Jvb3QpdGhyb3cgbmV3IEVycm9yKFwiVGhlIHJvb3Qgbm9kZSBoYXMgbm8gcGFyZW50LiBVc2UgZG9jKCkgaWYgeW91IG5lZWQgdG8gZ2V0IHRoZSBkb2N1bWVudCBvYmplY3QuXCIpO3JldHVybiB0aGlzLnBhcmVudH0sbS5wcm90b3R5cGUucm9vdD1mdW5jdGlvbigpe3ZhciB0O2Zvcih0PXRoaXM7dDspe2lmKHQudHlwZT09PWUuRG9jdW1lbnQpcmV0dXJuIHQucm9vdE9iamVjdDtpZih0LmlzUm9vdClyZXR1cm4gdDt0PXQucGFyZW50fX0sbS5wcm90b3R5cGUuZG9jdW1lbnQ9ZnVuY3Rpb24oKXt2YXIgdDtmb3IodD10aGlzO3Q7KXtpZih0LnR5cGU9PT1lLkRvY3VtZW50KXJldHVybiB0O3Q9dC5wYXJlbnR9fSxtLnByb3RvdHlwZS5lbmQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuZG9jdW1lbnQoKS5lbmQodCl9LG0ucHJvdG90eXBlLnByZXY9ZnVuY3Rpb24oKXt2YXIgdDtpZigodD10aGlzLnBhcmVudC5jaGlsZHJlbi5pbmRleE9mKHRoaXMpKTwxKXRocm93IG5ldyBFcnJvcihcIkFscmVhZHkgYXQgdGhlIGZpcnN0IG5vZGUuIFwiK3RoaXMuZGVidWdJbmZvKCkpO3JldHVybiB0aGlzLnBhcmVudC5jaGlsZHJlblt0LTFdfSxtLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKCl7dmFyIHQ7aWYoLTE9PT0odD10aGlzLnBhcmVudC5jaGlsZHJlbi5pbmRleE9mKHRoaXMpKXx8dD09PXRoaXMucGFyZW50LmNoaWxkcmVuLmxlbmd0aC0xKXRocm93IG5ldyBFcnJvcihcIkFscmVhZHkgYXQgdGhlIGxhc3Qgbm9kZS4gXCIrdGhpcy5kZWJ1Z0luZm8oKSk7cmV0dXJuIHRoaXMucGFyZW50LmNoaWxkcmVuW3QrMV19LG0ucHJvdG90eXBlLmltcG9ydERvY3VtZW50PWZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybihlPXQucm9vdCgpLmNsb25lKCkpLnBhcmVudD10aGlzLGUuaXNSb290PSExLHRoaXMuY2hpbGRyZW4ucHVzaChlKSx0aGlzfSxtLnByb3RvdHlwZS5kZWJ1Z0luZm89ZnVuY3Rpb24odCl7dmFyIGUsbjtyZXR1cm4gbnVsbCE9KHQ9dHx8dGhpcy5uYW1lKXx8KG51bGwhPShlPXRoaXMucGFyZW50KT9lLm5hbWU6dm9pZCAwKT9udWxsPT10P1wicGFyZW50OiA8XCIrdGhpcy5wYXJlbnQubmFtZStcIj5cIjoobnVsbCE9KG49dGhpcy5wYXJlbnQpP24ubmFtZTp2b2lkIDApP1wibm9kZTogPFwiK3QrXCI+LCBwYXJlbnQ6IDxcIit0aGlzLnBhcmVudC5uYW1lK1wiPlwiOlwibm9kZTogPFwiK3QrXCI+XCI6XCJcIn0sbS5wcm90b3R5cGUuZWxlPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gdGhpcy5lbGVtZW50KHQsZSxuKX0sbS5wcm90b3R5cGUubm9kPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gdGhpcy5ub2RlKHQsZSxuKX0sbS5wcm90b3R5cGUudHh0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnRleHQodCl9LG0ucHJvdG90eXBlLmRhdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jZGF0YSh0KX0sbS5wcm90b3R5cGUuY29tPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNvbW1lbnQodCl9LG0ucHJvdG90eXBlLmlucz1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmluc3RydWN0aW9uKHQsZSl9LG0ucHJvdG90eXBlLmRvYz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmRvY3VtZW50KCl9LG0ucHJvdG90eXBlLmRlYz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHRoaXMuZGVjbGFyYXRpb24odCxlLG4pfSxtLnByb3RvdHlwZS5lPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gdGhpcy5lbGVtZW50KHQsZSxuKX0sbS5wcm90b3R5cGUubj1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHRoaXMubm9kZSh0LGUsbil9LG0ucHJvdG90eXBlLnQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGV4dCh0KX0sbS5wcm90b3R5cGUuZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jZGF0YSh0KX0sbS5wcm90b3R5cGUuYz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jb21tZW50KHQpfSxtLnByb3RvdHlwZS5yPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnJhdyh0KX0sbS5wcm90b3R5cGUuaT1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmluc3RydWN0aW9uKHQsZSl9LG0ucHJvdG90eXBlLnU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy51cCgpfSxtLnByb3RvdHlwZS5pbXBvcnRYTUxCdWlsZGVyPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmltcG9ydERvY3VtZW50KHQpfSxtLnByb3RvdHlwZS5yZXBsYWNlQ2hpbGQ9ZnVuY3Rpb24odCxlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxtLnByb3RvdHlwZS5yZW1vdmVDaGlsZD1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxtLnByb3RvdHlwZS5hcHBlbmRDaGlsZD1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxtLnByb3RvdHlwZS5oYXNDaGlsZE5vZGVzPWZ1bmN0aW9uKCl7cmV0dXJuIDAhPT10aGlzLmNoaWxkcmVuLmxlbmd0aH0sbS5wcm90b3R5cGUuY2xvbmVOb2RlPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LG0ucHJvdG90eXBlLm5vcm1hbGl6ZT1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LG0ucHJvdG90eXBlLmlzU3VwcG9ydGVkPWZ1bmN0aW9uKHQsZSl7cmV0dXJuITB9LG0ucHJvdG90eXBlLmhhc0F0dHJpYnV0ZXM9ZnVuY3Rpb24oKXtyZXR1cm4gMCE9PXRoaXMuYXR0cmlicy5sZW5ndGh9LG0ucHJvdG90eXBlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uPWZ1bmN0aW9uKGUpe3ZhciBuO3JldHVybiB0aGlzLHRoaXM9PT1lPzA6dGhpcy5kb2N1bWVudCgpIT09ZS5kb2N1bWVudCgpPyhuPXQuRGlzY29ubmVjdGVkfHQuSW1wbGVtZW50YXRpb25TcGVjaWZpYyxNYXRoLnJhbmRvbSgpPC41P258PXQuUHJlY2VkaW5nOm58PXQuRm9sbG93aW5nLG4pOnRoaXMuaXNBbmNlc3RvcihlKT90LkNvbnRhaW5zfHQuUHJlY2VkaW5nOnRoaXMuaXNEZXNjZW5kYW50KGUpP3QuQ29udGFpbnN8dC5Gb2xsb3dpbmc6dGhpcy5pc1ByZWNlZGluZyhlKT90LlByZWNlZGluZzp0LkZvbGxvd2luZ30sbS5wcm90b3R5cGUuaXNTYW1lTm9kZT1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxtLnByb3RvdHlwZS5sb29rdXBQcmVmaXg9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sbS5wcm90b3R5cGUuaXNEZWZhdWx0TmFtZXNwYWNlPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LG0ucHJvdG90eXBlLmxvb2t1cE5hbWVzcGFjZVVSST1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxtLnByb3RvdHlwZS5pc0VxdWFsTm9kZT1mdW5jdGlvbih0KXt2YXIgZSxuLHI7aWYodC5ub2RlVHlwZSE9PXRoaXMubm9kZVR5cGUpcmV0dXJuITE7aWYodC5jaGlsZHJlbi5sZW5ndGghPT10aGlzLmNoaWxkcmVuLmxlbmd0aClyZXR1cm4hMTtmb3IoZT1uPTAscj10aGlzLmNoaWxkcmVuLmxlbmd0aC0xOzA8PXI/bjw9cjpuPj1yO2U9MDw9cj8rK246LS1uKWlmKCF0aGlzLmNoaWxkcmVuW2VdLmlzRXF1YWxOb2RlKHQuY2hpbGRyZW5bZV0pKXJldHVybiExO3JldHVybiEwfSxtLnByb3RvdHlwZS5nZXRGZWF0dXJlPWZ1bmN0aW9uKHQsZSl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sbS5wcm90b3R5cGUuc2V0VXNlckRhdGE9ZnVuY3Rpb24odCxlLG4pe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LG0ucHJvdG90eXBlLmdldFVzZXJEYXRhPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LG0ucHJvdG90eXBlLmNvbnRhaW5zPWZ1bmN0aW9uKHQpe3JldHVybiEhdCYmKHQ9PT10aGlzfHx0aGlzLmlzRGVzY2VuZGFudCh0KSl9LG0ucHJvdG90eXBlLmlzRGVzY2VuZGFudD1mdW5jdGlvbih0KXt2YXIgZSxuLHIsaTtmb3Iobj0wLHI9KGk9dGhpcy5jaGlsZHJlbikubGVuZ3RoO248cjtuKyspe2lmKHQ9PT0oZT1pW25dKSlyZXR1cm4hMDtpZihlLmlzRGVzY2VuZGFudCh0KSlyZXR1cm4hMH1yZXR1cm4hMX0sbS5wcm90b3R5cGUuaXNBbmNlc3Rvcj1mdW5jdGlvbih0KXtyZXR1cm4gdC5pc0Rlc2NlbmRhbnQodGhpcyl9LG0ucHJvdG90eXBlLmlzUHJlY2VkaW5nPWZ1bmN0aW9uKHQpe3ZhciBlLG47cmV0dXJuIGU9dGhpcy50cmVlUG9zaXRpb24odCksbj10aGlzLnRyZWVQb3NpdGlvbih0aGlzKSwtMSE9PWUmJi0xIT09biYmZTxufSxtLnByb3RvdHlwZS5pc0ZvbGxvd2luZz1mdW5jdGlvbih0KXt2YXIgZSxuO3JldHVybiBlPXRoaXMudHJlZVBvc2l0aW9uKHQpLG49dGhpcy50cmVlUG9zaXRpb24odGhpcyksLTEhPT1lJiYtMSE9PW4mJmU+bn0sbS5wcm90b3R5cGUudHJlZVBvc2l0aW9uPWZ1bmN0aW9uKHQpe3ZhciBlLG47cmV0dXJuIG49MCxlPSExLHRoaXMuZm9yZWFjaFRyZWVOb2RlKHRoaXMuZG9jdW1lbnQoKSxmdW5jdGlvbihyKXtpZihuKyssIWUmJnI9PT10KXJldHVybiBlPSEwfSksZT9uOi0xfSxtLnByb3RvdHlwZS5mb3JlYWNoVHJlZU5vZGU9ZnVuY3Rpb24odCxlKXt2YXIgbixyLGksbyxzO2Zvcih0fHwodD10aGlzLmRvY3VtZW50KCkpLHI9MCxpPShvPXQuY2hpbGRyZW4pLmxlbmd0aDtyPGk7cisrKXtpZihzPWUobj1vW3JdKSlyZXR1cm4gcztpZihzPXRoaXMuZm9yZWFjaFRyZWVOb2RlKG4sZSkpcmV0dXJuIHN9fSxtfSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URTV2WkdVdWFuTWlYU3dpYm1GdFpYTWlPbHNpUkc5amRXMWxiblJRYjNOcGRHbHZiaUlzSWs1dlpHVlVlWEJsSWl3aVdFMU1RMFJoZEdFaUxDSllUVXhEYjIxdFpXNTBJaXdpV0UxTVJHVmpiR0Z5WVhScGIyNGlMQ0pZVFV4RWIyTlVlWEJsSWl3aVdFMU1SSFZ0YlhraUxDSllUVXhGYkdWdFpXNTBJaXdpV0UxTVRtOWtaVXhwYzNRaUxDSllUVXhRY205alpYTnphVzVuU1c1emRISjFZM1JwYjI0aUxDSllUVXhTWVhjaUxDSllUVXhVWlhoMElpd2laMlYwVm1Gc2RXVWlMQ0pwYzBWdGNIUjVJaXdpYVhOR2RXNWpkR2x2YmlJc0ltbHpUMkpxWldOMElpd2ljbVZtTVNJc0ltaGhjMUJ5YjNBaUxDSm9ZWE5QZDI1UWNtOXdaWEowZVNJc0luSmxjWFZwY21VaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2lXRTFNVG05a1pTSXNJbkJoY21WdWRERWlMQ0owYUdseklpd2ljR0Z5Wlc1MElpd2liM0IwYVc5dWN5SXNJbk4wY21sdVoybG1lU0lzSW5aaGJIVmxJaXdpWTJocGJHUnlaVzRpTENKaVlYTmxWVkpKSWl3aVQySnFaV04wSWl3aVpHVm1hVzVsVUhKdmNHVnlkSGtpTENKd2NtOTBiM1I1Y0dVaUxDSm5aWFFpTENKdVlXMWxJaXdpZEhsd1pTSXNJbU5vYVd4a1RtOWtaVXhwYzNRaUxDSnViMlJsY3lJc0lteGxibWQwYUNJc0lta2lMQ0pwYm1SbGVFOW1JaXdpWkc5amRXMWxiblFpTENKamFHbHNaQ0lzSW1vaUxDSnNaVzRpTENKeVpXWXlJaXdpYzNSeUlpd2libTlrWlZSNWNHVWlMQ0pGYkdWdFpXNTBJaXdpUkc5amRXMWxiblJHY21GbmJXVnVkQ0lzSW5SbGVIUkRiMjUwWlc1MElpd2ljMlYwSWl3aVJYSnliM0lpTENKa1pXSjFaMGx1Wm04aUxDSnpaWFJRWVhKbGJuUWlMQ0p5WlhOMWJIUnpJaXdpY0hWemFDSXNJbVZzWlcxbGJuUWlMQ0poZEhSeWFXSjFkR1Z6SWl3aWRHVjRkQ0lzSW1Ob2FXeGtUbTlrWlNJc0ltbDBaVzBpTENKcklpd2lhMlY1SWl3aWJHRnpkRU5vYVd4a0lpd2liR1Z1TVNJc0luSmxaak1pTENKMllXd2lMQ0pCY25KaGVTSXNJbWx6UVhKeVlYa2lMQ0poY0hCc2VTSXNJbU5oYkd3aUxDSnBaMjV2Y21WRVpXTnZjbUYwYjNKeklpd2lZMjl1ZG1WeWRFRjBkRXRsZVNJc0ltRjBkSEpwWW5WMFpTSXNJbk4xWW5OMGNpSXNJbk5sY0dGeVlYUmxRWEp5WVhsSmRHVnRjeUlzSW1SMWJXMTVJaXdpYTJWbGNFNTFiR3hPYjJSbGN5SXNJbU52Ym5abGNuUlVaWGgwUzJWNUlpd2lZMjl1ZG1WeWRFTkVZWFJoUzJWNUlpd2lZMlJoZEdFaUxDSmpiMjUyWlhKMFEyOXRiV1Z1ZEV0bGVTSXNJbU52YlcxbGJuUWlMQ0pqYjI1MlpYSjBVbUYzUzJWNUlpd2ljbUYzSWl3aVkyOXVkbVZ5ZEZCSlMyVjVJaXdpYVc1emRISjFZM1JwYjI0aUxDSnViMlJsSWl3aWFXNXpaWEowUW1WbWIzSmxJaXdpYm1WM1EyaHBiR1FpTENKeVpXWkRhR2xzWkNJc0luSmxiVzkyWldRaUxDSnpjR3hwWTJVaUxDSnBjMUp2YjNRaUxDSnBibk5sY25SQlpuUmxjaUlzSW5KbGJXOTJaU0lzSW1OdmJtTmhkQ0lzSW1OdmJXMWxiblJDWldadmNtVWlMQ0pqYjIxdFpXNTBRV1owWlhJaUxDSjBZWEpuWlhRaUxDSnBibk5VWVhKblpYUWlMQ0pwYm5OV1lXeDFaU0lzSW1sdWMzUnlkV04wYVc5dVFtVm1iM0psSWl3aWFXNXpkSEoxWTNScGIyNUJablJsY2lJc0ltUmxZMnhoY21GMGFXOXVJaXdpZG1WeWMybHZiaUlzSW1WdVkyOWthVzVuSWl3aWMzUmhibVJoYkc5dVpTSXNJbVJ2WXlJc0luaHRiR1JsWXlJc0luVnVjMmhwWm5RaUxDSkVaV05zWVhKaGRHbHZiaUlzSW5KdmIzUWlMQ0prZEdRaUxDSndkV0pKUkNJc0luTjVjMGxFSWl3aVpHOWpkSGx3WlNJc0lrUnZZMVI1Y0dVaUxDSjFjQ0lzSWtSdlkzVnRaVzUwSWl3aWNtOXZkRTlpYW1WamRDSXNJbVZ1WkNJc0luQnlaWFlpTENKdVpYaDBJaXdpYVcxd2IzSjBSRzlqZFcxbGJuUWlMQ0pqYkc5dVpXUlNiMjkwSWl3aVkyeHZibVVpTENKbGJHVWlMQ0p1YjJRaUxDSjBlSFFpTENKa1lYUWlMQ0pqYjIwaUxDSnBibk1pTENKa1pXTWlMQ0psSWl3aWJpSXNJblFpTENKa0lpd2lZeUlzSW5JaUxDSjFJaXdpYVcxd2IzSjBXRTFNUW5WcGJHUmxjaUlzSW5KbGNHeGhZMlZEYUdsc1pDSXNJbTlzWkVOb2FXeGtJaXdpY21WdGIzWmxRMmhwYkdRaUxDSmhjSEJsYm1SRGFHbHNaQ0lzSW1oaGMwTm9hV3hrVG05a1pYTWlMQ0pqYkc5dVpVNXZaR1VpTENKa1pXVndJaXdpYm05eWJXRnNhWHBsSWl3aWFYTlRkWEJ3YjNKMFpXUWlMQ0ptWldGMGRYSmxJaXdpYUdGelFYUjBjbWxpZFhSbGN5SXNJbUYwZEhKcFluTWlMQ0pqYjIxd1lYSmxSRzlqZFcxbGJuUlFiM05wZEdsdmJpSXNJbTkwYUdWeUlpd2ljbVZ6SWl3aVJHbHpZMjl1Ym1WamRHVmtJaXdpU1cxd2JHVnRaVzUwWVhScGIyNVRjR1ZqYVdacFl5SXNJazFoZEdnaUxDSnlZVzVrYjIwaUxDSlFjbVZqWldScGJtY2lMQ0pHYjJ4c2IzZHBibWNpTENKcGMwRnVZMlZ6ZEc5eUlpd2lRMjl1ZEdGcGJuTWlMQ0pwYzBSbGMyTmxibVJoYm5RaUxDSnBjMUJ5WldObFpHbHVaeUlzSW1selUyRnRaVTV2WkdVaUxDSnNiMjlyZFhCUWNtVm1hWGdpTENKdVlXMWxjM0JoWTJWVlVra2lMQ0pwYzBSbFptRjFiSFJPWVcxbGMzQmhZMlVpTENKc2IyOXJkWEJPWVcxbGMzQmhZMlZWVWtraUxDSndjbVZtYVhnaUxDSnBjMFZ4ZFdGc1RtOWtaU0lzSW1kbGRFWmxZWFIxY21VaUxDSnpaWFJWYzJWeVJHRjBZU0lzSW1SaGRHRWlMQ0pvWVc1a2JHVnlJaXdpWjJWMFZYTmxja1JoZEdFaUxDSmpiMjUwWVdsdWN5SXNJbTV2WkdWUWIzTWlMQ0owYUdselVHOXpJaXdpZEhKbFpWQnZjMmwwYVc5dUlpd2lhWE5HYjJ4c2IzZHBibWNpTENKbWIzVnVaQ0lzSW5CdmN5SXNJbVp2Y21WaFkyaFVjbVZsVG05a1pTSXNJbVoxYm1NaVhTd2liV0Z3Y0dsdVozTWlPaUpEUVVOQkxGZEJRMFVzU1VGQlNVRXNSVUZCYTBKRExFVkJRVlZETEVWQlFWVkRMRVZCUVZsRExFVkJRV2RDUXl4RlFVRlpReXhGUVVGVlF5eEZRVUZ6UTBNc1JVRkJZVU1zUlVGQk1FSkRMRVZCUVZGRExFVkJRVk5ETEVWQlFWVkRMRVZCUVZORExFVkJRVmxETEVWQlFWVkRMRVZCUTJwUFF5eEZRVUZWTEVkQlFVZERMR1ZCUldaR0xFVkJRVTlITEZGQlFWRXNZVUZCWTBvc1JVRkJWME1zUlVGQlMwUXNVMEZCVlVRc1JVRkJZVVVzUlVGQlMwWXNWMEZCV1VRc1JVRkJWVWNzUlVGQlMwZ3NVVUZCVTBRc1JVRkJWMGtzUlVGQlMwb3NVMEZGTjBoTUxFVkJRV0VzUzBGRllrd3NSVUZCVnl4TFFVVllReXhGUVVGaExFdEJSV0pETEVWQlFXbENMRXRCUldwQ1F5eEZRVUZoTEV0QlJXSkxMRVZCUVZNc1MwRkZWRU1zUlVGQlZTeExRVVZXUml4RlFVRXlRaXhMUVVVelFrZ3NSVUZCVnl4TFFVVllUQ3hGUVVGWExFdEJSVmhQTEVWQlFXTXNTMEZKWkZJc1JVRkJiVUlzUzBGRmJrSnZRaXhQUVVGUFF5eFJRVUZ2UWl4WFFVTjZRaXhUUVVGVFF5eEZRVUZSUXl4SFFVTm1ReXhMUVVGTFF5eFBRVUZUUml4RlFVTldReXhMUVVGTFF5eFRRVU5RUkN4TFFVRkxSU3hSUVVGVlJpeExRVUZMUXl4UFFVRlBReXhSUVVNelFrWXNTMEZCUzBjc1ZVRkJXVWdzUzBGQlMwTXNUMEZCVDBVc1YwRkZMMEpJTEV0QlFVdEpMRTFCUVZFc1MwRkRZa29zUzBGQlMwc3NVMEZCVnl4SFFVTm9Ra3dzUzBGQlMwMHNVVUZCVlN4TFFVTldka0lzU1VGRFNFRXNSVUZCWVZrc1VVRkJVU3huUWtGRGNrSnFRaXhGUVVGWGFVSXNVVUZCVVN4alFVTnVRbWhDTEVWQlFXRm5RaXhSUVVGUkxHZENRVU55UW1Zc1JVRkJhVUpsTEZGQlFWRXNiMEpCUTNwQ1pDeEZRVUZoWXl4UlFVRlJMR2RDUVVOeVFsUXNSVUZCVTFNc1VVRkJVU3haUVVOcVFsSXNSVUZCVlZFc1VVRkJVU3hoUVVOc1FsWXNSVUZCTWtKVkxGRkJRVkVzT0VKQlEyNURZaXhGUVVGWFlTeFJRVUZSTEdOQlEyNUNiRUlzUlVGQlYydENMRkZCUVZFc1kwRkRia0pZTEVWQlFXTlhMRkZCUVZFc2FVSkJRMHBCTEZGQlFWRXNjVUpCUXpGQ2JrSXNSVUZCYlVKdFFpeFJRVUZSTEhWQ1FXOTBRaTlDTEU5QmFIUkNRVmtzVDBGQlQwTXNaVUZCWlZZc1JVRkJVVmNzVlVGQlZ5eFhRVUZaTEVOQlEyNUVReXhKUVVGTExGZEJRMGdzVDBGQlQxWXNTMEZCUzFjc1VVRkphRUpLTEU5QlFVOURMR1ZCUVdWV0xFVkJRVkZYTEZWQlFWY3NWMEZCV1N4RFFVTnVSRU1zU1VGQlN5eFhRVU5JTEU5QlFVOVdMRXRCUVV0WkxGRkJTV2hDVEN4UFFVRlBReXhsUVVGbFZpeEZRVUZSVnl4VlFVRlhMRmxCUVdFc1EwRkRjRVJETEVsQlFVc3NWMEZEU0N4UFFVRlBWaXhMUVVGTFNTeFRRVWxvUWtjc1QwRkJUME1zWlVGQlpWWXNSVUZCVVZjc1ZVRkJWeXhoUVVGakxFTkJRM0pFUXl4SlFVRkxMRmRCUTBnc1QwRkJUMVlzUzBGQlMwTXNWVUZKYUVKTkxFOUJRVTlETEdWQlFXVldMRVZCUVZGWExGVkJRVmNzWVVGQll5eERRVU55UkVNc1NVRkJTeXhYUVVsSUxFOUJTRXRXTEV0QlFVdGhMR1ZCUVd0Q1lpeExRVUZMWVN4alFVRmpReXhSUVVNM1EyUXNTMEZCUzJFc1kwRkJaMElzU1VGQlNUZENMRVZCUVZsblFpeExRVUZMU3l4WFFVVnlRMHdzUzBGQlMyRXNhVUpCU1doQ1RpeFBRVUZQUXl4bFFVRmxWaXhGUVVGUlZ5eFZRVUZYTEdGQlFXTXNRMEZEY2tSRExFbEJRVXNzVjBGRFNDeFBRVUZQVml4TFFVRkxTeXhUUVVGVExFbEJRVTBzVVVGSkwwSkZMRTlCUVU5RExHVkJRV1ZXTEVWQlFWRlhMRlZCUVZjc1dVRkJZU3hEUVVOd1JFTXNTVUZCU3l4WFFVTklMRTlCUVU5V0xFdEJRVXRMTEZOQlFWTk1MRXRCUVV0TExGTkJRVk5WTEU5QlFWTXNTVUZCVFN4UlFVbDBSRklzVDBGQlQwTXNaVUZCWlZZc1JVRkJVVmNzVlVGQlZ5eHJRa0ZCYlVJc1EwRkRNVVJETEVsQlFVc3NWMEZEU0N4SlFVRkpUU3hGUVVWS0xFOUJSRUZCTEVWQlFVbG9RaXhMUVVGTFF5eFBRVUZQU1N4VFFVRlRXU3hSUVVGUmFrSXNUVUZETVVKQkxFdEJRVXRETEU5QlFVOUpMRk5CUVZOWExFVkJRVWtzU1VGQlRTeFJRVWt4UTFRc1QwRkJUME1zWlVGQlpWWXNSVUZCVVZjc1ZVRkJWeXhqUVVGbExFTkJRM1JFUXl4SlFVRkxMRmRCUTBnc1NVRkJTVTBzUlVGRlNpeFBRVVJCUVN4RlFVRkphRUlzUzBGQlMwTXNUMEZCVDBrc1UwRkJVMWtzVVVGQlVXcENMRTFCUXpGQ1FTeExRVUZMUXl4UFFVRlBTU3hUUVVGVFZ5eEZRVUZKTEVsQlFVMHNVVUZKTVVOVUxFOUJRVTlETEdWQlFXVldMRVZCUVZGWExGVkJRVmNzWjBKQlFXbENMRU5CUTNoRVF5eEpRVUZMTEZkQlEwZ3NUMEZCVDFZc1MwRkJTMnRDTEZsQlFXTXNVVUZKT1VKWUxFOUJRVTlETEdWQlFXVldMRVZCUVZGWExGVkJRVmNzWTBGQlpTeERRVU4wUkVNc1NVRkJTeXhYUVVOSUxFbEJRVWxUTEVWQlFVOURMRVZCUVVkRExFVkJRVXRETEVWQlFVMURMRVZCUTNwQ0xFZEJRVWwyUWl4TFFVRkxkMElzVjBGQllTOURMRVZCUVZOblJDeFRRVUZYZWtJc1MwRkJTM2RDTEZkQlFXRXZReXhGUVVGVGFVUXNhVUpCUVd0Q0xFTkJSM0pHTEVsQlJrRklMRVZCUVUwc1IwRkZSRWdzUlVGQlNTeEZRVUZIUXl4SFFVUmFReXhGUVVGUGRFSXNTMEZCUzBzc1ZVRkRWMVVzVDBGQlVVc3NSVUZCU1VNc1JVRkJTMFFzUzBGRGRFTkVMRVZCUVZGSExFVkJRVXRHTEVsQlEwaFBMR05CUTFKS0xFZEJRVTlLTEVWQlFVMVJMR0ZCUjJwQ0xFOUJRVTlLTEVWQlJWQXNUMEZCVHl4TlFVZFlTeXhKUVVGTExGTkJRVk40UWl4SFFVTmFMRTFCUVUwc1NVRkJTWGxDTEUxQlFVMHNjME5CUVhkRE4wSXNTMEZCU3poQ0xHZENRVWxxUldoRExFVkJRVkZYTEZWQlFWVnpRaXhWUVVGWkxGTkJRVk01UWl4SFFVTnlReXhKUVVGSmEwSXNSVUZCVDBNc1JVRkJSME1zUlVGQlMwTXNSVUZCVFZVc1JVRlJla0lzU1VGUVFXaERMRXRCUVV0RExFOUJRVk5CTEVWQlExWkJMRWxCUTBaRUxFdEJRVXRGTEZGQlFWVkVMRVZCUVU5RExGRkJRM1JDUml4TFFVRkxSeXhWUVVGWlJpeEZRVUZQUlN4WFFVY3hRalpDTEVWQlFWVXNSMEZEVEZvc1JVRkJTU3hGUVVGSFF5eEhRVVphUXl4RlFVRlBkRUlzUzBGQlMwc3NWVUZGVjFVc1QwRkJVVXNzUlVGQlNVTXNSVUZCUzBRc1NVRkRkRU5FTEVWQlFWRkhMRVZCUVV0R0xFZEJRMkpaTEVWQlFWRkRMRXRCUVV0a0xFVkJRVTFaTEZWQlFWVXZRaXhQUVVVdlFpeFBRVUZQWjBNc1IwRkhWR3hETEVWQlFWRlhMRlZCUVZWNVFpeFJRVUZWTEZOQlFWTjJRaXhGUVVGTmQwSXNSVUZCV1VNc1IwRkRja1FzU1VGQlNVTXNSVUZCVjBNc1JVRkJUV3hDTEVWQlFVZHRRaXhGUVVGSFF5eEZRVUZMUXl4RlFVRlhjRUlzUlVGQlMzRkNMRVZCUVUxd1FpeEZRVUZOY1VJc1JVRkJUVU1zUlVGbGJFVXNSMEZrUVVnc1JVRkJXU3hMUVVOUExFOUJRV1pPTEVkQlFXZERMRTFCUVZKRExFbEJRMUJFTEVkQlFXNUNZaXhGUVVGUExFTkJRVU1zUjBGQlNTeFBRVUY1UWl4SFFVRkpZeXhGUVVGUFpDeEZRVUZMTEVsQlJYSkRMRTFCUVdSaExFbEJRMFpCTEVWQlFXRXNTVUZGWmtFc1JVRkJZUzlETEVWQlFWTXJReXhIUVVOcVFqVkRMRVZCUVZNMFF5eExRVU5sUXl4SFFVRXpRazhzUlVGQlR5eERRVUZEVWl4RlFVRlpReXhKUVVGdFFpeEhRVUZKUkN4RlFVRmhVU3hGUVVGTExFbEJSVzVFTEUxQlFWSm9ReXhKUVVOR1FTeEZRVUZQZGtJc1JVRkJVM1ZDTEVsQlJXUnJReXhOUVVGTlF5eFJRVUZSYmtNc1IwRkRhRUlzU1VGQlMxTXNSVUZCU1N4RlFVRkhReXhGUVVGTlZpeEZRVUZMU1N4UFFVRlJTeXhGUVVGSlF5eEZRVUZMUkN4SlFVTjBRMnRDTEVWQlFVOHpRaXhGUVVGTFV5eEhRVU5hY1VJc1JVRkJXWHBETEV0QlFVdHJReXhSUVVGUlNTeFJRVVYwUWl4SFFVRkphRVFzUlVGQlYzRkNMRWRCUTNCQ09FSXNSVUZCV1hwRExFdEJRVXRyUXl4UlFVRlJka0lzUlVGQlMyOURMR05CUTNwQ0xFZEJRVWw0UkN4RlFVRlRiMElzU1VGRGJFSXNTVUZCU3paQ0xFdEJRVTgzUWl4RlFVTldMRWRCUVV0c1FpeEZRVUZSZFVRc1MwRkJTM0pETEVWQlFVMDJRaXhIUVV0NFFpeEhRVXBCU1N4RlFVRk5ha01zUlVGQlN6WkNMRWRCUTFCc1JDeEZRVUZYYzBRc1MwRkRZa0VzUlVGQlRVRXNSVUZCU1Vjc1ZVRkZVQzlETEV0QlFVdEZMRkZCUVZFclF5eHJRa0ZCYjBKcVJDeExRVUZMUnl4VlFVRlZLME1zWlVGQkswUXNTVUZCT1VOV0xFVkJRVWwyUWl4UlFVRlJha0lzUzBGQlMwY3NWVUZCVlN0RExHVkJReTlHVkN4RlFVRlpla01zUzBGQlMyMUVMRlZCUVZWWUxFVkJRVWxaTEU5QlFVOXdSQ3hMUVVGTFJ5eFZRVUZWSzBNc1kwRkJZMjVETEZGQlFWTTJRaXhSUVVOMlJTeEpRVUZMTlVNc1MwRkJTMFVzVVVGQlVXMUVMRzlDUVVGelFsSXNUVUZCVFVNc1VVRkJVVVlzU1VGQlVYWkVMRVZCUVZGMVJDeEhRVU16UlVnc1JVRkJXWHBETEV0QlFVdHpSQ3hoUVVOYUxFZEJRVWt2UkN4RlFVRlRjVVFzU1VGQlVYWkVMRVZCUVZGMVJDeEhRVU5zUTBnc1JVRkJXWHBETEV0QlFVdHJReXhSUVVGUlRTeFJRVU53UWl4SFFVRkxlRU1zUzBGQlMwVXNVVUZCVVhGRUxHVkJRWGxDTEUxQlFWQllMRVZCUlhCRExFbEJRVXMxUXl4TFFVRkxSU3hSUVVGUmJVUXNiMEpCUVhOQ1VpeE5RVUZOUXl4UlFVRlJSaXhIUVVNelJDeEpRVUZMVEN4RlFVRkpMRVZCUVVkSExFVkJRVTlGTEVWQlFVazNRaXhQUVVGUmQwSXNSVUZCU1Vjc1JVRkJUVWdzU1VGRGRrTkVMRVZCUVU5TkxFVkJRVWxNTEVsQlExaEdMRVZCUVZrc1NVRkRSa2NzUjBGQlQwWXNSVUZEYWtKSExFVkJRVmw2UXl4TFFVRkxhME1zVVVGQlVVY3NVVUZGYkVJNVF5eEZRVUZUY1VRc1NVRkRZalZETEV0QlFVdEZMRkZCUVZFclF5eHJRa0ZCYjBKcVJDeExRVUZMUnl4VlFVRlZjVVFzWjBKQlFXbEZMRWxCUVM5RGFFSXNSVUZCU1haQ0xGRkJRVkZxUWl4TFFVRkxSeXhWUVVGVmNVUXNaMEpCUTJoSFppeEZRVUZaZWtNc1MwRkJTMnRETEZGQlFWRlZMRWxCUlhwQ1NDeEZRVUZaZWtNc1MwRkJTMnRETEZGQlFWRk5MRWxCUTJaT0xGRkJRVkZWTEVkQlIzQkNTQ3hGUVVGWmVrTXNTMEZCUzJ0RExGRkJRVkZOTEVWQlFVdEpMRkZCYUVJNVFrZ3NSVUZCV1hwRExFdEJRVXR6UkN4aFFYVkNia0ppTEVWQlNsRjZReXhMUVVGTFJTeFJRVUZSY1VRc1pVRkJNRUlzVDBGQlZHNUNMRWRCUjI1RGNFTXNTMEZCUzBVc1VVRkJVU3RETEd0Q1FVRnZRbXBFTEV0QlFVdEhMRlZCUVZWeFJDeG5Ra0ZCYTBVc1NVRkJhRVEzUXl4RlFVRkxUU3hSUVVGUmFrSXNTMEZCUzBjc1ZVRkJWWEZFTEdkQ1FVTnlSbmhFTEV0QlFVdHZReXhMUVVGTFFTeEpRVU5hY0VNc1MwRkJTMFVzVVVGQlVTdERMR3RDUVVGdlFtcEVMRXRCUVV0SExGVkJRVlZ6UkN4cFFrRkJiMFVzU1VGQmFrUTVReXhGUVVGTFRTeFJRVUZSYWtJc1MwRkJTMGNzVlVGQlZYTkVMR2xDUVVNM1JucEVMRXRCUVVzd1JDeE5RVUZOZEVJc1NVRkRZbkJETEV0QlFVdEZMRkZCUVZFclF5eHJRa0ZCYjBKcVJDeExRVUZMUnl4VlFVRlZkMFFzYlVKQlFYZEZMRWxCUVc1RWFFUXNSVUZCUzAwc1VVRkJVV3BDTEV0QlFVdEhMRlZCUVZWM1JDeHRRa0ZETDBZelJDeExRVUZMTkVRc1VVRkJVWGhDTEVsQlEyWndReXhMUVVGTFJTeFJRVUZSSzBNc2EwSkJRVzlDYWtRc1MwRkJTMGNzVlVGQlZUQkVMR1ZCUVdkRkxFbEJRUzlEYkVRc1JVRkJTMDBzVVVGQlVXcENMRXRCUVV0SExGVkJRVlV3UkN4bFFVTXpSamRFTEV0QlFVczRSQ3hKUVVGSk1VSXNTVUZEV0hCRExFdEJRVXRGTEZGQlFWRXJReXhyUWtGQmIwSnFSQ3hMUVVGTFJ5eFZRVUZWTkVRc1kwRkJPRVFzU1VGQk9VTndSQ3hGUVVGTFRTeFJRVUZSYWtJc1MwRkJTMGNzVlVGQlZUUkVMR05CUXpGR0wwUXNTMEZCUzJkRkxGbEJRVmx5UkN4RlFVRkxlVU1zVDBGQlQzQkVMRXRCUVV0SExGVkJRVlUwUkN4aFFVRmhhRVFzVVVGQlUzRkNMRWRCUld4RmNFTXNTMEZCUzJsRkxFdEJRVXQwUkN4RlFVRk5kMElzUlVGQldVTXNSMEZpT1VKd1F5eExRVUZMYzBRc1VVRm5RbTVDTEVkQlFXbENMRTFCUVdKaUxFVkJRMFlzVFVGQlRTeEpRVUZKV2l4TlFVRk5MSFZEUVVGNVEyeENMRVZCUVU4c1MwRkJUMWdzUzBGQlN6aENMR0ZCUlRsRkxFOUJRVTlYTEVkQlIxUXpReXhGUVVGUlZ5eFZRVUZWZVVRc1lVRkJaU3hUUVVGVGRrUXNSVUZCVFhkQ0xFVkJRVmxETEVkQlF6RkVMRWxCUVVscVFpeEZRVUZQU0N4RlFVRkhiVVFzUlVGQlZVTXNSVUZCVlVNc1JVRkRiRU1zUjBGQldTeE5RVUZTTVVRc1JVRkJaVUVzUlVGQlMwTXNWVUZCVHl4RlFWazNRaXhQUVZaQmQwUXNSVUZCVjJwRExFZEJSRmhuUXl4RlFVRlhlRVFzUjBGRlJtOUNMRlZCUVZVdlFpeE5RVU5tYjBVc1IwRkRSbkJFTEVWQlFVbFlMRk5CUVZOWkxGRkJRVkZ0UkN4SFFVTnlRa01zUlVGQlZXaEZMRk5CUVZOcFJTeFBRVUZQZEVRc1IwRkRNVUpZTEZOQlFWTTBRaXhMUVVGTGEwTXNSMEZEWkhSQ0xFMUJRVTF3UXl4VlFVRlZkMElzUzBGQlMyTXNUVUZCVFRGRExGTkJRVlZuUlN4SlFVVnlRMmhGTEZOQlFWTTBRaXhMUVVGTGEwTXNSMEZGVkVFc1JVRkZVQ3hIUVVGSmJrVXNTMEZCUzNWRkxFOUJRMUFzVFVGQlRTeEpRVUZKTVVNc1RVRkJUU3g1UTBGQk1rTTNRaXhMUVVGTE9FSXNWVUZCVlc1Q0xFbEJUVFZGTEU5QlNrRkxMRVZCUVVsb1FpeExRVUZMUXl4UFFVRlBTU3hUUVVGVFdTeFJRVUZSYWtJc1RVRkRha054UlN4RlFVRlZja1VzUzBGQlMwTXNUMEZCVDBrc1UwRkJVMmxGTEU5QlFVOTBSQ3hIUVVOMFEwY3NSVUZCVVc1Q0xFdEJRVXRETEU5QlFVOXBReXhSUVVGUmRrSXNSVUZCVFhkQ0xFVkJRVmxETEVkQlF6bERVeXhOUVVGTmNFTXNWVUZCVlhkQ0xFdEJRVXRqTEUxQlFVMHZReXhMUVVGTFF5eFBRVUZQU1N4VFFVRlZaMFVzUjBGRE1VTnNSQ3hIUVVsWWNrSXNSVUZCVVZjc1ZVRkJWU3RFTEZsQlFXTXNVMEZCVXpkRUxFVkJRVTEzUWl4RlFVRlpReXhIUVVONlJDeEpRVUZKYWtJc1JVRkJUMGdzUlVGQlIzRkVMRVZCUTJRc1IwRkJTWEpGTEV0QlFVdDFSU3hQUVVOUUxFMUJRVTBzU1VGQlNURkRMRTFCUVUwc2VVTkJRVEpETjBJc1MwRkJTemhDTEZWQlFWVnVRaXhKUVUwMVJTeFBRVXBCU3l4RlFVRkphRUlzUzBGQlMwTXNUMEZCVDBrc1UwRkJVMWtzVVVGQlVXcENMRTFCUTJwRGNVVXNSVUZCVlhKRkxFdEJRVXRETEU5QlFVOUpMRk5CUVZOcFJTeFBRVUZQZEVRc1JVRkJTU3hIUVVNeFEwY3NSVUZCVVc1Q0xFdEJRVXRETEU5QlFVOXBReXhSUVVGUmRrSXNSVUZCVFhkQ0xFVkJRVmxETEVkQlF6bERVeXhOUVVGTmNFTXNWVUZCVlhkQ0xFdEJRVXRqTEUxQlFVMHZReXhMUVVGTFF5eFBRVUZQU1N4VFFVRlZaMFVzUjBGRE1VTnNSQ3hIUVVkVWNrSXNSVUZCVVZjc1ZVRkJWV2RGTEU5QlFWTXNWMEZEZWtJc1NVRkJTWHBFTEVWQlEwb3NSMEZCU1doQ0xFdEJRVXQxUlN4UFFVTlFMRTFCUVUwc1NVRkJTVEZETEUxQlFVMHNiVU5CUVhGRE4wSXNTMEZCU3poQ0xHRkJTVFZFTEU5QlJrRmtMRVZCUVVsb1FpeExRVUZMUXl4UFFVRlBTU3hUUVVGVFdTeFJRVUZSYWtJc1RVRkRha01zUjBGQlIzTkZMRTlCUVU5MlFpeE5RVUZOTDBNc1MwRkJTME1zVDBGQlQwa3NVMEZCVlN4RFFVRkRWeXhGUVVGSFFTeEZRVUZKUVN4RlFVRkpMRWRCUVVjd1JDeFBRVUZqTEV0QlF6VkVNVVVzUzBGQlMwTXNVVUZIWkVnc1JVRkJVVmNzVlVGQlZYZEVMRXRCUVU4c1UwRkJVM1JFTEVWQlFVMTNRaXhGUVVGWlF5eEhRVU5zUkN4SlFVRkpha0lzUlVGQlQwY3NSVUZqV0N4UFFXSlpMRTFCUVZKWUxFbEJRMFpCTEVWQlFVOTJRaXhGUVVGVGRVSXNTVUZGYkVKM1FpeEpRVUZsUVN4RlFVRmhMRWxCUXpWQ1FTeEZRVUZoTDBNc1JVRkJVeXRETEVkQlEycENOVU1zUlVGQlV6UkRMRXRCUTJWRExFZEJRVE5DWkN4RlFVRlBMRU5CUVVOaExFVkJRVmxETEVsQlFXMUNMRWRCUVVsRUxFVkJRV0ZpTEVWQlFVc3NTVUZGTDBSSUxFVkJRVkVzU1VGQlNYQkRMRVZCUVZkcFFpeExRVUZOVnl4RlFVRk5kMElzUjBGRGRrSXNUVUZCVWtNc1IwRkRSbXBDTEVWQlFVMXBRaXhMUVVGTFFTeEhRVVZpY0VNc1MwRkJTMHNzVTBGQlV6UkNMRXRCUVV0a0xFZEJRMXBCTEVkQlIxUnlRaXhGUVVGUlZ5eFZRVUZWTWtJc1MwRkJUeXhUUVVGVGFFTXNSMEZEYUVNc1NVRkJTV1VzUlVGTlNpeFBRVXhKTlVJc1JVRkJVMkVzU1VGRFdFb3NTMEZCUzJ0RExGRkJRVkU1UWl4SFFVVm1aU3hGUVVGUkxFbEJRVWxvUXl4RlFVRlJZU3hMUVVGTlNTeEhRVU14UWtvc1MwRkJTMHNzVTBGQlV6UkNMRXRCUVV0a0xFZEJRMXB1UWl4TlFVZFVSaXhGUVVGUlZ5eFZRVUZWYVVRc1RVRkJVU3hUUVVGVGRFUXNSMEZEYWtNc1NVRkJTV1VzUlVGSFNpeFBRVVpCUVN4RlFVRlJMRWxCUVVsNlF5eEZRVUZUYzBJc1MwRkJUVWtzUjBGRE0wSktMRXRCUVV0TExGTkJRVk0wUWl4TFFVRkxaQ3hIUVVOYWJrSXNUVUZIVkVZc1JVRkJVVmNzVlVGQlZXMUVMRkZCUVZVc1UwRkJVM2hFTEVkQlEyNURMRWxCUVVsbExFVkJSMG9zVDBGR1FVRXNSVUZCVVN4SlFVRkplRU1zUlVGQlYzRkNMRXRCUVUxSkxFZEJRemRDU2l4TFFVRkxTeXhUUVVGVE5FSXNTMEZCUzJRc1IwRkRXbTVDTEUxQlIxUkdMRVZCUVZGWExGVkJRVlZyUlN4alFVRm5RaXhUUVVGVGRrVXNSMEZEZWtNc1NVRkJWMWtzUlVGQlIzRkVMRVZCUzJRc1QwRktRWEpFTEVWQlFVbG9RaXhMUVVGTFF5eFBRVUZQU1N4VFFVRlRXU3hSUVVGUmFrSXNUVUZEYWtOeFJTeEZRVUZWY2tVc1MwRkJTME1zVDBGQlQwa3NVMEZCVTJsRkxFOUJRVTkwUkN4SFFVTTVRbWhDTEV0QlFVdERMRTlCUVU4eVJDeFJRVUZSZUVRc1IwRkROVUo1UXl4TlFVRk5jRU1zVlVGQlZYZENMRXRCUVV0akxFMUJRVTB2UXl4TFFVRkxReXhQUVVGUFNTeFRRVUZWWjBVc1IwRkRNVU55UlN4TlFVZFVSaXhGUVVGUlZ5eFZRVUZWYlVVc1lVRkJaU3hUUVVGVGVFVXNSMEZEZUVNc1NVRkJWMWtzUlVGQlIzRkVMRVZCUzJRc1QwRktRWEpFTEVWQlFVbG9RaXhMUVVGTFF5eFBRVUZQU1N4VFFVRlRXU3hSUVVGUmFrSXNUVUZEYWtOeFJTeEZRVUZWY2tVc1MwRkJTME1zVDBGQlQwa3NVMEZCVTJsRkxFOUJRVTkwUkN4RlFVRkpMRWRCUTJ4RGFFSXNTMEZCUzBNc1QwRkJUekpFTEZGQlFWRjRSQ3hIUVVNMVFubERMRTFCUVUxd1F5eFZRVUZWZDBJc1MwRkJTMk1zVFVGQlRTOURMRXRCUVV0RExFOUJRVTlKTEZOQlFWVm5SU3hIUVVNeFEzSkZMRTFCUjFSR0xFVkJRVkZYTEZWQlFWVnhSQ3hKUVVGTkxGTkJRVk14UkN4SFFVTXZRaXhKUVVGSlpTeEZRVWRLTEU5QlJrRkJMRVZCUVZFc1NVRkJTV3BETEVWQlFVOWpMRXRCUVUxSkxFZEJRM3BDU2l4TFFVRkxTeXhUUVVGVE5FSXNTMEZCUzJRc1IwRkRXbTVDTEUxQlIxUkdMRVZCUVZGWExGVkJRVlUyUXl4TlFVRlJMRmRCUjNoQ0xFOUJSRkVzU1VGQlNYaEZMRVZCUVZOclFpeFBRVWwyUWtZc1JVRkJVVmNzVlVGQlZYVkVMRmxCUVdNc1UwRkJVMkVzUlVGQlVYcEZMRWRCUXk5RExFbEJRVWt3UlN4RlFVRlhReXhGUVVGVlppeEZRVUZoTlVNc1JVRkJSME1zUlVGUGVrTXNSMEZPWXl4TlFVRldkMFFzU1VGRFJrRXNSVUZCVTNwR0xFVkJRVk41Uml4SlFVVlFMRTFCUVZSNlJTeEpRVU5HUVN4RlFVRlJhRUlzUlVGQlUyZENMRWxCUldaNVF5eE5RVUZOUXl4UlFVRlJLMElzUjBGRGFFSXNTVUZCUzNwRUxFVkJRVWtzUlVGQlIwTXNSVUZCVFhkRUxFVkJRVTg1UkN4UFFVRlJTeXhGUVVGSlF5eEZRVUZMUkN4SlFVTjRRekJFTEVWQlFWbEVMRVZCUVU5NlJDeEhRVU51UW5CQ0xFdEJRVXRuUlN4WlFVRlpZeXhSUVVWa0xFZEJRVWwyUml4RlFVRlRjMFlzUjBGRGJFSXNTVUZCUzBNc1MwRkJZVVFzUlVGRFdIQkdMRVZCUVZGMVJDeExRVUZMTmtJc1JVRkJVVU1zUzBGRE1VSkRMRVZCUVZkR0xFVkJRVTlETEVkQlEyeENPVVVzUzBGQlMyZEZMRmxCUVZsakxFVkJRVmRETEZOQlJ6RkNla1lzUlVGQlYyTXNTMEZEWWtFc1JVRkJVVUVzUlVGQlRUSkRMRk5CUldoQ2FVSXNSVUZCWXl4SlFVRkpMMFVzUlVGQmVVSmxMRXRCUVUwMlJTeEZRVUZSZWtVc1IwRkRla1JLTEV0QlFVdExMRk5CUVZNMFFpeExRVUZMSzBJc1IwRkZja0lzVDBGQlQyaEZMRTFCUjFSR0xFVkJRVkZYTEZWQlFWVjFSU3hyUWtGQmIwSXNVMEZCVTBnc1JVRkJVWHBGTEVkQlEzSkVMRWxCUVZkWkxFVkJRVWR4UkN4RlFVdGtMRTlCU2tGeVJDeEZRVUZKYUVJc1MwRkJTME1zVDBGQlQwa3NVMEZCVTFrc1VVRkJVV3BDTEUxQlEycERjVVVzUlVGQlZYSkZMRXRCUVV0RExFOUJRVTlKTEZOQlFWTnBSU3hQUVVGUGRFUXNSMEZET1VKb1FpeExRVUZMUXl4UFFVRlBLMFFzV1VGQldXRXNSVUZCVVhwRkxFZEJRM2hEZVVNc1RVRkJUWEJETEZWQlFWVjNRaXhMUVVGTFl5eE5RVUZOTDBNc1MwRkJTME1zVDBGQlQwa3NVMEZCVldkRkxFZEJRekZEY2tVc1RVRkhWRVlzUlVGQlVWY3NWVUZCVlhkRkxHbENRVUZ0UWl4VFFVRlRTaXhGUVVGUmVrVXNSMEZEY0VRc1NVRkJWMWtzUlVGQlIzRkVMRVZCUzJRc1QwRktRWEpFTEVWQlFVbG9RaXhMUVVGTFF5eFBRVUZQU1N4VFFVRlRXU3hSUVVGUmFrSXNUVUZEYWtOeFJTeEZRVUZWY2tVc1MwRkJTME1zVDBGQlQwa3NVMEZCVTJsRkxFOUJRVTkwUkN4RlFVRkpMRWRCUTJ4RGFFSXNTMEZCUzBNc1QwRkJUeXRFTEZsQlFWbGhMRVZCUVZGNlJTeEhRVU40UTNsRExFMUJRVTF3UXl4VlFVRlZkMElzUzBGQlMyTXNUVUZCVFM5RExFdEJRVXRETEU5QlFVOUpMRk5CUVZWblJTeEhRVU14UTNKRkxFMUJSMVJHTEVWQlFWRlhMRlZCUVZWNVJTeFpRVUZqTEZOQlFWTkRMRVZCUVZORExFVkJRVlZETEVkQlF6RkVMRWxCUVVsRExFVkJRVXRETEVWQlZWUXNUMEZVUVVRc1JVRkJUWFJHTEV0QlFVdHJRaXhYUVVOWWNVVXNSVUZCVXl4SlFVRkpNMGNzUlVGQlpUQkhMRVZCUVV0SUxFVkJRVk5ETEVWQlFWVkRMRWRCUTNoQ0xFbEJRWGhDUXl4RlFVRkpha1lzVTBGQlUxVXNUMEZEWm5WRkxFVkJRVWxxUml4VFFVRlRiVVlzVVVGQlVVUXNSMEZEV2tRc1JVRkJTV3BHTEZOQlFWTXNSMEZCUjA4c1QwRkJVMjVETEVWQlFWTm5TQ3haUVVNelEwZ3NSVUZCU1dwR0xGTkJRVk1zUjBGQlMydEdMRVZCUld4Q1JDeEZRVUZKYWtZc1UwRkJVMjFHTEZGQlFWRkVMRWRCUldoQ1JDeEZRVUZKU1N4UlFVRlZTaXhIUVVkMlFuaEdMRVZCUVZGWExGVkJRVlZyUml4SlFVRk5MRk5CUVZORExFVkJRVTlETEVkQlEzUkRMRWxCUVZkUUxFVkJRVXRSTEVWQlFWTTVSU3hGUVVGSFNTeEZRVUZIYlVJc1JVRkJSMnhDTEVWQlFVdHhRaXhGUVVGTmNFSXNSVUZCVFhGQ0xFVkJTVzVFTEVsQlNFRXlReXhGUVVGTmRFWXNTMEZCUzJ0Q0xGZEJRMWcwUlN4RlFVRlZMRWxCUVVscVNDeEZRVUZYZVVjc1JVRkJTMDBzUlVGQlQwTXNSMEZGYUVNM1JTeEZRVUZKU1N4RlFVRkpMRVZCUVVkRExFZEJSR2hDUXl4RlFVRlBaMFVzUlVGQlNXcEdMRlZCUTJkQ1ZTeFBRVUZSU3l4RlFVRkpReXhGUVVGTFRDeEpRVUZOU1N4RlFVVm9SQ3hIUVVSUlJTeEZRVUZMVGl4SFFVTklTaXhQUVVGVGJrTXNSVUZCVTNOSUxGRkJSVEZDTEU5QlJFRlVMRVZCUVVscVJpeFRRVUZUVnl4SFFVRkxPRVVzUlVGRFdFRXNSVUZKV0N4SlFVRkxPVVVzUlVGQlNYVkNMRVZCUVVrc1JVRkJSMGNzUjBGRWFFSkRMRVZCUVU4eVF5eEZRVUZKYWtZc1ZVRkRhVUpWTEU5QlFWRjNRaXhGUVVGSlJ5eEZRVUZOTVVJc1NVRkJUWFZDTEVWQlJXeEVMRWRCUkZGSkxFVkJRVXN6UWl4SFFVTklkVVFzVDBGRlVpeFBRVVJCWlN4RlFVRkpha1lzVTBGQlUybEZMRTlCUVU5MFJDeEZRVUZITEVWQlFVYzRSU3hIUVVOdVFrRXNSVUZKV0N4UFFVUkJVaXhGUVVGSmFrWXNVMEZCVXpSQ0xFdEJRVXMyUkN4SFFVTllRU3hIUVVkVWFFY3NSVUZCVVZjc1ZVRkJWWFZHTEVkQlFVc3NWMEZEY2tJc1IwRkJTV2hITEV0QlFVdDFSU3hQUVVOUUxFMUJRVTBzU1VGQlNURkRMRTFCUVUwc2EwWkJSV3hDTEU5QlFVODNRaXhMUVVGTFF5eFJRVWRrU0N4RlFVRlJWeXhWUVVGVmFVWXNTMEZCVHl4WFFVTjJRaXhKUVVGSmVrSXNSVUZGU2l4SlFVUkJRU3hGUVVGUGFrVXNTMEZEUVdsRkxFZEJRVTBzUTBGRFdDeEhRVUZKUVN4RlFVRkxja1FzVDBGQlUyNURMRVZCUVZOM1NDeFRRVU42UWl4UFFVRlBhRU1zUlVGQlMybERMRmRCUTFBc1IwRkJTV3BETEVWQlFVdE5MRTlCUTJRc1QwRkJUMDRzUlVGRlVFRXNSVUZCVDBFc1JVRkJTMmhGTEZOQlMyeENTQ3hGUVVGUlZ5eFZRVUZWVXl4VFFVRlhMRmRCUXpOQ0xFbEJRVWtyUXl4RlFVVktMRWxCUkVGQkxFVkJRVTlxUlN4TFFVTkJhVVVzUjBGQlRTeERRVU5ZTEVkQlFVbEJMRVZCUVV0eVJDeFBRVUZUYmtNc1JVRkJVM2RJTEZOQlEzcENMRTlCUVU5b1F5eEZRVVZRUVN4RlFVRlBRU3hGUVVGTGFFVXNVMEZMYkVKSUxFVkJRVkZYTEZWQlFWVXdSaXhKUVVGTkxGTkJRVk5xUnl4SFFVTXZRaXhQUVVGUFJpeExRVUZMYTBJc1YwRkJWMmxHTEVsQlFVbHFSeXhKUVVjM1Frb3NSVUZCVVZjc1ZVRkJWVEpHTEV0QlFVOHNWMEZEZGtJc1NVRkJTWEJHTEVWQlJVb3NTVUZFUVVFc1JVRkJTV2hDTEV0QlFVdERMRTlCUVU5SkxGTkJRVk5aTEZGQlFWRnFRaXhQUVVONlFpeEZRVU5PTEUxQlFVMHNTVUZCU1RaQ0xFMUJRVTBzT0VKQlFXZEROMElzUzBGQlN6aENMR0ZCUlhaRUxFOUJRVTg1UWl4TFFVRkxReXhQUVVGUFNTeFRRVUZUVnl4RlFVRkpMRWxCUjJ4RGJFSXNSVUZCVVZjc1ZVRkJWVFJHTEV0QlFVOHNWMEZEZGtJc1NVRkJTWEpHTEVWQlJVb3NTVUZCVnl4TFFVUllRU3hGUVVGSmFFSXNTMEZCUzBNc1QwRkJUMGtzVTBGQlUxa3NVVUZCVVdwQ0xGRkJRMnBDWjBJc1NVRkJUV2hDTEV0QlFVdERMRTlCUVU5SkxGTkJRVk5WTEU5QlFWTXNSVUZEYkVRc1RVRkJUU3hKUVVGSll5eE5RVUZOTERaQ1FVRXJRamRDTEV0QlFVczRRaXhoUVVWMFJDeFBRVUZQT1VJc1MwRkJTME1zVDBGQlQwa3NVMEZCVTFjc1JVRkJTU3hKUVVkc1EyeENMRVZCUVZGWExGVkJRVlUyUml4bFFVRnBRaXhUUVVGVGFFSXNSMEZETVVNc1NVRkJTV2xDTEVWQlMwb3NUMEZLUVVFc1JVRkJZV3BDTEVWQlFVbEpMRTlCUVU5akxGTkJRMkoyUnl4UFFVRlRSQ3hMUVVOd1FuVkhMRVZCUVZkb1F5eFJRVUZUTEVWQlEzQkNka1VzUzBGQlMwc3NVMEZCVXpSQ0xFdEJRVXR6UlN4SFFVTmFka2NzVFVGSFZFWXNSVUZCVVZjc1ZVRkJWWEZDTEZWQlFWa3NVMEZCVTI1Q0xFZEJRM0pETEVsQlFVbFhMRVZCUVUxeFFpeEZRVVZXTEU5QlFXRXNUMEZFWW1oRExFVkJRVTlCTEVkQlFWRllMRXRCUVV0WExGRkJRelJDTEU5QlFYWkNWeXhGUVVGUGRFSXNTMEZCUzBNc1VVRkJhMEp4UWl4RlFVRkxXQ3hWUVVGUExFZEJSV2hFTEUxQlFWSkJMRVZCUTBZc1dVRkJZMWdzUzBGQlMwTXNUMEZCVDFVc1MwRkJUeXhMUVVOTUxFOUJRWFpDWjBNc1JVRkJUek5ETEV0QlFVdERMRkZCUVd0Q01FTXNSVUZCUzJoRExGVkJRVThzUjBGSEwwTXNWVUZCV1VFc1JVRkJUeXhsUVVGcFFsZ3NTMEZCUzBNc1QwRkJUMVVzUzBGQlR5eEpRVVoyUkN4VlFVRlpRU3hGUVVGUExFbEJTbTVDTEVsQlZWaGlMRVZCUVZGWExGVkJRVlZuUnl4SlFVRk5MRk5CUVZNNVJpeEZRVUZOZDBJc1JVRkJXVU1zUjBGRGFrUXNUMEZCVDNCRExFdEJRVXRyUXl4UlFVRlJka0lzUlVGQlRYZENMRVZCUVZsRExFbEJSM2hEZEVNc1JVRkJVVmNzVlVGQlZXbEhMRWxCUVUwc1UwRkJVeTlHTEVWQlFVMTNRaXhGUVVGWlF5eEhRVU5xUkN4UFFVRlBjRU1zUzBGQlMybEZMRXRCUVV0MFJDeEZRVUZOZDBJc1JVRkJXVU1zU1VGSGNrTjBReXhGUVVGUlZ5eFZRVUZWYTBjc1NVRkJUU3hUUVVGVGRrY3NSMEZETDBJc1QwRkJUMG9zUzBGQlMyOURMRXRCUVV0b1F5eEpRVWR1UWs0c1JVRkJVVmNzVlVGQlZXMUhMRWxCUVUwc1UwRkJVM2hITEVkQlF5OUNMRTlCUVU5S0xFdEJRVXN3UkN4TlFVRk5kRVFzU1VGSGNFSk9MRVZCUVZGWExGVkJRVlZ2Unl4SlFVRk5MRk5CUVZONlJ5eEhRVU12UWl4UFFVRlBTaXhMUVVGTE5FUXNVVUZCVVhoRUxFbEJSM1JDVGl4RlFVRlJWeXhWUVVGVmNVY3NTVUZCVFN4VFFVRlRha01zUlVGQlVYcEZMRWRCUTNaRExFOUJRVTlLTEV0QlFVdG5SU3haUVVGWllTeEZRVUZSZWtVc1NVRkhiRU5PTEVWQlFWRlhMRlZCUVZVMlJTeEpRVUZOTEZkQlEzUkNMRTlCUVU5MFJpeExRVUZMYTBJc1dVRkhaSEJDTEVWQlFWRlhMRlZCUVZWelJ5eEpRVUZOTEZOQlFWTTFRaXhGUVVGVFF5eEZRVUZWUXl4SFFVTnNSQ3hQUVVGUGNrWXNTMEZCUzJ0R0xGbEJRVmxETEVWQlFWTkRMRVZCUVZWRExFbEJSemREZGtZc1JVRkJVVmNzVlVGQlZYVkhMRVZCUVVrc1UwRkJVM0pITEVWQlFVMTNRaXhGUVVGWlF5eEhRVU12UXl4UFFVRlBjRU1zUzBGQlMydERMRkZCUVZGMlFpeEZRVUZOZDBJc1JVRkJXVU1zU1VGSGVFTjBReXhGUVVGUlZ5eFZRVUZWZDBjc1JVRkJTU3hUUVVGVGRFY3NSVUZCVFhkQ0xFVkJRVmxETEVkQlF5OURMRTlCUVU5d1F5eExRVUZMYVVVc1MwRkJTM1JFTEVWQlFVMTNRaXhGUVVGWlF5eEpRVWR5UTNSRExFVkJRVkZYTEZWQlFWVjVSeXhGUVVGSkxGTkJRVk01Unl4SFFVTTNRaXhQUVVGUFNpeExRVUZMYjBNc1MwRkJTMmhETEVsQlIyNUNUaXhGUVVGUlZ5eFZRVUZWTUVjc1JVRkJTU3hUUVVGVEwwY3NSMEZETjBJc1QwRkJUMG9zUzBGQlN6QkVMRTFCUVUxMFJDeEpRVWR3UWs0c1JVRkJVVmNzVlVGQlZUSkhMRVZCUVVrc1UwRkJVMmhJTEVkQlF6ZENMRTlCUVU5S0xFdEJRVXMwUkN4UlFVRlJlRVFzU1VGSGRFSk9MRVZCUVZGWExGVkJRVlUwUnl4RlFVRkpMRk5CUVZOcVNDeEhRVU0zUWl4UFFVRlBTaXhMUVVGTE9FUXNTVUZCU1RGRUxFbEJSMnhDVGl4RlFVRlJWeXhWUVVGVlR5eEZRVUZKTEZOQlFWTTJSQ3hGUVVGUmVrVXNSMEZEY2tNc1QwRkJUMG9zUzBGQlMyZEZMRmxCUVZsaExFVkJRVkY2UlN4SlFVZHNRMDRzUlVGQlVWY3NWVUZCVlRaSExFVkJRVWtzVjBGRGNFSXNUMEZCVDNSSUxFdEJRVXRuUnl4TlFVZGtiRWNzUlVGQlVWY3NWVUZCVlRoSExHbENRVUZ0UWl4VFFVRlRha01zUjBGRE5VTXNUMEZCVDNSR0xFdEJRVXR6Unl4bFFVRmxhRUlzU1VGSE4wSjRSaXhGUVVGUlZ5eFZRVUZWSzBjc1lVRkJaU3hUUVVGVGNrUXNSVUZCVlhORUxFZEJRMnhFTEUxQlFVMHNTVUZCU1RWR0xFMUJRVTBzYzBOQlFYZEROMElzUzBGQlN6aENMR05CUnk5RWFFTXNSVUZCVVZjc1ZVRkJWV2xJTEZsQlFXTXNVMEZCVTBRc1IwRkRka01zVFVGQlRTeEpRVUZKTlVZc1RVRkJUU3h6UTBGQmQwTTNRaXhMUVVGTE9FSXNZMEZITDBSb1F5eEZRVUZSVnl4VlFVRlZhMGdzV1VGQll5eFRRVUZUZUVRc1IwRkRka01zVFVGQlRTeEpRVUZKZEVNc1RVRkJUU3h6UTBGQmQwTTNRaXhMUVVGTE9FSXNZMEZITDBSb1F5eEZRVUZSVnl4VlFVRlZiVWdzWTBGQlowSXNWMEZEYUVNc1QwRkJaME1zU1VGQmVrSTFTQ3hMUVVGTFN5eFRRVUZUVlN4UlFVZDJRbXBDTEVWQlFWRlhMRlZCUVZWdlNDeFZRVUZaTEZOQlFWTkRMRWRCUTNKRExFMUJRVTBzU1VGQlNXcEhMRTFCUVUwc2MwTkJRWGRETjBJc1MwRkJTemhDTEdOQlJ5OUVhRU1zUlVGQlVWY3NWVUZCVlhOSUxGVkJRVmtzVjBGRE5VSXNUVUZCVFN4SlFVRkpiRWNzVFVGQlRTeHpRMEZCZDBNM1FpeExRVUZMT0VJc1kwRkhMMFJvUXl4RlFVRlJWeXhWUVVGVmRVZ3NXVUZCWXl4VFFVRlRReXhGUVVGVE9VTXNSMEZEYUVRc1QwRkJUeXhIUVVkVWNrWXNSVUZCVVZjc1ZVRkJWWGxJTEdOQlFXZENMRmRCUTJoRExFOUJRU3RDTEVsQlFYaENiRWtzUzBGQlMyMUpMRkZCUVZGd1NDeFJRVWQwUW1wQ0xFVkJRVkZYTEZWQlFWVXlTQ3gzUWtGQk1FSXNVMEZCVTBNc1IwRkRia1FzU1VGQlUwTXNSVUZGVkN4UFFVUk5kRWtzUzBGQlFVRXNUMEZEVFhGSkxFVkJRMGdzUlVGRFJYSkpMRXRCUVV0clFpeGhRVUZsYlVnc1JVRkJUVzVJTEZsQlEyNURiMGdzUlVGQlRUbEtMRVZCUVdsQ0swb3NZVUZCWlM5S0xFVkJRV2xDWjBzc2RVSkJRMjVFUXl4TFFVRkxReXhUUVVGWExFZEJRMnhDU2l4SFFVRlBPVW9zUlVGQmFVSnRTeXhWUVVWNFFrd3NSMEZCVHpsS0xFVkJRV2xDYjBzc1ZVRkZia0pPTEVkQlZraDBTU3hMUVZkVE5ra3NWMEZCVjFJc1IwRkRha0kzU2l4RlFVRnBRbk5MTEZOQlFWZDBTeXhGUVVGcFFtMUxMRlZCV21oRU0wa3NTMEZoVXl0SkxHRkJRV0ZXTEVkQlEyNUNOMG9zUlVGQmFVSnpTeXhUUVVGWGRFc3NSVUZCYVVKdlN5eFZRV1JvUkRWSkxFdEJaVk5uU2l4WlFVRlpXQ3hIUVVOc1FqZEtMRVZCUVdsQ2JVc3NWVUZGYWtKdVN5eEZRVUZwUW05TExGZEJTVFZDT1Vrc1JVRkJVVmNzVlVGQlZYZEpMRmRCUVdFc1UwRkJVMW9zUjBGRGRFTXNUVUZCVFN4SlFVRkplRWNzVFVGQlRTeHpRMEZCZDBNM1FpeExRVUZMT0VJc1kwRkhMMFJvUXl4RlFVRlJWeXhWUVVGVmVVa3NZVUZCWlN4VFFVRlRReXhIUVVONFF5eE5RVUZOTEVsQlFVbDBTQ3hOUVVGTkxITkRRVUYzUXpkQ0xFdEJRVXM0UWl4alFVY3ZSR2hETEVWQlFWRlhMRlZCUVZVeVNTeHRRa0ZCY1VJc1UwRkJVMFFzUjBGRE9VTXNUVUZCVFN4SlFVRkpkRWdzVFVGQlRTeHpRMEZCZDBNM1FpeExRVUZMT0VJc1kwRkhMMFJvUXl4RlFVRlJWeXhWUVVGVk5Fa3NiVUpCUVhGQ0xGTkJRVk5ETEVkQlF6bERMRTFCUVUwc1NVRkJTWHBJTEUxQlFVMHNjME5CUVhkRE4wSXNTMEZCU3poQ0xHTkJSeTlFYUVNc1JVRkJVVmNzVlVGQlZUaEpMRmxCUVdNc1UwRkJVM1JHTEVkQlEzWkRMRWxCUVVscVJDeEZRVUZIU1N4RlFVRkhSU3hGUVVOV0xFZEJRVWt5UXl4RlFVRkxla01zVjBGQllYaENMRXRCUVV0M1FpeFRRVU42UWl4UFFVRlBMRVZCUlZRc1IwRkJTWGxETEVWQlFVczFSQ3hUUVVGVFZTeFRRVUZYWml4TFFVRkxTeXhUUVVGVFZTeFBRVU42UXl4UFFVRlBMRVZCUlZRc1NVRkJTME1zUlVGQlNVa3NSVUZCU1N4RlFVRkhSU3hGUVVGUGRFSXNTMEZCUzBzc1UwRkJVMVVzVDBGQlV5eEZRVUZITEVkQlFVdFBMRVZCUVU5R0xFZEJRVXRGTEVWQlFVOUdMRWRCUVV0RkxFVkJRVTFPTEVWQlFVa3NSMEZCUzAwc1NVRkJVMFlzU1VGQlRVRXNSVUZETVVjc1NVRkJTM0JDTEV0QlFVdExMRk5CUVZOWExFZEJRVWQxU1N4WlFVRlpkRVlzUlVGQlN6VkVMRk5CUVZOWExFbEJRemxETEU5QlFVOHNSVUZIV0N4UFFVRlBMRWRCUjFSc1FpeEZRVUZSVnl4VlFVRlZLMGtzVjBGQllTeFRRVUZUZGtJc1JVRkJVemxETEVkQlF5OURMRTFCUVUwc1NVRkJTWFJFTEUxQlFVMHNjME5CUVhkRE4wSXNTMEZCU3poQ0xHTkJSeTlFYUVNc1JVRkJVVmNzVlVGQlZXZEtMRmxCUVdNc1UwRkJVMnBJTEVWQlFVdHJTQ3hGUVVGTlF5eEhRVU5zUkN4TlFVRk5MRWxCUVVrNVNDeE5RVUZOTEhORFFVRjNRemRDTEV0QlFVczRRaXhqUVVjdlJHaERMRVZCUVZGWExGVkJRVlZ0U2l4WlFVRmpMRk5CUVZOd1NDeEhRVU4yUXl4TlFVRk5MRWxCUVVsWUxFMUJRVTBzYzBOQlFYZEROMElzUzBGQlN6aENMR05CUnk5RWFFTXNSVUZCVVZjc1ZVRkJWVzlLTEZOQlFWY3NVMEZCVTNoQ0xFZEJRM0JETEZGQlFVdEJMRWxCUjBWQkxFbEJRVlZ5U1N4TlFVRlJRU3hMUVVGTEswa3NZVUZCWVZZc1MwRkhOME4yU1N4RlFVRlJWeXhWUVVGVmMwa3NZVUZCWlN4VFFVRlRPVVVzUjBGRGVFTXNTVUZCU1RsRExFVkJRVEJDUXl4RlFVRkhReXhGUVVGTFF5eEZRVVYwUXl4SlFVRkxSaXhGUVVGSkxFVkJRVWRETEVkQlJGcERMRVZCUVU5MFFpeExRVUZMU3l4VlFVTlhWU3hQUVVGUlN5eEZRVUZKUXl4RlFVRkxSQ3hKUVVGTExFTkJSVE5ETEVkQlFVazJReXhMUVVSS09VTXNSVUZCVVVjc1JVRkJTMFlzU1VGRldDeFBRVUZQTEVWQlIxUXNSMEZFYjBKRUxFVkJRVTAwU0N4aFFVRmhPVVVzUjBGRmNrTXNUMEZCVHl4RlFVZFlMRTlCUVU4c1IwRkhWRzVGTEVWQlFWRlhMRlZCUVZWdlNTeFhRVUZoTEZOQlFWTTFSU3hIUVVOMFF5eFBRVUZQUVN4RlFVRkxPRVVzWVVGQllTOUpMRTlCUnpOQ1JpeEZRVUZSVnl4VlFVRlZkVWtzV1VGQll5eFRRVUZUTDBVc1IwRkRka01zU1VGQlNUWkdMRVZCUVZORExFVkJSMklzVDBGR1FVUXNSVUZCVlRsS0xFdEJRVXRuU3l4aFFVRmhMMFlzUjBGRE5VSTRSaXhGUVVGVkwwb3NTMEZCUzJkTExHRkJRV0ZvU3l4UFFVTllMRWxCUVdJNFNpeEpRVUVyUWl4SlFVRmlReXhIUVVkaVJDeEZRVUZWUXl4SFFVbHlRbXBMTEVWQlFWRlhMRlZCUVZWM1NpeFpRVUZqTEZOQlFWTm9SeXhIUVVOMlF5eEpRVUZKTmtZc1JVRkJVME1zUlVGSFlpeFBRVVpCUkN4RlFVRlZPVW9zUzBGQlMyZExMR0ZCUVdFdlJpeEhRVU0xUWpoR0xFVkJRVlV2U2l4TFFVRkxaMHNzWVVGQllXaExMRTlCUTFnc1NVRkJZamhLTEVsQlFTdENMRWxCUVdKRExFZEJSMkpFTEVWQlFWVkRMRWRCU1hKQ2Frc3NSVUZCVVZjc1ZVRkJWWFZLTEdGQlFXVXNVMEZCVXk5R0xFZEJRM2hETEVsQlFVbHBSeXhGUVVGUFF5eEZRVk5ZTEU5QlVrRkJMRVZCUVUwc1JVRkRUa1FzUjBGQlVTeEZRVU5TYkVzc1MwRkJTMjlMTEdkQ1FVRm5RbkJMTEV0QlFVdHJRaXhYUVVGWkxGTkJRVk50UWl4SFFVVTNReXhIUVVSQk9FZ3NTMEZEUzBRc1IwRkJVemRJTEVsQlFXTTBRaXhGUVVNeFFpeFBRVUZQYVVjc1IwRkJVU3hKUVVkbVFTeEZRVU5MUXl4SFFVVkRMRWRCU1ZweVN5eEZRVUZSVnl4VlFVRlZNa29zWjBKQlFXdENMRk5CUVZOdVJ5eEZRVUZOYjBjc1IwRkRha1FzU1VGQlNXeEtMRVZCUVU5RExFVkJRVWRETEVWQlFVdERMRVZCUVUxblNDeEZRVWQ2UWl4SlFVWkJja1VzU1VGQlUwRXNSVUZCVDJwRkxFdEJRVXRyUWl4WlFVVm9Ra1VzUlVGQlNTeEZRVUZIUXl4SFFVUmFReXhGUVVGUE1rTXNSVUZCU3pWRUxGVkJRMWRWTEU5QlFWRkxMRVZCUVVsRExFVkJRVXRFTEVsQlFVc3NRMEZGTTBNc1IwRkJTV3RJTEVWQlFVMHJRaXhGUVVSV2JFb3NSVUZCVVVjc1JVRkJTMFlzU1VGRldDeFBRVUZQYTBnc1JVRkhVQ3hIUVVSQlFTeEZRVUZOZEVrc1MwRkJTMjlMTEdkQ1FVRm5RbXBLTEVWQlFVOXJTaXhIUVVWb1F5eFBRVUZQTDBJc1NVRk5VbmhKTEVWQk0zVkNhMElzUzBFcmRVSXhRbXRFTEV0QlFVdG9SQ0lzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5emRHRm5hVzVuTDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwzaHRiR0oxYVd4a1pYSXZiR2xpTDFoTlRFNXZaR1V1YW5NaWZRPT0iLCIoZnVuY3Rpb24oKXttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dGhpcy5ub2Rlcz10fXJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsXCJsZW5ndGhcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZXMubGVuZ3RofHwwfX0pLHQucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZXM9bnVsbH0sdC5wcm90b3R5cGUuaXRlbT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5ub2Rlc1t0XXx8bnVsbH0sdH0oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEU1dlpHVk1hWE4wTG1weklsMHNJbTVoYldWeklqcGJJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0pZVFV4T2IyUmxUR2x6ZENJc0ltNXZaR1Z6SWl3aWRHaHBjeUlzSWs5aWFtVmpkQ0lzSW1SbFptbHVaVkJ5YjNCbGNuUjVJaXdpY0hKdmRHOTBlWEJsSWl3aVoyVjBJaXdpYkdWdVozUm9JaXdpWTJ4dmJtVWlMQ0pwZEdWdElpd2lhVzVrWlhnaUxDSmpZV3hzSWwwc0ltMWhjSEJwYm1keklqb2lRMEZEUVN4WFFVZEZRU3hQUVVGUFF5eFJRVUYzUWl4WFFVTTNRaXhUUVVGVFF5eEZRVUZaUXl4SFFVTnVRa01zUzBGQlMwUXNUVUZCVVVFc1JVRnBRbVlzVDBGa1FVVXNUMEZCVDBNc1pVRkJaVW9zUlVGQldVc3NWVUZCVnl4VFFVRlZMRU5CUTNKRVF5eEpRVUZMTEZkQlEwZ3NUMEZCVDBvc1MwRkJTMFFzVFVGQlRVMHNVVUZCVlN4TFFVbG9RMUFzUlVGQldVc3NWVUZCVlVjc1RVRkJVU3hYUVVNMVFpeFBRVUZQVGl4TFFVRkxSQ3hOUVVGUkxFMUJSM1JDUkN4RlFVRlpTeXhWUVVGVlNTeExRVUZQTEZOQlFWTkRMRWRCUTNCRExFOUJRVTlTTEV0QlFVdEVMRTFCUVUxVExFbEJRVlVzVFVGSGRrSldMRVZCYmtKelFpeExRWFZDT1VKWExFdEJRVXRVSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwzTjBZV2RwYm1jdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZlRzFzWW5WcGJHUmxjaTlzYVdJdldFMU1UbTlrWlV4cGMzUXVhbk1pZlE9PSIsIihmdW5jdGlvbigpe3ZhciB0LHIsaT17fS5oYXNPd25Qcm9wZXJ0eTt0PXJlcXVpcmUoXCIuL05vZGVUeXBlXCIpLHI9cmVxdWlyZShcIi4vWE1MQ2hhcmFjdGVyRGF0YVwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihlKXtmdW5jdGlvbiBvKHIsaSxlKXtpZihvLl9fc3VwZXJfXy5jb25zdHJ1Y3Rvci5jYWxsKHRoaXMsciksbnVsbD09aSl0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIGluc3RydWN0aW9uIHRhcmdldC4gXCIrdGhpcy5kZWJ1Z0luZm8oKSk7dGhpcy50eXBlPXQuUHJvY2Vzc2luZ0luc3RydWN0aW9uLHRoaXMudGFyZ2V0PXRoaXMuc3RyaW5naWZ5Lmluc1RhcmdldChpKSx0aGlzLm5hbWU9dGhpcy50YXJnZXQsZSYmKHRoaXMudmFsdWU9dGhpcy5zdHJpbmdpZnkuaW5zVmFsdWUoZSkpfXJldHVybiBmdW5jdGlvbih0LHIpe2Zvcih2YXIgZSBpbiByKWkuY2FsbChyLGUpJiYodFtlXT1yW2VdKTtmdW5jdGlvbiBvKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fW8ucHJvdG90eXBlPXIucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyBvLHQuX19zdXBlcl9fPXIucHJvdG90eXBlfShvLHIpLG8ucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdC5jcmVhdGUodGhpcyl9LG8ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMud3JpdGVyLnByb2Nlc3NpbmdJbnN0cnVjdGlvbih0aGlzLHRoaXMub3B0aW9ucy53cml0ZXIuZmlsdGVyT3B0aW9ucyh0KSl9LG8ucHJvdG90eXBlLmlzRXF1YWxOb2RlPWZ1bmN0aW9uKHQpe3JldHVybiEhby5fX3N1cGVyX18uaXNFcXVhbE5vZGUuYXBwbHkodGhpcyxhcmd1bWVudHMpLmlzRXF1YWxOb2RlKHQpJiZ0LnRhcmdldD09PXRoaXMudGFyZ2V0fSxvfSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URkJ5YjJObGMzTnBibWRKYm5OMGNuVmpkR2x2Ymk1cWN5SmRMQ0p1WVcxbGN5STZXeUpPYjJSbFZIbHdaU0lzSWxoTlRFTm9ZWEpoWTNSbGNrUmhkR0VpTENKb1lYTlFjbTl3SWl3aWFHRnpUM2R1VUhKdmNHVnlkSGtpTENKeVpYRjFhWEpsSWl3aWJXOWtkV3hsSWl3aVpYaHdiM0owY3lJc0luTjFjR1Z5UTJ4aGMzTWlMQ0pZVFV4UWNtOWpaWE56YVc1blNXNXpkSEoxWTNScGIyNGlMQ0p3WVhKbGJuUWlMQ0owWVhKblpYUWlMQ0oyWVd4MVpTSXNJbDlmYzNWd1pYSmZYeUlzSW1OdmJuTjBjblZqZEc5eUlpd2lZMkZzYkNJc0luUm9hWE1pTENKRmNuSnZjaUlzSW1SbFluVm5TVzVtYnlJc0luUjVjR1VpTENKUWNtOWpaWE56YVc1blNXNXpkSEoxWTNScGIyNGlMQ0p6ZEhKcGJtZHBabmtpTENKcGJuTlVZWEpuWlhRaUxDSnVZVzFsSWl3aWFXNXpWbUZzZFdVaUxDSmphR2xzWkNJc0ltdGxlU0lzSW1OMGIzSWlMQ0p3Y205MGIzUjVjR1VpTENKbGVIUmxibVFpTENKamJHOXVaU0lzSWs5aWFtVmpkQ0lzSW1OeVpXRjBaU0lzSW5SdlUzUnlhVzVuSWl3aWIzQjBhVzl1Y3lJc0luZHlhWFJsY2lJc0luQnliMk5sYzNOcGJtZEpibk4wY25WamRHbHZiaUlzSW1acGJIUmxjazl3ZEdsdmJuTWlMQ0pwYzBWeGRXRnNUbTlrWlNJc0ltNXZaR1VpTENKaGNIQnNlU0lzSW1GeVozVnRaVzUwY3lKZExDSnRZWEJ3YVc1bmN5STZJa05CUTBFc1YwRkRSU3hKUVVGSlFTeEZRVUZWUXl4RlFVVmFReXhGUVVGVkxFZEJRVWRETEdWQlJXWklMRVZCUVZkSkxGRkJRVkVzWTBGRmJrSklMRVZCUVcxQ1J5eFJRVUZSTEhOQ1FVVXpRa01zVDBGQlQwTXNVVUZCY1VNc1UwRkJWVU1zUjBGSGNFUXNVMEZCVTBNc1JVRkJlVUpETEVWQlFWRkRMRVZCUVZGRExFZEJSV2hFTEVkQlJFRklMRVZCUVhsQ1NTeFZRVUZWUXl4WlFVRlpReXhMUVVGTFF5eExRVUZOVGl4SFFVTTFReXhOUVVGV1F5eEZRVU5HTEUxQlFVMHNTVUZCU1Uwc1RVRkJUU3dyUWtGQmFVTkVMRXRCUVV0RkxHRkJSWGhFUml4TFFVRkxSeXhMUVVGUGJFSXNSVUZCVTIxQ0xITkNRVU55UWtvc1MwRkJTMHdzVDBGQlUwc3NTMEZCUzBzc1ZVRkJWVU1zVlVGQlZWZ3NSMEZEZGtOTExFdEJRVXRQTEV0QlFVOVFMRXRCUVV0TUxFOUJRMkpETEVsQlEwWkpMRXRCUVV0S0xFMUJRVkZKTEV0QlFVdExMRlZCUVZWSExGTkJRVk5hTEVsQmMwSjZReXhQUVhwRFV5eFRRVUZUWVN4RlFVRlBaaXhIUVVGVkxFbEJRVXNzU1VGQlNXZENMRXRCUVU5b1FpeEZRVUZqVUN4RlFVRlJXU3hMUVVGTFRDeEZRVUZSWjBJc1MwRkJUVVFzUlVGQlRVTXNSMEZCVDJoQ0xFVkJRVTluUWl4SlFVRlJMRk5CUVZORExFbEJRVk5ZTEV0QlFVdEdMRmxCUVdOWExFVkJRVk5GTEVWQlFVdERMRlZCUVZsc1FpeEZRVUZQYTBJc1ZVRkJWMGdzUlVGQlRVY3NWVUZCV1N4SlFVRkpSQ3hGUVVGUlJpeEZRVUZOV2l4VlFVRlpTQ3hGUVVGUGEwSXNWVUZSYUZGRExFTkJRVTl3UWl4RlFXMURUbEFzUjBGd1FrUlBMRVZCUVhsQ2JVSXNWVUZCVlVVc1RVRkJVU3hYUVVONlF5eFBRVUZQUXl4UFFVRlBReXhQUVVGUGFFSXNUMEZIZGtKUUxFVkJRWGxDYlVJc1ZVRkJWVXNzVTBGQlZ5eFRRVUZUUXl4SFFVTnlSQ3hQUVVGUGJFSXNTMEZCUzJ0Q0xGRkJRVkZETEU5QlFVOURMSE5DUVVGelFuQkNMRXRCUVUxQkxFdEJRVXRyUWl4UlFVRlJReXhQUVVGUFJTeGpRVUZqU0N4TFFVY3pSbnBDTEVWQlFYbENiVUlzVlVGQlZWVXNXVUZCWXl4VFFVRlRReXhIUVVONFJDeFJRVUZMT1VJc1JVRkJlVUpKTEZWQlFWVjVRaXhaUVVGWlJTeE5RVUZOZUVJc1MwRkJUWGxDTEZkQlFWZElMRmxCUVZsRExFbEJSMjVHUVN4RlFVRkxOVUlzVTBGQlYwc3NTMEZCUzB3c1VVRk5jRUpHTEVWQmJFTnRReXhMUVhORE0wTk5MRXRCUVV0RElpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMM04wWVdkcGJtY3ZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12ZUcxc1luVnBiR1JsY2k5c2FXSXZXRTFNVUhKdlkyVnpjMmx1WjBsdWMzUnlkV04wYVc5dUxtcHpJbjA9IiwiKGZ1bmN0aW9uKCl7dmFyIHQscixvPXt9Lmhhc093blByb3BlcnR5O3Q9cmVxdWlyZShcIi4vTm9kZVR5cGVcIikscj1yZXF1aXJlKFwiLi9YTUxOb2RlXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIGkocixvKXtpZihpLl9fc3VwZXJfXy5jb25zdHJ1Y3Rvci5jYWxsKHRoaXMsciksbnVsbD09byl0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIHJhdyB0ZXh0LiBcIit0aGlzLmRlYnVnSW5mbygpKTt0aGlzLnR5cGU9dC5SYXcsdGhpcy52YWx1ZT10aGlzLnN0cmluZ2lmeS5yYXcobyl9cmV0dXJuIGZ1bmN0aW9uKHQscil7Zm9yKHZhciBlIGluIHIpby5jYWxsKHIsZSkmJih0W2VdPXJbZV0pO2Z1bmN0aW9uIGkoKXt0aGlzLmNvbnN0cnVjdG9yPXR9aS5wcm90b3R5cGU9ci5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IGksdC5fX3N1cGVyX189ci5wcm90b3R5cGV9KGksciksaS5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LmNyZWF0ZSh0aGlzKX0saS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy53cml0ZXIucmF3KHRoaXMsdGhpcy5vcHRpb25zLndyaXRlci5maWx0ZXJPcHRpb25zKHQpKX0saX0oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEZKaGR5NXFjeUpkTENKdVlXMWxjeUk2V3lKT2IyUmxWSGx3WlNJc0lsaE5URTV2WkdVaUxDSm9ZWE5RY205d0lpd2lhR0Z6VDNkdVVISnZjR1Z5ZEhraUxDSnlaWEYxYVhKbElpd2liVzlrZFd4bElpd2laWGh3YjNKMGN5SXNJbk4xY0dWeVEyeGhjM01pTENKWVRVeFNZWGNpTENKd1lYSmxiblFpTENKMFpYaDBJaXdpWDE5emRYQmxjbDlmSWl3aVkyOXVjM1J5ZFdOMGIzSWlMQ0pqWVd4c0lpd2lkR2hwY3lJc0lrVnljbTl5SWl3aVpHVmlkV2RKYm1adklpd2lkSGx3WlNJc0lsSmhkeUlzSW5aaGJIVmxJaXdpYzNSeWFXNW5hV1o1SWl3aWNtRjNJaXdpWTJocGJHUWlMQ0pyWlhraUxDSmpkRzl5SWl3aWNISnZkRzkwZVhCbElpd2laWGgwWlc1a0lpd2lZMnh2Ym1VaUxDSlBZbXBsWTNRaUxDSmpjbVZoZEdVaUxDSjBiMU4wY21sdVp5SXNJbTl3ZEdsdmJuTWlMQ0ozY21sMFpYSWlMQ0ptYVd4MFpYSlBjSFJwYjI1eklsMHNJbTFoY0hCcGJtZHpJam9pUTBGRFFTeFhRVU5GTEVsQlFVbEJMRVZCUVZWRExFVkJSVnBETEVWQlFWVXNSMEZCUjBNc1pVRkZaa2dzUlVGQlYwa3NVVUZCVVN4alFVVnVRa2dzUlVGQlZVY3NVVUZCVVN4aFFVVnNRa01zVDBGQlQwTXNVVUZCYlVJc1UwRkJWVU1zUjBGSGJFTXNVMEZCVTBNc1JVRkJUME1zUlVGQlVVTXNSMEZGZEVJc1IwRkVRVVlzUlVGQlQwY3NWVUZCVlVNc1dVRkJXVU1zUzBGQlMwTXNTMEZCVFV3c1IwRkROVUlzVFVGQlVrTXNSVUZEUml4TlFVRk5MRWxCUVVsTExFMUJRVTBzY1VKQlFYVkNSQ3hMUVVGTFJTeGhRVVU1UTBZc1MwRkJTMGNzUzBGQlQycENMRVZCUVZOclFpeEpRVU55UWtvc1MwRkJTMHNzVFVGQlVVd3NTMEZCUzAwc1ZVRkJWVU1zU1VGQlNWZ3NSMEZYYkVNc1QwRXpRbE1zVTBGQlUxa3NSVUZCVDJJc1IwRkJWU3hKUVVGTExFbEJRVWxqTEV0QlFVOWtMRVZCUVdOUUxFVkJRVkZYTEV0QlFVdEtMRVZCUVZGakxFdEJRVTFFTEVWQlFVMURMRWRCUVU5a0xFVkJRVTlqTEVsQlFWRXNVMEZCVTBNc1NVRkJVMVlzUzBGQlMwWXNXVUZCWTFVc1JVRkJVMFVzUlVGQlMwTXNWVUZCV1doQ0xFVkJRVTluUWl4VlFVRlhTQ3hGUVVGTlJ5eFZRVUZaTEVsQlFVbEVMRVZCUVZGR0xFVkJRVTFZTEZWQlFWbEdMRVZCUVU5blFpeFZRVkZvVVVNc1EwRkJUMnhDTEVWQmNVSk9VQ3hIUVZaRVR5eEZRVUZQYVVJc1ZVRkJWVVVzVFVGQlVTeFhRVU4yUWl4UFFVRlBReXhQUVVGUFF5eFBRVUZQWml4UFFVZDJRazRzUlVGQlQybENMRlZCUVZWTExGTkJRVmNzVTBGQlUwTXNSMEZEYmtNc1QwRkJUMnBDTEV0QlFVdHBRaXhSUVVGUlF5eFBRVUZQV0N4SlFVRkpVQ3hMUVVGTlFTeExRVUZMYVVJc1VVRkJVVU1zVDBGQlQwTXNZMEZCWTBZc1MwRkhiRVYyUWl4RlFYQkNhVUlzUzBGM1FucENTeXhMUVVGTFF5SXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl6ZEdGbmFXNW5MM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDNodGJHSjFhV3hrWlhJdmJHbGlMMWhOVEZKaGR5NXFjeUo5IiwiKGZ1bmN0aW9uKCl7dmFyIHQsZSxyLHM9e30uaGFzT3duUHJvcGVydHk7dD1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxyPXJlcXVpcmUoXCIuL1hNTFdyaXRlckJhc2VcIiksZT1yZXF1aXJlKFwiLi9Xcml0ZXJTdGF0ZVwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihpKXtmdW5jdGlvbiBuKHQsZSl7dGhpcy5zdHJlYW09dCxuLl9fc3VwZXJfXy5jb25zdHJ1Y3Rvci5jYWxsKHRoaXMsZSl9cmV0dXJuIGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByIGluIGUpcy5jYWxsKGUscikmJih0W3JdPWVbcl0pO2Z1bmN0aW9uIGkoKXt0aGlzLmNvbnN0cnVjdG9yPXR9aS5wcm90b3R5cGU9ZS5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IGksdC5fX3N1cGVyX189ZS5wcm90b3R5cGV9KG4sciksbi5wcm90b3R5cGUuZW5kbGluZT1mdW5jdGlvbih0LHIscyl7cmV0dXJuIHQuaXNMYXN0Um9vdE5vZGUmJnIuc3RhdGU9PT1lLkNsb3NlVGFnP1wiXCI6bi5fX3N1cGVyX18uZW5kbGluZS5jYWxsKHRoaXMsdCxyLHMpfSxuLnByb3RvdHlwZS5kb2N1bWVudD1mdW5jdGlvbih0LGUpe3ZhciByLHMsaSxuLG8sYSxoLGwscDtmb3Iocz1pPTAsbz0oaD10LmNoaWxkcmVuKS5sZW5ndGg7aTxvO3M9KytpKShyPWhbc10pLmlzTGFzdFJvb3ROb2RlPXM9PT10LmNoaWxkcmVuLmxlbmd0aC0xO2ZvcihlPXRoaXMuZmlsdGVyT3B0aW9ucyhlKSxwPVtdLG49MCxhPShsPXQuY2hpbGRyZW4pLmxlbmd0aDtuPGE7bisrKXI9bFtuXSxwLnB1c2godGhpcy53cml0ZUNoaWxkTm9kZShyLGUsMCkpO3JldHVybiBwfSxuLnByb3RvdHlwZS5hdHRyaWJ1dGU9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0aGlzLnN0cmVhbS53cml0ZShuLl9fc3VwZXJfXy5hdHRyaWJ1dGUuY2FsbCh0aGlzLHQsZSxyKSl9LG4ucHJvdG90eXBlLmNkYXRhPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdGhpcy5zdHJlYW0ud3JpdGUobi5fX3N1cGVyX18uY2RhdGEuY2FsbCh0aGlzLHQsZSxyKSl9LG4ucHJvdG90eXBlLmNvbW1lbnQ9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0aGlzLnN0cmVhbS53cml0ZShuLl9fc3VwZXJfXy5jb21tZW50LmNhbGwodGhpcyx0LGUscikpfSxuLnByb3RvdHlwZS5kZWNsYXJhdGlvbj1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMuc3RyZWFtLndyaXRlKG4uX19zdXBlcl9fLmRlY2xhcmF0aW9uLmNhbGwodGhpcyx0LGUscikpfSxuLnByb3RvdHlwZS5kb2NUeXBlPWZ1bmN0aW9uKHQscixzKXt2YXIgaSxuLG8sYTtpZihzfHwocz0wKSx0aGlzLm9wZW5Ob2RlKHQscixzKSxyLnN0YXRlPWUuT3BlblRhZyx0aGlzLnN0cmVhbS53cml0ZSh0aGlzLmluZGVudCh0LHIscykpLHRoaXMuc3RyZWFtLndyaXRlKFwiPCFET0NUWVBFIFwiK3Qucm9vdCgpLm5hbWUpLHQucHViSUQmJnQuc3lzSUQ/dGhpcy5zdHJlYW0ud3JpdGUoJyBQVUJMSUMgXCInK3QucHViSUQrJ1wiIFwiJyt0LnN5c0lEKydcIicpOnQuc3lzSUQmJnRoaXMuc3RyZWFtLndyaXRlKCcgU1lTVEVNIFwiJyt0LnN5c0lEKydcIicpLHQuY2hpbGRyZW4ubGVuZ3RoPjApe2Zvcih0aGlzLnN0cmVhbS53cml0ZShcIiBbXCIpLHRoaXMuc3RyZWFtLndyaXRlKHRoaXMuZW5kbGluZSh0LHIscykpLHIuc3RhdGU9ZS5JbnNpZGVUYWcsbj0wLG89KGE9dC5jaGlsZHJlbikubGVuZ3RoO248bztuKyspaT1hW25dLHRoaXMud3JpdGVDaGlsZE5vZGUoaSxyLHMrMSk7ci5zdGF0ZT1lLkNsb3NlVGFnLHRoaXMuc3RyZWFtLndyaXRlKFwiXVwiKX1yZXR1cm4gci5zdGF0ZT1lLkNsb3NlVGFnLHRoaXMuc3RyZWFtLndyaXRlKHIuc3BhY2VCZWZvcmVTbGFzaCtcIj5cIiksdGhpcy5zdHJlYW0ud3JpdGUodGhpcy5lbmRsaW5lKHQscixzKSksci5zdGF0ZT1lLk5vbmUsdGhpcy5jbG9zZU5vZGUodCxyLHMpfSxuLnByb3RvdHlwZS5lbGVtZW50PWZ1bmN0aW9uKHIsaSxuKXt2YXIgbyxhLGgsbCxwLHUsYyxkLF87Zm9yKGMgaW4gbnx8KG49MCksdGhpcy5vcGVuTm9kZShyLGksbiksaS5zdGF0ZT1lLk9wZW5UYWcsdGhpcy5zdHJlYW0ud3JpdGUodGhpcy5pbmRlbnQocixpLG4pK1wiPFwiK3IubmFtZSksZD1yLmF0dHJpYnMpcy5jYWxsKGQsYykmJihvPWRbY10sdGhpcy5hdHRyaWJ1dGUobyxpLG4pKTtpZihsPTA9PT0oaD1yLmNoaWxkcmVuLmxlbmd0aCk/bnVsbDpyLmNoaWxkcmVuWzBdLDA9PT1ofHxyLmNoaWxkcmVuLmV2ZXJ5KGZ1bmN0aW9uKGUpe3JldHVybihlLnR5cGU9PT10LlRleHR8fGUudHlwZT09PXQuUmF3KSYmXCJcIj09PWUudmFsdWV9KSlpLmFsbG93RW1wdHk/KHRoaXMuc3RyZWFtLndyaXRlKFwiPlwiKSxpLnN0YXRlPWUuQ2xvc2VUYWcsdGhpcy5zdHJlYW0ud3JpdGUoXCI8L1wiK3IubmFtZStcIj5cIikpOihpLnN0YXRlPWUuQ2xvc2VUYWcsdGhpcy5zdHJlYW0ud3JpdGUoaS5zcGFjZUJlZm9yZVNsYXNoK1wiLz5cIikpO2Vsc2UgaWYoIWkucHJldHR5fHwxIT09aHx8bC50eXBlIT09dC5UZXh0JiZsLnR5cGUhPT10LlJhd3x8bnVsbD09bC52YWx1ZSl7Zm9yKHRoaXMuc3RyZWFtLndyaXRlKFwiPlwiK3RoaXMuZW5kbGluZShyLGksbikpLGkuc3RhdGU9ZS5JbnNpZGVUYWcscD0wLHU9KF89ci5jaGlsZHJlbikubGVuZ3RoO3A8dTtwKyspYT1fW3BdLHRoaXMud3JpdGVDaGlsZE5vZGUoYSxpLG4rMSk7aS5zdGF0ZT1lLkNsb3NlVGFnLHRoaXMuc3RyZWFtLndyaXRlKHRoaXMuaW5kZW50KHIsaSxuKStcIjwvXCIrci5uYW1lK1wiPlwiKX1lbHNlIHRoaXMuc3RyZWFtLndyaXRlKFwiPlwiKSxpLnN0YXRlPWUuSW5zaWRlVGFnLGkuc3VwcHJlc3NQcmV0dHlDb3VudCsrLCEwLHRoaXMud3JpdGVDaGlsZE5vZGUobCxpLG4rMSksaS5zdXBwcmVzc1ByZXR0eUNvdW50LS0sITEsaS5zdGF0ZT1lLkNsb3NlVGFnLHRoaXMuc3RyZWFtLndyaXRlKFwiPC9cIityLm5hbWUrXCI+XCIpO3JldHVybiB0aGlzLnN0cmVhbS53cml0ZSh0aGlzLmVuZGxpbmUocixpLG4pKSxpLnN0YXRlPWUuTm9uZSx0aGlzLmNsb3NlTm9kZShyLGksbil9LG4ucHJvdG90eXBlLnByb2Nlc3NpbmdJbnN0cnVjdGlvbj1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMuc3RyZWFtLndyaXRlKG4uX19zdXBlcl9fLnByb2Nlc3NpbmdJbnN0cnVjdGlvbi5jYWxsKHRoaXMsdCxlLHIpKX0sbi5wcm90b3R5cGUucmF3PWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdGhpcy5zdHJlYW0ud3JpdGUobi5fX3N1cGVyX18ucmF3LmNhbGwodGhpcyx0LGUscikpfSxuLnByb3RvdHlwZS50ZXh0PWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdGhpcy5zdHJlYW0ud3JpdGUobi5fX3N1cGVyX18udGV4dC5jYWxsKHRoaXMsdCxlLHIpKX0sbi5wcm90b3R5cGUuZHRkQXR0TGlzdD1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMuc3RyZWFtLndyaXRlKG4uX19zdXBlcl9fLmR0ZEF0dExpc3QuY2FsbCh0aGlzLHQsZSxyKSl9LG4ucHJvdG90eXBlLmR0ZEVsZW1lbnQ9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0aGlzLnN0cmVhbS53cml0ZShuLl9fc3VwZXJfXy5kdGRFbGVtZW50LmNhbGwodGhpcyx0LGUscikpfSxuLnByb3RvdHlwZS5kdGRFbnRpdHk9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0aGlzLnN0cmVhbS53cml0ZShuLl9fc3VwZXJfXy5kdGRFbnRpdHkuY2FsbCh0aGlzLHQsZSxyKSl9LG4ucHJvdG90eXBlLmR0ZE5vdGF0aW9uPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdGhpcy5zdHJlYW0ud3JpdGUobi5fX3N1cGVyX18uZHRkTm90YXRpb24uY2FsbCh0aGlzLHQsZSxyKSl9LG59KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRGTjBjbVZoYlZkeWFYUmxjaTVxY3lKZExDSnVZVzFsY3lJNld5Sk9iMlJsVkhsd1pTSXNJbGR5YVhSbGNsTjBZWFJsSWl3aVdFMU1WM0pwZEdWeVFtRnpaU0lzSW1oaGMxQnliM0FpTENKb1lYTlBkMjVRY205d1pYSjBlU0lzSW5KbGNYVnBjbVVpTENKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aWMzVndaWEpEYkdGemN5SXNJbGhOVEZOMGNtVmhiVmR5YVhSbGNpSXNJbk4wY21WaGJTSXNJbTl3ZEdsdmJuTWlMQ0owYUdseklpd2lYMTl6ZFhCbGNsOWZJaXdpWTI5dWMzUnlkV04wYjNJaUxDSmpZV3hzSWl3aVkyaHBiR1FpTENKd1lYSmxiblFpTENKclpYa2lMQ0pqZEc5eUlpd2ljSEp2ZEc5MGVYQmxJaXdpWlhoMFpXNWtJaXdpWlc1a2JHbHVaU0lzSW01dlpHVWlMQ0pzWlhabGJDSXNJbWx6VEdGemRGSnZiM1JPYjJSbElpd2ljM1JoZEdVaUxDSkRiRzl6WlZSaFp5SXNJbVJ2WTNWdFpXNTBJaXdpWkc5aklpd2lhU0lzSW1vaUxDSnJJaXdpYkdWdUlpd2liR1Z1TVNJc0luSmxaaUlzSW5KbFpqRWlMQ0p5WlhOMWJIUnpJaXdpWTJocGJHUnlaVzRpTENKc1pXNW5kR2dpTENKbWFXeDBaWEpQY0hScGIyNXpJaXdpY0hWemFDSXNJbmR5YVhSbFEyaHBiR1JPYjJSbElpd2lZWFIwY21saWRYUmxJaXdpWVhSMElpd2lkM0pwZEdVaUxDSmpaR0YwWVNJc0ltTnZiVzFsYm5RaUxDSmtaV05zWVhKaGRHbHZiaUlzSW1SdlkxUjVjR1VpTENKdmNHVnVUbTlrWlNJc0lrOXdaVzVVWVdjaUxDSnBibVJsYm5RaUxDSnliMjkwSWl3aWJtRnRaU0lzSW5CMVlrbEVJaXdpYzNselNVUWlMQ0pKYm5OcFpHVlVZV2NpTENKemNHRmpaVUpsWm05eVpWTnNZWE5vSWl3aVRtOXVaU0lzSW1Oc2IzTmxUbTlrWlNJc0ltVnNaVzFsYm5RaUxDSmphR2xzWkU1dlpHVkRiM1Z1ZENJc0ltWnBjbk4wUTJocGJHUk9iMlJsSWl3aVlYUjBjbWxpY3lJc0ltVjJaWEo1SWl3aVpTSXNJblI1Y0dVaUxDSlVaWGgwSWl3aVVtRjNJaXdpZG1Gc2RXVWlMQ0poYkd4dmQwVnRjSFI1SWl3aWNISmxkSFI1SWl3aWMzVndjSEpsYzNOUWNtVjBkSGxEYjNWdWRDSXNJbkJ5YjJObGMzTnBibWRKYm5OMGNuVmpkR2x2YmlJc0luSmhkeUlzSW5SbGVIUWlMQ0prZEdSQmRIUk1hWE4wSWl3aVpIUmtSV3hsYldWdWRDSXNJbVIwWkVWdWRHbDBlU0lzSW1SMFpFNXZkR0YwYVc5dUlsMHNJbTFoY0hCcGJtZHpJam9pUTBGRFFTeFhRVU5GTEVsQlFVbEJMRVZCUVZWRExFVkJRVGhDUXl4RlFVVXhRME1zUlVGQlZTeEhRVUZIUXl4bFFVVm1TaXhGUVVGWFN5eFJRVUZSTEdOQlJXNUNTQ3hGUVVGblFrY3NVVUZCVVN4dFFrRkZlRUpLTEVWQlFXTkpMRkZCUVZFc2FVSkJSWFJDUXl4UFFVRlBReXhSUVVFMFFpeFRRVUZWUXl4SFFVY3pReXhUUVVGVFF5eEZRVUZuUWtNc1JVRkJVVU1zUjBGREwwSkRMRXRCUVV0R0xFOUJRVk5CTEVWQlEyUkVMRVZCUVdkQ1NTeFZRVUZWUXl4WlFVRlpReXhMUVVGTFNDeExRVUZOUkN4SFFUQktia1FzVDBGNFMxTXNVMEZCVTBzc1JVRkJUME1zUjBGQlZTeEpRVUZMTEVsQlFVbERMRXRCUVU5RUxFVkJRV05rTEVWQlFWRlpMRXRCUVV0RkxFVkJRVkZETEV0QlFVMUdMRVZCUVUxRkxFZEJRVTlFTEVWQlFVOURMRWxCUVZFc1UwRkJVME1zU1VGQlUxQXNTMEZCUzBVc1dVRkJZMFVzUlVGQlUwY3NSVUZCUzBNc1ZVRkJXVWdzUlVGQlQwY3NWVUZCVjBvc1JVRkJUVWtzVlVGQldTeEpRVUZKUkN4RlFVRlJTQ3hGUVVGTlNDeFZRVUZaU1N4RlFVRlBSeXhWUVZWb1VVTXNRMEZCVDFvc1JVRm5TMDVRTEVkQmVrcEVUeXhGUVVGblFsY3NWVUZCVlVVc1VVRkJWU3hUUVVGVFF5eEZRVUZOV2l4RlFVRlRZU3hIUVVNeFJDeFBRVUZKUkN4RlFVRkxSU3huUWtGQmEwSmtMRVZCUVZGbExGRkJRVlY2UWl4RlFVRlpNRUlzVTBGRGFFUXNSMEZGUVd4Q0xFVkJRV2RDU1N4VlFVRlZVeXhSUVVGUlVDeExRVUZMU0N4TFFVRk5WeXhGUVVGTldpeEZRVUZUWVN4SlFVbDJSV1lzUlVGQlowSlhMRlZCUVZWUkxGTkJRVmNzVTBGQlUwTXNSVUZCUzJ4Q0xFZEJRMnBFTEVsQlFVbExMRVZCUVU5akxFVkJRVWRETEVWQlFVZERMRVZCUVVkRExFVkJRVXRETEVWQlFVMURMRVZCUVV0RExFVkJRVTFETEVWQlJURkRMRWxCUVV0UUxFVkJRVWxETEVWQlFVa3NSVUZCUjBVc1IwRkVhRUpGTEVWQlFVMU9MRVZCUVVsVExGVkJRMmRDUXl4UFFVRlJVaXhGUVVGSlJTeEZRVUZMU0N4SlFVRk5ReXhIUVVNdlEyWXNSVUZCVVcxQ0xFVkJRVWxNTEVsQlEwNU1MR1ZCUVdsQ1N5eEpRVUZOUkN4RlFVRkpVeXhUUVVGVFF5eFBRVUZUTEVWQlMzSkVMRWxCU0VFMVFpeEZRVUZWUXl4TFFVRkxORUlzWTBGQll6ZENMRWRCUlRkQ01FSXNSVUZCVlN4SFFVTk1UQ3hGUVVGSkxFVkJRVWRGTEVkQlJscEZMRVZCUVU5UUxFVkJRVWxUTEZWQlJXRkRMRTlCUVZGUUxFVkJRVWxGTEVWQlFVMUdMRWxCUTNoRGFFSXNSVUZCVVc5Q0xFVkJRVXRLTEVkQlEySkxMRVZCUVZGSkxFdEJRVXMzUWl4TFFVRkxPRUlzWlVGQlpURkNMRVZCUVU5TUxFVkJRVk1zU1VGRmJrUXNUMEZCVHpCQ0xFZEJSMVExUWl4RlFVRm5RbGNzVlVGQlZYVkNMRlZCUVZrc1UwRkJVME1zUlVGQlMycERMRVZCUVZOaExFZEJRek5FTEU5QlFVOWFMRXRCUVV0R0xFOUJRVTl0UXl4TlFVRk5jRU1zUlVGQlowSkpMRlZCUVZVNFFpeFZRVUZWTlVJc1MwRkJTMGdzUzBGQlRXZERMRVZCUVV0cVF5eEZRVUZUWVN4TFFVZDRSbVlzUlVGQlowSlhMRlZCUVZVd1FpeE5RVUZSTEZOQlFWTjJRaXhGUVVGTldpeEZRVUZUWVN4SFFVTjRSQ3hQUVVGUFdpeExRVUZMUml4UFFVRlBiVU1zVFVGQlRYQkRMRVZCUVdkQ1NTeFZRVUZWYVVNc1RVRkJUUzlDTEV0QlFVdElMRXRCUVUxWExFVkJRVTFhTEVWQlFWTmhMRXRCUjNKR1ppeEZRVUZuUWxjc1ZVRkJWVEpDTEZGQlFWVXNVMEZCVTNoQ0xFVkJRVTFhTEVWQlFWTmhMRWRCUXpGRUxFOUJRVTlhTEV0QlFVdEdMRTlCUVU5dFF5eE5RVUZOY0VNc1JVRkJaMEpKTEZWQlFWVnJReXhSUVVGUmFFTXNTMEZCUzBnc1MwRkJUVmNzUlVGQlRWb3NSVUZCVTJFc1MwRkhka1ptTEVWQlFXZENWeXhWUVVGVk5FSXNXVUZCWXl4VFFVRlRla0lzUlVGQlRWb3NSVUZCVTJFc1IwRkRPVVFzVDBGQlQxb3NTMEZCUzBZc1QwRkJUMjFETEUxQlFVMXdReXhGUVVGblFra3NWVUZCVlcxRExGbEJRVmxxUXl4TFFVRkxTQ3hMUVVGTlZ5eEZRVUZOV2l4RlFVRlRZU3hMUVVjelJtWXNSVUZCWjBKWExGVkJRVlUyUWl4UlFVRlZMRk5CUVZNeFFpeEZRVUZOV2l4RlFVRlRZU3hIUVVNeFJDeEpRVUZKVWl4RlFVRlBaU3hGUVVGSFJTeEZRVUZMUlN4RlFWZHVRaXhIUVZaQldDeEpRVUZWUVN4RlFVRlJMRWRCUTJ4Q1dpeExRVUZMYzBNc1UwRkJVek5DTEVWQlFVMWFMRVZCUVZOaExFZEJRemRDWWl4RlFVRlJaU3hOUVVGUmVrSXNSVUZCV1d0RUxGRkJRelZDZGtNc1MwRkJTMFlzVDBGQlQyMURMRTFCUVUxcVF5eExRVUZMZDBNc1QwRkJUemRDTEVWQlFVMWFMRVZCUVZOaExFbEJRemREV2l4TFFVRkxSaXhQUVVGUGJVTXNUVUZCVFN4aFFVRmxkRUlzUlVGQlN6aENMRTlCUVU5RExFMUJRM3BETDBJc1JVRkJTMmRETEU5QlFWTm9ReXhGUVVGTGFVTXNUVUZEY2tJMVF5eExRVUZMUml4UFFVRlBiVU1zVFVGQlRTeFpRVUZqZEVJc1JVRkJTMmRETEUxQlFWRXNUVUZCVVdoRExFVkJRVXRwUXl4TlFVRlJMRXRCUTNwRWFrTXNSVUZCUzJsRExFOUJRMlExUXl4TFFVRkxSaXhQUVVGUGJVTXNUVUZCVFN4WlFVRmpkRUlzUlVGQlMybERMRTFCUVZFc1MwRkZNME5xUXl4RlFVRkxaU3hUUVVGVFF5eFBRVUZUTEVWQlFVY3NRMEZMTlVJc1NVRktRVE5DTEV0QlFVdEdMRTlCUVU5dFF5eE5RVUZOTEUxQlEyeENha01zUzBGQlMwWXNUMEZCVDIxRExFMUJRVTFxUXl4TFFVRkxWU3hSUVVGUlF5eEZRVUZOV2l4RlFVRlRZU3hKUVVNNVEySXNSVUZCVVdVc1RVRkJVWHBDTEVWQlFWbDNSQ3hWUVVWMlFqRkNMRVZCUVVrc1JVRkJSMFVzUjBGRVdrVXNSVUZCVFZvc1JVRkJTMlVzVlVGRFYwTXNUMEZCVVZJc1JVRkJTVVVzUlVGQlMwWXNTVUZEY2tObUxFVkJRVkZ0UWl4RlFVRkpTaXhIUVVOYWJrSXNTMEZCU3poQ0xHVkJRV1V4UWl4RlFVRlBUQ3hGUVVGVFlTeEZRVUZSTEVkQlJUbERZaXhGUVVGUlpTeE5RVUZSZWtJc1JVRkJXVEJDTEZOQlF6VkNaaXhMUVVGTFJpeFBRVUZQYlVNc1RVRkJUU3hMUVUxd1FpeFBRVXBCYkVNc1JVRkJVV1VzVFVGQlVYcENMRVZCUVZrd1FpeFRRVU0xUW1Zc1MwRkJTMFlzVDBGQlQyMURMRTFCUVUxc1F5eEZRVUZSSzBNc2FVSkJRVzFDTEV0QlF6ZERPVU1zUzBGQlMwWXNUMEZCVDIxRExFMUJRVTFxUXl4TFFVRkxWU3hSUVVGUlF5eEZRVUZOV2l4RlFVRlRZU3hKUVVNNVEySXNSVUZCVVdVc1RVRkJVWHBDTEVWQlFWa3dSQ3hMUVVOeVFpOURMRXRCUVV0blJDeFZRVUZWY2tNc1JVRkJUVm9zUlVGQlUyRXNTVUZIZGtObUxFVkJRV2RDVnl4VlFVRlZlVU1zVVVGQlZTeFRRVUZUZEVNc1JVRkJUVm9zUlVGQlUyRXNSMEZETVVRc1NVRkJTVzlDTEVWQlFVczFRaXhGUVVGUE9FTXNSVUZCWjBKRExFVkJRV2RDYUVNc1JVRkJSMFVzUlVGQlMzRkNMRVZCUVhkQ2JrSXNSVUZCUzBNc1JVRk5ja1lzU1VGQlMydENMRXRCVEV3NVFpeEpRVUZWUVN4RlFVRlJMRWRCUTJ4Q1dpeExRVUZMYzBNc1UwRkJVek5DTEVWQlFVMWFMRVZCUVZOaExFZEJRemRDWWl4RlFVRlJaU3hOUVVGUmVrSXNSVUZCV1d0RUxGRkJRelZDZGtNc1MwRkJTMFlzVDBGQlQyMURMRTFCUVUxcVF5eExRVUZMZDBNc1QwRkJUemRDTEVWQlFVMWFMRVZCUVZOaExFZEJRVk1zU1VGQlRVUXNSVUZCU3l0Q0xFMUJRMnBGYmtJc1JVRkJUVm9zUlVGQlMzbERMRkZCUlVvM1JDeEZRVUZSV1N4TFFVRkxiMElzUlVGQlMyMUNMRXRCUTNaQ1ZpeEZRVUZOVkN4RlFVRkpiVUlzUjBGRFZqRkRMRXRCUVVzclFpeFZRVUZWUXl4RlFVRkxha01zUlVGQlUyRXNTVUZKTDBJc1IwRkVRWFZETEVWQlFXOURMRXRCUkhCRFJDeEZRVUZwUW5aRExFVkJRVXRsTEZOQlFWTkRMRkZCUTFNc1MwRkJUMmhDTEVWQlFVdGxMRk5CUVZNc1IwRkRkRU1zU1VGQmJrSjNRaXhIUVVGM1FuWkRMRVZCUVV0bExGTkJRVk15UWl4TlFVRk5MRk5CUVZORExFZEJRM1pFTEU5QlFWRkJMRVZCUVVWRExFOUJRVk51UlN4RlFVRlRiMFVzVFVGQlVVWXNSVUZCUlVNc1QwRkJVMjVGTEVWQlFWTnhSU3hOUVVGdlFpeExRVUZhU0N4RlFVRkZTU3hSUVVVNVJETkVMRVZCUVZFMFJDeFpRVU5XTTBRc1MwRkJTMFlzVDBGQlQyMURMRTFCUVUwc1MwRkRiRUpzUXl4RlFVRlJaU3hOUVVGUmVrSXNSVUZCV1RCQ0xGTkJRelZDWml4TFFVRkxSaXhQUVVGUGJVTXNUVUZCVFN4TFFVRlBkRUlzUlVGQlN5dENMRXRCUVU4c1QwRkZja016UXl4RlFVRlJaU3hOUVVGUmVrSXNSVUZCV1RCQ0xGTkJRelZDWml4TFFVRkxSaXhQUVVGUGJVTXNUVUZCVFd4RExFVkJRVkVyUXl4cFFrRkJiVUlzV1VGRk1VTXNTVUZCU1M5RExFVkJRVkUyUkN4UlFVRTJRaXhKUVVGdVFsWXNSMEZCZVVKRExFVkJRV1ZKTEU5QlFWTnVSU3hGUVVGVGIwVXNUVUZCVVV3c1JVRkJaVWtzVDBGQlUyNUZMRVZCUVZOeFJTeExRVUZwUXl4TlFVRjRRazRzUlVGQlpVOHNUVUZWYWtvc1EwRkpUQ3hKUVVoQk1VUXNTMEZCUzBZc1QwRkJUMjFETEUxQlFVMHNTVUZCVFdwRExFdEJRVXRWTEZGQlFWRkRMRVZCUVUxYUxFVkJRVk5oTEVsQlEzQkVZaXhGUVVGUlpTeE5RVUZSZWtJc1JVRkJXWGRFTEZWQlJYWkNNVUlzUlVGQlNTeEZRVUZIUlN4SFFVUmFSeXhGUVVGUFlpeEZRVUZMWlN4VlFVTlhReXhQUVVGUlVpeEZRVUZKUlN4RlFVRkxSaXhKUVVOMFEyWXNSVUZCVVc5Q0xFVkJRVXRNTEVkQlEySnVRaXhMUVVGTE9FSXNaVUZCWlRGQ0xFVkJRVTlNTEVWQlFWTmhMRVZCUVZFc1IwRkZPVU5pTEVWQlFWRmxMRTFCUVZGNlFpeEZRVUZaTUVJc1UwRkROVUptTEV0QlFVdEdMRTlCUVU5dFF5eE5RVUZOYWtNc1MwRkJTM2RETEU5QlFVODNRaXhGUVVGTldpeEZRVUZUWVN4SFFVRlRMRXRCUVU5RUxFVkJRVXNyUWl4TFFVRlBMRlZCYkVKNlJURkRMRXRCUVV0R0xFOUJRVTl0UXl4TlFVRk5MRXRCUTJ4Q2JFTXNSVUZCVVdVc1RVRkJVWHBDTEVWQlFWbDNSQ3hWUVVNMVFqbERMRVZCUVZFNFJDeDFRa0ZEVnl4RlFVTnVRamRFTEV0QlFVczRRaXhsUVVGbGNVSXNSVUZCWjBKd1JDeEZRVUZUWVN4RlFVRlJMRWRCUTNKRVlpeEZRVUZST0VRc2RVSkJRMWNzUlVGRGJrSTVSQ3hGUVVGUlpTeE5RVUZSZWtJc1JVRkJXVEJDTEZOQlF6VkNaaXhMUVVGTFJpeFBRVUZQYlVNc1RVRkJUU3hMUVVGUGRFSXNSVUZCU3l0Q0xFdEJRVThzUzBGamRrTXNUMEZHUVRGRExFdEJRVXRHTEU5QlFVOXRReXhOUVVGTmFrTXNTMEZCUzFVc1VVRkJVVU1zUlVGQlRWb3NSVUZCVTJFc1NVRkRPVU5pTEVWQlFWRmxMRTFCUVZGNlFpeEZRVUZaTUVRc1MwRkRja0l2UXl4TFFVRkxaMFFzVlVGQlZYSkRMRVZCUVUxYUxFVkJRVk5oTEVsQlIzWkRaaXhGUVVGblFsY3NWVUZCVlhORUxITkNRVUYzUWl4VFFVRlRia1FzUlVGQlRWb3NSVUZCVTJFc1IwRkRlRVVzVDBGQlQxb3NTMEZCUzBZc1QwRkJUMjFETEUxQlFVMXdReXhGUVVGblFra3NWVUZCVlRaRUxITkNRVUZ6UWpORUxFdEJRVXRJTEV0QlFVMVhMRVZCUVUxYUxFVkJRVk5oTEV0QlIzSkhaaXhGUVVGblFsY3NWVUZCVlhWRUxFbEJRVTBzVTBGQlUzQkVMRVZCUVUxYUxFVkJRVk5oTEVkQlEzUkVMRTlCUVU5YUxFdEJRVXRHTEU5QlFVOXRReXhOUVVGTmNFTXNSVUZCWjBKSkxGVkJRVlU0UkN4SlFVRkpOVVFzUzBGQlMwZ3NTMEZCVFZjc1JVRkJUVm9zUlVGQlUyRXNTMEZIYmtabUxFVkJRV2RDVnl4VlFVRlZkMFFzUzBGQlR5eFRRVUZUY2tRc1JVRkJUVm9zUlVGQlUyRXNSMEZEZGtRc1QwRkJUMW9zUzBGQlMwWXNUMEZCVDIxRExFMUJRVTF3UXl4RlFVRm5Ra2tzVlVGQlZTdEVMRXRCUVVzM1JDeExRVUZMU0N4TFFVRk5WeXhGUVVGTldpeEZRVUZUWVN4TFFVZHdSbVlzUlVGQlowSlhMRlZCUVZWNVJDeFhRVUZoTEZOQlFWTjBSQ3hGUVVGTldpeEZRVUZUWVN4SFFVTTNSQ3hQUVVGUFdpeExRVUZMUml4UFFVRlBiVU1zVFVGQlRYQkRMRVZCUVdkQ1NTeFZRVUZWWjBVc1YwRkJWemxFTEV0QlFVdElMRXRCUVUxWExFVkJRVTFhTEVWQlFWTmhMRXRCUnpGR1ppeEZRVUZuUWxjc1ZVRkJWVEJFTEZkQlFXRXNVMEZCVTNaRUxFVkJRVTFhTEVWQlFWTmhMRWRCUXpkRUxFOUJRVTlhTEV0QlFVdEdMRTlCUVU5dFF5eE5RVUZOY0VNc1JVRkJaMEpKTEZWQlFWVnBSU3hYUVVGWEwwUXNTMEZCUzBnc1MwRkJUVmNzUlVGQlRWb3NSVUZCVTJFc1MwRkhNVVptTEVWQlFXZENWeXhWUVVGVk1rUXNWVUZCV1N4VFFVRlRlRVFzUlVGQlRWb3NSVUZCVTJFc1IwRkROVVFzVDBGQlQxb3NTMEZCUzBZc1QwRkJUMjFETEUxQlFVMXdReXhGUVVGblFra3NWVUZCVld0RkxGVkJRVlZvUlN4TFFVRkxTQ3hMUVVGTlZ5eEZRVUZOV2l4RlFVRlRZU3hMUVVkNlJtWXNSVUZCWjBKWExGVkJRVlUwUkN4WlFVRmpMRk5CUVZONlJDeEZRVUZOV2l4RlFVRlRZU3hIUVVNNVJDeFBRVUZQV2l4TFFVRkxSaXhQUVVGUGJVTXNUVUZCVFhCRExFVkJRV2RDU1N4VlFVRlZiVVVzV1VGQldXcEZMRXRCUVV0SUxFdEJRVTFYTEVWQlFVMWFMRVZCUVZOaExFdEJSM0JHWml4RlFTOUtNRUlzUzBGdFMyeERUU3hMUVVGTFNDSXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl6ZEdGbmFXNW5MM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDNodGJHSjFhV3hrWlhJdmJHbGlMMWhOVEZOMGNtVmhiVmR5YVhSbGNpNXFjeUo5IiwiKGZ1bmN0aW9uKCl7dmFyIHQsZT17fS5oYXNPd25Qcm9wZXJ0eTt0PXJlcXVpcmUoXCIuL1hNTFdyaXRlckJhc2VcIiksbW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24obil7ZnVuY3Rpb24gcih0KXtyLl9fc3VwZXJfXy5jb25zdHJ1Y3Rvci5jYWxsKHRoaXMsdCl9cmV0dXJuIGZ1bmN0aW9uKHQsbil7Zm9yKHZhciByIGluIG4pZS5jYWxsKG4scikmJih0W3JdPW5bcl0pO2Z1bmN0aW9uIG8oKXt0aGlzLmNvbnN0cnVjdG9yPXR9by5wcm90b3R5cGU9bi5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IG8sdC5fX3N1cGVyX189bi5wcm90b3R5cGV9KHIsdCksci5wcm90b3R5cGUuZG9jdW1lbnQ9ZnVuY3Rpb24odCxlKXt2YXIgbixyLG8saSxsO2ZvcihlPXRoaXMuZmlsdGVyT3B0aW9ucyhlKSxpPVwiXCIscj0wLG89KGw9dC5jaGlsZHJlbikubGVuZ3RoO3I8bztyKyspbj1sW3JdLGkrPXRoaXMud3JpdGVDaGlsZE5vZGUobixlLDApO3JldHVybiBlLnByZXR0eSYmaS5zbGljZSgtZS5uZXdsaW5lLmxlbmd0aCk9PT1lLm5ld2xpbmUmJihpPWkuc2xpY2UoMCwtZS5uZXdsaW5lLmxlbmd0aCkpLGl9LHJ9KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRGTjBjbWx1WjFkeWFYUmxjaTVxY3lKZExDSnVZVzFsY3lJNld5SllUVXhYY21sMFpYSkNZWE5sSWl3aWFHRnpVSEp2Y0NJc0ltaGhjMDkzYmxCeWIzQmxjblI1SWl3aWNtVnhkV2x5WlNJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSnpkWEJsY2tOc1lYTnpJaXdpV0UxTVUzUnlhVzVuVjNKcGRHVnlJaXdpYjNCMGFXOXVjeUlzSWw5ZmMzVndaWEpmWHlJc0ltTnZibk4wY25WamRHOXlJaXdpWTJGc2JDSXNJblJvYVhNaUxDSmphR2xzWkNJc0luQmhjbVZ1ZENJc0ltdGxlU0lzSW1OMGIzSWlMQ0p3Y205MGIzUjVjR1VpTENKbGVIUmxibVFpTENKa2IyTjFiV1Z1ZENJc0ltUnZZeUlzSW1raUxDSnNaVzRpTENKeUlpd2ljbVZtSWl3aVptbHNkR1Z5VDNCMGFXOXVjeUlzSW1Ob2FXeGtjbVZ1SWl3aWJHVnVaM1JvSWl3aWQzSnBkR1ZEYUdsc1pFNXZaR1VpTENKd2NtVjBkSGtpTENKemJHbGpaU0lzSW01bGQyeHBibVVpWFN3aWJXRndjR2x1WjNNaU9pSkRRVU5CTEZkQlEwVXNTVUZCY1VKQkxFVkJSVzVDUXl4RlFVRlZMRWRCUVVkRExHVkJSV1pHTEVWQlFXZENSeXhSUVVGUkxHMUNRVVY0UWtNc1QwRkJUME1zVVVGQk5FSXNVMEZCVlVNc1IwRkhNME1zVTBGQlUwTXNSVUZCWjBKRExFZEJRM1pDUkN4RlFVRm5Ra1VzVlVGQlZVTXNXVUZCV1VNc1MwRkJTME1zUzBGQlRVb3NSMEZyUW01RUxFOUJNMEpUTEZOQlFWTkxMRVZCUVU5RExFZEJRVlVzU1VGQlN5eEpRVUZKUXl4TFFVRlBSQ3hGUVVGallpeEZRVUZSVlN4TFFVRkxSeXhGUVVGUlF5eExRVUZOUml4RlFVRk5SU3hIUVVGUFJDeEZRVUZQUXl4SlFVRlJMRk5CUVZORExFbEJRVk5LTEV0QlFVdEdMRmxCUVdOSExFVkJRVk5ITEVWQlFVdERMRlZCUVZsSUxFVkJRVTlITEZWQlFWZEtMRVZCUVUxSkxGVkJRVmtzU1VGQlNVUXNSVUZCVVVnc1JVRkJUVW9zVlVGQldVc3NSVUZCVDBjc1ZVRk5hRkZETEVOQlFVOVlMRVZCZFVKT1VDeEhRV3BDUkU4c1JVRkJaMEpWTEZWQlFWVkZMRk5CUVZjc1UwRkJVME1zUlVGQlMxb3NSMEZEYWtRc1NVRkJTVXNzUlVGQlQxRXNSVUZCUjBNc1JVRkJTME1zUlVGQlIwTXNSVUZKZEVJc1NVRklRV2hDTEVWQlFWVkpMRXRCUVV0aExHTkJRV05xUWl4SFFVTTNRbVVzUlVGQlNTeEhRVVZEUml4RlFVRkpMRVZCUVVkRExFZEJSRnBGTEVWQlFVMUtMRVZCUVVsTkxGVkJRMWxETEU5QlFWRk9MRVZCUVVsRExFVkJRVXRFTEVsQlEzSkRVaXhGUVVGUlZ5eEZRVUZKU0N4SFFVTmFSU3hIUVVGTFdDeExRVUZMWjBJc1pVRkJaV1lzUlVGQlQwd3NSVUZCVXl4SFFVc3pReXhQUVVoSlFTeEZRVUZSY1VJc1VVRkJWVTRzUlVGQlJVOHNUMEZCVDNSQ0xFVkJRVkYxUWl4UlFVRlJTaXhWUVVGWmJrSXNSVUZCVVhWQ0xGVkJRMnBGVWl4RlFVRkpRU3hGUVVGRlR5eE5RVUZOTEVkQlFVbDBRaXhGUVVGUmRVSXNVVUZCVVVvc1UwRkZNMEpLTEVkQlIwWm9RaXhGUVhSQ01FSXNTMEV3UW14RFNTeExRVUZMUXlJc0ltWnBiR1VpT2lJdmFHOXRaUzk2YVc1dkwzQnliMnBsWTNSekwzTmxZWFJ0WVhCMk1pOXpkR0ZuYVc1bkwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMM2h0YkdKMWFXeGtaWEl2YkdsaUwxaE5URk4wY21sdVoxZHlhWFJsY2k1cWN5SjkiLCIoZnVuY3Rpb24oKXt2YXIgdD1mdW5jdGlvbih0LG8pe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0LmFwcGx5KG8sYXJndW1lbnRzKX19LG89e30uaGFzT3duUHJvcGVydHk7bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiBuKG4pe3ZhciByLGksZTtmb3IociBpbiB0aGlzLmFzc2VydExlZ2FsTmFtZT10KHRoaXMuYXNzZXJ0TGVnYWxOYW1lLHRoaXMpLHRoaXMuYXNzZXJ0TGVnYWxDaGFyPXQodGhpcy5hc3NlcnRMZWdhbENoYXIsdGhpcyksbnx8KG49e30pLHRoaXMub3B0aW9ucz1uLHRoaXMub3B0aW9ucy52ZXJzaW9ufHwodGhpcy5vcHRpb25zLnZlcnNpb249XCIxLjBcIiksaT1uLnN0cmluZ2lmeXx8e30pby5jYWxsKGkscikmJihlPWlbcl0sdGhpc1tyXT1lKX1yZXR1cm4gbi5wcm90b3R5cGUubmFtZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbj90OnRoaXMuYXNzZXJ0TGVnYWxOYW1lKFwiXCIrdHx8XCJcIil9LG4ucHJvdG90eXBlLnRleHQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24/dDp0aGlzLmFzc2VydExlZ2FsQ2hhcih0aGlzLnRleHRFc2NhcGUoXCJcIit0fHxcIlwiKSl9LG4ucHJvdG90eXBlLmNkYXRhPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uP3Q6KHQ9KHQ9XCJcIit0fHxcIlwiKS5yZXBsYWNlKFwiXV0+XCIsXCJdXV1dPjwhW0NEQVRBWz5cIiksdGhpcy5hc3NlcnRMZWdhbENoYXIodCkpfSxuLnByb3RvdHlwZS5jb21tZW50PWZ1bmN0aW9uKHQpe2lmKHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24pcmV0dXJuIHQ7aWYoKHQ9XCJcIit0fHxcIlwiKS5tYXRjaCgvLS0vKSl0aHJvdyBuZXcgRXJyb3IoXCJDb21tZW50IHRleHQgY2Fubm90IGNvbnRhaW4gZG91YmxlLWh5cGVuOiBcIit0KTtyZXR1cm4gdGhpcy5hc3NlcnRMZWdhbENoYXIodCl9LG4ucHJvdG90eXBlLnJhdz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbj90OlwiXCIrdHx8XCJcIn0sbi5wcm90b3R5cGUuYXR0VmFsdWU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24/dDp0aGlzLmFzc2VydExlZ2FsQ2hhcih0aGlzLmF0dEVzY2FwZSh0PVwiXCIrdHx8XCJcIikpfSxuLnByb3RvdHlwZS5pbnNUYXJnZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24/dDp0aGlzLmFzc2VydExlZ2FsQ2hhcihcIlwiK3R8fFwiXCIpfSxuLnByb3RvdHlwZS5pbnNWYWx1ZT1mdW5jdGlvbih0KXtpZih0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uKXJldHVybiB0O2lmKCh0PVwiXCIrdHx8XCJcIikubWF0Y2goL1xcPz4vKSl0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIHByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb24gdmFsdWU6IFwiK3QpO3JldHVybiB0aGlzLmFzc2VydExlZ2FsQ2hhcih0KX0sbi5wcm90b3R5cGUueG1sVmVyc2lvbj1mdW5jdGlvbih0KXtpZih0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uKXJldHVybiB0O2lmKCEodD1cIlwiK3R8fFwiXCIpLm1hdGNoKC8xXFwuWzAtOV0rLykpdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCB2ZXJzaW9uIG51bWJlcjogXCIrdCk7cmV0dXJuIHR9LG4ucHJvdG90eXBlLnhtbEVuY29kaW5nPWZ1bmN0aW9uKHQpe2lmKHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24pcmV0dXJuIHQ7aWYoISh0PVwiXCIrdHx8XCJcIikubWF0Y2goL15bQS1aYS16XSg/OltBLVphLXowLTkuXy1dKSokLykpdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBlbmNvZGluZzogXCIrdCk7cmV0dXJuIHRoaXMuYXNzZXJ0TGVnYWxDaGFyKHQpfSxuLnByb3RvdHlwZS54bWxTdGFuZGFsb25lPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uP3Q6dD9cInllc1wiOlwibm9cIn0sbi5wcm90b3R5cGUuZHRkUHViSUQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24/dDp0aGlzLmFzc2VydExlZ2FsQ2hhcihcIlwiK3R8fFwiXCIpfSxuLnByb3RvdHlwZS5kdGRTeXNJRD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbj90OnRoaXMuYXNzZXJ0TGVnYWxDaGFyKFwiXCIrdHx8XCJcIil9LG4ucHJvdG90eXBlLmR0ZEVsZW1lbnRWYWx1ZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbj90OnRoaXMuYXNzZXJ0TGVnYWxDaGFyKFwiXCIrdHx8XCJcIil9LG4ucHJvdG90eXBlLmR0ZEF0dFR5cGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24/dDp0aGlzLmFzc2VydExlZ2FsQ2hhcihcIlwiK3R8fFwiXCIpfSxuLnByb3RvdHlwZS5kdGRBdHREZWZhdWx0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uP3Q6dGhpcy5hc3NlcnRMZWdhbENoYXIoXCJcIit0fHxcIlwiKX0sbi5wcm90b3R5cGUuZHRkRW50aXR5VmFsdWU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24/dDp0aGlzLmFzc2VydExlZ2FsQ2hhcihcIlwiK3R8fFwiXCIpfSxuLnByb3RvdHlwZS5kdGRORGF0YT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbj90OnRoaXMuYXNzZXJ0TGVnYWxDaGFyKFwiXCIrdHx8XCJcIil9LG4ucHJvdG90eXBlLmNvbnZlcnRBdHRLZXk9XCJAXCIsbi5wcm90b3R5cGUuY29udmVydFBJS2V5PVwiP1wiLG4ucHJvdG90eXBlLmNvbnZlcnRUZXh0S2V5PVwiI3RleHRcIixuLnByb3RvdHlwZS5jb252ZXJ0Q0RhdGFLZXk9XCIjY2RhdGFcIixuLnByb3RvdHlwZS5jb252ZXJ0Q29tbWVudEtleT1cIiNjb21tZW50XCIsbi5wcm90b3R5cGUuY29udmVydFJhd0tleT1cIiNyYXdcIixuLnByb3RvdHlwZS5hc3NlcnRMZWdhbENoYXI9ZnVuY3Rpb24odCl7dmFyIG8sbjtpZih0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uKXJldHVybiB0O2lmKG89XCJcIixcIjEuMFwiPT09dGhpcy5vcHRpb25zLnZlcnNpb24pe2lmKG89L1tcXDAtXFx4MDhcXHgwQlxcZlxceDBFLVxceDFGXFx1RkZGRVxcdUZGRkZdfFtcXHVEODAwLVxcdURCRkZdKD8hW1xcdURDMDAtXFx1REZGRl0pfCg/OlteXFx1RDgwMC1cXHVEQkZGXXxeKVtcXHVEQzAwLVxcdURGRkZdLyxuPXQubWF0Y2gobykpdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBjaGFyYWN0ZXIgaW4gc3RyaW5nOiBcIit0K1wiIGF0IGluZGV4IFwiK24uaW5kZXgpfWVsc2UgaWYoXCIxLjFcIj09PXRoaXMub3B0aW9ucy52ZXJzaW9uJiYobz0vW1xcMFxcdUZGRkVcXHVGRkZGXXxbXFx1RDgwMC1cXHVEQkZGXSg/IVtcXHVEQzAwLVxcdURGRkZdKXwoPzpbXlxcdUQ4MDAtXFx1REJGRl18XilbXFx1REMwMC1cXHVERkZGXS8sbj10Lm1hdGNoKG8pKSl0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIGNoYXJhY3RlciBpbiBzdHJpbmc6IFwiK3QrXCIgYXQgaW5kZXggXCIrbi5pbmRleCk7cmV0dXJuIHR9LG4ucHJvdG90eXBlLmFzc2VydExlZ2FsTmFtZT1mdW5jdGlvbih0KXt2YXIgbztpZih0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uKXJldHVybiB0O2lmKHRoaXMuYXNzZXJ0TGVnYWxDaGFyKHQpLG89L14oWzpBLVpfYS16XFx4QzAtXFx4RDZcXHhEOC1cXHhGNlxceEY4LVxcdTAyRkZcXHUwMzcwLVxcdTAzN0RcXHUwMzdGLVxcdTFGRkZcXHUyMDBDXFx1MjAwRFxcdTIwNzAtXFx1MjE4RlxcdTJDMDAtXFx1MkZFRlxcdTMwMDEtXFx1RDdGRlxcdUY5MDAtXFx1RkRDRlxcdUZERjAtXFx1RkZGRF18W1xcdUQ4MDAtXFx1REI3Rl1bXFx1REMwMC1cXHVERkZGXSkoW1xceDJEXFwuMC06QS1aX2EtelxceEI3XFx4QzAtXFx4RDZcXHhEOC1cXHhGNlxceEY4LVxcdTAzN0RcXHUwMzdGLVxcdTFGRkZcXHUyMDBDXFx1MjAwRFxcdTIwM0ZcXHUyMDQwXFx1MjA3MC1cXHUyMThGXFx1MkMwMC1cXHUyRkVGXFx1MzAwMS1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkZEXXxbXFx1RDgwMC1cXHVEQjdGXVtcXHVEQzAwLVxcdURGRkZdKSokLywhdC5tYXRjaChvKSl0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIGNoYXJhY3RlciBpbiBuYW1lXCIpO3JldHVybiB0fSxuLnByb3RvdHlwZS50ZXh0RXNjYXBlPWZ1bmN0aW9uKHQpe3ZhciBvO3JldHVybiB0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uP3Q6KG89dGhpcy5vcHRpb25zLm5vRG91YmxlRW5jb2Rpbmc/Lyg/ISZcXFMrOykmL2c6LyYvZyx0LnJlcGxhY2UobyxcIiZhbXA7XCIpLnJlcGxhY2UoLzwvZyxcIiZsdDtcIikucmVwbGFjZSgvPi9nLFwiJmd0O1wiKS5yZXBsYWNlKC9cXHIvZyxcIiYjeEQ7XCIpKX0sbi5wcm90b3R5cGUuYXR0RXNjYXBlPWZ1bmN0aW9uKHQpe3ZhciBvO3JldHVybiB0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uP3Q6KG89dGhpcy5vcHRpb25zLm5vRG91YmxlRW5jb2Rpbmc/Lyg/ISZcXFMrOykmL2c6LyYvZyx0LnJlcGxhY2UobyxcIiZhbXA7XCIpLnJlcGxhY2UoLzwvZyxcIiZsdDtcIikucmVwbGFjZSgvXCIvZyxcIiZxdW90O1wiKS5yZXBsYWNlKC9cXHQvZyxcIiYjeDk7XCIpLnJlcGxhY2UoL1xcbi9nLFwiJiN4QTtcIikucmVwbGFjZSgvXFxyL2csXCImI3hEO1wiKSl9LG59KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRGTjBjbWx1WjJsbWFXVnlMbXB6SWwwc0ltNWhiV1Z6SWpwYkltSnBibVFpTENKbWJpSXNJbTFsSWl3aVlYQndiSGtpTENKaGNtZDFiV1Z1ZEhNaUxDSm9ZWE5RY205d0lpd2lhR0Z6VDNkdVVISnZjR1Z5ZEhraUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2lXRTFNVTNSeWFXNW5hV1pwWlhJaUxDSnZjSFJwYjI1eklpd2lhMlY1SWl3aWNtVm1JaXdpZG1Gc2RXVWlMQ0owYUdseklpd2lZWE56WlhKMFRHVm5ZV3hPWVcxbElpd2lZWE56WlhKMFRHVm5ZV3hEYUdGeUlpd2lkbVZ5YzJsdmJpSXNJbk4wY21sdVoybG1lU0lzSW1OaGJHd2lMQ0p3Y205MGIzUjVjR1VpTENKdVlXMWxJaXdpZG1Gc0lpd2libTlXWVd4cFpHRjBhVzl1SWl3aWRHVjRkQ0lzSW5SbGVIUkZjMk5oY0dVaUxDSmpaR0YwWVNJc0luSmxjR3hoWTJVaUxDSmpiMjF0Wlc1MElpd2liV0YwWTJnaUxDSkZjbkp2Y2lJc0luSmhkeUlzSW1GMGRGWmhiSFZsSWl3aVlYUjBSWE5qWVhCbElpd2lhVzV6VkdGeVoyVjBJaXdpYVc1elZtRnNkV1VpTENKNGJXeFdaWEp6YVc5dUlpd2llRzFzUlc1amIyUnBibWNpTENKNGJXeFRkR0Z1WkdGc2IyNWxJaXdpWkhSa1VIVmlTVVFpTENKa2RHUlRlWE5KUkNJc0ltUjBaRVZzWlcxbGJuUldZV3gxWlNJc0ltUjBaRUYwZEZSNWNHVWlMQ0prZEdSQmRIUkVaV1poZFd4MElpd2laSFJrUlc1MGFYUjVWbUZzZFdVaUxDSmtkR1JPUkdGMFlTSXNJbU52Ym5abGNuUkJkSFJMWlhraUxDSmpiMjUyWlhKMFVFbExaWGtpTENKamIyNTJaWEowVkdWNGRFdGxlU0lzSW1OdmJuWmxjblJEUkdGMFlVdGxlU0lzSW1OdmJuWmxjblJEYjIxdFpXNTBTMlY1SWl3aVkyOXVkbVZ5ZEZKaGQwdGxlU0lzSW5OMGNpSXNJbkpsWjJWNElpd2ljbVZ6SWl3aWFXNWtaWGdpTENKaGJYQnlaV2RsZUNJc0ltNXZSRzkxWW14bFJXNWpiMlJwYm1jaVhTd2liV0Z3Y0dsdVozTWlPaUpEUVVOQkxGZEJRMFVzU1VGRFJVRXNSVUZCVHl4VFFVRlRReXhGUVVGSlF5eEhRVUZMTEU5QlFVOHNWMEZCV1N4UFFVRlBSQ3hGUVVGSFJTeE5RVUZOUkN4RlFVRkpSU3hoUVVOb1JVTXNSVUZCVlN4SFFVRkhReXhsUVVWbVF5eFBRVUZQUXl4UlFVRXlRaXhYUVVOb1F5eFRRVUZUUXl4RlFVRmxReXhIUVVkMFFpeEpRVUZKUXl4RlFVRkxReXhGUVVGTFF5eEZRVTlrTEVsQlFVdEdMRXRCVkV4SExFdEJRVXRETEdkQ1FVRnJRbVlzUlVGQlMyTXNTMEZCUzBNc1owSkJRV2xDUkN4TlFVTnNSRUVzUzBGQlMwVXNaMEpCUVd0Q2FFSXNSVUZCUzJNc1MwRkJTMFVzWjBKQlFXbENSaXhOUVVWc1JFb3NTVUZCV1VFc1JVRkJWU3hKUVVOMFFra3NTMEZCUzBvc1VVRkJWVUVzUlVGRFZra3NTMEZCUzBvc1VVRkJVVThzVlVGRGFFSklMRXRCUVV0S0xGRkJRVkZQTEZGQlFWVXNUMEZGZWtKTUxFVkJRVTFHTEVWQlFWRlJMRmRCUVdFc1IwRkZjRUppTEVWQlFWRmpMRXRCUVV0UUxFVkJRVXRFTEV0QlEzWkNSU3hGUVVGUlJDeEZRVUZKUkN4SFFVTmFSeXhMUVVGTFNDeEhRVUZQUlN4SFFYVk9hRUlzVDBGdVRrRktMRVZCUVdWWExGVkJRVlZETEV0QlFVOHNVMEZCVTBNc1IwRkRka01zVDBGQlNWSXNTMEZCUzBvc1VVRkJVV0VzWVVGRFVrUXNSVUZGUmxJc1MwRkJTME1zWjBKQlFXZENMRWRCUVV0UExFZEJRVThzUzBGSE1VTmlMRVZCUVdWWExGVkJRVlZKTEV0QlFVOHNVMEZCVTBZc1IwRkRka01zVDBGQlNWSXNTMEZCUzBvc1VVRkJVV0VzWVVGRFVrUXNSVUZGUmxJc1MwRkJTMFVzWjBKQlFXZENSaXhMUVVGTFZ5eFhRVUZYTEVkQlFVdElMRWRCUVU4c1RVRkhNVVJpTEVWQlFXVlhMRlZCUVZWTkxFMUJRVkVzVTBGQlUwb3NSMEZEZUVNc1QwRkJTVklzUzBGQlMwb3NVVUZCVVdFc1lVRkRVa1FzUjBGSFZFRXNSMEZFUVVFc1JVRkJUU3hIUVVGTFFTeEhRVUZQTEVsQlExSkxMRkZCUVZFc1RVRkJUeXh0UWtGRGJFSmlMRXRCUVV0RkxHZENRVUZuUWswc1MwRkhPVUppTEVWQlFXVlhMRlZCUVZWUkxGRkJRVlVzVTBGQlUwNHNSMEZETVVNc1IwRkJTVklzUzBGQlMwb3NVVUZCVVdFc1lVRkRaaXhQUVVGUFJDeEZRVWRVTEVsQlJFRkJMRVZCUVUwc1IwRkJTMEVzUjBGQlR5eEpRVU5XVHl4TlFVRk5MRTFCUTFvc1RVRkJUU3hKUVVGSlF5eE5RVUZOTERaRFFVRXJRMUlzUjBGRmFrVXNUMEZCVDFJc1MwRkJTMFVzWjBKQlFXZENUU3hKUVVjNVFtSXNSVUZCWlZjc1ZVRkJWVmNzU1VGQlRTeFRRVUZUVkN4SFFVTjBReXhQUVVGSlVpeExRVUZMU2l4UlFVRlJZU3hoUVVOU1JDeEZRVVZHTEVkQlFVdEJMRWRCUVU4c1NVRkhja0ppTEVWQlFXVlhMRlZCUVZWWkxGTkJRVmNzVTBGQlUxWXNSMEZETTBNc1QwRkJTVklzUzBGQlMwb3NVVUZCVVdFc1lVRkRVa1FzUlVGRlJsSXNTMEZCUzBVc1owSkJRV2RDUml4TFFVRkxiVUlzVlVGQlZWZ3NSVUZCVFN4SFFVRkxRU3hIUVVGUExFMUJSeTlFWWl4RlFVRmxWeXhWUVVGVll5eFZRVUZaTEZOQlFWTmFMRWRCUXpWRExFOUJRVWxTTEV0QlFVdEtMRkZCUVZGaExHRkJRMUpFTEVWQlJVWlNMRXRCUVV0RkxHZENRVUZuUWl4SFFVRkxUU3hIUVVGUExFdEJSekZEWWl4RlFVRmxWeXhWUVVGVlpTeFRRVUZYTEZOQlFWTmlMRWRCUXpORExFZEJRVWxTTEV0QlFVdEtMRkZCUVZGaExHRkJRMllzVDBGQlQwUXNSVUZIVkN4SlFVUkJRU3hGUVVGTkxFZEJRVXRCTEVkQlFVOHNTVUZEVms4c1RVRkJUU3hQUVVOYUxFMUJRVTBzU1VGQlNVTXNUVUZCVFN4NVEwRkJNa05TTEVkQlJUZEVMRTlCUVU5U0xFdEJRVXRGTEdkQ1FVRm5RazBzU1VGSE9VSmlMRVZCUVdWWExGVkJRVlZuUWl4WFFVRmhMRk5CUVZOa0xFZEJRemRETEVkQlFVbFNMRXRCUVV0S0xGRkJRVkZoTEdGQlEyWXNUMEZCVDBRc1JVRkhWQ3hMUVVSQlFTeEZRVUZOTEVkQlFVdEJMRWRCUVU4c1NVRkRWRThzVFVGQlRTeGhRVU5pTEUxQlFVMHNTVUZCU1VNc1RVRkJUU3d5UWtGQk5rSlNMRWRCUlM5RExFOUJRVTlCTEVkQlIxUmlMRVZCUVdWWExGVkJRVlZwUWl4WlFVRmpMRk5CUVZObUxFZEJRemxETEVkQlFVbFNMRXRCUVV0S0xGRkJRVkZoTEdGQlEyWXNUMEZCVDBRc1JVRkhWQ3hMUVVSQlFTeEZRVUZOTEVkQlFVdEJMRWRCUVU4c1NVRkRWRThzVFVGQlRTeHBRMEZEWWl4TlFVRk5MRWxCUVVsRExFMUJRVTBzY1VKQlFYVkNVaXhIUVVWNlF5eFBRVUZQVWl4TFFVRkxSU3huUWtGQlowSk5MRWxCUnpsQ1lpeEZRVUZsVnl4VlFVRlZhMElzWTBGQlowSXNVMEZCVTJoQ0xFZEJRMmhFTEU5QlFVbFNMRXRCUVV0S0xGRkJRVkZoTEdGQlExSkVMRVZCUlV4QkxFVkJRMHNzVFVGRlFTeE5RVWxZWWl4RlFVRmxWeXhWUVVGVmJVSXNVMEZCVnl4VFFVRlRha0lzUjBGRE0wTXNUMEZCU1ZJc1MwRkJTMG9zVVVGQlVXRXNZVUZEVWtRc1JVRkZSbElzUzBGQlMwVXNaMEpCUVdkQ0xFZEJRVXROTEVkQlFVOHNTMEZITVVOaUxFVkJRV1ZYTEZWQlFWVnZRaXhUUVVGWExGTkJRVk5zUWl4SFFVTXpReXhQUVVGSlVpeExRVUZMU2l4UlFVRlJZU3hoUVVOU1JDeEZRVVZHVWl4TFFVRkxSU3huUWtGQlowSXNSMEZCUzAwc1IwRkJUeXhMUVVjeFEySXNSVUZCWlZjc1ZVRkJWWEZDTEdkQ1FVRnJRaXhUUVVGVGJrSXNSMEZEYkVRc1QwRkJTVklzUzBGQlMwb3NVVUZCVVdFc1lVRkRVa1FzUlVGRlJsSXNTMEZCUzBVc1owSkJRV2RDTEVkQlFVdE5MRWRCUVU4c1MwRkhNVU5pTEVWQlFXVlhMRlZCUVZWelFpeFhRVUZoTEZOQlFWTndRaXhIUVVNM1F5eFBRVUZKVWl4TFFVRkxTaXhSUVVGUllTeGhRVU5TUkN4RlFVVkdVaXhMUVVGTFJTeG5Ra0ZCWjBJc1IwRkJTMDBzUjBGQlR5eExRVWN4UTJJc1JVRkJaVmNzVlVGQlZYVkNMR05CUVdkQ0xGTkJRVk55UWl4SFFVTm9SQ3hQUVVGSlVpeExRVUZMU2l4UlFVRlJZU3hoUVVOU1JDeEZRVVZHVWl4TFFVRkxSU3huUWtGQlowSXNSMEZCUzAwc1IwRkJUeXhMUVVjeFEySXNSVUZCWlZjc1ZVRkJWWGRDTEdWQlFXbENMRk5CUVZOMFFpeEhRVU5xUkN4UFFVRkpVaXhMUVVGTFNpeFJRVUZSWVN4aFFVTlNSQ3hGUVVWR1VpeExRVUZMUlN4blFrRkJaMElzUjBGQlMwMHNSMEZCVHl4TFFVY3hRMklzUlVGQlpWY3NWVUZCVlhsQ0xGTkJRVmNzVTBGQlUzWkNMRWRCUXpORExFOUJRVWxTTEV0QlFVdEtMRkZCUVZGaExHRkJRMUpFTEVWQlJVWlNMRXRCUVV0RkxHZENRVUZuUWl4SFFVRkxUU3hIUVVGUExFdEJSekZEWWl4RlFVRmxWeXhWUVVGVk1FSXNZMEZCWjBJc1NVRkZla055UXl4RlFVRmxWeXhWUVVGVk1rSXNZVUZCWlN4SlFVVjRRM1JETEVWQlFXVlhMRlZCUVZVMFFpeGxRVUZwUWl4UlFVVXhRM1pETEVWQlFXVlhMRlZCUVZVMlFpeG5Ra0ZCYTBJc1UwRkZNME40UXl4RlFVRmxWeXhWUVVGVk9FSXNhMEpCUVc5Q0xGZEJSVGREZWtNc1JVRkJaVmNzVlVGQlZTdENMR05CUVdkQ0xFOUJSWHBETVVNc1JVRkJaVmNzVlVGQlZVb3NaMEpCUVd0Q0xGTkJRVk52UXl4SFFVTnNSQ3hKUVVGSlF5eEZRVUZQUXl4RlFVTllMRWRCUVVsNFF5eExRVUZMU2l4UlFVRlJZU3hoUVVObUxFOUJRVTgyUWl4RlFVZFVMRWRCUkVGRExFVkJRVkVzUjBGRGNVSXNVVUZCZWtKMlF5eExRVUZMU2l4UlFVRlJUeXhUUVVWbUxFZEJSRUZ2UXl4RlFVRlJMR2RJUVVOS1F5eEZRVUZOUml4RlFVRkpka0lzVFVGQlRYZENMRWRCUTJ4Q0xFMUJRVTBzU1VGQlNYWkNMRTFCUVUwc1owTkJRV3REYzBJc1JVRkJUU3hoUVVGbFJTeEZRVUZKUXl4WlFVVjRSU3hIUVVFMlFpeFJRVUY2UW5wRExFdEJRVXRLTEZGQlFWRlBMRlZCUTNSQ2IwTXNSVUZCVVN3MFJrRkRTa01zUlVGQlRVWXNSVUZCU1haQ0xFMUJRVTEzUWl4SlFVTnNRaXhOUVVGTkxFbEJRVWwyUWl4TlFVRk5MR2REUVVGclEzTkNMRVZCUVUwc1lVRkJaVVVzUlVGQlNVTXNUMEZITDBVc1QwRkJUMGdzUjBGSFZETkRMRVZCUVdWWExGVkJRVlZNTEdkQ1FVRnJRaXhUUVVGVGNVTXNSMEZEYkVRc1NVRkJTVU1zUlVGRFNpeEhRVUZKZGtNc1MwRkJTMG9zVVVGQlVXRXNZVUZEWml4UFFVRlBOa0lzUlVGSlZDeEhRVVpCZEVNc1MwRkJTMFVzWjBKQlFXZENiME1zUjBGRGNrSkRMRVZCUVZFc1oxaEJRMGhFTEVWQlFVbDJRaXhOUVVGTmQwSXNSMEZEWWl4TlFVRk5MRWxCUVVsMlFpeE5RVUZOTERaQ1FVVnNRaXhQUVVGUGMwSXNSMEZIVkRORExFVkJRV1ZYTEZWQlFWVkxMRmRCUVdFc1UwRkJVekpDTEVkQlF6ZERMRWxCUVVsSkxFVkJRMG9zVDBGQlNURkRMRXRCUVV0S0xGRkJRVkZoTEdGQlExSTJRaXhIUVVWVVNTeEZRVUZYTVVNc1MwRkJTMG9zVVVGQlVTdERMR2xDUVVGdFFpeGpRVUZuUWl4TFFVTndSRXdzUlVGQlNYcENMRkZCUVZFMlFpeEZRVUZWTEZOQlFWTTNRaXhSUVVGUkxFdEJRVTBzVVVGQlVVRXNVVUZCVVN4TFFVRk5MRkZCUVZGQkxGRkJRVkVzVFVGQlR5eFhRVWR1UjJ4Q0xFVkJRV1ZYTEZWQlFWVmhMRlZCUVZrc1UwRkJVMjFDTEVkQlF6VkRMRWxCUVVsSkxFVkJRMG9zVDBGQlNURkRMRXRCUVV0S0xGRkJRVkZoTEdGQlExSTJRaXhIUVVWVVNTeEZRVUZYTVVNc1MwRkJTMG9zVVVGQlVTdERMR2xDUVVGdFFpeGpRVUZuUWl4TFFVTndSRXdzUlVGQlNYcENMRkZCUVZFMlFpeEZRVUZWTEZOQlFWTTNRaXhSUVVGUkxFdEJRVTBzVVVGQlVVRXNVVUZCVVN4TFFVRk5MRlZCUVZWQkxGRkJRVkVzVFVGQlR5eFRRVUZUUVN4UlFVRlJMRTFCUVU4c1UwRkJVMEVzVVVGQlVTeE5RVUZQTEZkQlJ6bEpiRUlzUlVGeVQzbENMRXRCZVU5cVExVXNTMEZCUzB3aUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZjM1JoWjJsdVp5OXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTk0Yld4aWRXbHNaR1Z5TDJ4cFlpOVlUVXhUZEhKcGJtZHBabWxsY2k1cWN5SjkiLCIoZnVuY3Rpb24oKXt2YXIgdCxlLG89e30uaGFzT3duUHJvcGVydHk7dD1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxlPXJlcXVpcmUoXCIuL1hNTENoYXJhY3RlckRhdGFcIiksbW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24ocil7ZnVuY3Rpb24gaShlLG8pe2lmKGkuX19zdXBlcl9fLmNvbnN0cnVjdG9yLmNhbGwodGhpcyxlKSxudWxsPT1vKXRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgZWxlbWVudCB0ZXh0LiBcIit0aGlzLmRlYnVnSW5mbygpKTt0aGlzLm5hbWU9XCIjdGV4dFwiLHRoaXMudHlwZT10LlRleHQsdGhpcy52YWx1ZT10aGlzLnN0cmluZ2lmeS50ZXh0KG8pfXJldHVybiBmdW5jdGlvbih0LGUpe2Zvcih2YXIgciBpbiBlKW8uY2FsbChlLHIpJiYodFtyXT1lW3JdKTtmdW5jdGlvbiBpKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fWkucHJvdG90eXBlPWUucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyBpLHQuX19zdXBlcl9fPWUucHJvdG90eXBlfShpLGUpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShpLnByb3RvdHlwZSxcImlzRWxlbWVudENvbnRlbnRXaGl0ZXNwYWNlXCIse2dldDpmdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGkucHJvdG90eXBlLFwid2hvbGVUZXh0XCIse2dldDpmdW5jdGlvbigpe3ZhciB0LGUsbztmb3Iobz1cIlwiLGU9dGhpcy5wcmV2aW91c1NpYmxpbmc7ZTspbz1lLmRhdGErbyxlPWUucHJldmlvdXNTaWJsaW5nO2ZvcihvKz10aGlzLmRhdGEsdD10aGlzLm5leHRTaWJsaW5nO3Q7KW8rPXQuZGF0YSx0PXQubmV4dFNpYmxpbmc7cmV0dXJuIG99fSksaS5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LmNyZWF0ZSh0aGlzKX0saS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy53cml0ZXIudGV4dCh0aGlzLHRoaXMub3B0aW9ucy53cml0ZXIuZmlsdGVyT3B0aW9ucyh0KSl9LGkucHJvdG90eXBlLnNwbGl0VGV4dD1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxpLnByb3RvdHlwZS5yZXBsYWNlV2hvbGVUZXh0PWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LGl9KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRGUmxlSFF1YW5NaVhTd2libUZ0WlhNaU9sc2lUbTlrWlZSNWNHVWlMQ0pZVFV4RGFHRnlZV04wWlhKRVlYUmhJaXdpYUdGelVISnZjQ0lzSW1oaGMwOTNibEJ5YjNCbGNuUjVJaXdpY21WeGRXbHlaU0lzSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pTENKemRYQmxja05zWVhOeklpd2lXRTFNVkdWNGRDSXNJbkJoY21WdWRDSXNJblJsZUhRaUxDSmZYM04xY0dWeVgxOGlMQ0pqYjI1emRISjFZM1J2Y2lJc0ltTmhiR3dpTENKMGFHbHpJaXdpUlhKeWIzSWlMQ0prWldKMVowbHVabThpTENKdVlXMWxJaXdpZEhsd1pTSXNJbFJsZUhRaUxDSjJZV3gxWlNJc0luTjBjbWx1WjJsbWVTSXNJbU5vYVd4a0lpd2lhMlY1SWl3aVkzUnZjaUlzSW5CeWIzUnZkSGx3WlNJc0ltVjRkR1Z1WkNJc0lrOWlhbVZqZENJc0ltUmxabWx1WlZCeWIzQmxjblI1SWl3aVoyVjBJaXdpYm1WNGRDSXNJbkJ5WlhZaUxDSnpkSElpTENKd2NtVjJhVzkxYzFOcFlteHBibWNpTENKa1lYUmhJaXdpYm1WNGRGTnBZbXhwYm1jaUxDSmpiRzl1WlNJc0ltTnlaV0YwWlNJc0luUnZVM1J5YVc1bklpd2liM0IwYVc5dWN5SXNJbmR5YVhSbGNpSXNJbVpwYkhSbGNrOXdkR2x2Ym5NaUxDSnpjR3hwZEZSbGVIUWlMQ0p2Wm1aelpYUWlMQ0p5WlhCc1lXTmxWMmh2YkdWVVpYaDBJaXdpWTI5dWRHVnVkQ0pkTENKdFlYQndhVzVuY3lJNklrTkJRMEVzVjBGRFJTeEpRVUZKUVN4RlFVRlZReXhGUVVWYVF5eEZRVUZWTEVkQlFVZERMR1ZCUldaSUxFVkJRVmRKTEZGQlFWRXNZMEZGYmtKSUxFVkJRVzFDUnl4UlFVRlJMSE5DUVVVelFrTXNUMEZCVDBNc1VVRkJiMElzVTBGQlZVTXNSMEZIYmtNc1UwRkJVME1zUlVGQlVVTXNSVUZCVVVNc1IwRkZka0lzUjBGRVFVWXNSVUZCVVVjc1ZVRkJWVU1zV1VGQldVTXNTMEZCUzBNc1MwRkJUVXdzUjBGRE4wSXNUVUZCVWtNc1JVRkRSaXhOUVVGTkxFbEJRVWxMTEUxQlFVMHNlVUpCUVRKQ1JDeExRVUZMUlN4aFFVVnNSRVlzUzBGQlMwY3NTMEZCVHl4UlFVTmFTQ3hMUVVGTFNTeExRVUZQYkVJc1JVRkJVMjFDTEV0QlEzSkNUQ3hMUVVGTFRTeE5RVUZSVGl4TFFVRkxUeXhWUVVGVldDeExRVUZMUVN4SFFUUkRia01zVDBFM1JGTXNVMEZCVTFrc1JVRkJUMklzUjBGQlZTeEpRVUZMTEVsQlFVbGpMRXRCUVU5a0xFVkJRV05RTEVWQlFWRlhMRXRCUVV0S0xFVkJRVkZqTEV0QlFVMUVMRVZCUVUxRExFZEJRVTlrTEVWQlFVOWpMRWxCUVZFc1UwRkJVME1zU1VGQlUxWXNTMEZCUzBZc1dVRkJZMVVzUlVGQlUwVXNSVUZCUzBNc1ZVRkJXV2hDTEVWQlFVOW5RaXhWUVVGWFNDeEZRVUZOUnl4VlFVRlpMRWxCUVVsRUxFVkJRVkZHTEVWQlFVMVlMRlZCUVZsR0xFVkJRVTluUWl4VlFWRm9VVU1zUTBGQlQyeENMRVZCZFVST1VDeEhRVE5EUkRCQ0xFOUJRVTlETEdWQlFXVndRaXhGUVVGUmFVSXNWVUZCVnl3MlFrRkJPRUlzUTBGRGNrVkpMRWxCUVVzc1YwRkRTQ3hOUVVGTkxFbEJRVWxrTEUxQlFVMHNjME5CUVhkRFJDeExRVUZMUlN4blFrRkpha1ZYTEU5QlFVOURMR1ZCUVdWd1FpeEZRVUZSYVVJc1ZVRkJWeXhaUVVGaExFTkJRM0JFU1N4SlFVRkxMRmRCUTBnc1NVRkJTVU1zUlVGQlRVTXNSVUZCVFVNc1JVRkhhRUlzU1VGR1FVRXNSVUZCVFN4SFFVTk9SQ3hGUVVGUGFrSXNTMEZCUzIxQ0xHZENRVU5NUml4SFFVTk1ReXhGUVVGTlJDeEZRVUZMUnl4TFFVRlBSaXhGUVVOc1FrUXNSVUZCVDBFc1JVRkJTMFVzWjBKQlNXUXNTVUZHUVVRc1IwRkJUMnhDTEV0QlFVdHZRaXhMUVVOYVNpeEZRVUZQYUVJc1MwRkJTM0ZDTEZsQlEweE1MRWRCUTB4RkxFZEJRVmxHTEVWQlFVdEpMRXRCUTJwQ1NpeEZRVUZQUVN4RlFVRkxTeXhaUVVWa0xFOUJRVTlJTEV0QlNWaDRRaXhGUVVGUmFVSXNWVUZCVlZjc1RVRkJVU3hYUVVONFFpeFBRVUZQVkN4UFFVRlBWU3hQUVVGUGRrSXNUMEZIZGtKT0xFVkJRVkZwUWl4VlFVRlZZU3hUUVVGWExGTkJRVk5ETEVkQlEzQkRMRTlCUVU5NlFpeExRVUZMZVVJc1VVRkJVVU1zVDBGQlR6bENMRXRCUVV0SkxFdEJRVTFCTEV0QlFVdDVRaXhSUVVGUlF5eFBRVUZQUXl4alFVRmpSaXhMUVVjeFJTOUNMRVZCUVZGcFFpeFZRVUZWYVVJc1ZVRkJXU3hUUVVGVFF5eEhRVU55UXl4TlFVRk5MRWxCUVVrMVFpeE5RVUZOTEhORFFVRjNRMFFzUzBGQlMwVXNZMEZITDBSU0xFVkJRVkZwUWl4VlFVRlZiVUlzYVVKQlFXMUNMRk5CUVZORExFZEJRelZETEUxQlFVMHNTVUZCU1RsQ0xFMUJRVTBzYzBOQlFYZERSQ3hMUVVGTFJTeGpRVWQ0UkZJc1JVRjBSR3RDTEV0Qk1FUXhRa3NzUzBGQlMwTWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YzNSaFoybHVaeTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5NGJXeGlkV2xzWkdWeUwyeHBZaTlZVFV4VVpYaDBMbXB6SW4wPSIsIihmdW5jdGlvbigpe3ZhciBlLHQsbixzPXt9Lmhhc093blByb3BlcnR5O249cmVxdWlyZShcIi4vVXRpbGl0eVwiKS5hc3NpZ24sZT1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxyZXF1aXJlKFwiLi9YTUxEZWNsYXJhdGlvblwiKSxyZXF1aXJlKFwiLi9YTUxEb2NUeXBlXCIpLHJlcXVpcmUoXCIuL1hNTENEYXRhXCIpLHJlcXVpcmUoXCIuL1hNTENvbW1lbnRcIikscmVxdWlyZShcIi4vWE1MRWxlbWVudFwiKSxyZXF1aXJlKFwiLi9YTUxSYXdcIikscmVxdWlyZShcIi4vWE1MVGV4dFwiKSxyZXF1aXJlKFwiLi9YTUxQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25cIikscmVxdWlyZShcIi4vWE1MRHVtbXlcIikscmVxdWlyZShcIi4vWE1MRFREQXR0TGlzdFwiKSxyZXF1aXJlKFwiLi9YTUxEVERFbGVtZW50XCIpLHJlcXVpcmUoXCIuL1hNTERUREVudGl0eVwiKSxyZXF1aXJlKFwiLi9YTUxEVEROb3RhdGlvblwiKSx0PXJlcXVpcmUoXCIuL1dyaXRlclN0YXRlXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbyhlKXt2YXIgdCxuLG87Zm9yKHQgaW4gZXx8KGU9e30pLHRoaXMub3B0aW9ucz1lLG49ZS53cml0ZXJ8fHt9KXMuY2FsbChuLHQpJiYobz1uW3RdLHRoaXNbXCJfXCIrdF09dGhpc1t0XSx0aGlzW3RdPW8pfXJldHVybiBvLnByb3RvdHlwZS5maWx0ZXJPcHRpb25zPWZ1bmN0aW9uKGUpe3ZhciBzLG8sYSxpLHIsbCx1LHA7cmV0dXJuIGV8fChlPXt9KSxlPW4oe30sdGhpcy5vcHRpb25zLGUpLChzPXt3cml0ZXI6dGhpc30pLnByZXR0eT1lLnByZXR0eXx8ITEscy5hbGxvd0VtcHR5PWUuYWxsb3dFbXB0eXx8ITEscy5pbmRlbnQ9bnVsbCE9KG89ZS5pbmRlbnQpP286XCIgIFwiLHMubmV3bGluZT1udWxsIT0oYT1lLm5ld2xpbmUpP2E6XCJcXG5cIixzLm9mZnNldD1udWxsIT0oaT1lLm9mZnNldCk/aTowLHMuZG9udFByZXR0eVRleHROb2Rlcz1udWxsIT0ocj1udWxsIT0obD1lLmRvbnRQcmV0dHlUZXh0Tm9kZXMpP2w6ZS5kb250cHJldHR5dGV4dG5vZGVzKT9yOjAscy5zcGFjZUJlZm9yZVNsYXNoPW51bGwhPSh1PW51bGwhPShwPWUuc3BhY2VCZWZvcmVTbGFzaCk/cDplLnNwYWNlYmVmb3Jlc2xhc2gpP3U6XCJcIiwhMD09PXMuc3BhY2VCZWZvcmVTbGFzaCYmKHMuc3BhY2VCZWZvcmVTbGFzaD1cIiBcIikscy5zdXBwcmVzc1ByZXR0eUNvdW50PTAscy51c2VyPXt9LHMuc3RhdGU9dC5Ob25lLHN9LG8ucHJvdG90eXBlLmluZGVudD1mdW5jdGlvbihlLHQsbil7dmFyIHM7cmV0dXJuIXQucHJldHR5fHx0LnN1cHByZXNzUHJldHR5Q291bnQ/XCJcIjp0LnByZXR0eSYmKHM9KG58fDApK3Qub2Zmc2V0KzEpPjA/bmV3IEFycmF5KHMpLmpvaW4odC5pbmRlbnQpOlwiXCJ9LG8ucHJvdG90eXBlLmVuZGxpbmU9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiF0LnByZXR0eXx8dC5zdXBwcmVzc1ByZXR0eUNvdW50P1wiXCI6dC5uZXdsaW5lfSxvLnByb3RvdHlwZS5hdHRyaWJ1dGU9ZnVuY3Rpb24oZSx0LG4pe3ZhciBzO3JldHVybiB0aGlzLm9wZW5BdHRyaWJ1dGUoZSx0LG4pLHM9XCIgXCIrZS5uYW1lKyc9XCInK2UudmFsdWUrJ1wiJyx0aGlzLmNsb3NlQXR0cmlidXRlKGUsdCxuKSxzfSxvLnByb3RvdHlwZS5jZGF0YT1mdW5jdGlvbihlLG4scyl7dmFyIG87cmV0dXJuIHRoaXMub3Blbk5vZGUoZSxuLHMpLG4uc3RhdGU9dC5PcGVuVGFnLG89dGhpcy5pbmRlbnQoZSxuLHMpK1wiPCFbQ0RBVEFbXCIsbi5zdGF0ZT10Lkluc2lkZVRhZyxvKz1lLnZhbHVlLG4uc3RhdGU9dC5DbG9zZVRhZyxvKz1cIl1dPlwiK3RoaXMuZW5kbGluZShlLG4scyksbi5zdGF0ZT10Lk5vbmUsdGhpcy5jbG9zZU5vZGUoZSxuLHMpLG99LG8ucHJvdG90eXBlLmNvbW1lbnQ9ZnVuY3Rpb24oZSxuLHMpe3ZhciBvO3JldHVybiB0aGlzLm9wZW5Ob2RlKGUsbixzKSxuLnN0YXRlPXQuT3BlblRhZyxvPXRoaXMuaW5kZW50KGUsbixzKStcIlxceDNjIS0tIFwiLG4uc3RhdGU9dC5JbnNpZGVUYWcsbys9ZS52YWx1ZSxuLnN0YXRlPXQuQ2xvc2VUYWcsbys9XCIgLS1cXHgzZVwiK3RoaXMuZW5kbGluZShlLG4scyksbi5zdGF0ZT10Lk5vbmUsdGhpcy5jbG9zZU5vZGUoZSxuLHMpLG99LG8ucHJvdG90eXBlLmRlY2xhcmF0aW9uPWZ1bmN0aW9uKGUsbixzKXt2YXIgbztyZXR1cm4gdGhpcy5vcGVuTm9kZShlLG4scyksbi5zdGF0ZT10Lk9wZW5UYWcsbz10aGlzLmluZGVudChlLG4scykrXCI8P3htbFwiLG4uc3RhdGU9dC5JbnNpZGVUYWcsbys9JyB2ZXJzaW9uPVwiJytlLnZlcnNpb24rJ1wiJyxudWxsIT1lLmVuY29kaW5nJiYobys9JyBlbmNvZGluZz1cIicrZS5lbmNvZGluZysnXCInKSxudWxsIT1lLnN0YW5kYWxvbmUmJihvKz0nIHN0YW5kYWxvbmU9XCInK2Uuc3RhbmRhbG9uZSsnXCInKSxuLnN0YXRlPXQuQ2xvc2VUYWcsbys9bi5zcGFjZUJlZm9yZVNsYXNoK1wiPz5cIixvKz10aGlzLmVuZGxpbmUoZSxuLHMpLG4uc3RhdGU9dC5Ob25lLHRoaXMuY2xvc2VOb2RlKGUsbixzKSxvfSxvLnByb3RvdHlwZS5kb2NUeXBlPWZ1bmN0aW9uKGUsbixzKXt2YXIgbyxhLGkscixsO2lmKHN8fChzPTApLHRoaXMub3Blbk5vZGUoZSxuLHMpLG4uc3RhdGU9dC5PcGVuVGFnLHI9dGhpcy5pbmRlbnQoZSxuLHMpLHIrPVwiPCFET0NUWVBFIFwiK2Uucm9vdCgpLm5hbWUsZS5wdWJJRCYmZS5zeXNJRD9yKz0nIFBVQkxJQyBcIicrZS5wdWJJRCsnXCIgXCInK2Uuc3lzSUQrJ1wiJzplLnN5c0lEJiYocis9JyBTWVNURU0gXCInK2Uuc3lzSUQrJ1wiJyksZS5jaGlsZHJlbi5sZW5ndGg+MCl7Zm9yKHIrPVwiIFtcIixyKz10aGlzLmVuZGxpbmUoZSxuLHMpLG4uc3RhdGU9dC5JbnNpZGVUYWcsYT0wLGk9KGw9ZS5jaGlsZHJlbikubGVuZ3RoO2E8aTthKyspbz1sW2FdLHIrPXRoaXMud3JpdGVDaGlsZE5vZGUobyxuLHMrMSk7bi5zdGF0ZT10LkNsb3NlVGFnLHIrPVwiXVwifXJldHVybiBuLnN0YXRlPXQuQ2xvc2VUYWcscis9bi5zcGFjZUJlZm9yZVNsYXNoK1wiPlwiLHIrPXRoaXMuZW5kbGluZShlLG4scyksbi5zdGF0ZT10Lk5vbmUsdGhpcy5jbG9zZU5vZGUoZSxuLHMpLHJ9LG8ucHJvdG90eXBlLmVsZW1lbnQ9ZnVuY3Rpb24obixvLGEpe3ZhciBpLHIsbCx1LHAsZCxoLGMseSxULGYsTixnLEQ7Zm9yKHkgaW4gYXx8KGE9MCksVD0hMSxmPVwiXCIsdGhpcy5vcGVuTm9kZShuLG8sYSksby5zdGF0ZT10Lk9wZW5UYWcsZis9dGhpcy5pbmRlbnQobixvLGEpK1wiPFwiK24ubmFtZSxOPW4uYXR0cmlicylzLmNhbGwoTix5KSYmKGk9Tlt5XSxmKz10aGlzLmF0dHJpYnV0ZShpLG8sYSkpO2lmKHU9MD09PShsPW4uY2hpbGRyZW4ubGVuZ3RoKT9udWxsOm4uY2hpbGRyZW5bMF0sMD09PWx8fG4uY2hpbGRyZW4uZXZlcnkoZnVuY3Rpb24odCl7cmV0dXJuKHQudHlwZT09PWUuVGV4dHx8dC50eXBlPT09ZS5SYXcpJiZcIlwiPT09dC52YWx1ZX0pKW8uYWxsb3dFbXB0eT8oZis9XCI+XCIsby5zdGF0ZT10LkNsb3NlVGFnLGYrPVwiPC9cIituLm5hbWUrXCI+XCIrdGhpcy5lbmRsaW5lKG4sbyxhKSk6KG8uc3RhdGU9dC5DbG9zZVRhZyxmKz1vLnNwYWNlQmVmb3JlU2xhc2grXCIvPlwiK3RoaXMuZW5kbGluZShuLG8sYSkpO2Vsc2UgaWYoIW8ucHJldHR5fHwxIT09bHx8dS50eXBlIT09ZS5UZXh0JiZ1LnR5cGUhPT1lLlJhd3x8bnVsbD09dS52YWx1ZSl7aWYoby5kb250UHJldHR5VGV4dE5vZGVzKWZvcihwPTAsaD0oZz1uLmNoaWxkcmVuKS5sZW5ndGg7cDxoO3ArKylpZigoKHI9Z1twXSkudHlwZT09PWUuVGV4dHx8ci50eXBlPT09ZS5SYXcpJiZudWxsIT1yLnZhbHVlKXtvLnN1cHByZXNzUHJldHR5Q291bnQrKyxUPSEwO2JyZWFrfWZvcihmKz1cIj5cIit0aGlzLmVuZGxpbmUobixvLGEpLG8uc3RhdGU9dC5JbnNpZGVUYWcsZD0wLGM9KEQ9bi5jaGlsZHJlbikubGVuZ3RoO2Q8YztkKyspcj1EW2RdLGYrPXRoaXMud3JpdGVDaGlsZE5vZGUocixvLGErMSk7by5zdGF0ZT10LkNsb3NlVGFnLGYrPXRoaXMuaW5kZW50KG4sbyxhKStcIjwvXCIrbi5uYW1lK1wiPlwiLFQmJm8uc3VwcHJlc3NQcmV0dHlDb3VudC0tLGYrPXRoaXMuZW5kbGluZShuLG8sYSksby5zdGF0ZT10Lk5vbmV9ZWxzZSBmKz1cIj5cIixvLnN0YXRlPXQuSW5zaWRlVGFnLG8uc3VwcHJlc3NQcmV0dHlDb3VudCsrLFQ9ITAsZis9dGhpcy53cml0ZUNoaWxkTm9kZSh1LG8sYSsxKSxvLnN1cHByZXNzUHJldHR5Q291bnQtLSxUPSExLG8uc3RhdGU9dC5DbG9zZVRhZyxmKz1cIjwvXCIrbi5uYW1lK1wiPlwiK3RoaXMuZW5kbGluZShuLG8sYSk7cmV0dXJuIHRoaXMuY2xvc2VOb2RlKG4sbyxhKSxmfSxvLnByb3RvdHlwZS53cml0ZUNoaWxkTm9kZT1mdW5jdGlvbih0LG4scyl7c3dpdGNoKHQudHlwZSl7Y2FzZSBlLkNEYXRhOnJldHVybiB0aGlzLmNkYXRhKHQsbixzKTtjYXNlIGUuQ29tbWVudDpyZXR1cm4gdGhpcy5jb21tZW50KHQsbixzKTtjYXNlIGUuRWxlbWVudDpyZXR1cm4gdGhpcy5lbGVtZW50KHQsbixzKTtjYXNlIGUuUmF3OnJldHVybiB0aGlzLnJhdyh0LG4scyk7Y2FzZSBlLlRleHQ6cmV0dXJuIHRoaXMudGV4dCh0LG4scyk7Y2FzZSBlLlByb2Nlc3NpbmdJbnN0cnVjdGlvbjpyZXR1cm4gdGhpcy5wcm9jZXNzaW5nSW5zdHJ1Y3Rpb24odCxuLHMpO2Nhc2UgZS5EdW1teTpyZXR1cm5cIlwiO2Nhc2UgZS5EZWNsYXJhdGlvbjpyZXR1cm4gdGhpcy5kZWNsYXJhdGlvbih0LG4scyk7Y2FzZSBlLkRvY1R5cGU6cmV0dXJuIHRoaXMuZG9jVHlwZSh0LG4scyk7Y2FzZSBlLkF0dHJpYnV0ZURlY2xhcmF0aW9uOnJldHVybiB0aGlzLmR0ZEF0dExpc3QodCxuLHMpO2Nhc2UgZS5FbGVtZW50RGVjbGFyYXRpb246cmV0dXJuIHRoaXMuZHRkRWxlbWVudCh0LG4scyk7Y2FzZSBlLkVudGl0eURlY2xhcmF0aW9uOnJldHVybiB0aGlzLmR0ZEVudGl0eSh0LG4scyk7Y2FzZSBlLk5vdGF0aW9uRGVjbGFyYXRpb246cmV0dXJuIHRoaXMuZHRkTm90YXRpb24odCxuLHMpO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKFwiVW5rbm93biBYTUwgbm9kZSB0eXBlOiBcIit0LmNvbnN0cnVjdG9yLm5hbWUpfX0sby5wcm90b3R5cGUucHJvY2Vzc2luZ0luc3RydWN0aW9uPWZ1bmN0aW9uKGUsbixzKXt2YXIgbztyZXR1cm4gdGhpcy5vcGVuTm9kZShlLG4scyksbi5zdGF0ZT10Lk9wZW5UYWcsbz10aGlzLmluZGVudChlLG4scykrXCI8P1wiLG4uc3RhdGU9dC5JbnNpZGVUYWcsbys9ZS50YXJnZXQsZS52YWx1ZSYmKG8rPVwiIFwiK2UudmFsdWUpLG4uc3RhdGU9dC5DbG9zZVRhZyxvKz1uLnNwYWNlQmVmb3JlU2xhc2grXCI/PlwiLG8rPXRoaXMuZW5kbGluZShlLG4scyksbi5zdGF0ZT10Lk5vbmUsdGhpcy5jbG9zZU5vZGUoZSxuLHMpLG99LG8ucHJvdG90eXBlLnJhdz1mdW5jdGlvbihlLG4scyl7dmFyIG87cmV0dXJuIHRoaXMub3Blbk5vZGUoZSxuLHMpLG4uc3RhdGU9dC5PcGVuVGFnLG89dGhpcy5pbmRlbnQoZSxuLHMpLG4uc3RhdGU9dC5JbnNpZGVUYWcsbys9ZS52YWx1ZSxuLnN0YXRlPXQuQ2xvc2VUYWcsbys9dGhpcy5lbmRsaW5lKGUsbixzKSxuLnN0YXRlPXQuTm9uZSx0aGlzLmNsb3NlTm9kZShlLG4scyksb30sby5wcm90b3R5cGUudGV4dD1mdW5jdGlvbihlLG4scyl7dmFyIG87cmV0dXJuIHRoaXMub3Blbk5vZGUoZSxuLHMpLG4uc3RhdGU9dC5PcGVuVGFnLG89dGhpcy5pbmRlbnQoZSxuLHMpLG4uc3RhdGU9dC5JbnNpZGVUYWcsbys9ZS52YWx1ZSxuLnN0YXRlPXQuQ2xvc2VUYWcsbys9dGhpcy5lbmRsaW5lKGUsbixzKSxuLnN0YXRlPXQuTm9uZSx0aGlzLmNsb3NlTm9kZShlLG4scyksb30sby5wcm90b3R5cGUuZHRkQXR0TGlzdD1mdW5jdGlvbihlLG4scyl7dmFyIG87cmV0dXJuIHRoaXMub3Blbk5vZGUoZSxuLHMpLG4uc3RhdGU9dC5PcGVuVGFnLG89dGhpcy5pbmRlbnQoZSxuLHMpK1wiPCFBVFRMSVNUXCIsbi5zdGF0ZT10Lkluc2lkZVRhZyxvKz1cIiBcIitlLmVsZW1lbnROYW1lK1wiIFwiK2UuYXR0cmlidXRlTmFtZStcIiBcIitlLmF0dHJpYnV0ZVR5cGUsXCIjREVGQVVMVFwiIT09ZS5kZWZhdWx0VmFsdWVUeXBlJiYobys9XCIgXCIrZS5kZWZhdWx0VmFsdWVUeXBlKSxlLmRlZmF1bHRWYWx1ZSYmKG8rPScgXCInK2UuZGVmYXVsdFZhbHVlKydcIicpLG4uc3RhdGU9dC5DbG9zZVRhZyxvKz1uLnNwYWNlQmVmb3JlU2xhc2grXCI+XCIrdGhpcy5lbmRsaW5lKGUsbixzKSxuLnN0YXRlPXQuTm9uZSx0aGlzLmNsb3NlTm9kZShlLG4scyksb30sby5wcm90b3R5cGUuZHRkRWxlbWVudD1mdW5jdGlvbihlLG4scyl7dmFyIG87cmV0dXJuIHRoaXMub3Blbk5vZGUoZSxuLHMpLG4uc3RhdGU9dC5PcGVuVGFnLG89dGhpcy5pbmRlbnQoZSxuLHMpK1wiPCFFTEVNRU5UXCIsbi5zdGF0ZT10Lkluc2lkZVRhZyxvKz1cIiBcIitlLm5hbWUrXCIgXCIrZS52YWx1ZSxuLnN0YXRlPXQuQ2xvc2VUYWcsbys9bi5zcGFjZUJlZm9yZVNsYXNoK1wiPlwiK3RoaXMuZW5kbGluZShlLG4scyksbi5zdGF0ZT10Lk5vbmUsdGhpcy5jbG9zZU5vZGUoZSxuLHMpLG99LG8ucHJvdG90eXBlLmR0ZEVudGl0eT1mdW5jdGlvbihlLG4scyl7dmFyIG87cmV0dXJuIHRoaXMub3Blbk5vZGUoZSxuLHMpLG4uc3RhdGU9dC5PcGVuVGFnLG89dGhpcy5pbmRlbnQoZSxuLHMpK1wiPCFFTlRJVFlcIixuLnN0YXRlPXQuSW5zaWRlVGFnLGUucGUmJihvKz1cIiAlXCIpLG8rPVwiIFwiK2UubmFtZSxlLnZhbHVlP28rPScgXCInK2UudmFsdWUrJ1wiJzooZS5wdWJJRCYmZS5zeXNJRD9vKz0nIFBVQkxJQyBcIicrZS5wdWJJRCsnXCIgXCInK2Uuc3lzSUQrJ1wiJzplLnN5c0lEJiYobys9JyBTWVNURU0gXCInK2Uuc3lzSUQrJ1wiJyksZS5uRGF0YSYmKG8rPVwiIE5EQVRBIFwiK2UubkRhdGEpKSxuLnN0YXRlPXQuQ2xvc2VUYWcsbys9bi5zcGFjZUJlZm9yZVNsYXNoK1wiPlwiK3RoaXMuZW5kbGluZShlLG4scyksbi5zdGF0ZT10Lk5vbmUsdGhpcy5jbG9zZU5vZGUoZSxuLHMpLG99LG8ucHJvdG90eXBlLmR0ZE5vdGF0aW9uPWZ1bmN0aW9uKGUsbixzKXt2YXIgbztyZXR1cm4gdGhpcy5vcGVuTm9kZShlLG4scyksbi5zdGF0ZT10Lk9wZW5UYWcsbz10aGlzLmluZGVudChlLG4scykrXCI8IU5PVEFUSU9OXCIsbi5zdGF0ZT10Lkluc2lkZVRhZyxvKz1cIiBcIitlLm5hbWUsZS5wdWJJRCYmZS5zeXNJRD9vKz0nIFBVQkxJQyBcIicrZS5wdWJJRCsnXCIgXCInK2Uuc3lzSUQrJ1wiJzplLnB1YklEP28rPScgUFVCTElDIFwiJytlLnB1YklEKydcIic6ZS5zeXNJRCYmKG8rPScgU1lTVEVNIFwiJytlLnN5c0lEKydcIicpLG4uc3RhdGU9dC5DbG9zZVRhZyxvKz1uLnNwYWNlQmVmb3JlU2xhc2grXCI+XCIrdGhpcy5lbmRsaW5lKGUsbixzKSxuLnN0YXRlPXQuTm9uZSx0aGlzLmNsb3NlTm9kZShlLG4scyksb30sby5wcm90b3R5cGUub3Blbk5vZGU9ZnVuY3Rpb24oZSx0LG4pe30sby5wcm90b3R5cGUuY2xvc2VOb2RlPWZ1bmN0aW9uKGUsdCxuKXt9LG8ucHJvdG90eXBlLm9wZW5BdHRyaWJ1dGU9ZnVuY3Rpb24oZSx0LG4pe30sby5wcm90b3R5cGUuY2xvc2VBdHRyaWJ1dGU9ZnVuY3Rpb24oZSx0LG4pe30sb30oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEZkeWFYUmxja0poYzJVdWFuTWlYU3dpYm1GdFpYTWlPbHNpVG05a1pWUjVjR1VpTENKWGNtbDBaWEpUZEdGMFpTSXNJbUZ6YzJsbmJpSXNJbWhoYzFCeWIzQWlMQ0pvWVhOUGQyNVFjbTl3WlhKMGVTSXNJbkpsY1hWcGNtVWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpV0UxTVYzSnBkR1Z5UW1GelpTSXNJbTl3ZEdsdmJuTWlMQ0pyWlhraUxDSnlaV1lpTENKMllXeDFaU0lzSW5Sb2FYTWlMQ0ozY21sMFpYSWlMQ0pqWVd4c0lpd2ljSEp2ZEc5MGVYQmxJaXdpWm1sc2RHVnlUM0IwYVc5dWN5SXNJbVpwYkhSbGNtVmtUM0IwYVc5dWN5SXNJbkpsWmpFaUxDSnlaV1l5SWl3aWNtVm1NeUlzSW5KbFpqUWlMQ0p5WldZMUlpd2ljbVZtTmlJc0luQnlaWFIwZVNJc0ltRnNiRzkzUlcxd2RIa2lMQ0pwYm1SbGJuUWlMQ0p1Wlhkc2FXNWxJaXdpYjJabWMyVjBJaXdpWkc5dWRGQnlaWFIwZVZSbGVIUk9iMlJsY3lJc0ltUnZiblJ3Y21WMGRIbDBaWGgwYm05a1pYTWlMQ0p6Y0dGalpVSmxabTl5WlZOc1lYTm9JaXdpYzNCaFkyVmlaV1p2Y21WemJHRnphQ0lzSW5OMWNIQnlaWE56VUhKbGRIUjVRMjkxYm5RaUxDSjFjMlZ5SWl3aWMzUmhkR1VpTENKT2IyNWxJaXdpYm05a1pTSXNJbXhsZG1Wc0lpd2lhVzVrWlc1MFRHVjJaV3dpTENKQmNuSmhlU0lzSW1wdmFXNGlMQ0psYm1Sc2FXNWxJaXdpWVhSMGNtbGlkWFJsSWl3aVlYUjBJaXdpY2lJc0ltOXdaVzVCZEhSeWFXSjFkR1VpTENKdVlXMWxJaXdpWTJ4dmMyVkJkSFJ5YVdKMWRHVWlMQ0pqWkdGMFlTSXNJbTl3Wlc1T2IyUmxJaXdpVDNCbGJsUmhaeUlzSWtsdWMybGtaVlJoWnlJc0lrTnNiM05sVkdGbklpd2lZMnh2YzJWT2IyUmxJaXdpWTI5dGJXVnVkQ0lzSW1SbFkyeGhjbUYwYVc5dUlpd2lkbVZ5YzJsdmJpSXNJbVZ1WTI5a2FXNW5JaXdpYzNSaGJtUmhiRzl1WlNJc0ltUnZZMVI1Y0dVaUxDSmphR2xzWkNJc0lta2lMQ0pzWlc0aUxDSnliMjkwSWl3aWNIVmlTVVFpTENKemVYTkpSQ0lzSW1Ob2FXeGtjbVZ1SWl3aWJHVnVaM1JvSWl3aWQzSnBkR1ZEYUdsc1pFNXZaR1VpTENKbGJHVnRaVzUwSWl3aVkyaHBiR1JPYjJSbFEyOTFiblFpTENKbWFYSnpkRU5vYVd4a1RtOWtaU0lzSW1vaUxDSnNaVzR4SWl3aWNISmxkSFI1VTNWd2NISmxjM05sWkNJc0ltRjBkSEpwWW5NaUxDSmxkbVZ5ZVNJc0ltVWlMQ0owZVhCbElpd2lWR1Y0ZENJc0lsSmhkeUlzSWtORVlYUmhJaXdpUTI5dGJXVnVkQ0lzSWtWc1pXMWxiblFpTENKeVlYY2lMQ0owWlhoMElpd2lVSEp2WTJWemMybHVaMGx1YzNSeWRXTjBhVzl1SWl3aWNISnZZMlZ6YzJsdVowbHVjM1J5ZFdOMGFXOXVJaXdpUkhWdGJYa2lMQ0pFWldOc1lYSmhkR2x2YmlJc0lrUnZZMVI1Y0dVaUxDSkJkSFJ5YVdKMWRHVkVaV05zWVhKaGRHbHZiaUlzSW1SMFpFRjBkRXhwYzNRaUxDSkZiR1Z0Wlc1MFJHVmpiR0Z5WVhScGIyNGlMQ0prZEdSRmJHVnRaVzUwSWl3aVJXNTBhWFI1UkdWamJHRnlZWFJwYjI0aUxDSmtkR1JGYm5ScGRIa2lMQ0pPYjNSaGRHbHZia1JsWTJ4aGNtRjBhVzl1SWl3aVpIUmtUbTkwWVhScGIyNGlMQ0pGY25KdmNpSXNJbU52Ym5OMGNuVmpkRzl5SWl3aWRHRnlaMlYwSWl3aVpXeGxiV1Z1ZEU1aGJXVWlMQ0poZEhSeWFXSjFkR1ZPWVcxbElpd2lZWFIwY21saWRYUmxWSGx3WlNJc0ltUmxabUYxYkhSV1lXeDFaVlI1Y0dVaUxDSmtaV1poZFd4MFZtRnNkV1VpTENKd1pTSXNJbTVFWVhSaElsMHNJbTFoY0hCcGJtZHpJam9pUTBGRFFTeFhRVU5GTEVsQlFVbEJMRVZCUVZWRExFVkJRVEpOUXl4RlFVTjJUa01zUlVGQlZTeEhRVUZIUXl4bFFVVm1SaXhGUVVGVFJ5eFJRVUZSTEdGQlFXRklMRTlCUlRsQ1JpeEZRVUZYU3l4UlFVRlJMR05CUlVaQkxGRkJRVkVzYjBKQlJWcEJMRkZCUVZFc1owSkJSVlpCTEZGQlFWRXNZMEZGVGtFc1VVRkJVU3huUWtGRlVrRXNVVUZCVVN4blFrRkZXa0VzVVVGQlVTeFpRVVZRUVN4UlFVRlJMR0ZCUlZOQkxGRkJRVkVzT0VKQlJYaENRU3hSUVVGUkxHTkJSVWhCTEZGQlFWRXNiVUpCUlZKQkxGRkJRVkVzYlVKQlJWUkJMRkZCUVZFc2EwSkJSVTVCTEZGQlFWRXNiMEpCUlhwQ1NpeEZRVUZqU1N4UlFVRlJMR2xDUVVWMFFrTXNUMEZCVDBNc1VVRkJNRUlzVjBGREwwSXNVMEZCVTBNc1JVRkJZME1zUjBGRGNrSXNTVUZCU1VNc1JVRkJTME1zUlVGQlMwTXNSVUZKWkN4SlFVRkxSaXhMUVVoTVJDeEpRVUZaUVN4RlFVRlZMRWxCUTNSQ1NTeExRVUZMU2l4UlFVRlZRU3hGUVVObVJTeEZRVUZOUml4RlFVRlJTeXhSUVVGVkxFZEJSV3BDV0N4RlFVRlJXU3hMUVVGTFNpeEZRVUZMUkN4TFFVTjJRa1VzUlVGQlVVUXNSVUZCU1VRc1IwRkRXa2NzUzBGQlN5eEpRVUZOU0N4SFFVRlBSeXhMUVVGTFNDeEhRVU4yUWtjc1MwRkJTMGdzUjBGQlQwVXNSMEYzV0doQ0xFOUJjRmhCU2l4RlFVRmpVU3hWUVVGVlF5eGpRVUZuUWl4VFFVRlRVaXhIUVVNdlF5eEpRVUZKVXl4RlFVRnBRbEFzUlVGQlMxRXNSVUZCVFVNc1JVRkJUVU1zUlVGQlRVTXNSVUZCVFVNc1JVRkJUVU1zUlVGdFFuaEVMRTlCYkVKQlppeEpRVUZaUVN4RlFVRlZMRWxCUTNSQ1FTeEZRVUZWVUN4RlFVRlBMRWRCUVVsWExFdEJRVXRLTEZGQlFWTkJMRWxCUTI1RFV5eEZRVUZyUWl4RFFVTm9Ra29zVDBGQlVVUXNUMEZGVFZrc1QwRkJVMmhDTEVWQlFWRm5RaXhUUVVGVkxFVkJRek5EVUN4RlFVRm5RbEVzVjBGQllXcENMRVZCUVZGcFFpeGhRVUZqTEVWQlEyNUVVaXhGUVVGblFsTXNUMEZCYlVNc1QwRkJla0pvUWl4RlFVRk5SaXhGUVVGUmEwSXNVVUZCYTBKb1FpeEZRVUZOTEV0QlEyaEZUeXhGUVVGblFsVXNVVUZCYzBNc1QwRkJNMEpVTEVWQlFVOVdMRVZCUVZGdFFpeFRRVUZ0UWxRc1JVRkJUeXhMUVVOd1JVUXNSVUZCWjBKWExFOUJRVzlETEU5QlFURkNWQ3hGUVVGUFdDeEZRVUZSYjBJc1VVRkJhMEpVTEVWQlFVOHNSVUZEYkVWR0xFVkJRV2RDV1N4dlFrRkJiMGdzVDBGQk4wWlVMRVZCUVN0RExFOUJRWFpEUXl4RlFVRlBZaXhGUVVGUmNVSXNjVUpCUVN0Q1VpeEZRVUZQWWl4RlFVRlJjMElzY1VKQlFTdENWaXhGUVVGUExFVkJRMnhLU0N4RlFVRm5RbU1zYVVKQlFUSkhMRTlCUVhaR1ZDeEZRVUUwUXl4UFFVRndRME1zUlVGQlQyWXNSVUZCVVhWQ0xHdENRVUUwUWxJc1JVRkJUMllzUlVGQlVYZENMR3RDUVVFMFFsWXNSVUZCVHl4SlFVTm9SeXhKUVVGeVEwd3NSVUZCWjBKakxHMUNRVU5zUW1Rc1JVRkJaMEpqTEdsQ1FVRnRRaXhMUVVWeVEyUXNSVUZCWjBKblFpeHZRa0ZCYzBJc1JVRkRkRU5vUWl4RlFVRm5RbWxDTEV0QlFVOHNSMEZEZGtKcVFpeEZRVUZuUW10Q0xFMUJRVkZ1UXl4RlFVRlpiME1zUzBGRE4wSnVRaXhIUVVkVVZpeEZRVUZqVVN4VlFVRlZWeXhQUVVGVExGTkJRVk5YTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZEZGtRc1NVRkJTVU1zUlVGRFNpeFBRVUZMTDBJc1JVRkJVV2RDTEZGQlFWVm9RaXhGUVVGUmVVSXNiMEpCUTNSQ0xFZEJRMFY2UWl4RlFVRlJaMElzVTBGRGFrSmxMRWRCUVdWRUxFZEJRVk1zUjBGQlN6bENMRVZCUVZGdlFpeFBRVUZUTEVkQlF6VkNMRVZCUTFRc1NVRkJTVmtzVFVGQlRVUXNSMEZCWVVVc1MwRkJTMnBETEVWQlFWRnJRaXhSUVVkNFF5eEpRVWRVYmtJc1JVRkJZMUVzVlVGQlZUSkNMRkZCUVZVc1UwRkJVMHdzUlVGQlRUZENMRVZCUVZNNFFpeEhRVU40UkN4UFFVRkxPVUlzUlVGQlVXZENMRkZCUVZWb1FpeEZRVUZSZVVJc2IwSkJRM1JDTEVkQlJVRjZRaXhGUVVGUmJVSXNVMEZKYmtKd1FpeEZRVUZqVVN4VlFVRlZORUlzVlVGQldTeFRRVUZUUXl4RlFVRkxjRU1zUlVGQlV6aENMRWRCUTNwRUxFbEJRVWxQTEVWQlNVb3NUMEZJUVdwRExFdEJRVXRyUXl4alFVRmpSaXhGUVVGTGNFTXNSVUZCVXpoQ0xFZEJRMnBEVHl4RlFVRkpMRWxCUVUxRUxFVkJRVWxITEV0QlFVOHNTMEZCVDBnc1JVRkJTV3BETEUxQlFWRXNTVUZEZUVORExFdEJRVXR2UXl4bFFVRmxTaXhGUVVGTGNFTXNSVUZCVXpoQ0xFZEJRek5DVHl4SFFVZFVkRU1zUlVGQlkxRXNWVUZCVld0RExFMUJRVkVzVTBGQlUxb3NSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTjBSQ3hKUVVGSlR5eEZRVlZLTEU5QlZFRnFReXhMUVVGTGMwTXNVMEZCVTJJc1JVRkJUVGRDTEVWQlFWTTRRaXhIUVVNM1FqbENMRVZCUVZFeVFpeE5RVUZSYmtNc1JVRkJXVzFFTEZGQlF6VkNUaXhGUVVGSmFrTXNTMEZCUzJNc1QwRkJUMWNzUlVGQlRUZENMRVZCUVZNNFFpeEhRVUZUTEZsQlEzaERPVUlzUlVGQlVUSkNMRTFCUVZGdVF5eEZRVUZaYjBRc1ZVRkROVUpRTEVkQlFVdFNMRVZCUVVzeFFpeE5RVU5XU0N4RlFVRlJNa0lzVFVGQlVXNURMRVZCUVZseFJDeFRRVU0xUWxJc1IwRkJTeXhOUVVGUmFrTXNTMEZCU3poQ0xGRkJRVkZNTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZEZWtNNVFpeEZRVUZSTWtJc1RVRkJVVzVETEVWQlFWbHZReXhMUVVNMVFuaENMRXRCUVVzd1F5eFZRVUZWYWtJc1JVRkJUVGRDTEVWQlFWTTRRaXhIUVVOMlFrOHNSMEZIVkhSRExFVkJRV05STEZWQlFWVjNReXhSUVVGVkxGTkJRVk5zUWl4RlFVRk5OMElzUlVGQlV6aENMRWRCUTNoRUxFbEJRVWxQTEVWQlZVb3NUMEZVUVdwRExFdEJRVXR6UXl4VFFVRlRZaXhGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRemRDT1VJc1JVRkJVVEpDTEUxQlFWRnVReXhGUVVGWmJVUXNVVUZETlVKT0xFVkJRVWxxUXl4TFFVRkxZeXhQUVVGUFZ5eEZRVUZOTjBJc1JVRkJVemhDTEVkQlFWTXNWMEZEZUVNNVFpeEZRVUZSTWtJc1RVRkJVVzVETEVWQlFWbHZSQ3hWUVVNMVFsQXNSMEZCUzFJc1JVRkJTekZDTEUxQlExWklMRVZCUVZFeVFpeE5RVUZSYmtNc1JVRkJXWEZFTEZOQlF6VkNVaXhIUVVGTExGVkJRVk5xUXl4TFFVRkxPRUlzVVVGQlVVd3NSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTXhRemxDTEVWQlFWRXlRaXhOUVVGUmJrTXNSVUZCV1c5RExFdEJRelZDZUVJc1MwRkJTekJETEZWQlFWVnFRaXhGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRM1pDVHl4SFFVZFVkRU1zUlVGQlkxRXNWVUZCVlhsRExGbEJRV01zVTBGQlUyNUNMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkROVVFzU1VGQlNVOHNSVUZwUWtvc1QwRm9Ra0ZxUXl4TFFVRkxjME1zVTBGQlUySXNSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTTNRamxDTEVWQlFWRXlRaXhOUVVGUmJrTXNSVUZCV1cxRUxGRkJRelZDVGl4RlFVRkpha01zUzBGQlMyTXNUMEZCVDFjc1JVRkJUVGRDTEVWQlFWTTRRaXhIUVVGVExGRkJRM2hET1VJc1JVRkJVVEpDTEUxQlFWRnVReXhGUVVGWmIwUXNWVUZETlVKUUxFZEJRVXNzWVVGQlpWSXNSVUZCUzI5Q0xGRkJRVlVzU1VGRFpDeE5RVUZxUW5CQ0xFVkJRVXR4UWl4WFFVTlFZaXhIUVVGTExHTkJRV2RDVWl4RlFVRkxjVUlzVTBGQlZ5eExRVVZvUWl4TlFVRnVRbkpDTEVWQlFVdHpRaXhoUVVOUVpDeEhRVUZMTEdkQ1FVRnJRbElzUlVGQlMzTkNMRmRCUVdFc1MwRkZNME51UkN4RlFVRlJNa0lzVFVGQlVXNURMRVZCUVZseFJDeFRRVU0xUWxJc1IwRkJTM0pETEVWQlFWRjFRaXhwUWtGQmJVSXNTMEZEYUVOakxFZEJRVXRxUXl4TFFVRkxPRUlzVVVGQlVVd3NSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTnFRemxDTEVWQlFWRXlRaXhOUVVGUmJrTXNSVUZCV1c5RExFdEJRelZDZUVJc1MwRkJTekJETEZWQlFWVnFRaXhGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRM1pDVHl4SFFVZFVkRU1zUlVGQlkxRXNWVUZCVlRaRExGRkJRVlVzVTBGQlUzWkNMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkRlRVFzU1VGQlNYVkNMRVZCUVU5RExFVkJRVWRETEVWQlFVdHNRaXhGUVVGSGJrTXNSVUZYZEVJc1IwRldRVFJDTEVsQlFWVkJMRVZCUVZFc1IwRkRiRUl4UWl4TFFVRkxjME1zVTBGQlUySXNSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTTNRamxDTEVWQlFWRXlRaXhOUVVGUmJrTXNSVUZCV1cxRUxGRkJRelZDVGl4RlFVRkpha01zUzBGQlMyTXNUMEZCVDFjc1JVRkJUVGRDTEVWQlFWTTRRaXhIUVVNdlFrOHNSMEZCU3l4aFFVRmxVaXhGUVVGTE1rSXNUMEZCVDJwQ0xFdEJRelZDVml4RlFVRkxORUlzVDBGQlV6VkNMRVZCUVVzMlFpeE5RVU55UW5KQ0xFZEJRVXNzV1VGQlkxSXNSVUZCU3pSQ0xFMUJRVkVzVFVGQlVUVkNMRVZCUVVzMlFpeE5RVUZSTEVsQlF6VkROMElzUlVGQlN6WkNMRkZCUTJSeVFpeEhRVUZMTEZsQlFXTlNMRVZCUVVzMlFpeE5RVUZSTEV0QlJUbENOMElzUlVGQlN6aENMRk5CUVZORExFOUJRVk1zUlVGQlJ5eERRVXMxUWl4SlFVcEJka0lzUjBGQlN5eExRVU5NUVN4SFFVRkxha01zUzBGQlN6aENMRkZCUVZGTUxFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRGFrTTVRaXhGUVVGUk1rSXNUVUZCVVc1RExFVkJRVmx2UkN4VlFVVjJRbFVzUlVGQlNTeEZRVUZIUXl4SFFVUmFja1FzUlVGQlRUSkNMRVZCUVVzNFFpeFZRVU5YUXl4UFFVRlJUaXhGUVVGSlF5eEZRVUZMUkN4SlFVTnlRMFFzUlVGQlVXNUVMRVZCUVVsdlJDeEhRVU5hYWtJc1IwRkJTMnBETEV0QlFVdDVSQ3hsUVVGbFVpeEZRVUZQY2tRc1JVRkJVemhDTEVWQlFWRXNSMEZGYmtRNVFpeEZRVUZSTWtJc1RVRkJVVzVETEVWQlFWbHhSQ3hUUVVNMVFsSXNSMEZCU3l4SlFVOVFMRTlCVEVGeVF5eEZRVUZSTWtJc1RVRkJVVzVETEVWQlFWbHhSQ3hUUVVNMVFsSXNSMEZCUzNKRExFVkJRVkYxUWl4cFFrRkJiVUlzU1VGRGFFTmpMRWRCUVV0cVF5eExRVUZMT0VJc1VVRkJVVXdzUlVGQlRUZENMRVZCUVZNNFFpeEhRVU5xUXpsQ0xFVkJRVkV5UWl4TlFVRlJia01zUlVGQldXOURMRXRCUXpWQ2VFSXNTMEZCU3pCRExGVkJRVlZxUWl4RlFVRk5OMElzUlVGQlV6aENMRWRCUTNaQ1R5eEhRVWRVZEVNc1JVRkJZMUVzVlVGQlZYVkVMRkZCUVZVc1UwRkJVMnBETEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZEZUVRc1NVRkJTVTBzUlVGQlMybENMRVZCUVU5VkxFVkJRV2RDUXl4RlFVRm5RbFlzUlVGQlIxY3NSVUZCUjFZc1JVRkJTMWNzUlVGQlRUTkNMRVZCUVUwMFFpeEZRVUZyUWpsQ0xFVkJRVWR1UXl4RlFVRkxVU3hGUVVGTlF5eEZRVkYyUnl4SlFVRkxORUlzUzBGUVRGUXNTVUZCVlVFc1JVRkJVU3hIUVVOc1FuRkRMRWRCUVcxQ0xFVkJRMjVDT1VJc1JVRkJTU3hIUVVOS2FrTXNTMEZCUzNORExGTkJRVk5pTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZETjBJNVFpeEZRVUZSTWtJc1RVRkJVVzVETEVWQlFWbHRSQ3hSUVVNMVFrNHNSMEZCUzJwRExFdEJRVXRqTEU5QlFVOVhMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkJVeXhKUVVGTlJDeEZRVUZMVlN4TFFVTndSSEpETEVWQlFVMHlRaXhGUVVGTGRVTXNVVUZGU2pGRkxFVkJRVkZaTEV0QlFVdEtMRVZCUVV0eFF5eExRVU4yUWtnc1JVRkJUV3hETEVWQlFVbHhReXhIUVVOV1JpeEhRVUZMYWtNc1MwRkJTeXRDTEZWQlFWVkRMRVZCUVV0d1F5eEZRVUZUT0VJc1NVRkpjRU1zUjBGRVFXdERMRVZCUVc5RExFdEJSSEJEUkN4RlFVRnBRbXhETEVWQlFVczRRaXhUUVVGVFF5eFJRVU5UTEV0QlFVOHZRaXhGUVVGTE9FSXNVMEZCVXl4SFFVTjBReXhKUVVGdVFra3NSMEZCZDBKc1F5eEZRVUZMT0VJc1UwRkJVMVVzVFVGQlRTeFRRVUZUUXl4SFFVTjJSQ3hQUVVGUlFTeEZRVUZGUXl4UFFVRlRhRVlzUlVGQlUybEdMRTFCUVZGR0xFVkJRVVZETEU5QlFWTm9SaXhGUVVGVGEwWXNUVUZCYjBJc1MwRkJXa2dzUlVGQlJXNUZMRkZCUlRsRVNDeEZRVUZSYVVJc1dVRkRWbTlDTEVkQlFVc3NTVUZEVEhKRExFVkJRVkV5UWl4TlFVRlJia01zUlVGQldYRkVMRk5CUXpWQ1VpeEhRVUZMTEV0QlFVOVNMRVZCUVV0VkxFdEJRVThzU1VGQlRXNURMRXRCUVVzNFFpeFJRVUZSVEN4RlFVRk5OMElzUlVGQlV6aENMRXRCUlRGRU9VSXNSVUZCVVRKQ0xFMUJRVkZ1UXl4RlFVRlpjVVFzVTBGRE5VSlNMRWRCUVV0eVF5eEZRVUZSZFVJc2FVSkJRVzFDTEV0QlFVOXVRaXhMUVVGTE9FSXNVVUZCVVV3c1JVRkJUVGRDTEVWQlFWTTRRaXhUUVVWb1JTeEpRVUZKT1VJc1JVRkJVV2RDTEZGQlFUWkNMRWxCUVc1Q0swTXNSMEZCZVVKRExFVkJRV1ZQTEU5QlFWTm9SaXhGUVVGVGFVWXNUVUZCVVZJc1JVRkJaVThzVDBGQlUyaEdMRVZCUVZOclJpeExRVUZwUXl4TlFVRjRRbFFzUlVGQlpUZEVMRTFCVldwS0xFTkJRMHdzUjBGQlNVZ3NSVUZCVVhGQ0xHOUNRVVZXTEVsQlFVdHBReXhGUVVGSkxFVkJRVWRETEVkQlJGbzNReXhGUVVGUGJVSXNSVUZCU3poQ0xGVkJRMWRETEU5QlFWRk9MRVZCUVVsRExFVkJRVXRFTEVsQlJYUkRMRXRCUkVGRUxFVkJRVkV6UXl4RlFVRkxORU1zU1VGRFJtbENMRTlCUVZOb1JpeEZRVUZUYVVZc1RVRkJVVzVDTEVWQlFVMXJRaXhQUVVGVGFFWXNSVUZCVTJ0R0xFMUJRWGRDTEUxQlFXWndRaXhGUVVGTmJFUXNUVUZCWjBJc1EwRkRNVVpJTEVWQlFWRjVRaXh6UWtGRFVqQkRMRWRCUVcxQ0xFVkJRMjVDTEUxQlQwNHNTVUZJUVRsQ0xFZEJRVXNzU1VGQlRXcERMRXRCUVVzNFFpeFJRVUZSVEN4RlFVRk5OMElzUlVGQlV6aENMRWRCUTNaRE9VSXNSVUZCVVRKQ0xFMUJRVkZ1UXl4RlFVRlpiMFFzVlVGRmRrSnhRaXhGUVVGSkxFVkJRVWRETEVkQlJGcDJSQ3hGUVVGUGEwSXNSVUZCU3poQ0xGVkJRMWxETEU5QlFWRkxMRVZCUVVsRExFVkJRVTFFTEVsQlEzaERXaXhGUVVGUk1VTXNSVUZCUzNORUxFZEJRMkkxUWl4SFFVRkxha01zUzBGQlMzbEVMR1ZCUVdWU0xFVkJRVTl5UkN4RlFVRlRPRUlzUlVGQlVTeEhRVVZ1UkRsQ0xFVkJRVkV5UWl4TlFVRlJia01zUlVGQldYRkVMRk5CUXpWQ1VpeEhRVUZMYWtNc1MwRkJTMk1zVDBGQlQxY3NSVUZCVFRkQ0xFVkJRVk00UWl4SFFVRlRMRXRCUVU5RUxFVkJRVXRWTEV0QlFVOHNTVUZEZUVRMFFpeEhRVU5HYmtVc1JVRkJVWGxDTEhOQ1FVVldXU3hIUVVGTGFrTXNTMEZCU3poQ0xGRkJRVkZNTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZEYWtNNVFpeEZRVUZSTWtJc1RVRkJVVzVETEVWQlFWbHZReXhWUVd4RE5VSlRMRWRCUVVzc1NVRkRUSEpETEVWQlFWRXlRaXhOUVVGUmJrTXNSVUZCV1c5RUxGVkJRelZDTlVNc1JVRkJVWGxDTEhOQ1FVTlNNRU1zUjBGQmJVSXNSVUZEYmtJNVFpeEhRVUZMYWtNc1MwRkJTM2xFTEdWQlFXVkhMRVZCUVdkQ2FFVXNSVUZCVXpoQ0xFVkJRVkVzUjBGRE1VUTVRaXhGUVVGUmVVSXNjMEpCUTFJd1F5eEhRVUZ0UWl4RlFVTnVRbTVGTEVWQlFWRXlRaXhOUVVGUmJrTXNSVUZCV1hGRUxGTkJRelZDVWl4SFFVRkxMRXRCUVU5U0xFVkJRVXRWTEV0QlFVOHNTVUZCVFc1RExFdEJRVXM0UWl4UlFVRlJUQ3hGUVVGTk4wSXNSVUZCVXpoQ0xFZEJOa0kxUkN4UFFVUkJNVUlzUzBGQlN6QkRMRlZCUVZWcVFpeEZRVUZOTjBJc1JVRkJVemhDTEVkQlEzWkNUeXhIUVVkVWRFTXNSVUZCWTFFc1ZVRkJWWE5FTEdWQlFXbENMRk5CUVZOb1F5eEZRVUZOTjBJc1JVRkJVemhDTEVkQlF5OUVMRTlCUVZGRUxFVkJRVXN3UXl4TlFVTllMRXRCUVV0b1JpeEZRVUZUYlVZc1RVRkRXaXhQUVVGUGRFVXNTMEZCUzNGRExFMUJRVTFhTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZEYmtNc1MwRkJTM1pETEVWQlFWTnZSaXhSUVVOYUxFOUJRVTkyUlN4TFFVRkxNa01zVVVGQlVXeENMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkRja01zUzBGQlMzWkRMRVZCUVZOeFJpeFJRVU5hTEU5QlFVOTRSU3hMUVVGTE1FUXNVVUZCVVdwRExFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRGNrTXNTMEZCUzNaRExFVkJRVk5yUml4SlFVTmFMRTlCUVU5eVJTeExRVUZMZVVVc1NVRkJTV2hFTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZEYWtNc1MwRkJTM1pETEVWQlFWTnBSaXhMUVVOYUxFOUJRVTl3UlN4TFFVRkxNRVVzUzBGQlMycEVMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkRiRU1zUzBGQlMzWkRMRVZCUVZOM1JpeHpRa0ZEV2l4UFFVRlBNMFVzUzBGQlN6UkZMSE5DUVVGelFtNUVMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkRia1FzUzBGQlMzWkRMRVZCUVZNd1JpeE5RVU5hTEUxQlFVOHNSMEZEVkN4TFFVRkxNVVlzUlVGQlV6SkdMRmxCUTFvc1QwRkJUemxGTEV0QlFVczBReXhaUVVGWmJrSXNSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTjZReXhMUVVGTGRrTXNSVUZCVXpSR0xGRkJRMW9zVDBGQlR5OUZMRXRCUVV0blJDeFJRVUZSZGtJc1JVRkJUVGRDTEVWQlFWTTRRaXhIUVVOeVF5eExRVUZMZGtNc1JVRkJVelpHTEhGQ1FVTmFMRTlCUVU5b1JpeExRVUZMYVVZc1YwRkJWM2hFTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZEZUVNc1MwRkJTM1pETEVWQlFWTXJSaXh0UWtGRFdpeFBRVUZQYkVZc1MwRkJTMjFHTEZkQlFWY3hSQ3hGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRM2hETEV0QlFVdDJReXhGUVVGVGFVY3NhMEpCUTFvc1QwRkJUM0JHTEV0QlFVdHhSaXhWUVVGVk5VUXNSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTjJReXhMUVVGTGRrTXNSVUZCVTIxSExHOUNRVU5hTEU5QlFVOTBSaXhMUVVGTGRVWXNXVUZCV1RsRUxFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRGVrTXNVVUZEUlN4TlFVRk5MRWxCUVVrNFJDeE5RVUZOTERCQ1FVRTBRaTlFTEVWQlFVdG5SU3haUVVGWmRFUXNVVUZKYmtWNFF5eEZRVUZqVVN4VlFVRlZlVVVzYzBKQlFYZENMRk5CUVZOdVJDeEZRVUZOTjBJc1JVRkJVemhDTEVkQlEzUkZMRWxCUVVsUExFVkJZMG9zVDBGaVFXcERMRXRCUVV0elF5eFRRVUZUWWl4RlFVRk5OMElzUlVGQlV6aENMRWRCUXpkQ09VSXNSVUZCVVRKQ0xFMUJRVkZ1UXl4RlFVRlpiVVFzVVVGRE5VSk9MRVZCUVVscVF5eExRVUZMWXl4UFFVRlBWeXhGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRVk1zUzBGRGVFTTVRaXhGUVVGUk1rSXNUVUZCVVc1RExFVkJRVmx2UkN4VlFVTTFRbEFzUjBGQlMxSXNSVUZCUzJsRkxFOUJRMDVxUlN4RlFVRkxNVUlzVVVGRFVHdERMRWRCUVVzc1NVRkJUVklzUlVGQlN6RkNMRTlCUld4Q1NDeEZRVUZSTWtJc1RVRkJVVzVETEVWQlFWbHhSQ3hUUVVNMVFsSXNSMEZCUzNKRExFVkJRVkYxUWl4cFFrRkJiVUlzUzBGRGFFTmpMRWRCUVV0cVF5eExRVUZMT0VJc1VVRkJVVXdzUlVGQlRUZENMRVZCUVZNNFFpeEhRVU5xUXpsQ0xFVkJRVkV5UWl4TlFVRlJia01zUlVGQldXOURMRXRCUXpWQ2VFSXNTMEZCU3pCRExGVkJRVlZxUWl4RlFVRk5OMElzUlVGQlV6aENMRWRCUTNaQ1R5eEhRVWRVZEVNc1JVRkJZMUVzVlVGQlZYTkZMRWxCUVUwc1UwRkJVMmhFTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZEY0VRc1NVRkJTVThzUlVGVlNpeFBRVlJCYWtNc1MwRkJTM05ETEZOQlFWTmlMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkROMEk1UWl4RlFVRlJNa0lzVFVGQlVXNURMRVZCUVZsdFJDeFJRVU0xUWs0c1JVRkJTV3BETEV0QlFVdGpMRTlCUVU5WExFVkJRVTAzUWl4RlFVRlRPRUlzUjBGREwwSTVRaXhGUVVGUk1rSXNUVUZCVVc1RExFVkJRVmx2UkN4VlFVTTFRbEFzUjBGQlMxSXNSVUZCU3pGQ0xFMUJRMVpJTEVWQlFWRXlRaXhOUVVGUmJrTXNSVUZCV1hGRUxGTkJRelZDVWl4SFFVRkxha01zUzBGQlN6aENMRkZCUVZGTUxFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRGFrTTVRaXhGUVVGUk1rSXNUVUZCVVc1RExFVkJRVmx2UXl4TFFVTTFRbmhDTEV0QlFVc3dReXhWUVVGVmFrSXNSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTjJRazhzUjBGSFZIUkRMRVZCUVdOUkxGVkJRVlYxUlN4TFFVRlBMRk5CUVZOcVJDeEZRVUZOTjBJc1JVRkJVemhDTEVkQlEzSkVMRWxCUVVsUExFVkJWVW9zVDBGVVFXcERMRXRCUVV0elF5eFRRVUZUWWl4RlFVRk5OMElzUlVGQlV6aENMRWRCUXpkQ09VSXNSVUZCVVRKQ0xFMUJRVkZ1UXl4RlFVRlpiVVFzVVVGRE5VSk9MRVZCUVVscVF5eExRVUZMWXl4UFFVRlBWeXhGUVVGTk4wSXNSVUZCVXpoQ0xFZEJReTlDT1VJc1JVRkJVVEpDTEUxQlFWRnVReXhGUVVGWmIwUXNWVUZETlVKUUxFZEJRVXRTTEVWQlFVc3hRaXhOUVVOV1NDeEZRVUZSTWtJc1RVRkJVVzVETEVWQlFWbHhSQ3hUUVVNMVFsSXNSMEZCUzJwRExFdEJRVXM0UWl4UlFVRlJUQ3hGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRMnBET1VJc1JVRkJVVEpDTEUxQlFWRnVReXhGUVVGWmIwTXNTMEZETlVKNFFpeExRVUZMTUVNc1ZVRkJWV3BDTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZEZGtKUExFZEJSMVIwUXl4RlFVRmpVU3hWUVVGVk9FVXNWMEZCWVN4VFFVRlRlRVFzUlVGQlRUZENMRVZCUVZNNFFpeEhRVU16UkN4SlFVRkpUeXhGUVdkQ1NpeFBRV1pCYWtNc1MwRkJTM05ETEZOQlFWTmlMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkROMEk1UWl4RlFVRlJNa0lzVFVGQlVXNURMRVZCUVZsdFJDeFJRVU0xUWs0c1JVRkJTV3BETEV0QlFVdGpMRTlCUVU5WExFVkJRVTAzUWl4RlFVRlRPRUlzUjBGQlV5eFpRVU40UXpsQ0xFVkJRVkV5UWl4TlFVRlJia01zUlVGQldXOUVMRlZCUXpWQ1VDeEhRVUZMTEVsQlFVMVNMRVZCUVV0clJTeFpRVUZqTEVsQlFVMXNSU3hGUVVGTGJVVXNZMEZCWjBJc1NVRkJUVzVGTEVWQlFVdHZSU3hqUVVOMFF5eGhRVUV4UW5CRkxFVkJRVXR4UlN4dFFrRkRVRGRFTEVkQlFVc3NTVUZCVFZJc1JVRkJTM0ZGTEd0Q1FVVmtja1VzUlVGQlMzTkZMR1ZCUTFBNVJDeEhRVUZMTEV0QlFVOVNMRVZCUVV0elJTeGhRVUZsTEV0QlJXeERia2NzUlVGQlVUSkNMRTFCUVZGdVF5eEZRVUZaY1VRc1UwRkROVUpTTEVkQlFVdHlReXhGUVVGUmRVSXNhVUpCUVcxQ0xFbEJRVTF1UWl4TFFVRkxPRUlzVVVGQlVVd3NSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTnNSVGxDTEVWQlFWRXlRaXhOUVVGUmJrTXNSVUZCV1c5RExFdEJRelZDZUVJc1MwRkJTekJETEZWQlFWVnFRaXhGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRM1pDVHl4SFFVZFVkRU1zUlVGQlkxRXNWVUZCVldkR0xGZEJRV0VzVTBGQlV6RkVMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkRNMFFzU1VGQlNVOHNSVUZWU2l4UFFWUkJha01zUzBGQlMzTkRMRk5CUVZOaUxFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRE4wSTVRaXhGUVVGUk1rSXNUVUZCVVc1RExFVkJRVmx0UkN4UlFVTTFRazRzUlVGQlNXcERMRXRCUVV0akxFOUJRVTlYTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZCVXl4WlFVTjRRemxDTEVWQlFWRXlRaXhOUVVGUmJrTXNSVUZCV1c5RUxGVkJRelZDVUN4SFFVRkxMRWxCUVUxU0xFVkJRVXRWTEV0QlFVOHNTVUZCVFZZc1JVRkJTekZDTEUxQlEyeERTQ3hGUVVGUk1rSXNUVUZCVVc1RExFVkJRVmx4UkN4VFFVTTFRbElzUjBGQlMzSkRMRVZCUVZGMVFpeHBRa0ZCYlVJc1NVRkJUVzVDTEV0QlFVczRRaXhSUVVGUlRDeEZRVUZOTjBJc1JVRkJVemhDTEVkQlEyeEZPVUlzUlVGQlVUSkNMRTFCUVZGdVF5eEZRVUZaYjBNc1MwRkROVUo0UWl4TFFVRkxNRU1zVlVGQlZXcENMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkRka0pQTEVkQlIxUjBReXhGUVVGalVTeFZRVUZWYTBZc1ZVRkJXU3hUUVVGVE5VUXNSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTXhSQ3hKUVVGSlR5eEZRWGxDU2l4UFFYaENRV3BETEV0QlFVdHpReXhUUVVGVFlpeEZRVUZOTjBJc1JVRkJVemhDTEVkQlF6ZENPVUlzUlVGQlVUSkNMRTFCUVZGdVF5eEZRVUZaYlVRc1VVRkROVUpPTEVWQlFVbHFReXhMUVVGTFl5eFBRVUZQVnl4RlFVRk5OMElzUlVGQlV6aENMRWRCUVZNc1YwRkRlRU01UWl4RlFVRlJNa0lzVFVGQlVXNURMRVZCUVZsdlJDeFZRVU40UW1Zc1JVRkJTM1ZGTEV0QlExQXZSQ3hIUVVGTExFMUJSVkJCTEVkQlFVc3NTVUZCVFZJc1JVRkJTMVVzUzBGRFdsWXNSVUZCU3pGQ0xFMUJRMUJyUXl4SFFVRkxMRXRCUVU5U0xFVkJRVXN4UWl4TlFVRlJMRXRCUlhKQ01FSXNSVUZCU3pSQ0xFOUJRVk0xUWl4RlFVRkxOa0lzVFVGRGNrSnlRaXhIUVVGTExGbEJRV05TTEVWQlFVczBRaXhOUVVGUkxFMUJRVkUxUWl4RlFVRkxOa0lzVFVGQlVTeEpRVU0xUXpkQ0xFVkJRVXMyUWl4UlFVTmtja0lzUjBGQlN5eFpRVUZqVWl4RlFVRkxOa0lzVFVGQlVTeExRVVU1UWpkQ0xFVkJRVXQzUlN4UlFVTlFhRVVzUjBGQlN5eFZRVUZaVWl4RlFVRkxkMFVzVVVGSE1VSnlSeXhGUVVGUk1rSXNUVUZCVVc1RExFVkJRVmx4UkN4VFFVTTFRbElzUjBGQlMzSkRMRVZCUVZGMVFpeHBRa0ZCYlVJc1NVRkJUVzVDTEV0QlFVczRRaXhSUVVGUlRDeEZRVUZOTjBJc1JVRkJVemhDTEVkQlEyeEZPVUlzUlVGQlVUSkNMRTFCUVZGdVF5eEZRVUZaYjBNc1MwRkROVUo0UWl4TFFVRkxNRU1zVlVGQlZXcENMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkRka0pQTEVkQlIxUjBReXhGUVVGalVTeFZRVUZWYjBZc1dVRkJZeXhUUVVGVE9VUXNSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTTFSQ3hKUVVGSlR5eEZRV2xDU2l4UFFXaENRV3BETEV0QlFVdHpReXhUUVVGVFlpeEZRVUZOTjBJc1JVRkJVemhDTEVkQlF6ZENPVUlzUlVGQlVUSkNMRTFCUVZGdVF5eEZRVUZaYlVRc1VVRkROVUpPTEVWQlFVbHFReXhMUVVGTFl5eFBRVUZQVnl4RlFVRk5OMElzUlVGQlV6aENMRWRCUVZNc1lVRkRlRU01UWl4RlFVRlJNa0lzVFVGQlVXNURMRVZCUVZsdlJDeFZRVU0xUWxBc1IwRkJTeXhKUVVGTlVpeEZRVUZMVlN4TFFVTmFWaXhGUVVGTE5FSXNUMEZCVXpWQ0xFVkJRVXMyUWl4TlFVTnlRbkpDTEVkQlFVc3NXVUZCWTFJc1JVRkJTelJDTEUxQlFWRXNUVUZCVVRWQ0xFVkJRVXMyUWl4TlFVRlJMRWxCUXpWRE4wSXNSVUZCU3pSQ0xFMUJRMlJ3UWl4SFFVRkxMRmxCUVdOU0xFVkJRVXMwUWl4TlFVRlJMRWxCUTNaQ05VSXNSVUZCU3paQ0xGRkJRMlJ5UWl4SFFVRkxMRmxCUVdOU0xFVkJRVXMyUWl4TlFVRlJMRXRCUld4RE1VUXNSVUZCVVRKQ0xFMUJRVkZ1UXl4RlFVRlpjVVFzVTBGRE5VSlNMRWRCUVV0eVF5eEZRVUZSZFVJc2FVSkJRVzFDTEVsQlFVMXVRaXhMUVVGTE9FSXNVVUZCVVV3c1JVRkJUVGRDTEVWQlFWTTRRaXhIUVVOc1JUbENMRVZCUVZFeVFpeE5RVUZSYmtNc1JVRkJXVzlETEV0QlF6VkNlRUlzUzBGQlN6QkRMRlZCUVZWcVFpeEZRVUZOTjBJc1JVRkJVemhDTEVkQlEzWkNUeXhIUVVkVWRFTXNSVUZCWTFFc1ZVRkJWVzFETEZOQlFWY3NVMEZCVTJJc1JVRkJUVGRDTEVWQlFWTTRRaXhMUVVVelJDOUNMRVZCUVdOUkxGVkJRVlYxUXl4VlFVRlpMRk5CUVZOcVFpeEZRVUZOTjBJc1JVRkJVemhDTEV0QlJUVkVMMElzUlVGQlkxRXNWVUZCVlN0Q0xHTkJRV2RDTEZOQlFWTkdMRVZCUVV0d1F5eEZRVUZUT0VJc1MwRkZMMFF2UWl4RlFVRmpVU3hWUVVGVmFVTXNaVUZCYVVJc1UwRkJVMG9zUlVGQlMzQkRMRVZCUVZNNFFpeExRVVY2UkM5Q0xFVkJiRmwzUWl4TFFYTlphRU5QTEV0QlFVdEdJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDNOMFlXZHBibWN2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdmVHMXNZblZwYkdSbGNpOXNhV0l2V0UxTVYzSnBkR1Z5UW1GelpTNXFjeUo5IiwiKGZ1bmN0aW9uKCl7dmFyIGUscix0LG4saSxvLHUsbCxtLHM7cz1yZXF1aXJlKFwiLi9VdGlsaXR5XCIpLGw9cy5hc3NpZ24sbT1zLmlzRnVuY3Rpb24sdD1yZXF1aXJlKFwiLi9YTUxET01JbXBsZW1lbnRhdGlvblwiKSxuPXJlcXVpcmUoXCIuL1hNTERvY3VtZW50XCIpLGk9cmVxdWlyZShcIi4vWE1MRG9jdW1lbnRDQlwiKSx1PXJlcXVpcmUoXCIuL1hNTFN0cmluZ1dyaXRlclwiKSxvPXJlcXVpcmUoXCIuL1hNTFN0cmVhbVdyaXRlclwiKSxlPXJlcXVpcmUoXCIuL05vZGVUeXBlXCIpLHI9cmVxdWlyZShcIi4vV3JpdGVyU3RhdGVcIiksbW9kdWxlLmV4cG9ydHMuY3JlYXRlPWZ1bmN0aW9uKGUscix0LGkpe3ZhciBvLHU7aWYobnVsbD09ZSl0aHJvdyBuZXcgRXJyb3IoXCJSb290IGVsZW1lbnQgbmVlZHMgYSBuYW1lLlwiKTtyZXR1cm4gaT1sKHt9LHIsdCxpKSx1PShvPW5ldyBuKGkpKS5lbGVtZW50KGUpLGkuaGVhZGxlc3N8fChvLmRlY2xhcmF0aW9uKGkpLG51bGw9PWkucHViSUQmJm51bGw9PWkuc3lzSUR8fG8uZHRkKGkpKSx1fSxtb2R1bGUuZXhwb3J0cy5iZWdpbj1mdW5jdGlvbihlLHIsdCl7dmFyIG87cmV0dXJuIG0oZSkmJihyPShvPVtlLHJdKVswXSx0PW9bMV0sZT17fSkscj9uZXcgaShlLHIsdCk6bmV3IG4oZSl9LG1vZHVsZS5leHBvcnRzLnN0cmluZ1dyaXRlcj1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IHUoZSl9LG1vZHVsZS5leHBvcnRzLnN0cmVhbVdyaXRlcj1mdW5jdGlvbihlLHIpe3JldHVybiBuZXcgbyhlLHIpfSxtb2R1bGUuZXhwb3J0cy5pbXBsZW1lbnRhdGlvbj1uZXcgdCxtb2R1bGUuZXhwb3J0cy5ub2RlVHlwZT1lLG1vZHVsZS5leHBvcnRzLndyaXRlclN0YXRlPXJ9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1sdVpHVjRMbXB6SWwwc0ltNWhiV1Z6SWpwYklrNXZaR1ZVZVhCbElpd2lWM0pwZEdWeVUzUmhkR1VpTENKWVRVeEVUMDFKYlhCc1pXMWxiblJoZEdsdmJpSXNJbGhOVEVSdlkzVnRaVzUwSWl3aVdFMU1SRzlqZFcxbGJuUkRRaUlzSWxoTlRGTjBjbVZoYlZkeWFYUmxjaUlzSWxoTlRGTjBjbWx1WjFkeWFYUmxjaUlzSW1GemMybG5iaUlzSW1selJuVnVZM1JwYjI0aUxDSnlaV1lpTENKeVpYRjFhWEpsSWl3aWJXOWtkV3hsSWl3aVpYaHdiM0owY3lJc0ltTnlaV0YwWlNJc0ltNWhiV1VpTENKNGJXeGtaV01pTENKa2IyTjBlWEJsSWl3aWIzQjBhVzl1Y3lJc0ltUnZZeUlzSW5KdmIzUWlMQ0pGY25KdmNpSXNJbVZzWlcxbGJuUWlMQ0pvWldGa2JHVnpjeUlzSW1SbFkyeGhjbUYwYVc5dUlpd2ljSFZpU1VRaUxDSnplWE5KUkNJc0ltUjBaQ0lzSW1KbFoybHVJaXdpYjI1RVlYUmhJaXdpYjI1RmJtUWlMQ0p5WldZeElpd2ljM1J5YVc1blYzSnBkR1Z5SWl3aWMzUnlaV0Z0VjNKcGRHVnlJaXdpYzNSeVpXRnRJaXdpYVcxd2JHVnRaVzUwWVhScGIyNGlMQ0p1YjJSbFZIbHdaU0lzSW5keWFYUmxjbE4wWVhSbElpd2lZMkZzYkNJc0luUm9hWE1pWFN3aWJXRndjR2x1WjNNaU9pSkRRVU5CTEZkQlEwVXNTVUZCU1VFc1JVRkJWVU1zUlVGQllVTXNSVUZCYzBKRExFVkJRV0ZETEVWQlFXVkRMRVZCUVdsQ1F5eEZRVUZwUWtNc1JVRkJVVU1zUlVGQldVTXNSVUZGYmtsQkxFVkJRVTFETEZGQlFWRXNZVUZCWTBnc1JVRkJVMFVzUlVGQlNVWXNUMEZCVVVNc1JVRkJZVU1zUlVGQlNVUXNWMEZGYkVWT0xFVkJRWFZDVVN4UlFVRlJMREJDUVVVdlFsQXNSVUZCWTA4c1VVRkJVU3hwUWtGRmRFSk9MRVZCUVdkQ1RTeFJRVUZSTEcxQ1FVVjRRa29zUlVGQmEwSkpMRkZCUVZFc2NVSkJSVEZDVEN4RlFVRnJRa3NzVVVGQlVTeHhRa0ZGTVVKV0xFVkJRVmRWTEZGQlFWRXNZMEZGYmtKVUxFVkJRV05UTEZGQlFWRXNhVUpCUlhSQ1F5eFBRVUZQUXl4UlFVRlJReXhQUVVGVExGTkJRVk5ETEVWQlFVMURMRVZCUVZGRExFVkJRVk5ETEVkQlEzUkVMRWxCUVVsRExFVkJRVXRETEVWQlExUXNSMEZCV1N4TlFVRlNUQ3hGUVVOR0xFMUJRVTBzU1VGQlNVMHNUVUZCVFN3NFFrRlhiRUlzVDBGVVFVZ3NSVUZCVlZZc1JVRkJUeXhIUVVGSlVTeEZRVUZSUXl4RlFVRlRReXhIUVVWMFEwVXNSMEZFUVVRc1JVRkJUU3hKUVVGSlppeEZRVUZaWXl4SlFVTllTU3hSUVVGUlVDeEhRVU5rUnl4RlFVRlJTeXhYUVVOWVNpeEZRVUZKU3l4WlFVRlpUaXhIUVVOTkxFMUJRV3BDUVN4RlFVRlJUeXhQUVVGdlF5eE5RVUZxUWxBc1JVRkJVVkVzVDBGRGRFTlFMRVZCUVVsUkxFbEJRVWxVTEVsQlIweEZMRWRCUjFSU0xFOUJRVTlETEZGQlFWRmxMRTFCUVZFc1UwRkJVMVlzUlVGQlUxY3NSVUZCVVVNc1IwRkRMME1zU1VGQlNVTXNSVUZMU2l4UFFVcEpkRUlzUlVGQlYxTXNTMEZEWVZjc1IwRkJNVUpGTEVWQlFVOHNRMEZCUTJJc1JVRkJVMWNzU1VGQmRVSXNSMEZCU1VNc1JVRkJVVU1zUlVGQlN5eEhRVU42UkdJc1JVRkJWU3hKUVVWU1Z5eEZRVU5MTEVsQlFVbDRRaXhGUVVGallTeEZRVUZUVnl4RlFVRlJReXhIUVVWdVF5eEpRVUZKTVVJc1JVRkJXV01zU1VGSk0wSk9MRTlCUVU5RExGRkJRVkZ0UWl4aFFVRmxMRk5CUVZOa0xFZEJRM0pETEU5QlFVOHNTVUZCU1Znc1JVRkJaMEpYTEVsQlJ6ZENUaXhQUVVGUFF5eFJRVUZSYjBJc1lVRkJaU3hUUVVGVFF5eEZRVUZSYUVJc1IwRkROME1zVDBGQlR5eEpRVUZKV2l4RlFVRm5RalJDTEVWQlFWRm9RaXhKUVVkeVEwNHNUMEZCVDBNc1VVRkJVWE5DTEdWQlFXbENMRWxCUVVsb1F5eEZRVVZ3UTFNc1QwRkJUME1zVVVGQlVYVkNMRk5CUVZkdVF5eEZRVVV4UWxjc1QwRkJUME1zVVVGQlVYZENMRmxCUVdOdVF5eEpRVVUxUW05RExFdEJRVXRESWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwzTjBZV2RwYm1jdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZlRzFzWW5WcGJHUmxjaTlzYVdJdmFXNWtaWGd1YW5NaWZRPT0iLCJcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltbHVhbVZqZEM1amMzTWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklpSXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl6ZEdGbmFXNW5MM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZjM0pqTDJOemN5OXBibXBsWTNRdVkzTnpJbjA9IiwidmFyIGpRdWVyeSA9IHJlcXVpcmUoXCJqcXVlcnlcIik7XG5pbXBvcnQgJ2pxdWVyeS11aSc7XG5pbXBvcnQgKiBhcyBJIGZyb20gXCIuL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgVXRpbHMgZnJvbSAnLi9tb2R1bGVzL3V0aWxzJztcbmltcG9ydCAqIGFzIENvbW11bmljYXRpb24gZnJvbSBcIi4vbW9kdWxlcy9jb21tdW5pY2F0aW9uXCI7XG5pbXBvcnQgKiBhcyBQYXJzZXIgZnJvbSAnLi9tb2R1bGVzL3BhcnNlcic7XG5pbXBvcnQgKiBhcyBVSSBmcm9tIFwiLi9tb2R1bGVzL3VpXCI7XG5pbXBvcnQgKiBhcyBCb29raW5nQnRuIGZyb20gXCIuL21vZHVsZXMvYm9va2luZ0J1dHRvblwiO1xuaW1wb3J0ICogYXMgUGFyZW50IGZyb20gXCIuL21vZHVsZXMvcGFyZW50XCI7XG5yZXF1aXJlKFwiLi4vc3JjL2Nzcy9pbmplY3QuY3NzXCIpO1xuXG5sZXQgaW5wdXRzV2l0aFZhbHVlOiBJLklucHV0c1dpdGhWYWx1ZTtcblxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCAoKSA9PiB7XG4gICAgLy8gUGFyc2UgKGhpZGRlbikgaW5wdXRzIGFuZCB0aGVpciB2YWx1ZXNcbiAgICBjb25zdCBjb250ZW50OiBzdHJpbmcgPSBuZXcgWE1MU2VyaWFsaXplcigpLnNlcmlhbGl6ZVRvU3RyaW5nKGRvY3VtZW50KTtcbiAgICBpbnB1dHNXaXRoVmFsdWUgPSB7IC4uLmlucHV0c1dpdGhWYWx1ZSwgLi4uUGFyc2VyLmdldElucHV0cyhjb250ZW50KSB9O1xuXG4gICAgVXRpbHMuY29uc29sZUxvZyhpbnB1dHNXaXRoVmFsdWUpO1xuICAgIFV0aWxzLmNvbnNvbGVMb2coYHRyeHN0YXRlOiAke2lucHV0c1dpdGhWYWx1ZVtcInRyeHN0YXRlXCJdfWApO1xuXG4gICAgLy8gXCJwb3N0dXJsXCIgaW4gZnVuY3Rpb24gc2hvd01hcCgpIG9ubHkgYXZhaWxhYmxlIGlmIFwicHZtYXBzZVwiIFBWTyBjb2RlIGlzIHRydWUuXG4gICAgLy8gXCJwdm1hcHNlXCIgZmFsc2UgZGlzYWJsZXMgc2VhdG1hcFxuICAgIGNvbnN0IHBvc3R1cmxBdmFpbDogYm9vbGVhbiA9IC9wb3N0dXJsOlwiKC4rPylcIi8udGVzdChjb250ZW50KTtcblxuICAgIFV0aWxzLmNvbnNvbGVMb2coYHBvc3R1cmwgYXZhaWxhYmxlOiAke3Bvc3R1cmxBdmFpbH1gKTtcblxuICAgIC8vIE9ubHkgaW5qZWN0IG9uIHBhZ2Ugd2l0aCB0cnhzdGF0ZSAyMCBhbmQgaWYgc2VhdG1hcCBpcyBlbmFibGVkIHdpdGggUFZPIGNvZGUgXCJwdm1hcHNlXCJcbiAgICBpZiAoaW5wdXRzV2l0aFZhbHVlW1widHJ4c3RhdGVcIl0gIT09IFwiMjBcIiB8fCBwb3N0dXJsQXZhaWwgPT09IGZhbHNlKVxuICAgICAgICByZXR1cm47XG5cbiAgICAvLyBJbmplY3QgcGFyZW50IENTU1xuICAgIC8vIFBhcmVudCA9IHRyeHN0YXRlIDIwXG4gICAgUGFyZW50LmluamVjdFJlc291cmNlcygpO1xuXG4gICAgLy8gU3RhcnQgbWVzc2FnZSBoYW5kbGVyIHRvIGJlIGFibGUgdG8gcmVjZWl2ZSBtZXNzYWdlcyBmcm9tIGNoaWxkXG4gICAgQ29tbXVuaWNhdGlvbi5saXN0ZW5Ub01lc3NhZ2VzKG1lc3NhZ2VIYW5kbGVyKTtcblxuICAgIC8vIFdlIGFyZSBvbiB0cnhzdGF0ZSAyMCBwYWdlIHNvIGdldCBtb3JlIG5lZWRlZCBpbnB1dHNcbiAgICBpbnB1dHNXaXRoVmFsdWUgPSB7IC4uLmlucHV0c1dpdGhWYWx1ZSwgLi4uUGFyc2VyLmdldEFkZGl0aW9uYWxJbnB1dHMoY29udGVudCkgfTtcbiAgICBpbnB1dHNXaXRoVmFsdWUgPSB7IC4uLmlucHV0c1dpdGhWYWx1ZSwgLi4uUGFyc2VyLmdldFZlbnVlSW1hZ2UoKSB9O1xuICAgIGlucHV0c1dpdGhWYWx1ZSA9IHsgLi4uaW5wdXRzV2l0aFZhbHVlLCAuLi5QYXJzZXIuZ2V0SW1wb3J0YW50Tm90ZSgpIH07XG4gICAgaW5wdXRzV2l0aFZhbHVlW1wic21hcFwiXSA9IFBhcnNlci5nZXRTTUFQKCk7XG5cbiAgICAvLyBJbmplY3QgYW5kIHBvaW50IHNlYXRtYXAgYnV0dG9uIHRvIG5ldyBsb2NhdGlvblxuICAgIEJvb2tpbmdCdG4uaW5qZWN0Qm9va2luZ0J0bigpO1xuXG4gICAgLy8gQ3JlYXRlIGFuIGpRdWVyeSBkaWFsb2cgaW50byBhbiBpZnJhbWUgd2hpY2ggaXMgb3BlbmVkIG9uIGNsaWNraW5nIHNlYXRtYXAgYnV0dG9uXG4gICAgLy8gaHR0cHM6Ly9hcGkuanF1ZXJ5dWkuY29tL2RpYWxvZy9cbiAgICBVSS5jcmVhdGVEaWFsb2coKTtcblxuICAgIFV0aWxzLmNvbnNvbGVMb2coaW5wdXRzV2l0aFZhbHVlKTtcbn0pO1xuXG5mdW5jdGlvbiBtZXNzYWdlSGFuZGxlcihlOiBhbnkpIHtcbiAgICBpZiAodHlwZW9mIChlLmRhdGEpICE9PSAnc3RyaW5nJylcbiAgICAgICAgcmV0dXJuO1xuXG4gICAgY29uc3QgZGF0YTogSS5NZXNzYWdlID0gSlNPTi5wYXJzZShlLmRhdGEpO1xuXG4gICAgVXRpbHMuY29uc29sZUxvZyhgcGFyZW50OiByZWNlaXZlZCBmcm9tICR7ZGF0YS5mcm9tfWApO1xuICAgIFV0aWxzLmNvbnNvbGVMb2coZGF0YSk7XG5cbiAgICBzd2l0Y2ggKGRhdGEuZXZlbnQpIHtcbiAgICAgICAgY2FzZSBcImNoaWxkX2luaXRfbmVlZElucHV0c1dpdGhWYWx1ZVwiOiB7XG4gICAgICAgICAgICBQYXJlbnQuaW5pdE5lZWRJbnB1dHNXaXRoVmFsdWUoaW5wdXRzV2l0aFZhbHVlKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgXCJjaGlsZF9pbml0X25lZWRWZW51ZVhNTFwiOiB7XG4gICAgICAgICAgICBQYXJlbnQuaW5pdE5lZWRWZW51ZVhNTChpbnB1dHNXaXRoVmFsdWUpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBcImNoaWxkX25lZWRTZWF0bWFwWE1MXCI6IHtcbiAgICAgICAgICAgIFBhcmVudC5uZWVkU2VhdG1hcFhNTChlLCBpbnB1dHNXaXRoVmFsdWUpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBcImNoaWxkX3NlYXRtYXBfcmVhZHlcIjoge1xuICAgICAgICAgICAgVXRpbHMuY29uc29sZUxvZyhcImNoaWxkIGNvbXBsZXRlbHkgcmVhZHlcIik7XG4gICAgICAgICAgICBqUXVlcnkoXCIjY29udGFpbmVyQm9va2luZ0J0blwiKS5zaG93KCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFwiY2hpbGRfbmVlZENoZWNrb3V0UmVzcG9uc2VcIjoge1xuICAgICAgICAgICAgUGFyZW50Lm5lZWRDaGVja291dFJlc3BvbnNlKGUsIGlucHV0c1dpdGhWYWx1ZSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFwiY2hpbGRfaGlkZV9kaWFsb2dfdGl0bGViYXJcIjoge1xuICAgICAgICAgICAgalF1ZXJ5KFwiLnVpLWRpYWxvZy10aXRsZWJhclwiKS5oaWRlKCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFwiY2hpbGRfc2hvd19kaWFsb2dfdGl0bGViYXJcIjoge1xuICAgICAgICAgICAgalF1ZXJ5KFwiLnVpLWRpYWxvZy10aXRsZWJhclwiKS5zaG93KCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFwiY2hpbGRfY2xpY2tfY2hlY2tvdXRcIjoge1xuICAgICAgICAgICAgUGFyZW50LmNsaWNrQ2hlY2tvdXQoZSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFwiY2hpbGRfY2xvc2VEaWFsb2dcIjoge1xuICAgICAgICAgICAgalF1ZXJ5KFwiLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZVwiKS5jbGljaygpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGJyZWFrO1xuICAgIH1cbn0iLCJpbXBvcnQgKiBhcyBDb21tdW5pY2F0aW9uIGZyb20gXCIuL2NvbW11bmljYXRpb25cIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdEJvb2tpbmdCdG4oKTogdm9pZCB7XG4gICAgalF1ZXJ5KFwiLmZsYXNoX3NlYXRfbWFwX2JveFwiKS5yZW1vdmUoKTtcbiAgICBjaGFuZ2VCb29raW5nQnRuQ1NTKCk7XG4gICAgYXBwZW5kQm9va2luZ0J0bkhUTUwoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNob3dTZWF0bWFwQnRuUGFyZW50KCk6IHZvaWQge1xuICAgIENvbW11bmljYXRpb24uc2VuZEV2ZW50VG9QYXJlbnQoXCJjaGlsZF9zZWF0bWFwX3JlYWR5XCIpO1xufVxuXG5mdW5jdGlvbiBhcHBlbmRCb29raW5nQnRuSFRNTCgpOiB2b2lkIHtcbiAgICBqUXVlcnkoXCIjZmxhc2hfc2VhdF9tYXBfYm94X2lkXCIpLmFwcGVuZChgXG4gICAgPGRpdiBjbGFzcz1cInJvd19zcGFjZVwiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJyb3dfc3BhY2VcIj48L2Rpdj5cbiAgICA8ZGl2IGlkPVwiY29udGFpbmVyQm9va2luZ0J0blwiPlxuICAgICAgICA8YSBjbGFzcz1cImNvbnRpbnVlXCIgaWQ9XCJvcGVuU2VhdG1hcFwiPlxuICAgICAgICAgICAgPHNwYW4+U2FhbHBsYW5idWNodW5nPC9zcGFuPlxuICAgICAgICA8L2E+XG4gICAgICAgIDxkaXYgaWQ9XCJkaWFsb2dTZWF0bWFwXCIgaGlkZGVuPVwiaGlkZGVuXCI+PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgYCk7XG59XG5cbmZ1bmN0aW9uIGNoYW5nZUJvb2tpbmdCdG5DU1MoKTogdm9pZCB7XG4gICAgalF1ZXJ5KCcjZmxhc2hfc2VhdF9tYXBfYm94X2lkJykuY3NzKHtcbiAgICAgICAgXCJkaXNwbGF5XCI6IFwiYmxvY2tcIixcbiAgICAgICAgXCJwb3NpdGlvblwiOiBcInJlbGF0aXZlXCIsXG4gICAgICAgIFwid2lkdGhcIjogXCIxMDAlXCJcbiAgICB9KTtcbn0iLCJpbXBvcnQgKiBhcyBYTUxIZWxwZXIgZnJvbSBcIi4veG1saGVscGVyXCI7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcbmltcG9ydCAqIGFzIEkgZnJvbSBcIi4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgKiBhcyBFdmVudHMgZnJvbSBcIi4vZXZlbnRzXCI7XG5pbXBvcnQgKiBhcyBDYXJ0QnV0dG9ucyBmcm9tIFwiLi9jYXJ0QnV0dG9uc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gYWRkSXRlbShpblNlYXRPYmo6IEkuSlNDU2VsZWN0ZWRTZWF0KTogdm9pZCB7IFxuICAgIGNvbnN0IGNvbG9yOiBzdHJpbmcgPSBgIyR7WE1MSGVscGVyLmdldFZlbnVlUHJpY2VzY2FsZVByb3BlcnR5QnlQcmljZXNjYWxlSUQoXCJjb2xvclwiLCBpblNlYXRPYmouZGF0YS5zZWF0c09iai5pZFswXSl9YDtcbiAgICBjb25zdCBjYXRlZ29yeTogc3RyaW5nIHwgdW5kZWZpbmVkID0gWE1MSGVscGVyLmdldFZlbnVlUHJpY2VzY2FsZVByb3BlcnR5QnlQcmljZXNjYWxlSUQoXCJkZXNjXCIsIGluU2VhdE9iai5kYXRhLnNlYXRzT2JqLmlkWzBdKTtcbiAgICBjb25zdCBzZWF0OiBzdHJpbmcgPSBjb25maWcuc3RhdGUubGF5b3V0Um93c1tpblNlYXRPYmouaWRdWzVdO1xuICAgIGNvbnN0IHJvdzogc3RyaW5nID0gY29uZmlnLnN0YXRlLmxheW91dFJvd3NbaW5TZWF0T2JqLmlkXVs0XTtcbiAgICBjb25zdCBzZWN0aW9uSUQ6IHN0cmluZyA9IGNvbmZpZy5zdGF0ZS5sYXlvdXRSb3dzW2luU2VhdE9iai5pZF1bM107XG4gICAgY29uc3Qgc2VjdGlvbkRlc2M6IHN0cmluZyB8IHVuZGVmaW5lZCA9IFhNTEhlbHBlci5nZXRTZWN0aW9uRGVzY0J5U2VjdGlvbklEKHNlY3Rpb25JRCk7XG4gICAgY29uc3Qgc2VhdFN0cjogc3RyaW5nIHwgdW5kZWZpbmVkID0gYCR7c2VjdGlvbkRlc2N9PGJyLz5SZWloZSAke3Jvd30gUGxhdHogJHtzZWF0fWA7XG4gICAgY29uc3QgYnV5ZXJUeXBlczogSS5UeXBlQnV5ZXJUeXBlID0gWE1MSGVscGVyLmdldEJ1eWVyVHlwZXNCeVByaWNlc2NhbGVJRChpblNlYXRPYmouZGF0YS5zZWF0c09iai5pZFswXSk7XG4gICAgY29uc3QgY2FydElEOiBzdHJpbmcgPSBgY2FydEl0ZW0tJHtpblNlYXRPYmouaWR9YDtcbiAgICBjb25zdCBkcm9wZG93bkJ1eWVyVHlwZXNTZWxlY3Rvcjogc3RyaW5nID0gYCMke2NhcnRJRH0gLmRyb3Bkb3duQnV5ZXJUeXBlc2A7XG5cbiAgICBhcHBlbmRIVE1MKGNhcnRJRCwgY29sb3IsIGNhdGVnb3J5LCBzZWF0U3RyKTtcbiAgICBhZGREcm9wZG93bkJ1eWVyVHlwZU9wdGlvbnMoYnV5ZXJUeXBlcywgZHJvcGRvd25CdXllclR5cGVzU2VsZWN0b3IpO1xuICAgIEV2ZW50cy5hZGRDYXJ0RHJvcGRvd25CdXllclR5cGVzKGRyb3Bkb3duQnV5ZXJUeXBlc1NlbGVjdG9yLCBpblNlYXRPYmopO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlQ2FydEl0ZW1zKCk6IHZvaWQge1xuICAgIGpRdWVyeShcIiNjYXJ0SXRlbUhUTUwgLmNhcnRJdGVtXCIpLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLnJlbW92ZSgpO1xuICAgIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2hhbmdlZERyb3Bkb3duQnV5ZXJUeXBlKGluU2VsZWN0OiBIVE1MU2VsZWN0RWxlbWVudCwgaW5TZWF0T2JqOiBJLkpTQ1NlbGVjdGVkU2VhdCk6IHZvaWQge1xuICAgIGNvbnN0IGluZGV4OiBudW1iZXIgPSBjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c0Fyci5maW5kSW5kZXgoYXJyID0+XG4gICAgICAgIGFyclswXSA9PT0gaW5TZWF0T2JqLmlkKTtcblxuICAgIGNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzQXJyW2luZGV4XVsxXSA9IGluU2VsZWN0LnZhbHVlO1xuICAgIGNvbnN0IGJ1eWVyVHlwZUNvZGUgPSBYTUxIZWxwZXIuZ2V0QnV5ZXJUeXBlQ29kZUJ5QnV5ZXJUeXBlSUQoaW5TZWxlY3QudmFsdWUpO1xuXG4gICAgaWYgKGJ1eWVyVHlwZUNvZGUpXG4gICAgICAgIGNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzQXJyW2luZGV4XVsyXSA9IGJ1eWVyVHlwZUNvZGU7XG5cbiAgICBjYWxjT3ZlcmFsbFByaWNlKCk7XG4gICAgQ2FydEJ1dHRvbnMuc2V0QnRuQ2FydFRleHQoKTtcblxuICAgIGNvbnN0IHVybCA9IGdlbmVyYXRlQ2hlY2tvdXRVcmwoKTtcbiAgICBFdmVudHMuYWRkUmVkaXJlY3RDaGVja291dCh1cmwpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2FsY092ZXJhbGxQcmljZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICghY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNBcnIubGVuZ3RoKSB7XG4gICAgICAgIGNvbmZpZy5zdGF0ZS5wcmljZU92ZXJhbGwgPSBcIjBcIjtcbiAgICAgICAgcmV0dXJuIFwiMFwiO1xuICAgIH1cblxuICAgIGNvbmZpZy5zdGF0ZS5wcmljZU92ZXJhbGwgPSBzdW1TZWF0UHJpY2VzKCk7XG4gICAgcmV0dXJuIGNvbmZpZy5zdGF0ZS5wcmljZU92ZXJhbGw7XG59XG5cblxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlQ2FydEl0ZW1zKCk6IHZvaWQge1xuICAgIGlmICghY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNBcnIubGVuZ3RoKVxuICAgICAgICByZXR1cm47XG5cbiAgICBmb3IgKGNvbnN0IGtleSBpbiBjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c09iaikge1xuICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzT2JqLCBrZXkpKSB7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNPYmpba2V5XTtcbiAgICAgICAgICAgIGFkZEl0ZW0oZWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0TW9kYWxDYXJ0KCk6IHZvaWQge1xuICAgIGpRdWVyeShcIiNtb2RhbENhcnQtb3ZlcmxheVwiKS5oaWRlKCk7XG4gICAgRXZlbnRzLmFkZENhcnRCYWNrKCk7XG4gICAgRXZlbnRzLmFkZENhcnRDbG9zZSgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVDaGVja291dFVybCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICghY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNBcnIubGVuZ3RoKVxuICAgICAgICByZXR1cm47XG5cbiAgICBjb25zdCBpbnB1dHNXaXRoVmFsdWUgPSBjb25maWcuc3RhdGUuaW5wdXRzV2l0aFZhbHVlITtcbiAgICBjb25zdCBzZWxlY3RlZFNlYXRJbmRleGVzOiBzdHJpbmcgPSBYTUxIZWxwZXIuZ2VuZXJhdGVTZWxlY3RlZFNlYXRJbmRleGVzKCk7XG4gICAgcmV0dXJuIGAke2lucHV0c1dpdGhWYWx1ZVtcInRpY2tldFB1cmNoYXNlVXJsXCJdfT91c2VyX2NvbnRleHQ9JHtpbnB1dHNXaXRoVmFsdWUudXNlcl9jb250ZXh0fSZwaWQ9JHtpbnB1dHNXaXRoVmFsdWVbXCJwaWRcIl19JnNlbGVjdGVkX3NlYXRfaW5kZXhlcz0ke3NlbGVjdGVkU2VhdEluZGV4ZXN9JnRyeHN0YXRlPTE0OGA7XG59XG5cbmZ1bmN0aW9uIGFwcGVuZEhUTUwoaW5DYXJ0SUQ6IHN0cmluZywgaW5Db2xvcjogc3RyaW5nLCBpbkNhdGVnb3J5OiBzdHJpbmcgfCB1bmRlZmluZWQsIGluU2VhdFN0cjogc3RyaW5nKTogdm9pZCB7XG4gICAgalF1ZXJ5KFwiI2NhcnRJdGVtSFRNTCAuZmwtaHRtbFwiKS5hcHBlbmQoYFxuICAgIDxkaXYgY2xhc3M9XCJjYXJ0SXRlbVwiIGlkPVwiJHtpbkNhcnRJRH1cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcnRJdGVtQ29sb3JlZFNxdWFyZVwiIHN0eWxlPVwiYmFja2dyb3VuZDogJHtpbkNvbG9yfTtcIj48L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcnRJdGVtQ2F0ZWdvcnlcIj4ke2luQ2F0ZWdvcnl9PC9kaXY+XG4gICAgICAgIDxoNSBjbGFzcz1cImNhcnRJdGVtU2VhdFwiPiR7aW5TZWF0U3RyfTwvaDU+XG4gICAgICAgIDxzZWxlY3QgbmFtZT1cImRyb3Bkb3duQnV5ZXJUeXBlc1wiIGNsYXNzPVwiZHJvcGRvd25CdXllclR5cGVzXCI+PC9zZWxlY3Q+XG4gICAgPC9kaXY+YCk7XG59XG5cbi8vIHRvZG86IGdlbmVyYWxpemUgZHJvcGRvd24gZmlsbCBvcHRpb25zXG5mdW5jdGlvbiBhZGREcm9wZG93bkJ1eWVyVHlwZU9wdGlvbnMoaW5CdXllclR5cGVzOiBJLlR5cGVCdXllclR5cGUsIGluU2VsZWN0b3I6IHN0cmluZykge1xuICAgIGlmICghaW5CdXllclR5cGVzKVxuICAgICAgICByZXR1cm47XG5cbiAgICBpbkJ1eWVyVHlwZXMuZm9yRWFjaChhcnIgPT4geyAgICAgICAgXG4gICAgICAgIGlmIChhcnJbMF0pXG4gICAgICAgICAgICBhcHBlbmRPcHRpb24oaW5TZWxlY3RvciwgYXJyKVxuICAgIH0pO1xufVxuXG5mdW5jdGlvbiBhcHBlbmRPcHRpb24oaW5TZWxlY3Rvcjogc3RyaW5nLCBpbkFycjogSS5UeXBlQnV5ZXJUeXBlQXJyKTogdm9pZCB7XG4gICAgY29uc3QgZHJvcGRvd25CdXllclR5cGVzOiBIVE1MRWxlbWVudCA9IGpRdWVyeShpblNlbGVjdG9yKS5nZXQoMCk7XG4gICAgbGV0IG9wdDogSFRNTE9wdGlvbkVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdvcHRpb24nKTtcbiAgICBvcHQudmFsdWUgPSA8c3RyaW5nPmluQXJyWzBdO1xuICAgIG9wdC5pbm5lckhUTUwgPSBgJHtpbkFyclsyXX0g4oKsJHtpbkFyclsxXX1gO1xuICAgIGRyb3Bkb3duQnV5ZXJUeXBlcy5hcHBlbmRDaGlsZChvcHQpO1xufVxuXG5mdW5jdGlvbiBzdW1TZWF0UHJpY2VzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzQXJyLm1hcChnZXRTZWF0UHJpY2UpXG4gICAgICAgIC5yZWR1Y2UoKHByZXYsIGN1cnIpID0+IHByZXYgKyBjdXJyKVxuICAgICAgICAudG9GaXhlZCgyKTtcbn1cblxuZnVuY3Rpb24gZ2V0U2VhdFByaWNlKGFycjogc3RyaW5nW10pIHtcbiAgICBjb25zdCBzZWF0SUQ6IHN0cmluZyA9IGFyclswXTtcbiAgICAgICAgY29uc3QgYnV5ZXJ0eXBlSUQ6IHN0cmluZyA9IGFyclsxXTtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRTZWF0OiBJLkpTQ1NlbGVjdGVkU2VhdCA9IGNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzT2JqW3NlYXRJRF07XG4gICAgICAgIGNvbnN0IHByaWNlc2NhbGVJRDogc3RyaW5nID0gc2VsZWN0ZWRTZWF0LmRhdGEuc2VhdHNPYmouaWRbMF07XG4gICAgICAgIGNvbnN0IHByaWNlc2NhbGVPYmo6IEkuUHJpY2VzY2FsZTUgfCB1bmRlZmluZWQgPSBYTUxIZWxwZXIuZ2V0VmVudWVQcmljZVN0cnVjdHVyZVByb3BlcnR5QnlQcmljZXNjYWxlSUQocHJpY2VzY2FsZUlEKTtcblxuICAgICAgICBpZiAocHJpY2VzY2FsZU9iaikge1xuICAgICAgICAgICAgY29uc3Qgc2VhdFByaWNlOiBudW1iZXIgfCB1bmRlZmluZWQgPSBYTUxIZWxwZXIuZ2V0UHJpY2VCeUJ1eWVyVHlwZUlEKGJ1eWVydHlwZUlELCBwcmljZXNjYWxlT2JqKTtcblxuICAgICAgICAgICAgaWYgKHNlYXRQcmljZSlcbiAgICAgICAgICAgICAgICByZXR1cm4gc2VhdFByaWNlOyAgIFxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIDA7XG59IiwiaW1wb3J0IHsgY29uZmlnIH0gZnJvbSBcIi4vY29uZmlnXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRCdG5DYXJ0VGV4dCgpOiB2b2lkIHtcbiAgICBqUXVlcnkoXCIjbW9kYWxDYXJ0IC51YWJiLWJ1dHRvbi10ZXh0XCIpWzBdLmlubmVyVGV4dCA9IGNyZWF0ZUNhcnRCdG5UZXh0KCk7XG4gICAgalF1ZXJ5KFwiI21vZGFsQ2FydFN1bSAudWFiYi1oZWFkaW5nLXRleHRcIilbMF0udGV4dENvbnRlbnQgPSBjcmVhdGVNb2RhbENhcnRCdG5UZXh0KCk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUNhcnRCdG5UZXh0KCk6IHN0cmluZyB7XG4gICAgY29uc3QgbnVtVGlja2V0czogbnVtYmVyID0gY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNBcnIubGVuZ3RoO1xuXG4gICAgaWYgKGNvbmZpZy5zdGF0ZS5wcmljZU92ZXJhbGwgIT09IFwiXCIpXG4gICAgICAgIHJldHVybiBudW1UaWNrZXRzID09PSAxID8gYCR7bnVtVGlja2V0c30gVGlja2V0IGbDvHIg4oKsJHtjb25maWcuc3RhdGUucHJpY2VPdmVyYWxsfWAgOiBgJHtudW1UaWNrZXRzfSBUaWNrZXRzIGbDvHIg4oKsJHtjb25maWcuc3RhdGUucHJpY2VPdmVyYWxsfWA7XG4gICAgZWxzZSBcbiAgICAgICAgcmV0dXJuIFwiMCBUaWNrZXRzIGbDvHIg4oKsMC4wMFwiOyAgICBcbn1cblxuZnVuY3Rpb24gY3JlYXRlTW9kYWxDYXJ0QnRuVGV4dCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IG51bVRpY2tldHM6IG51bWJlciA9IGNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzQXJyLmxlbmd0aDtcblxuICAgIGlmIChjb25maWcuc3RhdGUucHJpY2VPdmVyYWxsICE9PSBcIlwiKVxuICAgICAgICByZXR1cm4gYFN1bW1lICgke251bVRpY2tldHN9IFBsw6R0emUpIOKCrCR7Y29uZmlnLnN0YXRlLnByaWNlT3ZlcmFsbH1gO1xuICAgIGVsc2VcbiAgICAgICAgcmV0dXJuIGBTdW1tZSAoMCBQbMOkdHplKSDigqwwLDAwYDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNob3dIaWRlQnRuQ2FydExvYWRpbmcoaW5Td2l0Y2g6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChpblN3aXRjaCA9PT0gXCJzaG93XCIpIHtcbiAgICAgICAgalF1ZXJ5KFwiI21vZGFsQ2FydCAudWFiYi1idXR0b25cIikuY3NzKFwicG9pbnRlci1ldmVudHNcIiwgXCJub25lXCIpO1xuICAgICAgICBqUXVlcnkoXCIjbW9kYWxDYXJ0IGlcIikuaGlkZSgpO1xuICAgICAgICBqUXVlcnkoXCIjbW9kYWxDYXJ0IC51YWJiLWJ1dHRvbi10ZXh0XCIpLmFkZENsYXNzKFwiZG90LXB1bHNlXCIpO1xuICAgIH1cbiAgICBlbHNlIGlmIChpblN3aXRjaCA9PT0gXCJoaWRlXCIpIHtcbiAgICAgICAgalF1ZXJ5KFwiI21vZGFsQ2FydCBpXCIpLnNob3coKTtcbiAgICAgICAgalF1ZXJ5KFwiI21vZGFsQ2FydCAudWFiYi1idXR0b24tdGV4dFwiKS5yZW1vdmVDbGFzcyhcImRvdC1wdWxzZVwiKTtcbiAgICAgICAgalF1ZXJ5KFwiI21vZGFsQ2FydCAudWFiYi1idXR0b25cIikuY3NzKFwicG9pbnRlci1ldmVudHNcIiwgXCJhbGxcIik7XG4gICAgfVxufSIsImltcG9ydCAqIGFzIEkgZnJvbSBcIi4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgYXhpb3MsIHsgQXhpb3NSZXNwb25zZSB9IGZyb20gJ2F4aW9zJztcbmNvbnN0IHhtbDJqc1BhcnNlciA9IHJlcXVpcmUoJ3htbDJqcycpLnBhcnNlU3RyaW5nO1xuaW1wb3J0ICogYXMgVUkgZnJvbSBcIi4vdWlcIjtcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gXCIuL2NvbmZpZ1wiO1xuaW1wb3J0ICogYXMgQ2FydCBmcm9tIFwiLi9jYXJ0XCI7XG5pbXBvcnQgVXRpbHMgZnJvbSAnLi91dGlscydcblxuLy8gcmV3b3JrIHRyeS9jYXRjaCA/XG5leHBvcnQgZnVuY3Rpb24gc2VuZE1lc3NhZ2UoaW5EYXRhOiBJLk1lc3NhZ2UsIGluVG86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChpblRvID09PSBcInBhcmVudFwiKVxuICAgICAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKEpTT04uc3RyaW5naWZ5KGluRGF0YSksICcqJyk7XG4gICAgZWxzZSB7XG4gICAgICAgIGNvbnN0IGNoaWxkOiBhbnkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpblRvKTtcblxuICAgICAgICBpZiAoY2hpbGQgIT09IG51bGwgJiYgY2hpbGQuY29udGVudFdpbmRvdyAhPT0gbnVsbClcbiAgICAgICAgICAgIGNoaWxkLmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoaW5EYXRhKSwgXCIqXCIpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxpc3RlblRvTWVzc2FnZXMoaW5IYW5kbGVyOiBDYWxsYWJsZUZ1bmN0aW9uKTogdm9pZCB7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCAoZTogYW55KTogdm9pZCA9PiB7XG4gICAgICAgIGluSGFuZGxlcihlKTtcbiAgICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNlbmRYTUwoaW5Vcmw6IHN0cmluZywgaW5Ubzogc3RyaW5nLCBpbkV2ZW50OiBzdHJpbmcsIGluRnJvbTogc3RyaW5nLCBpbkRhdGU6IG51bWJlciA9IERhdGUubm93KCkpOiB2b2lkIHtcbiAgICBnZXRYTUxQcm9taXNlKGluVXJsKS50aGVuKChyZXN1bHQ6IHVua25vd24pOiB2b2lkID0+IHtcbiAgICAgICAgY29uc3QgbWVzc2FnZTogSS5NZXNzYWdlID0ge1xuICAgICAgICAgICAgZGF0ZTogaW5EYXRlLFxuICAgICAgICAgICAgZnJvbTogaW5Gcm9tLFxuICAgICAgICAgICAgbWVzc2FnZTogcmVzdWx0LFxuICAgICAgICAgICAgZXZlbnQ6IGluRXZlbnRcbiAgICAgICAgfVxuICAgICAgICBzZW5kTWVzc2FnZShtZXNzYWdlLCBpblRvKTtcbiAgICB9KVxuICAgICAgICAuY2F0Y2goZnVuY3Rpb24gKGVycikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgICAgICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNlbmRFdmVudFRvQ2hpbGQoaW5FdmVudDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgbWVzc2FnZTogSS5NZXNzYWdlID0ge1xuICAgICAgICBtZXNzYWdlOiBudWxsLFxuICAgICAgICBmcm9tOiBcInBhcmVudFwiLFxuICAgICAgICBldmVudDogaW5FdmVudCxcbiAgICAgICAgZGF0ZTogRGF0ZS5ub3coKVxuICAgIH07XG4gICAgc2VuZE1lc3NhZ2UobWVzc2FnZSwgXCJpZnJhbWVTZWF0bWFwXCIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2VuZEV2ZW50VG9QYXJlbnQoaW5FdmVudDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgbWVzc2FnZTogSS5NZXNzYWdlID0ge1xuICAgICAgICBtZXNzYWdlOiBudWxsLFxuICAgICAgICBmcm9tOiBcImNoaWxkXCIsXG4gICAgICAgIGV2ZW50OiBpbkV2ZW50LFxuICAgICAgICBkYXRlOiBEYXRlLm5vdygpXG4gICAgfTtcbiAgICBzZW5kTWVzc2FnZShtZXNzYWdlLCBcInBhcmVudFwiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5lZWRTZWF0bWFwWE1MKGluSUQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IG1lc3NhZ2U6IEkuTWVzc2FnZSA9IHtcbiAgICAgICAgbWVzc2FnZTogaW5JRCxcbiAgICAgICAgZnJvbTogXCJjaGlsZFwiLFxuICAgICAgICBldmVudDogXCJjaGlsZF9uZWVkU2VhdG1hcFhNTFwiLFxuICAgICAgICBkYXRlOiBEYXRlLm5vdygpXG4gICAgfTtcbiAgICBzZW5kTWVzc2FnZShtZXNzYWdlLCBcInBhcmVudFwiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNhbmNlbENoZWNrb3V0KGluVXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAvLyB1c2UgZmV0Y2ggaW5zdGVhZCBvZiBheGlvcyBiZWNhdXNlIG9mIDMwMiByZWRpcmVjdFxuICAgIC8vIHNlZSBodHRwczovL2dpdGh1Yi5jb20vYXhpb3MvYXhpb3MvaXNzdWVzLzkzMlxuICAgIGZldGNoKGluVXJsLCB7XG4gICAgICAgIHJlZGlyZWN0OiBcIm1hbnVhbFwiXG4gICAgfSlcbiAgICAgICAgLnRoZW4oKCkgPT4gVXRpbHMuY29uc29sZUxvZyhgJHtpblVybH0gY2FuY2VsZWRgKSlcbiAgICAgICAgLmNhdGNoKChlcnJvcikgPT4gVXRpbHMuY29uc29sZUxvZyhlcnJvcikpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZFNlYXRTZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgalF1ZXJ5KFwiI21vZGFsQ2FydC1vdmVybGF5XCIpLmhpZGUoKTtcblxuICAgIGlmICghY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNBcnIubGVuZ3RoKVxuICAgICAgICByZXR1cm47XG5cbiAgICBVSS5hZGp1c3RVSVRvTG9hZGluZygpO1xuICAgIGNvbnN0IHVybDogc3RyaW5nIHwgdW5kZWZpbmVkID0gQ2FydC5nZW5lcmF0ZUNoZWNrb3V0VXJsKCk7XG5cbiAgICBjb25zdCBtZXNzYWdlOiBJLk1lc3NhZ2UgPSB7XG4gICAgICAgIG1lc3NhZ2U6IHtcbiAgICAgICAgICAgIHVybDogdXJsLFxuICAgICAgICB9LFxuICAgICAgICBmcm9tOiBcImNoaWxkXCIsXG4gICAgICAgIGV2ZW50OiBcImNoaWxkX25lZWRDaGVja291dFJlc3BvbnNlXCIsXG4gICAgICAgIGRhdGU6IERhdGUubm93KClcbiAgICB9O1xuXG4gICAgc2VuZE1lc3NhZ2UobWVzc2FnZSwgXCJwYXJlbnRcIik7XG59XG5cbmZ1bmN0aW9uIGdldFhNTFByb21pc2UoaW5Vcmw6IHN0cmluZyk6IFByb21pc2U8dW5rbm93bj4ge1xuICAgIHJldHVybiBheGlvcy5nZXQoaW5VcmwpXG4gICAgICAgIC50aGVuKChyZXNwb25zZTogdm9pZCB8IEF4aW9zUmVzcG9uc2U8YW55PikgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBhbnksIHJlamVjdDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgQXhpb3NSZXNwb25zZSA9IDxBeGlvc1Jlc3BvbnNlPnJlc3BvbnNlO1xuICAgICAgICAgICAgICAgIGlmIChBeGlvc1Jlc3BvbnNlLnN0YXR1cyA9PT0gMjAwICYmIEF4aW9zUmVzcG9uc2UuaGVhZGVyc1tcImNvbnRlbnQtdHlwZVwiXSA9PT0gXCJ0ZXh0L3htbDtjaGFyc2V0PXV0Zi04XCIpIHtcbiAgICAgICAgICAgICAgICAgICAgeG1sMmpzUGFyc2VyKEF4aW9zUmVzcG9uc2UuZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgbm9ybWFsaXplVGFnczogdHJ1ZSwgbm9ybWFsaXplOiB0cnVlLCBtZXJnZUF0dHJzOiB0cnVlIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAoZXJyOiBhbnksIHJlc3VsdDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGVycik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKChlcnJvcikgPT4gVXRpbHMuY29uc29sZUxvZyhlcnJvcikpO1xufSIsImltcG9ydCAqIGFzIEkgZnJvbSBcIi4uL3R5cGVzL3R5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBjb25maWc6IEkuQ29uZmlnID0ge1xuICAgIGNoaWxkSGFzVmVudWVYTUw6IGZhbHNlLFxuICAgIGRlYnVnOiB0cnVlLFxuICAgIGJyYW5jaDogXCJzdGFnaW5nXCIsXG4gICAgdmVyc2lvbjogXCIwLjAuMVwiLFxuICAgIG1heFNlbGVjdGVkU2VhdHM6IDEwLFxuICAgIHJlc291cmNlczoge1xuICAgICAgICBtYXN0ZXI6IHtcbiAgICAgICAgICAgIHNlYXRtYXA6IFwiaHR0cHM6Ly90aWNrZXRzLnppbm9tZWRpYS5kZVwiLFxuICAgICAgICAgICAgSlNDOiBcImh0dHBzOi8vdGlja2V0cy56aW5vbWVkaWEuZGUvbGlicy9qUXVlcnktU2VhdC1DaGFydHMvanF1ZXJ5LnNlYXQtY2hhcnRzLm1pbi5qc1wiLFxuICAgICAgICAgICAgQ1NTQ2hpbGQ6IFwiaHR0cHM6Ly90aWNrZXRzLnppbm9tZWRpYS5kZS9kaXN0L3NlYXRtYXAuY3NzXCIsXG4gICAgICAgICAgICBDU1NKU0M6IFwiaHR0cHM6Ly90aWNrZXRzLnppbm9tZWRpYS5kZS9saWJzL2pRdWVyeS1TZWF0LUNoYXJ0cy9qcXVlcnkuc2VhdC1jaGFydHMuY3NzXCIsXG4gICAgICAgICAgICBDU1NQYXJlbnQ6IFwiaHR0cHM6Ly90aWNrZXRzLnppbm9tZWRpYS5kZS9kaXN0L2luamVjdC5jc3NcIixcbiAgICAgICAgICAgIENTU2pRdWVyeVVJOiBcImh0dHBzOi8vY29kZS5qcXVlcnkuY29tL3VpLzEuMTIuMS90aGVtZXMvYmFzZS9qcXVlcnktdWkuY3NzXCIsXG4gICAgICAgICAgICBDU1NqQm94OiBcImh0dHBzOi8vdGlja2V0cy56aW5vbWVkaWEuZGUvZGlzdC9qQm94LmFsbC5taW4uY3NzXCJcbiAgICAgICAgfSxcbiAgICAgICAgc3RhZ2luZzoge1xuICAgICAgICAgICAgc2VhdG1hcDogXCJodHRwczovL3N0YWdpbmcudGlja2V0cy56aW5vbWVkaWEuZGVcIixcbiAgICAgICAgICAgIEpTQzogXCJodHRwczovL3N0YWdpbmcudGlja2V0cy56aW5vbWVkaWEuZGUvbGlicy9qUXVlcnktU2VhdC1DaGFydHMvanF1ZXJ5LnNlYXQtY2hhcnRzLm1pbi5qc1wiLFxuICAgICAgICAgICAgQ1NTQ2hpbGQ6IFwiaHR0cHM6Ly9zdGFnaW5nLnRpY2tldHMuemlub21lZGlhLmRlL2Rpc3Qvc2VhdG1hcC5jc3NcIixcbiAgICAgICAgICAgIENTU0pTQzogXCJodHRwczovL3N0YWdpbmcudGlja2V0cy56aW5vbWVkaWEuZGUvbGlicy9qUXVlcnktU2VhdC1DaGFydHMvanF1ZXJ5LnNlYXQtY2hhcnRzLmNzc1wiLFxuICAgICAgICAgICAgQ1NTUGFyZW50OiBcImh0dHBzOi8vc3RhZ2luZy50aWNrZXRzLnppbm9tZWRpYS5kZS9kaXN0L2luamVjdC5jc3NcIixcbiAgICAgICAgICAgIENTU2pRdWVyeVVJOiBcImh0dHBzOi8vY29kZS5qcXVlcnkuY29tL3VpLzEuMTIuMS90aGVtZXMvYmFzZS9qcXVlcnktdWkuY3NzXCIsXG4gICAgICAgICAgICBDU1NqQm94OiBcImh0dHBzOi8vc3RhZ2luZy50aWNrZXRzLnppbm9tZWRpYS5kZS9kaXN0L2pCb3guYWxsLm1pbi5jc3NcIlxuICAgICAgICB9XG4gICAgfSxcbiAgICBzdGF0ZToge1xuICAgICAgICBwcmljZU92ZXJhbGw6IFwiXCIsXG4gICAgICAgIGNhcnRDaGFuZ2VkOiBmYWxzZSxcbiAgICAgICAgc2VsZWN0ZWRTZWF0c0FycjogW10sXG4gICAgICAgIHNlbGVjdGVkU2VhdHNPYmo6IHt9LFxuICAgICAgICBsYXlvdXRSb3dzOiB7fSxcbiAgICAgICAgaXNWYWxpZFNlYXRTZWxlY3Rpb246IGZhbHNlLFxuICAgICAgICBpbnB1dHNXaXRoVmFsdWU6IHVuZGVmaW5lZCxcbiAgICAgICAgc2VhdG1hcDogdW5kZWZpbmVkLFxuICAgICAgICBwYW56b29tOiB1bmRlZmluZWQsXG4gICAgICAgIGluVmVudWVYTUw6IHVuZGVmaW5lZCxcbiAgICAgICAgc2VhdG1hcFhNTDogdW5kZWZpbmVkLFxuICAgIH1cbn0iLCJpbXBvcnQgKiBhcyBDb21tdW5pY2F0aW9uIGZyb20gXCIuL2NvbW11bmljYXRpb25cIjtcbmltcG9ydCAqIGFzIFVJIGZyb20gXCIuL3VpXCI7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcbmltcG9ydCAqIGFzIEkgZnJvbSBcIi4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgKiBhcyBKU0MgZnJvbSBcIi4vanNjXCI7XG5pbXBvcnQgKiBhcyBDYXJ0IGZyb20gXCIuL2NhcnRcIjtcbmltcG9ydCAqIGFzIExlZ2VuZCBmcm9tIFwiLi9sZWdlbmRcIjtcbmltcG9ydCAqIGFzIGpCb3hIZWxwZXIgZnJvbSBcIi4vakJveEhlbHBlclwiO1xuXG5leHBvcnQgZnVuY3Rpb24gYWRkQ2xvc2VNb2RhbCgpOiB2b2lkIHtcbiAgICBjb25zdCBidG5DbG9zZU1vZGFsOiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCA9IGpRdWVyeShcIiNidG5DbG9zZU1vZGFsXCIpLmdldCgwKTtcbiAgICBpZiAoYnRuQ2xvc2VNb2RhbClcbiAgICAgICAgYnRuQ2xvc2VNb2RhbC5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgKCkgPT4gQ29tbXVuaWNhdGlvbi5zZW5kRXZlbnRUb1BhcmVudChcImNoaWxkX2Nsb3NlRGlhbG9nXCIpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFkZERyb3Bkb3duU2VhdG1hcCgpOiB2b2lkIHtcbiAgICBjb25zdCBkcm9wZG93blNlYXRtYXA6IEhUTUxFbGVtZW50IHwgbnVsbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiZHJvcGRvd25TZWF0bWFwXCIpO1xuXG4gICAgaWYgKGRyb3Bkb3duU2VhdG1hcCkge1xuICAgICAgICBkcm9wZG93blNlYXRtYXAuYWRkRXZlbnRMaXN0ZW5lcihcImNoYW5nZVwiLCBmdW5jdGlvbiAodGhpczogSFRNTFNlbGVjdEVsZW1lbnQpIHtcbiAgICAgICAgICAgIFVJLmNvbnRyb2xMb2Z0bG9hZGVyKFwic2hvd1wiKTsgLy8gdG9kbzogcmV3cml0ZT9cbiAgICAgICAgICAgIFVJLmRlc3Ryb3lDdXJyZW50U2VhdG1hcChcIiNjb250YWluZXJTZWF0bWFwSW5uZXJcIik7XG4gICAgICAgICAgICBDb21tdW5pY2F0aW9uLm5lZWRTZWF0bWFwWE1MKHRoaXMudmFsdWUpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRNb2RhbENhcnQoKTogdm9pZCB7XG4gICAgY29uc3QgYnRuQ2FydDogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQgPSBqUXVlcnkoXCIjbW9kYWxDYXJ0IC51YWJiLWJ1dHRvblwiKS5nZXQoMCk7XG5cbiAgICBpZiAoYnRuQ2FydCkge1xuICAgICAgICBidG5DYXJ0LmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCAoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIWNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzQXJyLmxlbmd0aClcbiAgICAgICAgICAgICAgICBqQm94SGVscGVyLnNob3dKQm94Tm90aWNlKGBTaWUgaGFiZW4gYmlzbGFuZyBrZWluZW4gUGxhdHogYXVzZ2V3w6RobHQuYCk7XG4gICAgICAgICAgICBlbHNlIGlmIChjb25maWcuc3RhdGUuY2FydENoYW5nZWQpXG4gICAgICAgICAgICAgICAgQ29tbXVuaWNhdGlvbi5pc1ZhbGlkU2VhdFNlbGVjdGlvbigpO1xuICAgICAgICAgICAgZWxzZSBpZiAoIWNvbmZpZy5zdGF0ZS5jYXJ0Q2hhbmdlZCAmJiBjb25maWcuc3RhdGUuaXNWYWxpZFNlYXRTZWxlY3Rpb24pXG4gICAgICAgICAgICAgICAgVUkuZmFkZUluQ2FydE1vZGFsKCk7XG4gICAgICAgICAgICBlbHNlIGlmICghY29uZmlnLnN0YXRlLmNhcnRDaGFuZ2VkICYmICFjb25maWcuc3RhdGUuaXNWYWxpZFNlYXRTZWxlY3Rpb24pXG4gICAgICAgICAgICAgICAgakJveEhlbHBlci5zaG93SkJveE5vdGljZShgQXVzd2FobCBuaWNodCBtw7ZnbGljaDogQml0dGUgbGFzc2VuIFNpZSBrZWluZW4gZWluemVsbmVuIFBsYXR6IGZyZWkuYCk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFkZFJlZGlyZWN0Q2hlY2tvdXQoaW5Vcmw6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGlmICghaW5VcmwpXG4gICAgICAgIHJldHVybjtcblxuICAgIGNvbnN0IGJ0bkNoZWNrb3V0ID0galF1ZXJ5KFwiI21vZGFsQ2FydC1vdmVybGF5ICNjaGVja291dCAuZmwtYnV0dG9uXCIpLmdldCgwKTtcbiAgICBpZiAoYnRuQ2hlY2tvdXQpIHtcbiAgICAgICAgYnRuQ2hlY2tvdXQuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2U6IEkuTWVzc2FnZSA9IHtcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiB7XG4gICAgICAgICAgICAgICAgICAgIHVybDogaW5VcmwsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBmcm9tOiBcImNoaWxkXCIsXG4gICAgICAgICAgICAgICAgZXZlbnQ6IFwiY2hpbGRfY2xpY2tfY2hlY2tvdXRcIixcbiAgICAgICAgICAgICAgICBkYXRlOiBEYXRlLm5vdygpXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgQ29tbXVuaWNhdGlvbi5zZW5kTWVzc2FnZShtZXNzYWdlLCBcInBhcmVudFwiKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYWRkQ2FydENsb3NlKCk6IHZvaWQge1xuICAgIGNvbnN0IGJ0bkNsb3NlOiBIVE1MRWxlbWVudCA9IGpRdWVyeShcIiNtb2RhbENhcnQtb3ZlcmxheSAudWFiYi1jbG9zZS1pY29uXCIpLmdldCgwKTtcbiAgICBpZiAoYnRuQ2xvc2UpXG4gICAgICAgIGJ0bkNsb3NlLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCAoKSA9PiBDb21tdW5pY2F0aW9uLnNlbmRFdmVudFRvUGFyZW50KFwiY2hpbGRfc2hvd19kaWFsb2dfdGl0bGViYXJcIikpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWRkQ2FydEJhY2soKTogdm9pZCB7XG4gICAgY29uc3QgYnRuQmFjazogSFRNTEVsZW1lbnQgPSBqUXVlcnkoXCIjbW9kYWxDYXJ0LW92ZXJsYXkgI2dvQmFjayAuZmwtYnV0dG9uXCIpLmdldCgwKTtcbiAgICBpZiAoYnRuQmFjaylcbiAgICAgICAgYnRuQmFjay5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgKCkgPT4galF1ZXJ5KFwiI21vZGFsQ2FydC1vdmVybGF5IC51YWJiLWNsb3NlLWljb25cIikudHJpZ2dlcihcImNsaWNrXCIpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRyb3Bkb3duTGVnZW5kT25DaGFuZ2UoaW5TZWxlY3Rvcjogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3Qgc2VhdG1hcDogYW55ID0gY29uZmlnLnN0YXRlLnNlYXRtYXA7XG4gICAgY29uc3QgZHJvcGRvd25MZWdlbmQ6IEhUTUxFbGVtZW50ID0galF1ZXJ5KGluU2VsZWN0b3IpLmdldCgwKTtcblxuICAgIGRyb3Bkb3duTGVnZW5kLmFkZEV2ZW50TGlzdGVuZXIoXCJjaGFuZ2VcIiwgZnVuY3Rpb24gKHRoaXM6IEhUTUxTZWxlY3RFbGVtZW50KSB7XG4gICAgICAgIGNvbnN0IHZhbHVlOiBzdHJpbmcgPSB0aGlzLnZhbHVlO1xuICAgICAgICBjb25zdCBjbGFzc05hbWU6IHN0cmluZyA9IGAuXyR7dmFsdWV9YDtcblxuICAgICAgICBMZWdlbmQuY2hhbmdlRHJvcGRvd25MZWdlbmRCR0NvbG9yKGluU2VsZWN0b3IsIHZhbHVlLCBjbGFzc05hbWUpO1xuXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gXCJhbGxcIikge1xuICAgICAgICAgICAgc2VhdG1hcC5maW5kKCd1bmF2YWlsYWJsZScpLnN0YXR1cygnYXZhaWxhYmxlJyk7XG4gICAgICAgICAgICBKU0Muc2V0VW5hdmFpbGFibGVTZWF0cygpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgc2VhdG1hcC5maW5kKCdhdmFpbGFibGUnKS5zdGF0dXMoJ3VuYXZhaWxhYmxlJyk7XG4gICAgICAgICAgICBKU0MuYWN0aXZhdGVTZWF0c0J5U2VjdGlvbklEKHZhbHVlKTtcbiAgICAgICAgICAgIEpTQy5zZXRVbmF2YWlsYWJsZVNlYXRzKCk7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFkZENhcnREcm9wZG93bkJ1eWVyVHlwZXMoaW5TZWxlY3Rvcjogc3RyaW5nLCBpblNlYXRPYmo6IEkuSlNDU2VsZWN0ZWRTZWF0KTogdm9pZCB7XG4gICAgLy8gdG9kbzogd2hpY2ggdmFyaWFudCBpcyBub3QgZGVwcmVjYXRlZD9cbiAgICBqUXVlcnkoaW5TZWxlY3Rvcikub24oJ2NoYW5nZScsIGZ1bmN0aW9uICh0aGlzOiBIVE1MU2VsZWN0RWxlbWVudCkge1xuICAgICAgICBDYXJ0LmNoYW5nZWREcm9wZG93bkJ1eWVyVHlwZSh0aGlzLCBpblNlYXRPYmopO1xuICAgIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWRkT3BlblNlYXRtYXAoKSB7XG4gICAgalF1ZXJ5KFwiI29wZW5TZWF0bWFwXCIpLm9uKFwiY2xpY2tcIiwgKCkgPT4ge1xuICAgICAgICBpZiAoIWNvbmZpZy5jaGlsZEhhc1ZlbnVlWE1MKVxuICAgICAgICAgICAgQ29tbXVuaWNhdGlvbi5zZW5kRXZlbnRUb0NoaWxkKFwicGFyZW50X2luaXRfdmVudWVcIik7XG5cbiAgICAgICAgalF1ZXJ5KCdodG1sLCBib2R5JykuY3NzKCdvdmVyZmxvdycsICdoaWRkZW4nKTtcbiAgICAgICAgalF1ZXJ5KFwiI2RpYWxvZ1NlYXRtYXBcIikuZGlhbG9nKCdvcGVuJyk7XG4gICAgfSk7XG59IiwiaW1wb3J0IGpCb3ggZnJvbSBcImpib3hcIjtcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gXCIuL2NvbmZpZ1wiO1xuaW1wb3J0ICogYXMgWE1MSGVscGVyIGZyb20gXCIuL3htbGhlbHBlclwiO1xuXG5leHBvcnQgZnVuY3Rpb24gc2hvd0pCb3hOb3RpY2UoaW5Db250ZW50OiBzdHJpbmcsIGluQXV0b0Nsb3NlOiBudW1iZXIgfCBib29sZWFuIHwgdW5kZWZpbmVkID0gNTAwMCk6IHZvaWQge1xuICAgIG5ldyBqQm94PFwiTm90aWNlXCI+ICgnTm90aWNlJywge1xuICAgICAgICBwb3NpdGlvbjogeyB4OiAnY2VudGVyJywgeTogJ3RvcCcgfSxcbiAgICAgICAgb2Zmc2V0OiB7IHg6IDAsIHk6IDMyMCB9LFxuICAgICAgICBjb250ZW50OiBpbkNvbnRlbnQsXG4gICAgICAgIGF1dG9DbG9zZTogaW5BdXRvQ2xvc2UsXG4gICAgICAgIGFuaW1hdGlvbjogeyBvcGVuOiBcInpvb21JblwiLCBjbG9zZTogXCJ6b29tT3V0XCIgfSxcbiAgICAgICAgY2xvc2VPbkVzYzogZmFsc2UsXG4gICAgICAgIGNsb3NlQnV0dG9uOiB0cnVlLFxuICAgICAgICBjbG9zZU9uTW91c2VsZWF2ZTogZmFsc2UsXG4gICAgICAgIGNsb3NlT25DbGljazogZmFsc2UsXG4gICAgICAgIGRyYWdnYWJsZTogZmFsc2UsXG4gICAgICAgIGNvbG9yOiBcInJlZFwiLFxuICAgICAgICBzdGFjazogdHJ1ZSxcbiAgICAgICAgc2hvd0NvdW50ZG93bjogdHJ1ZSxcbiAgICAgICAgcmVwb3NpdGlvbjogdHJ1ZSxcbiAgICAgICAgcmVzcG9uc2l2ZVdpZHRoOiB0cnVlLFxuICAgICAgICByZXNwb25zaXZlSGVpZ2h0OiB0cnVlLFxuICAgIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2VhdFRvb2x0aXBzKCk6IHZvaWQge1xuICAgIG5ldyBqQm94PFwiVG9vbHRpcFwiPiAoXCJUb29sdGlwXCIsIHtcbiAgICAgICAgYXR0YWNoOiBqUXVlcnkoXCIuc2VhdENoYXJ0cy1zZWF0XCIpLFxuICAgICAgICBvbk9wZW46IGZ1bmN0aW9uICh0aGlzOiBhbnkpIHtcbiAgICAgICAgICAgIHNob3dTZWF0VG9vbHRpcCh0aGlzKTtcbiAgICAgICAgfSxcbiAgICB9KTtcbn1cblxuZnVuY3Rpb24gc2hvd1NlYXRUb29sdGlwKGpCb3g6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IHNlYXRJRDogc3RyaW5nID0gakJveC5zb3VyY2VbMF0uaWQ7XG4gICAgY29uc3Qgc2VhdDogc3RyaW5nID0gY29uZmlnLnN0YXRlLmxheW91dFJvd3Nbc2VhdElEXVs1XTtcbiAgICBjb25zdCByb3c6IHN0cmluZyA9IGNvbmZpZy5zdGF0ZS5sYXlvdXRSb3dzW3NlYXRJRF1bNF07XG4gICAgY29uc3Qgc2VjdGlvbklEOiBzdHJpbmcgPSBjb25maWcuc3RhdGUubGF5b3V0Um93c1tzZWF0SURdWzNdO1xuICAgIGNvbnN0IHNlY3Rpb25EZXNjOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBYTUxIZWxwZXIuZ2V0U2VjdGlvbkRlc2NCeVNlY3Rpb25JRChzZWN0aW9uSUQpO1xuICAgIGNvbnN0IHRvb2x0aXBDb250ZW50OiBzdHJpbmcgPSBgJHtzZWN0aW9uRGVzY308YnIvPlJlaWhlICR7cm93fSBQbGF0eiAke3NlYXR9YDtcblxuICAgIGpCb3guc2V0Q29udGVudCh0b29sdGlwQ29udGVudCk7XG59IiwiaW1wb3J0ICogYXMgSSBmcm9tIFwiLi4vdHlwZXMvdHlwZXNcIjtcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gXCIuL2NvbmZpZ1wiO1xuaW1wb3J0ICogYXMgU3RhdGUgZnJvbSBcIi4vc3RhdGVcIjtcbmltcG9ydCAqIGFzIENhcnQgZnJvbSBcIi4vY2FydFwiO1xuaW1wb3J0ICogYXMgQ2FydEJ1dHRvbnMgZnJvbSBcIi4vY2FydEJ1dHRvbnNcIjtcbmltcG9ydCBVdGlscyBmcm9tICcuL3V0aWxzJ1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2VhdHMoKTogSS5KU0NTZWF0cyB7XG4gICAgY29uc3Qgc2VhdG1hcFhNTDogYW55ID0gY29uZmlnLnN0YXRlLnNlYXRtYXBYTUw7XG4gICAgY29uc3QgcHJpY2VzY2FsZUFycjogSS5TZWF0bWFwUHJpY2VzY2FsZVtdID0gc2VhdG1hcFhNTC5zZWF0bWFwWzBdLnByaWNlc2NhbGVfY29uZmlnWzBdLnByaWNlc2NhbGU7XG4gICAgbGV0IHNlYXRtYXBJbml0U2VhdHM6IEkuSlNDU2VhdHMgPSB7fTtcblxuICAgIGZvciAobGV0IGtleSBpbiBwcmljZXNjYWxlQXJyKSB7XG4gICAgICAgIGNvbnN0IHNlYXRzT2JqOiBJLkpTQ1NlYXRzMiA9IHtcbiAgICAgICAgICAgIFwiY2xhc3Nlc1wiOiBgXyR7cHJpY2VzY2FsZUFycltrZXldLmlkWzBdfWAsXG4gICAgICAgICAgICBcInNlYXRzT2JqXCI6IHByaWNlc2NhbGVBcnJba2V5XVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNlYXRzS2V5OiBzdHJpbmcgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKDk3ICsgcGFyc2VJbnQoa2V5KSkudG9Mb2NhbGVVcHBlckNhc2UoKTtcbiAgICAgICAgc2VhdG1hcEluaXRTZWF0c1tzZWF0c0tleV0gPSBzZWF0c09iajtcbiAgICB9XG5cbiAgICByZXR1cm4gc2VhdG1hcEluaXRTZWF0cztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFjdGl2YXRlU2VhdHNCeVNlY3Rpb25JRChpblZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBzZWF0bWFwWE1MOiBhbnkgPSBjb25maWcuc3RhdGUuc2VhdG1hcFhNTDtcbiAgICBjb25zdCBzZWF0bWFwOiBhbnkgPSBjb25maWcuc3RhdGUuc2VhdG1hcDtcbiAgICBjb25zdCBwcmljZXNjYWxlQXJyOiBJLlNlYXRtYXBQcmljZXNjYWxlW10gPSBzZWF0bWFwWE1MLnNlYXRtYXBbMF0ucHJpY2VzY2FsZV9jb25maWdbMF0ucHJpY2VzY2FsZTtcblxuICAgIGNvbnN0IHNlYXRzQXJyOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCA9IHByaWNlc2NhbGVBcnIuZmluZChhcnIgPT4ge1xuICAgICAgICByZXR1cm4gYXJyLmlkWzBdID09PSBpblZhbHVlO1xuICAgIH0pPy5tYXNrWzBdLnNwbGl0KFwiLFwiKTtcblxuICAgIHNlYXRtYXAuc3RhdHVzKHNlYXRzQXJyLCBcImF2YWlsYWJsZVwiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJvd3NOYW1pbmcoKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IHNlYXRtYXBYTUw6IGFueSA9IGNvbmZpZy5zdGF0ZS5zZWF0bWFwWE1MO1xuICAgIGNvbnN0IGxheW91dDogSS5TZWF0bWFwTGF5b3V0ID0gc2VhdG1hcFhNTC5zZWF0bWFwWzBdLmxheW91dHNbMF0ubGF5b3V0WzBdO1xuICAgIGNvbnN0IGhlaWdodDogbnVtYmVyID0gcGFyc2VJbnQobGF5b3V0LmhlaWdodFswXSk7XG4gICAgY29uc3QgbmFtaW5nQXJyOiBzdHJpbmdbXSA9IEFycmF5LmZyb20oeyBsZW5ndGg6IGhlaWdodCB9LCAoXykgPT4gXCJcIik7XG4gICAgY29uc3Qgcm93c0FycjogSS5MYXlvdXRSb3cyW10gPSBsYXlvdXQucm93c1swXS5yb3c7XG5cbiAgICByb3dzQXJyLmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICAgIGNvbnN0IGluZGV4OiBudW1iZXIgPSBwYXJzZUludChlbGVtZW50LnlfY2VsbF9jb29yZFswXSk7XG4gICAgICAgIGNvbnN0IHNlYXRzQXJyOiBzdHJpbmdbXSA9IGVsZW1lbnQuc2VhdHNbMF0uc3BsaXQoXCJ8XCIpO1xuICAgICAgICBjb25zdCBzZWF0QXJyOiBzdHJpbmdbXSA9IHNwbGl0U2VhdFN0cihzZWF0c0FyclswXSk7XG4gICAgICAgIGNvbnN0IHJvdzogc3RyaW5nID0gc2VhdEFycls0XTtcbiAgICAgICAgbmFtaW5nQXJyW2luZGV4XSA9IHJvdztcbiAgICB9KTtcblxuICAgIHJldHVybiBuYW1pbmdBcnI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZU1hcCgpOiBzdHJpbmdbXSB7XG4gICAgY29uc3Qgc2VhdG1hcFhNTDogYW55ID0gY29uZmlnLnN0YXRlLnNlYXRtYXBYTUw7XG4gICAgY29uc3QgbGF5b3V0OiBJLlNlYXRtYXBMYXlvdXQgPSBzZWF0bWFwWE1MLnNlYXRtYXBbMF0ubGF5b3V0c1swXS5sYXlvdXRbMF07XG4gICAgY29uc3Qgcm93czogSS5MYXlvdXRSb3cyW10gPSBsYXlvdXQucm93c1swXS5yb3c7XG4gICAgY29uc3QgcHJpY2VzY2FsZUFycjogSS5TZWF0bWFwUHJpY2VzY2FsZVtdID0gc2VhdG1hcFhNTC5zZWF0bWFwWzBdLnByaWNlc2NhbGVfY29uZmlnWzBdLnByaWNlc2NhbGU7XG4gICAgY29uc3QgYXZhaWxhYmlsaXR5QXJyOiBJLkpTQ0F2YWlsYWJpbGl0eSA9IHNlYXRtYXBYTUwuc2VhdG1hcFswXS52aWV3X21vZGVzWzBdLnZpZXdfbW9kZVswXS5hdmFpbGFiaWxpdHlbMF07XG5cbiAgICAvLyBGb3JtOiBhcnJNYXRyaXhbWV1bWF1cbiAgICBsZXQgYXJyTWF0cml4OiBzdHJpbmdbXVtdID0gY3JlYXRlQXJyTWF0cml4KFxuICAgICAgICBwYXJzZUludChsYXlvdXQuaGVpZ2h0WzBdKSxcbiAgICAgICAgcGFyc2VJbnQobGF5b3V0LndpZHRoWzBdKSxcbiAgICAgICAgXCJfXCJcbiAgICApO1xuXG4gICAgYXJyTWF0cml4ID0gZW50ZXJTZWF0c0luTWF0cml4KHJvd3MsIGFyck1hdHJpeCwgcHJpY2VzY2FsZUFyciwgYXZhaWxhYmlsaXR5QXJyKTtcbiAgICByZXR1cm4gYXJyTWF0cml4Lm1hcChlbGVtZW50ID0+IGVsZW1lbnQuam9pbihcIlwiKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZUxlZ2VuZChpbk5vZGU6IHN0cmluZyk6IEkuSlNDTGVnZW5kIHtcbiAgICBjb25zdCBzZWF0bWFwWE1MOiBhbnkgPSBjb25maWcuc3RhdGUuc2VhdG1hcFhNTDtcbiAgICBjb25zdCB2ZW51ZVhNTDogSS5WZW51ZVhNTCA9IGNvbmZpZy5zdGF0ZS5pblZlbnVlWE1MITtcbiAgICBjb25zdCBwcmljZXNjYWxlQXJyOiBJLlNlYXRtYXBQcmljZXNjYWxlW10gPSBzZWF0bWFwWE1MLnNlYXRtYXBbMF0ucHJpY2VzY2FsZV9jb25maWdbMF0ucHJpY2VzY2FsZTtcbiAgICBjb25zdCB2ZW51ZVByaWNlc2NhbGVBcnI6IEkuUHJpY2VzY2FsZTJbXSA9IHZlbnVlWE1MLnZlbnVlWzBdLnByaWNlc2NhbGVzWzBdLnByaWNlc2NhbGU7XG5cbiAgICByZXR1cm4gPEkuSlNDTGVnZW5kPntcbiAgICAgICAgbm9kZTogalF1ZXJ5KGluTm9kZSksXG4gICAgICAgIGl0ZW1zOiBjcmVhdGVMZWdlbmRJdGVtcyhwcmljZXNjYWxlQXJyLCB2ZW51ZVByaWNlc2NhbGVBcnIpXG4gICAgfVxufVxuXG5cblxuZXhwb3J0IGZ1bmN0aW9uIHNldFVuYXZhaWxhYmxlU2VhdHMoKTogdm9pZCB7XG4gICAgY29uc3Qgc2VhdG1hcFhNTDogYW55ID0gY29uZmlnLnN0YXRlLnNlYXRtYXBYTUw7XG4gICAgY29uc3Qgc2VhdG1hcDogYW55ID0gY29uZmlnLnN0YXRlLnNlYXRtYXA7XG4gICAgY29uc3QgYXZhaWxhYmlsaXR5QXJyOiBJLkpTQ0F2YWlsYWJpbGl0eSA9IHNlYXRtYXBYTUwuc2VhdG1hcFswXS52aWV3X21vZGVzWzBdLnZpZXdfbW9kZVswXS5hdmFpbGFiaWxpdHlbMF07XG5cbiAgICBpZiAoYXZhaWxhYmlsaXR5QXJyLnVuYXZhaWxhYmxlX3Vuc2VsZWN0YWJsZV9tYXNrWzBdICE9PSBcIlwiKSB7XG4gICAgICAgIGNvbnN0IHVuYXZhaWxhYmxlQXJyOiBzdHJpbmdbXSA9IGF2YWlsYWJpbGl0eUFyci51bmF2YWlsYWJsZV91bnNlbGVjdGFibGVfbWFza1swXS5zcGxpdChcIixcIik7XG4gICAgICAgIHNlYXRtYXAuc3RhdHVzKHVuYXZhaWxhYmxlQXJyLCBcInVuYXZhaWxhYmxlXCIpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNlYXRzS2V5KGluU2VhdElEOiBzdHJpbmcsIGluUHJpY2VzY2FsZUFycjogSS5TZWF0bWFwUHJpY2VzY2FsZVtdKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBmb3IgKGxldCBrZXkgaW4gaW5QcmljZXNjYWxlQXJyKSB7XG4gICAgICAgIGlmIChpblByaWNlc2NhbGVBcnJba2V5XS5tYXNrWzBdLmluY2x1ZGVzKGluU2VhdElEKSlcbiAgICAgICAgICAgIHJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKDk3ICsgcGFyc2VJbnQoa2V5KSkudG9Mb2NhbGVVcHBlckNhc2UoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3BsaXRTZWF0U3RyKGluU2VhdFN0cjogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBpblNlYXRTdHIuc3BsaXQoXCIsXCIpLm1hcCgoaXRlbSkgPT4gaXRlbS50cmltKCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQXJyTWF0cml4KGluTnVtcm93czogbnVtYmVyLCBpbk51bWNvbHM6IG51bWJlciwgaW5DaGFyYWN0ZXI6IHN0cmluZyk6IHN0cmluZ1tdW10ge1xuICAgIHJldHVybiBBcnJheShpbk51bXJvd3MpLmZpbGwobnVsbCkubWFwKCgpID0+IEFycmF5KGluTnVtY29scykuZmlsbChpbkNoYXJhY3RlcikpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2VsZWN0U2VhdHNJbkNhcnQoKTogdm9pZCB7XG4gICAgY29uc3Qgc2VhdG1hcDogYW55ID0gY29uZmlnLnN0YXRlLnNlYXRtYXA7XG4gICAgY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNBcnIuZm9yRWFjaChhcnIgPT4ge1xuICAgICAgICBjb25zdCBzZWF0SUQ6IHN0cmluZyA9IGFyclswXTtcblxuICAgICAgICBpZiAoc2VhdG1hcC5nZXQoc2VhdElEKSlcbiAgICAgICAgICAgIHNlYXRtYXAuc3RhdHVzKHNlYXRJRCwgXCJzZWxlY3RlZFwiKTtcbiAgICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFkZFNlYXRtYXAoaW5TZWxlY3Rvcjogc3RyaW5nLCBpbk1hcDogc3RyaW5nW10sIGluUm93c05hbWluZzogc3RyaW5nW10sIGluU2VhdHM6IEkuSlNDU2VhdHMsIGluTGVnZW5kOiBJLkpTQ0xlZ2VuZCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbnRhaW5lclNlYXRtYXA6IGFueSA9ICg8YW55PndpbmRvdykualF1ZXJ5KGluU2VsZWN0b3IpO1xuXG4gICAgY29uZmlnLnN0YXRlLnNlYXRtYXAgPSBjb250YWluZXJTZWF0bWFwLnNlYXRDaGFydHMoe1xuICAgICAgICBuYW1pbmc6IHtcbiAgICAgICAgICAgIHRvcDogZmFsc2UsXG4gICAgICAgICAgICBsZWZ0OiBmYWxzZSxcbiAgICAgICAgICAgIHJvd3M6IGluUm93c05hbWluZyxcbiAgICAgICAgfSxcbiAgICAgICAgbWFwOiBpbk1hcCxcbiAgICAgICAgc2VhdHM6IGluU2VhdHMsXG4gICAgICAgIGxlZ2VuZDogaW5MZWdlbmQsXG4gICAgICAgIGNsaWNrOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICByZXR1cm4gY2xpY2tlZFNlYXQodGhpcyk7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlTGVnZW5kSXRlbXMocHJpY2VzY2FsZUFycjogSS5TZWF0bWFwUHJpY2VzY2FsZVtdLCB2ZW51ZVByaWNlc2NhbGVBcnI6IEkuUHJpY2VzY2FsZTJbXSk6IHN0cmluZ1tdW10ge1xuICAgIHJldHVybiBwcmljZXNjYWxlQXJyLm1hcCgoYXJyLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGNvbnN0IGlkOiBzdHJpbmcgPSBhcnIuaWRbMF07XG4gICAgICAgIGNvbnN0IHNlYXRzS2V5OiBzdHJpbmcgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKDk3ICsgaW5kZXgpLnRvTG9jYWxlVXBwZXJDYXNlKCk7XG4gICAgICAgIGNvbnN0IGRlc2M6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHZlbnVlUHJpY2VzY2FsZUFyci5maW5kKG9iaiA9PiBvYmouaWRbMF0gPT09IGlkKT8uZGVzY1swXTtcbiAgICAgICAgY29uc3QgZGVzY3JpcHRpb246IHN0cmluZyA9IGAke2Rlc2N9IOKCrCR7cHJpY2VzY2FsZUFycltpbmRleF0ucmVmX3ByaWNlWzBdfWA7XG4gICAgICAgIHJldHVybiBbc2VhdHNLZXksIFwiYXZhaWxhYmxlXCIsIGRlc2NyaXB0aW9uXTtcbiAgICB9KTtcbn1cblxuZnVuY3Rpb24gZW50ZXJTZWF0c0luTWF0cml4KGluUm93czogSS5MYXlvdXRSb3cyW10sIGluQXJyTWF0cml4OiBzdHJpbmdbXVtdLCBpblByaWNlc2NhbGVBcnI6IEkuU2VhdG1hcFByaWNlc2NhbGVbXSwgaW5BdmFpbGFiaWxpdHlBcnI6IEkuSlNDQXZhaWxhYmlsaXR5KTogc3RyaW5nW11bXSB7XG4gICAgY29uc3QgYXZhaWxhYmxlQXJyOiBzdHJpbmdbXSA9IGluQXZhaWxhYmlsaXR5QXJyLmF2YWlsYWJsZV9zZWxlY3RhYmxlX21hc2tbMF0uc3BsaXQoXCIsXCIpO1xuICAgIGNvbnN0IHVuYXZhaWxhYmxlQXJyOiBzdHJpbmdbXSA9IGluQXZhaWxhYmlsaXR5QXJyLnVuYXZhaWxhYmxlX3Vuc2VsZWN0YWJsZV9tYXNrWzBdLnNwbGl0KFwiLFwiKTtcblxuICAgIGluUm93cy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICBjb25zdCByb3c6IEkuTGF5b3V0Um93MiA9IGVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IFk6IG51bWJlciA9IHBhcnNlSW50KHJvdy55X2NlbGxfY29vcmRbMF0pIC0gMTtcbiAgICAgICAgY29uc3Qgc2VhdHNBcnI6IHN0cmluZ1tdID0gcm93LnNlYXRzWzBdLnNwbGl0KFwifFwiKTtcblxuICAgICAgICBzZWF0c0Fyci5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc2VhdFN0cjogc3RyaW5nID0gZWxlbWVudDtcbiAgICAgICAgICAgIC8vIEZvcm06XG4gICAgICAgICAgICAvLyBcIjU2ODQyMCw1Njg0MjAsMTUsNzAyNCwxMyAsMVwiXG5cbiAgICAgICAgICAgIGNvbnN0IHNlYXRBcnI6IHN0cmluZ1tdID0gc3BsaXRTZWF0U3RyKHNlYXRTdHIpO1xuICAgICAgICAgICAgLy8gRm9ybTpcbiAgICAgICAgICAgIC8vIDA6IFwiNTY4NTI4XCIgLT4gSURcbiAgICAgICAgICAgIC8vIDE6IFwiNTY4NTI4XCIgLT4gSURcbiAgICAgICAgICAgIC8vIDI6IFwiMjFcIiAtPiBYLUNvb3JkIGJlbnV0emVuXG4gICAgICAgICAgICAvLyAzOiBcIjcwMjRcIiAtPiBzZWN0aW9uIElEXG4gICAgICAgICAgICAvLyA0OiBcIjEzXCIgLT4gUmVpaGVuYmV6ZWljaG51bmdcbiAgICAgICAgICAgIC8vIDU6IFwiNFwiIC0+IFBsYXR6bnVtbWVyXG5cbiAgICAgICAgICAgIC8vIHNraXAgYmxhY2tlZCBvdXQgc2VhdHMgICAgICAgICAgICBcbiAgICAgICAgICAgIGlmICghYXZhaWxhYmxlQXJyLmluY2x1ZGVzKHNlYXRBcnJbMF0pICYmICF1bmF2YWlsYWJsZUFyci5pbmNsdWRlcyhzZWF0QXJyWzBdKSlcbiAgICAgICAgICAgICAgICByZXR1cm47XG5cbiAgICAgICAgICAgIC8vIGNvbnN0IFg6IG51bWJlciA9IHBhcnNlSW50KHNlYXRBcnJbNV0pO1xuICAgICAgICAgICAgY29uc3QgWDogbnVtYmVyID0gcGFyc2VJbnQoc2VhdEFyclsyXSkgLSAxO1xuICAgICAgICAgICAgY29uc3Qgc2VhdHNLZXk6IHN0cmluZyB8IHVuZGVmaW5lZCA9IGdldFNlYXRzS2V5KHNlYXRBcnJbMF0sIGluUHJpY2VzY2FsZUFycik7XG5cbiAgICAgICAgICAgIGlmIChzZWF0c0tleSlcbiAgICAgICAgICAgICAgICBpbkFyck1hdHJpeFtZXVtYXSA9IGAke3NlYXRzS2V5fVske3NlYXRBcnJbMF19LCBdYDtcblxuXG4gICAgICAgICAgICAvLyBzYXZlIHNlYXRBcnIgaW4gc3RhdGUgd2l0aCBzZWF0SUQgYXMga2V5XG4gICAgICAgICAgICBjb25maWcuc3RhdGUubGF5b3V0Um93c1tzZWF0QXJyWzBdXSA9IHNlYXRBcnI7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGluQXJyTWF0cml4O1xufVxuXG5mdW5jdGlvbiBjbGlja2VkU2VhdChpblNlYXRtYXA6IGFueSkge1xuICAgIGlmIChpblNlYXRtYXAuc3RhdHVzKCkgPT0gJ2F2YWlsYWJsZScpIHtcbiAgICAgICAgcmV0dXJuIGNsaWNrQXZhaWxhYmxlU2VhdChpblNlYXRtYXApO1xuICAgIH1cbiAgICBlbHNlIGlmIChpblNlYXRtYXAuc3RhdHVzKCkgPT09IFwic2VsZWN0ZWRcIikge1xuICAgICAgICByZXR1cm4gY2xpY2tlZFNlbGVjdGVkU2VhdChpblNlYXRtYXApO1xuICAgIH1cbiAgICBlbHNlIGlmIChpblNlYXRtYXAuc3RhdHVzKCkgPT0gJ3VuYXZhaWxhYmxlJykge1xuICAgICAgICByZXR1cm4gXCJ1bmF2YWlsYWJsZVwiO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGluU2VhdG1hcC5zdHlsZSgpO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gY2xpY2tBdmFpbGFibGVTZWF0KGluU2VhdG1hcDogYW55KSB7XG4gICAgY29uc3Qgc2VsZWN0ZWRTZWF0OiBJLkpTQ1NlbGVjdGVkU2VhdCA9IGluU2VhdG1hcC5zZXR0aW5ncztcblxuICAgIFV0aWxzLmNvbnNvbGVMb2coc2VsZWN0ZWRTZWF0KTtcblxuICAgIGlmIChTdGF0ZS5tYXhpbXVtU2VsZWN0ZWRTZWF0c1JlYWNoZWQoc2VsZWN0ZWRTZWF0KSlcbiAgICAgICAgcmV0dXJuIFwiYXZhaWxhYmxlXCI7XG5cbiAgICBTdGF0ZS5hZGRTZWF0VG9TdGF0ZShzZWxlY3RlZFNlYXQpO1xuICAgIENhcnQuY2FsY092ZXJhbGxQcmljZSgpO1xuICAgIENhcnRCdXR0b25zLnNldEJ0bkNhcnRUZXh0KCk7XG5cbiAgICByZXR1cm4gXCJzZWxlY3RlZFwiO1xufVxuXG5mdW5jdGlvbiBjbGlja2VkU2VsZWN0ZWRTZWF0KGluU2VhdG1hcDogYW55KSB7XG4gICAgY29uc3Qgc2VsZWN0ZWRTZWF0OiBJLkpTQ1NlbGVjdGVkU2VhdCA9IGluU2VhdG1hcC5zZXR0aW5ncztcbiAgICBTdGF0ZS5yZW1vdmVTZWF0RnJvbVN0YXRlKHNlbGVjdGVkU2VhdCk7XG4gICAgQ2FydC5jYWxjT3ZlcmFsbFByaWNlKCk7XG4gICAgQ2FydEJ1dHRvbnMuc2V0QnRuQ2FydFRleHQoKTtcblxuICAgIHJldHVybiBcImF2YWlsYWJsZVwiO1xufSIsImV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0TGVnZW5kVG9Ecm9wZG93bihpbklEOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBqUXVlcnkoJ3VsLnNlYXRDaGFydHMtbGVnZW5kTGlzdCcpLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgICBsZXQgc2VsZWN0OiBKUXVlcnk8SFRNTFNlbGVjdEVsZW1lbnQ+ID0galF1ZXJ5KGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NlbGVjdCcpKVxuICAgICAgICAgICAgLmluc2VydEJlZm9yZShcbiAgICAgICAgICAgICAgICBqUXVlcnkodGhpcykuaGlkZSgpXG4gICAgICAgICAgICApO1xuXG4gICAgICAgIHNlbGVjdC5hdHRyKHsgaWQ6IGluSUQgfSk7XG4gICAgICAgIGFwcGVuZEZpcnN0TGVnZW5kT3B0aW9uKHNlbGVjdCk7XG4gICAgICAgIGFwcGVuZExlZ2VuZE9wdGlvbnModGhpcywgc2VsZWN0KTsgICAgICAgIFxuICAgIH0pO1xufVxuXG5mdW5jdGlvbiBhcHBlbmRMZWdlbmRPcHRpb25zKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBpblNlbGVjdDogSlF1ZXJ5PEhUTUxTZWxlY3RFbGVtZW50Pikge1xuICAgIGpRdWVyeSgnPmxpJywgZWxlbWVudCkuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgIGNvbnN0IGNsYXNzTmFtZTogc3RyaW5nID0galF1ZXJ5KHRoaXMpWzBdLmNoaWxkcmVuWzBdLmNsYXNzTGlzdFszXTtcbiAgICAgICAgY29uc3QgdmFsOiBzdHJpbmcgPSBjbGFzc05hbWUuc3Vic3RyaW5nKDEpO1xuICAgICAgICBjb25zdCB0ZXh0OiBzdHJpbmcgPSAoPEhUTUxFbGVtZW50PmpRdWVyeSh0aGlzKVswXS5jaGlsZHJlblsxXSkuaW5uZXJUZXh0O1xuXG4gICAgICAgIGFwcGVuZExlZ2VuZE9wdGlvbihpblNlbGVjdCwgY2xhc3NOYW1lLCB2YWwsIHRleHQpO1xuICAgIH0pO1xufVxuXG5mdW5jdGlvbiBhcHBlbmRMZWdlbmRPcHRpb24oaW5TZWxlY3Q6IEpRdWVyeTxIVE1MU2VsZWN0RWxlbWVudD4sIGNsYXNzTmFtZTogc3RyaW5nLCB2YWw6IHN0cmluZywgdGV4dDogc3RyaW5nKTogdm9pZCB7XG4gICAgbGV0IG9wdGlvbjogSlF1ZXJ5PEhUTUxPcHRpb25FbGVtZW50PiA9IGpRdWVyeSgnPG9wdGlvbi8+Jyk7XG4gICAgb3B0aW9uLmF0dHIoeyAndmFsdWUnOiB2YWwsICdjbGFzcyc6IGNsYXNzTmFtZSB9KS50ZXh0KHRleHQpO1xuICAgIGluU2VsZWN0LmFwcGVuZChvcHRpb24pO1xufVxuXG5mdW5jdGlvbiBhcHBlbmRGaXJzdExlZ2VuZE9wdGlvbihpblNlbGVjdDogSlF1ZXJ5PEhUTUxTZWxlY3RFbGVtZW50Pik6IHZvaWQge1xuICAgIGxldCBvcHRpb246IEpRdWVyeTxIVE1MT3B0aW9uRWxlbWVudD4gPSBqUXVlcnkoJzxvcHRpb24vPicpO1xuICAgIG9wdGlvbi5hdHRyKHsgJ3ZhbHVlJzogJ2FsbCcgfSkudGV4dCgnQWxsZSBQcmVpc2thdGVnb3JpZW4nKTtcbiAgICBvcHRpb24uY3NzKFwiY29sb3JcIiwgXCIjNWM1YzVjXCIpO1xuICAgIGluU2VsZWN0LmFwcGVuZChvcHRpb24pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2hhbmdlRHJvcGRvd25MZWdlbmRCR0NvbG9yKGluU2VsZWN0b3I6IHN0cmluZywgaW5WYWx1ZTogc3RyaW5nLCBpbkNsYXNzTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgbGV0IGJnQ29sb3I6IHN0cmluZyA9IFwiI2ZhZmFmYVwiO1xuICAgIGxldCBjb2xvcjogc3RyaW5nID0gXCIjNWM1YzVjXCI7XG5cbiAgICBpZiAoaW5WYWx1ZSAhPT0gXCJhbGxcIikge1xuICAgICAgICBjb2xvciA9IFwid2hpdGVcIjtcbiAgICAgICAgYmdDb2xvciA9IGpRdWVyeShpbkNsYXNzTmFtZSkuY3NzKFwiYmFja2dyb3VuZC1jb2xvclwiKTtcbiAgICB9XG5cbiAgICBqUXVlcnkoaW5TZWxlY3RvcikuY3NzKFwiY29sb3JcIiwgY29sb3IpO1xuICAgIGpRdWVyeShpblNlbGVjdG9yKS5jc3MoXCJiYWNrZ3JvdW5kLWNvbG9yXCIsIGJnQ29sb3IpO1xuICAgIGpRdWVyeShgJHtpblNlbGVjdG9yfSBvcHRpb25bdmFsdWU9XCJhbGxcIl1gKS5jc3MoXCJjb2xvclwiLCBjb2xvcik7XG59IiwiaW1wb3J0IFBhbnpvb20gZnJvbSAnQHBhbnpvb20vcGFuem9vbSc7XG5pbXBvcnQgeyBQYW56b29tT2JqZWN0IH0gZnJvbSBcIkBwYW56b29tL3Bhbnpvb20vZGlzdC9zcmMvdHlwZXNcIjtcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gXCIuL2NvbmZpZ1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gYWRkUGFuem9vbShpblNlbGVjdG9yOiBzdHJpbmcsIGluQnRuWm9vbUluOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQsIGluQnRuWm9vbU91dDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLCBpbkJ0blJlc2V0Wm9vbTogc3RyaW5nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkKTogUGFuem9vbU9iamVjdCB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgY29udGFpbmVyOiBIVE1MRWxlbWVudCA9IGpRdWVyeShpblNlbGVjdG9yKS5nZXQoMCk7XG5cbiAgICBpZiAoY29udGFpbmVyKSB7XG4gICAgICAgIGNvbnN0IHBhbnpvb206IFBhbnpvb21PYmplY3QgPSBQYW56b29tKGNvbnRhaW5lciwge1xuICAgICAgICAgICAgbWF4U2NhbGU6IDUsXG4gICAgICAgICAgICBhbmltYXRlOiBmYWxzZSxcbiAgICAgICAgICAgIG92ZXJmbG93OiBcImhpZGRlblwiLFxuICAgICAgICAgICAgc3RhcnRTY2FsZTogXCIwLjY2XCJcbiAgICAgICAgfSk7XG5cbiAgICAgICAgYWRkUGFuem9vbUV2ZW50cyhpbkJ0blpvb21JbiwgaW5CdG5ab29tT3V0LCBpbkJ0blJlc2V0Wm9vbSwgY29udGFpbmVyLnBhcmVudEVsZW1lbnQhLCBwYW56b29tKTtcbiAgICAgICAgcmV0dXJuIHBhbnpvb207XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gYWRkUGFuem9vbUV2ZW50cyhpbkJ0blpvb21Jbjogc3RyaW5nIHwgdW5kZWZpbmVkLCBpbkJ0blpvb21PdXQ6IHN0cmluZyB8IHVuZGVmaW5lZCwgaW5CdG5SZXNldFpvb206IHN0cmluZyB8IHVuZGVmaW5lZCwgY29udGFpbmVyUGFyZW50OiBIVE1MRWxlbWVudCwgcGFuem9vbTogUGFuem9vbU9iamVjdCk6IHZvaWQge1xuICAgIGNvbnN0IGV2ZW50TWFwcGluZyA9IFtcbiAgICAgICAgeyBTZWxlY3RvcjogaW5CdG5ab29tSW4sIFBhbnpvb21GdW5jdGlvbjogcGFuem9vbS56b29tSW4sIFR5cGU6IFwiY2xpY2tcIiB9LFxuICAgICAgICB7IFNlbGVjdG9yOiBpbkJ0blpvb21PdXQsIFBhbnpvb21GdW5jdGlvbjogcGFuem9vbS56b29tT3V0LCBUeXBlOiBcImNsaWNrXCIgfSxcbiAgICAgICAgeyBTZWxlY3RvcjogaW5CdG5SZXNldFpvb20sIFBhbnpvb21GdW5jdGlvbjogcGFuem9vbS5yZXNldCwgVHlwZTogXCJjbGlja1wiIH0sXG4gICAgICAgIHsgSFRNTEVsZW1lbnQ6IGNvbnRhaW5lclBhcmVudCwgUGFuem9vbUZ1bmN0aW9uOiBwYW56b29tLnpvb21XaXRoV2hlZWwsIFR5cGU6IFwid2hlZWxcIiB9XG4gICAgXTtcblxuICAgIGV2ZW50TWFwcGluZy5tYXAoZXZlbnQgPT4ge1xuICAgICAgICBpZiAoZXZlbnQuU2VsZWN0b3IpIHtcbiAgICAgICAgICAgIGNvbnN0IGJ0bjogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQgPSBqUXVlcnkoZXZlbnQuU2VsZWN0b3IpLmdldCgwKTtcbiAgICAgICAgICAgIGlmIChidG4pXG4gICAgICAgICAgICAgICAgYnRuLmFkZEV2ZW50TGlzdGVuZXIoZXZlbnQuVHlwZSwgZXZlbnQuUGFuem9vbUZ1bmN0aW9uKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChldmVudC5IVE1MRWxlbWVudCkge1xuICAgICAgICAgICAgaWYgKGV2ZW50LlR5cGUgPT09IFwid2hlZWxcIilcbiAgICAgICAgICAgICAgICBldmVudC5IVE1MRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKGV2ZW50LlR5cGUsIGV2ZW50LlBhbnpvb21GdW5jdGlvbik7XG4gICAgICAgIH1cbiAgICB9KVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdW5iaW5kUGFuem9vbUV2ZW50cyhpblNlbGVjdG9yOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBjb250YWluZXI6IEhUTUxFbGVtZW50ID0galF1ZXJ5KGluU2VsZWN0b3IpLmdldCgwKTtcbiAgICBjb250YWluZXIucGFyZW50RWxlbWVudD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2hlZWwnLCBjb25maWcuc3RhdGUucGFuem9vbSEuem9vbVdpdGhXaGVlbCk7XG59IiwiaW1wb3J0IHsgY29uZmlnIH0gZnJvbSBcIi4vY29uZmlnXCI7XG5pbXBvcnQgYXhpb3MgZnJvbSAnYXhpb3MnO1xuaW1wb3J0ICogYXMgQ29tbXVuaWNhdGlvbiBmcm9tIFwiLi9jb21tdW5pY2F0aW9uXCI7XG5pbXBvcnQgKiBhcyBJIGZyb20gXCIuLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0IFV0aWxzIGZyb20gJy4vdXRpbHMnXG5cbmV4cG9ydCBmdW5jdGlvbiBuZWVkQ2hlY2tvdXRSZXNwb25zZShpbkU6IGFueSwgaW5JbnB1dHNXaXRoVmFsdWU6IEkuSW5wdXRzV2l0aFZhbHVlKSB7XG4gICAgY29uc3QgZGF0YTogSS5NZXNzYWdlID0gSlNPTi5wYXJzZShpbkUuZGF0YSk7XG4gICAgY29uc3QgaW5Vcmw6IHN0cmluZyA9IGRhdGEubWVzc2FnZS51cmw7XG5cbiAgICBheGlvcy5nZXQoaW5VcmwsIHtcbiAgICAgICAgbWF4UmVkaXJlY3RzOiAwXG4gICAgfSlcbiAgICAgICAgLnRoZW4oKGluRSkgPT4ge1xuICAgICAgICAgICAgdHlwZSBvcmRlcmtleSA9IHN0cmluZyB8IG51bWJlciB8IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuICAgICAgICAgICAgbGV0IGlzVmFsaWRTZWF0U2VsZWN0aW9uOiBib29sZWFuID0gZmFsc2U7XG4gICAgICAgICAgICBjb25zdCBjb250ZW50OiBzdHJpbmcgPSBpbkUuZGF0YTtcbiAgICAgICAgICAgIGNvbnN0IHBhcnNlZEhUTUw6IE5vZGVbXSA9IGpRdWVyeS5wYXJzZUhUTUwoY29udGVudCk7XG4gICAgICAgICAgICBjb25zdCBvcmRlcmtleTogb3JkZXJrZXkgPSBqUXVlcnkocGFyc2VkSFRNTCkuZmluZChcIiNvcmRlcmtleVwiKS52YWwoKTtcblxuICAgICAgICAgICAgVXRpbHMuY29uc29sZUxvZyhgb3JkZXJrZXk6ICR7b3JkZXJrZXl9YCk7XG5cbiAgICAgICAgICAgIGlmIChvcmRlcmtleSkge1xuICAgICAgICAgICAgICAgIGlzVmFsaWRTZWF0U2VsZWN0aW9uID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBjb25zdCBjYW5jZWxVcmwgPSBgJHtpbklucHV0c1dpdGhWYWx1ZVtcInRpY2tldFB1cmNoYXNlVXJsXCJdfT91c2VyX2NvbnRleHQ9JHtpbklucHV0c1dpdGhWYWx1ZVtcInVzZXJfY29udGV4dFwiXX0mcGlkPSR7aW5JbnB1dHNXaXRoVmFsdWVbXCJwaWRcIl19Jm9yZGVya2V5PSR7b3JkZXJrZXl9JnRyeHN0YXRlPTkyYDtcbiAgICAgICAgICAgICAgICBDb21tdW5pY2F0aW9uLmNhbmNlbENoZWNrb3V0KGNhbmNlbFVybCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2U6IEkuTWVzc2FnZSA9IHtcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiB7XG4gICAgICAgICAgICAgICAgICAgIFwiaXNWYWxpZFNlYXRTZWxlY3Rpb25cIjogaXNWYWxpZFNlYXRTZWxlY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgIFwicGFyc2VkSFRNTFwiOiBwYXJzZWRIVE1MLFxuICAgICAgICAgICAgICAgICAgICBcInVybFwiOiBpblVybCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGZyb206IFwicGFyZW50XCIsXG4gICAgICAgICAgICAgICAgZXZlbnQ6IFwicGFyZW50X3NlbmRDaGVja291dFJlc3BvbnNlXCIsXG4gICAgICAgICAgICAgICAgZGF0ZTogRGF0ZS5ub3coKVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIENvbW11bmljYXRpb24uc2VuZE1lc3NhZ2UobWVzc2FnZSwgXCJpZnJhbWVTZWF0bWFwXCIpO1xuICAgICAgICB9KVxuICAgICAgICAuY2F0Y2goZnVuY3Rpb24gKGVycm9yKSB7XG4gICAgICAgICAgICBVdGlscy5jb25zb2xlTG9nKFwiZXJyb3IgaW4gY2hpbGRfbmVlZENoZWNrb3V0UmVzcG9uc2VcIik7XG4gICAgICAgICAgICBVdGlscy5jb25zb2xlTG9nKGVycm9yKTtcbiAgICAgICAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0TmVlZElucHV0c1dpdGhWYWx1ZShpbklucHV0c1dpdGhWYWx1ZTogSS5JbnB1dHNXaXRoVmFsdWUpIHtcbiAgICBjb25zdCBtZXNzYWdlOiBJLk1lc3NhZ2UgPSB7XG4gICAgICAgIG1lc3NhZ2U6IGluSW5wdXRzV2l0aFZhbHVlLFxuICAgICAgICBmcm9tOiBcInBhcmVudFwiLFxuICAgICAgICBldmVudDogXCJwYXJlbnRfaW5pdF9zZW5kSW5wdXRzV2l0aFZhbHVlXCIsXG4gICAgICAgIGRhdGU6IERhdGUubm93KClcbiAgICB9O1xuICAgIENvbW11bmljYXRpb24uc2VuZE1lc3NhZ2UobWVzc2FnZSwgXCJpZnJhbWVTZWF0bWFwXCIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5pdE5lZWRWZW51ZVhNTChpbklucHV0c1dpdGhWYWx1ZTogSS5JbnB1dHNXaXRoVmFsdWUpIHtcbiAgICBDb21tdW5pY2F0aW9uLnNlbmRYTUwoaW5JbnB1dHNXaXRoVmFsdWVbXCJwb3N0dXJsXCJdLCBcImlmcmFtZVNlYXRtYXBcIiwgXCJwYXJlbnRfaW5pdF9zZW5kVmVudWVYTUxcIiwgXCJwYXJlbnRcIik7XG4gICAgY29uZmlnLmNoaWxkSGFzVmVudWVYTUwgPSB0cnVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbmVlZFNlYXRtYXBYTUwoaW5FOiBhbnksIGluSW5wdXRzV2l0aFZhbHVlOiBJLklucHV0c1dpdGhWYWx1ZSkge1xuICAgIGNvbnN0IGRhdGE6IEkuTWVzc2FnZSA9IEpTT04ucGFyc2UoaW5FLmRhdGEpO1xuICAgIGNvbnN0IHNlYXRtYXBVcmw6IHN0cmluZyA9IGAke2luSW5wdXRzV2l0aFZhbHVlW1wicG9zdHVybFJhd0RlY29kZWRcIl19JmluY2xzZWF0bWFwPVkmc2VhdG1hcD0ke2RhdGEubWVzc2FnZX1gO1xuICAgIENvbW11bmljYXRpb24uc2VuZFhNTChzZWF0bWFwVXJsLCBcImlmcmFtZVNlYXRtYXBcIiwgXCJwYXJlbnRfc2VuZFNlYXRtYXBYTUxcIiwgXCJwYXJlbnRcIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGlja0NoZWNrb3V0KGluRTogYW55KSB7XG4gICAgY29uc3QgZGF0YTogSS5NZXNzYWdlID0gSlNPTi5wYXJzZShpbkUuZGF0YSk7XG4gICAgY29uc3QgaW5Vcmw6IHN0cmluZyA9IGRhdGEubWVzc2FnZS51cmw7XG4gICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBpblVybDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFJlc291cmNlcygpOiB2b2lkIHtcbiAgICBjb25zdCBicmFuY2g6IEkuVHlwZUNvbmZpZ0JyYW5jaCA9IGNvbmZpZy5icmFuY2g7XG4gICAgY29uc3QgcmVzb3VyY2VzID0gY29uZmlnLnJlc291cmNlc1ticmFuY2hdO1xuXG4gICAgVXRpbHMuaW5qZWN0KHJlc291cmNlcy5DU1NQYXJlbnQsIFwiY3NzXCIsIFwiYm9keVwiKTtcbn0iLCJpbXBvcnQgKiBhcyBJIGZyb20gXCIuLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSBcIi4vY29uZmlnXCI7XG52YXIgalF1ZXJ5ID0gcmVxdWlyZShcImpxdWVyeVwiKTtcbmltcG9ydCBVdGlscyBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFZlbnVlTG9jYXRpb24oKTogc3RyaW5nIHtcbiAgICBsZXQgc3BhbkFycjogc3RyaW5nW10gPSBbXTtcbiAgICBqUXVlcnkoXCIudmVudWUgc3BhblwiKS5lYWNoKGZ1bmN0aW9uICh0aGlzOiBhbnkpIHtcbiAgICAgICAgc3BhbkFyci5wdXNoKGpRdWVyeSh0aGlzKS50ZXh0KCkpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHNwYW5BcnIuam9pbihcIiwgXCIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SW5wdXRzKGluQ29udGVudDogc3RyaW5nKTogSS5JbnB1dHMgIHtcbiAgICBjb25zdCBwYXJzZWRIVE1MOiBOb2RlW10gPSBqUXVlcnkucGFyc2VIVE1MKGluQ29udGVudCk7XG4gICAgbGV0IGlucHV0czogSS5JbnB1dHMgPSB7fTtcblxuICAgIGpRdWVyeShwYXJzZWRIVE1MKS5maW5kKCdpbnB1dCcpLmVhY2goZnVuY3Rpb24gKHRoaXM6IGFueSkge1xuICAgICAgICBjb25zdCBuYW1lOiBzdHJpbmcgPSB0aGlzLm5hbWU7XG4gICAgICAgIGNvbnN0IHZhbHVlOiBzdHJpbmcgPSB0aGlzLnZhbHVlO1xuXG4gICAgICAgIGlmICh2YWx1ZSAhPT0gJycpXG4gICAgICAgICAgICBpbnB1dHNbbmFtZV0gPSB2YWx1ZTtcbiAgICB9KTtcblxuICAgIHJldHVybiBpbnB1dHM7XG59XG5cbi8vIHRvZG86IGNoZWNrIHdpdGggZGlmZmVyZW50IHZlbnVlc1xuZXhwb3J0IGZ1bmN0aW9uIGdldEltcG9ydGFudE5vdGUoKTogSS5JbXBvcnRhbnROb3RlIHwgdW5kZWZpbmVkICB7XG4gICAgaWYgKGpRdWVyeShcIi5pbXBvcnRhbnRfbm90ZVwiKS5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgaW1wb3J0YW50Tm90ZTogc3RyaW5nIHwgbnVsbCA9IGpRdWVyeShcIi5pbXBvcnRhbnRfbm90ZVwiKVswXS50ZXh0Q29udGVudDtcblxuICAgICAgICBpZiAoaW1wb3J0YW50Tm90ZT8udHJpbSgpLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgaW1wb3J0YW50Tm90ZUVuY29kZWQ6IHN0cmluZyA9IGVuY29kZVVSSUNvbXBvbmVudChpbXBvcnRhbnROb3RlKTtcbiAgICAgICAgICAgIHJldHVybiA8SS5JbXBvcnRhbnROb3RlPiB7XG4gICAgICAgICAgICAgICAgXCJpbXBvcnRhbnROb3RlXCI6IGltcG9ydGFudE5vdGUsXG4gICAgICAgICAgICAgICAgXCJpbXBvcnRhbnROb3RlRW5jb2RlZFwiOiBpbXBvcnRhbnROb3RlRW5jb2RlZFxuICAgICAgICAgICAgfSAgICAgICAgXG4gICAgICAgIH1cbiAgICB9ICAgXG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWRkaXRpb25hbElucHV0cyhpbkNvbnRlbnQ6IHN0cmluZyk6IEkuSW5wdXRzIHtcbiAgICBjb25zdCBldmVudCA9IGluQ29udGVudC5tYXRjaCgvZXZlbnQ6XCIoLis/KVwiLykhWzFdO1xuICAgIGNvbnN0IGhvbGRjb2RlID0gaW5Db250ZW50Lm1hdGNoKC9ob2xkY29kZTpcIiguKz8pXCIvKSFbMV07XG4gICAgY29uc3QgcG9zdHVybFJhdyA9IGluQ29udGVudC5tYXRjaCgvcG9zdHVybDpcIiguKz8pXCIvKSFbMV07XG4gICAgY29uc3QgcG9zdHVybFJhd0RlY29kZWQgPSBkZWNvZGVVUklDb21wb25lbnQocG9zdHVybFJhdyk7XG4gICAgY29uc3QgcG9zdHVybCA9IGRlY29kZVVSSUNvbXBvbmVudChgJHtwb3N0dXJsUmF3fSZldmVudD0ke2V2ZW50fSZob2xkY29kZT0ke2hvbGRjb2RlfSZub2NhY2hlPTAmaW5jbHBrZz1ZJmluY2xvZmZlcj1ZJmluY2xjYXJ0ZGV0YWlscz1ZJmluY2xDYXJ0PVkmaW5jbHZlbnVlPVlgKTtcbiAgICBjb25zdCB2ZW51ZUxvY2F0aW9uID0gZ2V0VmVudWVMb2NhdGlvbigpO1xuICAgIGNvbnN0IHRpY2tldFB1cmNoYXNlVXJsID0gYCR7cG9zdHVybFJhd0RlY29kZWQuc3BsaXQoXCI/XCIpWzBdLnNwbGl0KCcvJykuc2xpY2UoMCwtMSkuam9pbignLycpfS9UaWNrZXRQdXJjaGFzZWA7XG5cbiAgICByZXR1cm4gPEkuSW5wdXRzPiB7XG4gICAgICAgIFwiZXZlbnRcIjogZXZlbnQsXG4gICAgICAgIFwiaG9sZGNvZGVcIjogaG9sZGNvZGUsXG4gICAgICAgIFwicG9zdHVybFJhd1wiOiBwb3N0dXJsUmF3LFxuICAgICAgICBcInBvc3R1cmxSYXdEZWNvZGVkXCI6IHBvc3R1cmxSYXdEZWNvZGVkLFxuICAgICAgICBcInBvc3R1cmxcIjogcG9zdHVybCxcbiAgICAgICAgXCJ2ZW51ZUxvY2F0aW9uXCI6IHZlbnVlTG9jYXRpb24sXG4gICAgICAgIFwidGlja2V0UHVyY2hhc2VVcmxcIjogdGlja2V0UHVyY2hhc2VVcmxcbiAgICB9ICAgIFxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VmVudWVJbWFnZSgpOiBJLlZlbnVlSW1hZ2UgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGltZzogSFRNTEltYWdlRWxlbWVudCA9IGpRdWVyeShcIiNzdGF0aWNfdmVudWVfbWFwIGltZ1wiKS5nZXQoMCk7XG5cbiAgICBpZiAoaW1nKSB7XG4gICAgICAgIHJldHVybiA8SS5WZW51ZUltYWdlPiB7XG4gICAgICAgICAgICB2ZW51ZUltYWdlU3JjOiBpbWcuc3JjLFxuICAgICAgICAgICAgdmVudWVJbWFnZUhlaWdodDogaW1nLmhlaWdodCxcbiAgICAgICAgICAgIHZlbnVlSW1hZ2VXaWR0aDogaW1nLndpZHRoXG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNNQVAoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIWpRdWVyeShcIiNzZWF0aW5nX21hcF91cmxcIikubGVuZ3RoKVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgY29uc3Qgc3RyOiBzdHJpbmcgPSBqUXVlcnkoXCIjc2VhdGluZ19tYXBfdXJsIGFcIikuYXR0cihcIm9uY2xpY2tcIik7XG4gICAgY29uc3QgcmUgPSAvb3Blbk5ld1dpbmRvd1xcKFxcJyhcXGQrKVxcJy87XG4gICAgY29uc3QgZm91bmQ6IFJlZ0V4cE1hdGNoQXJyYXkgfCBudWxsID0gc3RyLm1hdGNoKHJlKTtcbiBcbiAgICByZXR1cm4gZm91bmQgPyBmb3VuZFsxXSA6IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEV2ZW50SW5mbygpOiBJLkV2ZW50SW5mbyB7XG4gICAgY29uc3QgdmVudWVYTUw6IEkuVmVudWVYTUwgPSBjb25maWcuc3RhdGUuaW5WZW51ZVhNTCE7XG4gICAgY29uc3Qgc2VjdGlvbkFycjogSS5TZWN0aW9uMltdID0gdmVudWVYTUwubWFzdGVyX2NvbmZpZ1swXS5zZWN0aW9uX2ludmVudG9yeVswXS5zZWN0aW9uO1xuICAgIGNvbnN0IGV2ZW50T2JqOiBJLkV2ZW50ID0gdmVudWVYTUwuZXZlbnRbMF07XG4gICAgY29uc3QgZXZlbnQ6IEkuRXZlbnQgPSB2ZW51ZVhNTC5ldmVudFswXTtcbiAgICBjb25zdCB2ZW51ZV9jb25maWc6IEkuVmVudWVDb25maWcgPSB2ZW51ZVhNTC52ZW51ZV9jb25maWdbMF07XG4gICAgY29uc3QgZGF0ZU9iajogRGF0ZSA9IG5ldyBEYXRlKHBhcnNlSW50KGV2ZW50LnllYXJbMF0pLCBwYXJzZUludChldmVudC5tb250aFswXSkgLSAxLCBwYXJzZUludChldmVudC5kYXlbMF0pLCBwYXJzZUludChldmVudC5ob3VyWzBdKSwgcGFyc2VJbnQoZXZlbnQubWludXRlWzBdKSk7XG4gICAgY29uc3Qgc3RhcnQ6IHN0cmluZ1tdID0gW2RhdGVPYmoudG9Mb2NhbGVTdHJpbmcoW1wiZGUtREVcIl0sIHsgd2Vla2RheTogXCJsb25nXCIsIGRheTogXCIyLWRpZ2l0XCIsIG1vbnRoOiBcIjItZGlnaXRcIiwgeWVhcjogXCJudW1lcmljXCIsIGhvdXI6IFwiMi1kaWdpdFwiLCBtaW51dGU6IFwiMi1kaWdpdFwiLCB0aW1lWm9uZU5hbWU6IFwic2hvcnRcIiB9KV07XG4gICAgY29uc3Qgd2Vla2RheTogc3RyaW5nW10gPSBbVXRpbHMuZ2V0RGF5TmFtZShkYXRlT2JqLCBcImRlLURFXCIpXTtcbiAgICBjb25zdCBzZWF0c19hdmFpbGFibGUgPSBzZWN0aW9uQXJyLm1hcChpdGVtID0+IHBhcnNlSW50KGl0ZW0uYXZhaWxhYmxlWzBdKSkucmVkdWNlKChwcmV2LCBjdXJyKSA9PiBwcmV2ICsgY3Vycik7XG5cbiAgICBjb25zdCBldmVudEV4dGVuZDogSS5FdmVudEV4dGVuZCA9IHtcbiAgICAgICAgdmVudWVfY29uZmlnX2NhcGFjaXR5OiB2ZW51ZV9jb25maWcuY2FwYWNpdHksXG4gICAgICAgIHZlbnVlX2NvbmZpZ19jb2RlOiB2ZW51ZV9jb25maWcuY29kZSxcbiAgICAgICAgdmVudWVfY29uZmlnX2Rlc2M6IHZlbnVlX2NvbmZpZy5kZXNjLFxuICAgICAgICB2ZW51ZV9jb25maWdfaWQ6IHZlbnVlX2NvbmZpZy5pZCxcbiAgICAgICAgdmVudWVfY29uZmlnX25hdl9pbWFnZTogdmVudWVfY29uZmlnLm5hdl9pbWFnZSxcbiAgICAgICAgdmVudWVfY29uZmlnX25hdl9pbWFnZV9oZWlnaHQ6IHZlbnVlX2NvbmZpZy5uYXZfaW1hZ2VfaGVpZ2h0LFxuICAgICAgICB2ZW51ZV9jb25maWdfbmF2X2ltYWdlX3dpZHRoOiB2ZW51ZV9jb25maWcubmF2X2ltYWdlX3dpZHRoLFxuICAgICAgICBzdGFydDogc3RhcnQsXG4gICAgICAgIHdlZWtkYXk6IHdlZWtkYXksXG4gICAgICAgIHNlYXRzX2F2YWlsYWJsZTogc2VhdHNfYXZhaWxhYmxlLFxuICAgIH07XG5cbiAgICByZXR1cm4gPEkuRXZlbnRJbmZvPnsgLi4uZXZlbnRPYmosIC4uLmV2ZW50RXh0ZW5kIH07XG59IiwiaW1wb3J0IHsgY29uZmlnIH0gZnJvbSBcIi4vY29uZmlnXCI7XG5pbXBvcnQgKiBhcyBJIGZyb20gXCIuLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0ICogYXMgWE1MSGVscGVyIGZyb20gXCIuL3htbGhlbHBlclwiO1xuaW1wb3J0ICogYXMgakJveEhlbHBlciBmcm9tIFwiLi9qQm94SGVscGVyXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRTZWF0VG9TdGF0ZShpblNlbGVjdGVkU2VhdDogSS5KU0NTZWxlY3RlZFNlYXQpOiB2b2lkIHtcbiAgICBhZGRTZWF0T2JqVG9TdGF0ZShpblNlbGVjdGVkU2VhdCk7XG4gICAgY29uc3QgcHJpY2VzY2FsZUlEOiBzdHJpbmcgPSBjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c09ialtpblNlbGVjdGVkU2VhdC5pZF0uZGF0YS5zZWF0c09iai5pZFswXTtcbiAgICBjb25zdCBwcmljZXNjYWxlT2JqOiBJLlByaWNlc2NhbGU1IHwgdW5kZWZpbmVkID0gWE1MSGVscGVyLmdldFZlbnVlUHJpY2VTdHJ1Y3R1cmVQcm9wZXJ0eUJ5UHJpY2VzY2FsZUlEKHByaWNlc2NhbGVJRCk7XG5cbiAgICBpZiAocHJpY2VzY2FsZU9iaikge1xuICAgICAgICBjb25zdCBmaXJzdEJ1eWVyVHlwZUlEOiBzdHJpbmcgPSBwcmljZXNjYWxlT2JqLmJ1eWVyX3R5cGVbMF0uaWRbMF07XG4gICAgICAgIGNvbnN0IGJ1eWVyVHlwZUNvZGU6IHN0cmluZyB8IHVuZGVmaW5lZCA9IFhNTEhlbHBlci5nZXRCdXllclR5cGVDb2RlQnlCdXllclR5cGVJRChmaXJzdEJ1eWVyVHlwZUlEKTtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRTZWF0c0Fyckl0ZW06IChzdHJpbmcgfCB1bmRlZmluZWQpW10gPSBbaW5TZWxlY3RlZFNlYXQuaWQsIGZpcnN0QnV5ZXJUeXBlSUQsIGJ1eWVyVHlwZUNvZGVdO1xuICAgICAgICBhZGRTZWF0c0l0ZW1Ub1N0YXRlKHNlbGVjdGVkU2VhdHNBcnJJdGVtKTtcbiAgICB9XG4gICAgZWxzZVxuICAgICAgICBjb25zb2xlLndhcm4oYENhbm5vdCBmaW5kIGNvcnJlc3BvbmRpbmcgdmVudWVYTUwgcHJpY2VzY2FsZU9iaiBmb3IgcHJpY2VzY2FsZSB3aXRoIElEICR7cHJpY2VzY2FsZUlEfWApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlU2VhdEZyb21TdGF0ZShpblNlbGVjdGVkU2VhdDogSS5KU0NTZWxlY3RlZFNlYXQpOiB2b2lkIHtcbiAgICBkZWxldGUgY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNPYmpbaW5TZWxlY3RlZFNlYXQuaWRdO1xuXG4gICAgY29uc3QgaW5kZXg6IG51bWJlciA9IGNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzQXJyLmZpbmRJbmRleChhcnIgPT4gYXJyWzBdID09PSBpblNlbGVjdGVkU2VhdC5pZCk7XG4gICAgY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNBcnIuc3BsaWNlKGluZGV4LCAxKTtcblxuICAgIGNvbmZpZy5zdGF0ZS5jYXJ0Q2hhbmdlZCA9IHRydWU7XG5cbiAgICBpZiAoIWNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzQXJyLmxlbmd0aClcbiAgICAgICAgalF1ZXJ5KFwiI21vZGFsQ2FydC1vdmVybGF5XCIpLmhpZGUoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1heGltdW1TZWxlY3RlZFNlYXRzUmVhY2hlZChpblNlYXRPYmo6IEkuSlNDU2VsZWN0ZWRTZWF0KTogYm9vbGVhbiB7XG4gICAgY29uc3Qgc2VhdG1hcDogYW55ID0gY29uZmlnLnN0YXRlLnNlYXRtYXA7XG5cbiAgICBpZiAoY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNBcnIubGVuZ3RoID49IGNvbmZpZy5tYXhTZWxlY3RlZFNlYXRzKSB7XG4gICAgICAgIGpCb3hIZWxwZXIuc2hvd0pCb3hOb3RpY2UoYFNpZSBrw7ZubmVuIG1heGltYWwgJHtjb25maWcubWF4U2VsZWN0ZWRTZWF0c30gUGzDpHR6ZSBhdXN3w6RobGVuLmApO1xuICAgICAgICBzZWF0bWFwLnN0YXR1cyhpblNlYXRPYmouaWQsIFwiYXZhaWxhYmxlXCIpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIGFkZFNlYXRzSXRlbVRvU3RhdGUoaW5JdGVtOiAoc3RyaW5nIHwgdW5kZWZpbmVkKVtdKTogdm9pZCB7XG4gICAgaWYgKGluSXRlbS5ldmVyeSh2ID0+IHYgIT09IChcIlwiIHx8IHVuZGVmaW5lZCB8fCBudWxsKSkpIHtcbiAgICAgICAgY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNBcnIucHVzaCg8c3RyaW5nW10+aW5JdGVtKTtcbiAgICAgICAgY29uZmlnLnN0YXRlLmNhcnRDaGFuZ2VkID0gdHJ1ZTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGFkZFNlYXRPYmpUb1N0YXRlKGluU2VsZWN0ZWRTZWF0OiBJLkpTQ1NlbGVjdGVkU2VhdCk6IHZvaWQge1xuICAgIGNvbnN0IHNlYXRJRDogc3RyaW5nID0gaW5TZWxlY3RlZFNlYXQuaWQ7XG4gICAgY29uc3Qgc2VhdE9iajogSS5TdGF0ZUpTQ1NlbGVjdGVkU2VhdHMgPSB7XG4gICAgICAgIFtzZWF0SURdOiBpblNlbGVjdGVkU2VhdFxuICAgIH1cblxuICAgIGNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzT2JqID0geyAuLi5jb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c09iaiwgLi4uc2VhdE9iaiB9XG59IiwiaW1wb3J0ICogYXMgSSBmcm9tIFwiLi4vdHlwZXMvdHlwZXNcIjtcbmltcG9ydCAqIGFzIENvbW11bmljYXRpb24gZnJvbSBcIi4vY29tbXVuaWNhdGlvblwiO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSBcIi4vY29uZmlnXCI7XG5pbXBvcnQgKiBhcyBFdmVudHMgZnJvbSBcIi4vZXZlbnRzXCI7XG5pbXBvcnQgKiBhcyBQYW56b29tIGZyb20gXCIuL3Bhbnpvb21cIjtcbmltcG9ydCAqIGFzIENhcnRCdXR0b25zIGZyb20gXCIuL2NhcnRCdXR0b25zXCI7XG5pbXBvcnQgVXRpbHMgZnJvbSBcIi4vdXRpbHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHNldE9wdGlvblNlbGVjdChpblNlYXRtYXBMaXN0aW5nOiBJLlNlYXRtYXBbXSwgaW5JZDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3Qgc2VhdG1hcERyb3Bkb3duOiBIVE1MRWxlbWVudCB8IG51bGwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpbklkKTtcblxuICAgIGlmIChzZWF0bWFwRHJvcGRvd24pIHtcbiAgICAgICAgZm9yIChsZXQgc2VhdG1hcE9iaiBvZiBpblNlYXRtYXBMaXN0aW5nKSB7XG4gICAgICAgICAgICB2YXIgb3B0OiBIVE1MT3B0aW9uRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ29wdGlvbicpO1xuICAgICAgICAgICAgb3B0LnZhbHVlID0gc2VhdG1hcE9iai5pZFswXTtcbiAgICAgICAgICAgIG9wdC5pbm5lckhUTUwgPSBzZWF0bWFwT2JqLmRlc2NbMF07XG4gICAgICAgICAgICBzZWF0bWFwRHJvcGRvd24uYXBwZW5kQ2hpbGQob3B0KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldEV2ZW50SW5mbyhpbkV2ZW50SW5mbzogSS5FdmVudEluZm8pOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dHNXaXRoVmFsdWUgPSBjb25maWcuc3RhdGUuaW5wdXRzV2l0aFZhbHVlITtcblxuICAgIGpRdWVyeShcIiNldmVudEluZm9EZXNjIHNwYW4uZmwtaGVhZGluZy10ZXh0XCIpWzBdLmNoaWxkTm9kZXNbMF0udGV4dENvbnRlbnQgPSBpbkV2ZW50SW5mby5kZXNjWzBdO1xuICAgIGpRdWVyeShcIiNldmVudEluZm9EYXRlIHBcIilbMF0uY2hpbGROb2Rlc1swXS50ZXh0Q29udGVudCA9IGluRXZlbnRJbmZvLnN0YXJ0WzBdO1xuICAgIGpRdWVyeShcIiNldmVudEluZm9Mb2NhdGlvbiBwXCIpWzBdLmNoaWxkTm9kZXNbMF0udGV4dENvbnRlbnQgPSBpbnB1dHNXaXRoVmFsdWUudmVudWVMb2NhdGlvbjtcbiAgICBqUXVlcnkoXCIjZXZlbnRJbmZvQ2FwYWNpdHkgcFwiKVswXS5jaGlsZE5vZGVzWzBdLnRleHRDb250ZW50ID0gYFZlcmbDvGdiYXJlIFBsw6R0emU6ICR7aW5FdmVudEluZm8uc2VhdHNfYXZhaWxhYmxlfSB2b24gJHtpbkV2ZW50SW5mby52ZW51ZV9jb25maWdfY2FwYWNpdHlbMF19YDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZURpYWxvZygpOiB2b2lkIHtcbiAgICBjb25zdCBpZnJhbWVIVE1MOiBzdHJpbmcgPSBcIjxpZnJhbWUgaWQ9J2lmcmFtZVNlYXRtYXAnIHNjcm9sbGluZz0nbm8nIGZyYW1lYm9yZGVyPScwJyBtYXJnaW53aWR0aD0nMCcgbWFyZ2luaGVpZ2h0PScwJyBhbGxvd2Z1bGxzY3JlZW4gd2lkdGg9JzEwMCUnIC8+XCI7XG4gICAgY29uc3Qgc3JjOiBzdHJpbmcgPSBVdGlscy5nZXRDb25maWdWYWx1ZShcInNlYXRtYXBcIik7XG5cbiAgICBqUXVlcnkoXCIjZGlhbG9nU2VhdG1hcFwiKS5hcHBlbmQoXG4gICAgICAgIGpRdWVyeShpZnJhbWVIVE1MKVxuICAgICAgICAgICAgLmF0dHIoXCJzcmNcIiwgc3JjKSlcbiAgICAgICAgLmRpYWxvZyh7XG4gICAgICAgICAgICBtb2RhbDogdHJ1ZSxcbiAgICAgICAgICAgIGF1dG9PcGVuOiBmYWxzZSxcbiAgICAgICAgICAgIGNsb3NlT25Fc2NhcGU6IHRydWUsXG4gICAgICAgICAgICBkcmFnZ2FibGU6IGZhbHNlLFxuICAgICAgICAgICAgaGlkZTogdHJ1ZSxcbiAgICAgICAgICAgIHNob3c6IHRydWUsXG4gICAgICAgICAgICByZXNpemFibGU6IGZhbHNlLFxuICAgICAgICAgICAgdGl0bGU6IFwiXCIsXG4gICAgICAgICAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgICAgICAgICBoZWlnaHQ6IFwiYXV0b1wiLFxuICAgICAgICAgICAgY2xvc2U6ICgpID0+IGpRdWVyeShcImh0bWwsIGJvZHlcIikuY3NzKFwib3ZlcmZsb3dcIiwgXCJhdXRvXCIpLFxuICAgICAgICB9KTtcblxuICAgIEV2ZW50cy5hZGRPcGVuU2VhdG1hcCgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVzdHJveUN1cnJlbnRTZWF0bWFwKGluU2VsZWN0b3I6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChjb25maWcuc3RhdGUucGFuem9vbSlcbiAgICAgICAgUGFuem9vbS51bmJpbmRQYW56b29tRXZlbnRzKGluU2VsZWN0b3IpO1xuXG4gICAgalF1ZXJ5KFwiI2NvbnRhaW5lclNlYXRtYXBJbm5lclwiKS5yZW1vdmUoKTtcbiAgICBqUXVlcnkoXCIjaHRtbFNlYXRtYXBJbm5lciAuZmwtaHRtbFwiKS5yZW1vdmVBdHRyKFwic3R5bGVcIik7XG4gICAgalF1ZXJ5KFwiI2h0bWxTZWF0bWFwSW5uZXIgLmZsLWh0bWxcIikuYXBwZW5kKCc8ZGl2IGlkPVwiY29udGFpbmVyU2VhdG1hcElubmVyXCI+PC9kaXY+Jyk7XG4gICAgalF1ZXJ5KFwiI0pTQ0xlZ2VuZElubmVyXCIpLnJlbW92ZSgpO1xuICAgIGpRdWVyeShcIiNKU0NMZWdlbmQgLmZsLWh0bWxcIikuYXBwZW5kKCc8ZGl2IGlkPVwiSlNDTGVnZW5kSW5uZXJcIj48L2Rpdj4nKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnRyb2xMb2Z0bG9hZGVyKGluU3dpdGNoOiBzdHJpbmcpIHtcbiAgICBpZiAoaW5Td2l0Y2ggPT09IFwic2hvd1wiKVxuICAgICAgICBqUXVlcnkoXCJib2R5XCIpLnJlbW92ZUNsYXNzKFwibG9hZGVkIGxvZnRsb2FkZXItbG9hZGVkXCIpO1xuICAgIGVsc2UgaWYgKGluU3dpdGNoID09PSBcImhpZGVcIilcbiAgICAgICAgalF1ZXJ5KFwiYm9keVwiKS5hZGRDbGFzcyhcImxvYWRlZCBsb2Z0bG9hZGVyLWxvYWRlZFwiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNoYW5nZVZlbnVlSW1hZ2UoKTogdm9pZCB7XG4gICAgY29uc3QgaW5wdXRzV2l0aFZhbHVlOiBJLklucHV0c1dpdGhWYWx1ZSA9IGNvbmZpZy5zdGF0ZS5pbnB1dHNXaXRoVmFsdWUhO1xuXG4gICAgaWYgKGlucHV0c1dpdGhWYWx1ZS52ZW51ZUltYWdlU3JjICE9PSB1bmRlZmluZWQpXG4gICAgICAgIGpRdWVyeShcIiN2ZW51ZUltYWdlIGltZ1wiKS5hdHRyKFwic3JjXCIsIGlucHV0c1dpdGhWYWx1ZS52ZW51ZUltYWdlU3JjKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZhZGVJbkNhcnRNb2RhbCgpOiB2b2lkIHtcbiAgICBqUXVlcnkoXCIjbW9kYWxDYXJ0LW92ZXJsYXlcIikuZmFkZUluKDMwMCk7XG4gICAgQ29tbXVuaWNhdGlvbi5zZW5kRXZlbnRUb1BhcmVudChcImNoaWxkX2hpZGVfZGlhbG9nX3RpdGxlYmFyXCIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVQcmljZXNjYWxlQ1NTKCk6IHN0cmluZyB7XG4gICAgY29uc3QgdmVudWVYTUw6IEkuVmVudWVYTUwgPSBjb25maWcuc3RhdGUuaW5WZW51ZVhNTCE7XG4gICAgY29uc3QgdmVudWVQcmljZXNjYWxlc0FycjogSS5QcmljZXNjYWxlMltdID0gdmVudWVYTUwudmVudWVbMF0ucHJpY2VzY2FsZXNbMF0ucHJpY2VzY2FsZTtcblxuICAgIHJldHVybiB2ZW51ZVByaWNlc2NhbGVzQXJyLm1hcChhcnIgPT4ge1xuICAgICAgICBjb25zdCBJRDogc3RyaW5nID0gYXJyLmlkWzBdO1xuICAgICAgICBsZXQgY29sb3I6IHN0cmluZyA9IGAjJHthcnIuY29sb3JbMF19ICFpbXBvcnRhbnRgOyAgLy8gVXBkYXRlOiBDb2xvcnMgYXJlIGFsd2F5cyBkZWZpbmVkOiBmYWxsYmFjayBjb2xvcnMgZXhpc3QgaW4gc3lzdGVtIHNvIGV2ZXJ5IFhNTCBwcm92aWRlcyB0aGVtXG4gICAgICAgIHJldHVybiBgLl8ke0lEfSB7IGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3J9OyB9YDtcbiAgICB9KS5qb2luKFwiXFxyXFxuXCIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWRqdXN0VUlUb0xvYWRpbmcoKTogdm9pZCB7XG4gICAgQ2FydEJ1dHRvbnMuc2hvd0hpZGVCdG5DYXJ0TG9hZGluZyhcInNob3dcIik7XG4gICAgalF1ZXJ5KFwiI21vZGFsQ2FydCBpXCIpLmhpZGUoKTtcbiAgICBqUXVlcnkoXCIjbW9kYWxDYXJ0IC51YWJiLWJ1dHRvbi10ZXh0XCIpLmFkZENsYXNzKFwiZG90LXB1bHNlXCIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXBwZW5kVmVyc2lvbigpOiB2b2lkIHtcbiAgICBqUXVlcnkoXCIjYm90dG9tSFRNTFZlcnNpb25cIilbMF0uaW5uZXJUZXh0ID0gY29uZmlnLnZlcnNpb247XG4gICAgalF1ZXJ5KFwiI2JvdHRvbUhUTUxCcmFuY2hcIilbMF0uaW5uZXJUZXh0ID0gYCgke2NvbmZpZy5icmFuY2h9KWA7XG59IiwiaW1wb3J0ICogYXMgSSBmcm9tIFwiLi4vdHlwZXMvdHlwZXNcIjtcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gXCIuL2NvbmZpZ1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBVdGlscyB7XG5cbiAgICBzdGF0aWMgd2FpdEZvckVsZW1lbnQoaW5TZWxlY3Rvcjogc3RyaW5nIHwgQ2FsbGFibGVGdW5jdGlvbiwgaW5DYWxsYmFjazogRnVuY3Rpb24sIGluU3dpdGNoOiBJLlR5cGVXYWl0Rm9yRWxlbWVudFN3aXRjaCA9IFwic2VsZWN0b3JcIiwgaW5DaGVja0ludGVydmFsSW5NczogbnVtYmVyID0gMTAwMCwgaW5UaW1lb3V0SW5NczogbnVtYmVyID0gMTAwMDApOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc3RhcnRUaW1lSW5NczogbnVtYmVyID0gRGF0ZS5ub3coKTtcblxuICAgICAgICAoZnVuY3Rpb24gbG9vcFNlYXJjaCgpOiB2b2lkIHtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQ6IGJvb2xlYW4gfCBIVE1MRWxlbWVudCA9IGluU3dpdGNoID09PSBcInNlbGVjdG9yXCIgPyBqUXVlcnkoPHN0cmluZz5pblNlbGVjdG9yKS5nZXQoMCkgOiBVdGlscy5nZXRTZWF0bWFwRWxlbWVudCgpO1xuXG4gICAgICAgICAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICAgICAgICAgIFV0aWxzLmNvbnNvbGVMb2coXCJyZWFkeVwiKTtcbiAgICAgICAgICAgICAgICBpbkNhbGxiYWNrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBVdGlscy5jb25zb2xlTG9nKGBSZXBlYXRpbmcgZm9yICR7aW5Td2l0Y2h9YCk7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpblRpbWVvdXRJbk1zICYmIERhdGUubm93KCkgLSBzdGFydFRpbWVJbk1zID4gaW5UaW1lb3V0SW5NcylcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcblxuICAgICAgICAgICAgICAgICAgICBsb29wU2VhcmNoKCk7XG4gICAgICAgICAgICAgICAgfSwgaW5DaGVja0ludGVydmFsSW5Ncyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pKCk7XG4gICAgfVxuXG4gICAgc3RhdGljIGdldFNlYXRtYXBFbGVtZW50KCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBzZWF0Q2hhcnRzOiBDYWxsYWJsZUZ1bmN0aW9uID0gKDxhbnk+d2luZG93KS5qUXVlcnkoXCIjY29udGFpbmVyU2VhdG1hcFwiKS5zZWF0Q2hhcnRzO1xuICAgICAgICByZXR1cm4gVXRpbHMuaXNGdW5jdGlvbihzZWF0Q2hhcnRzKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgd2FpdEZvclNlYXRtYXAoaW5DYWxsYmFjazogRnVuY3Rpb24pOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2VhdENoYXJ0czogQ2FsbGFibGVGdW5jdGlvbiA9ICg8YW55PndpbmRvdykualF1ZXJ5KFwiI2NvbnRhaW5lclNlYXRtYXBcIikuc2VhdENoYXJ0cztcbiAgICAgICAgdGhpcy53YWl0Rm9yRWxlbWVudChzZWF0Q2hhcnRzLCBpbkNhbGxiYWNrLCBcInNlYXRtYXBcIik7XG4gICAgfVxuXG4gICAgc3RhdGljIHF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3I6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoZG9jdW1lbnQucXVlcnlTZWxlY3RvcihzZWxlY3RvcikgIT0gbnVsbClcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgc3RhdGljIGlzRnVuY3Rpb24oaW5TZWxlY3RvcjogQ2FsbGFibGVGdW5jdGlvbik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHlwZW9mIGluU2VsZWN0b3IgPT09IFwiZnVuY3Rpb25cIiA/IHRydWUgOiBmYWxzZTtcbiAgICB9XG5cbiAgICBzdGF0aWMgaW5qZWN0KGluQ29udGVudDogc3RyaW5nLCBpblR5cGU6IHN0cmluZyA9IFwianNcIiwgaW5Mb2M6IHN0cmluZyA9IFwiaGVhZFwiKTogdm9pZCB7XG4gICAgICAgIHZhciBzY3JpcHQ6IEkuVHlwZUluamVjdFNjcmlwdCB8IHVuZGVmaW5lZDtcblxuICAgICAgICBzd2l0Y2ggKGluVHlwZSkge1xuICAgICAgICAgICAgY2FzZSBcImpzXCI6XG4gICAgICAgICAgICAgICAgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgICAgICAgICAgICAgc2NyaXB0LnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JztcbiAgICAgICAgICAgICAgICBzY3JpcHQuc3JjID0gaW5Db250ZW50O1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIFwiY3NzXCI6XG4gICAgICAgICAgICAgICAgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpO1xuICAgICAgICAgICAgICAgIHNjcmlwdC50eXBlID0gJ3RleHQvY3NzJztcbiAgICAgICAgICAgICAgICAoPEhUTUxMaW5rRWxlbWVudD5zY3JpcHQpLnJlbCA9IFwic3R5bGVzaGVldFwiO1xuICAgICAgICAgICAgICAgICg8SFRNTExpbmtFbGVtZW50PnNjcmlwdCkuaHJlZiA9IGluQ29udGVudDtcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSBcImNzc0N1c3RvbVwiOlxuICAgICAgICAgICAgICAgIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG4gICAgICAgICAgICAgICAgc2NyaXB0LnR5cGUgPSAndGV4dC9jc3MnO1xuICAgICAgICAgICAgICAgIHNjcmlwdC5pbm5lckhUTUwgPSBpbkNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgXCJzY3JpcHRcIjpcbiAgICAgICAgICAgICAgICBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgICAgICAgICAgICBzY3JpcHQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnO1xuICAgICAgICAgICAgICAgIHNjcmlwdC5pbm5lckhUTUwgPSBpbkNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgc2NyaXB0ID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNjcmlwdClcbiAgICAgICAgICAgIFV0aWxzLmFwcGVuZFNjcmlwdChzY3JpcHQsIGluTG9jKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgYXBwZW5kU2NyaXB0KGluU2NyaXB0OiBJLlR5cGVJbmplY3RTY3JpcHQsIGluTG9jOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKGluTG9jID09PSBcImJvZHlcIilcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW5TY3JpcHQpO1xuICAgICAgICBlbHNlIGlmIChpbkxvYyA9PT0gXCJoZWFkXCIpXG4gICAgICAgICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGluU2NyaXB0KTtcbiAgICB9XG5cbiAgICBzdGF0aWMgZ2V0RGF5TmFtZShpbkRhdGU6IERhdGUsIGluTG9jYWxlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gaW5EYXRlLnRvTG9jYWxlRGF0ZVN0cmluZyhpbkxvY2FsZSwgeyB3ZWVrZGF5OiAnbG9uZycgfSk7XG4gICAgfVxuXG4gICAgc3RhdGljIGNvbnNvbGVMb2coaW5NZXNzYWdlOiBhbnkpIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52W1wiTk9ERV9FTlZcIl0gPT09IFwiZGV2ZWxvcG1lbnRcIilcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGluTWVzc2FnZSk7XG4gICAgfVxuXG4gICAgc3RhdGljIGdldENvbmZpZ1ZhbHVlKGluUHJvcGVydHk6IEkuVHlwZUNvbmZpZ1Jlc291cmNlc1Byb3BlcnR5KTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgYnJhbmNoOiBJLlR5cGVDb25maWdCcmFuY2ggPSBjb25maWcuYnJhbmNoO1xuICAgICAgICBjb25zdCByZXNvdXJjZXMgPSBjb25maWcucmVzb3VyY2VzW2JyYW5jaF07XG4gICAgICAgIHJldHVybiByZXNvdXJjZXNbaW5Qcm9wZXJ0eV07XG4gICAgfVxufSIsIlxuaW1wb3J0ICogYXMgSSBmcm9tIFwiLi4vdHlwZXMvdHlwZXNcIjtcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gXCIuL2NvbmZpZ1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvY2Vzc1NNQVAoKTogdm9pZCB7XG4gICAgY29uc3QgaW5wdXRzV2l0aFZhbHVlID0gY29uZmlnLnN0YXRlLmlucHV0c1dpdGhWYWx1ZSE7XG5cbiAgICBpZiAoIWlucHV0c1dpdGhWYWx1ZS5zbWFwKVxuICAgICAgICByZXR1cm47XG5cbiAgICBjb25zdCBzbWFwQXJyOiBudW1iZXJbXSA9IGlucHV0c1dpdGhWYWx1ZS5zbWFwLnNwbGl0KFwiXCIpLm1hcChOdW1iZXIpO1xuXG4gICAgaWYgKCFzbWFwQXJyWzBdKVxuICAgICAgICBqUXVlcnkoXCIjZXZlbnRJbmZvQ2FwYWNpdHlcIikuaGlkZSgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2VjdGlvbkRlc2NCeVNlY3Rpb25JRChpblNlY3Rpb25JRDogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCB2ZW51ZVhNTDogSS5WZW51ZVhNTCA9IGNvbmZpZy5zdGF0ZS5pblZlbnVlWE1MITtcbiAgICBjb25zdCBzZWN0aW9uQXJyOiBJLlNlY3Rpb25bXSA9IHZlbnVlWE1MLm1hc3Rlcl9jb25maWdbMF0uc2VjdGlvbl9jb25maWdbMF0uc2VjdGlvbjtcblxuICAgIHJldHVybiBzZWN0aW9uQXJyLmZpbmQoYXJyID0+IGluU2VjdGlvbklEID09PSBhcnIuaWRbMF0pPy5kZXNjWzBdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VmVudWVQcmljZXNjYWxlUHJvcGVydHlCeVByaWNlc2NhbGVJRChpblByb3BlcnR5OiBJLlByaWNlc2NhbGUyUHJvcGVydGllcywgaW5QcmljZXNjYWxlSUQ6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgdmVudWVYTUw6IEkuVmVudWVYTUwgPSBjb25maWcuc3RhdGUuaW5WZW51ZVhNTCE7XG4gICAgY29uc3QgdmVudWVQcmljZXNjYWxlQXJyOiBJLlByaWNlc2NhbGUyW10gPSB2ZW51ZVhNTC52ZW51ZVswXS5wcmljZXNjYWxlc1swXS5wcmljZXNjYWxlO1xuXG4gICAgcmV0dXJuIHZlbnVlUHJpY2VzY2FsZUFyci5maW5kKG9iaiA9PiBvYmouaWRbMF0gPT09IGluUHJpY2VzY2FsZUlEID8gb2JqIDogdW5kZWZpbmVkKT8uW2luUHJvcGVydHldWzBdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QnV5ZXJUeXBlQ29kZUJ5QnV5ZXJUeXBlSUQoaW5CdXllclR5cGVJRDogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCB2ZW51ZVhNTDogSS5WZW51ZVhNTCA9IGNvbmZpZy5zdGF0ZS5pblZlbnVlWE1MITtcbiAgICBjb25zdCB2ZW51ZUJ1eWVyVHlwZUFycjogSS5CdXllclR5cGUyW10gPSB2ZW51ZVhNTC52ZW51ZVswXS5idXllcl90eXBlc1swXS5idXllcl90eXBlO1xuXG4gICAgcmV0dXJuIHZlbnVlQnV5ZXJUeXBlQXJyLmZpbmQoYXJyID0+IGluQnV5ZXJUeXBlSUQgPT09IGFyci5pZFswXSk/LmNvZGVbMF07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQcmljZUJ5QnV5ZXJUeXBlSUQoaW5CdXllcnR5cGVJRDogc3RyaW5nLCBpblByaWNlc2NhbGVPYmo6IEkuUHJpY2VzY2FsZTUpOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHByaWNlID0gaW5QcmljZXNjYWxlT2JqPy5idXllcl90eXBlLmZpbmQoYXJyID0+IGFyci5pZFswXSA9PT0gaW5CdXllcnR5cGVJRCk/LnByaWNlWzBdO1xuICAgIHJldHVybiBwcmljZSA/IHBhcnNlRmxvYXQocHJpY2UpIDogdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VmVudWVQcmljZVN0cnVjdHVyZVByb3BlcnR5QnlQcmljZXNjYWxlSUQoaW5JRDogc3RyaW5nKTogSS5QcmljZXNjYWxlNSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgdmVudWVYTUw6IEkuVmVudWVYTUwgPSBjb25maWcuc3RhdGUuaW5WZW51ZVhNTCE7XG4gICAgY29uc3QgdmVudWVQcmljZXNjYWxlQXJyOiBJLlByaWNlc2NhbGU1W10gPSB2ZW51ZVhNTC5wcmljZV9zdHJ1Y3R1cmVbMF0ucHJpY2VzY2FsZTtcbiAgICByZXR1cm4gdmVudWVQcmljZXNjYWxlQXJyLmZpbmQob2JqID0+IG9iai5pZFswXSA9PT0gaW5JRCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRCdXllclR5cGVzQnlQcmljZXNjYWxlSUQoaW5QcmljZXNjYWxlSUQ6IHN0cmluZyk6IEkuVHlwZUJ1eWVyVHlwZUFycltdIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBidXllclR5cGVzQXJyOiBJLkJ1eWVyVHlwZTNbXSB8IHVuZGVmaW5lZCA9IGZpbmRCdXllclR5cGVzQXJyQnlQcmljZXNjYWxlSUQoaW5QcmljZXNjYWxlSUQpO1xuICAgIHJldHVybiBidXllclR5cGVzQXJyID8gYnV5ZXJUeXBlc0Fyci5tYXAoYXJyID0+IFthcnIuaWRbMF0sIGFyci5wcmljZVswXSwgZ2V0QnV5ZXJUeXBlRGVzYyhhcnIpXSkgOiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZVNlbGVjdGVkU2VhdEluZGV4ZXMoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKGNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzQXJyLm1hcChhcnIgPT4gYXJyLmpvaW4oXCIsXCIpKSkuam9pbihcInxcIik7XG59XG5cbmZ1bmN0aW9uIGZpbmRCdXllclR5cGVzQXJyQnlQcmljZXNjYWxlSUQoaW5QcmljZXNjYWxlSUQ6IHN0cmluZyk6IEkuQnV5ZXJUeXBlM1tdIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCB2ZW51ZVhNTDogSS5WZW51ZVhNTCA9IGNvbmZpZy5zdGF0ZS5pblZlbnVlWE1MITtcbiAgICBjb25zdCB2ZW51ZVByaWNlc2NhbGVBcnI6IEkuUHJpY2VzY2FsZTVbXSA9IHZlbnVlWE1MLnByaWNlX3N0cnVjdHVyZVswXS5wcmljZXNjYWxlO1xuXG4gICAgcmV0dXJuIHZlbnVlUHJpY2VzY2FsZUFyci5maW5kKG9iaiA9PiBvYmouaWRbMF0gPT09IGluUHJpY2VzY2FsZUlEKT8uYnV5ZXJfdHlwZTtcbn1cblxuZnVuY3Rpb24gZ2V0QnV5ZXJUeXBlRGVzYyhpbkFycjogSS5CdXllclR5cGUzKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCB2ZW51ZVhNTDogSS5WZW51ZVhNTCA9IGNvbmZpZy5zdGF0ZS5pblZlbnVlWE1MITtcbiAgICBjb25zdCBidXllclR5cGVBcnI6IEkuQnV5ZXJUeXBlMltdID0gdmVudWVYTUwudmVudWVbMF0uYnV5ZXJfdHlwZXNbMF0uYnV5ZXJfdHlwZTtcblxuICAgIHJldHVybiBidXllclR5cGVBcnIuZmluZChvYmogPT4gb2JqLmlkWzBdID09PSBpbkFyci5pZFswXSA/IG9iai5kZXNjWzBdIDogdW5kZWZpbmVkKT8uZGVzY1swXTtcbn0iXX0=