Files
seatmapv2/client/dist/inject.js
2021-05-23 23:02:55 +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:"master",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,r,c){void 0===o&&(o="selector"),void 0===r&&(r=1e3),void 0===c&&(c=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(){c&&Date.now()-a>c||i()},r))}()},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 r;switch(void 0===n&&(n="js"),void 0===o&&(o="head"),n){case"js":(r=document.createElement("script")).type="text/javascript",r.src=t;break;case"css":(r=document.createElement("link")).type="text/css",r.rel="stylesheet",r.href=t;break;case"cssCustom":(r=document.createElement("style")).type="text/css",r.innerHTML=t;break;case"script":(r=document.createElement("script")).type="text/javascript",r.innerHTML=t;break;default:r=void 0}r&&e.appendScript(r,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){0},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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJub2RlX21vZHVsZXMvQHBhbnpvb20vcGFuem9vbS9kaXN0L3Bhbnpvb20uanMiLCJub2RlX21vZHVsZXMvYXhpb3MvaW5kZXguanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2FkYXB0ZXJzL3hoci5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvYXhpb3MuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2NhbmNlbC9DYW5jZWwuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2NhbmNlbC9DYW5jZWxUb2tlbi5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvY2FuY2VsL2lzQ2FuY2VsLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL0F4aW9zLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL0ludGVyY2VwdG9yTWFuYWdlci5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvY29yZS9idWlsZEZ1bGxQYXRoLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL2NyZWF0ZUVycm9yLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL2Rpc3BhdGNoUmVxdWVzdC5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvY29yZS9lbmhhbmNlRXJyb3IuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvbWVyZ2VDb25maWcuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvc2V0dGxlLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL3RyYW5zZm9ybURhdGEuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2RlZmF1bHRzLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9oZWxwZXJzL2JpbmQuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvYnVpbGRVUkwuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvY29tYmluZVVSTHMuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvY29va2llcy5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9pc0Fic29sdXRlVVJMLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9oZWxwZXJzL2lzQXhpb3NFcnJvci5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9pc1VSTFNhbWVPcmlnaW4uanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvbm9ybWFsaXplSGVhZGVyTmFtZS5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9wYXJzZUhlYWRlcnMuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvc3ByZWFkLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi91dGlscy5qcyIsIm5vZGVfbW9kdWxlcy9iYXNlNjQtanMvaW5kZXguanMiLCJub2RlX21vZHVsZXMvYnJvd3Nlci1yZXNvbHZlL2VtcHR5LmpzIiwibm9kZV9tb2R1bGVzL2J1ZmZlci9pbmRleC5qcyIsIm5vZGVfbW9kdWxlcy9ldmVudHMvZXZlbnRzLmpzIiwibm9kZV9tb2R1bGVzL2llZWU3NTQvaW5kZXguanMiLCJub2RlX21vZHVsZXMvaW5oZXJpdHMvaW5oZXJpdHNfYnJvd3Nlci5qcyIsIm5vZGVfbW9kdWxlcy9qYm94L2Rpc3QvakJveC5hbGwubWluLmpzIiwibm9kZV9tb2R1bGVzL2pxdWVyeS11aS91aS93aWRnZXQuanMiLCJub2RlX21vZHVsZXMvanF1ZXJ5L2Rpc3QvanF1ZXJ5LmpzIiwibm9kZV9tb2R1bGVzL3Byb2Nlc3MvYnJvd3Nlci5qcyIsIm5vZGVfbW9kdWxlcy9zYWZlLWJ1ZmZlci9pbmRleC5qcyIsIm5vZGVfbW9kdWxlcy9zYXgvbGliL3NheC5qcyIsIm5vZGVfbW9kdWxlcy9zdHJlYW0tYnJvd3NlcmlmeS9pbmRleC5qcyIsIm5vZGVfbW9kdWxlcy9zdHJlYW0tYnJvd3NlcmlmeS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2Vycm9ycy1icm93c2VyLmpzIiwibm9kZV9tb2R1bGVzL3N0cmVhbS1icm93c2VyaWZ5L25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fZHVwbGV4LmpzIiwibm9kZV9tb2R1bGVzL3N0cmVhbS1icm93c2VyaWZ5L25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fcGFzc3Rocm91Z2guanMiLCJub2RlX21vZHVsZXMvc3RyZWFtLWJyb3dzZXJpZnkvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9yZWFkYWJsZS5qcyIsIm5vZGVfbW9kdWxlcy9zdHJlYW0tYnJvd3NlcmlmeS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3RyYW5zZm9ybS5qcyIsIm5vZGVfbW9kdWxlcy9zdHJlYW0tYnJvd3NlcmlmeS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3dyaXRhYmxlLmpzIiwibm9kZV9tb2R1bGVzL3N0cmVhbS1icm93c2VyaWZ5L25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvYXN5bmNfaXRlcmF0b3IuanMiLCJub2RlX21vZHVsZXMvc3RyZWFtLWJyb3dzZXJpZnkvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9idWZmZXJfbGlzdC5qcyIsIm5vZGVfbW9kdWxlcy9zdHJlYW0tYnJvd3NlcmlmeS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2Rlc3Ryb3kuanMiLCJub2RlX21vZHVsZXMvc3RyZWFtLWJyb3dzZXJpZnkvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9lbmQtb2Ytc3RyZWFtLmpzIiwibm9kZV9tb2R1bGVzL3N0cmVhbS1icm93c2VyaWZ5L25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvZnJvbS1icm93c2VyLmpzIiwibm9kZV9tb2R1bGVzL3N0cmVhbS1icm93c2VyaWZ5L25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvcGlwZWxpbmUuanMiLCJub2RlX21vZHVsZXMvc3RyZWFtLWJyb3dzZXJpZnkvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9zdGF0ZS5qcyIsIm5vZGVfbW9kdWxlcy9zdHJlYW0tYnJvd3NlcmlmeS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL3N0cmVhbS1icm93c2VyLmpzIiwibm9kZV9tb2R1bGVzL3N0cmluZ19kZWNvZGVyL2xpYi9zdHJpbmdfZGVjb2Rlci5qcyIsIm5vZGVfbW9kdWxlcy90aW1lcnMtYnJvd3NlcmlmeS9tYWluLmpzIiwibm9kZV9tb2R1bGVzL3V0aWwtZGVwcmVjYXRlL2Jyb3dzZXIuanMiLCJub2RlX21vZHVsZXMveG1sMmpzL2xpYi9ib20uanMiLCJub2RlX21vZHVsZXMveG1sMmpzL2xpYi9idWlsZGVyLmpzIiwibm9kZV9tb2R1bGVzL3htbDJqcy9saWIvZGVmYXVsdHMuanMiLCJub2RlX21vZHVsZXMveG1sMmpzL2xpYi9wYXJzZXIuanMiLCJub2RlX21vZHVsZXMveG1sMmpzL2xpYi9wcm9jZXNzb3JzLmpzIiwibm9kZV9tb2R1bGVzL3htbDJqcy9saWIveG1sMmpzLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL0RvY3VtZW50UG9zaXRpb24uanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvTm9kZVR5cGUuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvVXRpbGl0eS5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9Xcml0ZXJTdGF0ZS5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxBdHRyaWJ1dGUuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MQ0RhdGEuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MQ2hhcmFjdGVyRGF0YS5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxDb21tZW50LmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTERPTUNvbmZpZ3VyYXRpb24uanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MRE9NRXJyb3JIYW5kbGVyLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTERPTUltcGxlbWVudGF0aW9uLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTERPTVN0cmluZ0xpc3QuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MRFREQXR0TGlzdC5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxEVERFbGVtZW50LmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTERUREVudGl0eS5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxEVEROb3RhdGlvbi5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxEZWNsYXJhdGlvbi5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxEb2NUeXBlLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTERvY3VtZW50LmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTERvY3VtZW50Q0IuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MRHVtbXkuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MRWxlbWVudC5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxOYW1lZE5vZGVNYXAuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MTm9kZS5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxOb2RlTGlzdC5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MUmF3LmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTFN0cmVhbVdyaXRlci5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxTdHJpbmdXcml0ZXIuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MU3RyaW5naWZpZXIuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MVGV4dC5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxXcml0ZXJCYXNlLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL2luZGV4LmpzIiwic3JjL2Nzcy9pbmplY3QuY3NzIiwic3JjL2luamVjdC50cyIsInNyYy9tb2R1bGVzL2Jvb2tpbmdCdXR0b24udHMiLCJzcmMvbW9kdWxlcy9jYXJ0LnRzIiwic3JjL21vZHVsZXMvY2FydEJ1dHRvbnMudHMiLCJzcmMvbW9kdWxlcy9jb21tdW5pY2F0aW9uLnRzIiwic3JjL21vZHVsZXMvY29uZmlnLnRzIiwic3JjL21vZHVsZXMvZXZlbnRzLnRzIiwic3JjL21vZHVsZXMvakJveEhlbHBlci50cyIsInNyYy9tb2R1bGVzL2pzYy50cyIsInNyYy9tb2R1bGVzL2xlZ2VuZC50cyIsInNyYy9tb2R1bGVzL3Bhbnpvb20udHMiLCJzcmMvbW9kdWxlcy9wYXJlbnQudHMiLCJzcmMvbW9kdWxlcy9wYXJzZXIudHMiLCJzcmMvbW9kdWxlcy9zdGF0ZS50cyIsInNyYy9tb2R1bGVzL3VpLnRzIiwic3JjL21vZHVsZXMvdXRpbHMudHMiLCJzcmMvbW9kdWxlcy94bWxoZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUNBQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7O0FDRkE7QUFDQTtBQUNBOzs7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7OztBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTs7QUNGQTtBQUNBO0FBQ0E7OztBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTs7QUNGQTtBQUNBO0FBQ0E7OztBQ0ZBO0FBQ0E7QUFDQTs7QUNGQTtBQUNBO0FBQ0E7OztBQ0ZBO0FBQ0E7QUFDQTs7QUNGQTtBQUNBO0FBQ0E7Ozs7QUNGQTtBQUNBO0FBQ0E7OztBQ0ZBO0FBQ0E7QUFDQTs7QUNGQTtBQUNBO0FBQ0E7OztBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTs7QUNGQTtBQUNBO0FBQ0E7Ozs7QUNGQTtBQUNBO0FBQ0E7OztBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQTtBQ0ZBO0FBQ0E7QUFDQSwwL0JDRkEsSUFBSSxPQUFTLFFBQVEsVUFDckIsUUFBQSxhQUVBLElBUUksZ0JBUkosUUFBQSxnQkFBQSxRQUFBLG9CQUNBLGNBQUEsYUFBQSxRQUFBLDRCQUNBLE9BQUEsYUFBQSxRQUFBLHFCQUNBLEdBQUEsYUFBQSxRQUFBLGlCQUNBLFdBQUEsYUFBQSxRQUFBLDRCQUNBLE9BQUEsYUFBQSxRQUFBLHFCQThDQSxTQUFTLGVBQWUsR0FDcEIsR0FBd0IsaUJBQVosRUFBTSxLQUFsQixDQUdBLElBQU0sRUFBa0IsS0FBSyxNQUFNLEVBQUUsTUFLckMsT0FIQSxRQUFBLFFBQU0sV0FBVyx5QkFBeUIsRUFBSyxNQUMvQyxRQUFBLFFBQU0sV0FBVyxHQUVULEVBQUssT0FDVCxJQUFLLGlDQUNELE9BQU8sd0JBQXdCLGlCQUMvQixNQUVKLElBQUssMEJBQ0QsT0FBTyxpQkFBaUIsaUJBQ3hCLE1BRUosSUFBSyx1QkFDRCxPQUFPLGVBQWUsRUFBRyxpQkFDekIsTUFFSixJQUFLLHNCQUNELFFBQUEsUUFBTSxXQUFXLDBCQUNqQixPQUFPLHdCQUF3QixPQUMvQixNQUVKLElBQUssNkJBQ0QsT0FBTyxxQkFBcUIsRUFBRyxpQkFDL0IsTUFFSixJQUFLLDZCQUNELE9BQU8sdUJBQXVCLE9BQzlCLE1BRUosSUFBSyw2QkFDRCxPQUFPLHVCQUF1QixPQUM5QixNQUVKLElBQUssdUJBQ0QsT0FBTyxjQUFjLEdBQ3JCLE1BRUosSUFBSyxvQkFDRCxPQUFPLDZCQUE2QixVQXpGaEQsUUFBUSx5QkFJUixPQUFPLGlCQUFpQixPQUFRLFdBRTVCLElBQU0sR0FBa0IsSUFBSSxlQUFnQixrQkFBa0IsVUFDOUQsZ0JBQWUsU0FBQSxTQUFBLEdBQVEsaUJBQW9CLE9BQU8sVUFBVSxJQUU1RCxRQUFBLFFBQU0sV0FBVyxpQkFDakIsUUFBQSxRQUFNLFdBQVcsYUFBYSxnQkFBMEIsVUFJeEQsSUFBTSxFQUF3QixrQkFBa0IsS0FBSyxHQUVyRCxRQUFBLFFBQU0sV0FBVyxzQkFBc0IsR0FHSCxPQUFoQyxnQkFBMEIsV0FBK0IsSUFBakIsSUFLNUMsT0FBTyxrQkFHUCxjQUFjLGlCQUFpQixnQkFHL0IsZ0JBQWUsU0FBQSxTQUFBLEdBQVEsaUJBQW9CLE9BQU8sb0JBQW9CLElBQ3RFLGdCQUFlLFNBQUEsU0FBQSxHQUFRLGlCQUFvQixPQUFPLGtCQUNsRCxnQkFBZSxTQUFBLFNBQUEsR0FBUSxpQkFBb0IsT0FBTyxxQkFDNUIsS0FBSSxPQUFPLFVBR2pDLFdBQVcsbUJBSVgsR0FBRyxlQUVILFFBQUEsUUFBTSxXQUFXOzs7dXVCQ25EckIsSUFBQSxjQUFBLGFBQUEsUUFBQSxvQkFFQSxTQUFnQixtQkFDWixPQUFPLHVCQUF1QixTQUM5QixzQkFDQSx1QkFHSixTQUFnQix1QkFDWixjQUFjLGtCQUFrQix1QkFHcEMsU0FBUyx1QkFDTCxPQUFPLDBCQUEwQixPQUFPLCtSQVk1QyxTQUFTLHNCQUNMLE9BQU8sMEJBQTBCLElBQUksQ0FDakMsUUFBVyxRQUNYLFNBQVksV0FDWixNQUFTLFNBM0JqQixRQUFBLGlCQUFBLGlCQU1BLFFBQUEscUJBQUE7OzsrMUJDUkEsSUFBQSxVQUFBLGFBQUEsUUFBQSxnQkFDQSxTQUFBLFFBQUEsWUFFQSxPQUFBLGFBQUEsUUFBQSxhQUNBLFlBQUEsYUFBQSxRQUFBLGtCQUVBLFNBQWdCLFFBQVEsR0FDcEIsSUFBTSxFQUFnQixJQUFJLFVBQVUseUNBQXlDLFFBQVMsRUFBVSxLQUFLLFNBQVMsR0FBRyxJQUMzRyxFQUErQixVQUFVLHlDQUF5QyxPQUFRLEVBQVUsS0FBSyxTQUFTLEdBQUcsSUFDckgsRUFBZSxTQUFBLE9BQU8sTUFBTSxXQUFXLEVBQVUsSUFBSSxHQUNyRCxFQUFjLFNBQUEsT0FBTyxNQUFNLFdBQVcsRUFBVSxJQUFJLEdBQ3BELEVBQW9CLFNBQUEsT0FBTyxNQUFNLFdBQVcsRUFBVSxJQUFJLEdBRTFELEVBRGtDLFVBQVUsMEJBQTBCLEdBQzFCLGNBQWMsRUFBRyxVQUFVLEVBQ3ZFLEVBQThCLFVBQVUsNEJBQTRCLEVBQVUsS0FBSyxTQUFTLEdBQUcsSUFDL0YsRUFBaUIsWUFBWSxFQUFVLEdBQ3ZDLEVBQXFDLElBQUksRUFBTSx1QkFFckQsV0FBVyxFQUFRLEVBQU8sRUFBVSxHQUNwQyw0QkFBNEIsRUFBWSxHQUN4QyxPQUFPLDBCQUEwQixFQUE0QixHQUdqRSxTQUFnQixrQkFDWixPQUFPLDJCQUEyQixLQUFLLFdBQ25DLEtBQUssV0FJYixTQUFnQix5QkFBeUIsRUFBNkIsR0FDbEUsSUFBTSxFQUFnQixTQUFBLE9BQU8sTUFBTSxpQkFBaUIsVUFBVSxTQUFBLEdBQzFELE9BQUEsRUFBSSxLQUFPLEVBQVUsS0FFekIsU0FBQSxPQUFPLE1BQU0saUJBQWlCLEdBQU8sR0FBSyxFQUFTLE1BQ25ELElBQU0sRUFBZ0IsVUFBVSw4QkFBOEIsRUFBUyxPQUVuRSxJQUNBLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixHQUFPLEdBQUssR0FFOUMsbUJBQ0EsWUFBWSxpQkFFWixJQUFNLEVBQU0sc0JBQ1osT0FBTyxvQkFBb0IsR0FHL0IsU0FBZ0IsbUJBQ1osT0FBSyxTQUFBLE9BQU8sTUFBTSxpQkFBaUIsUUFLbkMsU0FBQSxPQUFPLE1BQU0sYUFBZSxnQkFDckIsU0FBQSxPQUFPLE1BQU0sZUFMaEIsU0FBQSxPQUFPLE1BQU0sYUFBZSxJQUNyQixLQVFmLFNBQWdCLG9CQUNaLEdBQUssU0FBQSxPQUFPLE1BQU0saUJBQWlCLE9BR25DLElBQUssSUFBTSxLQUFPLFNBQUEsT0FBTyxNQUFNLGlCQUFrQixDQUM3QyxHQUFJLE9BQU8sVUFBVSxlQUFlLEtBQUssU0FBQSxPQUFPLE1BQU0saUJBQWtCLEdBRXBFLFFBRGdCLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixLQU0xRCxTQUFnQixnQkFDWixPQUFPLHNCQUFzQixPQUM3QixPQUFPLGNBQ1AsT0FBTyxlQUdYLFNBQWdCLHNCQUNaLEdBQUssU0FBQSxPQUFPLE1BQU0saUJBQWlCLE9BQW5DLENBR0EsSUFBTSxFQUFrQixTQUFBLE9BQU8sTUFBTSxnQkFDL0IsRUFBOEIsVUFBVSw4QkFDOUMsT0FBVSxFQUFtQyxrQkFBQyxpQkFBaUIsRUFBZ0IsYUFBWSxRQUFRLEVBQXFCLElBQUMsMEJBQTBCLEVBQW1CLGlCQUcxSyxTQUFTLFdBQVcsRUFBa0IsRUFBaUIsRUFBZ0MsR0FDbkYsT0FBTywwQkFBMEIsT0FBTyxtQ0FDWixFQUFRLHFFQUN3QixFQUFPLG9EQUMvQixFQUFVLDRDQUNmLEVBQVMscUdBTTVDLFNBQVMsNEJBQTRCLEVBQStCLEdBQzNELEdBR0wsRUFBYSxRQUFRLFNBQUEsR0FDYixFQUFJLElBQ0osYUFBYSxFQUFZLEtBSXJDLFNBQVMsYUFBYSxFQUFvQixHQUN0QyxJQUFNLEVBQWtDLE9BQU8sR0FBWSxJQUFJLEdBQzNELEVBQXlCLFNBQVMsY0FBYyxVQUNwRCxFQUFJLE1BQWdCLEVBQU0sR0FDMUIsRUFBSSxVQUFlLEVBQU0sR0FBRSxLQUFLLEVBQU0sR0FDdEMsRUFBbUIsWUFBWSxHQUduQyxTQUFTLGdCQUNMLE9BQU8sU0FBQSxPQUFPLE1BQU0saUJBQWlCLElBQUksY0FDcEMsT0FBTyxTQUFDLEVBQU0sR0FBUyxPQUFBLEVBQU8sSUFDOUIsUUFBUSxHQUdqQixTQUFTLGFBQWEsR0FDbEIsSUFBTSxFQUFpQixFQUFJLEdBQ2pCLEVBQXNCLEVBQUksR0FFMUIsRUFEa0MsU0FBQSxPQUFPLE1BQU0saUJBQWlCLEdBQzVCLEtBQUssU0FBUyxHQUFHLEdBQ3JELEVBQTJDLFVBQVUsNkNBQTZDLEdBRXhHLEdBQUksRUFBZSxDQUNmLElBQU0sRUFBZ0MsVUFBVSxzQkFBc0IsRUFBYSxHQUVuRixHQUFJLEVBQ0EsT0FBTyxFQUdmLE9BQU8sRUEvSGYsUUFBQSxRQUFBLFFBaUJBLFFBQUEsZ0JBQUEsZ0JBTUEsUUFBQSx5QkFBQSx5QkFpQkEsUUFBQSxpQkFBQSxpQkFXQSxRQUFBLGtCQUFBLGtCQVlBLFFBQUEsY0FBQSxjQU1BLFFBQUEsb0JBQUE7OztpSUMzRUEsSUFBQSxTQUFBLFFBQUEsWUFFQSxTQUFnQixpQkFDWixPQUFPLGdDQUFnQyxHQUFHLFVBQVksb0JBQ3RELE9BQU8sb0NBQW9DLEdBQUcsWUFBYyx5QkFHaEUsU0FBUyxvQkFDTCxJQUFNLEVBQXFCLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixPQUV6RCxNQUFrQyxLQUE5QixTQUFBLE9BQU8sTUFBTSxhQUNTLElBQWYsRUFBc0IsRUFBVSxnQkFBZ0IsU0FBQSxPQUFPLE1BQU0sYUFBb0IsRUFBVSxpQkFBaUIsU0FBQSxPQUFPLE1BQU0sYUFFekgsc0JBR2YsU0FBUyx5QkFDTCxJQUFNLEVBQXFCLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixPQUV6RCxNQUFrQyxLQUE5QixTQUFBLE9BQU8sTUFBTSxhQUNOLFVBQVUsRUFBVSxhQUFhLFNBQUEsT0FBTyxNQUFNLGFBRTlDLHlCQUdmLFNBQWdCLHVCQUF1QixHQUNsQixTQUFiLEdBQ0EsT0FBTywyQkFBMkIsSUFBSSxpQkFBa0IsUUFDeEQsT0FBTyxnQkFBZ0IsT0FDdkIsT0FBTyxnQ0FBZ0MsU0FBUyxjQUU5QixTQUFiLElBQ0wsT0FBTyxnQkFBZ0IsT0FDdkIsT0FBTyxnQ0FBZ0MsWUFBWSxhQUNuRCxPQUFPLDJCQUEyQixJQUFJLGlCQUFrQixRQWhDaEUsUUFBQSxlQUFBLGVBdUJBLFFBQUEsdUJBQUE7OzswOEJDeEJBLElBQUEsUUFBQSxnQkFBQSxRQUFBLFVBQ00sYUFBZSxRQUFRLFVBQVUsWUFDdkMsR0FBQSxhQUFBLFFBQUEsU0FDQSxTQUFBLFFBQUEsWUFDQSxLQUFBLGFBQUEsUUFBQSxXQUNBLFFBQUEsZ0JBQUEsUUFBQSxZQUdBLFNBQWdCLFlBQVksRUFBbUIsR0FDM0MsR0FBYSxXQUFULEVBQ0EsT0FBTyxPQUFPLFlBQVksS0FBSyxVQUFVLEdBQVMsU0FDakQsQ0FDRCxJQUFNLEVBQWEsU0FBUyxlQUFlLEdBRTdCLE9BQVYsR0FBMEMsT0FBeEIsRUFBTSxlQUN4QixFQUFNLGNBQWMsWUFBWSxLQUFLLFVBQVUsR0FBUyxNQUlwRSxTQUFnQixpQkFBaUIsR0FDN0IsT0FBTyxpQkFBaUIsVUFBVyxTQUFDLEdBQ2hDLEVBQVUsS0FJbEIsU0FBZ0IsUUFBUSxFQUFlLEVBQWMsRUFBaUIsRUFBZ0IsUUFBQSxJQUFBLElBQUEsRUFBaUIsS0FBSyxPQUN4RyxjQUFjLEdBQU8sS0FBSyxTQUFDLEdBT3ZCLFlBTjJCLENBQ3ZCLEtBQU0sRUFDTixLQUFNLEVBQ04sUUFBUyxFQUNULE1BQU8sR0FFVSxLQUVwQixNQUFNLFNBQVUsR0FDYixRQUFRLE1BQU0sS0FJMUIsU0FBZ0IsaUJBQWlCLEdBTzdCLFlBTjJCLENBQ3ZCLFFBQVMsS0FDVCxLQUFNLFNBQ04sTUFBTyxFQUNQLEtBQU0sS0FBSyxPQUVNLGlCQUd6QixTQUFnQixrQkFBa0IsR0FPOUIsWUFOMkIsQ0FDdkIsUUFBUyxLQUNULEtBQU0sUUFDTixNQUFPLEVBQ1AsS0FBTSxLQUFLLE9BRU0sVUFHekIsU0FBZ0IsZUFBZSxHQU8zQixZQU4yQixDQUN2QixRQUFTLEVBQ1QsS0FBTSxRQUNOLE1BQU8sdUJBQ1AsS0FBTSxLQUFLLE9BRU0sVUFHekIsU0FBZ0IsZUFBZSxHQUczQixNQUFNLEVBQU8sQ0FDVCxTQUFVLFdBRVQsS0FBSyxXQUFNLE9BQUEsUUFBQSxRQUFNLFdBQWMsRUFBSyxlQUNwQyxNQUFNLFNBQUMsR0FBVSxPQUFBLFFBQUEsUUFBTSxXQUFXLEtBRzNDLFNBQWdCLHdCQUNaLE9BQU8sc0JBQXNCLE9BRXhCLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixVQUduQyxHQUFHLG9CQVlILFlBVDJCLENBQ3ZCLFFBQVMsQ0FDTCxJQUp3QixLQUFLLHVCQU1qQyxLQUFNLFFBQ04sTUFBTyw2QkFDUCxLQUFNLEtBQUssT0FHTSxXQUd6QixTQUFTLGNBQWMsR0FDbkIsT0FBTyxRQUFBLFFBQU0sSUFBSSxHQUNaLEtBQUssU0FBQyxHQUNILE9BQU8sSUFBSSxRQUFRLFNBQUMsRUFBYyxHQUM5QixJQUFNLEVBQStCLEVBQ1IsTUFBekIsRUFBYyxRQUE0RCwyQkFBMUMsRUFBYyxRQUFRLGlCQUN0RCxhQUFhLEVBQWMsS0FDdkIsQ0FBRSxlQUFlLEVBQU0sV0FBVyxFQUFNLFlBQVksR0FDcEQsU0FBQyxFQUFVLEdBQ0gsRUFDQSxFQUFPLEdBRVAsRUFBUSxTQUsvQixNQUFNLFNBQUMsR0FBVSxPQUFBLFFBQUEsUUFBTSxXQUFXLEtBOUczQyxRQUFBLFlBQUEsWUFXQSxRQUFBLGlCQUFBLGlCQU1BLFFBQUEsUUFBQSxRQWVBLFFBQUEsaUJBQUEsaUJBVUEsUUFBQSxrQkFBQSxrQkFVQSxRQUFBLGVBQUEsZUFVQSxRQUFBLGVBQUEsZUFVQSxRQUFBLHFCQUFBOzs7MEZDL0VhLFFBQUEsT0FBbUIsQ0FDNUIsa0JBQWtCLEVBQ2xCLE9BQU8sRUFDUCxPQUFRLFNBQ1IsUUFBUyxRQUNULGlCQUFrQixHQUNsQixVQUFXLENBQ1AsT0FBUSxDQUNKLFFBQVMsK0JBQ1QsSUFBSyxpRkFDTCxTQUFVLGdEQUNWLE9BQVEsOEVBQ1IsVUFBVywrQ0FDWCxZQUFhLDhEQUNiLFFBQVMsc0RBRWIsUUFBUyxDQUNMLFFBQVMsdUNBQ1QsSUFBSyx5RkFDTCxTQUFVLHdEQUNWLE9BQVEsc0ZBQ1IsVUFBVyx1REFDWCxZQUFhLDhEQUNiLFFBQVMsK0RBR2pCLE1BQU8sQ0FDSCxhQUFjLEdBQ2QsYUFBYSxFQUNiLGlCQUFrQixHQUNsQixpQkFBa0IsR0FDbEIsV0FBWSxHQUNaLHNCQUFzQixFQUN0QixxQkFBaUIsRUFDakIsYUFBUyxFQUNULGFBQVMsRUFDVCxnQkFBWSxFQUNaLGdCQUFZOzs7bzVCQ3ZDcEIsSUFBQSxjQUFBLGFBQUEsUUFBQSxvQkFDQSxHQUFBLGFBQUEsUUFBQSxTQUNBLFNBQUEsUUFBQSxZQUVBLElBQUEsYUFBQSxRQUFBLFVBQ0EsS0FBQSxhQUFBLFFBQUEsV0FDQSxPQUFBLGFBQUEsUUFBQSxhQUNBLFdBQUEsYUFBQSxRQUFBLGlCQUVBLFNBQWdCLGdCQUNaLElBQU0sRUFBeUMsT0FBTyxrQkFBa0IsSUFBSSxHQUN4RSxHQUNBLEVBQWMsaUJBQWlCLFFBQVMsV0FBTSxPQUFBLGNBQWMsa0JBQWtCLHVCQUd0RixTQUFnQixxQkFDWixJQUFNLEVBQXNDLFNBQVMsZUFBZSxtQkFFaEUsR0FDQSxFQUFnQixpQkFBaUIsU0FBVSxXQUN2QyxHQUFHLGtCQUFrQixRQUNyQixHQUFHLHNCQUFzQiwwQkFDekIsY0FBYyxlQUFlLEtBQUssU0FLOUMsU0FBZ0IsZUFDWixJQUFNLEVBQW1DLE9BQU8sMkJBQTJCLElBQUksR0FFM0UsR0FDQSxFQUFRLGlCQUFpQixRQUFTLFdBQ3pCLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixPQUUxQixTQUFBLE9BQU8sTUFBTSxZQUNsQixjQUFjLHdCQUNSLFNBQUEsT0FBTyxNQUFNLGFBQWUsU0FBQSxPQUFPLE1BQU0scUJBQy9DLEdBQUcsa0JBQ0csU0FBQSxPQUFPLE1BQU0sYUFBZ0IsU0FBQSxPQUFPLE1BQU0sc0JBQ2hELFdBQVcsZUFBZSx3RUFOMUIsV0FBVyxlQUFlLGdEQVcxQyxTQUFnQixvQkFBb0IsR0FDaEMsR0FBSyxFQUFMLENBR0EsSUFBTSxFQUFjLE9BQU8sMkNBQTJDLElBQUksR0FDdEUsR0FDQSxFQUFZLGlCQUFpQixRQUFTLFdBQ2xDLElBQU0sRUFBcUIsQ0FDdkIsUUFBUyxDQUNMLElBQUssR0FFVCxLQUFNLFFBQ04sTUFBTyx1QkFDUCxLQUFNLEtBQUssT0FFZixjQUFjLFlBQVksRUFBUyxhQUsvQyxTQUFnQixlQUNaLElBQU0sRUFBd0IsT0FBTyx1Q0FBdUMsSUFBSSxHQUM1RSxHQUNBLEVBQVMsaUJBQWlCLFFBQVMsV0FBTSxPQUFBLGNBQWMsa0JBQWtCLGdDQUdqRixTQUFnQixjQUNaLElBQU0sRUFBdUIsT0FBTyx5Q0FBeUMsSUFBSSxHQUM3RSxHQUNBLEVBQVEsaUJBQWlCLFFBQVMsV0FBTSxPQUFBLE9BQU8sdUNBQXVDLFFBQVEsV0FHdEcsU0FBZ0IsdUJBQXVCLEdBQ25DLElBQU0sRUFBZSxTQUFBLE9BQU8sTUFBTSxRQUNFLE9BQU8sR0FBWSxJQUFJLEdBRTVDLGlCQUFpQixTQUFVLFdBQ3RDLElBQU0sRUFBZ0IsS0FBSyxNQUNyQixFQUFvQixLQUFLLEVBRS9CLE9BQU8sNEJBQTRCLEVBQVksRUFBTyxHQUV4QyxRQUFWLEdBQ0EsRUFBUSxLQUFLLGVBQWUsT0FBTyxhQUNuQyxJQUFJLHdCQUdKLEVBQVEsS0FBSyxhQUFhLE9BQU8sZUFDakMsSUFBSSx5QkFBeUIsR0FDN0IsSUFBSSx5QkFLaEIsU0FBZ0IsMEJBQTBCLEVBQW9CLEdBRTFELE9BQU8sR0FBWSxHQUFHLFNBQVUsV0FDNUIsS0FBSyx5QkFBeUIsS0FBTSxLQUk1QyxTQUFnQixpQkFDWixPQUFPLGdCQUFnQixHQUFHLFFBQVMsV0FDMUIsU0FBQSxPQUFPLGtCQUNSLGNBQWMsaUJBQWlCLHFCQUVuQyxPQUFPLGNBQWMsSUFBSSxXQUFZLFVBQ3JDLE9BQU8sa0JBQWtCLE9BQU8sVUF0R3hDLFFBQUEsY0FBQSxjQU1BLFFBQUEsbUJBQUEsbUJBWUEsUUFBQSxhQUFBLGFBaUJBLFFBQUEsb0JBQUEsb0JBb0JBLFFBQUEsYUFBQSxhQU1BLFFBQUEsWUFBQSxZQU1BLFFBQUEsdUJBQUEsdUJBc0JBLFFBQUEsMEJBQUEsMEJBT0EsUUFBQSxlQUFBOzs7aTBCQ3pHQSxJQUFBLE9BQUEsZ0JBQUEsUUFBQSxTQUNBLFNBQUEsUUFBQSxZQUNBLFVBQUEsYUFBQSxRQUFBLGdCQUVBLFNBQWdCLGVBQWUsRUFBbUIsUUFBQSxJQUFBLElBQUEsRUFBQSxLQUM5QyxJQUFJLE9BQUEsUUFBZ0IsU0FBVSxDQUMxQixTQUFVLENBQUUsRUFBRyxTQUFVLEVBQUcsT0FDNUIsT0FBUSxDQUFFLEVBQUcsRUFBRyxFQUFHLEtBQ25CLFFBQVMsRUFDVCxVQUFXLEVBQ1gsVUFBVyxDQUFFLEtBQU0sU0FBVSxNQUFPLFdBQ3BDLFlBQVksRUFDWixhQUFhLEVBQ2IsbUJBQW1CLEVBQ25CLGNBQWMsRUFDZCxXQUFXLEVBQ1gsTUFBTyxNQUNQLE9BQU8sRUFDUCxlQUFlLEVBQ2YsWUFBWSxFQUNaLGlCQUFpQixFQUNqQixrQkFBa0IsSUFJMUIsU0FBZ0IscUJBQ1osSUFBSSxPQUFBLFFBQWlCLFVBQVcsQ0FDNUIsT0FBUSxPQUFPLG9CQUNmLE9BQVEsV0FDSixnQkFBZ0IsU0FLNUIsU0FBUyxnQkFBZ0IsR0FDckIsSUFBTSxFQUFpQixFQUFLLE9BQU8sR0FBRyxHQUNoQyxFQUFlLFNBQUEsT0FBTyxNQUFNLFdBQVcsR0FBUSxHQUMvQyxFQUFjLFNBQUEsT0FBTyxNQUFNLFdBQVcsR0FBUSxHQUM5QyxFQUFvQixTQUFBLE9BQU8sTUFBTSxXQUFXLEdBQVEsR0FFcEQsRUFEa0MsVUFBVSwwQkFBMEIsR0FDL0IsY0FBYyxFQUFHLFVBQVUsRUFFeEUsRUFBSyxXQUFXLEdBdENwQixRQUFBLGVBQUEsZUFxQkEsUUFBQSxtQkFBQTs7OzRnQ0N4QkEsSUFBQSxTQUFBLFFBQUEsWUFDQSxNQUFBLGFBQUEsUUFBQSxZQUNBLEtBQUEsYUFBQSxRQUFBLFdBQ0EsWUFBQSxhQUFBLFFBQUEsa0JBQ0EsUUFBQSxnQkFBQSxRQUFBLFlBRUEsU0FBZ0IsV0FDWixJQUNNLEVBRGtCLFNBQUEsT0FBTyxNQUFNLFdBQ21CLFFBQVEsR0FBRyxrQkFBa0IsR0FBRyxXQUNwRixFQUErQixHQUVuQyxJQUFLLElBQUksS0FBTyxFQUFlLENBQzNCLElBQU0sRUFBd0IsQ0FDMUIsUUFBVyxJQUFJLEVBQWMsR0FBSyxHQUFHLEdBQ3JDLFNBQVksRUFBYyxJQUc5QixFQUR5QixPQUFPLGFBQWEsR0FBSyxTQUFTLElBQU0scUJBQ3BDLEVBR2pDLE9BQU8sRUFHWCxTQUFnQix5QkFBeUIsU0FDL0IsRUFBa0IsU0FBQSxPQUFPLE1BQU0sV0FDL0IsRUFBZSxTQUFBLE9BQU8sTUFBTSxRQUc1QixFQUVKLFFBRnFDLEVBRk0sRUFBVyxRQUFRLEdBQUcsa0JBQWtCLEdBQUcsV0FFbkMsS0FBSyxTQUFBLEdBQ3RELE9BQU8sRUFBSSxHQUFHLEtBQU8sV0FDdkIsSUFBQSxPQUFBLEVBQUEsRUFBRSxLQUFLLEdBQUcsTUFBTSxLQUVsQixFQUFRLE9BQU8sRUFBVSxhQUc3QixTQUFnQixnQkFDWixJQUNNLEVBRGtCLFNBQUEsT0FBTyxNQUFNLFdBQ00sUUFBUSxHQUFHLFFBQVEsR0FBRyxPQUFPLEdBQ2xFLEVBQWlCLFNBQVMsRUFBTyxPQUFPLElBQ3hDLEVBQXNCLE1BQU0sS0FBSyxDQUFFLE9BQVEsR0FBVSxTQUFDLEdBQU0sTUFBQSxLQVdsRSxPQVZnQyxFQUFPLEtBQUssR0FBRyxJQUV2QyxRQUFRLFNBQUEsR0FDWixJQUFNLEVBQWdCLFNBQVMsRUFBUSxhQUFhLElBRzlDLEVBRG9CLGFBREMsRUFBUSxNQUFNLEdBQUcsTUFBTSxLQUNGLElBQ3BCLEdBQzVCLEVBQVUsR0FBUyxJQUdoQixFQUdYLFNBQWdCLGNBQ1osSUFBTSxFQUFrQixTQUFBLE9BQU8sTUFBTSxXQUMvQixFQUEwQixFQUFXLFFBQVEsR0FBRyxRQUFRLEdBQUcsT0FBTyxHQUNsRSxFQUF1QixFQUFPLEtBQUssR0FBRyxJQUN0QyxFQUF1QyxFQUFXLFFBQVEsR0FBRyxrQkFBa0IsR0FBRyxXQUNsRixFQUFxQyxFQUFXLFFBQVEsR0FBRyxXQUFXLEdBQUcsVUFBVSxHQUFHLGFBQWEsR0FHckcsRUFBd0IsZ0JBQ3hCLFNBQVMsRUFBTyxPQUFPLElBQ3ZCLFNBQVMsRUFBTyxNQUFNLElBQ3RCLEtBSUosT0FEQSxFQUFZLG1CQUFtQixFQUFNLEVBQVcsRUFBZSxJQUM5QyxJQUFJLFNBQUEsR0FBVyxPQUFBLEVBQVEsS0FBSyxNQUdqRCxTQUFnQixlQUFlLEdBQzNCLElBQU0sRUFBa0IsU0FBQSxPQUFPLE1BQU0sV0FDL0IsRUFBdUIsU0FBQSxPQUFPLE1BQU0sV0FDcEMsRUFBdUMsRUFBVyxRQUFRLEdBQUcsa0JBQWtCLEdBQUcsV0FDbEYsRUFBc0MsRUFBUyxNQUFNLEdBQUcsWUFBWSxHQUFHLFdBRTdFLE1BQW9CLENBQ2hCLEtBQU0sT0FBTyxHQUNiLE1BQU8sa0JBQWtCLEVBQWUsSUFNaEQsU0FBZ0Isc0JBQ1osSUFBTSxFQUFrQixTQUFBLE9BQU8sTUFBTSxXQUMvQixFQUFlLFNBQUEsT0FBTyxNQUFNLFFBQzVCLEVBQXFDLEVBQVcsUUFBUSxHQUFHLFdBQVcsR0FBRyxVQUFVLEdBQUcsYUFBYSxHQUV6RyxHQUF5RCxLQUFyRCxFQUFnQiw4QkFBOEIsR0FBVyxDQUN6RCxJQUFNLEVBQTJCLEVBQWdCLDhCQUE4QixHQUFHLE1BQU0sS0FDeEYsRUFBUSxPQUFPLEVBQWdCLGdCQUl2QyxTQUFnQixZQUFZLEVBQWtCLEdBQzFDLElBQUssSUFBSSxLQUFPLEVBQ1osR0FBSSxFQUFnQixHQUFLLEtBQUssR0FBRyxTQUFTLEdBQ3RDLE9BQU8sT0FBTyxhQUFhLEdBQUssU0FBUyxJQUFNLG9CQU0zRCxTQUFnQixhQUFhLEdBQ3pCLE9BQU8sRUFBVSxNQUFNLEtBQUssSUFBSSxTQUFDLEdBQVMsT0FBQSxFQUFLLFNBR25ELFNBQWdCLGdCQUFnQixFQUFtQixFQUFtQixHQUNsRSxPQUFPLE1BQU0sR0FBVyxLQUFLLE1BQU0sSUFBSSxXQUFNLE9BQUEsTUFBTSxHQUFXLEtBQUssS0FHdkUsU0FBZ0Isb0JBQ1osSUFBTSxFQUFlLFNBQUEsT0FBTyxNQUFNLFFBQ2xDLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixRQUFRLFNBQUEsR0FDbEMsSUFBTSxFQUFpQixFQUFJLEdBRXZCLEVBQVEsSUFBSSxJQUNaLEVBQVEsT0FBTyxFQUFRLGNBSW5DLFNBQWdCLFdBQVcsRUFBb0IsRUFBaUIsRUFBd0IsRUFBcUIsR0FDekcsSUFBTSxFQUE4QixPQUFRLE9BQU8sR0FFbkQsU0FBQSxPQUFPLE1BQU0sUUFBVSxFQUFpQixXQUFXLENBQy9DLE9BQVEsQ0FDSixLQUFLLEVBQ0wsTUFBTSxFQUNOLEtBQU0sR0FFVixJQUFLLEVBQ0wsTUFBTyxFQUNQLE9BQVEsRUFDUixNQUFPLFdBQ0gsT0FBTyxZQUFZLFNBSy9CLFNBQVMsa0JBQWtCLEVBQXNDLEdBQzdELE9BQU8sRUFBYyxJQUFJLFNBQUMsRUFBSyxTQUNyQixFQUFhLEVBQUksR0FBRyxHQUkxQixNQUFPLENBSGtCLE9BQU8sYUFBYSxHQUFLLEdBQU8sb0JBR3ZDLGFBRitELFFBQWhELEVBQUEsRUFBbUIsS0FBSyxTQUFBLEdBQU8sT0FBQSxFQUFJLEdBQUcsS0FBTyxXQUFHLElBQUEsT0FBQSxFQUFBLEVBQUUsS0FBSyxJQUNyRCxLQUFLLEVBQWMsR0FBTyxVQUFVLE1BSy9FLFNBQVMsbUJBQW1CLEVBQXdCLEVBQXlCLEVBQXdDLEdBQ2pILElBQU0sRUFBeUIsRUFBa0IsMEJBQTBCLEdBQUcsTUFBTSxLQUM5RSxFQUEyQixFQUFrQiw4QkFBOEIsR0FBRyxNQUFNLEtBc0MxRixPQXBDQSxFQUFPLFFBQVEsU0FBQSxHQUNYLElBQU0sRUFBb0IsRUFDcEIsRUFBWSxTQUFTLEVBQUksYUFBYSxJQUFNLEVBQ3ZCLEVBQUksTUFBTSxHQUFHLE1BQU0sS0FFckMsUUFBUSxTQUFBLEdBQ2IsSUFJTSxFQUFvQixhQUpGLEdBY3hCLEdBQUssRUFBYSxTQUFTLEVBQVEsS0FBUSxFQUFlLFNBQVMsRUFBUSxJQUEzRSxDQUlBLElBQU0sRUFBWSxTQUFTLEVBQVEsSUFBTSxFQUNuQyxFQUErQixZQUFZLEVBQVEsR0FBSSxHQUV6RCxJQUNBLEVBQVksR0FBRyxHQUFRLEVBQVEsSUFBSSxFQUFRLEdBQUUsT0FJakQsU0FBQSxPQUFPLE1BQU0sV0FBVyxFQUFRLElBQU0sT0FJdkMsRUFHWCxTQUFTLFlBQVksR0FDakIsTUFBMEIsYUFBdEIsRUFBVSxTQUNILG1CQUFtQixHQUVFLGFBQXZCLEVBQVUsU0FDUixvQkFBb0IsR0FFQSxlQUF0QixFQUFVLFNBQ1IsY0FHQSxFQUFVLFFBSXpCLFNBQVMsbUJBQW1CLEdBQ3hCLElBQU0sRUFBa0MsRUFBVSxTQUlsRCxPQUZBLFFBQUEsUUFBTSxXQUFXLEdBRWIsTUFBTSw0QkFBNEIsR0FDM0IsYUFFWCxNQUFNLGVBQWUsR0FDckIsS0FBSyxtQkFDTCxZQUFZLGlCQUVMLFlBR1gsU0FBUyxvQkFBb0IsR0FDekIsSUFBTSxFQUFrQyxFQUFVLFNBS2xELE9BSkEsTUFBTSxvQkFBb0IsR0FDMUIsS0FBSyxtQkFDTCxZQUFZLGlCQUVMLFlBaE9YLFFBQUEsU0FBQSxTQWlCQSxRQUFBLHlCQUFBLHlCQVlBLFFBQUEsY0FBQSxjQWtCQSxRQUFBLFlBQUEsWUFrQkEsUUFBQSxlQUFBLGVBY0EsUUFBQSxvQkFBQSxvQkFXQSxRQUFBLFlBQUEsWUFTQSxRQUFBLGFBQUEsYUFJQSxRQUFBLGdCQUFBLGdCQUlBLFFBQUEsa0JBQUEsa0JBVUEsUUFBQSxXQUFBOzs7YUM1SEEsU0FBZ0Isd0JBQXdCLEdBQ3BDLE9BQU8sNEJBQTRCLEtBQUssV0FDcEMsSUFBSSxFQUFvQyxPQUFPLFNBQVMsY0FBYyxXQUNqRSxhQUNHLE9BQU8sTUFBTSxRQUdyQixFQUFPLEtBQUssQ0FBRSxHQUFJLElBQ2xCLHdCQUF3QixHQUN4QixvQkFBb0IsS0FBTSxLQUlsQyxTQUFTLG9CQUFvQixFQUFzQixHQUMvQyxPQUFPLE1BQU8sR0FBUyxLQUFLLFdBQ3hCLElBQU0sRUFBb0IsT0FBTyxNQUFNLEdBQUcsU0FBUyxHQUFHLFVBQVUsR0FDMUQsRUFBYyxFQUFVLFVBQVUsR0FDbEMsRUFBNkIsT0FBTyxNQUFNLEdBQUcsU0FBUyxHQUFJLFVBRWhFLG1CQUFtQixFQUFVLEVBQVcsRUFBSyxLQUlyRCxTQUFTLG1CQUFtQixFQUFxQyxFQUFtQixFQUFhLEdBQzdGLElBQUksRUFBb0MsT0FBTyxhQUMvQyxFQUFPLEtBQUssQ0FBRSxNQUFTLEVBQUssTUFBUyxJQUFhLEtBQUssR0FDdkQsRUFBUyxPQUFPLEdBR3BCLFNBQVMsd0JBQXdCLEdBQzdCLElBQUksRUFBb0MsT0FBTyxhQUMvQyxFQUFPLEtBQUssQ0FBRSxNQUFTLFFBQVMsS0FBSyx3QkFDckMsRUFBTyxJQUFJLFFBQVMsV0FDcEIsRUFBUyxPQUFPLEdBR3BCLFNBQWdCLDRCQUE0QixFQUFvQixFQUFpQixHQUM3RSxJQUFJLEVBQWtCLFVBQ2xCLEVBQWdCLFVBRUosUUFBWixJQUNBLEVBQVEsUUFDUixFQUFVLE9BQU8sR0FBYSxJQUFJLHFCQUd0QyxPQUFPLEdBQVksSUFBSSxRQUFTLEdBQ2hDLE9BQU8sR0FBWSxJQUFJLG1CQUFvQixHQUMzQyxPQUFVLEVBQVUsd0JBQXdCLElBQUksUUFBUyxxSUEvQzdELFFBQUEsd0JBQUEsd0JBb0NBLFFBQUEsNEJBQUE7Ozs0TkNwQ0EsSUFBQSxVQUFBLGdCQUFBLFFBQUEscUJBRUEsU0FBQSxRQUFBLFlBRUEsU0FBZ0IsV0FBVyxFQUFvQixFQUE2QyxFQUE4QyxRQUEzRixJQUFBLElBQUEsT0FBQSxRQUE2QyxJQUFBLElBQUEsT0FBQSxRQUE4QyxJQUFBLElBQUEsT0FBQSxHQUN0SSxJQUFNLEVBQXlCLE9BQU8sR0FBWSxJQUFJLEdBRXRELEdBQUksRUFBVyxDQUNYLElBQU0sRUFBeUIsVUFBQSxRQUFRLEVBQVcsQ0FDOUMsU0FBVSxFQUNWLFNBQVMsRUFDVCxTQUFVLFNBQ1YsV0FBWSxTQUloQixPQURBLGlCQUFpQixFQUFhLEVBQWMsRUFBZ0IsRUFBVSxjQUFnQixHQUMvRSxHQU1mLFNBQVMsaUJBQWlCLEVBQWlDLEVBQWtDLEVBQW9DLEVBQThCLEdBQ3RJLENBQ2pCLENBQUUsU0FBVSxFQUFhLGdCQUFpQixFQUFRLE9BQVEsS0FBTSxTQUNoRSxDQUFFLFNBQVUsRUFBYyxnQkFBaUIsRUFBUSxRQUFTLEtBQU0sU0FDbEUsQ0FBRSxTQUFVLEVBQWdCLGdCQUFpQixFQUFRLE1BQU8sS0FBTSxTQUNsRSxDQUFFLFlBQWEsRUFBaUIsZ0JBQWlCLEVBQVEsY0FBZSxLQUFNLFVBR3JFLElBQUksU0FBQSxHQUNiLEdBQUksRUFBTSxTQUFVLENBQ2hCLElBQU0sRUFBK0IsT0FBTyxFQUFNLFVBQVUsSUFBSSxHQUM1RCxHQUNBLEVBQUksaUJBQWlCLEVBQU0sS0FBTSxFQUFNLHNCQUV0QyxFQUFNLGFBQ1EsVUFBZixFQUFNLE1BQ04sRUFBTSxZQUFZLGlCQUFpQixFQUFNLEtBQU0sRUFBTSxtQkFLckUsU0FBZ0Isb0JBQW9CLFNBRVQsUUFBdkIsRUFEK0IsT0FBTyxHQUFZLElBQUksR0FDNUMscUJBQWEsSUFBQSxHQUFBLEVBQUUsb0JBQW9CLFFBQVMsU0FBQSxPQUFPLE1BQU0sUUFBUyxlQXpDaEYsUUFBQSxXQUFBLFdBdUNBLFFBQUEsb0JBQUE7OzswNkJDM0NBLElBQUEsU0FBQSxRQUFBLFlBQ0EsUUFBQSxnQkFBQSxRQUFBLFVBQ0EsY0FBQSxhQUFBLFFBQUEsb0JBRUEsUUFBQSxnQkFBQSxRQUFBLFlBRUEsU0FBZ0IscUJBQXFCLEVBQVUsR0FDM0MsSUFDTSxFQURrQixLQUFLLE1BQU0sRUFBSSxNQUNaLFFBQVEsSUFFbkMsUUFBQSxRQUFNLElBQUksRUFBTyxDQUNiLGFBQWMsSUFFYixLQUFLLFNBQUMsR0FFSCxJQUFJLEdBQWdDLEVBQzlCLEVBQWtCLEVBQUksS0FDdEIsRUFBcUIsT0FBTyxVQUFVLEdBQ3RDLEVBQXFCLE9BQU8sR0FBWSxLQUFLLGFBQWEsTUFJaEUsR0FGQSxRQUFBLFFBQU0sV0FBVyxhQUFhLEdBRTFCLEVBQVUsQ0FDVixHQUF1QixFQUN2QixJQUFNLEVBQWUsRUFBcUMsa0JBQUMsaUJBQWlCLEVBQWdDLGFBQUMsUUFBUSxFQUF1QixJQUFDLGFBQWEsRUFBUSxlQUNsSyxjQUFjLGVBQWUsR0FHakMsSUFBTSxFQUFxQixDQUN2QixRQUFTLENBQ0wscUJBQXdCLEVBQ3hCLFdBQWMsRUFDZCxJQUFPLEdBRVgsS0FBTSxTQUNOLE1BQU8sOEJBQ1AsS0FBTSxLQUFLLE9BRWYsY0FBYyxZQUFZLEVBQVMsbUJBRXRDLE1BQU0sU0FBVSxHQUNiLFFBQUEsUUFBTSxXQUFXLHVDQUNqQixRQUFBLFFBQU0sV0FBVyxLQUk3QixTQUFnQix3QkFBd0IsR0FDcEMsSUFBTSxFQUFxQixDQUN2QixRQUFTLEVBQ1QsS0FBTSxTQUNOLE1BQU8sa0NBQ1AsS0FBTSxLQUFLLE9BRWYsY0FBYyxZQUFZLEVBQVMsaUJBR3ZDLFNBQWdCLGlCQUFpQixHQUM3QixjQUFjLFFBQVEsRUFBMkIsUUFBRyxnQkFBaUIsMkJBQTRCLFVBQ2pHLFNBQUEsT0FBTyxrQkFBbUIsRUFHOUIsU0FBZ0IsZUFBZSxFQUFVLEdBQ3JDLElBQU0sRUFBa0IsS0FBSyxNQUFNLEVBQUksTUFDakMsRUFBd0IsRUFBcUMsa0JBQUMsMEJBQTBCLEVBQUssUUFDbkcsY0FBYyxRQUFRLEVBQVksZ0JBQWlCLHdCQUF5QixVQUdoRixTQUFnQixjQUFjLEdBQzFCLElBQ00sRUFEa0IsS0FBSyxNQUFNLEVBQUksTUFDWixRQUFRLElBQ25DLE9BQU8sU0FBUyxLQUFPLEVBRzNCLFNBQWdCLGtCQUNaLElBQU0sRUFBNkIsU0FBQSxPQUFPLE9BQ3BDLEVBQVksU0FBQSxPQUFPLFVBQVUsR0FFbkMsUUFBQSxRQUFNLE9BQU8sRUFBVSxVQUFXLE1BQU8sUUF2RTdDLFFBQUEscUJBQUEscUJBd0NBLFFBQUEsd0JBQUEsd0JBVUEsUUFBQSxpQkFBQSxpQkFLQSxRQUFBLGVBQUEsZUFNQSxRQUFBLGNBQUEsY0FNQSxRQUFBLGdCQUFBOzs7MGpCQ3hFQSxJQUFBLFNBQUEsUUFBQSxZQUNJLE9BQVMsUUFBUSxVQUNyQixRQUFBLGdCQUFBLFFBQUEsWUFFQSxTQUFnQixtQkFDWixJQUFJLEVBQW9CLEdBS3hCLE9BSkEsT0FBTyxlQUFlLEtBQUssV0FDdkIsRUFBUSxLQUFLLE9BQU8sTUFBTSxVQUd2QixFQUFRLEtBQUssTUFHeEIsU0FBZ0IsVUFBVSxHQUN0QixJQUFNLEVBQXFCLE9BQU8sVUFBVSxHQUN4QyxFQUFtQixHQVV2QixPQVJBLE9BQU8sR0FBWSxLQUFLLFNBQVMsS0FBSyxXQUNsQyxJQUFNLEVBQWUsS0FBSyxLQUNwQixFQUFnQixLQUFLLE1BRWIsS0FBVixJQUNBLEVBQU8sR0FBUSxLQUdoQixFQUlYLFNBQWdCLG1CQUNaLEdBQUksT0FBTyxtQkFBbUIsT0FBUSxDQUNsQyxJQUFNLEVBQStCLE9BQU8sbUJBQW1CLEdBQUcsWUFFbEUsR0FBSSxNQUFBLE9BQWEsRUFBYixFQUFlLE9BQU8sT0FFdEIsTUFBeUIsQ0FDckIsY0FBaUIsRUFDakIscUJBSGlDLG1CQUFtQixLQVdwRSxTQUFnQixvQkFBb0IsR0FDaEMsSUFBTSxFQUFRLEVBQVUsTUFBTSxpQkFBa0IsR0FDMUMsRUFBVyxFQUFVLE1BQU0sb0JBQXFCLEdBQ2hELEVBQWEsRUFBVSxNQUFNLG1CQUFvQixHQUNqRCxFQUFvQixtQkFBbUIsR0FDdkMsRUFBVSxtQkFBc0IsRUFBVSxVQUFVLEVBQUssYUFBYSxFQUFRLDZFQUM5RSxFQUFnQixtQkFDaEIsRUFBdUIsRUFBa0IsTUFBTSxLQUFLLEdBQUcsTUFBTSxLQUFLLE1BQU0sR0FBRyxHQUFHLEtBQUssS0FBSSxrQkFFN0YsTUFBa0IsQ0FDZCxNQUFTLEVBQ1QsU0FBWSxFQUNaLFdBQWMsRUFDZCxrQkFBcUIsRUFDckIsUUFBVyxFQUNYLGNBQWlCLEVBQ2pCLGtCQUFxQixHQUk3QixTQUFnQixnQkFDWixJQUFNLEVBQXdCLE9BQU8seUJBQXlCLElBQUksR0FFbEUsR0FBSSxFQUNBLE1BQXNCLENBQ2xCLGNBQWUsRUFBSSxJQUNuQixpQkFBa0IsRUFBSSxPQUN0QixnQkFBaUIsRUFBSSxPQU9qQyxTQUFnQixVQUNaLEdBQUssT0FBTyxvQkFBb0IsT0FBaEMsQ0FHQSxJQUVNLEVBRmMsT0FBTyxzQkFBc0IsS0FBSyxXQUVYLE1BRGhDLDRCQUdYLE9BQU8sRUFBUSxFQUFNLFFBQUssR0FHOUIsU0FBZ0IsZUFDWixJQUFNLEVBQXVCLFNBQUEsT0FBTyxNQUFNLFdBQ3BDLEVBQTJCLEVBQVMsY0FBYyxHQUFHLGtCQUFrQixHQUFHLFFBQzFFLEVBQW9CLEVBQVMsTUFBTSxHQUNuQyxFQUFpQixFQUFTLE1BQU0sR0FDaEMsRUFBOEIsRUFBUyxhQUFhLEdBQ3BELEVBQWdCLElBQUksS0FBSyxTQUFTLEVBQU0sS0FBSyxJQUFLLFNBQVMsRUFBTSxNQUFNLElBQU0sRUFBRyxTQUFTLEVBQU0sSUFBSSxJQUFLLFNBQVMsRUFBTSxLQUFLLElBQUssU0FBUyxFQUFNLE9BQU8sS0FDdkosRUFBa0IsQ0FBQyxFQUFRLGVBQWUsQ0FBQyxTQUFVLENBQUUsUUFBUyxPQUFRLElBQUssVUFBVyxNQUFPLFVBQVcsS0FBTSxVQUFXLEtBQU0sVUFBVyxPQUFRLFVBQVcsYUFBYyxXQUM3SyxFQUFvQixDQUFDLFFBQUEsUUFBTSxXQUFXLEVBQVMsVUFDL0MsRUFBa0IsRUFBVyxJQUFJLFNBQUEsR0FBUSxPQUFBLFNBQVMsRUFBSyxVQUFVLE1BQUssT0FBTyxTQUFDLEVBQU0sR0FBUyxPQUFBLEVBQU8sSUFFcEcsRUFBNkIsQ0FDL0Isc0JBQXVCLEVBQWEsU0FDcEMsa0JBQW1CLEVBQWEsS0FDaEMsa0JBQW1CLEVBQWEsS0FDaEMsZ0JBQWlCLEVBQWEsR0FDOUIsdUJBQXdCLEVBQWEsVUFDckMsOEJBQStCLEVBQWEsaUJBQzVDLDZCQUE4QixFQUFhLGdCQUMzQyxNQUFPLEVBQ1AsUUFBUyxFQUNULGdCQUFpQixHQUdyQixPQUFPLFNBQUEsU0FBQSxHQUFrQixHQUFhLEdBOUcxQyxRQUFBLGlCQUFBLGlCQVNBLFFBQUEsVUFBQSxVQWdCQSxRQUFBLGlCQUFBLGlCQWdCQSxRQUFBLG9CQUFBLG9CQW9CQSxRQUFBLGNBQUEsY0FjQSxRQUFBLFFBQUEsUUFXQSxRQUFBLGFBQUE7OzswL0JDM0ZBLElBQUEsU0FBQSxRQUFBLFlBRUEsVUFBQSxhQUFBLFFBQUEsZ0JBQ0EsV0FBQSxhQUFBLFFBQUEsaUJBRUEsU0FBZ0IsZUFBZSxHQUMzQixrQkFBa0IsR0FDbEIsSUFBTSxFQUF1QixTQUFBLE9BQU8sTUFBTSxpQkFBaUIsRUFBZSxJQUFJLEtBQUssU0FBUyxHQUFHLEdBQ3pGLEVBQTJDLFVBQVUsNkNBQTZDLEdBRXhHLEdBQUksRUFBZSxDQUNmLElBQU0sRUFBMkIsRUFBYyxXQUFXLEdBQUcsR0FBRyxHQUMxRCxFQUFvQyxVQUFVLDhCQUE4QixHQUVsRixvQkFEcUQsQ0FBQyxFQUFlLEdBQUksRUFBa0IsU0FJM0YsUUFBUSxLQUFLLDJFQUEyRSxHQUdoRyxTQUFnQixvQkFBb0IsVUFDekIsU0FBQSxPQUFPLE1BQU0saUJBQWlCLEVBQWUsSUFFcEQsSUFBTSxFQUFnQixTQUFBLE9BQU8sTUFBTSxpQkFBaUIsVUFBVSxTQUFBLEdBQU8sT0FBQSxFQUFJLEtBQU8sRUFBZSxLQUMvRixTQUFBLE9BQU8sTUFBTSxpQkFBaUIsT0FBTyxFQUFPLEdBRTVDLFNBQUEsT0FBTyxNQUFNLGFBQWMsRUFFdEIsU0FBQSxPQUFPLE1BQU0saUJBQWlCLFFBQy9CLE9BQU8sc0JBQXNCLE9BR3JDLFNBQWdCLDRCQUE0QixHQUN4QyxJQUFNLEVBQWUsU0FBQSxPQUFPLE1BQU0sUUFFbEMsT0FBSSxTQUFBLE9BQU8sTUFBTSxpQkFBaUIsUUFBVSxTQUFBLE9BQU8sbUJBQy9DLFdBQVcsZUFBZSxzQkFBc0IsU0FBQSxPQUFPLGlCQUFnQixzQkFDdkUsRUFBUSxPQUFPLEVBQVUsR0FBSSxjQUN0QixHQU1mLFNBQVMsb0JBQW9CLEdBQ3JCLEVBQU8sTUFBTSxTQUFBLEdBQUssT0FBMEIsT0FBMUIsTUFDbEIsU0FBQSxPQUFPLE1BQU0saUJBQWlCLEtBQWUsR0FDN0MsU0FBQSxPQUFPLE1BQU0sYUFBYyxHQUluQyxTQUFTLGtCQUFrQixTQUVqQixJQUFPLEVBQUEsSUFEVSxFQUFlLElBRXhCLEtBR2QsU0FBQSxPQUFPLE1BQU0saUJBQWdCLFNBQUEsU0FBQSxHQUFRLFNBQUEsT0FBTyxNQUFNLGtCQUFxQixHQXBEM0UsUUFBQSxlQUFBLGVBZUEsUUFBQSxvQkFBQSxvQkFZQSxRQUFBLDRCQUFBOzs7d2dDQy9CQSxJQUFBLGNBQUEsYUFBQSxRQUFBLG9CQUNBLFNBQUEsUUFBQSxZQUNBLE9BQUEsYUFBQSxRQUFBLGFBQ0EsUUFBQSxhQUFBLFFBQUEsY0FDQSxZQUFBLGFBQUEsUUFBQSxrQkFDQSxRQUFBLGdCQUFBLFFBQUEsWUFFQSxTQUFnQixnQkFBZ0IsRUFBK0IsR0FDM0QsSUFBTSxFQUFzQyxTQUFTLGVBQWUsR0FFcEUsR0FBSSxFQUNBLElBQXVCLElBQUEsRUFBQSxFQUFBLEVBQUEsRUFBQSxFQUFBLEVBQUEsT0FBQSxJQUFrQixDQUFwQyxJQUFJLEVBQVUsRUFBQSxHQUNYLEVBQXlCLFNBQVMsY0FBYyxVQUNwRCxFQUFJLE1BQVEsRUFBVyxHQUFHLEdBQzFCLEVBQUksVUFBWSxFQUFXLEtBQUssR0FDaEMsRUFBZ0IsWUFBWSxJQUt4QyxTQUFnQixhQUFhLEdBQ3pCLElBQU0sRUFBa0IsU0FBQSxPQUFPLE1BQU0sZ0JBRXJDLE9BQU8sdUNBQXVDLEdBQUcsV0FBVyxHQUFHLFlBQWMsRUFBWSxLQUFLLEdBQzlGLE9BQU8sb0JBQW9CLEdBQUcsV0FBVyxHQUFHLFlBQWMsRUFBWSxNQUFNLEdBQzVFLE9BQU8sd0JBQXdCLEdBQUcsV0FBVyxHQUFHLFlBQWMsRUFBZ0IsY0FDOUUsT0FBTyx3QkFBd0IsR0FBRyxXQUFXLEdBQUcsWUFBYyxzQkFBc0IsRUFBWSxnQkFBZSxRQUFRLEVBQVksc0JBQXNCLEdBRzdKLFNBQWdCLGVBQ1osSUFDTSxFQUFjLFFBQUEsUUFBTSxlQUFlLFdBRXpDLE9BQU8sa0JBQWtCLE9BQ3JCLE9BSnVCLDhIQUtsQixLQUFLLE1BQU8sSUFDaEIsT0FBTyxDQUNKLE9BQU8sRUFDUCxVQUFVLEVBQ1YsZUFBZSxFQUNmLFdBQVcsRUFDWCxNQUFNLEVBQ04sTUFBTSxFQUNOLFdBQVcsRUFDWCxNQUFPLEdBQ1AsTUFBTyxPQUNQLE9BQVEsT0FDUixNQUFPLFdBQU0sT0FBQSxPQUFPLGNBQWMsSUFBSSxXQUFZLFdBRzFELE9BQU8saUJBR1gsU0FBZ0Isc0JBQXNCLEdBQzlCLFNBQUEsT0FBTyxNQUFNLFNBQ2IsUUFBUSxvQkFBb0IsR0FFaEMsT0FBTywwQkFBMEIsU0FDakMsT0FBTyw4QkFBOEIsV0FBVyxTQUNoRCxPQUFPLDhCQUE4QixPQUFPLDBDQUM1QyxPQUFPLG1CQUFtQixTQUMxQixPQUFPLHVCQUF1QixPQUFPLG1DQUd6QyxTQUFnQixrQkFBa0IsR0FDYixTQUFiLEVBQ0EsT0FBTyxRQUFRLFlBQVksNEJBQ1QsU0FBYixHQUNMLE9BQU8sUUFBUSxTQUFTLDRCQUdoQyxTQUFnQixtQkFDWixJQUFNLEVBQXFDLFNBQUEsT0FBTyxNQUFNLHFCQUVsQixJQUFsQyxFQUFnQixlQUNoQixPQUFPLG1CQUFtQixLQUFLLE1BQU8sRUFBZ0IsZUFHOUQsU0FBZ0Isa0JBQ1osT0FBTyxzQkFBc0IsT0FBTyxLQUNwQyxjQUFjLGtCQUFrQiw4QkFHcEMsU0FBZ0Isd0JBSVosT0FINkIsU0FBQSxPQUFPLE1BQU0sV0FDWSxNQUFNLEdBQUcsWUFBWSxHQUFHLFdBRW5ELElBQUksU0FBQSxHQUczQixNQUFPLEtBRlksRUFBSSxHQUFHLEdBRVoseUJBRE0sSUFBSSxFQUFJLE1BQU0sR0FBRSxlQUNPLFFBQzVDLEtBQUssUUFHWixTQUFnQixvQkFDWixZQUFZLHVCQUF1QixRQUNuQyxPQUFPLGdCQUFnQixPQUN2QixPQUFPLGdDQUFnQyxTQUFTLGFBR3BELFNBQWdCLGdCQUNaLE9BQU8sc0JBQXNCLEdBQUcsVUFBWSxTQUFBLE9BQU8sUUFDbkQsT0FBTyxxQkFBcUIsR0FBRyxVQUFZLElBQUksU0FBQSxPQUFPLE9BQU0sSUEvRmhFLFFBQUEsZ0JBQUEsZ0JBYUEsUUFBQSxhQUFBLGFBU0EsUUFBQSxhQUFBLGFBd0JBLFFBQUEsc0JBQUEsc0JBV0EsUUFBQSxrQkFBQSxrQkFPQSxRQUFBLGlCQUFBLGlCQU9BLFFBQUEsZ0JBQUEsZ0JBS0EsUUFBQSxzQkFBQSxzQkFXQSxRQUFBLGtCQUFBLGtCQU1BLFFBQUEsY0FBQTs7O29FQ3BHQSxJQUFBLFNBQUEsUUFBQSxZQUVBLE1BQUEsV0FBQSxTQUFBLEtBd0dBLE9BdEdXLEVBQUEsZUFBUCxTQUFzQixFQUF1QyxFQUFzQixFQUFtRCxFQUFvQyxRQUF2RixJQUFBLElBQUEsRUFBQSxpQkFBbUQsSUFBQSxJQUFBLEVBQUEsVUFBb0MsSUFBQSxJQUFBLEVBQUEsS0FDdEssSUFBTSxFQUF3QixLQUFLLE9BRW5DLFNBQVUsS0FDOEMsYUFBYixFQUEwQixPQUFlLEdBQVksSUFBSSxHQUFLLEVBQU0sc0JBR3ZHLEVBQU0sV0FBVyxTQUNqQixNQUdBLEVBQU0sV0FBVyxpQkFBaUIsR0FDbEMsV0FBVyxXQUNILEdBQWlCLEtBQUssTUFBUSxFQUFnQixHQUdsRCxLQUNELElBZFgsSUFtQkcsRUFBQSxrQkFBUCxXQUNJLElBQU0sRUFBcUMsT0FBUSxPQUFPLHFCQUFxQixXQUMvRSxPQUFPLEVBQU0sV0FBVyxJQUdyQixFQUFBLGVBQVAsU0FBc0IsR0FDbEIsSUFBTSxFQUFxQyxPQUFRLE9BQU8scUJBQXFCLFdBQy9FLEtBQUssZUFBZSxFQUFZLEVBQVksWUFHekMsRUFBQSxjQUFQLFNBQXFCLEdBQ2pCLE9BQXdDLE1BQXBDLFNBQVMsY0FBYyxJQU14QixFQUFBLFdBQVAsU0FBa0IsR0FDZCxNQUE2QixtQkFBZixHQUdYLEVBQUEsT0FBUCxTQUFjLEVBQW1CLEVBQXVCLEdBQ3BELElBQUksRUFFSixZQUg2QixJQUFBLElBQUEsRUFBQSxXQUF1QixJQUFBLElBQUEsRUFBQSxRQUc1QyxHQUNKLElBQUssTUFDRCxFQUFTLFNBQVMsY0FBYyxXQUN6QixLQUFPLGtCQUNkLEVBQU8sSUFBTSxFQUNiLE1BRUosSUFBSyxPQUNELEVBQVMsU0FBUyxjQUFjLFNBQ3pCLEtBQU8sV0FDSSxFQUFRLElBQU0sYUFDZCxFQUFRLEtBQU8sRUFDakMsTUFFSixJQUFLLGFBQ0QsRUFBUyxTQUFTLGNBQWMsVUFDekIsS0FBTyxXQUNkLEVBQU8sVUFBWSxFQUNuQixNQUVKLElBQUssVUFDRCxFQUFTLFNBQVMsY0FBYyxXQUN6QixLQUFPLGtCQUNkLEVBQU8sVUFBWSxFQUNuQixNQUVKLFFBQ0ksT0FBUyxFQUliLEdBQ0EsRUFBTSxhQUFhLEVBQVEsSUFHNUIsRUFBQSxhQUFQLFNBQW9CLEVBQThCLEdBQ2hDLFNBQVYsRUFDQSxTQUFTLEtBQUssWUFBWSxHQUNYLFNBQVYsR0FDTCxTQUFTLEtBQUssWUFBWSxJQUczQixFQUFBLFdBQVAsU0FBa0IsRUFBYyxHQUM1QixPQUFPLEVBQU8sbUJBQW1CLEVBQVUsQ0FBRSxRQUFTLFVBR25ELEVBQUEsV0FBUCxTQUFrQixHQUNWLEdBSUQsRUFBQSxlQUFQLFNBQXNCLEdBQ2xCLElBQU0sRUFBNkIsU0FBQSxPQUFPLE9BRTFDLE9BRGtCLFNBQUEsT0FBTyxVQUFVLEdBQ2xCLElBRXpCLEVBeEdBOzs7bVhDREEsSUFBQSxTQUFBLFFBQUEsWUFFQSxTQUFnQixjQUNaLElBQU0sRUFBa0IsU0FBQSxPQUFPLE1BQU0sZ0JBRWhDLEVBQWdCLE9BR0ssRUFBZ0IsS0FBSyxNQUFNLElBQUksSUFBSSxRQUVoRCxJQUNULE9BQU8sc0JBQXNCLFFBR3JDLFNBQWdCLDBCQUEwQixTQUl0QyxPQUF3RCxRQUFqRCxFQUhzQixTQUFBLE9BQU8sTUFBTSxXQUNELGNBQWMsR0FBRyxlQUFlLEdBQUcsUUFFMUQsS0FBSyxTQUFBLEdBQU8sT0FBQSxJQUFnQixFQUFJLEdBQUcsWUFBRyxJQUFBLE9BQUEsRUFBQSxFQUFFLEtBQUssR0FHbkUsU0FBZ0IseUNBQXlDLEVBQXFDLFNBSTFGLE9BQXFGLFFBQTlFLEVBSHNCLFNBQUEsT0FBTyxNQUFNLFdBQ1csTUFBTSxHQUFHLFlBQVksR0FBRyxXQUVuRCxLQUFLLFNBQUEsR0FBTyxPQUFBLEVBQUksR0FBRyxLQUFPLEVBQWlCLE9BQU0sV0FBVSxJQUFBLE9BQUEsRUFBQSxFQUFHLEdBQVksR0FHeEcsU0FBZ0IsOEJBQThCLFNBSTFDLE9BQWlFLFFBQTFELEVBSHNCLFNBQUEsT0FBTyxNQUFNLFdBQ1MsTUFBTSxHQUFHLFlBQVksR0FBRyxXQUVsRCxLQUFLLFNBQUEsR0FBTyxPQUFBLElBQWtCLEVBQUksR0FBRyxZQUFHLElBQUEsT0FBQSxFQUFBLEVBQUUsS0FBSyxHQUc1RSxTQUFnQixzQkFBc0IsRUFBdUIsU0FDbkQsRUFBNEUsUUFBcEUsRUFBQSxNQUFBLE9BQWUsRUFBZixFQUFpQixXQUFXLEtBQUssU0FBQSxHQUFPLE9BQUEsRUFBSSxHQUFHLEtBQU8sV0FBYyxJQUFBLE9BQUEsRUFBQSxFQUFFLE1BQU0sR0FDMUYsT0FBTyxFQUFRLFdBQVcsUUFBUyxFQUd2QyxTQUFnQiw2Q0FBNkMsR0FHekQsT0FGNkIsU0FBQSxPQUFPLE1BQU0sV0FDVyxnQkFBZ0IsR0FBRyxXQUM5QyxLQUFLLFNBQUEsR0FBTyxPQUFBLEVBQUksR0FBRyxLQUFPLElBR3hELFNBQWdCLDRCQUE0QixHQUN4QyxJQUFNLEVBQTRDLGdDQUFnQyxHQUNsRixPQUFPLEVBQWdCLEVBQWMsSUFBSSxTQUFBLEdBQU8sTUFBQSxDQUFDLEVBQUksR0FBRyxHQUFJLEVBQUksTUFBTSxHQUFJLGlCQUFpQixXQUFTLEVBR3hHLFNBQWdCLDhCQUNaLE9BQVEsU0FBQSxPQUFPLE1BQU0saUJBQWlCLElBQUksU0FBQSxHQUFPLE9BQUEsRUFBSSxLQUFLLE9BQU8sS0FBSyxLQUcxRSxTQUFTLGdDQUFnQyxTQUlyQyxPQUFtRSxRQUE1RCxFQUhzQixTQUFBLE9BQU8sTUFBTSxXQUNXLGdCQUFnQixHQUFHLFdBRTlDLEtBQUssU0FBQSxHQUFPLE9BQUEsRUFBSSxHQUFHLEtBQU8sV0FBZSxJQUFBLE9BQUEsRUFBQSxFQUFFLFdBR3pFLFNBQVMsaUJBQWlCLFNBSXRCLE9BQW9GLFFBQTdFLEVBSHNCLFNBQUEsT0FBTyxNQUFNLFdBQ0ksTUFBTSxHQUFHLFlBQVksR0FBRyxXQUVsRCxLQUFLLFNBQUEsR0FBTyxPQUFBLEVBQUksR0FBRyxLQUFPLEVBQU0sR0FBRyxHQUFLLEVBQUksS0FBSyxRQUFLLFdBQVUsSUFBQSxPQUFBLEVBQUEsRUFBRSxLQUFLLEdBaEUvRixRQUFBLFlBQUEsWUFZQSxRQUFBLDBCQUFBLDBCQU9BLFFBQUEseUNBQUEseUNBT0EsUUFBQSw4QkFBQSw4QkFPQSxRQUFBLHNCQUFBLHNCQUtBLFFBQUEsNkNBQUEsNkNBTUEsUUFBQSw0QkFBQSw0QkFLQSxRQUFBLDRCQUFBIiwiZmlsZSI6ImdlbmVyYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24oKXtmdW5jdGlvbiByKGUsbix0KXtmdW5jdGlvbiBvKGksZil7aWYoIW5baV0pe2lmKCFlW2ldKXt2YXIgYz1cImZ1bmN0aW9uXCI9PXR5cGVvZiByZXF1aXJlJiZyZXF1aXJlO2lmKCFmJiZjKXJldHVybiBjKGksITApO2lmKHUpcmV0dXJuIHUoaSwhMCk7dmFyIGE9bmV3IEVycm9yKFwiQ2Fubm90IGZpbmQgbW9kdWxlICdcIitpK1wiJ1wiKTt0aHJvdyBhLmNvZGU9XCJNT0RVTEVfTk9UX0ZPVU5EXCIsYX12YXIgcD1uW2ldPXtleHBvcnRzOnt9fTtlW2ldWzBdLmNhbGwocC5leHBvcnRzLGZ1bmN0aW9uKHIpe3ZhciBuPWVbaV1bMV1bcl07cmV0dXJuIG8obnx8cil9LHAscC5leHBvcnRzLHIsZSxuLHQpfXJldHVybiBuW2ldLmV4cG9ydHN9Zm9yKHZhciB1PVwiZnVuY3Rpb25cIj09dHlwZW9mIHJlcXVpcmUmJnJlcXVpcmUsaT0wO2k8dC5sZW5ndGg7aSsrKW8odFtpXSk7cmV0dXJuIG99cmV0dXJuIHJ9KSgpIiwiIWZ1bmN0aW9uKHQsZSl7XCJvYmplY3RcIj09dHlwZW9mIGV4cG9ydHMmJlwidW5kZWZpbmVkXCIhPXR5cGVvZiBtb2R1bGU/bW9kdWxlLmV4cG9ydHM9ZSgpOlwiZnVuY3Rpb25cIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoZSk6KHQ9XCJ1bmRlZmluZWRcIiE9dHlwZW9mIGdsb2JhbFRoaXM/Z2xvYmFsVGhpczp0fHxzZWxmKS5QYW56b29tPWUoKX0odGhpcyxmdW5jdGlvbigpe1widXNlIHN0cmljdFwiO3ZhciB0PWZ1bmN0aW9uKCl7cmV0dXJuKHQ9T2JqZWN0LmFzc2lnbnx8ZnVuY3Rpb24odCl7Zm9yKHZhciBlLG49MSxvPWFyZ3VtZW50cy5sZW5ndGg7bjxvO24rKylmb3IodmFyIHIgaW4gZT1hcmd1bWVudHNbbl0pT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUscikmJih0W3JdPWVbcl0pO3JldHVybiB0fSkuYXBwbHkodGhpcyxhcmd1bWVudHMpfTtmdW5jdGlvbiBlKHQsZSl7Zm9yKHZhciBuPXQubGVuZ3RoO24tLTspaWYodFtuXS5wb2ludGVySWQ9PT1lLnBvaW50ZXJJZClyZXR1cm4gbjtyZXR1cm4tMX1mdW5jdGlvbiBuKHQsbyl7dmFyIHI7aWYoby50b3VjaGVzKXtyPTA7Zm9yKHZhciBhPTAsaT1vLnRvdWNoZXM7YTxpLmxlbmd0aDthKyspe3ZhciBjPWlbYV07Yy5wb2ludGVySWQ9cisrLG4odCxjKX19ZWxzZShyPWUodCxvKSk+LTEmJnQuc3BsaWNlKHIsMSksdC5wdXNoKG8pfWZ1bmN0aW9uIG8odCl7Zm9yKHZhciBlLG49KHQ9dC5zbGljZSgwKSkucG9wKCk7ZT10LnBvcCgpOyluPXtjbGllbnRYOihlLmNsaWVudFgtbi5jbGllbnRYKS8yK24uY2xpZW50WCxjbGllbnRZOihlLmNsaWVudFktbi5jbGllbnRZKS8yK24uY2xpZW50WX07cmV0dXJuIG59ZnVuY3Rpb24gcih0KXtpZih0Lmxlbmd0aDwyKXJldHVybiAwO3ZhciBlPXRbMF0sbj10WzFdO3JldHVybiBNYXRoLnNxcnQoTWF0aC5wb3coTWF0aC5hYnMobi5jbGllbnRYLWUuY2xpZW50WCksMikrTWF0aC5wb3coTWF0aC5hYnMobi5jbGllbnRZLWUuY2xpZW50WSksMikpfVwidW5kZWZpbmVkXCIhPXR5cGVvZiB3aW5kb3cmJih3aW5kb3cuTm9kZUxpc3QmJiFOb2RlTGlzdC5wcm90b3R5cGUuZm9yRWFjaCYmKE5vZGVMaXN0LnByb3RvdHlwZS5mb3JFYWNoPUFycmF5LnByb3RvdHlwZS5mb3JFYWNoKSxcImZ1bmN0aW9uXCIhPXR5cGVvZiB3aW5kb3cuQ3VzdG9tRXZlbnQmJih3aW5kb3cuQ3VzdG9tRXZlbnQ9ZnVuY3Rpb24odCxlKXtlPWV8fHtidWJibGVzOiExLGNhbmNlbGFibGU6ITEsZGV0YWlsOm51bGx9O3ZhciBuPWRvY3VtZW50LmNyZWF0ZUV2ZW50KFwiQ3VzdG9tRXZlbnRcIik7cmV0dXJuIG4uaW5pdEN1c3RvbUV2ZW50KHQsZS5idWJibGVzLGUuY2FuY2VsYWJsZSxlLmRldGFpbCksbn0pKTt2YXIgYT17ZG93bjpcIm1vdXNlZG93blwiLG1vdmU6XCJtb3VzZW1vdmVcIix1cDpcIm1vdXNldXAgbW91c2VsZWF2ZVwifTtmdW5jdGlvbiBpKHQsZSxuLG8pe2FbdF0uc3BsaXQoXCIgXCIpLmZvckVhY2goZnVuY3Rpb24odCl7ZS5hZGRFdmVudExpc3RlbmVyKHQsbixvKX0pfWZ1bmN0aW9uIGModCxlLG4pe2FbdF0uc3BsaXQoXCIgXCIpLmZvckVhY2goZnVuY3Rpb24odCl7ZS5yZW1vdmVFdmVudExpc3RlbmVyKHQsbil9KX1cInVuZGVmaW5lZFwiIT10eXBlb2Ygd2luZG93JiYoXCJmdW5jdGlvblwiPT10eXBlb2Ygd2luZG93LlBvaW50ZXJFdmVudD9hPXtkb3duOlwicG9pbnRlcmRvd25cIixtb3ZlOlwicG9pbnRlcm1vdmVcIix1cDpcInBvaW50ZXJ1cCBwb2ludGVybGVhdmUgcG9pbnRlcmNhbmNlbFwifTpcImZ1bmN0aW9uXCI9PXR5cGVvZiB3aW5kb3cuVG91Y2hFdmVudCYmKGE9e2Rvd246XCJ0b3VjaHN0YXJ0XCIsbW92ZTpcInRvdWNobW92ZVwiLHVwOlwidG91Y2hlbmQgdG91Y2hjYW5jZWxcIn0pKTt2YXIgbCxwPVwidW5kZWZpbmVkXCIhPXR5cGVvZiBkb2N1bWVudCYmISFkb2N1bWVudC5kb2N1bWVudE1vZGU7ZnVuY3Rpb24gdSgpe3JldHVybiBsfHwobD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpLnN0eWxlKX12YXIgZD1bXCJ3ZWJraXRcIixcIm1velwiLFwibXNcIl0scz17fTtmdW5jdGlvbiBmKHQpe2lmKHNbdF0pcmV0dXJuIHNbdF07dmFyIGU9dSgpO2lmKHQgaW4gZSlyZXR1cm4gc1t0XT10O2Zvcih2YXIgbj10WzBdLnRvVXBwZXJDYXNlKCkrdC5zbGljZSgxKSxvPWQubGVuZ3RoO28tLTspe3ZhciByPVwiXCIrZFtvXStuO2lmKHIgaW4gZSlyZXR1cm4gc1t0XT1yfX1mdW5jdGlvbiBtKHQsZSl7cmV0dXJuIHBhcnNlRmxvYXQoZVtmKHQpXSl8fDB9ZnVuY3Rpb24gaCh0LGUsbil7dm9pZCAwPT09biYmKG49d2luZG93LmdldENvbXB1dGVkU3R5bGUodCkpO3ZhciBvPVwiYm9yZGVyXCI9PT1lP1wiV2lkdGhcIjpcIlwiO3JldHVybntsZWZ0Om0oZStcIkxlZnRcIitvLG4pLHJpZ2h0Om0oZStcIlJpZ2h0XCIrbyxuKSx0b3A6bShlK1wiVG9wXCIrbyxuKSxib3R0b206bShlK1wiQm90dG9tXCIrbyxuKX19ZnVuY3Rpb24gdih0LGUsbil7dC5zdHlsZVtmKGUpXT1ufWZ1bmN0aW9uIGcodCl7dmFyIGU9dC5wYXJlbnROb2RlLG49d2luZG93LmdldENvbXB1dGVkU3R5bGUodCksbz13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlKSxyPXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksYT1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybntlbGVtOntzdHlsZTpuLHdpZHRoOnIud2lkdGgsaGVpZ2h0OnIuaGVpZ2h0LHRvcDpyLnRvcCxib3R0b206ci5ib3R0b20sbGVmdDpyLmxlZnQscmlnaHQ6ci5yaWdodCxtYXJnaW46aCh0LFwibWFyZ2luXCIsbiksYm9yZGVyOmgodCxcImJvcmRlclwiLG4pfSxwYXJlbnQ6e3N0eWxlOm8sd2lkdGg6YS53aWR0aCxoZWlnaHQ6YS5oZWlnaHQsdG9wOmEudG9wLGJvdHRvbTphLmJvdHRvbSxsZWZ0OmEubGVmdCxyaWdodDphLnJpZ2h0LHBhZGRpbmc6aChlLFwicGFkZGluZ1wiLG8pLGJvcmRlcjpoKGUsXCJib3JkZXJcIixvKX19fWZ1bmN0aW9uIHkodCxlKXtyZXR1cm4gMT09PXQubm9kZVR5cGUmJihcIiBcIitmdW5jdGlvbih0KXtyZXR1cm4odC5nZXRBdHRyaWJ1dGUoXCJjbGFzc1wiKXx8XCJcIikudHJpbSgpfSh0KStcIiBcIikuaW5kZXhPZihcIiBcIitlK1wiIFwiKT4tMX12YXIgdz0vXmh0dHA6W1xcd1xcLlxcL10rc3ZnJC87dmFyIGI9e2FuaW1hdGU6ITEsY2FudmFzOiExLGN1cnNvcjpcIm1vdmVcIixkaXNhYmxlUGFuOiExLGRpc2FibGVab29tOiExLGRpc2FibGVYQXhpczohMSxkaXNhYmxlWUF4aXM6ITEsZHVyYXRpb246MjAwLGVhc2luZzpcImVhc2UtaW4tb3V0XCIsZXhjbHVkZTpbXSxleGNsdWRlQ2xhc3M6XCJwYW56b29tLWV4Y2x1ZGVcIixoYW5kbGVTdGFydEV2ZW50OmZ1bmN0aW9uKHQpe3QucHJldmVudERlZmF1bHQoKSx0LnN0b3BQcm9wYWdhdGlvbigpfSxtYXhTY2FsZTo0LG1pblNjYWxlOi4xMjUsb3ZlcmZsb3c6XCJoaWRkZW5cIixwYW5Pbmx5V2hlblpvb21lZDohMSxyZWxhdGl2ZTohMSxzZXRUcmFuc2Zvcm06ZnVuY3Rpb24odCxlLG4pe3ZhciBvPWUueCxyPWUueSxhPWUuc2NhbGUsaT1lLmlzU1ZHO2lmKHYodCxcInRyYW5zZm9ybVwiLFwic2NhbGUoXCIrYStcIikgdHJhbnNsYXRlKFwiK28rXCJweCwgXCIrcitcInB4KVwiKSxpJiZwKXt2YXIgYz13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0KS5nZXRQcm9wZXJ0eVZhbHVlKFwidHJhbnNmb3JtXCIpO3Quc2V0QXR0cmlidXRlKFwidHJhbnNmb3JtXCIsYyl9fSxzdGFydFg6MCxzdGFydFk6MCxzdGFydFNjYWxlOjEsc3RlcDouMyx0b3VjaEFjdGlvbjpcIm5vbmVcIn07ZnVuY3Rpb24geChsLHApe2lmKCFsKXRocm93IG5ldyBFcnJvcihcIlBhbnpvb20gcmVxdWlyZXMgYW4gZWxlbWVudCBhcyBhbiBhcmd1bWVudFwiKTtpZigxIT09bC5ub2RlVHlwZSl0aHJvdyBuZXcgRXJyb3IoXCJQYW56b29tIHJlcXVpcmVzIGFuIGVsZW1lbnQgd2l0aCBhIG5vZGVUeXBlIG9mIDFcIik7aWYoIWZ1bmN0aW9uKHQpe3ZhciBlPXQub3duZXJEb2N1bWVudCxuPXQucGFyZW50Tm9kZTtyZXR1cm4gZSYmbiYmOT09PWUubm9kZVR5cGUmJjE9PT1uLm5vZGVUeXBlJiZlLmRvY3VtZW50RWxlbWVudC5jb250YWlucyhuKX0obCkpdGhyb3cgbmV3IEVycm9yKFwiUGFuem9vbSBzaG91bGQgYmUgY2FsbGVkIG9uIGVsZW1lbnRzIHRoYXQgaGF2ZSBiZWVuIGF0dGFjaGVkIHRvIHRoZSBET01cIik7cD10KHQoe30sYikscCk7dmFyIHU9ZnVuY3Rpb24odCl7cmV0dXJuIHcudGVzdCh0Lm5hbWVzcGFjZVVSSSkmJlwic3ZnXCIhPT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCl9KGwpLGQ9bC5wYXJlbnROb2RlO2Quc3R5bGUub3ZlcmZsb3c9cC5vdmVyZmxvdyxkLnN0eWxlLnVzZXJTZWxlY3Q9XCJub25lXCIsZC5zdHlsZS50b3VjaEFjdGlvbj1wLnRvdWNoQWN0aW9uLChwLmNhbnZhcz9kOmwpLnN0eWxlLmN1cnNvcj1wLmN1cnNvcixsLnN0eWxlLnVzZXJTZWxlY3Q9XCJub25lXCIsbC5zdHlsZS50b3VjaEFjdGlvbj1wLnRvdWNoQWN0aW9uLHYobCxcInRyYW5zZm9ybU9yaWdpblwiLFwic3RyaW5nXCI9PXR5cGVvZiBwLm9yaWdpbj9wLm9yaWdpbjp1P1wiMCAwXCI6XCI1MCUgNTAlXCIpO3ZhciBzLG0saCx4LFMsRSxNPTAsTz0wLFA9MSx6PSExO2Z1bmN0aW9uIEEodCxlLG4pe2lmKCFuLnNpbGVudCl7dmFyIG89bmV3IEN1c3RvbUV2ZW50KHQse2RldGFpbDplfSk7bC5kaXNwYXRjaEV2ZW50KG8pfX1mdW5jdGlvbiBYKHQsZSl7dmFyIG49e3g6TSx5Ok8sc2NhbGU6UCxpc1NWRzp1fTtyZXR1cm4gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7XCJib29sZWFuXCI9PXR5cGVvZiBlLmFuaW1hdGUmJihlLmFuaW1hdGU/ZnVuY3Rpb24odCxlKXt2KHQsXCJ0cmFuc2l0aW9uXCIsZihcInRyYW5zZm9ybVwiKStcIiBcIitlLmR1cmF0aW9uK1wibXMgXCIrZS5lYXNpbmcpfShsLGUpOnYobCxcInRyYW5zaXRpb25cIixcIm5vbmVcIikpLGUuc2V0VHJhbnNmb3JtKGwsbixlKX0pLEEodCxuLGUpLEEoXCJwYW56b29tY2hhbmdlXCIsbixlKSxufWZ1bmN0aW9uIFkoKXtpZihwLmNvbnRhaW4pe3ZhciB0PWcobCksZT10LnBhcmVudC53aWR0aC10LnBhcmVudC5ib3JkZXIubGVmdC10LnBhcmVudC5ib3JkZXIucmlnaHQsbj10LnBhcmVudC5oZWlnaHQtdC5wYXJlbnQuYm9yZGVyLnRvcC10LnBhcmVudC5ib3JkZXIuYm90dG9tLG89ZS8odC5lbGVtLndpZHRoL1ApLHI9bi8odC5lbGVtLmhlaWdodC9QKTtcImluc2lkZVwiPT09cC5jb250YWluP3AubWF4U2NhbGU9TWF0aC5taW4obyxyKTpcIm91dHNpZGVcIj09PXAuY29udGFpbiYmKHAubWluU2NhbGU9TWF0aC5tYXgobyxyKSl9fWZ1bmN0aW9uIEMoZSxuLG8scil7dmFyIGE9dCh0KHt9LHApLHIpLGk9e3g6TSx5Ok8sb3B0czphfTtpZighYS5mb3JjZSYmKGEuZGlzYWJsZVBhbnx8YS5wYW5Pbmx5V2hlblpvb21lZCYmUD09PWEuc3RhcnRTY2FsZSkpcmV0dXJuIGk7aWYoZT1wYXJzZUZsb2F0KGUpLG49cGFyc2VGbG9hdChuKSxhLmRpc2FibGVYQXhpc3x8KGkueD0oYS5yZWxhdGl2ZT9NOjApK2UpLGEuZGlzYWJsZVlBeGlzfHwoaS55PShhLnJlbGF0aXZlP086MCkrbiksXCJpbnNpZGVcIj09PWEuY29udGFpbil7dmFyIGM9ZyhsKTtpLng9TWF0aC5tYXgoLWMuZWxlbS5tYXJnaW4ubGVmdC1jLnBhcmVudC5wYWRkaW5nLmxlZnQsTWF0aC5taW4oYy5wYXJlbnQud2lkdGgtYy5lbGVtLndpZHRoL28tYy5wYXJlbnQucGFkZGluZy5sZWZ0LWMuZWxlbS5tYXJnaW4ubGVmdC1jLnBhcmVudC5ib3JkZXIubGVmdC1jLnBhcmVudC5ib3JkZXIucmlnaHQsaS54KSksaS55PU1hdGgubWF4KC1jLmVsZW0ubWFyZ2luLnRvcC1jLnBhcmVudC5wYWRkaW5nLnRvcCxNYXRoLm1pbihjLnBhcmVudC5oZWlnaHQtYy5lbGVtLmhlaWdodC9vLWMucGFyZW50LnBhZGRpbmcudG9wLWMuZWxlbS5tYXJnaW4udG9wLWMucGFyZW50LmJvcmRlci50b3AtYy5wYXJlbnQuYm9yZGVyLmJvdHRvbSxpLnkpKX1lbHNlIGlmKFwib3V0c2lkZVwiPT09YS5jb250YWluKXt2YXIgdT0oYz1nKGwpKS5lbGVtLndpZHRoL1AsZD1jLmVsZW0uaGVpZ2h0L1Ascz11Km8sZj1kKm8sbT0ocy11KS8yLGg9KGYtZCkvMix2PSgtKHMtYy5wYXJlbnQud2lkdGgpLWMucGFyZW50LnBhZGRpbmcubGVmdC1jLnBhcmVudC5ib3JkZXIubGVmdC1jLnBhcmVudC5ib3JkZXIucmlnaHQrbSkvbyx5PShtLWMucGFyZW50LnBhZGRpbmcubGVmdCkvbztpLng9TWF0aC5tYXgoTWF0aC5taW4oaS54LHkpLHYpO3ZhciB3PSgtKGYtYy5wYXJlbnQuaGVpZ2h0KS1jLnBhcmVudC5wYWRkaW5nLnRvcC1jLnBhcmVudC5ib3JkZXIudG9wLWMucGFyZW50LmJvcmRlci5ib3R0b20raCkvbyxiPShoLWMucGFyZW50LnBhZGRpbmcudG9wKS9vO2kueT1NYXRoLm1heChNYXRoLm1pbihpLnksYiksdyl9cmV0dXJuIGl9ZnVuY3Rpb24gVChlLG4pe3ZhciBvPXQodCh7fSxwKSxuKSxyPXtzY2FsZTpQLG9wdHM6b307cmV0dXJuIW8uZm9yY2UmJm8uZGlzYWJsZVpvb20/cjooci5zY2FsZT1NYXRoLm1pbihNYXRoLm1heChlLG8ubWluU2NhbGUpLG8ubWF4U2NhbGUpLHIpfWZ1bmN0aW9uIE4odCxlLG4pe3ZhciBvPUModCxlLFAsbikscj1vLm9wdHM7cmV0dXJuIE09by54LE89by55LFgoXCJwYW56b29tcGFuXCIscil9ZnVuY3Rpb24gTCh0LGUpe3ZhciBuPVQodCxlKSxvPW4ub3B0cztpZihvLmZvcmNlfHwhby5kaXNhYmxlWm9vbSl7dD1uLnNjYWxlO3ZhciByPU0sYT1PO2lmKG8uZm9jYWwpe3ZhciBpPW8uZm9jYWw7cj0oaS54L3QtaS54L1ArTSp0KS90LGE9KGkueS90LWkueS9QK08qdCkvdH12YXIgYz1DKHIsYSx0LHtyZWxhdGl2ZTohMSxmb3JjZTohMH0pO3JldHVybiBNPWMueCxPPWMueSxQPXQsWChcInBhbnpvb216b29tXCIsbyl9fWZ1bmN0aW9uIEkoZSxuKXt2YXIgbz10KHQodCh7fSxwKSx7YW5pbWF0ZTohMH0pLG4pO3JldHVybiBMKFAqTWF0aC5leHAoKGU/MTotMSkqby5zdGVwKSxvKX1mdW5jdGlvbiBXKGUsbixvKXt2YXIgcj1nKGwpLGE9ci5wYXJlbnQud2lkdGgtci5wYXJlbnQucGFkZGluZy5sZWZ0LXIucGFyZW50LnBhZGRpbmcucmlnaHQtci5wYXJlbnQuYm9yZGVyLmxlZnQtci5wYXJlbnQuYm9yZGVyLnJpZ2h0LGk9ci5wYXJlbnQuaGVpZ2h0LXIucGFyZW50LnBhZGRpbmcudG9wLXIucGFyZW50LnBhZGRpbmcuYm90dG9tLXIucGFyZW50LmJvcmRlci50b3Atci5wYXJlbnQuYm9yZGVyLmJvdHRvbSxjPW4uY2xpZW50WC1yLnBhcmVudC5sZWZ0LXIucGFyZW50LnBhZGRpbmcubGVmdC1yLnBhcmVudC5ib3JkZXIubGVmdC1yLmVsZW0ubWFyZ2luLmxlZnQscD1uLmNsaWVudFktci5wYXJlbnQudG9wLXIucGFyZW50LnBhZGRpbmcudG9wLXIucGFyZW50LmJvcmRlci50b3Atci5lbGVtLm1hcmdpbi50b3A7dXx8KGMtPXIuZWxlbS53aWR0aC9QLzIscC09ci5lbGVtLmhlaWdodC9QLzIpO3ZhciBkPXt4OmMvYSooYSplKSx5OnAvaSooaSplKX07cmV0dXJuIEwoZSx0KHQoe2FuaW1hdGU6ITF9LG8pLHtmb2NhbDpkfSkpfUwocC5zdGFydFNjYWxlLHthbmltYXRlOiExfSksc2V0VGltZW91dChmdW5jdGlvbigpe1koKSxOKHAuc3RhcnRYLHAuc3RhcnRZLHthbmltYXRlOiExfSl9KTt2YXIgWj1bXTtmdW5jdGlvbiBxKHQpe2lmKCFmdW5jdGlvbih0LGUpe2Zvcih2YXIgbj10O251bGwhPW47bj1uLnBhcmVudE5vZGUpaWYoeShuLGUuZXhjbHVkZUNsYXNzKXx8ZS5leGNsdWRlLmluZGV4T2Yobik+LTEpcmV0dXJuITA7cmV0dXJuITF9KHQudGFyZ2V0LHApKXtuKFosdCksej0hMCxwLmhhbmRsZVN0YXJ0RXZlbnQodCkscz1NLG09TyxBKFwicGFuem9vbXN0YXJ0XCIse3g6TSx5Ok8sc2NhbGU6UH0scCk7dmFyIGU9byhaKTtoPWUuY2xpZW50WCx4PWUuY2xpZW50WSxTPVAsRT1yKFopfX1mdW5jdGlvbiBCKHQpe2lmKHomJnZvaWQgMCE9PXMmJnZvaWQgMCE9PW0mJnZvaWQgMCE9PWgmJnZvaWQgMCE9PXgpe24oWix0KTt2YXIgZT1vKFopO2lmKFoubGVuZ3RoPjEpVyhUKChyKFopLUUpKnAuc3RlcC84MCtTKS5zY2FsZSxlKTtOKHMrKGUuY2xpZW50WC1oKS9QLG0rKGUuY2xpZW50WS14KS9QLHthbmltYXRlOiExfSl9fWZ1bmN0aW9uIEQodCl7MT09PVoubGVuZ3RoJiZBKFwicGFuem9vbWVuZFwiLHt4Ok0seTpPLHNjYWxlOlB9LHApLGZ1bmN0aW9uKHQsbil7aWYobi50b3VjaGVzKWZvcig7dC5sZW5ndGg7KXQucG9wKCk7ZWxzZXt2YXIgbz1lKHQsbik7bz4tMSYmdC5zcGxpY2UobywxKX19KFosdCkseiYmKHo9ITEscz1tPWg9eD12b2lkIDApfXZhciBGPSExO2Z1bmN0aW9uIFIoKXtGfHwoRj0hMCxpKFwiZG93blwiLHAuY2FudmFzP2Q6bCxxKSxpKFwibW92ZVwiLGRvY3VtZW50LEIse3Bhc3NpdmU6ITB9KSxpKFwidXBcIixkb2N1bWVudCxELHtwYXNzaXZlOiEwfSkpfXJldHVybiBwLm5vQmluZHx8UigpLHtiaW5kOlIsZGVzdHJveTpmdW5jdGlvbigpe0Y9ITEsYyhcImRvd25cIixwLmNhbnZhcz9kOmwscSksYyhcIm1vdmVcIixkb2N1bWVudCxCKSxjKFwidXBcIixkb2N1bWVudCxEKX0sZXZlbnROYW1lczphLGdldFBhbjpmdW5jdGlvbigpe3JldHVybnt4Ok0seTpPfX0sZ2V0U2NhbGU6ZnVuY3Rpb24oKXtyZXR1cm4gUH0sZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbih0KXt2YXIgZT17fTtmb3IodmFyIG4gaW4gdCl0Lmhhc093blByb3BlcnR5KG4pJiYoZVtuXT10W25dKTtyZXR1cm4gZX0ocCl9LHBhbjpOLHJlc2V0OmZ1bmN0aW9uKGUpe3ZhciBuPXQodCh0KHt9LHApLHthbmltYXRlOiEwLGZvcmNlOiEwfSksZSk7UD1UKG4uc3RhcnRTY2FsZSxuKS5zY2FsZTt2YXIgbz1DKG4uc3RhcnRYLG4uc3RhcnRZLFAsbik7cmV0dXJuIE09by54LE89by55LFgoXCJwYW56b29tcmVzZXRcIixuKX0sc2V0T3B0aW9uczpmdW5jdGlvbih0KXtmb3IodmFyIGUgaW4gdm9pZCAwPT09dCYmKHQ9e30pLHQpdC5oYXNPd25Qcm9wZXJ0eShlKSYmKHBbZV09dFtlXSk7dC5oYXNPd25Qcm9wZXJ0eShcImN1cnNvclwiKSYmKGwuc3R5bGUuY3Vyc29yPXQuY3Vyc29yKSx0Lmhhc093blByb3BlcnR5KFwib3ZlcmZsb3dcIikmJihkLnN0eWxlLm92ZXJmbG93PXQub3ZlcmZsb3cpLHQuaGFzT3duUHJvcGVydHkoXCJ0b3VjaEFjdGlvblwiKSYmKGQuc3R5bGUudG91Y2hBY3Rpb249dC50b3VjaEFjdGlvbixsLnN0eWxlLnRvdWNoQWN0aW9uPXQudG91Y2hBY3Rpb24pLCh0Lmhhc093blByb3BlcnR5KFwibWluU2NhbGVcIil8fHQuaGFzT3duUHJvcGVydHkoXCJtYXhTY2FsZVwiKXx8dC5oYXNPd25Qcm9wZXJ0eShcImNvbnRhaW5cIikpJiZZKCl9LHNldFN0eWxlOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHYobCx0LGUpfSx6b29tOkwsem9vbUluOmZ1bmN0aW9uKHQpe3JldHVybiBJKCEwLHQpfSx6b29tT3V0OmZ1bmN0aW9uKHQpe3JldHVybiBJKCExLHQpfSx6b29tVG9Qb2ludDpXLHpvb21XaXRoV2hlZWw6ZnVuY3Rpb24oZSxuKXtlLnByZXZlbnREZWZhdWx0KCk7dmFyIG89dCh0KHt9LHApLG4pLHI9KDA9PT1lLmRlbHRhWSYmZS5kZWx0YVg/ZS5kZWx0YVg6ZS5kZWx0YVkpPDA/MTotMTtyZXR1cm4gVyhUKFAqTWF0aC5leHAocipvLnN0ZXAvMyksbykuc2NhbGUsZSxvKX19fXJldHVybiB4LmRlZmF1bHRPcHRpb25zPWIseH0pO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5CaGJucHZiMjB1YW5NaVhTd2libUZ0WlhNaU9sc2laMnh2WW1Gc0lpd2labUZqZEc5eWVTSXNJbVY0Y0c5eWRITWlMQ0p0YjJSMWJHVWlMQ0prWldacGJtVWlMQ0poYldRaUxDSm5iRzlpWVd4VWFHbHpJaXdpYzJWc1ppSXNJbEJoYm5wdmIyMGlMQ0owYUdseklpd2lYMTloYzNOcFoyNGlMQ0pQWW1wbFkzUWlMQ0poYzNOcFoyNGlMQ0owSWl3aWN5SXNJbWtpTENKdUlpd2lZWEpuZFcxbGJuUnpJaXdpYkdWdVozUm9JaXdpY0NJc0luQnliM1J2ZEhsd1pTSXNJbWhoYzA5M2JsQnliM0JsY25SNUlpd2lZMkZzYkNJc0ltRndjR3g1SWl3aVptbHVaRVYyWlc1MFNXNWtaWGdpTENKd2IybHVkR1Z5Y3lJc0ltVjJaVzUwSWl3aWNHOXBiblJsY2tsa0lpd2lZV1JrVUc5cGJuUmxjaUlzSW5SdmRXTm9aWE1pTENKZmFTSXNJbDloSWl3aWRHOTFZMmdpTENKemNHeHBZMlVpTENKd2RYTm9JaXdpWjJWMFRXbGtaR3hsSWl3aVpYWmxiblF5SWl3aVpYWmxiblF4SWl3aWMyeHBZMlVpTENKd2IzQWlMQ0pqYkdsbGJuUllJaXdpWTJ4cFpXNTBXU0lzSW1kbGRFUnBjM1JoYm1ObElpd2lUV0YwYUNJc0luTnhjblFpTENKd2IzY2lMQ0poWW5NaUxDSjNhVzVrYjNjaUxDSk9iMlJsVEdsemRDSXNJbVp2Y2tWaFkyZ2lMQ0pCY25KaGVTSXNJa04xYzNSdmJVVjJaVzUwSWl3aWNHRnlZVzF6SWl3aVluVmlZbXhsY3lJc0ltTmhibU5sYkdGaWJHVWlMQ0prWlhSaGFXd2lMQ0psZG5RaUxDSmtiMk4xYldWdWRDSXNJbU55WldGMFpVVjJaVzUwSWl3aWFXNXBkRU4xYzNSdmJVVjJaVzUwSWl3aVpYWmxiblJ6SWl3aVpHOTNiaUlzSW0xdmRtVWlMQ0oxY0NJc0ltOXVVRzlwYm5SbGNpSXNJbVZzWlcwaUxDSm9ZVzVrYkdWeUlpd2laWFpsYm5SUGNIUnpJaXdpYzNCc2FYUWlMQ0p1WVcxbElpd2lZV1JrUlhabGJuUk1hWE4wWlc1bGNpSXNJbVJsYzNSeWIzbFFiMmx1ZEdWeUlpd2ljbVZ0YjNabFJYWmxiblJNYVhOMFpXNWxjaUlzSWxCdmFXNTBaWEpGZG1WdWRDSXNJbFJ2ZFdOb1JYWmxiblFpTENKa2FYWlRkSGxzWlNJc0ltbHpTVVVpTENKa2IyTjFiV1Z1ZEUxdlpHVWlMQ0pqY21WaGRHVlRkSGxzWlNJc0ltTnlaV0YwWlVWc1pXMWxiblFpTENKemRIbHNaU0lzSW5CeVpXWnBlR1Z6SWl3aWNISmxabWw0UTJGamFHVWlMQ0puWlhSUWNtVm1hWGhsWkU1aGJXVWlMQ0pqWVhCT1lXMWxJaXdpZEc5VmNIQmxja05oYzJVaUxDSndjbVZtYVhobFpFNWhiV1VpTENKblpYUkRVMU5PZFcwaUxDSndZWEp6WlVac2IyRjBJaXdpWjJWMFFtOTRVM1I1YkdVaUxDSm5aWFJEYjIxd2RYUmxaRk4wZVd4bElpd2ljM1ZtWm1sNElpd2liR1ZtZENJc0luSnBaMmgwSWl3aWRHOXdJaXdpWW05MGRHOXRJaXdpYzJWMFUzUjViR1VpTENKMllXeDFaU0lzSW1kbGRFUnBiV1Z1YzJsdmJuTWlMQ0p3WVhKbGJuUWlMQ0p3WVhKbGJuUk9iMlJsSWl3aWNHRnlaVzUwVTNSNWJHVWlMQ0p5WldOMFJXeGxiU0lzSW1kbGRFSnZkVzVrYVc1blEyeHBaVzUwVW1WamRDSXNJbkpsWTNSUVlYSmxiblFpTENKM2FXUjBhQ0lzSW1obGFXZG9kQ0lzSW0xaGNtZHBiaUlzSW1KdmNtUmxjaUlzSW5CaFpHUnBibWNpTENKb1lYTkRiR0Z6Y3lJc0ltTnNZWE56VG1GdFpTSXNJbTV2WkdWVWVYQmxJaXdpWjJWMFFYUjBjbWxpZFhSbElpd2lkSEpwYlNJc0ltZGxkRU5zWVhOeklpd2lhVzVrWlhoUFppSXNJbkp6ZG1jaUxDSmtaV1poZFd4MFQzQjBhVzl1Y3lJc0ltRnVhVzFoZEdVaUxDSmpZVzUyWVhNaUxDSmpkWEp6YjNJaUxDSmthWE5oWW14bFVHRnVJaXdpWkdsellXSnNaVnB2YjIwaUxDSmthWE5oWW14bFdFRjRhWE1pTENKa2FYTmhZbXhsV1VGNGFYTWlMQ0prZFhKaGRHbHZiaUlzSW1WaGMybHVaeUlzSW1WNFkyeDFaR1VpTENKbGVHTnNkV1JsUTJ4aGMzTWlMQ0pvWVc1a2JHVlRkR0Z5ZEVWMlpXNTBJaXdpWlNJc0luQnlaWFpsYm5SRVpXWmhkV3gwSWl3aWMzUnZjRkJ5YjNCaFoyRjBhVzl1SWl3aWJXRjRVMk5oYkdVaUxDSnRhVzVUWTJGc1pTSXNJbTkyWlhKbWJHOTNJaXdpY0dGdVQyNXNlVmRvWlc1YWIyOXRaV1FpTENKeVpXeGhkR2wyWlNJc0luTmxkRlJ5WVc1elptOXliU0lzSWw5dmNIUnBiMjV6SWl3aWVDSXNJbmtpTENKelkyRnNaU0lzSW1selUxWkhJaXdpYldGMGNtbDRWbUZzZFdVaUxDSm5aWFJRY205d1pYSjBlVlpoYkhWbElpd2ljMlYwUVhSMGNtbGlkWFJsSWl3aWMzUmhjblJZSWl3aWMzUmhjblJaSWl3aWMzUmhjblJUWTJGc1pTSXNJbk4wWlhBaUxDSjBiM1ZqYUVGamRHbHZiaUlzSW05d2RHbHZibk1pTENKRmNuSnZjaUlzSW1Sdll5SXNJbTkzYm1WeVJHOWpkVzFsYm5RaUxDSmtiMk4xYldWdWRFVnNaVzFsYm5RaUxDSmpiMjUwWVdsdWN5SXNJbWx6UVhSMFlXTm9aV1FpTENKMFpYTjBJaXdpYm1GdFpYTndZV05sVlZKSklpd2libTlrWlU1aGJXVWlMQ0owYjB4dmQyVnlRMkZ6WlNJc0ltbHpVMVpIUld4bGJXVnVkQ0lzSW5WelpYSlRaV3hsWTNRaUxDSnZjbWxuYVc0aUxDSnZjbWxuV0NJc0ltOXlhV2RaSWl3aWMzUmhjblJEYkdsbGJuUllJaXdpYzNSaGNuUkRiR2xsYm5SWklpd2ljM1JoY25SRWFYTjBZVzVqWlNJc0ltbHpVR0Z1Ym1sdVp5SXNJblJ5YVdkblpYSWlMQ0psZG1WdWRFNWhiV1VpTENKdmNIUnpJaXdpYzJsc1pXNTBJaXdpWkdsemNHRjBZMmhGZG1WdWRDSXNJbk5sZEZSeVlXNXpabTl5YlZkcGRHaEZkbVZ1ZENJc0luSmxjWFZsYzNSQmJtbHRZWFJwYjI1R2NtRnRaU0lzSW5ObGRGUnlZVzV6YVhScGIyNGlMQ0p6WlhSTmFXNU5ZWGdpTENKamIyNTBZV2x1SWl3aVpHbHRjeUlzSW5CaGNtVnVkRmRwWkhSb0lpd2ljR0Z5Wlc1MFNHVnBaMmgwSWl3aVpXeGxiVk5qWVd4bFpGZHBaSFJvSWl3aVpXeGxiVk5qWVd4bFpFaGxhV2RvZENJc0ltMXBiaUlzSW0xaGVDSXNJbU52Ym5OMGNtRnBibGhaSWl3aWRHOVlJaXdpZEc5Wklpd2lkRzlUWTJGc1pTSXNJbkJoYms5d2RHbHZibk1pTENKeVpYTjFiSFFpTENKbWIzSmpaU0lzSW5KbFlXeFhhV1IwYUNJc0luSmxZV3hJWldsbmFIUWlMQ0p6WTJGc1pXUlhhV1IwYUNJc0luTmpZV3hsWkVobGFXZG9kQ0lzSW1ScFptWkliM0pwZW05dWRHRnNJaXdpWkdsbVpsWmxjblJwWTJGc0lpd2liV2x1V0NJc0ltMWhlRmdpTENKdGFXNVpJaXdpYldGNFdTSXNJbU52Ym5OMGNtRnBibE5qWVd4bElpd2llbTl2YlU5d2RHbHZibk1pTENKd1lXNGlMQ0o2YjI5dElpd2labTlqWVd3aUxDSndZVzVTWlhOMWJIUWlMQ0o2YjI5dFNXNVBkWFFpTENKcGMwbHVJaXdpWlhod0lpd2llbTl2YlZSdlVHOXBiblFpTENKd2IybHVkQ0lzSW1WbVptVmpkR2wyWlVGeVpXRWlMQ0p6WlhSVWFXMWxiM1YwSWl3aWFHRnVaR3hsUkc5M2JpSXNJbU4xY2lJc0ltbHpSWGhqYkhWa1pXUWlMQ0owWVhKblpYUWlMQ0oxYm1SbFptbHVaV1FpTENKamRYSnlaVzUwSWl3aWFHRnVaR3hsVlhBaUxDSnlaVzF2ZG1WUWIybHVkR1Z5SWl3aVltOTFibVFpTENKaWFXNWtJaXdpY0dGemMybDJaU0lzSW01dlFtbHVaQ0lzSW1SbGMzUnliM2tpTENKbGRtVnVkRTVoYldWeklpd2laMlYwVUdGdUlpd2laMlYwVTJOaGJHVWlMQ0puWlhSUGNIUnBiMjV6SWl3aWIySnFJaXdpWTJ4dmJtVWlMQ0pyWlhraUxDSnphR0ZzYkc5M1EyeHZibVVpTENKeVpYTmxkQ0lzSW5KbGMyVjBUM0IwYVc5dWN5SXNJbk5sZEU5d2RHbHZibk1pTENKNmIyOXRTVzRpTENKNmIyOXRUM1YwSWl3aWVtOXZiVmRwZEdoWGFHVmxiQ0lzSW5kb1pXVnNJaXdpWkdWc2RHRlpJaXdpWkdWc2RHRllJbDBzSW0xaGNIQnBibWR6SWpvaVEwRkxReXhUUVVGVlFTeEZRVUZSUXl4SFFVTkpMR2xDUVVGYVF5eFRRVUV3UXl4dlFrRkJXRU1zVDBGQmVVSkJMRTlCUVU5RUxGRkJRVlZFTEVsQlF6bEVMRzFDUVVGWVJ5eFJRVUY1UWtFc1QwRkJUME1zU1VGQlRVUXNUMEZCVDBnc1NVRkRia1JFTEVWQlFTdENMRzlDUVVGbVRTeFhRVUUyUWtFc1YwRkJZVTRzUjBGQlZVOHNUVUZCWVVNc1VVRkJWVkFzU1VGSWFFY3NRMEZKUlZFc1MwRkJUU3hYUVVGbExHRkJhVUp1UWl4SlFVRkpReXhGUVVGWExGZEJVVmdzVDBGUVFVRXNSVUZCVjBNc1QwRkJUME1zVVVGQlZTeFRRVUZyUWtNc1IwRkRNVU1zU1VGQlN5eEpRVUZKUXl4RlFVRkhReXhGUVVGSkxFVkJRVWRETEVWQlFVbERMRlZCUVZWRExFOUJRVkZJTEVWQlFVbERMRVZCUVVkRUxFbEJSVFZETEVsQlFVc3NTVUZCU1Vrc1MwRkVWRXdzUlVGQlNVY3NWVUZCVlVZc1IwRkRUMG9zVDBGQlQxTXNWVUZCVlVNc1pVRkJaVU1zUzBGQlMxSXNSVUZCUjBzc1MwRkJTVTRzUlVGQlJVMHNSMEZCUzB3c1JVRkJSVXNzU1VGRk9VVXNUMEZCVDA0c1NVRkZTMVVzVFVGQlRXUXNTMEZCVFZFc1dVRjNRbWhETEZOQlFWTlBMRVZCUVdWRExFVkJRVlZETEVkQlJUbENMRWxCUkVFc1NVRkJTVmdzUlVGQlNWVXNSVUZCVTFBc1QwRkRWa2dzUzBGRFNDeEhRVUZKVlN4RlFVRlRWaXhIUVVGSFdTeFpRVUZqUkN4RlFVRk5ReXhWUVVOb1F5eFBRVUZQV2l4RlFVZG1MRTlCUVZFc1JVRkZXaXhUUVVGVFlTeEZRVUZYU0N4RlFVRlZReXhIUVVNeFFpeEpRVUZKV0N4RlFVVktMRWRCUVVsWExFVkJRVTFITEZGQlFWWXNRMEZEU1dRc1JVRkJTU3hGUVVOS0xFbEJRVXNzU1VGQlNXVXNSVUZCU3l4RlFVRkhReXhGUVVGTFRDeEZRVUZOUnl4UlFVRlRReXhGUVVGTFF5eEZRVUZIWWl4UFFVRlJXU3hKUVVGTkxFTkJRM1pFTEVsQlFVbEZMRVZCUVZGRUxFVkJRVWRFTEVkQlEyWkZMRVZCUVUxTUxGVkJRVmxhTEVsQlEyeENZU3hGUVVGWFNDeEZRVUZWVHl4VFFVazNRbXBDTEVWQlFVbFRMRVZCUVdWRExFVkJRVlZETEV0QlJYQkNMRWRCUTB4RUxFVkJRVk5STEU5QlFVOXNRaXhGUVVGSExFZEJSWFpDVlN4RlFVRlRVeXhMUVVGTFVpeEhRWEZDYkVJc1UwRkJVMU1zUlVGQlZWWXNSMEZMWml4SlFVWkJMRWxCUTBsWExFVkJSRUZETEVkQlJFcGFMRVZCUVZkQkxFVkJRVk5oTEUxQlFVMHNTVUZEU2tNc1RVRkZaRWdzUlVGQlUxZ3NSVUZCVTJNc1QwRkRkRUpHTEVWQlFWTXNRMEZEVEVjc1UwRkJWVW9zUlVGQlQwa3NVVUZCVlVnc1JVRkJUMGNzVTBGQlZ5eEZRVUZKU0N4RlFVRlBSeXhSUVVONFJFTXNVMEZCVlV3c1JVRkJUMHNzVVVGQlZVb3NSVUZCVDBrc1UwRkJWeXhGUVVGSlNpeEZRVUZQU1N4VFFVZG9SU3hQUVVGUFNpeEZRVTlZTEZOQlFWTkxMRVZCUVZscVFpeEhRVU5xUWl4SFFVRkpRU3hGUVVGVFVDeFBRVUZUTEVWQlEyeENMRTlCUVU4c1JVRkZXQ3hKUVVGSmJVSXNSVUZCVTFvc1JVRkJVeXhIUVVOc1FsY3NSVUZCVTFnc1JVRkJVeXhIUVVOMFFpeFBRVUZQYTBJc1MwRkJTME1zUzBGQlMwUXNTMEZCUzBVc1NVRkJTVVlzUzBGQlMwY3NTVUZCU1ZZc1JVRkJUMGtzVVVGQlZVZ3NSVUZCVDBjc1UwRkJWU3hIUVVOcVJVY3NTMEZCUzBVc1NVRkJTVVlzUzBGQlMwY3NTVUZCU1ZZc1JVRkJUMHNzVVVGQlZVb3NSVUZCVDBrc1UwRkJWU3hKUVRWR2RFTXNiMEpCUVZoTkxGTkJSVXhCTEU5QlFVOURMRmRCUVdGQkxGTkJRVk0xUWl4VlFVRlZOa0lzVlVGRGVrTkVMRk5CUVZNMVFpeFZRVUZWTmtJc1VVRkJWVU1zVFVGQlRUbENMRlZCUVZVMlFpeFRRVWxpTEcxQ1FVRjJRa1lzVDBGQlQwa3NZMEZEYUVKS0xFOUJRVTlKTEZsQlFXTXNVMEZCY1VKNlFpeEZRVUZQTUVJc1IwRkRMME5CTEVWQlFWTkJMRWRCUVZVc1EwRkJSVU1zVTBGQlV5eEZRVUZQUXl4WlFVRlpMRVZCUVU5RExFOUJRVkVzVFVGRGFFVXNTVUZCU1VNc1JVRkJUVU1zVTBGQlUwTXNXVUZCV1N4bFFVVXZRaXhQUVVSQlJpeEZRVUZKUnl4blFrRkJaMEpxUXl4RlFVRlBNRUlzUlVGQlQwTXNVVUZCVTBRc1JVRkJUMFVzVjBGQldVWXNSVUZCVDBjc1VVRkRPVVJETEV0QmJVWmlMRWxCUVVsSkxFVkJRVk1zUTBGRFZFTXNTMEZCVFN4WlFVTk9ReXhMUVVGTkxGbEJRMDVETEVkQlFVa3NjMEpCYTBKU0xGTkJRVk5ETEVWQlFWVjBReXhGUVVGUGRVTXNSVUZCVFVNc1JVRkJVME1zUjBGRGNrTlFMRVZCUVU5c1F5eEhRVUZQTUVNc1RVRkJUU3hMUVVGTGJrSXNVVUZCVVN4VFFVRlZiMElzUjBGRGRrTktMRVZCUVV0TExHbENRVUZwUWtRc1JVRkJUVWdzUlVGQlUwTXNTMEZITjBNc1UwRkJVMGtzUlVGQlpUZERMRVZCUVU5MVF5eEZRVUZOUXl4SFFVTnFRMDRzUlVGQlQyeERMRWRCUVU4d1F5eE5RVUZOTEV0QlFVdHVRaXhSUVVGUkxGTkJRVlZ2UWl4SFFVTjJRMG9zUlVGQlMwOHNiMEpCUVc5Q1NDeEZRVUZOU0N4TFFYWkNha0lzYjBKQlFWaHVRaXhUUVVNMFFpeHRRa0ZCZUVKQkxFOUJRVTh3UWl4aFFVTmtZaXhGUVVGVExFTkJRMHhETEV0QlFVMHNZMEZEVGtNc1MwRkJUU3hqUVVOT1F5eEhRVUZKTEhkRFFVY3dRaXh0UWtGQmRFSm9RaXhQUVVGUE1rSXNZVUZEYmtKa0xFVkJRVk1zUTBGRFRFTXNTMEZCVFN4aFFVTk9ReXhMUVVGTkxGbEJRMDVETEVkQlFVa3NNRUpCWldoQ0xFbEJTVWxaTEVWQlNrRkRMRVZCUVRKQ0xHOUNRVUZpYmtJc1dVRkJPRUpCTEZOQlFWTnZRaXhoUVV0NlJDeFRRVUZUUXl4SlFVTk1MRTlCUVVsSUxFbEJSMGxCTEVWQlFWZHNRaXhUUVVGVGMwSXNZMEZCWXl4UFFVRlBReXhQUVV0eVJDeEpRVUZKUXl4RlFVRlhMRU5CUVVNc1UwRkJWU3hOUVVGUExFMUJRemRDUXl4RlFVRmpMRWRCUTJ4Q0xGTkJRVk5ETEVWQlFXZENaQ3hIUVVOeVFpeEhRVUZKWVN4RlFVRlpZaXhIUVVOYUxFOUJRVTloTEVWQlFWbGlMRWRCUlhaQ0xFbEJRVWxOTEVWQlFWZEhMRWxCUTJZc1IwRkJTVlFzUzBGQlVVMHNSVUZEVWl4UFFVRlJUeXhGUVVGWllpeEhRVUZSUVN4RlFVbG9ReXhKUVVaQkxFbEJRVWxsTEVWQlFWVm1MRVZCUVVzc1IwRkJSMmRDTEdOQlFXZENhRUlzUlVGQlN5OUNMRTFCUVUwc1IwRkROME4yUWl4RlFVRkphMFVzUlVGQlV5OUVMRTlCUTFaSUxFdEJRVXNzUTBGRFVpeEpRVUZKZFVVc1JVRkJaU3hIUVVGTFRDeEZRVUZUYkVVc1IwRkJTM0ZGTEVWQlEzUkRMRWRCUVVsRkxFdEJRV2RDV0N4RlFVTm9RaXhQUVVGUlR5eEZRVUZaWWl4SFFVRlJhVUlzUjBGUGVFTXNVMEZCVTBNc1JVRkJWV3hDTEVWQlFVMVhMRWRCUTNKQ0xFOUJRVTlSTEZkQlFWZFNMRVZCUVUxSExFVkJRV2RDWkN4TlFVRlhMRVZCUlhaRUxGTkJRVk52UWl4RlFVRlplRUlzUlVGQlRVa3NSVUZCVFZjc1VVRkRaaXhKUVVGV1FTeEpRVUZ2UWtFc1JVRkJVV3BETEU5QlFVOHlReXhwUWtGQmFVSjZRaXhKUVVkNFJDeEpRVUZKTUVJc1JVRkJhMElzVjBGQlZIUkNMRVZCUVc5Q0xGRkJRVlVzUjBGRE0wTXNUVUZCVHl4RFFVTklkVUlzUzBGQlRVd3NSVUZCVld4Q0xFVkJRVThzVDBGQlUzTkNMRVZCUVZGWUxFZEJRM2hEWVN4TlFVRlBUaXhGUVVGVmJFSXNSVUZCVHl4UlFVRlZjMElzUlVGQlVWZ3NSMEZETVVOakxFbEJRVXRRTEVWQlFWVnNRaXhGUVVGUExFMUJRVkZ6UWl4RlFVRlJXQ3hIUVVOMFEyVXNUMEZCVVZJc1JVRkJWV3hDTEVWQlFVOHNVMEZCVjNOQ0xFVkJRVkZZTEVsQlRYQkVMRk5CUVZOblFpeEZRVUZUTDBJc1JVRkJUVWtzUlVGQlRUUkNMRWRCUlRGQ2FFTXNSVUZCUzJVc1RVRkJUVWNzUlVGQlowSmtMRWxCUVZNMFFpeEZRWGRDZUVNc1UwRkJVME1zUlVGQlkycERMRWRCUTI1Q0xFbEJRVWxyUXl4RlFVRlRiRU1zUlVGQlMyMURMRmRCUTJSd1FpeEZRVUZSYWtNc1QwRkJUekpETEdsQ1FVRnBRbnBDTEVkQlEyaERiME1zUlVGQlkzUkVMRTlCUVU4eVF5eHBRa0ZCYVVKVExFZEJRM1JEUnl4RlFVRlhja01zUlVGQlMzTkRMSGRDUVVOb1FrTXNSVUZCWVV3c1JVRkJUMGtzZDBKQlEzaENMRTFCUVU4c1EwRkRTSFJETEV0QlFVMHNRMEZEUm1Vc1RVRkJUMEVzUlVGRFVIbENMRTFCUVU5SUxFVkJRVk5ITEUxQlEyaENReXhQUVVGUlNpeEZRVUZUU1N4UFFVTnFRbG9zU1VGQlMxRXNSVUZCVTFJc1NVRkRaRU1zVDBGQlVVOHNSVUZCVTFBc1QwRkRha0pJTEV0QlFVMVZMRVZCUVZOV0xFdEJRMlpETEUxQlFVOVRMRVZCUVZOVUxFMUJRMmhDWXl4UFFVRlJiRUlzUlVGQldYaENMRVZCUVUwc1UwRkJWV1VzUjBGRGNFTTBRaXhQUVVGUmJrSXNSVUZCV1hoQ0xFVkJRVTBzVTBGQlZXVXNTVUZGZUVOdFFpeFBRVUZSTEVOQlEwcHVRaXhOUVVGUGNVSXNSVUZEVUVrc1RVRkJUMFFzUlVGQlYwTXNUVUZEYkVKRExFOUJRVkZHTEVWQlFWZEZMRTlCUTI1Q1dpeEpRVUZMVlN4RlFVRlhWaXhKUVVOb1FrTXNUMEZCVVZNc1JVRkJWMVFzVDBGRGJrSklMRXRCUVUxWkxFVkJRVmRhTEV0QlEycENReXhOUVVGUFZ5eEZRVUZYV0N4TlFVTnNRbWRDTEZGQlFWTndRaXhGUVVGWlZTeEZRVUZSTEZWQlFWZEZMRWRCUTNoRFR5eFBRVUZSYmtJc1JVRkJXVlVzUlVGQlVTeFRRVUZWUlN4TFFYTkNiRVFzVTBGQlUxTXNSVUZCVXpkRExFVkJRVTA0UXl4SFFVTndRaXhQUVVGNVFpeEpRVUZzUWpsRExFVkJRVXNyUXl4WFFVRnRRaXhKUVVwdVF5eFRRVUZyUWk5RExFZEJRMlFzVDBGQlVVRXNSVUZCUzJkRUxHRkJRV0VzVlVGQldTeEpRVUZKUXl4UFFVZE1ReXhEUVVGVGJFUXNSMEZCVVN4TFFVRkxiVVFzVVVGQlVTeEpRVUZOVEN4RlFVRlpMRTFCUVZFc1JVRmxha2NzU1VGQlNVMHNSVUZCVHl4elFrRmxXQ3hKUVVGSlF5eEZRVUZwUWl4RFFVTnFRa01zVTBGQlV5eEZRVU5VUXl4UlFVRlJMRVZCUTFKRExFOUJRVkVzVDBGRFVrTXNXVUZCV1N4RlFVTmFReXhoUVVGaExFVkJRMkpETEdOQlFXTXNSVUZEWkVNc1kwRkJZeXhGUVVOa1F5eFRRVUZWTEVsQlExWkRMRTlCUVZFc1kwRkRVa01zVVVGQlV5eEhRVU5VUXl4aFFVRmpMR3RDUVVOa1F5eHBRa0ZCYTBJc1UwRkJWVU1zUjBGRGVFSkJMRVZCUVVWRExHbENRVU5HUkN4RlFVRkZSU3h0UWtGRlRrTXNVMEZCVlN4RlFVTldReXhUUVVGVkxFdEJRMVpETEZOQlFWVXNVMEZEVmtNc2JVSkJRVzFDTEVWQlEyNUNReXhWUVVGVkxFVkJRMVpETEdGQmFFaEtMRk5CUVhOQ01VVXNSVUZCVFd4RExFVkJRVWsyUnl4SFFVTTFRaXhKUVVGSlF5eEZRVUZKT1Vjc1JVRkJSemhITEVWQlFVZERMRVZCUVVrdlJ5eEZRVUZISzBjc1JVRkJSME1zUlVGQlVXaElMRVZCUVVkblNDeE5RVUZQUXl4RlFVRlJha2dzUlVGQlIybElMRTFCUlhKRUxFZEJSRUZvUkN4RlFVRlRMMElzUlVGQlRTeFpRVUZoTEZOQlFWYzRSU3hGUVVGUkxHVkJRV2xDUml4RlFVRkpMRTlCUVZORExFVkJRVWtzVDBGRE4wVkZMRWRCUVZOd1JTeEZRVUZOTEVOQlEyWXNTVUZCU1hGRkxFVkJRV05zUnl4UFFVRlBNa01zYVVKQlFXbENla0lzUjBGQlRXbEdMR2xDUVVGcFFpeGhRVU5xUldwR0xFVkJRVXRyUml4aFFVRmhMRmxCUVdGR0xFdEJORWR1UTBjc1QwRkJVU3hGUVVOU1F5eFBRVUZSTEVWQlExSkRMRmRCUVZrc1JVRkRXa01zUzBGQlRTeEhRVU5PUXl4WlFVRmhMRkZCUldwQ0xGTkJRVk5vU2l4RlFVRlJlVVFzUlVGQlRYZEdMRWRCUTI1Q0xFbEJRVXQ0Uml4RlFVTkVMRTFCUVUwc1NVRkJTWGxHTEUxQlFVMHNPRU5CUlhCQ0xFZEJRWE5DTEVsQlFXeENla1lzUlVGQlN5dERMRk5CUTB3c1RVRkJUU3hKUVVGSk1FTXNUVUZCVFN4dlJFRkZjRUlzU1VFdlJVb3NVMEZCYjBKNlJpeEhRVU5vUWl4SlFVRkpNRVlzUlVGQlRURkdMRVZCUVVzeVJpeGpRVU5ZZWtRc1JVRkJVMnhETEVWQlFVdHRReXhYUVVOc1FpeFBRVUZSZFVRc1IwRkRTbmhFTEVkQlEybENMRWxCUVdwQ2QwUXNSVUZCU1RORExGVkJRMmRDTEVsQlFYQkNZaXhGUVVGUFlTeFZRVU5RTWtNc1JVRkJTVVVzWjBKQlFXZENReXhUUVVGVE0wUXNSMEYzUlRWQ05FUXNRMEZCVnpsR0xFZEJRMW9zVFVGQlRTeEpRVUZKZVVZc1RVRkJUU3d5UlVGRmNFSkVMRVZCUVZVdlNTeEZRVUZUUVN4RlFVRlRMRWRCUVVrMFJ5eEhRVUZwUW0xRExFZEJRMnBFTEVsQlFVbFVMRVZCY2tSU0xGTkJRWE5DTDBVc1IwRkRiRUlzVDBGQlQyOUVMRVZCUVVzeVF5eExRVUZMTDBZc1JVRkJTMmRITEdWQlFXbEVMRkZCUVdoRGFFY3NSVUZCUzJsSExGTkJRVk5ETEdOQmIwUjZRME1zUTBGQllXNUhMRWRCUTNKQ2EwTXNSVUZCVTJ4RExFVkJRVXR0UXl4WFFVVnNRa1FzUlVGQlQyNUNMRTFCUVUxM1JDeFRRVUZYYVVJc1JVRkJVV3BDTEZOQlEyaERja01zUlVGQlQyNUNMRTFCUVUxeFJpeFhRVUZoTEU5QlJ6RkNiRVVzUlVGQlQyNUNMRTFCUVUxM1JTeFpRVUZqUXl4RlFVRlJSQ3hoUVVOc1EwTXNSVUZCVVdwRExFOUJRVk55UWl4RlFVRlRiRU1zUjBGQlRXVXNUVUZCVFhsRExFOUJRVk5uUXl4RlFVRlJhRU1zVDBGRmVFUjRSQ3hGUVVGTFpTeE5RVUZOY1VZc1YwRkJZU3hQUVVONFFuQkhMRVZCUVV0bExFMUJRVTEzUlN4WlFVRmpReXhGUVVGUlJDeFpRVWRxUTNoRUxFVkJRVk12UWl4RlFVRk5MR3RDUVVFMlF5eHBRa0ZCYmtKM1JpeEZRVUZSWVN4UFFVRnpRbUlzUlVGQlVXRXNUMEZCVTNSQ0xFVkJRVkVzVFVGQlVTeFhRWGxDZUVjc1NVRXJUa2wxUWl4RlFVTkJReXhGUVVOQlF5eEZRVU5CUXl4RlFVTkJjRUlzUlVGRFFYRkNMRVZCY0U5Qk9VSXNSVUZCU1N4RlFVTktReXhGUVVGSkxFVkJRMHBETEVWQlFWRXNSVUZEVWpaQ0xFZEJRVmtzUlVGVmFFSXNVMEZCVTBNc1JVRkJVVU1zUlVGQlYzWklMRVZCUVZGM1NDeEhRVU5vUXl4SlFVRkpRU3hGUVVGTFF5eFBRVUZVTEVOQlIwRXNTVUZCU1hSS0xFVkJRVkVzU1VGQlNYbENMRmxCUVZreVNDeEZRVUZYTEVOQlFVVjJTQ3hQUVVGUlFTeEpRVU5xUkZVc1JVRkJTMmRJTEdOQlFXTjJTaXhKUVVWMlFpeFRRVUZUZDBvc1JVRkJjMEpLTEVWQlFWZERMRWRCUTNSRExFbEJRVWs1UlN4RlFVRlJMRU5CUVVVMFF5eEZRVUZIUVN4RlFVRkhReXhGUVVGSFFTeEZRVUZIUXl4TlFVRlBRU3hGUVVGUFF5eE5RVUZQUVN4SFFXTXZReXhQUVdKQmJVTXNjMEpCUVhOQ0xGZEJRMVVzYTBKQlFXcENTaXhGUVVGTGVFUXNWVUZEVW5kRUxFVkJRVXQ0UkN4UlFYaE5la0lzVTBGQmRVSjBSQ3hGUVVGTmQwWXNSMEZGZWtKNlJDeEZRVUZUTDBJc1JVRkJUU3hoUVVSRGEwSXNSVUZCWjBJc1lVRkRVeXhKUVVGTmMwVXNSVUZCVVROQ0xGTkJRVmNzVFVGQlVUSkNMRVZCUVZFeFFpeFJRWFZOYkVWeFJDeERRVUZqYmtnc1JVRkJUVGhITEVkQlIzQkNMMFVzUlVGQlV5OUNMRVZCUVUwc1lVRkJZeXhUUVVkeVF6aEhMRVZCUVV0d1F5eGhRVUZoTVVVc1JVRkJUV2RETEVWQlFVODRSU3hMUVVWdVEwWXNSVUZCVVVNc1JVRkJWemRGTEVWQlFVODRSU3hIUVVNeFFrWXNSVUZCVVN4blFrRkJhVUkxUlN4RlFVRlBPRVVzUjBGRGVrSTVSU3hGUVVWWUxGTkJRVk52Uml4SlFVTk1MRWRCUVVrMVFpeEZRVUZSTmtJc1VVRkJVeXhEUVVOcVFpeEpRVUZKUXl4RlFVRlBja1lzUlVGQlkycERMRWRCUTNKQ2RVZ3NSVUZCWTBRc1JVRkJTM0JHTEU5QlFVOU5MRTFCUVZFNFJTeEZRVUZMY0VZc1QwRkJUMU1zVDBGQlQyaENMRXRCUVU4eVJpeEZRVUZMY0VZc1QwRkJUMU1zVDBGQlQyWXNUVUZETDBVMFJpeEZRVUZsUml4RlFVRkxjRVlzVDBGQlQwOHNUMEZCVXpaRkxFVkJRVXR3Uml4UFFVRlBVeXhQUVVGUFpDeEpRVUZOZVVZc1JVRkJTM0JHTEU5QlFVOVRMRTlCUVU5aUxFOUJSMmhHTWtZc1JVRkJhMEpHTEVkQlJrNUVMRVZCUVV0MFNDeExRVUZMZDBNc1RVRkJVWE5ETEVkQlJ6bENORU1zUlVGQmJVSkdMRWRCUms1R0xFVkJRVXQwU0N4TFFVRkxlVU1zVDBGQlUzRkRMRWRCUjFvc1YwRkJjRUpWTEVWQlFWRTJRaXhSUVVOU04wSXNSVUZCVVc1Q0xGTkJRVmN6Uml4TFFVRkxhVW9zU1VGQlNVWXNSVUZCYVVKRExFZEJSWEJDTEZsQlFYQkNiRU1zUlVGQlVUWkNMRlZCUTJJM1FpeEZRVUZSYkVJc1UwRkJWelZHTEV0QlFVdHJTaXhKUVVGSlNDeEZRVUZwUWtNc1MwRkpla1FzVTBGQlUwY3NSVUZCV1VNc1JVRkJTME1zUlVGQlMwTXNSVUZCVTBNc1IwRkRjRU1zU1VGQlNXNUNMRVZCUVU5eVN5eEZRVUZUUVN4RlFVRlRMRWRCUVVrclNTeEhRVUZWZVVNc1IwRkRka05ETEVWQlFWTXNRMEZCUlhSRUxFVkJRVWRCTEVWQlFVZERMRVZCUVVkQkxFVkJRVWRwUXl4TFFVRk5RU3hIUVVOcVF5eEpRVUZMUVN4RlFVRkxjVUlzVVVGQlZYSkNMRVZCUVV0eVJDeFpRVUZsY1VRc1JVRkJTM1JETEcxQ1FVRnhRazBzU1VGQlZXZERMRVZCUVV0NlFpeFpRVU0zUlN4UFFVRlBOa01zUlVGVldDeEhRVkpCU2l4RlFVRk5ka2NzVjBGQlYzVkhMRWRCUTJwQ1F5eEZRVUZOZUVjc1YwRkJWM2RITEVkQlExcHFRaXhGUVVGTGJrUXNaVUZEVG5WRkxFVkJRVTkwUkN4SFFVRkxhME1zUlVGQlMzSkRMRk5CUVZkSExFVkJRVWtzUjBGQlMydEVMRWRCUlhCRGFFSXNSVUZCUzJ4RUxHVkJRMDV6UlN4RlFVRlBja1FzUjBGQlMybERMRVZCUVV0eVF5eFRRVUZYU1N4RlFVRkpMRWRCUVV0clJDeEhRVVZ3UWl4WFFVRnFRbXBDTEVWQlFVdFBMRkZCUVhOQ0xFTkJRek5DTEVsQlFVbERMRVZCUVU5eVJpeEZRVUZqYWtNc1IwRkRla0pyU1N4RlFVRlBkRVFzUlVGQlNXeEhMRXRCUVV0clNpeExRVUZMVGl4RlFVRkxkRWdzUzBGQlN6QkRMRTlCUVU5bUxFdEJRVTh5Uml4RlFVRkxjRVlzVDBGQlQxVXNVVUZCVVdwQ0xFdEJRVTFxUkN4TFFVRkxhVW9zU1VGQlNVd3NSVUZCUzNCR0xFOUJRVTlOTEUxQlEzaEdPRVVzUlVGQlMzUklMRXRCUVV0M1F5eE5RVUZSZDBZc1JVRkRiRUpXTEVWQlFVdHdSaXhQUVVGUFZTeFJRVUZSYWtJc1MwRkRjRUl5Uml4RlFVRkxkRWdzUzBGQlN6QkRMRTlCUVU5bUxFdEJRMnBDTWtZc1JVRkJTM0JHTEU5QlFVOVRMRTlCUVU5b1FpeExRVU51UWpKR0xFVkJRVXR3Uml4UFFVRlBVeXhQUVVGUFppeE5RVUZQYzBjc1JVRkJUM1JFTEVsQlEzSkRjMFFzUlVGQlQzSkVMRVZCUVVsdVJ5eExRVUZMYTBvc1MwRkJTMDRzUlVGQlMzUklMRXRCUVVzd1F5eFBRVUZQWWl4SlFVRk5lVVlzUlVGQlMzQkdMRTlCUVU5VkxGRkJRVkZtTEVsQlFVdHVSQ3hMUVVGTGFVb3NTVUZCU1V3c1JVRkJTM0JHTEU5QlFVOVBMRTlCUTNSR05rVXNSVUZCUzNSSUxFdEJRVXQ1UXl4UFFVRlRkVVlzUlVGRGJrSldMRVZCUVV0d1JpeFBRVUZQVlN4UlFVRlJaaXhKUVVOd1FubEdMRVZCUVV0MFNDeExRVUZMTUVNc1QwRkJUMklzU1VGRGFrSjVSaXhGUVVGTGNFWXNUMEZCVDFNc1QwRkJUMlFzU1VGRGJrSjVSaXhGUVVGTGNFWXNUMEZCVDFNc1QwRkJUMklzVDBGQlVXOUhMRVZCUVU5eVJDeFRRVVZ5UXl4SFFVRnhRaXhaUVVGcVFtbERMRVZCUVV0UExGRkJRWFZDTEVOQlEycERMRWxCUTBsbExFZEJSRUZrTEVWQlFVOXlSaXhGUVVGamFrTXNTVUZEU2tFc1MwRkJTM2RETEUxQlFWRnpReXhGUVVNNVFuVkVMRVZCUVdGbUxFVkJRVXQwU0N4TFFVRkxlVU1zVDBGQlUzRkRMRVZCUTJoRGQwUXNSVUZCWTBZc1JVRkJXVW9zUlVGRE1VSlBMRVZCUVdWR0xFVkJRV0ZNTEVWQlF6VkNVU3hIUVVGclFrWXNSVUZCWTBZc1IwRkJZU3hGUVVNM1Ewc3NSMEZCWjBKR0xFVkJRV1ZHTEVkQlFXTXNSVUZETjBOTExFdEJRVlZLTEVWQlFXTm9RaXhGUVVGTGNFWXNUMEZCVDAwc1QwRkRjRU00UlN4RlFVRkxjRVlzVDBGQlQxVXNVVUZCVVdwQ0xFdEJRM0JDTWtZc1JVRkJTM0JHTEU5QlFVOVRMRTlCUVU5b1FpeExRVU51UWpKR0xFVkJRVXR3Uml4UFFVRlBVeXhQUVVGUFppeE5RVU51UWpSSExFZEJRMEZTTEVWQlEwRlhMRWRCUVZGSUxFVkJRV2xDYkVJc1JVRkJTM0JHTEU5QlFVOVZMRkZCUVZGcVFpeE5RVUZSY1Vjc1JVRkRla1JGTEVWQlFVOTBSQ3hGUVVGSmJFY3NTMEZCUzJ0S0xFbEJRVWxzU2l4TFFVRkxhVW9zU1VGQlNVOHNSVUZCVDNSRUxFVkJRVWNyUkN4SFFVRlBSQ3hIUVVNNVF5eEpRVUZKUlN4TFFVRlZUQ3hGUVVGbGFrSXNSVUZCUzNCR0xFOUJRVTlQTEZGQlEzSkROa1VzUlVGQlMzQkdMRTlCUVU5VkxGRkJRVkZtTEVsQlEzQkNlVVlzUlVGQlMzQkdMRTlCUVU5VExFOUJRVTlrTEVsQlEyNUNlVVlzUlVGQlMzQkdMRTlCUVU5VExFOUJRVTlpTEU5QlEyNUNNa2NzUjBGRFFWUXNSVUZEUVdFc1IwRkJVVW9zUlVGQlpXNUNMRVZCUVV0d1JpeFBRVUZQVlN4UlFVRlJaaXhMUVVGUGJVY3NSVUZEZEVSRkxFVkJRVTl5UkN4RlFVRkpia2NzUzBGQlMydEtMRWxCUVVsc1NpeExRVUZMYVVvc1NVRkJTVThzUlVGQlQzSkVMRVZCUVVkblJTeEhRVUZQUkN4SFFVVnNSQ3hQUVVGUFZpeEZRVVZZTEZOQlFWTlpMRVZCUVdWa0xFVkJRVk5sTEVkQlF6ZENMRWxCUVVscVF5eEZRVUZQY2tzc1JVRkJVMEVzUlVGQlV5eEhRVUZKSzBrc1IwRkJWWFZFTEVkQlEzWkRZaXhGUVVGVExFTkJRVVZ3UkN4TlFVRlBRU3hGUVVGUFowTXNTMEZCVFVFc1IwRkRia01zVDBGQlMwRXNSVUZCUzNGQ0xFOUJRVk55UWl4RlFVRkxjRVFzV1VGRFluZEZMRWRCUlZoQkxFVkJRVTl3UkN4TlFVRlJjRWNzUzBGQlMybEtMRWxCUVVscVNpeExRVUZMYTBvc1NVRkJTVWtzUlVGQlUyeENMRVZCUVV0NFF5eFZRVUZYZDBNc1JVRkJTM3BETEZWQlEzaEVOa1FzUjBGRldDeFRRVUZUWXl4RlFVRkpiRUlzUlVGQlMwTXNSVUZCUzBVc1IwRkRia0lzU1VGQlNVTXNSVUZCVTB3c1JVRkJXVU1zUlVGQlMwTXNSVUZCUzJwRUxFVkJRVTl0UkN4SFFVTjBRMjVDTEVWQlFVOXZRaXhGUVVGUGNFSXNTMEZIYkVJc1QwRkdRV3hETEVWQlFVbHpSQ3hGUVVGUGRFUXNSVUZEV0VNc1JVRkJTWEZFTEVWQlFVOXlSQ3hGUVVOS2IwTXNSVUZCYzBJc1lVRkJZMGdzUjBGRkwwTXNVMEZCVTIxRExFVkJRVXRxUWl4RlFVRlRaU3hIUVVOdVFpeEpRVUZKWWl4RlFVRlRXU3hGUVVGbFpDeEZRVUZUWlN4SFFVTnFRMnBETEVWQlFVOXZRaXhGUVVGUGNFSXNTMEZEYkVJc1IwRkJTMEVzUlVGQlMzRkNMRkZCUVZOeVFpeEZRVUZMY0VRc1dVRkJlRUlzUTBGSFFYTkZMRVZCUVZWRkxFVkJRVTl3UkN4TlFVTnFRaXhKUVVGSlowUXNSVUZCVFd4RUxFVkJRMDV0UkN4RlFVRk5iRVFzUlVGRFZpeEhRVUZKYVVNc1JVRkJTMjlETEUxQlFVOHNRMEZKV2l4SlFVRkpRU3hGUVVGUmNFTXNSVUZCUzI5RExFMUJRMnBDY0VJc1IwRkJUMjlDTEVWQlFVMTBSU3hGUVVGSmIwUXNSVUZCVld0Q0xFVkJRVTEwUlN4RlFVRkpSU3hGUVVGUlJpeEZRVUZKYjBRc1IwRkJWMEVzUlVGRE5VUkVMRWRCUVU5dFFpeEZRVUZOY2tVc1JVRkJTVzFFTEVWQlFWVnJRaXhGUVVGTmNrVXNSVUZCU1VNc1JVRkJVVVFzUlVGQlNXMUVMRWRCUVZkQkxFVkJSV2hGTEVsQlFVbHRRaXhGUVVGWmRFSXNSVUZCV1VNc1JVRkJTME1zUlVGQlMwTXNSVUZCVXl4RFFVRkZka1FzVlVGQlZTeEZRVUZQTUVRc1QwRkJUeXhKUVVsNlJTeFBRVWhCZGtRc1JVRkJTWFZGTEVWQlFWVjJSU3hGUVVOa1F5eEZRVUZKYzBVc1JVRkJWWFJGTEVWQlEyUkRMRVZCUVZGclJDeEZRVU5FWml4RlFVRnpRaXhqUVVGbFNDeEpRVVZvUkN4VFFVRlRjME1zUlVGQlZVTXNSVUZCVFU0c1IwRkRja0lzU1VGQlNXcERMRVZCUVU5eVN5eEZRVUZUUVN4RlFVRlRRU3hGUVVGVExFZEJRVWtyU1N4SFFVRlZMRU5CUVVWc1F5eFRRVUZUTEVsQlFWTjVSaXhIUVVONFJTeFBRVUZQUlN4RlFVRkxia1VzUlVGQlVYQkhMRXRCUVVzMFN5eExRVUZMUkN4RlFVRlBMRWRCUVVzc1IwRkJTM1pETEVWQlFVdDRRaXhOUVVGUGQwSXNSMEZSTDBRc1UwRkJVM2xETEVWQlFWbDJRaXhGUVVGVGQwSXNSVUZCVDFRc1IwRkRha01zU1VGQlNYcENMRVZCUVU5eVJpeEZRVUZqYWtNc1IwRkxja0o1U2l4RlFVTlBia01zUlVGQlMzQkdMRTlCUVU5TkxFMUJRMlk0UlN4RlFVRkxjRVlzVDBGQlQxVXNVVUZCVVdwQ0xFdEJRM0JDTWtZc1JVRkJTM0JHTEU5QlFVOVZMRkZCUVZGb1FpeE5RVU53UWpCR0xFVkJRVXR3Uml4UFFVRlBVeXhQUVVGUGFFSXNTMEZEYmtJeVJpeEZRVUZMY0VZc1QwRkJUMU1zVDBGQlQyWXNUVUZNZGtJMlNDeEZRVTFSYmtNc1JVRkJTM0JHTEU5QlFVOVBMRTlCUTJoQ05rVXNSVUZCUzNCR0xFOUJRVTlWTEZGQlFWRm1MRWxCUTNCQ2VVWXNSVUZCUzNCR0xFOUJRVTlWTEZGQlFWRmtMRTlCUTNCQ2QwWXNSVUZCUzNCR0xFOUJRVTlUTEU5QlFVOWtMRWxCUTI1Q2VVWXNSVUZCUzNCR0xFOUJRVTlUTEU5QlFVOWlMRTlCU1haQ2RrUXNSVUZCVldsTUxFVkJRVTFxVEN4UlFVTm9RaXRKTEVWQlFVdHdSaXhQUVVGUFVDeExRVU5hTWtZc1JVRkJTM0JHTEU5QlFVOVZMRkZCUVZGcVFpeExRVU53UWpKR0xFVkJRVXR3Uml4UFFVRlBVeXhQUVVGUGFFSXNTMEZEYmtJeVJpeEZRVUZMZEVnc1MwRkJTekJETEU5QlFVOW1MRXRCUTJwQ2JrUXNSVUZCVldkTUxFVkJRVTFvVEN4UlFVTm9RamhKTEVWQlFVdHdSaXhQUVVGUFRDeEpRVU5hZVVZc1JVRkJTM0JHTEU5QlFVOVZMRkZCUVZGbUxFbEJRM0JDZVVZc1JVRkJTM0JHTEU5QlFVOVRMRTlCUVU5a0xFbEJRMjVDZVVZc1JVRkJTM1JJTEV0QlFVc3dReXhQUVVGUFlpeEpRVWRvUW10RUxFbEJRMFI0Unl4SFFVRlhLMGtzUlVGQlMzUklMRXRCUVV0M1F5eE5RVUZSYzBNc1JVRkJVU3hGUVVOeVEzUkhMRWRCUVZjNFNTeEZRVUZMZEVnc1MwRkJTM2xETEU5QlFWTnhReXhGUVVGUkxFZEJTekZETEVsQlFVbHZSU3hGUVVGUkxFTkJRMUowUlN4RlFVRkpja2NzUlVGQlZXdE1MRWRCUVhkQ1FTeEZRVUZ6UW5wQ0xFZEJRelZFYmtRc1JVRkJTWEpITEVWQlFWVnBUQ3hIUVVGNVFrRXNSVUZCZFVKNlFpeEpRVVZzUlN4UFFVRlBhVUlzUlVGQlMycENMRVZCUVZOMlRDeEZRVUZUUVN4RlFVRlRMRU5CUVVVMlJ5eFRRVUZUTEVkQlFWTjVSaXhIUVVGakxFTkJRVVZITEUxQlFVOUJMRXRCZEUxMFJrUXNSVUZCUzNwRUxFVkJRVkZJTEZkQlFWa3NRMEZCUlM5Q0xGTkJRVk1zU1VGSmNFTnZSeXhYUVVGWExGZEJRMUIwUXl4SlFVTkJORUlzUlVGQlNYaEVMRVZCUVZGTUxFOUJRVkZMTEVWQlFWRktMRTlCUVZFc1EwRkJSVGxDTEZOQlFWTXNUVUV5VG01RUxFbEJRVWs1Uml4RlFVRlhMRWRCUTJZc1UwRkJVMjFOTEVWQlFWZHNUU3hIUVVWb1FpeEpRV3hXVWl4VFFVRnZRblZETEVWQlFVMTNSaXhIUVVOMFFpeEpRVUZMTEVsQlFVbHZSU3hGUVVGTk5Vb3NSVUZCWVN4TlFVRlFORW9zUlVGQllVRXNSVUZCVFVFc1JVRkJTWHBJTEZkQlEzaERMRWRCUVVsVkxFVkJRVk1yUnl4RlFVRkxjRVVzUlVGQlVYaENMR1ZCUVdsQ2QwSXNSVUZCVVhwQ0xGRkJRVkZhTEZGQlFWRjVSeXhKUVVGUkxFVkJRM1pGTEU5QlFVOHNSVUZIWml4UFFVRlBMRVZCTkZWRFF5eERRVUZYY0Uwc1JVRkJUWEZOTEU5QlFWRjBSU3hIUVVFM1FpeERRVWRCTjBnc1JVRkJWMGdzUlVGQlZVTXNSMEZEY2tKclNpeEhRVUZaTEVWQlExcHVRaXhGUVVGUmRrSXNhVUpCUVdsQ2VFY3NSMEZEZWtJMlNTeEZRVUZSTVVJc1JVRkRVakpDTEVWQlFWRXhRaXhGUVVOU0swSXNSVUZCVVN4bFFVRm5RaXhEUVVGRmFFTXNSVUZCUjBFc1JVRkJSME1zUlVGQlIwRXNSVUZCUjBNc1RVRkJUMEVzUjBGQlUxVXNSMEZIZEVRc1NVRkJTV2RGTEVWQlFWRjBUQ3hGUVVGVlZpeEhRVU4wUW1kS0xFVkJRV1ZuUkN4RlFVRk5ha3dzVVVGRGNrSnJTU3hGUVVGbEswTXNSVUZCVFdoTUxGRkJRM0pDTmtjc1JVRkJZVkFzUlVGRFlqUkNMRVZCUVdkQ2Fra3NSVUZCV1dwQ0xFbEJSV2hETEZOQlFWTnhReXhGUVVGTGNFTXNSMEZEVml4SFFVRkxhMG9zVVVGRFUyOUVMRWxCUVZaNlJDeFJRVU5WZVVRc1NVRkJWbmhFTEZGQlEybENkMFFzU1VGQmFrSjJSQ3hSUVVOcFFuVkVMRWxCUVdwQ2RFUXNSVUZLU2l4RFFVOUJPVWtzUlVGQlYwZ3NSVUZCVlVNc1IwRkRja0lzU1VGQlNYVk5MRVZCUVZVNVRDeEZRVUZWVml4SFFVTjRRaXhIUVVGSlFTeEZRVUZUVUN4UFFVRlRMRVZCUzJ4Q2MwMHNSVUZFWTFRc1IwRkVTSEpMTEVWQlFWbHFRaXhIUVVGWmEwb3NSMEZEUld4Q0xFVkJRVkZHTEV0QlFWRXNSMEZCUzBRc1IwRkJXVkFzVFVGRGFrUnJSaXhIUVVWNlFtaENMRVZCUVVreFF5eEhRVUZUTUVRc1JVRkJVWHBNTEZGQlFWVnBTU3hIUVVGblFqRkNMRVZCUVU5NVFpeEhRVUZUZVVRc1JVRkJVWGhNTEZGQlFWVnBTU3hIUVVGblFqTkNMRVZCUVU4c1EwRkRjRWQ0UWl4VFFVRlRMRXRCUjJwQ0xGTkJRVk15Unl4RlFVRlRlRTBzUjBGSFZTeEpRVUZ3UWtRc1JVRkJVMUFzVVVGRFZESktMRVZCUVZFc1lVRkJZeXhEUVVGRmFFTXNSVUZCUjBFc1JVRkJSME1zUlVGQlIwRXNSVUZCUjBNc1RVRkJUMEVzUjBGQlUxVXNSMEV2YTBKb1JTeFRRVUYxUW1oSkxFVkJRVlZETEVkQlJUZENMRWRCUVVsQkxFVkJRVTFITEZGQlJVNHNTMEZCVDBvc1JVRkJVMUFzVVVGRFdrOHNSVUZCVTJNc1ZVRklha0lzUTBGUFFTeEpRVUZKZUVJc1JVRkJTVk1zUlVGQlpVTXNSVUZCVlVNc1IwRkROMEpZTEVkQlFVc3NSMEZEVEZVc1JVRkJVMUVzVDBGQlQyeENMRVZCUVVjc1NVRjVhMEp1UW05T0xFTkJRV014VFN4RlFVRlZReXhIUVVOdVFtdEtMRWxCUjB4QkxFZEJRVmtzUlVGRFdrd3NSVUZCVVVNc1JVRkJVVU1zUlVGQlpVTXNUMEZCWlhORUxFZEJSV3hFTEVsQlFVbEpMRWRCUVZFc1JVRkRXaXhUUVVGVFF5eEpRVU5FUkN4SlFVZEtRU3hIUVVGUkxFVkJRMUp3U3l4RlFVRlZMRTlCUVZGNVJpeEZRVUZSYWtNc1QwRkJVM0pDTEVWQlFWTnNReXhGUVVGTk1rb3NSMEZEYkVRMVNpeEZRVUZWTEU5QlFWRlFMRk5CUVZWTExFVkJRVTBzUTBGQlJYZExMRk5CUVZNc1NVRkROME4wU3l4RlFVRlZMRXRCUVUxUUxGTkJRVlY1U3l4RlFVRlZMRU5CUVVWSkxGTkJRVk1zUzBGWGJrUXNUMEZJU3pkRkxFVkJRVkU0UlN4UlFVTlVSaXhKUVVWSExFTkJRMGhCTEV0QlFVMUJMRVZCUTA1SExGRkJXRW9zVjBGRFNVb3NSMEZCVVN4RlFVTlNOMG9zUlVGQlpTeFBRVUZSYTBZc1JVRkJVV3BETEU5QlFWTnlRaXhGUVVGVGJFTXNSVUZCVFRKS0xFZEJRM1pFY2tvc1JVRkJaU3hQUVVGUlpDeFRRVUZWU3l4SFFVTnFRMU1zUlVGQlpTeExRVUZOWkN4VFFVRlZlVXNzU1VGUkwwSlBMRmRCUVZrM1N5eEZRVU5hT0Vzc1QwRkJVU3hYUVVGakxFMUJRVThzUTBGQlJ6ZEdMRVZCUVVkQkxFVkJRVWRETEVWQlFVZEJMRWxCUTNwRE5rWXNVMEZCVlN4WFFVRmpMRTlCUVU4MVJpeEhRVU12UWpaR0xGZEJRVmtzVjBGQll5eFBRUzlaYkVNc1UwRkJjMEpETEVkQlEyeENMRWxCUVVsRExFVkJRVkVzUjBGRFdpeEpRVUZMTEVsQlFVbERMRXRCUVU5R0xFVkJRMUpCTEVWQlFVbDRUaXhsUVVGbE1FNHNTMEZEYmtKRUxFVkJRVTFETEVkQlFVOUdMRVZCUVVsRkxFbEJSM3BDTEU5QlFVOUVMRVZCZDFrNFFrVXNRMEZCWVhaR0xFbEJRemxEZDBRc1NVRkJTMEVzUlVGRFRHZERMRTFCYkVkS0xGTkJRV1ZETEVkQlExZ3NTVUZCU1c1RkxFVkJRVTl5U3l4RlFVRlRRU3hGUVVGVFFTeEZRVUZUTEVkQlFVa3JTU3hIUVVGVkxFTkJRVVZzUXl4VFFVRlRMRVZCUVUwMlJTeFBRVUZQTEVsQlFWTTRReXhIUVVOeVJtNUhMRVZCUVZGblJTeEZRVUZsYUVNc1JVRkJTM3BDTEZkQlFWbDVRaXhIUVVGTmFFTXNUVUZET1VNc1NVRkJTWEZGTEVWQlFWbDBRaXhGUVVGWlppeEZRVUZMTTBJc1QwRkJVVEpDTEVWQlFVc3hRaXhQUVVGUlRpeEZRVUZQWjBNc1IwRkhOMFFzVDBGR1FXeERMRVZCUVVsMVJTeEZRVUZWZGtVc1JVRkRaRU1zUlVGQlNYTkZMRVZCUVZWMFJTeEZRVU5RYjBNc1JVRkJjMElzWlVGQlowSklMRWxCTmtZM1EyOUZMRmRCYkZaS0xGTkJRVzlDY0VVc1IwRkZhRUlzU1VGQlN5eEpRVUZKWjBVc1ZVRkVTU3hKUVVGVWFFVXNTVUZCYlVKQkxFVkJRVThzU1VGRFpFRXNSVUZEVWtFc1JVRkJTekZLTEdWQlFXVXdUaXhMUVVOd1FuUkdMRVZCUVZGelJpeEhRVUZQYUVVc1JVRkJTMmRGTEVsQlNYaENhRVVzUlVGQlN6RktMR1ZCUVdVc1dVRkRjRUkwUXl4RlFVRkxaU3hOUVVGTmVVTXNUMEZCVTNORUxFVkJRVXQwUkN4UlFVVjZRbk5FTEVWQlFVc3hTaXhsUVVGbExHTkJRM0JDT0VVc1JVRkJUMjVDTEUxQlFVMTNSQ3hUUVVGWGRVTXNSVUZCUzNaRExGVkJSVGRDZFVNc1JVRkJTekZLTEdWQlFXVXNhVUpCUTNCQ09FVXNSVUZCVDI1Q0xFMUJRVTEzUlN4WlFVRmpkVUlzUlVGQlMzWkNMRmxCUTJoRGRrWXNSVUZCUzJVc1RVRkJUWGRGTEZsQlFXTjFRaXhGUVVGTGRrSXNZMEZGT1VKMVFpeEZRVUZMTVVvc1pVRkJaU3hoUVVOd1FqQktMRVZCUVVzeFNpeGxRVUZsTEdGQlEzQkNNRW9zUlVGQlN6RktMR1ZCUVdVc1lVRkRjRUpuU3l4TFFUaFVTbkpHTEZOQlFWVXNVMEZCVlROQ0xFVkJRVTAwUWl4SFFVRlRMRTlCUVU5RUxFVkJRVk12UWl4RlFVRk5TU3hGUVVGTk5FSXNTVUZETDBScFNDeExRVUZOUVN4RlFVTk9hME1zVDBGd1Mwb3NVMEZCWjBKd1F5eEhRVU5hTEU5QlFVOUxMRWRCUVZVc1JVRkJUVXdzU1VGdlMzWkNjVU1zVVVGc1Mwb3NVMEZCYVVKeVF5eEhRVU5pTEU5QlFVOUxMRWRCUVZVc1JVRkJUMHdzU1VGclMzaENVU3haUVVGaFFTeEZRVU5pT0VJc1kwRndTRW9zVTBGQmRVSTFUaXhGUVVGUGMwd3NSMEZITVVKMFRDeEZRVUZOTUVjc2FVSkJRMDRzU1VGQlNUSkRMRVZCUVU5eVN5eEZRVUZUUVN4RlFVRlRMRWRCUVVrclNTeEhRVUZWZFVRc1IwRkhka04xUXl4SFFVUjVRaXhKUVVGcVFqZE9MRVZCUVUwNFRpeFJRVUZuUWpsT0xFVkJRVTByVGl4UFFVRlRMMDRzUlVGQlRTdE9MRTlCUVZNdlRpeEZRVUZOT0U0c1VVRkRiRVFzUlVGQlNTeEhRVUZMTEVWQlJUZENMRTlCUVU5b1F5eEZRVVJQVkN4RlFVRmxhRVVzUlVGQlVYQkhMRXRCUVVzMFN5eEpRVUZMWjBNc1JVRkJVWGhGTEVWQlFVdDRRaXhMUVVGUkxFZEJRVWwzUWl4SFFVRk5hRU1zVFVGRGJFUnlTQ3hGUVVGUGNVb3NTMEZuU0RORExFOUJSa0YyU3l4RlFVRlJPRWNzWlVGQmFVSkJMRVZCUld4Q09VY2lMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YldGemRHVnlMM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDBCd1lXNTZiMjl0TDNCaGJucHZiMjB2WkdsemRDOXdZVzU2YjI5dExtcHpJbjA9IiwibW9kdWxlLmV4cG9ydHM9cmVxdWlyZShcIi4vbGliL2F4aW9zXCIpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1sdVpHVjRMbXB6SWwwc0ltNWhiV1Z6SWpwYkltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSnlaWEYxYVhKbElsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFVRXNUMEZCVDBNc1VVRkJWVU1zVVVGQlVTSXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl0WVhOMFpYSXZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12WVhocGIzTXZhVzVrWlhndWFuTWlmUT09IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIHV0aWxzPXJlcXVpcmUoXCIuLy4uL3V0aWxzXCIpLHNldHRsZT1yZXF1aXJlKFwiLi8uLi9jb3JlL3NldHRsZVwiKSxjb29raWVzPXJlcXVpcmUoXCIuLy4uL2hlbHBlcnMvY29va2llc1wiKSxidWlsZFVSTD1yZXF1aXJlKFwiLi8uLi9oZWxwZXJzL2J1aWxkVVJMXCIpLGJ1aWxkRnVsbFBhdGg9cmVxdWlyZShcIi4uL2NvcmUvYnVpbGRGdWxsUGF0aFwiKSxwYXJzZUhlYWRlcnM9cmVxdWlyZShcIi4vLi4vaGVscGVycy9wYXJzZUhlYWRlcnNcIiksaXNVUkxTYW1lT3JpZ2luPXJlcXVpcmUoXCIuLy4uL2hlbHBlcnMvaXNVUkxTYW1lT3JpZ2luXCIpLGNyZWF0ZUVycm9yPXJlcXVpcmUoXCIuLi9jb3JlL2NyZWF0ZUVycm9yXCIpO21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyLHQpe3ZhciBzPWUuZGF0YSxvPWUuaGVhZGVyczt1dGlscy5pc0Zvcm1EYXRhKHMpJiZkZWxldGUgb1tcIkNvbnRlbnQtVHlwZVwiXTt2YXIgYT1uZXcgWE1MSHR0cFJlcXVlc3Q7aWYoZS5hdXRoKXt2YXIgbj1lLmF1dGgudXNlcm5hbWV8fFwiXCIsaT1lLmF1dGgucGFzc3dvcmQ/dW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KGUuYXV0aC5wYXNzd29yZCkpOlwiXCI7by5BdXRob3JpemF0aW9uPVwiQmFzaWMgXCIrYnRvYShuK1wiOlwiK2kpfXZhciB1PWJ1aWxkRnVsbFBhdGgoZS5iYXNlVVJMLGUudXJsKTtpZihhLm9wZW4oZS5tZXRob2QudG9VcHBlckNhc2UoKSxidWlsZFVSTCh1LGUucGFyYW1zLGUucGFyYW1zU2VyaWFsaXplciksITApLGEudGltZW91dD1lLnRpbWVvdXQsYS5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXtpZihhJiY0PT09YS5yZWFkeVN0YXRlJiYoMCE9PWEuc3RhdHVzfHxhLnJlc3BvbnNlVVJMJiYwPT09YS5yZXNwb25zZVVSTC5pbmRleE9mKFwiZmlsZTpcIikpKXt2YXIgcz1cImdldEFsbFJlc3BvbnNlSGVhZGVyc1wiaW4gYT9wYXJzZUhlYWRlcnMoYS5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKSk6bnVsbCxvPXtkYXRhOmUucmVzcG9uc2VUeXBlJiZcInRleHRcIiE9PWUucmVzcG9uc2VUeXBlP2EucmVzcG9uc2U6YS5yZXNwb25zZVRleHQsc3RhdHVzOmEuc3RhdHVzLHN0YXR1c1RleHQ6YS5zdGF0dXNUZXh0LGhlYWRlcnM6cyxjb25maWc6ZSxyZXF1ZXN0OmF9O3NldHRsZShyLHQsbyksYT1udWxsfX0sYS5vbmFib3J0PWZ1bmN0aW9uKCl7YSYmKHQoY3JlYXRlRXJyb3IoXCJSZXF1ZXN0IGFib3J0ZWRcIixlLFwiRUNPTk5BQk9SVEVEXCIsYSkpLGE9bnVsbCl9LGEub25lcnJvcj1mdW5jdGlvbigpe3QoY3JlYXRlRXJyb3IoXCJOZXR3b3JrIEVycm9yXCIsZSxudWxsLGEpKSxhPW51bGx9LGEub250aW1lb3V0PWZ1bmN0aW9uKCl7dmFyIHI9XCJ0aW1lb3V0IG9mIFwiK2UudGltZW91dCtcIm1zIGV4Y2VlZGVkXCI7ZS50aW1lb3V0RXJyb3JNZXNzYWdlJiYocj1lLnRpbWVvdXRFcnJvck1lc3NhZ2UpLHQoY3JlYXRlRXJyb3IocixlLFwiRUNPTk5BQk9SVEVEXCIsYSkpLGE9bnVsbH0sdXRpbHMuaXNTdGFuZGFyZEJyb3dzZXJFbnYoKSl7dmFyIGw9KGUud2l0aENyZWRlbnRpYWxzfHxpc1VSTFNhbWVPcmlnaW4odSkpJiZlLnhzcmZDb29raWVOYW1lP2Nvb2tpZXMucmVhZChlLnhzcmZDb29raWVOYW1lKTp2b2lkIDA7bCYmKG9bZS54c3JmSGVhZGVyTmFtZV09bCl9aWYoXCJzZXRSZXF1ZXN0SGVhZGVyXCJpbiBhJiZ1dGlscy5mb3JFYWNoKG8sZnVuY3Rpb24oZSxyKXt2b2lkIDA9PT1zJiZcImNvbnRlbnQtdHlwZVwiPT09ci50b0xvd2VyQ2FzZSgpP2RlbGV0ZSBvW3JdOmEuc2V0UmVxdWVzdEhlYWRlcihyLGUpfSksdXRpbHMuaXNVbmRlZmluZWQoZS53aXRoQ3JlZGVudGlhbHMpfHwoYS53aXRoQ3JlZGVudGlhbHM9ISFlLndpdGhDcmVkZW50aWFscyksZS5yZXNwb25zZVR5cGUpdHJ5e2EucmVzcG9uc2VUeXBlPWUucmVzcG9uc2VUeXBlfWNhdGNoKHIpe2lmKFwianNvblwiIT09ZS5yZXNwb25zZVR5cGUpdGhyb3cgcn1cImZ1bmN0aW9uXCI9PXR5cGVvZiBlLm9uRG93bmxvYWRQcm9ncmVzcyYmYS5hZGRFdmVudExpc3RlbmVyKFwicHJvZ3Jlc3NcIixlLm9uRG93bmxvYWRQcm9ncmVzcyksXCJmdW5jdGlvblwiPT10eXBlb2YgZS5vblVwbG9hZFByb2dyZXNzJiZhLnVwbG9hZCYmYS51cGxvYWQuYWRkRXZlbnRMaXN0ZW5lcihcInByb2dyZXNzXCIsZS5vblVwbG9hZFByb2dyZXNzKSxlLmNhbmNlbFRva2VuJiZlLmNhbmNlbFRva2VuLnByb21pc2UudGhlbihmdW5jdGlvbihlKXthJiYoYS5hYm9ydCgpLHQoZSksYT1udWxsKX0pLHN8fChzPW51bGwpLGEuc2VuZChzKX0pfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluaG9jaTVxY3lKZExDSnVZVzFsY3lJNld5SjFkR2xzY3lJc0luSmxjWFZwY21VaUxDSnpaWFIwYkdVaUxDSmpiMjlyYVdWeklpd2lZblZwYkdSVlVrd2lMQ0ppZFdsc1pFWjFiR3hRWVhSb0lpd2ljR0Z5YzJWSVpXRmtaWEp6SWl3aWFYTlZVa3hUWVcxbFQzSnBaMmx1SWl3aVkzSmxZWFJsUlhKeWIzSWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpWTI5dVptbG5JaXdpVUhKdmJXbHpaU0lzSW5KbGMyOXNkbVVpTENKeVpXcGxZM1FpTENKeVpYRjFaWE4wUkdGMFlTSXNJbVJoZEdFaUxDSnlaWEYxWlhOMFNHVmhaR1Z5Y3lJc0ltaGxZV1JsY25NaUxDSnBjMFp2Y20xRVlYUmhJaXdpY21WeGRXVnpkQ0lzSWxoTlRFaDBkSEJTWlhGMVpYTjBJaXdpWVhWMGFDSXNJblZ6WlhKdVlXMWxJaXdpY0dGemMzZHZjbVFpTENKMWJtVnpZMkZ3WlNJc0ltVnVZMjlrWlZWU1NVTnZiWEJ2Ym1WdWRDSXNJa0YxZEdodmNtbDZZWFJwYjI0aUxDSmlkRzloSWl3aVpuVnNiRkJoZEdnaUxDSmlZWE5sVlZKTUlpd2lkWEpzSWl3aWIzQmxiaUlzSW0xbGRHaHZaQ0lzSW5SdlZYQndaWEpEWVhObElpd2ljR0Z5WVcxeklpd2ljR0Z5WVcxelUyVnlhV0ZzYVhwbGNpSXNJblJwYldWdmRYUWlMQ0p2Ym5KbFlXUjVjM1JoZEdWamFHRnVaMlVpTENKeVpXRmtlVk4wWVhSbElpd2ljM1JoZEhWeklpd2ljbVZ6Y0c5dWMyVlZVa3dpTENKcGJtUmxlRTltSWl3aWNtVnpjRzl1YzJWSVpXRmtaWEp6SWl3aVoyVjBRV3hzVW1WemNHOXVjMlZJWldGa1pYSnpJaXdpY21WemNHOXVjMlVpTENKeVpYTndiMjV6WlZSNWNHVWlMQ0p5WlhOd2IyNXpaVlJsZUhRaUxDSnpkR0YwZFhOVVpYaDBJaXdpYjI1aFltOXlkQ0lzSW05dVpYSnliM0lpTENKdmJuUnBiV1Z2ZFhRaUxDSjBhVzFsYjNWMFJYSnliM0pOWlhOellXZGxJaXdpYVhOVGRHRnVaR0Z5WkVKeWIzZHpaWEpGYm5ZaUxDSjRjM0ptVm1Gc2RXVWlMQ0ozYVhSb1EzSmxaR1Z1ZEdsaGJITWlMQ0o0YzNKbVEyOXZhMmxsVG1GdFpTSXNJbkpsWVdRaUxDSjFibVJsWm1sdVpXUWlMQ0o0YzNKbVNHVmhaR1Z5VG1GdFpTSXNJbVp2Y2tWaFkyZ2lMQ0oyWVd3aUxDSnJaWGtpTENKMGIweHZkMlZ5UTJGelpTSXNJbk5sZEZKbGNYVmxjM1JJWldGa1pYSWlMQ0pwYzFWdVpHVm1hVzVsWkNJc0ltVWlMQ0p2YmtSdmQyNXNiMkZrVUhKdlozSmxjM01pTENKaFpHUkZkbVZ1ZEV4cGMzUmxibVZ5SWl3aWIyNVZjR3h2WVdSUWNtOW5jbVZ6Y3lJc0luVndiRzloWkNJc0ltTmhibU5sYkZSdmEyVnVJaXdpY0hKdmJXbHpaU0lzSW5Sb1pXNGlMQ0pqWVc1alpXd2lMQ0poWW05eWRDSXNJbk5sYm1RaVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxHRkJSVUVzU1VGQlNVRXNUVUZCVVVNc1VVRkJVU3hqUVVOb1FrTXNUMEZCVTBRc1VVRkJVU3h2UWtGRGFrSkZMRkZCUVZWR0xGRkJRVkVzZDBKQlEyeENSeXhUUVVGWFNDeFJRVUZSTEhsQ1FVTnVRa2tzWTBGQlowSktMRkZCUVZFc2VVSkJRM2hDU3l4aFFVRmxUQ3hSUVVGUkxEWkNRVU4yUWswc1owSkJRV3RDVGl4UlFVRlJMR2REUVVNeFFrOHNXVUZCWTFBc1VVRkJVU3gxUWtGRk1VSlJMRTlCUVU5RExGRkJRVlVzVTBGQmIwSkRMRWRCUTI1RExFOUJRVThzU1VGQlNVTXNVVUZCVVN4VFFVRTBRa01zUlVGQlUwTXNSMEZEZEVRc1NVRkJTVU1zUlVGQlkwb3NSVUZCVDBzc1MwRkRja0pETEVWQlFXbENUaXhGUVVGUFR5eFJRVVY0UW14Q0xFMUJRVTF0UWl4WFFVRlhTaXhYUVVOYVJTeEZRVUZsTEdkQ1FVZDRRaXhKUVVGSlJ5eEZRVUZWTEVsQlFVbERMR1ZCUjJ4Q0xFZEJRVWxXTEVWQlFVOVhMRXRCUVUwc1EwRkRaaXhKUVVGSlF5eEZRVUZYV2l4RlFVRlBWeXhMUVVGTFF5eFZRVUZaTEVkQlEyNURReXhGUVVGWFlpeEZRVUZQVnl4TFFVRkxSU3hUUVVGWFF5eFRRVUZUUXl4dFFrRkJiVUptTEVWQlFVOVhMRXRCUVV0RkxGZEJRV0VzUjBGRE0wWlFMRVZCUVdWVkxHTkJRV2RDTEZOQlFWZERMRXRCUVV0TUxFVkJRVmNzU1VGQlRVTXNSMEZIYkVVc1NVRkJTVXNzUlVGQlYzaENMR05CUVdOTkxFVkJRVTl0UWl4UlFVRlRia0lzUlVGQlQyOUNMRXRCTkVWd1JDeEhRVE5GUVZnc1JVRkJVVmtzUzBGQlMzSkNMRVZCUVU5elFpeFBRVUZQUXl4alFVRmxPVUlzVTBGQlUzbENMRVZCUVZWc1FpeEZRVUZQZDBJc1QwRkJVWGhDTEVWQlFVOTVRaXh0UWtGQmJVSXNSMEZIZEVkb1FpeEZRVUZSYVVJc1VVRkJWVEZDTEVWQlFVOHdRaXhSUVVkNlFtcENMRVZCUVZGclFpeHRRa0ZCY1VJc1YwRkRNMElzUjBGQlMyeENMRWRCUVd0RExFbEJRWFpDUVN4RlFVRlJiVUlzWVVGUlJDeEpRVUZ1UW01Q0xFVkJRVkZ2UWl4UlFVRnJRbkJDTEVWQlFWRnhRaXhoUVVGM1JDeEpRVUY2UTNKQ0xFVkJRVkZ4UWl4WlFVRlpReXhSUVVGUkxGVkJRV3BHTEVOQlMwRXNTVUZCU1VNc1JVRkJhMElzTUVKQlFUSkNka0lzUlVGQlZXUXNZVUZCWVdNc1JVRkJVWGRDTEhsQ1FVRXlRaXhMUVVWMlIwTXNSVUZCVnl4RFFVTmlOMElzUzBGR2EwSk1MRVZCUVU5dFF5eGpRVUYzUXl4VFFVRjRRbTVETEVWQlFVOXRReXhoUVVGcFJERkNMRVZCUVZGNVFpeFRRVUV2UW5wQ0xFVkJRVkV5UWl4aFFVZHNSbEFzVDBGQlVYQkNMRVZCUVZGdlFpeFBRVU5vUWxFc1YwRkJXVFZDTEVWQlFWRTBRaXhYUVVOd1FqbENMRkZCUVZONVFpeEZRVU5VYUVNc1QwRkJVVUVzUlVGRFVsTXNVVUZCVTBFc1IwRkhXR3hDTEU5QlFVOVhMRVZCUVZORExFVkJRVkVyUWl4SFFVZDRRbnBDTEVWQlFWVXNUMEZKV2tFc1JVRkJVVFpDTEZGQlFWVXNWMEZEV0RkQ0xFbEJTVXhPTEVWQlFVOU9MRmxCUVZrc2EwSkJRVzFDUnl4RlFVRlJMR1ZCUVdkQ1V5eEpRVWM1UkVFc1JVRkJWU3hQUVVsYVFTeEZRVUZST0VJc1VVRkJWU3hYUVVkb1FuQkRMRVZCUVU5T0xGbEJRVmtzWjBKQlFXbENSeXhGUVVGUkxFdEJRVTFUTEVsQlIyeEVRU3hGUVVGVkxFMUJTVnBCTEVWQlFWRXJRaXhWUVVGWkxGZEJRMnhDTEVsQlFVbERMRVZCUVhOQ0xHTkJRV2RDZWtNc1JVRkJUekJDTEZGQlFWVXNZMEZEZGtReFFpeEZRVUZQZVVNc2MwSkJRMVJCTEVWQlFYTkNla01zUlVGQlQzbERMSEZDUVVVdlFuUkRMRVZCUVU5T0xGbEJRVmswUXl4RlFVRnhRbnBETEVWQlFWRXNaVUZET1VOVExFbEJSMFpCTEVWQlFWVXNUVUZOVW5CQ0xFMUJRVTF4UkN4MVFrRkJkMElzUTBGRmFFTXNTVUZCU1VNc1IwRkJZVE5ETEVWQlFVODBReXhwUWtGQmJVSm9SQ3huUWtGQlowSnpRaXhMUVVGamJFSXNSVUZCVHpaRExHVkJRemxGY2tRc1VVRkJVWE5FTEV0QlFVczVReXhGUVVGUE5rTXNjVUpCUTNCQ1JTeEZRVVZGU2l4SlFVTkdja01zUlVGQlpVNHNSVUZCVDJkRUxHZENRVUZyUWt3c1IwRjFRalZETEVkQmJFSkpMSEZDUVVGelFteERMRWRCUTNoQ2NFSXNUVUZCVFRSRUxGRkJRVkV6UXl4RlFVRm5RaXhUUVVFd1FqUkRMRVZCUVV0RExGRkJRMmhETEVsQlFXaENMME1zUjBGQmNVUXNhVUpCUVhSQ0swTXNSVUZCU1VNc2NVSkJSWEpET1VNc1JVRkJaVFpETEVkQlIzUkNNVU1zUlVGQlVUUkRMR2xDUVVGcFFrWXNSVUZCUzBRc1MwRk5MMEkzUkN4TlFVRk5hVVVzV1VGQldYUkVMRVZCUVU4MFF5eHRRa0ZETlVKdVF5eEZRVUZSYlVNc2EwSkJRVzlDTlVNc1JVRkJUelJETEdsQ1FVbHFRelZETEVWQlFVOXRReXhoUVVOVUxFbEJRMFV4UWl4RlFVRlJNRUlzWVVGQlpXNURMRVZCUVU5dFF5eGhRVU01UWl4TlFVRlBiMElzUjBGSFVDeEhRVUUwUWl4VFFVRjRRblpFTEVWQlFVOXRReXhoUVVOVUxFMUJRVTF2UWl4RlFVMDJRaXh0UWtGQk9VSjJSQ3hGUVVGUGQwUXNiMEpCUTJoQ0wwTXNSVUZCVVdkRUxHbENRVUZwUWl4WFFVRlpla1FzUlVGQlQzZEVMRzlDUVVsUUxHMUNRVUUxUW5oRUxFVkJRVTh3UkN4clFrRkJiVU5xUkN4RlFVRlJhMFFzVVVGRE0wUnNSQ3hGUVVGUmEwUXNUMEZCVDBZc2FVSkJRV2xDTEZkQlFWbDZSQ3hGUVVGUE1FUXNhMEpCUjJwRU1VUXNSVUZCVHpSRUxHRkJSVlExUkN4RlFVRlBORVFzV1VGQldVTXNVVUZCVVVNc1MwRkJTeXhUUVVGdlFrTXNSMEZETjBOMFJDeEpRVWxNUVN4RlFVRlJkVVFzVVVGRFVqZEVMRVZCUVU4MFJDeEhRVVZRZEVRc1JVRkJWU3hSUVVsVVRDeEpRVU5JUVN4RlFVRmpMRTFCU1doQ1N5eEZRVUZSZDBRc1MwRkJTemRFSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwyMWhjM1JsY2k5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OWhlR2x2Y3k5c2FXSXZZV1JoY0hSbGNuTXZlR2h5TG1wekluMD0iLCJcInVzZSBzdHJpY3RcIjt2YXIgdXRpbHM9cmVxdWlyZShcIi4vdXRpbHNcIiksYmluZD1yZXF1aXJlKFwiLi9oZWxwZXJzL2JpbmRcIiksQXhpb3M9cmVxdWlyZShcIi4vY29yZS9BeGlvc1wiKSxtZXJnZUNvbmZpZz1yZXF1aXJlKFwiLi9jb3JlL21lcmdlQ29uZmlnXCIpLGRlZmF1bHRzPXJlcXVpcmUoXCIuL2RlZmF1bHRzXCIpO2Z1bmN0aW9uIGNyZWF0ZUluc3RhbmNlKGUpe3ZhciByPW5ldyBBeGlvcyhlKSxpPWJpbmQoQXhpb3MucHJvdG90eXBlLnJlcXVlc3Qscik7cmV0dXJuIHV0aWxzLmV4dGVuZChpLEF4aW9zLnByb3RvdHlwZSxyKSx1dGlscy5leHRlbmQoaSxyKSxpfXZhciBheGlvcz1jcmVhdGVJbnN0YW5jZShkZWZhdWx0cyk7YXhpb3MuQXhpb3M9QXhpb3MsYXhpb3MuY3JlYXRlPWZ1bmN0aW9uKGUpe3JldHVybiBjcmVhdGVJbnN0YW5jZShtZXJnZUNvbmZpZyhheGlvcy5kZWZhdWx0cyxlKSl9LGF4aW9zLkNhbmNlbD1yZXF1aXJlKFwiLi9jYW5jZWwvQ2FuY2VsXCIpLGF4aW9zLkNhbmNlbFRva2VuPXJlcXVpcmUoXCIuL2NhbmNlbC9DYW5jZWxUb2tlblwiKSxheGlvcy5pc0NhbmNlbD1yZXF1aXJlKFwiLi9jYW5jZWwvaXNDYW5jZWxcIiksYXhpb3MuYWxsPWZ1bmN0aW9uKGUpe3JldHVybiBQcm9taXNlLmFsbChlKX0sYXhpb3Muc3ByZWFkPXJlcXVpcmUoXCIuL2hlbHBlcnMvc3ByZWFkXCIpLGF4aW9zLmlzQXhpb3NFcnJvcj1yZXF1aXJlKFwiLi9oZWxwZXJzL2lzQXhpb3NFcnJvclwiKSxtb2R1bGUuZXhwb3J0cz1heGlvcyxtb2R1bGUuZXhwb3J0cy5kZWZhdWx0PWF4aW9zO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1GNGFXOXpMbXB6SWwwc0ltNWhiV1Z6SWpwYkluVjBhV3h6SWl3aWNtVnhkV2x5WlNJc0ltSnBibVFpTENKQmVHbHZjeUlzSW0xbGNtZGxRMjl1Wm1sbklpd2laR1ZtWVhWc2RITWlMQ0pqY21WaGRHVkpibk4wWVc1alpTSXNJbVJsWm1GMWJIUkRiMjVtYVdjaUxDSmpiMjUwWlhoMElpd2lhVzV6ZEdGdVkyVWlMQ0p3Y205MGIzUjVjR1VpTENKeVpYRjFaWE4wSWl3aVpYaDBaVzVrSWl3aVlYaHBiM01pTENKamNtVmhkR1VpTENKcGJuTjBZVzVqWlVOdmJtWnBaeUlzSWtOaGJtTmxiQ0lzSWtOaGJtTmxiRlJ2YTJWdUlpd2lhWE5EWVc1alpXd2lMQ0poYkd3aUxDSndjbTl0YVhObGN5SXNJbEJ5YjIxcGMyVWlMQ0p6Y0hKbFlXUWlMQ0pwYzBGNGFXOXpSWEp5YjNJaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2laR1ZtWVhWc2RDSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNZVUZGUVN4SlFVRkpRU3hOUVVGUlF5eFJRVUZSTEZkQlEyaENReXhMUVVGUFJDeFJRVUZSTEd0Q1FVTm1SU3hOUVVGUlJpeFJRVUZSTEdkQ1FVTm9Ra2NzV1VGQlkwZ3NVVUZCVVN4elFrRkRkRUpKTEZOQlFWZEtMRkZCUVZFc1kwRlJka0lzVTBGQlUwc3NaVUZCWlVNc1IwRkRkRUlzU1VGQlNVTXNSVUZCVlN4SlFVRkpUQ3hOUVVGTlNTeEhRVU53UWtVc1JVRkJWMUFzUzBGQlMwTXNUVUZCVFU4c1ZVRkJWVU1zVVVGQlUwZ3NSMEZSTjBNc1QwRk1RVklzVFVGQlRWa3NUMEZCVDBnc1JVRkJWVTRzVFVGQlRVOHNWVUZCVjBZc1IwRkhlRU5TTEUxQlFVMVpMRTlCUVU5SUxFVkJRVlZFTEVkQlJXaENReXhGUVVsVUxFbEJRVWxKTEUxQlFWRlFMR1ZCUVdWRUxGVkJSek5DVVN4TlFVRk5WaXhOUVVGUlFTeE5RVWRrVlN4TlFVRk5ReXhQUVVGVExGTkJRV2RDUXl4SFFVTTNRaXhQUVVGUFZDeGxRVUZsUml4WlFVRlpVeXhOUVVGTlVpeFRRVUZWVlN4TFFVbHdSRVlzVFVGQlRVY3NUMEZCVTJZc1VVRkJVU3h0UWtGRGRrSlpMRTFCUVUxSkxGbEJRV05vUWl4UlFVRlJMSGRDUVVNMVFsa3NUVUZCVFVzc1UwRkJWMnBDTEZGQlFWRXNjVUpCUjNwQ1dTeE5RVUZOVFN4SlFVRk5MRk5CUVdGRExFZEJRM1pDTEU5QlFVOURMRkZCUVZGR0xFbEJRVWxETEVsQlJYSkNVQ3hOUVVGTlV5eFBRVUZUY2tJc1VVRkJVU3h2UWtGSGRrSlpMRTFCUVUxVkxHRkJRV1YwUWl4UlFVRlJMREJDUVVVM1FuVkNMRTlCUVU5RExGRkJRVlZhTEUxQlIycENWeXhQUVVGUFF5eFJRVUZSUXl4UlFVRlZZaUlzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5dFlYTjBaWEl2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdllYaHBiM012YkdsaUwyRjRhVzl6TG1wekluMD0iLCJcInVzZSBzdHJpY3RcIjtmdW5jdGlvbiBDYW5jZWwoZSl7dGhpcy5tZXNzYWdlPWV9Q2FuY2VsLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVyblwiQ2FuY2VsXCIrKHRoaXMubWVzc2FnZT9cIjogXCIrdGhpcy5tZXNzYWdlOlwiXCIpfSxDYW5jZWwucHJvdG90eXBlLl9fQ0FOQ0VMX189ITAsbW9kdWxlLmV4cG9ydHM9Q2FuY2VsO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWtOaGJtTmxiQzVxY3lKZExDSnVZVzFsY3lJNld5SkRZVzVqWld3aUxDSnRaWE56WVdkbElpd2lkR2hwY3lJc0luQnliM1J2ZEhsd1pTSXNJblJ2VTNSeWFXNW5JaXdpWDE5RFFVNURSVXhmWHlJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxHRkJVVUVzVTBGQlUwRXNUMEZCVDBNc1IwRkRaRU1zUzBGQlMwUXNVVUZCVlVFc1JVRkhha0pFTEU5QlFVOUhMRlZCUVZWRExGTkJRVmNzVjBGRE1VSXNUVUZCVHl4VlFVRlpSaXhMUVVGTFJDeFJRVUZWTEV0QlFVOURMRXRCUVV0RUxGRkJRVlVzUzBGSE1VUkVMRTlCUVU5SExGVkJRVlZGTEZsQlFXRXNSVUZGT1VKRExFOUJRVTlETEZGQlFWVlFJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDIxaGMzUmxjaTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5aGVHbHZjeTlzYVdJdlkyRnVZMlZzTDBOaGJtTmxiQzVxY3lKOSIsIlwidXNlIHN0cmljdFwiO3ZhciBDYW5jZWw9cmVxdWlyZShcIi4vQ2FuY2VsXCIpO2Z1bmN0aW9uIENhbmNlbFRva2VuKGUpe2lmKFwiZnVuY3Rpb25cIiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcihcImV4ZWN1dG9yIG11c3QgYmUgYSBmdW5jdGlvbi5cIik7dmFyIG47dGhpcy5wcm9taXNlPW5ldyBQcm9taXNlKGZ1bmN0aW9uKGUpe249ZX0pO3ZhciBvPXRoaXM7ZShmdW5jdGlvbihlKXtvLnJlYXNvbnx8KG8ucmVhc29uPW5ldyBDYW5jZWwoZSksbihvLnJlYXNvbikpfSl9Q2FuY2VsVG9rZW4ucHJvdG90eXBlLnRocm93SWZSZXF1ZXN0ZWQ9ZnVuY3Rpb24oKXtpZih0aGlzLnJlYXNvbil0aHJvdyB0aGlzLnJlYXNvbn0sQ2FuY2VsVG9rZW4uc291cmNlPWZ1bmN0aW9uKCl7dmFyIGU7cmV0dXJue3Rva2VuOm5ldyBDYW5jZWxUb2tlbihmdW5jdGlvbihuKXtlPW59KSxjYW5jZWw6ZX19LG1vZHVsZS5leHBvcnRzPUNhbmNlbFRva2VuO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWtOaGJtTmxiRlJ2YTJWdUxtcHpJbDBzSW01aGJXVnpJanBiSWtOaGJtTmxiQ0lzSW5KbGNYVnBjbVVpTENKRFlXNWpaV3hVYjJ0bGJpSXNJbVY0WldOMWRHOXlJaXdpVkhsd1pVVnljbTl5SWl3aWNtVnpiMngyWlZCeWIyMXBjMlVpTENKMGFHbHpJaXdpY0hKdmJXbHpaU0lzSWxCeWIyMXBjMlVpTENKeVpYTnZiSFpsSWl3aWRHOXJaVzRpTENKdFpYTnpZV2RsSWl3aWNtVmhjMjl1SWl3aWNISnZkRzkwZVhCbElpd2lkR2h5YjNkSlpsSmxjWFZsYzNSbFpDSXNJbk52ZFhKalpTSXNJbU5oYm1ObGJDSXNJbU1pTENKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWwwc0ltMWhjSEJwYm1keklqb2lRVUZCUVN4aFFVVkJMRWxCUVVsQkxFOUJRVk5ETEZGQlFWRXNXVUZSY2tJc1UwRkJVME1zV1VGQldVTXNSMEZEYmtJc1IwRkJkMElzYlVKQlFXSkJMRVZCUTFRc1RVRkJUU3hKUVVGSlF5eFZRVUZWTEdkRFFVZDBRaXhKUVVGSlF5eEZRVU5LUXl4TFFVRkxReXhSUVVGVkxFbEJRVWxETEZGQlFWRXNVMEZCZVVKRExFZEJRMnhFU2l4RlFVRnBRa2tzU1VGSGJrSXNTVUZCU1VNc1JVRkJVVW9zUzBGRFdrZ3NSVUZCVXl4VFFVRm5RbEVzUjBGRGJrSkVMRVZCUVUxRkxGTkJTMVpHTEVWQlFVMUZMRTlCUVZNc1NVRkJTVm9zVDBGQlQxY3NSMEZETVVKT0xFVkJRV1ZMTEVWQlFVMUZMRmRCVDNwQ1ZpeFpRVUZaVnl4VlFVRlZReXhwUWtGQmJVSXNWMEZEZGtNc1IwRkJTVklzUzBGQlMwMHNUMEZEVUN4TlFVRk5UaXhMUVVGTFRTeFJRVkZtVml4WlFVRlpZU3hQUVVGVExGZEJRMjVDTEVsQlFVbERMRVZCU1Vvc1RVRkJUeXhEUVVOTVRpeE5RVXBWTEVsQlFVbFNMRmxCUVZrc1UwRkJhMEpsTEVkQlF6VkRSQ3hGUVVGVFF5eEpRVWxVUkN4UFFVRlJRU3hKUVVsYVJTeFBRVUZQUXl4UlFVRlZha0lpTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmJXRnpkR1Z5TDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwyRjRhVzl6TDJ4cFlpOWpZVzVqWld3dlEyRnVZMlZzVkc5clpXNHVhbk1pZlE9PSIsIlwidXNlIHN0cmljdFwiO21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiEoIXR8fCF0Ll9fQ0FOQ0VMX18pfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltbHpRMkZ1WTJWc0xtcHpJbDBzSW01aGJXVnpJanBiSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pTENKMllXeDFaU0lzSWw5ZlEwRk9RMFZNWDE4aVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxHRkJSVUZCTEU5QlFVOURMRkZCUVZVc1UwRkJhMEpETEVkQlEycERMRk5CUVZWQkxFbEJRVk5CTEVWQlFVMURJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDIxaGMzUmxjaTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5aGVHbHZjeTlzYVdJdlkyRnVZMlZzTDJselEyRnVZMlZzTG1wekluMD0iLCJcInVzZSBzdHJpY3RcIjt2YXIgdXRpbHM9cmVxdWlyZShcIi4vLi4vdXRpbHNcIiksYnVpbGRVUkw9cmVxdWlyZShcIi4uL2hlbHBlcnMvYnVpbGRVUkxcIiksSW50ZXJjZXB0b3JNYW5hZ2VyPXJlcXVpcmUoXCIuL0ludGVyY2VwdG9yTWFuYWdlclwiKSxkaXNwYXRjaFJlcXVlc3Q9cmVxdWlyZShcIi4vZGlzcGF0Y2hSZXF1ZXN0XCIpLG1lcmdlQ29uZmlnPXJlcXVpcmUoXCIuL21lcmdlQ29uZmlnXCIpO2Z1bmN0aW9uIEF4aW9zKGUpe3RoaXMuZGVmYXVsdHM9ZSx0aGlzLmludGVyY2VwdG9ycz17cmVxdWVzdDpuZXcgSW50ZXJjZXB0b3JNYW5hZ2VyLHJlc3BvbnNlOm5ldyBJbnRlcmNlcHRvck1hbmFnZXJ9fUF4aW9zLnByb3RvdHlwZS5yZXF1ZXN0PWZ1bmN0aW9uKGUpe1wic3RyaW5nXCI9PXR5cGVvZiBlPyhlPWFyZ3VtZW50c1sxXXx8e30pLnVybD1hcmd1bWVudHNbMF06ZT1lfHx7fSwoZT1tZXJnZUNvbmZpZyh0aGlzLmRlZmF1bHRzLGUpKS5tZXRob2Q/ZS5tZXRob2Q9ZS5tZXRob2QudG9Mb3dlckNhc2UoKTp0aGlzLmRlZmF1bHRzLm1ldGhvZD9lLm1ldGhvZD10aGlzLmRlZmF1bHRzLm1ldGhvZC50b0xvd2VyQ2FzZSgpOmUubWV0aG9kPVwiZ2V0XCI7dmFyIHQ9W2Rpc3BhdGNoUmVxdWVzdCx2b2lkIDBdLHI9UHJvbWlzZS5yZXNvbHZlKGUpO2Zvcih0aGlzLmludGVyY2VwdG9ycy5yZXF1ZXN0LmZvckVhY2goZnVuY3Rpb24oZSl7dC51bnNoaWZ0KGUuZnVsZmlsbGVkLGUucmVqZWN0ZWQpfSksdGhpcy5pbnRlcmNlcHRvcnMucmVzcG9uc2UuZm9yRWFjaChmdW5jdGlvbihlKXt0LnB1c2goZS5mdWxmaWxsZWQsZS5yZWplY3RlZCl9KTt0Lmxlbmd0aDspcj1yLnRoZW4odC5zaGlmdCgpLHQuc2hpZnQoKSk7cmV0dXJuIHJ9LEF4aW9zLnByb3RvdHlwZS5nZXRVcmk9ZnVuY3Rpb24oZSl7cmV0dXJuIGU9bWVyZ2VDb25maWcodGhpcy5kZWZhdWx0cyxlKSxidWlsZFVSTChlLnVybCxlLnBhcmFtcyxlLnBhcmFtc1NlcmlhbGl6ZXIpLnJlcGxhY2UoL15cXD8vLFwiXCIpfSx1dGlscy5mb3JFYWNoKFtcImRlbGV0ZVwiLFwiZ2V0XCIsXCJoZWFkXCIsXCJvcHRpb25zXCJdLGZ1bmN0aW9uKGUpe0F4aW9zLnByb3RvdHlwZVtlXT1mdW5jdGlvbih0LHIpe3JldHVybiB0aGlzLnJlcXVlc3QobWVyZ2VDb25maWcocnx8e30se21ldGhvZDplLHVybDp0LGRhdGE6KHJ8fHt9KS5kYXRhfSkpfX0pLHV0aWxzLmZvckVhY2goW1wicG9zdFwiLFwicHV0XCIsXCJwYXRjaFwiXSxmdW5jdGlvbihlKXtBeGlvcy5wcm90b3R5cGVbZV09ZnVuY3Rpb24odCxyLG8pe3JldHVybiB0aGlzLnJlcXVlc3QobWVyZ2VDb25maWcob3x8e30se21ldGhvZDplLHVybDp0LGRhdGE6cn0pKX19KSxtb2R1bGUuZXhwb3J0cz1BeGlvcztcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklrRjRhVzl6TG1weklsMHNJbTVoYldWeklqcGJJblYwYVd4eklpd2ljbVZ4ZFdseVpTSXNJbUoxYVd4a1ZWSk1JaXdpU1c1MFpYSmpaWEIwYjNKTllXNWhaMlZ5SWl3aVpHbHpjR0YwWTJoU1pYRjFaWE4wSWl3aWJXVnlaMlZEYjI1bWFXY2lMQ0pCZUdsdmN5SXNJbWx1YzNSaGJtTmxRMjl1Wm1sbklpd2lkR2hwY3lJc0ltUmxabUYxYkhSeklpd2lhVzUwWlhKalpYQjBiM0p6SWl3aWNtVnhkV1Z6ZENJc0luSmxjM0J2Ym5ObElpd2ljSEp2ZEc5MGVYQmxJaXdpWTI5dVptbG5JaXdpWVhKbmRXMWxiblJ6SWl3aWRYSnNJaXdpYldWMGFHOWtJaXdpZEc5TWIzZGxja05oYzJVaUxDSmphR0ZwYmlJc0luVnVaR1ZtYVc1bFpDSXNJbkJ5YjIxcGMyVWlMQ0pRY205dGFYTmxJaXdpY21WemIyeDJaU0lzSW1admNrVmhZMmdpTENKcGJuUmxjbU5sY0hSdmNpSXNJblZ1YzJocFpuUWlMQ0ptZFd4bWFXeHNaV1FpTENKeVpXcGxZM1JsWkNJc0luQjFjMmdpTENKc1pXNW5kR2dpTENKMGFHVnVJaXdpYzJocFpuUWlMQ0puWlhSVmNta2lMQ0p3WVhKaGJYTWlMQ0p3WVhKaGJYTlRaWEpwWVd4cGVtVnlJaXdpY21Wd2JHRmpaU0lzSW1SaGRHRWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hoUVVWQkxFbEJRVWxCTEUxQlFWRkRMRkZCUVZFc1kwRkRhRUpETEZOQlFWZEVMRkZCUVZFc2RVSkJRMjVDUlN4dFFrRkJjVUpHTEZGQlFWRXNkMEpCUXpkQ1J5eG5Ra0ZCYTBKSUxGRkJRVkVzY1VKQlF6RkNTU3haUVVGalNpeFJRVUZSTEdsQ1FVOHhRaXhUUVVGVFN5eE5RVUZOUXl4SFFVTmlReXhMUVVGTFF5eFRRVUZYUml4RlFVTm9Ra01zUzBGQlMwVXNZVUZCWlN4RFFVTnNRa01zVVVGQlV5eEpRVUZKVWl4dFFrRkRZbE1zVTBGQlZTeEpRVUZKVkN4dlFrRlRiRUpITEUxQlFVMVBMRlZCUVZWR0xGRkJRVlVzVTBGQmFVSkhMRWRCUjI1Q0xHbENRVUZZUVN4SFFVTlVRU3hGUVVGVFF5eFZRVUZWTEVsQlFVMHNTVUZEYkVKRExFbEJRVTFFTEZWQlFWVXNSMEZGZGtKRUxFVkJRVk5CTEVkQlFWVXNTVUZIY2tKQkxFVkJRVk5VTEZsQlFWbEhMRXRCUVV0RExGTkJRVlZMTEVsQlIzcENSeXhQUVVOVVNDeEZRVUZQUnl4UFFVRlRTQ3hGUVVGUFJ5eFBRVUZQUXl4alFVTnlRbFlzUzBGQlMwTXNVMEZCVTFFc1QwRkRka0pJTEVWQlFVOUhMRTlCUVZOVUxFdEJRVXRETEZOQlFWTlJMRTlCUVU5RExHTkJSWEpEU2l4RlFVRlBSeXhQUVVGVExFMUJTV3hDTEVsQlFVbEZMRVZCUVZFc1EwRkJRMllzY1VKQlFXbENaMElzUjBGRE1VSkRMRVZCUVZWRExGRkJRVkZETEZGQlFWRlVMRWRCVlRsQ0xFbEJVa0ZPTEV0QlFVdEZMR0ZCUVdGRExGRkJRVkZoTEZGQlFWRXNVMEZCYjBORExFZEJRM0JGVGl4RlFVRk5UeXhSUVVGUlJDeEZRVUZaUlN4VlFVRlhSaXhGUVVGWlJ5eFpRVWR1UkhCQ0xFdEJRVXRGTEdGQlFXRkZMRk5CUVZOWkxGRkJRVkVzVTBGQmEwTkRMRWRCUTI1RlRpeEZRVUZOVlN4TFFVRkxTaXhGUVVGWlJTeFZRVUZYUml4RlFVRlpSeXhaUVVkNlExUXNSVUZCVFZjc1VVRkRXRlFzUlVGQlZVRXNSVUZCVVZVc1MwRkJTMW9zUlVGQlRXRXNVVUZCVTJJc1JVRkJUV0VzVTBGSE9VTXNUMEZCVDFnc1IwRkhWR1lzVFVGQlRVOHNWVUZCVlc5Q0xFOUJRVk1zVTBGQlowSnVRaXhIUVVWMlF5eFBRVVJCUVN4RlFVRlRWQ3haUVVGWlJ5eExRVUZMUXl4VFFVRlZTeXhIUVVNM1Fsb3NVMEZCVTFrc1JVRkJUMFVzU1VGQlMwWXNSVUZCVDI5Q0xFOUJRVkZ3UWl4RlFVRlBjVUlzYTBKQlFXdENReXhSUVVGUkxFMUJRVThzUzBGSmNrWndReXhOUVVGTmQwSXNVVUZCVVN4RFFVRkRMRk5CUVZVc1RVRkJUeXhQUVVGUkxGZEJRVmtzVTBGQk5rSlFMRWRCUlM5RldDeE5RVUZOVHl4VlFVRlZTU3hIUVVGVkxGTkJRVk5FTEVWQlFVdEdMRWRCUTNSRExFOUJRVTlPTEV0QlFVdEhMRkZCUVZGT0xGbEJRVmxUTEVkQlFWVXNSMEZCU1N4RFFVTTFRMGNzVDBGQlVVRXNSVUZEVWtRc1NVRkJTMEVzUlVGRFRIRkNMRTFCUVU5MlFpeEhRVUZWTEVsQlFVbDFRaXhYUVVzelFuSkRMRTFCUVUxM1FpeFJRVUZSTEVOQlFVTXNUMEZCVVN4TlFVRlBMRk5CUVZVc1UwRkJLMEpRTEVkQlJYSkZXQ3hOUVVGTlR5eFZRVUZWU1N4SFFVRlZMRk5CUVZORUxFVkJRVXR4UWl4RlFVRk5ka0lzUjBGRE5VTXNUMEZCVDA0c1MwRkJTMGNzVVVGQlVVNHNXVUZCV1ZNc1IwRkJWU3hIUVVGSkxFTkJRelZEUnl4UFFVRlJRU3hGUVVOU1JDeEpRVUZMUVN4RlFVTk1jVUlzUzBGQlRVRXNVVUZMV2tNc1QwRkJUME1zVVVGQlZXcERJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDIxaGMzUmxjaTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5aGVHbHZjeTlzYVdJdlkyOXlaUzlCZUdsdmN5NXFjeUo5IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIHV0aWxzPXJlcXVpcmUoXCIuLy4uL3V0aWxzXCIpO2Z1bmN0aW9uIEludGVyY2VwdG9yTWFuYWdlcigpe3RoaXMuaGFuZGxlcnM9W119SW50ZXJjZXB0b3JNYW5hZ2VyLnByb3RvdHlwZS51c2U9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5oYW5kbGVycy5wdXNoKHtmdWxmaWxsZWQ6ZSxyZWplY3RlZDp0fSksdGhpcy5oYW5kbGVycy5sZW5ndGgtMX0sSW50ZXJjZXB0b3JNYW5hZ2VyLnByb3RvdHlwZS5lamVjdD1mdW5jdGlvbihlKXt0aGlzLmhhbmRsZXJzW2VdJiYodGhpcy5oYW5kbGVyc1tlXT1udWxsKX0sSW50ZXJjZXB0b3JNYW5hZ2VyLnByb3RvdHlwZS5mb3JFYWNoPWZ1bmN0aW9uKGUpe3V0aWxzLmZvckVhY2godGhpcy5oYW5kbGVycyxmdW5jdGlvbih0KXtudWxsIT09dCYmZSh0KX0pfSxtb2R1bGUuZXhwb3J0cz1JbnRlcmNlcHRvck1hbmFnZXI7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJa2x1ZEdWeVkyVndkRzl5VFdGdVlXZGxjaTVxY3lKZExDSnVZVzFsY3lJNld5SjFkR2xzY3lJc0luSmxjWFZwY21VaUxDSkpiblJsY21ObGNIUnZjazFoYm1GblpYSWlMQ0owYUdseklpd2lhR0Z1Wkd4bGNuTWlMQ0p3Y205MGIzUjVjR1VpTENKMWMyVWlMQ0ptZFd4bWFXeHNaV1FpTENKeVpXcGxZM1JsWkNJc0luQjFjMmdpTENKc1pXNW5kR2dpTENKbGFtVmpkQ0lzSW1sa0lpd2labTl5UldGamFDSXNJbVp1SWl3aWFDSXNJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMR0ZCUlVFc1NVRkJTVUVzVFVGQlVVTXNVVUZCVVN4alFVVndRaXhUUVVGVFF5eHhRa0ZEVUVNc1MwRkJTME1zVTBGQlZ5eEhRVmRzUWtZc2JVSkJRVzFDUnl4VlFVRlZReXhKUVVGTkxGTkJRV0ZETEVWQlFWZERMRWRCUzNwRUxFOUJTa0ZNTEV0QlFVdERMRk5CUVZOTExFdEJRVXNzUTBGRGFrSkdMRlZCUVZkQkxFVkJRMWhETEZOQlFWVkJMRWxCUlV4TUxFdEJRVXRETEZOQlFWTk5MRTlCUVZNc1IwRlJhRU5TTEcxQ1FVRnRRa2NzVlVGQlZVMHNUVUZCVVN4VFFVRmxReXhIUVVNNVExUXNTMEZCUzBNc1UwRkJVMUVzUzBGRGFFSlVMRXRCUVV0RExGTkJRVk5STEVkQlFVMHNUMEZaZUVKV0xHMUNRVUZ0UWtjc1ZVRkJWVkVzVVVGQlZTeFRRVUZwUWtNc1IwRkRkRVJrTEUxQlFVMWhMRkZCUVZGV0xFdEJRVXRETEZOQlFWVXNVMEZCZDBKWExFZEJRM3BETEU5QlFVNUJMRWRCUTBaRUxFVkJRVWRETEUxQlMxUkRMRTlCUVU5RExGRkJRVlZtSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwyMWhjM1JsY2k5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OWhlR2x2Y3k5c2FXSXZZMjl5WlM5SmJuUmxjbU5sY0hSdmNrMWhibUZuWlhJdWFuTWlmUT09IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIGlzQWJzb2x1dGVVUkw9cmVxdWlyZShcIi4uL2hlbHBlcnMvaXNBYnNvbHV0ZVVSTFwiKSxjb21iaW5lVVJMcz1yZXF1aXJlKFwiLi4vaGVscGVycy9jb21iaW5lVVJMc1wiKTttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihlLHMpe3JldHVybiBlJiYhaXNBYnNvbHV0ZVVSTChzKT9jb21iaW5lVVJMcyhlLHMpOnN9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1KMWFXeGtSblZzYkZCaGRHZ3Vhbk1pWFN3aWJtRnRaWE1pT2xzaWFYTkJZbk52YkhWMFpWVlNUQ0lzSW5KbGNYVnBjbVVpTENKamIyMWlhVzVsVlZKTWN5SXNJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0ppWVhObFZWSk1JaXdpY21WeGRXVnpkR1ZrVlZKTUlsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeGhRVVZCTEVsQlFVbEJMR05CUVdkQ1F5eFJRVUZSTERSQ1FVTjRRa01zV1VGQlkwUXNVVUZCVVN3d1FrRlhNVUpGTEU5QlFVOURMRkZCUVZVc1UwRkJkVUpETEVWQlFWTkRMRWRCUXk5RExFOUJRVWxFTEVsQlFWbE1MR05CUVdOTkxFZEJRM0pDU2l4WlFVRlpSeXhGUVVGVFF5eEhRVVYyUWtFaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZiV0Z6ZEdWeUwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMMkY0YVc5ekwyeHBZaTlqYjNKbEwySjFhV3hrUm5Wc2JGQmhkR2d1YW5NaWZRPT0iLCJcInVzZSBzdHJpY3RcIjt2YXIgZW5oYW5jZUVycm9yPXJlcXVpcmUoXCIuL2VuaGFuY2VFcnJvclwiKTttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihyLGUsbixvLGEpe3ZhciBjPW5ldyBFcnJvcihyKTtyZXR1cm4gZW5oYW5jZUVycm9yKGMsZSxuLG8sYSl9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1OeVpXRjBaVVZ5Y205eUxtcHpJbDBzSW01aGJXVnpJanBiSW1WdWFHRnVZMlZGY25KdmNpSXNJbkpsY1hWcGNtVWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpYldWemMyRm5aU0lzSW1OdmJtWnBaeUlzSW1OdlpHVWlMQ0p5WlhGMVpYTjBJaXdpY21WemNHOXVjMlVpTENKbGNuSnZjaUlzSWtWeWNtOXlJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hoUVVWQkxFbEJRVWxCTEdGQlFXVkRMRkZCUVZFc2EwSkJXVE5DUXl4UFFVRlBReXhSUVVGVkxGTkJRWEZDUXl4RlFVRlRReXhGUVVGUlF5eEZRVUZOUXl4RlFVRlRReXhIUVVOd1JTeEpRVUZKUXl4RlFVRlJMRWxCUVVsRExFMUJRVTFPTEVkQlEzUkNMRTlCUVU5S0xHRkJRV0ZUTEVWQlFVOUtMRVZCUVZGRExFVkJRVTFETEVWQlFWTkRJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDIxaGMzUmxjaTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5aGVHbHZjeTlzYVdJdlkyOXlaUzlqY21WaGRHVkZjbkp2Y2k1cWN5SjkiLCJcInVzZSBzdHJpY3RcIjt2YXIgdXRpbHM9cmVxdWlyZShcIi4vLi4vdXRpbHNcIiksdHJhbnNmb3JtRGF0YT1yZXF1aXJlKFwiLi90cmFuc2Zvcm1EYXRhXCIpLGlzQ2FuY2VsPXJlcXVpcmUoXCIuLi9jYW5jZWwvaXNDYW5jZWxcIiksZGVmYXVsdHM9cmVxdWlyZShcIi4uL2RlZmF1bHRzXCIpO2Z1bmN0aW9uIHRocm93SWZDYW5jZWxsYXRpb25SZXF1ZXN0ZWQoZSl7ZS5jYW5jZWxUb2tlbiYmZS5jYW5jZWxUb2tlbi50aHJvd0lmUmVxdWVzdGVkKCl9bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJuIHRocm93SWZDYW5jZWxsYXRpb25SZXF1ZXN0ZWQoZSksZS5oZWFkZXJzPWUuaGVhZGVyc3x8e30sZS5kYXRhPXRyYW5zZm9ybURhdGEoZS5kYXRhLGUuaGVhZGVycyxlLnRyYW5zZm9ybVJlcXVlc3QpLGUuaGVhZGVycz11dGlscy5tZXJnZShlLmhlYWRlcnMuY29tbW9ufHx7fSxlLmhlYWRlcnNbZS5tZXRob2RdfHx7fSxlLmhlYWRlcnMpLHV0aWxzLmZvckVhY2goW1wiZGVsZXRlXCIsXCJnZXRcIixcImhlYWRcIixcInBvc3RcIixcInB1dFwiLFwicGF0Y2hcIixcImNvbW1vblwiXSxmdW5jdGlvbihhKXtkZWxldGUgZS5oZWFkZXJzW2FdfSksKGUuYWRhcHRlcnx8ZGVmYXVsdHMuYWRhcHRlcikoZSkudGhlbihmdW5jdGlvbihhKXtyZXR1cm4gdGhyb3dJZkNhbmNlbGxhdGlvblJlcXVlc3RlZChlKSxhLmRhdGE9dHJhbnNmb3JtRGF0YShhLmRhdGEsYS5oZWFkZXJzLGUudHJhbnNmb3JtUmVzcG9uc2UpLGF9LGZ1bmN0aW9uKGEpe3JldHVybiBpc0NhbmNlbChhKXx8KHRocm93SWZDYW5jZWxsYXRpb25SZXF1ZXN0ZWQoZSksYSYmYS5yZXNwb25zZSYmKGEucmVzcG9uc2UuZGF0YT10cmFuc2Zvcm1EYXRhKGEucmVzcG9uc2UuZGF0YSxhLnJlc3BvbnNlLmhlYWRlcnMsZS50cmFuc2Zvcm1SZXNwb25zZSkpKSxQcm9taXNlLnJlamVjdChhKX0pfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltUnBjM0JoZEdOb1VtVnhkV1Z6ZEM1cWN5SmRMQ0p1WVcxbGN5STZXeUoxZEdsc2N5SXNJbkpsY1hWcGNtVWlMQ0owY21GdWMyWnZjbTFFWVhSaElpd2lhWE5EWVc1alpXd2lMQ0prWldaaGRXeDBjeUlzSW5Sb2NtOTNTV1pEWVc1alpXeHNZWFJwYjI1U1pYRjFaWE4wWldRaUxDSmpiMjVtYVdjaUxDSmpZVzVqWld4VWIydGxiaUlzSW5Sb2NtOTNTV1pTWlhGMVpYTjBaV1FpTENKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aWFHVmhaR1Z5Y3lJc0ltUmhkR0VpTENKMGNtRnVjMlp2Y20xU1pYRjFaWE4wSWl3aWJXVnlaMlVpTENKamIyMXRiMjRpTENKdFpYUm9iMlFpTENKbWIzSkZZV05vSWl3aVlXUmhjSFJsY2lJc0luUm9aVzRpTENKeVpYTndiMjV6WlNJc0luUnlZVzV6Wm05eWJWSmxjM0J2Ym5ObElpd2ljbVZoYzI5dUlpd2lVSEp2YldselpTSXNJbkpsYW1WamRDSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNZVUZGUVN4SlFVRkpRU3hOUVVGUlF5eFJRVUZSTEdOQlEyaENReXhqUVVGblFrUXNVVUZCVVN4dFFrRkRlRUpGTEZOQlFWZEdMRkZCUVZFc2MwSkJRMjVDUnl4VFFVRlhTQ3hSUVVGUkxHVkJTM1pDTEZOQlFWTkpMRFpDUVVFMlFrTXNSMEZEYUVOQkxFVkJRVTlETEdGQlExUkVMRVZCUVU5RExGbEJRVmxETEcxQ1FWVjJRa01zVDBGQlQwTXNVVUZCVlN4VFFVRjVRa29zUjBFMlFuaERMRTlCTlVKQlJDdzJRa0ZCTmtKRExFZEJSemRDUVN4RlFVRlBTeXhSUVVGVlRDeEZRVUZQU3l4VFFVRlhMRWRCUjI1RFRDeEZRVUZQVFN4TFFVRlBWaXhqUVVOYVNTeEZRVUZQVFN4TFFVTlFUaXhGUVVGUFN5eFJRVU5RVEN4RlFVRlBUeXhyUWtGSlZGQXNSVUZCVDBzc1VVRkJWVmdzVFVGQlRXTXNUVUZEY2tKU0xFVkJRVTlMTEZGQlFWRkpMRkZCUVZVc1IwRkRla0pVTEVWQlFVOUxMRkZCUVZGTUxFVkJRVTlWTEZOQlFWY3NSMEZEYWtOV0xFVkJRVTlMTEZOQlIxUllMRTFCUVUxcFFpeFJRVU5LTEVOQlFVTXNVMEZCVlN4TlFVRlBMRTlCUVZFc1QwRkJVU3hOUVVGUExGRkJRVk1zVlVGRGJFUXNVMEZCTWtKRUxGVkJRMnhDVml4RlFVRlBTeXhSUVVGUlN5eE5RVWxhVml4RlFVRlBXU3hUUVVGWFpDeFRRVUZUWXl4VFFVVXhRbG9zUjBGQlVXRXNTMEZCU3l4VFFVRTJRa01zUjBGVmRrUXNUMEZVUVdZc05rSkJRVFpDUXl4SFFVYzNRbU1zUlVGQlUxSXNTMEZCVDFZc1kwRkRaR3RDTEVWQlFWTlNMRXRCUTFSUkxFVkJRVk5VTEZGQlExUk1MRVZCUVU5bExHMUNRVWRHUkN4SFFVTk9MRk5CUVRSQ1JTeEhRV00zUWl4UFFXSkxia0lzVTBGQlUyMUNMRXRCUTFwcVFpdzJRa0ZCTmtKRExFZEJSM3BDWjBJc1IwRkJWVUVzUlVGQlQwWXNWMEZEYmtKRkxFVkJRVTlHTEZOQlFWTlNMRXRCUVU5V0xHTkJRM0pDYjBJc1JVRkJUMFlzVTBGQlUxSXNTMEZEYUVKVkxFVkJRVTlHTEZOQlFWTlVMRkZCUTJoQ1RDeEZRVUZQWlN4eFFrRkxUa1VzVVVGQlVVTXNUMEZCVDBZaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZiV0Z6ZEdWeUwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMMkY0YVc5ekwyeHBZaTlqYjNKbEwyUnBjM0JoZEdOb1VtVnhkV1Z6ZEM1cWN5SjkiLCJcInVzZSBzdHJpY3RcIjttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihlLGkscyx0LG4pe3JldHVybiBlLmNvbmZpZz1pLHMmJihlLmNvZGU9cyksZS5yZXF1ZXN0PXQsZS5yZXNwb25zZT1uLGUuaXNBeGlvc0Vycm9yPSEwLGUudG9KU09OPWZ1bmN0aW9uKCl7cmV0dXJue21lc3NhZ2U6dGhpcy5tZXNzYWdlLG5hbWU6dGhpcy5uYW1lLGRlc2NyaXB0aW9uOnRoaXMuZGVzY3JpcHRpb24sbnVtYmVyOnRoaXMubnVtYmVyLGZpbGVOYW1lOnRoaXMuZmlsZU5hbWUsbGluZU51bWJlcjp0aGlzLmxpbmVOdW1iZXIsY29sdW1uTnVtYmVyOnRoaXMuY29sdW1uTnVtYmVyLHN0YWNrOnRoaXMuc3RhY2ssY29uZmlnOnRoaXMuY29uZmlnLGNvZGU6dGhpcy5jb2RlfX0sZX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbVZ1YUdGdVkyVkZjbkp2Y2k1cWN5SmRMQ0p1WVcxbGN5STZXeUp0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpWlhKeWIzSWlMQ0pqYjI1bWFXY2lMQ0pqYjJSbElpd2ljbVZ4ZFdWemRDSXNJbkpsYzNCdmJuTmxJaXdpYVhOQmVHbHZjMFZ5Y205eUlpd2lkRzlLVTA5T0lpd2liV1Z6YzJGblpTSXNJblJvYVhNaUxDSnVZVzFsSWl3aVpHVnpZM0pwY0hScGIyNGlMQ0p1ZFcxaVpYSWlMQ0ptYVd4bFRtRnRaU0lzSW14cGJtVk9kVzFpWlhJaUxDSmpiMngxYlc1T2RXMWlaWElpTENKemRHRmpheUpkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzWVVGWlFVRXNUMEZCVDBNc1VVRkJWU3hUUVVGelFrTXNSVUZCVDBNc1JVRkJVVU1zUlVGQlRVTXNSVUZCVTBNc1IwRTBRbTVGTEU5Qk0wSkJTaXhGUVVGTlF5eFBRVUZUUVN4RlFVTllReXhKUVVOR1JpeEZRVUZOUlN4TFFVRlBRU3hIUVVkbVJpeEZRVUZOUnl4UlFVRlZRU3hGUVVOb1FrZ3NSVUZCVFVrc1UwRkJWMEVzUlVGRGFrSktMRVZCUVUxTExHTkJRV1VzUlVGRmNrSk1MRVZCUVUxTkxFOUJRVk1zVjBGRFlpeE5RVUZQTEVOQlJVeERMRkZCUVZORExFdEJRVXRFTEZGQlEyUkZMRXRCUVUxRUxFdEJRVXRETEV0QlJWaERMRmxCUVdGR0xFdEJRVXRGTEZsQlEyeENReXhQUVVGUlNDeExRVUZMUnl4UFFVVmlReXhUUVVGVlNpeExRVUZMU1N4VFFVTm1ReXhYUVVGWlRDeExRVUZMU3l4WFFVTnFRa01zWVVGQlkwNHNTMEZCUzAwc1lVRkRia0pETEUxQlFVOVFMRXRCUVV0UExFMUJSVnBrTEU5QlFWRlBMRXRCUVV0UUxFOUJRMkpETEV0QlFVMU5MRXRCUVV0T0xFOUJSMUpHSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwyMWhjM1JsY2k5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OWhlR2x2Y3k5c2FXSXZZMjl5WlM5bGJtaGhibU5sUlhKeWIzSXVhbk1pZlE9PSIsIlwidXNlIHN0cmljdFwiO3ZhciB1dGlscz1yZXF1aXJlKFwiLi4vdXRpbHNcIik7bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXt0PXR8fHt9O3ZhciBpPXt9LHM9W1widXJsXCIsXCJtZXRob2RcIixcImRhdGFcIl0sbj1bXCJoZWFkZXJzXCIsXCJhdXRoXCIsXCJwcm94eVwiLFwicGFyYW1zXCJdLHI9W1wiYmFzZVVSTFwiLFwidHJhbnNmb3JtUmVxdWVzdFwiLFwidHJhbnNmb3JtUmVzcG9uc2VcIixcInBhcmFtc1NlcmlhbGl6ZXJcIixcInRpbWVvdXRcIixcInRpbWVvdXRNZXNzYWdlXCIsXCJ3aXRoQ3JlZGVudGlhbHNcIixcImFkYXB0ZXJcIixcInJlc3BvbnNlVHlwZVwiLFwieHNyZkNvb2tpZU5hbWVcIixcInhzcmZIZWFkZXJOYW1lXCIsXCJvblVwbG9hZFByb2dyZXNzXCIsXCJvbkRvd25sb2FkUHJvZ3Jlc3NcIixcImRlY29tcHJlc3NcIixcIm1heENvbnRlbnRMZW5ndGhcIixcIm1heEJvZHlMZW5ndGhcIixcIm1heFJlZGlyZWN0c1wiLFwidHJhbnNwb3J0XCIsXCJodHRwQWdlbnRcIixcImh0dHBzQWdlbnRcIixcImNhbmNlbFRva2VuXCIsXCJzb2NrZXRQYXRoXCIsXCJyZXNwb25zZUVuY29kaW5nXCJdLG89W1widmFsaWRhdGVTdGF0dXNcIl07ZnVuY3Rpb24gYShlLHQpe3JldHVybiB1dGlscy5pc1BsYWluT2JqZWN0KGUpJiZ1dGlscy5pc1BsYWluT2JqZWN0KHQpP3V0aWxzLm1lcmdlKGUsdCk6dXRpbHMuaXNQbGFpbk9iamVjdCh0KT91dGlscy5tZXJnZSh7fSx0KTp1dGlscy5pc0FycmF5KHQpP3Quc2xpY2UoKTp0fWZ1bmN0aW9uIHUocyl7dXRpbHMuaXNVbmRlZmluZWQodFtzXSk/dXRpbHMuaXNVbmRlZmluZWQoZVtzXSl8fChpW3NdPWEodm9pZCAwLGVbc10pKTppW3NdPWEoZVtzXSx0W3NdKX11dGlscy5mb3JFYWNoKHMsZnVuY3Rpb24oZSl7dXRpbHMuaXNVbmRlZmluZWQodFtlXSl8fChpW2VdPWEodm9pZCAwLHRbZV0pKX0pLHV0aWxzLmZvckVhY2gobix1KSx1dGlscy5mb3JFYWNoKHIsZnVuY3Rpb24ocyl7dXRpbHMuaXNVbmRlZmluZWQodFtzXSk/dXRpbHMuaXNVbmRlZmluZWQoZVtzXSl8fChpW3NdPWEodm9pZCAwLGVbc10pKTppW3NdPWEodm9pZCAwLHRbc10pfSksdXRpbHMuZm9yRWFjaChvLGZ1bmN0aW9uKHMpe3MgaW4gdD9pW3NdPWEoZVtzXSx0W3NdKTpzIGluIGUmJihpW3NdPWEodm9pZCAwLGVbc10pKX0pO3ZhciBjPXMuY29uY2F0KG4pLmNvbmNhdChyKS5jb25jYXQobyksbD1PYmplY3Qua2V5cyhlKS5jb25jYXQoT2JqZWN0LmtleXModCkpLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4tMT09PWMuaW5kZXhPZihlKX0pO3JldHVybiB1dGlscy5mb3JFYWNoKGwsdSksaX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbTFsY21kbFEyOXVabWxuTG1weklsMHNJbTVoYldWeklqcGJJblYwYVd4eklpd2ljbVZ4ZFdseVpTSXNJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0pqYjI1bWFXY3hJaXdpWTI5dVptbG5NaUlzSW1OdmJtWnBaeUlzSW5aaGJIVmxSbkp2YlVOdmJtWnBaekpMWlhseklpd2liV1Z5WjJWRVpXVndVSEp2Y0dWeWRHbGxjMHRsZVhNaUxDSmtaV1poZFd4MFZHOURiMjVtYVdjeVMyVjVjeUlzSW1ScGNtVmpkRTFsY21kbFMyVjVjeUlzSW1kbGRFMWxjbWRsWkZaaGJIVmxJaXdpZEdGeVoyVjBJaXdpYzI5MWNtTmxJaXdpYVhOUWJHRnBiazlpYW1WamRDSXNJbTFsY21kbElpd2lhWE5CY25KaGVTSXNJbk5zYVdObElpd2liV1Z5WjJWRVpXVndVSEp2Y0dWeWRHbGxjeUlzSW5CeWIzQWlMQ0pwYzFWdVpHVm1hVzVsWkNJc0luVnVaR1ZtYVc1bFpDSXNJbVp2Y2tWaFkyZ2lMQ0poZUdsdmMwdGxlWE1pTENKamIyNWpZWFFpTENKdmRHaGxja3RsZVhNaUxDSlBZbXBsWTNRaUxDSnJaWGx6SWl3aVptbHNkR1Z5SWl3aWEyVjVJaXdpYVc1a1pYaFBaaUpkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzWVVGRlFTeEpRVUZKUVN4TlFVRlJReXhSUVVGUkxGbEJWWEJDUXl4UFFVRlBReXhSUVVGVkxGTkJRWEZDUXl4RlFVRlRReXhIUVVVM1EwRXNSVUZCVlVFc1IwRkJWeXhIUVVOeVFpeEpRVUZKUXl4RlFVRlRMRWRCUlZSRExFVkJRWFZDTEVOQlFVTXNUVUZCVHl4VFFVRlZMRkZCUTNwRFF5eEZRVUV3UWl4RFFVRkRMRlZCUVZjc1QwRkJVU3hSUVVGVExGVkJRM1pFUXl4RlFVRjFRaXhEUVVONlFpeFZRVUZYTEcxQ1FVRnZRaXh2UWtGQmNVSXNiVUpCUTNCRUxGVkJRVmNzYVVKQlFXdENMR3RDUVVGdFFpeFZRVUZYTEdWQlFXZENMR2xDUVVNelJTeHBRa0ZCYTBJc2JVSkJRVzlDTEhGQ1FVRnpRaXhoUVVNMVJDeHRRa0ZCYjBJc1owSkJRV2xDTEdWQlFXZENMRmxCUVdFc1dVRkRiRVVzWVVGQll5eGpRVUZsTEdGQlFXTXNiMEpCUlhwRFF5eEZRVUZyUWl4RFFVRkRMR3RDUVVWMlFpeFRRVUZUUXl4RlFVRmxReXhGUVVGUlF5eEhRVU01UWl4UFFVRkpZaXhOUVVGTll5eGpRVUZqUml4SlFVRlhXaXhOUVVGTll5eGpRVUZqUkN4SFFVTTVRMklzVFVGQlRXVXNUVUZCVFVnc1JVRkJVVU1zUjBGRGJFSmlMRTFCUVUxakxHTkJRV05FTEVkQlEzUkNZaXhOUVVGTlpTeE5RVUZOTEVkQlFVbEdMRWRCUTJSaUxFMUJRVTFuUWl4UlFVRlJTQ3hIUVVOb1FrRXNSVUZCVDBrc1VVRkZWRW9zUlVGSFZDeFRRVUZUU3l4RlFVRnZRa01zUjBGRGRFSnVRaXhOUVVGTmIwSXNXVUZCV1dZc1JVRkJVV01zU1VGRmJrSnVRaXhOUVVGTmIwSXNXVUZCV1doQ0xFVkJRVkZsTEUxQlEzQkRZaXhGUVVGUFlTeEhRVUZSVWl4UFFVRmxWU3hGUVVGWGFrSXNSVUZCVVdVc1MwRkdha1JpTEVWQlFVOWhMRWRCUVZGU0xFVkJRV1ZRTEVWQlFWRmxMRWRCUVU5a0xFVkJRVkZqTEVsQlRYcEVia0lzVFVGQlRYTkNMRkZCUVZGbUxFVkJRWE5DTEZOQlFUQkNXU3hIUVVOMlJHNUNMRTFCUVUxdlFpeFpRVUZaWml4RlFVRlJZeXhOUVVNM1FtSXNSVUZCVDJFc1IwRkJVVklzVDBGQlpWVXNSVUZCVjJoQ0xFVkJRVkZqTEU5QlNYSkVia0lzVFVGQlRYTkNMRkZCUVZGa0xFVkJRWGxDVlN4SFFVVjJRMnhDTEUxQlFVMXpRaXhSUVVGUllpeEZRVUZ6UWl4VFFVRXdRbFVzUjBGRGRrUnVRaXhOUVVGTmIwSXNXVUZCV1dZc1JVRkJVV01zU1VGRmJrSnVRaXhOUVVGTmIwSXNXVUZCV1doQ0xFVkJRVkZsTEUxQlEzQkRZaXhGUVVGUFlTeEhRVUZSVWl4UFFVRmxWU3hGUVVGWGFrSXNSVUZCVVdVc1MwRkdha1JpTEVWQlFVOWhMRWRCUVZGU0xFOUJRV1ZWTEVWQlFWZG9RaXhGUVVGUll5eE5RVTF5Ukc1Q0xFMUJRVTF6UWl4UlFVRlJXaXhGUVVGcFFpeFRRVUZsVXl4SFFVTjRRMEVzUzBGQlVXUXNSVUZEVmtNc1JVRkJUMkVzUjBGQlVWSXNSVUZCWlZBc1JVRkJVV1VzUjBGQlQyUXNSVUZCVVdNc1NVRkROVU5CTEV0QlFWRm1MRWxCUTJwQ1JTeEZRVUZQWVN4SFFVRlJVaXhQUVVGbFZTeEZRVUZYYWtJc1JVRkJVV1VzVDBGSmNrUXNTVUZCU1Vrc1JVRkJXV2hDTEVWQlEySnBRaXhQUVVGUGFFSXNSMEZEVUdkQ0xFOUJRVTltTEVkQlExQmxMRTlCUVU5a0xFZEJSVTVsTEVWQlFWbERMRTlCUTJKRExFdEJRVXQyUWl4SFFVTk1iMElzVDBGQlQwVXNUMEZCVDBNc1MwRkJTM1JDTEVsQlEyNUNkVUlzVDBGQlR5eFRRVUY1UWtNc1IwRkRMMElzVDBGQmJVTXNTVUZCTlVKT0xFVkJRVlZQTEZGQlFWRkVMRXRCU3pkQ0xFOUJSa0UzUWl4TlFVRk5jMElzVVVGQlVVY3NSVUZCVjFBc1IwRkZiRUphSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwyMWhjM1JsY2k5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OWhlR2x2Y3k5c2FXSXZZMjl5WlM5dFpYSm5aVU52Ym1acFp5NXFjeUo5IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIGNyZWF0ZUVycm9yPXJlcXVpcmUoXCIuL2NyZWF0ZUVycm9yXCIpO21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKHQscixlKXt2YXIgcz1lLmNvbmZpZy52YWxpZGF0ZVN0YXR1cztlLnN0YXR1cyYmcyYmIXMoZS5zdGF0dXMpP3IoY3JlYXRlRXJyb3IoXCJSZXF1ZXN0IGZhaWxlZCB3aXRoIHN0YXR1cyBjb2RlIFwiK2Uuc3RhdHVzLGUuY29uZmlnLG51bGwsZS5yZXF1ZXN0LGUpKTp0KGUpfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluTmxkSFJzWlM1cWN5SmRMQ0p1WVcxbGN5STZXeUpqY21WaGRHVkZjbkp2Y2lJc0luSmxjWFZwY21VaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2ljbVZ6YjJ4MlpTSXNJbkpsYW1WamRDSXNJbkpsYzNCdmJuTmxJaXdpZG1Gc2FXUmhkR1ZUZEdGMGRYTWlMQ0pqYjI1bWFXY2lMQ0p6ZEdGMGRYTWlMQ0p5WlhGMVpYTjBJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hoUVVWQkxFbEJRVWxCTEZsQlFXTkRMRkZCUVZFc2FVSkJVekZDUXl4UFFVRlBReXhSUVVGVkxGTkJRV2RDUXl4RlFVRlRReXhGUVVGUlF5eEhRVU5vUkN4SlFVRkpReXhGUVVGcFFrUXNSVUZCVTBVc1QwRkJUMFFzWlVGRGFFTkVMRVZCUVZOSExGRkJRVmRHTEVsQlFXdENRU3hGUVVGbFJDeEZRVUZUUnl4UlFVZHFSVW9zUlVGQlQwd3NXVUZEVEN4dFEwRkJjVU5OTEVWQlFWTkhMRTlCUXpsRFNDeEZRVUZUUlN4UFFVTlVMRXRCUTBGR0xFVkJRVk5KTEZGQlExUktMRWxCVUVaR0xFVkJRVkZGSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwyMWhjM1JsY2k5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OWhlR2x2Y3k5c2FXSXZZMjl5WlM5elpYUjBiR1V1YW5NaWZRPT0iLCJcInVzZSBzdHJpY3RcIjt2YXIgdXRpbHM9cmVxdWlyZShcIi4vLi4vdXRpbHNcIik7bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24odCx1LHIpe3JldHVybiB1dGlscy5mb3JFYWNoKHIsZnVuY3Rpb24ocil7dD1yKHQsdSl9KSx0fTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluUnlZVzV6Wm05eWJVUmhkR0V1YW5NaVhTd2libUZ0WlhNaU9sc2lkWFJwYkhNaUxDSnlaWEYxYVhKbElpd2liVzlrZFd4bElpd2laWGh3YjNKMGN5SXNJbVJoZEdFaUxDSm9aV0ZrWlhKeklpd2labTV6SWl3aVptOXlSV0ZqYUNJc0ltWnVJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hoUVVWQkxFbEJRVWxCTEUxQlFWRkRMRkZCUVZFc1kwRlZjRUpETEU5QlFVOURMRkZCUVZVc1UwRkJkVUpETEVWQlFVMURMRVZCUVZORExFZEJUWEpFTEU5QlNrRk9MRTFCUVUxUExGRkJRVkZFTEVWQlFVc3NVMEZCYlVKRkxFZEJRM0JEU2l4RlFVRlBTU3hGUVVGSFNpeEZRVUZOUXl4TFFVZFlSQ0lzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5dFlYTjBaWEl2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdllYaHBiM012YkdsaUwyTnZjbVV2ZEhKaGJuTm1iM0p0UkdGMFlTNXFjeUo5IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIHV0aWxzPXJlcXVpcmUoXCIuL3V0aWxzXCIpLG5vcm1hbGl6ZUhlYWRlck5hbWU9cmVxdWlyZShcIi4vaGVscGVycy9ub3JtYWxpemVIZWFkZXJOYW1lXCIpLERFRkFVTFRfQ09OVEVOVF9UWVBFPXtcIkNvbnRlbnQtVHlwZVwiOlwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCJ9O2Z1bmN0aW9uIHNldENvbnRlbnRUeXBlSWZVbnNldChlLHQpeyF1dGlscy5pc1VuZGVmaW5lZChlKSYmdXRpbHMuaXNVbmRlZmluZWQoZVtcIkNvbnRlbnQtVHlwZVwiXSkmJihlW1wiQ29udGVudC1UeXBlXCJdPXQpfWZ1bmN0aW9uIGdldERlZmF1bHRBZGFwdGVyKCl7dmFyIGU7cmV0dXJuXCJ1bmRlZmluZWRcIiE9dHlwZW9mIFhNTEh0dHBSZXF1ZXN0P2U9cmVxdWlyZShcIi4vYWRhcHRlcnMveGhyXCIpOlwidW5kZWZpbmVkXCIhPXR5cGVvZiBwcm9jZXNzJiZcIltvYmplY3QgcHJvY2Vzc11cIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChwcm9jZXNzKSYmKGU9cmVxdWlyZShcIi4vYWRhcHRlcnMvaHR0cFwiKSksZX12YXIgZGVmYXVsdHM9e2FkYXB0ZXI6Z2V0RGVmYXVsdEFkYXB0ZXIoKSx0cmFuc2Zvcm1SZXF1ZXN0OltmdW5jdGlvbihlLHQpe3JldHVybiBub3JtYWxpemVIZWFkZXJOYW1lKHQsXCJBY2NlcHRcIiksbm9ybWFsaXplSGVhZGVyTmFtZSh0LFwiQ29udGVudC1UeXBlXCIpLHV0aWxzLmlzRm9ybURhdGEoZSl8fHV0aWxzLmlzQXJyYXlCdWZmZXIoZSl8fHV0aWxzLmlzQnVmZmVyKGUpfHx1dGlscy5pc1N0cmVhbShlKXx8dXRpbHMuaXNGaWxlKGUpfHx1dGlscy5pc0Jsb2IoZSk/ZTp1dGlscy5pc0FycmF5QnVmZmVyVmlldyhlKT9lLmJ1ZmZlcjp1dGlscy5pc1VSTFNlYXJjaFBhcmFtcyhlKT8oc2V0Q29udGVudFR5cGVJZlVuc2V0KHQsXCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtOFwiKSxlLnRvU3RyaW5nKCkpOnV0aWxzLmlzT2JqZWN0KGUpPyhzZXRDb250ZW50VHlwZUlmVW5zZXQodCxcImFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtOFwiKSxKU09OLnN0cmluZ2lmeShlKSk6ZX1dLHRyYW5zZm9ybVJlc3BvbnNlOltmdW5jdGlvbihlKXtpZihcInN0cmluZ1wiPT10eXBlb2YgZSl0cnl7ZT1KU09OLnBhcnNlKGUpfWNhdGNoKGUpe31yZXR1cm4gZX1dLHRpbWVvdXQ6MCx4c3JmQ29va2llTmFtZTpcIlhTUkYtVE9LRU5cIix4c3JmSGVhZGVyTmFtZTpcIlgtWFNSRi1UT0tFTlwiLG1heENvbnRlbnRMZW5ndGg6LTEsbWF4Qm9keUxlbmd0aDotMSx2YWxpZGF0ZVN0YXR1czpmdW5jdGlvbihlKXtyZXR1cm4gZT49MjAwJiZlPDMwMH0saGVhZGVyczp7Y29tbW9uOntBY2NlcHQ6XCJhcHBsaWNhdGlvbi9qc29uLCB0ZXh0L3BsYWluLCAqLypcIn19fTt1dGlscy5mb3JFYWNoKFtcImRlbGV0ZVwiLFwiZ2V0XCIsXCJoZWFkXCJdLGZ1bmN0aW9uKGUpe2RlZmF1bHRzLmhlYWRlcnNbZV09e319KSx1dGlscy5mb3JFYWNoKFtcInBvc3RcIixcInB1dFwiLFwicGF0Y2hcIl0sZnVuY3Rpb24oZSl7ZGVmYXVsdHMuaGVhZGVyc1tlXT11dGlscy5tZXJnZShERUZBVUxUX0NPTlRFTlRfVFlQRSl9KSxtb2R1bGUuZXhwb3J0cz1kZWZhdWx0cztcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltUmxabUYxYkhSekxtcHpJbDBzSW01aGJXVnpJanBiSW5WMGFXeHpJaXdpY21WeGRXbHlaU0lzSW01dmNtMWhiR2w2WlVobFlXUmxjazVoYldVaUxDSkVSVVpCVlV4VVgwTlBUbFJGVGxSZlZGbFFSU0lzSWtOdmJuUmxiblF0Vkhsd1pTSXNJbk5sZEVOdmJuUmxiblJVZVhCbFNXWlZibk5sZENJc0ltaGxZV1JsY25NaUxDSjJZV3gxWlNJc0ltbHpWVzVrWldacGJtVmtJaXdpWjJWMFJHVm1ZWFZzZEVGa1lYQjBaWElpTENKaFpHRndkR1Z5SWl3aVdFMU1TSFIwY0ZKbGNYVmxjM1FpTENKd2NtOWpaWE56SWl3aVQySnFaV04wSWl3aWNISnZkRzkwZVhCbElpd2lkRzlUZEhKcGJtY2lMQ0pqWVd4c0lpd2laR1ZtWVhWc2RITWlMQ0owY21GdWMyWnZjbTFTWlhGMVpYTjBJaXdpWkdGMFlTSXNJbWx6Um05eWJVUmhkR0VpTENKcGMwRnljbUY1UW5WbVptVnlJaXdpYVhOQ2RXWm1aWElpTENKcGMxTjBjbVZoYlNJc0ltbHpSbWxzWlNJc0ltbHpRbXh2WWlJc0ltbHpRWEp5WVhsQ2RXWm1aWEpXYVdWM0lpd2lZblZtWm1WeUlpd2lhWE5WVWt4VFpXRnlZMmhRWVhKaGJYTWlMQ0pwYzA5aWFtVmpkQ0lzSWtwVFQwNGlMQ0p6ZEhKcGJtZHBabmtpTENKMGNtRnVjMlp2Y20xU1pYTndiMjV6WlNJc0luQmhjbk5sSWl3aVpTSXNJblJwYldWdmRYUWlMQ0o0YzNKbVEyOXZhMmxsVG1GdFpTSXNJbmh6Y21aSVpXRmtaWEpPWVcxbElpd2liV0Y0UTI5dWRHVnVkRXhsYm1kMGFDSXNJbTFoZUVKdlpIbE1aVzVuZEdnaUxDSjJZV3hwWkdGMFpWTjBZWFIxY3lJc0luTjBZWFIxY3lJc0ltTnZiVzF2YmlJc0lrRmpZMlZ3ZENJc0ltWnZja1ZoWTJnaUxDSnRaWFJvYjJRaUxDSnRaWEpuWlNJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxHRkJSVUVzU1VGQlNVRXNUVUZCVVVNc1VVRkJVU3hYUVVOb1FrTXNiMEpCUVhOQ1JDeFJRVUZSTEdsRFFVVTVRa1VzY1VKQlFYVkNMRU5CUTNwQ1F5eGxRVUZuUWl4eFEwRkhiRUlzVTBGQlUwTXNjMEpCUVhOQ1F5eEZRVUZUUXl4SlFVTnFRMUFzVFVGQlRWRXNXVUZCV1VZc1NVRkJXVTRzVFVGQlRWRXNXVUZCV1VZc1JVRkJVU3h0UWtGRE0wUkJMRVZCUVZFc1owSkJRV3RDUXl4SFFVazVRaXhUUVVGVFJTeHZRa0ZEVUN4SlFVRkpReXhGUVZGS0xFMUJVRGhDTEc5Q1FVRnVRa01zWlVGRlZFUXNSVUZCVlZRc1VVRkJVU3hyUWtGRFZTeHZRa0ZCV2xjc1UwRkJkVVVzY1VKQlFUVkRReXhQUVVGUFF5eFZRVUZWUXl4VFFVRlRReXhMUVVGTFNpeFhRVVV4UlVZc1JVRkJWVlFzVVVGQlVTeHZRa0ZGWWxNc1JVRkhWQ3hKUVVGSlR5eFRRVUZYTEVOQlEySlFMRkZCUVZORUxHOUNRVVZVVXl4cFFrRkJhMElzUTBGQlF5eFRRVUV3UWtNc1JVRkJUV0lzUjBGSGFrUXNUMEZHUVVvc2IwSkJRVzlDU1N4RlFVRlRMRlZCUXpkQ1NpeHZRa0ZCYjBKSkxFVkJRVk1zWjBKQlEzcENUaXhOUVVGTmIwSXNWMEZCVjBRc1NVRkRia0p1UWl4TlFVRk5jVUlzWTBGQlkwWXNTVUZEY0VKdVFpeE5RVUZOYzBJc1UwRkJVMGdzU1VGRFptNUNMRTFCUVUxMVFpeFRRVUZUU2l4SlFVTm1ia0lzVFVGQlRYZENMRTlCUVU5TUxFbEJRMkp1UWl4TlFVRk5lVUlzVDBGQlQwNHNSMEZGVGtFc1JVRkZURzVDTEUxQlFVMHdRaXhyUWtGQmEwSlFMRWRCUTI1Q1FTeEZRVUZMVVN4UFFVVldNMElzVFVGQlRUUkNMR3RDUVVGclFsUXNTVUZETVVKa0xITkNRVUZ6UWtNc1JVRkJVeXh0UkVGRGVFSmhMRVZCUVV0S0xGbEJSVlptTEUxQlFVMDJRaXhUUVVGVFZpeEpRVU5xUW1Rc2MwSkJRWE5DUXl4RlFVRlRMR3REUVVONFFuZENMRXRCUVV0RExGVkJRVlZhTEVsQlJXcENRU3hKUVVkVVlTeHJRa0ZCYlVJc1EwRkJReXhUUVVFeVFtSXNSMEZGTjBNc1IwRkJiMElzYVVKQlFWUkJMRVZCUTFRc1NVRkRSVUVzUlVGQlQxY3NTMEZCUzBjc1RVRkJUV1FzUjBGRGJFSXNUVUZCVDJVc1NVRkZXQ3hQUVVGUFppeEpRVTlVWjBJc1VVRkJVeXhGUVVWVVF5eGxRVUZuUWl4aFFVTm9Ra01zWlVGQlowSXNaVUZGYUVKRExHdENRVUZ0UWl4RlFVTnVRa01zWlVGQlowSXNSVUZGYUVKRExHVkJRV2RDTEZOQlFYZENReXhIUVVOMFF5eFBRVUZQUVN4SFFVRlZMRXRCUVU5QkxFVkJRVk1zUzBGSmNrTnVReXhSUVVGdFFpeERRVU5xUW05RExFOUJRVkVzUTBGRFRrTXNUMEZCVlN4MVEwRkpaRE5ETEUxQlFVMDBReXhSUVVGUkxFTkJRVU1zVTBGQlZTeE5RVUZQTEZGQlFWTXNVMEZCTmtKRExFZEJRM0JGTlVJc1UwRkJVMWdzVVVGQlVYVkRMRWRCUVZVc1MwRkhOMEkzUXl4TlFVRk5ORU1zVVVGQlVTeERRVUZETEU5QlFWRXNUVUZCVHl4VFFVRlZMRk5CUVN0Q1F5eEhRVU55UlRWQ0xGTkJRVk5ZTEZGQlFWRjFReXhIUVVGVk4wTXNUVUZCVFRoRExFMUJRVTB6UXl4M1FrRkhla00wUXl4UFFVRlBReXhSUVVGVkwwSWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YldGemRHVnlMM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDJGNGFXOXpMMnhwWWk5a1pXWmhkV3gwY3k1cWN5SjkiLCJcInVzZSBzdHJpY3RcIjttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihyLG4pe3JldHVybiBmdW5jdGlvbigpe2Zvcih2YXIgdD1uZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCksZT0wO2U8dC5sZW5ndGg7ZSsrKXRbZV09YXJndW1lbnRzW2VdO3JldHVybiByLmFwcGx5KG4sdCl9fTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltSnBibVF1YW5NaVhTd2libUZ0WlhNaU9sc2liVzlrZFd4bElpd2laWGh3YjNKMGN5SXNJbVp1SWl3aWRHaHBjMEZ5WnlJc0ltRnlaM01pTENKQmNuSmhlU0lzSW1GeVozVnRaVzUwY3lJc0lteGxibWQwYUNJc0lta2lMQ0poY0hCc2VTSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNZVUZGUVVFc1QwRkJUME1zVVVGQlZTeFRRVUZqUXl4RlFVRkpReXhIUVVOcVF5eFBRVUZQTEZkQlJVd3NTVUZFUVN4SlFVRkpReXhGUVVGUExFbEJRVWxETEUxQlFVMURMRlZCUVZWRExGRkJRM1JDUXl4RlFVRkpMRVZCUVVkQkxFVkJRVWxLTEVWQlFVdEhMRTlCUVZGRExFbEJReTlDU2l4RlFVRkxTU3hIUVVGTFJpeFZRVUZWUlN4SFFVVjBRaXhQUVVGUFRpeEZRVUZIVHl4TlFVRk5UaXhGUVVGVFF5SXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl0WVhOMFpYSXZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12WVhocGIzTXZiR2xpTDJobGJIQmxjbk12WW1sdVpDNXFjeUo5IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIHV0aWxzPXJlcXVpcmUoXCIuLy4uL3V0aWxzXCIpO2Z1bmN0aW9uIGVuY29kZShlKXtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KGUpLnJlcGxhY2UoLyUzQS9naSxcIjpcIikucmVwbGFjZSgvJTI0L2csXCIkXCIpLnJlcGxhY2UoLyUyQy9naSxcIixcIikucmVwbGFjZSgvJTIwL2csXCIrXCIpLnJlcGxhY2UoLyU1Qi9naSxcIltcIikucmVwbGFjZSgvJTVEL2dpLFwiXVwiKX1tb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihlLGkscil7aWYoIWkpcmV0dXJuIGU7dmFyIHQ7aWYocil0PXIoaSk7ZWxzZSBpZih1dGlscy5pc1VSTFNlYXJjaFBhcmFtcyhpKSl0PWkudG9TdHJpbmcoKTtlbHNle3ZhciBuPVtdO3V0aWxzLmZvckVhY2goaSxmdW5jdGlvbihlLGkpe251bGwhPWUmJih1dGlscy5pc0FycmF5KGUpP2krPVwiW11cIjplPVtlXSx1dGlscy5mb3JFYWNoKGUsZnVuY3Rpb24oZSl7dXRpbHMuaXNEYXRlKGUpP2U9ZS50b0lTT1N0cmluZygpOnV0aWxzLmlzT2JqZWN0KGUpJiYoZT1KU09OLnN0cmluZ2lmeShlKSksbi5wdXNoKGVuY29kZShpKStcIj1cIitlbmNvZGUoZSkpfSkpfSksdD1uLmpvaW4oXCImXCIpfWlmKHQpe3ZhciBzPWUuaW5kZXhPZihcIiNcIik7LTEhPT1zJiYoZT1lLnNsaWNlKDAscykpLGUrPSgtMT09PWUuaW5kZXhPZihcIj9cIik/XCI/XCI6XCImXCIpK3R9cmV0dXJuIGV9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1KMWFXeGtWVkpNTG1weklsMHNJbTVoYldWeklqcGJJblYwYVd4eklpd2ljbVZ4ZFdseVpTSXNJbVZ1WTI5a1pTSXNJblpoYkNJc0ltVnVZMjlrWlZWU1NVTnZiWEJ2Ym1WdWRDSXNJbkpsY0d4aFkyVWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpZFhKc0lpd2ljR0Z5WVcxeklpd2ljR0Z5WVcxelUyVnlhV0ZzYVhwbGNpSXNJbk5sY21saGJHbDZaV1JRWVhKaGJYTWlMQ0pwYzFWU1RGTmxZWEpqYUZCaGNtRnRjeUlzSW5SdlUzUnlhVzVuSWl3aWNHRnlkSE1pTENKbWIzSkZZV05vSWl3aWEyVjVJaXdpYVhOQmNuSmhlU0lzSW5ZaUxDSnBjMFJoZEdVaUxDSjBiMGxUVDFOMGNtbHVaeUlzSW1selQySnFaV04wSWl3aVNsTlBUaUlzSW5OMGNtbHVaMmxtZVNJc0luQjFjMmdpTENKcWIybHVJaXdpYUdGemFHMWhjbXRKYm1SbGVDSXNJbWx1WkdWNFQyWWlMQ0p6YkdsalpTSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNZVUZGUVN4SlFVRkpRU3hOUVVGUlF5eFJRVUZSTEdOQlJYQkNMRk5CUVZORExFOUJRVTlETEVkQlEyUXNUMEZCVDBNc2JVSkJRVzFDUkN4SFFVTjRRa1VzVVVGQlVTeFJRVUZUTEV0QlEycENRU3hSUVVGUkxFOUJRVkVzUzBGRGFFSkJMRkZCUVZFc1VVRkJVeXhMUVVOcVFrRXNVVUZCVVN4UFFVRlJMRXRCUTJoQ1FTeFJRVUZSTEZGQlFWTXNTMEZEYWtKQkxGRkJRVkVzVVVGQlV5eExRVlZ5UWtNc1QwRkJUME1zVVVGQlZTeFRRVUZyUWtNc1JVRkJTME1zUlVGQlVVTXNSMEZGT1VNc1NVRkJTMFFzUlVGRFNDeFBRVUZQUkN4RlFVZFVMRWxCUVVsSExFVkJRMG9zUjBGQlNVUXNSVUZEUmtNc1JVRkJiVUpFTEVWQlFXbENSQ3hSUVVNdlFpeEhRVUZKVkN4TlFVRk5XU3hyUWtGQmEwSklMRWRCUTJwRFJTeEZRVUZ0UWtZc1JVRkJUMGtzWlVGRGNrSXNRMEZEVEN4SlFVRkpReXhGUVVGUkxFZEJSVnBrTEUxQlFVMWxMRkZCUVZGT0xFVkJRVkVzVTBGQmJVSk9MRVZCUVV0aExFZEJRM2hEWWl4TlFVRkJRU3hKUVVsQlNDeE5RVUZOYVVJc1VVRkJVV1FzUjBGRGFFSmhMRWRCUVZrc1MwRkZXbUlzUlVGQlRTeERRVUZEUVN4SFFVZFVTQ3hOUVVGTlpTeFJRVUZSV2l4RlFVRkxMRk5CUVc5Q1pTeEhRVU5xUTJ4Q0xFMUJRVTF0UWl4UFFVRlBSQ3hIUVVObVFTeEZRVUZKUVN4RlFVRkZSU3hqUVVOSGNFSXNUVUZCVFhGQ0xGTkJRVk5JTEV0QlEzaENRU3hGUVVGSlNTeExRVUZMUXl4VlFVRlZUQ3hKUVVWeVFrb3NSVUZCVFZVc1MwRkJTM1JDTEU5QlFVOWpMRWRCUVU4c1NVRkJUV1FzVDBGQlQyZENMRk5CU1RGRFVDeEZRVUZ0UWtjc1JVRkJUVmNzUzBGQlN5eExRVWRvUXl4SFFVRkpaQ3hGUVVGclFpeERRVU53UWl4SlFVRkpaU3hGUVVGblFteENMRVZCUVVsdFFpeFJRVUZSTEUxQlExUXNTVUZCYmtKRUxFbEJRMFpzUWl4RlFVRk5RU3hGUVVGSmIwSXNUVUZCVFN4RlFVRkhSaXhKUVVkeVFteENMRXRCUVRoQ0xFbEJRWFJDUVN4RlFVRkpiVUlzVVVGQlVTeExRVUZqTEVsQlFVMHNTMEZCVDJoQ0xFVkJSMnBFTEU5QlFVOUlJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDIxaGMzUmxjaTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5aGVHbHZjeTlzYVdJdmFHVnNjR1Z5Y3k5aWRXbHNaRlZTVEM1cWN5SjkiLCJcInVzZSBzdHJpY3RcIjttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihlLHIpe3JldHVybiByP2UucmVwbGFjZSgvXFwvKyQvLFwiXCIpK1wiL1wiK3IucmVwbGFjZSgvXlxcLysvLFwiXCIpOmV9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1OdmJXSnBibVZWVWt4ekxtcHpJbDBzSW01aGJXVnpJanBiSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pTENKaVlYTmxWVkpNSWl3aWNtVnNZWFJwZG1WVlVrd2lMQ0p5WlhCc1lXTmxJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hoUVZOQlFTeFBRVUZQUXl4UlFVRlZMRk5CUVhGQ1F5eEZRVUZUUXl4SFFVTTNReXhQUVVGUFFTeEZRVU5JUkN4RlFVRlJSU3hSUVVGUkxFOUJRVkVzU1VGQlRTeEpRVUZOUkN4RlFVRlpReXhSUVVGUkxFOUJRVkVzU1VGRGFFVkdJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDIxaGMzUmxjaTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5aGVHbHZjeTlzYVdJdmFHVnNjR1Z5Y3k5amIyMWlhVzVsVlZKTWN5NXFjeUo5IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIHV0aWxzPXJlcXVpcmUoXCIuLy4uL3V0aWxzXCIpO21vZHVsZS5leHBvcnRzPXV0aWxzLmlzU3RhbmRhcmRCcm93c2VyRW52KCk/e3dyaXRlOmZ1bmN0aW9uKGUsdCxuLGksdSxvKXt2YXIgcj1bXTtyLnB1c2goZStcIj1cIitlbmNvZGVVUklDb21wb25lbnQodCkpLHV0aWxzLmlzTnVtYmVyKG4pJiZyLnB1c2goXCJleHBpcmVzPVwiK25ldyBEYXRlKG4pLnRvR01UU3RyaW5nKCkpLHV0aWxzLmlzU3RyaW5nKGkpJiZyLnB1c2goXCJwYXRoPVwiK2kpLHV0aWxzLmlzU3RyaW5nKHUpJiZyLnB1c2goXCJkb21haW49XCIrdSksITA9PT1vJiZyLnB1c2goXCJzZWN1cmVcIiksZG9jdW1lbnQuY29va2llPXIuam9pbihcIjsgXCIpfSxyZWFkOmZ1bmN0aW9uKGUpe3ZhciB0PWRvY3VtZW50LmNvb2tpZS5tYXRjaChuZXcgUmVnRXhwKFwiKF58O1xcXFxzKikoXCIrZStcIik9KFteO10qKVwiKSk7cmV0dXJuIHQ/ZGVjb2RlVVJJQ29tcG9uZW50KHRbM10pOm51bGx9LHJlbW92ZTpmdW5jdGlvbihlKXt0aGlzLndyaXRlKGUsXCJcIixEYXRlLm5vdygpLTg2NGU1KX19Ont3cml0ZTpmdW5jdGlvbigpe30scmVhZDpmdW5jdGlvbigpe3JldHVybiBudWxsfSxyZW1vdmU6ZnVuY3Rpb24oKXt9fTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltTnZiMnRwWlhNdWFuTWlYU3dpYm1GdFpYTWlPbHNpZFhScGJITWlMQ0p5WlhGMWFYSmxJaXdpYlc5a2RXeGxJaXdpWlhod2IzSjBjeUlzSW1selUzUmhibVJoY21SQ2NtOTNjMlZ5Ulc1Mklpd2lkM0pwZEdVaUxDSnVZVzFsSWl3aWRtRnNkV1VpTENKbGVIQnBjbVZ6SWl3aWNHRjBhQ0lzSW1SdmJXRnBiaUlzSW5ObFkzVnlaU0lzSW1OdmIydHBaU0lzSW5CMWMyZ2lMQ0psYm1OdlpHVlZVa2xEYjIxd2IyNWxiblFpTENKcGMwNTFiV0psY2lJc0lrUmhkR1VpTENKMGIwZE5WRk4wY21sdVp5SXNJbWx6VTNSeWFXNW5JaXdpWkc5amRXMWxiblFpTENKcWIybHVJaXdpY21WaFpDSXNJbTFoZEdOb0lpd2lVbVZuUlhod0lpd2laR1ZqYjJSbFZWSkpRMjl0Y0c5dVpXNTBJaXdpY21WdGIzWmxJaXdpZEdocGN5SXNJbTV2ZHlKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc1lVRkZRU3hKUVVGSlFTeE5RVUZSUXl4UlFVRlJMR05CUlhCQ1F5eFBRVUZQUXl4UlFVTk1TQ3hOUVVGTlNTeDFRa0ZKU3l4RFFVTk1ReXhOUVVGUExGTkJRV1ZETEVWQlFVMURMRVZCUVU5RExFVkJRVk5ETEVWQlFVMURMRVZCUVZGRExFZEJRM2hFTEVsQlFVbERMRVZCUVZNc1IwRkRZa0VzUlVGQlQwTXNTMEZCUzFBc1JVRkJUeXhKUVVGTlVTeHRRa0ZCYlVKUUxFbEJSWGhEVUN4TlFVRk5aU3hUUVVGVFVDeEpRVU5xUWtrc1JVRkJUME1zUzBGQlN5eFhRVUZoTEVsQlFVbEhMRXRCUVV0U0xFZEJRVk5UTEdWQlIzcERha0lzVFVGQlRXdENMRk5CUVZOVUxFbEJRMnBDUnl4RlFVRlBReXhMUVVGTExGRkJRVlZLTEVkQlIzQkNWQ3hOUVVGTmEwSXNVMEZCVTFJc1NVRkRha0pGTEVWQlFVOURMRXRCUVVzc1ZVRkJXVWdzU1VGSFdDeEpRVUZZUXl4SFFVTkdReXhGUVVGUFF5eExRVUZMTEZWQlIyUk5MRk5CUVZOUUxFOUJRVk5CTEVWQlFVOVJMRXRCUVVzc1QwRkhhRU5ETEV0QlFVMHNVMEZCWTJZc1IwRkRiRUlzU1VGQlNXZENMRVZCUVZGSUxGTkJRVk5RTEU5QlFVOVZMRTFCUVUwc1NVRkJTVU1zVDBGQlR5eGhRVUZsYWtJc1JVRkJUeXhqUVVOdVJTeFBRVUZSWjBJc1JVRkJVVVVzYlVKQlFXMUNSaXhGUVVGTkxFbEJRVTBzVFVGSGFrUkhMRTlCUVZFc1UwRkJaMEp1UWl4SFFVTjBRbTlDTEV0QlFVdHlRaXhOUVVGTlF5eEZRVUZOTEVkQlFVbFZMRXRCUVV0WExFMUJRVkVzVTBGUEwwSXNRMEZEVEhSQ0xFMUJRVThzWVVGRFVHZENMRXRCUVUwc1YwRkJhMElzVDBGQlR5eE5RVU12UWtrc1QwRkJVU0lzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5dFlYTjBaWEl2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdllYaHBiM012YkdsaUwyaGxiSEJsY25NdlkyOXZhMmxsY3k1cWN5SjkiLCJcInVzZSBzdHJpY3RcIjttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4vXihbYS16XVthLXpcXGRcXCtcXC1cXC5dKjopP1xcL1xcLy9pLnRlc3QodCl9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1selFXSnpiMngxZEdWVlVrd3Vhbk1pWFN3aWJtRnRaWE1pT2xzaWJXOWtkV3hsSWl3aVpYaHdiM0owY3lJc0luVnliQ0lzSW5SbGMzUWlYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMR0ZCVVVGQkxFOUJRVTlETEZGQlFWVXNVMEZCZFVKRExFZEJTWFJETEUxQlFVOHNaME5CUVdkRFF5eExRVUZMUkNJc0ltWnBiR1VpT2lJdmFHOXRaUzk2YVc1dkwzQnliMnBsWTNSekwzTmxZWFJ0WVhCMk1pOXRZWE4wWlhJdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZZWGhwYjNNdmJHbGlMMmhsYkhCbGNuTXZhWE5CWW5OdmJIVjBaVlZTVEM1cWN5SjkiLCJcInVzZSBzdHJpY3RcIjttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihvKXtyZXR1cm5cIm9iamVjdFwiPT10eXBlb2YgbyYmITA9PT1vLmlzQXhpb3NFcnJvcn07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbWx6UVhocGIzTkZjbkp2Y2k1cWN5SmRMQ0p1WVcxbGN5STZXeUp0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpY0dGNWJHOWhaQ0lzSW1selFYaHBiM05GY25KdmNpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNZVUZSUVVFc1QwRkJUME1zVVVGQlZTeFRRVUZ6UWtNc1IwRkRja01zVFVGQk1rSXNhVUpCUVZwQkxFbEJRVzFFTEVsQlFYcENRU3hGUVVGUlF5SXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl0WVhOMFpYSXZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12WVhocGIzTXZiR2xpTDJobGJIQmxjbk12YVhOQmVHbHZjMFZ5Y205eUxtcHpJbjA9IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIHV0aWxzPXJlcXVpcmUoXCIuLy4uL3V0aWxzXCIpO21vZHVsZS5leHBvcnRzPXV0aWxzLmlzU3RhbmRhcmRCcm93c2VyRW52KCk/ZnVuY3Rpb24oKXt2YXIgdCxyPS8obXNpZXx0cmlkZW50KS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYVwiKTtmdW5jdGlvbiBvKHQpe3ZhciBvPXQ7cmV0dXJuIHImJihlLnNldEF0dHJpYnV0ZShcImhyZWZcIixvKSxvPWUuaHJlZiksZS5zZXRBdHRyaWJ1dGUoXCJocmVmXCIsbykse2hyZWY6ZS5ocmVmLHByb3RvY29sOmUucHJvdG9jb2w/ZS5wcm90b2NvbC5yZXBsYWNlKC86JC8sXCJcIik6XCJcIixob3N0OmUuaG9zdCxzZWFyY2g6ZS5zZWFyY2g/ZS5zZWFyY2gucmVwbGFjZSgvXlxcPy8sXCJcIik6XCJcIixoYXNoOmUuaGFzaD9lLmhhc2gucmVwbGFjZSgvXiMvLFwiXCIpOlwiXCIsaG9zdG5hbWU6ZS5ob3N0bmFtZSxwb3J0OmUucG9ydCxwYXRobmFtZTpcIi9cIj09PWUucGF0aG5hbWUuY2hhckF0KDApP2UucGF0aG5hbWU6XCIvXCIrZS5wYXRobmFtZX19cmV0dXJuIHQ9byh3aW5kb3cubG9jYXRpb24uaHJlZiksZnVuY3Rpb24ocil7dmFyIGU9dXRpbHMuaXNTdHJpbmcocik/byhyKTpyO3JldHVybiBlLnByb3RvY29sPT09dC5wcm90b2NvbCYmZS5ob3N0PT09dC5ob3N0fX0oKTpmdW5jdGlvbigpe3JldHVybiEwfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltbHpWVkpNVTJGdFpVOXlhV2RwYmk1cWN5SmRMQ0p1WVcxbGN5STZXeUoxZEdsc2N5SXNJbkpsY1hWcGNtVWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpYVhOVGRHRnVaR0Z5WkVKeWIzZHpaWEpGYm5ZaUxDSnZjbWxuYVc1VlVrd2lMQ0p0YzJsbElpd2lkR1Z6ZENJc0ltNWhkbWxuWVhSdmNpSXNJblZ6WlhKQloyVnVkQ0lzSW5WeWJGQmhjbk5wYm1kT2IyUmxJaXdpWkc5amRXMWxiblFpTENKamNtVmhkR1ZGYkdWdFpXNTBJaXdpY21WemIyeDJaVlZTVENJc0luVnliQ0lzSW1oeVpXWWlMQ0p6WlhSQmRIUnlhV0oxZEdVaUxDSndjbTkwYjJOdmJDSXNJbkpsY0d4aFkyVWlMQ0pvYjNOMElpd2ljMlZoY21Ob0lpd2lhR0Z6YUNJc0ltaHZjM1J1WVcxbElpd2ljRzl5ZENJc0luQmhkR2h1WVcxbElpd2lZMmhoY2tGMElpd2lkMmx1Wkc5M0lpd2liRzlqWVhScGIyNGlMQ0p5WlhGMVpYTjBWVkpNSWl3aWNHRnljMlZrSWl3aWFYTlRkSEpwYm1jaVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxHRkJSVUVzU1VGQlNVRXNUVUZCVVVNc1VVRkJVU3hqUVVWd1FrTXNUMEZCVDBNc1VVRkRURWdzVFVGQlRVa3NkVUpCU1Vvc1YwRkRSU3hKUVVWSlF5eEZRVVpCUXl4RlFVRlBMR3RDUVVGclFrTXNTMEZCUzBNc1ZVRkJWVU1zVjBGRGVFTkRMRVZCUVdsQ1F5eFRRVUZUUXl4alFVRmpMRXRCVXpWRExGTkJRVk5ETEVWQlFWZERMRWRCUTJ4Q0xFbEJRVWxETEVWQlFVOUVMRVZCVjFnc1QwRlVTVklzU1VGRlJra3NSVUZCWlUwc1lVRkJZU3hQUVVGUlJDeEhRVU53UTBFc1JVRkJUMHdzUlVGQlpVc3NUVUZIZUVKTUxFVkJRV1ZOTEdGQlFXRXNUMEZCVVVRc1IwRkhOMElzUTBGRFRFRXNTMEZCVFV3c1JVRkJaVXNzUzBGRGNrSkZMRk5CUVZWUUxFVkJRV1ZQTEZOQlFWZFFMRVZCUVdWUExGTkJRVk5ETEZGQlFWRXNTMEZCVFN4SlFVRk5MRWRCUTJoR1F5eExRVUZOVkN4RlFVRmxVeXhMUVVOeVFrTXNUMEZCVVZZc1JVRkJaVlVzVDBGQlUxWXNSVUZCWlZVc1QwRkJUMFlzVVVGQlVTeE5RVUZQTEVsQlFVMHNSMEZETTBWSExFdEJRVTFZTEVWQlFXVlhMRXRCUVU5WUxFVkJRV1ZYTEV0QlFVdElMRkZCUVZFc1MwRkJUU3hKUVVGTkxFZEJRM0JGU1N4VFFVRlZXaXhGUVVGbFdTeFRRVU42UWtNc1MwRkJUV0lzUlVGQlpXRXNTMEZEY2tKRExGTkJRV2xFTEUxQlFYUkRaQ3hGUVVGbFl5eFRRVUZUUXl4UFFVRlBMRWRCUTNoRFppeEZRVUZsWXl4VFFVTm1MRWxCUVUxa0xFVkJRV1ZqTEZWQldUTkNMRTlCVWtGdVFpeEZRVUZaVVN4RlFVRlhZU3hQUVVGUFF5eFRRVUZUV2l4TlFWRm9ReXhUUVVGNVFtRXNSMEZET1VJc1NVRkJTVU1zUlVGQlZUZENMRTFCUVUwNFFpeFRRVUZUUml4SFFVRmxaaXhGUVVGWFpTeEhRVUZqUVN4RlFVTnlSU3hQUVVGUlF5eEZRVUZQV2l4WFFVRmhXaXhGUVVGVldTeFZRVU5zUTFrc1JVRkJUMVlzVDBGQlUyUXNSVUZCVldNc1RVRm9SR3hETEVkQmMwUlRMRmRCUTB3c1QwRkJUeUlzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5dFlYTjBaWEl2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdllYaHBiM012YkdsaUwyaGxiSEJsY25NdmFYTlZVa3hUWVcxbFQzSnBaMmx1TG1wekluMD0iLCJcInVzZSBzdHJpY3RcIjt2YXIgdXRpbHM9cmVxdWlyZShcIi4uL3V0aWxzXCIpO21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7dXRpbHMuZm9yRWFjaChlLGZ1bmN0aW9uKHIscyl7cyE9PXQmJnMudG9VcHBlckNhc2UoKT09PXQudG9VcHBlckNhc2UoKSYmKGVbdF09cixkZWxldGUgZVtzXSl9KX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbTV2Y20xaGJHbDZaVWhsWVdSbGNrNWhiV1V1YW5NaVhTd2libUZ0WlhNaU9sc2lkWFJwYkhNaUxDSnlaWEYxYVhKbElpd2liVzlrZFd4bElpd2laWGh3YjNKMGN5SXNJbWhsWVdSbGNuTWlMQ0p1YjNKdFlXeHBlbVZrVG1GdFpTSXNJbVp2Y2tWaFkyZ2lMQ0oyWVd4MVpTSXNJbTVoYldVaUxDSjBiMVZ3Y0dWeVEyRnpaU0pkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzWVVGRlFTeEpRVUZKUVN4TlFVRlJReXhSUVVGUkxGbEJSWEJDUXl4UFFVRlBReXhSUVVGVkxGTkJRVFpDUXl4RlFVRlRReXhIUVVOeVJFd3NUVUZCVFUwc1VVRkJVVVlzUlVGQlV5eFRRVUYxUWtjc1JVRkJUME1zUjBGREwwTkJMRWxCUVZOSUxFZEJRV3RDUnl4RlFVRkxReXhuUWtGQmEwSktMRVZCUVdWSkxHZENRVU51UlV3c1JVRkJVVU1zUjBGQmEwSkZMRk5CUTI1Q1NDeEZRVUZSU1NJc0ltWnBiR1VpT2lJdmFHOXRaUzk2YVc1dkwzQnliMnBsWTNSekwzTmxZWFJ0WVhCMk1pOXRZWE4wWlhJdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZZWGhwYjNNdmJHbGlMMmhsYkhCbGNuTXZibTl5YldGc2FYcGxTR1ZoWkdWeVRtRnRaUzVxY3lKOSIsIlwidXNlIHN0cmljdFwiO3ZhciB1dGlscz1yZXF1aXJlKFwiLi8uLi91dGlsc1wiKSxpZ25vcmVEdXBsaWNhdGVPZj1bXCJhZ2VcIixcImF1dGhvcml6YXRpb25cIixcImNvbnRlbnQtbGVuZ3RoXCIsXCJjb250ZW50LXR5cGVcIixcImV0YWdcIixcImV4cGlyZXNcIixcImZyb21cIixcImhvc3RcIixcImlmLW1vZGlmaWVkLXNpbmNlXCIsXCJpZi11bm1vZGlmaWVkLXNpbmNlXCIsXCJsYXN0LW1vZGlmaWVkXCIsXCJsb2NhdGlvblwiLFwibWF4LWZvcndhcmRzXCIsXCJwcm94eS1hdXRob3JpemF0aW9uXCIsXCJyZWZlcmVyXCIsXCJyZXRyeS1hZnRlclwiLFwidXNlci1hZ2VudFwiXTttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZSxpLHIsbz17fTtyZXR1cm4gdD8odXRpbHMuZm9yRWFjaCh0LnNwbGl0KFwiXFxuXCIpLGZ1bmN0aW9uKHQpe2lmKHI9dC5pbmRleE9mKFwiOlwiKSxlPXV0aWxzLnRyaW0odC5zdWJzdHIoMCxyKSkudG9Mb3dlckNhc2UoKSxpPXV0aWxzLnRyaW0odC5zdWJzdHIocisxKSksZSl7aWYob1tlXSYmaWdub3JlRHVwbGljYXRlT2YuaW5kZXhPZihlKT49MClyZXR1cm47b1tlXT1cInNldC1jb29raWVcIj09PWU/KG9bZV0/b1tlXTpbXSkuY29uY2F0KFtpXSk6b1tlXT9vW2VdK1wiLCBcIitpOml9fSksbyk6b307XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbkJoY25ObFNHVmhaR1Z5Y3k1cWN5SmRMQ0p1WVcxbGN5STZXeUoxZEdsc2N5SXNJbkpsY1hWcGNtVWlMQ0pwWjI1dmNtVkVkWEJzYVdOaGRHVlBaaUlzSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pTENKb1pXRmtaWEp6SWl3aWEyVjVJaXdpZG1Gc0lpd2lhU0lzSW5CaGNuTmxaQ0lzSW1admNrVmhZMmdpTENKemNHeHBkQ0lzSW14cGJtVWlMQ0pwYm1SbGVFOW1JaXdpZEhKcGJTSXNJbk4xWW5OMGNpSXNJblJ2VEc5M1pYSkRZWE5sSWl3aVkyOXVZMkYwSWwwc0ltMWhjSEJwYm1keklqb2lRVUZCUVN4aFFVVkJMRWxCUVVsQkxFMUJRVkZETEZGQlFWRXNZMEZKYUVKRExHdENRVUZ2UWl4RFFVTjBRaXhOUVVGUExHZENRVUZwUWl4cFFrRkJhMElzWlVGQlowSXNUMEZETVVRc1ZVRkJWeXhQUVVGUkxFOUJRVkVzYjBKQlFYRkNMSE5DUVVOb1JDeG5Ra0ZCYVVJc1YwRkJXU3hsUVVGblFpeHpRa0ZETjBNc1ZVRkJWeXhqUVVGbExHTkJaMEkxUWtNc1QwRkJUME1zVVVGQlZTeFRRVUZ6UWtNc1IwRkRja01zU1VGRFNVTXNSVUZEUVVNc1JVRkRRVU1zUlVGSVFVTXNSVUZCVXl4SFFVdGlMRTlCUVV0S0xFZEJSVXhNTEUxQlFVMVZMRkZCUVZGTUxFVkJRVkZOTEUxQlFVMHNUVUZCVHl4VFFVRm5Ra01zUjBGTGFrUXNSMEZLUVVvc1JVRkJTVWtzUlVGQlMwTXNVVUZCVVN4TFFVTnFRbEFzUlVGQlRVNHNUVUZCVFdNc1MwRkJTMFlzUlVGQlMwY3NUMEZCVHl4RlFVRkhVQ3hKUVVGSlVTeGpRVU53UTFRc1JVRkJUVkFzVFVGQlRXTXNTMEZCUzBZc1JVRkJTMGNzVDBGQlQxQXNSVUZCU1N4SlFVVTNRa1lzUlVGQlN5eERRVU5RTEVkQlFVbEhMRVZCUVU5SUxFbEJRVkZLTEd0Q1FVRnJRbGNzVVVGQlVWQXNTVUZCVVN4RlFVTnVSQ3hQUVVkQlJ5eEZRVUZQU0N4SFFVUkhMR1ZCUVZKQkxFZEJRMkZITEVWQlFVOUlMRWRCUVU5SExFVkJRVTlJTEVkQlFVOHNTVUZCU1Zjc1QwRkJUeXhEUVVGRFZpeEpRVVY2UTBVc1JVRkJUMGdzUjBGQlQwY3NSVUZCVDBnc1IwRkJUeXhMUVVGUFF5eEZRVUZOUVN4TFFVdDBSRVVzUjBGdVFtZENRU0lzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5dFlYTjBaWEl2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdllYaHBiM012YkdsaUwyaGxiSEJsY25NdmNHRnljMlZJWldGa1pYSnpMbXB6SW4wPSIsIlwidXNlIHN0cmljdFwiO21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gbi5hcHBseShudWxsLHQpfX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbk53Y21WaFpDNXFjeUpkTENKdVlXMWxjeUk2V3lKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aVkyRnNiR0poWTJzaUxDSmhjbklpTENKaGNIQnNlU0pkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzWVVGelFrRkJMRTlCUVU5RExGRkJRVlVzVTBGQlowSkRMRWRCUXk5Q0xFOUJRVThzVTBGQlkwTXNSMEZEYmtJc1QwRkJUMFFzUlVGQlUwVXNUVUZCVFN4TFFVRk5SQ0lzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5dFlYTjBaWEl2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdllYaHBiM012YkdsaUwyaGxiSEJsY25NdmMzQnlaV0ZrTG1wekluMD0iLCJcInVzZSBzdHJpY3RcIjt2YXIgYmluZD1yZXF1aXJlKFwiLi9oZWxwZXJzL2JpbmRcIiksdG9TdHJpbmc9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZztmdW5jdGlvbiBpc0FycmF5KHIpe3JldHVyblwiW29iamVjdCBBcnJheV1cIj09PXRvU3RyaW5nLmNhbGwocil9ZnVuY3Rpb24gaXNVbmRlZmluZWQocil7cmV0dXJuIHZvaWQgMD09PXJ9ZnVuY3Rpb24gaXNCdWZmZXIocil7cmV0dXJuIG51bGwhPT1yJiYhaXNVbmRlZmluZWQocikmJm51bGwhPT1yLmNvbnN0cnVjdG9yJiYhaXNVbmRlZmluZWQoci5jb25zdHJ1Y3RvcikmJlwiZnVuY3Rpb25cIj09dHlwZW9mIHIuY29uc3RydWN0b3IuaXNCdWZmZXImJnIuY29uc3RydWN0b3IuaXNCdWZmZXIocil9ZnVuY3Rpb24gaXNBcnJheUJ1ZmZlcihyKXtyZXR1cm5cIltvYmplY3QgQXJyYXlCdWZmZXJdXCI9PT10b1N0cmluZy5jYWxsKHIpfWZ1bmN0aW9uIGlzRm9ybURhdGEocil7cmV0dXJuXCJ1bmRlZmluZWRcIiE9dHlwZW9mIEZvcm1EYXRhJiZyIGluc3RhbmNlb2YgRm9ybURhdGF9ZnVuY3Rpb24gaXNBcnJheUJ1ZmZlclZpZXcocil7cmV0dXJuXCJ1bmRlZmluZWRcIiE9dHlwZW9mIEFycmF5QnVmZmVyJiZBcnJheUJ1ZmZlci5pc1ZpZXc/QXJyYXlCdWZmZXIuaXNWaWV3KHIpOnImJnIuYnVmZmVyJiZyLmJ1ZmZlciBpbnN0YW5jZW9mIEFycmF5QnVmZmVyfWZ1bmN0aW9uIGlzU3RyaW5nKHIpe3JldHVyblwic3RyaW5nXCI9PXR5cGVvZiByfWZ1bmN0aW9uIGlzTnVtYmVyKHIpe3JldHVyblwibnVtYmVyXCI9PXR5cGVvZiByfWZ1bmN0aW9uIGlzT2JqZWN0KHIpe3JldHVybiBudWxsIT09ciYmXCJvYmplY3RcIj09dHlwZW9mIHJ9ZnVuY3Rpb24gaXNQbGFpbk9iamVjdChyKXtpZihcIltvYmplY3QgT2JqZWN0XVwiIT09dG9TdHJpbmcuY2FsbChyKSlyZXR1cm4hMTt2YXIgZT1PYmplY3QuZ2V0UHJvdG90eXBlT2Yocik7cmV0dXJuIG51bGw9PT1lfHxlPT09T2JqZWN0LnByb3RvdHlwZX1mdW5jdGlvbiBpc0RhdGUocil7cmV0dXJuXCJbb2JqZWN0IERhdGVdXCI9PT10b1N0cmluZy5jYWxsKHIpfWZ1bmN0aW9uIGlzRmlsZShyKXtyZXR1cm5cIltvYmplY3QgRmlsZV1cIj09PXRvU3RyaW5nLmNhbGwocil9ZnVuY3Rpb24gaXNCbG9iKHIpe3JldHVyblwiW29iamVjdCBCbG9iXVwiPT09dG9TdHJpbmcuY2FsbChyKX1mdW5jdGlvbiBpc0Z1bmN0aW9uKHIpe3JldHVyblwiW29iamVjdCBGdW5jdGlvbl1cIj09PXRvU3RyaW5nLmNhbGwocil9ZnVuY3Rpb24gaXNTdHJlYW0ocil7cmV0dXJuIGlzT2JqZWN0KHIpJiZpc0Z1bmN0aW9uKHIucGlwZSl9ZnVuY3Rpb24gaXNVUkxTZWFyY2hQYXJhbXMocil7cmV0dXJuXCJ1bmRlZmluZWRcIiE9dHlwZW9mIFVSTFNlYXJjaFBhcmFtcyYmciBpbnN0YW5jZW9mIFVSTFNlYXJjaFBhcmFtc31mdW5jdGlvbiB0cmltKHIpe3JldHVybiByLnJlcGxhY2UoL15cXHMqLyxcIlwiKS5yZXBsYWNlKC9cXHMqJC8sXCJcIil9ZnVuY3Rpb24gaXNTdGFuZGFyZEJyb3dzZXJFbnYoKXtyZXR1cm4oXCJ1bmRlZmluZWRcIj09dHlwZW9mIG5hdmlnYXRvcnx8XCJSZWFjdE5hdGl2ZVwiIT09bmF2aWdhdG9yLnByb2R1Y3QmJlwiTmF0aXZlU2NyaXB0XCIhPT1uYXZpZ2F0b3IucHJvZHVjdCYmXCJOU1wiIT09bmF2aWdhdG9yLnByb2R1Y3QpJiYoXCJ1bmRlZmluZWRcIiE9dHlwZW9mIHdpbmRvdyYmXCJ1bmRlZmluZWRcIiE9dHlwZW9mIGRvY3VtZW50KX1mdW5jdGlvbiBmb3JFYWNoKHIsZSl7aWYobnVsbCE9cilpZihcIm9iamVjdFwiIT10eXBlb2YgciYmKHI9W3JdKSxpc0FycmF5KHIpKWZvcih2YXIgdD0wLG49ci5sZW5ndGg7dDxuO3QrKyllLmNhbGwobnVsbCxyW3RdLHQscik7ZWxzZSBmb3IodmFyIGkgaW4gcilPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocixpKSYmZS5jYWxsKG51bGwscltpXSxpLHIpfWZ1bmN0aW9uIG1lcmdlKCl7dmFyIHI9e307ZnVuY3Rpb24gZShlLHQpe2lzUGxhaW5PYmplY3Qoclt0XSkmJmlzUGxhaW5PYmplY3QoZSk/clt0XT1tZXJnZShyW3RdLGUpOmlzUGxhaW5PYmplY3QoZSk/clt0XT1tZXJnZSh7fSxlKTppc0FycmF5KGUpP3JbdF09ZS5zbGljZSgpOnJbdF09ZX1mb3IodmFyIHQ9MCxuPWFyZ3VtZW50cy5sZW5ndGg7dDxuO3QrKylmb3JFYWNoKGFyZ3VtZW50c1t0XSxlKTtyZXR1cm4gcn1mdW5jdGlvbiBleHRlbmQocixlLHQpe3JldHVybiBmb3JFYWNoKGUsZnVuY3Rpb24oZSxuKXtyW25dPXQmJlwiZnVuY3Rpb25cIj09dHlwZW9mIGU/YmluZChlLHQpOmV9KSxyfWZ1bmN0aW9uIHN0cmlwQk9NKHIpe3JldHVybiA2NTI3OT09PXIuY2hhckNvZGVBdCgwKSYmKHI9ci5zbGljZSgxKSkscn1tb2R1bGUuZXhwb3J0cz17aXNBcnJheTppc0FycmF5LGlzQXJyYXlCdWZmZXI6aXNBcnJheUJ1ZmZlcixpc0J1ZmZlcjppc0J1ZmZlcixpc0Zvcm1EYXRhOmlzRm9ybURhdGEsaXNBcnJheUJ1ZmZlclZpZXc6aXNBcnJheUJ1ZmZlclZpZXcsaXNTdHJpbmc6aXNTdHJpbmcsaXNOdW1iZXI6aXNOdW1iZXIsaXNPYmplY3Q6aXNPYmplY3QsaXNQbGFpbk9iamVjdDppc1BsYWluT2JqZWN0LGlzVW5kZWZpbmVkOmlzVW5kZWZpbmVkLGlzRGF0ZTppc0RhdGUsaXNGaWxlOmlzRmlsZSxpc0Jsb2I6aXNCbG9iLGlzRnVuY3Rpb246aXNGdW5jdGlvbixpc1N0cmVhbTppc1N0cmVhbSxpc1VSTFNlYXJjaFBhcmFtczppc1VSTFNlYXJjaFBhcmFtcyxpc1N0YW5kYXJkQnJvd3NlckVudjppc1N0YW5kYXJkQnJvd3NlckVudixmb3JFYWNoOmZvckVhY2gsbWVyZ2U6bWVyZ2UsZXh0ZW5kOmV4dGVuZCx0cmltOnRyaW0sc3RyaXBCT006c3RyaXBCT019O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5WMGFXeHpMbXB6SWwwc0ltNWhiV1Z6SWpwYkltSnBibVFpTENKeVpYRjFhWEpsSWl3aWRHOVRkSEpwYm1jaUxDSlBZbXBsWTNRaUxDSndjbTkwYjNSNWNHVWlMQ0pwYzBGeWNtRjVJaXdpZG1Gc0lpd2lZMkZzYkNJc0ltbHpWVzVrWldacGJtVmtJaXdpYVhOQ2RXWm1aWElpTENKamIyNXpkSEoxWTNSdmNpSXNJbWx6UVhKeVlYbENkV1ptWlhJaUxDSnBjMFp2Y20xRVlYUmhJaXdpUm05eWJVUmhkR0VpTENKcGMwRnljbUY1UW5WbVptVnlWbWxsZHlJc0lrRnljbUY1UW5WbVptVnlJaXdpYVhOV2FXVjNJaXdpWW5WbVptVnlJaXdpYVhOVGRISnBibWNpTENKcGMwNTFiV0psY2lJc0ltbHpUMkpxWldOMElpd2lhWE5RYkdGcGJrOWlhbVZqZENJc0ltZGxkRkJ5YjNSdmRIbHdaVTltSWl3aWFYTkVZWFJsSWl3aWFYTkdhV3hsSWl3aWFYTkNiRzlpSWl3aWFYTkdkVzVqZEdsdmJpSXNJbWx6VTNSeVpXRnRJaXdpY0dsd1pTSXNJbWx6VlZKTVUyVmhjbU5vVUdGeVlXMXpJaXdpVlZKTVUyVmhjbU5vVUdGeVlXMXpJaXdpZEhKcGJTSXNJbk4wY2lJc0luSmxjR3hoWTJVaUxDSnBjMU4wWVc1a1lYSmtRbkp2ZDNObGNrVnVkaUlzSW01aGRtbG5ZWFJ2Y2lJc0luQnliMlIxWTNRaUxDSjNhVzVrYjNjaUxDSmtiMk4xYldWdWRDSXNJbVp2Y2tWaFkyZ2lMQ0p2WW1vaUxDSm1iaUlzSW1raUxDSnNJaXdpYkdWdVozUm9JaXdpYTJWNUlpd2lhR0Z6VDNkdVVISnZjR1Z5ZEhraUxDSnRaWEpuWlNJc0luSmxjM1ZzZENJc0ltRnpjMmxuYmxaaGJIVmxJaXdpYzJ4cFkyVWlMQ0poY21kMWJXVnVkSE1pTENKbGVIUmxibVFpTENKaElpd2lZaUlzSW5Sb2FYTkJjbWNpTENKemRISnBjRUpQVFNJc0ltTnZiblJsYm5RaUxDSmphR0Z5UTI5a1pVRjBJaXdpYlc5a2RXeGxJaXdpWlhod2IzSjBjeUpkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzWVVGRlFTeEpRVUZKUVN4TFFVRlBReXhSUVVGUkxHdENRVTFtUXl4VFFVRlhReXhQUVVGUFF5eFZRVUZWUml4VFFWRm9ReXhUUVVGVFJ5eFJRVUZSUXl4SFFVTm1MRTFCUVRoQ0xHMUNRVUYyUWtvc1UwRkJVMHNzUzBGQlMwUXNSMEZUZGtJc1UwRkJVMFVzV1VGQldVWXNSMEZEYmtJc1dVRkJjMElzU1VGQlVrRXNSVUZUYUVJc1UwRkJVMGNzVTBGQlUwZ3NSMEZEYUVJc1QwRkJaU3hQUVVGU1FTeEpRVUZwUWtVc1dVRkJXVVlzU1VGQk5FSXNUMEZCY0VKQkxFVkJRVWxKTEdOQlFYbENSaXhaUVVGWlJpeEZRVUZKU1N4alFVTm9SQ3h0UWtGQk4wSktMRVZCUVVsSkxGbEJRVmxFTEZWQlFUSkNTQ3hGUVVGSlNTeFpRVUZaUkN4VFFVRlRTQ3hIUVZOc1JpeFRRVUZUU3l4alFVRmpUQ3hIUVVOeVFpeE5RVUU0UWl4NVFrRkJka0pLTEZOQlFWTkxMRXRCUVV0RUxFZEJVM1pDTEZOQlFWTk5MRmRCUVZkT0xFZEJRMnhDTEUxQlFUUkNMRzlDUVVGaVR5eFZRVUU0UWxBc1lVRkJaVThzVTBGVE9VUXNVMEZCVTBNc2EwSkJRV3RDVWl4SFFVOTZRaXhOUVV3MFFpeHZRa0ZCYUVKVExHRkJRV2xEUVN4WlFVRnJRaXhQUVVOd1JFRXNXVUZCV1VNc1QwRkJUMVlzUjBGRmJrSXNSMEZCVlVFc1JVRkJWU3hSUVVGTlFTeEZRVUZKVnl4clFrRkJhMEpHTEZsQlZ6ZEVMRk5CUVZOSExGTkJRVk5hTEVkQlEyaENMRTFCUVhOQ0xHbENRVUZTUVN4RlFWTm9RaXhUUVVGVFlTeFRRVUZUWWl4SFFVTm9RaXhOUVVGelFpeHBRa0ZCVWtFc1JVRlRhRUlzVTBGQlUyTXNVMEZCVTJRc1IwRkRhRUlzVDBGQlpTeFBRVUZTUVN4SFFVRXJRaXhwUWtGQlVrRXNSVUZUYUVNc1UwRkJVMlVzWTBGQlkyWXNSMEZEY2tJc1IwRkJNa0lzYjBKQlFYWkNTaXhUUVVGVFN5eExRVUZMUkN4SFFVTm9RaXhQUVVGUExFVkJSMVFzU1VGQlNVWXNSVUZCV1VRc1QwRkJUMjFDTEdWQlFXVm9RaXhIUVVOMFF5eFBRVUZ4UWl4UFFVRmtSaXhIUVVGelFrRXNTVUZCWTBRc1QwRkJUME1zVlVGVGNFUXNVMEZCVTIxQ0xFOUJRVTlxUWl4SFFVTmtMRTFCUVRoQ0xHdENRVUYyUWtvc1UwRkJVMHNzUzBGQlMwUXNSMEZUZGtJc1UwRkJVMnRDTEU5QlFVOXNRaXhIUVVOa0xFMUJRVGhDTEd0Q1FVRjJRa29zVTBGQlUwc3NTMEZCUzBRc1IwRlRka0lzVTBGQlUyMUNMRTlCUVU5dVFpeEhRVU5rTEUxQlFUaENMR3RDUVVGMlFrb3NVMEZCVTBzc1MwRkJTMFFzUjBGVGRrSXNVMEZCVTI5Q0xGZEJRVmR3UWl4SFFVTnNRaXhOUVVFNFFpeHpRa0ZCZGtKS0xGTkJRVk5MTEV0QlFVdEVMRWRCVTNaQ0xGTkJRVk54UWl4VFFVRlRja0lzUjBGRGFFSXNUMEZCVDJNc1UwRkJVMlFzU1VGQlVXOUNMRmRCUVZkd1FpeEZRVUZKYzBJc1RVRlRla01zVTBGQlUwTXNhMEpCUVd0Q2RrSXNSMEZEZWtJc1RVRkJhME1zYjBKQlFYQkNkMElzYVVKQlFXMURlRUlzWVVGQlpYZENMR2RDUVZOc1JTeFRRVUZUUXl4TFFVRkxReXhIUVVOYUxFOUJRVTlCTEVWQlFVbERMRkZCUVZFc1QwRkJVU3hKUVVGSlFTeFJRVUZSTEU5QlFWRXNTVUZyUW1wRUxGTkJRVk5ETEhWQ1FVTlFMRTlCUVhsQ0xHOUNRVUZrUXl4WFFVRnZSQ3huUWtGQmRFSkJMRlZCUVZWRExGTkJRMWtzYVVKQlFYUkNSQ3hWUVVGVlF5eFRRVU5aTEU5QlFYUkNSQ3hWUVVGVlF5eFhRVWt2UWl4dlFrRkJXRU1zVVVGRFlTeHZRa0ZCWWtNc1ZVRm5RbGdzVTBGQlUwTXNVVUZCVVVNc1JVRkJTME1zUjBGRmNFSXNSMEZCU1VRc1RVRkJRVUVzUlVGVlNpeEhRVXh0UWl4cFFrRkJVa0VzU1VGRlZFRXNSVUZCVFN4RFFVRkRRU3hKUVVkTWJrTXNVVUZCVVcxRExFZEJSVllzU1VGQlN5eEpRVUZKUlN4RlFVRkpMRVZCUVVkRExFVkJRVWxJTEVWQlFVbEpMRTlCUVZGR0xFVkJRVWxETEVWQlFVZEVMRWxCUTNKRFJDeEZRVUZIYkVNc1MwRkJTeXhMUVVGTmFVTXNSVUZCU1VVc1IwRkJTVUVzUlVGQlIwWXNVVUZKTTBJc1NVRkJTeXhKUVVGSlN5eExRVUZQVEN4RlFVTldja01zVDBGQlQwTXNWVUZCVlRCRExHVkJRV1YyUXl4TFFVRkxhVU1zUlVGQlMwc3NTVUZETlVOS0xFVkJRVWRzUXl4TFFVRkxMRXRCUVUxcFF5eEZRVUZKU3l4SFFVRk5RU3hGUVVGTFRDeEhRWFZDY2tNc1UwRkJVMDhzVVVGRFVDeEpRVUZKUXl4RlFVRlRMRWRCUTJJc1UwRkJVME1zUlVGQldUTkRMRVZCUVV0MVF5eEhRVU53UW5oQ0xHTkJRV015UWl4RlFVRlBTQ3hMUVVGVGVFSXNZMEZCWTJZc1IwRkRPVU13UXl4RlFVRlBTQ3hIUVVGUFJTeE5RVUZOUXl4RlFVRlBTQ3hIUVVGTmRrTXNSMEZEZUVKbExHTkJRV05tTEVkQlEzWkNNRU1zUlVGQlQwZ3NSMEZCVDBVc1RVRkJUU3hIUVVGSmVrTXNSMEZEWmtRc1VVRkJVVU1zUjBGRGFrSXdReXhGUVVGUFNDeEhRVUZQZGtNc1JVRkJTVFJETEZGQlJXeENSaXhGUVVGUFNDeEhRVUZQZGtNc1JVRkpiRUlzU1VGQlN5eEpRVUZKYjBNc1JVRkJTU3hGUVVGSFF5eEZRVUZKVVN4VlFVRlZVQ3hQUVVGUlJpeEZRVUZKUXl4RlFVRkhSQ3hKUVVNelEwZ3NVVUZCVVZrc1ZVRkJWVlFzUjBGQlNVOHNSMEZGZUVJc1QwRkJUMFFzUlVGWFZDeFRRVUZUU1N4UFFVRlBReXhGUVVGSFF5eEZRVUZIUXl4SFFWRndRaXhQUVZCQmFFSXNVVUZCVVdVc1JVRkJSeXhUUVVGeFFtaEVMRVZCUVV0MVF5eEhRVVZxUTFFc1JVRkJSVklzUjBGRVFWVXNSMEZCTUVJc2JVSkJRVkpxUkN4RlFVTllUaXhMUVVGTFRTeEZRVUZMYVVRc1IwRkZWbXBFTEVsQlIwNHJReXhGUVZOVUxGTkJRVk5ITEZOQlFWTkRMRWRCU1doQ0xFOUJTRGhDTEZGQlFURkNRU3hGUVVGUlF5eFhRVUZYTEV0QlEzSkNSQ3hGUVVGVlFTeEZRVUZSVUN4TlFVRk5MRWxCUlc1Q1R5eEZRVWRVUlN4UFFVRlBReXhSUVVGVkxFTkJRMloyUkN4UlFVRlRRU3hSUVVOVVRTeGpRVUZsUVN4alFVTm1SaXhUUVVGVlFTeFRRVU5XUnl4WFFVRlpRU3hYUVVOYVJTeHJRa0ZCYlVKQkxHdENRVU51UWtrc1UwRkJWVUVzVTBGRFZrTXNVMEZCVlVFc1UwRkRWa01zVTBGQlZVRXNVMEZEVmtNc1kwRkJaVUVzWTBGRFptSXNXVUZCWVVFc1dVRkRZbVVzVDBGQlVVRXNUMEZEVWtNc1QwRkJVVUVzVDBGRFVrTXNUMEZCVVVFc1QwRkRVa01zVjBGQldVRXNWMEZEV2tNc1UwRkJWVUVzVTBGRFZrVXNhMEpCUVcxQ1FTeHJRa0ZEYmtKTExIRkNRVUZ6UWtFc2NVSkJRM1JDU3l4UlFVRlRRU3hSUVVOVVVTeE5RVUZQUVN4TlFVTlFTeXhQUVVGUlFTeFBRVU5TY2tJc1MwRkJUVUVzUzBGRFRubENMRk5CUVZWQklpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMMjFoYzNSbGNpOXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTloZUdsdmN5OXNhV0l2ZFhScGJITXVhbk1pZlE9PSIsIlwidXNlIHN0cmljdFwiO2V4cG9ydHMuYnl0ZUxlbmd0aD1ieXRlTGVuZ3RoLGV4cG9ydHMudG9CeXRlQXJyYXk9dG9CeXRlQXJyYXksZXhwb3J0cy5mcm9tQnl0ZUFycmF5PWZyb21CeXRlQXJyYXk7Zm9yKHZhciBsb29rdXA9W10scmV2TG9va3VwPVtdLEFycj1cInVuZGVmaW5lZFwiIT10eXBlb2YgVWludDhBcnJheT9VaW50OEFycmF5OkFycmF5LGNvZGU9XCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvXCIsaT0wLGxlbj1jb2RlLmxlbmd0aDtpPGxlbjsrK2kpbG9va3VwW2ldPWNvZGVbaV0scmV2TG9va3VwW2NvZGUuY2hhckNvZGVBdChpKV09aTtmdW5jdGlvbiBnZXRMZW5zKG8pe3ZhciByPW8ubGVuZ3RoO2lmKHIlND4wKXRocm93IG5ldyBFcnJvcihcIkludmFsaWQgc3RyaW5nLiBMZW5ndGggbXVzdCBiZSBhIG11bHRpcGxlIG9mIDRcIik7dmFyIGU9by5pbmRleE9mKFwiPVwiKTtyZXR1cm4tMT09PWUmJihlPXIpLFtlLGU9PT1yPzA6NC1lJTRdfWZ1bmN0aW9uIGJ5dGVMZW5ndGgobyl7dmFyIHI9Z2V0TGVucyhvKSxlPXJbMF0sdD1yWzFdO3JldHVybiAzKihlK3QpLzQtdH1mdW5jdGlvbiBfYnl0ZUxlbmd0aChvLHIsZSl7cmV0dXJuIDMqKHIrZSkvNC1lfWZ1bmN0aW9uIHRvQnl0ZUFycmF5KG8pe3ZhciByLGUsdD1nZXRMZW5zKG8pLG49dFswXSx1PXRbMV0scD1uZXcgQXJyKF9ieXRlTGVuZ3RoKG8sbix1KSksYT0wLGg9dT4wP24tNDpuO2ZvcihlPTA7ZTxoO2UrPTQpcj1yZXZMb29rdXBbby5jaGFyQ29kZUF0KGUpXTw8MTh8cmV2TG9va3VwW28uY2hhckNvZGVBdChlKzEpXTw8MTJ8cmV2TG9va3VwW28uY2hhckNvZGVBdChlKzIpXTw8NnxyZXZMb29rdXBbby5jaGFyQ29kZUF0KGUrMyldLHBbYSsrXT1yPj4xNiYyNTUscFthKytdPXI+PjgmMjU1LHBbYSsrXT0yNTUmcjtyZXR1cm4gMj09PXUmJihyPXJldkxvb2t1cFtvLmNoYXJDb2RlQXQoZSldPDwyfHJldkxvb2t1cFtvLmNoYXJDb2RlQXQoZSsxKV0+PjQscFthKytdPTI1NSZyKSwxPT09dSYmKHI9cmV2TG9va3VwW28uY2hhckNvZGVBdChlKV08PDEwfHJldkxvb2t1cFtvLmNoYXJDb2RlQXQoZSsxKV08PDR8cmV2TG9va3VwW28uY2hhckNvZGVBdChlKzIpXT4+MixwW2ErK109cj4+OCYyNTUscFthKytdPTI1NSZyKSxwfWZ1bmN0aW9uIHRyaXBsZXRUb0Jhc2U2NChvKXtyZXR1cm4gbG9va3VwW28+PjE4JjYzXStsb29rdXBbbz4+MTImNjNdK2xvb2t1cFtvPj42JjYzXStsb29rdXBbNjMmb119ZnVuY3Rpb24gZW5jb2RlQ2h1bmsobyxyLGUpe2Zvcih2YXIgdCxuPVtdLHU9cjt1PGU7dSs9Myl0PShvW3VdPDwxNiYxNjcxMTY4MCkrKG9bdSsxXTw8OCY2NTI4MCkrKDI1NSZvW3UrMl0pLG4ucHVzaCh0cmlwbGV0VG9CYXNlNjQodCkpO3JldHVybiBuLmpvaW4oXCJcIil9ZnVuY3Rpb24gZnJvbUJ5dGVBcnJheShvKXtmb3IodmFyIHIsZT1vLmxlbmd0aCx0PWUlMyxuPVtdLHU9MCxwPWUtdDt1PHA7dSs9MTYzODMpbi5wdXNoKGVuY29kZUNodW5rKG8sdSx1KzE2MzgzPnA/cDp1KzE2MzgzKSk7cmV0dXJuIDE9PT10PyhyPW9bZS0xXSxuLnB1c2gobG9va3VwW3I+PjJdK2xvb2t1cFtyPDw0JjYzXStcIj09XCIpKToyPT09dCYmKHI9KG9bZS0yXTw8OCkrb1tlLTFdLG4ucHVzaChsb29rdXBbcj4+MTBdK2xvb2t1cFtyPj40JjYzXStsb29rdXBbcjw8MiY2M10rXCI9XCIpKSxuLmpvaW4oXCJcIil9cmV2TG9va3VwW1wiLVwiLmNoYXJDb2RlQXQoMCldPTYyLHJldkxvb2t1cFtcIl9cIi5jaGFyQ29kZUF0KDApXT02MztcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltbHVaR1Y0TG1weklsMHNJbTVoYldWeklqcGJJbVY0Y0c5eWRITWlMQ0ppZVhSbFRHVnVaM1JvSWl3aWRHOUNlWFJsUVhKeVlYa2lMQ0ptY205dFFubDBaVUZ5Y21GNUlpd2liRzl2YTNWd0lpd2ljbVYyVEc5dmEzVndJaXdpUVhKeUlpd2lWV2x1ZERoQmNuSmhlU0lzSWtGeWNtRjVJaXdpWTI5a1pTSXNJbWtpTENKc1pXNGlMQ0pzWlc1bmRHZ2lMQ0pqYUdGeVEyOWtaVUYwSWl3aVoyVjBUR1Z1Y3lJc0ltSTJOQ0lzSWtWeWNtOXlJaXdpZG1Gc2FXUk1aVzRpTENKcGJtUmxlRTltSWl3aWJHVnVjeUlzSW5Cc1lXTmxTRzlzWkdWeWMweGxiaUlzSWw5aWVYUmxUR1Z1WjNSb0lpd2lkRzF3SWl3aVlYSnlJaXdpWTNWeVFubDBaU0lzSW5SeWFYQnNaWFJVYjBKaGMyVTJOQ0lzSW01MWJTSXNJbVZ1WTI5a1pVTm9kVzVySWl3aWRXbHVkRGdpTENKemRHRnlkQ0lzSW1WdVpDSXNJbTkxZEhCMWRDSXNJbkIxYzJnaUxDSnFiMmx1SWl3aVpYaDBjbUZDZVhSbGN5SXNJbkJoY25Seklpd2liR1Z1TWlKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc1lVRkZRVUVzVVVGQlVVTXNWMEZCWVVFc1YwRkRja0pFTEZGQlFWRkZMRmxCUVdOQkxGbEJRM1JDUml4UlFVRlJSeXhqUVVGblFrRXNZMEZQZUVJc1NVRk1RU3hKUVVGSlF5eFBRVUZUTEVkQlExUkRMRlZCUVZrc1IwRkRXa01zU1VGQk5FSXNiMEpCUVdaRExGZEJRVFpDUVN4WFFVRmhReXhOUVVWMlJFTXNTMEZCVHl4dFJVRkRSa01zUlVGQlNTeEZRVUZIUXl4SlFVRk5SaXhMUVVGTFJ5eFBRVUZSUml4RlFVRkpReXhOUVVGUFJDeEZRVU0xUTA0c1QwRkJUMDBzUjBGQlMwUXNTMEZCUzBNc1IwRkRha0pNTEZWQlFWVkpMRXRCUVV0SkxGZEJRVmRJTEVsQlFVMUJMRVZCVVd4RExGTkJRVk5KTEZGQlFWTkRMRWRCUTJoQ0xFbEJRVWxLTEVWQlFVMUpMRVZCUVVsSUxFOUJSV1FzUjBGQlNVUXNSVUZCVFN4RlFVRkpMRVZCUTFvc1RVRkJUU3hKUVVGSlN5eE5RVUZOTEd0RVFVdHNRaXhKUVVGSlF5eEZRVUZYUml4RlFVRkpSeXhSUVVGUkxFdEJUek5DTEU5QlRtdENMRWxCUVdSRUxFbEJRV2xDUVN4RlFVRlhUaXhIUVUxNlFpeERRVUZEVFN4RlFVcGpRU3hKUVVGaFRpeEZRVU12UWl4RlFVTkJMRVZCUVV0TkxFVkJRVmNzUjBGTmRFSXNVMEZCVTJoQ0xGZEJRVmxqTEVkQlEyNUNMRWxCUVVsSkxFVkJRVTlNTEZGQlFWRkRMRWRCUTJaRkxFVkJRVmRGTEVWQlFVc3NSMEZEYUVKRExFVkJRV3RDUkN4RlFVRkxMRWRCUXpOQ0xFOUJRWFZETEVkQlFUbENSaXhGUVVGWFJ5eEhRVUYxUWl4RlFVRkxRU3hGUVVkc1JDeFRRVUZUUXl4WlFVRmhUaXhGUVVGTFJTeEZRVUZWUnl4SFFVTnVReXhQUVVGMVF5eEhRVUU1UWtnc1JVRkJWMGNzUjBGQmRVSXNSVUZCUzBFc1JVRkhiRVFzVTBGQlUyeENMRmxCUVdGaExFZEJRM0JDTEVsQlFVbFBMRVZCWTBGYUxFVkJZa0ZUTEVWQlFVOU1MRkZCUVZGRExFZEJRMlpGTEVWQlFWZEZMRVZCUVVzc1IwRkRhRUpETEVWQlFXdENSQ3hGUVVGTExFZEJSWFpDU1N4RlFVRk5MRWxCUVVscVFpeEpRVUZKWlN4WlFVRlpUaXhGUVVGTFJTeEZRVUZWUnl4SlFVVjZRMGtzUlVGQlZTeEZRVWRXWWl4RlFVRk5VeXhGUVVGclFpeEZRVU40UWtnc1JVRkJWeXhGUVVOWVFTeEZRVWRLTEVsQlFVdFFMRVZCUVVrc1JVRkJSMEVzUlVGQlNVTXNSVUZCUzBRc1IwRkJTeXhGUVVONFFsa3NSVUZEUjJwQ0xGVkJRVlZWTEVWQlFVbEdMRmRCUVZkSUxFdEJRVThzUjBGRGFFTk1MRlZCUVZWVkxFVkJRVWxHTEZkQlFWZElMRVZCUVVrc1MwRkJUeXhIUVVOd1Ewd3NWVUZCVlZVc1JVRkJTVVlzVjBGQlYwZ3NSVUZCU1N4TFFVRlBMRVZCUTNKRFRDeFZRVUZWVlN4RlFVRkpSaXhYUVVGWFNDeEZRVUZKTEVsQlF5OUNZU3hGUVVGSlF5eExRVUZqUml4SFFVRlBMRWRCUVUwc1NVRkRMMEpETEVWQlFVbERMRXRCUVdOR0xFZEJRVThzUlVGQlN5eEpRVU01UWtNc1JVRkJTVU1zUzBGQmJVSXNTVUZCVGtZc1JVRnRRbTVDTEU5QmFFSjNRaXhKUVVGd1FrWXNTVUZEUmtVc1JVRkRSMnBDTEZWQlFWVlZMRVZCUVVsR0xGZEJRVmRJTEV0QlFVOHNSVUZEYUVOTUxGVkJRVlZWTEVWQlFVbEdMRmRCUVZkSUxFVkJRVWtzUzBGQlR5eEZRVU4yUTJFc1JVRkJTVU1zUzBGQmJVSXNTVUZCVGtZc1IwRkhTeXhKUVVGd1FrWXNTVUZEUmtVc1JVRkRSMnBDTEZWQlFWVlZMRVZCUVVsR0xGZEJRVmRJTEV0QlFVOHNSMEZEYUVOTUxGVkJRVlZWTEVWQlFVbEdMRmRCUVZkSUxFVkJRVWtzUzBGQlR5eEZRVU53UTB3c1ZVRkJWVlVzUlVGQlNVWXNWMEZCVjBnc1JVRkJTU3hMUVVGUExFVkJRM1pEWVN4RlFVRkpReXhMUVVGalJpeEhRVUZQTEVWQlFVc3NTVUZET1VKRExFVkJRVWxETEV0QlFXMUNMRWxCUVU1R0xFZEJSMXBETEVWQlIxUXNVMEZCVTBVc1owSkJRV2xDUXl4SFFVTjRRaXhQUVVGUGRFSXNUMEZCVDNOQ0xFZEJRVThzUjBGQlN5eEpRVU40UW5SQ0xFOUJRVTl6UWl4SFFVRlBMRWRCUVVzc1NVRkRia0owUWl4UFFVRlBjMElzUjBGQlR5eEZRVUZKTEVsQlEyeENkRUlzVDBGQllTeEhRVUZPYzBJc1IwRkhXQ3hUUVVGVFF5eFpRVUZoUXl4RlFVRlBReXhGUVVGUFF5eEhRVWRzUXl4SlFVWkJMRWxCUVVsU0xFVkJRMEZUTEVWQlFWTXNSMEZEU25KQ0xFVkJRVWx0UWl4RlFVRlBia0lzUlVGQlNXOUNMRVZCUVV0d1FpeEhRVUZMTEVWQlEyaERXU3hIUVVOSlRTeEZRVUZOYkVJc1NVRkJUU3hIUVVGTkxGZEJRMnhDYTBJc1JVRkJUV3hDTEVWQlFVa3NTVUZCVFN4RlFVRkxMRkZCUTFBc1NVRkJabXRDTEVWQlFVMXNRaXhGUVVGSkxFbEJRMkp4UWl4RlFVRlBReXhMUVVGTFVDeG5Ra0ZCWjBKSUxFbEJSVGxDTEU5QlFVOVRMRVZCUVU5RkxFdEJRVXNzU1VGSGNrSXNVMEZCVXpsQ0xHTkJRV1Y1UWl4SFFWRjBRaXhKUVZCQkxFbEJRVWxPTEVWQlEwRllMRVZCUVUxcFFpeEZRVUZOYUVJc1QwRkRXbk5DTEVWQlFXRjJRaXhGUVVGTkxFVkJRMjVDZDBJc1JVRkJVU3hIUVVsSWVrSXNSVUZCU1N4RlFVRkhNRUlzUlVGQlQzcENMRVZCUVUxMVFpeEZRVUZaZUVJc1JVRkJTVEJDTEVWQlFVMHhRaXhIUVVnNVFpeE5RVWx1UW5sQ0xFVkJRVTFJTEV0QlFVdE1MRmxCUVZsRExFVkJRVTlzUWl4RlFVRkpRU3hGUVVwbUxFMUJTWEZETUVJc1JVRkJUMEVzUlVGQlVURkNMRVZCU25CRUxGRkJlVUp5UWl4UFFXcENiVUlzU1VGQlpuZENMRWRCUTBaYUxFVkJRVTFOTEVWQlFVMXFRaXhGUVVGTkxFZEJRMnhDZDBJc1JVRkJUVWdzUzBGRFNqVkNMRTlCUVU5clFpeEhRVUZQTEVkQlEyUnNRaXhQUVVGUmEwSXNSMEZCVHl4RlFVRkxMRWxCUTNCQ0xFOUJSWE5DTEVsQlFXWlpMRWxCUTFSYUxFZEJRVTlOTEVWQlFVMXFRaXhGUVVGTkxFbEJRVTBzUjBGQlMybENMRVZCUVUxcVFpeEZRVUZOTEVkQlF6RkRkMElzUlVGQlRVZ3NTMEZEU2pWQ0xFOUJRVTlyUWl4SFFVRlBMRWxCUTJSc1FpeFBRVUZSYTBJc1IwRkJUeXhGUVVGTExFbEJRM0JDYkVJc1QwRkJVV3RDTEVkQlFVOHNSVUZCU3l4SlFVTndRaXhOUVVsSFlTeEZRVUZOUml4TFFVRkxMRWxCYkVsd1FqVkNMRlZCUVZVc1NVRkJTVkVzVjBGQlZ5eEpRVUZOTEVkQlF5OUNVaXhWUVVGVkxFbEJRVWxSTEZkQlFWY3NTVUZCVFNJc0ltWnBiR1VpT2lJdmFHOXRaUzk2YVc1dkwzQnliMnBsWTNSekwzTmxZWFJ0WVhCMk1pOXRZWE4wWlhJdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZZbUZ6WlRZMExXcHpMMmx1WkdWNExtcHpJbjA9IiwiXG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbVZ0Y0hSNUxtcHpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YldGemRHVnlMM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDJKeWIzZHpaWEl0Y21WemIyeDJaUzlsYlhCMGVTNXFjeUo5IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIGJhc2U2ND1yZXF1aXJlKFwiYmFzZTY0LWpzXCIpLGllZWU3NTQ9cmVxdWlyZShcImllZWU3NTRcIik7ZXhwb3J0cy5CdWZmZXI9QnVmZmVyLGV4cG9ydHMuU2xvd0J1ZmZlcj1TbG93QnVmZmVyLGV4cG9ydHMuSU5TUEVDVF9NQVhfQllURVM9NTA7dmFyIEtfTUFYX0xFTkdUSD0yMTQ3NDgzNjQ3O2Z1bmN0aW9uIHR5cGVkQXJyYXlTdXBwb3J0KCl7dHJ5e3ZhciBlPW5ldyBVaW50OEFycmF5KDEpO3JldHVybiBlLl9fcHJvdG9fXz17X19wcm90b19fOlVpbnQ4QXJyYXkucHJvdG90eXBlLGZvbzpmdW5jdGlvbigpe3JldHVybiA0Mn19LDQyPT09ZS5mb28oKX1jYXRjaChlKXtyZXR1cm4hMX19ZnVuY3Rpb24gY3JlYXRlQnVmZmVyKGUpe2lmKGU+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+PXQubGVuZ3RofHxmPj1lLmxlbmd0aCk7KytmKXRbZityXT1lW2ZdO3JldHVybiBmfWZ1bmN0aW9uIGlzSW5zdGFuY2UoZSx0KXtyZXR1cm4gZSBpbnN0YW5jZW9mIHR8fG51bGwhPWUmJm51bGwhPWUuY29uc3RydWN0b3ImJm51bGwhPWUuY29uc3RydWN0b3IubmFtZSYmZS5jb25zdHJ1Y3Rvci5uYW1lPT09dC5uYW1lfWZ1bmN0aW9uIG51bWJlcklzTmFOKGUpe3JldHVybiBlIT1lfVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1sdVpHVjRMbXB6SWwwc0ltNWhiV1Z6SWpwYkltSmhjMlUyTkNJc0luSmxjWFZwY21VaUxDSnBaV1ZsTnpVMElpd2laWGh3YjNKMGN5SXNJa0oxWm1abGNpSXNJbE5zYjNkQ2RXWm1aWElpTENKSlRsTlFSVU5VWDAxQldGOUNXVlJGVXlJc0lrdGZUVUZZWDB4RlRrZFVTQ0lzSW5SNWNHVmtRWEp5WVhsVGRYQndiM0owSWl3aVlYSnlJaXdpVldsdWREaEJjbkpoZVNJc0lsOWZjSEp2ZEc5Zlh5SXNJbkJ5YjNSdmRIbHdaU0lzSW1admJ5SXNJbVVpTENKamNtVmhkR1ZDZFdabVpYSWlMQ0pzWlc1bmRHZ2lMQ0pTWVc1blpVVnljbTl5SWl3aVluVm1JaXdpWVhKbklpd2laVzVqYjJScGJtZFBjazltWm5ObGRDSXNJbFI1Y0dWRmNuSnZjaUlzSW1Gc2JHOWpWVzV6WVdabElpd2labkp2YlNJc0luWmhiSFZsSWl3aVpuSnZiVk4wY21sdVp5SXNJa0Z5Y21GNVFuVm1abVZ5SWl3aWFYTldhV1YzSWl3aVpuSnZiVUZ5Y21GNVRHbHJaU0lzSW1selNXNXpkR0Z1WTJVaUxDSmlkV1ptWlhJaUxDSm1jbTl0UVhKeVlYbENkV1ptWlhJaUxDSjJZV3gxWlU5bUlpd2lZaUlzSW1aeWIyMVBZbXBsWTNRaUxDSlRlVzFpYjJ3aUxDSjBiMUJ5YVcxcGRHbDJaU0lzSW1GemMyVnlkRk5wZW1VaUxDSnphWHBsSWl3aVlXeHNiMk1pTENKbWFXeHNJaXdpWlc1amIyUnBibWNpTENKMWJtUmxabWx1WldRaUxDSmphR1ZqYTJWa0lpd2ljM1J5YVc1bklpd2lhWE5GYm1OdlpHbHVaeUlzSW1KNWRHVk1aVzVuZEdnaUxDSmhZM1IxWVd3aUxDSjNjbWwwWlNJc0luTnNhV05sSWl3aVlYSnlZWGtpTENKcElpd2lZbmwwWlU5bVpuTmxkQ0lzSW05aWFpSXNJbWx6UW5WbVptVnlJaXdpYkdWdUlpd2lZMjl3ZVNJc0ltNTFiV0psY2tselRtRk9JaXdpZEhsd1pTSXNJa0Z5Y21GNUlpd2lhWE5CY25KaGVTSXNJbVJoZEdFaUxDSjBiMU4wY21sdVp5SXNJbTExYzNSTllYUmphQ0lzSW1GeVozVnRaVzUwY3lJc0lteHZkMlZ5WldSRFlYTmxJaXdpZFhSbU9GUnZRbmwwWlhNaUxDSmlZWE5sTmpSVWIwSjVkR1Z6SWl3aWRHOU1iM2RsY2tOaGMyVWlMQ0p6Ykc5M1ZHOVRkSEpwYm1jaUxDSnpkR0Z5ZENJc0ltVnVaQ0lzSW5Sb2FYTWlMQ0pvWlhoVGJHbGpaU0lzSW5WMFpqaFRiR2xqWlNJc0ltRnpZMmxwVTJ4cFkyVWlMQ0pzWVhScGJqRlRiR2xqWlNJc0ltSmhjMlUyTkZOc2FXTmxJaXdpZFhSbU1UWnNaVk5zYVdObElpd2ljM2RoY0NJc0ltNGlMQ0p0SWl3aVltbGthWEpsWTNScGIyNWhiRWx1WkdWNFQyWWlMQ0oyWVd3aUxDSmthWElpTENKaGNuSmhlVWx1WkdWNFQyWWlMQ0pwYm1SbGVFOW1JaXdpWTJGc2JDSXNJbXhoYzNSSmJtUmxlRTltSWl3aWFXNWtaWGhUYVhwbElpd2lZWEp5VEdWdVozUm9JaXdpZG1Gc1RHVnVaM1JvSWl3aVUzUnlhVzVuSWl3aWNtVmhaQ0lzSW5KbFlXUlZTVzUwTVRaQ1JTSXNJbVp2ZFc1a1NXNWtaWGdpTENKbWIzVnVaQ0lzSW1vaUxDSm9aWGhYY21sMFpTSXNJbTltWm5ObGRDSXNJazUxYldKbGNpSXNJbkpsYldGcGJtbHVaeUlzSW5OMGNreGxiaUlzSW5CaGNuTmxaQ0lzSW5CaGNuTmxTVzUwSWl3aWMzVmljM1J5SWl3aWRYUm1PRmR5YVhSbElpd2lZbXhwZEVKMVptWmxjaUlzSW1GelkybHBWM0pwZEdVaUxDSmhjMk5wYVZSdlFubDBaWE1pTENKc1lYUnBiakZYY21sMFpTSXNJbUpoYzJVMk5GZHlhWFJsSWl3aWRXTnpNbGR5YVhSbElpd2lkWFJtTVRac1pWUnZRbmwwWlhNaUxDSm1jbTl0UW5sMFpVRnljbUY1SWl3aVRXRjBhQ0lzSW0xcGJpSXNJbkpsY3lJc0luTmxZMjl1WkVKNWRHVWlMQ0owYUdseVpFSjVkR1VpTENKbWIzVnlkR2hDZVhSbElpd2lkR1Z0Y0VOdlpHVlFiMmx1ZENJc0ltWnBjbk4wUW5sMFpTSXNJbU52WkdWUWIybHVkQ0lzSW1KNWRHVnpVR1Z5VTJWeGRXVnVZMlVpTENKd2RYTm9JaXdpWkdWamIyUmxRMjlrWlZCdmFXNTBjMEZ5Y21GNUlpd2lhMDFoZUV4bGJtZDBhQ0lzSWxSWlVFVkVYMEZTVWtGWlgxTlZVRkJQVWxRaUxDSmpiMjV6YjJ4bElpd2laWEp5YjNJaUxDSlBZbXBsWTNRaUxDSmtaV1pwYm1WUWNtOXdaWEowZVNJc0ltVnVkVzFsY21GaWJHVWlMQ0puWlhRaUxDSnpjR1ZqYVdWeklpd2lZMjl1Wm1sbmRYSmhZbXhsSWl3aWQzSnBkR0ZpYkdVaUxDSndiMjlzVTJsNlpTSXNJbUZzYkc5alZXNXpZV1psVTJ4dmR5SXNJbDlwYzBKMVptWmxjaUlzSW1OdmJYQmhjbVVpTENKaElpd2llQ0lzSW5raUxDSmpiMjVqWVhRaUxDSnNhWE4wSWl3aWNHOXpJaXdpYzNkaGNERTJJaXdpYzNkaGNETXlJaXdpYzNkaGNEWTBJaXdpWVhCd2JIa2lMQ0owYjB4dlkyRnNaVk4wY21sdVp5SXNJbVZ4ZFdGc2N5SXNJbWx1YzNCbFkzUWlMQ0p6ZEhJaUxDSnRZWGdpTENKeVpYQnNZV05sSWl3aWRISnBiU0lzSW5SaGNtZGxkQ0lzSW5Sb2FYTlRkR0Z5ZENJc0luUm9hWE5GYm1RaUxDSjBhR2x6UTI5d2VTSXNJblJoY21kbGRFTnZjSGtpTENKcGJtTnNkV1JsY3lJc0ltbHpSbWx1YVhSbElpd2lSWEp5YjNJaUxDSjBiMHBUVDA0aUxDSmZZWEp5SWl3aVRVRllYMEZTUjFWTlJVNVVVMTlNUlU1SFZFZ2lMQ0pqYjJSbFVHOXBiblJ6SWl3aVpuSnZiVU5vWVhKRGIyUmxJaXdpY21WMElpd2liM1YwSWl3aWRHOUlaWGdpTENKaWVYUmxjeUlzSW1Ob1pXTnJUMlptYzJWMElpd2laWGgwSWl3aVkyaGxZMnRKYm5RaUxDSmphR1ZqYTBsRlJVVTNOVFFpTENKM2NtbDBaVVpzYjJGMElpd2liR2wwZEd4bFJXNWthV0Z1SWl3aWJtOUJjM05sY25RaUxDSjNjbWwwWlVSdmRXSnNaU0lzSW01bGQwSjFaaUlzSW5OMVltRnljbUY1SWl3aWNtVmhaRlZKYm5STVJTSXNJbTExYkNJc0luSmxZV1JWU1c1MFFrVWlMQ0p5WldGa1ZVbHVkRGdpTENKeVpXRmtWVWx1ZERFMlRFVWlMQ0p5WldGa1ZVbHVkRE15VEVVaUxDSnlaV0ZrVlVsdWRETXlRa1VpTENKeVpXRmtTVzUwVEVVaUxDSndiM2NpTENKeVpXRmtTVzUwUWtVaUxDSnlaV0ZrU1c1ME9DSXNJbkpsWVdSSmJuUXhOa3hGSWl3aWNtVmhaRWx1ZERFMlFrVWlMQ0p5WldGa1NXNTBNekpNUlNJc0luSmxZV1JKYm5Rek1rSkZJaXdpY21WaFpFWnNiMkYwVEVVaUxDSnlaV0ZrUm14dllYUkNSU0lzSW5KbFlXUkViM1ZpYkdWTVJTSXNJbkpsWVdSRWIzVmliR1ZDUlNJc0luZHlhWFJsVlVsdWRFeEZJaXdpZDNKcGRHVlZTVzUwUWtVaUxDSjNjbWwwWlZWSmJuUTRJaXdpZDNKcGRHVlZTVzUwTVRaTVJTSXNJbmR5YVhSbFZVbHVkREUyUWtVaUxDSjNjbWwwWlZWSmJuUXpNa3hGSWl3aWQzSnBkR1ZWU1c1ME16SkNSU0lzSW5keWFYUmxTVzUwVEVVaUxDSnNhVzFwZENJc0luTjFZaUlzSW5keWFYUmxTVzUwUWtVaUxDSjNjbWwwWlVsdWREZ2lMQ0ozY21sMFpVbHVkREUyVEVVaUxDSjNjbWwwWlVsdWRERTJRa1VpTENKM2NtbDBaVWx1ZERNeVRFVWlMQ0ozY21sMFpVbHVkRE15UWtVaUxDSjNjbWwwWlVac2IyRjBURVVpTENKM2NtbDBaVVpzYjJGMFFrVWlMQ0ozY21sMFpVUnZkV0pzWlV4Rklpd2lkM0pwZEdWRWIzVmliR1ZDUlNJc0luUmhjbWRsZEZOMFlYSjBJaXdpWTI5d2VWZHBkR2hwYmlJc0luTmxkQ0lzSW1OdlpHVWlMQ0pqYUdGeVEyOWtaVUYwSWl3aVNVNVdRVXhKUkY5Q1FWTkZOalJmVWtVaUxDSmlZWE5sTmpSamJHVmhiaUlzSW5Od2JHbDBJaXdpZFc1cGRITWlMQ0pKYm1acGJtbDBlU0lzSW14bFlXUlRkWEp5YjJkaGRHVWlMQ0ppZVhSbFFYSnlZWGtpTENKaklpd2lhR2tpTENKc2J5SXNJblJ2UW5sMFpVRnljbUY1SWl3aWMzSmpJaXdpWkhOMElpd2lZMjl1YzNSeWRXTjBiM0lpTENKdVlXMWxJbDBzSW0xaGNIQnBibWR6SWpvaVFVRlJRU3hoUVVWQkxFbEJRVWxCTEU5QlFWTkRMRkZCUVZFc1lVRkRha0pETEZGQlFWVkVMRkZCUVZFc1YwRkZkRUpGTEZGQlFWRkRMRTlCUVZOQkxFOUJRMnBDUkN4UlFVRlJSU3hYUVVGaFFTeFhRVU55UWtZc1VVRkJVVWNzYTBKQlFXOUNMRWRCUlRWQ0xFbEJRVWxETEdGQlFXVXNWMEV5UW01Q0xGTkJRVk5ETEc5Q1FVVlFMRWxCUTBVc1NVRkJTVU1zUlVGQlRTeEpRVUZKUXl4WFFVRlhMRWRCUlhwQ0xFOUJSRUZFTEVWQlFVbEZMRlZCUVZrc1EwRkJSVUVzVlVGQlYwUXNWMEZCVjBVc1ZVRkJWME1zU1VGQlN5eFhRVUZqTEU5QlFVOHNTMEZEZUVRc1MwRkJaRW9zUlVGQlNVa3NUVUZEV0N4TlFVRlBReXhIUVVOUUxFOUJRVThzUjBGdlFsZ3NVMEZCVTBNc1lVRkJZME1zUjBGRGNrSXNSMEZCU1VFc1JVRkJVMVFzWVVGRFdDeE5RVUZOTEVsQlFVbFZMRmRCUVZjc1kwRkJaMEpFTEVWQlFWTXNhME5CUjJoRUxFbEJRVWxGTEVWQlFVMHNTVUZCU1ZJc1YwRkJWMDBzUjBGRmVrSXNUMEZFUVVVc1JVRkJTVkFzVlVGQldWQXNUMEZCVDFFc1ZVRkRhRUpOTEVWQllWUXNVMEZCVTJRc1QwRkJVV1VzUlVGQlMwTXNSVUZCYTBKS0xFZEJSWFJETEVkQlFXMUNMR2xDUVVGU1J5eEZRVUZyUWl4RFFVTXpRaXhIUVVGblF5eHBRa0ZCY2tKRExFVkJRMVFzVFVGQlRTeEpRVUZKUXl4VlFVTlNMSE5GUVVkS0xFOUJRVTlETEZsQlFWbElMRWRCUlhKQ0xFOUJRVTlKTEV0QlFVdEtMRVZCUVV0RExFVkJRV3RDU2l4SFFXZENja01zVTBGQlUwOHNTMEZCVFVNc1JVRkJUMG9zUlVGQmEwSktMRWRCUTNSRExFZEJRWEZDTEdsQ1FVRldVU3hGUVVOVUxFOUJRVTlETEZkQlFWZEVMRVZCUVU5S0xFZEJSek5DTEVkQlFVbE5MRmxCUVZsRExFOUJRVTlJTEVkQlEzSkNMRTlCUVU5SkxHTkJRV05LTEVkQlIzWkNMRWRCUVdFc1RVRkJWRUVzUlVGRFJpeE5RVUZOU0N4VlFVTktMSGxJUVVOcFJFY3NSMEZKY2tRc1IwRkJTVXNzVjBGQlYwd3NSVUZCVDBVc1kwRkRha0pHTEVkQlFWTkxMRmRCUVZkTUxFVkJRVTFOTEU5QlFWRktMR0ZCUTNKRExFOUJRVTlMTEdkQ1FVRm5RbEFzUlVGQlQwb3NSVUZCYTBKS0xFZEJSMnhFTEVkQlFYRkNMR2xDUVVGV1VTeEZRVU5VTEUxQlFVMHNTVUZCU1Vnc1ZVRkRVaXg1UlVGSlNpeEpRVUZKVnl4RlFVRlZVaXhGUVVGTlVTeFRRVUZYVWl4RlFVRk5VU3hWUVVOeVF5eEhRVUZsTEUxQlFWaEJMRWRCUVcxQ1FTeEpRVUZaVWl4RlFVTnFReXhQUVVGUGNFSXNUMEZCVDIxQ0xFdEJRVXRUTEVWQlFWTmFMRVZCUVd0Q1NpeEhRVWRvUkN4SlFVRkphVUlzUlVGQlNVTXNWMEZCVjFZc1IwRkRia0lzUjBGQlNWTXNSVUZCUnl4UFFVRlBRU3hGUVVWa0xFZEJRWE5DTEc5Q1FVRllSU3hSUVVGblJDeE5RVUYwUWtFc1QwRkJUME1zWVVGRFNDeHRRa0ZCT1VKYUxFVkJRVTFYTEU5QlFVOURMR0ZCUTNSQ0xFOUJRVTlvUXl4UFFVRlBiVUlzUzBGRFdrTXNSVUZCVFZjc1QwRkJUME1zWVVGQllTeFZRVUZYYUVJc1JVRkJhMEpLTEVkQlNUTkVMRTFCUVUwc1NVRkJTVXNzVlVGRFVpeDVTRUZEYVVSSExFZEJjVUp5UkN4VFFVRlRZU3hYUVVGWlF5eEhRVU51UWl4SFFVRnZRaXhwUWtGQlZFRXNSVUZEVkN4TlFVRk5MRWxCUVVscVFpeFZRVUZWTERCRFFVTm1MRWRCUVVscFFpeEZRVUZQTEVWQlEyaENMRTFCUVUwc1NVRkJTWEpDTEZkQlFWY3NZMEZCWjBKeFFpeEZRVUZQTEd0RFFVbG9SQ3hUUVVGVFF5eE5RVUZQUkN4RlFVRk5SU3hGUVVGTlF5eEhRVVV4UWl4UFFVUkJTaXhYUVVGWFF5eEhRVU5RUVN4SFFVRlJMRVZCUTBoMlFpeGhRVUZoZFVJc1VVRkZWRWtzU1VGQlZFWXNSVUZKZVVJc2FVSkJRV0pETEVWQlExWXhRaXhoUVVGaGRVSXNSMEZCVFVVc1MwRkJTMEVzUlVGQlRVTXNSMEZET1VJeFFpeGhRVUZoZFVJc1IwRkJUVVVzUzBGQlMwRXNSMEZGZGtKNlFpeGhRVUZoZFVJc1IwRlhkRUlzVTBGQlUyaENMRmxCUVdGblFpeEhRVVZ3UWl4UFFVUkJSQ3hYUVVGWFF5eEhRVU5LZGtJc1lVRkJZWFZDTEVWQlFVOHNSVUZCU1N4RlFVRnZRaXhGUVVGb1Frc3NVVUZCVVV3c1NVRm5RamRETEZOQlFWTmlMRmRCUVZsdFFpeEZRVUZSU0N4SFFVc3pRaXhIUVVwM1FpeHBRa0ZCWWtFc1IwRkJjME1zUzBGQllrRXNTVUZEYkVOQkxFVkJRVmNzVTBGSFVuSkRMRTlCUVU5NVF5eFhRVUZYU2l4SFFVTnlRaXhOUVVGTkxFbEJRVWx3UWl4VlFVRlZMSEZDUVVGMVFtOUNMRWRCUnpkRExFbEJRVWw2UWl4RlFVRjNReXhGUVVFdlFqaENMRmRCUVZkR0xFVkJRVkZJTEVkQlF6VkNka0lzUlVGQlRVZ3NZVUZCWVVNc1IwRkZia0lyUWl4RlFVRlROMElzUlVGQlNUaENMRTFCUVUxS0xFVkJRVkZJTEVkQlV5OUNMRTlCVUVsTkxFbEJRVmN2UWl4SlFVbGlSU3hGUVVGTlFTeEZRVUZKSzBJc1RVRkJUU3hGUVVGSFJpeEpRVWRrTjBJc1JVRkhWQ3hUUVVGVFZTeGpRVUZsYzBJc1IwRkhkRUlzU1VGR1FTeEpRVUZKYkVNc1JVRkJVMnRETEVWQlFVMXNReXhQUVVGVExFVkJRVWtzUlVGQk5FSXNSVUZCZUVJeVFpeFJRVUZSVHl4RlFVRk5iRU1zVVVGRE9VTkZMRVZCUVUxSUxHRkJRV0ZETEVkQlEyUnRReXhGUVVGSkxFVkJRVWRCTEVWQlFVbHVReXhGUVVGUmJVTXNSMEZCU3l4RlFVTXZRbXBETEVWQlFVbHBReXhIUVVGblFpeEpRVUZZUkN4RlFVRk5ReXhIUVVWcVFpeFBRVUZQYWtNc1JVRkhWQ3hUUVVGVFlTeG5Ra0ZCYVVKdFFpeEZRVUZQUlN4RlFVRlpjRU1zUjBGRE0wTXNSMEZCU1c5RExFVkJRV0VzUjBGQlMwWXNSVUZCVFVvc1YwRkJZVTBzUlVGRGRrTXNUVUZCVFN4SlFVRkpia01zVjBGQlZ5eDNRMEZIZGtJc1IwRkJTV2xETEVWQlFVMUtMRmRCUVdGTkxFZEJRV053UXl4SFFVRlZMRWRCUXpkRExFMUJRVTBzU1VGQlNVTXNWMEZCVnl4M1EwRkhka0lzU1VGQlNVTXNSVUZYU2l4UFFWUkZRU3hQUVVScFFuZENMRWxCUVdaVkxGRkJRWFZEVml4SlFVRllNVUlzUlVGRGVFSXNTVUZCU1U0c1YwRkJWM2RETEZGQlEwUlNMRWxCUVZneFFpeEZRVU5JTEVsQlFVbE9MRmRCUVZkM1F5eEZRVUZQUlN4SFFVVjBRaXhKUVVGSk1VTXNWMEZCVjNkRExFVkJRVTlGTEVWQlFWbHdReXhKUVVsMFEwd3NWVUZCV1ZBc1QwRkJUMUVzVlVGRGFFSk5MRVZCUjFRc1UwRkJVMmRDTEZkQlFWbHRRaXhIUVVOdVFpeEhRVUZKYWtRc1QwRkJUMnRFTEZOQlFWTkVMRWRCUVUwc1EwRkRlRUlzU1VGQlNVVXNSVUZCTkVJc1JVRkJkRUphTEZGQlFWRlZMRVZCUVVseVF5eFJRVU5zUWtVc1JVRkJUVWdzWVVGQllYZERMRWRCUlhaQ0xFOUJRVzFDTEVsQlFXWnlReXhGUVVGSlJpeFBRVU5EUlN4SFFVZFViVU1zUlVGQlNVY3NTMEZCUzNSRExFVkJRVXNzUlVGQlJ5eEZRVUZIY1VNc1IwRkRZbkpETEVkQlIxUXNXVUZCYlVKM1FpeEpRVUZtVnl4RlFVRkpja01zVDBGRGIwSXNhVUpCUVdaeFF5eEZRVUZKY2tNc1VVRkJkVUo1UXl4WlFVRlpTaXhGUVVGSmNrTXNVVUZETjBORUxHRkJRV0VzUjBGRlptRXNZMEZCWTNsQ0xFZEJSMDRzVjBGQllrRXNSVUZCU1Vzc1RVRkJjVUpETEUxQlFVMURMRkZCUVZGUUxFVkJRVWxSTEUxQlEzUkRha01zWTBGQlkzbENMRVZCUVVsUkxGZEJSRE5DTEVWQlMwWXNVMEZCVTJ4Q0xGRkJRVk16UWl4SFFVZG9RaXhIUVVGSlFTeEhRVUZWVkN4aFFVTmFMRTFCUVUwc1NVRkJTVlVzVjBGQlZ5d3dSRUZEWVZZc1lVRkJZWFZFTEZOQlFWTXNTVUZCVFN4VlFVVm9SU3hQUVVGblFpeEZRVUZVT1VNc1JVRkhWQ3hUUVVGVFdDeFhRVUZaVnl4SFFVbHVRaXhQUVVoTFFTeEhRVUZWUVN4SlFVTmlRU3hGUVVGVExFZEJSVXBhTEU5QlFVOXRReXhQUVVGUGRrSXNSMEYxUm5aQ0xGTkJRVk00UWl4WFFVRlpSaXhGUVVGUlNDeEhRVU16UWl4SFFVRkpja01zVDBGQlQydEVMRk5CUVZOV0xFZEJRMnhDTEU5QlFVOUJMRVZCUVU4MVFpeFBRVVZvUWl4SFFVRkpWU3haUVVGWlF5eFBRVUZQYVVJc1NVRkJWMllzVjBGQlYyVXNSVUZCVVd4Q0xHRkJRMjVFTEU5QlFVOXJRaXhGUVVGUFJTeFhRVVZvUWl4SFFVRnpRaXhwUWtGQldFWXNSVUZEVkN4TlFVRk5MRWxCUVVsMlFpeFZRVU5TTEd0SFFVTXdRblZDTEVkQlNUbENMRWxCUVVsWExFVkJRVTFZTEVWQlFVODFRaXhQUVVOaUswTXNSVUZCWVVNc1ZVRkJWV2hFTEU5QlFWTXNTVUZCYzBJc1NVRkJha0puUkN4VlFVRlZMRWRCUTI1RUxFbEJRVXRFTEVkQlFYRkNMRWxCUVZKU0xFVkJRVmNzVDBGQlR5eEZRVWx3UXl4SlFVUkJMRWxCUVVsVkxFZEJRV01zU1VGRmFFSXNUMEZCVVhoQ0xFZEJRMDRzU1VGQlN5eFJRVU5NTEVsQlFVc3NVMEZEVEN4SlFVRkxMRk5CUTBnc1QwRkJUMk1zUlVGRFZDeEpRVUZMTEU5QlEwd3NTVUZCU3l4UlFVTklMRTlCUVU5WExGbEJRVmwwUWl4SFFVRlJOVUlzVDBGRE4wSXNTVUZCU3l4UFFVTk1MRWxCUVVzc1VVRkRUQ3hKUVVGTExGVkJRMHdzU1VGQlN5eFhRVU5JTEU5QlFXRXNSVUZCVG5WRExFVkJRMVFzU1VGQlN5eE5RVU5JTEU5QlFVOUJMRWxCUVZFc1JVRkRha0lzU1VGQlN5eFRRVU5JTEU5QlFVOVpMR05CUVdOMlFpeEhRVUZSTlVJc1QwRkRMMElzVVVGRFJTeEhRVUZKYVVRc1JVRkRSaXhQUVVGUFJpeEhRVUZoTEVWQlFVbEhMRmxCUVZsMFFpeEhRVUZSTlVJc1QwRkZPVU41UWl4SFFVRlpMRWRCUVV0QkxFZEJRVlV5UWl4alFVTXpRa2dzUjBGQll5eEhRVTEwUWl4VFFVRlRTU3hoUVVGak5VSXNSVUZCVlRaQ0xFVkJRVTlETEVkQlEzUkRMRWxCUVVsT0xFZEJRV01zUlVGamJFSXNVMEZNWTNaQ0xFbEJRVlkwUWl4SFFVRjFRa0VzUlVGQlVTeExRVU5xUTBFc1JVRkJVU3hIUVVsT1FTeEZRVUZSUlN4TFFVRkxlRVFzVDBGRFppeE5RVUZQTEVkQlQxUXNVMEZLV1RCQ0xFbEJRVkkyUWl4SFFVRnhRa0VzUlVGQlRVTXNTMEZCUzNoRUxGVkJRMnhEZFVRc1JVRkJUVU1zUzBGQlMzaEVMRkZCUjFSMVJDeEhRVUZQTEVWQlExUXNUVUZCVHl4SFFVOVVMRWxCU0VGQkxFdEJRVk1zUzBGRFZFUXNTMEZCVnl4SFFVZFVMRTFCUVU4c1IwRkxWQ3hKUVVaTE4wSXNTVUZCVlVFc1JVRkJWeXhWUVVkNFFpeFBRVUZSUVN4SFFVTk9MRWxCUVVzc1RVRkRTQ3hQUVVGUFowTXNVMEZCVTBRc1MwRkJUVVlzUlVGQlQwTXNSMEZGTDBJc1NVRkJTeXhQUVVOTUxFbEJRVXNzVVVGRFNDeFBRVUZQUnl4VlFVRlZSaXhMUVVGTlJpeEZRVUZQUXl4SFFVVm9ReXhKUVVGTExGRkJRMGdzVDBGQlQwa3NWMEZCVjBnc1MwRkJUVVlzUlVGQlQwTXNSMEZGYWtNc1NVRkJTeXhUUVVOTUxFbEJRVXNzVTBGRFNDeFBRVUZQU3l4WlFVRlpTaXhMUVVGTlJpeEZRVUZQUXl4SFFVVnNReXhKUVVGTExGTkJRMGdzVDBGQlQwMHNXVUZCV1V3c1MwRkJUVVlzUlVGQlQwTXNSMEZGYkVNc1NVRkJTeXhQUVVOTUxFbEJRVXNzVVVGRFRDeEpRVUZMTEZWQlEwd3NTVUZCU3l4WFFVTklMRTlCUVU5UExHRkJRV0ZPTEV0QlFVMUdMRVZCUVU5RExFZEJSVzVETEZGQlEwVXNSMEZCU1U0c1JVRkJZU3hOUVVGTkxFbEJRVWsxUXl4VlFVRlZMSEZDUVVGMVFtOUNMRWRCUXpWRVFTeEhRVUZaUVN4RlFVRlhMRWxCUVVreVFpeGpRVU16UWtnc1IwRkJZeXhIUVdGMFFpeFRRVUZUWXl4TFFVRk5PVU1zUlVGQlJ5dERMRVZCUVVkRExFZEJRMjVDTEVsQlFVazVRaXhGUVVGSmJFSXNSVUZCUlN0RExFZEJRMVl2UXl4RlFVRkZLME1zUjBGQlN5OURMRVZCUVVWblJDeEhRVU5VYUVRc1JVRkJSV2RFTEVkQlFVczVRaXhGUVhsSlZDeFRRVUZUSzBJc2NVSkJRWE5DY0VRc1JVRkJVWEZFTEVWQlFVc3ZRaXhGUVVGWldDeEZRVUZWTWtNc1IwRkZhRVVzUjBGQmMwSXNTVUZCYkVKMFJDeEZRVUZQWkN4UFFVRmpMRTlCUVZFc1JVRnRRbXBETEVkQmFFSXdRaXhwUWtGQlptOURMRWRCUTFSWUxFVkJRVmRYTEVWQlExaEJMRVZCUVdFc1IwRkRTa0VzUlVGQllTeFhRVU4wUWtFc1JVRkJZU3hYUVVOS1FTeEhRVUZqTEdGQlEzWkNRU3hIUVVGakxGbEJSMXBMTEZsQlJFcE1MRWRCUVdOQkxFdEJSMXBCTEVWQlFXRm5ReXhGUVVGTkxFVkJRVXQwUkN4RlFVRlBaQ3hQUVVGVExFZEJTWFJEYjBNc1JVRkJZU3hKUVVGSFFTeEZRVUZoZEVJc1JVRkJUMlFzVDBGQlUyOURMRWRCUXpkRFFTeEhRVUZqZEVJc1JVRkJUMlFzVDBGQlVTeERRVU12UWl4SFFVRkpiMFVzUlVGQlN5eFBRVUZSTEVWQlExcG9ReXhGUVVGaGRFSXNSVUZCVDJRc1QwRkJVeXhQUVVNM1FpeEhRVUZKYjBNc1JVRkJZU3hGUVVGSExFTkJRM3BDTEVsQlFVbG5ReXhGUVVORExFOUJRVkVzUlVGRVNtaERMRVZCUVdFc1JVRlZlRUlzUjBGTWJVSXNhVUpCUVZJclFpeEpRVU5VUVN4RlFVRk5MMFVzVDBGQlQyMUNMRXRCUVVzMFJDeEZRVUZMTVVNc1NVRkpja0p5UXl4UFFVRlBhMFFzVTBGQlV6WkNMRWRCUld4Q0xFOUJRVzFDTEVsQlFXWkJMRVZCUVVsdVJTeFJRVU5GTEVWQlJVaHhSU3hoUVVGaGRrUXNSVUZCVVhGRUxFVkJRVXN2UWl4RlFVRlpXQ3hGUVVGVk1rTXNSMEZEYkVRc1IwRkJiVUlzYVVKQlFWSkVMRVZCUldoQ0xFOUJSRUZCTEVkQlFWa3NTVUZEWjBNc2JVSkJRV3BEZWtVc1YwRkJWMFVzVlVGQlZUQkZMRkZCUXpGQ1JpeEZRVU5MTVVVc1YwRkJWMFVzVlVGQlZUQkZMRkZCUVZGRExFdEJRVXQ2UkN4RlFVRlJjVVFzUlVGQlN5OUNMRWRCUlM5RE1VTXNWMEZCVjBVc1ZVRkJWVFJGTEZsQlFWbEVMRXRCUVV0NlJDeEZRVUZSY1VRc1JVRkJTeTlDTEVkQlIzWkVhVU1zWVVGQllYWkVMRVZCUVZFc1EwRkJSWEZFTEVkQlFVOHZRaXhGUVVGWldDeEZRVUZWTWtNc1IwRkhOMFFzVFVGQlRTeEpRVUZKTDBRc1ZVRkJWU3gzUTBGSGRFSXNVMEZCVTJkRkxHRkJRV00xUlN4RlFVRkxNRVVzUlVGQlN5OUNMRVZCUVZsWUxFVkJRVlV5UXl4SFFVTnlSQ3hKUVRCQ1NXcERMRVZCTVVKQmMwTXNSVUZCV1N4RlFVTmFReXhGUVVGWmFrWXNSVUZCU1U4c1QwRkRhRUl5UlN4RlFVRlpVaXhGUVVGSmJrVXNUMEZGY0VJc1VVRkJhVUl3UWl4SlFVRmlSQ3hKUVVWbExGVkJSR3BDUVN4RlFVRlhiVVFzVDBGQlQyNUVMRWRCUVZVeVFpeG5Ra0ZEV1N4VlFVRmlNMElzUjBGRFZpeFpRVUZpUVN4SFFVRjFReXhoUVVGaVFTeEhRVUY1UWl4RFFVTnlSQ3hIUVVGSmFFTXNSVUZCU1U4c1QwRkJVeXhIUVVGTGJVVXNSVUZCU1c1RkxFOUJRVk1zUlVGRGFrTXNUMEZCVVN4RlFVVldlVVVzUlVGQldTeEZRVU5hUXl4SFFVRmhMRVZCUTJKRExFZEJRV0VzUlVGRFluWkRMRWRCUVdNc1JVRkpiRUlzVTBGQlUzbERMRVZCUVUwelJTeEZRVUZMYVVNc1IwRkRiRUlzVDBGQmEwSXNTVUZCWkhORExFVkJRMHQyUlN4RlFVRkphVU1zUjBGRlNtcERMRVZCUVVrMFJTeGhRVUZoTTBNc1JVRkJTWE5ETEVkQlMyaERMRWRCUVVsTUxFVkJRVXNzUTBGRFVDeEpRVUZKVnl4SFFVRmpMRVZCUTJ4Q0xFbEJRVXMxUXl4RlFVRkpReXhGUVVGWlJDeEZRVUZKZFVNc1JVRkJWM1pETEVsQlEyeERMRWRCUVVrd1F5eEZRVUZMY0VZc1JVRkJTekJETEV0QlFVOHdReXhGUVVGTFZpeEhRVUZ4UWl4SlFVRm9RbGtzUlVGQmIwSXNSVUZCU1RWRExFVkJRVWswUXl4SlFVVjZSQ3hKUVVSdlFpeEpRVUZvUWtFc1NVRkJiVUpCTEVWQlFXRTFReXhIUVVOb1EwRXNSVUZCU1RSRExFVkJRV0VzU1VGQlRVb3NSVUZCVnl4UFFVRlBTU3hGUVVGaFRpeFBRVVYwUXl4SlFVRm9RazBzU1VGQmJVSTFReXhIUVVGTFFTeEZRVUZKTkVNc1IwRkRhRU5CTEVkQlFXTXNUMEZMYkVJc1NVRkVTVE5ETEVWQlFXRjFReXhGUVVGWlJDeEpRVUZYZEVNc1JVRkJZWE5ETEVWQlFWbERMRWRCUXpWRWVFTXNSVUZCU1VNc1JVRkJXVVFzUjBGQlN5eEZRVUZIUVN4SlFVRkxMRU5CUldoRExFbEJSRUVzU1VGQlNUWkRMRWRCUVZFc1JVRkRTRU1zUlVGQlNTeEZRVUZIUVN4RlFVRkpUaXhGUVVGWFRTeEpRVU0zUWl4SFFVRkpTaXhGUVVGTGNFWXNSVUZCU3pCRExFVkJRVWs0UXl4TFFVRlBTaXhGUVVGTFZpeEZRVUZMWXl4SFFVRkpMRU5CUTNKRFJDeEhRVUZSTEVWQlExSXNUVUZIU2l4SFFVRkpRU3hGUVVGUExFOUJRVTgzUXl4RlFVbDBRaXhQUVVGUkxFVkJaVllzVTBGQlV5dERMRk5CUVZWb1JpeEZRVUZMTUVJc1JVRkJVWFZFTEVWQlFWRnVSaXhIUVVOMFEyMUdMRVZCUVZORExFOUJRVTlFTEVsQlFWY3NSVUZETTBJc1NVRkJTVVVzUlVGQldXNUdMRVZCUVVsR0xFOUJRVk50Uml4RlFVTjRRbTVHTEVkQlIwaEJMRVZCUVZOdlJpeFBRVUZQY0VZc1NVRkRTSEZHTEVsQlExaHlSaXhGUVVGVGNVWXNSMEZLV0hKR0xFVkJRVk54Uml4RlFWRllMRWxCUVVsRExFVkJRVk14UkN4RlFVRlBOVUlzVDBGRmFFSkJMRVZCUVZOelJpeEZRVUZUTEVsQlEzQkNkRVlzUlVGQlUzTkdMRVZCUVZNc1IwRkZjRUlzU1VGQlN5eEpRVUZKYmtRc1JVRkJTU3hGUVVGSFFTeEZRVUZKYmtNc1NVRkJWVzFETEVWQlFVY3NRMEZETDBJc1NVRkJTVzlFTEVWQlFWTkRMRk5CUVZNMVJDeEZRVUZQTmtRc1QwRkJWeXhGUVVGS2RFUXNSVUZCVHl4SFFVRkpMRWxCUXk5RExFZEJRVWxOTEZsQlFWazRReXhIUVVGVExFOUJRVTl3UkN4RlFVTm9RMnBETEVWQlFVbHBSaXhGUVVGVGFFUXNSMEZCUzI5RUxFVkJSWEJDTEU5QlFVOXdSQ3hGUVVkVUxGTkJRVk4xUkN4VlFVRlhlRVlzUlVGQlN6QkNMRVZCUVZGMVJDeEZRVUZSYmtZc1IwRkRka01zVDBGQlR6SkdMRmRCUVZkNlF5eFpRVUZaZEVJc1JVRkJVVEZDTEVWQlFVbEdMRTlCUVZOdFJpeEhRVUZUYWtZc1JVRkJTMmxHTEVWQlFWRnVSaXhIUVVjelJTeFRRVUZUTkVZc1YwRkJXVEZHTEVWQlFVc3dRaXhGUVVGUmRVUXNSVUZCVVc1R0xFZEJRM2hETEU5QlFVOHlSaXhYUVVGWFJTeGhRVUZoYWtVc1IwRkJVekZDTEVWQlFVdHBSaXhGUVVGUmJrWXNSMEZIZGtRc1UwRkJVemhHTEZsQlFXRTFSaXhGUVVGTE1FSXNSVUZCVVhWRUxFVkJRVkZ1Uml4SFFVTjZReXhQUVVGUE5FWXNWMEZCVnpGR0xFVkJRVXN3UWl4RlFVRlJkVVFzUlVGQlVXNUdMRWRCUjNwRExGTkJRVk1yUml4WlFVRmhOMFlzUlVGQlN6QkNMRVZCUVZGMVJDeEZRVUZSYmtZc1IwRkRla01zVDBGQlR6SkdMRmRCUVZkNFF5eGpRVUZqZGtJc1IwRkJVekZDTEVWQlFVdHBSaXhGUVVGUmJrWXNSMEZIZUVRc1UwRkJVMmRITEZWQlFWYzVSaXhGUVVGTE1FSXNSVUZCVVhWRUxFVkJRVkZ1Uml4SFFVTjJReXhQUVVGUE1rWXNWMEZCVjAwc1pVRkJaWEpGTEVWQlFWRXhRaXhGUVVGSlJpeFBRVUZUYlVZc1IwRkJVMnBHTEVWQlFVdHBSaXhGUVVGUmJrWXNSMEZwUmpsRkxGTkJRVk0yUkN4WlFVRmhNMFFzUlVGQlMyOUVMRVZCUVU5RExFZEJRMmhETEU5QlFXTXNTVUZCVmtRc1IwRkJaVU1zU1VGQlVYSkVMRVZCUVVsR0xFOUJRM1JDYUVJc1QwRkJUMnRJTEdOQlFXTm9SeXhIUVVWeVFteENMRTlCUVU5clNDeGpRVUZqYUVjc1JVRkJTU3RDTEUxQlFVMXhRaXhGUVVGUFF5eEpRVWxxUkN4VFFVRlRSeXhWUVVGWGVFUXNSVUZCUzI5RUxFVkJRVTlETEVkQlF6bENRU3hGUVVGTk5FTXNTMEZCUzBNc1NVRkJTV3hITEVWQlFVbEdMRTlCUVZGMVJDeEhRVWt6UWl4SlFVaEJMRWxCUVVrNFF5eEZRVUZOTEVkQlJVNXNSU3hGUVVGSmJVSXNSVUZEUkc1Q0xFVkJRVWx2UWl4SFFVRkxMRU5CUTJRc1NVRlJUU3RETEVWQlFWbERMRVZCUVZkRExFVkJRVmxETEVWQlVuSkRReXhGUVVGWmVFY3NSVUZCU1dsRExFZEJRMmhDZDBVc1JVRkJXU3hMUVVOYVF5eEZRVUZ2UWtZc1JVRkJXU3hKUVVGUkxFVkJRM1pEUVN4RlFVRlpMRWxCUVZFc1JVRkRiRUpCTEVWQlFWa3NTVUZCVVN4RlFVTnVRaXhGUVVWU0xFZEJRVWwyUlN4RlFVRkplVVVzUjBGQmIwSnlSQ3hGUVVjeFFpeFBRVUZSY1VRc1IwRkRUaXhMUVVGTExFVkJRME5HTEVWQlFWa3NUVUZEWkVNc1JVRkJXVVFzUjBGRlpDeE5RVU5HTEV0QlFVc3NSVUZGZVVJc1RVRkJWaXhMUVVSc1Frb3NSVUZCWVhCSExFVkJRVWxwUXl4RlFVRkpMRTlCUlc1Q2MwVXNSMEZCTmtJc1IwRkJXa01zU1VGQmNVSXNSVUZCYjBJc1IwRkJZa29zUjBGRGVrSXNUVUZEYkVKTExFVkJRVmxHTEVkQlIyaENMRTFCUTBZc1MwRkJTeXhGUVVOSVNDeEZRVUZoY0Vjc1JVRkJTV2xETEVWQlFVa3NSMEZEY2tKdlJTeEZRVUZaY2tjc1JVRkJTV2xETEVWQlFVa3NSMEZEVVN4TlFVRldMRWxCUVdKdFJTeEpRVUZ6UkN4TlFVRldMRWxCUVZwRExFdEJRMjVEUlN4SFFVRTJRaXhIUVVGYVF5eEpRVUZ2UWl4SlFVRnZRaXhIUVVGaVNpeEpRVUZ6UWl4RlFVRnRRaXhIUVVGYVF5eEhRVU55UkN4UFFVRlZSU3hGUVVGblFpeFBRVUZWUVN4RlFVRm5RaXhUUVVOMFJVVXNSVUZCV1VZc1IwRkhhRUlzVFVGRFJpeExRVUZMTEVWQlEwaElMRVZCUVdGd1J5eEZRVUZKYVVNc1JVRkJTU3hIUVVOeVFtOUZMRVZCUVZseVJ5eEZRVUZKYVVNc1JVRkJTU3hIUVVOd1FuRkZMRVZCUVdGMFJ5eEZRVUZKYVVNc1JVRkJTU3hIUVVOUExFMUJRVllzU1VGQlltMUZMRWxCUVhORUxFMUJRVllzU1VGQldrTXNTVUZCYzBRc1RVRkJWaXhKUVVGaVF5eExRVU5zUlVNc1IwRkJOa0lzUjBGQldrTXNTVUZCYjBJc1NVRkJjVUlzUjBGQllrb3NTVUZCYzBJc1NVRkJiVUlzUjBGQldrTXNTVUZCY1VJc1JVRkJiMElzUjBGQllrTXNSMEZEYkVZc1QwRkJWVU1zUlVGQlowSXNWVUZETlVORkxFVkJRVmxHTEVkQlRVb3NUMEZCWkVVc1IwRkhSa0VzUlVGQldTeE5RVU5hUXl4RlFVRnRRaXhIUVVOV1JDeEZRVUZaTEZGQlJYSkNRU3hIUVVGaExFMUJRMkpPTEVWQlFVbFJMRXRCUVV0R0xFbEJRV01zUjBGQlN5eExRVUZSTEU5QlEzQkRRU3hGUVVGWkxFMUJRWEZDTEV0QlFWcEJMRWRCUjNaQ1RpeEZRVUZKVVN4TFFVRkxSaXhIUVVOVWVFVXNSMEZCUzNsRkxFVkJSMUFzVDBGQlQwVXNjMEpCUVhOQ1ZDeEhRVFU1UWk5Q2JFZ3NVVUZCVVRSSUxGZEJRV0Y0U0N4aFFXZENja0pJTEU5QlFVODBTQ3h2UWtGQmMwSjRTQ3h2UWtGRmVFSktMRTlCUVU4MFNDeHhRa0ZCTUVNc2IwSkJRVnBETEZOQlEySXNiVUpCUVd4Q1FTeFJRVUZSUXl4UFFVTnFRa1FzVVVGQlVVTXNUVUZEVGl4cFNrRm5Ra3BETEU5QlFVOURMR1ZCUVdWb1NTeFBRVUZQVVN4VlFVRlhMRk5CUVZVc1EwRkRhRVI1U0N4WlFVRlpMRVZCUTFwRExFbEJRVXNzVjBGRFNDeEhRVUZMYkVrc1QwRkJUMnRFTEZOQlFWTnJRaXhOUVVOeVFpeFBRVUZQUVN4TFFVRkxNVU1zVlVGSmFFSnhSeXhQUVVGUFF5eGxRVUZsYUVrc1QwRkJUMUVzVlVGQlZ5eFRRVUZWTEVOQlEyaEVlVWdzV1VGQldTeEZRVU5hUXl4SlFVRkxMRmRCUTBnc1IwRkJTMnhKTEU5QlFVOXJSQ3hUUVVGVGEwSXNUVUZEY2tJc1QwRkJUMEVzUzBGQlMzQkNMR05CYzBOTkxHOUNRVUZZYWtJc1VVRkJORU1zVFVGQmJFSkJMRTlCUVU5dlJ5eFRRVU40UTI1SkxFOUJRVThyUWl4UFFVRlBiMGNzVjBGQllXNUpMRkZCUXpkQ0swZ3NUMEZCVDBNc1pVRkJaV2hKTEU5QlFWRXJRaXhQUVVGUGIwY3NVVUZCVXl4RFFVTTFReTlITEUxQlFVOHNTMEZEVUdkSUxHTkJRV01zUlVGRFpFZ3NXVUZCV1N4RlFVTmFTU3hWUVVGVkxFbEJTV1J5U1N4UFFVRlBjMGtzVTBGQlZ5eExRVEJFYkVKMFNTeFBRVUZQYlVJc1MwRkJUeXhUUVVGVlF5eEZRVUZQU2l4RlFVRnJRa29zUjBGREwwTXNUMEZCVDA4c1MwRkJTME1zUlVGQlQwb3NSVUZCYTBKS0xFbEJTM1pEV2l4UFFVRlBVU3hWUVVGVlJDeFZRVUZaUkN4WFFVRlhSU3hWUVVONFExSXNUMEZCVDA4c1ZVRkJXVVFzVjBFNFFtNUNUaXhQUVVGUGJVTXNUVUZCVVN4VFFVRlZSQ3hGUVVGTlJTeEZRVUZOUXl4SFFVTnVReXhQUVVGUFJpeE5RVUZOUkN4RlFVRk5SU3hGUVVGTlF5eEpRVmN6UW5KRExFOUJRVTlyUWl4WlFVRmpMRk5CUVZWblFpeEhRVU0zUWl4UFFVRlBhRUlzV1VGQldXZENMRWxCUzNKQ2JFTXNUMEZCVDNWSkxHZENRVUZyUWl4VFFVRlZja2NzUjBGRGFrTXNUMEZCVDJoQ0xGbEJRVmxuUWl4SlFYRkhja0pzUXl4UFFVRlBhMFFzVTBGQlZ5eFRRVUZ0UW5KQ0xFZEJRMjVETEU5QlFWa3NUVUZCVEVFc1NVRkJOa0lzU1VGQmFFSkJMRVZCUVVVeVJ5eFhRVU53UWpOSExFbEJRVTAzUWl4UFFVRlBVU3hYUVVkcVFsSXNUMEZCVDNsSkxGRkJRVlVzVTBGQmEwSkRMRVZCUVVjM1J5eEhRVWR3UXl4SFFVWkpTaXhYUVVGWGFVZ3NSVUZCUjNCSkxHTkJRV0Z2U1N4RlFVRkpNVWtzVDBGQlQyMUNMRXRCUVV0MVNDeEZRVUZIUVN4RlFVRkZNME1zVDBGQlVUSkRMRVZCUVVWb1J5eGhRVU14UkdwQ0xGZEJRVmRKTEVWQlFVZDJRaXhqUVVGaGRVSXNSVUZCU1RkQ0xFOUJRVTl0UWl4TFFVRkxWU3hGUVVGSFFTeEZRVUZGYTBVc1QwRkJVV3hGTEVWQlFVVmhMR05CUTNwRU1VTXNUMEZCVDJ0RUxGTkJRVk4zUml4TFFVRlBNVWtzVDBGQlQydEVMRk5CUVZOeVFpeEhRVU14UXl4TlFVRk5MRWxCUVVsYUxGVkJRMUlzZVVWQlNVb3NSMEZCU1hsSUxFbEJRVTAzUnl4RlFVRkhMRTlCUVU4c1JVRkxjRUlzU1VGSVFTeEpRVUZKT0Vjc1JVRkJTVVFzUlVGQlJUbElMRTlCUTA1blNTeEZRVUZKTDBjc1JVRkJSV3BDTEU5QlJVUnRReXhGUVVGSkxFVkJRVWRKTEVWQlFVMDBSQ3hMUVVGTFF5eEpRVUZKTWtJc1JVRkJSME1zUjBGQlNUZEdMRVZCUVVsSkxFbEJRVTlLTEVWQlF5OURMRWRCUVVreVJpeEZRVUZGTTBZc1MwRkJUMnhDTEVWQlFVVnJRaXhIUVVGSkxFTkJRMnBDTkVZc1JVRkJTVVFzUlVGQlJUTkdMRWRCUTA0MlJpeEZRVUZKTDBjc1JVRkJSV3RDTEVkQlEwNHNUVUZKU2l4UFFVRkpORVlzUlVGQlNVTXNSMEZCVnl4RlFVTm1RU3hGUVVGSlJDeEZRVUZWTEVWQlExZ3NSMEZIVkROSkxFOUJRVTk1UXl4WFFVRmhMRk5CUVhGQ1NpeEhRVU4yUXl4UFFVRlJiVVFzVDBGQlQyNUVMRWRCUVZVeVFpeGxRVU4yUWl4SlFVRkxMRTFCUTB3c1NVRkJTeXhQUVVOTUxFbEJRVXNzVVVGRFRDeEpRVUZMTEZGQlEwd3NTVUZCU3l4VFFVTk1MRWxCUVVzc1UwRkRUQ3hKUVVGTExGTkJRMHdzU1VGQlN5eFBRVU5NTEVsQlFVc3NVVUZEVEN4SlFVRkxMRlZCUTB3c1NVRkJTeXhYUVVOSUxFOUJRVThzUlVGRFZDeFJRVU5GTEU5QlFVOHNTVUZKWW1oRkxFOUJRVTgyU1N4UFFVRlRMRk5CUVdsQ1F5eEZRVUZOYkVrc1IwRkRja01zU1VGQlN6SkRMRTFCUVUxRExGRkJRVkZ6Uml4SFFVTnFRaXhOUVVGTkxFbEJRVWszU0N4VlFVRlZMQ3REUVVkMFFpeEhRVUZ2UWl4SlFVRm9RalpJTEVWQlFVdHNTU3hQUVVOUUxFOUJRVTlhTEU5QlFVOXRReXhOUVVGTkxFZEJSM1JDTEVsQlFVbFpMRVZCUTBvc1VVRkJaVlFzU1VGQldERkNMRVZCUlVZc1NVRkVRVUVzUlVGQlV5eEZRVU5LYlVNc1JVRkJTU3hGUVVGSFFTeEZRVUZKSzBZc1JVRkJTMnhKTEZOQlFWVnRReXhGUVVNM1FtNURMRWRCUVZWclNTeEZRVUZMTDBZc1IwRkJSMjVETEU5QlNYUkNMRWxCUVVsakxFVkJRVk14UWl4UFFVRlBhMElzV1VGQldVNHNSMEZETlVKdFNTeEZRVUZOTEVWQlExWXNTVUZCUzJoSExFVkJRVWtzUlVGQlIwRXNSVUZCU1N0R0xFVkJRVXRzU1N4VFFVRlZiVU1zUlVGQlJ5eERRVU5vUXl4SlFVRkpha01zUlVGQlRXZEpMRVZCUVVzdlJpeEhRVWxtTEVkQlNFbDBRaXhYUVVGWFdDeEZRVUZMVWl4alFVTnNRbEVzUlVGQlRXUXNUMEZCVDIxQ0xFdEJRVXRNTEV0QlJXWmtMRTlCUVU5clJDeFRRVUZUY0VNc1IwRkRia0lzVFVGQlRTeEpRVUZKUnl4VlFVRlZMQ3REUVVWMFFrZ3NSVUZCU1hORExFdEJRVXN4UWl4RlFVRlJjVWdzUjBGRGFrSkJMRWRCUVU5cVNTeEZRVUZKUml4UFFVVmlMRTlCUVU5akxFZEJhMFJVTVVJc1QwRkJUekJETEZkQlFXRkJMRmRCT0VWd1FqRkRMRTlCUVU5UkxGVkJRVlZuU1N4WFFVRlpMRVZCVVRkQ2VFa3NUMEZCVDFFc1ZVRkJWWGRKTEU5QlFWTXNWMEZEZUVJc1NVRkJTVGRHTEVWQlFVMXBRaXhMUVVGTGVFUXNUMEZEWml4SFFVRkpkVU1zUlVGQlRTeEhRVUZOTEVWQlEyUXNUVUZCVFN4SlFVRkpkRU1zVjBGQlZ5dzJRMEZGZGtJc1NVRkJTeXhKUVVGSmEwTXNSVUZCU1N4RlFVRkhRU3hGUVVGSlNTeEZRVUZMU2l4SFFVRkxMRVZCUXpWQ05FSXNTMEZCUzFBc1MwRkJUWEpDTEVWQlFVZEJMRVZCUVVrc1IwRkZjRUlzVDBGQlQzRkNMRTFCUjFSd1JTeFBRVUZQVVN4VlFVRlZlVWtzVDBGQlV5eFhRVU40UWl4SlFVRkpPVVlzUlVGQlRXbENMRXRCUVV0NFJDeFBRVU5tTEVkQlFVbDFReXhGUVVGTkxFZEJRVTBzUlVGRFpDeE5RVUZOTEVsQlFVbDBReXhYUVVGWExEWkRRVVYyUWl4SlFVRkxMRWxCUVVsclF5eEZRVUZKTEVWQlFVZEJMRVZCUVVsSkxFVkJRVXRLTEVkQlFVc3NSVUZETlVJMFFpeExRVUZMVUN4TFFVRk5ja0lzUlVGQlIwRXNSVUZCU1N4SFFVTnNRalJDTEV0QlFVdFFMRXRCUVUxeVFpeEZRVUZKTEVWQlFVZEJMRVZCUVVrc1IwRkZlRUlzVDBGQlQzRkNMRTFCUjFSd1JTeFBRVUZQVVN4VlFVRlZNRWtzVDBGQlV5eFhRVU40UWl4SlFVRkpMMFlzUlVGQlRXbENMRXRCUVV0NFJDeFBRVU5tTEVkQlFVbDFReXhGUVVGTkxFZEJRVTBzUlVGRFpDeE5RVUZOTEVsQlFVbDBReXhYUVVGWExEWkRRVVYyUWl4SlFVRkxMRWxCUVVsclF5eEZRVUZKTEVWQlFVZEJMRVZCUVVsSkxFVkJRVXRLTEVkQlFVc3NSVUZETlVJMFFpeExRVUZMVUN4TFFVRk5ja0lzUlVGQlIwRXNSVUZCU1N4SFFVTnNRalJDTEV0QlFVdFFMRXRCUVUxeVFpeEZRVUZKTEVWQlFVZEJMRVZCUVVrc1IwRkRkRUkwUWl4TFFVRkxVQ3hMUVVGTmNrSXNSVUZCU1N4RlFVRkhRU3hGUVVGSkxFZEJRM1JDTkVJc1MwRkJTMUFzUzBGQlRYSkNMRVZCUVVrc1JVRkJSMEVzUlVGQlNTeEhRVVY0UWl4UFFVRlBjVUlzVFVGSFZIQkZMRTlCUVU5UkxGVkJRVlZyUkN4VFFVRlhMRmRCUXpGQ0xFbEJRVWs1UXl4RlFVRlRkMFFzUzBGQlMzaEVMRTlCUTJ4Q0xFOUJRV1VzU1VGQldFRXNSVUZCY1VJc1IwRkRRU3hKUVVGeVFtZEVMRlZCUVZWb1JDeFBRVUZ4UWpCRUxGVkJRVlZHTEV0QlFVMHNSVUZCUjNoRUxFZEJReTlEY1VRc1lVRkJZV3RHTEUxQlFVMHZSU3hMUVVGTlVpeFpRVWRzUXpWRUxFOUJRVTlSTEZWQlFWVTBTU3hsUVVGcFFuQktMRTlCUVU5UkxGVkJRVlZyUkN4VFFVVnVSREZFTEU5QlFVOVJMRlZCUVZVMlNTeFBRVUZUTEZOQlFXbENlRWdzUjBGRGVrTXNTVUZCU3pkQ0xFOUJRVTlyUkN4VFFVRlRja0lzUjBGQlNTeE5RVUZOTEVsQlFVbGFMRlZCUVZVc05rSkJRemRETEU5QlFVbHRSQ3hQUVVGVGRrTXNSMEZEYzBJc1NVRkJOVUkzUWl4UFFVRlBlVWtzVVVGQlVYSkZMRXRCUVUxMlF5eEpRVWM1UWpkQ0xFOUJRVTlSTEZWQlFWVTRTU3hSUVVGVkxGZEJRM3BDTEVsQlFVbERMRVZCUVUwc1IwRkRUa01zUlVGQlRYcEtMRkZCUVZGSExHdENRVWRzUWl4UFFVWkJjVW9zUlVGQlRXNUdMRXRCUVV0V0xGTkJRVk1zVFVGQlR5eEZRVUZIT0VZc1IwRkJTME1zVVVGQlVTeFZRVUZYTEU5QlFVOURMRTlCUTNwRWRFWXNTMEZCUzNoRUxFOUJRVk0wU1N4SlFVRkxSQ3hIUVVGUExGTkJRM1pDTEZkQlFXRkJMRVZCUVUwc1MwRkhOVUoyU2l4UFFVRlBVU3hWUVVGVmFVa3NVVUZCVlN4VFFVRnJRbXRDTEVWQlFWRjZSaXhGUVVGUFF5eEZRVUZMZVVZc1JVRkJWME1zUjBGSk1VVXNSMEZJU1hCSkxGZEJRVmRyU1N4RlFVRlJja29zWTBGRGNrSnhTaXhGUVVGVE0wb3NUMEZCVDIxQ0xFdEJRVXQzU1N4RlFVRlJRU3hGUVVGUE5VUXNUMEZCVVRSRUxFVkJRVTlxU0N4alFVVm9SREZETEU5QlFVOXJSQ3hUUVVGVGVVY3NSMEZEYmtJc1RVRkJUU3hKUVVGSk1Va3NWVUZEVWl4M1JrRkRNa0l3U1N4SFFXbENMMElzVVVGaVkzSklMRWxCUVZZMFFpeEpRVU5HUVN4RlFVRlJMRkZCUlVVMVFpeEpRVUZTTmtJc1NVRkRSa0VzUlVGQlRYZEdMRVZCUVZOQkxFVkJRVTh2U1N4UFFVRlRMRkZCUldZd1FpeEpRVUZrYzBnc1NVRkRSa0VzUlVGQldTeFJRVVZGZEVnc1NVRkJXblZJTEVsQlEwWkJMRVZCUVZWNlJpeExRVUZMZUVRc1VVRkhZbk5FTEVWQlFWRXNSMEZCUzBNc1JVRkJUWGRHTEVWQlFVOHZTU3hSUVVGVlowb3NSVUZCV1N4SFFVRkxReXhGUVVGVmVrWXNTMEZCUzNoRUxFOUJRM1JGTEUxQlFVMHNTVUZCU1VNc1YwRkJWeXh6UWtGSGRrSXNSMEZCU1N0SkxFZEJRV0ZETEVkQlFWY3pSaXhIUVVGVFF5eEZRVU51UXl4UFFVRlBMRVZCUlZRc1IwRkJTWGxHTEVkQlFXRkRMRVZCUTJZc1QwRkJVU3hGUVVWV0xFZEJRVWt6Uml4SFFVRlRReXhGUVVOWUxFOUJRVThzUlVGUlZDeEhRVUZKUXl4UFFVRlRkVVlzUlVGQlVTeFBRVUZQTEVWQlV6VkNMRWxCVUVFc1NVRkJTV2hDTEVkQlNrcHJRaXhMUVVGaExFbEJSR0pFTEV0QlFXVXNSMEZOV0doQ0xFZEJVRXA2UlN4TFFVRlRMRWxCUkZSRUxFdEJRVmNzUjBGVFVHWXNSVUZCVFRSRUxFdEJRVXRETEVsQlFVa3lRaXhGUVVGSFF5eEhRVVZzUW10Q0xFVkJRVmN4Uml4TFFVRkxka0lzVFVGQlRTdEhMRVZCUVZkRExFZEJRMnBEUlN4RlFVRmhTaXhGUVVGUE9VY3NUVUZCVFhGQ0xFVkJRVTlETEVkQlJUVkNjRUlzUlVGQlNTeEZRVUZIUVN4RlFVRkpTU3hKUVVGUFNpeEZRVU42UWl4SFFVRkpLMGNzUlVGQlV5OUhMRXRCUVU5blNDeEZRVUZYYUVnc1IwRkJTU3hEUVVOcVF6UkdMRVZCUVVsdFFpeEZRVUZUTDBjc1IwRkRZalpHTEVWQlFVbHRRaXhGUVVGWGFFZ3NSMEZEWml4TlFVbEtMRTlCUVVrMFJpeEZRVUZKUXl4SFFVRlhMRVZCUTJaQkxFVkJRVWxFTEVWQlFWVXNSVUZEV0N4SFFUUklWRE5KTEU5QlFVOVJMRlZCUVZWM1NpeFRRVUZYTEZOQlFXMUNha1lzUlVGQlN5OUNMRVZCUVZsWUxFZEJRemxFTEU5QlFXOUVMRWxCUVRkREswSXNTMEZCUzJNc1VVRkJVVWdzUlVGQlN5OUNMRVZCUVZsWUxFbEJSM1pEY2tNc1QwRkJUMUVzVlVGQlZUQkZMRkZCUVZVc1UwRkJhMEpJTEVWQlFVc3ZRaXhGUVVGWldDeEhRVU0xUkN4UFFVRlBlVU1zY1VKQlFYRkNWaXhMUVVGTlZ5eEZRVUZMTDBJc1JVRkJXVmdzUjBGQlZTeEpRVWN2UkhKRExFOUJRVTlSTEZWQlFWVTBSU3haUVVGakxGTkJRWE5DVEN4RlFVRkxMMElzUlVGQldWZ3NSMEZEY0VVc1QwRkJUM2xETEhGQ1FVRnhRbFlzUzBGQlRWY3NSVUZCU3k5Q0xFVkJRVmxZTEVkQlFWVXNTVUZuUkM5RWNrTXNUMEZCVDFFc1ZVRkJWVzlETEUxQlFWRXNVMEZCWjBKS0xFVkJRVkYxUkN4RlFVRlJia1lzUlVGQlVYbENMRWRCUlM5RUxGRkJRV1ZETEVsQlFWaDVSQ3hGUVVOR01VUXNSVUZCVnl4UFFVTllla0lzUlVGQlUzZEVMRXRCUVV0NFJDeFBRVU5rYlVZc1JVRkJVeXhQUVVWS0xGRkJRV1Y2UkN4SlFVRllNVUlzUjBGQk1FTXNhVUpCUVZodFJpeEZRVU40UXpGRUxFVkJRVmN3UkN4RlFVTllia1lzUlVGQlUzZEVMRXRCUVV0NFJDeFBRVU5rYlVZc1JVRkJVeXhOUVVWS0xFTkJRVUVzU1VGQlNXdEZMRk5CUVZOc1JTeEhRVlZzUWl4TlFVRk5MRWxCUVVsdFJTeE5RVU5TTERKRlFWWkdia1VzUzBGQmIwSXNSVUZEYUVKclJTeFRRVUZUY2tvc1NVRkRXRUVzUzBGQmIwSXNUMEZEU0RCQ0xFbEJRV0pFTEVsQlFYZENRU3hGUVVGWExGVkJSWFpEUVN4RlFVRlhla0lzUlVGRFdFRXNUMEZCVXpCQ0xFZEJVV0lzU1VGQlNUSkVMRVZCUVZrM1FpeExRVUZMZUVRc1QwRkJVMjFHTEVWQlJ6bENMRk5CUm1WNlJDeEpRVUZZTVVJc1IwRkJkMEpCTEVWQlFWTnhSaXhMUVVGWGNrWXNSVUZCVTNGR0xFZEJSWEJFZWtRc1JVRkJUelZDTEU5QlFWTXNTVUZCVFVFc1JVRkJVeXhIUVVGTGJVWXNSVUZCVXl4SlFVRlBRU3hGUVVGVE0wSXNTMEZCUzNoRUxFOUJRM0pGTEUxQlFVMHNTVUZCU1VNc1YwRkJWeXd3UTBGSGJFSjNRaXhKUVVGVlFTeEZRVUZYTEZGQlJ6RkNMRWxCUkVFc1NVRkJTWGRDTEVkQlFXTXNTVUZGYUVJc1QwRkJVWGhDTEVkQlEwNHNTVUZCU3l4TlFVTklMRTlCUVU5NVJDeFRRVUZUTVVJc1MwRkJUVFZDTEVWQlFWRjFSQ3hGUVVGUmJrWXNSMEZGZUVNc1NVRkJTeXhQUVVOTUxFbEJRVXNzVVVGRFNDeFBRVUZQTUVZc1ZVRkJWV3hETEV0QlFVMDFRaXhGUVVGUmRVUXNSVUZCVVc1R0xFZEJSWHBETEVsQlFVc3NVVUZEU0N4UFFVRlBORVlzVjBGQlYzQkRMRXRCUVUwMVFpeEZRVUZSZFVRc1JVRkJVVzVHTEVkQlJURkRMRWxCUVVzc1UwRkRUQ3hKUVVGTExGTkJRMGdzVDBGQlR6aEdMRmxCUVZsMFF5eExRVUZOTlVJc1JVRkJVWFZFTEVWQlFWRnVSaXhIUVVVelF5eEpRVUZMTEZOQlJVZ3NUMEZCVHl0R0xGbEJRVmwyUXl4TFFVRk5OVUlzUlVGQlVYVkVMRVZCUVZGdVJpeEhRVVV6UXl4SlFVRkxMRTlCUTB3c1NVRkJTeXhSUVVOTUxFbEJRVXNzVlVGRFRDeEpRVUZMTEZkQlEwZ3NUMEZCVDJkSExGVkJRVlY0UXl4TFFVRk5OVUlzUlVGQlVYVkVMRVZCUVZGdVJpeEhRVVY2UXl4UlFVTkZMRWRCUVVscFJDeEZRVUZoTEUxQlFVMHNTVUZCU1RWRExGVkJRVlVzY1VKQlFYVkNiMElzUjBGRE5VUkJMRWRCUVZrc1IwRkJTMEVzUjBGQlZUSkNMR05CUXpOQ1NDeEhRVUZqTEVsQlMzUkNOMFFzVDBGQlQxRXNWVUZCVlRKS0xFOUJRVk1zVjBGRGVFSXNUVUZCVHl4RFFVTk1OMGNzUzBGQlRTeFRRVU5PUnl4TFFVRk5SaXhOUVVGTkwwTXNWVUZCVlhGRExFMUJRVTF6UXl4TFFVRkxaaXhMUVVGTFowY3NUVUZCVVdoSExFdEJRVTBzUzBGM1JuaEVMRWxCUVVscFJ5eHhRa0ZCZFVJc1MwRkZNMElzVTBGQlV6TkRMSE5DUVVGMVFqUkRMRWRCUXpsQ0xFbEJRVWx1U0N4RlFVRk5iVWdzUlVGQlZ6RktMRTlCUTNKQ0xFZEJRVWwxUXl4SFFVRlBhMGdzY1VKQlExUXNUMEZCVHpkRkxFOUJRVThyUlN4aFFVRmhjRUlzVFVGQlRUTkVMRTlCUVZFNFJTeEhRVTB6UXl4SlFVWkJMRWxCUVVseVJDeEZRVUZOTEVkQlEwNXNSU3hGUVVGSkxFVkJRMFJCTEVWQlFVbEpMRWRCUTFRNFJDeEhRVUZQZWtJc1QwRkJUeXRGTEdGQlFXRndRaXhOUVVONlFqTkVMRTlCUTBFNFJTeEZRVUZYZWtnc1RVRkJUVVVzUlVGQlIwRXNSMEZCUzNOSUxIVkNRVWMzUWl4UFFVRlBjRVFzUlVGSFZDeFRRVUZUTVVNc1YwRkJXWHBFTEVWQlFVdHZSQ3hGUVVGUFF5eEhRVU12UWl4SlFVRkpjVWNzUlVGQlRTeEhRVU5XY2tjc1JVRkJUVFJETEV0QlFVdERMRWxCUVVsc1J5eEZRVUZKUml4UFFVRlJkVVFzUjBGRk0wSXNTVUZCU3l4SlFVRkpjRUlzUlVGQlNXMUNMRVZCUVU5dVFpeEZRVUZKYjBJc1NVRkJUM0JDTEVWQlF6ZENlVWdzUjBGQlQyaEdMRTlCUVU4clJTeGhRVUZ6UWl4SlFVRlVla29zUlVGQlNXbERMRWxCUldwRExFOUJRVTk1U0N4RlFVZFVMRk5CUVZOb1J5eFpRVUZoTVVRc1JVRkJTMjlFTEVWQlFVOURMRWRCUTJoRExFbEJRVWx4Unl4RlFVRk5MRWRCUTFaeVJ5eEZRVUZOTkVNc1MwRkJTME1zU1VGQlNXeEhMRVZCUVVsR0xFOUJRVkYxUkN4SFFVVXpRaXhKUVVGTExFbEJRVWx3UWl4RlFVRkpiVUlzUlVGQlQyNUNMRVZCUVVsdlFpeEpRVUZQY0VJc1JVRkROMEo1U0N4SFFVRlBhRVlzVDBGQlR5dEZMR0ZCUVdGNlNpeEZRVUZKYVVNc1NVRkZha01zVDBGQlQzbElMRVZCUjFRc1UwRkJVMjVITEZOQlFWVjJSQ3hGUVVGTGIwUXNSVUZCVDBNc1IwRkROMElzU1VGQlNXaENMRVZCUVUxeVF5eEZRVUZKUml4VFFVVlVjMFFzUjBGQlUwRXNSVUZCVVN4TFFVRkhRU3hGUVVGUkxFdEJRelZDUXl4SFFVRlBRU3hGUVVGTkxFZEJRVXRCTEVWQlFVMW9RaXhMUVVGTFowSXNSVUZCVFdoQ0xFZEJSM2hETEVsQlJFRXNTVUZCU1hOSUxFVkJRVTBzUjBGRFJERklMRVZCUVVsdFFpeEZRVUZQYmtJc1JVRkJTVzlDTEVsQlFVOXdRaXhGUVVNM1FqQklMRWRCUVU5RExFMUJRVTAxU2l4RlFVRkphVU1zU1VGRmJrSXNUMEZCVHpCSUxFVkJSMVFzVTBGQlV5OUdMR0ZCUVdNMVJDeEZRVUZMYjBRc1JVRkJUME1zUjBGSGFrTXNTVUZHUVN4SlFVRkpkMGNzUlVGQlVUZEtMRVZCUVVrclFpeE5RVUZOY1VJc1JVRkJUME1zUjBGRGVrSTRReXhGUVVGTkxFZEJRMFJzUlN4RlFVRkpMRVZCUVVkQkxFVkJRVWswU0N4RlFVRk5MMG9zVDBGQlVXMURMRWRCUVVzc1JVRkRja05yUlN4SFFVRlBla0lzVDBGQlR5dEZMR0ZCUVdGSkxFVkJRVTAxU0N4SFFVRnhRaXhKUVVGbU5FZ3NSVUZCVFRWSUxFVkJRVWtzU1VGRmJrUXNUMEZCVDJ0RkxFVkJhVU5VTEZOQlFWTXlSQ3haUVVGaE4wVXNSVUZCVVRoRkxFVkJRVXRxU3l4SFFVTnFReXhIUVVGTGJVWXNSVUZCVXl4SFFVRlBMRWRCUVV0QkxFVkJRVk1zUlVGQlJ5eE5RVUZOTEVsQlFVbHNSaXhYUVVGWExITkNRVU16UkN4SFFVRkphMFlzUlVGQlV6aEZMRVZCUVUxcVN5eEZRVUZSTEUxQlFVMHNTVUZCU1VNc1YwRkJWeXg1UTBFMlMyeEVMRk5CUVZOcFN5eFRRVUZWYUVzc1JVRkJTMDBzUlVGQlR6SkZMRVZCUVZFNFJTeEZRVUZMY2tJc1JVRkJTM2hETEVkQlF5OURMRWxCUVV0b1NDeFBRVUZQYTBRc1UwRkJVM0JETEVkQlFVMHNUVUZCVFN4SlFVRkpSeXhWUVVGVkxDdERRVU12UXl4SFFVRkpSeXhGUVVGUmIwa3NSMEZCVDNCSkxFVkJRVkUwUml4RlFVRkxMRTFCUVUwc1NVRkJTVzVITEZkQlFWY3NjVU5CUTNKRUxFZEJRVWxyUml4RlFVRlRPRVVzUlVGQlRTOUtMRVZCUVVsR0xFOUJRVkVzVFVGQlRTeEpRVUZKUXl4WFFVRlhMSE5DUVhsTWRFUXNVMEZCVTJ0TExHRkJRV05xU3l4RlFVRkxUU3hGUVVGUE1rVXNSVUZCVVRoRkxFVkJRVXR5UWl4RlFVRkxlRU1zUjBGRGJrUXNSMEZCU1dwQ0xFVkJRVk00UlN4RlFVRk5MMG9zUlVGQlNVWXNUMEZCVVN4TlFVRk5MRWxCUVVsRExGZEJRVmNzYzBKQlEzQkVMRWRCUVVsclJpeEZRVUZUTEVWQlFVY3NUVUZCVFN4SlFVRkpiRVlzVjBGQlZ5eHpRa0ZIZGtNc1UwRkJVMjFMTEZkQlFWbHNTeXhGUVVGTFRTeEZRVUZQTWtVc1JVRkJVV3RHTEVWQlFXTkRMRWRCVDNKRUxFOUJUa0U1U2l4SFFVRlRRU3hGUVVOVU1rVXNTMEZCYjBJc1JVRkRabTFHTEVkQlEwaElMR0ZCUVdGcVN5eEZRVUZMVFN4RlFVRlBNa1VzUlVGQlVTeEZRVUZITEhWQ1FVRjVRaXgxUWtGRkwwUnFSeXhSUVVGUk9FTXNUVUZCVFRsQ0xFVkJRVXROTEVWQlFVOHlSU3hGUVVGUmEwWXNSVUZCWXl4SFFVRkpMRWRCUXpkRGJFWXNSVUZCVXl4RlFWZHNRaXhUUVVGVGIwWXNXVUZCWVhKTExFVkJRVXROTEVWQlFVOHlSU3hGUVVGUmEwWXNSVUZCWTBNc1IwRlBkRVFzVDBGT1FUbEtMRWRCUVZOQkxFVkJRMVF5UlN4TFFVRnZRaXhGUVVObWJVWXNSMEZEU0Vnc1lVRkJZV3BMTEVWQlFVdE5MRVZCUVU4eVJTeEZRVUZSTEVWQlFVY3NkMEpCUVRCQ0xIZENRVVZvUldwSExGRkJRVkU0UXl4TlFVRk5PVUlzUlVGQlMwMHNSVUZCVHpKRkxFVkJRVkZyUml4RlFVRmpMRWRCUVVrc1IwRkROME5zUml4RlFVRlRMRVZCZG1Gc1FpOUdMRTlCUVU5UkxGVkJRVlZ4UXl4TlFVRlJMRk5CUVdkQ2NVSXNSVUZCVDBNc1IwRkRPVU1zU1VGQlNXaENMRVZCUVUxcFFpeExRVUZMZUVRc1VVRkRabk5FTEVsQlFWVkJMRWRCUjBVc1IwRkRWa0VzUjBGQlUyWXNSMEZEUnl4SlFVRkhaU3hGUVVGUkxFZEJRMlJCTEVWQlFWRm1MRWxCUTJwQ1pTeEZRVUZSWml4SlFVNVdaMElzVDBGQll6ZENMRWxCUVZJMlFpeEZRVUZ2UW1oQ0xFbEJRVkZuUWl4SFFWTjRRaXhIUVVOU1FTeEhRVUZQYUVJc1IwRkRSeXhKUVVGSFowSXNSVUZCVFN4SFFVTldRU3hGUVVGTmFFSXNTVUZEWm1kQ0xFVkJRVTFvUWl4SFFVZEtaMElzUlVGQlRVUXNTVUZCVDBNc1JVRkJUVVFzUjBGRmRrSXNTVUZCU1d0SUxFVkJRVk5vU0N4TFFVRkxhVWdzVTBGQlUyNUlMRVZCUVU5RExFZEJSMnhETEU5QlJFRnBTQ3hGUVVGUE4wc3NWVUZCV1ZBc1QwRkJUMUVzVlVGRGJrSTBTeXhIUVZkVWNFd3NUMEZCVDFFc1ZVRkJWVGhMTEZkQlFXRXNVMEZCY1VKMlJpeEZRVUZSY2tRc1JVRkJXWGRKTEVkQlEzSkZia1lzUzBGQmIwSXNSVUZEY0VKeVJDeExRVUUwUWl4RlFVTjJRbmRKTEVkQlFWVk9MRmxCUVZrM1JTeEZRVUZSY2tRc1JVRkJXVEJDTEV0QlFVdDRSQ3hSUVV0d1JDeEpRVWhCTEVsQlFVbHRSU3hGUVVGTldDeExRVUZMTWtJc1IwRkRXSGRHTEVWQlFVMHNSVUZEVG5oSkxFVkJRVWtzU1VGRFEwRXNSVUZCU1V3c1NVRkJaVFpKTEVkQlFVOHNUVUZEYWtONFJ5eEhRVUZQV0N4TFFVRkxNa0lzUlVGQlUyaEVMRWRCUVV0M1NTeEZRVWMxUWl4UFFVRlBlRWNzUjBGSFZDOUZMRTlCUVU5UkxGVkJRVlZuVEN4WFFVRmhMRk5CUVhGQ2VrWXNSVUZCVVhKRUxFVkJRVmwzU1N4SFFVTnlSVzVHTEV0QlFXOUNMRVZCUTNCQ2NrUXNTMEZCTkVJc1JVRkRka0ozU1N4SFFVTklUaXhaUVVGWk4wVXNSVUZCVVhKRUxFVkJRVmt3UWl4TFFVRkxlRVFzVVVGTGRrTXNTVUZHUVN4SlFVRkpiVVVzUlVGQlRWZ3NTMEZCU3pKQ0xFbEJRVmR5UkN4SFFVTjBRalpKTEVWQlFVMHNSVUZEU0RkSkxFVkJRV0VzU1VGQlRUWkpMRWRCUVU4c1RVRkRMMEo0Unl4SFFVRlBXQ3hMUVVGTE1rSXNTVUZCVjNKRUxFZEJRV00yU1N4RlFVZDJReXhQUVVGUGVFY3NSMEZIVkM5RkxFOUJRVTlSTEZWQlFWVnBUQ3hWUVVGWkxGTkJRVzlDTVVZc1JVRkJVVzFHTEVkQlIzWkVMRTlCUmtGdVJpeExRVUZ2UWl4RlFVTm1iVVlzUjBGQlZVNHNXVUZCV1RkRkxFVkJRVkVzUlVGQlJ6TkNMRXRCUVV0NFJDeFJRVU53UTNkRUxFdEJRVXN5UWl4SlFVZGtMMFlzVDBGQlQxRXNWVUZCVld0TUxHRkJRV1VzVTBGQmRVSXpSaXhGUVVGUmJVWXNSMEZITjBRc1QwRkdRVzVHTEV0QlFXOUNMRVZCUTJadFJpeEhRVUZWVGl4WlFVRlpOMFVzUlVGQlVTeEZRVUZITTBJc1MwRkJTM2hFTEZGQlEzQkRkMFFzUzBGQlN6SkNMRWRCUVZjelFpeExRVUZMTWtJc1JVRkJVeXhKUVVGTkxFZEJSemRETDBZc1QwRkJUMUVzVlVGQlZXdEdMR0ZCUVdVc1UwRkJkVUpMTEVWQlFWRnRSaXhIUVVjM1JDeFBRVVpCYmtZc1MwRkJiMElzUlVGRFptMUdMRWRCUVZWT0xGbEJRVmszUlN4RlFVRlJMRVZCUVVjelFpeExRVUZMZUVRc1VVRkRia04zUkN4TFFVRkxNa0lzU1VGQlZ5eEZRVUZMTTBJc1MwRkJTekpDTEVWQlFWTXNTVUZITjBNdlJpeFBRVUZQVVN4VlFVRlZiVXdzWVVGQlpTeFRRVUYxUWpWR0xFVkJRVkZ0Uml4SFFVazNSQ3hQUVVoQmJrWXNTMEZCYjBJc1JVRkRabTFHTEVkQlFWVk9MRmxCUVZrM1JTeEZRVUZSTEVWQlFVY3pRaXhMUVVGTGVFUXNVMEZGYkVOM1JDeExRVUZMTWtJc1IwRkRWRE5DTEV0QlFVc3lRaXhGUVVGVExFbEJRVTBzUlVGRGNFSXpRaXhMUVVGTE1rSXNSVUZCVXl4SlFVRk5MRWxCUTBRc1UwRkJia0l6UWl4TFFVRkxNa0lzUlVGQlV5eEpRVWR5UWk5R0xFOUJRVTlSTEZWQlFWVnZUQ3hoUVVGbExGTkJRWFZDTjBZc1JVRkJVVzFHTEVkQlNUZEVMRTlCU0VGdVJpeExRVUZ2UWl4RlFVTm1iVVlzUjBGQlZVNHNXVUZCV1RkRkxFVkJRVkVzUlVGQlJ6TkNMRXRCUVV0NFJDeFJRVVZ3UWl4VFFVRm1kMFFzUzBGQlN6SkNMRWxCUTFRelFpeExRVUZMTWtJc1JVRkJVeXhKUVVGTkxFZEJRM0pDTTBJc1MwRkJTekpDTEVWQlFWTXNTVUZCVFN4RlFVTnlRak5DTEV0QlFVc3lRaXhGUVVGVExFdEJSMnhDTDBZc1QwRkJUMUVzVlVGQlZYRk1MRlZCUVZrc1UwRkJiMEk1Uml4RlFVRlJja1FzUlVGQldYZEpMRWRCUTI1RmJrWXNTMEZCYjBJc1JVRkRjRUp5UkN4TFFVRTBRaXhGUVVOMlFuZEpMRWRCUVZWT0xGbEJRVmszUlN4RlFVRlJja1FzUlVGQldUQkNMRXRCUVV0NFJDeFJRVXR3UkN4SlFVaEJMRWxCUVVsdFJTeEZRVUZOV0N4TFFVRkxNa0lzUjBGRFdIZEdMRVZCUVUwc1JVRkRUbmhKTEVWQlFVa3NTVUZEUTBFc1JVRkJTVXdzU1VGQlpUWkpMRWRCUVU4c1RVRkRha040Unl4SFFVRlBXQ3hMUVVGTE1rSXNSVUZCVTJoRUxFZEJRVXQzU1N4RlFVMDFRaXhQUVVaSmVFY3NTVUZHU25kSExFZEJRVThzVDBGRlUzaEhMRWRCUVU5blF5eExRVUZMSzBVc1NVRkJTU3hGUVVGSExFVkJRVWx3U2l4SlFVVm9RM0ZETEVkQlIxUXZSU3hQUVVGUFVTeFZRVUZWZFV3c1ZVRkJXU3hUUVVGdlFtaEhMRVZCUVZGeVJDeEZRVUZaZDBrc1IwRkRia1Z1Uml4TFFVRnZRaXhGUVVOd1FuSkVMRXRCUVRSQ0xFVkJRM1pDZDBrc1IwRkJWVTRzV1VGQldUZEZMRVZCUVZGeVJDeEZRVUZaTUVJc1MwRkJTM2hFTEZGQlMzQkVMRWxCU0VFc1NVRkJTVzFETEVWQlFVbE1MRVZCUTBvMlNTeEZRVUZOTEVWQlEwNTRSeXhGUVVGTldDeExRVUZMTWtJc1NVRkJWMmhFTEVkQlEyNUNRU3hGUVVGSkxFbEJRVTEzU1N4SFFVRlBMRTFCUTNSQ2VFY3NSMEZCVDFnc1MwRkJTekpDTEVsQlFWZG9SQ3hIUVVGTGQwa3NSVUZOT1VJc1QwRkdTWGhITEVsQlJrcDNSeXhIUVVGUExFOUJSVk40Unl4SFFVRlBaME1zUzBGQlN5dEZMRWxCUVVrc1JVRkJSeXhGUVVGSmNFb3NTVUZGYUVOeFF5eEhRVWRVTDBVc1QwRkJUMUVzVlVGQlZYZE1MRk5CUVZjc1UwRkJiVUpxUnl4RlFVRlJiVVlzUjBGSGNrUXNUMEZHUVc1R0xFdEJRVzlDTEVWQlEyWnRSaXhIUVVGVlRpeFpRVUZaTjBVc1JVRkJVU3hGUVVGSE0wSXNTMEZCUzNoRUxGRkJRM1JDTEVsQlFXWjNSQ3hMUVVGTE1rSXNTVUZETUVJc1IwRkJOVUlzU1VGQlR6TkNMRXRCUVVzeVFpeEhRVUZWTEVkQlJFc3pRaXhMUVVGTE1rSXNTVUZKTTBNdlJpeFBRVUZQVVN4VlFVRlZlVXdzV1VGQll5eFRRVUZ6UW14SExFVkJRVkZ0Uml4SFFVTXpSRzVHTEV0QlFXOUNMRVZCUTJadFJpeEhRVUZWVGl4WlFVRlpOMFVzUlVGQlVTeEZRVUZITTBJc1MwRkJTM2hFTEZGQlF6TkRMRWxCUVVsdFJTeEZRVUZOV0N4TFFVRkxNa0lzUjBGQlZ6TkNMRXRCUVVzeVFpeEZRVUZUTEVsQlFVMHNSVUZET1VNc1QwRkJZeXhOUVVGT2FFSXNSVUZCYzBJc1YwRkJUa0VzUlVGQmJVSkJMRWRCUnpkREwwVXNUMEZCVDFFc1ZVRkJWVEJNTEZsQlFXTXNVMEZCYzBKdVJ5eEZRVUZSYlVZc1IwRkRNMFJ1Uml4TFFVRnZRaXhGUVVObWJVWXNSMEZCVlU0c1dVRkJXVGRGTEVWQlFWRXNSVUZCUnpOQ0xFdEJRVXQ0UkN4UlFVTXpReXhKUVVGSmJVVXNSVUZCVFZnc1MwRkJTekpDTEVWQlFWTXNSMEZCVFROQ0xFdEJRVXN5UWl4SlFVRlhMRVZCUXpsRExFOUJRV01zVFVGQlRtaENMRVZCUVhOQ0xGZEJRVTVCTEVWQlFXMUNRU3hIUVVjM1F5OUZMRTlCUVU5UkxGVkJRVlV5VEN4WlFVRmpMRk5CUVhOQ2NFY3NSVUZCVVcxR0xFZEJTVE5FTEU5QlNFRnVSaXhMUVVGdlFpeEZRVU5tYlVZc1IwRkJWVTRzV1VGQldUZEZMRVZCUVZFc1JVRkJSek5DTEV0QlFVdDRSQ3hSUVVWdVEzZEVMRXRCUVVzeVFpeEhRVU5XTTBJc1MwRkJTekpDTEVWQlFWTXNTVUZCVFN4RlFVTndRak5DTEV0QlFVc3lRaXhGUVVGVExFbEJRVTBzUjBGRGNFSXpRaXhMUVVGTE1rSXNSVUZCVXl4SlFVRk5MRWxCUjNwQ0wwWXNUMEZCVDFFc1ZVRkJWVFJNTEZsQlFXTXNVMEZCYzBKeVJ5eEZRVUZSYlVZc1IwRkpNMFFzVDBGSVFXNUdMRXRCUVc5Q0xFVkJRMlp0Uml4SFFVRlZUaXhaUVVGWk4wVXNSVUZCVVN4RlFVRkhNMElzUzBGQlMzaEVMRkZCUlc1RGQwUXNTMEZCU3pKQ0xFbEJRVmNzUjBGRGNrSXpRaXhMUVVGTE1rSXNSVUZCVXl4SlFVRk5MRWRCUTNCQ00wSXNTMEZCU3pKQ0xFVkJRVk1zU1VGQlRTeEZRVU53UWpOQ0xFdEJRVXN5UWl4RlFVRlRMRWxCUjI1Q0wwWXNUMEZCVDFFc1ZVRkJWVFpNTEZsQlFXTXNVMEZCYzBKMFJ5eEZRVUZSYlVZc1IwRkhNMFFzVDBGR1FXNUdMRXRCUVc5Q0xFVkJRMlp0Uml4SFFVRlZUaXhaUVVGWk4wVXNSVUZCVVN4RlFVRkhNMElzUzBGQlMzaEVMRkZCUTNCRFpDeFJRVUZSTWtZc1MwRkJTM0pDTEV0QlFVMHlRaXhIUVVGUkxFVkJRVTBzUjBGQlNTeEpRVWM1UXk5R0xFOUJRVTlSTEZWQlFWVTRUQ3haUVVGakxGTkJRWE5DZGtjc1JVRkJVVzFHTEVkQlJ6TkVMRTlCUmtGdVJpeExRVUZ2UWl4RlFVTm1iVVlzUjBGQlZVNHNXVUZCV1RkRkxFVkJRVkVzUlVGQlJ6TkNMRXRCUVV0NFJDeFJRVU53UTJRc1VVRkJVVEpHTEV0QlFVdHlRaXhMUVVGTk1rSXNSMEZCVVN4RlFVRlBMRWRCUVVrc1NVRkhMME12Uml4UFFVRlBVU3hWUVVGVkswd3NZVUZCWlN4VFFVRjFRbmhITEVWQlFWRnRSaXhIUVVjM1JDeFBRVVpCYmtZc1MwRkJiMElzUlVGRFptMUdMRWRCUVZWT0xGbEJRVmszUlN4RlFVRlJMRVZCUVVjelFpeExRVUZMZUVRc1VVRkRjRU5rTEZGQlFWRXlSaXhMUVVGTGNrSXNTMEZCVFRKQ0xFZEJRVkVzUlVGQlRTeEhRVUZKTEVsQlJ6bERMMFlzVDBGQlQxRXNWVUZCVldkTkxHRkJRV1VzVTBGQmRVSjZSeXhGUVVGUmJVWXNSMEZITjBRc1QwRkdRVzVHTEV0QlFXOUNMRVZCUTJadFJpeEhRVUZWVGl4WlFVRlpOMFVzUlVGQlVTeEZRVUZITTBJc1MwRkJTM2hFTEZGQlEzQkRaQ3hSUVVGUk1rWXNTMEZCUzNKQ0xFdEJRVTB5UWl4SFFVRlJMRVZCUVU4c1IwRkJTU3hKUVZNdlF5OUdMRTlCUVU5UkxGVkJRVlZwVFN4WlFVRmpMRk5CUVhOQ2Nrd3NSVUZCVHpKRkxFVkJRVkZ5UkN4RlFVRlpkMGtzU1VGRE9VVTVTaXhIUVVGVFFTeEZRVU5VTWtVc1MwRkJiMElzUlVGRGNFSnlSQ3hMUVVFMFFpeEZRVU4yUW5kSkxFbEJSVWhLTEZOQlFWTXhSeXhMUVVGTmFFUXNSVUZCVHpKRkxFVkJRVkZ5UkN4RlFVUm1jVVVzUzBGQlN5dEZMRWxCUVVrc1JVRkJSeXhGUVVGSmNFb3NSMEZCWXl4RlFVTlBMRWRCUjNSRUxFbEJRVWsyU1N4RlFVRk5MRVZCUTA1NFNTeEZRVUZKTEVWQlJWSXNTVUZFUVhGQ0xFdEJRVXN5UWl4SFFVRnJRaXhKUVVGU00wVXNTVUZEVGpKQ0xFVkJRVWxNTEVsQlFXVTJTU3hIUVVGUExFMUJRMnBEYmtnc1MwRkJTekpDTEVWQlFWTm9SQ3hIUVVGTk0wSXNSVUZCVVcxTExFVkJRVThzU1VGSGNrTXNUMEZCVDNoR0xFVkJRVk55UkN4SFFVZHNRakZETEU5QlFVOVJMRlZCUVZWclRTeFpRVUZqTEZOQlFYTkNkRXdzUlVGQlR6SkZMRVZCUVZGeVJDeEZRVUZaZDBrc1NVRkRPVVU1U2l4SFFVRlRRU3hGUVVOVU1rVXNTMEZCYjBJc1JVRkRjRUp5UkN4TFFVRTBRaXhGUVVOMlFuZEpMRWxCUlVoS0xGTkJRVk14Unl4TFFVRk5hRVFzUlVGQlR6SkZMRVZCUVZGeVJDeEZRVVJtY1VVc1MwRkJTeXRGTEVsQlFVa3NSVUZCUnl4RlFVRkpjRW9zUjBGQll5eEZRVU5QTEVkQlIzUkVMRWxCUVVsTExFVkJRVWxNTEVWQlFXRXNSVUZEYWtJMlNTeEZRVUZOTEVWQlJWWXNTVUZFUVc1SUxFdEJRVXN5UWl4RlFVRlRhRVFzUjBGQllTeEpRVUZTTTBJc1NVRkRWakpDTEVkQlFVc3NTVUZCVFhkSkxFZEJRVThzVFVGRGVrSnVTQ3hMUVVGTE1rSXNSVUZCVTJoRUxFZEJRVTB6UWl4RlFVRlJiVXNzUlVGQlR5eEpRVWR5UXl4UFFVRlBlRVlzUlVGQlUzSkVMRWRCUjJ4Q01VTXNUMEZCVDFFc1ZVRkJWVzFOTEZkQlFXRXNVMEZCY1VKMlRDeEZRVUZQTWtVc1JVRkJVVzFHTEVkQlMyaEZMRTlCU2tFNVNpeEhRVUZUUVN4RlFVTlVNa1VzUzBGQmIwSXNSVUZEWm0xR0xFZEJRVlZLTEZOQlFWTXhSeXhMUVVGTmFFUXNSVUZCVHpKRkxFVkJRVkVzUlVGQlJ5eEpRVUZOTEVkQlEzUkVNMElzUzBGQlN6SkNMRWRCUVcxQ0xFbEJRVkl6UlN4RlFVTlVNa1VzUlVGQlV5eEhRVWRzUWk5R0xFOUJRVTlSTEZWQlFWVnZUU3hqUVVGblFpeFRRVUYzUW5oTUxFVkJRVTh5UlN4RlFVRlJiVVlzUjBGTmRFVXNUMEZNUVRsS0xFZEJRVk5CTEVWQlExUXlSU3hMUVVGdlFpeEZRVU5tYlVZc1IwRkJWVW9zVTBGQlV6RkhMRXRCUVUxb1JDeEZRVUZQTWtVc1JVRkJVU3hGUVVGSExFMUJRVkVzUjBGRGVFUXpRaXhMUVVGTE1rSXNSMEZCYlVJc1NVRkJVak5GTEVWQlEyaENaMFFzUzBGQlN6SkNMRVZCUVZNc1IwRkJUVE5GTEVsQlFWVXNSVUZEZGtJeVJTeEZRVUZUTEVkQlIyeENMMFlzVDBGQlQxRXNWVUZCVlhGTkxHTkJRV2RDTEZOQlFYZENla3dzUlVGQlR6SkZMRVZCUVZGdFJpeEhRVTEwUlN4UFFVeEJPVW9zUjBGQlUwRXNSVUZEVkRKRkxFdEJRVzlDTEVWQlEyWnRSaXhIUVVGVlNpeFRRVUZUTVVjc1MwRkJUV2hFTEVWQlFVOHlSU3hGUVVGUkxFVkJRVWNzVFVGQlVTeEhRVU40UkROQ0xFdEJRVXN5UWl4SFFVRlhNMFVzU1VGQlZTeEZRVU14UW1kRUxFdEJRVXN5UWl4RlFVRlRMRWRCUVdNc1NVRkJVak5GTEVWQlEySXlSU3hGUVVGVExFZEJSMnhDTDBZc1QwRkJUMUVzVlVGQlZYTk5MR05CUVdkQ0xGTkJRWGRDTVV3c1JVRkJUekpGTEVWQlFWRnRSaXhIUVZGMFJTeFBRVkJCT1Vvc1IwRkJVMEVzUlVGRFZESkZMRXRCUVc5Q0xFVkJRMlp0Uml4SFFVRlZTaXhUUVVGVE1VY3NTMEZCVFdoRUxFVkJRVTh5UlN4RlFVRlJMRVZCUVVjc1YwRkJXU3hIUVVNMVJETkNMRXRCUVVzeVFpeEZRVUZUTEVkQlFVMHpSU3hKUVVGVkxFZEJRemxDWjBRc1MwRkJTekpDTEVWQlFWTXNSMEZCVFRORkxFbEJRVlVzUjBGRE9VSm5SQ3hMUVVGTE1rSXNSVUZCVXl4SFFVRk5NMFVzU1VGQlZTeEZRVU01UW1kRUxFdEJRVXN5UWl4SFFVRnRRaXhKUVVGU00wVXNSVUZEVkRKRkxFVkJRVk1zUjBGSGJFSXZSaXhQUVVGUFVTeFZRVUZWZFUwc1kwRkJaMElzVTBGQmQwSXpUQ3hGUVVGUE1rVXNSVUZCVVcxR0xFZEJVWFJGTEU5QlVFRTVTaXhIUVVGVFFTeEZRVU5VTWtVc1MwRkJiMElzUlVGRFptMUdMRWRCUVZWS0xGTkJRVk14Unl4TFFVRk5hRVFzUlVGQlR6SkZMRVZCUVZFc1JVRkJSeXhYUVVGWkxFZEJRelZFTTBJc1MwRkJTekpDTEVkQlFWY3pSU3hKUVVGVkxFZEJRekZDWjBRc1MwRkJTekpDTEVWQlFWTXNSMEZCVFRORkxFbEJRVlVzUjBGRE9VSm5SQ3hMUVVGTE1rSXNSVUZCVXl4SFFVRk5NMFVzU1VGQlZTeEZRVU01UW1kRUxFdEJRVXN5UWl4RlFVRlRMRWRCUVdNc1NVRkJVak5GTEVWQlEySXlSU3hGUVVGVExFZEJSMnhDTDBZc1QwRkJUMUVzVlVGQlZYZE5MRmRCUVdFc1UwRkJjVUkxVEN4RlFVRlBNa1VzUlVGQlVYSkVMRVZCUVZsM1NTeEhRVWMxUlN4SFFVWkJPVW9zUjBGQlUwRXNSVUZEVkRKRkxFdEJRVzlDTEVkQlEyWnRSaXhGUVVGVkxFTkJRMklzU1VGQlNTdENMRVZCUVZGc1J5eExRVUZMSzBVc1NVRkJTU3hGUVVGSkxFVkJRVWx3U2l4RlFVRmpMRWRCUlRORGIwa3NVMEZCVXpGSExFdEJRVTFvUkN4RlFVRlBNa1VzUlVGQlVYSkVMRVZCUVZsMVN5eEZRVUZSTEVkQlFVbEJMRWRCUjNoRUxFbEJRVWxzU3l4RlFVRkpMRVZCUTBwM1NTeEZRVUZOTEVWQlEwNHlRaXhGUVVGTkxFVkJSVllzU1VGRVFUbEpMRXRCUVVzeVFpeEhRVUZyUWl4SlFVRlNNMFVzU1VGRFRqSkNMRVZCUVVsTUxFbEJRV1UyU1N4SFFVRlBMRTFCUXpkQ2Jrc3NSVUZCVVN4SFFVRmhMRWxCUVZJNFRDeEhRVUZ6UXl4SlFVRjZRamxKTEV0QlFVc3lRaXhGUVVGVGFFUXNSVUZCU1N4TFFVTTVRMjFMTEVWQlFVMHNSMEZGVWpsSkxFdEJRVXN5UWl4RlFVRlRhRVFzU1VGQlR6TkNMRVZCUVZGdFN5eEhRVUZSTEVkQlFVc3lRaXhGUVVGTkxFbEJSMnhFTEU5QlFVOXVTQ3hGUVVGVGNrUXNSMEZIYkVJeFF5eFBRVUZQVVN4VlFVRlZNazBzVjBGQllTeFRRVUZ4UWk5TUxFVkJRVTh5UlN4RlFVRlJja1FzUlVGQldYZEpMRWRCUnpWRkxFZEJSa0U1U2l4SFFVRlRRU3hGUVVOVU1rVXNTMEZCYjBJc1IwRkRabTFHTEVWQlFWVXNRMEZEWWl4SlFVRkpLMElzUlVGQlVXeEhMRXRCUVVzclJTeEpRVUZKTEVWQlFVa3NSVUZCU1hCS0xFVkJRV01zUjBGRk0wTnZTU3hUUVVGVE1VY3NTMEZCVFdoRUxFVkJRVTh5UlN4RlFVRlJja1FzUlVGQldYVkxMRVZCUVZFc1IwRkJTVUVzUjBGSGVFUXNTVUZCU1d4TExFVkJRVWxNTEVWQlFXRXNSVUZEYWtJMlNTeEZRVUZOTEVWQlEwNHlRaXhGUVVGTkxFVkJSVllzU1VGRVFUbEpMRXRCUVVzeVFpeEZRVUZUYUVRc1IwRkJZU3hKUVVGU00wSXNTVUZEVmpKQ0xFZEJRVXNzU1VGQlRYZEpMRWRCUVU4c1RVRkRja0p1U3l4RlFVRlJMRWRCUVdFc1NVRkJVamhNTEVkQlFYTkRMRWxCUVhwQ09Va3NTMEZCU3pKQ0xFVkJRVk5vUkN4RlFVRkpMRXRCUXpsRGJVc3NSVUZCVFN4SFFVVlNPVWtzUzBGQlN6SkNMRVZCUVZOb1JDeEpRVUZQTTBJc1JVRkJVVzFMTEVkQlFWRXNSMEZCU3pKQ0xFVkJRVTBzU1VGSGJFUXNUMEZCVDI1SUxFVkJRVk55UkN4SFFVZHNRakZETEU5QlFVOVJMRlZCUVZVMFRTeFZRVUZaTEZOQlFXOUNhRTBzUlVGQlR6SkZMRVZCUVZGdFJpeEhRVTA1UkN4UFFVeEJPVW9zUjBGQlUwRXNSVUZEVkRKRkxFdEJRVzlDTEVWQlEyWnRSaXhIUVVGVlNpeFRRVUZUTVVjc1MwRkJUV2hFTEVWQlFVOHlSU3hGUVVGUkxFVkJRVWNzUzBGQlR5eExRVU51UkRORkxFVkJRVkVzU1VGQlIwRXNSVUZCVVN4SlFVRlBRU3hGUVVGUkxFZEJRM1JEWjBRc1MwRkJTekpDTEVkQlFXMUNMRWxCUVZJelJTeEZRVU5VTWtVc1JVRkJVeXhIUVVkc1FpOUdMRTlCUVU5UkxGVkJRVlUyVFN4aFFVRmxMRk5CUVhWQ2FrMHNSVUZCVHpKRkxFVkJRVkZ0Uml4SFFVMXdSU3hQUVV4Qk9Vb3NSMEZCVTBFc1JVRkRWREpGTEV0QlFXOUNMRVZCUTJadFJpeEhRVUZWU2l4VFFVRlRNVWNzUzBGQlRXaEVMRVZCUVU4eVJTeEZRVUZSTEVWQlFVY3NUMEZCVXl4UFFVTjZSRE5DTEV0QlFVc3lRaXhIUVVGdFFpeEpRVUZTTTBVc1JVRkRhRUpuUkN4TFFVRkxNa0lzUlVGQlV5eEhRVUZOTTBVc1NVRkJWU3hGUVVOMlFqSkZMRVZCUVZNc1IwRkhiRUl2Uml4UFFVRlBVU3hWUVVGVk9FMHNZVUZCWlN4VFFVRjFRbXhOTEVWQlFVOHlSU3hGUVVGUmJVWXNSMEZOY0VVc1QwRk1RVGxLTEVkQlFWTkJMRVZCUTFReVJTeExRVUZ2UWl4RlFVTm1iVVlzUjBGQlZVb3NVMEZCVXpGSExFdEJRVTFvUkN4RlFVRlBNa1VzUlVGQlVTeEZRVUZITEU5QlFWTXNUMEZEZWtRelFpeExRVUZMTWtJc1IwRkJWek5GTEVsQlFWVXNSVUZETVVKblJDeExRVUZMTWtJc1JVRkJVeXhIUVVGakxFbEJRVkl6UlN4RlFVTmlNa1VzUlVGQlV5eEhRVWRzUWk5R0xFOUJRVTlSTEZWQlFWVXJUU3hoUVVGbExGTkJRWFZDYmswc1JVRkJUekpGTEVWQlFWRnRSaXhIUVZGd1JTeFBRVkJCT1Vvc1IwRkJVMEVzUlVGRFZESkZMRXRCUVc5Q0xFVkJRMlp0Uml4SFFVRlZTaXhUUVVGVE1VY3NTMEZCVFdoRUxFVkJRVTh5UlN4RlFVRlJMRVZCUVVjc1dVRkJZU3haUVVNM1JETkNMRXRCUVVzeVFpeEhRVUZ0UWl4SlFVRlNNMFVzUlVGRGFFSm5SQ3hMUVVGTE1rSXNSVUZCVXl4SFFVRk5NMFVzU1VGQlZTeEZRVU01UW1kRUxFdEJRVXN5UWl4RlFVRlRMRWRCUVUwelJTeEpRVUZWTEVkQlF6bENaMFFzUzBGQlN6SkNMRVZCUVZNc1IwRkJUVE5GTEVsQlFWVXNSMEZEZGtJeVJTeEZRVUZUTEVkQlIyeENMMFlzVDBGQlQxRXNWVUZCVldkT0xHRkJRV1VzVTBGQmRVSndUU3hGUVVGUE1rVXNSVUZCVVcxR0xFZEJVM0JGTEU5QlVrRTVTaXhIUVVGVFFTeEZRVU5VTWtVc1MwRkJiMElzUlVGRFptMUdMRWRCUVZWS0xGTkJRVk14Unl4TFFVRk5hRVFzUlVGQlR6SkZMRVZCUVZFc1JVRkJSeXhaUVVGaExGbEJRM3BFTTBVc1JVRkJVU3hKUVVGSFFTeEZRVUZSTEZkQlFXRkJMRVZCUVZFc1IwRkROVU5uUkN4TFFVRkxNa0lzUjBGQlZ6TkZMRWxCUVZVc1IwRkRNVUpuUkN4TFFVRkxNa0lzUlVGQlV5eEhRVUZOTTBVc1NVRkJWU3hIUVVNNVFtZEVMRXRCUVVzeVFpeEZRVUZUTEVkQlFVMHpSU3hKUVVGVkxFVkJRemxDWjBRc1MwRkJTekpDTEVWQlFWTXNSMEZCWXl4SlFVRlNNMFVzUlVGRFlqSkZMRVZCUVZNc1IwRnJRbXhDTDBZc1QwRkJUMUVzVlVGQlZXbE9MR0ZCUVdVc1UwRkJkVUp5VFN4RlFVRlBNa1VzUlVGQlVXMUdMRWRCUTNCRkxFOUJRVTlHTEZkQlFWYzFSeXhMUVVGTmFFUXNSVUZCVHpKRkxFZEJRVkVzUlVGQlRXMUdMRWxCUnk5RGJFd3NUMEZCVDFFc1ZVRkJWV3RPTEdGQlFXVXNVMEZCZFVKMFRTeEZRVUZQTWtVc1JVRkJVVzFHTEVkQlEzQkZMRTlCUVU5R0xGZEJRVmMxUnl4TFFVRk5hRVFzUlVGQlR6SkZMRWRCUVZFc1JVRkJUMjFHTEVsQllXaEViRXdzVDBGQlQxRXNWVUZCVlcxT0xHTkJRV2RDTEZOQlFYZENkazBzUlVGQlR6SkZMRVZCUVZGdFJpeEhRVU4wUlN4UFFVRlBReXhaUVVGWkwwY3NTMEZCVFdoRUxFVkJRVTh5UlN4SFFVRlJMRVZCUVUxdFJpeEpRVWRvUkd4TUxFOUJRVTlSTEZWQlFWVnZUaXhqUVVGblFpeFRRVUYzUW5oTkxFVkJRVTh5UlN4RlFVRlJiVVlzUjBGRGRFVXNUMEZCVDBNc1dVRkJXUzlITEV0QlFVMW9SQ3hGUVVGUE1rVXNSMEZCVVN4RlFVRlBiVVlzU1VGSmFrUnNUQ3hQUVVGUFVTeFZRVUZWTkVNc1MwRkJUeXhUUVVGbGRVY3NSVUZCVVd0RkxFVkJRV0V6U2l4RlFVRlBReXhIUVVOcVJTeEpRVUZMYmtVc1QwRkJUMnRFTEZOQlFWTjVSeXhIUVVGVExFMUJRVTBzU1VGQlNURkpMRlZCUVZVc0swSkJVV3hFTEVkQlVFdHBSQ3hKUVVGUFFTeEZRVUZSTEVkQlEyWkRMRWRCUVdVc1NVRkJVa0VzU1VGQlYwRXNSVUZCVFVNc1MwRkJTM2hFTEZGQlF6bENhVTRzUjBGQlpXeEZMRVZCUVU4dlNTeFRRVUZSYVU0c1JVRkJZMnhGTEVWQlFVOHZTU3hSUVVOc1JHbE9MRWxCUVdGQkxFVkJRV01zUjBGRE5VSXhTaXhGUVVGTkxFZEJRVXRCTEVWQlFVMUVMRWxCUVU5RExFVkJRVTFFTEVkQlJ6bENReXhKUVVGUlJDeEZRVUZQTEU5QlFVOHNSVUZETVVJc1IwRkJjMElzU1VGQmJFSjVSaXhGUVVGUEwwa3NVVUZCWjBNc1NVRkJhRUozUkN4TFFVRkxlRVFzVDBGQll5eFBRVUZQTEVWQlIzSkVMRWRCUVVscFRpeEZRVUZqTEVWQlEyaENMRTFCUVUwc1NVRkJTV2hPTEZkQlFWY3NOa0pCUlhaQ0xFZEJRVWx4UkN4RlFVRlJMRWRCUVV0QkxFZEJRVk5GTEV0QlFVdDRSQ3hQUVVGUkxFMUJRVTBzU1VGQlNVTXNWMEZCVnl4elFrRkROVVFzUjBGQlNYTkVMRVZCUVUwc1JVRkJSeXhOUVVGTkxFbEJRVWwwUkN4WFFVRlhMREpDUVVjNVFuTkVMRVZCUVUxRExFdEJRVXQ0UkN4VFFVRlJkVVFzUlVGQlRVTXNTMEZCUzNoRUxGRkJRemxDSzBrc1JVRkJUeTlKTEU5QlFWTnBUaXhGUVVGak1Vb3NSVUZCVFVRc1NVRkRkRU5ETEVWQlFVMTNSaXhGUVVGUEwwa3NUMEZCVTJsT0xFVkJRV016U2l4SFFVZDBReXhKUVVGSlppeEZRVUZOWjBJc1JVRkJUVVFzUlVGRmFFSXNSMEZCU1VVc1QwRkJVM1ZHTEVkQlFYRkVMRzFDUVVGd1EzSktMRmRCUVZkRkxGVkJRVlZ6VGl4WFFVVnFSREZLTEV0QlFVc3dTaXhYUVVGWFJDeEZRVUZoTTBvc1JVRkJUME1zVVVGREwwSXNSMEZCU1VNc1QwRkJVM1ZHTEVkQlFWVjZSaXhGUVVGUk1rb3NSMEZCWlVFc1JVRkJZekZLTEVWQlJXcEZMRWxCUVVzc1NVRkJTWEJDTEVWQlFVbEpMRVZCUVUwc1JVRkJSMG9zUjBGQlN5eEpRVUZMUVN4RlFVTTVRalJITEVWQlFVODFSeXhGUVVGSk9Fc3NSMEZCWlhwS0xFdEJRVXR5UWl4RlFVRkpiVUlzVVVGSGNrTTFSQ3hYUVVGWFJTeFZRVUZWZFU0c1NVRkJTVFZKTEV0QlEzWkNkMFVzUlVGRFFYWkdMRXRCUVV0cFNDeFRRVUZUYmtnc1JVRkJUME1zUjBGRGNrSXdTaXhIUVVsS0xFOUJRVTh4U3l4SFFVOVVia1FzVDBGQlQxRXNWVUZCVlRSQ0xFdEJRVThzVTBGQlpUSkRMRVZCUVV0aUxFVkJRVTlETEVWQlFVczVRaXhIUVVWMFJDeEhRVUZ0UWl4cFFrRkJVakJETEVWQlFXdENMRU5CVXpOQ0xFZEJVbkZDTEdsQ1FVRldZaXhIUVVOVU4wSXNSVUZCVnpaQ0xFVkJRMWhCTEVWQlFWRXNSVUZEVWtNc1JVRkJUVU1zUzBGQlMzaEVMRkZCUTJFc2FVSkJRVkoxUkN4SlFVTm9RamxDTEVWQlFWYzRRaXhGUVVOWVFTeEZRVUZOUXl4TFFVRkxlRVFzWVVGRlNUQkNMRWxCUVdKRUxFZEJRVGhETEdsQ1FVRmlRU3hGUVVOdVF5eE5RVUZOTEVsQlFVbHdRaXhWUVVGVkxEWkNRVVYwUWl4SFFVRjNRaXhwUWtGQlltOUNMRWxCUVRCQ2NrTXNUMEZCVDNsRExGZEJRVmRLTEVkQlEzSkVMRTFCUVUwc1NVRkJTWEJDTEZWQlFWVXNjVUpCUVhWQ2IwSXNSMEZGTjBNc1IwRkJiVUlzU1VGQlpqQkRMRVZCUVVsdVJTeFBRVUZqTEVOQlEzQkNMRWxCUVVsdlRpeEZRVUZQYWtvc1JVRkJTV3RLTEZkQlFWY3NTVUZEVWl4VFFVRmlOVXdzUjBGQmRVSXlUQ3hGUVVGUExFdEJRMnhDTEZkQlFXSXpUQ3hMUVVWR01FTXNSVUZCVFdsS0xGRkJSMk1zYVVKQlFWSnFTaXhKUVVOb1FrRXNSMEZCV1N4TFFVbGtMRWRCUVVsaUxFVkJRVkVzUjBGQlMwVXNTMEZCUzNoRUxFOUJRVk56UkN4SFFVRlRSU3hMUVVGTGVFUXNUMEZCVTNWRUxFVkJRM0JFTEUxQlFVMHNTVUZCU1hSRUxGZEJRVmNzYzBKQlIzWkNMRWRCUVVselJDeEhRVUZQUkN4RlFVTlVMRTlCUVU5RkxFdEJVVlFzU1VGQlNYSkNMRVZCUTBvc1IwRk9RVzFDTEV0QlFXdENMRVZCUTJ4Q1F5eFBRVUZqTjBJc1NVRkJValpDTEVWQlFXOUNReXhMUVVGTGVFUXNUMEZCVTNWRUxFbEJRVkVzUlVGRk0wTlpMRWxCUVV0QkxFVkJRVTBzUjBGSFJ5eHBRa0ZCVWtFc1JVRkRWQ3hKUVVGTGFFTXNSVUZCU1cxQ0xFVkJRVTl1UWl4RlFVRkpiMElzU1VGQlQzQkNMRVZCUTNwQ2NVSXNTMEZCUzNKQ0xFZEJRVXRuUXl4TlFVVlFMRU5CUTB3c1NVRkJTVFJHTEVWQlFWRXpTeXhQUVVGUGEwUXNVMEZCVXpaQ0xFZEJRM2hDUVN4RlFVTkJMMFVzVDBGQlQyMUNMRXRCUVVzMFJDeEZRVUZMTVVNc1IwRkRha0pqTEVWQlFVMTNTQ3hGUVVGTkwwb3NUMEZEYUVJc1IwRkJXU3hKUVVGU2RVTXNSVUZEUml4TlFVRk5MRWxCUVVsc1F5eFZRVUZWTEdOQlFXZENPRVFzUlVGRGJFTXNjVU5CUlVvc1NVRkJTMmhETEVWQlFVa3NSVUZCUjBFc1JVRkJTVzlDTEVWQlFVMUVMRWxCUVZOdVFpeEZRVU0zUW5GQ0xFdEJRVXR5UWl4RlFVRkpiVUlzUjBGQlUzbEhMRVZCUVUwMVNDeEZRVUZKU1N4SFFVbG9ReXhQUVVGUGFVSXNUVUZOVkN4SlFVRkpPRW9zYTBKQlFXOUNMRzlDUVVWNFFpeFRRVUZUUXl4WlFVRmhOVVVzUjBGTmNFSXNTVUZHUVVFc1IwRkdRVUVzUlVGQlRVRXNSVUZCU1RaRkxFMUJRVTBzUzBGQlN5eEpRVVZZTVVVc1QwRkJUMFFzVVVGQlVYbEZMR3RDUVVGdFFpeExRVVZ3UTNST0xFOUJRVk1zUlVGQlJ5eE5RVUZQTEVkQlJUTkNMRXRCUVU4eVNTeEZRVUZKTTBrc1QwRkJVeXhIUVVGTkxFZEJRM2hDTWtrc1IwRkJXU3hKUVVWa0xFOUJRVTlCTEVWQlIxUXNVMEZCVTIxQ0xFMUJRVTg1Uml4SFFVTmtMRTlCUVVsQkxFVkJRVWtzUjBGQlZ5eEpRVUZOUVN4RlFVRkZiRUlzVTBGQlV5eEpRVU0zUW10Q0xFVkJRVVZzUWl4VFFVRlRMRWxCUjNCQ0xGTkJRVk5KTEZsQlFXRjBRaXhGUVVGUk5rd3NSMEZGTlVJc1NVRkJTVGxITEVWQlJFbzRSeXhGUVVGUlFTeEhRVUZUUXl4RlFVRkJRU3hGUVUxcVFpeEpRVXBCTEVsQlFVa3hUaXhGUVVGVE5FSXNSVUZCVHpWQ0xFOUJRMmhDTWs0c1JVRkJaMElzUzBGRGFFSTFSQ3hGUVVGUkxFZEJSVWcxU0N4RlFVRkpMRVZCUVVkQkxFVkJRVWx1UXl4SlFVRlZiVU1zUlVGQlJ5eERRVWt2UWl4SlFVaEJkMFVzUlVGQldTOUZMRVZCUVU5NVRDeFhRVUZYYkV3c1NVRkhaQ3hQUVVGVmQwVXNSVUZCV1N4TlFVRlJMRU5CUlRWRExFbEJRVXRuU0N4RlFVRmxMRU5CUld4Q0xFZEJRVWxvU0N4RlFVRlpMRTFCUVZFc1JVRkZha0k0Unl4SFFVRlRMRWxCUVUwc1IwRkJSekZFTEVWQlFVMXNSQ3hMUVVGTExFbEJRVTBzU1VGQlRTeExRVU01UXl4VFFVTkxMRWRCUVVreFJTeEZRVUZKTEVsQlFVMXVReXhGUVVGUkxFVkJSWFJDZVU0c1IwRkJVeXhKUVVGTkxFZEJRVWN4UkN4RlFVRk5iRVFzUzBGQlN5eEpRVUZOTEVsQlFVMHNTMEZET1VNc1UwRkpSamhITEVWQlFXZENhRWdzUlVGRmFFSXNVMEZKUml4SFFVRkpRU3hGUVVGWkxFMUJRVkVzUlVGRGFrSTRSeXhIUVVGVExFbEJRVTBzUjBGQlJ6RkVMRVZCUVUxc1JDeExRVUZMTEVsQlFVMHNTVUZCVFN4TFFVTTVRemhITEVWQlFXZENhRWdzUlVGRGFFSXNVMEZKUmtFc1JVRkJhMFVzVDBGQmNrUm5TQ3hGUVVGblFpeFBRVUZWTEVkQlFVdG9TQ3hGUVVGWkxGbEJReTlEWjBnc1NVRkZTa1lzUjBGQlV5eEpRVUZOTEVkQlFVY3hSQ3hGUVVGTmJFUXNTMEZCU3l4SlFVRk5MRWxCUVUwc1MwRk5hRVFzUjBGSVFUaEhMRVZCUVdkQ0xFdEJSMXBvU0N4RlFVRlpMRWxCUVUwc1EwRkRjRUlzU1VGQlN6aEhMRWRCUVZNc1IwRkJTeXhGUVVGSExFMUJRM1JDTVVRc1JVRkJUV3hFTEV0QlFVdEdMRkZCUTA0c1IwRkJTVUVzUlVGQldTeExRVUZQTEVOQlF6VkNMRWxCUVVzNFJ5eEhRVUZUTEVkQlFVc3NSVUZCUnl4TlFVTjBRakZFTEVWQlFVMXNSQ3hMUVVOS1JpeEhRVUZoTEVWQlFVMHNTVUZEVUN4SFFVRmFRU3hGUVVGdFFpeFZRVVZvUWl4SFFVRkpRU3hGUVVGWkxFMUJRVk1zUTBGRE9VSXNTVUZCU3poSExFZEJRVk1zUjBGQlN5eEZRVUZITEUxQlEzUkNNVVFzUlVGQlRXeEVMRXRCUTBwR0xFZEJRV0VzUjBGQlRTeEpRVU51UWtFc1IwRkJZU3hGUVVGTkxFZEJRVThzU1VGRFpDeEhRVUZhUVN4RlFVRnRRaXhUUVVWb1FpeERRVUZCTEV0QlFVbEJMRVZCUVZrc1UwRlRja0lzVFVGQlRTeEpRVUZKTWtNc1RVRkJUU3h6UWtGU2FFSXNTVUZCUzIxRkxFZEJRVk1zUjBGQlN5eEZRVUZITEUxQlEzUkNNVVFzUlVGQlRXeEVMRXRCUTBwR0xFZEJRV0VzUjBGQlR5eEpRVU53UWtFc1IwRkJZU3hIUVVGTkxFZEJRVThzU1VGRE1VSkJMRWRCUVdFc1JVRkJUU3hIUVVGUExFbEJRMlFzUjBGQldrRXNSVUZCYlVJc1RVRlBla0lzVDBGQlQyOUVMRVZCUjFRc1UwRkJVMnhGTEdGQlFXTTRReXhIUVVWeVFpeEpRVVJCTEVsQlFVbHBSaXhGUVVGWkxFZEJRMUI2VEN4RlFVRkpMRVZCUVVkQkxFVkJRVWwzUnl4RlFVRkpNMGtzVTBGQlZXMURMRVZCUldoRGVVd3NSVUZCVlM5SExFdEJRWGxDTEVsQlFYQkNPRUlzUlVGQlNUQkZMRmRCUVZkc1RDeEpRVVZvUXl4UFFVRlBlVXdzUlVGSFZDeFRRVUZUTTBnc1pVRkJaMEl3UXl4RlFVRkxPRVVzUjBGSE5VSXNTVUZHUVN4SlFVRkpTU3hGUVVGSFF5eEZRVUZKUXl4RlFVTlFTQ3hGUVVGWkxFZEJRMUI2VEN4RlFVRkpMRVZCUVVkQkxFVkJRVWwzUnl4RlFVRkpNMGtzVjBGRGFrSjVUaXhIUVVGVExFZEJRVXNzUzBGRVlYUk1MRVZCU1doRE1rd3NSMEZFUVVRc1JVRkJTV3hHTEVWQlFVa3dSU3hYUVVGWGJFd3NTMEZEVkN4RlFVTldORXdzUlVGQlMwWXNSVUZCU1N4SlFVTlVSQ3hGUVVGVkwwY3NTMEZCUzJ0SUxFZEJRMlpJTEVWQlFWVXZSeXhMUVVGTGFVZ3NSMEZIYWtJc1QwRkJUMFlzUlVGSFZDeFRRVUZUZWtzc1kwRkJaWGRHTEVkQlEzUkNMRTlCUVU4elNpeFBRVUZQWjFBc1dVRkJXVlFzV1VGQldUVkZMRWxCUjNoRExGTkJRVk5vUkN4WFFVRlpjMGtzUlVGQlMwTXNSVUZCU3k5SkxFVkJRVkZ1Uml4SFFVTnlReXhKUVVGTExFbEJRVWx0UXl4RlFVRkpMRVZCUVVkQkxFVkJRVWx1UXl4TFFVTmliVU1zUlVGQlNXZEVMRWRCUVZVclNTeEZRVUZKYkU4c1VVRkJXVzFETEVkQlFVczRUQ3hGUVVGSmFrOHNWVUZFYUVKdFF5eEZRVVUxUWl0TUxFVkJRVWt2VEN4RlFVRkpaMFFzUjBGQlZUaEpMRVZCUVVrNVRDeEhRVVY0UWl4UFFVRlBRU3hGUVUxVUxGTkJRVk4wUWl4WFFVRlpkMElzUlVGQlMwc3NSMEZEZUVJc1QwRkJUMHdzWVVGQlpVc3NSMEZEV2l4TlFVRlFUQ3hIUVVGclF5eE5RVUZ1UWtFc1JVRkJTVGhNTEdGQlFTdERMRTFCUVhoQ09Vd3NSVUZCU1RoTUxGbEJRVmxETEUxQlEzcEVMMHdzUlVGQlNUaE1MRmxCUVZsRExFOUJRVk14VEN4RlFVRkxNRXdzUzBGRmNFTXNVMEZCVXpOTUxGbEJRV0ZLTEVkQlJYQkNMRTlCUVU5QkxFZEJRVkZCSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwyMWhjM1JsY2k5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OWlkV1ptWlhJdmFXNWtaWGd1YW5NaWZRPT0iLCJcInVzZSBzdHJpY3RcIjt2YXIgUmVmbGVjdE93bktleXMsUj1cIm9iamVjdFwiPT10eXBlb2YgUmVmbGVjdD9SZWZsZWN0Om51bGwsUmVmbGVjdEFwcGx5PVImJlwiZnVuY3Rpb25cIj09dHlwZW9mIFIuYXBwbHk/Ui5hcHBseTpmdW5jdGlvbihlLHQsbil7cmV0dXJuIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5jYWxsKGUsdCxuKX07ZnVuY3Rpb24gUHJvY2Vzc0VtaXRXYXJuaW5nKGUpe2NvbnNvbGUmJmNvbnNvbGUud2FybiYmY29uc29sZS53YXJuKGUpfVJlZmxlY3RPd25LZXlzPVImJlwiZnVuY3Rpb25cIj09dHlwZW9mIFIub3duS2V5cz9SLm93bktleXM6T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scz9mdW5jdGlvbihlKXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoZSkuY29uY2F0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSkpfTpmdW5jdGlvbihlKXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoZSl9O3ZhciBOdW1iZXJJc05hTj1OdW1iZXIuaXNOYU58fGZ1bmN0aW9uKGUpe3JldHVybiBlIT1lfTtmdW5jdGlvbiBFdmVudEVtaXR0ZXIoKXtFdmVudEVtaXR0ZXIuaW5pdC5jYWxsKHRoaXMpfW1vZHVsZS5leHBvcnRzPUV2ZW50RW1pdHRlcixtb2R1bGUuZXhwb3J0cy5vbmNlPW9uY2UsRXZlbnRFbWl0dGVyLkV2ZW50RW1pdHRlcj1FdmVudEVtaXR0ZXIsRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5fZXZlbnRzPXZvaWQgMCxFdmVudEVtaXR0ZXIucHJvdG90eXBlLl9ldmVudHNDb3VudD0wLEV2ZW50RW1pdHRlci5wcm90b3R5cGUuX21heExpc3RlbmVycz12b2lkIDA7dmFyIGRlZmF1bHRNYXhMaXN0ZW5lcnM9MTA7ZnVuY3Rpb24gY2hlY2tMaXN0ZW5lcihlKXtpZihcImZ1bmN0aW9uXCIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSBcImxpc3RlbmVyXCIgYXJndW1lbnQgbXVzdCBiZSBvZiB0eXBlIEZ1bmN0aW9uLiBSZWNlaXZlZCB0eXBlICcrdHlwZW9mIGUpfWZ1bmN0aW9uIF9nZXRNYXhMaXN0ZW5lcnMoZSl7cmV0dXJuIHZvaWQgMD09PWUuX21heExpc3RlbmVycz9FdmVudEVtaXR0ZXIuZGVmYXVsdE1heExpc3RlbmVyczplLl9tYXhMaXN0ZW5lcnN9ZnVuY3Rpb24gX2FkZExpc3RlbmVyKGUsdCxuLHIpe3ZhciBpLG8scztpZihjaGVja0xpc3RlbmVyKG4pLHZvaWQgMD09PShvPWUuX2V2ZW50cyk/KG89ZS5fZXZlbnRzPU9iamVjdC5jcmVhdGUobnVsbCksZS5fZXZlbnRzQ291bnQ9MCk6KHZvaWQgMCE9PW8ubmV3TGlzdGVuZXImJihlLmVtaXQoXCJuZXdMaXN0ZW5lclwiLHQsbi5saXN0ZW5lcj9uLmxpc3RlbmVyOm4pLG89ZS5fZXZlbnRzKSxzPW9bdF0pLHZvaWQgMD09PXMpcz1vW3RdPW4sKytlLl9ldmVudHNDb3VudDtlbHNlIGlmKFwiZnVuY3Rpb25cIj09dHlwZW9mIHM/cz1vW3RdPXI/W24sc106W3Msbl06cj9zLnVuc2hpZnQobik6cy5wdXNoKG4pLChpPV9nZXRNYXhMaXN0ZW5lcnMoZSkpPjAmJnMubGVuZ3RoPmkmJiFzLndhcm5lZCl7cy53YXJuZWQ9ITA7dmFyIHU9bmV3IEVycm9yKFwiUG9zc2libGUgRXZlbnRFbWl0dGVyIG1lbW9yeSBsZWFrIGRldGVjdGVkLiBcIitzLmxlbmd0aCtcIiBcIitTdHJpbmcodCkrXCIgbGlzdGVuZXJzIGFkZGVkLiBVc2UgZW1pdHRlci5zZXRNYXhMaXN0ZW5lcnMoKSB0byBpbmNyZWFzZSBsaW1pdFwiKTt1Lm5hbWU9XCJNYXhMaXN0ZW5lcnNFeGNlZWRlZFdhcm5pbmdcIix1LmVtaXR0ZXI9ZSx1LnR5cGU9dCx1LmNvdW50PXMubGVuZ3RoLFByb2Nlc3NFbWl0V2FybmluZyh1KX1yZXR1cm4gZX1mdW5jdGlvbiBvbmNlV3JhcHBlcigpe2lmKCF0aGlzLmZpcmVkKXJldHVybiB0aGlzLnRhcmdldC5yZW1vdmVMaXN0ZW5lcih0aGlzLnR5cGUsdGhpcy53cmFwRm4pLHRoaXMuZmlyZWQ9ITAsMD09PWFyZ3VtZW50cy5sZW5ndGg/dGhpcy5saXN0ZW5lci5jYWxsKHRoaXMudGFyZ2V0KTp0aGlzLmxpc3RlbmVyLmFwcGx5KHRoaXMudGFyZ2V0LGFyZ3VtZW50cyl9ZnVuY3Rpb24gX29uY2VXcmFwKGUsdCxuKXt2YXIgcj17ZmlyZWQ6ITEsd3JhcEZuOnZvaWQgMCx0YXJnZXQ6ZSx0eXBlOnQsbGlzdGVuZXI6bn0saT1vbmNlV3JhcHBlci5iaW5kKHIpO3JldHVybiBpLmxpc3RlbmVyPW4sci53cmFwRm49aSxpfWZ1bmN0aW9uIF9saXN0ZW5lcnMoZSx0LG4pe3ZhciByPWUuX2V2ZW50cztpZih2b2lkIDA9PT1yKXJldHVybltdO3ZhciBpPXJbdF07cmV0dXJuIHZvaWQgMD09PWk/W106XCJmdW5jdGlvblwiPT10eXBlb2YgaT9uP1tpLmxpc3RlbmVyfHxpXTpbaV06bj91bndyYXBMaXN0ZW5lcnMoaSk6YXJyYXlDbG9uZShpLGkubGVuZ3RoKX1mdW5jdGlvbiBsaXN0ZW5lckNvdW50KGUpe3ZhciB0PXRoaXMuX2V2ZW50cztpZih2b2lkIDAhPT10KXt2YXIgbj10W2VdO2lmKFwiZnVuY3Rpb25cIj09dHlwZW9mIG4pcmV0dXJuIDE7aWYodm9pZCAwIT09bilyZXR1cm4gbi5sZW5ndGh9cmV0dXJuIDB9ZnVuY3Rpb24gYXJyYXlDbG9uZShlLHQpe2Zvcih2YXIgbj1uZXcgQXJyYXkodCkscj0wO3I8dDsrK3IpbltyXT1lW3JdO3JldHVybiBufWZ1bmN0aW9uIHNwbGljZU9uZShlLHQpe2Zvcig7dCsxPGUubGVuZ3RoO3QrKyllW3RdPWVbdCsxXTtlLnBvcCgpfWZ1bmN0aW9uIHVud3JhcExpc3RlbmVycyhlKXtmb3IodmFyIHQ9bmV3IEFycmF5KGUubGVuZ3RoKSxuPTA7bjx0Lmxlbmd0aDsrK24pdFtuXT1lW25dLmxpc3RlbmVyfHxlW25dO3JldHVybiB0fWZ1bmN0aW9uIG9uY2UoZSx0KXtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24obixyKXtmdW5jdGlvbiBpKG4pe2UucmVtb3ZlTGlzdGVuZXIodCxvKSxyKG4pfWZ1bmN0aW9uIG8oKXtcImZ1bmN0aW9uXCI9PXR5cGVvZiBlLnJlbW92ZUxpc3RlbmVyJiZlLnJlbW92ZUxpc3RlbmVyKFwiZXJyb3JcIixpKSxuKFtdLnNsaWNlLmNhbGwoYXJndW1lbnRzKSl9ZXZlbnRUYXJnZXRBZ25vc3RpY0FkZExpc3RlbmVyKGUsdCxvLHtvbmNlOiEwfSksXCJlcnJvclwiIT09dCYmYWRkRXJyb3JIYW5kbGVySWZFdmVudEVtaXR0ZXIoZSxpLHtvbmNlOiEwfSl9KX1mdW5jdGlvbiBhZGRFcnJvckhhbmRsZXJJZkV2ZW50RW1pdHRlcihlLHQsbil7XCJmdW5jdGlvblwiPT10eXBlb2YgZS5vbiYmZXZlbnRUYXJnZXRBZ25vc3RpY0FkZExpc3RlbmVyKGUsXCJlcnJvclwiLHQsbil9ZnVuY3Rpb24gZXZlbnRUYXJnZXRBZ25vc3RpY0FkZExpc3RlbmVyKGUsdCxuLHIpe2lmKFwiZnVuY3Rpb25cIj09dHlwZW9mIGUub24pci5vbmNlP2Uub25jZSh0LG4pOmUub24odCxuKTtlbHNle2lmKFwiZnVuY3Rpb25cIiE9dHlwZW9mIGUuYWRkRXZlbnRMaXN0ZW5lcil0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgXCJlbWl0dGVyXCIgYXJndW1lbnQgbXVzdCBiZSBvZiB0eXBlIEV2ZW50RW1pdHRlci4gUmVjZWl2ZWQgdHlwZSAnK3R5cGVvZiBlKTtlLmFkZEV2ZW50TGlzdGVuZXIodCxmdW5jdGlvbiBpKG8pe3Iub25jZSYmZS5yZW1vdmVFdmVudExpc3RlbmVyKHQsaSksbihvKX0pfX1PYmplY3QuZGVmaW5lUHJvcGVydHkoRXZlbnRFbWl0dGVyLFwiZGVmYXVsdE1heExpc3RlbmVyc1wiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBkZWZhdWx0TWF4TGlzdGVuZXJzfSxzZXQ6ZnVuY3Rpb24oZSl7aWYoXCJudW1iZXJcIiE9dHlwZW9mIGV8fGU8MHx8TnVtYmVySXNOYU4oZSkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1RoZSB2YWx1ZSBvZiBcImRlZmF1bHRNYXhMaXN0ZW5lcnNcIiBpcyBvdXQgb2YgcmFuZ2UuIEl0IG11c3QgYmUgYSBub24tbmVnYXRpdmUgbnVtYmVyLiBSZWNlaXZlZCAnK2UrXCIuXCIpO2RlZmF1bHRNYXhMaXN0ZW5lcnM9ZX19KSxFdmVudEVtaXR0ZXIuaW5pdD1mdW5jdGlvbigpe3ZvaWQgMCE9PXRoaXMuX2V2ZW50cyYmdGhpcy5fZXZlbnRzIT09T2JqZWN0LmdldFByb3RvdHlwZU9mKHRoaXMpLl9ldmVudHN8fCh0aGlzLl9ldmVudHM9T2JqZWN0LmNyZWF0ZShudWxsKSx0aGlzLl9ldmVudHNDb3VudD0wKSx0aGlzLl9tYXhMaXN0ZW5lcnM9dGhpcy5fbWF4TGlzdGVuZXJzfHx2b2lkIDB9LEV2ZW50RW1pdHRlci5wcm90b3R5cGUuc2V0TWF4TGlzdGVuZXJzPWZ1bmN0aW9uKGUpe2lmKFwibnVtYmVyXCIhPXR5cGVvZiBlfHxlPDB8fE51bWJlcklzTmFOKGUpKXRocm93IG5ldyBSYW5nZUVycm9yKCdUaGUgdmFsdWUgb2YgXCJuXCIgaXMgb3V0IG9mIHJhbmdlLiBJdCBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIG51bWJlci4gUmVjZWl2ZWQgJytlK1wiLlwiKTtyZXR1cm4gdGhpcy5fbWF4TGlzdGVuZXJzPWUsdGhpc30sRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5nZXRNYXhMaXN0ZW5lcnM9ZnVuY3Rpb24oKXtyZXR1cm4gX2dldE1heExpc3RlbmVycyh0aGlzKX0sRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5lbWl0PWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1bXSxuPTE7bjxhcmd1bWVudHMubGVuZ3RoO24rKyl0LnB1c2goYXJndW1lbnRzW25dKTt2YXIgcj1cImVycm9yXCI9PT1lLGk9dGhpcy5fZXZlbnRzO2lmKHZvaWQgMCE9PWkpcj1yJiZ2b2lkIDA9PT1pLmVycm9yO2Vsc2UgaWYoIXIpcmV0dXJuITE7aWYocil7dmFyIG87aWYodC5sZW5ndGg+MCYmKG89dFswXSksbyBpbnN0YW5jZW9mIEVycm9yKXRocm93IG87dmFyIHM9bmV3IEVycm9yKFwiVW5oYW5kbGVkIGVycm9yLlwiKyhvP1wiIChcIitvLm1lc3NhZ2UrXCIpXCI6XCJcIikpO3Rocm93IHMuY29udGV4dD1vLHN9dmFyIHU9aVtlXTtpZih2b2lkIDA9PT11KXJldHVybiExO2lmKFwiZnVuY3Rpb25cIj09dHlwZW9mIHUpUmVmbGVjdEFwcGx5KHUsdGhpcyx0KTtlbHNle3ZhciBmPXUubGVuZ3RoLHY9YXJyYXlDbG9uZSh1LGYpO2ZvcihuPTA7bjxmOysrbilSZWZsZWN0QXBwbHkodltuXSx0aGlzLHQpfXJldHVybiEwfSxFdmVudEVtaXR0ZXIucHJvdG90eXBlLmFkZExpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIF9hZGRMaXN0ZW5lcih0aGlzLGUsdCwhMSl9LEV2ZW50RW1pdHRlci5wcm90b3R5cGUub249RXZlbnRFbWl0dGVyLnByb3RvdHlwZS5hZGRMaXN0ZW5lcixFdmVudEVtaXR0ZXIucHJvdG90eXBlLnByZXBlbmRMaXN0ZW5lcj1mdW5jdGlvbihlLHQpe3JldHVybiBfYWRkTGlzdGVuZXIodGhpcyxlLHQsITApfSxFdmVudEVtaXR0ZXIucHJvdG90eXBlLm9uY2U9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gY2hlY2tMaXN0ZW5lcih0KSx0aGlzLm9uKGUsX29uY2VXcmFwKHRoaXMsZSx0KSksdGhpc30sRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5wcmVwZW5kT25jZUxpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGNoZWNrTGlzdGVuZXIodCksdGhpcy5wcmVwZW5kTGlzdGVuZXIoZSxfb25jZVdyYXAodGhpcyxlLHQpKSx0aGlzfSxFdmVudEVtaXR0ZXIucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7dmFyIG4scixpLG8scztpZihjaGVja0xpc3RlbmVyKHQpLHZvaWQgMD09PShyPXRoaXMuX2V2ZW50cykpcmV0dXJuIHRoaXM7aWYodm9pZCAwPT09KG49cltlXSkpcmV0dXJuIHRoaXM7aWYobj09PXR8fG4ubGlzdGVuZXI9PT10KTA9PS0tdGhpcy5fZXZlbnRzQ291bnQ/dGhpcy5fZXZlbnRzPU9iamVjdC5jcmVhdGUobnVsbCk6KGRlbGV0ZSByW2VdLHIucmVtb3ZlTGlzdGVuZXImJnRoaXMuZW1pdChcInJlbW92ZUxpc3RlbmVyXCIsZSxuLmxpc3RlbmVyfHx0KSk7ZWxzZSBpZihcImZ1bmN0aW9uXCIhPXR5cGVvZiBuKXtmb3IoaT0tMSxvPW4ubGVuZ3RoLTE7bz49MDtvLS0paWYobltvXT09PXR8fG5bb10ubGlzdGVuZXI9PT10KXtzPW5bb10ubGlzdGVuZXIsaT1vO2JyZWFrfWlmKGk8MClyZXR1cm4gdGhpczswPT09aT9uLnNoaWZ0KCk6c3BsaWNlT25lKG4saSksMT09PW4ubGVuZ3RoJiYocltlXT1uWzBdKSx2b2lkIDAhPT1yLnJlbW92ZUxpc3RlbmVyJiZ0aGlzLmVtaXQoXCJyZW1vdmVMaXN0ZW5lclwiLGUsc3x8dCl9cmV0dXJuIHRoaXN9LEV2ZW50RW1pdHRlci5wcm90b3R5cGUub2ZmPUV2ZW50RW1pdHRlci5wcm90b3R5cGUucmVtb3ZlTGlzdGVuZXIsRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5yZW1vdmVBbGxMaXN0ZW5lcnM9ZnVuY3Rpb24oZSl7dmFyIHQsbixyO2lmKHZvaWQgMD09PShuPXRoaXMuX2V2ZW50cykpcmV0dXJuIHRoaXM7aWYodm9pZCAwPT09bi5yZW1vdmVMaXN0ZW5lcilyZXR1cm4gMD09PWFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX2V2ZW50cz1PYmplY3QuY3JlYXRlKG51bGwpLHRoaXMuX2V2ZW50c0NvdW50PTApOnZvaWQgMCE9PW5bZV0mJigwPT0tLXRoaXMuX2V2ZW50c0NvdW50P3RoaXMuX2V2ZW50cz1PYmplY3QuY3JlYXRlKG51bGwpOmRlbGV0ZSBuW2VdKSx0aGlzO2lmKDA9PT1hcmd1bWVudHMubGVuZ3RoKXt2YXIgaSxvPU9iamVjdC5rZXlzKG4pO2ZvcihyPTA7cjxvLmxlbmd0aDsrK3IpXCJyZW1vdmVMaXN0ZW5lclwiIT09KGk9b1tyXSkmJnRoaXMucmVtb3ZlQWxsTGlzdGVuZXJzKGkpO3JldHVybiB0aGlzLnJlbW92ZUFsbExpc3RlbmVycyhcInJlbW92ZUxpc3RlbmVyXCIpLHRoaXMuX2V2ZW50cz1PYmplY3QuY3JlYXRlKG51bGwpLHRoaXMuX2V2ZW50c0NvdW50PTAsdGhpc31pZihcImZ1bmN0aW9uXCI9PXR5cGVvZih0PW5bZV0pKXRoaXMucmVtb3ZlTGlzdGVuZXIoZSx0KTtlbHNlIGlmKHZvaWQgMCE9PXQpZm9yKHI9dC5sZW5ndGgtMTtyPj0wO3ItLSl0aGlzLnJlbW92ZUxpc3RlbmVyKGUsdFtyXSk7cmV0dXJuIHRoaXN9LEV2ZW50RW1pdHRlci5wcm90b3R5cGUubGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3JldHVybiBfbGlzdGVuZXJzKHRoaXMsZSwhMCl9LEV2ZW50RW1pdHRlci5wcm90b3R5cGUucmF3TGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3JldHVybiBfbGlzdGVuZXJzKHRoaXMsZSwhMSl9LEV2ZW50RW1pdHRlci5saXN0ZW5lckNvdW50PWZ1bmN0aW9uKGUsdCl7cmV0dXJuXCJmdW5jdGlvblwiPT10eXBlb2YgZS5saXN0ZW5lckNvdW50P2UubGlzdGVuZXJDb3VudCh0KTpsaXN0ZW5lckNvdW50LmNhbGwoZSx0KX0sRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5saXN0ZW5lckNvdW50PWxpc3RlbmVyQ291bnQsRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5ldmVudE5hbWVzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2V2ZW50c0NvdW50PjA/UmVmbGVjdE93bktleXModGhpcy5fZXZlbnRzKTpbXX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbVYyWlc1MGN5NXFjeUpkTENKdVlXMWxjeUk2V3lKU1pXWnNaV04wVDNkdVMyVjVjeUlzSWxJaUxDSlNaV1pzWldOMElpd2lVbVZtYkdWamRFRndjR3g1SWl3aVlYQndiSGtpTENKMFlYSm5aWFFpTENKeVpXTmxhWFpsY2lJc0ltRnlaM01pTENKR2RXNWpkR2x2YmlJc0luQnliM1J2ZEhsd1pTSXNJbU5oYkd3aUxDSlFjbTlqWlhOelJXMXBkRmRoY201cGJtY2lMQ0ozWVhKdWFXNW5JaXdpWTI5dWMyOXNaU0lzSW5kaGNtNGlMQ0p2ZDI1TFpYbHpJaXdpVDJKcVpXTjBJaXdpWjJWMFQzZHVVSEp2Y0dWeWRIbFRlVzFpYjJ4eklpd2laMlYwVDNkdVVISnZjR1Z5ZEhsT1lXMWxjeUlzSW1OdmJtTmhkQ0lzSWs1MWJXSmxja2x6VG1GT0lpd2lUblZ0WW1WeUlpd2lhWE5PWVU0aUxDSjJZV3gxWlNJc0lrVjJaVzUwUlcxcGRIUmxjaUlzSW1sdWFYUWlMQ0owYUdseklpd2liVzlrZFd4bElpd2laWGh3YjNKMGN5SXNJbTl1WTJVaUxDSmZaWFpsYm5Seklpd2lkVzVrWldacGJtVmtJaXdpWDJWMlpXNTBjME52ZFc1MElpd2lYMjFoZUV4cGMzUmxibVZ5Y3lJc0ltUmxabUYxYkhSTllYaE1hWE4wWlc1bGNuTWlMQ0pqYUdWamEweHBjM1JsYm1WeUlpd2liR2x6ZEdWdVpYSWlMQ0pVZVhCbFJYSnliM0lpTENKZloyVjBUV0Y0VEdsemRHVnVaWEp6SWl3aWRHaGhkQ0lzSWw5aFpHUk1hWE4wWlc1bGNpSXNJblI1Y0dVaUxDSndjbVZ3Wlc1a0lpd2liU0lzSW1WMlpXNTBjeUlzSW1WNGFYTjBhVzVuSWl3aVkzSmxZWFJsSWl3aWJtVjNUR2x6ZEdWdVpYSWlMQ0psYldsMElpd2lkVzV6YUdsbWRDSXNJbkIxYzJnaUxDSnNaVzVuZEdnaUxDSjNZWEp1WldRaUxDSjNJaXdpUlhKeWIzSWlMQ0pUZEhKcGJtY2lMQ0p1WVcxbElpd2laVzFwZEhSbGNpSXNJbU52ZFc1MElpd2liMjVqWlZkeVlYQndaWElpTENKbWFYSmxaQ0lzSW5KbGJXOTJaVXhwYzNSbGJtVnlJaXdpZDNKaGNFWnVJaXdpWVhKbmRXMWxiblJ6SWl3aVgyOXVZMlZYY21Gd0lpd2ljM1JoZEdVaUxDSjNjbUZ3Y0dWa0lpd2lZbWx1WkNJc0lsOXNhWE4wWlc1bGNuTWlMQ0oxYm5keVlYQWlMQ0psZG14cGMzUmxibVZ5SWl3aWRXNTNjbUZ3VEdsemRHVnVaWEp6SWl3aVlYSnlZWGxEYkc5dVpTSXNJbXhwYzNSbGJtVnlRMjkxYm5RaUxDSmhjbklpTENKdUlpd2lZMjl3ZVNJc0lrRnljbUY1SWl3aWFTSXNJbk53YkdsalpVOXVaU0lzSW14cGMzUWlMQ0pwYm1SbGVDSXNJbkJ2Y0NJc0luSmxkQ0lzSWxCeWIyMXBjMlVpTENKeVpYTnZiSFpsSWl3aWNtVnFaV04wSWl3aVpYSnliM0pNYVhOMFpXNWxjaUlzSW1WeWNpSXNJbkpsYzI5c2RtVnlJaXdpYzJ4cFkyVWlMQ0psZG1WdWRGUmhjbWRsZEVGbmJtOXpkR2xqUVdSa1RHbHpkR1Z1WlhJaUxDSmhaR1JGY25KdmNraGhibVJzWlhKSlprVjJaVzUwUlcxcGRIUmxjaUlzSW1oaGJtUnNaWElpTENKbWJHRm5jeUlzSW05dUlpd2lZV1JrUlhabGJuUk1hWE4wWlc1bGNpSXNJbmR5WVhCTWFYTjBaVzVsY2lJc0ltRnlaeUlzSW5KbGJXOTJaVVYyWlc1MFRHbHpkR1Z1WlhJaUxDSmtaV1pwYm1WUWNtOXdaWEowZVNJc0ltVnVkVzFsY21GaWJHVWlMQ0puWlhRaUxDSnpaWFFpTENKU1lXNW5aVVZ5Y205eUlpd2laMlYwVUhKdmRHOTBlWEJsVDJZaUxDSnpaWFJOWVhoTWFYTjBaVzVsY25NaUxDSm5aWFJOWVhoTWFYTjBaVzVsY25NaUxDSmtiMFZ5Y205eUlpd2laWEp5YjNJaUxDSmxjaUlzSW0xbGMzTmhaMlVpTENKamIyNTBaWGgwSWl3aWJHVnVJaXdpYkdsemRHVnVaWEp6SWl3aVlXUmtUR2x6ZEdWdVpYSWlMQ0p3Y21Wd1pXNWtUR2x6ZEdWdVpYSWlMQ0p3Y21Wd1pXNWtUMjVqWlV4cGMzUmxibVZ5SWl3aWNHOXphWFJwYjI0aUxDSnZjbWxuYVc1aGJFeHBjM1JsYm1WeUlpd2ljMmhwWm5RaUxDSnZabVlpTENKeVpXMXZkbVZCYkd4TWFYTjBaVzVsY25NaUxDSnJaWGtpTENKclpYbHpJaXdpY21GM1RHbHpkR1Z1WlhKeklpd2laWFpsYm5ST1lXMWxjeUpkTENKdFlYQndhVzVuY3lJNklrRkJjVUpCTEdGQlJVRXNTVUZQU1VFc1pVRlFRVU1zUlVGQmRVSXNhVUpCUVZwRExGRkJRWFZDUVN4UlFVRlZMRXRCUXpWRFF5eGhRVUZsUml4SFFVRjNRaXh0UWtGQldrRXNSVUZCUlVjc1RVRkROMEpJTEVWQlFVVkhMRTFCUTBZc1UwRkJjMEpETEVWQlFWRkRMRVZCUVZWRExFZEJRM2hETEU5QlFVOURMRk5CUVZORExGVkJRVlZNTEUxQlFVMU5MRXRCUVV0TUxFVkJRVkZETEVWQlFWVkRMRWxCYVVJelJDeFRRVUZUU1N4dFFrRkJiVUpETEVkQlEzUkNReXhUUVVGWFFTeFJRVUZSUXl4TlFVRk5SQ3hSUVVGUlF5eExRVUZMUml4SFFXSXhRMW9zWlVGRVJVTXNSMEZCTUVJc2JVSkJRV1JCTEVWQlFVVmpMRkZCUTBOa0xFVkJRVVZqTEZGQlExWkRMRTlCUVU5RExITkNRVU5ETEZOQlFYZENXaXhIUVVOMlF5eFBRVUZQVnl4UFFVRlBSU3h2UWtGQmIwSmlMRWRCUXk5Q1l5eFBRVUZQU0N4UFFVRlBReXh6UWtGQmMwSmFMRXRCUjNoQ0xGTkJRWGRDUVN4SFFVTjJReXhQUVVGUFZ5eFBRVUZQUlN4dlFrRkJiMEppTEVsQlVYUkRMRWxCUVVsbExGbEJRV05ETEU5QlFVOURMRTlCUVZNc1UwRkJjVUpETEVkQlEzSkVMRTlCUVU5QkxFZEJRVlZCTEVkQlIyNUNMRk5CUVZORExHVkJRMUJCTEdGQlFXRkRMRXRCUVV0bUxFdEJRVXRuUWl4TlFVVjZRa01zVDBGQlQwTXNVVUZCVlVvc1lVRkRha0pITEU5QlFVOURMRkZCUVZGRExFdEJRVTlCTEV0QlIzUkNUQ3hoUVVGaFFTeGhRVUZsUVN4aFFVVTFRa0VzWVVGQllXWXNWVUZCVlhGQ0xHRkJRVlZETEVWQlEycERVQ3hoUVVGaFppeFZRVUZWZFVJc1lVRkJaU3hGUVVOMFExSXNZVUZCWVdZc1ZVRkJWWGRDTEcxQ1FVRm5Ra1lzUlVGSmRrTXNTVUZCU1Vjc2IwSkJRWE5DTEVkQlJURkNMRk5CUVZORExHTkJRV05ETEVkQlEzSkNMRWRCUVhkQ0xHMUNRVUZpUVN4RlFVTlVMRTFCUVUwc1NVRkJTVU1zVlVGQlZTd3dSVUZCTkVWRUxFZEJjME53Unl4VFFVRlRSU3hwUWtGQmFVSkRMRWRCUTNoQ0xGbEJRVEpDVWl4SlFVRjJRbEVzUlVGQlMwNHNZMEZEUVZRc1lVRkJZVlVzYjBKQlEyWkxMRVZCUVV0T0xHTkJiVVJrTEZOQlFWTlBMR0ZCUVdGdVF5eEZRVUZSYjBNc1JVRkJUVXdzUlVGQlZVMHNSMEZETlVNc1NVRkJTVU1zUlVGRFFVTXNSVUZEUVVNc1JVRnpRa29zUjBGd1FrRldMR05CUVdORExGRkJSME5NTEV0QlJHWmhMRVZCUVZOMlF5eEZRVUZQZVVJc1ZVRkZaR01zUlVGQlUzWkRMRVZCUVU5NVFpeFJRVUZWWkN4UFFVRlBPRUlzVDBGQlR5eE5RVU40UTNwRExFVkJRVTh5UWl4aFFVRmxMRk5CU1V0RUxFbEJRWFpDWVN4RlFVRlBSeXhqUVVOVU1VTXNSVUZCVHpKRExFdEJRVXNzWTBGQlpWQXNSVUZEWmt3c1JVRkJVMEVzVTBGQlYwRXNSVUZCVTBFc1UwRkJWMEVzUjBGSmNFUlJMRVZCUVZOMlF5eEZRVUZQZVVJc1UwRkZiRUpsTEVWQlFWZEVMRVZCUVU5SUxGTkJSMGhXTEVsQlFXSmpMRVZCUlVaQkxFVkJRVmRFTEVWQlFVOUlMRWRCUVZGTUxFbEJRM2hDTDBJc1JVRkJUekpDTEd0Q1FXVlVMRWRCWW5kQ0xHMUNRVUZpWVN4RlFVVlVRU3hGUVVGWFJDeEZRVUZQU0N4SFFVTm9Ra01zUlVGQlZTeERRVUZEVGl4RlFVRlZVeXhIUVVGWkxFTkJRVU5CTEVWQlFWVlVMRWRCUlhKRFRTeEZRVU5VUnl4RlFVRlRTU3hSUVVGUllpeEhRVVZxUWxNc1JVRkJVMHNzUzBGQlMyUXNTVUZKYUVKUExFVkJRVWxNTEdsQ1FVRnBRbXBETEVsQlEySXNSMEZCUzNkRExFVkJRVk5OTEU5QlFWTlNMRWxCUVUxRkxFVkJRVk5QTEU5QlFWRXNRMEZEY0VSUUxFVkJRVk5QTEZGQlFWTXNSVUZIYkVJc1NVRkJTVU1zUlVGQlNTeEpRVUZKUXl4TlFVRk5MQ3REUVVORlZDeEZRVUZUVFN4UFFVRlRMRWxCUVUxSkxFOUJRVTlrTEVkQlFWRXNjVVZCUnpORVdTeEZRVUZGUnl4TFFVRlBMRGhDUVVOVVNDeEZRVUZGU1N4UlFVRlZjRVFzUlVGRFdtZEVMRVZCUVVWYUxFdEJRVTlCTEVWQlExUlpMRVZCUVVWTExFMUJRVkZpTEVWQlFWTk5MRTlCUTI1Q2VFTXNiVUpCUVcxQ01FTXNSMEZKZGtJc1QwRkJUMmhFTEVWQlkxUXNVMEZCVTNORUxHTkJRMUFzU1VGQlMycERMRXRCUVV0clF5eE5RVWRTTEU5QlJrRnNReXhMUVVGTGNrSXNUMEZCVDNkRUxHVkJRV1Z1UXl4TFFVRkxaU3hMUVVGTlppeExRVUZMYjBNc1VVRkRNME53UXl4TFFVRkxhME1zVDBGQlVTeEZRVU5aTEVsQlFYSkNSeXhWUVVGVldpeFBRVU5NZWtJc1MwRkJTMVVzVTBGQlV6RkNMRXRCUVV0blFpeExRVUZMY2tJc1VVRkRNVUp4UWl4TFFVRkxWU3hUUVVGVGFFTXNUVUZCVFhOQ0xFdEJRVXR5UWl4UFFVRlJNRVFzVjBGSk5VTXNVMEZCVTBNc1ZVRkJWVE5FTEVWQlFWRnZReXhGUVVGTlRDeEhRVU12UWl4SlFVRkpOa0lzUlVGQlVTeERRVUZGVEN4UFFVRlBMRVZCUVU5RkxGbEJRVkV2UWl4RlFVRlhNVUlzVDBGQlVVRXNSVUZCVVc5RExFdEJRVTFCTEVWQlFVMU1MRk5CUVZWQkxFZEJRMnBHT0VJc1JVRkJWVkFzV1VGQldWRXNTMEZCUzBZc1IwRkhMMElzVDBGR1FVTXNSVUZCVVRsQ0xGTkJRVmRCTEVWQlEyNUNOa0lzUlVGQlRVZ3NUMEZCVTBrc1JVRkRVa0VzUlVFd1NGUXNVMEZCVTBVc1YwRkJWeTlFTEVWQlFWRnZReXhGUVVGTk5FSXNSMEZEYUVNc1NVRkJTWHBDTEVWQlFWTjJReXhGUVVGUGVVSXNVVUZGY0VJc1VVRkJaVU1zU1VGQldHRXNSVUZEUml4TlFVRlBMRWRCUlZRc1NVRkJTVEJDTEVWQlFXRXhRaXhGUVVGUFNDeEhRVU40UWl4WlFVRnRRbFlzU1VGQlpuVkRMRVZCUTBzc1IwRkZhVUlzYlVKQlFXWkJMRVZCUTBaRUxFVkJRVk1zUTBGQlEwTXNSVUZCVjJ4RExGVkJRVmxyUXl4SFFVRmpMRU5CUVVOQkxFZEJSV3hFUkN4RlFVTk1SU3huUWtGQlowSkVMRWRCUVdORkxGZEJRVmRHTEVWQlFWbEJMRVZCUVZkdVFpeFJRVzlDY0VVc1UwRkJVM05DTEdOQlFXTm9ReXhIUVVOeVFpeEpRVUZKUnl4RlFVRlRiRUlzUzBGQlMwa3NVVUZGYkVJc1VVRkJaVU1zU1VGQldHRXNSVUZCYzBJc1EwRkRlRUlzU1VGQlNUQkNMRVZCUVdFeFFpeEZRVUZQU0N4SFFVVjRRaXhIUVVFd1FpeHRRa0ZCWmpaQ0xFVkJRMVFzVDBGQlR5eEZRVU5HTEZGQlFXMUNka01zU1VGQlpuVkRMRVZCUTFRc1QwRkJUMEVzUlVGQlYyNUNMRTlCU1hSQ0xFOUJRVThzUlVGUFZDeFRRVUZUY1VJc1YwRkJWMFVzUlVGQlMwTXNSMEZGZGtJc1NVRkVRU3hKUVVGSlF5eEZRVUZQTEVsQlFVbERMRTFCUVUxR0xFZEJRMXBITEVWQlFVa3NSVUZCUjBFc1JVRkJTVWdzU1VGQlMwY3NSVUZEZGtKR0xFVkJRVXRGTEVkQlFVdEtMRVZCUVVsSkxFZEJRMmhDTEU5QlFVOUdMRVZCUjFRc1UwRkJVMGNzVlVGQlZVTXNSVUZCVFVNc1IwRkRka0lzUzBGQlQwRXNSVUZCVVN4RlFVRkpSQ3hGUVVGTE4wSXNUMEZCVVRoQ0xFbEJRemxDUkN4RlFVRkxReXhIUVVGVFJDeEZRVUZMUXl4RlFVRlJMRWRCUXpkQ1JDeEZRVUZMUlN4TlFVZFFMRk5CUVZOWUxHZENRVUZuUWtjc1IwRkZka0lzU1VGRVFTeEpRVUZKVXl4RlFVRk5MRWxCUVVsT0xFMUJRVTFJTEVWQlFVbDJRaXhSUVVObU1rSXNSVUZCU1N4RlFVRkhRU3hGUVVGSlN5eEZRVUZKYUVNc1UwRkJWVEpDTEVWQlEyaERTeXhGUVVGSlRDeEhRVUZMU2l4RlFVRkpTU3hIUVVGSE1VTXNWVUZCV1hORExFVkJRVWxKTEVkQlJXeERMRTlCUVU5TExFVkJSMVFzVTBGQlUzUkVMRXRCUVVzMFFpeEZRVUZUUkN4SFFVTnlRaXhQUVVGUExFbEJRVWswUWl4UlFVRlJMRk5CUVZWRExFVkJRVk5ETEVkQlEzQkRMRk5CUVZORExFVkJRV05ETEVkQlEzSkNMMElzUlVGQlVVa3NaVUZCWlV3c1JVRkJUV2xETEVkQlF6ZENTQ3hGUVVGUFJTeEhRVWRVTEZOQlFWTkRMRWxCUXl0Q0xHMUNRVUV6UW1oRExFVkJRVkZKTEdkQ1FVTnFRa29zUlVGQlVVa3NaVUZCWlN4UlFVRlRNRUlzUjBGRmJFTkdMRVZCUVZFc1IwRkJSMHNzVFVGQlRXaEdMRXRCUVV0eFJDeFpRVWQ0UWpSQ0xDdENRVUVyUW14RExFVkJRVk5FTEVWQlFVMXBReXhGUVVGVkxFTkJRVVUxUkN4TlFVRk5MRWxCUTI1RUxGVkJRVlF5UWl4SFFVTkdiME1zT0VKQlFUaENia01zUlVGQlV6aENMRVZCUVdVc1EwRkJSVEZFTEUxQlFVMHNUVUZMY0VVc1UwRkJVeXRFTERoQ1FVRTRRbTVETEVWQlFWTnZReXhGUVVGVFF5eEhRVU0zUWl4dFFrRkJabkpETEVWQlFWRnpReXhKUVVOcVFrb3NLMEpCUVN0Q2JFTXNSVUZCVXl4UlFVRlRiME1zUlVGQlUwTXNSMEZKT1VRc1UwRkJVMGdzSzBKQlFTdENiRU1zUlVGQlUwUXNSVUZCVFhCQ0xFVkJRVlV3UkN4SFFVTXZSQ3hIUVVFd1FpeHRRa0ZCWm5KRExFVkJRVkZ6UXl4SFFVTmlSQ3hGUVVGTmFrVXNTMEZEVWpSQ0xFVkJRVkUxUWl4TFFVRkxNa0lzUlVGQlRYQkNMRWRCUlc1Q2NVSXNSVUZCVVhORExFZEJRVWQyUXl4RlFVRk5jRUlzVDBGRlpDeERRVUZCTEVkQlFYZERMRzFDUVVFM1FuRkNMRVZCUVZGMVF5eHBRa0ZaZUVJc1RVRkJUU3hKUVVGSk0wUXNWVUZCVlN3MlJVRkJLMFZ2UWl4SFFWUnVSMEVzUlVGQlVYVkRMR2xDUVVGcFFuaERMRVZCUVUwc1UwRkJVM2xETEVWQlFXRkRMRWRCUnk5RFNpeEZRVUZOYWtVc1RVRkRValJDTEVWQlFWRXdReXh2UWtGQmIwSXpReXhGUVVGTmVVTXNSMEZGY0VNM1JDeEZRVUZUT0VRc1RVRm9ZV1pzUml4UFFVRlBiMFlzWlVGQlpUVkZMR0ZCUVdNc2MwSkJRWFZDTEVOQlEzcEVOa1VzV1VGQldTeEZRVU5hUXl4SlFVRkxMRmRCUTBnc1QwRkJUM0JGTEhGQ1FVVlVjVVVzU1VGQlN5eFRRVUZUVEN4SFFVTmFMRWRCUVcxQ0xHbENRVUZTUVN4SFFVRnZRa0VzUlVGQlRTeEhRVUZMT1VVc1dVRkJXVGhGTEVkQlEzQkVMRTFCUVUwc1NVRkJTVTBzVjBGQlZ5eHJSMEZCYjBkT0xFVkJRVTBzUzBGRmFrbG9SU3h2UWtGQmMwSm5SU3hMUVVreFFqRkZMR0ZCUVdGRExFdEJRVThzWjBKQlJVZE5MRWxCUVdwQ1RDeExRVUZMU1N4VFFVTk1TaXhMUVVGTFNTeFZRVUZaWkN4UFFVRlBlVVlzWlVGQlpTOUZMRTFCUVUxSkxGVkJReTlEU2l4TFFVRkxTU3hSUVVGVlpDeFBRVUZQT0VJc1QwRkJUeXhOUVVNM1FuQkNMRXRCUVV0TkxHRkJRV1VzUjBGSGRFSk9MRXRCUVV0UExHTkJRV2RDVUN4TFFVRkxUeXh2UWtGQmFVSkdMRWRCU3pkRFVDeGhRVUZoWml4VlFVRlZhVWNzWjBKQlFXdENMRk5CUVhsQ0wwSXNSMEZEYUVVc1IwRkJhVUlzYVVKQlFVNUJMRWRCUVd0Q1FTeEZRVUZKTEVkQlFVdDJSQ3haUVVGWmRVUXNSMEZEYUVRc1RVRkJUU3hKUVVGSk5rSXNWMEZCVnl4blJrRkJhMFkzUWl4RlFVRkpMRXRCUnpkSExFOUJSRUZxUkN4TFFVRkxUeXhqUVVGblFqQkRMRVZCUTJScVJDeE5RVk5VUml4aFFVRmhaaXhWUVVGVmEwY3NaMEpCUVd0Q0xGZEJRM1pETEU5QlFVOXlSU3hwUWtGQmFVSmFMRTlCUnpGQ1JpeGhRVUZoWml4VlFVRlZkVU1zUzBGQlR5eFRRVUZqVUN4SFFVVXhReXhKUVVSQkxFbEJRVWxzUXl4RlFVRlBMRWRCUTBaMVJTeEZRVUZKTEVWQlFVZEJMRVZCUVVsbUxGVkJRVlZhTEU5QlFWRXlRaXhKUVVGTGRrVXNSVUZCU3pKRExFdEJRVXRoTEZWQlFWVmxMRWxCUXk5RUxFbEJRVWs0UWl4RlFVRnZRaXhWUVVGVWJrVXNSVUZGV0Vjc1JVRkJVMnhDTEV0QlFVdEpMRkZCUTJ4Q0xGRkJRV1ZETEVsQlFWaGhMRVZCUTBablJTeEZRVUZYUVN4UlFVRTBRamRGTEVsQlFXcENZU3hGUVVGUGFVVXNWMEZETVVJc1NVRkJTMFFzUlVGRFVpeFBRVUZQTEVWQlIxUXNSMEZCU1VFc1JVRkJVeXhEUVVOWUxFbEJRVWxGTEVWQlIwb3NSMEZHU1haSExFVkJRVXMwUXl4UFFVRlRMRWxCUTJoQ01rUXNSVUZCUzNaSExFVkJRVXNzU1VGRFVuVkhMR0ZCUVdONFJDeE5RVWRvUWl4TlFVRk5kMFFzUlVGSFVpeEpRVUZKZEVJc1JVRkJUU3hKUVVGSmJFTXNUVUZCVFN4dlFrRkJjMEozUkN4RlFVRkxMRXRCUVU5QkxFVkJRVWRETEZGQlFWVXNTVUZCVFN4TFFVVjZSU3hOUVVSQmRrSXNSVUZCU1hkQ0xGRkJRVlZHTEVWQlExSjBRaXhGUVVkU0xFbEJRVWxMTEVWQlFWVnFSQ3hGUVVGUFNDeEhRVVZ5UWl4UlFVRm5RbFlzU1VGQldqaEVMRVZCUTBZc1QwRkJUeXhGUVVWVUxFZEJRWFZDTEcxQ1FVRmFRU3hGUVVOVU1VWXNZVUZCWVRCR0xFVkJRVk51UlN4TFFVRk5ia0lzVDBGRk5VSXNRMEZCUVN4SlFVRkpNRWNzUlVGQlRYQkNMRVZCUVZFeFF5eFBRVU5rSzBRc1JVRkJXVEZETEZkQlFWZHhRaXhGUVVGVGIwSXNSMEZEY0VNc1NVRkJVMjVETEVWQlFVa3NSVUZCUjBFc1JVRkJTVzFETEVsQlFVOXVReXhGUVVONlFqTkZMR0ZCUVdFclJ5eEZRVUZWY0VNc1IwRkJTWEJFTEV0QlFVMXVRaXhIUVVkeVF5eFBRVUZQTEVkQmFVVlVhVUlzWVVGQllXWXNWVUZCVlRCSExGbEJRV01zVTBGQmNVSXhSU3hGUVVGTlRDeEhRVU01UkN4UFFVRlBTU3hoUVVGaFpDeExRVUZOWlN4RlFVRk5UQ3hIUVVGVkxFbEJSelZEV2l4aFFVRmhaaXhWUVVGVmMwWXNSMEZCUzNaRkxHRkJRV0ZtTEZWQlFWVXdSeXhaUVVWdVJETkdMR0ZCUVdGbUxGVkJRVlV5Unl4blFrRkRia0lzVTBGQmVVSXpSU3hGUVVGTlRDeEhRVU0zUWl4UFFVRlBTU3hoUVVGaFpDeExRVUZOWlN4RlFVRk5UQ3hIUVVGVkxFbEJjVUpvUkZvc1lVRkJZV1lzVlVGQlZXOUNMRXRCUVU4c1UwRkJZMWtzUlVGQlRVd3NSMEZIYUVRc1QwRkdRVVFzWTBGQlkwTXNSMEZEWkZZc1MwRkJTM0ZGTEVkQlFVZDBSQ3hGUVVGTmRVSXNWVUZCVlhSRExFdEJRVTFsTEVWQlFVMU1MRWxCUXpkQ1ZpeE5RVWRVUml4aFFVRmhaaXhWUVVGVk5FY3NiMEpCUTI1Q0xGTkJRVFpDTlVVc1JVRkJUVXdzUjBGSGFrTXNUMEZHUVVRc1kwRkJZME1zUjBGRFpGWXNTMEZCU3pCR0xHZENRVUZuUWpORkxFVkJRVTExUWl4VlFVRlZkRU1zUzBGQlRXVXNSVUZCVFV3c1NVRkRNVU5XTEUxQlNXSkdMR0ZCUVdGbUxGVkJRVlZ2UkN4bFFVTnVRaXhUUVVGM1FuQkNMRVZCUVUxTUxFZEJRelZDTEVsQlFVazBReXhGUVVGTmNFTXNSVUZCVVRCRkxFVkJRVlY0UXl4RlFVRkhlVU1zUlVGTEwwSXNSMEZJUVhCR0xHTkJRV05ETEZGQlIwTk1MRXRCUkdaaExFVkJRVk5zUWl4TFFVRkxTU3hUUVVWYUxFOUJRVTlLTEV0QlIxUXNVVUZCWVVzc1MwRkVZbWxFTEVWQlFVOXdReXhGUVVGUFNDeEpRVVZhTEU5QlFVOW1MRXRCUlZRc1IwRkJTWE5FTEVsQlFWTTFReXhIUVVGWk5FTXNSVUZCU3pWRExGZEJRV0ZCTEVWQlEySXNTMEZCZEVKV0xFdEJRVXROTEdGQlExUk9MRXRCUVV0SkxGRkJRVlZrTEU5QlFVODRRaXhQUVVGUExHTkJSWFJDUml4RlFVRlBTQ3hIUVVOV1J5eEZRVUZQYVVJc1owSkJRMVJ1UXl4TFFVRkxjMElzUzBGQlN5eHBRa0ZCYTBKUUxFVkJRVTExUXl4RlFVRkxOVU1zVlVGQldVRXNVMEZGYkVRc1IwRkJiMElzYlVKQlFWUTBReXhGUVVGeFFpeERRVWR5UXl4SlFVWkJjME1zUjBGQldTeEZRVVZRZUVNc1JVRkJTVVVzUlVGQlN6ZENMRTlCUVZNc1JVRkJSekpDTEVkQlFVc3NSVUZCUjBFc1NVRkRhRU1zUjBGQlNVVXNSVUZCUzBZc1MwRkJUekZETEVkQlFWazBReXhGUVVGTFJpeEhRVUZITVVNc1YwRkJZVUVzUlVGQlZTeERRVU42UkcxR0xFVkJRVzFDZGtNc1JVRkJTMFlzUjBGQlJ6RkRMRk5CUXpOQ2EwWXNSVUZCVjNoRExFVkJRMWdzVFVGSlNpeEhRVUZKZDBNc1JVRkJWeXhGUVVOaUxFOUJRVTgxUml4TFFVVlJMRWxCUVdJMFJpeEZRVU5HZEVNc1JVRkJTM2RETEZGQlJVeDZReXhWUVVGVlF5eEZRVUZOYzBNc1IwRkhSU3hKUVVGb1FuUkRMRVZCUVVzM1FpeFRRVU5RVUN4RlFVRlBTQ3hIUVVGUmRVTXNSVUZCU3l4VFFVVlJha1FzU1VGQk1VSmhMRVZCUVU5cFFpeG5Ra0ZEVkc1RExFdEJRVXR6UWl4TFFVRkxMR2xDUVVGclFsQXNSVUZCVFRoRkxFZEJRVzlDYmtZc1IwRkhNVVFzVDBGQlQxWXNUVUZIWWtZc1lVRkJZV1lzVlVGQlZXZElMRWxCUVUxcVJ5eGhRVUZoWml4VlFVRlZiMFFzWlVGRmNFUnlReXhoUVVGaFppeFZRVUZWYVVnc2JVSkJRMjVDTEZOQlFUUkNha1lzUjBGRE1VSXNTVUZCU1hsRkxFVkJRVmQwUlN4RlFVRlJhME1zUlVGSGRrSXNVVUZCWlM5RExFdEJSR1poTEVWQlFWTnNRaXhMUVVGTFNTeFRRVVZhTEU5QlFVOUtMRXRCUjFRc1VVRkJPRUpMTEVsQlFURkNZU3hGUVVGUGFVSXNaVUZWVkN4UFFWUjVRaXhKUVVGeVFrVXNWVUZCVlZvc1VVRkRXbnBDTEV0QlFVdEpMRkZCUVZWa0xFOUJRVTg0UWl4UFFVRlBMRTFCUXpkQ2NFSXNTMEZCUzAwc1lVRkJaU3hSUVVOTlJDeEpRVUZxUW1Fc1JVRkJUMGdzUzBGRFdTeExRVUYwUW1Zc1MwRkJTMDBzWVVGRFZFNHNTMEZCUzBrc1VVRkJWV1FzVDBGQlR6aENMRTlCUVU4c1lVRkZkRUpHTEVWQlFVOUlMRWxCUlZobUxFdEJTVlFzUjBGQmVVSXNTVUZCY2tKeFF5eFZRVUZWV2l4UFFVRmpMRU5CUXpGQ0xFbEJRMGwzUlN4RlFVUkJReXhGUVVGUE5VY3NUMEZCVHpSSExFdEJRVXRvUml4SFFVVjJRaXhKUVVGTGEwTXNSVUZCU1N4RlFVRkhRU3hGUVVGSk9FTXNSVUZCUzNwRkxGTkJRVlV5UWl4RlFVVnFRaXh2UWtGRVdqWkRMRVZCUVUxRExFVkJRVXM1UXl4TFFVVlljRVFzUzBGQlMyZEhMRzFDUVVGdFFrTXNSMEZMTVVJc1QwRklRV3BITEV0QlFVdG5SeXh0UWtGQmJVSXNhMEpCUTNoQ2FFY3NTMEZCUzBrc1VVRkJWV1FzVDBGQlR6aENMRTlCUVU4c1RVRkROMEp3UWl4TFFVRkxUU3hoUVVGbExFVkJRMkpPTEV0QlMxUXNSMEZCZVVJc2JVSkJSbnBDZDBZc1JVRkJXWFJGTEVWQlFVOUlMRWxCUjJwQ1ppeExRVUZMYlVNc1pVRkJaWEJDTEVWQlFVMTVSU3hSUVVOeVFpeFJRVUZyUW01R0xFbEJRV1J0Uml4RlFVVlVMRWxCUVV0d1F5eEZRVUZKYjBNc1JVRkJWUzlFTEU5QlFWTXNSVUZCUnpKQ0xFZEJRVXNzUlVGQlIwRXNTVUZEY2tOd1JDeExRVUZMYlVNc1pVRkJaWEJDTEVWQlFVMTVSU3hGUVVGVmNFTXNTVUZKZUVNc1QwRkJUM0JFTEUxQmIwSmlSaXhoUVVGaFppeFZRVUZWZVVjc1ZVRkJXU3hUUVVGdFFucEZMRWRCUTNCRUxFOUJRVTh5UWl4WFFVRlhNVU1zUzBGQlRXVXNSMEZCVFN4SlFVZG9RMnBDTEdGQlFXRm1MRlZCUVZWdlNDeGhRVUZsTEZOQlFYTkNjRVlzUjBGRE1VUXNUMEZCVHpKQ0xGZEJRVmN4UXl4TFFVRk5aU3hIUVVGTkxFbEJSMmhEYWtJc1lVRkJZV2xFTEdOQlFXZENMRk5CUVZOb1FpeEZRVUZUYUVJc1IwRkROME1zVFVGQmNVTXNiVUpCUVRGQ1owSXNSVUZCVVdkQ0xHTkJRMVpvUWl4RlFVRlJaMElzWTBGQlkyaERMRWRCUlhSQ1owTXNZMEZCWXk5RUxFdEJRVXNyUXl4RlFVRlRhRUlzU1VGSmRrTnFRaXhoUVVGaFppeFZRVUZWWjBVc1kwRkJaMEpCTEdOQmFVSjJRMnBFTEdGQlFXRm1MRlZCUVZWeFNDeFhRVUZoTEZkQlEyeERMRTlCUVU5d1J5eExRVUZMVFN4aFFVRmxMRVZCUVVsb1F5eGxRVUZsTUVJc1MwRkJTMGtzVTBGQlZ5SXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl0WVhOMFpYSXZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12WlhabGJuUnpMMlYyWlc1MGN5NXFjeUo5IiwiZXhwb3J0cy5yZWFkPWZ1bmN0aW9uKGEsbyx0LHIsaCl7dmFyIE0scCx3PTgqaC1yLTEsZj0oMTw8dyktMSxlPWY+PjEsaT0tNyxOPXQ/aC0xOjAsbj10Py0xOjEscz1hW28rTl07Zm9yKE4rPW4sTT1zJigxPDwtaSktMSxzPj49LWksaSs9dztpPjA7TT0yNTYqTSthW28rTl0sTis9bixpLT04KTtmb3IocD1NJigxPDwtaSktMSxNPj49LWksaSs9cjtpPjA7cD0yNTYqcCthW28rTl0sTis9bixpLT04KTtpZigwPT09TSlNPTEtZTtlbHNle2lmKE09PT1mKXJldHVybiBwP05hTjoxLzAqKHM/LTE6MSk7cCs9TWF0aC5wb3coMixyKSxNLT1lfXJldHVybihzPy0xOjEpKnAqTWF0aC5wb3coMixNLXIpfSxleHBvcnRzLndyaXRlPWZ1bmN0aW9uKGEsbyx0LHIsaCxNKXt2YXIgcCx3LGYsZT04Kk0taC0xLGk9KDE8PGUpLTEsTj1pPj4xLG49MjM9PT1oP01hdGgucG93KDIsLTI0KS1NYXRoLnBvdygyLC03Nyk6MCxzPXI/MDpNLTEsdT1yPzE6LTEsbD1vPDB8fDA9PT1vJiYxL288MD8xOjA7Zm9yKG89TWF0aC5hYnMobyksaXNOYU4obyl8fG89PT0xLzA/KHc9aXNOYU4obyk/MTowLHA9aSk6KHA9TWF0aC5mbG9vcihNYXRoLmxvZyhvKS9NYXRoLkxOMiksbyooZj1NYXRoLnBvdygyLC1wKSk8MSYmKHAtLSxmKj0yKSwobys9cCtOPj0xP24vZjpuKk1hdGgucG93KDIsMS1OKSkqZj49MiYmKHArKyxmLz0yKSxwK04+PWk/KHc9MCxwPWkpOnArTj49MT8odz0obypmLTEpKk1hdGgucG93KDIsaCkscCs9Tik6KHc9bypNYXRoLnBvdygyLE4tMSkqTWF0aC5wb3coMixoKSxwPTApKTtoPj04O2FbdCtzXT0yNTUmdyxzKz11LHcvPTI1NixoLT04KTtmb3IocD1wPDxofHcsZSs9aDtlPjA7YVt0K3NdPTI1NSZwLHMrPXUscC89MjU2LGUtPTgpO2FbdCtzLXVdfD0xMjgqbH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbWx1WkdWNExtcHpJbDBzSW01aGJXVnpJanBiSW1WNGNHOXlkSE1pTENKeVpXRmtJaXdpWW5WbVptVnlJaXdpYjJabWMyVjBJaXdpYVhOTVJTSXNJbTFNWlc0aUxDSnVRbmwwWlhNaUxDSmxJaXdpYlNJc0ltVk1aVzRpTENKbFRXRjRJaXdpWlVKcFlYTWlMQ0p1UW1sMGN5SXNJbWtpTENKa0lpd2ljeUlzSWs1aFRpSXNJa2x1Wm1sdWFYUjVJaXdpVFdGMGFDSXNJbkJ2ZHlJc0luZHlhWFJsSWl3aWRtRnNkV1VpTENKaklpd2ljblFpTENKaFluTWlMQ0pwYzA1aFRpSXNJbVpzYjI5eUlpd2liRzluSWl3aVRFNHlJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkRRVUVzVVVGQlVVTXNTMEZCVHl4VFFVRlZReXhGUVVGUlF5eEZRVUZSUXl4RlFVRk5ReXhGUVVGTlF5eEhRVU51UkN4SlFVRkpReXhGUVVGSFF5eEZRVU5JUXl4RlFVRnBRaXhGUVVGVVNDeEZRVUZqUkN4RlFVRlBMRVZCUXpkQ1N5eEhRVUZSTEVkQlFVdEVMRWRCUVZFc1JVRkRja0pGTEVWQlFWRkVMRWRCUVZFc1JVRkRhRUpGTEVkQlFWTXNSVUZEVkVNc1JVRkJTVlFzUlVGQlVVVXNSVUZCVXl4RlFVRkxMRVZCUXpGQ1VTeEZRVUZKVml4SFFVRlJMRVZCUVVrc1JVRkRhRUpYTEVWQlFVbGlMRVZCUVU5RExFVkJRVk5WTEVkQlQzaENMRWxCVEVGQkxFZEJRVXRETEVWQlJVeFFMRVZCUVVsUkxFZEJRVTBzU1VGQlQwZ3NSMEZCVlN4RlFVTXpRa2NzUzBGQlVVZ3NSVUZEVWtFc1IwRkJVMGdzUlVGRFJrY3NSVUZCVVN4RlFVRkhUQ3hGUVVGVExFbEJRVXBCTEVWQlFWZE1MRVZCUVU5RExFVkJRVk5WTEVkQlFVbEJMRWRCUVV0RExFVkJRVWRHTEVkQlFWTXNSMEZMZGtVc1NVRklRVW9zUlVGQlNVUXNSMEZCVFN4SlFVRlBTeXhIUVVGVkxFVkJRek5DVEN4TFFVRlJTeXhGUVVOU1FTeEhRVUZUVUN4RlFVTkdUeXhGUVVGUkxFVkJRVWRLTEVWQlFWTXNTVUZCU2tFc1JVRkJWMDRzUlVGQlQwTXNSVUZCVTFVc1IwRkJTVUVzUjBGQlMwTXNSVUZCUjBZc1IwRkJVeXhIUVVWMlJTeEhRVUZWTEVsQlFVNU1MRVZCUTBaQkxFVkJRVWtzUlVGQlNVa3NUVUZEU0N4RFFVRkJMRWRCUVVsS0xFbEJRVTFITEVWQlEyWXNUMEZCVDBZc1JVRkJTVkVzU1VGQmMwSkRMRVZCUVVGQkxFZEJRV1JHTEVkQlFVc3NSVUZCU1N4SFFVVTFRbEFzUjBGQlVWVXNTMEZCUzBNc1NVRkJTU3hGUVVGSFpDeEhRVU53UWtVc1IwRkJVVWtzUlVGRlZpeFBRVUZSU1N4SFFVRkxMRVZCUVVrc1IwRkJTMUFzUlVGQlNWVXNTMEZCUzBNc1NVRkJTU3hGUVVGSFdpeEZRVUZKUml4SlFVYzFRMHdzVVVGQlVXOUNMRTFCUVZFc1UwRkJWV3hDTEVWQlFWRnRRaXhGUVVGUGJFSXNSVUZCVVVNc1JVRkJUVU1zUlVGQlRVTXNSMEZETTBRc1NVRkJTVU1zUlVGQlIwTXNSVUZCUjJNc1JVRkRUbUlzUlVGQmFVSXNSVUZCVkVnc1JVRkJZMFFzUlVGQlR5eEZRVU0zUWtzc1IwRkJVU3hIUVVGTFJDeEhRVUZSTEVWQlEzSkNSU3hGUVVGUlJDeEhRVUZSTEVWQlEyaENZU3hGUVVGbExFdEJRVlJzUWl4RlFVRmpZU3hMUVVGTFF5eEpRVUZKTEVkQlFVa3NTVUZCVFVRc1MwRkJTME1zU1VGQlNTeEhRVUZKTEVsQlFVMHNSVUZETVVST0xFVkJRVWxVTEVWQlFVOHNSVUZCUzBVc1JVRkJVeXhGUVVONlFsRXNSVUZCU1ZZc1JVRkJUeXhIUVVGTExFVkJRMmhDVnl4RlFVRkpUU3hGUVVGUkxFZEJRV2RDTEVsQlFWWkJMRWRCUVdVc1JVRkJTVUVzUlVGQlVTeEZRVUZMTEVWQlFVa3NSVUZ0UXpGRUxFbEJha05CUVN4RlFVRlJTQ3hMUVVGTFRTeEpRVUZKU0N4SFFVVmlTU3hOUVVGTlNpeEpRVUZWUVN4SlFVRlZTaXhGUVVGQlFTeEhRVU0xUWxRc1JVRkJTV2xDTEUxQlFVMUtMRWRCUVZNc1JVRkJTU3hGUVVOMlFtUXNSVUZCU1Vjc1NVRkZTa2dzUlVGQlNWY3NTMEZCUzFFc1RVRkJUVklzUzBGQlMxTXNTVUZCU1U0c1IwRkJVMGdzUzBGQlMxVXNTMEZEYkVOUUxFZEJRVk5ETEVWQlFVbEtMRXRCUVV0RExFbEJRVWtzUjBGQlNWb3NTVUZCVFN4SlFVTnNRMEVzU1VGRFFXVXNSMEZCU3l4SlFVZE1SQ3hIUVVSRlpDeEZRVUZKU1N4SFFVRlRMRVZCUTA1WkxFVkJRVXRFTEVWQlJVeERMRVZCUVV0TUxFdEJRVXRETEVsQlFVa3NSVUZCUnl4RlFVRkpVaXhKUVVWd1FsY3NSMEZCU3l4SlFVTm1aaXhKUVVOQlpTeEhRVUZMTEVkQlIwaG1MRVZCUVVsSkxFZEJRVk5FTEVkQlEyWkdMRVZCUVVrc1JVRkRTa1FzUlVGQlNVY3NSMEZEUzBnc1JVRkJTVWtzUjBGQlV5eEhRVU4wUWtnc1IwRkJUV0VzUlVGQlVVTXNSVUZCU3l4SFFVRkxTaXhMUVVGTFF5eEpRVUZKTEVWQlFVZGtMRWRCUTNCRFJTeEhRVUZSU1N4SlFVVlNTQ3hGUVVGSllTeEZRVUZSU0N4TFFVRkxReXhKUVVGSkxFVkJRVWRTTEVWQlFWRXNSMEZCUzA4c1MwRkJTME1zU1VGQlNTeEZRVUZIWkN4SFFVTnFSRVVzUlVGQlNTeEpRVWxFUml4SFFVRlJMRVZCUVVkSUxFVkJRVTlETEVWQlFWTlZMRWRCUVZNc1NVRkJTa3dzUlVGQlZVc3NSMEZCUzBNc1JVRkJSMDRzUjBGQlN5eEpRVUZMU0N4SFFVRlJMRWRCU1RORkxFbEJSa0ZGTEVWQlFVdEJMRWRCUVV0R0xFVkJRVkZITEVWQlEyeENReXhIUVVGUlNpeEZRVU5FU1N4RlFVRlBMRVZCUVVkUUxFVkJRVTlETEVWQlFWTlZMRWRCUVZNc1NVRkJTazRzUlVGQlZVMHNSMEZCUzBNc1JVRkJSMUFzUjBGQlN5eEpRVUZMUlN4SFFVRlJMRWRCUlRGRlVDeEZRVUZQUXl4RlFVRlRWU3hGUVVGSlF5eEpRVUZWTEVsQlFVcERJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDIxaGMzUmxjaTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5cFpXVmxOelUwTDJsdVpHVjRMbXB6SW4wPSIsIlwiZnVuY3Rpb25cIj09dHlwZW9mIE9iamVjdC5jcmVhdGU/bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtlJiYodC5zdXBlcl89ZSx0LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6dCxlbnVtZXJhYmxlOiExLHdyaXRhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH19KSl9Om1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7aWYoZSl7dC5zdXBlcl89ZTt2YXIgbz1mdW5jdGlvbigpe307by5wcm90b3R5cGU9ZS5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IG8sdC5wcm90b3R5cGUuY29uc3RydWN0b3I9dH19O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1sdWFHVnlhWFJ6WDJKeWIzZHpaWEl1YW5NaVhTd2libUZ0WlhNaU9sc2lUMkpxWldOMElpd2lZM0psWVhSbElpd2liVzlrZFd4bElpd2laWGh3YjNKMGN5SXNJbU4wYjNJaUxDSnpkWEJsY2tOMGIzSWlMQ0p6ZFhCbGNsOGlMQ0p3Y205MGIzUjVjR1VpTENKamIyNXpkSEoxWTNSdmNpSXNJblpoYkhWbElpd2laVzUxYldWeVlXSnNaU0lzSW5keWFYUmhZbXhsSWl3aVkyOXVabWxuZFhKaFlteGxJaXdpVkdWdGNFTjBiM0lpWFN3aWJXRndjR2x1WjNNaU9pSkJRVUUyUWl4dFFrRkJiRUpCTEU5QlFVOURMRTlCUldoQ1F5eFBRVUZQUXl4UlFVRlZMRk5CUVd0Q1F5eEZRVUZOUXl4SFFVTnVRMEVzU1VGRFJrUXNSVUZCUzBVc1QwRkJVMFFzUlVGRFpFUXNSVUZCUzBjc1ZVRkJXVkFzVDBGQlQwTXNUMEZCVDBrc1JVRkJWVVVzVlVGQlZ5eERRVU5zUkVNc1dVRkJZU3hEUVVOWVF5eE5RVUZQVEN4RlFVTlFUU3haUVVGWkxFVkJRMXBETEZWQlFWVXNSVUZEVmtNc1kwRkJZeXhQUVU5MFFsWXNUMEZCVDBNc1VVRkJWU3hUUVVGclFrTXNSVUZCVFVNc1IwRkRka01zUjBGQlNVRXNSVUZCVnl4RFFVTmlSQ3hGUVVGTFJTeFBRVUZUUkN4RlFVTmtMRWxCUVVsUkxFVkJRVmNzWVVGRFprRXNSVUZCVTA0c1ZVRkJXVVlzUlVGQlZVVXNWVUZETDBKSUxFVkJRVXRITEZWQlFWa3NTVUZCU1Uwc1JVRkRja0pVTEVWQlFVdEhMRlZCUVZWRExGbEJRV05LSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwyMWhjM1JsY2k5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OXBibWhsY21sMGN5OXBibWhsY21sMGMxOWljbTkzYzJWeUxtcHpJbjA9IiwiZnVuY3Rpb24gakJveFdyYXBwZXIodCl7ZnVuY3Rpb24gaShvLHMpe3JldHVybiB0aGlzLm9wdGlvbnM9e2lkOm51bGwsd2lkdGg6XCJhdXRvXCIsaGVpZ2h0OlwiYXV0b1wiLG1pbldpZHRoOm51bGwsbWluSGVpZ2h0Om51bGwsbWF4V2lkdGg6bnVsbCxtYXhIZWlnaHQ6bnVsbCxyZXNwb25zaXZlV2lkdGg6ITAscmVzcG9uc2l2ZUhlaWdodDohMCxyZXNwb25zaXZlTWluV2lkdGg6MTAwLHJlc3BvbnNpdmVNaW5IZWlnaHQ6MTAwLGF0dGFjaDpudWxsLHRyaWdnZXI6XCJjbGlja1wiLHByZXZlbnREZWZhdWx0OiExLGNvbnRlbnQ6bnVsbCxnZXRDb250ZW50Om51bGwsdGl0bGU6bnVsbCxnZXRUaXRsZTpudWxsLGZvb3RlcjpudWxsLGlzb2xhdGVTY3JvbGw6ITAsYWpheDp7dXJsOm51bGwsZGF0YTpcIlwiLHJlbG9hZDohMSxnZXRVUkw6XCJkYXRhLXVybFwiLGdldERhdGE6XCJkYXRhLWFqYXhcIixzZXRDb250ZW50OiEwLGxvYWRpbmdDbGFzczohMCxzcGlubmVyOiEwLHNwaW5uZXJEZWxheTozMDAsc3Bpbm5lclJlcG9zaXRpb246ITB9LGNhbmNlbEFqYXhPbkNsb3NlOiEwLHRhcmdldDpudWxsLHBvc2l0aW9uOnt4OlwiY2VudGVyXCIseTpcImNlbnRlclwifSxvdXRzaWRlOm51bGwsb2Zmc2V0OjAsYXR0cmlidXRlczp7eDpcImxlZnRcIix5OlwidG9wXCJ9LGZpeGVkOiExLGFkanVzdFBvc2l0aW9uOiEwLGFkanVzdFRyYWNrZXI6ITEsYWRqdXN0RGlzdGFuY2U6NSxyZXBvc2l0aW9uOiEwLHJlcG9zaXRpb25Pbk9wZW46ITAscmVwb3NpdGlvbk9uQ29udGVudDohMCxob2xkUG9zaXRpb246ITAscG9pbnRlcjohMSxwb2ludFRvOlwidGFyZ2V0XCIsZmFkZToxODAsYW5pbWF0aW9uOm51bGwsdGhlbWU6XCJEZWZhdWx0XCIsYWRkQ2xhc3M6bnVsbCxvdmVybGF5OiExLG92ZXJsYXlDbGFzczpudWxsLHpJbmRleDoxZTQsZGVsYXlPcGVuOjAsZGVsYXlDbG9zZTowLGNsb3NlT25Fc2M6ITEsY2xvc2VPbkNsaWNrOiExLGNsb3NlT25Nb3VzZWxlYXZlOiExLGNsb3NlQnV0dG9uOiExLGFwcGVuZFRvOnQoXCJib2R5XCIpLGNyZWF0ZU9uSW5pdDohMSxibG9ja1Njcm9sbDohMSxibG9ja1Njcm9sbEFkanVzdDohMCxkcmFnZ2FibGU6ITEsZHJhZ092ZXI6ITAsYXV0b0Nsb3NlOiExLGRlbGF5T25Ib3ZlcjohMSxzaG93Q291bnRkb3duOiExLHByZWxvYWRBdWRpbzohMCxhdWRpbzpudWxsLHZvbHVtZToxMDAsb25Jbml0Om51bGwsb25BdHRhY2g6bnVsbCxvblBvc2l0aW9uOm51bGwsb25DcmVhdGVkOm51bGwsb25PcGVuOm51bGwsb25DbG9zZTpudWxsLG9uQ2xvc2VDb21wbGV0ZTpudWxsLG9uRHJhZ1N0YXJ0Om51bGwsb25EcmFnRW5kOm51bGx9LHRoaXMuX3BsdWdpbk9wdGlvbnM9e1Rvb2x0aXA6e2dldENvbnRlbnQ6XCJ0aXRsZVwiLHRyaWdnZXI6XCJtb3VzZWVudGVyXCIscG9zaXRpb246e3g6XCJjZW50ZXJcIix5OlwidG9wXCJ9LG91dHNpZGU6XCJ5XCIscG9pbnRlcjohMH0sTW91c2U6e3Jlc3BvbnNpdmVXaWR0aDohMSxyZXNwb25zaXZlSGVpZ2h0OiExLGFkanVzdFBvc2l0aW9uOlwiZmxpcFwiLHRhcmdldDpcIm1vdXNlXCIsdHJpZ2dlcjpcIm1vdXNlZW50ZXJcIixwb3NpdGlvbjp7eDpcInJpZ2h0XCIseTpcImJvdHRvbVwifSxvdXRzaWRlOlwieHlcIixvZmZzZXQ6NX0sTW9kYWw6e3RhcmdldDp0KHdpbmRvdyksZml4ZWQ6ITAsYmxvY2tTY3JvbGw6ITAsY2xvc2VPbkVzYzohMCxjbG9zZU9uQ2xpY2s6XCJvdmVybGF5XCIsY2xvc2VCdXR0b246ITAsb3ZlcmxheTohMCxhbmltYXRpb246XCJ6b29tSW5cIn19LHRoaXMub3B0aW9ucz10LmV4dGVuZCghMCx0aGlzLm9wdGlvbnMsdGhpcy5fcGx1Z2luT3B0aW9uc1tvXXx8aS5fcGx1Z2luT3B0aW9uc1tvXSxzKSxcInN0cmluZ1wiPT10LnR5cGUobykmJih0aGlzLnR5cGU9byksdGhpcy5pc1RvdWNoRGV2aWNlPWZ1bmN0aW9uKCl7dmFyIHQsaT1cIiAtd2Via2l0LSAtbW96LSAtby0gLW1zLSBcIi5zcGxpdChcIiBcIik7cmV0dXJuISEoXCJvbnRvdWNoc3RhcnRcImluIHdpbmRvd3x8d2luZG93LkRvY3VtZW50VG91Y2gmJmRvY3VtZW50IGluc3RhbmNlb2YgRG9jdW1lbnRUb3VjaCl8fCh0PWk9W1wiKFwiLGkuam9pbihcInRvdWNoLWVuYWJsZWQpLChcIiksXCJoZWFydHpcIixcIilcIl0uam9pbihcIlwiKSx3aW5kb3cubWF0Y2hNZWRpYSh0KS5tYXRjaGVzKX0oKSx0aGlzLmlzVG91Y2hEZXZpY2UmJlwibW91c2VlbnRlclwiPT09dGhpcy5vcHRpb25zLnRyaWdnZXImJiExPT09dGhpcy5vcHRpb25zLmNsb3NlT25DbGljayYmKHRoaXMub3B0aW9ucy5jbG9zZU9uQ2xpY2s9XCJib2R5XCIpLHRoaXMuX2ZpcmVFdmVudD1mdW5jdGlvbih0LGkpe3RoaXMub3B0aW9uc1tcIl9cIit0XSYmdGhpcy5vcHRpb25zW1wiX1wiK3RdLmJpbmQodGhpcykoaSksdGhpcy5vcHRpb25zW3RdJiZ0aGlzLm9wdGlvbnNbdF0uYmluZCh0aGlzKShpKX0sbnVsbD09PXRoaXMub3B0aW9ucy5pZCYmKHRoaXMub3B0aW9ucy5pZD1cImpCb3hcIitpLl9nZXRVbmlxdWVJRCgpKSx0aGlzLmlkPXRoaXMub3B0aW9ucy5pZCwoXCJjZW50ZXJcIj09dGhpcy5vcHRpb25zLnBvc2l0aW9uLngmJlwieFwiPT10aGlzLm9wdGlvbnMub3V0c2lkZXx8XCJjZW50ZXJcIj09dGhpcy5vcHRpb25zLnBvc2l0aW9uLnkmJlwieVwiPT10aGlzLm9wdGlvbnMub3V0c2lkZSkmJih0aGlzLm9wdGlvbnMub3V0c2lkZT1udWxsKSxcInRhcmdldFwiIT10aGlzLm9wdGlvbnMucG9pbnRUb3x8dGhpcy5vcHRpb25zLm91dHNpZGUmJlwieHlcIiE9dGhpcy5vcHRpb25zLm91dHNpZGV8fCh0aGlzLm9wdGlvbnMucG9pbnRlcj0hMSksXCJvYmplY3RcIiE9dC50eXBlKHRoaXMub3B0aW9ucy5vZmZzZXQpP3RoaXMub3B0aW9ucy5vZmZzZXQ9e3g6dGhpcy5vcHRpb25zLm9mZnNldCx5OnRoaXMub3B0aW9ucy5vZmZzZXR9OnRoaXMub3B0aW9ucy5vZmZzZXQ9dC5leHRlbmQoe3g6MCx5OjB9LHRoaXMub3B0aW9ucy5vZmZzZXQpLFwib2JqZWN0XCIhPXQudHlwZSh0aGlzLm9wdGlvbnMuYWRqdXN0RGlzdGFuY2UpP3RoaXMub3B0aW9ucy5hZGp1c3REaXN0YW5jZT17dG9wOnRoaXMub3B0aW9ucy5hZGp1c3REaXN0YW5jZSxyaWdodDp0aGlzLm9wdGlvbnMuYWRqdXN0RGlzdGFuY2UsYm90dG9tOnRoaXMub3B0aW9ucy5hZGp1c3REaXN0YW5jZSxsZWZ0OnRoaXMub3B0aW9ucy5hZGp1c3REaXN0YW5jZX06dGhpcy5vcHRpb25zLmFkanVzdERpc3RhbmNlPXQuZXh0ZW5kKHt0b3A6NSxsZWZ0OjUscmlnaHQ6NSxib3R0b206NX0sdGhpcy5vcHRpb25zLmFkanVzdERpc3RhbmNlKSx0aGlzLm91dHNpZGU9ISghdGhpcy5vcHRpb25zLm91dHNpZGV8fFwieHlcIj09dGhpcy5vcHRpb25zLm91dHNpZGUpJiZ0aGlzLm9wdGlvbnMucG9zaXRpb25bdGhpcy5vcHRpb25zLm91dHNpZGVdLHRoaXMuYWxpZ249dGhpcy5vdXRzaWRlfHwoXCJjZW50ZXJcIiE9dGhpcy5vcHRpb25zLnBvc2l0aW9uLnkmJlwibnVtYmVyXCIhPXQudHlwZSh0aGlzLm9wdGlvbnMucG9zaXRpb24ueSk/dGhpcy5vcHRpb25zLnBvc2l0aW9uLng6XCJjZW50ZXJcIiE9dGhpcy5vcHRpb25zLnBvc2l0aW9uLngmJlwibnVtYmVyXCIhPXQudHlwZSh0aGlzLm9wdGlvbnMucG9zaXRpb24ueCk/dGhpcy5vcHRpb25zLnBvc2l0aW9uLnk6dGhpcy5vcHRpb25zLmF0dHJpYnV0ZXMueCksaS56SW5kZXhNYXg9TWF0aC5tYXgoaS56SW5kZXhNYXh8fDAsXCJhdXRvXCI9PT10aGlzLm9wdGlvbnMuekluZGV4PzFlNDp0aGlzLm9wdGlvbnMuekluZGV4KSxcImF1dG9cIj09PXRoaXMub3B0aW9ucy56SW5kZXgmJih0aGlzLmFkanVzdFpJbmRleE9uT3Blbj0hMCxpLnpJbmRleE1heCs9Mix0aGlzLm9wdGlvbnMuekluZGV4PWkuekluZGV4TWF4LHRoaXMudHJ1ZU1vZGFsPXRoaXMub3B0aW9ucy5vdmVybGF5KSx0aGlzLl9nZXRPcHA9ZnVuY3Rpb24odCl7cmV0dXJue2xlZnQ6XCJyaWdodFwiLHJpZ2h0OlwibGVmdFwiLHRvcDpcImJvdHRvbVwiLGJvdHRvbTpcInRvcFwiLHg6XCJ5XCIseTpcInhcIn1bdF19LHRoaXMuX2dldFhZPWZ1bmN0aW9uKHQpe3JldHVybntsZWZ0OlwieFwiLHJpZ2h0OlwieFwiLHRvcDpcInlcIixib3R0b206XCJ5XCIsY2VudGVyOlwieFwifVt0XX0sdGhpcy5fZ2V0VEw9ZnVuY3Rpb24odCl7cmV0dXJue2xlZnQ6XCJsZWZ0XCIscmlnaHQ6XCJsZWZ0XCIsdG9wOlwidG9wXCIsYm90dG9tOlwidG9wXCIsY2VudGVyOlwibGVmdFwiLHg6XCJsZWZ0XCIseTpcInRvcFwifVt0XX0sdGhpcy5fZ2V0SW50PWZ1bmN0aW9uKGksbyl7cmV0dXJuXCJhdXRvXCI9PWk/XCJhdXRvXCI6aSYmXCJzdHJpbmdcIj09dC50eXBlKGkpJiZcIiVcIj09aS5zbGljZSgtMSk/dCh3aW5kb3cpW1wiaGVpZ2h0XCI9PW8/XCJpbm5lckhlaWdodFwiOlwiaW5uZXJXaWR0aFwiXSgpKnBhcnNlSW50KGkucmVwbGFjZShcIiVcIixcIlwiKSkvMTAwOml9LHRoaXMuX2NyZWF0ZVNWRz1mdW5jdGlvbihpLG8pe3ZhciBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsaSk7cmV0dXJuIHQuZWFjaChvLGZ1bmN0aW9uKHQsaSl7cy5zZXRBdHRyaWJ1dGUoaVswXSxpWzFdfHxcIlwiKX0pLHN9LHRoaXMuX2lzb2xhdGVTY3JvbGw9ZnVuY3Rpb24odCl7dCYmdC5sZW5ndGgmJnQub24oXCJET01Nb3VzZVNjcm9sbC5qQm94SXNvbGF0ZVNjcm9sbCBtb3VzZXdoZWVsLmpCb3hJc29sYXRlU2Nyb2xsXCIsZnVuY3Rpb24oaSl7dmFyIG89aS53aGVlbERlbHRhfHxpLm9yaWdpbmFsRXZlbnQmJmkub3JpZ2luYWxFdmVudC53aGVlbERlbHRhfHwtaS5kZXRhaWwscz0wPD10aGlzLnNjcm9sbFRvcCt0Lm91dGVySGVpZ2h0KCktdGhpcy5zY3JvbGxIZWlnaHQsZT10aGlzLnNjcm9sbFRvcDw9MDsobzwwJiZzfHwwPG8mJmUpJiZpLnByZXZlbnREZWZhdWx0KCl9KX0sdGhpcy5fc2V0VGl0bGVXaWR0aD1mdW5jdGlvbigpe2lmKCF0aGlzLnRpdGxlQ29udGFpbmVyfHxcImF1dG9cIj09dGhpcy5jb250ZW50WzBdLnN0eWxlLndpZHRoJiYhdGhpcy5jb250ZW50WzBdLnN0eWxlLm1heFdpZHRoKXJldHVybiBudWxsO3ZhciB0O1wibm9uZVwiPT10aGlzLndyYXBwZXIuY3NzKFwiZGlzcGxheVwiKT8odGhpcy53cmFwcGVyLmNzcyhcImRpc3BsYXlcIixcImJsb2NrXCIpLHQ9dGhpcy5jb250ZW50Lm91dGVyV2lkdGgoKSx0aGlzLndyYXBwZXIuY3NzKFwiZGlzcGxheVwiLFwibm9uZVwiKSk6dD10aGlzLmNvbnRlbnQub3V0ZXJXaWR0aCgpLHRoaXMudGl0bGVDb250YWluZXIuY3NzKHttYXhXaWR0aDpNYXRoLm1heCh0LHBhcnNlSW50KHRoaXMuY29udGVudFswXS5zdHlsZS5tYXhXaWR0aCkpfHxudWxsfSl9LHRoaXMuX2RyYWdnYWJsZT1mdW5jdGlvbigpe2lmKCF0aGlzLm9wdGlvbnMuZHJhZ2dhYmxlKXJldHVybiExO3ZhciBvPVwidGl0bGVcIj09dGhpcy5vcHRpb25zLmRyYWdnYWJsZT90aGlzLnRpdGxlQ29udGFpbmVyOnRoaXMub3B0aW9ucy5kcmFnZ2FibGUgaW5zdGFuY2VvZiB0P3RoaXMub3B0aW9ucy5kcmFnZ2FibGU6XCJzdHJpbmdcIj09dC50eXBlKHRoaXMub3B0aW9ucy5kcmFnZ2FibGUpP3QodGhpcy5vcHRpb25zLmRyYWdnYWJsZSk6dGhpcy53cmFwcGVyO3JldHVybiEoIShvJiZvIGluc3RhbmNlb2YgdCYmby5sZW5ndGgpfHxvLmRhdGEoXCJqQm94LWRyYWdnYWJsZVwiKSkmJihvLmFkZENsYXNzKFwiakJveC1kcmFnZ2FibGVcIikuZGF0YShcImpCb3gtZHJhZ2dhYmxlXCIsITApLm9uKFwidG91Y2hzdGFydCBtb3VzZWRvd25cIixmdW5jdGlvbihvKXt2YXIgcyxlLG4sYSxoLHI7Mj09by5idXR0b258fHQoby50YXJnZXQpLmhhc0NsYXNzKFwiakJveC1ub0RyYWdcIil8fHQoby50YXJnZXQpLnBhcmVudHMoXCIuakJveC1ub0RyYWdcIikubGVuZ3RoP1widG91Y2hzdGFydFwiPT1vLnR5cGUmJih0KG8udGFyZ2V0KS5oYXNDbGFzcyhcImpCb3gtY2xvc2VCdXR0b25cIil8fHQoby50YXJnZXQpLnBhcmVudHMoXCIuakJveC1jbG9zZUJ1dHRvblwiKS5sZW5ndGgpJiZ0aGlzLmNsb3NlKHtpZ25vcmVEZWxheTohMH0pOihlPVwidG91Y2hzdGFydFwiPT1vLnR5cGUmJm8udG91Y2hlcyYmby50b3VjaGVzWzBdPyhzPW8udG91Y2hlc1swXS5wYWdlWCxvLnRvdWNoZXNbMF0ucGFnZVkpOihzPW8ucGFnZVgsby5wYWdlWSksdGhpcy5kcmFnZ2luZ1N0YXJ0WD1zLHRoaXMuZHJhZ2dpbmdTdGFydFk9ZSx0aGlzLm9wdGlvbnMuZHJhZ092ZXImJiF0aGlzLnRydWVNb2RhbCYmcGFyc2VJbnQodGhpcy53cmFwcGVyLmNzcyhcInpJbmRleFwiKSwxMCk8PWkuekluZGV4TWF4RHJhZ292ZXImJihpLnpJbmRleE1heERyYWdvdmVyKz0xLHRoaXMud3JhcHBlci5jc3MoXCJ6SW5kZXhcIixpLnpJbmRleE1heERyYWdvdmVyKSksbj10aGlzLndyYXBwZXIub3V0ZXJIZWlnaHQoKSxhPXRoaXMud3JhcHBlci5vdXRlcldpZHRoKCksaD10aGlzLndyYXBwZXIub2Zmc2V0KCkudG9wK24tZSxyPXRoaXMud3JhcHBlci5vZmZzZXQoKS5sZWZ0K2Etcyx0KGRvY3VtZW50KS5vbihcInRvdWNobW92ZS5qQm94LWRyYWdnYWJsZS1cIit0aGlzLmlkK1wiIG1vdXNlbW92ZS5qQm94LWRyYWdnYWJsZS1cIit0aGlzLmlkLGZ1bmN0aW9uKHQpe3ZhciBpO3Q9XCJ0b3VjaG1vdmVcIj09dC50eXBlJiZ0LnRvdWNoZXMmJnQudG91Y2hlc1swXT8oaT10LnRvdWNoZXNbMF0ucGFnZVgsdC50b3VjaGVzWzBdLnBhZ2VZKTooaT10LnBhZ2VYLHQucGFnZVkpO3RoaXMuZHJhZ2dpbmd8fHRoaXMuZHJhZ2dpbmdTdGFydFg9PWl8fHRoaXMuZHJhZ2dpbmdTdGFydFk9PXR8fCh0aGlzLl9maXJlRXZlbnQoXCJvbkRyYWdTdGFydFwiKSx0aGlzLmRyYWdnaW5nPSEwKSx0aGlzLndyYXBwZXIub2Zmc2V0KHt0b3A6dCtoLW4sbGVmdDppK3ItYX0pfS5iaW5kKHRoaXMpKSxvLnByZXZlbnREZWZhdWx0KCkpfS5iaW5kKHRoaXMpKS5vbihcInRvdWNoZW5kIG1vdXNldXBcIixmdW5jdGlvbigpe3ZhciBpO3QoZG9jdW1lbnQpLm9mZihcInRvdWNobW92ZS5qQm94LWRyYWdnYWJsZS1cIit0aGlzLmlkK1wiIG1vdXNlbW92ZS5qQm94LWRyYWdnYWJsZS1cIit0aGlzLmlkKSx0aGlzLmRyYWdnaW5nJiZ0aGlzLl9maXJlRXZlbnQoXCJvbkRyYWdFbmRcIiksdGhpcy5kcmFnZ2luZz0hMSxcIk1vZGFsXCIhPXRoaXMudHlwZSYmXCJDb25maXJtXCIhPXRoaXMudHlwZXx8IXRoaXMub3B0aW9ucy5ob2xkUG9zaXRpb258fChpPXt4OihpPXQoXCIjXCIrdGhpcy5pZCkub2Zmc2V0KCkpLmxlZnQtdChkb2N1bWVudCkuc2Nyb2xsTGVmdCgpLHk6aS50b3AtdChkb2N1bWVudCkuc2Nyb2xsVG9wKCl9LHRoaXMucG9zaXRpb24oe3Bvc2l0aW9uOmksb2Zmc2V0Ont4OjAseTowfX0pKX0uYmluZCh0aGlzKSksdGhpcy50cnVlTW9kYWx8fChpLnpJbmRleE1heERyYWdvdmVyPWkuekluZGV4TWF4RHJhZ292ZXI/TWF0aC5tYXgoaS56SW5kZXhNYXhEcmFnb3Zlcix0aGlzLm9wdGlvbnMuekluZGV4KTp0aGlzLm9wdGlvbnMuekluZGV4KSx0aGlzKX0sdGhpcy5fY3JlYXRlPWZ1bmN0aW9uKCl7dmFyIGk7dGhpcy53cmFwcGVyfHwodGhpcy53cmFwcGVyPXQoXCI8ZGl2Lz5cIix7aWQ6dGhpcy5pZCxjbGFzczpcImpCb3gtd3JhcHBlclwiKyh0aGlzLnR5cGU/XCIgakJveC1cIit0aGlzLnR5cGU6XCJcIikrKHRoaXMub3B0aW9ucy50aGVtZT9cIiBqQm94LVwiK3RoaXMub3B0aW9ucy50aGVtZTpcIlwiKSsodGhpcy5vcHRpb25zLmFkZENsYXNzP1wiIFwiK3RoaXMub3B0aW9ucy5hZGRDbGFzczpcIlwiKX0pLmNzcyh7cG9zaXRpb246dGhpcy5vcHRpb25zLmZpeGVkP1wiZml4ZWRcIjpcImFic29sdXRlXCIsZGlzcGxheTpcIm5vbmVcIixvcGFjaXR5OjAsekluZGV4OnRoaXMub3B0aW9ucy56SW5kZXh9KS5kYXRhKFwiakJveFwiLHRoaXMpLHRoaXMub3B0aW9ucy5jbG9zZU9uTW91c2VsZWF2ZSYmdGhpcy53cmFwcGVyLm9uKFwibW91c2VsZWF2ZVwiLGZ1bmN0aW9uKGkpeyF0aGlzLnNvdXJjZXx8aS5yZWxhdGVkVGFyZ2V0IT10aGlzLnNvdXJjZVswXSYmLTE9PT10LmluQXJyYXkodGhpcy5zb3VyY2VbMF0sdChpLnJlbGF0ZWRUYXJnZXQpLnBhcmVudHMoXCIqXCIpKSYmdGhpcy5jbG9zZSgpfS5iaW5kKHRoaXMpKSxcImJveFwiPT10aGlzLm9wdGlvbnMuY2xvc2VPbkNsaWNrJiZ0aGlzLndyYXBwZXIub24oXCJjbGljayB0YXBcIixmdW5jdGlvbigpe3RoaXMuY2xvc2Uoe2lnbm9yZURlbGF5OiEwfSl9LmJpbmQodGhpcykpLHRoaXMuY29udGFpbmVyPXQoJzxkaXYgY2xhc3M9XCJqQm94LWNvbnRhaW5lclwiLz4nKS5hcHBlbmRUbyh0aGlzLndyYXBwZXIpLHRoaXMuY29udGVudD10KCc8ZGl2IGNsYXNzPVwiakJveC1jb250ZW50XCIvPicpLmFwcGVuZFRvKHRoaXMuY29udGFpbmVyKSx0aGlzLm9wdGlvbnMuZm9vdGVyJiYodGhpcy5mb290ZXI9dCgnPGRpdiBjbGFzcz1cImpCb3gtZm9vdGVyXCIvPicpLmFwcGVuZCh0aGlzLm9wdGlvbnMuZm9vdGVyKS5hcHBlbmRUbyh0aGlzLmNvbnRhaW5lcikpLHRoaXMub3B0aW9ucy5pc29sYXRlU2Nyb2xsJiZ0aGlzLl9pc29sYXRlU2Nyb2xsKHRoaXMuY29udGVudCksdGhpcy5vcHRpb25zLmNsb3NlQnV0dG9uJiYoKGk9dGhpcy5fY3JlYXRlU1ZHKFwic3ZnXCIsW1tcInZpZXdCb3hcIixcIjAgMCAyNCAyNFwiXV0pKS5hcHBlbmRDaGlsZCh0aGlzLl9jcmVhdGVTVkcoXCJwYXRoXCIsW1tcImRcIixcIk0yMi4yLDRjMCwwLDAuNSwwLjYsMCwxLjFsLTYuOCw2LjhsNi45LDYuOWMwLjUsMC41LDAsMS4xLDAsMS4xTDIwLDIyLjNjMCwwLTAuNiwwLjUtMS4xLDBMMTIsMTUuNGwtNi45LDYuOWMtMC41LDAuNS0xLjEsMC0xLjEsMEwxLjcsMjBjMCwwLTAuNS0wLjYsMC0xLjFMOC42LDEyTDEuNyw1LjFDMS4yLDQuNiwxLjcsNCwxLjcsNEw0LDEuN2MwLDAsMC42LTAuNSwxLjEsMEwxMiw4LjVsNi44LTYuOGMwLjUtMC41LDEuMSwwLDEuMSwwTDIyLjIsNHpcIl1dKSksdGhpcy5jbG9zZUJ1dHRvbj10KCc8ZGl2IGNsYXNzPVwiakJveC1jbG9zZUJ1dHRvbiBqQm94LW5vRHJhZ1wiLz4nKS5vbihcImNsaWNrIHRhcFwiLGZ1bmN0aW9uKHQpe3RoaXMuY2xvc2Uoe2lnbm9yZURlbGF5OiEwfSl9LmJpbmQodGhpcykpLmFwcGVuZChpKSxcImJveFwiIT10aGlzLm9wdGlvbnMuY2xvc2VCdXR0b24mJighMCE9PXRoaXMub3B0aW9ucy5jbG9zZUJ1dHRvbnx8dGhpcy5vcHRpb25zLm92ZXJsYXl8fHRoaXMub3B0aW9ucy50aXRsZXx8dGhpcy5vcHRpb25zLmdldFRpdGxlKXx8KHRoaXMud3JhcHBlci5hZGRDbGFzcyhcImpCb3gtY2xvc2VCdXR0b24tYm94XCIpLHRoaXMuY2xvc2VCdXR0b24uYXBwZW5kVG8odGhpcy5jb250YWluZXIpKSksdGhpcy53cmFwcGVyLmFwcGVuZFRvKHRoaXMub3B0aW9ucy5hcHBlbmRUbyksdGhpcy53cmFwcGVyLmZpbmQoXCIuakJveC1jbG9zZUJ1dHRvblwiKS5sZW5ndGgmJnQuZWFjaChbXCJ0b3BcIixcInJpZ2h0XCIsXCJib3R0b21cIixcImxlZnRcIl0sZnVuY3Rpb24odCxpKXt0aGlzLndyYXBwZXIuZmluZChcIi5qQm94LWNsb3NlQnV0dG9uXCIpLmNzcyhpKSYmXCJhdXRvXCIhPXRoaXMud3JhcHBlci5maW5kKFwiLmpCb3gtY2xvc2VCdXR0b25cIikuY3NzKGkpJiYodGhpcy5vcHRpb25zLmFkanVzdERpc3RhbmNlW2ldPU1hdGgubWF4KHRoaXMub3B0aW9ucy5hZGp1c3REaXN0YW5jZVtpXSx0aGlzLm9wdGlvbnMuYWRqdXN0RGlzdGFuY2VbaV0rLTEqKChwYXJzZUludCh0aGlzLndyYXBwZXIuZmluZChcIi5qQm94LWNsb3NlQnV0dG9uXCIpLmNzcyhpKSl8fDApKyhwYXJzZUludCh0aGlzLmNvbnRhaW5lci5jc3MoXCJib3JkZXItXCIraStcIi13aWR0aFwiKSl8fDApKSkpfS5iaW5kKHRoaXMpKSx0aGlzLm9wdGlvbnMucG9pbnRlciYmKHRoaXMucG9pbnRlcj17cG9zaXRpb246XCJ0YXJnZXRcIiE9dGhpcy5vcHRpb25zLnBvaW50VG8/dGhpcy5vcHRpb25zLnBvaW50VG86dGhpcy5fZ2V0T3BwKHRoaXMub3V0c2lkZSkseHk6XCJ0YXJnZXRcIiE9dGhpcy5vcHRpb25zLnBvaW50VG8/dGhpcy5fZ2V0WFkodGhpcy5vcHRpb25zLnBvaW50VG8pOnRoaXMuX2dldFhZKHRoaXMub3V0c2lkZSksYWxpZ246XCJjZW50ZXJcIixvZmZzZXQ6MH0sdGhpcy5wb2ludGVyLmVsZW1lbnQ9dCgnPGRpdiBjbGFzcz1cImpCb3gtcG9pbnRlciBqQm94LXBvaW50ZXItJyt0aGlzLnBvaW50ZXIucG9zaXRpb24rJ1wiLz4nKS5hcHBlbmRUbyh0aGlzLndyYXBwZXIpLHRoaXMucG9pbnRlci5kaW1lbnNpb25zPXt4OnRoaXMucG9pbnRlci5lbGVtZW50Lm91dGVyV2lkdGgoKSx5OnRoaXMucG9pbnRlci5lbGVtZW50Lm91dGVySGVpZ2h0KCl9LFwic3RyaW5nXCI9PXQudHlwZSh0aGlzLm9wdGlvbnMucG9pbnRlcikmJigoaT10aGlzLm9wdGlvbnMucG9pbnRlci5zcGxpdChcIjpcIikpWzBdJiYodGhpcy5wb2ludGVyLmFsaWduPWlbMF0pLGlbMV0mJih0aGlzLnBvaW50ZXIub2Zmc2V0PXBhcnNlSW50KGlbMV0pKSksdGhpcy5wb2ludGVyLmFsaWduQXR0cmlidXRlPVwieFwiPT10aGlzLnBvaW50ZXIueHk/XCJib3R0b21cIj09dGhpcy5wb2ludGVyLmFsaWduP1wiYm90dG9tXCI6XCJ0b3BcIjpcInJpZ2h0XCI9PXRoaXMucG9pbnRlci5hbGlnbj9cInJpZ2h0XCI6XCJsZWZ0XCIsdGhpcy53cmFwcGVyLmNzcyhcInBhZGRpbmctXCIrdGhpcy5wb2ludGVyLnBvc2l0aW9uLHRoaXMucG9pbnRlci5kaW1lbnNpb25zW3RoaXMucG9pbnRlci54eV0pLHRoaXMucG9pbnRlci5lbGVtZW50LmNzcyh0aGlzLnBvaW50ZXIuYWxpZ25BdHRyaWJ1dGUsXCJjZW50ZXJcIj09dGhpcy5wb2ludGVyLmFsaWduP1wiNTAlXCI6MCkuY3NzKFwibWFyZ2luLVwiK3RoaXMucG9pbnRlci5hbGlnbkF0dHJpYnV0ZSx0aGlzLnBvaW50ZXIub2Zmc2V0KSx0aGlzLnBvaW50ZXIubWFyZ2luPXt9LHRoaXMucG9pbnRlci5tYXJnaW5bXCJtYXJnaW4tXCIrdGhpcy5wb2ludGVyLmFsaWduQXR0cmlidXRlXT10aGlzLnBvaW50ZXIub2Zmc2V0LFwiY2VudGVyXCI9PXRoaXMucG9pbnRlci5hbGlnbiYmdGhpcy5wb2ludGVyLmVsZW1lbnQuY3NzKFwidHJhbnNmb3JtXCIsXCJ0cmFuc2xhdGUoXCIrKFwieVwiPT10aGlzLnBvaW50ZXIueHk/LS41KnRoaXMucG9pbnRlci5kaW1lbnNpb25zLngrXCJweFwiOjApK1wiLCBcIisoXCJ4XCI9PXRoaXMucG9pbnRlci54eT8tLjUqdGhpcy5wb2ludGVyLmRpbWVuc2lvbnMueStcInB4XCI6MCkrXCIpXCIpLHRoaXMucG9pbnRlci5lbGVtZW50LmNzcyhcInhcIj09dGhpcy5wb2ludGVyLnh5P1wid2lkdGhcIjpcImhlaWdodFwiLHBhcnNlSW50KHRoaXMucG9pbnRlci5kaW1lbnNpb25zW3RoaXMucG9pbnRlci54eV0pK3BhcnNlSW50KHRoaXMuY29udGFpbmVyLmNzcyhcImJvcmRlci1cIit0aGlzLnBvaW50ZXIuYWxpZ25BdHRyaWJ1dGUrXCItd2lkdGhcIikpKSx0aGlzLndyYXBwZXIuYWRkQ2xhc3MoXCJqQm94LXBvaW50ZXJQb3NpdGlvbi1cIit0aGlzLnBvaW50ZXIucG9zaXRpb24pKSx0aGlzLnNldENvbnRlbnQodGhpcy5vcHRpb25zLmNvbnRlbnQsITApLHRoaXMuc2V0VGl0bGUodGhpcy5vcHRpb25zLnRpdGxlLCEwKSx0aGlzLm9wdGlvbnMuZHJhZ2dhYmxlJiZ0aGlzLl9kcmFnZ2FibGUoKSx0aGlzLl9maXJlRXZlbnQoXCJvbkNyZWF0ZWRcIikpfSx0aGlzLm9wdGlvbnMuY3JlYXRlT25Jbml0JiZ0aGlzLl9jcmVhdGUoKSx0aGlzLm9wdGlvbnMuYXR0YWNoJiZ0aGlzLmF0dGFjaCgpLHRoaXMuX2F0dGFjaEV2ZW50cz1mdW5jdGlvbigpe3RoaXMub3B0aW9ucy5kZWxheU9uSG92ZXImJnQoXCIjXCIrdGhpcy5pZCkub24oXCJtb3VzZWVudGVyXCIsZnVuY3Rpb24odCl7dGhpcy5pc0hvdmVyZWQ9ITB9LmJpbmQodGhpcykpLHRoaXMub3B0aW9ucy5kZWxheU9uSG92ZXImJnQoXCIjXCIrdGhpcy5pZCkub24oXCJtb3VzZWxlYXZlXCIsZnVuY3Rpb24odCl7dGhpcy5pc0hvdmVyZWQ9ITF9LmJpbmQodGhpcykpLCh0aGlzLm9wdGlvbnMuYWRqdXN0UG9zaXRpb258fHRoaXMub3B0aW9ucy5yZXBvc2l0aW9uKSYmIXRoaXMuZml4ZWQmJnRoaXMub3V0c2lkZSYmKHRoaXMub3B0aW9ucy5hZGp1c3RUcmFja2VyJiZ0KHdpbmRvdykub24oXCJzY3JvbGwuakJveC1cIit0aGlzLmlkLGZ1bmN0aW9uKHQpe3RoaXMucG9zaXRpb24oKX0uYmluZCh0aGlzKSksKHRoaXMub3B0aW9ucy5hZGp1c3RQb3NpdGlvbnx8dGhpcy5vcHRpb25zLnJlcG9zaXRpb24pJiZ0KHdpbmRvdykub24oXCJyZXNpemUuakJveC1cIit0aGlzLmlkLGZ1bmN0aW9uKHQpe3RoaXMucG9zaXRpb24oKX0uYmluZCh0aGlzKSkpLFwibW91c2VcIj09dGhpcy5vcHRpb25zLnRhcmdldCYmdChcImJvZHlcIikub24oXCJtb3VzZW1vdmUuakJveC1cIit0aGlzLmlkLGZ1bmN0aW9uKHQpe3RoaXMucG9zaXRpb24oe21vdXNlVGFyZ2V0Ont0b3A6dC5wYWdlWSxsZWZ0OnQucGFnZVh9fSl9LmJpbmQodGhpcykpfSx0aGlzLl9kZXRhY2hFdmVudHM9ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMuY2xvc2VPbkVzYyYmdChkb2N1bWVudCkub2ZmKFwia2V5dXAuakJveC1cIit0aGlzLmlkKSwhMCE9PXRoaXMub3B0aW9ucy5jbG9zZU9uQ2xpY2smJlwiYm9keVwiIT10aGlzLm9wdGlvbnMuY2xvc2VPbkNsaWNrfHx0KGRvY3VtZW50KS5vZmYoXCJjbGljay5qQm94LVwiK3RoaXMuaWQrXCIgdGFwLmpCb3gtXCIrdGhpcy5pZCksdGhpcy5vcHRpb25zLmFkanVzdFRyYWNrZXImJnQod2luZG93KS5vZmYoXCJzY3JvbGwuakJveC1cIit0aGlzLmlkKSwodGhpcy5vcHRpb25zLmFkanVzdFBvc2l0aW9ufHx0aGlzLm9wdGlvbnMucmVwb3NpdGlvbikmJnQod2luZG93KS5vZmYoXCJyZXNpemUuakJveC1cIit0aGlzLmlkKSxcIm1vdXNlXCI9PXRoaXMub3B0aW9ucy50YXJnZXQmJnQoXCJib2R5XCIpLm9mZihcIm1vdXNlbW92ZS5qQm94LVwiK3RoaXMuaWQpfSx0aGlzLl9zaG93T3ZlcmxheT1mdW5jdGlvbigpe3RoaXMub3ZlcmxheXx8KHRoaXMub3ZlcmxheT10KCc8ZGl2IGlkPVwiJyt0aGlzLmlkKyctb3ZlcmxheVwiLz4nKS5hZGRDbGFzcyhcImpCb3gtb3ZlcmxheVwiKyh0aGlzLnR5cGU/XCIgakJveC1vdmVybGF5LVwiK3RoaXMudHlwZTpcIlwiKSkuY3NzKHtkaXNwbGF5Olwibm9uZVwiLG9wYWNpdHk6MCx6SW5kZXg6dGhpcy5vcHRpb25zLnpJbmRleC0xfSkuYXBwZW5kVG8odGhpcy5vcHRpb25zLmFwcGVuZFRvKSx0aGlzLm9wdGlvbnMub3ZlcmxheUNsYXNzJiZ0aGlzLm92ZXJsYXkuYWRkQ2xhc3ModGhpcy5vcHRpb25zLm92ZXJsYXlDbGFzcyksXCJvdmVybGF5XCIhPXRoaXMub3B0aW9ucy5jbG9zZUJ1dHRvbiYmITAhPT10aGlzLm9wdGlvbnMuY2xvc2VCdXR0b258fHRoaXMub3ZlcmxheS5hcHBlbmQodGhpcy5jbG9zZUJ1dHRvbiksXCJvdmVybGF5XCI9PXRoaXMub3B0aW9ucy5jbG9zZU9uQ2xpY2smJnRoaXMub3ZlcmxheS5vbihcImNsaWNrIHRhcFwiLGZ1bmN0aW9uKCl7dGhpcy5jbG9zZSh7aWdub3JlRGVsYXk6ITB9KX0uYmluZCh0aGlzKSksdChcIiNcIit0aGlzLmlkK1wiLW92ZXJsYXkgLmpCb3gtY2xvc2VCdXR0b25cIikubGVuZ3RoJiYodGhpcy5vcHRpb25zLmFkanVzdERpc3RhbmNlLnRvcD1NYXRoLm1heCh0KFwiI1wiK3RoaXMuaWQrXCItb3ZlcmxheSAuakJveC1jbG9zZUJ1dHRvblwiKS5vdXRlckhlaWdodCgpLHRoaXMub3B0aW9ucy5hZGp1c3REaXN0YW5jZS50b3ApKSksITA9PT10aGlzLmFkanVzdFpJbmRleE9uT3BlbiYmdGhpcy5vdmVybGF5LmNzcyhcInpJbmRleFwiLHBhcnNlSW50KHRoaXMud3JhcHBlci5jc3MoXCJ6SW5kZXhcIiksMTApLTEpLFwiYmxvY2tcIiE9dGhpcy5vdmVybGF5LmNzcyhcImRpc3BsYXlcIikmJih0aGlzLm9wdGlvbnMuZmFkZT90aGlzLm92ZXJsYXkuc3RvcCgpJiZ0aGlzLm92ZXJsYXkuYW5pbWF0ZSh7b3BhY2l0eToxfSx7cXVldWU6ITEsZHVyYXRpb246dGhpcy5vcHRpb25zLmZhZGUsc3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLm92ZXJsYXkuY3NzKHtkaXNwbGF5OlwiYmxvY2tcIn0pfS5iaW5kKHRoaXMpfSk6dGhpcy5vdmVybGF5LmNzcyh7ZGlzcGxheTpcImJsb2NrXCIsb3BhY2l0eToxfSkpfSx0aGlzLl9oaWRlT3ZlcmxheT1mdW5jdGlvbigpe3RoaXMub3ZlcmxheSYmKHRoaXMub3B0aW9ucy5mYWRlP3RoaXMub3ZlcmxheS5zdG9wKCkmJnRoaXMub3ZlcmxheS5hbmltYXRlKHtvcGFjaXR5OjB9LHtxdWV1ZTohMSxkdXJhdGlvbjp0aGlzLm9wdGlvbnMuZmFkZSxjb21wbGV0ZTpmdW5jdGlvbigpe3RoaXMub3ZlcmxheS5jc3Moe2Rpc3BsYXk6XCJub25lXCJ9KX0uYmluZCh0aGlzKX0pOnRoaXMub3ZlcmxheS5jc3Moe2Rpc3BsYXk6XCJub25lXCIsb3BhY2l0eTowfSkpfSx0aGlzLl9leHBvc2VEaW1lbnNpb25zPWZ1bmN0aW9uKCl7dGhpcy53cmFwcGVyLmNzcyh7dG9wOi0xZTQsbGVmdDotMWU0LHJpZ2h0OlwiYXV0b1wiLGJvdHRvbTpcImF1dG9cIn0pO3ZhciB0PXt4OnRoaXMud3JhcHBlci5vdXRlcldpZHRoKCkseTp0aGlzLndyYXBwZXIub3V0ZXJIZWlnaHQoKX07cmV0dXJuIHRoaXMud3JhcHBlci5jc3Moe3RvcDpcImF1dG9cIixsZWZ0OlwiYXV0b1wifSksdH0sdGhpcy5fZ2VuZXJhdGVBbmltYXRpb25DU1M9ZnVuY3Rpb24oKXtpZihcIm9iamVjdFwiIT10LnR5cGUodGhpcy5vcHRpb25zLmFuaW1hdGlvbikmJih0aGlzLm9wdGlvbnMuYW5pbWF0aW9uPXtwdWxzZTp7b3BlbjpcInB1bHNlXCIsY2xvc2U6XCJ6b29tT3V0XCJ9LHpvb21Jbjp7b3BlbjpcInpvb21JblwiLGNsb3NlOlwiem9vbUluXCJ9LHpvb21PdXQ6e29wZW46XCJ6b29tT3V0XCIsY2xvc2U6XCJ6b29tT3V0XCJ9LG1vdmU6e29wZW46XCJtb3ZlXCIsY2xvc2U6XCJtb3ZlXCJ9LHNsaWRlOntvcGVuOlwic2xpZGVcIixjbG9zZTpcInNsaWRlXCJ9LGZsaXA6e29wZW46XCJmbGlwXCIsY2xvc2U6XCJmbGlwXCJ9LHRhZGE6e29wZW46XCJ0YWRhXCIsY2xvc2U6XCJ6b29tT3V0XCJ9fVt0aGlzLm9wdGlvbnMuYW5pbWF0aW9uXSksIXRoaXMub3B0aW9ucy5hbmltYXRpb24pcmV0dXJuIG51bGw7dGhpcy5vcHRpb25zLmFuaW1hdGlvbi5vcGVuJiYodGhpcy5vcHRpb25zLmFuaW1hdGlvbi5vcGVuPXRoaXMub3B0aW9ucy5hbmltYXRpb24ub3Blbi5zcGxpdChcIjpcIikpLHRoaXMub3B0aW9ucy5hbmltYXRpb24uY2xvc2UmJih0aGlzLm9wdGlvbnMuYW5pbWF0aW9uLmNsb3NlPXRoaXMub3B0aW9ucy5hbmltYXRpb24uY2xvc2Uuc3BsaXQoXCI6XCIpKSx0aGlzLm9wdGlvbnMuYW5pbWF0aW9uLm9wZW5EaXJlY3Rpb249dGhpcy5vcHRpb25zLmFuaW1hdGlvbi5vcGVuWzFdfHxudWxsLHRoaXMub3B0aW9ucy5hbmltYXRpb24uY2xvc2VEaXJlY3Rpb249dGhpcy5vcHRpb25zLmFuaW1hdGlvbi5jbG9zZVsxXXx8bnVsbCx0aGlzLm9wdGlvbnMuYW5pbWF0aW9uLm9wZW4mJih0aGlzLm9wdGlvbnMuYW5pbWF0aW9uLm9wZW49dGhpcy5vcHRpb25zLmFuaW1hdGlvbi5vcGVuWzBdKSx0aGlzLm9wdGlvbnMuYW5pbWF0aW9uLmNsb3NlJiYodGhpcy5vcHRpb25zLmFuaW1hdGlvbi5jbG9zZT10aGlzLm9wdGlvbnMuYW5pbWF0aW9uLmNsb3NlWzBdKSx0aGlzLm9wdGlvbnMuYW5pbWF0aW9uLm9wZW4mJih0aGlzLm9wdGlvbnMuYW5pbWF0aW9uLm9wZW4rPVwiT3BlblwiKSx0aGlzLm9wdGlvbnMuYW5pbWF0aW9uLmNsb3NlJiYodGhpcy5vcHRpb25zLmFuaW1hdGlvbi5jbG9zZSs9XCJDbG9zZVwiKTt2YXIgaT17cHVsc2U6e2R1cmF0aW9uOjM1MCxjc3M6W1tcIjAlXCIsXCJzY2FsZSgxKVwiXSxbXCI1MCVcIixcInNjYWxlKDEuMSlcIl0sW1wiMTAwJVwiLFwic2NhbGUoMSlcIl1dfSx6b29tSW5PcGVuOntkdXJhdGlvbjp0aGlzLm9wdGlvbnMuZmFkZXx8MTgwLGNzczpbW1wiMCVcIixcInNjYWxlKDAuOSlcIl0sW1wiMTAwJVwiLFwic2NhbGUoMSlcIl1dfSx6b29tSW5DbG9zZTp7ZHVyYXRpb246dGhpcy5vcHRpb25zLmZhZGV8fDE4MCxjc3M6W1tcIjAlXCIsXCJzY2FsZSgxKVwiXSxbXCIxMDAlXCIsXCJzY2FsZSgwLjkpXCJdXX0sem9vbU91dE9wZW46e2R1cmF0aW9uOnRoaXMub3B0aW9ucy5mYWRlfHwxODAsY3NzOltbXCIwJVwiLFwic2NhbGUoMS4xKVwiXSxbXCIxMDAlXCIsXCJzY2FsZSgxKVwiXV19LHpvb21PdXRDbG9zZTp7ZHVyYXRpb246dGhpcy5vcHRpb25zLmZhZGV8fDE4MCxjc3M6W1tcIjAlXCIsXCJzY2FsZSgxKVwiXSxbXCIxMDAlXCIsXCJzY2FsZSgxLjEpXCJdXX0sbW92ZU9wZW46e2R1cmF0aW9uOnRoaXMub3B0aW9ucy5mYWRlfHwxODAscG9zaXRpb25zOnt0b3A6e1wiMCVcIjotMTJ9LHJpZ2h0OntcIjAlXCI6MTJ9LGJvdHRvbTp7XCIwJVwiOjEyfSxsZWZ0OntcIjAlXCI6LTEyfX0sY3NzOltbXCIwJVwiLFwidHJhbnNsYXRlJVhZKCVWcHgpXCJdLFtcIjEwMCVcIixcInRyYW5zbGF0ZSVYWSgwcHgpXCJdXX0sbW92ZUNsb3NlOntkdXJhdGlvbjp0aGlzLm9wdGlvbnMuZmFkZXx8MTgwLHRpbWluZzpcImVhc2UtaW5cIixwb3NpdGlvbnM6e3RvcDp7XCIxMDAlXCI6LTEyfSxyaWdodDp7XCIxMDAlXCI6MTJ9LGJvdHRvbTp7XCIxMDAlXCI6MTJ9LGxlZnQ6e1wiMTAwJVwiOi0xMn19LGNzczpbW1wiMCVcIixcInRyYW5zbGF0ZSVYWSgwcHgpXCJdLFtcIjEwMCVcIixcInRyYW5zbGF0ZSVYWSglVnB4KVwiXV19LHNsaWRlT3Blbjp7ZHVyYXRpb246NDAwLHBvc2l0aW9uczp7dG9wOntcIjAlXCI6LTQwMH0scmlnaHQ6e1wiMCVcIjo0MDB9LGJvdHRvbTp7XCIwJVwiOjQwMH0sbGVmdDp7XCIwJVwiOi00MDB9fSxjc3M6W1tcIjAlXCIsXCJ0cmFuc2xhdGUlWFkoJVZweClcIl0sW1wiMTAwJVwiLFwidHJhbnNsYXRlJVhZKDBweClcIl1dfSxzbGlkZUNsb3NlOntkdXJhdGlvbjo0MDAsdGltaW5nOlwiZWFzZS1pblwiLHBvc2l0aW9uczp7dG9wOntcIjEwMCVcIjotNDAwfSxyaWdodDp7XCIxMDAlXCI6NDAwfSxib3R0b206e1wiMTAwJVwiOjQwMH0sbGVmdDp7XCIxMDAlXCI6LTQwMH19LGNzczpbW1wiMCVcIixcInRyYW5zbGF0ZSVYWSgwcHgpXCJdLFtcIjEwMCVcIixcInRyYW5zbGF0ZSVYWSglVnB4KVwiXV19LGZsaXBPcGVuOntkdXJhdGlvbjo2MDAsY3NzOltbXCIwJVwiLFwicGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpXCJdLFtcIjQwJVwiLFwicGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTE1ZGVnKVwiXSxbXCI3MCVcIixcInBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDE1ZGVnKVwiXSxbXCIxMDAlXCIsXCJwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKVwiXV19LGZsaXBDbG9zZTp7ZHVyYXRpb246dGhpcy5vcHRpb25zLmZhZGV8fDMwMCxjc3M6W1tcIjAlXCIsXCJwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKVwiXSxbXCIxMDAlXCIsXCJwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZylcIl1dfSx0YWRhOntkdXJhdGlvbjo4MDAsY3NzOltbXCIwJVwiLFwic2NhbGUoMSlcIl0sW1wiMTAlLCAyMCVcIixcInNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKVwiXSxbXCIzMCUsIDUwJSwgNzAlLCA5MCVcIixcInNjYWxlKDEuMSkgcm90YXRlKDNkZWcpXCJdLFtcIjQwJSwgNjAlLCA4MCVcIixcInNjYWxlKDEuMSkgcm90YXRlKC0zZGVnKVwiXSxbXCIxMDAlXCIsXCJzY2FsZSgxKSByb3RhdGUoMClcIl1dfX07dC5lYWNoKFtcInB1bHNlXCIsXCJ0YWRhXCJdLGZ1bmN0aW9uKHQsbyl7aVtvK1wiT3BlblwiXT1pW28rXCJDbG9zZVwiXT1pW29dfSk7dmFyIG89ZnVuY3Rpb24obyxzKXt2YXIgZT1cIkBrZXlmcmFtZXMgakJveC1cIit0aGlzLmlkK1wiLWFuaW1hdGlvbi1cIit0aGlzLm9wdGlvbnMuYW5pbWF0aW9uW29dK1wiLVwiK28rKHM/XCItXCIrczpcIlwiKStcIiB7XCI7cmV0dXJuIHQuZWFjaChpW3RoaXMub3B0aW9ucy5hbmltYXRpb25bb11dLmNzcyxmdW5jdGlvbih0LG4pe3ZhciBhPXM/blsxXS5yZXBsYWNlKFwiJVhZXCIsdGhpcy5fZ2V0WFkocykudG9VcHBlckNhc2UoKSk6blsxXTtpW3RoaXMub3B0aW9ucy5hbmltYXRpb25bb11dLnBvc2l0aW9ucyYmKGE9YS5yZXBsYWNlKFwiJVZcIixpW3RoaXMub3B0aW9ucy5hbmltYXRpb25bb11dLnBvc2l0aW9uc1tzXVtuWzBdXSkpLGUrPW5bMF0rXCIge3RyYW5zZm9ybTpcIithK1wiO31cIn0uYmluZCh0aGlzKSksZSs9XCJ9XCIsZSs9XCIuakJveC1cIit0aGlzLmlkK1wiLWFuaW1hdGlvbi1cIit0aGlzLm9wdGlvbnMuYW5pbWF0aW9uW29dK1wiLVwiK28rKHM/XCItXCIrczpcIlwiKStcIiB7XCIsZSs9XCJhbmltYXRpb24tZHVyYXRpb246IFwiK2lbdGhpcy5vcHRpb25zLmFuaW1hdGlvbltvXV0uZHVyYXRpb24rXCJtcztcIixlKz1cImFuaW1hdGlvbi1uYW1lOiBqQm94LVwiK3RoaXMuaWQrXCItYW5pbWF0aW9uLVwiK3RoaXMub3B0aW9ucy5hbmltYXRpb25bb10rXCItXCIrbysocz9cIi1cIitzOlwiXCIpK1wiO1wiLGUrPWlbdGhpcy5vcHRpb25zLmFuaW1hdGlvbltvXV0udGltaW5nP1wiYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogXCIraVt0aGlzLm9wdGlvbnMuYW5pbWF0aW9uW29dXS50aW1pbmcrXCI7XCI6XCJcIixlKz1cIn1cIn0uYmluZCh0aGlzKTt0aGlzLl9hbmltYXRpb25DU1M9XCJcIix0LmVhY2goW1wib3BlblwiLFwiY2xvc2VcIl0sZnVuY3Rpb24ocyxlKXtpZighdGhpcy5vcHRpb25zLmFuaW1hdGlvbltlXXx8IWlbdGhpcy5vcHRpb25zLmFuaW1hdGlvbltlXV18fFwiY2xvc2VcIj09ZSYmIXRoaXMub3B0aW9ucy5mYWRlKXJldHVyblwiXCI7aVt0aGlzLm9wdGlvbnMuYW5pbWF0aW9uW2VdXS5wb3NpdGlvbnM/dC5lYWNoKFtcInRvcFwiLFwicmlnaHRcIixcImJvdHRvbVwiLFwibGVmdFwiXSxmdW5jdGlvbih0LGkpe3RoaXMuX2FuaW1hdGlvbkNTUys9byhlLGkpfS5iaW5kKHRoaXMpKTp0aGlzLl9hbmltYXRpb25DU1MrPW8oZSl9LmJpbmQodGhpcykpfSx0aGlzLm9wdGlvbnMuYW5pbWF0aW9uJiZ0aGlzLl9nZW5lcmF0ZUFuaW1hdGlvbkNTUygpLHRoaXMuX2Jsb2NrQm9keUNsaWNrPWZ1bmN0aW9uKCl7dGhpcy5ibG9ja0JvZHlDbGljaz0hMCxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhpcy5ibG9ja0JvZHlDbGljaz0hMX0uYmluZCh0aGlzKSwxMCl9LHRoaXMuX2FuaW1hdGU9ZnVuY3Rpb24odCl7aWYodD10fHwodGhpcy5pc09wZW4/XCJvcGVuXCI6XCJjbG9zZVwiKSwhdGhpcy5vcHRpb25zLmZhZGUmJlwiY2xvc2VcIj09dClyZXR1cm4gbnVsbDt2YXIgaT10aGlzLm9wdGlvbnMuYW5pbWF0aW9uW3QrXCJEaXJlY3Rpb25cIl18fChcImNlbnRlclwiIT10aGlzLmFsaWduP3RoaXMuYWxpZ246dGhpcy5vcHRpb25zLmF0dHJpYnV0ZXMueCk7dGhpcy5mbGlwcGVkJiZ0aGlzLl9nZXRYWShpKT09dGhpcy5fZ2V0WFkodGhpcy5hbGlnbikmJihpPXRoaXMuX2dldE9wcChpKSk7dmFyIG89XCJqQm94LVwiK3RoaXMuaWQrXCItYW5pbWF0aW9uLVwiK3RoaXMub3B0aW9ucy5hbmltYXRpb25bdF0rXCItXCIrdCtcIiBqQm94LVwiK3RoaXMuaWQrXCItYW5pbWF0aW9uLVwiK3RoaXMub3B0aW9ucy5hbmltYXRpb25bdF0rXCItXCIrdCtcIi1cIitpO3RoaXMud3JhcHBlci5hZGRDbGFzcyhvKSxpPTFlMypwYXJzZUZsb2F0KHRoaXMud3JhcHBlci5jc3MoXCJhbmltYXRpb24tZHVyYXRpb25cIikpLFwiY2xvc2VcIj09dCYmKGk9TWF0aC5taW4oaSx0aGlzLm9wdGlvbnMuZmFkZSkpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXt0aGlzLndyYXBwZXIucmVtb3ZlQ2xhc3Mobyl9LmJpbmQodGhpcyksaSl9LHRoaXMuX2Fib3J0QW5pbWF0aW9uPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy53cmFwcGVyLmF0dHIoXCJjbGFzc1wiKS5zcGxpdChcIiBcIikuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiAwIT09dC5sYXN0SW5kZXhPZihcImpCb3gtXCIrdGhpcy5pZCtcIi1hbmltYXRpb25cIiwwKX0uYmluZCh0aGlzKSk7dGhpcy53cmFwcGVyLmF0dHIoXCJjbGFzc1wiLHQuam9pbihcIiBcIikpfSwodGhpcy5vcHRpb25zLnJlc3BvbnNpdmVXaWR0aHx8dGhpcy5vcHRpb25zLnJlc3BvbnNpdmVIZWlnaHQpJiZ0KHdpbmRvdykub24oXCJyZXNpemUucmVzcG9uc2l2ZWpCb3gtXCIrdGhpcy5pZCxmdW5jdGlvbih0KXt0aGlzLmlzT3BlbiYmdGhpcy5wb3NpdGlvbigpfS5iaW5kKHRoaXMpKSxcInN0cmluZ1wiPT09dC50eXBlKHRoaXMub3B0aW9ucy5wcmVsb2FkQXVkaW8pJiYodGhpcy5vcHRpb25zLnByZWxvYWRBdWRpbz1bdGhpcy5vcHRpb25zLnByZWxvYWRBdWRpb10pLFwic3RyaW5nXCI9PT10LnR5cGUodGhpcy5vcHRpb25zLmF1ZGlvKSYmKHRoaXMub3B0aW9ucy5hdWRpbz17b3Blbjp0aGlzLm9wdGlvbnMuYXVkaW99KSxcIm51bWJlclwiPT09dC50eXBlKHRoaXMub3B0aW9ucy52b2x1bWUpJiYodGhpcy5vcHRpb25zLnZvbHVtZT17b3Blbjp0aGlzLm9wdGlvbnMudm9sdW1lLGNsb3NlOnRoaXMub3B0aW9ucy52b2x1bWV9KSwhMD09PXRoaXMub3B0aW9ucy5wcmVsb2FkQXVkaW8mJnRoaXMub3B0aW9ucy5hdWRpbyYmKHRoaXMub3B0aW9ucy5wcmVsb2FkQXVkaW89W10sdC5lYWNoKHRoaXMub3B0aW9ucy5hdWRpbyxmdW5jdGlvbih0LGkpe3RoaXMub3B0aW9ucy5wcmVsb2FkQXVkaW8ucHVzaChpK1wiLm1wM1wiKSx0aGlzLm9wdGlvbnMucHJlbG9hZEF1ZGlvLnB1c2goaStcIi5vZ2dcIil9LmJpbmQodGhpcykpKSx0aGlzLm9wdGlvbnMucHJlbG9hZEF1ZGlvLmxlbmd0aCYmdC5lYWNoKHRoaXMub3B0aW9ucy5wcmVsb2FkQXVkaW8sZnVuY3Rpb24odCxpKXt2YXIgbz1uZXcgQXVkaW87by5zcmM9aSxvLnByZWxvYWQ9XCJhdXRvXCJ9KSx0aGlzLl9maXJlRXZlbnQoXCJvbkluaXRcIiksdGhpc312YXIgbyxzO3JldHVybiBpLnByb3RvdHlwZS5hdHRhY2g9ZnVuY3Rpb24oaSxvKXtyZXR1cm4gaT1pfHx0aGlzLm9wdGlvbnMuYXR0YWNoLFwic3RyaW5nXCI9PXQudHlwZShpKSYmKGk9dChpKSksbz1vfHx0aGlzLm9wdGlvbnMudHJpZ2dlcixpJiZpLmxlbmd0aCYmdC5lYWNoKGksZnVuY3Rpb24oaSxzKXsocz10KHMpKS5kYXRhKFwiakJveC1hdHRhY2hlZC1cIit0aGlzLmlkKXx8KFwidGl0bGVcIj09dGhpcy5vcHRpb25zLmdldENvbnRlbnQmJm51bGwhPXMuYXR0cihcInRpdGxlXCIpJiZzLmRhdGEoXCJqQm94LWdldENvbnRlbnRcIixzLmF0dHIoXCJ0aXRsZVwiKSkucmVtb3ZlQXR0cihcInRpdGxlXCIpLHRoaXMuYXR0YWNoZWRFbGVtZW50c3x8KHRoaXMuYXR0YWNoZWRFbGVtZW50cz1bXSksdGhpcy5hdHRhY2hlZEVsZW1lbnRzLnB1c2goc1swXSkscy5vbihvK1wiLmpCb3gtYXR0YWNoLVwiK3RoaXMuaWQsZnVuY3Rpb24odCl7dmFyIGk7dGhpcy50aW1lciYmY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpLFwibW91c2VlbnRlclwiPT1vJiZ0aGlzLmlzT3BlbiYmdGhpcy5zb3VyY2VbMF09PXNbMF18fCh0aGlzLmlzT3BlbiYmdGhpcy5zb3VyY2UmJnRoaXMuc291cmNlWzBdIT1zWzBdJiYoaT0hMCksdGhpcy5zb3VyY2U9cyx0aGlzLm9wdGlvbnMudGFyZ2V0fHwodGhpcy50YXJnZXQ9cyksXCJjbGlja1wiPT1vJiZ0aGlzLm9wdGlvbnMucHJldmVudERlZmF1bHQmJnQucHJldmVudERlZmF1bHQoKSx0aGlzW1wiY2xpY2tcIiE9b3x8aT9cIm9wZW5cIjpcInRvZ2dsZVwiXSgpKX0uYmluZCh0aGlzKSksXCJtb3VzZWVudGVyXCI9PXRoaXMub3B0aW9ucy50cmlnZ2VyJiZzLm9uKFwibW91c2VsZWF2ZVwiLGZ1bmN0aW9uKGkpe2lmKCF0aGlzLndyYXBwZXIpcmV0dXJuIG51bGw7dGhpcy5vcHRpb25zLmNsb3NlT25Nb3VzZWxlYXZlJiYoaS5yZWxhdGVkVGFyZ2V0PT10aGlzLndyYXBwZXJbMF18fHQoaS5yZWxhdGVkVGFyZ2V0KS5wYXJlbnRzKFwiI1wiK3RoaXMuaWQpLmxlbmd0aCl8fHRoaXMuY2xvc2UoKX0uYmluZCh0aGlzKSkscy5kYXRhKFwiakJveC1hdHRhY2hlZC1cIit0aGlzLmlkLG8pLHRoaXMuX2ZpcmVFdmVudChcIm9uQXR0YWNoXCIscykpfS5iaW5kKHRoaXMpKSx0aGlzfSxpLnByb3RvdHlwZS5kZXRhY2g9ZnVuY3Rpb24oaSl7cmV0dXJuKGk9aXx8dGhpcy5hdHRhY2hlZEVsZW1lbnRzfHxbXSkmJmkubGVuZ3RoJiZ0LmVhY2goaSxmdW5jdGlvbihpLG8peyhvPXQobykpLmRhdGEoXCJqQm94LWF0dGFjaGVkLVwiK3RoaXMuaWQpJiYoby5vZmYoby5kYXRhKFwiakJveC1hdHRhY2hlZC1cIit0aGlzLmlkKStcIi5qQm94LWF0dGFjaC1cIit0aGlzLmlkKSxvLmRhdGEoXCJqQm94LWF0dGFjaGVkLVwiK3RoaXMuaWQsbnVsbCkpLHRoaXMuYXR0YWNoZWRFbGVtZW50cz10LmdyZXAodGhpcy5hdHRhY2hlZEVsZW1lbnRzLGZ1bmN0aW9uKHQpe3JldHVybiB0IT1vWzBdfSl9LmJpbmQodGhpcykpLHRoaXN9LGkucHJvdG90eXBlLnNldFRpdGxlPWZ1bmN0aW9uKGksbyl7aWYobnVsbD09aXx8bnVsbD09aSlyZXR1cm4gdGhpczt0aGlzLndyYXBwZXJ8fHRoaXMuX2NyZWF0ZSgpO3ZhciBzPXRoaXMud3JhcHBlci5vdXRlckhlaWdodCgpLGU9dGhpcy53cmFwcGVyLm91dGVyV2lkdGgoKTtyZXR1cm4gdGhpcy50aXRsZXx8KHRoaXMudGl0bGVDb250YWluZXI9dCgnPGRpdiBjbGFzcz1cImpCb3gtdGl0bGVcIi8+JyksdGhpcy50aXRsZT10KFwiPGRpdi8+XCIpLmFwcGVuZFRvKHRoaXMudGl0bGVDb250YWluZXIpLFwidGl0bGVcIiE9dGhpcy5vcHRpb25zLmNsb3NlQnV0dG9uJiYoITAhPT10aGlzLm9wdGlvbnMuY2xvc2VCdXR0b258fHRoaXMub3B0aW9ucy5vdmVybGF5KXx8KHRoaXMud3JhcHBlci5hZGRDbGFzcyhcImpCb3gtY2xvc2VCdXR0b24tdGl0bGVcIiksdGhpcy5jbG9zZUJ1dHRvbi5hcHBlbmRUbyh0aGlzLnRpdGxlQ29udGFpbmVyKSksdGhpcy50aXRsZUNvbnRhaW5lci5pbnNlcnRCZWZvcmUodGhpcy5jb250ZW50KSx0aGlzLl9zZXRUaXRsZVdpZHRoKCkpLHRoaXMud3JhcHBlcltpP1wiYWRkQ2xhc3NcIjpcInJlbW92ZUNsYXNzXCJdKFwiakJveC1oYXNUaXRsZVwiKSx0aGlzLnRpdGxlLmh0bWwoaSksZSE9dGhpcy53cmFwcGVyLm91dGVyV2lkdGgoKSYmdGhpcy5fc2V0VGl0bGVXaWR0aCgpLHRoaXMub3B0aW9ucy5kcmFnZ2FibGUmJnRoaXMuX2RyYWdnYWJsZSgpLG98fCF0aGlzLm9wdGlvbnMucmVwb3NpdGlvbk9uQ29udGVudHx8cz09dGhpcy53cmFwcGVyLm91dGVySGVpZ2h0KCkmJmU9PXRoaXMud3JhcHBlci5vdXRlcldpZHRoKCl8fHRoaXMucG9zaXRpb24oKSx0aGlzfSxpLnByb3RvdHlwZS5zZXRDb250ZW50PWZ1bmN0aW9uKGksbyl7aWYobnVsbD09aXx8bnVsbD09aSlyZXR1cm4gdGhpczt0aGlzLndyYXBwZXJ8fHRoaXMuX2NyZWF0ZSgpO3ZhciBzPXRoaXMud3JhcHBlci5vdXRlckhlaWdodCgpLGU9dGhpcy53cmFwcGVyLm91dGVyV2lkdGgoKTtzd2l0Y2godGhpcy5jb250ZW50LmNoaWxkcmVuKFwiW2RhdGEtamJveC1jb250ZW50LWFwcGVuZGVkXVwiKS5hcHBlbmRUbyhcImJvZHlcIikuY3NzKHtkaXNwbGF5Olwibm9uZVwifSksdC50eXBlKGkpKXtjYXNlXCJzdHJpbmdcIjp0aGlzLmNvbnRlbnQuaHRtbChpKTticmVhaztjYXNlXCJvYmplY3RcIjppJiYoaSBpbnN0YW5jZW9mIHR8fGkuY29uc3RydWN0b3IucHJvdG90eXBlLmpxdWVyeSk/KHRoaXMuY29udGVudC5odG1sKFwiXCIpLGkuYXR0cihcImRhdGEtamJveC1jb250ZW50LWFwcGVuZGVkXCIsMSkuYXBwZW5kVG8odGhpcy5jb250ZW50KS5jc3Moe2Rpc3BsYXk6XCJibG9ja1wifSkpOnRoaXMuY29udGVudC5odG1sKEpTT04uc3RyaW5naWZ5KGkpKX1yZXR1cm4gZSE9dGhpcy53cmFwcGVyLm91dGVyV2lkdGgoKSYmdGhpcy5fc2V0VGl0bGVXaWR0aCgpLHRoaXMub3B0aW9ucy5kcmFnZ2FibGUmJnRoaXMuX2RyYWdnYWJsZSgpLG98fCF0aGlzLm9wdGlvbnMucmVwb3NpdGlvbk9uQ29udGVudHx8cz09dGhpcy53cmFwcGVyLm91dGVySGVpZ2h0KCkmJmU9PXRoaXMud3JhcHBlci5vdXRlcldpZHRoKCl8fHRoaXMucG9zaXRpb24oKSx0aGlzfSxpLnByb3RvdHlwZS5zZXREaW1lbnNpb25zPWZ1bmN0aW9uKHQsaSxvKXt0aGlzLndyYXBwZXJ8fHRoaXMuX2NyZWF0ZSgpLG51bGw9PWkmJihpPVwiYXV0b1wiKSx0aGlzLmNvbnRlbnQuY3NzKHQsdGhpcy5fZ2V0SW50KGkpKSxcIndpZHRoXCI9PXQmJnRoaXMuX3NldFRpdGxlV2lkdGgoKSx0aGlzLm9wdGlvbnNbdF09aSxudWxsIT1vJiYhb3x8dGhpcy5wb3NpdGlvbigpfSxpLnByb3RvdHlwZS5zZXRXaWR0aD1mdW5jdGlvbih0LGkpe3RoaXMuc2V0RGltZW5zaW9ucyhcIndpZHRoXCIsdCxpKX0saS5wcm90b3R5cGUuc2V0SGVpZ2h0PWZ1bmN0aW9uKHQsaSl7dGhpcy5zZXREaW1lbnNpb25zKFwiaGVpZ2h0XCIsdCxpKX0saS5wcm90b3R5cGUucG9zaXRpb249ZnVuY3Rpb24oaSl7aWYoaT1pfHx7fSxpPXQuZXh0ZW5kKCEwLHRoaXMub3B0aW9ucyxpKSx0aGlzLnRhcmdldD1pLnRhcmdldHx8dGhpcy50YXJnZXR8fHQod2luZG93KSx0aGlzLnRhcmdldCBpbnN0YW5jZW9mIHR8fFwibW91c2VcIj09dGhpcy50YXJnZXR8fCh0aGlzLnRhcmdldD10KHRoaXMudGFyZ2V0KSksIXRoaXMudGFyZ2V0Lmxlbmd0aClyZXR1cm4gdGhpczt0aGlzLmNvbnRlbnQuY3NzKHt3aWR0aDp0aGlzLl9nZXRJbnQoaS53aWR0aCxcIndpZHRoXCIpLGhlaWdodDp0aGlzLl9nZXRJbnQoaS5oZWlnaHQsXCJoZWlnaHRcIiksbWluV2lkdGg6dGhpcy5fZ2V0SW50KGkubWluV2lkdGgsXCJ3aWR0aFwiKSxtaW5IZWlnaHQ6dGhpcy5fZ2V0SW50KGkubWluSGVpZ2h0LFwiaGVpZ2h0XCIpLG1heFdpZHRoOnRoaXMuX2dldEludChpLm1heFdpZHRoLFwid2lkdGhcIiksbWF4SGVpZ2h0OnRoaXMuX2dldEludChpLm1heEhlaWdodCxcImhlaWdodFwiKX0pLHRoaXMuX3NldFRpdGxlV2lkdGgoKTt2YXIgbz10aGlzLl9leHBvc2VEaW1lbnNpb25zKCk7XCJtb3VzZVwiPT10aGlzLnRhcmdldHx8dGhpcy50YXJnZXQuZGF0YShcImpCb3gtXCIrdGhpcy5pZCtcIi1maXhlZFwiKXx8dGhpcy50YXJnZXQuZGF0YShcImpCb3gtXCIrdGhpcy5pZCtcIi1maXhlZFwiLHRoaXMudGFyZ2V0WzBdIT10KHdpbmRvdylbMF0mJihcImZpeGVkXCI9PXRoaXMudGFyZ2V0LmNzcyhcInBvc2l0aW9uXCIpfHwwPHRoaXMudGFyZ2V0LnBhcmVudHMoKS5maWx0ZXIoZnVuY3Rpb24oKXtyZXR1cm5cImZpeGVkXCI9PXQodGhpcykuY3NzKFwicG9zaXRpb25cIil9KS5sZW5ndGgpP1wiZml4ZWRcIjpcInN0YXRpY1wiKTt2YXIgcz17eDp0KHdpbmRvdykub3V0ZXJXaWR0aCgpLHk6dCh3aW5kb3cpLm91dGVySGVpZ2h0KCksdG9wOmkuZml4ZWQmJnRoaXMudGFyZ2V0LmRhdGEoXCJqQm94LVwiK3RoaXMuaWQrXCItZml4ZWRcIik/MDp0KHdpbmRvdykuc2Nyb2xsVG9wKCksbGVmdDppLmZpeGVkJiZ0aGlzLnRhcmdldC5kYXRhKFwiakJveC1cIit0aGlzLmlkK1wiLWZpeGVkXCIpPzA6dCh3aW5kb3cpLnNjcm9sbExlZnQoKX07cy5ib3R0b209cy50b3Arcy55LHMucmlnaHQ9cy5sZWZ0K3MueDt0cnl7dmFyIGU9dGhpcy50YXJnZXQub2Zmc2V0KCl9Y2F0Y2gocyl7ZT17dG9wOjAsbGVmdDowfX1cIm1vdXNlXCIhPXRoaXMudGFyZ2V0JiZcImZpeGVkXCI9PXRoaXMudGFyZ2V0LmRhdGEoXCJqQm94LVwiK3RoaXMuaWQrXCItZml4ZWRcIikmJmkuZml4ZWQmJihlLnRvcD1lLnRvcC10KHdpbmRvdykuc2Nyb2xsVG9wKCksZS5sZWZ0PWUubGVmdC10KHdpbmRvdykuc2Nyb2xsTGVmdCgpKTt2YXIgbj17eDpcIm1vdXNlXCI9PXRoaXMudGFyZ2V0PzEyOnRoaXMudGFyZ2V0Lm91dGVyV2lkdGgoKSx5OlwibW91c2VcIj09dGhpcy50YXJnZXQ/MjA6dGhpcy50YXJnZXQub3V0ZXJIZWlnaHQoKSx0b3A6XCJtb3VzZVwiPT10aGlzLnRhcmdldCYmaS5tb3VzZVRhcmdldD9pLm1vdXNlVGFyZ2V0LnRvcDplP2UudG9wOjAsbGVmdDpcIm1vdXNlXCI9PXRoaXMudGFyZ2V0JiZpLm1vdXNlVGFyZ2V0P2kubW91c2VUYXJnZXQubGVmdDplP2UubGVmdDowfSxhPWkub3V0c2lkZSYmIShcImNlbnRlclwiPT1pLnBvc2l0aW9uLngmJlwiY2VudGVyXCI9PWkucG9zaXRpb24ueSksaD17eDpzLngtaS5hZGp1c3REaXN0YW5jZS5sZWZ0LWkuYWRqdXN0RGlzdGFuY2UucmlnaHQseTpzLnktaS5hZGp1c3REaXN0YW5jZS50b3AtaS5hZGp1c3REaXN0YW5jZS5ib3R0b20sbGVmdDphP24ubGVmdC10KHdpbmRvdykuc2Nyb2xsTGVmdCgpLWkuYWRqdXN0RGlzdGFuY2UubGVmdDowLHJpZ2h0OmE/cy54LW4ubGVmdCt0KHdpbmRvdykuc2Nyb2xsTGVmdCgpLW4ueC1pLmFkanVzdERpc3RhbmNlLnJpZ2h0OjAsdG9wOmE/bi50b3AtdCh3aW5kb3cpLnNjcm9sbFRvcCgpLXRoaXMub3B0aW9ucy5hZGp1c3REaXN0YW5jZS50b3A6MCxib3R0b206YT9zLnktbi50b3ArdCh3aW5kb3cpLnNjcm9sbFRvcCgpLW4ueS1pLmFkanVzdERpc3RhbmNlLmJvdHRvbTowfSxyPXt4OlwieFwiIT1pLm91dHNpZGUmJlwieHlcIiE9aS5vdXRzaWRlfHxcIm51bWJlclwiPT10LnR5cGUoaS5wb3NpdGlvbi54KT9udWxsOmkucG9zaXRpb24ueCx5OlwieVwiIT1pLm91dHNpZGUmJlwieHlcIiE9aS5vdXRzaWRlfHxcIm51bWJlclwiPT10LnR5cGUoaS5wb3NpdGlvbi55KT9udWxsOmkucG9zaXRpb24ueX0scD17eDohMSx5OiExfTtyLngmJm8ueD5oW3IueF0mJmhbdGhpcy5fZ2V0T3BwKHIueCldPmhbci54XSYmKHIueD10aGlzLl9nZXRPcHAoci54KSkmJihwLng9ITApLHIueSYmby55Pmhbci55XSYmaFt0aGlzLl9nZXRPcHAoci55KV0+aFtyLnldJiYoci55PXRoaXMuX2dldE9wcChyLnkpKSYmKHAueT0hMCksKGkucmVzcG9uc2l2ZVdpZHRofHxpLnJlc3BvbnNpdmVIZWlnaHQpJiYoeD1mdW5jdGlvbigpe3ZhciB0O2kucmVzcG9uc2l2ZVdpZHRoJiZvLng+aFtyLnh8fFwieFwiXSYmKHQ9aFtyLnh8fFwieFwiXS0odGhpcy5wb2ludGVyJiZhJiZcInhcIj09aS5vdXRzaWRlP3RoaXMucG9pbnRlci5kaW1lbnNpb25zLng6MCktcGFyc2VJbnQodGhpcy5jb250YWluZXIuY3NzKFwiYm9yZGVyLWxlZnQtd2lkdGhcIikpLXBhcnNlSW50KHRoaXMuY29udGFpbmVyLmNzcyhcImJvcmRlci1yaWdodC13aWR0aFwiKSksdGhpcy5jb250ZW50LmNzcyh7d2lkdGg6dD50aGlzLm9wdGlvbnMucmVzcG9uc2l2ZU1pbldpZHRoP3Q6bnVsbCxtaW5XaWR0aDp0PHBhcnNlSW50KHRoaXMuY29udGVudC5jc3MoXCJtaW5XaWR0aFwiKSk/MDpudWxsfSksdGhpcy5fc2V0VGl0bGVXaWR0aCgpKSxvPXRoaXMuX2V4cG9zZURpbWVuc2lvbnMoKX0uYmluZCh0aGlzKSxpLnJlc3BvbnNpdmVXaWR0aCYmeCgpLGkucmVzcG9uc2l2ZVdpZHRoJiYhcC55JiZyLnkmJm8ueT5oW3IueV0mJmhbdGhpcy5fZ2V0T3BwKHIueSldPmhbci55XSYmKHIueT10aGlzLl9nZXRPcHAoci55KSkmJihwLnk9ITApLHk9ZnVuY3Rpb24oKXt2YXIgdDtpLnJlc3BvbnNpdmVIZWlnaHQmJm8ueT5oW3IueXx8XCJ5XCJdJiYodD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRpdGxlQ29udGFpbmVyfHx0aGlzLmZvb3Rlcj8oXCJub25lXCI9PXRoaXMud3JhcHBlci5jc3MoXCJkaXNwbGF5XCIpPyh0aGlzLndyYXBwZXIuY3NzKFwiZGlzcGxheVwiLFwiYmxvY2tcIiksdD0odGhpcy50aXRsZUNvbnRhaW5lcj90aGlzLnRpdGxlQ29udGFpbmVyLm91dGVySGVpZ2h0KCk6MCkrKHRoaXMuZm9vdGVyP3RoaXMuZm9vdGVyLm91dGVySGVpZ2h0KCk6MCksdGhpcy53cmFwcGVyLmNzcyhcImRpc3BsYXlcIixcIm5vbmVcIikpOnQ9KHRoaXMudGl0bGVDb250YWluZXI/dGhpcy50aXRsZUNvbnRhaW5lci5vdXRlckhlaWdodCgpOjApKyh0aGlzLmZvb3Rlcj90aGlzLmZvb3Rlci5vdXRlckhlaWdodCgpOjApLHR8fDApOjA7dmFyIHR9LmJpbmQodGhpcyksdD1oW3IueXx8XCJ5XCJdLSh0aGlzLnBvaW50ZXImJmEmJlwieVwiPT1pLm91dHNpZGU/dGhpcy5wb2ludGVyLmRpbWVuc2lvbnMueTowKS10KCktcGFyc2VJbnQodGhpcy5jb250YWluZXIuY3NzKFwiYm9yZGVyLXRvcC13aWR0aFwiKSktcGFyc2VJbnQodGhpcy5jb250YWluZXIuY3NzKFwiYm9yZGVyLWJvdHRvbS13aWR0aFwiKSksdGhpcy5jb250ZW50LmNzcyh7aGVpZ2h0OnQ+dGhpcy5vcHRpb25zLnJlc3BvbnNpdmVNaW5IZWlnaHQ/dDpudWxsfSksdGhpcy5fc2V0VGl0bGVXaWR0aCgpKSxvPXRoaXMuX2V4cG9zZURpbWVuc2lvbnMoKX0uYmluZCh0aGlzKSxpLnJlc3BvbnNpdmVIZWlnaHQmJnkoKSxpLnJlc3BvbnNpdmVIZWlnaHQmJiFwLngmJnIueCYmby54Pmhbci54XSYmaFt0aGlzLl9nZXRPcHAoci54KV0+aFtyLnhdJiYoci54PXRoaXMuX2dldE9wcChyLngpKSYmKHAueD0hMCksaS5hZGp1c3RQb3NpdGlvbiYmXCJtb3ZlXCIhPWkuYWRqdXN0UG9zaXRpb24mJihwLngmJngoKSxwLnkmJnkoKSkpO3ZhciBsPXt9LGQ9ZnVuY3Rpb24ocyl7aWYoXCJudW1iZXJcIiE9dC50eXBlKGkucG9zaXRpb25bc10pKXt2YXIgZT1pLmF0dHJpYnV0ZXNbc109XCJ4XCI9PXM/XCJsZWZ0XCI6XCJ0b3BcIjtpZihsW2VdPW5bZV0sXCJjZW50ZXJcIj09aS5wb3NpdGlvbltzXSlyZXR1cm4gbFtlXSs9TWF0aC5jZWlsKChuW3NdLW9bc10pLzIpLHZvaWQoXCJtb3VzZVwiIT10aGlzLnRhcmdldCYmdGhpcy50YXJnZXRbMF0mJnRoaXMudGFyZ2V0WzBdPT10KHdpbmRvdylbMF0mJihsW2VdKz0uNSooaS5hZGp1c3REaXN0YW5jZVtlXS1pLmFkanVzdERpc3RhbmNlW3RoaXMuX2dldE9wcChlKV0pKSk7ZSE9aS5wb3NpdGlvbltzXSYmKGxbZV0rPW5bc10tb1tzXSksaS5vdXRzaWRlIT1zJiZcInh5XCIhPWkub3V0c2lkZXx8KGxbZV0rPW9bc10qKGUhPWkucG9zaXRpb25bc10/MTotMSkpfWVsc2UgbFtpLmF0dHJpYnV0ZXNbc11dPWkucG9zaXRpb25bc119LmJpbmQodGhpcyk7aWYoZChcInhcIiksZChcInlcIiksdGhpcy5wb2ludGVyJiZcInRhcmdldFwiPT1pLnBvaW50VG8mJlwibnVtYmVyXCIhPXQudHlwZShpLnBvc2l0aW9uLngpJiZcIm51bWJlclwiIT10LnR5cGUoaS5wb3NpdGlvbi55KSYmKGo9MCxcImNlbnRlclwiPT09dGhpcy5wb2ludGVyLmFsaWduP1wiY2VudGVyXCIhPWkucG9zaXRpb25bdGhpcy5fZ2V0T3BwKGkub3V0c2lkZSldJiYoais9b1t0aGlzLl9nZXRPcHAoaS5vdXRzaWRlKV0vMik6XCJjZW50ZXJcIj09PWkucG9zaXRpb25bdGhpcy5fZ2V0T3BwKGkub3V0c2lkZSldP2orPShvW3RoaXMuX2dldE9wcChpLm91dHNpZGUpXS8yLXRoaXMucG9pbnRlci5kaW1lbnNpb25zW3RoaXMuX2dldE9wcChpLm91dHNpZGUpXS8yKSoodGhpcy5wb2ludGVyLmFsaWduPT10aGlzLl9nZXRUTCh0aGlzLnBvaW50ZXIuYWxpZ24pPzE6LTEpOmorPXRoaXMucG9pbnRlci5hbGlnbiE9aS5wb3NpdGlvblt0aGlzLl9nZXRPcHAoaS5vdXRzaWRlKV0/dGhpcy5kaW1lbnNpb25zW3RoaXMuX2dldE9wcChpLm91dHNpZGUpXSooLTEhPT10LmluQXJyYXkodGhpcy5wb2ludGVyLmFsaWduLFtcInRvcFwiLFwibGVmdFwiXSk/MTotMSkrdGhpcy5wb2ludGVyLmRpbWVuc2lvbnNbdGhpcy5fZ2V0T3BwKGkub3V0c2lkZSldLzIqKC0xIT09dC5pbkFycmF5KHRoaXMucG9pbnRlci5hbGlnbixbXCJ0b3BcIixcImxlZnRcIl0pPy0xOjEpOnRoaXMucG9pbnRlci5kaW1lbnNpb25zW3RoaXMuX2dldE9wcChpLm91dHNpZGUpXS8yKigtMSE9PXQuaW5BcnJheSh0aGlzLnBvaW50ZXIuYWxpZ24sW1widG9wXCIsXCJsZWZ0XCJdKT8xOi0xKSxqKj1pLnBvc2l0aW9uW3RoaXMuX2dldE9wcChpLm91dHNpZGUpXT09dGhpcy5wb2ludGVyLmFsaWduQXR0cmlidXRlPy0xOjEsais9dGhpcy5wb2ludGVyLm9mZnNldCoodGhpcy5wb2ludGVyLmFsaWduPT10aGlzLl9nZXRPcHAodGhpcy5fZ2V0VEwodGhpcy5wb2ludGVyLmFsaWduKSk/MTotMSksbFt0aGlzLl9nZXRUTCh0aGlzLl9nZXRPcHAodGhpcy5wb2ludGVyLnh5KSldKz1qKSxsW2kuYXR0cmlidXRlcy54XSs9aS5vZmZzZXQueCxsW2kuYXR0cmlidXRlcy55XSs9aS5vZmZzZXQueSx0aGlzLndyYXBwZXIuY3NzKGwpLGkuYWRqdXN0UG9zaXRpb24pe3RoaXMucG9zaXRpb25BZGp1c3RlZCYmKHRoaXMucG9pbnRlciYmdGhpcy53cmFwcGVyLmNzcyhcInBhZGRpbmdcIiwwKS5jc3MoXCJwYWRkaW5nLVwiK3RoaXMuX2dldE9wcCh0aGlzLm91dHNpZGUpLHRoaXMucG9pbnRlci5kaW1lbnNpb25zW3RoaXMuX2dldFhZKHRoaXMub3V0c2lkZSldKS5yZW1vdmVDbGFzcyhcImpCb3gtcG9pbnRlclBvc2l0aW9uLVwiK3RoaXMuX2dldE9wcCh0aGlzLnBvaW50ZXIucG9zaXRpb24pKS5hZGRDbGFzcyhcImpCb3gtcG9pbnRlclBvc2l0aW9uLVwiK3RoaXMucG9pbnRlci5wb3NpdGlvbiksdGhpcy5wb2ludGVyJiZ0aGlzLnBvaW50ZXIuZWxlbWVudC5hdHRyKFwiY2xhc3NcIixcImpCb3gtcG9pbnRlciBqQm94LXBvaW50ZXItXCIrdGhpcy5fZ2V0T3BwKHRoaXMub3V0c2lkZSkpLmNzcyh0aGlzLnBvaW50ZXIubWFyZ2luKSx0aGlzLnBvc2l0aW9uQWRqdXN0ZWQ9ITEsdGhpcy5mbGlwcGVkPSExKTt2YXIgYz1zLnRvcD5sLnRvcC0oaS5hZGp1c3REaXN0YW5jZS50b3B8fDApLHU9cy5yaWdodDxsLmxlZnQrby54KyhpLmFkanVzdERpc3RhbmNlLnJpZ2h0fHwwKSxnPXMuYm90dG9tPGwudG9wK28ueSsoaS5hZGp1c3REaXN0YW5jZS5ib3R0b218fDApLG09cy5sZWZ0PmwubGVmdC0oaS5hZGp1c3REaXN0YW5jZS5sZWZ0fHwwKSxmPW0/XCJsZWZ0XCI6dT9cInJpZ2h0XCI6bnVsbCx4PWM/XCJ0b3BcIjpnP1wiYm90dG9tXCI6bnVsbDtpZihmfHx4KXtpZigoXCJNb2RhbFwiPT10aGlzLnR5cGV8fFwiQ29uZmlybVwiPT10aGlzLnR5cGUpJiZcIm51bWJlclwiPT10LnR5cGUodGhpcy5vcHRpb25zLnBvc2l0aW9uLngpJiZcIm51bWJlclwiPT10LnR5cGUodGhpcy5vcHRpb25zLnBvc2l0aW9uLnkpKXt2YXIgeT0wLGo9MDtyZXR1cm4gdGhpcy5vcHRpb25zLmhvbGRQb3NpdGlvbiYmKG0/eT1zLmxlZnQtKGwubGVmdC0oaS5hZGp1c3REaXN0YW5jZS5sZWZ0fHwwKSk6dSYmKHk9cy5yaWdodC0obC5sZWZ0K28ueCsoaS5hZGp1c3REaXN0YW5jZS5yaWdodHx8MCkpKSxjP2o9cy50b3AtKGwudG9wLShpLmFkanVzdERpc3RhbmNlLnRvcHx8MCkpOmcmJihqPXMuYm90dG9tLShsLnRvcCtvLnkrKGkuYWRqdXN0RGlzdGFuY2UuYm90dG9tfHwwKSkpLHRoaXMub3B0aW9ucy5wb3NpdGlvbi54PU1hdGgubWF4KHMudG9wLHRoaXMub3B0aW9ucy5wb3NpdGlvbi54K3kpLHRoaXMub3B0aW9ucy5wb3NpdGlvbi55PU1hdGgubWF4KHMubGVmdCx0aGlzLm9wdGlvbnMucG9zaXRpb24ueStqKSxkKFwieFwiKSxkKFwieVwiKSx0aGlzLndyYXBwZXIuY3NzKGwpKSx0aGlzLl9maXJlRXZlbnQoXCJvblBvc2l0aW9uXCIpLHRoaXN9ITAhPT1pLmFkanVzdFBvc2l0aW9uJiZcImZsaXBcIiE9PWkuYWRqdXN0UG9zaXRpb258fChiPWZ1bmN0aW9uKHQpe3RoaXMud3JhcHBlci5jc3ModGhpcy5fZ2V0VEwodCksbFt0aGlzLl9nZXRUTCh0KV0rKG9bdGhpcy5fZ2V0WFkodCldK2kub2Zmc2V0W3RoaXMuX2dldFhZKHQpXSooXCJ0b3BcIj09dHx8XCJsZWZ0XCI9PXQ/LTI6Mikrblt0aGlzLl9nZXRYWSh0KV0pKihcInRvcFwiPT10fHxcImxlZnRcIj09dD8xOi0xKSksdGhpcy5wb2ludGVyJiZ0aGlzLndyYXBwZXIucmVtb3ZlQ2xhc3MoXCJqQm94LXBvaW50ZXJQb3NpdGlvbi1cIit0aGlzLnBvaW50ZXIucG9zaXRpb24pLmFkZENsYXNzKFwiakJveC1wb2ludGVyUG9zaXRpb24tXCIrdGhpcy5fZ2V0T3BwKHRoaXMucG9pbnRlci5wb3NpdGlvbikpLmNzcyhcInBhZGRpbmdcIiwwKS5jc3MoXCJwYWRkaW5nLVwiK3QsdGhpcy5wb2ludGVyLmRpbWVuc2lvbnNbdGhpcy5fZ2V0WFkodCldKSx0aGlzLnBvaW50ZXImJnRoaXMucG9pbnRlci5lbGVtZW50LmF0dHIoXCJjbGFzc1wiLFwiakJveC1wb2ludGVyIGpCb3gtcG9pbnRlci1cIit0KSx0aGlzLnBvc2l0aW9uQWRqdXN0ZWQ9ITAsdGhpcy5mbGlwcGVkPSEwfS5iaW5kKHRoaXMpLHAueCYmYih0aGlzLm9wdGlvbnMucG9zaXRpb24ueCkscC55JiZiKHRoaXMub3B0aW9ucy5wb3NpdGlvbi55KSk7dmFyIGI9XCJ4XCI9PXRoaXMuX2dldFhZKHRoaXMub3V0c2lkZSk/eDpmO3RoaXMucG9pbnRlciYmXCJ0YXJnZXRcIj09aS5wb2ludFRvJiZcImZsaXBcIiE9aS5hZGp1c3RQb3NpdGlvbiYmdGhpcy5fZ2V0WFkoYik9PXRoaXMuX2dldE9wcCh0aGlzLl9nZXRYWSh0aGlzLm91dHNpZGUpKSYmKHg9XCJjZW50ZXJcIj09dGhpcy5wb2ludGVyLmFsaWduP29bdGhpcy5fZ2V0WFkoYildLzItdGhpcy5wb2ludGVyLmRpbWVuc2lvbnNbdGhpcy5fZ2V0T3BwKHRoaXMucG9pbnRlci54eSldLzItcGFyc2VJbnQodGhpcy5wb2ludGVyLmVsZW1lbnQuY3NzKFwibWFyZ2luLVwiK3RoaXMucG9pbnRlci5hbGlnbkF0dHJpYnV0ZSkpKihiIT10aGlzLl9nZXRUTChiKT8tMToxKTpiPT10aGlzLnBvaW50ZXIuYWxpZ25BdHRyaWJ1dGU/cGFyc2VJbnQodGhpcy5wb2ludGVyLmVsZW1lbnQuY3NzKFwibWFyZ2luLVwiK3RoaXMucG9pbnRlci5hbGlnbkF0dHJpYnV0ZSkpOm9bdGhpcy5fZ2V0WFkoYildLXBhcnNlSW50KHRoaXMucG9pbnRlci5lbGVtZW50LmNzcyhcIm1hcmdpbi1cIit0aGlzLnBvaW50ZXIuYWxpZ25BdHRyaWJ1dGUpKS10aGlzLnBvaW50ZXIuZGltZW5zaW9uc1t0aGlzLl9nZXRYWShiKV0sZj1iPT10aGlzLl9nZXRUTChiKT9zW3RoaXMuX2dldFRMKGIpXS1sW3RoaXMuX2dldFRMKGIpXStpLmFkanVzdERpc3RhbmNlW2JdOi0xKihzW3RoaXMuX2dldE9wcCh0aGlzLl9nZXRUTChiKSldLWxbdGhpcy5fZ2V0VEwoYildLWkuYWRqdXN0RGlzdGFuY2VbYl0tb1t0aGlzLl9nZXRYWShiKV0pLGI9PXRoaXMuX2dldE9wcCh0aGlzLl9nZXRUTChiKSkmJmxbdGhpcy5fZ2V0VEwoYildLWY8c1t0aGlzLl9nZXRUTChiKV0raS5hZGp1c3REaXN0YW5jZVt0aGlzLl9nZXRUTChiKV0mJihmLT1zW3RoaXMuX2dldFRMKGIpXStpLmFkanVzdERpc3RhbmNlW3RoaXMuX2dldFRMKGIpXS0obFt0aGlzLl9nZXRUTChiKV0tZikpLChmPU1hdGgubWluKGYseCkpPD14JiYwPGYmJih0aGlzLnBvaW50ZXIuZWxlbWVudC5jc3MoXCJtYXJnaW4tXCIrdGhpcy5wb2ludGVyLmFsaWduQXR0cmlidXRlLHBhcnNlSW50KHRoaXMucG9pbnRlci5lbGVtZW50LmNzcyhcIm1hcmdpbi1cIit0aGlzLnBvaW50ZXIuYWxpZ25BdHRyaWJ1dGUpKS1mKihiIT10aGlzLnBvaW50ZXIuYWxpZ25BdHRyaWJ1dGU/LTE6MSkpLHRoaXMud3JhcHBlci5jc3ModGhpcy5fZ2V0VEwoYiksbFt0aGlzLl9nZXRUTChiKV0rZiooYiE9dGhpcy5fZ2V0VEwoYik/LTE6MSkpLHRoaXMucG9zaXRpb25BZGp1c3RlZD0hMCkpfX1yZXR1cm4gdGhpcy5fZmlyZUV2ZW50KFwib25Qb3NpdGlvblwiKSx0aGlzfSwoaS5wcm90b3R5cGUudW5zY3JvbGw9ZnVuY3Rpb24odCl7aWYodGhpcy5zZXQ9ZnVuY3Rpb24odCxpKXt3aW5kb3cudW5zY3JvbGxTdG9yZXx8KHdpbmRvdy51bnNjcm9sbFN0b3JlPXt9KSx3aW5kb3cudW5zY3JvbGxTdG9yZVt0XT1pfSx0aGlzLmdldD1mdW5jdGlvbih0KXtyZXR1cm4gd2luZG93LnVuc2Nyb2xsU3RvcmU/d2luZG93LnVuc2Nyb2xsU3RvcmVbdF06bnVsbH0sdGhpcy5nZXRTY3JvbGxiYXJXaWR0aD1mdW5jdGlvbigpe2lmKHRoaXMuZ2V0KFwic2Nyb2xsYmFyV2lkdGhcIikpcmV0dXJuIHRoaXMuZ2V0KFwic2Nyb2xsYmFyV2lkdGhcIikrXCJweFwiO3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7dC5zdHlsZS53aWR0aD1cIjEwMHB4XCIsdC5zdHlsZS5oZWlnaHQ9XCIxMDBweFwiLHQuc3R5bGUub3ZlcmZsb3c9XCJzY3JvbGxcIix0LnN0eWxlLnBvc2l0aW9uPVwiYWJzb2x1dGVcIix0LnN0eWxlLnRvcD1cIi0xMDAwMFwiLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodCk7dmFyIGk9dC5vZmZzZXRXaWR0aC10LmNsaWVudFdpZHRoO3JldHVybiBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHQpLHRoaXMuc2V0KFwic2Nyb2xsYmFyV2lkdGhcIixpKSxpK1wicHhcIn0sdGhpcy5nZXRFbGVtZW50c1RvQWRqdXN0PWZ1bmN0aW9uKHQpeyh0PVwic3RyaW5nXCI9PXR5cGVvZih0PXR8fFtdKT9bW3QsXCJwYWRkaW5nLXJpZ2h0XCJdXTp0KS5mb3JFYWNoKGZ1bmN0aW9uKGksbyl7XCJzdHJpbmdcIj09dHlwZW9mIGkmJih0W29dPVtpLFwicGFkZGluZy1yaWdodFwiXSl9KTtmb3IodmFyIGk9ITEsbz0wO288dC5sZW5ndGg7bysrKS0xIT09dFtvXVswXS5pbmRleE9mKFwiYm9keVwiKSYmKGk9ITApO3JldHVybiExPT09aSYmdC5wdXNoKFtcImJvZHlcIixcInBhZGRpbmctcmlnaHRcIl0pLHR9LHRoaXMucGFnZUhhc1Njcm9sbGJhcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLmdldFNjcm9sbGJhcldpZHRoKCkmJmRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0PndpbmRvdy5pbm5lckhlaWdodH0sdGhpcy5wYWdlSGFzU2Nyb2xsYmFyKCkpe3Q9dGhpcy5nZXRFbGVtZW50c1RvQWRqdXN0KHQpO2Zvcih2YXIgaT0wO2k8dC5sZW5ndGg7aSsrKWZvcih2YXIgbz1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHRbaV1bMF0pLHM9MDtzPG8ubGVuZ3RoO3MrKyl7aWYob1tzXS5nZXRBdHRyaWJ1dGUoXCJkYXRhLXVuc2Nyb2xsXCIpKXJldHVybjt2YXIgZT10W2ldWzFdLG49d2luZG93LmdldENvbXB1dGVkU3R5bGUob1tzXSkuZ2V0UHJvcGVydHlWYWx1ZShlKTtvW3NdLnNldEF0dHJpYnV0ZShcImRhdGEtdW5zY3JvbGxcIixlKSxuPW58fFwiMHB4XCI7dmFyIGE9XCJwYWRkaW5nLXJpZ2h0XCI9PWV8fFwicmlnaHRcIj09ZT9cIitcIjpcIi1cIjtvW3NdLnN0eWxlW2VdPVwiY2FsYyhcIituK1wiIFwiK2ErXCIgXCIrdGhpcy5nZXRTY3JvbGxiYXJXaWR0aCgpK1wiKVwifX12YXIgaCxyO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwidW5zY3JvbGwtY2xhc3MtbmFtZVwiKXx8KGg9ZG9jdW1lbnQuaGVhZHx8ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJoZWFkXCIpWzBdLChyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiKSkudHlwZT1cInRleHQvY3NzXCIsci5zZXRBdHRyaWJ1dGUoXCJpZFwiLFwidW5zY3JvbGwtY2xhc3MtbmFtZVwiKSxyLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKFwiLnVuc2Nyb2xsYWJsZSB7IG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDsgfVwiKSksaC5hcHBlbmRDaGlsZChyKSksZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKFwidW5zY3JvbGxhYmxlXCIpfSkucmVzZXQ9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcIltkYXRhLXVuc2Nyb2xsXVwiKSxpPTA7aTx0Lmxlbmd0aDtpKyspe3ZhciBvPXRbaV0uZ2V0QXR0cmlidXRlKFwiZGF0YS11bnNjcm9sbFwiKTt0W2ldLnN0eWxlW29dPW51bGwsdFtpXS5yZW1vdmVBdHRyaWJ1dGUoXCJkYXRhLXVuc2Nyb2xsXCIpfWRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZShcInVuc2Nyb2xsYWJsZVwiKX0saS5wcm90b3R5cGUub3Blbj1mdW5jdGlvbihvKXtpZihvPW98fHt9LHRoaXMuaXNEZXN0cm95ZWQpcmV0dXJuIHRoaXM7aWYodGhpcy53cmFwcGVyfHx0aGlzLl9jcmVhdGUoKSx0aGlzLl9zdHlsZXN8fCh0aGlzLl9zdHlsZXM9dChcIjxzdHlsZS8+XCIpLmFwcGVuZCh0aGlzLl9hbmltYXRpb25DU1MpLmFwcGVuZFRvKHQoXCJoZWFkXCIpKSksdGhpcy50aW1lciYmY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpLHRoaXMuX2Jsb2NrQm9keUNsaWNrKCksdGhpcy5pc0Rpc2FibGVkKXJldHVybiB0aGlzO3RoaXMub3B0aW9ucy5jbG9zZU9uRXNjJiZ0KGRvY3VtZW50KS5vbihcImtleXVwLmpCb3gtXCIrdGhpcy5pZCxmdW5jdGlvbih0KXsyNz09dC5rZXlDb2RlJiZ0aGlzLmNsb3NlKHtpZ25vcmVEZWxheTohMH0pfS5iaW5kKHRoaXMpKSwhMCE9PXRoaXMub3B0aW9ucy5jbG9zZU9uQ2xpY2smJlwiYm9keVwiIT09dGhpcy5vcHRpb25zLmNsb3NlT25DbGlja3x8KHQoXCJib2R5XCIpLm9uKFwiY2xpY2suakJveC1cIit0aGlzLmlkK1wiIHRhcC5qQm94LVwiK3RoaXMuaWQsZnVuY3Rpb24odCl7dGhpcy5ibG9ja0JvZHlDbGlja3x8XCJib2R5XCI9PXRoaXMub3B0aW9ucy5jbG9zZU9uQ2xpY2smJih0LnRhcmdldD09dGhpcy53cmFwcGVyWzBdfHx0aGlzLndyYXBwZXIuaGFzKHQudGFyZ2V0KS5sZW5ndGgpfHx0aGlzLmNsb3NlKHtpZ25vcmVEZWxheTohMH0pfS5iaW5kKHRoaXMpKSx0aGlzLmlzVG91Y2hEZXZpY2UmJnQoXCJib2R5ID4gKlwiKS5vbihcImNsaWNrLmpCb3gtXCIrdGhpcy5pZCtcIiB0YXAuakJveC1cIit0aGlzLmlkLGZ1bmN0aW9uKCl7cmV0dXJuITB9KSk7dmFyIHM9ZnVuY3Rpb24oKXshMD09PXRoaXMuYWRqdXN0WkluZGV4T25PcGVuJiYoaS56SW5kZXhNYXg9TWF0aC5tYXgocGFyc2VJbnQodGhpcy53cmFwcGVyLmNzcyhcInpJbmRleFwiKSwxMCksdGhpcy5vcHRpb25zLnpJbmRleCxpLnpJbmRleE1heHx8MCxpLnpJbmRleE1heERyYWdvdmVyfHwwKSsyLHRoaXMud3JhcHBlci5jc3MoXCJ6SW5kZXhcIixpLnpJbmRleE1heCksdGhpcy5vcHRpb25zLnpJbmRleD1pLnpJbmRleE1heCksdGhpcy5zb3VyY2UmJnRoaXMub3B0aW9ucy5nZXRUaXRsZSYmdGhpcy5zb3VyY2UuYXR0cih0aGlzLm9wdGlvbnMuZ2V0VGl0bGUpJiZ0aGlzLnNldFRpdGxlKHRoaXMuc291cmNlLmF0dHIodGhpcy5vcHRpb25zLmdldFRpdGxlKSwhMCksdGhpcy5zb3VyY2UmJnRoaXMub3B0aW9ucy5nZXRDb250ZW50JiYodGhpcy5zb3VyY2UuZGF0YShcImpCb3gtZ2V0Q29udGVudFwiKT90aGlzLnNldENvbnRlbnQodGhpcy5zb3VyY2UuZGF0YShcImpCb3gtZ2V0Q29udGVudFwiKSwhMCk6dGhpcy5zb3VyY2UuYXR0cih0aGlzLm9wdGlvbnMuZ2V0Q29udGVudCk/dGhpcy5zZXRDb250ZW50KHRoaXMuc291cmNlLmF0dHIodGhpcy5vcHRpb25zLmdldENvbnRlbnQpLCEwKTpcImh0bWxcIj09dGhpcy5vcHRpb25zLmdldENvbnRlbnQmJnRoaXMuc2V0Q29udGVudCh0aGlzLnNvdXJjZS5odG1sKCksITApKSx0aGlzLl9maXJlRXZlbnQoXCJvbk9wZW5cIiksKHRoaXMub3B0aW9ucy5hamF4JiYodGhpcy5vcHRpb25zLmFqYXgudXJsfHx0aGlzLnNvdXJjZSYmdGhpcy5zb3VyY2UuYXR0cih0aGlzLm9wdGlvbnMuYWpheC5nZXRVUkwpKSYmKCF0aGlzLmFqYXhMb2FkZWR8fHRoaXMub3B0aW9ucy5hamF4LnJlbG9hZCl8fG8uYWpheCYmKG8uYWpheC51cmx8fG8uYWpheC5kYXRhKSkmJihcInN0cmljdFwiPT10aGlzLm9wdGlvbnMuYWpheC5yZWxvYWR8fCF0aGlzLnNvdXJjZXx8IXRoaXMuc291cmNlLmRhdGEoXCJqQm94LWFqYXgtZGF0YVwiKXx8by5hamF4JiYoby5hamF4LnVybHx8by5hamF4LmRhdGEpP3RoaXMuYWpheChvLmFqYXh8fG51bGwsITApOnRoaXMuc2V0Q29udGVudCh0aGlzLnNvdXJjZS5kYXRhKFwiakJveC1hamF4LWRhdGFcIikpKSx0aGlzLnBvc2l0aW9uZWRPbk9wZW4mJiF0aGlzLm9wdGlvbnMucmVwb3NpdGlvbk9uT3Blbnx8IXRoaXMucG9zaXRpb24obyl8fCh0aGlzLnBvc2l0aW9uZWRPbk9wZW49ITApLHRoaXMuaXNDbG9zaW5nJiZ0aGlzLl9hYm9ydEFuaW1hdGlvbigpLHRoaXMuaXNPcGVufHwodGhpcy5pc09wZW49ITAsdGhpcy5vcHRpb25zLmF1dG9DbG9zZSYmKHRoaXMub3B0aW9ucy5kZWxheUNsb3NlPXRoaXMub3B0aW9ucy5hdXRvQ2xvc2UpJiZ0aGlzLmNsb3NlKCksdGhpcy5fYXR0YWNoRXZlbnRzKCksdGhpcy5vcHRpb25zLmJsb2NrU2Nyb2xsJiYodGhpcy5vcHRpb25zLmJsb2NrU2Nyb2xsQWRqdXN0P2kuYmxvY2tTY3JvbGxTY29wZXM/aS5ibG9ja1Njcm9sbFNjb3BlcysrOihpLmJsb2NrU2Nyb2xsU2NvcGVzPTEsdGhpcy51bnNjcm9sbChBcnJheS5pc0FycmF5KHRoaXMub3B0aW9ucy5ibG9ja1Njcm9sbEFkanVzdCl8fFwic3RyaW5nXCI9PXR5cGVvZiB0aGlzLm9wdGlvbnMuYmxvY2tTY3JvbGxBZGp1c3Q/dGhpcy5vcHRpb25zLmJsb2NrU2Nyb2xsQWRqdXN0Om51bGwpKTp0KFwiYm9keVwiKS5hZGRDbGFzcyhcImpCb3gtYmxvY2tTY3JvbGwtXCIrdGhpcy5pZCkpLHRoaXMub3B0aW9ucy5vdmVybGF5JiYodGhpcy5fc2hvd092ZXJsYXkoKSx0aGlzLnBvc2l0aW9uKCkpLHRoaXMub3B0aW9ucy5hbmltYXRpb24mJiF0aGlzLmlzQ2xvc2luZyYmdGhpcy5fYW5pbWF0ZShcIm9wZW5cIiksdGhpcy5vcHRpb25zLmF1ZGlvJiZ0aGlzLm9wdGlvbnMuYXVkaW8ub3BlbiYmdGhpcy5hdWRpbyh0aGlzLm9wdGlvbnMuYXVkaW8ub3Blbix0aGlzLm9wdGlvbnMudm9sdW1lLm9wZW4pLHRoaXMub3B0aW9ucy5mYWRlP3RoaXMud3JhcHBlci5zdG9wKCkuYW5pbWF0ZSh7b3BhY2l0eToxfSx7cXVldWU6ITEsZHVyYXRpb246dGhpcy5vcHRpb25zLmZhZGUsc3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLmlzT3BlbmluZz0hMCx0aGlzLndyYXBwZXIuY3NzKHtkaXNwbGF5OlwiYmxvY2tcIn0pfS5iaW5kKHRoaXMpLGFsd2F5czpmdW5jdGlvbigpe3RoaXMuaXNPcGVuaW5nPSExLHNldFRpbWVvdXQoZnVuY3Rpb24oKXt0aGlzLnBvc2l0aW9uT25GYWRlQ29tcGxldGUmJnRoaXMucG9zaXRpb24oKSYmKHRoaXMucG9zaXRpb25PbkZhZGVDb21wbGV0ZT0hMSl9LmJpbmQodGhpcyksMTApfS5iaW5kKHRoaXMpfSk6KHRoaXMud3JhcHBlci5jc3Moe2Rpc3BsYXk6XCJibG9ja1wiLG9wYWNpdHk6MX0pLHRoaXMucG9zaXRpb25PbkZhZGVDb21wbGV0ZSYmdGhpcy5wb3NpdGlvbigpJiYodGhpcy5wb3NpdGlvbk9uRmFkZUNvbXBsZXRlPSExKSkpfS5iaW5kKHRoaXMpO3JldHVybiF0aGlzLm9wdGlvbnMuZGVsYXlPcGVufHx0aGlzLmlzT3Blbnx8dGhpcy5pc0Nsb3Npbmd8fG8uaWdub3JlRGVsYXk/cygpOnRoaXMudGltZXI9c2V0VGltZW91dChzLHRoaXMub3B0aW9ucy5kZWxheU9wZW4pLHRoaXN9LGkucHJvdG90eXBlLmNsb3NlPWZ1bmN0aW9uKG8pe2lmKG89b3x8e30sdChcImJvZHlcIikub2ZmKFwiY2xpY2suakJveC1cIit0aGlzLmlkK1wiIHRhcC5qQm94LVwiK3RoaXMuaWQpLHRoaXMuaXNUb3VjaERldmljZSYmdChcImJvZHkgPiAqXCIpLm9mZihcImNsaWNrLmpCb3gtXCIrdGhpcy5pZCtcIiB0YXAuakJveC1cIit0aGlzLmlkKSx0aGlzLmlzRGVzdHJveWVkfHx0aGlzLmlzQ2xvc2luZylyZXR1cm4gdGhpcztpZih0aGlzLnRpbWVyJiZjbGVhclRpbWVvdXQodGhpcy50aW1lciksdGhpcy5fYmxvY2tCb2R5Q2xpY2soKSx0aGlzLmlzRGlzYWJsZWQpcmV0dXJuIHRoaXM7dmFyIHMsZSxuLGE9ZnVuY3Rpb24oKXt2YXIgbzt0aGlzLl9maXJlRXZlbnQoXCJvbkNsb3NlXCIpLHRoaXMub3B0aW9ucy5jYW5jZWxBamF4T25DbG9zZSYmdGhpcy5jYW5jZWxBamF4KCksdGhpcy5pc09wZW4mJih0aGlzLmlzT3Blbj0hMSx0aGlzLl9kZXRhY2hFdmVudHMoKSx0aGlzLm9wdGlvbnMuYmxvY2tTY3JvbGwmJih0aGlzLm9wdGlvbnMuYmxvY2tTY3JvbGxBZGp1c3Q/KGkuYmxvY2tTY3JvbGxTY29wZXM9aS5ibG9ja1Njcm9sbFNjb3Blcz8tLWkuYmxvY2tTY3JvbGxTY29wZXM6MCl8fHRoaXMudW5zY3JvbGwucmVzZXQoKTp0KFwiYm9keVwiKS5yZW1vdmVDbGFzcyhcImpCb3gtYmxvY2tTY3JvbGwtXCIrdGhpcy5pZCkpLHRoaXMub3B0aW9ucy5vdmVybGF5JiZ0aGlzLl9oaWRlT3ZlcmxheSgpLHRoaXMub3B0aW9ucy5hbmltYXRpb24mJiF0aGlzLmlzT3BlbmluZyYmdGhpcy5fYW5pbWF0ZShcImNsb3NlXCIpLHRoaXMub3B0aW9ucy5hdWRpbyYmdGhpcy5vcHRpb25zLmF1ZGlvLmNsb3NlJiZ0aGlzLmF1ZGlvKHRoaXMub3B0aW9ucy5hdWRpby5jbG9zZSx0aGlzLm9wdGlvbnMudm9sdW1lLmNsb3NlKSwobz10aGlzLmlzVG91Y2hEZXZpY2UmJlwibW91c2VcIj09dGhpcy5vcHRpb25zLnRhcmdldD8wOnRoaXMub3B0aW9ucy5mYWRlKT90aGlzLndyYXBwZXIuc3RvcCgpLmFuaW1hdGUoe29wYWNpdHk6MH0se3F1ZXVlOiExLGR1cmF0aW9uOm8sc3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLmlzQ2xvc2luZz0hMH0uYmluZCh0aGlzKSxjb21wbGV0ZTpmdW5jdGlvbigpe3RoaXMud3JhcHBlci5jc3Moe2Rpc3BsYXk6XCJub25lXCJ9KSx0aGlzLl9maXJlRXZlbnQoXCJvbkNsb3NlQ29tcGxldGVcIil9LmJpbmQodGhpcyksYWx3YXlzOmZ1bmN0aW9uKCl7dGhpcy5pc0Nsb3Npbmc9ITF9LmJpbmQodGhpcyl9KToodGhpcy53cmFwcGVyLmNzcyh7ZGlzcGxheTpcIm5vbmVcIixvcGFjaXR5OjB9KSx0aGlzLl9maXJlRXZlbnQoXCJvbkNsb3NlQ29tcGxldGVcIikpKX0uYmluZCh0aGlzKTtyZXR1cm4gby5pZ25vcmVEZWxheXx8dGhpcy5pc1RvdWNoRGV2aWNlJiZcIm1vdXNlXCI9PXRoaXMub3B0aW9ucy50YXJnZXQ/YSgpOih0aGlzLm9wdGlvbnMuZGVsYXlPbkhvdmVyfHx0aGlzLm9wdGlvbnMuc2hvd0NvdW50ZG93bikmJjEwPHRoaXMub3B0aW9ucy5kZWxheUNsb3NlPyhlPShzPXRoaXMpLm9wdGlvbnMuZGVsYXlDbG9zZSxuPURhdGUubm93KCksdGhpcy5vcHRpb25zLnNob3dDb3VudGRvd24mJiF0aGlzLmlubmVyJiYobz10KCc8ZGl2IGNsYXNzPVwiakJveC1jb3VudGRvd25cIiAvPicpLHRoaXMuaW5uZXI9dCgnPGRpdiBjbGFzcz1cImpCb3gtY291bnRkb3duLWlubmVyXCIgLz4nKSxvLnByZXBlbmQodGhpcy5pbm5lciksdChcIiNcIit0aGlzLmlkKS5hcHBlbmQobykpLHRoaXMuY291bnRkb3duPWZ1bmN0aW9uKCl7dmFyIHQ9RGF0ZS5ub3coKTtzLmlzSG92ZXJlZHx8KGUtPXQtbiksbj10LDA8ZT8ocy5vcHRpb25zLnNob3dDb3VudGRvd24mJnMuaW5uZXIuY3NzKFwid2lkdGhcIiwxMDAqZS9zLm9wdGlvbnMuZGVsYXlDbG9zZStcIiVcIiksd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShzLmNvdW50ZG93bikpOmEoKX0sd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlzLmNvdW50ZG93bikpOnRoaXMudGltZXI9c2V0VGltZW91dChhLE1hdGgubWF4KHRoaXMub3B0aW9ucy5kZWxheUNsb3NlLDEwKSksdGhpc30saS5wcm90b3R5cGUudG9nZ2xlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzW3RoaXMuaXNPcGVuP1wiY2xvc2VcIjpcIm9wZW5cIl0odCksdGhpc30saS5wcm90b3R5cGUuZGlzYWJsZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlzRGlzYWJsZWQ9ITAsdGhpc30saS5wcm90b3R5cGUuZW5hYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXNEaXNhYmxlZD0hMSx0aGlzfSxpLnByb3RvdHlwZS5oaWRlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGlzYWJsZSgpLHRoaXMud3JhcHBlciYmKHRoaXMuY2FjaGVXcmFwcGVyRGlzcGxheT10aGlzLndyYXBwZXIuY3NzKFwiZGlzcGxheVwiKSx0aGlzLndyYXBwZXIuY3NzKHtkaXNwbGF5Olwibm9uZVwifSkpLHRoaXMub3ZlcmxheSYmKHRoaXMuY2FjaGVPdmVybGF5RGlzcGxheT10aGlzLm92ZXJsYXkuY3NzKFwiZGlzcGxheVwiKSx0aGlzLm92ZXJsYXkuY3NzKHtkaXNwbGF5Olwibm9uZVwifSkpLHRoaXN9LGkucHJvdG90eXBlLnNob3c9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lbmFibGUoKSx0aGlzLndyYXBwZXImJnRoaXMuY2FjaGVXcmFwcGVyRGlzcGxheSYmKHRoaXMud3JhcHBlci5jc3Moe2Rpc3BsYXk6dGhpcy5jYWNoZVdyYXBwZXJEaXNwbGF5fSksdGhpcy5jYWNoZVdyYXBwZXJEaXNwbGF5PW51bGwpLHRoaXMub3ZlcmxheSYmdGhpcy5jYWNoZU92ZXJsYXlEaXNwbGF5JiYodGhpcy5vdmVybGF5LmNzcyh7ZGlzcGxheTp0aGlzLmNhY2hlT3ZlcmxheURpc3BsYXl9KSx0aGlzLmNhY2hlT3ZlcmxheURpc3BsYXk9bnVsbCksdGhpc30saS5wcm90b3R5cGUuYWpheD1mdW5jdGlvbihpLG8pe2k9aXx8e30sdC5lYWNoKFtbXCJnZXREYXRhXCIsXCJkYXRhXCJdLFtcImdldFVSTFwiLFwidXJsXCJdXSxmdW5jdGlvbih0LG8pe3RoaXMub3B0aW9ucy5hamF4W29bMF1dJiYhaVtvWzFdXSYmdGhpcy5zb3VyY2UmJm51bGwhPXRoaXMuc291cmNlLmF0dHIodGhpcy5vcHRpb25zLmFqYXhbb1swXV0pJiYoaVtvWzFdXT10aGlzLnNvdXJjZS5hdHRyKHRoaXMub3B0aW9ucy5hamF4W29bMF1dKXx8XCJcIil9LmJpbmQodGhpcykpO3ZhciBzPXQuZXh0ZW5kKCEwLHt9LHRoaXMub3B0aW9ucy5hamF4KTt0aGlzLmNhbmNlbEFqYXgoKTt2YXIgZT1pLmJlZm9yZVNlbmR8fHMuYmVmb3JlU2VuZHx8ZnVuY3Rpb24oKXt9LG49aS5jb21wbGV0ZXx8cy5jb21wbGV0ZXx8ZnVuY3Rpb24oKXt9LGE9aS5zdWNjZXNzfHxzLnN1Y2Nlc3N8fGZ1bmN0aW9uKCl7fSxoPWkuZXJyb3J8fHMuZXJyb3J8fGZ1bmN0aW9uKCl7fSxyPXQuZXh0ZW5kKCEwLHMsaSk7cmV0dXJuIHIuYmVmb3JlU2VuZD1mdW5jdGlvbihpKXtyLmxvYWRpbmdDbGFzcyYmdGhpcy53cmFwcGVyLmFkZENsYXNzKCEwPT09ci5sb2FkaW5nQ2xhc3M/XCJqQm94LWxvYWRpbmdcIjpyLmxvYWRpbmdDbGFzcyksci5zcGlubmVyJiYodGhpcy5zcGlubmVyRGVsYXk9c2V0VGltZW91dChmdW5jdGlvbigpe3RoaXMud3JhcHBlci5hZGRDbGFzcyhcImpCb3gtbG9hZGluZy1zcGlubmVyXCIpLHIuc3Bpbm5lclJlcG9zaXRpb24mJihvP3RoaXMucG9zaXRpb25PbkZhZGVDb21wbGV0ZT0hMDp0aGlzLnBvc2l0aW9uKCkpLHRoaXMuc3Bpbm5lcj10KCEwIT09ci5zcGlubmVyP3Iuc3Bpbm5lcjonPGRpdiBjbGFzcz1cImpCb3gtc3Bpbm5lclwiPjwvZGl2PicpLmFwcGVuZFRvKHRoaXMuY29udGFpbmVyKSx0aGlzLnRpdGxlQ29udGFpbmVyJiZcImFic29sdXRlXCI9PXRoaXMuc3Bpbm5lci5jc3MoXCJwb3NpdGlvblwiKSYmdGhpcy5zcGlubmVyLmNzcyh7dHJhbnNmb3JtOlwidHJhbnNsYXRlWShcIisuNSp0aGlzLnRpdGxlQ29udGFpbmVyLm91dGVySGVpZ2h0KCkrXCJweClcIn0pfS5iaW5kKHRoaXMpLFwiXCIhPXRoaXMuY29udGVudC5odG1sKCkmJnIuc3Bpbm5lckRlbGF5fHwwKSksZS5iaW5kKHRoaXMpKGkpfS5iaW5kKHRoaXMpLHIuY29tcGxldGU9ZnVuY3Rpb24odCl7dGhpcy5zcGlubmVyRGVsYXkmJmNsZWFyVGltZW91dCh0aGlzLnNwaW5uZXJEZWxheSksdGhpcy53cmFwcGVyLnJlbW92ZUNsYXNzKFwiakJveC1sb2FkaW5nIGpCb3gtbG9hZGluZy1zcGlubmVyIGpCb3gtbG9hZGluZy1zcGlubmVyLWRlbGF5XCIpLHRoaXMuc3Bpbm5lciYmdGhpcy5zcGlubmVyLmxlbmd0aCYmdGhpcy5zcGlubmVyLnJlbW92ZSgpJiZyLnNwaW5uZXJSZXBvc2l0aW9uJiYobz90aGlzLnBvc2l0aW9uT25GYWRlQ29tcGxldGU9ITA6dGhpcy5wb3NpdGlvbigpKSx0aGlzLmFqYXhMb2FkZWQ9ITAsbi5iaW5kKHRoaXMpKHQpfS5iaW5kKHRoaXMpLHIuc3VjY2Vzcz1mdW5jdGlvbih0KXtyLnNldENvbnRlbnQmJnRoaXMuc2V0Q29udGVudCh0LCEwKSYmKG8/dGhpcy5wb3NpdGlvbk9uRmFkZUNvbXBsZXRlPSEwOnRoaXMucG9zaXRpb24oKSksci5zZXRDb250ZW50JiZ0aGlzLnNvdXJjZSYmdGhpcy5zb3VyY2UuZGF0YShcImpCb3gtYWpheC1kYXRhXCIsdCksYS5iaW5kKHRoaXMpKHQpfS5iaW5kKHRoaXMpLHIuZXJyb3I9ZnVuY3Rpb24odCl7aC5iaW5kKHRoaXMpKHQpfS5iaW5kKHRoaXMpLHRoaXMuYWpheFJlcXVlc3Q9dC5hamF4KHIpLHRoaXN9LGkucHJvdG90eXBlLmNhbmNlbEFqYXg9ZnVuY3Rpb24oKXt0aGlzLmFqYXhSZXF1ZXN0JiYodGhpcy5hamF4UmVxdWVzdC5hYm9ydCgpLHRoaXMuYWpheExvYWRlZD0hMSl9LGkucHJvdG90eXBlLmF1ZGlvPWZ1bmN0aW9uKG8scyl7aWYoIW8pcmV0dXJuIHRoaXM7dmFyIGU7KGkuX2F1ZGlvPWkuX2F1ZGlvP2kuX2F1ZGlvOnt9KVtvXXx8KGU9dChcIjxhdWRpby8+XCIpLHQoXCI8c291cmNlLz5cIix7c3JjOm8rXCIubXAzXCJ9KS5hcHBlbmRUbyhlKSx0KFwiPHNvdXJjZS8+XCIse3NyYzpvK1wiLm9nZ1wifSkuYXBwZW5kVG8oZSksaS5fYXVkaW9bb109ZVswXSksaS5fYXVkaW9bb10udm9sdW1lPU1hdGgubWluKChudWxsIT1zP3M6MTAwKS8xMDAsMSk7dHJ5e2kuX2F1ZGlvW29dLnBhdXNlKCksaS5fYXVkaW9bb10uY3VycmVudFRpbWU9MH1jYXRjaChvKXt9cmV0dXJuIGkuX2F1ZGlvW29dLnBsYXkoKSx0aGlzfSxpLl9hbmltYXRpb25TcGVlZHM9e3RhZGE6MWUzLHRhZGFTbWFsbDoxZTMsZmxhc2g6NTAwLHNoYWtlOjQwMCxwdWxzZVVwOjI1MCxwdWxzZURvd246MjUwLHBvcEluOjI1MCxwb3BPdXQ6MjUwLGZhZGVJbjoyMDAsZmFkZU91dDoyMDAsc2xpZGVVcDo0MDAsc2xpZGVSaWdodDo0MDAsc2xpZGVMZWZ0OjQwMCxzbGlkZURvd246NDAwfSxpLnByb3RvdHlwZS5hbmltYXRlPWZ1bmN0aW9uKHQsbyl7bz1vfHx7fSx0aGlzLmFuaW1hdGlvblRpbWVvdXR8fCh0aGlzLmFuaW1hdGlvblRpbWVvdXQ9e30pLG8uZWxlbWVudHx8KG8uZWxlbWVudD10aGlzLndyYXBwZXIpLG8uZWxlbWVudC5kYXRhKFwiakJveC1hbmltYXRpbmctaWRcIil8fG8uZWxlbWVudC5kYXRhKFwiakJveC1hbmltYXRpbmctaWRcIixpLl9nZXRVbmlxdWVFbGVtZW50SUQoKSksby5lbGVtZW50LmRhdGEoXCJqQm94LWFuaW1hdGluZ1wiKSYmKG8uZWxlbWVudC5yZW1vdmVDbGFzcyhvLmVsZW1lbnQuZGF0YShcImpCb3gtYW5pbWF0aW5nXCIpKS5kYXRhKFwiakJveC1hbmltYXRpbmdcIixudWxsKSx0aGlzLmFuaW1hdGlvblRpbWVvdXRbby5lbGVtZW50LmRhdGEoXCJqQm94LWFuaW1hdGluZy1pZFwiKV0mJmNsZWFyVGltZW91dCh0aGlzLmFuaW1hdGlvblRpbWVvdXRbby5lbGVtZW50LmRhdGEoXCJqQm94LWFuaW1hdGluZy1pZFwiKV0pKSxvLmVsZW1lbnQuYWRkQ2xhc3MoXCJqQm94LWFuaW1hdGVkLVwiK3QpLmRhdGEoXCJqQm94LWFuaW1hdGluZ1wiLFwiakJveC1hbmltYXRlZC1cIit0KSx0aGlzLmFuaW1hdGlvblRpbWVvdXRbby5lbGVtZW50LmRhdGEoXCJqQm94LWFuaW1hdGluZy1pZFwiKV09c2V0VGltZW91dChmdW5jdGlvbigpe28uZWxlbWVudC5yZW1vdmVDbGFzcyhvLmVsZW1lbnQuZGF0YShcImpCb3gtYW5pbWF0aW5nXCIpKS5kYXRhKFwiakJveC1hbmltYXRpbmdcIixudWxsKSxvLmNvbXBsZXRlJiZvLmNvbXBsZXRlKCl9LGkuX2FuaW1hdGlvblNwZWVkc1t0XSl9LGkucHJvdG90eXBlLnN3aXBlRGV0ZWN0b3I9ZnVuY3Rpb24oaSxvKXt2YXIgcz0wLGU9MCxuPTAsYT0wLGg9MDtyZXR1cm4gbz10LmV4dGVuZCh7c3dpcGVUaHJlc2hvbGQ6NzAsdXNlT25seVRvdWNoOiExfSxvKSxpLm9uKFwibW91c2Vkb3duIHRvdWNoc3RhcnRcIixmdW5jdGlvbih0KXtvLnVzZU9ubHlUb3VjaCYmIXQub3JpZ2luYWxFdmVudC50b3VjaGVzfHwodC5vcmlnaW5hbEV2ZW50LnRvdWNoZXMmJih0PXQub3JpZ2luYWxFdmVudC50b3VjaGVzWzBdKSwwPT09cyYmKHM9MSxlPXQuY2xpZW50WCxuPXQuY2xpZW50WSkpfSksdChcImh0bWxcIikub24oXCJtb3VzZXVwIHRvdWNoZW5kXCIsZnVuY3Rpb24oZSl7Mj09PXMmJihzPTAsTWF0aC5hYnMoYSk+TWF0aC5hYnMoaCkmJk1hdGguYWJzKGEpPm8uc3dpcGVUaHJlc2hvbGQ/YTwwP2kudHJpZ2dlcih0LkV2ZW50KFwic3dpcGVMZWZ0LnNkXCIpKTppLnRyaWdnZXIodC5FdmVudChcInN3aXBlUmlnaHQuc2RcIikpOk1hdGguYWJzKGgpPm8uc3dpcGVUaHJlc2hvbGQmJihoPDA/aS50cmlnZ2VyKHQuRXZlbnQoXCJzd2lwZVVwLnNkXCIpKTppLnRyaWdnZXIodC5FdmVudChcInN3aXBlRG93bi5zZFwiKSkpKX0pLHQoXCJodG1sXCIpLm9uKFwibW91c2Vtb3ZlIHRvdWNobW92ZVwiLGZ1bmN0aW9uKHQpe3ZhciBpOzE9PT1zJiYoaT0odD10Lm9yaWdpbmFsRXZlbnQudG91Y2hlcz90Lm9yaWdpbmFsRXZlbnQudG91Y2hlc1swXTp0KS5jbGllbnRYLWUsdD10LmNsaWVudFktbiwoTWF0aC5hYnMoaSk+by5zd2lwZVRocmVzaG9sZHx8TWF0aC5hYnModCk+by5zd2lwZVRocmVzaG9sZCkmJihzPTIsYT1pLGg9dCkpfSksaX0saS5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmRldGFjaCgpLHRoaXMuaXNPcGVuJiZ0aGlzLmNsb3NlKHtpZ25vcmVEZWxheTohMH0pLHRoaXMud3JhcHBlciYmdGhpcy53cmFwcGVyLnJlbW92ZSgpLHRoaXMub3ZlcmxheSYmdGhpcy5vdmVybGF5LnJlbW92ZSgpLHRoaXMuX3N0eWxlcyYmdGhpcy5fc3R5bGVzLnJlbW92ZSgpLHRoaXMuaXNEZXN0cm95ZWQ9ITAsdGhpc30saS5fZ2V0VW5pcXVlSUQ9KG89MSxmdW5jdGlvbigpe3JldHVybiBvKyt9KSxpLl9nZXRVbmlxdWVFbGVtZW50SUQ9KHM9MSxmdW5jdGlvbigpe3JldHVybiBzKyt9KSxpLl9wbHVnaW5PcHRpb25zPXt9LGkucGx1Z2luPWZ1bmN0aW9uKHQsbyl7aS5fcGx1Z2luT3B0aW9uc1t0XT1vfSx0LmZuLmpCb3g9ZnVuY3Rpb24obyxzKXtyZXR1cm4gcz1zfHx7fSxuZXcgaShvPW98fHt9LHQuZXh0ZW5kKHMse2F0dGFjaDp0aGlzfSkpfSxpfWZ1bmN0aW9uIGpCb3hDb25maXJtV3JhcHBlcihqQm94LGpRdWVyeSl7bmV3IGpCb3gucGx1Z2luKFwiQ29uZmlybVwiLHtjb25maXJtQnV0dG9uOlwiU3VibWl0XCIsY2FuY2VsQnV0dG9uOlwiQ2FuY2VsXCIsY29uZmlybTpudWxsLGNhbmNlbDpudWxsLGNsb3NlT25Db25maXJtOiEwLHRhcmdldDp3aW5kb3csZml4ZWQ6ITAsYXR0YWNoOlwiW2RhdGEtY29uZmlybV1cIixnZXRDb250ZW50OlwiZGF0YS1jb25maXJtXCIsY29udGVudDpcIkRvIHlvdSByZWFsbHkgd2FudCB0byBkbyB0aGlzP1wiLG1pbldpZHRoOjM2MCxtYXhXaWR0aDo1MDAsYmxvY2tTY3JvbGw6ITAsY2xvc2VPbkVzYzohMCxjbG9zZU9uQ2xpY2s6ITEsY2xvc2VCdXR0b246ITEsb3ZlcmxheTohMCxhbmltYXRpb246XCJ6b29tSW5cIixwcmV2ZW50RGVmYXVsdDohMCxfb25BdHRhY2g6ZnVuY3Rpb24odCl7dmFyIGk7dGhpcy5vcHRpb25zLmNvbmZpcm18fChpPXQuYXR0cihcIm9uY2xpY2tcIik/dC5hdHRyKFwib25jbGlja1wiKTp0LmF0dHIoXCJocmVmXCIpP3QuYXR0cihcInRhcmdldFwiKT8nd2luZG93Lm9wZW4oXCInK3QuYXR0cihcImhyZWZcIikrJ1wiLCBcIicrdC5hdHRyKFwidGFyZ2V0XCIpKydcIik7Jzond2luZG93LmxvY2F0aW9uLmhyZWYgPSBcIicrdC5hdHRyKFwiaHJlZlwiKSsnXCI7JzpcIlwiLHQucHJvcChcIm9uY2xpY2tcIixudWxsKS5kYXRhKFwiakJveC1Db25maXJtLXN1Ym1pdFwiLGkpKX0sX29uQ3JlYXRlZDpmdW5jdGlvbigpe3RoaXMud3JhcHBlci5hZGRDbGFzcyhcImpCb3gtTW9kYWxcIiksdGhpcy5mb290ZXI9alF1ZXJ5KCc8ZGl2IGNsYXNzPVwiakJveC1Db25maXJtLWZvb3RlclwiLz4nKSxqUXVlcnkoJzxkaXYgY2xhc3M9XCJqQm94LUNvbmZpcm0tYnV0dG9uIGpCb3gtQ29uZmlybS1idXR0b24tY2FuY2VsXCIvPicpLmh0bWwodGhpcy5vcHRpb25zLmNhbmNlbEJ1dHRvbikub24oXCJjbGljayB0YXBcIixmdW5jdGlvbigpe3RoaXMub3B0aW9ucy5jYW5jZWwmJnRoaXMub3B0aW9ucy5jYW5jZWwodGhpcy5zb3VyY2UpLHRoaXMuY2xvc2UoKX0uYmluZCh0aGlzKSkuYXBwZW5kVG8odGhpcy5mb290ZXIpLHRoaXMuc3VibWl0QnV0dG9uPWpRdWVyeSgnPGRpdiBjbGFzcz1cImpCb3gtQ29uZmlybS1idXR0b24gakJveC1Db25maXJtLWJ1dHRvbi1zdWJtaXRcIi8+JykuaHRtbCh0aGlzLm9wdGlvbnMuY29uZmlybUJ1dHRvbikuYXBwZW5kVG8odGhpcy5mb290ZXIpLHRoaXMuZm9vdGVyLmFwcGVuZFRvKHRoaXMuY29udGFpbmVyKX0sX29uT3BlbjpmdW5jdGlvbigpe3RoaXMuc3VibWl0QnV0dG9uLm9mZihcImNsaWNrLmpCb3gtQ29uZmlybVwiK3RoaXMuaWQrXCIgdGFwLmpCb3gtQ29uZmlybVwiK3RoaXMuaWQpLm9uKFwiY2xpY2suakJveC1Db25maXJtXCIrdGhpcy5pZCtcIiB0YXAuakJveC1Db25maXJtXCIrdGhpcy5pZCxmdW5jdGlvbigpe3RoaXMub3B0aW9ucy5jb25maXJtP3RoaXMub3B0aW9ucy5jb25maXJtKHRoaXMuc291cmNlKTpldmFsKHRoaXMuc291cmNlLmRhdGEoXCJqQm94LUNvbmZpcm0tc3VibWl0XCIpKSx0aGlzLm9wdGlvbnMuY2xvc2VPbkNvbmZpcm0mJnRoaXMuY2xvc2UoKX0uYmluZCh0aGlzKSl9fSl9ZnVuY3Rpb24gakJveEltYWdlV3JhcHBlcih0LGkpe25ldyB0LnBsdWdpbihcIkltYWdlXCIse3NyYzpcImhyZWZcIixnYWxsZXJ5OlwiZGF0YS1qYm94LWltYWdlXCIsaW1hZ2VMYWJlbDpcInRpdGxlXCIsaW1hZ2VGYWRlOjM2MCxpbWFnZVNpemU6XCJjb250YWluXCIsaW1hZ2VDb3VudGVyOiExLGltYWdlQ291bnRlclNlcGFyYXRvcjpcIi9cIixkb3dubG9hZEJ1dHRvbjohMSxkb3dubG9hZEJ1dHRvblRleHQ6bnVsbCxkb3dubG9hZEJ1dHRvblVybDpudWxsLG1vYmlsZUltYWdlQXR0cjpudWxsLG1vYmlsZUltYWdlQnJlYWtwb2ludDpudWxsLHByZWxvYWRGaXJzdEltYWdlOiExLHRhcmdldDp3aW5kb3csYXR0YWNoOlwiW2RhdGEtamJveC1pbWFnZV1cIixmaXhlZDohMCxibG9ja1Njcm9sbDohMCxjbG9zZU9uRXNjOiEwLGNsb3NlT25DbGljazpcImJ1dHRvblwiLGNsb3NlQnV0dG9uOiEwLG92ZXJsYXk6ITAsYW5pbWF0aW9uOlwiem9vbUluXCIscHJldmVudERlZmF1bHQ6ITAsd2lkdGg6XCIxMDAlXCIsaGVpZ2h0OlwiMTAwJVwiLGFkanVzdERpc3RhbmNlOnt0b3A6NDAscmlnaHQ6MCxib3R0b206NDAsbGVmdDowfSxfb25Jbml0OmZ1bmN0aW9uKCl7dGhpcy5pbWFnZXM9dGhpcy5jdXJyZW50SW1hZ2U9e30sdGhpcy5pbWFnZVpJbmRleD0xLHRoaXMuaW5pdEltYWdlPWZ1bmN0aW9uKHQpe3ZhciBvLHM7KHQ9aSh0KSkuZGF0YShcImpCb3gtaW1hZ2UtZ2FsbGVyeVwiKXx8KG89dC5hdHRyKHRoaXMub3B0aW9ucy5zcmMpLHRoaXMub3B0aW9ucy5tb2JpbGVJbWFnZUF0dHImJnRoaXMub3B0aW9ucy5tb2JpbGVJbWFnZUJyZWFrcG9pbnQmJnQuYXR0cih0aGlzLm9wdGlvbnMubW9iaWxlSW1hZ2VBdHRyKSYmaSh3aW5kb3cpLndpZHRoKCk8PXRoaXMub3B0aW9ucy5tb2JpbGVJbWFnZUJyZWFrcG9pbnQmJihvPXQuYXR0cih0aGlzLm9wdGlvbnMubW9iaWxlSW1hZ2VBdHRyKSkscz10LmF0dHIodGhpcy5vcHRpb25zLmdhbGxlcnkpfHxcImRlZmF1bHRcIix0aGlzLmltYWdlc1tzXXx8KHRoaXMuaW1hZ2VzW3NdPVtdKSx0aGlzLmltYWdlc1tzXS5wdXNoKHtzcmM6byxsYWJlbDp0LmF0dHIodGhpcy5vcHRpb25zLmltYWdlTGFiZWwpfHxcIlwiLGRvd25sb2FkVXJsOnRoaXMub3B0aW9ucy5kb3dubG9hZEJ1dHRvblVybCYmdC5hdHRyKHRoaXMub3B0aW9ucy5kb3dubG9hZEJ1dHRvblVybCk/dC5hdHRyKHRoaXMub3B0aW9ucy5kb3dubG9hZEJ1dHRvblVybCk6bnVsbH0pLFwidGl0bGVcIj09dGhpcy5vcHRpb25zLmltYWdlTGFiZWwmJnQucmVtb3ZlQXR0cihcInRpdGxlXCIpLHQuZGF0YShcImpCb3gtaW1hZ2UtZ2FsbGVyeVwiLHMpLHQuZGF0YShcImpCb3gtaW1hZ2UtaWRcIix0aGlzLmltYWdlc1tzXS5sZW5ndGgtMSkpfS5iaW5kKHRoaXMpLHRoaXMuYXR0YWNoZWRFbGVtZW50cyYmdGhpcy5hdHRhY2hlZEVsZW1lbnRzLmxlbmd0aCYmaS5lYWNoKHRoaXMuYXR0YWNoZWRFbGVtZW50cyxmdW5jdGlvbih0LGkpe3RoaXMuaW5pdEltYWdlKGkpfS5iaW5kKHRoaXMpKTt2YXIgdD1mdW5jdGlvbih0LG8scyxlKXtpZighaShcIiNqQm94LWltYWdlLVwiK3QrXCItXCIrbykubGVuZ3RoKXt2YXIgbj1pKFwiPGRpdi8+XCIse2lkOlwiakJveC1pbWFnZS1cIit0K1wiLVwiK28sY2xhc3M6XCJqQm94LWltYWdlLWNvbnRhaW5lclwiKyhzP1wiIGpCb3gtaW1hZ2UtXCIrdCtcIi1jdXJyZW50XCI6XCJcIil9KS5jc3Moe2JhY2tncm91bmRTaXplOnRoaXMub3B0aW9ucy5pbWFnZVNpemUsb3BhY2l0eTplPzE6MCx6SW5kZXg6cz90aGlzLmltYWdlWkluZGV4Kys6MH0pLmFwcGVuZFRvKHRoaXMuY29udGVudCk7cmV0dXJuIHRoaXMuc3dpcGVEZXRlY3RvcihuKS5vbihcInN3aXBlTGVmdC5zZCBzd2lwZVJpZ2h0LnNkXCIsZnVuY3Rpb24odCl7XCJzd2lwZUxlZnRcIj09PXQudHlwZT90aGlzLnNob3dJbWFnZShcIm5leHRcIik6XCJzd2lwZVJpZ2h0XCI9PT10LnR5cGUmJnRoaXMuc2hvd0ltYWdlKFwicHJldlwiKX0uYmluZCh0aGlzKSksaShcIjxkaXYvPlwiLHtpZDpcImpCb3gtaW1hZ2UtbGFiZWwtXCIrdCtcIi1cIitvLGNsYXNzOlwiakJveC1pbWFnZS1sYWJlbFwiKyhzP1wiIGFjdGl2ZVwiOlwiXCIpfSkuaHRtbCh0aGlzLmltYWdlc1t0XVtvXS5sYWJlbCkub24oXCJjbGljayB0YXBcIixmdW5jdGlvbigpe2kodGhpcykudG9nZ2xlQ2xhc3MoXCJleHBhbmRlZFwiKX0pLmFwcGVuZFRvKHRoaXMuaW1hZ2VMYWJlbENvbnRhaW5lcikscyYmbi5hbmltYXRlKHtvcGFjaXR5OjF9LGU/MDp0aGlzLm9wdGlvbnMuaW1hZ2VGYWRlKSxufX0uYmluZCh0aGlzKTt0aGlzLmRvd25sb2FkSW1hZ2U9ZnVuY3Rpb24odCl7dmFyIGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImFcIik7aS5ocmVmPXQsaS5zZXRBdHRyaWJ1dGUoXCJkb3dubG9hZFwiLHQuc3Vic3RyaW5nKHQubGFzdEluZGV4T2YoXCIvXCIpKzEpKSxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGkpLGkuY2xpY2soKX07dmFyIG89ZnVuY3Rpb24obyxzLGUsbil7dmFyIGE9dChvLHMsZSxuKTthLmFkZENsYXNzKFwiakJveC1pbWFnZS1sb2FkaW5nXCIpLGkoJzxpbWcgc3JjPVwiJyt0aGlzLmltYWdlc1tvXVtzXS5zcmMrJ1wiIC8+JykuZWFjaChmdW5jdGlvbigpe3ZhciB0PW5ldyBJbWFnZTt0Lm9ubG9hZD1mdW5jdGlvbigpe2EucmVtb3ZlQ2xhc3MoXCJqQm94LWltYWdlLWxvYWRpbmdcIiksYS5jc3Moe2JhY2tncm91bmRJbWFnZTondXJsKFwiJyt0aGlzLmltYWdlc1tvXVtzXS5zcmMrJ1wiKSd9KX0uYmluZCh0aGlzKSx0Lm9uZXJyb3I9ZnVuY3Rpb24oKXthLnJlbW92ZUNsYXNzKFwiakJveC1pbWFnZS1sb2FkaW5nXCIpLGEuYWRkQ2xhc3MoXCJqQm94LWltYWdlLW5vdC1mb3VuZFwiKX0uYmluZCh0aGlzKSx0LnNyYz10aGlzLmltYWdlc1tvXVtzXS5zcmN9LmJpbmQodGhpcykpfS5iaW5kKHRoaXMpO3RoaXMuc2hvd0ltYWdlPWZ1bmN0aW9uKHQpe3ZhciBzLGUsbjtpZihcIm9wZW5cIiE9dClzPXRoaXMuY3VycmVudEltYWdlLmdhbGxlcnksbj0obj10aGlzLmN1cnJlbnRJbWFnZS5pZCsoKyhcInByZXZcIj09dCk/LTE6MSkpPnRoaXMuaW1hZ2VzW3NdLmxlbmd0aC0xPzA6bjwwP3RoaXMuaW1hZ2VzW3NdLmxlbmd0aC0xOm47ZWxzZXtpZih0aGlzLnNvdXJjZSlzPXRoaXMuc291cmNlLmRhdGEoXCJqQm94LWltYWdlLWdhbGxlcnlcIiksbj10aGlzLnNvdXJjZS5kYXRhKFwiakJveC1pbWFnZS1pZFwiKTtlbHNle2lmKCF0aGlzLmF0dGFjaGVkRWxlbWVudHN8fCF0aGlzLmF0dGFjaGVkRWxlbWVudHMubGVuZ3RoKXJldHVybjtzPWkodGhpcy5hdHRhY2hlZEVsZW1lbnRzWzBdKS5kYXRhKFwiakJveC1pbWFnZS1nYWxsZXJ5XCIpLG49aSh0aGlzLmF0dGFjaGVkRWxlbWVudHNbMF0pLmRhdGEoXCJqQm94LWltYWdlLWlkXCIpfXRoaXMuaW1hZ2VzJiZ0aGlzLmltYWdlc1tzXSYmaShcIi5qQm94LWltYWdlLXBvaW50ZXItcHJldiwgLmpCb3gtaW1hZ2UtcG9pbnRlci1uZXh0XCIpLmNzcyh7ZGlzcGxheToxPHRoaXMuaW1hZ2VzW3NdLmxlbmd0aD9cImJsb2NrXCI6XCJub25lXCJ9KX1pKFwiLmpCb3gtaW1hZ2UtXCIrcytcIi1jdXJyZW50XCIpLmxlbmd0aCYmaShcIi5qQm94LWltYWdlLVwiK3MrXCItY3VycmVudFwiKS5yZW1vdmVDbGFzcyhcImpCb3gtaW1hZ2UtXCIrcytcIi1jdXJyZW50XCIpLmFuaW1hdGUoe29wYWNpdHk6MH0sXCJvcGVuXCI9PXQ/MDp0aGlzLm9wdGlvbnMuaW1hZ2VGYWRlKSx0aGlzLmN1cnJlbnRJbWFnZT17Z2FsbGVyeTpzLGlkOm59LGkoXCIjakJveC1pbWFnZS1cIitzK1wiLVwiK24pLmxlbmd0aD9pKFwiI2pCb3gtaW1hZ2UtXCIrcytcIi1cIituKS5hZGRDbGFzcyhcImpCb3gtaW1hZ2UtXCIrcytcIi1jdXJyZW50XCIpLmNzcyh7ekluZGV4OnRoaXMuaW1hZ2VaSW5kZXgrKyxvcGFjaXR5OjB9KS5hbmltYXRlKHtvcGFjaXR5OjF9LFwib3BlblwiPT10PzA6dGhpcy5vcHRpb25zLmltYWdlRmFkZSk6byhzLG4sITAsXCJvcGVuXCI9PT10KSxlPXMsdD1uLGkoXCIuakJveC1pbWFnZS1sYWJlbC5hY3RpdmVcIikucmVtb3ZlQ2xhc3MoXCJhY3RpdmUgZXhwYW5kZWRcIiksaShcIiNqQm94LWltYWdlLWxhYmVsLVwiK2UrXCItXCIrdCkuYWRkQ2xhc3MoXCJhY3RpdmVcIiksdGhpcy5pbWFnZUNvdW50ZXImJih0aGlzLmltYWdlc1tzXSYmMTx0aGlzLmltYWdlc1tzXS5sZW5ndGg/KHRoaXMud3JhcHBlci5hZGRDbGFzcyhcImpCb3gtaW1hZ2UtaGFzLWNvdW50ZXJcIiksdGhpcy5pbWFnZUNvdW50ZXIuZmluZChcIi5qQm94LWltYWdlLWNvdW50ZXItYWxsXCIpLmh0bWwodGhpcy5pbWFnZXNbc10ubGVuZ3RoKSx0aGlzLmltYWdlQ291bnRlci5maW5kKFwiLmpCb3gtaW1hZ2UtY291bnRlci1jdXJyZW50XCIpLmh0bWwobisxKSk6dGhpcy53cmFwcGVyLnJlbW92ZUNsYXNzKFwiakJveC1pbWFnZS1oYXMtY291bnRlclwiKSksdGhpcy5pbWFnZXNbc10mJnRoaXMuaW1hZ2VzW3NdLmxlbmd0aC0xJiYobj0obis9MSk+dGhpcy5pbWFnZXNbc10ubGVuZ3RoLTE/MDpuPDA/dGhpcy5pbWFnZXNbc10ubGVuZ3RoLTE6bixpKFwiI2pCb3gtaW1hZ2UtXCIrcytcIi1cIituKS5sZW5ndGh8fG8ocyxuLCExLCExKSl9LHRoaXMub3B0aW9ucy5wcmVsb2FkRmlyc3RJbWFnZSYmaSh3aW5kb3cpLm9uKFwibG9hZFwiLGZ1bmN0aW9uKCl7dGhpcy5zaG93SW1hZ2UoXCJvcGVuXCIpfS5iaW5kKHRoaXMpKX0sX29uQXR0YWNoOmZ1bmN0aW9uKHQpe3RoaXMuaW5pdEltYWdlJiZ0aGlzLmluaXRJbWFnZSh0KX0sX29uQ3JlYXRlZDpmdW5jdGlvbigpe3RoaXMuaW1hZ2VMYWJlbFdyYXBwZXI9aSgnPGRpdiBjbGFzcz1cImpCb3gtaW1hZ2UtbGFiZWwtd3JhcHBlclwiLz4nKS5hcHBlbmRUbyh0aGlzLndyYXBwZXIpLHRoaXMuaW1hZ2VQcmV2QnV0dG9uPWkoJzxkaXYgY2xhc3M9XCJqQm94LWltYWdlLXBvaW50ZXItcHJldlwiLz4nKS5vbihcImNsaWNrIHRhcFwiLGZ1bmN0aW9uKCl7dGhpcy5zaG93SW1hZ2UoXCJwcmV2XCIpfS5iaW5kKHRoaXMpKSx0aGlzLmltYWdlTmV4dEJ1dHRvbj1pKCc8ZGl2IGNsYXNzPVwiakJveC1pbWFnZS1wb2ludGVyLW5leHRcIi8+Jykub24oXCJjbGljayB0YXBcIixmdW5jdGlvbigpe3RoaXMuc2hvd0ltYWdlKFwibmV4dFwiKX0uYmluZCh0aGlzKSksdGhpcy5pbWFnZUxhYmVsQ29udGFpbmVyPWkoJzxkaXYgY2xhc3M9XCJqQm94LWltYWdlLWxhYmVsLWNvbnRhaW5lclwiLz4nKSx0aGlzLmltYWdlTGFiZWxXcmFwcGVyLmFwcGVuZCh0aGlzLmltYWdlUHJldkJ1dHRvbikuYXBwZW5kKHRoaXMuaW1hZ2VMYWJlbENvbnRhaW5lcikuYXBwZW5kKHRoaXMuaW1hZ2VOZXh0QnV0dG9uKSx0aGlzLm9wdGlvbnMuZG93bmxvYWRCdXR0b24mJih0aGlzLmRvd25sb2FkQnV0dG9uPWkoXCI8ZGl2Lz5cIix7Y2xhc3M6XCJqQm94LWltYWdlLWRvd25sb2FkLWJ1dHRvbi13cmFwcGVyXCJ9KS5hcHBlbmRUbyh0aGlzLndyYXBwZXIpLmFwcGVuZCh0aGlzLm9wdGlvbnMuZG93bmxvYWRCdXR0b25UZXh0P2koXCI8ZGl2Lz5cIix7Y2xhc3M6XCJqQm94LWltYWdlLWRvd25sb2FkLWJ1dHRvbi10ZXh0XCJ9KS5odG1sKHRoaXMub3B0aW9ucy5kb3dubG9hZEJ1dHRvblRleHQpOm51bGwpLmFwcGVuZChpKFwiPGRpdi8+XCIse2NsYXNzOlwiakJveC1pbWFnZS1kb3dubG9hZC1idXR0b24taWNvblwifSkpLm9uKFwiY2xpY2sgdGFwXCIsZnVuY3Rpb24oKXt2YXIgdDt0PXRoaXMuaW1hZ2VzW3RoaXMuY3VycmVudEltYWdlLmdhbGxlcnldW3RoaXMuY3VycmVudEltYWdlLmlkXS5kb3dubG9hZFVybHx8dGhpcy53cmFwcGVyLmZpbmQoXCIuakJveC1pbWFnZS1cIit0aGlzLmN1cnJlbnRJbWFnZS5nYWxsZXJ5K1wiLWN1cnJlbnRcIilbMF0uc3R5bGUuYmFja2dyb3VuZEltYWdlLnNsaWNlKDQsLTEpLnJlcGxhY2UoL1tcIiddL2csXCJcIiksdGhpcy5kb3dubG9hZEltYWdlKHQpfS5iaW5kKHRoaXMpKSksdGhpcy5vcHRpb25zLmltYWdlQ291bnRlciYmKHRoaXMuaW1hZ2VDb3VudGVyPWkoXCI8ZGl2Lz5cIix7Y2xhc3M6XCJqQm94LWltYWdlLWNvdW50ZXItY29udGFpbmVyXCJ9KS5pbnNlcnRBZnRlcih0aGlzLmltYWdlTGFiZWxDb250YWluZXIpLHRoaXMuaW1hZ2VDb3VudGVyLmFwcGVuZChpKFwiPHNwYW4vPlwiLHtjbGFzczpcImpCb3gtaW1hZ2UtY291bnRlci1jdXJyZW50XCJ9KSkuYXBwZW5kKGkoXCI8c3Bhbi8+XCIpLmh0bWwodGhpcy5vcHRpb25zLmltYWdlQ291bnRlclNlcGFyYXRvcikpLmFwcGVuZChpKFwiPHNwYW4vPlwiLHtjbGFzczpcImpCb3gtaW1hZ2UtY291bnRlci1hbGxcIn0pKSl9LF9vbk9wZW46ZnVuY3Rpb24oKXtpKGRvY3VtZW50KS5vbihcImtleXVwLmpCb3gtSW1hZ2UtXCIrdGhpcy5pZCxmdW5jdGlvbih0KXszNz09dC5rZXlDb2RlJiZ0aGlzLnNob3dJbWFnZShcInByZXZcIiksMzk9PXQua2V5Q29kZSYmdGhpcy5zaG93SW1hZ2UoXCJuZXh0XCIpfS5iaW5kKHRoaXMpKSx0aGlzLnNob3dJbWFnZShcIm9wZW5cIil9LF9vbkNsb3NlOmZ1bmN0aW9uKCl7aShkb2N1bWVudCkub2ZmKFwia2V5dXAuakJveC1JbWFnZS1cIit0aGlzLmlkKX0sX29uQ2xvc2VDb21wbGV0ZTpmdW5jdGlvbigpe3RoaXMud3JhcHBlci5maW5kKFwiLmpCb3gtaW1hZ2UtY29udGFpbmVyXCIpLmNzcyhcIm9wYWNpdHlcIiwwKX19KX1mdW5jdGlvbiBqQm94Tm90aWNlV3JhcHBlcih0LGkpe25ldyB0LnBsdWdpbihcIk5vdGljZVwiLHtjb2xvcjpudWxsLHN0YWNrOiEwLHN0YWNrU3BhY2luZzoxMCxhdXRvQ2xvc2U6NmUzLGF0dHJpYnV0ZXM6e3g6XCJyaWdodFwiLHk6XCJ0b3BcIn0scG9zaXRpb246e3g6MTUseToxNX0scmVzcG9uc2l2ZVBvc2l0aW9uczp7NTAwOnt4OjUseTo1fSw3Njg6e3g6MTAseToxMH19LHRhcmdldDp3aW5kb3csZml4ZWQ6ITAsYW5pbWF0aW9uOlwiem9vbUluXCIsY2xvc2VPbkNsaWNrOlwiYm94XCIsekluZGV4OjEyZTMsX29uSW5pdDpmdW5jdGlvbigpe3RoaXMuZGVmYXVsdE5vdGljZVBvc2l0aW9uPWkuZXh0ZW5kKHt9LHRoaXMub3B0aW9ucy5wb3NpdGlvbiksdGhpcy5fYWRqdXN0Tm90aWNlUG9zaXRvbj1mdW5jdGlvbigpe3ZhciB0PWkod2luZG93KSxvPXQud2lkdGgoKTt0LmhlaWdodCgpLHRoaXMub3B0aW9ucy5wb3NpdGlvbj1pLmV4dGVuZCh7fSx0aGlzLmRlZmF1bHROb3RpY2VQb3NpdGlvbiksaS5lYWNoKHRoaXMub3B0aW9ucy5yZXNwb25zaXZlUG9zaXRpb25zLGZ1bmN0aW9uKHQsaSl7aWYobzw9dClyZXR1cm4gdGhpcy5vcHRpb25zLnBvc2l0aW9uPWksITF9LmJpbmQodGhpcykpLHRoaXMub3B0aW9ucy5hZGp1c3REaXN0YW5jZT17dG9wOnRoaXMub3B0aW9ucy5wb3NpdGlvbi55LHJpZ2h0OnRoaXMub3B0aW9ucy5wb3NpdGlvbi54LGJvdHRvbTp0aGlzLm9wdGlvbnMucG9zaXRpb24ueSxsZWZ0OnRoaXMub3B0aW9ucy5wb3NpdGlvbi54fX0sdGhpcy5vcHRpb25zLmNvbnRlbnQgaW5zdGFuY2VvZiBpJiYodGhpcy5vcHRpb25zLmNvbnRlbnQ9dGhpcy5vcHRpb25zLmNvbnRlbnQuY2xvbmUoKS5hdHRyKFwiaWRcIixcIlwiKSksaSh3aW5kb3cpLm9uKFwicmVzaXplLnJlc3BvbnNpdmVqQm94Tm90aWNlLVwiK3RoaXMuaWQsZnVuY3Rpb24odCl7dGhpcy5pc09wZW4mJnRoaXMuX2FkanVzdE5vdGljZVBvc2l0b24oKX0uYmluZCh0aGlzKSksdGhpcy5vcGVuKCl9LF9vbkNyZWF0ZWQ6ZnVuY3Rpb24oKXt0aGlzLndyYXBwZXIuYWRkQ2xhc3MoXCJqQm94LU5vdGljZS1jb2xvciBqQm94LU5vdGljZS1cIisodGhpcy5vcHRpb25zLmNvbG9yfHxcImdyYXlcIikpLHRoaXMud3JhcHBlci5kYXRhKFwiakJveC1Ob3RpY2UtcG9zaXRpb25cIix0aGlzLm9wdGlvbnMuYXR0cmlidXRlcy54K1wiLVwiK3RoaXMub3B0aW9ucy5hdHRyaWJ1dGVzLnkpfSxfb25PcGVuOmZ1bmN0aW9uKCl7dGhpcy5vcHRpb25zLnN0YWNrfHwodGhpcy5fYWRqdXN0Tm90aWNlUG9zaXRvbigpLGkuZWFjaChpKFwiLmpCb3gtTm90aWNlXCIpLGZ1bmN0aW9uKHQsbyl7KG89aShvKSkuYXR0cihcImlkXCIpIT10aGlzLmlkJiZvLmRhdGEoXCJqQm94LU5vdGljZS1wb3NpdGlvblwiKT09dGhpcy5vcHRpb25zLmF0dHJpYnV0ZXMueCtcIi1cIit0aGlzLm9wdGlvbnMuYXR0cmlidXRlcy55JiYodGhpcy5vcHRpb25zLnN0YWNrfHxvLmRhdGEoXCJqQm94XCIpLmNsb3NlKHtpZ25vcmVEZWxheTohMH0pKX0uYmluZCh0aGlzKSkpfSxfb25Qb3NpdGlvbjpmdW5jdGlvbigpe3ZhciB0LG89e307Zm9yKHQgaW4gaS5lYWNoKGkoXCIuakJveC1Ob3RpY2VcIiksZnVuY3Rpb24odCxzKXt2YXIgZT0ocz1pKHMpKS5kYXRhKFwiakJveC1Ob3RpY2UtcG9zaXRpb25cIik7b1tlXXx8KG9bZV09W10pLG9bZV0ucHVzaChzKX0pLG8pe3ZhciBzPXQuc3BsaXQoXCItXCIpWzFdO29bdF0ucmV2ZXJzZSgpO3ZhciBlLG49MDtmb3IoZSBpbiBvW3RdKXt2YXIgYT1pKG9bdF1bZV0pO2EuY3NzKFwibWFyZ2luLVwiK3Msbiksbis9YS5vdXRlckhlaWdodCgpK3RoaXMub3B0aW9ucy5zdGFja1NwYWNpbmd9fX0sX29uQ2xvc2VDb21wbGV0ZTpmdW5jdGlvbigpe3RoaXMuZGVzdHJveSgpLHRoaXMub3B0aW9ucy5fb25Qb3NpdGlvbi5iaW5kKHRoaXMpLmNhbGwoKX19KX0hZnVuY3Rpb24odCxpKXtcImZ1bmN0aW9uXCI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKFtcImpxdWVyeVwiXSxmdW5jdGlvbihvKXtyZXR1cm4gdC5qQm94PWkobyl9KTpcIm9iamVjdFwiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUuZXhwb3J0cz9tb2R1bGUuZXhwb3J0cz10LmpCb3g9aShyZXF1aXJlKFwianF1ZXJ5XCIpKTp0LmpCb3g9aSh0LmpRdWVyeSl9KHRoaXMsZnVuY3Rpb24odCl7dmFyIGk9akJveFdyYXBwZXIodCk7dHJ5e3ZvaWQgMCE9PWpCb3hDb25maXJtV3JhcHBlciYmakJveENvbmZpcm1XcmFwcGVyJiZqQm94Q29uZmlybVdyYXBwZXIoaSx0KX1jYXRjaCh0KXtjb25zb2xlLmVycm9yKHQpfXRyeXt2b2lkIDAhPT1qQm94SW1hZ2VXcmFwcGVyJiZqQm94SW1hZ2VXcmFwcGVyJiZqQm94SW1hZ2VXcmFwcGVyKGksdCl9Y2F0Y2godCl7Y29uc29sZS5lcnJvcih0KX10cnl7dm9pZCAwIT09akJveE5vdGljZVdyYXBwZXImJmpCb3hOb3RpY2VXcmFwcGVyJiZqQm94Tm90aWNlV3JhcHBlcihpLHQpfWNhdGNoKHQpe2NvbnNvbGUuZXJyb3IodCl9cmV0dXJuIGl9KTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltcENiM2d1WVd4c0xtMXBiaTVxY3lKZExDSnVZVzFsY3lJNld5SnFRbTk0VjNKaGNIQmxjaUlzSW1JaUxDSm9JaXdpZENJc0lta2lMQ0owYUdseklpd2liM0IwYVc5dWN5SXNJbWxrSWl3aWQybGtkR2dpTENKb1pXbG5hSFFpTENKdGFXNVhhV1IwYUNJc0ltMXBia2hsYVdkb2RDSXNJbTFoZUZkcFpIUm9JaXdpYldGNFNHVnBaMmgwSWl3aWNtVnpjRzl1YzJsMlpWZHBaSFJvSWl3aWNtVnpjRzl1YzJsMlpVaGxhV2RvZENJc0luSmxjM0J2Ym5OcGRtVk5hVzVYYVdSMGFDSXNJbkpsYzNCdmJuTnBkbVZOYVc1SVpXbG5hSFFpTENKaGRIUmhZMmdpTENKMGNtbG5aMlZ5SWl3aWNISmxkbVZ1ZEVSbFptRjFiSFFpTENKamIyNTBaVzUwSWl3aVoyVjBRMjl1ZEdWdWRDSXNJblJwZEd4bElpd2laMlYwVkdsMGJHVWlMQ0ptYjI5MFpYSWlMQ0pwYzI5c1lYUmxVMk55YjJ4c0lpd2lZV3BoZUNJc0luVnliQ0lzSW1SaGRHRWlMQ0p5Wld4dllXUWlMQ0puWlhSVlVrd2lMQ0puWlhSRVlYUmhJaXdpYzJWMFEyOXVkR1Z1ZENJc0lteHZZV1JwYm1kRGJHRnpjeUlzSW5Od2FXNXVaWElpTENKemNHbHVibVZ5UkdWc1lYa2lMQ0p6Y0dsdWJtVnlVbVZ3YjNOcGRHbHZiaUlzSW1OaGJtTmxiRUZxWVhoUGJrTnNiM05sSWl3aWRHRnlaMlYwSWl3aWNHOXphWFJwYjI0aUxDSjRJaXdpZVNJc0ltOTFkSE5wWkdVaUxDSnZabVp6WlhRaUxDSmhkSFJ5YVdKMWRHVnpJaXdpWm1sNFpXUWlMQ0poWkdwMWMzUlFiM05wZEdsdmJpSXNJbUZrYW5WemRGUnlZV05yWlhJaUxDSmhaR3AxYzNSRWFYTjBZVzVqWlNJc0luSmxjRzl6YVhScGIyNGlMQ0p5WlhCdmMybDBhVzl1VDI1UGNHVnVJaXdpY21Wd2IzTnBkR2x2Yms5dVEyOXVkR1Z1ZENJc0ltaHZiR1JRYjNOcGRHbHZiaUlzSW5CdmFXNTBaWElpTENKd2IybHVkRlJ2SWl3aVptRmtaU0lzSW1GdWFXMWhkR2x2YmlJc0luUm9aVzFsSWl3aVlXUmtRMnhoYzNNaUxDSnZkbVZ5YkdGNUlpd2liM1psY214aGVVTnNZWE56SWl3aWVrbHVaR1Y0SWl3aVpHVnNZWGxQY0dWdUlpd2laR1ZzWVhsRGJHOXpaU0lzSW1Oc2IzTmxUMjVGYzJNaUxDSmpiRzl6WlU5dVEyeHBZMnNpTENKamJHOXpaVTl1VFc5MWMyVnNaV0YyWlNJc0ltTnNiM05sUW5WMGRHOXVJaXdpWVhCd1pXNWtWRzhpTENKamNtVmhkR1ZQYmtsdWFYUWlMQ0ppYkc5amExTmpjbTlzYkNJc0ltSnNiMk5yVTJOeWIyeHNRV1JxZFhOMElpd2laSEpoWjJkaFlteGxJaXdpWkhKaFowOTJaWElpTENKaGRYUnZRMnh2YzJVaUxDSmtaV3hoZVU5dVNHOTJaWElpTENKemFHOTNRMjkxYm5Sa2IzZHVJaXdpY0hKbGJHOWhaRUYxWkdsdklpd2lZWFZrYVc4aUxDSjJiMngxYldVaUxDSnZia2x1YVhRaUxDSnZia0YwZEdGamFDSXNJbTl1VUc5emFYUnBiMjRpTENKdmJrTnlaV0YwWldRaUxDSnZiazl3Wlc0aUxDSnZia05zYjNObElpd2liMjVEYkc5elpVTnZiWEJzWlhSbElpd2liMjVFY21GblUzUmhjblFpTENKdmJrUnlZV2RGYm1RaUxDSmZjR3gxWjJsdVQzQjBhVzl1Y3lJc0lsUnZiMngwYVhBaUxDSk5iM1Z6WlNJc0lrMXZaR0ZzSWl3aWQybHVaRzkzSWl3aVpYaDBaVzVrSWl3aWRIbHdaU0lzSW1selZHOTFZMmhFWlhacFkyVWlMQ0p6Y0d4cGRDSXNJa1J2WTNWdFpXNTBWRzkxWTJnaUxDSmtiMk4xYldWdWRDSXNJbXB2YVc0aUxDSnRZWFJqYUUxbFpHbGhJaXdpYldGMFkyaGxjeUlzSWw5bWFYSmxSWFpsYm5RaUxDSmlhVzVrSWl3aVgyZGxkRlZ1YVhGMVpVbEVJaXdpZEc5d0lpd2ljbWxuYUhRaUxDSmliM1IwYjIwaUxDSnNaV1owSWl3aVlXeHBaMjRpTENKNlNXNWtaWGhOWVhnaUxDSk5ZWFJvSWl3aWJXRjRJaXdpWVdScWRYTjBXa2x1WkdWNFQyNVBjR1Z1SWl3aWRISjFaVTF2WkdGc0lpd2lYMmRsZEU5d2NDSXNJbDluWlhSWVdTSXNJbU5sYm5SbGNpSXNJbDluWlhSVVRDSXNJbDluWlhSSmJuUWlMQ0p6YkdsalpTSXNJbkJoY25ObFNXNTBJaXdpY21Wd2JHRmpaU0lzSWw5amNtVmhkR1ZUVmtjaUxDSnZJaXdpWTNKbFlYUmxSV3hsYldWdWRFNVRJaXdpWldGamFDSXNJbk5sZEVGMGRISnBZblYwWlNJc0lsOXBjMjlzWVhSbFUyTnliMnhzSWl3aVpTSXNJbXhsYm1kMGFDSXNJbTl1SWl3aWQyaGxaV3hFWld4MFlTSXNJbTl5YVdkcGJtRnNSWFpsYm5RaUxDSmtaWFJoYVd3aUxDSnpZM0p2Ykd4VWIzQWlMQ0p2ZFhSbGNraGxhV2RvZENJc0luTmpjbTlzYkVobGFXZG9kQ0lzSW5NaUxDSmZjMlYwVkdsMGJHVlhhV1IwYUNJc0luUnBkR3hsUTI5dWRHRnBibVZ5SWl3aWMzUjViR1VpTENKM2NtRndjR1Z5SWl3aVkzTnpJaXdpYjNWMFpYSlhhV1IwYUNJc0lsOWtjbUZuWjJGaWJHVWlMQ0p1SWl3aVlTSXNJbUoxZEhSdmJpSXNJbWhoYzBOc1lYTnpJaXdpY0dGeVpXNTBjeUlzSW1Oc2IzTmxJaXdpYVdkdWIzSmxSR1ZzWVhraUxDSjBiM1ZqYUdWeklpd2ljR0ZuWlZnaUxDSndZV2RsV1NJc0ltUnlZV2RuYVc1blUzUmhjblJZSWl3aVpISmhaMmRwYm1kVGRHRnlkRmtpTENKNlNXNWtaWGhOWVhoRWNtRm5iM1psY2lJc0ltUnlZV2RuYVc1bklpd2liMlptSWl3aWMyTnliMnhzVEdWbWRDSXNJbDlqY21WaGRHVWlMQ0pqYkdGemN5SXNJbVJwYzNCc1lYa2lMQ0p2Y0dGamFYUjVJaXdpYzI5MWNtTmxJaXdpY21Wc1lYUmxaRlJoY21kbGRDSXNJbWx1UVhKeVlYa2lMQ0pqYjI1MFlXbHVaWElpTENKaGNIQmxibVFpTENKaGNIQmxibVJEYUdsc1pDSXNJbVpwYm1RaUxDSjRlU0lzSW1Wc1pXMWxiblFpTENKa2FXMWxibk5wYjI1eklpd2lZV3hwWjI1QmRIUnlhV0oxZEdVaUxDSnRZWEpuYVc0aUxDSnpaWFJVYVhSc1pTSXNJbDloZEhSaFkyaEZkbVZ1ZEhNaUxDSnBjMGh2ZG1WeVpXUWlMQ0p0YjNWelpWUmhjbWRsZENJc0lsOWtaWFJoWTJoRmRtVnVkSE1pTENKZmMyaHZkMDkyWlhKc1lYa2lMQ0p6ZEc5d0lpd2lZVzVwYldGMFpTSXNJbkYxWlhWbElpd2laSFZ5WVhScGIyNGlMQ0p6ZEdGeWRDSXNJbDlvYVdSbFQzWmxjbXhoZVNJc0ltTnZiWEJzWlhSbElpd2lYMlY0Y0c5elpVUnBiV1Z1YzJsdmJuTWlMQ0pmWjJWdVpYSmhkR1ZCYm1sdFlYUnBiMjVEVTFNaUxDSndkV3h6WlNJc0ltOXdaVzRpTENKNmIyOXRTVzRpTENKNmIyOXRUM1YwSWl3aWJXOTJaU0lzSW5Oc2FXUmxJaXdpWm14cGNDSXNJblJoWkdFaUxDSnZjR1Z1UkdseVpXTjBhVzl1SWl3aVkyeHZjMlZFYVhKbFkzUnBiMjRpTENKNmIyOXRTVzVQY0dWdUlpd2llbTl2YlVsdVEyeHZjMlVpTENKNmIyOXRUM1YwVDNCbGJpSXNJbnB2YjIxUGRYUkRiRzl6WlNJc0ltMXZkbVZQY0dWdUlpd2ljRzl6YVhScGIyNXpJaXdpTUNVaUxDSnRiM1psUTJ4dmMyVWlMQ0owYVcxcGJtY2lMQ0l4TURBbElpd2ljMnhwWkdWUGNHVnVJaXdpYzJ4cFpHVkRiRzl6WlNJc0ltWnNhWEJQY0dWdUlpd2labXhwY0VOc2IzTmxJaXdpZEc5VmNIQmxja05oYzJVaUxDSmZZVzVwYldGMGFXOXVRMU5USWl3aVgySnNiMk5yUW05a2VVTnNhV05ySWl3aVlteHZZMnRDYjJSNVEyeHBZMnNpTENKelpYUlVhVzFsYjNWMElpd2lYMkZ1YVcxaGRHVWlMQ0pwYzA5d1pXNGlMQ0ptYkdsd2NHVmtJaXdpY0dGeWMyVkdiRzloZENJc0ltMXBiaUlzSW5KbGJXOTJaVU5zWVhOeklpd2lYMkZpYjNKMFFXNXBiV0YwYVc5dUlpd2lZWFIwY2lJc0ltWnBiSFJsY2lJc0lteGhjM1JKYm1SbGVFOW1JaXdpY0hWemFDSXNJa0YxWkdsdklpd2ljM0pqSWl3aWNISmxiRzloWkNJc0luQnliM1J2ZEhsd1pTSXNJbkpsYlc5MlpVRjBkSElpTENKaGRIUmhZMmhsWkVWc1pXMWxiblJ6SWl3aWRHbHRaWElpTENKamJHVmhjbFJwYldWdmRYUWlMQ0prWlhSaFkyZ2lMQ0puY21Wd0lpd2lhVzV6WlhKMFFtVm1iM0psSWl3aWFIUnRiQ0lzSW1Ob2FXeGtjbVZ1SWl3aVkyOXVjM1J5ZFdOMGIzSWlMQ0pxY1hWbGNua2lMQ0pLVTA5T0lpd2ljM1J5YVc1bmFXWjVJaXdpYzJWMFJHbHRaVzV6YVc5dWN5SXNJbk5sZEZkcFpIUm9JaXdpYzJWMFNHVnBaMmgwSWl3aWNpSXNJbVlpTENKd0lpd2liQ0lzSW1ObGFXd2lMQ0p3YjNOcGRHbHZia0ZrYW5WemRHVmtJaXdpWkNJc0ltTWlMQ0oxSWl3aVp5SXNJbTBpTENKcUlpd2lkVzV6WTNKdmJHd2lMQ0p6WlhRaUxDSjFibk5qY205c2JGTjBiM0psSWl3aVoyVjBJaXdpWjJWMFUyTnliMnhzWW1GeVYybGtkR2dpTENKamNtVmhkR1ZGYkdWdFpXNTBJaXdpYjNabGNtWnNiM2NpTENKaWIyUjVJaXdpYjJabWMyVjBWMmxrZEdnaUxDSmpiR2xsYm5SWGFXUjBhQ0lzSW5KbGJXOTJaVU5vYVd4a0lpd2laMlYwUld4bGJXVnVkSE5VYjBGa2FuVnpkQ0lzSW1admNrVmhZMmdpTENKcGJtUmxlRTltSWl3aWNHRm5aVWhoYzFOamNtOXNiR0poY2lJc0ltOW1abk5sZEVobGFXZG9kQ0lzSW1sdWJtVnlTR1ZwWjJoMElpd2ljWFZsY25sVFpXeGxZM1J2Y2tGc2JDSXNJbWRsZEVGMGRISnBZblYwWlNJc0ltZGxkRU52YlhCMWRHVmtVM1I1YkdVaUxDSm5aWFJRY205d1pYSjBlVlpoYkhWbElpd2laMlYwUld4bGJXVnVkRUo1U1dRaUxDSm9aV0ZrSWl3aVoyVjBSV3hsYldWdWRITkNlVlJoWjA1aGJXVWlMQ0pqY21WaGRHVlVaWGgwVG05a1pTSXNJbU5zWVhOelRHbHpkQ0lzSW1Ga1pDSXNJbkpsYzJWMElpd2ljbVZ0YjNabFFYUjBjbWxpZFhSbElpd2ljbVZ0YjNabElpd2lhWE5FWlhOMGNtOTVaV1FpTENKZmMzUjViR1Z6SWl3aWFYTkVhWE5oWW14bFpDSXNJbXRsZVVOdlpHVWlMQ0pvWVhNaUxDSmhhbUY0VEc5aFpHVmtJaXdpY0c5emFYUnBiMjVsWkU5dVQzQmxiaUlzSW1selEyeHZjMmx1WnlJc0ltSnNiMk5yVTJOeWIyeHNVMk52Y0dWeklpd2lRWEp5WVhraUxDSnBjMEZ5Y21GNUlpd2lhWE5QY0dWdWFXNW5JaXdpWVd4M1lYbHpJaXdpY0c5emFYUnBiMjVQYmtaaFpHVkRiMjF3YkdWMFpTSXNJbU5oYm1ObGJFRnFZWGdpTENKRVlYUmxJaXdpYm05M0lpd2lhVzV1WlhJaUxDSndjbVZ3Wlc1a0lpd2lZMjkxYm5Sa2IzZHVJaXdpY21WeGRXVnpkRUZ1YVcxaGRHbHZia1p5WVcxbElpd2lkRzluWjJ4bElpd2laR2x6WVdKc1pTSXNJbVZ1WVdKc1pTSXNJbWhwWkdVaUxDSmpZV05vWlZkeVlYQndaWEpFYVhOd2JHRjVJaXdpWTJGamFHVlBkbVZ5YkdGNVJHbHpjR3hoZVNJc0luTm9iM2NpTENKaVpXWnZjbVZUWlc1a0lpd2ljM1ZqWTJWemN5SXNJbVZ5Y205eUlpd2lkSEpoYm5ObWIzSnRJaXdpWVdwaGVGSmxjWFZsYzNRaUxDSmhZbTl5ZENJc0lsOWhkV1JwYnlJc0luQmhkWE5sSWl3aVkzVnljbVZ1ZEZScGJXVWlMQ0p3YkdGNUlpd2lYMkZ1YVcxaGRHbHZibE53WldWa2N5SXNJblJoWkdGVGJXRnNiQ0lzSW1ac1lYTm9JaXdpYzJoaGEyVWlMQ0p3ZFd4elpWVndJaXdpY0hWc2MyVkViM2R1SWl3aWNHOXdTVzRpTENKd2IzQlBkWFFpTENKbVlXUmxTVzRpTENKbVlXUmxUM1YwSWl3aWMyeHBaR1ZWY0NJc0luTnNhV1JsVW1sbmFIUWlMQ0p6Ykdsa1pVeGxablFpTENKemJHbGtaVVJ2ZDI0aUxDSmhibWx0WVhScGIyNVVhVzFsYjNWMElpd2lYMmRsZEZWdWFYRjFaVVZzWlcxbGJuUkpSQ0lzSW5OM2FYQmxSR1YwWldOMGIzSWlMQ0p6ZDJsd1pWUm9jbVZ6YUc5c1pDSXNJblZ6WlU5dWJIbFViM1ZqYUNJc0ltTnNhV1Z1ZEZnaUxDSmpiR2xsYm5SWklpd2lZV0p6SWl3aVJYWmxiblFpTENKa1pYTjBjbTk1SWl3aWNHeDFaMmx1SWl3aVptNGlMQ0pxUW05NElpd2lha0p2ZUVOdmJtWnBjbTFYY21Gd2NHVnlJaXdpYWxGMVpYSjVJaXdpWTI5dVptbHliVUoxZEhSdmJpSXNJbU5oYm1ObGJFSjFkSFJ2YmlJc0ltTnZibVpwY20waUxDSmpZVzVqWld3aUxDSmpiRzl6WlU5dVEyOXVabWx5YlNJc0lsOXZia0YwZEdGamFDSXNJbkJ5YjNBaUxDSmZiMjVEY21WaGRHVmtJaXdpYzNWaWJXbDBRblYwZEc5dUlpd2lYMjl1VDNCbGJpSXNJbVYyWVd3aUxDSnFRbTk0U1cxaFoyVlhjbUZ3Y0dWeUlpd2laMkZzYkdWeWVTSXNJbWx0WVdkbFRHRmlaV3dpTENKcGJXRm5aVVpoWkdVaUxDSnBiV0ZuWlZOcGVtVWlMQ0pwYldGblpVTnZkVzUwWlhJaUxDSnBiV0ZuWlVOdmRXNTBaWEpUWlhCaGNtRjBiM0lpTENKa2IzZHViRzloWkVKMWRIUnZiaUlzSW1SdmQyNXNiMkZrUW5WMGRHOXVWR1Y0ZENJc0ltUnZkMjVzYjJGa1FuVjBkRzl1VlhKc0lpd2liVzlpYVd4bFNXMWhaMlZCZEhSeUlpd2liVzlpYVd4bFNXMWhaMlZDY21WaGEzQnZhVzUwSWl3aWNISmxiRzloWkVacGNuTjBTVzFoWjJVaUxDSmZiMjVKYm1sMElpd2lhVzFoWjJWeklpd2lZM1Z5Y21WdWRFbHRZV2RsSWl3aWFXMWhaMlZhU1c1a1pYZ2lMQ0pwYm1sMFNXMWhaMlVpTENKc1lXSmxiQ0lzSW1SdmQyNXNiMkZrVlhKc0lpd2lZbUZqYTJkeWIzVnVaRk5wZW1VaUxDSnphRzkzU1cxaFoyVWlMQ0owYjJkbmJHVkRiR0Z6Y3lJc0ltbHRZV2RsVEdGaVpXeERiMjUwWVdsdVpYSWlMQ0prYjNkdWJHOWhaRWx0WVdkbElpd2lhSEpsWmlJc0luTjFZbk4wY21sdVp5SXNJbU5zYVdOcklpd2lTVzFoWjJVaUxDSnZibXh2WVdRaUxDSmlZV05yWjNKdmRXNWtTVzFoWjJVaUxDSnZibVZ5Y205eUlpd2lhVzFoWjJWTVlXSmxiRmR5WVhCd1pYSWlMQ0pwYldGblpWQnlaWFpDZFhSMGIyNGlMQ0pwYldGblpVNWxlSFJDZFhSMGIyNGlMQ0pwYm5ObGNuUkJablJsY2lJc0lsOXZia05zYjNObElpd2lYMjl1UTJ4dmMyVkRiMjF3YkdWMFpTSXNJbXBDYjNoT2IzUnBZMlZYY21Gd2NHVnlJaXdpWTI5c2IzSWlMQ0p6ZEdGamF5SXNJbk4wWVdOclUzQmhZMmx1WnlJc0luSmxjM0J2Ym5OcGRtVlFiM05wZEdsdmJuTWlMQ0kxTURBaUxDSTNOamdpTENKa1pXWmhkV3gwVG05MGFXTmxVRzl6YVhScGIyNGlMQ0pmWVdScWRYTjBUbTkwYVdObFVHOXphWFJ2YmlJc0ltTnNiMjVsSWl3aVgyOXVVRzl6YVhScGIyNGlMQ0p5WlhabGNuTmxJaXdpWTJGc2JDSXNJbVJsWm1sdVpTSXNJbUZ0WkNJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSnlaWEYxYVhKbElpd2lZMjl1YzI5c1pTSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNVMEZCVTBFc1dVRkJXVU1zUjBGQlJ5eFRRVUZUUXl4RlFVRkZReXhGUVVGRlF5eEhRVUZITEU5QlFVOURMRXRCUVV0RExGRkJRVkVzUTBGQlEwTXNSMEZCUnl4TFFVRkxReXhOUVVGTkxFOUJRVTlETEU5QlFVOHNUMEZCVDBNc1UwRkJVeXhMUVVGTFF5eFZRVUZWTEV0QlFVdERMRk5CUVZNc1MwRkJTME1zVlVGQlZTeExRVUZMUXl4cFFrRkJaMElzUlVGQlIwTXNhMEpCUVdsQ0xFVkJRVWRETEcxQ1FVRnRRaXhKUVVGSlF5eHZRa0ZCYjBJc1NVRkJTVU1zVDBGQlR5eExRVUZMUXl4UlFVRlJMRkZCUVZGRExHZENRVUZsTEVWQlFVZERMRkZCUVZFc1MwRkJTME1zVjBGQlZ5eExRVUZMUXl4TlFVRk5MRXRCUVV0RExGTkJRVk1zUzBGQlMwTXNUMEZCVHl4TFFVRkxReXhsUVVGakxFVkJRVWRETEV0QlFVc3NRMEZCUTBNc1NVRkJTU3hMUVVGTFF5eExRVUZMTEVkQlFVZERMRkZCUVU4c1JVRkJSME1zVDBGQlR5eFhRVUZYUXl4UlFVRlJMRmxCUVZsRExGbEJRVmNzUlVGQlIwTXNZMEZCWVN4RlFVRkhReXhUUVVGUkxFVkJRVWRETEdGQlFXRXNTVUZCU1VNc2JVSkJRV3RDTEVkQlFVbERMRzFDUVVGclFpeEZRVUZIUXl4UFFVRlBMRXRCUVV0RExGTkJRVk1zUTBGQlEwTXNSVUZCUlN4VFFVRlRReXhGUVVGRkxGVkJRVlZETEZGQlFWRXNTMEZCUzBNc1QwRkJUeXhGUVVGRlF5eFhRVUZYTEVOQlFVTktMRVZCUVVVc1QwRkJUME1zUlVGQlJTeFBRVUZQU1N4UFFVRk5MRVZCUVVkRExHZENRVUZsTEVWQlFVZERMR1ZCUVdNc1JVRkJSME1zWlVGQlpTeEZRVUZGUXl4WlFVRlhMRVZCUVVkRExHdENRVUZwUWl4RlFVRkhReXh4UWtGQmIwSXNSVUZCUjBNc1kwRkJZU3hGUVVGSFF5eFRRVUZSTEVWQlFVZERMRkZCUVZFc1UwRkJVME1zUzBGQlN5eEpRVUZKUXl4VlFVRlZMRXRCUVV0RExFMUJRVTBzVlVGQlZVTXNVMEZCVXl4TFFVRkxReXhUUVVGUkxFVkJRVWRETEdGQlFXRXNTMEZCUzBNc1QwRkJUeXhKUVVGSlF5eFZRVUZWTEVWQlFVVkRMRmRCUVZjc1JVRkJSVU1zV1VGQlZ5eEZRVUZIUXl4alFVRmhMRVZCUVVkRExHMUNRVUZyUWl4RlFVRkhReXhoUVVGWkxFVkJRVWRETEZOQlFWTndSU3hGUVVGRkxGRkJRVkZ4UlN4alFVRmhMRVZCUVVkRExHRkJRVmtzUlVGQlIwTXNiVUpCUVd0Q0xFVkJRVWRETEZkQlFWVXNSVUZCUjBNc1ZVRkJVeXhGUVVGSFF5eFhRVUZWTEVWQlFVZERMR05CUVdFc1JVRkJSME1zWlVGQll5eEZRVUZIUXl4alFVRmhMRVZCUVVkRExFMUJRVTBzUzBGQlMwTXNUMEZCVHl4SlFVRkpReXhQUVVGUExFdEJRVXRETEZOQlFWTXNTMEZCUzBNc1YwRkJWeXhMUVVGTFF5eFZRVUZWTEV0QlFVdERMRTlCUVU4c1MwRkJTME1zVVVGQlVTeExRVUZMUXl4blFrRkJaMElzUzBGQlMwTXNXVUZCV1N4TFFVRkxReXhWUVVGVkxFMUJRVTF3Uml4TFFVRkxjVVlzWlVGQlpTeERRVUZEUXl4UlFVRlJMRU5CUVVOeVJTeFhRVUZYTEZGQlFWRklMRkZCUVZFc1lVRkJZWEZDTEZOQlFWTXNRMEZCUTBNc1JVRkJSU3hUUVVGVFF5eEZRVUZGTEU5QlFVOURMRkZCUVZFc1NVRkJTVmNzVTBGQlVTeEhRVUZKYzBNc1RVRkJUU3hEUVVGRE9VVXNhVUpCUVdkQ0xFVkJRVWRETEd0Q1FVRnBRaXhGUVVGSFowTXNaVUZCWlN4UFFVRlBVaXhQUVVGUExGRkJRVkZ3UWl4UlFVRlJMR0ZCUVdGeFFpeFRRVUZUTEVOQlFVTkRMRVZCUVVVc1VVRkJVVU1zUlVGQlJTeFZRVUZWUXl4UlFVRlJMRXRCUVV0RExFOUJRVThzUjBGQlIybEVMRTFCUVUwc1EwRkJRM1JFTEU5QlFVOTBReXhGUVVGRk5rWXNVVUZCVVdoRUxFOUJRVTBzUlVGQlIzbENMR0ZCUVZrc1JVRkJSMDRzV1VGQlZ5eEZRVUZIUXl4aFFVRmhMRlZCUVZWRkxHRkJRVmtzUlVGQlIxSXNVMEZCVVN4RlFVRkhTQ3hWUVVGVkxGZEJRVmR3UkN4TFFVRkxReXhSUVVGUlRDeEZRVUZGT0VZc1VVRkJUeXhGUVVGSE1VWXNTMEZCUzBNc1VVRkJVVVFzUzBGQlMzRkdMR1ZCUVdWMlJpeEpRVUZKUkN4RlFVRkZkMFlzWlVGQlpYWkdMRWRCUVVkRExFZEJRVWNzVlVGQlZVZ3NSVUZCUlN0R0xFdEJRVXMzUml4TFFVRkxSU3hMUVVGTE1rWXNTMEZCU3pkR0xFZEJRVWRGTEV0QlFVczBSaXhqUVVGakxGZEJRVmNzU1VGQk9FazNSaXhGUVVFeFNVUXNSVUZCUlN3MFFrRkJORUlyUml4TlFVRk5MRXRCUVVzc1UwRkJSeXhwUWtGQmFVSktMRkZCUVZGQkxFOUJRVTlMTEdWQlFXVkRMRzlDUVVGdlFrUXNhVUpCUVRaR0wwWXNSVUZCYUVWRUxFVkJRVVVzUTBGQlF5eEpRVUZKUVN4RlFVRkZhMGNzUzBGQlN5eHZRa0ZCYjBJc1UwRkJVeXhMUVVGTFFTeExRVUZMTEVsQlFXVlFMRTlCUVU5UkxGZEJRVmRzUnl4SFFVRkhiVWNzVTBGQmNGQXNSMEZCSzFCc1J5eExRVUZMTkVZc1pVRkJaU3hsUVVGbE5VWXNTMEZCUzBNc1VVRkJVV0VzVlVGQlV5eEpRVUZMWkN4TFFVRkxReXhSUVVGUk5FUXNaVUZCWlRkRUxFdEJRVXRETEZGQlFWRTBSQ3hoUVVGaExGRkJRVkUzUkN4TFFVRkxiVWNzVjBGQlZ5eFRRVUZUY2tjc1JVRkJSVU1zUjBGQlIwTXNTMEZCUzBNc1VVRkJVU3hKUVVGSlNDeEpRVUZKUlN4TFFVRkxReXhSUVVGUkxFbEJRVWxJTEVkQlFVZHpSeXhMUVVGTGNFY3NTMEZCZWtKQkxFTkJRU3RDUkN4SFFVRkhReXhMUVVGTFF5eFJRVUZSU0N4SlFVRkpSU3hMUVVGTFF5eFJRVUZSU0N4SFFVRkhjMGNzUzBGQlMzQkhMRXRCUVhKQ1FTeERRVUV5UWtRc1NVRkJTU3hQUVVGUFF5eExRVUZMUXl4UlFVRlJReXhMUVVGTFJpeExRVUZMUXl4UlFVRlJReXhIUVVGSExFOUJRVTlNTEVWQlFVVjNSeXhuUWtGQlowSnlSeXhMUVVGTFJTeEhRVUZIUml4TFFVRkxReXhSUVVGUlF5eEpRVUZKTEZWQlFWVkdMRXRCUVV0RExGRkJRVkZyUXl4VFFVRlRReXhIUVVGSExFdEJRVXR3UXl4TFFVRkxReXhSUVVGUmNVTXNVMEZCVXl4VlFVRlZkRU1zUzBGQlMwTXNVVUZCVVd0RExGTkJRVk5GTEVkQlFVY3NTMEZCUzNKRExFdEJRVXRETEZGQlFWRnhReXhYUVVGWGRFTXNTMEZCUzBNc1VVRkJVWEZETEZGQlFWRXNUVUZCVFN4VlFVRlZkRU1zUzBGQlMwTXNVVUZCVVdsRUxGTkJRVk5zUkN4TFFVRkxReXhSUVVGUmNVTXNVMEZCVXl4TlFVRk5kRU1zUzBGQlMwTXNVVUZCVVhGRExGVkJRVlYwUXl4TFFVRkxReXhSUVVGUlowUXNVMEZCVVN4SFFVRkpMRlZCUVZWeVJDeEZRVUZGSzBZc1MwRkJTek5HTEV0QlFVdERMRkZCUVZGelF5eFJRVUZSZGtNc1MwRkJTME1zVVVGQlVYTkRMRTlCUVU4c1EwRkJRMGdzUlVGQlJYQkRMRXRCUVV0RExGRkJRVkZ6UXl4UFFVRlBSaXhGUVVGRmNrTXNTMEZCUzBNc1VVRkJVWE5ETEZGQlFWRjJReXhMUVVGTFF5eFJRVUZSYzBNc1QwRkJUek5ETEVWQlFVVTRSaXhQUVVGUExFTkJRVU4wUkN4RlFVRkZMRVZCUVVWRExFVkJRVVVzUjBGQlIzSkRMRXRCUVV0RExGRkJRVkZ6UXl4UlFVRlJMRlZCUVZVelF5eEZRVUZGSzBZc1MwRkJTek5HTEV0QlFVdERMRkZCUVZFeVF5eG5Ra0ZCWjBJMVF5eExRVUZMUXl4UlFVRlJNa01zWlVGQlpTeERRVUZETUVRc1NVRkJTWFJITEV0QlFVdERMRkZCUVZFeVF5eGxRVUZsTWtRc1RVRkJUWFpITEV0QlFVdERMRkZCUVZFeVF5eGxRVUZsTkVRc1QwRkJUM2hITEV0QlFVdERMRkZCUVZFeVF5eGxRVUZsTmtRc1MwRkJTM3BITEV0QlFVdERMRkZCUVZFeVF5eG5Ra0ZCWjBJMVF5eExRVUZMUXl4UlFVRlJNa01zWlVGQlpXaEVMRVZCUVVVNFJpeFBRVUZQTEVOQlFVTlpMRWxCUVVrc1JVRkJSVWNzUzBGQlN5eEZRVUZGUml4TlFVRk5MRVZCUVVWRExFOUJRVThzUjBGQlIzaEhMRXRCUVV0RExGRkJRVkV5UXl4blFrRkJaMEkxUXl4TFFVRkxjME1zVjBGQlYzUkRMRXRCUVV0RExGRkJRVkZ4UXl4VFFVRlRMRTFCUVUxMFF5eExRVUZMUXl4UlFVRlJjVU1zVlVGQlZYUkRMRXRCUVV0RExGRkJRVkZyUXl4VFFVRlRia01zUzBGQlMwTXNVVUZCVVhGRExGTkJRVk4wUXl4TFFVRkxNRWNzVFVGQlRURkhMRXRCUVV0elF5eFZRVUZWTEZWQlFWVjBReXhMUVVGTFF5eFJRVUZSYTBNc1UwRkJVMFVzUjBGQlJ5eFZRVUZWZWtNc1JVRkJSU3RHTEV0QlFVc3pSaXhMUVVGTFF5eFJRVUZSYTBNc1UwRkJVMFVzUjBGQlIzSkRMRXRCUVV0RExGRkJRVkZyUXl4VFFVRlRReXhGUVVGRkxGVkJRVlZ3UXl4TFFVRkxReXhSUVVGUmEwTXNVMEZCVTBNc1IwRkJSeXhWUVVGVmVFTXNSVUZCUlN0R0xFdEJRVXN6Uml4TFFVRkxReXhSUVVGUmEwTXNVMEZCVTBNc1IwRkJSM0JETEV0QlFVdERMRkZCUVZGclF5eFRRVUZUUlN4RlFVRkZja01zUzBGQlMwTXNVVUZCVVhWRExGZEJRVmRLTEVkQlFVZDJReXhGUVVGRk9FY3NWVUZCVlVNc1MwRkJTME1zU1VGQlNXaElMRVZCUVVVNFJ5eFhRVUZYTEVWQlFVVXNVMEZCVXpOSExFdEJRVXRETEZGQlFWRjNSQ3hQUVVGUExFbEJRVWw2UkN4TFFVRkxReXhSUVVGUmQwUXNVVUZCVVN4VFFVRlRla1FzUzBGQlMwTXNVVUZCVVhkRUxGTkJRVk42UkN4TFFVRkxPRWNzYjBKQlFXMUNMRVZCUVVkcVNDeEZRVUZGT0Vjc1YwRkJWeXhGUVVGRk0wY3NTMEZCUzBNc1VVRkJVWGRFTEU5QlFVODFSQ3hGUVVGRk9FY3NWVUZCVlROSExFdEJRVXNyUnl4VlFVRlZMMGNzUzBGQlMwTXNVVUZCVVhORUxGTkJRVk4yUkN4TFFVRkxaMGdzVVVGQlVTeFRRVUZUYkVnc1IwRkJSeXhOUVVGTkxFTkJRVU15Unl4TFFVRkxMRkZCUVZGR0xFMUJRVTBzVDBGQlQwUXNTVUZCU1N4VFFVRlRSU3hQUVVGUExFMUJRVTF3UlN4RlFVRkZMRWxCUVVsRExFVkJRVVVzUzBGQlMzWkRMRWxCUVVsRkxFdEJRVXRwU0N4UFFVRlBMRk5CUVZOdVNDeEhRVUZITEUxQlFVMHNRMEZCUXpKSExFdEJRVXNzU1VGQlNVWXNUVUZCVFN4SlFVRkpSQ3hKUVVGSkxFbEJRVWxGTEU5QlFVOHNTVUZCU1ZVc1QwRkJUeXhMUVVGTGNFZ3NTVUZCU1VVc1MwRkJTMjFJTEU5QlFVOHNVMEZCVTNKSUxFZEJRVWNzVFVGQlRTeERRVUZETWtjc1MwRkJTeXhQUVVGUFJpeE5RVUZOTEU5QlFVOUVMRWxCUVVrc1RVRkJUVVVzVDBGQlR5eE5RVUZOVlN4UFFVRlBMRTlCUVU4NVJTeEZRVUZGTEU5QlFVOURMRVZCUVVVc1QwRkJUM1pETEVsQlFVbEZMRXRCUVV0dlNDeFJRVUZSTEZOQlFWTjBTQ3hGUVVGRlF5eEhRVUZITEUxQlFVMHNVVUZCVVVRc1JVRkJSU3hQUVVGUFFTeEhRVUZITEZWQlFWVkdMRVZCUVVVclJpeExRVUZMTjBZc1NVRkJTU3hMUVVGTFFTeEZRVUZGZFVnc1QwRkJUeXhIUVVGSGVrZ3NSVUZCUlRaR0xGRkJRVkVzVlVGQlZURkdMRVZCUVVVc1kwRkJZeXhuUWtGQlowSjFTQ3hUUVVGVGVFZ3NSVUZCUlhsSUxGRkJRVkVzU1VGQlNTeExRVUZMTEVsQlFVbDZTQ3hIUVVGSFJTeExRVUZMZDBnc1YwRkJWeXhUUVVGVE1VZ3NSVUZCUlVNc1IwRkJSeXhKUVVGSk1FZ3NSVUZCUlRGQ0xGTkJRVk15UWl4blFrRkJaMElzTmtKQlFUWkNOVWdzUjBGQlJ5eFBRVUZQUml4RlFVRkZLMGdzUzBGQlN6VklMRVZCUVVVc1UwRkJVMFFzUlVGQlJVTXNSMEZCUnpCSUxFVkJRVVZITEdGQlFXRTNTQ3hGUVVGRkxFZEJRVWRCTEVWQlFVVXNTVUZCU1N4TlFVRk5NRWdzUjBGQlIzcElMRXRCUVVzMlNDeGxRVUZsTEZOQlFWTkRMRWRCUVVkQkxFZEJRVWRCTEVWQlFVVkRMRkZCUVZGRUxFVkJRVVZGTEVkQlFVY3NaMFZCUVdkRkxGTkJRVk5zU1N4SFFVRkhMRWxCUVVsRExFVkJRVVZFTEVWQlFVVnRTU3haUVVGWmJra3NSVUZCUlc5SkxHVkJRV1Z3U1N4RlFVRkZiMGtzWTBGQlkwUXNZVUZCWVc1SkxFVkJRVVZ4U1N4UFFVRlBWaXhGUVVGRkxFZEJRVWQ2U0N4TFFVRkxiMGtzVlVGQlZVNHNSVUZCUlU4c1kwRkJZM0pKTEV0QlFVdHpTU3hoUVVGaFF5eEZRVUZGZGtrc1MwRkJTMjlKTEZkQlFWY3NSMEZCUjNKSkxFVkJRVVVzUjBGQlJ6QklMRWRCUVVjc1JVRkJSVEZJTEVkQlFVZDNTU3hKUVVGSmVra3NSVUZCUldsQ0xHOUNRVUZ2UW1Zc1MwRkJTM2RKTEdWQlFXVXNWMEZCVnl4SlFVRkplRWtzUzBGQlMzbEpMR2RDUVVGblFpeFJRVUZSZWtrc1MwRkJTMmRDTEZGQlFWRXNSMEZCUnpCSUxFMUJRVTEyU1N4UlFVRlJTQ3hMUVVGTFowSXNVVUZCVVN4SFFVRkhNRWdzVFVGQlRXNUpMRk5CUVZNc1QwRkJUeXhMUVVGTExFbEJRVWxVTEVWQlFVVXNVVUZCVVVVc1MwRkJTekpKTEZGQlFWRkRMRWxCUVVrc1dVRkJXVFZKTEV0QlFVc3lTU3hSUVVGUlF5eEpRVUZKTEZWQlFWVXNVMEZCVXpsSkxFVkJRVVZGTEV0QlFVdG5RaXhSUVVGUk5rZ3NZVUZCWVRkSkxFdEJRVXN5U1N4UlFVRlJReXhKUVVGSkxGVkJRVlVzVTBGQlV6bEpMRVZCUVVWRkxFdEJRVXRuUWl4UlFVRlJOa2dzWVVGQllUZEpMRXRCUVV0NVNTeGxRVUZsUnl4SlFVRkpMRU5CUVVOeVNTeFRRVUZUY1Vjc1MwRkJTME1zU1VGQlNTOUhMRVZCUVVWM1NDeFRRVUZUZEVnc1MwRkJTMmRDTEZGQlFWRXNSMEZCUnpCSUxFMUJRVTF1U1N4WlFVRlpMRkZCUVZGUUxFdEJRVXM0U1N4WFFVRlhMRmRCUVZjc1NVRkJTVGxKTEV0QlFVdERMRkZCUVZGdFJTeFZRVUZWTEU5QlFVMHNSVUZCUnl4SlFVRkpkRVVzUlVGQlJTeFRRVUZUUlN4TFFVRkxReXhSUVVGUmJVVXNWVUZCVlhCRkxFdEJRVXQ1U1N4bFFVRmxla2tzUzBGQlMwTXNVVUZCVVcxRkxIRkNRVUZ4UW5oRkxFVkJRVVZKTEV0QlFVdERMRkZCUVZGdFJTeFZRVUZWTEZWQlFWVjRSU3hGUVVGRkswWXNTMEZCU3pOR0xFdEJRVXRETEZGQlFWRnRSU3hYUVVGWGVFVXNSVUZCUlVrc1MwRkJTME1zVVVGQlVXMUZMRmRCUVZkd1JTeExRVUZMTWtrc1VVRkJVU3hWUVVGVk4wa3NSMEZCUjBFc1lVRkJZVVlzUjBGQlIwVXNSVUZCUldsSkxGTkJRVk5xU1N4RlFVRkZNRUlzUzBGQlN5eHhRa0ZCY1VJeFFpeEZRVUZGZDBRc1UwRkJVeXhyUWtGQmEwSTVRaXhMUVVGTExHdENRVUZwUWl4SFFVRkpkMGNzUjBGQlJ5eDFRa0ZCZFVJc1UwRkJVMnhKTEVkQlFVY3NTVUZCU1VNc1JVRkJSVEJJTEVWQlFVVmpMRVZCUVVWVUxFVkJRVVZwUWl4RlFVRkZReXhGUVVGRkxFZEJRVWRzU2l4RlFVRkZiVW9zVVVGQlVYSktMRVZCUVVWRkxFVkJRVVZ2UXl4UlFVRlJaMGdzVTBGQlV5eG5Ra0ZCWjBKMFNpeEZRVUZGUlN4RlFVRkZiME1zVVVGQlVXbElMRkZCUVZFc1owSkJRV2RDY0VJc1QwRkJUeXhqUVVGamFra3NSVUZCUlRaR0xFOUJRVTh2Uml4RlFVRkZSU3hGUVVGRmIwTXNVVUZCVVdkSUxGTkJRVk1zY1VKQlFYRkNkRW9zUlVGQlJVVXNSVUZCUlc5RExGRkJRVkZwU0N4UlFVRlJMSEZDUVVGeFFuQkNMRk5CUVZNdlNDeExRVUZMYjBvc1RVRkJUU3hEUVVGRFF5eGhRVUZaTEV0QlFVMDFRaXhGUVVGRkxHTkJRV016U0N4RlFVRkZOa1lzVFVGQlRUZEdMRVZCUVVWM1NpeFRRVUZUZUVvc1JVRkJSWGRLTEZGQlFWRXNTVUZCU1haS0xFVkJRVVZFTEVWQlFVVjNTaXhSUVVGUkxFZEJRVWRETEUxQlFVMTZTaXhGUVVGRmQwb3NVVUZCVVN4SFFVRkhSU3hSUVVGUmVrb3NSVUZCUlVRc1JVRkJSWGxLTEUxQlFVMTZTaXhGUVVGRk1Fb3NUMEZCVDNoS0xFdEJRVXQ1U2l4bFFVRmxNVW9zUlVGQlJVTXNTMEZCU3pCS0xHVkJRV1ZxUXl4RlFVRkZla2dzUzBGQlMwTXNVVUZCVVc5RkxGZEJRVmR5UlN4TFFVRkxLMGNzVjBGQlYwOHNVMEZCVTNSSUxFdEJRVXN5U1N4UlFVRlJReXhKUVVGSkxGVkJRVlVzUzBGQlN5OUpMRVZCUVVVNFNpeHZRa0ZCYjBJNVNpeEZRVUZGT0Vvc2JVSkJRVzFDTEVWQlFVVXpTaXhMUVVGTE1ra3NVVUZCVVVNc1NVRkJTU3hUUVVGVEwwa3NSVUZCUlRoS0xHOUNRVUZ2UW5CQ0xFVkJRVVYyU1N4TFFVRkxNa2tzVVVGQlVVNHNZMEZCWTFBc1JVRkJSVGxJTEV0QlFVc3lTU3hSUVVGUlJTeGhRVUZoUlN4RlFVRkZMMGtzUzBGQlN6SkpMRkZCUVZGd1J5eFRRVUZUSzBRc1NVRkJTV2xETEVWQlFVVmtMRVZCUVVWMVFpeEZRVUZGYUVvc1MwRkJTekpKTEZGQlFWRndSeXhUUVVGVGEwVXNTMEZCUzNGQ0xFVkJRVVV2U0N4RlFVRkZTQ3hGUVVGRmJVY3NWVUZCVldsRExFZEJRVWNzTkVKQlFUUkNhRWtzUzBGQlMwVXNSMEZCUnl3MlFrRkJOa0pHTEV0QlFVdEZMRWRCUVVjc1UwRkJVMG9zUjBGQlJ5eEpRVUZKUXl4RlFVRkZSQ3hGUVVGRkxHRkJRV0ZCTEVWQlFVVTJSaXhOUVVGTk4wWXNSVUZCUlhkS0xGTkJRVk40U2l4RlFVRkZkMG9zVVVGQlVTeEpRVUZKZGtvc1JVRkJSVVFzUlVGQlJYZEtMRkZCUVZFc1IwRkJSME1zVFVGQlRYcEtMRVZCUVVWM1NpeFJRVUZSTEVkQlFVZEZMRkZCUVZGNlNpeEZRVUZGUkN4RlFVRkZlVW9zVFVGQlRYcEtMRVZCUVVVd1NpeFBRVUZQZUVvc1MwRkJTelJLTEZWQlFWVTFTaXhMUVVGTGVVb3NaMEpCUVdkQ01Vb3NSMEZCUjBNc1MwRkJTekJLTEdkQ1FVRm5RalZLTEVsQlFVbEZMRXRCUVV0dFJ5eFhRVUZYTEdWQlFXVnVSeXhMUVVGTE5Fb3NWVUZCVXl4SFFVRkpOVW9zUzBGQlN6SkpMRkZCUVZGd1J5eFBRVUZQTEVOQlFVTXJSQ3hKUVVGSmVFY3NSVUZCUldsS0xFVkJRVVZTTEVWQlFVVTVRaXhMUVVGTE1VY3NSVUZCUldsS0xFVkJRVVZzUWl4TFFVRkxNVUlzUzBGQlMzQkhMRTlCUVU5R0xFVkJRVVZwUWl4dFFrRkJiVUp4Uml4TFFVRkxjRWNzVDBGQlQyZEpMRWRCUVVjc2JVSkJRVzFDTEZkQlFWY3NTVUZCU1d4SkxFVkJRVVZHTEVWQlFVVnRSeXhWUVVGVk9FUXNTVUZCU1N3MFFrRkJORUkzU2l4TFFVRkxSU3hIUVVGSExEWkNRVUUyUWtZc1MwRkJTMFVzU1VGQlNVWXNTMEZCU3pSS0xGVkJRVlUxU2l4TFFVRkxiVWNzVjBGQlZ5eGhRVUZoYmtjc1MwRkJTelJLTEZWQlFWTXNSVUZCUnl4VFFVRlROVW9zUzBGQlN6SkdMRTFCUVUwc1YwRkJWek5HTEV0QlFVc3lSaXhQUVVGUE0wWXNTMEZCUzBNc1VVRkJVU3RETEdWQlFXVnNSQ3hGUVVGRkxFTkJRVU56UXl4SFFVRkhkRU1zUlVGQlJVWXNSVUZCUlN4SlFVRkpTU3hMUVVGTFJTeEpRVUZKY1VNc1ZVRkJWV3RGTEV0QlFVczNSeXhGUVVGRmJVY3NWVUZCVlN0RUxHRkJRV0Y2U0N4RlFVRkZka01zUlVGQlJYZEhMRWxCUVVreFJ5eEZRVUZGYlVjc1ZVRkJWWEZETEdGQlFXRndTU3hMUVVGTGJVTXNVMEZCVXl4RFFVRkRRU3hUUVVGVGNrTXNSVUZCUlhsRExFOUJRVThzUTBGQlEwZ3NSVUZCUlN4RlFVRkZReXhGUVVGRkxFOUJRVThyUkN4TFFVRkxjRWNzVDBGQlQwRXNTMEZCU3l0SExGbEJRVmxzU0N4RlFVRkZPRW9zYTBKQlFXdENPVW9zUlVGQlJUaEtMR3RDUVVGclFpOURMRXRCUVV0RExFbEJRVWxvU0N4RlFVRkZPRW9zYTBKQlFXdENNMG9zUzBGQlMwTXNVVUZCVVhkRUxGRkJRVkY2UkN4TFFVRkxReXhSUVVGUmQwUXNVVUZCVVhwRUxFOUJRVTlCTEV0QlFVc3JTaXhSUVVGUkxGZEJRVmNzU1VGQlNXcExMRVZCUVVWRkxFdEJRVXN5U1N4VlFVRlZNMGtzUzBGQlN6SkpMRkZCUVZFdlNTeEZRVUZGTEZOQlFWTXNRMEZCUTAwc1IwRkJSMFlzUzBGQlMwVXNSMEZCUnpoS0xFMUJRVTBzWjBKQlFXZENhRXNzUzBGQlN6SkdMRXRCUVVzc1UwRkJVek5HTEV0QlFVc3lSaXhMUVVGTExFdEJRVXN6Uml4TFFVRkxReXhSUVVGUmIwUXNUVUZCVFN4VFFVRlRja1FzUzBGQlMwTXNVVUZCVVc5RUxFMUJRVTBzUzBGQlMzSkVMRXRCUVV0RExGRkJRVkZ4UkN4VFFVRlRMRWxCUVVsMFJDeExRVUZMUXl4UlFVRlJjVVFzVTBGQlV5eE5RVUZOYzBZc1NVRkJTU3hEUVVGRGVrY3NVMEZCVTI1RExFdEJRVXRETEZGQlFWRjNReXhOUVVGTkxGRkJRVkVzVjBGQlYzZElMRkZCUVZFc1QwRkJUME1zVVVGQlVTeEZRVUZGZWtjc1QwRkJUM3BFTEV0QlFVdERMRkZCUVZGM1JDeFRRVUZUYWtNc1MwRkJTeXhQUVVGUGVFSXNUVUZCVFVFc1MwRkJTME1zVVVGQlVUWkVMRzFDUVVGdFFqbEVMRXRCUVVzeVNTeFJRVUZSV0N4SFFVRkhMR0ZCUVdFc1UwRkJVMnhKTEVsQlFVbEZMRXRCUVV0dFN5eFJRVUZSY2tzc1JVRkJSWE5MTEdWQlFXVndTeXhMUVVGTGJVc3NUMEZCVHl4TFFVRkxMRWxCUVVsMlN5eEZRVUZGZVVzc1VVRkJVWEpMTEV0QlFVdHRTeXhQUVVGUExFZEJRVWQyU3l4RlFVRkZSU3hGUVVGRmMwc3NaVUZCWldwQ0xGRkJRVkVzVDBGQlQyNUtMRXRCUVV0dlNpeFRRVUZUYUVRc1MwRkJTM0JITEU5QlFVOHNUMEZCVDBFc1MwRkJTME1zVVVGQlVUUkVMR05CUVdNM1JDeExRVUZMTWtrc1VVRkJVVmdzUjBGQlJ5eFpRVUZaTEZkQlFWZG9TU3hMUVVGTGIwb3NUVUZCVFN4RFFVRkRReXhoUVVGWkxFdEJRVTFxUkN4TFFVRkxjRWNzVDBGQlQwRXNTMEZCUzNOTExGVkJRVlV4U3l4RlFVRkZMR2xEUVVGcFEyOUZMRk5CUVZOb1JTeExRVUZMTWtrc1UwRkJVek5KTEV0QlFVdG5RaXhSUVVGUmNFSXNSVUZCUlN3clFrRkJLMEp2UlN4VFFVRlRhRVVzUzBGQlMzTkxMRmRCUVZkMFN5eExRVUZMUXl4UlFVRlJiVUlzVTBGQlUzQkNMRXRCUVV0dlFpeFBRVUZQZUVJc1JVRkJSU3c0UWtGQk9FSXlTeXhQUVVGUGRrc3NTMEZCUzBNc1VVRkJVVzFDTEZGQlFWRTBReXhUUVVGVGFFVXNTMEZCUzNOTExGbEJRVmwwU3l4TFFVRkxReXhSUVVGUmIwSXNaVUZCWlhKQ0xFdEJRVXMyU0N4bFFVRmxOMGdzUzBGQlMyZENMRk5CUVZOb1FpeExRVUZMUXl4UlFVRlJPRVFzWlVGQlpXcEZMRVZCUVVWRkxFdEJRVXQzU0N4WFFVRlhMRTFCUVUwc1EwRkJReXhEUVVGRExGVkJRVlVzWjBKQlFXZENaMFFzV1VGQldYaExMRXRCUVV0M1NDeFhRVUZYTEU5QlFVOHNRMEZCUXl4RFFVRkRMRWxCUVVrc2IxRkJRVzlSZUVnc1MwRkJTeXRFTEZsQlFWbHVSU3hGUVVGRkxDdERRVUVyUTI5SkxFZEJRVWNzV1VGQldTeFRRVUZUYkVrc1IwRkJSMFVzUzBGQlMyOUtMRTFCUVUwc1EwRkJRME1zWVVGQldTeExRVUZOYWtRc1MwRkJTM0JITEU5QlFVOTFTeXhQUVVGUGVrc3NSMEZCUnl4UFFVRlBSU3hMUVVGTFF5eFJRVUZST0VRc1pVRkJZeXhKUVVGTEwwUXNTMEZCUzBNc1VVRkJVVGhFTEdGQlFXRXZSQ3hMUVVGTFF5eFJRVUZSYzBRc1UwRkJVM1pFTEV0QlFVdERMRkZCUVZGcFFpeFBRVUZQYkVJc1MwRkJTME1zVVVGQlVXdENMRmxCUVZsdVFpeExRVUZMTWtrc1VVRkJVWEpHTEZOQlFWTXNkMEpCUVhkQ2RFUXNTMEZCU3l0RUxGbEJRVmxETEZOQlFWTm9SU3hMUVVGTGMwc3NZVUZCWVhSTExFdEJRVXN5U1N4UlFVRlJNMFVzVTBGQlUyaEZMRXRCUVV0RExGRkJRVkVyUkN4VlFVRlZhRVVzUzBGQlN6SkpMRkZCUVZFNFFpeExRVUZMTEhGQ1FVRnhRakZETEZGQlFWRnVTU3hGUVVGRkswZ3NTMEZCU3l4RFFVRkRMRTFCUVUwc1VVRkJVU3hUUVVGVExGRkJRVkVzVTBGQlV6ZElMRVZCUVVWRExFZEJRVWRETEV0QlFVc3lTU3hSUVVGUk9FSXNTMEZCU3l4eFFrRkJjVUkzUWl4SlFVRkpOMGtzU1VGQlNTeFJRVUZSUXl4TFFVRkxNa2tzVVVGQlVUaENMRXRCUVVzc2NVSkJRWEZDTjBJc1NVRkJTVGRKTEV0QlFVdERMRXRCUVV0RExGRkJRVkV5UXl4bFFVRmxOME1zUjBGQlJ6WkhMRXRCUVV0RExFbEJRVWszUnl4TFFVRkxReXhSUVVGUk1rTXNaVUZCWlRkRExFZEJRVWRETEV0QlFVdERMRkZCUVZFeVF5eGxRVUZsTjBNc1NVRkJTU3hKUVVGSmRVZ3NVMEZCVTNSSUxFdEJRVXN5U1N4UlFVRlJPRUlzUzBGQlN5eHhRa0ZCY1VJM1FpeEpRVUZKTjBrc1MwRkJTeXhKUVVGSmRVZ3NVMEZCVTNSSUxFdEJRVXR6U3l4VlFVRlZNVUlzU1VGQlNTeFZRVUZWTjBrc1JVRkJSU3haUVVGWkxFOUJRVTl4Unl4TFFVRkxjRWNzVDBGQlQwRXNTMEZCUzBNc1VVRkJVV2RFTEZWQlFWVnFSQ3hMUVVGTGFVUXNVVUZCVVN4RFFVRkRaQ3hUUVVGVExGVkJRVlZ1UXl4TFFVRkxReXhSUVVGUmFVUXNVVUZCVVd4RUxFdEJRVXRETEZGQlFWRnBSQ3hSUVVGUmJFUXNTMEZCUzJkSUxGRkJRVkZvU0N4TFFVRkxjME1zVTBGQlUyOUpMRWRCUVVjc1ZVRkJWVEZMTEV0QlFVdERMRkZCUVZGcFJDeFJRVUZSYkVRc1MwRkJTMmxJTEU5QlFVOXFTQ3hMUVVGTFF5eFJRVUZSYVVRc1UwRkJVMnhFTEV0QlFVdHBTQ3hQUVVGUGFrZ3NTMEZCUzNORExGTkJRVk52UlN4TlFVRk5MRk5CUVZOdVJTeFBRVUZQTEVkQlFVZDJReXhMUVVGTGFVUXNVVUZCVVRCSUxGRkJRVkV2U3l4RlFVRkZMSGxEUVVGNVEwa3NTMEZCUzJsRUxGRkJRVkZrTEZOQlFWTXNUMEZCVHpaQ0xGTkJRVk5vUlN4TFFVRkxNa2tzVTBGQlV6TkpMRXRCUVV0cFJDeFJRVUZSTWtnc1YwRkJWeXhEUVVGRGVFa3NSVUZCUlhCRExFdEJRVXRwUkN4UlFVRlJNRWdzVVVGQlVUbENMR0ZCUVdGNFJ5eEZRVUZGY2tNc1MwRkJTMmxFTEZGQlFWRXdTQ3hSUVVGUmRFTXNaVUZCWlN4VlFVRlZla2tzUlVGQlJTdEdMRXRCUVVzelJpeExRVUZMUXl4UlFVRlJaMFFzV1VGQldXNUVMRVZCUVVWRkxFdEJRVXRETEZGQlFWRm5SQ3hSUVVGUk5FTXNUVUZCVFN4TlFVRk5MRXRCUVVzM1JpeExRVUZMYVVRc1VVRkJVWGxFTEUxQlFVMDFSeXhGUVVGRkxFbEJRVWxCTEVWQlFVVXNTMEZCUzBVc1MwRkJTMmxFTEZGQlFWRldMRTlCUVU4clJTeFRRVUZUZUVnc1JVRkJSU3hOUVVGTlJTeExRVUZMYVVRc1VVRkJVVFJJTEdWQlFXVXNTMEZCU3pkTExFdEJRVXRwUkN4UlFVRlJlVWdzUjBGQlJ5eFZRVUZWTVVzc1MwRkJTMmxFTEZGQlFWRjVSQ3hOUVVGTkxGTkJRVk1zVFVGQlRTeFRRVUZUTVVjc1MwRkJTMmxFTEZGQlFWRjVSQ3hOUVVGTkxGRkJRVkVzVDBGQlR6RkhMRXRCUVVzeVNTeFJRVUZSUXl4SlFVRkpMRmRCUVZjMVNTeExRVUZMYVVRc1VVRkJVV1FzVTBGQlUyNURMRXRCUVV0cFJDeFJRVUZSTWtnc1YwRkJWelZMTEV0QlFVdHBSQ3hSUVVGUmVVZ3NTMEZCU3pGTExFdEJRVXRwUkN4UlFVRlJNRWdzVVVGQlVTOUNMRWxCUVVrMVNTeExRVUZMYVVRc1VVRkJVVFJJTEdWQlFXVXNWVUZCVlRkTExFdEJRVXRwUkN4UlFVRlJlVVFzVFVGQlRTeE5RVUZOTEVkQlFVZHJReXhKUVVGSkxGVkJRVlUxU1N4TFFVRkxhVVFzVVVGQlVUUklMR1ZCUVdVM1N5eExRVUZMYVVRc1VVRkJVVllzVVVGQlVYWkRMRXRCUVV0cFJDeFJRVUZSTmtnc1QwRkJUeXhIUVVGSE9Vc3NTMEZCUzJsRUxGRkJRVkUyU0N4UFFVRlBMRlZCUVZVNVN5eExRVUZMYVVRc1VVRkJVVFJJTEdkQ1FVRm5RamRMTEV0QlFVdHBSQ3hSUVVGUlZpeFBRVUZQTEZWQlFWVjJReXhMUVVGTGFVUXNVVUZCVVhsRUxFOUJRVTh4Unl4TFFVRkxhVVFzVVVGQlVUQklMRkZCUVZFdlFpeEpRVUZKTEZsQlFWa3NZMEZCWXl4TFFVRkxOVWtzUzBGQlMybEVMRkZCUVZGNVNDeEpRVUZKTEVkQlFVY3hTeXhMUVVGTGFVUXNVVUZCVVRKSUxGZEJRVmQ0U1N4RlFVRkZMRXRCUVVzc1IwRkJSeXhOUVVGTkxFdEJRVXR3UXl4TFFVRkxhVVFzVVVGQlVYbElMRWxCUVVrc1IwRkJSekZMTEV0QlFVdHBSQ3hSUVVGUk1rZ3NWMEZCVjNaSkxFVkJRVVVzUzBGQlN5eEhRVUZITEV0QlFVdHlReXhMUVVGTGFVUXNVVUZCVVRCSUxGRkJRVkV2UWl4SlFVRkpMRXRCUVVzMVNTeExRVUZMYVVRc1VVRkJVWGxJTEVkQlFVY3NVVUZCVVN4VFFVRlRjRVFzVTBGQlUzUklMRXRCUVV0cFJDeFJRVUZSTWtnc1YwRkJWelZMTEV0QlFVdHBSQ3hSUVVGUmVVZ3NTMEZCUzNCRUxGTkJRVk4wU0N4TFFVRkxjMHNzVlVGQlZURkNMRWxCUVVrc1ZVRkJWVFZKTEV0QlFVdHBSQ3hSUVVGUk5FZ3NaVUZCWlN4WlFVRlpOMHNzUzBGQlN6SkpMRkZCUVZGeVJpeFRRVUZUTEhkQ1FVRjNRblJFTEV0QlFVdHBSQ3hSUVVGUlpDeFhRVUZYYmtNc1MwRkJTelJDTEZkQlFWYzFRaXhMUVVGTFF5eFJRVUZSWlN4VFFVRlJMRWRCUVVsb1FpeExRVUZMSzBzc1UwRkJVeTlMTEV0QlFVdERMRkZCUVZGcFFpeFBRVUZOTEVkQlFVbHNRaXhMUVVGTFF5eFJRVUZSYlVVc1YwRkJWM0JGTEV0QlFVczRTU3hoUVVGaE9Va3NTMEZCUzIxSExGZEJRVmNzWlVGQlpXNUhMRXRCUVV0RExGRkJRVkZuUlN4alFVRmpha1VzUzBGQlN5dEtMRlZCUVZVdlNpeExRVUZMUXl4UlFVRlJXU3hSUVVGUllpeExRVUZMWVN4VFFVRlRZaXhMUVVGTFowd3NZMEZCWXl4WFFVRlhhRXdzUzBGQlMwTXNVVUZCVVhORkxHTkJRV016UlN4RlFVRkZMRWxCUVVsSkxFdEJRVXRGTEVsQlFVazRTQ3hIUVVGSExHRkJRV0VzVTBGQlUyeEpMRWRCUVVkRkxFdEJRVXRwVEN4WFFVRlZMRWRCUVVrM1JTeExRVUZMY0Vjc1QwRkJUMEVzUzBGQlMwTXNVVUZCVVhORkxHTkJRV016UlN4RlFVRkZMRWxCUVVsSkxFdEJRVXRGTEVsQlFVazRTQ3hIUVVGSExHRkJRV0VzVTBGQlUyeEpMRWRCUVVkRkxFdEJRVXRwVEN4WFFVRlZMRWRCUVVrM1JTeExRVUZMY0Vjc1VVRkJVVUVzUzBGQlMwTXNVVUZCVVhsRExHZENRVUZuUWpGRExFdEJRVXRETEZGQlFWRTBReXhqUVVGak4wTXNTMEZCUzNsRExFOUJRVTk2UXl4TFFVRkxjME1zVlVGQlZYUkRMRXRCUVV0RExGRkJRVkV3UXl4bFFVRmxMME1zUlVGQlJUWkdMRkZCUVZGMVF5eEhRVUZITEdWQlFXVm9TU3hMUVVGTFJTeEhRVUZITEZOQlFWTktMRWRCUVVkRkxFdEJRVXR0UXl4WlFVRlphVVVzUzBGQlMzQkhMRkZCUVZGQkxFdEJRVXRETEZGQlFWRjVReXhuUWtGQlowSXhReXhMUVVGTFF5eFJRVUZSTkVNc1lVRkJZV3BFTEVWQlFVVTJSaXhSUVVGUmRVTXNSMEZCUnl4bFFVRmxhRWtzUzBGQlMwVXNSMEZCUnl4VFFVRlRTaXhIUVVGSFJTeExRVUZMYlVNc1dVRkJXV2xGTEV0QlFVdHdSeXhSUVVGUkxGTkJRVk5CTEV0QlFVdERMRkZCUVZGcFF5eFJRVUZSZEVNc1JVRkJSU3hSUVVGUmIwa3NSMEZCUnl4clFrRkJhMEpvU1N4TFFVRkxSU3hIUVVGSExGTkJRVk5LTEVkQlFVZEZMRXRCUVV0dFF5eFRRVUZUTEVOQlFVTXJTU3haUVVGWkxFTkJRVU0xUlN4SlFVRkplRWNzUlVGQlJUQktMRTFCUVUwdlF5eExRVUZMTTBjc1JVRkJSWGxLTEZWQlFWVnVSQ3hMUVVGTGNFY3NVVUZCVVVFc1MwRkJTMjFNTEdOQlFXTXNWMEZCVjI1TUxFdEJRVXRETEZGQlFWRXlSQ3haUVVGWmFFVXNSVUZCUlcxSExGVkJRVlU0UkN4SlFVRkpMR05CUVdNM1NpeExRVUZMUlN4TFFVRkpMRWxCUVV0R0xFdEJRVXRETEZGQlFWRTBSQ3hqUVVGakxGRkJRVkUzUkN4TFFVRkxReXhSUVVGUk5FUXNZMEZCWTJwRkxFVkJRVVZ0Unl4VlFVRlZPRVFzU1VGQlNTeGpRVUZqTjBvc1MwRkJTMFVzUjBGQlJ5eGhRVUZoUml4TFFVRkxSU3hKUVVGSlJpeExRVUZMUXl4UlFVRlJNRU1zWlVGQlpTOURMRVZCUVVVMlJpeFJRVUZSYjBVc1NVRkJTU3hsUVVGbE4wb3NTMEZCUzBVc1MwRkJTMFlzUzBGQlMwTXNVVUZCVVhsRExHZENRVUZuUWpGRExFdEJRVXRETEZGQlFWRTBReXhoUVVGaGFrUXNSVUZCUlRaR0xGRkJRVkZ2UlN4SlFVRkpMR1ZCUVdVM1NpeExRVUZMUlN4SlFVRkpMRk5CUVZOR0xFdEJRVXRETEZGQlFWRnBReXhSUVVGUmRFTXNSVUZCUlN4UlFVRlJhVXNzU1VGQlNTeHJRa0ZCYTBJM1NpeExRVUZMUlN4TFFVRkxSaXhMUVVGTGIwd3NZVUZCWVN4WFFVRlhjRXdzUzBGQlMzVkVMRlZCUVZWMlJDeExRVUZMZFVRc1VVRkJVVE5FTEVWQlFVVXNXVUZCV1Vrc1MwRkJTMFVzUjBGQlJ5eGxRVUZsYjBRc1UwRkJVeXhuUWtGQlowSjBSQ3hMUVVGTE1rWXNTMEZCU3l4cFFrRkJhVUl6Uml4TFFVRkxNa1lzUzBGQlN5eExRVUZMYVVRc1NVRkJTU3hEUVVGRGNVSXNVVUZCVVN4UFFVRlBReXhSUVVGUkxFVkJRVVY2Unl4UFFVRlBla1FzUzBGQlMwTXNVVUZCVVhkRUxFOUJRVThzU1VGQlNVOHNVMEZCVTJoRkxFdEJRVXRETEZGQlFWRXJSQ3hWUVVGVmFFVXNTMEZCUzBNc1VVRkJVWFZFTEdOQlFXTjRSQ3hMUVVGTGRVUXNVVUZCVVVRc1UwRkJVM1JFTEV0QlFVdERMRkZCUVZGMVJDeGpRVUZqTEZkQlFWZDRSQ3hMUVVGTFF5eFJRVUZST0VRc1kwRkJZU3hKUVVGTEwwUXNTMEZCUzBNc1VVRkJVVGhFTEdGQlFXRXZSQ3hMUVVGTGRVUXNVVUZCVVdkSUxFOUJRVTkyU3l4TFFVRkxLMFFzWVVGQllTeFhRVUZYTDBRc1MwRkJTME1zVVVGQlVUUkVMR05CUVdNM1JDeExRVUZMZFVRc1VVRkJVWGxGTEVkQlFVY3NXVUZCV1N4WFFVRlhhRWtzUzBGQlMyOUtMRTFCUVUwc1EwRkJRME1zWVVGQldTeExRVUZOYWtRc1MwRkJTM0JITEU5QlFVOUtMRVZCUVVVc1NVRkJTVWtzUzBGQlMwVXNSMEZCUnl3NFFrRkJPRUkyU0N4VFFVRlRMMGdzUzBGQlMwTXNVVUZCVVRKRExHVkJRV1V3UkN4SlFVRkpUU3hMUVVGTFF5eEpRVUZKYWtnc1JVRkJSU3hKUVVGSlNTeExRVUZMUlN4SFFVRkhMRGhDUVVFNFFtMUpMR05CUVdOeVNTeExRVUZMUXl4UlFVRlJNa01zWlVGQlpUQkVMRkZCUVU4c1NVRkJTM1JITEV0QlFVczRSeXh2UWtGQmIwSTVSeXhMUVVGTGRVUXNVVUZCVVhGR0xFbEJRVWtzVTBGQlUzUkNMRk5CUVZOMFNDeExRVUZMTWtrc1VVRkJVVU1zU1VGQlNTeFZRVUZWTEVsQlFVa3NSMEZCUnl4VFFVRlROVWtzUzBGQlMzVkVMRkZCUVZGeFJpeEpRVUZKTEdGQlFXRTFTU3hMUVVGTFF5eFJRVUZSYTBRc1MwRkJTMjVFTEV0QlFVdDFSQ3hSUVVGUk9FZ3NVVUZCVVhKTUxFdEJRVXQxUkN4UlFVRlJLMGdzVVVGQlVTeERRVUZEY0VJc1VVRkJVU3hIUVVGSExFTkJRVU54UWl4UFFVRk5MRVZCUVVkRExGTkJRVk40VEN4TFFVRkxReXhSUVVGUmEwUXNTMEZCUzNOSkxFMUJRVTBzVjBGQlYzcE1MRXRCUVV0MVJDeFJRVUZSY1VZc1NVRkJTU3hEUVVGRGNVSXNVVUZCVVN4WFFVRlhOMFFzUzBGQlMzQkhMRkZCUVZGQkxFdEJRVXQxUkN4UlFVRlJjVVlzU1VGQlNTeERRVUZEY1VJc1VVRkJVU3hSUVVGUlF5eFJRVUZSTEUxQlFVMXNTeXhMUVVGTE1Fd3NZVUZCWVN4WFFVRlhNVXdzUzBGQlMzVkVMRlZCUVZWMlJDeExRVUZMUXl4UlFVRlJhMFFzUzBGQlMyNUVMRXRCUVV0MVJDeFJRVUZST0Vnc1VVRkJVWEpNTEV0QlFVdDFSQ3hSUVVGUkswZ3NVVUZCVVN4RFFVRkRjRUlzVVVGQlVTeEhRVUZITEVOQlFVTnhRaXhQUVVGTkxFVkJRVWRETEZOQlFWTjRUQ3hMUVVGTFF5eFJRVUZSYTBRc1MwRkJTM2RKTEZOQlFWTXNWMEZCVnpOTUxFdEJRVXQxUkN4UlFVRlJjVVlzU1VGQlNTeERRVUZEY1VJc1VVRkJVU3hWUVVGVk4wUXNTMEZCUzNCSExGRkJRVkZCTEV0QlFVdDFSQ3hSUVVGUmNVWXNTVUZCU1N4RFFVRkRjVUlzVVVGQlVTeFBRVUZQUXl4UlFVRlJMRTFCUVUxc1N5eExRVUZMTkV3c2EwSkJRV3RDTEZkQlFWYzFUQ3hMUVVGTE1ra3NVVUZCVVVNc1NVRkJTU3hEUVVGRGRFTXNTMEZCU3l4SlFVRkpSeXhOUVVGTkxFbEJRVWxHTEUxQlFVMHNUMEZCVDBNc1QwRkJUeXhUUVVGVExFbEJRVWt4Unl4RlFVRkZMRU5CUVVOelF5eEZRVUZGY0VNc1MwRkJTekpKTEZGQlFWRkZMR0ZCUVdGNFJ5eEZRVUZGY2tNc1MwRkJTekpKTEZGQlFWRk9MR1ZCUVdVc1QwRkJUM0pKTEV0QlFVc3lTU3hSUVVGUlF5eEpRVUZKTEVOQlFVTjBReXhKUVVGSkxFOUJRVTlITEV0QlFVc3NVMEZCVXpOSExFZEJRVWRGTEV0QlFVczJUQ3h6UWtGQmMwSXNWMEZCVnl4SFFVRkhMRlZCUVZWcVRTeEZRVUZGSzBZc1MwRkJTek5HTEV0QlFVdERMRkZCUVZGdFJDeGhRVUZoY0VRc1MwRkJTME1zVVVGQlVXMUVMRlZCUVZVc1EwRkJRekJKTEUxQlFVMHNRMEZCUTBNc1MwRkJTeXhSUVVGUk0wTXNUVUZCVFN4WFFVRlhORU1zVDBGQlR5eERRVUZEUkN4TFFVRkxMRk5CUVZNelF5eE5RVUZOTEZWQlFWVTJReXhSUVVGUkxFTkJRVU5HTEV0QlFVc3NWVUZCVlRORExFMUJRVTBzVjBGQlZ6aERMRXRCUVVzc1EwRkJRMGdzUzBGQlN5eFBRVUZQTTBNc1RVRkJUU3hSUVVGUkswTXNUVUZCVFN4RFFVRkRTaXhMUVVGTExGRkJRVkV6UXl4TlFVRk5MRk5CUVZOblJDeExRVUZMTEVOQlFVTk1MRXRCUVVzc1QwRkJUek5ETEUxQlFVMHNVVUZCVVdsRUxFdEJRVXNzUTBGQlEwNHNTMEZCU3l4UFFVRlBNME1zVFVGQlRTeFpRVUZaY0Vvc1MwRkJTME1zVVVGQlVXMUVMR0ZCUVdGd1JDeExRVUZMUXl4UlFVRlJiVVFzVlVGQlZTeFBRVUZQTEV0QlFVdHdSQ3hMUVVGTFF5eFJRVUZSYlVRc1ZVRkJWVEpKTEU5QlFVOHZUQ3hMUVVGTFF5eFJRVUZSYlVRc1ZVRkJWVEpKTEV0QlFVc3ZUQ3hMUVVGTFF5eFJRVUZSYlVRc1ZVRkJWVEpKTEV0QlFVdHNSeXhOUVVGTkxFMUJRVTAzUml4TFFVRkxReXhSUVVGUmJVUXNWVUZCVldkSExGRkJRVkZ3U2l4TFFVRkxReXhSUVVGUmJVUXNWVUZCVldkSExFMUJRVTF3U2l4TFFVRkxReXhSUVVGUmJVUXNWVUZCVldkSExFMUJRVTEyUkN4TlFVRk5MRTFCUVUwM1JpeExRVUZMUXl4UlFVRlJiVVFzVlVGQlZXdEtMR05CUVdOMFRTeExRVUZMUXl4UlFVRlJiVVFzVlVGQlZUSkpMRXRCUVVzc1NVRkJTU3hMUVVGTEwwd3NTMEZCUzBNc1VVRkJVVzFFTEZWQlFWVnRTaXhsUVVGbGRrMHNTMEZCUzBNc1VVRkJVVzFFTEZWQlFWVm5SeXhOUVVGTkxFbEJRVWtzUzBGQlMzQktMRXRCUVV0RExGRkJRVkZ0UkN4VlFVRlZNa2tzVDBGQlR5OU1MRXRCUVV0RExGRkJRVkZ0UkN4VlFVRlZNa2tzUzBGQlN5OU1MRXRCUVV0RExGRkJRVkZ0UkN4VlFVRlZNa2tzUzBGQlN5eEpRVUZKTDB3c1MwRkJTME1zVVVGQlVXMUVMRlZCUVZWblJ5eFJRVUZSY0Vvc1MwRkJTME1zVVVGQlVXMUVMRlZCUVZWblJ5eE5RVUZOY0Vvc1MwRkJTME1zVVVGQlVXMUVMRlZCUVZWblJ5eE5RVUZOTEVsQlFVbHdTaXhMUVVGTFF5eFJRVUZSYlVRc1ZVRkJWVEpKTEU5QlFVOHZUQ3hMUVVGTFF5eFJRVUZSYlVRc1ZVRkJWVEpKTEUxQlFVMHNVVUZCVVM5TUxFdEJRVXRETEZGQlFWRnRSQ3hWUVVGVlowY3NVVUZCVVhCS0xFdEJRVXRETEZGQlFWRnRSQ3hWUVVGVlowY3NUMEZCVHl4VFFVRlRMRWxCUVVsS0xFVkJRVVVzUTBGQlF6aERMRTFCUVUwc1EwRkJRMDRzVTBGQlV5eEpRVUZKTlVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUzBGQlN5eFpRVUZaTEVOQlFVTXNUVUZCVFN4alFVRmpMRU5CUVVNc1QwRkJUeXhqUVVGak5FUXNWMEZCVnl4RFFVRkRhRUlzVTBGQlUzaE1MRXRCUVV0RExGRkJRVkZyUkN4TlFVRk5MRWxCUVVsNVJpeEpRVUZKTEVOQlFVTXNRMEZCUXl4TFFVRkxMR05CUVdNc1EwRkJReXhQUVVGUExHTkJRV00yUkN4WlFVRlpMRU5CUVVOcVFpeFRRVUZUZUV3c1MwRkJTME1zVVVGQlVXdEVMRTFCUVUwc1NVRkJTWGxHTEVsQlFVa3NRMEZCUXl4RFFVRkRMRXRCUVVzc1dVRkJXU3hEUVVGRExFOUJRVThzWjBKQlFXZENPRVFzV1VGQldTeERRVUZEYkVJc1UwRkJVM2hNTEV0QlFVdERMRkZCUVZGclJDeE5RVUZOTEVsQlFVbDVSaXhKUVVGSkxFTkJRVU1zUTBGQlF5eExRVUZMTEdOQlFXTXNRMEZCUXl4UFFVRlBMR05CUVdNclJDeGhRVUZoTEVOQlFVTnVRaXhUUVVGVGVFd3NTMEZCUzBNc1VVRkJVV3RFTEUxQlFVMHNTVUZCU1hsR0xFbEJRVWtzUTBGQlF5eERRVUZETEV0QlFVc3NXVUZCV1N4RFFVRkRMRTlCUVU4c1owSkJRV2RDWjBVc1UwRkJVeXhEUVVGRGNFSXNVMEZCVTNoTUxFdEJRVXRETEZGQlFWRnJSQ3hOUVVGTkxFbEJRVWt3U2l4VlFVRlZMRU5CUVVOMlJ5eEpRVUZKTEVOQlFVTjNSeXhOUVVGTkxFbEJRVWwyUnl4TlFVRk5MRU5CUVVOMVJ5eExRVUZMTEVsQlFVbDBSeXhQUVVGUExFTkJRVU56Unl4TFFVRkxMRWxCUVVseVJ5eExRVUZMTEVOQlFVTnhSeXhOUVVGTkxFdEJRVXRzUlN4SlFVRkpMRU5CUVVNc1EwRkJReXhMUVVGTExITkNRVUZ6UWl4RFFVRkRMRTlCUVU4c2RVSkJRWFZDYlVVc1ZVRkJWU3hEUVVGRGRrSXNVMEZCVTNoTUxFdEJRVXRETEZGQlFWRnJSQ3hOUVVGTkxFbEJRVWsyU2l4UFFVRlBMRlZCUVZWSUxGVkJRVlVzUTBGQlEzWkhMRWxCUVVrc1EwRkJRekpITEZGQlFWRXNTVUZCU1RGSExFMUJRVTBzUTBGQlF6QkhMRTlCUVU4c1NVRkJTWHBITEU5QlFVOHNRMEZCUTNsSExFOUJRVThzU1VGQlNYaEhMRXRCUVVzc1EwRkJRM2RITEZGQlFWRXNTMEZCUzNKRkxFbEJRVWtzUTBGQlF5eERRVUZETEV0QlFVc3NjVUpCUVhGQ0xFTkJRVU1zVDBGQlR5eDNRa0ZCZDBKelJTeFZRVUZWTEVOQlFVTXhRaXhUUVVGVExFbEJRVWx4UWl4VlFVRlZMRU5CUVVOMlJ5eEpRVUZKTEVOQlFVTjNSeXhOUVVGTkxFdEJRVXQyUnl4TlFVRk5MRU5CUVVOMVJ5eExRVUZMTEV0QlFVdDBSeXhQUVVGUExFTkJRVU56Unl4TFFVRkxMRXRCUVV0eVJ5eExRVUZMTEVOQlFVTnhSeXhOUVVGTkxFMUJRVTFzUlN4SlFVRkpMRU5CUVVNc1EwRkJReXhMUVVGTExITkNRVUZ6UWl4RFFVRkRMRTlCUVU4c2RVSkJRWFZDZFVVc1YwRkJWeXhEUVVGRE0wSXNVMEZCVXl4SlFVRkpkMElzVDBGQlR5eFZRVUZWU0N4VlFVRlZMRU5CUVVOMlJ5eEpRVUZKTEVOQlFVTXlSeXhSUVVGUkxFdEJRVXN4Unl4TlFVRk5MRU5CUVVNd1J5eFBRVUZQTEV0QlFVdDZSeXhQUVVGUExFTkJRVU41Unl4UFFVRlBMRXRCUVV0NFJ5eExRVUZMTEVOQlFVTjNSeXhSUVVGUkxFMUJRVTF5UlN4SlFVRkpMRU5CUVVNc1EwRkJReXhMUVVGTExIRkNRVUZ4UWl4RFFVRkRMRTlCUVU4c2QwSkJRWGRDZDBVc1UwRkJVeXhEUVVGRE5VSXNVMEZCVXl4SlFVRkpOVU1zU1VGQlNTeERRVUZETEVOQlFVTXNTMEZCU3l4eFEwRkJjVU1zUTBGQlF5eE5RVUZOTEhORFFVRnpReXhEUVVGRExFMUJRVTBzY1VOQlFYRkRMRU5CUVVNc1QwRkJUeXh6UTBGQmMwTjVSU3hWUVVGVkxFTkJRVU0zUWl4VFFVRlRlRXdzUzBGQlMwTXNVVUZCVVd0RUxFMUJRVTBzU1VGQlNYbEdMRWxCUVVrc1EwRkJReXhEUVVGRExFdEJRVXNzYjBOQlFXOURMRU5CUVVNc1QwRkJUeXgxUTBGQmRVTjVSQ3hMUVVGTExFTkJRVU5pTEZOQlFWTXNTVUZCU1RWRExFbEJRVWtzUTBGQlF5eERRVUZETEV0QlFVc3NXVUZCV1N4RFFVRkRMRmRCUVZjc05FSkJRVFJDTEVOQlFVTXNjVUpCUVhGQ0xESkNRVUV5UWl4RFFVRkRMR2RDUVVGblFpdzBRa0ZCTkVJc1EwRkJReXhQUVVGUExIbENRVUY1UW1oS0xFVkJRVVVyU0N4TFFVRkxMRU5CUVVNc1VVRkJVU3hSUVVGUkxGTkJRVk0zU0N4RlFVRkZReXhIUVVGSGFVb3NSVUZCUldwS0xFVkJRVVVzVVVGQlVXbEtMRVZCUVVWcVNpeEZRVUZGTEZOQlFWTnBTaXhGUVVGRmFrb3NTMEZCU3l4SlFVRkpkMGtzUlVGQlJTeFRRVUZUUVN4RlFVRkZWQ3hIUVVGSExFbEJRVWxwUWl4RlFVRkZMRzFDUVVGdFFpOUpMRXRCUVV0RkxFZEJRVWNzWTBGQlkwWXNTMEZCUzBNc1VVRkJVVzFFTEZWQlFWVnRSaXhIUVVGSExFbEJRVWxCTEVkQlFVZFVMRVZCUVVVc1NVRkJTVUVzUlVGQlJTeEpRVUZKTEV0QlFVc3NUMEZCVDJ4SkxFVkJRVVVyU0N4TFFVRkxjVUlzUlVGQlJXaEtMRXRCUVV0RExGRkJRVkZ0UkN4VlFVRlZiVVlzU1VGQlNVc3NTVUZCU1N4VFFVRlRPVWtzUlVGQlJVTXNSMEZCUnl4SlFVRkpNRWdzUlVGQlJVc3NSVUZCUlM5SUxFVkJRVVVzUjBGQlIzZElMRkZCUVZFc1RVRkJUWFpJTEV0QlFVdHBTQ3hQUVVGUFlTeEhRVUZIZDBZc1pVRkJaWFpPTEVWQlFVVXNSMEZCUjJsS0xFVkJRVVZvU2l4TFFVRkxReXhSUVVGUmJVUXNWVUZCVlcxR0xFbEJRVWx6UlN4WlFVRlpjRVlzUlVGQlJVRXNSVUZCUlVZc1VVRkJVU3hMUVVGTGVVSXNSVUZCUldoS0xFdEJRVXRETEZGQlFWRnRSQ3hWUVVGVmJVWXNTVUZCU1hORkxGVkJRVlV2UlN4SFFVRkhMMGdzUlVGQlJTeE5RVUZOWjBvc1IwRkJSMmhLTEVWQlFVVXNSMEZCUnl4bFFVRmxNRWdzUlVGQlJTeE5RVUZOY2tJc1MwRkJTM0JITEU5QlFVOHJTU3hIUVVGSExFbEJRVWxCTEVkQlFVY3NVMEZCVXk5SkxFdEJRVXRGTEVkQlFVY3NZMEZCWTBZc1MwRkJTME1zVVVGQlVXMUVMRlZCUVZWdFJpeEhRVUZITEVsQlFVbEJMRWRCUVVkVUxFVkJRVVVzU1VGQlNVRXNSVUZCUlN4SlFVRkpMRXRCUVV0cFFpeEhRVUZITEhWQ1FVRjFRa01zUlVGQlJXaEtMRXRCUVV0RExGRkJRVkZ0UkN4VlFVRlZiVVlzU1VGQlNXbEVMRk5CUVZNc1RVRkJUWHBETEVkQlFVY3NkMEpCUVhkQ0wwa3NTMEZCUzBVc1IwRkJSeXhqUVVGalJpeExRVUZMUXl4UlFVRlJiVVFzVlVGQlZXMUdMRWRCUVVjc1NVRkJTVUVzUjBGQlIxUXNSVUZCUlN4SlFVRkpRU3hGUVVGRkxFbEJRVWtzU1VGQlNXbENMRWRCUVVkRExFVkJRVVZvU2l4TFFVRkxReXhSUVVGUmJVUXNWVUZCVlcxR0xFbEJRVWw1UlN4UFFVRlBMRGhDUVVFNFFtaEZMRVZCUVVWb1NpeExRVUZMUXl4UlFVRlJiVVFzVlVGQlZXMUdMRWxCUVVsNVJTeFBRVUZQTEVsQlFVa3NSMEZCUjJwRkxFZEJRVWNzUzBGQlN6TkRMRXRCUVV0d1J5eE5RVUZOUVN4TFFVRkxkVTRzWTBGQll5eEhRVUZITTA0c1JVRkJSU3RJTEV0QlFVc3NRMEZCUXl4UFFVRlBMRk5CUVZNc1UwRkJVemRJTEVWQlFVVXlTQ3hIUVVGSExFbEJRVWw2U0N4TFFVRkxReXhSUVVGUmJVUXNWVUZCVlhGRkxFdEJRVXQxUWl4RlFVRkZhRW9zUzBGQlMwTXNVVUZCVVcxRUxGVkJRVlZ4UlN4TFFVRkxMRk5CUVZOQkxFbEJRVWw2U0N4TFFVRkxReXhSUVVGUmEwUXNTMEZCU3l4TlFVRk5MRWRCUVVjMlJpeEZRVUZGYUVvc1MwRkJTME1zVVVGQlVXMUVMRlZCUVZWeFJTeEpRVUZKYjBZc1ZVRkJWV3BPTEVWQlFVVXJTQ3hMUVVGTExFTkJRVU1zVFVGQlRTeFJRVUZSTEZOQlFWTXNVVUZCVVN4VFFVRlROMGdzUlVGQlJVTXNSMEZCUjBNc1MwRkJTM1ZPTEdWQlFXVm9SaXhGUVVGRlpDeEZRVUZGTVVnc1NVRkJTWEZITEV0QlFVdHdSeXhQUVVGUFFTeExRVUZMZFU0c1pVRkJaV2hHTEVWQlFVVmtMRWxCUVVseVFpeExRVUZMY0Vjc1VVRkJVVUVzUzBGQlMwTXNVVUZCVVcxRUxGZEJRVmR3UkN4TFFVRkxOa3dzZDBKQlFYZENOMHdzUzBGQlMzZE9MR2RDUVVGblFpeFhRVUZYZUU0c1MwRkJTM2xPTEdkQ1FVRmxMRVZCUVVkRExGZEJRVmNzVjBGQlZ6Rk9MRXRCUVV0NVRpeG5Ra0ZCWlN4SFFVRkpja2dzUzBGQlMzQkhMRTFCUVUwc1MwRkJTMEVzUzBGQlN6Sk9MRk5CUVZNc1UwRkJVemRPTEVkQlFVY3NSMEZCUjBFc1JVRkJSVUVzU1VGQlNVVXNTMEZCU3pST0xFOUJRVThzVDBGQlR5eFZRVUZWTlU0c1MwRkJTME1zVVVGQlVXdEVMRTFCUVUwc1UwRkJVM0pFTEVWQlFVVXNUMEZCVHl4TFFVRkxMRWxCUVVsRExFVkJRVVZETEV0QlFVdERMRkZCUVZGdFJDeFZRVUZWZEVRc1JVRkJSU3hsUVVGbExGVkJRVlZGTEV0QlFVc3dSeXhOUVVGTk1VY3NTMEZCU3pCSExFMUJRVTB4Unl4TFFVRkxReXhSUVVGUmRVTXNWMEZCVjBvc1IwRkJSM0JETEV0QlFVczJUaXhUUVVGVE4wNHNTMEZCUzJsSUxFOUJRVTlzU0N4SlFVRkpReXhMUVVGTGFVZ3NUMEZCVDJwSUxFdEJRVXN3Unl4VFFVRlRNMGNzUlVGQlJVTXNTMEZCUzJkSUxGRkJRVkZxU0N4SlFVRkpMRWxCUVVrd1NDeEZRVUZGTEZGQlFWRjZTQ3hMUVVGTFJTeEhRVUZITEdOQlFXTkdMRXRCUVV0RExGRkJRVkZ0UkN4VlFVRlZkRVFzUjBGQlJ5eEpRVUZKUVN4RlFVRkZMRk5CUVZORkxFdEJRVXRGTEVkQlFVY3NZMEZCWTBZc1MwRkJTME1zVVVGQlVXMUVMRlZCUVZWMFJDeEhRVUZITEVsQlFVbEJMRVZCUVVVc1NVRkJTVU1zUlVGQlJVTXNTMEZCU3pKSkxGRkJRVkZ5Uml4VFFVRlRiVVVzUjBGQlJ6RklMRVZCUVVVc1NVRkJTU3RPTEZkQlFWYzVUaXhMUVVGTE1ra3NVVUZCVVVNc1NVRkJTU3gxUWtGQmRVSXNVMEZCVXpsSkxFbEJRVWxETEVWQlFVVTJSeXhMUVVGTGJVZ3NTVUZCU1doUExFVkJRVVZETEV0QlFVdERMRkZCUVZGclJDeFBRVUZQZFVzc1YwRkJWeXhYUVVGWE1VNHNTMEZCU3pKSkxGRkJRVkZ4Uml4WlFVRlpka2NzU1VGQlNYSkNMRXRCUVV0d1J5eE5RVUZOUkN4SlFVRkpReXhMUVVGTGFVOHNaMEpCUVdkQ0xGZEJRVmNzU1VGQlNXNVBMRVZCUVVWRkxFdEJRVXN5U1N4UlFVRlJkVVlzUzBGQlN5eFRRVUZUY2trc1RVRkJUU3hMUVVGTGMwa3NUMEZCVHl4VFFVRlRjazhzUjBGQlJ5eFBRVUZQTEVsQlFVbEJMRVZCUVVWelR5eFpRVUZaTEZGQlFWRndUeXhMUVVGTFJTeEhRVUZITEdGQlFXRXNTVUZCU1d0SExFdEJRVXR3Unl4UFFVRlBRU3hMUVVGTE1ra3NVVUZCVVhWR0xFdEJRVXNzVVVGQlVYQlBMRVZCUVVWclJ5eExRVUZMTEZGQlFWRm9SeXhMUVVGTFF5eFJRVUZSVVN4cFFrRkJhVUpVTEV0QlFVdERMRkZCUVZGVExHMUNRVUZ0UW1Rc1JVRkJSVFpHTEZGQlFWRjFReXhIUVVGSExIbENRVUY1UW1oSkxFdEJRVXRGTEVkQlFVY3NVMEZCVTBvc1IwRkJSMFVzUzBGQlN6Uk9MRkZCUVZFMVRpeExRVUZMYlVNc1dVRkJXV2xGTEV0QlFVdHdSeXhQUVVGUExGZEJRVmRLTEVWQlFVVXJSaXhMUVVGTE0wWXNTMEZCUzBNc1VVRkJVWGRGTEdkQ1FVRm5RbnBGTEV0QlFVdERMRkZCUVZGM1JTeGhRVUZoTEVOQlFVTjZSU3hMUVVGTFF5eFJRVUZSZDBVc1pVRkJaU3hYUVVGWE4wVXNSVUZCUlN0R0xFdEJRVXN6Uml4TFFVRkxReXhSUVVGUmVVVXNVMEZCVXpGRkxFdEJRVXRETEZGQlFWRjVSU3hOUVVGTkxFTkJRVU54U0N4TFFVRkxMMHdzUzBGQlMwTXNVVUZCVVhsRkxGRkJRVkVzVjBGQlZ6bEZMRVZCUVVVclJpeExRVUZMTTBZc1MwRkJTME1zVVVGQlVUQkZMRlZCUVZVelJTeExRVUZMUXl4UlFVRlJNRVVzVDBGQlR5eERRVUZEYjBnc1MwRkJTeTlNTEV0QlFVdERMRkZCUVZFd1JTeFBRVUZQZVVVc1RVRkJUWEJLTEV0QlFVdERMRkZCUVZFd1JTeFZRVUZUTEVsQlFVc3pSU3hMUVVGTFF5eFJRVUZSZDBVc1kwRkJZM3BGTEV0QlFVdERMRkZCUVZGNVJTeFJRVUZSTVVVc1MwRkJTME1zVVVGQlVYZEZMR0ZCUVdFc1IwRkJSemRGTEVWQlFVVXJTQ3hMUVVGTE0wZ3NTMEZCUzBNc1VVRkJVWGxGTEUxQlFVMHNVMEZCVXpWRkxFVkJRVVZETEVkQlFVZERMRXRCUVV0RExGRkJRVkYzUlN4aFFVRmhORW9zUzBGQlMzUlBMRVZCUVVVc1VVRkJVVU1zUzBGQlMwTXNVVUZCVVhkRkxHRkJRV0UwU2l4TFFVRkxkRThzUlVGQlJTeFRRVUZUY1Vjc1MwRkJTM0JITEZGQlFWRkJMRXRCUVV0RExGRkJRVkYzUlN4aFFVRmhjMFFzVVVGQlVXNUpMRVZCUVVVclNDeExRVUZMTTBnc1MwRkJTME1zVVVGQlVYZEZMR0ZCUVdFc1UwRkJVek5GTEVWQlFVVkRMRWRCUVVjc1NVRkJTVEJJTEVWQlFVVXNTVUZCU1RaSExFMUJRVTAzUnl4RlFVRkZPRWNzU1VGQlNYaFBMRVZCUVVVd1NDeEZRVUZGSzBjc1VVRkJVU3hUUVVGVGVFOHNTMEZCUzIxSExGZEJRVmNzVlVGQlZXNUhMRXRCUVVzc1NVRkJTVVlzUlVGQlJVTXNSVUZCUlN4UFFVRlBSaXhGUVVGRk5FOHNWVUZCVlRWT0xFOUJRVThzVTBGQlUyWXNSVUZCUlhsSkxFZEJRVWNzVDBGQlQzcEpMRVZCUVVWQkxFZEJRVWRGTEV0QlFVdERMRkZCUVZGWkxFOUJRVThzVlVGQlZXcENMRVZCUVVVclJpeExRVUZMTjBZc1MwRkJTMEVzUlVGQlJVWXNSVUZCUlVVc1NVRkJTWGxKTEVWQlFVVkJMRWRCUVVkMlNTeExRVUZMUXl4UlFVRlJZU3hSUVVGUmFFSXNSMEZCUjBFc1JVRkJSV2xKTEZGQlFWRnVTU3hGUVVGRkswZ3NTMEZCU3pkSUxFVkJRVVVzVTBGQlUwRXNSVUZCUlRKSUxFbEJRVWxCTEVWQlFVVTNTQ3hGUVVGRk5rZ3NTVUZCU1dwSExFdEJRVXNzYVVKQlFXbENlRUlzUzBGQlMwVXNUVUZCVFN4VFFVRlRSaXhMUVVGTFF5eFJRVUZSWjBJc1dVRkJXU3hOUVVGTmQwY3NSVUZCUlhsSExFdEJRVXNzVlVGQlZYcEhMRVZCUVVWcVJ5eExRVUZMTEd0Q1FVRnJRbWxITEVWQlFVVjVSeXhMUVVGTExGVkJRVlZSTEZkQlFWY3NVMEZCVXpGUExFdEJRVXN5VHl4dFFrRkJiVUl6VHl4TFFVRkxNazhzYVVKQlFXbENMRWxCUVVrelR5eExRVUZMTWs4c2FVSkJRV2xDVGl4TFFVRkxOVWNzUlVGQlJTeEpRVUZKUVN4RlFVRkZUeXhIUVVGSFR5eEZRVUZGTEdkQ1FVRm5RblpKTEV0QlFVdEZMRWRCUVVjc1UwRkJVMG9zUjBGQlJ5eEpRVUZKUXl4RlFVRkZReXhMUVVGTE5FOHNUMEZCVDBNc1lVRkJZVGRQTEV0QlFVczBUeXhQUVVGUExHTkJRV055Unl4SFFVRkhka2tzUzBGQlN6Uk9MRkZCUVZFMVRpeExRVUZMYlVzc1QwRkJUeXhKUVVGSk1VTXNSVUZCUlN4TFFVRkxla2dzUzBGQlN6Uk9MRkZCUVZFMVRpeExRVUZMYlVzc1VVRkJVVzVMTEV0QlFVdHRTeXhQUVVGUExFbEJRVWt4UXl4RlFVRkZMRXRCUVVzeFNDeEhRVUZGTEVkQlFVbERMRXRCUVV0dFN5eFBRVUZQTVVNc1JVRkJSWHBJTEV0QlFVdERMRkZCUVZGcFF5eFRRVUZUYkVNc1MwRkJTMnRETEU5QlFVOTFSaXhIUVVGSExGTkJRVk5qTEVkQlFVZDJTU3hMUVVGTFF5eFJRVUZSWXl4blFrRkJaMEpxUWl4RlFVRkZhVUlzYVVKQlFXbENaaXhMUVVGTExGTkJRVk4xU1N4SFFVRkhlRWtzUlVGQlJTeFBRVUZQTEdOQlFXTnhSeXhMUVVGTGNFY3NUMEZCVHl4alFVRmpRU3hMUVVGTFF5eFJRVUZSWVN4VFFVRlRNa2NzUlVGQlJVOHNSMEZCUnl4aFFVRmhMRk5CUVZOc1NTeEhRVUZITEVsQlFVbEZMRXRCUVVzeVNTeFJRVUZSTEU5QlFVOHNTMEZCU3pOSkxFdEJRVXRETEZGQlFWRTJSQ3h2UWtGQmIwSm9SU3hGUVVGRmMwc3NaVUZCWlhCTExFdEJRVXN5U1N4UlFVRlJMRWxCUVVrdlNTeEZRVUZGUlN4RlFVRkZjMHNzWlVGQlpXcENMRkZCUVZFc1NVRkJTVzVLTEV0QlFVdEZMRWxCUVVrMlNDeFRRVUZUTDBnc1MwRkJTMjlLTEZOQlFWTm9SQ3hMUVVGTGNFY3NUMEZCVDNsSUxFVkJRVVZxUnl4TFFVRkxMR2xDUVVGcFFuaENMRXRCUVV0RkxFZEJRVWR4U1N4SFFVRkhka2tzUzBGQlMyMUhMRmRCUVZjc1YwRkJWM05DTEV0QlFVdHlRaXhMUVVGTGNFY3NUMEZCVDBFc1RVRkJUVWdzUlVGQlJUUlBMRlZCUVZWTExFOUJRVThzVTBGQlUyaFFMRWRCUVVjc1QwRkJUMEVzUlVGQlJVRXNSMEZCU1VVc1MwRkJTekpQTEd0Q1FVRnJRaXhMUVVGTk4wOHNSVUZCUldsSkxGRkJRVkZ1U1N4RlFVRkZLMGdzUzBGQlN6ZElMRVZCUVVVc1UwRkJVMEVzUlVGQlJVTXNTVUZCU1VFc1JVRkJSVWdzUlVGQlJVY3NTVUZCU1hsQ0xFdEJRVXNzYVVKQlFXbENlRUlzUzBGQlMwVXNUVUZCVFVnc1JVRkJSVGhLTEVsQlFVazVTaXhGUVVGRmVVSXNTMEZCU3l4cFFrRkJhVUo0UWl4TFFVRkxSU3hKUVVGSkxHZENRVUZuUWtZc1MwRkJTMFVzU1VGQlNVZ3NSVUZCUlhsQ0xFdEJRVXNzYVVKQlFXbENlRUlzUzBGQlMwVXNSMEZCUnl4UFFVRlBSaXhMUVVGTE1rOHNhVUpCUVdsQ0wwOHNSVUZCUlcxUUxFdEJRVXN2VHl4TFFVRkxNazhzYVVKQlFXbENMRk5CUVZNM1R5eEhRVUZITEU5QlFVOUJMRWRCUVVkRExFVkJRVVVzVFVGQlRYRkhMRXRCUVV0d1J5eFBRVUZQUVN4TlFVRk5TQ3hGUVVGRk5FOHNWVUZCVlRGRUxGTkJRVk1zVTBGQlUycE1MRVZCUVVWRExFZEJRVWNzUjBGQlJ5eE5RVUZOUkN4SFFVRkhMRTFCUVUxQkxFVkJRVVVzVDBGQlQwVXNTMEZCUzBFc1MwRkJTekpKTEZOQlFWTXpTU3hMUVVGTEswb3NWVUZCVlN4SlFVRkpkRU1zUlVGQlJYcElMRXRCUVVzeVNTeFJRVUZSVGl4alFVRmpSU3hGUVVGRmRra3NTMEZCU3pKSkxGRkJRVkZGTEdGQlFXRXNUMEZCVHpkSkxFdEJRVXRyUWl4UlFVRlJiRUlzUzBGQlMzbEpMR1ZCUVdVM1NTeEZRVUZGTERaQ1FVRTJRa2tzUzBGQlMydENMRTFCUVUxMFFpeEZRVUZGTEZWQlFWVnZSU3hUUVVGVGFFVXNTMEZCUzNsSkxHZENRVUZuUWl4VFFVRlRla2tzUzBGQlMwTXNVVUZCVVRoRUxHVkJRV01zU1VGQlN5OUVMRXRCUVV0RExGRkJRVkU0UkN4aFFVRmhMMFFzUzBGQlMwTXNVVUZCVVhORUxGZEJRVmQyUkN4TFFVRkxNa2tzVVVGQlVYSkdMRk5CUVZNc01FSkJRVEJDZEVRc1MwRkJTeXRFTEZsQlFWbERMRk5CUVZOb1JTeExRVUZMZVVrc2FVSkJRV2xDZWtrc1MwRkJTM2xKTEdWQlFXVjFSeXhoUVVGaGFGQXNTMEZCUzJkQ0xGTkJRVk5vUWl4TFFVRkxkMGtzYTBKQlFXdENlRWtzUzBGQlN6SkpMRkZCUVZFM1NTeEZRVUZGTEZkQlFWY3NaVUZCWlN4cFFrRkJhVUpGTEV0QlFVdHJRaXhOUVVGTkswNHNTMEZCUzI1UUxFZEJRVWQ1U1N4SFFVRkhka2tzUzBGQlN6SkpMRkZCUVZGRkxHTkJRV00zU1N4TFFVRkxkMGtzYVVKQlFXbENlRWtzUzBGQlMwTXNVVUZCVVcxRkxGZEJRVmR3UlN4TFFVRkxPRWtzWVVGQllTOUpMRWxCUVVsRExFdEJRVXRETEZGQlFWRTRReXh4UWtGQmNVSXdSU3hIUVVGSGVrZ3NTMEZCU3pKSkxGRkJRVkZPTEdWQlFXVkZMRWRCUVVkMlNTeExRVUZMTWtrc1VVRkJVVVVzWTBGQll6ZEpMRXRCUVV0dFF5eFhRVUZYYmtNc1RVRkJUVWdzUlVGQlJUUlBMRlZCUVZVM1RTeFhRVUZYTEZOQlFWTTVRaXhGUVVGRlF5eEhRVUZITEVkQlFVY3NUVUZCVFVRc1IwRkJSeXhOUVVGTlFTeEZRVUZGTEU5QlFVOUZMRXRCUVV0QkxFdEJRVXN5U1N4VFFVRlRNMGtzUzBGQlN5dEtMRlZCUVZVc1NVRkJTWFJETEVWQlFVVjZTQ3hMUVVGTE1ra3NVVUZCVVU0c1kwRkJZMFVzUlVGQlJYWkpMRXRCUVVzeVNTeFJRVUZSUlN4aFFVRmhMRTlCUVU4M1NTeExRVUZMWjBJc1VVRkJVV3RQTEZOQlFWTXNaME5CUVdkRGJFd3NVMEZCVXl4UlFVRlJORVVzU1VGQlNTeERRVUZEY1VJc1VVRkJVU3hUUVVGVGNrc3NSVUZCUlN0R0xFdEJRVXMzUml4SlFVRkpMRWxCUVVrc1UwRkJVMFVzUzBGQlMyZENMRkZCUVZGcFR5eExRVUZMYmxBc1IwRkJSeXhOUVVGTkxFbEJRVWtzVTBGQlUwRXNTVUZCU1VFc1lVRkJZVVlzUjBGQlIwVXNSVUZCUlhGUUxGbEJRVmxXTEZWQlFWVlhMRk5CUVZOd1VDeExRVUZMWjBJc1VVRkJVV2xQTEV0QlFVc3NTVUZCU1c1UUxFVkJRVVZ2VHl4TFFVRkxMRFpDUVVFMlFpeEhRVUZIYkVzc1UwRkJVMmhGTEV0QlFVdG5RaXhUUVVGVE5FZ3NTVUZCU1N4RFFVRkRjVUlzVVVGQlVTeFhRVUZYYWtzc1MwRkJTMmRDTEZGQlFWRnBUeXhMUVVGTFNTeExRVUZMUXl4VlFVRlZlRkFzU1VGQlNTeFBRVUZQZVVrc1IwRkJSM1pKTEV0QlFVc3lTU3hSUVVGUlJTeGpRVUZqTjBrc1MwRkJTM2RKTEdsQ1FVRnBRbmhKTEV0QlFVdERMRkZCUVZGdFJTeFhRVUZYY0VVc1MwRkJTemhKTEdGQlFXRXZTU3hKUVVGSlF5eExRVUZMUXl4UlFVRlJPRU1zY1VKQlFYRkNNRVVzUjBGQlIzcElMRXRCUVVzeVNTeFJRVUZSVGl4bFFVRmxSU3hIUVVGSGRra3NTMEZCU3pKSkxGRkJRVkZGTEdOQlFXTTNTU3hMUVVGTGJVTXNWMEZCVjI1RExFMUJRVTFJTEVWQlFVVTBUeXhWUVVGVll5eGpRVUZqTEZOQlFWTjZVQ3hGUVVGRlF5eEZRVUZGTUVnc1IwRkJSM3BJTEV0QlFVc3lTU3hUUVVGVE0wa3NTMEZCU3l0S0xGVkJRVlVzVFVGQlRXaExMRWxCUVVsQkxFVkJRVVVzVVVGQlVVTXNTMEZCUzJkQ0xGRkJRVkUwU0N4SlFVRkpPVWtzUlVGQlJVVXNTMEZCUzI5SUxGRkJRVkZ5U0N4SlFVRkpMRk5CUVZORUxFZEJRVWRGTEV0QlFVdDNTU3hwUWtGQmFVSjRTU3hMUVVGTFF5eFJRVUZSU0N4SFFVRkhReXhGUVVGRkxFMUJRVTB3U0N4SlFVRkpRU3hIUVVGSGVrZ3NTMEZCUzIxRExGbEJRVmwwUXl4RlFVRkZORThzVlVGQlZXVXNVMEZCVXl4VFFVRlRNVkFzUlVGQlJVTXNSMEZCUjBNc1MwRkJTM1ZRTEdOQlFXTXNVVUZCVVhwUUxFVkJRVVZETEVsQlFVbEdMRVZCUVVVMFR5eFZRVUZWWjBJc1ZVRkJWU3hUUVVGVE0xQXNSVUZCUlVNc1IwRkJSME1zUzBGQlMzVlFMR05CUVdNc1UwRkJVM3BRTEVWQlFVVkRMRWxCUVVsR0xFVkJRVVUwVHl4VlFVRlZkRTBzVTBGQlV5eFRRVUZUYzBZc1IwRkJSeXhIUVVGSFFTeEZRVUZGUVN4SFFVRkhMRWRCUVVkQkxFVkJRVVUzU0N4RlFVRkZPRVlzVVVGQlR5eEZRVUZITVVZc1MwRkJTME1zVVVGQlVYZElMRWRCUVVkNlNDeExRVUZMYTBNc1QwRkJUM1ZHTEVWQlFVVjJSaXhSUVVGUmJFTXNTMEZCUzJ0RExGRkJRVkYwUXl4RlFVRkZOa1lzVVVGQlVYcEdMRXRCUVV0clF5eHJRa0ZCYTBKMFF5eEhRVUZITEZOQlFWTkpMRXRCUVV0clF5eFRRVUZUYkVNc1MwRkJTMnRETEU5QlFVOTBReXhGUVVGRlNTeExRVUZMYTBNc1ZVRkJWV3hETEV0QlFVdHJReXhQUVVGUE5rWXNUMEZCVHl4UFFVRlBMMGdzUzBGQlMwRXNTMEZCUzJkQ0xGRkJRVkUwU0N4SlFVRkpMRU5CUVVONlNTeE5RVUZOU0N4TFFVRkxiMGdzVVVGQlVVc3NSVUZCUlhSSUxFMUJRVTBzVTBGQlUwTXNUMEZCVDBvc1MwRkJTMjlJTEZGQlFWRkxMRVZCUVVWeVNDeFBRVUZQTEZWQlFWVkRMRk5CUVZOTUxFdEJRVXR2U0N4UlFVRlJTeXhGUVVGRmNFZ3NVMEZCVXl4VFFVRlRReXhWUVVGVlRpeExRVUZMYjBnc1VVRkJVVXNzUlVGQlJXNUlMRlZCUVZVc1ZVRkJWVU1zVTBGQlUxQXNTMEZCUzI5SUxGRkJRVkZMTEVWQlFVVnNTQ3hUUVVGVExGTkJRVk5ETEZWQlFWVlNMRXRCUVV0dlNDeFJRVUZSU3l4RlFVRkZha2dzVlVGQlZTeFpRVUZaVWl4TFFVRkxkMGtzYVVKQlFXbENMRWxCUVVsRUxFVkJRVVYyU1N4TFFVRkxORXdzYjBKQlFXOUNMRk5CUVZNMVRDeExRVUZMYTBNc1VVRkJVV3hETEV0QlFVdHJReXhQUVVGUFZpeExRVUZMTEZGQlFWRjRRaXhMUVVGTFJTeEhRVUZITEZkQlFWZEdMRXRCUVV0clF5eFBRVUZQVml4TFFVRkxMRkZCUVZGNFFpeExRVUZMUlN4SFFVRkhMRk5CUVZOR0xFdEJRVXRyUXl4UFFVRlBMRWxCUVVsMFF5eEZRVUZGTmtZc1VVRkJVU3hMUVVGTExGTkJRVk42Uml4TFFVRkxhME1zVDBGQlR6QkhMRWxCUVVrc1lVRkJZU3hGUVVGRk5Va3NTMEZCUzJ0RExFOUJRVTlwU0N4VlFVRlZaMFlzVDBGQlR5eFhRVUZYTEUxQlFVMHNVMEZCVTNaUExFVkJRVVZKTEUxQlFVMDBTU3hKUVVGSkxHTkJRV05pTEZGQlFWRXNVVUZCVVN4VlFVRlZMRWxCUVVscVNTeEZRVUZGTEVOQlFVTnpReXhGUVVGRmVFTXNSVUZCUlRaR0xGRkJRVkZ2UkN4aFFVRmhlRWNzUlVGQlJYcERMRVZCUVVVMlJpeFJRVUZSTkVNc1kwRkJZeTlDTEVsQlFVbHRRaXhGUVVGRmFFWXNUMEZCVDNwRExFdEJRVXRyUXl4UFFVRlBWaXhMUVVGTExGRkJRVkY0UWl4TFFVRkxSU3hIUVVGSExGVkJRVlVzUlVGQlJVNHNSVUZCUlRaR0xGRkJRVkV5UXl4WlFVRlpNMElzUzBGQlMyZENMRVZCUVVWb1JpeFBRVUZQZWtNc1MwRkJTMnRETEU5QlFVOVdMRXRCUVVzc1VVRkJVWGhDTEV0QlFVdEZMRWRCUVVjc1ZVRkJWU3hGUVVGRlRpeEZRVUZGTmtZc1VVRkJVWEZGTEdOQlFXTm9TeXhGUVVGRk1FY3NUMEZCVHpGSExFVkJRVVYzUnl4SlFVRkplRWNzUlVGQlJYVkRMRVZCUVVWMlF5eEZRVUZGZVVjc1RVRkJUWHBITEVWQlFVVXlSeXhMUVVGTE0wY3NSVUZCUlhORExFVkJRVVVzU1VGQlNTeEpRVUZKY2tNc1JVRkJSVU1zUzBGQlMydERMRTlCUVU5TExGTkJRVk1zVFVGQlRYcERMRWRCUVVkRExFVkJRVVVzUTBGQlEzVkhMRWxCUVVrc1JVRkJSVWNzUzBGQlN5eEhRVUZITEZOQlFWTjZSeXhMUVVGTGEwTXNVVUZCVVN4VFFVRlRiRU1zUzBGQlMydERMRTlCUVU5V0xFdEJRVXNzVVVGQlVYaENMRXRCUVV0RkxFZEJRVWNzVjBGQlYzVklMRVZCUVVWb1JpeFJRVUZSTVVNc1JVRkJSWFZITEVsQlFVbDJSeXhGUVVGRmRVY3NTVUZCU1RGSExFVkJRVVUyUml4UlFVRlJNa01zV1VGQldYSkpMRVZCUVVVd1J5eExRVUZMTVVjc1JVRkJSVEJITEV0QlFVczNSeXhGUVVGRk5rWXNVVUZCVVhGRkxHTkJRV01zU1VGQlNXaERMRVZCUVVVc1EwRkJRekZHTEVWQlFVVXNVMEZCVTNCRExFdEJRVXRyUXl4UFFVRlBMRWRCUVVkc1F5eExRVUZMYTBNc1QwRkJUekpITEdGQlFXRjRSeXhGUVVGRkxGTkJRVk55UXl4TFFVRkxhME1zVDBGQlR5eEhRVUZIYkVNc1MwRkJTMnRETEU5QlFVOXRSeXhqUVVGakwwSXNTVUZCU1N4VFFVRlRkRWNzUzBGQlMydERMRkZCUVZGMVJpeEZRVUZGZVVRc1dVRkJXWHBFTEVWQlFVVjVSQ3haUVVGWk5VVXNTVUZCU1haSExFVkJRVVZCTEVWQlFVVjFSeXhKUVVGSkxFVkJRVVZITEV0QlFVc3NVMEZCVTNwSExFdEJRVXRyUXl4UlFVRlJkVVlzUlVGQlJYbEVMRmxCUVZsNlJDeEZRVUZGZVVRc1dVRkJXWHBGTEV0QlFVc3hSeXhGUVVGRlFTeEZRVUZGTUVjc1MwRkJTeXhIUVVGSGMwTXNSVUZCUlhSQ0xFVkJRVVZ1Uml4WFFVRlhMRlZCUVZWdFJpeEZRVUZGZEVZc1UwRkJVME1zUjBGQlJ5eFZRVUZWY1VZc1JVRkJSWFJHTEZOQlFWTkZMRWRCUVVjeVJ5eEZRVUZGTEVOQlFVTTFSeXhGUVVGRmRFTXNSVUZCUlhORExFVkJRVVZ4Uml4RlFVRkZOMFVzWlVGQlpUWkVMRXRCUVV0blFpeEZRVUZGTjBVc1pVRkJaVEpFTEUxQlFVMXNSU3hGUVVGRmRrTXNSVUZCUlhWRExFVkJRVVZ2Uml4RlFVRkZOMFVzWlVGQlpUQkVMRWxCUVVsdFFpeEZRVUZGTjBVc1pVRkJaVFJFTEU5QlFVOURMRXRCUVV0elF5eEZRVUZGYWtJc1JVRkJSWEpDTEV0QlFVczNSeXhGUVVGRk5rWXNVVUZCVVhGRkxHRkJRV0Z5UXl4RlFVRkZOMFVzWlVGQlpUWkVMRXRCUVVzc1JVRkJSVVlzVFVGQlRYZERMRVZCUVVWcVNpeEZRVUZGYzBNc1JVRkJSVEJHTEVWQlFVVnlRaXhMUVVGTE4wY3NSVUZCUlRaR0xGRkJRVkZ4UlN4aFFVRmhhRU1zUlVGQlJURkdMRVZCUVVWeFJpeEZRVUZGTjBVc1pVRkJaVEpFTEUxQlFVMHNSVUZCUlVRc1NVRkJTWGxETEVWQlFVVnFRaXhGUVVGRmVFSXNTVUZCU1RGSExFVkJRVVUyUml4UlFVRlJNa01zV1VGQldYQkpMRXRCUVV0RExGRkJRVkV5UXl4bFFVRmxNRVFzU1VGQlNTeEZRVUZGUlN4UFFVRlBkVU1zUlVGQlJXcEtMRVZCUVVWMVF5eEZRVUZGZVVZc1JVRkJSWGhDTEVsQlFVa3hSeXhGUVVGRk5rWXNVVUZCVVRKRExGbEJRVmxPTEVWQlFVVjZSaXhGUVVGRmIwWXNSVUZCUlRkRkxHVkJRV1UwUkN4UFFVRlBMRWRCUVVjelJ5eEZRVUZGTEVOQlFVTjFReXhGUVVGRkxFdEJRVXR4Uml4RlFVRkZia1lzVTBGQlV5eE5RVUZOYlVZc1JVRkJSVzVHTEZOQlFWTXNWVUZCVlRGRExFVkJRVVVyUml4TFFVRkxPRUlzUlVGQlJYUkdMRk5CUVZORExFZEJRVWNzUzBGQlMzRkdMRVZCUVVWMFJpeFRRVUZUUXl4RlFVRkZReXhGUVVGRkxFdEJRVXR2Uml4RlFVRkZia1lzVTBGQlV5eE5RVUZOYlVZc1JVRkJSVzVHTEZOQlFWTXNWVUZCVlRGRExFVkJRVVVyUml4TFFVRkxPRUlzUlVGQlJYUkdMRk5CUVZORkxFZEJRVWNzUzBGQlMyOUdMRVZCUVVWMFJpeFRRVUZUUlN4SFFVRkhjVTRzUlVGQlJTeERRVUZEZEU0c1IwRkJSU3hGUVVGSFF5eEhRVUZGTEVkQlFVbDRReXhGUVVGRmRVTXNSMEZCUjIxSExFVkJRVVZ1Unl4RlFVRkZORWNzUlVGQlJXNUtMRVZCUVVWMVF5eEpRVUZKTkVjc1JVRkJSV2hLTEV0QlFVdG5TQ3hSUVVGUmJrZ3NSVUZCUlhWRExFbEJRVWswUnl4RlFVRkZia29zUlVGQlJYVkRMRXRCUVV0MlF5eEZRVUZGZFVNc1JVRkJSWEJETEV0QlFVdG5TQ3hSUVVGUmJrZ3NSVUZCUlhWRExFMUJRVTF6VGl4RlFVRkZkRTRzUjBGQlJTeEhRVUZKZGtNc1JVRkJSWGRETEVkQlFVZHJSeXhGUVVGRmJFY3NSVUZCUlRKSExFVkJRVVZ1U2l4RlFVRkZkME1zU1VGQlNUSkhMRVZCUVVWb1NpeExRVUZMWjBnc1VVRkJVVzVJTEVWQlFVVjNReXhKUVVGSk1rY3NSVUZCUlc1S0xFVkJRVVYzUXl4TFFVRkxlRU1zUlVGQlJYZERMRVZCUVVWeVF5eExRVUZMWjBnc1VVRkJVVzVJTEVWQlFVVjNReXhOUVVGTmNVNHNSVUZCUlhKT0xFZEJRVVVzU1VGQlMyOUdMRVZCUVVWb1NDeHBRa0ZCYVVKblNDeEZRVUZGTDBjc2IwSkJRVzlDYVZBc1JVRkJSU3hYUVVGWExFbEJRVWszVUN4RlFVRkZNa2dzUlVGQlJXaElMR2xDUVVGcFFqaElMRVZCUVVWdVJ5eEZRVUZGTkVjc1JVRkJSVzVLTEVWQlFVVjFReXhIUVVGSExFOUJRVTkwUXl4RlFVRkZhMG9zUlVGQlJXNUtMRVZCUVVWMVF5eEhRVUZITEUxQlFVMXdReXhMUVVGTGFVUXNVMEZCVXpoR0xFZEJRVWNzUzBGQlMzUkNMRVZCUVVWdVJpeFJRVUZSZEVNc1MwRkJTMmxFTEZGQlFWRXlTQ3hYUVVGWGVFa3NSVUZCUlN4SFFVRkhhMFlzVTBGQlUzUklMRXRCUVV0elN5eFZRVUZWTVVJc1NVRkJTU3h6UWtGQmMwSjBRaXhUUVVGVGRFZ3NTMEZCUzNOTExGVkJRVlV4UWl4SlFVRkpMSFZDUVVGMVFqVkpMRXRCUVV0blFpeFJRVUZSTkVnc1NVRkJTU3hEUVVGRGVra3NUVUZCVFV3c1JVRkJSVVVzUzBGQlMwTXNVVUZCVVZVc2JVSkJRVzFDWWl4RlFVRkZMRXRCUVV0UExGTkJRVk5RTEVWQlFVVjNTQ3hUUVVGVGRFZ3NTMEZCUzJkQ0xGRkJRVkUwU0N4SlFVRkpMR0ZCUVdFc1JVRkJSU3hQUVVGUE5Va3NTMEZCUzNkSkxHdENRVUZyUWtRc1JVRkJSWFpKTEV0QlFVczBUQ3h4UWtGQmNVSjRSaXhMUVVGTGNFY3NUVUZCVFhsSUxFVkJRVVZvU0N4cFFrRkJhVUpyVUN4SlFVRkpiRWtzUlVGQlJXaElMR3RDUVVGclFtbFFMRVZCUVVWeVRpeEhRVUZIZUVNc1JVRkJSWGRETEVkQlFVZHJSeXhGUVVGRmJFY3NSVUZCUlRKSExFVkJRVVZ1U2l4RlFVRkZkME1zU1VGQlNUSkhMRVZCUVVWb1NpeExRVUZMWjBnc1VVRkJVVzVJTEVWQlFVVjNReXhKUVVGSk1rY3NSVUZCUlc1S0xFVkJRVVYzUXl4TFFVRkxlRU1zUlVGQlJYZERMRVZCUVVWeVF5eExRVUZMWjBnc1VVRkJVVzVJTEVWQlFVVjNReXhOUVVGTmNVNHNSVUZCUlhKT0xFZEJRVVVzUjBGQlNVUXNSVUZCUlN4WFFVRlhMRWxCUVVsMFF5eEZRVUZGTWtnc1JVRkJSUzlITEd0Q1FVRnJRalpJTEVWQlFVVnNSeXhGUVVGRk1rY3NSVUZCUlc1S0xFVkJRVVYzUXl4SFFVRkhMRTlCUVU5MlF5eEZRVUZGTEZkQlFWY3NUMEZCVDBVc1MwRkJTM2xKTEdkQ1FVRm5RbnBKTEV0QlFVdHZRaXhSUVVGUkxGRkJRVkZ3UWl4TFFVRkxNa2tzVVVGQlVVTXNTVUZCU1N4WlFVRlpOVWtzUzBGQlN6SkpMRkZCUVZGRExFbEJRVWtzVlVGQlZTeFRRVUZUT1Vrc1IwRkJSMFVzUzBGQlMzbEpMR1ZCUVdWNlNTeExRVUZMZVVrc1pVRkJaVW9zWTBGQll5eEpRVUZKY2trc1MwRkJTMjlDTEU5QlFVOXdRaXhMUVVGTGIwSXNUMEZCVDJsSUxHTkJRV01zUjBGQlIzSkpMRXRCUVVzeVNTeFJRVUZSUXl4SlFVRkpMRlZCUVZVc1UwRkJVemxKTEVkQlFVZEZMRXRCUVV0NVNTeGxRVUZsZWtrc1MwRkJTM2xKTEdWQlFXVktMR05CUVdNc1NVRkJTWEpKTEV0QlFVdHZRaXhQUVVGUGNFSXNTMEZCUzI5Q0xFOUJRVTlwU0N4alFVRmpMRWRCUVVkMlNTeEhRVUZITEVkQlFVY3NSVUZCUlN4SlFVRkpRU3hIUVVGSGMwY3NTMEZCUzNCSExFMUJRVTFHTEVWQlFVVnJTaXhGUVVGRmJrb3NSVUZCUlhkRExFZEJRVWNzVFVGQlRYSkRMRXRCUVV0cFJDeFRRVUZUT0VZc1IwRkJSeXhMUVVGTGRFSXNSVUZCUlc1R0xGRkJRVkYwUXl4TFFVRkxhVVFzVVVGQlVUSklMRmRCUVZkMlNTeEZRVUZGTEVkQlFVZDJReXhKUVVGSmQwZ3NVMEZCVTNSSUxFdEJRVXR6U3l4VlFVRlZNVUlzU1VGQlNTeHhRa0ZCY1VKMFFpeFRRVUZUZEVnc1MwRkJTM05MTEZWQlFWVXhRaXhKUVVGSkxIZENRVUYzUWpWSkxFdEJRVXRuUWl4UlFVRlJORWdzU1VGQlNTeERRVUZEZUVrc1QwRkJUMDRzUlVGQlJVVXNTMEZCUzBNc1VVRkJVVmNzYjBKQlFXOUNaQ3hGUVVGRkxFOUJRVTlGTEV0QlFVdDNTU3hyUWtGQmEwSkVMRVZCUVVWMlNTeExRVUZMTkV3c2NVSkJRWEZDZUVZc1MwRkJTM0JITEUxQlFVMTVTQ3hGUVVGRkwwY3NhMEpCUVd0Q01FSXNTVUZCU1hGR0xFVkJRVVV2Unl4dFFrRkJiVUpuVUN4RlFVRkZkRTRzUjBGQlIzWkRMRVZCUVVWMVF5eEhRVUZIYlVjc1JVRkJSVzVITEVWQlFVVTBSeXhGUVVGRmJrb3NSVUZCUlhWRExFbEJRVWswUnl4RlFVRkZhRW9zUzBGQlMyZElMRkZCUVZGdVNDeEZRVUZGZFVNc1NVRkJTVFJITEVWQlFVVnVTaXhGUVVGRmRVTXNTMEZCUzNaRExFVkJRVVYxUXl4RlFVRkZjRU1zUzBGQlMyZElMRkZCUVZGdVNDeEZRVUZGZFVNc1RVRkJUWE5PTEVWQlFVVjBUaXhIUVVGRkxFZEJRVWx4Uml4RlFVRkZMMFVzWjBKQlFXZENMRkZCUVZFclJTeEZRVUZGTDBVc2FVSkJRV2xDWjA0c1JVRkJSWFJPTEVkQlFVZDFUaXhKUVVGSlJDeEZRVUZGY2s0c1IwRkJSMFFzVFVGQlRTeEpRVUZKZDA0c1JVRkJSU3hIUVVGSFF5eEZRVUZGTEZOQlFWTXZVQ3hIUVVGSExFZEJRVWNzVlVGQlZVWXNSVUZCUlN0R0xFdEJRVXM0UWl4RlFVRkZkRVlzVTBGQlUzSkRMRWxCUVVrc1EwRkJReXhKUVVGSlF5eEZRVUZGTUVnc1JVRkJSV3BHTEZkQlFWY3hReXhIUVVGSExFdEJRVXRCTEVWQlFVVXNUMEZCVHl4TlFVRk5MRWRCUVVjNFVDeEZRVUZGTjFBc1IwRkJSeXRJTEVWQlFVVXZTQ3hIUVVGSExGVkJRVlV3U0N4RlFVRkZkRVlzVTBGQlUzSkRMRWRCUVVjc1QwRkJUemhRTEVWQlFVVTNVQ3hKUVVGSk5rY3NTMEZCUzJ0S0xFMUJRVTFvU1N4RlFVRkZhRWtzUjBGQlIzbEpMRVZCUVVWNlNTeEpRVUZKTEZGQlFWRXNVMEZCVTBVc1MwRkJTMnRETEZGQlFWRnNReXhMUVVGTGEwTXNUMEZCVHl4SlFVRkpiRU1zUzBGQlMydERMRTlCUVU4c1NVRkJTWFJETEVWQlFVVTJSaXhSUVVGUkxFdEJRVXR0U3l4RlFVRkZOMUFzU1VGQlNTeEpRVUZKTUVnc1JVRkJSVGRGTEdWQlFXVTNReXhIUVVGSE1FZ3NSVUZCUlRkRkxHVkJRV1UxUXl4TFFVRkxaMGdzVVVGQlVXcElMRTlCUVU5QkxFZEJRVWN3U0N4RlFVRkZkRVlzVTBGQlUzSkRMRXRCUVVzNFVDeEZRVUZGTjFBc1NVRkJTU3RJTEVWQlFVVm9TU3hIUVVGSGVVa3NSVUZCUlhwSkxFbEJRVWt5U0N4RlFVRkZia1lzVTBGQlUzaERMRWRCUVVjc1RVRkJUVEpJTEVWQlFVVnVSaXhWUVVGVmMwNHNSVUZCUlRkUUxFbEJRVWwzU1N4RlFVRkZla2tzU1VGQlNVTXNSMEZCUnpCSUxFVkJRVVYwUml4VFFVRlRja01zUjBGQlJ5eEhRVUZITEZOQlFWTTRVQ3hGUVVGRmJra3NSVUZCUldwR0xGZEJRVmN4UXl4SlFVRkpNa2dzUlVGQlJYUkdMRk5CUVZOeVF5eEpRVUZKYzBjc1MwRkJTM0JITEUxQlFVMHNSMEZCUnpaUUxFVkJRVVVzUzBGQlMwRXNSVUZCUlN4TFFVRkxOMUFzUzBGQlMybEVMRk5CUVZNc1ZVRkJWWGRGTEVWQlFVVjJSU3hUUVVGVExGVkJRVlYwUkN4RlFVRkZLMFlzUzBGQlN6aENMRVZCUVVWMFJpeFRRVUZUUXl4SlFVRkpMRlZCUVZWNFF5eEZRVUZGSzBZc1MwRkJTemhDTEVWQlFVVjBSaXhUUVVGVFJTeExRVUZMUVN4RlFVRkZMRVZCUVVVc1YwRkJWM0pETEV0QlFVdHBSQ3hSUVVGUmVVUXNUVUZCVFN4VlFVRlZaU3hGUVVGRmRFWXNVMEZCVTI1RExFdEJRVXRuU0N4UlFVRlJVeXhGUVVGRmJrWXNXVUZCV1VRc1IwRkJSMnRITEVWQlFVVjJTU3hMUVVGTFowZ3NVVUZCVVZNc1JVRkJSVzVHTEZWQlFWVXNSMEZCUnl4WFFVRlhiVVlzUlVGQlJYUkdMRk5CUVZOdVF5eExRVUZMWjBnc1VVRkJVVk1zUlVGQlJXNUdMRlZCUVZWRUxFbEJRVWxyUnl4RlFVRkZka2tzUzBGQlMyZElMRkZCUVZGVExFVkJRVVZ1Uml4VlFVRlZMRVZCUVVWMFF5eExRVUZMYVVRc1VVRkJVVEpJTEZkQlFWYzFTeXhMUVVGTFowZ3NVVUZCVVZNc1JVRkJSVzVHTEZWQlFWVXNTVUZCU1hSRExFdEJRVXRwUkN4UlFVRlJlVVFzVDBGQlR6RkhMRXRCUVV0dFNDeFBRVUZQYmtnc1MwRkJTMmxFTEZGQlFWRjVSQ3hQUVVGUExFZEJRVWNzUjBGQlIzSkZMRWRCUVVkeVF5eExRVUZMYVVRc1VVRkJVWGxFTEU5QlFVOWxMRVZCUVVWMFJpeFRRVUZUYmtNc1MwRkJTMmRJTEZGQlFWRlRMRVZCUVVWdVJpeFZRVUZWZEVNc1MwRkJTelJMTEZkQlFWYzFTeXhMUVVGTFowZ3NVVUZCVVZNc1JVRkJSVzVHTEZsQlFWa3NTVUZCU1RGRExFVkJRVVY1U3l4UlFVRlJja3NzUzBGQlMybEVMRkZCUVZGNVJDeE5RVUZOTEVOQlFVTXNUVUZCVFN4VFFVRlRMRWRCUVVjc1IwRkJSekZITEV0QlFVdHBSQ3hSUVVGUk1rZ3NWMEZCVnpWTExFdEJRVXRuU0N4UlFVRlJVeXhGUVVGRmJrWXNWVUZCVlN4SlFVRkpMRWxCUVVreFF5eEZRVUZGZVVzc1VVRkJVWEpMTEV0QlFVdHBSQ3hSUVVGUmVVUXNUVUZCVFN4RFFVRkRMRTFCUVUwc1ZVRkJWU3hGUVVGRkxFZEJRVWN4Unl4TFFVRkxhVVFzVVVGQlVUSklMRmRCUVZjMVN5eExRVUZMWjBnc1VVRkJVVk1zUlVGQlJXNUdMRlZCUVZVc1NVRkJTU3hKUVVGSk1VTXNSVUZCUlhsTExGRkJRVkZ5U3l4TFFVRkxhVVFzVVVGQlVYbEVMRTFCUVUwc1EwRkJReXhOUVVGTkxGTkJRVk1zUjBGQlJ5eEhRVUZIY2tVc1IwRkJSMjlHTEVWQlFVVjBSaXhUUVVGVGJrTXNTMEZCUzJkSUxGRkJRVkZUTEVWQlFVVnVSaXhYUVVGWGRFTXNTMEZCUzJsRUxGRkJRVkUwU0N4blFrRkJaMElzUlVGQlJTeEZRVUZGZUVrc1IwRkJSM0pETEV0QlFVdHBSQ3hSUVVGUlZpeFJRVUZSZGtNc1MwRkJTMmxFTEZGQlFWRjVSQ3hQUVVGUE1VY3NTMEZCUzJkSUxGRkJRVkZvU0N4TFFVRkxiVWdzVDBGQlQyNUlMRXRCUVV0cFJDeFJRVUZSZVVRc1VVRkJVU3hIUVVGSExFZEJRVWRyU2l4RlFVRkZOVkFzUzBGQlMyMUlMRTlCUVU5dVNDeExRVUZMWjBnc1VVRkJVV2hJTEV0QlFVdHBSQ3hSUVVGUmVVZ3NUMEZCVDNKSkxFZEJRVWQxVGl4RlFVRkZia2tzUlVGQlJXcEdMRmRCUVZkS0xFbEJRVWx4Uml4RlFVRkZiRVlzVDBGQlQwZ3NSVUZCUlhkT0xFVkJRVVZ1U1N4RlFVRkZha1lzVjBGQlYwZ3NTVUZCU1c5R0xFVkJRVVZzUml4UFFVRlBSaXhGUVVGRmNrTXNTMEZCU3pKSkxGRkJRVkZETEVsQlFVbG5TQ3hIUVVGSGJra3NSVUZCUlM5RkxHVkJRV1VzUTBGQlF6RkRMRXRCUVVzclVDeHRRa0ZCYlVJdlVDeExRVUZMYVVRc1UwRkJVMnBFTEV0QlFVc3lTU3hSUVVGUlF5eEpRVUZKTEZWQlFWVXNSMEZCUjBFc1NVRkJTU3hYUVVGWE5Va3NTMEZCUzJkSUxGRkJRVkZvU0N4TFFVRkxjME1zVTBGQlUzUkRMRXRCUVV0cFJDeFJRVUZSTWtnc1YwRkJWelZMTEV0QlFVdHBTQ3hQUVVGUGFrZ3NTMEZCUzNORExGZEJRVmN3VEN4WlFVRlpMSGRDUVVGM1FtaFBMRXRCUVV0blNDeFJRVUZSYUVnc1MwRkJTMmxFTEZGQlFWRmtMRmRCUVZkdFFpeFRRVUZUTEhkQ1FVRjNRblJFTEV0QlFVdHBSQ3hSUVVGUlpDeFZRVUZWYmtNc1MwRkJTMmxFTEZOQlFWTnFSQ3hMUVVGTGFVUXNVVUZCVVRCSUxGRkJRVkYxUkN4TFFVRkxMRkZCUVZFc05rSkJRVFpDYkU4c1MwRkJTMmRJTEZGQlFWRm9TQ3hMUVVGTGMwTXNWVUZCVlhOSExFbEJRVWsxU1N4TFFVRkxhVVFzVVVGQlVUWklMRkZCUVZFNVN5eExRVUZMSzFBc2EwSkJRV2xDTEVWQlFVY3ZVQ3hMUVVGTE5rNHNVMEZCVVN4SFFVRkpMRWxCUVVsdFF5eEZRVUZGYkZFc1JVRkJSWGRITEVsQlFVbHpTaXhGUVVGRmRFb3NTMEZCUzIxQ0xFVkJRVVUzUlN4bFFVRmxNRVFzUzBGQlN5eEhRVUZITWtvc1JVRkJSVzVSTEVWQlFVVjVSeXhOUVVGTmNVb3NSVUZCUlc1S0xFdEJRVXM0UWl4RlFVRkZia2NzUjBGQlIzRkdMRVZCUVVVM1JTeGxRVUZsTWtRc1QwRkJUeXhIUVVGSE1rb3NSVUZCUlhCUkxFVkJRVVV3Unl4UFFVRlBiMG9zUlVGQlJYUktMRWxCUVVscFF5eEZRVUZGYkVjc1IwRkJSMjlHTEVWQlFVVTNSU3hsUVVGbE5FUXNVVUZCVVN4SFFVRkhNa29zUlVGQlJYSlJMRVZCUVVVeVJ5eExRVUZMYlVvc1JVRkJSVzVLTEUxQlFVMW5RaXhGUVVGRk4wVXNaVUZCWlRaRUxFMUJRVTBzUjBGQlJ6SktMRVZCUVVWRUxFVkJRVVVzVDBGQlQwWXNSVUZCUlN4UlFVRlJMRXRCUVV0T0xFVkJRVVZMTEVWQlFVVXNUVUZCVFVVc1JVRkJSU3hUUVVGVExFdEJRVXNzUjBGQlIwVXNSMEZCUjFRc1JVRkJSU3hEUVVGRExFbEJRVWtzVTBGQlV6TlFMRXRCUVVzeVJpeE5RVUZOTEZkQlFWY3pSaXhMUVVGTE1rWXNUMEZCVHl4VlFVRlZMMFlzUlVGQlJTdEdMRXRCUVVzelJpeExRVUZMUXl4UlFVRlJhME1zVTBGQlUwTXNTVUZCU1N4VlFVRlZlRU1zUlVGQlJTdEdMRXRCUVVzelJpeExRVUZMUXl4UlFVRlJhME1zVTBGQlUwVXNSMEZCUnl4RFFVRkRMRWxCUVVsRUxFVkJRVVVzUlVGQlJVTXNSVUZCUlN4RlFVRkZMRTlCUVU5eVF5eExRVUZMUXl4UlFVRlJLME1zWlVGQlpXMU9MRVZCUVVVdlRpeEZRVUZGZEVNc1JVRkJSVEpITEUxQlFVMXRTaXhGUVVGRmJrb3NUVUZCVFdkQ0xFVkJRVVUzUlN4bFFVRmxOa1FzVFVGQlRTeEpRVUZKZDBvc1NVRkJTVGRPTEVWQlFVVjBReXhGUVVGRmVVY3NUMEZCVDNGS0xFVkJRVVZ1U2l4TFFVRkxPRUlzUlVGQlJXNUhMRWRCUVVkeFJpeEZRVUZGTjBVc1pVRkJaVEpFTEU5QlFVOHNTMEZCUzNsS0xFVkJRVVV6VGl4RlFVRkZka01zUlVGQlJYZEhMRXRCUVV0elNpeEZRVUZGZEVvc1MwRkJTMjFDTEVWQlFVVTNSU3hsUVVGbE1FUXNTMEZCU3l4SlFVRkpORW9zU1VGQlNUZE9MRVZCUVVWMlF5eEZRVUZGTUVjc1VVRkJVVzlLTEVWQlFVVjBTaXhKUVVGSmFVTXNSVUZCUld4SExFZEJRVWR2Uml4RlFVRkZOMFVzWlVGQlpUUkVMRkZCUVZFc1MwRkJTM2hITEV0QlFVdERMRkZCUVZGclF5eFRRVUZUUXl4RlFVRkZkMFVzUzBGQlMwTXNTVUZCU1M5SExFVkJRVVYzUnl4SlFVRkpkRWNzUzBGQlMwTXNVVUZCVVd0RExGTkJRVk5ETEVWQlFVVkJMRWRCUVVkd1F5eExRVUZMUXl4UlFVRlJhME1zVTBGQlUwVXNSVUZCUlhWRkxFdEJRVXRETEVsQlFVa3ZSeXhGUVVGRk1rY3NTMEZCUzNwSExFdEJRVXRETEZGQlFWRnJReXhUUVVGVFJTeEZRVUZGUVN4SFFVRkhkMDRzUlVGQlJTeExRVUZMUVN4RlFVRkZMRXRCUVVzM1VDeExRVUZMTWtrc1VVRkJVVU1zU1VGQlNXZElMRWxCUVVrMVVDeExRVUZMYlVjc1YwRkJWeXhqUVVGamJrY3NUVUZCU3l4SlFVRkxlVWdzUlVGQlJTOUZMR2RDUVVGblFpeFRRVUZUSzBVc1JVRkJSUzlGTEdsQ1FVRnBRakpPTEVWQlFVVXNVMEZCVTNaUkxFZEJRVWRGTEV0QlFVc3lTU3hSUVVGUlF5eEpRVUZKTlVrc1MwRkJTMjFJTEU5QlFVOXlTQ3hIUVVGSE9GQXNSVUZCUlRWUUxFdEJRVXR0U0N4UFFVRlBja2dzUzBGQlMzbEpMRVZCUVVWMlNTeExRVUZMYVVnc1QwRkJUMjVJTEVsQlFVa3lTQ3hGUVVGRmJFWXNUMEZCVDNaRExFdEJRVXRwU0N4UFFVRlBia2dzUzBGQlN5eFBRVUZQUVN4SFFVRkhMRkZCUVZGQkxFZEJRVWNzUlVGQlJTeEhRVUZIWjBrc1JVRkJSVGxJTEV0QlFVdHBTQ3hQUVVGUGJrZ3NUVUZCVFN4UFFVRlBRU3hIUVVGSExGRkJRVkZCTEVWQlFVVXNSMEZCUnl4SlFVRkpSU3hMUVVGTGFVUXNVMEZCVTJwRUxFdEJRVXN5U1N4UlFVRlJjVVlzV1VGQldTeDNRa0ZCZDBKb1R5eExRVUZMYVVRc1VVRkJVV1FzVlVGQlZXMUNMRk5CUVZNc2QwSkJRWGRDZEVRc1MwRkJTMmRJTEZGQlFWRm9TQ3hMUVVGTGFVUXNVVUZCVVdRc1YwRkJWM2xITEVsQlFVa3NWVUZCVlN4SFFVRkhRU3hKUVVGSkxGZEJRVmM1U1N4RlFVRkZSU3hMUVVGTGFVUXNVVUZCVVRKSUxGZEJRVmMxU3l4TFFVRkxhVWdzVDBGQlQyNUlMRXRCUVV0RkxFdEJRVXRwUkN4VFFVRlRha1FzUzBGQlMybEVMRkZCUVZFd1NDeFJRVUZSZFVRc1MwRkJTeXhSUVVGUkxEWkNRVUUyUW5CUExFZEJRVWRGTEV0QlFVc3JVQ3hyUWtGQmFVSXNSVUZCUnk5UUxFdEJRVXMyVGl4VFFVRlJMRWRCUVVsNlNDeExRVUZMY0Vjc1RVRkJUVEJRTEVWQlFVVjBUaXhIUVVGSGFVOHNSVUZCUlhKUkxFdEJRVXRETEZGQlFWRnJReXhUUVVGVFF5eEhRVUZIYzA0c1JVRkJSWEpPTEVkQlFVZG5UeXhGUVVGRmNsRXNTMEZCUzBNc1VVRkJVV3RETEZOQlFWTkZMRWxCUVVrc1NVRkJTV2RQTEVWQlFVVXNTMEZCUzNKUkxFdEJRVXRwU0N4UFFVRlBha2dzUzBGQlMzTkRMRk5CUVZOeFRpeEZRVUZGVXl4RlFVRkZjRkVzUzBGQlMybEVMRk5CUVZNc1ZVRkJWWGRGTEVWQlFVVjJSU3hUUVVGVExGRkJRVkYxUlN4RlFVRkZMMFVzWjBKQlFXZENNVU1zUzBGQlMybElMRTlCUVU5dlNpeEpRVUZKY2xFc1MwRkJTMmRJTEZGQlFWRm9TQ3hMUVVGTGFVZ3NUMEZCVDJwSUxFdEJRVXR6UXl4WlFVRlpjVTRzUlVGQlJTeFZRVUZWTTFBc1MwRkJTMmxFTEZGQlFWRjVSQ3hOUVVGTk5rSXNSVUZCUlhaSkxFdEJRVXRwU0N4UFFVRlBiMG9zU1VGQlNTeEZRVUZGY2xFc1MwRkJTMmxFTEZGQlFWRXlTQ3hYUVVGWE5Vc3NTMEZCUzJkSUxGRkJRVkZvU0N4TFFVRkxhVVFzVVVGQlVYbElMRXRCUVVzc1JVRkJSWEJFTEZOQlFWTjBTQ3hMUVVGTGFVUXNVVUZCVVRCSUxGRkJRVkV2UWl4SlFVRkpMRlZCUVZVMVNTeExRVUZMYVVRc1VVRkJVVFJJTEd0Q1FVRnJRbmRHTEVkQlFVZHlVU3hMUVVGTGJVZ3NUMEZCVDJ0S0xFbEJRVWtzUlVGQlJTeEhRVUZIUVN4SFFVRkhjbEVzUzBGQlMybEVMRkZCUVZFMFNDeGxRVUZsZGtRc1UwRkJVM1JJTEV0QlFVdHBSQ3hSUVVGUk1FZ3NVVUZCVVM5Q0xFbEJRVWtzVlVGQlZUVkpMRXRCUVV0cFJDeFJRVUZSTkVnc2FVSkJRV2xDZEVNc1JVRkJSWFpKTEV0QlFVdHBTQ3hQUVVGUGIwb3NTVUZCU1M5SkxGTkJRVk4wU0N4TFFVRkxhVVFzVVVGQlVUQklMRkZCUVZFdlFpeEpRVUZKTEZWQlFWVTFTU3hMUVVGTGFVUXNVVUZCVVRSSUxHbENRVUZwUWpkTExFdEJRVXRwUkN4UlFVRlJNa2dzVjBGQlZ6VkxMRXRCUVV0cFNDeFBRVUZQYjBvc1NVRkJTVVFzUlVGQlJVTXNSMEZCUjNKUkxFdEJRVXR0U0N4UFFVRlBhMG9zUjBGQlIzWlJMRVZCUVVWRkxFdEJRVXR0U0N4UFFVRlBhMG9zU1VGQlNWUXNSVUZCUlRWUUxFdEJRVXR0U0N4UFFVRlBhMG9zU1VGQlNUVkpMRVZCUVVVM1JTeGxRVUZsZVU0c1NVRkJTU3hIUVVGSGRsRXNSVUZCUlVVc1MwRkJTMmRJTEZGQlFWRm9TQ3hMUVVGTGJVZ3NUMEZCVDJ0S0xFdEJRVXRVTEVWQlFVVTFVQ3hMUVVGTGJVZ3NUMEZCVDJ0S0xFbEJRVWsxU1N4RlFVRkZOMFVzWlVGQlpYbE9MRWRCUVVjNVNDeEZRVUZGZGtrc1MwRkJTMmxJTEU5QlFVOXZTaXhMUVVGTFFTeEhRVUZIY2xFc1MwRkJTMmRJTEZGQlFWRm9TQ3hMUVVGTGJVZ3NUMEZCVDJ0S0xFdEJRVXRVTEVWQlFVVTFVQ3hMUVVGTGJVZ3NUMEZCVDJ0S0xFbEJRVWxFTEVWQlFVVjBVU3hGUVVGRlJTeExRVUZMYlVnc1QwRkJUMnRLTEVsQlFVazFTU3hGUVVGRk4wVXNaVUZCWlRWRExFdEJRVXR0U0N4UFFVRlBhMG9zVFVGQlRVUXNSMEZCUjNSUkxFVkJRVVZGTEV0QlFVdHRTQ3hQUVVGUGEwb3NTVUZCU1RWSkxFVkJRVVUzUlN4bFFVRmxOVU1zUzBGQlMyMUlMRTlCUVU5clNpeExRVUZMVkN4RlFVRkZOVkFzUzBGQlMyMUlMRTlCUVU5clNpeEpRVUZKUkN4TFFVRkxRU3hGUVVGRmVFb3NTMEZCUzIxSUxFbEJRVWx4UXl4RlFVRkZWQ3hMUVVGTFFTeEhRVUZITEVWQlFVVlRMRWxCUVVsd1VTeExRVUZMYVVRc1VVRkJVVEJJTEZGQlFWRXZRaXhKUVVGSkxGVkJRVlUxU1N4TFFVRkxhVVFzVVVGQlVUUklMR1ZCUVdWMlJDeFRRVUZUZEVnc1MwRkJTMmxFTEZGQlFWRXdTQ3hSUVVGUkwwSXNTVUZCU1N4VlFVRlZOVWtzUzBGQlMybEVMRkZCUVZFMFNDeHBRa0ZCYVVKMVJpeEhRVUZIUXl4SFFVRkhjbEVzUzBGQlMybEVMRkZCUVZFMFNDeG5Ra0ZCWjBJc1JVRkJSU3hKUVVGSk4wc3NTMEZCU3pKSkxGRkJRVkZETEVsQlFVazFTU3hMUVVGTGJVZ3NUMEZCVDJ0S0xFZEJRVWRVTEVWQlFVVTFVQ3hMUVVGTGJVZ3NUMEZCVDJ0S0xFbEJRVWxFTEVkQlFVZERMRWRCUVVkeVVTeExRVUZMYlVnc1QwRkJUMnRLTEVsQlFVa3NSVUZCUlN4SlFVRkpjbEVzUzBGQlN5dFFMR3RDUVVGcFFpeExRVUZOTEU5QlFVOHZVQ3hMUVVGTGJVY3NWMEZCVnl4alFVRmpia2NzVDBGQlQwZ3NSVUZCUlRSUExGVkJRVlUyUWl4VFFVRlRMRk5CUVZONFVTeEhRVUZITEVkQlFVZEZMRXRCUVV0MVVTeEpRVUZKTEZOQlFWTjZVU3hGUVVGRlF5eEhRVUZITUVZc1QwRkJUeXRMTEdkQ1FVRm5RaTlMTEU5QlFVOHJTeXhqUVVGakxFbEJRVWt2U3l4UFFVRlBLMHNzWTBGQll6RlJMRWRCUVVkRExFZEJRVWRETEV0QlFVdDVVU3hKUVVGSkxGTkJRVk16VVN4SFFVRkhMRTlCUVU4eVJpeFBRVUZQSzBzc1kwRkJZeTlMTEU5QlFVOHJTeXhqUVVGak1WRXNSMEZCUnl4TlFVRk5SU3hMUVVGTE1GRXNhMEpCUVd0Q0xGZEJRVmNzUjBGQlJ6RlJMRXRCUVV0NVVTeEpRVUZKTEd0Q1FVRnJRaXhQUVVGUGVsRXNTMEZCUzNsUkxFbEJRVWtzYTBKQlFXdENMRXRCUVVzc1NVRkJTVE5STEVWQlFVVnBSeXhUUVVGVE5Fc3NZMEZCWXl4UFFVRlBOMUVzUlVGQlJUUkpMRTFCUVUxMlNTeE5RVUZOTEZGQlFWRk1MRVZCUVVVMFNTeE5RVUZOZEVrc1QwRkJUeXhSUVVGUlRpeEZRVUZGTkVrc1RVRkJUV3RKTEZOQlFWTXNVMEZCVXpsUkxFVkJRVVUwU1N4TlFVRk5ka2NzVTBGQlV5eFhRVUZYY2tNc1JVRkJSVFJKTEUxQlFVMXdReXhKUVVGSkxGTkJRVk5RTEZOQlFWTTRTeXhMUVVGTGNrY3NXVUZCV1RGTExFZEJRVWNzU1VGQlNVTXNSVUZCUlVRc1JVRkJSV2RTTEZsQlFWbG9VaXhGUVVGRmFWSXNXVUZCV1N4UFFVRlBhRXdzVTBGQlV6aExMRXRCUVV0SExGbEJRVmxzVWl4SFFVRkhSU3hMUVVGTGRWRXNTVUZCU1N4cFFrRkJhVUo0VVN4SFFVRkhRU3hGUVVGRkxFMUJRVTFETEV0QlFVdHBVaXh2UWtGQmIwSXNVMEZCVTNoS0xFbEJRVWxCTEVWQlFVVXNhVUpCUVdsQ1FTeEZRVUZGUVN4SFFVRkhMRWxCUVVrc1EwRkJReXhEUVVGRFFTeEZRVUZGTEd0Q1FVRnJRa0VzUjBGQlIzbEtMRkZCUVZFc1UwRkJVM0JTTEVWQlFVVkRMRWRCUVVjc2FVSkJRV2xDUkN4SlFVRkpNa2dzUlVGQlJURklMRWRCUVVjc1EwRkJRMFFzUlVGQlJTeHZRa0ZCYjBJc1NVRkJTU3hKUVVGSlFTeEhRVUZGTEVWQlFVZERMRVZCUVVVc1JVRkJSVUVzUlVGQlJUQklMRVZCUVVWTkxFOUJRVTlvU1N4TFFVRkxMRWxCUVVrd1NDeEZRVUZGTVVnc1IwRkJSeXhIUVVGSGIxSXNVVUZCVVN4VlFVRlZjbElzUjBGQlJTeEhRVUZKTEU5QlFVMHNTVUZCUzBFc1IwRkJSekpJTEVWQlFVVTBSeXhMUVVGTExFTkJRVU1zVDBGQlR5eHJRa0ZCYTBJMVJ5eEhRVUZIZWtnc1MwRkJTMjlTTEdsQ1FVRnBRaXhYUVVGWExFOUJRVTl3VWl4TFFVRkxNRkVzY1VKQlFYRkNNMHNzVTBGQlV6aExMRXRCUVV0UkxHRkJRV0UxVEN4UFFVRlBOa3dzWVVGQllYUlNMRXRCUVV0dlVpeHRRa0ZCYlVJc1EwRkJRM1JTTEVWQlFVVkZMRXRCUVV0cFVpeHZRa0ZCYjBKdVVpeEhRVUZITEVsQlFVa3NTVUZCU1VNc1JVRkJSU3hGUVVGRlFTeEZRVUZGUkN4RlFVRkZhVWtzVDBGQlQyaEpMRWxCUVVrc1NVRkJTU3hKUVVGSk1FZ3NSVUZCUlRGQ0xGTkJRVk4zVEN4cFFrRkJhVUo2VWl4RlFVRkZReXhIUVVGSExFbEJRVWwzU1N4RlFVRkZMRVZCUVVWQkxFVkJRVVZrTEVWQlFVVk5MRTlCUVU5UkxFbEJRVWtzUTBGQlF5eEhRVUZIWkN4RlFVRkZZeXhIUVVGSGFVb3NZVUZCWVN4cFFrRkJhVUlzVDBGQlR5eEpRVUZKTVVvc1JVRkJSV2hKTEVWQlFVVkRMRWRCUVVjc1IwRkJSMmRLTEVWQlFVVjBSQ3hQUVVGUFowMHNhVUpCUVdsQ2FFc3NSVUZCUldNc1NVRkJTVzFLTEdsQ1FVRnBRalZLTEVkQlFVZE1MRVZCUVVWakxFZEJRVWRZTEdGQlFXRXNaMEpCUVdkQ1JTeEhRVUZIYVVJc1JVRkJSVUVzUjBGQlJ5eE5RVUZOTEVsQlFVbERMRVZCUVVVc2FVSkJRV2xDYkVJc1IwRkJSeXhUUVVGVFFTeEZRVUZGTEVsQlFVa3NTVUZCU1V3c1JVRkJSV01zUjBGQlIwY3NUVUZCVFZvc1IwRkJSeXhSUVVGUmFVSXNSVUZCUlN4SlFVRkpReXhGUVVGRkxFbEJRVWxvU2l4TFFVRkxNRkVzYjBKQlFXOUNMRXRCUVVzc1NVRkJTVGRSTEVWQlFVVTJVQ3hGUVVGRk0wb3NVMEZCVXpSTUxHVkJRV1VzZVVKQlFYbENPVklzUlVGQlJXdEhMRk5CUVZNMlRDeE5RVUZOTjB3c1UwRkJVemhNTEhGQ1FVRnhRaXhSUVVGUkxFbEJRVWx1UXl4RlFVRkZNMG9zVTBGQlV6UkxMR05CUVdNc1ZVRkJWV2hNTEV0QlFVc3NWMEZCVnl0S0xFVkJRVVU1U0N4aFFVRmhMRXRCUVVzc2RVSkJRWFZDT0Vnc1JVRkJSV3hHTEZsQlFWbDZSU3hUUVVGVEswd3NaVUZCWlN4dFJFRkJiVVJxVXl4RlFVRkZNa3NzV1VGQldXdEdMRWxCUVVrelNpeFRRVUZUT0Vzc1MwRkJTMnRDTEZWQlFWVkRMRWxCUVVrc2EwSkJRV3RDUXl4TlFVRk5MRmRCUVZjc1NVRkJTU3hKUVVGSmJsTXNSVUZCUldsSExGTkJRVk4zVEN4cFFrRkJhVUlzYlVKQlFXMUNlRklzUlVGQlJTeEZRVUZGUVN4RlFVRkZSQ3hGUVVGRmFVa3NUMEZCVDJoSkxFbEJRVWtzUTBGQlF5eEpRVUZKTUVnc1JVRkJSVE5JTEVWQlFVVkRMRWRCUVVkNVVpeGhRVUZoTEdsQ1FVRnBRakZTTEVWQlFVVkRMRWRCUVVjeVNTeE5RVUZOYWtJc1IwRkJSeXhMUVVGTE0wZ3NSVUZCUlVNc1IwRkJSMjFUTEdkQ1FVRm5RaXhwUWtGQmFVSnVUU3hUUVVGVE9Fc3NTMEZCUzJ0Q0xGVkJRVlZKTEU5QlFVOHNhVUpCUVdsQ2RGTXNSVUZCUlRSUExGVkJRVlV4UXl4TFFVRkxMRk5CUVZOcVRTeEhRVUZITEVkQlFVZEJMRVZCUVVWQkxFZEJRVWNzUjBGQlIwVXNTMEZCUzI5VExGbEJRVmtzVDBGQlQzQlRMRXRCUVVzc1IwRkJSMEVzUzBGQlN6SkpMRk5CUVZNelNTeExRVUZMSzBvc1ZVRkJWUzlLTEV0QlFVdHhVeXhWUVVGVmNsTXNTMEZCUzNGVExGRkJRVkY2VXl4RlFVRkZMRmxCUVZreVN5eFBRVUZQZGtzc1MwRkJTM1ZPTEdWQlFXVjJTaXhUUVVGVGNFVXNSVUZCUlN4VlFVRlZTU3hMUVVGTE5FOHNUMEZCVDBNc1lVRkJZVGRQTEV0QlFVczBUeXhQUVVGUE5VOHNTMEZCUzNkT0xHdENRVUZyUW5oT0xFdEJRVXR6VXl4WFFVRlhMRTlCUVU5MFV5eExRVUZMUVN4TFFVRkxReXhSUVVGUk1rUXNXVUZCV1doRkxFVkJRVVZ0Unl4VlFVRlZhVU1zUjBGQlJ5eGpRVUZqYUVrc1MwRkJTMFVzUjBGQlJ5eFRRVUZUU2l4SFFVRkhMRWxCUVVsQkxFVkJRVVY1VXl4VFFVRlRkbE1zUzBGQlMyOUtMRTFCUVUwc1EwRkJRME1zWVVGQldTeExRVUZOYWtRc1MwRkJTM0JITEZGQlFVOHNTVUZCUzBFc1MwRkJTME1zVVVGQlVUUkVMR05CUVdNc1UwRkJVemRFTEV0QlFVdERMRkZCUVZFMFJDeGxRVUZsYWtVc1JVRkJSU3hSUVVGUmIwa3NSMEZCUnl4alFVRmphRWtzUzBGQlMwVXNSMEZCUnl4aFFVRmhSaXhMUVVGTFJTeEhRVUZITEZOQlFWTktMRWRCUVVkRkxFdEJRVXQ1VGl4blFrRkJaMElzVVVGQlVYcE9MRXRCUVV0RExGRkJRVkUwUkN4bFFVRmxMMFFzUlVGQlJXOURMRkZCUVZGc1F5eExRVUZMTWtrc1VVRkJVU3hKUVVGSk0wa3NTMEZCU3pKSkxGRkJRVkUyU2l4SlFVRkpNVk1zUlVGQlJXOURMRkZCUVZFMlJpeFRRVUZUTDBnc1MwRkJTMjlLTEUxQlFVMHNRMEZCUTBNc1lVRkJXU3hMUVVGTmFrUXNTMEZCUzNCSExFOUJRVTlCTEV0QlFVczBSaXhsUVVGbGFFY3NSVUZCUlN4WlFVRlpiMGtzUjBGQlJ5eGpRVUZqYUVrc1MwRkJTMFVzUjBGQlJ5eGhRVUZoUml4TFFVRkxSU3hIUVVGSExGZEJRVmNzVDBGQlRTeExRVUZOTEVsQlFVbElMRVZCUVVVc1dVRkJWeXhKUVVGTFF5eExRVUZMT0Vjc2NVSkJRWEZDYWtnc1JVRkJSVGhITEZWQlFWVkRMRXRCUVV0RExFbEJRVWxUTEZOQlFWTjBTQ3hMUVVGTE1ra3NVVUZCVVVNc1NVRkJTU3hWUVVGVkxFbEJRVWsxU1N4TFFVRkxReXhSUVVGUmQwUXNUMEZCVHpWRUxFVkJRVVU0Unl4WFFVRlhMRVZCUVVVNVJ5eEZRVUZGT0Vvc2JVSkJRVzFDTEVkQlFVY3NSVUZCUlROS0xFdEJRVXN5U1N4UlFVRlJReXhKUVVGSkxGTkJRVk12U1N4RlFVRkZPRWNzVjBGQlZ6TkhMRXRCUVV0RExGRkJRVkYzUkN4UFFVRlBOVVFzUlVGQlJUaEhMRmRCUVZjelJ5eExRVUZMYlVzc1VVRkJVVzVMTEV0QlFVdERMRkZCUVZGclFpeFZRVUZWYmtJc1MwRkJTMjFMTEU5QlFVOHJSQ3hMUVVGTGJFOHNTMEZCUzBNc1VVRkJVV3RDTEZkQlFWZHVRaXhMUVVGTEswc3NVMEZCVXk5TExFdEJRVXR0U3l4UFFVRlBLMFFzUzBGQlMyeFBMRXRCUVV0RExGRkJRVkZyUWl4WFFVRlZMRWRCUVVsdVFpeExRVUZMYlVzc1VVRkJVVzVMTEV0QlFVdERMRkZCUVZGblFpeGhRVUZoYWtJc1MwRkJTMjFMTEU5QlFVOHpTU3hMUVVGTExHMUNRVUZ0UW5oQ0xFdEJRVXMwUWl4WFFVRlhOVUlzUzBGQlMyMUxMRTlCUVU4elNTeExRVUZMTEc5Q1FVRnRRaXhIUVVGSmVFSXNTMEZCUzIxTExFOUJRVThyUkN4TFFVRkxiRThzUzBGQlMwTXNVVUZCVVdkQ0xGbEJRVmxxUWl4TFFVRkxORUlzVjBGQlZ6VkNMRXRCUVV0dFN5eFBRVUZQSzBRc1MwRkJTMnhQTEV0QlFVdERMRkZCUVZGblFpeGhRVUZaTEVkQlFVa3NVVUZCVVdwQ0xFdEJRVXRETEZGQlFWRm5RaXhaUVVGWmFrSXNTMEZCU3pSQ0xGZEJRVmMxUWl4TFFVRkxiVXNzVDBGQlR6aEZMRkZCUVU4c1NVRkJTMnBRTEV0QlFVdHRSeXhYUVVGWExGZEJRVmR1Unl4TFFVRkxReXhSUVVGUmNVSXNUMEZCVDNSQ0xFdEJRVXRETEZGQlFWRnhRaXhMUVVGTFF5eExRVUZMZGtJc1MwRkJTMjFMTEZGQlFWRnVTeXhMUVVGTGJVc3NUMEZCVHl0RUxFdEJRVXRzVHl4TFFVRkxReXhSUVVGUmNVSXNTMEZCUzBrc1dVRkJXVEZDTEV0QlFVdDVVeXhaUVVGWmVsTXNTMEZCUzBNc1VVRkJVWEZDTEV0QlFVdEhMRk5CUVZNelFpeEZRVUZGZDBJc1QwRkJUM2hDTEVWQlFVVjNRaXhMUVVGTFF5eExRVUZMZWtJc1JVRkJSWGRDTEV0QlFVdEZMRk5CUVZNc1ZVRkJWWGhDTEV0QlFVdERMRkZCUVZGeFFpeExRVUZMUnl4VFFVRlRla0lzUzBGQlMyMUxMRk5CUVZOdVN5eExRVUZMYlVzc1QwRkJUek5KTEV0QlFVc3NiVUpCUVcxQ01VSXNSVUZCUlhkQ0xFOUJRVTk0UWl4RlFVRkZkMElzUzBGQlMwTXNTMEZCUzNwQ0xFVkJRVVYzUWl4TFFVRkxSU3hOUVVGTmVFSXNTMEZCUzNOQ0xFdEJRVXQ0UWl4RlFVRkZkMElzVFVGQlRTeE5RVUZMTEVkQlFVbDBRaXhMUVVGTE5FSXNWMEZCVnpWQ0xFdEJRVXR0U3l4UFFVRlBNMGtzUzBGQlN5eHZRa0ZCYjBKNFFpeExRVUZMTUZNc2JVSkJRVzFDTVZNc1MwRkJTME1zVVVGQlVUWkRMRzFDUVVGdFFqbERMRXRCUVV0dFF5eFRRVUZUY2tNc1MwRkJTMFVzUzBGQlN6QlRMR3RDUVVGcFFpeEhRVUZKTVZNc1MwRkJTekpUTEZkQlFWY3pVeXhMUVVGTGFVOHNhMEpCUVd0Q2FrOHNTMEZCU3pST0xGTkJRVk0xVGl4TFFVRkxORTRzVVVGQlR5eEZRVUZITlU0c1MwRkJTME1zVVVGQlVYRkZMRmxCUVZsMFJTeExRVUZMUXl4UlFVRlJNRVFzVjBGQlZ6TkVMRXRCUVV0RExGRkJRVkZ4UlN4WlFVRlpkRVVzUzBGQlMyOUtMRkZCUVZGd1NpeExRVUZMWjB3c1owSkJRV2RDYUV3c1MwRkJTME1zVVVGQlVXbEZMR05CUVdOc1JTeExRVUZMUXl4UlFVRlJhMFVzYTBKQlFXdENkRVVzUlVGQlJTdFRMR3RDUVVGclFpOVRMRVZCUVVVclV5eHhRa0ZCY1VJdlV5eEZRVUZGSzFNc2EwSkJRV3RDTEVWQlFVVTFVeXhMUVVGTGMxRXNVMEZCVTNWRExFMUJRVTFETEZGQlFWRTVVeXhMUVVGTFF5eFJRVUZSYTBVc2IwSkJRVzlDTEdsQ1FVRnBRbTVGTEV0QlFVdERMRkZCUVZGclJTeHJRa0ZCYTBKdVJTeExRVUZMUXl4UlFVRlJhMFVzYTBKQlFXdENMRTlCUVU5MlJTeEZRVUZGTEZGQlFWRXdSQ3hUUVVGVExHOUNRVUZ2UW5SRUxFdEJRVXRGTEV0QlFVdEdMRXRCUVV0RExGRkJRVkZ6UkN4VlFVRlZka1FzUzBGQlMyOU1MR1ZCUVdWd1RDeExRVUZMYlVNc1dVRkJXVzVETEV0QlFVdERMRkZCUVZGdFJDeFpRVUZaY0VRc1MwRkJTekpUTEZkQlFWY3pVeXhMUVVGTE1rNHNVMEZCVXl4UlFVRlJNMDRzUzBGQlMwTXNVVUZCVVhsRkxFOUJRVTh4UlN4TFFVRkxReXhSUVVGUmVVVXNUVUZCVFhGSUxFMUJRVTB2VEN4TFFVRkxNRVVzVFVGQlRURkZMRXRCUVV0RExGRkJRVkY1UlN4TlFVRk5jVWdzUzBGQlN5OU1MRXRCUVV0RExGRkJRVkV3UlN4UFFVRlBiMGdzVFVGQlRTOU1MRXRCUVV0RExGRkJRVkZyUkN4TFFVRkxia1FzUzBGQlN6SkpMRkZCUVZFd1F5eFBRVUZQUXl4UlFVRlJMRU5CUVVOd1FpeFJRVUZSTEVkQlFVY3NRMEZCUTNGQ0xFOUJRVTBzUlVGQlIwTXNVMEZCVTNoTUxFdEJRVXRETEZGQlFWRnJSQ3hMUVVGTGMwa3NUVUZCVFN4WFFVRlhla3dzUzBGQlN5dFRMRmRCUVZVc1JVRkJSeTlUTEV0QlFVc3lTU3hSUVVGUlF5eEpRVUZKTEVOQlFVTnhRaXhSUVVGUkxGZEJRVmMzUkN4TFFVRkxjRWNzVFVGQlRXZFVMRTlCUVU4c1YwRkJWMmhVTEV0QlFVc3JVeXhYUVVGVkxFVkJRVWR5Uml4WFFVRlhMRmRCUVZjeFRpeExRVUZMYVZRc2QwSkJRWGRDYWxRc1MwRkJTMjFETEdGQlFXRnVReXhMUVVGTGFWUXNkMEpCUVhWQ0xFbEJRVXMzVFN4TFFVRkxjRWNzVFVGQlRTeExRVUZMYjBjc1MwRkJTM0JITEZOQlFWTkJMRXRCUVVzeVNTeFJRVUZSUXl4SlFVRkpMRU5CUVVOeFFpeFJRVUZSTEZGQlFWRkRMRkZCUVZFc1NVRkJTV3hMTEV0QlFVdHBWQ3gzUWtGQmQwSnFWQ3hMUVVGTGJVTXNZVUZCWVc1RExFdEJRVXRwVkN4M1FrRkJkVUlzVFVGQlR6ZE5MRXRCUVV0d1J5eE5RVUZOTEU5QlFVOUJMRXRCUVV0RExGRkJRVkY1UkN4WFFVRlhNVVFzUzBGQlN6Uk9MRkZCUVZFMVRpeExRVUZMTWxNc1YwRkJWemRUTEVWQlFVVjFTaXhaUVVGWmRFb3NTVUZCU1VNc1MwRkJTelJQTEUxQlFVMXNRaXhYUVVGWE0wNHNSVUZCUlVNc1MwRkJTME1zVVVGQlVYbEVMRmRCUVZjeFJDeE5RVUZOU0N4RlFVRkZORThzVlVGQlZYSkdMRTFCUVUwc1UwRkJVM1JLTEVkQlFVY3NSMEZCUjBFc1JVRkJSVUVzUjBGQlJ5eEhRVUZIUml4RlFVRkZMRkZCUVZGcFN5eEpRVUZKTEdOQlFXTTNTaXhMUVVGTFJTeEhRVUZITEdGQlFXRkdMRXRCUVV0RkxFbEJRVWxHTEV0QlFVczBSaXhsUVVGbGFFY3NSVUZCUlN4WlFVRlphVXNzU1VGQlNTeGpRVUZqTjBvc1MwRkJTMFVzUjBGQlJ5eGhRVUZoUml4TFFVRkxSU3hKUVVGSlJpeExRVUZMYjFNc1lVRkJZWEJUTEV0QlFVc3lVeXhWUVVGVkxFOUJRVTh6VXl4TFFVRkxMRWRCUVVkQkxFdEJRVXMwVHl4UFFVRlBReXhoUVVGaE4wOHNTMEZCU3pSUExFOUJRVTgxVHl4TFFVRkxkMDRzYTBKQlFXdENlRTRzUzBGQlMzTlRMRmRCUVZjc1QwRkJUM1JUTEV0QlFVc3NTVUZCU1VRc1JVRkJSVEJJTEVWQlFVVmpMRVZCUVVWVUxFVkJRVVVzVjBGQlZ5eEpRVUZKYUVrc1JVRkJSVVVzUzBGQlMyMUhMRmRCUVZjc1YwRkJWMjVITEV0QlFVdERMRkZCUVZGblF5eHRRa0ZCYlVKcVF5eExRVUZMYTFRc1lVRkJZV3hVTEV0QlFVczBUaXhUUVVGVE5VNHNTMEZCU3pST0xGRkJRVThzUlVGQlJ6Vk9MRXRCUVV0dFRDeG5Ra0ZCWjBKdVRDeExRVUZMUXl4UlFVRlJhVVVzWTBGQlkyeEZMRXRCUVV0RExGRkJRVkZyUlN4dFFrRkJiVUowUlN4RlFVRkZLMU1zYTBKQlFXdENMMU1zUlVGQlJTdFRMRzlDUVVGdlFpOVRMRVZCUVVVclV5eHJRa0ZCYTBJc1NVRkJTVFZUTEV0QlFVdHpVU3hUUVVGVE1rSXNVVUZCVVhKVExFVkJRVVVzVVVGQlVXOVBMRmxCUVZrc2IwSkJRVzlDYUU4c1MwRkJTMFVzUzBGQlMwWXNTMEZCUzBNc1VVRkJVWE5FTEZOQlFWTjJSQ3hMUVVGTE1Fd3NaVUZCWlRGTUxFdEJRVXRETEZGQlFWRnRSQ3haUVVGWmNFUXNTMEZCU3l0VExGZEJRVmN2VXl4TFFVRkxNazRzVTBGQlV5eFRRVUZUTTA0c1MwRkJTME1zVVVGQlVYbEZMRTlCUVU4eFJTeExRVUZMUXl4UlFVRlJlVVVzVFVGQlRUQkZMRTlCUVU5d1NpeExRVUZMTUVVc1RVRkJUVEZGTEV0QlFVdERMRkZCUVZGNVJTeE5RVUZOTUVVc1RVRkJUWEJLTEV0QlFVdERMRkZCUVZFd1JTeFBRVUZQZVVVc1VVRkJVWFJLTEVWQlFVVkZMRXRCUVVzMFJpeGxRVUZsTEZOQlFWTTFSaXhMUVVGTFF5eFJRVUZSYVVNc1QwRkJUeXhGUVVGRmJFTXNTMEZCUzBNc1VVRkJVV3RFTEUxQlFVMXVSQ3hMUVVGTE1ra3NVVUZCVVRCRExFOUJRVTlETEZGQlFWRXNRMEZCUTNCQ0xGRkJRVkVzUjBGQlJ5eERRVUZEY1VJc1QwRkJUU3hGUVVGSFF5eFRRVUZUTVV3c1JVRkJSVEpNTEUxQlFVMHNWMEZCVjNwTUxFdEJRVXN5VXl4WFFVRlZMRWRCUVVsMlRTeExRVUZMY0Vjc1RVRkJUVEpNTEZOQlFWTXNWMEZCVnpOTUxFdEJRVXN5U1N4UlFVRlJReXhKUVVGSkxFTkJRVU54UWl4UlFVRlJMRk5CUVZOcVN5eExRVUZMYlVjc1YwRkJWeXh2UWtGQmIwSkRMRXRCUVV0d1J5eE5RVUZOWjFRc1QwRkJUeXhYUVVGWGFGUXNTMEZCU3pKVExGZEJRVlVzUjBGQlNYWk5MRXRCUVV0d1J5eFRRVUZUUVN4TFFVRkxNa2tzVVVGQlVVTXNTVUZCU1N4RFFVRkRjVUlzVVVGQlVTeFBRVUZQUXl4UlFVRlJMRWxCUVVsc1N5eExRVUZMYlVjc1YwRkJWeXh6UWtGQmMwSkRMRXRCUVV0d1J5eE5RVUZOTEU5QlFVOUdMRVZCUVVWMVNpeGhRVUZoY2tvc1MwRkJTelJHTEdWQlFXVXNVMEZCVXpWR0xFdEJRVXRETEZGQlFWRnBReXhQUVVGUE5FWXNTMEZCU3psSUxFdEJRVXRETEZGQlFWRnpSU3hqUVVGamRrVXNTMEZCUzBNc1VVRkJVWFZGTEdkQ1FVRm5RaXhIUVVGSGVFVXNTMEZCUzBNc1VVRkJVVEJFTEZsQlFWazRSQ3hIUVVGSE1VZ3NSVUZCUlVNc1RVRkJUVU1zVVVGQlVUQkVMRmRCUVZjMFJTeEZRVUZGTkVzc1MwRkJTME1zVFVGQlRYQlVMRXRCUVV0RExGRkJRVkYxUlN4blFrRkJaMEo0UlN4TFFVRkxjVlFzVVVGQlVYWlVMRVZCUVVWR0xFVkJRVVVzYTBOQlFXdERTU3hMUVVGTGNWUXNUVUZCVFhwVUxFVkJRVVVzZDBOQlFYZERSU3hGUVVGRmQxUXNVVUZCVVhSVUxFdEJRVXR4VkN4UFFVRlBlbFFzUlVGQlJTeEpRVUZKU1N4TFFVRkxSU3hKUVVGSmNVc3NUMEZCVDNwTExFbEJRVWxGTEV0QlFVdDFWQ3hWUVVGVkxGZEJRVmNzU1VGQlNYcFVMRVZCUVVWeFZDeExRVUZMUXl4TlFVRk5jbFFzUlVGQlJXdE1MRmxCUVZsNFJDeEhRVUZITTBnc1JVRkJSWGxKTEVkQlFVZEJMRVZCUVVWNlNTeEZRVUZGTEVWQlFVVXlTQ3hIUVVGSE1VZ3NSVUZCUlVVc1VVRkJVWFZGTEdWQlFXVjZSU3hGUVVGRmMxUXNUVUZCVFhwTExFbEJRVWtzVVVGQlVTeEpRVUZKYmtJc1JVRkJSVEZJTEVWQlFVVkZMRkZCUVZFd1JDeFhRVUZYTEV0QlFVczRRaXhQUVVGUEswNHNjMEpCUVhOQ2VsUXNSVUZCUlhkVUxGbEJRVmw2VEN4TFFVRkxja01zVDBGQlR5dE9MSE5DUVVGelFuaFVMRXRCUVV0MVZDeFpRVUZaZGxRc1MwRkJTelJQTEUxQlFVMXNRaXhYUVVGWE5VWXNSVUZCUld4Q0xFdEJRVXRETEVsQlFVazNSeXhMUVVGTFF5eFJRVUZSTUVRc1YwRkJWeXhMUVVGTE0wUXNUVUZCVFVnc1JVRkJSVFJQTEZWQlFWVm5SaXhQUVVGUExGTkJRVk16VkN4SFFVRkhMRTlCUVU5RkxFdEJRVXRCTEV0QlFVczBUaXhQUVVGUExGRkJRVkVzVVVGQlVUbE9MRWRCUVVkRkxFMUJRVTFJTEVWQlFVVTBUeXhWUVVGVmFVWXNVVUZCVVN4WFFVRlhMRTlCUVU4eFZDeExRVUZMYzFNc1dVRkJWeXhGUVVGSGRGTXNUVUZCVFVnc1JVRkJSVFJQTEZWQlFWVnJSaXhQUVVGUExGZEJRVmNzVDBGQlR6TlVMRXRCUVV0elV5eFpRVUZYTEVWQlFVZDBVeXhOUVVGTlNDeEZRVUZGTkU4c1ZVRkJWVzFHTEV0QlFVc3NWMEZCVnl4UFFVRlBOVlFzUzBGQlN6QlVMRlZCUVZVeFZDeExRVUZMTWtrc1ZVRkJWVE5KTEV0QlFVczJWQ3h2UWtGQmIwSTNWQ3hMUVVGTE1ra3NVVUZCVVVNc1NVRkJTU3hYUVVGWE5Va3NTMEZCU3pKSkxGRkJRVkZETEVsQlFVa3NRMEZCUTNGQ0xGRkJRVkVzVlVGQlZXcExMRXRCUVV0MVJDeFZRVUZWZGtRc1MwRkJTemhVTEc5Q1FVRnZRamxVTEV0QlFVdDFSQ3hSUVVGUmNVWXNTVUZCU1N4WFFVRlhOVWtzUzBGQlMzVkVMRkZCUVZGeFJpeEpRVUZKTEVOQlFVTnhRaXhSUVVGUkxGVkJRVlZxU3l4TlFVRk5TQ3hGUVVGRk5FOHNWVUZCVlhOR0xFdEJRVXNzVjBGQlZ5eFBRVUZQTDFRc1MwRkJTekpVTEZOQlFWTXpWQ3hMUVVGTE1ra3NVMEZCVXpOSkxFdEJRVXMyVkN4elFrRkJjMEkzVkN4TFFVRkxNa2tzVVVGQlVVTXNTVUZCU1N4RFFVRkRjVUlzVVVGQlVXcExMRXRCUVVzMlZDeHpRa0ZCYzBJM1ZDeExRVUZMTmxRc2IwSkJRVzlDTEUxQlFVMDNWQ3hMUVVGTGRVUXNVMEZCVTNaRUxFdEJRVXM0VkN4elFrRkJjMEk1VkN4TFFVRkxkVVFzVVVGQlVYRkdMRWxCUVVrc1EwRkJRM0ZDTEZGQlFWRnFTeXhMUVVGTE9GUXNjMEpCUVhOQ09WUXNTMEZCU3poVUxHOUNRVUZ2UWl4TlFVRk5PVlFzVFVGQlRVZ3NSVUZCUlRSUExGVkJRVlZ1VGl4TFFVRkxMRk5CUVZOdFJ5eEZRVUZGTVVnc1IwRkJSekJJTEVWQlFVVkJMRWRCUVVjc1IwRkJSemRJTEVWQlFVVXJTQ3hMUVVGTExFTkJRVU1zUTBGQlF5eFZRVUZWTEZGQlFWRXNRMEZCUXl4VFFVRlRMRkZCUVZFc1UwRkJVemRJTEVWQlFVVkRMRWRCUVVkRExFdEJRVXRETEZGQlFWRnhRaXhMUVVGTGRrSXNSVUZCUlN4TlFVRk5NRWdzUlVGQlJURklMRVZCUVVVc1MwRkJTME1zUzBGQlMyMUxMRkZCUVZFc1RVRkJUVzVMTEV0QlFVdHRTeXhQUVVGUEswUXNTMEZCUzJ4UExFdEJRVXRETEZGQlFWRnhRaXhMUVVGTGRrSXNSVUZCUlN4UFFVRlBNRWdzUlVGQlJURklMRVZCUVVVc1NVRkJTVU1zUzBGQlMyMUxMRTlCUVU4clJDeExRVUZMYkU4c1MwRkJTME1zVVVGQlVYRkNMRXRCUVV0MlFpeEZRVUZGTEUxQlFVMHNTMEZCUzNGSExFdEJRVXR3Unl4UFFVRlBMRWxCUVVsR0xFVkJRVVZHTEVWQlFVVTRSaXhSUVVGUExFVkJRVWNzUjBGQlJ6RkdMRXRCUVV0RExGRkJRVkZ4UWl4TlFVRk5kRUlzUzBGQlMydFVMR0ZCUVdFc1NVRkJTVE5MTEVWQlFVVmtMRVZCUVVWMVRTeFpRVUZaYkZVc1JVRkJSV3RWTEZsQlFWa3NZVUZCWVd4TkxFVkJRVVZNTEVWQlFVVnJSU3hWUVVGVk4wd3NSVUZCUlRaTUxGVkJRVlVzWVVGQllUVkRMRVZCUVVWMFFpeEZRVUZGZDAwc1UwRkJVMjVWTEVWQlFVVnRWU3hUUVVGVExHRkJRV0ZxVEN4RlFVRkZka0lzUlVGQlJYbE5MRTlCUVU5d1ZTeEZRVUZGYjFVc1QwRkJUeXhoUVVGaGNsVXNSVUZCUlVRc1JVRkJSVGhHTEZGQlFVOHNSVUZCUnpWR0xFVkJRVVV5U0N4SFFVRkhMRTlCUVU4MVNDeEZRVUZGYlZVc1YwRkJWeXhUUVVGVGJGVXNSMEZCUjBRc1JVRkJSV2RETEdOQlFXTTNRaXhMUVVGTE1ra3NVVUZCVVhKR0xGVkJRVk1zU1VGQlMzcEVMRVZCUVVWblF5eGhRVUZoTEdWQlFXVm9ReXhGUVVGRlowTXNZMEZCWTJoRExFVkJRVVZwUXl4VlFVRlZPVUlzUzBGQlN5dENMR0ZCUVdFeVRDeFhRVUZYTEZkQlFWY3hUaXhMUVVGTE1ra3NVVUZCVVhKR0xGTkJRVk1zZDBKQlFYZENla1FzUlVGQlJXMURMRzlDUVVGdlFtcERMRVZCUVVWRExFdEJRVXRwVkN4M1FrRkJkVUlzUlVGQlIycFVMRXRCUVV0dFF5eFpRVUZaYmtNc1MwRkJTemhDTEZGQlFWRnNReXhIUVVGRkxFbEJRVXRETEVWQlFVVnBReXhSUVVGUmFrTXNSVUZCUldsRExGRkJRVkVzYjBOQlFXOURhME1zVTBGQlUyaEZMRXRCUVV0elN5eFhRVUZYZEVzc1MwRkJTM2xKTEdkQ1FVRm5RaXhaUVVGWmVra3NTMEZCU3poQ0xGRkJRVkU0Unl4SlFVRkpMR0ZCUVdFMVNTeExRVUZMT0VJc1VVRkJVVGhITEVsQlFVa3NRMEZCUTNWTUxGVkJRVlVzWTBGQll5eEhRVUZIYmxVc1MwRkJTM2xKTEdWQlFXVktMR05CUVdNc1UwRkJVMnBETEV0QlFVdHdSeXhOUVVGTkxFbEJRVWxCTEV0QlFVdG5RaXhSUVVGUmFVOHNVVUZCVVhCUUxFVkJRVVZyUXl4alFVRmpMRWxCUVVsM1J5eEZRVUZGYmtNc1MwRkJTM0JITEV0QlFWQjFTU3hEUVVGaGVra3NTVUZCU1hOSExFdEJRVXR3Unl4TlFVRk5TQ3hGUVVGRk9Fd3NVMEZCVXl4VFFVRlROMHdzUjBGQlIwVXNTMEZCU3l0Q0xHTkJRV000VFN4aFFVRmhOMDhzUzBGQlN5dENMR05CUVdNdlFpeExRVUZMTWtrc1VVRkJVWEZHTEZsQlFWa3NaMFZCUVdkRmFFOHNTMEZCU3poQ0xGTkJRVk01UWl4TFFVRkxPRUlzVVVGQlVXbEhMRkZCUVZFdlNDeExRVUZMT0VJc1VVRkJVWEZSTEZWQlFWVjBVeXhGUVVGRmJVTXNiMEpCUVc5Q2FrTXNSVUZCUlVNc1MwRkJTMmxVTEhkQ1FVRjFRaXhGUVVGSGFsUXNTMEZCUzIxRExGbEJRVmx1UXl4TFFVRkxlVk1zV1VGQlZ5eEZRVUZITTBzc1JVRkJSVEZDTEV0QlFVdHdSeXhMUVVGUU9FZ3NRMEZCWVdoSkxFbEJRVWx6Unl4TFFVRkxjRWNzVFVGQlRVZ3NSVUZCUlc5VkxGRkJRVkVzVTBGQlUyNVZMRWRCUVVkRUxFVkJRVVVyUWl4WlFVRlpOVUlzUzBGQlN6UkNMRmRCUVZjNVFpeEhRVUZGTEV0QlFVMURMRVZCUVVWRExFdEJRVXRwVkN4M1FrRkJkVUlzUlVGQlIycFVMRXRCUVV0dFF5eFpRVUZaZEVNc1JVRkJSU3RDTEZsQlFWazFRaXhMUVVGTGJVc3NVVUZCVVc1TExFdEJRVXR0U3l4UFFVRlBNMGtzUzBGQlN5eHBRa0ZCYVVJeFFpeEhRVUZIYVVvc1JVRkJSVE5ETEV0QlFVdHdSeXhMUVVGUUswa3NRMEZCWVdwS0xFbEJRVWx6Unl4TFFVRkxjRWNzVFVGQlRVZ3NSVUZCUlhGVkxFMUJRVTBzVTBGQlUzQlZMRWRCUVVkclNpeEZRVUZGTlVNc1MwRkJTM0JITEV0QlFWQm5TaXhEUVVGaGJFb3NTVUZCU1hOSExFdEJRVXR3Unl4TlFVRk5RU3hMUVVGTGIxVXNXVUZCV1hoVkxFVkJRVVV3UWl4TFFVRkxla0lzUjBGQlIwY3NUVUZCVFVnc1JVRkJSVFJQTEZWQlFWVjVSU3hYUVVGWExGZEJRVmRzVkN4TFFVRkxiMVVzWTBGQlkzQlZMRXRCUVV0dlZTeFpRVUZaUXl4UlFVRlJjbFVzUzBGQlMzbFRMRmxCUVZjc1NVRkJTelZUTEVWQlFVVTBUeXhWUVVGVkwwb3NUVUZCVFN4VFFVRlROVVVzUlVGQlJVTXNSMEZCUnl4SlFVRkpSQ3hGUVVGRkxFOUJRVTlGTEV0QlFVc3NTVUZCU1hsSUxFZEJRVWMxU0N4RlFVRkZlVlVzVDBGQlVYcFZMRVZCUVVWNVZTeFBRVUZWZWxVc1JVRkJSWGxWTEU5QlFVd3NTVUZCWVhoVkxFdEJRVXN5U0N4RlFVRkZOMGdzUlVGQlJTeFpRVUZaUVN4RlFVRkZMRmxCUVZrc1EwRkJRekpQTEVsQlFVbDZUeXhGUVVGRkxGTkJRVk5yUlN4VFFVRlRlVVFzUjBGQlJ6ZElMRVZCUVVVc1dVRkJXU3hEUVVGRE1rOHNTVUZCU1hwUExFVkJRVVVzVTBGQlUydEZMRk5CUVZONVJDeEhRVUZITlVnc1JVRkJSWGxWTEU5QlFVOTRWU3hIUVVGSE1rZ3NSVUZCUlN4SlFVRkpOVWdzUlVGQlJYbFZMRTlCUVU5NFZTeEhRVUZITmtVc1QwRkJUMmxETEV0QlFVdHRTQ3hMUVVGTExFMUJRVTFvVHl4RlFVRkZRU3hGUVVGRkxFdEJRVXNzU1VGQlNTeEhRVUZITEVsQlFVbEdMRVZCUVVWNVZTeFBRVUZQZUZVc1IwRkJSM2xWTEZGQlFWRXhWU3hGUVVGRmVWVXNUMEZCVDNoVkxFZEJRVWN3VlN4WlFVRlpMRVZCUVVVc1RVRkJUVEZWTEVsQlFVa3NUMEZCVDBRc1JVRkJSWGxWTEU5QlFVOTRWU3hIUVVGSE1sVXNUMEZCVDNwVkxFMUJRVTFJTEVWQlFVVTJWU3hwUWtGQmFVSXNRMEZCUTNKSkxFdEJRVXNzU1VGQlNYTkpMRlZCUVZVc1NVRkJTVU1zVFVGQlRTeEpRVUZKUXl4TlFVRk5MRWxCUVVsRExGRkJRVkVzU1VGQlNVTXNWVUZCVlN4SlFVRkpReXhOUVVGTkxFbEJRVWxETEU5QlFVOHNTVUZCU1VNc1QwRkJUeXhKUVVGSlF5eFJRVUZSTEVsQlFVbERMRkZCUVZFc1NVRkJTVU1zVjBGQlZ5eEpRVUZKUXl4VlFVRlZMRWxCUVVsRExGVkJRVlVzUzBGQlN6RldMRVZCUVVVMFR5eFZRVUZWYmtRc1VVRkJVU3hUUVVGVGVFd3NSVUZCUlVNc1IwRkJSMEVzUlVGQlJVRXNSMEZCUnl4SFFVRkhReXhMUVVGTGQxWXNiVUpCUVcxQ2VGWXNTMEZCUzNkV0xHbENRVUZwUWl4SlFVRkplbFlzUlVGQlJUUkxMRlZCUVZVMVN5eEZRVUZGTkVzc1VVRkJVVE5MTEV0QlFVc3lTU3hUUVVGVE5Va3NSVUZCUlRSTExGRkJRVkZ1U2l4TFFVRkxMSE5DUVVGelFucENMRVZCUVVVMFN5eFJRVUZSYmtvc1MwRkJTeXh2UWtGQmIwSXpRaXhGUVVGRk5GWXNkVUpCUVhWQ01WWXNSVUZCUlRSTExGRkJRVkZ1U2l4TFFVRkxMRzlDUVVGdlFucENMRVZCUVVVMFN5eFJRVUZSY1VRc1dVRkJXV3BQTEVWQlFVVTBTeXhSUVVGUmJrb3NTMEZCU3l4dFFrRkJiVUpCTEV0QlFVc3NhVUpCUVdsQ0xFMUJRVTE0UWl4TFFVRkxkMVlzYVVKQlFXbENlbFlzUlVGQlJUUkxMRkZCUVZGdVNpeExRVUZMTEhWQ1FVRjFRbkZPTEdGQlFXRTNUeXhMUVVGTGQxWXNhVUpCUVdsQ2VsWXNSVUZCUlRSTExGRkJRVkZ1U2l4TFFVRkxMSGRDUVVGM1FucENMRVZCUVVVMFN5eFJRVUZSY2tnc1UwRkJVeXhwUWtGQmFVSjRSQ3hIUVVGSE1FSXNTMEZCU3l4cFFrRkJhVUlzYVVKQlFXbENNVUlzUjBGQlIwVXNTMEZCUzNkV0xHbENRVUZwUW5wV0xFVkJRVVUwU3l4UlFVRlJia29zUzBGQlN5eHpRa0ZCYzBKclRTeFhRVUZYTEZkQlFWY3pUaXhGUVVGRk5Fc3NVVUZCVVhGRUxGbEJRVmxxVHl4RlFVRkZORXNzVVVGQlVXNUtMRXRCUVVzc2JVSkJRVzFDUVN4TFFVRkxMR2xDUVVGcFFpeE5RVUZOZWtJc1JVRkJSVFJNTEZWQlFWVTFUQ3hGUVVGRk5Fd3NXVUZCV1RsTUxFVkJRVVUyVlN4cFFrRkJhVUkxVlN4TFFVRkxSQ3hGUVVGRk5FOHNWVUZCVldsSUxHTkJRV01zVTBGQlV6TldMRVZCUVVVd1NDeEhRVUZITEVsQlFVbGpMRVZCUVVVc1JVRkJSVlFzUlVGQlJTeEZRVUZGYVVJc1JVRkJSU3hGUVVGRlF5eEZRVUZGTEVWQlFVVnVTaXhGUVVGRkxFVkJRU3R1UWl4UFFVRlBORWdzUlVGQlJUZElMRVZCUVVVNFJpeFBRVUYwYjBJc1EwRkJRMmxSTEdWQlFXVXNSMEZCUjBNc1kwRkJZU3hIUVVFcmJVSnVUeXhIUVVGSE1VZ3NSVUZCUldsSkxFZEJRVWNzZFVKQlFXNXVRaXhUUVVGWGJFa3NSMEZCUnpKSUxFVkJRVVZ0VHl4bFFVRmxPVllzUlVGQlJXOUpMR05CUVdOdlFpeFZRVUZWZUVvc1JVRkJSVzlKTEdOQlFXTnZRaXhWUVVGVmVFb3NSVUZCUlVFc1JVRkJSVzlKTEdOQlFXTnZRaXhSUVVGUkxFbEJRVWtzU1VGQlNXWXNTVUZCU1VFc1JVRkJSU3hGUVVGRlZDeEZRVUZGYUVrc1JVRkJSU3RXTEZGQlFWRTVUU3hGUVVGRmFrb3NSVUZCUldkWExGbEJRV2RuUW14WExFVkJRVVVzVVVGQlVXOUpMRWRCUVVjc2JVSkJRVzVuUWl4VFFVRlhiRWtzUjBGQlJ5eEpRVUZKZVVrc1NVRkJTVUVzUlVGQlJTeEZRVUZGTTBJc1MwRkJTMjFRTEVsQlFVa3ZUU3hIUVVGSGNFTXNTMEZCUzIxUUxFbEJRVWxzVnl4SlFVRkpLMGNzUzBGQlMyMVFMRWxCUVVrdlRTeEhRVUZIZGtJc1JVRkJSV3RQTEdWQlFXVXpUU3hGUVVGRkxFVkJRVVZxU2l4RlFVRkZaU3hSUVVGUmJFSXNSVUZCUlc5WExFMUJRVTBzYVVKQlFXbENhbGNzUlVGQlJXVXNVVUZCVVd4Q0xFVkJRVVZ2Vnl4TlFVRk5MR3RDUVVGclFuQlFMRXRCUVV0dFVDeEpRVUZKYkZjc1IwRkJSelJJTEVWQlFVVnJUeXhwUWtGQmFVSTVWaXhGUVVGRkxFVkJRVVZGTEVWQlFVVmxMRkZCUVZGc1FpeEZRVUZGYjFjc1RVRkJUU3hsUVVGbGFsY3NSVUZCUldVc1VVRkJVV3hDTEVWQlFVVnZWeXhOUVVGTkxIRkNRVUYzVTNCWExFVkJRVVVzVVVGQlVXOUpMRWRCUVVjc2MwSkJRV3hUTEZOQlFWZHNTU3hIUVVGSExFbEJRVWxETEVWQlFVVXNTVUZCU1hkSkxFbEJRVWw0U1N4SFFVRkhSQ3hGUVVGRlFTeEZRVUZGYjBrc1kwRkJZMjlDTEZGQlFWRjRTaXhGUVVGRmIwa3NZMEZCWTI5Q0xGRkJRVkVzUjBGQlIzaEtMRWRCUVVjclZpeFJRVUZSTDA0c1JVRkJSV2hKTEVWQlFVVkJMRVZCUVVWblZ5eFJRVUZSTDAwc1IwRkJSMjVETEV0QlFVdHRVQ3hKUVVGSmFGY3NSMEZCUnpCSUxFVkJRVVZyVHl4blFrRkJaMEl2VHl4TFFVRkxiVkFzU1VGQlNXcFhMRWRCUVVjeVNDeEZRVUZGYTA4c2EwSkJRV3RDY0U0c1JVRkJSU3hGUVVGRlV5eEZRVUZGYWtvc1JVRkJSVVlzUlVGQlJVTXNUVUZCYlVsRExFZEJRVWRHTEVWQlFVVTBUeXhWUVVGVmQwZ3NVVUZCVVN4WFFVRlhMRTlCUVU5cVZ5eExRVUZMT0U4c1UwRkJVemxQTEV0QlFVczBUaXhSUVVGUk5VNHNTMEZCUzI5S0xFMUJRVTBzUTBGQlEwTXNZVUZCV1N4SlFVRkxja29zUzBGQlN6SkpMRk5CUVZNelNTeExRVUZMTWtrc1VVRkJVWGRLTEZOQlFWTnVVeXhMUVVGTGRVUXNVMEZCVTNaRUxFdEJRVXQxUkN4UlFVRlJORThzVTBGQlUyNVRMRXRCUVV0eFV5eFRRVUZUY2xNc1MwRkJTM0ZUTEZGQlFWRkdMRk5CUVZOdVV5eExRVUZMYjFNc1lVRkJXU3hGUVVGSGNGTXNUVUZCVFVnc1JVRkJSWGRITEdOQlFXTjJSeXhGUVVGRkxFVkJRVVVzVjBGQlZ5eFBRVUZQUVN4TlFVRk5SQ3hGUVVGRk5GWXNjVUpCUVhGQ01WWXNSVUZCUlN4RlFVRkZMRmRCUVZjc1QwRkJUMEVzVFVGQlRVWXNSVUZCUlhkR0xHVkJRV1VzUjBGQlIzaEdMRVZCUVVWeFZ5eFBRVUZQTEZOQlFWTndWeXhGUVVGRlF5eEhRVUZIUml4RlFVRkZkMFlzWlVGQlpYWkdMRWRCUVVkRExFZEJRVWRJTEVWQlFVVjFWeXhIUVVGSFF5eExRVUZMTEZOQlFWTjBWeXhGUVVGRlF5eEhRVUZITEU5QlFVOUJMRVZCUVVWQkxFZEJRVWNzUjBGQlJ5eEpRVUZKUml4RlFVRkZReXhGUVVGRlFTeEhRVUZITEVkQlFVZEdMRVZCUVVVNFJpeFBRVUZQTTBZc1JVRkJSU3hEUVVGRFl5eFBRVUZQWWl4VFFVRlRTQ3hGUVVGRkxGTkJRVk4zVnl4dFFrRkJiVUpFTEV0QlFVdEZMRkZCUVZFc1NVRkJTVVlzUzBGQlMwWXNUMEZCVHl4VlFVRlZMRU5CUVVOTExHTkJRV01zVTBGQlUwTXNZVUZCWVN4VFFVRlRReXhSUVVGUkxFdEJRVXRETEU5QlFVOHNTMEZCUzBNc1owSkJRV1VzUlVGQlIzcFZMRTlCUVU5MVJDeFBRVUZQYUVRc1QwRkJUU3hGUVVGSE5VSXNUMEZCVHl4cFFrRkJhVUpKTEZkQlFWY3NaVUZCWlVRc1VVRkJVU3hwUTBGQmFVTllMRk5CUVZNc1NVRkJTVVVzVTBGQlV5eEpRVUZKTWtRc1lVRkJXU3hGUVVGSFRpeFpRVUZYTEVWQlFVZERMR05CUVdFc1JVRkJSMFVzWVVGQldTeEZRVUZIVWl4VFFVRlJMRVZCUVVkSUxGVkJRVlVzVTBGQlUzSkRMR2RDUVVGbExFVkJRVWMyVml4VlFVRlZMRk5CUVZNNVZ5eEhRVUZITEVsQlFVbERMRVZCUVVWRExFdEJRVXRETEZGQlFWRjNWeXhWUVVGVk1WY3NSVUZCUlVRc1JVRkJSVzlQTEV0QlFVc3NWMEZCVjNCUExFVkJRVVZ2VHl4TFFVRkxMRmRCUVZkd1R5eEZRVUZGYjA4c1MwRkJTeXhSUVVGUmNFOHNSVUZCUlc5UExFdEJRVXNzVlVGQlZTeG5Ra0ZCWjBKd1R5eEZRVUZGYjA4c1MwRkJTeXhSUVVGUkxFOUJRVTl3VHl4RlFVRkZiMDhzUzBGQlN5eFZRVUZWTEUxQlFVMHNNa0pCUVRKQ2NFOHNSVUZCUlc5UExFdEJRVXNzVVVGQlVTeExRVUZMTEVkQlFVZHdUeXhGUVVGRksxY3NTMEZCU3l4VlFVRlZMRTFCUVUxeVZpeExRVUZMTEhOQ1FVRnpRbnBDTEV0QlFVc3JWeXhYUVVGWExGZEJRVmM1Vnl4TFFVRkxNa2tzVVVGQlVYSkdMRk5CUVZNc1kwRkJZM1JFTEV0QlFVdHZRaXhQUVVGUGExWXNUMEZCVHl4elEwRkJjME5CTEU5QlFVOHNhVVZCUVdsRmNrZ3NTMEZCUzJwUUxFdEJRVXRETEZGQlFWRjFWeXhqUVVGamVFOHNSMEZCUnl4WlFVRlpMRmRCUVZkb1NTeExRVUZMUXl4UlFVRlJlVmNzVVVGQlVURlhMRXRCUVV0RExGRkJRVkY1Vnl4UFFVRlBNVmNzUzBGQlMyMUxMRkZCUVZGdVN5eExRVUZMYjBvc1UwRkJVMmhFTEV0QlFVdHdSeXhQUVVGUFowVXNVMEZCVTJoRkxFdEJRVXR2UWl4UlFVRlJjRUlzUzBGQlN5dFhMR0ZCUVdGVUxFOUJRVThzYVVWQlFXbEZja2dzUzBGQlMycFFMRXRCUVV0RExGRkJRVkZ6Vnl4bFFVRmxkbE1zVTBGQlUyaEZMRXRCUVV0dlFpeFJRVUZSY0VJc1MwRkJTMjlDTEU5QlFVODBReXhUUVVGVGFFVXNTMEZCUzNOTExGbEJRVmt3VFN4UlFVRlJMRmRCUVZkb1dDeExRVUZMSzFjc1lVRkJZV3hPTEVsQlFVa3NjVUpCUVhGQ04wb3NTMEZCUzBVc1IwRkJSeXh2UWtGQmIwSkdMRXRCUVV0RkxFbEJRVWs0U0N4SFFVRkhMSEZDUVVGeFFtaEpMRXRCUVV0RkxFZEJRVWNzYjBKQlFXOUNSaXhMUVVGTFJTeEhRVUZITEZkQlFWZEdMRXRCUVV0RExGRkJRVkYzVnl4UlFVRlJlbGNzUzBGQlMwTXNVVUZCVVhkWExGRkJRVkY2Vnl4TFFVRkxiVXNzVVVGQlVUaE5MRXRCUVV0cVdDeExRVUZMYlVzc1QwRkJUek5KTEV0QlFVc3NkMEpCUVhkQ2VFSXNTMEZCUzBNc1VVRkJVVEJYTEdkQ1FVRm5Rak5YTEV0QlFVdHZTaXhUUVVGVGFFUXNTMEZCUzNCSExGVkJRVlVzVTBGQlUydFlMR2xDUVVGcFFuQllMRVZCUVVWclNpeEhRVUZITEVsQlFVbHNTaXhGUVVGRmIxY3NUMEZCVHl4UlFVRlJMRU5CUVVNelNDeEpRVUZKTEU5QlFVODBTU3hSUVVGUkxHdENRVUZyUWtNc1YwRkJWeXhSUVVGUlF5eFZRVUZWTEVsQlFVbERMRlZCUVZVc1ZVRkJWVU1zWTBGQllTeEZRVUZIUXl4elFrRkJjMElzU1VGQlNVTXNaMEpCUVdVc1JVRkJSME1zYlVKQlFXMUNMRXRCUVV0RExHdENRVUZyUWl4TFFVRkxReXhuUWtGQlowSXNTMEZCUzBNc2MwSkJRWE5DTEV0QlFVdERMRzFDUVVGclFpeEZRVUZITlZZc1QwRkJUM1ZFTEU5QlFVODFSU3hQUVVGUExHOUNRVUZ2UWpSQ0xFOUJRVTBzUlVGQlIzbENMR0ZCUVZrc1JVRkJSMDRzV1VGQlZ5eEZRVUZIUXl4aFFVRmhMRk5CUVZORkxHRkJRVmtzUlVGQlIxSXNVMEZCVVN4RlFVRkhTQ3hWUVVGVkxGTkJRVk55UXl4blFrRkJaU3hGUVVGSFdpeE5RVUZOTEU5QlFVOURMRTlCUVU4c1QwRkJUM2RETEdWQlFXVXNRMEZCUXpCRUxFbEJRVWtzUjBGQlIwTXNUVUZCVFN4RlFVRkZReXhQUVVGUExFZEJRVWRETEV0QlFVc3NSMEZCUjNOU0xGRkJRVkVzVjBGQlZ5OVlMRXRCUVV0bldTeFBRVUZQYUZrc1MwRkJTMmxaTEdGQlFXRXNSMEZCUjJwWkxFdEJRVXRyV1N4WlFVRlpMRVZCUVVWc1dTeExRVUZMYlZrc1ZVRkJWU3hUUVVGVGNsa3NSMEZCUnl4SlFVRkpReXhGUVVGRk1FZ3NSMEZCUnpOSUxFVkJRVVZyU2l4RlFVRkZiRW9zU1VGQlNUQkNMRXRCUVVzc2QwSkJRWGRDZWtJc1JVRkJSVVFzUlVGQlJXOVBMRXRCUVV0c1R5eExRVUZMUXl4UlFVRlJjMDhzUzBGQlMzWlBMRXRCUVV0RExGRkJRVkV5V0N4cFFrRkJhVUkxV0N4TFFVRkxReXhSUVVGUk5GZ3NkVUpCUVhWQ0wxZ3NSVUZCUlc5UExFdEJRVXRzVHl4TFFVRkxReXhSUVVGUk1sZ3NhMEpCUVd0Q05VOHNSVUZCUlhaRUxGRkJRVkYwUml4VFFVRlRTQ3hMUVVGTFF5eFJRVUZSTkZnc2QwSkJRWGRDT1Znc1JVRkJSVVFzUlVGQlJXOVBMRXRCUVV0c1R5eExRVUZMUXl4UlFVRlJNbGdzYTBKQlFXdENibEVzUlVGQlJUTklMRVZCUVVWdlR5eExRVUZMYkU4c1MwRkJTME1zVVVGQlVXdFlMRlZCUVZVc1ZVRkJWVzVZTEV0QlFVdG5XU3hQUVVGUGRsRXNTMEZCUzNwSUxFdEJRVXRuV1N4UFFVRlBkbEVzUjBGQlJ5eEpRVUZKZWtnc1MwRkJTMmRaTEU5QlFVOTJVU3hIUVVGSE5FY3NTMEZCU3l4RFFVRkRSU3hKUVVGSmVFOHNSVUZCUlhGWkxFMUJRVTEwV1N4RlFVRkZiMDhzUzBGQlMyeFBMRXRCUVV0RExGRkJRVkZ0V0N4aFFVRmhMRWRCUVVkcFFpeFpRVUZaY2xrc1MwRkJTME1zVVVGQlVUQllMRzFDUVVGdFFqZFlMRVZCUVVWdlR5eExRVUZMYkU4c1MwRkJTME1zVVVGQlVUQllMRzFDUVVGdFFqZFlMRVZCUVVWdlR5eExRVUZMYkU4c1MwRkJTME1zVVVGQlVUQllMRzFDUVVGdFFpeFBRVUZQTEZOQlFWTXpXQ3hMUVVGTFF5eFJRVUZSYlZnc1dVRkJXWFJZTEVWQlFVVTBUeXhYUVVGWExGTkJRVk0xVHl4RlFVRkZNRUlzUzBGQlN5eHhRa0ZCY1VKcFJ5eEhRVUZITTBnc1JVRkJSVEJDTEV0QlFVc3NaMEpCUVdkQ2VFSXNTMEZCUzJkWkxFOUJRVTkyVVN4SFFVRkhUU3hQUVVGUExFdEJRVXN6UWl4TFFVRkxjRWNzVFVGQlRVRXNTMEZCU3pKUExHdENRVUZyUWpOUExFdEJRVXN5VHl4cFFrRkJhVUkxUnl4UlFVRlJhVUlzUlVGQlJYSkNMRXRCUVVzelNDeExRVUZMTWs4c2FVSkJRV2xDTEZOQlFWTTNUeXhGUVVGRlF5eEhRVUZIUXl4TFFVRkxiVmtzVlVGQlZYQlpMRWxCUVVseFJ5eExRVUZMY0Vjc1QwRkJUeXhKUVVGSkswa3NSVUZCUlN4VFFVRlRha29zUlVGQlJVTXNSVUZCUlRCSUxFVkJRVVZqTEVkQlFVY3NTVUZCU1ZNc1JVRkJSU3hsUVVGbGJFb3NSVUZCUlN4SlFVRkpReXhIUVVGSFowa3NUMEZCVHl4RFFVRkRMRWxCUVVsRUxFVkJRVVZyUWl4RlFVRkZMRk5CUVZNc1EwRkJRemxKTEVkQlFVY3NZMEZCWTBvc1JVRkJSU3hKUVVGSlF5eEZRVUZGYVVzc1RVRkJUU3gzUWtGQmQwSjJReXhGUVVGRkxHVkJRV1V6U0N4RlFVRkZMRmRCUVZjc1RVRkJUVGhKTEVsQlFVa3NRMEZCUXpCUUxHVkJRV1YwV1N4TFFVRkxReXhSUVVGUmNWZ3NWVUZCVlhCT0xGRkJRVkV6UWl4RlFVRkZMRVZCUVVVc1JVRkJSVGxGTEU5QlFVOW5SU3hGUVVGRmVrZ3NTMEZCUzJ0WkxHTkJRV01zU1VGQlNXeFZMRk5CUVZOb1JTeExRVUZMWjBJc1UwRkJVeXhQUVVGUGFFSXNTMEZCU3pCV0xHTkJRV00xVGl4SFFVRkhSU3hIUVVGSExEWkNRVUUyUWl4VFFVRlRiRWtzUjBGQlJ5eGpRVUZqUVN4RlFVRkZOa1lzUzBGQlN6TkdMRXRCUVV0MVdTeFZRVUZWTEZGQlFWRXNaVUZCWlhwWkxFVkJRVVUyUml4TlFVRk5NMFlzUzBGQlMzVlpMRlZCUVZVc1UwRkJVMjVUTEV0QlFVdHdSeXhQUVVGUFowb3NSVUZCUlN4VFFVRlRMRU5CUVVNNVNTeEhRVUZITEc5Q1FVRnZRa29zUlVGQlJTeEpRVUZKUXl4RlFVRkZhVXNzVFVGQlRTeHZRa0ZCYjBKMlF5eEZRVUZGTEZWQlFWVXNUVUZCVFhkSUxFdEJRVXRxVUN4TFFVRkxaMWtzVDBGQlQyeFpMRWRCUVVkRExFZEJRVWR4V1N4UFFVRlBjRkVzUjBGQlJ5eFpRVUZaTEZkQlFWZG5RaXhGUVVGRmFFb3NUVUZCVFhkWkxGbEJRVmtzWTBGQlkzaFZMRk5CUVZOb1JTeExRVUZMZVZrc2NVSkJRWEZDYUZJc1IwRkJSMHNzUlVGQlJYZEVMRkZCUVZFc1EwRkJRM0JDTEZGQlFWRXNSMEZCUnpOQ0xFVkJRVVVzUlVGQlJYWkpMRXRCUVV0RExGRkJRVkZ2V0N4WFFVRlhkbEFzU1VGQlNURkNMRXRCUVV0d1J5eE5RVUZOUVN4TFFVRkxNRmtzWTBGQll5eFRRVUZUTlZrc1IwRkJSeXhKUVVGSlF5eEZRVUZGWjBjc1UwRkJVelJMTEdOQlFXTXNTMEZCU3pWUkxFVkJRVVUwV1N4TFFVRkxOMWtzUlVGQlJVTXNSVUZCUlRaSUxHRkJRV0VzVjBGQlZ6bElMRVZCUVVVNFdTeFZRVUZWT1Zrc1JVRkJSWE5QTEZsQlFWa3NTMEZCU3l4SlFVRkpja2tzVTBGQlV6aExMRXRCUVV0eVJ5eFpRVUZaZWtzc1IwRkJSMEVzUlVGQlJUaFpMRk5CUVZNc1NVRkJTUzlSTEVWQlFVVXNVMEZCVXk5SUxFVkJRVVV3U0N4RlFVRkZNMGdzUlVGQlJYbEpMRWRCUVVjc1NVRkJTVlFzUlVGQlJXbENMRVZCUVVWb1NpeEZRVUZGTUVnc1JVRkJSVE5JTEVWQlFVVjVTU3hIUVVGSFZDeEZRVUZGZUVVc1UwRkJVeXh6UWtGQmMwSXdSaXhGUVVGRkxHRkJRV0ZvU2l4TFFVRkxaMWtzVDBGQlQycFpMRWRCUVVjd1NDeEhRVUZIT0Vjc1NVRkJTU3hSUVVGUk5VY3NTMEZCU3l4WFFVRlhMRWxCUVVrM1NDeEZRVUZGTEVsQlFVbG5XaXhOUVVGTmFGb3NSVUZCUldsYUxFOUJRVThzVjBGQlYycFNMRVZCUVVWclJ5eFpRVUZaTEhOQ1FVRnpRbXhITEVWQlFVVmpMRWxCUVVrc1EwRkJRMjlSTEdkQ1FVRm5RaXhSUVVGUmFGb3NTMEZCUzJkWkxFOUJRVTlxV1N4SFFVRkhNRWdzUjBGQlJ6aEhMRWxCUVVrc1VVRkJVVzVKTEV0QlFVdHdSeXhOUVVGTlJpeEZRVUZGYlZvc1VVRkJVU3hYUVVGWGJsSXNSVUZCUld0SExGbEJRVmtzYzBKQlFYTkNiRWNzUlVGQlJYaEZMRk5CUVZNc2VVSkJRWGxDT0VNc1MwRkJTM0JITEUxQlFVMUdMRVZCUVVWNVR5eEpRVUZKZGs4c1MwRkJTMmRaTEU5QlFVOXFXU3hIUVVGSE1FZ3NSMEZCUnpoSExFdEJRVXR1U1N4TFFVRkxjRWNzVVVGQlVXOUhMRXRCUVV0d1J5eE5RVUZOUVN4TFFVRkxkVmtzVlVGQlZTeFRRVUZUZWxrc1IwRkJSeXhKUVVGSlF5eEZRVUZGTUVnc1JVRkJSV01zUlVGQlJTeEhRVUZITEZGQlFWRjZTU3hGUVVGRlF5eEZRVUZGUXl4TFFVRkxhVmtzWVVGQllXUXNVVUZCVVRWUExFZEJRVWRCTEVWQlFVVjJTU3hMUVVGTGFWa3NZVUZCWVM5WUxFMUJRVTBzVVVGQlVVb3NTVUZCU1N4RlFVRkZMRWxCUVVsRkxFdEJRVXRuV1N4UFFVRlBhbGtzUjBGQlIyZEpMRTlCUVU4c1JVRkJSU3hGUVVGRlVTeEZRVUZGTEVWQlFVVjJTU3hMUVVGTFoxa3NUMEZCVDJwWkxFZEJRVWRuU1N4UFFVRlBMRVZCUVVWUkxFMUJRVTBzUTBGQlF5eEhRVUZIZGtrc1MwRkJTMjFMTEU5QlFVOXdTeXhGUVVGRlF5eExRVUZMYlVzc1QwRkJUek5KTEV0QlFVc3NjMEpCUVhOQ0swY3NSVUZCUlhaSkxFdEJRVXR0U3l4UFFVRlBNMGtzUzBGQlN5eHhRa0ZCY1VJc1EwRkJReXhKUVVGSmVFSXNTMEZCU3pKUExHMUNRVUZ0UWpOUExFdEJRVXN5VHl4cFFrRkJhVUkxUnl4UFFVRlBMRTlCUVU5b1NTeEZRVUZGYVVvc1JVRkJSV2hLTEV0QlFVc3lUeXhwUWtGQmFVSXNTVUZCU1c1T0xFdEJRVXNzYzBKQlFYTkNLMGNzUlVGQlJWTXNSVUZCUldoS0xFdEJRVXN5VHl4cFFrRkJhVUlzU1VGQlNXNU9MRXRCUVVzc2FVSkJRV2xDZUVJc1MwRkJTMmRaTEZGQlFWRm9XU3hMUVVGTFoxa3NUMEZCVDJwWkxFbEJRVWxwU2l4RlFVRkZMSE5FUVVGelJFb3NTVUZCU1N4RFFVRkRjVUlzVVVGQlVTeEZRVUZGYWtzc1MwRkJTMmRaTEU5QlFVOXFXU3hIUVVGSFowa3NUMEZCVHl4UlFVRlJMRk5CUVZOcFFpeEZRVUZGTEdWQlFXVnFTaXhGUVVGRkxGbEJRVmxuU1N4UlFVRlJhVUlzUlVGQlJTeGxRVUZsYWtvc1JVRkJSU3haUVVGWmFVOHNXVUZCV1N4alFVRmphazhzUlVGQlJTeFpRVUZaZFV3c1VVRkJVU3hEUVVGRGNFSXNVVUZCVVN4SFFVRkhMRkZCUVZGd1N5eEZRVUZGTEVWQlFVVkZMRXRCUVV0RExGRkJRVkZ2V0N4WFFVRlhjbGdzUzBGQlMybFpMR0ZCUVdFc1EwRkJRMlFzVVVGQlVYQllMRVZCUVVWSExFZEJRVWR4U1N4SFFVRkhVeXhGUVVGRkxHVkJRV1ZxU2l4RlFVRkZMRWxCUVVsM1NTeEhRVUZIVWl4UFFVRlBhVUlzUlVGQlJTeGxRVUZsYWtvc1JVRkJSU3hKUVVGSmQwa3NSMEZCUjJwR0xGTkJRVk1zWTBGQlkzWkVMRVZCUVVVc1dVRkJXVFpKTEVsQlFVa3NRMEZCUTI1R0xFOUJRVTk2UkN4TFFVRkxhMWtzWTBGQlkyaFBMRkZCUVZFc1NVRkJTVzlDTEZGQlFWRXNRMEZCUTNCQ0xGRkJRVkVzUjBGQlJ5eFJRVUZSY0Vzc1JVRkJSU3hGUVVGRlJTeExRVUZMUXl4UlFVRlJiMWdzVjBGQlYzWlFMRVZCUVVVdlNDeEZRVUZGZDBrc1IwRkJSU3hGUVVGSExGTkJRVk42U1N4SFFVRkhNa2dzUlVGQlJURklMRVZCUVVWRUxFVkJRVVY1U1N4RlFVRkZVeXhGUVVGRkxEUkNRVUUwUW1kR0xGbEJRVmtzYlVKQlFXMUNhRVlzUlVGQlJTeHhRa0ZCY1VKMlFpeEZRVUZGTEVsQlFVa3pTQ3hIUVVGSGQwUXNVMEZCVXl4VlFVRlZkRVFzUzBGQlMzVllMR1ZCUVdWMldDeExRVUZMWjFrc1QwRkJUMnBaTEVsQlFVa3NSVUZCUlVNc1MwRkJTMmRaTEU5QlFVOXFXU3hIUVVGSFowa3NVVUZCVVM5SUxFdEJRVXN5U1N4UlFVRlJja1lzVTBGQlV5d3dRa0ZCTUVKMFJDeExRVUZMZFZnc1lVRkJZVGxOTEV0QlFVc3NNa0pCUVRKQ2QwVXNTMEZCUzJwUUxFdEJRVXRuV1N4UFFVRlBhbGtzUjBGQlIyZEpMRkZCUVZFdlNDeExRVUZMZFZnc1lVRkJZVGxOTEV0QlFVc3NLMEpCUVN0Q2QwVXNTMEZCU3pGSExFVkJRVVVzU1VGQlNYWkpMRXRCUVVzeVNTeFJRVUZSY1VZc1dVRkJXU3d5UWtGQk1rSm9UeXhMUVVGTFoxa3NUMEZCVDJwWkxFbEJRVWxETEV0QlFVdG5XU3hQUVVGUGFsa3NSMEZCUjJkSkxFOUJRVThzU1VGQlNWRXNSMEZCUjBFc1IwRkJTU3hIUVVGSGRra3NTMEZCUzJkWkxFOUJRVTlxV1N4SFFVRkhaMGtzVDBGQlR5eEZRVUZGTEVWQlFVVlJMRVZCUVVVc1JVRkJSWFpKTEV0QlFVdG5XU3hQUVVGUGFsa3NSMEZCUjJkSkxFOUJRVThzUlVGQlJWRXNSVUZCUlZNc1JVRkJSU3hsUVVGbGFrb3NSVUZCUlN4SlFVRkpkMGtzUjBGQlIxSXNVVUZCVVVRc1JVRkJSUzlJTEVWQlFVVjNTU3hIUVVGRkxFZEJRVWNzUzBGQlRYWkpMRXRCUVV0RExGRkJRVkUyV0N4dFFrRkJiVUk1VHl4RlFVRkZka1FzVVVGQlVYVkRMRWRCUVVjc1QwRkJUeXhYUVVGWGFFa3NTMEZCUzNWWkxGVkJRVlVzVTBGQlUyNVRMRXRCUVV0d1J5eFJRVUZSTkZjc1ZVRkJWU3hUUVVGVE9WY3NSMEZCUjBVc1MwRkJTMjFaTEZkQlFWZHVXU3hMUVVGTGJWa3NWVUZCVlhKWkxFbEJRVWxuV0N4WFFVRlhMRmRCUVZjNVZ5eExRVUZMYTFvc2EwSkJRV3RDYkZFc1JVRkJSU3d5UTBGQk1rTm9SaXhUUVVGVGFFVXNTMEZCU3pKSkxGTkJRVk16U1N4TFFVRkxiVm9zWjBKQlFXZENibEVzUlVGQlJTd3dRMEZCTUVOb1FpeEhRVUZITEZsQlFWa3NWMEZCVjJoSkxFdEJRVXQxV1N4VlFVRlZMRk5CUVZOdVV5eExRVUZMY0Vjc1QwRkJUMEVzUzBGQlMyOWFMR2RDUVVGblFuQlJMRVZCUVVVc01FTkJRVEJEYUVJc1IwRkJSeXhaUVVGWkxGZEJRVmRvU1N4TFFVRkxkVmtzVlVGQlZTeFRRVUZUYmxNc1MwRkJTM0JITEU5QlFVOUJMRXRCUVV0NVdTeHZRa0ZCYjBKNlVDeEZRVUZGTERaRFFVRTJRMmhLTEV0QlFVdHJXaXhyUWtGQmEwSXpUeXhQUVVGUGRrc3NTMEZCUzIxYUxHbENRVUZwUWpWUExFOUJRVTkyU3l4TFFVRkxlVmtzY1VKQlFYRkNiRThzVDBGQlQzWkxMRXRCUVV0dldpeHBRa0ZCYVVKd1dpeExRVUZMUXl4UlFVRlJkMWdzYVVKQlFXbENlbGdzUzBGQlMzbFlMR1ZCUVdWNlR5eEZRVUZGTEZOQlFWTXNRMEZCUTJkQ0xFMUJRVTBzZFVOQlFYVkRhRWNzVTBGQlUyaEZMRXRCUVVzeVNTeFRRVUZUTkVJc1QwRkJUM1pMTEV0QlFVdERMRkZCUVZGNVdDeHRRa0ZCYlVJeFR5eEZRVUZGTEZOQlFWTXNRMEZCUTJkQ0xFMUJRVTBzYjBOQlFXOURhVVlzUzBGQlMycFFMRXRCUVV0RExGRkJRVkY1V0N4dlFrRkJiMElzVFVGQlRXNU9MRTlCUVU5MlFpeEZRVUZGTEZOQlFWTXNRMEZCUTJkQ0xFMUJRVTBzY1VOQlFYRkRhRU1zUjBGQlJ5eFpRVUZaTEZkQlFWY3NTVUZCU1d4SkxFVkJRVVZCTEVWQlFVVkZMRXRCUVV0bldTeFBRVUZQYUZrc1MwRkJTMmxaTEdGQlFXRmtMRk5CUVZOdVdDeExRVUZMYVZrc1lVRkJZUzlZTEVsQlFVbHRXU3hoUVVGaGNsa3NTMEZCU3pKSkxGRkJRVkU0UWl4TFFVRkxMR1ZCUVdWNlN5eExRVUZMYVZrc1lVRkJZV1FzVVVGQlVTeFpRVUZaTEVkQlFVZDZUeXhOUVVGTmMxRXNaMEpCUVdkQ00xSXNUVUZCVFN4SFFVRkhMRWRCUVVkRkxGRkJRVkVzVVVGQlVTeEpRVUZKZGtnc1MwRkJTekJaTEdOQlFXTTFXU3hKUVVGSmMwY3NTMEZCUzNCSExGRkJRVkZCTEV0QlFVdERMRkZCUVZGeldDeGxRVUZsZGxnc1MwRkJTM1ZZTEdGQlFXRjJUeXhGUVVGRkxGTkJRVk1zUTBGQlEyZENMRTFCUVUwc2FVTkJRV2xEY1ZBc1dVRkJXWEphTEV0QlFVdDVXU3h4UWtGQmNVSjZXU3hMUVVGTGRWZ3NZVUZCWVdoT0xFOUJRVTkyUWl4RlFVRkZMRlZCUVZVc1EwRkJRMmRDTEUxQlFVMHNaME5CUVdkRFR5eFBRVUZQZGtJc1JVRkJSU3hYUVVGWGFVY3NTMEZCUzJwUUxFdEJRVXRETEZGQlFWRjFXQ3gzUWtGQmQwSnFUaXhQUVVGUGRrSXNSVUZCUlN4VlFVRlZMRU5CUVVOblFpeE5RVUZOTERoQ1FVRTRRbWRPTEZGQlFWRXNWMEZCVjJoUExFVkJRVVZxUkN4VlFVRlZhVU1zUjBGQlJ5eHZRa0ZCYjBKb1NTeExRVUZMUlN4SFFVRkhMRk5CUVZOS0xFZEJRVWNzU1VGQlNVRXNSVUZCUlhsVExGTkJRVk4yVXl4TFFVRkxkVmtzVlVGQlZTeFJRVUZSTEVsQlFVbDZXU3hGUVVGRmVWTXNVMEZCVTNaVExFdEJRVXQxV1N4VlFVRlZMRk5CUVZOdVV5eExRVUZMY0Vjc1QwRkJUMEVzUzBGQlMzVlpMRlZCUVZVc1UwRkJVMlVzVTBGQlV5eFhRVUZYZEZFc1JVRkJSV3BFTEZWQlFWVTRSQ3hKUVVGSkxHOUNRVUZ2UWpkS0xFdEJRVXRGTEV0QlFVdHhXaXhwUWtGQmFVSXNWMEZCVjNaYUxFdEJRVXN5U1N4UlFVRlJPRUlzUzBGQlN5eDVRa0ZCZVVJM1FpeEpRVUZKTEZWQlFWVXNUVUZCVFN4VFFVRlRORkVzYTBKQlFXdENNVm9zUlVGQlJXdEtMRWRCUVVjc1NVRkJTV3hLTEVWQlFVVnZWeXhQUVVGUExGTkJRVk1zUTBGQlEzVkVMRTFCUVUwc1MwRkJTME1zVDBGQlRTeEZRVUZIUXl4aFFVRmhMRWRCUVVkeVZpeFZRVUZWTEVsQlFVazVRaXhYUVVGWExFTkJRVU5LTEVWQlFVVXNVVUZCVVVNc1JVRkJSU3hQUVVGUFJpeFRRVUZUTEVOQlFVTkRMRVZCUVVVc1IwRkJSME1zUlVGQlJTeEpRVUZKZFZnc2IwSkJRVzlDTEVOQlFVTkRMRWxCUVVrc1EwRkJRM3BZTEVWQlFVVXNSVUZCUlVNc1JVRkJSU3hIUVVGSGVWZ3NTVUZCU1N4RFFVRkRNVmdzUlVGQlJTeEhRVUZIUXl4RlFVRkZMRXRCUVV0SUxFOUJRVTkxUkN4UFFVRlBhRVFzVDBGQlRTeEZRVUZIVnl4VlFVRlZMRk5CUVZOVExHRkJRV0VzVFVGQlRVb3NUMEZCVHl4TFFVRkxjMVVzVVVGQlVTeFhRVUZYTDFnc1MwRkJTeXRhTEhOQ1FVRnpRaTlSTEVWQlFVVjBSQ3hQUVVGUExFZEJRVWN4Uml4TFFVRkxReXhSUVVGUmEwTXNWVUZCVlc1RExFdEJRVXRuWVN4eFFrRkJjVUlzVjBGQlZ5eEpRVUZKYkdFc1JVRkJSV3RLTEVWQlFVVjJSQ3hSUVVGUlowTXNSVUZCUlROSUxFVkJRVVZMTEZGQlFWRk1MRVZCUVVWTkxGTkJRVk5LTEV0QlFVdERMRkZCUVZGclF5eFRRVUZUTmtjc1JVRkJSWFJFTEU5QlFVOHNSMEZCUnpGR0xFdEJRVXNyV2l4MVFrRkJkVUl2VVN4RlFVRkZja0lzUzBGQlN6TklMRXRCUVV0RExGRkJRVkV5V2l4dlFrRkJiMElzVTBGQlV6bGFMRVZCUVVWRExFZEJRVWNzUjBGQlJ6QklMRWRCUVVjelNDeEZRVUZGTEU5QlFVOUZMRXRCUVV0RExGRkJRVkZyUXl4VFFVRlRjRU1zUjBGQlJTeEhRVUZKY1Vjc1MwRkJTM0JITEU5QlFVOUJMRXRCUVV0RExGRkJRVkV5UXl4bFFVRmxMRU5CUVVNd1JDeEpRVUZKZEVjc1MwRkJTME1zVVVGQlVXdERMRk5CUVZORkxFVkJRVVZyUlN4TlFVRk5ka2NzUzBGQlMwTXNVVUZCVVd0RExGTkJRVk5ETEVWQlFVVnZSU3hQUVVGUGVFY3NTMEZCUzBNc1VVRkJVV3RETEZOQlFWTkZMRVZCUVVWdlJTeExRVUZMZWtjc1MwRkJTME1zVVVGQlVXdERMRk5CUVZORExFbEJRVWx3UXl4TFFVRkxReXhSUVVGUlpTeHRRa0ZCYlVKblNTeEpRVUZKYUVvc1MwRkJTME1zVVVGQlVXVXNVVUZCVVdoQ0xFdEJRVXRETEZGQlFWRmxMRkZCUVZGcFdpeFJRVUZSTDB3c1MwRkJTeXhMUVVGTExFdEJRVXRzUml4RlFVRkZka1FzVVVGQlVYVkRMRWRCUVVjc0swSkJRU3RDYUVrc1MwRkJTMFVzUjBGQlJ5eFRRVUZUU2l4SFFVRkhSU3hMUVVGTE5FNHNVVUZCVVRWT0xFdEJRVXRuWVN4M1FrRkJkMEkxVkN4TFFVRkxjRWNzVDBGQlQwRXNTMEZCU3l0TUxGRkJRVkVyU3l4WFFVRlhMRmRCUVZjNVZ5eExRVUZMTWtrc1VVRkJVWEpHTEZOQlFWTXNhME5CUVd0RGRFUXNTMEZCUzBNc1VVRkJVWGRhTEU5QlFVOHNVMEZCVTNwYUxFdEJRVXN5U1N4UlFVRlJia2dzUzBGQlN5eDFRa0ZCZFVKNFFpeExRVUZMUXl4UlFVRlJkVU1zVjBGQlYwb3NSVUZCUlN4SlFVRkpjRU1zUzBGQlMwTXNVVUZCVVhWRExGZEJRVmRJTEVsQlFVa3lWU3hSUVVGUkxGZEJRVmRvV0N4TFFVRkxReXhSUVVGUmVWb3NVVUZCVVRGYUxFdEJRVXRuWVN4MVFrRkJkVUpvVWl4RlFVRkZja0lzUzBGQlMzRkNMRVZCUVVVc1owSkJRV2RDTEZOQlFWTnNTaXhGUVVGRlF5eEpRVUZKUVN4RlFVRkZhVW9zUlVGQlJXcEtMRWxCUVVsdFR5eExRVUZMTEU5QlFVOXNUeXhMUVVGTFJTeEpRVUZKU0N4RlFVRkZlVUlzUzBGQlN5eDVRa0ZCZVVKNFFpeExRVUZMUXl4UlFVRlJkVU1zVjBGQlYwb3NSVUZCUlN4SlFVRkpjRU1zUzBGQlMwTXNVVUZCVVhWRExGZEJRVmRJTEVsQlFVbHlReXhMUVVGTFF5eFJRVUZSZVZvc1QwRkJUek5hTEVWQlFVVjVRaXhMUVVGTExGRkJRVkUwU0N4TlFVRk5MRU5CUVVORExHRkJRVmtzVFVGQlQycEVMRXRCUVV0d1J5eFRRVUZUYTJFc1dVRkJXU3hYUVVGWExFbEJRVWx3WVN4RlFVRkZlVWtzUlVGQlJTeEhRVUZITEVsQlFVbDZTU3hMUVVGTGEwb3NSVUZCUlhKQ0xFdEJRVXR4UWl4RlFVRkZMR2RDUVVGblFpeFRRVUZUYkVvc1JVRkJSVU1zUjBGQlJ5eEpRVUZKTUVnc1IwRkJSekZJTEVWQlFVVnBTaXhGUVVGRmFrb3NTVUZCU1hsQ0xFdEJRVXNzZDBKQlFYZENLMGNzUlVGQlJXUXNTMEZCUzJNc1JVRkJSV1FzUjBGQlJ5eEpRVUZKWXl4RlFVRkZaQ3hIUVVGSE5FY3NTMEZCUzNSUExFdEJRVXQzU1N4RlFVRkZMRU5CUVVNc1NVRkJTWGhKTEVWQlFVVkVMRVZCUVVVclJpeE5RVUZOTEV0QlFVc3NSMEZCUnpCRExFVkJRVVY2U1N4SFFVRkhjV0VzVlVGQlZTeEpRVUZKTVZNc1JVRkJSVXNzUlVGQlJTeEZRVUZGTEVsQlFVbE1MRXRCUVV0akxFVkJRVVY2U1N4SFFVRkhMRU5CUVVNc1NVRkJTV2xLTEVWQlFVVkRMRVZCUVVWVUxFVkJRVVY2U1N4SFFVRkhNa2dzU1VGQlNYTkNMRVZCUVVWSUxFbEJRVWtzVlVGQlZUZEpMRVZCUVVVclNDeEhRVUZIUVN4SFFVRkhhVUlzUlVGQlJWWXNZMEZCWTNKSkxFdEJRVXRETEZGQlFWRXdXaXhuUWtGQlowSktMR2xDUVVGcFFpeFhRVUZYZGxvc1MwRkJTMmxYTEZWQlFWVnFWeXhMUVVGTFF5eFJRVUZSYVdFc1dVRkJXVGxVTEV0QlFVdHdSeXhOUVVGTmIyRXNWMEZCVnl4VFFVRlRjbUVzUlVGQlJUQklMRWRCUVVjc2JVSkJRVzFDTkZNc1VVRkJVVUVzVDBGQlQwTXNTVUZCU1VRc1QwRkJUeXhEUVVGRExGVkJRVlVzVTBGQlUzWmhMRWRCUVVjc1QwRkJUME1zUlVGQlJYRlhMRXRCUVVzelR5eEZRVUZGTTBnc1MwRkJTeXhwUWtGQmFVSjVZU3hSUVVGUlFTeFBRVUZQUXl4UlFVRlJSQ3hQUVVGUFF5eFJRVUZSZW1Fc1JVRkJSWEZYTEV0QlFVc3pUeXhGUVVGRloxUXNVVUZCVVN4WFFVRlhNV0VzUlVGQlJYRlhMRXRCUVVzelR5eEZRVUZGTVVnc1JVRkJSWFZYTEZGQlFYSk5MRU5CUVRoTmRGY3NTMEZCU3l4VFFVRlRSaXhIUVVGSExFbEJRVWxETEVWQlFVVktMRmxCUVZsSExFZEJRVWNzVTBGQlNTeEpRVUZUZFZjc2IwSkJRVzlDUVN4dlFrRkJiMEpCTEcxQ1FVRnRRblJYTEVWQlFVVkVMRWRCUVVjc1RVRkJUVUVzUjBGQlJ6UmhMRkZCUVZGNFJ5eE5RVUZOY0ZVc1IwRkJSeXhUUVVGSkxFbEJRVk52V0N4clFrRkJhMEpCTEd0Q1FVRnJRa0VzYVVKQlFXbENibGdzUlVGQlJVUXNSMEZCUnl4TlFVRk5RU3hIUVVGSE5HRXNVVUZCVVhoSExFMUJRVTF3VlN4SFFVRkhMRk5CUVVrc1NVRkJVekJhTEcxQ1FVRnRRa0VzYlVKQlFXMUNRU3hyUWtGQmEwSjZXaXhGUVVGRlJDeEhRVUZITEUxQlFVMUJMRWRCUVVjMFlTeFJRVUZSZUVjc1RVRkJUWEJWTEVkQlFVY3NUMEZCVDBNaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZiV0Z6ZEdWeUwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMMnBpYjNndlpHbHpkQzlxUW05NExtRnNiQzV0YVc0dWFuTWlmUT09IiwiIWZ1bmN0aW9uKHQpe1wiZnVuY3Rpb25cIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoW1wianF1ZXJ5XCIsXCIuL3ZlcnNpb25cIl0sdCk6dChqUXVlcnkpfShmdW5jdGlvbih0KXt2YXIgZSxpPTAscz1BcnJheS5wcm90b3R5cGUuc2xpY2U7cmV0dXJuIHQuY2xlYW5EYXRhPShlPXQuY2xlYW5EYXRhLGZ1bmN0aW9uKGkpe3ZhciBzLG4sbztmb3Iobz0wO251bGwhPShuPWlbb10pO28rKyl0cnl7KHM9dC5fZGF0YShuLFwiZXZlbnRzXCIpKSYmcy5yZW1vdmUmJnQobikudHJpZ2dlckhhbmRsZXIoXCJyZW1vdmVcIil9Y2F0Y2godCl7fWUoaSl9KSx0LndpZGdldD1mdW5jdGlvbihlLGkscyl7dmFyIG4sbyxhLHI9e30sbD1lLnNwbGl0KFwiLlwiKVswXSx1PWwrXCItXCIrKGU9ZS5zcGxpdChcIi5cIilbMV0pO3JldHVybiBzfHwocz1pLGk9dC5XaWRnZXQpLHQuaXNBcnJheShzKSYmKHM9dC5leHRlbmQuYXBwbHkobnVsbCxbe31dLmNvbmNhdChzKSkpLHQuZXhwcltcIjpcIl1bdS50b0xvd2VyQ2FzZSgpXT1mdW5jdGlvbihlKXtyZXR1cm4hIXQuZGF0YShlLHUpfSx0W2xdPXRbbF18fHt9LG49dFtsXVtlXSxvPXRbbF1bZV09ZnVuY3Rpb24odCxlKXtpZighdGhpcy5fY3JlYXRlV2lkZ2V0KXJldHVybiBuZXcgbyh0LGUpO2FyZ3VtZW50cy5sZW5ndGgmJnRoaXMuX2NyZWF0ZVdpZGdldCh0LGUpfSx0LmV4dGVuZChvLG4se3ZlcnNpb246cy52ZXJzaW9uLF9wcm90bzp0LmV4dGVuZCh7fSxzKSxfY2hpbGRDb25zdHJ1Y3RvcnM6W119KSwoYT1uZXcgaSkub3B0aW9ucz10LndpZGdldC5leHRlbmQoe30sYS5vcHRpb25zKSx0LmVhY2gocyxmdW5jdGlvbihlLHMpe3QuaXNGdW5jdGlvbihzKT9yW2VdPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe3JldHVybiBpLnByb3RvdHlwZVtlXS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZnVuY3Rpb24gbih0KXtyZXR1cm4gaS5wcm90b3R5cGVbZV0uYXBwbHkodGhpcyx0KX1yZXR1cm4gZnVuY3Rpb24oKXt2YXIgZSxpPXRoaXMuX3N1cGVyLG89dGhpcy5fc3VwZXJBcHBseTtyZXR1cm4gdGhpcy5fc3VwZXI9dCx0aGlzLl9zdXBlckFwcGx5PW4sZT1zLmFwcGx5KHRoaXMsYXJndW1lbnRzKSx0aGlzLl9zdXBlcj1pLHRoaXMuX3N1cGVyQXBwbHk9byxlfX0oKTpyW2VdPXN9KSxvLnByb3RvdHlwZT10LndpZGdldC5leHRlbmQoYSx7d2lkZ2V0RXZlbnRQcmVmaXg6biYmYS53aWRnZXRFdmVudFByZWZpeHx8ZX0scix7Y29uc3RydWN0b3I6byxuYW1lc3BhY2U6bCx3aWRnZXROYW1lOmUsd2lkZ2V0RnVsbE5hbWU6dX0pLG4/KHQuZWFjaChuLl9jaGlsZENvbnN0cnVjdG9ycyxmdW5jdGlvbihlLGkpe3ZhciBzPWkucHJvdG90eXBlO3Qud2lkZ2V0KHMubmFtZXNwYWNlK1wiLlwiK3Mud2lkZ2V0TmFtZSxvLGkuX3Byb3RvKX0pLGRlbGV0ZSBuLl9jaGlsZENvbnN0cnVjdG9ycyk6aS5fY2hpbGRDb25zdHJ1Y3RvcnMucHVzaChvKSx0LndpZGdldC5icmlkZ2UoZSxvKSxvfSx0LndpZGdldC5leHRlbmQ9ZnVuY3Rpb24oZSl7Zm9yKHZhciBpLG4sbz1zLmNhbGwoYXJndW1lbnRzLDEpLGE9MCxyPW8ubGVuZ3RoO2E8cjthKyspZm9yKGkgaW4gb1thXSluPW9bYV1baV0sb1thXS5oYXNPd25Qcm9wZXJ0eShpKSYmdm9pZCAwIT09biYmKHQuaXNQbGFpbk9iamVjdChuKT9lW2ldPXQuaXNQbGFpbk9iamVjdChlW2ldKT90LndpZGdldC5leHRlbmQoe30sZVtpXSxuKTp0LndpZGdldC5leHRlbmQoe30sbik6ZVtpXT1uKTtyZXR1cm4gZX0sdC53aWRnZXQuYnJpZGdlPWZ1bmN0aW9uKGUsaSl7dmFyIG49aS5wcm90b3R5cGUud2lkZ2V0RnVsbE5hbWV8fGU7dC5mbltlXT1mdW5jdGlvbihvKXt2YXIgYT1cInN0cmluZ1wiPT10eXBlb2YgbyxyPXMuY2FsbChhcmd1bWVudHMsMSksbD10aGlzO3JldHVybiBhP3RoaXMubGVuZ3RofHxcImluc3RhbmNlXCIhPT1vP3RoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBpLHM9dC5kYXRhKHRoaXMsbik7cmV0dXJuXCJpbnN0YW5jZVwiPT09bz8obD1zLCExKTpzP3QuaXNGdW5jdGlvbihzW29dKSYmXCJfXCIhPT1vLmNoYXJBdCgwKT8oaT1zW29dLmFwcGx5KHMscikpIT09cyYmdm9pZCAwIT09aT8obD1pJiZpLmpxdWVyeT9sLnB1c2hTdGFjayhpLmdldCgpKTppLCExKTp2b2lkIDA6dC5lcnJvcihcIm5vIHN1Y2ggbWV0aG9kICdcIitvK1wiJyBmb3IgXCIrZStcIiB3aWRnZXQgaW5zdGFuY2VcIik6dC5lcnJvcihcImNhbm5vdCBjYWxsIG1ldGhvZHMgb24gXCIrZStcIiBwcmlvciB0byBpbml0aWFsaXphdGlvbjsgYXR0ZW1wdGVkIHRvIGNhbGwgbWV0aG9kICdcIitvK1wiJ1wiKX0pOmw9dm9pZCAwOihyLmxlbmd0aCYmKG89dC53aWRnZXQuZXh0ZW5kLmFwcGx5KG51bGwsW29dLmNvbmNhdChyKSkpLHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBlPXQuZGF0YSh0aGlzLG4pO2U/KGUub3B0aW9uKG98fHt9KSxlLl9pbml0JiZlLl9pbml0KCkpOnQuZGF0YSh0aGlzLG4sbmV3IGkobyx0aGlzKSl9KSksbH19LHQuV2lkZ2V0PWZ1bmN0aW9uKCl7fSx0LldpZGdldC5fY2hpbGRDb25zdHJ1Y3RvcnM9W10sdC5XaWRnZXQucHJvdG90eXBlPXt3aWRnZXROYW1lOlwid2lkZ2V0XCIsd2lkZ2V0RXZlbnRQcmVmaXg6XCJcIixkZWZhdWx0RWxlbWVudDpcIjxkaXY+XCIsb3B0aW9uczp7Y2xhc3Nlczp7fSxkaXNhYmxlZDohMSxjcmVhdGU6bnVsbH0sX2NyZWF0ZVdpZGdldDpmdW5jdGlvbihlLHMpe3M9dChzfHx0aGlzLmRlZmF1bHRFbGVtZW50fHx0aGlzKVswXSx0aGlzLmVsZW1lbnQ9dChzKSx0aGlzLnV1aWQ9aSsrLHRoaXMuZXZlbnROYW1lc3BhY2U9XCIuXCIrdGhpcy53aWRnZXROYW1lK3RoaXMudXVpZCx0aGlzLmJpbmRpbmdzPXQoKSx0aGlzLmhvdmVyYWJsZT10KCksdGhpcy5mb2N1c2FibGU9dCgpLHRoaXMuY2xhc3Nlc0VsZW1lbnRMb29rdXA9e30scyE9PXRoaXMmJih0LmRhdGEocyx0aGlzLndpZGdldEZ1bGxOYW1lLHRoaXMpLHRoaXMuX29uKCEwLHRoaXMuZWxlbWVudCx7cmVtb3ZlOmZ1bmN0aW9uKHQpe3QudGFyZ2V0PT09cyYmdGhpcy5kZXN0cm95KCl9fSksdGhpcy5kb2N1bWVudD10KHMuc3R5bGU/cy5vd25lckRvY3VtZW50OnMuZG9jdW1lbnR8fHMpLHRoaXMud2luZG93PXQodGhpcy5kb2N1bWVudFswXS5kZWZhdWx0Vmlld3x8dGhpcy5kb2N1bWVudFswXS5wYXJlbnRXaW5kb3cpKSx0aGlzLm9wdGlvbnM9dC53aWRnZXQuZXh0ZW5kKHt9LHRoaXMub3B0aW9ucyx0aGlzLl9nZXRDcmVhdGVPcHRpb25zKCksZSksdGhpcy5fY3JlYXRlKCksdGhpcy5vcHRpb25zLmRpc2FibGVkJiZ0aGlzLl9zZXRPcHRpb25EaXNhYmxlZCh0aGlzLm9wdGlvbnMuZGlzYWJsZWQpLHRoaXMuX3RyaWdnZXIoXCJjcmVhdGVcIixudWxsLHRoaXMuX2dldENyZWF0ZUV2ZW50RGF0YSgpKSx0aGlzLl9pbml0KCl9LF9nZXRDcmVhdGVPcHRpb25zOmZ1bmN0aW9uKCl7cmV0dXJue319LF9nZXRDcmVhdGVFdmVudERhdGE6dC5ub29wLF9jcmVhdGU6dC5ub29wLF9pbml0OnQubm9vcCxkZXN0cm95OmZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLl9kZXN0cm95KCksdC5lYWNoKHRoaXMuY2xhc3Nlc0VsZW1lbnRMb29rdXAsZnVuY3Rpb24odCxpKXtlLl9yZW1vdmVDbGFzcyhpLHQpfSksdGhpcy5lbGVtZW50Lm9mZih0aGlzLmV2ZW50TmFtZXNwYWNlKS5yZW1vdmVEYXRhKHRoaXMud2lkZ2V0RnVsbE5hbWUpLHRoaXMud2lkZ2V0KCkub2ZmKHRoaXMuZXZlbnROYW1lc3BhY2UpLnJlbW92ZUF0dHIoXCJhcmlhLWRpc2FibGVkXCIpLHRoaXMuYmluZGluZ3Mub2ZmKHRoaXMuZXZlbnROYW1lc3BhY2UpfSxfZGVzdHJveTp0Lm5vb3Asd2lkZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWxlbWVudH0sb3B0aW9uOmZ1bmN0aW9uKGUsaSl7dmFyIHMsbixvLGE9ZTtpZigwPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gdC53aWRnZXQuZXh0ZW5kKHt9LHRoaXMub3B0aW9ucyk7aWYoXCJzdHJpbmdcIj09dHlwZW9mIGUpaWYoYT17fSxzPWUuc3BsaXQoXCIuXCIpLGU9cy5zaGlmdCgpLHMubGVuZ3RoKXtmb3Iobj1hW2VdPXQud2lkZ2V0LmV4dGVuZCh7fSx0aGlzLm9wdGlvbnNbZV0pLG89MDtvPHMubGVuZ3RoLTE7bysrKW5bc1tvXV09bltzW29dXXx8e30sbj1uW3Nbb11dO2lmKGU9cy5wb3AoKSwxPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gdm9pZCAwPT09bltlXT9udWxsOm5bZV07bltlXT1pfWVsc2V7aWYoMT09PWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHZvaWQgMD09PXRoaXMub3B0aW9uc1tlXT9udWxsOnRoaXMub3B0aW9uc1tlXTthW2VdPWl9cmV0dXJuIHRoaXMuX3NldE9wdGlvbnMoYSksdGhpc30sX3NldE9wdGlvbnM6ZnVuY3Rpb24odCl7dmFyIGU7Zm9yKGUgaW4gdCl0aGlzLl9zZXRPcHRpb24oZSx0W2VdKTtyZXR1cm4gdGhpc30sX3NldE9wdGlvbjpmdW5jdGlvbih0LGUpe3JldHVyblwiY2xhc3Nlc1wiPT09dCYmdGhpcy5fc2V0T3B0aW9uQ2xhc3NlcyhlKSx0aGlzLm9wdGlvbnNbdF09ZSxcImRpc2FibGVkXCI9PT10JiZ0aGlzLl9zZXRPcHRpb25EaXNhYmxlZChlKSx0aGlzfSxfc2V0T3B0aW9uQ2xhc3NlczpmdW5jdGlvbihlKXt2YXIgaSxzLG47Zm9yKGkgaW4gZSluPXRoaXMuY2xhc3Nlc0VsZW1lbnRMb29rdXBbaV0sZVtpXSE9PXRoaXMub3B0aW9ucy5jbGFzc2VzW2ldJiZuJiZuLmxlbmd0aCYmKHM9dChuLmdldCgpKSx0aGlzLl9yZW1vdmVDbGFzcyhuLGkpLHMuYWRkQ2xhc3ModGhpcy5fY2xhc3Nlcyh7ZWxlbWVudDpzLGtleXM6aSxjbGFzc2VzOmUsYWRkOiEwfSkpKX0sX3NldE9wdGlvbkRpc2FibGVkOmZ1bmN0aW9uKHQpe3RoaXMuX3RvZ2dsZUNsYXNzKHRoaXMud2lkZ2V0KCksdGhpcy53aWRnZXRGdWxsTmFtZStcIi1kaXNhYmxlZFwiLG51bGwsISF0KSx0JiYodGhpcy5fcmVtb3ZlQ2xhc3ModGhpcy5ob3ZlcmFibGUsbnVsbCxcInVpLXN0YXRlLWhvdmVyXCIpLHRoaXMuX3JlbW92ZUNsYXNzKHRoaXMuZm9jdXNhYmxlLG51bGwsXCJ1aS1zdGF0ZS1mb2N1c1wiKSl9LGVuYWJsZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9zZXRPcHRpb25zKHtkaXNhYmxlZDohMX0pfSxkaXNhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3NldE9wdGlvbnMoe2Rpc2FibGVkOiEwfSl9LF9jbGFzc2VzOmZ1bmN0aW9uKGUpe3ZhciBpPVtdLHM9dGhpcztmdW5jdGlvbiBuKG4sbyl7dmFyIGEscjtmb3Iocj0wO3I8bi5sZW5ndGg7cisrKWE9cy5jbGFzc2VzRWxlbWVudExvb2t1cFtuW3JdXXx8dCgpLGE9ZS5hZGQ/dCh0LnVuaXF1ZShhLmdldCgpLmNvbmNhdChlLmVsZW1lbnQuZ2V0KCkpKSk6dChhLm5vdChlLmVsZW1lbnQpLmdldCgpKSxzLmNsYXNzZXNFbGVtZW50TG9va3VwW25bcl1dPWEsaS5wdXNoKG5bcl0pLG8mJmUuY2xhc3Nlc1tuW3JdXSYmaS5wdXNoKGUuY2xhc3Nlc1tuW3JdXSl9cmV0dXJuIGU9dC5leHRlbmQoe2VsZW1lbnQ6dGhpcy5lbGVtZW50LGNsYXNzZXM6dGhpcy5vcHRpb25zLmNsYXNzZXN8fHt9fSxlKSx0aGlzLl9vbihlLmVsZW1lbnQse3JlbW92ZTpcIl91bnRyYWNrQ2xhc3Nlc0VsZW1lbnRcIn0pLGUua2V5cyYmbihlLmtleXMubWF0Y2goL1xcUysvZyl8fFtdLCEwKSxlLmV4dHJhJiZuKGUuZXh0cmEubWF0Y2goL1xcUysvZyl8fFtdKSxpLmpvaW4oXCIgXCIpfSxfdW50cmFja0NsYXNzZXNFbGVtZW50OmZ1bmN0aW9uKGUpe3ZhciBpPXRoaXM7dC5lYWNoKGkuY2xhc3Nlc0VsZW1lbnRMb29rdXAsZnVuY3Rpb24ocyxuKXstMSE9PXQuaW5BcnJheShlLnRhcmdldCxuKSYmKGkuY2xhc3Nlc0VsZW1lbnRMb29rdXBbc109dChuLm5vdChlLnRhcmdldCkuZ2V0KCkpKX0pfSxfcmVtb3ZlQ2xhc3M6ZnVuY3Rpb24odCxlLGkpe3JldHVybiB0aGlzLl90b2dnbGVDbGFzcyh0LGUsaSwhMSl9LF9hZGRDbGFzczpmdW5jdGlvbih0LGUsaSl7cmV0dXJuIHRoaXMuX3RvZ2dsZUNsYXNzKHQsZSxpLCEwKX0sX3RvZ2dsZUNsYXNzOmZ1bmN0aW9uKHQsZSxpLHMpe3M9XCJib29sZWFuXCI9PXR5cGVvZiBzP3M6aTt2YXIgbj1cInN0cmluZ1wiPT10eXBlb2YgdHx8bnVsbD09PXQsbz17ZXh0cmE6bj9lOmksa2V5czpuP3Q6ZSxlbGVtZW50Om4/dGhpcy5lbGVtZW50OnQsYWRkOnN9O3JldHVybiBvLmVsZW1lbnQudG9nZ2xlQ2xhc3ModGhpcy5fY2xhc3NlcyhvKSxzKSx0aGlzfSxfb246ZnVuY3Rpb24oZSxpLHMpe3ZhciBuLG89dGhpcztcImJvb2xlYW5cIiE9dHlwZW9mIGUmJihzPWksaT1lLGU9ITEpLHM/KGk9bj10KGkpLHRoaXMuYmluZGluZ3M9dGhpcy5iaW5kaW5ncy5hZGQoaSkpOihzPWksaT10aGlzLmVsZW1lbnQsbj10aGlzLndpZGdldCgpKSx0LmVhY2gocyxmdW5jdGlvbihzLGEpe2Z1bmN0aW9uIHIoKXtpZihlfHwhMCE9PW8ub3B0aW9ucy5kaXNhYmxlZCYmIXQodGhpcykuaGFzQ2xhc3MoXCJ1aS1zdGF0ZS1kaXNhYmxlZFwiKSlyZXR1cm4oXCJzdHJpbmdcIj09dHlwZW9mIGE/b1thXTphKS5hcHBseShvLGFyZ3VtZW50cyl9XCJzdHJpbmdcIiE9dHlwZW9mIGEmJihyLmd1aWQ9YS5ndWlkPWEuZ3VpZHx8ci5ndWlkfHx0Lmd1aWQrKyk7dmFyIGw9cy5tYXRjaCgvXihbXFx3Oi1dKilcXHMqKC4qKSQvKSx1PWxbMV0rby5ldmVudE5hbWVzcGFjZSxoPWxbMl07aD9uLm9uKHUsaCxyKTppLm9uKHUscil9KX0sX29mZjpmdW5jdGlvbihlLGkpe2k9KGl8fFwiXCIpLnNwbGl0KFwiIFwiKS5qb2luKHRoaXMuZXZlbnROYW1lc3BhY2UrXCIgXCIpK3RoaXMuZXZlbnROYW1lc3BhY2UsZS5vZmYoaSkub2ZmKGkpLHRoaXMuYmluZGluZ3M9dCh0aGlzLmJpbmRpbmdzLm5vdChlKS5nZXQoKSksdGhpcy5mb2N1c2FibGU9dCh0aGlzLmZvY3VzYWJsZS5ub3QoZSkuZ2V0KCkpLHRoaXMuaG92ZXJhYmxlPXQodGhpcy5ob3ZlcmFibGUubm90KGUpLmdldCgpKX0sX2RlbGF5OmZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcztyZXR1cm4gc2V0VGltZW91dChmdW5jdGlvbigpe3JldHVybihcInN0cmluZ1wiPT10eXBlb2YgdD9pW3RdOnQpLmFwcGx5KGksYXJndW1lbnRzKX0sZXx8MCl9LF9ob3ZlcmFibGU6ZnVuY3Rpb24oZSl7dGhpcy5ob3ZlcmFibGU9dGhpcy5ob3ZlcmFibGUuYWRkKGUpLHRoaXMuX29uKGUse21vdXNlZW50ZXI6ZnVuY3Rpb24oZSl7dGhpcy5fYWRkQ2xhc3ModChlLmN1cnJlbnRUYXJnZXQpLG51bGwsXCJ1aS1zdGF0ZS1ob3ZlclwiKX0sbW91c2VsZWF2ZTpmdW5jdGlvbihlKXt0aGlzLl9yZW1vdmVDbGFzcyh0KGUuY3VycmVudFRhcmdldCksbnVsbCxcInVpLXN0YXRlLWhvdmVyXCIpfX0pfSxfZm9jdXNhYmxlOmZ1bmN0aW9uKGUpe3RoaXMuZm9jdXNhYmxlPXRoaXMuZm9jdXNhYmxlLmFkZChlKSx0aGlzLl9vbihlLHtmb2N1c2luOmZ1bmN0aW9uKGUpe3RoaXMuX2FkZENsYXNzKHQoZS5jdXJyZW50VGFyZ2V0KSxudWxsLFwidWktc3RhdGUtZm9jdXNcIil9LGZvY3Vzb3V0OmZ1bmN0aW9uKGUpe3RoaXMuX3JlbW92ZUNsYXNzKHQoZS5jdXJyZW50VGFyZ2V0KSxudWxsLFwidWktc3RhdGUtZm9jdXNcIil9fSl9LF90cmlnZ2VyOmZ1bmN0aW9uKGUsaSxzKXt2YXIgbixvLGE9dGhpcy5vcHRpb25zW2VdO2lmKHM9c3x8e30sKGk9dC5FdmVudChpKSkudHlwZT0oZT09PXRoaXMud2lkZ2V0RXZlbnRQcmVmaXg/ZTp0aGlzLndpZGdldEV2ZW50UHJlZml4K2UpLnRvTG93ZXJDYXNlKCksaS50YXJnZXQ9dGhpcy5lbGVtZW50WzBdLG89aS5vcmlnaW5hbEV2ZW50KWZvcihuIGluIG8pbiBpbiBpfHwoaVtuXT1vW25dKTtyZXR1cm4gdGhpcy5lbGVtZW50LnRyaWdnZXIoaSxzKSwhKHQuaXNGdW5jdGlvbihhKSYmITE9PT1hLmFwcGx5KHRoaXMuZWxlbWVudFswXSxbaV0uY29uY2F0KHMpKXx8aS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl9fSx0LmVhY2goe3Nob3c6XCJmYWRlSW5cIixoaWRlOlwiZmFkZU91dFwifSxmdW5jdGlvbihlLGkpe3QuV2lkZ2V0LnByb3RvdHlwZVtcIl9cIitlXT1mdW5jdGlvbihzLG4sbyl7dmFyIGE7XCJzdHJpbmdcIj09dHlwZW9mIG4mJihuPXtlZmZlY3Q6bn0pO3ZhciByPW4/ITA9PT1ufHxcIm51bWJlclwiPT10eXBlb2Ygbj9pOm4uZWZmZWN0fHxpOmU7XCJudW1iZXJcIj09dHlwZW9mKG49bnx8e30pJiYobj17ZHVyYXRpb246bn0pLGE9IXQuaXNFbXB0eU9iamVjdChuKSxuLmNvbXBsZXRlPW8sbi5kZWxheSYmcy5kZWxheShuLmRlbGF5KSxhJiZ0LmVmZmVjdHMmJnQuZWZmZWN0cy5lZmZlY3Rbcl0/c1tlXShuKTpyIT09ZSYmc1tyXT9zW3JdKG4uZHVyYXRpb24sbi5lYXNpbmcsbyk6cy5xdWV1ZShmdW5jdGlvbihpKXt0KHRoaXMpW2VdKCksbyYmby5jYWxsKHNbMF0pLGkoKX0pfX0pLHQud2lkZ2V0fSk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRwWkdkbGRDNXFjeUpkTENKdVlXMWxjeUk2V3lKbVlXTjBiM0o1SWl3aVpHVm1hVzVsSWl3aVlXMWtJaXdpYWxGMVpYSjVJaXdpSkNJc0ltOXlhV2NpTENKM2FXUm5aWFJWZFdsa0lpd2lkMmxrWjJWMFUyeHBZMlVpTENKQmNuSmhlU0lzSW5CeWIzUnZkSGx3WlNJc0luTnNhV05sSWl3aVkyeGxZVzVFWVhSaElpd2laV3hsYlhNaUxDSmxkbVZ1ZEhNaUxDSmxiR1Z0SWl3aWFTSXNJbDlrWVhSaElpd2ljbVZ0YjNabElpd2lkSEpwWjJkbGNraGhibVJzWlhJaUxDSmxJaXdpZDJsa1oyVjBJaXdpYm1GdFpTSXNJbUpoYzJVaUxDSmxlR2x6ZEdsdVowTnZibk4wY25WamRHOXlJaXdpWTI5dWMzUnlkV04wYjNJaUxDSmlZWE5sVUhKdmRHOTBlWEJsSWl3aWNISnZlR2xsWkZCeWIzUnZkSGx3WlNJc0ltNWhiV1Z6Y0dGalpTSXNJbk53YkdsMElpd2lablZzYkU1aGJXVWlMQ0pYYVdSblpYUWlMQ0pwYzBGeWNtRjVJaXdpWlhoMFpXNWtJaXdpWVhCd2JIa2lMQ0pqYjI1allYUWlMQ0psZUhCeUlpd2lkRzlNYjNkbGNrTmhjMlVpTENKa1lYUmhJaXdpYjNCMGFXOXVjeUlzSW1Wc1pXMWxiblFpTENKMGFHbHpJaXdpWDJOeVpXRjBaVmRwWkdkbGRDSXNJbUZ5WjNWdFpXNTBjeUlzSW14bGJtZDBhQ0lzSW5abGNuTnBiMjRpTENKZmNISnZkRzhpTENKZlkyaHBiR1JEYjI1emRISjFZM1J2Y25NaUxDSmxZV05vSWl3aWNISnZjQ0lzSW5aaGJIVmxJaXdpYVhOR2RXNWpkR2x2YmlJc0lsOXpkWEJsY2lJc0lsOXpkWEJsY2tGd2NHeDVJaXdpWVhKbmN5SXNJbkpsZEhWeWJsWmhiSFZsSWl3aVgxOXpkWEJsY2lJc0lsOWZjM1Z3WlhKQmNIQnNlU0lzSW5kcFpHZGxkRVYyWlc1MFVISmxabWw0SWl3aWQybGtaMlYwVG1GdFpTSXNJbmRwWkdkbGRFWjFiR3hPWVcxbElpd2lZMmhwYkdRaUxDSmphR2xzWkZCeWIzUnZkSGx3WlNJc0luQjFjMmdpTENKaWNtbGtaMlVpTENKMFlYSm5aWFFpTENKclpYa2lMQ0pwYm5CMWRDSXNJbU5oYkd3aUxDSnBibkIxZEVsdVpHVjRJaXdpYVc1d2RYUk1aVzVuZEdnaUxDSm9ZWE5QZDI1UWNtOXdaWEowZVNJc0luVnVaR1ZtYVc1bFpDSXNJbWx6VUd4aGFXNVBZbXBsWTNRaUxDSnZZbXBsWTNRaUxDSm1iaUlzSW1selRXVjBhRzlrUTJGc2JDSXNJbTFsZEdodlpGWmhiSFZsSWl3aWFXNXpkR0Z1WTJVaUxDSmphR0Z5UVhRaUxDSnFjWFZsY25raUxDSndkWE5vVTNSaFkyc2lMQ0puWlhRaUxDSmxjbkp2Y2lJc0ltOXdkR2x2YmlJc0lsOXBibWwwSWl3aVpHVm1ZWFZzZEVWc1pXMWxiblFpTENKamJHRnpjMlZ6SWl3aVpHbHpZV0pzWldRaUxDSmpjbVZoZEdVaUxDSjFkV2xrSWl3aVpYWmxiblJPWVcxbGMzQmhZMlVpTENKaWFXNWthVzVuY3lJc0ltaHZkbVZ5WVdKc1pTSXNJbVp2WTNWellXSnNaU0lzSW1Oc1lYTnpaWE5GYkdWdFpXNTBURzl2YTNWd0lpd2lYMjl1SWl3aVpYWmxiblFpTENKa1pYTjBjbTk1SWl3aVpHOWpkVzFsYm5RaUxDSnpkSGxzWlNJc0ltOTNibVZ5Ukc5amRXMWxiblFpTENKM2FXNWtiM2NpTENKa1pXWmhkV3gwVm1sbGR5SXNJbkJoY21WdWRGZHBibVJ2ZHlJc0lsOW5aWFJEY21WaGRHVlBjSFJwYjI1eklpd2lYMk55WldGMFpTSXNJbDl6WlhSUGNIUnBiMjVFYVhOaFlteGxaQ0lzSWw5MGNtbG5aMlZ5SWl3aVgyZGxkRU55WldGMFpVVjJaVzUwUkdGMFlTSXNJbTV2YjNBaUxDSjBhR0YwSWl3aVgyUmxjM1J5YjNraUxDSmZjbVZ0YjNabFEyeGhjM01pTENKdlptWWlMQ0p5WlcxdmRtVkVZWFJoSWl3aWNtVnRiM1psUVhSMGNpSXNJbkJoY25Seklpd2lZM1Z5VDNCMGFXOXVJaXdpYzJocFpuUWlMQ0p3YjNBaUxDSmZjMlYwVDNCMGFXOXVjeUlzSWw5elpYUlBjSFJwYjI0aUxDSmZjMlYwVDNCMGFXOXVRMnhoYzNObGN5SXNJbU5zWVhOelMyVjVJaXdpWld4bGJXVnVkSE1pTENKamRYSnlaVzUwUld4bGJXVnVkSE1pTENKaFpHUkRiR0Z6Y3lJc0lsOWpiR0Z6YzJWeklpd2lhMlY1Y3lJc0ltRmtaQ0lzSWw5MGIyZG5iR1ZEYkdGemN5SXNJbVZ1WVdKc1pTSXNJbVJwYzJGaWJHVWlMQ0ptZFd4c0lpd2ljSEp2WTJWemMwTnNZWE56VTNSeWFXNW5JaXdpWTJobFkydFBjSFJwYjI0aUxDSmpkWEp5Wlc1MElpd2lkVzVwY1hWbElpd2libTkwSWl3aWJXRjBZMmdpTENKbGVIUnlZU0lzSW1wdmFXNGlMQ0pmZFc1MGNtRmphME5zWVhOelpYTkZiR1Z0Wlc1MElpd2lhVzVCY25KaGVTSXNJbDloWkdSRGJHRnpjeUlzSW5SdloyZHNaVU5zWVhOeklpd2ljM1Z3Y0hKbGMzTkVhWE5oWW14bFpFTm9aV05ySWl3aWFHRnVaR3hsY25NaUxDSmtaV3hsWjJGMFpVVnNaVzFsYm5RaUxDSm9ZVzVrYkdWeUlpd2lhR0Z1Wkd4bGNsQnliM2g1SWl3aWFHRnpRMnhoYzNNaUxDSm5kV2xrSWl3aVpYWmxiblJPWVcxbElpd2ljMlZzWldOMGIzSWlMQ0p2YmlJc0lsOXZabVlpTENKZlpHVnNZWGtpTENKa1pXeGhlU0lzSW5ObGRGUnBiV1Z2ZFhRaUxDSmZhRzkyWlhKaFlteGxJaXdpYlc5MWMyVmxiblJsY2lJc0ltTjFjbkpsYm5SVVlYSm5aWFFpTENKdGIzVnpaV3hsWVhabElpd2lYMlp2WTNWellXSnNaU0lzSW1adlkzVnphVzRpTENKbWIyTjFjMjkxZENJc0luUjVjR1VpTENKallXeHNZbUZqYXlJc0lrVjJaVzUwSWl3aWIzSnBaMmx1WVd4RmRtVnVkQ0lzSW5SeWFXZG5aWElpTENKcGMwUmxabUYxYkhSUWNtVjJaVzUwWldRaUxDSnphRzkzSWl3aWFHbGtaU0lzSW0xbGRHaHZaQ0lzSW1SbFptRjFiSFJGWm1abFkzUWlMQ0pvWVhOUGNIUnBiMjV6SWl3aVpXWm1aV04wSWl3aVpXWm1aV04wVG1GdFpTSXNJbVIxY21GMGFXOXVJaXdpYVhORmJYQjBlVTlpYW1WamRDSXNJbU52YlhCc1pYUmxJaXdpWldabVpXTjBjeUlzSW1WaGMybHVaeUlzSW5GMVpYVmxJaXdpYm1WNGRDSmRMQ0p0WVhCd2FXNW5jeUk2SWtOQlpVVXNVMEZCVlVFc1IwRkRXU3h0UWtGQldFTXNVVUZCZVVKQkxFOUJRVTlETEVsQlJ6TkRSQ3hQUVVGUkxFTkJRVVVzVTBGQlZTeGhRVUZsUkN4SFFVbHVRMEVzUlVGQlUwY3NVVUZTV0N4RFFWVkhMRk5CUVZWRExFZEJSV0lzU1VGSE1FSkRMRVZCU0hSQ1F5eEZRVUZoTEVWQlEySkRMRVZCUVdORExFMUJRVTFETEZWQlFWVkRMRTFCT0hKQ2JFTXNUMEUxY2tKQlRpeEZRVUZGVHl4WFFVRjNRazRzUlVGcFFuSkNSQ3hGUVVGRlR5eFZRV2hDUXl4VFFVRlZReXhIUVVOb1FpeEpRVUZKUXl4RlFVRlJReXhGUVVGTlF5eEZRVU5zUWl4SlFVRk5RU3hGUVVGSkxFVkJRVFJDTEU5QlFYWkNSQ3hGUVVGUFJpeEZRVUZQUnl4SlFVRmxRU3hKUVVNelF5eExRVWREUml4RlFVRlRWQ3hGUVVGRldTeE5RVUZQUml4RlFVRk5MRmxCUTFSRUxFVkJRVTlKTEZGQlEzSkNZaXhGUVVGSFZTeEhRVUZQU1N4bFFVRm5RaXhWUVVreFFpeE5RVUZSUXl4SlFVVllaQ3hGUVVGTlR5eExRVWxTVWl4RlFVRkZaMElzVDBGQlV5eFRRVUZWUXl4RlFVRk5ReXhGUVVGTllpeEhRVU5vUXl4SlFVRkpZeXhGUVVGeFFrTXNSVUZCWVVNc1JVRkpiRU5ETEVWQlFXMUNMRWRCUlc1Q1F5eEZRVUZaVGl4RlFVRkxUeXhOUVVGUExFdEJRVThzUjBGRkwwSkRMRVZCUVZkR0xFVkJRVmtzUzBGRU0wSk9MRVZCUVU5QkxFVkJRVXRQTEUxQlFVOHNTMEZCVHl4SlFYVklNVUlzVDBGd1NFMXVRaXhKUVVOTVFTeEZRVUZaWVN4RlFVTmFRU3hGUVVGUGJFSXNSVUZCUlRCQ0xGRkJSMHd4UWl4RlFVRkZNa0lzVVVGQlUzUkNMRXRCUTJaQkxFVkJRVmxNTEVWQlFVVTBRaXhQUVVGUFF5eE5RVUZQTEV0QlFVMHNRMEZCUlN4SlFVRkxReXhQUVVGUmVrSXNTMEZKYkVSTUxFVkJRVVVyUWl4TFFVRk5MRXRCUVU5T0xFVkJRVk5QTEdWQlFXdENMRk5CUVZWMFFpeEhRVU51UkN4UlFVRlRWaXhGUVVGRmFVTXNTMEZCVFhaQ0xFVkJRVTFsTEVsQlIzaENla0lzUlVGQlIzVkNMRWRCUVdOMlFpeEZRVUZIZFVJc1NVRkJaU3hIUVVOdVEwb3NSVUZCYzBKdVFpeEZRVUZIZFVJc1IwRkJZVTRzUjBGRGRFTkhMRVZCUVdOd1FpeEZRVUZIZFVJc1IwRkJZVTRzUjBGQlV5eFRRVUZWYVVJc1JVRkJVME1zUjBGSGVrUXNTVUZCVFVNc1MwRkJTME1zWTBGRFZpeFBRVUZQTEVsQlFVbHFRaXhGUVVGaFl5eEZRVUZUUXl4SFFVczNRa2NzVlVGQlZVTXNVVUZEWkVnc1MwRkJTME1zWTBGQlpVZ3NSVUZCVTBNc1NVRkxMMEp1UXl4RlFVRkZORUlzVDBGQlVWSXNSVUZCWVVRc1JVRkJjVUlzUTBGRE0wTnhRaXhSUVVGVGJrTXNSVUZCVlcxRExGRkJTVzVDUXl4UFFVRlJla01zUlVGQlJUUkNMRTlCUVZFc1IwRkJTWFpDTEVkQlNYUkNjVU1zYlVKQlFXOUNMRTFCUjNKQ2NrSXNSVUZCWjBJc1NVRkJTVWdzUjBGTFRtZENMRkZCUVZWc1F5eEZRVUZGWjBJc1QwRkJUMWtzVDBGQlVTeEhRVUZKVUN4RlFVRmpZU3hUUVVNelJHeERMRVZCUVVVeVF5eExRVUZOZEVNc1JVRkJWeXhUUVVGVmRVTXNSVUZCVFVNc1IwRkROVUkzUXl4RlFVRkZPRU1zVjBGQldVUXNSMEZKY0VKMlFpeEZRVUZyUW5OQ0xFZEJRVk1zVjBGRE1VSXNVMEZCVTBjc1NVRkRVaXhQUVVGUE4wSXNSVUZCUzJJc1ZVRkJWM1ZETEVkQlFVOW1MRTFCUVU5UExFdEJRVTFGTEZkQlJ6VkRMRk5CUVZOVkxFVkJRV0ZETEVkQlEzSkNMRTlCUVU4dlFpeEZRVUZMWWl4VlFVRlhkVU1zUjBGQlQyWXNUVUZCVDA4c1MwRkJUV0VzUjBGSE5VTXNUMEZCVHl4WFFVTk9MRWxCUlVsRExFVkJSa0ZETEVWQlFWVm1MRXRCUVV0WExFOUJRMlpMTEVWQlFXVm9RaXhMUVVGTFdTeFpRVmQ0UWl4UFFWSkJXaXhMUVVGTFZ5eFBRVUZUUVN4RlFVTmtXQ3hMUVVGTFdTeFpRVUZqUVN4RlFVVnVRa1VzUlVGQlkwd3NSVUZCVFdoQ0xFMUJRVTlQTEV0QlFVMUZMRmRCUldwRFJpeExRVUZMVnl4UFFVRlRTU3hGUVVOa1ppeExRVUZMV1N4WlFVRmpTU3hGUVVWYVJpeEhRWFJDYTBJc1IwRklNVUkxUWl4RlFVRnJRbk5DTEVkQlFWTkRMRWxCTmtJM1FucENMRVZCUVZsbUxGVkJRVmxNTEVWQlFVVm5RaXhQUVVGUFdTeFBRVUZSVUN4RlFVRmxMRU5CUzNaRVowTXNhMEpCUVcxQ2JFTXNSMEZCZDBKRkxFVkJRV05uUXl4dFFrRkJPRUp3UXl4SFFVTnlSa3NzUlVGQmEwSXNRMEZEY0VKR0xGbEJRV0ZCTEVWQlEySkhMRlZCUVZkQkxFVkJRMWdyUWl4WFFVRlpja01zUlVGRFduTkRMR1ZCUVdkQ09VSXNTVUZQV2s0c1IwRkRTbTVDTEVWQlFVVXlReXhMUVVGTmVFSXNSVUZCYjBKMVFpeHRRa0ZCYjBJc1UwRkJWUzlDTEVWQlFVYzJReXhIUVVNMVJDeEpRVUZKUXl4RlFVRnBRa1FzUlVGQlRXNUVMRlZCU1ROQ1RDeEZRVUZGWjBJc1QwRkJVWGxETEVWQlFXVnNReXhWUVVGWkxFbEJRVTFyUXl4RlFVRmxTQ3hYUVVGWmJFTXNSVUZEY2tWdlF5eEZRVUZOWml4cFFrRkxSSFJDTEVWQlFXOUNkVUlzYjBKQlJUTkNlRUlzUlVGQlMzZENMRzFDUVVGdFFtZENMRXRCUVUxMFF5eEhRVWN2UW5CQ0xFVkJRVVZuUWl4UFFVRlBNa01zVDBGQlVURkRMRVZCUVUxSExFZEJSV2hDUVN4SFFVZFNjRUlzUlVGQlJXZENMRTlCUVU5WkxFOUJRVk1zVTBGQlZXZERMRWRCVHpOQ0xFbEJUa0VzU1VGSFNVTXNSVUZEUVdoQ0xFVkJTa0ZwUWl4RlFVRlJNMFFzUlVGQldUUkVMRXRCUVUxNlFpeFZRVUZYTEVkQlEzSkRNRUlzUlVGQllTeEZRVU5pUXl4RlFVRmpTQ3hGUVVGTmRrSXNUMEZKYUVKNVFpeEZRVUZoUXl4RlFVRmhSQ3hKUVVOcVF5eEpRVUZOU0N4TFFVRlBReXhGUVVGUFJTeEhRVU51UW01Q0xFVkJRVkZwUWl4RlFVRlBSU3hIUVVGalNDeEhRVU40UWtNc1JVRkJUMFVzUjBGQllVVXNaVUZCWjBKTUxGTkJRVzFDVFN4SlFVRldkRUlzU1VGSE5VTTNReXhGUVVGRmIwVXNZMEZCWlhaQ0xFZEJRM0pDWlN4RlFVRlJReXhIUVVGUk4wUXNSVUZCUlc5RkxHTkJRV1ZTTEVWQlFWRkRMRWxCUTNoRE4wUXNSVUZCUldkQ0xFOUJRVTlaTEU5QlFWRXNSMEZCU1dkRExFVkJRVkZETEVkQlFVOW9RaXhIUVVkd1F6ZERMRVZCUVVWblFpeFBRVUZQV1N4UFFVRlJMRWRCUVVscFFpeEhRVWwwUW1Vc1JVRkJVVU1zUjBGQlVXaENMRWRCUzNCQ0xFOUJRVTlsTEVkQlIxSTFSQ3hGUVVGRlowSXNUMEZCVHpKRExFOUJRVk1zVTBGQlZURkRMRVZCUVUxdlJDeEhRVU5xUXl4SlFVRkpOVU1zUlVGQlZ6UkRMRVZCUVU5b1JTeFZRVUZWYTBRc1owSkJRV3RDZEVNc1JVRkRiRVJxUWl4RlFVRkZjMFVzUjBGQlNYSkVMRWRCUVZNc1UwRkJWV2xDTEVkQlEzaENMRWxCUVVseFF5eEZRVUZyUXl4cFFrRkJXbkpETEVWQlEzUkNaU3hGUVVGUE9VTXNSVUZCV1RSRUxFdEJRVTE2UWl4VlFVRlhMRWRCUTNCRFdTeEZRVUZqWkN4TFFUSkViRUlzVDBGNlJFdHRReXhGUVVsRmJrTXNTMEZCUzBjc1VVRkJjMElzWVVGQldrd3NSVUZIY0VKRkxFdEJRVXRQTEV0QlFVMHNWMEZEVml4SlFVRkpOa0lzUlVGRFFVTXNSVUZCVjNwRkxFVkJRVVZwUXl4TFFVRk5SeXhMUVVGTldDeEhRVVUzUWl4TlFVRnBRaXhoUVVGYVV5eEhRVU5LWjBJc1JVRkJZM1ZDTEVkQlExQXNSMEZIUmtFc1JVRk5RWHBGTEVWQlFVVTRReXhYUVVGWk1rSXNSVUZCVlhaRExFdEJRWFZETEUxQlFYaENRU3hGUVVGUmQwTXNUMEZCVVN4SlFVczNSRVlzUlVGQlkwTXNSVUZCVlhaRExFZEJRVlZNTEUxQlFVODBReXhGUVVGVmVFSXNUVUZGT1VKM1FpeFJRVUUwUWs0c1NVRkJhRUpMTEVkQlEyaERkRUlzUlVGQlkzTkNMRWRCUVdWQkxFVkJRVmxITEU5QlEzaERla0lzUlVGQldUQkNMRlZCUVZkS0xFVkJRVmxMTEU5QlEyNURUQ3hIUVVOTkxGRkJTbElzUlVGT1VYaEZMRVZCUVVVNFJTeE5RVUZQTEcxQ1FVRnhRalZETEVWQlFWVXNVMEZCVjJwQ0xFVkJRM3BFTEc5Q1FWQk5ha0lzUlVGQlJUaEZMRTFCUVU4c01FSkJRVFJDTjBRc1JVRkRNME1zZFVSQlF5dENhVUlzUlVGQlZTeFBRV1ExUTJkQ0xFOUJRV05wUWl4SFFXMURWbXhDTEVWQlFVdFdMRk5CUTFSTUxFVkJRVlZzUXl4RlFVRkZaMElzVDBGQlQxa3NUMEZCVDBNc1RVRkJUeXhMUVVGTkxFTkJRVVZMTEVkQlFWVktMRTlCUVZGdFFpeExRVWMxUkdJc1MwRkJTMDhzUzBGQlRTeFhRVU5XTEVsQlFVazRRaXhGUVVGWGVrVXNSVUZCUldsRExFdEJRVTFITEV0QlFVMVlMRWRCUTNoQ1owUXNSMEZEU2tFc1JVRkJVMDBzVDBGQlVUZERMRWRCUVZjc1NVRkRka0oxUXl4RlFVRlRUeXhQUVVOaVVDeEZRVUZUVHl4VFFVZFdhRVlzUlVGQlJXbERMRXRCUVUxSExFdEJRVTFZTEVWQlFWVXNTVUZCU1RSRExFVkJRVkZ1UXl4RlFVRlRSU3hWUVV0NlEyTXNTVUZKVkd4RUxFVkJRVVV3UWl4UFFVRlRMR0ZCUTFneFFpeEZRVUZGTUVJc1QwRkJUMmRDTEcxQ1FVRnhRaXhIUVVVNVFqRkRMRVZCUVVVd1FpeFBRVUZQY2tJc1ZVRkJXU3hEUVVOd1FtbEVMRmRCUVZrc1UwRkRXa1FzYTBKQlFXMUNMRWRCUTI1Q05FSXNaVUZCWjBJc1VVRkZhRUl2UXl4UlFVRlRMRU5CUTFKblJDeFJRVUZUTEVkQlExUkRMRlZCUVZVc1JVRkhWa01zVDBGQlVTeE5RVWRVTDBNc1kwRkJaU3hUUVVGVlNDeEZRVUZUUXl4SFFVTnFRMEVzUlVGQlZXNURMRVZCUVVkdFF5eEhRVUZYUXl4TFFVRkxOa01zWjBKQlFXdENOME1zVFVGQlVTeEhRVU4yUkVFc1MwRkJTMFFzVVVGQlZXNURMRVZCUVVkdFF5eEhRVU5zUWtNc1MwRkJTMmxFTEV0QlFVOXVSaXhKUVVOYWEwTXNTMEZCUzJ0RUxHVkJRV2xDTEVsQlFVMXNSQ3hMUVVGTGEwSXNWMEZCWVd4Q0xFdEJRVXRwUkN4TFFVVnVSR3BFTEV0QlFVdHRSQ3hUUVVGWGRrWXNTVUZEYUVKdlF5eExRVUZMYjBRc1ZVRkJXWGhHTEVsQlEycENiME1zUzBGQlMzRkVMRlZCUVZsNlJpeEpRVU5xUW05RExFdEJRVXR6UkN4eFFrRkJkVUlzUjBGRmRrSjJSQ3hKUVVGWlF5eFBRVU5vUW5CRExFVkJRVVZwUXl4TFFVRk5SU3hGUVVGVFF5eExRVUZMYlVJc1pVRkJaMEp1UWl4TlFVTjBRMEVzUzBGQlMzVkVMRXRCUVVzc1JVRkJUWFpFTEV0QlFVdEVMRkZCUVZNc1EwRkROMEowUWl4UFFVRlJMRk5CUVZVclJTeEhRVU5hUVN4RlFVRk5hRU1zVTBGQlYzcENMRWRCUTNKQ1F5eExRVUZMZVVRc1lVRkpVbnBFTEV0QlFVc3dSQ3hUUVVGWE9VWXNSVUZCUjIxRExFVkJRVkUwUkN4TlFVY3hRalZFTEVWQlFWRTJSQ3hqUVVkU04wUXNSVUZCVVRKRUxGVkJRVmt6UkN4SFFVTnlRa01zUzBGQlN6WkVMRTlCUVZOcVJ5eEZRVUZIYjBNc1MwRkJTekJFTEZOQlFWVXNSMEZCU1Vrc1lVRkJaVGxFTEV0QlFVc3dSQ3hUUVVGVkxFZEJRVWxMTEdWQlIzWkZMMFFzUzBGQlMwWXNVVUZCVld4RExFVkJRVVZuUWl4UFFVRlBXU3hQUVVGUkxFZEJReTlDVVN4TFFVRkxSaXhSUVVOTVJTeExRVUZMWjBVc2IwSkJRMHhzUlN4SFFVVkVSU3hMUVVGTGFVVXNWVUZGUVdwRkxFdEJRVXRHTEZGQlFWRnBSQ3hWUVVOcVFpOURMRXRCUVV0clJTeHRRa0ZCYjBKc1JTeExRVUZMUml4UlFVRlJhVVFzVlVGSGRrTXZReXhMUVVGTGJVVXNVMEZCVlN4VFFVRlZMRXRCUVUxdVJTeExRVUZMYjBVc2RVSkJRM0JEY0VVc1MwRkJTelJETEZOQlIwNXZRaXhyUWtGQmJVSXNWMEZEYkVJc1RVRkJUeXhKUVVkU1NTeHZRa0ZCY1VKNFJ5eEZRVUZGZVVjc1MwRkZka0pLTEZGQlFWTnlSeXhGUVVGRmVVY3NTMEZGV0hwQ0xFMUJRVTlvUml4RlFVRkZlVWNzUzBGRlZGb3NVVUZCVXl4WFFVTlNMRWxCUVVsaExFVkJRVTkwUlN4TFFVVllRU3hMUVVGTGRVVXNWMEZEVEROSExFVkJRVVV5UXl4TFFVRk5VQ3hMUVVGTGMwUXNjVUpCUVhOQ0xGTkJRVlUzUWl4RlFVRkxhRUlzUjBGRGFrUTJSQ3hGUVVGTFJTeGhRVUZqTDBRc1JVRkJUMmRDTEV0QlN6TkNla0lzUzBGQlMwUXNVVUZEU0RCRkxFbEJRVXQ2UlN4TFFVRkxhMFFzWjBKQlExWjNRaXhYUVVGWk1VVXNTMEZCUzIxQ0xHZENRVU51UW01Q0xFdEJRVXR3UWl4VFFVTklOa1lzU1VGQlMzcEZMRXRCUVV0clJDeG5Ra0ZEVm5sQ0xGZEJRVmtzYVVKQlIyUXpSU3hMUVVGTGJVUXNVMEZCVTNOQ0xFbEJRVXQ2UlN4TFFVRkxhMFFzYVVKQlIzcENjVUlzVTBGQlZUTkhMRVZCUVVWNVJ5eExRVVZhZWtZc1QwRkJVU3hYUVVOUUxFOUJRVTl2UWl4TFFVRkxSQ3hUUVVkaU5FTXNUMEZCVVN4VFFVRlZiRUlzUlVGQlMyaENMRWRCUTNSQ0xFbEJRMGx0UlN4RlFVTkJReXhGUVVOQmRFY3NSVUZJUVhWQ0xFVkJRVlV5UWl4RlFVdGtMRWRCUVRCQ0xFbEJRWEpDZGtJc1ZVRkJWVU1zVDBGSFpDeFBRVUZQZGtNc1JVRkJSV2RDTEU5QlFVOVpMRTlCUVZFc1IwRkJTVkVzUzBGQlMwWXNVMEZIYkVNc1IwRkJiMElzYVVKQlFWSXlRaXhGUVUxWUxFZEJTRUV6UWl4RlFVRlZMRWRCUTFZNFJTeEZRVUZSYmtRc1JVRkJTWEpETEUxQlFVOHNTMEZEYmtKeFF5eEZRVUZOYlVRc1JVRkJUVVVzVVVGRFVFWXNSVUZCVFhwRkxFOUJRVk1zUTBGRmJrSXNTVUZFUVRCRkxFVkJRVmt2UlN4RlFVRlRNa0lzUjBGQlVUZEVMRVZCUVVWblFpeFBRVUZQV1N4UFFVRlJMRWRCUVVsUkxFdEJRVXRHTEZGQlFWTXlRaXhKUVVNeFJHeEVMRVZCUVVrc1JVRkJSMEVzUlVGQlNYRkhMRVZCUVUxNlJTeFBRVUZUTEVWQlFVYzFRaXhKUVVOc1EzTkhMRVZCUVZkRUxFVkJRVTl5Unl4SlFVRlJjMGNzUlVGQlYwUXNSVUZCVDNKSExFdEJRVk1zUjBGRGNrUnpSeXhGUVVGWlFTeEZRVUZYUkN4RlFVRlBja2NzU1VGSEwwSXNSMEZFUVd0RUxFVkJRVTF0UkN4RlFVRk5SeXhOUVVOakxFbEJRWEpDTjBVc1ZVRkJWVU1zVDBGRFpDeFpRVUUwUWpSQ0xFbEJRWEpDT0VNc1JVRkJWM0JFTEVkQlFYTkNMRXRCUVU5dlJDeEZRVUZYY0VRc1IwRkZNMFJ2UkN4RlFVRlhjRVFzUjBGQlVXaENMRTFCUTJJc1EwRkRUaXhIUVVFd1FpeEpRVUZ5UWxBc1ZVRkJWVU1zVDBGRFpDeFpRVUVyUWpSQ0xFbEJRWGhDTDBJc1MwRkJTMFlzVVVGQlV6SkNMRWRCUVhOQ0xFdEJRVTk2UWl4TFFVRkxSaXhSUVVGVE1rSXNSMEZGYWtVelFpeEZRVUZUTWtJc1IwRkJVV2hDTEVWQlRXNUNMRTlCUmtGVUxFdEJRVXRuUml4WlFVRmhiRVlzUjBGRldFVXNUVUZIVW1kR0xGbEJRV0VzVTBGQlZXeEdMRWRCUTNSQ0xFbEJRVWt5UWl4RlFVVktMRWxCUVUxQkxFdEJRVTh6UWl4RlFVTmFSU3hMUVVGTGFVWXNWMEZCV1hoRUxFVkJRVXN6UWl4RlFVRlRNa0lzU1VGSGFFTXNUMEZCVDNwQ0xFMUJSMUpwUml4WFFVRlpMRk5CUVZWNFJDeEZRVUZMYUVJc1IwRlhNVUlzVFVGV1lTeFpRVUZTWjBJc1IwRkRTbnBDTEV0QlFVdHJSaXhyUWtGQmJVSjZSU3hIUVVkNlFsUXNTMEZCUzBZc1VVRkJVekpDTEVkQlFWRm9RaXhGUVVWVUxHRkJRVkpuUWl4SFFVTktla0lzUzBGQlMydEZMRzFDUVVGdlFucEVMRWRCUjI1Q1ZDeE5RVWRTYTBZc2EwSkJRVzFDTEZOQlFWVjZSU3hIUVVNMVFpeEpRVUZKTUVVc1JVRkJWVU1zUlVGQlZVTXNSVUZGZUVJc1NVRkJUVVlzUzBGQldURkZMRVZCUTJwQ05FVXNSVUZCYTBKeVJpeExRVUZMYzBRc2NVSkJRWE5DTmtJc1IwRkRlRU14UlN4RlFVRlBNRVVzUzBGQlpXNUdMRXRCUVV0R0xGRkJRVkZuUkN4UlFVRlRjVU1zU1VGRE9VTkZMRWRCUTBGQkxFVkJRV2RDYkVZc1UwRlJia0pwUml4RlFVRlhlRWdzUlVGQlIzbElMRVZCUVdkQ05VTXNUMEZET1VKNlF5eExRVUZMZDBVc1lVRkJZMkVzUlVGQmFVSkdMRWRCVFhCRFF5eEZRVUZUUlN4VFFVRlZkRVlzUzBGQlMzVkdMRk5CUVZVc1EwRkRha040Uml4UlFVRlRjVVlzUlVGRFZFa3NTMEZCVFV3c1JVRkRUbkpETEZGQlFWTnlReXhGUVVOVVowWXNTMEZCU3l4UFFVdFNka0lzYlVKQlFXOUNMRk5CUVZWNlJDeEhRVU0zUWxRc1MwRkJTekJHTEdGQlFXTXhSaXhMUVVGTGNFSXNVMEZCVlc5Q0xFdEJRVXR0UWl4bFFVRnBRaXhaUVVGaExFOUJRVkZXTEVkQlIzaEZRU3hKUVVOS1ZDeExRVUZMZDBVc1lVRkJZM2hGTEV0QlFVdHZSQ3hWUVVGWExFdEJRVTBzYTBKQlEzcERjRVFzUzBGQlMzZEZMR0ZCUVdONFJTeExRVUZMY1VRc1ZVRkJWeXhMUVVGTkxHOUNRVWt6UTNORExFOUJRVkVzVjBGRFVDeFBRVUZQTTBZc1MwRkJTMmRHTEZsQlFXRXNRMEZCUldwRExGVkJRVlVzUzBGSGRFTTJReXhSUVVGVExGZEJRMUlzVDBGQlR6VkdMRXRCUVV0blJpeFpRVUZoTEVOQlFVVnFReXhWUVVGVkxFdEJSM1JEZDBNc1UwRkJWU3hUUVVGVmVrWXNSMEZEYmtJc1NVRkJTU3RHTEVWQlFVOHNSMEZEVUhaQ0xFVkJRVTkwUlN4TFFVOVlMRk5CUVZNNFJpeEZRVUZ2UW1oRUxFVkJRVk5wUkN4SFFVTnlReXhKUVVGSlF5eEZRVUZUZWtnc1JVRkRZaXhKUVVGTlFTeEZRVUZKTEVWQlFVZEJMRVZCUVVsMVJTeEZRVUZSTTBNc1QwRkJVVFZDTEVsQlEyaERlVWdzUlVGQlZURkNMRVZCUVV0b1FpeHhRa0ZCYzBKU0xFVkJRVk4yUlN4TFFVRlRXQ3hKUVVWMFJHOUpMRVZCUkVsc1J5eEZRVUZSTWtZc1NVRkRSamRJTEVWQlFVZEJMRVZCUVVWeFNTeFBRVUZSUkN4RlFVRlJka1FzVFVGQlRTOURMRTlCUVZGSkxFVkJRVkZETEZGQlFWRXdReXhUUVVWdVJEZEZMRVZCUVVkdlNTeEZRVUZSUlN4SlFVRkxjRWNzUlVGQlVVTXNVMEZCVlRCRExFOUJSVGRETmtJc1JVRkJTMmhDTEhGQ1FVRnpRbElzUlVGQlUzWkZMRWxCUVZGNVNDeEZRVU0xUTBnc1JVRkJTM1pGTEV0QlFVMTNRaXhGUVVGVGRrVXNTVUZEWm5kSUxFZEJRV1ZxUnl4RlFVRlJaMFFzVVVGQlUwRXNSVUZCVTNaRkxFdEJRemREYzBnc1JVRkJTM1pGTEV0QlFVMTRRaXhGUVVGUlowUXNVVUZCVTBFc1JVRkJVM1pGTEV0QlowSjRReXhQUVdwRFFYVkNMRVZCUVZWc1F5eEZRVUZGTkVJc1QwRkJVU3hEUVVOdVFrOHNVVUZCVTBNc1MwRkJTMFFzVVVGRFpDdERMRkZCUVZNNVF5eExRVUZMUml4UlFVRlJaMFFzVTBGQlZ5eEpRVU12UW1oRUxFZEJiVUpJUlN4TFFVRkxkVVFzU1VGQlMzcEVMRVZCUVZGRExGRkJRVk1zUTBGRE1VSjBRaXhQUVVGVkxESkNRVWRPY1VJc1JVRkJVVEJHTEUxQlExcE5MRVZCUVc5Q2FFY3NSVUZCVVRCR0xFdEJRVXRYTEUxQlFVOHNVMEZCV1N4SlFVRkpMRWRCUlhCRWNrY3NSVUZCVVhOSExFOUJRMXBPTEVWQlFXOUNhRWNzUlVGQlVYTkhMRTFCUVUxRUxFMUJRVThzVTBGQldTeEpRVWN2UTA0c1JVRkJTMUVzUzBGQlRTeE5RVWR1UWtNc2RVSkJRWGRDTEZOQlFWVTVReXhIUVVOcVF5eEpRVUZKWXl4RlFVRlBkRVVzUzBGRFdIQkRMRVZCUVVVeVF5eExRVUZOSzBRc1JVRkJTMmhDTEhGQ1FVRnpRaXhUUVVGVk4wSXNSVUZCUzJoQ0xFbEJRMDRzU1VGQmRFTTNReXhGUVVGRk1ra3NVVUZCVXk5RExFVkJRVTFvUXl4UFFVRlJaaXhMUVVNM1FqWkVMRVZCUVV0b1FpeHhRa0ZCYzBJM1FpeEhRVUZSTjBRc1JVRkJSelpETEVWQlFVMTVSaXhKUVVGTE1VTXNSVUZCVFdoRExGRkJRVk5wUWl4WFFVdHVSU3RDTEdGQlFXTXNVMEZCVlhwRkxFVkJRVk41Uml4RlFVRk5XU3hIUVVOMFF5eFBRVUZQY0Vjc1MwRkJTekJHTEdGQlFXTXpSaXhGUVVGVGVVWXNSVUZCVFZrc1IwRkJUeXhKUVVkcVJFa3NWVUZCVnl4VFFVRlZla2NzUlVGQlUzbEdMRVZCUVUxWkxFZEJRMjVETEU5QlFVOXdSeXhMUVVGTE1FWXNZVUZCWXpOR0xFVkJRVk41Uml4RlFVRk5XU3hIUVVGUExFbEJSMnBFVml4aFFVRmpMRk5CUVZVelJpeEZRVUZUZVVZc1JVRkJUVmtzUlVGQlQxZ3NSMEZETjBOQkxFVkJRWFZDTEd0Q1FVRlNRU3hGUVVGelFrRXNSVUZCVFZjc1JVRkRNME1zU1VGQlNYUkNMRVZCUVRaQ0xHbENRVUZhTDBVc1IwRkJiME1zVDBGQldrRXNSVUZETlVORUxFVkJRVlVzUTBGRFZITkhMRTFCUVU5MFFpeEZRVUZSVlN4RlFVRlBXU3hGUVVOMFFsb3NTMEZCVFZZc1JVRkJVUzlGTEVWQlFWVjVSaXhGUVVONFFucEdMRkZCUVZNclJTeEZRVUZST1VVc1MwRkJTMFFzVVVGQlZVRXNSVUZEYUVNd1JpeEpRVUZMUVN4SFFVZFFMRTlCUkVFelJpeEZRVUZSUXl4UlFVRlJNRWNzV1VGQllYcEhMRXRCUVV0MVJpeFRRVUZWZWtZc1IwRkJWekpHTEVkQlEyaEVla1lzVFVGSFVuVkVMRWxCUVVzc1UwRkJWVzFFTEVWQlFYVkNNMGNzUlVGQlV6UkhMRWRCUXpsRExFbEJRVWxETEVWQlEwRjJSU3hGUVVGWGNrTXNTMEZIZFVJc2EwSkJRVEZDTUVjc1NVRkRXRU1zUlVGQlZ6VkhMRVZCUTFoQkxFVkJRVlV5Unl4RlFVTldRU3hIUVVGM1FpeEhRVWx1UWtNc1IwRkxURFZITEVWQlFWVTJSeXhGUVVGclFtaEtMRVZCUVVkdFF5eEhRVU12UWtNc1MwRkJTMjFFTEZOQlFWZHVSQ3hMUVVGTGJVUXNVMEZCVTNORExFbEJRVXN4Uml4TFFVeHVRelJITEVWQlFWYzFSeXhGUVVOWVFTeEZRVUZWUXl4TFFVRkxSQ3hSUVVObU5rY3NSVUZCYTBJMVJ5eExRVUZMY0VJc1ZVRk5lRUpvUWl4RlFVRkZNa01zUzBGQlRXOUhMRVZCUVZVc1UwRkJWVzVFTEVWQlFVOXhSQ3hIUVVOc1F5eFRRVUZUUXl4SlFVdFNMRWRCUVUxS0xFbEJRelJDTEVsQlFUbENja1VzUlVGQlUzWkRMRkZCUVZGcFJDeFhRVU51UW01R0xFVkJRVWR2UXl4TlFVRlBLMGNzVTBGQlZTeHhRa0ZIZEVJc1QwRkJORUlzYVVKQlFWcEdMRVZCUVhWQ2VFVXNSVUZCVlhkRkxFZEJRVmxCTEVkQlF6TkVjRWdzVFVGQlR6UkRMRVZCUVZWdVF5eFhRVWxKTEdsQ1FVRmFNa2NzU1VGRFdFTXNSVUZCWVVVc1MwRkJUMGdzUlVGQlVVY3NTMEZETTBKSUxFVkJRVkZITEUxQlFWRkdMRVZCUVdGRkxFMUJRVkZ3U2l4RlFVRkZiMG9zVVVGSGVrTXNTVUZCU1dJc1JVRkJVVE5ETEVWQlFVMHlReXhOUVVGUExITkNRVU55UW1Nc1JVRkJXV1FzUlVGQlR5eEhRVUZOT1VRc1JVRkJVMkVzWlVGRGJFTm5SU3hGUVVGWFppeEZRVUZQTEVkQlJXcENaU3hGUVVOS1RpeEZRVUZuUWs4c1IwRkJTVVlzUlVGQlYwTXNSVUZCVlVvc1IwRkZla012Unl4RlFVRlJiMGdzUjBGQlNVWXNSVUZCVjBnc1RVRkxNVUpOTEV0QlFVMHNVMEZCVlhKSUxFVkJRVk5yU0N4SFFVTjRRa0VzUjBGQlkwRXNSMEZCWVN4SlFVRkxOMGdzVFVGQlR5eExRVUZOYVVnc1MwRkJUWEpITEV0QlFVdHJSQ3hsUVVGcFFpeExRVU40Uld4RUxFdEJRVXRyUkN4bFFVTk9ia1FzUlVGQlVUQkZMRWxCUVV0M1F5eEhRVUZaZUVNc1NVRkJTM2RETEVkQlJ6bENha2dzUzBGQlMyMUVMRk5CUVZkMlJpeEZRVUZIYjBNc1MwRkJTMjFFTEZOQlFWTXJReXhKUVVGTGJrY3NSMEZCVlRCRExFOUJRMmhFZWtNc1MwRkJTM0ZFTEZWQlFWbDZSaXhGUVVGSGIwTXNTMEZCUzNGRUxGVkJRVlUyUXl4SlFVRkxia2NzUjBGQlZUQkRMRTlCUTJ4RWVrTXNTMEZCUzI5RUxGVkJRVmw0Uml4RlFVRkhiME1zUzBGQlMyOUVMRlZCUVZVNFF5eEpRVUZMYmtjc1IwRkJWVEJETEZGQlIyNUVORVVzVDBGQlVTeFRRVUZWVWl4RlFVRlRVeXhIUVVzeFFpeEpRVUZKYWtZc1JVRkJWM0pETEV0QlEyWXNUMEZCVDNWSUxGZEJURkFzVjBGRFF5eFBRVUUwUWl4cFFrRkJXbFlzUlVGQmRVSjRSU3hGUVVGVmQwVXNSMEZCV1VFc1IwRkRNMFJ3U0N4TlFVRlBORU1zUlVGQlZXNURMRmxCUjJGdlNDeEhRVUZUTEVsQlJ6TkRSU3hYUVVGWkxGTkJRVlY2U0N4SFFVTnlRa01zUzBGQlMyOUVMRlZCUVZsd1JDeExRVUZMYjBRc1ZVRkJWWEZETEVsQlFVc3hSaXhIUVVOeVEwTXNTMEZCUzNWRUxFbEJRVXQ0UkN4RlFVRlRMRU5CUTJ4Q01FZ3NWMEZCV1N4VFFVRlZha1VzUjBGRGNrSjRSQ3hMUVVGTGQwY3NWVUZCVnpWSkxFVkJRVWMwUml4RlFVRk5hMFVzWlVGQmFVSXNTMEZCVFN4dFFrRkZha1JETEZkQlFWa3NVMEZCVlc1RkxFZEJRM0pDZUVRc1MwRkJTM2RGTEdGQlFXTTFSeXhGUVVGSE5FWXNSVUZCVFd0RkxHVkJRV2xDTEV0QlFVMHNjMEpCUzNSRVJTeFhRVUZaTEZOQlFWVTNTQ3hIUVVOeVFrTXNTMEZCUzNGRUxGVkJRVmx5UkN4TFFVRkxjVVFzVlVGQlZXOURMRWxCUVVzeFJpeEhRVU55UTBNc1MwRkJTM1ZFTEVsQlFVdDRSQ3hGUVVGVExFTkJRMnhDT0Vnc1VVRkJVeXhUUVVGVmNrVXNSMEZEYkVKNFJDeExRVUZMZDBjc1ZVRkJWelZKTEVWQlFVYzBSaXhGUVVGTmEwVXNaVUZCYVVJc1MwRkJUU3h0UWtGRmFrUkpMRk5CUVZVc1UwRkJWWFJGTEVkQlEyNUNlRVFzUzBGQlMzZEZMR0ZCUVdNMVJ5eEZRVUZITkVZc1JVRkJUV3RGTEdWQlFXbENMRXRCUVUwc2MwSkJTM1JFZGtRc1UwRkJWU3hUUVVGVk5FUXNSVUZCVFhaRkxFVkJRVTh6UkN4SFFVTm9ReXhKUVVGSlZ5eEZRVUZOTTBNc1JVRkRUbTFMTEVWQlFWZG9TU3hMUVVGTFJpeFJRVUZUYVVrc1IwRmpOMElzUjBGYVFXeEpMRVZCUVU5QkxFZEJRVkVzU1VGRFpqSkVMRVZCUVZFMVJpeEZRVUZGY1Vzc1RVRkJUM3BGTEVsQlExaDFSU3hOUVVGVFFTeEpRVUZUTDBnc1MwRkJTMmxDTEd0Q1FVTTFRamhITEVWQlEwRXZTQ3hMUVVGTGFVSXNhMEpCUVc5Q09FY3NSMEZCVDI1SkxHTkJTV3BETkVRc1JVRkJUV2hETEU5QlFWTjRRaXhMUVVGTFJDeFJRVUZUTEVkQlJ6ZENiRU1zUlVGQlR6SkdMRVZCUVUwd1JTeGpRVVZhTEVsQlFVMHhTQ3hMUVVGUk0wTXNSVUZEVERKRExFdEJRVkZuUkN4SlFVTm1RU3hGUVVGUGFFUXNSMEZCVXpORExFVkJRVTB5UXl4SlFVMTZRaXhQUVVSQlVpeExRVUZMUkN4UlFVRlJiMGtzVVVGQlV6TkZMRVZCUVU4elJDeExRVU51UW1wRExFVkJRVVU0UXl4WFFVRlpjMGdzUzBGRE1rTXNTVUZCYkVWQkxFVkJRVk4yU1N4TlFVRlBUeXhMUVVGTFJDeFJRVUZUTEVkQlFVc3NRMEZCUlhsRUxFZEJRVkU1UkN4UFFVRlJSeXhMUVVOeVJESkVMRVZCUVUwMFJTeDNRa0ZKVkhoTExFVkJRVVV5UXl4TFFVRk5MRU5CUVVVNFNDeExRVUZOTEZOQlFWVkRMRXRCUVUwc1YwRkJZU3hUUVVGVlF5eEZRVUZSUXl4SFFVTTVSRFZMTEVWQlFVVXdRaXhQUVVGUGNrSXNWVUZCVnl4SlFVRk5jMHNzUjBGQlZ5eFRRVUZWZUVrc1JVRkJVMFFzUlVGQlUydEpMRWRCUzJoRkxFbEJRVWxUTEVWQlNtOUNMR2xDUVVGYU0wa3NTVUZEV0VFc1JVRkJWU3hEUVVGRk5Fa3NUMEZCVVRWSkxFbEJTWEpDTEVsQlFVazJTU3hGUVVGak4wa3NSMEZGVEN4SlFVRmFRU3hIUVVGMVF5eHBRa0ZCV2tFc1JVRkRNVUl3U1N4RlFVTkJNVWtzUlVGQlVUUkpMRkZCUVZWR0xFVkJTRzVDUkN4RlFVMTFRaXhwUWtGRWVFSjZTU3hGUVVGVlFTeEhRVUZYTEUxQlJYQkNRU3hGUVVGVkxFTkJRVVU0U1N4VFFVRlZPVWtzU1VGSGRrSXlTU3hIUVVGak4wc3NSVUZCUldsTUxHTkJRV1V2U1N4SFFVTXZRa0VzUlVGQlVXZEtMRk5CUVZka0xFVkJSV1JzU1N4RlFVRlJkMGdzVDBGRFduWklMRVZCUVZGMVNDeE5RVUZQZUVnc1JVRkJVWGRJTEU5QlIyNUNiVUlzUjBGQll6ZExMRVZCUVVWdFRDeFRRVUZYYmt3c1JVRkJSVzFNTEZGQlFWRk1MRTlCUVZGRExFZEJRMnBFTlVrc1JVRkJVM2RKTEVkQlFWVjZTU3hIUVVOU05ra3NTVUZCWlVvc1IwRkJWWGhKTEVWQlFWTTBTU3hIUVVNM1F6VkpMRVZCUVZNMFNTeEhRVUZqTjBrc1JVRkJVVGhKTEZOQlFWVTVTU3hGUVVGUmEwb3NUMEZCVVdoQ0xFZEJSWHBFYWtrc1JVRkJVV3RLTEUxQlFVOHNVMEZCVlVNc1IwRkRlRUowVEN4RlFVRkhiME1zVFVGQlVYVkpMRXRCUTA1UUxFZEJRMHBCTEVWQlFWTnlSeXhMUVVGTk5VSXNSVUZCVXl4SlFVVjZRbTFLTEZOQlRVZDBUQ3hGUVVGRlowSWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YldGemRHVnlMM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDJweGRXVnllUzExYVM5MWFTOTNhV1JuWlhRdWFuTWlmUT09IiwiIWZ1bmN0aW9uKGUsdCl7XCJ1c2Ugc3RyaWN0XCI7XCJvYmplY3RcIj09dHlwZW9mIG1vZHVsZSYmXCJvYmplY3RcIj09dHlwZW9mIG1vZHVsZS5leHBvcnRzP21vZHVsZS5leHBvcnRzPWUuZG9jdW1lbnQ/dChlLCEwKTpmdW5jdGlvbihlKXtpZighZS5kb2N1bWVudCl0aHJvdyBuZXcgRXJyb3IoXCJqUXVlcnkgcmVxdWlyZXMgYSB3aW5kb3cgd2l0aCBhIGRvY3VtZW50XCIpO3JldHVybiB0KGUpfTp0KGUpfShcInVuZGVmaW5lZFwiIT10eXBlb2Ygd2luZG93P3dpbmRvdzp0aGlzLGZ1bmN0aW9uKGUsdCl7XCJ1c2Ugc3RyaWN0XCI7dmFyIG49W10scj1PYmplY3QuZ2V0UHJvdG90eXBlT2YsaT1uLnNsaWNlLG89bi5mbGF0P2Z1bmN0aW9uKGUpe3JldHVybiBuLmZsYXQuY2FsbChlKX06ZnVuY3Rpb24oZSl7cmV0dXJuIG4uY29uY2F0LmFwcGx5KFtdLGUpfSxhPW4ucHVzaCxzPW4uaW5kZXhPZix1PXt9LGw9dS50b1N0cmluZyxjPXUuaGFzT3duUHJvcGVydHksZj1jLnRvU3RyaW5nLHA9Zi5jYWxsKE9iamVjdCksZD17fSxoPWZ1bmN0aW9uKGUpe3JldHVyblwiZnVuY3Rpb25cIj09dHlwZW9mIGUmJlwibnVtYmVyXCIhPXR5cGVvZiBlLm5vZGVUeXBlJiZcImZ1bmN0aW9uXCIhPXR5cGVvZiBlLml0ZW19LGc9ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGwhPWUmJmU9PT1lLndpbmRvd30sdj1lLmRvY3VtZW50LHk9e3R5cGU6ITAsc3JjOiEwLG5vbmNlOiEwLG5vTW9kdWxlOiEwfTtmdW5jdGlvbiBtKGUsdCxuKXt2YXIgcixpLG89KG49bnx8dikuY3JlYXRlRWxlbWVudChcInNjcmlwdFwiKTtpZihvLnRleHQ9ZSx0KWZvcihyIGluIHkpKGk9dFtyXXx8dC5nZXRBdHRyaWJ1dGUmJnQuZ2V0QXR0cmlidXRlKHIpKSYmby5zZXRBdHRyaWJ1dGUocixpKTtuLmhlYWQuYXBwZW5kQ2hpbGQobykucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChvKX1mdW5jdGlvbiB4KGUpe3JldHVybiBudWxsPT1lP2UrXCJcIjpcIm9iamVjdFwiPT10eXBlb2YgZXx8XCJmdW5jdGlvblwiPT10eXBlb2YgZT91W2wuY2FsbChlKV18fFwib2JqZWN0XCI6dHlwZW9mIGV9dmFyIGI9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbmV3IGIuZm4uaW5pdChlLHQpfTtmdW5jdGlvbiB3KGUpe3ZhciB0PSEhZSYmXCJsZW5ndGhcImluIGUmJmUubGVuZ3RoLG49eChlKTtyZXR1cm4haChlKSYmIWcoZSkmJihcImFycmF5XCI9PT1ufHwwPT09dHx8XCJudW1iZXJcIj09dHlwZW9mIHQmJnQ+MCYmdC0xIGluIGUpfWIuZm49Yi5wcm90b3R5cGU9e2pxdWVyeTpcIjMuNi4wXCIsY29uc3RydWN0b3I6YixsZW5ndGg6MCx0b0FycmF5OmZ1bmN0aW9uKCl7cmV0dXJuIGkuY2FsbCh0aGlzKX0sZ2V0OmZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lP2kuY2FsbCh0aGlzKTplPDA/dGhpc1tlK3RoaXMubGVuZ3RoXTp0aGlzW2VdfSxwdXNoU3RhY2s6ZnVuY3Rpb24oZSl7dmFyIHQ9Yi5tZXJnZSh0aGlzLmNvbnN0cnVjdG9yKCksZSk7cmV0dXJuIHQucHJldk9iamVjdD10aGlzLHR9LGVhY2g6ZnVuY3Rpb24oZSl7cmV0dXJuIGIuZWFjaCh0aGlzLGUpfSxtYXA6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGIubWFwKHRoaXMsZnVuY3Rpb24odCxuKXtyZXR1cm4gZS5jYWxsKHQsbix0KX0pKX0sc2xpY2U6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soaS5hcHBseSh0aGlzLGFyZ3VtZW50cykpfSxmaXJzdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVxKDApfSxsYXN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoLTEpfSxldmVuOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGIuZ3JlcCh0aGlzLGZ1bmN0aW9uKGUsdCl7cmV0dXJuKHQrMSklMn0pKX0sb2RkOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGIuZ3JlcCh0aGlzLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQlMn0pKX0sZXE6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5sZW5ndGgsbj0rZSsoZTwwP3Q6MCk7cmV0dXJuIHRoaXMucHVzaFN0YWNrKG4+PTAmJm48dD9bdGhpc1tuXV06W10pfSxlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wcmV2T2JqZWN0fHx0aGlzLmNvbnN0cnVjdG9yKCl9LHB1c2g6YSxzb3J0Om4uc29ydCxzcGxpY2U6bi5zcGxpY2V9LGIuZXh0ZW5kPWIuZm4uZXh0ZW5kPWZ1bmN0aW9uKCl7dmFyIGUsdCxuLHIsaSxvLGE9YXJndW1lbnRzWzBdfHx7fSxzPTEsdT1hcmd1bWVudHMubGVuZ3RoLGw9ITE7Zm9yKFwiYm9vbGVhblwiPT10eXBlb2YgYSYmKGw9YSxhPWFyZ3VtZW50c1tzXXx8e30scysrKSxcIm9iamVjdFwiPT10eXBlb2YgYXx8aChhKXx8KGE9e30pLHM9PT11JiYoYT10aGlzLHMtLSk7czx1O3MrKylpZihudWxsIT0oZT1hcmd1bWVudHNbc10pKWZvcih0IGluIGUpcj1lW3RdLFwiX19wcm90b19fXCIhPT10JiZhIT09ciYmKGwmJnImJihiLmlzUGxhaW5PYmplY3Qocil8fChpPUFycmF5LmlzQXJyYXkocikpKT8obj1hW3RdLG89aSYmIUFycmF5LmlzQXJyYXkobik/W106aXx8Yi5pc1BsYWluT2JqZWN0KG4pP246e30saT0hMSxhW3RdPWIuZXh0ZW5kKGwsbyxyKSk6dm9pZCAwIT09ciYmKGFbdF09cikpO3JldHVybiBhfSxiLmV4dGVuZCh7ZXhwYW5kbzpcImpRdWVyeVwiKyhcIjMuNi4wXCIrTWF0aC5yYW5kb20oKSkucmVwbGFjZSgvXFxEL2csXCJcIiksaXNSZWFkeTohMCxlcnJvcjpmdW5jdGlvbihlKXt0aHJvdyBuZXcgRXJyb3IoZSl9LG5vb3A6ZnVuY3Rpb24oKXt9LGlzUGxhaW5PYmplY3Q6ZnVuY3Rpb24oZSl7dmFyIHQsbjtyZXR1cm4hKCFlfHxcIltvYmplY3QgT2JqZWN0XVwiIT09bC5jYWxsKGUpKSYmKCEodD1yKGUpKXx8XCJmdW5jdGlvblwiPT10eXBlb2Yobj1jLmNhbGwodCxcImNvbnN0cnVjdG9yXCIpJiZ0LmNvbnN0cnVjdG9yKSYmZi5jYWxsKG4pPT09cCl9LGlzRW1wdHlPYmplY3Q6ZnVuY3Rpb24oZSl7dmFyIHQ7Zm9yKHQgaW4gZSlyZXR1cm4hMTtyZXR1cm4hMH0sZ2xvYmFsRXZhbDpmdW5jdGlvbihlLHQsbil7bShlLHtub25jZTp0JiZ0Lm5vbmNlfSxuKX0sZWFjaDpmdW5jdGlvbihlLHQpe3ZhciBuLHI9MDtpZih3KGUpKWZvcihuPWUubGVuZ3RoO3I8biYmITEhPT10LmNhbGwoZVtyXSxyLGVbcl0pO3IrKyk7ZWxzZSBmb3IociBpbiBlKWlmKCExPT09dC5jYWxsKGVbcl0scixlW3JdKSlicmVhaztyZXR1cm4gZX0sbWFrZUFycmF5OmZ1bmN0aW9uKGUsdCl7dmFyIG49dHx8W107cmV0dXJuIG51bGwhPWUmJih3KE9iamVjdChlKSk/Yi5tZXJnZShuLFwic3RyaW5nXCI9PXR5cGVvZiBlP1tlXTplKTphLmNhbGwobixlKSksbn0saW5BcnJheTpmdW5jdGlvbihlLHQsbil7cmV0dXJuIG51bGw9PXQ/LTE6cy5jYWxsKHQsZSxuKX0sbWVyZ2U6ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49K3QubGVuZ3RoLHI9MCxpPWUubGVuZ3RoO3I8bjtyKyspZVtpKytdPXRbcl07cmV0dXJuIGUubGVuZ3RoPWksZX0sZ3JlcDpmdW5jdGlvbihlLHQsbil7Zm9yKHZhciByPVtdLGk9MCxvPWUubGVuZ3RoLGE9IW47aTxvO2krKykhdChlW2ldLGkpIT09YSYmci5wdXNoKGVbaV0pO3JldHVybiByfSxtYXA6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksYT0wLHM9W107aWYodyhlKSlmb3Iocj1lLmxlbmd0aDthPHI7YSsrKW51bGwhPShpPXQoZVthXSxhLG4pKSYmcy5wdXNoKGkpO2Vsc2UgZm9yKGEgaW4gZSludWxsIT0oaT10KGVbYV0sYSxuKSkmJnMucHVzaChpKTtyZXR1cm4gbyhzKX0sZ3VpZDoxLHN1cHBvcnQ6ZH0pLFwiZnVuY3Rpb25cIj09dHlwZW9mIFN5bWJvbCYmKGIuZm5bU3ltYm9sLml0ZXJhdG9yXT1uW1N5bWJvbC5pdGVyYXRvcl0pLGIuZWFjaChcIkJvb2xlYW4gTnVtYmVyIFN0cmluZyBGdW5jdGlvbiBBcnJheSBEYXRlIFJlZ0V4cCBPYmplY3QgRXJyb3IgU3ltYm9sXCIuc3BsaXQoXCIgXCIpLGZ1bmN0aW9uKGUsdCl7dVtcIltvYmplY3QgXCIrdCtcIl1cIl09dC50b0xvd2VyQ2FzZSgpfSk7dmFyIFQ9ZnVuY3Rpb24oZSl7dmFyIHQsbixyLGksbyxhLHMsdSxsLGMsZixwLGQsaCxnLHYseSxtLHgsYj1cInNpenpsZVwiKzEqbmV3IERhdGUsdz1lLmRvY3VtZW50LFQ9MCxDPTAsRT11ZSgpLFM9dWUoKSxrPXVlKCksQT11ZSgpLE49ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT09PXQmJihmPSEwKSwwfSxqPXt9Lmhhc093blByb3BlcnR5LEQ9W10scT1ELnBvcCxMPUQucHVzaCxIPUQucHVzaCxPPUQuc2xpY2UsUD1mdW5jdGlvbihlLHQpe2Zvcih2YXIgbj0wLHI9ZS5sZW5ndGg7bjxyO24rKylpZihlW25dPT09dClyZXR1cm4gbjtyZXR1cm4tMX0sUj1cImNoZWNrZWR8c2VsZWN0ZWR8YXN5bmN8YXV0b2ZvY3VzfGF1dG9wbGF5fGNvbnRyb2xzfGRlZmVyfGRpc2FibGVkfGhpZGRlbnxpc21hcHxsb29wfG11bHRpcGxlfG9wZW58cmVhZG9ubHl8cmVxdWlyZWR8c2NvcGVkXCIsTT1cIltcXFxceDIwXFxcXHRcXFxcclxcXFxuXFxcXGZdXCIsST1cIig/OlxcXFxcXFxcW1xcXFxkYS1mQS1GXXsxLDZ9XCIrTStcIj98XFxcXFxcXFxbXlxcXFxyXFxcXG5cXFxcZl18W1xcXFx3LV18W15cXDAtXFxcXHg3Zl0pK1wiLFc9XCJcXFxcW1wiK00rXCIqKFwiK0krXCIpKD86XCIrTStcIiooWypeJHwhfl0/PSlcIitNK1wiKig/OicoKD86XFxcXFxcXFwufFteXFxcXFxcXFwnXSkqKSd8XFxcIigoPzpcXFxcXFxcXC58W15cXFxcXFxcXFxcXCJdKSopXFxcInwoXCIrSStcIikpfClcIitNK1wiKlxcXFxdXCIsRj1cIjooXCIrSStcIikoPzpcXFxcKCgoJygoPzpcXFxcXFxcXC58W15cXFxcXFxcXCddKSopJ3xcXFwiKCg/OlxcXFxcXFxcLnxbXlxcXFxcXFxcXFxcIl0pKilcXFwiKXwoKD86XFxcXFxcXFwufFteXFxcXFxcXFwoKVtcXFxcXV18XCIrVytcIikqKXwuKilcXFxcKXwpXCIsQj1uZXcgUmVnRXhwKE0rXCIrXCIsXCJnXCIpLCQ9bmV3IFJlZ0V4cChcIl5cIitNK1wiK3woKD86XnxbXlxcXFxcXFxcXSkoPzpcXFxcXFxcXC4pKilcIitNK1wiKyRcIixcImdcIiksXz1uZXcgUmVnRXhwKFwiXlwiK00rXCIqLFwiK00rXCIqXCIpLHo9bmV3IFJlZ0V4cChcIl5cIitNK1wiKihbPit+XXxcIitNK1wiKVwiK00rXCIqXCIpLFU9bmV3IFJlZ0V4cChNK1wifD5cIiksWD1uZXcgUmVnRXhwKEYpLFY9bmV3IFJlZ0V4cChcIl5cIitJK1wiJFwiKSxHPXtJRDpuZXcgUmVnRXhwKFwiXiMoXCIrSStcIilcIiksQ0xBU1M6bmV3IFJlZ0V4cChcIl5cXFxcLihcIitJK1wiKVwiKSxUQUc6bmV3IFJlZ0V4cChcIl4oXCIrSStcInxbKl0pXCIpLEFUVFI6bmV3IFJlZ0V4cChcIl5cIitXKSxQU0VVRE86bmV3IFJlZ0V4cChcIl5cIitGKSxDSElMRDpuZXcgUmVnRXhwKFwiXjoob25seXxmaXJzdHxsYXN0fG50aHxudGgtbGFzdCktKGNoaWxkfG9mLXR5cGUpKD86XFxcXChcIitNK1wiKihldmVufG9kZHwoKFsrLV18KShcXFxcZCopbnwpXCIrTStcIiooPzooWystXXwpXCIrTStcIiooXFxcXGQrKXwpKVwiK00rXCIqXFxcXCl8KVwiLFwiaVwiKSxib29sOm5ldyBSZWdFeHAoXCJeKD86XCIrUitcIikkXCIsXCJpXCIpLG5lZWRzQ29udGV4dDpuZXcgUmVnRXhwKFwiXlwiK00rXCIqWz4rfl18OihldmVufG9kZHxlcXxndHxsdHxudGh8Zmlyc3R8bGFzdCkoPzpcXFxcKFwiK00rXCIqKCg/Oi1cXFxcZCk/XFxcXGQqKVwiK00rXCIqXFxcXCl8KSg/PVteLV18JClcIixcImlcIil9LFk9L0hUTUwkL2ksUT0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b24pJC9pLEo9L15oXFxkJC9pLEs9L15bXntdK1xce1xccypcXFtuYXRpdmUgXFx3LyxaPS9eKD86IyhbXFx3LV0rKXwoXFx3Kyl8XFwuKFtcXHctXSspKSQvLGVlPS9bK35dLyx0ZT1uZXcgUmVnRXhwKFwiXFxcXFxcXFxbXFxcXGRhLWZBLUZdezEsNn1cIitNK1wiP3xcXFxcXFxcXChbXlxcXFxyXFxcXG5cXFxcZl0pXCIsXCJnXCIpLG5lPWZ1bmN0aW9uKGUsdCl7dmFyIG49XCIweFwiK2Uuc2xpY2UoMSktNjU1MzY7cmV0dXJuIHR8fChuPDA/U3RyaW5nLmZyb21DaGFyQ29kZShuKzY1NTM2KTpTdHJpbmcuZnJvbUNoYXJDb2RlKG4+PjEwfDU1Mjk2LDEwMjMmbnw1NjMyMCkpfSxyZT0vKFtcXDAtXFx4MWZcXHg3Zl18Xi0/XFxkKXxeLSR8W15cXDAtXFx4MWZcXHg3Zi1cXHVGRkZGXFx3LV0vZyxpZT1mdW5jdGlvbihlLHQpe3JldHVybiB0P1wiXFwwXCI9PT1lP1wi77+9XCI6ZS5zbGljZSgwLC0xKStcIlxcXFxcIitlLmNoYXJDb2RlQXQoZS5sZW5ndGgtMSkudG9TdHJpbmcoMTYpK1wiIFwiOlwiXFxcXFwiK2V9LG9lPWZ1bmN0aW9uKCl7cCgpfSxhZT1iZShmdW5jdGlvbihlKXtyZXR1cm4hMD09PWUuZGlzYWJsZWQmJlwiZmllbGRzZXRcIj09PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKX0se2RpcjpcInBhcmVudE5vZGVcIixuZXh0OlwibGVnZW5kXCJ9KTt0cnl7SC5hcHBseShEPU8uY2FsbCh3LmNoaWxkTm9kZXMpLHcuY2hpbGROb2RlcyksRFt3LmNoaWxkTm9kZXMubGVuZ3RoXS5ub2RlVHlwZX1jYXRjaChlKXtIPXthcHBseTpELmxlbmd0aD9mdW5jdGlvbihlLHQpe0wuYXBwbHkoZSxPLmNhbGwodCkpfTpmdW5jdGlvbihlLHQpe2Zvcih2YXIgbj1lLmxlbmd0aCxyPTA7ZVtuKytdPXRbcisrXTspO2UubGVuZ3RoPW4tMX19fWZ1bmN0aW9uIHNlKGUsdCxyLGkpe3ZhciBvLHMsbCxjLGYsaCx5LG09dCYmdC5vd25lckRvY3VtZW50LHc9dD90Lm5vZGVUeXBlOjk7aWYocj1yfHxbXSxcInN0cmluZ1wiIT10eXBlb2YgZXx8IWV8fDEhPT13JiY5IT09dyYmMTEhPT13KXJldHVybiByO2lmKCFpJiYocCh0KSx0PXR8fGQsZykpe2lmKDExIT09dyYmKGY9Wi5leGVjKGUpKSlpZihvPWZbMV0pe2lmKDk9PT13KXtpZighKGw9dC5nZXRFbGVtZW50QnlJZChvKSkpcmV0dXJuIHI7aWYobC5pZD09PW8pcmV0dXJuIHIucHVzaChsKSxyfWVsc2UgaWYobSYmKGw9bS5nZXRFbGVtZW50QnlJZChvKSkmJngodCxsKSYmbC5pZD09PW8pcmV0dXJuIHIucHVzaChsKSxyfWVsc2V7aWYoZlsyXSlyZXR1cm4gSC5hcHBseShyLHQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoZSkpLHI7aWYoKG89ZlszXSkmJm4uZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmdC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKXJldHVybiBILmFwcGx5KHIsdC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKG8pKSxyfWlmKG4ucXNhJiYhQVtlK1wiIFwiXSYmKCF2fHwhdi50ZXN0KGUpKSYmKDEhPT13fHxcIm9iamVjdFwiIT09dC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKSl7aWYoeT1lLG09dCwxPT09dyYmKFUudGVzdChlKXx8ei50ZXN0KGUpKSl7Zm9yKChtPWVlLnRlc3QoZSkmJnllKHQucGFyZW50Tm9kZSl8fHQpPT09dCYmbi5zY29wZXx8KChjPXQuZ2V0QXR0cmlidXRlKFwiaWRcIikpP2M9Yy5yZXBsYWNlKHJlLGllKTp0LnNldEF0dHJpYnV0ZShcImlkXCIsYz1iKSkscz0oaD1hKGUpKS5sZW5ndGg7cy0tOyloW3NdPShjP1wiI1wiK2M6XCI6c2NvcGVcIikrXCIgXCIreGUoaFtzXSk7eT1oLmpvaW4oXCIsXCIpfXRyeXtyZXR1cm4gSC5hcHBseShyLG0ucXVlcnlTZWxlY3RvckFsbCh5KSkscn1jYXRjaCh0KXtBKGUsITApfWZpbmFsbHl7Yz09PWImJnQucmVtb3ZlQXR0cmlidXRlKFwiaWRcIil9fX1yZXR1cm4gdShlLnJlcGxhY2UoJCxcIiQxXCIpLHQscixpKX1mdW5jdGlvbiB1ZSgpe3ZhciBlPVtdO3JldHVybiBmdW5jdGlvbiB0KG4saSl7cmV0dXJuIGUucHVzaChuK1wiIFwiKT5yLmNhY2hlTGVuZ3RoJiZkZWxldGUgdFtlLnNoaWZ0KCldLHRbbitcIiBcIl09aX19ZnVuY3Rpb24gbGUoZSl7cmV0dXJuIGVbYl09ITAsZX1mdW5jdGlvbiBjZShlKXt2YXIgdD1kLmNyZWF0ZUVsZW1lbnQoXCJmaWVsZHNldFwiKTt0cnl7cmV0dXJuISFlKHQpfWNhdGNoKGUpe3JldHVybiExfWZpbmFsbHl7dC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCksdD1udWxsfX1mdW5jdGlvbiBmZShlLHQpe2Zvcih2YXIgbj1lLnNwbGl0KFwifFwiKSxpPW4ubGVuZ3RoO2ktLTspci5hdHRySGFuZGxlW25baV1dPXR9ZnVuY3Rpb24gcGUoZSx0KXt2YXIgbj10JiZlLHI9biYmMT09PWUubm9kZVR5cGUmJjE9PT10Lm5vZGVUeXBlJiZlLnNvdXJjZUluZGV4LXQuc291cmNlSW5kZXg7aWYocilyZXR1cm4gcjtpZihuKWZvcig7bj1uLm5leHRTaWJsaW5nOylpZihuPT09dClyZXR1cm4tMTtyZXR1cm4gZT8xOi0xfWZ1bmN0aW9uIGRlKGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm5cImlucHV0XCI9PT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkmJnQudHlwZT09PWV9fWZ1bmN0aW9uIGhlKGUpe3JldHVybiBmdW5jdGlvbih0KXt2YXIgbj10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuKFwiaW5wdXRcIj09PW58fFwiYnV0dG9uXCI9PT1uKSYmdC50eXBlPT09ZX19ZnVuY3Rpb24gZ2UoZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVyblwiZm9ybVwiaW4gdD90LnBhcmVudE5vZGUmJiExPT09dC5kaXNhYmxlZD9cImxhYmVsXCJpbiB0P1wibGFiZWxcImluIHQucGFyZW50Tm9kZT90LnBhcmVudE5vZGUuZGlzYWJsZWQ9PT1lOnQuZGlzYWJsZWQ9PT1lOnQuaXNEaXNhYmxlZD09PWV8fHQuaXNEaXNhYmxlZCE9PSFlJiZhZSh0KT09PWU6dC5kaXNhYmxlZD09PWU6XCJsYWJlbFwiaW4gdCYmdC5kaXNhYmxlZD09PWV9fWZ1bmN0aW9uIHZlKGUpe3JldHVybiBsZShmdW5jdGlvbih0KXtyZXR1cm4gdD0rdCxsZShmdW5jdGlvbihuLHIpe2Zvcih2YXIgaSxvPWUoW10sbi5sZW5ndGgsdCksYT1vLmxlbmd0aDthLS07KW5baT1vW2FdXSYmKG5baV09IShyW2ldPW5baV0pKX0pfSl9ZnVuY3Rpb24geWUoZSl7cmV0dXJuIGUmJnZvaWQgMCE9PWUuZ2V0RWxlbWVudHNCeVRhZ05hbWUmJmV9Zm9yKHQgaW4gbj1zZS5zdXBwb3J0PXt9LG89c2UuaXNYTUw9ZnVuY3Rpb24oZSl7dmFyIHQ9ZSYmZS5uYW1lc3BhY2VVUkksbj1lJiYoZS5vd25lckRvY3VtZW50fHxlKS5kb2N1bWVudEVsZW1lbnQ7cmV0dXJuIVkudGVzdCh0fHxuJiZuLm5vZGVOYW1lfHxcIkhUTUxcIil9LHA9c2Uuc2V0RG9jdW1lbnQ9ZnVuY3Rpb24oZSl7dmFyIHQsaSxhPWU/ZS5vd25lckRvY3VtZW50fHxlOnc7cmV0dXJuIGEhPWQmJjk9PT1hLm5vZGVUeXBlJiZhLmRvY3VtZW50RWxlbWVudD8oaD0oZD1hKS5kb2N1bWVudEVsZW1lbnQsZz0hbyhkKSx3IT1kJiYoaT1kLmRlZmF1bHRWaWV3KSYmaS50b3AhPT1pJiYoaS5hZGRFdmVudExpc3RlbmVyP2kuYWRkRXZlbnRMaXN0ZW5lcihcInVubG9hZFwiLG9lLCExKTppLmF0dGFjaEV2ZW50JiZpLmF0dGFjaEV2ZW50KFwib251bmxvYWRcIixvZSkpLG4uc2NvcGU9Y2UoZnVuY3Rpb24oZSl7cmV0dXJuIGguYXBwZW5kQ2hpbGQoZSkuYXBwZW5kQ2hpbGQoZC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpKSx2b2lkIDAhPT1lLnF1ZXJ5U2VsZWN0b3JBbGwmJiFlLnF1ZXJ5U2VsZWN0b3JBbGwoXCI6c2NvcGUgZmllbGRzZXQgZGl2XCIpLmxlbmd0aH0pLG4uYXR0cmlidXRlcz1jZShmdW5jdGlvbihlKXtyZXR1cm4gZS5jbGFzc05hbWU9XCJpXCIsIWUuZ2V0QXR0cmlidXRlKFwiY2xhc3NOYW1lXCIpfSksbi5nZXRFbGVtZW50c0J5VGFnTmFtZT1jZShmdW5jdGlvbihlKXtyZXR1cm4gZS5hcHBlbmRDaGlsZChkLmNyZWF0ZUNvbW1lbnQoXCJcIikpLCFlLmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiKlwiKS5sZW5ndGh9KSxuLmdldEVsZW1lbnRzQnlDbGFzc05hbWU9Sy50ZXN0KGQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSksbi5nZXRCeUlkPWNlKGZ1bmN0aW9uKGUpe3JldHVybiBoLmFwcGVuZENoaWxkKGUpLmlkPWIsIWQuZ2V0RWxlbWVudHNCeU5hbWV8fCFkLmdldEVsZW1lbnRzQnlOYW1lKGIpLmxlbmd0aH0pLG4uZ2V0QnlJZD8oci5maWx0ZXIuSUQ9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5yZXBsYWNlKHRlLG5lKTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0QXR0cmlidXRlKFwiaWRcIik9PT10fX0sci5maW5kLklEPWZ1bmN0aW9uKGUsdCl7aWYodm9pZCAwIT09dC5nZXRFbGVtZW50QnlJZCYmZyl7dmFyIG49dC5nZXRFbGVtZW50QnlJZChlKTtyZXR1cm4gbj9bbl06W119fSk6KHIuZmlsdGVyLklEPWZ1bmN0aW9uKGUpe3ZhciB0PWUucmVwbGFjZSh0ZSxuZSk7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciBuPXZvaWQgMCE9PWUuZ2V0QXR0cmlidXRlTm9kZSYmZS5nZXRBdHRyaWJ1dGVOb2RlKFwiaWRcIik7cmV0dXJuIG4mJm4udmFsdWU9PT10fX0sci5maW5kLklEPWZ1bmN0aW9uKGUsdCl7aWYodm9pZCAwIT09dC5nZXRFbGVtZW50QnlJZCYmZyl7dmFyIG4scixpLG89dC5nZXRFbGVtZW50QnlJZChlKTtpZihvKXtpZigobj1vLmdldEF0dHJpYnV0ZU5vZGUoXCJpZFwiKSkmJm4udmFsdWU9PT1lKXJldHVybltvXTtmb3IoaT10LmdldEVsZW1lbnRzQnlOYW1lKGUpLHI9MDtvPWlbcisrXTspaWYoKG49by5nZXRBdHRyaWJ1dGVOb2RlKFwiaWRcIikpJiZuLnZhbHVlPT09ZSlyZXR1cm5bb119cmV0dXJuW119fSksci5maW5kLlRBRz1uLmdldEVsZW1lbnRzQnlUYWdOYW1lP2Z1bmN0aW9uKGUsdCl7cmV0dXJuIHZvaWQgMCE9PXQuZ2V0RWxlbWVudHNCeVRhZ05hbWU/dC5nZXRFbGVtZW50c0J5VGFnTmFtZShlKTpuLnFzYT90LnF1ZXJ5U2VsZWN0b3JBbGwoZSk6dm9pZCAwfTpmdW5jdGlvbihlLHQpe3ZhciBuLHI9W10saT0wLG89dC5nZXRFbGVtZW50c0J5VGFnTmFtZShlKTtpZihcIipcIj09PWUpe2Zvcig7bj1vW2krK107KTE9PT1uLm5vZGVUeXBlJiZyLnB1c2gobik7cmV0dXJuIHJ9cmV0dXJuIG99LHIuZmluZC5DTEFTUz1uLmdldEVsZW1lbnRzQnlDbGFzc05hbWUmJmZ1bmN0aW9uKGUsdCl7aWYodm9pZCAwIT09dC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lJiZnKXJldHVybiB0LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoZSl9LHk9W10sdj1bXSwobi5xc2E9Sy50ZXN0KGQucXVlcnlTZWxlY3RvckFsbCkpJiYoY2UoZnVuY3Rpb24oZSl7dmFyIHQ7aC5hcHBlbmRDaGlsZChlKS5pbm5lckhUTUw9XCI8YSBpZD0nXCIrYitcIic+PC9hPjxzZWxlY3QgaWQ9J1wiK2IrXCItXFxyXFxcXCcgbXNhbGxvd2NhcHR1cmU9Jyc+PG9wdGlvbiBzZWxlY3RlZD0nJz48L29wdGlvbj48L3NlbGVjdD5cIixlLnF1ZXJ5U2VsZWN0b3JBbGwoXCJbbXNhbGxvd2NhcHR1cmVePScnXVwiKS5sZW5ndGgmJnYucHVzaChcIlsqXiRdPVwiK00rXCIqKD86Jyd8XFxcIlxcXCIpXCIpLGUucXVlcnlTZWxlY3RvckFsbChcIltzZWxlY3RlZF1cIikubGVuZ3RofHx2LnB1c2goXCJcXFxcW1wiK00rXCIqKD86dmFsdWV8XCIrUitcIilcIiksZS5xdWVyeVNlbGVjdG9yQWxsKFwiW2lkfj1cIitiK1wiLV1cIikubGVuZ3RofHx2LnB1c2goXCJ+PVwiKSwodD1kLmNyZWF0ZUVsZW1lbnQoXCJpbnB1dFwiKSkuc2V0QXR0cmlidXRlKFwibmFtZVwiLFwiXCIpLGUuYXBwZW5kQ2hpbGQodCksZS5xdWVyeVNlbGVjdG9yQWxsKFwiW25hbWU9JyddXCIpLmxlbmd0aHx8di5wdXNoKFwiXFxcXFtcIitNK1wiKm5hbWVcIitNK1wiKj1cIitNK1wiKig/OicnfFxcXCJcXFwiKVwiKSxlLnF1ZXJ5U2VsZWN0b3JBbGwoXCI6Y2hlY2tlZFwiKS5sZW5ndGh8fHYucHVzaChcIjpjaGVja2VkXCIpLGUucXVlcnlTZWxlY3RvckFsbChcImEjXCIrYitcIisqXCIpLmxlbmd0aHx8di5wdXNoKFwiLiMuK1srfl1cIiksZS5xdWVyeVNlbGVjdG9yQWxsKFwiXFxcXFxcZlwiKSx2LnB1c2goXCJbXFxcXHJcXFxcblxcXFxmXVwiKX0pLGNlKGZ1bmN0aW9uKGUpe2UuaW5uZXJIVE1MPVwiPGEgaHJlZj0nJyBkaXNhYmxlZD0nZGlzYWJsZWQnPjwvYT48c2VsZWN0IGRpc2FibGVkPSdkaXNhYmxlZCc+PG9wdGlvbi8+PC9zZWxlY3Q+XCI7dmFyIHQ9ZC5jcmVhdGVFbGVtZW50KFwiaW5wdXRcIik7dC5zZXRBdHRyaWJ1dGUoXCJ0eXBlXCIsXCJoaWRkZW5cIiksZS5hcHBlbmRDaGlsZCh0KS5zZXRBdHRyaWJ1dGUoXCJuYW1lXCIsXCJEXCIpLGUucXVlcnlTZWxlY3RvckFsbChcIltuYW1lPWRdXCIpLmxlbmd0aCYmdi5wdXNoKFwibmFtZVwiK00rXCIqWypeJHwhfl0/PVwiKSwyIT09ZS5xdWVyeVNlbGVjdG9yQWxsKFwiOmVuYWJsZWRcIikubGVuZ3RoJiZ2LnB1c2goXCI6ZW5hYmxlZFwiLFwiOmRpc2FibGVkXCIpLGguYXBwZW5kQ2hpbGQoZSkuZGlzYWJsZWQ9ITAsMiE9PWUucXVlcnlTZWxlY3RvckFsbChcIjpkaXNhYmxlZFwiKS5sZW5ndGgmJnYucHVzaChcIjplbmFibGVkXCIsXCI6ZGlzYWJsZWRcIiksZS5xdWVyeVNlbGVjdG9yQWxsKFwiKiw6eFwiKSx2LnB1c2goXCIsLio6XCIpfSkpLChuLm1hdGNoZXNTZWxlY3Rvcj1LLnRlc3QobT1oLm1hdGNoZXN8fGgud2Via2l0TWF0Y2hlc1NlbGVjdG9yfHxoLm1vek1hdGNoZXNTZWxlY3Rvcnx8aC5vTWF0Y2hlc1NlbGVjdG9yfHxoLm1zTWF0Y2hlc1NlbGVjdG9yKSkmJmNlKGZ1bmN0aW9uKGUpe24uZGlzY29ubmVjdGVkTWF0Y2g9bS5jYWxsKGUsXCIqXCIpLG0uY2FsbChlLFwiW3MhPScnXTp4XCIpLHkucHVzaChcIiE9XCIsRil9KSx2PXYubGVuZ3RoJiZuZXcgUmVnRXhwKHYuam9pbihcInxcIikpLHk9eS5sZW5ndGgmJm5ldyBSZWdFeHAoeS5qb2luKFwifFwiKSksdD1LLnRlc3QoaC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbikseD10fHxLLnRlc3QoaC5jb250YWlucyk/ZnVuY3Rpb24oZSx0KXt2YXIgbj05PT09ZS5ub2RlVHlwZT9lLmRvY3VtZW50RWxlbWVudDplLHI9dCYmdC5wYXJlbnROb2RlO3JldHVybiBlPT09cnx8ISghcnx8MSE9PXIubm9kZVR5cGV8fCEobi5jb250YWlucz9uLmNvbnRhaW5zKHIpOmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24mJjE2JmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24ocikpKX06ZnVuY3Rpb24oZSx0KXtpZih0KWZvcig7dD10LnBhcmVudE5vZGU7KWlmKHQ9PT1lKXJldHVybiEwO3JldHVybiExfSxOPXQ/ZnVuY3Rpb24oZSx0KXtpZihlPT09dClyZXR1cm4gZj0hMCwwO3ZhciByPSFlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uLSF0LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uO3JldHVybiByfHwoMSYocj0oZS5vd25lckRvY3VtZW50fHxlKT09KHQub3duZXJEb2N1bWVudHx8dCk/ZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih0KToxKXx8IW4uc29ydERldGFjaGVkJiZ0LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGUpPT09cj9lPT1kfHxlLm93bmVyRG9jdW1lbnQ9PXcmJngodyxlKT8tMTp0PT1kfHx0Lm93bmVyRG9jdW1lbnQ9PXcmJngodyx0KT8xOmM/UChjLGUpLVAoYyx0KTowOjQmcj8tMToxKX06ZnVuY3Rpb24oZSx0KXtpZihlPT09dClyZXR1cm4gZj0hMCwwO3ZhciBuLHI9MCxpPWUucGFyZW50Tm9kZSxvPXQucGFyZW50Tm9kZSxhPVtlXSxzPVt0XTtpZighaXx8IW8pcmV0dXJuIGU9PWQ/LTE6dD09ZD8xOmk/LTE6bz8xOmM/UChjLGUpLVAoYyx0KTowO2lmKGk9PT1vKXJldHVybiBwZShlLHQpO2ZvcihuPWU7bj1uLnBhcmVudE5vZGU7KWEudW5zaGlmdChuKTtmb3Iobj10O249bi5wYXJlbnROb2RlOylzLnVuc2hpZnQobik7Zm9yKDthW3JdPT09c1tyXTspcisrO3JldHVybiByP3BlKGFbcl0sc1tyXSk6YVtyXT09dz8tMTpzW3JdPT13PzE6MH0sZCk6ZH0sc2UubWF0Y2hlcz1mdW5jdGlvbihlLHQpe3JldHVybiBzZShlLG51bGwsbnVsbCx0KX0sc2UubWF0Y2hlc1NlbGVjdG9yPWZ1bmN0aW9uKGUsdCl7aWYocChlKSxuLm1hdGNoZXNTZWxlY3RvciYmZyYmIUFbdCtcIiBcIl0mJigheXx8IXkudGVzdCh0KSkmJighdnx8IXYudGVzdCh0KSkpdHJ5e3ZhciByPW0uY2FsbChlLHQpO2lmKHJ8fG4uZGlzY29ubmVjdGVkTWF0Y2h8fGUuZG9jdW1lbnQmJjExIT09ZS5kb2N1bWVudC5ub2RlVHlwZSlyZXR1cm4gcn1jYXRjaChlKXtBKHQsITApfXJldHVybiBzZSh0LGQsbnVsbCxbZV0pLmxlbmd0aD4wfSxzZS5jb250YWlucz1mdW5jdGlvbihlLHQpe3JldHVybihlLm93bmVyRG9jdW1lbnR8fGUpIT1kJiZwKGUpLHgoZSx0KX0sc2UuYXR0cj1mdW5jdGlvbihlLHQpeyhlLm93bmVyRG9jdW1lbnR8fGUpIT1kJiZwKGUpO3ZhciBpPXIuYXR0ckhhbmRsZVt0LnRvTG93ZXJDYXNlKCldLG89aSYmai5jYWxsKHIuYXR0ckhhbmRsZSx0LnRvTG93ZXJDYXNlKCkpP2koZSx0LCFnKTp2b2lkIDA7cmV0dXJuIHZvaWQgMCE9PW8/bzpuLmF0dHJpYnV0ZXN8fCFnP2UuZ2V0QXR0cmlidXRlKHQpOihvPWUuZ2V0QXR0cmlidXRlTm9kZSh0KSkmJm8uc3BlY2lmaWVkP28udmFsdWU6bnVsbH0sc2UuZXNjYXBlPWZ1bmN0aW9uKGUpe3JldHVybihlK1wiXCIpLnJlcGxhY2UocmUsaWUpfSxzZS5lcnJvcj1mdW5jdGlvbihlKXt0aHJvdyBuZXcgRXJyb3IoXCJTeW50YXggZXJyb3IsIHVucmVjb2duaXplZCBleHByZXNzaW9uOiBcIitlKX0sc2UudW5pcXVlU29ydD1mdW5jdGlvbihlKXt2YXIgdCxyPVtdLGk9MCxvPTA7aWYoZj0hbi5kZXRlY3REdXBsaWNhdGVzLGM9IW4uc29ydFN0YWJsZSYmZS5zbGljZSgwKSxlLnNvcnQoTiksZil7Zm9yKDt0PWVbbysrXTspdD09PWVbb10mJihpPXIucHVzaChvKSk7Zm9yKDtpLS07KWUuc3BsaWNlKHJbaV0sMSl9cmV0dXJuIGM9bnVsbCxlfSxpPXNlLmdldFRleHQ9ZnVuY3Rpb24oZSl7dmFyIHQsbj1cIlwiLHI9MCxvPWUubm9kZVR5cGU7aWYobyl7aWYoMT09PW98fDk9PT1vfHwxMT09PW8pe2lmKFwic3RyaW5nXCI9PXR5cGVvZiBlLnRleHRDb250ZW50KXJldHVybiBlLnRleHRDb250ZW50O2ZvcihlPWUuZmlyc3RDaGlsZDtlO2U9ZS5uZXh0U2libGluZyluKz1pKGUpfWVsc2UgaWYoMz09PW98fDQ9PT1vKXJldHVybiBlLm5vZGVWYWx1ZX1lbHNlIGZvcig7dD1lW3IrK107KW4rPWkodCk7cmV0dXJuIG59LChyPXNlLnNlbGVjdG9ycz17Y2FjaGVMZW5ndGg6NTAsY3JlYXRlUHNldWRvOmxlLG1hdGNoOkcsYXR0ckhhbmRsZTp7fSxmaW5kOnt9LHJlbGF0aXZlOntcIj5cIjp7ZGlyOlwicGFyZW50Tm9kZVwiLGZpcnN0OiEwfSxcIiBcIjp7ZGlyOlwicGFyZW50Tm9kZVwifSxcIitcIjp7ZGlyOlwicHJldmlvdXNTaWJsaW5nXCIsZmlyc3Q6ITB9LFwiflwiOntkaXI6XCJwcmV2aW91c1NpYmxpbmdcIn19LHByZUZpbHRlcjp7QVRUUjpmdW5jdGlvbihlKXtyZXR1cm4gZVsxXT1lWzFdLnJlcGxhY2UodGUsbmUpLGVbM109KGVbM118fGVbNF18fGVbNV18fFwiXCIpLnJlcGxhY2UodGUsbmUpLFwifj1cIj09PWVbMl0mJihlWzNdPVwiIFwiK2VbM10rXCIgXCIpLGUuc2xpY2UoMCw0KX0sQ0hJTEQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGVbMV09ZVsxXS50b0xvd2VyQ2FzZSgpLFwibnRoXCI9PT1lWzFdLnNsaWNlKDAsMyk/KGVbM118fHNlLmVycm9yKGVbMF0pLGVbNF09KyhlWzRdP2VbNV0rKGVbNl18fDEpOjIqKFwiZXZlblwiPT09ZVszXXx8XCJvZGRcIj09PWVbM10pKSxlWzVdPSsoZVs3XStlWzhdfHxcIm9kZFwiPT09ZVszXSkpOmVbM10mJnNlLmVycm9yKGVbMF0pLGV9LFBTRVVETzpmdW5jdGlvbihlKXt2YXIgdCxuPSFlWzZdJiZlWzJdO3JldHVybiBHLkNISUxELnRlc3QoZVswXSk/bnVsbDooZVszXT9lWzJdPWVbNF18fGVbNV18fFwiXCI6biYmWC50ZXN0KG4pJiYodD1hKG4sITApKSYmKHQ9bi5pbmRleE9mKFwiKVwiLG4ubGVuZ3RoLXQpLW4ubGVuZ3RoKSYmKGVbMF09ZVswXS5zbGljZSgwLHQpLGVbMl09bi5zbGljZSgwLHQpKSxlLnNsaWNlKDAsMykpfX0sZmlsdGVyOntUQUc6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5yZXBsYWNlKHRlLG5lKS50b0xvd2VyQ2FzZSgpO3JldHVyblwiKlwiPT09ZT9mdW5jdGlvbigpe3JldHVybiEwfTpmdW5jdGlvbihlKXtyZXR1cm4gZS5ub2RlTmFtZSYmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09dH19LENMQVNTOmZ1bmN0aW9uKGUpe3ZhciB0PUVbZStcIiBcIl07cmV0dXJuIHR8fCh0PW5ldyBSZWdFeHAoXCIoXnxcIitNK1wiKVwiK2UrXCIoXCIrTStcInwkKVwiKSkmJkUoZSxmdW5jdGlvbihlKXtyZXR1cm4gdC50ZXN0KFwic3RyaW5nXCI9PXR5cGVvZiBlLmNsYXNzTmFtZSYmZS5jbGFzc05hbWV8fHZvaWQgMCE9PWUuZ2V0QXR0cmlidXRlJiZlLmdldEF0dHJpYnV0ZShcImNsYXNzXCIpfHxcIlwiKX0pfSxBVFRSOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gZnVuY3Rpb24ocil7dmFyIGk9c2UuYXR0cihyLGUpO3JldHVybiBudWxsPT1pP1wiIT1cIj09PXQ6IXR8fChpKz1cIlwiLFwiPVwiPT09dD9pPT09bjpcIiE9XCI9PT10P2khPT1uOlwiXj1cIj09PXQ/biYmMD09PWkuaW5kZXhPZihuKTpcIio9XCI9PT10P24mJmkuaW5kZXhPZihuKT4tMTpcIiQ9XCI9PT10P24mJmkuc2xpY2UoLW4ubGVuZ3RoKT09PW46XCJ+PVwiPT09dD8oXCIgXCIraS5yZXBsYWNlKEIsXCIgXCIpK1wiIFwiKS5pbmRleE9mKG4pPi0xOlwifD1cIj09PXQmJihpPT09bnx8aS5zbGljZSgwLG4ubGVuZ3RoKzEpPT09bitcIi1cIikpfX0sQ0hJTEQ6ZnVuY3Rpb24oZSx0LG4scixpKXt2YXIgbz1cIm50aFwiIT09ZS5zbGljZSgwLDMpLGE9XCJsYXN0XCIhPT1lLnNsaWNlKC00KSxzPVwib2YtdHlwZVwiPT09dDtyZXR1cm4gMT09PXImJjA9PT1pP2Z1bmN0aW9uKGUpe3JldHVybiEhZS5wYXJlbnROb2RlfTpmdW5jdGlvbih0LG4sdSl7dmFyIGwsYyxmLHAsZCxoLGc9byE9PWE/XCJuZXh0U2libGluZ1wiOlwicHJldmlvdXNTaWJsaW5nXCIsdj10LnBhcmVudE5vZGUseT1zJiZ0Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksbT0hdSYmIXMseD0hMTtpZih2KXtpZihvKXtmb3IoO2c7KXtmb3IocD10O3A9cFtnXTspaWYocz9wLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT15OjE9PT1wLm5vZGVUeXBlKXJldHVybiExO2g9Zz1cIm9ubHlcIj09PWUmJiFoJiZcIm5leHRTaWJsaW5nXCJ9cmV0dXJuITB9aWYoaD1bYT92LmZpcnN0Q2hpbGQ6di5sYXN0Q2hpbGRdLGEmJm0pe2Zvcih4PShkPShsPShjPShmPShwPXYpW2JdfHwocFtiXT17fSkpW3AudW5pcXVlSURdfHwoZltwLnVuaXF1ZUlEXT17fSkpW2VdfHxbXSlbMF09PT1UJiZsWzFdKSYmbFsyXSxwPWQmJnYuY2hpbGROb2Rlc1tkXTtwPSsrZCYmcCYmcFtnXXx8KHg9ZD0wKXx8aC5wb3AoKTspaWYoMT09PXAubm9kZVR5cGUmJisreCYmcD09PXQpe2NbZV09W1QsZCx4XTticmVha319ZWxzZSBpZihtJiYoeD1kPShsPShjPShmPShwPXQpW2JdfHwocFtiXT17fSkpW3AudW5pcXVlSURdfHwoZltwLnVuaXF1ZUlEXT17fSkpW2VdfHxbXSlbMF09PT1UJiZsWzFdKSwhMT09PXgpZm9yKDsocD0rK2QmJnAmJnBbZ118fCh4PWQ9MCl8fGgucG9wKCkpJiYoKHM/cC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpIT09eToxIT09cC5ub2RlVHlwZSl8fCErK3h8fChtJiYoKGM9KGY9cFtiXXx8KHBbYl09e30pKVtwLnVuaXF1ZUlEXXx8KGZbcC51bmlxdWVJRF09e30pKVtlXT1bVCx4XSkscCE9PXQpKTspO3JldHVybih4LT1pKT09PXJ8fHglcj09MCYmeC9yPj0wfX19LFBTRVVETzpmdW5jdGlvbihlLHQpe3ZhciBuLGk9ci5wc2V1ZG9zW2VdfHxyLnNldEZpbHRlcnNbZS50b0xvd2VyQ2FzZSgpXXx8c2UuZXJyb3IoXCJ1bnN1cHBvcnRlZCBwc2V1ZG86IFwiK2UpO3JldHVybiBpW2JdP2kodCk6aS5sZW5ndGg+MT8obj1bZSxlLFwiXCIsdF0sci5zZXRGaWx0ZXJzLmhhc093blByb3BlcnR5KGUudG9Mb3dlckNhc2UoKSk/bGUoZnVuY3Rpb24oZSxuKXtmb3IodmFyIHIsbz1pKGUsdCksYT1vLmxlbmd0aDthLS07KWVbcj1QKGUsb1thXSldPSEobltyXT1vW2FdKX0pOmZ1bmN0aW9uKGUpe3JldHVybiBpKGUsMCxuKX0pOml9fSxwc2V1ZG9zOntub3Q6bGUoZnVuY3Rpb24oZSl7dmFyIHQ9W10sbj1bXSxyPXMoZS5yZXBsYWNlKCQsXCIkMVwiKSk7cmV0dXJuIHJbYl0/bGUoZnVuY3Rpb24oZSx0LG4saSl7Zm9yKHZhciBvLGE9cihlLG51bGwsaSxbXSkscz1lLmxlbmd0aDtzLS07KShvPWFbc10pJiYoZVtzXT0hKHRbc109bykpfSk6ZnVuY3Rpb24oZSxpLG8pe3JldHVybiB0WzBdPWUscih0LG51bGwsbyxuKSx0WzBdPW51bGwsIW4ucG9wKCl9fSksaGFzOmxlKGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gc2UoZSx0KS5sZW5ndGg+MH19KSxjb250YWluczpsZShmdW5jdGlvbihlKXtyZXR1cm4gZT1lLnJlcGxhY2UodGUsbmUpLGZ1bmN0aW9uKHQpe3JldHVybih0LnRleHRDb250ZW50fHxpKHQpKS5pbmRleE9mKGUpPi0xfX0pLGxhbmc6bGUoZnVuY3Rpb24oZSl7cmV0dXJuIFYudGVzdChlfHxcIlwiKXx8c2UuZXJyb3IoXCJ1bnN1cHBvcnRlZCBsYW5nOiBcIitlKSxlPWUucmVwbGFjZSh0ZSxuZSkudG9Mb3dlckNhc2UoKSxmdW5jdGlvbih0KXt2YXIgbjtkb3tpZihuPWc/dC5sYW5nOnQuZ2V0QXR0cmlidXRlKFwieG1sOmxhbmdcIil8fHQuZ2V0QXR0cmlidXRlKFwibGFuZ1wiKSlyZXR1cm4obj1uLnRvTG93ZXJDYXNlKCkpPT09ZXx8MD09PW4uaW5kZXhPZihlK1wiLVwiKX13aGlsZSgodD10LnBhcmVudE5vZGUpJiYxPT09dC5ub2RlVHlwZSk7cmV0dXJuITF9fSksdGFyZ2V0OmZ1bmN0aW9uKHQpe3ZhciBuPWUubG9jYXRpb24mJmUubG9jYXRpb24uaGFzaDtyZXR1cm4gbiYmbi5zbGljZSgxKT09PXQuaWR9LHJvb3Q6ZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT1ofSxmb2N1czpmdW5jdGlvbihlKXtyZXR1cm4gZT09PWQuYWN0aXZlRWxlbWVudCYmKCFkLmhhc0ZvY3VzfHxkLmhhc0ZvY3VzKCkpJiYhIShlLnR5cGV8fGUuaHJlZnx8fmUudGFiSW5kZXgpfSxlbmFibGVkOmdlKCExKSxkaXNhYmxlZDpnZSghMCksY2hlY2tlZDpmdW5jdGlvbihlKXt2YXIgdD1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuXCJpbnB1dFwiPT09dCYmISFlLmNoZWNrZWR8fFwib3B0aW9uXCI9PT10JiYhIWUuc2VsZWN0ZWR9LHNlbGVjdGVkOmZ1bmN0aW9uKGUpe3JldHVybiBlLnBhcmVudE5vZGUmJmUucGFyZW50Tm9kZS5zZWxlY3RlZEluZGV4LCEwPT09ZS5zZWxlY3RlZH0sZW1wdHk6ZnVuY3Rpb24oZSl7Zm9yKGU9ZS5maXJzdENoaWxkO2U7ZT1lLm5leHRTaWJsaW5nKWlmKGUubm9kZVR5cGU8NilyZXR1cm4hMTtyZXR1cm4hMH0scGFyZW50OmZ1bmN0aW9uKGUpe3JldHVybiFyLnBzZXVkb3MuZW1wdHkoZSl9LGhlYWRlcjpmdW5jdGlvbihlKXtyZXR1cm4gSi50ZXN0KGUubm9kZU5hbWUpfSxpbnB1dDpmdW5jdGlvbihlKXtyZXR1cm4gUS50ZXN0KGUubm9kZU5hbWUpfSxidXR0b246ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVyblwiaW5wdXRcIj09PXQmJlwiYnV0dG9uXCI9PT1lLnR5cGV8fFwiYnV0dG9uXCI9PT10fSx0ZXh0OmZ1bmN0aW9uKGUpe3ZhciB0O3JldHVyblwiaW5wdXRcIj09PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmXCJ0ZXh0XCI9PT1lLnR5cGUmJihudWxsPT0odD1lLmdldEF0dHJpYnV0ZShcInR5cGVcIikpfHxcInRleHRcIj09PXQudG9Mb3dlckNhc2UoKSl9LGZpcnN0OnZlKGZ1bmN0aW9uKCl7cmV0dXJuWzBdfSksbGFzdDp2ZShmdW5jdGlvbihlLHQpe3JldHVyblt0LTFdfSksZXE6dmUoZnVuY3Rpb24oZSx0LG4pe3JldHVybltuPDA/bit0Om5dfSksZXZlbjp2ZShmdW5jdGlvbihlLHQpe2Zvcih2YXIgbj0wO248dDtuKz0yKWUucHVzaChuKTtyZXR1cm4gZX0pLG9kZDp2ZShmdW5jdGlvbihlLHQpe2Zvcih2YXIgbj0xO248dDtuKz0yKWUucHVzaChuKTtyZXR1cm4gZX0pLGx0OnZlKGZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIHI9bjwwP24rdDpuPnQ/dDpuOy0tcj49MDspZS5wdXNoKHIpO3JldHVybiBlfSksZ3Q6dmUoZnVuY3Rpb24oZSx0LG4pe2Zvcih2YXIgcj1uPDA/bit0Om47KytyPHQ7KWUucHVzaChyKTtyZXR1cm4gZX0pfX0pLnBzZXVkb3MubnRoPXIucHNldWRvcy5lcSx7cmFkaW86ITAsY2hlY2tib3g6ITAsZmlsZTohMCxwYXNzd29yZDohMCxpbWFnZTohMH0pci5wc2V1ZG9zW3RdPWRlKHQpO2Zvcih0IGlue3N1Ym1pdDohMCxyZXNldDohMH0pci5wc2V1ZG9zW3RdPWhlKHQpO2Z1bmN0aW9uIG1lKCl7fWZ1bmN0aW9uIHhlKGUpe2Zvcih2YXIgdD0wLG49ZS5sZW5ndGgscj1cIlwiO3Q8bjt0Kyspcis9ZVt0XS52YWx1ZTtyZXR1cm4gcn1mdW5jdGlvbiBiZShlLHQsbil7dmFyIHI9dC5kaXIsaT10Lm5leHQsbz1pfHxyLGE9biYmXCJwYXJlbnROb2RlXCI9PT1vLHM9QysrO3JldHVybiB0LmZpcnN0P2Z1bmN0aW9uKHQsbixpKXtmb3IoO3Q9dFtyXTspaWYoMT09PXQubm9kZVR5cGV8fGEpcmV0dXJuIGUodCxuLGkpO3JldHVybiExfTpmdW5jdGlvbih0LG4sdSl7dmFyIGwsYyxmLHA9W1Qsc107aWYodSl7Zm9yKDt0PXRbcl07KWlmKCgxPT09dC5ub2RlVHlwZXx8YSkmJmUodCxuLHUpKXJldHVybiEwfWVsc2UgZm9yKDt0PXRbcl07KWlmKDE9PT10Lm5vZGVUeXBlfHxhKWlmKGM9KGY9dFtiXXx8KHRbYl09e30pKVt0LnVuaXF1ZUlEXXx8KGZbdC51bmlxdWVJRF09e30pLGkmJmk9PT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpdD10W3JdfHx0O2Vsc2V7aWYoKGw9Y1tvXSkmJmxbMF09PT1UJiZsWzFdPT09cylyZXR1cm4gcFsyXT1sWzJdO2lmKGNbb109cCxwWzJdPWUodCxuLHUpKXJldHVybiEwfXJldHVybiExfX1mdW5jdGlvbiB3ZShlKXtyZXR1cm4gZS5sZW5ndGg+MT9mdW5jdGlvbih0LG4scil7Zm9yKHZhciBpPWUubGVuZ3RoO2ktLTspaWYoIWVbaV0odCxuLHIpKXJldHVybiExO3JldHVybiEwfTplWzBdfWZ1bmN0aW9uIFRlKGUsdCxuLHIsaSl7Zm9yKHZhciBvLGE9W10scz0wLHU9ZS5sZW5ndGgsbD1udWxsIT10O3M8dTtzKyspKG89ZVtzXSkmJihuJiYhbihvLHIsaSl8fChhLnB1c2gobyksbCYmdC5wdXNoKHMpKSk7cmV0dXJuIGF9ZnVuY3Rpb24gQ2UoZSx0LG4scixpLG8pe3JldHVybiByJiYhcltiXSYmKHI9Q2UocikpLGkmJiFpW2JdJiYoaT1DZShpLG8pKSxsZShmdW5jdGlvbihvLGEscyx1KXt2YXIgbCxjLGYscD1bXSxkPVtdLGg9YS5sZW5ndGgsZz1vfHxmdW5jdGlvbihlLHQsbil7Zm9yKHZhciByPTAsaT10Lmxlbmd0aDtyPGk7cisrKXNlKGUsdFtyXSxuKTtyZXR1cm4gbn0odHx8XCIqXCIscy5ub2RlVHlwZT9bc106cyxbXSksdj0hZXx8IW8mJnQ/ZzpUZShnLHAsZSxzLHUpLHk9bj9pfHwobz9lOmh8fHIpP1tdOmE6djtpZihuJiZuKHYseSxzLHUpLHIpZm9yKGw9VGUoeSxkKSxyKGwsW10scyx1KSxjPWwubGVuZ3RoO2MtLTspKGY9bFtjXSkmJih5W2RbY11dPSEodltkW2NdXT1mKSk7aWYobyl7aWYoaXx8ZSl7aWYoaSl7Zm9yKGw9W10sYz15Lmxlbmd0aDtjLS07KShmPXlbY10pJiZsLnB1c2godltjXT1mKTtpKG51bGwseT1bXSxsLHUpfWZvcihjPXkubGVuZ3RoO2MtLTspKGY9eVtjXSkmJihsPWk/UChvLGYpOnBbY10pPi0xJiYob1tsXT0hKGFbbF09ZikpfX1lbHNlIHk9VGUoeT09PWE/eS5zcGxpY2UoaCx5Lmxlbmd0aCk6eSksaT9pKG51bGwsYSx5LHUpOkguYXBwbHkoYSx5KX0pfWZ1bmN0aW9uIEVlKGUpe2Zvcih2YXIgdCxuLGksbz1lLmxlbmd0aCxhPXIucmVsYXRpdmVbZVswXS50eXBlXSxzPWF8fHIucmVsYXRpdmVbXCIgXCJdLHU9YT8xOjAsYz1iZShmdW5jdGlvbihlKXtyZXR1cm4gZT09PXR9LHMsITApLGY9YmUoZnVuY3Rpb24oZSl7cmV0dXJuIFAodCxlKT4tMX0scywhMCkscD1bZnVuY3Rpb24oZSxuLHIpe3ZhciBpPSFhJiYocnx8biE9PWwpfHwoKHQ9bikubm9kZVR5cGU/YyhlLG4scik6ZihlLG4scikpO3JldHVybiB0PW51bGwsaX1dO3U8bzt1KyspaWYobj1yLnJlbGF0aXZlW2VbdV0udHlwZV0pcD1bYmUod2UocCksbildO2Vsc2V7aWYoKG49ci5maWx0ZXJbZVt1XS50eXBlXS5hcHBseShudWxsLGVbdV0ubWF0Y2hlcykpW2JdKXtmb3IoaT0rK3U7aTxvJiYhci5yZWxhdGl2ZVtlW2ldLnR5cGVdO2krKyk7cmV0dXJuIENlKHU+MSYmd2UocCksdT4xJiZ4ZShlLnNsaWNlKDAsdS0xKS5jb25jYXQoe3ZhbHVlOlwiIFwiPT09ZVt1LTJdLnR5cGU/XCIqXCI6XCJcIn0pKS5yZXBsYWNlKCQsXCIkMVwiKSxuLHU8aSYmRWUoZS5zbGljZSh1LGkpKSxpPG8mJkVlKGU9ZS5zbGljZShpKSksaTxvJiZ4ZShlKSl9cC5wdXNoKG4pfXJldHVybiB3ZShwKX1yZXR1cm4gbWUucHJvdG90eXBlPXIuZmlsdGVycz1yLnBzZXVkb3Msci5zZXRGaWx0ZXJzPW5ldyBtZSxhPXNlLnRva2VuaXplPWZ1bmN0aW9uKGUsdCl7dmFyIG4saSxvLGEscyx1LGwsYz1TW2UrXCIgXCJdO2lmKGMpcmV0dXJuIHQ/MDpjLnNsaWNlKDApO2ZvcihzPWUsdT1bXSxsPXIucHJlRmlsdGVyO3M7KXtmb3IoYSBpbiBuJiYhKGk9Xy5leGVjKHMpKXx8KGkmJihzPXMuc2xpY2UoaVswXS5sZW5ndGgpfHxzKSx1LnB1c2gobz1bXSkpLG49ITEsKGk9ei5leGVjKHMpKSYmKG49aS5zaGlmdCgpLG8ucHVzaCh7dmFsdWU6bix0eXBlOmlbMF0ucmVwbGFjZSgkLFwiIFwiKX0pLHM9cy5zbGljZShuLmxlbmd0aCkpLHIuZmlsdGVyKSEoaT1HW2FdLmV4ZWMocykpfHxsW2FdJiYhKGk9bFthXShpKSl8fChuPWkuc2hpZnQoKSxvLnB1c2goe3ZhbHVlOm4sdHlwZTphLG1hdGNoZXM6aX0pLHM9cy5zbGljZShuLmxlbmd0aCkpO2lmKCFuKWJyZWFrfXJldHVybiB0P3MubGVuZ3RoOnM/c2UuZXJyb3IoZSk6UyhlLHUpLnNsaWNlKDApfSxzPXNlLmNvbXBpbGU9ZnVuY3Rpb24oZSx0KXt2YXIgbixpPVtdLG89W10scz1rW2UrXCIgXCJdO2lmKCFzKXtmb3IodHx8KHQ9YShlKSksbj10Lmxlbmd0aDtuLS07KShzPUVlKHRbbl0pKVtiXT9pLnB1c2gocyk6by5wdXNoKHMpOyhzPWsoZSxmdW5jdGlvbihlLHQpe3ZhciBuPXQubGVuZ3RoPjAsaT1lLmxlbmd0aD4wLG89ZnVuY3Rpb24obyxhLHMsdSxjKXt2YXIgZixoLHYseT0wLG09XCIwXCIseD1vJiZbXSxiPVtdLHc9bCxDPW98fGkmJnIuZmluZC5UQUcoXCIqXCIsYyksRT1UKz1udWxsPT13PzE6TWF0aC5yYW5kb20oKXx8LjEsUz1DLmxlbmd0aDtmb3IoYyYmKGw9YT09ZHx8YXx8Yyk7bSE9PVMmJm51bGwhPShmPUNbbV0pO20rKyl7aWYoaSYmZil7Zm9yKGg9MCxhfHxmLm93bmVyRG9jdW1lbnQ9PWR8fChwKGYpLHM9IWcpO3Y9ZVtoKytdOylpZih2KGYsYXx8ZCxzKSl7dS5wdXNoKGYpO2JyZWFrfWMmJihUPUUpfW4mJigoZj0hdiYmZikmJnktLSxvJiZ4LnB1c2goZikpfWlmKHkrPW0sbiYmbSE9PXkpe2ZvcihoPTA7dj10W2grK107KXYoeCxiLGEscyk7aWYobyl7aWYoeT4wKWZvcig7bS0tOyl4W21dfHxiW21dfHwoYlttXT1xLmNhbGwodSkpO2I9VGUoYil9SC5hcHBseSh1LGIpLGMmJiFvJiZiLmxlbmd0aD4wJiZ5K3QubGVuZ3RoPjEmJnNlLnVuaXF1ZVNvcnQodSl9cmV0dXJuIGMmJihUPUUsbD13KSx4fTtyZXR1cm4gbj9sZShvKTpvfShvLGkpKSkuc2VsZWN0b3I9ZX1yZXR1cm4gc30sdT1zZS5zZWxlY3Q9ZnVuY3Rpb24oZSx0LG4saSl7dmFyIG8sdSxsLGMsZixwPVwiZnVuY3Rpb25cIj09dHlwZW9mIGUmJmUsZD0haSYmYShlPXAuc2VsZWN0b3J8fGUpO2lmKG49bnx8W10sMT09PWQubGVuZ3RoKXtpZigodT1kWzBdPWRbMF0uc2xpY2UoMCkpLmxlbmd0aD4yJiZcIklEXCI9PT0obD11WzBdKS50eXBlJiY5PT09dC5ub2RlVHlwZSYmZyYmci5yZWxhdGl2ZVt1WzFdLnR5cGVdKXtpZighKHQ9KHIuZmluZC5JRChsLm1hdGNoZXNbMF0ucmVwbGFjZSh0ZSxuZSksdCl8fFtdKVswXSkpcmV0dXJuIG47cCYmKHQ9dC5wYXJlbnROb2RlKSxlPWUuc2xpY2UodS5zaGlmdCgpLnZhbHVlLmxlbmd0aCl9Zm9yKG89Ry5uZWVkc0NvbnRleHQudGVzdChlKT8wOnUubGVuZ3RoO28tLSYmKGw9dVtvXSwhci5yZWxhdGl2ZVtjPWwudHlwZV0pOylpZigoZj1yLmZpbmRbY10pJiYoaT1mKGwubWF0Y2hlc1swXS5yZXBsYWNlKHRlLG5lKSxlZS50ZXN0KHVbMF0udHlwZSkmJnllKHQucGFyZW50Tm9kZSl8fHQpKSl7aWYodS5zcGxpY2UobywxKSwhKGU9aS5sZW5ndGgmJnhlKHUpKSlyZXR1cm4gSC5hcHBseShuLGkpLG47YnJlYWt9fXJldHVybihwfHxzKGUsZCkpKGksdCwhZyxuLCF0fHxlZS50ZXN0KGUpJiZ5ZSh0LnBhcmVudE5vZGUpfHx0KSxufSxuLnNvcnRTdGFibGU9Yi5zcGxpdChcIlwiKS5zb3J0KE4pLmpvaW4oXCJcIik9PT1iLG4uZGV0ZWN0RHVwbGljYXRlcz0hIWYscCgpLG4uc29ydERldGFjaGVkPWNlKGZ1bmN0aW9uKGUpe3JldHVybiAxJmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24oZC5jcmVhdGVFbGVtZW50KFwiZmllbGRzZXRcIikpfSksY2UoZnVuY3Rpb24oZSl7cmV0dXJuIGUuaW5uZXJIVE1MPVwiPGEgaHJlZj0nIyc+PC9hPlwiLFwiI1wiPT09ZS5maXJzdENoaWxkLmdldEF0dHJpYnV0ZShcImhyZWZcIil9KXx8ZmUoXCJ0eXBlfGhyZWZ8aGVpZ2h0fHdpZHRoXCIsZnVuY3Rpb24oZSx0LG4pe2lmKCFuKXJldHVybiBlLmdldEF0dHJpYnV0ZSh0LFwidHlwZVwiPT09dC50b0xvd2VyQ2FzZSgpPzE6Mil9KSxuLmF0dHJpYnV0ZXMmJmNlKGZ1bmN0aW9uKGUpe3JldHVybiBlLmlubmVySFRNTD1cIjxpbnB1dC8+XCIsZS5maXJzdENoaWxkLnNldEF0dHJpYnV0ZShcInZhbHVlXCIsXCJcIiksXCJcIj09PWUuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoXCJ2YWx1ZVwiKX0pfHxmZShcInZhbHVlXCIsZnVuY3Rpb24oZSx0LG4pe2lmKCFuJiZcImlucHV0XCI9PT1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpcmV0dXJuIGUuZGVmYXVsdFZhbHVlfSksY2UoZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PWUuZ2V0QXR0cmlidXRlKFwiZGlzYWJsZWRcIil9KXx8ZmUoUixmdW5jdGlvbihlLHQsbil7dmFyIHI7aWYoIW4pcmV0dXJuITA9PT1lW3RdP3QudG9Mb3dlckNhc2UoKToocj1lLmdldEF0dHJpYnV0ZU5vZGUodCkpJiZyLnNwZWNpZmllZD9yLnZhbHVlOm51bGx9KSxzZX0oZSk7Yi5maW5kPVQsYi5leHByPVQuc2VsZWN0b3JzLGIuZXhwcltcIjpcIl09Yi5leHByLnBzZXVkb3MsYi51bmlxdWVTb3J0PWIudW5pcXVlPVQudW5pcXVlU29ydCxiLnRleHQ9VC5nZXRUZXh0LGIuaXNYTUxEb2M9VC5pc1hNTCxiLmNvbnRhaW5zPVQuY29udGFpbnMsYi5lc2NhcGVTZWxlY3Rvcj1ULmVzY2FwZTt2YXIgQz1mdW5jdGlvbihlLHQsbil7Zm9yKHZhciByPVtdLGk9dm9pZCAwIT09bjsoZT1lW3RdKSYmOSE9PWUubm9kZVR5cGU7KWlmKDE9PT1lLm5vZGVUeXBlKXtpZihpJiZiKGUpLmlzKG4pKWJyZWFrO3IucHVzaChlKX1yZXR1cm4gcn0sRT1mdW5jdGlvbihlLHQpe2Zvcih2YXIgbj1bXTtlO2U9ZS5uZXh0U2libGluZykxPT09ZS5ub2RlVHlwZSYmZSE9PXQmJm4ucHVzaChlKTtyZXR1cm4gbn0sUz1iLmV4cHIubWF0Y2gubmVlZHNDb250ZXh0O2Z1bmN0aW9uIGsoZSx0KXtyZXR1cm4gZS5ub2RlTmFtZSYmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09dC50b0xvd2VyQ2FzZSgpfXZhciBBPS9ePChbYS16XVteXFwvXFwwPjpcXHgyMFxcdFxcclxcblxcZl0qKVtcXHgyMFxcdFxcclxcblxcZl0qXFwvPz4oPzo8XFwvXFwxPnwpJC9pO2Z1bmN0aW9uIE4oZSx0LG4pe3JldHVybiBoKHQpP2IuZ3JlcChlLGZ1bmN0aW9uKGUscil7cmV0dXJuISF0LmNhbGwoZSxyLGUpIT09bn0pOnQubm9kZVR5cGU/Yi5ncmVwKGUsZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT10IT09bn0pOlwic3RyaW5nXCIhPXR5cGVvZiB0P2IuZ3JlcChlLGZ1bmN0aW9uKGUpe3JldHVybiBzLmNhbGwodCxlKT4tMSE9PW59KTpiLmZpbHRlcih0LGUsbil9Yi5maWx0ZXI9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPXRbMF07cmV0dXJuIG4mJihlPVwiOm5vdChcIitlK1wiKVwiKSwxPT09dC5sZW5ndGgmJjE9PT1yLm5vZGVUeXBlP2IuZmluZC5tYXRjaGVzU2VsZWN0b3IocixlKT9bcl06W106Yi5maW5kLm1hdGNoZXMoZSxiLmdyZXAodCxmdW5jdGlvbihlKXtyZXR1cm4gMT09PWUubm9kZVR5cGV9KSl9LGIuZm4uZXh0ZW5kKHtmaW5kOmZ1bmN0aW9uKGUpe3ZhciB0LG4scj10aGlzLmxlbmd0aCxpPXRoaXM7aWYoXCJzdHJpbmdcIiE9dHlwZW9mIGUpcmV0dXJuIHRoaXMucHVzaFN0YWNrKGIoZSkuZmlsdGVyKGZ1bmN0aW9uKCl7Zm9yKHQ9MDt0PHI7dCsrKWlmKGIuY29udGFpbnMoaVt0XSx0aGlzKSlyZXR1cm4hMH0pKTtmb3Iobj10aGlzLnB1c2hTdGFjayhbXSksdD0wO3Q8cjt0KyspYi5maW5kKGUsaVt0XSxuKTtyZXR1cm4gcj4xP2IudW5pcXVlU29ydChuKTpufSxmaWx0ZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKE4odGhpcyxlfHxbXSwhMSkpfSxub3Q6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKE4odGhpcyxlfHxbXSwhMCkpfSxpczpmdW5jdGlvbihlKXtyZXR1cm4hIU4odGhpcyxcInN0cmluZ1wiPT10eXBlb2YgZSYmUy50ZXN0KGUpP2IoZSk6ZXx8W10sITEpLmxlbmd0aH19KTt2YXIgaixEPS9eKD86XFxzKig8W1xcd1xcV10rPilbXj5dKnwjKFtcXHctXSspKSQvOyhiLmZuLmluaXQ9ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGk7aWYoIWUpcmV0dXJuIHRoaXM7aWYobj1ufHxqLFwic3RyaW5nXCI9PXR5cGVvZiBlKXtpZighKHI9XCI8XCI9PT1lWzBdJiZcIj5cIj09PWVbZS5sZW5ndGgtMV0mJmUubGVuZ3RoPj0zP1tudWxsLGUsbnVsbF06RC5leGVjKGUpKXx8IXJbMV0mJnQpcmV0dXJuIXR8fHQuanF1ZXJ5Pyh0fHxuKS5maW5kKGUpOnRoaXMuY29uc3RydWN0b3IodCkuZmluZChlKTtpZihyWzFdKXtpZih0PXQgaW5zdGFuY2VvZiBiP3RbMF06dCxiLm1lcmdlKHRoaXMsYi5wYXJzZUhUTUwoclsxXSx0JiZ0Lm5vZGVUeXBlP3Qub3duZXJEb2N1bWVudHx8dDp2LCEwKSksQS50ZXN0KHJbMV0pJiZiLmlzUGxhaW5PYmplY3QodCkpZm9yKHIgaW4gdCloKHRoaXNbcl0pP3RoaXNbcl0odFtyXSk6dGhpcy5hdHRyKHIsdFtyXSk7cmV0dXJuIHRoaXN9cmV0dXJuKGk9di5nZXRFbGVtZW50QnlJZChyWzJdKSkmJih0aGlzWzBdPWksdGhpcy5sZW5ndGg9MSksdGhpc31yZXR1cm4gZS5ub2RlVHlwZT8odGhpc1swXT1lLHRoaXMubGVuZ3RoPTEsdGhpcyk6aChlKT92b2lkIDAhPT1uLnJlYWR5P24ucmVhZHkoZSk6ZShiKTpiLm1ha2VBcnJheShlLHRoaXMpfSkucHJvdG90eXBlPWIuZm4saj1iKHYpO3ZhciBxPS9eKD86cGFyZW50c3xwcmV2KD86VW50aWx8QWxsKSkvLEw9e2NoaWxkcmVuOiEwLGNvbnRlbnRzOiEwLG5leHQ6ITAscHJldjohMH07ZnVuY3Rpb24gSChlLHQpe2Zvcig7KGU9ZVt0XSkmJjEhPT1lLm5vZGVUeXBlOyk7cmV0dXJuIGV9Yi5mbi5leHRlbmQoe2hhczpmdW5jdGlvbihlKXt2YXIgdD1iKGUsdGhpcyksbj10Lmxlbmd0aDtyZXR1cm4gdGhpcy5maWx0ZXIoZnVuY3Rpb24oKXtmb3IodmFyIGU9MDtlPG47ZSsrKWlmKGIuY29udGFpbnModGhpcyx0W2VdKSlyZXR1cm4hMH0pfSxjbG9zZXN0OmZ1bmN0aW9uKGUsdCl7dmFyIG4scj0wLGk9dGhpcy5sZW5ndGgsbz1bXSxhPVwic3RyaW5nXCIhPXR5cGVvZiBlJiZiKGUpO2lmKCFTLnRlc3QoZSkpZm9yKDtyPGk7cisrKWZvcihuPXRoaXNbcl07biYmbiE9PXQ7bj1uLnBhcmVudE5vZGUpaWYobi5ub2RlVHlwZTwxMSYmKGE/YS5pbmRleChuKT4tMToxPT09bi5ub2RlVHlwZSYmYi5maW5kLm1hdGNoZXNTZWxlY3RvcihuLGUpKSl7by5wdXNoKG4pO2JyZWFrfXJldHVybiB0aGlzLnB1c2hTdGFjayhvLmxlbmd0aD4xP2IudW5pcXVlU29ydChvKTpvKX0saW5kZXg6ZnVuY3Rpb24oZSl7cmV0dXJuIGU/XCJzdHJpbmdcIj09dHlwZW9mIGU/cy5jYWxsKGIoZSksdGhpc1swXSk6cy5jYWxsKHRoaXMsZS5qcXVlcnk/ZVswXTplKTp0aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5vZGU/dGhpcy5maXJzdCgpLnByZXZBbGwoKS5sZW5ndGg6LTF9LGFkZDpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLnB1c2hTdGFjayhiLnVuaXF1ZVNvcnQoYi5tZXJnZSh0aGlzLmdldCgpLGIoZSx0KSkpKX0sYWRkQmFjazpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5hZGQobnVsbD09ZT90aGlzLnByZXZPYmplY3Q6dGhpcy5wcmV2T2JqZWN0LmZpbHRlcihlKSl9fSksYi5lYWNoKHtwYXJlbnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5wYXJlbnROb2RlO3JldHVybiB0JiYxMSE9PXQubm9kZVR5cGU/dDpudWxsfSxwYXJlbnRzOmZ1bmN0aW9uKGUpe3JldHVybiBDKGUsXCJwYXJlbnROb2RlXCIpfSxwYXJlbnRzVW50aWw6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBDKGUsXCJwYXJlbnROb2RlXCIsbil9LG5leHQ6ZnVuY3Rpb24oZSl7cmV0dXJuIEgoZSxcIm5leHRTaWJsaW5nXCIpfSxwcmV2OmZ1bmN0aW9uKGUpe3JldHVybiBIKGUsXCJwcmV2aW91c1NpYmxpbmdcIil9LG5leHRBbGw6ZnVuY3Rpb24oZSl7cmV0dXJuIEMoZSxcIm5leHRTaWJsaW5nXCIpfSxwcmV2QWxsOmZ1bmN0aW9uKGUpe3JldHVybiBDKGUsXCJwcmV2aW91c1NpYmxpbmdcIil9LG5leHRVbnRpbDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIEMoZSxcIm5leHRTaWJsaW5nXCIsbil9LHByZXZVbnRpbDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIEMoZSxcInByZXZpb3VzU2libGluZ1wiLG4pfSxzaWJsaW5nczpmdW5jdGlvbihlKXtyZXR1cm4gRSgoZS5wYXJlbnROb2RlfHx7fSkuZmlyc3RDaGlsZCxlKX0sY2hpbGRyZW46ZnVuY3Rpb24oZSl7cmV0dXJuIEUoZS5maXJzdENoaWxkKX0sY29udGVudHM6ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGwhPWUuY29udGVudERvY3VtZW50JiZyKGUuY29udGVudERvY3VtZW50KT9lLmNvbnRlbnREb2N1bWVudDooayhlLFwidGVtcGxhdGVcIikmJihlPWUuY29udGVudHx8ZSksYi5tZXJnZShbXSxlLmNoaWxkTm9kZXMpKX19LGZ1bmN0aW9uKGUsdCl7Yi5mbltlXT1mdW5jdGlvbihuLHIpe3ZhciBpPWIubWFwKHRoaXMsdCxuKTtyZXR1cm5cIlVudGlsXCIhPT1lLnNsaWNlKC01KSYmKHI9biksciYmXCJzdHJpbmdcIj09dHlwZW9mIHImJihpPWIuZmlsdGVyKHIsaSkpLHRoaXMubGVuZ3RoPjEmJihMW2VdfHxiLnVuaXF1ZVNvcnQoaSkscS50ZXN0KGUpJiZpLnJldmVyc2UoKSksdGhpcy5wdXNoU3RhY2soaSl9fSk7dmFyIE89L1teXFx4MjBcXHRcXHJcXG5cXGZdKy9nO2Z1bmN0aW9uIFAoZSl7cmV0dXJuIGV9ZnVuY3Rpb24gUihlKXt0aHJvdyBlfWZ1bmN0aW9uIE0oZSx0LG4scil7dmFyIGk7dHJ5e2UmJmgoaT1lLnByb21pc2UpP2kuY2FsbChlKS5kb25lKHQpLmZhaWwobik6ZSYmaChpPWUudGhlbik/aS5jYWxsKGUsdCxuKTp0LmFwcGx5KHZvaWQgMCxbZV0uc2xpY2UocikpfWNhdGNoKGUpe24uYXBwbHkodm9pZCAwLFtlXSl9fWIuQ2FsbGJhY2tzPWZ1bmN0aW9uKGUpe2U9XCJzdHJpbmdcIj09dHlwZW9mIGU/ZnVuY3Rpb24oZSl7dmFyIHQ9e307cmV0dXJuIGIuZWFjaChlLm1hdGNoKE8pfHxbXSxmdW5jdGlvbihlLG4pe3Rbbl09ITB9KSx0fShlKTpiLmV4dGVuZCh7fSxlKTt2YXIgdCxuLHIsaSxvPVtdLGE9W10scz0tMSx1PWZ1bmN0aW9uKCl7Zm9yKGk9aXx8ZS5vbmNlLHI9dD0hMDthLmxlbmd0aDtzPS0xKWZvcihuPWEuc2hpZnQoKTsrK3M8by5sZW5ndGg7KSExPT09b1tzXS5hcHBseShuWzBdLG5bMV0pJiZlLnN0b3BPbkZhbHNlJiYocz1vLmxlbmd0aCxuPSExKTtlLm1lbW9yeXx8KG49ITEpLHQ9ITEsaSYmKG89bj9bXTpcIlwiKX0sbD17YWRkOmZ1bmN0aW9uKCl7cmV0dXJuIG8mJihuJiYhdCYmKHM9by5sZW5ndGgtMSxhLnB1c2gobikpLGZ1bmN0aW9uIHQobil7Yi5lYWNoKG4sZnVuY3Rpb24obixyKXtoKHIpP2UudW5pcXVlJiZsLmhhcyhyKXx8by5wdXNoKHIpOnImJnIubGVuZ3RoJiZcInN0cmluZ1wiIT09eChyKSYmdChyKX0pfShhcmd1bWVudHMpLG4mJiF0JiZ1KCkpLHRoaXN9LHJlbW92ZTpmdW5jdGlvbigpe3JldHVybiBiLmVhY2goYXJndW1lbnRzLGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuOyhuPWIuaW5BcnJheSh0LG8sbikpPi0xOylvLnNwbGljZShuLDEpLG48PXMmJnMtLX0pLHRoaXN9LGhhczpmdW5jdGlvbihlKXtyZXR1cm4gZT9iLmluQXJyYXkoZSxvKT4tMTpvLmxlbmd0aD4wfSxlbXB0eTpmdW5jdGlvbigpe3JldHVybiBvJiYobz1bXSksdGhpc30sZGlzYWJsZTpmdW5jdGlvbigpe3JldHVybiBpPWE9W10sbz1uPVwiXCIsdGhpc30sZGlzYWJsZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hb30sbG9jazpmdW5jdGlvbigpe3JldHVybiBpPWE9W10sbnx8dHx8KG89bj1cIlwiKSx0aGlzfSxsb2NrZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hIWl9LGZpcmVXaXRoOmZ1bmN0aW9uKGUsbil7cmV0dXJuIGl8fChuPVtlLChuPW58fFtdKS5zbGljZT9uLnNsaWNlKCk6bl0sYS5wdXNoKG4pLHR8fHUoKSksdGhpc30sZmlyZTpmdW5jdGlvbigpe3JldHVybiBsLmZpcmVXaXRoKHRoaXMsYXJndW1lbnRzKSx0aGlzfSxmaXJlZDpmdW5jdGlvbigpe3JldHVybiEhcn19O3JldHVybiBsfSxiLmV4dGVuZCh7RGVmZXJyZWQ6ZnVuY3Rpb24odCl7dmFyIG49W1tcIm5vdGlmeVwiLFwicHJvZ3Jlc3NcIixiLkNhbGxiYWNrcyhcIm1lbW9yeVwiKSxiLkNhbGxiYWNrcyhcIm1lbW9yeVwiKSwyXSxbXCJyZXNvbHZlXCIsXCJkb25lXCIsYi5DYWxsYmFja3MoXCJvbmNlIG1lbW9yeVwiKSxiLkNhbGxiYWNrcyhcIm9uY2UgbWVtb3J5XCIpLDAsXCJyZXNvbHZlZFwiXSxbXCJyZWplY3RcIixcImZhaWxcIixiLkNhbGxiYWNrcyhcIm9uY2UgbWVtb3J5XCIpLGIuQ2FsbGJhY2tzKFwib25jZSBtZW1vcnlcIiksMSxcInJlamVjdGVkXCJdXSxyPVwicGVuZGluZ1wiLGk9e3N0YXRlOmZ1bmN0aW9uKCl7cmV0dXJuIHJ9LGFsd2F5czpmdW5jdGlvbigpe3JldHVybiBvLmRvbmUoYXJndW1lbnRzKS5mYWlsKGFyZ3VtZW50cyksdGhpc30sY2F0Y2g6ZnVuY3Rpb24oZSl7cmV0dXJuIGkudGhlbihudWxsLGUpfSxwaXBlOmZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzO3JldHVybiBiLkRlZmVycmVkKGZ1bmN0aW9uKHQpe2IuZWFjaChuLGZ1bmN0aW9uKG4scil7dmFyIGk9aChlW3JbNF1dKSYmZVtyWzRdXTtvW3JbMV1dKGZ1bmN0aW9uKCl7dmFyIGU9aSYmaS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7ZSYmaChlLnByb21pc2UpP2UucHJvbWlzZSgpLnByb2dyZXNzKHQubm90aWZ5KS5kb25lKHQucmVzb2x2ZSkuZmFpbCh0LnJlamVjdCk6dFtyWzBdK1wiV2l0aFwiXSh0aGlzLGk/W2VdOmFyZ3VtZW50cyl9KX0pLGU9bnVsbH0pLnByb21pc2UoKX0sdGhlbjpmdW5jdGlvbih0LHIsaSl7dmFyIG89MDtmdW5jdGlvbiBhKHQsbixyLGkpe3JldHVybiBmdW5jdGlvbigpe3ZhciBzPXRoaXMsdT1hcmd1bWVudHMsbD1mdW5jdGlvbigpe3ZhciBlLGw7aWYoISh0PG8pKXtpZigoZT1yLmFwcGx5KHMsdSkpPT09bi5wcm9taXNlKCkpdGhyb3cgbmV3IFR5cGVFcnJvcihcIlRoZW5hYmxlIHNlbGYtcmVzb2x1dGlvblwiKTtsPWUmJihcIm9iamVjdFwiPT10eXBlb2YgZXx8XCJmdW5jdGlvblwiPT10eXBlb2YgZSkmJmUudGhlbixoKGwpP2k/bC5jYWxsKGUsYShvLG4sUCxpKSxhKG8sbixSLGkpKToobysrLGwuY2FsbChlLGEobyxuLFAsaSksYShvLG4sUixpKSxhKG8sbixQLG4ubm90aWZ5V2l0aCkpKToociE9PVAmJihzPXZvaWQgMCx1PVtlXSksKGl8fG4ucmVzb2x2ZVdpdGgpKHMsdSkpfX0sYz1pP2w6ZnVuY3Rpb24oKXt0cnl7bCgpfWNhdGNoKGUpe2IuRGVmZXJyZWQuZXhjZXB0aW9uSG9vayYmYi5EZWZlcnJlZC5leGNlcHRpb25Ib29rKGUsYy5zdGFja1RyYWNlKSx0KzE+PW8mJihyIT09UiYmKHM9dm9pZCAwLHU9W2VdKSxuLnJlamVjdFdpdGgocyx1KSl9fTt0P2MoKTooYi5EZWZlcnJlZC5nZXRTdGFja0hvb2smJihjLnN0YWNrVHJhY2U9Yi5EZWZlcnJlZC5nZXRTdGFja0hvb2soKSksZS5zZXRUaW1lb3V0KGMpKX19cmV0dXJuIGIuRGVmZXJyZWQoZnVuY3Rpb24oZSl7blswXVszXS5hZGQoYSgwLGUsaChpKT9pOlAsZS5ub3RpZnlXaXRoKSksblsxXVszXS5hZGQoYSgwLGUsaCh0KT90OlApKSxuWzJdWzNdLmFkZChhKDAsZSxoKHIpP3I6UikpfSkucHJvbWlzZSgpfSxwcm9taXNlOmZ1bmN0aW9uKGUpe3JldHVybiBudWxsIT1lP2IuZXh0ZW5kKGUsaSk6aX19LG89e307cmV0dXJuIGIuZWFjaChuLGZ1bmN0aW9uKGUsdCl7dmFyIGE9dFsyXSxzPXRbNV07aVt0WzFdXT1hLmFkZCxzJiZhLmFkZChmdW5jdGlvbigpe3I9c30sblszLWVdWzJdLmRpc2FibGUsblszLWVdWzNdLmRpc2FibGUsblswXVsyXS5sb2NrLG5bMF1bM10ubG9jayksYS5hZGQodFszXS5maXJlKSxvW3RbMF1dPWZ1bmN0aW9uKCl7cmV0dXJuIG9bdFswXStcIldpdGhcIl0odGhpcz09PW8/dm9pZCAwOnRoaXMsYXJndW1lbnRzKSx0aGlzfSxvW3RbMF0rXCJXaXRoXCJdPWEuZmlyZVdpdGh9KSxpLnByb21pc2UobyksdCYmdC5jYWxsKG8sbyksb30sd2hlbjpmdW5jdGlvbihlKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoLG49dCxyPUFycmF5KG4pLG89aS5jYWxsKGFyZ3VtZW50cyksYT1iLkRlZmVycmVkKCkscz1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24obil7cltlXT10aGlzLG9bZV09YXJndW1lbnRzLmxlbmd0aD4xP2kuY2FsbChhcmd1bWVudHMpOm4sLS10fHxhLnJlc29sdmVXaXRoKHIsbyl9fTtpZih0PD0xJiYoTShlLGEuZG9uZShzKG4pKS5yZXNvbHZlLGEucmVqZWN0LCF0KSxcInBlbmRpbmdcIj09PWEuc3RhdGUoKXx8aChvW25dJiZvW25dLnRoZW4pKSlyZXR1cm4gYS50aGVuKCk7Zm9yKDtuLS07KU0ob1tuXSxzKG4pLGEucmVqZWN0KTtyZXR1cm4gYS5wcm9taXNlKCl9fSk7dmFyIEk9L14oRXZhbHxJbnRlcm5hbHxSYW5nZXxSZWZlcmVuY2V8U3ludGF4fFR5cGV8VVJJKUVycm9yJC87Yi5EZWZlcnJlZC5leGNlcHRpb25Ib29rPWZ1bmN0aW9uKHQsbil7ZS5jb25zb2xlJiZlLmNvbnNvbGUud2FybiYmdCYmSS50ZXN0KHQubmFtZSkmJmUuY29uc29sZS53YXJuKFwialF1ZXJ5LkRlZmVycmVkIGV4Y2VwdGlvbjogXCIrdC5tZXNzYWdlLHQuc3RhY2ssbil9LGIucmVhZHlFeGNlcHRpb249ZnVuY3Rpb24odCl7ZS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhyb3cgdH0pfTt2YXIgVz1iLkRlZmVycmVkKCk7ZnVuY3Rpb24gRigpe3YucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIkRPTUNvbnRlbnRMb2FkZWRcIixGKSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJsb2FkXCIsRiksYi5yZWFkeSgpfWIuZm4ucmVhZHk9ZnVuY3Rpb24oZSl7cmV0dXJuIFcudGhlbihlKS5jYXRjaChmdW5jdGlvbihlKXtiLnJlYWR5RXhjZXB0aW9uKGUpfSksdGhpc30sYi5leHRlbmQoe2lzUmVhZHk6ITEscmVhZHlXYWl0OjEscmVhZHk6ZnVuY3Rpb24oZSl7KCEwPT09ZT8tLWIucmVhZHlXYWl0OmIuaXNSZWFkeSl8fChiLmlzUmVhZHk9ITAsITAhPT1lJiYtLWIucmVhZHlXYWl0PjB8fFcucmVzb2x2ZVdpdGgodixbYl0pKX19KSxiLnJlYWR5LnRoZW49Vy50aGVuLFwiY29tcGxldGVcIj09PXYucmVhZHlTdGF0ZXx8XCJsb2FkaW5nXCIhPT12LnJlYWR5U3RhdGUmJiF2LmRvY3VtZW50RWxlbWVudC5kb1Njcm9sbD9lLnNldFRpbWVvdXQoYi5yZWFkeSk6KHYuYWRkRXZlbnRMaXN0ZW5lcihcIkRPTUNvbnRlbnRMb2FkZWRcIixGKSxlLmFkZEV2ZW50TGlzdGVuZXIoXCJsb2FkXCIsRikpO3ZhciBCPWZ1bmN0aW9uKGUsdCxuLHIsaSxvLGEpe3ZhciBzPTAsdT1lLmxlbmd0aCxsPW51bGw9PW47aWYoXCJvYmplY3RcIj09PXgobikpZm9yKHMgaW4gaT0hMCxuKUIoZSx0LHMsbltzXSwhMCxvLGEpO2Vsc2UgaWYodm9pZCAwIT09ciYmKGk9ITAsaChyKXx8KGE9ITApLGwmJihhPyh0LmNhbGwoZSxyKSx0PW51bGwpOihsPXQsdD1mdW5jdGlvbihlLHQsbil7cmV0dXJuIGwuY2FsbChiKGUpLG4pfSkpLHQpKWZvcig7czx1O3MrKyl0KGVbc10sbixhP3I6ci5jYWxsKGVbc10scyx0KGVbc10sbikpKTtyZXR1cm4gaT9lOmw/dC5jYWxsKGUpOnU/dChlWzBdLG4pOm99LCQ9L14tbXMtLyxfPS8tKFthLXpdKS9nO2Z1bmN0aW9uIHooZSx0KXtyZXR1cm4gdC50b1VwcGVyQ2FzZSgpfWZ1bmN0aW9uIFUoZSl7cmV0dXJuIGUucmVwbGFjZSgkLFwibXMtXCIpLnJlcGxhY2UoXyx6KX12YXIgWD1mdW5jdGlvbihlKXtyZXR1cm4gMT09PWUubm9kZVR5cGV8fDk9PT1lLm5vZGVUeXBlfHwhK2Uubm9kZVR5cGV9O2Z1bmN0aW9uIFYoKXt0aGlzLmV4cGFuZG89Yi5leHBhbmRvK1YudWlkKyt9Vi51aWQ9MSxWLnByb3RvdHlwZT17Y2FjaGU6ZnVuY3Rpb24oZSl7dmFyIHQ9ZVt0aGlzLmV4cGFuZG9dO3JldHVybiB0fHwodD17fSxYKGUpJiYoZS5ub2RlVHlwZT9lW3RoaXMuZXhwYW5kb109dDpPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0aGlzLmV4cGFuZG8se3ZhbHVlOnQsY29uZmlndXJhYmxlOiEwfSkpKSx0fSxzZXQ6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGk9dGhpcy5jYWNoZShlKTtpZihcInN0cmluZ1wiPT10eXBlb2YgdClpW1UodCldPW47ZWxzZSBmb3IociBpbiB0KWlbVShyKV09dFtyXTtyZXR1cm4gaX0sZ2V0OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHZvaWQgMD09PXQ/dGhpcy5jYWNoZShlKTplW3RoaXMuZXhwYW5kb10mJmVbdGhpcy5leHBhbmRvXVtVKHQpXX0sYWNjZXNzOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gdm9pZCAwPT09dHx8dCYmXCJzdHJpbmdcIj09dHlwZW9mIHQmJnZvaWQgMD09PW4/dGhpcy5nZXQoZSx0KToodGhpcy5zZXQoZSx0LG4pLHZvaWQgMCE9PW4/bjp0KX0scmVtb3ZlOmZ1bmN0aW9uKGUsdCl7dmFyIG4scj1lW3RoaXMuZXhwYW5kb107aWYodm9pZCAwIT09cil7aWYodm9pZCAwIT09dCl7bj0odD1BcnJheS5pc0FycmF5KHQpP3QubWFwKFUpOih0PVUodCkpaW4gcj9bdF06dC5tYXRjaChPKXx8W10pLmxlbmd0aDtmb3IoO24tLTspZGVsZXRlIHJbdFtuXV19KHZvaWQgMD09PXR8fGIuaXNFbXB0eU9iamVjdChyKSkmJihlLm5vZGVUeXBlP2VbdGhpcy5leHBhbmRvXT12b2lkIDA6ZGVsZXRlIGVbdGhpcy5leHBhbmRvXSl9fSxoYXNEYXRhOmZ1bmN0aW9uKGUpe3ZhciB0PWVbdGhpcy5leHBhbmRvXTtyZXR1cm4gdm9pZCAwIT09dCYmIWIuaXNFbXB0eU9iamVjdCh0KX19O3ZhciBHPW5ldyBWLFk9bmV3IFYsUT0vXig/Olxce1tcXHdcXFddKlxcfXxcXFtbXFx3XFxXXSpcXF0pJC8sSj0vW0EtWl0vZztmdW5jdGlvbiBLKGUsdCxuKXt2YXIgcjtpZih2b2lkIDA9PT1uJiYxPT09ZS5ub2RlVHlwZSlpZihyPVwiZGF0YS1cIit0LnJlcGxhY2UoSixcIi0kJlwiKS50b0xvd2VyQ2FzZSgpLFwic3RyaW5nXCI9PXR5cGVvZihuPWUuZ2V0QXR0cmlidXRlKHIpKSl7dHJ5e249ZnVuY3Rpb24oZSl7cmV0dXJuXCJ0cnVlXCI9PT1lfHxcImZhbHNlXCIhPT1lJiYoXCJudWxsXCI9PT1lP251bGw6ZT09PStlK1wiXCI/K2U6US50ZXN0KGUpP0pTT04ucGFyc2UoZSk6ZSl9KG4pfWNhdGNoKGUpe31ZLnNldChlLHQsbil9ZWxzZSBuPXZvaWQgMDtyZXR1cm4gbn1iLmV4dGVuZCh7aGFzRGF0YTpmdW5jdGlvbihlKXtyZXR1cm4gWS5oYXNEYXRhKGUpfHxHLmhhc0RhdGEoZSl9LGRhdGE6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBZLmFjY2VzcyhlLHQsbil9LHJlbW92ZURhdGE6ZnVuY3Rpb24oZSx0KXtZLnJlbW92ZShlLHQpfSxfZGF0YTpmdW5jdGlvbihlLHQsbil7cmV0dXJuIEcuYWNjZXNzKGUsdCxuKX0sX3JlbW92ZURhdGE6ZnVuY3Rpb24oZSx0KXtHLnJlbW92ZShlLHQpfX0pLGIuZm4uZXh0ZW5kKHtkYXRhOmZ1bmN0aW9uKGUsdCl7dmFyIG4scixpLG89dGhpc1swXSxhPW8mJm8uYXR0cmlidXRlcztpZih2b2lkIDA9PT1lKXtpZih0aGlzLmxlbmd0aCYmKGk9WS5nZXQobyksMT09PW8ubm9kZVR5cGUmJiFHLmdldChvLFwiaGFzRGF0YUF0dHJzXCIpKSl7Zm9yKG49YS5sZW5ndGg7bi0tOylhW25dJiYwPT09KHI9YVtuXS5uYW1lKS5pbmRleE9mKFwiZGF0YS1cIikmJihyPVUoci5zbGljZSg1KSksSyhvLHIsaVtyXSkpO0cuc2V0KG8sXCJoYXNEYXRhQXR0cnNcIiwhMCl9cmV0dXJuIGl9cmV0dXJuXCJvYmplY3RcIj09dHlwZW9mIGU/dGhpcy5lYWNoKGZ1bmN0aW9uKCl7WS5zZXQodGhpcyxlKX0pOkIodGhpcyxmdW5jdGlvbih0KXt2YXIgbjtpZihvJiZ2b2lkIDA9PT10KXJldHVybiB2b2lkIDAhPT0obj1ZLmdldChvLGUpKT9uOnZvaWQgMCE9PShuPUsobyxlKSk/bjp2b2lkIDA7dGhpcy5lYWNoKGZ1bmN0aW9uKCl7WS5zZXQodGhpcyxlLHQpfSl9LG51bGwsdCxhcmd1bWVudHMubGVuZ3RoPjEsbnVsbCwhMCl9LHJlbW92ZURhdGE6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe1kucmVtb3ZlKHRoaXMsZSl9KX19KSxiLmV4dGVuZCh7cXVldWU6ZnVuY3Rpb24oZSx0LG4pe3ZhciByO2lmKGUpcmV0dXJuIHQ9KHR8fFwiZnhcIikrXCJxdWV1ZVwiLHI9Ry5nZXQoZSx0KSxuJiYoIXJ8fEFycmF5LmlzQXJyYXkobik/cj1HLmFjY2VzcyhlLHQsYi5tYWtlQXJyYXkobikpOnIucHVzaChuKSkscnx8W119LGRlcXVldWU6ZnVuY3Rpb24oZSx0KXt0PXR8fFwiZnhcIjt2YXIgbj1iLnF1ZXVlKGUsdCkscj1uLmxlbmd0aCxpPW4uc2hpZnQoKSxvPWIuX3F1ZXVlSG9va3MoZSx0KTtcImlucHJvZ3Jlc3NcIj09PWkmJihpPW4uc2hpZnQoKSxyLS0pLGkmJihcImZ4XCI9PT10JiZuLnVuc2hpZnQoXCJpbnByb2dyZXNzXCIpLGRlbGV0ZSBvLnN0b3AsaS5jYWxsKGUsZnVuY3Rpb24oKXtiLmRlcXVldWUoZSx0KX0sbykpLCFyJiZvJiZvLmVtcHR5LmZpcmUoKX0sX3F1ZXVlSG9va3M6ZnVuY3Rpb24oZSx0KXt2YXIgbj10K1wicXVldWVIb29rc1wiO3JldHVybiBHLmdldChlLG4pfHxHLmFjY2VzcyhlLG4se2VtcHR5OmIuQ2FsbGJhY2tzKFwib25jZSBtZW1vcnlcIikuYWRkKGZ1bmN0aW9uKCl7Ry5yZW1vdmUoZSxbdCtcInF1ZXVlXCIsbl0pfSl9KX19KSxiLmZuLmV4dGVuZCh7cXVldWU6ZnVuY3Rpb24oZSx0KXt2YXIgbj0yO3JldHVyblwic3RyaW5nXCIhPXR5cGVvZiBlJiYodD1lLGU9XCJmeFwiLG4tLSksYXJndW1lbnRzLmxlbmd0aDxuP2IucXVldWUodGhpc1swXSxlKTp2b2lkIDA9PT10P3RoaXM6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIG49Yi5xdWV1ZSh0aGlzLGUsdCk7Yi5fcXVldWVIb29rcyh0aGlzLGUpLFwiZnhcIj09PWUmJlwiaW5wcm9ncmVzc1wiIT09blswXSYmYi5kZXF1ZXVlKHRoaXMsZSl9KX0sZGVxdWV1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Yi5kZXF1ZXVlKHRoaXMsZSl9KX0sY2xlYXJRdWV1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5xdWV1ZShlfHxcImZ4XCIsW10pfSxwcm9taXNlOmZ1bmN0aW9uKGUsdCl7dmFyIG4scj0xLGk9Yi5EZWZlcnJlZCgpLG89dGhpcyxhPXRoaXMubGVuZ3RoLHM9ZnVuY3Rpb24oKXstLXJ8fGkucmVzb2x2ZVdpdGgobyxbb10pfTtmb3IoXCJzdHJpbmdcIiE9dHlwZW9mIGUmJih0PWUsZT12b2lkIDApLGU9ZXx8XCJmeFwiO2EtLTspKG49Ry5nZXQob1thXSxlK1wicXVldWVIb29rc1wiKSkmJm4uZW1wdHkmJihyKyssbi5lbXB0eS5hZGQocykpO3JldHVybiBzKCksaS5wcm9taXNlKHQpfX0pO3ZhciBaPS9bKy1dPyg/OlxcZCpcXC58KVxcZCsoPzpbZUVdWystXT9cXGQrfCkvLnNvdXJjZSxlZT1uZXcgUmVnRXhwKFwiXig/OihbKy1dKT18KShcIitaK1wiKShbYS16JV0qKSRcIixcImlcIiksdGU9W1wiVG9wXCIsXCJSaWdodFwiLFwiQm90dG9tXCIsXCJMZWZ0XCJdLG5lPXYuZG9jdW1lbnRFbGVtZW50LHJlPWZ1bmN0aW9uKGUpe3JldHVybiBiLmNvbnRhaW5zKGUub3duZXJEb2N1bWVudCxlKX0saWU9e2NvbXBvc2VkOiEwfTtuZS5nZXRSb290Tm9kZSYmKHJlPWZ1bmN0aW9uKGUpe3JldHVybiBiLmNvbnRhaW5zKGUub3duZXJEb2N1bWVudCxlKXx8ZS5nZXRSb290Tm9kZShpZSk9PT1lLm93bmVyRG9jdW1lbnR9KTt2YXIgb2U9ZnVuY3Rpb24oZSx0KXtyZXR1cm5cIm5vbmVcIj09PShlPXR8fGUpLnN0eWxlLmRpc3BsYXl8fFwiXCI9PT1lLnN0eWxlLmRpc3BsYXkmJnJlKGUpJiZcIm5vbmVcIj09PWIuY3NzKGUsXCJkaXNwbGF5XCIpfTtmdW5jdGlvbiBhZShlLHQsbixyKXt2YXIgaSxvLGE9MjAscz1yP2Z1bmN0aW9uKCl7cmV0dXJuIHIuY3VyKCl9OmZ1bmN0aW9uKCl7cmV0dXJuIGIuY3NzKGUsdCxcIlwiKX0sdT1zKCksbD1uJiZuWzNdfHwoYi5jc3NOdW1iZXJbdF0/XCJcIjpcInB4XCIpLGM9ZS5ub2RlVHlwZSYmKGIuY3NzTnVtYmVyW3RdfHxcInB4XCIhPT1sJiYrdSkmJmVlLmV4ZWMoYi5jc3MoZSx0KSk7aWYoYyYmY1szXSE9PWwpe2Zvcih1Lz0yLGw9bHx8Y1szXSxjPSt1fHwxO2EtLTspYi5zdHlsZShlLHQsYytsKSwoMS1vKSooMS0obz1zKCkvdXx8LjUpKTw9MCYmKGE9MCksYy89bztjKj0yLGIuc3R5bGUoZSx0LGMrbCksbj1ufHxbXX1yZXR1cm4gbiYmKGM9K2N8fCt1fHwwLGk9blsxXT9jKyhuWzFdKzEpKm5bMl06K25bMl0sciYmKHIudW5pdD1sLHIuc3RhcnQ9YyxyLmVuZD1pKSksaX12YXIgc2U9e307ZnVuY3Rpb24gdWUoZSl7dmFyIHQsbj1lLm93bmVyRG9jdW1lbnQscj1lLm5vZGVOYW1lLGk9c2Vbcl07cmV0dXJuIGl8fCh0PW4uYm9keS5hcHBlbmRDaGlsZChuLmNyZWF0ZUVsZW1lbnQocikpLGk9Yi5jc3ModCxcImRpc3BsYXlcIiksdC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHQpLFwibm9uZVwiPT09aSYmKGk9XCJibG9ja1wiKSxzZVtyXT1pLGkpfWZ1bmN0aW9uIGxlKGUsdCl7Zm9yKHZhciBuLHIsaT1bXSxvPTAsYT1lLmxlbmd0aDtvPGE7bysrKShyPWVbb10pLnN0eWxlJiYobj1yLnN0eWxlLmRpc3BsYXksdD8oXCJub25lXCI9PT1uJiYoaVtvXT1HLmdldChyLFwiZGlzcGxheVwiKXx8bnVsbCxpW29dfHwoci5zdHlsZS5kaXNwbGF5PVwiXCIpKSxcIlwiPT09ci5zdHlsZS5kaXNwbGF5JiZvZShyKSYmKGlbb109dWUocikpKTpcIm5vbmVcIiE9PW4mJihpW29dPVwibm9uZVwiLEcuc2V0KHIsXCJkaXNwbGF5XCIsbikpKTtmb3Iobz0wO288YTtvKyspbnVsbCE9aVtvXSYmKGVbb10uc3R5bGUuZGlzcGxheT1pW29dKTtyZXR1cm4gZX1iLmZuLmV4dGVuZCh7c2hvdzpmdW5jdGlvbigpe3JldHVybiBsZSh0aGlzLCEwKX0saGlkZTpmdW5jdGlvbigpe3JldHVybiBsZSh0aGlzKX0sdG9nZ2xlOmZ1bmN0aW9uKGUpe3JldHVyblwiYm9vbGVhblwiPT10eXBlb2YgZT9lP3RoaXMuc2hvdygpOnRoaXMuaGlkZSgpOnRoaXMuZWFjaChmdW5jdGlvbigpe29lKHRoaXMpP2IodGhpcykuc2hvdygpOmIodGhpcykuaGlkZSgpfSl9fSk7dmFyIGNlLGZlLHBlPS9eKD86Y2hlY2tib3h8cmFkaW8pJC9pLGRlPS88KFthLXpdW15cXC9cXDA+XFx4MjBcXHRcXHJcXG5cXGZdKikvaSxoZT0vXiR8Xm1vZHVsZSR8XFwvKD86amF2YXxlY21hKXNjcmlwdC9pO2NlPXYuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLmFwcGVuZENoaWxkKHYuY3JlYXRlRWxlbWVudChcImRpdlwiKSksKGZlPXYuY3JlYXRlRWxlbWVudChcImlucHV0XCIpKS5zZXRBdHRyaWJ1dGUoXCJ0eXBlXCIsXCJyYWRpb1wiKSxmZS5zZXRBdHRyaWJ1dGUoXCJjaGVja2VkXCIsXCJjaGVja2VkXCIpLGZlLnNldEF0dHJpYnV0ZShcIm5hbWVcIixcInRcIiksY2UuYXBwZW5kQ2hpbGQoZmUpLGQuY2hlY2tDbG9uZT1jZS5jbG9uZU5vZGUoITApLmNsb25lTm9kZSghMCkubGFzdENoaWxkLmNoZWNrZWQsY2UuaW5uZXJIVE1MPVwiPHRleHRhcmVhPng8L3RleHRhcmVhPlwiLGQubm9DbG9uZUNoZWNrZWQ9ISFjZS5jbG9uZU5vZGUoITApLmxhc3RDaGlsZC5kZWZhdWx0VmFsdWUsY2UuaW5uZXJIVE1MPVwiPG9wdGlvbj48L29wdGlvbj5cIixkLm9wdGlvbj0hIWNlLmxhc3RDaGlsZDt2YXIgZ2U9e3RoZWFkOlsxLFwiPHRhYmxlPlwiLFwiPC90YWJsZT5cIl0sY29sOlsyLFwiPHRhYmxlPjxjb2xncm91cD5cIixcIjwvY29sZ3JvdXA+PC90YWJsZT5cIl0sdHI6WzIsXCI8dGFibGU+PHRib2R5PlwiLFwiPC90Ym9keT48L3RhYmxlPlwiXSx0ZDpbMyxcIjx0YWJsZT48dGJvZHk+PHRyPlwiLFwiPC90cj48L3Rib2R5PjwvdGFibGU+XCJdLF9kZWZhdWx0OlswLFwiXCIsXCJcIl19O2Z1bmN0aW9uIHZlKGUsdCl7dmFyIG47cmV0dXJuIG49dm9pZCAwIT09ZS5nZXRFbGVtZW50c0J5VGFnTmFtZT9lLmdldEVsZW1lbnRzQnlUYWdOYW1lKHR8fFwiKlwiKTp2b2lkIDAhPT1lLnF1ZXJ5U2VsZWN0b3JBbGw/ZS5xdWVyeVNlbGVjdG9yQWxsKHR8fFwiKlwiKTpbXSx2b2lkIDA9PT10fHx0JiZrKGUsdCk/Yi5tZXJnZShbZV0sbik6bn1mdW5jdGlvbiB5ZShlLHQpe2Zvcih2YXIgbj0wLHI9ZS5sZW5ndGg7bjxyO24rKylHLnNldChlW25dLFwiZ2xvYmFsRXZhbFwiLCF0fHxHLmdldCh0W25dLFwiZ2xvYmFsRXZhbFwiKSl9Z2UudGJvZHk9Z2UudGZvb3Q9Z2UuY29sZ3JvdXA9Z2UuY2FwdGlvbj1nZS50aGVhZCxnZS50aD1nZS50ZCxkLm9wdGlvbnx8KGdlLm9wdGdyb3VwPWdlLm9wdGlvbj1bMSxcIjxzZWxlY3QgbXVsdGlwbGU9J211bHRpcGxlJz5cIixcIjwvc2VsZWN0PlwiXSk7dmFyIG1lPS88fCYjP1xcdys7LztmdW5jdGlvbiB4ZShlLHQsbixyLGkpe2Zvcih2YXIgbyxhLHMsdSxsLGMsZj10LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxwPVtdLGQ9MCxoPWUubGVuZ3RoO2Q8aDtkKyspaWYoKG89ZVtkXSl8fDA9PT1vKWlmKFwib2JqZWN0XCI9PT14KG8pKWIubWVyZ2UocCxvLm5vZGVUeXBlP1tvXTpvKTtlbHNlIGlmKG1lLnRlc3Qobykpe2ZvcihhPWF8fGYuYXBwZW5kQ2hpbGQodC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpKSxzPShkZS5leGVjKG8pfHxbXCJcIixcIlwiXSlbMV0udG9Mb3dlckNhc2UoKSx1PWdlW3NdfHxnZS5fZGVmYXVsdCxhLmlubmVySFRNTD11WzFdK2IuaHRtbFByZWZpbHRlcihvKSt1WzJdLGM9dVswXTtjLS07KWE9YS5sYXN0Q2hpbGQ7Yi5tZXJnZShwLGEuY2hpbGROb2RlcyksKGE9Zi5maXJzdENoaWxkKS50ZXh0Q29udGVudD1cIlwifWVsc2UgcC5wdXNoKHQuY3JlYXRlVGV4dE5vZGUobykpO2ZvcihmLnRleHRDb250ZW50PVwiXCIsZD0wO289cFtkKytdOylpZihyJiZiLmluQXJyYXkobyxyKT4tMSlpJiZpLnB1c2gobyk7ZWxzZSBpZihsPXJlKG8pLGE9dmUoZi5hcHBlbmRDaGlsZChvKSxcInNjcmlwdFwiKSxsJiZ5ZShhKSxuKWZvcihjPTA7bz1hW2MrK107KWhlLnRlc3Qoby50eXBlfHxcIlwiKSYmbi5wdXNoKG8pO3JldHVybiBmfXZhciBiZT0vXihbXi5dKikoPzpcXC4oLispfCkvO2Z1bmN0aW9uIHdlKCl7cmV0dXJuITB9ZnVuY3Rpb24gVGUoKXtyZXR1cm4hMX1mdW5jdGlvbiBDZShlLHQpe3JldHVybiBlPT09ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIHYuYWN0aXZlRWxlbWVudH1jYXRjaChlKXt9fSgpPT0oXCJmb2N1c1wiPT09dCl9ZnVuY3Rpb24gRWUoZSx0LG4scixpLG8pe3ZhciBhLHM7aWYoXCJvYmplY3RcIj09dHlwZW9mIHQpe2ZvcihzIGluXCJzdHJpbmdcIiE9dHlwZW9mIG4mJihyPXJ8fG4sbj12b2lkIDApLHQpRWUoZSxzLG4scix0W3NdLG8pO3JldHVybiBlfWlmKG51bGw9PXImJm51bGw9PWk/KGk9bixyPW49dm9pZCAwKTpudWxsPT1pJiYoXCJzdHJpbmdcIj09dHlwZW9mIG4/KGk9cixyPXZvaWQgMCk6KGk9cixyPW4sbj12b2lkIDApKSwhMT09PWkpaT1UZTtlbHNlIGlmKCFpKXJldHVybiBlO3JldHVybiAxPT09byYmKGE9aSwoaT1mdW5jdGlvbihlKXtyZXR1cm4gYigpLm9mZihlKSxhLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pLmd1aWQ9YS5ndWlkfHwoYS5ndWlkPWIuZ3VpZCsrKSksZS5lYWNoKGZ1bmN0aW9uKCl7Yi5ldmVudC5hZGQodGhpcyx0LGkscixuKX0pfWZ1bmN0aW9uIFNlKGUsdCxuKXtuPyhHLnNldChlLHQsITEpLGIuZXZlbnQuYWRkKGUsdCx7bmFtZXNwYWNlOiExLGhhbmRsZXI6ZnVuY3Rpb24oZSl7dmFyIHIsbyxhPUcuZ2V0KHRoaXMsdCk7aWYoMSZlLmlzVHJpZ2dlciYmdGhpc1t0XSl7aWYoYS5sZW5ndGgpKGIuZXZlbnQuc3BlY2lhbFt0XXx8e30pLmRlbGVnYXRlVHlwZSYmZS5zdG9wUHJvcGFnYXRpb24oKTtlbHNlIGlmKGE9aS5jYWxsKGFyZ3VtZW50cyksRy5zZXQodGhpcyx0LGEpLHI9bih0aGlzLHQpLHRoaXNbdF0oKSxhIT09KG89Ry5nZXQodGhpcyx0KSl8fHI/Ry5zZXQodGhpcyx0LCExKTpvPXt9LGEhPT1vKXJldHVybiBlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLGUucHJldmVudERlZmF1bHQoKSxvJiZvLnZhbHVlfWVsc2UgYS5sZW5ndGgmJihHLnNldCh0aGlzLHQse3ZhbHVlOmIuZXZlbnQudHJpZ2dlcihiLmV4dGVuZChhWzBdLGIuRXZlbnQucHJvdG90eXBlKSxhLnNsaWNlKDEpLHRoaXMpfSksZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSl9fSkpOnZvaWQgMD09PUcuZ2V0KGUsdCkmJmIuZXZlbnQuYWRkKGUsdCx3ZSl9Yi5ldmVudD17Z2xvYmFsOnt9LGFkZDpmdW5jdGlvbihlLHQsbixyLGkpe3ZhciBvLGEscyx1LGwsYyxmLHAsZCxoLGcsdj1HLmdldChlKTtpZihYKGUpKWZvcihuLmhhbmRsZXImJihuPShvPW4pLmhhbmRsZXIsaT1vLnNlbGVjdG9yKSxpJiZiLmZpbmQubWF0Y2hlc1NlbGVjdG9yKG5lLGkpLG4uZ3VpZHx8KG4uZ3VpZD1iLmd1aWQrKyksKHU9di5ldmVudHMpfHwodT12LmV2ZW50cz1PYmplY3QuY3JlYXRlKG51bGwpKSwoYT12LmhhbmRsZSl8fChhPXYuaGFuZGxlPWZ1bmN0aW9uKHQpe3JldHVybiB2b2lkIDAhPT1iJiZiLmV2ZW50LnRyaWdnZXJlZCE9PXQudHlwZT9iLmV2ZW50LmRpc3BhdGNoLmFwcGx5KGUsYXJndW1lbnRzKTp2b2lkIDB9KSxsPSh0PSh0fHxcIlwiKS5tYXRjaChPKXx8W1wiXCJdKS5sZW5ndGg7bC0tOylkPWc9KHM9YmUuZXhlYyh0W2xdKXx8W10pWzFdLGg9KHNbMl18fFwiXCIpLnNwbGl0KFwiLlwiKS5zb3J0KCksZCYmKGY9Yi5ldmVudC5zcGVjaWFsW2RdfHx7fSxkPShpP2YuZGVsZWdhdGVUeXBlOmYuYmluZFR5cGUpfHxkLGY9Yi5ldmVudC5zcGVjaWFsW2RdfHx7fSxjPWIuZXh0ZW5kKHt0eXBlOmQsb3JpZ1R5cGU6ZyxkYXRhOnIsaGFuZGxlcjpuLGd1aWQ6bi5ndWlkLHNlbGVjdG9yOmksbmVlZHNDb250ZXh0OmkmJmIuZXhwci5tYXRjaC5uZWVkc0NvbnRleHQudGVzdChpKSxuYW1lc3BhY2U6aC5qb2luKFwiLlwiKX0sbyksKHA9dVtkXSl8fCgocD11W2RdPVtdKS5kZWxlZ2F0ZUNvdW50PTAsZi5zZXR1cCYmITEhPT1mLnNldHVwLmNhbGwoZSxyLGgsYSl8fGUuYWRkRXZlbnRMaXN0ZW5lciYmZS5hZGRFdmVudExpc3RlbmVyKGQsYSkpLGYuYWRkJiYoZi5hZGQuY2FsbChlLGMpLGMuaGFuZGxlci5ndWlkfHwoYy5oYW5kbGVyLmd1aWQ9bi5ndWlkKSksaT9wLnNwbGljZShwLmRlbGVnYXRlQ291bnQrKywwLGMpOnAucHVzaChjKSxiLmV2ZW50Lmdsb2JhbFtkXT0hMCl9LHJlbW92ZTpmdW5jdGlvbihlLHQsbixyLGkpe3ZhciBvLGEscyx1LGwsYyxmLHAsZCxoLGcsdj1HLmhhc0RhdGEoZSkmJkcuZ2V0KGUpO2lmKHYmJih1PXYuZXZlbnRzKSl7Zm9yKGw9KHQ9KHR8fFwiXCIpLm1hdGNoKE8pfHxbXCJcIl0pLmxlbmd0aDtsLS07KWlmKGQ9Zz0ocz1iZS5leGVjKHRbbF0pfHxbXSlbMV0saD0oc1syXXx8XCJcIikuc3BsaXQoXCIuXCIpLnNvcnQoKSxkKXtmb3IoZj1iLmV2ZW50LnNwZWNpYWxbZF18fHt9LHA9dVtkPShyP2YuZGVsZWdhdGVUeXBlOmYuYmluZFR5cGUpfHxkXXx8W10scz1zWzJdJiZuZXcgUmVnRXhwKFwiKF58XFxcXC4pXCIraC5qb2luKFwiXFxcXC4oPzouKlxcXFwufClcIikrXCIoXFxcXC58JClcIiksYT1vPXAubGVuZ3RoO28tLTspYz1wW29dLCFpJiZnIT09Yy5vcmlnVHlwZXx8biYmbi5ndWlkIT09Yy5ndWlkfHxzJiYhcy50ZXN0KGMubmFtZXNwYWNlKXx8ciYmciE9PWMuc2VsZWN0b3ImJihcIioqXCIhPT1yfHwhYy5zZWxlY3Rvcil8fChwLnNwbGljZShvLDEpLGMuc2VsZWN0b3ImJnAuZGVsZWdhdGVDb3VudC0tLGYucmVtb3ZlJiZmLnJlbW92ZS5jYWxsKGUsYykpO2EmJiFwLmxlbmd0aCYmKGYudGVhcmRvd24mJiExIT09Zi50ZWFyZG93bi5jYWxsKGUsaCx2LmhhbmRsZSl8fGIucmVtb3ZlRXZlbnQoZSxkLHYuaGFuZGxlKSxkZWxldGUgdVtkXSl9ZWxzZSBmb3IoZCBpbiB1KWIuZXZlbnQucmVtb3ZlKGUsZCt0W2xdLG4sciwhMCk7Yi5pc0VtcHR5T2JqZWN0KHUpJiZHLnJlbW92ZShlLFwiaGFuZGxlIGV2ZW50c1wiKX19LGRpc3BhdGNoOmZ1bmN0aW9uKGUpe3ZhciB0LG4scixpLG8sYSxzPW5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoKSx1PWIuZXZlbnQuZml4KGUpLGw9KEcuZ2V0KHRoaXMsXCJldmVudHNcIil8fE9iamVjdC5jcmVhdGUobnVsbCkpW3UudHlwZV18fFtdLGM9Yi5ldmVudC5zcGVjaWFsW3UudHlwZV18fHt9O2ZvcihzWzBdPXUsdD0xO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspc1t0XT1hcmd1bWVudHNbdF07aWYodS5kZWxlZ2F0ZVRhcmdldD10aGlzLCFjLnByZURpc3BhdGNofHwhMSE9PWMucHJlRGlzcGF0Y2guY2FsbCh0aGlzLHUpKXtmb3IoYT1iLmV2ZW50LmhhbmRsZXJzLmNhbGwodGhpcyx1LGwpLHQ9MDsoaT1hW3QrK10pJiYhdS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpOylmb3IodS5jdXJyZW50VGFyZ2V0PWkuZWxlbSxuPTA7KG89aS5oYW5kbGVyc1tuKytdKSYmIXUuaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQoKTspdS5ybmFtZXNwYWNlJiYhMSE9PW8ubmFtZXNwYWNlJiYhdS5ybmFtZXNwYWNlLnRlc3Qoby5uYW1lc3BhY2UpfHwodS5oYW5kbGVPYmo9byx1LmRhdGE9by5kYXRhLHZvaWQgMCE9PShyPSgoYi5ldmVudC5zcGVjaWFsW28ub3JpZ1R5cGVdfHx7fSkuaGFuZGxlfHxvLmhhbmRsZXIpLmFwcGx5KGkuZWxlbSxzKSkmJiExPT09KHUucmVzdWx0PXIpJiYodS5wcmV2ZW50RGVmYXVsdCgpLHUuc3RvcFByb3BhZ2F0aW9uKCkpKTtyZXR1cm4gYy5wb3N0RGlzcGF0Y2gmJmMucG9zdERpc3BhdGNoLmNhbGwodGhpcyx1KSx1LnJlc3VsdH19LGhhbmRsZXJzOmZ1bmN0aW9uKGUsdCl7dmFyIG4scixpLG8sYSxzPVtdLHU9dC5kZWxlZ2F0ZUNvdW50LGw9ZS50YXJnZXQ7aWYodSYmbC5ub2RlVHlwZSYmIShcImNsaWNrXCI9PT1lLnR5cGUmJmUuYnV0dG9uPj0xKSlmb3IoO2whPT10aGlzO2w9bC5wYXJlbnROb2RlfHx0aGlzKWlmKDE9PT1sLm5vZGVUeXBlJiYoXCJjbGlja1wiIT09ZS50eXBlfHwhMCE9PWwuZGlzYWJsZWQpKXtmb3Iobz1bXSxhPXt9LG49MDtuPHU7bisrKXZvaWQgMD09PWFbaT0ocj10W25dKS5zZWxlY3RvcitcIiBcIl0mJihhW2ldPXIubmVlZHNDb250ZXh0P2IoaSx0aGlzKS5pbmRleChsKT4tMTpiLmZpbmQoaSx0aGlzLG51bGwsW2xdKS5sZW5ndGgpLGFbaV0mJm8ucHVzaChyKTtvLmxlbmd0aCYmcy5wdXNoKHtlbGVtOmwsaGFuZGxlcnM6b30pfXJldHVybiBsPXRoaXMsdTx0Lmxlbmd0aCYmcy5wdXNoKHtlbGVtOmwsaGFuZGxlcnM6dC5zbGljZSh1KX0pLHN9LGFkZFByb3A6ZnVuY3Rpb24oZSx0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkoYi5FdmVudC5wcm90b3R5cGUsZSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsZ2V0OmgodCk/ZnVuY3Rpb24oKXtpZih0aGlzLm9yaWdpbmFsRXZlbnQpcmV0dXJuIHQodGhpcy5vcmlnaW5hbEV2ZW50KX06ZnVuY3Rpb24oKXtpZih0aGlzLm9yaWdpbmFsRXZlbnQpcmV0dXJuIHRoaXMub3JpZ2luYWxFdmVudFtlXX0sc2V0OmZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLGUse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnR9KX19KX0sZml4OmZ1bmN0aW9uKGUpe3JldHVybiBlW2IuZXhwYW5kb10/ZTpuZXcgYi5FdmVudChlKX0sc3BlY2lhbDp7bG9hZDp7bm9CdWJibGU6ITB9LGNsaWNrOntzZXR1cDpmdW5jdGlvbihlKXt2YXIgdD10aGlzfHxlO3JldHVybiBwZS50ZXN0KHQudHlwZSkmJnQuY2xpY2smJmsodCxcImlucHV0XCIpJiZTZSh0LFwiY2xpY2tcIix3ZSksITF9LHRyaWdnZXI6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpc3x8ZTtyZXR1cm4gcGUudGVzdCh0LnR5cGUpJiZ0LmNsaWNrJiZrKHQsXCJpbnB1dFwiKSYmU2UodCxcImNsaWNrXCIpLCEwfSxfZGVmYXVsdDpmdW5jdGlvbihlKXt2YXIgdD1lLnRhcmdldDtyZXR1cm4gcGUudGVzdCh0LnR5cGUpJiZ0LmNsaWNrJiZrKHQsXCJpbnB1dFwiKSYmRy5nZXQodCxcImNsaWNrXCIpfHxrKHQsXCJhXCIpfX0sYmVmb3JldW5sb2FkOntwb3N0RGlzcGF0Y2g6ZnVuY3Rpb24oZSl7dm9pZCAwIT09ZS5yZXN1bHQmJmUub3JpZ2luYWxFdmVudCYmKGUub3JpZ2luYWxFdmVudC5yZXR1cm5WYWx1ZT1lLnJlc3VsdCl9fX19LGIucmVtb3ZlRXZlbnQ9ZnVuY3Rpb24oZSx0LG4pe2UucmVtb3ZlRXZlbnRMaXN0ZW5lciYmZS5yZW1vdmVFdmVudExpc3RlbmVyKHQsbil9LGIuRXZlbnQ9ZnVuY3Rpb24oZSx0KXtpZighKHRoaXMgaW5zdGFuY2VvZiBiLkV2ZW50KSlyZXR1cm4gbmV3IGIuRXZlbnQoZSx0KTtlJiZlLnR5cGU/KHRoaXMub3JpZ2luYWxFdmVudD1lLHRoaXMudHlwZT1lLnR5cGUsdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9ZS5kZWZhdWx0UHJldmVudGVkfHx2b2lkIDA9PT1lLmRlZmF1bHRQcmV2ZW50ZWQmJiExPT09ZS5yZXR1cm5WYWx1ZT93ZTpUZSx0aGlzLnRhcmdldD1lLnRhcmdldCYmMz09PWUudGFyZ2V0Lm5vZGVUeXBlP2UudGFyZ2V0LnBhcmVudE5vZGU6ZS50YXJnZXQsdGhpcy5jdXJyZW50VGFyZ2V0PWUuY3VycmVudFRhcmdldCx0aGlzLnJlbGF0ZWRUYXJnZXQ9ZS5yZWxhdGVkVGFyZ2V0KTp0aGlzLnR5cGU9ZSx0JiZiLmV4dGVuZCh0aGlzLHQpLHRoaXMudGltZVN0YW1wPWUmJmUudGltZVN0YW1wfHxEYXRlLm5vdygpLHRoaXNbYi5leHBhbmRvXT0hMH0sYi5FdmVudC5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOmIuRXZlbnQsaXNEZWZhdWx0UHJldmVudGVkOlRlLGlzUHJvcGFnYXRpb25TdG9wcGVkOlRlLGlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkOlRlLGlzU2ltdWxhdGVkOiExLHByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNEZWZhdWx0UHJldmVudGVkPXdlLGUmJiF0aGlzLmlzU2ltdWxhdGVkJiZlLnByZXZlbnREZWZhdWx0KCl9LHN0b3BQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3ZhciBlPXRoaXMub3JpZ2luYWxFdmVudDt0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPXdlLGUmJiF0aGlzLmlzU2ltdWxhdGVkJiZlLnN0b3BQcm9wYWdhdGlvbigpfSxzdG9wSW1tZWRpYXRlUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt2YXIgZT10aGlzLm9yaWdpbmFsRXZlbnQ7dGhpcy5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZD13ZSxlJiYhdGhpcy5pc1NpbXVsYXRlZCYmZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSx0aGlzLnN0b3BQcm9wYWdhdGlvbigpfX0sYi5lYWNoKHthbHRLZXk6ITAsYnViYmxlczohMCxjYW5jZWxhYmxlOiEwLGNoYW5nZWRUb3VjaGVzOiEwLGN0cmxLZXk6ITAsZGV0YWlsOiEwLGV2ZW50UGhhc2U6ITAsbWV0YUtleTohMCxwYWdlWDohMCxwYWdlWTohMCxzaGlmdEtleTohMCx2aWV3OiEwLGNoYXI6ITAsY29kZTohMCxjaGFyQ29kZTohMCxrZXk6ITAsa2V5Q29kZTohMCxidXR0b246ITAsYnV0dG9uczohMCxjbGllbnRYOiEwLGNsaWVudFk6ITAsb2Zmc2V0WDohMCxvZmZzZXRZOiEwLHBvaW50ZXJJZDohMCxwb2ludGVyVHlwZTohMCxzY3JlZW5YOiEwLHNjcmVlblk6ITAsdGFyZ2V0VG91Y2hlczohMCx0b0VsZW1lbnQ6ITAsdG91Y2hlczohMCx3aGljaDohMH0sYi5ldmVudC5hZGRQcm9wKSxiLmVhY2goe2ZvY3VzOlwiZm9jdXNpblwiLGJsdXI6XCJmb2N1c291dFwifSxmdW5jdGlvbihlLHQpe2IuZXZlbnQuc3BlY2lhbFtlXT17c2V0dXA6ZnVuY3Rpb24oKXtyZXR1cm4gU2UodGhpcyxlLENlKSwhMX0sdHJpZ2dlcjpmdW5jdGlvbigpe3JldHVybiBTZSh0aGlzLGUpLCEwfSxfZGVmYXVsdDpmdW5jdGlvbigpe3JldHVybiEwfSxkZWxlZ2F0ZVR5cGU6dH19KSxiLmVhY2goe21vdXNlZW50ZXI6XCJtb3VzZW92ZXJcIixtb3VzZWxlYXZlOlwibW91c2VvdXRcIixwb2ludGVyZW50ZXI6XCJwb2ludGVyb3ZlclwiLHBvaW50ZXJsZWF2ZTpcInBvaW50ZXJvdXRcIn0sZnVuY3Rpb24oZSx0KXtiLmV2ZW50LnNwZWNpYWxbZV09e2RlbGVnYXRlVHlwZTp0LGJpbmRUeXBlOnQsaGFuZGxlOmZ1bmN0aW9uKGUpe3ZhciBuLHI9ZS5yZWxhdGVkVGFyZ2V0LGk9ZS5oYW5kbGVPYmo7cmV0dXJuIHImJihyPT09dGhpc3x8Yi5jb250YWlucyh0aGlzLHIpKXx8KGUudHlwZT1pLm9yaWdUeXBlLG49aS5oYW5kbGVyLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxlLnR5cGU9dCksbn19fSksYi5mbi5leHRlbmQoe29uOmZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiBFZSh0aGlzLGUsdCxuLHIpfSxvbmU6ZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuIEVlKHRoaXMsZSx0LG4sciwxKX0sb2ZmOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpO2lmKGUmJmUucHJldmVudERlZmF1bHQmJmUuaGFuZGxlT2JqKXJldHVybiByPWUuaGFuZGxlT2JqLGIoZS5kZWxlZ2F0ZVRhcmdldCkub2ZmKHIubmFtZXNwYWNlP3Iub3JpZ1R5cGUrXCIuXCIrci5uYW1lc3BhY2U6ci5vcmlnVHlwZSxyLnNlbGVjdG9yLHIuaGFuZGxlciksdGhpcztpZihcIm9iamVjdFwiPT10eXBlb2YgZSl7Zm9yKGkgaW4gZSl0aGlzLm9mZihpLHQsZVtpXSk7cmV0dXJuIHRoaXN9cmV0dXJuITEhPT10JiZcImZ1bmN0aW9uXCIhPXR5cGVvZiB0fHwobj10LHQ9dm9pZCAwKSwhMT09PW4mJihuPVRlKSx0aGlzLmVhY2goZnVuY3Rpb24oKXtiLmV2ZW50LnJlbW92ZSh0aGlzLGUsbix0KX0pfX0pO3ZhciBrZT0vPHNjcmlwdHw8c3R5bGV8PGxpbmsvaSxBZT0vY2hlY2tlZFxccyooPzpbXj1dfD1cXHMqLmNoZWNrZWQuKS9pLE5lPS9eXFxzKjwhKD86XFxbQ0RBVEFcXFt8LS0pfCg/OlxcXVxcXXwtLSk+XFxzKiQvZztmdW5jdGlvbiBqZShlLHQpe3JldHVybiBrKGUsXCJ0YWJsZVwiKSYmaygxMSE9PXQubm9kZVR5cGU/dDp0LmZpcnN0Q2hpbGQsXCJ0clwiKSYmYihlKS5jaGlsZHJlbihcInRib2R5XCIpWzBdfHxlfWZ1bmN0aW9uIERlKGUpe3JldHVybiBlLnR5cGU9KG51bGwhPT1lLmdldEF0dHJpYnV0ZShcInR5cGVcIikpK1wiL1wiK2UudHlwZSxlfWZ1bmN0aW9uIHFlKGUpe3JldHVyblwidHJ1ZS9cIj09PShlLnR5cGV8fFwiXCIpLnNsaWNlKDAsNSk/ZS50eXBlPWUudHlwZS5zbGljZSg1KTplLnJlbW92ZUF0dHJpYnV0ZShcInR5cGVcIiksZX1mdW5jdGlvbiBMZShlLHQpe3ZhciBuLHIsaSxvLGEscztpZigxPT09dC5ub2RlVHlwZSl7aWYoRy5oYXNEYXRhKGUpJiYocz1HLmdldChlKS5ldmVudHMpKWZvcihpIGluIEcucmVtb3ZlKHQsXCJoYW5kbGUgZXZlbnRzXCIpLHMpZm9yKG49MCxyPXNbaV0ubGVuZ3RoO248cjtuKyspYi5ldmVudC5hZGQodCxpLHNbaV1bbl0pO1kuaGFzRGF0YShlKSYmKG89WS5hY2Nlc3MoZSksYT1iLmV4dGVuZCh7fSxvKSxZLnNldCh0LGEpKX19ZnVuY3Rpb24gSGUoZSx0LG4scil7dD1vKHQpO3ZhciBpLGEscyx1LGwsYyxmPTAscD1lLmxlbmd0aCxnPXAtMSx2PXRbMF0seT1oKHYpO2lmKHl8fHA+MSYmXCJzdHJpbmdcIj09dHlwZW9mIHYmJiFkLmNoZWNrQ2xvbmUmJkFlLnRlc3QodikpcmV0dXJuIGUuZWFjaChmdW5jdGlvbihpKXt2YXIgbz1lLmVxKGkpO3kmJih0WzBdPXYuY2FsbCh0aGlzLGksby5odG1sKCkpKSxIZShvLHQsbixyKX0pO2lmKHAmJihhPShpPXhlKHQsZVswXS5vd25lckRvY3VtZW50LCExLGUscikpLmZpcnN0Q2hpbGQsMT09PWkuY2hpbGROb2Rlcy5sZW5ndGgmJihpPWEpLGF8fHIpKXtmb3IodT0ocz1iLm1hcCh2ZShpLFwic2NyaXB0XCIpLERlKSkubGVuZ3RoO2Y8cDtmKyspbD1pLGYhPT1nJiYobD1iLmNsb25lKGwsITAsITApLHUmJmIubWVyZ2Uocyx2ZShsLFwic2NyaXB0XCIpKSksbi5jYWxsKGVbZl0sbCxmKTtpZih1KWZvcihjPXNbcy5sZW5ndGgtMV0ub3duZXJEb2N1bWVudCxiLm1hcChzLHFlKSxmPTA7Zjx1O2YrKylsPXNbZl0saGUudGVzdChsLnR5cGV8fFwiXCIpJiYhRy5hY2Nlc3MobCxcImdsb2JhbEV2YWxcIikmJmIuY29udGFpbnMoYyxsKSYmKGwuc3JjJiZcIm1vZHVsZVwiIT09KGwudHlwZXx8XCJcIikudG9Mb3dlckNhc2UoKT9iLl9ldmFsVXJsJiYhbC5ub01vZHVsZSYmYi5fZXZhbFVybChsLnNyYyx7bm9uY2U6bC5ub25jZXx8bC5nZXRBdHRyaWJ1dGUoXCJub25jZVwiKX0sYyk6bShsLnRleHRDb250ZW50LnJlcGxhY2UoTmUsXCJcIiksbCxjKSl9cmV0dXJuIGV9ZnVuY3Rpb24gT2UoZSx0LG4pe2Zvcih2YXIgcixpPXQ/Yi5maWx0ZXIodCxlKTplLG89MDtudWxsIT0ocj1pW29dKTtvKyspbnx8MSE9PXIubm9kZVR5cGV8fGIuY2xlYW5EYXRhKHZlKHIpKSxyLnBhcmVudE5vZGUmJihuJiZyZShyKSYmeWUodmUocixcInNjcmlwdFwiKSksci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHIpKTtyZXR1cm4gZX1iLmV4dGVuZCh7aHRtbFByZWZpbHRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZX0sY2xvbmU6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbyxhLHMsdSxsLGM9ZS5jbG9uZU5vZGUoITApLGY9cmUoZSk7aWYoIShkLm5vQ2xvbmVDaGVja2VkfHwxIT09ZS5ub2RlVHlwZSYmMTEhPT1lLm5vZGVUeXBlfHxiLmlzWE1MRG9jKGUpKSlmb3IoYT12ZShjKSxyPTAsaT0obz12ZShlKSkubGVuZ3RoO3I8aTtyKyspcz1vW3JdLHU9YVtyXSxsPXZvaWQgMCxcImlucHV0XCI9PT0obD11Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpJiZwZS50ZXN0KHMudHlwZSk/dS5jaGVja2VkPXMuY2hlY2tlZDpcImlucHV0XCIhPT1sJiZcInRleHRhcmVhXCIhPT1sfHwodS5kZWZhdWx0VmFsdWU9cy5kZWZhdWx0VmFsdWUpO2lmKHQpaWYobilmb3Iobz1vfHx2ZShlKSxhPWF8fHZlKGMpLHI9MCxpPW8ubGVuZ3RoO3I8aTtyKyspTGUob1tyXSxhW3JdKTtlbHNlIExlKGUsYyk7cmV0dXJuKGE9dmUoYyxcInNjcmlwdFwiKSkubGVuZ3RoPjAmJnllKGEsIWYmJnZlKGUsXCJzY3JpcHRcIikpLGN9LGNsZWFuRGF0YTpmdW5jdGlvbihlKXtmb3IodmFyIHQsbixyLGk9Yi5ldmVudC5zcGVjaWFsLG89MDt2b2lkIDAhPT0obj1lW29dKTtvKyspaWYoWChuKSl7aWYodD1uW0cuZXhwYW5kb10pe2lmKHQuZXZlbnRzKWZvcihyIGluIHQuZXZlbnRzKWlbcl0/Yi5ldmVudC5yZW1vdmUobixyKTpiLnJlbW92ZUV2ZW50KG4scix0LmhhbmRsZSk7bltHLmV4cGFuZG9dPXZvaWQgMH1uW1kuZXhwYW5kb10mJihuW1kuZXhwYW5kb109dm9pZCAwKX19fSksYi5mbi5leHRlbmQoe2RldGFjaDpmdW5jdGlvbihlKXtyZXR1cm4gT2UodGhpcyxlLCEwKX0scmVtb3ZlOmZ1bmN0aW9uKGUpe3JldHVybiBPZSh0aGlzLGUpfSx0ZXh0OmZ1bmN0aW9uKGUpe3JldHVybiBCKHRoaXMsZnVuY3Rpb24oZSl7cmV0dXJuIHZvaWQgMD09PWU/Yi50ZXh0KHRoaXMpOnRoaXMuZW1wdHkoKS5lYWNoKGZ1bmN0aW9uKCl7MSE9PXRoaXMubm9kZVR5cGUmJjExIT09dGhpcy5ub2RlVHlwZSYmOSE9PXRoaXMubm9kZVR5cGV8fCh0aGlzLnRleHRDb250ZW50PWUpfSl9LG51bGwsZSxhcmd1bWVudHMubGVuZ3RoKX0sYXBwZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIEhlKHRoaXMsYXJndW1lbnRzLGZ1bmN0aW9uKGUpezEhPT10aGlzLm5vZGVUeXBlJiYxMSE9PXRoaXMubm9kZVR5cGUmJjkhPT10aGlzLm5vZGVUeXBlfHxqZSh0aGlzLGUpLmFwcGVuZENoaWxkKGUpfSl9LHByZXBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gSGUodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oZSl7aWYoMT09PXRoaXMubm9kZVR5cGV8fDExPT09dGhpcy5ub2RlVHlwZXx8OT09PXRoaXMubm9kZVR5cGUpe3ZhciB0PWplKHRoaXMsZSk7dC5pbnNlcnRCZWZvcmUoZSx0LmZpcnN0Q2hpbGQpfX0pfSxiZWZvcmU6ZnVuY3Rpb24oKXtyZXR1cm4gSGUodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oZSl7dGhpcy5wYXJlbnROb2RlJiZ0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGUsdGhpcyl9KX0sYWZ0ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gSGUodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oZSl7dGhpcy5wYXJlbnROb2RlJiZ0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGUsdGhpcy5uZXh0U2libGluZyl9KX0sZW1wdHk6ZnVuY3Rpb24oKXtmb3IodmFyIGUsdD0wO251bGwhPShlPXRoaXNbdF0pO3QrKykxPT09ZS5ub2RlVHlwZSYmKGIuY2xlYW5EYXRhKHZlKGUsITEpKSxlLnRleHRDb250ZW50PVwiXCIpO3JldHVybiB0aGlzfSxjbG9uZTpmdW5jdGlvbihlLHQpe3JldHVybiBlPW51bGwhPWUmJmUsdD1udWxsPT10P2U6dCx0aGlzLm1hcChmdW5jdGlvbigpe3JldHVybiBiLmNsb25lKHRoaXMsZSx0KX0pfSxodG1sOmZ1bmN0aW9uKGUpe3JldHVybiBCKHRoaXMsZnVuY3Rpb24oZSl7dmFyIHQ9dGhpc1swXXx8e30sbj0wLHI9dGhpcy5sZW5ndGg7aWYodm9pZCAwPT09ZSYmMT09PXQubm9kZVR5cGUpcmV0dXJuIHQuaW5uZXJIVE1MO2lmKFwic3RyaW5nXCI9PXR5cGVvZiBlJiYha2UudGVzdChlKSYmIWdlWyhkZS5leGVjKGUpfHxbXCJcIixcIlwiXSlbMV0udG9Mb3dlckNhc2UoKV0pe2U9Yi5odG1sUHJlZmlsdGVyKGUpO3RyeXtmb3IoO248cjtuKyspMT09PSh0PXRoaXNbbl18fHt9KS5ub2RlVHlwZSYmKGIuY2xlYW5EYXRhKHZlKHQsITEpKSx0LmlubmVySFRNTD1lKTt0PTB9Y2F0Y2goZSl7fX10JiZ0aGlzLmVtcHR5KCkuYXBwZW5kKGUpfSxudWxsLGUsYXJndW1lbnRzLmxlbmd0aCl9LHJlcGxhY2VXaXRoOmZ1bmN0aW9uKCl7dmFyIGU9W107cmV0dXJuIEhlKHRoaXMsYXJndW1lbnRzLGZ1bmN0aW9uKHQpe3ZhciBuPXRoaXMucGFyZW50Tm9kZTtiLmluQXJyYXkodGhpcyxlKTwwJiYoYi5jbGVhbkRhdGEodmUodGhpcykpLG4mJm4ucmVwbGFjZUNoaWxkKHQsdGhpcykpfSxlKX19KSxiLmVhY2goe2FwcGVuZFRvOlwiYXBwZW5kXCIscHJlcGVuZFRvOlwicHJlcGVuZFwiLGluc2VydEJlZm9yZTpcImJlZm9yZVwiLGluc2VydEFmdGVyOlwiYWZ0ZXJcIixyZXBsYWNlQWxsOlwicmVwbGFjZVdpdGhcIn0sZnVuY3Rpb24oZSx0KXtiLmZuW2VdPWZ1bmN0aW9uKGUpe2Zvcih2YXIgbixyPVtdLGk9YihlKSxvPWkubGVuZ3RoLTEscz0wO3M8PW87cysrKW49cz09PW8/dGhpczp0aGlzLmNsb25lKCEwKSxiKGlbc10pW3RdKG4pLGEuYXBwbHkocixuLmdldCgpKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2socil9fSk7dmFyIFBlPW5ldyBSZWdFeHAoXCJeKFwiK1orXCIpKD8hcHgpW2EteiVdKyRcIixcImlcIiksUmU9ZnVuY3Rpb24odCl7dmFyIG49dC5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3O3JldHVybiBuJiZuLm9wZW5lcnx8KG49ZSksbi5nZXRDb21wdXRlZFN0eWxlKHQpfSxNZT1mdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvPXt9O2ZvcihpIGluIHQpb1tpXT1lLnN0eWxlW2ldLGUuc3R5bGVbaV09dFtpXTtmb3IoaSBpbiByPW4uY2FsbChlKSx0KWUuc3R5bGVbaV09b1tpXTtyZXR1cm4gcn0sSWU9bmV3IFJlZ0V4cCh0ZS5qb2luKFwifFwiKSxcImlcIik7ZnVuY3Rpb24gV2UoZSx0LG4pe3ZhciByLGksbyxhLHM9ZS5zdHlsZTtyZXR1cm4obj1ufHxSZShlKSkmJihcIlwiIT09KGE9bi5nZXRQcm9wZXJ0eVZhbHVlKHQpfHxuW3RdKXx8cmUoZSl8fChhPWIuc3R5bGUoZSx0KSksIWQucGl4ZWxCb3hTdHlsZXMoKSYmUGUudGVzdChhKSYmSWUudGVzdCh0KSYmKHI9cy53aWR0aCxpPXMubWluV2lkdGgsbz1zLm1heFdpZHRoLHMubWluV2lkdGg9cy5tYXhXaWR0aD1zLndpZHRoPWEsYT1uLndpZHRoLHMud2lkdGg9cixzLm1pbldpZHRoPWkscy5tYXhXaWR0aD1vKSksdm9pZCAwIT09YT9hK1wiXCI6YX1mdW5jdGlvbiBGZShlLHQpe3JldHVybntnZXQ6ZnVuY3Rpb24oKXtpZighZSgpKXJldHVybih0aGlzLmdldD10KS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7ZGVsZXRlIHRoaXMuZ2V0fX19IWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe2lmKGMpe2wuc3R5bGUuY3NzVGV4dD1cInBvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTExMTExcHg7d2lkdGg6NjBweDttYXJnaW4tdG9wOjFweDtwYWRkaW5nOjA7Ym9yZGVyOjBcIixjLnN0eWxlLmNzc1RleHQ9XCJwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveDtvdmVyZmxvdzpzY3JvbGw7bWFyZ2luOmF1dG87Ym9yZGVyOjFweDtwYWRkaW5nOjFweDt3aWR0aDo2MCU7dG9wOjElXCIsbmUuYXBwZW5kQ2hpbGQobCkuYXBwZW5kQ2hpbGQoYyk7dmFyIHQ9ZS5nZXRDb21wdXRlZFN0eWxlKGMpO3I9XCIxJVwiIT09dC50b3AsdT0xMj09PW4odC5tYXJnaW5MZWZ0KSxjLnN0eWxlLnJpZ2h0PVwiNjAlXCIsYT0zNj09PW4odC5yaWdodCksaT0zNj09PW4odC53aWR0aCksYy5zdHlsZS5wb3NpdGlvbj1cImFic29sdXRlXCIsbz0xMj09PW4oYy5vZmZzZXRXaWR0aC8zKSxuZS5yZW1vdmVDaGlsZChsKSxjPW51bGx9fWZ1bmN0aW9uIG4oZSl7cmV0dXJuIE1hdGgucm91bmQocGFyc2VGbG9hdChlKSl9dmFyIHIsaSxvLGEscyx1LGw9di5jcmVhdGVFbGVtZW50KFwiZGl2XCIpLGM9di5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO2Muc3R5bGUmJihjLnN0eWxlLmJhY2tncm91bmRDbGlwPVwiY29udGVudC1ib3hcIixjLmNsb25lTm9kZSghMCkuc3R5bGUuYmFja2dyb3VuZENsaXA9XCJcIixkLmNsZWFyQ2xvbmVTdHlsZT1cImNvbnRlbnQtYm94XCI9PT1jLnN0eWxlLmJhY2tncm91bmRDbGlwLGIuZXh0ZW5kKGQse2JveFNpemluZ1JlbGlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIHQoKSxpfSxwaXhlbEJveFN0eWxlczpmdW5jdGlvbigpe3JldHVybiB0KCksYX0scGl4ZWxQb3NpdGlvbjpmdW5jdGlvbigpe3JldHVybiB0KCkscn0scmVsaWFibGVNYXJnaW5MZWZ0OmZ1bmN0aW9uKCl7cmV0dXJuIHQoKSx1fSxzY3JvbGxib3hTaXplOmZ1bmN0aW9uKCl7cmV0dXJuIHQoKSxvfSxyZWxpYWJsZVRyRGltZW5zaW9uczpmdW5jdGlvbigpe3ZhciB0LG4scixpO3JldHVybiBudWxsPT1zJiYodD12LmNyZWF0ZUVsZW1lbnQoXCJ0YWJsZVwiKSxuPXYuY3JlYXRlRWxlbWVudChcInRyXCIpLHI9di5jcmVhdGVFbGVtZW50KFwiZGl2XCIpLHQuc3R5bGUuY3NzVGV4dD1cInBvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTExMTExcHg7Ym9yZGVyLWNvbGxhcHNlOnNlcGFyYXRlXCIsbi5zdHlsZS5jc3NUZXh0PVwiYm9yZGVyOjFweCBzb2xpZFwiLG4uc3R5bGUuaGVpZ2h0PVwiMXB4XCIsci5zdHlsZS5oZWlnaHQ9XCI5cHhcIixyLnN0eWxlLmRpc3BsYXk9XCJibG9ja1wiLG5lLmFwcGVuZENoaWxkKHQpLmFwcGVuZENoaWxkKG4pLmFwcGVuZENoaWxkKHIpLGk9ZS5nZXRDb21wdXRlZFN0eWxlKG4pLHM9cGFyc2VJbnQoaS5oZWlnaHQsMTApK3BhcnNlSW50KGkuYm9yZGVyVG9wV2lkdGgsMTApK3BhcnNlSW50KGkuYm9yZGVyQm90dG9tV2lkdGgsMTApPT09bi5vZmZzZXRIZWlnaHQsbmUucmVtb3ZlQ2hpbGQodCkpLHN9fSkpfSgpO3ZhciBCZT1bXCJXZWJraXRcIixcIk1velwiLFwibXNcIl0sJGU9di5jcmVhdGVFbGVtZW50KFwiZGl2XCIpLnN0eWxlLF9lPXt9O2Z1bmN0aW9uIHplKGUpe3ZhciB0PWIuY3NzUHJvcHNbZV18fF9lW2VdO3JldHVybiB0fHwoZSBpbiAkZT9lOl9lW2VdPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1lWzBdLnRvVXBwZXJDYXNlKCkrZS5zbGljZSgxKSxuPUJlLmxlbmd0aDtuLS07KWlmKChlPUJlW25dK3QpaW4gJGUpcmV0dXJuIGV9KGUpfHxlKX12YXIgVWU9L14obm9uZXx0YWJsZSg/IS1jW2VhXSkuKykvLFhlPS9eLS0vLFZlPXtwb3NpdGlvbjpcImFic29sdXRlXCIsdmlzaWJpbGl0eTpcImhpZGRlblwiLGRpc3BsYXk6XCJibG9ja1wifSxHZT17bGV0dGVyU3BhY2luZzpcIjBcIixmb250V2VpZ2h0OlwiNDAwXCJ9O2Z1bmN0aW9uIFllKGUsdCxuKXt2YXIgcj1lZS5leGVjKHQpO3JldHVybiByP01hdGgubWF4KDAsclsyXS0obnx8MCkpKyhyWzNdfHxcInB4XCIpOnR9ZnVuY3Rpb24gUWUoZSx0LG4scixpLG8pe3ZhciBhPVwid2lkdGhcIj09PXQ/MTowLHM9MCx1PTA7aWYobj09PShyP1wiYm9yZGVyXCI6XCJjb250ZW50XCIpKXJldHVybiAwO2Zvcig7YTw0O2ErPTIpXCJtYXJnaW5cIj09PW4mJih1Kz1iLmNzcyhlLG4rdGVbYV0sITAsaSkpLHI/KFwiY29udGVudFwiPT09biYmKHUtPWIuY3NzKGUsXCJwYWRkaW5nXCIrdGVbYV0sITAsaSkpLFwibWFyZ2luXCIhPT1uJiYodS09Yi5jc3MoZSxcImJvcmRlclwiK3RlW2FdK1wiV2lkdGhcIiwhMCxpKSkpOih1Kz1iLmNzcyhlLFwicGFkZGluZ1wiK3RlW2FdLCEwLGkpLFwicGFkZGluZ1wiIT09bj91Kz1iLmNzcyhlLFwiYm9yZGVyXCIrdGVbYV0rXCJXaWR0aFwiLCEwLGkpOnMrPWIuY3NzKGUsXCJib3JkZXJcIit0ZVthXStcIldpZHRoXCIsITAsaSkpO3JldHVybiFyJiZvPj0wJiYodSs9TWF0aC5tYXgoMCxNYXRoLmNlaWwoZVtcIm9mZnNldFwiK3RbMF0udG9VcHBlckNhc2UoKSt0LnNsaWNlKDEpXS1vLXUtcy0uNSkpfHwwKSx1fWZ1bmN0aW9uIEplKGUsdCxuKXt2YXIgcj1SZShlKSxpPSghZC5ib3hTaXppbmdSZWxpYWJsZSgpfHxuKSYmXCJib3JkZXItYm94XCI9PT1iLmNzcyhlLFwiYm94U2l6aW5nXCIsITEsciksbz1pLGE9V2UoZSx0LHIpLHM9XCJvZmZzZXRcIit0WzBdLnRvVXBwZXJDYXNlKCkrdC5zbGljZSgxKTtpZihQZS50ZXN0KGEpKXtpZighbilyZXR1cm4gYTthPVwiYXV0b1wifXJldHVybighZC5ib3hTaXppbmdSZWxpYWJsZSgpJiZpfHwhZC5yZWxpYWJsZVRyRGltZW5zaW9ucygpJiZrKGUsXCJ0clwiKXx8XCJhdXRvXCI9PT1hfHwhcGFyc2VGbG9hdChhKSYmXCJpbmxpbmVcIj09PWIuY3NzKGUsXCJkaXNwbGF5XCIsITEscikpJiZlLmdldENsaWVudFJlY3RzKCkubGVuZ3RoJiYoaT1cImJvcmRlci1ib3hcIj09PWIuY3NzKGUsXCJib3hTaXppbmdcIiwhMSxyKSwobz1zIGluIGUpJiYoYT1lW3NdKSksKGE9cGFyc2VGbG9hdChhKXx8MCkrUWUoZSx0LG58fChpP1wiYm9yZGVyXCI6XCJjb250ZW50XCIpLG8scixhKStcInB4XCJ9ZnVuY3Rpb24gS2UoZSx0LG4scixpKXtyZXR1cm4gbmV3IEtlLnByb3RvdHlwZS5pbml0KGUsdCxuLHIsaSl9Yi5leHRlbmQoe2Nzc0hvb2tzOntvcGFjaXR5OntnZXQ6ZnVuY3Rpb24oZSx0KXtpZih0KXt2YXIgbj1XZShlLFwib3BhY2l0eVwiKTtyZXR1cm5cIlwiPT09bj9cIjFcIjpufX19fSxjc3NOdW1iZXI6e2FuaW1hdGlvbkl0ZXJhdGlvbkNvdW50OiEwLGNvbHVtbkNvdW50OiEwLGZpbGxPcGFjaXR5OiEwLGZsZXhHcm93OiEwLGZsZXhTaHJpbms6ITAsZm9udFdlaWdodDohMCxncmlkQXJlYTohMCxncmlkQ29sdW1uOiEwLGdyaWRDb2x1bW5FbmQ6ITAsZ3JpZENvbHVtblN0YXJ0OiEwLGdyaWRSb3c6ITAsZ3JpZFJvd0VuZDohMCxncmlkUm93U3RhcnQ6ITAsbGluZUhlaWdodDohMCxvcGFjaXR5OiEwLG9yZGVyOiEwLG9ycGhhbnM6ITAsd2lkb3dzOiEwLHpJbmRleDohMCx6b29tOiEwfSxjc3NQcm9wczp7fSxzdHlsZTpmdW5jdGlvbihlLHQsbixyKXtpZihlJiYzIT09ZS5ub2RlVHlwZSYmOCE9PWUubm9kZVR5cGUmJmUuc3R5bGUpe3ZhciBpLG8sYSxzPVUodCksdT1YZS50ZXN0KHQpLGw9ZS5zdHlsZTtpZih1fHwodD16ZShzKSksYT1iLmNzc0hvb2tzW3RdfHxiLmNzc0hvb2tzW3NdLHZvaWQgMD09PW4pcmV0dXJuIGEmJlwiZ2V0XCJpbiBhJiZ2b2lkIDAhPT0oaT1hLmdldChlLCExLHIpKT9pOmxbdF07XCJzdHJpbmdcIj09PShvPXR5cGVvZiBuKSYmKGk9ZWUuZXhlYyhuKSkmJmlbMV0mJihuPWFlKGUsdCxpKSxvPVwibnVtYmVyXCIpLG51bGwhPW4mJm49PW4mJihcIm51bWJlclwiIT09b3x8dXx8KG4rPWkmJmlbM118fChiLmNzc051bWJlcltzXT9cIlwiOlwicHhcIikpLGQuY2xlYXJDbG9uZVN0eWxlfHxcIlwiIT09bnx8MCE9PXQuaW5kZXhPZihcImJhY2tncm91bmRcIil8fChsW3RdPVwiaW5oZXJpdFwiKSxhJiZcInNldFwiaW4gYSYmdm9pZCAwPT09KG49YS5zZXQoZSxuLHIpKXx8KHU/bC5zZXRQcm9wZXJ0eSh0LG4pOmxbdF09bikpfX0sY3NzOmZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBpLG8sYSxzPVUodCk7cmV0dXJuIFhlLnRlc3QodCl8fCh0PXplKHMpKSwoYT1iLmNzc0hvb2tzW3RdfHxiLmNzc0hvb2tzW3NdKSYmXCJnZXRcImluIGEmJihpPWEuZ2V0KGUsITAsbikpLHZvaWQgMD09PWkmJihpPVdlKGUsdCxyKSksXCJub3JtYWxcIj09PWkmJnQgaW4gR2UmJihpPUdlW3RdKSxcIlwiPT09bnx8bj8obz1wYXJzZUZsb2F0KGkpLCEwPT09bnx8aXNGaW5pdGUobyk/b3x8MDppKTppfX0pLGIuZWFjaChbXCJoZWlnaHRcIixcIndpZHRoXCJdLGZ1bmN0aW9uKGUsdCl7Yi5jc3NIb29rc1t0XT17Z2V0OmZ1bmN0aW9uKGUsbixyKXtpZihuKXJldHVybiFVZS50ZXN0KGIuY3NzKGUsXCJkaXNwbGF5XCIpKXx8ZS5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCYmZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aD9KZShlLHQscik6TWUoZSxWZSxmdW5jdGlvbigpe3JldHVybiBKZShlLHQscil9KX0sc2V0OmZ1bmN0aW9uKGUsbixyKXt2YXIgaSxvPVJlKGUpLGE9IWQuc2Nyb2xsYm94U2l6ZSgpJiZcImFic29sdXRlXCI9PT1vLnBvc2l0aW9uLHM9KGF8fHIpJiZcImJvcmRlci1ib3hcIj09PWIuY3NzKGUsXCJib3hTaXppbmdcIiwhMSxvKSx1PXI/UWUoZSx0LHIscyxvKTowO3JldHVybiBzJiZhJiYodS09TWF0aC5jZWlsKGVbXCJvZmZzZXRcIit0WzBdLnRvVXBwZXJDYXNlKCkrdC5zbGljZSgxKV0tcGFyc2VGbG9hdChvW3RdKS1RZShlLHQsXCJib3JkZXJcIiwhMSxvKS0uNSkpLHUmJihpPWVlLmV4ZWMobikpJiZcInB4XCIhPT0oaVszXXx8XCJweFwiKSYmKGUuc3R5bGVbdF09bixuPWIuY3NzKGUsdCkpLFllKDAsbix1KX19fSksYi5jc3NIb29rcy5tYXJnaW5MZWZ0PUZlKGQucmVsaWFibGVNYXJnaW5MZWZ0LGZ1bmN0aW9uKGUsdCl7aWYodClyZXR1cm4ocGFyc2VGbG9hdChXZShlLFwibWFyZ2luTGVmdFwiKSl8fGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdC1NZShlLHttYXJnaW5MZWZ0OjB9LGZ1bmN0aW9uKCl7cmV0dXJuIGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdH0pKStcInB4XCJ9KSxiLmVhY2goe21hcmdpbjpcIlwiLHBhZGRpbmc6XCJcIixib3JkZXI6XCJXaWR0aFwifSxmdW5jdGlvbihlLHQpe2IuY3NzSG9va3NbZSt0XT17ZXhwYW5kOmZ1bmN0aW9uKG4pe2Zvcih2YXIgcj0wLGk9e30sbz1cInN0cmluZ1wiPT10eXBlb2Ygbj9uLnNwbGl0KFwiIFwiKTpbbl07cjw0O3IrKylpW2UrdGVbcl0rdF09b1tyXXx8b1tyLTJdfHxvWzBdO3JldHVybiBpfX0sXCJtYXJnaW5cIiE9PWUmJihiLmNzc0hvb2tzW2UrdF0uc2V0PVllKX0pLGIuZm4uZXh0ZW5kKHtjc3M6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gQih0aGlzLGZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG89e30sYT0wO2lmKEFycmF5LmlzQXJyYXkodCkpe2ZvcihyPVJlKGUpLGk9dC5sZW5ndGg7YTxpO2ErKylvW3RbYV1dPWIuY3NzKGUsdFthXSwhMSxyKTtyZXR1cm4gb31yZXR1cm4gdm9pZCAwIT09bj9iLnN0eWxlKGUsdCxuKTpiLmNzcyhlLHQpfSxlLHQsYXJndW1lbnRzLmxlbmd0aD4xKX19KSxiLlR3ZWVuPUtlLEtlLnByb3RvdHlwZT17Y29uc3RydWN0b3I6S2UsaW5pdDpmdW5jdGlvbihlLHQsbixyLGksbyl7dGhpcy5lbGVtPWUsdGhpcy5wcm9wPW4sdGhpcy5lYXNpbmc9aXx8Yi5lYXNpbmcuX2RlZmF1bHQsdGhpcy5vcHRpb25zPXQsdGhpcy5zdGFydD10aGlzLm5vdz10aGlzLmN1cigpLHRoaXMuZW5kPXIsdGhpcy51bml0PW98fChiLmNzc051bWJlcltuXT9cIlwiOlwicHhcIil9LGN1cjpmdW5jdGlvbigpe3ZhciBlPUtlLnByb3BIb29rc1t0aGlzLnByb3BdO3JldHVybiBlJiZlLmdldD9lLmdldCh0aGlzKTpLZS5wcm9wSG9va3MuX2RlZmF1bHQuZ2V0KHRoaXMpfSxydW46ZnVuY3Rpb24oZSl7dmFyIHQsbj1LZS5wcm9wSG9va3NbdGhpcy5wcm9wXTtyZXR1cm4gdGhpcy5vcHRpb25zLmR1cmF0aW9uP3RoaXMucG9zPXQ9Yi5lYXNpbmdbdGhpcy5lYXNpbmddKGUsdGhpcy5vcHRpb25zLmR1cmF0aW9uKmUsMCwxLHRoaXMub3B0aW9ucy5kdXJhdGlvbik6dGhpcy5wb3M9dD1lLHRoaXMubm93PSh0aGlzLmVuZC10aGlzLnN0YXJ0KSp0K3RoaXMuc3RhcnQsdGhpcy5vcHRpb25zLnN0ZXAmJnRoaXMub3B0aW9ucy5zdGVwLmNhbGwodGhpcy5lbGVtLHRoaXMubm93LHRoaXMpLG4mJm4uc2V0P24uc2V0KHRoaXMpOktlLnByb3BIb29rcy5fZGVmYXVsdC5zZXQodGhpcyksdGhpc319LEtlLnByb3RvdHlwZS5pbml0LnByb3RvdHlwZT1LZS5wcm90b3R5cGUsS2UucHJvcEhvb2tzPXtfZGVmYXVsdDp7Z2V0OmZ1bmN0aW9uKGUpe3ZhciB0O3JldHVybiAxIT09ZS5lbGVtLm5vZGVUeXBlfHxudWxsIT1lLmVsZW1bZS5wcm9wXSYmbnVsbD09ZS5lbGVtLnN0eWxlW2UucHJvcF0/ZS5lbGVtW2UucHJvcF06KHQ9Yi5jc3MoZS5lbGVtLGUucHJvcCxcIlwiKSkmJlwiYXV0b1wiIT09dD90OjB9LHNldDpmdW5jdGlvbihlKXtiLmZ4LnN0ZXBbZS5wcm9wXT9iLmZ4LnN0ZXBbZS5wcm9wXShlKToxIT09ZS5lbGVtLm5vZGVUeXBlfHwhYi5jc3NIb29rc1tlLnByb3BdJiZudWxsPT1lLmVsZW0uc3R5bGVbemUoZS5wcm9wKV0/ZS5lbGVtW2UucHJvcF09ZS5ub3c6Yi5zdHlsZShlLmVsZW0sZS5wcm9wLGUubm93K2UudW5pdCl9fX0sS2UucHJvcEhvb2tzLnNjcm9sbFRvcD1LZS5wcm9wSG9va3Muc2Nyb2xsTGVmdD17c2V0OmZ1bmN0aW9uKGUpe2UuZWxlbS5ub2RlVHlwZSYmZS5lbGVtLnBhcmVudE5vZGUmJihlLmVsZW1bZS5wcm9wXT1lLm5vdyl9fSxiLmVhc2luZz17bGluZWFyOmZ1bmN0aW9uKGUpe3JldHVybiBlfSxzd2luZzpmdW5jdGlvbihlKXtyZXR1cm4uNS1NYXRoLmNvcyhlKk1hdGguUEkpLzJ9LF9kZWZhdWx0Olwic3dpbmdcIn0sYi5meD1LZS5wcm90b3R5cGUuaW5pdCxiLmZ4LnN0ZXA9e307dmFyIFplLGV0LHR0PS9eKD86dG9nZ2xlfHNob3d8aGlkZSkkLyxudD0vcXVldWVIb29rcyQvO2Z1bmN0aW9uIHJ0KCl7ZXQmJighMT09PXYuaGlkZGVuJiZlLnJlcXVlc3RBbmltYXRpb25GcmFtZT9lLnJlcXVlc3RBbmltYXRpb25GcmFtZShydCk6ZS5zZXRUaW1lb3V0KHJ0LGIuZnguaW50ZXJ2YWwpLGIuZngudGljaygpKX1mdW5jdGlvbiBpdCgpe3JldHVybiBlLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtaZT12b2lkIDB9KSxaZT1EYXRlLm5vdygpfWZ1bmN0aW9uIG90KGUsdCl7dmFyIG4scj0wLGk9e2hlaWdodDplfTtmb3IodD10PzE6MDtyPDQ7cis9Mi10KWlbXCJtYXJnaW5cIisobj10ZVtyXSldPWlbXCJwYWRkaW5nXCIrbl09ZTtyZXR1cm4gdCYmKGkub3BhY2l0eT1pLndpZHRoPWUpLGl9ZnVuY3Rpb24gYXQoZSx0LG4pe2Zvcih2YXIgcixpPShzdC50d2VlbmVyc1t0XXx8W10pLmNvbmNhdChzdC50d2VlbmVyc1tcIipcIl0pLG89MCxhPWkubGVuZ3RoO288YTtvKyspaWYocj1pW29dLmNhbGwobix0LGUpKXJldHVybiByfWZ1bmN0aW9uIHN0KGUsdCxuKXt2YXIgcixpLG89MCxhPXN0LnByZWZpbHRlcnMubGVuZ3RoLHM9Yi5EZWZlcnJlZCgpLmFsd2F5cyhmdW5jdGlvbigpe2RlbGV0ZSB1LmVsZW19KSx1PWZ1bmN0aW9uKCl7aWYoaSlyZXR1cm4hMTtmb3IodmFyIHQ9WmV8fGl0KCksbj1NYXRoLm1heCgwLGwuc3RhcnRUaW1lK2wuZHVyYXRpb24tdCkscj0xLShuL2wuZHVyYXRpb258fDApLG89MCxhPWwudHdlZW5zLmxlbmd0aDtvPGE7bysrKWwudHdlZW5zW29dLnJ1bihyKTtyZXR1cm4gcy5ub3RpZnlXaXRoKGUsW2wscixuXSkscjwxJiZhP246KGF8fHMubm90aWZ5V2l0aChlLFtsLDEsMF0pLHMucmVzb2x2ZVdpdGgoZSxbbF0pLCExKX0sbD1zLnByb21pc2Uoe2VsZW06ZSxwcm9wczpiLmV4dGVuZCh7fSx0KSxvcHRzOmIuZXh0ZW5kKCEwLHtzcGVjaWFsRWFzaW5nOnt9LGVhc2luZzpiLmVhc2luZy5fZGVmYXVsdH0sbiksb3JpZ2luYWxQcm9wZXJ0aWVzOnQsb3JpZ2luYWxPcHRpb25zOm4sc3RhcnRUaW1lOlplfHxpdCgpLGR1cmF0aW9uOm4uZHVyYXRpb24sdHdlZW5zOltdLGNyZWF0ZVR3ZWVuOmZ1bmN0aW9uKHQsbil7dmFyIHI9Yi5Ud2VlbihlLGwub3B0cyx0LG4sbC5vcHRzLnNwZWNpYWxFYXNpbmdbdF18fGwub3B0cy5lYXNpbmcpO3JldHVybiBsLnR3ZWVucy5wdXNoKHIpLHJ9LHN0b3A6ZnVuY3Rpb24odCl7dmFyIG49MCxyPXQ/bC50d2VlbnMubGVuZ3RoOjA7aWYoaSlyZXR1cm4gdGhpcztmb3IoaT0hMDtuPHI7bisrKWwudHdlZW5zW25dLnJ1bigxKTtyZXR1cm4gdD8ocy5ub3RpZnlXaXRoKGUsW2wsMSwwXSkscy5yZXNvbHZlV2l0aChlLFtsLHRdKSk6cy5yZWplY3RXaXRoKGUsW2wsdF0pLHRoaXN9fSksYz1sLnByb3BzO2ZvcighZnVuY3Rpb24oZSx0KXt2YXIgbixyLGksbyxhO2ZvcihuIGluIGUpaWYoaT10W3I9VShuKV0sbz1lW25dLEFycmF5LmlzQXJyYXkobykmJihpPW9bMV0sbz1lW25dPW9bMF0pLG4hPT1yJiYoZVtyXT1vLGRlbGV0ZSBlW25dKSwoYT1iLmNzc0hvb2tzW3JdKSYmXCJleHBhbmRcImluIGEpZm9yKG4gaW4gbz1hLmV4cGFuZChvKSxkZWxldGUgZVtyXSxvKW4gaW4gZXx8KGVbbl09b1tuXSx0W25dPWkpO2Vsc2UgdFtyXT1pfShjLGwub3B0cy5zcGVjaWFsRWFzaW5nKTtvPGE7bysrKWlmKHI9c3QucHJlZmlsdGVyc1tvXS5jYWxsKGwsZSxjLGwub3B0cykpcmV0dXJuIGgoci5zdG9wKSYmKGIuX3F1ZXVlSG9va3MobC5lbGVtLGwub3B0cy5xdWV1ZSkuc3RvcD1yLnN0b3AuYmluZChyKSkscjtyZXR1cm4gYi5tYXAoYyxhdCxsKSxoKGwub3B0cy5zdGFydCkmJmwub3B0cy5zdGFydC5jYWxsKGUsbCksbC5wcm9ncmVzcyhsLm9wdHMucHJvZ3Jlc3MpLmRvbmUobC5vcHRzLmRvbmUsbC5vcHRzLmNvbXBsZXRlKS5mYWlsKGwub3B0cy5mYWlsKS5hbHdheXMobC5vcHRzLmFsd2F5cyksYi5meC50aW1lcihiLmV4dGVuZCh1LHtlbGVtOmUsYW5pbTpsLHF1ZXVlOmwub3B0cy5xdWV1ZX0pKSxsfWIuQW5pbWF0aW9uPWIuZXh0ZW5kKHN0LHt0d2VlbmVyczp7XCIqXCI6W2Z1bmN0aW9uKGUsdCl7dmFyIG49dGhpcy5jcmVhdGVUd2VlbihlLHQpO3JldHVybiBhZShuLmVsZW0sZSxlZS5leGVjKHQpLG4pLG59XX0sdHdlZW5lcjpmdW5jdGlvbihlLHQpe2goZSk/KHQ9ZSxlPVtcIipcIl0pOmU9ZS5tYXRjaChPKTtmb3IodmFyIG4scj0wLGk9ZS5sZW5ndGg7cjxpO3IrKyluPWVbcl0sc3QudHdlZW5lcnNbbl09c3QudHdlZW5lcnNbbl18fFtdLHN0LnR3ZWVuZXJzW25dLnVuc2hpZnQodCl9LHByZWZpbHRlcnM6W2Z1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG8sYSxzLHUsbCxjLGY9XCJ3aWR0aFwiaW4gdHx8XCJoZWlnaHRcImluIHQscD10aGlzLGQ9e30saD1lLnN0eWxlLGc9ZS5ub2RlVHlwZSYmb2UoZSksdj1HLmdldChlLFwiZnhzaG93XCIpO2ZvcihyIGluIG4ucXVldWV8fChudWxsPT0oYT1iLl9xdWV1ZUhvb2tzKGUsXCJmeFwiKSkudW5xdWV1ZWQmJihhLnVucXVldWVkPTAscz1hLmVtcHR5LmZpcmUsYS5lbXB0eS5maXJlPWZ1bmN0aW9uKCl7YS51bnF1ZXVlZHx8cygpfSksYS51bnF1ZXVlZCsrLHAuYWx3YXlzKGZ1bmN0aW9uKCl7cC5hbHdheXMoZnVuY3Rpb24oKXthLnVucXVldWVkLS0sYi5xdWV1ZShlLFwiZnhcIikubGVuZ3RofHxhLmVtcHR5LmZpcmUoKX0pfSkpLHQpaWYoaT10W3JdLHR0LnRlc3QoaSkpe2lmKGRlbGV0ZSB0W3JdLG89b3x8XCJ0b2dnbGVcIj09PWksaT09PShnP1wiaGlkZVwiOlwic2hvd1wiKSl7aWYoXCJzaG93XCIhPT1pfHwhdnx8dm9pZCAwPT09dltyXSljb250aW51ZTtnPSEwfWRbcl09diYmdltyXXx8Yi5zdHlsZShlLHIpfWlmKCh1PSFiLmlzRW1wdHlPYmplY3QodCkpfHwhYi5pc0VtcHR5T2JqZWN0KGQpKWZvcihyIGluIGYmJjE9PT1lLm5vZGVUeXBlJiYobi5vdmVyZmxvdz1baC5vdmVyZmxvdyxoLm92ZXJmbG93WCxoLm92ZXJmbG93WV0sbnVsbD09KGw9diYmdi5kaXNwbGF5KSYmKGw9Ry5nZXQoZSxcImRpc3BsYXlcIikpLFwibm9uZVwiPT09KGM9Yi5jc3MoZSxcImRpc3BsYXlcIikpJiYobD9jPWw6KGxlKFtlXSwhMCksbD1lLnN0eWxlLmRpc3BsYXl8fGwsYz1iLmNzcyhlLFwiZGlzcGxheVwiKSxsZShbZV0pKSksKFwiaW5saW5lXCI9PT1jfHxcImlubGluZS1ibG9ja1wiPT09YyYmbnVsbCE9bCkmJlwibm9uZVwiPT09Yi5jc3MoZSxcImZsb2F0XCIpJiYodXx8KHAuZG9uZShmdW5jdGlvbigpe2guZGlzcGxheT1sfSksbnVsbD09bCYmKGM9aC5kaXNwbGF5LGw9XCJub25lXCI9PT1jP1wiXCI6YykpLGguZGlzcGxheT1cImlubGluZS1ibG9ja1wiKSksbi5vdmVyZmxvdyYmKGgub3ZlcmZsb3c9XCJoaWRkZW5cIixwLmFsd2F5cyhmdW5jdGlvbigpe2gub3ZlcmZsb3c9bi5vdmVyZmxvd1swXSxoLm92ZXJmbG93WD1uLm92ZXJmbG93WzFdLGgub3ZlcmZsb3dZPW4ub3ZlcmZsb3dbMl19KSksdT0hMSxkKXV8fCh2P1wiaGlkZGVuXCJpbiB2JiYoZz12LmhpZGRlbik6dj1HLmFjY2VzcyhlLFwiZnhzaG93XCIse2Rpc3BsYXk6bH0pLG8mJih2LmhpZGRlbj0hZyksZyYmbGUoW2VdLCEwKSxwLmRvbmUoZnVuY3Rpb24oKXtmb3IociBpbiBnfHxsZShbZV0pLEcucmVtb3ZlKGUsXCJmeHNob3dcIiksZCliLnN0eWxlKGUscixkW3JdKX0pKSx1PWF0KGc/dltyXTowLHIscCksciBpbiB2fHwodltyXT11LnN0YXJ0LGcmJih1LmVuZD11LnN0YXJ0LHUuc3RhcnQ9MCkpfV0scHJlZmlsdGVyOmZ1bmN0aW9uKGUsdCl7dD9zdC5wcmVmaWx0ZXJzLnVuc2hpZnQoZSk6c3QucHJlZmlsdGVycy5wdXNoKGUpfX0pLGIuc3BlZWQ9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWUmJlwib2JqZWN0XCI9PXR5cGVvZiBlP2IuZXh0ZW5kKHt9LGUpOntjb21wbGV0ZTpufHwhbiYmdHx8aChlKSYmZSxkdXJhdGlvbjplLGVhc2luZzpuJiZ0fHx0JiYhaCh0KSYmdH07cmV0dXJuIGIuZngub2ZmP3IuZHVyYXRpb249MDpcIm51bWJlclwiIT10eXBlb2Ygci5kdXJhdGlvbiYmKHIuZHVyYXRpb24gaW4gYi5meC5zcGVlZHM/ci5kdXJhdGlvbj1iLmZ4LnNwZWVkc1tyLmR1cmF0aW9uXTpyLmR1cmF0aW9uPWIuZnguc3BlZWRzLl9kZWZhdWx0KSxudWxsIT1yLnF1ZXVlJiYhMCE9PXIucXVldWV8fChyLnF1ZXVlPVwiZnhcIiksci5vbGQ9ci5jb21wbGV0ZSxyLmNvbXBsZXRlPWZ1bmN0aW9uKCl7aChyLm9sZCkmJnIub2xkLmNhbGwodGhpcyksci5xdWV1ZSYmYi5kZXF1ZXVlKHRoaXMsci5xdWV1ZSl9LHJ9LGIuZm4uZXh0ZW5kKHtmYWRlVG86ZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuIHRoaXMuZmlsdGVyKG9lKS5jc3MoXCJvcGFjaXR5XCIsMCkuc2hvdygpLmVuZCgpLmFuaW1hdGUoe29wYWNpdHk6dH0sZSxuLHIpfSxhbmltYXRlOmZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBpPWIuaXNFbXB0eU9iamVjdChlKSxvPWIuc3BlZWQodCxuLHIpLGE9ZnVuY3Rpb24oKXt2YXIgdD1zdCh0aGlzLGIuZXh0ZW5kKHt9LGUpLG8pOyhpfHxHLmdldCh0aGlzLFwiZmluaXNoXCIpKSYmdC5zdG9wKCEwKX07cmV0dXJuIGEuZmluaXNoPWEsaXx8ITE9PT1vLnF1ZXVlP3RoaXMuZWFjaChhKTp0aGlzLnF1ZXVlKG8ucXVldWUsYSl9LHN0b3A6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWZ1bmN0aW9uKGUpe3ZhciB0PWUuc3RvcDtkZWxldGUgZS5zdG9wLHQobil9O3JldHVyblwic3RyaW5nXCIhPXR5cGVvZiBlJiYobj10LHQ9ZSxlPXZvaWQgMCksdCYmdGhpcy5xdWV1ZShlfHxcImZ4XCIsW10pLHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciB0PSEwLGk9bnVsbCE9ZSYmZStcInF1ZXVlSG9va3NcIixvPWIudGltZXJzLGE9Ry5nZXQodGhpcyk7aWYoaSlhW2ldJiZhW2ldLnN0b3AmJnIoYVtpXSk7ZWxzZSBmb3IoaSBpbiBhKWFbaV0mJmFbaV0uc3RvcCYmbnQudGVzdChpKSYmcihhW2ldKTtmb3IoaT1vLmxlbmd0aDtpLS07KW9baV0uZWxlbSE9PXRoaXN8fG51bGwhPWUmJm9baV0ucXVldWUhPT1lfHwob1tpXS5hbmltLnN0b3AobiksdD0hMSxvLnNwbGljZShpLDEpKTshdCYmbnx8Yi5kZXF1ZXVlKHRoaXMsZSl9KX0sZmluaXNoOmZ1bmN0aW9uKGUpe3JldHVybiExIT09ZSYmKGU9ZXx8XCJmeFwiKSx0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgdCxuPUcuZ2V0KHRoaXMpLHI9bltlK1wicXVldWVcIl0saT1uW2UrXCJxdWV1ZUhvb2tzXCJdLG89Yi50aW1lcnMsYT1yP3IubGVuZ3RoOjA7Zm9yKG4uZmluaXNoPSEwLGIucXVldWUodGhpcyxlLFtdKSxpJiZpLnN0b3AmJmkuc3RvcC5jYWxsKHRoaXMsITApLHQ9by5sZW5ndGg7dC0tOylvW3RdLmVsZW09PT10aGlzJiZvW3RdLnF1ZXVlPT09ZSYmKG9bdF0uYW5pbS5zdG9wKCEwKSxvLnNwbGljZSh0LDEpKTtmb3IodD0wO3Q8YTt0Kyspclt0XSYmclt0XS5maW5pc2gmJnJbdF0uZmluaXNoLmNhbGwodGhpcyk7ZGVsZXRlIG4uZmluaXNofSl9fSksYi5lYWNoKFtcInRvZ2dsZVwiLFwic2hvd1wiLFwiaGlkZVwiXSxmdW5jdGlvbihlLHQpe3ZhciBuPWIuZm5bdF07Yi5mblt0XT1mdW5jdGlvbihlLHIsaSl7cmV0dXJuIG51bGw9PWV8fFwiYm9vbGVhblwiPT10eXBlb2YgZT9uLmFwcGx5KHRoaXMsYXJndW1lbnRzKTp0aGlzLmFuaW1hdGUob3QodCwhMCksZSxyLGkpfX0pLGIuZWFjaCh7c2xpZGVEb3duOm90KFwic2hvd1wiKSxzbGlkZVVwOm90KFwiaGlkZVwiKSxzbGlkZVRvZ2dsZTpvdChcInRvZ2dsZVwiKSxmYWRlSW46e29wYWNpdHk6XCJzaG93XCJ9LGZhZGVPdXQ6e29wYWNpdHk6XCJoaWRlXCJ9LGZhZGVUb2dnbGU6e29wYWNpdHk6XCJ0b2dnbGVcIn19LGZ1bmN0aW9uKGUsdCl7Yi5mbltlXT1mdW5jdGlvbihlLG4scil7cmV0dXJuIHRoaXMuYW5pbWF0ZSh0LGUsbixyKX19KSxiLnRpbWVycz1bXSxiLmZ4LnRpY2s9ZnVuY3Rpb24oKXt2YXIgZSx0PTAsbj1iLnRpbWVycztmb3IoWmU9RGF0ZS5ub3coKTt0PG4ubGVuZ3RoO3QrKykoZT1uW3RdKSgpfHxuW3RdIT09ZXx8bi5zcGxpY2UodC0tLDEpO24ubGVuZ3RofHxiLmZ4LnN0b3AoKSxaZT12b2lkIDB9LGIuZngudGltZXI9ZnVuY3Rpb24oZSl7Yi50aW1lcnMucHVzaChlKSxiLmZ4LnN0YXJ0KCl9LGIuZnguaW50ZXJ2YWw9MTMsYi5meC5zdGFydD1mdW5jdGlvbigpe2V0fHwoZXQ9ITAscnQoKSl9LGIuZnguc3RvcD1mdW5jdGlvbigpe2V0PW51bGx9LGIuZnguc3BlZWRzPXtzbG93OjYwMCxmYXN0OjIwMCxfZGVmYXVsdDo0MDB9LGIuZm4uZGVsYXk9ZnVuY3Rpb24odCxuKXtyZXR1cm4gdD1iLmZ4JiZiLmZ4LnNwZWVkc1t0XXx8dCxuPW58fFwiZnhcIix0aGlzLnF1ZXVlKG4sZnVuY3Rpb24obixyKXt2YXIgaT1lLnNldFRpbWVvdXQobix0KTtyLnN0b3A9ZnVuY3Rpb24oKXtlLmNsZWFyVGltZW91dChpKX19KX0sZnVuY3Rpb24oKXt2YXIgZT12LmNyZWF0ZUVsZW1lbnQoXCJpbnB1dFwiKSx0PXYuY3JlYXRlRWxlbWVudChcInNlbGVjdFwiKS5hcHBlbmRDaGlsZCh2LmNyZWF0ZUVsZW1lbnQoXCJvcHRpb25cIikpO2UudHlwZT1cImNoZWNrYm94XCIsZC5jaGVja09uPVwiXCIhPT1lLnZhbHVlLGQub3B0U2VsZWN0ZWQ9dC5zZWxlY3RlZCwoZT12LmNyZWF0ZUVsZW1lbnQoXCJpbnB1dFwiKSkudmFsdWU9XCJ0XCIsZS50eXBlPVwicmFkaW9cIixkLnJhZGlvVmFsdWU9XCJ0XCI9PT1lLnZhbHVlfSgpO3ZhciB1dCxsdD1iLmV4cHIuYXR0ckhhbmRsZTtiLmZuLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihlLHQpe3JldHVybiBCKHRoaXMsYi5hdHRyLGUsdCxhcmd1bWVudHMubGVuZ3RoPjEpfSxyZW1vdmVBdHRyOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtiLnJlbW92ZUF0dHIodGhpcyxlKX0pfX0pLGIuZXh0ZW5kKHthdHRyOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG89ZS5ub2RlVHlwZTtpZigzIT09byYmOCE9PW8mJjIhPT1vKXJldHVybiB2b2lkIDA9PT1lLmdldEF0dHJpYnV0ZT9iLnByb3AoZSx0LG4pOigxPT09byYmYi5pc1hNTERvYyhlKXx8KGk9Yi5hdHRySG9va3NbdC50b0xvd2VyQ2FzZSgpXXx8KGIuZXhwci5tYXRjaC5ib29sLnRlc3QodCk/dXQ6dm9pZCAwKSksdm9pZCAwIT09bj9udWxsPT09bj92b2lkIGIucmVtb3ZlQXR0cihlLHQpOmkmJlwic2V0XCJpbiBpJiZ2b2lkIDAhPT0ocj1pLnNldChlLG4sdCkpP3I6KGUuc2V0QXR0cmlidXRlKHQsbitcIlwiKSxuKTppJiZcImdldFwiaW4gaSYmbnVsbCE9PShyPWkuZ2V0KGUsdCkpP3I6bnVsbD09KHI9Yi5maW5kLmF0dHIoZSx0KSk/dm9pZCAwOnIpfSxhdHRySG9va3M6e3R5cGU6e3NldDpmdW5jdGlvbihlLHQpe2lmKCFkLnJhZGlvVmFsdWUmJlwicmFkaW9cIj09PXQmJmsoZSxcImlucHV0XCIpKXt2YXIgbj1lLnZhbHVlO3JldHVybiBlLnNldEF0dHJpYnV0ZShcInR5cGVcIix0KSxuJiYoZS52YWx1ZT1uKSx0fX19fSxyZW1vdmVBdHRyOmZ1bmN0aW9uKGUsdCl7dmFyIG4scj0wLGk9dCYmdC5tYXRjaChPKTtpZihpJiYxPT09ZS5ub2RlVHlwZSlmb3IoO249aVtyKytdOyllLnJlbW92ZUF0dHJpYnV0ZShuKX19KSx1dD17c2V0OmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4hMT09PXQ/Yi5yZW1vdmVBdHRyKGUsbik6ZS5zZXRBdHRyaWJ1dGUobixuKSxufX0sYi5lYWNoKGIuZXhwci5tYXRjaC5ib29sLnNvdXJjZS5tYXRjaCgvXFx3Ky9nKSxmdW5jdGlvbihlLHQpe3ZhciBuPWx0W3RdfHxiLmZpbmQuYXR0cjtsdFt0XT1mdW5jdGlvbihlLHQscil7dmFyIGksbyxhPXQudG9Mb3dlckNhc2UoKTtyZXR1cm4gcnx8KG89bHRbYV0sbHRbYV09aSxpPW51bGwhPW4oZSx0LHIpP2E6bnVsbCxsdFthXT1vKSxpfX0pO3ZhciBjdD0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b24pJC9pLGZ0PS9eKD86YXxhcmVhKSQvaTtmdW5jdGlvbiBwdChlKXtyZXR1cm4oZS5tYXRjaChPKXx8W10pLmpvaW4oXCIgXCIpfWZ1bmN0aW9uIGR0KGUpe3JldHVybiBlLmdldEF0dHJpYnV0ZSYmZS5nZXRBdHRyaWJ1dGUoXCJjbGFzc1wiKXx8XCJcIn1mdW5jdGlvbiBodChlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT9lOlwic3RyaW5nXCI9PXR5cGVvZiBlJiZlLm1hdGNoKE8pfHxbXX1iLmZuLmV4dGVuZCh7cHJvcDpmdW5jdGlvbihlLHQpe3JldHVybiBCKHRoaXMsYi5wcm9wLGUsdCxhcmd1bWVudHMubGVuZ3RoPjEpfSxyZW1vdmVQcm9wOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtkZWxldGUgdGhpc1tiLnByb3BGaXhbZV18fGVdfSl9fSksYi5leHRlbmQoe3Byb3A6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbz1lLm5vZGVUeXBlO2lmKDMhPT1vJiY4IT09byYmMiE9PW8pcmV0dXJuIDE9PT1vJiZiLmlzWE1MRG9jKGUpfHwodD1iLnByb3BGaXhbdF18fHQsaT1iLnByb3BIb29rc1t0XSksdm9pZCAwIT09bj9pJiZcInNldFwiaW4gaSYmdm9pZCAwIT09KHI9aS5zZXQoZSxuLHQpKT9yOmVbdF09bjppJiZcImdldFwiaW4gaSYmbnVsbCE9PShyPWkuZ2V0KGUsdCkpP3I6ZVt0XX0scHJvcEhvb2tzOnt0YWJJbmRleDp7Z2V0OmZ1bmN0aW9uKGUpe3ZhciB0PWIuZmluZC5hdHRyKGUsXCJ0YWJpbmRleFwiKTtyZXR1cm4gdD9wYXJzZUludCh0LDEwKTpjdC50ZXN0KGUubm9kZU5hbWUpfHxmdC50ZXN0KGUubm9kZU5hbWUpJiZlLmhyZWY/MDotMX19fSxwcm9wRml4Ontmb3I6XCJodG1sRm9yXCIsY2xhc3M6XCJjbGFzc05hbWVcIn19KSxkLm9wdFNlbGVjdGVkfHwoYi5wcm9wSG9va3Muc2VsZWN0ZWQ9e2dldDpmdW5jdGlvbihlKXt2YXIgdD1lLnBhcmVudE5vZGU7cmV0dXJuIHQmJnQucGFyZW50Tm9kZSYmdC5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgsbnVsbH0sc2V0OmZ1bmN0aW9uKGUpe3ZhciB0PWUucGFyZW50Tm9kZTt0JiYodC5zZWxlY3RlZEluZGV4LHQucGFyZW50Tm9kZSYmdC5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgpfX0pLGIuZWFjaChbXCJ0YWJJbmRleFwiLFwicmVhZE9ubHlcIixcIm1heExlbmd0aFwiLFwiY2VsbFNwYWNpbmdcIixcImNlbGxQYWRkaW5nXCIsXCJyb3dTcGFuXCIsXCJjb2xTcGFuXCIsXCJ1c2VNYXBcIixcImZyYW1lQm9yZGVyXCIsXCJjb250ZW50RWRpdGFibGVcIl0sZnVuY3Rpb24oKXtiLnByb3BGaXhbdGhpcy50b0xvd2VyQ2FzZSgpXT10aGlzfSksYi5mbi5leHRlbmQoe2FkZENsYXNzOmZ1bmN0aW9uKGUpe3ZhciB0LG4scixpLG8sYSxzLHU9MDtpZihoKGUpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24odCl7Yih0aGlzKS5hZGRDbGFzcyhlLmNhbGwodGhpcyx0LGR0KHRoaXMpKSl9KTtpZigodD1odChlKSkubGVuZ3RoKWZvcig7bj10aGlzW3UrK107KWlmKGk9ZHQobikscj0xPT09bi5ub2RlVHlwZSYmXCIgXCIrcHQoaSkrXCIgXCIpe2ZvcihhPTA7bz10W2ErK107KXIuaW5kZXhPZihcIiBcIitvK1wiIFwiKTwwJiYocis9bytcIiBcIik7aSE9PShzPXB0KHIpKSYmbi5zZXRBdHRyaWJ1dGUoXCJjbGFzc1wiLHMpfXJldHVybiB0aGlzfSxyZW1vdmVDbGFzczpmdW5jdGlvbihlKXt2YXIgdCxuLHIsaSxvLGEscyx1PTA7aWYoaChlKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKHQpe2IodGhpcykucmVtb3ZlQ2xhc3MoZS5jYWxsKHRoaXMsdCxkdCh0aGlzKSkpfSk7aWYoIWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHRoaXMuYXR0cihcImNsYXNzXCIsXCJcIik7aWYoKHQ9aHQoZSkpLmxlbmd0aClmb3IoO249dGhpc1t1KytdOylpZihpPWR0KG4pLHI9MT09PW4ubm9kZVR5cGUmJlwiIFwiK3B0KGkpK1wiIFwiKXtmb3IoYT0wO289dFthKytdOylmb3IoO3IuaW5kZXhPZihcIiBcIitvK1wiIFwiKT4tMTspcj1yLnJlcGxhY2UoXCIgXCIrbytcIiBcIixcIiBcIik7aSE9PShzPXB0KHIpKSYmbi5zZXRBdHRyaWJ1dGUoXCJjbGFzc1wiLHMpfXJldHVybiB0aGlzfSx0b2dnbGVDbGFzczpmdW5jdGlvbihlLHQpe3ZhciBuPXR5cGVvZiBlLHI9XCJzdHJpbmdcIj09PW58fEFycmF5LmlzQXJyYXkoZSk7cmV0dXJuXCJib29sZWFuXCI9PXR5cGVvZiB0JiZyP3Q/dGhpcy5hZGRDbGFzcyhlKTp0aGlzLnJlbW92ZUNsYXNzKGUpOmgoZSk/dGhpcy5lYWNoKGZ1bmN0aW9uKG4pe2IodGhpcykudG9nZ2xlQ2xhc3MoZS5jYWxsKHRoaXMsbixkdCh0aGlzKSx0KSx0KX0pOnRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciB0LGksbyxhO2lmKHIpZm9yKGk9MCxvPWIodGhpcyksYT1odChlKTt0PWFbaSsrXTspby5oYXNDbGFzcyh0KT9vLnJlbW92ZUNsYXNzKHQpOm8uYWRkQ2xhc3ModCk7ZWxzZSB2b2lkIDAhPT1lJiZcImJvb2xlYW5cIiE9PW58fCgodD1kdCh0aGlzKSkmJkcuc2V0KHRoaXMsXCJfX2NsYXNzTmFtZV9fXCIsdCksdGhpcy5zZXRBdHRyaWJ1dGUmJnRoaXMuc2V0QXR0cmlidXRlKFwiY2xhc3NcIix0fHwhMT09PWU/XCJcIjpHLmdldCh0aGlzLFwiX19jbGFzc05hbWVfX1wiKXx8XCJcIikpfSl9LGhhc0NsYXNzOmZ1bmN0aW9uKGUpe3ZhciB0LG4scj0wO2Zvcih0PVwiIFwiK2UrXCIgXCI7bj10aGlzW3IrK107KWlmKDE9PT1uLm5vZGVUeXBlJiYoXCIgXCIrcHQoZHQobikpK1wiIFwiKS5pbmRleE9mKHQpPi0xKXJldHVybiEwO3JldHVybiExfX0pO3ZhciBndD0vXFxyL2c7Yi5mbi5leHRlbmQoe3ZhbDpmdW5jdGlvbihlKXt2YXIgdCxuLHIsaT10aGlzWzBdO3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPWgoZSksdGhpcy5lYWNoKGZ1bmN0aW9uKG4pe3ZhciBpOzE9PT10aGlzLm5vZGVUeXBlJiYobnVsbD09KGk9cj9lLmNhbGwodGhpcyxuLGIodGhpcykudmFsKCkpOmUpP2k9XCJcIjpcIm51bWJlclwiPT10eXBlb2YgaT9pKz1cIlwiOkFycmF5LmlzQXJyYXkoaSkmJihpPWIubWFwKGksZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PWU/XCJcIjplK1wiXCJ9KSksKHQ9Yi52YWxIb29rc1t0aGlzLnR5cGVdfHxiLnZhbEhvb2tzW3RoaXMubm9kZU5hbWUudG9Mb3dlckNhc2UoKV0pJiZcInNldFwiaW4gdCYmdm9pZCAwIT09dC5zZXQodGhpcyxpLFwidmFsdWVcIil8fCh0aGlzLnZhbHVlPWkpKX0pKTppPyh0PWIudmFsSG9va3NbaS50eXBlXXx8Yi52YWxIb29rc1tpLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldKSYmXCJnZXRcImluIHQmJnZvaWQgMCE9PShuPXQuZ2V0KGksXCJ2YWx1ZVwiKSk/bjpcInN0cmluZ1wiPT10eXBlb2Yobj1pLnZhbHVlKT9uLnJlcGxhY2UoZ3QsXCJcIik6bnVsbD09bj9cIlwiOm46dm9pZCAwfX0pLGIuZXh0ZW5kKHt2YWxIb29rczp7b3B0aW9uOntnZXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9Yi5maW5kLmF0dHIoZSxcInZhbHVlXCIpO3JldHVybiBudWxsIT10P3Q6cHQoYi50ZXh0KGUpKX19LHNlbGVjdDp7Z2V0OmZ1bmN0aW9uKGUpe3ZhciB0LG4scixpPWUub3B0aW9ucyxvPWUuc2VsZWN0ZWRJbmRleCxhPVwic2VsZWN0LW9uZVwiPT09ZS50eXBlLHM9YT9udWxsOltdLHU9YT9vKzE6aS5sZW5ndGg7Zm9yKHI9bzwwP3U6YT9vOjA7cjx1O3IrKylpZigoKG49aVtyXSkuc2VsZWN0ZWR8fHI9PT1vKSYmIW4uZGlzYWJsZWQmJighbi5wYXJlbnROb2RlLmRpc2FibGVkfHwhayhuLnBhcmVudE5vZGUsXCJvcHRncm91cFwiKSkpe2lmKHQ9YihuKS52YWwoKSxhKXJldHVybiB0O3MucHVzaCh0KX1yZXR1cm4gc30sc2V0OmZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuLHIsaT1lLm9wdGlvbnMsbz1iLm1ha2VBcnJheSh0KSxhPWkubGVuZ3RoO2EtLTspKChyPWlbYV0pLnNlbGVjdGVkPWIuaW5BcnJheShiLnZhbEhvb2tzLm9wdGlvbi5nZXQociksbyk+LTEpJiYobj0hMCk7cmV0dXJuIG58fChlLnNlbGVjdGVkSW5kZXg9LTEpLG99fX19KSxiLmVhY2goW1wicmFkaW9cIixcImNoZWNrYm94XCJdLGZ1bmN0aW9uKCl7Yi52YWxIb29rc1t0aGlzXT17c2V0OmZ1bmN0aW9uKGUsdCl7aWYoQXJyYXkuaXNBcnJheSh0KSlyZXR1cm4gZS5jaGVja2VkPWIuaW5BcnJheShiKGUpLnZhbCgpLHQpPi0xfX0sZC5jaGVja09ufHwoYi52YWxIb29rc1t0aGlzXS5nZXQ9ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PT1lLmdldEF0dHJpYnV0ZShcInZhbHVlXCIpP1wib25cIjplLnZhbHVlfSl9KSxkLmZvY3VzaW49XCJvbmZvY3VzaW5cImluIGU7dmFyIHZ0PS9eKD86Zm9jdXNpbmZvY3VzfGZvY3Vzb3V0Ymx1cikkLyx5dD1mdW5jdGlvbihlKXtlLnN0b3BQcm9wYWdhdGlvbigpfTtiLmV4dGVuZChiLmV2ZW50LHt0cmlnZ2VyOmZ1bmN0aW9uKHQsbixyLGkpe3ZhciBvLGEscyx1LGwsZixwLGQseT1bcnx8dl0sbT1jLmNhbGwodCxcInR5cGVcIik/dC50eXBlOnQseD1jLmNhbGwodCxcIm5hbWVzcGFjZVwiKT90Lm5hbWVzcGFjZS5zcGxpdChcIi5cIik6W107aWYoYT1kPXM9cj1yfHx2LDMhPT1yLm5vZGVUeXBlJiY4IT09ci5ub2RlVHlwZSYmIXZ0LnRlc3QobStiLmV2ZW50LnRyaWdnZXJlZCkmJihtLmluZGV4T2YoXCIuXCIpPi0xJiYoeD1tLnNwbGl0KFwiLlwiKSxtPXguc2hpZnQoKSx4LnNvcnQoKSksbD1tLmluZGV4T2YoXCI6XCIpPDAmJlwib25cIittLCh0PXRbYi5leHBhbmRvXT90Om5ldyBiLkV2ZW50KG0sXCJvYmplY3RcIj09dHlwZW9mIHQmJnQpKS5pc1RyaWdnZXI9aT8yOjMsdC5uYW1lc3BhY2U9eC5qb2luKFwiLlwiKSx0LnJuYW1lc3BhY2U9dC5uYW1lc3BhY2U/bmV3IFJlZ0V4cChcIihefFxcXFwuKVwiK3guam9pbihcIlxcXFwuKD86LipcXFxcLnwpXCIpK1wiKFxcXFwufCQpXCIpOm51bGwsdC5yZXN1bHQ9dm9pZCAwLHQudGFyZ2V0fHwodC50YXJnZXQ9ciksbj1udWxsPT1uP1t0XTpiLm1ha2VBcnJheShuLFt0XSkscD1iLmV2ZW50LnNwZWNpYWxbbV18fHt9LGl8fCFwLnRyaWdnZXJ8fCExIT09cC50cmlnZ2VyLmFwcGx5KHIsbikpKXtpZighaSYmIXAubm9CdWJibGUmJiFnKHIpKXtmb3IodT1wLmRlbGVnYXRlVHlwZXx8bSx2dC50ZXN0KHUrbSl8fChhPWEucGFyZW50Tm9kZSk7YTthPWEucGFyZW50Tm9kZSl5LnB1c2goYSkscz1hO3M9PT0oci5vd25lckRvY3VtZW50fHx2KSYmeS5wdXNoKHMuZGVmYXVsdFZpZXd8fHMucGFyZW50V2luZG93fHxlKX1mb3Iobz0wOyhhPXlbbysrXSkmJiF0LmlzUHJvcGFnYXRpb25TdG9wcGVkKCk7KWQ9YSx0LnR5cGU9bz4xP3U6cC5iaW5kVHlwZXx8bSwoZj0oRy5nZXQoYSxcImV2ZW50c1wiKXx8T2JqZWN0LmNyZWF0ZShudWxsKSlbdC50eXBlXSYmRy5nZXQoYSxcImhhbmRsZVwiKSkmJmYuYXBwbHkoYSxuKSwoZj1sJiZhW2xdKSYmZi5hcHBseSYmWChhKSYmKHQucmVzdWx0PWYuYXBwbHkoYSxuKSwhMT09PXQucmVzdWx0JiZ0LnByZXZlbnREZWZhdWx0KCkpO3JldHVybiB0LnR5cGU9bSxpfHx0LmlzRGVmYXVsdFByZXZlbnRlZCgpfHxwLl9kZWZhdWx0JiYhMSE9PXAuX2RlZmF1bHQuYXBwbHkoeS5wb3AoKSxuKXx8IVgocil8fGwmJmgoclttXSkmJiFnKHIpJiYoKHM9cltsXSkmJihyW2xdPW51bGwpLGIuZXZlbnQudHJpZ2dlcmVkPW0sdC5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpJiZkLmFkZEV2ZW50TGlzdGVuZXIobSx5dCksclttXSgpLHQuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSYmZC5yZW1vdmVFdmVudExpc3RlbmVyKG0seXQpLGIuZXZlbnQudHJpZ2dlcmVkPXZvaWQgMCxzJiYocltsXT1zKSksdC5yZXN1bHR9fSxzaW11bGF0ZTpmdW5jdGlvbihlLHQsbil7dmFyIHI9Yi5leHRlbmQobmV3IGIuRXZlbnQsbix7dHlwZTplLGlzU2ltdWxhdGVkOiEwfSk7Yi5ldmVudC50cmlnZ2VyKHIsbnVsbCx0KX19KSxiLmZuLmV4dGVuZCh7dHJpZ2dlcjpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtiLmV2ZW50LnRyaWdnZXIoZSx0LHRoaXMpfSl9LHRyaWdnZXJIYW5kbGVyOmZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpc1swXTtpZihuKXJldHVybiBiLmV2ZW50LnRyaWdnZXIoZSx0LG4sITApfX0pLGQuZm9jdXNpbnx8Yi5lYWNoKHtmb2N1czpcImZvY3VzaW5cIixibHVyOlwiZm9jdXNvdXRcIn0sZnVuY3Rpb24oZSx0KXt2YXIgbj1mdW5jdGlvbihlKXtiLmV2ZW50LnNpbXVsYXRlKHQsZS50YXJnZXQsYi5ldmVudC5maXgoZSkpfTtiLmV2ZW50LnNwZWNpYWxbdF09e3NldHVwOmZ1bmN0aW9uKCl7dmFyIHI9dGhpcy5vd25lckRvY3VtZW50fHx0aGlzLmRvY3VtZW50fHx0aGlzLGk9Ry5hY2Nlc3Mocix0KTtpfHxyLmFkZEV2ZW50TGlzdGVuZXIoZSxuLCEwKSxHLmFjY2VzcyhyLHQsKGl8fDApKzEpfSx0ZWFyZG93bjpmdW5jdGlvbigpe3ZhciByPXRoaXMub3duZXJEb2N1bWVudHx8dGhpcy5kb2N1bWVudHx8dGhpcyxpPUcuYWNjZXNzKHIsdCktMTtpP0cuYWNjZXNzKHIsdCxpKTooci5yZW1vdmVFdmVudExpc3RlbmVyKGUsbiwhMCksRy5yZW1vdmUocix0KSl9fX0pO3ZhciBtdD1lLmxvY2F0aW9uLHh0PXtndWlkOkRhdGUubm93KCl9LGJ0PS9cXD8vO2IucGFyc2VYTUw9ZnVuY3Rpb24odCl7dmFyIG4scjtpZighdHx8XCJzdHJpbmdcIiE9dHlwZW9mIHQpcmV0dXJuIG51bGw7dHJ5e249KG5ldyBlLkRPTVBhcnNlcikucGFyc2VGcm9tU3RyaW5nKHQsXCJ0ZXh0L3htbFwiKX1jYXRjaChlKXt9cmV0dXJuIHI9biYmbi5nZXRFbGVtZW50c0J5VGFnTmFtZShcInBhcnNlcmVycm9yXCIpWzBdLG4mJiFyfHxiLmVycm9yKFwiSW52YWxpZCBYTUw6IFwiKyhyP2IubWFwKHIuY2hpbGROb2RlcyxmdW5jdGlvbihlKXtyZXR1cm4gZS50ZXh0Q29udGVudH0pLmpvaW4oXCJcXG5cIik6dCkpLG59O3ZhciB3dD0vXFxbXFxdJC8sVHQ9L1xccj9cXG4vZyxDdD0vXig/OnN1Ym1pdHxidXR0b258aW1hZ2V8cmVzZXR8ZmlsZSkkL2ksRXQ9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8a2V5Z2VuKS9pO2Z1bmN0aW9uIFN0KGUsdCxuLHIpe3ZhciBpO2lmKEFycmF5LmlzQXJyYXkodCkpYi5lYWNoKHQsZnVuY3Rpb24odCxpKXtufHx3dC50ZXN0KGUpP3IoZSxpKTpTdChlK1wiW1wiKyhcIm9iamVjdFwiPT10eXBlb2YgaSYmbnVsbCE9aT90OlwiXCIpK1wiXVwiLGksbixyKX0pO2Vsc2UgaWYobnx8XCJvYmplY3RcIiE9PXgodCkpcihlLHQpO2Vsc2UgZm9yKGkgaW4gdClTdChlK1wiW1wiK2krXCJdXCIsdFtpXSxuLHIpfWIucGFyYW09ZnVuY3Rpb24oZSx0KXt2YXIgbixyPVtdLGk9ZnVuY3Rpb24oZSx0KXt2YXIgbj1oKHQpP3QoKTp0O3Jbci5sZW5ndGhdPWVuY29kZVVSSUNvbXBvbmVudChlKStcIj1cIitlbmNvZGVVUklDb21wb25lbnQobnVsbD09bj9cIlwiOm4pfTtpZihudWxsPT1lKXJldHVyblwiXCI7aWYoQXJyYXkuaXNBcnJheShlKXx8ZS5qcXVlcnkmJiFiLmlzUGxhaW5PYmplY3QoZSkpYi5lYWNoKGUsZnVuY3Rpb24oKXtpKHRoaXMubmFtZSx0aGlzLnZhbHVlKX0pO2Vsc2UgZm9yKG4gaW4gZSlTdChuLGVbbl0sdCxpKTtyZXR1cm4gci5qb2luKFwiJlwiKX0sYi5mbi5leHRlbmQoe3NlcmlhbGl6ZTpmdW5jdGlvbigpe3JldHVybiBiLnBhcmFtKHRoaXMuc2VyaWFsaXplQXJyYXkoKSl9LHNlcmlhbGl6ZUFycmF5OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7dmFyIGU9Yi5wcm9wKHRoaXMsXCJlbGVtZW50c1wiKTtyZXR1cm4gZT9iLm1ha2VBcnJheShlKTp0aGlzfSkuZmlsdGVyKGZ1bmN0aW9uKCl7dmFyIGU9dGhpcy50eXBlO3JldHVybiB0aGlzLm5hbWUmJiFiKHRoaXMpLmlzKFwiOmRpc2FibGVkXCIpJiZFdC50ZXN0KHRoaXMubm9kZU5hbWUpJiYhQ3QudGVzdChlKSYmKHRoaXMuY2hlY2tlZHx8IXBlLnRlc3QoZSkpfSkubWFwKGZ1bmN0aW9uKGUsdCl7dmFyIG49Yih0aGlzKS52YWwoKTtyZXR1cm4gbnVsbD09bj9udWxsOkFycmF5LmlzQXJyYXkobik/Yi5tYXAobixmdW5jdGlvbihlKXtyZXR1cm57bmFtZTp0Lm5hbWUsdmFsdWU6ZS5yZXBsYWNlKFR0LFwiXFxyXFxuXCIpfX0pOntuYW1lOnQubmFtZSx2YWx1ZTpuLnJlcGxhY2UoVHQsXCJcXHJcXG5cIil9fSkuZ2V0KCl9fSk7dmFyIGt0PS8lMjAvZyxBdD0vIy4qJC8sTnQ9LyhbPyZdKV89W14mXSovLGp0PS9eKC4qPyk6WyBcXHRdKihbXlxcclxcbl0qKSQvZ20sRHQ9L14oPzpHRVR8SEVBRCkkLyxxdD0vXlxcL1xcLy8sTHQ9e30sSHQ9e30sT3Q9XCIqL1wiLmNvbmNhdChcIipcIiksUHQ9di5jcmVhdGVFbGVtZW50KFwiYVwiKTtmdW5jdGlvbiBSdChlKXtyZXR1cm4gZnVuY3Rpb24odCxuKXtcInN0cmluZ1wiIT10eXBlb2YgdCYmKG49dCx0PVwiKlwiKTt2YXIgcixpPTAsbz10LnRvTG93ZXJDYXNlKCkubWF0Y2goTyl8fFtdO2lmKGgobikpZm9yKDtyPW9baSsrXTspXCIrXCI9PT1yWzBdPyhyPXIuc2xpY2UoMSl8fFwiKlwiLChlW3JdPWVbcl18fFtdKS51bnNoaWZ0KG4pKTooZVtyXT1lW3JdfHxbXSkucHVzaChuKX19ZnVuY3Rpb24gTXQoZSx0LG4scil7dmFyIGk9e30sbz1lPT09SHQ7ZnVuY3Rpb24gYShzKXt2YXIgdTtyZXR1cm4gaVtzXT0hMCxiLmVhY2goZVtzXXx8W10sZnVuY3Rpb24oZSxzKXt2YXIgbD1zKHQsbixyKTtyZXR1cm5cInN0cmluZ1wiIT10eXBlb2YgbHx8b3x8aVtsXT9vPyEodT1sKTp2b2lkIDA6KHQuZGF0YVR5cGVzLnVuc2hpZnQobCksYShsKSwhMSl9KSx1fXJldHVybiBhKHQuZGF0YVR5cGVzWzBdKXx8IWlbXCIqXCJdJiZhKFwiKlwiKX1mdW5jdGlvbiBJdChlLHQpe3ZhciBuLHIsaT1iLmFqYXhTZXR0aW5ncy5mbGF0T3B0aW9uc3x8e307Zm9yKG4gaW4gdCl2b2lkIDAhPT10W25dJiYoKGlbbl0/ZTpyfHwocj17fSkpW25dPXRbbl0pO3JldHVybiByJiZiLmV4dGVuZCghMCxlLHIpLGV9UHQuaHJlZj1tdC5ocmVmLGIuZXh0ZW5kKHthY3RpdmU6MCxsYXN0TW9kaWZpZWQ6e30sZXRhZzp7fSxhamF4U2V0dGluZ3M6e3VybDptdC5ocmVmLHR5cGU6XCJHRVRcIixpc0xvY2FsOi9eKD86YWJvdXR8YXBwfGFwcC1zdG9yYWdlfC4rLWV4dGVuc2lvbnxmaWxlfHJlc3x3aWRnZXQpOiQvLnRlc3QobXQucHJvdG9jb2wpLGdsb2JhbDohMCxwcm9jZXNzRGF0YTohMCxhc3luYzohMCxjb250ZW50VHlwZTpcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDsgY2hhcnNldD1VVEYtOFwiLGFjY2VwdHM6e1wiKlwiOk90LHRleHQ6XCJ0ZXh0L3BsYWluXCIsaHRtbDpcInRleHQvaHRtbFwiLHhtbDpcImFwcGxpY2F0aW9uL3htbCwgdGV4dC94bWxcIixqc29uOlwiYXBwbGljYXRpb24vanNvbiwgdGV4dC9qYXZhc2NyaXB0XCJ9LGNvbnRlbnRzOnt4bWw6L1xcYnhtbFxcYi8saHRtbDovXFxiaHRtbC8sanNvbjovXFxianNvblxcYi99LHJlc3BvbnNlRmllbGRzOnt4bWw6XCJyZXNwb25zZVhNTFwiLHRleHQ6XCJyZXNwb25zZVRleHRcIixqc29uOlwicmVzcG9uc2VKU09OXCJ9LGNvbnZlcnRlcnM6e1wiKiB0ZXh0XCI6U3RyaW5nLFwidGV4dCBodG1sXCI6ITAsXCJ0ZXh0IGpzb25cIjpKU09OLnBhcnNlLFwidGV4dCB4bWxcIjpiLnBhcnNlWE1MfSxmbGF0T3B0aW9uczp7dXJsOiEwLGNvbnRleHQ6ITB9fSxhamF4U2V0dXA6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdD9JdChJdChlLGIuYWpheFNldHRpbmdzKSx0KTpJdChiLmFqYXhTZXR0aW5ncyxlKX0sYWpheFByZWZpbHRlcjpSdChMdCksYWpheFRyYW5zcG9ydDpSdChIdCksYWpheDpmdW5jdGlvbih0LG4pe1wib2JqZWN0XCI9PXR5cGVvZiB0JiYobj10LHQ9dm9pZCAwKSxuPW58fHt9O3ZhciByLGksbyxhLHMsdSxsLGMsZixwLGQ9Yi5hamF4U2V0dXAoe30sbiksaD1kLmNvbnRleHR8fGQsZz1kLmNvbnRleHQmJihoLm5vZGVUeXBlfHxoLmpxdWVyeSk/YihoKTpiLmV2ZW50LHk9Yi5EZWZlcnJlZCgpLG09Yi5DYWxsYmFja3MoXCJvbmNlIG1lbW9yeVwiKSx4PWQuc3RhdHVzQ29kZXx8e30sdz17fSxUPXt9LEM9XCJjYW5jZWxlZFwiLEU9e3JlYWR5U3RhdGU6MCxnZXRSZXNwb25zZUhlYWRlcjpmdW5jdGlvbihlKXt2YXIgdDtpZihsKXtpZighYSlmb3IoYT17fTt0PWp0LmV4ZWMobyk7KWFbdFsxXS50b0xvd2VyQ2FzZSgpK1wiIFwiXT0oYVt0WzFdLnRvTG93ZXJDYXNlKCkrXCIgXCJdfHxbXSkuY29uY2F0KHRbMl0pO3Q9YVtlLnRvTG93ZXJDYXNlKCkrXCIgXCJdfXJldHVybiBudWxsPT10P251bGw6dC5qb2luKFwiLCBcIil9LGdldEFsbFJlc3BvbnNlSGVhZGVyczpmdW5jdGlvbigpe3JldHVybiBsP286bnVsbH0sc2V0UmVxdWVzdEhlYWRlcjpmdW5jdGlvbihlLHQpe3JldHVybiBudWxsPT1sJiYoZT1UW2UudG9Mb3dlckNhc2UoKV09VFtlLnRvTG93ZXJDYXNlKCldfHxlLHdbZV09dCksdGhpc30sb3ZlcnJpZGVNaW1lVHlwZTpmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09bCYmKGQubWltZVR5cGU9ZSksdGhpc30sc3RhdHVzQ29kZTpmdW5jdGlvbihlKXt2YXIgdDtpZihlKWlmKGwpRS5hbHdheXMoZVtFLnN0YXR1c10pO2Vsc2UgZm9yKHQgaW4gZSl4W3RdPVt4W3RdLGVbdF1dO3JldHVybiB0aGlzfSxhYm9ydDpmdW5jdGlvbihlKXt2YXIgdD1lfHxDO3JldHVybiByJiZyLmFib3J0KHQpLFMoMCx0KSx0aGlzfX07aWYoeS5wcm9taXNlKEUpLGQudXJsPSgodHx8ZC51cmx8fG10LmhyZWYpK1wiXCIpLnJlcGxhY2UocXQsbXQucHJvdG9jb2wrXCIvL1wiKSxkLnR5cGU9bi5tZXRob2R8fG4udHlwZXx8ZC5tZXRob2R8fGQudHlwZSxkLmRhdGFUeXBlcz0oZC5kYXRhVHlwZXx8XCIqXCIpLnRvTG93ZXJDYXNlKCkubWF0Y2goTyl8fFtcIlwiXSxudWxsPT1kLmNyb3NzRG9tYWluKXt1PXYuY3JlYXRlRWxlbWVudChcImFcIik7dHJ5e3UuaHJlZj1kLnVybCx1LmhyZWY9dS5ocmVmLGQuY3Jvc3NEb21haW49UHQucHJvdG9jb2wrXCIvL1wiK1B0Lmhvc3QhPXUucHJvdG9jb2wrXCIvL1wiK3UuaG9zdH1jYXRjaChlKXtkLmNyb3NzRG9tYWluPSEwfX1pZihkLmRhdGEmJmQucHJvY2Vzc0RhdGEmJlwic3RyaW5nXCIhPXR5cGVvZiBkLmRhdGEmJihkLmRhdGE9Yi5wYXJhbShkLmRhdGEsZC50cmFkaXRpb25hbCkpLE10KEx0LGQsbixFKSxsKXJldHVybiBFO2ZvcihmIGluKGM9Yi5ldmVudCYmZC5nbG9iYWwpJiYwPT1iLmFjdGl2ZSsrJiZiLmV2ZW50LnRyaWdnZXIoXCJhamF4U3RhcnRcIiksZC50eXBlPWQudHlwZS50b1VwcGVyQ2FzZSgpLGQuaGFzQ29udGVudD0hRHQudGVzdChkLnR5cGUpLGk9ZC51cmwucmVwbGFjZShBdCxcIlwiKSxkLmhhc0NvbnRlbnQ/ZC5kYXRhJiZkLnByb2Nlc3NEYXRhJiYwPT09KGQuY29udGVudFR5cGV8fFwiXCIpLmluZGV4T2YoXCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWRcIikmJihkLmRhdGE9ZC5kYXRhLnJlcGxhY2Uoa3QsXCIrXCIpKToocD1kLnVybC5zbGljZShpLmxlbmd0aCksZC5kYXRhJiYoZC5wcm9jZXNzRGF0YXx8XCJzdHJpbmdcIj09dHlwZW9mIGQuZGF0YSkmJihpKz0oYnQudGVzdChpKT9cIiZcIjpcIj9cIikrZC5kYXRhLGRlbGV0ZSBkLmRhdGEpLCExPT09ZC5jYWNoZSYmKGk9aS5yZXBsYWNlKE50LFwiJDFcIikscD0oYnQudGVzdChpKT9cIiZcIjpcIj9cIikrXCJfPVwiK3h0Lmd1aWQrKytwKSxkLnVybD1pK3ApLGQuaWZNb2RpZmllZCYmKGIubGFzdE1vZGlmaWVkW2ldJiZFLnNldFJlcXVlc3RIZWFkZXIoXCJJZi1Nb2RpZmllZC1TaW5jZVwiLGIubGFzdE1vZGlmaWVkW2ldKSxiLmV0YWdbaV0mJkUuc2V0UmVxdWVzdEhlYWRlcihcIklmLU5vbmUtTWF0Y2hcIixiLmV0YWdbaV0pKSwoZC5kYXRhJiZkLmhhc0NvbnRlbnQmJiExIT09ZC5jb250ZW50VHlwZXx8bi5jb250ZW50VHlwZSkmJkUuc2V0UmVxdWVzdEhlYWRlcihcIkNvbnRlbnQtVHlwZVwiLGQuY29udGVudFR5cGUpLEUuc2V0UmVxdWVzdEhlYWRlcihcIkFjY2VwdFwiLGQuZGF0YVR5cGVzWzBdJiZkLmFjY2VwdHNbZC5kYXRhVHlwZXNbMF1dP2QuYWNjZXB0c1tkLmRhdGFUeXBlc1swXV0rKFwiKlwiIT09ZC5kYXRhVHlwZXNbMF0/XCIsIFwiK090K1wiOyBxPTAuMDFcIjpcIlwiKTpkLmFjY2VwdHNbXCIqXCJdKSxkLmhlYWRlcnMpRS5zZXRSZXF1ZXN0SGVhZGVyKGYsZC5oZWFkZXJzW2ZdKTtpZihkLmJlZm9yZVNlbmQmJighMT09PWQuYmVmb3JlU2VuZC5jYWxsKGgsRSxkKXx8bCkpcmV0dXJuIEUuYWJvcnQoKTtpZihDPVwiYWJvcnRcIixtLmFkZChkLmNvbXBsZXRlKSxFLmRvbmUoZC5zdWNjZXNzKSxFLmZhaWwoZC5lcnJvcikscj1NdChIdCxkLG4sRSkpe2lmKEUucmVhZHlTdGF0ZT0xLGMmJmcudHJpZ2dlcihcImFqYXhTZW5kXCIsW0UsZF0pLGwpcmV0dXJuIEU7ZC5hc3luYyYmZC50aW1lb3V0PjAmJihzPWUuc2V0VGltZW91dChmdW5jdGlvbigpe0UuYWJvcnQoXCJ0aW1lb3V0XCIpfSxkLnRpbWVvdXQpKTt0cnl7bD0hMSxyLnNlbmQodyxTKX1jYXRjaChlKXtpZihsKXRocm93IGU7UygtMSxlKX19ZWxzZSBTKC0xLFwiTm8gVHJhbnNwb3J0XCIpO2Z1bmN0aW9uIFModCxuLGEsdSl7dmFyIGYscCx2LHcsVCxDPW47bHx8KGw9ITAscyYmZS5jbGVhclRpbWVvdXQocykscj12b2lkIDAsbz11fHxcIlwiLEUucmVhZHlTdGF0ZT10PjA/NDowLGY9dD49MjAwJiZ0PDMwMHx8MzA0PT09dCxhJiYodz1mdW5jdGlvbihlLHQsbil7Zm9yKHZhciByLGksbyxhLHM9ZS5jb250ZW50cyx1PWUuZGF0YVR5cGVzO1wiKlwiPT09dVswXTspdS5zaGlmdCgpLHZvaWQgMD09PXImJihyPWUubWltZVR5cGV8fHQuZ2V0UmVzcG9uc2VIZWFkZXIoXCJDb250ZW50LVR5cGVcIikpO2lmKHIpZm9yKGkgaW4gcylpZihzW2ldJiZzW2ldLnRlc3Qocikpe3UudW5zaGlmdChpKTticmVha31pZih1WzBdaW4gbilvPXVbMF07ZWxzZXtmb3IoaSBpbiBuKXtpZighdVswXXx8ZS5jb252ZXJ0ZXJzW2krXCIgXCIrdVswXV0pe289aTticmVha31hfHwoYT1pKX1vPW98fGF9aWYobylyZXR1cm4gbyE9PXVbMF0mJnUudW5zaGlmdChvKSxuW29dfShkLEUsYSkpLCFmJiZiLmluQXJyYXkoXCJzY3JpcHRcIixkLmRhdGFUeXBlcyk+LTEmJmIuaW5BcnJheShcImpzb25cIixkLmRhdGFUeXBlcyk8MCYmKGQuY29udmVydGVyc1tcInRleHQgc2NyaXB0XCJdPWZ1bmN0aW9uKCl7fSksdz1mdW5jdGlvbihlLHQsbixyKXt2YXIgaSxvLGEscyx1LGw9e30sYz1lLmRhdGFUeXBlcy5zbGljZSgpO2lmKGNbMV0pZm9yKGEgaW4gZS5jb252ZXJ0ZXJzKWxbYS50b0xvd2VyQ2FzZSgpXT1lLmNvbnZlcnRlcnNbYV07Zm9yKG89Yy5zaGlmdCgpO287KWlmKGUucmVzcG9uc2VGaWVsZHNbb10mJihuW2UucmVzcG9uc2VGaWVsZHNbb11dPXQpLCF1JiZyJiZlLmRhdGFGaWx0ZXImJih0PWUuZGF0YUZpbHRlcih0LGUuZGF0YVR5cGUpKSx1PW8sbz1jLnNoaWZ0KCkpaWYoXCIqXCI9PT1vKW89dTtlbHNlIGlmKFwiKlwiIT09dSYmdSE9PW8pe2lmKCEoYT1sW3UrXCIgXCIrb118fGxbXCIqIFwiK29dKSlmb3IoaSBpbiBsKWlmKChzPWkuc3BsaXQoXCIgXCIpKVsxXT09PW8mJihhPWxbdStcIiBcIitzWzBdXXx8bFtcIiogXCIrc1swXV0pKXshMD09PWE/YT1sW2ldOiEwIT09bFtpXSYmKG89c1swXSxjLnVuc2hpZnQoc1sxXSkpO2JyZWFrfWlmKCEwIT09YSlpZihhJiZlLnRocm93cyl0PWEodCk7ZWxzZSB0cnl7dD1hKHQpfWNhdGNoKGUpe3JldHVybntzdGF0ZTpcInBhcnNlcmVycm9yXCIsZXJyb3I6YT9lOlwiTm8gY29udmVyc2lvbiBmcm9tIFwiK3UrXCIgdG8gXCIrb319fXJldHVybntzdGF0ZTpcInN1Y2Nlc3NcIixkYXRhOnR9fShkLHcsRSxmKSxmPyhkLmlmTW9kaWZpZWQmJigoVD1FLmdldFJlc3BvbnNlSGVhZGVyKFwiTGFzdC1Nb2RpZmllZFwiKSkmJihiLmxhc3RNb2RpZmllZFtpXT1UKSwoVD1FLmdldFJlc3BvbnNlSGVhZGVyKFwiZXRhZ1wiKSkmJihiLmV0YWdbaV09VCkpLDIwND09PXR8fFwiSEVBRFwiPT09ZC50eXBlP0M9XCJub2NvbnRlbnRcIjozMDQ9PT10P0M9XCJub3Rtb2RpZmllZFwiOihDPXcuc3RhdGUscD13LmRhdGEsZj0hKHY9dy5lcnJvcikpKToodj1DLCF0JiZDfHwoQz1cImVycm9yXCIsdDwwJiYodD0wKSkpLEUuc3RhdHVzPXQsRS5zdGF0dXNUZXh0PShufHxDKStcIlwiLGY/eS5yZXNvbHZlV2l0aChoLFtwLEMsRV0pOnkucmVqZWN0V2l0aChoLFtFLEMsdl0pLEUuc3RhdHVzQ29kZSh4KSx4PXZvaWQgMCxjJiZnLnRyaWdnZXIoZj9cImFqYXhTdWNjZXNzXCI6XCJhamF4RXJyb3JcIixbRSxkLGY/cDp2XSksbS5maXJlV2l0aChoLFtFLENdKSxjJiYoZy50cmlnZ2VyKFwiYWpheENvbXBsZXRlXCIsW0UsZF0pLC0tYi5hY3RpdmV8fGIuZXZlbnQudHJpZ2dlcihcImFqYXhTdG9wXCIpKSl9cmV0dXJuIEV9LGdldEpTT046ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBiLmdldChlLHQsbixcImpzb25cIil9LGdldFNjcmlwdDpmdW5jdGlvbihlLHQpe3JldHVybiBiLmdldChlLHZvaWQgMCx0LFwic2NyaXB0XCIpfX0pLGIuZWFjaChbXCJnZXRcIixcInBvc3RcIl0sZnVuY3Rpb24oZSx0KXtiW3RdPWZ1bmN0aW9uKGUsbixyLGkpe3JldHVybiBoKG4pJiYoaT1pfHxyLHI9bixuPXZvaWQgMCksYi5hamF4KGIuZXh0ZW5kKHt1cmw6ZSx0eXBlOnQsZGF0YVR5cGU6aSxkYXRhOm4sc3VjY2VzczpyfSxiLmlzUGxhaW5PYmplY3QoZSkmJmUpKX19KSxiLmFqYXhQcmVmaWx0ZXIoZnVuY3Rpb24oZSl7dmFyIHQ7Zm9yKHQgaW4gZS5oZWFkZXJzKVwiY29udGVudC10eXBlXCI9PT10LnRvTG93ZXJDYXNlKCkmJihlLmNvbnRlbnRUeXBlPWUuaGVhZGVyc1t0XXx8XCJcIil9KSxiLl9ldmFsVXJsPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gYi5hamF4KHt1cmw6ZSx0eXBlOlwiR0VUXCIsZGF0YVR5cGU6XCJzY3JpcHRcIixjYWNoZTohMCxhc3luYzohMSxnbG9iYWw6ITEsY29udmVydGVyczp7XCJ0ZXh0IHNjcmlwdFwiOmZ1bmN0aW9uKCl7fX0sZGF0YUZpbHRlcjpmdW5jdGlvbihlKXtiLmdsb2JhbEV2YWwoZSx0LG4pfX0pfSxiLmZuLmV4dGVuZCh7d3JhcEFsbDpmdW5jdGlvbihlKXt2YXIgdDtyZXR1cm4gdGhpc1swXSYmKGgoZSkmJihlPWUuY2FsbCh0aGlzWzBdKSksdD1iKGUsdGhpc1swXS5vd25lckRvY3VtZW50KS5lcSgwKS5jbG9uZSghMCksdGhpc1swXS5wYXJlbnROb2RlJiZ0Lmluc2VydEJlZm9yZSh0aGlzWzBdKSx0Lm1hcChmdW5jdGlvbigpe2Zvcih2YXIgZT10aGlzO2UuZmlyc3RFbGVtZW50Q2hpbGQ7KWU9ZS5maXJzdEVsZW1lbnRDaGlsZDtyZXR1cm4gZX0pLmFwcGVuZCh0aGlzKSksdGhpc30sd3JhcElubmVyOmZ1bmN0aW9uKGUpe3JldHVybiBoKGUpP3RoaXMuZWFjaChmdW5jdGlvbih0KXtiKHRoaXMpLndyYXBJbm5lcihlLmNhbGwodGhpcyx0KSl9KTp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgdD1iKHRoaXMpLG49dC5jb250ZW50cygpO24ubGVuZ3RoP24ud3JhcEFsbChlKTp0LmFwcGVuZChlKX0pfSx3cmFwOmZ1bmN0aW9uKGUpe3ZhciB0PWgoZSk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihuKXtiKHRoaXMpLndyYXBBbGwodD9lLmNhbGwodGhpcyxuKTplKX0pfSx1bndyYXA6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMucGFyZW50KGUpLm5vdChcImJvZHlcIikuZWFjaChmdW5jdGlvbigpe2IodGhpcykucmVwbGFjZVdpdGgodGhpcy5jaGlsZE5vZGVzKX0pLHRoaXN9fSksYi5leHByLnBzZXVkb3MuaGlkZGVuPWZ1bmN0aW9uKGUpe3JldHVybiFiLmV4cHIucHNldWRvcy52aXNpYmxlKGUpfSxiLmV4cHIucHNldWRvcy52aXNpYmxlPWZ1bmN0aW9uKGUpe3JldHVybiEhKGUub2Zmc2V0V2lkdGh8fGUub2Zmc2V0SGVpZ2h0fHxlLmdldENsaWVudFJlY3RzKCkubGVuZ3RoKX0sYi5hamF4U2V0dGluZ3MueGhyPWZ1bmN0aW9uKCl7dHJ5e3JldHVybiBuZXcgZS5YTUxIdHRwUmVxdWVzdH1jYXRjaChlKXt9fTt2YXIgV3Q9ezA6MjAwLDEyMjM6MjA0fSxGdD1iLmFqYXhTZXR0aW5ncy54aHIoKTtkLmNvcnM9ISFGdCYmXCJ3aXRoQ3JlZGVudGlhbHNcImluIEZ0LGQuYWpheD1GdD0hIUZ0LGIuYWpheFRyYW5zcG9ydChmdW5jdGlvbih0KXt2YXIgbixyO2lmKGQuY29yc3x8RnQmJiF0LmNyb3NzRG9tYWluKXJldHVybntzZW5kOmZ1bmN0aW9uKGksbyl7dmFyIGEscz10LnhocigpO2lmKHMub3Blbih0LnR5cGUsdC51cmwsdC5hc3luYyx0LnVzZXJuYW1lLHQucGFzc3dvcmQpLHQueGhyRmllbGRzKWZvcihhIGluIHQueGhyRmllbGRzKXNbYV09dC54aHJGaWVsZHNbYV07Zm9yKGEgaW4gdC5taW1lVHlwZSYmcy5vdmVycmlkZU1pbWVUeXBlJiZzLm92ZXJyaWRlTWltZVR5cGUodC5taW1lVHlwZSksdC5jcm9zc0RvbWFpbnx8aVtcIlgtUmVxdWVzdGVkLVdpdGhcIl18fChpW1wiWC1SZXF1ZXN0ZWQtV2l0aFwiXT1cIlhNTEh0dHBSZXF1ZXN0XCIpLGkpcy5zZXRSZXF1ZXN0SGVhZGVyKGEsaVthXSk7bj1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oKXtuJiYobj1yPXMub25sb2FkPXMub25lcnJvcj1zLm9uYWJvcnQ9cy5vbnRpbWVvdXQ9cy5vbnJlYWR5c3RhdGVjaGFuZ2U9bnVsbCxcImFib3J0XCI9PT1lP3MuYWJvcnQoKTpcImVycm9yXCI9PT1lP1wibnVtYmVyXCIhPXR5cGVvZiBzLnN0YXR1cz9vKDAsXCJlcnJvclwiKTpvKHMuc3RhdHVzLHMuc3RhdHVzVGV4dCk6byhXdFtzLnN0YXR1c118fHMuc3RhdHVzLHMuc3RhdHVzVGV4dCxcInRleHRcIiE9PShzLnJlc3BvbnNlVHlwZXx8XCJ0ZXh0XCIpfHxcInN0cmluZ1wiIT10eXBlb2Ygcy5yZXNwb25zZVRleHQ/e2JpbmFyeTpzLnJlc3BvbnNlfTp7dGV4dDpzLnJlc3BvbnNlVGV4dH0scy5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKSkpfX0scy5vbmxvYWQ9bigpLHI9cy5vbmVycm9yPXMub250aW1lb3V0PW4oXCJlcnJvclwiKSx2b2lkIDAhPT1zLm9uYWJvcnQ/cy5vbmFib3J0PXI6cy5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXs0PT09cy5yZWFkeVN0YXRlJiZlLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtuJiZyKCl9KX0sbj1uKFwiYWJvcnRcIik7dHJ5e3Muc2VuZCh0Lmhhc0NvbnRlbnQmJnQuZGF0YXx8bnVsbCl9Y2F0Y2goZSl7aWYobil0aHJvdyBlfX0sYWJvcnQ6ZnVuY3Rpb24oKXtuJiZuKCl9fX0pLGIuYWpheFByZWZpbHRlcihmdW5jdGlvbihlKXtlLmNyb3NzRG9tYWluJiYoZS5jb250ZW50cy5zY3JpcHQ9ITEpfSksYi5hamF4U2V0dXAoe2FjY2VwdHM6e3NjcmlwdDpcInRleHQvamF2YXNjcmlwdCwgYXBwbGljYXRpb24vamF2YXNjcmlwdCwgYXBwbGljYXRpb24vZWNtYXNjcmlwdCwgYXBwbGljYXRpb24veC1lY21hc2NyaXB0XCJ9LGNvbnRlbnRzOntzY3JpcHQ6L1xcYig/OmphdmF8ZWNtYSlzY3JpcHRcXGIvfSxjb252ZXJ0ZXJzOntcInRleHQgc2NyaXB0XCI6ZnVuY3Rpb24oZSl7cmV0dXJuIGIuZ2xvYmFsRXZhbChlKSxlfX19KSxiLmFqYXhQcmVmaWx0ZXIoXCJzY3JpcHRcIixmdW5jdGlvbihlKXt2b2lkIDA9PT1lLmNhY2hlJiYoZS5jYWNoZT0hMSksZS5jcm9zc0RvbWFpbiYmKGUudHlwZT1cIkdFVFwiKX0pLGIuYWpheFRyYW5zcG9ydChcInNjcmlwdFwiLGZ1bmN0aW9uKGUpe3ZhciB0LG47aWYoZS5jcm9zc0RvbWFpbnx8ZS5zY3JpcHRBdHRycylyZXR1cm57c2VuZDpmdW5jdGlvbihyLGkpe3Q9YihcIjxzY3JpcHQ+XCIpLmF0dHIoZS5zY3JpcHRBdHRyc3x8e30pLnByb3Aoe2NoYXJzZXQ6ZS5zY3JpcHRDaGFyc2V0LHNyYzplLnVybH0pLm9uKFwibG9hZCBlcnJvclwiLG49ZnVuY3Rpb24oZSl7dC5yZW1vdmUoKSxuPW51bGwsZSYmaShcImVycm9yXCI9PT1lLnR5cGU/NDA0OjIwMCxlLnR5cGUpfSksdi5oZWFkLmFwcGVuZENoaWxkKHRbMF0pfSxhYm9ydDpmdW5jdGlvbigpe24mJm4oKX19fSk7dmFyIEJ0LCR0PVtdLF90PS8oPSlcXD8oPz0mfCQpfFxcP1xcPy87Yi5hamF4U2V0dXAoe2pzb25wOlwiY2FsbGJhY2tcIixqc29ucENhbGxiYWNrOmZ1bmN0aW9uKCl7dmFyIGU9JHQucG9wKCl8fGIuZXhwYW5kbytcIl9cIit4dC5ndWlkKys7cmV0dXJuIHRoaXNbZV09ITAsZX19KSxiLmFqYXhQcmVmaWx0ZXIoXCJqc29uIGpzb25wXCIsZnVuY3Rpb24odCxuLHIpe3ZhciBpLG8sYSxzPSExIT09dC5qc29ucCYmKF90LnRlc3QodC51cmwpP1widXJsXCI6XCJzdHJpbmdcIj09dHlwZW9mIHQuZGF0YSYmMD09PSh0LmNvbnRlbnRUeXBlfHxcIlwiKS5pbmRleE9mKFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCIpJiZfdC50ZXN0KHQuZGF0YSkmJlwiZGF0YVwiKTtpZihzfHxcImpzb25wXCI9PT10LmRhdGFUeXBlc1swXSlyZXR1cm4gaT10Lmpzb25wQ2FsbGJhY2s9aCh0Lmpzb25wQ2FsbGJhY2spP3QuanNvbnBDYWxsYmFjaygpOnQuanNvbnBDYWxsYmFjayxzP3Rbc109dFtzXS5yZXBsYWNlKF90LFwiJDFcIitpKTohMSE9PXQuanNvbnAmJih0LnVybCs9KGJ0LnRlc3QodC51cmwpP1wiJlwiOlwiP1wiKSt0Lmpzb25wK1wiPVwiK2kpLHQuY29udmVydGVyc1tcInNjcmlwdCBqc29uXCJdPWZ1bmN0aW9uKCl7cmV0dXJuIGF8fGIuZXJyb3IoaStcIiB3YXMgbm90IGNhbGxlZFwiKSxhWzBdfSx0LmRhdGFUeXBlc1swXT1cImpzb25cIixvPWVbaV0sZVtpXT1mdW5jdGlvbigpe2E9YXJndW1lbnRzfSxyLmFsd2F5cyhmdW5jdGlvbigpe3ZvaWQgMD09PW8/YihlKS5yZW1vdmVQcm9wKGkpOmVbaV09byx0W2ldJiYodC5qc29ucENhbGxiYWNrPW4uanNvbnBDYWxsYmFjaywkdC5wdXNoKGkpKSxhJiZoKG8pJiZvKGFbMF0pLGE9bz12b2lkIDB9KSxcInNjcmlwdFwifSksZC5jcmVhdGVIVE1MRG9jdW1lbnQ9KChCdD12LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudChcIlwiKS5ib2R5KS5pbm5lckhUTUw9XCI8Zm9ybT48L2Zvcm0+PGZvcm0+PC9mb3JtPlwiLDI9PT1CdC5jaGlsZE5vZGVzLmxlbmd0aCksYi5wYXJzZUhUTUw9ZnVuY3Rpb24oZSx0LG4pe3JldHVyblwic3RyaW5nXCIhPXR5cGVvZiBlP1tdOihcImJvb2xlYW5cIj09dHlwZW9mIHQmJihuPXQsdD0hMSksdHx8KGQuY3JlYXRlSFRNTERvY3VtZW50Pygocj0odD12LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudChcIlwiKSkuY3JlYXRlRWxlbWVudChcImJhc2VcIikpLmhyZWY9di5sb2NhdGlvbi5ocmVmLHQuaGVhZC5hcHBlbmRDaGlsZChyKSk6dD12KSxvPSFuJiZbXSwoaT1BLmV4ZWMoZSkpP1t0LmNyZWF0ZUVsZW1lbnQoaVsxXSldOihpPXhlKFtlXSx0LG8pLG8mJm8ubGVuZ3RoJiZiKG8pLnJlbW92ZSgpLGIubWVyZ2UoW10saS5jaGlsZE5vZGVzKSkpO3ZhciByLGksb30sYi5mbi5sb2FkPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG8sYT10aGlzLHM9ZS5pbmRleE9mKFwiIFwiKTtyZXR1cm4gcz4tMSYmKHI9cHQoZS5zbGljZShzKSksZT1lLnNsaWNlKDAscykpLGgodCk/KG49dCx0PXZvaWQgMCk6dCYmXCJvYmplY3RcIj09dHlwZW9mIHQmJihpPVwiUE9TVFwiKSxhLmxlbmd0aD4wJiZiLmFqYXgoe3VybDplLHR5cGU6aXx8XCJHRVRcIixkYXRhVHlwZTpcImh0bWxcIixkYXRhOnR9KS5kb25lKGZ1bmN0aW9uKGUpe289YXJndW1lbnRzLGEuaHRtbChyP2IoXCI8ZGl2PlwiKS5hcHBlbmQoYi5wYXJzZUhUTUwoZSkpLmZpbmQocik6ZSl9KS5hbHdheXMobiYmZnVuY3Rpb24oZSx0KXthLmVhY2goZnVuY3Rpb24oKXtuLmFwcGx5KHRoaXMsb3x8W2UucmVzcG9uc2VUZXh0LHQsZV0pfSl9KSx0aGlzfSxiLmV4cHIucHNldWRvcy5hbmltYXRlZD1mdW5jdGlvbihlKXtyZXR1cm4gYi5ncmVwKGIudGltZXJzLGZ1bmN0aW9uKHQpe3JldHVybiBlPT09dC5lbGVtfSkubGVuZ3RofSxiLm9mZnNldD17c2V0T2Zmc2V0OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG8sYSxzLHUsbD1iLmNzcyhlLFwicG9zaXRpb25cIiksYz1iKGUpLGY9e307XCJzdGF0aWNcIj09PWwmJihlLnN0eWxlLnBvc2l0aW9uPVwicmVsYXRpdmVcIikscz1jLm9mZnNldCgpLG89Yi5jc3MoZSxcInRvcFwiKSx1PWIuY3NzKGUsXCJsZWZ0XCIpLChcImFic29sdXRlXCI9PT1sfHxcImZpeGVkXCI9PT1sKSYmKG8rdSkuaW5kZXhPZihcImF1dG9cIik+LTE/KGE9KHI9Yy5wb3NpdGlvbigpKS50b3AsaT1yLmxlZnQpOihhPXBhcnNlRmxvYXQobyl8fDAsaT1wYXJzZUZsb2F0KHUpfHwwKSxoKHQpJiYodD10LmNhbGwoZSxuLGIuZXh0ZW5kKHt9LHMpKSksbnVsbCE9dC50b3AmJihmLnRvcD10LnRvcC1zLnRvcCthKSxudWxsIT10LmxlZnQmJihmLmxlZnQ9dC5sZWZ0LXMubGVmdCtpKSxcInVzaW5nXCJpbiB0P3QudXNpbmcuY2FsbChlLGYpOmMuY3NzKGYpfX0sYi5mbi5leHRlbmQoe29mZnNldDpmdW5jdGlvbihlKXtpZihhcmd1bWVudHMubGVuZ3RoKXJldHVybiB2b2lkIDA9PT1lP3RoaXM6dGhpcy5lYWNoKGZ1bmN0aW9uKHQpe2Iub2Zmc2V0LnNldE9mZnNldCh0aGlzLGUsdCl9KTt2YXIgdCxuLHI9dGhpc1swXTtyZXR1cm4gcj9yLmdldENsaWVudFJlY3RzKCkubGVuZ3RoPyh0PXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbj1yLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcse3RvcDp0LnRvcCtuLnBhZ2VZT2Zmc2V0LGxlZnQ6dC5sZWZ0K24ucGFnZVhPZmZzZXR9KTp7dG9wOjAsbGVmdDowfTp2b2lkIDB9LHBvc2l0aW9uOmZ1bmN0aW9uKCl7aWYodGhpc1swXSl7dmFyIGUsdCxuLHI9dGhpc1swXSxpPXt0b3A6MCxsZWZ0OjB9O2lmKFwiZml4ZWRcIj09PWIuY3NzKHIsXCJwb3NpdGlvblwiKSl0PXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7ZWxzZXtmb3IodD10aGlzLm9mZnNldCgpLG49ci5vd25lckRvY3VtZW50LGU9ci5vZmZzZXRQYXJlbnR8fG4uZG9jdW1lbnRFbGVtZW50O2UmJihlPT09bi5ib2R5fHxlPT09bi5kb2N1bWVudEVsZW1lbnQpJiZcInN0YXRpY1wiPT09Yi5jc3MoZSxcInBvc2l0aW9uXCIpOyllPWUucGFyZW50Tm9kZTtlJiZlIT09ciYmMT09PWUubm9kZVR5cGUmJigoaT1iKGUpLm9mZnNldCgpKS50b3ArPWIuY3NzKGUsXCJib3JkZXJUb3BXaWR0aFwiLCEwKSxpLmxlZnQrPWIuY3NzKGUsXCJib3JkZXJMZWZ0V2lkdGhcIiwhMCkpfXJldHVybnt0b3A6dC50b3AtaS50b3AtYi5jc3MocixcIm1hcmdpblRvcFwiLCEwKSxsZWZ0OnQubGVmdC1pLmxlZnQtYi5jc3MocixcIm1hcmdpbkxlZnRcIiwhMCl9fX0sb2Zmc2V0UGFyZW50OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7Zm9yKHZhciBlPXRoaXMub2Zmc2V0UGFyZW50O2UmJlwic3RhdGljXCI9PT1iLmNzcyhlLFwicG9zaXRpb25cIik7KWU9ZS5vZmZzZXRQYXJlbnQ7cmV0dXJuIGV8fG5lfSl9fSksYi5lYWNoKHtzY3JvbGxMZWZ0OlwicGFnZVhPZmZzZXRcIixzY3JvbGxUb3A6XCJwYWdlWU9mZnNldFwifSxmdW5jdGlvbihlLHQpe3ZhciBuPVwicGFnZVlPZmZzZXRcIj09PXQ7Yi5mbltlXT1mdW5jdGlvbihyKXtyZXR1cm4gQih0aGlzLGZ1bmN0aW9uKGUscixpKXt2YXIgbztpZihnKGUpP289ZTo5PT09ZS5ub2RlVHlwZSYmKG89ZS5kZWZhdWx0Vmlldyksdm9pZCAwPT09aSlyZXR1cm4gbz9vW3RdOmVbcl07bz9vLnNjcm9sbFRvKG4/by5wYWdlWE9mZnNldDppLG4/aTpvLnBhZ2VZT2Zmc2V0KTplW3JdPWl9LGUscixhcmd1bWVudHMubGVuZ3RoKX19KSxiLmVhY2goW1widG9wXCIsXCJsZWZ0XCJdLGZ1bmN0aW9uKGUsdCl7Yi5jc3NIb29rc1t0XT1GZShkLnBpeGVsUG9zaXRpb24sZnVuY3Rpb24oZSxuKXtpZihuKXJldHVybiBuPVdlKGUsdCksUGUudGVzdChuKT9iKGUpLnBvc2l0aW9uKClbdF0rXCJweFwiOm59KX0pLGIuZWFjaCh7SGVpZ2h0OlwiaGVpZ2h0XCIsV2lkdGg6XCJ3aWR0aFwifSxmdW5jdGlvbihlLHQpe2IuZWFjaCh7cGFkZGluZzpcImlubmVyXCIrZSxjb250ZW50OnQsXCJcIjpcIm91dGVyXCIrZX0sZnVuY3Rpb24obixyKXtiLmZuW3JdPWZ1bmN0aW9uKGksbyl7dmFyIGE9YXJndW1lbnRzLmxlbmd0aCYmKG58fFwiYm9vbGVhblwiIT10eXBlb2YgaSkscz1ufHwoITA9PT1pfHwhMD09PW8/XCJtYXJnaW5cIjpcImJvcmRlclwiKTtyZXR1cm4gQih0aGlzLGZ1bmN0aW9uKHQsbixpKXt2YXIgbztyZXR1cm4gZyh0KT8wPT09ci5pbmRleE9mKFwib3V0ZXJcIik/dFtcImlubmVyXCIrZV06dC5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnRbXCJjbGllbnRcIitlXTo5PT09dC5ub2RlVHlwZT8obz10LmRvY3VtZW50RWxlbWVudCxNYXRoLm1heCh0LmJvZHlbXCJzY3JvbGxcIitlXSxvW1wic2Nyb2xsXCIrZV0sdC5ib2R5W1wib2Zmc2V0XCIrZV0sb1tcIm9mZnNldFwiK2VdLG9bXCJjbGllbnRcIitlXSkpOnZvaWQgMD09PWk/Yi5jc3ModCxuLHMpOmIuc3R5bGUodCxuLGkscyl9LHQsYT9pOnZvaWQgMCxhKX19KX0pLGIuZWFjaChbXCJhamF4U3RhcnRcIixcImFqYXhTdG9wXCIsXCJhamF4Q29tcGxldGVcIixcImFqYXhFcnJvclwiLFwiYWpheFN1Y2Nlc3NcIixcImFqYXhTZW5kXCJdLGZ1bmN0aW9uKGUsdCl7Yi5mblt0XT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5vbih0LGUpfX0pLGIuZm4uZXh0ZW5kKHtiaW5kOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gdGhpcy5vbihlLG51bGwsdCxuKX0sdW5iaW5kOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMub2ZmKGUsbnVsbCx0KX0sZGVsZWdhdGU6ZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuIHRoaXMub24odCxlLG4scil9LHVuZGVsZWdhdGU6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiAxPT09YXJndW1lbnRzLmxlbmd0aD90aGlzLm9mZihlLFwiKipcIik6dGhpcy5vZmYodCxlfHxcIioqXCIsbil9LGhvdmVyOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMubW91c2VlbnRlcihlKS5tb3VzZWxlYXZlKHR8fGUpfX0pLGIuZWFjaChcImJsdXIgZm9jdXMgZm9jdXNpbiBmb2N1c291dCByZXNpemUgc2Nyb2xsIGNsaWNrIGRibGNsaWNrIG1vdXNlZG93biBtb3VzZXVwIG1vdXNlbW92ZSBtb3VzZW92ZXIgbW91c2VvdXQgbW91c2VlbnRlciBtb3VzZWxlYXZlIGNoYW5nZSBzZWxlY3Qgc3VibWl0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgY29udGV4dG1lbnVcIi5zcGxpdChcIiBcIiksZnVuY3Rpb24oZSx0KXtiLmZuW3RdPWZ1bmN0aW9uKGUsbil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MD90aGlzLm9uKHQsbnVsbCxlLG4pOnRoaXMudHJpZ2dlcih0KX19KTt2YXIgenQ9L15bXFxzXFx1RkVGRlxceEEwXSt8W1xcc1xcdUZFRkZcXHhBMF0rJC9nO2IucHJveHk9ZnVuY3Rpb24oZSx0KXt2YXIgbixyLG87aWYoXCJzdHJpbmdcIj09dHlwZW9mIHQmJihuPWVbdF0sdD1lLGU9biksaChlKSlyZXR1cm4gcj1pLmNhbGwoYXJndW1lbnRzLDIpLChvPWZ1bmN0aW9uKCl7cmV0dXJuIGUuYXBwbHkodHx8dGhpcyxyLmNvbmNhdChpLmNhbGwoYXJndW1lbnRzKSkpfSkuZ3VpZD1lLmd1aWQ9ZS5ndWlkfHxiLmd1aWQrKyxvfSxiLmhvbGRSZWFkeT1mdW5jdGlvbihlKXtlP2IucmVhZHlXYWl0Kys6Yi5yZWFkeSghMCl9LGIuaXNBcnJheT1BcnJheS5pc0FycmF5LGIucGFyc2VKU09OPUpTT04ucGFyc2UsYi5ub2RlTmFtZT1rLGIuaXNGdW5jdGlvbj1oLGIuaXNXaW5kb3c9ZyxiLmNhbWVsQ2FzZT1VLGIudHlwZT14LGIubm93PURhdGUubm93LGIuaXNOdW1lcmljPWZ1bmN0aW9uKGUpe3ZhciB0PWIudHlwZShlKTtyZXR1cm4oXCJudW1iZXJcIj09PXR8fFwic3RyaW5nXCI9PT10KSYmIWlzTmFOKGUtcGFyc2VGbG9hdChlKSl9LGIudHJpbT1mdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZT9cIlwiOihlK1wiXCIpLnJlcGxhY2UoenQsXCJcIil9LFwiZnVuY3Rpb25cIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZCYmZGVmaW5lKFwianF1ZXJ5XCIsW10sZnVuY3Rpb24oKXtyZXR1cm4gYn0pO3ZhciBVdD1lLmpRdWVyeSxYdD1lLiQ7cmV0dXJuIGIubm9Db25mbGljdD1mdW5jdGlvbih0KXtyZXR1cm4gZS4kPT09YiYmKGUuJD1YdCksdCYmZS5qUXVlcnk9PT1iJiYoZS5qUXVlcnk9VXQpLGJ9LHZvaWQgMD09PXQmJihlLmpRdWVyeT1lLiQ9YiksYn0pO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1weGRXVnllUzVxY3lKZExDSnVZVzFsY3lJNld5Sm5iRzlpWVd3aUxDSm1ZV04wYjNKNUlpd2liVzlrZFd4bElpd2laWGh3YjNKMGN5SXNJbVJ2WTNWdFpXNTBJaXdpZHlJc0lrVnljbTl5SWl3aWQybHVaRzkzSWl3aWRHaHBjeUlzSW01dlIyeHZZbUZzSWl3aVlYSnlJaXdpWjJWMFVISnZkRzhpTENKUFltcGxZM1FpTENKblpYUlFjbTkwYjNSNWNHVlBaaUlzSW5Oc2FXTmxJaXdpWm14aGRDSXNJbUZ5Y21GNUlpd2lZMkZzYkNJc0ltTnZibU5oZENJc0ltRndjR3g1SWl3aWNIVnphQ0lzSW1sdVpHVjRUMllpTENKamJHRnpjekowZVhCbElpd2lkRzlUZEhKcGJtY2lMQ0pvWVhOUGQyNGlMQ0pvWVhOUGQyNVFjbTl3WlhKMGVTSXNJbVp1Vkc5VGRISnBibWNpTENKUFltcGxZM1JHZFc1amRHbHZibE4wY21sdVp5SXNJbk4xY0hCdmNuUWlMQ0pwYzBaMWJtTjBhVzl1SWl3aWIySnFJaXdpYm05a1pWUjVjR1VpTENKcGRHVnRJaXdpYVhOWGFXNWtiM2NpTENKd2NtVnpaWEoyWldSVFkzSnBjSFJCZEhSeWFXSjFkR1Z6SWl3aWRIbHdaU0lzSW5OeVl5SXNJbTV2Ym1ObElpd2libTlOYjJSMWJHVWlMQ0pFVDAxRmRtRnNJaXdpWTI5a1pTSXNJbTV2WkdVaUxDSmtiMk1pTENKcElpd2lkbUZzSWl3aWMyTnlhWEIwSWl3aVkzSmxZWFJsUld4bGJXVnVkQ0lzSW5SbGVIUWlMQ0puWlhSQmRIUnlhV0oxZEdVaUxDSnpaWFJCZEhSeWFXSjFkR1VpTENKb1pXRmtJaXdpWVhCd1pXNWtRMmhwYkdRaUxDSndZWEpsYm5ST2IyUmxJaXdpY21WdGIzWmxRMmhwYkdRaUxDSjBiMVI1Y0dVaUxDSnFVWFZsY25raUxDSnpaV3hsWTNSdmNpSXNJbU52Ym5SbGVIUWlMQ0ptYmlJc0ltbHVhWFFpTENKcGMwRnljbUY1VEdsclpTSXNJbXhsYm1kMGFDSXNJbkJ5YjNSdmRIbHdaU0lzSW1weGRXVnllU0lzSW1OdmJuTjBjblZqZEc5eUlpd2lkRzlCY25KaGVTSXNJbWRsZENJc0ltNTFiU0lzSW5CMWMyaFRkR0ZqYXlJc0ltVnNaVzF6SWl3aWNtVjBJaXdpYldWeVoyVWlMQ0p3Y21WMlQySnFaV04wSWl3aVpXRmphQ0lzSW1OaGJHeGlZV05ySWl3aWJXRndJaXdpWld4bGJTSXNJbUZ5WjNWdFpXNTBjeUlzSW1acGNuTjBJaXdpWlhFaUxDSnNZWE4wSWl3aVpYWmxiaUlzSW1keVpYQWlMQ0pmWld4bGJTSXNJbTlrWkNJc0lteGxiaUlzSW1vaUxDSmxibVFpTENKemIzSjBJaXdpYzNCc2FXTmxJaXdpWlhoMFpXNWtJaXdpYjNCMGFXOXVjeUlzSW01aGJXVWlMQ0pqYjNCNUlpd2lZMjl3ZVVselFYSnlZWGtpTENKamJHOXVaU0lzSW5SaGNtZGxkQ0lzSW1SbFpYQWlMQ0pwYzFCc1lXbHVUMkpxWldOMElpd2lRWEp5WVhraUxDSnBjMEZ5Y21GNUlpd2lkVzVrWldacGJtVmtJaXdpWlhod1lXNWtieUlzSWsxaGRHZ2lMQ0p5WVc1a2IyMGlMQ0p5WlhCc1lXTmxJaXdpYVhOU1pXRmtlU0lzSW1WeWNtOXlJaXdpYlhObklpd2libTl2Y0NJc0luQnliM1J2SWl3aVEzUnZjaUlzSW1selJXMXdkSGxQWW1wbFkzUWlMQ0puYkc5aVlXeEZkbUZzSWl3aWJXRnJaVUZ5Y21GNUlpd2ljbVZ6ZFd4MGN5SXNJbWx1UVhKeVlYa2lMQ0p6WldOdmJtUWlMQ0pwYm5abGNuUWlMQ0p0WVhSamFHVnpJaXdpWTJGc2JHSmhZMnRGZUhCbFkzUWlMQ0poY21jaUxDSjJZV3gxWlNJc0ltZDFhV1FpTENKVGVXMWliMndpTENKcGRHVnlZWFJ2Y2lJc0luTndiR2wwSWl3aVgya2lMQ0owYjB4dmQyVnlRMkZ6WlNJc0lsTnBlbnBzWlNJc0lrVjRjSElpTENKblpYUlVaWGgwSWl3aWFYTllUVXdpTENKMGIydGxibWw2WlNJc0ltTnZiWEJwYkdVaUxDSnpaV3hsWTNRaUxDSnZkWFJsY20xdmMzUkRiMjUwWlhoMElpd2ljMjl5ZEVsdWNIVjBJaXdpYUdGelJIVndiR2xqWVhSbElpd2ljMlYwUkc5amRXMWxiblFpTENKa2IyTkZiR1Z0SWl3aVpHOWpkVzFsYm5SSmMwaFVUVXdpTENKeVluVm5aM2xSVTBFaUxDSnlZblZuWjNsTllYUmphR1Z6SWl3aVkyOXVkR0ZwYm5NaUxDSkVZWFJsSWl3aWNISmxabVZ5Y21Wa1JHOWpJaXdpWkdseWNuVnVjeUlzSW1SdmJtVWlMQ0pqYkdGemMwTmhZMmhsSWl3aVkzSmxZWFJsUTJGamFHVWlMQ0owYjJ0bGJrTmhZMmhsSWl3aVkyOXRjR2xzWlhKRFlXTm9aU0lzSW01dmJtNWhkR2wyWlZObGJHVmpkRzl5UTJGamFHVWlMQ0p6YjNKMFQzSmtaWElpTENKaElpd2lZaUlzSW5CdmNDSXNJbkIxYzJoT1lYUnBkbVVpTENKc2FYTjBJaXdpWW05dmJHVmhibk1pTENKM2FHbDBaWE53WVdObElpd2lhV1JsYm5ScFptbGxjaUlzSW1GMGRISnBZblYwWlhNaUxDSndjMlYxWkc5eklpd2ljbmRvYVhSbGMzQmhZMlVpTENKU1pXZEZlSEFpTENKeWRISnBiU0lzSW5KamIyMXRZU0lzSW5KamIyMWlhVzVoZEc5eWN5SXNJbkprWlhOalpXNWtJaXdpY25CelpYVmtieUlzSW5KcFpHVnVkR2xtYVdWeUlpd2liV0YwWTJoRmVIQnlJaXdpU1VRaUxDSkRURUZUVXlJc0lsUkJSeUlzSWtGVVZGSWlMQ0pRVTBWVlJFOGlMQ0pEU0VsTVJDSXNJbUp2YjJ3aUxDSnVaV1ZrYzBOdmJuUmxlSFFpTENKeWFIUnRiQ0lzSW5KcGJuQjFkSE1pTENKeWFHVmhaR1Z5SWl3aWNtNWhkR2wyWlNJc0luSnhkV2xqYTBWNGNISWlMQ0p5YzJsaWJHbHVaeUlzSW5KMWJtVnpZMkZ3WlNJc0ltWjFibVZ6WTJGd1pTSXNJbVZ6WTJGd1pTSXNJbTV2YmtobGVDSXNJbWhwWjJnaUxDSlRkSEpwYm1jaUxDSm1jbTl0UTJoaGNrTnZaR1VpTENKeVkzTnpaWE5qWVhCbElpd2labU56YzJWelkyRndaU0lzSW1Ob0lpd2lZWE5EYjJSbFVHOXBiblFpTENKamFHRnlRMjlrWlVGMElpd2lkVzVzYjJGa1NHRnVaR3hsY2lJc0ltbHVSR2x6WVdKc1pXUkdhV1ZzWkhObGRDSXNJbUZrWkVOdmJXSnBibUYwYjNJaUxDSmthWE5oWW14bFpDSXNJbTV2WkdWT1lXMWxJaXdpWkdseUlpd2libVY0ZENJc0ltTm9hV3hrVG05a1pYTWlMQ0psSWl3aVpXeHpJaXdpYzJWbFpDSXNJbTBpTENKdWFXUWlMQ0p0WVhSamFDSXNJbWR5YjNWd2N5SXNJbTVsZDFObGJHVmpkRzl5SWl3aWJtVjNRMjl1ZEdWNGRDSXNJbTkzYm1WeVJHOWpkVzFsYm5RaUxDSmxlR1ZqSWl3aVoyVjBSV3hsYldWdWRFSjVTV1FpTENKcFpDSXNJbWRsZEVWc1pXMWxiblJ6UW5sVVlXZE9ZVzFsSWl3aVoyVjBSV3hsYldWdWRITkNlVU5zWVhOelRtRnRaU0lzSW5GellTSXNJblJsYzNRaUxDSjBaWE4wUTI5dWRHVjRkQ0lzSW5OamIzQmxJaXdpZEc5VFpXeGxZM1J2Y2lJc0ltcHZhVzRpTENKeGRXVnllVk5sYkdWamRHOXlRV3hzSWl3aWNYTmhSWEp5YjNJaUxDSnlaVzF2ZG1WQmRIUnlhV0oxZEdVaUxDSnJaWGx6SWl3aVkyRmphR1VpTENKclpYa2lMQ0pqWVdOb1pVeGxibWQwYUNJc0luTm9hV1owSWl3aWJXRnlhMFoxYm1OMGFXOXVJaXdpWVhOelpYSjBJaXdpWld3aUxDSmhaR1JJWVc1a2JHVWlMQ0poZEhSeWN5SXNJbWhoYm1Sc1pYSWlMQ0poZEhSeVNHRnVaR3hsSWl3aWMybGliR2x1WjBOb1pXTnJJaXdpWTNWeUlpd2laR2xtWmlJc0luTnZkWEpqWlVsdVpHVjRJaXdpYm1WNGRGTnBZbXhwYm1jaUxDSmpjbVZoZEdWSmJuQjFkRkJ6WlhWa2J5SXNJbU55WldGMFpVSjFkSFJ2YmxCelpYVmtieUlzSW1OeVpXRjBaVVJwYzJGaWJHVmtVSE5sZFdSdklpd2lhWE5FYVhOaFlteGxaQ0lzSW1OeVpXRjBaVkJ2YzJsMGFXOXVZV3hRYzJWMVpHOGlMQ0poY21kMWJXVnVkQ0lzSW0xaGRHTm9TVzVrWlhobGN5SXNJbTVoYldWemNHRmpaU0lzSW01aGJXVnpjR0ZqWlZWU1NTSXNJbVJ2WTNWdFpXNTBSV3hsYldWdWRDSXNJbWhoYzBOdmJYQmhjbVVpTENKemRXSlhhVzVrYjNjaUxDSmtaV1poZFd4MFZtbGxkeUlzSW5SdmNDSXNJbUZrWkVWMlpXNTBUR2x6ZEdWdVpYSWlMQ0poZEhSaFkyaEZkbVZ1ZENJc0ltTnNZWE56VG1GdFpTSXNJbU55WldGMFpVTnZiVzFsYm5RaUxDSm5aWFJDZVVsa0lpd2laMlYwUld4bGJXVnVkSE5DZVU1aGJXVWlMQ0ptYVd4MFpYSWlMQ0poZEhSeVNXUWlMQ0ptYVc1a0lpd2laMlYwUVhSMGNtbGlkWFJsVG05a1pTSXNJblJoWnlJc0luUnRjQ0lzSW1sdWNIVjBJaXdpYVc1dVpYSklWRTFNSWl3aWJXRjBZMmhsYzFObGJHVmpkRzl5SWl3aWQyVmlhMmwwVFdGMFkyaGxjMU5sYkdWamRHOXlJaXdpYlc5NlRXRjBZMmhsYzFObGJHVmpkRzl5SWl3aWIwMWhkR05vWlhOVFpXeGxZM1J2Y2lJc0ltMXpUV0YwWTJobGMxTmxiR1ZqZEc5eUlpd2laR2x6WTI5dWJtVmpkR1ZrVFdGMFkyZ2lMQ0pqYjIxd1lYSmxSRzlqZFcxbGJuUlFiM05wZEdsdmJpSXNJbUZrYjNkdUlpd2lZblZ3SWl3aVkyOXRjR0Z5WlNJc0luTnZjblJFWlhSaFkyaGxaQ0lzSW1GMWNDSXNJbUZ3SWl3aVluQWlMQ0oxYm5Ob2FXWjBJaXdpWlhod2NpSXNJbVZzWlcxbGJuUnpJaXdpWVhSMGNpSXNJbk53WldOcFptbGxaQ0lzSW5ObGJDSXNJblZ1YVhGMVpWTnZjblFpTENKa2RYQnNhV05oZEdWeklpd2laR1YwWldOMFJIVndiR2xqWVhSbGN5SXNJbk52Y25SVGRHRmliR1VpTENKMFpYaDBRMjl1ZEdWdWRDSXNJbVpwY25OMFEyaHBiR1FpTENKdWIyUmxWbUZzZFdVaUxDSnpaV3hsWTNSdmNuTWlMQ0pqY21WaGRHVlFjMlYxWkc4aUxDSnlaV3hoZEdsMlpTSXNJajRpTENJZ0lpd2lLeUlzSW40aUxDSndjbVZHYVd4MFpYSWlMQ0psZUdObGMzTWlMQ0oxYm5GMWIzUmxaQ0lzSW01dlpHVk9ZVzFsVTJWc1pXTjBiM0lpTENKd1lYUjBaWEp1SWl3aWIzQmxjbUYwYjNJaUxDSmphR1ZqYXlJc0luSmxjM1ZzZENJc0luZG9ZWFFpTENKZllYSm5kVzFsYm5RaUxDSnphVzF3YkdVaUxDSm1iM0ozWVhKa0lpd2liMlpVZVhCbElpd2lYMk52Ym5SbGVIUWlMQ0o0Yld3aUxDSjFibWx4ZFdWRFlXTm9aU0lzSW05MWRHVnlRMkZqYUdVaUxDSnViMlJsU1c1a1pYZ2lMQ0p6ZEdGeWRDSXNJbkJoY21WdWRDSXNJblZ6WlVOaFkyaGxJaXdpYkdGemRFTm9hV3hrSWl3aWRXNXBjWFZsU1VRaUxDSndjMlYxWkc4aUxDSmhjbWR6SWl3aWMyVjBSbWxzZEdWeWN5SXNJbWxrZUNJc0ltMWhkR05vWldRaUxDSnViM1FpTENKdFlYUmphR1Z5SWl3aWRXNXRZWFJqYUdWa0lpd2lhR0Z6SWl3aWJHRnVaeUlzSW1Wc1pXMU1ZVzVuSWl3aWFHRnphQ0lzSW14dlkyRjBhVzl1SWl3aWNtOXZkQ0lzSW1adlkzVnpJaXdpWVdOMGFYWmxSV3hsYldWdWRDSXNJbWhoYzBadlkzVnpJaXdpYUhKbFppSXNJblJoWWtsdVpHVjRJaXdpWlc1aFlteGxaQ0lzSW1Ob1pXTnJaV1FpTENKelpXeGxZM1JsWkNJc0luTmxiR1ZqZEdWa1NXNWtaWGdpTENKbGJYQjBlU0lzSW1obFlXUmxjaUlzSW1KMWRIUnZiaUlzSWw5dFlYUmphRWx1WkdWNFpYTWlMQ0pzZENJc0ltZDBJaXdpY21Ga2FXOGlMQ0pqYUdWamEySnZlQ0lzSW1acGJHVWlMQ0p3WVhOemQyOXlaQ0lzSW1sdFlXZGxJaXdpYzNWaWJXbDBJaXdpY21WelpYUWlMQ0owYjJ0bGJuTWlMQ0pqYjIxaWFXNWhkRzl5SWl3aVltRnpaU0lzSW5OcmFYQWlMQ0pqYUdWamEwNXZia1ZzWlcxbGJuUnpJaXdpWkc5dVpVNWhiV1VpTENKdmJHUkRZV05vWlNJc0ltNWxkME5oWTJobElpd2laV3hsYldWdWRFMWhkR05vWlhJaUxDSnRZWFJqYUdWeWN5SXNJbU52Ym1SbGJuTmxJaXdpYm1WM1ZXNXRZWFJqYUdWa0lpd2liV0Z3Y0dWa0lpd2ljMlYwVFdGMFkyaGxjaUlzSW5CdmMzUkdhV3gwWlhJaUxDSndiM04wUm1sdVpHVnlJaXdpY0c5emRGTmxiR1ZqZEc5eUlpd2lkR1Z0Y0NJc0luQnlaVTFoY0NJc0luQnZjM1JOWVhBaUxDSndjbVZsZUdsemRHbHVaeUlzSW1OdmJuUmxlSFJ6SWl3aWJYVnNkR2x3YkdWRGIyNTBaWGgwY3lJc0ltMWhkR05vWlhKSmJpSXNJbTFoZEdOb1pYSlBkWFFpTENKdFlYUmphR1Z5Um5KdmJWUnZhMlZ1Y3lJc0ltTm9aV05yUTI5dWRHVjRkQ0lzSW14bFlXUnBibWRTWld4aGRHbDJaU0lzSW1sdGNHeHBZMmwwVW1Wc1lYUnBkbVVpTENKdFlYUmphRU52Ym5SbGVIUWlMQ0p0WVhSamFFRnVlVU52Ym5SbGVIUWlMQ0ptYVd4MFpYSnpJaXdpY0dGeWMyVlBibXg1SWl3aWMyOUdZWElpTENKd2NtVkdhV3gwWlhKeklpd2lZMkZqYUdWa0lpd2ljMlYwVFdGMFkyaGxjbk1pTENKbGJHVnRaVzUwVFdGMFkyaGxjbk1pTENKaWVWTmxkQ0lzSW1KNVJXeGxiV1Z1ZENJc0luTjFjR1Z5VFdGMFkyaGxjaUlzSW05MWRHVnliVzl6ZENJc0ltMWhkR05vWldSRGIzVnVkQ0lzSW5ObGRFMWhkR05vWldRaUxDSmpiMjUwWlhoMFFtRmphM1Z3SWl3aVpHbHljblZ1YzFWdWFYRjFaU0lzSW0xaGRHTm9aWEpHY205dFIzSnZkWEJOWVhSamFHVnljeUlzSW5SdmEyVnVJaXdpWTI5dGNHbHNaV1FpTENKZmJtRnRaU0lzSW1SbFptRjFiSFJXWVd4MVpTSXNJblZ1YVhGMVpTSXNJbWx6V0UxTVJHOWpJaXdpWlhOallYQmxVMlZzWldOMGIzSWlMQ0oxYm5ScGJDSXNJblJ5ZFc1allYUmxJaXdpYVhNaUxDSnphV0pzYVc1bmN5SXNJbTRpTENKeWJtVmxaSE5EYjI1MFpYaDBJaXdpY25OcGJtZHNaVlJoWnlJc0luZHBibTV2ZHlJc0luRjFZV3hwWm1sbGNpSXNJbk5sYkdZaUxDSnliMjkwYWxGMVpYSjVJaXdpY0dGeWMyVklWRTFNSWl3aWNtVmhaSGtpTENKeWNHRnlaVzUwYzNCeVpYWWlMQ0puZFdGeVlXNTBaV1ZrVlc1cGNYVmxJaXdpWTJocGJHUnlaVzRpTENKamIyNTBaVzUwY3lJc0luQnlaWFlpTENKemFXSnNhVzVuSWl3aWRHRnlaMlYwY3lJc0ltd2lMQ0pqYkc5elpYTjBJaXdpYVc1a1pYZ2lMQ0p3Y21WMlFXeHNJaXdpWVdSa0lpd2lZV1JrUW1GamF5SXNJbkJoY21WdWRITWlMQ0p3WVhKbGJuUnpWVzUwYVd3aUxDSnVaWGgwUVd4c0lpd2libVY0ZEZWdWRHbHNJaXdpY0hKbGRsVnVkR2xzSWl3aVkyOXVkR1Z1ZEVSdlkzVnRaVzUwSWl3aVkyOXVkR1Z1ZENJc0luSmxkbVZ5YzJVaUxDSnlibTkwYUhSdGJIZG9hWFJsSWl3aVNXUmxiblJwZEhraUxDSjJJaXdpVkdoeWIzZGxjaUlzSW1WNElpd2lZV1J2Y0hSV1lXeDFaU0lzSW5KbGMyOXNkbVVpTENKeVpXcGxZM1FpTENKdWIxWmhiSFZsSWl3aWJXVjBhRzlrSWl3aWNISnZiV2x6WlNJc0ltWmhhV3dpTENKMGFHVnVJaXdpUTJGc2JHSmhZMnR6SWl3aWIySnFaV04wSWl3aVh5SXNJbVpzWVdjaUxDSmpjbVZoZEdWUGNIUnBiMjV6SWl3aVptbHlhVzVuSWl3aWJXVnRiM0o1SWl3aVptbHlaV1FpTENKc2IyTnJaV1FpTENKeGRXVjFaU0lzSW1acGNtbHVaMGx1WkdWNElpd2labWx5WlNJc0ltOXVZMlVpTENKemRHOXdUMjVHWVd4elpTSXNJbkpsYlc5MlpTSXNJbVJwYzJGaWJHVWlMQ0pzYjJOcklpd2labWx5WlZkcGRHZ2lMQ0pFWldabGNuSmxaQ0lzSW1aMWJtTWlMQ0owZFhCc1pYTWlMQ0p6ZEdGMFpTSXNJbUZzZDJGNWN5SXNJbVJsWm1WeWNtVmtJaXdpWTJGMFkyZ2lMQ0p3YVhCbElpd2labTV6SWl3aWJtVjNSR1ZtWlhJaUxDSjBkWEJzWlNJc0luSmxkSFZ5Ym1Wa0lpd2ljSEp2WjNKbGMzTWlMQ0p1YjNScFpua2lMQ0p2YmtaMWJHWnBiR3hsWkNJc0ltOXVVbVZxWldOMFpXUWlMQ0p2YmxCeWIyZHlaWE56SWl3aWJXRjRSR1Z3ZEdnaUxDSmtaWEIwYUNJc0luTndaV05wWVd3aUxDSjBhR0YwSWl3aWJXbG5hSFJVYUhKdmR5SXNJbFI1Y0dWRmNuSnZjaUlzSW01dmRHbG1lVmRwZEdnaUxDSnlaWE52YkhabFYybDBhQ0lzSW5CeWIyTmxjM01pTENKbGVHTmxjSFJwYjI1SWIyOXJJaXdpYzNSaFkydFVjbUZqWlNJc0luSmxhbVZqZEZkcGRHZ2lMQ0puWlhSVGRHRmphMGh2YjJzaUxDSnpaWFJVYVcxbGIzVjBJaXdpYzNSaGRHVlRkSEpwYm1jaUxDSjNhR1Z1SWl3aWMybHVaMnhsVm1Gc2RXVWlMQ0p5WlcxaGFXNXBibWNpTENKeVpYTnZiSFpsUTI5dWRHVjRkSE1pTENKeVpYTnZiSFpsVm1Gc2RXVnpJaXdpY0hKcGJXRnllU0lzSW5Wd1pHRjBaVVoxYm1NaUxDSnlaWEp5YjNKT1lXMWxjeUlzSW5OMFlXTnJJaXdpWTI5dWMyOXNaU0lzSW5kaGNtNGlMQ0p0WlhOellXZGxJaXdpY21WaFpIbEZlR05sY0hScGIyNGlMQ0p5WldGa2VVeHBjM1FpTENKamIyMXdiR1YwWldRaUxDSnlaVzF2ZG1WRmRtVnVkRXhwYzNSbGJtVnlJaXdpY21WaFpIbFhZV2wwSWl3aWQyRnBkQ0lzSW5KbFlXUjVVM1JoZEdVaUxDSmtiMU5qY205c2JDSXNJbUZqWTJWemN5SXNJbU5vWVdsdVlXSnNaU0lzSW1WdGNIUjVSMlYwSWl3aWNtRjNJaXdpWW5Wc2F5SXNJbDlyWlhraUxDSnliWE5RY21WbWFYZ2lMQ0p5WkdGemFFRnNjR2hoSWl3aVptTmhiV1ZzUTJGelpTSXNJbDloYkd3aUxDSnNaWFIwWlhJaUxDSjBiMVZ3Y0dWeVEyRnpaU0lzSW1OaGJXVnNRMkZ6WlNJc0luTjBjbWx1WnlJc0ltRmpZMlZ3ZEVSaGRHRWlMQ0p2ZDI1bGNpSXNJa1JoZEdFaUxDSjFhV1FpTENKa1pXWnBibVZRY205d1pYSjBlU0lzSW1OdmJtWnBaM1Z5WVdKc1pTSXNJbk5sZENJc0ltUmhkR0VpTENKd2NtOXdJaXdpYUdGelJHRjBZU0lzSW1SaGRHRlFjbWwySWl3aVpHRjBZVlZ6WlhJaUxDSnlZbkpoWTJVaUxDSnliWFZzZEdsRVlYTm9JaXdpWkdGMFlVRjBkSElpTENKS1UwOU9JaXdpY0dGeWMyVWlMQ0puWlhSRVlYUmhJaXdpY21WdGIzWmxSR0YwWVNJc0lsOWtZWFJoSWl3aVgzSmxiVzkyWlVSaGRHRWlMQ0prWlhGMVpYVmxJaXdpYzNSaGNuUk1aVzVuZEdnaUxDSm9iMjlyY3lJc0lsOXhkV1YxWlVodmIydHpJaXdpYzNSdmNDSXNJbk5sZEhSbGNpSXNJbU5zWldGeVVYVmxkV1VpTENKamIzVnVkQ0lzSW1SbFptVnlJaXdpY0c1MWJTSXNJbk52ZFhKalpTSXNJbkpqYzNOT2RXMGlMQ0pqYzNORmVIQmhibVFpTENKcGMwRjBkR0ZqYUdWa0lpd2lZMjl0Y0c5elpXUWlMQ0puWlhSU2IyOTBUbTlrWlNJc0ltbHpTR2xrWkdWdVYybDBhR2x1VkhKbFpTSXNJbk4wZVd4bElpd2laR2x6Y0d4aGVTSXNJbU56Y3lJc0ltRmthblZ6ZEVOVFV5SXNJblpoYkhWbFVHRnlkSE1pTENKMGQyVmxiaUlzSW1Ga2FuVnpkR1ZrSWl3aWMyTmhiR1VpTENKdFlYaEpkR1Z5WVhScGIyNXpJaXdpWTNWeWNtVnVkRlpoYkhWbElpd2lhVzVwZEdsaGJDSXNJblZ1YVhRaUxDSmpjM05PZFcxaVpYSWlMQ0pwYm1sMGFXRnNTVzVWYm1sMElpd2laR1ZtWVhWc2RFUnBjM0JzWVhsTllYQWlMQ0puWlhSRVpXWmhkV3gwUkdsemNHeGhlU0lzSW1KdlpIa2lMQ0p6YUc5M1NHbGtaU0lzSW5Ob2IzY2lMQ0oyWVd4MVpYTWlMQ0pvYVdSbElpd2lkRzluWjJ4bElpd2laR2wySWl3aWNtTm9aV05yWVdKc1pWUjVjR1VpTENKeWRHRm5UbUZ0WlNJc0luSnpZM0pwY0hSVWVYQmxJaXdpWTNKbFlYUmxSRzlqZFcxbGJuUkdjbUZuYldWdWRDSXNJbU5vWldOclEyeHZibVVpTENKamJHOXVaVTV2WkdVaUxDSnViME5zYjI1bFEyaGxZMnRsWkNJc0ltOXdkR2x2YmlJc0luZHlZWEJOWVhBaUxDSjBhR1ZoWkNJc0ltTnZiQ0lzSW5SeUlpd2lkR1FpTENKZlpHVm1ZWFZzZENJc0ltZGxkRUZzYkNJc0luTmxkRWRzYjJKaGJFVjJZV3dpTENKeVpXWkZiR1Z0Wlc1MGN5SXNJblJpYjJSNUlpd2lkR1p2YjNRaUxDSmpiMnhuY205MWNDSXNJbU5oY0hScGIyNGlMQ0owYUNJc0ltOXdkR2R5YjNWd0lpd2lZblZwYkdSR2NtRm5iV1Z1ZENJc0luTmpjbWx3ZEhNaUxDSnpaV3hsWTNScGIyNGlMQ0pwWjI1dmNtVmtJaXdpZDNKaGNDSXNJbUYwZEdGamFHVmtJaXdpWm5KaFoyMWxiblFpTENKdWIyUmxjeUlzSW1oMGJXeFFjbVZtYVd4MFpYSWlMQ0pqY21WaGRHVlVaWGgwVG05a1pTSXNJbkowZVhCbGJtRnRaWE53WVdObElpd2ljbVYwZFhKdVZISjFaU0lzSW5KbGRIVnlia1poYkhObElpd2laWGh3WldOMFUzbHVZeUlzSW1WeWNpSXNJbk5oWm1WQlkzUnBkbVZGYkdWdFpXNTBJaXdpYjI0aUxDSjBlWEJsY3lJc0ltOXVaU0lzSW05eWFXZEdiaUlzSW1WMlpXNTBJaXdpYjJabUlpd2liR1YyWlhKaFoyVk9ZWFJwZG1VaUxDSnViM1JCYzNsdVl5SXNJbk5oZG1Wa0lpd2lhWE5VY21sbloyVnlJaXdpWkdWc1pXZGhkR1ZVZVhCbElpd2ljM1J2Y0ZCeWIzQmhaMkYwYVc5dUlpd2ljM1J2Y0VsdGJXVmthV0YwWlZCeWIzQmhaMkYwYVc5dUlpd2ljSEpsZG1WdWRFUmxabUYxYkhRaUxDSjBjbWxuWjJWeUlpd2lSWFpsYm5RaUxDSm9ZVzVrYkdWUFltcEpiaUlzSW1WMlpXNTBTR0Z1Wkd4bElpd2laWFpsYm5Seklpd2lkQ0lzSW1oaGJtUnNaVTlpYWlJc0ltaGhibVJzWlhKeklpd2libUZ0WlhOd1lXTmxjeUlzSW05eWFXZFVlWEJsSWl3aVpXeGxiVVJoZEdFaUxDSmpjbVZoZEdVaUxDSm9ZVzVrYkdVaUxDSjBjbWxuWjJWeVpXUWlMQ0prYVhOd1lYUmphQ0lzSW1KcGJtUlVlWEJsSWl3aVpHVnNaV2RoZEdWRGIzVnVkQ0lzSW5ObGRIVndJaXdpYldGd2NHVmtWSGx3WlhNaUxDSnZjbWxuUTI5MWJuUWlMQ0owWldGeVpHOTNiaUlzSW5KbGJXOTJaVVYyWlc1MElpd2libUYwYVhabFJYWmxiblFpTENKb1lXNWtiR1Z5VVhWbGRXVWlMQ0ptYVhnaUxDSmtaV3hsWjJGMFpWUmhjbWRsZENJc0luQnlaVVJwYzNCaGRHTm9JaXdpYVhOUWNtOXdZV2RoZEdsdmJsTjBiM0J3WldRaUxDSmpkWEp5Wlc1MFZHRnlaMlYwSWl3aWFYTkpiVzFsWkdsaGRHVlFjbTl3WVdkaGRHbHZibE4wYjNCd1pXUWlMQ0p5Ym1GdFpYTndZV05sSWl3aWNHOXpkRVJwYzNCaGRHTm9JaXdpYldGMFkyaGxaRWhoYm1Sc1pYSnpJaXdpYldGMFkyaGxaRk5sYkdWamRHOXljeUlzSW1Ga1pGQnliM0FpTENKb2IyOXJJaXdpWlc1MWJXVnlZV0pzWlNJc0ltOXlhV2RwYm1Gc1JYWmxiblFpTENKM2NtbDBZV0pzWlNJc0lteHZZV1FpTENKdWIwSjFZbUpzWlNJc0ltTnNhV05ySWl3aVltVm1iM0psZFc1c2IyRmtJaXdpY21WMGRYSnVWbUZzZFdVaUxDSndjbTl3Y3lJc0ltbHpSR1ZtWVhWc2RGQnlaWFpsYm5SbFpDSXNJbVJsWm1GMWJIUlFjbVYyWlc1MFpXUWlMQ0p5Wld4aGRHVmtWR0Z5WjJWMElpd2lkR2x0WlZOMFlXMXdJaXdpYm05M0lpd2lhWE5UYVcxMWJHRjBaV1FpTENKaGJIUkxaWGtpTENKaWRXSmliR1Z6SWl3aVkyRnVZMlZzWVdKc1pTSXNJbU5vWVc1blpXUlViM1ZqYUdWeklpd2lZM1J5YkV0bGVTSXNJbVJsZEdGcGJDSXNJbVYyWlc1MFVHaGhjMlVpTENKdFpYUmhTMlY1SWl3aWNHRm5aVmdpTENKd1lXZGxXU0lzSW5Ob2FXWjBTMlY1SWl3aWRtbGxkeUlzSW1Ob1lYSWlMQ0pqYUdGeVEyOWtaU0lzSW10bGVVTnZaR1VpTENKaWRYUjBiMjV6SWl3aVkyeHBaVzUwV0NJc0ltTnNhV1Z1ZEZraUxDSnZabVp6WlhSWUlpd2liMlptYzJWMFdTSXNJbkJ2YVc1MFpYSkpaQ0lzSW5CdmFXNTBaWEpVZVhCbElpd2ljMk55WldWdVdDSXNJbk5qY21WbGJsa2lMQ0owWVhKblpYUlViM1ZqYUdWeklpd2lkRzlGYkdWdFpXNTBJaXdpZEc5MVkyaGxjeUlzSW5kb2FXTm9JaXdpWW14MWNpSXNJbTF2ZFhObFpXNTBaWElpTENKdGIzVnpaV3hsWVhabElpd2ljRzlwYm5SbGNtVnVkR1Z5SWl3aWNHOXBiblJsY214bFlYWmxJaXdpYjNKcFp5SXNJbkpsYkdGMFpXUWlMQ0p5Ym05SmJtNWxjbWgwYld3aUxDSnlZMmhsWTJ0bFpDSXNJbkpqYkdWaGJsTmpjbWx3ZENJc0ltMWhibWx3ZFd4aGRHbHZibFJoY21kbGRDSXNJbVJwYzJGaWJHVlRZM0pwY0hRaUxDSnlaWE4wYjNKbFUyTnlhWEIwSWl3aVkyeHZibVZEYjNCNVJYWmxiblFpTENKa1pYTjBJaXdpZFdSaGRHRlBiR1FpTENKMVpHRjBZVU4xY2lJc0ltUnZiVTFoYm1sd0lpd2lZMjlzYkdWamRHbHZiaUlzSW1oaGMxTmpjbWx3ZEhNaUxDSnBUbTlEYkc5dVpTSXNJblpoYkhWbFNYTkdkVzVqZEdsdmJpSXNJbWgwYld3aUxDSmZaWFpoYkZWeWJDSXNJbXRsWlhCRVlYUmhJaXdpWTJ4bFlXNUVZWFJoSWl3aVpHRjBZVUZ1WkVWMlpXNTBjeUlzSW1SbFpYQkVZWFJoUVc1a1JYWmxiblJ6SWl3aWMzSmpSV3hsYldWdWRITWlMQ0prWlhOMFJXeGxiV1Z1ZEhNaUxDSnBibEJoWjJVaUxDSmtaWFJoWTJnaUxDSmhjSEJsYm1RaUxDSndjbVZ3Wlc1a0lpd2lhVzV6WlhKMFFtVm1iM0psSWl3aVltVm1iM0psSWl3aVlXWjBaWElpTENKeVpYQnNZV05sVjJsMGFDSXNJbkpsY0d4aFkyVkRhR2xzWkNJc0ltRndjR1Z1WkZSdklpd2ljSEpsY0dWdVpGUnZJaXdpYVc1elpYSjBRV1owWlhJaUxDSnlaWEJzWVdObFFXeHNJaXdpYjNKcFoybHVZV3dpTENKcGJuTmxjblFpTENKeWJuVnRibTl1Y0hnaUxDSm5aWFJUZEhsc1pYTWlMQ0p2Y0dWdVpYSWlMQ0puWlhSRGIyMXdkWFJsWkZOMGVXeGxJaXdpYzNkaGNDSXNJbTlzWkNJc0luSmliM2hUZEhsc1pTSXNJbU4xY2tOVFV5SXNJbU52YlhCMWRHVmtJaXdpZDJsa2RHZ2lMQ0p0YVc1WGFXUjBhQ0lzSW0xaGVGZHBaSFJvSWl3aVoyVjBVSEp2Y0dWeWRIbFdZV3gxWlNJc0luQnBlR1ZzUW05NFUzUjViR1Z6SWl3aVlXUmtSMlYwU0c5dmEwbG1JaXdpWTI5dVpHbDBhVzl1Um00aUxDSm9iMjlyUm00aUxDSmpiMjF3ZFhSbFUzUjViR1ZVWlhOMGN5SXNJbU52Ym5SaGFXNWxjaUlzSW1OemMxUmxlSFFpTENKa2FYWlRkSGxzWlNJc0luQnBlR1ZzVUc5emFYUnBiMjVXWVd3aUxDSnlaV3hwWVdKc1pVMWhjbWRwYmt4bFpuUldZV3dpTENKeWIzVnVaRkJwZUdWc1RXVmhjM1Z5WlhNaUxDSnRZWEpuYVc1TVpXWjBJaXdpY21sbmFIUWlMQ0p3YVhobGJFSnZlRk4wZVd4bGMxWmhiQ0lzSW1KdmVGTnBlbWx1WjFKbGJHbGhZbXhsVm1Gc0lpd2ljRzl6YVhScGIyNGlMQ0p6WTNKdmJHeGliM2hUYVhwbFZtRnNJaXdpYjJabWMyVjBWMmxrZEdnaUxDSnRaV0Z6ZFhKbElpd2ljbTkxYm1RaUxDSndZWEp6WlVac2IyRjBJaXdpY21Wc2FXRmliR1ZVY2tScGJXVnVjMmx2Ym5OV1lXd2lMQ0ppWVdOclozSnZkVzVrUTJ4cGNDSXNJbU5zWldGeVEyeHZibVZUZEhsc1pTSXNJbUp2ZUZOcGVtbHVaMUpsYkdsaFlteGxJaXdpY0dsNFpXeFFiM05wZEdsdmJpSXNJbkpsYkdsaFlteGxUV0Z5WjJsdVRHVm1kQ0lzSW5OamNtOXNiR0p2ZUZOcGVtVWlMQ0p5Wld4cFlXSnNaVlJ5UkdsdFpXNXphVzl1Y3lJc0luUmhZbXhsSWl3aWRISkRhR2xzWkNJc0luUnlVM1I1YkdVaUxDSm9aV2xuYUhRaUxDSndZWEp6WlVsdWRDSXNJbUp2Y21SbGNsUnZjRmRwWkhSb0lpd2lZbTl5WkdWeVFtOTBkRzl0VjJsa2RHZ2lMQ0p2Wm1aelpYUklaV2xuYUhRaUxDSmpjM05RY21WbWFYaGxjeUlzSW1WdGNIUjVVM1I1YkdVaUxDSjJaVzVrYjNKUWNtOXdjeUlzSW1acGJtRnNVSEp2Y0U1aGJXVWlMQ0ptYVc1aGJDSXNJbU56YzFCeWIzQnpJaXdpWTJGd1RtRnRaU0lzSW5abGJtUnZjbEJ5YjNCT1lXMWxJaXdpY21ScGMzQnNZWGx6ZDJGd0lpd2ljbU4xYzNSdmJWQnliM0FpTENKamMzTlRhRzkzSWl3aWRtbHphV0pwYkdsMGVTSXNJbU56YzA1dmNtMWhiRlJ5WVc1elptOXliU0lzSW14bGRIUmxjbE53WVdOcGJtY2lMQ0ptYjI1MFYyVnBaMmgwSWl3aWMyVjBVRzl6YVhScGRtVk9kVzFpWlhJaUxDSnpkV0owY21GamRDSXNJbTFoZUNJc0ltSnZlRTF2WkdWc1FXUnFkWE4wYldWdWRDSXNJbVJwYldWdWMybHZiaUlzSW1KdmVDSXNJbWx6UW05eVpHVnlRbTk0SWl3aWMzUjViR1Z6SWl3aVkyOXRjSFYwWldSV1lXd2lMQ0psZUhSeVlTSXNJbVJsYkhSaElpd2lZMlZwYkNJc0ltZGxkRmRwWkhSb1QzSklaV2xuYUhRaUxDSjJZV3gxWlVselFtOXlaR1Z5UW05NElpd2liMlptYzJWMFVISnZjQ0lzSW1kbGRFTnNhV1Z1ZEZKbFkzUnpJaXdpVkhkbFpXNGlMQ0psWVhOcGJtY2lMQ0pqYzNOSWIyOXJjeUlzSW05d1lXTnBkSGtpTENKaGJtbHRZWFJwYjI1SmRHVnlZWFJwYjI1RGIzVnVkQ0lzSW1OdmJIVnRia052ZFc1MElpd2labWxzYkU5d1lXTnBkSGtpTENKbWJHVjRSM0p2ZHlJc0ltWnNaWGhUYUhKcGJtc2lMQ0puY21sa1FYSmxZU0lzSW1keWFXUkRiMngxYlc0aUxDSm5jbWxrUTI5c2RXMXVSVzVrSWl3aVozSnBaRU52YkhWdGJsTjBZWEowSWl3aVozSnBaRkp2ZHlJc0ltZHlhV1JTYjNkRmJtUWlMQ0puY21sa1VtOTNVM1JoY25RaUxDSnNhVzVsU0dWcFoyaDBJaXdpYjNKa1pYSWlMQ0p2Y25Cb1lXNXpJaXdpZDJsa2IzZHpJaXdpZWtsdVpHVjRJaXdpZW05dmJTSXNJbTl5YVdkT1lXMWxJaXdpYVhORGRYTjBiMjFRY205d0lpd2ljMlYwVUhKdmNHVnlkSGtpTENKcGMwWnBibWwwWlNJc0ltZGxkRUp2ZFc1a2FXNW5RMnhwWlc1MFVtVmpkQ0lzSW5OamNtOXNiR0p2ZUZOcGVtVkNkV2RuZVNJc0lteGxablFpTENKdFlYSm5hVzRpTENKd1lXUmthVzVuSWl3aVltOXlaR1Z5SWl3aWNISmxabWw0SWl3aWMzVm1abWw0SWl3aVpYaHdZVzVrSWl3aVpYaHdZVzVrWldRaUxDSndZWEowY3lJc0luQnliM0JJYjI5cmN5SXNJbkoxYmlJc0luQmxjbU5sYm5RaUxDSmxZWE5sWkNJc0ltUjFjbUYwYVc5dUlpd2ljRzl6SWl3aWMzUmxjQ0lzSW1aNElpd2ljMk55YjJ4c1ZHOXdJaXdpYzJOeWIyeHNUR1ZtZENJc0lteHBibVZoY2lJc0luQWlMQ0p6ZDJsdVp5SXNJbU52Y3lJc0lsQkpJaXdpWm5oT2IzY2lMQ0pwYmxCeWIyZHlaWE56SWl3aWNtWjRkSGx3WlhNaUxDSnljblZ1SWl3aWMyTm9aV1IxYkdVaUxDSm9hV1JrWlc0aUxDSnlaWEYxWlhOMFFXNXBiV0YwYVc5dVJuSmhiV1VpTENKcGJuUmxjblpoYkNJc0luUnBZMnNpTENKamNtVmhkR1ZHZUU1dmR5SXNJbWRsYmtaNElpd2lhVzVqYkhWa1pWZHBaSFJvSWl3aVkzSmxZWFJsVkhkbFpXNGlMQ0poYm1sdFlYUnBiMjRpTENKQmJtbHRZWFJwYjI0aUxDSjBkMlZsYm1WeWN5SXNJbkJ5YjNCbGNuUnBaWE1pTENKemRHOXdjR1ZrSWl3aWNISmxabWxzZEdWeWN5SXNJbU4xY25KbGJuUlVhVzFsSWl3aWMzUmhjblJVYVcxbElpd2lkSGRsWlc1eklpd2liM0IwY3lJc0luTndaV05wWVd4RllYTnBibWNpTENKdmNtbG5hVzVoYkZCeWIzQmxjblJwWlhNaUxDSnZjbWxuYVc1aGJFOXdkR2x2Ym5NaUxDSm5iM1J2Ulc1a0lpd2ljSEp2Y0VacGJIUmxjaUlzSW1KcGJtUWlMQ0pqYjIxd2JHVjBaU0lzSW5ScGJXVnlJaXdpWVc1cGJTSXNJaW9pTENKMGQyVmxibVZ5SWl3aWIyeGtabWx5WlNJc0luQnliM0JVZDJWbGJpSXNJbkpsYzNSdmNtVkVhWE53YkdGNUlpd2lhWE5DYjNnaUxDSmtZWFJoVTJodmR5SXNJblZ1Y1hWbGRXVmtJaXdpYjNabGNtWnNiM2NpTENKdmRtVnlabXh2ZDFnaUxDSnZkbVZ5Wm14dmQxa2lMQ0p3Y21WbWFXeDBaWElpTENKemNHVmxaQ0lzSW05d2RDSXNJbk53WldWa2N5SXNJbVpoWkdWVWJ5SXNJblJ2SWl3aVlXNXBiV0YwWlNJc0ltOXdkR0ZzYkNJc0ltUnZRVzVwYldGMGFXOXVJaXdpWm1sdWFYTm9JaXdpYzNSdmNGRjFaWFZsSWl3aWRHbHRaWEp6SWl3aVkzTnpSbTRpTENKemJHbGtaVVJ2ZDI0aUxDSnpiR2xrWlZWd0lpd2ljMnhwWkdWVWIyZG5iR1VpTENKbVlXUmxTVzRpTENKbVlXUmxUM1YwSWl3aVptRmtaVlJ2WjJkc1pTSXNJbk5zYjNjaUxDSm1ZWE4wSWl3aVpHVnNZWGtpTENKMGFXMWxJaXdpZEdsdFpXOTFkQ0lzSW1Oc1pXRnlWR2x0Wlc5MWRDSXNJbU5vWldOclQyNGlMQ0p2Y0hSVFpXeGxZM1JsWkNJc0luSmhaR2x2Vm1Gc2RXVWlMQ0ppYjI5c1NHOXZheUlzSW5KbGJXOTJaVUYwZEhJaUxDSnVWSGx3WlNJc0ltRjBkSEpJYjI5cmN5SXNJbUYwZEhKT1lXMWxjeUlzSW1kbGRIUmxjaUlzSW14dmQyVnlZMkZ6WlU1aGJXVWlMQ0p5Wm05amRYTmhZbXhsSWl3aWNtTnNhV05yWVdKc1pTSXNJbk4wY21sd1FXNWtRMjlzYkdGd2MyVWlMQ0puWlhSRGJHRnpjeUlzSW1Oc1lYTnpaWE5VYjBGeWNtRjVJaXdpY21WdGIzWmxVSEp2Y0NJc0luQnliM0JHYVhnaUxDSjBZV0pwYm1SbGVDSXNJbVp2Y2lJc0ltTnNZWE56SWl3aVlXUmtRMnhoYzNNaUxDSmpiR0Z6YzJWeklpd2lZM1Z5Vm1Gc2RXVWlMQ0pqYkdGNmVpSXNJbVpwYm1Gc1ZtRnNkV1VpTENKeVpXMXZkbVZEYkdGemN5SXNJblJ2WjJkc1pVTnNZWE56SWl3aWMzUmhkR1ZXWVd3aUxDSnBjMVpoYkdsa1ZtRnNkV1VpTENKamJHRnpjMDVoYldWeklpd2lhR0Z6UTJ4aGMzTWlMQ0p5Y21WMGRYSnVJaXdpZG1Gc1NHOXZhM01pTENKdmNIUnBiMjVUWlhRaUxDSm1iMk4xYzJsdUlpd2ljbVp2WTNWelRXOXljR2dpTENKemRHOXdVSEp2Y0dGbllYUnBiMjVEWVd4c1ltRmpheUlzSW05dWJIbElZVzVrYkdWeWN5SXNJbUoxWW1Kc1pWUjVjR1VpTENKdmJuUjVjR1VpTENKc1lYTjBSV3hsYldWdWRDSXNJbVYyWlc1MFVHRjBhQ0lzSW5CaGNtVnVkRmRwYm1SdmR5SXNJbk5wYlhWc1lYUmxJaXdpZEhKcFoyZGxja2hoYm1Sc1pYSWlMQ0poZEhSaFkyaGxjeUlzSW5KeGRXVnllU0lzSW5CaGNuTmxXRTFNSWl3aWNHRnljMlZ5UlhKeWIzSkZiR1Z0SWl3aVJFOU5VR0Z5YzJWeUlpd2ljR0Z5YzJWR2NtOXRVM1J5YVc1bklpd2ljbUp5WVdOclpYUWlMQ0p5UTFKTVJpSXNJbkp6ZFdKdGFYUjBaWEpVZVhCbGN5SXNJbkp6ZFdKdGFYUjBZV0pzWlNJc0ltSjFhV3hrVUdGeVlXMXpJaXdpZEhKaFpHbDBhVzl1WVd3aUxDSndZWEpoYlNJc0luTWlMQ0oyWVd4MVpVOXlSblZ1WTNScGIyNGlMQ0psYm1OdlpHVlZVa2xEYjIxd2IyNWxiblFpTENKelpYSnBZV3hwZW1VaUxDSnpaWEpwWVd4cGVtVkJjbkpoZVNJc0luSXlNQ0lzSW5Kb1lYTm9JaXdpY21GdWRHbERZV05vWlNJc0luSm9aV0ZrWlhKeklpd2ljbTV2UTI5dWRHVnVkQ0lzSW5Kd2NtOTBiMk52YkNJc0luUnlZVzV6Y0c5eWRITWlMQ0poYkd4VWVYQmxjeUlzSW05eWFXZHBia0Z1WTJodmNpSXNJbUZrWkZSdlVISmxabWxzZEdWeWMwOXlWSEpoYm5Od2IzSjBjeUlzSW5OMGNuVmpkSFZ5WlNJc0ltUmhkR0ZVZVhCbFJYaHdjbVZ6YzJsdmJpSXNJbVJoZEdGVWVYQmxJaXdpWkdGMFlWUjVjR1Z6SWl3aWFXNXpjR1ZqZEZCeVpXWnBiSFJsY25OUGNsUnlZVzV6Y0c5eWRITWlMQ0pxY1ZoSVVpSXNJbWx1YzNCbFkzUmxaQ0lzSW5ObFpXdHBibWRVY21GdWMzQnZjblFpTENKcGJuTndaV04wSWl3aWNISmxabWxzZEdWeVQzSkdZV04wYjNKNUlpd2laR0YwWVZSNWNHVlBjbFJ5WVc1emNHOXlkQ0lzSW1GcVlYaEZlSFJsYm1RaUxDSm1iR0YwVDNCMGFXOXVjeUlzSW1GcVlYaFRaWFIwYVc1bmN5SXNJbUZqZEdsMlpTSXNJbXhoYzNSTmIyUnBabWxsWkNJc0ltVjBZV2NpTENKMWNtd2lMQ0pwYzB4dlkyRnNJaXdpY0hKdmRHOWpiMndpTENKd2NtOWpaWE56UkdGMFlTSXNJbUZ6ZVc1aklpd2lZMjl1ZEdWdWRGUjVjR1VpTENKaFkyTmxjSFJ6SWl3aWFuTnZiaUlzSW5KbGMzQnZibk5sUm1sbGJHUnpJaXdpWTI5dWRtVnlkR1Z5Y3lJc0lpb2dkR1Y0ZENJc0luUmxlSFFnYUhSdGJDSXNJblJsZUhRZ2FuTnZiaUlzSW5SbGVIUWdlRzFzSWl3aVlXcGhlRk5sZEhWd0lpd2ljMlYwZEdsdVozTWlMQ0poYW1GNFVISmxabWxzZEdWeUlpd2lZV3BoZUZSeVlXNXpjRzl5ZENJc0ltRnFZWGdpTENKMGNtRnVjM0J2Y25RaUxDSmpZV05vWlZWU1RDSXNJbkpsYzNCdmJuTmxTR1ZoWkdWeWMxTjBjbWx1WnlJc0luSmxjM0J2Ym5ObFNHVmhaR1Z5Y3lJc0luUnBiV1Z2ZFhSVWFXMWxjaUlzSW5WeWJFRnVZMmh2Y2lJc0ltWnBjbVZIYkc5aVlXeHpJaXdpZFc1allXTm9aV1FpTENKallXeHNZbUZqYTBOdmJuUmxlSFFpTENKbmJHOWlZV3hGZG1WdWRFTnZiblJsZUhRaUxDSmpiMjF3YkdWMFpVUmxabVZ5Y21Wa0lpd2ljM1JoZEhWelEyOWtaU0lzSW5KbGNYVmxjM1JJWldGa1pYSnpJaXdpY21WeGRXVnpkRWhsWVdSbGNuTk9ZVzFsY3lJc0luTjBja0ZpYjNKMElpd2laMlYwVW1WemNHOXVjMlZJWldGa1pYSWlMQ0puWlhSQmJHeFNaWE53YjI1elpVaGxZV1JsY25NaUxDSnpaWFJTWlhGMVpYTjBTR1ZoWkdWeUlpd2liM1psY25KcFpHVk5hVzFsVkhsd1pTSXNJbTFwYldWVWVYQmxJaXdpYzNSaGRIVnpJaXdpWVdKdmNuUWlMQ0p6ZEdGMGRYTlVaWGgwSWl3aVptbHVZV3hVWlhoMElpd2lZM0p2YzNORWIyMWhhVzRpTENKb2IzTjBJaXdpYUdGelEyOXVkR1Z1ZENJc0ltbG1UVzlrYVdacFpXUWlMQ0pvWldGa1pYSnpJaXdpWW1WbWIzSmxVMlZ1WkNJc0luTjFZMk5sYzNNaUxDSnpaVzVrSWl3aWJtRjBhWFpsVTNSaGRIVnpWR1Y0ZENJc0luSmxjM0J2Ym5ObGN5SXNJbWx6VTNWalkyVnpjeUlzSW5KbGMzQnZibk5sSWl3aWJXOWthV1pwWldRaUxDSmpkQ0lzSW1acGJtRnNSR0YwWVZSNWNHVWlMQ0ptYVhKemRFUmhkR0ZVZVhCbElpd2lZV3BoZUVoaGJtUnNaVkpsYzNCdmJuTmxjeUlzSW1OdmJuWXlJaXdpWTNWeWNtVnVkQ0lzSW1OdmJuWWlMQ0prWVhSaFJtbHNkR1Z5SWl3aWRHaHliM2R6SWl3aVlXcGhlRU52Ym5abGNuUWlMQ0puWlhSS1UwOU9JaXdpWjJWMFUyTnlhWEIwSWl3aWRHVjRkQ0J6WTNKcGNIUWlMQ0ozY21Gd1FXeHNJaXdpWm1seWMzUkZiR1Z0Wlc1MFEyaHBiR1FpTENKM2NtRndTVzV1WlhJaUxDSm9kRzFzU1hOR2RXNWpkR2x2YmlJc0luVnVkM0poY0NJc0luWnBjMmxpYkdVaUxDSjRhSElpTENKWVRVeElkSFJ3VW1WeGRXVnpkQ0lzSW5ob2NsTjFZMk5sYzNOVGRHRjBkWE1pTENJd0lpd2lNVEl5TXlJc0luaG9jbE4xY0hCdmNuUmxaQ0lzSW1OdmNuTWlMQ0psY25KdmNrTmhiR3hpWVdOcklpd2liM0JsYmlJc0luVnpaWEp1WVcxbElpd2llR2h5Um1sbGJHUnpJaXdpYjI1c2IyRmtJaXdpYjI1bGNuSnZjaUlzSW05dVlXSnZjblFpTENKdmJuUnBiV1Z2ZFhRaUxDSnZibkpsWVdSNWMzUmhkR1ZqYUdGdVoyVWlMQ0p5WlhOd2IyNXpaVlI1Y0dVaUxDSnlaWE53YjI1elpWUmxlSFFpTENKaWFXNWhjbmtpTENKelkzSnBjSFJCZEhSeWN5SXNJbU5vWVhKelpYUWlMQ0p6WTNKcGNIUkRhR0Z5YzJWMElpd2laWFowSWl3aWIyeGtRMkZzYkdKaFkydHpJaXdpY21wemIyNXdJaXdpYW5OdmJuQWlMQ0pxYzI5dWNFTmhiR3hpWVdOcklpd2liM0pwWjJsdVlXeFRaWFIwYVc1bmN5SXNJbU5oYkd4aVlXTnJUbUZ0WlNJc0ltOTJaWEozY21sMGRHVnVJaXdpY21WemNHOXVjMlZEYjI1MFlXbHVaWElpTENKcWMyOXVVSEp2Y0NJc0ltTnlaV0YwWlVoVVRVeEViMk4xYldWdWRDSXNJbWx0Y0d4bGJXVnVkR0YwYVc5dUlpd2lhMlZsY0ZOamNtbHdkSE1pTENKd1lYSnpaV1FpTENKd1lYSmhiWE1pTENKaGJtbHRZWFJsWkNJc0ltOW1abk5sZENJc0luTmxkRTltWm5ObGRDSXNJbU4xY2xCdmMybDBhVzl1SWl3aVkzVnlUR1ZtZENJc0ltTjFja05UVTFSdmNDSXNJbU4xY2xSdmNDSXNJbU4xY2s5bVpuTmxkQ0lzSW1OMWNrTlRVMHhsWm5RaUxDSmpkWEpGYkdWdElpd2lkWE5wYm1jaUxDSnlaV04wSWl3aWQybHVJaXdpY0dGblpWbFBabVp6WlhRaUxDSndZV2RsV0U5bVpuTmxkQ0lzSW05bVpuTmxkRkJoY21WdWRDSXNJbkJoY21WdWRFOW1abk5sZENJc0luTmpjbTlzYkZSdklpd2lTR1ZwWjJoMElpd2lWMmxrZEdnaUxDSWlMQ0prWldaaGRXeDBSWGgwY21FaUxDSm1kVzVqVG1GdFpTSXNJblZ1WW1sdVpDSXNJbVJsYkdWbllYUmxJaXdpZFc1a1pXeGxaMkYwWlNJc0ltaHZkbVZ5SWl3aVptNVBkbVZ5SWl3aVptNVBkWFFpTENKd2NtOTRlU0lzSW1odmJHUlNaV0ZrZVNJc0ltaHZiR1FpTENKd1lYSnpaVXBUVDA0aUxDSnBjMDUxYldWeWFXTWlMQ0pwYzA1aFRpSXNJblJ5YVcwaUxDSmtaV1pwYm1VaUxDSmhiV1FpTENKZmFsRjFaWEo1SWl3aVh5UWlMQ0lrSWl3aWJtOURiMjVtYkdsamRDSmRMQ0p0WVhCd2FXNW5jeUk2SWtOQllVRXNVMEZCV1VFc1JVRkJVVU1zUjBGRmJrSXNZVUZGZFVJc2FVSkJRVmhETEZGQlFXbEVMR2xDUVVGdVFrRXNUMEZCVDBNc1VVRlRhRVJFTEU5QlFVOURMRkZCUVZWSUxFVkJRVTlKTEZOQlEzWkNTQ3hGUVVGVFJDeEhRVUZSTEVkQlEycENMRk5CUVZWTExFZEJRMVFzU1VGQlRVRXNSVUZCUlVRc1UwRkRVQ3hOUVVGTkxFbEJRVWxGTEUxQlFVOHNORU5CUld4Q0xFOUJRVTlNTEVWQlFWTkpMRWxCUjJ4Q1NpeEZRVUZUUkN4SFFYUkNXQ3hEUVRCQ2RVSXNiMEpCUVZoUExFOUJRWGxDUVN4UFFVRlRReXhMUVVGTkxGTkJRVlZFTEVWQlFWRkZMRWRCVFhSRkxHRkJSVUVzU1VGQlNVTXNSVUZCVFN4SFFVVk9ReXhGUVVGWFF5eFBRVUZQUXl4bFFVVnNRa01zUlVGQlVVb3NSVUZCU1Vrc1RVRkZXa01zUlVGQlQwd3NSVUZCU1Vzc1MwRkJUeXhUUVVGVlF5eEhRVU12UWl4UFFVRlBUaXhGUVVGSlN5eExRVUZMUlN4TFFVRk5SQ3hKUVVOdVFpeFRRVUZWUVN4SFFVTmlMRTlCUVU5T0xFVkJRVWxSTEU5QlFVOURMRTFCUVU4c1IwRkJTVWdzU1VGSk1VSkpMRVZCUVU5V0xFVkJRVWxWTEV0QlJWaERMRVZCUVZWWUxFVkJRVWxYTEZGQlJXUkRMRVZCUVdFc1IwRkZZa01zUlVGQlYwUXNSVUZCVjBNc1UwRkZkRUpETEVWQlFWTkdMRVZCUVZkSExHVkJSWEJDUXl4RlFVRmhSaXhGUVVGUFJDeFRRVVZ3UWtrc1JVRkJkVUpFTEVWQlFWZFVMRXRCUVUxTUxGRkJSWGhEWjBJc1JVRkJWU3hIUVVWV1F5eEZRVUZoTEZOQlFYRkNReXhIUVZOd1F5eE5RVUZ6UWl4dFFrRkJVa0VzUjBGQk9FTXNhVUpCUVdwQ1FTeEZRVUZKUXl4VlFVTXhRaXh0UWtGQllrUXNSVUZCU1VVc1RVRkpWa01zUlVGQlZ5eFRRVUZ0UWtnc1IwRkRhRU1zVDBGQll5eE5RVUZRUVN4SFFVRmxRU3hKUVVGUlFTeEZRVUZKZGtJc1VVRkphRU5JTEVWQlFWZEhMRVZCUVU5SUxGTkJTV3BDT0VJc1JVRkJORUlzUTBGREwwSkRMRTFCUVUwc1JVRkRUa01zUzBGQlN5eEZRVU5NUXl4UFFVRlBMRVZCUTFCRExGVkJRVlVzUjBGSFdDeFRRVUZUUXl4RlFVRlRReXhGUVVGTlF5eEZRVUZOUXl4SFFVYzNRaXhKUVVGSlF5eEZRVUZIUXl4RlFVTk9ReXhIUVVoRVNDeEZRVUZOUVN4SFFVRlBkRU1zUjBGSFF6QkRMR05CUVdVc1ZVRkhOMElzUjBGRVFVUXNSVUZCVDBVc1MwRkJUMUFzUlVGRFZFTXNSVUZEU2l4SlFVRk5SU3hMUVVGTFZDeEhRVmxXVlN4RlFVRk5TQ3hGUVVGTlJTeEpRVUZQUml4RlFVRkxUeXhqUVVGblFsQXNSVUZCUzA4c1lVRkJZMHdzUzBGRk1VUkZMRVZCUVU5SkxHRkJRV05PTEVWQlFVZERMRWRCU1ROQ1JpeEZRVUZKVVN4TFFVRkxReXhaUVVGaFRpeEhRVUZUVHl4WFFVRlhReXhaUVVGaFVpeEhRVWw2UkN4VFFVRlRVeXhGUVVGUmVFSXNSMEZEYUVJc1QwRkJXU3hOUVVGUVFTeEZRVU5IUVN4RlFVRk5MRWRCU1ZFc2FVSkJRVkpCTEVkQlFXMURMRzFDUVVGU1FTeEZRVU40UTFJc1JVRkJXVU1zUlVGQlUwNHNTMEZCVFdFc1MwRkJWeXhuUWtGREwwSkJMRVZCVVZRc1NVRkpRM2xDTEVWQlFWTXNVMEZCVlVNc1JVRkJWVU1zUjBGSk5VSXNUMEZCVHl4SlFVRkpSaXhGUVVGUFJ5eEhRVUZIUXl4TFFVRk5TQ3hGUVVGVlF5eEpRVEJXZGtNc1UwRkJVMGNzUlVGQllUbENMRWRCVFhKQ0xFbEJRVWtyUWl4SlFVRlhMMElzUjBGQlR5eFhRVUZaUVN4SFFVRlBRU3hGUVVGSkswSXNUMEZETlVNeFFpeEZRVUZQYlVJc1JVRkJVWGhDTEVkQlJXaENMRTlCUVV0RUxFVkJRVmxETEV0QlFWTkhMRVZCUVZWSUxFdEJTWEJDTEZWQlFWUkxMRWRCUVN0Q0xFbEJRVmd3UWl4SFFVTlNMR2xDUVVGWVFTeEhRVUYxUWtFc1JVRkJVeXhIUVVGUFFTeEZRVUZUTEV0QlFVOHZRaXhIUVhKWGFFVjVRaXhGUVVGUFJ5eEhRVUZMU0N4RlFVRlBUeXhWUVVGWkxFTkJSemxDUXl4UFFXSlZMRkZCWlZaRExGbEJRV0ZVTEVWQlIySk5MRTlCUVZFc1JVRkZVa2tzVVVGQlV5eFhRVU5TTEU5QlFVOXVSQ3hGUVVGTlJ5eExRVUZOVkN4UFFVdHdRakJFTEVsQlFVc3NVMEZCVlVNc1IwRkhaQ3hQUVVGWkxFMUJRVkJCTEVWQlEwZHlSQ3hGUVVGTlJ5eExRVUZOVkN4TlFVbGlNa1FzUlVGQlRTeEZRVUZKTTBRc1MwRkJUVEpFTEVWQlFVMHpSQ3hMUVVGTGNVUXNVVUZCVjNKRUxFdEJRVTB5UkN4SlFVdHdSRU1zVlVGQlZ5eFRRVUZWUXl4SFFVZHdRaXhKUVVGSlF5eEZRVUZOWml4RlFVRlBaMElzVFVGQlR5OUVMRXRCUVV0M1JDeGpRVUZsU3l4SFFVMDFReXhQUVVoQlF5eEZRVUZKUlN4WFFVRmhhRVVzUzBGSFZqaEVMRWRCU1ZKSExFdEJRVTBzVTBGQlZVTXNSMEZEWml4UFFVRlBia0lzUlVGQlQydENMRXRCUVUxcVJTeExRVUZOYTBVc1NVRkhNMEpETEVsQlFVc3NVMEZCVlVRc1IwRkRaQ3hQUVVGUGJFVXNTMEZCU3pSRUxGVkJRVmRpTEVWQlFVOXZRaXhKUVVGTGJrVXNTMEZCVFN4VFFVRlZiMFVzUlVGQlRXcERMRWRCUTNoRUxFOUJRVThyUWl4RlFVRlRla1FzUzBGQlRUSkVMRVZCUVUxcVF5eEZRVUZIYVVNc1QwRkpha001UkN4TlFVRlBMRmRCUTA0c1QwRkJUMDRzUzBGQlN6UkVMRlZCUVZkMFJDeEZRVUZOU3l4TlFVRlBXQ3hMUVVGTmNVVXNZVUZITTBORExFMUJRVThzVjBGRFRpeFBRVUZQZEVVc1MwRkJTM1ZGTEVkQlFVa3NTVUZIYWtKRExFdEJRVTBzVjBGRFRDeFBRVUZQZUVVc1MwRkJTM1ZGTEVsQlFVc3NTVUZIYkVKRkxFdEJRVTBzVjBGRFRDeFBRVUZQZWtVc1MwRkJTelJFTEZWQlFWZGlMRVZCUVU4eVFpeExRVUZOTVVVc1MwRkJUU3hUUVVGVk1rVXNSVUZCVDNoRExFZEJRekZFTEU5QlFWTkJMRVZCUVVrc1IwRkJUU3hOUVVseVFubERMRWxCUVVzc1YwRkRTaXhQUVVGUE5VVXNTMEZCU3pSRUxGVkJRVmRpTEVWQlFVOHlRaXhMUVVGTk1VVXNTMEZCVFN4VFFVRlZNa1VzUlVGQlQzaERMRWRCUXpGRUxFOUJRVTlCTEVWQlFVa3NUVUZKWW05RExFZEJRVWtzVTBGQlZYQkRMRWRCUTJJc1NVRkJTVEJETEVWQlFVMDNSU3hMUVVGTGNVUXNUMEZEWkhsQ0xFZEJRVXN6UXl4SFFVRk5RU3hGUVVGSkxFVkJRVWt3UXl4RlFVRk5MRWRCUXpGQ0xFOUJRVTgzUlN4TFFVRkxORVFzVlVGQlYydENMRWRCUVVzc1IwRkJTMEVzUlVGQlNVUXNSVUZCVFN4RFFVRkZOMFVzUzBGQlRUaEZMRWxCUVZFc1MwRkhOVVJETEVsQlFVc3NWMEZEU2l4UFFVRlBMMFVzUzBGQlMyZEZMRmxCUVdOb1JTeExRVUZMZDBRc1pVRkxhRU0xUXl4TFFVRk5RU3hGUVVOT2IwVXNTMEZCVFRsRkxFVkJRVWs0UlN4TFFVTldReXhQUVVGUkwwVXNSVUZCU1N0RkxGRkJSMkpzUXl4RlFVRlBiVU1zVDBGQlUyNURMRVZCUVU5SExFZEJRVWRuUXl4UFFVRlRMRmRCUTJ4RExFbEJRVWxETEVWQlFWTkRMRVZCUVUxNFJDeEZRVUZMZVVRc1JVRkJUVU1zUlVGQllVTXNSVUZETVVORExFVkJRVk51UWl4VlFVRlhMRWxCUVU4c1IwRkRNMEpzUXl4RlFVRkpMRVZCUTBwclFpeEZRVUZUWjBJc1ZVRkJWV2hDTEU5QlEyNUNiME1zUjBGQlR5eEZRWE5DVWl4SlFXNUNkVUlzYTBKQlFWaEVMRWxCUTFoRExFVkJRVTlFTEVWQlIxQkJMRVZCUVZOdVFpeFZRVUZYYkVNc1NVRkJUeXhIUVVNelFrRXNTMEZKYzBJc2FVSkJRVmh4UkN4SFFVRjNRbTVGTEVWQlFWbHRSU3hMUVVNdlEwRXNSVUZCVXl4SlFVbE1ja1FzU1VGQlRXdENMRWxCUTFadFF5eEZRVUZUZUVZc1MwRkRWRzFETEV0QlIwOUJMRVZCUVVsclFpeEZRVUZSYkVJc1NVRkhia0lzUjBGQmNVTXNUMEZCT1VKblJDeEZRVUZWWkN4VlFVRlhiRU1zU1VGSE0wSXNTVUZCVFdsRUxFdEJRVkZFTEVWQlEySkZMRVZCUVU5R0xFVkJRVk5ETEVkQlNVWXNZMEZCVkVFc1IwRkJkMEpKTEVsQlFWZElMRWxCUzI1RFNTeEhRVUZSU2l4SlFVRlZkRU1zUlVGQlR6SkRMR05CUVdWTUxFdEJRekZEUXl4RlFVRmpTeXhOUVVGTlF5eFJRVUZUVUN4TlFVTXZRbnBFTEVWQlFVMDBSQ3hGUVVGUlNpeEhRVWxpUnl4RlFVUkpSQ3hKUVVGblFrc3NUVUZCVFVNc1VVRkJVMmhGTEVkQlF6TkNMRWRCUTBrd1JDeEhRVUZuUW5aRExFVkJRVTh5UXl4alFVRmxPVVFzUjBGSE1VTkJMRVZCUmtFc1IwRkpWREJFTEVkQlFXTXNSVUZIWkVVc1JVRkJVVW9zUjBGQlUzSkRMRVZCUVU5dFF5eFBRVUZSVHl4RlFVRk5SaXhGUVVGUFJpeFRRVWQ2UWxFc1NVRkJWRklzU1VGRFdFY3NSVUZCVVVvc1IwRkJVME1zU1VGUGNrSXNUMEZCVDBjc1IwRkhVbnBETEVWQlFVOXRReXhQUVVGUkxFTkJSMlJaTEZGQlFWTXNWVUZzVEVNc1VVRnJUSE5DUXl4TFFVRkxReXhWUVVGWFF5eFJRVUZUTEUxQlFVOHNTVUZIYUVWRExGTkJRVk1zUlVGRlZFTXNUVUZCVHl4VFFVRlZReXhIUVVOb1FpeE5RVUZOTEVsQlFVbDBSeXhOUVVGUGMwY3NTVUZIYkVKRExFdEJRVTBzWVVGRlRsZ3NZMEZCWlN4VFFVRlZjRVVzUjBGRGVFSXNTVUZCU1dkR0xFVkJRVTlETEVWQlNWZ3NVMEZCVFdwR0xFZEJRV2RETEc5Q1FVRjZRbEFzUlVGQlUwNHNTMEZCVFdFc1VVRkpOVUpuUml4RlFVRlJia2NzUlVGQlZXMUNMRXRCVTBzc2JVSkJSSFpDYVVZc1JVRkJUM1pHTEVWQlFVOVFMRXRCUVUwMlJpeEZRVUZQTEdkQ1FVRnRRa0VzUlVGQlRUbERMR05CUTJaMFF5eEZRVUZYVkN4TFFVRk5PRVlzUzBGQlYzQkdMRWxCUjJ4RmNVWXNZMEZCWlN4VFFVRlZiRVlzUjBGRGVFSXNTVUZCU1RoRUxFVkJSVW9zU1VGQlRVRXNTMEZCVVRsRUxFVkJRMklzVDBGQlR5eEZRVVZTTEU5QlFVOHNSMEZMVW0xR0xGZEJRVmtzVTBGQlZYcEZMRVZCUVUxdFJDeEZRVUZUYWtRc1IwRkRjRU5JTEVWQlFWTkRMRVZCUVUwc1EwRkJSVWdzVFVGQlQzTkVMRWRCUVZkQkxFVkJRVkYwUkN4UFFVRlRTeXhKUVVkeVJDdENMRXRCUVUwc1UwRkJWVE5ETEVWQlFVczBReXhIUVVOd1FpeEpRVUZKWWl4RlFVRlJiRUlzUlVGQlNTeEZRVVZvUWl4SFFVRkxhVUlzUlVGQllUbENMRWRCUldwQ0xFbEJSRUVyUWl4RlFVRlRMMElzUlVGQlNTdENMRTlCUTB4c1FpeEZRVUZKYTBJc1NVRkRjVU1zU1VGQk0wTmhMRVZCUVZONlJDeExRVUZOWVN4RlFVRkxZU3hIUVVGTFFTeEZRVUZIWWl4RlFVRkxZU3hKUVVSdVFrRXNWVUZOY0VJc1NVRkJUVUVzUzBGQlMySXNSVUZEVml4SlFVRm5SQ3hKUVVFelF6UkRMRVZCUVZONlJDeExRVUZOWVN4RlFVRkxZU3hIUVVGTFFTeEZRVUZIWWl4RlFVRkxZU3hKUVVOeVF5eE5RVXRJTEU5QlFVOWlMRWRCU1ZKdlJpeFZRVUZYTEZOQlFWVjRSeXhGUVVGTGVVY3NSMEZEZWtJc1NVRkJTVGRETEVWQlFVMDJReXhIUVVGWExFZEJZWEpDTEU5QldGa3NUVUZCVUhwSExFbEJRME5yUkN4RlFVRmhhRVFzVDBGQlVVWXNTVUZEZWtJMlF5eEZRVUZQWjBJc1RVRkJUMFFzUlVGRFJTeHBRa0ZCVWpWRUxFVkJRMDRzUTBGQlJVRXNSMEZCVVVFc1IwRkhXbFVzUlVGQlMwZ3NTMEZCVFhGRUxFVkJRVXMxUkN4SlFVbFlORVFzUjBGSFVqaERMRkZCUVZNc1UwRkJWWGhETEVWQlFVMXNSU3hGUVVGTGFVTXNSMEZETjBJc1QwRkJZeXhOUVVGUWFrTXNSMEZCWlN4RlFVRkpWeXhGUVVGUlNpeExRVUZOVUN4RlFVRkxhMFVzUlVGQlRXcERMRWxCUzNCRU5FSXNUVUZCVHl4VFFVRlZUeXhGUVVGUGRVTXNSMEZMZGtJc1NVRktRU3hKUVVGSmFFTXNSMEZCVDJkRExFVkJRVTk0UkN4UFFVTnFRbmxDTEVWQlFVa3NSVUZEU2pORExFVkJRVWx0UXl4RlFVRk5ha0lzVDBGRlNIbENMRVZCUVVsRUxFVkJRVXRETEVsQlEyaENVaXhGUVVGUGJrTXNTMEZCVVRCRkxFVkJRVkV2UWl4SFFVdDRRaXhQUVVaQlVpeEZRVUZOYWtJc1QwRkJVMnhDTEVWQlJWSnRReXhIUVVkU1NTeExRVUZOTEZOQlFWVmlMRVZCUVU5TExFVkJRVlUwUXl4SFFWTm9ReXhKUVZKQkxFbEJRME5ETEVWQlFWVXNSMEZEVmpWRkxFVkJRVWtzUlVGRFNtdENMRVZCUVZOUkxFVkJRVTFTTEU5QlEyWXlSQ3hIUVVGclFrWXNSVUZKV0RORkxFVkJRVWxyUWl4RlFVRlJiRUlzUzBGRFFTdENMRVZCUVZWTUxFVkJRVTh4UWl4SFFVRkxRU3hMUVVOb1FqWkZMRWRCUTNoQ1JDeEZRVUZSYmtjc1MwRkJUV2xFTEVWQlFVOHhRaXhKUVVsMlFpeFBRVUZQTkVVc1IwRkpValZETEVsQlFVc3NVMEZCVlU0c1JVRkJUMHNzUlVGQlZTdERMRWRCUXk5Q0xFbEJRVWsxUkN4RlFVRlJOa1FzUlVGRFdDOUZMRVZCUVVrc1JVRkRTakpDTEVWQlFVMHNSMEZIVUN4SFFVRkxWaXhGUVVGaFV5eEhRVVZxUWl4SlFVUkJVaXhGUVVGVFVTeEZRVUZOVWl4UFFVTlFiRUlzUlVGQlNXdENMRVZCUVZGc1FpeEpRVWRNTEU5QlJtUXJSU3hGUVVGUmFFUXNSVUZCVlV3c1JVRkJUekZDTEVkQlFVdEJMRVZCUVVjNFJTeExRVWRvUTI1RUxFVkJRVWxzUkN4TFFVRk5jMGNzVVVGTldpeEpRVUZOTDBVc1MwRkJTekJDTEVWQlIwa3NUMEZHWkhGRUxFVkJRVkZvUkN4RlFVRlZUQ3hGUVVGUE1VSXNSMEZCUzBFc1JVRkJSemhGTEV0QlIyaERia1FzUlVGQlNXeEVMRXRCUVUxelJ5eEhRVTFpTEU5QlFVOHpSeXhGUVVGTmRVUXNTVUZKWkhGRUxFdEJRVTBzUlVGSlRpOUdMRkZCUVZOQkxFbEJSMkVzYlVKQlFWaG5SeXhUUVVOWWNrVXNSVUZCVDBjc1IwRkJTV3RGTEU5QlFVOURMRlZCUVdGdVNDeEZRVUZMYTBnc1QwRkJUME1zVjBGSk5VTjBSU3hGUVVGUGEwSXNTMEZCVFN4MVJVRkJkVVZ4UkN4TlFVRlBMRXRCUXpGR0xGTkJRVlZETEVWQlFVbHVReXhIUVVOaWRFVXNSVUZCV1N4WFFVRmhjMFVzUlVGQlR5eExRVUZSUVN4RlFVRkxiME1zWjBKQmJVSXZReXhKUVVGSlF5eEZRVmRLTEZOQlFWa3hTQ3hIUVVOYUxFbEJRVWx2UXl4RlFVTklaaXhGUVVOQmMwY3NSVUZEUVVNc1JVRkRRVU1zUlVGRFFVTXNSVUZEUVVNc1JVRkRRVU1zUlVGRFFVTXNSVUZEUVVNc1JVRkRRVU1zUlVGSFFVTXNSVUZEUVhaSkxFVkJRMEYzU1N4RlFVTkJReXhGUVVOQlF5eEZRVU5CUXl4RlFVTkJlRUlzUlVGRFFYbENMRVZCUjBFeFF5eEZRVUZWTEZOQlFWY3NSVUZCU1N4SlFVRkpNa01zUzBGRE4wSkRMRVZCUVdVelNTeEZRVUZQU0N4VFFVTjBRaXRKTEVWQlFWVXNSVUZEVmtNc1JVRkJUeXhGUVVOUVF5eEZRVUZoUXl4TFFVTmlReXhGUVVGaFJDeExRVU5pUlN4RlFVRm5Ra1lzUzBGRGFFSkhMRVZCUVhsQ1NDeExRVU42UWtrc1JVRkJXU3hUUVVGVlF5eEZRVUZIUXl4SFFVbDRRaXhQUVVoTFJDeEpRVUZOUXl4SlFVTldiRUlzUjBGQlpTeEhRVVZVTEVkQlNWSnNTQ3hGUVVGVExFZEJRVTlETEdWQlEyaENaaXhGUVVGTkxFZEJRMDV0U2l4RlFVRk5ia29zUlVGQlNXMUtMRWxCUTFaRExFVkJRV0Z3U2l4RlFVRkpWU3hMUVVOcVFrRXNSVUZCVDFZc1JVRkJTVlVzUzBGRFdFNHNSVUZCVVVvc1JVRkJTVWtzVFVGSldrOHNSVUZCVlN4VFFVRlZNRWtzUlVGQlRXNUdMRWRCUjNwQ0xFbEJSa0VzU1VGQlNXcERMRVZCUVVrc1JVRkRVREJETEVWQlFVMHdSU3hGUVVGTGJFY3NUMEZEU214Q0xFVkJRVWt3UXl4RlFVRkxNVU1zU1VGRGFFSXNSMEZCUzI5SUxFVkJRVTF3U0N4TFFVRlJhVU1zUlVGRGJFSXNUMEZCVDJwRExFVkJSMVFzVDBGQlVTeEhRVWRVY1Vnc1JVRkJWeXcyU0VGTldFTXNSVUZCWVN4elFrRkhZa01zUlVGQllTd3dRa0ZCTkVKRUxFVkJRM2hETERCRFFVZEVSU3hGUVVGaExFMUJRVkZHTEVWQlFXRXNTMEZCVDBNc1JVRkJZU3hQUVVGVFJDeEZRVWM1UkN4blFrRkJhMEpCTEVWQlNXeENMREpFUVVFMlJFTXNSVUZCWVN4UFFVTXhSVVFzUlVGQllTeFBRVVZrUnl4RlFVRlZMRXRCUVU5R0xFVkJRV0VzZDBaQlQwRkRMRVZCUVdFc1pVRlBNME5GTEVWQlFXTXNTVUZCU1VNc1QwRkJVVXdzUlVGQllTeEpRVUZMTEV0QlF6VkRUU3hGUVVGUkxFbEJRVWxFTEU5QlFWRXNTVUZCVFV3c1JVRkJZU3c0UWtGRGRFTkJMRVZCUVdFc1MwRkJUU3hMUVVWd1FrOHNSVUZCVXl4SlFVRkpSaXhQUVVGUkxFbEJRVTFNTEVWQlFXRXNTMEZCVDBFc1JVRkJZU3hMUVVNMVJGRXNSVUZCWlN4SlFVRkpTQ3hQUVVGUkxFbEJRVTFNTEVWQlFXRXNWMEZCWVVFc1JVRkJZU3hKUVVGTlFTeEZRVU0zUlN4TFFVTkVVeXhGUVVGWExFbEJRVWxLTEU5QlFWRk1MRVZCUVdFc1RVRkZjRU5WTEVWQlFWVXNTVUZCU1V3c1QwRkJVVVlzUjBGRGRFSlJMRVZCUVdNc1NVRkJTVTRzVDBGQlVTeEpRVUZOU2l4RlFVRmhMRXRCUlRkRFZ5eEZRVUZaTEVOQlExaERMRWRCUVUwc1NVRkJTVklzVDBGQlVTeE5RVUZSU2l4RlFVRmhMRXRCUTNaRFlTeE5RVUZUTEVsQlFVbFVMRTlCUVZFc1VVRkJWVW9zUlVGQllTeExRVU0xUTJNc1NVRkJUeXhKUVVGSlZpeFBRVUZSTEV0QlFVOUtMRVZCUVdFc1UwRkRka05sTEV0QlFWRXNTVUZCU1Znc1QwRkJVU3hKUVVGTlNDeEhRVU14UW1Vc1QwRkJWU3hKUVVGSldpeFBRVUZSTEVsQlFVMUdMRWRCUXpWQ1pTeE5RVUZUTEVsQlFVbGlMRTlCUVZFc2VVUkJRM0JDVEN4RlFVRmhMQ3RDUVVGcFEwRXNSVUZCWVN4alFVTXpSRUVzUlVGQllTeGhRVUZsUVN4RlFVRmhMRk5CUVZVc1MwRkRjRVJ0UWl4TFFVRlJMRWxCUVVsa0xFOUJRVkVzVDBGQlUwNHNSVUZCVnl4TFFVRk5MRXRCU1RsRGNVSXNZVUZCWjBJc1NVRkJTV1lzVDBGQlVTeEpRVUZOVEN4RlFVTnFReXh0UkVGQmNVUkJMRVZCUTNKRUxHMUNRVUZ4UWtFc1JVRkJZU3h0UWtGQmIwSXNUVUZIZUVSeFFpeEZRVUZSTEZOQlExSkRMRVZCUVZVc2MwTkJRMVpETEVWQlFWVXNVMEZGVmtNc1JVRkJWU3g1UWtGSFZrTXNSVUZCWVN4dFEwRkZZa01zUjBGQlZ5eFBRVWxZUXl4SFFVRlpMRWxCUVVsMFFpeFBRVUZSTEhWQ1FVRjVRa3dzUlVGQllTeDFRa0ZCZDBJc1MwRkRkRVkwUWl4SFFVRlpMRk5CUVZWRExFVkJRVkZETEVkQlF6ZENMRWxCUVVsRExFVkJRVThzUzBGQlQwWXNSVUZCVDJoTUxFMUJRVThzUjBGQlRTeE5RVVYwUXl4UFFVRlBhVXdzU1VGVFRrTXNSVUZCVHl4RlFVTk9ReXhQUVVGUFF5eGhRVUZqUml4RlFVRlBMRTlCUXpWQ1F5eFBRVUZQUXl4aFFVRmpSaXhIUVVGUkxFZEJRVXNzVFVGQlpTeExRVUZRUVN4RlFVRmxMRk5CU3pWRVJ5eEhRVUZoTEhORVFVTmlReXhIUVVGaExGTkJRVlZETEVWQlFVbERMRWRCUXpGQ0xFOUJRVXRCTEVWQlIxRXNUMEZCVUVRc1JVRkRSeXhKUVVsRVFTeEZRVUZIZGt3c1RVRkJUeXhIUVVGSkxFZEJRVTBzUzBGRE1VSjFUQ3hGUVVGSFJTeFhRVUZaUml4RlFVRkhlRWtzVDBGQlV5eEhRVUZKZEVNc1UwRkJWU3hKUVVGUExFbEJTVE5ETEV0QlFVODRTeXhIUVU5bVJ5eEhRVUZuUWl4WFFVTm1OMFFzUzBGSFJEaEVMRWRCUVhGQ1F5eEhRVU53UWl4VFFVRlZPVWdzUjBGRFZDeFBRVUY1UWl4SlFVRnNRa0VzUlVGQlN5dElMRlZCUVhGRUxHRkJRV2hETDBnc1JVRkJTMmRKTEZOQlFWTTFSU3hsUVVWb1JDeERRVUZGTmtVc1NVRkJTeXhoUVVGalF5eExRVUZOTEZkQlNUZENMRWxCUTBNeFRDeEZRVUZMUkN4TlFVTkdWQ3hGUVVGTlNTeEZRVUZOUnl4TFFVRk5hVWtzUlVGQllUWkVMRmxCUTJwRE4wUXNSVUZCWVRaRUxGbEJUV1J5VFN4RlFVRkxkMGtzUlVGQllUWkVMRmRCUVZkc1NpeFJRVUZUT1VJc1UwRkRja01zVFVGQlVXbE1MRWRCUTFRMVRDeEZRVUZQTEVOQlFVVkVMRTFCUVU5VUxFVkJRVWx0UkN4UFFVZHVRaXhUUVVGVmJVTXNSVUZCVVdsSUxFZEJRMnBDYmtRc1JVRkJWek5KTEUxQlFVODJSU3hGUVVGUmJFWXNSVUZCVFVjc1MwRkJUV2ROTEV0QlMzWkRMRk5CUVZWcVNDeEZRVUZSYVVnc1IwRkxha0lzU1VGS1FTeEpRVUZKTTBnc1JVRkJTVlVzUlVGQlQyNURMRTlCUTJSc1FpeEZRVUZKTEVWQlIwdHhSQ3hGUVVGUlZpeExRVUZSTWtnc1JVRkJTM1JMTEU5QlF5OUNjVVFzUlVGQlQyNURMRTlCUVZONVFpeEZRVUZKTEVsQlMzWkNMRk5CUVZNeVF5eEhRVUZSZWtVc1JVRkJWVU1zUlVGQlV6QkVMRVZCUVZNclJpeEhRVU0xUXl4SlFVRkpReXhGUVVGSGVFc3NSVUZCUjJsRExFVkJRVTEzU1N4RlFVRkxReXhGUVVGUFF5eEZRVUZSUXl4RlFVTnVRME1zUlVGQllTOUtMRWRCUVZkQkxFVkJRVkZuU3l4alFVZG9RekZNTEVWQlFWY3dRaXhGUVVGVlFTeEZRVUZSTVVJc1UwRkJWeXhGUVV0NlF5eEhRVWhCYjBZc1JVRkJWVUVzUjBGQlZ5eEhRVWRKTEdsQ1FVRmlNMFFzU1VGQk1FSkJMRWRCUTNoQ0xFbEJRV0o2UWl4SFFVRXJRaXhKUVVGaVFTeEhRVUVyUWl4TFFVRmlRU3hGUVVWd1F5eFBRVUZQYjBZc1JVRkpVaXhKUVVGTkswWXNTVUZEVEhaRkxFVkJRV0ZzUml4SFFVTmlRU3hGUVVGVlFTeEhRVUZYY2tRc1JVRkZhRUo1U1N4SFFVRnBRaXhEUVVseVFpeEhRVUZyUWl4TFFVRmlPVWNzU1VGQmNVSnpUQ3hGUVVGUk0wSXNSVUZCVjJkRExFdEJRVTFzU3l4SlFVZHNSQ3hIUVVGUE1rb3NSVUZCU1VVc1JVRkJUeXhKUVVkcVFpeEhRVUZyUWl4SlFVRmlkRXdzUlVGQmFVSXNRMEZEY2tJc1MwRkJUelpETEVWQlFVOXVRaXhGUVVGUmEwc3NaVUZCWjBKU0xFbEJWWEpETEU5QlFVOW9SeXhGUVV4UUxFZEJRVXQyUXl4RlFVRkxaMG9zUzBGQlQxUXNSVUZGYUVJc1QwRkVRV2hITEVWQlFWRXZSaXhMUVVGTmQwUXNSMEZEVUhWRExFOUJXVlFzUjBGQlMzRkhMRWxCUVdkQ05Va3NSVUZCVHpSSkxFVkJRVmRITEdWQlFXZENVaXhMUVVOMFJHNUZMRVZCUVZWMlJpeEZRVUZUYlVJc1NVRkRia0pCTEVWQlFVdG5TaXhMUVVGUFZDeEZRVWRhTEU5QlJFRm9SeXhGUVVGUkwwWXNTMEZCVFhkRUxFZEJRMUIxUXl4TlFVdElMRU5CUVVFc1IwRkJTMnRITEVWQlFVOHNSMEZGYkVJc1QwRkVRV3BOTEVWQlFVdEVMRTFCUVU5blJ5eEZRVUZUTVVRc1JVRkJVVzlMTEhGQ1FVRnpRbkpMTEVsQlF6VkRNa1FzUlVGSFJDeEpRVUZQWjBjc1JVRkJTVVVzUlVGQlR5eExRVUZUZWt3c1JVRkJVV3ROTEhkQ1FVTjZRM0pMTEVWQlFWRnhTeXgxUWtGSFVpeFBRVVJCTVUwc1JVRkJTMFFzVFVGQlQyZEhMRVZCUVZNeFJDeEZRVUZSY1Vzc2RVSkJRWGRDV0N4SlFVTTVRMmhITEVWQlMxUXNSMEZCUzNaR0xFVkJRVkZ0VFN4TlFVTllkRVVzUlVGQmQwSnFSeXhGUVVGWExGRkJRMnBEYzBZc1NVRkJZMEVzUlVGQlZXdEdMRXRCUVUxNFN5eE5RVWxzUWl4SlFVRmlla0lzUjBGQmNVUXNWMEZCYmtNd1FpeEZRVUZSYlVvc1UwRkJVelZGTEdWQlFTdENMRU5CV1hCRkxFZEJWa0YxUml4RlFVRmpMMG9zUlVGRFpHZExMRVZCUVdFdlNpeEZRVk5MTEVsQlFXSXhRaXhKUVVOR01ra3NSVUZCVTNORUxFdEJRVTE0U3l4SlFVRmphVWdzUlVGQllYVkVMRXRCUVUxNFN5eEpRVUZsTEVOQmNVSnFSU3hMUVd4Q1FXZExMRVZCUVdFM1FpeEhRVUZUY1VNc1MwRkJUWGhMTEVsQlFXTjVTeXhIUVVGaGVFc3NSVUZCVVV3c1lVRkRPVVJMTEV0QlNXMUNRU3hIUVVGWk4wSXNSVUZCVVhOTkxGTkJSMmhEWkN4RlFVRk5NMG9zUlVGQlVWUXNZVUZCWXl4UFFVTnNRMjlMTEVWQlFVMUJMRVZCUVVrelJ5eFJRVUZUTUVZc1IwRkJXVU1zU1VGRkwwSXpTU3hGUVVGUlVpeGhRVUZqTEV0QlFWRnRTeXhGUVVGTk9VY3NTVUZOZEVNelJDeEhRVVJCTWtzc1JVRkJVMnBHTEVWQlFWVTNSU3hKUVVOU1N5eFBRVU5JYkVJc1MwRkRVREpMTEVWQlFWRXpTeXhKUVVGUmVVc3NSVUZCVFN4SlFVRk5RU3hGUVVGTkxGVkJRV0VzU1VGRE9VTmxMRWRCUVZsaUxFVkJRVkV6U3l4SlFVVjBRalJMTEVWQlFXTkVMRVZCUVU5akxFdEJRVTBzUzBGSE5VSXNTVUZKUXl4UFFVaEJhRTRzUlVGQlMwUXNUVUZCVDJkSExFVkJRMWh4Unl4RlFVRlhZU3hwUWtGQmEwSmtMRWxCUlhaQ2NFY3NSVUZEVGl4TlFVRlJiVWdzUjBGRFZEZEZMRVZCUVhkQ2FrY3NSMEZCVlN4SFFVTnFReXhSUVVOSk5Fb3NTVUZCVVRsSExFZEJRMW8zUXl4RlFVRlJPRXNzWjBKQlFXbENMRkZCVVRsQ0xFOUJRVTlvUnl4RlFVRlJMMFVzUlVGQlUybEVMRkZCUVZNNFJDeEZRVUZQTEUxQlFWRTVSeXhGUVVGVE1FUXNSVUZCVXl0R0xFZEJVMjVGTEZOQlFWTTFSQ3hMUVVOU0xFbEJRVWxyUml4RlFVRlBMRWRCV1Znc1QwRldRU3hUUVVGVFF5eEZRVUZQUXl4RlFVRkxhRWdzUjBGUmNFSXNUMEZNU3poSExFVkJRVXR3VGl4TFFVRk5jMDRzUlVGQlRTeExRVUZSZUVjc1JVRkJTM2xITEc5Q1FVY3pRa1lzUlVGQlQwUXNSVUZCUzBrc1UwRkZXRWdzUlVGQlQwTXNSVUZCVFN4TFFVRlJhRWdzUjBGVGFFTXNVMEZCVTIxSUxFZEJRV051VEN4SFFVVjBRaXhQUVVSQlFTeEZRVUZKTkVNc1NVRkJXU3hGUVVOVU5VTXNSVUZQVWl4VFFVRlRiMHdzUjBGQlVYQk1MRWRCUTJoQ0xFbEJRVWx4VEN4RlFVRkxNMDhzUlVGQlV6QkRMR05CUVdVc1dVRkZha01zU1VGRFF5eFJRVUZUV1N4RlFVRkpjVXdzUjBGRFdpeE5RVUZSTDBJc1IwRkRWQ3hQUVVGUExFVkJRMDRzVVVGSFNTdENMRVZCUVVjelRDeFpRVU5RTWt3c1JVRkJSek5NTEZkQlFWZERMRmxCUVdFd1RDeEhRVWsxUWtFc1JVRkJTeXhOUVZOUUxGTkJRVk5ETEVkQlFWZERMRVZCUVU5RExFZEJTVEZDTEVsQlNFRXNTVUZCU1hoUExFVkJRVTExVHl4RlFVRk5ia2dzVFVGQlR5eExRVU4wUW01R0xFVkJRVWxxUXl4RlFVRkpiVVFzVDBGRlJHeENMRXRCUTFCMVJpeEZRVUZMYVVnc1YwRkJXWHBQTEVWQlFVdHBReXhKUVVGUmRVMHNSVUZWYUVNc1UwRkJVMFVzUjBGQlkzcEdMRVZCUVVkRExFZEJRM3BDTEVsQlFVbDVSaXhGUVVGTmVrWXNSMEZCUzBRc1JVRkRaREpHTEVWQlFVOUVMRWRCUVhOQ0xFbEJRV1l4Uml4RlFVRkZOVWdzVlVGQmFVTXNTVUZCWmpaSUxFVkJRVVUzU0N4VlFVTnVRelJJTEVWQlFVVTBSaXhaUVVGak0wWXNSVUZCUlRKR0xGbEJSM0JDTEVkQlFVdEVMRVZCUTBvc1QwRkJUMEVzUlVGSlVpeEhRVUZMUkN4RlFVTktMRXRCUVZWQkxFVkJRVTFCTEVWQlFVbEhMR0ZCUTI1Q0xFZEJRVXRJTEVsQlFWRjZSaXhGUVVOYUxFOUJRVkVzUlVGTFdDeFBRVUZQUkN4RlFVRkpMRWRCUVVzc1JVRlBha0lzVTBGQlV6aEdMRWRCUVcxQ2RFNHNSMEZETTBJc1QwRkJUeXhUUVVGVmVVTXNSMEZGYUVJc1RVRkJaMElzVlVGRVRFRXNSVUZCUzJkSkxGTkJRVk0xUlN4bFFVTkZjRVFzUlVGQlMzcERMRTlCUVZOQkxFZEJVVE5ETEZOQlFWTjFUaXhIUVVGdlFuWk9MRWRCUXpWQ0xFOUJRVThzVTBGQlZYbERMRWRCUTJoQ0xFbEJRVWxuUWl4RlFVRlBhRUlzUlVGQlMyZEpMRk5CUVZNMVJTeGpRVU42UWl4UFFVRnJRaXhWUVVGVWNFTXNSMEZCTmtJc1YwRkJWRUVzU1VGQmRVSm9RaXhGUVVGTGVrTXNUMEZCVTBFc1IwRlJjRVVzVTBGQlUzZE9MRWRCUVhOQ2FFUXNSMEZIT1VJc1QwRkJUeXhUUVVGVkwwZ3NSMEZMYUVJc1RVRkJTeXhUUVVGVlFTeEZRVk5VUVN4RlFVRkxlRUlzWVVGQlowTXNTVUZCYkVKM1FpeEZRVUZMSzBnc1UwRkhka0lzVlVGQlZ5OUlMRVZCUTFZc1ZVRkJWMEVzUlVGQlMzaENMRmRCUTJKM1FpeEZRVUZMZUVJc1YwRkJWM1ZLTEZkQlFXRkJMRVZCUlRkQ0wwZ3NSVUZCU3l0SUxGZEJRV0ZCTEVWQlRYQkNMMGdzUlVGQlMyZE1MR0ZCUVdWcVJDeEhRVWt4UWk5SUxFVkJRVXRuVEN4alFVRm5RbXBFTEVkQlEzSkNSaXhIUVVGdlFqZElMRXRCUVZjclNDeEZRVWN4UWk5SUxFVkJRVXNyU0N4WFFVRmhRU3hGUVV0a0xGVkJRVmN2U0N4SFFVTm1RU3hGUVVGTEswZ3NWMEZCWVVFc1IwRlpOVUlzVTBGQlUydEVMRWRCUVhkQ2JrMHNSMEZEYUVNc1QwRkJUMjFNTEVkQlFXTXNVMEZCVldsQ0xFZEJSVGxDTEU5QlJFRkJMRWRCUVZsQkxFVkJRMHhxUWl4SFFVRmpMRk5CUVZVelFpeEZRVUZOTTBZc1IwRk5jRU1zU1VGTVFTeEpRVUZKYWtNc1JVRkRTSGxMTEVWQlFXVnlUU3hGUVVGSkxFZEJRVWwzU2l4RlFVRkxja29zVDBGQlVXbE5MRWRCUTNCRGJrNHNSVUZCU1c5T0xFVkJRV0ZzVFN4UFFVZFdiRUlzUzBGRFJuVkxMRVZCUVZFMVNDeEZRVUZKZVVzc1JVRkJZM0JPTEUxQlF6bENkVXNzUlVGQlRUVklMRXRCUVZOcFF5eEZRVUZUYWtNc1IwRkJUVFJJTEVWQlFVMDFTQ3hUUVZsNlF5eFRRVUZUTWtrc1IwRkJZWGhMTEVkQlEzSkNMRTlCUVU5QkxGRkJRVzFFTEVsQlFXcERRU3hGUVVGUmIwc3NjMEpCUVhkRGNFc3NSVUZyY2tNeFJTeEpRVUZOWkN4TFFUbHhRMDVtTEVWQlFWVnhSeXhIUVVGUGNrY3NVVUZCVlN4SFFVOHpRbmRITEVWQlFWRklMRWRCUVU5SExFMUJRVkVzVTBGQlZYaEVMRWRCUTJoRExFbEJRVWx2VEN4RlFVRlpjRXdzUjBGQlVVRXNSVUZCUzNGTUxHRkJRelZDY2tnc1JVRkJWV2hGTEVsQlFWVkJMRVZCUVVzMlNTeGxRVUZwUWpkSkxFZEJRVTl6VEN4blFrRkxiRVFzVDBGQlVUVkZMRVZCUVUwd1F5eExRVUZOWjBNc1IwRkJZWEJJTEVkQlFWZEJMRVZCUVZGblJTeFZRVUZaTEZOQlVXcEZha1VzUlVGQlkxWXNSMEZCVDFVc1dVRkJZeXhUUVVGVmJFY3NSMEZETlVNc1NVRkJTVEJPTEVWQlFWbERMRVZCUTJZeFRpeEZRVUZOUkN4RlFVRlBRU3hGUVVGTFowd3NaVUZCYVVKb1RDeEZRVUZQZVVjc1JVRlBNME1zVDBGQlMzaEhMRWRCUVU5MFF5eEhRVUUyUWl4SlFVRnFRbk5ETEVWQlFVbFlMRlZCUVcxQ1Z5eEZRVUZKZDA0c2FVSkJUVzVFZEVnc1IwRkVRWGhKTEVWQlFWZHpReXhIUVVOUmQwNHNaMEpCUTI1Q2NrZ3NSMEZCYTBKVUxFVkJRVTlvU1N4SFFWRndRamhKTEVkQlFXZENPVWtzU1VGRGJFSm5VU3hGUVVGWmFGRXNSVUZCVTJsUkxHTkJRV2xDUkN4RlFVRlZSU3hOUVVGUlJpeEpRVWR5UkVFc1JVRkJWVWNzYVVKQlEyUklMRVZCUVZWSExHbENRVUZyUWl4VFFVRlZMMFFzU1VGQlpTeEhRVWN4UXpSRUxFVkJRVlZKTEdGQlEzSkNTaXhGUVVGVlNTeFpRVUZoTEZkQlFWbG9SU3hMUVZOeVF6VkxMRVZCUVZGelRTeE5RVUZSV1N4SFFVRlJMRk5CUVZWRExFZEJSV3BETEU5QlJFRnVSeXhGUVVGUmVrWXNXVUZCWVRSTUxFZEJRVXMxVEN4WlFVRmhMME1zUlVGQlV6QkRMR05CUVdVc1lVRkRla0lzU1VGQmVFSnBUU3hGUVVGSFZpeHRRa0ZEWmxVc1JVRkJSMVlzYVVKQlFXdENMSFZDUVVGM1FuaExMRk5CVTJoRWFrTXNSVUZCVVhWSkxGZEJRV0V5UlN4SFFVRlJMRk5CUVZWRExFZEJSWFJETEU5QlJFRkJMRVZCUVVjd1FpeFZRVUZaTEV0QlExQXhRaXhGUVVGSEwwd3NZVUZCWXl4bFFVOHhRbkJDTEVWQlFWRnBUU3h4UWtGQmRVSnBRaXhIUVVGUkxGTkJRVlZETEVkQlJXaEVMRTlCUkVGQkxFVkJRVWMxVEN4WlFVRmhMME1zUlVGQlUzTlJMR05CUVdVc1RVRkRhRU16UWl4RlFVRkhiRUlzY1VKQlFYTkNMRXRCUVUxb1N5eFRRVWw0UTJwRExFVkJRVkZyVFN4MVFrRkJlVUp5UXl4RlFVRlJkVU1zUzBGQlRUVk9MRVZCUVZNd1RpeDNRa0ZOZUVSc1RTeEZRVUZSSzA4c1VVRkJWVGRDTEVkQlFWRXNVMEZCVlVNc1IwRkZia01zVDBGRVFXNUhMRVZCUVZGNlJpeFpRVUZoTkV3c1IwRkJTMjVDTEVkQlFVdDBTQ3hIUVVOMlFteEhMRVZCUVZOM1VTeHZRa0ZCYzBKNFVTeEZRVUZUZDFFc2EwSkJRVzFDZEVzc1IwRkJWWHBETEZOQlNYcEZha01zUlVGQlVTdFBMRk5CUTFwNlNTeEZRVUZMTWtrc1QwRkJZU3hIUVVGSkxGTkJRVlZxUkN4SFFVTXZRaXhKUVVGSmEwUXNSVUZCVTJ4RUxFVkJRVWR1U0N4UlFVRlRiVVlzUjBGQlYwTXNTVUZEY0VNc1QwRkJUeXhUUVVGVmFrZ3NSMEZEYUVJc1QwRkJUMEVzUlVGQlN6VkNMR0ZCUVdNc1VVRkJWemhPTEVsQlIzWkROVWtzUlVGQlN6WkpMRXRCUVZjc1IwRkJTU3hUUVVGVmJrUXNSVUZCU1c1TExFZEJRMnBETEZGQlFYVkRMRWxCUVROQ1FTeEZRVUZSYTBzc1owSkJRV3RET1VVc1JVRkJhVUlzUTBGRGRFVXNTVUZCU1dwRkxFVkJRVTl1UWl4RlFVRlJhMHNzWlVGQlowSkRMRWRCUTI1RExFOUJRVTlvU2l4RlFVRlBMRU5CUVVWQkxFZEJRVk1zVDBGSk0wSnpSQ3hGUVVGTE1ra3NUMEZCWVN4SFFVRkxMRk5CUVZWcVJDeEhRVU5vUXl4SlFVRkphMFFzUlVGQlUyeEVMRVZCUVVkdVNDeFJRVUZUYlVZc1IwRkJWME1zU1VGRGNFTXNUMEZCVHl4VFFVRlZha2dzUjBGRGFFSXNTVUZCU1c1RExFOUJRWGRETEVsQlFURkNiVU1zUlVGQlMyOU5MR3RDUVVOMFFuQk5MRVZCUVV0dlRTeHBRa0ZCYTBJc1RVRkRlRUlzVDBGQlQzWlBMRWRCUVZGQkxFVkJRVXRwUml4UlFVRlZiMG9zU1VGTmFFTTFTU3hGUVVGTE5ra3NTMEZCVnl4SFFVRkpMRk5CUVZWdVJDeEZRVUZKYmtzc1IwRkRha01zVVVGQmRVTXNTVUZCTTBKQkxFVkJRVkZyU3l4blFrRkJhME01UlN4RlFVRnBRaXhEUVVOMFJTeEpRVUZKY0Vjc1JVRkJUVVVzUlVGQlJ6QkNMRVZCUTFwUExFVkJRVTl1UWl4RlFVRlJhMHNzWlVGQlowSkRMRWRCUldoRExFZEJRVXRvU2l4RlFVRlBMRU5CU1Znc1NVRkVRVzVETEVWQlFVOXRReXhGUVVGTGIwMHNhVUpCUVd0Q0xGRkJRMnBDZGs4c1JVRkJTMmxHTEZGQlFWVnJSeXhGUVVNelFpeE5RVUZQTEVOQlFVVm9TaXhIUVUxV0xFbEJSa0ZRTEVWQlFWRmFMRVZCUVZGdFRpeHJRa0ZCYlVKb1JDeEhRVU51UTJwTUxFVkJRVWtzUlVGRFRXbERMRVZCUVU5UUxFVkJRVTh4UWl4TlFVVjJRaXhKUVVSQlJpeEZRVUZQYlVNc1JVRkJTMjlOTEdsQ1FVRnJRaXhSUVVOcVFuWlBMRVZCUVV0cFJpeFJRVUZWYTBjc1JVRkRNMElzVFVGQlR5eERRVUZGYUVvc1IwRkxXaXhOUVVGUExFMUJUVlp6UkN4RlFVRkxOa2tzUzBGQldTeEpRVUZKYmxBc1JVRkJVV2xOTEhGQ1FVTTFRaXhUUVVGVmIwUXNSVUZCUzNoT0xFZEJRMlFzV1VGQk5rTXNTVUZCYWtOQkxFVkJRVkZ2U3l4eFFrRkRXbkJMTEVWQlFWRnZTeXh4UWtGQmMwSnZSQ3hIUVVjeFFuSlFMRVZCUVZGdFRTeEpRVU5hZEVzc1JVRkJVVFJMTEdsQ1FVRnJRalJETEZGQlJETkNMRWRCUzFJc1UwRkJWVUVzUlVGQlMzaE9MRWRCUTJRc1NVRkJTVzFDTEVWQlEwaHpUU3hGUVVGTkxFZEJRMDUyVHl4RlFVRkpMRVZCUjBwM1JTeEZRVUZWTVVRc1JVRkJVVzlMTEhGQ1FVRnpRbTlFTEVkQlIzcERMRWRCUVdFc1RVRkJVa0VzUlVGQll5eERRVU5zUWl4TFFVRlZjazBzUlVGQlQzVkRMRVZCUVZONFJTeE5RVU5HTEVsQlFXeENhVU1zUlVGQlN6ZERMRlZCUTFSdFVDeEZRVUZKT1ZBc1MwRkJUWGRFTEVkQlNWb3NUMEZCVDNOTkxFVkJSVklzVDBGQlR5OUtMRWRCU1ZSbExFVkJRVXMyU1N4TFFVRmpMRTFCUVVsdVVDeEZRVUZSYTAwc2QwSkJRVEJDTEZOQlFWVXlReXhGUVVGWGFFNHNSMEZETjBVc1VVRkJLME1zU1VGQmJrTkJMRVZCUVZGeFN5eDNRa0ZCTUVOcVJpeEZRVU0zUkN4UFFVRlBjRVlzUlVGQlVYRkxMSFZDUVVGM1FqSkRMRWxCVlhwRE1VZ3NSVUZCWjBJc1IwRlBhRUpFTEVWQlFWa3NTVUZGVEd4SUxFVkJRVkZ0VFN4SlFVRk5kRU1zUlVGQlVYVkRMRXRCUVUwMVRpeEZRVUZUYVU4c2NVSkJTVE5EVXl4SFFVRlJMRk5CUVZWRExFZEJSV3BDTEVsQlFVbHZReXhGUVU5S2Rra3NSVUZCVVhwR0xGbEJRV0UwVEN4SFFVRkxjVU1zVlVGQldTeFZRVUZaT1Vzc1JVRkJWU3h4UWtGRE1VTkJMRVZCUVZVc2EwVkJUM1pDZVVrc1JVRkJSMVlzYVVKQlFXdENMSGRDUVVGNVFuaExMRkZCUTJ4RWFVWXNSVUZCVlRGSUxFdEJRVTBzVTBGQlZ6WkpMRVZCUVdFc1owSkJTMjVET0VVc1JVRkJSMVlzYVVKQlFXdENMR05CUVdWNFN5eFJRVU42UTJsR0xFVkJRVlV4U0N4TFFVRk5MRTFCUVZFMlNTeEZRVUZoTEdGQlFXVkVMRVZCUVZjc1MwRkpNVVFyUlN4RlFVRkhWaXhwUWtGQmEwSXNVVUZCVlM5SUxFVkJRVlVzVFVGQlQzcERMRkZCUTNKRWFVWXNSVUZCVlRGSUxFdEJRVTBzVDBGUmFrSXJVQ3hGUVVGUkwxRXNSVUZCVXpCRExHTkJRV1VzVlVGRE1VSkhMR0ZCUVdNc1QwRkJVU3hKUVVNMVFqaE1MRVZCUVVjMVRDeFpRVUZoWjA4c1IwRkRWbkJETEVWQlFVZFdMR2xDUVVGclFpeGhRVUZqZUVzc1VVRkRlRU5wUml4RlFVRlZNVWdzUzBGQlRTeE5RVUZSTmtrc1JVRkJZU3hSUVVGVlFTeEZRVUZoTEV0QlF6TkVRU3hGUVVGaExHZENRVTFVT0VVc1JVRkJSMVlzYVVKQlFXdENMRmxCUVdGNFN5eFJRVU4yUTJsR0xFVkJRVlV4U0N4TFFVRk5MRmxCVFZneVRpeEZRVUZIVml4cFFrRkJhMElzUzBGQlR5OUlMRVZCUVZVc1RVRkJUM3BETEZGQlEyeEVhVVlzUlVGQlZURklMRXRCUVUwc1dVRkxha0l5VGl4RlFVRkhWaXhwUWtGQmEwSXNVVUZEY2tKMlJpeEZRVUZWTVVnc1MwRkJUU3hwUWtGSGFrSXdUaXhIUVVGUkxGTkJRVlZETEVkQlEycENRU3hGUVVGSGNVTXNWVUZCV1N4dlJrRkxaaXhKUVVGSlJDeEZRVUZSTDFFc1JVRkJVekJETEdOQlFXVXNVMEZEY0VOeFR5eEZRVUZOYkU4c1lVRkJZeXhQUVVGUkxGVkJRelZDT0V3c1JVRkJSelZNTEZsQlFXRm5UeXhIUVVGUmJFOHNZVUZCWXl4UFFVRlJMRXRCU1hwRE9Fd3NSVUZCUjFZc2FVSkJRV3RDTEZsQlFXRjRTeXhSUVVOMFEybEdMRVZCUVZVeFNDeExRVUZOTEU5QlFWTTJTU3hGUVVGaExHVkJTMWNzU1VGQk4wTTRSU3hGUVVGSFZpeHBRa0ZCYTBJc1dVRkJZWGhMTEZGQlEzUkRhVVlzUlVGQlZURklMRXRCUVUwc1YwRkJXU3hoUVVzM1FuZElMRVZCUVZGNlJpeFpRVUZoTkV3c1IwRkJTM0JETEZWQlFWY3NSVUZEWXl4SlFVRTVRMjlETEVWQlFVZFdMR2xDUVVGclFpeGhRVUZqZUVzc1VVRkRka05wUml4RlFVRlZNVWdzUzBGQlRTeFhRVUZaTEdGQlN6ZENNazRzUlVGQlIxWXNhVUpCUVd0Q0xGRkJRM0pDZGtZc1JVRkJWVEZJTEV0QlFVMHNXVUZKV0ZFc1JVRkJVWGxRTEdkQ1FVRnJRalZHTEVWQlFWRjFReXhMUVVGUmVrY3NSVUZCVlhGQ0xFVkJRVkZ5UWl4VFFVTnNSWEZDTEVWQlFWRXdTU3gxUWtGRFVqRkpMRVZCUVZFeVNTeHZRa0ZEVWpOSkxFVkJRVkUwU1N4clFrRkRValZKTEVWQlFWRTJTU3h4UWtGRlVqTkRMRWRCUVZFc1UwRkJWVU1zUjBGSmFrSnVUaXhGUVVGUk9GQXNhMEpCUVc5Q2Jrc3NSVUZCVVhSSExFdEJRVTA0VGl4RlFVRkpMRXRCU1RsRGVFZ3NSVUZCVVhSSExFdEJRVTA0VGl4RlFVRkpMR0ZCUTJ4Q2FFY3NSVUZCWXpOSUxFdEJRVTBzUzBGQlRXZEtMRXRCU1RWQ2RFSXNSVUZCV1VFc1JVRkJWV3BHTEZGQlFWVXNTVUZCU1hsSExFOUJRVkY0UWl4RlFVRlZjMFlzUzBGQlRTeE5RVU0xUkhKR0xFVkJRV2RDUVN4RlFVRmpiRVlzVVVGQlZTeEpRVUZKZVVjc1QwRkJVWFpDTEVWQlFXTnhSaXhMUVVGTkxFMUJTWGhGSzBJc1JVRkJZVEZGTEVWQlFWRjFReXhMUVVGTmNFWXNSVUZCVVN0SkxIbENRVXR1UXpOSkxFVkJRVmR0U0N4SFFVRmpNVVVzUlVGQlVYVkRMRXRCUVUxd1JpeEZRVUZSU1N4VlFVTTVReXhUUVVGVlZ5eEZRVUZIUXl4SFFVTmFMRWxCUVVsblNTeEZRVUYxUWl4SlFVRm1ha2tzUlVGQlJUVklMRk5CUVdsQ05FZ3NSVUZCUlhWSExHZENRVUZyUW5aSExFVkJRMnhFYTBrc1JVRkJUV3BKTEVkQlFVdEJMRVZCUVVWNFJ5eFhRVU5rTEU5QlFVOTFSeXhKUVVGTmEwa3NUVUZCVjBFc1IwRkJkMElzU1VGQmFrSkJMRVZCUVVrNVVDeFpRVU5zUXpaUUxFVkJRVTAxU1N4VFFVTk1ORWtzUlVGQlRUVkpMRk5CUVZVMlNTeEhRVU5vUW14SkxFVkJRVVZuU1N4NVFrRkJPRVFzUjBGQmJrTm9TU3hGUVVGRlowa3NkMEpCUVhsQ1JTeE5RVWN6UkN4VFFVRlZiRWtzUlVGQlIwTXNSMEZEV2l4SFFVRkxRU3hGUVVOS0xFdEJRVlZCTEVWQlFVbEJMRVZCUVVWNFJ5eFpRVU5tTEVkQlFVdDNSeXhKUVVGTlJDeEZRVU5XTEU5QlFVOHNSVUZKVml4UFFVRlBMRWRCVDFSRUxFVkJRVmw1Unl4RlFVTmFMRk5CUVZWNFJ5eEZRVUZIUXl4SFFVZGFMRWRCUVV0RUxFbEJRVTFETEVWQlJWWXNUMEZFUVd4Q0xFZEJRV1VzUlVGRFVpeEZRVWxTTEVsQlFVbHZTaXhIUVVGWGJra3NSVUZCUldkSkxIbENRVUV5UWk5SUxFVkJRVVVyU0N4M1FrRkRPVU1zVDBGQlMwY3NTVUZuUWxVc1IwRlFaa0VzUjBGQldXNUpMRVZCUVVVNFJDeGxRVUZwUWpsRUxFdEJRVk5ETEVWQlFVVTJSQ3hsUVVGcFFqZEVMRWRCUXpGRVJDeEZRVUZGWjBrc2QwSkJRWGxDTDBnc1IwRkhNMElzUzBGSlIyaEpMRVZCUVZGdFVTeGpRVUZuUW01SkxFVkJRVVVyU0N4M1FrRkJlVUpvU1N4TFFVRlJiVWtzUlVGUGVrUnVTU3hIUVVGTGRrb3NSMEZCV1hWS0xFVkJRVVU0UkN4bFFVRnBRblpGTEVkQlEzaERSaXhGUVVGVlJTeEZRVUZqVXl4SlFVTm9RaXhGUVU5S1F5eEhRVUZMZUVvc1IwRkJXWGRLTEVWQlFVVTJSQ3hsUVVGcFFuWkZMRWRCUTNoRFJpeEZRVUZWUlN4RlFVRmpWU3hIUVVOcVFpeEZRVWxFYmtJc1JVRkRTbkJJTEVWQlFWTnZTQ3hGUVVGWGEwSXNSMEZCVFhSSkxFVkJRVk52U0N4RlFVRlhiVUlzUjBGRGFFUXNSVUZIWlN4RlFVRldhMGtzUjBGQlpTeEZRVUZKTEVsQlJUTkNMRk5CUVZWdVNTeEZRVUZIUXl4SFFVZGFMRWRCUVV0RUxFbEJRVTFETEVWQlJWWXNUMEZFUVd4Q0xFZEJRV1VzUlVGRFVpeEZRVWRTTEVsQlFVa3lSeXhGUVVOSU1VMHNSVUZCU1N4RlFVTktjVkFzUlVGQlRYSkpMRVZCUVVWMlJ5eFhRVU5TZVU4c1JVRkJUV3BKTEVWQlFVVjRSeXhYUVVOU05rOHNSVUZCU3l4RFFVRkZkRWtzUjBGRFVIVkpMRVZCUVVzc1EwRkJSWFJKTEVkQlIxSXNTVUZCVFc5SkxFbEJRVkZJTEVWQlRXSXNUMEZCVDJ4SkxFZEJRVXQyU2l4SFFVRlpMRVZCUTNaQ2Qwb3NSMEZCUzNoS0xFVkJRVmNzUlVGRmFFSTBVaXhIUVVGUExFVkJRMUJJTEVWQlFVMHNSVUZEVG5CS0xFVkJRMFZ3U0N4RlFVRlRiMGdzUlVGQlYydENMRWRCUVUxMFNTeEZRVUZUYjBnc1JVRkJWMjFDTEVkQlEyaEVMRVZCUjBzc1IwRkJTMjlKTEVsQlFWRklMRVZCUTI1Q0xFOUJRVTk2UXl4SFFVRmpla1lzUlVGQlIwTXNSMEZMZWtJc1NVRkVRWGxHTEVWQlFVMHhSaXhGUVVOSk1FWXNSVUZCVFVFc1JVRkJTV3BOTEZsQlEyNUNOazhzUlVGQlIwVXNVVUZCVXpsRExFZEJSMklzU1VGRVFVRXNSVUZCVFhwR0xFVkJRMGw1Uml4RlFVRk5RU3hGUVVGSmFrMHNXVUZEYmtJNFR5eEZRVUZIUXl4UlFVRlRPVU1zUjBGSllpeExRVUZSTkVNc1JVRkJTWFJRTEV0QlFWRjFVQ3hGUVVGSmRsQXNTVUZEZGtKQkxFbEJSMFFzVDBGQlQwRXNSVUZIVG5sTkxFZEJRV00yUXl4RlFVRkpkRkFzUjBGQlMzVlFMRVZCUVVsMlVDeEpRVTh6UW5OUUxFVkJRVWwwVUN4SlFVRlBkVWNzUjBGQlowSXNSVUZETTBKblNpeEZRVUZKZGxBc1NVRkJUM1ZITEVWQlFXVXNSVUZGTVVJc1IwRkhTemxKTEVkQkwyTkRRU3hIUVd0a1ZEWklMRWRCUVU5V0xGRkJRVlVzVTBGQlZUWkxMRVZCUVUxRExFZEJRMmhETEU5QlFVOXdTeXhIUVVGUmJVc3NSVUZCVFN4TFFVRk5MRXRCUVUxRExFbEJSMnhEY0Vzc1IwRkJUMjlLTEdkQ1FVRnJRaXhUUVVGVmVrMHNSVUZCVFhkT0xFZEJSM2hETEVkQlJrRjZTaXhGUVVGaEwwUXNSMEZGVW1oRUxFVkJRVkY1VUN4cFFrRkJiVUo0U1N4SlFVTTVRbGtzUlVGQmQwSXlTU3hGUVVGUExGRkJRemRDY2tvc1NVRkJhMEpCTEVWQlFXTnBSaXhMUVVGTmIwVXNUMEZEZEVOMFNpeEpRVUZyUWtFc1JVRkJWV3RHTEV0QlFVMXZSU3hKUVVWeVF5eEpRVU5ETEVsQlFVazVUaXhGUVVGTmFVUXNSVUZCVVhSSExFdEJRVTB5UkN4RlFVRk5kMDRzUjBGSE9VSXNSMEZCU3psT0xFZEJRVTh4UXl4RlFVRlJPRkFzYlVKQlNXNUNPVTBzUlVGQlMzaEZMRlZCUVhWRExFdEJRVE5DZDBVc1JVRkJTM2hGTEZOQlFWTXlRaXhUUVVNdlFpeFBRVUZQZFVNc1JVRkZVQ3hOUVVGUk1Fa3NSMEZEVkhaRUxFVkJRWGRDTWtrc1IwRkJUU3hIUVVsb1F5eFBRVUZQYmtzc1IwRkJVVzFMTEVWQlFVMW9VeXhGUVVGVkxFdEJRVTBzUTBGQlJYZEZMRWxCUVZObUxFOUJRVk1zUjBGSE1VUnZSU3hIUVVGUFpTeFRRVUZYTEZOQlFWVjJSaXhGUVVGVGJVSXNSMEZWY0VNc1QwRklUMjVDTEVWQlFWRm5TeXhsUVVGcFFtaExMRWxCUVdGeVJDeEhRVU0xUTNWSkxFVkJRV0ZzUml4SFFVVlFkVVlzUlVGQlZYWkdMRVZCUVZOdFFpeEpRVWN6UW5GRUxFZEJRVTl4U3l4TFFVRlBMRk5CUVZVeFRpeEZRVUZOWjBJc1NVRlBkRUpvUWl4RlFVRkxOa2tzWlVGQmFVSTNTU3hKUVVGVmVFVXNSMEZEZEVOMVNTeEZRVUZoTDBRc1IwRkhaQ3hKUVVGSmJFSXNSVUZCUzNkRkxFVkJRVXRwU0N4WFFVRlpka29zUlVGQlMyOURMR1ZCUnpsQ2NFWXNSVUZCVFdNc1IwRkJUV3hETEVWQlFVOVFMRXRCUVUxcFNDeEZRVUZMYVVnc1YwRkJXWFpLTEVWQlFVdHZReXhsUVVNNVEzUkZMRVZCUVVsclFpeEZRVUZOWjBJc1IwRkJUMmxFTEZGQlEycENlRU1zUlVGRlJpeFpRVUZsUVN4SlFVRlNla1FzUlVGRFRrRXNSVUZEUVdoQ0xFVkJRVkYxU1N4aFFVRmxkRUlzUlVGRGRFSnFSU3hGUVVGTE5VSXNZVUZCWXpSRExFbEJRMnBDYUVRc1JVRkJUV2RETEVWQlFVdHZUU3hwUWtGQmEwSndUQ3hMUVVGWmFFUXNSVUZCU1RKUUxGVkJRemxETTFBc1JVRkJTVGhGTEUxQlEwb3NUVUZIU2s4c1IwRkJUelpFTEU5QlFWTXNVMEZCVlRCSExFZEJRM3BDTEU5QlFWTkJMRVZCUVUwc1NVRkJTeTlNTEZGQlFWTXdSaXhIUVVGWlF5eExRVWN4UTI1RkxFZEJRVTkwUWl4TlFVRlJMRk5CUVZWRExFZEJRM2hDTEUxQlFVMHNTVUZCU1hSSExFMUJRVThzTUVOQlFUUkRjMGNzU1VGUE9VUnhRaXhIUVVGUGQwc3NWMEZCWVN4VFFVRlZkRXdzUjBGRE4wSXNTVUZCU1haRExFVkJRMGc0VGl4RlFVRmhMRWRCUTJKd1RpeEZRVUZKTEVWQlEwb3pReXhGUVVGSkxFVkJUMHdzUjBGS1FTdEdMRWRCUVdkQ09VY3NSVUZCVVN0UkxHbENRVU40UW14TExFZEJRV0UzUnl4RlFVRlJaMUlzV1VGQlkzcE1MRVZCUVZGeVJ5eE5RVUZQTEVkQlEyeEVjVWNzUlVGQlVUTkNMRXRCUVUxclJTeEhRVVZVYUVJc1JVRkJaU3hEUVVOdVFpeExRVUZWT1VRc1JVRkJUM1ZETEVWQlFWTjRSU3hOUVVOd1FtbERMRWxCUVZOMVF5eEZRVUZUZUVVc1MwRkRkRUl5UXl4RlFVRkpiMDRzUlVGQlYzUlNMRXRCUVUxMVFpeEpRVWQyUWl4TFFVRlJNa01zUzBGRFVEWkNMRVZCUVZFeFFpeFBRVUZSYVU0c1JVRkJXWEJPTEVkQlFVc3NSMEZSYmtNc1QwRkdRVzFFTEVWQlFWa3NTMEZGVEhSQ0xFZEJUMUpuUWl4RlFVRlZSaXhIUVVGUFJTeFJRVUZWTEZOQlFWVjJSQ3hIUVVOd1F5eEpRVUZKYmtNc1JVRkRTRFpDTEVWQlFVMHNSMEZEVGpOQ0xFVkJRVWtzUlVGRFNsb3NSVUZCVnpaRExFVkJRVXMzUXl4VFFVVnFRaXhIUVVGTlFTeEhRVkZETEVkQlFXdENMRWxCUVdKQkxFZEJRU3RDTEVsQlFXSkJMRWRCUVN0Q0xFdEJRV0pCTEVWQlFXdENMRU5CU1dwRkxFZEJRV2xETEdsQ1FVRnlRalpETEVWQlFVdHBUeXhaUVVOb1FpeFBRVUZQYWs4c1JVRkJTMmxQTEZsQlNWb3NTVUZCVFdwUExFVkJRVTlCTEVWQlFVdHJUeXhYUVVGWmJFOHNSVUZCVFVFc1JVRkJUMEVzUlVGQlN6UkxMRmxCUXk5RGJFd3NSMEZCVHpaRUxFVkJRVk4yUkN4UlFVZGFMRWRCUVd0Q0xFbEJRV0kzUXl4SFFVRXJRaXhKUVVGaVFTeEZRVU0zUWl4UFFVRlBOa01zUlVGQlMyMVBMR1ZCYmtKYUxFdEJRVlYwVVN4RlFVRlBiVU1zUlVGQlRXcERMRTFCUjNSQ01rSXNSMEZCVHpaRUxFVkJRVk14Uml4SFFYRkNiRUlzVDBGQlR6WkNMRWxCUjFJMFJDeEZRVUZQUkN4SFFVRlBLMHNzVlVGQldTeERRVWQ2UW5KRkxGbEJRV0VzUjBGRlluTkZMR0ZCUVdOd1JTeEhRVVZrZUVJc1RVRkJUM2hETEVWQlJWQnpSU3hYUVVGWkxFZEJSVm8wUWl4TFFVRk5MRWRCUlU1dFF5eFRRVUZWTEVOQlExUkRMRWxCUVVzc1EwRkJSWFJITEVsQlFVc3NZVUZCWXk5SUxFOUJRVThzUjBGRGFrTnpUeXhKUVVGTExFTkJRVVYyUnl4SlFVRkxMR05CUTFwM1J5eEpRVUZMTEVOQlFVVjRSeXhKUVVGTExHdENRVUZ0UWk5SUxFOUJRVThzUjBGRGRFTjNUeXhKUVVGTExFTkJRVVY2Unl4SlFVRkxMRzlDUVVkaU1FY3NWVUZCVnl4RFFVTldkRWtzUzBGQlVTeFRRVUZWYjBNc1IwRlhha0lzVDBGV1FVRXNSVUZCVHl4SFFVRk5RU3hGUVVGUExFZEJRVWsxUnl4UlFVRlRiVVlzUjBGQlYwTXNTVUZITlVOM1FpeEZRVUZQTEVsQlFWRkJMRVZCUVU4c1NVRkJUMEVzUlVGQlR5eEpRVU51UTBFc1JVRkJUeXhKUVVGUExFbEJRVXMxUnl4UlFVRlRiVVlzUjBGQlYwTXNTVUZGY0VJc1QwRkJabmRDTEVWQlFVOHNTMEZEV0VFc1JVRkJUeXhIUVVGTkxFbEJRVTFCTEVWQlFVOHNSMEZCVFN4TFFVY3hRa0VzUlVGQlRYWk5MRTFCUVU4c1JVRkJSeXhKUVVkNFFuRkxMRTFCUVZNc1UwRkJWV3RETEVkQmFVTnNRaXhQUVhKQ1FVRXNSVUZCVHl4SFFVRk5RU3hGUVVGUExFZEJRVWx5Uml4alFVVlZMRkZCUVRkQ2NVWXNSVUZCVHl4SFFVRkpkazBzVFVGQlR5eEZRVUZITEVsQlIyNUNkVTBzUlVGQlR5eEpRVU5hY0VZc1IwRkJUM1JDTEUxQlFVOHdSeXhGUVVGUExFbEJTM1JDUVN4RlFVRlBMRXRCUVZOQkxFVkJRVThzUjBGRGRFSkJMRVZCUVU4c1NVRkJVVUVzUlVGQlR5eEpRVUZQTEVkQlF6ZENMRWRCUVhGQ0xGTkJRV1pCTEVWQlFVOHNTVUZCYVVNc1VVRkJaa0VzUlVGQlR5eExRVU4yUTBFc1JVRkJUeXhMUVVGWFFTeEZRVUZQTEVkQlFVMUJMRVZCUVU4c1NVRkJkMElzVVVGQlprRXNSVUZCVHl4TFFVY3pRMEVzUlVGQlR5eEpRVU5zUW5CR0xFZEJRVTkwUWl4TlFVRlBNRWNzUlVGQlR5eEpRVWRtUVN4SFFVZFNia01zVDBGQlZTeFRRVUZWYlVNc1IwRkRia0lzU1VGQlNXMUhMRVZCUTBoRExFZEJRVmx3Unl4RlFVRlBMRWxCUVU5QkxFVkJRVThzUjBGRmJFTXNUMEZCUzNoRExFVkJRVzFDTEUxQlFVVnRSQ3hMUVVGTldDeEZRVUZQTEVsQlF5OUNMRTFCU1VoQkxFVkJRVThzUjBGRFdFRXNSVUZCVHl4SFFVRk5RU3hGUVVGUExFbEJRVTlCTEVWQlFVOHNTVUZCVHl4SFFVYzVRbTlITEVkQlFWazVTU3hGUVVGUmNVUXNTMEZCVFhsR0xFdEJSMjVEUkN4RlFVRlRia3dzUlVGQlZXOU1MRWRCUVZVc1RVRkhOMEpFTEVWQlFWTkRMRVZCUVZOd1V5eFJRVUZUTEVsQlFVdHZVeXhGUVVGVE5WQXNUMEZCVXpKUUxFZEJRVmRETEVWQlFWTTFVQ3hWUVVkNFJYZEtMRVZCUVU4c1IwRkJUVUVzUlVGQlR5eEhRVUZKZGswc1RVRkJUeXhGUVVGSE1GTXNSMEZEYkVOdVJ5eEZRVUZQTEVkQlFVMXZSeXhGUVVGVE0xTXNUVUZCVHl4RlFVRkhNRk1zU1VGSk1VSnVSeXhGUVVGTmRrMHNUVUZCVHl4RlFVRkhMRTFCU1hwQ0sxQXNUMEZCVVN4RFFVVlFOMFlzU1VGQlR5eFRRVUZWTUVrc1IwRkRhRUlzU1VGQlNUbEhMRVZCUVZjNFJ5eEZRVUZwUW1wT0xGRkJRVk50Uml4SFFVRlhReXhKUVVGWk4wUXNZMEZEYUVVc1RVRkJORUlzVFVGQmNrSXdUQ3hGUVVOT0xGZEJRME1zVDBGQlR5eEhRVVZTTEZOQlFWVTVUeXhIUVVOVUxFOUJRVTlCTEVWQlFVdG5TU3hWUVVGWmFFa3NSVUZCUzJkSkxGTkJRVk0xUlN4blFrRkJhMEkwUlN4SlFVa3pSRGRDTEUxQlFWTXNVMEZCVlRCR0xFZEJRMnhDTEVsQlFVbHJSQ3hGUVVGVmRFc3NSVUZCV1c5SUxFVkJRVmtzUzBGRmRFTXNUMEZCVDJ0RUxFbEJRMHBCTEVWQlFWVXNTVUZCU1hKS0xFOUJRVkVzVFVGQlVVd3NSVUZETDBJc1NVRkJUWGRITEVWQlFWa3NTVUZCVFhoSExFVkJRV0VzVTBGQllWb3NSVUZEYWtSdlNDeEZRVUZYTEZOQlFWVTNUQ3hIUVVOd1FpeFBRVUZQSzA4c1JVRkJVVE5HTEV0QlExa3NhVUpCUVc1Q2NFb3NSVUZCU3paTUxGZEJRVEJDTjB3c1JVRkJTelpNTEdkQ1FVTmtMRWxCUVhSQ04wd3NSVUZCU3pWQ0xHTkJRMWcwUWl4RlFVRkxOVUlzWVVGQll5eFZRVU53UWl4UFFVdE9hVWtzUzBGQlVTeFRRVUZWY2tZc1JVRkJUV2RQTEVWQlFWVkRMRWRCUTJwRExFOUJRVThzVTBGQlZXcFFMRWRCUTJoQ0xFbEJRVWxyVUN4RlFVRlROMHdzUjBGQlQzRkxMRXRCUVUweFRpeEZRVUZOWjBJc1IwRkZhRU1zVDBGQlpTeE5RVUZXYTA4c1JVRkRaMElzVDBGQllrWXNSMEZGUmtFc1NVRkpUa1VzUjBGQlZTeEhRVWxWTEUxQlFXSkdMRVZCUVcxQ1JTeEpRVUZYUkN4RlFVTjJRaXhQUVVGaVJDeEZRVUZ2UWtVc1NVRkJWMFFzUlVGRGJFSXNUMEZCWWtRc1JVRkJiMEpETEVkQlFYRkRMRWxCUVRWQ1F5eEZRVUZQZWxNc1VVRkJVM2RUTEVkQlEyaERMRTlCUVdKRUxFVkJRVzlDUXl4SFFVRlRReXhGUVVGUGVsTXNVVUZCVTNkVExFbEJRVmNzUlVGRE0wTXNUMEZCWWtRc1JVRkJiMEpETEVkQlFWTkRMRVZCUVU5b1ZDeFBRVUZSSzFNc1JVRkJUV2hSTEZWQlFXRm5VU3hGUVVOc1JDeFBRVUZpUkN4SFFVRnpRaXhKUVVGTlJTeEZRVUZQY2s0c1VVRkJVelJFTEVWQlFXRXNTMEZCVVN4TFFVRk5hRW9zVVVGQlUzZFRMRWxCUVZjc1JVRkRPVVVzVDBGQllrUXNTVUZCYjBKRkxFbEJRVmRFTEVkQlFWTkRMRVZCUVU5b1ZDeE5RVUZQTEVWQlFVY3JVeXhGUVVGTmFGRXNUMEZCVXl4TFFVRlJaMUVzUlVGQlVTeFJRVTh6UmpGSkxFMUJRVk1zVTBGQlZXaEtMRVZCUVUwMFVpeEZRVUZOUXl4RlFVRlhiRkFzUlVGQlQwVXNSMEZEYUVRc1NVRkJTV2xRTEVWQlFXZERMRkZCUVhaQ09WSXNSVUZCUzNKQ0xFMUJRVThzUlVGQlJ5eEhRVU16UW05VUxFVkJRU3RDTEZOQlFYSkNMMUlzUlVGQlMzSkNMRTlCUVZFc1IwRkRka0p4VkN4RlFVRnJRaXhaUVVGVVNpeEZRVVZXTEU5QlFXbENMRWxCUVZacVVDeEhRVUYzUWl4SlFVRlVSU3hGUVVkeVFpeFRRVUZWU2l4SFFVTlVMRkZCUVZOQkxFVkJRVXQ0UWl4WlFVZG1MRk5CUVZWM1FpeEZRVUZOZDFBc1JVRkJWVU1zUjBGRGVrSXNTVUZCU1RWR0xFVkJRVTgyUml4RlFVRmhReXhGUVVGWk9WSXNSVUZCVFN0U0xFVkJRVmRETEVWQlEzQkVOVWdzUlVGQlRXOUlMRWxCUVZkRExFVkJRVlVzWTBGQlowSXNhMEpCUXpORFVTeEZRVUZUT1ZBc1JVRkJTM2hDTEZkQlEyUjNReXhGUVVGUGRVOHNSMEZCVlhaUUxFVkJRVXRuU1N4VFFVRlROVVVzWTBGREwwSXlUU3hIUVVGWlRpeEpRVUZSUml4RlFVTndRamRGTEVkQlFVOHNSVUZGVWl4SFFVRkxiMFlzUlVGQlV5eERRVWRpTEVkQlFVdFVMRVZCUVZNc1EwRkRZaXhMUVVGUmNFZ3NSMEZCVFN4RFFVVmlMRWxCUkVGd1N5eEZRVUZQYlVNc1JVRkRSMjVETEVWQlFVOUJMRVZCUVUxdlN5eEpRVU4wUWl4SFFVRkxjMGdzUlVGRFNqRlNMRVZCUVV0dFN5eFRRVUZUTlVVc1owSkJRV3RDY0VNc1JVRkRaQ3hKUVVGc1FtNUVMRVZCUVV0V0xGTkJSVXdzVDBGQlR5eEZRVXRVTUZNc1JVRkJVVFZJTEVWQlFXVXNVMEZCVkRGTExFbEJRVzlDYzFNc1IwRkJVeXhqUVVVMVF5eFBRVUZQTEVWQlRWSXNSMEZJUVVFc1JVRkJVU3hEUVVGRlVDeEZRVUZWVVN4RlFVRlBOVUlzVjBGQllUUkNMRVZCUVU5RkxGZEJSekZEVml4SFFVRlhVeXhIUVd0Q1ppeEpRVWhCY2tZc1IwRkVRV3RHTEVkQlJFRXZSaXhIUVVoQk5rWXNSMEZLUVVNc1IwRkVRVGxTTEVWQlFVOXBVeXhIUVVOWmNFOHNTMEZCWlRkRUxFVkJRVTAyUkN4SFFVRlpMRXRCU1RGQ04wUXNSVUZCUzI5VExGbEJRelZDVGl4RlFVRlpPVklzUlVGQlMyOVRMRlZCUVdFc1MwRkZXakZUTEVsQlFWVXNTVUZEV2l4TFFVRlJaMGdzUjBGQlYzTkdMRVZCUVU4c1MwRkRla0pCTEVWQlFVOHNSMEZETTBKb1RTeEZRVUZQSzFJc1IwRkJZVVVzUlVGQlR6TklMRmRCUVZsNVNDeEhRVVUzUWk5U0xFbEJRVk1yVWl4SFFVRmhMMUlzUjBGQlVVRXNSVUZCVFc5TExFdEJSek5EZVVNc1JVRkJUMnRHTEVWQlFWa3NTVUZCVDBNc1JVRkJUVFZMTEU5QlIyeERMRWRCUVhWQ0xFbEJRV3hDY0Vnc1JVRkJTMVlzV1VGQmIwSjFUaXhIUVVGUk4wMHNTVUZCVTIxRExFVkJRVThzUTBGRGNrUXdVQ3hGUVVGaGJsTXNSMEZCVXl4RFFVRkZaMGdzUlVGQlUzRk1MRVZCUVZkc1JpeEhRVU0xUXl4WlFYbENSaXhIUVd4Q1MzRkdMRWxCWVVweVJpeEZRVVJCYTBZc1IwRkVRUzlHTEVkQlNFRTJSaXhIUVVwQlF5eEhRVVJCT1ZJc1JVRkJUMjFETEVkQlExa3dRaXhMUVVGbE4wUXNSVUZCVFRaRUxFZEJRVmtzUzBGSk1VSTNSQ3hGUVVGTGIxTXNXVUZETlVKT0xFVkJRVms1VWl4RlFVRkxiMU1zVlVGQllTeExRVVZhTVZNc1NVRkJWU3hKUVVOYUxFdEJRVkZuU0N4SFFVRlhjMFlzUlVGQlR5eExRVTFvUXl4SlFVRlVZU3hGUVVkS0xFMUJRVlUzVFN4SlFVRlRLMUlzUjBGQllTOVNMRWRCUVZGQkxFVkJRVTF2U3l4TFFVTXpRM2xETEVWQlFVOXJSaXhGUVVGWkxFbEJRVTlETEVWQlFVMDFTeXhWUVVVelFuTkxMRVZCUTA0eFVpeEZRVUZMYlVzc1UwRkJVelZGTEdkQ1FVRnJRbkJETEVWQlEyUXNTVUZCYkVKdVJDeEZRVUZMVml4alFVTklkVTRzU1VGSFIzRkdMRXRCVFVwTUxFZEJURUZETEVWQlFXRTVVaXhGUVVGTk5rUXNTMEZEYUVJM1JDeEZRVUZOTmtRc1IwRkJXU3hMUVVsTE4wUXNSVUZCUzI5VExGbEJRelZDVGl4RlFVRlpPVklzUlVGQlMyOVRMRlZCUVdFc1MwRkZjRUl4VXl4SFFVRlRMRU5CUVVWblNDeEZRVUZUYlVjc1NVRkhOMEkzVFN4SlFVRlRiVU1zVFVGVmJFSXNUMEZFUVRCTExFZEJRVkYwU3l4TFFVTlJSaXhIUVVGWGQwc3NSVUZCVDNoTExFZEJRVlVzUjBGQlMzZExMRVZCUVU5NFN5eEhRVUZUTEV0QlMzSkZiMGNzVDBGQlZTeFRRVUZWTkVvc1JVRkJVV2hHTEVkQlRUTkNMRWxCUVVscFJpeEZRVU5JY2xJc1JVRkJTM2RGTEVWQlFVdHJReXhSUVVGVE1Fc3NTVUZCV1RWTkxFVkJRVXM0VFN4WFFVRlpSaXhGUVVGUE9VMHNaMEpCUTNSRVF5eEhRVUZQZEVJc1RVRkJUeXgxUWtGQmVVSnRUeXhIUVV0NlF5eFBRVUZMY0ZJc1JVRkJTVFJETEVkQlEwUTFReXhGUVVGSmIwMHNSMEZKVUhCTkxFVkJRVWRITEU5QlFWTXNSMEZEYUVKclVpeEZRVUZQTEVOQlFVVkVMRVZCUVZGQkxFVkJRVkVzUjBGQlNXaEdMRWRCUTNSQ05VZ3NSVUZCU3poTkxGZEJRVmQyVkN4bFFVRm5RbkZVTEVWQlFVODVUU3hsUVVNM1F6WkhMRWRCUVdNc1UwRkJWVE5DTEVWQlFVMHpSaXhIUVVrM1FpeEpRVWhCTEVsQlFVa3dUaXhGUVVOSVF5eEZRVUZWZUZJc1JVRkJTWGRLTEVWQlFVMDBReXhIUVVOd1FtNU9MRVZCUVVsMVV5eEZRVUZSY2xJc1QwRkRUR3hDTEV0QlJWQjFTeXhGUVVSQkswZ3NSVUZCVFRWVUxFVkJRVk0yVEN4RlFVRk5aMGtzUlVGQlUzWlRMRTlCUTJJMFJTeEZRVUZUTUU0c1IwRkJVVU1zUlVGQlUzWlRMRTFCUnpkRExGTkJRVlZwUXl4SFFVTlVMRTlCUVU5c1FpeEZRVUZKYTBJc1JVRkJUU3hGUVVGSGJWRXNTMEZKYUVKeVVpeEpRVWxVTUVjc1VVRkJVeXhEUVVkU0swc3NTVUZCVDNSSExFZEJRV01zVTBGQlZYSk1MRWRCU3psQ0xFbEJRVWt5VGl4RlFVRlJMRWRCUTFob1N5eEZRVUZWTEVkQlExWnBUeXhGUVVGVk9VMHNSVUZCVXpsRkxFVkJRVk5wUkN4UlFVRlRPRVFzUlVGQlR5eFBRVVUzUXl4UFFVRlBOa3NzUlVGQlV6bFBMRWRCUTJaMVNTeEhRVUZqTEZOQlFWVXpRaXhGUVVGTk0wWXNSVUZCVXpaTkxFVkJRVlZETEVkQlRXaEVMRWxCVEVFc1NVRkJTWHBRTEVWQlEwaDVVU3hGUVVGWlJDeEZRVUZUYkVrc1JVRkJUU3hMUVVGTmJVZ3NSVUZCU3l4SlFVTjBRekZTTEVWQlFVbDFTeXhGUVVGTGNrb3NUMEZIUm14Q0xFMUJRMEZwUXl4RlFVRlBlVkVzUlVGQlZ6RlRMRTFCUTNoQ2RVc3NSVUZCVFhaTExFdEJRVk0wUlN4RlFVRlROVVVzUjBGQlRXbERMRTFCU1dwRExGTkJRVlZCTEVWQlFVMTNVQ3hGUVVGVlF5eEhRVTE2UWl4UFFVeEJiRVFzUlVGQlR5eEhRVUZOZGswc1JVRkRZbmRSTEVWQlFWTnFSU3hGUVVGUExFdEJRVTFyUkN4RlFVRkxiRTRzUjBGSE0wSm5TeXhGUVVGUExFZEJRVTBzVFVGRFRHaExMRVZCUVZFd1F5eFRRVWx1UW5sTUxFbEJRVTk2Unl4SFFVRmpMRk5CUVZWeVRDeEhRVU01UWl4UFFVRlBMRk5CUVZWdlFpeEhRVU5vUWl4UFFVRlBjVVFzUjBGQlVYcEZMRVZCUVZWdlFpeEhRVUZQWml4UFFVRlRMRXRCU1RORGJVWXNVMEZCV1RaR0xFZEJRV01zVTBGQlZUbE1MRWRCUlc1RExFOUJSRUZCTEVWQlFVOUJMRVZCUVVzd1JDeFJRVUZUYlVZc1IwRkJWME1zU1VGRGVrSXNVMEZCVldwSUxFZEJRMmhDTEU5QlFWTkJMRVZCUVV0cFR5eGhRVUZsTVVzc1JVRkJVM1pFTEVsQlFWTjJSQ3hSUVVGVE1FSXNTVUZCVlN4TFFWZHdSWGRUTEV0QlFWRXhSeXhIUVVGakxGTkJRVlV3Unl4SFFVOHZRaXhQUVVwTk0wc3NSVUZCV1c5RUxFdEJRVTExU0N4SFFVRlJMRXRCUXk5Q2RFNHNSMEZCVDNSQ0xFMUJRVThzY1VKQlFYVkNORThzUjBGRmRFTkJMRVZCUVU5QkxFVkJRVXM1VHl4UlFVRlRiVVlzUjBGQlYwTXNTVUZCV1RkRUxHTkJRM0pETEZOQlFWVndSQ3hIUVVOb1FpeEpRVUZKTkZFc1JVRkRTaXhIUVVORExFZEJRVTlCTEVWQlFWY3pUU3hGUVVOcVFtcEZMRVZCUVVzeVVTeExRVU5NTTFFc1JVRkJTelZDTEdGQlFXTXNZVUZCWjBJMFFpeEZRVUZMTlVJc1lVRkJZeXhSUVVkMFJDeFBRVVJCZDFNc1JVRkJWMEVzUlVGQlUzaE9MR2xDUVVOQmRVNHNSMEZCTWtNc1NVRkJia05ETEVWQlFWTnVWU3hSUVVGVGExVXNSVUZCVHl4WlFVVXpRek5STEVWQlFVOUJMRVZCUVV0NFFpeGhRVUZyUXl4SlFVRnNRbmRDTEVWQlFVczNReXhWUVVNM1F5eFBRVUZQTEV0QlMxUnBSU3hQUVVGVkxGTkJRVlZ3UWl4SFFVTnVRaXhKUVVGSk5sRXNSVUZCVDJ4V0xFVkJRVTl0Vml4VlFVRlpibFlzUlVGQlQyMVdMRk5CUVZORUxFdEJRemxETEU5QlFVOUJMRWRCUVZGQkxFVkJRVXN6VlN4TlFVRlBMRXRCUVZFNFJDeEZRVUZMWjBvc1NVRkhla01yU0N4TFFVRlJMRk5CUVZVdlVTeEhRVU5xUWl4UFFVRlBRU3hKUVVGVFowVXNSMEZIYWtKblRpeE5RVUZUTEZOQlFWVm9VaXhIUVVOc1FpeFBRVUZQUVN4SlFVRlRlRVVzUlVGQlUzbFdMR2xDUVVOeVFucFdMRVZCUVZNd1ZpeFZRVUZaTVZZc1JVRkJVekJXTEdkQ1FVTTNRbXhTTEVWQlFVdDZReXhOUVVGUmVVTXNSVUZCUzIxU0xFOUJRVk51VWl4RlFVRkxiMUlzVjBGSmRFTkRMRkZCUVZkMFJ5eEpRVUZ6UWl4SFFVTnFRMmhFTEZOQlFWbG5SQ3hKUVVGelFpeEhRVVZzUTNWSExGRkJRVmNzVTBGQlZYUlNMRWRCU1hCQ0xFbEJRVWxuU1N4RlFVRlhhRWtzUlVGQlMyZEpMRk5CUVZNMVJTeGpRVU0zUWl4TlFVRnpRaXhWUVVGaU5FVXNTMEZCTUVKb1NTeEZRVUZMYzFJc1UwRkRlRUlzVjBGQlluUktMRXRCUVRKQ2FFa3NSVUZCUzNWU0xGVkJSM0JEUVN4VFFVRlpMRk5CUVZWMlVpeEhRVk55UWl4UFFVeExRU3hGUVVGTGVFSXNXVUZGVkhkQ0xFVkJRVXQ0UWl4WFFVRlhaMVFzWlVGSFVTeEpRVUZzUW5oU0xFVkJRVXQxVWl4VlFVbGlSU3hOUVVGVExGTkJRVlY2VWl4SFFVMXNRaXhKUVVGTlFTeEZRVUZQUVN4RlFVRkxhMDhzVjBGQldXeFBMRVZCUVUxQkxFVkJRVTlCTEVWQlFVczBTeXhaUVVNdlF5eEhRVUZMTlVzc1JVRkJTemRETEZOQlFWY3NSVUZEY0VJc1QwRkJUeXhGUVVkVUxFOUJRVThzUjBGSFVqSlRMRTlCUVZVc1UwRkJWVGxRTEVkQlEyNUNMRTlCUVZGelJDeEZRVUZMYTBNc1VVRkJhVUlzVFVGQlIzaEdMRWxCU1d4RE1GSXNUMEZCVlN4VFFVRlZNVklzUjBGRGJrSXNUMEZCVHpSSExFVkJRVkYzUXl4TFFVRk5jRW9zUlVGQlMyZEpMRmRCUnpOQ2RVVXNUVUZCVXl4VFFVRlZkazBzUjBGRGJFSXNUMEZCVHpKSExFVkJRVkY1UXl4TFFVRk5jRW9zUlVGQlMyZEpMRmRCUnpOQ01rb3NUMEZCVlN4VFFVRlZNMUlzUjBGRGJrSXNTVUZCU1dkQ0xFVkJRVTlvUWl4RlFVRkxaMGtzVTBGQlV6VkZMR05CUTNwQ0xFMUJRV2RDTEZWQlFWUndReXhIUVVGclF5eFhRVUZrYUVJc1JVRkJTM3BETEUxQlFUaENMRmRCUVZSNVJDeEhRVWQwUkRkRExFdEJRVkVzVTBGQlZUWkNMRWRCUTJwQ0xFbEJRVWt3VGl4RlFVTktMRTFCUVhWRExGVkJRV2hETVU0c1JVRkJTMmRKTEZOQlFWTTFSU3hsUVVOT0xGTkJRV1J3UkN4RlFVRkxla01zVDBGSmRVTXNUMEZCZUVOdFVTeEZRVUZQTVU0c1JVRkJTelZDTEdGQlFXTXNWVUZEVGl4VFFVRjJRbk5RTEVWQlFVdDBTeXhuUWtGSlVteEVMRTFCUVZNclN5eEhRVUYzUWl4WFFVTm9ReXhOUVVGUExFTkJRVVVzUzBGSFZqZExMRXRCUVZFMlN5eEhRVUYzUWl4VFFVRlZNa2NzUlVGQlpUTlRMRWRCUTNoRUxFMUJRVThzUTBGQlJVRXNSVUZCVXl4TFFVZHVRbXRDTEVkQlFVMDRTeXhIUVVGM1FpeFRRVUZWTWtjc1JVRkJaVE5UTEVWQlFWRnBUU3hIUVVNNVJDeE5RVUZQTEVOQlFVVkJMRVZCUVZjc1JVRkJTVUVzUlVGQlYycE5MRVZCUVZOcFRTeExRVWMzUXpkTExFdEJRVkUwU3l4SFFVRjNRaXhUUVVGVlJTeEZRVUZqYkUwc1IwRkZka1FzU1VGRVFTeEpRVUZKYkVJc1JVRkJTU3hGUVVOQlFTeEZRVUZKYTBJc1JVRkJVV3hDTEVkQlFVc3NSVUZEZUVKdlRpeEZRVUZoTTA4c1MwRkJUWFZDTEVkQlJYQkNMRTlCUVU5dlRpeEpRVWRTTTBzc1NVRkJUM2xMTEVkQlFYZENMRk5CUVZWRkxFVkJRV05zVFN4SFFVVjBSQ3hKUVVSQkxFbEJRVWxzUWl4RlFVRkpMRVZCUTBGQkxFVkJRVWxyUWl4RlFVRlJiRUlzUjBGQlN5eEZRVU40UW05T0xFVkJRV0V6VHl4TFFVRk5kVUlzUjBGRmNFSXNUMEZCVDI5T0xFbEJSMUl3Unl4SFFVRk5OVWNzUjBGQmQwSXNVMEZCVlVVc1JVRkJZMnhOTEVWQlFWRnBUU3hIUVUwM1JDeEpRVXhCTEVsQlFVbHVUaXhGUVVGSmJVNHNSVUZCVnl4RlFVTnNRa0VzUlVGQlYycE5MRVZCUTFocFRTeEZRVUZYYWswc1JVRkRWa0VzUlVGRFFXbE5MRWxCUTFGdVRpeEhRVUZMTEVkQlEyUnZUaXhGUVVGaE0wOHNTMEZCVFhWQ0xFZEJSWEJDTEU5QlFVOXZUaXhKUVVkU01rY3NSMEZCVFRkSExFZEJRWGRDTEZOQlFWVkZMRVZCUVdOc1RTeEZRVUZSYVUwc1IwRkZOMFFzU1VGRVFTeEpRVUZKYms0c1JVRkJTVzFPTEVWQlFWY3NSVUZCU1VFc1JVRkJWMnBOTEVWQlFWTnBUU3hKUVVOcVEyNU9MRVZCUVVsclFpeEhRVU5pYTAwc1JVRkJZVE5QTEV0QlFVMTFRaXhIUVVWd1FpeFBRVUZQYjA0c1QwRkxURE5HTEZGQlFXVXNTVUZCU1d4RExFVkJRVXRyUXl4UlFVRmpMRWRCUjJoRExFTkJRVVYxVFN4UFFVRlBMRVZCUVUxRExGVkJRVlVzUlVGQlRVTXNUVUZCVFN4RlFVRk5ReXhWUVVGVkxFVkJRVTFETEU5QlFVOHNSMEZETlVVM1R5eEZRVUZMYTBNc1VVRkJVM3BJTEVkQlFVMDRUU3hIUVVGdFFqbE5MRWRCUlhoRExFbEJRVTFCTEVsQlFVc3NRMEZCUlhGVkxGRkJRVkVzUlVGQlRVTXNUMEZCVHl4SFFVTnFReTlQTEVWQlFVdHJReXhSUVVGVGVrZ3NSMEZCVFN0TkxFZEJRVzlDTDAwc1IwRkpla01zVTBGQlUzRlRMRTFCTUVWVUxGTkJRVk0zUnl4SFFVRlpLMGtzUjBGSmNFSXNTVUZJUVN4SlFVRkpkbFVzUlVGQlNTeEZRVU5RTUVNc1JVRkJUVFpTTEVWQlFVOXlWQ3hQUVVOaVRDeEZRVUZYTEVkQlEwcGlMRVZCUVVrd1F5eEZRVUZMTVVNc1NVRkRhRUpoTEVkQlFWa3dWQ3hGUVVGUmRsVXNSMEZCU1N0RkxFMUJSWHBDTEU5QlFVOXNSU3hGUVVkU0xGTkJRVk5yU2l4SFFVRmxNRWtzUlVGQlV5dENMRVZCUVZsRExFZEJRelZETEVsQlFVbDJTeXhGUVVGTmMwc3NSVUZCVjNSTExFbEJRM0JDZDBzc1JVRkJUMFlzUlVGQlYzSkxMRXRCUTJ4Q05FSXNSVUZCVFRKSkxFZEJRVkY0U3l4RlFVTmtlVXNzUlVGQmJVSkdMRWRCUVdkQ0xHVkJRVkl4U1N4RlFVTXpRalpKTEVWQlFWZHVUeXhKUVVWYUxFOUJRVThyVGl4RlFVRlhjbE1zVFVGSGFrSXNVMEZCVlVZc1JVRkJUVzVDTEVWQlFWTTBVU3hIUVVONFFpeExRVUZWZWxBc1JVRkJUMEVzUlVGQlRXbEpMRWxCUTNSQ0xFZEJRWFZDTEVsQlFXeENha2tzUlVGQlN6ZERMRlZCUVd0Q2RWWXNSVUZETTBJc1QwRkJUMnhETEVWQlFWTjRVU3hGUVVGTmJrSXNSVUZCVXpSUkxFZEJSMnBETEU5QlFVOHNSMEZKVWl4VFFVRlZlbEFzUlVGQlRXNUNMRVZCUVZNMFVTeEhRVU40UWl4SlFVRkpiVVFzUlVGQlZXeEVMRVZCUVdGRExFVkJRekZDYTBRc1JVRkJWeXhEUVVGRmRFOHNSVUZCVTI5UExFZEJSM1pDTEVkQlFVdHNSQ3hIUVVOS0xFdEJRVlY2VUN4RlFVRlBRU3hGUVVGTmFVa3NTVUZEZEVJc1NVRkJkVUlzU1VGQmJFSnFTU3hGUVVGTE4wTXNWVUZCYTBKMVZpeEpRVU4wUW14RExFVkJRVk40VVN4RlFVRk5ia0lzUlVGQlV6UlJMRWRCUXpWQ0xFOUJRVThzVDBGTFZpeExRVUZWZWxBc1JVRkJUMEVzUlVGQlRXbEpMRWxCUTNSQ0xFZEJRWFZDTEVsQlFXeENha2tzUlVGQlN6ZERMRlZCUVd0Q2RWWXNSVUZSTTBJc1IwRklRV2hFTEVkQlNrRkRMRVZCUVdFelVDeEZRVUZOTUVJc1MwRkJaVEZDTEVWQlFVMHdRaXhIUVVGWkxFdEJTVEZDTVVJc1JVRkJTMmxSTEZsQlF6VkNUaXhGUVVGWk0xQXNSVUZCUzJsUkxGVkJRV0VzU1VGRk5VSjNReXhIUVVGUlFTeEpRVUZUZWxNc1JVRkJTMmRKTEZOQlFWTTFSU3hqUVVOdVEzQkVMRVZCUVU5QkxFVkJRVTFwU1N4SlFVRlRha2tzVFVGRGFFSXNRMEZCUVN4SlFVRlBORk1zUlVGQlYyeEVMRVZCUVdFMVJpeExRVU55UXpoSkxFVkJRVlVzUzBGQlVYSlBMRWRCUVZkeFR5eEZRVUZWTEV0QlFWRkVMRVZCUnk5RExFOUJRVk5GTEVWQlFWVXNSMEZCVFVRc1JVRkJWU3hIUVU5dVF5eEhRVWhCYkVRc1JVRkJZVFZHTEVkQlFWRXJTU3hGUVVka1FTeEZRVUZWTEVkQlFVMXlReXhGUVVGVGVGRXNSVUZCVFc1Q0xFVkJRVk0wVVN4SFFVTTVReXhQUVVGUExFVkJUVm9zVDBGQlR5eEhRVWxXTEZOQlFWTnhSQ3hIUVVGblFrTXNSMEZEZUVJc1QwRkJUMEVzUlVGQlV6bFVMRTlCUVZNc1JVRkRlRUlzVTBGQlZXVXNSVUZCVFc1Q0xFVkJRVk0wVVN4SFFVVjRRaXhKUVVSQkxFbEJRVWt4VWl4RlFVRkpaMVlzUlVGQlV6bFVMRTlCUTFSc1FpeExRVU5RTEVsQlFVMW5WaXhGUVVGVmFGWXNSMEZCUzJsRExFVkJRVTF1UWl4RlFVRlRORkVzUjBGRGJrTXNUMEZCVHl4RlFVZFVMRTlCUVU4c1IwRkZVbk5FTEVWQlFWVXNSMEZaV2l4VFFVRlRReXhIUVVGVmRrTXNSVUZCVnpGUkxFVkJRVXRyVFN4RlFVRlJjRTRzUlVGQlV6UlJMRWRCVDI1RUxFbEJUa0VzU1VGQlNYcFFMRVZCUTBocFZDeEZRVUZsTEVkQlEyWnNWaXhGUVVGSkxFVkJRMG93UXl4RlFVRk5aMUVzUlVGQlZYaFNMRTlCUTJoQ2FWVXNSVUZCWjBJc1RVRkJVRzVVTEVWQlJVWm9ReXhGUVVGSk1FTXNSVUZCU3pGRExFdEJRMVJwUXl4RlFVRlBlVkVzUlVGQlZ6RlRMRTFCUTJ4Q2EwOHNTVUZCVlVFc1JVRkJVV3BOTEVWQlFVMXVRaXhGUVVGVE5GRXNTMEZEZEVOM1JDeEZRVUZoZWxjc1MwRkJUWGRFTEVkQlEyUnJWQ3hIUVVOS2JsUXNSVUZCU1haRUxFdEJRVTExUWl4TFFVMWtMRTlCUVU5clZpeEZRVWRTTEZOQlFWTkZMRWRCUVZsNFJTeEZRVUZYTDFBc1JVRkJWVFJTTEVWQlFWTTBReXhGUVVGWlF5eEZRVUZaUXl4SFFVOHhSU3hQUVU1TFJpeEpRVUZsUVN4RlFVRlpNVklzUzBGREwwSXdVaXhGUVVGaFJDeEhRVUZaUXl4SlFVVnlRa01zU1VGQlpVRXNSVUZCV1ROU0xFdEJReTlDTWxJc1JVRkJZVVlzUjBGQldVVXNSVUZCV1VNc1NVRkZMMEp5U2l4SFFVRmpMRk5CUVZVelFpeEZRVUZOTDBZc1JVRkJVekZFTEVWQlFWTTBVU3hIUVVOMFJDeEpRVUZKT0VRc1JVRkJUWGhXTEVWQlFVZHBReXhGUVVOYWQxUXNSVUZCVXl4SFFVTlVReXhGUVVGVkxFZEJRMVpETEVWQlFXTnVVaXhGUVVGUmRFUXNUMEZIZEVKUkxFVkJRVkUyU1N4SFFUVkRXQ3hUUVVFeVFqRktMRVZCUVZVclZTeEZRVUZWY0ZJc1IwRkhPVU1zU1VGR1FTeEpRVUZKZUVVc1JVRkJTU3hGUVVOUU1FTXNSVUZCVFd0VUxFVkJRVk14VlN4UFFVTlNiRUlzUlVGQlNUQkRMRVZCUVVzeFF5eEpRVU5vUW5OR0xFZEJRVkY2UlN4RlFVRlZLMVVzUlVGQlZUVldMRWRCUVV0M1JTeEhRVVZzUXl4UFFVRlBRU3hGUVhORFYzRlNMRU5CUTJab1ZpeEhRVUZaTEVsQlExcERMRVZCUVZFeFFpeFRRVUZYTEVOQlFVVXdRaXhIUVVGWlFTeEZRVU5xUXl4SlFVbEVaMVlzUjBGQldXeEdMRWxCUVdWeVJ5eEhRVUZUTVVvc1JVRkZia05oTEVWQlJFRjFWQ3hIUVVGVmRsUXNSVUZCVHl0VUxFVkJRVkUzUlN4RlFVRlhPVkFzUlVGQlV6UlJMRWRCUnpsRGNVVXNSVUZCWVhSRUxFVkJSMW8yUXl4SlFVRm5RaTlMTEVWQlFVOXhSeXhGUVVGWkswVXNSMEZCWlU0c1IwRkhha1FzUjBGSFFUZFJMRVZCUTBSelVpeEZRVkZHTEVkQlRFdHlSQ3hIUVVOS1FTeEZRVUZUY1VRc1JVRkJWME1zUlVGQldXcFdMRVZCUVZNMFVTeEhRVWx5UXpKRUxFVkJUVW9zU1VGTVFVY3NSVUZCVDFBc1IwRkJWV01zUlVGQldVd3NSMEZETjBKTUxFVkJRVmxITEVWQlFVMHNSMEZCU1RGVkxFVkJRVk0wVVN4SFFVY3ZRakZTTEVWQlFVbDNWaXhGUVVGTGRGVXNUMEZEUkd4Q0xFMUJRMEZwUXl4RlFVRlBkVlFzUlVGQlRYaFdMRTFCUTI1Q0sxWXNSVUZCV1V3c1JVRkJVekZXTEUxQlFWYzRWaXhGUVVGWFNpeEZRVUZUTVZZc1NVRkJVV2xETEVsQlN5OUVMRWRCUVV0elNTeEhRVU5LTEVkQlFVc3JTeXhIUVVGak1VVXNSVUZCV1N4RFFVTTVRaXhIUVVGTE1FVXNSVUZCWVN4RFFVdHFRaXhKUVVaQlJTeEZRVUZQTEVkQlExQjRWaXhGUVVGSksxWXNSVUZCVnpkVkxFOUJRMUJzUWl4TlFVTkJhVU1zUlVGQlR6aFVMRVZCUVZrdlZpeExRVWQ2UW5kV0xFVkJRVXN2Vnl4TFFVRlJjVmdzUlVGQlZ6bFdMRWRCUVUxcFF5eEhRVWRvUTNGVUxFVkJRVmtzUzBGQlVWTXNSVUZCWVN4SFFVRk5VQ3hGUVVGTk9VUXNSMEZMT1VNc1NVRkVRVEZTTEVWQlFVa3JWaXhGUVVGWE4xVXNUMEZEVUd4Q0xFMUJRMEZwUXl4RlFVRlBPRlFzUlVGQldTOVdMRTFCUTNaQ2QxWXNSVUZCVDBZc1JVRkJZVFZYTEVWQlFWTTJUQ3hGUVVGTmRFa3NSMEZCVTNkVUxFVkJRVkY2Vml4TFFVRlRMRWxCUlM5RWRVc3NSVUZCVFdsTUxFdEJRVmxvVWl4RlFVRlRaMUlzUjBGQlUzWlVMRlZCVDNaRE9GUXNSVUZCWVdRc1IwRkRXbU1zU1VGQlpYWlNMRVZCUTJSMVVpeEZRVUZYYWxRc1QwRkJVVFpUTEVWQlFXRkpMRVZCUVZjM1ZTeFJRVU16UXpaVkxFZEJSVWRVTEVWQlEwcEJMRVZCUVZrc1MwRkJUVGxSTEVWQlFWTjFVaXhGUVVGWmNrVXNSMEZGZGtOcVZDeEZRVUZMUkN4TlFVRlBaMGNzUlVGQlUzVlNMRXRCVFhwQ0xGTkJRVk5ETEVkQlFXMUNla0lzUjBGNVFqTkNMRWxCZUVKQkxFbEJRVWt3UWl4RlFVRmplRVFzUlVGQlV6bFFMRVZCUXpGQ1JDeEZRVUZOTmxJc1JVRkJUM0pVTEU5QlEySm5WaXhGUVVGclFqTlJMRVZCUVV0blRDeFRRVUZWWjBVc1JVRkJVU3hIUVVGSkwxVXNUVUZETjBNeVZ5eEZRVUZ0UWtRc1IwRkJiVUl6VVN4RlFVRkxaMHdzVTBGQlZTeExRVU55UkhaUkxFVkJRVWxyVnl4RlFVRnJRaXhGUVVGSkxFVkJSekZDUlN4RlFVRmxjazBzUjBGQlpTeFRRVUZWT1Vnc1IwRkRka01zVDBGQlQwRXNTVUZCVTJkVkxFZEJRMlJGTEVkQlFXdENMRWRCUTNKQ1JTeEZRVUZyUW5STkxFZEJRV1VzVTBGQlZUbElMRWRCUXpGRExFOUJRVTkyUkN4RlFVRlRkVmdzUlVGQlkyaFZMRWxCUVZVc1IwRkRkRU5yVlN4SFFVRnJRaXhIUVVOeVFtNUNMRVZCUVZjc1EwRkJSU3hUUVVGVkwxTXNSVUZCVFc1Q0xFVkJRVk0wVVN4SFFVTnlReXhKUVVGSkwxQXNSMEZCVTNWVkxFbEJRWEZDZUVVc1IwRkJUelZSTEVsQlFWa3JSU3hOUVVOc1JHOVJMRVZCUVdWdVZpeEhRVUZWTVVJc1UwRkRNVUpuV0N4RlFVRmpibFVzUlVGQlRXNUNMRVZCUVZNMFVTeEhRVU0zUWpKRkxFVkJRV2xDY0ZVc1JVRkJUVzVDTEVWQlFWTTBVU3hKUVVsc1F5eFBRVVJCZFVVc1JVRkJaU3hMUVVOU2RGVXNTVUZIUkROQ0xFVkJRVWt3UXl4RlFVRkxNVU1zU1VGRGFFSXNSMEZCVDNsVExFVkJRVlZzVGl4RlFVRkxaMHdzVTBGQlZXZEZMRVZCUVZGMlZTeEhRVUZKVWl4TlFVTXpRM2RXTEVWQlFWY3NRMEZCUldwTUxFZEJRV1ZuVEN4SFFVRm5Ra01zUjBGQldYWkRMRkZCUTJ4RUxFTkJTVTRzU1VGSVFVRXNSVUZCVld4T0xFVkJRVXN5U1N4UFFVRlJjVWNzUlVGQlVYWlZMRWRCUVVsU0xFMUJRVTlvUWl4TlFVRlBMRXRCUVUwclZpeEZRVUZSZGxVc1IwRkJTVFJGTEZWQlIzSkVha0lzUjBGQldTeERRVWw2UWl4SlFVUkJhRUlzU1VGQlRUTkRMRVZCUTBVeVF5eEZRVUZKUkN4SlFVTk9Oa01zUlVGQlMyZE1MRk5CUVZWblJTeEZRVUZSTlZJc1IwRkJTVzVFTEUxQlJHaENiVVFzUzBGTGFrSXNUMEZCVDNsVExFZEJRMDV3Vml4RlFVRkpMRWRCUVVzclZTeEhRVUZuUWtNc1IwRkRla0pvVml4RlFVRkpMRWRCUVV0M1RDeEhRVWRVSzBrc1JVRkRSWEJYTEUxQlFVOHNSVUZCUnpaQ0xFVkJRVWtzUjBGRFpIcENMRTlCUVZFc1EwRkJSWGRITEUxQlFXZERMRTFCUVhwQ2QxQXNSVUZCVVhaVkxFVkJRVWtzUjBGQlNWSXNTMEZCWlN4SlFVRk5MRTFCUTNSRWMwVXNVVUZCVXpoRUxFVkJRVThzVFVGRGJFSTJTeXhGUVVOQmVsTXNSVUZCU1RKRExFZEJRVXR4VkN4SFFVRnRRbnBDTEVWQlFVOXdWeXhOUVVGUE5rSXNSVUZCUnpKRExFbEJRemREUVN4RlFVRkpSQ3hIUVVGUGMxUXNSMEZCY1VKNlFpeEZRVUZUUVN4RlFVRlBjRmNzVFVGQlQzZEZMRWxCUTNaRVFTeEZRVUZKUkN4SFFVRlBPRWtzUjBGQldTdEpMRWxCUjNwQ1V5eEZRVUZUZGxjc1MwRkJUV2RWTEVkQlNXcENMRTlCUVU5elF5eEhRVUZuUWtNc1IwRnZWSGhDTEU5QmRIQkNRVE5ETEVkQlFWZHNVaXhWUVVGWmIwVXNSVUZCU3l0UkxGRkJRVlV2VVN4RlFVRkxhME1zVVVGRE0wTnNReXhGUVVGTE9FMHNWMEZCWVN4SlFVRkpRU3hIUVVWMFFqTk5MRVZCUVZkS0xFZEJRVTlKTEZOQlFWY3NVMEZCVlRkRkxFVkJRVlV3Vml4SFFVTm9SQ3hKUVVGSmFFVXNSVUZCVXpkSUxFVkJRVTgyU2l4RlFVRlJMMVVzUlVGRE0wSm5XQ3hGUVVGUE4wd3NSVUZCVVRoTUxFVkJRMlpETEVWQlFWTTVVQ3hGUVVGWkwwWXNSVUZCVnl4TFFVVnFReXhIUVVGTE5sWXNSVUZEU2l4UFFVRlBTQ3hGUVVGWkxFVkJRVWxITEVWQlFVOTJXU3hOUVVGUExFZEJUM1JETEVsQlNrRnhXU3hGUVVGUk0xWXNSVUZEVWpoS0xFVkJRVk1zUjBGRFZEaE1MRVZCUVdGc1VpeEZRVUZMY1V3c1ZVRkZWalJHTEVkQlFWRXNRMEV5UW1Zc1NVRkJUV2hZTEV0QmVFSkJLMU1zUzBGQllUZElMRVZCUVZFM1F5eEZRVUZQYTBRc1MwRkJUWGxNTEUxQlEyeERPVXdzU1VGSFNqaE1MRVZCUVZGQkxFVkJRVTF5V1N4TlFVRlBkVTBzUlVGQlR5eEhRVUZKZUVvc1UwRkJXWE5XTEVkQlJUZEROMHdzUlVGQlQyeE5MRXRCUVZFNFZpeEZRVUZUTEV0QlIzcENhRU1zUjBGQlZTeEhRVWRJTjBnc1JVRkJVVFZETEVWQlFXRnBSQ3hMUVVGTmVVd3NUVUZEYWtOcVJTeEZRVUZWTjBnc1JVRkJUWFZDTEZGQlEyaENjMGtzUlVGQlR6bFdMRXRCUVUwc1EwRkRXbk5ITEUxQlFVOTNUaXhGUVVkUUwxTXNTMEZCVFd0TUxFVkJRVThzUjBGQlNUVkhMRkZCUVZNNFJDeEZRVUZQTEU5QlJXeERORThzUlVGQlVVRXNSVUZCVFhKWkxFMUJRVTl2VlN4RlFVRlJjbElzVTBGSmFFSnhSU3hGUVVGTE1ra3NVMEZEV0hoRUxFVkJRVkY0UXl4RlFVRlhNVWtzUjBGQlQzVk1MRXRCUVUxNVRDeExRVUZuUWtNc1JVRkJXV3BZTEUxQlEyaEZhMHdzUlVGQlVTdE1MRVZCUVZscVdDeEhRVUZSYTB3c1RVRkRPVUkyU0N4RlFVRlZOMGdzUlVGQlRYVkNMRkZCUTJoQ2Mwa3NSVUZCVHpsV0xFdEJRVTBzUTBGRFduTkhMRTFCUVU5M1RpeEZRVU5RTDFNc1MwRkJUVUVzUlVGRFRtOUdMRkZCUVZNNFJpeEpRVVZXT0V3c1JVRkJVVUVzUlVGQlRYSlpMRTFCUVU5dlZTeEZRVUZSY2xJc1UwRkpMMElzU1VGQlRYRlNMRVZCUTB3c1RVRlBSaXhQUVVGUFowVXNSVUZEVGtNc1JVRkJUWFJXTEU5QlEwNXpWaXhGUVVORGJGSXNSMEZCVDNSQ0xFMUJRVTl1UkN4SFFVZGtLMFlzUlVGQldTOUdMRVZCUVZVNFNpeEhRVUZUZUUwc1RVRkJUeXhKUVRSYWVrTjNTQ3hGUVVGVlRDeEhRVUZQU3l4UlFVRlZMRk5CUVZVNVJTeEZRVUZWTmtvc1IwRkRPVU1zU1VGQlNURkxMRVZCUTBneVZ5eEZRVUZqTEVkQlEyUkRMRVZCUVd0Q0xFZEJRMnhDUml4RlFVRlROMUFzUlVGQlpXaEhMRVZCUVZjc1MwRkZjRU1zU1VGQlRUWldMRVZCUVZNc1EwRlBaQ3hKUVVwTmFFMHNTVUZEVEVFc1JVRkJVV2hHTEVWQlFWVTNSU3hKUVVWdVFtSXNSVUZCU1RCTExFVkJRVTE0U2l4UFFVTkdiRUlzVFVGRFVEQlhMRVZCUVZOV0xFZEJRVzFDZEV3c1JVRkJUekZMTEV0QlEzUkNNa1FzUjBGRFdtZFVMRVZCUVZsc1dTeExRVUZOYVZrc1IwRkZiRUpGTEVWQlFXZENibGtzUzBGQlRXbFpMRWxCUzNoQ1FTeEZRVUZUTjFBc1JVRkRVbWhITEVWQmNrcElMRk5CUVcxREsxWXNSVUZCYVVKRUxFZEJRMjVFTEVsQlFVbEZMRVZCUVZGR0xFVkJRVmw2Vml4UFFVRlRMRVZCUTJoRE5GWXNSVUZCV1VZc1JVRkJaMEl4Vml4UFFVRlRMRVZCUTNKRE5sWXNSVUZCWlN4VFFVRlZlRTBzUlVGQlRYcEtMRVZCUVZNMFVTeEZRVUZMYkU0c1JVRkJVM2RUTEVkQlEzSkVMRWxCUVVrdlZTeEZRVUZOVlN4RlFVRkhPRkFzUlVGRFduZEZMRVZCUVdVc1JVRkRabXBZTEVWQlFVa3NTVUZEU2pCVExFVkJRVmx1U1N4SFFVRlJMRWRCUTNCQ01rMHNSVUZCWVN4SFFVTmlReXhGUVVGblFuUlNMRVZCUjJoQ2JrVXNSVUZCVVRaSkxFZEJRVkYxVFN4SFFVRmhkbElzUlVGQlN6WkpMRXRCUVZrc1NVRkJSeXhKUVVGTE5Fa3NSMEZIZEVSSkxFVkJRV3RDTlZFc1IwRkJORUlzVFVGQmFrSXlVU3hGUVVGM1FpeEZRVUZKZGxRc1MwRkJTME1zVlVGQldTeEhRVU14Ulc1Q0xFVkJRVTFvUWl4RlFVRk5VaXhQUVdOaUxFbEJXa3M0Vml4SlFVMUtibElzUlVGQmJVSXZSU3hIUVVGWGNrUXNSMEZCV1hGRUxFZEJRVmRyVnl4SFFVMDVRMmhZTEVsQlFVMHdReXhIUVVGblF5eFBRVUYyUWxRc1JVRkJUMUFzUlVGQlR6RkNMRWxCUVdWQkxFbEJRVTBzUTBGRGVrUXNSMEZCU3poWExFZEJRV0UzVlN4RlFVRlBMRU5CVjNoQ0xFbEJWa0ZWTEVWQlFVa3NSVUZOUlRkQ0xFZEJRVmR0UWl4RlFVRkxOa2tzWlVGQmFVSnlUaXhKUVVOMFEzVkpMRVZCUVdFdlJDeEhRVU5pZVZBc1IwRkJUM2hNTEVkQlJVVjFUU3hGUVVGVmJVVXNSVUZCYVVKcVZTeE5RVU53UXl4SFFVRkxPRkFzUlVGQlUzaFJMRVZCUVUxdVFpeEhRVUZYY2tRc1JVRkJWV2xWTEVkQlFWRXNRMEZEYUVSc1RpeEZRVUZSTDBZc1MwRkJUWGRFTEVkQlEyUXNUVUZIUnl0VkxFbEJRMHA0VVN4RlFVRlZORkVzUjBGTFVGQXNTMEZIUnpWVkxFZEJRVkYzVVN4SFFVRlhlRkVzU1VGRGVrSm5WaXhKUVVsSk1VMHNSMEZEU20xSkxFVkJRVlZxVlN4TFFVRk5kMFFzU1VGblFtNUNMRWRCVkVGblZpeEhRVUZuUW1wWUxFVkJVMWcyVnl4SFFVRlROMWNzU1VGQlRXbFlMRVZCUVdVc1EwRkZiRU1zU1VGRVFYUlZMRVZCUVVrc1JVRkRUVGhRTEVWQlFWVnJSU3hGUVVGaGFGVXNUVUZEYUVNNFVDeEZRVUZUUXl4RlFVRlhkMFVzUlVGQldYQlhMRVZCUVZNMFVTeEhRVWN4UXl4SFFVRkxia2dzUlVGQlR5eERRVWRZTEVkQlFVc3dUU3hGUVVGbExFVkJRMjVDTEV0QlFWRnFXQ3hMUVVORE1GTXNSVUZCVnpGVExFbEJRVTlyV0N4RlFVRlpiRmdzUzBGRGNrTnJXQ3hGUVVGWmJGZ3NSMEZCVFd0SUxFVkJRVWsxU1N4TFFVRk5hMGNzU1VGTkwwSXdVeXhGUVVGaGFrTXNSMEZCVldsRExFZEJTWGhDZWxrc1JVRkJTMFFzVFVGQlQyZEhMRVZCUVZNd1V5eEhRVWRvUWtZc1NVRkJZM3BOTEVkQlFWRXlUU3hGUVVGWGFGY3NUMEZCVXl4SFFVTTFReXRXTEVWQlFXVk9MRVZCUVZsNlZpeFBRVUZYTEVkQlJYaERiMFVzUjBGQlQzZExMRmRCUVZsMFRDeEhRVlZ5UWl4UFFVeExkMU1zU1VGRFNuaFJMRVZCUVZVMFVTeEZRVU5XZGxJc1JVRkJiVUp6VWl4SFFVZGlla1VzUjBGSFZDeFBRVUZQYlVVc1JVRkRUak5MTEVkQlFXTTJTeXhIUVVOa1FTeEZRVFJDUTAwc1EwRkJNRUpVTEVWQlFXbENSQ3hMUVVseVF6bFdMRk5CUVZkQkxFVkJSVzVDTEU5QlFVODJWaXhIUVZsU09WRXNSVUZCVTA0c1IwRkJUMDBzVDBGQlV5eFRRVUZWTDBVc1JVRkJWVU1zUlVGQlV6QkVMRVZCUVZNclJpeEhRVU01UkN4SlFVRkpka3NzUlVGQlIzVlZMRVZCUVZFclF5eEZRVUZQT1Znc1JVRkJUVFJQTEVWQlF6TkNiVW9zUlVGQkswSXNiVUpCUVdJeFZ5eEhRVUV5UWtFc1JVRkROME0yU2l4SFFVRlRTQ3hIUVVGUk4wVXNSVUZCV1RkRkxFVkJRVmN3Vnl4RlFVRlRNVmNzVlVGQldVRXNSMEZOT1VRc1IwRktRVEpFTEVWQlFWVkJMRWRCUVZjc1IwRkpReXhKUVVGcVFtdEhMRVZCUVUxNFNpeFBRVUZsTEVOQlNYcENMRWxCUkVGeFZDeEZRVUZUTjBvc1JVRkJUeXhIUVVGTlFTeEZRVUZQTEVkQlFVbDJUU3hOUVVGUExFbEJRelZDSzBNc1QwRkJVeXhIUVVGelF5eFJRVUV2UW05WExFVkJRVkV2UXl4RlFVRlJMRWxCUVUwdlZTeE5RVU0xUWl4SlFVRnlRbk5DTEVWQlFWRXhRaXhWUVVGclFqaEhMRWRCUVd0Q1dDeEZRVUZMWjB3c1UwRkJWV2RGTEVWQlFWRXNSMEZCU1M5VkxFMUJRVk1zUTBGSmFFWXNTMEZHUVhOQ0xFZEJRVmw1UlN4RlFVRkxOa2tzUzBGQlZ5eEhRVUZIYTBvc1JVRkJUVEZUTEZGQlFWTXNSMEZETlVOa0xGRkJRVk50Uml4SFFVRlhReXhKUVVGaGNFa3NTVUZCWVN4SlFVRk5MRWxCUlhKRUxFOUJRVTh3UkN4RlFVZEpLMU1zU1VGRFdIcFhMRVZCUVZWQkxFVkJRVkZNTEZsQlIyNUNTU3hGUVVGWFFTeEZRVUZUTVVNc1RVRkJUMjlYTEVWQlFVOTBTU3hSUVVGUmJFZ3NUVUZCVFRkRUxGRkJTMnBFTEVsQlJFRnNRaXhGUVVGSmEwa3NSVUZCTUVJc1lVRkJSVzFFTEV0QlFVMTRTeXhIUVVGaExFVkJRVWt3VkN4RlFVRlBjbFFzVDBGRGRFUnNRaXhOUVVOUWMxZ3NSVUZCVVM5RExFVkJRVkYyVlN4SlFVZFlkVVlzUlVGQlMyZE1MRk5CUVZrdlVTeEZRVUZQT0Znc1JVRkJUVGxZTEZGQlIyNURMRWxCUVU4MFR5eEZRVUZQTjBrc1JVRkJTelpKTEV0QlFVMDFUeXhOUVVkcVFpdExMRVZCUVU4MlJDeEZRVU5pYTBvc1JVRkJUVEZUTEZGQlFWTXNSMEZCU1dRc1VVRkJVMjFHTEVkQlFWZERMRWxCUTNaRFJpeEhRVUZUY1VNc1MwRkJUV3RLTEVWQlFWRXNSMEZCU1M5VkxFOUJRVlU0VEN4SFFVRmhlRXNzUlVGQlVVd3NZVUZEZWtSTExFbEJRMGtzUTBGTFRDeEhRVVpCZVZRc1JVRkJUM3BTTEU5QlFWRTVReXhGUVVGSExFdEJRMnhDWVN4RlFVRlhNRW9zUlVGQlMzSktMRkZCUVZWelN5eEhRVUZaSzBrc1NVRkhja01zVDBGRVFUbFdMRVZCUVV0RUxFMUJRVTluUnl4RlFVRlRLMFlzUjBGRFpDOUdMRVZCUjFJc1QwRmxTaXhQUVZCRksxTXNSMEZCV1RWU0xFVkJRVk01UlN4RlFVRlZOa29zU1VGRGFFTklMRVZCUTBGNlNpeEhRVU5EYjBZc1JVRkRSREZDTEVkQlEwTXhSQ3hIUVVGWGEwa3NSMEZCVTNGRExFdEJRVTE0U3l4SlFVRmplVXNzUjBGQllYaExMRVZCUVZGTUxHRkJRV2RDU3l4SFFVVjRSVEJFTEVkQlRWSjJSaXhGUVVGUloxSXNWMEZCWVhSTkxFVkJRVkYzUWl4TlFVRlBMRWxCUVV0MFF5eExRVUZOYTBVc1IwRkJXVEJGTEV0QlFVMHNUVUZCVXpsSUxFVkJTVEZGTVVVc1JVRkJVU3RSTEcxQ1FVRnhRbXBMTEVWQlJ6ZENReXhKUVVsQkwwY3NSVUZCVVcxUkxHRkJRV1ZxUkN4SFFVRlJMRk5CUVZWRExFZEJSM2hETEU5QlFUUkZMRVZCUVhKRlFTeEZRVUZITkVNc2QwSkJRWGxDZGxJc1JVRkJVekJETEdOQlFXVXNaVUZOZEVSblRTeEhRVUZSTEZOQlFWVkRMRWRCUlhaQ0xFOUJSRUZCTEVWQlFVZHhReXhWUVVGWkxHMUNRVU5wUXl4TlFVRjZRM0pETEVWQlFVY3JSQ3hYUVVGWE9WQXNZVUZCWXl4WFFVVnVRMmROTEVkQlFWY3NlVUpCUVRCQ0xGTkJRVlZ3U3l4RlFVRk5aMElzUlVGQlRYZERMRWRCUXpGRUxFbEJRVTFCTEVWQlEwd3NUMEZCVDNoRUxFVkJRVXMxUWl4aFFVRmpORU1zUlVGQk5rSXNVMEZCZGtKQkxFVkJRVXR2UXl4alFVRXlRaXhGUVVGSkxFdEJUMnBGY0Vjc1JVRkJVWFZKTEZsQlFXVXlSU3hIUVVGUkxGTkJRVlZETEVkQlJ6bERMRTlCUmtGQkxFVkJRVWR4UXl4VlFVRlpMRmRCUTJaeVF5eEZRVUZISzBRc1YwRkJWemRRTEdGQlFXTXNVVUZCVXl4SlFVTlpMRXRCUVRGRE9Fd3NSVUZCUnl0RUxGZEJRVmM1VUN4aFFVRmpMRmxCUlc1RFowMHNSMEZCVnl4UlFVRlRMRk5CUVZWd1N5eEZRVUZOZFZZc1JVRkJUeTlTTEVkQlF6RkRMRWxCUVUxQkxFZEJRWGxETEZWQlFXaERlRVFzUlVGQlMyZEpMRk5CUVZNMVJTeGpRVU0xUWl4UFFVRlBjRVFzUlVGQlMzZFdMR1ZCVDFSMFRDeEhRVUZSTEZOQlFWVkRMRWRCUTNaQ0xFOUJRWGRETEUxQlFXcERRU3hGUVVGSEwwd3NZVUZCWXl4bFFVVjRRbWROTEVkQlFWZG9SaXhGUVVGVkxGTkJRVlZ3Uml4RlFVRk5aMElzUlVGQlRYZERMRWRCUXpGRExFbEJRVWw0Uml4RlFVTktMRWxCUVUxM1JpeEZRVU5NTEU5QlFYZENMRWxCUVdwQ2VFUXNSVUZCVFdkQ0xFZEJRV3RDUVN4RlFVRkxiME1zWlVGRGFrTndSaXhGUVVGTlowTXNSVUZCUzI5TkxHbENRVUZyUW5CTUxFdEJRVmxvUkN4RlFVRkpNbEFzVlVGRE9VTXpVQ3hGUVVGSk9FVXNUVUZEU2l4UFFVdEZUeXhIUVRFMFJWQXNRMEUwTkVWTE1VZ3NSMEZKVEdkRUxFVkJRVTkzVGl4TFFVRlBPVWtzUlVGRFpERkZMRVZCUVU4MlR5eExRVUZQYmtzc1JVRkJUeXRMTEZWQlIzSkNlbEFzUlVGQlR6WlBMRXRCUVUwc1MwRkJVVGRQTEVWQlFVODJUeXhMUVVGTGFFa3NVVUZEYWtNM1J5eEZRVUZQYTFBc1YwRkJZV3hRTEVWQlFVODRWeXhQUVVGVGNGTXNSVUZCVDNkTExGZEJRek5EYkZBc1JVRkJUMUlzUzBGQlQydEdMRVZCUVU5RkxGRkJRM0pDTlVVc1JVRkJUeXRYTEZOQlFWZHlVeXhGUVVGUFJ5eE5RVU42UWpkRkxFVkJRVTk1Uml4VFFVRlhaaXhGUVVGUFpTeFRRVU42UW5wR0xFVkJRVTluV0N4bFFVRnBRblJUTEVWQlFVODJSQ3hQUVVzdlFpeEpRVUZKWlN4RlFVRk5MRk5CUVZWcVNTeEZRVUZOYVVrc1JVRkJTekpPTEVkQlNUbENMRWxCU0VFc1NVRkJTWFJHTEVWQlFWVXNSMEZEWW5WR0xFOUJRWEZDY0ZVc1NVRkJWbTFWTEVkQlJVWTFWaXhGUVVGUFFTeEZRVUZOYVVrc1MwRkJOa0lzU1VGQmJFSnFTU3hGUVVGTE4wTXNWVUZEZEVNc1IwRkJkVUlzU1VGQmJFSTJReXhGUVVGTE4wTXNVMEZCYVVJc1EwRkRNVUlzUjBGQlN6QlpMRWRCUVZsc1dDeEZRVUZSY1VJc1IwRkJUemhXTEVkQlFVbEdMRWRCUTI1RExFMUJSVVIwUml4RlFVRlJPVlFzUzBGQlRYZEVMRWRCUjJoQ0xFOUJRVTl6VVN4SFFVbEtlVVlzUlVGQlZ5eFRRVUZWUXl4RlFVRkhhRmNzUjBGSE0wSXNTVUZHUVN4SlFVRkpjMUVzUlVGQlZTeEhRVVZPTUVZc1JVRkJSMEVzUlVGQlNVRXNSVUZCUlhCTUxGbEJRMGtzU1VGQlptOU1MRVZCUVVVM1dTeFZRVUZyUWpaWkxFbEJRVTFvVnl4SFFVTTVRbk5STEVWQlFWRTVWQ3hMUVVGTmQxb3NSMEZKYUVJc1QwRkJUekZHTEVkQlNVb3lSaXhGUVVGblFuUllMRVZCUVU4MlR5eExRVUZMTDBVc1RVRkJUV2hETEdGQlNYUkRMRk5CUVZOMVFpeEZRVUZWYUVrc1JVRkJUV2RDTEVkQlJYaENMRTlCUVU5b1FpeEZRVUZMWjBrc1ZVRkJXV2hKTEVWQlFVdG5TU3hUUVVGVE5VVXNaMEpCUVd0Q2NFTXNSVUZCUzI5RExHTkJSemxFTEVsQlFVazRVeXhGUVVGaExHdEZRVXRxUWl4VFFVRlRReXhGUVVGUk1Va3NSVUZCVlRKSkxFVkJRVmMzUml4SFFVTnlReXhQUVVGTGRGUXNSVUZCV1cxYUxFZEJRMVI2V0N4RlFVRlBNa0lzUzBGQlRXMU9MRVZCUVZVc1UwRkJWWHBPTEVWQlFVMXFReXhIUVVNM1F5eFJRVUZUY1Zrc1JVRkJWUzlhTEV0QlFVMHlSQ3hGUVVGTmFrTXNSVUZCUjJsRExFdEJRVmQxVVN4SlFVc3hRelpHTEVWQlFWVnFXaXhUUVVOUWQwSXNSVUZCVHpKQ0xFdEJRVTF0VGl4RlFVRlZMRk5CUVZWNlRpeEhRVU4yUXl4UFFVRlRRU3hKUVVGVGIxY3NTVUZCWjBJM1JpeEpRVXRXTEdsQ1FVRmtOa1lzUlVGRFNucFlMRVZCUVU4eVFpeExRVUZOYlU0c1JVRkJWU3hUUVVGVmVrNHNSMEZEZGtNc1QwRkJVM1pFTEVWQlFWRktMRXRCUVUwcldpeEZRVUZYY0Zjc1NVRkJWU3hKUVVGUmRWRXNTVUZMTDBNMVVpeEZRVUZQYzA0c1QwRkJVVzFMTEVWQlFWY3pTU3hGUVVGVk9FTXNSMEZITlVNMVVpeEZRVUZQYzA0c1QwRkJVeXhUUVVGVmRVSXNSVUZCVFM5T0xFVkJRVTg0VVN4SFFVTjBReXhKUVVGSmRsRXNSVUZCVDFBc1JVRkJUeXhIUVUxc1FpeFBRVXBMT0ZFc1NVRkRTaTlETEVWQlFVOHNVVUZCVlVFc1JVRkJUeXhMUVVkSUxFbEJRV3BDTDA0c1JVRkJUVklzVVVGQmEwTXNTVUZCYkVKbExFVkJRVXMzUXl4VFFVTjRRbmRDTEVWQlFVOTNUaXhMUVVGTFRTeG5Ra0ZCYVVKNlRTeEZRVUZOZDA0c1IwRkJVeXhEUVVGRmVFNHNSMEZCVXl4SFFVZDRSSEpDTEVWQlFVOTNUaXhMUVVGTGVFb3NVVUZCVXpaTExFVkJRVTAzVHl4RlFVRlBNa0lzUzBGQlRXSXNSVUZCVHl4VFFVRlZUeXhIUVVNdlJDeFBRVUY1UWl4SlFVRnNRa0VzUlVGQlN6ZERMR0ZCU1dSM1FpeEZRVUZQUnl4SFFVRkhaME1zVDBGQlVTeERRVU5xUW5GTUxFdEJRVTBzVTBGQlZYWk9MRWRCUTJZc1NVRkJTV0lzUlVGQlJ6SkNMRVZCUTA1bExFVkJRVTAzUlN4TFFVRkxjVVFzVDBGRFdHOVlMRVZCUVU5NllTeExRVVZTTEVkQlFYbENMR2xDUVVGaVowUXNSVUZEV0N4UFFVRlBhRVFzUzBGQlN6UkVMRlZCUVZkaUxFVkJRVkZETEVkQlFWZHhUaXhQUVVGUkxGZEJRMnBFTEVsQlFVMXNUeXhGUVVGSkxFVkJRVWRCTEVWQlFVa3dReXhGUVVGTE1VTXNTVUZEY2tJc1IwRkJTMWtzUlVGQlQzbEdMRk5CUVZWcFV5eEZRVUZOZEZrc1IwRkJTMjVETEUxQlEyaERMRTlCUVU4c1MwRlJXQ3hKUVVaQk9FUXNSVUZCVFRsRUxFdEJRVXMwUkN4VlFVRlhMRWxCUldoQ2VrSXNSVUZCU1N4RlFVRkhRU3hGUVVGSk1FTXNSVUZCU3pGRExFbEJRM0pDV1N4RlFVRlBkMDRzUzBGQlRYWk9MRVZCUVZWNVdDeEZRVUZOZEZrc1IwRkJTekpDTEVkQlIyNURMRTlCUVU5bExFVkJRVTBzUlVGQlNUbENMRVZCUVU5clVDeFhRVUZaYms4c1IwRkJVVUVzUjBGRk4wTjFUU3hQUVVGUkxGTkJRVlZ5VGl4SFFVTnFRaXhQUVVGUGFFUXNTMEZCU3pSRUxGVkJRVmN5Vnl4RlFVRlJkbUVzUzBGQlRXZEVMRWRCUVZrc1NVRkJTU3hMUVVWMFJESlNMRWxCUVVzc1UwRkJWVE5TTEVkQlEyUXNUMEZCVDJoRUxFdEJRVXMwUkN4VlFVRlhNbGNzUlVGQlVYWmhMRXRCUVUxblJDeEhRVUZaTEVsQlFVa3NTMEZGZEVScldDeEhRVUZKTEZOQlFWVnNXQ3hIUVVOaUxGRkJRVk4xV0N4RlFVTlNkbUVzUzBGSmIwSXNhVUpCUVdKblJDeEhRVUY1UW5GWUxFVkJRV00zVFN4TFFVRk5lRXNzUjBGRGJrUkVMRVZCUVZGRExFZEJRMUpCTEVkQlFWa3NTVUZEWWl4SFFVTkRTeXhWUVZOS0xFbEJRVWx4V0N4RlFVMUllRkFzUlVGQllTeDFRMEZGVG01SkxFVkJRVTlITEVkQlFVZERMRXRCUVU4c1UwRkJWVWdzUlVGQlZVTXNSVUZCVTJ0VExFZEJRM0JFTEVsQlFVbDBTU3hGUVVGUGVra3NSVUZIV0N4SlFVRk5jRUlzUlVGRFRDeFBRVUZQYUVRc1MwRlJVaXhIUVVoQmJWWXNSVUZCVDBFc1IwRkJVWFZHTEVWQlIxVXNhVUpCUVdJeFdDeEZRVUYzUWl4RFFXRnVReXhMUVZCRE5rb3NSVUZNYzBJc1RVRkJiRUkzU2l4RlFVRlZMRWxCUTNOQ0xFMUJRWEJEUVN4RlFVRlZRU3hGUVVGVFN5eFBRVUZUTEVsQlF6VkNUQ3hGUVVGVFN5eFJRVUZWTEVWQlIxZ3NRMEZCUlN4TFFVRk5UQ3hGUVVGVkxFMUJSMnhDYTBrc1JVRkJWMmRETEV0QlFVMXNTeXhOUVVsV05rb3NSVUZCVHl4SlFVRlJOVW9zUlVFMlEzaENMRTlCUVUxQkxFZEJRVmRCTEVWQlFWRk5MRkZCUTNSQ1RpeEhRVUZYYTFNc1IwRkJUelZGTEV0QlFVMTJUaXhIUVVzeFFtaEVMRXRCUVV0M1JDeFpRVUZoVUN4SFFVRlZjMDRzUzBGQlRYWk9MRWRCYUVSNlF5eEhRVUZMTmtvc1JVRkJUeXhIUVVGTkxFTkJXV3BDTEVkQldFRTFTaXhGUVVGVlFTeGhRVUZ0UWtZc1JVRkJVMFVzUlVGQlV5eEhRVUZOUVN4RlFVbHlSRVlzUlVGQlQyZENMRTFCUVU4dlJDeExRVUZOSzBNc1JVRkJUelJZTEZWQlF6RkNPVTRzUlVGQlR5eEhRVU5RTlVvc1IwRkJWMEVzUlVGQlVURkNMRk5CUVZjd1FpeEZRVUZSWjBzc1pVRkJhVUpvU3l4RlFVRlZja1FzUjBGRGFrVXNTVUZKU1RCaExFVkJRVmM1VFN4TFFVRk5XQ3hGUVVGUExFdEJRVk01U2l4RlFVRlBNa01zWTBGQlpYcERMRWRCUXpORUxFbEJRVTAwU2l4TFFVRlROVW9zUlVGSFZEVkNMRVZCUVZseVFpeExRVUZOTmswc1NVRkRkRUkzVFN4TFFVRk5OazBzUjBGQlV6VktMRVZCUVZNMFNpeEpRVWw0UWpkTkxFdEJRVXM0VWl4TFFVRk5ha1lzUlVGQlR6VktMRVZCUVZNMFNpeEpRVXM1UWl4UFFVRlBOMDBzUzBGWlVDeFBRVkpCYjBVc1JVRkJUM2hGTEVWQlFWTjFUaXhsUVVGblFrNHNSVUZCVHl4UFFVdDBRemROTEV0QlFVMHNSMEZCVFc5RkxFVkJRMXB3UlN4TFFVRkxjVVFzVDBGQlV5eEhRVVZTY2tRc1MwRmpTQ3hQUVVGTFowUXNSVUZCVTNwQ0xGVkJRM0JDZGtJc1MwRkJUU3hIUVVGTlowUXNSVUZEV21oRUxFdEJRVXR4UkN4UFFVRlRMRVZCUTFCeVJDeE5RVWxKY1VJc1JVRkJXVEpDTEZGQlEwUTJReXhKUVVGbWMxQXNSVUZCUzNsR0xFMUJRMWg2Uml4RlFVRkxlVVlzVFVGQlR6VllMRWRCUjFwQkxFVkJRVlZFTEVkQlIweEJMRVZCUVU4eVJDeFZRVUZYTVVRc1JVRkJWV2hFTEZGQlNXaERjMFFzVlVGQldWQXNSVUZCVDBjc1IwRkhlRUozV0N4RlFVRmhNMWdzUlVGQlVXNUVMRWRCUjNKQ0xFbEJRVWxwWWl4RlFVRmxMR2xEUVVkc1FrTXNSVUZCYlVJc1EwRkRiRUpETEZWQlFWVXNSVUZEVmtNc1ZVRkJWU3hGUVVOV01VOHNUVUZCVFN4RlFVTk9NazhzVFVGQlRTeEhRVzlHVWl4VFFVRlRReXhGUVVGVGNrMHNSVUZCUzNoRExFZEJRM1JDTEUxQlFWVjNReXhGUVVGTlFTeEZRVUZMZUVNc1MwRkJORUlzU1VGQmFrSjNReXhGUVVGSmRFNHNWMEZEY0VNc1QwRkJUM05PTEVWQmJrWlNPVXdzUlVGQlQwY3NSMEZCUjJkRExFOUJRVkVzUTBGRGFrSTBVQ3hKUVVGTExGTkJRVlYwVUN4SFFVTmtMRWxCUVVreVZpeEZRVUZWY0Zrc1JVRkJVWGxETEVWQlFWRjRSaXhOUVVNM1FtOWlMRVZCUVVsRUxFVkJRVkU1V0N4UFFVVmlMRTlCUVU5eVJDeExRVUZMY1ZFc1QwRkJVU3hYUVVWdVFpeEpRVVJCTEVsQlFVbHNUeXhGUVVGSkxFVkJRMEZCTEVWQlFVbHBXaXhGUVVGSGFsb3NTVUZEWkN4SFFVRkxXU3hGUVVGUGVVWXNVMEZCVlhoSkxFdEJRVTF0WWl4RlFVRlRhRm9zU1VGRGNFTXNUMEZCVHl4TFFVMVlhMW9zVVVGQlV5eFRRVUZWTjBrc1JVRkJWM1pRTEVkQlF6ZENMRWxCUVVrMFRDeEZRVU5JTVUwc1JVRkJTU3hGUVVOS2FWb3NSVUZCU1hCaUxFdEJRVXR4UkN4UFFVTlVjVklzUlVGQlZTeEhRVU5XZVVjc1JVRkJLMElzYVVKQlFXUXpTU3hIUVVFd1FucFFMRVZCUVZGNVVDeEhRVWR3UkN4SlFVRk5Oa2dzUlVGQll6ZE5MRXRCUVUxblJpeEhRVU42UWl4TFFVRlJjbEVzUlVGQlNXbGFMRVZCUVVkcVdpeEpRVU5rTEVsQlFVMHdUU3hGUVVGTk4wOHNTMEZCVFcxRExFZEJRVXN3VFN4SFFVRlBRU3hKUVVGUk5Vd3NSVUZCVXpSTUxFVkJRVTFCTEVWQlFVbHFUU3hYUVVkNFJDeEhRVUZMYVUwc1JVRkJTWFJPTEZOQlFWY3NTMEZCVVRSYUxFVkJRek5DUVN4RlFVRlJSeXhOUVVGUGVrMHNTVUZCVXl4RlFVZFFMRWxCUVdwQ1FTeEZRVUZKZEU0c1ZVRkRTSGRDTEVWQlFVOTNUaXhMUVVGTFRTeG5Ra0ZCYVVKb1F5eEZRVUZMTWtRc1NVRkJaMElzUTBGRmJrUnJReXhGUVVGUk9WUXNTMEZCVFdsUExFZEJRMlFzVFVGTlNpeFBRVUZQTjA4c1MwRkJTelJFTEZWQlFWYzRVU3hGUVVGUmNsSXNUMEZCVXl4RlFVRkpUaXhGUVVGUGExQXNWMEZCV1hsRExFZEJRVmxCTEVsQlNUVkZORWNzVFVGQlR5eFRRVUZWYkZnc1IwRkhhRUlzVDBGQlRVRXNSVUZMWlN4cFFrRkJWRUVzUlVGRFNuWkVMRVZCUVZGS0xFdEJRVTF6UXl4RlFVRlJjVUlzUjBGQlVYQkZMRXRCUVUwc1NVRkpja05oTEVWQlFWRktMRXRCUVUxVUxFdEJSM0JDYjBVc1JVRkJTMklzVDBGQlUyRXNSVUZCVFN4SFFVRk5RU3hIUVZwcVFuQkZMRXRCUVUwc1NVRkJUMEVzUzBGQlRTeEhRVUZKTkVNc1YwRkJaVFZETEV0QlFVdHpSU3hSUVVGUmFWZ3NWVUZCVld4WkxGRkJRVlVzUjBGblFteEdiVmtzU1VGQlN5eFRRVUZWZUZrc1JVRkJWVU1zUjBGRGVFSXNUMEZCVDJwRUxFdEJRVXMwUkN4VlFVTllZaXhGUVVGUGExQXNWMEZEVG14UUxFVkJRVTluUWl4TlFVRlBMMFFzUzBGQlN6QkVMRTFCUVU5WUxFVkJRVkZETEVWQlFWVkRMRTlCU3k5RGQxa3NVVUZCVXl4VFFVRlZlbGtzUjBGRGJFSXNUMEZCVDJoRUxFdEJRVXQzWWl4SlFVRnBRaXhOUVVGYWVGa3NSVUZEYUVKb1JDeExRVUZMWjBVc1YwRkJZV2hGTEV0QlFVdG5SU3hYUVVGWGNVMHNUMEZCVVhKT0xFOUJWVGREUkN4RlFVRlBhMElzUzBGQlRTeERRVU5hYVZFc1QwRkJVU3hUUVVGVk9WQXNSMEZEYWtJc1NVRkJTVGhRTEVWQlFWTTVVQ3hGUVVGTGVFSXNWMEZEYkVJc1QwRkJUM05TTEVkQlFUaENMRXRCUVhCQ1FTeEZRVUZQTTFNc1UwRkJhMEl5VXl4RlFVRlRMRTFCUlhCRWQwZ3NVVUZCVXl4VFFVRlZkRmdzUjBGRGJFSXNUMEZCVDJsSkxFVkJRVXRxU1N4RlFVRk5MR1ZCUlc1Q2RWZ3NZVUZCWXl4VFFVRlZkbGdzUlVGQlRXMUVMRVZCUVVsNVV5eEhRVU5xUXl4UFFVRlBNMDRzUlVGQlMycEpMRVZCUVUwc1lVRkJZelJXTEVsQlJXcERNVTRzUzBGQlRTeFRRVUZWYkVrc1IwRkRaaXhQUVVGUE9GY3NSVUZCVXpsWExFVkJRVTBzWjBKQlJYWkNObGNzUzBGQlRTeFRRVUZWTjFjc1IwRkRaaXhQUVVGUE9GY3NSVUZCVXpsWExFVkJRVTBzYjBKQlJYWkNkMWdzVVVGQlV5eFRRVUZWZUZnc1IwRkRiRUlzVDBGQlQybEpMRVZCUVV0cVNTeEZRVUZOTEdkQ1FVVnVRbTFZTEZGQlFWTXNVMEZCVlc1WUxFZEJRMnhDTEU5QlFVOXBTU3hGUVVGTGFra3NSVUZCVFN4dlFrRkZia0o1V0N4VlFVRlhMRk5CUVZWNldDeEZRVUZOYlVRc1JVRkJTWGxUTEVkQlF6bENMRTlCUVU4elRpeEZRVUZMYWtrc1JVRkJUU3hqUVVGbE5GWXNTVUZGYkVNNFFpeFZRVUZYTEZOQlFWVXhXQ3hGUVVGTmJVUXNSVUZCU1hsVExFZEJRemxDTEU5QlFVOHpUaXhGUVVGTGFra3NSVUZCVFN4clFrRkJiVUkwVml4SlFVVjBRMGNzVTBGQlZTeFRRVUZWTDFZc1IwRkRia0lzVDBGQlR5dFdMRWRCUVZrdlZpeEZRVUZMZUVJc1dVRkJZeXhKUVVGTE1GQXNWMEZCV1d4UExFbEJSWGhFTWxjc1UwRkJWU3hUUVVGVk0xY3NSMEZEYmtJc1QwRkJUeXRXTEVWQlFWVXZWaXhGUVVGTGEwOHNZVUZGZGtJd1NTeFRRVUZWTEZOQlFWVTFWeXhIUVVOdVFpeFBRVUUyUWl4TlFVRjRRa0VzUlVGQlN6SllMR2xDUVV0VU5XSXNSVUZCVldsRkxFVkJRVXN5V0N4cFFrRkZVak5ZTEVWQlFVc3lXQ3hwUWtGTlVqTlFMRVZCUVZWb1NTeEZRVUZOTEdOQlEzQkNRU3hGUVVGUFFTeEZRVUZMTkZnc1UwRkJWelZZTEVkQlIycENja0lzUlVGQlQyZENMRTFCUVU4c1IwRkJTVXNzUlVGQlMyMUpMR1ZCUlRkQ0xGTkJRVlZ1U0N4RlFVRk5iRU1zUjBGRGJFSklMRVZCUVU5SExFZEJRVWxyUXl4SFFVRlRMRk5CUVZVMFZTeEZRVUZQYUZnc1IwRkRjRU1zU1VGQlNUQlNMRVZCUVZVelVpeEZRVUZQYjBJc1NVRkJTMjVGTEV0QlFVMXJSQ3hGUVVGSk9GY3NSMEYxUW5CRExFMUJja0l3UWl4VlFVRnlRalZWTEVWQlFVczVSU3hQUVVGUkxFdEJRMnBDTUVNc1JVRkJWMmRZTEVkQlIxQm9XQ3hIUVVGblF5eHBRa0ZCWWtFc1NVRkRka0l3VWl4RlFVRlZNMUlzUlVGQlQzTk9MRTlCUVZGeVRpeEZRVUZWTUZJc1NVRkhMMEl4VlN4TFFVRkxjVVFzVDBGQlV5eEpRVWRhZVZnc1JVRkJhMEl4Vml4SlFVTjJRbkpETEVWQlFVOXJVQ3hYUVVGWmVVTXNSMEZKWm0xSExFVkJRV0Z5VGl4TFFVRk5jRWtzU1VGRGRrSnpVQ3hGUVVGUmRVZ3NWMEZKU0dwakxFdEJRVXMwUkN4VlFVRlhPRkVzVFVGSGVrSXNTVUZCU1hkSUxFVkJRV2RDTEc5Q1FYTlBjRUlzVTBGQlUwTXNSVUZCVlVNc1IwRkRiRUlzVDBGQlQwRXNSVUZGVWl4VFFVRlRReXhGUVVGVFF5eEhRVU5xUWl4TlFVRk5RU3hGUVVkUUxGTkJRVk5ETEVWQlFWbHlWaXhGUVVGUGMxWXNSVUZCVTBNc1JVRkJVVU1zUjBGRE5VTXNTVUZCU1VNc1JVRkZTaXhKUVVkTmVsWXNSMEZCVXpkR0xFVkJRV056WWl4RlFVRlRlbFlzUlVGQlRUQldMRk5CUXpGRFJDeEZRVUZQYkdNc1MwRkJUWGxITEVkQlFWRXdRaXhMUVVGTk5GUXNSMEZCVlVzc1MwRkJUVW9zUjBGSGFFTjJWaXhIUVVGVE4wWXNSVUZCWTNOaUxFVkJRVk42Vml4RlFVRk5ORllzVFVGRGFrUklMRVZCUVU5c1l5eExRVUZOZVVjc1JVRkJUM05XTEVWQlFWTkRMRWRCVVRkQ1JDeEZRVUZSTjJJc1YwRkJUMnRHTEVWQlFWY3NRMEZCUlhGQ0xFZEJRVkUxUnl4TlFVRlBiMk1zU1VGTk0wTXNUVUZCVVhoV0xFZEJTVlIxVml4RlFVRlBPV0lzVjBGQlQydEdMRVZCUVZjc1EwRkJSWEZDTEV0QmRrODNRbTVGTEVWQlFVOW5ZU3hWUVVGWkxGTkJRVlUxV0N4SFFVazFRa0VzUlVGQk5rSXNhVUpCUVZwQkxFVkJiRU5zUWl4VFFVRjNRa0VzUjBGRGRrSXNTVUZCU1RaWUxFVkJRVk1zUjBGSllpeFBRVWhCYW1Fc1JVRkJUMnRDTEV0QlFVMXJRaXhGUVVGUk1FZ3NUVUZCVDNGUUxFbEJRVzFDTEVkQlFVa3NVMEZCVldVc1JVRkJSME1zUjBGREwwUkdMRVZCUVZGRkxFbEJRVk1zU1VGRldFWXNSVUU0UWs1SExFTkJRV1ZvV1N4SFFVTm1jRU1zUlVGQlQyMURMRTlCUVZFc1IwRkJTVU1zUjBGRmNFSXNTVUZEUTJsWkxFVkJSMEZETEVWQlIwRkRMRVZCUjBGRExFVkJSMEZvVlN4RlFVRlBMRWRCUjFCcFZTeEZRVUZSTEVkQlIxSkRMRWRCUVdVc1JVRkhaa01zUlVGQlR5eFhRVkZPTEVsQlRFRklMRVZCUVZOQkxFZEJRVlZ3V1N4RlFVRlJkMWtzUzBGSk0wSk1MRVZCUVZGR0xFZEJRVk1zUlVGRFZFa3NSVUZCVFc1aExFOUJRVkZ2WVN4SFFVRmxMRVZCUlhCRExFbEJSRUZLTEVWQlFWTkhMRVZCUVUxd1VDeFZRVU5NY1ZBc1JVRkJZMnhWTEVWQlFVdHNSeXhUUVVkdFF5eEpRVUV4Ukd0SExFVkJRVTFyVlN4SFFVRmpPV01zVFVGQlR6QmpMRVZCUVZFc1IwRkJTMEVzUlVGQlVTeExRVU53Ukd4WkxFVkJRVkY1V1N4alFVZFNTQ3hGUVVGamJGVXNSVUZCUzJ4SExFOUJRMjVDWjJFc1IwRkJVeXhIUVUxT2JGa3NSVUZCVVd0WkxGTkJRMkpCTEVkQlFWTXNSMEZIVmtRc1IwRkJVeXhGUVVkS1J5eEpRVWxJYUZVc1JVRkVTVGhVTEVWQlEwY3NSMEZKUVN4TFFVMVdOVU1zUlVGQlR5eERRVWRPWlN4SlFVRkxMRmRCTWtKS0xFOUJNVUpMYWxNc1NVRkhRemhVTEVsQlFWZEVMRWxCUTJaTExFVkJRV05zVlN4RlFVRkxiRWNzVDBGQlV5eEZRVU0xUW0xaExFVkJRVTAxWXl4TFFVRk5lV01zU1VGSFlpeFRRVUZYTjBJc1JVRkJTMnBJTEVkQlEyWjRVaXhGUVVGUGEwSXNTMEZCVFhOUkxFVkJRVTBzVTBGQlZUQkpMRVZCUVVkb1Z5eEhRVU14UWpWR0xFVkJRVmswUml4SFFVTldPVUlzUlVGQlVUQlZMRkZCUVZkWkxFVkJRVXN6Uml4SlFVRkxOMDRzU1VGRGJFTnpReXhGUVVGTE0wa3NTMEZCVFhGSExFZEJSVVJCTEVkQlFVOUJMRVZCUVVrMVJDeFJRVUUwUWl4WFFVRnNRbEFzUlVGQlVXMUZMRWxCUjNoRGRWVXNSVUZCUzNaVkxFdEJWRklzUTBGWlN6VkRMRmRCUlVGbldpeEpRVUZYUkN4SFFVTm1UU3hMUVVkTE1XUXNUVUZKVWpaa0xFOUJRVkVzVjBGWlVDeFBRVmhCT1dFc1JVRkJUMnRDTEV0QlFVMUpMRlZCUVZjc1UwRkJWVFJaTEVWQlFVZG9WeXhIUVVWd1F5eEpRVVJCTEVsQlFVbHhWU3hIUVVOTlFTeEZRVUZSZGxrc1JVRkJUelpFTEZGQlFWTkxMRVZCUVV0elF5eEZRVUZOSzFJc1MwRkJZU3hIUVVONlJDOVNMRVZCUVV0MFJTeFBRVUZSY1Zjc1JVRkJUeXhIUVVkbVFTeEhRVUZUYlVNc1IwRkRZa0VzVFVGSlNYcGtMRTFCUzFJNFZTeEpRVUZMTEZOQlFWVTFVaXhIUVVOa0xFOUJRVTlCTEVWQlEwNUlMRVZCUVU4MlJDeFJRVUZUTVVRc1JVRkJTWEZITEVsQlFWVXNSVUZET1VKQkxFVkJRVXRzUnl4UFFVRlRMRWRCU1doQ2QxTXNUVUZCVHl4WFFVbE9MRTlCU0V0MFRTeEpRVU5LUVN4RlFVRlBMRWxCUlVSMlNpeE5RVTFTT0dRc1VVRkJVeXhYUVVkU0xFOUJSa0ZRTEVWQlFWTkRMRVZCUVZFc1IwRkRha0pxVlN4RlFVRlBPRlFzUlVGQlV5eEhRVU5VY21Rc1RVRkZVbTFOTEZOQlFWVXNWMEZEVkN4UFFVRlJOVU1zUjBGTlZIZFZMRXRCUVUwc1YwRkxUQ3hQUVVwQlVpeEZRVUZUUXl4RlFVRlJMRWRCUTFoSUxFZEJRVmRFTEVsQlEyaENOMVFzUlVGQlR6aFVMRVZCUVZNc1NVRkZWbkprTEUxQlJWSjFaQ3hQUVVGUkxGZEJRMUFzVVVGQlUwRXNSMEZKVmxNc1UwRkJWU3hUUVVGVkwyRXNSVUZCVTNOU0xFZEJVelZDTEU5QlVrMW5TaXhKUVVWTWFFb3NSVUZCVHl4RFFVRkZkRklzUjBGRVZITlNMRVZCUVU5QkxFZEJRVkVzU1VGRFVXcFZMRTFCUVZGcFZTeEZRVUZMYWxVc1VVRkJWV2xWTEVkQlF6bERhVW9zUlVGQlRUVmpMRXRCUVUweVZDeEhRVU5PTmtrc1IwRkRURTBzUzBGSFN6RmtMRTFCU1ZJd1pDeExRVUZOTEZkQlJVd3NUMEZFUVdwRUxFVkJRVXQxUkN4VFFVRlZhR1VzUzBGQlRYRkZMRmRCUTJSeVJTeE5RVWxTYzJRc1RVRkJUeXhYUVVOT0xGRkJRVk5CTEVsQlNWb3NUMEZCVHpkRExFZEJORU5TTVZnc1JVRkJUMjFETEU5QlFWRXNRMEZGWkN0WkxGTkJRVlVzVTBGQlZVTXNSMEZEYmtJc1NVRkJTVU1zUlVGQlV5eERRVWxZTEVOQlFVVXNVMEZCVlN4WFFVRlpjR0lzUlVGQlQyZGhMRlZCUVZjc1ZVRkRla05vWVN4RlFVRlBaMkVzVlVGQlZ5eFZRVUZaTEVkQlF5OUNMRU5CUVVVc1ZVRkJWeXhQUVVGUmFHRXNSVUZCVDJkaExGVkJRVmNzWlVGRGRFTm9ZU3hGUVVGUFoyRXNWVUZCVnl4bFFVRnBRaXhGUVVGSExGbEJRM1pETEVOQlFVVXNVMEZCVlN4UFFVRlJhR0VzUlVGQlQyZGhMRlZCUVZjc1pVRkRja05vWVN4RlFVRlBaMkVzVlVGQlZ5eGxRVUZwUWl4RlFVRkhMR0ZCUlhoRGNVSXNSVUZCVVN4VlFVTlNlRUlzUlVGQlZTeERRVU5VZDBJc1RVRkJUeXhYUVVOT0xFOUJRVTlCTEVkQlJWSkRMRTlCUVZFc1YwRkZVQ3hQUVVSQlF5eEZRVUZUTVZZc1MwRkJUWFpGTEZkQlFWbDNXU3hMUVVGTmVGa3NWMEZETVVKeVJTeE5RVVZTZFdVc1RVRkJVeXhUUVVGVmNtSXNSMEZEYkVJc1QwRkJUekJhTEVWQlFWRkZMRXRCUVUwc1MwRkJUVFZhTEVsQlNUVkNjMklzUzBGQlRTeFhRVU5NTEVsQlFVbERMRVZCUVUxd1lTeFZRVVZXTEU5QlFVOTBRaXhGUVVGUGEySXNVMEZCVlN4VFFVRlZVeXhIUVVOcVF6TmlMRVZCUVU5clFpeExRVUZOYTJFc1JVRkJVU3hUUVVGVk5WY3NSVUZCU1c5WUxFZEJSMnhETEVsQlFVbDZZaXhGUVVGTE4wSXNSVUZCV1c5a0xFVkJRVXRGTEVWQlFVOHNUVUZCVjBZc1JVRkJTMFVzUlVGQlR5eEpRVXQ0UkV3c1JVRkJWVXNzUlVGQlR5eEpRVUZQTEZkQlEzWkNMRWxCUVVsRExFVkJRVmN4WWl4SFFVRk5RU3hGUVVGSGRrTXNUVUZCVDFnc1MwRkJUWEZGTEZkQlEyaERkV0VzUjBGQldYWmtMRVZCUVZsMVpDeEZRVUZUYUVNc1UwRkRja05uUXl4RlFVRlRhRU1zVlVGRFVHbERMRk5CUVZWSUxFVkJRVk5KTEZGQlEyNUNiRmNzUzBGQlRUaFdMRVZCUVZOc1F5eFRRVU5tU3l4TFFVRk5Oa0lzUlVGQlUycERMRkZCUldwQ2FVTXNSVUZCVlVNc1JVRkJUeXhIUVVGTkxGRkJRM1JDTTJVc1MwRkRRV3RFTEVWQlFVc3NRMEZCUlRCaUxFZEJRV0YyWVN4bFFVdDRRbTloTEVWQlFVMHNUMEZEU0RkQ0xGZEJSVXhGTEV0QlFVMHNVMEZCVldsRExFVkJRV0ZETEVWQlFWbERMRWRCUTNoRExFbEJRVWxETEVWQlFWY3NSVUZEWml4VFFVRlRNVU1zUlVGQlV6SkRMRVZCUVU5aUxFVkJRVlUxVUN4RlFVRlRNRkVzUjBGRE0wTXNUMEZCVHl4WFFVTk9MRWxCUVVsRExFVkJRVTl5Wml4TFFVTldkVlVzUlVGQlQyeFJMRlZCUTFCcFlpeEZRVUZoTEZkQlExb3NTVUZCU1ZZc1JVRkJWVGxDTEVWQlMyUXNTMEZCUzNGRExFVkJRVkZFTEVkQlFXSXNRMEZSUVN4SlFVcEJUaXhGUVVGWGJGRXNSVUZCVVM5T0xFMUJRVTh3WlN4RlFVRk5PVXNzVFVGSlpDdEtMRVZCUVZNeFFpeFZRVU14UWl4TlFVRk5MRWxCUVVreVF5eFZRVUZYTERSQ1FVOTBRbnBETEVWQlFVODRRaXhKUVV0blFpeHBRa0ZCWWtFc1IwRkRXU3h0UWtGQllrRXNTVUZEVWtFc1JVRkJVemxDTEV0QlIweDZZaXhGUVVGWmVXSXNSMEZIV0hORExFVkJRMHAwUXl4RlFVRkxjbU1zUzBGRFNtMWxMRVZCUTBGd1F5eEZRVUZUTUVNc1JVRkJWVm9zUlVGQlZXNURMRVZCUVZWcFJDeEhRVU4yUXpWRExFVkJRVk13UXl4RlFVRlZXaXhGUVVGVmFrTXNSVUZCVXl0RExFdEJUM1pEUml4SlFVVkJjRU1zUlVGQlMzSmpMRXRCUTBwdFpTeEZRVU5CY0VNc1JVRkJVekJETEVWQlFWVmFMRVZCUVZWdVF5eEZRVUZWYVVRc1IwRkRka00xUXl4RlFVRlRNRU1zUlVGQlZWb3NSVUZCVldwRExFVkJRVk1yUXl4SFFVTjBRelZETEVWQlFWTXdReXhGUVVGVldpeEZRVUZWYmtNc1JVRkROVUp0UXl4RlFVRlRhMElzWlVGVFVEbFJMRWxCUVZsNVRpeEpRVU5vUW10RUxFOUJRVTk0V2l4RlFVTlFNRThzUlVGQlR5eERRVUZGY1Vzc1MwRkxVbEVzUjBGQlYyUXNSVUZCVTIxQ0xHRkJRV1ZLTEVWQlFVMDVTeXhOUVVzM1EyMU1MRVZCUVZWT0xFVkJRMVJGTEVWQlEwRXNWMEZEUXl4SlFVTkRRU3hKUVVORExFMUJRVkU1VXl4SFFVVktla29zUlVGQlQydGlMRk5CUVZNd1FpeGxRVU53UWpWakxFVkJRVTlyWWl4VFFVRlRNRUlzWTBGQlpXNVVMRVZCUXpsQ2ExUXNSVUZCVVVVc1dVRk5URlFzUlVGQlVTeEhRVUZMUkN4SlFVbGFlRkVzU1VGQldUSk9MRWxCUTJoQ1owUXNUMEZCVDNoYUxFVkJRMUF3VHl4RlFVRlBMRU5CUVVVdlNDeEpRVWRXT0ZJc1JVRkJVM1ZDTEZkQlFWbFNMRVZCUVUwNVN5eE5RVk16UWpSTExFVkJRMHBQTEV0QlMwc3pZeXhGUVVGUGEySXNVMEZCVXpaQ0xHVkJRM0JDU2l4RlFVRlJSU3hYUVVGaE4yTXNSVUZCVDJ0aUxGTkJRVk0yUWl4blFrRkZkRU12Wml4RlFVRlBaMmRDTEZkQlFWbE1MRXRCUzNSQ0xFOUJRVTh6WXl4RlFVRlBhMklzVTBGQlZTeFRRVUZWVXl4SFFVZHFRMUFzUlVGQlVTeEhRVUZMTEVkQlFVa3pReXhKUVVOb1FtZENMRVZCUTBNc1JVRkRRV3RETEVWQlEwRnlaQ3hGUVVGWk5HUXNSMEZEV0VFc1JVRkRRVGxETEVWQlEwUjFReXhGUVVGVFl5eGhRVXRZY2tJc1JVRkJVU3hIUVVGTExFZEJRVWt6UXl4SlFVTm9RbWRDTEVWQlEwTXNSVUZEUVd0RExFVkJRMEZ5WkN4RlFVRlpNR1FzUjBGRFdFRXNSVUZEUVRWRExFbEJTMGhuUXl4RlFVRlJMRWRCUVVzc1IwRkJTVE5ETEVsQlEyaENaMElzUlVGRFF5eEZRVU5CYTBNc1JVRkRRWEprTEVWQlFWa3laQ3hIUVVOWVFTeEZRVU5CTTBNc1RVRkhRVThzVjBGTFRFRXNVVUZCVXl4VFFVRlZkR0lzUjBGRGJFSXNUMEZCWXl4TlFVRlFRU3hGUVVGamVVSXNSVUZCVDIxRExFOUJRVkUxUkN4RlFVRkxjMklzUjBGQldVRXNTVUZIZGtRd1FpeEZRVUZYTEVkQmEwVmFMRTlCTDBSQmRtSXNSVUZCVDJ0Q0xFdEJRVTFyWVN4RlFVRlJMRk5CUVZWb1l5eEZRVUZIZDJNc1IwRkRha01zU1VGQlNYQldMRVZCUVU5dlZpeEZRVUZQTEVkQlEycENjVUlzUlVGQlkzSkNMRVZCUVU4c1IwRkxkRUl2UWl4RlFVRlRLMElzUlVGQlR5eEpRVUZSY0ZZc1JVRkJTMmxUTEVsQlIzaENkMFVzUjBGRFNucFhMRVZCUVV0cFV5eEpRVU5LTEZkQlNVTTBReXhGUVVGUk5FSXNSMEZMVkRkQ0xFVkJRVkVzUlVGQlNXaGpMRWRCUVVzc1IwRkJTVEppTEZGQlNYSkNTeXhGUVVGUkxFVkJRVWxvWXl4SFFVRkxMRWRCUVVreVlpeFJRVWR5UWtzc1JVRkJVU3hIUVVGTExFZEJRVWxLTEV0QlIycENTU3hGUVVGUkxFZEJRVXNzUjBGQlNVb3NUVUZQYmtKNFZTeEZRVUZMYVZNc1NVRkJTMjFFTEVWQlFVOHNSMEZCU1dwQ0xFMUJTM0pDV1N4RlFVRlZTeXhGUVVGUExFbEJRVkVzVjBGRmVFSXNUMEZFUVV3c1JVRkJWVXNzUlVGQlR5eEhRVUZOTEZGQlFWVXpaU3hQUVVGVGMyVXNUMEZCVjNwWkxFVkJRVmszUml4TFFVRk5jVVVzVjBGRGFFVnlSU3hOUVUxU2MyVXNSVUZCVlVzc1JVRkJUeXhIUVVGTkxGRkJRVmR3Vml4RlFVRkxlVlVzVjBGSmVFTndRaXhGUVVGUlFTeFJRVUZUTUVJc1IwRkhXa29zUjBGRFNrRXNSVUZCUzNwa0xFdEJRVTAyWkN4RlFVRlZRU3hIUVVsbVFTeEhRVWxTTWtJc1MwRkJUU3hUUVVGVlF5eEhRVU5tTEVsQlIwTkRMRVZCUVZrNVlpeFZRVUZWYUVJc1QwRkhkRUpzUWl4RlFVRkpaMlVzUlVGSFNrTXNSVUZCYTBKNllTeE5RVUZQZUVRc1IwRkRla0pyWlN4RlFVRm5RaTltTEVWQlFVMUhMRXRCUVUwMFJDeFhRVWMxUW1sakxFVkJRVlYyWkN4RlFVRlBhMklzVjBGSGFrSnpReXhGUVVGaExGTkJRVlZ3WlN4SFFVTjBRaXhQUVVGUExGTkJRVlVyUlN4SFFVTm9RbXRhTEVWQlFXbENhbVVzUjBGQlRXNURMRXRCUTNaQ2NXZENMRVZCUVdWc1pTeEhRVUZOYTBNc1ZVRkJWV2hDTEU5QlFWTXNSVUZCU1M5RExFVkJRVTFITEV0QlFVMDBSQ3hYUVVGak5rTXNTVUZETlVScFdpeEhRVU5VUnl4RlFVRlJZaXhaUVVGaFZ5eEZRVUZwUWtNc1MwRk5NVU1zUjBGQlMwWXNSMEZCWVN4SlFVTnFRalZFTEVWQlFWa3lSQ3hGUVVGaFNTeEZRVUZSTVZnc1MwRkJUVEpZTEVWQlFWbHdaU3hKUVVGTmNXRXNVVUZCVXpoRUxFVkJRVkUzUkN4UlFVTjRSVEJFTEVkQlIzVkNMRmxCUVhCQ1J5eEZRVUZSYkVNc1UwRkRXaTlqTEVWQlFWbG5aaXhGUVVGbGJHVXNTVUZCVDJ0bExFVkJRV1ZzWlN4SFFVRkpNbUVzVDBGRmNrUXNUMEZCVDNkRUxFVkJRVkY0UkN4UFFVdHFRaXhMUVVGUk0yRXNTMEZEVUc5aExFVkJRVms0UkN4RlFVRmxiR1VzUjBGQlMyOWxMRVZCUVZsd1pTeEhRVUZMYldVc1JVRkJVVGRFTEZGQlJ6RkVMRTlCUVU4MlJDeEZRVUZSTVVRc1lVRlBha0lzU1VGQlNUUkVMRVZCUVdNc2VVUkJSV3hDZW1Rc1JVRkJUMnRpTEZOQlFWTXdRaXhqUVVGblFpeFRRVUZWZUZvc1JVRkJUM05oTEVkQlNUTkRNV2RDTEVWQlFVOHlaMElzVTBGQlZ6Tm5RaXhGUVVGUE1tZENMRkZCUVZGRExFMUJRVkY0WVN4SFFVRlRjV0VzUlVGQldXaFVMRXRCUVUxeVNDeEZRVUZOWml4UFFVTTVSWEpHTEVWQlFVOHlaMElzVVVGQlVVTXNTMEZCVFN3NFFrRkJaME40WVN4RlFVRk5lV0VzVVVGQlUzcGhMRVZCUVUxellTeE5RVUZQUVN4SlFVOXVSakZrTEVWQlFVODRaQ3hsUVVGcFFpeFRRVUZWTVdFc1IwRkRha053Unl4RlFVRlBaMmRDTEZkQlFWa3NWMEZEYkVJc1RVRkJUVFZhTEV0QlVWSXNTVUZCU1RKaExFVkJRVmt2WkN4RlFVRlBhMklzVjBGclJIWkNMRk5CUVZNNFF5eEpRVU5TYm1oQ0xFVkJRVk52YUVJc2IwSkJRWEZDTEcxQ1FVRnZRa1FzUjBGRGJFUm9hRUlzUlVGQlQybG9RaXh2UWtGQmNVSXNUMEZCVVVRc1IwRkRjRU5vWlN4RlFVRlBObGdzVVVGdVJGSTNXQ3hGUVVGUFJ5eEhRVUZITUZnc1RVRkJVU3hUUVVGVk1WZ3NSMEZaTTBJc1QwRldRVFJrTEVWQlEwVm9SU3hMUVVGTk5Wb3NSMEZMVG5GaUxFMUJRVThzVTBGQlZYQlpMRWRCUTJwQ2NFUXNSVUZCVHpoa0xHVkJRV2RDTVdFc1MwRkhiRUp1Unl4TlFVZFNLME1zUlVGQlQyMURMRTlCUVZFc1EwRkhaR2RDTEZOQlFWTXNSVUZKVkN0aExGVkJRVmNzUlVGSFdISkhMRTFCUVU4c1UwRkJWWE5ITEV0QlIwWXNTVUZCVkVFc1NVRkJhMEp1WlN4RlFVRlBhMlVzVlVGQldXeGxMRVZCUVU5dFJDeFhRVXRxUkc1RUxFVkJRVTl0UkN4VFFVRlZMRWRCUjBnc1NVRkJWR2RpTEV0QlFXMUNibVVzUlVGQlQydGxMRlZCUVZrc1IwRkxNME5JTEVWQlFWVnlRaXhaUVVGaE4yWXNSVUZCVlN4RFFVRkZiVVFzVVVGSmNrTkJMRVZCUVU4MldDeE5RVUZOYTBNc1MwRkJUMmRGTEVWQlFWVm9SU3hMUVdGRUxHRkJRWGhDYkdRc1JVRkJVM1ZvUWl4WlFVTmhMRmxCUVhoQ2RtaENMRVZCUVZOMWFFSXNZVUZCTmtKMmFFSXNSVUZCVXpoUUxHZENRVUZuUWpCU0xGTkJSMnBGY21oQ0xFVkJRVTluWjBJc1YwRkJXV2hrTEVWQlFVODJXQ3hSUVVzeFFtaGlMRVZCUVZOdFVTeHBRa0ZCYTBJc2JVSkJRVzlDWjFJc1IwRkhMME5vYUVJc1JVRkJUMmRSTEdsQ1FVRnJRaXhQUVVGUloxSXNTVUZSYkVNc1NVRkJTVTBzUlVGQlV5eFRRVUZWZUdRc1JVRkJUMWdzUlVGQlNXZE1MRVZCUVV0b1NDeEZRVUZQYjJFc1JVRkJWME1zUlVGQlZVTXNSMEZEYkVVc1NVRkJTWEptTEVWQlFVa3NSVUZEVURCRExFVkJRVTFvUWl4RlFVRk5VaXhQUVVOYWIyVXNSVUZCWXl4TlFVRlFkbFFzUlVGSFVpeEhRVUYxUWl4WFFVRnNRbkJNTEVWQlFWRnZUQ3hIUVVWYUxFbEJRVTB2VEN4TFFVUk9iV1lzUjBGQldTeEZRVU5FY0ZRc1JVRkRWbTFVTEVWQlFWRjRaQ3hGUVVGUFdDeEZRVUZKWml4RlFVRkhLMHdzUlVGQlN5OU1MRWxCUVVzc1JVRkJUVzltTEVWQlFWVkRMRkZCU1RORExGRkJRV1V6WWl4SlFVRldjVUlzU1VGRFdHOWhMRWRCUVZrc1JVRkZUbXBuUWl4RlFVRlpOa1lzUzBGRGFrSnpZU3hIUVVGTkxFZEJSMFpETEVsQlIwTkVMRWRCUTBwMFpTeEZRVUZIZWtNc1MwRkJUVzlFTEVWQlFVOXhSQ3hIUVVOb1FtaEZMRVZCUVVzc1QwRkpUSFZsTEVWQlFVOTJaU3hGUVVOUVFTeEZRVUZMTEZOQlFWVnJRaXhGUVVGTmMyUXNSVUZCVFhoaExFZEJRekZDTEU5QlFVOTFZU3hGUVVGTGFHaENMRXRCUVUxelF5eEZRVUZSY1VJc1IwRkJVVGhETEUxQlMyaERhRVVzUjBGRFNpeExRVUZSWml4RlFVRkpNRU1zUlVGQlN6RkRMRWxCUTJoQ1pTeEZRVU5EVnl4RlFVRlBNVUlzUjBGQlN5dE1MRVZCUVV0elZDeEZRVU5vUW5SaExFVkJRMEZCTEVWQlFVMTZSeXhMUVVGTmIwUXNSVUZCVHpGQ0xFZEJRVXRCTEVWQlFVZGxMRVZCUVVsWExFVkJRVTh4UWl4SFFVRkxLMHdzUzBGTmFFUXNUMEZCUzI5VUxFVkJRMGQ2WkN4RlFVbElOR1FzUlVGRFIzWmxMRVZCUVVkNlF5eExRVUZOYjBRc1IwRkhWbWRDTEVWQlFVMHpRaXhGUVVGSlZ5eEZRVUZQTEVkQlFVdHhTeXhIUVVGUmNWUXNSMEZMYkVOSkxFVkJRVmtzVVVGRFprTXNSVUZCWVN4WlFVZGtMRk5CUVZORExFVkJRVmxETEVWQlFVMURMRWRCUXpGQ0xFOUJRVTlCTEVWQlFVOURMR05CVFdZc1UwRkJVME1zUlVGQlYwTXNSMEZEYmtJc1QwRkJUMEVzUlVGQlQycGpMRkZCUVZNd1lpeEZRVUZYTEU5QlFWRXhZaXhSUVVGVE1tSXNSVUZCV1VNc1IwRkZhRVVzU1VGQlNVMHNSVUZCWVN4VFFVRlZReXhIUVZFeFFpeFBRVUV3UWl4SlFVRnVRa0VzUlVGQlRUZG5RaXhWUVVGeFF5eEpRVUZ1UWpablFpeEZRVUZOTjJkQ0xGbEJRWE5DTm1kQ0xFVkJRVTAzWjBJc1ZVRk5iRVVzVTBGQlV6aG5RaXhKUVVOU2NtbENMRXRCUVVzNFJpeFJRVUZWTDBNc1JVRkJUeXRETEZGQlFWVjFZeXhGUVVGTFF5eE5RVWQwUTBRc1JVRkJTME1zU1VGQlRTeEZRVVZZUkN4RlFVRkxMMlVzVlVGQldTeERRVVZvUWpKTExFMUJRVThzVTBGQlZXMVZMRWRCUjJoQ0xFbEJRVWxzWWl4RlFVRlJhMklzUlVGQlQzQnBRaXhMUVVGTE9FWXNVMEUwUW5oQ0xFOUJla0pOYjBJc1NVRkRURUVzUlVGQlVTeEhRVXRJYVdJc1JVRkJXVU1zUzBGSldFRXNSVUZCVFRkblFpeFRRVU5XTm1kQ0xFVkJRVTl3YVVJc1MwRkJTemhHTEZOQlFWbHZRaXhGUVUxNFFqbEhMRTlCUVU5dGFVSXNaVUZCWjBKSUxFVkJRVTl3YVVJc1MwRkJTemhHTEZGQlFWTXNRMEZETTBOdlFpeE5RVUZQUVN4RlFVTlFjMklzWTBGQll5eE5RVTFZZEdJc1IwRkZVblZpTEVsQlFVc3NVMEZCVlV3c1JVRkJUMDBzUlVGQlRYaGlMRWRCUXpOQ0xFbEJRVWw1WWl4RlFVTklNVlVzUlVGQlVXcFBMRXRCUVV0cFR5eE5RVUZQYlZVc1IwRkpja0lzUjBGQmNVSXNhVUpCUVZSTkxFVkJRMWg2VlN4RlFVRlBaMVVzUlVGQlYxTXNTVUZCVjNoaUxFOUJUVGRDTEVsQlFVMTVZaXhMUVVGUlJDeEZRVU5pZWxVc1JVRkJUMmRWTEVWQlFWZFZMRWxCUVZkRUxFVkJRVTFETEVkQlIzSkRMRTlCUVU4eFZTeEhRVVZTZGtzc1NVRkJTeXhUUVVGVk1HVXNSVUZCVDJ4VkxFZEJRM0pDTEZsQlFXVnlTU3hKUVVGU2NVa3NSVUZEVG14UExFdEJRVXRwVHl4TlFVRlBiVlVzUjBGSFdrRXNSVUZCVDNCcFFpeExRVUZMT0VZc1ZVRkJZWE5qTEVWQlFVOXdhVUlzUzBGQlN6aEdMRk5CUVZkdFl5eEZRVUZYTDFRc1MwRkZOMFJ0VkN4UFFVRlJMRk5CUVZWbExFVkJRVTlzVlN4RlFVRkxhRWdzUjBGaE4wSXNXVUZCWVhKQ0xFbEJRVkp4U1N4SFFVTkRRU3hIUVVGelFpeHBRa0ZCVWtFc1VVRkJaME55U1N4SlFVRldjVUlzUlVGRmJFTnNTQ3hMUVVGTE1FUXNTVUZCU3pCbExFVkJRVTlzVlN4SlFWTjZRbXhQTEV0QlFVdDVhVUlzU1VGQlMwd3NSVUZCVDJ4VkxFVkJRVXRvU0N4UlFVbE1ja0lzU1VGQlZuRkNMRVZCUVhOQ1FTeEZRVUZSWjBnc1NVRkZkRU15VUN4UFFVRlJMRk5CUVZWMVJTeEZRVUZQYkZVc1IwRkRlRUlzU1VGQlNTOU1MRVZCUTBnNFRDeEZRVUZSYlZVc1JVRkJUM0JwUWl4TFFVRkxPRVlzVTBGRmNrSXNVVUZCWlVRc1NVRkJWbTlKTEVWQlFVd3NRMEZKUVN4UlFVRmhjRWtzU1VGQlVuRkpMRVZCUVc5Q0xFTkJhMEo0UWk5TUxFZEJXRU1yVEN4RlFVcEpka2tzVFVGQlRVTXNVVUZCVTNOSkxFZEJTV0pCTEVWQlFVa3ZTaXhKUVVGTE9HUXNTVUZGWmk5VUxFVkJRVTByVkN4RlFVRlhMMVFzVFVGSlNrUXNSVUZEV2l4RFFVRkZReXhIUVVOQlFTeEZRVUZKY2tJc1RVRkJUM0ZRTEVsQlFXMUNMRWxCUnpGQ04xa3NUMEZGVWl4TFFVRlJiRUlzV1VGRFFUaE1MRVZCUVU5RExFVkJRVXN2VEN4VlFVdFNNRVFzU1VGQlVuRkpMRWRCUVhGQ2Jrd3NSVUZCVDNsRUxHTkJRV1Y1U0N4TlFVMHhRMjFWTEVWQlFVMDNaMElzVTBGRFZqWm5RaXhGUVVGUGNHbENMRXRCUVVzNFJpeGpRVUZaUkN4VFFVVnFRblZqTEVWQlFVOXdhVUlzUzBGQlN6aEdMRmxCU1hSQ09HTXNVVUZCVXl4VFFVRlZVaXhIUVVOc1FpeEpRVUZKYmxVc1JVRkJVVzFWTEVWQlFVOXdhVUlzUzBGQlN6aEdMRk5CUTNoQ0xGbEJRV2xDUkN4SlFVRldiMGtzU1VGQmQwSnNUQ3hGUVVGUGVVUXNZMEZCWlhsSUxFdEJSM1pFTEVsQlFVazBWU3hGUVVGWExFbEJRVWxTTEVWQlJXWlRMRVZCUVZjc1NVRkJTVlFzUlVGalpsVXNSVUZCVXl4blEwRkRXa01zUlVGQllTeFRRVEpDWkN4VFFVRlRReXhGUVVGVk4yVXNSVUZCVFRoS0xFVkJRVXQzVlN4SFFVTTNRaXhKUVVGSmRHUXNSVUZKU2l4UlFVRmpVeXhKUVVGVU5tTXNSMEZCZDBNc1NVRkJiRUowWlN4RlFVRkxOME1zVTBGSkwwSXNSMEZJUVRaRUxFVkJRVThzVVVGQlZUaEpMRVZCUVVscVNTeFJRVUZUSzJNc1JVRkJXU3hQUVVGUmVHSXNZMEZITjBJc2FVSkJSbkpDYTJJc1JVRkJUM1JsTEVWQlFVczFRaXhoUVVGak5FTXNTVUZGVFN4RFFVTXZRaXhKUVVORGMyUXNSVUZ3UTBvc1UwRkJhMEpCTEVkQlEycENMRTFCUVdNc1UwRkJWRUVzUjBGSlV5eFZRVUZVUVN4SlFVbFRMRk5CUVZSQkxFVkJRMGNzUzBGSlNFRXNTMEZCVlVFc1JVRkJUeXhKUVVOaVFTeEZRVWRLU3l4RlFVRlBkbFlzUzBGQlRXdFdMRWRCUTFaUkxFdEJRVXRETEUxQlFVOVVMRWRCUjJKQkxFZEJZMGRWTEVOQlFWTldMRWRCUTJZc1RVRkJVV3hYTEVsQlIxWnpWeXhGUVVGVFRDeEpRVUZMY21Vc1JVRkJUVGhLTEVWQlFVdDNWU3hSUVVWNlFrRXNUMEZCVHpkakxFVkJSMVFzVDBGQlR6WmpMRVZCUjFJelppeEZRVUZQYlVNc1QwRkJVU3hEUVVOa01HUXNVVUZCVXl4VFFVRlZlR1VzUjBGRGJFSXNUMEZCVHpCbExFVkJRVk5HTEZGQlFWTjRaU3hKUVVGVmVXVXNSVUZCVTBRc1VVRkJVM2hsTEVsQlIzUkVjMlVzUzBGQlRTeFRRVUZWZEdVc1JVRkJUV2RDTEVWQlFVMXpaQ3hIUVVNelFpeFBRVUZQU1N4RlFVRlRla0lzVDBGQlVXcGtMRVZCUVUxblFpeEZRVUZOYzJRc1NVRkhja05YTEZkQlFWa3NVMEZCVldwbUxFVkJRVTFuUWl4SFFVTXpRakJrTEVWQlFWTnFSaXhQUVVGUmVsb3NSVUZCVFdkQ0xFbEJTM2hDYTJVc1RVRkJUeXhUUVVGVmJHWXNSVUZCVFdkQ0xFVkJRVTF6WkN4SFFVTTFRaXhQUVVGUFJ5eEZRVUZUZUVJc1QwRkJVV3BrTEVWQlFVMW5RaXhGUVVGTmMyUXNTVUZIY2tOaExGbEJRV0VzVTBGQlZXNW1MRVZCUVUxblFpeEhRVU0xUW5sa0xFVkJRVk5vUml4UFFVRlJlbG9zUlVGQlRXZENMRTFCU1hwQ2NrTXNSVUZCVDBjc1IwRkJSMmRETEU5QlFWRXNRMEZEYWtKM1pDeExRVUZOTEZOQlFWVjRWU3hGUVVGTGFFZ3NSMEZEY0VJc1NVRkJTUzlGTEVWQlFVZHBSQ3hGUVVGTmMyUXNSVUZEV25SbExFVkJRVTl3UlN4TFFVRk5MRWRCUTJKNVR5eEZRVUZSY2tzc1IwRkJVVUVzUlVGQlMzVkdMRmRCUjNSQ0xGRkJRV0U1UkN4SlFVRlNjVWtzUlVGQmIwSXNRMEZEZUVJc1IwRkJTMnhQTEV0QlFVdHhSQ3hUUVVOVWNXWXNSVUZCVDBrc1JVRkJVM0JtTEVsQlFVdFZMRWRCUlVVc1NVRkJiRUpCTEVWQlFVczNReXhYUVVGdFFuTm9RaXhGUVVGVGJtWXNTVUZCUzFVc1JVRkJUU3hwUWtGQmJVSXNRMEZGYmtVc1NVRkVRV3BETEVWQlFVbHpUU3hGUVVGTmNFd3NUMEZEUm14Q0xFdEJTVVp6VFN4RlFVRlBkRTBzU1VGRmMwSXNTMEZFYWtOcFJDeEZRVUZQY1Vvc1JVRkJUM1JOTEVkQlFVbHBSQ3hOUVVOU2RrVXNVVUZCVXl4WFFVTnNRblZGTEVWQlFVODJZeXhGUVVGWE4yTXNSVUZCU3psRkxFMUJRVThzU1VGRE9VSXlhVUlzUlVGQlZUZGxMRVZCUVUxblFpeEZRVUZOYzJRc1JVRkJUWFJrTEV0QlNTOUNlV1FzUlVGQlUwb3NTVUZCUzNKbExFVkJRVTBzWjBKQlFXZENMRWRCU1hSRExFOUJRVTl6WlN4RlFVbFNMRTFCUVc5Q0xHbENRVUZTZUZVc1JVRkRTbXhQTEV0QlFVdHBSU3hMUVVGTkxGZEJRMnBDTm1Vc1JVRkJVMHdzU1VGQlMzcHBRaXhMUVVGTmEwOHNTMEZKWm0xVUxFVkJRVkZ5YUVJc1MwRkJUU3hUUVVGVmEwZ3NSMEZET1VJc1NVRkJTWGRpTEVWQlQwb3NSMEZCUzNSbExGRkJRV3RDZVVJc1NVRkJWbkZDTEVWQlMxb3NXVUZCWTNKQ0xFdEJSR1EyWXl4RlFVRlBTU3hGUVVGVGNHWXNTVUZCUzFVc1JVRkJUVGhLTEVsQlJXNUNkMVVzVDBGTlRUZGpMRXRCUkdRMll5eEZRVUZQVHl4RlFVRlZOMlVzUlVGQlRUaEtMRWxCUldaM1ZTeFBRVWxTTEVWQlNVUXhhVUlzUzBGQlMybEZMRXRCUVUwc1YwRkhWalpsTEVWQlFWTk1MRWxCUVV0NmFVSXNTMEZCVFd0UExFVkJRVXRvU0N4TlFVVjRRaXhMUVVGTlFTeEZRVUZQTjBNc1ZVRkJWV2hDTEU5QlFWTXNSVUZCUnl4TlFVRk5MRWxCUnpkRFoyZENMRmRCUVZrc1UwRkJWVzVXTEVkQlEzSkNMRTlCUVU5c1R5eExRVUZMYVVVc1MwRkJUU3hYUVVOcVFqWmxMRVZCUVZOcVJpeFBRVUZSTjJRc1MwRkJUV3RQTEZGQlRURkNia3dzUlVGQlQyMURMRTlCUVZFc1EwRkRaSE5aTEUxQlFVOHNVMEZCVlhCYUxFVkJRVTE2UXl4RlFVRk5LMmRDTEVkQlF6VkNMRWxCUVVsc1JpeEZRVVZLTEVkQlFVdHdXaXhGUVZsS0xFOUJXRUY2UXl4SFFVRlRRU3hIUVVGUkxFMUJRVk1zVVVGRE1VSTJZaXhGUVVGUmNVWXNSVUZCVTI1bUxFbEJRVXRWTEVWQlFVMTZReXhIUVVkMlFpdG5RaXhMUVVORmJFWXNSMEZCVXpkWUxFMUJRVTFETEZGQlFWTTRZeXhIUVVNM1FteEdMRVZCUVZGeFJpeEZRVUZUZUVJc1QwRkJVV3BrTEVWQlFVMTZReXhGUVVGTmIwSXNSVUZCVHpKRUxGVkJRVmRuWXl4SlFVVjJSR3hHTEVWQlFVMDFZeXhMUVVGTk9HaENMRWxCUjFCc1JpeEhRVUZUTEVsQlNXeENaMGNzVVVGQlV5eFRRVUZWY0dZc1JVRkJUWHBETEVkQlEzaENRU3hGUVVGUFFTeEhRVUZSTEV0QlJXWXNTVUZCU1RaaUxFVkJRVkY2WVN4RlFVRlBlV0VzVFVGQlQzQmFMRVZCUVUxNlF5eEhRVU12UWpob1FpeEZRVUZqYWtjc1JVRkJUVzVoTEU5QlEzQkNTQ3hGUVVGTGMyRXNSVUZCVFhCUUxGRkJRMWh6Vml4RlFVRlJNMmRDTEVWQlFVODBaMElzV1VGQllYWm1MRVZCUVUxNlF5eEhRVTEyUWl4bFFVRlFkVUlzU1VGRFNrRXNSVUZCUzNOaExFVkJRVTF3VUN4UlFVTlljVllzUzBGSFNYWm5RaXhKUVVsVkxFOUJRVlIyUWl4SFFVTktObUlzUlVGQlRUZE1MRkZCUVZNc2NVSkJTVlFyVWl4RlFVRk5SU3hMUVVOaU1XZENMRVZCUVVkNlF5eExRVUZOTWtRc1JVRndRa1lzVjBGRFRuSkNMRVZCUVU5NVowSXNVVUZCVTNCbUxFVkJRVTE2UXl4SlFXMUNSaXRvUWl4TFFVZG9Ra1FzUjBGQlpVTXNSMEZEY0VKQkxFVkJRVTAzVGl4TlFVRk5Oa2dzVVVGTFpHbEhMRmxCUVdFc1UwRkJWWFptTEVWQlFVMTZReXhIUVVNMVFpeEpRVUZKZFUwc1JVRkJUWFpOTEVWQlFVOHNZVUZEYWtJc1QwRkJUMnRvUWl4RlFVRlRibVlzU1VGQlMxVXNSVUZCVFRoS0xFbEJRVk15VlN4RlFVRlRlRUlzVDBGQlVXcGtMRVZCUVUwNFNpeEZRVUZMTEVOQlF5OUVNa2dzVFVGQlR6bFRMRVZCUVU5bllTeFZRVUZYTEdWQlFXZENka0lzU1VGQlN5eFhRVU0zUTNGSUxFVkJRVk5vUml4UFFVRlJlbG9zUlVGQlRTeERRVUZGZWtNc1JVRkJUeXhSUVVGVGRVMHNWMEZOTjBOdVRDeEZRVUZQUnl4SFFVRkhaME1zVDBGQlVTeERRVU5xUW5OWkxFMUJRVThzVTBGQlZUZGlMRVZCUVUwclowSXNSMEZEZEVJc1NVRkJTVzFDTEVWQlFWTXNSVUZSWWl4TlFVNXhRaXhwUWtGQlZHeHBRaXhKUVVOWUsyZENMRVZCUVU4dlowSXNSVUZEVUVFc1JVRkJUeXhMUVVOUWEybENMRXRCUjBsNFppeFZRVUZWYUVJc1QwRkJVM2RuUWl4RlFVTm9RamxuUWl4RlFVRlBlV0VzVFVGQlQzaGtMRXRCUVUwc1IwRkJTekpDTEZGQlIycENhMFVzU1VGQlZEWmpMRVZCUTA0eGFVSXNTMEZEUVVFc1MwRkJTMmxGTEV0QlFVMHNWMEZEVml4SlFVRkpkVm9zUlVGQlVYcGhMRVZCUVU5NVlTeE5RVUZQZUdRc1MwRkJUVEpDTEVWQlFVMHJaMElzUjBGSGRFTXpaaXhGUVVGUE5HZENMRmxCUVdFemFrSXNTMEZCVFRKQ0xFZEJSVm9zVDBGQlZFRXNSMEZCWjBNc1pVRkJaalppTEVWQlFVOHNTVUZETlVKNllTeEZRVUZQZVdkQ0xGRkJRVk40YWtJc1MwRkJUVEpDTEUxQlNURkNObWhDTEZGQlFWTXNVMEZCVlRkb1FpeEhRVU5zUWl4UFFVRlBNMElzUzBGQlMybEZMRXRCUVUwc1YwRkRha0pzUWl4RlFVRlBlV2RDTEZGQlFWTjRha0lzUzBGQlRUSkNMRTFCUjNoQ2JXbENMRmRCUVZrc1UwRkJWVzVwUWl4SFFVTnlRaXhQUVVGUE0wSXNTMEZCUzNka0xFMUJRVTgzWWl4SFFVRlJMRXRCUVUwc1MwRkxiRU5wWWl4UlFVRlRMRk5CUVZWcVlpeEZRVUZOVEN4SFFVTjRRaXhKUVVGSmIxQXNSVUZEU0hGVUxFVkJRVkVzUlVGRFVrTXNSVUZCVVdwb1FpeEZRVUZQYTJJc1YwRkRabkJOTEVWQlFWYzNVaXhMUVVOWWJVTXNSVUZCU1c1RExFdEJRVXR4UkN4UFFVTlViVm9zUlVGQlZTeGhRVU5EZFVnc1IwRkRWRU1zUlVGQlRYWkZMRmxCUVdFMVRpeEZRVUZWTEVOQlFVVkJMRXRCVld4RExFbEJUbkZDTEdsQ1FVRlViRkVzU1VGRFdFd3NSVUZCVFVzc1JVRkRUa0VzVDBGQlQydEZMRWRCUlZKc1JTeEZRVUZQUVN4SFFVRlJMRXRCUlZCUkxFMUJRMUIxVHl4RlFVRk5iVk1zUlVGQlUyNW1MRWxCUVV0dFR5eEZRVUZWTVZBc1IwRkJTMUlzUlVGQlR5eG5Ra0ZET1VJclR5eEZRVUZKYlVZc1VVRkRabXRQTEVsQlEwRnlWQ3hGUVVGSmJVWXNUVUZCVFRKR0xFbEJRVXRuUWl4SlFVbHFRaXhQUVVSQlFTeEpRVU5QZDBnc1JVRkJUWEJJTEZGQlFWTjBZaXhOUVVkNFFpeEpRVUZKTW1sQ0xFVkJRVThzYzBOQlFUQkRReXhQUVVWcVJFTXNSMEZCVlN4SlFVRkpjbUVzVDBGQlVTeHBRa0ZCYlVKdFlTeEZRVUZQTEdOQlFXVXNTMEZITDBSSExFZEJRVmtzUTBGQlJTeE5RVUZQTEZGQlFWTXNVMEZCVlN4UlFVVjRRekZWTEVkQlFXdENPVkFzUlVGQlV6aFFMR2RDUVVreFFqSlZMRWRCUVdFc1UwRkJWV3BuUWl4SFFVTjZRaXhQUVVGUGNrSXNSVUZCVDNsR0xGTkJRVlZ3UlN4RlFVRkxOa2tzWTBGQlpUZEpMRWxCUlRkRGEyZENMRWRCUVZjc1EwRkJSVUVzVlVGQlZTeEhRVTl1UWpWVkxFZEJRV2RDTmxVc1kwRkRjRUpHTEVkQlFXRXNVMEZCVldwblFpeEhRVU4wUWl4UFFVRlBja0lzUlVGQlQzbEdMRk5CUVZWd1JTeEZRVUZMTmtrc1kwRkJaVGRKTEVsQlF6TkRRU3hGUVVGTGJXZENMRmxCUVdGRUxFMUJRV1ZzWjBJc1JVRkJTelpKTEdkQ1FVY3hReXhKUVVGSmRWZ3NSMEZCY1VJc1UwRkJWWEJuUWl4RlFVRk5iVXNzUjBGUGRrTXNUVUZCT0VJc1ZVRklPVUp1U3l4RlFVRlBiVXNzUjBGQlRXNUxMRWRCUjBSeFowSXNUVUZCVFVNc1UwRkRUU3hMUVVGMlFuUm5RaXhGUVVGTGNXZENMRTFCUVUxRExGTkJUVmhNTEVkQlFWbHFaMElzU1VGRmMwSXNVMEZCYkVOeVFpeEZRVUZQTkdoQ0xFbEJRVXQyWjBJc1JVRkJUU3haUVV0eVFpeFRRVUZUZDJkQ0xFZEJRVmQ0WjBJc1JVRkJUWFZsTEVWQlFVMXJReXhGUVVGWlF5eEhRVU16UXl4SlFVRkpReXhGUVVGVlF5eEZRVU5pUXl4RlFVRm5RaXhIUVVOb1FrTXNSVUZCWlVvc1JVRkRaQ3hYUVVORExFOUJRVTlCTEVWQlFVMXFWeXhQUVVWa0xGZEJRME1zVDBGQlR6bE1MRVZCUVU4MGFFSXNTVUZCUzNablFpeEZRVUZOZFdVc1JVRkJUU3hMUVVWcVEzZERMRVZCUVZWRUxFbEJRMVpGTEVWQlFVOVFMRWRCUVdOQkxFVkJRVmtzUzBGQlV6bG9RaXhGUVVGUGMybENMRlZCUVZjeFF5eEhRVUZUTEVkQlFVc3NUVUZITVVVeVF5eEZRVUZuUW14b1FpeEZRVUZMTjBNc1YwRkRiRUozUWl4RlFVRlBjMmxDTEZWQlFWY3hReXhKUVVGdFFpeFBRVUZVZVVNc1NVRkJhMEpFTEVsQlEyaEVhRUlzUjBGQlVXcFlMRXRCUVUxdVN5eEZRVUZQTkdoQ0xFbEJRVXQyWjBJc1JVRkJUWFZsTEVsQlJXeERMRWRCUVVzeVF5eEhRVUZwUWtFc1JVRkJaU3hMUVVGUlJpeEZRVUZQTEVOQldXNUVMRWxCVWtGRUxFZEJRVzlDTEVWQlIzQkNReXhGUVVGUFFTeEhRVUZSUlN4RlFVRmxMRWRCUnpsQ1FTeEhRVUZwUWtnc1IwRkJWeXhGUVVWd1FrWXNTMEZKVUd4cFFpeEZRVUZQTUdoQ0xFMUJRVTl5WjBJc1JVRkJUWFZsTEVWQlFVMHlReXhGUVVGblFrWXNTVUZEYmtNc1JVRkJTVW9zU1VGQldTeEhRVUZOUVN4RlFVRlJSU3hKUVVGcFFrTXNSMEZCVnl4TlFVRlhMRWxCUXpORlJpeEZRVUZuUWl4SFFVVnFRa3NzUjBGQlowTk9MRVZCU1dwRFRTeEhRVUZuUXl4RlFVTm9RM1pwUWl4RlFVRlBNR2hDTEUxQlFVOXlaMElzUlVGQlRYVmxMRVZCUVUweVF5eEZRVUZuUWtZc1IwRkhNVU5RTEVWQlFXRkJMRWRCUVdNc1IwRm5RalZDTEU5QllrdEJMRWxCUTBwVExFZEJRV2xDUVN4SlFVRnJRa2dzUjBGQlZ5eEZRVWM1UTBvc1JVRkJWMFlzUlVGQldTeEhRVU4wUWxNc1IwRkJhMEpVTEVWQlFWa3NSMEZCVFN4SFFVRk5RU3hGUVVGWkxFbEJRM0pFUVN4RlFVRlpMRWRCUTFSRExFbEJRMHBCTEVWQlFVMU5MRXRCUVU5QkxFVkJRMkpPTEVWQlFVMDNVU3hOUVVGUmNWSXNSVUZEWkZJc1JVRkJUUzltTEVsQlFVMW5aMElzU1VGSFVFRXNSVUZKVWl4SlFVRkpVU3hIUVVGdlFpeEhRVVY0UWl4VFFVRlRReXhIUVVGdFFuQm9RaXhIUVVNelFpeEpRVUZKZFZRc1JVRkRTSHBXTEVWQlFVMXJReXhGUVVGTE5ra3NZMEZEV0dJc1JVRkJWMmhKTEVWQlFVdG5TU3hUUVVOb1FuTlpMRVZCUVZWaExFZEJRVzFDYmxvc1IwRkZPVUlzVDBGQlMzTlpMRWxCU1V3dlRTeEZRVUZQZWxZc1JVRkJTWFZxUWl4TFFVRkxPV2xDTEZsQlFXRlVMRVZCUVVsSkxHTkJRV1U0U2l4SlFVTm9SSE5aTEVWQlFWVXphRUlzUlVGQlR6Um9RaXhKUVVGTGFFNHNSVUZCVFN4WFFVVTFRa0VzUlVGQlN5OVZMRmRCUVZkRExGbEJRV0U0VlN4SFFVVmFMRk5CUVZvclRTeEpRVU5LUVN4RlFVRlZMRk5CUlZoaExFZEJRVzFDYmxvc1IwRkJZWE5aTEVWQlJYcENRU3hIUVVkU0xGTkJRVk5uUWl4SFFVRlZOMVFzUlVGQlZUaFVMRWRCVHpWQ0xFbEJUa0VzU1VGQlNXcENMRVZCUVZOMFowSXNSVUZEV25kb1FpeEZRVUZUTEVkQlExUjBTeXhGUVVGUkxFVkJRMUpxV1N4RlFVRlRkMDhzUlVGQlUzaFBMRTlCUjFocFdTeEZRVUZSYWxrc1JVRkJVV2xaTEV0QlEzWkNiRmdzUlVGQlQzbE9MRVZCUVZWNVNpeEpRVU5PYlVvc1VVRkpXRU1zUlVGQlZYUm5RaXhGUVVGTGNXZENMRTFCUVUxRExGRkJRMmhDYVVJc1IwRkxZU3hUUVVGYWFrSXNTVUZEU210Q0xFVkJRVkYwU3l4SFFVRlZkVWdzUlVGQlUyNW1MRWxCUVV0VkxFVkJRVTBzV1VGQlpTeExRVU12UTNkb1FpeEZRVUZSZEVzc1MwRkRZbXhZTEVWQlFVdHhaMElzVFVGQlRVTXNVVUZCVlN4TFFVZExMRXRCUVhaQ2RHZENMRVZCUVV0eFowSXNUVUZCVFVNc1UwRkJhMEpHTEVkQlFXOUNjR2RDTEV0QlEzSkVkMmhDTEVWQlFWRjBTeXhIUVVGVmEwc3NSMEZCYlVKd2FFSXNTMEZIY2tJc1UwRkJXbk5uUWl4SlFVTkthMElzUlVGQlVYUkxMRWRCUVZVc1QwRkhiRUoxU0N4RlFVRlRTaXhKUVVGTGNtVXNSVUZCVFN4VlFVRlhjMmRDTEV0QlRXeERMRWxCUVUxd1NpeEZRVUZSTEVWQlFVZEJMRVZCUVZGcVdTeEZRVUZSYVZrc1NVRkRVaXhOUVVGdVFuTkxMRVZCUVZGMFN5eExRVU5hZWtvc1JVRkJWWGxLTEVkQlFWRnRTaXhOUVVGTlF5eFJRVUZWYTBJc1JVRkJVWFJMTEVsQlNUVkRMRTlCUVU5NlNpeEZRVWRTT1U4c1JVRkJUMGNzUjBGQlIyZERMRTlCUVZFc1EwRkRha0o1WjBJc1MwRkJUU3hYUVVOTUxFOUJRVTlFTEVkQlFWVXhiRUlzVFVGQlRTeEpRVVY0UWpac1FpeExRVUZOTEZkQlEwd3NUMEZCVDBnc1IwRkJWVEZzUWl4UFFVVnNRamhzUWl4UFFVRlJMRk5CUVZVeFNDeEhRVU5xUWl4TlFVRnpRaXhyUWtGQlZrRXNSVUZEU2tFc1JVRkJVWEJsTEV0QlFVc3liRUlzVDBGQlV6TnNRaXhMUVVGTE5teENMRTlCUnpWQ04yeENMRXRCUVV0cFJTeExRVUZOTEZkQlExcDFaMElzUjBGQmIwSjRhMElzVFVGRGVFSXJReXhGUVVGUkwwTXNUVUZCVHpKc1FpeFBRVVZtTldsQ0xFVkJRVkV2UXl4TlFVRlBObXhDTEZsQlMyNUNMRWxCVlVWRkxFZEJRMEZ3Vml4SFFWaEZjVllzUjBGQmFVSXNkMEpCUldwQ1F5eEhRVUZYTEdsRFFVVllReXhIUVVGakxIRkRRVTFvUWtnc1IwRkVZMjV0UWl4RlFVRlRkVzFDTEhsQ1FVTlNlR3BDTEZsQlFXRXZReXhGUVVGVE1FTXNZMEZCWlN4VFFVTndSSEZQTEVkQlFWRXZVU3hGUVVGVE1FTXNZMEZCWlN4VlFVMHpRa2NzWVVGQll5eFBRVUZSTEZOQlF6VkNhMDhzUjBGQlRXeFBMR0ZCUVdNc1ZVRkJWeXhYUVVNdlFtdFBMRWRCUVUxc1R5eGhRVUZqTEU5QlFWRXNTMEZGTlVKemFrSXNSMEZCU1hCcVFpeFpRVUZoWjA4c1NVRkpha0oyVUN4RlFVRlJaMnhDTEZkQlFXRk1MRWRCUVVsTkxGZEJRVmNzUjBGQlQwRXNWMEZCVnl4SFFVRlBhbE1zVlVGQlZYTkNMRkZCU1haRmNWRXNSMEZCU1c1V0xGVkJRVmtzZVVKQlEyaENlRkFzUlVGQlVXdHNRaXhwUWtGQmJVSlFMRWRCUVVsTkxGZEJRVmNzUjBGQlQycFRMRlZCUVZWM1JpeGhRVXN6UkcxTkxFZEJRVWx1Vml4VlFVRlpMRzlDUVVOb1FuaFFMRVZCUVZGdGJFSXNVMEZCVjFJc1IwRkJTVE5TTEZWQlMzaENMRWxCUVVsdlV5eEhRVUZWTEVOQlMySkRMRTFCUVU4c1EwRkJSU3hGUVVGSExGVkJRVmNzV1VGRGRrSkRMRWxCUVVzc1EwRkJSU3hGUVVGSExHOUNRVUZ4UWl4MVFrRkRMMEpETEVkQlFVa3NRMEZCUlN4RlFVRkhMR2xDUVVGclFpeHZRa0ZETTBKRExFZEJRVWtzUTBGQlJTeEZRVUZITEhGQ1FVRnpRaXg1UWtGRkwwSkRMRk5CUVZVc1EwRkJSU3hGUVVGSExFZEJRVWtzUzBGWmNFSXNVMEZCVTBNc1IwRkJVVGRxUWl4RlFVRlRkMDRzUjBGSmVrSXNTVUZCU1ROTkxFVkJXVW9zVDBGVVEwRXNUMEZFTkVNc1NVRkJha05pTEVWQlFWRnZTeXh4UWtGRFluQkxMRVZCUVZGdlN5eHhRa0ZCYzBKdlJDeEhRVUZQTEZWQlJVa3NTVUZCTjBKNFRpeEZRVUZSTkVzc2FVSkJRM0JDTlVzc1JVRkJVVFJMTEdsQ1FVRnJRalJETEVkQlFVOHNTMEZIYWtNc1VVRkhUVFZMTEVsQlFWSTBTeXhIUVVGeFFrRXNSMEZCVDNKRkxFVkJRVlZ1U2l4RlFVRlRkMDRzUjBGRE5VTXhUaXhGUVVGUFowSXNUVUZCVHl4RFFVRkZaQ3hIUVVGWFlTeEhRVWMxUWtFc1JVRkxVaXhUUVVGVGFXcENMRWRCUVdWc2FrSXNSVUZCVDIxcVFpeEhRVWs1UWl4SlFVaEJMRWxCUVVrM2EwSXNSVUZCU1N4RlFVTlFhVm9zUlVGQlNYWllMRVZCUVUxU0xFOUJSVWhzUWl4RlFVRkphVm9zUlVGQlIycGFMRWxCUTJRd1owSXNSVUZCVTBvc1NVRkRValZsTEVWQlFVOHhRaXhIUVVOUUxHTkJRME0yYTBJc1IwRkJaVzVGTEVWQlFWTnVaaXhKUVVGTGMycENMRVZCUVdFM2EwSXNSMEZCU3l4bFFURkRia1J4YTBJc1IwRkJVVk1zVFVGQlVWUXNSMEZCVVZVc1RVRkJVVllzUjBGQlVWY3NVMEZCVjFnc1IwRkJVVmtzVVVGQlZWb3NSMEZCVVVNc1RVRkROMFZFTEVkQlFWRmhMRWRCUVV0aUxFZEJRVkZKTEVkQlIyWjRiRUlzUlVGQlVXMXNRaXhUUVVOaVF5eEhRVUZSWXl4VFFVRlhaQ3hIUVVGUlJDeFBRVUZUTEVOQlFVVXNSVUZCUnl3clFrRkJaME1zWTBFeVF6RkZMRWxCUVVsNllpeEhRVUZSTEZsQlJWb3NVMEZCVTNsakxFZEJRV1V4YWtJc1JVRkJUMW9zUlVGQlUzVnJRaXhGUVVGVFF5eEZRVUZYUXl4SFFVOHpSQ3hKUVU1QkxFbEJRVWwwYWtJc1JVRkJUWE5OTEVWQlFVdEVMRVZCUVV0cldDeEZRVUZOUXl4RlFVRlZPV2xDTEVWQlEyNURLMmxDTEVWQlFWYzFhMElzUlVGQlVXdHFRaXg1UWtGRGJrSXlRaXhGUVVGUkxFZEJRMUl6YkVJc1JVRkJTU3hGUVVOS2FWb3NSVUZCU1haWUxFVkJRVTFTTEU5QlJVaHNRaXhGUVVGSmFWb3NSVUZCUjJwYUxFbEJSMlFzU1VGR1FXbERMRVZCUVU5UUxFVkJRVTh4UWl4TFFVVlJMRWxCUVZScFF5eEZRVWRhTEVkQlFYZENMRmRCUVc1Q2RFSXNSVUZCVVhOQ0xFZEJTVnB5UWl4RlFVRlBaMElzVFVGQlR5dHFRaXhGUVVGUE1XcENMRVZCUVVzM1F5eFRRVUZYTEVOQlFVVTJReXhIUVVGVFFTeFJRVWN4UXl4SFFVRk5NRWNzUjBGQlRUQkRMRXRCUVUxd1NpeEhRVWxzUWl4RFFWVk9MRWxCVkVGelRTeEZRVUZOUVN4SFFVRlBiVmdzUlVGQlUyeHNRaXhaUVVGaFRTeEZRVUZSV0N4alFVRmxMRkZCUnpGRWJVOHNSMEZCVVhkV0xFZEJRVk12V1N4TFFVRk5PVWtzU1VGQlZTeERRVUZGTEVkQlFVa3NTMEZCVVN4SFFVRkpiMFFzWTBGRGJrUnRaMElzUlVGQlQyNUNMRWRCUVZNdlZpeEpRVUZUSzFZc1IwRkJVVXNzVTBGRGFrTnVWeXhGUVVGSlJTeFZRVUZaSzFjc1JVRkJUU3hIUVVGTk5XdENMRVZCUVU5bmJFSXNZMEZCWlROcVFpeEhRVUZUZFdwQ0xFVkJRVTBzUjBGSGFrVTNhVUlzUlVGQlNUWnBRaXhGUVVGTkxFZEJRMFkzYVVJc1MwRkRVRFJNTEVWQlFVMUJMRVZCUVVrd1JDeFZRVXRZY2xJc1JVRkJUMmRDTEUxQlFVOHJha0lzUlVGQlQzQllMRVZCUVVsdVJTeGhRVWQ2UW0xRkxFVkJRVTF0V0N4RlFVRlRkbFlzV1VGSFdFUXNXVUZCWXl4UlFYcENiRUo1Vml4RlFVRk5iRzVDTEV0QlFVMXhReXhGUVVGUksydENMR1ZCUVdkQ05XcENMRWxCYTBOMlF5eEpRVWhCZVdwQ0xFVkJRVk40Vml4WlFVRmpMRWRCUlhaQ2JGRXNSVUZCU1N4RlFVTk5hVU1zUlVGQlR6QnFRaXhGUVVGUE0yeENMRTFCUjNaQ0xFZEJRVXR6YkVJc1IwRkJZVEZyUWl4RlFVRlBOa1FzVVVGQlUzaERMRVZCUVUxeGFrSXNTVUZCWlN4RlFVTnFSRU1zUjBGRFNrRXNSVUZCVVRsdFFpeExRVUZOZDBRc1VVRm5RbWhDTEVkQldFRjNha0lzUlVGQlYzWkVMRWRCUVZscVowSXNSMEZIZGtKelRTeEZRVUZOYjFjc1IwRkJVV1VzUlVGQlUyeHNRaXhaUVVGaGVVSXNSMEZCVVN4VlFVZDJRM2RxUWl4SFFVTktZaXhIUVVGbGNsY3NSMEZKV0RoWExFVkJSVW9zU1VGRVFURnBRaXhGUVVGSkxFVkJRMDFXTEVWQlFVOXpUU3hGUVVGTE5Vd3NUVUZEYUVKdmFFSXNSMEZCV1RGWkxFdEJRVTF3U2l4RlFVRkxla01zVFVGQlVTeExRVU51UXpac1FpeEZRVUZSTlcxQ0xFdEJRVTEzUkN4SFFVMXNRaXhQUVVGUGVXcENMRVZCU1ZJc1NVRkJTVWtzUjBGQmFVSXNjMEpCUlhKQ0xGTkJRVk5ETEV0QlExSXNUMEZCVHl4RlFVZFNMRk5CUVZORExFdEJRMUlzVDBGQlR5eEZRVk5TTEZOQlFWTkRMRWRCUVZsb2EwSXNSVUZCVFhwRExFZEJRekZDTEU5QlFWTjVReXhKUVUxV0xGZEJRME1zU1VGRFF5eFBRVUZQZUVVc1JVRkJVM2xXTEdOQlEyWXNUVUZCVVdkVUxFdEJWRkZETEV0QlFYRkRMRlZCUVZRemJVSXNSMEZaTDBNc1UwRkJVelJ0UWl4SFFVRkpibXRDTEVWQlFVMXZhMElzUlVGQlQzaHNRaXhGUVVGVk1HWXNSVUZCVFhobUxFVkJRVWwxYkVJc1IwRkROME1zU1VGQlNVTXNSVUZCVVM5dFFpeEZRVWRhTEVkQlFYTkNMR2xDUVVGV05tMUNMRVZCUVhGQ0xFTkJVMmhETEVsQlFVMDNiVUlzU1VGT2JVSXNhVUpCUVdKeFFpeEpRVWRZTUdZc1JVRkJUMEVzUjBGQlVURm1MRVZCUTJaQkxFOUJRVmMyUXl4SFFVVkZNbWxDTEVWQlEySkVMRWRCUVVsdWEwSXNSVUZCVFhwRExFVkJRVTF4UWl4RlFVRlZNR1lzUlVGQlRUaEdMRVZCUVU4M2JVSXNSMEZCVVRodFFpeEhRVVZvUkN4UFFVRlBjbXRDTEVWQmMwSlNMRWRCYmtKaExFMUJRVkp6WlN4SFFVRnpRaXhOUVVGT2VHWXNSMEZIY0VKQkxFVkJRVXRHTEVWQlEwd3daaXhGUVVGUE1XWXNUMEZCVnpaRExFZEJRMFFzVFVGQlRqTkRMRWxCUTJNc2FVSkJRV0pHTEVkQlIxaEZMRVZCUVV0M1ppeEZRVU5NUVN4UFFVRlBOMk1zU1VGSlVETkRMRVZCUVV0M1ppeEZRVU5NUVN4RlFVRlBNV1lzUlVGRFVFRXNUMEZCVnpaRExFdEJSMFFzU1VGQlVETkRMRVZCUTBwQkxFVkJRVXRwYkVJc1VVRkRReXhKUVVGTmFteENMRVZCUTFvc1QwRkJUMnRDTEVWQlpWSXNUMEZhWVN4SlFVRlNjV3RDTEVsQlEwcERMRVZCUVZONGJFSXNSMEZEVkVFc1JVRkJTeXhUUVVGVmVXeENMRWRCU1dRc1QwRkVRVFZzUWl4SlFVRlRObXhDTEVsQlFVdEVMRWRCUTFCRUxFVkJRVTh2YmtJc1RVRkJUMWdzUzBGQlRYRkZMR0ZCU1hwQ09FTXNTMEZCVDNWb1FpeEZRVUZQZG1oQ0xFOUJRVlYxYUVJc1JVRkJUM1pvUWl4TFFVRlBjRVVzUlVGQlQyOUZMRk5CUlRGREwwTXNSVUZCUzBnc1MwRkJUU3hYUVVOcVFteENMRVZCUVU4MGJFSXNUVUZCVFc1T0xFbEJRVXQ0WWl4TFFVRk5kMjlDTEVWQlFVOTBiRUlzUlVGQlNYZG1MRVZCUVUweFppeExRU3RoTTBNc1UwRkJVelpzUWl4SFFVRm5RblJoTEVWQlFVazFUU3hGUVVGTmVXMUNMRWRCUnpWQ1FTeEhRVkZPZGtZc1JVRkJVMG9zU1VGQlMyeFZMRVZCUVVrMVRTeEhRVUZOTEVkQlEzaENiMElzUlVGQlR6UnNRaXhOUVVGTmJrNHNTVUZCUzJwT0xFVkJRVWsxVFN4RlFVRk5MRU5CUXpOQ05rNHNWMEZCVnl4RlFVTllaQ3hSUVVGVExGTkJRVlZwWVN4SFFVTnNRaXhKUVVGSlJ5eEZRVUZWZUZZc1JVRkRZbmxXTEVWQlFWRnNSeXhGUVVGVGJtWXNTVUZCU3pGRUxFdEJRVTB5UWl4SFFVVTNRaXhIUVVGNVFpeEZRVUZzUW1kdVFpeEZRVUZOU3l4WFFVRnRRbWh3UWl4TFFVRk5Na0lzU1VGTGNrTXNSMEZCVFc5dVFpeEZRVUZOTVd4Q0xGRkJkVU5GVGl4RlFVRlBOR3hDTEUxQlFVMTJTaXhSUVVGVGVtUXNTVUZCVlN4SlFVRkxjMjVDTEdOQlEyeEVUaXhGUVVGTlR5eDFRa0Z5UWs0c1IwRmtRVWdzUlVGQlVYcHZRaXhGUVVGTlJ5eExRVUZOTkVRc1YwRkRjRUozWlN4RlFVRlRTaXhKUVVGTGVtbENMRXRCUVUweVFpeEZRVUZOYjI1Q0xFZEJTekZDUkN4RlFVRlhWaXhGUVVGWmNHOUNMRXRCUVUweVFpeEhRVU0zUWpOQ0xFdEJRVTB5UWl4TFFVVkViMjVDTEV0QlJFeDZWaXhGUVVGVGRWQXNSVUZCVTI1bUxFbEJRVXN4UkN4TFFVRk5Na0lzUzBGRFNtMXVRaXhGUVVONFFtcEhMRVZCUVZOS0xFbEJRVXQ2YVVJc1MwRkJUVEpDTEVkQlFVMHNSMEZGTVVJeVVpeEZRVUZUTEVkQlJVeDVWaXhKUVVGVmVsWXNSVUZYWkN4UFFWSkJjVllzUlVGQlRWRXNNa0pCUTA1U0xFVkJRVTFUTEdsQ1FVOURPVllzUjBGQlZVRXNSVUZCVDNCTkxGZEJaV1kyYUVJc1JVRkJUVEZzUWl4VFFVZHFRbmRtTEVWQlFWTktMRWxCUVV0NmFVSXNTMEZCVFRKQ0xFVkJRVTBzUTBGRGVrSjFSaXhOUVVGUGJrVXNSVUZCVHpSc1FpeE5RVUZOVlN4UlFVbHVRblJ0UWl4RlFVRlBiVU1zVDBGQlVUWnFRaXhGUVVGUExFZEJRVXRvYlVJc1JVRkJUM1Z0UWl4TlFVRk5hRzFDTEZkQlEzaERlV3hDTEVWQlFVMTZiMElzVFVGQlR5eEhRVU5pVGl4UlFVdEdNbTlDTEVWQlFVMVJMSEZEUVM5Rk1FSjBha0lzU1VGQk4wSm5aQ3hGUVVGVGJtWXNTVUZCU3paTExFVkJRVWsxVFN4SlFVTjBRbTlDTEVWQlFVODBiRUlzVFVGQlRXNU9MRWxCUVV0cVRpeEZRVUZKTlUwc1JVRkJUWFZ0UWl4SlFUVmhMMEp1YkVJc1JVRkJUelJzUWl4TlFVRlJMRU5CUldSdWNFSXNUMEZCVVN4SFFVVlNaMk1zU1VGQlN5eFRRVUZWY0Znc1JVRkJUVzlyUWl4RlFVRlBPVm9zUlVGQlUyZFZMRVZCUVUweFppeEhRVVV4UXl4SlFVRkpkVzFDTEVWQlFXRkRMRVZCUVdFNVdTeEZRVU0zUWl0WkxFVkJRVkZETEVWQlFVZERMRVZCUTFoMlN5eEZRVUZUZDBzc1JVRkJWV3B2UWl4RlFVRk5hMjlDTEVWQlFWbERMRVZCUTNKRFF5eEZRVUZYYkVnc1JVRkJVMjVtTEVsQlFVdFZMRWRCUnpGQ0xFZEJRVTByWkN4RlFVRlpMMlFzUjBGMVEyeENMRWxCYkVOTGMwc3NSVUZCVVVFc1ZVRkZXa0VzUjBGRVFUWmhMRVZCUVdNM1lTeEhRVU5SUVN4UlFVTjBRakZNTEVWQlFWZDFiVUlzUlVGQldYWnRRaXhWUVV0dVFrRXNSMEZEU2tRc1JVRkJUM2RPTEV0QlFVdE5MR2RDUVVGcFFtNUNMRWRCUVdsQ01VMHNSMEZKZWtNd1RDeEZRVUZSZGtnc1QwRkRZblZJTEVWQlFWRjJTQ3hMUVVGUGNFVXNSVUZCVDI5RkxGTkJTV1p6YVVJc1JVRkJVMDBzUlVGQlUwNHNWVUZEZWtKQkxFVkJRVk5OTEVWQlFWTk9MRTlCUVZOeWNFSXNUMEZCVHpSd1FpeFBRVUZSTEZGQlJXNURVaXhGUVVGalR5eEZRVUZUUlN4VlFVTTVRbFFzUlVGQlkwOHNSVUZCVTBVc1QwRkJVeXhUUVVGVmVtUXNSMEZKZWtNc1dVRkJlVUlzU1VGQldIcEtMRWRCUVRCQ1FTeEZRVUZQTkd4Q0xFMUJRVTExUWl4WlFVRmpNV1FzUlVGQlJUZExMRXRCUTNCRmIwSXNSVUZCVHpSc1FpeE5RVUZOZDBJc1UwRkJVM2h3UWl4TlFVRlBlVVFzUlVGQlRVTXNaMEpCUVdOM1FpeEpRVTF3UkRacVFpeEhRVVJCYkVJc1IwRkJWVUVzUjBGQlV5eEpRVUZMTTJJc1RVRkJUM0ZRTEVsQlFXMUNMRU5CUVVVc1MwRkRNVU0zV1N4UFFVTkdjVzFDTEV0QlJWQXZia0lzUlVGQlQyMXZRaXhIUVVSUWNGb3NSVUZCVFhWWUxFZEJRV1V2WVN4TFFVRk5jMklzUlVGQlQydENMRXRCUVZNc1NVRkRjRUlzUjBGRGRrSkhMRWRCUVdWdVdpeEZRVUZMTEVsQlFVOHNTVUZCUzNCS0xFMUJRVThzUzBGQlRYUkRMRTlCUjNaRGNrUXNTVUZMVG5sa0xFVkJRVlZ5WXl4RlFVRlBOR3hDTEUxQlFVMTJTaXhSUVVGVGVtUXNTVUZCVlN4SFFVY3hRMEVzUjBGQlUzRkNMRVZCUVZkdll5eEZRVUZSTmtvc1lVRkJaVGRLTEVWQlFWRm5UQ3hYUVVGamVtOUNMRVZCUjJwRmVXUXNSVUZCVlhKakxFVkJRVTgwYkVJc1RVRkJUWFpLTEZGQlFWTjZaQ3hKUVVGVkxFZEJSekZEWjI5Q0xFVkJRVmsxYlVJc1JVRkJUMjFETEU5QlFWRXNRMEZETVVKMlJDeExRVUZOUVN4RlFVTk9iVzlDTEZOQlFWVkJMRVZCUTFad1NDeExRVUZOUVN4RlFVTk9hRlVzVVVGQlUwRXNSVUZEVkhaSUxFdEJRVTExU0N4RlFVRlJka2dzUzBGRFpHNUZMRk5CUVZWQkxFVkJRMVkyU0N4aFFVRmpOMGdzUjBGQldVUXNSVUZCVHpaUExFdEJRVXN2UlN4TlFVRk5hRU1zWVVGQllUSkRMRXRCUVUxNFN5eEhRVU12UkhkTkxGVkJRVmR4WVN4RlFVRlhhbU1zUzBGQlRTeE5RVU14UWpKaUxFbEJSMHRMTEVWQlFWZElMRVZCUVZFNWJrSXNUMEZETVVKcGIwSXNSVUZCVjBnc1JVRkJVVGx1UWl4SFFVRlRMRWxCUTI1Q01HOUNMR05CUVdkQ0xFVkJSMjVDYWt3c1JVRkJVV3RNTEZGQlEybEVMRWxCUVRsRWJFd3NSVUZCVVd0TUxFMUJRVTAzY0VJc1MwRkJUVEpFTEVWQlFVMXpaU3hGUVVGTmJVZ3NSVUZCV1V3c1NVRkZka053YkVJc1JVRkJTekpNTEd0Q1FVTlVNMHdzUlVGQlN6Sk1MR2xDUVVGclFuQlBMRVZCUVUwMmJrSXNTVUZMTTBKd1N5eEZRVUZSTlVRc1RVRkRXalJFTEVWQlFWRTFSQ3hKUVVGSkwyRXNTMEZCVFRKRUxFVkJRVTExYkVJc1IwRkZiRUpCTEVWQlFWVnFZaXhSUVVGUmRrZ3NUMEZEZGtKM2FVSXNSVUZCVldwaUxGRkJRVkYyU0N4TFFVRlBkVWdzUlVGQlVYWklMRTlCU3psQ2JrVXNSVUZEU2pSdFFpeEZRVUZUTTJ0Q0xFOUJRVkV5YTBJc1JVRkJVMU1zWjBKQlFXbENMRVZCUVVkV0xFZEJSVGxEUXl4RlFVRlRhSEJDTEV0QlFVMHJiMElzUjBGSmFFSTFiVUlzUlVGQlR6UnNRaXhOUVVGTmJuQkNMRTlCUVZGdFF5eEpRVUZUTEVsQlRXaERhMk1zVDBGQlVTeFRRVUZWZWxvc1JVRkJUVzlyUWl4RlFVRlBPVm9zUlVGQlV6Rk1MRVZCUVZWMWJrSXNSMEZGYWtRc1NVRkJTWHBzUWl4RlFVRkhNR3hDTEVWQlFWYzVXaXhGUVVOcVFpdFpMRVZCUVZGRExFVkJRVWRETEVWQlExaDJTeXhGUVVGVGQwc3NSVUZCVldwdlFpeEZRVUZOYTI5Q0xFVkJRVmxETEVWQlEzSkRReXhGUVVGWGJFZ3NSVUZCVTBRc1VVRkJVM2hsTEVsQlFWVjVaU3hGUVVGVGJtWXNTVUZCUzFVc1IwRkZkRVFzUjBGQlRUSnNRaXhKUVVGbFRpeEZRVUZUVFN4RlFVRlRUaXhSUVVGMlF5eERRVTlCTEVsQlJFRkRMRWRCUkVGc1FpeEhRVUZWUVN4SFFVRlRMRWxCUVVzellpeE5RVUZQY1ZBc1NVRkJiVUlzUTBGQlJTeExRVU14UXpkWkxFOUJRMFp4YlVJc1MwRk5VQ3hIUVVwQkwyNUNMRVZCUVU5dGIwSXNSMEZFVUhCYUxFVkJRVTExV0N4SFFVRmxMMkVzUzBGQlRYTmlMRVZCUVU5clFpeExRVUZUTEVsQlEzQkNMRWRCUTNaQ1J5eEhRVUZsYmxvc1JVRkJTeXhKUVVGUExFbEJRVXR3U2l4TlFVRlBMRXRCUVUxMFF5eFBRVWQyUTNKRUxFVkJRVTRzUTBGbFFTeEpRVkpCZVdRc1JVRkJWWEpqTEVWQlFVODBiRUlzVFVGQlRYWktMRkZCUVZONlpDeEpRVUZWTEVkQlJURkRhVzlDTEVWQlFWZElMRVZCUkZnNWJrSXNSMEZCVTNGQ0xFVkJRVmR2WXl4RlFVRlJOa29zWVVGQlpUZEtMRVZCUVZGblRDeFhRVUZqZW05Q0xFbEJRM0JETEVkQlF6ZENLMDhzUlVGQlRVRXNSVUZCU3l4SlFVTldMRWxCUVVrMVJ5eFBRVUZSTEZWQlFWa3JaaXhGUVVGWGFtTXNTMEZCVFN4cFFrRkJiMElzVjBGSE9VUTBZeXhGUVVGWk1XeENMRVZCUVVrNGEwSXNSVUZCVTNadFFpeFBRVU5xUW5sQ0xFdEJRMUEyYTBJc1JVRkJXVU1zUlVGQlZUbHJRaXhKUVVWbWVXeENMRWRCUVdWVUxFbEJRV0ZJTEVWQlFWVkhMRlZCUTNwRGNHSXNSMEZCVjBFc1JVRkJVWFpJTEU5QlFWTjNhVUlzUlVGQlZYaHBRaXhOUVVOMFEzVktMRWxCUVU5QkxFVkJRVWxzUkN4TFFVRk5iV01zUlVGQlZXNWhMRmxCUXpOQ2VFMHNSMEZCV1VFc1NVRkJZVEp0UWl4RlFVRlZNMjFDTEZkQlEzaENMRTlCUVdKQkxFbEJRWEZDTW0xQ0xFVkJRVlV6YlVJc1dVRkRhRU0wYlVJc1JVRkJVek5yUWl4UFFVRlJTQ3hGUVVGSExFZEJSV1kyYTBJc1JVRkJWVE50UWl4VlFVTmtORzFDTEVWQlFWTlRMR2RDUVVWTWFrd3NSVUZCVVhaQ0xGRkJRMXAxUWl4RlFVRlJka0lzVDBGQlQzQmtMRXRCUVUweVJDeEZRVUZOZFd4Q0xFbEJUM3BDWVN4SlFVRmpXaXhGUVVGVGRtMUNMRk5CUTNKQ0sySXNSVUZCVVhGTUxGZEJRMnRFTEVsQlFTOUVja3dzUlVGQlVYRk1MRk5CUVZOb2NVSXNTMEZCVFRKRUxFVkJRVTE1YkVJc1JVRkJXVVVzUlVGQlUwVXNVMEZGYkVSc2JrSXNSVUZCVHpKdVFpeFpRVUZoZEcxQ0xFVkJRVTE2UXl4RlFVRk5iMjlDTEVWQlFWTkZMR1ZCUjI1RFVpeEZRVUZST1c1Q0xGTkJNVU5tTEVsQlFVMUJMRXRCUVZFNGJrSXNSVUZEWWpGdFFpeEZRVUZQTkd4Q0xFMUJRVTA1U3l4UFFVRlJlbG9zUlVGQlRYcERMRVZCUVU4MmJVSXNSVUZCVDJ0Q0xFZEJRVXRvWWl4RlFVRlRNVXdzUjBGQlZTeEhRVGhETDBSRUxFVkJRVTk1UkN4alFVRmxhV3BDTEVsQlF6RkNOVWNzUlVGQlUyaEdMRTlCUVZGNldpeEZRVUZOTEcxQ1FVbDZRaXRzUWl4VFFVRlZMRk5CUVZWUkxFZEJSVzVDTEVsQlFVbDRiMElzUlVGQlJ6SkRMRVZCUVVkb1FpeEZRVUZMTkZFc1JVRkJVMmxXTEVWQlFWZHBRaXhGUVVOc1EzSlhMRVZCUVU4c1NVRkJTVFZQTEUxQlFVOTBRaXhWUVVGVmFFSXNVVUZITlVKemJFSXNSVUZCVVRWc1FpeEZRVUZQTkd4Q0xFMUJRVTFyUXl4SlFVRkxSaXhIUVVVeFFtWXNSMEZEUXk5SExFVkJRVk51Wml4SlFVRkxNVVFzUzBGQlRTeFhRVUZqU1N4UFFVRlBOSEJDTEU5QlFWRXNUMEZETDBOeVFpeEZRVUZOYUc1Q0xFOUJRVlVzUjBGRGJrSjVaQ3hGUVVGVmNtTXNSVUZCVHpSc1FpeE5RVUZOZGtvc1VVRkJVM1ZLTEVWQlFVMW9ia0lzVDBGQlZTeEhRVXRxUkN4SlFVWkJORk1zUlVGQlRTeEhRVUZOYjFVc1JVRkZUbmh0UWl4RlFVRkpMRVZCUVVkQkxFVkJRVWxyUXl4VlFVRlZhRUlzVDBGQlVXeENMRWxCUTJ4RGIxTXNSVUZCVFhCVExFZEJRVTFyUXl4VlFVRlhiRU1zUjBGTmVFSXNSMEZJUVhkdFFpeEZRVUZOYlVNc1pVRkJhVUk1Y1VJc1RVRkhiRUp2Wml4RlFVRlJNa3dzWTBGQk1rUXNTVUZCTlVNelRDeEZRVUZSTWt3c1dVRkJXWFJ4UWl4TFFVRk5WQ3hMUVVGTk1tOUNMRWRCUVRWRUxFTkJVMEVzU1VGS1FXbERMRVZCUVdVM2JrSXNSVUZCVHpSc1FpeE5RVUZOYVVJc1UwRkJVMjV3UWl4TFFVRk5WQ3hMUVVGTk1tOUNMRVZCUVU5cFFpeEhRVWQ0UkhwdVFpeEZRVUZKTEVkQlEwMTFVeXhGUVVGVmExY3NSVUZCWTNwdlFpeFJRVUZaZDIxQ0xFVkJRVTF4UXl4M1FrRkpia1FzU1VGSVFYSkRMRVZCUVUxelF5eGpRVUZuUW5aWExFVkJRVkYwVVN4TFFVVTVRbFVzUlVGQlNTeEhRVU5OTm10Q0xFVkJRVmxxVml4RlFVRlJhMVlzVTBGQlZUbHJRaXhSUVVOMFF6WnFRaXhGUVVGTmRVTXNhVU5CU1VSMlF5eEZRVUZOZDBNc1lVRkJjME1zU1VGQmVFSjRRaXhGUVVGVmJtRXNXVUZEYmtOdFdpeEZRVUZOZDBNc1YwRkJWek5rTEV0QlFVMXRZeXhGUVVGVmJtRXNZVUZGYWtOdFdpeEZRVUZOWjBJc1ZVRkJXVUVzUlVGRGJFSm9RaXhGUVVGTmFrY3NTMEZCVDJsSUxFVkJRVlZxU0N4VlFVdFdOMk1zUzBGSVlpOUNMRWxCUVZWbUxFVkJRVTgwYkVJc1RVRkJUWFpLTEZGQlFWTjFTeXhGUVVGVlJ5eFhRVUZqTEVsQlFVdEhMRkZCUXpWRVRpeEZRVUZWYW1Jc1UwRkJWUzlPTEUxQlFVOHJWQ3hGUVVGUmRGRXNTMEZCVFcxUkxFMUJSMVFzUzBGQmVrSnZWU3hGUVVGTmNsWXNUMEZCVTNoUUxFdEJRM0pDTm10Q0xFVkJRVTFUTEdsQ1FVTk9WQ3hGUVVGTlR5eHZRa0ZaV0N4UFFVcExPVW9zUlVGQlVXZE5MR05CUTFwb1RTeEZRVUZSWjAwc1lVRkJZVE54UWl4TFFVRk5WQ3hMUVVGTk1tOUNMRWRCUnpOQ1FTeEZRVUZOY2xZc1UwRkhaSE5YTEZOQlFWVXNVMEZCVldwQ0xFVkJRVTlwUWl4SFFVTXhRaXhKUVVGSmVtNUNMRVZCUVVkM2JrSXNSVUZCVnpOWUxFVkJRVXR4V2l4RlFVRnBRa01zUlVGRGRrTldMRVZCUVdVc1IwRkRabEFzUlVGQlowSlVMRVZCUVZOVExHTkJRM3BDZUdJc1JVRkJUVGhhTEVWQlFVMXVha0lzVDBGSFlpeEhRVUZMTm10Q0xFZEJTVXA0WWl4RlFVRkpkRTRzV1VGUFl5eFZRVUZtYjI1Q0xFVkJRVTFvYmtJc1RVRkJiMEpuYmtJc1JVRkJUVFZUTEZGQlFWVXNSMEZGTjBNc1MwRkJVV3hJTEVsQlFWRTNUeXhMUVVGTk5rOHNSVUZCVFVFc1JVRkJTV3BOTEZsQlFXTTFReXhMUVVrM1F5eEhRVUZ6UWl4SlFVRnFRalpQTEVWQlFVbDBUaXhYUVVGdlF5eFZRVUZtYjI1Q0xFVkJRVTFvYmtJc1QwRkJjVU1zU1VGQmFrSnJUaXhGUVVGSk1VTXNWVUZCYzBJc1EwRkhha1lzU1VGR1FXdG1MRVZCUVd0Q0xFZEJRMnhDUXl4RlFVRnRRaXhIUVVOaWJuQkNMRVZCUVVrc1JVRkJSMEVzUlVGQlNXdHZRaXhGUVVGbGJHOUNMRk5CVFVVd1JDeEpRVUUxUW5sc1FpeEZRVVpNZEZvc1IwRklRVEpZTEVWQlFWbERMRVZCUVZWNmJrSXNTVUZIVG1Fc1UwRkJWeXhQUVVjeFFuTnZRaXhGUVVGclFuUmFMRWRCUVZFeVdDeEZRVUZWT1dVc1lVRkRia001U0N4RlFVRlJhVkFzUlVGQlMyaFRMRTFCUVU5ellpeE5RVUZQZWswc1NVRkJVeXhGUVVOd1F6bE1MRVZCUVU5M1RpeExRVUZOZVVJc1JVRkJTMmhUTEV0QlFVMHNTMEZCVFN4RFFVRkZOazhzU1VGQlVYaE1MRkZCUlhKRGFXOUNMRVZCUVd0Q2RGb3NTVUZEZEVKeFdpeEZRVUZuUW5weFFpeExRVUZOSzI5Q0xFZEJSMjVDTUVJc1JVRkJaMEpvYjBJc1VVRkRjRUoxYmtJc1JVRkJZV2h4UWl4TFFVRk5MRU5CUVVWM1JDeExRVUZOZVVzc1JVRkJTeXRoTEZOQlFWVjVRaXhKUVZrNVF5eFBRVXhCZUdNc1JVRkJUVGRQTEV0QlEwUnhjVUlzUlVGQlowSlVMRVZCUVZOMmJVSXNVVUZETjBKMWJrSXNSVUZCWVdoeFFpeExRVUZOTEVOQlFVVjNSQ3hMUVVGTmVVc3NSVUZCU3l0aExGTkJRVlZCTEVWQlFWTjBjRUlzVFVGQlR5dHdRaXhMUVVkd1JFOHNSMEZIVWxjc1VVRkJVeXhUUVVGVmJtMUNMRVZCUVUxdmJVSXNSMEZEZUVKd2NrSXNUMEZCVDIxcFFpeGxRVUZuUW5obUxFVkJRVTkxYlVJc1RVRkJUV2h0UWl4VlFVRlhPRUlzUlVGQlRTeERRVU53UkhGdFFpeFpRVUZaTEVWQlExcHFTaXhqUVVGakxFVkJSV1E1WlN4SlFVRkxja01zUlVGQldXMXhRaXhIUVVOb1FpeFhRVU5ETEVkQlFVdDRja0lzUzBGQlN6QnlRaXhqUVVOVUxFOUJRVTlHTEVWQlFVMTRja0lzUzBGQlN6QnlRaXhuUWtGSGNFSXNWMEZEUXl4SFFVRkxNWEpDTEV0QlFVc3dja0lzWTBGRFZDeFBRVUZQTVhKQ0xFdEJRVXN3Y2tJc1kwRkJaWFJ0UWl4SlFVazVRbkZrTEVsQlFVc3NVMEZCVlhaaUxFZEJRMlE1Unl4UFFVRlBiV2xDTEdWQlFXZENkbWxDTEV0QlFVMXZSaXhGUVVGTkxFTkJRMnhEY1cxQ0xGbEJRVmtzUlVGRFdtcEtMR05CUVdNc1JVRkRaRzFLTEZWQlFWVXNSVUZEVm5wclFpeE5RVUZQUVN4UlFVMVlNbXBDTEVsQlFVc3NVMEZCVldFc1IwRkRaQ3hQUVVGUFFTeEZRVUZsTTI5Q0xFVkJRVThyUXl4VFFVTTFRalJzUWl4RlFVTkJMRWxCUVVremIwSXNSVUZCVDNWdFFpeE5RVUZQYjBNc1NVRkhjRUowVFN4UlFVRlRMRU5CUTFKM1RTeExRVUZOTEVOQlIweERMRlZCUVZVc1IwRkZXRU1zVFVGQlR5eERRVWRPZUVJc1RVRkJUeXhUUVVGVk5VZ3NSMEZKYUVJc1NVRkJTVzVWTEVWQlFVdDJUeXhOUVVGUk1HbENMRVZCVjJwQ0xFOUJVa3R6UkN4SFFVRmxlRmtzUzBGQlRXVXNSVUZCUnpWTkxFOUJRelZDTkUwc1JVRkJSM1ZrTEU5QlFWTXhaaXhGUVVGVmJVTXNSVUZCU1N4VlFVY3hRbk5oTEVkQlFXZENkR0VzUlVGQlNTeFJRVUZUTWxvc1MwRkpka0lzUjBGRlVtMUNMRkZCUVZNc1UwRkJWVE5ITEVkQlNXeENMRWxCUVVsdVZTeEZRVUZMZGs4c1RVRkJVVEJwUWl4RlFWVnFRaXhQUVZCTGMwUXNSMEZCWlhoWkxFdEJRVTFsTEVWQlFVYzFUU3hQUVVNMVFqUk5MRVZCUVVkMVpDeFBRVUZUTVdZc1JVRkJWVzFETEVWQlFVa3NWVUZGTVVKellTeEhRVUZuUW5SaExFVkJRVWtzVlVGSlpDeEhRVXRTYzFrc1UwRkJWU3hUUVVGVk9FSXNSMEZEYmtJc1NVRkJTVzVxUWl4RlFVRlRiV3BDTEVWQlFVMXVha0lzVDBGRGJrSXNUMEZCVDNkblFpeEhRVUZsZUZrc1MwRkJUV2hKTEVWQlFVODNSQ3hQUVVOc1F6WkVMRVZCUVU5emJVSXNUMEZCVXpGbUxFVkJRVlUxUnl4RlFVRlJMRlZCUTJ4RGNXUXNSVUZCVTI1bUxFbEJRVXM0UWl4RlFVRlJMRlZCUTNSQ05FY3NSVUZCVlRWSExFVkJRVkVzVDBGSmNrSjFiVUlzWVVGQll5eERRVU5pV0N4aFFVRmpMRk5CUVZWNlF5eFJRVWxFT1dsQ0xFbEJRV3BDT0dsQ0xFVkJRVTF5Vml4UlFVRjNRbkZXTEVWQlFVMHJReXhuUWtGRGVFTXZReXhGUVVGTkswTXNZMEZCWTAwc1dVRkJZM0pFTEVWQlFVMXlWaXhaUVc5SE4wTjJVU3hGUVVGUE1tNUNMRmxCUVdNc1UwRkJWWFJ0UWl4RlFVRk5la01zUlVGQlRYTnZRaXhIUVVkeVF6ZHNRaXhGUVVGTE5HTXNjVUpCUTFRMVl5eEZRVUZMTkdNc2IwSkJRWEZDY21Zc1JVRkJUWE52UWl4SlFVbHNRMnh1UWl4RlFVRlBkVzFDTEUxQlFWRXNVMEZCVlRGdVFpeEZRVUZMY1hGQ0xFZEJSemRDTEV0QlFWRnFjMElzWjBKQlFXZENLME1zUlVGQlQzVnRRaXhQUVVNNVFpeFBRVUZQTEVsQlFVbDJiVUlzUlVGQlQzVnRRaXhOUVVGUE1XNUNMRVZCUVV0eGNVSXNSMEZKTVVKeWNVSXNSMEZCVDBFc1JVRkJTVVFzVFVGRFpqTkNMRXRCUVVzd2NrSXNZMEZCWjBJNWNFSXNSVUZEY2tJMVFpeExRVUZMTWtJc1MwRkJUME1zUlVGQlNVUXNTMEZKYUVJelFpeExRVUZMYTNOQ0xHMUNRVUZ4UW5SeFFpeEZRVUZKZFhGQ0xIVkNRVU5JZEcxQ0xFbEJRWHBDYWtVc1JVRkJTWFZ4UWl4dFFrRkhaMElzU1VGQmNFSjJjVUlzUlVGQlNXOXhRaXhaUVVOTU9VUXNSMEZEUVVNc1IwRkxSRzV2UWl4TFFVRkxkMFlzVDBGQlZ6VkVMRVZCUVVrMFJDeFJRVUZyUXl4SlFVRjRRalZFTEVWQlFVazBSQ3hQUVVGUGFrVXNVMEZEZUVOTExFVkJRVWswUkN4UFFVRlBOVU1zVjBGRFdHaENMRVZCUVVrMFJDeFBRVVZNZUVZc1MwRkJTMmx5UWl4alFVRm5Rbkp3UWl4RlFVRkpjWEJDTEdOQlEzcENhbkpDTEV0QlFVdHZjMElzWTBGQlowSjRjVUlzUlVGQlNYZHhRaXhsUVVsNlFuQnpRaXhMUVVGTE1rSXNTMEZCVDBNc1JVRkpVbkZ4UWl4SFFVTktiSEJDTEVWQlFVOXRReXhQUVVGUmJFWXNTMEZCVFdselFpeEhRVWwwUW1welFpeExRVUZMY1hOQ0xGVkJRVmw2Y1VJc1IwRkJUMEVzUlVGQlNYbHhRaXhYUVVGaE5XcENMRXRCUVVzMmFrSXNUVUZIT1VOMGMwSXNTMEZCVFN0RExFVkJRVThyUXl4VlFVRlpMRWRCU3pGQ0wwTXNSVUZCVDNWdFFpeE5RVUZOYUcxQ0xGVkJRVmtzUTBGRGVFSkZMRmxCUVdGVUxFVkJRVTkxYlVJc1RVRkRjRUkwUXl4dFFrRkJiMEl2UkN4SFFVTndRalpETEhGQ1FVRnpRamRETEVkQlEzUkNLME1zT0VKQlFTdENMME1zUjBGREwwSnZSU3hoUVVGaExFVkJSV0p1UkN4bFFVRm5RaXhYUVVObUxFbEJRVWsxWXl4RlFVRkplRTBzUzBGQlN6QnlRaXhqUVVWaU1YSkNMRXRCUVV0cmMwSXNiVUpCUVhGQ2FFVXNSMEZGY2tJeFlpeEpRVUZOZUUwc1MwRkJTM1Z6UWl4aFFVTm1MMllzUlVGQlJUUmpMR3RDUVVkS1JpeG5Ra0ZCYVVJc1YwRkRhRUlzU1VGQlNURmpMRVZCUVVsNFRTeExRVUZMTUhKQ0xHTkJSV0l4Y2tJc1MwRkJTMmR5UWl4eFFrRkJkVUk1UXl4SFFVVjJRakZpTEVsQlFVMTRUU3hMUVVGTGRYTkNMR0ZCUTJZdlppeEZRVUZGTUdNc2JVSkJSMHBETEhsQ1FVRXdRaXhYUVVONlFpeEpRVUZKTTJNc1JVRkJTWGhOTEV0QlFVc3dja0lzWTBGRllqRnlRaXhMUVVGTGEzSkNMRGhDUVVGblEyaEVMRWRCUldoRE1XSXNTVUZCVFhoTkxFdEJRVXQxYzBJc1lVRkRaaTltTEVWQlFVVXlZeXd5UWtGSFNHNXdRaXhMUVVGTGEzQkNMRzlDUVV0UWJtMUNMRVZCUVU5clFpeExRVUZOTEVOQlExcDFiMElzVVVGQlVTeEZRVU5TUXl4VFFVRlRMRVZCUTFSRExGbEJRVmtzUlVGRFdrTXNaMEpCUVdkQ0xFVkJRMmhDUXl4VFFVRlRMRVZCUTFSRExGRkJRVkVzUlVGRFVrTXNXVUZCV1N4RlFVTmFReXhUUVVGVExFVkJRMVJETEU5QlFVOHNSVUZEVUVNc1QwRkJUeXhGUVVOUVF5eFZRVUZWTEVWQlExWkRMRTFCUVUwc1JVRkRUa01zVFVGQlVTeEZRVU5TY0hKQ0xFMUJRVTBzUlVGRFRuRnlRaXhWUVVGVkxFVkJRMVp1Wml4TFFVRkxMRVZCUTB4dlppeFRRVUZUTEVWQlExUjJXQ3hSUVVGUkxFVkJRMUozV0N4VFFVRlRMRVZCUTFSRExGTkJRVk1zUlVGRFZFTXNVMEZCVXl4RlFVTlVReXhUUVVGVExFVkJRMVJETEZOQlFWTXNSVUZEVkVNc1YwRkJWeXhGUVVOWVF5eGhRVUZoTEVWQlEySkRMRk5CUVZNc1JVRkRWRU1zVTBGQlV5eEZRVU5VUXl4bFFVRmxMRVZCUTJaRExGZEJRVmNzUlVGRFdFTXNVMEZCVXl4RlFVTlVReXhQUVVGUExFZEJRMHh3Y2tJc1JVRkJUelJzUWl4TlFVRk5ORU1zVTBGRmFFSjRiMElzUlVGQlQydENMRXRCUVUwc1EwRkJSVzFTTEUxQlFVOHNWVUZCVjJkYUxFdEJRVTBzV1VGQll5eFRRVUZWZW5OQ0xFVkJRVTF6YmtJc1IwRkRjRVZzYlVJc1JVRkJUelJzUWl4TlFVRk5ka29zVVVGQlUzcGtMRWRCUVZNc1EwRkhPVUl5YjBJc1RVRkJUeXhYUVZGT0xFOUJTRUY2UWl4SFFVRm5RamR2UWl4TFFVRk5Na0lzUlVGQlRYbHRRaXhMUVVkeVFpeEhRVVZTYVVJc1VVRkJVeXhYUVUxU0xFOUJTRUZTTEVkQlFXZENOMjlDTEV0QlFVMHlRaXhKUVVkbUxFZEJTMUpyYkVJc1UwRkJWU3hYUVVOVUxFOUJRVThzUjBGSFVtOURMR0ZCUVdOQkxFdEJXV2hDYkcxQ0xFVkJRVTlyUWl4TFFVRk5MRU5CUTFwdmNVSXNWMEZCV1N4WlFVTmFReXhYUVVGWkxGZEJRMXBETEdGQlFXTXNZMEZEWkVNc1lVRkJZeXhqUVVOYUxGTkJRVlZETEVWQlFVMDFSQ3hIUVVOc1FqbHVRaXhGUVVGUE5HeENMRTFCUVUxMlNpeFJRVUZUY1ZBc1IwRkJVeXhEUVVNNVFuaEdMR0ZCUVdNMFFpeEZRVU5rVkN4VFFVRlZVeXhGUVVWV1dpeFBRVUZSTEZOQlFWVjBRaXhIUVVOcVFpeEpRVUZKTjJ0Q0xFVkJSVWcwY1VJc1JVRkJWUzlHTEVWQlFVMTVSQ3hqUVVOb1FucERMRVZCUVZsb1FpeEZRVUZOWjBJc1ZVRlRia0lzVDBGTVRTdEZMRWxCUVdGQkxFbEJUbFF4ZFVJc1RVRk5aME1yUXl4RlFVRlBlVVlzVTBGT2RrTjRTU3hMUVUxNVJEQjFRaXhOUVVOc1JTOUdMRVZCUVUxb2JrSXNTMEZCVDJkdlFpeEZRVUZWUnl4VFFVTjJRbWh0UWl4RlFVRk5ObXhDTEVWQlFWVnFZaXhSUVVGUkwwNHNUVUZCVDFnc1MwRkJUWEZGTEZkQlEzSkRjMnRDTEVWQlFVMW9ia0lzUzBGQlQydHdRaXhIUVVWUUwyMUNMRTFCUzFabUxFVkJRVTlITEVkQlFVZG5ReXhQUVVGUkxFTkJSV3BDY1dwQ0xFZEJRVWtzVTBGQlZVTXNSVUZCVDNoc1FpeEZRVUZWTUdZc1JVRkJUWGhtTEVkQlEzQkRMRTlCUVU5eGJFSXNSMEZCU1hadlFpeExRVUZOZDI5Q0xFVkJRVTk0YkVJc1JVRkJWVEJtTEVWQlFVMTRaaXhKUVVWNlEzVnNRaXhKUVVGTExGTkJRVlZFTEVWQlFVOTRiRUlzUlVGQlZUQm1MRVZCUVUxNFppeEhRVU55UXl4UFFVRlBjV3hDTEVkQlFVbDJiMElzUzBGQlRYZHZRaXhGUVVGUGVHeENMRVZCUVZVd1ppeEZRVUZOZUdZc1JVRkJTU3hKUVVVM1F6QnNRaXhKUVVGTExGTkJRVlZLTEVWQlFVOTRiRUlzUlVGQlZVVXNSMEZETDBJc1NVRkJTWGx0UWl4RlFVRlhhRzlDTEVWQlEyWXNSMEZCU3padFFpeEhRVUZUUVN4RlFVRk5XU3huUWtGQmEwSmFMRVZCUVUxdFFpeFZRVmN6UXl4UFFWSkJRU3hGUVVGWmJrSXNSVUZCVFcxQ0xGVkJRMnhDTlcxQ0xFVkJRVkY1YkVJc1JVRkJUWE5ETEdkQ1FVRnBRbXhETEVsQlF6bENaU3hGUVVGVmJtRXNWVUZEVkcxaExFVkJRVlZITEZOQlFWY3NTVUZCVFVnc1JVRkJWVzVoTEZWQlEzSkRiV0VzUlVGQlZVY3NVMEZEV0Vnc1JVRkJWVE50UWl4VFFVTldNbTFDTEVWQlFWVnFZaXhUUVVWS01VOHNTMEZGVWl4SFFVRnpRaXhwUWtGQlZuZHZRaXhGUVVGeFFpeERRVWRvUXl4SlFVRk5OMjFDTEV0QlFWRTJiVUlzUlVGRFluaHZRaXhMUVVGTE5HOUNMRWxCUVV0cWJrSXNSVUZCVFhGQ0xFVkJRVlYzYkVJc1JVRkJUemR0UWl4SlFVVnNReXhQUVVGUE0wSXNTMEZYVWl4UFFWUnJRaXhKUVVGaVowUXNSMEZCTUVNc2JVSkJRV0pCTEVsQlIycERSU3hGUVVGTFJpeEZRVU5NUVN4UFFVRlhOa01zU1VGRlFTeEpRVUZRTTBNc1NVRkRTa0VzUlVGQlMybHNRaXhKUVVWRGJtOUNMRXRCUVV0cFJTeExRVUZOTEZkQlEycENiRUlzUlVGQlR6UnNRaXhOUVVGTk9Vc3NUMEZCVVRka0xFdEJRVTEzYjBJc1JVRkJUM1JzUWl4RlFVRkpSaXhSUVUxNlF5eEpRVXRETW5KQ0xFZEJRV1VzZDBKQlIyWkRMRWRCUVZjc2IwTkJRMWhETEVkQlFXVXNNa05CUjJoQ0xGTkJRVk5ETEVkQlFXOUNNWEZDTEVWQlFVMDBXQ3hIUVVOc1F5eFBRVUZMTlZBc1JVRkJWV2hKTEVWQlFVMHNWVUZEY0VKblNTeEZRVUVyUWl4TFFVRnlRalJRTEVWQlFWRjZZU3hUUVVGclFubGhMRVZCUVZWQkxFVkJRVkV4U2l4WFFVRlpMRTlCUlRORWRsQXNSVUZCVVhGQ0xFZEJRVTh5Vnl4VFFVRlZMRk5CUVZjc1NVRkhja016Vnl4RlFVbFNMRk5CUVZNeWNVSXNSMEZCWlROeFFpeEhRVVYyUWl4UFFVUkJRU3hGUVVGTGVrTXNUVUZCZVVNc1QwRkJhRU41UXl4RlFVRkxOVUlzWVVGQll5eFRRVUZ6UWl4SlFVRk5ORUlzUlVGQlMzcERMRXRCUXpORWVVTXNSVUZGVWl4VFFVRlROSEZDTEVkQlFXVTFjVUlzUjBGUGRrSXNUVUZPTWtNc1YwRkJjRU5CTEVWQlFVdDZReXhOUVVGUkxFbEJRVXR5UWl4TlFVRlBMRVZCUVVjc1IwRkRiRU00UkN4RlFVRkxla01zUzBGQlQzbERMRVZCUVV0NlF5eExRVUZMY2tJc1RVRkJUeXhIUVVVM1FqaEVMRVZCUVVzeVNpeG5Ra0ZCYVVJc1VVRkhhRUl6U2l4RlFVZFNMRk5CUVZNMmNVSXNSMEZCWjBKeWRFSXNSVUZCUzNOMFFpeEhRVU0zUWl4SlFVRkpMM05DTEVWQlFVZHBXaXhGUVVGSGVsb3NSVUZCWjBKM2RFSXNSVUZCVlVNc1JVRkJWVE5HTEVWQlJUbERMRWRCUVhWQ0xFbEJRV3hDZVVZc1JVRkJTek4wUWl4VFFVRldMRU5CUzBFc1IwRkJTM05vUWl4RlFVRlRSQ3hSUVVGVGFHaENMRXRCUlhSQ05tNUNMRVZCUkZjMVJ5eEZRVUZUYm1Zc1NVRkJTemxDTEVkQlExQTJia0lzVVVGTGFrSXNTVUZCVFRsdVFpeExRVVpPYTJoQ0xFVkJRVk5vUml4UFFVRlJjVklzUlVGQlRTeHBRa0ZGVkhwR0xFVkJRMklzU1VGQlRYUnVRaXhGUVVGSkxFVkJRVWRwV2l4RlFVRkpjVThzUlVGQlVUbHVRaXhIUVVGUE1FSXNUMEZCVVd4Q0xFVkJRVWxwV2l4RlFVRkhhbG9zU1VGRE9VTlpMRVZCUVU4MGJFSXNUVUZCVFc1T0xFbEJRVXN3VkN4RlFVRk5kblJDTEVWQlFVMDRia0lzUlVGQlVUbHVRaXhIUVVGUlVTeEpRVTgzUXpKblFpeEZRVUZUUml4UlFVRlRhR2hDTEV0QlEzUkNkWFJDTEVWQlFWZHlUU3hGUVVGVGVrSXNUMEZCVVhwbUxFZEJRelZDZDNSQ0xFVkJRVmR5YzBJc1JVRkJUMjFETEU5QlFWRXNSMEZCU1dseFFpeEhRVVU1UW5KTkxFVkJRVk5NTEVsQlFVdDVUU3hGUVVGTlJTeExRV3RDZEVJc1UwRkJVME1zUjBGQlZVTXNSVUZCV1M5aExFVkJRVTF5VVN4RlFVRlZkMnBDTEVkQlJ6bERibFFzUlVGQlQyaFZMRVZCUVUxblZTeEhRVVZpTEVsQlFVbHpWQ3hGUVVGVmRtcENMRVZCUVU5cmFrSXNSVUZCVXl0SUxFVkJRVmwwZEVJc1JVRkJUVU1zUlVGREwwTkRMRVZCUVVrc1JVRkRTbWxhTEVWQlFVbHJWU3hGUVVGWGFuTkNMRTlCUTJadGMwSXNSVUZCVjNCVkxFVkJRVWtzUlVGRFpteFZMRVZCUVZGeFRpeEZRVUZOTEVkQlEyUnJZaXhGUVVGclFuQjFRaXhGUVVGWk5rWXNSMEZITDBJc1IwRkJTM1Z2UWl4SFFVTkVjbFVzUlVGQlNTeEhRVUZ6UWl4cFFrRkJWbXhWTEVsQlEyaENPVVlzUlVGQlVXZHNRaXhaUVVGamQwa3NSMEZCVTNCb1FpeExRVUZOZEVjc1IwRkRlRU1zVDBGQlQyOXZRaXhGUVVGWGNuSkNMRXRCUVUwc1UwRkJWWEZZTEVkQlEycERMRWxCUVVsaUxFVkJRVTgyVlN4RlFVRlhMM0ZDTEVkQlFVa3JWeXhIUVVOeVFtMVZMRWxCUTBwc1lpeEZRVUZOTEVkQlFVMXlUaXhGUVVGTmVrY3NTMEZCVFZRc1MwRkJUWE5pTEVWQlFVOWlMRVZCUVV0cFZpeFRRVVV6UTB3c1IwRkJWVFZWTEVWQlFVMXNSeXhGUVVGTmNsRXNSVUZCVlhkcVFpeExRVWxzUXl4SFFVRkxkRTBzU1VGRlNqbFhMRWRCUkVGMWFrSXNSVUZCVjA0c1IwRkJaV2hVTEVWQlFVMHJZU3hGUVVGWkxFZEJRVWx5YVVJc1pVRkJaU3hGUVVGUGNXbENMRVZCUVZrMVNDeEpRVU5xUlhCV0xGZEJSVzFDTEVsQlFTOUNkVllzUlVGQlUzUmlMRmRCUVZkc1NpeFRRVU40UW5kclFpeEZRVUZYZG1wQ0xFZEJTVkJCTEVkQlFWTnZha0lzUjBGQlZTeERRVTkyUWl4SlFVeEJOa2dzUjBGRVFTOUlMRVZCUVZWNmEwSXNSVUZCVDI5Q0xFbEJRVXN5YVVJc1IwRkJVV1VzUlVGQlZTeFZRVUZaYTBnc1MwRkRMMEl4Y2tJc1QwRkxZbXhDTEVWQlFVbHBXaXhGUVVGSGFsb3NTVUZEWkVZc1JVRkJUelJzUWl4RlFVVkdNV3hDTEVsQlFVMXhkRUlzU1VGRFZuWjBRaXhGUVVGUFl5eEZRVUZQZDBNc1RVRkJUM1JFTEVkQlFVMHNSMEZCVFN4SFFVYzFRbk4wUWl4SFFVbEtlSE5DTEVWQlFVOW5RaXhOUVVGUGVXcENMRVZCUVZOV0xFZEJRVkUzYTBJc1JVRkJUU3haUVVsMlEybERMRVZCUVZONlJDeExRVUZOTm5WQ0xFVkJRVmx1ZEVJc1IwRkJTMFlzUlVGQlRVVXNSMEZIZGtNc1IwRkJTMjkwUWl4RlFVOUtMRWxCVGtGeWRFSXNSVUZCVFhOc1FpeEZRVUZUUVN4RlFVRlJibXRDTEU5QlFWTXNSMEZCU1RSS0xHTkJSM0JEYkVzc1JVRkJUMjlDTEVsQlFVdHhha0lzUlVGQlUzZElMRWxCUjJZM2MwSXNSVUZCU1N4RlFVRkhRU3hGUVVGSmIzUkNMRVZCUVZsd2RFSXNTVUZETlVKR0xFVkJRVTkxYkVJc1JVRkJVM0pzUWl4SFFVTllLMnBDTEVkQlFWa3hXU3hMUVVGTmRrd3NSVUZCUzA0c1RVRkJVU3hOUVVOc1EydG9RaXhGUVVGVGVFSXNUMEZCVVhCbUxFVkJRVTBzWlVGRGVFSmpMRVZCUVU5NVJpeFRRVUZWZEVjc1JVRkJTMFFzUzBGRmFrSkJMRVZCUVV0TUxFdEJRVGhETEZsQlFYSkRTeXhGUVVGTFRpeE5RVUZSTEVsQlFVczJSaXhqUVVjdlFucEZMRVZCUVU4MGMwSXNWMEZCWVRGMFFpeEZRVUZMU0N4VlFVTTNRbWxDTEVWQlFVODBjMElzVTBGQlZURjBRaXhGUVVGTFRDeEpRVUZMTEVOQlF6RkNReXhOUVVGUFNTeEZRVUZMU2l4UFFVRlRTU3hGUVVGTFR5eGhRVUZqTEZWQlEzUkRUaXhIUVVkS1NDeEZRVUZUUlN4RlFVRkxiMUVzV1VGQldYQk5MRkZCUVZNMGIwSXNSMEZCWXl4SlFVRk5OWE5DTEVWQlFVMURMRWxCVVc1RkxFOUJRVTl2ZEVJc1JVRkhVaXhUUVVGVGVsSXNSMEZCVVhwYUxFVkJRVTF3UWl4RlFVRlZOSE5DTEVkQlMyaERMRWxCU2tFc1NVRkJTVE4wUWl4RlFVTklObXhDTEVWQlFWRTVhMElzUlVGQlYwUXNSVUZCVDNOT0xFOUJRVkZ5VGl4RlFVRlZiMElzUjBGQlUwRXNSVUZEY2tScVF5eEZRVUZKTEVWQlJUUkNMRTlCUVhaQ1JpeEZRVUZQTm14Q0xFVkJRVTh6YkVJc1NVRkJaVUVzU1VGRGFFTjVkRUlzUjBGQk9FSXNTVUZCYkVJemRFSXNSVUZCUzFZc1ZVRkRkRUozUWl4RlFVRlBPSE5DTEZWQlFWY3ZTU3hIUVVGUk4ydENMRWxCUjNSQ1FTeEZRVUZMVnl4aFFVTktaM1JDTEVkQlFWbDJUQ3hIUVVGWmNHbENMRWxCUXpWQ09HdENMRWRCUVdWRUxFZEJRVkUzYTBJc1JVRkJUU3hYUVVVNVFrRXNSVUZCUzFjc1YwRkJWME1zV1VGQllWb3NTVUZKTDBJc1QwRkJUMjFETEVWQlIxSnlRaXhGUVVGUGJVTXNUMEZCVVN4RFFVTmtObWxDTEdOQlFXVXNVMEZCVlRKSUxFZEJRM2hDTEU5QlFVOUJMRWRCUjFKdWNVSXNUVUZCVHl4VFFVRlZia0lzUlVGQlRUQnlRaXhGUVVGbFF5eEhRVU55UXl4SlFVRkpOWFJDTEVWQlFVZHBXaXhGUVVGSE5GVXNSVUZCWVVNc1JVRndTVTV5ZFVJc1JVRkJTM04wUWl4RlFVTnVRamxwUWl4RlFXOUpSamRITEVWQlFWRnVRaXhGUVVGTGFXbENMRmRCUVZjc1IwRkRlRUkyU2l4RlFVRlROMHdzUjBGQldXcG5RaXhIUVVkMFFpeExRVUZOYUVRc1JVRkJVV3RzUWl4blFrRkJjME1zU1VGQmJFSnNhVUlzUlVGQlN6ZERMRlZCUVc5RExFdEJRV3hDTmtNc1JVRkJTemRETEZWQlF6TkVkMElzUlVGQlR5dFhMRk5CUVZVeFZpeEpRVTF1UWl4SlFVaEJObkpDTEVWQlFXVnVTaXhIUVVGUmRtaENMRWRCUjJwQ2NFUXNSVUZCU1N4RlFVRkhhVm9zUjBGR1lqUlZMRVZCUVdOc1NpeEhRVUZSTVdsQ0xFbEJSVTltTEU5QlFWRnNRaXhGUVVGSmFWb3NSVUZCUjJwYUxFbEJhRW8xUWxBc1JVRnBTa3h2ZFVJc1JVRkJZVGQwUWl4SFFXcEtTQ3R6UWl4RlFXbEtVV1VzUlVGQll6bDBRaXhIUVdoS2VrTnBTeXhQUVVGQlFTeEZRVWRqTEZkQlNHUkJMRVZCUVZjNGFVSXNSVUZCU3pscFFpeFRRVUZUTlVVc1owSkJSMEYzWlN4SFFVRmxlRmtzUzBGQlRUVk1MRVZCUVVsRUxFMUJRM0pFZFhSQ0xFVkJRVXQ0V2l4UlFVRlZPVlFzUlVGQlNUaFVMRkZCUjBzc1ZVRkJZblJLTEVkQlFYRkRMR0ZCUVdKQkxFbEJRMjVET0dsQ0xFVkJRVXQwVml4aFFVRmxhRmtzUlVGQlNXZFpMR05CTmtsNFFpeEhRVUZMYTFjc1JVRkRTaXhIUVVGTFF5eEZRVWxLTEVsQlNFRkRMRVZCUVdOQkxFZEJRV1ZzU2l4SFFVRlJNV2xDTEVkQlEzSkRObkpDTEVWQlFXVkJMRWRCUVdkQ2Jrb3NSMEZCVVhab1FpeEhRVVZxUTNCRUxFVkJRVWtzUlVGQlIybGFMRVZCUVVrMFZTeEZRVUZaTTNOQ0xFOUJRVkZzUWl4RlFVRkphVm9zUlVGQlIycGFMRWxCUXpORE9ITkNMRWRCUVdkQ1pTeEZRVUZoTjNSQ0xFZEJRVXM0ZEVJc1JVRkJZemwwUWl4VFFVZHFSRGh6UWl4SFFVRm5RamR4UWl4RlFVRk5iVUlzUjBGWGVFSXNUMEZPUVRCeFFpeEZRVUZsYmtvc1IwRkJVWFpvUWl4RlFVRlBMRmRCUTFwc1F5eFBRVUZUTEVkQlF6RkNNR3BDTEVkQlFXVnJTaXhIUVVGbFF5eEhRVUZWY0Vvc1IwRkJVVEZwUWl4RlFVRk5MRmRCU1doRWJVSXNSMEZIVW5OeFFpeFZRVUZYTEZOQlFWVm9jMElzUjBGTGNFSXNTVUZLUVN4SlFVRkpObVVzUlVGQlRYUmxMRVZCUVUxNlF5eEZRVU5tZVdRc1JVRkJWWEpqTEVWQlFVODBiRUlzVFVGQlRYWktMRkZCUTNaQ2FtUXNSVUZCU1N4UFFVVTJRakJFTEV0QlFYaENla0lzUlVGQlQxQXNSVUZCVHpGQ0xFbEJRWEZDUVN4SlFVTTFReXhIUVVGTFoyZENMRVZCUVZrdlpDeEhRVUZUTEVOQlEzcENMRWRCUVU5elpTeEZRVUZQZEdVc1JVRkJUWGxsTEVWQlFWTXZZeXhUUVVGakxFTkJRekZETEVkQlFVczBZeXhGUVVGTEswY3NUMEZEVkN4SlFVRk5PVzVDTEV0QlFWRXJaMElzUlVGQlN5dEhMRTlCUTJKeVN5eEZRVUZUZW1Rc1IwRkRZbTlDTEVWQlFVODBiRUlzVFVGQlRUbExMRTlCUVZGNldpeEZRVUZOZWtNc1IwRkpNMEp2UWl4RlFVRlBNbTVDTEZsQlFXRjBiVUlzUlVGQlRYcERMRVZCUVUwclowSXNSVUZCUzNWSUxGRkJUM2hETjJ4Q0xFVkJRVTE1WlN4RlFVRlRMMk1zWTBGQldVUXNSVUZGZGtKNlFpeEZRVUZOTUdVc1JVRkJVMmhrTEZkQlNXNUNNVUlzUlVGQlRUQmxMRVZCUVZOb1pDeGpRVUZaUkN4UFFVOW9RemxETEVWQlFVOUhMRWRCUVVkblF5eFBRVUZSTEVOQlEycENhWEpDTEU5QlFWRXNVMEZCVlc1MFFpeEhRVU5xUWl4UFFVRlBObUVzUjBGQlVUZGtMRXRCUVUxblJDeEhRVUZWTEVsQlIyaERObUVzVDBGQlVTeFRRVUZWTjJFc1IwRkRha0lzVDBGQlR6WmhMRWRCUVZFM1pDeExRVUZOWjBRc1NVRkhkRUpVTEV0QlFVMHNVMEZCVlRKRkxFZEJRMllzVDBGQlQyMWhMRVZCUVZGeWFFSXNTMEZCVFN4VFFVRlZhMGdzUjBGRE9VSXNXVUZCYVVKeVFpeEpRVUZXY1VJc1JVRkRUbTVGTEVWQlFVOVNMRXRCUVUxMlF5eE5RVU5pUVN4TFFVRkxObFlzVVVGQlVUVlNMRXRCUVUwc1YwRkRTeXhKUVVGc1FtcEZMRXRCUVV0MVFpeFZRVUZ2UXl4TFFVRnNRblpDTEV0QlFVdDFRaXhWUVVGeFF5eEpRVUZzUW5aQ0xFdEJRVXQxUWl4WFFVTjRSSFpDTEV0QlFVdHhVeXhaUVVGamJrd3NUVUZIY0VJc1MwRkJUVUVzUlVGQlR6ZERMRlZCUVZWb1FpeFRRVWN6UWl0elFpeFBRVUZSTEZkQlExQXNUMEZCVDJZc1IwRkJWWEoyUWl4TFFVRk5jVVVzVlVGQlZ5eFRRVUZWUkN4SFFVTndRaXhKUVVGc1FuQkZMRXRCUVV0MVFpeFZRVUZ2UXl4TFFVRnNRblpDTEV0QlFVdDFRaXhWUVVGeFF5eEpRVUZzUW5aQ0xFdEJRVXQxUWl4VlFVTXpRM1YwUWl4SFFVRnZRamwxUWl4TFFVRk5iMFVzUjBGRGFFTjZRaXhaUVVGaGVVSXNUVUZMZGtKcGMwSXNVVUZCVXl4WFFVTlNMRTlCUVU5b1FpeEhRVUZWY25aQ0xFdEJRVTF4UlN4VlFVRlhMRk5CUVZWRUxFZEJRek5ETEVkQlFYVkNMRWxCUVd4Q2NFVXNTMEZCUzNWQ0xGVkJRVzlETEV0QlFXeENka0lzUzBGQlMzVkNMRlZCUVhGRExFbEJRV3hDZGtJc1MwRkJTM1ZDTEZOQlFXbENMRU5CUTNwRkxFbEJRVWxwUlN4RlFVRlRjM0JDTEVkQlFXOUNPWFZDTEV0QlFVMXZSU3hIUVVOMlEyOUNMRVZCUVU4NGNVSXNZVUZCWTJ4elFpeEZRVUZOYjBJc1JVRkJUemhOTEdkQ1FVdHlRMmxsTEU5QlFWRXNWMEZEVUN4UFFVRlBiRUlzUjBGQlZYSjJRaXhMUVVGTmNVVXNWVUZCVnl4VFFVRlZSQ3hIUVVOMFEzQkZMRXRCUVVzMFF5eFpRVU5VTlVNc1MwRkJTelJETEZkQlFWY3dkRUlzWVVGQlkyeHpRaXhGUVVGTmNFVXNVMEZMZGtOM2QwSXNUVUZCVHl4WFFVTk9MRTlCUVU5dVFpeEhRVUZWY25aQ0xFdEJRVTF4UlN4VlFVRlhMRk5CUVZWRUxFZEJRM1JEY0VVc1MwRkJTelJETEZsQlExUTFReXhMUVVGTE5FTXNWMEZCVnpCMFFpeGhRVUZqYkhOQ0xFVkJRVTF3UlN4TFFVRkxaMUFzWjBKQlN6VkROa2NzVFVGQlR5eFhRVWxPTEVsQlNFRXNTVUZCU1hwU0xFVkJRMGhxUXl4RlFVRkpMRVZCUlRKQ0xFOUJRWFJDYVVNc1JVRkJUM0JGTEV0QlFVMXRReXhKUVVGbFFTeEpRVU5rTEVsQlFXeENhVU1zUlVGQlN6ZERMRmRCUjFSM1FpeEZRVUZQT0hOQ0xGVkJRVmN2U1N4SFFVRlJNV2xDTEVkQlFVMHNTVUZIYUVOQkxFVkJRVXRwVHl4WlFVRmpMRWxCU1hKQ0xFOUJRVTl5VXl4TlFVZFNkVVlzVFVGQlR5eFRRVUZWZFhGQ0xFVkJRV1ZETEVkQlNTOUNMRTlCU0VGRUxFVkJRV2xETEUxQlFXcENRU3hIUVVGblEwRXNSVUZEYUVSRExFVkJRWGxETEUxQlFYSkNRU3hGUVVFMFFrUXNSVUZCWjBKRExFVkJSWHBFTDNaQ0xFdEJRVXR0UlN4SlFVRkxMRmRCUTJoQ0xFOUJRVTl3UWl4RlFVRlBkME1zVFVGQlQzWkdMRXRCUVUwNGRrSXNSVUZCWlVNc1RVRkpOVU5NTEV0QlFVMHNVMEZCVlhodlFpeEhRVU5tTEU5QlFVOXRZU3hGUVVGUmNtaENMRXRCUVUwc1UwRkJWV3RJTEVkQlF6bENMRWxCUVVrNVF5eEZRVUZQY0VVc1MwRkJUU3hKUVVGUExFZEJRM1pDYlVNc1JVRkJTU3hGUVVOS2FWb3NSVUZCU1hCaUxFdEJRVXR4UkN4UFFVVldMRkZCUVdWM1F5eEpRVUZXY1VJc1IwRkJlVU1zU1VGQmJFSTVReXhGUVVGTE4wTXNVMEZEYUVNc1QwRkJUelpETEVWQlFVdDNUU3hWUVVsaUxFZEJRWE5DTEdsQ1FVRldNVW9zU1VGQmRVSjVia0lzUjBGQllXNW9RaXhMUVVGTmRFY3NTMEZEY0VSelppeEpRVUZYVUN4SFFVRlRMMWtzUzBGQlRXaEhMRWxCUVZjc1EwRkJSU3hIUVVGSkxFdEJRVkVzUjBGQlNVMHNaVUZCYTBJc1EwRkZNVVZPTEVWQlFWRnVSU3hGUVVGUFoyeENMR05CUVdVM1owSXNSMEZGT1VJc1NVRkRReXhMUVVGUkwwVXNSVUZCU1dsYUxFVkJRVWRxV2l4SlFVbFRMRXRCU0haQ2FVTXNSVUZCVDNCRkxFdEJRVTF0UXl4SlFVRlBMRWxCUjFaYUxGZEJRMVIzUWl4RlFVRlBPSE5DTEZWQlFWY3ZTU3hIUVVGUk1XbENMRWRCUVUwc1NVRkRhRU5CTEVWQlFVdDNUU3hWUVVGWk1Vb3NSMEZKYmtJNVF5eEZRVUZQTEVWQlIwNHNUVUZCVVc5SkxFdEJSMDV3U1N4SFFVTktjRVVzUzBGQlN6WldMRkZCUVZGMVlTeFBRVUZSYkhCQ0xFbEJSWEJDTEV0QlFVMUJMRVZCUVU4M1F5eFZRVUZWYUVJc1UwRkhNMEp2ZEVJc1dVRkJZU3hYUVVOYUxFbEJRVWt2U1N4RlFVRlZMRWRCUjJRc1QwRkJUekpJTEVkQlFWVnlka0lzUzBGQlRYRkZMRlZCUVZjc1UwRkJWVVFzUjBGRE0wTXNTVUZCU1RoUUxFVkJRVk5zVlN4TFFVRkxORU1zVjBGRllrY3NSVUZCVHpaRUxGRkJRVk0xUnl4TFFVRk5NRzVDTEVkQlFWa3NTVUZEZEVNemEwSXNSVUZCVHpoelFpeFZRVUZYTDBrc1IwRkJVVGx0UWl4UFFVTnlRbXRWTEVkQlEwcEJMRVZCUVU5M1l5eGhRVUZqZEhOQ0xFVkJRVTF3UlN4UlFVc3pRakJ1UWl4TlFVbE1NMnRDTEVWQlFVOXJRaXhMUVVGTkxFTkJRMW93YzBJc1UwRkJWU3hUUVVOV1F5eFZRVUZYTEZWQlExaE9MR0ZCUVdNc1UwRkRaRThzV1VGQllTeFJRVU5pUXl4WFFVRlpMR1ZCUTFZc1UwRkJWVEZ5UWl4RlFVRk5NbkpDTEVkQlEyeENhSFZDTEVWQlFVOUhMRWRCUVVsclF5eEhRVUZUTEZOQlFWVndReXhIUVU4M1FpeEpRVTVCTEVsQlFVbGhMRVZCUTBoRExFVkJRVTBzUjBGRFRtdDBRaXhGUVVGVGFuVkNMRVZCUVZGRExFZEJRMnBDZDBJc1JVRkJUM2R6UWl4RlFVRlBNM1JDTEU5QlFWTXNSVUZEZGtKc1FpeEZRVUZKTEVWQlJVZEJMRWRCUVV0eFF5eEZRVUZOY2tNc1NVRkRiRUl3UWl4RlFVRlJNVUlzU1VGQlRYRkRMRVZCUVU5NFJTeExRVUZQUVN4TFFVRkxkVVlzVDBGQlR5eEhRVU40UTNoRExFVkJRVkZwZFVJc1JVRkJVVGQxUWl4SlFVRlBOSFZDTEVkQlFWbHNkRUlzUjBGSmJrTnFSQ3hGUVVGTFJDeE5RVUZQYlVRc1JVRkJTMFFzUlVGQlRVZ3NUMEZIZUVJc1QwRkJUekZFTEV0QlFVczBSQ3hWUVVGWFJTeE5RVWQ2UWl4SlFVRkpiWFJDTEVkQlFWa3NTVUZCU1c1dVFpeFBRVUZSTEV0QlFVOXRZU3hGUVVGUExHdENRVUZ0UWl4TFFVVjZSR2xPTEVkQlFWa3NVMEZCVlRselFpeEhRVXQ0UWl4SlFVRkpLMjlDTEVWQlFVOHZiMElzUlVGQlN6WkpMR05CUVdNMFF5eFpRVTA1UWl4UFFVcE5jMlFzUjBGQlUwRXNSVUZCUzJkRkxGTkJRMjVDYUVVc1JVRkJUM0IwUWl4SFFVZEViM1JDTEVWQlFVdHBSU3hwUWtGQmEwSm9kRUlzU1VGSE5VSnBkRUlzUjBGQlR5eFRRVUZWYW5SQ0xFVkJRVTFsTEVWQlFWTnFRaXhIUVVOdVF5eEpRVUZKU2l4RlFVRkxjMElzUlVGRFVtdHpRaXhGUVVGTkxFZEJSMUFzU1VGQlRXeHpRaXhMUVVGUlJDeEZRVU5pYlhOQ0xFVkJRVXRzYzBJc1IwRkJVMmhDTEVWQlFVdHhaMElzVFVGQlQzSm1MRWRCUXpGQ2FFSXNSVUZCUzNGblFpeE5RVUZQY21Zc1IwRkJVMFFzUlVGQlUwTXNSMEZOTDBJc1NVRkJUVUVzUzBGSVRuUkNMRVZCUVUxSkxFVkJRVk42UkN4TFFVRk5Na1FzUjBGSFVHVXNSVUZEWW1Zc1JVRkJTM0ZuUWl4TlFVRlBjbVlzUjBGQlUydHpRaXhGUVVGTGJITkNMRWRCUnpOQ0xFOUJRVTkwUWl4SFFVbEtlWFJDTEVkQlFWa3NTVUZCU1hwdVFpeFBRVUZSYzJFc1IwRkJWWGhYTEV0QlFVMHNTMEZCVHl4TFFXbEtia1FzVTBGQlV6UnFRaXhIUVVGUmNIUkNMRVZCUVUxblFpeEZRVUZOY1hOQ0xFZEJRelZDTEVsQlFVbERMRVZCUVU5RExFVkJRVlZETEVWQlFWVTVkRUlzUlVGTk9VSXlaMElzUlVGQlVYSm5RaXhGUVVGTGNXZENMRTFCY1VOa0xFOUJia05CWjA0c1JVRkJWMEVzUjBGQldWQXNSMEZCVnpselFpeE5RVkZ3UWl4TlFVWmlUaXhGUVVGTk1uUkNMRVZCUVZOSkxHbENRVUZyUW5welFpeEpRVUZWY1hOQ0xFVkJRVlZ5YzBJc1MwRkZha05wWml4SFFVRlphbWRDTEV0QlF5OUNUaXhGUVVGTlppeEZRVUZQTUdoQ0xFMUJRVTl5WjBJc1JVRkJUV2RDTEV0QlVYSkNhRVVzUlVGQlVUQjNRaXhyUWtGQmIwSmlMRWRCUVZWNmFrSXNTMEZCVFRGS0xFbEJRVk41ZEVJc1IwRkJWUzlxUWl4TFFVRk5jRWtzUzBGSE1VVnpjMElzUlVGQlVXcE9MRVZCUVUxcFRpeE5RVU5rUXl4RlFVRlhiRTRzUlVGQlRXdE9MRk5CUTJwQ1F5eEZRVUZYYms0c1JVRkJUVzFPTEZOQlIycENiazRzUlVGQlRXdE9MRk5CUVZkc1RpeEZRVUZOYlU0c1UwRkJWMjVPTEVWQlFVMXBUaXhOUVVGUk5YUkNMRVZCUTJoRVFTeEZRVUZOTW5SQ0xFVkJRVk5ETEUxQlIyWnFUaXhGUVVGTmFVNHNUVUZCVVVFc1JVRkRaR3BPTEVWQlFVMXJUaXhUUVVGWFFTeEZRVU5xUW14T0xFVkJRVTF0VGl4VFFVRlhRU3hUUVVsS0wzSkNMRWxCUVZJdlFpeEZRVWxPUVN4RlFVRk5MRWRCUTA1QkxFVkJTVVlzVTBGQlUybDFRaXhIUVVGalF5eEZRVUZoUXl4SFFVZHVReXhOUVVGUExFTkJRMDUyZFVJc1NVRkJTeXhYUVVOS0xFbEJRVXR6ZFVJc1NVRlRUQ3hQUVVGVGFIbENMRXRCUVVzd1JDeEpRVUZOZFhWQ0xFZEJRVk4wZUVJc1RVRkJUMWdzUzBGQlRYRkZMR3RDUVV4c1EzSkZMRXRCUVVzd1JDeFBRVE5OYUVJc1YwRkpReXhUUVVGVGQzVkNMRWxCUjFJc1IwRkJUVzVOTEVWQlFVNHNRMEZKUVc5TkxFVkJRVlV4VGl4TlFVRk5NazRzVVVGQlZTd3JSVUZGTVVKeVRTeEZRVUZKZEVJc1RVRkJUVEpPTEZGQlExUXNORWhCUjBReGFVSXNSMEZCWjBJdlRTeFpRVUZoZDNaQ0xFZEJRVmw0ZGtJc1dVRkJZVzlxUWl4SFFVVjBSQ3hKUVVGSmMwMHNSVUZCVjNSNVFpeEZRVUZQY1hoQ0xHbENRVUZyUW5KTUxFZEJRM2hEZFUwc1JVRkJiME1zVDBGQmFrSkVMRVZCUVZOMmFVSXNTVUZITlVKNWFVSXNSVUZCYzBVc1MwRkJPVU5ETEVWQlFXOUNTQ3hGUVVGVFNTeFpRVWx5UkRGTkxFVkJRVWwwUWl4TlFVRk5hVThzVFVGQlVTeE5RVU5zUWtNc1JVRkJOa1FzUzBGQmVrTklMRVZCUVc5Q1NDeEZRVUZUU3l4UFFVbHFSRVVzUlVGQlowVXNTMEZCZWtOS0xFVkJRVzlDU0N4RlFVRlRXQ3hQUVUxd1JETk1MRVZCUVVsMFFpeE5RVUZOYjA4c1UwRkJWeXhYUVVOeVFrTXNSVUZCYVVVc1MwRkJPVU5PTEVWQlFXOUNlazBzUlVGQlNXZE9MRmxCUVdNc1IwRkZla1J5YWtJc1IwRkJaMEkzVFN4WlFVRmhjM1pDTEVkQlNUZENjRTBzUlVGQlRTeE5RVWRRTEZOQlFWTjVUU3hGUVVGdlFsRXNSMEZETlVJc1QwRkJUMnAwUWl4TFFVRkxhM1JDTEUxQlFVOURMRmRCUVZsR0xFbEJSMmhETEVsQlFVbFdMRVZCUVd0Q1RTeEZRVUZ6UWtVc1JVRkJhMEpJTEVWQlF6ZEVVU3hGUVVGNVFsb3NSVUZEZWtKS0xFVkJRVmwyZVVJc1JVRkJVekJETEdOQlFXVXNUMEZEY0VONWFrSXNSVUZCVFc1dFFpeEZRVUZUTUVNc1kwRkJaU3hQUVVkNlFubHFRaXhGUVVGSmRFSXNVVUZOVm5OQ0xFVkJRVWwwUWl4TlFVRk5NazhzWlVGQmFVSXNZMEZETTBKeVRpeEZRVUZKVFN4WFFVRlhMRWRCUVU4MVFpeE5RVUZOTWs4c1pVRkJhVUlzUjBGRE4wTm9lVUlzUlVGQlVXbDVRaXhuUWtGQkswTXNaMEpCUVRkQ2RFNHNSVUZCU1hSQ0xFMUJRVTB5VHl4bFFVVndRM0ozUWl4RlFVRlBiVU1zVDBGQlVUbEVMRVZCUVZNc1EwRkRka0pyZVVJc2EwSkJRVzFDTEZkQlJXeENMRTlCUkVGd1FpeEpRVU5QVlN4SFFVVlNaQ3hsUVVGblFpeFhRVVZtTEU5QlJFRkpMRWxCUTA5VExFZEJSVkpaTEdOQlFXVXNWMEZGWkN4UFFVUkJja0lzU1VGRFQwa3NSMEZGVW10Q0xHMUNRVUZ2UWl4WFFVVnVRaXhQUVVSQmRFSXNTVUZEVDBzc1IwRkZVbXRDTEdOQlFXVXNWMEZGWkN4UFFVUkJka0lzU1VGRFQxa3NSMEZaVWxrc2NVSkJRWE5DTEZkQlEzSkNMRWxCUVVsRExFVkJRVTlvVGl4RlFVRkphVTRzUlVGQlUwTXNSVUZ0UTNoQ0xFOUJiRU5uUXl4TlFVRXpRbFlzU1VGRFNsRXNSVUZCVVM5NlFpeEZRVUZUTUVNc1kwRkJaU3hUUVVOb1EzRnJRaXhGUVVGTEwyMUNMRVZCUVZNd1F5eGpRVUZsTEUxQlF6ZENjM2hDTEVWQlFWVm9NRUlzUlVGQlV6QkRMR05CUVdVc1QwRkZiRU54ZUVJc1JVRkJUV3hRTEUxQlFVMHlUaXhSUVVGVkxESkVRVU4wUW5wTUxFVkJRVWRzUXl4TlFVRk5NazRzVVVGQlZTeHRRa0ZMYmtKNlRDeEZRVUZIYkVNc1RVRkJUWEZRTEU5QlFWTXNUVUZEYkVKR0xFVkJRVkZ1VUN4TlFVRk5jVkFzVDBGQlV5eE5RVkYyUWtZc1JVRkJVVzVRTEUxQlFVMURMRkZCUVZVc1VVRkZlRUpvVml4SFFVTkZMMDBzV1VGQllXZDRRaXhIUVVOaWFIaENMRmxCUVdGbmEwSXNSMEZEWW1oclFpeFpRVUZoYVhoQ0xFZEJSV1pETEVWQlFWVTVla0lzUlVGQlQzRjRRaXhwUWtGQmEwSjZTeXhIUVVOdVEzZE5MRVZCUVRSQ1dTeFRRVUZWUml4RlFVRlJReXhQUVVGUkxFbEJRM0pFUXl4VFFVRlZSaXhGUVVGUlJ5eGxRVUZuUWl4SlFVTnNRMFFzVTBGQlZVWXNSVUZCVVVrc2EwSkJRVzFDTEUxQlFWZDBUaXhGUVVGSGRVNHNZVUZGY0VSNGEwSXNSMEZCWjBJM1RTeFpRVUZoT0hkQ0xFbEJSWFpDVWl4TlFYWkpWaXhIUVhOT1FTeEpRVUZKWjBJc1IwRkJZeXhEUVVGRkxGTkJRVlVzVFVGQlR5eE5RVU53UTBNc1IwRkJZWGd3UWl4RlFVRlRNRU1zWTBGQlpTeFBRVUZSYldsQ0xFMUJRemRETkZBc1IwRkJZeXhIUVd0Q1ppeFRRVUZUUXl4SFFVRmxiSFpDTEVkQlEzWkNMRWxCUVVsdGRrSXNSVUZCVVhoNFFpeEZRVUZQZVhoQ0xGTkJRVlZ3ZGtJc1NVRkJWV2wyUWl4SFFVRmhhblpDTEVkQlJYQkVMRTlCUVV0dGRrSXNTVUZIUVc1MlFpeExRVUZSWjNaQ0xFZEJRMHhvZGtJc1JVRkZSR2wyUWl4SFFVRmhhblpDTEVkQmVFSnlRaXhUUVVGNVFrRXNSMEZOZUVJc1NVRklRU3hKUVVGSmNYWkNMRVZCUVZWeWRrSXNSVUZCVFN4SFFVRkpOR01zWTBGQlowSTFZeXhGUVVGTE9VVXNUVUZCVHl4SFFVTnVSRFpDTEVWQlFVbG5lVUlzUjBGQldUbDNRaXhQUVVWVWJFSXNTMEZGVUN4SlFVUkJhVVFzUlVGQlR5dDFRaXhIUVVGaGFIbENMRWRCUVUxemVVSXNTMEZEWWt3c1IwRkRXaXhQUVVGUGFIWkNMRVZCWlc5Q2MzWkNMRU5CUVdkQ2RIWkNMRWxCUVZWQkxFZEJTWGhFTEVsQlMwTjFka0lzUjBGQlpTdzBRa0ZEWmtNc1IwRkJZeXhOUVVOa1F5eEhRVUZWTEVOQlFVVm9ReXhUUVVGVkxGZEJRVmxwUXl4WFFVRlpMRk5CUVZWd1VTeFJRVUZUTEZOQlEycEZjVkVzUjBGQmNVSXNRMEZEY0VKRExHTkJRV1VzU1VGRFprTXNWMEZCV1N4UFFVZGtMRk5CUVZORExFZEJRVzFDZG5kQ0xFVkJRVTkxUXl4RlFVRlBhWFZDTEVkQlNYcERMRWxCUVVsd2RVSXNSVUZCVlc5a0xFZEJRVkZxV0N4TFFVRk5hRWNzUjBGRE5VSXNUMEZCVDBnc1JVRkhUbWhDTEV0QlFVdHhka0lzU1VGQlN5eEZRVUZIY25WQ0xFVkJRVk1zU1VGQlVXOTFRaXhIUVVGWkxFdEJRVlZ3ZFVJc1JVRkJVeXhKUVVGUExFMUJRM0JGUnl4RlFVZEdMRk5CUVZOdGRVSXNSMEZCYjBKcWVFSXNSVUZCVFd0NFFpeEZRVUZYUXl4RlFVRkxReXhGUVVGaFF5eEZRVUZSUXl4SFFVTjJSU3hKUVVGSmRucENMRVZCUVd0Q0xGVkJRV1J0ZWtJc1JVRkJkMElzUlVGQlNTeEZRVU51UTBzc1JVRkJVU3hGUVVOU1F5eEZRVUZSTEVWQlIxUXNSMEZCUzB3c1MwRkJWVU1zUlVGQll5eFRRVUZYTEZkQlEzWkRMRTlCUVU4c1JVRkhVaXhMUVVGUmNucENMRVZCUVVrc1JVRkJSMEVzUjBGQlN5eEZRVWRPTEZkQlFWSnZla0lzU1VGRFNrc3NSMEZCVXpkNVFpeEZRVUZQTkdoQ0xFbEJRVXQyWjBJc1JVRkJUVzE0UWl4RlFVRk5ibElzUjBGQlYycHBRaXhKUVVGTExFVkJRVTF6ZWtJc1NVRkpiRVJFTEVkQmJVSlJMRmxCUVZKRUxFbEJRMHBMTEVkQlFWTTNlVUlzUlVGQlR6Um9RaXhKUVVGTGRtZENMRVZCUVUwc1ZVRkJXV2RuUWl4SFFVRlhhbWxDTEVsQlFVc3NSVUZCVFhONlFpeEpRVWxxUkN4WFFVRlNSaXhKUVVOS1N5eEhRVUZUTjNsQ0xFVkJRVTgwYUVJc1NVRkJTM1puUWl4RlFVRk5MRk5CUVZkblowSXNSMEZCVjJwcFFpeEhRVUZOTEZOQlFWTXNSVUZCVFhONlFpeE5RWFJDZGtWSExFZEJRVk0zZVVJc1JVRkJUelJvUWl4SlFVRkxkbWRDTEVWQlFVMHNWVUZCV1dkblFpeEhRVUZYYW1sQ0xFbEJRVXNzUlVGQlRYTjZRaXhIUVVkb1JDeFpRVUZTUml4RlFVTktTeXhIUVVGVE4zbENMRVZCUVU4MGFFSXNTVUZCUzNablFpeEZRVUZOTEZOQlFWZG5aMElzUjBGQlYycHBRaXhIUVVGTkxGTkJRVk1zUlVGQlRYTjZRaXhIUVVsMFJVVXNSMEZCVXpWNVFpeEZRVUZQTkdoQ0xFbEJRVXQyWjBJc1JVRkJUU3hUUVVGWFoyZENMRWRCUVZkcWFVSXNSMEZCVFN4VFFVRlRMRVZCUVUxemVrSXNTVUZ2UTNwRkxFOUJhRUpOUkN4SFFVRmxSU3hIUVVGbExFbEJTVzVEUlN4SFFVRlROM1pDTEV0QlFVdHhka0lzU1VGQlN5eEZRVUZIY25aQ0xFdEJRVXM0ZGtJc1MwRkRNVUo2ZUVJc1JVRkJUU3hUUVVGWGEzaENMRVZCUVZjc1IwRkJTWFJVTEdOQlFXZENjMVFzUlVGQlZXZ3hRaXhOUVVGUExFbEJRMnBGYnpGQ0xFVkJRMEZGTEVWQlEwRkVMRVZCUTBFc1RVRkpUU3hIUVVkRVF5eEZRVWRTTEZOQlFWTkZMRWRCUVd0Q01YaENMRVZCUVUxcmVFSXNSVUZCVjBzc1IwRkhNME1zU1VGQlNVWXNSVUZCVTNaRkxFZEJRVmM1YzBJc1IwRkxka0p2ZUVJc1NVRkViVUp3TUVJc1JVRkJVV3Q1UWl4eFFrRkJkVUp4UXl4SlFVVkZMR1ZCUVc1RU5YbENMRVZCUVU4MGFFSXNTVUZCUzNablFpeEZRVUZOTEdGQlFXRXNSVUZCVDNGNFFpeEhRVU4yUTAwc1JVRkJiVUpRTEVWQlJXNUNjSHBDTEVWQlFVMXZka0lzUjBGQlVYQjBRaXhGUVVGTmEzaENMRVZCUVZkSExFZEJReTlDVHl4RlFVRmhMRk5CUVZkV0xFVkJRVmNzUjBGQlNYUlVMR05CUVdkQ2MxUXNSVUZCVldneFFpeE5RVUZQTEVkQlNYcEZMRWRCUVVzeWQwSXNSMEZCVlhwcVFpeExRVUZOY0V3c1IwRkJVU3hEUVVNMVFpeEpRVUZOZFhwQ0xFVkJRMHdzVDBGQlQzWjZRaXhGUVVWU1FTeEZRVUZOTEU5QmVVTlFMRkZCYkVOUmFFSXNSVUZCVVd0NVFpeHhRa0ZCZFVKclF5eEpRVTF5UTNBd1FpeEZRVUZSYzNsQ0xIZENRVUV3UW5SdVFpeEZRVUZWYUVrc1JVRkJUU3hQUVVrelF5eFRRVUZTYUVNc1NVRkpRemgzUWl4WFFVRlpPWGRDTEVsQlFUQkVMRmRCUVdwRVZ5eEZRVUZQTkdoQ0xFbEJRVXQyWjBJc1JVRkJUU3hYUVVGWExFVkJRVTl4ZUVJc1MwRkhNVVJ5ZUVJc1JVRkJTelo0UWl4cFFrRkJhVUkxZVVJc1UwRkZkRUp0ZVVJc1JVRkJhVVVzWlVGQmJrUjZlVUlzUlVGQlR6Um9RaXhKUVVGTGRtZENMRVZCUVUwc1lVRkJZU3hGUVVGUGNYaENMRWxCUzNCRVRTeEZRVUZ0UWtNc1MwRkJZelY0UWl4TFFVVm9RMmhETEVWQlFVMW5ReXhGUVVGTk5IaENMRTFCUzJRMWVrSXNSVUZCVFRoM1FpeFhRVUZaT1hkQ0xFbEJRVk1zUjBGSk1VSnBla0lzUjBGRFEycDRRaXhGUVVOQmEzaENMRVZCUTBGTExFbEJRVmRJTEVWQlFXTXNVMEZCVnl4WFFVTndRMDhzUlVGRFFVNHNSVUZIUVhKNlFpeEhRVVZGTEV0QksxTk1MRk5CUVZNNGVrSXNSMEZCVHpsNFFpeEZRVUZOWlN4RlFVRlRkMlFzUlVGQlRUVmtMRVZCUVV0dmVFSXNSMEZEZWtNc1QwRkJUeXhKUVVGSlJDeEhRVUZOTlhsQ0xGVkJRVlZJTEV0QlFVMXBRaXhGUVVGTlpTeEZRVUZUZDJRc1JVRkJUVFZrTEVWQlFVdHZlRUlzUjBFM1V6VkVjSHBDTEVWQlFVOXRReXhQUVVGUkxFTkJTV1JyZUVJc1UwRkJWU3hEUVVOVVF5eFJRVUZUTEVOQlExSXplVUlzU1VGQlN5eFRRVUZWVlN4RlFVRk5jWFJDTEVkQlEzQkNMRWRCUVV0QkxFVkJRVmNzUTBGSFppeEpRVUZKTTNSQ0xFVkJRVTB3ZEVJc1IwRkJVWEIwUWl4RlFVRk5MRmRCUTNoQ0xFMUJRV1VzUzBGQlVrNHNSVUZCWVN4SlFVRk5RU3hOUVU4NVFuVm9RaXhWUVVGWExFTkJRMVpwVWl4NVFrRkJNa0lzUlVGRE0wSkRMR0ZCUVdVc1JVRkRaa01zWVVGQlpTeEZRVU5tUXl4VlFVRlpMRVZCUTFwRExGbEJRV01zUlVGRFpIcENMRmxCUVdNc1JVRkRaREJDTEZWQlFWa3NSVUZEV2tNc1dVRkJZeXhGUVVOa1F5eGxRVUZwUWl4RlFVTnFRa01zYVVKQlFXMUNMRVZCUTI1Q1F5eFRRVUZYTEVWQlExaERMRmxCUVdNc1JVRkRaRU1zWTBGQlowSXNSVUZEYUVKRExGbEJRV01zUlVGRFpHSXNVMEZCVnl4RlFVTllZeXhQUVVGVExFVkJRMVJETEZOQlFWY3NSVUZEV0VNc1VVRkJWU3hGUVVOV1F5eFJRVUZWTEVWQlExWkRMRTFCUVZFc1IwRkxWQzlETEZOQlFWVXNSMEZIVmk5UUxFMUJRVThzVTBGQlZYSm5RaXhGUVVGTlowSXNSVUZCVFRoQ0xFVkJRVTk1ZFVJc1IwRkhia01zUjBGQlRYWjRRaXhIUVVFd1FpeEpRVUZzUWtFc1JVRkJTemRETEZWQlFXOURMRWxCUVd4Q05rTXNSVUZCU3pkRExGVkJRVzFDTmtNc1JVRkJTM0ZuUWl4TlFVRnNSU3hEUVV0QkxFbEJRVWt6WjBJc1JVRkJTMjVETEVWQlFVMHJhRUlzUlVGRFpEaFVMRVZCUVZkMlZpeEZRVUZYTjJNc1IwRkRkRUp4ZVVJc1JVRkJaVGRETEVkQlFWbHdia0lzUzBGQlRYQkpMRWRCUTJwRGNXWXNSVUZCVVhKblFpeEZRVUZMY1dkQ0xFMUJZV1FzUjBGU1RXZFVMRWxCUTB4eWVVSXNSVUZCVDJ0MlFpeEhRVUZsYTBRc1NVRkpka0k1VkN4RlFVRlJNMmRDTEVWQlFVOXhla0lzVTBGQlZXaDRRaXhKUVVGVmNrTXNSVUZCVDNGNlFpeFRRVUZWYjBJc1VVRkhja016ZUVJc1NVRkJWbkZDTEVWQk1FTktMRTlCUVV0M1l5eEhRVUZUTEZGQlFWTkJMRkZCUTNkQ04yUXNTMEZCTlVNdlFpeEZRVUZOTkdZc1JVRkJUV2huUWl4SlFVRkxWU3hIUVVGTkxFVkJRVTkxZUVJc1NVRkZla0kzZUVJc1JVRkpSREpuUWl4RlFVRlBjbVlzUjBFM1EwRXNXVUZJWkhwRUxGTkJRV04xUml4TFFVZGpjRVFzUlVGQlRYRm5RaXhIUVVGUmFsZ3NTMEZCVFdoSExFdEJRV0Z3UkN4RlFVRkxMRXRCUTJwRmIwUXNSVUZCVVRCa0xFZEJRVmQ0WjBJc1JVRkJUV2RDTEVWQlFVMTBRaXhIUVVjdlFtNURMRVZCUVU4c1ZVRkpUU3hOUVVGVWRVWXNSMEZCYVVKQkxFZEJRVlZCTEVsQlQyeENMRmRCUVZSMlJpeEhRVUZ6UWpneFFpeEpRVU14UW5aM1FpeEhRVUZUY0VRc1IwRkJUMEVzUlVGQlN5eExRVUZUWml4RlFVRlBjMmxDTEZWQlFWZHRVeXhIUVVGaExFZEJRVXNzVDBGSk4wUndNa0lzUlVGQlVXbDVRaXhwUWtGQk5rSXNTMEZCVm01elFpeEhRVUZwUkN4SlFVRnFRemxDTEVWQlFVdDJSU3hSUVVGVExHZENRVU01UkRScVFpeEZRVUZQY21Zc1IwRkJVeXhYUVVsWWMyVXNSMEZCV1N4UlFVRlRRU3hSUVVOelFqZGtMRXRCUVRsRGNVSXNSVUZCVVhkakxFVkJRVTFxUWl4SlFVRkxjbVVzUlVGQlRUaERMRVZCUVU5NWRVSXNUVUZGTjBJNFFpeEZRVU5LYUZRc1JVRkJUV2xVTEZsQlFXRjBlVUlzUlVGQlRUaENMRWRCUlhwQ2RXUXNSVUZCVDNKbUxFZEJRVk00UWl4TlFXdENjRUo1WkN4SlFVRkxMRk5CUVZWMlowSXNSVUZCVFdkQ0xFVkJRVTExZDBJc1JVRkJUMFlzUjBGRGFrTXNTVUZCU1hKNlFpeEZRVUZMZFVJc1JVRkJTeXRtTEVWQlEySTRWQ3hGUVVGWGRsWXNSVUZCVnpkakxFZEJOa0oyUWl4UFFUVkNaMEozZGtJc1IwRkJXWEJ1UWl4TFFVRk5jRWtzUzBGTmFrTkJMRVZCUVU5cmRrSXNSMEZCWld0RUxFdEJTWFpDT1ZRc1JVRkJVVE5uUWl4RlFVRlBjWHBDTEZOQlFWVm9lRUlzU1VGQlZYSkRMRVZCUVU5eGVrSXNVMEZCVlc5Q0xFdEJSM1JETEZGQlFWTTVWQ3hKUVVOMFFuUm9RaXhGUVVGTmMyaENMRVZCUVUxb1owSXNTVUZCUzFVc1IwRkJUU3hGUVVGTmRYaENMRk5CU1dwQ09YWkNMRWxCUVZKNlJDeEpRVU5LUVN4RlFVRk5iM1pDTEVkQlFWRndkRUlzUlVGQlRXZENMRVZCUVUxeGQwSXNTVUZKWkN4WFFVRlNjbnBDTEVkQlFXOUNaMFFzUzBGQlVUSjJRaXhMUVVOb1F6TjVRaXhGUVVGTk1ubENMRWRCUVc5Q00zWkNMRWxCU1Zvc1MwRkJWblYzUWl4SFFVRm5Ra0VzUjBGRGNFSm9lVUlzUlVGQlRYVjJRaXhYUVVGWk9YZENMRWxCUTBRc1NVRkJWblY2UWl4SFFVRnJRbWRETEZOQlFWVm9NRUlzUjBGQlVVRXNSMEZCVHl4RlFVRkpka0lzUjBGSGFFUkJMRXRCU1ZSWExFVkJRVTlyUWl4TFFVRk5MRU5CUVVVc1UwRkJWU3hUUVVGWExGTkJRVlZ6UkN4RlFVRkpLM1JDTEVkQlEycEVkbmxDTEVWQlFVOXhla0lzVTBGQlZXUXNSMEZCWXl4RFFVTTVRalY0UWl4SlFVRkxMRk5CUVZWVkxFVkJRVTF4ZEVJc1JVRkJWV3RGTEVkQlF6bENMRWRCUVV0c1JTeEZRVWxLTEU5QlFVOXJSQ3hIUVVGaGJtNUNMRXRCUVUxNlN5eEZRVUZQTkdoQ0xFbEJRVXQyWjBJc1JVRkJUU3hoUVZGNFEwRXNSVUZCU3paNFFpeHBRa0ZCYVVJMWVVSXNVVUZCVjJVc1JVRkJTM2Q2UWl4M1FrRkJkMEpzUnl4TlFVbHFSVzlGTEVkQlFXdENNWGhDTEVWQlFVMXJlRUlzUlVGQlYwc3NSMEZJYmtOMFJTeEhRVUZOYW5SQ0xFVkJRVTE1ZDBJc1IwRkJVeXhYUVVOd1FpeFBRVUZQYVVJc1IwRkJhMEl4ZUVJc1JVRkJUV3Q0UWl4RlFVRlhTeXhOUVUwNVEyeFVMRWxCUVVzc1UwRkJWWEpsTEVWQlFVMDRReXhGUVVGUGVYVkNMRWRCUXpOQ0xFbEJRVWsxZFVJc1JVRkRTREIxUWl4RlFVRlRka1VzUjBGQlZ6bHpRaXhIUVVsd1FubDZRaXhIUVVGelFub3lRaXhGUVVGUmNYbENMR2xDUVVOVUxHRkJRWEJDWjBNc1JVRkJUelZETEZOQlNWSXlReXhIUVVSclFuRkRMRWRCUVhOQ2JFTXNTVUZGV1N4bFFVRnVSRFY1UWl4RlFVRlBOR2hDTEVsQlFVdDJaMElzUlVGQlRTeGhRVUZoTEVWQlFVOXhlRUlzUjBGRGRrTk9MRVZCUVZkUkxFVkJRMVpPTEVkQlEwTnFlRUlzUlVGRFFXdDRRaXhGUVVOQlN5eEZRVU5CU0N4RlFVTkJReXhIUVVWRUxFVkJjVUpHTEU5QmFrSkxSQ3hIUVVGbGNVTXNTVUZEYmtJeFF5eEhRVUZaY0haQ0xFdEJRVXM0ZGtJc1MwRkRhRUo2ZUVJc1JVRkJUU3hUUVVGWGEzaENMRVZCUVZjc1IwRkJTWFJVTEdOQlFXZENjMVFzUlVGQlZXZ3hRaXhOUVVGUExFbEJRMnBGTkhsQ0xGZEJRVmwxUXl4RlFVRlJTQ3hKUVVOd1FrUXNSMEZCYjBKcWVFSXNSVUZCVFd0NFFpeEZRVUZYTEZWQlFWVXNSVUZCVDBjc1IwRkRkRVFzUzBGTFIwNHNTVUZCWTNCMVFpeEZRVUZWYjJRc1IwRkJVV3BZTEV0QlFVMW9SeXhMUVVOaUxGRkJRVE5DU0N4RlFVRlRMRWxCUVU4c1VVRkZiRUl6UXl4RlFVRkxjV2RDTEUxQlFVODJVU3hIUVVGamNIVkNMRVZCUXpGQ1FTeEZRVUZSYmtVc1JVRkJUelJvUWl4SlFVRkxkbWRDTEVWQlFVMXJlRUlzU1VGSGNFSktMRWRCUVcxQ09YZENMRVZCUVUwNFF5eEZRVUZQYVhWQ0xFOUJTekZEY0hsQ0xFVkJRVTl4ZWtJc1UwRkJVek5FTEZkQlFXRldMRWRCUVdNemQwSXNSVUZCVVc5NVFpeHRRa0ZEYkVRc1UwRkJWWEIyUWl4RlFVRk5jWFJDTEVkQlEyWXNSMEZCUzBFc1JVRkRTaXhQUVVGVGVVSXNWMEZCV1RGQ0xFZEJRVkZ3ZEVJc1JVRkJUU3huUWtGRGJFTkJMRVZCUVV0M2VrSXNkMEpCUVhkQ1JTeExRVU0xUW5wSExFZEJRVTFxZEVJc1JVRkJUU3hEUVVGRmNYVkNMRmRCUVZrc1IwRkJTeXhYUVVNNVFpeFBRVUZQY25WQ0xFVkJRVXQzZWtJc2QwSkJRWGRDUlN4UlFVVnVReXhQUVUxUUx6QkNMRVZCUVU5clFpeExRVUZOTEVOQlExbzRla0lzVDBGQlVTeEhRVU5TUXl4UlFVRlRMRWRCUTFSRExFOUJRVkVzVTBGRFRpeFRRVUZWUXl4RlFVRlJReXhIUVVOd1FuQXhRaXhGUVVGUGNYcENMRk5CUVZVNFFpeEZRVUZUUXl4SFFVRlhMRU5CUTNCRFF5eFBRVUZSTEZOQlFWVnNlRUlzUjBGUGFrSXNTVUZPUVN4SlFVRkpMMFVzUlVGQlNTeEZRVU5RYXpKQ0xFVkJRVmNzUjBGSFdFTXNSVUZCZVVJc2FVSkJRVlp3ZUVJc1JVRkJjVUpCTEVWQlFVMUpMRTFCUVU4c1MwRkJVU3hEUVVGRlNpeEhRVVZ3UkM5RkxFVkJRVWtzUlVGQlIwRXNTVUZEWkdzeVFpeEZRVUZWU0N4RlFVRlRPVlFzUjBGQlYycHBRaXhIUVVGTlp6SkNMRWRCUTI1RFJ5eEZRVUZQYmpKQ0xFbEJRVTl0TWtJc1JVRkJUMjR5UWl4RlFVRkpMRWxCUVU5dE1rSXNSVUZCVHl4SFFVZDZReXhQUVVGUFJDeEpRVWxQTEZkQlFWaElMRWxCUTBwdU1VSXNSVUZCVDNGNlFpeFRRVUZWT0VJc1JVRkJVME1zUjBGQlV6RldMRWxCUVUxNVV5eE5RVWt6UTI1NVFpeEZRVUZQUnl4SFFVRkhaME1zVDBGQlVTeERRVU5xUW5sbUxFbEJRVXNzVTBGQlZYWm1MRVZCUVUwNFFpeEhRVU53UWl4UFFVRlBiV0VzUlVGQlVYSm9RaXhMUVVGTkxGTkJRVlZ2UlN4RlFVRk5aMElzUlVGQlRUaENMRWRCUXpGRExFbEJRVWwxZFVJc1JVRkJVVFYzUWl4RlFVTllWaXhGUVVGTkxFZEJRMDVvUXl4RlFVRkpMRVZCUlV3c1IwRkJTM2RFTEUxQlFVMURMRkZCUVZOU0xFZEJRVk1zUTBGSk5VSXNTVUZJUVhGM1FpeEZRVUZUZGtVc1IwRkJWemx6UWl4SFFVTndRbE1zUlVGQlRVOHNSVUZCU3k5Q0xFOUJSVWhzUWl4RlFVRkpNRU1zUlVGQlN6RkRMRWxCUTJoQ1owTXNSVUZCUzJsQ0xFVkJRVTFxUkN4SlFVRlJXU3hGUVVGUE5HaENMRWxCUVV0MlowSXNSVUZCVFdkQ0xFVkJRVTFxUkN4SlFVRkxMRVZCUVU5emVrSXNSMEZIZUVRc1QwRkJUM1I0UWl4RlFVZFNMRmxCUVdsQ01FSXNTVUZCVm5GQ0xFVkJRMDV1UlN4RlFVRlBNR2hDTEUxQlFVOXlaMElzUlVGQlRXZENMRVZCUVUwNFFpeEhRVU14UW01RkxFVkJRVTgwYUVJc1NVRkJTM1puUWl4RlFVRk5aMElzU1VGRGFrSkJMRVZCUVUwNFFpeEZRVUZQTjBNc1ZVRkJWV2hDTEU5QlFWTXNUVUZSY2tOT0xFVkJRVTl0ZWtJc1RVRkJVVUVzUjBGRlprRXNSMEZCVFRWNVFpeFZRVUZaTEVOQlEycENSU3haUVVGaE1IbENMRWRCUTJJdmVVSXNTMEZCVFN4VFFVRlZhVUlzUlVGQlRXVXNSVUZCVTNka0xFVkJRVTAxWkN4RlFVRkxiM2hDTEVWQlFWRXZVU3hIUVVOcVJIQnNRaXhMUVVGTGIwVXNTMEZCVDBFc1JVRkRXbkJGTEV0QlFVc3lhVUlzUzBGQlQwRXNSVUZEV2pOcFFpeExRVUZMYlRKQ0xFOUJRVk5CTEVkQlFWVndla0lzUlVGQlQyOTZRaXhQUVVGUGRGQXNVMEZEZEVNM2JVSXNTMEZCUzIxR0xGRkJRVlZCTEVWQlEyWnVSaXhMUVVGTGFWVXNUVUZCVVdwVkxFdEJRVXR6YzBJc1NVRkJUWFJ6UWl4TFFVRkxOazhzVFVGRE4wSTNUeXhMUVVGTEswVXNTVUZCVFVFc1JVRkRXQzlGTEV0QlFVdHZiRUlzUzBGQlQwRXNTVUZCVlhKcFFpeEZRVUZQYzJsQ0xGVkJRVmN4UXl4SFFVRlRMRWRCUVVzc1QwRkZka1E1VkN4SlFVRkxMRmRCUTBvc1NVRkJTVFpWTEVWQlFWRjNVeXhIUVVGTmNVTXNWVUZCVjNZMFFpeExRVUZMTW1sQ0xFMUJSV3hETEU5QlFVOWxMRWRCUVZOQkxFVkJRVTFvWjBJc1NVRkRja0puWjBJc1JVRkJUV2huUWl4SlFVRkxNVVFzVFVGRFdHc3lRaXhIUVVGTmNVTXNWVUZCVlRGU0xGTkJRVk51YWtJc1NVRkJTekZFTEU5QlJXaERkelJDTEVsQlFVc3NVMEZCVlVNc1IwRkRaQ3hKUVVGSlF5eEZRVU5JYUZZc1JVRkJVWGRUTEVkQlFVMXhReXhWUVVGWGRqUkNMRXRCUVVzeWFVSXNUVUZ2UWk5Q0xFOUJiRUpMTTJsQ0xFdEJRVXR0Uml4UlFVRlJkM3BDTEZOQlEycENNelJDTEV0QlFVczBORUlzU1VGQlRVWXNSVUZCVVRNeFFpeEZRVUZQYjNwQ0xFOUJRVkZ1TWtJc1MwRkJTMjB5UWl4UlFVTjBRM05ETEVWQlFWTjZORUlzUzBGQlMyMUdMRkZCUVZGM2VrSXNVMEZCVjBZc1JVRkJVeXhGUVVGSExFVkJRVWQ2TkVJc1MwRkJTMjFHTEZGQlFWRjNla0lzVlVGSE9VUXpORUlzUzBGQlN6UTBRaXhKUVVGTlJpeEZRVUZSUkN4RlFVVndRbm8wUWl4TFFVRkxjM05DTEV0QlFWRjBjMElzUzBGQlN5dEZMRWxCUVUwdlJTeExRVUZMYVZVc1QwRkJWWGxyUWl4RlFVRlJNVFJDTEV0QlFVdHBWU3hOUVVVdlEycFZMRXRCUVV0dFJpeFJRVUZSTUhwQ0xFMUJRMnBDTnpSQ0xFdEJRVXR0Uml4UlFVRlJNSHBDTEV0QlFVdHdORUlzUzBGQlRWUXNTMEZCUzI5RkxFdEJRVTF3UlN4TFFVRkxjM05DTEVsQlFVdDBjMElzVFVGSGVrTXdha0lzUjBGQlUwRXNSVUZCVFdwQ0xFbEJRMjVDYVVJc1JVRkJUV3BDTEVsQlFVdDZhVUlzVFVGRldHc3lRaXhIUVVGTmNVTXNWVUZCVlRGU0xGTkJRVk53UlN4SlFVRkxlbWxDTEUxQlJYaENRU3hQUVVsVWF6SkNMRWRCUVUwMWVVSXNWVUZCVlVnc1MwRkJTMGNzVlVGQldUUjVRaXhIUVVGTk5YbENMRlZCUlhaRE5IbENMRWRCUVUxeFF5eFZRVUZaTEVOQlEycENNVklzVTBGQlZTeERRVU5VYm1wQ0xFbEJRVXNzVTBGQlZXOW9RaXhIUVVOa0xFbEJRVWw0VWl4RlFVbEtMRTlCUVRaQ0xFbEJRWGhDZDFJc1JVRkJUVEZuUWl4TFFVRkxOME1zVlVGRFlTeE5RVUUxUW5WcVFpeEZRVUZOTVdkQ0xFdEJRVTB3WjBJc1JVRkJUVzVETEU5QlFXOUVMRTFCUVd4RGJVTXNSVUZCVFRGblFpeExRVUZMY1dkQ0xFMUJRVTlMTEVWQlFVMXVReXhOUVVOeVJHMURMRVZCUVUweFowSXNTMEZCVFRCblFpeEZRVUZOYmtNc1QwRlBNVUp5VUN4RlFVRlRkbEVzUlVGQlR6Um9RaXhKUVVGTFJ5eEZRVUZOTVdkQ0xFdEJRVTB3WjBJc1JVRkJUVzVETEV0QlFVMHNUVUZIYUVJc1UwRkJXSEpRTEVWQlFYZENRU3hGUVVGS0xFZEJSWFpEYlZBc1NVRkJTeXhUUVVGVmNVTXNSMEZMVkM5b1FpeEZRVUZQS3pGQ0xFZEJRVWRFTEV0QlFVMHZWQ3hGUVVGTmJrTXNUVUZETVVJMVppeEZRVUZQS3pGQ0xFZEJRVWRFTEV0QlFVMHZWQ3hGUVVGTmJrTXNUVUZCVVcxRExFZEJRMHNzU1VGQmVFSkJMRVZCUVUweFowSXNTMEZCU3pkRExGZEJRM1JDZDBJc1JVRkJUM0Y2UWl4VFFVRlZkRklzUlVGQlRXNURMRTlCUXpaQ0xFMUJRVzVFYlVNc1JVRkJUVEZuUWl4TFFVRkxjV2RDTEUxQlFVODJVQ3hIUVVGbGVGQXNSVUZCVFc1RExFOUJSM2hEYlVNc1JVRkJUVEZuUWl4TFFVRk5NR2RDTEVWQlFVMXVReXhOUVVGVGJVTXNSVUZCVFhkSUxFbEJSbXBEZG5CQ0xFVkJRVTh3YUVJc1RVRkJUMHNzUlVGQlRURm5RaXhMUVVGTk1HZENMRVZCUVUxdVF5eExRVUZOYlVNc1JVRkJUWGRJTEVsQlFVMTRTQ3hGUVVGTlRTeFRRVlUxUkRoUkxFZEJRVTF4UXl4VlFVRlZVU3hWUVVGWk4wTXNSMEZCVFhGRExGVkJRVlZUTEZkQlFXRXNRMEZEZUVSMlZ5eEpRVUZMTEZOQlFWVnhReXhIUVVOVVFTeEZRVUZOTVdkQ0xFdEJRVXMzUXl4VlFVRlpkV3BDTEVWQlFVMHhaMElzUzBGQlMzaENMR0ZCUTNSRGEybENMRVZCUVUweFowSXNTMEZCVFRCblFpeEZRVUZOYmtNc1RVRkJVMjFETEVWQlFVMTNTQ3hQUVV0d1EzWndRaXhGUVVGUGIzcENMRTlCUVZNc1EwRkRaamhETEU5QlFWRXNVMEZCVlVNc1IwRkRha0lzVDBGQlQwRXNSMEZGVWtNc1RVRkJUeXhUUVVGVlJDeEhRVU5vUWl4TlFVRlBMRWRCUVUxdWVrSXNTMEZCUzNGNlFpeEpRVUZMUml4RlFVRkpibnBDTEV0QlFVdHpla0lzU1VGQlR5eEhRVVY0UTNoVExGTkJRVlVzVTBGSFdEbHFRaXhGUVVGUEt6RkNMRWRCUVVzMVF5eEhRVUZOTlhsQ0xGVkJRVlZJTEV0QlJ6VkNTaXhGUVVGUEt6RkNMRWRCUVVkRUxFdEJRVThzUjBGTGFrSXNTVUZEUTFNc1IwRkJUME1zUjBGRFVFTXNSMEZCVnl4NVFrRkRXRU1zUjBGQlR5eGpRVVZTTEZOQlFWTkRMRXRCUTBoSUxFMUJRM0ZDTEVsQlFYQkNNelZDTEVWQlFWTXJOVUlzVVVGQmIwSTFOVUlzUlVGQlR6WTFRaXh6UWtGRGVFTTNOVUlzUlVGQlR6WTFRaXh6UWtGQmRVSkdMRWxCUlRsQ016VkNMRVZCUVU5blowSXNWMEZCV1RKYUxFZEJRVlV6TWtJc1JVRkJUeXN4UWl4SFFVRkhaU3hWUVVkNFF6a3lRaXhGUVVGUEt6RkNMRWRCUVVkblFpeFJRVXRhTEZOQlFWTkRMRXRCU1ZJc1QwRklRV2cyUWl4RlFVRlBaMmRDTEZkQlFWa3NWMEZEYkVKMVdpeFJRVUZSZW5wQ0xFbEJSVUY1ZWtJc1IwRkJVVGQzUWl4TFFVRkxObXBDTEUxQlNYWkNMRk5CUVZNd1RpeEhRVUZQY2pSQ0xFVkJRVTF6TkVJc1IwRkRja0lzU1VGQlNUbE1MRVZCUTBob2MwSXNSVUZCU1N4RlFVTktjMDBzUlVGQlVTeERRVUZGY1d4Q0xFOUJRVkZ1ZVVJc1IwRkxia0lzU1VGRVFYTTBRaXhGUVVGbFFTeEZRVUZsTEVWQlFVa3NSVUZETVVJNU0wSXNSVUZCU1N4RlFVRkhRU3hIUVVGTExFVkJRVWs0TTBJc1JVRkZka0o0Y2tJc1JVRkJUeXhWUVVSUU1HWXNSVUZCVVM5S0xFZEJRVmRxYVVJc1MwRkRVM05OTEVWQlFVOHNWVUZCV1RCbUxFZEJRVlY0YzBJc1JVRlBNVVFzVDBGS1MzTTBRaXhKUVVOS2VISkNMRVZCUVUwMGJrSXNVVUZCVlRWdVFpeEZRVUZOYVdwQ0xFMUJRVkV2ZGtJc1IwRkhlRUk0VFN4RlFVZFNMRk5CUVZONWNrSXNSMEZCWVdoNlFpeEZRVUZQZVdJc1JVRkJUWGRZTEVkQlMyeERMRWxCU2tFc1NVRkJTWEpXTEVWQlEwaDNTeXhIUVVGbE9Fc3NSMEZCVlVNc1UwRkJWVEZZTEVsQlFWVXNTVUZCUzJwcFFpeFBRVUZSTURWQ0xFZEJRVlZETEZOQlFWVXNUVUZET1VVdlpTeEZRVUZSTEVWQlExSnFXU3hGUVVGVGFYTkNMRVZCUVZkcWMwSXNUMEZEWW1sWkxFVkJRVkZxV1N4RlFVRlJhVmtzU1VGRGRrSXNSMEZCVDNkS0xFVkJRVkYzU3l4RlFVRlphRlVzUjBGQlVUZGhMRXRCUVUwd05VSXNSVUZCVjNoWUxFVkJRVTE2WWl4SFFVZDZSQ3hQUVVGUE5HUXNSVUZ6VGxZc1UwRkJVM05XTEVkQlFWZG9Na0lzUlVGQlRXc3lRaXhGUVVGWmJqRkNMRWRCUTNKRExFbEJRVWx0VHl4RlFVTklhVzVDTEVWQlEwRnFaaXhGUVVGUkxFVkJRMUpxV1N4RlFVRlRLekpDTEVkQlFWVkpMRmRCUVZkdU0wSXNUMEZET1VKcFlpeEZRVUZYZG1Jc1JVRkJUMnRpTEZkQlFWZEpMRTlCUVZFc2EwSkJSemRDZVdJc1JVRkJTekV4UWl4UFFVVmlNREZDTEVWQlFVOHNWMEZEVGl4SFFVRkxVeXhGUVVOS0xFOUJRVThzUlVGWlVpeEpRVlpCTEVsQlFVbEZMRVZCUVdOdVFpeEpRVUZUVXl4TFFVTXhRalZhTEVWQlFWbHdZU3hMUVVGTGNYWkNMRWxCUVVzc1JVRkJSeXRGTEVWQlFWVlBMRlZCUVZsUUxFVkJRVlY0UWl4VFFVRlhPRUlzUjBGTGNFVm9ReXhGUVVGVkxFZEJSRWgwV1N4RlFVRlpaMkVzUlVGQlZYaENMRlZCUVZrc1IwRkZla055WkN4RlFVRlJMRVZCUTFKcVdTeEZRVUZUT0RKQ0xFVkJRVlZSTEU5QlFVOTBNMElzVDBGRmJrSnBXU3hGUVVGUmFsa3NSVUZCVVdsWkxFbEJRM1pDTm1Vc1JVRkJWVkVzVDBGQlVYSm1MRWRCUVZGclpDeEpRVUZMUXl4SFFVMW9ReXhQUVVoQmJtRXNSVUZCVTJ0Q0xGZEJRVmx3WWl4RlFVRk5MRU5CUVVVck1VSXNSVUZCVnpGQ0xFVkJRVk4wV1N4SlFVYzFRM05aTEVWQlFWVXNSMEZCUzNBeFFpeEZRVU5hT0dNc1IwRkpSamxqTEVkQlEweHBZaXhGUVVGVGEwSXNWMEZCV1hCaUxFVkJRVTBzUTBGQlJTc3hRaXhGUVVGWExFVkJRVWNzU1VGSk5VTTNZaXhGUVVGVGJVSXNXVUZCWVhKaUxFVkJRVTBzUTBGQlJTc3hRaXhMUVVOMlFpeEpRVVZTUVN4RlFVRlpOMklzUlVGQlV6RkNMRkZCUVZNc1EwRkROMEo0V1N4TFFVRk5RU3hGUVVOT05tNUNMRTFCUVU5c2NFSXNSVUZCVDIxRExFOUJRVkVzUjBGQlNXOHhRaXhIUVVNeFFrMHNTMEZCVFRjelFpeEZRVUZQYlVNc1VVRkJVU3hGUVVGTkxFTkJRekZDTWpGQ0xHTkJRV1VzUjBGRFpqRkZMRTlCUVZGd2VrSXNSVUZCVDI5NlFpeFBRVUZQZEZBc1ZVRkRjRUl4YUVJc1IwRkRTREl4UWl4dFFrRkJiMEpTTEVWQlEzQkNVeXhuUWtGQmFVSTFNVUlzUlVGRGFrSjFNVUlzVlVGQlYzQkNMRWxCUVZOVExFdEJRM0JDY0VJc1UwRkJWWGg2UWl4RlFVRlJkM3BDTEZOQlEyeENaME1zVDBGQlVTeEhRVU5TVkN4WlFVRmhMRk5CUVZWMldDeEZRVUZOTldRc1IwRkROVUlzU1VGQlNTdG1MRVZCUVZFdmFFSXNSVUZCVDIxNlFpeE5RVUZQT1hoQ0xFVkJRVTByTVVJc1JVRkJWVk1zUzBGQlRXcFpMRVZCUVUwMVpDeEZRVU55Ukc4eFFpeEZRVUZWVXl4TFFVRkxReXhqUVVGbGJGa3NTVUZCVlhkWUxFVkJRVlZUTEV0QlFVdDZSU3hSUVVWNFJDeFBRVVJCWjBVc1JVRkJWVkVzVDBGQlR5ODFRaXhMUVVGTmEydENMRWRCUTJoQ1FTeEhRVVZTYkVJc1MwRkJUU3hUUVVGVmIxZ3NSMEZEWml4SlFVRkpNV1lzUlVGQlVTeEZRVWxZYWxrc1JVRkJVekl6UWl4RlFVRlZZaXhGUVVGVlVTeFBRVUZQZEROQ0xFOUJRVk1zUlVGRE9VTXNSMEZCUzJzelFpeEZRVU5LTEU5QlFVOTJOa0lzUzBGSFVpeEpRVVJCZFRaQ0xFZEJRVlVzUlVGRFJtcG1MRVZCUVZGcVdTeEZRVUZSYVZrc1NVRkRka0kyWlN4RlFVRlZVU3hQUVVGUmNtWXNSMEZCVVd0a0xFbEJRVXNzUjBGVmFFTXNUMEZPUzNkRExFZEJRMG94WXl4RlFVRlRhMElzVjBGQldYQmlMRVZCUVUwc1EwRkJSU3N4UWl4RlFVRlhMRVZCUVVjc1NVRkRNME0zWWl4RlFVRlRiVUlzV1VGQllYSmlMRVZCUVUwc1EwRkJSU3N4UWl4RlFVRlhZU3hMUVVWNlF6RmpMRVZCUVZOMVFpeFhRVUZaZW1Jc1JVRkJUU3hEUVVGRkt6RkNMRVZCUVZkaExFbEJSV3hEYURkQ0xGRkJSMVJwYzBJc1JVRkJVV3RQTEVWQlFWVnNUeXhOUVVsdVFpeExRUzlJUkN4VFFVRnhRa0VzUlVGQlR6UlBMRWRCUXpOQ0xFbEJRVWwyWml4RlFVRlBiRmNzUlVGQlRTdDNRaXhGUVVGUmFuWkNMRVZCUVU5M1l5eEZRVWRvUXl4SlFVRk5jRWtzUzBGQlV6SlJMRVZCWldRc1IwRmlRV3RMTEVWQlFWTXdSU3hGUVVSVWVqRkNMRVZCUVU4Mll5eEZRVUZYTTBjc1NVRkZiRUp3VlN4RlFVRlJLMnRDTEVWQlFVOHpVU3hIUVVOV00xWXNUVUZCVFVNc1VVRkJVM05DTEV0QlEyNUNhWFpDTEVWQlFWTnFka0lzUlVGQlR5eEhRVU5vUWtFc1JVRkJVU3RyUWl4RlFVRlBNMUVzUjBGQlZYQlZMRVZCUVU4c1NVRkhOVUp2VlN4SlFVRlZiRmNzU1VGRFpEWnRRaXhGUVVGUE4yMUNMRWRCUVZNNFFpeFRRVU5VSzJ0Q0xFVkJRVTh6VVN4TFFVZG1iMGtzUlVGQlVUTm5RaXhGUVVGUGNYcENMRk5CUVZWb2VFSXNTMEZEV0N4WFFVRlpjMlVzUlVGTmVrSXNTVUZCVFhCSkxFdEJURTV3VlN4RlFVRlJkMk1zUlVGQlRUQlZMRTlCUVZGc2VFSXNWVUZEWml0clFpeEZRVUZQTjIxQ0xFZEJTVU00UWl4RlFVTk9iMVVzUzBGQlV6SlJMRWxCUTJoQ1FTeEZRVUZQTTFFc1IwRkJWWEJWTEVWQlFVOXZWU3hIUVVONFFuVm1MRVZCUVdWMlppeEhRVUZWTm1Fc1VVRkpNMEl3UlN4RlFVRmxlakZDTEVkQlFWTXJkMElzUlVFMlJqRkNPRVVzUTBGQldXaFFMRVZCUVU5clR5eEZRVUZWVXl4TFFVRkxReXhsUVVVeFFuWm1MRVZCUVZGcVdTeEZRVUZSYVZrc1NVRkZka0lzUjBGRVFXaEpMRVZCUVZNNGJVSXNSMEZCVlVrc1YwRkJXV3htTEVkQlFWRTNZU3hMUVVGTk1EVkNMRVZCUVZjdk1VSXNSVUZCVFRadVFpeEZRVUZQYTA4c1JVRkJWVk1zVFVGTk9VVXNUMEZLUzNZMVFpeEZRVUZaYVZNc1JVRkJUM05STEZGQlEzWkNOMmRDTEVWQlFVODBaMElzV1VGQllYZFhMRVZCUVZVdk1VSXNTMEZCVFNzeFFpeEZRVUZWVXl4TFFVRkxjR1FzVDBGQlVXOUhMRXRCUXpGRWRGRXNSVUZCVDNOUkxFdEJRVXR6V0N4TFFVRk5OVzVDTEVsQlJXSkJMRVZCZVVKVUxFOUJja0pCZGxFc1JVRkJUMjlDTEVsQlFVczRia0lzUlVGQlQybFBMRWRCUVdGRExFZEJSVE5DT1RSQ0xFVkJRVms0TkVJc1JVRkJWVk1zUzBGQlN6TnRRaXhSUVVNdlFtdHRRaXhGUVVGVlV5eExRVUZMTTIxQ0xFMUJRVTE0VkN4TFFVRk5Na1FzUlVGQlRTc3hRaXhIUVVsc1EwRXNSVUZEUlhSaUxGTkJRVlZ6WWl4RlFVRlZVeXhMUVVGTEwySXNWVUZEZWtKcVZ5eExRVUZOZFhoQ0xFVkJRVlZUTEV0QlFVdG9lVUlzUzBGQlRYVjRRaXhGUVVGVlV5eExRVUZMVHl4VlFVTXhRM1JsTEV0QlFVMXpaQ3hGUVVGVlV5eExRVUZMTDJRc1RVRkRja0ozUWl4UFFVRlJPR0lzUlVGQlZWTXNTMEZCUzNaakxGRkJSWHBDZEdJc1JVRkJUeXN4UWl4SFFVRkhjME1zVFVGRFZISTBRaXhGUVVGUGJVTXNUMEZCVVRRd1FpeEZRVUZOTEVOQlEzQkNNVEZDTEV0QlFVMUJMRVZCUTA1cE0wSXNTMEZCVFd4Q0xFVkJRMDR6WXl4TlFVRlBNbU1zUlVGQlZWTXNTMEZCUzNCa0xGTkJTV3BDTW1Nc1JVRkhVbkF6UWl4RlFVRlBjVE5DTEZWQlFWbHlNMElzUlVGQlQyMURMRTlCUVZGck1VSXNSMEZCVnl4RFFVVTFRME1zVTBGQlZTeERRVU5VYVVJc1NVRkJTeXhEUVVGRkxGTkJRVlV6V1N4RlFVRk5lbUlzUjBGRGRFSXNTVUZCU1RSa0xFVkJRVkU1YTBJc1MwRkJTMnMyUWl4WlFVRmhkbGdzUlVGQlRYcGlMRWRCUlhCRExFOUJSRUV3WkN4SFFVRlhSU3hGUVVGTk1XZENMRXRCUVUxMVpTeEZRVUZOZDBJc1IwRkJVV3BZTEV0QlFVMW9SeXhIUVVGVE5HUXNSMEZETjBOQkxFdEJTVlI1Vnl4UlFVRlRMRk5CUVZWMFVDeEZRVUZQTDI1Q0xFZEJRM0JDTjBNc1JVRkJXVFJ4UWl4SlFVTm9RaTl1UWl4RlFVRlhLMjVDTEVWQlExaEJMRVZCUVZFc1EwRkJSU3hOUVVWV1FTeEZRVUZSUVN4RlFVRk5jR1lzVFVGQlQzRlFMRWRCVDNSQ0xFbEJTa0VzU1VGQlNYbEhMRVZCUTBoeVNDeEZRVUZSTEVWQlExSnFXU3hGUVVGVE5HOUNMRVZCUVUwMWIwSXNUMEZGVW1sWkxFVkJRVkZxV1N4RlFVRlJhVmtzU1VGRGRrSnhTQ3hGUVVGUGMwb3NSVUZCVHpOUkxFZEJRMlE0WlN4SFFVRlZReXhUUVVGVk1WZ3NSMEZCVTNsWUxFZEJRVlZETEZOQlFWVXhXQ3hKUVVGVkxFZEJRek5FZVZnc1IwRkJWVU1zVTBGQlZURllMRWRCUVU5b1VpeFJRVUZUZWs0c1NVRkpkRU56TWtJc1YwRkJXU3hEUVROWFlpeFRRVUV5UW5BeVFpeEZRVUZOTm01Q0xFVkJRVTh5VHl4SFFVTjJReXhKUVVGSmFsa3NSVUZCVFhwaUxFVkJRVTgwWlN4RlFVRlJjRU1zUlVGQlR6aFlMRVZCUVZORExFVkJRVmRETEVWQlFXZENhRmdzUlVGRGJrVnBXQ3hGUVVGUkxGVkJRVmN4VUN4SFFVRlRMRmRCUVZsQkxFVkJRM2hEYjFBc1JVRkJUM0kzUWl4TFFVTlFlWFZDTEVWQlFVOHNSMEZEVUdoTExFVkJRVkZ5WjBJc1JVRkJTM0ZuUWl4TlFVTmlhMVlzUlVGQlUzWXhRaXhGUVVGTE4wTXNWVUZCV1dscVFpeEhRVUZ2UW5CblFpeEhRVU01UTNjelFpeEZRVUZYTDFrc1JVRkJVMjVtTEVsQlFVdFZMRVZCUVUwc1ZVRTJRbWhETEVsQlFVMTFaU3hMUVRGQ1FXbFpMRVZCUVV0d1pDeFJRVVZoTEU5QlJIWkNhMGNzUlVGQlVUTm5RaXhGUVVGUE5HZENMRmxCUVdGMlppeEZRVUZOTEU5QlEzWkNlVE5DTEZkQlExWnVXU3hGUVVGTmJWa3NVMEZCVnl4RlFVTnFRa3dzUlVGQlZUbFlMRVZCUVUwM1RpeE5RVUZOTmtnc1MwRkRkRUpuUnl4RlFVRk5OMDRzVFVGQlRUWklMRXRCUVU4c1YwRkRXbWRITEVWQlFVMXRXU3hWUVVOWVRDeE5RVWxJT1Znc1JVRkJUVzFaTEZkQlJVNVNMRVZCUVV0b1pDeFBRVUZSTEZkQlIxcG5aQ3hGUVVGTGFHUXNUMEZCVVN4WFFVTmFjVVlzUlVGQlRXMVpMRmRCUTBFNU5FSXNSVUZCVDNsaExFMUJRVTl3V2l4RlFVRk5MRTFCUVU5bUxGRkJRMmhEY1dkQ0xFVkJRVTAzVGl4TlFVRk5Oa2dzV1VGUFJuVlBMRVZCUldJc1IwRkVRUzlyUWl4RlFVRlJLMnRDTEVWQlFVOTBTaXhIUVVOV05sY3NSMEZCVTJoelFpeExRVUZOZEVjc1IwRkJWU3hEUVVjM1FpeFZRVVpQSzJ0Q0xFVkJRVTkwU2l4SFFVTmtiVVFzUlVGQlUwRXNSMEZCYjBJc1YwRkJWalZsTEVWQlEyUkJMRXRCUVZsNWVVSXNSVUZCVXl4UFFVRlRMRkZCUVZjc1EwRkpOME1zUjBGQlpTeFRRVUZXZW5sQ0xFbEJRVzlDTURCQ0xGRkJRV2xETHpGQ0xFbEJRWEpDS3pGQ0xFVkJRVlZxV2l4SFFVczVReXhUUVVwQloxZ3NSMEZCVXl4RlFVOVliRXdzUlVGQlRUbE1MRWRCUVZOcFdpeEhRVUZaUVN4RlFVRlZhbG9zU1VGQlZUVm1MRVZCUVU4d2FFSXNUVUZCVDNKblFpeEZRVUZOZFdVc1IwRk5ja1VzU1VGRVFUaFpMRWRCUVdFeE5FSXNSVUZCVDNsRUxHTkJRV1Y1YkVJc1RVRkRhRUpzY0VJc1JVRkJUM2xFTEdOQlFXVnBiMElzUjBFNFJIcERMRWxCUVUwNVRDeExRWHBFUkdkYUxFZEJRVEpDTEVsQlFXeENkak5DTEVWQlFVczNReXhYUVUxc1FuRTFRaXhGUVVGTGEwSXNVMEZCVnl4RFFVRkZjbGdzUlVGQlRYRllMRk5CUVZWeVdDeEZRVUZOYzFnc1ZVRkJWM1JZTEVWQlFVMTFXQ3hYUVVsc1F5eFBRVVIyUWs0c1JVRkJhVUpGTEVkQlFWbEJMRVZCUVZOc1dDeFhRVVZ5UTJkWUxFVkJRV2xDTjFrc1JVRkJVMjVtTEVsQlFVdFZMRVZCUVUwc1dVRkhja0lzVlVGRWFrSnpaMElzUlVGQlZUTm9RaXhGUVVGUE5HaENMRWxCUVV0MlowSXNSVUZCVFN4alFVVjBRbk16UWl4RlFVTkthRmdzUlVGQlZXZFlMRWRCU1Zab1Z5eEhRVUZWTEVOQlFVVjBhRUlzU1VGQlVTeEhRVU53UW5NelFpeEZRVUZwUW5RelFpeEZRVUZMY1dkQ0xFMUJRVTFETEZOQlFWZG5XQ3hGUVVOMlEyaFlMRVZCUVZVemFFSXNSVUZCVHpSb1FpeEpRVUZMZG1kQ0xFVkJRVTBzVjBGRE5VSnphRUlzUjBGQlZTeERRVUZGZEdoQ0xFOUJTMGNzVjBGQlduTm5RaXhIUVVGdlF5eHBRa0ZCV2tFc1IwRkJaMFFzVFVGQmJFSm5XQ3hKUVVOeVFpeFRRVUZvUXpNMFFpeEZRVUZQTkdoQ0xFbEJRVXQyWjBJc1JVRkJUU3hYUVVkb1FuRXpRaXhKUVVOTVNpeEZRVUZMZW5sQ0xFdEJRVTBzVjBGRFZqWmlMRVZCUVUxRExGRkJRVlZuV0N4SlFVVk5MRTFCUVd4Q1FTeEpRVU5LYUZnc1JVRkJWVVFzUlVGQlRVTXNVVUZEYUVKbldDeEZRVUUyUWl4VFFVRmFhRmdzUlVGQmNVSXNSMEZCUzBFc1NVRkhOME5FTEVWQlFVMURMRkZCUVZVc2FVSkJTMlJyVnl4RlFVRkxhMElzVjBGRFZISllMRVZCUVUxeFdDeFRRVUZYTEZOQlEycENWQ3hGUVVGTGFHUXNUMEZCVVN4WFFVTmFiMGNzUlVGQlRYRllMRk5CUVZkc1FpeEZRVUZMYTBJc1UwRkJWU3hIUVVOb1EzSllMRVZCUVUxeldDeFZRVUZaYmtJc1JVRkJTMnRDTEZOQlFWVXNSMEZEYWtOeVdDeEZRVUZOZFZnc1ZVRkJXWEJDTEVWQlFVdHJRaXhUUVVGVkxFMUJTMjVEVEN4SFFVRlpMRVZCUTBWb1RpeEZRVWRRWjA0c1NVRkRRVWNzUlVGRFF5eFhRVUZaUVN4SlFVTm9RbXBETEVWQlFWTnBReXhGUVVGVGFrTXNVVUZIYmtKcFF5eEZRVUZYTDFrc1JVRkJVM2hDTEU5QlFWRnFaQ3hGUVVGTkxGTkJRVlVzUTBGQlJYTm5RaXhSUVVGVFoxZ3NTVUZKYmtRMVZpeEpRVU5LT0ZZc1JVRkJVMnBETEZGQlFWVkJMRWRCU1daQkxFZEJRMHBxVlN4SFFVRlZMRU5CUVVWMGFFSXNTVUZCVVN4SFFVdHlRbWt6UWl4RlFVRkxlbmxDTEV0QlFVMHNWMEZUVml4SlFVRk5LMW9zUzBGS1FXZFlMRWRCUTB4cVZTeEhRVUZWTEVOQlFVVjBhRUlzU1VGRllubGxMRVZCUVZOb1JpeFBRVUZSZWxvc1JVRkJUU3hWUVVOVWNYRkNMRVZCUTJJeGNrSXNSVUZCVHpCb1FpeE5RVUZQY21kQ0xFVkJRVTExWlN4RlFVRk5PRXdzUlVGQlRUbE1MRTlCVFc1RE9Ga3NSVUZCV1haQ0xFZEJRV0ZRTEVWQlFWTnBReXhGUVVGVmFsb3NSMEZCVXl4RlFVRkhRU3hGUVVGTk1Ga3NSMEZEZEVReFdTeExRVUZSYVZvc1NVRkRaa0VzUlVGQlZXcGFMRWRCUVZNNFdTeEZRVUZWZUc1Q0xFMUJRM2hDTUd4Q0xFbEJRMG80UWl4RlFVRlZNVEpDTEVsQlFVMHdNa0lzUlVGQlZYaHVRaXhOUVVNeFFuZHVRaXhGUVVGVmVHNUNMRTFCUVZFc1RVRjFUWEpDWjI5Q0xGVkJRVmNzVTBGQlZTOHpRaXhGUVVGVmJYTkNMRWRCUTNwQ1FTeEZRVU5LSzBvc1IwRkJWVWtzVjBGQlZ6ZHZRaXhSUVVGVGVrNHNSMEZGT1VKck1rSXNSMEZCVlVrc1YwRkJWelUxUWl4TFFVRk5jMFFzVFVGTE9VSnVRaXhGUVVGUGJUVkNMRTFCUVZFc1UwRkJWVUVzUlVGQlR5OUdMRVZCUVZGcWVrSXNSMEZEZGtNc1NVRkJTV2sxUWl4RlFVRk5SQ3hIUVVFd1FpeHBRa0ZCVmtFc1JVRkJjVUp1TlVJc1JVRkJUMjFETEU5QlFWRXNSMEZCU1djelFpeEhRVUZWTEVOQlF6TkZaaXhUUVVGVmFqUkNMRWxCUVU5QkxFZEJRVTFwZWtJc1IwRkRkRUk1TUVJc1JVRkJXVFkyUWl4SlFVRlhRU3hGUVVONFFuWkVMRk5CUVZWMVJDeEZRVU5XTDBZc1QwRkJVV3A2UWl4SFFVRk5hWHBDTEVkQlFWVkJMRWxCUVZjNU1FSXNSVUZCV1Rnd1FpeEpRVUZaUVN4SFFXOUROVVFzVDBGb1EwdHdla0lzUlVGQlR5c3hRaXhIUVVGSGJGRXNTVUZEWkhWVUxFVkJRVWw0UkN4VFFVRlhMRVZCUjJNc2FVSkJRV3BDZDBRc1JVRkJTWGhFTEZkQlExWjNSQ3hGUVVGSmVFUXNXVUZCV1RVeFFpeEZRVUZQS3pGQ0xFZEJRVWR6UkN4UFFVTTVRa1FzUlVGQlNYaEVMRk5CUVZjMU1VSXNSVUZCVHlzeFFpeEhRVUZIYzBRc1QwRkJVVVFzUlVGQlNYaEVMRlZCUjNKRGQwUXNSVUZCU1hoRUxGTkJRVmMxTVVJc1JVRkJUeXN4UWl4SFFVRkhjMFFzVDBGQlQzWldMRlZCVFdwQ0xFMUJRV0p6Vml4RlFVRkpNMlVzVVVGQkswSXNTVUZCWkRKbExFVkJRVWt6WlN4UlFVTTNRakpsTEVWQlFVa3paU3hOUVVGUkxFMUJTV0l5WlN4RlFVRkpOMHNzU1VGQlRUWkxMRVZCUVVsb1FpeFRRVVZrWjBJc1JVRkJTV2hDTEZOQlFWY3NWMEZEVkRrMVFpeEZRVUZaT0RaQ0xFVkJRVWszU3l4TlFVTndRalpMTEVWQlFVazNTeXhKUVVGSk4zZENMRXRCUVUxVUxFMUJSMVp0T0VJc1JVRkJTVE5sTEU5QlExSjZZU3hGUVVGUGVXZENMRkZCUVZONGFrSXNTMEZCVFcwNFFpeEZRVUZKTTJVc1VVRkpja0l5WlN4SFFVZFNjRFZDTEVWQlFVOUhMRWRCUVVkblF5eFBRVUZSTEVOQlEycENiVE5DTEU5QlFWRXNVMEZCVlVnc1JVRkJUMGtzUlVGQlNXNUhMRVZCUVZGcWVVSXNSMEZIY0VNc1QwRkJUMnhGTEV0QlFVdHhVU3hQUVVGUmJWVXNTVUZCY1VKSExFbEJRVXNzVlVGQlZ5eEhRVUZKWjBJc1QwRkhNMFExWjBJc1RVRkJUWGN6UWl4UlFVRlRMRU5CUVVWc1J5eFJRVUZUYVVjc1IwRkJUVW9zUlVGQlR5OUdMRVZCUVZGcWVVSXNTVUZGYkVSeE5FSXNVVUZCVXl4VFFVRlZOVm9zUlVGQlRYVmFMRVZCUVU4dlJpeEZRVUZSYW5sQ0xFZEJRM1pETEVsQlFVa3lVaXhGUVVGUk9WTXNSVUZCVDNsRUxHTkJRV1Z0WXl4SFFVTnFRelphTEVWQlFWTjZOVUlzUlVGQlQyMDFRaXhOUVVGUFFTeEZRVUZQTDBZc1JVRkJVV3A1UWl4SFFVTjBRM1UwUWl4RlFVRmpMRmRCUjJJc1NVRkJTWEJDTEVWQlFVOXFRaXhIUVVGWGNEWkNMRXRCUVUwclF5eEZRVUZQYlVNc1QwRkJVU3hIUVVGSmVXUXNSMEZCVVRaYUxFbEJSMnhFTTIxQ0xFZEJRVk5uVGl4RlFVRlRibVlzU1VGQlN6RkVMRXRCUVUwc1dVRkRha054TjBJc1JVRkJTM3BZTEUxQlFVMHNTVUZOWkN4UFFVWkJObGtzUlVGQldVTXNUMEZCVTBRc1JVRkZaRFZ0UWl4SlFVRXdRaXhKUVVGcVFqSnRRaXhGUVVGUGFHWXNUVUZEZEVKNFpDeExRVUZMYVVVc1MwRkJUWGMwUWl4SFFVTlllamhDTEV0QlFVdDNaQ3hOUVVGUFoyWXNSVUZCVDJobUxFMUJRVTlwWml4SlFVVTFRamRaTEV0QlFVMHNVMEZCVldwcFFpeEZRVUZOYldsQ0xFVkJRVmxyV0N4SFFVTnFReXhKUVVGSk1rSXNSVUZCV1N4VFFVRlZhbG9zUjBGRGVrSXNTVUZCU1VVc1JVRkJUMFlzUlVGQlRVVXNXVUZEVmtZc1JVRkJUVVVzUzBGRFlrRXNSVUZCVFc5WUxFbEJXVkFzVFVGVWNVSXNhVUpCUVZSeU5VSXNTVUZEV0hFMVFpeEZRVUZWYkZnc1JVRkRWa0VzUlVGQllXNXBRaXhGUVVOaVFTeFBRVUZQYTBVc1IwRkZTR2xsTEVkQlEwbzVha0lzUzBGQlMzZGtMRTFCUVU4M1lpeEhRVUZSTEV0QlFVMHNTVUZIY0VJelFpeExRVUZMYVVVc1MwRkJUU3hYUVVOcVFpeEpRVUZKZFdZc1IwRkJWU3hGUVVOaWJFa3NSVUZCWjBJc1RVRkJVak5hTEVkQlFXZENRU3hGUVVGUExHRkJReTlDYVRkQ0xFVkJRVk0zTlVJc1JVRkJUelkxUWl4UFFVTm9RbXhoTEVWQlFVOUhMRVZCUVZOdVppeEpRVUZMTVVRc1RVRkZkRUlzUjBGQlMzTmlMRVZCUTBOdlNDeEZRVUZOY0Vnc1NVRkJWMjlJTEVWQlFVMXdTQ3hIUVVGUmMwa3NUVUZEYmtNcldTeEZRVUZYYW1Fc1JVRkJUWEJJTEZOQlIyeENMRWxCUVUxQkxFdEJRVk52U0N4RlFVTlVRU3hGUVVGTmNFZ3NTVUZCVjI5SUxFVkJRVTF3U0N4SFFVRlJjMGtzVFVGQlVUWldMRWRCUVV0cWMwSXNTMEZCVFRoT0xFbEJRM1JFY1doQ0xFVkJRVmRxWVN4RlFVRk5jRWdzU1VGTGNFSXNTVUZCVFVFc1JVRkJVWE5vUWl4RlFVRlBkalZDTEU5QlFWRnBXU3hMUVVOMlFuTm9RaXhGUVVGUmRHaENMRWRCUVZGc1dDeFBRVUZUY0VVc1RVRkRia0lzVFVGQlVqSkNMRWRCUVdkQ2FUZENMRVZCUVZGMGFFSXNSMEZCVVd0RExGRkJRVlUzWWl4SlFVVTFRMmszUWl4RlFVRlJkR2hDTEVkQlFWRXJaaXhMUVVGTGVsZ3NTMEZCVFc5WUxFZEJRek5DZUZnc1IwRkJWU3hGUVVOV2Ixb3NSVUZCVHpNelFpeFBRVUZSY1Zjc1JVRkJUeXhMUVU5dVFtdEpMRWRCUVZsM1dDeEhRVU5vUW1vMFFpeEZRVUZQZVdkQ0xGRkJRVk40YWtJc1MwRkJUVEpDTEUxQlNYcENLelpDTEU5QlFWRXNVMEZCVlM4MlFpeEhRVWxxUWl4UFFVaGpMRWxCUVZSQkxFbEJRMHBCTEVWQlFVOUJMRWRCUVZFc1RVRkZWRE5DTEV0QlFVdHBSU3hMUVVGTkxGZEJRMnBDTEVsQlFVbHhXQ3hGUVVOSWIwZ3NSVUZCVDBjc1JVRkJVMjVtTEVsQlFVc3hSQ3hOUVVOeVFuZGtMRVZCUVZGclJpeEZRVUZOTDJkQ0xFVkJRVThzVTBGRGNrSXJhRUlzUlVGQlVXaENMRVZCUVUwdlowSXNSVUZCVHl4alFVTnlRbWszUWl4RlFVRlROelZDTEVWQlFVODJOVUlzVDBGRGFFSjJOVUlzUlVGQlUyMWhMRVZCUVZGQkxFVkJRVTF1WVN4UFFVRlRMRVZCWVdwRExFbEJWa0Z4Wml4RlFVRkxaMkVzVVVGQlV5eEZRVWRrTXpWQ0xFVkJRVTk1WVN4TlFVRlBlR1FzUzBGQlRUSkNMRVZCUVUwc1NVRkZja0lyYUVJc1IwRkJVMEVzUlVGQlRVVXNUVUZEYmtKR0xFVkJRVTFGTEV0QlFVdHVha0lzUzBGQlRWUXNUVUZCVFN4SFFVbHNRbk5pTEVWQlFWRnphRUlzUlVGQlQzWTFRaXhQUVVGUmFWa3NTMEZEZGtKemFFSXNSVUZCVVhSb1FpeEhRVUZSYkZnc1QwRkJVM0JGTEUxQlFWRTBPRUlzUlVGQlVYUm9RaXhIUVVGUmEwTXNVVUZCVlRkaUxFbEJReTlFYVRkQ0xFVkJRVkYwYUVJc1IwRkJVU3RtTEV0QlFVdDZXQ3hOUVVGTkxFZEJRek5DWjFvc1JVRkJUek16UWl4UFFVRlJjVmNzUlVGQlR5eEpRVXQ0UWl4SlFVRk5RU3hGUVVGUkxFVkJRVWRCTEVWQlFWRnFXU3hGUVVGUmFWa3NTVUZETTBKclF5eEZRVUZQYkVNc1NVRkJWMnRETEVWQlFVOXNReXhIUVVGUmIyaENMRkZCUTNKRGJHWXNSVUZCVDJ4RExFZEJRVkZ2YUVJc1QwRkJUMm80UWl4TFFVRk5WQ3hoUVV0MlFqQnBRaXhGUVVGTFoyRXNXVUZMWmpNMVFpeEZRVUZQYTBJc1MwRkJUU3hEUVVGRkxGTkJRVlVzVDBGQlVTeFJRVUZWTEZOQlFWVnpSQ3hGUVVGSmJrTXNSMEZEZUVRc1NVRkJTWGt6UWl4RlFVRlJPVFZDTEVWQlFVOUhMRWRCUVVsclF5eEhRVU4yUW5KRExFVkJRVTlITEVkQlFVbHJReXhIUVVGVExGTkJRVlU0TWtJc1JVRkJUeTlHTEVWQlFWRnFlVUlzUjBGRE5VTXNUMEZCWjBJc1RVRkJWR2MwUWl4SFFVRnJReXhyUWtGQlZrRXNSVUZET1VKWExFVkJRVTFzT0VJc1RVRkJUMWdzUzBGQlRYRkZMRmRCUTI1Q2NrVXNTMEZCUzNVNFFpeFJRVUZUZGtNc1IwRkJUelV3UWl4SFFVRk5MRWRCUVZFNE1rSXNSVUZCVHk5R0xFVkJRVkZxZVVJc1RVRkxja1J1UWl4RlFVRlBhMElzUzBGQlRTeERRVU5hTmpSQ0xGVkJRVmM1UXl4SFFVRlBMRkZCUTJ4Q0swTXNVVUZCVXk5RExFZEJRVThzVVVGRGFFSm5SQ3haUVVGaGFFUXNSMEZCVHl4VlFVTndRbWxFTEU5QlFWRXNRMEZCUlRWSExGRkJRVk1zVVVGRGJrSTJSeXhSUVVGVExFTkJRVVUzUnl4UlFVRlRMRkZCUTNCQ09FY3NWMEZCV1N4RFFVRkZPVWNzVVVGQlV5eFhRVU55UWl4VFFVRlZhbmhDTEVWQlFVMDJiVUlzUjBGRGJFSnNjRUlzUlVGQlQwY3NSMEZCU1d0RExFZEJRVk1zVTBGQlZUZ3lRaXhGUVVGUEwwWXNSVUZCVVdwNVFpeEhRVU0xUXl4UFFVRlBiRVVzUzBGQlMzVTRRaXhSUVVGVGRGRXNSVUZCVDJsUkxFVkJRVTh2Uml4RlFVRlJhbmxDTEUxQlNUZERia0lzUlVGQlR6WTFRaXhQUVVGVExFZEJRMmhDTnpWQ0xFVkJRVThyTVVJc1IwRkJSMmRDTEV0QlFVOHNWMEZEYUVJc1NVRkJTWE5DTEVWQlEwaHFOVUlzUlVGQlNTeEZRVU5LZVRaQ0xFVkJRVk0zTlVJc1JVRkJUelkxUWl4UFFVbHFRaXhKUVVaQmRFUXNSMEZCVVRkM1FpeExRVUZMTm1wQ0xFMUJSVXh1Y1VJc1JVRkJTWGsyUWl4RlFVRlBkalZDTEU5QlFWRnNRaXhMUVVNeFFtazFRaXhGUVVGUmQwSXNSVUZCVVhvMlFpeFBRVWREZVRaQ0xFVkJRVkY2TmtJc1MwRkJVV2sxUWl4SFFVTm9RM2RDTEVWQlFVOHpNMElzVDBGQlVUbERMRWxCUVVzc1IwRkphRUo1TmtJc1JVRkJUM1kxUWl4UlFVTmFUaXhGUVVGUEt6RkNMRWRCUVVkc1ZpeFBRVVZZTUZZc1VVRkJVWHA2UWl4SFFVZFVPVU1zUlVGQlR5c3hRaXhIUVVGSGMwTXNUVUZCVVN4VFFVRlZRU3hIUVVNelFuSTBRaXhGUVVGUE5qVkNMRTlCUVU5b09FSXNTMEZCVFhjMlFpeEhRVU53UW5JMFFpeEZRVUZQS3pGQ0xFZEJRVWMzYTBJc1UwRkhXR3hTTEVWQlFVOHJNVUlzUjBGQlIyVXNVMEZCVnl4SFFVTnlRamt5UWl4RlFVRlBLekZDTEVkQlFVYzNhMElzVFVGQlVTeFhRVU5hYzJ4Q0xFdEJTVXhCTEVsQlFXRXNSVUZEWWtjc1QwRkhSRE15UWl4RlFVRlBLekZDTEVkQlFVZHNWaXhMUVVGUExGZEJRMmhDTWxZc1IwRkJZU3hOUVVka2VESkNMRVZCUVU4ck1VSXNSMEZCUjNORUxFOUJRVk1zUTBGRGJFSm5RaXhMUVVGTkxFbEJRMDVETEV0QlFVMHNTVUZIVG5oWExGTkJRVlVzUzBGTldEbHFRaXhGUVVGUFJ5eEhRVUZIYnpaQ0xFMUJRVkVzVTBGQlZVTXNSVUZCVFRVM1FpeEhRVWxxUXl4UFFVaEJORGRDTEVWQlFVOTROa0lzUlVGQlR5c3hRaXhKUVVGTEx6RkNMRVZCUVU4ck1VSXNSMEZCUjNORUxFOUJRVkZ0UWl4SlFVRnBRa0VzUlVGRGRFUTFOMElzUlVGQlQwRXNSMEZCVVN4TFFVVlNNMElzUzBGQlMzZGtMRTFCUVU4M1lpeEZRVUZOTEZOQlFWVXlTeXhGUVVGTmIxZ3NSMEZEZUVNc1NVRkJTVGhhTEVWQlFWVjZPVUlzUlVGQlQyZG5RaXhYUVVGWmVsUXNSVUZCVFdsNFFpeEhRVU4yUXpkYUxFVkJRVTFGTEV0QlFVOHNWMEZEV2pkcVFpeEZRVUZQTURsQ0xHRkJRV05FTEU5QlRYaENMRmRCUTBNc1NVRkJTVGR6UWl4RlFVRlJMMUVzUlVGQlV6QkRMR05CUVdVc1UwRkZia00yTlVJc1JVRkVVM1k0UWl4RlFVRlRNRU1zWTBGQlpTeFZRVU53UWtzc1dVRkJZUzlETEVWQlFWTXdReXhqUVVGbExGZEJSVzVFY1U4c1JVRkJUV2hRTEV0QlFVOHNWMEZKWWxBc1JVRkJVWE00UWl4UlFVRXdRaXhMUVVGb1FpOXpRaXhGUVVGTmVrb3NUVUZKZUVJNVJpeEZRVUZSZFRoQ0xGbEJRV040UWl4RlFVRkplRzFDTEZWQlNURkNhRVlzUlVGQlVTOVJMRVZCUVZNd1F5eGpRVUZsTEZWQlF6RkNORVVzVFVGQlVTeEpRVU5rZVVvc1JVRkJUV2hRTEV0QlFVOHNVVUZEWWxBc1JVRkJVWGM0UWl4WFFVRTJRaXhOUVVGb1FtcDBRaXhGUVVGTmVrb3NUVUZ3UWpWQ0xFZEJkMEpCTEVsQlFVa3lNa0lzUjBGRFNHeDJRaXhIUVVGaE5Vd3NSVUZCVHpaUExFdEJRVXRxUkN4WFFVVXhRalZNTEVWQlFVOUhMRWRCUVVkblF5eFBRVUZSTEVOQlEycENORTBzUzBGQlRTeFRRVUZWTVUwc1JVRkJUVGhDTEVkQlEzSkNMRTlCUVU5dFlTeEZRVUZSY21oQ0xFdEJRVTByUXl4RlFVRlBLMDhzUzBGQlRURk5MRVZCUVUwNFFpeEZRVUZQTjBNc1ZVRkJWV2hDTEU5QlFWTXNTVUZIYmtWNU5rSXNWMEZCV1N4VFFVRlZNVFJDTEVkQlEzSkNMRTlCUVU5d1JpeExRVUZMYVVVc1MwRkJUU3hYUVVOcVFteENMRVZCUVU4ck5rSXNWMEZCV1RrNVFpeExRVUZOYjBZc1VVRkxOVUp5UXl4RlFVRlBiVU1zVDBGQlVTeERRVU5rTkUwc1MwRkJUU3hUUVVGVk1VNHNSVUZCVFdkQ0xFVkJRVTA0UWl4SFFVTXpRaXhKUVVGSmNFUXNSVUZCU3pSbUxFVkJRMUp4WVN4RlFVRlJNelZDTEVWQlFVczNReXhUUVVka0xFZEJRV1VzU1VGQlZuYzRRaXhIUVVGNVFpeEpRVUZXUVN4SFFVRjVRaXhKUVVGV1FTeEZRVXR1UXl4WlFVRnJReXhKUVVGMFFqTTFRaXhGUVVGTE5VSXNZVUZEVkU4c1JVRkJUelJtTEV0QlFVMTJaU3hGUVVGTlowSXNSVUZCVFRoQ0xFbEJTMnhDTEVsQlFWWTJNa0lzUjBGQlowSm9OMElzUlVGQlR5dFhMRk5CUVZVeFZpeExRVU55UTNObUxFVkJRVkV6WjBJc1JVRkJUMmszUWl4VlFVRlhOVFJDTEVWQlFVdHZReXhwUWtGRE5VSjZSU3hGUVVGUE5rOHNTMEZCU3k5RkxFMUJRVTFxUXl4TFFVRkxORU1zUzBGQlRYQkpMRWRCUVZONU5FSXNVVUZCVjJnMFFpeFRRVWQwUTBFc1NVRkJWbkZDTEVWQlExY3NUMEZCVmtFc1QwRkRTbTVGTEVWQlFVOHJOa0lzVjBGQldURTFRaXhGUVVGTlowSXNSMEZKY2tKelpTeEhRVUZUTEZGQlFWTkJMRkZCUTNWQ04yUXNTMEZCTTBNdlFpeEZRVUZOTkdZc1JVRkJUV3BDTEVsQlFVdHlaU3hGUVVGTk9FTXNSVUZCVHpsQ0xFbEJRM3BDZEVJc1IwRkhVazBzUlVGQlN6TkNMR0ZCUVdNeVF5eEZRVUZOT0VJc1JVRkJVU3hKUVVNeFFrRXNSMEZIU0hkakxFZEJRVk1zVVVGQlUwRXNSMEZCSzBNc1VVRkJjRU0xWml4RlFVRk5OR1lzUlVGQlRXaG5RaXhKUVVGTFZTeEZRVUZOWjBJc1NVRkRha1IwUWl4RlFVMU5MRTlCU0dSQkxFVkJRVTFtTEVWQlFVOTNUaXhMUVVGTGRVSXNTMEZCVFRGT0xFVkJRVTFuUWl4VFFVZFVVeXhGUVVGWkwwSXNTVUZIYkVOck5rSXNWVUZCVnl4RFFVTldjamhDTEV0QlFVMHNRMEZEVERoblFpeEpRVUZMTEZOQlFWVnlaU3hGUVVGTk9FTXNSMEZEY0VJc1NVRkJUVGxHTEVWQlFWRjNPRUlzV1VGQmQwSXNWVUZCVmpFeVFpeEhRVU16UW10R0xFVkJRVlZvU1N4RlFVRk5MRk5CUVZrc1EwRkROVUlzU1VGQlNXaERMRVZCUVUxblF5eEZRVUZMT0VNc1RVRkxaaXhQUVVwQk9VTXNSVUZCU3pOQ0xHRkJRV01zVDBGQlVYbEZMRWRCUTNSQ09VVXNTVUZEU21kRExFVkJRVXM0UXl4TlFVRlJPVVVzUjBGRlVEaEZMRTFCVFZnME1rSXNWMEZCV1N4VFFVRlZNVFZDTEVWQlFVMDRReXhIUVVNelFpeEpRVUZKT1VJc1JVRkRTR3BFTEVWQlFVa3NSVUZKU2pnM1FpeEZRVUZaTHpKQ0xFZEJRVk5CTEVWQlFVMHlSaXhOUVVGUGNWQXNSMEZGYmtNc1IwRkJTeXRvUWl4SFFVRXJRaXhKUVVGc1FqYzFRaXhGUVVGTE4wTXNVMEZEZEVJc1MwRkJWVFpFTEVWQlFVODJORUlzUlVGQlZ6azNRaXhOUVVNelFtbERMRVZCUVVzeVNpeG5Ra0ZCYVVJelNTeE5RVTh4UW5rMFFpeEhRVUZYTEVOQlExWndZaXhKUVVGTExGTkJRVlZ5WlN4RlFVRk5PRU1zUlVGQlR6bENMRWRCVVROQ0xFOUJVR1VzU1VGQlZqaENMRVZCUjBwdVJTeEZRVUZQS3paQ0xGZEJRVmt4TlVJc1JVRkJUV2RDTEVkQlJYcENhRUlzUlVGQlN6TkNMR0ZCUVdNeVF5eEZRVUZOUVN4SFFVVnVRa0VzU1VGSlZISkRMRVZCUVU5clFpeExRVUZOYkVJc1JVRkJUelpQTEV0QlFVc3ZSU3hOUVVGTmFrTXNTMEZCUzNOYUxFOUJRVTl5V0N4TlFVRlBMRkZCUVZVc1UwRkJWWFJHTEVWQlFVbHVReXhIUVVONlJTeEpRVUZKT0RSQ0xFVkJRVk4yZGtJc1IwRkJXWFpLTEVsQlFWVnlReXhGUVVGUGQwNHNTMEZCUzNWQ0xFdEJSUzlEYmtRc1IwRkJXWFpLTEVkQlFWTXNVMEZCVldoQ0xFVkJRVTFuUWl4RlFVRk5kME1zUjBGRE1VTXNTVUZCU1RsRUxFVkJRVXR0YlVJc1JVRkRVbXRWTEVWQlFXZENMelJDTEVWQlFVdHZReXhqUVZsMFFpeFBRVlpOU1N4SlFVZE1jV2xDTEVWQlFWTjBZaXhIUVVGWmQzWkNMRWRCUTNKQ2VIWkNMRWRCUVZsM2RrSXNSMEZCYTBKeU5rSXNSVUZET1VKQkxFVkJRWEZETEUxQlFTOUNielpDTEVWQlFWRTVOVUlzUlVGQlRXZENMRVZCUVUxM1F5eEhRVU42UW5VeVFpeEZRVU5CTEV0QlEwUjRka0lzUjBGQldYZDJRaXhIUVVGclFteFZMRWRCUlhoQ2JtMUNMRXRCVDFRc1NVRkJTWE0yUWl4SFFVRmhMSE5EUVVOb1FrTXNSMEZCWVN4blFrRjVTV0lzVTBGQlUwTXNSMEZCYTBKd00wSXNSMEZGTVVJc1QwRkVZVUVzUlVGQlRUSkdMRTFCUVU5eFVDeEpRVUZ0UWl4SlFVTXZRblJQTEV0QlFVMHNTMEZKZEVJc1UwRkJVekozUWl4SFFVRlZialpDTEVkQlEyeENMRTlCUVU5QkxFVkJRVXMxUWl4alFVRm5RalJDTEVWQlFVczFRaXhoUVVGakxGVkJRV0VzUjBGSE4wUXNVMEZCVTJjNFFpeEhRVUZuUW5RelFpeEhRVU40UWl4UFFVRkxka0lzVFVGQlRVTXNVVUZCVTNOQ0xFZEJRMXBCTEVWQlJXTXNhVUpCUVZaQkxFZEJRMHBCTEVWQlFVMHlSaXhOUVVGUGNWQXNTVUZGWkN4SFFYaEtVbTVhTEVWQlFVOUhMRWRCUVVkblF5eFBRVUZSTEVOQlEycENlV1FzUzBGQlRTeFRRVUZWZG1Rc1JVRkJUVGhDTEVkQlEzSkNMRTlCUVU5dFlTeEZRVUZSY21oQ0xFdEJRVTByUXl4RlFVRlBOR1lzUzBGQlRYWmtMRVZCUVUwNFFpeEZRVUZQTjBNc1ZVRkJWV2hDTEU5QlFWTXNTVUZIYmtWdk4wSXNWMEZCV1N4VFFVRlZjalZDTEVkQlEzSkNMRTlCUVU5d1JpeExRVUZMYVVVc1MwRkJUU3hyUWtGRFZtcEZMRXRCUVUwclF5eEZRVUZQTWpkQ0xGRkJRVk4wTlVJc1NVRkJWVUVzVVVGTE1VTnlReXhGUVVGUGJVTXNUMEZCVVN4RFFVTmtlV1FzUzBGQlRTeFRRVUZWZG1Vc1JVRkJUV2RDTEVWQlFVMDRRaXhIUVVNelFpeEpRVUZKY0VRc1JVRkJTelJtTEVWQlExSnhZU3hGUVVGUk16VkNMRVZCUVVzM1F5eFRRVWRrTEVkQlFXVXNTVUZCVm5jNFFpeEhRVUY1UWl4SlFVRldRU3hIUVVGNVFpeEpRVUZXUVN4RlFWZHVReXhQUVZCbExFbEJRVlpCTEVkQlFXZENhRGRDTEVWQlFVOHJWeXhUUVVGVk1WWXNTMEZIY2tOblFpeEZRVUZQY2tNc1JVRkJUekkzUWl4UlFVRlRkRFZDTEVsQlFWVkJMRVZCUTJwRGMyVXNSVUZCVVROblFpeEZRVUZQZHpGQ0xGVkJRVmR1ZWtJc1UwRkhXbE1zU1VGQlZuRkNMRVZCUTBOM1l5eEhRVUZUTEZGQlFWTkJMRkZCUTNWQ04yUXNTMEZCTTBNdlFpeEZRVUZOTkdZc1JVRkJUV3BDTEVsQlFVdHlaU3hGUVVGTk9FTXNSVUZCVHpsQ0xFbEJRM3BDZEVJc1JVRkhRMDBzUlVGQlRXZENMRWRCUVZNNFFpeEZRVWR3UW5kakxFZEJRVk1zVVVGQlUwRXNSMEZCSzBNc1VVRkJjRU0xWml4RlFVRk5OR1lzUlVGQlRXaG5RaXhKUVVGTFZTeEZRVUZOWjBJc1NVRkRha1IwUWl4RlFVZEVUU3hGUVVGTlowSXNTVUZIWkcxNlFpeFZRVUZYTEVOQlExWXZhVUlzVTBGQlZTeERRVU5VT1ZJc1NVRkJTeXhUUVVGVlZTeEhRVTlrTEVsQlFVbDFOa0lzUlVGQlZ6VTNRaXhGUVVGUGQwNHNTMEZCUzNWQ0xFdEJRVTB4VGl4RlFVRk5MRmxCUlhaRExFOUJRVXQxTmtJc1JVRkRSelZMTEZOQlFWVTBTeXhGUVVGVkxFbEJTVE5DVUN4SFFVRlhOWGRDTEV0QlFVMXdTaXhGUVVGTFowa3NWMEZEZEVKcGVVSXNSMEZCVnpkM1FpeExRVUZOY0Vvc1JVRkJTMmRKTEZkQlEzUkNhRWtzUlVGQlMyMVNMRXRCUlVVc1IwRkhRU3hMUVV0WWJYQkNMRkZCUVZNc1EwRkRVa1VzU1VGQlR5eFZRVU5RUXl4TlFVRlRMR1ZCV1V4Nk9VSXNSVUZCVVhVNFFpeGpRVU5pTlRaQ0xFVkJRVTkzTVVJc1ZVRkJWVFZwUWl4VFFVRlhMRU5CUXpOQ2FsTXNTVUZCU3l4VFFVRlZWU3hIUVVsa0xFbEJRVWs0VUN4RlFVRlRPVkFzUlVGQlMzaENMRmRCU1d4Q0xFOUJTRXR6VWl4SFFVRlZRU3hGUVVGUGRGSXNXVUZEY2tKelVpeEZRVUZQZEZJc1YwRkJWMmRVTEdOQlJWb3NUVUZGVWpaTkxFbEJRVXNzVTBGQlZYSmxMRWRCU1dRc1NVRkJTVGhRTEVWQlFWTTVVQ3hGUVVGTGVFSXNWMEZEWW5OU0xFbEJRMHBCTEVWQlFVOHdRaXhqUVVWR01VSXNSVUZCVDNSU0xGbEJRMWh6VWl4RlFVRlBkRklzVjBGQlYyZFVMR3RDUVU5MlFqZFRMRVZCUVU5clFpeExRVUZOTEVOQlExb3NWMEZEUVN4WFFVTkJMRmxCUTBFc1kwRkRRU3hqUVVOQkxGVkJRMEVzVlVGRFFTeFRRVU5CTEdOQlEwRXNiVUpCUTBVc1YwRkRSbXhDTEVWQlFVOHlOMElzVVVGQlV6RXJRaXhMUVVGTGQwZ3NaVUZCYTBKNFNDeFBRVFJDZUVNclF5eEZRVUZQUnl4SFFVRkhaME1zVDBGQlVTeERRVU5xUWpRMVFpeFRRVUZWTEZOQlFWVTFNMElzUjBGRGJrSXNTVUZCU1RZelFpeEZRVUZUTXpaQ0xFVkJRVTE1U3l4RlFVRkxiWGRDTEVWQlFWVkRMRVZCUVU5dU5rSXNSVUZCUjI4MlFpeEZRVU16UXk4NFFpeEZRVUZKTEVWQlJVd3NSMEZCUzJRc1JVRkJXVFpHTEVkQlEyaENMRTlCUVU5c1NDeExRVUZMYVVVc1MwRkJUU3hUUVVGVllTeEhRVU16UWk5Q0xFVkJRVkV2UXl4TlFVRlBPQ3RDTEZOQlFWVTFNMElzUlVGQlRYcEhMRXRCUVUxVUxFdEJRVTA0UlN4RlFVRkhlVFZDTEVkQlFWVjJLMElzVlVGTk1VUXNTVUZHUVNzclFpeEZRVUZWVUN4SFFVRm5RblF6UWl4SlFVVmlOMFFzVDBGRFdpeExRVUZWWlN4RlFVRlBjRVVzUzBGQlRXMURMRTFCU1hSQ0xFZEJTRUUyT0VJc1JVRkJWMVFzUjBGQlZXNDJRaXhIUVVOeVFubExMRVZCUVhkQ0xFbEJRV3hDZWtzc1JVRkJTemRETEZWQlFXOUNMRWxCUVUwck9FSXNSMEZCYTBKVkxFZEJRV0VzU1VGRmVrUXNRMEZGVml4SlFVUkJiRFpDTEVWQlFVa3NSVUZEVFcwMlFpeEZRVUZSUml4RlFVRlRhalpDTEUxQlEzSkNLMG9zUlVGQlNXaFBMRkZCUVZNc1NVRkJUVzhyUWl4RlFVRlJMRXRCUVZFc1NVRkRka053ZDBJc1IwRkJUMjkzUWl4RlFVRlJMRXRCVFZwRUxFdEJSRXhGTEVWQlFXRmFMRWRCUVd0Q2VuWkNMRXRCUlRsQ2Vrc3NSVUZCU3pOQ0xHRkJRV01zVVVGQlUzazRRaXhIUVUxb1F5eFBRVUZQYkM5Q0xFMUJSMUp0TDBJc1dVRkJZU3hUUVVGVmFqUkNMRWRCUTNSQ0xFbEJRVWsyTTBJc1JVRkJVek0yUWl4RlFVRk5lVXNzUlVGQlMyMTNRaXhGUVVGVlF5eEZRVUZQYmpaQ0xFVkJRVWR2TmtJc1JVRkRNME12T0VJc1JVRkJTU3hGUVVWTUxFZEJRVXRrTEVWQlFWazJSaXhIUVVOb1FpeFBRVUZQYkVnc1MwRkJTMmxGTEV0QlFVMHNVMEZCVldFc1IwRkRNMEl2UWl4RlFVRlJMME1zVFVGQlQyMHZRaXhaUVVGaGFqUkNMRVZCUVUxNlJ5eExRVUZOVkN4TFFVRk5PRVVzUlVGQlIzazFRaXhIUVVGVmRpdENMRlZCU1RkRUxFbEJRVTF4UlN4VlFVRlZhRUlzVDBGRFppeFBRVUZQY2tRc1MwRkJTemhTTEV0QlFVMHNVVUZCVXl4SlFVczFRaXhKUVVaQmFYUkNMRVZCUVZWUUxFZEJRV2RDZEROQ0xFbEJSV0kzUkN4UFFVTmFMRXRCUVZWbExFVkJRVTl3UlN4TFFVRk5iVU1zVFVGTmRFSXNSMEZNUVRZNFFpeEZRVUZYVkN4SFFVRlZialpDTEVkQlIzSkNlVXNzUlVGQmQwSXNTVUZCYkVKNlN5eEZRVUZMTjBNc1ZVRkJiMElzU1VGQlRTczRRaXhIUVVGclFsVXNSMEZCWVN4SlFVVjZSQ3hEUVVWV0xFbEJSRUZzTmtJc1JVRkJTU3hGUVVOTmJUWkNMRVZCUVZGR0xFVkJRVk5xTmtJc1RVRkhNVUlzUzBGQlVTdEtMRVZCUVVsb1R5eFJRVUZUTEVsQlFVMXZLMElzUlVGQlVTeE5RVUZUTEVkQlF6TkRjSGRDTEVWQlFVMUJMRVZCUVVrMVNTeFJRVUZUTEVsQlFVMW5OVUlzUlVGQlVTeEpRVUZMTEV0QlRXNURSQ3hMUVVSTVJTeEZRVUZoV2l4SFFVRnJRbnAyUWl4TFFVVTVRbnBMTEVWQlFVc3pRaXhoUVVGakxGRkJRVk41T0VJc1IwRk5hRU1zVDBGQlQyd3ZRaXhOUVVkU2J5OUNMRmxCUVdFc1UwRkJWV3cwUWl4RlFVRlBiVFJDTEVkQlF6ZENMRWxCUVVreE9VSXNVMEZCWTNWR0xFVkJRMnBDYnpSQ0xFVkJRWGRDTEZkQlFWUXpPVUlzUjBGQmNVSm5SU3hOUVVGTlF5eFJRVUZUYzBJc1IwRkZjRVFzVFVGQmVVSXNhMEpCUVdKdE5FSXNSMEZCTUVKRExFVkJRemxDUkN4RlFVRlhjaTlDTEV0QlFVczRLMElzVTBGQlZUVXpRaXhIUVVGVmJFZ3NTMEZCUzIwdlFpeFpRVUZoYWpSQ0xFZEJSM3BFTjBZc1JVRkJXVFpHTEVkQlExUnNTQ3hMUVVGTGFVVXNTMEZCVFN4VFFVRlZPVUlzUjBGRE0wSlpMRVZCUVZFdlF5eE5RVUZQYnk5Q0xGbEJRMlJzTkVJc1JVRkJUWHBITEV0QlFVMVVMRXRCUVUxdFF5eEZRVUZIYnpoQ0xFZEJRVlYySzBJc1RVRkJVWEV2UWl4SFFVTjJRMEVzUzBGTFNYSXZRaXhMUVVGTGFVVXNTMEZCVFN4WFFVTnFRaXhKUVVGSlowMHNSVUZCVnpsT0xFVkJRVWR6V1N4RlFVRk5PR3RDTEVWQlJYaENMRWRCUVV0RUxFVkJUMG9zU1VGS1FXNDVRaXhGUVVGSkxFVkJRMHB6V1N4RlFVRlBNVmdzUlVGQlVTOURMRTFCUTJaMUwwSXNSVUZCWVdZc1IwRkJaMEowTTBJc1IwRkZia0lyU1N4RlFVRlpjM1pDTEVWQlFWbHdPVUlzVFVGSE5VSnpXU3hGUVVGTEsydENMRk5CUVZWMmRrSXNSMEZEYmtKM1N5eEZRVUZMTUd0Q0xGbEJRV0ZzZGtJc1IwRkZiRUozU3l4RlFVRkxjV3RDTEZOQlFWVTNkVUlzWVVGTFNYQkxMRWxCUVZaeFFpeEhRVUZuUXl4WlFVRlVka1lzUzBGRGJFTnpUeXhGUVVGWmMzVkNMRWRCUVZWMkswSXNVVUZKY2tJMmFVSXNSVUZCVTBvc1NVRkJTM3BwUWl4TFFVRk5MR2RDUVVGcFFtbFJMRWRCVDJwRGFsRXNTMEZCUzNsRExHTkJRMVI2UXl4TFFVRkxlVU1zWVVGQll5eFJRVU5zUW5kT0xFbEJRWFZDTEVsQlFWWXZTU3hGUVVOYUxFZEJRMEV5WWl4RlFVRlRibVlzU1VGQlN6RkVMRXRCUVUwc2EwSkJRWEZDTEZGQlR5OURkeTlDTEZOQlFWVXNVMEZCVlhnNFFpeEhRVU51UWl4SlFVRkphVTRzUlVGQlZ6ZE1MRVZCUTJScVF5eEZRVUZKTEVWQlIwd3NTVUZFUVRoT0xFVkJRVmtzU1VGQlRXcE9MRVZCUVZjc1NVRkRia0p2UWl4RlFVRlBjRVVzUzBGQlRXMURMRTFCUTNSQ0xFZEJRWFZDTEVsQlFXeENhVU1zUlVGQlN6ZERMRmRCUTFBc1NVRkJUU3M0UWl4SFFVRnJRa01zUjBGQlZXNDJRaXhKUVVGWExFdEJRVTEyUkN4UlFVRlRiMUFzU1VGQlpTeEZRVU0zUlN4UFFVRlBMRVZCU1ZRc1QwRkJUeXhMUVU5VUxFbEJRVWwzZGtJc1IwRkJWU3hOUVVWa01UaENMRVZCUVU5SExFZEJRVWRuUXl4UFFVRlJMRU5CUTJwQ09VTXNTVUZCU3l4VFFVRlZPRVVzUjBGRFpDeEpRVUZKZDJNc1JVRkJUelZtTEVWQlFVc3lja0lzUlVGRFpuSnlRaXhGUVVGUGNFVXNTMEZCVFN4SFFVVmtMRTlCUVUxeFJTeFZRVUZWYUVJc1VVRXdRbWhDYjNOQ0xFVkJRV3RDY0hWQ0xFVkJRVmsyUml4SFFVVjJRbXhJTEV0QlFVdHBSU3hMUVVGTkxGTkJRVlU1UWl4SFFVTXpRaXhKUVVGSlF5eEZRVVZ0UWl4SlFVRnNRbkJETEV0QlFVdDFRaXhYUVZkRkxFOUJUbGhoTEVWQlJFbHhkRUlzUlVGRFJYWnZRaXhGUVVGTmVrY3NTMEZCVFZRc1MwRkJUVzFETEVWQlFVZFpMRVZCUVZFdlF5eE5RVUZQYjBNc1QwRkZjRU00UlN4SFFVdE9PVVVzUlVGQlRTeEhRVVZ2UWl4cFFrRkJVa0VzUlVGRGJFSkJMRWRCUVU4c1IwRkZTWFZFTEUxQlFVMURMRkZCUVZONFJDeExRVU14UWtFc1JVRkJUVmNzUlVGQlQyOUNMRWxCUVVzdlFpeEZRVUZMTEZOQlFWVTRSU3hIUVVOb1F5eFBRVUZuUWl4TlFVRlVRU3hGUVVGblFpeEhRVUZMUVN4RlFVRlJMRTlCU1hSRGQyTXNSVUZCVVROblFpeEZRVUZQTWpoQ0xGTkJRVlV4TDBJc1MwRkJTekpDTEU5QlFWVnZRaXhGUVVGUE1qaENMRk5CUVZVeEwwSXNTMEZCUzI5TkxGTkJRVk0xUlN4cFFrRkhja1FzVVVGQlUydGpMRkZCUVN0RE4yUXNTVUZCY0VNMlpDeEZRVUZOYWtJc1NVRkJTM3BwUWl4TFFVRk5iME1zUlVGQlN5eFhRVU16UkhCRExFdEJRVXRyU0N4TlFVRlJPVVVzVDBGNlJGUm5ReXhIUVVOS2MyWXNSVUZCVVROblFpeEZRVUZQTWpoQ0xGTkJRVlYwTjBJc1JVRkJTM3BETEU5QlF6ZENiMElzUlVGQlR6STRRaXhUUVVGVmREZENMRVZCUVV0blNTeFRRVUZUTlVVc2FVSkJSeTlDTEZGQlFWTnJZeXhSUVVOblF6ZGtMRXRCUVhaREwwSXNSVUZCVFRSbUxFVkJRVTFvWjBJc1NVRkJTMVVzUlVGQlRTeFZRVVZzUWs0c1JVRk5XU3hwUWtGSWNFSkJMRVZCUVUxTkxFVkJRVXM0UXl4UFFVbEljRVFzUlVGQlNXMURMRkZCUVZOM05VSXNSMEZCVXl4SlFVbG9RaXhOUVVGUU16ZENMRVZCUVdNc1IwRkJTMEVzVDBGSE0wSXNTMEY1UTBobUxFVkJRVTl0UXl4UFFVRlJMRU5CUTJSM05rSXNVMEZCVlN4RFFVTlVibG9zVDBGQlVTeERRVU5RTjJsQ0xFbEJRVXNzVTBGQlZWVXNSMEZGWkN4SlFVRkphRU1zUlVGQlRWY3NSVUZCVDNkT0xFdEJRVXQxUWl4TFFVRk5NVTRzUlVGQlRTeFRRVU5zUXl4UFFVRmpMRTFCUVZCb1F5eEZRVU5PUVN4RlFVMUJhemhDTEVkQlFXdENkamRDTEVWQlFVOVNMRXRCUVUwMlFpeE5RVWRzUXpKRUxFOUJRVkVzUTBGRFVISkZMRWxCUVVzc1UwRkJWVlVzUjBGRFpDeEpRVUZKT0VNc1JVRkJUM0ZtTEVWQlFWRndhMElzUlVGRGJFSm5SQ3hGUVVGVlppeEZRVUZMWlN4UlFVTm1iVmNzUlVGQlVXeFlMRVZCUVV0M1VpeGpRVU5pTmxNc1JVRkJiMElzWlVGQlpISnJRaXhGUVVGTGVrTXNTMEZEV0dsclFpeEZRVUZUTmtNc1JVRkJUU3hMUVVGUExFZEJRM1JDTWswc1JVRkJUVE5OTEVWQlFVMXVUaXhGUVVGUkxFVkJRVWx1Vnl4RlFVRlJPVUlzVDBGVmFrTXNTVUZRUTJ4Q0xFVkJSRWx0V2l4RlFVRlJMRVZCUTFJNFdpeEZRVWRCTTAwc1JVRkJUVzVPTEVWQlFWRXNSVUZKV0c1YUxFVkJRVWxwZWtJc1JVRkJTMnA2UWl4SlFVdG9RaXhMUVVwQmIydENMRVZCUVZOd2FFSXNSVUZCVTJoRUxFbEJTVXAzVkN4VlFVRlplRlFzU1VGQlRXMWFMRXRCUnpkQ2FVd3NSVUZCVDNCaExGbEJRMHh2WVN4RlFVRlBNMnBDTEZkQlFWZDFTaXhYUVVOdVFrTXNSVUZCVlcxaExFVkJRVTh6YWtJc1YwRkJXU3hoUVVGcFFpeERRVTFxUkN4SFFVaEJjMFVzUlVGQlVXNUZMRVZCUVZGM2FrSXNSMEZCVTI1clFpeE5RVWR3UW5GdFFpeEZRVU5LTEU5QlFVOTJhRUlzUlVGSlVqQmxMRVZCUVU5b2JFSXNTMEZCVFhOSExFZEJTV1lzVDBGQlR6QmxMRWRCUjFKdVJDeEpRVUZMTEZOQlFWVnlaU3hGUVVGTk9FTXNSMEZOY0VJc1NVRk1RU3hKUVVGSmVUUkNMRVZCUVZkd1dpeEZRVU5rY0doQ0xFVkJRVlZtTEVWQlFVdGxMRkZCUTJaNVowSXNSVUZCVXpkcFFpeEZRVUZQTWtRc1ZVRkJWMUVzUjBGRE0wSXZSU3hGUVVGSlowUXNSVUZCVVRsQ0xFOUJSVXhzUWl4UFFVTlFiMnRDTEVWQlFWTndhRUlzUlVGQlUyaEVMRWxCU1U1M1ZDeFRRVU5ZTlZNc1JVRkJUelpFTEZGQlFWTTNSQ3hGUVVGUE1qaENMRk5CUVZOdVdpeFBRVUZQTjJsQ0xFbEJRVXMyYVVJc1IwRkJWVmdzU1VGQldTeExRVVZzUlN0YUxFZEJRVmtzUjBGVlpDeFBRVWhOUVN4SlFVTk1kamRDTEVWQlFVdDNVaXhsUVVGcFFpeEhRVVZvUW1kUkxFOUJUMWczYVVJc1JVRkJUMnRDTEV0QlFVMHNRMEZCUlN4UlFVRlRMRmxCUVdNc1YwRkRja05zUWl4RlFVRlBNamhDTEZOQlFWVXhMMElzVFVGQlV5eERRVU42UW5scFFpeEpRVUZMTEZOQlFWVnlaU3hGUVVGTk9FTXNSMEZEY0VJc1IwRkJTM1pDTEUxQlFVMURMRkZCUVZOelFpeEhRVU51UWl4UFFVRlRPVU1zUlVGQlMzTlNMRkZCUVZVelV5eEZRVUZQTmtRc1VVRkJVemRFTEVWQlFWRnhRaXhIUVVGUGFFTXNUVUZCVHpoRkxFbEJRVmNzU1VGSmRFVTVSaXhGUVVGUmN6aENMRlZCUTJJek5rSXNSVUZCVHpJNFFpeFRRVUZWTVM5Q0xFMUJRVTh3UkN4SlFVRk5MRk5CUVZWVkxFZEJRM1pETEU5QlFYZERMRTlCUVdwRFFTeEZRVUZMTlVJc1lVRkJZeXhUUVVGeFFpeExRVUZQTkVJc1JVRkJTemhETEZWQlZ6bEVPVVlzUlVGQlVYY3JRaXhSUVVGVkxHTkJRV1UzTDBJc1JVRkhha01zU1VGQlNUZ3ZRaXhIUVVGakxHdERRVU5xUWtNc1IwRkJNRUlzVTBGQlZYUjZRaXhIUVVOdVEwRXNSVUZCUlRCakxHMUNRVWRLYm0xQ0xFVkJRVTl0UXl4UFFVRlJia01zUlVGQlR6UnNRaXhOUVVGUExFTkJSVFZDVlN4UlFVRlRMRk5CUVZWV0xFVkJRVTlxUnl4RlFVRk5kR1VzUlVGQlRUSTNRaXhIUVVWeVF5eEpRVUZKTlRsQ0xFVkJRVWN3VFN4RlFVRkxOa0lzUlVGQlMzTjJRaXhGUVVGWlF5eEZRVUZSYUZjc1JVRkJVVGRMTEVWQlFWTTRaMElzUlVGRGNrUkRMRVZCUVZrc1EwRkJSUzgzUWl4SFFVRlJlRVVzUjBGRGRFSXJRaXhGUVVGUFdDeEZRVUZQVUN4TFFVRk5hMjlDTEVWQlFVOHNVVUZCVjBFc1JVRkJUV2h1UWl4TFFVRlBaMjVDTEVWQlEyNUVhMElzUlVGQllUZHZRaXhGUVVGUFVDeExRVUZOYTI5Q0xFVkJRVThzWVVGQlowSkJMRVZCUVUxdVdpeFZRVUZWYkVrc1RVRkJUeXhMUVVGUkxFZEJTMnBHTEVkQlNFRjFTQ3hGUVVGTmNYaENMRVZCUVdONGRrSXNSVUZCVFhSTkxFVkJRVTlCTEVkQlFWRjRSU3hGUVVkc1FpeEpRVUZzUW5kRkxFVkJRVXMzUXl4VlFVRnZReXhKUVVGc1FqWkRMRVZCUVVzM1F5eFhRVXMxUW5NclFpeEhRVUZaY25sQ0xFdEJRVTAzVEN4RlFVRlBiMElzUlVGQlR6UnNRaXhOUVVGTmRVSXNZVUZKZEVOMmIwSXNSVUZCUzJRc1VVRkJVeXhOUVVGVExFbEJSek5DWjNCQ0xFVkJRV0ZzYjBJc1JVRkJTekpHTEUxQlFVOHNTMEZEZWtJelJpeEZRVUZQYTI5Q0xFVkJRVmQ2WWl4UlFVTnNRbmxpTEVWQlFWYzNhMElzVVVGRldtazNRaXhGUVVGVGRDdENMRVZCUVV0a0xGRkJRVk1zUzBGQlVTeEhRVUZMTEV0QlFVOWpMRWRCUnpORFoyNUNMRVZCUVZGQkxFVkJRVTgxYkVJc1JVRkJUeXRETEZOQlEzSkNObWxDTEVWQlEwRXNTVUZCU1RWc1FpeEZRVUZQZFcxQ0xFMUJRVTh6YmtJc1JVRkJkVUlzYVVKQlFWWm5ia0lzUjBGQmMwSkJMRWxCUjJoRVN5eFZRVUZaSzFjc1JVRkJaU3hGUVVGSkxFVkJRM0pEY0Znc1JVRkJUVzVhTEZWQlFWbHhZU3hGUVVGWGFtTXNTMEZCVFN4TFFVTnVReXRoTEVWQlFVMTNReXhYUVVGaGVFTXNSVUZCVFc1YUxGVkJRM2hDTEVsQlFVa3hSaXhQUVVGUkxGVkJRVmtyWml4RlFVRlhhbU1zUzBGQlRTeHBRa0ZCYjBJc1YwRkROMFFzUzBGSFJDdGhMRVZCUVUxeVZpeFpRVUZUZWs0c1JVRkRWRGhwUWl4RlFVRk5ibXBDTEZOQlExaHRha0lzUlVGQlRXNXFRaXhQUVVGVGNFSXNSMEZKYUVKelpTeEZRVUZsTEUxQlFWSkJMRVZCUTA0c1EwRkJSV2xITEVkQlEwWTFiRUlzUlVGQlR6SkVMRlZCUVZkbll5eEZRVUZOTEVOQlFVVnBSeXhKUVVjelFuWktMRVZCUVZWeVl5eEZRVUZQTkd4Q0xFMUJRVTEyU2l4UlFVRlRlbVFzU1VGQlZTeEhRVU53UTI4clFpeEpRVUZuUWpOblFpeEZRVUZSYVVzc1ZVRkJiVVFzU1VGQmVFTnFTeXhGUVVGUmFVc3NVVUZCVVRGdlFpeE5RVUZQZVVRc1JVRkJUWE5sTEVsQlFYUkZMRU5CVFVFc1NVRkJUWEZrTEVsQlFXbENNMmRDTEVWQlFWRjVUU3hYUVVGaGNIRkNMRVZCUVZVeVF5eEhRVUZUTEVOQlRUbEVMRWxCU2tFME4wSXNSVUZCWVRWblFpeEZRVUZSTmtvc1kwRkJaMEowYmtJc1JVRkRMMEpySzBJc1IwRkJXWEo1UWl4TFFVRk5kM2xDTEVWQlFXRnlLMElzUzBGRGNFTnJUaXhGUVVGTlFTeEZRVUZKYWswc1dVRkZTR2xOTEVWQlFVdEJMRVZCUVUxQkxFVkJRVWxxVFN4WFFVTjBRblU1UWl4RlFVRlZkaTlDTEV0QlFVMXBUeXhIUVVOb1FqWkNMRVZCUVUwM1FpeEZRVWxHTmtJc1MwRkJWWFJOTEVWQlFVczJTU3hsUVVGcFFuSk9MRWxCUTNCRGRXZERMRVZCUVZWMkwwSXNTMEZCVFRoUUxFVkJRVWxpTEdGQlFXVmhMRVZCUVVrd2RrSXNZMEZCWjBKeVowTXNSMEZOZWtRc1NVRkVRVzlETEVWQlFVa3NSMEZEVFRCTkxFVkJRVTF6ZUVJc1JVRkJWMmdyUWl4UlFVRlpkMjFDTEVWQlFVMXhReXgzUWtGRE5VTnJWaXhGUVVGamNuaENMRVZCUTJRNFdpeEZRVUZOYUc1Q0xFdEJRVTlSTEVWQlFVa3NSVUZEYUVJMk9VSXNSVUZEUVRWblFpeEZRVUZSWjB3c1ZVRkJXWHB2UWl4SFFVZHlRbk52UWl4SFFVRlhjRWdzUlVGQlUyNW1MRWxCUVV0dFRDeEZRVUZMTEZkQlFXTjZUeXhQUVVGUE5IQkNMRTlCUVZFc1QwRkJWWEpDTEVWQlFVMW9ia0lzVDBGRE1VVnJhRUlzUlVGQlUyNW1MRWxCUVV0dFRDeEZRVUZMTEZsQlJXNUNiMklzUlVGQlQzUndRaXhOUVVGUGEwOHNSVUZCU3paVUxFbEJTWEJDZFVnc1JVRkJVMmRYTEVkQlFWVndlRUlzUlVGQlMyOTRRaXhMUVVOVWFGY3NSVUZCVDNSd1FpeFBRVUZUZDJoQ0xFVkJRVmwwVkN4TFFVTXhRemhhTEVWQlFVMXlWaXhQUVVGVE1sY3NSVUZCVDNSd1FpeE5RVUZQYTA4c1JVRkJTelpVTEVsQlExb3NTVUZCYWtKcFJ5eEZRVUZOY2xZc1VVRkRWbkZXTEVWQlFVMVRMR3RDUVRoRFZDeFBRVEZEUVZRc1JVRkJUV2h1UWl4TFFVRlBRU3hGUVVkUWJ5dENMRWRCUVdsQ2NGZ3NSVUZCVFhWRUxITkNRVVZ3UWpsTkxFVkJRVkY1U0N4WFFVTnhReXhKUVVGd1JIcElMRVZCUVZGNVNDeFRRVUZUYkcxQ0xFMUJRVTkzTDBJc1JVRkJWVGt5UWl4TlFVRlBjVm9zUzBGRGVrTlFMRVZCUVZrdlpDeEpRVWxRTmpkQ0xFZEJRVlUxSzBJc1JVRkJXU3RETEVWQlFVMTZReXhOUVVGaFJpeEZRVUZWTWtNc1RVRkhka1J6VFN4RlFVRk5kRTBzUlVGQlRUWTNRaXhOUVVkWU56ZENMRVZCUVUwMk4wSXNSMEZCVnl4TlFVbHNRbXc1UWl4RlFVRlBOR3hDTEUxQlFVMTFRaXhWUVVGWmRtOUNMRVZCUlhCQ1oyNUNMRVZCUVUxeFF5eDNRa0ZEVm10V0xFVkJRVmx1ZDBJc2FVSkJRV3RDY0U4c1JVRkJUVzByUWl4SlFVZHlRekUzUWl4RlFVRk5la01zUzBGRlJHZHVRaXhGUVVGTmNVTXNkMEpCUTFaclZpeEZRVUZaYkdZc2IwSkJRWEZDY21Zc1JVRkJUVzByUWl4SlFVZDRReTg0UWl4RlFVRlBOR3hDTEUxQlFVMTFRaXhsUVVGWmNtdENMRVZCUlhCQ05rc3NTVUZEU25STkxFVkJRVTAyTjBJc1IwRkJWM1oyUWl4SlFVMWthVmtzUlVGQlRYSldMRk5CUzJRcmMwSXNVMEZCVlN4VFFVRlZNU3RDTEVWQlFVMTVReXhGUVVGTmRXdENMRWRCUXk5Q0xFbEJRVWx1WXl4RlFVRkpla29zUlVGQlQyMURMRTlCUTJRc1NVRkJTVzVETEVWQlFVOTFiVUlzVFVGRFdGZ3NSVUZEUVN4RFFVTkRhRzVDTEV0QlFVMUJMRVZCUTA0MGNVSXNZVUZCWVN4SlFVbG1lSEJDTEVWQlFVODBiRUlzVFVGQlRWVXNVVUZCVXpkakxFVkJRVWNzUzBGQlRYQkpMRTFCUzJwRGNrSXNSVUZCVDBjc1IwRkJSMmRETEU5QlFWRXNRMEZGYWtKdGEwSXNVVUZCVXl4VFFVRlZNVzVDTEVWQlFVMHJaMElzUjBGRGVFSXNUMEZCVHpGcFFpeExRVUZMYVVVc1MwRkJUU3hYUVVOcVFteENMRVZCUVU4MGJFSXNUVUZCVFZVc1VVRkJVekZ1UWl4RlFVRk5LMmRDTEVWQlFVMHhhVUlzVTBGSGNFTnpaME1zWlVGQlowSXNVMEZCVlRNclFpeEZRVUZOSzJkQ0xFZEJReTlDTEVsQlFVbDBaU3hGUVVGUGNFVXNTMEZCVFN4SFFVTnFRaXhIUVVGTGIwVXNSVUZEU2l4UFFVRlBja0lzUlVGQlR6UnNRaXhOUVVGTlZTeFJRVUZUTVc1Q0xFVkJRVTByWjBJc1JVRkJUWFJsTEVkQlFVMHNUVUZqTlVOb1JDeEZRVUZSZHl0Q0xGTkJRMkkzT0VJc1JVRkJUMnRDTEV0QlFVMHNRMEZCUlcxU0xFMUJRVThzVlVGQlYyZGFMRXRCUVUwc1dVRkJZeXhUUVVGVlN5eEZRVUZOTlVRc1IwRkhjRVVzU1VGQlNXNWpMRVZCUVZVc1UwRkJWV2xoTEVkQlEzWkNOV3hDTEVWQlFVODBiRUlzVFVGQlRUQllMRk5CUVZWNFZpeEZRVUZMYkVNc1JVRkJUVzVxUWl4UFFVRlJla01zUlVGQlR6UnNRaXhOUVVGTmEwTXNTVUZCUzJ4RExFdEJSemRFTld4Q0xFVkJRVTgwYkVJc1RVRkJUWFpLTEZGQlFWTjVUQ3hIUVVGUkxFTkJRemRDVUN4TlFVRlBMRmRCU1U0c1NVRkJTWEJ2UWl4RlFVRk5iRU1zUzBGQlMybE9MR1ZCUVdsQ2FrNHNTMEZCUzBvc1ZVRkJXVWtzUzBGRGFFUjFaME1zUlVGQlZ6RmtMRVZCUVZONFFpeFBRVUZSYm1Zc1JVRkJTekp2UWl4SFFVVTFRakJXTEVkQlEweHlLMElzUlVGQlNUWk9MR2xDUVVGclFqQmxMRVZCUVUwdlppeEhRVUZUTEVkQlJYUkRiVlVzUlVGQlUzaENMRTlCUVZGdVppeEZRVUZMTW05Q0xFZEJRVTh3Vml4SFFVRlpMRWRCUVUwc1NVRkZhRVE1Vml4VFFVRlZMRmRCUTFRc1NVRkJTWFp2UWl4RlFVRk5iRU1zUzBGQlMybE9MR1ZCUVdsQ2FrNHNTMEZCUzBvc1ZVRkJXVWtzUzBGRGFFUjFaME1zUlVGQlZ6RmtMRVZCUVZONFFpeFBRVUZSYm1Zc1JVRkJTekp2UWl4SFFVRlJMRVZCUlhCRE1GWXNSVUZMVERGa0xFVkJRVk40UWl4UFFVRlJibVlzUlVGQlN6SnZRaXhGUVVGTE1GWXNTVUZLTTBKeUswSXNSVUZCU1RobExHOUNRVUZ4UW5sT0xFVkJRVTB2Wml4SFFVRlRMRWRCUTNoRGJWVXNSVUZCVTJoR0xFOUJRVkV6WWl4RlFVRkxNbTlDTEZGQlV6TkNMRWxCUVVrelZpeEhRVUZYYmxZc1JVRkJUMjFXTEZOQlJXeENjbFFzUjBGQlVTeERRVUZGYzBZc1MwRkJUWE5DTEV0QlFVczJha0lzVDBGRmNrSnJWU3hIUVVGVExFdEJTMko2T1VJc1JVRkJUekE1UWl4VFFVRlhMRk5CUVZVdlpDeEhRVU16UWl4SlFVRkpOMDhzUlVGQlN6WnpRaXhGUVVOVUxFbEJRVTFvWlN4SFFVRjNRaXhwUWtGQlZFRXNSVUZEY0VJc1QwRkJUeXhMUVV0U0xFbEJRME0zVHl4SFFVRk5MRWxCUVUwNVZDeEZRVUZQTkdkRExGZEJRV05ETEdkQ1FVRnBRbXhsTEVWQlFVMHNXVUZEZGtRc1RVRkJVV3hYTEVsQldWWXNUMEZXUVdzd1FpeEZRVUZyUWpkelFpeEhRVUZQUVN4RlFVRkplRWNzY1VKQlFYTkNMR1ZCUVdsQ0xFZEJRemxFZDBjc1NVRkJUelp6UWl4SFFVTmFNemxDTEVWQlFVOXZSQ3hOUVVGUExHbENRVU5pZFRaQ0xFVkJRME16T1VJc1JVRkJUMjlDTEVsQlFVdDFPRUlzUlVGQlowSnVNRUlzVjBGQldTeFRRVUZWWjBNc1IwRkRha1FzVDBGQlQwRXNSVUZCUnpoRUxHTkJRMUI2UlN4TFFVRk5MRTFCUTFZNFZTeEpRVWRKTjA4c1IwRkpVaXhKUVVORFozUkNMRWRCUVZjc1VVRkRXRU1zUjBGQlVTeFRRVU5TUXl4SFFVRnJRaXgzUTBGRGJFSkRMRWRCUVdVc2NVTkJSV2hDTEZOQlFWTkRMRWRCUVdFdlNTeEZRVUZSTlRKQ0xFVkJRVXMwTDBJc1JVRkJZVEZzUWl4SFFVTXZReXhKUVVGSmNGY3NSVUZGU2l4SFFVRkxUeXhOUVVGTlF5eFJRVUZUZEVVc1IwRkhia0o1UWl4RlFVRlBhMElzUzBGQlRUTkRMRVZCUVVzc1UwRkJWV0VzUlVGQlIybGhMRWRCUTNwQ09HdENMRWRCUVdWTUxFZEJRVk55ZWtJc1MwRkJUVEJ4UWl4SFFVZHNRekZqTEVWQlFVc3dZeXhGUVVGUk9XSXNSMEZMWWpaclFpeEhRVU5ETDBrc1JVRkJVeXhMUVVGeFFpeHBRa0ZCVGpsaUxFZEJRWFZDTEUxQlFVeEJMRVZCUVZscVlTeEZRVUZKTEVsQlFVOHNTVUZEYWtWcFlTeEZRVU5CT0d0Q0xFVkJRMEV4YkVJc1ZVRkxSeXhIUVVGTk1HeENMRWRCUVdsRExGZEJRV3hDY0N0Q0xFVkJRVkY0UWl4SFFWVnVRMnRoTEVWQlFVc3dZeXhGUVVGUk5USkNMRkZCVUdJc1NVRkJUVGhFTEV0QlFWRTVSQ3hGUVVOaU1pOUNMRWRCUVdFdlNTeEZRVUZUTEVsQlFVMDVlVUlzUlVGQlR5eEpRVUZMT1VRc1JVRkJTemhFTEVkQlFWRTROMElzUlVGQllURnNRaXhIUVZseVJYcFpMRVZCUVU5dkswSXNUVUZCVVN4VFFVRlZhRFJDTEVWQlFVY3JNMElzUjBGRE0wSXNTVUZCU1doS0xFVkJRMGhyU2l4RlFVRkpMRWRCUTBvMWJFSXNSVUZCVFN4VFFVRlZkRTRzUlVGQlMyMTZRaXhIUVVkd1FpeEpRVUZKYmpaQ0xFVkJRVkUzUml4RlFVRlpaMmRETEVkQlEzWkNRU3hKUVVOQlFTeEZRVVZFUkN4RlFVRkhRU3hGUVVGRkx6bENMRkZCUVZkcEswSXNiVUpCUVc5Q2NIcENMRWRCUVZFc1NVRkRNME52ZWtJc2JVSkJRVFpDTEUxQlFWUndOa0lzUlVGQlowSXNSMEZCUzBFc1NVRkhOVU1zUjBGQlZTeE5RVUZNYVVNc1JVRkRTaXhOUVVGUExFZEJTVklzUjBGQlMzaEVMRTFCUVUxRExGRkJRVk4xUkN4SlFVRlRRU3hGUVVGRk5VWXNVMEZCVjFJc1JVRkJUekpETEdOQlFXVjVSQ3hIUVVjdlJIQkhMRVZCUVU5clFpeExRVUZOYTBZc1JVRkJSeXhYUVVObWNWTXNSVUZCUzNoaUxFdEJRVXR2Uml4TFFVRk5jRVlzUzBGQlMydElMR05CVDNSQ0xFbEJRVTFuZUVJc1MwRkJWUzkxUWl4RlFVTm1PRE5DTEVkQlFXRXZTU3hGUVVGUkwzVkNMRVZCUVVjcmRVSXNSMEZCVldkS0xFVkJRV0V4YkVJc1IwRkxha1FzVDBGQlR6UnNRaXhGUVVGRmVIcENMRXRCUVUwc1RVRkhhRUkzU3l4RlFVRlBSeXhIUVVGSFowTXNUMEZCVVN4RFFVTnFRbkU0UWl4VlFVRlhMRmRCUTFZc1QwRkJUM2dyUWl4RlFVRlBieXRDTEUxQlFVOXVhRU1zUzBGQlMzZG9ReXh0UWtGRk0wSkJMR1ZCUVdkQ0xGZEJRMllzVDBGQlQzaG9ReXhMUVVGTGJVVXNTVUZCU3l4WFFVZG9RaXhKUVVGSk1FNHNSVUZCVnpsUExFVkJRVTgwWml4TFFVRk5NMmxDTEV0QlFVMHNXVUZEYkVNc1QwRkJUelpTTEVWQlFWYzVUeXhGUVVGUE1rUXNWVUZCVjIxTUxFZEJRV0UzVWl4UFFVTTVRM0ZSTEU5QlFWRXNWMEZEV0N4SlFVRkpNVThzUlVGQlR6TkNMRXRCUVVzeVFpeExRVWRvUWl4UFFVRlBNMElzUzBGQlMyOUdMRTlCUVZOeVF5eEZRVUZSTDBNc1RVRkJUMnRoTEVkQlFVa3NZMEZEZGtNNGJVSXNSMEZCWVhoNlFpeExRVUZOZUU0c1MwRkJTMjlOTEZsQlFXVXlNRUlzUjBGQlowSjJla0lzUzBGQlRUZE1MRXRCUXpORU0wSXNTMEZCU3pCV0xGVkJRVmx6VVN4SFFVRmxlRmtzUzBGQlRUZE1MRTFCUTNSRGQwTXNTVUZCU3l4VFFVRlZiMFFzUlVGQlNXNUVMRWRCUTNSQ0xFbEJRVWxvUXl4RlFVRk5WeXhGUVVGUkwwTXNUVUZCVDI5RExFMUJSWHBDTEU5QlFWa3NUVUZCVUVFc1JVRkRSeXhMUVVkSWRVUXNUVUZCVFVNc1VVRkJVM2hFTEVkQlExcFhMRVZCUVU5dlFpeEpRVUZMTDBJc1JVRkJTeXhUUVVGVlFTeEhRVU5xUXl4TlFVRlBMRU5CUVVWblJDeExRVUZOYUVJc1JVRkJTMmRDTEV0QlFVMDRRaXhOUVVGUE9VVXNSVUZCU1RaRUxGRkJRVk0yTmtJc1IwRkJUeXhYUVVsb1JDeERRVUZGTVRkQ0xFdEJRVTFvUWl4RlFVRkxaMElzUzBGQlRUaENMRTFCUVU4NVJTeEZRVUZKTmtRc1VVRkJVelkyUWl4SFFVRlBMRmRCUTJ4RWNEbENMRk5CUzA0c1NVRkRReXM1UWl4SFFVRk5MRTlCUTA1RExFZEJRVkVzVDBGRFVrTXNSMEZCWVN4blFrRkRZa01zUjBGQlZ5dzJRa0ZKV0VNc1IwRkJZU3hwUWtGRFlrTXNSMEZCV1N4UlFWZGFkRWdzUjBGQllTeEhRVTlpZFVnc1IwRkJZU3hIUVVkaVF5eEhRVUZYTEV0QlFVdDBhRU1zVDBGQlVTeExRVWQ0UW5Wb1F5eEhRVUZsY21sRExFVkJRVk13UXl4alFVRmxMRXRCUzNoRExGTkJRVk0wTDBJc1IwRkJOa0pETEVkQlIzSkRMRTlCUVU4c1UwRkJWVU1zUlVGQmIwSnNhMElzUjBGRlJDeHBRa0ZCZGtKcmEwSXNTVUZEV0d4clFpeEZRVUZQYTJ0Q0xFVkJRMUJCTEVWQlFYRkNMRXRCUjNSQ0xFbEJRVWxETEVWQlEwaHNaME1zUlVGQlNTeEZRVU5LYldkRExFVkJRVmxHTEVWQlFXMUNOVFpDTEdOQlFXTnhSaXhOUVVGUGNWQXNTVUZCYlVJc1IwRkZlRVVzUjBGQlN6ZGhMRVZCUVZrMll5eEhRVWRvUWl4TFFVRlZiV3RDTEVWQlFWZERMRVZCUVZkdVowTXNUVUZIVWl4TlFVRnNRbXRuUXl4RlFVRlZMRWxCUTJSQkxFVkJRVmRCTEVWQlFWTXZhRU1zVFVGQlR5eEpRVUZQTEV0QlEyaERObWhETEVWQlFWZEZMRWRCUVdGR0xFVkJRVmRGTEVsQlFXTXNTVUZCU3pGM1FpeFJRVUZUZFUwc1MwRkpMMFJwYTBJc1JVRkJWMFVzUjBGQllVWXNSVUZCVjBVc1NVRkJZeXhKUVVGTGVtaERMRXRCUVUxelpDeEpRVkZ1UlN4VFFVRlRjV3RDTEVkQlFTdENTaXhGUVVGWGFEbENMRVZCUVZNME1VSXNSVUZCYVVKNVNDeEhRVVUxUlN4SlFVRkpReXhGUVVGWkxFZEJRMlpETEVWQlFYRkNVQ3hKUVVGalNpeEhRVVZ3UXl4VFFVRlRXU3hGUVVGVFRpeEhRVU5xUWl4SlFVRkpNWE5DTEVWQlkwb3NUMEZpUVRoelFpeEZRVUZYU2l4SlFVRmhMRVZCUTNoQ2RDOUNMRVZCUVU5clFpeExRVUZOYXl0Q0xFVkJRVmRGTEVsQlFXTXNSMEZCU1N4VFFVRlZjR3hDTEVWQlFVY3liRUlzUjBGRGRFUXNTVUZCU1VNc1JVRkJjMEpFTEVWQlFXOUNlamxDTEVWQlFWTTBNVUlzUlVGQmFVSjVTQ3hIUVVONFJTeE5RVUZ2UXl4cFFrRkJlRUpMTEVkQlExWklMRWRCUVhGQ1JDeEZRVUZYU1N4SFFVdDBRa2dzU1VGRFJDOXpRaXhGUVVGWGEzUkNMRkZCUkdZc1IwRklUakU1UWl4RlFVRlJiVGxDTEZWQlFWVXpkMElzVVVGQlUydDRRaXhIUVVNelFrWXNSVUZCVTBVc1NVRkRSaXhMUVV0R2JIUkNMRVZCUjFJc1QwRkJUMmQwUWl4RlFVRlRlRGxDTEVWQlFWRnRPVUlzVlVGQlZ5eE5RVUZWUnl4RlFVRlhMRTFCUVZORkxFVkJRVk1zUzBGTk0wVXNVMEZCVTBjc1IwRkJXWFE1UWl4RlFVRlJOVVFzUjBGRE5VSXNTVUZCU1hOTkxFVkJRVXQ2U1N4RlFVTlNjemxDTEVWQlFXTm9aME1zUlVGQlQybG5ReXhoUVVGaFJDeGhRVUZsTEVkQlJXeEVMRWxCUVUwM01FSXNTMEZCVDNSTkxFOUJRMUZwUlN4SlFVRm1ha1VzUlVGQlMzTk5MRTFCUTFBMk1FSXNSVUZCWVRjd1FpeEhRVUZSTVVrc1JVRkJWME1zU1VGQlZVRXNSVUZCVHl4TFFVRlZlVWtzUjBGQlVYUk5MRVZCUVV0elRTeEpRVTgxUlN4UFFVcExla2tzUjBGRFNqRkRMRVZCUVU5dFF5eFJRVUZSTEVWQlFVMU5MRVZCUVZGRExFZEJSM1pDUkN4RlFTOUZVbms0UWl4SFFVRmhNWE5DTEV0QlFVOU1MRWRCUVZOTExFdEJaMUEzUW5oVExFVkJRVTl0UXl4UFFVRlJMRU5CUjJRck9VSXNUMEZCVVN4RlFVZFNReXhoUVVGakxFZEJRMlJETEV0QlFVMHNSMEZGVGtnc1lVRkJZeXhEUVVOaVNTeEpRVUZMYkhWQ0xFZEJRVk5MTEV0QlEyUTFWQ3hMUVVGTkxFMUJRMDR3YUVNc1VVRjRVbWRDTERSRVFYZFNVVGN4UWl4TFFVRk5NRWdzUjBGQlUyOTFRaXhWUVVOMlF6bHFReXhSUVVGUkxFVkJRMUlyYWtNc1lVRkJZU3hGUVVOaVF5eFBRVUZQTEVWQlExQkRMRmxCUVdFc2JVUkJZMkpETEZGQlFWTXNRMEZEVW5CSkxFbEJRVXN3Unl4SFFVTk1laTlDTEV0QlFVMHNZVUZEVG0xMFFpeExRVUZOTEZsQlEwNDNZaXhKUVVGTExEUkNRVU5NT0haQ0xFdEJRVTBzY1VOQlIxQXpiMElzVTBGQlZTeERRVU5VYmtnc1NVRkJTeXhWUVVOTU5tSXNTMEZCVFN4VFFVTk9hVlVzUzBGQlRTeFpRVWRRUXl4bFFVRm5RaXhEUVVObUwzWkNMRWxCUVVzc1kwRkRUSFJTTEV0QlFVMHNaVUZEVG05b1F5eExRVUZOTEdkQ1FVdFFSU3hYUVVGWkxFTkJSMWhETEZOQlFWVnlORUlzVDBGSFZuTTBRaXhoUVVGaExFVkJSMkpETEZsQlFXRTVaMElzUzBGQlMwTXNUVUZIYkVJNFowSXNWMEZCV1d4b1F5eEZRVUZQTURsQ0xGVkJUM0JDYzBNc1dVRkJZU3hEUVVOYVN5eExRVUZMTEVWQlEweHVaME1zVTBGQlV5eEpRVTlZYVdoRExGVkJRVmNzVTBGQlZURXJRaXhGUVVGUk1pdENMRWRCUXpWQ0xFOUJRVTlCTEVWQlIwNXlRaXhIUVVGWlFTeEhRVUZaZERsQ0xFVkJRVkY2UXl4RlFVRlBhV2RETEdOQlFXZENiVUlzUjBGSGRrUnlRaXhIUVVGWkx5OUNMRVZCUVU5cFowTXNZVUZCWTNnNVFpeEpRVWR1UXpRclFpeGpRVUZsYkVNc1IwRkJOa0l4U0N4SlFVTTFRelpLTEdOQlFXVnVReXhIUVVFMlFrZ3NTVUZITlVOMVF5eExRVUZOTEZOQlFWVnNRaXhGUVVGTGFpdENMRWRCUjBFc2FVSkJRVkpwSzBJc1NVRkRXR29yUWl4RlFVRlZhU3RDTEVWQlExWkJMRTlCUVUxMk9VSXNSMEZKVUZZc1JVRkJWVUVzUjBGQlZ5eEhRVVZ5UWl4SlFVRkpieTlDTEVWQlIwaERMRVZCUjBGRExFVkJRMEZETEVWQlIwRkRMRVZCUjBGRExFVkJSMEUzYWtJc1JVRkhRVGhxUWl4RlFVZEJNV2xETEVWQlIwRXlhVU1zUlVGSFFURkVMRVZCUVVseUswSXNSVUZCVDIxb1F5eFZRVUZYTEVkQlFVa3ZLMElzUjBGSE1VSTBMMElzUlVGQmEwSXpSQ3hGUVVGRmJpdENMRk5CUVZkdEswSXNSVUZITDBJMFJDeEZRVUZ4UWpWRUxFVkJRVVZ1SzBJc1ZVRkRjRUk0YUVNc1JVRkJaMEo0YWtNc1ZVRkJXWGRxUXl4RlFVRm5RbmhvUXl4UlFVTTVRMUlzUlVGQlVXZHBReXhIUVVOU2FHbERMRVZCUVU4MGJFSXNUVUZIVW5KTExFVkJRVmQyWWl4RlFVRlBhMklzVjBGRGJFSm5ia0lzUlVGQmJVSnNhVU1zUlVGQlQyZGhMRlZCUVZjc1pVRkhja050YjBJc1JVRkJZVGxFTEVWQlFVVTRSQ3haUVVGakxFZEJSemRDUXl4RlFVRnBRaXhIUVVOcVFrTXNSVUZCYzBJc1IwRkhkRUpETEVWQlFWY3NWMEZIV0RkRExFVkJRVkVzUTBGRFVISm9RaXhYUVVGWkxFVkJSMXB0YTBJc2EwSkJRVzFDTEZOQlFWVndNMElzUjBGRE5VSXNTVUZCU1hKQ0xFVkJRMG9zUjBGQlMydFZMRVZCUVZrc1EwRkRhRUlzU1VGQlRUSnFRaXhGUVVWTUxFbEJSRUZCTEVWQlFXdENMRWRCUTFJM00wSXNSVUZCVVNzd1FpeEhRVUZUTVRCQ0xFdEJRVTExTTBJc1NVRkRhRU5ETEVWQlFXbENOek5DTEVWQlFVOHNSMEZCU1hKR0xHTkJRV2RDTEUxQlEzcERhemxDTEVWQlFXbENOek5DTEVWQlFVOHNSMEZCU1hKR0xHTkJRV2RDTEUxQlFWTXNTVUZEY2tRNVJ5eFBRVUZSYlUwc1JVRkJUeXhKUVVkd1FrRXNSVUZCVVRZelFpeEZRVUZwUW5neVFpeEZRVUZKTVVjc1kwRkJaMElzUzBGRk9VTXNUMEZCWjBJc1RVRkJWSEZHTEVWQlFXZENMRXRCUVU5QkxFVkJRVTFsTEV0QlFVMHNUMEZKTTBNeU0wSXNjMEpCUVhWQ0xGZEJRM1JDTEU5QlFVOTRhMElzUlVGQldUQnFRaXhGUVVGM1FpeE5RVWsxUTJVc2FVSkJRV3RDTEZOQlFWVndaME1zUlVGQlRUaENMRWRCVFdwRExFOUJUR3RDTEUxQlFXSTJXaXhKUVVOS00ySXNSVUZCVDJkblF5eEZRVUZ4UW1oblF5eEZRVUZMYjBNc1pVRkRhRU0wT1VJc1JVRkJjVUpvWjBNc1JVRkJTMjlETEdkQ1FVRnRRbkJETEVWQlF6bERLeTlDTEVWQlFXZENMeTlDTEVkQlFWTTRRaXhIUVVWdVFteElMRTFCU1ZKNWJFTXNhVUpCUVd0Q0xGTkJRVlU1YWtNc1IwRkpNMElzVDBGSWEwSXNUVUZCWW05bUxFbEJRMHB4WjBJc1JVRkJSWE5GTEZOQlFWY3Zha01zUjBGRlVETkNMRTFCU1ZKcmJFTXNWMEZCV1N4VFFVRlZMMmRETEVkQlEzSkNMRWxCUVVsdVF5eEZRVU5LTEVkQlFVdHRReXhGUVVOS0xFZEJRVXMwWXl4RlFVZEtlV2hDTEVWQlFVMXVhMElzVDBGQlVXeGhMRVZCUVV0eEswSXNSVUZCVFcxRUxHTkJTWHBDTEVsQlFVMHpha01zUzBGQlVXMURMRVZCUTJJclowTXNSVUZCV1d4cVF5eEhRVUZUTEVOQlFVVnJha01zUlVGQldXeHFReXhIUVVGUmJVTXNSVUZCUzI1RExFbEJTVzVFTEU5QlFVOW9ReXhOUVVsU05HeERMRTFCUVU4c1UwRkJWVU1zUjBGRGFFSXNTVUZCU1VNc1JVRkJXVVFzUjBGQlkxSXNSVUZMT1VJc1QwRktTMlFzUjBGRFNrRXNSVUZCVlhGQ0xFMUJRVTlGTEVkQlJXeENiRGxDTEVWQlFVMHNSVUZCUjJzNVFpeEhRVU5HT1d4RExFOUJiMEpXTEVkQlprRnpaU3hGUVVGVE1VSXNVVUZCVXpSc1FpeEhRVXRzUW5CQ0xFVkJRVVZuUXl4TlFVRlZRU3hIUVVGUGFFTXNSVUZCUldkRExFdEJRVTlzZFVJc1IwRkJVMHNzVFVGQlV5eEpRVU0xUTNSUUxGRkJRVk0yTjBJc1IwRkJWelZ6UWl4SFFVRlRiM1ZDTEZOQlFWY3NUVUZITVVOc1F5eEZRVUZGZWk5Q0xFdEJRVTkzUkN4RlFVRlJkMWdzVVVGQlZYaFlMRVZCUVZGNFJDeE5RVUZSZVM5Q0xFVkJRVVY2YTBJc1VVRkJWWGxyUWl4RlFVRkZlaTlDTEV0QlIzcEVlUzlDTEVWQlFVVnJRaXhYUVVGamJFSXNSVUZCUldsQ0xGVkJRVmtzUzBGQlRUYzJRaXhqUVVGamNVWXNUVUZCVDNGUUxFbEJRVzFDTEVOQlFVVXNTVUZIZUVRc1RVRkJha0pyYkVJc1JVRkJSVEpGTEZsQlFYTkNMRU5CUXpWQ2JrSXNSVUZCV1doc1F5eEZRVUZUTUVNc1kwRkJaU3hMUVV0d1F5eEpRVU5EYzJsRExFVkJRVlZ5ZGtJc1MwRkJUelp5UWl4RlFVRkZaME1zU1VGSmJrSjNRaXhGUVVGVmNuWkNMRXRCUVU5eGRrSXNSVUZCVlhKMlFpeExRVU16UWpaeVFpeEZRVUZGTWtVc1dVRkJZemxFTEVkQlFXRnhRaXhUUVVGWExFdEJRVTl5UWl4SFFVRmhLMFFzVFVGRE0wUndRaXhGUVVGVmRFSXNVMEZCVnl4TFFVRlBjMElzUlVGQlZXOUNMRXRCUTNSRExFMUJRVkY0TlVJc1IwRkpWRFF3UWl4RlFVRkZNa1VzWVVGQll5eEhRV0ZzUWl4SFFWSkxNMFVzUlVGQlJURmxMRTFCUVZFd1pTeEZRVUZGYlVNc1lVRkJhVU1zYVVKQlFWaHVReXhGUVVGRk1XVXNUMEZEZUVNd1pTeEZRVUZGTVdVc1MwRkJUek5tTEVWQlFVOXZLMElzVFVGQlQwTXNSVUZCUlRGbExFdEJRVTB3WlN4RlFVRkZSaXhqUVVsc1EzRkNMRWRCUVN0Q0wwZ3NSMEZCV1RSSExFVkJRVWRxT0VJc1JVRkJVM0U1UWl4SFFVZHNSSHBvUWl4RlFVTktMRTlCUVU5NWFFSXNSVUU0UlZJc1NVRkJUWEpuUXl4TFFYcEZUakJwUXl4RlFVRmpPV2hETEVWQlFVODBiRUlzVDBGQlUzbFpMRVZCUVVVMWFFTXNVMEZIVVN4SFFVRndRblZFTEVWQlFVOXJaME1zVlVGRE1VSnNaME1zUlVGQlR6UnNRaXhOUVVGTlZTeFJRVUZUTEdGQlNYWkNLMWdzUlVGQlJYb3ZRaXhMUVVGUGVTOUNMRVZCUVVWNkwwSXNTMEZCUzNGblFpeGpRVWRvUW05bUxFVkJRVVUyUlN4WlFVRmpjRVVzUjBGQlYzSXdRaXhMUVVGTk5IcENMRVZCUVVWNkwwSXNUVUZMYmtNMmFVTXNSVUZCVjNCRUxFVkJRVVZuUXl4SlFVRkpiamxDTEZGQlFWTjVOMElzUjBGQlR5eEpRVWN6UWs0c1JVRkJSVFpGTEZkQmQwSkpOMFVzUlVGQlJURmxMRTFCUVZFd1pTeEZRVUZGYlVNc1lVRkRiMFFzUzBGQmVrVnVReXhGUVVGRmNVTXNZVUZCWlN4SlFVRkxOV2xETEZGQlFWTXNkVU5CUTJwRGRXZERMRVZCUVVVeFpTeExRVUZQTUdVc1JVRkJSVEZsTEV0QlFVdDZZeXhSUVVGVGR6ZENMRWRCUVVzc1QwRjJRamxDY1VRc1JVRkJWekZFTEVWQlFVVm5ReXhKUVVGSk9XbERMRTFCUVU5cmEwTXNSVUZCVTI1b1F5eFJRVWMxUWlzNVFpeEZRVUZGTVdVc1QwRkJWVEJsTEVWQlFVVnRReXhoUVVGcFF5eHBRa0ZCV0c1RExFVkJRVVV4WlN4UlFVTXhRemhvUWl4SlFVRmphRVVzUjBGQlQyaDZRaXhMUVVGTlp6TkNMRWRCUVdFc1NVRkJUU3hMUVVGUmNFUXNSVUZCUlRGbExGbEJSMnBFTUdVc1JVRkJSVEZsTEU5QlNVOHNTVUZCV2pCbExFVkJRVVZ1ZWtJc1VVRkRUblV5UWl4RlFVRlhRU3hGUVVGVGRpdENMRkZCUVZNd04wSXNSMEZCV1N4TlFVTjZRMjFFTEVkQlFXRjBSU3hIUVVGUGFIcENMRXRCUVUxbk0wSXNSMEZCWVN4SlFVRk5MRXRCUVZFc1MwRkJVek5wUXl4SFFVRk5jMFlzVDBGRGJrVXlPVUlzUjBGSlJqRkVMRVZCUVVWblF5eEpRVUZOYjBJc1JVRkJWMDBzUjBGVFpqRkVMRVZCUVVVNFJTeGhRVU5FYm1wRExFVkJRVTl0WjBNc1lVRkJZM05DTEVsQlEzcENhRU1zUlVGQlRXZEVMR2xDUVVGclFpeHZRa0ZCY1VKNmFVTXNSVUZCVDIxblF5eGhRVUZqYzBJc1NVRkZPVVI2YUVNc1JVRkJUMjluUXl4TFFVRk5jVUlzU1VGRGFrSm9ReXhGUVVGTlowUXNhVUpCUVd0Q0xHZENRVUZwUW5wcFF5eEZRVUZQYjJkRExFdEJRVTF4UWl4TlFVdHVSSEJFTEVWQlFVVXhaU3hOUVVGUk1HVXNSVUZCUlRaRkxHRkJRV2RETEVsQlFXeENOMFVzUlVGQlJYRkRMR0ZCUVhsQ2RDdENMRVZCUVZGekswSXNZMEZEYWtWcVFpeEZRVUZOWjBRc2FVSkJRV3RDTEdWQlFXZENjRVVzUlVGQlJYRkRMR0ZCU1RORGFrSXNSVUZCVFdkRUxHbENRVU5NTEZOQlEwRndSU3hGUVVGRmEwSXNWVUZCVnl4SlFVRlBiRUlzUlVGQlJYTkRMRkZCUVZOMFF5eEZRVUZGYTBJc1ZVRkJWeXhKUVVNelEyeENMRVZCUVVWelF5eFJRVUZUZEVNc1JVRkJSV3RDTEZWQlFWY3NTMEZEUVN4TlFVRnlRbXhDTEVWQlFVVnJRaXhWUVVGWExFZEJRV01zUzBGQlQwNHNSMEZCVnl4WFFVRmhMRWxCUXpkRVdpeEZRVUZGYzBNc1VVRkJVeXhOUVVsR2RFTXNSVUZCUlN0RkxGRkJRMW96UkN4RlFVRk5aMFFzYVVKQlFXdENjbXBETEVWQlFVZHBMMElzUlVGQlJTdEZMRkZCUVZOb2EwTXNTVUZKZGtNc1IwRkJTMmt2UWl4RlFVRkZaMFlzWTBGREswTXNTVUZCYmtSb1JpeEZRVUZGWjBZc1YwRkJWek5zUXl4TFFVRk5jMnRETEVWQlFXbENka01zUlVGQlQzQkNMRWxCUVdsQ2NtZENMRWRCUnpsRUxFOUJRVTk1YUVJc1JVRkJUVzlFTEZGQlpXUXNSMEZZUVZBc1JVRkJWeXhSUVVkWVNpeEZRVUZwUW5wd1FpeEpRVUZMTkd4Q0xFVkJRVVZxUnl4VlFVTjRRbkZJTEVWQlFVMDFOVUlzUzBGQlRYYzBRaXhGUVVGRmFVWXNVMEZEWkRkRUxFVkJRVTB6YkVJc1MwRkJUWFZyUWl4RlFVRkZhamRDTEU5QlIyUnZLMElzUlVGQldXaERMRWRCUVN0Q1VpeEhRVUZaV0N4RlFVRkhhamhDTEVWQlFWTnhPVUlzUjBGTE5VUXNRMEZUVGl4SFFWSkJRU3hGUVVGTmNtaENMRmRCUVdFc1JVRkhaREJxUWl4SFFVTktSeXhGUVVGdFFqTmlMRkZCUVZNc1YwRkJXU3hEUVVGRmJWb3NSVUZCVDNCQ0xFbEJTVGREY21kQ0xFVkJRMG9zVDBGQlQzbG9RaXhGUVVsSWNFSXNSVUZCUlc5RExFOUJRVk53UXl4RlFVRkZOVVFzVVVGQlZTeEpRVU16UW0xSUxFVkJRV1UxYTBNc1JVRkJUMmRuUWl4WFFVRlpMRmRCUTJwRGVXbENMRVZCUVUxdlJDeE5RVUZQTEZsQlExaDRSU3hGUVVGRk5VUXNWVUZIVGl4SlFVTkRlbU1zUjBGQldTeEZRVU5hZDJwQ0xFVkJRVlVyUWl4TFFVRk5ia0lzUlVGQlowSjJPRUlzUjBGREwwSXNUVUZCVVRSRUxFZEJSMVFzUjBGQlMzVlZMRVZCUTBvc1RVRkJUWFpWTEVWQlNWQTFSQ3hIUVVGUExFVkJRVWMwUkN4VFFXaERXRFZFTEVkQlFVOHNSVUZCUnl4blFrRnhRMWdzVTBGQlUwRXNSVUZCVFNzNFFpeEZRVUZSV1N4RlFVRnJRa01zUlVGQlYwd3NSMEZEYmtRc1NVRkJTVTBzUlVGQlYwb3NSVUZCVTJ4blF5eEZRVUZQZFdkRExFVkJRVlZETEVWQlEzaERaQ3hGUVVGaFZTeEZRVWRVZUd4Q0xFbEJTVXhCTEVkQlFWa3NSVUZIVURScVFpeEhRVU5LTld0RExFVkJRVTh3T1VJc1lVRkJZMnRJTEVkQlMzUkNTaXhQUVVGWk1TdENMRVZCUjFvMEswSXNSVUZCZDBJd1FpeEhRVUZYTEVkQlIyNURNMFFzUlVGQlRYSm9RaXhYUVVGaGQydENMRVZCUVZNc1JVRkJTU3hGUVVGSkxFVkJSM0JEWXl4RlFVRlpaQ3hIUVVGVkxFdEJRVTlCTEVWQlFWTXNTMEZCYTBJc1RVRkJXRUVzUlVGSGVFTmhMRWxCUTBwRkxFVkJOMnhDU2l4VFFVRTRRblJHTEVWQlFVZHZRaXhGUVVGUFowVXNSMEZQZGtNc1NVRk1RU3hKUVVGSlNTeEZRVUZKYW14RExFVkJRVTFyYkVNc1JVRkJaVU1zUlVGRE5VSTVja0lzUlVGQlYyOXRRaXhGUVVGRmNHMUNMRk5CUTJKemJrSXNSVUZCV1d4Q0xFVkJRVVZyUWl4VlFVZFpMRTFCUVc1Q1FTeEZRVUZYTEVsQlEyeENRU3hGUVVGVmJEQkNMR0ZCUTBWMlNTeEpRVUZRSzJkRExFbEJRMHBCTEVWQlFVdDRSaXhGUVVGRmMwVXNWVUZCV1d4RUxFVkJRVTA0UXl4clFrRkJiVUlzYVVKQlN6bERMRWRCUVV0elFpeEZRVU5LTEVsQlFVMXFiRU1zUzBGQlVYRmFMRVZCUTJJc1IwRkJTMEVzUlVGQlZYSmFMRWxCUVZWeFdpeEZRVUZWY2xvc1IwRkJUelpNTEV0QlFVMXZOVUlzUjBGQlR5eERRVU4wUkhSRkxFVkJRVlV6ZDBJc1VVRkJVMmhSTEVkQlEyNUNMRTFCVFVnc1IwRkJTekpuUXl4RlFVRlhMRXRCUVU5clJTeEZRVU4wUWtzc1JVRkJaMEoyUlN4RlFVRlhMRTlCUTNKQ0xFTkJSMDRzU1VGQlRUTm5ReXhMUVVGUk5tdERMRVZCUVZrc1EwRkRla0lzU1VGQlRXeEZMRVZCUVZjc1NVRkJUMnhDTEVWQlFVVjVReXhYUVVGWmJHbERMRVZCUVU4c1NVRkJUVEpuUXl4RlFVRlhMRWxCUVZFc1EwRkRja1YxUlN4RlFVRm5RbXhzUXl4RlFVTm9RaXhOUVVWTGJXeERMRWxCUTB4QkxFVkJRV2RDYm14RExFZEJTMnhDYTJ4RExFVkJRV2RDUVN4SFFVRnBRa01zUlVGTmJFTXNSMEZCUzBRc1JVRkpTaXhQUVVoTFFTeEpRVUZyUW5aRkxFVkJRVmNzU1VGRGFrTkJMRVZCUVZVemQwSXNVVUZCVTJzeFFpeEhRVVZpVEN4RlFVRlhTeXhIUVRCcFFreEZMRU5CUVhGQ00wWXNSVUZCUjI5Q0xFVkJRVTluUlN4TFFVbHlRME1zUjBGRFRERnFReXhGUVVGUE5rUXNVVUZCVXl4VFFVRlZkelpDTEVWQlFVVnJRaXhaUVVGbExFZEJRek5EZGk5Q0xFVkJRVTgyUkN4UlFVRlRMRTlCUVZGM05rSXNSVUZCUld0Q0xGZEJRV01zU1VGRGVFTnNRaXhGUVVGRmVVTXNWMEZCV1N4bFFVRnJRaXhqUVVscVF6WkRMRVZCT1dsQ1NDeFRRVUZ6UW5SR0xFVkJRVWR6Uml4RlFVRlZiRVVzUlVGQlQybEZMRWRCUTNwRExFbEJRVWxQTEVWQlFVOURMRVZCUVZORExFVkJRVTE0TWtJc1JVRkJTM1ZMTEVWQlF6bENORzlDTEVWQlFXRXNSMEZIWW5aQ0xFVkJRVmxzUWl4RlFVRkZhMElzVlVGQlZXaHBReXhSUVVkNlFpeEhRVUZMWjJsRExFVkJRVmNzUjBGRFppeEpRVUZOTkVVc1MwRkJVVGxHTEVWQlFVVjVReXhYUVVObVFTeEZRVUZaY1VRc1JVRkJTekV2UWl4bFFVRnJRalExUWl4RlFVRkZlVU1zVjBGQldYRkVMRWRCVDI1RUxFbEJTRUZFTEVWQlFWVXpSU3hGUVVGVmJEQkNMRkZCUjFvMk5FSXNSMEZqVUN4SFFWcExOMFlzUlVGQlJYZERMR1ZCUVdkQ2NVUXNTMEZEZEVKNlJTeEZRVUZQY0VJc1JVRkJSWGRETEdWQlFXZENjVVFzU1VGQlkxQXNTVUZKYkVONmNrSXNSMEZCVVhkeVFpeEhRVUZoY2tZc1JVRkJSU3RHTEdGQlF6VkNWQ3hGUVVGWGRFWXNSVUZCUlN0R0xGZEJRVmxVTEVWQlFWVjBSaXhGUVVGRmFVSXNWMEZIZEVOd2JrSXNSVUZCVDJkelFpeEZRVU5RUVN4RlFVRlZNMFVzUlVGQlZXd3dRaXhSUVV0dVFpeEhRVUZwUWl4TlFVRmFOalJDTEVWQlJVcEJMRVZCUVZWb2MwSXNUMEZIU2l4SFFVRmpMRTFCUVZSQkxFZEJRV2RDUVN4SlFVRlRaM05DTEVWQlFWVXNRMEZOT1VNc1MwRklRVU1zUlVGQlQzSkVMRVZCUVZrMWIwSXNSVUZCVHl4SlFVRk5aM05DTEVsQlFXRndSQ3hGUVVGWkxFdEJRVTl2UkN4SlFVa3ZSQ3hKUVVGTlJDeExRVUZUYmtRc1JVRkpaQ3hKUVVSQmJucENMRVZCUVUxek1rSXNSVUZCVFRFdlFpeE5RVUZQTEUxQlExUXNTMEZCVVRJdlFpeEpRVWRxUWtNc1JVRkJUM0pFTEVWQlFWazFiMElzUlVGQlR5eEpRVUZOZGtzc1JVRkJTeXhMUVVOd1EyMTZRaXhGUVVGWkxFdEJRVTl1ZWtJc1JVRkJTeXhMUVVOaUxFVkJSMGNzU1VGQlZIY3lRaXhGUVVOS1FTeEZRVUZQY2tRc1JVRkJXVzFFTEVsQlIyZENMRWxCUVhoQ2JrUXNSVUZCV1cxRUxFdEJRM1pDUXl4RlFVRlZkakpDTEVWQlFVc3NSMEZEWmpSNFFpeEZRVUZWTTNkQ0xGRkJRVk5xUWl4RlFVRkxMRXRCUlhwQ0xFMUJUMG9zU1VGQll5eEpRVUZVZHpKQ0xFVkJSMG9zUjBGQlMwRXNSMEZCVVRsR0xFVkJRVVZuUnl4UFFVTmtWaXhGUVVGWFVTeEZRVUZOVWl4UlFVVnFRaXhKUVVORFFTeEZRVUZYVVN4RlFVRk5VaXhIUVVOb1FpeE5RVUZSYkRaQ0xFZEJRMVFzVFVGQlR5eERRVU5PTkZJc1RVRkJUeXhqUVVOUWFsa3NUVUZCVHl0blF5eEZRVUZQTVRaQ0xFVkJRVWtzYzBKQlFYZENlVThzUlVGQlR5eFBRVUZUWjNOQ0xFbEJVMnBGTEUxQlFVOHNRMEZCUlRkdlFpeE5RVUZQTEZWQlFWZHpSU3hMUVVGTloydENMRWRCYVdSd1FsY3NRMEZCWVdwSExFVkJRVWR6Uml4RlFVRlZiRVVzUlVGQlQybEZMRWRCUjNaRFFTeEhRVWREY2tZc1JVRkJSVGhGTEdOQlEwNVRMRVZCUVZkdVJTeEZRVUZOT0VNc2EwSkJRVzFDTEc5Q1FVVnVRM1pwUXl4RlFVRlBiV2RETEdGQlFXTnpRaXhIUVVGaGJVTXNTVUZGYmtOQkxFVkJRVmR1UlN4RlFVRk5PRU1zYTBKQlFXMUNMRmRCUlc1RGRtbERMRVZCUVU5dlowTXNTMEZCVFhGQ0xFZEJRV0Z0UXl4SlFVdGFMRTFCUVZob1FpeEhRVUUyUWl4VFFVRllka1VzUlVGQlJYb3ZRaXhMUVVONFFtdHJReXhGUVVGaExGbEJSMU1zVFVGQldFWXNSVUZEV0VVc1JVRkJZU3hsUVVsaVFTeEZRVUZoWVN4RlFVRlRkRzlDTEUxQlEzUkNhVzlDTEVWQlFWVkxMRVZCUVZOb2EwSXNTMEZGYmtJcmFrSXNTVUZFUVhSblF5eEZRVUZSZFdkRExFVkJRVk4yWjBNc1ZVRk5iRUpCTEVWQlFWRXdMMElzUjBGRFNFWXNSMEZCVjBVc1NVRkRaa0VzUlVGQllTeFJRVU5TUml4RlFVRlRMRWxCUTJKQkxFVkJRVk1zUzBGTldtNUVMRVZCUVUxdFJDeFBRVUZUUVN4RlFVTm1ia1FzUlVGQlRYRkVMRmxCUVdWVkxFZEJRVzlDVml4SFFVRmxMRWRCUjI1RVdTeEZRVU5LYm05Q0xFVkJRVk50UWl4WlFVRmhjMnhDTEVWQlFXbENMRU5CUVVWelFpeEZRVUZUVWl4RlFVRlpja1FzU1VGRk9VUnNhMElzUlVGQlUzVkNMRmRCUVZscmJFSXNSVUZCYVVJc1EwRkJSWFpETEVWQlFVOXhSQ3hGUVVGWk1TOUNMRWxCU1RWRWNUaENMRVZCUVUwd1F5eFhRVUZaUVN4SFFVTnNRa0VzVDBGQllYSXZRaXhGUVVWU1p5OUNMRWRCUTBwSExFVkJRVzFDTTJJc1VVRkJVMjlrTEVWQlFWa3NZMEZCWjBJc1dVRkRka1FzUTBGQlJXcEZMRVZCUVU5d1FpeEZRVUZIY1VZc1JVRkJXVW9zUlVGQlZXeG5ReXhKUVVsd1F6Z3JRaXhGUVVGcFFtcHVRaXhUUVVGVksyMUNMRVZCUVdsQ0xFTkJRVVYyUXl4RlFVRlBjVVFzU1VGRmFFUm9RaXhKUVVOS1J5eEZRVUZ0UWpOaUxGRkJRVk1zWlVGQlowSXNRMEZCUlcxYUxFVkJRVTl3UWl4TlFVY3pRM0lyUWl4RlFVRlBhMmRETEZGQlEyaENiR2RETEVWQlFVODBiRUlzVFVGQlRWVXNVVUZCVXl4alFVdDZRaXhQUVVGUGJWb3NSMEZIVWpoRkxGRkJRVk1zVTBGQlZXeEZMRVZCUVVzeFowSXNSVUZCVFhobExFZEJRemRDTEU5QlFVOXVRaXhGUVVGUFZ5eEpRVUZMTUM5Q0xFVkJRVXN4WjBJc1JVRkJUWGhsTEVWQlFWVXNVMEZIZWtOeGFrTXNWVUZCVnl4VFFVRlZia1VzUlVGQlMyd3ZRaXhIUVVONlFpeFBRVUZQYmtJc1JVRkJUMWNzU1VGQlN6QXZRaXhQUVVGTGRqbENMRVZCUVZjelFpeEZRVUZWTEdGQlNTOURia0lzUlVGQlQydENMRXRCUVUwc1EwRkJSU3hOUVVGUExGRkJRVlVzVTBGQlZYTkVMRVZCUVVsdlZpeEhRVU0zUXpWYUxFVkJRVkUwV2l4SFFVRlhMRk5CUVZWNWJVSXNSVUZCU3pGblFpeEZRVUZOZUdVc1JVRkJWWFpETEVkQlZXcEVMRTlCVUV0T0xFVkJRVmx4YUVJc1MwRkRhRUl2WjBJc1JVRkJUMEVzUjBGQlVYVkRMRVZCUTJaQkxFVkJRVmQzWlN4RlFVTllRU3hQUVVGUE4yTXNSMEZKUkRsRExFVkJRVTkxYUVNc1MwRkJUWFpvUXl4RlFVRlBiVU1zVDBGQlVTeERRVU5zUTJzclFpeEpRVUZMUVN4RlFVTk1lbWhETEV0QlFVMW5ZaXhGUVVOT01HeENMRk5CUVZVeFowTXNSVUZEVml0blFpeExRVUZOUVN4RlFVTk9NbXBDTEZGQlFWTnVhVU1zUjBGRFVHNUNMRVZCUVU4eVF5eGpRVUZsTURsQ0xFbEJRVk5CTEU5QlNYQkRjbWRETEVWQlFVOXhhRU1zWTBGQlpTeFRRVUZWYUVRc1IwRkRMMElzU1VGQlNXb3ZRaXhGUVVOS0xFbEJRVTFCTEV0QlFVdHBMMElzUlVGQlJTdEZMRkZCUTJFc2FVSkJRWEJDYUd0RExFVkJRVVZ4Uml4blFrRkRUalExUWl4RlFVRkZjVU1zV1VGQlkzSkRMRVZCUVVVclJTeFJRVUZUYUd0RExFbEJRVThzVFVGTmNrTlpMRVZCUVU4MGMwSXNVMEZCVnl4VFFVRlZlVlFzUlVGQlMyb3JRaXhGUVVGVGFrUXNSMEZEZWtNc1QwRkJUMkVzUlVGQlQzVm9ReXhMUVVGTkxFTkJRMjVDYkVJc1NVRkJTMEVzUlVGSFRIcG9ReXhMUVVGTkxFMUJRMDR3WjBNc1UwRkJWU3hUUVVOV2NEQkNMRTlCUVU4c1JVRkRVSFV4UWl4UFFVRlBMRVZCUTFCb2EwTXNVVUZCVVN4RlFVdFNjV3RETEZkQlFWa3NRMEZEV0RKRUxHTkJRV1VzWTBGRmFFSk1MRmRCUVZrc1UwRkJWVlFzUjBGRGNrSXpha01zUlVGQlR6QkVMRmRCUVZscFowTXNSVUZCVlhab1F5eEZRVUZUYWtRc1QwRk5la05oTEVWQlFVOUhMRWRCUVVkblF5eFBRVUZSTEVOQlEycENkV2xETEZGQlFWTXNVMEZCVlM5WUxFZEJRMnhDTEVsQlFVa3ZTQ3hGUVhsQ1NpeFBRWFpDU3pOdVFpeExRVUZOTEV0QlEweHhRaXhGUVVGWmNYVkNMRXRCUTJoQ1FTeEZRVUZQUVN4RlFVRkxhblpDTEV0QlFVMVVMRXRCUVUwc1MwRkpla0l5YmtJc1JVRkJUelZyUWl4RlFVRlJNbk5DTEVWQlFVMHhka0lzUzBGQlRTeEhRVUZKYVU0c1pVRkJaMEl4U1N4SFFVRkpMRWRCUVVsblFpeFBRVUZQTEVkQlJYcEVka1lzUzBGQlRTeEhRVUZKTkVNc1dVRkRaQ3RyUWl4RlFVRkxNa2tzWVVGQlkzUjNRaXhMUVVGTkxFbEJSekZDTW01Q0xFVkJRVXQ0YWtJc1NVRkJTeXhYUVVkVUxFbEJSa0VzU1VGQlNVTXNSVUZCVDNCRkxFdEJSVWh2UlN4RlFVRkxjMnBETEcxQ1FVTmFkR3BETEVWQlFVOUJMRVZCUVV0emFrTXNhMEpCUjJJc1QwRkJUM1JxUXl4SlFVTktaM05DTEU5QlFWRndkMElzVDBGSFRrRXNUVUZIVWpKdVF5eFZRVUZYTEZOQlFWVnFXU3hIUVVOd1FpeFBRVUZMY25WQ0xFVkJRVmx4ZFVJc1IwRkRWREYyUWl4TFFVRkxhVVVzUzBGQlRTeFRRVUZWT1VJc1IwRkRNMEpaTEVWQlFWRXZReXhOUVVGUE1tNURMRlZCUVZkcVdTeEZRVUZMYW5aQ0xFdEJRVTFVTEV0QlFVMXRReXhOUVVsMFEyNURMRXRCUVV0cFJTeExRVUZOTEZkQlEycENMRWxCUVVsM1Z5eEZRVUZQTVZnc1JVRkJVUzlETEUxQlEyeENaMklzUlVGQlYxQXNSVUZCUzA4c1YwRkZXa0VzUlVGQlV6TllMRTlCUTJJeVdDeEZRVUZUZVhOQ0xGRkJRVk12V0N4SFFVZHNRbXBXTEVWQlFVc3lWaXhQUVVGUlZpeE5RVXRvUWk5SUxFdEJRVTBzVTBGQlZTdElMRWRCUTJZc1NVRkJTV3RaTEVWQlFXbENkbTFETEVWQlFWbHhkVUlzUjBGRmFrTXNUMEZCVHpGMlFpeExRVUZMYVVVc1MwRkJUU3hUUVVGVk9VSXNSMEZETTBKWkxFVkJRVkV2UXl4TlFVRlBlVzVETEZGQlFWTkhMRVZCUVdsQ2JGa3NSVUZCUzJwMlFpeExRVUZOVkN4TFFVRk5iVU1zUjBGQlRYVjBRaXhOUVVsc1JXMVpMRTlCUVZFc1UwRkJWVGRyUXl4SFFVbHFRaXhQUVVoQmFFUXNTMEZCUzJ0VkxFOUJRVkZzVWl4SFFVRlhNbElzU1VGQlN5eFJRVUZUTVZFc1MwRkJUU3hYUVVNelEyeENMRVZCUVZFdlF5eE5RVUZQZVhkQ0xGbEJRV0Y2ZDBJc1MwRkJTM1ZOTEdOQlJUTkNkazBzVVVGTFZDdERMRVZCUVU4MlR5eExRVUZMYUVrc1VVRkJVU3QyUWl4UFFVRlRMRk5CUVZWMk1VSXNSMEZEZEVNc1QwRkJVWEpDTEVWQlFVODJUeXhMUVVGTGFFa3NVVUZCVVdzclFpeFJRVUZUTVdwRExFbEJSWFJEY2tJc1JVRkJUelpQTEV0QlFVdG9TU3hSUVVGUmF5dENMRkZCUVZVc1UwRkJWVEZxUXl4SFFVTjJReXhUUVVGWFFTeEZRVUZMTW5WQ0xHRkJRV1V6ZFVJc1JVRkJTemgyUWl4alFVRm5RamwyUWl4RlFVRkxObmhDTEdsQ1FVRnBRalY1UWl4VFFVMHpSVTRzUlVGQlQybG5ReXhoUVVGaEswVXNTVUZCVFN4WFFVTjZRaXhKUVVORExFOUJRVThzU1VGQlNXaHZReXhGUVVGUGFXOURMR1ZCUTJwQ0xFMUJRVkY0TjBJc1RVRkhXQ3hKUVVGSmVUZENMRWRCUVcxQ0xFTkJSM0pDUXl4RlFVRkhMRWxCU1VoRExFdEJRVTBzUzBGRlVFTXNSMEZCWlhKc1F5eEZRVUZQYVdkRExHRkJRV0VyUlN4TlFVVndRek50UXl4RlFVRlJhVzVETEU5QlFWTkVMRWxCUVd0Q0xHOUNRVUZ4UWtFc1IwRkRlRVJvYmtNc1JVRkJVV3RxUXl4TFFVRlBPRVFzUzBGQmFVSkJMRWRCUldoRGNteERMRVZCUVU5emFFTXNZMEZCWlN4VFFVRlZiQzlDTEVkQlF5OUNMRWxCUVVscVFpeEZRVUZWYjJ0RExFVkJSMlFzUjBGQlMyeHVReXhGUVVGUmFXNURMRTFCUVZGRUxFdEJRV2xDYW1wRExFVkJRVkUwWjBNc1dVRkROME1zVFVGQlR5eERRVU5PVHl4TFFVRk5MRk5CUVZWSUxFVkJRVk5vVEN4SFFVTjRRaXhKUVVGSmFEVkNMRVZCUTBnMGJFTXNSVUZCVFRWcFF5eEZRVUZSTkdsRExFMUJWMllzUjBGVVFVRXNSVUZCU1ZFc1MwRkRTSEJxUXl4RlFVRlJlRVFzUzBGRFVuZEVMRVZCUVZGcEswSXNTVUZEVW1vclFpeEZRVUZSY1N0Q0xFMUJRMUp5SzBJc1JVRkJVWEZxUXl4VFFVTlNjbXBETEVWQlFWRnRVaXhWUVVsS2JsSXNSVUZCVVhOcVF5eFZRVU5hTEVsQlFVMTBiVU1zUzBGQlMyZEVMRVZCUVZGemFrTXNWVUZEYkVKV0xFVkJRVXMxYkVNc1IwRkJUV2RFTEVWQlFWRnpha01zVlVGQlYzUnRReXhIUVcxQ2FFTXNTVUZCVFVFc1MwRmtSR2RFTEVWQlFWRjFaME1zVlVGQldYRkRMRVZCUVVsMFF5eHJRa0ZETlVKelF5eEZRVUZKZEVNc2FVSkJRV3RDZEdkRExFVkJRVkYxWjBNc1ZVRlJla0oyWjBNc1JVRkJVVFJuUXl4aFFVRm5Ra2tzUlVGQlV5eHpRa0ZEZEVOQkxFVkJRVk1zYjBKQlFYVkNMR3RDUVVsMFFrRXNSVUZEVmpSQ0xFVkJRVWwyUXl4cFFrRkJhMEp5YWtNc1JVRkJSMmRyUXl4RlFVRlRhR3RETEVsQlNXNURLMElzUlVGQlZ5eFRRVUZWZGtNc1IwRkRjRUlzVDBGQlR5eFhRVU5FZFVNc1NVRkRTa0VzUlVGQlYyOXJReXhGUVVGblFsQXNSVUZCU1Zjc1QwRkRPVUpZTEVWQlFVbFpMRkZCUVZWYUxFVkJRVWxoTEZGQlFWVmlMRVZCUVVsakxGVkJReTlDWkN4RlFVRkpaU3h0UWtGQmNVSXNTMEZGWWl4VlFVRlVibTVETEVWQlEwcHZiVU1zUlVGQlNXNURMRkZCUTJkQ0xGVkJRVlJxYTBNc1JVRkxaMElzYVVKQlFXWnZiVU1zUlVGQlNYQkRMRTlCUTJaNFN5eEZRVUZWTEVWQlFVY3NVMEZGWWtFc1JVRkhRelJOTEVWQlFVbHdReXhQUVVOS2IwTXNSVUZCU1d4RExGbEJTVTR4U3l4RlFVTkRPRTBzUjBGQmEwSkdMRVZCUVVsd1F5eFRRVUZaYjBNc1JVRkJTWEJETEU5QlEzUkRiME1zUlVGQlNXeERMRmRCU3l0Q0xGVkJRV3BEYTBNc1JVRkJTV2RDTEdOQlFXZENMRk5CUTAwc2FVSkJRWEpDYUVJc1JVRkJTV2xDTEdGQlExWXNRMEZCUlVNc1QwRkJVV3hDTEVWQlFVbHlRaXhWUVVOa0xFTkJRVVZ1YTBNc1MwRkJUWGRzUXl4RlFVRkphVUlzWTBGRFltcENMRVZCUVVsNFF5dzBRa0ZSVkhkRExFVkJRVWxYTEU5QlFWTjRhME1zU1VGRFltOXJReXhGUVVGblFsQXNSVUZCU1Zrc1VVRkJWVm9zUlVGQlNXTXNWVUZCV1ROclF5eEZRVUZWTEdOQlMyNURNa0lzU1VGQmFFSnJhVU1zUlVGQlNXRXNVVUZEVW1Jc1JVRkJTV0VzVVVGQlZVNHNSVUZGWkZBc1JVRkJTV1VzYlVKQlFYRkNMRmRCUjBFc1NVRkJia0ptTEVWQlFVazFiVUlzV1VGTlVuQm9RaXhGUVVGUFoyZENMRmRCUVZrc1YwRkRZamRpTEVkQlEwcHZhME1zVDBGUlRIQnJReXhGUVVGWFFTeEZRVUZWTEZOQlJYSkNMRWxCUjBNMmFrTXNSVUZCU1hwQ0xFdEJRVTF1YUVNc1JVRkJVVGhuUXl4WlFVRmpPV2RETEVWQlFWRjFaQ3hOUVVGUkxFMUJReTlETEUxQlFWRnNWeXhIUVVkVUxFZEJRVXQwU1N4RlFVTktMRTFCUVUxelNTeEpRVXRVYnpWQ0xFMUJRVThzVjBGRFJERm9ReXhIUVVOS1FTeFJRVmRNYmtJc1JVRkJUM0ZvUXl4alFVRmxMRk5CUVZWb1JDeEhRVU14UWtFc1JVRkJSVEpGTEdOQlEwNHpSU3hGUVVGRmNHMUNMRk5CUVZNeldTeFJRVUZUTEV0QlMzUkNWU3hGUVVGUGJXaERMRlZCUVZjc1EwRkRha0pTTEZGQlFWTXNRMEZEVW5Kb1F5eFBRVUZSTERaR1FVZFVNbGtzVTBGQlZTeERRVU5VTTFrc1QwRkJVU3d5UWtGRlZIZG9ReXhYUVVGWkxFTkJRMWd5UkN4alFVRmxMRk5CUVZWcWJFTXNSMEZGZUVJc1QwRkVRVkVzUlVGQlR6QkVMRmRCUVZsc1JTeEhRVU5hUVN4TlFVMVdVU3hGUVVGUGNXaERMR05CUVdVc1UwRkJWU3hUUVVGVmFFUXNVVUZEZUVKMk4wSXNTVUZCV25VM1FpeEZRVUZGYm5wQ0xGRkJRMDV0ZWtJc1JVRkJSVzU2UWl4UFFVRlJMRWRCUlU1dGVrSXNSVUZCUlRKRkxHTkJRMDR6UlN4RlFVRkZlaTlDTEV0QlFVOHNVMEZMV0c5Q0xFVkJRVTl6YUVNc1kwRkJaU3hUUVVGVkxGTkJRVlZxUkN4SFFVbDRReXhKUVVGSkx5dENMRVZCUVZFMlFpeEZRVVJpTEVkQlFVdHJPVUlzUlVGQlJUSkZMR0ZCUVdVelJTeEZRVUZGT0Vnc1dVRkZka0lzVFVGQlR5eERRVU5PTlVNc1MwRkJUU3hUUVVGVmNuQkNMRVZCUVVkclpTeEhRVU5zUWprMFFpeEZRVUZUVlN4RlFVRlJMRmxCUTJZclR5eExRVUZOYzNaQ0xFVkJRVVU0U0N4aFFVRmxMRWxCUTNaQ2RtMUNMRXRCUVUwc1EwRkJSWGR0UWl4UlFVRlRMMGdzUlVGQlJXZEpMR05CUVdWNGJrTXNTVUZCUzNjdlFpeEZRVUZGWjBNc1RVRkRla00zWVN4SFFVRkpMR0ZCUVdOeWEwSXNSVUZCVnl4VFFVRlZiV3hETEVkQlEzWkRhRzVETEVWQlFVOTNZaXhUUVVOUU0xb3NSVUZCVnl4TFFVTk9iV3hETEVkQlEwcHNUeXhGUVVGMVFpeFZRVUZpYTA4c1JVRkJTVEZ1UXl4TFFVRnRRaXhKUVVGTkxFbEJRVXN3YmtNc1JVRkJTVEZ1UXl4UlFVdHVSQzlDTEVWQlFWTTRReXhMUVVGTFF5eFpRVUZoVGl4RlFVRlJMRXRCUlhCRGRXcERMRTFCUVU4c1YwRkRSREZvUXl4SFFVTktRU3hSUVZWTUxFbEJjVWRMZFdoQ0xFZEJja2RFTm1wQ0xFZEJRV1VzUjBGRGJFSkRMRWRCUVZNc2IwSkJSMVo0YlVNc1JVRkJUMjFvUXl4VlFVRlhMRU5CUTJwQ2MwWXNUVUZCVHl4WFFVTlFReXhqUVVGbExGZEJRMlFzU1VGQlNYWnNReXhGUVVGWGIyeERMRWRCUVdGcVowTXNUMEZCVjNSSExFVkJRVThyUXl4UlFVRlZMRWxCUVZGcVJTeEhRVUZOYzBZc1QwRkZkRVVzVDBGRVFXNUlMRXRCUVUxclJTeEpRVUZoTEVWQlExcEJMRXRCUzFSdVFpeEZRVUZQY1doRExHTkJRV1VzWVVGQll5eFRRVUZWYUVRc1JVRkJSM05KTEVWQlFXdENiRWdzUjBGRmJFVXNTVUZCU1cxSUxFVkJRV05ETEVWQlFXRkRMRVZCUXpsQ1F5eEhRVUYxUWl4SlFVRmFNVWtzUlVGQlJXOUpMRkZCUVhGQ1JDeEhRVUZQTHpkQ0xFdEJRVTAwZWtJc1JVRkJSV2RETEV0QlEyaEVMRTFCUTJ0Q0xHbENRVUZZYUVNc1JVRkJSVEZsTEUxQlJUWkRMRXRCUkc1RU1HVXNSVUZCUlhGRExHRkJRV1VzU1VGRGFrSTFhVU1zVVVGQlV5eHpRMEZEV0RCdlF5eEhRVUZQTHpkQ0xFdEJRVTAwZWtJc1JVRkJSVEZsTEU5QlFWVXNVVUZKTlVJc1IwRkJTMjl1UWl4SFFVRnBReXhWUVVGeVFqRkpMRVZCUVVWclFpeFZRVUZYTEVkQk9FUTNRaXhQUVRORVFYRklMRVZCUVdWMlNTeEZRVUZGY1Vrc1kwRkJaMEp3YjBNc1JVRkJXU3N2UWl4RlFVRkZjVWtzWlVGRE9VTnlTU3hGUVVGRmNVa3NaMEpCUTBaeVNTeEZRVUZGY1Vrc1kwRkhSVXNzUlVGRFNqRkpMRVZCUVVjd1NTeEhRVUZoTVVrc1JVRkJSekJKTEVkQlFWYzNha01zVVVGQlUzTnFReXhIUVVGUkxFdEJRVTlKTEVsQlF5OUNMRWxCUVZwMlNTeEZRVUZGYjBrc1VVRkRZbkJKTEVWQlFVVm5ReXhOUVVGVE5VTXNSMEZCVDJoNlFpeExRVUZOTkhwQ0xFVkJRVVZuUXl4TFFVRlJMRWxCUVUwc1MwRkJVV2hETEVWQlFVVnZTU3hOUVVGUkxFbEJRVTFITEVkQlNXcEZka2tzUlVGQlJYbERMRmRCUVZrc1pVRkJhMElzVjBGSkwwSXNUMEZJVFdkSExFZEJRMHc1YlVNc1JVRkJUMjlFTEUxQlFVOTNha01zUlVGQlpTeHRRa0ZGZGtKRkxFVkJRVzFDTEVsQlNUTkNla2tzUlVGQlJXdENMRlZCUVZjc1IwRkJUU3hQUVVkdVFuTklMRVZCUVdNM2NFTXNSVUZCVVRSd1F5eEhRVU4wUWpWd1F5eEZRVUZSTkhCRExFZEJRV2xDTEZkQlEzaENSU3hGUVVGdlFuaHNReXhYUVVseVFtMHJRaXhGUVVGTmJtdENMRTlCUVZFc1owSkJSMUY0V1N4SlFVRm9RaXRxUXl4RlFVTktOMjFETEVWQlFWRm9SQ3hIUVVGVE1DdENMRmRCUVZsclRDeEhRVWszUWpWd1F5eEZRVUZSTkhCRExFZEJRV2xDUXl4RlFVbHlRbmhKTEVWQlFVZDFTU3hMUVVkUWRra3NSVUZCUlhGSkxHTkJRV2RDUXl4RlFVRnBRa1FzWTBGSGJrTklMRWRCUVdFeGIwTXNTMEZCVFN0dlF5eEpRVWxtUlN4SFFVRnhRbmh2UXl4RlFVRlpkVzlETEVsQlEzSkRRU3hGUVVGaFF5eEZRVUZ0UWl4SlFVZHFRMEVzUlVGQmIwSkVMRTlCUVdNdmFrTXNTVUZKTlVJc1YwRlpWSHBGTEVWQlFWRXliME1zY1VKQlEwaDBhMElzUjBGQlR6ZHNRaXhGUVVGVGIzRkRMR1ZCUVdWRUxHMUNRVUZ2UWl4SlFVRkxkR3RDTEUxQlEzWkVOMVVzVlVGQldTdzJRa0ZEYVVJc1NVRkJNMEkyVlN4SFFVRkxiRm9zVjBGQlYyeEtMRkZCVVhoQ1RpeEZRVUZQTkZnc1ZVRkJXU3hUUVVGVkswZ3NSVUZCVFhwbUxFVkJRVk5uYmtNc1IwRkRNME1zVFVGQmNVSXNhVUpCUVZSMmJrSXNSVUZEU2l4SlFVVm5RaXhyUWtGQlducG1MRWxCUTFobmJrTXNSVUZCWTJodVF5eEZRVU5rUVN4SFFVRlZMRWRCUzB4QkxFbEJTVUUzUWl4RlFVRlJNbTlETEhGQ1FVMWFibnBDTEVkQlRFRXpWQ3hGUVVGVmNrUXNSVUZCVTI5eFF5eGxRVUZsUkN4dFFrRkJiMElzUzBGTGRrTjZia01zWTBGQlpTeFRRVU42UW1sVUxFdEJRVTh6Vml4RlFVRlRjMVlzVTBGQlUwc3NTMEZET1VKMFV5eEZRVUZSVUN4TFFVRkxReXhaUVVGaGFWVXNTVUZGTVVJelZDeEZRVUZWY2tRc1IwRkxXalJ1UWl4SFFVRlhlV2xDTEVkQlFXVXNTVUZFTVVKRExFVkJRVk0xZGtJc1JVRkJWM0JPTEV0QlFVMTNWaXhKUVV0c1FpeERRVUZGZW1Zc1JVRkJVVmdzWTBGQlpUUnVReXhGUVVGUkxFMUJSM3BEUVN4RlFVRlRNMmxDTEVkQlFXVXNRMEZCUlRkRkxFZEJRVkY2Wml4RlFVRlRkV3RDTEVkQlJYUkRRU3hIUVVGWFFTeEZRVUZSYm10Q0xGRkJRM1pDVGl4RlFVRlJlV3RDTEVkQlFWVXpTaXhUUVVkYU9XRXNSVUZCVDJkQ0xFMUJRVThzUjBGQlNXMXRReXhGUVVGUE16bENMR05CYkVOb1F5eEpRVUZKY1Vzc1JVRkJUWE42UWl4RlFVRlJNV2xDTEVkQmVVTnVRbnByUWl4RlFVRlBSeXhIUVVGSE1HOUNMRXRCUVU4c1UwRkJWWGRZTEVWQlFVc3JSeXhGUVVGUmFtMURMRWRCUTNaRExFbEJRVWxzUWl4RlFVRlZja0lzUlVGQlRTdHJReXhGUVVOdVFtcHpRaXhGUVVGUGVtRXNTMEZEVURSdlFpeEZRVUZOZDJFc1JVRkJTWFpwUXl4UlFVRlRMRXRCYzBSd1FpeFBRWEJFU3l0dVFpeEhRVUZQTEVsQlExZzFiRUlzUlVGQlYzTTNRaXhIUVVGclFqaEZMRVZCUVVrNWFVTXNUVUZCVDNOdlFpeEpRVU40UTNkaExFVkJRVTFCTEVWQlFVazVhVU1zVFVGQlR5eEZRVUZIYzI5Q0xFbEJTV2hDZG01Q0xFVkJRVms0YjBNc1NVRkhhRUpxYlVNc1JVRkJWMmx0UXl4RlFVTllRU3hQUVVGVGRHdERMRWRCUjBWemEwTXNSMEZCTkVJc2FVSkJRVmhCTEVsQlF6VkNlRzlETEVWQlFVOHNVVUZKU0RoWkxFVkJRVXR3V0N4UFFVRlRMRWRCUTJ4Q1RpeEZRVUZQZFdoRExFdEJRVTBzUTBGRFdteENMRWxCUVV0QkxFVkJTMHg2YUVNc1MwRkJUVUVzUjBGQlVTeE5RVU5rTUdkRExGTkJRVlVzVDBGRFZqTm1MRXRCUVUxNWJrSXNTVUZEU0hab1F5eExRVUZOTEZOQlFWVnZaME1zUjBGSGJrSjBReXhGUVVGWGNtbERMRlZCUlZodlZ5eEZRVUZMYVZZc1MwRkJUVEZ6UWl4RlFVbFdSQ3hGUVVGUkxGTkJRVlZ4ZEVJc1QwRkJVWEowUWl4RlFVRlBORmdzVlVGQlYzRjFRaXhKUVVGcFFubzBRaXhMUVVGTmRrNHNSMEZIYmtWbmJVTXNTMEZMUlROeFFpeFBRVUZSYm1Fc1IwRkJXU3hUUVVGVmN5dENMRVZCUVU5dFJDeEhRVU40UTJ4eVFpeEZRVUZMZUZjc1MwRkJUU3hYUVVOV1F5eEZRVUZUZGtRc1RVRkJUMWdzUzBGQlRUQnRReXhIUVVGWkxFTkJRVVZzUlN4RlFVRk5kMGNzWVVGQlkzSkVMRVZCUVZGdVJDeFJRVXMxUkhocFF5eE5RVTFTSzBNc1JVRkJUelpQTEV0QlFVdG9TU3hSUVVGUmQyZERMRk5CUVZjc1UwRkJWV2h0UXl4SFFVTjRReXhQUVVGUGNrSXNSVUZCVHpKQ0xFdEJRVTB6UWl4RlFVRlBOalZDTEU5QlFWRXNVMEZCVlRFMVFpeEhRVU0xUXl4UFFVRlBhMElzU1VGQlUyeENMRVZCUVVkclFpeFBRVU5vUW1Zc1VVRk5URTRzUlVGQlQzTnVReXhQUVVGVExFTkJRMlpETEZWQlFWY3NVMEZCVld4dFF5eEZRVUZOWlN4RlFVRlRhRVFzUjBGRGJrTXNTVUZCU1c5dlF5eEZRVUZoUXl4RlFVRlRReXhGUVVGWFF5eEZRVUZSUXl4RlFVRlhReXhGUVVOMlJDOVlMRVZCUVZjNWRrSXNSVUZCVHpSb1FpeEpRVUZMZG1kQ0xFVkJRVTBzV1VGRE4wSjViVU1zUlVGQlZUbHVReXhGUVVGUmNVSXNSMEZEYkVJMmJrSXNSVUZCVVN4SFFVZFRMRmRCUVdJMFJ5eEpRVU5LZW5WQ0xFVkJRVXR4WjBJc1RVRkJUVzlQTEZOQlFWY3NXVUZIZGtJNFdDeEZRVUZaUlN4RlFVRlJVaXhUUVVOd1Fra3NSVUZCV1RGdVF5eEZRVUZQTkdoQ0xFbEJRVXQyWjBJc1JVRkJUU3hQUVVNNVFuZHRReXhGUVVGaE4yNURMRVZCUVU4MGFFSXNTVUZCUzNablFpeEZRVUZOTEZOQlEwa3NZVUZCWW5sMVFpeEhRVUYzUXl4VlFVRmlRU3hMUVVNNVF6UllMRVZCUVZsSExFZEJRV0V2Y0VNc1VVRkJVeXhUUVVGWkxFZEJUV2hFTm5CRExFZEJSRUZJTEVWQlFXTk5MRVZCUVZGb1dTeFpRVU5FTDJsQ0xFbEJRM0pDTURaQ0xFVkJRVlZFTEVWQlFWbDZVeXhQUVVkMFFqUlRMRVZCUVZONFdDeFhRVUZaZFZnc1NVRkJaU3hGUVVOd1EwUXNSVUZCVlhSWUxGZEJRVmt3V0N4SlFVRm5RaXhIUVVkc1EzWndReXhGUVVGWk9FUXNTMEZIYUVKQkxFVkJRVlZCTEVWQlFWRXhSU3hMUVVGTk1rUXNSVUZCVFdwRExFVkJRVWRaTEVWQlFVOXRReXhQUVVGUkxFZEJRVWw1YkVNc1MwRkhha01zVFVGQlpuaHNReXhGUVVGUk1rc3NUVUZEV20xakxFVkJRVTF1WXl4SlFVRlJNMHNzUlVGQlVUSkxMRWxCUVUwMk5rSXNSVUZCVlRjMlFpeEpRVUZSTkRaQ0xFZEJSVEZDTEUxQlFXaENkbXhETEVWQlFWRXllVUlzVDBGRFdqZE1MRVZCUVUwMlRDeExRVUZUTTNsQ0xFVkJRVkV5ZVVJc1MwRkJUelpUTEVWQlFWVTNVeXhMUVVGVE1GTXNSMEZITjBNc1ZVRkJWM0pzUXl4RlFVTm1RU3hGUVVGUk1teERMRTFCUVUxeWNVTXNTMEZCVFRKRUxFVkJRVTAyYmtJc1IwRkhNVUkwWlN4RlFVRlJiRzFDTEVsQlFVdHpTQ3hMUVV0b1FteHdRaXhGUVVGUFJ5eEhRVUZIWjBNc1QwRkJVU3hEUVVkcVFtMXNReXhQUVVGUkxGTkJRVlZzYkVNc1IwRkhha0lzUjBGQlMyUXNWVUZCVldoQ0xFOUJRMlFzV1VGQmJVSjNReXhKUVVGYVZpeEZRVU5PYmtZc1MwRkRRVUVzUzBGQlMybEZMRXRCUVUwc1UwRkJWVGxDTEVkQlEzQkNXU3hGUVVGUGMyNURMRTlCUVU5RExGVkJRVmQwY1VNc1MwRkJUVzFHTEVWQlFWTm9SQ3hMUVVrelF5eEpRVUZKTkc5RExFVkJRVTFETEVWQlExUTFiVU1zUlVGQlQzQkZMRXRCUVUwc1IwRkZaQ3hQUVVGTmIwVXNSVUZSUVVFc1JVRkJTelo0UWl4cFFrRkJhVUkxZVVJc1VVRkxOVUl3YmtNc1JVRkJUek50UXl4RlFVRkxkM3BDTEhkQ1FVTmFiMVFzUlVGQlRUVnRReXhGUVVGTE5ra3NZMEZCWXpSRExGbEJRMnhDTEVOQlEwNURMRWxCUVV0cE4wSXNSVUZCUzJvM1FpeEpRVUZOYXpkQ0xFVkJRVWxETEZsQlEzQkNibFFzUzBGQlRXbFVMRVZCUVV0cVZDeExRVUZQYTFRc1JVRkJTVVVzWTBGU1ppeERRVUZGY0RkQ0xFbEJRVXNzUlVGQlIyZHZRaXhMUVVGTkxGRkJWSGhDTEVkQmRVSkVha1lzVTBGQlZTeFhRVU5VTEVkQlFVMDNlVUlzUzBGQlRTeEhRVUZhTEVOQlNVRXNTVUZCU1cxeVF5eEZRVUZqWkN4RlFVRlJibTlETEVWQlEzcENhME1zUlVGQlQzQkZMRXRCUVUwc1IwRkRZbTl5UXl4RlFVRmxMRU5CUVVWME4wSXNTVUZCU3l4RlFVRkhaMjlDTEV0QlFVMHNSMEZIYUVNc1IwRkJkME1zVlVGQmJrTXZNRUlzUlVGQlR6Um9RaXhKUVVGTGRtZENMRVZCUVUwc1dVRkhkRUpwYlVNc1JVRkJVMnB0UXl4RlFVRkxkM3BDTERSQ1FVVlNMRU5CVDA0c1NVRk9RWGxUTEVWQlFWTnljVU1zUzBGQlMzRnhReXhUUVVsa2JtOURMRVZCUVUxclF5eEZRVUZMTmtrc1kwRkRXR3NyUWl4RlFVRmxMMjFETEVWQlFVc3JiVU1zWTBGQlowSnFjRU1zUlVGQlNYZE9MR2RDUVVOb1EzazNRaXhKUVVOTVFTeEpRVUZwUW1wd1F5eEZRVUZKZFdwQ0xFMUJRVkV3YkVJc1NVRkJhVUpxY0VNc1JVRkJTWGRPTEd0Q1FVTlVMRmRCUVRORE0wMHNSVUZCVHpSb1FpeEpRVUZMZDIxQ0xFVkJRV01zWVVGRk1VSkJMRVZCUVdWQkxFVkJRV0YyYjBNc1YwRkZlRUoxYjBNc1IwRkJaMEpCTEVsQlFXbENMMjFETEVkQlFXdERMRWxCUVRGQ0syMURMRVZCUVdFMWNFTXNXVUZITVVRMmNFTXNSVUZCWlhKdlF5eEZRVUZSYjI5RExFZEJRV1ZrTEZWQlEzcENkalpDTEV0QlFVOHZUU3hGUVVGUE5HaENMRWxCUVV0M2JVSXNSVUZCWXl4clFrRkJhMElzUjBGRGFFVkRMRVZCUVdGMFZDeE5RVUZSTHpCQ0xFVkJRVTgwYUVJc1NVRkJTM2R0UWl4RlFVRmpMRzFDUVVGdFFpeEpRVXR3UlN4TlFVRlBMRU5CUTA1eU4wSXNTVUZCUzNVMlFpeEZRVUZQZGpaQ0xFbEJRVTF6TjBJc1JVRkJZWFEzUWl4SlFVRk5MMDBzUlVGQlR6Um9RaXhKUVVGTGRtZENMRVZCUVUwc1lVRkJZU3hIUVVOd1JUQjZRaXhMUVVGTmRWTXNSVUZCVDNaVExFdEJRVTl6VkN4RlFVRmhkRlFzUzBGQlR5OHdRaXhGUVVGUE5HaENMRWxCUVV0MlowSXNSVUZCVFN4alFVRmpMRTFCWXpGRksyMURMR0ZCUVdNc1YwRkRZaXhQUVVGUGJuSkRMRXRCUVV0dFJTeEpRVUZMTEZkQlIyaENMRWxCUmtFc1NVRkJTV2R1UXl4RlFVRmxibkpETEV0QlFVdHRja01zWVVGRmFFSkJMRWRCUVRKRUxGZEJRVE5EY0c5RExFVkJRVTgwYUVJc1NVRkJTM2R0UWl4RlFVRmpMR0ZCUTJwRVFTeEZRVUZsUVN4RlFVRmhRU3hoUVVjM1FpeFBRVUZQUVN4SFFVRm5Rbm8zUWl4UlFVMHhRak5OTEVWQlFVOXJRaXhMUVVGTkxFTkJRVVVyTUVJc1YwRkJXU3hqUVVGbFJDeFZRVUZYTEdWQlFXbENMRk5CUVZWd1l5eEZRVUZSWjBjc1IwRkRka1lzU1VGQlNUZFRMRVZCUVUwc1owSkJRV3RDTmxNc1JVRkZOVUkxWml4RlFVRlBSeXhIUVVGSmVWb3NSMEZCVnl4VFFVRlZkbUVzUjBGREwwSXNUMEZCVDJsbUxFVkJRVkZ5YUVJc1MwRkJUU3hUUVVGVmIwVXNSVUZCVFhWWkxFVkJRVkYyWVN4SFFVYzFReXhKUVVGSk5HOURMRVZCVDBvc1IwRk9TM1p3UXl4RlFVRlZNa01zUjBGRFpEUnRReXhGUVVGTk5XMURMRVZCUTNWQ0xFbEJRV3hDUVN4RlFVRkxOME1zVjBGRGFFSjVjRU1zUlVGQlRUVnRReXhGUVVGTGVVd3NhMEpCUjBOb1N5eEpRVUZTZWtRc1JVRkRTaXhQUVVGUE5HOURMRVZCUVUxQkxFVkJRVXR5YjBJc1IwRkJVM1psTEVWQlFVMTFXU3hIUVVjM1FuRjFRaXhGUVVOS1FTeEZRVUZKU3l4VFFVTkdkamRDTEVWQlFWbHJOMElzUlVGQlNVVXNXVUZCVmpsdlF5eEZRVU5RTUU0c1JVRkJUVEZPTEVWQlFVMDBiME1zUlVGQlNVTXNZVUZKYWtJM2JVTXNSVUZCVFhWWkxFZEJRVmQyWVN4SFFVVm9RblZoTEVWQlFWRjJZU3hGUVVGTGFVTXNWVUZCVldoQ0xGZEJWVFZDVGl4RlFVRlBhMElzUzBGQlRTeERRVUZGTEUxQlFVOHNVVUZCVlN4VFFVRlZjMFFzUlVGQlNXOWlMRWRCUXpkRE5XWXNSVUZCVDNGNlFpeFRRVUZWZWxRc1IwRkJVMjlRTEVkQlFXTXpkMElzUlVGQlVXMTVRaXhqUVVNdlF5eFRRVUZWYm5aQ0xFVkJRVTF4ZEVJc1IwRkRaaXhIUVVGTFFTeEZRVWxLTEU5QlNFRkJMRVZCUVZkRUxFZEJRVkZ3ZEVJc1JVRkJUWFZsTEVkQlIyeENjMDhzUjBGQlZYcHFRaXhMUVVGTmFXdENMRWRCUTNSQ01YVkNMRVZCUVZGeFFpeEhRVUZQZVhWQ0xGZEJRVmxzVVN4SFFVRlRMRXRCUTNCRE9FOHNUVUZSVERGMVFpeEZRVUZQYTBJc1MwRkJUU3hEUVVGRmNXNURMRTlCUVZFc1UwRkJWVU1zVFVGQlR5eFRRVUZYTEZOQlFWVnViVU1zUlVGQlRYcEVMRWRCUTJ4RmIwSXNSVUZCVDJ0Q0xFdEJRVTBzUTBGRFdpdDZRaXhSUVVGVExGRkJRVlUxZVVJc1JVRkRia0kwVnl4UlFVRlRjbUVzUlVGRFZEWndReXhIUVVGSkxGRkJRVlZ3YlVNc1IwRkRXaXhUUVVGVmNXMURMRVZCUVdORExFZEJSekZDTTI5RExFVkJRVTlITEVkQlFVbDNiME1zUjBGQllTeFRRVUZWTTFRc1JVRkJVVGQzUWl4SFFVTjZReXhKUVVGSmIyRXNSVUZCV1dwa0xGVkJRVlZvUWl4VFFVRlpiMjlETEVkQlFXdERMR3RDUVVGWU1WUXNSMEZETlVSd1F5eEZRVUZST0ZZc1MwRkJOa0lzU1VGQldERlVMRWxCUVRaQ0xFbEJRVlkzZDBJc1JVRkJhVUlzVTBGQlZ5eFZRVVV4UlN4UFFVRlBiV0VzUlVGQlVYSm9RaXhMUVVGTkxGTkJRVlZ2UlN4RlFVRk5la01zUlVGQlRYVkdMRWRCUXpGRExFbEJRVWxvUml4RlFVVktMRTlCUVV0VUxFVkJRVlV5UXl4SFFVZDVRaXhKUVVGb1EzTnVReXhGUVVGVE4zRkRMRkZCUVZNc1UwRkRlRUoxUkN4RlFVRk5MRkZCUVZWblFpeEhRVU5vUW1oQ0xFVkJRVXQ0UlN4VFFVRlRPRkFzWjBKQlFXbENMRk5CUVZkMFN5eEhRVWx5UWl4SlFVRnNRbWhDTEVWQlFVczNReXhWUVVOVVZ5eEZRVUZOYTBNc1JVRkJTM05NTEdkQ1FVbEtNMG9zUzBGQlMzRjJRaXhKUVVOWWFIaENMRVZCUVV0eGFFSXNTMEZCVFN4VFFVRlhjbWRDTEVkQlFWRnNSQ3hGUVVGTExGTkJRVmRyUkN4SFFVTTVRMmhDTEVWQlFVdHhhRUlzUzBGQlRTeFRRVUZYY21kQ0xFZEJRVkZzUkN4RlFVRkxMRk5CUVZkclJDeEhRVU01UTJ4RUxFVkJRVXNzVTBGQlYydEVMRlZCU1VSVExFbEJRVlp4UWl4RlFVZE9ia1VzUlVGQlR6Um9RaXhKUVVGTGRtZENMRVZCUVUxNlF5eEZRVUZOWnpCQ0xFZEJSM2hDTlhsQ0xFVkJRVTh3YUVJc1RVRkJUM0puUWl4RlFVRk5la01zUlVGQlRYVkdMRVZCUVU5NWRVSXNTVUZEYUVOb01FSXNSVUZCVFRKbUxFVkJRVmw1Vnl4UFFVRlRiSGxDTEVWQlFWZDVZaXhSUVUwMVEzWmxMRVZCUVU5clFpeExRVUZOTEVOQlExb3NXVUZEUVN4WFFVTkJMR1ZCUTBFc1dVRkRRU3hqUVVOQkxGbEJRMFVzVTBGQlZYTkVMRVZCUVVrMVJpeEhRVU5vUW05Q0xFVkJRVTlITEVkQlFVbDJRaXhIUVVGVExGTkJRVlYxUWl4SFFVTTNRaXhQUVVGUGJFUXNTMEZCUzNWdlFpeEhRVUZKTlcxQ0xFVkJRVTExUWl4TlFVOTRRa2dzUlVGQlQwY3NSMEZCUjJkRExFOUJRVkVzUTBGRmFrSm5Na0lzUzBGQlRTeFRRVUZWTVZNc1JVRkJUemxHTEVWQlFVMTRaaXhIUVVNMVFpeFBRVUZQYkVRc1MwRkJTM1Z2UWl4SFFVRkpReXhGUVVGUExFdEJRVTA1Uml4RlFVRk5lR1lzU1VGRmNFTjViME1zVDBGQlVTeFRRVUZWYm1wQ0xFVkJRVTkwYkVJc1IwRkRlRUlzVDBGQlQyeEVMRXRCUVVzMGIwSXNTVUZCUzBvc1JVRkJUeXhMUVVGTmRHeENMRWxCUnk5Q01HOURMRk5CUVZVc1UwRkJWVFZ2UXl4RlFVRlZkMnhDTEVWQlFVODVSaXhGUVVGTmVHWXNSMEZETVVNc1QwRkJUMnhFTEV0QlFVdDFiMElzUjBGQlNVTXNSVUZCVDNoc1FpeEZRVUZWTUdZc1JVRkJUWGhtTEVsQlJYaERNbTlETEZkQlFWa3NVMEZCVlRkdlF5eEZRVUZWZDJ4Q0xFVkJRVTkwYkVJc1IwRkhkRU1zVDBGQk5FSXNTVUZCY2tKdFFpeFZRVUZWYUVJc1QwRkRhRUp5UkN4TFFVRkxORzlDTEVsQlFVczFiRUlzUlVGQlZTeE5RVU53UW1oRUxFdEJRVXMwYjBJc1NVRkJTMG9zUlVGQlQzaHNRaXhIUVVGWkxFdEJRVTFGTEVsQlIzSkRORzlETEUxQlFVOHNVMEZCVlVNc1JVRkJVVU1zUjBGRGVFSXNUMEZCVDJoelF5eExRVUZMY1hWQ0xGZEJRVmt3WkN4SFFVRlRlbVFzVjBGQldUQmtMRWRCUVZORUxFMUJTWGhFYUhCRExFVkJRVTlyUWl4TFFVTk9MSGRNUVVVMFJIRkVMRTFCUVU4c1MwRkRia1VzVTBGQlZVTXNSVUZCU1c1RExFZEJSMkp5UXl4RlFVRlBSeXhIUVVGSmEwTXNSMEZCVXl4VFFVRlZjMlFzUlVGQlRYaG1MRWRCUTI1RExFOUJRVTl0UWl4VlFVRlZhRUlzVDBGQlV5eEZRVU42UW5KRUxFdEJRVXQxYjBJc1IwRkJTVzVxUWl4RlFVRk5MRXRCUVUxelpDeEZRVUZOZUdZc1IwRkRNMEpzUkN4TFFVRkxjWEJDTEZGQlFWTnFhMElzVFVGVmJFSXNTVUZCU1RKRkxFZEJRVkVzY1VOQlRWcG9TQ3hGUVVGUGEzQkRMRTFCUVZFc1UwRkJWUzl2UXl4RlFVRkpSQ3hIUVVNMVFpeEpRVUZKZVU0c1JVRkJTelpFTEVWQlFVMHdNMElzUlVGVlppeEhRVkozUWl4cFFrRkJXbWh3UXl4SlFVTlllVTRzUlVGQlRYaE9MRVZCUVVsRUxFZEJRMVpCTEVWQlFWVkRMRVZCUTFaQkxFVkJRVXQzVGl4SFFVdEJjbEFzUlVGQldUWkNMRWRCWVd4Q0xFOUJVa0Z4VWl4RlFVRlBhbFVzUlVGQlRVY3NTMEZCVFRSRUxGVkJRVmNzU1VGRE9VSTBia01zUlVGQlVTeFhRVU5RTEU5QlFVOHZiME1zUlVGQlIzWkRMRTFCUVU5elF5eEhRVUZYYWtRc1MwRkJUWFZWTEVWQlFVczNWQ3hQUVVGUlNpeEZRVUZOUnl4TFFVRk5ORVFzWlVGSmRFUTRReXhMUVVGUGFrVXNSVUZCUjJsRkxFdEJRVTlxUlN4RlFVRkhhVVVzVFVGQlVYQkZMRVZCUVU5dlJTeFBRVVZzUXpoclF5eEhRVWRTYkhCRExFVkJRVTl0Y0VNc1ZVRkJXU3hUUVVGVlF5eEhRVU4yUWtFc1JVRkRTbkJ3UXl4RlFVRlBhMlVzV1VGRlVHeGxMRVZCUVU4MldDeFBRVUZQTEVsQlIyaENOMWdzUlVGQlR6WkRMRkZCUVZWRUxFMUJRVTFETEZGQlEzWkNOME1zUlVGQlQzRndReXhWUVVGWmJIQkNMRXRCUVV0RExFMUJRM2hDY0dkQ0xFVkJRVTl4U2l4VFFVRlhRU3hGUVVOc1FuSktMRVZCUVU4eFFpeFhRVUZoUVN4RlFVTndRakJDTEVWQlFVOTBRaXhUUVVGWFFTeEZRVU5zUW5OQ0xFVkJRVTlyWml4VlFVRlpRU3hGUVVOdVFteG1MRVZCUVU5d1FpeExRVUZQYlVJc1JVRkZaRU1zUlVGQlQzVndRaXhKUVVGTk4ycENMRXRCUVVzMmFrSXNTVUZGYkVKMmNFSXNSVUZCVDNOd1F5eFZRVUZaTEZOQlFWVXZjVU1zUjBGTE5VSXNTVUZCU1Vzc1JVRkJUMjlDTEVWQlFVOXdRaXhMUVVGTlRDeEhRVU40UWl4UFFVRnJRaXhYUVVGVVN5eEhRVUU0UWl4WFFVRlVRU3hMUVVzMVFqSnhReXhOUVVGUGFISkRMRVZCUVUwMGVFSXNWMEZCV1RWNFFpeExRVWMxUW5sQ0xFVkJRVTkzY0VNc1MwRkJUeXhUUVVGVmFIRkRMRWRCUTNaQ0xFOUJRV1VzVFVGQlVrRXNSVUZEVGl4SlFVTkZRU3hGUVVGUExFbEJRVXN3UkN4UlFVRlRPRVFzUjBGQlR5eExRV3RDVkN4dFFrRkJXSGxwUXl4UlFVRjVRa0VzVDBGQlQwTXNTMEZETTBORUxFOUJRVkVzVTBGQlZTeEhRVUZKTEZkQlEzSkNMRTlCUVU5NmNFTXNTVUZQVkN4SlFVZERNbkJETEVkQlFWVXpjME1zUlVGQlQyZEVMRTlCUjJwQ05IQkRMRWRCUVVzMWMwTXNSVUZCVHpaelF5eEZRWGRDWWl4UFFYUkNRVGR3UXl4RlFVRlBPSEJETEZkQlFXRXNVMEZCVlhCdVF5eEhRVk0zUWl4UFFWSkxNVVlzUlVGQlR6WnpReXhKUVVGTk4zQkRMRWxCUTJwQ2FFUXNSVUZCVHpaelF5eEZRVUZKUkN4SlFVZFFiRzVETEVkQlFWRXhSaXhGUVVGUFowUXNVMEZCVjBFc1NVRkRPVUpvUkN4RlFVRlBaMFFzVDBGQlV6SndReXhKUVVkV00zQkRMRkZCVFdsQ0xFbEJRV0k1UXl4SlFVTllSaXhGUVVGUFowUXNUMEZCVTJoRUxFVkJRVTgyYzBNc1JVRkJTVGR3UXl4SFFVMXlRa0VpTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmJXRnpkR1Z5TDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwycHhkV1Z5ZVM5a2FYTjBMMnB4ZFdWeWVTNXFjeUo5IiwidmFyIGNhY2hlZFNldFRpbWVvdXQsY2FjaGVkQ2xlYXJUaW1lb3V0LHByb2Nlc3M9bW9kdWxlLmV4cG9ydHM9e307ZnVuY3Rpb24gZGVmYXVsdFNldFRpbW91dCgpe3Rocm93IG5ldyBFcnJvcihcInNldFRpbWVvdXQgaGFzIG5vdCBiZWVuIGRlZmluZWRcIil9ZnVuY3Rpb24gZGVmYXVsdENsZWFyVGltZW91dCgpe3Rocm93IG5ldyBFcnJvcihcImNsZWFyVGltZW91dCBoYXMgbm90IGJlZW4gZGVmaW5lZFwiKX1mdW5jdGlvbiBydW5UaW1lb3V0KGUpe2lmKGNhY2hlZFNldFRpbWVvdXQ9PT1zZXRUaW1lb3V0KXJldHVybiBzZXRUaW1lb3V0KGUsMCk7aWYoKGNhY2hlZFNldFRpbWVvdXQ9PT1kZWZhdWx0U2V0VGltb3V0fHwhY2FjaGVkU2V0VGltZW91dCkmJnNldFRpbWVvdXQpcmV0dXJuIGNhY2hlZFNldFRpbWVvdXQ9c2V0VGltZW91dCxzZXRUaW1lb3V0KGUsMCk7dHJ5e3JldHVybiBjYWNoZWRTZXRUaW1lb3V0KGUsMCl9Y2F0Y2godCl7dHJ5e3JldHVybiBjYWNoZWRTZXRUaW1lb3V0LmNhbGwobnVsbCxlLDApfWNhdGNoKHQpe3JldHVybiBjYWNoZWRTZXRUaW1lb3V0LmNhbGwodGhpcyxlLDApfX19ZnVuY3Rpb24gcnVuQ2xlYXJUaW1lb3V0KGUpe2lmKGNhY2hlZENsZWFyVGltZW91dD09PWNsZWFyVGltZW91dClyZXR1cm4gY2xlYXJUaW1lb3V0KGUpO2lmKChjYWNoZWRDbGVhclRpbWVvdXQ9PT1kZWZhdWx0Q2xlYXJUaW1lb3V0fHwhY2FjaGVkQ2xlYXJUaW1lb3V0KSYmY2xlYXJUaW1lb3V0KXJldHVybiBjYWNoZWRDbGVhclRpbWVvdXQ9Y2xlYXJUaW1lb3V0LGNsZWFyVGltZW91dChlKTt0cnl7cmV0dXJuIGNhY2hlZENsZWFyVGltZW91dChlKX1jYXRjaCh0KXt0cnl7cmV0dXJuIGNhY2hlZENsZWFyVGltZW91dC5jYWxsKG51bGwsZSl9Y2F0Y2godCl7cmV0dXJuIGNhY2hlZENsZWFyVGltZW91dC5jYWxsKHRoaXMsZSl9fX0hZnVuY3Rpb24oKXt0cnl7Y2FjaGVkU2V0VGltZW91dD1cImZ1bmN0aW9uXCI9PXR5cGVvZiBzZXRUaW1lb3V0P3NldFRpbWVvdXQ6ZGVmYXVsdFNldFRpbW91dH1jYXRjaChlKXtjYWNoZWRTZXRUaW1lb3V0PWRlZmF1bHRTZXRUaW1vdXR9dHJ5e2NhY2hlZENsZWFyVGltZW91dD1cImZ1bmN0aW9uXCI9PXR5cGVvZiBjbGVhclRpbWVvdXQ/Y2xlYXJUaW1lb3V0OmRlZmF1bHRDbGVhclRpbWVvdXR9Y2F0Y2goZSl7Y2FjaGVkQ2xlYXJUaW1lb3V0PWRlZmF1bHRDbGVhclRpbWVvdXR9fSgpO3ZhciBjdXJyZW50UXVldWUscXVldWU9W10sZHJhaW5pbmc9ITEscXVldWVJbmRleD0tMTtmdW5jdGlvbiBjbGVhblVwTmV4dFRpY2soKXtkcmFpbmluZyYmY3VycmVudFF1ZXVlJiYoZHJhaW5pbmc9ITEsY3VycmVudFF1ZXVlLmxlbmd0aD9xdWV1ZT1jdXJyZW50UXVldWUuY29uY2F0KHF1ZXVlKTpxdWV1ZUluZGV4PS0xLHF1ZXVlLmxlbmd0aCYmZHJhaW5RdWV1ZSgpKX1mdW5jdGlvbiBkcmFpblF1ZXVlKCl7aWYoIWRyYWluaW5nKXt2YXIgZT1ydW5UaW1lb3V0KGNsZWFuVXBOZXh0VGljayk7ZHJhaW5pbmc9ITA7Zm9yKHZhciB0PXF1ZXVlLmxlbmd0aDt0Oyl7Zm9yKGN1cnJlbnRRdWV1ZT1xdWV1ZSxxdWV1ZT1bXTsrK3F1ZXVlSW5kZXg8dDspY3VycmVudFF1ZXVlJiZjdXJyZW50UXVldWVbcXVldWVJbmRleF0ucnVuKCk7cXVldWVJbmRleD0tMSx0PXF1ZXVlLmxlbmd0aH1jdXJyZW50UXVldWU9bnVsbCxkcmFpbmluZz0hMSxydW5DbGVhclRpbWVvdXQoZSl9fWZ1bmN0aW9uIEl0ZW0oZSx0KXt0aGlzLmZ1bj1lLHRoaXMuYXJyYXk9dH1mdW5jdGlvbiBub29wKCl7fXByb2Nlc3MubmV4dFRpY2s9ZnVuY3Rpb24oZSl7dmFyIHQ9bmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGgtMSk7aWYoYXJndW1lbnRzLmxlbmd0aD4xKWZvcih2YXIgcj0xO3I8YXJndW1lbnRzLmxlbmd0aDtyKyspdFtyLTFdPWFyZ3VtZW50c1tyXTtxdWV1ZS5wdXNoKG5ldyBJdGVtKGUsdCkpLDEhPT1xdWV1ZS5sZW5ndGh8fGRyYWluaW5nfHxydW5UaW1lb3V0KGRyYWluUXVldWUpfSxJdGVtLnByb3RvdHlwZS5ydW49ZnVuY3Rpb24oKXt0aGlzLmZ1bi5hcHBseShudWxsLHRoaXMuYXJyYXkpfSxwcm9jZXNzLnRpdGxlPVwiYnJvd3NlclwiLHByb2Nlc3MuYnJvd3Nlcj0hMCxwcm9jZXNzLmVudj17fSxwcm9jZXNzLmFyZ3Y9W10scHJvY2Vzcy52ZXJzaW9uPVwiXCIscHJvY2Vzcy52ZXJzaW9ucz17fSxwcm9jZXNzLm9uPW5vb3AscHJvY2Vzcy5hZGRMaXN0ZW5lcj1ub29wLHByb2Nlc3Mub25jZT1ub29wLHByb2Nlc3Mub2ZmPW5vb3AscHJvY2Vzcy5yZW1vdmVMaXN0ZW5lcj1ub29wLHByb2Nlc3MucmVtb3ZlQWxsTGlzdGVuZXJzPW5vb3AscHJvY2Vzcy5lbWl0PW5vb3AscHJvY2Vzcy5wcmVwZW5kTGlzdGVuZXI9bm9vcCxwcm9jZXNzLnByZXBlbmRPbmNlTGlzdGVuZXI9bm9vcCxwcm9jZXNzLmxpc3RlbmVycz1mdW5jdGlvbihlKXtyZXR1cm5bXX0scHJvY2Vzcy5iaW5kaW5nPWZ1bmN0aW9uKGUpe3Rocm93IG5ldyBFcnJvcihcInByb2Nlc3MuYmluZGluZyBpcyBub3Qgc3VwcG9ydGVkXCIpfSxwcm9jZXNzLmN3ZD1mdW5jdGlvbigpe3JldHVyblwiL1wifSxwcm9jZXNzLmNoZGlyPWZ1bmN0aW9uKGUpe3Rocm93IG5ldyBFcnJvcihcInByb2Nlc3MuY2hkaXIgaXMgbm90IHN1cHBvcnRlZFwiKX0scHJvY2Vzcy51bWFzaz1mdW5jdGlvbigpe3JldHVybiAwfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltSnliM2R6WlhJdWFuTWlYU3dpYm1GdFpYTWlPbHNpWTJGamFHVmtVMlYwVkdsdFpXOTFkQ0lzSW1OaFkyaGxaRU5zWldGeVZHbHRaVzkxZENJc0luQnliMk5sYzNNaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2laR1ZtWVhWc2RGTmxkRlJwYlc5MWRDSXNJa1Z5Y205eUlpd2laR1ZtWVhWc2RFTnNaV0Z5VkdsdFpXOTFkQ0lzSW5KMWJsUnBiV1Z2ZFhRaUxDSm1kVzRpTENKelpYUlVhVzFsYjNWMElpd2laU0lzSW1OaGJHd2lMQ0owYUdseklpd2ljblZ1UTJ4bFlYSlVhVzFsYjNWMElpd2liV0Z5YTJWeUlpd2lZMnhsWVhKVWFXMWxiM1YwSWl3aVkzVnljbVZ1ZEZGMVpYVmxJaXdpY1hWbGRXVWlMQ0prY21GcGJtbHVaeUlzSW5GMVpYVmxTVzVrWlhnaUxDSmpiR1ZoYmxWd1RtVjRkRlJwWTJzaUxDSnNaVzVuZEdnaUxDSmpiMjVqWVhRaUxDSmtjbUZwYmxGMVpYVmxJaXdpZEdsdFpXOTFkQ0lzSW14bGJpSXNJbkoxYmlJc0lrbDBaVzBpTENKaGNuSmhlU0lzSW01dmIzQWlMQ0p1WlhoMFZHbGpheUlzSW1GeVozTWlMQ0pCY25KaGVTSXNJbUZ5WjNWdFpXNTBjeUlzSW1raUxDSndkWE5vSWl3aWNISnZkRzkwZVhCbElpd2lZWEJ3YkhraUxDSjBhWFJzWlNJc0ltSnliM2R6WlhJaUxDSmxibllpTENKaGNtZDJJaXdpZG1WeWMybHZiaUlzSW5abGNuTnBiMjV6SWl3aWIyNGlMQ0poWkdSTWFYTjBaVzVsY2lJc0ltOXVZMlVpTENKdlptWWlMQ0p5WlcxdmRtVk1hWE4wWlc1bGNpSXNJbkpsYlc5MlpVRnNiRXhwYzNSbGJtVnljeUlzSW1WdGFYUWlMQ0p3Y21Wd1pXNWtUR2x6ZEdWdVpYSWlMQ0p3Y21Wd1pXNWtUMjVqWlV4cGMzUmxibVZ5SWl3aWJHbHpkR1Z1WlhKeklpd2libUZ0WlNJc0ltSnBibVJwYm1jaUxDSmpkMlFpTENKamFHUnBjaUlzSW1ScGNpSXNJblZ0WVhOcklsMHNJbTFoY0hCcGJtZHpJam9pUVVGRFFTeEpRVTlKUVN4cFFrRkRRVU1zYlVKQlVrRkRMRkZCUVZWRExFOUJRVTlETEZGQlFWVXNSMEZWTDBJc1UwRkJVME1zYlVKQlEwd3NUVUZCVFN4SlFVRkpReXhOUVVGTkxHMURRVVZ3UWl4VFFVRlRReXh6UWtGRFRDeE5RVUZOTEVsQlFVbEVMRTFCUVUwc2NVTkJjMEp3UWl4VFFVRlRSU3hYUVVGWFF5eEhRVU5vUWl4SFFVRkpWQ3h0UWtGQmNVSlZMRmRCUlhKQ0xFOUJRVTlCTEZkQlFWZEVMRVZCUVVzc1IwRkhNMElzU1VGQlMxUXNiVUpCUVhGQ1N5eHRRa0ZCY1VKTUxHMUNRVUZ4UWxVc1YwRkZhRVVzVDBGRVFWWXNhVUpCUVcxQ1ZTeFhRVU5hUVN4WFFVRlhSQ3hGUVVGTExFZEJSVE5DTEVsQlJVa3NUMEZCVDFRc2FVSkJRV2xDVXl4RlFVRkxMRWRCUXk5Q0xFMUJRVTFGTEVkQlEwb3NTVUZGU1N4UFFVRlBXQ3hwUWtGQmFVSlpMRXRCUVVzc1MwRkJUVWdzUlVGQlN5eEhRVU14UXl4TlFVRk5SU3hIUVVWS0xFOUJRVTlZTEdsQ1FVRnBRbGtzUzBGQlMwTXNTMEZCVFVvc1JVRkJTeXhMUVUxd1JDeFRRVUZUU3l4blFrRkJaMEpETEVkQlEzSkNMRWRCUVVsa0xIRkNRVUYxUW1Vc1lVRkZka0lzVDBGQlQwRXNZVUZCWVVRc1IwRkhlRUlzU1VGQlMyUXNjVUpCUVhWQ1RTeHpRa0ZCZDBKT0xIRkNRVUYxUW1Vc1lVRkZka1VzVDBGRVFXWXNiVUpCUVhGQ1pTeGhRVU5rUVN4aFFVRmhSQ3hIUVVWNFFpeEpRVVZKTEU5QlFVOWtMRzFDUVVGdFFtTXNSMEZETlVJc1RVRkJUMG9zUjBGRFRDeEpRVVZKTEU5QlFVOVdMRzFDUVVGdFFsY3NTMEZCU3l4TFFVRk5SeXhIUVVOMlF5eE5RVUZQU2l4SFFVZE1MRTlCUVU5V0xHMUNRVUZ0UWxjc1MwRkJTME1zUzBGQlRVVXNUVUZxUldoRUxGZEJRMGNzU1VGRlVXWXNhVUpCUkhOQ0xHMUNRVUZtVlN4WFFVTlpRU3hYUVVWQlRDeHBRa0ZGZWtJc1RVRkJUMDBzUjBGRFRGZ3NhVUpCUVcxQ1N5eHBRa0ZGZGtJc1NVRkZVVW9zYlVKQlJIZENMRzFDUVVGcVFtVXNZVUZEWTBFc1lVRkZRVlFzYjBKQlJUTkNMRTFCUVU5SkxFZEJRMHhXTEcxQ1FVRnhRazBzY1VKQmFrSTNRaXhIUVhkRlFTeEpRVVZKVlN4aFFVWkJReXhOUVVGUkxFZEJRMUpETEZWQlFWY3NSVUZGV0VNc1dVRkJZeXhGUVVWc1FpeFRRVUZUUXl4clFrRkRRVVlzVlVGQllVWXNaVUZIYkVKRkxGVkJRVmNzUlVGRFVFWXNZVUZCWVVzc1QwRkRZa29zVFVGQlVVUXNZVUZCWVUwc1QwRkJUMHdzVDBGRk5VSkZMRmxCUVdNc1JVRkZaRVlzVFVGQlRVa3NVVUZEVGtVc1kwRkpVaXhUUVVGVFFTeGhRVU5NTEVsQlFVbE1MRk5CUVVvc1EwRkhRU3hKUVVGSlRTeEZRVUZWYWtJc1YwRkJWMkVzYVVKQlEzcENSaXhWUVVGWExFVkJSMWdzU1VGRVFTeEpRVUZKVHl4RlFVRk5VaXhOUVVGTlNTeFBRVU5XU1N4SFFVRkxMRU5CUjFBc1NVRkdRVlFzWVVGQlpVTXNUVUZEWmtFc1RVRkJVU3hMUVVORFJTeFhRVUZoVFN4SFFVTmtWQ3hqUVVOQlFTeGhRVUZoUnl4WlFVRlpUeXhOUVVkcVExQXNXVUZCWXl4RlFVTmtUU3hGUVVGTlVpeE5RVUZOU1N4UFFVVm9Ra3dzWVVGQlpTeExRVU5tUlN4VlFVRlhMRVZCUTFoTUxHZENRVUZuUWxjc1NVRnBRbkJDTEZOQlFWTkhMRXRCUVV0dVFpeEZRVUZMYjBJc1IwRkRabWhDTEV0QlFVdEtMRWxCUVUxQkxFVkJRMWhKTEV0QlFVdG5RaXhOUVVGUlFTeEZRVmxxUWl4VFFVRlRReXhSUVRWQ1ZEVkNMRkZCUVZFMlFpeFRRVUZYTEZOQlFWVjBRaXhIUVVONlFpeEpRVUZKZFVJc1JVRkJUeXhKUVVGSlF5eE5RVUZOUXl4VlFVRlZXaXhQUVVGVExFZEJRM2hETEVkQlFVbFpMRlZCUVZWYUxFOUJRVk1zUlVGRGJrSXNTVUZCU3l4SlFVRkpZU3hGUVVGSkxFVkJRVWRCTEVWQlFVbEVMRlZCUVZWYUxFOUJRVkZoTEVsQlEyeERTQ3hGUVVGTFJ5eEZRVUZKTEVkQlFVdEVMRlZCUVZWRExFZEJSMmhEYWtJc1RVRkJUV3RDTEV0QlFVc3NTVUZCU1ZJc1MwRkJTMjVDTEVWQlFVdDFRaXhKUVVOS0xFbEJRV3BDWkN4TlFVRk5TU3hSUVVGcFFrZ3NWVUZEZGtKWUxGZEJRVmRuUWl4aFFWTnVRa2tzUzBGQlMxTXNWVUZCVlZZc1NVRkJUU3hYUVVOcVFtUXNTMEZCUzBvc1NVRkJTVFpDTEUxQlFVMHNTMEZCVFhwQ0xFdEJRVXRuUWl4UlFVVTVRak5DTEZGQlFWRnhReXhOUVVGUkxGVkJRMmhDY2tNc1VVRkJVWE5ETEZOQlFWVXNSVUZEYkVKMFF5eFJRVUZSZFVNc1NVRkJUU3hIUVVOa2RrTXNVVUZCVVhkRExFdEJRVThzUjBGRFpuaERMRkZCUVZGNVF5eFJRVUZWTEVkQlEyeENla01zVVVGQlVUQkRMRk5CUVZjc1IwRkpia0l4UXl4UlFVRlJNa01zUjBGQlMyWXNTMEZEWWpWQ0xGRkJRVkUwUXl4WlFVRmphRUlzUzBGRGRFSTFRaXhSUVVGUk5rTXNTMEZCVDJwQ0xFdEJRMlkxUWl4UlFVRlJPRU1zU1VGQlRXeENMRXRCUTJRMVFpeFJRVUZSSzBNc1pVRkJhVUp1UWl4TFFVTjZRalZDTEZGQlFWRm5SQ3h0UWtGQmNVSndRaXhMUVVNM1FqVkNMRkZCUVZGcFJDeExRVUZQY2tJc1MwRkRaalZDTEZGQlFWRnJSQ3huUWtGQmEwSjBRaXhMUVVNeFFqVkNMRkZCUVZGdFJDeHZRa0ZCYzBKMlFpeExRVVU1UWpWQ0xGRkJRVkZ2UkN4VlFVRlpMRk5CUVZWRExFZEJRVkVzVFVGQlR5eEpRVVUzUTNKRUxGRkJRVkZ6UkN4UlFVRlZMRk5CUVZWRUxFZEJRM2hDTEUxQlFVMHNTVUZCU1dwRUxFMUJRVTBzY1VOQlIzQkNTaXhSUVVGUmRVUXNTVUZCVFN4WFFVRmpMRTFCUVU4c1MwRkRia04yUkN4UlFVRlJkMFFzVFVGQlVTeFRRVUZWUXl4SFFVTjBRaXhOUVVGTkxFbEJRVWx5UkN4TlFVRk5MRzFEUVVWd1Frb3NVVUZCVVRCRUxFMUJRVkVzVjBGQllTeFBRVUZQSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwyMWhjM1JsY2k5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OXdjbTlqWlhOekwySnliM2R6WlhJdWFuTWlmUT09IiwidmFyIGJ1ZmZlcj1yZXF1aXJlKFwiYnVmZmVyXCIpLEJ1ZmZlcj1idWZmZXIuQnVmZmVyO2Z1bmN0aW9uIGNvcHlQcm9wcyhmLGUpe2Zvcih2YXIgciBpbiBmKWVbcl09ZltyXX1mdW5jdGlvbiBTYWZlQnVmZmVyKGYsZSxyKXtyZXR1cm4gQnVmZmVyKGYsZSxyKX1CdWZmZXIuZnJvbSYmQnVmZmVyLmFsbG9jJiZCdWZmZXIuYWxsb2NVbnNhZmUmJkJ1ZmZlci5hbGxvY1Vuc2FmZVNsb3c/bW9kdWxlLmV4cG9ydHM9YnVmZmVyOihjb3B5UHJvcHMoYnVmZmVyLGV4cG9ydHMpLGV4cG9ydHMuQnVmZmVyPVNhZmVCdWZmZXIpLFNhZmVCdWZmZXIucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoQnVmZmVyLnByb3RvdHlwZSksY29weVByb3BzKEJ1ZmZlcixTYWZlQnVmZmVyKSxTYWZlQnVmZmVyLmZyb209ZnVuY3Rpb24oZixlLHIpe2lmKFwibnVtYmVyXCI9PXR5cGVvZiBmKXRocm93IG5ldyBUeXBlRXJyb3IoXCJBcmd1bWVudCBtdXN0IG5vdCBiZSBhIG51bWJlclwiKTtyZXR1cm4gQnVmZmVyKGYsZSxyKX0sU2FmZUJ1ZmZlci5hbGxvYz1mdW5jdGlvbihmLGUscil7aWYoXCJudW1iZXJcIiE9dHlwZW9mIGYpdGhyb3cgbmV3IFR5cGVFcnJvcihcIkFyZ3VtZW50IG11c3QgYmUgYSBudW1iZXJcIik7dmFyIHU9QnVmZmVyKGYpO3JldHVybiB2b2lkIDAhPT1lP1wic3RyaW5nXCI9PXR5cGVvZiByP3UuZmlsbChlLHIpOnUuZmlsbChlKTp1LmZpbGwoMCksdX0sU2FmZUJ1ZmZlci5hbGxvY1Vuc2FmZT1mdW5jdGlvbihmKXtpZihcIm51bWJlclwiIT10eXBlb2YgZil0aHJvdyBuZXcgVHlwZUVycm9yKFwiQXJndW1lbnQgbXVzdCBiZSBhIG51bWJlclwiKTtyZXR1cm4gQnVmZmVyKGYpfSxTYWZlQnVmZmVyLmFsbG9jVW5zYWZlU2xvdz1mdW5jdGlvbihmKXtpZihcIm51bWJlclwiIT10eXBlb2YgZil0aHJvdyBuZXcgVHlwZUVycm9yKFwiQXJndW1lbnQgbXVzdCBiZSBhIG51bWJlclwiKTtyZXR1cm4gYnVmZmVyLlNsb3dCdWZmZXIoZil9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1sdVpHVjRMbXB6SWwwc0ltNWhiV1Z6SWpwYkltSjFabVpsY2lJc0luSmxjWFZwY21VaUxDSkNkV1ptWlhJaUxDSmpiM0I1VUhKdmNITWlMQ0p6Y21NaUxDSmtjM1FpTENKclpYa2lMQ0pUWVdabFFuVm1abVZ5SWl3aVlYSm5JaXdpWlc1amIyUnBibWRQY2s5bVpuTmxkQ0lzSW14bGJtZDBhQ0lzSW1aeWIyMGlMQ0poYkd4dll5SXNJbUZzYkc5alZXNXpZV1psSWl3aVlXeHNiMk5WYm5OaFptVlRiRzkzSWl3aWJXOWtkV3hsSWl3aVpYaHdiM0owY3lJc0luQnliM1J2ZEhsd1pTSXNJazlpYW1WamRDSXNJbU55WldGMFpTSXNJbFI1Y0dWRmNuSnZjaUlzSW5OcGVtVWlMQ0ptYVd4c0lpd2laVzVqYjJScGJtY2lMQ0ppZFdZaUxDSjFibVJsWm1sdVpXUWlMQ0pUYkc5M1FuVm1abVZ5SWwwc0ltMWhjSEJwYm1keklqb2lRVUZGUVN4SlFVRkpRU3hQUVVGVFF5eFJRVUZSTEZWQlEycENReXhQUVVGVFJpeFBRVUZQUlN4UFFVZHdRaXhUUVVGVFF5eFZRVUZYUXl4RlFVRkxReXhIUVVOMlFpeEpRVUZMTEVsQlFVbERMRXRCUVU5R0xFVkJRMlJETEVWQlFVbERMRWRCUVU5R0xFVkJRVWxGTEVkQlYyNUNMRk5CUVZORExGZEJRVmxETEVWQlFVdERMRVZCUVd0Q1F5eEhRVU14UXl4UFFVRlBVaXhQUVVGUFRTeEZRVUZMUXl4RlFVRnJRa01zUjBGVWJrTlNMRTlCUVU5VExFMUJRVkZVTEU5QlFVOVZMRTlCUVZOV0xFOUJRVTlYTEdGQlFXVllMRTlCUVU5WkxHZENRVU01UkVNc1QwRkJUME1zVVVGQlZXaENMRkZCUjJwQ1J5eFZRVUZWU0N4UFFVRlJaMElzVTBGRGJFSkJMRkZCUVZGa0xFOUJRVk5MTEZsQlQyNUNRU3hYUVVGWFZTeFZRVUZaUXl4UFFVRlBReXhQUVVGUGFrSXNUMEZCVDJVc1YwRkhOVU5rTEZWQlFWVkVMRTlCUVZGTExGbEJSV3hDUVN4WFFVRlhTU3hMUVVGUExGTkJRVlZJTEVWQlFVdERMRVZCUVd0Q1F5eEhRVU5xUkN4SFFVRnRRaXhwUWtGQlVrWXNSVUZEVkN4TlFVRk5MRWxCUVVsWkxGVkJRVlVzYVVOQlJYUkNMRTlCUVU5c1FpeFBRVUZQVFN4RlFVRkxReXhGUVVGclFrTXNTVUZIZGtOSUxGZEJRVmRMTEUxQlFWRXNVMEZCVlZNc1JVRkJUVU1zUlVGQlRVTXNSMEZEZGtNc1IwRkJiMElzYVVKQlFWUkdMRVZCUTFRc1RVRkJUU3hKUVVGSlJDeFZRVUZWTERaQ1FVVjBRaXhKUVVGSlNTeEZRVUZOZEVJc1QwRkJUMjFDTEVkQlZXcENMRmxCVkdGSkxFbEJRVlJJTEVWQlEzTkNMR2xDUVVGaVF5eEZRVU5VUXl4RlFVRkpSaXhMUVVGTFFTeEZRVUZOUXl4SFFVVm1ReXhGUVVGSlJpeExRVUZMUVN4SFFVZFlSU3hGUVVGSlJpeExRVUZMTEVkQlJVcEZMRWRCUjFScVFpeFhRVUZYVFN4WlFVRmpMRk5CUVZWUkxFZEJRMnBETEVkQlFXOUNMR2xDUVVGVVFTeEZRVU5VTEUxQlFVMHNTVUZCU1VRc1ZVRkJWU3cyUWtGRmRFSXNUMEZCVDJ4Q0xFOUJRVTl0UWl4SlFVZG9RbVFzVjBGQlYwOHNaMEpCUVd0Q0xGTkJRVlZQTEVkQlEzSkRMRWRCUVc5Q0xHbENRVUZVUVN4RlFVTlVMRTFCUVUwc1NVRkJTVVFzVlVGQlZTdzJRa0ZGZEVJc1QwRkJUM0JDTEU5QlFVOHdRaXhYUVVGWFRDSXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl0WVhOMFpYSXZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12YzJGbVpTMWlkV1ptWlhJdmFXNWtaWGd1YW5NaWZRPT0iLCIhZnVuY3Rpb24odCl7dC5wYXJzZXI9ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IHModCxlKX0sdC5TQVhQYXJzZXI9cyx0LlNBWFN0cmVhbT1uLHQuY3JlYXRlU3RyZWFtPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG5ldyBuKHQsZSl9LHQuTUFYX0JVRkZFUl9MRU5HVEg9NjU1MzY7dmFyIGUsaT1bXCJjb21tZW50XCIsXCJzZ21sRGVjbFwiLFwidGV4dE5vZGVcIixcInRhZ05hbWVcIixcImRvY3R5cGVcIixcInByb2NJbnN0TmFtZVwiLFwicHJvY0luc3RCb2R5XCIsXCJlbnRpdHlcIixcImF0dHJpYk5hbWVcIixcImF0dHJpYlZhbHVlXCIsXCJjZGF0YVwiLFwic2NyaXB0XCJdO2Z1bmN0aW9uIHMoZSxhKXtpZighKHRoaXMgaW5zdGFuY2VvZiBzKSlyZXR1cm4gbmV3IHMoZSxhKTshZnVuY3Rpb24odCl7Zm9yKHZhciBlPTAscz1pLmxlbmd0aDtlPHM7ZSsrKXRbaVtlXV09XCJcIn0odGhpcyksdGhpcy5xPXRoaXMuYz1cIlwiLHRoaXMuYnVmZmVyQ2hlY2tQb3NpdGlvbj10Lk1BWF9CVUZGRVJfTEVOR1RILHRoaXMub3B0PWF8fHt9LHRoaXMub3B0Lmxvd2VyY2FzZT10aGlzLm9wdC5sb3dlcmNhc2V8fHRoaXMub3B0Lmxvd2VyY2FzZXRhZ3MsdGhpcy5sb29zZUNhc2U9dGhpcy5vcHQubG93ZXJjYXNlP1widG9Mb3dlckNhc2VcIjpcInRvVXBwZXJDYXNlXCIsdGhpcy50YWdzPVtdLHRoaXMuY2xvc2VkPXRoaXMuY2xvc2VkUm9vdD10aGlzLnNhd1Jvb3Q9ITEsdGhpcy50YWc9dGhpcy5lcnJvcj1udWxsLHRoaXMuc3RyaWN0PSEhZSx0aGlzLm5vc2NyaXB0PSEoIWUmJiF0aGlzLm9wdC5ub3NjcmlwdCksdGhpcy5zdGF0ZT1ELkJFR0lOLHRoaXMuc3RyaWN0RW50aXRpZXM9dGhpcy5vcHQuc3RyaWN0RW50aXRpZXMsdGhpcy5FTlRJVElFUz10aGlzLnN0cmljdEVudGl0aWVzP09iamVjdC5jcmVhdGUodC5YTUxfRU5USVRJRVMpOk9iamVjdC5jcmVhdGUodC5FTlRJVElFUyksdGhpcy5hdHRyaWJMaXN0PVtdLHRoaXMub3B0LnhtbG5zJiYodGhpcy5ucz1PYmplY3QuY3JlYXRlKGgpKSx0aGlzLnRyYWNrUG9zaXRpb249ITEhPT10aGlzLm9wdC5wb3NpdGlvbix0aGlzLnRyYWNrUG9zaXRpb24mJih0aGlzLnBvc2l0aW9uPXRoaXMubGluZT10aGlzLmNvbHVtbj0wKSxDKHRoaXMsXCJvbnJlYWR5XCIpfXQuRVZFTlRTPVtcInRleHRcIixcInByb2Nlc3NpbmdpbnN0cnVjdGlvblwiLFwic2dtbGRlY2xhcmF0aW9uXCIsXCJkb2N0eXBlXCIsXCJjb21tZW50XCIsXCJvcGVudGFnc3RhcnRcIixcImF0dHJpYnV0ZVwiLFwib3BlbnRhZ1wiLFwiY2xvc2V0YWdcIixcIm9wZW5jZGF0YVwiLFwiY2RhdGFcIixcImNsb3NlY2RhdGFcIixcImVycm9yXCIsXCJlbmRcIixcInJlYWR5XCIsXCJzY3JpcHRcIixcIm9wZW5uYW1lc3BhY2VcIixcImNsb3NlbmFtZXNwYWNlXCJdLE9iamVjdC5jcmVhdGV8fChPYmplY3QuY3JlYXRlPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt9cmV0dXJuIGUucHJvdG90eXBlPXQsbmV3IGV9KSxPYmplY3Qua2V5c3x8KE9iamVjdC5rZXlzPWZ1bmN0aW9uKHQpe3ZhciBlPVtdO2Zvcih2YXIgaSBpbiB0KXQuaGFzT3duUHJvcGVydHkoaSkmJmUucHVzaChpKTtyZXR1cm4gZX0pLHMucHJvdG90eXBlPXtlbmQ6ZnVuY3Rpb24oKXt2KHRoaXMpfSx3cml0ZTpmdW5jdGlvbihlKXtpZih0aGlzLmVycm9yKXRocm93IHRoaXMuZXJyb3I7aWYodGhpcy5jbG9zZWQpcmV0dXJuIFIodGhpcyxcIkNhbm5vdCB3cml0ZSBhZnRlciBjbG9zZS4gQXNzaWduIGFuIG9ucmVhZHkgaGFuZGxlci5cIik7aWYobnVsbD09PWUpcmV0dXJuIHYodGhpcyk7XCJvYmplY3RcIj09dHlwZW9mIGUmJihlPWUudG9TdHJpbmcoKSk7dmFyIHM9MCxhPVwiXCI7Zm9yKDthPU0oZSxzKyspLHRoaXMuYz1hLGE7KXN3aXRjaCh0aGlzLnRyYWNrUG9zaXRpb24mJih0aGlzLnBvc2l0aW9uKyssXCJcXG5cIj09PWE/KHRoaXMubGluZSsrLHRoaXMuY29sdW1uPTApOnRoaXMuY29sdW1uKyspLHRoaXMuc3RhdGUpe2Nhc2UgRC5CRUdJTjppZih0aGlzLnN0YXRlPUQuQkVHSU5fV0hJVEVTUEFDRSxcIlxcdWZlZmZcIj09PWEpY29udGludWU7Ryh0aGlzLGEpO2NvbnRpbnVlO2Nhc2UgRC5CRUdJTl9XSElURVNQQUNFOkcodGhpcyxhKTtjb250aW51ZTtjYXNlIEQuVEVYVDppZih0aGlzLnNhd1Jvb3QmJiF0aGlzLmNsb3NlZFJvb3Qpe2Zvcih2YXIgbj1zLTE7YSYmXCI8XCIhPT1hJiZcIiZcIiE9PWE7KShhPU0oZSxzKyspKSYmdGhpcy50cmFja1Bvc2l0aW9uJiYodGhpcy5wb3NpdGlvbisrLFwiXFxuXCI9PT1hPyh0aGlzLmxpbmUrKyx0aGlzLmNvbHVtbj0wKTp0aGlzLmNvbHVtbisrKTt0aGlzLnRleHROb2RlKz1lLnN1YnN0cmluZyhuLHMtMSl9XCI8XCIhPT1hfHx0aGlzLnNhd1Jvb3QmJnRoaXMuY2xvc2VkUm9vdCYmIXRoaXMuc3RyaWN0PyhtKGEpfHx0aGlzLnNhd1Jvb3QmJiF0aGlzLmNsb3NlZFJvb3R8fFAodGhpcyxcIlRleHQgZGF0YSBvdXRzaWRlIG9mIHJvb3Qgbm9kZS5cIiksXCImXCI9PT1hP3RoaXMuc3RhdGU9RC5URVhUX0VOVElUWTp0aGlzLnRleHROb2RlKz1hKToodGhpcy5zdGF0ZT1ELk9QRU5fV0FLQSx0aGlzLnN0YXJ0VGFnUG9zaXRpb249dGhpcy5wb3NpdGlvbik7Y29udGludWU7Y2FzZSBELlNDUklQVDpcIjxcIj09PWE/dGhpcy5zdGF0ZT1ELlNDUklQVF9FTkRJTkc6dGhpcy5zY3JpcHQrPWE7Y29udGludWU7Y2FzZSBELlNDUklQVF9FTkRJTkc6XCIvXCI9PT1hP3RoaXMuc3RhdGU9RC5DTE9TRV9UQUc6KHRoaXMuc2NyaXB0Kz1cIjxcIithLHRoaXMuc3RhdGU9RC5TQ1JJUFQpO2NvbnRpbnVlO2Nhc2UgRC5PUEVOX1dBS0E6aWYoXCIhXCI9PT1hKXRoaXMuc3RhdGU9RC5TR01MX0RFQ0wsdGhpcy5zZ21sRGVjbD1cIlwiO2Vsc2UgaWYobShhKSk7ZWxzZSBpZihfKGwsYSkpdGhpcy5zdGF0ZT1ELk9QRU5fVEFHLHRoaXMudGFnTmFtZT1hO2Vsc2UgaWYoXCIvXCI9PT1hKXRoaXMuc3RhdGU9RC5DTE9TRV9UQUcsdGhpcy50YWdOYW1lPVwiXCI7ZWxzZSBpZihcIj9cIj09PWEpdGhpcy5zdGF0ZT1ELlBST0NfSU5TVCx0aGlzLnByb2NJbnN0TmFtZT10aGlzLnByb2NJbnN0Qm9keT1cIlwiO2Vsc2V7aWYoUCh0aGlzLFwiVW5lbmNvZGVkIDxcIiksdGhpcy5zdGFydFRhZ1Bvc2l0aW9uKzE8dGhpcy5wb3NpdGlvbil7dmFyIGM9dGhpcy5wb3NpdGlvbi10aGlzLnN0YXJ0VGFnUG9zaXRpb247YT1uZXcgQXJyYXkoYykuam9pbihcIiBcIikrYX10aGlzLnRleHROb2RlKz1cIjxcIithLHRoaXMuc3RhdGU9RC5URVhUfWNvbnRpbnVlO2Nhc2UgRC5TR01MX0RFQ0w6KHRoaXMuc2dtbERlY2wrYSkudG9VcHBlckNhc2UoKT09PXI/KE8odGhpcyxcIm9ub3BlbmNkYXRhXCIpLHRoaXMuc3RhdGU9RC5DREFUQSx0aGlzLnNnbWxEZWNsPVwiXCIsdGhpcy5jZGF0YT1cIlwiKTp0aGlzLnNnbWxEZWNsK2E9PT1cIi0tXCI/KHRoaXMuc3RhdGU9RC5DT01NRU5ULHRoaXMuY29tbWVudD1cIlwiLHRoaXMuc2dtbERlY2w9XCJcIik6KHRoaXMuc2dtbERlY2wrYSkudG9VcHBlckNhc2UoKT09PW8/KHRoaXMuc3RhdGU9RC5ET0NUWVBFLCh0aGlzLmRvY3R5cGV8fHRoaXMuc2F3Um9vdCkmJlAodGhpcyxcIkluYXBwcm9wcmlhdGVseSBsb2NhdGVkIGRvY3R5cGUgZGVjbGFyYXRpb25cIiksdGhpcy5kb2N0eXBlPVwiXCIsdGhpcy5zZ21sRGVjbD1cIlwiKTpcIj5cIj09PWE/KE8odGhpcyxcIm9uc2dtbGRlY2xhcmF0aW9uXCIsdGhpcy5zZ21sRGVjbCksdGhpcy5zZ21sRGVjbD1cIlwiLHRoaXMuc3RhdGU9RC5URVhUKTpOKGEpPyh0aGlzLnN0YXRlPUQuU0dNTF9ERUNMX1FVT1RFRCx0aGlzLnNnbWxEZWNsKz1hKTp0aGlzLnNnbWxEZWNsKz1hO2NvbnRpbnVlO2Nhc2UgRC5TR01MX0RFQ0xfUVVPVEVEOmE9PT10aGlzLnEmJih0aGlzLnN0YXRlPUQuU0dNTF9ERUNMLHRoaXMucT1cIlwiKSx0aGlzLnNnbWxEZWNsKz1hO2NvbnRpbnVlO2Nhc2UgRC5ET0NUWVBFOlwiPlwiPT09YT8odGhpcy5zdGF0ZT1ELlRFWFQsTyh0aGlzLFwib25kb2N0eXBlXCIsdGhpcy5kb2N0eXBlKSx0aGlzLmRvY3R5cGU9ITApOih0aGlzLmRvY3R5cGUrPWEsXCJbXCI9PT1hP3RoaXMuc3RhdGU9RC5ET0NUWVBFX0RURDpOKGEpJiYodGhpcy5zdGF0ZT1ELkRPQ1RZUEVfUVVPVEVELHRoaXMucT1hKSk7Y29udGludWU7Y2FzZSBELkRPQ1RZUEVfUVVPVEVEOnRoaXMuZG9jdHlwZSs9YSxhPT09dGhpcy5xJiYodGhpcy5xPVwiXCIsdGhpcy5zdGF0ZT1ELkRPQ1RZUEUpO2NvbnRpbnVlO2Nhc2UgRC5ET0NUWVBFX0RURDp0aGlzLmRvY3R5cGUrPWEsXCJdXCI9PT1hP3RoaXMuc3RhdGU9RC5ET0NUWVBFOk4oYSkmJih0aGlzLnN0YXRlPUQuRE9DVFlQRV9EVERfUVVPVEVELHRoaXMucT1hKTtjb250aW51ZTtjYXNlIEQuRE9DVFlQRV9EVERfUVVPVEVEOnRoaXMuZG9jdHlwZSs9YSxhPT09dGhpcy5xJiYodGhpcy5zdGF0ZT1ELkRPQ1RZUEVfRFRELHRoaXMucT1cIlwiKTtjb250aW51ZTtjYXNlIEQuQ09NTUVOVDpcIi1cIj09PWE/dGhpcy5zdGF0ZT1ELkNPTU1FTlRfRU5ESU5HOnRoaXMuY29tbWVudCs9YTtjb250aW51ZTtjYXNlIEQuQ09NTUVOVF9FTkRJTkc6XCItXCI9PT1hPyh0aGlzLnN0YXRlPUQuQ09NTUVOVF9FTkRFRCx0aGlzLmNvbW1lbnQ9Uyh0aGlzLm9wdCx0aGlzLmNvbW1lbnQpLHRoaXMuY29tbWVudCYmTyh0aGlzLFwib25jb21tZW50XCIsdGhpcy5jb21tZW50KSx0aGlzLmNvbW1lbnQ9XCJcIik6KHRoaXMuY29tbWVudCs9XCItXCIrYSx0aGlzLnN0YXRlPUQuQ09NTUVOVCk7Y29udGludWU7Y2FzZSBELkNPTU1FTlRfRU5ERUQ6XCI+XCIhPT1hPyhQKHRoaXMsXCJNYWxmb3JtZWQgY29tbWVudFwiKSx0aGlzLmNvbW1lbnQrPVwiLS1cIithLHRoaXMuc3RhdGU9RC5DT01NRU5UKTp0aGlzLnN0YXRlPUQuVEVYVDtjb250aW51ZTtjYXNlIEQuQ0RBVEE6XCJdXCI9PT1hP3RoaXMuc3RhdGU9RC5DREFUQV9FTkRJTkc6dGhpcy5jZGF0YSs9YTtjb250aW51ZTtjYXNlIEQuQ0RBVEFfRU5ESU5HOlwiXVwiPT09YT90aGlzLnN0YXRlPUQuQ0RBVEFfRU5ESU5HXzI6KHRoaXMuY2RhdGErPVwiXVwiK2EsdGhpcy5zdGF0ZT1ELkNEQVRBKTtjb250aW51ZTtjYXNlIEQuQ0RBVEFfRU5ESU5HXzI6XCI+XCI9PT1hPyh0aGlzLmNkYXRhJiZPKHRoaXMsXCJvbmNkYXRhXCIsdGhpcy5jZGF0YSksTyh0aGlzLFwib25jbG9zZWNkYXRhXCIpLHRoaXMuY2RhdGE9XCJcIix0aGlzLnN0YXRlPUQuVEVYVCk6XCJdXCI9PT1hP3RoaXMuY2RhdGErPVwiXVwiOih0aGlzLmNkYXRhKz1cIl1dXCIrYSx0aGlzLnN0YXRlPUQuQ0RBVEEpO2NvbnRpbnVlO2Nhc2UgRC5QUk9DX0lOU1Q6XCI/XCI9PT1hP3RoaXMuc3RhdGU9RC5QUk9DX0lOU1RfRU5ESU5HOm0oYSk/dGhpcy5zdGF0ZT1ELlBST0NfSU5TVF9CT0RZOnRoaXMucHJvY0luc3ROYW1lKz1hO2NvbnRpbnVlO2Nhc2UgRC5QUk9DX0lOU1RfQk9EWTppZighdGhpcy5wcm9jSW5zdEJvZHkmJm0oYSkpY29udGludWU7XCI/XCI9PT1hP3RoaXMuc3RhdGU9RC5QUk9DX0lOU1RfRU5ESU5HOnRoaXMucHJvY0luc3RCb2R5Kz1hO2NvbnRpbnVlO2Nhc2UgRC5QUk9DX0lOU1RfRU5ESU5HOlwiPlwiPT09YT8oTyh0aGlzLFwib25wcm9jZXNzaW5naW5zdHJ1Y3Rpb25cIix7bmFtZTp0aGlzLnByb2NJbnN0TmFtZSxib2R5OnRoaXMucHJvY0luc3RCb2R5fSksdGhpcy5wcm9jSW5zdE5hbWU9dGhpcy5wcm9jSW5zdEJvZHk9XCJcIix0aGlzLnN0YXRlPUQuVEVYVCk6KHRoaXMucHJvY0luc3RCb2R5Kz1cIj9cIithLHRoaXMuc3RhdGU9RC5QUk9DX0lOU1RfQk9EWSk7Y29udGludWU7Y2FzZSBELk9QRU5fVEFHOl8oVCxhKT90aGlzLnRhZ05hbWUrPWE6KHkodGhpcyksXCI+XCI9PT1hP1UodGhpcyk6XCIvXCI9PT1hP3RoaXMuc3RhdGU9RC5PUEVOX1RBR19TTEFTSDoobShhKXx8UCh0aGlzLFwiSW52YWxpZCBjaGFyYWN0ZXIgaW4gdGFnIG5hbWVcIiksdGhpcy5zdGF0ZT1ELkFUVFJJQikpO2NvbnRpbnVlO2Nhc2UgRC5PUEVOX1RBR19TTEFTSDpcIj5cIj09PWE/KFUodGhpcywhMCkseCh0aGlzKSk6KFAodGhpcyxcIkZvcndhcmQtc2xhc2ggaW4gb3BlbmluZyB0YWcgbm90IGZvbGxvd2VkIGJ5ID5cIiksdGhpcy5zdGF0ZT1ELkFUVFJJQik7Y29udGludWU7Y2FzZSBELkFUVFJJQjppZihtKGEpKWNvbnRpbnVlO1wiPlwiPT09YT9VKHRoaXMpOlwiL1wiPT09YT90aGlzLnN0YXRlPUQuT1BFTl9UQUdfU0xBU0g6XyhsLGEpPyh0aGlzLmF0dHJpYk5hbWU9YSx0aGlzLmF0dHJpYlZhbHVlPVwiXCIsdGhpcy5zdGF0ZT1ELkFUVFJJQl9OQU1FKTpQKHRoaXMsXCJJbnZhbGlkIGF0dHJpYnV0ZSBuYW1lXCIpO2NvbnRpbnVlO2Nhc2UgRC5BVFRSSUJfTkFNRTpcIj1cIj09PWE/dGhpcy5zdGF0ZT1ELkFUVFJJQl9WQUxVRTpcIj5cIj09PWE/KFAodGhpcyxcIkF0dHJpYnV0ZSB3aXRob3V0IHZhbHVlXCIpLHRoaXMuYXR0cmliVmFsdWU9dGhpcy5hdHRyaWJOYW1lLEIodGhpcyksVSh0aGlzKSk6bShhKT90aGlzLnN0YXRlPUQuQVRUUklCX05BTUVfU0FXX1dISVRFOl8oVCxhKT90aGlzLmF0dHJpYk5hbWUrPWE6UCh0aGlzLFwiSW52YWxpZCBhdHRyaWJ1dGUgbmFtZVwiKTtjb250aW51ZTtjYXNlIEQuQVRUUklCX05BTUVfU0FXX1dISVRFOmlmKFwiPVwiPT09YSl0aGlzLnN0YXRlPUQuQVRUUklCX1ZBTFVFO2Vsc2V7aWYobShhKSljb250aW51ZTtQKHRoaXMsXCJBdHRyaWJ1dGUgd2l0aG91dCB2YWx1ZVwiKSx0aGlzLnRhZy5hdHRyaWJ1dGVzW3RoaXMuYXR0cmliTmFtZV09XCJcIix0aGlzLmF0dHJpYlZhbHVlPVwiXCIsTyh0aGlzLFwib25hdHRyaWJ1dGVcIix7bmFtZTp0aGlzLmF0dHJpYk5hbWUsdmFsdWU6XCJcIn0pLHRoaXMuYXR0cmliTmFtZT1cIlwiLFwiPlwiPT09YT9VKHRoaXMpOl8obCxhKT8odGhpcy5hdHRyaWJOYW1lPWEsdGhpcy5zdGF0ZT1ELkFUVFJJQl9OQU1FKTooUCh0aGlzLFwiSW52YWxpZCBhdHRyaWJ1dGUgbmFtZVwiKSx0aGlzLnN0YXRlPUQuQVRUUklCKX1jb250aW51ZTtjYXNlIEQuQVRUUklCX1ZBTFVFOmlmKG0oYSkpY29udGludWU7TihhKT8odGhpcy5xPWEsdGhpcy5zdGF0ZT1ELkFUVFJJQl9WQUxVRV9RVU9URUQpOihQKHRoaXMsXCJVbnF1b3RlZCBhdHRyaWJ1dGUgdmFsdWVcIiksdGhpcy5zdGF0ZT1ELkFUVFJJQl9WQUxVRV9VTlFVT1RFRCx0aGlzLmF0dHJpYlZhbHVlPWEpO2NvbnRpbnVlO2Nhc2UgRC5BVFRSSUJfVkFMVUVfUVVPVEVEOmlmKGEhPT10aGlzLnEpe1wiJlwiPT09YT90aGlzLnN0YXRlPUQuQVRUUklCX1ZBTFVFX0VOVElUWV9ROnRoaXMuYXR0cmliVmFsdWUrPWE7Y29udGludWV9Qih0aGlzKSx0aGlzLnE9XCJcIix0aGlzLnN0YXRlPUQuQVRUUklCX1ZBTFVFX0NMT1NFRDtjb250aW51ZTtjYXNlIEQuQVRUUklCX1ZBTFVFX0NMT1NFRDptKGEpP3RoaXMuc3RhdGU9RC5BVFRSSUI6XCI+XCI9PT1hP1UodGhpcyk6XCIvXCI9PT1hP3RoaXMuc3RhdGU9RC5PUEVOX1RBR19TTEFTSDpfKGwsYSk/KFAodGhpcyxcIk5vIHdoaXRlc3BhY2UgYmV0d2VlbiBhdHRyaWJ1dGVzXCIpLHRoaXMuYXR0cmliTmFtZT1hLHRoaXMuYXR0cmliVmFsdWU9XCJcIix0aGlzLnN0YXRlPUQuQVRUUklCX05BTUUpOlAodGhpcyxcIkludmFsaWQgYXR0cmlidXRlIG5hbWVcIik7Y29udGludWU7Y2FzZSBELkFUVFJJQl9WQUxVRV9VTlFVT1RFRDppZighZihhKSl7XCImXCI9PT1hP3RoaXMuc3RhdGU9RC5BVFRSSUJfVkFMVUVfRU5USVRZX1U6dGhpcy5hdHRyaWJWYWx1ZSs9YTtjb250aW51ZX1CKHRoaXMpLFwiPlwiPT09YT9VKHRoaXMpOnRoaXMuc3RhdGU9RC5BVFRSSUI7Y29udGludWU7Y2FzZSBELkNMT1NFX1RBRzppZih0aGlzLnRhZ05hbWUpXCI+XCI9PT1hP3godGhpcyk6XyhULGEpP3RoaXMudGFnTmFtZSs9YTp0aGlzLnNjcmlwdD8odGhpcy5zY3JpcHQrPVwiPC9cIit0aGlzLnRhZ05hbWUsdGhpcy50YWdOYW1lPVwiXCIsdGhpcy5zdGF0ZT1ELlNDUklQVCk6KG0oYSl8fFAodGhpcyxcIkludmFsaWQgdGFnbmFtZSBpbiBjbG9zaW5nIHRhZ1wiKSx0aGlzLnN0YXRlPUQuQ0xPU0VfVEFHX1NBV19XSElURSk7ZWxzZXtpZihtKGEpKWNvbnRpbnVlO2QobCxhKT90aGlzLnNjcmlwdD8odGhpcy5zY3JpcHQrPVwiPC9cIithLHRoaXMuc3RhdGU9RC5TQ1JJUFQpOlAodGhpcyxcIkludmFsaWQgdGFnbmFtZSBpbiBjbG9zaW5nIHRhZy5cIik6dGhpcy50YWdOYW1lPWF9Y29udGludWU7Y2FzZSBELkNMT1NFX1RBR19TQVdfV0hJVEU6aWYobShhKSljb250aW51ZTtcIj5cIj09PWE/eCh0aGlzKTpQKHRoaXMsXCJJbnZhbGlkIGNoYXJhY3RlcnMgaW4gY2xvc2luZyB0YWdcIik7Y29udGludWU7Y2FzZSBELlRFWFRfRU5USVRZOmNhc2UgRC5BVFRSSUJfVkFMVUVfRU5USVRZX1E6Y2FzZSBELkFUVFJJQl9WQUxVRV9FTlRJVFlfVTp2YXIgdSxoO3N3aXRjaCh0aGlzLnN0YXRlKXtjYXNlIEQuVEVYVF9FTlRJVFk6dT1ELlRFWFQsaD1cInRleHROb2RlXCI7YnJlYWs7Y2FzZSBELkFUVFJJQl9WQUxVRV9FTlRJVFlfUTp1PUQuQVRUUklCX1ZBTFVFX1FVT1RFRCxoPVwiYXR0cmliVmFsdWVcIjticmVhaztjYXNlIEQuQVRUUklCX1ZBTFVFX0VOVElUWV9VOnU9RC5BVFRSSUJfVkFMVUVfVU5RVU9URUQsaD1cImF0dHJpYlZhbHVlXCJ9XCI7XCI9PT1hPyh0aGlzW2hdKz13KHRoaXMpLHRoaXMuZW50aXR5PVwiXCIsdGhpcy5zdGF0ZT11KTpfKHRoaXMuZW50aXR5Lmxlbmd0aD9wOkUsYSk/dGhpcy5lbnRpdHkrPWE6KFAodGhpcyxcIkludmFsaWQgY2hhcmFjdGVyIGluIGVudGl0eSBuYW1lXCIpLHRoaXNbaF0rPVwiJlwiK3RoaXMuZW50aXR5K2EsdGhpcy5lbnRpdHk9XCJcIix0aGlzLnN0YXRlPXUpO2NvbnRpbnVlO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKHRoaXMsXCJVbmtub3duIHN0YXRlOiBcIit0aGlzLnN0YXRlKX10aGlzLnBvc2l0aW9uPj10aGlzLmJ1ZmZlckNoZWNrUG9zaXRpb24mJmZ1bmN0aW9uKGUpe2Zvcih2YXIgcz1NYXRoLm1heCh0Lk1BWF9CVUZGRVJfTEVOR1RILDEwKSxhPTAsbj0wLHI9aS5sZW5ndGg7bjxyO24rKyl7dmFyIG89ZVtpW25dXS5sZW5ndGg7aWYobz5zKXN3aXRjaChpW25dKXtjYXNlXCJ0ZXh0Tm9kZVwiOkYoZSk7YnJlYWs7Y2FzZVwiY2RhdGFcIjpPKGUsXCJvbmNkYXRhXCIsZS5jZGF0YSksZS5jZGF0YT1cIlwiO2JyZWFrO2Nhc2VcInNjcmlwdFwiOk8oZSxcIm9uc2NyaXB0XCIsZS5zY3JpcHQpLGUuc2NyaXB0PVwiXCI7YnJlYWs7ZGVmYXVsdDpSKGUsXCJNYXggYnVmZmVyIGxlbmd0aCBleGNlZWRlZDogXCIraVtuXSl9YT1NYXRoLm1heChhLG8pfXZhciBjPXQuTUFYX0JVRkZFUl9MRU5HVEgtYTtlLmJ1ZmZlckNoZWNrUG9zaXRpb249YytlLnBvc2l0aW9ufSh0aGlzKTtyZXR1cm4gdGhpc30scmVzdW1lOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXJyb3I9bnVsbCx0aGlzfSxjbG9zZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLndyaXRlKG51bGwpfSxmbHVzaDpmdW5jdGlvbigpe3ZhciB0O0YodD10aGlzKSxcIlwiIT09dC5jZGF0YSYmKE8odCxcIm9uY2RhdGFcIix0LmNkYXRhKSx0LmNkYXRhPVwiXCIpLFwiXCIhPT10LnNjcmlwdCYmKE8odCxcIm9uc2NyaXB0XCIsdC5zY3JpcHQpLHQuc2NyaXB0PVwiXCIpfX07dHJ5e2U9cmVxdWlyZShcInN0cmVhbVwiKS5TdHJlYW19Y2F0Y2godCl7ZT1mdW5jdGlvbigpe319dmFyIGE9dC5FVkVOVFMuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVyblwiZXJyb3JcIiE9PXQmJlwiZW5kXCIhPT10fSk7ZnVuY3Rpb24gbih0LGkpe2lmKCEodGhpcyBpbnN0YW5jZW9mIG4pKXJldHVybiBuZXcgbih0LGkpO2UuYXBwbHkodGhpcyksdGhpcy5fcGFyc2VyPW5ldyBzKHQsaSksdGhpcy53cml0YWJsZT0hMCx0aGlzLnJlYWRhYmxlPSEwO3ZhciByPXRoaXM7dGhpcy5fcGFyc2VyLm9uZW5kPWZ1bmN0aW9uKCl7ci5lbWl0KFwiZW5kXCIpfSx0aGlzLl9wYXJzZXIub25lcnJvcj1mdW5jdGlvbih0KXtyLmVtaXQoXCJlcnJvclwiLHQpLHIuX3BhcnNlci5lcnJvcj1udWxsfSx0aGlzLl9kZWNvZGVyPW51bGwsYS5mb3JFYWNoKGZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFwib25cIit0LHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gci5fcGFyc2VyW1wib25cIit0XX0sc2V0OmZ1bmN0aW9uKGUpe2lmKCFlKXJldHVybiByLnJlbW92ZUFsbExpc3RlbmVycyh0KSxyLl9wYXJzZXJbXCJvblwiK3RdPWUsZTtyLm9uKHQsZSl9LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiExfSl9KX1uLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6bn19KSxuLnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbih0KXtpZihcImZ1bmN0aW9uXCI9PXR5cGVvZiBCdWZmZXImJlwiZnVuY3Rpb25cIj09dHlwZW9mIEJ1ZmZlci5pc0J1ZmZlciYmQnVmZmVyLmlzQnVmZmVyKHQpKXtpZighdGhpcy5fZGVjb2Rlcil7dmFyIGU9cmVxdWlyZShcInN0cmluZ19kZWNvZGVyXCIpLlN0cmluZ0RlY29kZXI7dGhpcy5fZGVjb2Rlcj1uZXcgZShcInV0ZjhcIil9dD10aGlzLl9kZWNvZGVyLndyaXRlKHQpfXJldHVybiB0aGlzLl9wYXJzZXIud3JpdGUodC50b1N0cmluZygpKSx0aGlzLmVtaXQoXCJkYXRhXCIsdCksITB9LG4ucHJvdG90eXBlLmVuZD1mdW5jdGlvbih0KXtyZXR1cm4gdCYmdC5sZW5ndGgmJnRoaXMud3JpdGUodCksdGhpcy5fcGFyc2VyLmVuZCgpLCEwfSxuLnByb3RvdHlwZS5vbj1mdW5jdGlvbih0LGkpe3ZhciBzPXRoaXM7cmV0dXJuIHMuX3BhcnNlcltcIm9uXCIrdF18fC0xPT09YS5pbmRleE9mKHQpfHwocy5fcGFyc2VyW1wib25cIit0XT1mdW5jdGlvbigpe3ZhciBlPTE9PT1hcmd1bWVudHMubGVuZ3RoP1thcmd1bWVudHNbMF1dOkFycmF5LmFwcGx5KG51bGwsYXJndW1lbnRzKTtlLnNwbGljZSgwLDAsdCkscy5lbWl0LmFwcGx5KHMsZSl9KSxlLnByb3RvdHlwZS5vbi5jYWxsKHMsdCxpKX07dmFyIHI9XCJbQ0RBVEFbXCIsbz1cIkRPQ1RZUEVcIixjPVwiaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlXCIsdT1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAveG1sbnMvXCIsaD17eG1sOmMseG1sbnM6dX0sbD0vWzpfQS1aYS16XFx1MDBDMC1cXHUwMEQ2XFx1MDBEOC1cXHUwMEY2XFx1MDBGOC1cXHUwMkZGXFx1MDM3MC1cXHUwMzdEXFx1MDM3Ri1cXHUxRkZGXFx1MjAwQy1cXHUyMDBEXFx1MjA3MC1cXHUyMThGXFx1MkMwMC1cXHUyRkVGXFx1MzAwMS1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkZEXS8sVD0vWzpfQS1aYS16XFx1MDBDMC1cXHUwMEQ2XFx1MDBEOC1cXHUwMEY2XFx1MDBGOC1cXHUwMkZGXFx1MDM3MC1cXHUwMzdEXFx1MDM3Ri1cXHUxRkZGXFx1MjAwQy1cXHUyMDBEXFx1MjA3MC1cXHUyMThGXFx1MkMwMC1cXHUyRkVGXFx1MzAwMS1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkZEXFx1MDBCN1xcdTAzMDAtXFx1MDM2RlxcdTIwM0YtXFx1MjA0MC5cXGQtXS8sRT0vWyM6X0EtWmEtelxcdTAwQzAtXFx1MDBENlxcdTAwRDgtXFx1MDBGNlxcdTAwRjgtXFx1MDJGRlxcdTAzNzAtXFx1MDM3RFxcdTAzN0YtXFx1MUZGRlxcdTIwMEMtXFx1MjAwRFxcdTIwNzAtXFx1MjE4RlxcdTJDMDAtXFx1MkZFRlxcdTMwMDEtXFx1RDdGRlxcdUY5MDAtXFx1RkRDRlxcdUZERjAtXFx1RkZGRF0vLHA9L1sjOl9BLVphLXpcXHUwMEMwLVxcdTAwRDZcXHUwMEQ4LVxcdTAwRjZcXHUwMEY4LVxcdTAyRkZcXHUwMzcwLVxcdTAzN0RcXHUwMzdGLVxcdTFGRkZcXHUyMDBDLVxcdTIwMERcXHUyMDcwLVxcdTIxOEZcXHUyQzAwLVxcdTJGRUZcXHUzMDAxLVxcdUQ3RkZcXHVGOTAwLVxcdUZEQ0ZcXHVGREYwLVxcdUZGRkRcXHUwMEI3XFx1MDMwMC1cXHUwMzZGXFx1MjAzRi1cXHUyMDQwLlxcZC1dLztmdW5jdGlvbiBtKHQpe3JldHVyblwiIFwiPT09dHx8XCJcXG5cIj09PXR8fFwiXFxyXCI9PT10fHxcIlxcdFwiPT09dH1mdW5jdGlvbiBOKHQpe3JldHVybidcIic9PT10fHxcIidcIj09PXR9ZnVuY3Rpb24gZih0KXtyZXR1cm5cIj5cIj09PXR8fG0odCl9ZnVuY3Rpb24gXyh0LGUpe3JldHVybiB0LnRlc3QoZSl9ZnVuY3Rpb24gZCh0LGUpe3JldHVybiFfKHQsZSl9dmFyIGcsQSxJLEQ9MDtmb3IodmFyIGIgaW4gdC5TVEFURT17QkVHSU46RCsrLEJFR0lOX1dISVRFU1BBQ0U6RCsrLFRFWFQ6RCsrLFRFWFRfRU5USVRZOkQrKyxPUEVOX1dBS0E6RCsrLFNHTUxfREVDTDpEKyssU0dNTF9ERUNMX1FVT1RFRDpEKyssRE9DVFlQRTpEKyssRE9DVFlQRV9RVU9URUQ6RCsrLERPQ1RZUEVfRFREOkQrKyxET0NUWVBFX0RURF9RVU9URUQ6RCsrLENPTU1FTlRfU1RBUlRJTkc6RCsrLENPTU1FTlQ6RCsrLENPTU1FTlRfRU5ESU5HOkQrKyxDT01NRU5UX0VOREVEOkQrKyxDREFUQTpEKyssQ0RBVEFfRU5ESU5HOkQrKyxDREFUQV9FTkRJTkdfMjpEKyssUFJPQ19JTlNUOkQrKyxQUk9DX0lOU1RfQk9EWTpEKyssUFJPQ19JTlNUX0VORElORzpEKyssT1BFTl9UQUc6RCsrLE9QRU5fVEFHX1NMQVNIOkQrKyxBVFRSSUI6RCsrLEFUVFJJQl9OQU1FOkQrKyxBVFRSSUJfTkFNRV9TQVdfV0hJVEU6RCsrLEFUVFJJQl9WQUxVRTpEKyssQVRUUklCX1ZBTFVFX1FVT1RFRDpEKyssQVRUUklCX1ZBTFVFX0NMT1NFRDpEKyssQVRUUklCX1ZBTFVFX1VOUVVPVEVEOkQrKyxBVFRSSUJfVkFMVUVfRU5USVRZX1E6RCsrLEFUVFJJQl9WQUxVRV9FTlRJVFlfVTpEKyssQ0xPU0VfVEFHOkQrKyxDTE9TRV9UQUdfU0FXX1dISVRFOkQrKyxTQ1JJUFQ6RCsrLFNDUklQVF9FTkRJTkc6RCsrfSx0LlhNTF9FTlRJVElFUz17YW1wOlwiJlwiLGd0OlwiPlwiLGx0OlwiPFwiLHF1b3Q6J1wiJyxhcG9zOlwiJ1wifSx0LkVOVElUSUVTPXthbXA6XCImXCIsZ3Q6XCI+XCIsbHQ6XCI8XCIscXVvdDonXCInLGFwb3M6XCInXCIsQUVsaWc6MTk4LEFhY3V0ZToxOTMsQWNpcmM6MTk0LEFncmF2ZToxOTIsQXJpbmc6MTk3LEF0aWxkZToxOTUsQXVtbDoxOTYsQ2NlZGlsOjE5OSxFVEg6MjA4LEVhY3V0ZToyMDEsRWNpcmM6MjAyLEVncmF2ZToyMDAsRXVtbDoyMDMsSWFjdXRlOjIwNSxJY2lyYzoyMDYsSWdyYXZlOjIwNCxJdW1sOjIwNyxOdGlsZGU6MjA5LE9hY3V0ZToyMTEsT2NpcmM6MjEyLE9ncmF2ZToyMTAsT3NsYXNoOjIxNixPdGlsZGU6MjEzLE91bWw6MjE0LFRIT1JOOjIyMixVYWN1dGU6MjE4LFVjaXJjOjIxOSxVZ3JhdmU6MjE3LFV1bWw6MjIwLFlhY3V0ZToyMjEsYWFjdXRlOjIyNSxhY2lyYzoyMjYsYWVsaWc6MjMwLGFncmF2ZToyMjQsYXJpbmc6MjI5LGF0aWxkZToyMjcsYXVtbDoyMjgsY2NlZGlsOjIzMSxlYWN1dGU6MjMzLGVjaXJjOjIzNCxlZ3JhdmU6MjMyLGV0aDoyNDAsZXVtbDoyMzUsaWFjdXRlOjIzNyxpY2lyYzoyMzgsaWdyYXZlOjIzNixpdW1sOjIzOSxudGlsZGU6MjQxLG9hY3V0ZToyNDMsb2NpcmM6MjQ0LG9ncmF2ZToyNDIsb3NsYXNoOjI0OCxvdGlsZGU6MjQ1LG91bWw6MjQ2LHN6bGlnOjIyMyx0aG9ybjoyNTQsdWFjdXRlOjI1MCx1Y2lyYzoyNTEsdWdyYXZlOjI0OSx1dW1sOjI1Mix5YWN1dGU6MjUzLHl1bWw6MjU1LGNvcHk6MTY5LHJlZzoxNzQsbmJzcDoxNjAsaWV4Y2w6MTYxLGNlbnQ6MTYyLHBvdW5kOjE2MyxjdXJyZW46MTY0LHllbjoxNjUsYnJ2YmFyOjE2NixzZWN0OjE2Nyx1bWw6MTY4LG9yZGY6MTcwLGxhcXVvOjE3MSxub3Q6MTcyLHNoeToxNzMsbWFjcjoxNzUsZGVnOjE3NixwbHVzbW46MTc3LHN1cDE6MTg1LHN1cDI6MTc4LHN1cDM6MTc5LGFjdXRlOjE4MCxtaWNybzoxODEscGFyYToxODIsbWlkZG90OjE4MyxjZWRpbDoxODQsb3JkbToxODYscmFxdW86MTg3LGZyYWMxNDoxODgsZnJhYzEyOjE4OSxmcmFjMzQ6MTkwLGlxdWVzdDoxOTEsdGltZXM6MjE1LGRpdmlkZToyNDcsT0VsaWc6MzM4LG9lbGlnOjMzOSxTY2Fyb246MzUyLHNjYXJvbjozNTMsWXVtbDozNzYsZm5vZjo0MDIsY2lyYzo3MTAsdGlsZGU6NzMyLEFscGhhOjkxMyxCZXRhOjkxNCxHYW1tYTo5MTUsRGVsdGE6OTE2LEVwc2lsb246OTE3LFpldGE6OTE4LEV0YTo5MTksVGhldGE6OTIwLElvdGE6OTIxLEthcHBhOjkyMixMYW1iZGE6OTIzLE11OjkyNCxOdTo5MjUsWGk6OTI2LE9taWNyb246OTI3LFBpOjkyOCxSaG86OTI5LFNpZ21hOjkzMSxUYXU6OTMyLFVwc2lsb246OTMzLFBoaTo5MzQsQ2hpOjkzNSxQc2k6OTM2LE9tZWdhOjkzNyxhbHBoYTo5NDUsYmV0YTo5NDYsZ2FtbWE6OTQ3LGRlbHRhOjk0OCxlcHNpbG9uOjk0OSx6ZXRhOjk1MCxldGE6OTUxLHRoZXRhOjk1Mixpb3RhOjk1MyxrYXBwYTo5NTQsbGFtYmRhOjk1NSxtdTo5NTYsbnU6OTU3LHhpOjk1OCxvbWljcm9uOjk1OSxwaTo5NjAscmhvOjk2MSxzaWdtYWY6OTYyLHNpZ21hOjk2Myx0YXU6OTY0LHVwc2lsb246OTY1LHBoaTo5NjYsY2hpOjk2Nyxwc2k6OTY4LG9tZWdhOjk2OSx0aGV0YXN5bTo5NzcsdXBzaWg6OTc4LHBpdjo5ODIsZW5zcDo4MTk0LGVtc3A6ODE5NSx0aGluc3A6ODIwMSx6d25qOjgyMDQsendqOjgyMDUsbHJtOjgyMDYscmxtOjgyMDcsbmRhc2g6ODIxMSxtZGFzaDo4MjEyLGxzcXVvOjgyMTYscnNxdW86ODIxNyxzYnF1bzo4MjE4LGxkcXVvOjgyMjAscmRxdW86ODIyMSxiZHF1bzo4MjIyLGRhZ2dlcjo4MjI0LERhZ2dlcjo4MjI1LGJ1bGw6ODIyNixoZWxsaXA6ODIzMCxwZXJtaWw6ODI0MCxwcmltZTo4MjQyLFByaW1lOjgyNDMsbHNhcXVvOjgyNDkscnNhcXVvOjgyNTAsb2xpbmU6ODI1NCxmcmFzbDo4MjYwLGV1cm86ODM2NCxpbWFnZTo4NDY1LHdlaWVycDo4NDcyLHJlYWw6ODQ3Nix0cmFkZTo4NDgyLGFsZWZzeW06ODUwMSxsYXJyOjg1OTIsdWFycjo4NTkzLHJhcnI6ODU5NCxkYXJyOjg1OTUsaGFycjo4NTk2LGNyYXJyOjg2MjksbEFycjo4NjU2LHVBcnI6ODY1NyxyQXJyOjg2NTgsZEFycjo4NjU5LGhBcnI6ODY2MCxmb3JhbGw6ODcwNCxwYXJ0Ojg3MDYsZXhpc3Q6ODcwNyxlbXB0eTo4NzA5LG5hYmxhOjg3MTEsaXNpbjo4NzEyLG5vdGluOjg3MTMsbmk6ODcxNSxwcm9kOjg3MTksc3VtOjg3MjEsbWludXM6ODcyMixsb3dhc3Q6ODcyNyxyYWRpYzo4NzMwLHByb3A6ODczMyxpbmZpbjo4NzM0LGFuZzo4NzM2LGFuZDo4NzQzLG9yOjg3NDQsY2FwOjg3NDUsY3VwOjg3NDYsaW50Ojg3NDcsdGhlcmU0Ojg3NTYsc2ltOjg3NjQsY29uZzo4NzczLGFzeW1wOjg3NzYsbmU6ODgwMCxlcXVpdjo4ODAxLGxlOjg4MDQsZ2U6ODgwNSxzdWI6ODgzNCxzdXA6ODgzNSxuc3ViOjg4MzYsc3ViZTo4ODM4LHN1cGU6ODgzOSxvcGx1czo4ODUzLG90aW1lczo4ODU1LHBlcnA6ODg2OSxzZG90Ojg5MDEsbGNlaWw6ODk2OCxyY2VpbDo4OTY5LGxmbG9vcjo4OTcwLHJmbG9vcjo4OTcxLGxhbmc6OTAwMSxyYW5nOjkwMDIsbG96Ojk2NzQsc3BhZGVzOjk4MjQsY2x1YnM6OTgyNyxoZWFydHM6OTgyOSxkaWFtczo5ODMwfSxPYmplY3Qua2V5cyh0LkVOVElUSUVTKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZhciBpPXQuRU5USVRJRVNbZV0scz1cIm51bWJlclwiPT10eXBlb2YgaT9TdHJpbmcuZnJvbUNoYXJDb2RlKGkpOmk7dC5FTlRJVElFU1tlXT1zfSksdC5TVEFURSl0LlNUQVRFW3QuU1RBVEVbYl1dPWI7ZnVuY3Rpb24gQyh0LGUsaSl7dFtlXSYmdFtlXShpKX1mdW5jdGlvbiBPKHQsZSxpKXt0LnRleHROb2RlJiZGKHQpLEModCxlLGkpfWZ1bmN0aW9uIEYodCl7dC50ZXh0Tm9kZT1TKHQub3B0LHQudGV4dE5vZGUpLHQudGV4dE5vZGUmJkModCxcIm9udGV4dFwiLHQudGV4dE5vZGUpLHQudGV4dE5vZGU9XCJcIn1mdW5jdGlvbiBTKHQsZSl7cmV0dXJuIHQudHJpbSYmKGU9ZS50cmltKCkpLHQubm9ybWFsaXplJiYoZT1lLnJlcGxhY2UoL1xccysvZyxcIiBcIikpLGV9ZnVuY3Rpb24gUih0LGUpe3JldHVybiBGKHQpLHQudHJhY2tQb3NpdGlvbiYmKGUrPVwiXFxuTGluZTogXCIrdC5saW5lK1wiXFxuQ29sdW1uOiBcIit0LmNvbHVtbitcIlxcbkNoYXI6IFwiK3QuYyksZT1uZXcgRXJyb3IoZSksdC5lcnJvcj1lLEModCxcIm9uZXJyb3JcIixlKSx0fWZ1bmN0aW9uIHYodCl7cmV0dXJuIHQuc2F3Um9vdCYmIXQuY2xvc2VkUm9vdCYmUCh0LFwiVW5jbG9zZWQgcm9vdCB0YWdcIiksdC5zdGF0ZSE9PUQuQkVHSU4mJnQuc3RhdGUhPT1ELkJFR0lOX1dISVRFU1BBQ0UmJnQuc3RhdGUhPT1ELlRFWFQmJlIodCxcIlVuZXhwZWN0ZWQgZW5kXCIpLEYodCksdC5jPVwiXCIsdC5jbG9zZWQ9ITAsQyh0LFwib25lbmRcIikscy5jYWxsKHQsdC5zdHJpY3QsdC5vcHQpLHR9ZnVuY3Rpb24gUCh0LGUpe2lmKFwib2JqZWN0XCIhPXR5cGVvZiB0fHwhKHQgaW5zdGFuY2VvZiBzKSl0aHJvdyBuZXcgRXJyb3IoXCJiYWQgY2FsbCB0byBzdHJpY3RGYWlsXCIpO3Quc3RyaWN0JiZSKHQsZSl9ZnVuY3Rpb24geSh0KXt0LnN0cmljdHx8KHQudGFnTmFtZT10LnRhZ05hbWVbdC5sb29zZUNhc2VdKCkpO3ZhciBlPXQudGFnc1t0LnRhZ3MubGVuZ3RoLTFdfHx0LGk9dC50YWc9e25hbWU6dC50YWdOYW1lLGF0dHJpYnV0ZXM6e319O3Qub3B0LnhtbG5zJiYoaS5ucz1lLm5zKSx0LmF0dHJpYkxpc3QubGVuZ3RoPTAsTyh0LFwib25vcGVudGFnc3RhcnRcIixpKX1mdW5jdGlvbiBMKHQsZSl7dmFyIGk9dC5pbmRleE9mKFwiOlwiKTwwP1tcIlwiLHRdOnQuc3BsaXQoXCI6XCIpLHM9aVswXSxhPWlbMV07cmV0dXJuIGUmJlwieG1sbnNcIj09PXQmJihzPVwieG1sbnNcIixhPVwiXCIpLHtwcmVmaXg6cyxsb2NhbDphfX1mdW5jdGlvbiBCKHQpe2lmKHQuc3RyaWN0fHwodC5hdHRyaWJOYW1lPXQuYXR0cmliTmFtZVt0Lmxvb3NlQ2FzZV0oKSksLTEhPT10LmF0dHJpYkxpc3QuaW5kZXhPZih0LmF0dHJpYk5hbWUpfHx0LnRhZy5hdHRyaWJ1dGVzLmhhc093blByb3BlcnR5KHQuYXR0cmliTmFtZSkpdC5hdHRyaWJOYW1lPXQuYXR0cmliVmFsdWU9XCJcIjtlbHNle2lmKHQub3B0LnhtbG5zKXt2YXIgZT1MKHQuYXR0cmliTmFtZSwhMCksaT1lLnByZWZpeCxzPWUubG9jYWw7aWYoXCJ4bWxuc1wiPT09aSlpZihcInhtbFwiPT09cyYmdC5hdHRyaWJWYWx1ZSE9PWMpUCh0LFwieG1sOiBwcmVmaXggbXVzdCBiZSBib3VuZCB0byBcIitjK1wiXFxuQWN0dWFsOiBcIit0LmF0dHJpYlZhbHVlKTtlbHNlIGlmKFwieG1sbnNcIj09PXMmJnQuYXR0cmliVmFsdWUhPT11KVAodCxcInhtbG5zOiBwcmVmaXggbXVzdCBiZSBib3VuZCB0byBcIit1K1wiXFxuQWN0dWFsOiBcIit0LmF0dHJpYlZhbHVlKTtlbHNle3ZhciBhPXQudGFnLG49dC50YWdzW3QudGFncy5sZW5ndGgtMV18fHQ7YS5ucz09PW4ubnMmJihhLm5zPU9iamVjdC5jcmVhdGUobi5ucykpLGEubnNbc109dC5hdHRyaWJWYWx1ZX10LmF0dHJpYkxpc3QucHVzaChbdC5hdHRyaWJOYW1lLHQuYXR0cmliVmFsdWVdKX1lbHNlIHQudGFnLmF0dHJpYnV0ZXNbdC5hdHRyaWJOYW1lXT10LmF0dHJpYlZhbHVlLE8odCxcIm9uYXR0cmlidXRlXCIse25hbWU6dC5hdHRyaWJOYW1lLHZhbHVlOnQuYXR0cmliVmFsdWV9KTt0LmF0dHJpYk5hbWU9dC5hdHRyaWJWYWx1ZT1cIlwifX1mdW5jdGlvbiBVKHQsZSl7aWYodC5vcHQueG1sbnMpe3ZhciBpPXQudGFnLHM9TCh0LnRhZ05hbWUpO2kucHJlZml4PXMucHJlZml4LGkubG9jYWw9cy5sb2NhbCxpLnVyaT1pLm5zW3MucHJlZml4XXx8XCJcIixpLnByZWZpeCYmIWkudXJpJiYoUCh0LFwiVW5ib3VuZCBuYW1lc3BhY2UgcHJlZml4OiBcIitKU09OLnN0cmluZ2lmeSh0LnRhZ05hbWUpKSxpLnVyaT1zLnByZWZpeCk7dmFyIGE9dC50YWdzW3QudGFncy5sZW5ndGgtMV18fHQ7aS5ucyYmYS5ucyE9PWkubnMmJk9iamVjdC5rZXlzKGkubnMpLmZvckVhY2goZnVuY3Rpb24oZSl7Tyh0LFwib25vcGVubmFtZXNwYWNlXCIse3ByZWZpeDplLHVyaTppLm5zW2VdfSl9KTtmb3IodmFyIG49MCxyPXQuYXR0cmliTGlzdC5sZW5ndGg7bjxyO24rKyl7dmFyIG89dC5hdHRyaWJMaXN0W25dLGM9b1swXSx1PW9bMV0saD1MKGMsITApLGw9aC5wcmVmaXgsVD1oLmxvY2FsLEU9XCJcIj09PWw/XCJcIjppLm5zW2xdfHxcIlwiLHA9e25hbWU6Yyx2YWx1ZTp1LHByZWZpeDpsLGxvY2FsOlQsdXJpOkV9O2wmJlwieG1sbnNcIiE9PWwmJiFFJiYoUCh0LFwiVW5ib3VuZCBuYW1lc3BhY2UgcHJlZml4OiBcIitKU09OLnN0cmluZ2lmeShsKSkscC51cmk9bCksdC50YWcuYXR0cmlidXRlc1tjXT1wLE8odCxcIm9uYXR0cmlidXRlXCIscCl9dC5hdHRyaWJMaXN0Lmxlbmd0aD0wfXQudGFnLmlzU2VsZkNsb3Npbmc9ISFlLHQuc2F3Um9vdD0hMCx0LnRhZ3MucHVzaCh0LnRhZyksTyh0LFwib25vcGVudGFnXCIsdC50YWcpLGV8fCh0Lm5vc2NyaXB0fHxcInNjcmlwdFwiIT09dC50YWdOYW1lLnRvTG93ZXJDYXNlKCk/dC5zdGF0ZT1ELlRFWFQ6dC5zdGF0ZT1ELlNDUklQVCx0LnRhZz1udWxsLHQudGFnTmFtZT1cIlwiKSx0LmF0dHJpYk5hbWU9dC5hdHRyaWJWYWx1ZT1cIlwiLHQuYXR0cmliTGlzdC5sZW5ndGg9MH1mdW5jdGlvbiB4KHQpe2lmKCF0LnRhZ05hbWUpcmV0dXJuIFAodCxcIldlaXJkIGVtcHR5IGNsb3NlIHRhZy5cIiksdC50ZXh0Tm9kZSs9XCI8Lz5cIix2b2lkKHQuc3RhdGU9RC5URVhUKTtpZih0LnNjcmlwdCl7aWYoXCJzY3JpcHRcIiE9PXQudGFnTmFtZSlyZXR1cm4gdC5zY3JpcHQrPVwiPC9cIit0LnRhZ05hbWUrXCI+XCIsdC50YWdOYW1lPVwiXCIsdm9pZCh0LnN0YXRlPUQuU0NSSVBUKTtPKHQsXCJvbnNjcmlwdFwiLHQuc2NyaXB0KSx0LnNjcmlwdD1cIlwifXZhciBlPXQudGFncy5sZW5ndGgsaT10LnRhZ05hbWU7dC5zdHJpY3R8fChpPWlbdC5sb29zZUNhc2VdKCkpO2Zvcih2YXIgcz1pO2UtLTspe2lmKHQudGFnc1tlXS5uYW1lPT09cylicmVhaztQKHQsXCJVbmV4cGVjdGVkIGNsb3NlIHRhZ1wiKX1pZihlPDApcmV0dXJuIFAodCxcIlVubWF0Y2hlZCBjbG9zaW5nIHRhZzogXCIrdC50YWdOYW1lKSx0LnRleHROb2RlKz1cIjwvXCIrdC50YWdOYW1lK1wiPlwiLHZvaWQodC5zdGF0ZT1ELlRFWFQpO3QudGFnTmFtZT1pO2Zvcih2YXIgYT10LnRhZ3MubGVuZ3RoO2EtLSA+ZTspe3ZhciBuPXQudGFnPXQudGFncy5wb3AoKTt0LnRhZ05hbWU9dC50YWcubmFtZSxPKHQsXCJvbmNsb3NldGFnXCIsdC50YWdOYW1lKTt2YXIgcj17fTtmb3IodmFyIG8gaW4gbi5ucylyW29dPW4ubnNbb107dmFyIGM9dC50YWdzW3QudGFncy5sZW5ndGgtMV18fHQ7dC5vcHQueG1sbnMmJm4ubnMhPT1jLm5zJiZPYmplY3Qua2V5cyhuLm5zKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZhciBpPW4ubnNbZV07Tyh0LFwib25jbG9zZW5hbWVzcGFjZVwiLHtwcmVmaXg6ZSx1cmk6aX0pfSl9MD09PWUmJih0LmNsb3NlZFJvb3Q9ITApLHQudGFnTmFtZT10LmF0dHJpYlZhbHVlPXQuYXR0cmliTmFtZT1cIlwiLHQuYXR0cmliTGlzdC5sZW5ndGg9MCx0LnN0YXRlPUQuVEVYVH1mdW5jdGlvbiB3KHQpe3ZhciBlLGk9dC5lbnRpdHkscz1pLnRvTG93ZXJDYXNlKCksYT1cIlwiO3JldHVybiB0LkVOVElUSUVTW2ldP3QuRU5USVRJRVNbaV06dC5FTlRJVElFU1tzXT90LkVOVElUSUVTW3NdOihcIiNcIj09PShpPXMpLmNoYXJBdCgwKSYmKFwieFwiPT09aS5jaGFyQXQoMSk/KGk9aS5zbGljZSgyKSxhPShlPXBhcnNlSW50KGksMTYpKS50b1N0cmluZygxNikpOihpPWkuc2xpY2UoMSksYT0oZT1wYXJzZUludChpLDEwKSkudG9TdHJpbmcoMTApKSksaT1pLnJlcGxhY2UoL14wKy8sXCJcIiksaXNOYU4oZSl8fGEudG9Mb3dlckNhc2UoKSE9PWk/KFAodCxcIkludmFsaWQgY2hhcmFjdGVyIGVudGl0eVwiKSxcIiZcIit0LmVudGl0eStcIjtcIik6U3RyaW5nLmZyb21Db2RlUG9pbnQoZSkpfWZ1bmN0aW9uIEcodCxlKXtcIjxcIj09PWU/KHQuc3RhdGU9RC5PUEVOX1dBS0EsdC5zdGFydFRhZ1Bvc2l0aW9uPXQucG9zaXRpb24pOm0oZSl8fChQKHQsXCJOb24td2hpdGVzcGFjZSBiZWZvcmUgZmlyc3QgdGFnLlwiKSx0LnRleHROb2RlPWUsdC5zdGF0ZT1ELlRFWFQpfWZ1bmN0aW9uIE0odCxlKXt2YXIgaT1cIlwiO3JldHVybiBlPHQubGVuZ3RoJiYoaT10LmNoYXJBdChlKSksaX1EPXQuU1RBVEUsU3RyaW5nLmZyb21Db2RlUG9pbnR8fChnPVN0cmluZy5mcm9tQ2hhckNvZGUsQT1NYXRoLmZsb29yLEk9ZnVuY3Rpb24oKXt2YXIgdCxlLGk9W10scz0tMSxhPWFyZ3VtZW50cy5sZW5ndGg7aWYoIWEpcmV0dXJuXCJcIjtmb3IodmFyIG49XCJcIjsrK3M8YTspe3ZhciByPU51bWJlcihhcmd1bWVudHNbc10pO2lmKCFpc0Zpbml0ZShyKXx8cjwwfHxyPjExMTQxMTF8fEEocikhPT1yKXRocm93IFJhbmdlRXJyb3IoXCJJbnZhbGlkIGNvZGUgcG9pbnQ6IFwiK3IpO3I8PTY1NTM1P2kucHVzaChyKToodD01NTI5NisoKHItPTY1NTM2KT4+MTApLGU9ciUxMDI0KzU2MzIwLGkucHVzaCh0LGUpKSwocysxPT09YXx8aS5sZW5ndGg+MTYzODQpJiYobis9Zy5hcHBseShudWxsLGkpLGkubGVuZ3RoPTApfXJldHVybiBufSxPYmplY3QuZGVmaW5lUHJvcGVydHk/T2JqZWN0LmRlZmluZVByb3BlcnR5KFN0cmluZyxcImZyb21Db2RlUG9pbnRcIix7dmFsdWU6SSxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTpTdHJpbmcuZnJvbUNvZGVQb2ludD1JKX0oXCJ1bmRlZmluZWRcIj09dHlwZW9mIGV4cG9ydHM/dGhpcy5zYXg9e306ZXhwb3J0cyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbk5oZUM1cWN5SmRMQ0p1WVcxbGN5STZXeUp6WVhnaUxDSndZWEp6WlhJaUxDSnpkSEpwWTNRaUxDSnZjSFFpTENKVFFWaFFZWEp6WlhJaUxDSlRRVmhUZEhKbFlXMGlMQ0pqY21WaGRHVlRkSEpsWVcwaUxDSk5RVmhmUWxWR1JrVlNYMHhGVGtkVVNDSXNJbE4wY21WaGJTSXNJbUoxWm1abGNuTWlMQ0owYUdseklpd2lhU0lzSW13aUxDSnNaVzVuZEdnaUxDSmpiR1ZoY2tKMVptWmxjbk1pTENKeElpd2lZeUlzSW1KMVptWmxja05vWldOclVHOXphWFJwYjI0aUxDSnNiM2RsY21OaGMyVWlMQ0pzYjNkbGNtTmhjMlYwWVdkeklpd2liRzl2YzJWRFlYTmxJaXdpZEdGbmN5SXNJbU5zYjNObFpDSXNJbU5zYjNObFpGSnZiM1FpTENKellYZFNiMjkwSWl3aWRHRm5JaXdpWlhKeWIzSWlMQ0p1YjNOamNtbHdkQ0lzSW5OMFlYUmxJaXdpVXlJc0lrSkZSMGxPSWl3aWMzUnlhV04wUlc1MGFYUnBaWE1pTENKRlRsUkpWRWxGVXlJc0lrOWlhbVZqZENJc0ltTnlaV0YwWlNJc0lsaE5URjlGVGxSSlZFbEZVeUlzSW1GMGRISnBZa3hwYzNRaUxDSjRiV3h1Y3lJc0ltNXpJaXdpY205dmRFNVRJaXdpZEhKaFkydFFiM05wZEdsdmJpSXNJbkJ2YzJsMGFXOXVJaXdpYkdsdVpTSXNJbU52YkhWdGJpSXNJbVZ0YVhRaUxDSkZWa1ZPVkZNaUxDSnZJaXdpUmlJc0luQnliM1J2ZEhsd1pTSXNJbXRsZVhNaUxDSmhJaXdpYUdGelQzZHVVSEp2Y0dWeWRIa2lMQ0p3ZFhOb0lpd2laVzVrSWl3aWQzSnBkR1VpTENKamFIVnVheUlzSW5SdlUzUnlhVzVuSWl3aVkyaGhja0YwSWl3aVFrVkhTVTVmVjBoSlZFVlRVRUZEUlNJc0ltSmxaMmx1VjJocGRHVlRjR0ZqWlNJc0lsUkZXRlFpTENKemRHRnlkR2tpTENKMFpYaDBUbTlrWlNJc0luTjFZbk4wY21sdVp5SXNJbWx6VjJocGRHVnpjR0ZqWlNJc0luTjBjbWxqZEVaaGFXd2lMQ0pVUlZoVVgwVk9WRWxVV1NJc0lrOVFSVTVmVjBGTFFTSXNJbk4wWVhKMFZHRm5VRzl6YVhScGIyNGlMQ0pUUTFKSlVGUWlMQ0pUUTFKSlVGUmZSVTVFU1U1SElpd2ljMk55YVhCMElpd2lRMHhQVTBWZlZFRkhJaXdpVTBkTlRGOUVSVU5NSWl3aWMyZHRiRVJsWTJ3aUxDSnBjMDFoZEdOb0lpd2libUZ0WlZOMFlYSjBJaXdpVDFCRlRsOVVRVWNpTENKMFlXZE9ZVzFsSWl3aVVGSlBRMTlKVGxOVUlpd2ljSEp2WTBsdWMzUk9ZVzFsSWl3aWNISnZZMGx1YzNSQ2IyUjVJaXdpY0dGa0lpd2lRWEp5WVhraUxDSnFiMmx1SWl3aWRHOVZjSEJsY2tOaGMyVWlMQ0pEUkVGVVFTSXNJbVZ0YVhST2IyUmxJaXdpWTJSaGRHRWlMQ0pEVDAxTlJVNVVJaXdpWTI5dGJXVnVkQ0lzSWtSUFExUlpVRVVpTENKa2IyTjBlWEJsSWl3aWFYTlJkVzkwWlNJc0lsTkhUVXhmUkVWRFRGOVJWVTlVUlVRaUxDSkVUME5VV1ZCRlgwUlVSQ0lzSWtSUFExUlpVRVZmVVZWUFZFVkVJaXdpUkU5RFZGbFFSVjlFVkVSZlVWVlBWRVZFSWl3aVEwOU5UVVZPVkY5RlRrUkpUa2NpTENKRFQwMU5SVTVVWDBWT1JFVkVJaXdpZEdWNGRHOXdkSE1pTENKRFJFRlVRVjlGVGtSSlRrY2lMQ0pEUkVGVVFWOUZUa1JKVGtkZk1pSXNJbEJTVDBOZlNVNVRWRjlGVGtSSlRrY2lMQ0pRVWs5RFgwbE9VMVJmUWs5RVdTSXNJbTVoYldVaUxDSmliMlI1SWl3aWJtRnRaVUp2WkhraUxDSnVaWGRVWVdjaUxDSnZjR1Z1VkdGbklpd2lUMUJGVGw5VVFVZGZVMHhCVTBnaUxDSkJWRlJTU1VJaUxDSmpiRzl6WlZSaFp5SXNJbUYwZEhKcFlrNWhiV1VpTENKaGRIUnlhV0pXWVd4MVpTSXNJa0ZVVkZKSlFsOU9RVTFGSWl3aVFWUlVVa2xDWDFaQlRGVkZJaXdpWVhSMGNtbGlJaXdpUVZSVVVrbENYMDVCVFVWZlUwRlhYMWRJU1ZSRklpd2lZWFIwY21saWRYUmxjeUlzSW5aaGJIVmxJaXdpUVZSVVVrbENYMVpCVEZWRlgxRlZUMVJGUkNJc0lrRlVWRkpKUWw5V1FVeFZSVjlWVGxGVlQxUkZSQ0lzSWtGVVZGSkpRbDlXUVV4VlJWOUZUbFJKVkZsZlVTSXNJa0ZVVkZKSlFsOVdRVXhWUlY5RFRFOVRSVVFpTENKcGMwRjBkSEpwWWtWdVpDSXNJa0ZVVkZKSlFsOVdRVXhWUlY5RlRsUkpWRmxmVlNJc0lrTk1UMU5GWDFSQlIxOVRRVmRmVjBoSlZFVWlMQ0p1YjNSTllYUmphQ0lzSW5KbGRIVnlibE4wWVhSbElpd2lZblZtWm1WeUlpd2ljR0Z5YzJWRmJuUnBkSGtpTENKbGJuUnBkSGtpTENKbGJuUnBkSGxDYjJSNUlpd2laVzUwYVhSNVUzUmhjblFpTENKRmNuSnZjaUlzSW0xaGVFRnNiRzkzWldRaUxDSk5ZWFJvSWl3aWJXRjRJaXdpYldGNFFXTjBkV0ZzSWl3aWJHVnVJaXdpWTJ4dmMyVlVaWGgwSWl3aWJTSXNJbU5vWldOclFuVm1abVZ5VEdWdVozUm9JaXdpY21WemRXMWxJaXdpWTJ4dmMyVWlMQ0ptYkhWemFDSXNJbkpsY1hWcGNtVWlMQ0psZUNJc0luTjBjbVZoYlZkeVlYQnpJaXdpWm1sc2RHVnlJaXdpWlhZaUxDSmhjSEJzZVNJc0lsOXdZWEp6WlhJaUxDSjNjbWwwWVdKc1pTSXNJbkpsWVdSaFlteGxJaXdpYldVaUxDSnZibVZ1WkNJc0ltOXVaWEp5YjNJaUxDSmxjaUlzSWw5a1pXTnZaR1Z5SWl3aVptOXlSV0ZqYUNJc0ltUmxabWx1WlZCeWIzQmxjblI1SWl3aVoyVjBJaXdpYzJWMElpd2lhQ0lzSW5KbGJXOTJaVUZzYkV4cGMzUmxibVZ5Y3lJc0ltOXVJaXdpWlc1MWJXVnlZV0pzWlNJc0ltTnZibVpwWjNWeVlXSnNaU0lzSW1OdmJuTjBjblZqZEc5eUlpd2laR0YwWVNJc0lrSjFabVpsY2lJc0ltbHpRblZtWm1WeUlpd2lVMFFpTENKVGRISnBibWRFWldOdlpHVnlJaXdpYUdGdVpHeGxjaUlzSW1sdVpHVjRUMllpTENKaGNtZHpJaXdpWVhKbmRXMWxiblJ6SWl3aWMzQnNhV05sSWl3aVkyRnNiQ0lzSWxoTlRGOU9RVTFGVTFCQlEwVWlMQ0pZVFV4T1UxOU9RVTFGVTFCQlEwVWlMQ0o0Yld3aUxDSnlaV2RsZUNJc0luUmxjM1FpTENKemRISnBibWRHY205dFEyaGhja052WkdVaUxDSm1iRzl2Y2lJc0ltWnliMjFEYjJSbFVHOXBiblFpTENKeklpd2lVMVJCVkVVaUxDSkRUMDFOUlU1VVgxTlVRVkpVU1U1SElpd2lZVzF3SWl3aVozUWlMQ0pzZENJc0luRjFiM1FpTENKaGNHOXpJaXdpUVVWc2FXY2lMQ0pCWVdOMWRHVWlMQ0pCWTJseVl5SXNJa0ZuY21GMlpTSXNJa0Z5YVc1bklpd2lRWFJwYkdSbElpd2lRWFZ0YkNJc0lrTmpaV1JwYkNJc0lrVlVTQ0lzSWtWaFkzVjBaU0lzSWtWamFYSmpJaXdpUldkeVlYWmxJaXdpUlhWdGJDSXNJa2xoWTNWMFpTSXNJa2xqYVhKaklpd2lTV2R5WVhabElpd2lTWFZ0YkNJc0lrNTBhV3hrWlNJc0lrOWhZM1YwWlNJc0lrOWphWEpqSWl3aVQyZHlZWFpsSWl3aVQzTnNZWE5vSWl3aVQzUnBiR1JsSWl3aVQzVnRiQ0lzSWxSSVQxSk9JaXdpVldGamRYUmxJaXdpVldOcGNtTWlMQ0pWWjNKaGRtVWlMQ0pWZFcxc0lpd2lXV0ZqZFhSbElpd2lZV0ZqZFhSbElpd2lZV05wY21NaUxDSmhaV3hwWnlJc0ltRm5jbUYyWlNJc0ltRnlhVzVuSWl3aVlYUnBiR1JsSWl3aVlYVnRiQ0lzSW1OalpXUnBiQ0lzSW1WaFkzVjBaU0lzSW1WamFYSmpJaXdpWldkeVlYWmxJaXdpWlhSb0lpd2laWFZ0YkNJc0ltbGhZM1YwWlNJc0ltbGphWEpqSWl3aWFXZHlZWFpsSWl3aWFYVnRiQ0lzSW01MGFXeGtaU0lzSW05aFkzVjBaU0lzSW05amFYSmpJaXdpYjJkeVlYWmxJaXdpYjNOc1lYTm9JaXdpYjNScGJHUmxJaXdpYjNWdGJDSXNJbk42Ykdsbklpd2lkR2h2Y200aUxDSjFZV04xZEdVaUxDSjFZMmx5WXlJc0luVm5jbUYyWlNJc0luVjFiV3dpTENKNVlXTjFkR1VpTENKNWRXMXNJaXdpWTI5d2VTSXNJbkpsWnlJc0ltNWljM0FpTENKcFpYaGpiQ0lzSW1ObGJuUWlMQ0p3YjNWdVpDSXNJbU4xY25KbGJpSXNJbmxsYmlJc0ltSnlkbUpoY2lJc0luTmxZM1FpTENKMWJXd2lMQ0p2Y21SbUlpd2liR0Z4ZFc4aUxDSnViM1FpTENKemFIa2lMQ0p0WVdOeUlpd2laR1ZuSWl3aWNHeDFjMjF1SWl3aWMzVndNU0lzSW5OMWNESWlMQ0p6ZFhBeklpd2lZV04xZEdVaUxDSnRhV055YnlJc0luQmhjbUVpTENKdGFXUmtiM1FpTENKalpXUnBiQ0lzSW05eVpHMGlMQ0p5WVhGMWJ5SXNJbVp5WVdNeE5DSXNJbVp5WVdNeE1pSXNJbVp5WVdNek5DSXNJbWx4ZFdWemRDSXNJblJwYldWeklpd2laR2wyYVdSbElpd2lUMFZzYVdjaUxDSnZaV3hwWnlJc0lsTmpZWEp2YmlJc0luTmpZWEp2YmlJc0lsbDFiV3dpTENKbWJtOW1JaXdpWTJseVl5SXNJblJwYkdSbElpd2lRV3h3YUdFaUxDSkNaWFJoSWl3aVIyRnRiV0VpTENKRVpXeDBZU0lzSWtWd2MybHNiMjRpTENKYVpYUmhJaXdpUlhSaElpd2lWR2hsZEdFaUxDSkpiM1JoSWl3aVMyRndjR0VpTENKTVlXMWlaR0VpTENKTmRTSXNJazUxSWl3aVdHa2lMQ0pQYldsamNtOXVJaXdpVUdraUxDSlNhRzhpTENKVGFXZHRZU0lzSWxSaGRTSXNJbFZ3YzJsc2IyNGlMQ0pRYUdraUxDSkRhR2tpTENKUWMya2lMQ0pQYldWbllTSXNJbUZzY0doaElpd2lZbVYwWVNJc0ltZGhiVzFoSWl3aVpHVnNkR0VpTENKbGNITnBiRzl1SWl3aWVtVjBZU0lzSW1WMFlTSXNJblJvWlhSaElpd2lhVzkwWVNJc0ltdGhjSEJoSWl3aWJHRnRZbVJoSWl3aWJYVWlMQ0p1ZFNJc0luaHBJaXdpYjIxcFkzSnZiaUlzSW5CcElpd2ljbWh2SWl3aWMybG5iV0ZtSWl3aWMybG5iV0VpTENKMFlYVWlMQ0oxY0hOcGJHOXVJaXdpY0docElpd2lZMmhwSWl3aWNITnBJaXdpYjIxbFoyRWlMQ0owYUdWMFlYTjViU0lzSW5Wd2MybG9JaXdpY0dsMklpd2laVzV6Y0NJc0ltVnRjM0FpTENKMGFHbHVjM0FpTENKNmQyNXFJaXdpZW5kcUlpd2liSEp0SWl3aWNteHRJaXdpYm1SaGMyZ2lMQ0p0WkdGemFDSXNJbXh6Y1hWdklpd2ljbk54ZFc4aUxDSnpZbkYxYnlJc0lteGtjWFZ2SWl3aWNtUnhkVzhpTENKaVpIRjFieUlzSW1SaFoyZGxjaUlzSWtSaFoyZGxjaUlzSW1KMWJHd2lMQ0pvWld4c2FYQWlMQ0p3WlhKdGFXd2lMQ0p3Y21sdFpTSXNJbEJ5YVcxbElpd2liSE5oY1hWdklpd2ljbk5oY1hWdklpd2liMnhwYm1VaUxDSm1jbUZ6YkNJc0ltVjFjbThpTENKcGJXRm5aU0lzSW5kbGFXVnljQ0lzSW5KbFlXd2lMQ0owY21Ga1pTSXNJbUZzWldaemVXMGlMQ0pzWVhKeUlpd2lkV0Z5Y2lJc0luSmhjbklpTENKa1lYSnlJaXdpYUdGeWNpSXNJbU55WVhKeUlpd2liRUZ5Y2lJc0luVkJjbklpTENKeVFYSnlJaXdpWkVGeWNpSXNJbWhCY25JaUxDSm1iM0poYkd3aUxDSndZWEowSWl3aVpYaHBjM1FpTENKbGJYQjBlU0lzSW01aFlteGhJaXdpYVhOcGJpSXNJbTV2ZEdsdUlpd2libWtpTENKd2NtOWtJaXdpYzNWdElpd2liV2x1ZFhNaUxDSnNiM2RoYzNRaUxDSnlZV1JwWXlJc0luQnliM0FpTENKcGJtWnBiaUlzSW1GdVp5SXNJbUZ1WkNJc0ltOXlJaXdpWTJGd0lpd2lZM1Z3SWl3aWFXNTBJaXdpZEdobGNtVTBJaXdpYzJsdElpd2lZMjl1WnlJc0ltRnplVzF3SWl3aWJtVWlMQ0psY1hWcGRpSXNJbXhsSWl3aVoyVWlMQ0p6ZFdJaUxDSnpkWEFpTENKdWMzVmlJaXdpYzNWaVpTSXNJbk4xY0dVaUxDSnZjR3gxY3lJc0ltOTBhVzFsY3lJc0luQmxjbkFpTENKelpHOTBJaXdpYkdObGFXd2lMQ0p5WTJWcGJDSXNJbXhtYkc5dmNpSXNJbkptYkc5dmNpSXNJbXhoYm1jaUxDSnlZVzVuSWl3aWJHOTZJaXdpYzNCaFpHVnpJaXdpWTJ4MVluTWlMQ0pvWldGeWRITWlMQ0prYVdGdGN5SXNJbXRsZVNJc0ltVWlMQ0pUZEhKcGJtY2lMQ0ptY205dFEyaGhja052WkdVaUxDSmxkbVZ1ZENJc0ltNXZaR1ZVZVhCbElpd2lkR1Y0ZENJc0luUnlhVzBpTENKdWIzSnRZV3hwZW1VaUxDSnlaWEJzWVdObElpd2liV1Z6YzJGblpTSXNJbkJoY21WdWRDSXNJbkZ1WVcxbElpd2lZWFIwY21saWRYUmxJaXdpY1hWaGJFNWhiV1VpTENKemNHeHBkQ0lzSW5CeVpXWnBlQ0lzSW14dlkyRnNJaXdpY1c0aUxDSnpaV3htUTJ4dmMybHVaeUlzSW5WeWFTSXNJa3BUVDA0aUxDSnpkSEpwYm1kcFpua2lMQ0p3SWl3aWJuWWlMQ0pwYzFObGJHWkRiRzl6YVc1bklpd2lkRzlNYjNkbGNrTmhjMlVpTENKMElpd2lZMnh2YzJWVWJ5SXNJbkJ2Y0NJc0luZ2lMQ0p1SWl3aWJuVnRJaXdpWlc1MGFYUjVURU1pTENKdWRXMVRkSElpTENKemJHbGpaU0lzSW5CaGNuTmxTVzUwSWl3aWFYTk9ZVTRpTENKeVpYTjFiSFFpTENKb2FXZG9VM1Z5Y205bllYUmxJaXdpYkc5M1UzVnljbTluWVhSbElpd2lZMjlrWlZWdWFYUnpJaXdpYVc1a1pYZ2lMQ0pqYjJSbFVHOXBiblFpTENKT2RXMWlaWElpTENKcGMwWnBibWwwWlNJc0lsSmhibWRsUlhKeWIzSWlMQ0psZUhCdmNuUnpJbDBzSW0xaGNIQnBibWR6SWpvaVEwRkJReXhUUVVGWFFTeEhRVU5XUVN4RlFVRkpReXhQUVVGVExGTkJRVlZETEVWQlFWRkRMRWRCUVU4c1QwRkJUeXhKUVVGSlF5eEZRVUZWUml4RlFVRlJReXhKUVVOdVJVZ3NSVUZCU1Vrc1ZVRkJXVUVzUlVGRGFFSktMRVZCUVVsTExGVkJRVmxCTEVWQlEyaENUQ3hGUVVGSlRTeGhRWFZMU2l4VFFVRjFRa29zUlVGQlVVTXNSMEZETjBJc1QwRkJUeXhKUVVGSlJTeEZRVUZWU0N4RlFVRlJReXhKUVRkS0wwSklMRVZCUVVsUExHdENRVUZ2UWl4TlFVVjRRaXhKUVN0SlNVTXNSVUV2U1VGRExFVkJRVlVzUTBGRFdpeFZRVUZYTEZkQlFWa3NWMEZCV1N4VlFVRlhMRlZCUXpsRExHVkJRV2RDTEdWQlFXZENMRk5CUVZVc1lVRkRNVU1zWTBGQlpTeFJRVUZUTEZWQmQwSXhRaXhUUVVGVFRDeEZRVUZYUml4RlFVRlJReXhIUVVNeFFpeExRVUZOVHl4blFrRkJaMEpPTEVkQlEzQkNMRTlCUVU4c1NVRkJTVUVzUlVGQlZVWXNSVUZCVVVNc1NVRjNSbXBETEZOQlFYVkNSaXhIUVVOeVFpeEpRVUZMTEVsQlFVbFZMRVZCUVVrc1JVRkJSME1zUlVGQlNVZ3NSVUZCVVVrc1QwRkJVVVlzUlVGQlNVTXNSVUZCUjBRc1NVRkRla05XTEVWQlFVOVJMRVZCUVZGRkxFbEJRVTBzUjBGMFJuWkNSeXhEUVVSaFNpeE5RVUZCUVN4TFFVVk9TeXhGUVVaTlRDeExRVVZMVFN4RlFVRkpMRWRCUmxST0xFdEJSMDVQTEc5Q1FVRnpRbXBDTEVWQlFVbFBMR3RDUVVod1FrY3NTMEZKVGxBc1NVRkJUVUVzUjBGQlR5eEhRVXBRVHl4TFFVdE9VQ3hKUVVGSlpTeFZRVXhGVWl4TFFVdHBRbEFzU1VGQlNXVXNWMEZNY2tKU0xFdEJTM2xEVUN4SlFVRkpaMElzWTBGTU4wTlVMRXRCVFU1VkxGVkJUazFXTEV0QlRXRlFMRWxCUVVsbExGVkJRVmtzWTBGQlowSXNZMEZPTjBOU0xFdEJUMDVYTEV0QlFVOHNSMEZRUkZnc1MwRlJUbGtzVDBGU1RWb3NTMEZSVldFc1YwRlNWbUlzUzBGUk9FSmpMRk5CUVZVc1JVRlNlRU5rTEV0QlUwNWxMRWxCVkUxbUxFdEJVMDluUWl4TlFVRlJMRXRCVkdab1FpeExRVlZPVWl4VFFVRlhRU3hGUVZaTVVTeExRVmRPYVVJc1dVRkJZM3BDTEVsQldGSlJMRXRCVjNsQ1VDeEpRVUZKZDBJc1ZVRllOMEpxUWl4TFFWbE9hMElzVFVGQlVVTXNSVUZCUlVNc1RVRmFTbkJDTEV0QllVNXhRaXhsUVdKTmNrSXNTMEZoYTBKUUxFbEJRVWswUWl4bFFXSjBRbkpDTEV0QlkwNXpRaXhUUVdSTmRFSXNTMEZqV1hGQ0xHVkJRV2xDUlN4UFFVRlBReXhQUVVGUGJFTXNSVUZCU1cxRExHTkJRV2RDUml4UFFVRlBReXhQUVVGUGJFTXNSVUZCU1dkRExGVkJaR3BHZEVJc1MwRmxUakJDTEZkQlFXRXNSMEZtVURGQ0xFdEJiMEpHVUN4SlFVRkphME1zVVVGd1FrWXpRaXhMUVhGQ1NqUkNMRWRCUVV0TUxFOUJRVTlETEU5QlFVOUxMRWxCY2tKbU4wSXNTMEY1UWs0NFFpeGxRVUYzUXl4SlFYcENiRU01UWl4TFFYbENhVUpRTEVsQlFVbHpReXhUUVhwQ2NrSXZRaXhMUVRCQ1JqaENMR2RDUVRGQ1JUbENMRXRCTWtKS0swSXNVMEV6UWtrdlFpeExRVEpDWTJkRExFdEJNMEprYUVNc1MwRXlRalJDYVVNc1QwRkJVeXhIUVVWc1JFTXNSVUUzUW1Gc1F5eExRVFpDUVN4WFFYWkVabFlzUlVGQlNUWkRMRTlCUVZNc1EwRkRXQ3hQUVVOQkxIZENRVU5CTEd0Q1FVTkJMRlZCUTBFc1ZVRkRRU3hsUVVOQkxGbEJRMEVzVlVGRFFTeFhRVU5CTEZsQlEwRXNVVUZEUVN4aFFVTkJMRkZCUTBFc1RVRkRRU3hSUVVOQkxGTkJRMEVzWjBKQlEwRXNhMEpCZDBOSFdpeFBRVUZQUXl4VFFVTldSQ3hQUVVGUFF5eFBRVUZUTEZOQlFWVlpMRWRCUTNoQ0xGTkJRVk5ETEV0QlIxUXNUMEZHUVVFc1JVRkJSVU1zVlVGQldVWXNSVUZEU0N4SlFVRkpReXhKUVV0a1pDeFBRVUZQWjBJc1QwRkRWbWhDTEU5QlFVOW5RaXhMUVVGUExGTkJRVlZJTEVkQlEzUkNMRWxCUVVsSkxFVkJRVWtzUjBGRFVpeEpRVUZMTEVsQlFVbDJReXhMUVVGTGJVTXNSVUZCVDBFc1JVRkJSVXNzWlVGQlpYaERMRWxCUVVsMVF5eEZRVUZGUlN4TFFVRkxla01zUjBGRGFrUXNUMEZCVDNWRExFbEJNRVJZT1VNc1JVRkJWVFJETEZWQlFWa3NRMEZEY0VKTExFbEJRVXNzVjBGQlkwRXNSVUZCU1RORExFOUJRM1pDTkVNc1RVRXdlVUpHTEZOQlFXZENReXhIUVVWa0xFZEJRVWszUXl4TFFVRkxaMElzVFVGRFVDeE5RVUZOYUVJc1MwRkJTMmRDTEUxQlJXSXNSMEZLWVdoQ0xFdEJTVVpaTEU5QlExUXNUMEZCVDBrc1JVRk1TV2hDTEV0QlRWUXNkMFJCUlVvc1IwRkJZeXhQUVVGV05rTXNSVUZEUml4UFFVRlBSaXhGUVZSSk0wTXNUVUZYVVN4cFFrRkJWalpETEVsQlExUkJMRVZCUVZGQkxFVkJRVTFETEZsQlJXaENMRWxCUVVrM1F5eEZRVUZKTEVWQlEwcExMRVZCUVVrc1IwRkRVaXhMUVVORlFTeEZRVUZKZVVNc1JVRkJUMFlzUlVGQlR6VkRMRXRCYWtKUVJDeExRV3RDU2swc1JVRkJTVUVzUlVGRlRrRXNSMEZqVEN4UFFXeERWMDRzUzBGM1FrRTRRaXhuUWtGNFFrRTVRaXhMUVhsQ1JpdENMRmRCUTBjc1QwRkJUbnBDTEVkQk1VSkxUaXhMUVRKQ1FXZERMRTlCTTBKQmFFTXNTMEUwUWtGcFF5eFBRVUZUTEVkQk5VSlVha01zUzBFNFFrRnBReXhWUVRsQ1FXcERMRXRCYTBOSmEwSXNUMEZEWWl4TFFVRkxReXhGUVVGRlF5eE5RVVZNTEVkQmNrTlBjRUlzUzBGdlEwRnJRaXhOUVVGUlF5eEZRVUZGTmtJc2FVSkJRMUFzVjBGQlRqRkRMRVZCUTBZc1UwRkZSakpETEVWQmVFTlBha1FzUzBGM1EybENUU3hIUVVONFFpeFRRVVZHTEV0QlFVdGhMRVZCUVVVMlFpeHBRa0ZEVEVNc1JVRTFRMDlxUkN4TFFUUkRhVUpOTEVkQlEzaENMRk5CUlVZc1MwRkJTMkVzUlVGQlJTdENMRXRCUTB3c1IwRm9SRTlzUkN4TFFXZEVTV01zVlVGb1JFcGtMRXRCWjBSMVFtRXNWMEZCV1N4RFFVVjRReXhKUVVSQkxFbEJRVWx6UXl4RlFVRlRiRVFzUlVGQlNTeEZRVU5XU3l4SFFVRlhMRTFCUVU1QkxFZEJRVzFDTEUxQlFVNUJMRWxCUTNaQ1FTeEZRVUZKZVVNc1JVRkJUMFlzUlVGQlR6VkRMRTlCYmtSbVJDeExRVzlFWVRoQ0xHZENRWEJFWWpsQ0xFdEJjVVJOSzBJc1YwRkRSeXhQUVVGT2VrSXNSMEYwUkVoT0xFdEJkVVJSWjBNc1QwRjJSRkpvUXl4TFFYZEVVV2xETEU5QlFWTXNSMEY0UkdwQ2FrTXNTMEV3UkZGcFF5eFZRVEZFVW1wRExFdEJPRVJGYjBRc1ZVRkJXVkFzUlVGQlRWRXNWVUZCVlVZc1JVRkJVV3hFTEVWQlFVa3NSMEZGZGtNc1RVRkJUa3NzUjBGb1JVZE9MRXRCWjBWdFFtTXNVMEZvUlc1Q1pDeExRV2RGY1VOaExHRkJhRVZ5UTJJc1MwRm5SVEpFVWl4UlFVa3pSRGhFTEVWQlFXRm9SQ3hKUVhCRllrNHNTMEZ2UlRSQ1l5eFZRWEJGTlVKa0xFdEJiMFU0UTJFc1dVRkRha1F3UXl4RlFYSkZSM1pFTEV0QmNVVm5RaXh0UTBGRldDeE5RVUZPVFN4RlFYWkZRMDRzUzBGM1JVbHJRaXhOUVVGUlF5eEZRVUZGY1VNc1dVRjRSV1I0UkN4TFFUQkZTVzlFTEZWQlFWazVReXhKUVRGRmFFSk9MRXRCYVVWRmEwSXNUVUZCVVVNc1JVRkJSWE5ETEZWQmFrVmFla1FzUzBGclJVVXdSQ3hwUWtGc1JVWXhSQ3hMUVd0Rk5FSXJRaXhWUVZkdVF5eFRRVVZHTEV0QlFVdGFMRVZCUVVWM1F5eFBRVVZMTEUxQlFVNXlSQ3hGUVdwR1IwNHNTMEZyUmtWclFpeE5RVUZSUXl4RlFVRkZlVU1zWTBGc1JsbzFSQ3hMUVc5R1JUWkVMRkZCUVZWMlJDeEZRVVZ1UWl4VFFVVkdMRXRCUVV0aExFVkJRVVY1UXl4alFVTkxMRTFCUVU1MFJDeEZRWHBHUjA0c1MwRXdSa1ZyUWl4TlFVRlJReXhGUVVGRk1rTXNWMEV4UmxvNVJDeExRVFJHUlRaRUxGRkJRVlVzU1VGQlRYWkVMRVZCTlVac1FrNHNTMEUyUmtWclFpeE5RVUZSUXl4RlFVRkZkME1zVVVGRmJrSXNVMEZGUml4TFFVRkxlRU1zUlVGQlJYTkRMRlZCUlV3c1IwRkJWU3hOUVVGT2JrUXNSVUZ1UjBkT0xFdEJiMGRGYTBJc1RVRkJVVU1zUlVGQlJUUkRMRlZCY0VkYUwwUXNTMEZ4UjBWblJTeFRRVUZYTEZGQlEySXNSMEZCU1ZZc1JVRkJZV2hFTEZOQlJXcENMRWRCUVVreVJDeEZRVUZSUXl4RlFVRlhOVVFzUjBGNFIzWkNUaXhMUVhsSFJXdENMRTFCUVZGRExFVkJRVVZuUkN4VFFYcEhXbTVGTEV0Qk1FZEZiMFVzVVVGQlZUbEVMRTlCUTFvc1IwRkJWU3hOUVVGT1FTeEZRVE5IU2s0c1MwRTBSMFZyUWl4TlFVRlJReXhGUVVGRk1rTXNWVUUxUjFvNVJDeExRVFpIUlc5RkxGRkJRVlVzVVVGRFdpeEhRVUZWTEUxQlFVNDVSQ3hGUVRsSFNrNHNTMEVyUjBWclFpeE5RVUZSUXl4RlFVRkZhMFFzVlVFdlIxcHlSU3hMUVdkSVJYTkZMR0ZCYUVoR2RFVXNTMEZuU0hkQ2RVVXNZVUZCWlN4UFFVTjJReXhEUVVkTUxFZEJSa0ZvUWl4RlFXeElTM1pFTEV0QmEwaGpMR1ZCYkVoa1FTeExRVzlJVFRCRUxHbENRVUZ0UWl4RlFYQklla0l4UkN4TFFXOUliME1yUWl4VFFVRlZMRU5CUTJwRUxFbEJRVWw1UXl4RlFYSklSSGhGTEV0QmNVaGpLMElzVTBGeVNHUXZRaXhMUVhGSVowTXdSQ3hwUWtGRGJrTndSQ3hGUVVGSkxFbEJRVWx0UlN4TlFVRk5SQ3hIUVVGTFJTeExRVUZMTEV0QlFVOXdSU3hGUVhSSU5VSk9MRXRCZDBoRmIwUXNWVUZCV1N4SlFVRk5PVU1zUlVGNFNIQkNUaXhMUVhsSVJXdENMRTFCUVZGRExFVkJRVVVyUWl4TFFVVnVRaXhUUVVWR0xFdEJRVXN2UWl4RlFVRkZORU1zVjBFM1NFVXZSQ3hMUVRoSVMyZEZMRk5CUVZjeFJDeEhRVUZIY1VVc1owSkJRV3RDUXl4SFFVTXhRME1zUlVFdlNFczNSU3hMUVN0SVdTeGxRUzlJV2tFc1MwRm5TVVZyUWl4TlFVRlJReXhGUVVGRmVVUXNUVUZvU1ZvMVJTeExRV2xKUldkRkxGTkJRVmNzUjBGcVNXSm9SU3hMUVd0SlJUaEZMRTFCUVZFc1NVRnNTVlk1UlN4TFFXMUpWMmRGTEZOQlFWY3hSQ3hKUVVGTkxFMUJia2sxUWs0c1MwRnZTVVZyUWl4TlFVRlJReXhGUVVGRk5FUXNVVUZ3U1ZvdlJTeExRWEZKUldkR0xGRkJRVlVzUjBGeVNWcG9SaXhMUVhOSlJXZEZMRk5CUVZjc1MwRjBTV0pvUlN4TFFYVkpXV2RGTEZOQlFWY3hSQ3hIUVVGSGNVVXNaMEpCUVd0Q1RTeEhRWFpKTlVOcVJpeExRWGRKUld0Q0xFMUJRVkZETEVWQlFVVTRSQ3hUUVhoSldtcEdMRXRCZVVsTmEwWXNVMEY2U1U1c1JpeExRWGxKZDBKakxGVkJRek5DZVVNc1JVRXhTVWQyUkN4TFFUSkpSQ3dyUTBFelNVTkJMRXRCTmtsRmEwWXNVVUZCVlN4SFFUZEpXbXhHTEV0Qk9FbEZaMFVzVTBGQlZ5eEpRVU5JTEUxQlFVNHhSQ3hIUVVOVWRVVXNSVUZvU2tzM1JTeExRV2RLV1N4dlFrRm9TbHBCTEV0QlowcDNRMmRGTEZWQmFFcDRRMmhGTEV0QmFVcEZaMFVzVTBGQlZ5eEhRV3BLWW1oRkxFdEJhMHBGYTBJc1RVRkJVVU1zUlVGQlJTdENMRTFCUTFKcFF5eEZRVUZSTjBVc1NVRnVTbHBPTEV0QmIwcEZhMElzVFVGQlVVTXNSVUZCUldsRkxHbENRWEJLV25CR0xFdEJjVXBGWjBVc1ZVRkJXVEZFTEVkQmNrcGtUaXhMUVhWS1JXZEZMRlZCUVZreFJDeEZRVVZ5UWl4VFFVVkdMRXRCUVV0aExFVkJRVVZwUlN4cFFrRkRSRGxGTEVsQk5VcEhUaXhMUVRSS1ZVc3NTVUUxU2xaTUxFdEJOa3BGYTBJc1RVRkJVVU1zUlVGQlJUUkRMRlZCTjBwYUwwUXNTMEU0U2tWTExFVkJRVWtzU1VFNVNrNU1MRXRCWjB0QlowVXNWVUZCV1RGRUxFVkJRMjVDTEZOQlJVWXNTMEZCUzJFc1JVRkJSVGhFTEZGQlEwc3NUVUZCVGpORkxFZEJjRXRIVGl4TFFYRkxSV3RDTEUxQlFWRkRMRVZCUVVVclFpeExRVU5xUWpKQ0xFVkJkRXRMTjBVc1MwRnpTMWtzV1VGMFMxcEJMRXRCYzB0blEydEdMRk5CZEV0b1EyeEdMRXRCZFV0RmEwWXNVMEZCVlN4SlFYWkxXbXhHTEV0QmVVdEZhMFlzVTBGQlZ6VkZMRVZCUTFJc1RVRkJUa0VzUlVFeFMwTk9MRXRCTWt0SmEwSXNUVUZCVVVNc1JVRkJSV3RGTEZsQlExSkdMRVZCUVZFM1JTeExRVFZMWkU0c1MwRTJTMGxyUWl4TlFVRlJReXhGUVVGRmJVVXNaVUUzUzJSMFJpeExRVGhMU1Vzc1JVRkJTVU1zU1VGSFppeFRRVVZHTEV0QlFVdGhMRVZCUVVWdFJTeGxRVzVNUlhSR0xFdEJiMHhCYTBZc1UwRkJWelZGTEVWQlEyUkJMRWxCY2t4SFRpeExRWEZNVlVzc1NVRnlURlpNTEV0QmMweEZTeXhGUVVGSkxFZEJkRXhPVEN4TFFYVk1SV3RDTEUxQlFWRkRMRVZCUVVVNFJDeFRRVVZ1UWl4VFFVVkdMRXRCUVVzNVJDeEZRVUZGYTBVc1dVRXpURVZ5Uml4TFFUUk1RV3RHTEZOQlFWYzFSU3hGUVVOU0xFMUJRVTVCTEVWQk4weEhUaXhMUVRoTVJXdENMRTFCUVZGRExFVkJRVVU0UkN4UlFVTlNSU3hGUVVGUk4wVXNTMEV2VEZwT0xFdEJaMDFGYTBJc1RVRkJVVU1zUlVGQlJXOUZMRzFDUVdoTlduWkdMRXRCYVUxRlN5eEZRVUZKUXl4SFFVVmlMRk5CUlVZc1MwRkJTMkVzUlVGQlJXOUZMRzFDUVhKTlJYWkdMRXRCYzAxQmEwWXNVMEZCVnpWRkxFVkJRMlJCTEVsQmRrMUhUaXhMUVhWTlZVc3NTVUYyVFZaTUxFdEJkMDFGYTBJc1RVRkJVVU1zUlVGQlJXdEZMRmxCZUUxYWNrWXNTMEY1VFVWTExFVkJRVWtzU1VGRllpeFRRVVZHTEV0QlFVdGpMRVZCUVVVMFJDeFJRVU5MTEUxQlFVNTZSU3hGUVRsTlIwNHNTMEVyVFVWclFpeE5RVUZSUXl4RlFVRkZjVVVzWlVFdlRWcDRSaXhMUVdsT1JXZEdMRk5CUVZjeFJTeEZRVVZ3UWl4VFFVVkdMRXRCUVV0aExFVkJRVVZ4UlN4bFFVTkxMRTFCUVU1c1JpeEhRWFJPUjA0c1MwRjFUa1ZyUWl4TlFVRlJReXhGUVVGRmMwVXNZMEYyVGxwNlJpeExRWGRPUldkR0xGRkJRVlZWTEVWQmVFNWFNVVlzUzBGM1RqUkNVQ3hKUVhoT05VSlBMRXRCZDA1M1EyZEdMRk5CZUU1NFEyaEdMRXRCZVU1TlowWXNVMEZEVkVnc1JVRXhUa2MzUlN4TFFUQk9ZeXhaUVRGT1pFRXNTMEV3VG10RFowWXNVMEV4VG14RGFFWXNTMEUwVGtWblJpeFJRVUZWTEV0Qk5VNWFhRVlzUzBFNFRrVm5SaXhUUVVGWExFbEJRVTB4UlN4RlFUbE9ia0pPTEV0QkswNUZhMElzVFVGQlVVTXNSVUZCUlRSRUxGTkJSVzVDTEZOQlJVWXNTMEZCU3pWRUxFVkJRVVZ6UlN4alFVTkxMRTFCUVU1dVJpeEhRVU5HYVVRc1JVRnlUMHQyUkN4TFFYRlBZeXh4UWtGeVQyUkJMRXRCZDA5RlowWXNVMEZCVnl4TFFVRlBNVVVzUlVGNFQzQkNUaXhMUVhsUFJXdENMRTFCUVZGRExFVkJRVVUwUkN4VFFYcFBXaTlGTEV0Qk1rOUZhMElzVFVGQlVVTXNSVUZCUlN0Q0xFdEJSVzVDTEZOQlJVWXNTMEZCU3k5Q0xFVkJRVVY1UkN4TlFVTkxMRTFCUVU1MFJTeEZRV2hRUjA0c1MwRnBVRVZyUWl4TlFVRlJReXhGUVVGRmQwVXNZVUZxVUZvelJpeExRVzFRUlRoRkxFOUJRVk40UlN4RlFVVnNRaXhUUVVWR0xFdEJRVXRoTEVWQlFVVjNSU3hoUVVOTExFMUJRVTV5Uml4RlFYaFFSMDRzUzBGNVVFVnJRaXhOUVVGUlF5eEZRVUZGZVVVc1owSkJlbEJhTlVZc1MwRXlVRVU0UlN4UFFVRlRMRWxCUVUxNFJTeEZRVE5RYWtKT0xFdEJORkJGYTBJc1RVRkJVVU1zUlVGQlJYbEVMRTlCUlc1Q0xGTkJSVVlzUzBGQlMzcEVMRVZCUVVWNVJTeGxRVU5MTEUxQlFVNTBSaXhIUVdwUlIwNHNTMEZyVVUwNFJTeFBRVU5VUkN4RlFXNVJSemRGTEV0QmJWRmpMRlZCYmxGa1FTeExRVzFSWjBNNFJTeFBRVVZ5UTBRc1JVRnlVVXMzUlN4TFFYRlJXU3huUWtGeVVWcEJMRXRCYzFGRk9FVXNUVUZCVVN4SFFYUlJWamxGTEV0QmRWRkZhMElzVFVGQlVVTXNSVUZCUlN0Q0xFMUJRMFlzVFVGQlRqVkRMRVZCZUZGS1RpeExRWGxSUlRoRkxFOUJRVk1zUzBGNlVWZzVSU3hMUVRKUlJUaEZMRTlCUVZNc1MwRkJUM2hGTEVWQk0xRnNRazRzUzBFMFVVVnJRaXhOUVVGUlF5eEZRVUZGZVVRc1QwRkZia0lzVTBGRlJpeExRVUZMZWtRc1JVRkJSV3RFTEZWQlEwc3NUVUZCVGk5RUxFVkJhbEpIVGl4TFFXdFNSV3RDTEUxQlFWRkRMRVZCUVVVd1JTeHBRa0ZEVW5aRExFVkJRV0ZvUkN4SFFXNVNha0pPTEV0QmIxSkZhMElzVFVGQlVVTXNSVUZCUlRKRkxHVkJjRkphT1VZc1MwRnpVa1Z6UlN4alFVRm5RbWhGTEVWQlJYcENMRk5CUlVZc1MwRkJTMkVzUlVGQlJUSkZMR1ZCUTB3c1NVRXpVazg1Uml4TFFUSlNTM1ZGTEdOQlFXZENha0lzUlVGQllXaEVMRWRCUTNaRExGTkJRMlVzVFVGQlRrRXNSVUUzVWtwT0xFdEJPRkpGYTBJc1RVRkJVVU1zUlVGQlJUQkZMR2xDUVRsU1dqZEdMRXRCWjFORmRVVXNZMEZCWjBKcVJTeEZRVVY2UWl4VFFVVkdMRXRCUVV0aExFVkJRVVV3UlN4cFFrRkRTeXhOUVVGT2RrWXNSMEZEUm5WRkxFVkJkRk5MTjBVc1MwRnpVMWtzTUVKQlFUSkNMRU5CUXpGREswWXNTMEYyVTBjdlJpeExRWFZUVlhORkxHRkJRMkl3UWl4TFFYaFRSMmhITEV0QmQxTlZkVVVzWlVGNFUxWjJSU3hMUVRCVFJYTkZMR0ZCTVZOR2RFVXNTMEV3VTNkQ2RVVXNZVUZCWlN4SFFURlRka04yUlN4TFFUSlRSV3RDTEUxQlFWRkRMRVZCUVVVclFpeFBRVE5UV214RUxFdEJObE5GZFVVc1kwRkJaMElzU1VGQlRXcEZMRVZCTjFONFFrNHNTMEU0VTBWclFpeE5RVUZSUXl4RlFVRkZNa1VzWjBKQlJXNUNMRk5CUlVZc1MwRkJTek5GTEVWQlFVVm5SQ3hUUVVORVJpeEZRVUZSWjBNc1JVRkJWVE5HTEVkQmJsUm1UaXhMUVc5VVJXOUZMRk5CUVZjNVJDeEhRVVZzUWpSR0xFVkJkRlJMYkVjc1RVRjFWRXNzVFVGQlRrMHNSVUZEUmpaR0xFVkJlRlJIYmtjc1RVRjVWRmtzVFVGQlRrMHNSVUY2VkU1T0xFdEJNRlJKYTBJc1RVRkJVVU1zUlVGQlJXbEdMR2RDUVVWYU9VTXNSVUZCWVdoRUxFbEJRMmhDYVVRc1JVRTNWRU4yUkN4TFFUWlVhMElzYVVOQk4xUnNRa0VzUzBFclZFbHJRaXhOUVVGUlF5eEZRVUZGYTBZc1UwRkhja0lzVTBGRlJpeExRVUZMYkVZc1JVRkJSV2xHTEdWQlEwc3NUVUZCVGpsR0xFZEJRMFkyUml4RlFYUlZTMjVITEUxQmMxVlhMRWRCUTJoQ2MwY3NSVUYyVlV0MFJ5eFJRWGxWVEhWRUxFVkJlbFZMZGtRc1MwRjVWV01zYTBSQmVsVmtRU3hMUVRCVlJXdENMRTFCUVZGRExFVkJRVVZyUml4UlFVVnVRaXhUUVVWR0xFdEJRVXRzUml4RlFVRkZhMFlzVDBGRlRDeEhRVUZKTDBNc1JVRkJZV2hFTEVkQlEyWXNVMEZEWlN4TlFVRk9RU3hGUVVOVU5rWXNSVUZ1Vmt0dVJ5eE5RVzlXVlN4TlFVRk9UU3hGUVhCV1NrNHNTMEZ4VmtWclFpeE5RVUZSUXl4RlFVRkZhVVlzWlVGRFVtNURMRVZCUVZGRExFVkJRVmMxUkN4SlFYUldka0pPTEV0QmRWWkZkVWNzVjBGQllXcEhMRVZCZGxabVRpeExRWGRXUlhkSExGbEJRV01zUjBGNFZtaENlRWNzUzBGNVZrVnJRaXhOUVVGUlF5eEZRVUZGYzBZc1lVRkZha0pzUkN4RlFUTldTM1pFTEV0Qk1sWmpMREJDUVVWeVFpeFRRVVZHTEV0QlFVdHRRaXhGUVVGRmMwWXNXVUZEU3l4TlFVRk9ia2NzUlVGb1YwZE9MRXRCYVZkRmEwSXNUVUZCVVVNc1JVRkJSWFZHTEdGQlEwWXNUVUZCVG5CSExFZEJRMVJwUkN4RlFXNVhTM1pFTEV0QmJWZGpMREpDUVc1WFpFRXNTMEZ2VjBWM1J5eFpRWEJYUm5oSExFdEJiMWQxUW5WSExGZEJRelZDU1N4RlFYSlhTek5ITEUxQmMxZE1iVWNzUlVGMFYwdHVSeXhQUVhWWFNYTkVMRVZCUVdGb1JDeEhRWFpYYWtKT0xFdEJkMWRGYTBJc1RVRkJVVU1zUlVGQlJYbEdMSE5DUVVOU00wTXNSVUZCVVdkRExFVkJRVlV6Uml4SFFYcFhkRUpPTEV0Qk1GZEZkVWNzV1VGQlkycEhMRVZCUlhKQ2FVUXNSVUUxVjB0MlJDeExRVFJYWXl3d1FrRkZja0lzVTBGRlJpeExRVUZMYlVJc1JVRkJSWGxHTEhOQ1FVTk1MRWRCUVZVc1RVRkJUblJITEVWQmFsaEhUaXhMUVd0WVJXdENMRTFCUVZGRExFVkJRVVYxUml4cFFrRkRXaXhEUVVGQkxFZEJRVWx3UkN4RlFVRmhhRVFzUjBGRGRFSXNVMEZGUVdsRUxFVkJkRmhMZGtRc1MwRnpXR01zTWtKQmRGaGtRU3hMUVhWWVJXVXNTVUZCU1RoR0xGZEJkbGhPTjBjc1MwRjFXSGRDZFVjc1dVRkJZeXhIUVhaWWRFTjJSeXhMUVhkWVJYZEhMRmxCUVdNc1IwRkRja0l6UWl4RlFYcFlTemRGTEV0QmVWaFpMR05CUVdVc1EwRkRPVUlyUml4TFFURllSeTlHTEV0Qk1GaFZkVWNzVjBGRFlrOHNUVUZCVHl4TFFUTllTamxITEV0Qk5saEZkVWNzVjBGQllTeEhRVU5XTEUxQlFVNXFSeXhGUVVOR05rWXNSVUV2V0VkdVJ5eE5RV2RaVFdsRkxFVkJRVkZETEVWQlFWYzFSQ3hKUVdoWmVrSk9MRXRCYVZsSmRVY3NWMEZCWVdwSExFVkJhbGxxUWs0c1MwRnJXVWxyUWl4TlFVRlJReXhGUVVGRmMwWXNZMEZGYWtKc1JDeEZRWEJaUjNaRUxFdEJiMWxuUWl3d1FrRndXV2hDUVN4TFFYRlpTV3RDTEUxQlFWRkRMRVZCUVVWclJpeFJRVWR5UWl4VFFVVkdMRXRCUVV0c1JpeEZRVUZGZFVZc1lVRkRUQ3hIUVVGSmNFUXNSVUZCWVdoRUxFZEJRMllzVTBGRFV6WkZMRVZCUVZFM1JTeEpRVGRaV2s0c1MwRTRXVVZMTEVWQlFVbERMRVZCT1ZsT1RpeExRU3RaUld0Q0xFMUJRVkZETEVWQlFVVTBSaXh6UWtGRmFrSjRSQ3hGUVdwYVMzWkVMRXRCYVZwakxEUkNRV3BhWkVFc1MwRnJXa1ZyUWl4TlFVRlJReXhGUVVGRk5rWXNjMEpCYkZwYWFFZ3NTMEZ0V2tWM1J5eFpRVUZqYkVjc1IwRkZka0lzVTBGRlJpeExRVUZMWVN4RlFVRkZORVlzYjBKQlEwd3NSMEZCU1hwSExFbEJlRnBIVGl4TFFYZGFWVXNzUlVGQlJ5eERRVU5TTEUxQlFVNURMRVZCZWxwRFRpeExRVEJhU1d0Q0xFMUJRVkZETEVWQlFVVTRSaXh6UWtFeFdtUnFTQ3hMUVRSYVNYZEhMR0ZCUVdWc1J5eEZRVVY0UWl4VFFVVkdjVWNzUlVGb1lVOHpSeXhOUVVGQlFTeExRV2xoUVVzc1JVRkJTU3hIUVdwaFNrd3NTMEZyWVVGclFpeE5RVUZSUXl4RlFVRkZLMFlzYjBKQlEycENMRk5CUlVZc1MwRkJTeTlHTEVWQlFVVXJSaXh2UWtGRFJEVkVMRVZCUVdGb1JDeEhRWFJoVms0c1MwRjFZVVZyUWl4TlFVRlJReXhGUVVGRmEwWXNUMEZEUml4TlFVRk9MMFlzUlVGRFZEWkdMRVZCZW1GTGJrY3NUVUV3WVZVc1RVRkJUazBzUlVFeFlVcE9MRXRCTW1GRmEwSXNUVUZCVVVNc1JVRkJSV2xHTEdWQlExSnVReXhGUVVGUlF5eEZRVUZYTlVRc1NVRkROVUpwUkN4RlFUZGhTM1pFTEV0Qk5tRmpMRzlEUVRkaFpFRXNTMEU0WVVWMVJ5eFhRVUZoYWtjc1JVRTVZV1pPTEV0QksyRkZkMGNzV1VGQll5eEhRUzloYUVKNFJ5eExRV2RpUld0Q0xFMUJRVkZETEVWQlFVVnpSaXhoUVVWcVFteEVMRVZCYkdKTGRrUXNTMEZyWW1Nc01FSkJSWEpDTEZOQlJVWXNTMEZCUzIxQ0xFVkJRVVUyUml4elFrRkRUQ3hKUVVGTFJ5eEZRVUZaTjBjc1IwRkJTU3hEUVVOVUxFMUJRVTVCTEVWQmVHSkRUaXhMUVhsaVNXdENMRTFCUVZGRExFVkJRVVZwUnl4elFrRjZZbVJ3U0N4TFFUSmlTWGRITEdGQlFXVnNSeXhGUVVWNFFpeFRRVVZHY1Vjc1JVRXZZazh6Unl4TlFXZGpSeXhOUVVGT1RTeEZRVU5HTmtZc1JVRnFZMHR1Unl4TlFVRkJRU3hMUVcxalJXdENMRTFCUVZGRExFVkJRVVZyUml4UFFVVnVRaXhUUVVWR0xFdEJRVXRzUml4RlFVRkZNa01zVlVGRFRDeEhRWGhqVHpsRUxFdEJkMk5MYjBVc1VVRmhTeXhOUVVGT09VUXNSVUZEVkdkSExFVkJkR1JMZEVjc1RVRjFaRWxwUlN4RlFVRlJaME1zUlVGQlZUTkdMRWRCZG1SMFFrNHNTMEYzWkVWdlJTeFRRVUZYT1VRc1JVRjRaR0pPTEV0QmVXUlhOa1FzVVVGNlpGZzNSQ3hMUVRCa1JUWkVMRkZCUVZVc1MwRXhaRm8zUkN4TFFUQmtNRUp2UlN4UlFURmtNVUp3UlN4TFFUSmtSVzlGTEZGQlFWVXNSMEV6WkZwd1JTeExRVFJrUld0Q0xFMUJRVkZETEVWQlFVVjNReXhUUVVWYVRDeEZRVUZoYUVRc1NVRkRhRUpwUkN4RlFTOWtSM1pFTEV0QksyUm5RaXhyUTBFdlpHaENRU3hMUVdsbFJXdENMRTFCUVZGRExFVkJRVVZyUnl4NVFrRjZRa1VzUTBGRGJrSXNSMEZCU1M5RUxFVkJRV0ZvUkN4SFFVTm1MRk5CUTFOblNDeEZRVUZUY0VRc1JVRkJWelZFTEVkQk0yTXhRazRzUzBFMFkxRTJSQ3hSUVRWalVqZEVMRXRCTm1OTk5rUXNVVUZCVlN4TFFVRlBka1FzUlVFM1kzWkNUaXhMUVRoalRXdENMRTFCUVZGRExFVkJRVVYzUXl4UlFVVnFRa29zUlVGb1pFTjJSQ3hMUVdka2EwSXNiVU5CYUdSc1FrRXNTMEZ0WkVsdlJTeFJRVUZWT1VRc1JVRm5RbkpDTEZOQlJVWXNTMEZCUzJFc1JVRkJSV3RITEc5Q1FVTk1MRWRCUVVrdlJDeEZRVUZoYUVRc1IwRkRaaXhUUVVWUkxFMUJRVTVCTEVWQlEwWm5SeXhGUVRGbFMzUkhMRTFCTkdWTWRVUXNSVUUxWlV0MlJDeExRVFJsWXl4eFEwRkZja0lzVTBGRlJpeExRVUZMYlVJc1JVRkJSWEZETEZsQlExQXNTMEZCUzNKRExFVkJRVVU0Uml4elFrRkRVQ3hMUVVGTE9VWXNSVUZCUldsSExITkNRVU5NTEVsQlFVbEhMRVZCUTBGRExFVkJRMG9zVDBGeVprOTRTQ3hMUVhGbVVXdENMRTlCUTJJc1MwRkJTME1zUlVGQlJYRkRMRmxCUTB3clJDeEZRVUZqY0Vjc1JVRkJSU3RDTEV0QlEyaENjMFVzUlVGQlV5eFhRVU5VTEUxQlJVWXNTMEZCUzNKSExFVkJRVVU0Uml4elFrRkRURTBzUlVGQlkzQkhMRVZCUVVVMFJpeHZRa0ZEYUVKVExFVkJRVk1zWTBGRFZDeE5RVVZHTEV0QlFVdHlSeXhGUVVGRmFVY3NjMEpCUTB4SExFVkJRV053Unl4RlFVRkZOa1lzYzBKQlEyaENVU3hGUVVGVExHTkJTVWdzVFVGQlRteElMRWRCZEdkQ1IwNHNTMEYxWjBKRmQwZ3NTVUZCVjBNc1JVRjJaMEppZWtnc1RVRkJRVUVzUzBGM1owSkZNRWdzVDBGQlV5eEhRWGhuUWxneFNDeExRWGxuUWtWclFpeE5RVUZSY1Vjc1IwRkRUblJFTEVWQk1XZENTbXBGTEV0Qk1HZENiVUl3U0N4UFFVRlBka2dzVDBGQlUzZElMRVZCUVdGRExFVkJRV0YwU0N4SFFURm5RamRFVGl4TFFUSm5Ra1V3U0N4UlFVRlZjRWdzUjBGRmFrSnBSQ3hGUVRkblFrdDJSQ3hMUVRablFtTXNiME5CTjJkQ1pFRXNTMEU0WjBKRmQwZ3NTVUZCVnl4SlFUbG5RbUo0U0N4TFFUaG5RakJDTUVnc1QwRkJVM0JJTEVWQk9XZENia05PTEV0QksyZENSVEJJTEU5QlFWTXNSMEV2WjBKWU1VZ3NTMEZuYUVKRmEwSXNUVUZCVVhGSExFZEJSMnBDTEZOQlJVWXNVVUZEUlN4TlFVRk5MRWxCUVVsTkxFMUJkR2hDU0RkSUxFdEJjMmhDYVVJc2EwSkJkR2hDYWtKQkxFdEJjMmhDTkVOclFpeFBRWFJvUWpWRGJFSXNTMEV3YUVKR0swSXNWVUV4YUVKRkwwSXNTMEV3YUVKcFFrOHNjVUpCTnpORGFFTXNVMEZCTkVKb1FpeEhRVWN4UWl4SlFVWkJMRWxCUVVsMVNTeEZRVUZoUXl4TFFVRkxReXhKUVVGSk1Va3NSVUZCU1U4c2EwSkJRVzFDTEVsQlF6ZERiMGtzUlVGQldTeEZRVU5RYUVrc1JVRkJTU3hGUVVGSFF5eEZRVUZKU0N4RlFVRlJTU3hQUVVGUlJpeEZRVUZKUXl4RlFVRkhSQ3hKUVVGTExFTkJRemxETEVsQlFVbHBTU3hGUVVGTk0wa3NSVUZCVDFFc1JVRkJVVVVzU1VGQlNVVXNUMEZETjBJc1IwRkJTU3RJTEVWQlFVMUtMRVZCUzFJc1QwRkJVUzlJTEVWQlFWRkZMRWxCUTJRc1NVRkJTeXhYUVVOSWEwa3NSVUZCVlRWSkxFZEJRMVlzVFVGRlJpeEpRVUZMTEZGQlEwaHpSaXhGUVVGVGRFWXNSVUZCVVN4VlFVRlhRU3hGUVVGUGRVWXNUMEZEYmtOMlJpeEZRVUZQZFVZc1RVRkJVU3hIUVVObUxFMUJSVVlzU1VGQlN5eFRRVU5JUkN4RlFVRlRkRVlzUlVGQlVTeFhRVUZaUVN4RlFVRlBjMFVzVVVGRGNFTjBSU3hGUVVGUGMwVXNUMEZCVXl4SFFVTm9RaXhOUVVWR0xGRkJRMFUzUXl4RlFVRk5la0lzUlVGQlVTd3JRa0ZCYVVOUkxFVkJRVkZGTEVsQlJ6ZEVaMGtzUlVGQldVWXNTMEZCUzBNc1NVRkJTVU1zUlVGQlYwTXNSMEZIYkVNc1NVRkJTVVVzUlVGQlNUbEpMRVZCUVVsUExHdENRVUZ2UW05SkxFVkJRMmhETVVrc1JVRkJUMmRDTEc5Q1FVRnpRalpJTEVWQlFVazNTU3hGUVVGUGQwTXNVMEUyTVVOMFEzTkhMRU5CTTJoQ1YzSkpMRTFCTm1oQ1lpeFBRVGRvUW1GQkxFMUJNWGxDWW5OSkxFOUJRVkVzVjBGQmFVTXNUMEZCYmtKMFNTeExRVUZMWjBJc1RVRkJVU3hMUVVGaGFFSXNUVUZEYUVSMVNTeE5RVUZQTEZkQlFXTXNUMEZCVDNaSkxFdEJRVXMwUXl4TlFVRk5MRTlCUTNaRE5FWXNUVUZCVHl4WFFXcENWQ3hKUVVGMVFtcEtMRVZCUTNKQ05Fa3NSVUZFY1VJMVNTeEZRV2xDWVZNc1RVRm1ZaXhMUVVGcVFsUXNSVUZCVDNWR0xGRkJRMVJFTEVWQlFWTjBSaXhGUVVGUkxGVkJRVmRCTEVWQlFVOTFSaXhQUVVOdVEzWkdMRVZCUVU5MVJpeE5RVUZSTEVsQlJVc3NTMEZCYkVKMlJpeEZRVUZQYzBVc1UwRkRWR2RDTEVWQlFWTjBSaXhGUVVGUkxGZEJRVmxCTEVWQlFVOXpSU3hSUVVOd1EzUkZMRVZCUVU5elJTeFBRVUZUTEUxQllYQkNMRWxCUTBVdlJDeEZRVUZUTWtrc1VVRkJVU3hWUVVGVk0wa3NUMEZETTBJc1RVRkJUelJKTEVkQlExQTFTU3hGUVVGVExHRkJSMWdzU1VGQlNUWkpMRVZCUVdOeVNpeEZRVUZKTmtNc1QwRkJUM2xITEU5QlFVOHNVMEZCVlVNc1IwRkROVU1zVFVGQll5eFZRVUZRUVN4SFFVRjVRaXhSUVVGUVFTeEpRVTh6UWl4VFFVRlRiRW9zUlVGQlYwZ3NSVUZCVVVNc1IwRkRNVUlzUzBGQlRVOHNaMEpCUVdkQ1RDeEhRVU53UWl4UFFVRlBMRWxCUVVsQkxFVkJRVlZJTEVWQlFWRkRMRWRCUnk5Q1N5eEZRVUZQWjBvc1RVRkJUVGxKTEUxQlJXSkJMRXRCUVVzclNTeFJRVUZWTEVsQlFVbHlTaXhGUVVGVlJpeEZRVUZSUXl4SFFVTnlRMDhzUzBGQlMyZEtMRlZCUVZjc1JVRkRhRUpvU2l4TFFVRkxhVW9zVlVGQlZ5eEZRVVZvUWl4SlFVRkpReXhGUVVGTGJFb3NTMEZGVkVFc1MwRkJTeXRKTEZGQlFWRkpMRTFCUVZFc1YwRkRia0pFTEVWQlFVZG9TQ3hMUVVGTExGRkJSMVpzUXl4TFFVRkxLMGtzVVVGQlVVc3NVVUZCVlN4VFFVRlZReXhIUVVNdlFrZ3NSVUZCUjJoSUxFdEJRVXNzVVVGQlUyMUlMRWRCU1dwQ1NDeEZRVUZIU0N4UlFVRlJMMGdzVFVGQlVTeE5RVWR5UW1oQ0xFdEJRVXR6U2l4VFFVRlhMRXRCUldoQ1dDeEZRVUZaV1N4UlFVRlJMRk5CUVZWV0xFZEJRelZDZEVnc1QwRkJUMmxKTEdWQlFXVk9MRVZCUVVrc1MwRkJUMHdzUlVGQlNTeERRVU51UTFrc1NVRkJTeXhYUVVOSUxFOUJRVTlRTEVWQlFVZElMRkZCUVZFc1MwRkJUMFlzU1VGRk0wSmhMRWxCUVVzc1UwRkJWVU1zUjBGRFlpeEpRVUZMUVN4RlFVZElMRTlCUmtGVUxFVkJRVWRWTEcxQ1FVRnRRbVlzUjBGRGRFSkxMRVZCUVVkSUxGRkJRVkVzUzBGQlQwWXNSMEZCVFdNc1JVRkRha0pCTEVWQlJWUlVMRVZCUVVkWExFZEJRVWRvUWl4RlFVRkpZeXhKUVVWYVJ5eFpRVUZaTEVWQlExcERMR05CUVdNc1RVRkxjRUp3U3l4RlFVRlZNa01zVlVGQldXWXNUMEZCVDBNc1QwRkJUekZDTEVWQlFVOTNReXhWUVVGWExFTkJRM0JFTUVnc1dVRkJZU3hEUVVOWWJFUXNUVUZCVDI1SUxFdEJTVmhCTEVWQlFWVXlReXhWUVVGVlRTeE5RVUZSTEZOQlFWVnhTQ3hIUVVOd1F5eEhRVUZ6UWl4dFFrRkJXRU1zVVVGRGEwSXNiVUpCUVhCQ1FTeFBRVUZQUXl4VlFVTmtSQ3hQUVVGUFF5eFRRVUZUUml4SFFVRlBMRU5CUTNaQ0xFbEJRVXRxU3l4TFFVRkxjMG9zVTBGQlZTeERRVU5zUWl4SlFVRkpZeXhGUVVGTE0wSXNVVUZCVVN4clFrRkJhMEkwUWl4alFVTnVRM0pMTEV0QlFVdHpTaXhUUVVGWExFbEJRVWxqTEVWQlFVY3NVVUZGZWtKSUxFVkJRVTlxU3l4TFFVRkxjMG9zVTBGQlV6RkhMRTFCUVUxeFNDeEhRVXMzUWl4UFFVWkJha3NzUzBGQlN5dEpMRkZCUVZGdVJ5eE5RVUZOY1Vnc1JVRkJTMjVJTEZsQlEzaENPVU1zUzBGQlMydERMRXRCUVVzc1QwRkJVU3RJTEVsQlExZ3NSMEZIVkhSTExFVkJRVlV5UXl4VlFVRlZTeXhKUVVGTkxGTkJRVlZGTEVkQlMyeERMRTlCU2tsQkxFZEJRVk5CTEVWQlFVMHhReXhSUVVOcVFrZ3NTMEZCU3pSRExFMUJRVTFETEVkQlJXSTNReXhMUVVGTEswa3NVVUZCVVhCSExFOUJRMDRzUjBGSFZHaEVMRVZCUVZVeVF5eFZRVUZWZFVnc1IwRkJTeXhUUVVGVmFFSXNSVUZCU1hsQ0xFZEJRM0pETEVsQlFVbHdRaXhGUVVGTGJFb3NTMEZUVkN4UFFWSkxhMG9zUlVGQlIwZ3NVVUZCVVN4TFFVRlBSaXhMUVVGdlF5eEpRVUUzUWtZc1JVRkJXVFJDTEZGQlFWRXhRaXhMUVVOb1JFc3NSVUZCUjBnc1VVRkJVU3hMUVVGUFJpeEhRVUZOTEZkQlEzUkNMRWxCUVVreVFpeEZRVUUwUWl4SlFVRnlRa01zVlVGQlZYUkxMRTlCUVdVc1EwRkJRM05MTEZWQlFWVXNTVUZCVFdoSExFMUJRVTF4UlN4TlFVRk5MRXRCUVUweVFpeFhRVU4yUlVRc1JVRkJTMFVzVDBGQlR5eEZRVUZITEVWQlFVYzNRaXhIUVVOc1Frc3NSVUZCUjJoSUxFdEJRVXMwUnl4TlFVRk5TU3hGUVVGSmMwSXNTMEZKWmpGTExFVkJRVTkzUXl4VlFVRlZkVWdzUjBGQlIyTXNTMEZCUzNwQ0xFVkJRVWxNTEVWQlFVbDVRaXhKUVVzeFF5eEpRVUZKTVVZc1JVRkJVU3hWUVVOU1N5eEZRVUZWTEZWQlExWXlSaXhGUVVGblFpeDFRMEZEYUVKRExFVkJRV3RDTEdkRFFVTnNRbWhLTEVWQlFWTXNRMEZCUldsS0xFbEJRVXRHTEVWQlFXVnFTaXhOUVVGUGEwb3NSMEZSZEVNelJ5eEZRVUZaTERSS1FVVmFLMElzUlVGQlZ5eG5UVUZGV0RKQ0xFVkJRV01zTmtwQlEyUkVMRVZCUVdFc2FVMUJSV3BDTEZOQlFWTnlSU3hGUVVGamFFUXNSMEZEY2tJc1RVRkJZU3hOUVVGT1FTeEhRVUZ0UWl4UFFVRk9RU3hIUVVGdlFpeFBRVUZPUVN4SFFVRnZRaXhQUVVGT1FTeEZRVWRzUkN4VFFVRlROa1VzUlVGQlV6ZEZMRWRCUTJoQ0xFMUJRV0VzVFVGQlRrRXNSMEZCYlVJc1RVRkJUa0VzUlVGSGRFSXNVMEZCVXpaSExFVkJRV0UzUnl4SFFVTndRaXhOUVVGaExFMUJRVTVCTEVkQlFXRm5SQ3hGUVVGaGFFUXNSMEZIYmtNc1UwRkJVekpFTEVWQlFWTTRSeXhGUVVGUGVrc3NSMEZEZGtJc1QwRkJUM2xMTEVWQlFVMURMRXRCUVVzeFN5eEhRVWR3UWl4VFFVRlRaMGdzUlVGQlZYbEVMRVZCUVU5NlN5eEhRVU40UWl4UFFVRlJNa1FzUlVGQlVUaEhMRVZCUVU5NlN5eEhRVWQ2UWl4SlFYZHlRMUV5U3l4RlFVTkJReXhGUVVOQlF5eEZRVEZ5UTBwb1N5eEZRVUZKTEVWQmMxUlNMRWxCUVVzc1NVRkJTV2xMTEV0QmNsUlVPVXdzUlVGQlNTdE1MRTFCUVZFc1EwRkRWbXBMTEUxQlFVOUVMRWxCUTFBMlFpeHBRa0ZCYTBJM1FpeEpRVU5zUWl0Q0xFdEJRVTB2UWl4SlFVTk9jVU1zV1VGQllYSkRMRWxCUTJKelF5eFZRVUZYZEVNc1NVRkRXRFJETEZWQlFWYzFReXhKUVVOWWFVVXNhVUpCUVd0Q2FrVXNTVUZEYkVJNFJDeFJRVUZUT1VRc1NVRkRWRzFGTEdWQlFXZENia1VzU1VGRGFFSnJSU3haUVVGaGJFVXNTVUZEWW05RkxHMUNRVUZ2UW5CRkxFbEJRM0JDYlVzc2FVSkJRV3RDYmtzc1NVRkRiRUkwUkN4UlFVRlROVVFzU1VGRFZIRkZMR1ZCUVdkQ2NrVXNTVUZEYUVKelJTeGpRVUZsZEVVc1NVRkRabmxFTEUxQlFVOTZSQ3hKUVVOUWQwVXNZVUZCWTNoRkxFbEJRMlI1UlN4bFFVRm5RbnBGTEVsQlEyaENhMFFzVlVGQlYyeEVMRWxCUTFneVJTeGxRVUZuUWpORkxFbEJRMmhDTUVVc2FVSkJRV3RDTVVVc1NVRkRiRUpuUkN4VFFVRlZhRVFzU1VGRFZtbEdMR1ZCUVdkQ2FrWXNTVUZEYUVKclJpeFBRVUZSYkVZc1NVRkRVbk5HTEZsQlFXRjBSaXhKUVVOaWVVWXNjMEpCUVhWQ2VrWXNTVUZEZGtKMVJpeGhRVUZqZGtZc1NVRkRaRFJHTEc5Q1FVRnhRalZHTEVsQlEzSkNLMFlzYjBKQlFYRkNMMFlzU1VGRGNrSTJSaXh6UWtGQmRVSTNSaXhKUVVOMlFqaEdMSE5DUVVGMVFqbEdMRWxCUTNaQ2FVY3NjMEpCUVhWQ2FrY3NTVUZEZGtJeVF5eFZRVUZYTTBNc1NVRkRXR3RITEc5Q1FVRnhRbXhITEVsQlEzSkNkME1zVDBGQlVYaERMRWxCUTFKNVF5eGpRVUZsZWtNc1MwRkhha0kzUWl4RlFVRkpiVU1zWVVGQlpTeERRVU5xUWpoS0xFbEJRVThzU1VGRFVFTXNSMEZCVFN4SlFVTk9ReXhIUVVGTkxFbEJRMDVETEV0QlFWRXNTVUZEVWtNc1MwRkJVU3hMUVVkV2NrMHNSVUZCU1dkRExGTkJRVmNzUTBGRFltbExMRWxCUVU4c1NVRkRVRU1zUjBGQlRTeEpRVU5PUXl4SFFVRk5MRWxCUTA1RExFdEJRVkVzU1VGRFVrTXNTMEZCVVN4SlFVTlNReXhOUVVGVExFbEJRMVJETEU5QlFWVXNTVUZEVmtNc1RVRkJVeXhKUVVOVVF5eFBRVUZWTEVsQlExWkRMRTFCUVZNc1NVRkRWRU1zVDBGQlZTeEpRVU5XUXl4TFFVRlJMRWxCUTFKRExFOUJRVlVzU1VGRFZrTXNTVUZCVHl4SlFVTlFReXhQUVVGVkxFbEJRMVpETEUxQlFWTXNTVUZEVkVNc1QwRkJWU3hKUVVOV1F5eExRVUZSTEVsQlExSkRMRTlCUVZVc1NVRkRWa01zVFVGQlV5eEpRVU5VUXl4UFFVRlZMRWxCUTFaRExFdEJRVkVzU1VGRFVrTXNUMEZCVlN4SlFVTldReXhQUVVGVkxFbEJRMVpETEUxQlFWTXNTVUZEVkVNc1QwRkJWU3hKUVVOV1F5eFBRVUZWTEVsQlExWkRMRTlCUVZVc1NVRkRWa01zUzBGQlVTeEpRVU5TUXl4TlFVRlRMRWxCUTFSRExFOUJRVlVzU1VGRFZrTXNUVUZCVXl4SlFVTlVReXhQUVVGVkxFbEJRMVpETEV0QlFWRXNTVUZEVWtNc1QwRkJWU3hKUVVOV1F5eFBRVUZWTEVsQlExWkRMRTFCUVZNc1NVRkRWRU1zVFVGQlV5eEpRVU5VUXl4UFFVRlZMRWxCUTFaRExFMUJRVk1zU1VGRFZFTXNUMEZCVlN4SlFVTldReXhMUVVGUkxFbEJRMUpETEU5QlFWVXNTVUZEVmtNc1QwRkJWU3hKUVVOV1F5eE5RVUZUTEVsQlExUkRMRTlCUVZVc1NVRkRWa01zU1VGQlR5eEpRVU5RUXl4TFFVRlJMRWxCUTFKRExFOUJRVlVzU1VGRFZrTXNUVUZCVXl4SlFVTlVReXhQUVVGVkxFbEJRMVpETEV0QlFWRXNTVUZEVWtNc1QwRkJWU3hKUVVOV1F5eFBRVUZWTEVsQlExWkRMRTFCUVZNc1NVRkRWRU1zVDBGQlZTeEpRVU5XUXl4UFFVRlZMRWxCUTFaRExFOUJRVlVzU1VGRFZrTXNTMEZCVVN4SlFVTlNReXhOUVVGVExFbEJRMVJETEUxQlFWTXNTVUZEVkVNc1QwRkJWU3hKUVVOV1F5eE5RVUZUTEVsQlExUkRMRTlCUVZVc1NVRkRWa01zUzBGQlVTeEpRVU5TUXl4UFFVRlZMRWxCUTFaRExFdEJRVkVzU1VGRFVrTXNTMEZCVVN4SlFVTlNReXhKUVVGUExFbEJRMUJETEV0QlFWRXNTVUZEVWtNc1RVRkJVeXhKUVVOVVF5eExRVUZSTEVsQlExSkRMRTFCUVZNc1NVRkRWRU1zVDBGQlZTeEpRVU5XUXl4SlFVRlBMRWxCUTFCRExFOUJRVlVzU1VGRFZrTXNTMEZCVVN4SlFVTlNReXhKUVVGUExFbEJRMUJETEV0QlFWRXNTVUZEVWtNc1RVRkJVeXhKUVVOVVF5eEpRVUZQTEVsQlExQkRMRWxCUVU4c1NVRkRVRU1zUzBGQlVTeEpRVU5TUXl4SlFVRlBMRWxCUTFCRExFOUJRVlVzU1VGRFZrTXNTMEZCVVN4SlFVTlNReXhMUVVGUkxFbEJRMUpETEV0QlFWRXNTVUZEVWtNc1RVRkJVeXhKUVVOVVF5eE5RVUZUTEVsQlExUkRMRXRCUVZFc1NVRkRVa01zVDBGQlZTeEpRVU5XUXl4TlFVRlRMRWxCUTFSRExFdEJRVkVzU1VGRFVrTXNUVUZCVXl4SlFVTlVReXhQUVVGVkxFbEJRMVpETEU5QlFWVXNTVUZEVmtNc1QwRkJWU3hKUVVOV1F5eFBRVUZWTEVsQlExWkRMRTFCUVZNc1NVRkRWRU1zVDBGQlZTeEpRVU5XUXl4TlFVRlRMRWxCUTFSRExFMUJRVk1zU1VGRFZFTXNUMEZCVlN4SlFVTldReXhQUVVGVkxFbEJRMVpETEV0QlFWRXNTVUZEVWtNc1MwRkJVU3hKUVVOU1F5eExRVUZSTEVsQlExSkRMRTFCUVZNc1NVRkRWRU1zVFVGQlV5eEpRVU5VUXl4TFFVRlJMRWxCUTFKRExFMUJRVk1zU1VGRFZFTXNUVUZCVXl4SlFVTlVReXhSUVVGWExFbEJRMWhETEV0QlFWRXNTVUZEVWtNc1NVRkJUeXhKUVVOUVF5eE5RVUZUTEVsQlExUkRMRXRCUVZFc1NVRkRVa01zVFVGQlV5eEpRVU5VUXl4UFFVRlZMRWxCUTFaRExFZEJRVTBzU1VGRFRrTXNSMEZCVFN4SlFVTk9ReXhIUVVGTkxFbEJRMDVETEZGQlFWY3NTVUZEV0VNc1IwRkJUU3hKUVVOT1F5eEpRVUZQTEVsQlExQkRMRTFCUVZNc1NVRkRWRU1zU1VGQlR5eEpRVU5RUXl4UlFVRlhMRWxCUTFoRExFbEJRVThzU1VGRFVFTXNTVUZCVHl4SlFVTlFReXhKUVVGUExFbEJRMUJETEUxQlFWTXNTVUZEVkVNc1RVRkJVeXhKUVVOVVF5eExRVUZSTEVsQlExSkRMRTFCUVZNc1NVRkRWRU1zVFVGQlV5eEpRVU5VUXl4UlFVRlhMRWxCUTFoRExFdEJRVkVzU1VGRFVrTXNTVUZCVHl4SlFVTlFReXhOUVVGVExFbEJRMVJETEV0QlFWRXNTVUZEVWtNc1RVRkJVeXhKUVVOVVF5eFBRVUZWTEVsQlExWkRMRWRCUVUwc1NVRkRUa01zUjBGQlRTeEpRVU5PUXl4SFFVRk5MRWxCUTA1RExGRkJRVmNzU1VGRFdFTXNSMEZCVFN4SlFVTk9ReXhKUVVGUExFbEJRMUJETEU5QlFWVXNTVUZEVmtNc1RVRkJVeXhKUVVOVVF5eEpRVUZQTEVsQlExQkRMRkZCUVZjc1NVRkRXRU1zU1VGQlR5eEpRVU5RUXl4SlFVRlBMRWxCUTFCRExFbEJRVThzU1VGRFVFTXNUVUZCVXl4SlFVTlVReXhUUVVGWkxFbEJRMXBETEUxQlFWTXNTVUZEVkVNc1NVRkJUeXhKUVVOUVF5eExRVUZSTEV0QlExSkRMRXRCUVZFc1MwRkRVa01zVDBGQlZTeExRVU5XUXl4TFFVRlJMRXRCUTFKRExFbEJRVThzUzBGRFVFTXNTVUZCVHl4TFFVTlFReXhKUVVGUExFdEJRMUJETEUxQlFWTXNTMEZEVkVNc1RVRkJVeXhMUVVOVVF5eE5RVUZUTEV0QlExUkRMRTFCUVZNc1MwRkRWRU1zVFVGQlV5eExRVU5VUXl4TlFVRlRMRXRCUTFSRExFMUJRVk1zUzBGRFZFTXNUVUZCVXl4TFFVTlVReXhQUVVGVkxFdEJRMVpETEU5QlFWVXNTMEZEVmtNc1MwRkJVU3hMUVVOU1F5eFBRVUZWTEV0QlExWkRMRTlCUVZVc1MwRkRWa01zVFVGQlV5eExRVU5VUXl4TlFVRlRMRXRCUTFSRExFOUJRVlVzUzBGRFZrTXNUMEZCVlN4TFFVTldReXhOUVVGVExFdEJRMVJETEUxQlFWTXNTMEZEVkVNc1MwRkJVU3hMUVVOU1F5eE5RVUZUTEV0QlExUkRMRTlCUVZVc1MwRkRWa01zUzBGQlVTeExRVU5TUXl4TlFVRlRMRXRCUTFSRExGRkJRVmNzUzBGRFdFTXNTMEZCVVN4TFFVTlNReXhMUVVGUkxFdEJRMUpETEV0QlFWRXNTMEZEVWtNc1MwRkJVU3hMUVVOU1F5eExRVUZSTEV0QlExSkRMRTFCUVZNc1MwRkRWRU1zUzBGQlVTeExRVU5TUXl4TFFVRlJMRXRCUTFKRExFdEJRVkVzUzBGRFVrTXNTMEZCVVN4TFFVTlNReXhMUVVGUkxFdEJRMUpETEU5QlFWVXNTMEZEVmtNc1MwRkJVU3hMUVVOU1F5eE5RVUZUTEV0QlExUkRMRTFCUVZNc1MwRkRWRU1zVFVGQlV5eExRVU5VUXl4TFFVRlJMRXRCUTFKRExFMUJRVk1zUzBGRFZFTXNSMEZCVFN4TFFVTk9ReXhMUVVGUkxFdEJRMUpETEVsQlFVOHNTMEZEVUVNc1RVRkJVeXhMUVVOVVF5eFBRVUZWTEV0QlExWkRMRTFCUVZNc1MwRkRWRU1zUzBGQlVTeExRVU5TUXl4TlFVRlRMRXRCUTFSRExFbEJRVThzUzBGRFVFTXNTVUZCVHl4TFFVTlFReXhIUVVGTkxFdEJRMDVETEVsQlFVOHNTMEZEVUVNc1NVRkJUeXhMUVVOUVF5eEpRVUZQTEV0QlExQkRMRTlCUVZVc1MwRkRWa01zU1VGQlR5eExRVU5RUXl4TFFVRlJMRXRCUTFKRExFMUJRVk1zUzBGRFZFTXNSMEZCVFN4TFFVTk9ReXhOUVVGVExFdEJRMVJETEVkQlFVMHNTMEZEVGtNc1IwRkJUU3hMUVVOT1F5eEpRVUZQTEV0QlExQkRMRWxCUVU4c1MwRkRVRU1zUzBGQlVTeExRVU5TUXl4TFFVRlJMRXRCUTFKRExFdEJRVkVzUzBGRFVrTXNUVUZCVXl4TFFVTlVReXhQUVVGVkxFdEJRMVpETEV0QlFWRXNTMEZEVWtNc1MwRkJVU3hMUVVOU1F5eE5RVUZUTEV0QlExUkRMRTFCUVZNc1MwRkRWRU1zVDBGQlZTeExRVU5XUXl4UFFVRlZMRXRCUTFaRExFdEJRVkVzUzBGRFVrTXNTMEZCVVN4TFFVTlNReXhKUVVGUExFdEJRMUJETEU5QlFWVXNTMEZEVmtNc1RVRkJVeXhMUVVOVVF5eFBRVUZWTEV0QlExWkRMRTFCUVZNc1RVRkhXRFZhTEU5QlFVOW5RaXhMUVVGTGFrUXNSVUZCU1dkRExGVkJRVlZwU1N4UlFVRlJMRk5CUVZVMlVpeEhRVU14UXl4SlFVRkpReXhGUVVGSkwySXNSVUZCU1dkRExGTkJRVk00V2l4SFFVTnFRbWhSTEVWQlFXbENMR2xDUVVGT2FWRXNSVUZCYVVKRExFOUJRVTlETEdGQlFXRkdMRWRCUVV0QkxFVkJRM3BFTDJJc1JVRkJTV2RETEZOQlFWTTRXaXhIUVVGUGFGRXNTVUZIVWpsTUxFVkJRVWtyVEN4TlFVTm9RaTlNTEVWQlFVa3JUQ3hOUVVGTkwwd3NSVUZCU1N0TUxFMUJRVTFFTEVsQlFVMUJMRVZCVFRWQ0xGTkJRVk5zU2l4RlFVRk5NME1zUlVGQlVXbGpMRVZCUVU5MlVpeEhRVU0xUWpGTExFVkJRVTlwWXl4SlFVRlZhbU1zUlVGQlQybGpMRWRCUVU5MlVpeEhRVWRxUXl4VFFVRlRjRVlzUlVGQlZYUkdMRVZCUVZGcll5eEZRVUZWZUZJc1IwRkRMMEl4U3l4RlFVRlBOa1FzVlVGQlZTdEZMRVZCUVZVMVNTeEhRVU12UWpKRExFVkJRVXN6UXl4RlFVRlJhMk1zUlVGQlZYaFNMRWRCUjNwQ0xGTkJRVk01UWl4RlFVRlhOVWtzUjBGRGJFSkJMRVZCUVU4MlJDeFRRVUZYYzBNc1JVRkJVMjVITEVWQlFVOUZMRWxCUVV0R0xFVkJRVTgyUkN4VlFVTXhRemRFTEVWQlFVODJSQ3hWUVVGVmJFSXNSVUZCU3pORExFVkJRVkVzVTBGQlZVRXNSVUZCVHpaRUxGVkJRMjVFTjBRc1JVRkJUelpFTEZOQlFWY3NSMEZIY0VJc1UwRkJVM05ETEVWQlFWVnFSeXhGUVVGTGFXTXNSMEZIZEVJc1QwRkdTV3BqTEVWQlFVbHJZeXhQUVVGTlJDeEZRVUZQUVN4RlFVRkxReXhSUVVOMFFteGpMRVZCUVVsdFl5eFpRVUZYUml4RlFVRlBRU3hGUVVGTFJ5eFJRVUZSTEU5QlFWRXNUVUZEZUVOSUxFVkJSMVFzVTBGQlV6RmhMRVZCUVU5NlFpeEZRVUZST0Vvc1IwRlZkRUlzVDBGVVFXeENMRVZCUVZVMVNTeEhRVU5PUVN4RlFVRlBkVU1zWjBKQlExUjFTQ3hIUVVGTkxGZEJRV0U1U2l4RlFVRlBlVU1zUzBGRGVFSXNZVUZCWlhwRExFVkJRVTh3UXl4UFFVTjBRaXhYUVVGaE1VTXNSVUZCVDJVc1IwRkZlRUlyU1N4RlFVRkxMRWxCUVVsNFFpeE5RVUZOZDBJc1IwRkRaamxLTEVWQlFVOTVRaXhOUVVGUmNVa3NSVUZEWm01SUxFVkJRVXN6UXl4RlFVRlJMRlZCUVZjNFNpeEhRVU5xUWpsS0xFVkJSMVFzVTBGQlUyOUVMRVZCUVV0d1JDeEhRVmxhTEU5QldFbEJMRVZCUVU5MVFpeFZRVUZaZGtJc1JVRkJUM05DTEZsQlFWa3dReXhGUVVGWGFFVXNSVUZCVVN4eFFrRkRlRVJCTEVWQlFVOHlRaXhSUVVGVlF5eEZRVUZGUXl4UFFVTnlRamRDTEVWQlFVOHlRaXhSUVVGVlF5eEZRVUZGTmtJc2EwSkJRMjVDZWtRc1JVRkJUekpDTEZGQlFWVkRMRVZCUVVVclFpeE5RVU53UW14RExFVkJRVTE2UWl4RlFVRlJMR3RDUVVWb1FqUkpMRVZCUVZVMVNTeEhRVU5XUVN4RlFVRlBaU3hGUVVGSkxFZEJRMWhtTEVWQlFVOXhRaXhSUVVGVExFVkJRMmhDYzBJc1JVRkJTek5ETEVWQlFWRXNVMEZEWWtjc1JVRkJWV2xNTEV0QlFVdHdUQ3hGUVVGUlFTeEZRVUZQUXl4UFFVRlJSQ3hGUVVGUFJTeExRVU4wUTBZc1JVRkhWQ3hUUVVGVFowVXNSVUZCV1doRkxFVkJRVkYxWXl4SFFVTXpRaXhIUVVGelFpeHBRa0ZCV0haakxFdEJRWGxDUVN4aFFVRnJRa2NzUjBGRGNFUXNUVUZCVFN4SlFVRkpiVWtzVFVGQlRTd3dRa0ZGWkhSSkxFVkJRVTlETEZGQlExUjNRaXhGUVVGTmVrSXNSVUZCVVhWakxFZEJTV3hDTEZOQlFWTTFWaXhGUVVGUk0wY3NSMEZEVmtFc1JVRkJUME1zVTBGQlVVUXNSVUZCVHpaRkxGRkJRVlUzUlN4RlFVRlBOa1VzVVVGQlVUZEZMRVZCUVU5dFFpeGpRVU16UkN4SlFVRkpjV0lzUlVGQlUzaGpMRVZCUVU5dlFpeExRVUZMY0VJc1JVRkJUMjlDTEV0QlFVdFNMRTlCUVZNc1NVRkJUVm9zUlVGRGFFUjNRaXhGUVVGTmVFSXNSVUZCVDNkQ0xFbEJRVTBzUTBGQlJXZEdMRXRCUVUxNFJ5eEZRVUZQTmtVc1VVRkJVM2xETEZkQlFWa3NTVUZIZGtSMFNDeEZRVUZQUlN4SlFVRkphME1zVVVGRFlsb3NSVUZCU1dFc1IwRkJTMjFoTEVWQlFVOXVZU3hKUVVWc1FuSkRMRVZCUVU5dFF5eFhRVUZYZGtJc1QwRkJVeXhGUVVNelFqQkZMRVZCUVZOMFJpeEZRVUZSTEdsQ1FVRnJRbmRDTEVkQlIzSkRMRk5CUVZOcFlpeEZRVUZQYWxjc1JVRkJUV3RYTEVkQlEzQkNMRWxCUTBsRExFVkJSRWx1Vnl4RlFVRkxkMFVzVVVGQlVTeExRVU5HTEVWQlFVa3NRMEZCUlN4SFFVRkplRVVzUjBGQlUwRXNSVUZCUzI5WExFMUJRVTBzUzBGRE4wTkRMRVZCUVZOR0xFVkJRVk1zUjBGRGJFSkhMRVZCUVZGSUxFVkJRVk1zUjBGUmNrSXNUMEZNU1VRc1IwRkJjMElzVlVGQlZHeFhMRWxCUTJaeFZ5eEZRVUZUTEZGQlExUkRMRVZCUVZFc1NVRkhTQ3hEUVVGRlJDeFBRVUZSUVN4RlFVRlJReXhOUVVGUFFTeEhRVWRzUXl4VFFVRlRNVllzUlVGQlVYQklMRWRCUzJZc1IwRktTMEVzUlVGQlQwTXNVMEZEVmtRc1JVRkJUMmRJTEZkQlFXRm9TQ3hGUVVGUFowZ3NWMEZCVjJoSUxFVkJRVTl0UWl4bFFVZFBMRWxCUVd4RWJrSXNSVUZCVDIxRExGZEJRVmMyU1N4UlFVRlJhRXdzUlVGQlQyZElMR0ZCUTI1RGFFZ3NSVUZCVDNkQ0xFbEJRVWs0Uml4WFFVRlhjRVVzWlVGQlpXeEVMRVZCUVU5blNDeFpRVU0xUTJoSUxFVkJRVTluU0N4WFFVRmhhRWdzUlVGQlQybElMRmxCUVdNc1QwRkdNME1zUTBGTlFTeEhRVUZKYWtnc1JVRkJUMFVzU1VGQlNXdERMRTFCUVU4c1EwRkRjRUlzU1VGQlNUSmhMRVZCUVV0T0xFVkJRVTE2WXl4RlFVRlBaMGdzV1VGQldTeEhRVU01UWpaV0xFVkJRVk5GTEVWQlFVZEdMRTlCUTFwRExFVkJRVkZETEVWQlFVZEVMRTFCUldZc1IwRkJaU3hWUVVGWVJDeEZRVVZHTEVkQlFXTXNVVUZCVmtNc1IwRkJiVUk1WXl4RlFVRlBhVWdzWTBGQlowSnZSU3hGUVVNMVEzSklMRVZCUVZkb1JTeEZRVU5VTEdkRFFVRnJRM0ZNTEVWQlFXZENMR0ZCUTNKRGNrd3NSVUZCVDJsSUxHdENRVU5xUWl4SFFVRmpMRlZCUVZZMlZpeEhRVUZ4UWpsakxFVkJRVTlwU0N4alFVRm5RbkZGTEVWQlEzSkVkRWdzUlVGQlYyaEZMRVZCUTFRc2EwTkJRVzlEYzB3c1JVRkJhMElzWVVGRGVrTjBUQ3hGUVVGUGFVZ3NhVUpCUTJwQ0xFTkJRMHdzU1VGQlNYcEdMRVZCUVUxNFFpeEZRVUZQZDBJc1NVRkRZbWRpTEVWQlFWTjRZeXhGUVVGUGIwSXNTMEZCUzNCQ0xFVkJRVTl2UWl4TFFVRkxVaXhQUVVGVExFbEJRVTFhTEVWQlEyaEVkMElzUlVGQlNXRXNTMEZCVDIxaExFVkJRVTl1WVN4TFFVTndRbUlzUlVGQlNXRXNSMEZCUzB3c1QwRkJUME1zVDBGQlQzVmhMRVZCUVU5dVlTeExRVVZvUTJJc1JVRkJTV0VzUjBGQlIzbGhMRWRCUVZNNVl5eEZRVUZQYVVnc1dVRlBNMEpxU0N4RlFVRlBiVU1zVjBGQlYyZENMRXRCUVVzc1EwRkJRMjVFTEVWQlFVOW5TQ3hYUVVGWmFFZ3NSVUZCVDJsSUxHMUNRVWRzUkdwSUxFVkJRVTkzUWl4SlFVRkpPRVlzVjBGQlYzUklMRVZCUVU5blNDeFpRVUZqYUVnc1JVRkJUMmxJTEZsQlEyeEVNMElzUlVGQlUzUkdMRVZCUVZFc1kwRkJaU3hEUVVNNVFuZEhMRXRCUVUxNFJ5eEZRVUZQWjBnc1YwRkRZazhzVFVGQlQzWklMRVZCUVU5cFNDeGpRVWxzUW1wSUxFVkJRVTluU0N4WFFVRmhhRWdzUlVGQlQybElMRmxCUVdNc1NVRkhNME1zVTBGQlUwd3NSVUZCVXpWSExFVkJRVkZuWkN4SFFVTjRRaXhIUVVGSmFHUXNSVUZCVDBVc1NVRkJTV3RETEUxQlFVOHNRMEZGY0VJc1NVRkJTVm9zUlVGQlRYaENMRVZCUVU5M1FpeEpRVWRpZFdJc1JVRkJTMDRzUlVGQlRYcGpMRVZCUVU4MlJTeFRRVU4wUW5KRUxFVkJRVWx4WWl4UFFVRlRSU3hGUVVGSFJpeFBRVU5vUW5KaUxFVkJRVWx6WWl4TlFVRlJReXhGUVVGSFJDeE5RVU5tZEdJc1JVRkJTWGxpTEVsQlFVMTZZaXhGUVVGSllTeEhRVUZITUdFc1JVRkJSMFlzVTBGQlZ5eEhRVVV6UW5KaUxFVkJRVWx4WWl4VFFVRlhjbUlzUlVGQlNYbGlMRTFCUTNKQ2Fsb3NSVUZCVjJoRkxFVkJRVkVzTmtKQlEycENhMlFzUzBGQlMwTXNWVUZCVlc1a0xFVkJRVTgyUlN4VlFVTjRRbkpFTEVWQlFVbDVZaXhKUVVGTlJpeEZRVUZIUml4UlFVZG1MRWxCUVVsTUxFVkJRVk40WXl4RlFVRlBiMElzUzBGQlMzQkNMRVZCUVU5dlFpeExRVUZMVWl4UFFVRlRMRWxCUVUxYUxFVkJRMmhFZDBJc1JVRkJTV0VzU1VGQlRXMWhMRVZCUVU5dVlTeExRVUZQWWl4RlFVRkpZU3hKUVVNNVFrd3NUMEZCVDJkQ0xFdEJRVXQ0UWl4RlFVRkpZU3hKUVVGSk1rZ3NVVUZCVVN4VFFVRlZiMVFzUjBGRGNFTTVXQ3hGUVVGVGRFWXNSVUZCVVN4clFrRkJiVUlzUTBGRGJFTTJZeXhQUVVGUlR5eEZRVU5TU0N4SlFVRkxlbUlzUlVGQlNXRXNSMEZCUnl0aExFOUJVV3hDTEVsQlFVc3NTVUZCU1RGakxFVkJRVWtzUlVGQlIwTXNSVUZCU1Znc1JVRkJUMjFETEZkQlFWZDJRaXhQUVVGUlJpeEZRVUZKUXl4RlFVRkhSQ3hKUVVGTExFTkJRM2hFTEVsQlFVa3lZeXhGUVVGTGNtUXNSVUZCVDIxRExGZEJRVmQ2UWl4SFFVTjJRamhHTEVWQlFVODJWeXhGUVVGSExFZEJRMVk1Vml4RlFVRlJPRllzUlVGQlJ5eEhRVU5ZVml4RlFVRlhSaXhGUVVGTmFsY3NSMEZCVFN4SFFVTjJRbkZYTEVWQlFWTkdMRVZCUVZORkxFOUJRMnhDUXl4RlFVRlJTQ3hGUVVGVFJ5eE5RVU5xUWtjc1JVRkJhVUlzUzBGQldFb3NSVUZCWjBJc1IwRkJUWEppTEVWQlFVbGhMRWRCUVVkM1lTeEpRVUZYTEVkQlF6bEROVm9zUlVGQlNTeERRVU5PZFVRc1MwRkJUVUVzUlVGRFRtVXNUVUZCVDBFc1JVRkRVSE5XTEU5QlFWRkJMRVZCUTFKRExFMUJRVTlCTEVWQlExQkhMRWxCUVV0QkxFZEJTMGhLTEVkQlFYRkNMRlZCUVZoQkxFbEJRWFZDU1N4SlFVTnVRMnBhTEVWQlFWZG9SU3hGUVVGUkxEWkNRVU5xUW10a0xFdEJRVXRETEZWQlFWVk9MRWxCUTJwQ05Wb3NSVUZCUldkaExFbEJRVTFLTEVkQlJWWTNZeXhGUVVGUGQwSXNTVUZCU1RoR0xGZEJRVmRrTEVkQlFWRjJSQ3hGUVVNNVFuRkRMRVZCUVZOMFJpeEZRVUZSTEdOQlFXVnBSQ3hIUVVWc1EycEVMRVZCUVU5dFF5eFhRVUZYZGtJc1QwRkJVeXhGUVVjM1Fsb3NSVUZCVDNkQ0xFbEJRVWs0WWl4blFrRkJhMEpPTEVWQlJ6ZENhR1FzUlVGQlQzVkNMRk5CUVZVc1JVRkRha0oyUWl4RlFVRlBiMElzUzBGQlN5dENMRXRCUVV0dVJDeEZRVUZQZDBJc1MwRkRlRUk0UkN4RlFVRlRkRVlzUlVGQlVTeFpRVUZoUVN4RlFVRlBkMElzUzBGRGFFTjNZaXhKUVVWRmFHUXNSVUZCVHpCQ0xGVkJRVFpETEZkQlFXcERNVUlzUlVGQlR6WkZMRkZCUVZFd1dTeGpRVWR5UTNaa0xFVkJRVTh5UWl4TlFVRlJReXhGUVVGRkswSXNTMEZHYWtJelJDeEZRVUZQTWtJc1RVRkJVVU1zUlVGQlJYZERMRTlCU1c1Q2NFVXNSVUZCVDNkQ0xFbEJRVTBzUzBGRFluaENMRVZCUVU4MlJTeFJRVUZWTEVsQlJXNUNOMFVzUlVGQlQyZElMRmRCUVdGb1NDeEZRVUZQYVVnc1dVRkJZeXhIUVVONlEycElMRVZCUVU5dFF5eFhRVUZYZGtJc1QwRkJVeXhGUVVjM1FpeFRRVUZUYlVjc1JVRkJWUzlITEVkQlEycENMRWxCUVV0QkxFVkJRVTgyUlN4UlFVbFdMRTlCU0VGaUxFVkJRVmRvUlN4RlFVRlJMREJDUVVOdVFrRXNSVUZCVHpaRUxGVkJRVmtzVjBGRGJrSTNSQ3hGUVVGUE1rSXNUVUZCVVVNc1JVRkJSU3RDTEUxQlNXNUNMRWRCUVVrelJDeEZRVUZQYzBVc1QwRkJVU3hEUVVOcVFpeEhRVUYxUWl4WFFVRnVRblJGTEVWQlFVODJSU3hSUVVsVUxFOUJTRUUzUlN4RlFVRlBjMFVzVVVGQlZTeExRVUZQZEVVc1JVRkJUelpGTEZGQlFWVXNTVUZEZWtNM1JTeEZRVUZQTmtVc1VVRkJWU3hSUVVOcVFqZEZMRVZCUVU4eVFpeE5RVUZSUXl4RlFVRkZkME1zVVVGSGJrSnJRaXhGUVVGVGRFWXNSVUZCVVN4WFFVRlpRU3hGUVVGUGMwVXNVVUZEY0VOMFJTeEZRVUZQYzBVc1QwRkJVeXhIUVV0c1FpeEpRVUZKYTFvc1JVRkJTWGhrTEVWQlFVOXZRaXhMUVVGTFVpeFBRVU5vUW1sRkxFVkJRVlUzUlN4RlFVRlBOa1VzVVVGRGFFSTNSU3hGUVVGUFF5eFRRVU5XTkVVc1JVRkJWVUVzUlVGQlVUZEZMRVZCUVU5dFFpeGpRVWN6UWl4SlFVUkJMRWxCUVVsell5eEZRVUZWTlZrc1JVRkRVREpaTEV0QlFVc3NRMEZGVml4SFFVUlplR1FzUlVGQlQyOUNMRXRCUVV0dll5eEhRVU5rYUZnc1QwRkJVMmxZTEVWQlNXcENMRTFCUmtGNldpeEZRVUZYYUVVc1JVRkJVU3gzUWtGUGRrSXNSMEZCU1hka0xFVkJRVWtzUlVGSlRpeFBRVWhCZUZvc1JVRkJWMmhGTEVWQlFWRXNNRUpCUVRSQ1FTeEZRVUZQTmtVc1UwRkRkRVEzUlN4RlFVRlBOa1FzVlVGQldTeExRVUZQTjBRc1JVRkJUelpGTEZGQlFWVXNVMEZETTBNM1JTeEZRVUZQTWtJc1RVRkJVVU1zUlVGQlJTdENMRTFCUjI1Q00wUXNSVUZCVHpaRkxGRkJRVlZCTEVWQlJXcENMRWxCUkVFc1NVRkJTV2RJTEVWQlFVazNUQ3hGUVVGUGIwSXNTMEZCUzFJc1QwRkRZbWxNTEV0QlFVMHlVaXhIUVVGSExFTkJRMlFzU1VGQlNXaGpMRVZCUVUxNFFpeEZRVUZQZDBJc1NVRkJUWGhDTEVWQlFVOXZRaXhMUVVGTGMyTXNUVUZEYmtNeFpDeEZRVUZQTmtVc1VVRkJWVGRGTEVWQlFVOTNRaXhKUVVGSlowWXNTMEZETlVKc1FpeEZRVUZUZEVZc1JVRkJVU3hoUVVGalFTeEZRVUZQTmtVc1UwRkZkRU1zU1VGQlNUaFpMRVZCUVVrc1IwRkRVaXhKUVVGTExFbEJRVWxxWkN4TFFVRkxZeXhGUVVGSllTeEhRVU5vUW5OaUxFVkJRVVZxWkN4SFFVRkxZeXhGUVVGSllTeEhRVUZITTBJc1IwRkhhRUlzU1VGQlNUaGlMRVZCUVZONFl5eEZRVUZQYjBJc1MwRkJTM0JDTEVWQlFVOXZRaXhMUVVGTFVpeFBRVUZUTEVsQlFVMWFMRVZCUTJoRVFTeEZRVUZQUlN4SlFVRkphME1zVDBGQlUxb3NSVUZCU1dFc1MwRkJUMjFoTEVWQlFVOXVZU3hKUVVWNFEwd3NUMEZCVDJkQ0xFdEJRVXQ0UWl4RlFVRkpZU3hKUVVGSk1rZ3NVVUZCVVN4VFFVRlZiMVFzUjBGRGNFTXNTVUZCU1ZFc1JVRkJTWEJqTEVWQlFVbGhMRWRCUVVjcllTeEhRVU5tT1Znc1JVRkJVM1JHTEVWQlFWRXNiVUpCUVc5Q0xFTkJRVVUyWXl4UFFVRlJUeXhGUVVGSFNDeEpRVUZMVnl4TlFVbHVSQ3hKUVVGT1NpeEpRVUZUZUdRc1JVRkJUM05DTEZsQlFXRXNSMEZEYWtOMFFpeEZRVUZQTmtVc1VVRkJWVGRGTEVWQlFVOXBTQ3haUVVGamFrZ3NSVUZCVDJkSUxGZEJRV0VzUjBGRE1VUm9TQ3hGUVVGUGJVTXNWMEZCVjNaQ0xFOUJRVk1zUlVGRE0wSmFMRVZCUVU4eVFpeE5RVUZSUXl4RlFVRkZLMElzUzBGSGJrSXNVMEZCVTNWRkxFVkJRV0ZzU1N4SFFVTndRaXhKUVVWSk5tUXNSVUZHUVRGV0xFVkJRVk51U1N4RlFVRlBiVWtzVDBGRGFFSXlWaXhGUVVGWE0xWXNSVUZCVDI5V0xHTkJSV3hDVVN4RlFVRlRMRWRCUldJc1QwRkJTUzlrTEVWQlFVOHJRaXhUUVVGVGIwY3NSMEZEV0c1SkxFVkJRVThyUWl4VFFVRlRiMGNzUjBGRmNrSnVTU3hGUVVGUEswSXNVMEZCVXl0aUxFZEJRMWc1WkN4RlFVRlBLMElzVTBGQlV5dGlMRWxCUjBFc1QwRkVla0l6Vml4RlFVRlRNbFlzUjBGRFJYUmhMRTlCUVU4c1MwRkRVeXhOUVVGeVFqSkZMRVZCUVU4elJTeFBRVUZQTEVsQlEyaENNa1VzUlVGQlUwRXNSVUZCVHpaV0xFMUJRVTBzUjBGRmRFSkVMRWRCUkVGR0xFVkJRVTFKTEZOQlFWTTVWaXhGUVVGUkxFdEJRMVkxUlN4VFFVRlRMRTFCUlhSQ05FVXNSVUZCVTBFc1JVRkJUelpXTEUxQlFVMHNSMEZGZEVKRUxFZEJSRUZHTEVWQlFVMUpMRk5CUVZNNVZpeEZRVUZSTEV0QlExWTFSU3hUUVVGVExFMUJSekZDTkVVc1JVRkJVMEVzUlVGQlQyMVZMRkZCUVZFc1RVRkJUeXhKUVVNelFqUkNMRTFCUVUxTUxFbEJRVkZGTEVWQlFVOVNMR2RDUVVGclFuQldMRWRCUTNwRGJrVXNSVUZCVjJoRkxFVkJRVkVzTkVKQlExb3NTVUZCVFVFc1JVRkJUMjFKTEU5QlFWTXNTMEZIZUVJMFZDeFBRVUZQYmxFc1kwRkJZMmxUTEVsQlJ6bENMRk5CUVZOdVlTeEZRVUZwUWpGRUxFVkJRVkZsTEVkQlEzUkNMRTFCUVU1QkxFZEJRMFptTEVWQlFVOHlRaXhOUVVGUlF5eEZRVUZGYzBNc1ZVRkRha0pzUlN4RlFVRlBiVVVzYVVKQlFXMUNia1VzUlVGQlQzZERMRlZCUTNaQ2RVSXNSVUZCWVdoRUxFdEJSM1pDYVVRc1JVRkJWMmhGTEVWQlFWRXNiME5CUTI1Q1FTeEZRVUZQTmtRc1UwRkJWemxETEVWQlEyeENaaXhGUVVGUE1rSXNUVUZCVVVNc1JVRkJSU3RDTEUxQlNYSkNMRk5CUVZOSUxFVkJRVkZHTEVWQlFVODFReXhIUVVOMFFpeEpRVUZKZVdRc1JVRkJVeXhIUVVsaUxFOUJTRWw2WkN4RlFVRkpORU1zUlVGQlRURkRMRk5CUTFwMVpDeEZRVUZUTjJFc1JVRkJUVVVzVDBGQlR6bERMRWxCUldwQ2VXUXNSVUZ5VmxSMll5eEZRVUZKTjBJc1JVRkJTU3RNTEUxQk1qTkNTR2xSTEU5QlFVOXVVU3huUWtGRlNrWXNSVUZCY1VKeFVTeFBRVUZQUXl4aFFVTTFRbkpSTEVWQlFWRnVSQ3hMUVVGTGJVUXNUVUZEWWtNc1JVRkJaMElzVjBGRGJFSXNTVUZGU1hkVExFVkJRMEZETEVWQlJrRkRMRVZCUVZrc1IwRkhXa01zUjBGQlV5eEZRVU5VTTJRc1JVRkJVM05MTEZWQlFWVjBTeXhQUVVOMlFpeEpRVUZMUVN4RlFVTklMRTFCUVU4c1IwRkhWQ3hKUVVSQkxFbEJRVWwxWkN4RlFVRlRMRXRCUTBwSkxFVkJRVkV6WkN4SFFVRlJMRU5CUTNaQ0xFbEJRVWswWkN4RlFVRlpReXhQUVVGUGRsUXNWVUZCVlhGVUxFbEJRMnBETEVsQlEwZEhMRk5CUVZOR0xFbEJRMVpCTEVWQlFWa3NSMEZEV2tFc1JVRkJXU3hUUVVOYU4xTXNSVUZCVFRaVExFdEJRV1ZCTEVWQlJYSkNMRTFCUVUxSExGZEJRVmNzZFVKQlFYbENTQ3hIUVVWNFEwRXNSMEZCWVN4TlFVTm1SaXhGUVVGVmJtSXNTMEZCUzNGaUxFbEJTV1pLTEVWQlFXOURMRkZCUkhCRFNTeEhRVUZoTEZGQlEybENMRWxCUXpsQ1NDeEZRVUZuUWtjc1JVRkJXU3hMUVVGVExFMUJRM0pEUml4RlFVRlZibUlzUzBGQlMybGlMRVZCUVdWRExFdEJSVFZDUlN4RlFVRlJMRWxCUVUwelpDeEhRVUZWTUdRc1JVRkJWVEZrTEU5Qk4wSjZRaXhUUVRoQ1dIVmtMRWRCUVZWNlV5eEZRVUZ0UW01RExFMUJRVTBzUzBGQlRTdFZMRWRCUTNwRFFTeEZRVUZWTVdRc1QwRkJVeXhIUVVkMlFpeFBRVUZQZFdRc1IwRkhURzVqTEU5QlFVOXBTU3hsUVVOVWFra3NUMEZCVDJsSkxHVkJRV1U0VWl4UFFVRlJMR2RDUVVGcFFpeERRVU0zUTNoVkxFMUJRVTl4UlN4RlFVTlFjRUlzWTBGQll5eEZRVU5rWml4VlFVRlZMRWxCUjFwelV5eFBRVUZQYmxFc1kwRkJaMEpCTEVkQmVHaEVPVUlzUTBFMGFFUnhRaXh2UWtGQldtZFVMRkZCUVRCQ2JtVXNTMEZCUzFZc1NVRkJUU3hIUVVGTE5tVWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YldGemRHVnlMM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDNOaGVDOXNhV0l2YzJGNExtcHpJbjA9IiwibW9kdWxlLmV4cG9ydHM9U3RyZWFtO3ZhciBFRT1yZXF1aXJlKFwiZXZlbnRzXCIpLkV2ZW50RW1pdHRlcixpbmhlcml0cz1yZXF1aXJlKFwiaW5oZXJpdHNcIik7ZnVuY3Rpb24gU3RyZWFtKCl7RUUuY2FsbCh0aGlzKX1pbmhlcml0cyhTdHJlYW0sRUUpLFN0cmVhbS5SZWFkYWJsZT1yZXF1aXJlKFwicmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3JlYWRhYmxlLmpzXCIpLFN0cmVhbS5Xcml0YWJsZT1yZXF1aXJlKFwicmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3dyaXRhYmxlLmpzXCIpLFN0cmVhbS5EdXBsZXg9cmVxdWlyZShcInJlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9kdXBsZXguanNcIiksU3RyZWFtLlRyYW5zZm9ybT1yZXF1aXJlKFwicmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3RyYW5zZm9ybS5qc1wiKSxTdHJlYW0uUGFzc1Rocm91Z2g9cmVxdWlyZShcInJlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9wYXNzdGhyb3VnaC5qc1wiKSxTdHJlYW0uZmluaXNoZWQ9cmVxdWlyZShcInJlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9lbmQtb2Ytc3RyZWFtLmpzXCIpLFN0cmVhbS5waXBlbGluZT1yZXF1aXJlKFwicmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL3BpcGVsaW5lLmpzXCIpLFN0cmVhbS5TdHJlYW09U3RyZWFtLFN0cmVhbS5wcm90b3R5cGUucGlwZT1mdW5jdGlvbihlLHIpe3ZhciB0PXRoaXM7ZnVuY3Rpb24gYShyKXtlLndyaXRhYmxlJiYhMT09PWUud3JpdGUocikmJnQucGF1c2UmJnQucGF1c2UoKX1mdW5jdGlvbiBpKCl7dC5yZWFkYWJsZSYmdC5yZXN1bWUmJnQucmVzdW1lKCl9dC5vbihcImRhdGFcIixhKSxlLm9uKFwiZHJhaW5cIixpKSxlLl9pc1N0ZGlvfHxyJiYhMT09PXIuZW5kfHwodC5vbihcImVuZFwiLHMpLHQub24oXCJjbG9zZVwiLG8pKTt2YXIgbj0hMTtmdW5jdGlvbiBzKCl7bnx8KG49ITAsZS5lbmQoKSl9ZnVuY3Rpb24gbygpe258fChuPSEwLFwiZnVuY3Rpb25cIj09dHlwZW9mIGUuZGVzdHJveSYmZS5kZXN0cm95KCkpfWZ1bmN0aW9uIG0oZSl7aWYobCgpLDA9PT1FRS5saXN0ZW5lckNvdW50KHRoaXMsXCJlcnJvclwiKSl0aHJvdyBlfWZ1bmN0aW9uIGwoKXt0LnJlbW92ZUxpc3RlbmVyKFwiZGF0YVwiLGEpLGUucmVtb3ZlTGlzdGVuZXIoXCJkcmFpblwiLGkpLHQucmVtb3ZlTGlzdGVuZXIoXCJlbmRcIixzKSx0LnJlbW92ZUxpc3RlbmVyKFwiY2xvc2VcIixvKSx0LnJlbW92ZUxpc3RlbmVyKFwiZXJyb3JcIixtKSxlLnJlbW92ZUxpc3RlbmVyKFwiZXJyb3JcIixtKSx0LnJlbW92ZUxpc3RlbmVyKFwiZW5kXCIsbCksdC5yZW1vdmVMaXN0ZW5lcihcImNsb3NlXCIsbCksZS5yZW1vdmVMaXN0ZW5lcihcImNsb3NlXCIsbCl9cmV0dXJuIHQub24oXCJlcnJvclwiLG0pLGUub24oXCJlcnJvclwiLG0pLHQub24oXCJlbmRcIixsKSx0Lm9uKFwiY2xvc2VcIixsKSxlLm9uKFwiY2xvc2VcIixsKSxlLmVtaXQoXCJwaXBlXCIsdCksZX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbWx1WkdWNExtcHpJbDBzSW01aGJXVnpJanBiSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pTENKVGRISmxZVzBpTENKRlJTSXNJbkpsY1hWcGNtVWlMQ0pGZG1WdWRFVnRhWFIwWlhJaUxDSnBibWhsY21sMGN5SXNJbU5oYkd3aUxDSjBhR2x6SWl3aVVtVmhaR0ZpYkdVaUxDSlhjbWwwWVdKc1pTSXNJa1IxY0d4bGVDSXNJbFJ5WVc1elptOXliU0lzSWxCaGMzTlVhSEp2ZFdkb0lpd2labWx1YVhOb1pXUWlMQ0p3YVhCbGJHbHVaU0lzSW5CeWIzUnZkSGx3WlNJc0luQnBjR1VpTENKa1pYTjBJaXdpYjNCMGFXOXVjeUlzSW5OdmRYSmpaU0lzSW05dVpHRjBZU0lzSW1Ob2RXNXJJaXdpZDNKcGRHRmliR1VpTENKM2NtbDBaU0lzSW5CaGRYTmxJaXdpYjI1a2NtRnBiaUlzSW5KbFlXUmhZbXhsSWl3aWNtVnpkVzFsSWl3aWIyNGlMQ0pmYVhOVGRHUnBieUlzSW1WdVpDSXNJbTl1Wlc1a0lpd2liMjVqYkc5elpTSXNJbVJwWkU5dVJXNWtJaXdpWkdWemRISnZlU0lzSW05dVpYSnliM0lpTENKbGNpSXNJbU5zWldGdWRYQWlMQ0pzYVhOMFpXNWxja052ZFc1MElpd2ljbVZ0YjNabFRHbHpkR1Z1WlhJaUxDSmxiV2wwSWwwc0ltMWhjSEJwYm1keklqb2lRVUZ4UWtGQkxFOUJRVTlETEZGQlFWVkRMRTlCUldwQ0xFbEJRVWxETEVkQlFVdERMRkZCUVZFc1ZVRkJWVU1zWVVGRGRrSkRMRk5CUVZkR0xGRkJRVkVzV1VGdFFuWkNMRk5CUVZOR0xGTkJRMUJETEVkQlFVZEpMRXRCUVV0RExFMUJiRUpXUml4VFFVRlRTaXhQUVVGUlF5eEpRVU5xUWtRc1QwRkJUMDhzVTBGQlYwd3NVVUZCVVN3eVEwRkRNVUpHTEU5QlFVOVJMRk5CUVZkT0xGRkJRVkVzTWtOQlF6RkNSaXhQUVVGUFV5eFBRVUZUVUN4UlFVRlJMSGxEUVVONFFrWXNUMEZCVDFVc1ZVRkJXVklzVVVGQlVTdzBRMEZETTBKR0xFOUJRVTlYTEZsQlFXTlVMRkZCUVZFc09FTkJRemRDUml4UFFVRlBXU3hUUVVGWFZpeFJRVUZSTEhsRVFVTXhRa1lzVDBGQlQyRXNVMEZCVjFnc1VVRkJVU3h2UkVGSE1VSkdMRTlCUVU5QkxFOUJRVk5CTEU5QlYyaENRU3hQUVVGUFl5eFZRVUZWUXl4TFFVRlBMRk5CUVZORExFVkJRVTFETEVkQlEzSkRMRWxCUVVsRExFVkJRVk5hTEV0QlJXSXNVMEZCVTJFc1JVRkJUME1zUjBGRFZrb3NSVUZCUzBzc1YwRkRTQ3hKUVVGVlRDeEZRVUZMVFN4TlFVRk5SaXhKUVVGVlJpeEZRVUZQU3l4UFFVTjRRMHdzUlVGQlQwc3NVVUZQWWl4VFFVRlRReXhKUVVOSVRpeEZRVUZQVHl4VlFVRlpVQ3hGUVVGUFVTeFJRVU0xUWxJc1JVRkJUMUVzVTBGS1dGSXNSVUZCVDFNc1IwRkJSeXhQUVVGUlVpeEhRVkZzUWtnc1JVRkJTMWNzUjBGQlJ5eFJRVUZUU0N4SFFVbGFVaXhGUVVGTFdTeFZRVUZqV0N4SlFVRXlRaXhKUVVGb1FrRXNSVUZCVVZrc1RVRkRla05ZTEVWQlFVOVRMRWRCUVVjc1RVRkJUMGNzUjBGRGFrSmFMRVZCUVU5VExFZEJRVWNzVVVGQlUwa3NTVUZIY2tJc1NVRkJTVU1zUjBGQlZ5eEZRVU5tTEZOQlFWTkdMRWxCUTBoRkxFbEJRMHBCTEVkQlFWY3NSVUZGV0doQ0xFVkJRVXRoTEU5QlNWQXNVMEZCVTBVc1NVRkRTRU1zU1VGRFNrRXNSMEZCVnl4RlFVVnBRaXh0UWtGQmFrSm9RaXhGUVVGTGFVSXNVMEZCZDBKcVFpeEZRVUZMYVVJc1YwRkpMME1zVTBGQlUwTXNSVUZCVVVNc1IwRkZaaXhIUVVSQlF5eEpRVU4zUXl4SlFVRndRMjVETEVkQlFVZHZReXhqUVVGakwwSXNTMEZCVFN4VFFVTjZRaXhOUVVGTk5rSXNSVUZSVml4VFFVRlRReXhKUVVOUWJFSXNSVUZCVDI5Q0xHVkJRV1VzVDBGQlVXNUNMRWRCUXpsQ1NDeEZRVUZMYzBJc1pVRkJaU3hSUVVGVFpDeEhRVVUzUWs0c1JVRkJUMjlDTEdWQlFXVXNUVUZCVDFJc1IwRkROMEphTEVWQlFVOXZRaXhsUVVGbExGRkJRVk5RTEVkQlJTOUNZaXhGUVVGUGIwSXNaVUZCWlN4UlFVRlRTaXhIUVVNdlFteENMRVZCUVV0elFpeGxRVUZsTEZGQlFWTktMRWRCUlRkQ2FFSXNSVUZCVDI5Q0xHVkJRV1VzVFVGQlQwWXNSMEZETjBKc1FpeEZRVUZQYjBJc1pVRkJaU3hSUVVGVFJpeEhRVVV2UW5CQ0xFVkJRVXR6UWl4bFFVRmxMRkZCUVZOR0xFZEJWeTlDTEU5Qk5VSkJiRUlzUlVGQlQxTXNSMEZCUnl4UlFVRlRUeXhIUVVOdVFteENMRVZCUVV0WExFZEJRVWNzVVVGQlUwOHNSMEZ0UW1wQ2FFSXNSVUZCVDFNc1IwRkJSeXhOUVVGUFV5eEhRVU5xUW14Q0xFVkJRVTlUTEVkQlFVY3NVVUZCVTFNc1IwRkZia0p3UWl4RlFVRkxWeXhIUVVGSExGRkJRVk5UTEVkQlJXcENjRUlzUlVGQlMzVkNMRXRCUVVzc1QwRkJVWEpDTEVkQlIxaEdJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDIxaGMzUmxjaTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5emRISmxZVzB0WW5KdmQzTmxjbWxtZVM5cGJtUmxlQzVxY3lKOSIsIlwidXNlIHN0cmljdFwiO2Z1bmN0aW9uIF9pbmhlcml0c0xvb3NlKGUscil7ZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShyLnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLl9fcHJvdG9fXz1yfXZhciBjb2Rlcz17fTtmdW5jdGlvbiBjcmVhdGVFcnJvclR5cGUoZSxyLHQpe3R8fCh0PUVycm9yKTt2YXIgbj1mdW5jdGlvbihlKXtmdW5jdGlvbiB0KHQsbixvKXtyZXR1cm4gZS5jYWxsKHRoaXMsZnVuY3Rpb24oZSx0LG4pe3JldHVyblwic3RyaW5nXCI9PXR5cGVvZiByP3I6cihlLHQsbil9KHQsbixvKSl8fHRoaXN9cmV0dXJuIF9pbmhlcml0c0xvb3NlKHQsZSksdH0odCk7bi5wcm90b3R5cGUubmFtZT10Lm5hbWUsbi5wcm90b3R5cGUuY29kZT1lLGNvZGVzW2VdPW59ZnVuY3Rpb24gb25lT2YoZSxyKXtpZihBcnJheS5pc0FycmF5KGUpKXt2YXIgdD1lLmxlbmd0aDtyZXR1cm4gZT1lLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gU3RyaW5nKGUpfSksdD4yP1wib25lIG9mIFwiLmNvbmNhdChyLFwiIFwiKS5jb25jYXQoZS5zbGljZSgwLHQtMSkuam9pbihcIiwgXCIpLFwiLCBvciBcIikrZVt0LTFdOjI9PT10P1wib25lIG9mIFwiLmNvbmNhdChyLFwiIFwiKS5jb25jYXQoZVswXSxcIiBvciBcIikuY29uY2F0KGVbMV0pOlwib2YgXCIuY29uY2F0KHIsXCIgXCIpLmNvbmNhdChlWzBdKX1yZXR1cm5cIm9mIFwiLmNvbmNhdChyLFwiIFwiKS5jb25jYXQoU3RyaW5nKGUpKX1mdW5jdGlvbiBzdGFydHNXaXRoKGUscix0KXtyZXR1cm4gZS5zdWJzdHIoIXR8fHQ8MD8wOit0LHIubGVuZ3RoKT09PXJ9ZnVuY3Rpb24gZW5kc1dpdGgoZSxyLHQpe3JldHVybih2b2lkIDA9PT10fHx0PmUubGVuZ3RoKSYmKHQ9ZS5sZW5ndGgpLGUuc3Vic3RyaW5nKHQtci5sZW5ndGgsdCk9PT1yfWZ1bmN0aW9uIGluY2x1ZGVzKGUscix0KXtyZXR1cm5cIm51bWJlclwiIT10eXBlb2YgdCYmKHQ9MCksISh0K3IubGVuZ3RoPmUubGVuZ3RoKSYmLTEhPT1lLmluZGV4T2Yocix0KX1jcmVhdGVFcnJvclR5cGUoXCJFUlJfSU5WQUxJRF9PUFRfVkFMVUVcIixmdW5jdGlvbihlLHIpe3JldHVybidUaGUgdmFsdWUgXCInK3IrJ1wiIGlzIGludmFsaWQgZm9yIG9wdGlvbiBcIicrZSsnXCInfSxUeXBlRXJyb3IpLGNyZWF0ZUVycm9yVHlwZShcIkVSUl9JTlZBTElEX0FSR19UWVBFXCIsZnVuY3Rpb24oZSxyLHQpe3ZhciBuLG87aWYoXCJzdHJpbmdcIj09dHlwZW9mIHImJnN0YXJ0c1dpdGgocixcIm5vdCBcIik/KG49XCJtdXN0IG5vdCBiZVwiLHI9ci5yZXBsYWNlKC9ebm90IC8sXCJcIikpOm49XCJtdXN0IGJlXCIsZW5kc1dpdGgoZSxcIiBhcmd1bWVudFwiKSlvPVwiVGhlIFwiLmNvbmNhdChlLFwiIFwiKS5jb25jYXQobixcIiBcIikuY29uY2F0KG9uZU9mKHIsXCJ0eXBlXCIpKTtlbHNle3ZhciBjPWluY2x1ZGVzKGUsXCIuXCIpP1wicHJvcGVydHlcIjpcImFyZ3VtZW50XCI7bz0nVGhlIFwiJy5jb25jYXQoZSwnXCIgJykuY29uY2F0KGMsXCIgXCIpLmNvbmNhdChuLFwiIFwiKS5jb25jYXQob25lT2YocixcInR5cGVcIikpfXJldHVybiBvKz1cIi4gUmVjZWl2ZWQgdHlwZSBcIi5jb25jYXQodHlwZW9mIHQpfSxUeXBlRXJyb3IpLGNyZWF0ZUVycm9yVHlwZShcIkVSUl9TVFJFQU1fUFVTSF9BRlRFUl9FT0ZcIixcInN0cmVhbS5wdXNoKCkgYWZ0ZXIgRU9GXCIpLGNyZWF0ZUVycm9yVHlwZShcIkVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVEXCIsZnVuY3Rpb24oZSl7cmV0dXJuXCJUaGUgXCIrZStcIiBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkXCJ9KSxjcmVhdGVFcnJvclR5cGUoXCJFUlJfU1RSRUFNX1BSRU1BVFVSRV9DTE9TRVwiLFwiUHJlbWF0dXJlIGNsb3NlXCIpLGNyZWF0ZUVycm9yVHlwZShcIkVSUl9TVFJFQU1fREVTVFJPWUVEXCIsZnVuY3Rpb24oZSl7cmV0dXJuXCJDYW5ub3QgY2FsbCBcIitlK1wiIGFmdGVyIGEgc3RyZWFtIHdhcyBkZXN0cm95ZWRcIn0pLGNyZWF0ZUVycm9yVHlwZShcIkVSUl9NVUxUSVBMRV9DQUxMQkFDS1wiLFwiQ2FsbGJhY2sgY2FsbGVkIG11bHRpcGxlIHRpbWVzXCIpLGNyZWF0ZUVycm9yVHlwZShcIkVSUl9TVFJFQU1fQ0FOTk9UX1BJUEVcIixcIkNhbm5vdCBwaXBlLCBub3QgcmVhZGFibGVcIiksY3JlYXRlRXJyb3JUeXBlKFwiRVJSX1NUUkVBTV9XUklURV9BRlRFUl9FTkRcIixcIndyaXRlIGFmdGVyIGVuZFwiKSxjcmVhdGVFcnJvclR5cGUoXCJFUlJfU1RSRUFNX05VTExfVkFMVUVTXCIsXCJNYXkgbm90IHdyaXRlIG51bGwgdmFsdWVzIHRvIHN0cmVhbVwiLFR5cGVFcnJvciksY3JlYXRlRXJyb3JUeXBlKFwiRVJSX1VOS05PV05fRU5DT0RJTkdcIixmdW5jdGlvbihlKXtyZXR1cm5cIlVua25vd24gZW5jb2Rpbmc6IFwiK2V9LFR5cGVFcnJvciksY3JlYXRlRXJyb3JUeXBlKFwiRVJSX1NUUkVBTV9VTlNISUZUX0FGVEVSX0VORF9FVkVOVFwiLFwic3RyZWFtLnVuc2hpZnQoKSBhZnRlciBlbmQgZXZlbnRcIiksbW9kdWxlLmV4cG9ydHMuY29kZXM9Y29kZXM7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbVZ5Y205eWN5MWljbTkzYzJWeUxtcHpJbDBzSW01aGJXVnpJanBiSWw5cGJtaGxjbWwwYzB4dmIzTmxJaXdpYzNWaVEyeGhjM01pTENKemRYQmxja05zWVhOeklpd2ljSEp2ZEc5MGVYQmxJaXdpVDJKcVpXTjBJaXdpWTNKbFlYUmxJaXdpWTI5dWMzUnlkV04wYjNJaUxDSmZYM0J5YjNSdlgxOGlMQ0pqYjJSbGN5SXNJbU55WldGMFpVVnljbTl5Vkhsd1pTSXNJbU52WkdVaUxDSnRaWE56WVdkbElpd2lRbUZ6WlNJc0lrVnljbTl5SWl3aVRtOWtaVVZ5Y205eUlpd2lYMEpoYzJVaUxDSmhjbWN4SWl3aVlYSm5NaUlzSW1GeVp6TWlMQ0pqWVd4c0lpd2lkR2hwY3lJc0ltZGxkRTFsYzNOaFoyVWlMQ0p1WVcxbElpd2liMjVsVDJZaUxDSmxlSEJsWTNSbFpDSXNJblJvYVc1bklpd2lRWEp5WVhraUxDSnBjMEZ5Y21GNUlpd2liR1Z1SWl3aWJHVnVaM1JvSWl3aWJXRndJaXdpYVNJc0lsTjBjbWx1WnlJc0ltTnZibU5oZENJc0luTnNhV05sSWl3aWFtOXBiaUlzSW5OMFlYSjBjMWRwZEdnaUxDSnpkSElpTENKelpXRnlZMmdpTENKd2IzTWlMQ0p6ZFdKemRISWlMQ0psYm1SelYybDBhQ0lzSW5Sb2FYTmZiR1Z1SWl3aWRXNWtaV1pwYm1Wa0lpd2ljM1ZpYzNSeWFXNW5JaXdpYVc1amJIVmtaWE1pTENKemRHRnlkQ0lzSW1sdVpHVjRUMllpTENKMllXeDFaU0lzSWxSNWNHVkZjbkp2Y2lJc0ltRmpkSFZoYkNJc0ltUmxkR1Z5YldsdVpYSWlMQ0p0YzJjaUxDSnlaWEJzWVdObElpd2lkSGx3WlNJc0ltRnlaeUlzSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTEdGQlJVRXNVMEZCVTBFc1pVRkJaVU1zUlVGQlZVTXNSMEZCWTBRc1JVRkJVMFVzVlVGQldVTXNUMEZCVDBNc1QwRkJUMGdzUlVGQlYwTXNWMEZCV1VZc1JVRkJVMFVzVlVGQlZVY3NXVUZCWTB3c1JVRkJWVUVzUlVGQlUwMHNWVUZCV1V3c1JVRkZNVXNzU1VGQlNVMHNUVUZCVVN4SFFVVmFMRk5CUVZORExHZENRVUZuUWtNc1JVRkJUVU1zUlVGQlUwTXNSMEZEYWtOQkxFbEJRMGhCTEVWQlFVOURMRTlCVjFRc1NVRkJTVU1zUlVGRlNpeFRRVUZWUXl4SFFVZFNMRk5CUVZORUxFVkJRVlZGTEVWQlFVMURMRVZCUVUxRExFZEJRemRDTEU5QlFVOUlMRVZCUVUxSkxFdEJRVXRETEV0QlpIUkNMRk5CUVc5Q1NpeEZRVUZOUXl4RlFVRk5ReXhIUVVNNVFpeE5RVUYxUWl4cFFrRkJXbEFzUlVGRFJrRXNSVUZGUVVFc1JVRkJVVXNzUlVGQlRVTXNSVUZCVFVNc1IwRlZTRWNzUTBGQlYwd3NSVUZCVFVNc1JVRkJUVU1zUzBGQlZVVXNTMEZITTBRc1QwRk9RWEJDTEdWQlFXVmpMRVZCUVZkRExFZEJUVzVDUkN4RlFWQlVMRU5CVVVWR0xFZEJSVVpGTEVWQlFWVllMRlZCUVZWdFFpeExRVUZQVml4RlFVRkxWU3hMUVVOb1ExSXNSVUZCVlZnc1ZVRkJWVThzUzBGQlQwRXNSVUZETTBKR0xFMUJRVTFGTEVkQlFWRkpMRVZCU1doQ0xGTkJRVk5UTEUxQlFVMURMRVZCUVZWRExFZEJRM1pDTEVkQlFVbERMRTFCUVUxRExGRkJRVkZJTEVkQlFWY3NRMEZETTBJc1NVRkJTVWtzUlVGQlRVb3NSVUZCVTBzc1QwRkxia0lzVDBGS1FVd3NSVUZCVjBFc1JVRkJVMDBzU1VGQlNTeFRRVUZWUXl4SFFVTm9ReXhQUVVGUFF5eFBRVUZQUkN4TFFVZGFTQ3hGUVVGTkxFVkJRMFFzVlVGQlZVc3NUMEZCVDFJc1JVRkJUeXhMUVVGTFVTeFBRVUZQVkN4RlFVRlRWU3hOUVVGTkxFVkJRVWRPTEVWQlFVMHNSMEZCUjA4c1MwRkJTeXhOUVVGUExGTkJRVmRZTEVWQlFWTkpMRVZCUVUwc1IwRkRNMFlzU1VGQlVrRXNSVUZEUml4VlFVRlZTeXhQUVVGUFVpeEZRVUZQTEV0QlFVdFJMRTlCUVU5VUxFVkJRVk1zUjBGQlNTeFJRVUZSVXl4UFFVRlBWQ3hGUVVGVExFbEJSWHBGTEUxQlFVMVRMRTlCUVU5U0xFVkJRVThzUzBGQlMxRXNUMEZCVDFRc1JVRkJVeXhKUVVkc1JDeE5RVUZQTEUxQlFVMVRMRTlCUVU5U0xFVkJRVThzUzBGQlMxRXNUMEZCVDBRc1QwRkJUMUlzU1VGTGJFUXNVMEZCVTFrc1YwRkJWME1zUlVGQlMwTXNSVUZCVVVNc1IwRkRMMElzVDBGQlQwWXNSVUZCU1Vjc1VVRkJVVVFzUjBGQlQwRXNSVUZCVFN4RlFVRkpMRWRCUVV0QkxFVkJRVXRFTEVWQlFVOVVMRlZCUVZsVExFVkJTVzVGTEZOQlFWTkhMRk5CUVZOS0xFVkJRVXRETEVWQlFWRkpMRWRCU3pkQ0xGbEJTbWxDUXl4SlFVRmlSQ3hIUVVFd1FrRXNSVUZCVjB3c1JVRkJTVklzVlVGRE0wTmhMRVZCUVZkTUxFVkJRVWxTTEZGQlIxWlJMRVZCUVVsUExGVkJRVlZHTEVWQlFWZEtMRVZCUVU5VUxFOUJRVkZoTEV0QlFXTktMRVZCU1M5RUxGTkJRVk5QTEZOQlFWTlNMRVZCUVV0RExFVkJRVkZSTEVkQlN6ZENMRTFCU25GQ0xHbENRVUZXUVN4SlFVTlVRU3hGUVVGUkxFdEJSMDVCTEVWQlFWRlNMRVZCUVU5VUxFOUJRVk5STEVWQlFVbFNMRlZCUjFNc1NVRkJhRU5STEVWQlFVbFZMRkZCUVZGVUxFVkJRVkZSTEVkQlNTOUNja01zWjBKQlFXZENMSGRDUVVGNVFpeFRRVUZWWVN4RlFVRk5NRUlzUjBGRGRrUXNUVUZCVHl4alFVRm5Ra0VzUlVGQlVTdzBRa0ZCT0VJeFFpeEZRVUZQTEV0QlEyNUZNa0lzVjBGRFNIaERMR2RDUVVGblFpeDFRa0ZCZDBJc1UwRkJWV0VzUlVGQlRVVXNSVUZCVlRCQ0xFZEJSV2hGTEVsQlFVbERMRVZCVTBGRExFVkJSVW9zUjBGVWQwSXNhVUpCUVdJMVFpeEhRVUY1UWxrc1YwRkJWMW9zUlVGQlZTeFRRVU4yUkRKQ0xFVkJRV0VzWTBGRFlqTkNMRVZCUVZkQkxFVkJRVk0yUWl4UlFVRlJMRkZCUVZNc1MwRkZja05HTEVWQlFXRXNWVUZMV0ZZc1UwRkJVMjVDTEVWQlFVMHNZVUZGYWtJNFFpeEZRVUZOTEU5QlFVOXVRaXhQUVVGUFdDeEZRVUZOTEV0QlFVdFhMRTlCUVU5clFpeEZRVUZaTEV0QlFVdHNRaXhQUVVGUFZpeE5RVUZOUXl4RlFVRlZMR0ZCUTNwRkxFTkJRMHdzU1VGQlNUaENMRVZCUVU5VUxGTkJRVk4yUWl4RlFVRk5MRXRCUVU4c1YwRkJZU3hYUVVNNVF6aENMRVZCUVUwc1VVRkJVMjVDTEU5QlFVOVlMRVZCUVUwc1RVRkJUMWNzVDBGQlQzRkNMRVZCUVUwc1MwRkJTM0pDTEU5QlFVOXJRaXhGUVVGWkxFdEJRVXRzUWl4UFFVRlBWaXhOUVVGTlF5eEZRVUZWTEZOQlNYUkhMRTlCUkVFMFFpeEhRVUZQTEcxQ1FVRnRRbTVDTEdOQlFXTnBRaXhKUVVWMlEwUXNWMEZEU0hoRExHZENRVUZuUWl3MFFrRkJOa0lzTWtKQlF6ZERRU3huUWtGQlowSXNOa0pCUVRoQ0xGTkJRVlZoTEVkQlEzUkVMRTFCUVU4c1QwRkJVMEVzUlVGQlR5d3JRa0ZGZWtKaUxHZENRVUZuUWl3MlFrRkJPRUlzYlVKQlF6bERRU3huUWtGQlowSXNkVUpCUVhkQ0xGTkJRVlZoTEVkQlEyaEVMRTFCUVU4c1pVRkJhVUpCTEVWQlFVOHNhME5CUldwRFlpeG5Ra0ZCWjBJc2QwSkJRWGxDTEd0RFFVTjZRMEVzWjBKQlFXZENMSGxDUVVFd1FpdzJRa0ZETVVOQkxHZENRVUZuUWl3MlFrRkJPRUlzYlVKQlF6bERRU3huUWtGQlowSXNlVUpCUVRCQ0xITkRRVUYxUTNkRExGZEJRMnBHZUVNc1owSkJRV2RDTEhWQ1FVRjNRaXhUUVVGVk9FTXNSMEZEYUVRc1RVRkJUeXh4UWtGQmRVSkJMRWRCUXpkQ1RpeFhRVU5JZUVNc1owSkJRV2RDTEhGRFFVRnpReXh2UTBGRGRFUXJReXhQUVVGUFF5eFJRVUZSYWtRc1RVRkJVVUVpTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmJXRnpkR1Z5TDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwzTjBjbVZoYlMxaWNtOTNjMlZ5YVdaNUwyNXZaR1ZmYlc5a2RXeGxjeTl5WldGa1lXSnNaUzF6ZEhKbFlXMHZaWEp5YjNKekxXSnliM2R6WlhJdWFuTWlmUT09IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIG9iamVjdEtleXM9T2JqZWN0LmtleXN8fGZ1bmN0aW9uKGUpe3ZhciB0PVtdO2Zvcih2YXIgciBpbiBlKXQucHVzaChyKTtyZXR1cm4gdH07bW9kdWxlLmV4cG9ydHM9RHVwbGV4O3ZhciBSZWFkYWJsZT1yZXF1aXJlKFwiLi9fc3RyZWFtX3JlYWRhYmxlXCIpLFdyaXRhYmxlPXJlcXVpcmUoXCIuL19zdHJlYW1fd3JpdGFibGVcIik7cmVxdWlyZShcImluaGVyaXRzXCIpKER1cGxleCxSZWFkYWJsZSk7Zm9yKHZhciBrZXlzPW9iamVjdEtleXMoV3JpdGFibGUucHJvdG90eXBlKSx2PTA7djxrZXlzLmxlbmd0aDt2Kyspe3ZhciBtZXRob2Q9a2V5c1t2XTtEdXBsZXgucHJvdG90eXBlW21ldGhvZF18fChEdXBsZXgucHJvdG90eXBlW21ldGhvZF09V3JpdGFibGUucHJvdG90eXBlW21ldGhvZF0pfWZ1bmN0aW9uIER1cGxleChlKXtpZighKHRoaXMgaW5zdGFuY2VvZiBEdXBsZXgpKXJldHVybiBuZXcgRHVwbGV4KGUpO1JlYWRhYmxlLmNhbGwodGhpcyxlKSxXcml0YWJsZS5jYWxsKHRoaXMsZSksdGhpcy5hbGxvd0hhbGZPcGVuPSEwLGUmJighMT09PWUucmVhZGFibGUmJih0aGlzLnJlYWRhYmxlPSExKSwhMT09PWUud3JpdGFibGUmJih0aGlzLndyaXRhYmxlPSExKSwhMT09PWUuYWxsb3dIYWxmT3BlbiYmKHRoaXMuYWxsb3dIYWxmT3Blbj0hMSx0aGlzLm9uY2UoXCJlbmRcIixvbmVuZCkpKX1mdW5jdGlvbiBvbmVuZCgpe3RoaXMuX3dyaXRhYmxlU3RhdGUuZW5kZWR8fHByb2Nlc3MubmV4dFRpY2sob25FbmROVCx0aGlzKX1mdW5jdGlvbiBvbkVuZE5UKGUpe2UuZW5kKCl9T2JqZWN0LmRlZmluZVByb3BlcnR5KER1cGxleC5wcm90b3R5cGUsXCJ3cml0YWJsZUhpZ2hXYXRlck1hcmtcIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5oaWdoV2F0ZXJNYXJrfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShEdXBsZXgucHJvdG90eXBlLFwid3JpdGFibGVCdWZmZXJcIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZSYmdGhpcy5fd3JpdGFibGVTdGF0ZS5nZXRCdWZmZXIoKX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoRHVwbGV4LnByb3RvdHlwZSxcIndyaXRhYmxlTGVuZ3RoXCIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUubGVuZ3RofX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShEdXBsZXgucHJvdG90eXBlLFwiZGVzdHJveWVkXCIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMCE9PXRoaXMuX3JlYWRhYmxlU3RhdGUmJnZvaWQgMCE9PXRoaXMuX3dyaXRhYmxlU3RhdGUmJih0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZCYmdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQpfSxzZXQ6ZnVuY3Rpb24oZSl7dm9pZCAwIT09dGhpcy5fcmVhZGFibGVTdGF0ZSYmdm9pZCAwIT09dGhpcy5fd3JpdGFibGVTdGF0ZSYmKHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkPWUsdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ9ZSl9fSk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbDl6ZEhKbFlXMWZaSFZ3YkdWNExtcHpJbDBzSW01aGJXVnpJanBiSW05aWFtVmpkRXRsZVhNaUxDSlBZbXBsWTNRaUxDSnJaWGx6SWl3aWIySnFJaXdpYTJWNUlpd2ljSFZ6YUNJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSkVkWEJzWlhnaUxDSlNaV0ZrWVdKc1pTSXNJbkpsY1hWcGNtVWlMQ0pYY21sMFlXSnNaU0lzSW5CeWIzUnZkSGx3WlNJc0luWWlMQ0pzWlc1bmRHZ2lMQ0p0WlhSb2IyUWlMQ0p2Y0hScGIyNXpJaXdpZEdocGN5SXNJbU5oYkd3aUxDSmhiR3h2ZDBoaGJHWlBjR1Z1SWl3aWNtVmhaR0ZpYkdVaUxDSjNjbWwwWVdKc1pTSXNJbTl1WTJVaUxDSnZibVZ1WkNJc0lsOTNjbWwwWVdKc1pWTjBZWFJsSWl3aVpXNWtaV1FpTENKd2NtOWpaWE56SWl3aWJtVjRkRlJwWTJzaUxDSnZia1Z1WkU1VUlpd2ljMlZzWmlJc0ltVnVaQ0lzSW1SbFptbHVaVkJ5YjNCbGNuUjVJaXdpWlc1MWJXVnlZV0pzWlNJc0ltZGxkQ0lzSW1ocFoyaFhZWFJsY2sxaGNtc2lMQ0puWlhSQ2RXWm1aWElpTENKMWJtUmxabWx1WldRaUxDSmZjbVZoWkdGaWJHVlRkR0YwWlNJc0ltUmxjM1J5YjNsbFpDSXNJbk5sZENJc0luWmhiSFZsSWwwc0ltMWhjSEJwYm1keklqb2lRVUYzUWtFc1lVRkhRU3hKUVVGSlFTeFhRVUZoUXl4UFFVRlBReXhOUVVGUkxGTkJRVlZETEVkQlEzaERMRWxCUVVsRUxFVkJRVThzUjBGRldDeEpRVUZMTEVsQlFVbEZMRXRCUVU5RUxFVkJRMlJFTEVWQlFVdEhMRXRCUVV0RUxFZEJSMW9zVDBGQlQwWXNSMEZMVkVrc1QwRkJUME1zVVVGQlZVTXNUMEZGYWtJc1NVRkJTVU1zVTBGQlYwTXNVVUZCVVN4elFrRkZia0pETEZOQlFWZEVMRkZCUVZFc2MwSkJSWFpDUVN4UlFVRlJMRmRCUVZKQkxFTkJRVzlDUml4UFFVRlJReXhWUVUweFFpeEpRVVpCTEVsQlFVbFFMRXRCUVU5R0xGZEJRVmRYTEZOQlFWTkRMRmRCUlhSQ1F5eEZRVUZKTEVWQlFVZEJMRVZCUVVsWUxFdEJRVXRaTEU5QlFWRkVMRWxCUVVzc1EwRkRjRU1zU1VGQlNVVXNUMEZCVTJJc1MwRkJTMWNzUjBGRFlrd3NUMEZCVDBrc1ZVRkJWVWNzVlVGQlUxQXNUMEZCVDBrc1ZVRkJWVWNzVVVGQlZVb3NVMEZCVTBNc1ZVRkJWVWNzVTBGSmFrWXNVMEZCVTFBc1QwRkJUMUVzUjBGRFpDeExRVUZOUXl4blFrRkJaMEpVTEZGQlFWTXNUMEZCVHl4SlFVRkpRU3hQUVVGUFVTeEhRVU5xUkZBc1UwRkJVMU1zUzBGQlMwUXNTMEZCVFVRc1IwRkRjRUpNTEZOQlFWTlBMRXRCUVV0RUxFdEJRVTFFTEVkQlEzQkNReXhMUVVGTFJTeGxRVUZuUWl4RlFVVnFRa2dzUzBGRGRVSXNTVUZCY2tKQkxFVkJRVkZKTEZkQlFXOUNTQ3hMUVVGTFJ5eFZRVUZYTEVsQlEzWkNMRWxCUVhKQ1NpeEZRVUZSU3l4WFFVRnZRa29zUzBGQlMwa3NWVUZCVnl4SlFVVnNRaXhKUVVFeFFrd3NSVUZCVVVjc1owSkJRMVpHTEV0QlFVdEZMR1ZCUVdkQ0xFVkJRM0pDUml4TFFVRkxTeXhMUVVGTExFMUJRVTlETEZOQmFVTjJRaXhUUVVGVFFTeFJRVVZJVGl4TFFVRkxUeXhsUVVGbFF5eFBRVWQ0UWtNc1VVRkJVVU1zVTBGQlUwTXNVVUZCVTFnc1RVRkhOVUlzVTBGQlUxY3NVVUZCVVVNc1IwRkRaa0VzUlVGQlMwTXNUVUZ5UTFBM1FpeFBRVUZQT0VJc1pVRkJaWFpDTEU5QlFVOUpMRlZCUVZjc2QwSkJRWGxDTEVOQlNTOUViMElzV1VGQldTeEZRVU5hUXl4SlFVRkxMRmRCUTBnc1QwRkJUMmhDTEV0QlFVdFBMR1ZCUVdWVkxHbENRVWN2UW1wRExFOUJRVTg0UWl4bFFVRmxka0lzVDBGQlQwa3NWVUZCVnl4cFFrRkJhMElzUTBGSmVFUnZRaXhaUVVGWkxFVkJRMXBETEVsQlFVc3NWMEZEU0N4UFFVRlBhRUlzUzBGQlMwOHNaMEpCUVd0Q1VDeExRVUZMVHl4bFFVRmxWeXhsUVVkMFJHeERMRTlCUVU4NFFpeGxRVUZsZGtJc1QwRkJUMGtzVlVGQlZ5eHBRa0ZCYTBJc1EwRkplRVJ2UWl4WlFVRlpMRVZCUTFwRExFbEJRVXNzVjBGRFNDeFBRVUZQYUVJc1MwRkJTMDhzWlVGQlpWWXNWVUZuUWk5Q1lpeFBRVUZQT0VJc1pVRkJaWFpDTEU5QlFVOUpMRlZCUVZjc1dVRkJZU3hEUVVsdVJHOUNMRmxCUVZrc1JVRkRXa01zU1VGQlN5eFhRVU5JTEZsQlFUUkNSeXhKUVVGNFFtNUNMRXRCUVV0dlFpeHhRa0ZCZDBSRUxFbEJRWGhDYmtJc1MwRkJTMDhzYVVKQlNYWkRVQ3hMUVVGTGIwSXNaVUZCWlVNc1YwRkJZWEpDTEV0QlFVdFBMR1ZCUVdWakxGbEJSVGxFUXl4SlFVRkxMRk5CUVdGRExGRkJSMWxLTEVsQlFYaENia0lzUzBGQlMyOUNMSEZDUVVGM1JFUXNTVUZCZUVKdVFpeExRVUZMVHl4cFFrRk5PVU5RTEV0QlFVdHZRaXhsUVVGbFF5eFZRVUZaUlN4RlFVTm9RM1pDTEV0QlFVdFBMR1ZCUVdWakxGVkJRVmxGSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwyMWhjM1JsY2k5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OXpkSEpsWVcwdFluSnZkM05sY21sbWVTOXViMlJsWDIxdlpIVnNaWE12Y21WaFpHRmliR1V0YzNSeVpXRnRMMnhwWWk5ZmMzUnlaV0Z0WDJSMWNHeGxlQzVxY3lKOSIsIlwidXNlIHN0cmljdFwiO21vZHVsZS5leHBvcnRzPVBhc3NUaHJvdWdoO3ZhciBUcmFuc2Zvcm09cmVxdWlyZShcIi4vX3N0cmVhbV90cmFuc2Zvcm1cIik7ZnVuY3Rpb24gUGFzc1Rocm91Z2gocil7aWYoISh0aGlzIGluc3RhbmNlb2YgUGFzc1Rocm91Z2gpKXJldHVybiBuZXcgUGFzc1Rocm91Z2gocik7VHJhbnNmb3JtLmNhbGwodGhpcyxyKX1yZXF1aXJlKFwiaW5oZXJpdHNcIikoUGFzc1Rocm91Z2gsVHJhbnNmb3JtKSxQYXNzVGhyb3VnaC5wcm90b3R5cGUuX3RyYW5zZm9ybT1mdW5jdGlvbihyLHMsbyl7byhudWxsLHIpfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsOXpkSEpsWVcxZmNHRnpjM1JvY205MVoyZ3Vhbk1pWFN3aWJtRnRaWE1pT2xzaWJXOWtkV3hsSWl3aVpYaHdiM0owY3lJc0lsQmhjM05VYUhKdmRXZG9JaXdpVkhKaGJuTm1iM0p0SWl3aWNtVnhkV2x5WlNJc0ltOXdkR2x2Ym5NaUxDSjBhR2x6SWl3aVkyRnNiQ0lzSW5CeWIzUnZkSGx3WlNJc0lsOTBjbUZ1YzJadmNtMGlMQ0pqYUhWdWF5SXNJbVZ1WTI5a2FXNW5JaXdpWTJJaVhTd2liV0Z3Y0dsdVozTWlPaUpCUVhWQ1FTeGhRVVZCUVN4UFFVRlBReXhSUVVGVlF5eFpRVVZxUWl4SlFVRkpReXhWUVVGWlF5eFJRVUZSTEhWQ1FVbDRRaXhUUVVGVFJpeFpRVUZaUnl4SFFVTnVRaXhMUVVGTlF5eG5Ra0ZCWjBKS0xHRkJRV01zVDBGQlR5eEpRVUZKUVN4WlFVRlpSeXhIUVVNelJFWXNWVUZCVlVrc1MwRkJTMFFzUzBGQlRVUXNSMEZLZGtKRUxGRkJRVkVzVjBGQlVrRXNRMEZCYjBKR0xGbEJRV0ZETEZkQlQycERSQ3haUVVGWlRTeFZRVUZWUXl4WFFVRmhMRk5CUVZWRExFVkJRVTlETEVWQlFWVkRMRWRCUXpWRVFTeEZRVUZITEV0QlFVMUdJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDIxaGMzUmxjaTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5emRISmxZVzB0WW5KdmQzTmxjbWxtZVM5dWIyUmxYMjF2WkhWc1pYTXZjbVZoWkdGaWJHVXRjM1J5WldGdEwyeHBZaTlmYzNSeVpXRnRYM0JoYzNOMGFISnZkV2RvTG1wekluMD0iLCJcInVzZSBzdHJpY3RcIjt2YXIgRHVwbGV4O21vZHVsZS5leHBvcnRzPVJlYWRhYmxlLFJlYWRhYmxlLlJlYWRhYmxlU3RhdGU9UmVhZGFibGVTdGF0ZTt2YXIgRUU9cmVxdWlyZShcImV2ZW50c1wiKS5FdmVudEVtaXR0ZXIsRUVsaXN0ZW5lckNvdW50PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUubGlzdGVuZXJzKHQpLmxlbmd0aH0sU3RyZWFtPXJlcXVpcmUoXCIuL2ludGVybmFsL3N0cmVhbXMvc3RyZWFtXCIpLEJ1ZmZlcj1yZXF1aXJlKFwiYnVmZmVyXCIpLkJ1ZmZlcixPdXJVaW50OEFycmF5PWdsb2JhbC5VaW50OEFycmF5fHxmdW5jdGlvbigpe307ZnVuY3Rpb24gX3VpbnQ4QXJyYXlUb0J1ZmZlcihlKXtyZXR1cm4gQnVmZmVyLmZyb20oZSl9ZnVuY3Rpb24gX2lzVWludDhBcnJheShlKXtyZXR1cm4gQnVmZmVyLmlzQnVmZmVyKGUpfHxlIGluc3RhbmNlb2YgT3VyVWludDhBcnJheX12YXIgZGVidWcsZGVidWdVdGlsPXJlcXVpcmUoXCJ1dGlsXCIpO2RlYnVnPWRlYnVnVXRpbCYmZGVidWdVdGlsLmRlYnVnbG9nP2RlYnVnVXRpbC5kZWJ1Z2xvZyhcInN0cmVhbVwiKTpmdW5jdGlvbigpe307dmFyIFN0cmluZ0RlY29kZXIsY3JlYXRlUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yLGZyb20sQnVmZmVyTGlzdD1yZXF1aXJlKFwiLi9pbnRlcm5hbC9zdHJlYW1zL2J1ZmZlcl9saXN0XCIpLGRlc3Ryb3lJbXBsPXJlcXVpcmUoXCIuL2ludGVybmFsL3N0cmVhbXMvZGVzdHJveVwiKSxfcmVxdWlyZT1yZXF1aXJlKFwiLi9pbnRlcm5hbC9zdHJlYW1zL3N0YXRlXCIpLGdldEhpZ2hXYXRlck1hcms9X3JlcXVpcmUuZ2V0SGlnaFdhdGVyTWFyayxfcmVxdWlyZSRjb2Rlcz1yZXF1aXJlKFwiLi4vZXJyb3JzXCIpLmNvZGVzLEVSUl9JTlZBTElEX0FSR19UWVBFPV9yZXF1aXJlJGNvZGVzLkVSUl9JTlZBTElEX0FSR19UWVBFLEVSUl9TVFJFQU1fUFVTSF9BRlRFUl9FT0Y9X3JlcXVpcmUkY29kZXMuRVJSX1NUUkVBTV9QVVNIX0FGVEVSX0VPRixFUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRD1fcmVxdWlyZSRjb2Rlcy5FUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRCxFUlJfU1RSRUFNX1VOU0hJRlRfQUZURVJfRU5EX0VWRU5UPV9yZXF1aXJlJGNvZGVzLkVSUl9TVFJFQU1fVU5TSElGVF9BRlRFUl9FTkRfRVZFTlQ7cmVxdWlyZShcImluaGVyaXRzXCIpKFJlYWRhYmxlLFN0cmVhbSk7dmFyIGVycm9yT3JEZXN0cm95PWRlc3Ryb3lJbXBsLmVycm9yT3JEZXN0cm95LGtQcm94eUV2ZW50cz1bXCJlcnJvclwiLFwiY2xvc2VcIixcImRlc3Ryb3lcIixcInBhdXNlXCIsXCJyZXN1bWVcIl07ZnVuY3Rpb24gcHJlcGVuZExpc3RlbmVyKGUsdCxyKXtpZihcImZ1bmN0aW9uXCI9PXR5cGVvZiBlLnByZXBlbmRMaXN0ZW5lcilyZXR1cm4gZS5wcmVwZW5kTGlzdGVuZXIodCxyKTtlLl9ldmVudHMmJmUuX2V2ZW50c1t0XT9BcnJheS5pc0FycmF5KGUuX2V2ZW50c1t0XSk/ZS5fZXZlbnRzW3RdLnVuc2hpZnQocik6ZS5fZXZlbnRzW3RdPVtyLGUuX2V2ZW50c1t0XV06ZS5vbih0LHIpfWZ1bmN0aW9uIFJlYWRhYmxlU3RhdGUoZSx0LHIpe0R1cGxleD1EdXBsZXh8fHJlcXVpcmUoXCIuL19zdHJlYW1fZHVwbGV4XCIpLGU9ZXx8e30sXCJib29sZWFuXCIhPXR5cGVvZiByJiYocj10IGluc3RhbmNlb2YgRHVwbGV4KSx0aGlzLm9iamVjdE1vZGU9ISFlLm9iamVjdE1vZGUsciYmKHRoaXMub2JqZWN0TW9kZT10aGlzLm9iamVjdE1vZGV8fCEhZS5yZWFkYWJsZU9iamVjdE1vZGUpLHRoaXMuaGlnaFdhdGVyTWFyaz1nZXRIaWdoV2F0ZXJNYXJrKHRoaXMsZSxcInJlYWRhYmxlSGlnaFdhdGVyTWFya1wiLHIpLHRoaXMuYnVmZmVyPW5ldyBCdWZmZXJMaXN0LHRoaXMubGVuZ3RoPTAsdGhpcy5waXBlcz1udWxsLHRoaXMucGlwZXNDb3VudD0wLHRoaXMuZmxvd2luZz1udWxsLHRoaXMuZW5kZWQ9ITEsdGhpcy5lbmRFbWl0dGVkPSExLHRoaXMucmVhZGluZz0hMSx0aGlzLnN5bmM9ITAsdGhpcy5uZWVkUmVhZGFibGU9ITEsdGhpcy5lbWl0dGVkUmVhZGFibGU9ITEsdGhpcy5yZWFkYWJsZUxpc3RlbmluZz0hMSx0aGlzLnJlc3VtZVNjaGVkdWxlZD0hMSx0aGlzLnBhdXNlZD0hMCx0aGlzLmVtaXRDbG9zZT0hMSE9PWUuZW1pdENsb3NlLHRoaXMuYXV0b0Rlc3Ryb3k9ISFlLmF1dG9EZXN0cm95LHRoaXMuZGVzdHJveWVkPSExLHRoaXMuZGVmYXVsdEVuY29kaW5nPWUuZGVmYXVsdEVuY29kaW5nfHxcInV0ZjhcIix0aGlzLmF3YWl0RHJhaW49MCx0aGlzLnJlYWRpbmdNb3JlPSExLHRoaXMuZGVjb2Rlcj1udWxsLHRoaXMuZW5jb2Rpbmc9bnVsbCxlLmVuY29kaW5nJiYoU3RyaW5nRGVjb2Rlcnx8KFN0cmluZ0RlY29kZXI9cmVxdWlyZShcInN0cmluZ19kZWNvZGVyL1wiKS5TdHJpbmdEZWNvZGVyKSx0aGlzLmRlY29kZXI9bmV3IFN0cmluZ0RlY29kZXIoZS5lbmNvZGluZyksdGhpcy5lbmNvZGluZz1lLmVuY29kaW5nKX1mdW5jdGlvbiBSZWFkYWJsZShlKXtpZihEdXBsZXg9RHVwbGV4fHxyZXF1aXJlKFwiLi9fc3RyZWFtX2R1cGxleFwiKSwhKHRoaXMgaW5zdGFuY2VvZiBSZWFkYWJsZSkpcmV0dXJuIG5ldyBSZWFkYWJsZShlKTt2YXIgdD10aGlzIGluc3RhbmNlb2YgRHVwbGV4O3RoaXMuX3JlYWRhYmxlU3RhdGU9bmV3IFJlYWRhYmxlU3RhdGUoZSx0aGlzLHQpLHRoaXMucmVhZGFibGU9ITAsZSYmKFwiZnVuY3Rpb25cIj09dHlwZW9mIGUucmVhZCYmKHRoaXMuX3JlYWQ9ZS5yZWFkKSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBlLmRlc3Ryb3kmJih0aGlzLl9kZXN0cm95PWUuZGVzdHJveSkpLFN0cmVhbS5jYWxsKHRoaXMpfWZ1bmN0aW9uIHJlYWRhYmxlQWRkQ2h1bmsoZSx0LHIsYSxuKXtkZWJ1ZyhcInJlYWRhYmxlQWRkQ2h1bmtcIix0KTt2YXIgaSxkPWUuX3JlYWRhYmxlU3RhdGU7aWYobnVsbD09PXQpZC5yZWFkaW5nPSExLG9uRW9mQ2h1bmsoZSxkKTtlbHNlIGlmKG58fChpPWNodW5rSW52YWxpZChkLHQpKSxpKWVycm9yT3JEZXN0cm95KGUsaSk7ZWxzZSBpZihkLm9iamVjdE1vZGV8fHQmJnQubGVuZ3RoPjApaWYoXCJzdHJpbmdcIj09dHlwZW9mIHR8fGQub2JqZWN0TW9kZXx8T2JqZWN0LmdldFByb3RvdHlwZU9mKHQpPT09QnVmZmVyLnByb3RvdHlwZXx8KHQ9X3VpbnQ4QXJyYXlUb0J1ZmZlcih0KSksYSlkLmVuZEVtaXR0ZWQ/ZXJyb3JPckRlc3Ryb3koZSxuZXcgRVJSX1NUUkVBTV9VTlNISUZUX0FGVEVSX0VORF9FVkVOVCk6YWRkQ2h1bmsoZSxkLHQsITApO2Vsc2UgaWYoZC5lbmRlZCllcnJvck9yRGVzdHJveShlLG5ldyBFUlJfU1RSRUFNX1BVU0hfQUZURVJfRU9GKTtlbHNle2lmKGQuZGVzdHJveWVkKXJldHVybiExO2QucmVhZGluZz0hMSxkLmRlY29kZXImJiFyPyh0PWQuZGVjb2Rlci53cml0ZSh0KSxkLm9iamVjdE1vZGV8fDAhPT10Lmxlbmd0aD9hZGRDaHVuayhlLGQsdCwhMSk6bWF5YmVSZWFkTW9yZShlLGQpKTphZGRDaHVuayhlLGQsdCwhMSl9ZWxzZSBhfHwoZC5yZWFkaW5nPSExLG1heWJlUmVhZE1vcmUoZSxkKSk7cmV0dXJuIWQuZW5kZWQmJihkLmxlbmd0aDxkLmhpZ2hXYXRlck1hcmt8fDA9PT1kLmxlbmd0aCl9ZnVuY3Rpb24gYWRkQ2h1bmsoZSx0LHIsYSl7dC5mbG93aW5nJiYwPT09dC5sZW5ndGgmJiF0LnN5bmM/KHQuYXdhaXREcmFpbj0wLGUuZW1pdChcImRhdGFcIixyKSk6KHQubGVuZ3RoKz10Lm9iamVjdE1vZGU/MTpyLmxlbmd0aCxhP3QuYnVmZmVyLnVuc2hpZnQocik6dC5idWZmZXIucHVzaChyKSx0Lm5lZWRSZWFkYWJsZSYmZW1pdFJlYWRhYmxlKGUpKSxtYXliZVJlYWRNb3JlKGUsdCl9ZnVuY3Rpb24gY2h1bmtJbnZhbGlkKGUsdCl7dmFyIHI7cmV0dXJuIF9pc1VpbnQ4QXJyYXkodCl8fFwic3RyaW5nXCI9PXR5cGVvZiB0fHx2b2lkIDA9PT10fHxlLm9iamVjdE1vZGV8fChyPW5ldyBFUlJfSU5WQUxJRF9BUkdfVFlQRShcImNodW5rXCIsW1wic3RyaW5nXCIsXCJCdWZmZXJcIixcIlVpbnQ4QXJyYXlcIl0sdCkpLHJ9T2JqZWN0LmRlZmluZVByb3BlcnR5KFJlYWRhYmxlLnByb3RvdHlwZSxcImRlc3Ryb3llZFwiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB2b2lkIDAhPT10aGlzLl9yZWFkYWJsZVN0YXRlJiZ0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZH0sc2V0OmZ1bmN0aW9uKGUpe3RoaXMuX3JlYWRhYmxlU3RhdGUmJih0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZD1lKX19KSxSZWFkYWJsZS5wcm90b3R5cGUuZGVzdHJveT1kZXN0cm95SW1wbC5kZXN0cm95LFJlYWRhYmxlLnByb3RvdHlwZS5fdW5kZXN0cm95PWRlc3Ryb3lJbXBsLnVuZGVzdHJveSxSZWFkYWJsZS5wcm90b3R5cGUuX2Rlc3Ryb3k9ZnVuY3Rpb24oZSx0KXt0KGUpfSxSZWFkYWJsZS5wcm90b3R5cGUucHVzaD1mdW5jdGlvbihlLHQpe3ZhciByLGE9dGhpcy5fcmVhZGFibGVTdGF0ZTtyZXR1cm4gYS5vYmplY3RNb2RlP3I9ITA6XCJzdHJpbmdcIj09dHlwZW9mIGUmJigodD10fHxhLmRlZmF1bHRFbmNvZGluZykhPT1hLmVuY29kaW5nJiYoZT1CdWZmZXIuZnJvbShlLHQpLHQ9XCJcIikscj0hMCkscmVhZGFibGVBZGRDaHVuayh0aGlzLGUsdCwhMSxyKX0sUmVhZGFibGUucHJvdG90eXBlLnVuc2hpZnQ9ZnVuY3Rpb24oZSl7cmV0dXJuIHJlYWRhYmxlQWRkQ2h1bmsodGhpcyxlLG51bGwsITAsITEpfSxSZWFkYWJsZS5wcm90b3R5cGUuaXNQYXVzZWQ9ZnVuY3Rpb24oKXtyZXR1cm4hMT09PXRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZ30sUmVhZGFibGUucHJvdG90eXBlLnNldEVuY29kaW5nPWZ1bmN0aW9uKGUpe1N0cmluZ0RlY29kZXJ8fChTdHJpbmdEZWNvZGVyPXJlcXVpcmUoXCJzdHJpbmdfZGVjb2Rlci9cIikuU3RyaW5nRGVjb2Rlcik7dmFyIHQ9bmV3IFN0cmluZ0RlY29kZXIoZSk7dGhpcy5fcmVhZGFibGVTdGF0ZS5kZWNvZGVyPXQsdGhpcy5fcmVhZGFibGVTdGF0ZS5lbmNvZGluZz10aGlzLl9yZWFkYWJsZVN0YXRlLmRlY29kZXIuZW5jb2Rpbmc7Zm9yKHZhciByPXRoaXMuX3JlYWRhYmxlU3RhdGUuYnVmZmVyLmhlYWQsYT1cIlwiO251bGwhPT1yOylhKz10LndyaXRlKHIuZGF0YSkscj1yLm5leHQ7cmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuYnVmZmVyLmNsZWFyKCksXCJcIiE9PWEmJnRoaXMuX3JlYWRhYmxlU3RhdGUuYnVmZmVyLnB1c2goYSksdGhpcy5fcmVhZGFibGVTdGF0ZS5sZW5ndGg9YS5sZW5ndGgsdGhpc307dmFyIE1BWF9IV009MTA3Mzc0MTgyNDtmdW5jdGlvbiBjb21wdXRlTmV3SGlnaFdhdGVyTWFyayhlKXtyZXR1cm4gZT49TUFYX0hXTT9lPU1BWF9IV006KGUtLSxlfD1lPj4+MSxlfD1lPj4+MixlfD1lPj4+NCxlfD1lPj4+OCxlfD1lPj4+MTYsZSsrKSxlfWZ1bmN0aW9uIGhvd011Y2hUb1JlYWQoZSx0KXtyZXR1cm4gZTw9MHx8MD09PXQubGVuZ3RoJiZ0LmVuZGVkPzA6dC5vYmplY3RNb2RlPzE6ZSE9ZT90LmZsb3dpbmcmJnQubGVuZ3RoP3QuYnVmZmVyLmhlYWQuZGF0YS5sZW5ndGg6dC5sZW5ndGg6KGU+dC5oaWdoV2F0ZXJNYXJrJiYodC5oaWdoV2F0ZXJNYXJrPWNvbXB1dGVOZXdIaWdoV2F0ZXJNYXJrKGUpKSxlPD10Lmxlbmd0aD9lOnQuZW5kZWQ/dC5sZW5ndGg6KHQubmVlZFJlYWRhYmxlPSEwLDApKX1mdW5jdGlvbiBvbkVvZkNodW5rKGUsdCl7aWYoZGVidWcoXCJvbkVvZkNodW5rXCIpLCF0LmVuZGVkKXtpZih0LmRlY29kZXIpe3ZhciByPXQuZGVjb2Rlci5lbmQoKTtyJiZyLmxlbmd0aCYmKHQuYnVmZmVyLnB1c2gociksdC5sZW5ndGgrPXQub2JqZWN0TW9kZT8xOnIubGVuZ3RoKX10LmVuZGVkPSEwLHQuc3luYz9lbWl0UmVhZGFibGUoZSk6KHQubmVlZFJlYWRhYmxlPSExLHQuZW1pdHRlZFJlYWRhYmxlfHwodC5lbWl0dGVkUmVhZGFibGU9ITAsZW1pdFJlYWRhYmxlXyhlKSkpfX1mdW5jdGlvbiBlbWl0UmVhZGFibGUoZSl7dmFyIHQ9ZS5fcmVhZGFibGVTdGF0ZTtkZWJ1ZyhcImVtaXRSZWFkYWJsZVwiLHQubmVlZFJlYWRhYmxlLHQuZW1pdHRlZFJlYWRhYmxlKSx0Lm5lZWRSZWFkYWJsZT0hMSx0LmVtaXR0ZWRSZWFkYWJsZXx8KGRlYnVnKFwiZW1pdFJlYWRhYmxlXCIsdC5mbG93aW5nKSx0LmVtaXR0ZWRSZWFkYWJsZT0hMCxwcm9jZXNzLm5leHRUaWNrKGVtaXRSZWFkYWJsZV8sZSkpfWZ1bmN0aW9uIGVtaXRSZWFkYWJsZV8oZSl7dmFyIHQ9ZS5fcmVhZGFibGVTdGF0ZTtkZWJ1ZyhcImVtaXRSZWFkYWJsZV9cIix0LmRlc3Ryb3llZCx0Lmxlbmd0aCx0LmVuZGVkKSx0LmRlc3Ryb3llZHx8IXQubGVuZ3RoJiYhdC5lbmRlZHx8KGUuZW1pdChcInJlYWRhYmxlXCIpLHQuZW1pdHRlZFJlYWRhYmxlPSExKSx0Lm5lZWRSZWFkYWJsZT0hdC5mbG93aW5nJiYhdC5lbmRlZCYmdC5sZW5ndGg8PXQuaGlnaFdhdGVyTWFyayxmbG93KGUpfWZ1bmN0aW9uIG1heWJlUmVhZE1vcmUoZSx0KXt0LnJlYWRpbmdNb3JlfHwodC5yZWFkaW5nTW9yZT0hMCxwcm9jZXNzLm5leHRUaWNrKG1heWJlUmVhZE1vcmVfLGUsdCkpfWZ1bmN0aW9uIG1heWJlUmVhZE1vcmVfKGUsdCl7Zm9yKDshdC5yZWFkaW5nJiYhdC5lbmRlZCYmKHQubGVuZ3RoPHQuaGlnaFdhdGVyTWFya3x8dC5mbG93aW5nJiYwPT09dC5sZW5ndGgpOyl7dmFyIHI9dC5sZW5ndGg7aWYoZGVidWcoXCJtYXliZVJlYWRNb3JlIHJlYWQgMFwiKSxlLnJlYWQoMCkscj09PXQubGVuZ3RoKWJyZWFrfXQucmVhZGluZ01vcmU9ITF9ZnVuY3Rpb24gcGlwZU9uRHJhaW4oZSl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIHQ9ZS5fcmVhZGFibGVTdGF0ZTtkZWJ1ZyhcInBpcGVPbkRyYWluXCIsdC5hd2FpdERyYWluKSx0LmF3YWl0RHJhaW4mJnQuYXdhaXREcmFpbi0tLDA9PT10LmF3YWl0RHJhaW4mJkVFbGlzdGVuZXJDb3VudChlLFwiZGF0YVwiKSYmKHQuZmxvd2luZz0hMCxmbG93KGUpKX19ZnVuY3Rpb24gdXBkYXRlUmVhZGFibGVMaXN0ZW5pbmcoZSl7dmFyIHQ9ZS5fcmVhZGFibGVTdGF0ZTt0LnJlYWRhYmxlTGlzdGVuaW5nPWUubGlzdGVuZXJDb3VudChcInJlYWRhYmxlXCIpPjAsdC5yZXN1bWVTY2hlZHVsZWQmJiF0LnBhdXNlZD90LmZsb3dpbmc9ITA6ZS5saXN0ZW5lckNvdW50KFwiZGF0YVwiKT4wJiZlLnJlc3VtZSgpfWZ1bmN0aW9uIG5SZWFkaW5nTmV4dFRpY2soZSl7ZGVidWcoXCJyZWFkYWJsZSBuZXh0dGljayByZWFkIDBcIiksZS5yZWFkKDApfWZ1bmN0aW9uIHJlc3VtZShlLHQpe3QucmVzdW1lU2NoZWR1bGVkfHwodC5yZXN1bWVTY2hlZHVsZWQ9ITAscHJvY2Vzcy5uZXh0VGljayhyZXN1bWVfLGUsdCkpfWZ1bmN0aW9uIHJlc3VtZV8oZSx0KXtkZWJ1ZyhcInJlc3VtZVwiLHQucmVhZGluZyksdC5yZWFkaW5nfHxlLnJlYWQoMCksdC5yZXN1bWVTY2hlZHVsZWQ9ITEsZS5lbWl0KFwicmVzdW1lXCIpLGZsb3coZSksdC5mbG93aW5nJiYhdC5yZWFkaW5nJiZlLnJlYWQoMCl9ZnVuY3Rpb24gZmxvdyhlKXt2YXIgdD1lLl9yZWFkYWJsZVN0YXRlO2ZvcihkZWJ1ZyhcImZsb3dcIix0LmZsb3dpbmcpO3QuZmxvd2luZyYmbnVsbCE9PWUucmVhZCgpOyk7fWZ1bmN0aW9uIGZyb21MaXN0KGUsdCl7cmV0dXJuIDA9PT10Lmxlbmd0aD9udWxsOih0Lm9iamVjdE1vZGU/cj10LmJ1ZmZlci5zaGlmdCgpOiFlfHxlPj10Lmxlbmd0aD8ocj10LmRlY29kZXI/dC5idWZmZXIuam9pbihcIlwiKToxPT09dC5idWZmZXIubGVuZ3RoP3QuYnVmZmVyLmZpcnN0KCk6dC5idWZmZXIuY29uY2F0KHQubGVuZ3RoKSx0LmJ1ZmZlci5jbGVhcigpKTpyPXQuYnVmZmVyLmNvbnN1bWUoZSx0LmRlY29kZXIpLHIpO3ZhciByfWZ1bmN0aW9uIGVuZFJlYWRhYmxlKGUpe3ZhciB0PWUuX3JlYWRhYmxlU3RhdGU7ZGVidWcoXCJlbmRSZWFkYWJsZVwiLHQuZW5kRW1pdHRlZCksdC5lbmRFbWl0dGVkfHwodC5lbmRlZD0hMCxwcm9jZXNzLm5leHRUaWNrKGVuZFJlYWRhYmxlTlQsdCxlKSl9ZnVuY3Rpb24gZW5kUmVhZGFibGVOVChlLHQpe2lmKGRlYnVnKFwiZW5kUmVhZGFibGVOVFwiLGUuZW5kRW1pdHRlZCxlLmxlbmd0aCksIWUuZW5kRW1pdHRlZCYmMD09PWUubGVuZ3RoJiYoZS5lbmRFbWl0dGVkPSEwLHQucmVhZGFibGU9ITEsdC5lbWl0KFwiZW5kXCIpLGUuYXV0b0Rlc3Ryb3kpKXt2YXIgcj10Ll93cml0YWJsZVN0YXRlOyghcnx8ci5hdXRvRGVzdHJveSYmci5maW5pc2hlZCkmJnQuZGVzdHJveSgpfX1mdW5jdGlvbiBpbmRleE9mKGUsdCl7Zm9yKHZhciByPTAsYT1lLmxlbmd0aDtyPGE7cisrKWlmKGVbcl09PT10KXJldHVybiByO3JldHVybi0xfVJlYWRhYmxlLnByb3RvdHlwZS5yZWFkPWZ1bmN0aW9uKGUpe2RlYnVnKFwicmVhZFwiLGUpLGU9cGFyc2VJbnQoZSwxMCk7dmFyIHQ9dGhpcy5fcmVhZGFibGVTdGF0ZSxyPWU7aWYoMCE9PWUmJih0LmVtaXR0ZWRSZWFkYWJsZT0hMSksMD09PWUmJnQubmVlZFJlYWRhYmxlJiYoKDAhPT10LmhpZ2hXYXRlck1hcms/dC5sZW5ndGg+PXQuaGlnaFdhdGVyTWFyazp0Lmxlbmd0aD4wKXx8dC5lbmRlZCkpcmV0dXJuIGRlYnVnKFwicmVhZDogZW1pdFJlYWRhYmxlXCIsdC5sZW5ndGgsdC5lbmRlZCksMD09PXQubGVuZ3RoJiZ0LmVuZGVkP2VuZFJlYWRhYmxlKHRoaXMpOmVtaXRSZWFkYWJsZSh0aGlzKSxudWxsO2lmKDA9PT0oZT1ob3dNdWNoVG9SZWFkKGUsdCkpJiZ0LmVuZGVkKXJldHVybiAwPT09dC5sZW5ndGgmJmVuZFJlYWRhYmxlKHRoaXMpLG51bGw7dmFyIGEsbj10Lm5lZWRSZWFkYWJsZTtyZXR1cm4gZGVidWcoXCJuZWVkIHJlYWRhYmxlXCIsbiksKDA9PT10Lmxlbmd0aHx8dC5sZW5ndGgtZTx0LmhpZ2hXYXRlck1hcmspJiZkZWJ1ZyhcImxlbmd0aCBsZXNzIHRoYW4gd2F0ZXJtYXJrXCIsbj0hMCksdC5lbmRlZHx8dC5yZWFkaW5nP2RlYnVnKFwicmVhZGluZyBvciBlbmRlZFwiLG49ITEpOm4mJihkZWJ1ZyhcImRvIHJlYWRcIiksdC5yZWFkaW5nPSEwLHQuc3luYz0hMCwwPT09dC5sZW5ndGgmJih0Lm5lZWRSZWFkYWJsZT0hMCksdGhpcy5fcmVhZCh0LmhpZ2hXYXRlck1hcmspLHQuc3luYz0hMSx0LnJlYWRpbmd8fChlPWhvd011Y2hUb1JlYWQocix0KSkpLG51bGw9PT0oYT1lPjA/ZnJvbUxpc3QoZSx0KTpudWxsKT8odC5uZWVkUmVhZGFibGU9dC5sZW5ndGg8PXQuaGlnaFdhdGVyTWFyayxlPTApOih0Lmxlbmd0aC09ZSx0LmF3YWl0RHJhaW49MCksMD09PXQubGVuZ3RoJiYodC5lbmRlZHx8KHQubmVlZFJlYWRhYmxlPSEwKSxyIT09ZSYmdC5lbmRlZCYmZW5kUmVhZGFibGUodGhpcykpLG51bGwhPT1hJiZ0aGlzLmVtaXQoXCJkYXRhXCIsYSksYX0sUmVhZGFibGUucHJvdG90eXBlLl9yZWFkPWZ1bmN0aW9uKGUpe2Vycm9yT3JEZXN0cm95KHRoaXMsbmV3IEVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVEKFwiX3JlYWQoKVwiKSl9LFJlYWRhYmxlLnByb3RvdHlwZS5waXBlPWZ1bmN0aW9uKGUsdCl7dmFyIHI9dGhpcyxhPXRoaXMuX3JlYWRhYmxlU3RhdGU7c3dpdGNoKGEucGlwZXNDb3VudCl7Y2FzZSAwOmEucGlwZXM9ZTticmVhaztjYXNlIDE6YS5waXBlcz1bYS5waXBlcyxlXTticmVhaztkZWZhdWx0OmEucGlwZXMucHVzaChlKX1hLnBpcGVzQ291bnQrPTEsZGVidWcoXCJwaXBlIGNvdW50PSVkIG9wdHM9JWpcIixhLnBpcGVzQ291bnQsdCk7dmFyIG49KCF0fHwhMSE9PXQuZW5kKSYmZSE9PXByb2Nlc3Muc3Rkb3V0JiZlIT09cHJvY2Vzcy5zdGRlcnI/ZDpmO2Z1bmN0aW9uIGkodCxuKXtkZWJ1ZyhcIm9udW5waXBlXCIpLHQ9PT1yJiZuJiYhMT09PW4uaGFzVW5waXBlZCYmKG4uaGFzVW5waXBlZD0hMCxkZWJ1ZyhcImNsZWFudXBcIiksZS5yZW1vdmVMaXN0ZW5lcihcImNsb3NlXCIsYiksZS5yZW1vdmVMaXN0ZW5lcihcImZpbmlzaFwiLHApLGUucmVtb3ZlTGlzdGVuZXIoXCJkcmFpblwiLG8pLGUucmVtb3ZlTGlzdGVuZXIoXCJlcnJvclwiLHUpLGUucmVtb3ZlTGlzdGVuZXIoXCJ1bnBpcGVcIixpKSxyLnJlbW92ZUxpc3RlbmVyKFwiZW5kXCIsZCksci5yZW1vdmVMaXN0ZW5lcihcImVuZFwiLGYpLHIucmVtb3ZlTGlzdGVuZXIoXCJkYXRhXCIsbCkscz0hMCwhYS5hd2FpdERyYWlufHxlLl93cml0YWJsZVN0YXRlJiYhZS5fd3JpdGFibGVTdGF0ZS5uZWVkRHJhaW58fG8oKSl9ZnVuY3Rpb24gZCgpe2RlYnVnKFwib25lbmRcIiksZS5lbmQoKX1hLmVuZEVtaXR0ZWQ/cHJvY2Vzcy5uZXh0VGljayhuKTpyLm9uY2UoXCJlbmRcIixuKSxlLm9uKFwidW5waXBlXCIsaSk7dmFyIG89cGlwZU9uRHJhaW4ocik7ZS5vbihcImRyYWluXCIsbyk7dmFyIHM9ITE7ZnVuY3Rpb24gbCh0KXtkZWJ1ZyhcIm9uZGF0YVwiKTt2YXIgbj1lLndyaXRlKHQpO2RlYnVnKFwiZGVzdC53cml0ZVwiLG4pLCExPT09biYmKCgxPT09YS5waXBlc0NvdW50JiZhLnBpcGVzPT09ZXx8YS5waXBlc0NvdW50PjEmJi0xIT09aW5kZXhPZihhLnBpcGVzLGUpKSYmIXMmJihkZWJ1ZyhcImZhbHNlIHdyaXRlIHJlc3BvbnNlLCBwYXVzZVwiLGEuYXdhaXREcmFpbiksYS5hd2FpdERyYWluKyspLHIucGF1c2UoKSl9ZnVuY3Rpb24gdSh0KXtkZWJ1ZyhcIm9uZXJyb3JcIix0KSxmKCksZS5yZW1vdmVMaXN0ZW5lcihcImVycm9yXCIsdSksMD09PUVFbGlzdGVuZXJDb3VudChlLFwiZXJyb3JcIikmJmVycm9yT3JEZXN0cm95KGUsdCl9ZnVuY3Rpb24gYigpe2UucmVtb3ZlTGlzdGVuZXIoXCJmaW5pc2hcIixwKSxmKCl9ZnVuY3Rpb24gcCgpe2RlYnVnKFwib25maW5pc2hcIiksZS5yZW1vdmVMaXN0ZW5lcihcImNsb3NlXCIsYiksZigpfWZ1bmN0aW9uIGYoKXtkZWJ1ZyhcInVucGlwZVwiKSxyLnVucGlwZShlKX1yZXR1cm4gci5vbihcImRhdGFcIixsKSxwcmVwZW5kTGlzdGVuZXIoZSxcImVycm9yXCIsdSksZS5vbmNlKFwiY2xvc2VcIixiKSxlLm9uY2UoXCJmaW5pc2hcIixwKSxlLmVtaXQoXCJwaXBlXCIsciksYS5mbG93aW5nfHwoZGVidWcoXCJwaXBlIHJlc3VtZVwiKSxyLnJlc3VtZSgpKSxlfSxSZWFkYWJsZS5wcm90b3R5cGUudW5waXBlPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX3JlYWRhYmxlU3RhdGUscj17aGFzVW5waXBlZDohMX07aWYoMD09PXQucGlwZXNDb3VudClyZXR1cm4gdGhpcztpZigxPT09dC5waXBlc0NvdW50KXJldHVybiBlJiZlIT09dC5waXBlcz90aGlzOihlfHwoZT10LnBpcGVzKSx0LnBpcGVzPW51bGwsdC5waXBlc0NvdW50PTAsdC5mbG93aW5nPSExLGUmJmUuZW1pdChcInVucGlwZVwiLHRoaXMsciksdGhpcyk7aWYoIWUpe3ZhciBhPXQucGlwZXMsbj10LnBpcGVzQ291bnQ7dC5waXBlcz1udWxsLHQucGlwZXNDb3VudD0wLHQuZmxvd2luZz0hMTtmb3IodmFyIGk9MDtpPG47aSsrKWFbaV0uZW1pdChcInVucGlwZVwiLHRoaXMse2hhc1VucGlwZWQ6ITF9KTtyZXR1cm4gdGhpc312YXIgZD1pbmRleE9mKHQucGlwZXMsZSk7cmV0dXJuLTE9PT1kP3RoaXM6KHQucGlwZXMuc3BsaWNlKGQsMSksdC5waXBlc0NvdW50LT0xLDE9PT10LnBpcGVzQ291bnQmJih0LnBpcGVzPXQucGlwZXNbMF0pLGUuZW1pdChcInVucGlwZVwiLHRoaXMsciksdGhpcyl9LFJlYWRhYmxlLnByb3RvdHlwZS5vbj1mdW5jdGlvbihlLHQpe3ZhciByPVN0cmVhbS5wcm90b3R5cGUub24uY2FsbCh0aGlzLGUsdCksYT10aGlzLl9yZWFkYWJsZVN0YXRlO3JldHVyblwiZGF0YVwiPT09ZT8oYS5yZWFkYWJsZUxpc3RlbmluZz10aGlzLmxpc3RlbmVyQ291bnQoXCJyZWFkYWJsZVwiKT4wLCExIT09YS5mbG93aW5nJiZ0aGlzLnJlc3VtZSgpKTpcInJlYWRhYmxlXCI9PT1lJiYoYS5lbmRFbWl0dGVkfHxhLnJlYWRhYmxlTGlzdGVuaW5nfHwoYS5yZWFkYWJsZUxpc3RlbmluZz1hLm5lZWRSZWFkYWJsZT0hMCxhLmZsb3dpbmc9ITEsYS5lbWl0dGVkUmVhZGFibGU9ITEsZGVidWcoXCJvbiByZWFkYWJsZVwiLGEubGVuZ3RoLGEucmVhZGluZyksYS5sZW5ndGg/ZW1pdFJlYWRhYmxlKHRoaXMpOmEucmVhZGluZ3x8cHJvY2Vzcy5uZXh0VGljayhuUmVhZGluZ05leHRUaWNrLHRoaXMpKSkscn0sUmVhZGFibGUucHJvdG90eXBlLmFkZExpc3RlbmVyPVJlYWRhYmxlLnByb3RvdHlwZS5vbixSZWFkYWJsZS5wcm90b3R5cGUucmVtb3ZlTGlzdGVuZXI9ZnVuY3Rpb24oZSx0KXt2YXIgcj1TdHJlYW0ucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyLmNhbGwodGhpcyxlLHQpO3JldHVyblwicmVhZGFibGVcIj09PWUmJnByb2Nlc3MubmV4dFRpY2sodXBkYXRlUmVhZGFibGVMaXN0ZW5pbmcsdGhpcykscn0sUmVhZGFibGUucHJvdG90eXBlLnJlbW92ZUFsbExpc3RlbmVycz1mdW5jdGlvbihlKXt2YXIgdD1TdHJlYW0ucHJvdG90eXBlLnJlbW92ZUFsbExpc3RlbmVycy5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuXCJyZWFkYWJsZVwiIT09ZSYmdm9pZCAwIT09ZXx8cHJvY2Vzcy5uZXh0VGljayh1cGRhdGVSZWFkYWJsZUxpc3RlbmluZyx0aGlzKSx0fSxSZWFkYWJsZS5wcm90b3R5cGUucmVzdW1lPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5fcmVhZGFibGVTdGF0ZTtyZXR1cm4gZS5mbG93aW5nfHwoZGVidWcoXCJyZXN1bWVcIiksZS5mbG93aW5nPSFlLnJlYWRhYmxlTGlzdGVuaW5nLHJlc3VtZSh0aGlzLGUpKSxlLnBhdXNlZD0hMSx0aGlzfSxSZWFkYWJsZS5wcm90b3R5cGUucGF1c2U9ZnVuY3Rpb24oKXtyZXR1cm4gZGVidWcoXCJjYWxsIHBhdXNlIGZsb3dpbmc9JWpcIix0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmcpLCExIT09dGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nJiYoZGVidWcoXCJwYXVzZVwiKSx0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmc9ITEsdGhpcy5lbWl0KFwicGF1c2VcIikpLHRoaXMuX3JlYWRhYmxlU3RhdGUucGF1c2VkPSEwLHRoaXN9LFJlYWRhYmxlLnByb3RvdHlwZS53cmFwPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMscj10aGlzLl9yZWFkYWJsZVN0YXRlLGE9ITE7Zm9yKHZhciBuIGluIGUub24oXCJlbmRcIixmdW5jdGlvbigpe2lmKGRlYnVnKFwid3JhcHBlZCBlbmRcIiksci5kZWNvZGVyJiYhci5lbmRlZCl7dmFyIGU9ci5kZWNvZGVyLmVuZCgpO2UmJmUubGVuZ3RoJiZ0LnB1c2goZSl9dC5wdXNoKG51bGwpfSksZS5vbihcImRhdGFcIixmdW5jdGlvbihuKXsoZGVidWcoXCJ3cmFwcGVkIGRhdGFcIiksci5kZWNvZGVyJiYobj1yLmRlY29kZXIud3JpdGUobikpLHIub2JqZWN0TW9kZSYmbnVsbD09bil8fChyLm9iamVjdE1vZGV8fG4mJm4ubGVuZ3RoKSYmKHQucHVzaChuKXx8KGE9ITAsZS5wYXVzZSgpKSl9KSxlKXZvaWQgMD09PXRoaXNbbl0mJlwiZnVuY3Rpb25cIj09dHlwZW9mIGVbbl0mJih0aGlzW25dPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBlW3RdLmFwcGx5KGUsYXJndW1lbnRzKX19KG4pKTtmb3IodmFyIGk9MDtpPGtQcm94eUV2ZW50cy5sZW5ndGg7aSsrKWUub24oa1Byb3h5RXZlbnRzW2ldLHRoaXMuZW1pdC5iaW5kKHRoaXMsa1Byb3h5RXZlbnRzW2ldKSk7cmV0dXJuIHRoaXMuX3JlYWQ9ZnVuY3Rpb24odCl7ZGVidWcoXCJ3cmFwcGVkIF9yZWFkXCIsdCksYSYmKGE9ITEsZS5yZXN1bWUoKSl9LHRoaXN9LFwiZnVuY3Rpb25cIj09dHlwZW9mIFN5bWJvbCYmKFJlYWRhYmxlLnByb3RvdHlwZVtTeW1ib2wuYXN5bmNJdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdm9pZCAwPT09Y3JlYXRlUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yJiYoY3JlYXRlUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yPXJlcXVpcmUoXCIuL2ludGVybmFsL3N0cmVhbXMvYXN5bmNfaXRlcmF0b3JcIikpLGNyZWF0ZVJlYWRhYmxlU3RyZWFtQXN5bmNJdGVyYXRvcih0aGlzKX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShSZWFkYWJsZS5wcm90b3R5cGUsXCJyZWFkYWJsZUhpZ2hXYXRlck1hcmtcIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcmVhZGFibGVTdGF0ZS5oaWdoV2F0ZXJNYXJrfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShSZWFkYWJsZS5wcm90b3R5cGUsXCJyZWFkYWJsZUJ1ZmZlclwiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlJiZ0aGlzLl9yZWFkYWJsZVN0YXRlLmJ1ZmZlcn19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoUmVhZGFibGUucHJvdG90eXBlLFwicmVhZGFibGVGbG93aW5nXCIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZ30sc2V0OmZ1bmN0aW9uKGUpe3RoaXMuX3JlYWRhYmxlU3RhdGUmJih0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmc9ZSl9fSksUmVhZGFibGUuX2Zyb21MaXN0PWZyb21MaXN0LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShSZWFkYWJsZS5wcm90b3R5cGUsXCJyZWFkYWJsZUxlbmd0aFwiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlLmxlbmd0aH19KSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBTeW1ib2wmJihSZWFkYWJsZS5mcm9tPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHZvaWQgMD09PWZyb20mJihmcm9tPXJlcXVpcmUoXCIuL2ludGVybmFsL3N0cmVhbXMvZnJvbVwiKSksZnJvbShSZWFkYWJsZSxlLHQpfSk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbDl6ZEhKbFlXMWZjbVZoWkdGaWJHVXVhbk1pWFN3aWJtRnRaWE1pT2xzaVJIVndiR1Y0SWl3aWJXOWtkV3hsSWl3aVpYaHdiM0owY3lJc0lsSmxZV1JoWW14bElpd2lVbVZoWkdGaWJHVlRkR0YwWlNJc0lrVkZJaXdpY21WeGRXbHlaU0lzSWtWMlpXNTBSVzFwZEhSbGNpSXNJa1ZGYkdsemRHVnVaWEpEYjNWdWRDSXNJbVZ0YVhSMFpYSWlMQ0owZVhCbElpd2liR2x6ZEdWdVpYSnpJaXdpYkdWdVozUm9JaXdpVTNSeVpXRnRJaXdpUW5WbVptVnlJaXdpVDNWeVZXbHVkRGhCY25KaGVTSXNJbWRzYjJKaGJDSXNJbFZwYm5RNFFYSnlZWGtpTENKZmRXbHVkRGhCY25KaGVWUnZRblZtWm1WeUlpd2lZMmgxYm1zaUxDSm1jbTl0SWl3aVgybHpWV2x1ZERoQmNuSmhlU0lzSW05aWFpSXNJbWx6UW5WbVptVnlJaXdpWkdWaWRXY2lMQ0prWldKMVoxVjBhV3dpTENKa1pXSjFaMnh2WnlJc0lsTjBjbWx1WjBSbFkyOWtaWElpTENKamNtVmhkR1ZTWldGa1lXSnNaVk4wY21WaGJVRnplVzVqU1hSbGNtRjBiM0lpTENKQ2RXWm1aWEpNYVhOMElpd2laR1Z6ZEhKdmVVbHRjR3dpTENKZmNtVnhkV2x5WlNJc0ltZGxkRWhwWjJoWFlYUmxjazFoY21zaUxDSmZjbVZ4ZFdseVpTUmpiMlJsY3lJc0ltTnZaR1Z6SWl3aVJWSlNYMGxPVmtGTVNVUmZRVkpIWDFSWlVFVWlMQ0pGVWxKZlUxUlNSVUZOWDFCVlUwaGZRVVpVUlZKZlJVOUdJaXdpUlZKU1gwMUZWRWhQUkY5T1QxUmZTVTFRVEVWTlJVNVVSVVFpTENKRlVsSmZVMVJTUlVGTlgxVk9VMGhKUmxSZlFVWlVSVkpmUlU1RVgwVldSVTVVSWl3aVpYSnliM0pQY2tSbGMzUnliM2tpTENKclVISnZlSGxGZG1WdWRITWlMQ0p3Y21Wd1pXNWtUR2x6ZEdWdVpYSWlMQ0psZG1WdWRDSXNJbVp1SWl3aVgyVjJaVzUwY3lJc0lrRnljbUY1SWl3aWFYTkJjbkpoZVNJc0luVnVjMmhwWm5RaUxDSnZiaUlzSW05d2RHbHZibk1pTENKemRISmxZVzBpTENKcGMwUjFjR3hsZUNJc0luUm9hWE1pTENKdlltcGxZM1JOYjJSbElpd2ljbVZoWkdGaWJHVlBZbXBsWTNSTmIyUmxJaXdpYUdsbmFGZGhkR1Z5VFdGeWF5SXNJbUoxWm1abGNpSXNJbkJwY0dWeklpd2ljR2x3WlhORGIzVnVkQ0lzSW1ac2IzZHBibWNpTENKbGJtUmxaQ0lzSW1WdVpFVnRhWFIwWldRaUxDSnlaV0ZrYVc1bklpd2ljM2x1WXlJc0ltNWxaV1JTWldGa1lXSnNaU0lzSW1WdGFYUjBaV1JTWldGa1lXSnNaU0lzSW5KbFlXUmhZbXhsVEdsemRHVnVhVzVuSWl3aWNtVnpkVzFsVTJOb1pXUjFiR1ZrSWl3aWNHRjFjMlZrSWl3aVpXMXBkRU5zYjNObElpd2lZWFYwYjBSbGMzUnliM2tpTENKa1pYTjBjbTk1WldRaUxDSmtaV1poZFd4MFJXNWpiMlJwYm1jaUxDSmhkMkZwZEVSeVlXbHVJaXdpY21WaFpHbHVaMDF2Y21VaUxDSmtaV052WkdWeUlpd2laVzVqYjJScGJtY2lMQ0pmY21WaFpHRmliR1ZUZEdGMFpTSXNJbkpsWVdSaFlteGxJaXdpY21WaFpDSXNJbDl5WldGa0lpd2laR1Z6ZEhKdmVTSXNJbDlrWlhOMGNtOTVJaXdpWTJGc2JDSXNJbkpsWVdSaFlteGxRV1JrUTJoMWJtc2lMQ0poWkdSVWIwWnliMjUwSWl3aWMydHBjRU5vZFc1clEyaGxZMnNpTENKbGNpSXNJbk4wWVhSbElpd2liMjVGYjJaRGFIVnVheUlzSW1Ob2RXNXJTVzUyWVd4cFpDSXNJazlpYW1WamRDSXNJbWRsZEZCeWIzUnZkSGx3WlU5bUlpd2ljSEp2ZEc5MGVYQmxJaXdpWVdSa1EyaDFibXNpTENKM2NtbDBaU0lzSW0xaGVXSmxVbVZoWkUxdmNtVWlMQ0psYldsMElpd2ljSFZ6YUNJc0ltVnRhWFJTWldGa1lXSnNaU0lzSW5WdVpHVm1hVzVsWkNJc0ltUmxabWx1WlZCeWIzQmxjblI1SWl3aVpXNTFiV1Z5WVdKc1pTSXNJbWRsZENJc0luTmxkQ0lzSW5aaGJIVmxJaXdpWDNWdVpHVnpkSEp2ZVNJc0luVnVaR1Z6ZEhKdmVTSXNJbVZ5Y2lJc0ltTmlJaXdpYVhOUVlYVnpaV1FpTENKelpYUkZibU52WkdsdVp5SXNJbVZ1WXlJc0luQWlMQ0pvWldGa0lpd2lZMjl1ZEdWdWRDSXNJbVJoZEdFaUxDSnVaWGgwSWl3aVkyeGxZWElpTENKTlFWaGZTRmROSWl3aVkyOXRjSFYwWlU1bGQwaHBaMmhYWVhSbGNrMWhjbXNpTENKdUlpd2lhRzkzVFhWamFGUnZVbVZoWkNJc0ltVnVaQ0lzSW1WdGFYUlNaV0ZrWVdKc1pWOGlMQ0p3Y205alpYTnpJaXdpYm1WNGRGUnBZMnNpTENKbWJHOTNJaXdpYldGNVltVlNaV0ZrVFc5eVpWOGlMQ0pzWlc0aUxDSndhWEJsVDI1RWNtRnBiaUlzSW5OeVl5SXNJblZ3WkdGMFpWSmxZV1JoWW14bFRHbHpkR1Z1YVc1bklpd2ljMlZzWmlJc0lteHBjM1JsYm1WeVEyOTFiblFpTENKeVpYTjFiV1VpTENKdVVtVmhaR2x1WjA1bGVIUlVhV05ySWl3aWNtVnpkVzFsWHlJc0ltWnliMjFNYVhOMElpd2ljbVYwSWl3aWMyaHBablFpTENKcWIybHVJaXdpWm1seWMzUWlMQ0pqYjI1allYUWlMQ0pqYjI1emRXMWxJaXdpWlc1a1VtVmhaR0ZpYkdVaUxDSmxibVJTWldGa1lXSnNaVTVVSWl3aWQxTjBZWFJsSWl3aVgzZHlhWFJoWW14bFUzUmhkR1VpTENKbWFXNXBjMmhsWkNJc0ltbHVaR1Y0VDJZaUxDSjRjeUlzSW5naUxDSnBJaXdpYkNJc0luQmhjbk5sU1c1MElpd2liazl5YVdjaUxDSmtiMUpsWVdRaUxDSndhWEJsSWl3aVpHVnpkQ0lzSW5CcGNHVlBjSFJ6SWl3aVpXNWtSbTRpTENKemRHUnZkWFFpTENKemRHUmxjbklpTENKdmJtVnVaQ0lzSW5WdWNHbHdaU0lzSW05dWRXNXdhWEJsSWl3aWRXNXdhWEJsU1c1bWJ5SXNJbWhoYzFWdWNHbHdaV1FpTENKeVpXMXZkbVZNYVhOMFpXNWxjaUlzSW05dVkyeHZjMlVpTENKdmJtWnBibWx6YUNJc0ltOXVaSEpoYVc0aUxDSnZibVZ5Y205eUlpd2liMjVrWVhSaElpd2lZMnhsWVc1bFpGVndJaXdpYm1WbFpFUnlZV2x1SWl3aWIyNWpaU0lzSW5CaGRYTmxJaXdpWkdWemRITWlMQ0pwYm1SbGVDSXNJbk53YkdsalpTSXNJbVYySWl3aWNtVnpJaXdpWVdSa1RHbHpkR1Z1WlhJaUxDSnlaVzF2ZG1WQmJHeE1hWE4wWlc1bGNuTWlMQ0poY0hCc2VTSXNJbUZ5WjNWdFpXNTBjeUlzSW5keVlYQWlMQ0pmZEdocGN5SXNJbTFsZEdodlpDSXNJbUpwYm1RaUxDSlRlVzFpYjJ3aUxDSmhjM2x1WTBsMFpYSmhkRzl5SWl3aVgyWnliMjFNYVhOMElpd2lhWFJsY21GaWJHVWlMQ0p2Y0hSeklsMHNJbTFoY0hCcGJtZHpJam9pUVVGdlFrRXNZVUZMUVN4SlFVRkpRU3hQUVVoS1F5eFBRVUZQUXl4UlFVRlZReXhUUVUxcVFrRXNVMEZCVTBNc1kwRkJaMEpCTEdOQlIzcENMRWxCUVVsRExFZEJRVXRETEZGQlFWRXNWVUZCVlVNc1lVRkZka0pETEdkQ1FVRnJRaXhUUVVGNVFrTXNSVUZCVTBNc1IwRkRkRVFzVDBGQlQwUXNSVUZCVVVVc1ZVRkJWVVFzUjBGQlRVVXNVVUZQTjBKRExFOUJRVk5RTEZGQlFWRXNOa0pCU1dwQ1VTeFBRVUZUVWl4UlFVRlJMRlZCUVZWUkxFOUJSVE5DUXl4alFVRm5Ra01zVDBGQlQwTXNXVUZCWXl4aFFVVjZReXhUUVVGVFF5eHZRa0ZCYjBKRExFZEJRek5DTEU5QlFVOU1MRTlCUVU5TkxFdEJRVXRFTEVkQlIzSkNMRk5CUVZORkxHTkJRV05ETEVkQlEzSkNMRTlCUVU5U0xFOUJRVTlUTEZOQlFWTkVMRWxCUVZGQkxHRkJRV1ZRTEdOQlMyaEVMRWxCUlVsVExFMUJSa0ZETEZWQlFWbHVRaXhSUVVGUkxGRkJTM1JDYTBJc1RVRkVSVU1zVjBGQllVRXNWVUZCVlVNc1UwRkRha0pFTEZWQlFWVkRMRk5CUVZNc1ZVRkZia0lzWVVGTFZpeEpRV05KUXl4alFVTkJReXhyUTBGRFFWSXNTMEZvUWtGVExGZEJRV0YyUWl4UlFVRlJMR3REUVVWeVFuZENMRmxCUVdONFFpeFJRVUZSTERoQ1FVVjBRbmxDTEZOQlFWZDZRaXhSUVVGUkxEUkNRVU51UWpCQ0xHbENRVUZ0UWtRc1UwRkJVME1zYVVKQlJUVkNReXhsUVVGcFFqTkNMRkZCUVZFc1lVRkJZVFJDTEUxQlEzUkRReXh4UWtGQmRVSkdMR1ZCUVdWRkxIRkNRVU4wUTBNc01FSkJRVFJDU0N4bFFVRmxSeXd3UWtGRE0wTkRMREpDUVVFMlFrb3NaVUZCWlVrc01rSkJRelZEUXl4dFEwRkJjVU5NTEdWQlFXVkxMRzFEUVU5NFJHaERMRkZCUVZFc1YwRkJVa0VzUTBGQmIwSklMRk5CUVZWVkxGRkJSVGxDTEVsQlFVa3dRaXhsUVVGcFFsUXNXVUZCV1ZNc1pVRkROMEpETEdGQlFXVXNRMEZCUXl4UlFVRlRMRkZCUVZNc1ZVRkJWeXhSUVVGVExGVkJSVEZFTEZOQlFWTkRMR2RDUVVGblFtaERMRVZCUVZOcFF5eEZRVUZQUXl4SFFVZDJReXhIUVVGMVF5eHRRa0ZCTlVKc1F5eEZRVUZSWjBNc1owSkJRV2RETEU5QlFVOW9ReXhGUVVGUlowTXNaMEpCUVdkQ1F5eEZRVUZQUXl4SFFVdHdSbXhETEVWQlFWRnRReXhUUVVGWmJrTXNSVUZCVVcxRExGRkJRVkZHTEVkQlFYVkRSeXhOUVVGTlF5eFJRVUZSY2tNc1JVRkJVVzFETEZGQlFWRkdMRWxCUVZOcVF5eEZRVUZSYlVNc1VVRkJVVVlzUjBGQlQwc3NVVUZCVVVvc1IwRkJVMnhETEVWQlFWRnRReXhSUVVGUlJpeEhRVUZUTEVOQlFVTkRMRVZCUVVsc1F5eEZRVUZSYlVNc1VVRkJVVVlzU1VGQk5VcHFReXhGUVVGUmRVTXNSMEZCUjA0c1JVRkJUME1zUjBGSGNrVXNVMEZCVTNaRExHTkJRV00yUXl4RlFVRlRReXhGUVVGUlF5eEhRVU4wUTI1RUxFOUJRVk5CTEZGQlFWVk5MRkZCUVZFc2IwSkJRek5DTWtNc1JVRkJWVUVzUjBGQlZ5eEhRVTFITEd0Q1FVRmlSU3hKUVVGM1FrRXNSVUZCVjBRc1lVRkJhMEpzUkN4UlFVZG9SVzlFTEV0QlFVdERMR0ZCUVdWS0xFVkJRVkZKTEZkQlEzaENSaXhKUVVGVlF5eExRVUZMUXl4WFFVRmhSQ3hMUVVGTFF5eGpRVUZuUWtvc1JVRkJVVXNzYjBKQlJ6ZEVSaXhMUVVGTFJ5eGpRVUZuUW5aQ0xHbENRVUZwUW05Q0xFdEJRVTFJTEVWQlFWTXNkMEpCUVhsQ1JTeEhRVWs1UlVNc1MwRkJTMGtzVDBGQlV5eEpRVUZKTTBJc1YwRkRiRUoxUWl4TFFVRkxlRU1zVDBGQlV5eEZRVU5rZDBNc1MwRkJTMHNzVFVGQlVTeExRVU5pVEN4TFFVRkxUU3hYUVVGaExFVkJRMnhDVGl4TFFVRkxUeXhSUVVGVkxFdEJRMlpRTEV0QlFVdFJMRTlCUVZFc1JVRkRZbElzUzBGQlMxTXNXVUZCWVN4RlFVTnNRbFFzUzBGQlMxVXNVMEZCVlN4RlFVdG1WaXhMUVVGTFZ5eE5RVUZQTEVWQlIxcFlMRXRCUVV0WkxHTkJRV1VzUlVGRGNFSmFMRXRCUVV0aExHbENRVUZyUWl4RlFVTjJRbUlzUzBGQlMyTXNiVUpCUVc5Q0xFVkJRM3BDWkN4TFFVRkxaU3hwUWtGQmEwSXNSVUZEZGtKbUxFdEJRVXRuUWl4UlFVRlRMRVZCUldSb1FpeExRVUZMYVVJc1YwRkJhME1zU1VGQmRFSndRaXhGUVVGUmIwSXNWVUZGZWtKcVFpeExRVUZMYTBJc1kwRkJaMEp5UWl4RlFVRlJjVUlzV1VGRk4wSnNRaXhMUVVGTGJVSXNWMEZCV1N4RlFVbHFRbTVDTEV0QlFVdHZRaXhuUWtGQmEwSjJRaXhGUVVGUmRVSXNhVUpCUVcxQ0xFOUJSV3hFY0VJc1MwRkJTM0ZDTEZkQlFXRXNSVUZGYkVKeVFpeExRVUZMYzBJc1lVRkJZeXhGUVVOdVFuUkNMRXRCUVV0MVFpeFJRVUZWTEV0QlEyWjJRaXhMUVVGTGQwSXNVMEZCVnl4TFFVVmFNMElzUlVGQlVUSkNMRmRCUTB4cVJDeG5Ra0ZCWlVFc1kwRkJaMEp5UWl4UlFVRlJMRzFDUVVGdFFuRkNMR1ZCUXk5RWVVSXNTMEZCUzNWQ0xGRkJRVlVzU1VGQlNXaEVMR05CUVdOelFpeEZRVUZSTWtJc1ZVRkRla040UWl4TFFVRkxkMElzVTBGQlZ6TkNMRVZCUVZFeVFpeFZRVWsxUWl4VFFVRlRla1VzVTBGQlV6aERMRWRCUldoQ0xFZEJSRUZxUkN4UFFVRlRRU3hSUVVGVlRTeFJRVUZSTEhOQ1FVTnlRamhETEdkQ1FVRm5RbXBFTEZWQlFWY3NUMEZCVHl4SlFVRkpRU3hUUVVGVE9FTXNSMEZIY2tRc1NVRkJTVVVzUlVGQlYwTXNaMEpCUVdkQ2NFUXNUMEZETDBKdlJDeExRVUZMZVVJc1pVRkJhVUlzU1VGQlNYcEZMR05CUVdNMlF5eEZRVUZUUnl4TFFVRk5SQ3hIUVVWMlJFTXNTMEZCU3pCQ0xGVkJRVmNzUlVGRldqZENMRWxCUXpCQ0xHMUNRVUZxUWtFc1JVRkJVVGhDTEU5QlFYRkNNMElzUzBGQlN6UkNMRTFCUVZFdlFpeEZRVUZST0VJc1RVRkRPVUlzYlVKQlFYQkNPVUlzUlVGQlVXZERMRlZCUVhkQ04wSXNTMEZCU3poQ0xGTkJRVmRxUXl4RlFVRlJaME1zVlVGSGNrVndSU3hQUVVGUGMwVXNTMEZCU3k5Q0xFMUJhVVZrTEZOQlFWTm5ReXhwUWtGQmFVSnNReXhGUVVGUkwwSXNSVUZCVDNsRUxFVkJRVlZUTEVWQlFWbERMRWRCUXpkRU9VUXNUVUZCVFN4dFFrRkJiMEpNTEVkQlF6RkNMRWxCVFUxdlJTeEZRVTVHUXl4RlFVRlJkRU1zUlVGQlR6SkNMR1ZCUlc1Q0xFZEJRV01zVDBGQlZqRkVMRVZCUTBaeFJTeEZRVUZOTVVJc1UwRkJWU3hGUVVOb1FqSkNMRmRCUVZkMlF5eEZRVUZSYzBNc1VVRkxia0lzUjBGR1MwWXNTVUZCWjBKRExFVkJRVXRITEdGQlFXRkdMRVZCUVU5eVJTeEpRVVV4UTI5RkxFVkJRMFpvUkN4bFFVRmxWeXhGUVVGUmNVTXNVVUZEYkVJc1IwRkJTVU1zUlVGQlRXNURMRmxCUVdOc1F5eEhRVUZUUVN4RlFVRk5VQ3hQUVVGVExFVkJTM0pFTEVkQlNuRkNMR2xDUVVGV1R5eEhRVUYxUW5GRkxFVkJRVTF1UXl4WlFVRmpjME1zVDBGQlQwTXNaVUZCWlhwRkxFdEJRVmRNTEU5QlFVOHJSU3haUVVNMVJqRkZMRVZCUVZGRUxHOUNRVUZ2UWtNc1NVRkhNVUpyUlN4RlFVTkZSeXhGUVVGTk0wSXNWMEZCV1hSQ0xHVkJRV1ZYTEVWQlFWRXNTVUZCU1Zvc2IwTkJRVEpEZDBRc1UwRkJVelZETEVWQlFWRnpReXhGUVVGUGNrVXNSMEZCVHl4UlFVTjBTQ3hIUVVGSmNVVXNSVUZCVFRWQ0xFMUJRMlp5UWl4bFFVRmxWeXhGUVVGUkxFbEJRVWxrTEN0Q1FVTjBRaXhEUVVGQkxFZEJRVWx2UkN4RlFVRk5ha0lzVlVGRFppeFBRVUZQTEVWQlJWQnBRaXhGUVVGTk1VSXNVMEZCVlN4RlFVVmFNRUlzUlVGQlRXSXNWVUZCV1VNc1IwRkRjRUo2UkN4RlFVRlJjVVVzUlVGQlRXSXNVVUZCVVc5Q0xFMUJRVTAxUlN4SFFVTjRRbkZGTEVWQlFVMXVReXhaUVVFclFpeEpRVUZxUW14RExFVkJRVTFRTEU5QlFXTnJSaXhUUVVGVE5VTXNSVUZCVVhORExFVkJRVTl5UlN4SFFVRlBMRWRCUVZrMlJTeGpRVUZqT1VNc1JVRkJVWE5ETEVsQlJUZEhUU3hUUVVGVE5VTXNSVUZCVVhORExFVkJRVTl5UlN4SFFVRlBMRkZCUjNwQ2EwVXNTVUZEVmtjc1JVRkJUVEZDTEZOQlFWVXNSVUZEYUVKclF5eGpRVUZqT1VNc1JVRkJVWE5ETEVsQlR6RkNMRTlCUVZGQkxFVkJRVTAxUWl4UlFVRlZORUlzUlVGQlRUVkZMRTlCUVZNMFJTeEZRVUZOYWtNc1pVRkJhME1zU1VGQmFrSnBReXhGUVVGTk5VVXNVVUZIZEVVc1UwRkJVMnRHTEZOQlFWTTFReXhGUVVGUmMwTXNSVUZCVDNKRkxFVkJRVTlyUlN4SFFVTnNRMGNzUlVGQlRUZENMRk5CUVRSQ0xFbEJRV3BDTmtJc1JVRkJUVFZGTEZOQlFXbENORVVzUlVGQlRYcENMRTFCUTJoRWVVSXNSVUZCVFdZc1YwRkJZU3hGUVVOdVFuWkNMRVZCUVU4clF5eExRVUZMTEU5QlFWRTVSU3hMUVVkd1FuRkZMRVZCUVUwMVJTeFJRVUZWTkVVc1JVRkJUVzVETEZkQlFXRXNSVUZCU1d4RExFVkJRVTFRTEU5QlEzcERlVVVzUlVGQldVY3NSVUZCVFdoRExFOUJRVTlVTEZGQlFWRTFRaXhIUVVGWmNVVXNSVUZCVFdoRExFOUJRVTh3UXl4TFFVRkxMMFVzUjBGREwwUnhSU3hGUVVGTmVFSXNZMEZCWTIxRExHRkJRV0ZxUkN4SlFVZDJRemhETEdOQlFXTTVReXhGUVVGUmMwTXNSMEZIZUVJc1UwRkJVMFVzWVVGQllVWXNSVUZCVDNKRkxFZEJRek5DTEVsQlFVbHZSU3hGUVUxS0xFOUJTa3RzUlN4alFVRmpSaXhKUVVFeVFpeHBRa0ZCVmtFc1VVRkJaME5wUml4SlFVRldha1lzUjBGQmQwSnhSU3hGUVVGTmJrTXNZVUZEZEVaclF5eEZRVUZMTEVsQlFVbHdSQ3h4UWtGQmNVSXNVVUZCVXl4RFFVRkRMRk5CUVZVc1UwRkJWU3hqUVVGbGFFSXNTVUZIZEVWdlJTeEZRV3BKVkVrc1QwRkJUMVVzWlVGQlpXeEhMRk5CUVZNd1JpeFZRVUZYTEZsQlFXRXNRMEZKY2tSVExGbEJRVmtzUlVGRFdrTXNTVUZCU3l4WFFVTklMRmxCUVRSQ1NDeEpRVUY0UW1oRUxFdEJRVXQ1UWl4blFrRkpSbnBDTEV0QlFVdDVRaXhsUVVGbFRpeFhRVVUzUW1sRExFbEJRVXNzVTBGQllVTXNSMEZIV0hKRUxFdEJRVXQ1UWl4cFFrRk5WbnBDTEV0QlFVdDVRaXhsUVVGbFRpeFZRVUZaYTBNc1RVRkhjRU4wUnl4VFFVRlRNRVlzVlVGQlZWb3NVVUZCVlc1RUxGbEJRVmx0UkN4UlFVTjZRemxGTEZOQlFWTXdSaXhWUVVGVllTeFhRVUZoTlVVc1dVRkJXVFpGTEZWQlJUVkRlRWNzVTBGQlV6QkdMRlZCUVZWWUxGTkJRVmNzVTBGQlZUQkNMRVZCUVV0RExFZEJRek5EUVN4RlFVRkhSQ3hKUVU5TWVrY3NVMEZCVXpCR0xGVkJRVlZMTEV0QlFVOHNVMEZCVlM5RkxFVkJRVTk1UkN4SFFVTjZReXhKUVVOSlZTeEZRVVJCUlN4RlFVRlJjRU1zUzBGQlMzbENMR1ZCYTBKcVFpeFBRV1pMVnl4RlFVRk5ia01zVjBGWlZHbERMRWRCUVdsQ0xFVkJXRWtzYVVKQlFWWnVSU3hMUVVOVWVVUXNSVUZCVjBFc1IwRkJXVmtzUlVGQlRXaENMRzFDUVVWYVowSXNSVUZCVFZvc1YwRkRja0o2UkN4RlFVRlJUQ3hQUVVGUFRTeExRVUZMUkN4RlFVRlBlVVFzUjBGRE0wSkJMRVZCUVZjc1NVRkhZbFVzUjBGQmFVSXNSMEZOWkVZc2FVSkJRV2xDYUVNc1MwRkJUV3BETEVWQlFVOTVSQ3hIUVVGVkxFVkJRVTlWTEVsQlNYaEVia1lzVTBGQlV6QkdMRlZCUVZVNVF5eFJRVUZWTEZOQlFWVTFRaXhIUVVOeVF5eFBRVUZQYVVVc2FVSkJRV2xDYUVNc1MwRkJUV3BETEVWQlFVOHNUVUZCVFN4SFFVRk5MRWxCZVVWdVJHaENMRk5CUVZNd1JpeFZRVUZWYVVJc1UwRkJWeXhYUVVNMVFpeFBRVUYxUXl4SlFVRm9RekZFTEV0QlFVdDVRaXhsUVVGbGJFSXNVMEZKTjBKNFJDeFRRVUZUTUVZc1ZVRkJWV3RDTEZsQlFXTXNVMEZCVlVNc1IwRkRjRU55Uml4blFrRkJaVUVzWTBGQlowSnlRaXhSUVVGUkxHMUNRVUZ0UW5GQ0xHVkJReTlFTEVsQlFVbG5SQ3hGUVVGVkxFbEJRVWxvUkN4alFVRmpjVVlzUjBGRGFFTTFSQ3hMUVVGTGVVSXNaVUZCWlVZc1VVRkJWVUVzUlVGRk9VSjJRaXhMUVVGTGVVSXNaVUZCWlVRc1UwRkJWM2hDTEV0QlFVdDVRaXhsUVVGbFJpeFJRVUZSUXl4VFFVc3pSQ3hKUVVoQkxFbEJRVWx4UXl4RlFVRkpOMFFzUzBGQlMzbENMR1ZCUVdWeVFpeFBRVUZQTUVRc1MwRkRMMEpETEVWQlFWVXNSMEZGUkN4UFFVRk9SaXhIUVVOTVJTeEhRVUZYZUVNc1JVRkJVVzlDTEUxQlFVMXJRaXhGUVVGRlJ5eE5RVU16UWtnc1JVRkJTVUVzUlVGQlJVa3NTMEZQVWl4UFFVcEJha1VzUzBGQlMzbENMR1ZCUVdWeVFpeFBRVUZQT0VRc1VVRkZXQ3hMUVVGYVNDeEhRVUZuUWk5RUxFdEJRVXQ1UWl4bFFVRmxja0lzVDBGQlR6QkRMRXRCUVV0cFFpeEhRVU53UkM5RUxFdEJRVXQ1UWl4bFFVRmxha1VzVDBGQlUzVkhMRVZCUVZGMlJ5eFBRVU01UW5kRExFMUJTVlFzU1VGQlNXMUZMRkZCUVZVc1YwRkZaQ3hUUVVGVFF5eDNRa0ZCZDBKRExFZEJaMEl2UWl4UFFXWkpRU3hIUVVGTFJpeFJRVVZRUlN4RlFVRkpSaXhUUVVsS1JTeEpRVU5CUVN4SFFVRkxRU3hKUVVGTkxFVkJRMWhCTEVkQlFVdEJMRWxCUVUwc1JVRkRXRUVzUjBGQlMwRXNTVUZCVFN4RlFVTllRU3hIUVVGTFFTeEpRVUZOTEVWQlExaEJMRWRCUVV0QkxFbEJRVTBzUjBGRFdFRXNTMEZIUzBFc1JVRkxWQ3hUUVVGVFF5eGpRVUZqUkN4RlFVRkhha01zUjBGRGVFSXNUMEZCU1dsRExFZEJRVXNzUjBGQmMwSXNTVUZCYWtKcVF5eEZRVUZOTlVVc1VVRkJaMEkwUlN4RlFVRk5OVUlzVFVGQll5eEZRVU53UkRSQ0xFVkJRVTF1UXl4WFFVRnRRaXhGUVVWNlFtOUZMRWRCUVUxQkxFVkJSVXBxUXl4RlFVRk5OMElzVTBGQlZ6WkNMRVZCUVUwMVJTeFBRVUZsTkVVc1JVRkJUV2hETEU5QlFVOHdSQ3hMUVVGTFJTeExRVUZMZUVjc1QwRkJiVUkwUlN4RlFVRk5OVVVzVVVGSmVFWTJSeXhGUVVGSmFrTXNSVUZCVFdwRExHZENRVUZsYVVNc1JVRkJUV3BETEdOQlFXZENhVVVzZDBKQlFYZENReXhKUVVOMlJVRXNSMEZCUzJwRExFVkJRVTAxUlN4UFFVRmxOa2NzUlVGRmVrSnFReXhGUVVGTk5VSXNUVUZMU2pSQ0xFVkJRVTAxUlN4UlFVcFlORVVzUlVGQlRYaENMR05CUVdVc1JVRkRaQ3hKUVhOSFdDeFRRVUZUZVVJc1YwRkJWM1pETEVWQlFWRnpReXhIUVVVeFFpeEhRVVJCYUVVc1RVRkJUU3hsUVVOR1owVXNSVUZCVFRWQ0xFMUJRVllzUTBGRlFTeEhRVUZKTkVJc1JVRkJUV0lzVVVGQlV5eERRVU5xUWl4SlFVRkplRVFzUlVGQlVYRkZMRVZCUVUxaUxGRkJRVkZuUkN4TlFVVjBRbmhITEVkQlFWTkJMRVZCUVUxUUxGTkJRMnBDTkVVc1JVRkJUV2hETEU5QlFVOHdReXhMUVVGTEwwVXNSMEZEYkVKeFJTeEZRVUZOTlVVc1VVRkJWVFJGTEVWQlFVMXVReXhYUVVGaExFVkJRVWxzUXl4RlFVRk5VQ3hSUVVscVJEUkZMRVZCUVUwMVFpeFBRVUZSTEVWQlJWWTBRaXhGUVVGTmVrSXNTMEZKVW05RExHRkJRV0ZxUkN4SlFVZGljME1zUlVGQlRYaENMR05CUVdVc1JVRkZhRUozUWl4RlFVRk5ka0lzYTBKQlExUjFRaXhGUVVGTmRrSXNhVUpCUVd0Q0xFVkJRM2hDTWtRc1kwRkJZekZGTEUxQlVYQkNMRk5CUVZOcFJDeGhRVUZoYWtRc1IwRkRjRUlzU1VGQlNYTkRMRVZCUVZGMFF5eEZRVUZQTWtJc1pVRkRia0p5UkN4TlFVRk5MR1ZCUVdkQ1owVXNSVUZCVFhoQ0xHRkJRV04zUWl4RlFVRk5ka0lzYVVKQlEyaEVkVUlzUlVGQlRYaENMR05CUVdVc1JVRkZhRUozUWl4RlFVRk5ka0lzYTBKQlExUjZReXhOUVVGTkxHVkJRV2RDWjBVc1JVRkJUVGRDTEZOQlF6VkNOa0lzUlVGQlRYWkNMR2xDUVVGclFpeEZRVU40UWpSRUxGRkJRVkZETEZOQlFWTkdMR05CUVdVeFJTeEpRVWx3UXl4VFFVRlRNRVVzWTBGQll6RkZMRWRCUTNKQ0xFbEJRVWx6UXl4RlFVRlJkRU1zUlVGQlR6SkNMR1ZCUTI1Q2NrUXNUVUZCVFN4blFrRkJhVUpuUlN4RlFVRk5ha0lzVlVGQlYybENMRVZCUVUwMVJTeFBRVUZSTkVVc1JVRkJUVFZDTEU5QlJYWkVORUlzUlVGQlRXcENMRmxCUVdOcFFpeEZRVUZOTlVVc1UwRkJWVFJGTEVWQlFVMDFRaXhSUVVNM1ExWXNSVUZCVHl0RExFdEJRVXNzV1VGRFdsUXNSVUZCVFhaQ0xHbENRVUZyUWl4SFFWTXhRblZDTEVWQlFVMTRRaXhqUVVGblFuZENMRVZCUVUwM1FpeFZRVUZaTmtJc1JVRkJUVFZDTEU5QlFWTTBRaXhGUVVGTk5VVXNVVUZCVlRSRkxFVkJRVTFxUXl4alFVTTNSWGRGTEV0QlFVczNSU3hIUVZOUUxGTkJRVk00UXl4alFVRmpPVU1zUlVGQlVYTkRMRWRCUTNoQ1FTeEZRVUZOWkN4alFVTlVZeXhGUVVGTlpDeGhRVUZqTEVWQlEzQkNiVVFzVVVGQlVVTXNVMEZCVTBVc1pVRkJaMEk1UlN4RlFVRlJjME1zU1VGSk4wTXNVMEZCVTNkRExHVkJRV1U1UlN4RlFVRlJjME1zUjBGM1FqbENMRTFCUVZGQkxFVkJRVTB4UWl4VlFVRlpNRUlzUlVGQlRUVkNMRkZCUVZVMFFpeEZRVUZOTlVVc1QwRkJVelJGTEVWQlFVMXFReXhsUVVGcFFtbERMRVZCUVUwM1FpeFRRVUUwUWl4SlFVRnFRalpDTEVWQlFVMDFSU3hUUVVGbExFTkJRM0JJTEVsQlFVbHhTQ3hGUVVGTmVrTXNSVUZCVFRWRkxFOUJSMmhDTEVkQlJrRlpMRTFCUVUwc2QwSkJRMDR3UWl4RlFVRlBOa0lzUzBGQlN5eEhRVU5TYTBRc1NVRkJVWHBETEVWQlFVMDFSU3hQUVVOb1FpeE5RVWRLTkVVc1JVRkJUV1FzWVVGQll5eEZRV2RLZEVJc1UwRkJVM2RFTEZsQlFWbERMRWRCUTI1Q0xFOUJRVThzVjBGRFRDeEpRVUZKTTBNc1JVRkJVVEpETEVWQlFVbDBSQ3hsUVVOb1FuSkVMRTFCUVUwc1kwRkJaV2RGTEVWQlFVMW1MRmxCUTNaQ1pTeEZRVUZOWml4WlFVRlpaU3hGUVVGTlppeGhRVVZJTEVsQlFYSkNaU3hGUVVGTlppeFpRVUZ2UW1wRkxHZENRVUZuUWpKSUxFVkJRVXNzVlVGRGFrUXpReXhGUVVGTk4wSXNVMEZCVlN4RlFVTm9RbTlGTEV0QlFVdEpMRXRCY1VoWUxGTkJRVk5ETEhkQ1FVRjNRa01zUjBGREwwSXNTVUZCU1RkRExFVkJRVkUyUXl4RlFVRkxlRVFzWlVGRGFrSlhMRVZCUVUxMFFpeHJRa0ZCYjBKdFJTeEZRVUZMUXl4alFVRmpMRmxCUVdNc1JVRkZka1E1UXl4RlFVRk5ja0lzYTBKQlFXOUNjVUlzUlVGQlRYQkNMRTlCUjJ4RGIwSXNSVUZCVFRkQ0xGTkJRVlVzUlVGRFVEQkZMRVZCUVV0RExHTkJRV01zVVVGQlZTeEhRVU4wUTBRc1JVRkJTMFVzVTBGSlZDeFRRVUZUUXl4cFFrRkJhVUpJTEVkQlEzaENOMGNzVFVGQlRTdzBRa0ZEVGpaSExFVkJRVXQwUkN4TFFVRkxMRWRCY1VKYUxGTkJRVk4zUkN4UFFVRlBja1lzUlVGQlVYTkRMRWRCUTJwQ1FTeEZRVUZOY2tJc2EwSkJRMVJ4UWl4RlFVRk5ja0lzYVVKQlFXdENMRVZCUTNoQ01FUXNVVUZCVVVNc1UwRkJVMWNzVVVGQlUzWkdMRVZCUVZGelF5eEpRVWwwUXl4VFFVRlRhVVFzVVVGQlVYWkdMRVZCUVZGelF5eEhRVU4yUW1oRkxFMUJRVTBzVTBGQlZXZEZMRVZCUVUweFFpeFRRVVZxUWpCQ0xFVkJRVTB4UWl4VFFVTlVXaXhGUVVGUE5rSXNTMEZCU3l4SFFVZGtVeXhGUVVGTmNrSXNhVUpCUVd0Q0xFVkJRM2hDYWtJc1JVRkJUeXRETEV0QlFVc3NWVUZEV2poQ0xFdEJRVXMzUlN4SFFVTkVjME1zUlVGQlRUZENMRlZCUVZrMlFpeEZRVUZOTVVJc1UwRkJVMW9zUlVGQlR6WkNMRXRCUVVzc1IwRm5RbTVFTEZOQlFWTm5SQ3hMUVVGTE4wVXNSMEZEV2l4SlFVRkpjME1zUlVGQlVYUkRMRVZCUVU4eVFpeGxRVWR1UWl4SlFVWkJja1FzVFVGQlRTeFBRVUZSWjBVc1JVRkJUVGRDTEZOQlJXSTJRaXhGUVVGTk4wSXNVMEZCTmtJc1QwRkJiRUpVTEVWQlFVODJRaXhWUVRSSWFrTXNVMEZCVXpKRUxGTkJRVk5xUWl4RlFVRkhha01zUjBGRmJrSXNUMEZCY1VJc1NVRkJha0pCTEVWQlFVMDFSU3hQUVVGeFFpeE5RVVV6UWpSRkxFVkJRVTF1UXl4WFFVRlpjMFlzUlVGQlRXNUVMRVZCUVUxb1F5eFBRVUZQYjBZc1UwRkJhMEp1UWl4SFFVRkxRU3hIUVVGTGFrTXNSVUZCVFRWRkxGRkJSWFJFSzBnc1JVRkJabTVFTEVWQlFVMWlMRkZCUVdWaExFVkJRVTFvUXl4UFFVRlBjVVlzUzBGQlN5eEpRVUZ4UXl4SlFVRjRRbkpFTEVWQlFVMW9ReXhQUVVGUE5VTXNUMEZCYjBJMFJTeEZRVUZOYUVNc1QwRkJUM05HTEZGQlFXMUNkRVFzUlVGQlRXaERMRTlCUVU5MVJpeFBRVUZQZGtRc1JVRkJUVFZGTEZGQlEyNUtORVVzUlVGQlRXaERMRTlCUVU4NFJDeFRRVWRpY1VJc1JVRkJUVzVFTEVWQlFVMW9ReXhQUVVGUGQwWXNVVUZCVVhaQ0xFVkJRVWRxUXl4RlFVRk5ZaXhUUVVVdlFtZEZMRWRCVkZBc1NVRkJTVUVzUlVGWlRpeFRRVUZUVFN4WlFVRlpMMFlzUjBGRGJrSXNTVUZCU1hORExFVkJRVkYwUXl4RlFVRlBNa0lzWlVGRGJrSnlSQ3hOUVVGTkxHTkJRV1ZuUlN4RlFVRk5NMElzV1VGRmRFSXlRaXhGUVVGTk0wSXNZVUZEVkRKQ0xFVkJRVTAxUWl4UFFVRlJMRVZCUTJScFJTeFJRVUZSUXl4VFFVRlRiMElzWTBGQlpURkVMRVZCUVU5MFF5eEpRVWt6UXl4VFFVRlRaMGNzWTBGQll6RkVMRVZCUVU5MFF5eEhRVWMxUWl4SFFVWkJNVUlzVFVGQlRTeG5Ra0ZCYVVKblJTeEZRVUZOTTBJc1YwRkJXVEpDTEVWQlFVMDFSU3hUUVVVeFF6UkZMRVZCUVUwelFpeFpRVUVyUWl4SlFVRnFRakpDTEVWQlFVMDFSU3hUUVVNM1FqUkZMRVZCUVUwelFpeFpRVUZoTEVWQlEyNUNXQ3hGUVVGUE5FSXNWVUZCVnl4RlFVTnNRalZDTEVWQlFVOHJReXhMUVVGTExFOUJSVkpVTEVWQlFVMXNRaXhoUVVGaExFTkJSM0pDTEVsQlFVazJSU3hGUVVGVGFrY3NSVUZCVDJ0SExHbENRVVZtUkN4SFFVRlZRU3hGUVVGUE4wVXNZVUZCWlRaRkxFVkJRVTlGTEZkQlF6RkRia2NzUlVGQlR5dENMRmRCWjBKbUxGTkJRVk54UlN4UlFVRlJReXhGUVVGSlF5eEhRVU51UWl4SlFVRkxMRWxCUVVsRExFVkJRVWtzUlVGQlIwTXNSVUZCU1Vnc1JVRkJSek5KTEU5QlFWRTJTU3hGUVVGSlF5eEZRVUZIUkN4SlFVTndReXhIUVVGSlJpeEZRVUZIUlN4TFFVRlBSQ3hGUVVGSExFOUJRVTlETEVWQlJ6RkNMRTlCUVZFc1JVRXpkRUpXZEVvc1UwRkJVekJHTEZWQlFWVmtMRXRCUVU4c1UwRkJWVEJETEVkQlEyeERha2NzVFVGQlRTeFBRVUZSYVVjc1IwRkRaRUVzUlVGQlNXdERMRk5CUVZOc1F5eEZRVUZITEVsQlEyaENMRWxCUVVscVF5eEZRVUZSY0VNc1MwRkJTM2xDTEdWQlEySXJSU3hGUVVGUmJrTXNSVUZMV2l4SFFVcFZMRWxCUVU1QkxFbEJRVk5xUXl4RlFVRk5ka0lzYVVKQlFXdENMRWRCU1ROQ0xFbEJRVTUzUkN4SFFVRlhha01zUlVGQlRYaENMR2RDUVVFd1F5eEpRVUY0UW5kQ0xFVkJRVTFxUXl4alFVRnpRbWxETEVWQlFVMDFSU3hSUVVGVk5FVXNSVUZCVFdwRExHTkJRV2RDYVVNc1JVRkJUVFZGTEU5QlFWTXNTVUZCVFRSRkxFVkJRVTAxUWl4UFFVZHNTU3hQUVVaQmNFTXNUVUZCVFN4eFFrRkJjMEpuUlN4RlFVRk5OVVVzVDBGQlVUUkZMRVZCUVUwMVFpeFBRVU16UWl4SlFVRnFRalJDTEVWQlFVMDFSU3hSUVVGblFqUkZMRVZCUVUwMVFpeE5RVUZQY1VZc1dVRkJXVGRHTEUxQlFWY3JReXhoUVVGaEwwTXNUVUZEY0VVc1MwRkxWQ3hIUVVGVkxFdEJSbFp4UlN4RlFVRkpReXhqUVVGalJDeEZRVUZIYWtNc1MwRkZUa0VzUlVGQlRUVkNMRTFCUlc1Q0xFOUJSSEZDTEVsQlFXcENORUlzUlVGQlRUVkZMRkZCUVdOeFNTeFpRVUZaTjBZc1RVRkROMElzUzBGNVFsUXNTVUUwUWtsMVJpeEZRVFZDUVd0Q0xFVkJRVk55UlN4RlFVRk5lRUlzWVVGblJHNUNMRTlCTDBOQmVFTXNUVUZCVFN4blFrRkJhVUp4U1N4SlFVVkdMRWxCUVdwQ2NrVXNSVUZCVFRWRkxGRkJRV2RDTkVVc1JVRkJUVFZGTEU5QlFWTTJSeXhGUVVGSmFrTXNSVUZCVFdwRExHZENRVVZxUkM5Q0xFMUJRVTBzTmtKQlJFNXhTU3hIUVVGVExFZEJUVkJ5UlN4RlFVRk5OVUlzVDBGQlV6UkNMRVZCUVUweFFpeFJRVVYyUW5SRExFMUJRVTBzYlVKQlJFNXhTU3hIUVVGVExFZEJSVUZCTEVsQlExUnlTU3hOUVVGTkxGZEJRMDVuUlN4RlFVRk5NVUlzVTBGQlZTeEZRVU5vUWpCQ0xFVkJRVTE2UWl4TlFVRlBMRVZCUlZFc1NVRkJha0o1UWl4RlFVRk5OVVVzVTBGQll6UkZMRVZCUVUxNFFpeGpRVUZsTEVkQlJUZERXaXhMUVVGTE5FSXNUVUZCVFZFc1JVRkJUV3BETEdWQlJXcENhVU1zUlVGQlRYcENMRTFCUVU4c1JVRkhVbmxDTEVWQlFVMHhRaXhWUVVGVE1rUXNSVUZCU1VNc1kwRkJZMnRETEVWQlFVOXdSU3hMUVUxdVF5eFJRVVpFYlVRc1JVRkJVR3hDTEVWQlFVa3NSVUZCVTJsQ0xGTkJRVk5xUWl4RlFVRkhha01zUjBGQmEwSXNUMEZITjBOQkxFVkJRVTE0UWl4aFFVRmxkMElzUlVGQlRUVkZMRkZCUVZVMFJTeEZRVUZOYWtNc1kwRkRNME5yUlN4RlFVRkpMRWxCUlVwcVF5eEZRVUZOTlVVc1VVRkJWVFpITEVWQlEyaENha01zUlVGQlRXWXNWMEZCWVN4SFFVZEJMRWxCUVdwQ1pTeEZRVUZOTlVVc1UwRkhTRFJGTEVWQlFVMDFRaXhSUVVGUE5FSXNSVUZCVFhoQ0xHTkJRV1VzUjBGRmJrTTBSaXhKUVVGVmJrTXNSMEZCUzJwRExFVkJRVTAxUWl4UFFVRlBjVVlzV1VGQldUZEdMRTlCUjJ4RExFOUJRVkoxUml4SFFVRmpka1lzUzBGQlN6WkRMRXRCUVVzc1QwRkJVVEJETEVkQlF6ZENRU3hIUVhkSVZIaEpMRk5CUVZNd1JpeFZRVUZWWWl4TlFVRlJMRk5CUVZWNVF5eEhRVU51UTJ4R0xHVkJRV1ZoTEV0QlFVMHNTVUZCU1dZc01rSkJRVEpDTEdGQlIzUkViRU1zVTBGQlV6QkdMRlZCUVZWcFJTeExRVUZQTEZOQlFWVkRMRVZCUVUxRExFZEJRM2hETEVsQlFVazNRaXhGUVVGTkwwVXNTMEZEVG05RExFVkJRVkZ3UXl4TFFVRkxlVUlzWlVGRmFrSXNUMEZCVVZjc1JVRkJUVGxDTEZsQlExb3NTMEZCU3l4RlFVTklPRUlzUlVGQlRTOUNMRTFCUVZGelJ5eEZRVU5rTEUxQlJVWXNTMEZCU3l4RlFVTklka1VzUlVGQlRTOUNMRTFCUVZFc1EwRkJReXRDTEVWQlFVMHZRaXhOUVVGUGMwY3NSMEZETlVJc1RVRkZSaXhSUVVORmRrVXNSVUZCVFM5Q0xFMUJRVTE1UXl4TFFVRkxOa1FzUjBGSmNrSjJSU3hGUVVGTk9VSXNXVUZCWXl4RlFVTndRbXhETEUxQlFVMHNkMEpCUVhsQ1owVXNSVUZCVFRsQ0xGZEJRVmx6Unl4SFFVTnFSQ3hKUVVOSlF5eEpRVVJWUkN4SlFVRTJRaXhKUVVGcVFrRXNSVUZCVTNKRExFMUJRV3RDYjBNc1NVRkJVMnhETEZGQlFWRnhReXhSUVVGVlNDeEpRVUZUYkVNc1VVRkJVWE5ETEU5QlF6ZEZReXhGUVVGUlF5eEZRVWsxUWl4VFFVRlRReXhGUVVGVGVFWXNSVUZCVlhsR0xFZEJRekZDTDBrc1RVRkJUU3haUVVWR2MwUXNTVUZCWVhGRUxFZEJRMWh2UXl4SlFVRjNReXhKUVVFeFFrRXNSVUZCVjBNc1lVRkRNMEpFTEVWQlFWZERMRmxCUVdFc1JVRnZRalZDYUVvc1RVRkJUU3hYUVVWT2RVa3NSVUZCUzFVc1pVRkJaU3hSUVVGVFF5eEhRVU0zUWxnc1JVRkJTMVVzWlVGQlpTeFRRVUZWUlN4SFFVTTVRbG9zUlVGQlMxVXNaVUZCWlN4UlFVRlRSeXhIUVVNM1FtSXNSVUZCUzFVc1pVRkJaU3hSUVVGVFNTeEhRVU0zUW1Rc1JVRkJTMVVzWlVGQlpTeFRRVUZWU0N4SFFVTTVRbTVETEVWQlFVbHpReXhsUVVGbExFMUJRVTlNTEVkQlF6RkNha01zUlVGQlNYTkRMR1ZCUVdVc1RVRkJUMG9zUjBGRE1VSnNReXhGUVVGSmMwTXNaVUZCWlN4UFFVRlJTeXhIUVVNelFrTXNSMEZCV1N4SFFVMVNka1lzUlVGQlRXWXNXVUZCWjBKelJpeEZRVUZMV0N4cFFrRkJhMEpYTEVWQlFVdFlMR1ZCUVdVMFFpeFhRVUZaU2l4TFFUbENia1lzVTBGQlUxSXNTVUZEVURWSkxFMUJRVTBzVTBGRFRuVkpMRVZCUVV0d1F5eE5RV2hDU0c1RExFVkJRVTB6UWl4WFFVRlpaMFVzVVVGQlVVTXNVMEZCVTIxRExFZEJRVms1UWl4RlFVRkpPRU1zUzBGQlN5eE5RVUZQYUVJc1IwRkRia1ZHTEVWQlFVc3ZSeXhIUVVGSExGTkJRVlZ6U0N4SFFYTkNiRUlzU1VGQlNVMHNSVUZCVlRGRExGbEJRVmxETEVkQlF6RkNORUlzUlVGQlN5OUhMRWRCUVVjc1VVRkJVelJJTEVkQlEycENMRWxCUVVsSExFZEJRVmtzUlVGM1FtaENMRk5CUVZORUxFVkJRVTh6U2l4SFFVTmtTeXhOUVVGTkxGVkJRMDRzU1VGQlNXMUlMRVZCUVUxdlFpeEZRVUZMYUVVc1RVRkJUVFZGTEVkQlEzSkNTeXhOUVVGTkxHRkJRV050U0N4SlFVVlNMRWxCUVZKQkxFdEJTM2RDTEVsQlFYSkNia1FzUlVGQlRUbENMRmxCUVc5Q09FSXNSVUZCVFM5Q0xGRkJRVlZ6Unl4SFFVRlJka1VzUlVGQlRUbENMRmRCUVdFc1NVRkJjVU1zU1VGQmFFTTBSaXhSUVVGUk9VUXNSVUZCVFM5Q0xFMUJRVTl6Unl4TlFVRnJRbWRDTEVsQlEzQklka29zVFVGQlRTdzRRa0ZCSzBKblJTeEZRVUZOWml4WlFVTXpRMlVzUlVGQlRXWXNZMEZIVWpCRUxFVkJRVWtyUXl4VFFVMVNMRk5CUVZOTUxFVkJRVkYwUml4SFFVTm1MMFFzVFVGQlRTeFZRVUZYSzBRc1IwRkRha0k0UlN4SlFVTkJUaXhGUVVGTFZTeGxRVUZsTEZGQlFWTkpMRWRCUTFVc1NVRkJia055U3l4blFrRkJaMEoxU2l4RlFVRk5MRlZCUVdkQ2VFZ3NaVUZCWlhkSUxFVkJRVTE0UlN4SFFVMXFSU3hUUVVGVGJVWXNTVUZEVUZnc1JVRkJTMVVzWlVGQlpTeFRRVUZWUlN4SFFVTTVRazRzU1VGTFJpeFRRVUZUVFN4SlFVTlFia29zVFVGQlRTeFpRVU5PZFVrc1JVRkJTMVVzWlVGQlpTeFJRVUZUUXl4SFFVTTNRa3dzU1VGTFJpeFRRVUZUUVN4SlFVTlFOMGtzVFVGQlRTeFZRVU5PTWtjc1JVRkJTV3RETEU5QlFVOU9MRWRCVjJJc1QwRTNSRUUxUWl4RlFVRkpia1lzUjBGQlJ5eFBRVUZST0Vnc1IwRXJRbVp5U1N4blFrRkJaMEp6U0N4RlFVRk5MRkZCUVZOakxFZEJUeTlDWkN4RlFVRkxhMElzUzBGQlN5eFJRVUZUVUN4SFFWRnVRbGdzUlVGQlMydENMRXRCUVVzc1UwRkJWVTRzUjBGUmNFSmFMRVZCUVVzNVJDeExRVUZMTEU5QlFWRnJReXhIUVVWaU0wTXNSVUZCVFRkQ0xGVkJRMVJ1UXl4TlFVRk5MR1ZCUTA0eVJ5eEZRVUZKU1N4VlFVZERkMElzUjBGblFsUTFTaXhUUVVGVE1FWXNWVUZCVlhkRkxFOUJRVk1zVTBGQlZVNHNSMEZEY0VNc1NVRkJTWFpGTEVWQlFWRndReXhMUVVGTGVVSXNaVUZEWWpCR0xFVkJRV0VzUTBGRFprTXNXVUZCV1N4SFFVZGtMRWRCUVhsQ0xFbEJRWEpDYUVZc1JVRkJUVGxDTEZkQlFXdENMRTlCUVU5T0xFdEJSVzVETEVkQlFYbENMRWxCUVhKQ2IwTXNSVUZCVFRsQ0xGZEJSVklzVDBGQlNYRkhMRWRCUVZGQkxFbEJRVk4yUlN4RlFVRk5MMElzVFVGQlkwd3NUVUZEY0VNeVJ5eEpRVUZOUVN4RlFVRlBka1VzUlVGQlRTOUNMRTlCUlhoQ0swSXNSVUZCVFM5Q0xFMUJRVkVzUzBGRFpDdENMRVZCUVUwNVFpeFhRVUZoTEVWQlEyNUNPRUlzUlVGQlRUZENMRk5CUVZVc1JVRkRXbTlITEVkQlFVMUJMRVZCUVVzNVJDeExRVUZMTEZOQlFWVTNReXhMUVVGTmJVZ3NSMEZETjBKdVNDeE5RVWxVTEVsQlFVc3lSeXhGUVVGTkxFTkJSVlFzU1VGQlNXOUNMRVZCUVZFelJpeEZRVUZOTDBJc1RVRkRaSGRGTEVWQlFVMTZReXhGUVVGTk9VSXNWMEZEYUVJNFFpeEZRVUZOTDBJc1RVRkJVU3hMUVVOa0swSXNSVUZCVFRsQ0xGZEJRV0VzUlVGRGJrSTRRaXhGUVVGTk4wSXNVMEZCVlN4RlFVVm9RaXhKUVVGTExFbEJRVWs0Uml4RlFVRkpMRVZCUVVkQkxFVkJRVWw0UWl4RlFVRkxkMElzU1VGRGRrSXdRaXhGUVVGTk1VSXNSMEZCUjNoRUxFdEJRVXNzVTBGQlZUZERMRXRCUVUwc1EwRkROVUp2U0N4WlFVRlpMRWxCU1doQ0xFOUJRVTl3U0N4TFFVbFVMRWxCUVVsblNTeEZRVUZST1VJc1VVRkJVVGxFTEVWQlFVMHZRaXhOUVVGUGMwY3NSMEZEYWtNc1QwRkJaU3hKUVVGWWNVSXNSVUZCY1VKb1NTeE5RVU42UW05RExFVkJRVTB2UWl4TlFVRk5ORWdzVDBGQlQwUXNSVUZCVHl4SFFVTXhRalZHTEVWQlFVMDVRaXhaUVVGakxFVkJRMHNzU1VGQmNrSTRRaXhGUVVGTk9VSXNZVUZCYTBJNFFpeEZRVUZOTDBJc1RVRkJVU3RDTEVWQlFVMHZRaXhOUVVGTkxFbEJRM1JFYzBjc1JVRkJTemxFTEV0QlFVc3NVMEZCVlRkRExFdEJRVTF0U0N4SFFVTnVRbTVJTEU5QlMxUnFSQ3hUUVVGVE1FWXNWVUZCVlRkRExFZEJRVXNzVTBGQlZYTkpMRVZCUVVrelNTeEhRVU53UXl4SlFVRkpORWtzUlVGQlRURkxMRTlCUVU5blJpeFZRVUZWTjBNc1IwRkJSMjFETEV0QlFVc3ZRaXhMUVVGTmEwa3NSVUZCU1ROSkxFZEJRM3BETmtNc1JVRkJVWEJETEV0QlFVdDVRaXhsUVhWQ2FrSXNUVUZ5UWxjc1UwRkJVSGxITEVkQlIwWTVSaXhGUVVGTmRFSXNhMEpCUVc5Q1pDeExRVUZMYTBZc1kwRkJZeXhaUVVGakxFZEJSWEpETEVsQlFXeENPVU1zUlVGQlRUZENMRk5CUVcxQ1VDeExRVUZMYlVZc1ZVRkRiRUlzWVVGQlVDdERMRWxCUTBvNVJpeEZRVUZOTTBJc1dVRkJaVEpDTEVWQlFVMTBRaXh2UWtGRE9VSnpRaXhGUVVGTmRFSXNhMEpCUVc5Q2MwSXNSVUZCVFhoQ0xHTkJRV1VzUlVGREwwTjNRaXhGUVVGTk4wSXNVMEZCVlN4RlFVTm9RalpDTEVWQlFVMTJRaXhwUWtGQmEwSXNSVUZEZUVKNlF5eE5RVUZOTEdOQlFXVm5SU3hGUVVGTk5VVXNUMEZCVVRSRkxFVkJRVTB4UWl4VFFVVnlRekJDTEVWQlFVMDFSU3hQUVVOU2RVWXNZVUZCWVM5RExFMUJRMGh2UXl4RlFVRk5NVUlzVTBGRGFFSXJSQ3hSUVVGUlF5eFRRVUZUVlN4cFFrRkJhMEp3Uml4UlFVdHNRMjFKTEVkQlIxUndUQ3hUUVVGVE1FWXNWVUZCVlRKR0xGbEJRV055VEN4VFFVRlRNRVlzVlVGQlZUZERMRWRCUlhCRU4wTXNVMEZCVXpCR0xGVkJRVlUwUlN4bFFVRnBRaXhUUVVGVllTeEZRVUZKTTBrc1IwRkRhRVFzU1VGQlNUUkpMRVZCUVUweFN5eFBRVUZQWjBZc1ZVRkJWVFJGTEdWQlFXVjBSaXhMUVVGTEwwSXNTMEZCVFd0SkxFVkJRVWt6U1N4SFFWbDZSQ3hOUVZaWExHRkJRVkF5U1N4SFFVOUdla1FzVVVGQlVVTXNVMEZCVTAwc2QwSkJRWGxDYUVZc1RVRkhja050U1N4SFFVZFVjRXdzVTBGQlV6QkdMRlZCUVZVMFJpeHRRa0ZCY1VJc1UwRkJWVWdzUjBGRGFFUXNTVUZCU1VNc1JVRkJUVEZMTEU5QlFVOW5SaXhWUVVGVk5FWXNiVUpCUVcxQ1F5eE5RVUZOZEVrc1MwRkJUWFZKTEZkQldURkVMRTFCVmxjc1lVRkJVRXdzVVVGQk5FSnNSaXhKUVVGUWEwWXNSMEZQZGtKNlJDeFJRVUZSUXl4VFFVRlRUU3gzUWtGQmVVSm9SaXhOUVVkeVEyMUpMRWRCZFVKVWNFd3NVMEZCVXpCR0xGVkJRVlV3UXl4UFFVRlRMRmRCUXpGQ0xFbEJRVWt2UXl4RlFVRlJjRU1zUzBGQlMzbENMR1ZCV1dwQ0xFOUJWa3RYTEVWQlFVMDNRaXhWUVVOVWJrTXNUVUZCVFN4VlFVbE9aMFVzUlVGQlRUZENMRk5CUVZjMlFpeEZRVUZOZEVJc2EwSkJRM1pDY1VVc1QwRkJUMjVHTEV0QlFVMXZReXhKUVVkbVFTeEZRVUZOY0VJc1VVRkJVeXhGUVVOU2FFSXNUVUYxUWxScVJDeFRRVUZUTUVZc1ZVRkJWWEZHTEUxQlFWRXNWMEZWZWtJc1QwRlVRVEZLTEUxQlFVMHNkMEpCUVhsQ05FSXNTMEZCUzNsQ0xHVkJRV1ZzUWl4VlFVVm1MRWxCUVdoRFVDeExRVUZMZVVJc1pVRkJaV3hDTEZWQlEzUkNia01zVFVGQlRTeFRRVU5PTkVJc1MwRkJTM2xDTEdWQlFXVnNRaXhUUVVGVkxFVkJRemxDVUN4TFFVRkxOa01zUzBGQlN5eFZRVWRhTjBNc1MwRkJTM2xDTEdWQlFXVlVMRkZCUVZNc1JVRkRkRUpvUWl4TlFXVlVha1FzVTBGQlV6QkdMRlZCUVZVclJpeExRVUZQTEZOQlFWVXhTU3hIUVVOc1F5eEpRVUZKTWtrc1JVRkJVWHBKTEV0QlJWSnZReXhGUVVGUmNFTXNTMEZCUzNsQ0xHVkJRMkpVTEVkQlFWTXNSVUV3UW1Jc1NVRkJTeXhKUVVGSmNVWXNTMEY2UWxSMlJ5eEZRVUZQUml4SFFVRkhMRTFCUVU4c1YwRkhaaXhIUVVaQmVFSXNUVUZCVFN4bFFVVkdaMFVzUlVGQlRXSXNWVUZCV1dFc1JVRkJUVFZDTEUxQlFVOHNRMEZEYWtNc1NVRkJTWHBETEVWQlFWRnhSU3hGUVVGTllpeFJRVUZSWjBRc1RVRkRkRUo0Unl4SFFVRlRRU3hGUVVGTlVDeFJRVUZSYVV3c1JVRkJUVE5HTEV0QlFVc3ZSU3hIUVVkNFF6QkxMRVZCUVUwelJpeExRVUZMTEZGQlJXSm9SQ3hGUVVGUFJpeEhRVUZITEU5QlFWRXNVMEZCVlRkQ0xFbEJRekZDU3l4TlFVRk5MR2RDUVVOR1owVXNSVUZCVFdJc1ZVRkJVM2hFTEVWQlFWRnhSU3hGUVVGTllpeFJRVUZSYjBJc1RVRkJUVFZGTEVsQlJUTkRjVVVzUlVGQlRXNURMRmxCUVdNc1RVRkJRMnhETEV0QlFYbEVjVVVzUlVGQlRXNURMRmxCUVdkQ2JFTXNSMEZCVlVFc1JVRkJUVkFzVlVGRk9VZHBUQ3hGUVVGTk0wWXNTMEZCU3k5RkxFdEJSMjVDYVVRc1IwRkJVeXhGUVVOVWJFSXNSVUZCVDJkSkxGbEJTMGRvU1N4UFFVTkphMFFzU1VGQldtaEVMRXRCUVV0eFJ5eEpRVUY1UXl4dFFrRkJaSFpITEVWQlFVOTFSeXhMUVVONlEzSkhMRXRCUVV0eFJ5eEhRVUZMTEZOQlFXOUNjVU1zUjBGRE5VSXNUMEZCVHl4WFFVTk1MRTlCUVU4MVNTeEZRVUZQTkVrc1IwRkJVVW9zVFVGQlRYaEpMRVZCUVZGNVNTeFpRVVk1UWl4RFFVbFNiRU1zU1VGTFRpeEpRVUZMTEVsQlFVbG9ReXhGUVVGSkxFVkJRVWRCTEVWQlFVbHFSaXhoUVVGaE5VSXNUMEZCVVRaSExFbEJRM1pEZGtVc1JVRkJUMFlzUjBGQlIxSXNZVUZCWVdsR0xFZEJRVWx5UlN4TFFVRkxOa01zUzBGQlN6aEdMRXRCUVVzelNTeExRVUZOV2l4aFFVRmhhVVlzUzBGakwwUXNUMEZVUVhKRkxFdEJRVXMwUWl4TlFVRlJMRk5CUVZWNVF5eEhRVU55UW1wSExFMUJRVTBzWjBKQlFXbENhVWNzUjBGRmJrSnlSQ3hKUVVOR1FTeEhRVUZUTEVWQlExUnNRaXhGUVVGUGNVWXNWMEZKU201R0xFMUJSMkVzYlVKQlFWZzBTU3hUUVVOVU4wd3NVMEZCVXpCR0xGVkJRVlZ0Unl4UFFVRlBReXhsUVVGcFFpeFhRVXQ2UXl4WlFVb3dRemRHTEVsQlFYUkRlRVVzYjBOQlEwWkJMR3REUVVGdlEzUkNMRkZCUVZFc2MwTkJSM1pEYzBJc2EwTkJRV3REZDBJc1VVRkpOME4xUXl4UFFVRlBWU3hsUVVGbGJFY3NVMEZCVXpCR0xGVkJRVmNzZDBKQlFYbENMRU5CU1dwRlV5eFpRVUZaTEVWQlExcERMRWxCUVVzc1YwRkRTQ3hQUVVGUGJrUXNTMEZCUzNsQ0xHVkJRV1YwUWl4cFFrRkhMMEp2UXl4UFFVRlBWU3hsUVVGbGJFY3NVMEZCVXpCR0xGVkJRVmNzYVVKQlFXdENMRU5CU1RGRVV5eFpRVUZaTEVWQlExcERMRWxCUVVzc1YwRkRTQ3hQUVVGUGJrUXNTMEZCUzNsQ0xHZENRVUZyUW5wQ0xFdEJRVXQ1UWl4bFFVRmxja0lzVlVGSGRFUnRReXhQUVVGUFZTeGxRVUZsYkVjc1UwRkJVekJHTEZWQlFWY3NhMEpCUVcxQ0xFTkJTVE5FVXl4WlFVRlpMRVZCUTFwRExFbEJRVXNzVjBGRFNDeFBRVUZQYmtRc1MwRkJTM2xDTEdWQlFXVnNRaXhUUVVVM1FqWkRMRWxCUVVzc1UwRkJZV2hDTEVkQlExcHdReXhMUVVGTGVVSXNhVUpCUTFCNlFpeExRVUZMZVVJc1pVRkJaV3hDTEZGQlFWVTJRaXhOUVV0d1EzSkdMRk5CUVZNclRDeFZRVUZaZUVRc1UwRkRja0l2UXl4UFFVRlBWU3hsUVVGbGJFY3NVMEZCVXpCR0xGVkJRVmNzYVVKQlFXdENMRU5CU1RGRVV5eFpRVUZaTEVWQlExcERMRWxCUVVzc1YwRkRTQ3hQUVVGUGJrUXNTMEZCUzNsQ0xHVkJRV1ZxUlN4VlFXOUVWQ3h0UWtGQldHOU1MRk5CUTFRM1RDeFRRVUZUYVVJc1MwRkJUeXhUUVVGVkswc3NSVUZCVlVNc1IwRkxiRU1zV1VGS1lXaEhMRWxCUVZSb1JpeFBRVU5HUVN4TFFVRlBaQ3hSUVVGUkxEUkNRVWRXWXl4TFFVRkxha0lzVTBGQlZXZE5MRVZCUVZWRElpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMMjFoYzNSbGNpOXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTl6ZEhKbFlXMHRZbkp2ZDNObGNtbG1lUzl1YjJSbFgyMXZaSFZzWlhNdmNtVmhaR0ZpYkdVdGMzUnlaV0Z0TDJ4cFlpOWZjM1J5WldGdFgzSmxZV1JoWW14bExtcHpJbjA9IiwiXCJ1c2Ugc3RyaWN0XCI7bW9kdWxlLmV4cG9ydHM9VHJhbnNmb3JtO3ZhciBfcmVxdWlyZSRjb2Rlcz1yZXF1aXJlKFwiLi4vZXJyb3JzXCIpLmNvZGVzLEVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVEPV9yZXF1aXJlJGNvZGVzLkVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVELEVSUl9NVUxUSVBMRV9DQUxMQkFDSz1fcmVxdWlyZSRjb2Rlcy5FUlJfTVVMVElQTEVfQ0FMTEJBQ0ssRVJSX1RSQU5TRk9STV9BTFJFQURZX1RSQU5TRk9STUlORz1fcmVxdWlyZSRjb2Rlcy5FUlJfVFJBTlNGT1JNX0FMUkVBRFlfVFJBTlNGT1JNSU5HLEVSUl9UUkFOU0ZPUk1fV0lUSF9MRU5HVEhfMD1fcmVxdWlyZSRjb2Rlcy5FUlJfVFJBTlNGT1JNX1dJVEhfTEVOR1RIXzAsRHVwbGV4PXJlcXVpcmUoXCIuL19zdHJlYW1fZHVwbGV4XCIpO2Z1bmN0aW9uIGFmdGVyVHJhbnNmb3JtKHIsZSl7dmFyIHQ9dGhpcy5fdHJhbnNmb3JtU3RhdGU7dC50cmFuc2Zvcm1pbmc9ITE7dmFyIG49dC53cml0ZWNiO2lmKG51bGw9PT1uKXJldHVybiB0aGlzLmVtaXQoXCJlcnJvclwiLG5ldyBFUlJfTVVMVElQTEVfQ0FMTEJBQ0spO3Qud3JpdGVjaHVuaz1udWxsLHQud3JpdGVjYj1udWxsLG51bGwhPWUmJnRoaXMucHVzaChlKSxuKHIpO3ZhciBpPXRoaXMuX3JlYWRhYmxlU3RhdGU7aS5yZWFkaW5nPSExLChpLm5lZWRSZWFkYWJsZXx8aS5sZW5ndGg8aS5oaWdoV2F0ZXJNYXJrKSYmdGhpcy5fcmVhZChpLmhpZ2hXYXRlck1hcmspfWZ1bmN0aW9uIFRyYW5zZm9ybShyKXtpZighKHRoaXMgaW5zdGFuY2VvZiBUcmFuc2Zvcm0pKXJldHVybiBuZXcgVHJhbnNmb3JtKHIpO0R1cGxleC5jYWxsKHRoaXMsciksdGhpcy5fdHJhbnNmb3JtU3RhdGU9e2FmdGVyVHJhbnNmb3JtOmFmdGVyVHJhbnNmb3JtLmJpbmQodGhpcyksbmVlZFRyYW5zZm9ybTohMSx0cmFuc2Zvcm1pbmc6ITEsd3JpdGVjYjpudWxsLHdyaXRlY2h1bms6bnVsbCx3cml0ZWVuY29kaW5nOm51bGx9LHRoaXMuX3JlYWRhYmxlU3RhdGUubmVlZFJlYWRhYmxlPSEwLHRoaXMuX3JlYWRhYmxlU3RhdGUuc3luYz0hMSxyJiYoXCJmdW5jdGlvblwiPT10eXBlb2Ygci50cmFuc2Zvcm0mJih0aGlzLl90cmFuc2Zvcm09ci50cmFuc2Zvcm0pLFwiZnVuY3Rpb25cIj09dHlwZW9mIHIuZmx1c2gmJih0aGlzLl9mbHVzaD1yLmZsdXNoKSksdGhpcy5vbihcInByZWZpbmlzaFwiLHByZWZpbmlzaCl9ZnVuY3Rpb24gcHJlZmluaXNoKCl7dmFyIHI9dGhpcztcImZ1bmN0aW9uXCIhPXR5cGVvZiB0aGlzLl9mbHVzaHx8dGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQ/ZG9uZSh0aGlzLG51bGwsbnVsbCk6dGhpcy5fZmx1c2goZnVuY3Rpb24oZSx0KXtkb25lKHIsZSx0KX0pfWZ1bmN0aW9uIGRvbmUocixlLHQpe2lmKGUpcmV0dXJuIHIuZW1pdChcImVycm9yXCIsZSk7aWYobnVsbCE9dCYmci5wdXNoKHQpLHIuX3dyaXRhYmxlU3RhdGUubGVuZ3RoKXRocm93IG5ldyBFUlJfVFJBTlNGT1JNX1dJVEhfTEVOR1RIXzA7aWYoci5fdHJhbnNmb3JtU3RhdGUudHJhbnNmb3JtaW5nKXRocm93IG5ldyBFUlJfVFJBTlNGT1JNX0FMUkVBRFlfVFJBTlNGT1JNSU5HO3JldHVybiByLnB1c2gobnVsbCl9cmVxdWlyZShcImluaGVyaXRzXCIpKFRyYW5zZm9ybSxEdXBsZXgpLFRyYW5zZm9ybS5wcm90b3R5cGUucHVzaD1mdW5jdGlvbihyLGUpe3JldHVybiB0aGlzLl90cmFuc2Zvcm1TdGF0ZS5uZWVkVHJhbnNmb3JtPSExLER1cGxleC5wcm90b3R5cGUucHVzaC5jYWxsKHRoaXMscixlKX0sVHJhbnNmb3JtLnByb3RvdHlwZS5fdHJhbnNmb3JtPWZ1bmN0aW9uKHIsZSx0KXt0KG5ldyBFUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRChcIl90cmFuc2Zvcm0oKVwiKSl9LFRyYW5zZm9ybS5wcm90b3R5cGUuX3dyaXRlPWZ1bmN0aW9uKHIsZSx0KXt2YXIgbj10aGlzLl90cmFuc2Zvcm1TdGF0ZTtpZihuLndyaXRlY2I9dCxuLndyaXRlY2h1bms9cixuLndyaXRlZW5jb2Rpbmc9ZSwhbi50cmFuc2Zvcm1pbmcpe3ZhciBpPXRoaXMuX3JlYWRhYmxlU3RhdGU7KG4ubmVlZFRyYW5zZm9ybXx8aS5uZWVkUmVhZGFibGV8fGkubGVuZ3RoPGkuaGlnaFdhdGVyTWFyaykmJnRoaXMuX3JlYWQoaS5oaWdoV2F0ZXJNYXJrKX19LFRyYW5zZm9ybS5wcm90b3R5cGUuX3JlYWQ9ZnVuY3Rpb24ocil7dmFyIGU9dGhpcy5fdHJhbnNmb3JtU3RhdGU7bnVsbD09PWUud3JpdGVjaHVua3x8ZS50cmFuc2Zvcm1pbmc/ZS5uZWVkVHJhbnNmb3JtPSEwOihlLnRyYW5zZm9ybWluZz0hMCx0aGlzLl90cmFuc2Zvcm0oZS53cml0ZWNodW5rLGUud3JpdGVlbmNvZGluZyxlLmFmdGVyVHJhbnNmb3JtKSl9LFRyYW5zZm9ybS5wcm90b3R5cGUuX2Rlc3Ryb3k9ZnVuY3Rpb24ocixlKXtEdXBsZXgucHJvdG90eXBlLl9kZXN0cm95LmNhbGwodGhpcyxyLGZ1bmN0aW9uKHIpe2Uocil9KX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbDl6ZEhKbFlXMWZkSEpoYm5ObWIzSnRMbXB6SWwwc0ltNWhiV1Z6SWpwYkltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSlVjbUZ1YzJadmNtMGlMQ0pmY21WeGRXbHlaU1JqYjJSbGN5SXNJbkpsY1hWcGNtVWlMQ0pqYjJSbGN5SXNJa1ZTVWw5TlJWUklUMFJmVGs5VVgwbE5VRXhGVFVWT1ZFVkVJaXdpUlZKU1gwMVZURlJKVUV4RlgwTkJURXhDUVVOTElpd2lSVkpTWDFSU1FVNVRSazlTVFY5QlRGSkZRVVJaWDFSU1FVNVRSazlTVFVsT1J5SXNJa1ZTVWw5VVVrRk9VMFpQVWsxZlYwbFVTRjlNUlU1SFZFaGZNQ0lzSWtSMWNHeGxlQ0lzSW1GbWRHVnlWSEpoYm5ObWIzSnRJaXdpWlhJaUxDSmtZWFJoSWl3aWRITWlMQ0owYUdseklpd2lYM1J5WVc1elptOXliVk4wWVhSbElpd2lkSEpoYm5ObWIzSnRhVzVuSWl3aVkySWlMQ0ozY21sMFpXTmlJaXdpWlcxcGRDSXNJbmR5YVhSbFkyaDFibXNpTENKd2RYTm9JaXdpY25NaUxDSmZjbVZoWkdGaWJHVlRkR0YwWlNJc0luSmxZV1JwYm1jaUxDSnVaV1ZrVW1WaFpHRmliR1VpTENKc1pXNW5kR2dpTENKb2FXZG9WMkYwWlhKTllYSnJJaXdpWDNKbFlXUWlMQ0p2Y0hScGIyNXpJaXdpWTJGc2JDSXNJbUpwYm1RaUxDSnVaV1ZrVkhKaGJuTm1iM0p0SWl3aWQzSnBkR1ZsYm1OdlpHbHVaeUlzSW5ONWJtTWlMQ0owY21GdWMyWnZjbTBpTENKZmRISmhibk5tYjNKdElpd2labXgxYzJnaUxDSmZabXgxYzJnaUxDSnZiaUlzSW5CeVpXWnBibWx6YUNJc0lsOTBhR2x6SWl3aVpHVnpkSEp2ZVdWa0lpd2laRzl1WlNJc0luTjBjbVZoYlNJc0lsOTNjbWwwWVdKc1pWTjBZWFJsSWl3aWNISnZkRzkwZVhCbElpd2lZMmgxYm1zaUxDSmxibU52WkdsdVp5SXNJbDkzY21sMFpTSXNJbTRpTENKZlpHVnpkSEp2ZVNJc0ltVnljaUlzSW1WeWNqSWlYU3dpYldGd2NHbHVaM01pT2lKQlFUWkVRU3hoUVVWQlFTeFBRVUZQUXl4UlFVRlZReXhWUVVWcVFpeEpRVUZKUXl4bFFVRnBRa01zVVVGQlVTeGhRVUZoUXl4TlFVTjBRME1zTWtKQlFUWkNTQ3hsUVVGbFJ5d3lRa0ZETlVORExITkNRVUYzUWtvc1pVRkJaVWtzYzBKQlEzWkRReXh0UTBGQmNVTk1MR1ZCUVdWTExHMURRVU53UkVNc05FSkJRVGhDVGl4bFFVRmxUU3cwUWtGRk4wTkRMRTlCUVZOT0xGRkJRVkVzYjBKQlNYSkNMRk5CUVZOUExHVkJRV1ZETEVWQlFVbERMRWRCUXpGQ0xFbEJRVWxETEVWQlFVdERMRXRCUVV0RExHZENRVU5rUml4RlFVRkhSeXhqUVVGbExFVkJRMnhDTEVsQlFVbERMRVZCUVV0S0xFVkJRVWRMTEZGQlJWb3NSMEZCVnl4UFFVRlFSQ3hGUVVOR0xFOUJRVTlJTEV0QlFVdExMRXRCUVVzc1VVRkJVeXhKUVVGSllpeDFRa0ZIYUVOUExFVkJRVWRQTEZkQlFXRXNTMEZEYUVKUUxFVkJRVWRMTEZGQlFWVXNTMEZEUkN4TlFVRlNUaXhIUVVOR1JTeExRVUZMVHl4TFFVRkxWQ3hIUVVOYVN5eEZRVUZIVGl4SFFVTklMRWxCUVVsWExFVkJRVXRTTEV0QlFVdFRMR1ZCUTJSRUxFVkJRVWRGTEZOQlFWVXNSMEZGVkVZc1JVRkJSMGNzWTBGQlowSklMRVZCUVVkSkxFOUJRVk5LTEVWQlFVZExMR2RDUVVOd1EySXNTMEZCUzJNc1RVRkJUVTRzUlVGQlIwc3NaVUZKYkVJc1UwRkJVekZDTEZWQlFWVTBRaXhIUVVOcVFpeExRVUZOWml4blFrRkJaMEppTEZkQlFWa3NUMEZCVHl4SlFVRkpRU3hWUVVGVk5FSXNSMEZEZGtSd1FpeFBRVUZQY1VJc1MwRkJTMmhDTEV0QlFVMWxMRWRCUTJ4Q1ppeExRVUZMUXl4blFrRkJhMElzUTBGRGNrSk1MR1ZCUVdkQ1FTeGxRVUZsY1VJc1MwRkJTMnBDTEUxQlEzQkRhMElzWlVGQlpTeEZRVU5tYUVJc1kwRkJZeXhGUVVOa1JTeFJRVUZUTEV0QlExUkZMRmRCUVZrc1MwRkRXbUVzWTBGQlpTeE5RVWRxUW01Q0xFdEJRVXRUTEdWQlFXVkZMR05CUVdVc1JVRkpia05ZTEV0QlFVdFRMR1ZCUVdWWExFMUJRVThzUlVGRmRrSk1MRWxCUXl0Q0xHMUNRVUYwUWtFc1JVRkJVVTBzV1VGQk1FSnlRaXhMUVVGTGMwSXNWMEZCWVZBc1JVRkJVVTBzVjBGRE1VTXNiVUpCUVd4Q1RpeEZRVUZSVVN4UlFVRnpRblpDTEV0QlFVdDNRaXhQUVVGVFZDeEZRVUZSVVN4UlFVbHFSWFpDTEV0QlFVdDVRaXhIUVVGSExGbEJRV0ZETEZkQlIzWkNMRk5CUVZOQkxGbEJRMUFzU1VGQlNVTXNSVUZCVVROQ0xFdEJSV1VzYlVKQlFXaENRU3hMUVVGTGQwSXNVVUZCTUVKNFFpeExRVUZMVXl4bFFVRmxiVUlzVlVGTE5VUkRMRXRCUVVzM1FpeExRVUZOTEV0QlFVMHNUVUZLYWtKQkxFdEJRVXQzUWl4UFFVRlBMRk5CUVZVelFpeEZRVUZKUXl4SFFVTjRRaXRDTEV0QlFVdEdMRVZCUVU4NVFpeEZRVUZKUXl4TFFUWkVkRUlzVTBGQlV5dENMRXRCUVV0RExFVkJRVkZxUXl4RlFVRkpReXhIUVVONFFpeEhRVUZKUkN4RlFVRkpMRTlCUVU5cFF5eEZRVUZQZWtJc1MwRkJTeXhSUVVGVFVpeEhRVTF3UXl4SFFVeFpMRTFCUVZKRExFZEJRMFpuUXl4RlFVRlBka0lzUzBGQlMxUXNSMEZKVm1kRExFVkJRVTlETEdWQlFXVnVRaXhQUVVGUkxFMUJRVTBzU1VGQlNXeENMRFJDUVVNMVF5eEhRVUZKYjBNc1JVRkJUemRDTEdkQ1FVRm5Ra01zWVVGQll5eE5RVUZOTEVsQlFVbFVMRzFEUVVOdVJDeFBRVUZQY1VNc1JVRkJUM1pDTEV0QlFVc3NUVUU1U0hKQ2JFSXNVVUZCVVN4WFFVRlNRU3hEUVVGdlFrWXNWVUZCVjFFc1VVRXJSQzlDVWl4VlFVRlZOa01zVlVGQlZYcENMRXRCUVU4c1UwRkJWVEJDTEVWQlFVOURMRWRCUlRGRExFOUJSRUZzUXl4TFFVRkxReXhuUWtGQlowSnBRaXhsUVVGblFpeEZRVU01UW5aQ0xFOUJRVTl4UXl4VlFVRlZla0lzUzBGQlMxTXNTMEZCUzJoQ0xFdEJRVTFwUXl4RlFVRlBReXhKUVdGcVJDOURMRlZCUVZVMlF5eFZRVUZWVml4WFFVRmhMRk5CUVZWWExFVkJRVTlETEVWQlFWVXZRaXhIUVVNeFJFRXNSVUZCUnl4SlFVRkpXaXd5UWtGQk1rSXNhMEpCUjNCRFNpeFZRVUZWTmtNc1ZVRkJWVWNzVDBGQlV5eFRRVUZWUml4RlFVRlBReXhGUVVGVkwwSXNSMEZEZEVRc1NVRkJTVW9zUlVGQlMwTXNTMEZCUzBNc1owSkJTMlFzUjBGS1FVWXNSVUZCUjBzc1VVRkJWVVFzUlVGRFlrb3NSVUZCUjA4c1YwRkJZVEpDTEVWQlEyaENiRU1zUlVGQlIyOUNMR05CUVdkQ1pTeEhRVVZrYmtNc1JVRkJSMGNzWVVGQll5eERRVU53UWl4SlFVRkpUU3hGUVVGTFVpeExRVUZMVXl4blFrRkRWbFlzUlVGQlIyMUNMR1ZCUVdsQ1ZpeEZRVUZIUnl4alFVRm5Ra2dzUlVGQlIwa3NUMEZCVTBvc1JVRkJSMHNzWjBKQlFXVmlMRXRCUVV0akxFMUJRVTFPTEVWQlFVZExMR2xDUVU4elJqRkNMRlZCUVZVMlF5eFZRVUZWYkVJc1RVRkJVU3hUUVVGVmMwSXNSMEZEY0VNc1NVRkJTWEpETEVWQlFVdERMRXRCUVV0RExHZENRVVZSTEU5QlFXeENSaXhGUVVGSFR5eFpRVUYzUWxBc1JVRkJSMGNzWVVGUGFFTklMRVZCUVVkdFFpeGxRVUZuUWl4SFFVNXVRbTVDTEVWQlFVZEhMR05CUVdVc1JVRkZiRUpHTEV0QlFVdHpRaXhYUVVGWGRrSXNSVUZCUjA4c1YwRkJXVkFzUlVGQlIyOUNMR05CUVdWd1FpeEZRVUZIU0N4clFrRlJlRVJVTEZWQlFWVTJReXhWUVVGVlN5eFRRVUZYTEZOQlFWVkRMRVZCUVV0dVF5eEhRVU0xUTFJc1QwRkJUM0ZETEZWQlFWVkxMRk5CUVZOeVFpeExRVUZMYUVJc1MwRkJUWE5ETEVWQlFVc3NVMEZCVlVNc1IwRkRiRVJ3UXl4RlFVRkhiME1pTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmJXRnpkR1Z5TDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwzTjBjbVZoYlMxaWNtOTNjMlZ5YVdaNUwyNXZaR1ZmYlc5a2RXeGxjeTl5WldGa1lXSnNaUzF6ZEhKbFlXMHZiR2xpTDE5emRISmxZVzFmZEhKaGJuTm1iM0p0TG1wekluMD0iLCJcInVzZSBzdHJpY3RcIjtmdW5jdGlvbiBXcml0ZVJlcShlLHQscil7dGhpcy5jaHVuaz1lLHRoaXMuZW5jb2Rpbmc9dCx0aGlzLmNhbGxiYWNrPXIsdGhpcy5uZXh0PW51bGx9ZnVuY3Rpb24gQ29ya2VkUmVxdWVzdChlKXt2YXIgdD10aGlzO3RoaXMubmV4dD1udWxsLHRoaXMuZW50cnk9bnVsbCx0aGlzLmZpbmlzaD1mdW5jdGlvbigpe29uQ29ya2VkRmluaXNoKHQsZSl9fXZhciBEdXBsZXg7bW9kdWxlLmV4cG9ydHM9V3JpdGFibGUsV3JpdGFibGUuV3JpdGFibGVTdGF0ZT1Xcml0YWJsZVN0YXRlO3ZhciBpbnRlcm5hbFV0aWw9e2RlcHJlY2F0ZTpyZXF1aXJlKFwidXRpbC1kZXByZWNhdGVcIil9LFN0cmVhbT1yZXF1aXJlKFwiLi9pbnRlcm5hbC9zdHJlYW1zL3N0cmVhbVwiKSxCdWZmZXI9cmVxdWlyZShcImJ1ZmZlclwiKS5CdWZmZXIsT3VyVWludDhBcnJheT1nbG9iYWwuVWludDhBcnJheXx8ZnVuY3Rpb24oKXt9O2Z1bmN0aW9uIF91aW50OEFycmF5VG9CdWZmZXIoZSl7cmV0dXJuIEJ1ZmZlci5mcm9tKGUpfWZ1bmN0aW9uIF9pc1VpbnQ4QXJyYXkoZSl7cmV0dXJuIEJ1ZmZlci5pc0J1ZmZlcihlKXx8ZSBpbnN0YW5jZW9mIE91clVpbnQ4QXJyYXl9dmFyIHJlYWxIYXNJbnN0YW5jZSxkZXN0cm95SW1wbD1yZXF1aXJlKFwiLi9pbnRlcm5hbC9zdHJlYW1zL2Rlc3Ryb3lcIiksX3JlcXVpcmU9cmVxdWlyZShcIi4vaW50ZXJuYWwvc3RyZWFtcy9zdGF0ZVwiKSxnZXRIaWdoV2F0ZXJNYXJrPV9yZXF1aXJlLmdldEhpZ2hXYXRlck1hcmssX3JlcXVpcmUkY29kZXM9cmVxdWlyZShcIi4uL2Vycm9yc1wiKS5jb2RlcyxFUlJfSU5WQUxJRF9BUkdfVFlQRT1fcmVxdWlyZSRjb2Rlcy5FUlJfSU5WQUxJRF9BUkdfVFlQRSxFUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRD1fcmVxdWlyZSRjb2Rlcy5FUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRCxFUlJfTVVMVElQTEVfQ0FMTEJBQ0s9X3JlcXVpcmUkY29kZXMuRVJSX01VTFRJUExFX0NBTExCQUNLLEVSUl9TVFJFQU1fQ0FOTk9UX1BJUEU9X3JlcXVpcmUkY29kZXMuRVJSX1NUUkVBTV9DQU5OT1RfUElQRSxFUlJfU1RSRUFNX0RFU1RST1lFRD1fcmVxdWlyZSRjb2Rlcy5FUlJfU1RSRUFNX0RFU1RST1lFRCxFUlJfU1RSRUFNX05VTExfVkFMVUVTPV9yZXF1aXJlJGNvZGVzLkVSUl9TVFJFQU1fTlVMTF9WQUxVRVMsRVJSX1NUUkVBTV9XUklURV9BRlRFUl9FTkQ9X3JlcXVpcmUkY29kZXMuRVJSX1NUUkVBTV9XUklURV9BRlRFUl9FTkQsRVJSX1VOS05PV05fRU5DT0RJTkc9X3JlcXVpcmUkY29kZXMuRVJSX1VOS05PV05fRU5DT0RJTkcsZXJyb3JPckRlc3Ryb3k9ZGVzdHJveUltcGwuZXJyb3JPckRlc3Ryb3k7ZnVuY3Rpb24gbm9wKCl7fWZ1bmN0aW9uIFdyaXRhYmxlU3RhdGUoZSx0LHIpe0R1cGxleD1EdXBsZXh8fHJlcXVpcmUoXCIuL19zdHJlYW1fZHVwbGV4XCIpLGU9ZXx8e30sXCJib29sZWFuXCIhPXR5cGVvZiByJiYocj10IGluc3RhbmNlb2YgRHVwbGV4KSx0aGlzLm9iamVjdE1vZGU9ISFlLm9iamVjdE1vZGUsciYmKHRoaXMub2JqZWN0TW9kZT10aGlzLm9iamVjdE1vZGV8fCEhZS53cml0YWJsZU9iamVjdE1vZGUpLHRoaXMuaGlnaFdhdGVyTWFyaz1nZXRIaWdoV2F0ZXJNYXJrKHRoaXMsZSxcIndyaXRhYmxlSGlnaFdhdGVyTWFya1wiLHIpLHRoaXMuZmluYWxDYWxsZWQ9ITEsdGhpcy5uZWVkRHJhaW49ITEsdGhpcy5lbmRpbmc9ITEsdGhpcy5lbmRlZD0hMSx0aGlzLmZpbmlzaGVkPSExLHRoaXMuZGVzdHJveWVkPSExO3ZhciBpPSExPT09ZS5kZWNvZGVTdHJpbmdzO3RoaXMuZGVjb2RlU3RyaW5ncz0haSx0aGlzLmRlZmF1bHRFbmNvZGluZz1lLmRlZmF1bHRFbmNvZGluZ3x8XCJ1dGY4XCIsdGhpcy5sZW5ndGg9MCx0aGlzLndyaXRpbmc9ITEsdGhpcy5jb3JrZWQ9MCx0aGlzLnN5bmM9ITAsdGhpcy5idWZmZXJQcm9jZXNzaW5nPSExLHRoaXMub253cml0ZT1mdW5jdGlvbihlKXtvbndyaXRlKHQsZSl9LHRoaXMud3JpdGVjYj1udWxsLHRoaXMud3JpdGVsZW49MCx0aGlzLmJ1ZmZlcmVkUmVxdWVzdD1udWxsLHRoaXMubGFzdEJ1ZmZlcmVkUmVxdWVzdD1udWxsLHRoaXMucGVuZGluZ2NiPTAsdGhpcy5wcmVmaW5pc2hlZD0hMSx0aGlzLmVycm9yRW1pdHRlZD0hMSx0aGlzLmVtaXRDbG9zZT0hMSE9PWUuZW1pdENsb3NlLHRoaXMuYXV0b0Rlc3Ryb3k9ISFlLmF1dG9EZXN0cm95LHRoaXMuYnVmZmVyZWRSZXF1ZXN0Q291bnQ9MCx0aGlzLmNvcmtlZFJlcXVlc3RzRnJlZT1uZXcgQ29ya2VkUmVxdWVzdCh0aGlzKX1mdW5jdGlvbiBXcml0YWJsZShlKXt2YXIgdD10aGlzIGluc3RhbmNlb2YoRHVwbGV4PUR1cGxleHx8cmVxdWlyZShcIi4vX3N0cmVhbV9kdXBsZXhcIikpO2lmKCF0JiYhcmVhbEhhc0luc3RhbmNlLmNhbGwoV3JpdGFibGUsdGhpcykpcmV0dXJuIG5ldyBXcml0YWJsZShlKTt0aGlzLl93cml0YWJsZVN0YXRlPW5ldyBXcml0YWJsZVN0YXRlKGUsdGhpcyx0KSx0aGlzLndyaXRhYmxlPSEwLGUmJihcImZ1bmN0aW9uXCI9PXR5cGVvZiBlLndyaXRlJiYodGhpcy5fd3JpdGU9ZS53cml0ZSksXCJmdW5jdGlvblwiPT10eXBlb2YgZS53cml0ZXYmJih0aGlzLl93cml0ZXY9ZS53cml0ZXYpLFwiZnVuY3Rpb25cIj09dHlwZW9mIGUuZGVzdHJveSYmKHRoaXMuX2Rlc3Ryb3k9ZS5kZXN0cm95KSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBlLmZpbmFsJiYodGhpcy5fZmluYWw9ZS5maW5hbCkpLFN0cmVhbS5jYWxsKHRoaXMpfWZ1bmN0aW9uIHdyaXRlQWZ0ZXJFbmQoZSx0KXt2YXIgcj1uZXcgRVJSX1NUUkVBTV9XUklURV9BRlRFUl9FTkQ7ZXJyb3JPckRlc3Ryb3koZSxyKSxwcm9jZXNzLm5leHRUaWNrKHQscil9ZnVuY3Rpb24gdmFsaWRDaHVuayhlLHQscixpKXt2YXIgbjtyZXR1cm4gbnVsbD09PXI/bj1uZXcgRVJSX1NUUkVBTV9OVUxMX1ZBTFVFUzpcInN0cmluZ1wiPT10eXBlb2Ygcnx8dC5vYmplY3RNb2RlfHwobj1uZXcgRVJSX0lOVkFMSURfQVJHX1RZUEUoXCJjaHVua1wiLFtcInN0cmluZ1wiLFwiQnVmZmVyXCJdLHIpKSwhbnx8KGVycm9yT3JEZXN0cm95KGUsbikscHJvY2Vzcy5uZXh0VGljayhpLG4pLCExKX1mdW5jdGlvbiBkZWNvZGVDaHVuayhlLHQscil7cmV0dXJuIGUub2JqZWN0TW9kZXx8ITE9PT1lLmRlY29kZVN0cmluZ3N8fFwic3RyaW5nXCIhPXR5cGVvZiB0fHwodD1CdWZmZXIuZnJvbSh0LHIpKSx0fWZ1bmN0aW9uIHdyaXRlT3JCdWZmZXIoZSx0LHIsaSxuLG8pe2lmKCFyKXt2YXIgcz1kZWNvZGVDaHVuayh0LGksbik7aSE9PXMmJihyPSEwLG49XCJidWZmZXJcIixpPXMpfXZhciBhPXQub2JqZWN0TW9kZT8xOmkubGVuZ3RoO3QubGVuZ3RoKz1hO3ZhciB1PXQubGVuZ3RoPHQuaGlnaFdhdGVyTWFyaztpZih1fHwodC5uZWVkRHJhaW49ITApLHQud3JpdGluZ3x8dC5jb3JrZWQpe3ZhciBmPXQubGFzdEJ1ZmZlcmVkUmVxdWVzdDt0Lmxhc3RCdWZmZXJlZFJlcXVlc3Q9e2NodW5rOmksZW5jb2Rpbmc6bixpc0J1ZjpyLGNhbGxiYWNrOm8sbmV4dDpudWxsfSxmP2YubmV4dD10Lmxhc3RCdWZmZXJlZFJlcXVlc3Q6dC5idWZmZXJlZFJlcXVlc3Q9dC5sYXN0QnVmZmVyZWRSZXF1ZXN0LHQuYnVmZmVyZWRSZXF1ZXN0Q291bnQrPTF9ZWxzZSBkb1dyaXRlKGUsdCwhMSxhLGksbixvKTtyZXR1cm4gdX1mdW5jdGlvbiBkb1dyaXRlKGUsdCxyLGksbixvLHMpe3Qud3JpdGVsZW49aSx0LndyaXRlY2I9cyx0LndyaXRpbmc9ITAsdC5zeW5jPSEwLHQuZGVzdHJveWVkP3Qub253cml0ZShuZXcgRVJSX1NUUkVBTV9ERVNUUk9ZRUQoXCJ3cml0ZVwiKSk6cj9lLl93cml0ZXYobix0Lm9ud3JpdGUpOmUuX3dyaXRlKG4sbyx0Lm9ud3JpdGUpLHQuc3luYz0hMX1mdW5jdGlvbiBvbndyaXRlRXJyb3IoZSx0LHIsaSxuKXstLXQucGVuZGluZ2NiLHI/KHByb2Nlc3MubmV4dFRpY2sobixpKSxwcm9jZXNzLm5leHRUaWNrKGZpbmlzaE1heWJlLGUsdCksZS5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQ9ITAsZXJyb3JPckRlc3Ryb3koZSxpKSk6KG4oaSksZS5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQ9ITAsZXJyb3JPckRlc3Ryb3koZSxpKSxmaW5pc2hNYXliZShlLHQpKX1mdW5jdGlvbiBvbndyaXRlU3RhdGVVcGRhdGUoZSl7ZS53cml0aW5nPSExLGUud3JpdGVjYj1udWxsLGUubGVuZ3RoLT1lLndyaXRlbGVuLGUud3JpdGVsZW49MH1mdW5jdGlvbiBvbndyaXRlKGUsdCl7dmFyIHI9ZS5fd3JpdGFibGVTdGF0ZSxpPXIuc3luYyxuPXIud3JpdGVjYjtpZihcImZ1bmN0aW9uXCIhPXR5cGVvZiBuKXRocm93IG5ldyBFUlJfTVVMVElQTEVfQ0FMTEJBQ0s7aWYob253cml0ZVN0YXRlVXBkYXRlKHIpLHQpb253cml0ZUVycm9yKGUscixpLHQsbik7ZWxzZXt2YXIgbz1uZWVkRmluaXNoKHIpfHxlLmRlc3Ryb3llZDtvfHxyLmNvcmtlZHx8ci5idWZmZXJQcm9jZXNzaW5nfHwhci5idWZmZXJlZFJlcXVlc3R8fGNsZWFyQnVmZmVyKGUsciksaT9wcm9jZXNzLm5leHRUaWNrKGFmdGVyV3JpdGUsZSxyLG8sbik6YWZ0ZXJXcml0ZShlLHIsbyxuKX19ZnVuY3Rpb24gYWZ0ZXJXcml0ZShlLHQscixpKXtyfHxvbndyaXRlRHJhaW4oZSx0KSx0LnBlbmRpbmdjYi0tLGkoKSxmaW5pc2hNYXliZShlLHQpfWZ1bmN0aW9uIG9ud3JpdGVEcmFpbihlLHQpezA9PT10Lmxlbmd0aCYmdC5uZWVkRHJhaW4mJih0Lm5lZWREcmFpbj0hMSxlLmVtaXQoXCJkcmFpblwiKSl9ZnVuY3Rpb24gY2xlYXJCdWZmZXIoZSx0KXt0LmJ1ZmZlclByb2Nlc3Npbmc9ITA7dmFyIHI9dC5idWZmZXJlZFJlcXVlc3Q7aWYoZS5fd3JpdGV2JiZyJiZyLm5leHQpe3ZhciBpPXQuYnVmZmVyZWRSZXF1ZXN0Q291bnQsbj1uZXcgQXJyYXkoaSksbz10LmNvcmtlZFJlcXVlc3RzRnJlZTtvLmVudHJ5PXI7Zm9yKHZhciBzPTAsYT0hMDtyOyluW3NdPXIsci5pc0J1Znx8KGE9ITEpLHI9ci5uZXh0LHMrPTE7bi5hbGxCdWZmZXJzPWEsZG9Xcml0ZShlLHQsITAsdC5sZW5ndGgsbixcIlwiLG8uZmluaXNoKSx0LnBlbmRpbmdjYisrLHQubGFzdEJ1ZmZlcmVkUmVxdWVzdD1udWxsLG8ubmV4dD8odC5jb3JrZWRSZXF1ZXN0c0ZyZWU9by5uZXh0LG8ubmV4dD1udWxsKTp0LmNvcmtlZFJlcXVlc3RzRnJlZT1uZXcgQ29ya2VkUmVxdWVzdCh0KSx0LmJ1ZmZlcmVkUmVxdWVzdENvdW50PTB9ZWxzZXtmb3IoO3I7KXt2YXIgdT1yLmNodW5rLGY9ci5lbmNvZGluZyxsPXIuY2FsbGJhY2s7aWYoZG9Xcml0ZShlLHQsITEsdC5vYmplY3RNb2RlPzE6dS5sZW5ndGgsdSxmLGwpLHI9ci5uZXh0LHQuYnVmZmVyZWRSZXF1ZXN0Q291bnQtLSx0LndyaXRpbmcpYnJlYWt9bnVsbD09PXImJih0Lmxhc3RCdWZmZXJlZFJlcXVlc3Q9bnVsbCl9dC5idWZmZXJlZFJlcXVlc3Q9cix0LmJ1ZmZlclByb2Nlc3Npbmc9ITF9ZnVuY3Rpb24gbmVlZEZpbmlzaChlKXtyZXR1cm4gZS5lbmRpbmcmJjA9PT1lLmxlbmd0aCYmbnVsbD09PWUuYnVmZmVyZWRSZXF1ZXN0JiYhZS5maW5pc2hlZCYmIWUud3JpdGluZ31mdW5jdGlvbiBjYWxsRmluYWwoZSx0KXtlLl9maW5hbChmdW5jdGlvbihyKXt0LnBlbmRpbmdjYi0tLHImJmVycm9yT3JEZXN0cm95KGUsciksdC5wcmVmaW5pc2hlZD0hMCxlLmVtaXQoXCJwcmVmaW5pc2hcIiksZmluaXNoTWF5YmUoZSx0KX0pfWZ1bmN0aW9uIHByZWZpbmlzaChlLHQpe3QucHJlZmluaXNoZWR8fHQuZmluYWxDYWxsZWR8fChcImZ1bmN0aW9uXCIhPXR5cGVvZiBlLl9maW5hbHx8dC5kZXN0cm95ZWQ/KHQucHJlZmluaXNoZWQ9ITAsZS5lbWl0KFwicHJlZmluaXNoXCIpKToodC5wZW5kaW5nY2IrKyx0LmZpbmFsQ2FsbGVkPSEwLHByb2Nlc3MubmV4dFRpY2soY2FsbEZpbmFsLGUsdCkpKX1mdW5jdGlvbiBmaW5pc2hNYXliZShlLHQpe3ZhciByPW5lZWRGaW5pc2godCk7aWYociYmKHByZWZpbmlzaChlLHQpLDA9PT10LnBlbmRpbmdjYiYmKHQuZmluaXNoZWQ9ITAsZS5lbWl0KFwiZmluaXNoXCIpLHQuYXV0b0Rlc3Ryb3kpKSl7dmFyIGk9ZS5fcmVhZGFibGVTdGF0ZTsoIWl8fGkuYXV0b0Rlc3Ryb3kmJmkuZW5kRW1pdHRlZCkmJmUuZGVzdHJveSgpfXJldHVybiByfWZ1bmN0aW9uIGVuZFdyaXRhYmxlKGUsdCxyKXt0LmVuZGluZz0hMCxmaW5pc2hNYXliZShlLHQpLHImJih0LmZpbmlzaGVkP3Byb2Nlc3MubmV4dFRpY2socik6ZS5vbmNlKFwiZmluaXNoXCIscikpLHQuZW5kZWQ9ITAsZS53cml0YWJsZT0hMX1mdW5jdGlvbiBvbkNvcmtlZEZpbmlzaChlLHQscil7dmFyIGk9ZS5lbnRyeTtmb3IoZS5lbnRyeT1udWxsO2k7KXt2YXIgbj1pLmNhbGxiYWNrO3QucGVuZGluZ2NiLS0sbihyKSxpPWkubmV4dH10LmNvcmtlZFJlcXVlc3RzRnJlZS5uZXh0PWV9cmVxdWlyZShcImluaGVyaXRzXCIpKFdyaXRhYmxlLFN0cmVhbSksV3JpdGFibGVTdGF0ZS5wcm90b3R5cGUuZ2V0QnVmZmVyPWZ1bmN0aW9uKCl7Zm9yKHZhciBlPXRoaXMuYnVmZmVyZWRSZXF1ZXN0LHQ9W107ZTspdC5wdXNoKGUpLGU9ZS5uZXh0O3JldHVybiB0fSxmdW5jdGlvbigpe3RyeXtPYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGVTdGF0ZS5wcm90b3R5cGUsXCJidWZmZXJcIix7Z2V0OmludGVybmFsVXRpbC5kZXByZWNhdGUoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRCdWZmZXIoKX0sXCJfd3JpdGFibGVTdGF0ZS5idWZmZXIgaXMgZGVwcmVjYXRlZC4gVXNlIF93cml0YWJsZVN0YXRlLmdldEJ1ZmZlciBpbnN0ZWFkLlwiLFwiREVQMDAwM1wiKX0pfWNhdGNoKGUpe319KCksXCJmdW5jdGlvblwiPT10eXBlb2YgU3ltYm9sJiZTeW1ib2wuaGFzSW5zdGFuY2UmJlwiZnVuY3Rpb25cIj09dHlwZW9mIEZ1bmN0aW9uLnByb3RvdHlwZVtTeW1ib2wuaGFzSW5zdGFuY2VdPyhyZWFsSGFzSW5zdGFuY2U9RnVuY3Rpb24ucHJvdG90eXBlW1N5bWJvbC5oYXNJbnN0YW5jZV0sT2JqZWN0LmRlZmluZVByb3BlcnR5KFdyaXRhYmxlLFN5bWJvbC5oYXNJbnN0YW5jZSx7dmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuISFyZWFsSGFzSW5zdGFuY2UuY2FsbCh0aGlzLGUpfHx0aGlzPT09V3JpdGFibGUmJihlJiZlLl93cml0YWJsZVN0YXRlIGluc3RhbmNlb2YgV3JpdGFibGVTdGF0ZSl9fSkpOnJlYWxIYXNJbnN0YW5jZT1mdW5jdGlvbihlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIHRoaXN9LFdyaXRhYmxlLnByb3RvdHlwZS5waXBlPWZ1bmN0aW9uKCl7ZXJyb3JPckRlc3Ryb3kodGhpcyxuZXcgRVJSX1NUUkVBTV9DQU5OT1RfUElQRSl9LFdyaXRhYmxlLnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbihlLHQscil7dmFyIGk9dGhpcy5fd3JpdGFibGVTdGF0ZSxuPSExLG89IWkub2JqZWN0TW9kZSYmX2lzVWludDhBcnJheShlKTtyZXR1cm4gbyYmIUJ1ZmZlci5pc0J1ZmZlcihlKSYmKGU9X3VpbnQ4QXJyYXlUb0J1ZmZlcihlKSksXCJmdW5jdGlvblwiPT10eXBlb2YgdCYmKHI9dCx0PW51bGwpLG8/dD1cImJ1ZmZlclwiOnR8fCh0PWkuZGVmYXVsdEVuY29kaW5nKSxcImZ1bmN0aW9uXCIhPXR5cGVvZiByJiYocj1ub3ApLGkuZW5kaW5nP3dyaXRlQWZ0ZXJFbmQodGhpcyxyKToob3x8dmFsaWRDaHVuayh0aGlzLGksZSxyKSkmJihpLnBlbmRpbmdjYisrLG49d3JpdGVPckJ1ZmZlcih0aGlzLGksbyxlLHQscikpLG59LFdyaXRhYmxlLnByb3RvdHlwZS5jb3JrPWZ1bmN0aW9uKCl7dGhpcy5fd3JpdGFibGVTdGF0ZS5jb3JrZWQrK30sV3JpdGFibGUucHJvdG90eXBlLnVuY29yaz1mdW5jdGlvbigpe3ZhciBlPXRoaXMuX3dyaXRhYmxlU3RhdGU7ZS5jb3JrZWQmJihlLmNvcmtlZC0tLGUud3JpdGluZ3x8ZS5jb3JrZWR8fGUuYnVmZmVyUHJvY2Vzc2luZ3x8IWUuYnVmZmVyZWRSZXF1ZXN0fHxjbGVhckJ1ZmZlcih0aGlzLGUpKX0sV3JpdGFibGUucHJvdG90eXBlLnNldERlZmF1bHRFbmNvZGluZz1mdW5jdGlvbihlKXtpZihcInN0cmluZ1wiPT10eXBlb2YgZSYmKGU9ZS50b0xvd2VyQ2FzZSgpKSwhKFtcImhleFwiLFwidXRmOFwiLFwidXRmLThcIixcImFzY2lpXCIsXCJiaW5hcnlcIixcImJhc2U2NFwiLFwidWNzMlwiLFwidWNzLTJcIixcInV0ZjE2bGVcIixcInV0Zi0xNmxlXCIsXCJyYXdcIl0uaW5kZXhPZigoZStcIlwiKS50b0xvd2VyQ2FzZSgpKT4tMSkpdGhyb3cgbmV3IEVSUl9VTktOT1dOX0VOQ09ESU5HKGUpO3JldHVybiB0aGlzLl93cml0YWJsZVN0YXRlLmRlZmF1bHRFbmNvZGluZz1lLHRoaXN9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShXcml0YWJsZS5wcm90b3R5cGUsXCJ3cml0YWJsZUJ1ZmZlclwiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl93cml0YWJsZVN0YXRlJiZ0aGlzLl93cml0YWJsZVN0YXRlLmdldEJ1ZmZlcigpfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShXcml0YWJsZS5wcm90b3R5cGUsXCJ3cml0YWJsZUhpZ2hXYXRlck1hcmtcIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5oaWdoV2F0ZXJNYXJrfX0pLFdyaXRhYmxlLnByb3RvdHlwZS5fd3JpdGU9ZnVuY3Rpb24oZSx0LHIpe3IobmV3IEVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVEKFwiX3dyaXRlKClcIikpfSxXcml0YWJsZS5wcm90b3R5cGUuX3dyaXRldj1udWxsLFdyaXRhYmxlLnByb3RvdHlwZS5lbmQ9ZnVuY3Rpb24oZSx0LHIpe3ZhciBpPXRoaXMuX3dyaXRhYmxlU3RhdGU7cmV0dXJuXCJmdW5jdGlvblwiPT10eXBlb2YgZT8ocj1lLGU9bnVsbCx0PW51bGwpOlwiZnVuY3Rpb25cIj09dHlwZW9mIHQmJihyPXQsdD1udWxsKSxudWxsIT1lJiZ0aGlzLndyaXRlKGUsdCksaS5jb3JrZWQmJihpLmNvcmtlZD0xLHRoaXMudW5jb3JrKCkpLGkuZW5kaW5nfHxlbmRXcml0YWJsZSh0aGlzLGksciksdGhpc30sT2JqZWN0LmRlZmluZVByb3BlcnR5KFdyaXRhYmxlLnByb3RvdHlwZSxcIndyaXRhYmxlTGVuZ3RoXCIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUubGVuZ3RofX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShXcml0YWJsZS5wcm90b3R5cGUsXCJkZXN0cm95ZWRcIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdm9pZCAwIT09dGhpcy5fd3JpdGFibGVTdGF0ZSYmdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWR9LHNldDpmdW5jdGlvbihlKXt0aGlzLl93cml0YWJsZVN0YXRlJiYodGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ9ZSl9fSksV3JpdGFibGUucHJvdG90eXBlLmRlc3Ryb3k9ZGVzdHJveUltcGwuZGVzdHJveSxXcml0YWJsZS5wcm90b3R5cGUuX3VuZGVzdHJveT1kZXN0cm95SW1wbC51bmRlc3Ryb3ksV3JpdGFibGUucHJvdG90eXBlLl9kZXN0cm95PWZ1bmN0aW9uKGUsdCl7dChlKX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbDl6ZEhKbFlXMWZkM0pwZEdGaWJHVXVhbk1pWFN3aWJtRnRaWE1pT2xzaVYzSnBkR1ZTWlhFaUxDSmphSFZ1YXlJc0ltVnVZMjlrYVc1bklpd2lZMklpTENKMGFHbHpJaXdpWTJGc2JHSmhZMnNpTENKdVpYaDBJaXdpUTI5eWEyVmtVbVZ4ZFdWemRDSXNJbk4wWVhSbElpd2lYM1JvYVhNaUxDSmxiblJ5ZVNJc0ltWnBibWx6YUNJc0ltOXVRMjl5YTJWa1JtbHVhWE5vSWl3aVJIVndiR1Y0SWl3aWJXOWtkV3hsSWl3aVpYaHdiM0owY3lJc0lsZHlhWFJoWW14bElpd2lWM0pwZEdGaWJHVlRkR0YwWlNJc0ltbHVkR1Z5Ym1Gc1ZYUnBiQ0lzSW1SbGNISmxZMkYwWlNJc0luSmxjWFZwY21VaUxDSlRkSEpsWVcwaUxDSkNkV1ptWlhJaUxDSlBkWEpWYVc1ME9FRnljbUY1SWl3aVoyeHZZbUZzSWl3aVZXbHVkRGhCY25KaGVTSXNJbDkxYVc1ME9FRnljbUY1Vkc5Q2RXWm1aWElpTENKbWNtOXRJaXdpWDJselZXbHVkRGhCY25KaGVTSXNJbTlpYWlJc0ltbHpRblZtWm1WeUlpd2ljbVZoYkVoaGMwbHVjM1JoYm1ObElpd2laR1Z6ZEhKdmVVbHRjR3dpTENKZmNtVnhkV2x5WlNJc0ltZGxkRWhwWjJoWFlYUmxjazFoY21zaUxDSmZjbVZ4ZFdseVpTUmpiMlJsY3lJc0ltTnZaR1Z6SWl3aVJWSlNYMGxPVmtGTVNVUmZRVkpIWDFSWlVFVWlMQ0pGVWxKZlRVVlVTRTlFWDA1UFZGOUpUVkJNUlUxRlRsUkZSQ0lzSWtWU1VsOU5WVXhVU1ZCTVJWOURRVXhNUWtGRFN5SXNJa1ZTVWw5VFZGSkZRVTFmUTBGT1RrOVVYMUJKVUVVaUxDSkZVbEpmVTFSU1JVRk5YMFJGVTFSU1QxbEZSQ0lzSWtWU1VsOVRWRkpGUVUxZlRsVk1URjlXUVV4VlJWTWlMQ0pGVWxKZlUxUlNSVUZOWDFkU1NWUkZYMEZHVkVWU1gwVk9SQ0lzSWtWU1VsOVZUa3RPVDFkT1gwVk9RMDlFU1U1SElpd2laWEp5YjNKUGNrUmxjM1J5YjNraUxDSnViM0FpTENKdmNIUnBiMjV6SWl3aWMzUnlaV0Z0SWl3aWFYTkVkWEJzWlhnaUxDSnZZbXBsWTNSTmIyUmxJaXdpZDNKcGRHRmliR1ZQWW1wbFkzUk5iMlJsSWl3aWFHbG5hRmRoZEdWeVRXRnlheUlzSW1acGJtRnNRMkZzYkdWa0lpd2libVZsWkVSeVlXbHVJaXdpWlc1a2FXNW5JaXdpWlc1a1pXUWlMQ0ptYVc1cGMyaGxaQ0lzSW1SbGMzUnliM2xsWkNJc0ltNXZSR1ZqYjJSbElpd2laR1ZqYjJSbFUzUnlhVzVuY3lJc0ltUmxabUYxYkhSRmJtTnZaR2x1WnlJc0lteGxibWQwYUNJc0luZHlhWFJwYm1jaUxDSmpiM0pyWldRaUxDSnplVzVqSWl3aVluVm1abVZ5VUhKdlkyVnpjMmx1WnlJc0ltOXVkM0pwZEdVaUxDSmxjaUlzSW5keWFYUmxZMklpTENKM2NtbDBaV3hsYmlJc0ltSjFabVpsY21Wa1VtVnhkV1Z6ZENJc0lteGhjM1JDZFdabVpYSmxaRkpsY1hWbGMzUWlMQ0p3Wlc1a2FXNW5ZMklpTENKd2NtVm1hVzVwYzJobFpDSXNJbVZ5Y205eVJXMXBkSFJsWkNJc0ltVnRhWFJEYkc5elpTSXNJbUYxZEc5RVpYTjBjbTk1SWl3aVluVm1abVZ5WldSU1pYRjFaWE4wUTI5MWJuUWlMQ0pqYjNKclpXUlNaWEYxWlhOMGMwWnlaV1VpTENKallXeHNJaXdpWDNkeWFYUmhZbXhsVTNSaGRHVWlMQ0ozY21sMFlXSnNaU0lzSW5keWFYUmxJaXdpWDNkeWFYUmxJaXdpZDNKcGRHVjJJaXdpWDNkeWFYUmxkaUlzSW1SbGMzUnliM2tpTENKZlpHVnpkSEp2ZVNJc0ltWnBibUZzSWl3aVgyWnBibUZzSWl3aWQzSnBkR1ZCWm5SbGNrVnVaQ0lzSW5CeWIyTmxjM01pTENKdVpYaDBWR2xqYXlJc0luWmhiR2xrUTJoMWJtc2lMQ0prWldOdlpHVkRhSFZ1YXlJc0luZHlhWFJsVDNKQ2RXWm1aWElpTENKcGMwSjFaaUlzSW01bGQwTm9kVzVySWl3aWJHVnVJaXdpY21WMElpd2liR0Z6ZENJc0ltUnZWM0pwZEdVaUxDSnZibmR5YVhSbFJYSnliM0lpTENKbWFXNXBjMmhOWVhsaVpTSXNJbTl1ZDNKcGRHVlRkR0YwWlZWd1pHRjBaU0lzSW01bFpXUkdhVzVwYzJnaUxDSmpiR1ZoY2tKMVptWmxjaUlzSW1GbWRHVnlWM0pwZEdVaUxDSnZibmR5YVhSbFJISmhhVzRpTENKbGJXbDBJaXdpYkNJc0ltSjFabVpsY2lJc0lrRnljbUY1SWl3aWFHOXNaR1Z5SWl3aVkyOTFiblFpTENKaGJHeENkV1ptWlhKeklpd2lZMkZzYkVacGJtRnNJaXdpWlhKeUlpd2ljSEpsWm1sdWFYTm9JaXdpYm1WbFpDSXNJbkpUZEdGMFpTSXNJbDl5WldGa1lXSnNaVk4wWVhSbElpd2laVzVrUlcxcGRIUmxaQ0lzSW1WdVpGZHlhWFJoWW14bElpd2liMjVqWlNJc0ltTnZjbXRTWlhFaUxDSndjbTkwYjNSNWNHVWlMQ0puWlhSQ2RXWm1aWElpTENKamRYSnlaVzUwSWl3aWIzVjBJaXdpY0hWemFDSXNJazlpYW1WamRDSXNJbVJsWm1sdVpWQnliM0JsY25SNUlpd2laMlYwSWl3aVh5SXNJbE41YldKdmJDSXNJbWhoYzBsdWMzUmhibU5sSWl3aVJuVnVZM1JwYjI0aUxDSjJZV3gxWlNJc0ltOWlhbVZqZENJc0luQnBjR1VpTENKamIzSnJJaXdpZFc1amIzSnJJaXdpYzJWMFJHVm1ZWFZzZEVWdVkyOWthVzVuSWl3aWRHOU1iM2RsY2tOaGMyVWlMQ0pwYm1SbGVFOW1JaXdpWlc1MWJXVnlZV0pzWlNJc0ltVnVaQ0lzSW5WdVpHVm1hVzVsWkNJc0luTmxkQ0lzSWw5MWJtUmxjM1J5YjNraUxDSjFibVJsYzNSeWIza2lYU3dpYldGd2NHbHVaM01pT2lKQlFYVkNRU3hoUVV0QkxGTkJRVk5CTEZOQlFWTkRMRVZCUVU5RExFVkJRVlZETEVkQlEycERReXhMUVVGTFNDeE5RVUZSUVN4RlFVTmlSeXhMUVVGTFJpeFRRVUZYUVN4RlFVTm9Ra1VzUzBGQlMwTXNVMEZCVjBZc1JVRkRhRUpETEV0QlFVdEZMRXRCUVU4c1MwRkxaQ3hUUVVGVFF5eGpRVUZqUXl4SFFVTnlRaXhKUVVGSlF5eEZRVUZSVEN4TFFVVmFRU3hMUVVGTFJTeExRVUZQTEV0QlExcEdMRXRCUVV0TkxFMUJRVkVzUzBGRllrNHNTMEZCUzA4c1QwRkJVeXhYUVVOYVF5eGxRVUZsU0N4RlFVRlBSQ3hKUVZFeFFpeEpRVUZKU3l4UFFUTkNTa01zVDBGQlQwTXNVVUZCVlVNc1UwRTRRbXBDUVN4VFFVRlRReXhqUVVGblFrRXNZMEZIZWtJc1NVRkJTVU1zWVVGQlpTeERRVU5xUWtNc1ZVRkJWME1zVVVGQlVTeHRRa0ZOYWtKRExFOUJRVk5FTEZGQlFWRXNOa0pCU1dwQ1JTeFBRVUZUUml4UlFVRlJMRlZCUVZWRkxFOUJSVE5DUXl4alFVRm5Ra01zVDBGQlQwTXNXVUZCWXl4aFFVVjZReXhUUVVGVFF5eHZRa0ZCYjBKNlFpeEhRVU16UWl4UFFVRlBjVUlzVDBGQlQwc3NTMEZCU3pGQ0xFZEJSM0pDTEZOQlFWTXlRaXhqUVVGalF5eEhRVU55UWl4UFFVRlBVQ3hQUVVGUFVTeFRRVUZUUkN4SlFVRlJRU3hoUVVGbFRpeGpRVWRvUkN4SlFXdEpTVkVzWjBKQmJFbEJReXhaUVVGaldpeFJRVUZSTERoQ1FVVjBRbUVzVTBGQlYySXNVVUZCVVN3MFFrRkRia0pqTEdsQ1FVRnRRa1FzVTBGQlUwTXNhVUpCUlRWQ1F5eGxRVUZwUW1Zc1VVRkJVU3hoUVVGaFowSXNUVUZEZEVORExIRkNRVUYxUWtZc1pVRkJaVVVzY1VKQlEzUkRReXd5UWtGQk5rSklMR1ZCUVdWSExESkNRVU0xUTBNc2MwSkJRWGRDU2l4bFFVRmxTU3h6UWtGRGRrTkRMSFZDUVVGNVFrd3NaVUZCWlVzc2RVSkJRM2hEUXl4eFFrRkJkVUpPTEdWQlFXVk5MSEZDUVVOMFEwTXNkVUpCUVhsQ1VDeGxRVUZsVHl4MVFrRkRlRU5ETERKQ1FVRTJRbElzWlVGQlpWRXNNa0pCUXpWRFF5eHhRa0ZCZFVKVUxHVkJRV1ZUTEhGQ1FVVjBRME1zWlVGQmFVSmlMRmxCUVZsaExHVkJTV3BETEZOQlFWTkRMRTlCUlZRc1UwRkJVemRDTEdOQlFXTTRRaXhGUVVGVFF5eEZRVUZSUXl4SFFVTjBRM0JETEU5QlFWTkJMRkZCUVZWUExGRkJRVkVzYjBKQlF6TkNNa0lzUlVGQlZVRXNSMEZCVnl4SFFVMUhMR3RDUVVGaVJTeEpRVUYzUWtFc1JVRkJWMFFzWVVGQmEwSnVReXhSUVVkb1JWUXNTMEZCU3poRExHRkJRV1ZJTEVWQlFWRkhMRmRCUTNoQ1JDeEpRVUZWTjBNc1MwRkJTemhETEZkQlFXRTVReXhMUVVGTE9FTXNZMEZCWjBKSUxFVkJRVkZKTEc5Q1FVazNSQzlETEV0QlFVdG5SQ3hqUVVGblFteENMR2xDUVVGcFFqbENMRXRCUVUweVF5eEZRVUZUTEhkQ1FVRjVRa1VzUjBGRk9VVTNReXhMUVVGTGFVUXNZVUZCWXl4RlFVVnVRbXBFTEV0QlFVdHJSQ3hYUVVGWkxFVkJSV3BDYkVRc1MwRkJTMjFFTEZGQlFWTXNSVUZGWkc1RUxFdEJRVXR2UkN4UFFVRlJMRVZCUldKd1JDeExRVUZMY1VRc1ZVRkJWeXhGUVVWb1FuSkVMRXRCUVV0elJDeFhRVUZaTEVWQlNXcENMRWxCUVVsRExFZEJRWEZETEVsQlFURkNXaXhGUVVGUllTeGpRVU4yUW5oRUxFdEJRVXQzUkN4bFFVRnBRa1FzUlVGSmRFSjJSQ3hMUVVGTGVVUXNaMEpCUVd0Q1pDeEZRVUZSWXl4cFFrRkJiVUlzVDBGSmJFUjZSQ3hMUVVGTE1FUXNUMEZCVXl4RlFVVmtNVVFzUzBGQlN6SkVMRk5CUVZVc1JVRkZaak5FTEV0QlFVczBSQ3hQUVVGVExFVkJTMlExUkN4TFFVRkxOa1FzVFVGQlR5eEZRVWxhTjBRc1MwRkJTemhFTEd0Q1FVRnRRaXhGUVVWNFFqbEVMRXRCUVVzclJDeFJRVUZWTEZOQlFWVkRMRWRCUTNaQ1JDeFJRVUZSYmtJc1JVRkJVVzlDTEVsQlNXeENhRVVzUzBGQlMybEZMRkZCUVZVc1MwRkZabXBGTEV0QlFVdHJSU3hUUVVGWExFVkJRMmhDYkVVc1MwRkJTMjFGTEdkQ1FVRnJRaXhMUVVOMlFtNUZMRXRCUVV0dlJTeHZRa0ZCYzBJc1MwRkhNMEp3UlN4TFFVRkxjVVVzVlVGQldTeEZRVWRxUW5KRkxFdEJRVXR6UlN4aFFVRmpMRVZCUlc1Q2RFVXNTMEZCUzNWRkxHTkJRV1VzUlVGRmNFSjJSU3hMUVVGTGQwVXNWMEZCYTBNc1NVRkJkRUkzUWl4RlFVRlJOa0lzVlVGRmVrSjRSU3hMUVVGTGVVVXNZMEZCWjBJNVFpeEZRVUZST0VJc1dVRkZOMEo2UlN4TFFVRkxNRVVzY1VKQlFYVkNMRVZCUnpWQ01VVXNTMEZCU3pKRkxHMUNRVUZ4UWl4SlFVRkplRVVzWTBGQlkwZ3NUVUUwUXpsRExGTkJRVk5aTEZOQlFWTXJRaXhIUVZWb1FpeEpRVUZKUlN4RlFVRlhOME1zWjBKQlZHWlRMRTlCUVZOQkxGRkJRVlZQTEZGQlFWRXNjVUpCVlROQ0xFbEJRVXMyUWl4SlFVRmhiRUlzWjBKQlFXZENhVVFzUzBGQlMyaEZMRk5CUVZWYUxFMUJRVThzVDBGQlR5eEpRVUZKV1N4VFFVRlRLMElzUjBGRE5VVXpReXhMUVVGTE5rVXNaVUZCYVVJc1NVRkJTV2hGTEdOQlFXTTRRaXhGUVVGVE0wTXNTMEZCVFRaRExFZEJSWFpFTjBNc1MwRkJTemhGTEZWQlFWY3NSVUZGV201RExFbEJRekpDTEcxQ1FVRnNRa0VzUlVGQlVXOURMRkZCUVhOQ0wwVXNTMEZCUzJkR0xFOUJRVk55UXl4RlFVRlJiME1zVDBGRGFrTXNiVUpCUVc1Q2NFTXNSVUZCVVhORExGTkJRWFZDYWtZc1MwRkJTMnRHTEZGQlFWVjJReXhGUVVGUmMwTXNVVUZEYkVNc2JVSkJRWEJDZEVNc1JVRkJVWGRETEZWQlFYZENia1lzUzBGQlMyOUdMRk5CUVZkNlF5eEZRVUZSZDBNc1UwRkRkRU1zYlVKQlFXeENlRU1zUlVGQlVUQkRMRkZCUVhOQ2NrWXNTMEZCUzNOR0xFOUJRVk16UXl4RlFVRlJNRU1zVVVGSGFrVndSU3hQUVVGUE1rUXNTMEZCU3pWRkxFMUJVV1FzVTBGQlUzVkdMR05CUVdNelF5eEZRVUZSTjBNc1IwRkROMElzU1VGQlNXbEZMRVZCUVVzc1NVRkJTWHBDTERKQ1FVVmlSU3hsUVVGbFJ5eEZRVUZSYjBJc1IwRkRka0ozUWl4UlFVRlJReXhUUVVGVE1VWXNSVUZCU1dsRkxFZEJUWFpDTEZOQlFWTXdRaXhYUVVGWE9VTXNSVUZCVVhoRExFVkJRVTlRTEVWQlFVOUZMRWRCUTNoRExFbEJRVWxwUlN4RlFWRktMRTlCVG1Nc1QwRkJWbTVGTEVWQlEwWnRSU3hGUVVGTExFbEJRVWt4UWl4MVFrRkRhVUlzYVVKQlFWWjZReXhIUVVGMVFrOHNSVUZCVFRCRExHRkJRemREYTBJc1JVRkJTeXhKUVVGSkwwSXNjVUpCUVhGQ0xGRkJRVk1zUTBGQlF5eFRRVUZWTEZWQlFWZHdReXhMUVVjelJHMUZMRWxCUTBaMlFpeGxRVUZsUnl4RlFVRlJiMElzUjBGRGRrSjNRaXhSUVVGUlF5eFRRVUZUTVVZc1JVRkJTV2xGTEVsQlEyUXNSMEUyUkZnc1UwRkJVekpDTEZsQlFWbDJSaXhGUVVGUFVDeEZRVUZQUXl4SFFVdHFReXhQUVVwTFRTeEZRVUZOTUVNc1lVRkJjME1zU1VGQmVFSXhReXhGUVVGTmIwUXNaVUZCTkVNc2FVSkJRVll6UkN4SlFVTXZSRUVzUlVGQlVYRkNMRTlCUVU5TExFdEJRVXN4UWl4RlFVRlBReXhKUVVkMFFrUXNSVUZsVkN4VFFVRlRLMFlzWTBGQlkyaEVMRVZCUVZGNFF5eEZRVUZQZVVZc1JVRkJUMmhITEVWQlFVOURMRVZCUVZWRExFZEJRelZFTEVsQlFVczRSaXhGUVVGUExFTkJRMVlzU1VGQlNVTXNSVUZCVjBnc1dVRkJXWFpHTEVWQlFVOVFMRVZCUVU5RExFZEJSWEpEUkN4SlFVRlZhVWNzU1VGRFdrUXNSMEZCVVN4RlFVTlNMMFlzUlVGQlZ5eFRRVU5ZUkN4RlFVRlJhVWNzUjBGSldpeEpRVUZKUXl4RlFVRk5NMFlzUlVGQlRUQkRMRmRCUVdFc1JVRkJTV3BFTEVWQlFVMDJSQ3hQUVVOMlEzUkVMRVZCUVUxelJDeFJRVUZWY1VNc1JVRkRhRUlzU1VGQlNVTXNSVUZCVFRWR0xFVkJRVTF6UkN4UFFVRlRkRVFzUlVGQlRUUkRMR05CU1M5Q0xFZEJSa3RuUkN4SlFVRkxOVVlzUlVGQlRUaERMRmRCUVZrc1IwRkZlRUk1UXl4RlFVRk5kVVFzVTBGQlYzWkVMRVZCUVUxM1JDeFBRVUZSTEVOQlEycERMRWxCUVVseFF5eEZRVUZQTjBZc1JVRkJUV2RGTEc5Q1FVTnFRbWhGTEVWQlFVMW5SU3h2UWtGQmMwSXNRMEZETVVKMlJTeE5RVUZQUVN4RlFVTlFReXhUUVVGVlFTeEZRVU5XSzBZc1RVRkJUMEVzUlVGRFVEVkdMRk5CUVZWR0xFVkJRMVpITEV0QlFVMHNUVUZIU2l0R0xFVkJRMFpCTEVWQlFVc3ZSaXhMUVVGUFJTeEZRVUZOWjBVc2IwSkJSV3hDYUVVc1JVRkJUU3RFTEdkQ1FVRnJRaTlFTEVWQlFVMW5SU3h2UWtGSGFFTm9SU3hGUVVGTmMwVXNjMEpCUVhkQ0xFOUJSVGxDZDBJc1VVRkJVWFJFTEVWQlFWRjRReXhIUVVGUExFVkJRVTh5Uml4RlFVRkxiRWNzUlVGQlQwTXNSVUZCVlVNc1IwRkhkRVFzVDBGQlQybEhMRVZCUjFRc1UwRkJVMFVzVVVGQlVYUkVMRVZCUVZGNFF5eEZRVUZQTmtVc1JVRkJVV01zUlVGQlMyeEhMRVZCUVU5RExFVkJRVlZETEVkQlF6VkVTeXhGUVVGTk9FUXNVMEZCVnpaQ0xFVkJRMnBDTTBZc1JVRkJUVFpFTEZGQlFWVnNSU3hGUVVOb1Frc3NSVUZCVFhWRUxGTkJRVlVzUlVGRGFFSjJSQ3hGUVVGTmVVUXNUVUZCVHl4RlFVTlVla1FzUlVGQlRXdEVMRlZCUVZkc1JDeEZRVUZOTWtRc1VVRkJVU3hKUVVGSk1VSXNjVUpCUVhGQ0xGVkJRVzFDTkVNc1JVRkJVWEpETEVWQlFVOXpReXhSUVVGUmNrWXNSVUZCVDA4c1JVRkJUVEpFTEZOQlFXTnVRaXhGUVVGUGIwTXNUMEZCVDI1R0xFVkJRVTlETEVWQlFWVk5MRVZCUVUweVJDeFRRVU4wU3pORUxFVkJRVTE1UkN4TlFVRlBMRVZCUjJZc1UwRkJVM05ETEdGQlFXRjJSQ3hGUVVGUmVFTXNSVUZCVDNsRUxFVkJRVTFITEVWQlFVbHFSU3hMUVVNelEwc3NSVUZCVFdsRkxGVkJSVXBTTEVkQlIwWXlRaXhSUVVGUlF5eFRRVUZUTVVZc1JVRkJTV2xGTEVkQlIzSkNkMElzVVVGQlVVTXNVMEZCVTFjc1dVRkJZWGhFTEVWQlFWRjRReXhIUVVOMFEzZERMRVZCUVU5cFF5eGxRVUZsVGl4alFVRmxMRVZCUTNKRE9VSXNaVUZCWlVjc1JVRkJVVzlDTEV0QlNYWkNha1VzUlVGQlIybEZMRWRCUTBod1FpeEZRVUZQYVVNc1pVRkJaVTRzWTBGQlpTeEZRVU55UXpsQ0xHVkJRV1ZITEVWQlFWRnZRaXhIUVVkMlFtOURMRmxCUVZsNFJDeEZRVUZSZUVNc1NVRkplRUlzVTBGQlUybEhMRzFDUVVGdFFtcEhMRWRCUXpGQ1FTeEZRVUZOZFVRc1UwRkJWU3hGUVVOb1FuWkVMRVZCUVUwMlJDeFJRVUZWTEV0QlEyaENOMFFzUlVGQlRYTkVMRkZCUVZWMFJDeEZRVUZOT0VRc1UwRkRkRUk1UkN4RlFVRk5PRVFzVTBGQlZ5eEZRVWR1UWl4VFFVRlRTQ3hSUVVGUmJrSXNSVUZCVVc5Q0xFZEJRM1pDTEVsQlFVazFSQ3hGUVVGUmQwTXNSVUZCVDJsRExHVkJRMlpvUWl4RlFVRlBla1FzUlVGQlRYbEVMRXRCUTJJNVJDeEZRVUZMU3l4RlFVRk5Oa1FzVVVGRFppeEhRVUZyUWl4dFFrRkJVR3hGTEVWQlFXMUNMRTFCUVUwc1NVRkJTVzlETEhOQ1FVVjRReXhIUVVSQmEwVXNiVUpCUVcxQ2FrY3NSMEZEWmpSRUxFVkJRVWx0UXl4aFFVRmhka1FzUlVGQlVYaERMRVZCUVU5NVJDeEZRVUZOUnl4RlFVRkpha1VzVDBGQlV5eERRVVZ5UkN4SlFVRkpjMFFzUlVGQlYybEVMRmRCUVZkc1J5eEpRVUZWZDBNc1JVRkJUMVVzVlVGRmRFTkVMRWRCUVdGcVJDeEZRVUZOZDBRc1VVRkJWM2hFTEVWQlFVMHdSQ3h0UWtGQmIwSXhSQ3hGUVVGTkswUXNhVUpCUTJwRmIwTXNXVUZCV1RORUxFVkJRVkY0UXl4SFFVZHNRbmxFTEVWQlEwWXlRaXhSUVVGUlF5eFRRVUZUWlN4WFFVRlpOVVFzUlVGQlVYaERMRVZCUVU5cFJDeEZRVUZWZEVRc1IwRkZkRVI1Unl4WFFVRlhOVVFzUlVGQlVYaERMRVZCUVU5cFJDeEZRVUZWZEVRc1NVRkxNVU1zVTBGQlUzbEhMRmRCUVZjMVJDeEZRVUZSZUVNc1JVRkJUMmxFTEVWQlFWVjBSQ3hIUVVOMFEzTkVMRWRCUVZWdlJDeGhRVUZoTjBRc1JVRkJVWGhETEVkQlEzQkRRU3hGUVVGTmFVVXNXVUZEVG5SRkxFbEJRMEZ4Unl4WlFVRlplRVFzUlVGQlVYaERMRWRCVFhSQ0xGTkJRVk54Unl4aFFVRmhOMFFzUlVGQlVYaERMRWRCUTFBc1NVRkJha0pCTEVWQlFVMXpSQ3hSUVVGblFuUkVMRVZCUVUwNFF5eFpRVU01UWpsRExFVkJRVTA0UXl4WFFVRlpMRVZCUTJ4Q1RpeEZRVUZQT0VRc1MwRkJTeXhWUVV0b1FpeFRRVUZUU0N4WlFVRlpNMFFzUlVGQlVYaERMRWRCUXpOQ1FTeEZRVUZOTUVRc2EwSkJRVzFDTEVWQlEzcENMRWxCUVVsNFJDeEZRVUZSUml4RlFVRk5LMFFzWjBKQlJXeENMRWRCUVVsMlFpeEZRVUZQYzBNc1UwRkJWelZGTEVkQlFWTkJMRVZCUVUxS0xFdEJRVTBzUTBGRmVrTXNTVUZCU1hsSExFVkJRVWwyUnl4RlFVRk5jMFVzY1VKQlExWnJReXhGUVVGVExFbEJRVWxETEUxQlFVMUdMRWRCUTI1Q1J5eEZRVUZUTVVjc1JVRkJUWFZGTEcxQ1FVTnVRbTFETEVWQlFVOTRSeXhOUVVGUlFTeEZRVWxtTEVsQlNFRXNTVUZCU1hsSExFVkJRVkVzUlVGRFVrTXNSMEZCWVN4RlFVVldNVWNzUjBGRFRITkhMRVZCUVU5SExFZEJRVk42Unl4RlFVTllRU3hGUVVGTmRVWXNVVUZCVDIxQ0xFZEJRV0VzUjBGREwwSXhSeXhGUVVGUlFTeEZRVUZOU2l4TFFVTmtOa2NzUjBGQlV5eEZRVWRZU0N4RlFVRlBTU3hYUVVGaFFTeEZRVU53UW1Rc1VVRkJVWFJFTEVWQlFWRjRReXhIUVVGUExFVkJRVTFCTEVWQlFVMXpSQ3hQUVVGUmEwUXNSVUZCVVN4SFFVRkpSU3hGUVVGUGRrY3NVVUZIT1VSSUxFVkJRVTFwUlN4WlFVTk9ha1VzUlVGQlRXZEZMRzlDUVVGelFpeExRVVY0UWpCRExFVkJRVTgxUnl4TlFVTlVSU3hGUVVGTmRVVXNiVUpCUVhGQ2JVTXNSVUZCVHpWSExFdEJRMnhETkVjc1JVRkJUelZITEV0QlFVOHNUVUZGWkVVc1JVRkJUWFZGTEcxQ1FVRnhRaXhKUVVGSmVFVXNZMEZCWTBNc1IwRkhMME5CTEVWQlFVMXpSU3h4UWtGQmRVSXNUVUZEZUVJc1EwRkZUQ3hMUVVGUGNFVXNSMEZCVHl4RFFVTmFMRWxCUVVsVUxFVkJRVkZUTEVWQlFVMVVMRTFCUTJSRExFVkJRVmRSTEVWQlFVMVNMRk5CUTJwQ1F5eEZRVUZMVHl4RlFVRk5UQ3hUUVZObUxFZEJVRUZwUnl4UlFVRlJkRVFzUlVGQlVYaERMRWRCUVU4c1JVRkVZa0VzUlVGQlRUQkRMRmRCUVdFc1JVRkJTV3BFTEVWQlFVMDJSQ3hQUVVOS04wUXNSVUZCVDBNc1JVRkJWVU1zUjBGRGNFUlBMRVZCUVZGQkxFVkJRVTFLTEV0QlEyUkZMRVZCUVUxelJTeDFRa0ZMUm5SRkxFVkJRVTExUkN4UlFVTlNMRTFCU1ZVc1QwRkJWbkpFTEVsQlFXZENSaXhGUVVGTlowVXNiMEpCUVhOQ0xFMUJSMnhFYUVVc1JVRkJUU3RFTEdkQ1FVRnJRamRFTEVWQlEzaENSaXhGUVVGTk1FUXNhMEpCUVcxQ0xFVkJNa016UWl4VFFVRlRkME1zVjBGQlYyeEhMRWRCUTJ4Q0xFOUJRVTlCTEVWQlFVMHJReXhSUVVFeVFpeEpRVUZxUWk5RExFVkJRVTF6UkN4UlFVRXdReXhQUVVFeFFuUkVMRVZCUVUwclJDeHJRa0ZCTmtJdlJDeEZRVUZOYVVRc1YwRkJZV3BFTEVWQlFVMTFSQ3hSUVVjelJ5eFRRVUZUYzBRc1ZVRkJWWEpGTEVWQlFWRjRReXhIUVVONlFuZERMRVZCUVU4d1F5eFBRVUZQTEZOQlFWVTBRaXhIUVVOMFFqbEhMRVZCUVUxcFJTeFpRVVZHTmtNc1IwRkRSbnBGTEdWQlFXVkhMRVZCUVZGelJTeEhRVWQ2UWpsSExFVkJRVTFyUlN4aFFVRmpMRVZCUTNCQ01VSXNSVUZCVHpoRUxFdEJRVXNzWVVGRFdrNHNXVUZCV1hoRUxFVkJRVkY0UXl4TFFVbDRRaXhUUVVGVEswY3NWVUZCVlhaRkxFVkJRVkY0UXl4SFFVTndRa0VzUlVGQlRXdEZMR0ZCUVdkQ2JFVXNSVUZCVFRaRExHTkJRMFlzYlVKQlFXeENUQ3hGUVVGUE1FTXNVVUZCTUVKc1JpeEZRVUZOYTBRc1YwRkxhRVJzUkN4RlFVRk5hMFVzWVVGQll5eEZRVU53UWpGQ0xFVkJRVTg0UkN4TFFVRkxMR1ZCVEZwMFJ5eEZRVUZOYVVVc1dVRkRUbXBGTEVWQlFVMDJReXhoUVVGakxFVkJRM0JDZFVNc1VVRkJVVU1zVTBGQlUzZENMRlZCUVZkeVJTeEZRVUZSZUVNc1MwRlJNVU1zVTBGQlUyZEhMRmxCUVZsNFJDeEZRVUZSZUVNc1IwRkRNMElzU1VGQlNXZElMRVZCUVU5a0xGZEJRVmRzUnl4SFFVVjBRaXhIUVVGSlowZ3NTVUZEUmtRc1ZVRkJWWFpGTEVWQlFWRjRReXhIUVVWTkxFbEJRWEJDUVN4RlFVRk5hVVVzV1VGRFVtcEZMRVZCUVUxcFJDeFZRVUZYTEVWQlEycENWQ3hGUVVGUE9FUXNTMEZCU3l4VlFVVlNkRWNzUlVGQlRYRkZMR05CUVdFc1EwRkhja0lzU1VGQlNUUkRMRVZCUVZONlJTeEZRVUZQTUVVc2FVSkJSV1pFTEVkQlFWVkJMRVZCUVU4MVF5eGhRVUZsTkVNc1JVRkJUMFVzWVVGRE1VTXpSU3hGUVVGUGRVTXNWVUZOWml4UFFVRlBhVU1zUlVGSFZDeFRRVUZUU1N4WlFVRlpOVVVzUlVGQlVYaERMRVZCUVU5TUxFZEJRMnhEU3l4RlFVRk5LME1zVVVGQlV5eEZRVU5tYVVRc1dVRkJXWGhFTEVWQlFWRjRReXhIUVVWb1Frd3NTVUZEUlVzc1JVRkJUV2xFTEZOQlFWVnRReXhSUVVGUlF5eFRRVUZUTVVZc1IwRkJVelpETEVWQlFVODJSU3hMUVVGTExGTkJRVlV4U0N4SlFVZDBSVXNzUlVGQlRXZEVMRTlCUVZFc1JVRkRaRklzUlVGQlQydERMRlZCUVZjc1JVRkhjRUlzVTBGQlUzUkZMR1ZCUVdWclNDeEZRVUZUZEVnc1JVRkJUemhITEVkQlEzUkRMRWxCUVVrMVJ5eEZRVUZSYjBnc1JVRkJVWEJJTEUxQlIzQkNMRWxCUmtGdlNDeEZRVUZSY0Vnc1RVRkJVU3hMUVVWVVFTeEhRVUZQTEVOQlExb3NTVUZCU1ZBc1JVRkJTMDhzUlVGQlRVd3NVMEZEWmtjc1JVRkJUV2xGTEZsQlEwNTBSU3hGUVVGSGJVZ3NSMEZEU0RWSExFVkJRVkZCTEVWQlFVMUtMRXRCU1doQ1JTeEZRVUZOZFVVc2JVSkJRVzFDZWtVc1MwRkJUM2RJTEVWQmRHcENiRU14Unl4UlFVRlJMRmRCUVZKQkxFTkJRVzlDU2l4VFFVRlZTeXhSUVhsR09VSktMR05CUVdNNFJ5eFZRVUZWUXl4VlFVRlpMRmRCU1d4RExFbEJTRUVzU1VGQlNVTXNSVUZCVlRkSUxFdEJRVXR0UlN4blFrRkRaakpFTEVWQlFVMHNSMEZGU0VRc1IwRkRURU1zUlVGQlNVTXNTMEZCUzBZc1IwRkRWRUVzUlVGQlZVRXNSVUZCVVROSUxFdEJSM0JDTEU5QlFVODBTQ3hIUVVkVUxGZEJRMFVzU1VGRFJVVXNUMEZCVDBNc1pVRkJaWEJJTEdOQlFXTTRSeXhWUVVGWExGTkJRVlVzUTBGRGRrUlBMRWxCUVV0d1NDeGhRVUZoUXl4VlFVRlZMRmRCUXpGQ0xFOUJRVTltTEV0QlFVczBTQ3hoUVVOWUxEWkZRVUZ0Uml4aFFVVjRSaXhOUVVGUFR5eExRVkJZTEVkQlkzTkNMRzFDUVVGWVF5eFJRVUY1UWtFc1QwRkJUME1zWVVGQmFVVXNiVUpCUVRORFF5eFRRVUZUV0N4VlFVRlZVeXhQUVVGUFF5eGpRVU42UmpGSExHZENRVUZyUWpKSExGTkJRVk5ZTEZWQlFWVlRMRTlCUVU5RExHRkJRelZEVEN4UFFVRlBReXhsUVVGbGNrZ3NVMEZCVlhkSUxFOUJRVTlETEZsQlFXRXNRMEZEYkVSRkxFMUJRVThzVTBGQlpVTXNSMEZEY0VJc1VVRkJTVGRITEdkQ1FVRm5RbWxFTEV0QlFVczFSU3hMUVVGTmQwa3NTVUZETTBKNFNTeFBRVUZUV1N4WFFVTk9ORWdzUjBGQlZVRXNSVUZCVHpORUxEQkNRVUV3UW1oRkxHMUNRVWwwUkdNc1owSkJRV3RDTEZOQlFYbENOa2NzUjBGRGVrTXNUMEZCVDBFc1lVRkJhMEo0U1N4TlFTdENOMEpaTEZOQlFWTXJSeXhWUVVGVll5eExRVUZQTEZkQlEzaENhRWNzWlVGQlpYcERMRXRCUVUwc1NVRkJTVzlETEhsQ1FTdENNMEo0UWl4VFFVRlRLMGNzVlVGQlZUVkRMRTFCUVZFc1UwRkJWV3hHTEVWQlFVOURMRVZCUVZWRExFZEJRM0JFTEVsQlFVbExMRVZCUVZGS0xFdEJRVXMyUlN4bFFVTmliVUlzUjBGQlRTeEZRVVZPU0N4SFFVRlRla1lzUlVGQlRUQkRMRmxCUVdOMFFpeGpRVUZqTTBJc1IwRnBRaTlETEU5QlprbG5SeXhKUVVGVk0wVXNUMEZCVDFFc1UwRkJVemRDTEV0QlF6VkNRU3hGUVVGUmVVSXNiMEpCUVc5Q2VrSXNTVUZIVGl4dFFrRkJZa01zU1VGRFZFTXNSVUZCUzBRc1JVRkRURUVzUlVGQlZ5eE5RVWRVSzBZc1JVRkJUeTlHTEVWQlFWY3NVMEZCYlVKQkxFbEJRVlZCTEVWQlFWZE5MRVZCUVUxeFJDeHBRa0ZEYkVRc2JVSkJRVkF4UkN4SlFVRnRRa0VzUlVGQlN6SkRMRXRCUXk5Q2RFTXNSVUZCVFN0RExFOUJRVkZ2UXl4alFVRmpka1lzUzBGQlRVUXNTVUZCWVRoR0xFZEJRVk5JTEZkQlFWY3hSaXhMUVVGTlNTeEZRVUZQVUN4RlFVRlBSU3hOUVVONlJrc3NSVUZCVFdsRkxGbEJRMDR5UWl4RlFVRk5TaXhqUVVGak5VWXNTMEZCVFVrc1JVRkJUM2xHTEVWQlFVOW9SeXhGUVVGUFF5eEZRVUZWUXl4SlFVVndSR2xITEVkQlIxUndSaXhUUVVGVEswY3NWVUZCVldVc1MwRkJUeXhYUVVONFFqRkpMRXRCUVVzMlJTeGxRVUZsYWtJc1ZVRkhkRUpvUkN4VFFVRlRLMGNzVlVGQlZXZENMRTlCUVZNc1YwRkRNVUlzU1VGQlNYWkpMRVZCUVZGS0xFdEJRVXMyUlN4bFFVVmlla1VzUlVGQlRYZEVMRk5CUTFKNFJDeEZRVUZOZDBRc1UwRkRSSGhFTEVWQlFVMTFSQ3hUUVVGWmRrUXNSVUZCVFhkRUxGRkJRVmQ0UkN4RlFVRk5NRVFzYlVKQlFXOUNNVVFzUlVGQlRTdEVMR2xDUVVGcFFtOURMRmxCUVZsMlJ5eExRVUZOU1N4TFFVa3ZSMUVzVTBGQlV5dEhMRlZCUVZWcFFpeHRRa0ZCY1VJc1UwRkJORUk1U1N4SFFVZHNSU3hIUVVSM1FpeHBRa0ZCWWtFc1NVRkJkVUpCTEVWQlFWZEJMRVZCUVZNclNTeHBRa0ZEYUVRc1EwRkJReXhOUVVGUExFOUJRVkVzVVVGQlV5eFJRVUZUTEZOQlFWVXNVMEZCVlN4UFFVRlJMRkZCUVZNc1ZVRkJWeXhYUVVGWkxFOUJRVTlETEZOQlFWTm9TaXhGUVVGWExFbEJRVWtyU1N4blFrRkJhMElzUjBGQlNTeE5RVUZOTEVsQlFVbHlSeXh4UWtGQmNVSXhReXhIUVVWNFRDeFBRVVJCUlN4TFFVRkxOa1VzWlVGQlpYQkNMR2RDUVVGclFqTkVMRVZCUXk5Q1JTeE5RVWRVWjBrc1QwRkJUME1zWlVGQlpYSklMRk5CUVZNclJ5eFZRVUZYTEdsQ1FVRnJRaXhEUVVreFJHOUNMRmxCUVZrc1JVRkRXbUlzU1VGQlN5eFhRVU5JTEU5QlFVOXNTU3hMUVVGTE5rVXNaMEpCUVd0Q04wVXNTMEZCU3paRkxHVkJRV1VyUXl4bFFWbDBSRWtzVDBGQlQwTXNaVUZCWlhKSUxGTkJRVk1yUnl4VlFVRlhMSGRDUVVGNVFpeERRVWxxUlc5Q0xGbEJRVmtzUlVGRFdtSXNTVUZCU3l4WFFVTklMRTlCUVU5c1NTeExRVUZMTmtVc1pVRkJaVGRDTEdsQ1FUUk1MMEp3UXl4VFFVRlRLMGNzVlVGQlZUTkRMRTlCUVZNc1UwRkJWVzVHTEVWQlFVOURMRVZCUVZWRExFZEJRM0pFUVN4RlFVRkhMRWxCUVVsdFF5d3lRa0ZCTWtJc1kwRkhjRU4wUWl4VFFVRlRLMGNzVlVGQlZYcERMRkZCUVZVc1MwRkZOMEowUlN4VFFVRlRLMGNzVlVGQlZYRkNMRWxCUVUwc1UwRkJWVzVLTEVWQlFVOURMRVZCUVZWRExFZEJRMnhFTEVsQlFVbExMRVZCUVZGS0xFdEJRVXMyUlN4bFFXOUNha0lzVFVGc1FuRkNMRzFDUVVGV2FFWXNSMEZEVkVVc1JVRkJTMFlzUlVGRFRFRXNSVUZCVVN4TFFVTlNReXhGUVVGWExFMUJRMnRDTEcxQ1FVRmlRU3hKUVVOb1FrTXNSVUZCUzBRc1JVRkRURUVzUlVGQlZ5eE5RVWRVUkN4TlFVRkJRU3hIUVVGMVEwY3NTMEZCU3l0RkxFMUJRVTFzUml4RlFVRlBReXhIUVVWNlJFMHNSVUZCVFhkRUxGTkJRMUo0UkN4RlFVRk5kMFFzVDBGQlV5eEZRVU5tTlVRc1MwRkJTekpKTEZWQlNVWjJTU3hGUVVGTkswTXNVVUZCVVhGRkxGbEJRVmw0U0N4TFFVRk5TU3hGUVVGUFRDeEhRVU55UTBNc1RVRkhWR2RKTEU5QlFVOURMR1ZCUVdWeVNDeFRRVUZUSzBjc1ZVRkJWeXhwUWtGQmEwSXNRMEZKTVVSdlFpeFpRVUZaTEVWQlExcGlMRWxCUVVzc1YwRkRTQ3hQUVVGUGJFa3NTMEZCU3paRkxHVkJRV1Z1UWl4VlFYVkdMMEp6UlN4UFFVRlBReXhsUVVGbGNrZ3NVMEZCVXl0SExGVkJRVmNzV1VGQllTeERRVWx5Ukc5Q0xGbEJRVmtzUlVGRFdtSXNTVUZCU3l4WFFVTklMRmxCUVRSQ1pTeEpRVUY0UW1wS0xFdEJRVXMyUlN4blFrRkpSamRGTEV0QlFVczJSU3hsUVVGbGRrSXNWMEZGTjBJMFJpeEpRVUZMTEZOQlFXRllMRWRCUjFoMlNTeExRVUZMTmtVc2FVSkJUVlkzUlN4TFFVRkxOa1VzWlVGQlpYWkNMRlZCUVZscFJpeE5RVWR3UXpOSUxGTkJRVk1yUnl4VlFVRlZlRU1zVVVGQlZYWkVMRmxCUVZsMVJDeFJRVU42UTNaRkxGTkJRVk1yUnl4VlFVRlZkMElzVjBGQllYWklMRmxCUVZsM1NDeFZRVVUxUTNoSkxGTkJRVk1yUnl4VlFVRlZka01zVTBGQlZ5eFRRVUZWT0VJc1JVRkJTMjVJTEVkQlF6TkRRU3hGUVVGSGJVZ2lMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YldGemRHVnlMM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDNOMGNtVmhiUzFpY205M2MyVnlhV1o1TDI1dlpHVmZiVzlrZFd4bGN5OXlaV0ZrWVdKc1pTMXpkSEpsWVcwdmJHbGlMMTl6ZEhKbFlXMWZkM0pwZEdGaWJHVXVhbk1pZlE9PSIsIlwidXNlIHN0cmljdFwiO3ZhciBfT2JqZWN0JHNldFByb3RvdHlwZU87ZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KGUsdCxyKXtyZXR1cm4gdCBpbiBlP09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQse3ZhbHVlOnIsZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTplW3RdPXIsZX12YXIgZmluaXNoZWQ9cmVxdWlyZShcIi4vZW5kLW9mLXN0cmVhbVwiKSxrTGFzdFJlc29sdmU9U3ltYm9sKFwibGFzdFJlc29sdmVcIiksa0xhc3RSZWplY3Q9U3ltYm9sKFwibGFzdFJlamVjdFwiKSxrRXJyb3I9U3ltYm9sKFwiZXJyb3JcIiksa0VuZGVkPVN5bWJvbChcImVuZGVkXCIpLGtMYXN0UHJvbWlzZT1TeW1ib2woXCJsYXN0UHJvbWlzZVwiKSxrSGFuZGxlUHJvbWlzZT1TeW1ib2woXCJoYW5kbGVQcm9taXNlXCIpLGtTdHJlYW09U3ltYm9sKFwic3RyZWFtXCIpO2Z1bmN0aW9uIGNyZWF0ZUl0ZXJSZXN1bHQoZSx0KXtyZXR1cm57dmFsdWU6ZSxkb25lOnR9fWZ1bmN0aW9uIHJlYWRBbmRSZXNvbHZlKGUpe3ZhciB0PWVba0xhc3RSZXNvbHZlXTtpZihudWxsIT09dCl7dmFyIHI9ZVtrU3RyZWFtXS5yZWFkKCk7bnVsbCE9PXImJihlW2tMYXN0UHJvbWlzZV09bnVsbCxlW2tMYXN0UmVzb2x2ZV09bnVsbCxlW2tMYXN0UmVqZWN0XT1udWxsLHQoY3JlYXRlSXRlclJlc3VsdChyLCExKSkpfX1mdW5jdGlvbiBvblJlYWRhYmxlKGUpe3Byb2Nlc3MubmV4dFRpY2socmVhZEFuZFJlc29sdmUsZSl9ZnVuY3Rpb24gd3JhcEZvck5leHQoZSx0KXtyZXR1cm4gZnVuY3Rpb24ocixvKXtlLnRoZW4oZnVuY3Rpb24oKXt0W2tFbmRlZF0/cihjcmVhdGVJdGVyUmVzdWx0KHZvaWQgMCwhMCkpOnRba0hhbmRsZVByb21pc2VdKHIsbyl9LG8pfX12YXIgQXN5bmNJdGVyYXRvclByb3RvdHlwZT1PYmplY3QuZ2V0UHJvdG90eXBlT2YoZnVuY3Rpb24oKXt9KSxSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3JQcm90b3R5cGU9T2JqZWN0LnNldFByb3RvdHlwZU9mKChfZGVmaW5lUHJvcGVydHkoX09iamVjdCRzZXRQcm90b3R5cGVPPXtnZXQgc3RyZWFtKCl7cmV0dXJuIHRoaXNba1N0cmVhbV19LG5leHQ6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9dGhpc1trRXJyb3JdO2lmKG51bGwhPT10KXJldHVybiBQcm9taXNlLnJlamVjdCh0KTtpZih0aGlzW2tFbmRlZF0pcmV0dXJuIFByb21pc2UucmVzb2x2ZShjcmVhdGVJdGVyUmVzdWx0KHZvaWQgMCwhMCkpO2lmKHRoaXNba1N0cmVhbV0uZGVzdHJveWVkKXJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbih0LHIpe3Byb2Nlc3MubmV4dFRpY2soZnVuY3Rpb24oKXtlW2tFcnJvcl0/cihlW2tFcnJvcl0pOnQoY3JlYXRlSXRlclJlc3VsdCh2b2lkIDAsITApKX0pfSk7dmFyIHIsbz10aGlzW2tMYXN0UHJvbWlzZV07aWYobylyPW5ldyBQcm9taXNlKHdyYXBGb3JOZXh0KG8sdGhpcykpO2Vsc2V7dmFyIG49dGhpc1trU3RyZWFtXS5yZWFkKCk7aWYobnVsbCE9PW4pcmV0dXJuIFByb21pc2UucmVzb2x2ZShjcmVhdGVJdGVyUmVzdWx0KG4sITEpKTtyPW5ldyBQcm9taXNlKHRoaXNba0hhbmRsZVByb21pc2VdKX1yZXR1cm4gdGhpc1trTGFzdFByb21pc2VdPXIscn19LFN5bWJvbC5hc3luY0l0ZXJhdG9yLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxfZGVmaW5lUHJvcGVydHkoX09iamVjdCRzZXRQcm90b3R5cGVPLFwicmV0dXJuXCIsZnVuY3Rpb24oKXt2YXIgZT10aGlzO3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbih0LHIpe2Vba1N0cmVhbV0uZGVzdHJveShudWxsLGZ1bmN0aW9uKGUpe2U/cihlKTp0KGNyZWF0ZUl0ZXJSZXN1bHQodm9pZCAwLCEwKSl9KX0pfSksX09iamVjdCRzZXRQcm90b3R5cGVPKSxBc3luY0l0ZXJhdG9yUHJvdG90eXBlKSxjcmVhdGVSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3I9ZnVuY3Rpb24oZSl7dmFyIHQscj1PYmplY3QuY3JlYXRlKFJlYWRhYmxlU3RyZWFtQXN5bmNJdGVyYXRvclByb3RvdHlwZSwoX2RlZmluZVByb3BlcnR5KHQ9e30sa1N0cmVhbSx7dmFsdWU6ZSx3cml0YWJsZTohMH0pLF9kZWZpbmVQcm9wZXJ0eSh0LGtMYXN0UmVzb2x2ZSx7dmFsdWU6bnVsbCx3cml0YWJsZTohMH0pLF9kZWZpbmVQcm9wZXJ0eSh0LGtMYXN0UmVqZWN0LHt2YWx1ZTpudWxsLHdyaXRhYmxlOiEwfSksX2RlZmluZVByb3BlcnR5KHQsa0Vycm9yLHt2YWx1ZTpudWxsLHdyaXRhYmxlOiEwfSksX2RlZmluZVByb3BlcnR5KHQsa0VuZGVkLHt2YWx1ZTplLl9yZWFkYWJsZVN0YXRlLmVuZEVtaXR0ZWQsd3JpdGFibGU6ITB9KSxfZGVmaW5lUHJvcGVydHkodCxrSGFuZGxlUHJvbWlzZSx7dmFsdWU6ZnVuY3Rpb24oZSx0KXt2YXIgbz1yW2tTdHJlYW1dLnJlYWQoKTtvPyhyW2tMYXN0UHJvbWlzZV09bnVsbCxyW2tMYXN0UmVzb2x2ZV09bnVsbCxyW2tMYXN0UmVqZWN0XT1udWxsLGUoY3JlYXRlSXRlclJlc3VsdChvLCExKSkpOihyW2tMYXN0UmVzb2x2ZV09ZSxyW2tMYXN0UmVqZWN0XT10KX0sd3JpdGFibGU6ITB9KSx0KSk7cmV0dXJuIHJba0xhc3RQcm9taXNlXT1udWxsLGZpbmlzaGVkKGUsZnVuY3Rpb24oZSl7aWYoZSYmXCJFUlJfU1RSRUFNX1BSRU1BVFVSRV9DTE9TRVwiIT09ZS5jb2RlKXt2YXIgdD1yW2tMYXN0UmVqZWN0XTtyZXR1cm4gbnVsbCE9PXQmJihyW2tMYXN0UHJvbWlzZV09bnVsbCxyW2tMYXN0UmVzb2x2ZV09bnVsbCxyW2tMYXN0UmVqZWN0XT1udWxsLHQoZSkpLHZvaWQocltrRXJyb3JdPWUpfXZhciBvPXJba0xhc3RSZXNvbHZlXTtudWxsIT09byYmKHJba0xhc3RQcm9taXNlXT1udWxsLHJba0xhc3RSZXNvbHZlXT1udWxsLHJba0xhc3RSZWplY3RdPW51bGwsbyhjcmVhdGVJdGVyUmVzdWx0KHZvaWQgMCwhMCkpKSxyW2tFbmRlZF09ITB9KSxlLm9uKFwicmVhZGFibGVcIixvblJlYWRhYmxlLmJpbmQobnVsbCxyKSkscn07bW9kdWxlLmV4cG9ydHM9Y3JlYXRlUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1GemVXNWpYMmwwWlhKaGRHOXlMbXB6SWwwc0ltNWhiV1Z6SWpwYklsOVBZbXBsWTNRa2MyVjBVSEp2ZEc5MGVYQmxUeUlzSWw5a1pXWnBibVZRY205d1pYSjBlU0lzSW05aWFpSXNJbXRsZVNJc0luWmhiSFZsSWl3aVQySnFaV04wSWl3aVpHVm1hVzVsVUhKdmNHVnlkSGtpTENKbGJuVnRaWEpoWW14bElpd2lZMjl1Wm1sbmRYSmhZbXhsSWl3aWQzSnBkR0ZpYkdVaUxDSm1hVzVwYzJobFpDSXNJbkpsY1hWcGNtVWlMQ0pyVEdGemRGSmxjMjlzZG1VaUxDSlRlVzFpYjJ3aUxDSnJUR0Z6ZEZKbGFtVmpkQ0lzSW10RmNuSnZjaUlzSW10RmJtUmxaQ0lzSW10TVlYTjBVSEp2YldselpTSXNJbXRJWVc1a2JHVlFjbTl0YVhObElpd2lhMU4wY21WaGJTSXNJbU55WldGMFpVbDBaWEpTWlhOMWJIUWlMQ0prYjI1bElpd2ljbVZoWkVGdVpGSmxjMjlzZG1VaUxDSnBkR1Z5SWl3aWNtVnpiMngyWlNJc0ltUmhkR0VpTENKeVpXRmtJaXdpYjI1U1pXRmtZV0pzWlNJc0luQnliMk5sYzNNaUxDSnVaWGgwVkdsamF5SXNJbmR5WVhCR2IzSk9aWGgwSWl3aWJHRnpkRkJ5YjIxcGMyVWlMQ0p5WldwbFkzUWlMQ0owYUdWdUlpd2lkVzVrWldacGJtVmtJaXdpUVhONWJtTkpkR1Z5WVhSdmNsQnliM1J2ZEhsd1pTSXNJbWRsZEZCeWIzUnZkSGx3WlU5bUlpd2lVbVZoWkdGaWJHVlRkSEpsWVcxQmMzbHVZMGwwWlhKaGRHOXlVSEp2ZEc5MGVYQmxJaXdpYzJWMFVISnZkRzkwZVhCbFQyWWlMQ0p6ZEhKbFlXMGlMQ0owYUdseklpd2libVY0ZENJc0lsOTBhR2x6SWl3aVpYSnliM0lpTENKUWNtOXRhWE5sSWl3aVpHVnpkSEp2ZVdWa0lpd2ljSEp2YldselpTSXNJbUZ6ZVc1alNYUmxjbUYwYjNJaUxDSmZkR2hwY3pJaUxDSmtaWE4wY205NUlpd2laWEp5SWl3aVkzSmxZWFJsVW1WaFpHRmliR1ZUZEhKbFlXMUJjM2x1WTBsMFpYSmhkRzl5SWl3aVgwOWlhbVZqZENSamNtVmhkR1VpTENKcGRHVnlZWFJ2Y2lJc0ltTnlaV0YwWlNJc0lsOXlaV0ZrWVdKc1pWTjBZWFJsSWl3aVpXNWtSVzFwZEhSbFpDSXNJbU52WkdVaUxDSnZiaUlzSW1KcGJtUWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hoUVVWQkxFbEJRVWxCTEhOQ1FVVktMRk5CUVZORExHZENRVUZuUWtNc1JVRkJTME1zUlVGQlMwTXNSMEZCYVVzc1QwRkJjRXBFTEV0QlFVOUVMRVZCUVU5SExFOUJRVTlETEdWQlFXVktMRVZCUVV0RExFVkJRVXNzUTBGQlJVTXNUVUZCVDBFc1JVRkJUMGNzV1VGQldTeEZRVUZOUXl4alFVRmpMRVZCUVUxRExGVkJRVlVzU1VGQmEwSlFMRVZCUVVsRExFZEJRVTlETEVWQlFXZENSaXhGUVVVelRTeEpRVUZKVVN4VFFVRlhReXhSUVVGUkxHMUNRVVZ1UWtNc1lVRkJaVU1zVDBGQlR5eGxRVU4wUWtNc1dVRkJZMFFzVDBGQlR5eGpRVU55UWtVc1QwRkJVMFlzVDBGQlR5eFRRVU5vUWtjc1QwRkJVMGdzVDBGQlR5eFRRVU5vUWtrc1lVRkJaVW9zVDBGQlR5eGxRVU4wUWtzc1pVRkJhVUpNTEU5QlFVOHNhVUpCUTNoQ1RTeFJRVUZWVGl4UFFVRlBMRlZCUlhKQ0xGTkJRVk5QTEdsQ1FVRnBRbWhDTEVWQlFVOXBRaXhIUVVNdlFpeE5RVUZQTEVOQlEweHFRaXhOUVVGUFFTeEZRVU5RYVVJc1MwRkJUVUVzUjBGSlZpeFRRVUZUUXl4bFFVRmxReXhIUVVOMFFpeEpRVUZKUXl4RlFVRlZSQ3hGUVVGTFdDeGpRVVZ1UWl4SFFVRm5RaXhQUVVGYVdTeEZRVUZyUWl4RFFVTndRaXhKUVVGSlF5eEZRVUZQUml4RlFVRkxTaXhUUVVGVFR5eFBRVWxhTEU5QlFWUkVMRWxCUTBaR0xFVkJRVXRPTEdOQlFXZENMRXRCUTNKQ1RTeEZRVUZMV0N4alFVRm5RaXhMUVVOeVFsY3NSVUZCUzFRc1lVRkJaU3hMUVVOd1FsVXNSVUZCVVVvc2FVSkJRV2xDU3l4SFFVRk5MRTFCUzNKRExGTkJRVk5GTEZkQlFWZEtMRWRCUjJ4Q1N5eFJRVUZSUXl4VFFVRlRVQ3hsUVVGblFrTXNSMEZIYmtNc1UwRkJVMDhzV1VGQldVTXNSVUZCWVZJc1IwRkRhRU1zVDBGQlR5eFRRVUZWUXl4RlFVRlRVU3hIUVVONFFrUXNSVUZCV1VVc1MwRkJTeXhYUVVOWVZpeEZRVUZMVUN4UlFVTlFVU3hGUVVGUlNpeHpRa0ZCYVVKakxFZEJRVmNzU1VGSmRFTllMRVZCUVV0TUxHZENRVUZuUWswc1JVRkJVMUVzU1VGRE4wSkJMRWxCU1ZBc1NVRkJTVWNzZFVKQlFYbENPVUlzVDBGQlR5dENMR1ZCUVdVc1kwRkRMME5ETEhGRFFVRjFRMmhETEU5QlFVOXBReXhuUWtFMFJDOURja01zWjBKQk5VUXJSRVFzYzBKQlFYZENMRU5CUTNoR2RVTXNZVUZEUlN4UFFVRlBReXhMUVVGTGNrSXNWVUZIWkhOQ0xFdEJRVTBzVjBGRFNpeEpRVUZKUXl4RlFVRlJSaXhMUVVsU1J5eEZRVUZSU0N4TFFVRkxla0lzVVVGRmFrSXNSMEZCWXl4UFFVRldORUlzUlVGRFJpeFBRVUZQUXl4UlFVRlJXaXhQUVVGUFZ5eEhRVWQ0UWl4SFFVRkpTQ3hMUVVGTGVFSXNVVUZEVUN4UFFVRlBORUlzVVVGQlVYQkNMRkZCUVZGS0xITkNRVUZwUW1Nc1IwRkJWeXhKUVVkeVJDeEhRVUZKVFN4TFFVRkxja0lzVTBGQlV6QkNMRlZCUzJoQ0xFOUJRVThzU1VGQlNVUXNVVUZCVVN4VFFVRlZjRUlzUlVGQlUxRXNSMEZEY0VOS0xGRkJRVkZETEZOQlFWTXNWMEZEV0dFc1JVRkJUVE5DTEZGQlExSnBRaXhGUVVGUFZTeEZRVUZOTTBJc1UwRkZZbE1zUlVGQlVVb3NjMEpCUVdsQ1l5eEhRVUZYTEZGQlZUVkRMRWxCUTBsWkxFVkJSRUZtTEVWQlFXTlRMRXRCUVV0MlFpeGpRVWQyUWl4SFFVRkpZeXhGUVVOR1pTeEZRVUZWTEVsQlFVbEdMRkZCUVZGa0xGbEJRVmxETEVWQlFXRlRMRmRCUXpGRExFTkJSMHdzU1VGQlNXWXNSVUZCVDJVc1MwRkJTM0pDTEZOQlFWTlBMRTlCUlhwQ0xFZEJRV0VzVDBGQlZFUXNSVUZEUml4UFFVRlBiVUlzVVVGQlVYQkNMRkZCUVZGS0xHbENRVUZwUWtzc1IwRkJUU3hKUVVkb1JIRkNMRVZCUVZVc1NVRkJTVVlzVVVGQlVVb3NTMEZCUzNSQ0xHbENRVWszUWl4UFFVUkJjMElzUzBGQlMzWkNMR05CUVdkQ05rSXNSVUZEWkVFc1NVRkZLMEpxUXl4UFFVRlBhME1zWTBGQlpTeFhRVU01UkN4UFFVRlBVQ3hQUVVOTWRrTXNaMEpCUVdkQ1JDeHpRa0ZCZFVJc1UwRkJWU3hYUVVOdVJDeEpRVUZKWjBRc1JVRkJVMUlzUzBGTFlpeFBRVUZQTEVsQlFVbEpMRkZCUVZFc1UwRkJWWEJDTEVWQlFWTlJMRWRCUTNCRFowSXNSVUZCVHpkQ0xGTkJRVk00UWl4UlFVRlJMRXRCUVUwc1UwRkJWVU1zUjBGRGJFTkJMRVZCUTBac1FpeEZRVUZQYTBJc1IwRkpWREZDTEVWQlFWRktMSE5DUVVGcFFtTXNSMEZCVnl4VlFVZDBRMnhETEhWQ1FVRjNRbTFETEhkQ1FVVjRRbWRDTEd0RFFVRnZReXhUUVVFeVExb3NSMEZEYWtZc1NVRkJTV0VzUlVGRlFVTXNSVUZCVjJoRUxFOUJRVTlwUkN4UFFVRlBha0lzYzBOQlFUUkVjRU1zWjBKQlFYSkNiVVFzUlVGQmFVSXNSMEZCYjBOcVF5eFJRVUZUTEVOQlEyaEpaaXhOUVVGUGJVTXNSVUZEVURsQ0xGVkJRVlVzU1VGRFVsSXNaMEpCUVdkQ2JVUXNSVUZCWjBKNFF5eGhRVUZqTEVOQlEyaEVVaXhOUVVGUExFdEJRMUJMTEZWQlFWVXNTVUZEVWxJc1owSkJRV2RDYlVRc1JVRkJaMEowUXl4WlFVRmhMRU5CUXk5RFZpeE5RVUZQTEV0QlExQkxMRlZCUVZVc1NVRkRVbElzWjBKQlFXZENiVVFzUlVGQlowSnlReXhQUVVGUkxFTkJRekZEV0N4TlFVRlBMRXRCUTFCTExGVkJRVlVzU1VGRFVsSXNaMEpCUVdkQ2JVUXNSVUZCWjBKd1F5eFBRVUZSTEVOQlF6RkRXaXhOUVVGUGJVTXNSVUZCVDJkQ0xHVkJRV1ZETEZkQlF6ZENMME1zVlVGQlZTeEpRVU5TVWl4blFrRkJaMEp0UkN4RlFVRm5RbXhETEdWQlFXZENMRU5CUTJ4RVpDeE5RVUZQTEZOQlFXVnZRaXhGUVVGVFVTeEhRVU0zUWl4SlFVRkpVQ3hGUVVGUE5FSXNSVUZCVTJ4RExGTkJRVk5QTEU5QlJYcENSQ3hIUVVOR05FSXNSVUZCVTNCRExHTkJRV2RDTEV0QlEzcENiME1zUlVGQlUzcERMR05CUVdkQ0xFdEJRM3BDZVVNc1JVRkJVM1pETEdGQlFXVXNTMEZEZUVKVkxFVkJRVkZLTEdsQ1FVRnBRa3NzUjBGQlRTeE5RVVV2UWpSQ0xFVkJRVk42UXl4alFVRm5RbGtzUlVGRGVrSTJRaXhGUVVGVGRrTXNZVUZCWld0Q0xFbEJSelZDZGtJc1ZVRkJWU3hKUVVOU01rTXNTVUU0UWtvc1QwRTNRa0ZETEVWQlFWTndReXhqUVVGblFpeExRVU42UWxBc1UwRkJVelpDTEVWQlFWRXNVMEZCVlZjc1IwRkRla0lzUjBGQlNVRXNSMEZCYjBJc0swSkJRV0pCTEVWQlFVbFBMRXRCUVhWRExFTkJRM0JFTEVsQlFVbDZRaXhGUVVGVGNVSXNSVUZCVTNaRExHRkJWM1JDTEU5QlVtVXNUMEZCV0d0Q0xFbEJRMFp4UWl4RlFVRlRjRU1zWTBGQlowSXNTMEZEZWtKdlF5eEZRVUZUZWtNc1kwRkJaMElzUzBGRGVrSjVReXhGUVVGVGRrTXNZVUZCWlN4TFFVTjRRbXRDTEVWQlFVOXJRaXhUUVVkVVJ5eEZRVUZUZEVNc1VVRkJWVzFETEVkQlNYSkNMRWxCUVVreFFpeEZRVUZWTmtJc1JVRkJVM3BETEdOQlJWQXNUMEZCV2xrc1NVRkRSalpDTEVWQlFWTndReXhqUVVGblFpeExRVU42UW05RExFVkJRVk42UXl4alFVRm5RaXhMUVVONlFubERMRVZCUVZOMlF5eGhRVUZsTEV0QlEzaENWU3hGUVVGUlNpeHpRa0ZCYVVKakxFZEJRVmNzUzBGSGRFTnRRaXhGUVVGVGNrTXNVMEZCVlN4SlFVVnlRblZDTEVWQlFVOXRRaXhIUVVGSExGZEJRVmt2UWl4WFFVRlhaME1zUzBGQlN5eExRVUZOVGl4SlFVTnlRMEVzUjBGSFZFOHNUMEZCVDBNc1VVRkJWVllpTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmJXRnpkR1Z5TDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwzTjBjbVZoYlMxaWNtOTNjMlZ5YVdaNUwyNXZaR1ZmYlc5a2RXeGxjeTl5WldGa1lXSnNaUzF6ZEhKbFlXMHZiR2xpTDJsdWRHVnlibUZzTDNOMGNtVmhiWE12WVhONWJtTmZhWFJsY21GMGIzSXVhbk1pZlE9PSIsIlwidXNlIHN0cmljdFwiO2Z1bmN0aW9uIG93bktleXMoZSx0KXt2YXIgbj1PYmplY3Qua2V5cyhlKTtpZihPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgcj1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpO3QmJihyPXIuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsdCkuZW51bWVyYWJsZX0pKSxuLnB1c2guYXBwbHkobixyKX1yZXR1cm4gbn1mdW5jdGlvbiBfb2JqZWN0U3ByZWFkKGUpe2Zvcih2YXIgdD0xO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspe3ZhciBuPW51bGwhPWFyZ3VtZW50c1t0XT9hcmd1bWVudHNbdF06e307dCUyP293bktleXMoT2JqZWN0KG4pLCEwKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe19kZWZpbmVQcm9wZXJ0eShlLHQsblt0XSl9KTpPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycz9PYmplY3QuZGVmaW5lUHJvcGVydGllcyhlLE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKG4pKTpvd25LZXlzKE9iamVjdChuKSkuZm9yRWFjaChmdW5jdGlvbih0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iobix0KSl9KX1yZXR1cm4gZX1mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkoZSx0LG4pe3JldHVybiB0IGluIGU/T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCx7dmFsdWU6bixlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pOmVbdF09bixlfWZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhlLHQpe2lmKCEoZSBpbnN0YW5jZW9mIHQpKXRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIil9ZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXMoZSx0KXtmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKyl7dmFyIHI9dFtuXTtyLmVudW1lcmFibGU9ci5lbnVtZXJhYmxlfHwhMSxyLmNvbmZpZ3VyYWJsZT0hMCxcInZhbHVlXCJpbiByJiYoci53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsci5rZXkscil9fWZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhlLHQsbil7cmV0dXJuIHQmJl9kZWZpbmVQcm9wZXJ0aWVzKGUucHJvdG90eXBlLHQpLG4mJl9kZWZpbmVQcm9wZXJ0aWVzKGUsbiksZX12YXIgX3JlcXVpcmU9cmVxdWlyZShcImJ1ZmZlclwiKSxCdWZmZXI9X3JlcXVpcmUuQnVmZmVyLF9yZXF1aXJlMj1yZXF1aXJlKFwidXRpbFwiKSxpbnNwZWN0PV9yZXF1aXJlMi5pbnNwZWN0LGN1c3RvbT1pbnNwZWN0JiZpbnNwZWN0LmN1c3RvbXx8XCJpbnNwZWN0XCI7ZnVuY3Rpb24gY29weUJ1ZmZlcihlLHQsbil7QnVmZmVyLnByb3RvdHlwZS5jb3B5LmNhbGwoZSx0LG4pfW1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSgpe19jbGFzc0NhbGxDaGVjayh0aGlzLGUpLHRoaXMuaGVhZD1udWxsLHRoaXMudGFpbD1udWxsLHRoaXMubGVuZ3RoPTB9cmV0dXJuIF9jcmVhdGVDbGFzcyhlLFt7a2V5OlwicHVzaFwiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0PXtkYXRhOmUsbmV4dDpudWxsfTt0aGlzLmxlbmd0aD4wP3RoaXMudGFpbC5uZXh0PXQ6dGhpcy5oZWFkPXQsdGhpcy50YWlsPXQsKyt0aGlzLmxlbmd0aH19LHtrZXk6XCJ1bnNoaWZ0XCIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHQ9e2RhdGE6ZSxuZXh0OnRoaXMuaGVhZH07MD09PXRoaXMubGVuZ3RoJiYodGhpcy50YWlsPXQpLHRoaXMuaGVhZD10LCsrdGhpcy5sZW5ndGh9fSx7a2V5Olwic2hpZnRcIix2YWx1ZTpmdW5jdGlvbigpe2lmKDAhPT10aGlzLmxlbmd0aCl7dmFyIGU9dGhpcy5oZWFkLmRhdGE7cmV0dXJuIDE9PT10aGlzLmxlbmd0aD90aGlzLmhlYWQ9dGhpcy50YWlsPW51bGw6dGhpcy5oZWFkPXRoaXMuaGVhZC5uZXh0LC0tdGhpcy5sZW5ndGgsZX19fSx7a2V5OlwiY2xlYXJcIix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuaGVhZD10aGlzLnRhaWw9bnVsbCx0aGlzLmxlbmd0aD0wfX0se2tleTpcImpvaW5cIix2YWx1ZTpmdW5jdGlvbihlKXtpZigwPT09dGhpcy5sZW5ndGgpcmV0dXJuXCJcIjtmb3IodmFyIHQ9dGhpcy5oZWFkLG49XCJcIit0LmRhdGE7dD10Lm5leHQ7KW4rPWUrdC5kYXRhO3JldHVybiBufX0se2tleTpcImNvbmNhdFwiLHZhbHVlOmZ1bmN0aW9uKGUpe2lmKDA9PT10aGlzLmxlbmd0aClyZXR1cm4gQnVmZmVyLmFsbG9jKDApO2Zvcih2YXIgdD1CdWZmZXIuYWxsb2NVbnNhZmUoZT4+PjApLG49dGhpcy5oZWFkLHI9MDtuOyljb3B5QnVmZmVyKG4uZGF0YSx0LHIpLHIrPW4uZGF0YS5sZW5ndGgsbj1uLm5leHQ7cmV0dXJuIHR9fSx7a2V5OlwiY29uc3VtZVwiLHZhbHVlOmZ1bmN0aW9uKGUsdCl7dmFyIG47cmV0dXJuIGU8dGhpcy5oZWFkLmRhdGEubGVuZ3RoPyhuPXRoaXMuaGVhZC5kYXRhLnNsaWNlKDAsZSksdGhpcy5oZWFkLmRhdGE9dGhpcy5oZWFkLmRhdGEuc2xpY2UoZSkpOm49ZT09PXRoaXMuaGVhZC5kYXRhLmxlbmd0aD90aGlzLnNoaWZ0KCk6dD90aGlzLl9nZXRTdHJpbmcoZSk6dGhpcy5fZ2V0QnVmZmVyKGUpLG59fSx7a2V5OlwiZmlyc3RcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmhlYWQuZGF0YX19LHtrZXk6XCJfZ2V0U3RyaW5nXCIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5oZWFkLG49MSxyPXQuZGF0YTtmb3IoZS09ci5sZW5ndGg7dD10Lm5leHQ7KXt2YXIgYT10LmRhdGEsaT1lPmEubGVuZ3RoP2EubGVuZ3RoOmU7aWYoaT09PWEubGVuZ3RoP3IrPWE6cis9YS5zbGljZSgwLGUpLDA9PT0oZS09aSkpe2k9PT1hLmxlbmd0aD8oKytuLHQubmV4dD90aGlzLmhlYWQ9dC5uZXh0OnRoaXMuaGVhZD10aGlzLnRhaWw9bnVsbCk6KHRoaXMuaGVhZD10LHQuZGF0YT1hLnNsaWNlKGkpKTticmVha30rK259cmV0dXJuIHRoaXMubGVuZ3RoLT1uLHJ9fSx7a2V5OlwiX2dldEJ1ZmZlclwiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0PUJ1ZmZlci5hbGxvY1Vuc2FmZShlKSxuPXRoaXMuaGVhZCxyPTE7Zm9yKG4uZGF0YS5jb3B5KHQpLGUtPW4uZGF0YS5sZW5ndGg7bj1uLm5leHQ7KXt2YXIgYT1uLmRhdGEsaT1lPmEubGVuZ3RoP2EubGVuZ3RoOmU7aWYoYS5jb3B5KHQsdC5sZW5ndGgtZSwwLGkpLDA9PT0oZS09aSkpe2k9PT1hLmxlbmd0aD8oKytyLG4ubmV4dD90aGlzLmhlYWQ9bi5uZXh0OnRoaXMuaGVhZD10aGlzLnRhaWw9bnVsbCk6KHRoaXMuaGVhZD1uLG4uZGF0YT1hLnNsaWNlKGkpKTticmVha30rK3J9cmV0dXJuIHRoaXMubGVuZ3RoLT1yLHR9fSx7a2V5OmN1c3RvbSx2YWx1ZTpmdW5jdGlvbihlLHQpe3JldHVybiBpbnNwZWN0KHRoaXMsX29iamVjdFNwcmVhZCh7fSx0LHtkZXB0aDowLGN1c3RvbUluc3BlY3Q6ITF9KSl9fV0pLGV9KCk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbUoxWm1abGNsOXNhWE4wTG1weklsMHNJbTVoYldWeklqcGJJbTkzYmt0bGVYTWlMQ0p2WW1wbFkzUWlMQ0psYm5WdFpYSmhZbXhsVDI1c2VTSXNJbXRsZVhNaUxDSlBZbXBsWTNRaUxDSm5aWFJQZDI1UWNtOXdaWEowZVZONWJXSnZiSE1pTENKemVXMWliMnh6SWl3aVptbHNkR1Z5SWl3aWMzbHRJaXdpWjJWMFQzZHVVSEp2Y0dWeWRIbEVaWE5qY21sd2RHOXlJaXdpWlc1MWJXVnlZV0pzWlNJc0luQjFjMmdpTENKaGNIQnNlU0lzSWw5dlltcGxZM1JUY0hKbFlXUWlMQ0owWVhKblpYUWlMQ0pwSWl3aVlYSm5kVzFsYm5Seklpd2liR1Z1WjNSb0lpd2ljMjkxY21ObElpd2labTl5UldGamFDSXNJbXRsZVNJc0lsOWtaV1pwYm1WUWNtOXdaWEowZVNJc0ltZGxkRTkzYmxCeWIzQmxjblI1UkdWelkzSnBjSFJ2Y25NaUxDSmtaV1pwYm1WUWNtOXdaWEowYVdWeklpd2laR1ZtYVc1bFVISnZjR1Z5ZEhraUxDSnZZbW9pTENKMllXeDFaU0lzSW1OdmJtWnBaM1Z5WVdKc1pTSXNJbmR5YVhSaFlteGxJaXdpWDJOc1lYTnpRMkZzYkVOb1pXTnJJaXdpYVc1emRHRnVZMlVpTENKRGIyNXpkSEoxWTNSdmNpSXNJbFI1Y0dWRmNuSnZjaUlzSWw5a1pXWnBibVZRY205d1pYSjBhV1Z6SWl3aWNISnZjSE1pTENKa1pYTmpjbWx3ZEc5eUlpd2lYMk55WldGMFpVTnNZWE56SWl3aWNISnZkRzlRY205d2N5SXNJbk4wWVhScFkxQnliM0J6SWl3aWNISnZkRzkwZVhCbElpd2lYM0psY1hWcGNtVWlMQ0p5WlhGMWFYSmxJaXdpUW5WbVptVnlJaXdpWDNKbGNYVnBjbVV5SWl3aWFXNXpjR1ZqZENJc0ltTjFjM1J2YlNJc0ltTnZjSGxDZFdabVpYSWlMQ0p6Y21NaUxDSnZabVp6WlhRaUxDSmpiM0I1SWl3aVkyRnNiQ0lzSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pTENKQ2RXWm1aWEpNYVhOMElpd2lkR2hwY3lJc0ltaGxZV1FpTENKMFlXbHNJaXdpZGlJc0ltVnVkSEo1SWl3aVpHRjBZU0lzSW01bGVIUWlMQ0p5WlhRaUxDSnpJaXdpY0NJc0ltNGlMQ0poYkd4dll5SXNJbUZzYkc5alZXNXpZV1psSWl3aWFHRnpVM1J5YVc1bmN5SXNJbk5zYVdObElpd2ljMmhwWm5RaUxDSmZaMlYwVTNSeWFXNW5JaXdpWDJkbGRFSjFabVpsY2lJc0ltTWlMQ0p6ZEhJaUxDSnVZaUlzSW1KMVppSXNJbDhpTENKdmNIUnBiMjV6SWl3aVpHVndkR2dpTENKamRYTjBiMjFKYm5Od1pXTjBJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hoUVVWQkxGTkJRVk5CTEZGQlFWRkRMRVZCUVZGRExFZEJRV3RDTEVsQlFVbERMRVZCUVU5RExFOUJRVTlFTEV0QlFVdEdMRWRCUVZNc1IwRkJTVWNzVDBGQlQwTXNjMEpCUVhWQ0xFTkJRVVVzU1VGQlNVTXNSVUZCVlVZc1QwRkJUME1zYzBKQlFYTkNTaXhIUVVGaFF5eEpRVUZuUWtrc1JVRkJWVUVzUlVGQlVVTXNUMEZCVHl4VFFVRlZReXhIUVVGUExFOUJRVTlLTEU5QlFVOUxMSGxDUVVGNVFsSXNSVUZCVVU4c1IwRkJTMFVzWTBGQlowSlFMRVZCUVV0UkxFdEJRVXRETEUxQlFVMVVMRVZCUVUxSExFZEJRVmtzVDBGQlQwZ3NSVUZGT1ZVc1UwRkJVMVVzWTBGQlkwTXNSMEZCVlN4SlFVRkxMRWxCUVVsRExFVkJRVWtzUlVGQlIwRXNSVUZCU1VNc1ZVRkJWVU1zVDBGQlVVWXNTVUZCU3l4RFFVRkZMRWxCUVVsSExFVkJRWGxDTEUxQlFXaENSaXhWUVVGVlJDeEhRVUZoUXl4VlFVRlZSQ3hIUVVGTExFZEJRVkZCTEVWQlFVa3NSVUZCUzJZc1VVRkJVVWtzVDBGQlQyTXNTVUZCVXl4SFFVRk5ReXhSUVVGUkxGTkJRVlZETEVkQlFVOURMR2RDUVVGblFsQXNSVUZCVVUwc1JVRkJTMFlzUlVGQlQwVXNUVUZCYzBKb1FpeFBRVUZQYTBJc01FSkJRVFpDYkVJc1QwRkJUMjFDTEdsQ1FVRnBRbFFzUlVGQlVWWXNUMEZCVDJ0Q0xEQkNRVUV3UWtvc1NVRkJiVUpzUWl4UlFVRlJTU3hQUVVGUFl5eEpRVUZUUXl4UlFVRlJMRk5CUVZWRExFZEJRVTlvUWl4UFFVRlBiMElzWlVGQlpWWXNSVUZCVVUwc1JVRkJTMmhDTEU5QlFVOUxMSGxDUVVGNVFsTXNSVUZCVVVVc1RVRkJaU3hQUVVGUFRpeEZRVVUzWjBJc1UwRkJVMDhzWjBKQlFXZENTU3hGUVVGTFRDeEZRVUZMVFN4SFFVRnBTeXhQUVVGd1NrNHNTMEZCVDBzc1JVRkJUM0pDTEU5QlFVOXZRaXhsUVVGbFF5eEZRVUZMVEN4RlFVRkxMRU5CUVVWTkxFMUJRVTlCTEVWQlFVOW9RaXhaUVVGWkxFVkJRVTFwUWl4alFVRmpMRVZCUVUxRExGVkJRVlVzU1VGQmEwSklMRVZCUVVsTUxFZEJRVTlOTEVWQlFXZENSQ3hGUVVVelRTeFRRVUZUU1N4blFrRkJaMEpETEVWQlFWVkRMRWRCUVdVc1MwRkJUVVFzWVVGQmIwSkRMRWRCUVdkQ0xFMUJRVTBzU1VGQlNVTXNWVUZCVlN4eFEwRkZhRWdzVTBGQlUwTXNhMEpCUVd0Q2JrSXNSVUZCVVc5Q0xFZEJRVk1zU1VGQlN5eEpRVUZKYmtJc1JVRkJTU3hGUVVGSFFTeEZRVUZKYlVJc1JVRkJUV3BDTEU5QlFWRkdMRWxCUVVzc1EwRkJSU3hKUVVGSmIwSXNSVUZCWVVRc1JVRkJUVzVDTEVkQlFVbHZRaXhGUVVGWGVrSXNWMEZCWVhsQ0xFVkJRVmQ2UWl4aFFVRmpMRVZCUVU5NVFpeEZRVUZYVWl4alFVRmxMRVZCUVZVc1ZVRkJWMUVzU1VGQldVRXNSVUZCVjFBc1ZVRkJWeXhIUVVGTmVFSXNUMEZCVDI5Q0xHVkJRV1ZXTEVWQlFWRnhRaXhGUVVGWFppeEpRVUZMWlN4SlFVVTNVeXhUUVVGVFF5eGhRVUZoVEN4RlFVRmhUU3hGUVVGWlF5eEhRVUZ0U2l4UFFVRm9TVVFzUjBGQldVb3NhMEpCUVd0Q1JpeEZRVUZaVVN4VlFVRlhSaXhIUVVGcFFrTXNSMEZCWVV3c2EwSkJRV3RDUml4RlFVRmhUeXhIUVVGeFFsQXNSVUZGZWswc1NVRkJTVk1zVTBGQlYwTXNVVUZCVVN4VlFVTnVRa01zVDBGQlUwWXNVMEZCVTBVc1QwRkZiRUpETEZWQlFWbEdMRkZCUVZFc1VVRkRjRUpITEZGQlFWVkVMRlZCUVZWRExGRkJSWEJDUXl4UFFVRlRSQ3hUUVVGWFFTeFJRVUZSUXl4UlFVRlZMRlZCUlRGRExGTkJRVk5ETEZkQlFWZERMRVZCUVV0cVF5eEZRVUZSYTBNc1IwRkRMMEpPTEU5QlFVOUlMRlZCUVZWVkxFdEJRVXRETEV0QlFVdElMRVZCUVV0cVF5eEZRVUZSYTBNc1IwRkhNVU5ITEU5QlFVOURMRkZCUlZBc1YwRkRSU3hUUVVGVFF5eEpRVU5RZUVJc1owSkJRV2RDZVVJc1MwRkJUVVFzUjBGRmRFSkRMRXRCUVV0RExFdEJRVThzUzBGRFdrUXNTMEZCUzBVc1MwRkJUeXhMUVVOYVJpeExRVUZMY2tNc1QwRkJVeXhGUVRoTGFFSXNUMEV6UzBGdFFpeGhRVUZoYVVJc1JVRkJXU3hEUVVGRExFTkJRM2hDYWtNc1NVRkJTeXhQUVVOTVRTeE5RVUZQTEZOQlFXTXJRaXhIUVVOdVFpeEpRVUZKUXl4RlFVRlJMRU5CUTFaRExFdEJRVTFHTEVWQlEwNUhMRXRCUVUwc1RVRkZTazRzUzBGQlMzSkRMRTlCUVZNc1JVRkJSM0ZETEV0QlFVdEZMRXRCUVV0SkxFdEJRVTlHTEVWQlFWZEtMRXRCUVV0RExFdEJRVTlITEVWQlF6ZEVTaXhMUVVGTFJTeExRVUZQUlN4SlFVTldTaXhMUVVGTGNrTXNVMEZGVWl4RFFVTkVSeXhKUVVGTExGVkJRMHhOTEUxQlFVOHNVMEZCYVVJclFpeEhRVU4wUWl4SlFVRkpReXhGUVVGUkxFTkJRMVpETEV0QlFVMUdMRVZCUTA1SExFdEJRVTFPTEV0QlFVdERMRTFCUlU4c1NVRkJhRUpFTEV0QlFVdHlReXhUUVVGamNVTXNTMEZCUzBVc1MwRkJUMFVzUjBGRGJrTktMRXRCUVV0RExFdEJRVTlITEVsQlExWktMRXRCUVV0eVF5eFRRVVZTTEVOQlEwUkhMRWxCUVVzc1VVRkRURTBzVFVGQlR5eFhRVU5NTEVkQlFXOUNMRWxCUVdoQ05FSXNTMEZCUzNKRExFOUJRVlFzUTBGRFFTeEpRVUZKTkVNc1JVRkJUVkFzUzBGQlMwTXNTMEZCUzBrc1MwRkhjRUlzVDBGR2IwSXNTVUZCYUVKTUxFdEJRVXR5UXl4UFFVRmpjVU1zUzBGQlMwTXNTMEZCVDBRc1MwRkJTMFVzUzBGQlR5eExRVUZWUml4TFFVRkxReXhMUVVGUFJDeExRVUZMUXl4TFFVRkxTeXhQUVVNM1JVNHNTMEZCUzNKRExFOUJRMEUwUXl4TFFVVlNMRU5CUTBSNlF5eEpRVUZMTEZGQlEweE5MRTFCUVU4c1YwRkRURFJDTEV0QlFVdERMRXRCUVU5RUxFdEJRVXRGTEV0QlFVOHNTMEZEZUVKR0xFdEJRVXR5UXl4UFFVRlRMRWxCUldZc1EwRkRSRWNzU1VGQlN5eFBRVU5NVFN4TlFVRlBMRk5CUVdOdlF5eEhRVU51UWl4SFFVRnZRaXhKUVVGb1FsSXNTMEZCUzNKRExFOUJRV01zVFVGQlR5eEhRVWs1UWl4SlFVaEJMRWxCUVVrNFF5eEZRVUZKVkN4TFFVRkxReXhMUVVOVVRTeEZRVUZOTEVkQlFVdEZMRVZCUVVWS0xFdEJSVlpKTEVWQlFVbEJMRVZCUVVWSUxFMUJRMWhETEVkQlFVOURMRVZCUVVsRExFVkJRVVZLTEV0QlIyWXNUMEZCVDBVc1NVRkZVaXhEUVVORWVrTXNTVUZCU3l4VFFVTk1UU3hOUVVGUExGTkJRV2RDYzBNc1IwRkRja0lzUjBGQmIwSXNTVUZCYUVKV0xFdEJRVXR5UXl4UFFVRmpMRTlCUVU5NVFpeFBRVUZQZFVJc1RVRkJUU3hIUVVzelF5eEpRVXBCTEVsQlFVbEtMRVZCUVUxdVFpeFBRVUZQZDBJc1dVRkJXVVlzU1VGQlRTeEhRVU12UWtRc1JVRkJTVlFzUzBGQlMwTXNTMEZEVkhoRExFVkJRVWtzUlVGRlJHZEVMRWRCUTB4cVFpeFhRVUZYYVVJc1JVRkJSVW9zUzBGQlRVVXNSVUZCU3psRExFZEJRM2hDUVN4SFFVRkxaMFFzUlVGQlJVb3NTMEZCU3pGRExFOUJRMW80UXl4RlFVRkpRU3hGUVVGRlNDeExRVWRTTEU5QlFVOURMRWxCUjFJc1EwRkRSSHBETEVsQlFVc3NWVUZEVEUwc1RVRkJUeXhUUVVGcFFuTkRMRVZCUVVkSExFZEJRM3BDTEVsQlFVbE9MRVZCWTBvc1QwRmFTVWNzUlVGQlNWWXNTMEZCUzBNc1MwRkJTMGtzUzBGQlN6RkRMRkZCUlhKQ05FTXNSVUZCVFZBc1MwRkJTME1zUzBGQlMwa3NTMEZCUzFNc1RVRkJUU3hGUVVGSFNpeEhRVU01UWxZc1MwRkJTME1zUzBGQlMwa3NTMEZCVDB3c1MwRkJTME1zUzBGQlMwa3NTMEZCUzFNc1RVRkJUVW9zU1VGSGRFTklMRVZCUmxOSExFbEJRVTFXTEV0QlFVdERMRXRCUVV0SkxFdEJRVXN4UXl4UFFVVjRRbkZETEV0QlFVdGxMRkZCUjB4R0xFVkJRV0ZpTEV0QlFVdG5RaXhYUVVGWFRpeEhRVUZMVml4TFFVRkxhVUlzVjBGQlYxQXNSMEZIYmtSSUxFbEJSVklzUTBGRFJIcERMRWxCUVVzc1VVRkRURTBzVFVGQlR5eFhRVU5NTEU5QlFVODBRaXhMUVVGTFF5eExRVUZMU1N4UFFVZHNRaXhEUVVORWRrTXNTVUZCU3l4aFFVTk1UU3hOUVVGUExGTkJRVzlDYzBNc1IwRkRla0lzU1VGQlNVUXNSVUZCU1ZRc1MwRkJTME1zUzBGRFZHbENMRVZCUVVrc1JVRkRTbGdzUlVGQlRVVXNSVUZCUlVvc1MwRkhXaXhKUVVaQlN5eEhRVUZMU0N4RlFVRkpOVU1zVDBGRlJqaERMRVZCUVVsQkxFVkJRVVZJTEUxQlFVMHNRMEZEYWtJc1NVRkJTV0VzUlVGQlRWWXNSVUZCUlVvc1MwRkRVbVVzUlVGQlMxWXNSVUZCU1ZNc1JVRkJTWGhFTEU5QlFWTjNSQ3hGUVVGSmVFUXNUMEZCVXl0RExFVkJTWFpETEVkQlNFbFZMRWxCUVU5RUxFVkJRVWw0UkN4UFFVRlJORU1zUjBGQlQxa3NSVUZCVTFvc1IwRkJUMWtzUlVGQlNVd3NUVUZCVFN4RlFVRkhTaXhIUVVkcVJDeExRVVpXUVN4SFFVRkxWU3hIUVVWUkxFTkJRMUJCTEVsQlFVOUVMRVZCUVVsNFJDeFZRVU5ZZFVRc1JVRkRSVlFzUlVGQlJVZ3NTMEZCVFU0c1MwRkJTME1zUzBGQlQxRXNSVUZCUlVnc1MwRkJWVTRzUzBGQlMwTXNTMEZCVDBRc1MwRkJTMFVzUzBGQlR5eFBRVVUxUkVZc1MwRkJTME1zUzBGQlQxRXNSVUZEV2tFc1JVRkJSVW9zUzBGQlQyTXNSVUZCU1V3c1RVRkJUVTBzU1VGSGNrSXNVVUZIUVVZc1JVRkpTaXhQUVVSQmJFSXNTMEZCUzNKRExGRkJRVlYxUkN4RlFVTlNXQ3hKUVVkU0xFTkJRMFI2UXl4SlFVRkxMR0ZCUTB4TkxFMUJRVThzVTBGQmIwSnpReXhIUVVONlFpeEpRVUZKU0N4RlFVRk5ia0lzVDBGQlQzZENMRmxCUVZsR0xFZEJRM3BDUkN4RlFVRkpWQ3hMUVVGTFF5eExRVU5VYVVJc1JVRkJTU3hGUVVsU0xFbEJTRUZVTEVWQlFVVktMRXRCUVV0V0xFdEJRVXRaTEVkQlExcEhMRWRCUVV0RUxFVkJRVVZLTEV0QlFVc3hReXhQUVVWTU9FTXNSVUZCU1VFc1JVRkJSVWdzVFVGQlRTeERRVU5xUWl4SlFVRkpaU3hGUVVGTldpeEZRVUZGU2l4TFFVTlNaU3hGUVVGTFZpeEZRVUZKVnl4RlFVRkpNVVFzVDBGQlV6QkVMRVZCUVVreFJDeFBRVUZUSzBNc1JVRkpka01zUjBGSVFWY3NSVUZCU1RGQ0xFdEJRVXRaTEVWQlFVdEJMRVZCUVVrMVF5eFBRVUZUSzBNc1JVRkJSeXhGUVVGSFZTeEhRVWQyUWl4TFFVWldWaXhIUVVGTFZTeEhRVVZSTEVOQlExQkJMRWxCUVU5RExFVkJRVWt4UkN4VlFVTllkVVFzUlVGRFJWUXNSVUZCUlVnc1MwRkJUVTRzUzBGQlMwTXNTMEZCVDFFc1JVRkJSVWdzUzBGQlZVNHNTMEZCUzBNc1MwRkJUMFFzUzBGQlMwVXNTMEZCVHl4UFFVVTFSRVlzUzBGQlMwTXNTMEZCVDFFc1JVRkRXa0VzUlVGQlJVb3NTMEZCVDJkQ0xFVkJRVWxRTEUxQlFVMU5MRWxCUjNKQ0xGRkJSMEZHTEVWQlNVb3NUMEZFUVd4Q0xFdEJRVXR5UXl4UlFVRlZkVVFzUlVGRFVsZ3NTVUZIVWl4RFFVTkVla01zU1VGQlMzbENMRTlCUTB4dVFpeE5RVUZQTEZOQlFXVnJSQ3hGUVVGSFF5eEhRVU4yUWl4UFFVRlBha01zVVVGQlVWVXNTMEZCVFhwRExHTkJRV01zUjBGQlNXZEZMRVZCUVZNc1EwRkZPVU5ETEUxQlFVOHNSVUZGVUVNc1pVRkJaU3hUUVV0a01VSXNSVUZ3VEZRaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZiV0Z6ZEdWeUwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMM04wY21WaGJTMWljbTkzYzJWeWFXWjVMMjV2WkdWZmJXOWtkV3hsY3k5eVpXRmtZV0pzWlMxemRISmxZVzB2YkdsaUwybHVkR1Z5Ym1Gc0wzTjBjbVZoYlhNdlluVm1abVZ5WDJ4cGMzUXVhbk1pZlE9PSIsIlwidXNlIHN0cmljdFwiO2Z1bmN0aW9uIGRlc3Ryb3kodCxlKXt2YXIgcj10aGlzLGk9dGhpcy5fcmVhZGFibGVTdGF0ZSYmdGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQsYT10aGlzLl93cml0YWJsZVN0YXRlJiZ0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZDtyZXR1cm4gaXx8YT8oZT9lKHQpOnQmJih0aGlzLl93cml0YWJsZVN0YXRlP3RoaXMuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkfHwodGhpcy5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQ9ITAscHJvY2Vzcy5uZXh0VGljayhlbWl0RXJyb3JOVCx0aGlzLHQpKTpwcm9jZXNzLm5leHRUaWNrKGVtaXRFcnJvck5ULHRoaXMsdCkpLHRoaXMpOih0aGlzLl9yZWFkYWJsZVN0YXRlJiYodGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQ9ITApLHRoaXMuX3dyaXRhYmxlU3RhdGUmJih0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZD0hMCksdGhpcy5fZGVzdHJveSh0fHxudWxsLGZ1bmN0aW9uKHQpeyFlJiZ0P3IuX3dyaXRhYmxlU3RhdGU/ci5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQ/cHJvY2Vzcy5uZXh0VGljayhlbWl0Q2xvc2VOVCxyKTooci5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQ9ITAscHJvY2Vzcy5uZXh0VGljayhlbWl0RXJyb3JBbmRDbG9zZU5ULHIsdCkpOnByb2Nlc3MubmV4dFRpY2soZW1pdEVycm9yQW5kQ2xvc2VOVCxyLHQpOmU/KHByb2Nlc3MubmV4dFRpY2soZW1pdENsb3NlTlQsciksZSh0KSk6cHJvY2Vzcy5uZXh0VGljayhlbWl0Q2xvc2VOVCxyKX0pLHRoaXMpfWZ1bmN0aW9uIGVtaXRFcnJvckFuZENsb3NlTlQodCxlKXtlbWl0RXJyb3JOVCh0LGUpLGVtaXRDbG9zZU5UKHQpfWZ1bmN0aW9uIGVtaXRDbG9zZU5UKHQpe3QuX3dyaXRhYmxlU3RhdGUmJiF0Ll93cml0YWJsZVN0YXRlLmVtaXRDbG9zZXx8dC5fcmVhZGFibGVTdGF0ZSYmIXQuX3JlYWRhYmxlU3RhdGUuZW1pdENsb3NlfHx0LmVtaXQoXCJjbG9zZVwiKX1mdW5jdGlvbiB1bmRlc3Ryb3koKXt0aGlzLl9yZWFkYWJsZVN0YXRlJiYodGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQ9ITEsdGhpcy5fcmVhZGFibGVTdGF0ZS5yZWFkaW5nPSExLHRoaXMuX3JlYWRhYmxlU3RhdGUuZW5kZWQ9ITEsdGhpcy5fcmVhZGFibGVTdGF0ZS5lbmRFbWl0dGVkPSExKSx0aGlzLl93cml0YWJsZVN0YXRlJiYodGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ9ITEsdGhpcy5fd3JpdGFibGVTdGF0ZS5lbmRlZD0hMSx0aGlzLl93cml0YWJsZVN0YXRlLmVuZGluZz0hMSx0aGlzLl93cml0YWJsZVN0YXRlLmZpbmFsQ2FsbGVkPSExLHRoaXMuX3dyaXRhYmxlU3RhdGUucHJlZmluaXNoZWQ9ITEsdGhpcy5fd3JpdGFibGVTdGF0ZS5maW5pc2hlZD0hMSx0aGlzLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZD0hMSl9ZnVuY3Rpb24gZW1pdEVycm9yTlQodCxlKXt0LmVtaXQoXCJlcnJvclwiLGUpfWZ1bmN0aW9uIGVycm9yT3JEZXN0cm95KHQsZSl7dmFyIHI9dC5fcmVhZGFibGVTdGF0ZSxpPXQuX3dyaXRhYmxlU3RhdGU7ciYmci5hdXRvRGVzdHJveXx8aSYmaS5hdXRvRGVzdHJveT90LmRlc3Ryb3koZSk6dC5lbWl0KFwiZXJyb3JcIixlKX1tb2R1bGUuZXhwb3J0cz17ZGVzdHJveTpkZXN0cm95LHVuZGVzdHJveTp1bmRlc3Ryb3ksZXJyb3JPckRlc3Ryb3k6ZXJyb3JPckRlc3Ryb3l9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1SbGMzUnliM2t1YW5NaVhTd2libUZ0WlhNaU9sc2laR1Z6ZEhKdmVTSXNJbVZ5Y2lJc0ltTmlJaXdpWDNSb2FYTWlMQ0owYUdseklpd2ljbVZoWkdGaWJHVkVaWE4wY205NVpXUWlMQ0pmY21WaFpHRmliR1ZUZEdGMFpTSXNJbVJsYzNSeWIzbGxaQ0lzSW5keWFYUmhZbXhsUkdWemRISnZlV1ZrSWl3aVgzZHlhWFJoWW14bFUzUmhkR1VpTENKbGNuSnZja1Z0YVhSMFpXUWlMQ0p3Y205alpYTnpJaXdpYm1WNGRGUnBZMnNpTENKbGJXbDBSWEp5YjNKT1ZDSXNJbDlrWlhOMGNtOTVJaXdpWlcxcGRFTnNiM05sVGxRaUxDSmxiV2wwUlhKeWIzSkJibVJEYkc5elpVNVVJaXdpYzJWc1ppSXNJbVZ0YVhSRGJHOXpaU0lzSW1WdGFYUWlMQ0oxYm1SbGMzUnliM2tpTENKeVpXRmthVzVuSWl3aVpXNWtaV1FpTENKbGJtUkZiV2wwZEdWa0lpd2laVzVrYVc1bklpd2labWx1WVd4RFlXeHNaV1FpTENKd2NtVm1hVzVwYzJobFpDSXNJbVpwYm1semFHVmtJaXdpWlhKeWIzSlBja1JsYzNSeWIza2lMQ0p6ZEhKbFlXMGlMQ0p5VTNSaGRHVWlMQ0ozVTNSaGRHVWlMQ0poZFhSdlJHVnpkSEp2ZVNJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxHRkJSVUVzVTBGQlUwRXNVVUZCVVVNc1JVRkJTME1zUjBGRGNFSXNTVUZCU1VNc1JVRkJVVU1zUzBGRlVrTXNSVUZCYjBKRUxFdEJRVXRGTEdkQ1FVRnJRa1lzUzBGQlMwVXNaVUZCWlVNc1ZVRkRMMFJETEVWQlFXOUNTaXhMUVVGTFN5eG5Ra0ZCYTBKTUxFdEJRVXRMTEdWQlFXVkdMRlZCUlc1RkxFOUJRVWxHTEVkQlFYRkNSeXhIUVVOdVFrNHNSVUZEUmtFc1JVRkJSMFFzUjBGRFRVRXNTVUZEU2tjc1MwRkJTMHNzWlVGRlJVd3NTMEZCUzBzc1pVRkJaVU1zWlVGRE9VSk9MRXRCUVV0TExHVkJRV1ZETEdOQlFXVXNSVUZEYmtORExGRkJRVkZETEZOQlFWTkRMRmxCUVdGVUxFdEJRVTFJTEVsQlNIQkRWU3hSUVVGUlF5eFRRVUZUUXl4WlFVRmhWQ3hMUVVGTlNDeEpRVTlxUTBjc1QwRkxURUVzUzBGQlMwVXNhVUpCUTFCR0xFdEJRVXRGTEdWQlFXVkRMRmRCUVZrc1IwRkpPVUpJTEV0QlFVdExMR2xDUVVOUVRDeExRVUZMU3l4bFFVRmxSaXhYUVVGWkxFZEJSMnhEU0N4TFFVRkxWU3hUUVVGVFlpeEhRVUZQTEV0QlFVMHNVMEZCVlVFc1NVRkRPVUpETEVkQlFVMUVMRVZCUTBwRkxFVkJRVTFOTEdWQlJVTk9MRVZCUVUxTkxHVkJRV1ZETEdGQlNTOUNReXhSUVVGUlF5eFRRVUZUUnl4WlFVRmhXaXhKUVVnNVFrRXNSVUZCVFUwc1pVRkJaVU1zWTBGQlpTeEZRVU53UTBNc1VVRkJVVU1zVTBGQlUwa3NiMEpCUVhGQ1lpeEZRVUZQUml4SlFVZzNRMVVzVVVGQlVVTXNVMEZCVTBrc2IwSkJRWEZDWWl4RlFVRlBSaXhIUVU5MFEwTXNSMEZEVkZNc1VVRkJVVU1zVTBGQlUwY3NXVUZCWVZvc1IwRkRPVUpFTEVWQlFVZEVMRWxCUlVoVkxGRkJRVkZETEZOQlFWTkhMRmxCUVdGYUxFdEJTVE5DUXl4TlFVZFVMRk5CUVZOWkxHOUNRVUZ2UWtNc1JVRkJUV2hDTEVkQlEycERXU3haUVVGWlNTeEZRVUZOYUVJc1IwRkRiRUpqTEZsQlFWbEZMRWRCUjJRc1UwRkJVMFlzV1VGQldVVXNSMEZEWmtFc1JVRkJTMUlzYVVKQlFXMUNVU3hGUVVGTFVpeGxRVUZsVXl4WFFVTTFRMFFzUlVGQlMxZ3NhVUpCUVcxQ1Z5eEZRVUZMV0N4bFFVRmxXU3hYUVVOb1JFUXNSVUZCUzBVc1MwRkJTeXhUUVVkYUxGTkJRVk5ETEZsQlEwaG9RaXhMUVVGTFJTeHBRa0ZEVUVZc1MwRkJTMFVzWlVGQlpVTXNWMEZCV1N4RlFVTm9RMGdzUzBGQlMwVXNaVUZCWldVc1UwRkJWU3hGUVVNNVFtcENMRXRCUVV0RkxHVkJRV1ZuUWl4UFFVRlJMRVZCUXpWQ2JFSXNTMEZCUzBVc1pVRkJaV2xDTEZsQlFXRXNSMEZITDBKdVFpeExRVUZMU3l4cFFrRkRVRXdzUzBGQlMwc3NaVUZCWlVZc1YwRkJXU3hGUVVOb1EwZ3NTMEZCUzBzc1pVRkJaV0VzVDBGQlVTeEZRVU0xUW14Q0xFdEJRVXRMTEdWQlFXVmxMRkZCUVZNc1JVRkROMEp3UWl4TFFVRkxTeXhsUVVGbFowSXNZVUZCWXl4RlFVTnNRM0pDTEV0QlFVdExMR1ZCUVdWcFFpeGhRVUZqTEVWQlEyeERkRUlzUzBGQlMwc3NaVUZCWld0Q0xGVkJRVmNzUlVGREwwSjJRaXhMUVVGTFN5eGxRVUZsUXl4alFVRmxMRWRCU1haRExGTkJRVk5ITEZsQlFWbEpMRVZCUVUxb1FpeEhRVU42UW1kQ0xFVkJRVXRGTEV0QlFVc3NVVUZCVTJ4Q0xFZEJSM0pDTEZOQlFWTXlRaXhsUVVGbFF5eEZRVUZSTlVJc1IwRk5PVUlzU1VGQlNUWkNMRVZCUVZORUxFVkJRVTkyUWl4bFFVTm9RbmxDTEVWQlFWTkdMRVZCUVU5d1FpeGxRVU5vUW5GQ0xFZEJRVlZCTEVWQlFVOUZMR0ZCUVdWRUxFZEJRVlZCTEVWQlFVOURMRmxCUVdGSUxFVkJRVTgzUWl4UlFVRlJReXhIUVVGVk5FSXNSVUZCVDFZc1MwRkJTeXhSUVVGVGJFSXNSMEZIYkVoblF5eFBRVUZQUXl4UlFVRlZMRU5CUTJac1F5eFJRVUZUUVN4UlFVTlViMElzVlVGQlYwRXNWVUZEV0ZFc1pVRkJaMEpCSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwyMWhjM1JsY2k5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OXpkSEpsWVcwdFluSnZkM05sY21sbWVTOXViMlJsWDIxdlpIVnNaWE12Y21WaFpHRmliR1V0YzNSeVpXRnRMMnhwWWk5cGJuUmxjbTVoYkM5emRISmxZVzF6TDJSbGMzUnliM2t1YW5NaWZRPT0iLCJcInVzZSBzdHJpY3RcIjt2YXIgRVJSX1NUUkVBTV9QUkVNQVRVUkVfQ0xPU0U9cmVxdWlyZShcIi4uLy4uLy4uL2Vycm9yc1wiKS5jb2Rlcy5FUlJfU1RSRUFNX1BSRU1BVFVSRV9DTE9TRTtmdW5jdGlvbiBvbmNlKGUpe3ZhciByPSExO3JldHVybiBmdW5jdGlvbigpe2lmKCFyKXtyPSEwO2Zvcih2YXIgdD1hcmd1bWVudHMubGVuZ3RoLG49bmV3IEFycmF5KHQpLG89MDtvPHQ7bysrKW5bb109YXJndW1lbnRzW29dO2UuYXBwbHkodGhpcyxuKX19fWZ1bmN0aW9uIG5vb3AoKXt9ZnVuY3Rpb24gaXNSZXF1ZXN0KGUpe3JldHVybiBlLnNldEhlYWRlciYmXCJmdW5jdGlvblwiPT10eXBlb2YgZS5hYm9ydH1mdW5jdGlvbiBlb3MoZSxyLHQpe2lmKFwiZnVuY3Rpb25cIj09dHlwZW9mIHIpcmV0dXJuIGVvcyhlLG51bGwscik7cnx8KHI9e30pLHQ9b25jZSh0fHxub29wKTt2YXIgbj1yLnJlYWRhYmxlfHwhMSE9PXIucmVhZGFibGUmJmUucmVhZGFibGUsbz1yLndyaXRhYmxlfHwhMSE9PXIud3JpdGFibGUmJmUud3JpdGFibGUsaT1mdW5jdGlvbigpe2Uud3JpdGFibGV8fGwoKX0sYT1lLl93cml0YWJsZVN0YXRlJiZlLl93cml0YWJsZVN0YXRlLmZpbmlzaGVkLGw9ZnVuY3Rpb24oKXtvPSExLGE9ITAsbnx8dC5jYWxsKGUpfSxzPWUuX3JlYWRhYmxlU3RhdGUmJmUuX3JlYWRhYmxlU3RhdGUuZW5kRW1pdHRlZCxjPWZ1bmN0aW9uKCl7bj0hMSxzPSEwLG98fHQuY2FsbChlKX0sdT1mdW5jdGlvbihyKXt0LmNhbGwoZSxyKX0sZj1mdW5jdGlvbigpe3ZhciByO3JldHVybiBuJiYhcz8oZS5fcmVhZGFibGVTdGF0ZSYmZS5fcmVhZGFibGVTdGF0ZS5lbmRlZHx8KHI9bmV3IEVSUl9TVFJFQU1fUFJFTUFUVVJFX0NMT1NFKSx0LmNhbGwoZSxyKSk6byYmIWE/KGUuX3dyaXRhYmxlU3RhdGUmJmUuX3dyaXRhYmxlU3RhdGUuZW5kZWR8fChyPW5ldyBFUlJfU1RSRUFNX1BSRU1BVFVSRV9DTE9TRSksdC5jYWxsKGUscikpOnZvaWQgMH0sZD1mdW5jdGlvbigpe2UucmVxLm9uKFwiZmluaXNoXCIsbCl9O3JldHVybiBpc1JlcXVlc3QoZSk/KGUub24oXCJjb21wbGV0ZVwiLGwpLGUub24oXCJhYm9ydFwiLGYpLGUucmVxP2QoKTplLm9uKFwicmVxdWVzdFwiLGQpKTpvJiYhZS5fd3JpdGFibGVTdGF0ZSYmKGUub24oXCJlbmRcIixpKSxlLm9uKFwiY2xvc2VcIixpKSksZS5vbihcImVuZFwiLGMpLGUub24oXCJmaW5pc2hcIixsKSwhMSE9PXIuZXJyb3ImJmUub24oXCJlcnJvclwiLHUpLGUub24oXCJjbG9zZVwiLGYpLGZ1bmN0aW9uKCl7ZS5yZW1vdmVMaXN0ZW5lcihcImNvbXBsZXRlXCIsbCksZS5yZW1vdmVMaXN0ZW5lcihcImFib3J0XCIsZiksZS5yZW1vdmVMaXN0ZW5lcihcInJlcXVlc3RcIixkKSxlLnJlcSYmZS5yZXEucmVtb3ZlTGlzdGVuZXIoXCJmaW5pc2hcIixsKSxlLnJlbW92ZUxpc3RlbmVyKFwiZW5kXCIsaSksZS5yZW1vdmVMaXN0ZW5lcihcImNsb3NlXCIsaSksZS5yZW1vdmVMaXN0ZW5lcihcImZpbmlzaFwiLGwpLGUucmVtb3ZlTGlzdGVuZXIoXCJlbmRcIixjKSxlLnJlbW92ZUxpc3RlbmVyKFwiZXJyb3JcIix1KSxlLnJlbW92ZUxpc3RlbmVyKFwiY2xvc2VcIixmKX19bW9kdWxlLmV4cG9ydHM9ZW9zO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1WdVpDMXZaaTF6ZEhKbFlXMHVhbk1pWFN3aWJtRnRaWE1pT2xzaVJWSlNYMU5VVWtWQlRWOVFVa1ZOUVZSVlVrVmZRMHhQVTBVaUxDSnlaWEYxYVhKbElpd2lZMjlrWlhNaUxDSnZibU5sSWl3aVkyRnNiR0poWTJzaUxDSmpZV3hzWldRaUxDSmZiR1Z1SWl3aVlYSm5kVzFsYm5Seklpd2liR1Z1WjNSb0lpd2lZWEpuY3lJc0lrRnljbUY1SWl3aVgydGxlU0lzSW1Gd2NHeDVJaXdpZEdocGN5SXNJbTV2YjNBaUxDSnBjMUpsY1hWbGMzUWlMQ0p6ZEhKbFlXMGlMQ0p6WlhSSVpXRmtaWElpTENKaFltOXlkQ0lzSW1WdmN5SXNJbTl3ZEhNaUxDSnlaV0ZrWVdKc1pTSXNJbmR5YVhSaFlteGxJaXdpYjI1c1pXZGhZM2xtYVc1cGMyZ2lMQ0p2Ym1acGJtbHphQ0lzSW5keWFYUmhZbXhsUlc1a1pXUWlMQ0pmZDNKcGRHRmliR1ZUZEdGMFpTSXNJbVpwYm1semFHVmtJaXdpWTJGc2JDSXNJbkpsWVdSaFlteGxSVzVrWldRaUxDSmZjbVZoWkdGaWJHVlRkR0YwWlNJc0ltVnVaRVZ0YVhSMFpXUWlMQ0p2Ym1WdVpDSXNJbTl1WlhKeWIzSWlMQ0psY25JaUxDSnZibU5zYjNObElpd2laVzVrWldRaUxDSnZibkpsY1hWbGMzUWlMQ0p5WlhFaUxDSnZiaUlzSW1WeWNtOXlJaXdpY21WdGIzWmxUR2x6ZEdWdVpYSWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkZRU3hoUVVWQkxFbEJRVWxCTERKQ1FVRTJRa01zVVVGQlVTeHRRa0ZCYlVKRExFMUJRVTFHTERKQ1FVVnNSU3hUUVVGVFJ5eExRVUZMUXl4SFFVTmFMRWxCUVVsRExFZEJRVk1zUlVGRFlpeFBRVUZQTEZkQlEwd3NTVUZCU1VFc1JVRkJTaXhEUVVOQlFTeEhRVUZUTEVWQlJWUXNTVUZCU3l4SlFVRkpReXhGUVVGUFF5eFZRVUZWUXl4UFFVRlJReXhGUVVGUExFbEJRVWxETEUxQlFVMUtMRWRCUVU5TExFVkJRVThzUlVGQlIwRXNSVUZCVDB3c1JVRkJUVXNzU1VGREwwVkdMRVZCUVV0RkxFZEJRVkZLTEZWQlFWVkpMRWRCUjNwQ1VDeEZRVUZUVVN4TlFVRk5ReXhMUVVGTlNpeExRVWw2UWl4VFFVRlRTeXhSUVVWVUxGTkJRVk5ETEZWQlFWVkRMRWRCUTJwQ0xFOUJRVTlCTEVWQlFVOURMRmRCUVhGRExHMUNRVUZxUWtRc1JVRkJUMFVzVFVGSE0wTXNVMEZCVTBNc1NVRkJTVWdzUlVGQlVVa3NSVUZCVFdoQ0xFZEJRM3BDTEVkQlFXOUNMRzFDUVVGVVowSXNSVUZCY1VJc1QwRkJUMFFzU1VGQlNVZ3NSVUZCVVN4TFFVRk5TU3hIUVVOd1JFRXNTVUZCVFVFc1JVRkJUeXhKUVVOc1FtaENMRVZCUVZkRUxFdEJRVXRETEVkQlFWbFZMRTFCUXpWQ0xFbEJRVWxQTEVWQlFWZEVMRVZCUVV0RExGZEJRVGhDTEVsQlFXeENSQ3hGUVVGTFF5eFZRVUZ6UWt3c1JVRkJUMHNzVTBGRE9VUkRMRVZCUVZkR0xFVkJRVXRGTEZkQlFUaENMRWxCUVd4Q1JpeEZRVUZMUlN4VlFVRnpRazRzUlVGQlQwMHNVMEZGT1VSRExFVkJRV2xDTEZkQlEyUlFMRVZCUVU5TkxGVkJRVlZGTEV0QlIzQkNReXhGUVVGblFsUXNSVUZCVDFVc1owSkJRV3RDVml4RlFVRlBWU3hsUVVGbFF5eFRRVVV2UkVnc1JVRkJWeXhYUVVOaVJpeEhRVUZYTEVWQlExaEhMRWRCUVdkQ0xFVkJRMWhLTEVkQlFWVnFRaXhGUVVGVGQwSXNTMEZCUzFvc1NVRkhNMEpoTEVWQlFXZENZaXhGUVVGUFl5eG5Ra0ZCYTBKa0xFVkJRVTlqTEdWQlFXVkRMRmRCUlM5RVF5eEZRVUZSTEZkQlExWllMRWRCUVZjc1JVRkRXRkVzUjBGQlowSXNSVUZEV0ZBc1IwRkJWV3hDTEVWQlFWTjNRaXhMUVVGTFdpeEpRVWN6UW1sQ0xFVkJRVlVzVTBGQmFVSkRMRWRCUXpkQ09VSXNSVUZCVTNkQ0xFdEJRVXRhTEVWQlFWRnJRaXhKUVVkd1FrTXNSVUZCVlN4WFFVTmFMRWxCUVVsRUxFVkJSVW9zVDBGQlNXSXNTVUZCWVZFc1IwRkRWbUlzUlVGQlQyTXNaMEpCUVcxQ1pDeEZRVUZQWXl4bFFVRmxUU3hSUVVGUFJpeEZRVUZOTEVsQlFVbHNReXcwUWtGREwwUkpMRVZCUVZOM1FpeExRVUZMV2l4RlFVRlJhMElzU1VGSE0wSmFMRWxCUVdGSExFZEJRMVpVTEVWQlFVOVZMR2RDUVVGdFFsWXNSVUZCVDFVc1pVRkJaVlVzVVVGQlQwWXNSVUZCVFN4SlFVRkpiRU1zTkVKQlF5OUVTU3hGUVVGVGQwSXNTMEZCUzFvc1JVRkJVV3RDTEZOQlJpOUNMRWRCVFVWSExFVkJRVmtzVjBGRFpISkNMRVZCUVU5elFpeEpRVUZKUXl4SFFVRkhMRk5CUVZWbUxFbEJhVUl4UWl4UFFXUkpWQ3hWUVVGVlF5eEpRVU5hUVN4RlFVRlBkVUlzUjBGQlJ5eFhRVUZaWml4SFFVTjBRbElzUlVGQlQzVkNMRWRCUVVjc1VVRkJVMG9zUjBGRFptNUNMRVZCUVU5elFpeEpRVUZMUkN4SlFVRnBRbkpDTEVWQlFVOTFRaXhIUVVGSExGVkJRVmRHTEVsQlF6ZERaaXhKUVVGaFRpeEZRVUZQVlN4cFFrRkZOMEpXTEVWQlFVOTFRaXhIUVVGSExFMUJRVTlvUWl4SFFVTnFRbEFzUlVGQlQzVkNMRWRCUVVjc1VVRkJVMmhDTEVsQlIzSkNVQ3hGUVVGUGRVSXNSMEZCUnl4TlFVRlBVQ3hIUVVOcVFtaENMRVZCUVU5MVFpeEhRVUZITEZOQlFWVm1MRWxCUTBRc1NVRkJaa29zUlVGQlMyOUNMRTlCUVdsQ2VFSXNSVUZCVDNWQ0xFZEJRVWNzVVVGQlUwNHNSMEZETjBOcVFpeEZRVUZQZFVJc1IwRkJSeXhSUVVGVFNpeEhRVU5hTEZkQlEweHVRaXhGUVVGUGVVSXNaVUZCWlN4WFFVRlpha0lzUjBGRGJFTlNMRVZCUVU5NVFpeGxRVUZsTEZGQlFWTk9MRWRCUXk5Q2JrSXNSVUZCVDNsQ0xHVkJRV1VzVlVGQlYwb3NSMEZETjBKeVFpeEZRVUZQYzBJc1MwRkJTM1JDTEVWQlFVOXpRaXhKUVVGSlJ5eGxRVUZsTEZOQlFWVnFRaXhIUVVOd1JGSXNSVUZCVDNsQ0xHVkJRV1VzVFVGQlQyeENMRWRCUXpkQ1VDeEZRVUZQZVVJc1pVRkJaU3hSUVVGVGJFSXNSMEZETDBKUUxFVkJRVTk1UWl4bFFVRmxMRk5CUVZWcVFpeEhRVU5vUTFJc1JVRkJUM2xDTEdWQlFXVXNUVUZCVDFRc1IwRkROMEpvUWl4RlFVRlBlVUlzWlVGQlpTeFJRVUZUVWl4SFFVTXZRbXBDTEVWQlFVOTVRaXhsUVVGbExGRkJRVk5PTEVsQlNXNURUeXhQUVVGUFF5eFJRVUZWZUVJaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZiV0Z6ZEdWeUwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMM04wY21WaGJTMWljbTkzYzJWeWFXWjVMMjV2WkdWZmJXOWtkV3hsY3k5eVpXRmtZV0pzWlMxemRISmxZVzB2YkdsaUwybHVkR1Z5Ym1Gc0wzTjBjbVZoYlhNdlpXNWtMVzltTFhOMGNtVmhiUzVxY3lKOSIsIm1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKFwiUmVhZGFibGUuZnJvbSBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBicm93c2VyXCIpfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltWnliMjB0WW5KdmQzTmxjaTVxY3lKZExDSnVZVzFsY3lJNld5SnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2lSWEp5YjNJaVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQlFTeFBRVUZQUXl4UlFVRlZMRmRCUTJZc1RVRkJUU3hKUVVGSlF5eE5RVUZOSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwyMWhjM1JsY2k5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OXpkSEpsWVcwdFluSnZkM05sY21sbWVTOXViMlJsWDIxdlpIVnNaWE12Y21WaFpHRmliR1V0YzNSeVpXRnRMMnhwWWk5cGJuUmxjbTVoYkM5emRISmxZVzF6TDJaeWIyMHRZbkp2ZDNObGNpNXFjeUo5IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIGVvcztmdW5jdGlvbiBvbmNlKGUpe3ZhciByPSExO3JldHVybiBmdW5jdGlvbigpe3J8fChyPSEwLGUuYXBwbHkodm9pZCAwLGFyZ3VtZW50cykpfX12YXIgX3JlcXVpcmUkY29kZXM9cmVxdWlyZShcIi4uLy4uLy4uL2Vycm9yc1wiKS5jb2RlcyxFUlJfTUlTU0lOR19BUkdTPV9yZXF1aXJlJGNvZGVzLkVSUl9NSVNTSU5HX0FSR1MsRVJSX1NUUkVBTV9ERVNUUk9ZRUQ9X3JlcXVpcmUkY29kZXMuRVJSX1NUUkVBTV9ERVNUUk9ZRUQ7ZnVuY3Rpb24gbm9vcChlKXtpZihlKXRocm93IGV9ZnVuY3Rpb24gaXNSZXF1ZXN0KGUpe3JldHVybiBlLnNldEhlYWRlciYmXCJmdW5jdGlvblwiPT10eXBlb2YgZS5hYm9ydH1mdW5jdGlvbiBkZXN0cm95ZXIoZSxyLG4sbyl7bz1vbmNlKG8pO3ZhciB0PSExO2Uub24oXCJjbG9zZVwiLGZ1bmN0aW9uKCl7dD0hMH0pLHZvaWQgMD09PWVvcyYmKGVvcz1yZXF1aXJlKFwiLi9lbmQtb2Ytc3RyZWFtXCIpKSxlb3MoZSx7cmVhZGFibGU6cix3cml0YWJsZTpufSxmdW5jdGlvbihlKXtpZihlKXJldHVybiBvKGUpO3Q9ITAsbygpfSk7dmFyIGk9ITE7cmV0dXJuIGZ1bmN0aW9uKHIpe2lmKCF0JiYhaSlyZXR1cm4gaT0hMCxpc1JlcXVlc3QoZSk/ZS5hYm9ydCgpOlwiZnVuY3Rpb25cIj09dHlwZW9mIGUuZGVzdHJveT9lLmRlc3Ryb3koKTp2b2lkIG8ocnx8bmV3IEVSUl9TVFJFQU1fREVTVFJPWUVEKFwicGlwZVwiKSl9fWZ1bmN0aW9uIGNhbGwoZSl7ZSgpfWZ1bmN0aW9uIHBpcGUoZSxyKXtyZXR1cm4gZS5waXBlKHIpfWZ1bmN0aW9uIHBvcENhbGxiYWNrKGUpe3JldHVybiBlLmxlbmd0aD9cImZ1bmN0aW9uXCIhPXR5cGVvZiBlW2UubGVuZ3RoLTFdP25vb3A6ZS5wb3AoKTpub29wfWZ1bmN0aW9uIHBpcGVsaW5lKCl7Zm9yKHZhciBlPWFyZ3VtZW50cy5sZW5ndGgscj1uZXcgQXJyYXkoZSksbj0wO248ZTtuKyspcltuXT1hcmd1bWVudHNbbl07dmFyIG8sdD1wb3BDYWxsYmFjayhyKTtpZihBcnJheS5pc0FycmF5KHJbMF0pJiYocj1yWzBdKSxyLmxlbmd0aDwyKXRocm93IG5ldyBFUlJfTUlTU0lOR19BUkdTKFwic3RyZWFtc1wiKTt2YXIgaT1yLm1hcChmdW5jdGlvbihlLG4pe3ZhciB1PW48ci5sZW5ndGgtMTtyZXR1cm4gZGVzdHJveWVyKGUsdSxuPjAsZnVuY3Rpb24oZSl7b3x8KG89ZSksZSYmaS5mb3JFYWNoKGNhbGwpLHV8fChpLmZvckVhY2goY2FsbCksdChvKSl9KX0pO3JldHVybiByLnJlZHVjZShwaXBlKX1tb2R1bGUuZXhwb3J0cz1waXBlbGluZTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluQnBjR1ZzYVc1bExtcHpJbDBzSW01aGJXVnpJanBiSW1WdmN5SXNJbTl1WTJVaUxDSmpZV3hzWW1GamF5SXNJbU5oYkd4bFpDSXNJbUZ3Y0d4NUlpd2lZWEpuZFcxbGJuUnpJaXdpWDNKbGNYVnBjbVVrWTI5a1pYTWlMQ0p5WlhGMWFYSmxJaXdpWTI5a1pYTWlMQ0pGVWxKZlRVbFRVMGxPUjE5QlVrZFRJaXdpUlZKU1gxTlVVa1ZCVFY5RVJWTlVVazlaUlVRaUxDSnViMjl3SWl3aVpYSnlJaXdpYVhOU1pYRjFaWE4wSWl3aWMzUnlaV0Z0SWl3aWMyVjBTR1ZoWkdWeUlpd2lZV0p2Y25RaUxDSmtaWE4wY205NVpYSWlMQ0p5WldGa2FXNW5JaXdpZDNKcGRHbHVaeUlzSW1Oc2IzTmxaQ0lzSW05dUlpd2lkVzVrWldacGJtVmtJaXdpY21WaFpHRmliR1VpTENKM2NtbDBZV0pzWlNJc0ltUmxjM1J5YjNsbFpDSXNJbVJsYzNSeWIza2lMQ0pqWVd4c0lpd2labTRpTENKd2FYQmxJaXdpWm5KdmJTSXNJblJ2SWl3aWNHOXdRMkZzYkdKaFkyc2lMQ0p6ZEhKbFlXMXpJaXdpYkdWdVozUm9JaXdpY0c5d0lpd2ljR2x3Wld4cGJtVWlMQ0pmYkdWdUlpd2lRWEp5WVhraUxDSmZhMlY1SWl3aVpYSnliM0lpTENKcGMwRnljbUY1SWl3aVpHVnpkSEp2ZVhNaUxDSnRZWEFpTENKcElpd2labTl5UldGamFDSXNJbkpsWkhWalpTSXNJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlYU3dpYldGd2NHbHVaM01pT2lKQlFVVkJMR0ZCUlVFc1NVRkJTVUVzU1VGRlNpeFRRVUZUUXl4TFFVRkxReXhIUVVOYUxFbEJRVWxETEVkQlFWTXNSVUZEWWl4UFFVRlBMRmRCUTBSQkxFbEJRMHBCTEVkQlFWTXNSVUZEVkVRc1JVRkJVMFVzVjBGQlRTeEZRVUZSUXl4aFFVa3pRaXhKUVVGSlF5eGxRVUZwUWtNc1VVRkJVU3h0UWtGQmJVSkRMRTFCUXpWRFF5eHBRa0ZCYlVKSUxHVkJRV1ZITEdsQ1FVTnNRME1zY1VKQlFYVkNTaXhsUVVGbFNTeHhRa0ZGTVVNc1UwRkJVME1zUzBGQlMwTXNSMEZGV2l4SFFVRkpRU3hGUVVGTExFMUJRVTFCTEVWQlIycENMRk5CUVZORExGVkJRVlZETEVkQlEycENMRTlCUVU5QkxFVkJRVTlETEZkQlFYRkRMRzFDUVVGcVFrUXNSVUZCVDBVc1RVRkhNME1zVTBGQlUwTXNWVUZCVlVnc1JVRkJVVWtzUlVGQlUwTXNSVUZCVTJwQ0xFZEJRek5EUVN4RlFVRlhSQ3hMUVVGTFF5eEhRVU5vUWl4SlFVRkphMElzUjBGQlV5eEZRVU5pVGl4RlFVRlBUeXhIUVVGSExGRkJRVk1zVjBGRGFrSkVMRWRCUVZNc1UwRkZRMFVzU1VGQlVuUkNMRTFCUVcxQ1FTeEpRVUZOVHl4UlFVRlJMRzlDUVVOeVExQXNTVUZCU1dNc1JVRkJVU3hEUVVOV1V5eFRRVUZWVEN4RlFVTldUU3hUUVVGVlRDeEhRVU5VTEZOQlFWVlFMRWRCUTFnc1IwRkJTVUVzUlVGQlN5eFBRVUZQVml4RlFVRlRWU3hIUVVONlFsRXNSMEZCVXl4RlFVTlViRUlzVFVGRlJpeEpRVUZKZFVJc1IwRkJXU3hGUVVOb1FpeFBRVUZQTEZOQlFWVmlMRWRCUTJZc1NVRkJTVkVzU1VGRFFVc3NSVUZIU2l4UFFVWkJRU3hIUVVGWkxFVkJSVkphTEZWQlFWVkRMRWRCUVdkQ1FTeEZRVUZQUlN4UlFVTlFMRzFDUVVGdVFrWXNSVUZCVDFrc1VVRkJLMEphTEVWQlFVOVpMR1ZCUTNoRWVFSXNSVUZCVTFVc1IwRkJUeXhKUVVGSlJpeHhRa0ZCY1VJc1ZVRkpOME1zVTBGQlUybENMRXRCUVV0RExFZEJRMXBCTEVsQlIwWXNVMEZCVTBNc1MwRkJTME1zUlVGQlRVTXNSMEZEYkVJc1QwRkJUMFFzUlVGQlMwUXNTMEZCUzBVc1IwRkhia0lzVTBGQlUwTXNXVUZCV1VNc1IwRkRia0lzVDBGQlMwRXNSVUZCVVVNc1QwRkRPRUlzYlVKQlFXaERSQ3hGUVVGUlFTeEZRVUZSUXl4UFFVRlRMRWRCUVRCQ2RrSXNTMEZEZGtSelFpeEZRVUZSUlN4TlFVWmhlRUlzUzBGTE9VSXNVMEZCVTNsQ0xGZEJRMUFzU1VGQlN5eEpRVUZKUXl4RlFVRlBhRU1zVlVGQlZUWkNMRTlCUVZGRUxFVkJRVlVzU1VGQlNVc3NUVUZCVFVRc1IwRkJUMFVzUlVGQlR5eEZRVUZIUVN4RlFVRlBSaXhGUVVGTlJTeEpRVU5zUms0c1JVRkJVVTBzUjBGQlVXeERMRlZCUVZWclF5eEhRVWMxUWl4SlFVOUpReXhGUVZCQmRFTXNSVUZCVnpoQ0xGbEJRVmxETEVkQlJ6TkNMRWRCUmtsTExFMUJRVTFITEZGQlFWRlNMRVZCUVZFc1RVRkJTMEVzUlVGQlZVRXNSVUZCVVN4SlFVVTNRMEVzUlVGQlVVTXNUMEZCVXl4RlFVTnVRaXhOUVVGTkxFbEJRVWw2UWl4cFFrRkJhVUlzVjBGSk4wSXNTVUZCU1dsRExFVkJRVmRVTEVWQlFWRlZMRWxCUVVrc1UwRkJWVGRDTEVWQlFWRTRRaXhIUVVNelF5eEpRVUZKTVVJc1JVRkJWVEJDTEVWQlFVbFlMRVZCUVZGRExFOUJRVk1zUlVGRmJrTXNUMEZCVDJwQ0xGVkJRVlZJTEVWQlFWRkpMRVZCUkZnd1FpeEZRVUZKTEVWQlEzbENMRk5CUVZWb1F5eEhRVU01UXpSQ0xFbEJRVTlCTEVWQlFWRTFRaXhIUVVOb1FrRXNSMEZCU3poQ0xFVkJRVk5ITEZGQlFWRnNRaXhOUVVOMFFsUXNTVUZEU25kQ0xFVkJRVk5ITEZGQlFWRnNRaXhOUVVOcVFucENMRVZCUVZOelF5eFJRVWRpTEU5QlFVOVFMRVZCUVZGaExFOUJRVTlxUWl4TlFVZDRRbXRDTEU5QlFVOURMRkZCUVZWYUlpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMMjFoYzNSbGNpOXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTl6ZEhKbFlXMHRZbkp2ZDNObGNtbG1lUzl1YjJSbFgyMXZaSFZzWlhNdmNtVmhaR0ZpYkdVdGMzUnlaV0Z0TDJ4cFlpOXBiblJsY201aGJDOXpkSEpsWVcxekwzQnBjR1ZzYVc1bExtcHpJbjA9IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIEVSUl9JTlZBTElEX09QVF9WQUxVRT1yZXF1aXJlKFwiLi4vLi4vLi4vZXJyb3JzXCIpLmNvZGVzLkVSUl9JTlZBTElEX09QVF9WQUxVRTtmdW5jdGlvbiBoaWdoV2F0ZXJNYXJrRnJvbShyLGUsdCl7cmV0dXJuIG51bGwhPXIuaGlnaFdhdGVyTWFyaz9yLmhpZ2hXYXRlck1hcms6ZT9yW3RdOm51bGx9ZnVuY3Rpb24gZ2V0SGlnaFdhdGVyTWFyayhyLGUsdCxhKXt2YXIgaT1oaWdoV2F0ZXJNYXJrRnJvbShlLGEsdCk7aWYobnVsbCE9aSl7aWYoIWlzRmluaXRlKGkpfHxNYXRoLmZsb29yKGkpIT09aXx8aTwwKXRocm93IG5ldyBFUlJfSU5WQUxJRF9PUFRfVkFMVUUoYT90OlwiaGlnaFdhdGVyTWFya1wiLGkpO3JldHVybiBNYXRoLmZsb29yKGkpfXJldHVybiByLm9iamVjdE1vZGU/MTY6MTYzODR9bW9kdWxlLmV4cG9ydHM9e2dldEhpZ2hXYXRlck1hcms6Z2V0SGlnaFdhdGVyTWFya307XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbk4wWVhSbExtcHpJbDBzSW01aGJXVnpJanBiSWtWU1VsOUpUbFpCVEVsRVgwOVFWRjlXUVV4VlJTSXNJbkpsY1hWcGNtVWlMQ0pqYjJSbGN5SXNJbWhwWjJoWFlYUmxjazFoY210R2NtOXRJaXdpYjNCMGFXOXVjeUlzSW1selJIVndiR1Y0SWl3aVpIVndiR1Y0UzJWNUlpd2lhR2xuYUZkaGRHVnlUV0Z5YXlJc0ltZGxkRWhwWjJoWFlYUmxjazFoY21zaUxDSnpkR0YwWlNJc0ltaDNiU0lzSW1selJtbHVhWFJsSWl3aVRXRjBhQ0lzSW1ac2IyOXlJaXdpYjJKcVpXTjBUVzlrWlNJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxHRkJSVUVzU1VGQlNVRXNjMEpCUVhkQ1F5eFJRVUZSTEcxQ1FVRnRRa01zVFVGQlRVWXNjMEpCUlRkRUxGTkJRVk5ITEd0Q1FVRnJRa01zUlVGQlUwTXNSVUZCVlVNc1IwRkROVU1zVDBGQlowTXNUVUZCZWtKR0xFVkJRVkZITEdOQlFYZENTQ3hGUVVGUlJ5eGpRVUZuUWtZc1JVRkJWMFFzUlVGQlVVVXNSMEZCWVN4TFFVZHFSeXhUUVVGVFJTeHBRa0ZCYVVKRExFVkJRVTlNTEVWQlFWTkZMRVZCUVZkRUxFZEJRMjVFTEVsQlFVbExMRVZCUVUxUUxHdENRVUZyUWtNc1JVRkJVME1zUlVGQlZVTXNSMEZGTDBNc1IwRkJWeXhOUVVGUVNTeEZRVUZoTEVOQlEyWXNTVUZCVFVNc1UwRkJVMFFzU1VGQlVVVXNTMEZCUzBNc1RVRkJUVWdzUzBGQlUwRXNSMEZCVVVFc1JVRkJUU3hGUVVWMlJDeE5RVUZOTEVsQlFVbFdMSE5DUVVSRFN5eEZRVUZYUXl4RlFVRlpMR2RDUVVOSlNTeEhRVWQ0UXl4UFFVRlBSU3hMUVVGTFF5eE5RVUZOU0N4SFFVbHdRaXhQUVVGUFJDeEZRVUZOU3l4WFFVRmhMRWRCUVVzc1RVRkhha05ETEU5QlFVOURMRkZCUVZVc1EwRkRabElzYVVKQlFXdENRU0lzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5dFlYTjBaWEl2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdmMzUnlaV0Z0TFdKeWIzZHpaWEpwWm5rdmJtOWtaVjl0YjJSMWJHVnpMM0psWVdSaFlteGxMWE4wY21WaGJTOXNhV0l2YVc1MFpYSnVZV3d2YzNSeVpXRnRjeTl6ZEdGMFpTNXFjeUo5IiwibW9kdWxlLmV4cG9ydHM9cmVxdWlyZShcImV2ZW50c1wiKS5FdmVudEVtaXR0ZXI7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbk4wY21WaGJTMWljbTkzYzJWeUxtcHpJbDBzSW01aGJXVnpJanBiSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pTENKeVpYRjFhWEpsSWl3aVJYWmxiblJGYldsMGRHVnlJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVUVzVDBGQlQwTXNVVUZCVlVNc1VVRkJVU3hWUVVGVlF5SXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl0WVhOMFpYSXZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12YzNSeVpXRnRMV0p5YjNkelpYSnBabmt2Ym05a1pWOXRiMlIxYkdWekwzSmxZV1JoWW14bExYTjBjbVZoYlM5c2FXSXZhVzUwWlhKdVlXd3ZjM1J5WldGdGN5OXpkSEpsWVcwdFluSnZkM05sY2k1cWN5SjkiLCJcInVzZSBzdHJpY3RcIjt2YXIgQnVmZmVyPXJlcXVpcmUoXCJzYWZlLWJ1ZmZlclwiKS5CdWZmZXIsaXNFbmNvZGluZz1CdWZmZXIuaXNFbmNvZGluZ3x8ZnVuY3Rpb24odCl7c3dpdGNoKCh0PVwiXCIrdCkmJnQudG9Mb3dlckNhc2UoKSl7Y2FzZVwiaGV4XCI6Y2FzZVwidXRmOFwiOmNhc2VcInV0Zi04XCI6Y2FzZVwiYXNjaWlcIjpjYXNlXCJiaW5hcnlcIjpjYXNlXCJiYXNlNjRcIjpjYXNlXCJ1Y3MyXCI6Y2FzZVwidWNzLTJcIjpjYXNlXCJ1dGYxNmxlXCI6Y2FzZVwidXRmLTE2bGVcIjpjYXNlXCJyYXdcIjpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX07ZnVuY3Rpb24gX25vcm1hbGl6ZUVuY29kaW5nKHQpe2lmKCF0KXJldHVyblwidXRmOFwiO2Zvcih2YXIgZTs7KXN3aXRjaCh0KXtjYXNlXCJ1dGY4XCI6Y2FzZVwidXRmLThcIjpyZXR1cm5cInV0ZjhcIjtjYXNlXCJ1Y3MyXCI6Y2FzZVwidWNzLTJcIjpjYXNlXCJ1dGYxNmxlXCI6Y2FzZVwidXRmLTE2bGVcIjpyZXR1cm5cInV0ZjE2bGVcIjtjYXNlXCJsYXRpbjFcIjpjYXNlXCJiaW5hcnlcIjpyZXR1cm5cImxhdGluMVwiO2Nhc2VcImJhc2U2NFwiOmNhc2VcImFzY2lpXCI6Y2FzZVwiaGV4XCI6cmV0dXJuIHQ7ZGVmYXVsdDppZihlKXJldHVybjt0PShcIlwiK3QpLnRvTG93ZXJDYXNlKCksZT0hMH19ZnVuY3Rpb24gbm9ybWFsaXplRW5jb2RpbmcodCl7dmFyIGU9X25vcm1hbGl6ZUVuY29kaW5nKHQpO2lmKFwic3RyaW5nXCIhPXR5cGVvZiBlJiYoQnVmZmVyLmlzRW5jb2Rpbmc9PT1pc0VuY29kaW5nfHwhaXNFbmNvZGluZyh0KSkpdGhyb3cgbmV3IEVycm9yKFwiVW5rbm93biBlbmNvZGluZzogXCIrdCk7cmV0dXJuIGV8fHR9ZnVuY3Rpb24gU3RyaW5nRGVjb2Rlcih0KXt2YXIgZTtzd2l0Y2godGhpcy5lbmNvZGluZz1ub3JtYWxpemVFbmNvZGluZyh0KSx0aGlzLmVuY29kaW5nKXtjYXNlXCJ1dGYxNmxlXCI6dGhpcy50ZXh0PXV0ZjE2VGV4dCx0aGlzLmVuZD11dGYxNkVuZCxlPTQ7YnJlYWs7Y2FzZVwidXRmOFwiOnRoaXMuZmlsbExhc3Q9dXRmOEZpbGxMYXN0LGU9NDticmVhaztjYXNlXCJiYXNlNjRcIjp0aGlzLnRleHQ9YmFzZTY0VGV4dCx0aGlzLmVuZD1iYXNlNjRFbmQsZT0zO2JyZWFrO2RlZmF1bHQ6cmV0dXJuIHRoaXMud3JpdGU9c2ltcGxlV3JpdGUsdm9pZCh0aGlzLmVuZD1zaW1wbGVFbmQpfXRoaXMubGFzdE5lZWQ9MCx0aGlzLmxhc3RUb3RhbD0wLHRoaXMubGFzdENoYXI9QnVmZmVyLmFsbG9jVW5zYWZlKGUpfWZ1bmN0aW9uIHV0ZjhDaGVja0J5dGUodCl7cmV0dXJuIHQ8PTEyNz8wOnQ+PjU9PTY/Mjp0Pj40PT0xND8zOnQ+PjM9PTMwPzQ6dD4+Nj09Mj8tMTotMn1mdW5jdGlvbiB1dGY4Q2hlY2tJbmNvbXBsZXRlKHQsZSxzKXt2YXIgaT1lLmxlbmd0aC0xO2lmKGk8cylyZXR1cm4gMDt2YXIgbj11dGY4Q2hlY2tCeXRlKGVbaV0pO3JldHVybiBuPj0wPyhuPjAmJih0Lmxhc3ROZWVkPW4tMSksbik6LS1pPHN8fC0yPT09bj8wOihuPXV0ZjhDaGVja0J5dGUoZVtpXSkpPj0wPyhuPjAmJih0Lmxhc3ROZWVkPW4tMiksbik6LS1pPHN8fC0yPT09bj8wOihuPXV0ZjhDaGVja0J5dGUoZVtpXSkpPj0wPyhuPjAmJigyPT09bj9uPTA6dC5sYXN0TmVlZD1uLTMpLG4pOjB9ZnVuY3Rpb24gdXRmOENoZWNrRXh0cmFCeXRlcyh0LGUscyl7aWYoMTI4IT0oMTkyJmVbMF0pKXJldHVybiB0Lmxhc3ROZWVkPTAsXCLvv71cIjtpZih0Lmxhc3ROZWVkPjEmJmUubGVuZ3RoPjEpe2lmKDEyOCE9KDE5MiZlWzFdKSlyZXR1cm4gdC5sYXN0TmVlZD0xLFwi77+9XCI7aWYodC5sYXN0TmVlZD4yJiZlLmxlbmd0aD4yJiYxMjghPSgxOTImZVsyXSkpcmV0dXJuIHQubGFzdE5lZWQ9MixcIu+/vVwifX1mdW5jdGlvbiB1dGY4RmlsbExhc3QodCl7dmFyIGU9dGhpcy5sYXN0VG90YWwtdGhpcy5sYXN0TmVlZCxzPXV0ZjhDaGVja0V4dHJhQnl0ZXModGhpcyx0LGUpO3JldHVybiB2b2lkIDAhPT1zP3M6dGhpcy5sYXN0TmVlZDw9dC5sZW5ndGg/KHQuY29weSh0aGlzLmxhc3RDaGFyLGUsMCx0aGlzLmxhc3ROZWVkKSx0aGlzLmxhc3RDaGFyLnRvU3RyaW5nKHRoaXMuZW5jb2RpbmcsMCx0aGlzLmxhc3RUb3RhbCkpOih0LmNvcHkodGhpcy5sYXN0Q2hhcixlLDAsdC5sZW5ndGgpLHZvaWQodGhpcy5sYXN0TmVlZC09dC5sZW5ndGgpKX1mdW5jdGlvbiB1dGY4VGV4dCh0LGUpe3ZhciBzPXV0ZjhDaGVja0luY29tcGxldGUodGhpcyx0LGUpO2lmKCF0aGlzLmxhc3ROZWVkKXJldHVybiB0LnRvU3RyaW5nKFwidXRmOFwiLGUpO3RoaXMubGFzdFRvdGFsPXM7dmFyIGk9dC5sZW5ndGgtKHMtdGhpcy5sYXN0TmVlZCk7cmV0dXJuIHQuY29weSh0aGlzLmxhc3RDaGFyLDAsaSksdC50b1N0cmluZyhcInV0ZjhcIixlLGkpfWZ1bmN0aW9uIHV0ZjhFbmQodCl7dmFyIGU9dCYmdC5sZW5ndGg/dGhpcy53cml0ZSh0KTpcIlwiO3JldHVybiB0aGlzLmxhc3ROZWVkP2UrXCLvv71cIjplfWZ1bmN0aW9uIHV0ZjE2VGV4dCh0LGUpe2lmKCh0Lmxlbmd0aC1lKSUyPT0wKXt2YXIgcz10LnRvU3RyaW5nKFwidXRmMTZsZVwiLGUpO2lmKHMpe3ZhciBpPXMuY2hhckNvZGVBdChzLmxlbmd0aC0xKTtpZihpPj01NTI5NiYmaTw9NTYzMTkpcmV0dXJuIHRoaXMubGFzdE5lZWQ9Mix0aGlzLmxhc3RUb3RhbD00LHRoaXMubGFzdENoYXJbMF09dFt0Lmxlbmd0aC0yXSx0aGlzLmxhc3RDaGFyWzFdPXRbdC5sZW5ndGgtMV0scy5zbGljZSgwLC0xKX1yZXR1cm4gc31yZXR1cm4gdGhpcy5sYXN0TmVlZD0xLHRoaXMubGFzdFRvdGFsPTIsdGhpcy5sYXN0Q2hhclswXT10W3QubGVuZ3RoLTFdLHQudG9TdHJpbmcoXCJ1dGYxNmxlXCIsZSx0Lmxlbmd0aC0xKX1mdW5jdGlvbiB1dGYxNkVuZCh0KXt2YXIgZT10JiZ0Lmxlbmd0aD90aGlzLndyaXRlKHQpOlwiXCI7aWYodGhpcy5sYXN0TmVlZCl7dmFyIHM9dGhpcy5sYXN0VG90YWwtdGhpcy5sYXN0TmVlZDtyZXR1cm4gZSt0aGlzLmxhc3RDaGFyLnRvU3RyaW5nKFwidXRmMTZsZVwiLDAscyl9cmV0dXJuIGV9ZnVuY3Rpb24gYmFzZTY0VGV4dCh0LGUpe3ZhciBzPSh0Lmxlbmd0aC1lKSUzO3JldHVybiAwPT09cz90LnRvU3RyaW5nKFwiYmFzZTY0XCIsZSk6KHRoaXMubGFzdE5lZWQ9My1zLHRoaXMubGFzdFRvdGFsPTMsMT09PXM/dGhpcy5sYXN0Q2hhclswXT10W3QubGVuZ3RoLTFdOih0aGlzLmxhc3RDaGFyWzBdPXRbdC5sZW5ndGgtMl0sdGhpcy5sYXN0Q2hhclsxXT10W3QubGVuZ3RoLTFdKSx0LnRvU3RyaW5nKFwiYmFzZTY0XCIsZSx0Lmxlbmd0aC1zKSl9ZnVuY3Rpb24gYmFzZTY0RW5kKHQpe3ZhciBlPXQmJnQubGVuZ3RoP3RoaXMud3JpdGUodCk6XCJcIjtyZXR1cm4gdGhpcy5sYXN0TmVlZD9lK3RoaXMubGFzdENoYXIudG9TdHJpbmcoXCJiYXNlNjRcIiwwLDMtdGhpcy5sYXN0TmVlZCk6ZX1mdW5jdGlvbiBzaW1wbGVXcml0ZSh0KXtyZXR1cm4gdC50b1N0cmluZyh0aGlzLmVuY29kaW5nKX1mdW5jdGlvbiBzaW1wbGVFbmQodCl7cmV0dXJuIHQmJnQubGVuZ3RoP3RoaXMud3JpdGUodCk6XCJcIn1leHBvcnRzLlN0cmluZ0RlY29kZXI9U3RyaW5nRGVjb2RlcixTdHJpbmdEZWNvZGVyLnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbih0KXtpZigwPT09dC5sZW5ndGgpcmV0dXJuXCJcIjt2YXIgZSxzO2lmKHRoaXMubGFzdE5lZWQpe2lmKHZvaWQgMD09PShlPXRoaXMuZmlsbExhc3QodCkpKXJldHVyblwiXCI7cz10aGlzLmxhc3ROZWVkLHRoaXMubGFzdE5lZWQ9MH1lbHNlIHM9MDtyZXR1cm4gczx0Lmxlbmd0aD9lP2UrdGhpcy50ZXh0KHQscyk6dGhpcy50ZXh0KHQscyk6ZXx8XCJcIn0sU3RyaW5nRGVjb2Rlci5wcm90b3R5cGUuZW5kPXV0ZjhFbmQsU3RyaW5nRGVjb2Rlci5wcm90b3R5cGUudGV4dD11dGY4VGV4dCxTdHJpbmdEZWNvZGVyLnByb3RvdHlwZS5maWxsTGFzdD1mdW5jdGlvbih0KXtpZih0aGlzLmxhc3ROZWVkPD10Lmxlbmd0aClyZXR1cm4gdC5jb3B5KHRoaXMubGFzdENoYXIsdGhpcy5sYXN0VG90YWwtdGhpcy5sYXN0TmVlZCwwLHRoaXMubGFzdE5lZWQpLHRoaXMubGFzdENoYXIudG9TdHJpbmcodGhpcy5lbmNvZGluZywwLHRoaXMubGFzdFRvdGFsKTt0LmNvcHkodGhpcy5sYXN0Q2hhcix0aGlzLmxhc3RUb3RhbC10aGlzLmxhc3ROZWVkLDAsdC5sZW5ndGgpLHRoaXMubGFzdE5lZWQtPXQubGVuZ3RofTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluTjBjbWx1WjE5a1pXTnZaR1Z5TG1weklsMHNJbTVoYldWeklqcGJJa0oxWm1abGNpSXNJbkpsY1hWcGNtVWlMQ0pwYzBWdVkyOWthVzVuSWl3aVpXNWpiMlJwYm1jaUxDSjBiMHh2ZDJWeVEyRnpaU0lzSWw5dWIzSnRZV3hwZW1WRmJtTnZaR2x1WnlJc0ltVnVZeUlzSW5KbGRISnBaV1FpTENKdWIzSnRZV3hwZW1WRmJtTnZaR2x1WnlJc0ltNWxibU1pTENKRmNuSnZjaUlzSWxOMGNtbHVaMFJsWTI5a1pYSWlMQ0p1WWlJc0luUm9hWE1pTENKMFpYaDBJaXdpZFhSbU1UWlVaWGgwSWl3aVpXNWtJaXdpZFhSbU1UWkZibVFpTENKbWFXeHNUR0Z6ZENJc0luVjBaamhHYVd4c1RHRnpkQ0lzSW1KaGMyVTJORlJsZUhRaUxDSmlZWE5sTmpSRmJtUWlMQ0ozY21sMFpTSXNJbk5wYlhCc1pWZHlhWFJsSWl3aWMybHRjR3hsUlc1a0lpd2liR0Z6ZEU1bFpXUWlMQ0pzWVhOMFZHOTBZV3dpTENKc1lYTjBRMmhoY2lJc0ltRnNiRzlqVlc1ellXWmxJaXdpZFhSbU9FTm9aV05yUW5sMFpTSXNJbUo1ZEdVaUxDSjFkR1k0UTJobFkydEpibU52YlhCc1pYUmxJaXdpYzJWc1ppSXNJbUoxWmlJc0lta2lMQ0pxSWl3aWJHVnVaM1JvSWl3aWRYUm1PRU5vWldOclJYaDBjbUZDZVhSbGN5SXNJbkFpTENKeUlpd2lkVzVrWldacGJtVmtJaXdpWTI5d2VTSXNJblJ2VTNSeWFXNW5JaXdpZFhSbU9GUmxlSFFpTENKMGIzUmhiQ0lzSW5WMFpqaEZibVFpTENKaklpd2lZMmhoY2tOdlpHVkJkQ0lzSW5Oc2FXTmxJaXdpYmlJc0ltVjRjRzl5ZEhNaUxDSndjbTkwYjNSNWNHVWlYU3dpYldGd2NHbHVaM01pT2lKQlFYRkNRU3hoUVVsQkxFbEJRVWxCTEU5QlFWTkRMRkZCUVZFc1pVRkJaVVFzVDBGSGFFTkZMRmRCUVdGR0xFOUJRVTlGTEZsQlFXTXNVMEZCVlVNc1IwRkZPVU1zVVVGRVFVRXNSVUZCVnl4SFFVRkxRU3hKUVVOSlFTeEZRVUZUUXl4bFFVTXpRaXhKUVVGTExFMUJRVTBzU1VGQlN5eFBRVUZQTEVsQlFVc3NVVUZCVVN4SlFVRkxMRkZCUVZFc1NVRkJTeXhUUVVGVExFbEJRVXNzVTBGQlV5eEpRVUZMTEU5QlFVOHNTVUZCU3l4UlFVRlJMRWxCUVVzc1ZVRkJWU3hKUVVGTExGZEJRVmNzU1VGQlN5eE5RVU40U1N4UFFVRlBMRVZCUTFRc1VVRkRSU3hQUVVGUExFbEJTV0lzVTBGQlUwTXNiVUpCUVcxQ1F5eEhRVU14UWl4SlFVRkxRU3hGUVVGTExFMUJRVThzVDBGRmFrSXNTVUZFUVN4SlFVRkpReXhKUVVWR0xFOUJRVkZFTEVkQlEwNHNTVUZCU3l4UFFVTk1MRWxCUVVzc1VVRkRTQ3hOUVVGUExFOUJRMVFzU1VGQlN5eFBRVU5NTEVsQlFVc3NVVUZEVEN4SlFVRkxMRlZCUTB3c1NVRkJTeXhYUVVOSUxFMUJRVThzVlVGRFZDeEpRVUZMTEZOQlEwd3NTVUZCU3l4VFFVTklMRTFCUVU4c1UwRkRWQ3hKUVVGTExGTkJRMHdzU1VGQlN5eFJRVU5NTEVsQlFVc3NUVUZEU0N4UFFVRlBRU3hGUVVOVUxGRkJRMFVzUjBGQlNVTXNSVUZCVXl4UFFVTmlSQ3hIUVVGUExFZEJRVXRCTEVkQlFVdEdMR05CUTJwQ1J5eEhRVUZWTEVkQlQyeENMRk5CUVZORExHdENRVUZyUWtZc1IwRkRla0lzU1VGQlNVY3NSVUZCVDBvc2JVSkJRVzFDUXl4SFFVTTVRaXhIUVVGdlFpeHBRa0ZCVkVjc1NVRkJjMEpVTEU5QlFVOUZMR0ZCUVdWQkxHRkJRV1ZCTEZkQlFWZEpMRWxCUVU4c1RVRkJUU3hKUVVGSlNTeE5RVUZOTEhGQ1FVRjFRa29zUjBGREwwZ3NUMEZCVDBjc1IwRkJVVWdzUlVGUGFrSXNVMEZCVTBzc1kwRkJZMUlzUjBGRmNrSXNTVUZCU1ZNc1JVRkRTaXhQUVVaQlF5eExRVUZMVml4VFFVRlhTeXhyUWtGQmEwSk1MRWRCUlRGQ1ZTeExRVUZMVml4VlFVTllMRWxCUVVzc1ZVRkRTRlVzUzBGQlMwTXNTMEZCVDBNc1ZVRkRXa1lzUzBGQlMwY3NTVUZCVFVNc1UwRkRXRXdzUlVGQlN5eEZRVU5NTEUxQlEwWXNTVUZCU3l4UFFVTklReXhMUVVGTFN5eFRRVUZYUXl4aFFVTm9RbEFzUlVGQlN5eEZRVU5NTEUxQlEwWXNTVUZCU3l4VFFVTklReXhMUVVGTFF5eExRVUZQVFN4WFFVTmFVQ3hMUVVGTFJ5eEpRVUZOU3l4VlFVTllWQ3hGUVVGTExFVkJRMHdzVFVGRFJpeFJRVWRGTEU5QlJrRkRMRXRCUVV0VExFMUJRVkZETEdsQ1FVTmlWaXhMUVVGTFJ5eEpRVUZOVVN4WFFVZG1XQ3hMUVVGTFdTeFRRVUZYTEVWQlEyaENXaXhMUVVGTFlTeFZRVUZaTEVWQlEycENZaXhMUVVGTFl5eFRRVUZYTTBJc1QwRkJUelJDTEZsQlFWbG9RaXhIUVc5RGNrTXNVMEZCVTJsQ0xHTkJRV05ETEVkQlEzSkNMRTlCUVVsQkxFZEJRVkVzU1VGQllTeEZRVUZYUVN4SFFVRlJMRWRCUVUwc1JVRkJZU3hGUVVGWFFTeEhRVUZSTEVkQlFVMHNSMEZCWVN4RlFVRlhRU3hIUVVGUkxFZEJRVTBzUjBGQllTeEZRVU53U1VFc1IwRkJVU3hIUVVGTkxFZEJRVkVzUjBGQlN5eEZRVTF3UXl4VFFVRlRReXh2UWtGQmIwSkRMRVZCUVUxRExFVkJRVXRETEVkQlEzUkRMRWxCUVVsRExFVkJRVWxHTEVWQlFVbEhMRTlCUVZNc1JVRkRja0lzUjBGQlNVUXNSVUZCU1VRc1JVRkJSeXhQUVVGUExFVkJRMnhDTEVsQlFVbDBRaXhGUVVGTGFVSXNZMEZCWTBrc1JVRkJTVVVzU1VGRE0wSXNUMEZCU1haQ0xFZEJRVTBzUjBGRFNrRXNSVUZCU3l4SlFVRkhiMElzUlVGQlMxQXNVMEZCVjJJc1JVRkJTeXhIUVVNeFFrRXNTMEZGU0hWQ0xFVkJRVWxFTEVsQlFXRXNTVUZCVW5SQ0xFVkJRV3RDTEVkQlEycERRU3hGUVVGTGFVSXNZMEZCWTBrc1JVRkJTVVVzVFVGRFlpeEhRVU5LZGtJc1JVRkJTeXhKUVVGSGIwSXNSVUZCUzFBc1UwRkJWMklzUlVGQlN5eEhRVU14UWtFc1MwRkZTSFZDTEVWQlFVbEVMRWxCUVdFc1NVRkJVblJDTEVWQlFXdENMRWRCUTJwRFFTeEZRVUZMYVVJc1kwRkJZMGtzUlVGQlNVVXNUVUZEWWl4SFFVTktka0lzUlVGQlN5eEpRVU5KTEVsQlFWQkJMRVZCUVZWQkxFVkJRVXNzUlVGQlQyOUNMRVZCUVV0UUxGTkJRVmRpTEVWQlFVc3NSMEZGTVVOQkxFZEJSVVlzUlVGWFZDeFRRVUZUZVVJc2IwSkJRVzlDVEN4RlFVRk5ReXhGUVVGTFN5eEhRVU4wUXl4SFFVRjNRaXhOUVVGV0xFbEJRVlJNTEVWQlFVa3NTVUZGVUN4UFFVUkJSQ3hGUVVGTFVDeFRRVUZYTEVWQlExUXNTVUZGVkN4SFFVRkpUeXhGUVVGTFVDeFRRVUZYTEVkQlFVdFJMRVZCUVVsSExFOUJRVk1zUlVGQlJ5eERRVU4yUXl4SFFVRjNRaXhOUVVGV0xFbEJRVlJJTEVWQlFVa3NTVUZGVUN4UFFVUkJSQ3hGUVVGTFVDeFRRVUZYTEVWQlExUXNTVUZGVkN4SFFVRkpUeXhGUVVGTFVDeFRRVUZYTEVkQlFVdFJMRVZCUVVsSExFOUJRVk1zUjBGRFdpeE5RVUZXTEVsQlFWUklMRVZCUVVrc1NVRkZVQ3hQUVVSQlJDeEZRVUZMVUN4VFFVRlhMRVZCUTFRc1MwRlBaaXhUUVVGVFRpeGhRVUZoWXl4SFFVTndRaXhKUVVGSlN5eEZRVUZKZWtJc1MwRkJTMkVzVlVGQldXSXNTMEZCUzFrc1UwRkRNVUpqTEVWQlFVbEdMRzlDUVVGdlFuaENMRXRCUVUxdlFpeEZRVUZMU3l4SFFVTjJReXhaUVVGVlJTeEpRVUZPUkN4RlFVRjNRa0VzUlVGRGVFSXhRaXhMUVVGTFdTeFZRVUZaVVN4RlFVRkpSeXhSUVVOMlFrZ3NSVUZCU1ZFc1MwRkJTelZDTEV0QlFVdGpMRk5CUVZWWExFVkJRVWNzUlVGQlIzcENMRXRCUVV0WkxGVkJRelZDV2l4TFFVRkxZeXhUUVVGVFpTeFRRVUZUTjBJc1MwRkJTMVlzVTBGQlZTeEZRVUZIVlN4TFFVRkxZU3hoUVVWMlJFOHNSVUZCU1ZFc1MwRkJTelZDTEV0QlFVdGpMRk5CUVZWWExFVkJRVWNzUlVGQlIwd3NSVUZCU1Vjc1lVRkRiRU4yUWl4TFFVRkxXU3hWUVVGWlVTeEZRVUZKUnl4VFFVMTJRaXhUUVVGVFR5eFRRVUZUVml4RlFVRkxReXhIUVVOeVFpeEpRVUZKVlN4RlFVRlJZaXh2UWtGQmIwSnNRaXhMUVVGTmIwSXNSVUZCUzBNc1IwRkRNME1zU1VGQlMzSkNMRXRCUVV0WkxGTkJRVlVzVDBGQlQxRXNSVUZCU1ZNc1UwRkJVeXhQUVVGUlVpeEhRVU5vUkhKQ0xFdEJRVXRoTEZWQlFWbHJRaXhGUVVOcVFpeEpRVUZKTlVJc1JVRkJUV2xDTEVWQlFVbEhMRkZCUVZWUkxFVkJRVkV2UWl4TFFVRkxXU3hWUVVWeVF5eFBRVVJCVVN4RlFVRkpVU3hMUVVGTE5VSXNTMEZCUzJNc1UwRkJWU3hGUVVGSFdDeEhRVU53UW1sQ0xFVkJRVWxUTEZOQlFWTXNUMEZCVVZJc1JVRkJSMnhDTEVkQlMycERMRk5CUVZNMlFpeFJRVUZSV2l4SFFVTm1MRWxCUVVsTkxFVkJRVWxPTEVkQlFVOUJMRVZCUVVsSExFOUJRVk4yUWl4TFFVRkxVeXhOUVVGTlZ5eEhRVUZQTEVkQlF6bERMRTlCUVVsd1FpeExRVUZMV1N4VFFVRnBRbU1zUlVGQlNTeEpRVU4yUWtFc1JVRlBWQ3hUUVVGVGVFSXNWVUZCVld0Q0xFVkJRVXRETEVkQlEzUkNMRWxCUVV0RUxFVkJRVWxITEU5QlFWTkdMRWRCUVVzc1IwRkJUU3hGUVVGSExFTkJRemxDTEVsQlFVbExMRVZCUVVsT0xFVkJRVWxUTEZOQlFWTXNWVUZCVjFJc1IwRkRhRU1zUjBGQlNVc3NSVUZCUnl4RFFVTk1MRWxCUVVsUExFVkJRVWxRTEVWQlFVVlJMRmRCUVZkU0xFVkJRVVZJTEU5QlFWTXNSMEZEYUVNc1IwRkJTVlVzUjBGQlN5eFBRVUZWUVN4SFFVRkxMRTFCUzNSQ0xFOUJTa0ZxUXl4TFFVRkxXU3hUUVVGWExFVkJRMmhDV2l4TFFVRkxZU3hWUVVGWkxFVkJRMnBDWWl4TFFVRkxZeXhUUVVGVExFZEJRVXROTEVWQlFVbEJMRVZCUVVsSExFOUJRVk1zUjBGRGNFTjJRaXhMUVVGTFl5eFRRVUZUTEVkQlFVdE5MRVZCUVVsQkxFVkJRVWxITEU5QlFWTXNSMEZETjBKSExFVkJRVVZUTEUxQlFVMHNSMEZCU1N4SFFVZDJRaXhQUVVGUFZDeEZRVXRVTEU5QlNFRXhRaXhMUVVGTFdTeFRRVUZYTEVWQlEyaENXaXhMUVVGTFlTeFZRVUZaTEVWQlEycENZaXhMUVVGTFl5eFRRVUZUTEVkQlFVdE5MRVZCUVVsQkxFVkJRVWxITEU5QlFWTXNSMEZETjBKSUxFVkJRVWxUTEZOQlFWTXNWVUZCVjFJc1JVRkJSMFFzUlVGQlNVY3NUMEZCVXl4SFFVdHFSQ3hUUVVGVGJrSXNVMEZCVTJkQ0xFZEJRMmhDTEVsQlFVbE5MRVZCUVVsT0xFZEJRVTlCTEVWQlFVbEhMRTlCUVZOMlFpeExRVUZMVXl4TlFVRk5WeXhIUVVGUExFZEJRemxETEVkQlFVbHdRaXhMUVVGTFdTeFRRVUZWTEVOQlEycENMRWxCUVVsVUxFVkJRVTFJTEV0QlFVdGhMRlZCUVZsaUxFdEJRVXRaTEZOQlEyaERMRTlCUVU5akxFVkJRVWt4UWl4TFFVRkxZeXhUUVVGVFpTeFRRVUZUTEZWQlFWY3NSVUZCUnpGQ0xFZEJSV3hFTEU5QlFVOTFRaXhGUVVkVUxGTkJRVk51UWl4WFFVRlhZU3hGUVVGTFF5eEhRVU4yUWl4SlFVRkpaU3hIUVVGTGFFSXNSVUZCU1Vjc1QwRkJVMFlzUjBGQlN5eEZRVU16UWl4UFFVRlZMRWxCUVU1bExFVkJRV2RDYUVJc1JVRkJTVk1zVTBGQlV5eFRRVUZWVWl4SlFVTXpRM0pDTEV0QlFVdFpMRk5CUVZjc1JVRkJTWGRDTEVWQlEzQkNjRU1zUzBGQlMyRXNWVUZCV1N4RlFVTlFMRWxCUVU1MVFpeEZRVU5HY0VNc1MwRkJTMk1zVTBGQlV5eEhRVUZMVFN4RlFVRkpRU3hGUVVGSlJ5eFBRVUZUTEVsQlJYQkRka0lzUzBGQlMyTXNVMEZCVXl4SFFVRkxUU3hGUVVGSlFTeEZRVUZKUnl4UFFVRlRMRWRCUTNCRGRrSXNTMEZCUzJNc1UwRkJVeXhIUVVGTFRTeEZRVUZKUVN4RlFVRkpSeXhQUVVGVExFbEJSUzlDU0N4RlFVRkpVeXhUUVVGVExGTkJRVlZTTEVWQlFVZEVMRVZCUVVsSExFOUJRVk5oTEVsQlIyaEVMRk5CUVZNMVFpeFZRVUZWV1N4SFFVTnFRaXhKUVVGSlRTeEZRVUZKVGl4SFFVRlBRU3hGUVVGSlJ5eFBRVUZUZGtJc1MwRkJTMU1zVFVGQlRWY3NSMEZCVHl4SFFVTTVReXhQUVVGSmNFSXNTMEZCUzFrc1UwRkJhVUpqTEVWQlFVa3hRaXhMUVVGTFl5eFRRVUZUWlN4VFFVRlRMRk5CUVZVc1JVRkJSeXhGUVVGSk4wSXNTMEZCUzFrc1ZVRkRjRVZqTEVWQlNWUXNVMEZCVTJoQ0xGbEJRVmxWTEVkQlEyNUNMRTlCUVU5QkxFVkJRVWxUTEZOQlFWTTNRaXhMUVVGTFZpeFZRVWN6UWl4VFFVRlRjVUlzVlVGQlZWTXNSMEZEYWtJc1QwRkJUMEVzUjBGQlQwRXNSVUZCU1Vjc1QwRkJVM1pDTEV0QlFVdFRMRTFCUVUxWExFZEJRVThzUjBGNlRpOURhVUlzVVVGQlVYWkRMR05CUVdkQ1FTeGpRVFpDZUVKQkxHTkJRV04zUXl4VlFVRlZOMElzVFVGQlVTeFRRVUZWVnl4SFFVTjRReXhIUVVGdFFpeEpRVUZtUVN4RlFVRkpSeXhQUVVGakxFMUJRVThzUjBGRE4wSXNTVUZCU1Vjc1JVRkRRVXdzUlVGRFNpeEhRVUZKY2tJc1MwRkJTMWtzVTBGQlZTeERRVVZxUWl4UlFVRlZaU3hMUVVSV1JDeEZRVUZKTVVJc1MwRkJTMHNzVTBGQlUyVXNTVUZEUnl4TlFVRlBMRWRCUXpWQ1F5eEZRVUZKY2tJc1MwRkJTMWtzVTBGRFZGb3NTMEZCUzFrc1UwRkJWeXhQUVVWb1FsTXNSVUZCU1N4RlFVVk9MRTlCUVVsQkxFVkJRVWxFTEVWQlFVbEhMRTlCUVdWSExFVkJRVWxCTEVWQlFVa3hRaXhMUVVGTFF5eExRVUZMYlVJc1JVRkJTME1zUjBGQlMzSkNMRXRCUVV0RExFdEJRVXR0UWl4RlFVRkxReXhIUVVNdlJFc3NSMEZCU3l4SlFVZGtOVUlzWTBGQlkzZERMRlZCUVZWdVF5eEpRVUZOTmtJc1VVRkhPVUpzUXl4alFVRmpkME1zVlVGQlZYSkRMRXRCUVU4MlFpeFRRVWN2UW1oRExHTkJRV04zUXl4VlFVRlZha01zVTBGQlZ5eFRRVUZWWlN4SFFVTXpReXhIUVVGSmNFSXNTMEZCUzFrc1ZVRkJXVkVzUlVGQlNVY3NUMEZGZGtJc1QwRkVRVWdzUlVGQlNWRXNTMEZCU3pWQ0xFdEJRVXRqTEZOQlFWVmtMRXRCUVV0aExGVkJRVmxpTEV0QlFVdFpMRk5CUVZVc1JVRkJSMW9zUzBGQlMxa3NWVUZEZWtSYUxFdEJRVXRqTEZOQlFWTmxMRk5CUVZNM1FpeExRVUZMVml4VFFVRlZMRVZCUVVkVkxFdEJRVXRoTEZkQlJYWkVUeXhGUVVGSlVTeExRVUZMTlVJc1MwRkJTMk1zVTBGQlZXUXNTMEZCUzJFc1ZVRkJXV0lzUzBGQlMxa3NVMEZCVlN4RlFVRkhVU3hGUVVGSlJ5eFJRVU12UkhaQ0xFdEJRVXRaTEZWQlFWbFJMRVZCUVVsSElpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMMjFoYzNSbGNpOXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTl6ZEhKcGJtZGZaR1ZqYjJSbGNpOXNhV0l2YzNSeWFXNW5YMlJsWTI5a1pYSXVhbk1pZlE9PSIsInZhciBuZXh0VGljaz1yZXF1aXJlKFwicHJvY2Vzcy9icm93c2VyLmpzXCIpLm5leHRUaWNrLGFwcGx5PUZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSxzbGljZT1BcnJheS5wcm90b3R5cGUuc2xpY2UsaW1tZWRpYXRlSWRzPXt9LG5leHRJbW1lZGlhdGVJZD0wO2Z1bmN0aW9uIFRpbWVvdXQoZSx0KXt0aGlzLl9pZD1lLHRoaXMuX2NsZWFyRm49dH1leHBvcnRzLnNldFRpbWVvdXQ9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFRpbWVvdXQoYXBwbHkuY2FsbChzZXRUaW1lb3V0LHdpbmRvdyxhcmd1bWVudHMpLGNsZWFyVGltZW91dCl9LGV4cG9ydHMuc2V0SW50ZXJ2YWw9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFRpbWVvdXQoYXBwbHkuY2FsbChzZXRJbnRlcnZhbCx3aW5kb3csYXJndW1lbnRzKSxjbGVhckludGVydmFsKX0sZXhwb3J0cy5jbGVhclRpbWVvdXQ9ZXhwb3J0cy5jbGVhckludGVydmFsPWZ1bmN0aW9uKGUpe2UuY2xvc2UoKX0sVGltZW91dC5wcm90b3R5cGUudW5yZWY9VGltZW91dC5wcm90b3R5cGUucmVmPWZ1bmN0aW9uKCl7fSxUaW1lb3V0LnByb3RvdHlwZS5jbG9zZT1mdW5jdGlvbigpe3RoaXMuX2NsZWFyRm4uY2FsbCh3aW5kb3csdGhpcy5faWQpfSxleHBvcnRzLmVucm9sbD1mdW5jdGlvbihlLHQpe2NsZWFyVGltZW91dChlLl9pZGxlVGltZW91dElkKSxlLl9pZGxlVGltZW91dD10fSxleHBvcnRzLnVuZW5yb2xsPWZ1bmN0aW9uKGUpe2NsZWFyVGltZW91dChlLl9pZGxlVGltZW91dElkKSxlLl9pZGxlVGltZW91dD0tMX0sZXhwb3J0cy5fdW5yZWZBY3RpdmU9ZXhwb3J0cy5hY3RpdmU9ZnVuY3Rpb24oZSl7Y2xlYXJUaW1lb3V0KGUuX2lkbGVUaW1lb3V0SWQpO3ZhciB0PWUuX2lkbGVUaW1lb3V0O3Q+PTAmJihlLl9pZGxlVGltZW91dElkPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtlLl9vblRpbWVvdXQmJmUuX29uVGltZW91dCgpfSx0KSl9LGV4cG9ydHMuc2V0SW1tZWRpYXRlPVwiZnVuY3Rpb25cIj09dHlwZW9mIHNldEltbWVkaWF0ZT9zZXRJbW1lZGlhdGU6ZnVuY3Rpb24oZSl7dmFyIHQ9bmV4dEltbWVkaWF0ZUlkKyssaT0hKGFyZ3VtZW50cy5sZW5ndGg8MikmJnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO3JldHVybiBpbW1lZGlhdGVJZHNbdF09ITAsbmV4dFRpY2soZnVuY3Rpb24oKXtpbW1lZGlhdGVJZHNbdF0mJihpP2UuYXBwbHkobnVsbCxpKTplLmNhbGwobnVsbCksZXhwb3J0cy5jbGVhckltbWVkaWF0ZSh0KSl9KSx0fSxleHBvcnRzLmNsZWFySW1tZWRpYXRlPVwiZnVuY3Rpb25cIj09dHlwZW9mIGNsZWFySW1tZWRpYXRlP2NsZWFySW1tZWRpYXRlOmZ1bmN0aW9uKGUpe2RlbGV0ZSBpbW1lZGlhdGVJZHNbZV19O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW0xaGFXNHVhbk1pWFN3aWJtRnRaWE1pT2xzaWJtVjRkRlJwWTJzaUxDSnlaWEYxYVhKbElpd2lZWEJ3YkhraUxDSkdkVzVqZEdsdmJpSXNJbkJ5YjNSdmRIbHdaU0lzSW5Oc2FXTmxJaXdpUVhKeVlYa2lMQ0pwYlcxbFpHbGhkR1ZKWkhNaUxDSnVaWGgwU1cxdFpXUnBZWFJsU1dRaUxDSlVhVzFsYjNWMElpd2lhV1FpTENKamJHVmhja1p1SWl3aWRHaHBjeUlzSWw5cFpDSXNJbDlqYkdWaGNrWnVJaXdpWlhod2IzSjBjeUlzSW5ObGRGUnBiV1Z2ZFhRaUxDSmpZV3hzSWl3aWQybHVaRzkzSWl3aVlYSm5kVzFsYm5Seklpd2lZMnhsWVhKVWFXMWxiM1YwSWl3aWMyVjBTVzUwWlhKMllXd2lMQ0pqYkdWaGNrbHVkR1Z5ZG1Gc0lpd2lkR2x0Wlc5MWRDSXNJbU5zYjNObElpd2lkVzV5WldZaUxDSnlaV1lpTENKbGJuSnZiR3dpTENKcGRHVnRJaXdpYlhObFkzTWlMQ0pmYVdSc1pWUnBiV1Z2ZFhSSlpDSXNJbDlwWkd4bFZHbHRaVzkxZENJc0luVnVaVzV5YjJ4c0lpd2lYM1Z1Y21WbVFXTjBhWFpsSWl3aVlXTjBhWFpsSWl3aVgyOXVWR2x0Wlc5MWRDSXNJbk5sZEVsdGJXVmthV0YwWlNJc0ltWnVJaXdpWVhKbmN5SXNJbXhsYm1kMGFDSXNJbU5zWldGeVNXMXRaV1JwWVhSbElsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeEpRVUZKUVN4VFFVRlhReXhSUVVGUkxITkNRVUZ6UWtRc1UwRkRla05GTEUxQlFWRkRMRk5CUVZORExGVkJRVlZHTEUxQlF6TkNSeXhOUVVGUlF5eE5RVUZOUml4VlFVRlZReXhOUVVONFFrVXNZVUZCWlN4SFFVTm1ReXhuUWtGQmEwSXNSVUZoZEVJc1UwRkJVME1zVVVGQlVVTXNSVUZCU1VNc1IwRkRia0pETEV0QlFVdERMRWxCUVUxSUxFVkJRMWhGTEV0QlFVdEZMRk5CUVZkSUxFVkJXR3hDU1N4UlFVRlJReXhYUVVGaExGZEJRMjVDTEU5QlFVOHNTVUZCU1ZBc1VVRkJVVkFzVFVGQlRXVXNTMEZCUzBRc1YwRkJXVVVzVDBGQlVVTXNWMEZCV1VNc1pVRkZhRVZNTEZGQlFWRk5MRmxCUVdNc1YwRkRjRUlzVDBGQlR5eEpRVUZKV2l4UlFVRlJVQ3hOUVVGTlpTeExRVUZMU1N4WlFVRmhTQ3hQUVVGUlF5eFhRVUZaUnl4blFrRkZha1ZRTEZGQlFWRkxMR0ZCUTFKTUxGRkJRVkZQTEdOQlFXZENMRk5CUVZORExFZEJRVmRCTEVWQlFWRkRMRk5CVFhCRVppeFJRVUZSVEN4VlFVRlZjVUlzVFVGQlVXaENMRkZCUVZGTUxGVkJRVlZ6UWl4SlFVRk5MR0ZCUTJ4RWFrSXNVVUZCVVV3c1ZVRkJWVzlDTEUxQlFWRXNWMEZEZUVKYUxFdEJRVXRGTEZOQlFWTkhMRXRCUVV0RExFOUJRVkZPTEV0QlFVdERMRTFCU1d4RFJTeFJRVUZSV1N4UFFVRlRMRk5CUVZORExFVkJRVTFETEVkQlF6bENWQ3hoUVVGaFVTeEZRVUZMUlN4blFrRkRiRUpHTEVWQlFVdEhMR0ZCUVdWR0xFZEJSM1JDWkN4UlFVRlJhVUlzVTBGQlZ5eFRRVUZUU2l4SFFVTXhRbElzWVVGQllWRXNSVUZCUzBVc1owSkJRMnhDUml4RlFVRkxSeXhqUVVGblFpeEhRVWQyUW1oQ0xGRkJRVkZyUWl4aFFVRmxiRUlzVVVGQlVXMUNMRTlCUVZNc1UwRkJVMDRzUjBGREwwTlNMR0ZCUVdGUkxFVkJRVXRGTEdkQ1FVVnNRaXhKUVVGSlJDeEZRVUZSUkN4RlFVRkxSeXhoUVVOaVJpeEhRVUZUTEVsQlExaEVMRVZCUVV0RkxHVkJRV2xDWkN4WFFVRlhMRmRCUXpOQ1dTeEZRVUZMVHl4WlFVTlFVQ3hGUVVGTFR5eGpRVU5PVGl4TFFVdFFaQ3hSUVVGUmNVSXNZVUZCZFVNc2JVSkJRV3BDUVN4aFFVRTRRa0VzWVVGQlpTeFRRVUZUUXl4SFFVTnNSaXhKUVVGSk0wSXNSVUZCUzBZc2EwSkJRMHc0UWl4SlFVRlBia0lzVlVGQlZXOUNMRTlCUVZNc1NVRkJXV3hETEUxQlFVMVpMRXRCUVV0RkxGVkJRVmNzUjBGclFtaEZMRTlCYUVKQldpeGhRVUZoUnl4SlFVRk5MRVZCUlc1Q1ZpeFRRVUZUTEZkQlEwaFBMR0ZCUVdGSExFdEJSMWcwUWl4RlFVTkdSQ3hGUVVGSGJrTXNUVUZCVFN4TFFVRk5iME1zUjBGRlprUXNSVUZCUjNCQ0xFdEJRVXNzVFVGSFZrWXNVVUZCVVhsQ0xHVkJRV1U1UWl4TlFVbHdRa0VzUjBGSFZFc3NVVUZCVVhsQ0xHVkJRVEpETEcxQ1FVRnVRa0VzWlVGQlowTkJMR1ZCUVdsQ0xGTkJRVk01UWl4VlFVTnFSa2dzWVVGQllVY2lMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YldGemRHVnlMM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDNScGJXVnljeTFpY205M2MyVnlhV1o1TDIxaGFXNHVhbk1pZlE9PSIsImZ1bmN0aW9uIGRlcHJlY2F0ZShyLGUpe2lmKGNvbmZpZyhcIm5vRGVwcmVjYXRpb25cIikpcmV0dXJuIHI7dmFyIG89ITE7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoIW8pe2lmKGNvbmZpZyhcInRocm93RGVwcmVjYXRpb25cIikpdGhyb3cgbmV3IEVycm9yKGUpO2NvbmZpZyhcInRyYWNlRGVwcmVjYXRpb25cIik/Y29uc29sZS50cmFjZShlKTpjb25zb2xlLndhcm4oZSksbz0hMH1yZXR1cm4gci5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fWZ1bmN0aW9uIGNvbmZpZyhyKXt0cnl7aWYoIWdsb2JhbC5sb2NhbFN0b3JhZ2UpcmV0dXJuITF9Y2F0Y2gocil7cmV0dXJuITF9dmFyIGU9Z2xvYmFsLmxvY2FsU3RvcmFnZVtyXTtyZXR1cm4gbnVsbCE9ZSYmXCJ0cnVlXCI9PT1TdHJpbmcoZSkudG9Mb3dlckNhc2UoKX1tb2R1bGUuZXhwb3J0cz1kZXByZWNhdGU7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbUp5YjNkelpYSXVhbk1pWFN3aWJtRnRaWE1pT2xzaVpHVndjbVZqWVhSbElpd2labTRpTENKdGMyY2lMQ0pqYjI1bWFXY2lMQ0ozWVhKdVpXUWlMQ0pGY25KdmNpSXNJbU52Ym5OdmJHVWlMQ0owY21GalpTSXNJbmRoY200aUxDSmhjSEJzZVNJc0luUm9hWE1pTENKaGNtZDFiV1Z1ZEhNaUxDSnVZVzFsSWl3aVoyeHZZbUZzSWl3aWJHOWpZV3hUZEc5eVlXZGxJaXdpWHlJc0luWmhiQ0lzSWxOMGNtbHVaeUlzSW5SdlRHOTNaWEpEWVhObElpd2liVzlrZFd4bElpd2laWGh3YjNKMGN5SmRMQ0p0WVhCd2FXNW5jeUk2SWtGQmVVSkJMRk5CUVZOQkxGVkJRVmRETEVWQlFVbERMRWRCUTNSQ0xFZEJRVWxETEU5QlFVOHNhVUpCUTFRc1QwRkJUMFlzUlVGSFZDeEpRVUZKUnl4SFFVRlRMRVZCWldJc1QwRmtRU3hYUVVORkxFbEJRVXRCTEVWQlFWRXNRMEZEV0N4SFFVRkpSQ3hQUVVGUExHOUNRVU5VTEUxQlFVMHNTVUZCU1VVc1RVRkJUVWdzUjBGRFVFTXNUMEZCVHl4dlFrRkRhRUpITEZGQlFWRkRMRTFCUVUxTUxFZEJSV1JKTEZGQlFWRkZMRXRCUVV0T0xFZEJSV1pGTEVkQlFWTXNSVUZGV0N4UFFVRlBTQ3hGUVVGSFVTeE5RVUZOUXl4TFFVRk5ReXhaUVdNeFFpeFRRVUZUVWl4UFFVRlJVeXhIUVVWbUxFbEJRMFVzU1VGQlMwTXNUMEZCVDBNc1lVRkJZeXhQUVVGUExFVkJRMnBETEUxQlFVOURMRWRCUTFBc1QwRkJUeXhGUVVWVUxFbEJRVWxETEVWQlFVMUlMRTlCUVU5RExHRkJRV0ZHTEVkQlF6bENMRTlCUVVrc1RVRkJVVWtzUjBGRGVVSXNVMEZCT1VKRExFOUJRVTlFTEVkQlFVdEZMR05CTlVSeVFrTXNUMEZCVDBNc1VVRkJWWEJDSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwyMWhjM1JsY2k5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OTFkR2xzTFdSbGNISmxZMkYwWlM5aWNtOTNjMlZ5TG1wekluMD0iLCIoZnVuY3Rpb24oKXtcInVzZSBzdHJpY3RcIjtleHBvcnRzLnN0cmlwQk9NPWZ1bmN0aW9uKHQpe3JldHVyblwiXFx1ZmVmZlwiPT09dFswXT90LnN1YnN0cmluZygxKTp0fX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbUp2YlM1cWN5SmRMQ0p1WVcxbGN5STZXeUpsZUhCdmNuUnpJaXdpYzNSeWFYQkNUMDBpTENKemRISWlMQ0p6ZFdKemRISnBibWNpTENKallXeHNJaXdpZEdocGN5SmRMQ0p0WVhCd2FXNW5jeUk2SWtOQlEwRXNWMEZEUlN4aFFVTkJRU3hSUVVGUlF5eFRRVUZYTEZOQlFWTkRMRWRCUXpGQ0xFMUJRV1VzVjBGQldFRXNSVUZCU1N4SFFVTkRRU3hGUVVGSlF5eFZRVUZWTEVkQlJXUkVMRXRCU1ZaRkxFdEJRVXRESWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwyMWhjM1JsY2k5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OTRiV3d5YW5NdmJHbGlMMkp2YlM1cWN5SjkiLCIoZnVuY3Rpb24oKXtcInVzZSBzdHJpY3RcIjt2YXIgdCxlLG8saSxyLG49e30uaGFzT3duUHJvcGVydHk7dD1yZXF1aXJlKFwieG1sYnVpbGRlclwiKSxlPXJlcXVpcmUoXCIuL2RlZmF1bHRzXCIpLmRlZmF1bHRzLGk9ZnVuY3Rpb24odCl7cmV0dXJuXCJzdHJpbmdcIj09dHlwZW9mIHQmJih0LmluZGV4T2YoXCImXCIpPj0wfHx0LmluZGV4T2YoXCI+XCIpPj0wfHx0LmluZGV4T2YoXCI8XCIpPj0wKX0scj1mdW5jdGlvbih0KXtyZXR1cm5cIjwhW0NEQVRBW1wiK28odCkrXCJdXT5cIn0sbz1mdW5jdGlvbih0KXtyZXR1cm4gdC5yZXBsYWNlKFwiXV0+XCIsXCJdXV1dPjwhW0NEQVRBWz5cIil9LGV4cG9ydHMuQnVpbGRlcj1mdW5jdGlvbigpe2Z1bmN0aW9uIG8odCl7dmFyIG8saSxyO2ZvcihvIGluIHRoaXMub3B0aW9ucz17fSxpPWVbLjJdKW4uY2FsbChpLG8pJiYocj1pW29dLHRoaXMub3B0aW9uc1tvXT1yKTtmb3IobyBpbiB0KW4uY2FsbCh0LG8pJiYocj10W29dLHRoaXMub3B0aW9uc1tvXT1yKX1yZXR1cm4gby5wcm90b3R5cGUuYnVpbGRPYmplY3Q9ZnVuY3Rpb24obyl7dmFyIHMsYSxsLHAsZix1O3JldHVybiBzPXRoaXMub3B0aW9ucy5hdHRya2V5LGE9dGhpcy5vcHRpb25zLmNoYXJrZXksMT09PU9iamVjdC5rZXlzKG8pLmxlbmd0aCYmdGhpcy5vcHRpb25zLnJvb3ROYW1lPT09ZVsuMl0ucm9vdE5hbWU/bz1vW2Y9T2JqZWN0LmtleXMobylbMF1dOmY9dGhpcy5vcHRpb25zLnJvb3ROYW1lLHU9dGhpcyxsPWZ1bmN0aW9uKHQsZSl7dmFyIG8scCxmLGMsaCxkO2lmKFwib2JqZWN0XCIhPXR5cGVvZiBlKXUub3B0aW9ucy5jZGF0YSYmaShlKT90LnJhdyhyKGUpKTp0LnR4dChlKTtlbHNlIGlmKEFycmF5LmlzQXJyYXkoZSkpe2ZvcihjIGluIGUpaWYobi5jYWxsKGUsYykpZm9yKGggaW4gcD1lW2NdKWY9cFtoXSx0PWwodC5lbGUoaCksZikudXAoKX1lbHNlIGZvcihoIGluIGUpaWYobi5jYWxsKGUsaCkpaWYocD1lW2hdLGg9PT1zKXtpZihcIm9iamVjdFwiPT10eXBlb2YgcClmb3IobyBpbiBwKWQ9cFtvXSx0PXQuYXR0KG8sZCl9ZWxzZSBpZihoPT09YSl0PXUub3B0aW9ucy5jZGF0YSYmaShwKT90LnJhdyhyKHApKTp0LnR4dChwKTtlbHNlIGlmKEFycmF5LmlzQXJyYXkocCkpZm9yKGMgaW4gcCluLmNhbGwocCxjKSYmKHQ9XCJzdHJpbmdcIj09dHlwZW9mKGY9cFtjXSk/dS5vcHRpb25zLmNkYXRhJiZpKGYpP3QuZWxlKGgpLnJhdyhyKGYpKS51cCgpOnQuZWxlKGgsZikudXAoKTpsKHQuZWxlKGgpLGYpLnVwKCkpO2Vsc2VcIm9iamVjdFwiPT10eXBlb2YgcD90PWwodC5lbGUoaCkscCkudXAoKTpcInN0cmluZ1wiPT10eXBlb2YgcCYmdS5vcHRpb25zLmNkYXRhJiZpKHApP3Q9dC5lbGUoaCkucmF3KHIocCkpLnVwKCk6KG51bGw9PXAmJihwPVwiXCIpLHQ9dC5lbGUoaCxwLnRvU3RyaW5nKCkpLnVwKCkpO3JldHVybiB0fSxwPXQuY3JlYXRlKGYsdGhpcy5vcHRpb25zLnhtbGRlYyx0aGlzLm9wdGlvbnMuZG9jdHlwZSx7aGVhZGxlc3M6dGhpcy5vcHRpb25zLmhlYWRsZXNzLGFsbG93U3Vycm9nYXRlQ2hhcnM6dGhpcy5vcHRpb25zLmFsbG93U3Vycm9nYXRlQ2hhcnN9KSxsKHAsbykuZW5kKHRoaXMub3B0aW9ucy5yZW5kZXJPcHRzKX0sb30oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbUoxYVd4a1pYSXVhbk1pWFN3aWJtRnRaWE1pT2xzaVluVnBiR1JsY2lJc0ltUmxabUYxYkhSeklpd2laWE5qWVhCbFEwUkJWRUVpTENKeVpYRjFhWEpsYzBORVFWUkJJaXdpZDNKaGNFTkVRVlJCSWl3aWFHRnpVSEp2Y0NJc0ltaGhjMDkzYmxCeWIzQmxjblI1SWl3aWNtVnhkV2x5WlNJc0ltVnVkSEo1SWl3aWFXNWtaWGhQWmlJc0luSmxjR3hoWTJVaUxDSmxlSEJ2Y25Seklpd2lRblZwYkdSbGNpSXNJbTl3ZEhNaUxDSnJaWGtpTENKeVpXWWlMQ0oyWVd4MVpTSXNJblJvYVhNaUxDSnZjSFJwYjI1eklpd2lZMkZzYkNJc0luQnliM1J2ZEhsd1pTSXNJbUoxYVd4a1QySnFaV04wSWl3aWNtOXZkRTlpYWlJc0ltRjBkSEpyWlhraUxDSmphR0Z5YTJWNUlpd2ljbVZ1WkdWeUlpd2ljbTl2ZEVWc1pXMWxiblFpTENKeWIyOTBUbUZ0WlNJc0lsOTBhR2x6SWl3aVQySnFaV04wSWl3aWEyVjVjeUlzSW14bGJtZDBhQ0lzSW1Wc1pXMWxiblFpTENKdlltb2lMQ0poZEhSeUlpd2lZMmhwYkdRaUxDSnBibVJsZUNJc0ltTmtZWFJoSWl3aWNtRjNJaXdpZEhoMElpd2lRWEp5WVhraUxDSnBjMEZ5Y21GNUlpd2laV3hsSWl3aWRYQWlMQ0poZEhRaUxDSjBiMU4wY21sdVp5SXNJbU55WldGMFpTSXNJbmh0YkdSbFl5SXNJbVJ2WTNSNWNHVWlMQ0pvWldGa2JHVnpjeUlzSW1Gc2JHOTNVM1Z5Y205bllYUmxRMmhoY25NaUxDSmxibVFpTENKeVpXNWtaWEpQY0hSeklsMHNJbTFoY0hCcGJtZHpJam9pUTBGRFFTeFhRVU5GTEdGQlEwRXNTVUZCU1VFc1JVRkJVME1zUlVGQlZVTXNSVUZCWVVNc1JVRkJaVU1zUlVGRGFrUkRMRVZCUVZVc1IwRkJSME1zWlVGRlprNHNSVUZCVlU4c1VVRkJVU3hqUVVWc1FrNHNSVUZCVjAwc1VVRkJVU3hqUVVGalRpeFRRVVZxUTBVc1JVRkJaMElzVTBGQlUwc3NSMEZEZGtJc1RVRkJkMElzYVVKQlFWWkJMRWxCUVhWQ1FTeEZRVUZOUXl4UlFVRlJMRTFCUVZFc1IwRkJTMFFzUlVGQlRVTXNVVUZCVVN4TlFVRlJMRWRCUVV0RUxFVkJRVTFETEZGQlFWRXNUVUZCVVN4SlFVZHVTRXdzUlVGQldTeFRRVUZUU1N4SFFVTnVRaXhOUVVGUExGbEJRV1ZPTEVWQlFWbE5MRWRCUVZVc1QwRkhPVU5PTEVWQlFXTXNVMEZCVTAwc1IwRkRja0lzVDBGQlQwRXNSVUZCVFVVc1VVRkJVU3hOUVVGUExHOUNRVWM1UWtNc1VVRkJVVU1zVVVGQlZTeFhRVU5vUWl4VFFVRlRRU3hGUVVGUlF5eEhRVU5tTEVsQlFVbERMRVZCUVV0RExFVkJRVXRETEVWQlIyUXNTVUZCUzBZc1MwRkdURWNzUzBGQlMwTXNVVUZCVlN4SFFVTm1TQ3hGUVVGTlpDeEZRVUZUTEVsQlJWSkpMRVZCUVZGakxFdEJRVXRLTEVWQlFVdEVMRXRCUTNaQ1JTeEZRVUZSUkN4RlFVRkpSQ3hIUVVOYVJ5eExRVUZMUXl4UlFVRlJTaXhIUVVGUFJTeEhRVVYwUWl4SlFVRkxSaXhMUVVGUFJDeEZRVU5NVWl4RlFVRlJZeXhMUVVGTFRpeEZRVUZOUXl4TFFVTjRRa1VzUlVGQlVVZ3NSVUZCUzBNc1IwRkRZa2NzUzBGQlMwTXNVVUZCVVVvc1IwRkJUMFVzUjBGMVJuaENMRTlCYmtaQlNpeEZRVUZSVVN4VlFVRlZReXhaUVVGakxGTkJRVk5ETEVkQlEzWkRMRWxCUVVsRExFVkJRVk5ETEVWQlFWTkRMRVZCUVZGRExFVkJRV0ZETEVWQlUzaENReXhGUVhORmJrSXNUMEU1UlVGTUxFVkJRVlZPTEV0QlFVdERMRkZCUVZGTExGRkJRM1pDUXl4RlFVRlZVQ3hMUVVGTFF5eFJRVUZSVFN4UlFVTmpMRWxCUVdoRFN5eFBRVUZQUXl4TFFVRkxVaXhIUVVGVFV5eFJRVUZyUW1Rc1MwRkJTME1zVVVGQlVWTXNWMEZCWVRGQ0xFVkJRVk1zU1VGQlR6QkNMRk5CUlhCR1RDeEZRVUZWUVN4RlFVUldTeXhGUVVGWFJTeFBRVUZQUXl4TFFVRkxVaXhIUVVGVExFbEJSMmhEU3l4RlFVRlhWaXhMUVVGTFF5eFJRVUZSVXl4VFFVVlFReXhGUVdsRmFFSllMRXRCYWtWSVVTeEZRVU5UTEZOQlFWTlBMRVZCUVZORExFZEJRM1pDTEVsQlFVbERMRVZCUVUxRExFVkJRVTh6UWl4RlFVRlBORUlzUlVGQlQzUkNMRVZCUVV0RkxFVkJRM0JETEVkQlFXMUNMR2xDUVVGU2FVSXNSVUZEVEV3c1JVRkJUVllzVVVGQlVXMUNMRTlCUVZOc1F5eEZRVUZqT0VJc1IwRkRka05FTEVWQlFWRk5MRWxCUVVsc1F5eEZRVUZWTmtJc1NVRkZkRUpFTEVWQlFWRlBMRWxCUVVsT0xGRkJSVlFzUjBGQlNVOHNUVUZCVFVNc1VVRkJVVklzU1VGRGRrSXNTVUZCUzBjc1MwRkJVMGdzUlVGRFdpeEhRVUZMTlVJc1JVRkJVV01zUzBGQlMyTXNSVUZCUzBjc1IwRkZka0lzU1VGQlMzUkNMRXRCUkV4eFFpeEZRVUZSUml4RlFVRkpSeXhIUVVWV05VSXNSVUZCVVRKQ0xFVkJRVTF5UWl4SFFVTmthMElzUlVGQlZWQXNSVUZCVDA4c1JVRkJVVlVzU1VGQlNUVkNMRWRCUVUxT0xFZEJRVTl0UXl4VlFVazVReXhKUVVGTE4wSXNTMEZCVDIxQ0xFVkJRMVlzUjBGQlN6VkNMRVZCUVZGakxFdEJRVXRqTEVWQlFVdHVRaXhIUVVWMlFpeEhRVVJCY1VJc1JVRkJVVVlzUlVGQlNXNUNMRWRCUTFKQkxFbEJRVkZUTEVkQlExWXNSMEZCY1VJc2FVSkJRVlpaTEVWQlExUXNTVUZCUzBRc1MwRkJVVU1zUlVGRFdHNUNMRVZCUVZGdFFpeEZRVUZOUkN4SFFVTmtSaXhGUVVGVlFTeEZRVUZSV1N4SlFVRkpWaXhGUVVGTmJFSXNVVUZITTBJc1IwRkJTVVlzU1VGQlVWVXNSVUZGWmxFc1JVRkVSVW9zUlVGQlRWWXNVVUZCVVcxQ0xFOUJRVk5zUXl4RlFVRmpaME1zUjBGRE4wSklMRVZCUVZGTkxFbEJRVWxzUXl4RlFVRlZLMElzU1VGRmRFSklMRVZCUVZGUExFbEJRVWxLTEZGQlJXNUNMRWRCUVVsTExFMUJRVTFETEZGQlFWRk9MRWRCUTNaQ0xFbEJRVXRETEV0QlFWTkVMRVZCUTFBNVFpeEZRVUZSWXl4TFFVRkxaMElzUlVGQlQwTXNTMEZKY2tKS0xFVkJSbWxDTEdsQ1FVUnlRbmhDTEVWQlFWRXlRaXhGUVVGTlF5eEpRVVZTVWl4RlFVRk5WaXhSUVVGUmJVSXNUMEZCVTJ4RExFVkJRV05MTEVkQlF6ZENkMElzUlVGQlVWVXNTVUZCU1RWQ0xFZEJRVXQzUWl4SlFVRkpiRU1zUlVGQlZVa3NTVUZCVVcxRExFdEJSWFpEV0N4RlFVRlJWU3hKUVVGSk5VSXNSVUZCUzA0c1IwRkJUMjFETEV0QlJ6RkNiRUlzUlVGQlQwOHNSVUZCVVZVc1NVRkJTVFZDTEVkQlFVMU9MRWRCUVU5dFF5eFZRVWR3UWl4cFFrRkJWbElzUlVGRGFFSklMRVZCUVZWUUxFVkJRVTlQTEVWQlFWRlZMRWxCUVVrMVFpeEhRVUZOY1VJc1IwRkJUMUVzUzBGRmNrSXNhVUpCUVZaU0xFZEJRWE5DVUN4RlFVRk5WaXhSUVVGUmJVSXNUMEZCVTJ4RExFVkJRV05uUXl4SFFVTndSVWdzUlVGQlZVRXNSVUZCVVZVc1NVRkJTVFZDTEVkQlFVdDNRaXhKUVVGSmJFTXNSVUZCVlN0Q0xFbEJRVkZSTEUxQlJYQkRMRTFCUVZSU0xFbEJRMFpCTEVWQlFWRXNTVUZGVmtnc1JVRkJWVUVzUlVGQlVWVXNTVUZCU1RWQ0xFVkJRVXR4UWl4RlFVRk5WU3haUVVGWlJpeE5RVXR5UkN4UFFVRlBXQ3hIUVVkWVRpeEZRVUZqTVVJc1JVRkJVVGhETEU5QlFVOXVRaXhGUVVGVlZpeExRVUZMUXl4UlFVRlJOa0lzVDBGQlVUbENMRXRCUVV0RExGRkJRVkU0UWl4UlFVRlRMRU5CUTJoR1F5eFRRVUZWYUVNc1MwRkJTME1zVVVGQlVTdENMRk5CUTNaQ1F5eHZRa0ZCY1VKcVF5eExRVUZMUXl4UlFVRlJaME1zYzBKQlJUZENla0lzUlVGQlQwTXNSVUZCWVVvc1IwRkJVelpDTEVsQlFVbHNReXhMUVVGTFF5eFJRVUZSYTBNc1lVRkhhRVI0UXl4RlFYQkhVeXhMUVhkSGFrSlBMRXRCUVV0R0lpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMMjFoYzNSbGNpOXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTk0Yld3eWFuTXZiR2xpTDJKMWFXeGtaWEl1YW5NaWZRPT0iLCIoZnVuY3Rpb24oKXtleHBvcnRzLmRlZmF1bHRzPXsuMTp7ZXhwbGljaXRDaGFya2V5OiExLHRyaW06ITAsbm9ybWFsaXplOiEwLG5vcm1hbGl6ZVRhZ3M6ITEsYXR0cmtleTpcIkBcIixjaGFya2V5OlwiI1wiLGV4cGxpY2l0QXJyYXk6ITEsaWdub3JlQXR0cnM6ITEsbWVyZ2VBdHRyczohMSxleHBsaWNpdFJvb3Q6ITEsdmFsaWRhdG9yOm51bGwseG1sbnM6ITEsZXhwbGljaXRDaGlsZHJlbjohMSxjaGlsZGtleTpcIkBAXCIsY2hhcnNBc0NoaWxkcmVuOiExLGluY2x1ZGVXaGl0ZUNoYXJzOiExLGFzeW5jOiExLHN0cmljdDohMCxhdHRyTmFtZVByb2Nlc3NvcnM6bnVsbCxhdHRyVmFsdWVQcm9jZXNzb3JzOm51bGwsdGFnTmFtZVByb2Nlc3NvcnM6bnVsbCx2YWx1ZVByb2Nlc3NvcnM6bnVsbCxlbXB0eVRhZzpcIlwifSwuMjp7ZXhwbGljaXRDaGFya2V5OiExLHRyaW06ITEsbm9ybWFsaXplOiExLG5vcm1hbGl6ZVRhZ3M6ITEsYXR0cmtleTpcIiRcIixjaGFya2V5OlwiX1wiLGV4cGxpY2l0QXJyYXk6ITAsaWdub3JlQXR0cnM6ITEsbWVyZ2VBdHRyczohMSxleHBsaWNpdFJvb3Q6ITAsdmFsaWRhdG9yOm51bGwseG1sbnM6ITEsZXhwbGljaXRDaGlsZHJlbjohMSxwcmVzZXJ2ZUNoaWxkcmVuT3JkZXI6ITEsY2hpbGRrZXk6XCIkJFwiLGNoYXJzQXNDaGlsZHJlbjohMSxpbmNsdWRlV2hpdGVDaGFyczohMSxhc3luYzohMSxzdHJpY3Q6ITAsYXR0ck5hbWVQcm9jZXNzb3JzOm51bGwsYXR0clZhbHVlUHJvY2Vzc29yczpudWxsLHRhZ05hbWVQcm9jZXNzb3JzOm51bGwsdmFsdWVQcm9jZXNzb3JzOm51bGwscm9vdE5hbWU6XCJyb290XCIseG1sZGVjOnt2ZXJzaW9uOlwiMS4wXCIsZW5jb2Rpbmc6XCJVVEYtOFwiLHN0YW5kYWxvbmU6ITB9LGRvY3R5cGU6bnVsbCxyZW5kZXJPcHRzOntwcmV0dHk6ITAsaW5kZW50OlwiICBcIixuZXdsaW5lOlwiXFxuXCJ9LGhlYWRsZXNzOiExLGNodW5rU2l6ZToxZTQsZW1wdHlUYWc6XCJcIixjZGF0YTohMX19fSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltUmxabUYxYkhSekxtcHpJbDBzSW01aGJXVnpJanBiSW1WNGNHOXlkSE1pTENKa1pXWmhkV3gwY3lJc0lqQXVNU0lzSW1WNGNHeHBZMmwwUTJoaGNtdGxlU0lzSW5SeWFXMGlMQ0p1YjNKdFlXeHBlbVVpTENKdWIzSnRZV3hwZW1WVVlXZHpJaXdpWVhSMGNtdGxlU0lzSW1Ob1lYSnJaWGtpTENKbGVIQnNhV05wZEVGeWNtRjVJaXdpYVdkdWIzSmxRWFIwY25NaUxDSnRaWEpuWlVGMGRISnpJaXdpWlhod2JHbGphWFJTYjI5MElpd2lkbUZzYVdSaGRHOXlJaXdpZUcxc2JuTWlMQ0psZUhCc2FXTnBkRU5vYVd4a2NtVnVJaXdpWTJocGJHUnJaWGtpTENKamFHRnljMEZ6UTJocGJHUnlaVzRpTENKcGJtTnNkV1JsVjJocGRHVkRhR0Z5Y3lJc0ltRnplVzVqSWl3aWMzUnlhV04wSWl3aVlYUjBjazVoYldWUWNtOWpaWE56YjNKeklpd2lZWFIwY2xaaGJIVmxVSEp2WTJWemMyOXljeUlzSW5SaFowNWhiV1ZRY205alpYTnpiM0p6SWl3aWRtRnNkV1ZRY205alpYTnpiM0p6SWl3aVpXMXdkSGxVWVdjaUxDSXdMaklpTENKd2NtVnpaWEoyWlVOb2FXeGtjbVZ1VDNKa1pYSWlMQ0p5YjI5MFRtRnRaU0lzSW5odGJHUmxZeUlzSW5abGNuTnBiMjRpTENKbGJtTnZaR2x1WnlJc0luTjBZVzVrWVd4dmJtVWlMQ0prYjJOMGVYQmxJaXdpY21WdVpHVnlUM0IwY3lJc0luQnlaWFIwZVNJc0ltbHVaR1Z1ZENJc0ltNWxkMnhwYm1VaUxDSm9aV0ZrYkdWemN5SXNJbU5vZFc1clUybDZaU0lzSW1Oa1lYUmhJaXdpWTJGc2JDSXNJblJvYVhNaVhTd2liV0Z3Y0dsdVozTWlPaUpEUVVOQkxGZEJRMFZCTEZGQlFWRkRMRk5CUVZjc1EwRkRha0pETEVkQlFVOHNRMEZEVEVNc2FVSkJRV2xDTEVWQlEycENReXhOUVVGTkxFVkJRMDVETEZkQlFWY3NSVUZEV0VNc1pVRkJaU3hGUVVObVF5eFJRVUZUTEVsQlExUkRMRkZCUVZNc1NVRkRWRU1zWlVGQlpTeEZRVU5tUXl4aFFVRmhMRVZCUTJKRExGbEJRVmtzUlVGRFdrTXNZMEZCWXl4RlFVTmtReXhWUVVGWExFdEJRMWhETEU5QlFVOHNSVUZEVUVNc2EwSkJRV3RDTEVWQlEyeENReXhUUVVGVkxFdEJRMVpETEdsQ1FVRnBRaXhGUVVOcVFrTXNiVUpCUVcxQ0xFVkJRMjVDUXl4UFFVRlBMRVZCUTFCRExGRkJRVkVzUlVGRFVrTXNiVUpCUVc5Q0xFdEJRM0JDUXl4dlFrRkJjVUlzUzBGRGNrSkRMR3RDUVVGdFFpeExRVU51UWtNc1owSkJRV2xDTEV0QlEycENReXhUUVVGVkxFbEJSVnBETEVkQlFVOHNRMEZEVEhaQ0xHbENRVUZwUWl4RlFVTnFRa01zVFVGQlRTeEZRVU5PUXl4WFFVRlhMRVZCUTFoRExHVkJRV1VzUlVGRFprTXNVVUZCVXl4SlFVTlVReXhSUVVGVExFbEJRMVJETEdWQlFXVXNSVUZEWmtNc1lVRkJZU3hGUVVOaVF5eFpRVUZaTEVWQlExcERMR05CUVdNc1JVRkRaRU1zVlVGQlZ5eExRVU5ZUXl4UFFVRlBMRVZCUTFCRExHdENRVUZyUWl4RlFVTnNRbGtzZFVKQlFYVkNMRVZCUTNaQ1dDeFRRVUZWTEV0QlExWkRMR2xDUVVGcFFpeEZRVU5xUWtNc2JVSkJRVzFDTEVWQlEyNUNReXhQUVVGUExFVkJRMUJETEZGQlFWRXNSVUZEVWtNc2JVSkJRVzlDTEV0QlEzQkNReXh2UWtGQmNVSXNTMEZEY2tKRExHdENRVUZ0UWl4TFFVTnVRa01zWjBKQlFXbENMRXRCUTJwQ1NTeFRRVUZWTEU5QlExWkRMRTlCUVZFc1EwRkRUa01zVVVGQlZ5eE5RVU5ZUXl4VFFVRlpMRkZCUTFwRExGbEJRV01zUjBGRmFFSkRMRkZCUVZNc1MwRkRWRU1zVjBGQldTeERRVU5XUXl4UlFVRlZMRVZCUTFaRExFOUJRVlVzUzBGRFZrTXNVVUZCVnl4TlFVVmlReXhWUVVGVkxFVkJRMVpETEZWQlFWY3NTVUZEV0dRc1UwRkJWU3hIUVVOV1pTeFBRVUZQTEUxQlNWWkRMRXRCUVV0RElpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMMjFoYzNSbGNpOXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTk0Yld3eWFuTXZiR2xpTDJSbFptRjFiSFJ6TG1wekluMD0iLCIoZnVuY3Rpb24oKXtcInVzZSBzdHJpY3RcIjt2YXIgdCxyLHMsZSxpLG4sbyxhLGg9ZnVuY3Rpb24odCxyKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdC5hcHBseShyLGFyZ3VtZW50cyl9fSxwPXt9Lmhhc093blByb3BlcnR5O289cmVxdWlyZShcInNheFwiKSxzPXJlcXVpcmUoXCJldmVudHNcIiksdD1yZXF1aXJlKFwiLi9ib21cIiksbj1yZXF1aXJlKFwiLi9wcm9jZXNzb3JzXCIpLGE9cmVxdWlyZShcInRpbWVyc1wiKS5zZXRJbW1lZGlhdGUscj1yZXF1aXJlKFwiLi9kZWZhdWx0c1wiKS5kZWZhdWx0cyxlPWZ1bmN0aW9uKHQpe3JldHVyblwib2JqZWN0XCI9PXR5cGVvZiB0JiZudWxsIT10JiYwPT09T2JqZWN0LmtleXModCkubGVuZ3RofSxpPWZ1bmN0aW9uKHQscixzKXt2YXIgZSxpO2ZvcihlPTAsaT10Lmxlbmd0aDtlPGk7ZSsrKXI9KDAsdFtlXSkocixzKTtyZXR1cm4gcn0sZXhwb3J0cy5QYXJzZXI9ZnVuY3Rpb24oYyl7ZnVuY3Rpb24gdSh0KXt2YXIgcyxlLGk7aWYodGhpcy5wYXJzZVN0cmluZ1Byb21pc2U9aCh0aGlzLnBhcnNlU3RyaW5nUHJvbWlzZSx0aGlzKSx0aGlzLnBhcnNlU3RyaW5nPWgodGhpcy5wYXJzZVN0cmluZyx0aGlzKSx0aGlzLnJlc2V0PWgodGhpcy5yZXNldCx0aGlzKSx0aGlzLmFzc2lnbk9yUHVzaD1oKHRoaXMuYXNzaWduT3JQdXNoLHRoaXMpLHRoaXMucHJvY2Vzc0FzeW5jPWgodGhpcy5wcm9jZXNzQXN5bmMsdGhpcyksISh0aGlzIGluc3RhbmNlb2YgZXhwb3J0cy5QYXJzZXIpKXJldHVybiBuZXcgZXhwb3J0cy5QYXJzZXIodCk7Zm9yKHMgaW4gdGhpcy5vcHRpb25zPXt9LGU9clsuMl0pcC5jYWxsKGUscykmJihpPWVbc10sdGhpcy5vcHRpb25zW3NdPWkpO2ZvcihzIGluIHQpcC5jYWxsKHQscykmJihpPXRbc10sdGhpcy5vcHRpb25zW3NdPWkpO3RoaXMub3B0aW9ucy54bWxucyYmKHRoaXMub3B0aW9ucy54bWxuc2tleT10aGlzLm9wdGlvbnMuYXR0cmtleStcIm5zXCIpLHRoaXMub3B0aW9ucy5ub3JtYWxpemVUYWdzJiYodGhpcy5vcHRpb25zLnRhZ05hbWVQcm9jZXNzb3JzfHwodGhpcy5vcHRpb25zLnRhZ05hbWVQcm9jZXNzb3JzPVtdKSx0aGlzLm9wdGlvbnMudGFnTmFtZVByb2Nlc3NvcnMudW5zaGlmdChuLm5vcm1hbGl6ZSkpLHRoaXMucmVzZXQoKX1yZXR1cm4gZnVuY3Rpb24odCxyKXtmb3IodmFyIHMgaW4gcilwLmNhbGwocixzKSYmKHRbc109cltzXSk7ZnVuY3Rpb24gZSgpe3RoaXMuY29uc3RydWN0b3I9dH1lLnByb3RvdHlwZT1yLnByb3RvdHlwZSx0LnByb3RvdHlwZT1uZXcgZSx0Ll9fc3VwZXJfXz1yLnByb3RvdHlwZX0odSxzKSx1LnByb3RvdHlwZS5wcm9jZXNzQXN5bmM9ZnVuY3Rpb24oKXt2YXIgdCxyO3RyeXtyZXR1cm4gdGhpcy5yZW1haW5pbmcubGVuZ3RoPD10aGlzLm9wdGlvbnMuY2h1bmtTaXplPyh0PXRoaXMucmVtYWluaW5nLHRoaXMucmVtYWluaW5nPVwiXCIsdGhpcy5zYXhQYXJzZXI9dGhpcy5zYXhQYXJzZXIud3JpdGUodCksdGhpcy5zYXhQYXJzZXIuY2xvc2UoKSk6KHQ9dGhpcy5yZW1haW5pbmcuc3Vic3RyKDAsdGhpcy5vcHRpb25zLmNodW5rU2l6ZSksdGhpcy5yZW1haW5pbmc9dGhpcy5yZW1haW5pbmcuc3Vic3RyKHRoaXMub3B0aW9ucy5jaHVua1NpemUsdGhpcy5yZW1haW5pbmcubGVuZ3RoKSx0aGlzLnNheFBhcnNlcj10aGlzLnNheFBhcnNlci53cml0ZSh0KSxhKHRoaXMucHJvY2Vzc0FzeW5jKSl9Y2F0Y2godCl7aWYocj10LCF0aGlzLnNheFBhcnNlci5lcnJUaHJvd24pcmV0dXJuIHRoaXMuc2F4UGFyc2VyLmVyclRocm93bj0hMCx0aGlzLmVtaXQocil9fSx1LnByb3RvdHlwZS5hc3NpZ25PclB1c2g9ZnVuY3Rpb24odCxyLHMpe3JldHVybiByIGluIHQ/KHRbcl1pbnN0YW5jZW9mIEFycmF5fHwodFtyXT1bdFtyXV0pLHRbcl0ucHVzaChzKSk6dGhpcy5vcHRpb25zLmV4cGxpY2l0QXJyYXk/dFtyXT1bc106dFtyXT1zfSx1LnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3ZhciB0LHIscyxuLGE7cmV0dXJuIHRoaXMucmVtb3ZlQWxsTGlzdGVuZXJzKCksdGhpcy5zYXhQYXJzZXI9by5wYXJzZXIodGhpcy5vcHRpb25zLnN0cmljdCx7dHJpbTohMSxub3JtYWxpemU6ITEseG1sbnM6dGhpcy5vcHRpb25zLnhtbG5zfSksdGhpcy5zYXhQYXJzZXIuZXJyVGhyb3duPSExLHRoaXMuc2F4UGFyc2VyLm9uZXJyb3I9KGE9dGhpcyxmdW5jdGlvbih0KXtpZihhLnNheFBhcnNlci5yZXN1bWUoKSwhYS5zYXhQYXJzZXIuZXJyVGhyb3duKXJldHVybiBhLnNheFBhcnNlci5lcnJUaHJvd249ITAsYS5lbWl0KFwiZXJyb3JcIix0KX0pLHRoaXMuc2F4UGFyc2VyLm9uZW5kPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe2lmKCF0LnNheFBhcnNlci5lbmRlZClyZXR1cm4gdC5zYXhQYXJzZXIuZW5kZWQ9ITAsdC5lbWl0KFwiZW5kXCIsdC5yZXN1bHRPYmplY3QpfX0odGhpcyksdGhpcy5zYXhQYXJzZXIuZW5kZWQ9ITEsdGhpcy5FWFBMSUNJVF9DSEFSS0VZPXRoaXMub3B0aW9ucy5leHBsaWNpdENoYXJrZXksdGhpcy5yZXN1bHRPYmplY3Q9bnVsbCxuPVtdLHQ9dGhpcy5vcHRpb25zLmF0dHJrZXkscj10aGlzLm9wdGlvbnMuY2hhcmtleSx0aGlzLnNheFBhcnNlci5vbm9wZW50YWc9ZnVuY3Rpb24ocyl7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciBvLGEsaCxjLHU7aWYoKGg9e30pW3JdPVwiXCIsIXMub3B0aW9ucy5pZ25vcmVBdHRycylmb3IobyBpbiB1PWUuYXR0cmlidXRlcylwLmNhbGwodSxvKSYmKHQgaW4gaHx8cy5vcHRpb25zLm1lcmdlQXR0cnN8fChoW3RdPXt9KSxhPXMub3B0aW9ucy5hdHRyVmFsdWVQcm9jZXNzb3JzP2kocy5vcHRpb25zLmF0dHJWYWx1ZVByb2Nlc3NvcnMsZS5hdHRyaWJ1dGVzW29dLG8pOmUuYXR0cmlidXRlc1tvXSxjPXMub3B0aW9ucy5hdHRyTmFtZVByb2Nlc3NvcnM/aShzLm9wdGlvbnMuYXR0ck5hbWVQcm9jZXNzb3JzLG8pOm8scy5vcHRpb25zLm1lcmdlQXR0cnM/cy5hc3NpZ25PclB1c2goaCxjLGEpOmhbdF1bY109YSk7cmV0dXJuIGhbXCIjbmFtZVwiXT1zLm9wdGlvbnMudGFnTmFtZVByb2Nlc3NvcnM/aShzLm9wdGlvbnMudGFnTmFtZVByb2Nlc3NvcnMsZS5uYW1lKTplLm5hbWUscy5vcHRpb25zLnhtbG5zJiYoaFtzLm9wdGlvbnMueG1sbnNrZXldPXt1cmk6ZS51cmksbG9jYWw6ZS5sb2NhbH0pLG4ucHVzaChoKX19KHRoaXMpLHRoaXMuc2F4UGFyc2VyLm9uY2xvc2V0YWc9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIHMsbyxhLGgsYyx1LGwsbSxmLFA7aWYodT1uLnBvcCgpLGM9dVtcIiNuYW1lXCJdLHQub3B0aW9ucy5leHBsaWNpdENoaWxkcmVuJiZ0Lm9wdGlvbnMucHJlc2VydmVDaGlsZHJlbk9yZGVyfHxkZWxldGUgdVtcIiNuYW1lXCJdLCEwPT09dS5jZGF0YSYmKHM9dS5jZGF0YSxkZWxldGUgdS5jZGF0YSksZj1uW24ubGVuZ3RoLTFdLHVbcl0ubWF0Y2goL15cXHMqJC8pJiYhcz8obz11W3JdLGRlbGV0ZSB1W3JdKToodC5vcHRpb25zLnRyaW0mJih1W3JdPXVbcl0udHJpbSgpKSx0Lm9wdGlvbnMubm9ybWFsaXplJiYodVtyXT11W3JdLnJlcGxhY2UoL1xcc3syLH0vZyxcIiBcIikudHJpbSgpKSx1W3JdPXQub3B0aW9ucy52YWx1ZVByb2Nlc3NvcnM/aSh0Lm9wdGlvbnMudmFsdWVQcm9jZXNzb3JzLHVbcl0sYyk6dVtyXSwxPT09T2JqZWN0LmtleXModSkubGVuZ3RoJiZyIGluIHUmJiF0LkVYUExJQ0lUX0NIQVJLRVkmJih1PXVbcl0pKSxlKHUpJiYodT1cIlwiIT09dC5vcHRpb25zLmVtcHR5VGFnP3Qub3B0aW9ucy5lbXB0eVRhZzpvKSxudWxsIT10Lm9wdGlvbnMudmFsaWRhdG9yJiYoUD1cIi9cIitmdW5jdGlvbigpe3ZhciB0LHIscztmb3Iocz1bXSx0PTAscj1uLmxlbmd0aDt0PHI7dCsrKWg9blt0XSxzLnB1c2goaFtcIiNuYW1lXCJdKTtyZXR1cm4gc30oKS5jb25jYXQoYykuam9pbihcIi9cIiksZnVuY3Rpb24oKXt2YXIgcjt0cnl7dT10Lm9wdGlvbnMudmFsaWRhdG9yKFAsZiYmZltjXSx1KX1jYXRjaChzKXtyZXR1cm4gcj1zLHQuZW1pdChcImVycm9yXCIscil9fSgpKSx0Lm9wdGlvbnMuZXhwbGljaXRDaGlsZHJlbiYmIXQub3B0aW9ucy5tZXJnZUF0dHJzJiZcIm9iamVjdFwiPT10eXBlb2YgdSlpZih0Lm9wdGlvbnMucHJlc2VydmVDaGlsZHJlbk9yZGVyKXtpZihmKXtmb3IoYSBpbiBmW3Qub3B0aW9ucy5jaGlsZGtleV09Zlt0Lm9wdGlvbnMuY2hpbGRrZXldfHxbXSxsPXt9LHUpcC5jYWxsKHUsYSkmJihsW2FdPXVbYV0pO2ZbdC5vcHRpb25zLmNoaWxka2V5XS5wdXNoKGwpLGRlbGV0ZSB1W1wiI25hbWVcIl0sMT09PU9iamVjdC5rZXlzKHUpLmxlbmd0aCYmciBpbiB1JiYhdC5FWFBMSUNJVF9DSEFSS0VZJiYodT11W3JdKX19ZWxzZSBoPXt9LHQub3B0aW9ucy5hdHRya2V5IGluIHUmJihoW3Qub3B0aW9ucy5hdHRya2V5XT11W3Qub3B0aW9ucy5hdHRya2V5XSxkZWxldGUgdVt0Lm9wdGlvbnMuYXR0cmtleV0pLCF0Lm9wdGlvbnMuY2hhcnNBc0NoaWxkcmVuJiZ0Lm9wdGlvbnMuY2hhcmtleSBpbiB1JiYoaFt0Lm9wdGlvbnMuY2hhcmtleV09dVt0Lm9wdGlvbnMuY2hhcmtleV0sZGVsZXRlIHVbdC5vcHRpb25zLmNoYXJrZXldKSxPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh1KS5sZW5ndGg+MCYmKGhbdC5vcHRpb25zLmNoaWxka2V5XT11KSx1PWg7cmV0dXJuIG4ubGVuZ3RoPjA/dC5hc3NpZ25PclB1c2goZixjLHUpOih0Lm9wdGlvbnMuZXhwbGljaXRSb290JiYobT11LCh1PXt9KVtjXT1tKSx0LnJlc3VsdE9iamVjdD11LHQuc2F4UGFyc2VyLmVuZGVkPSEwLHQuZW1pdChcImVuZFwiLHQucmVzdWx0T2JqZWN0KSl9fSh0aGlzKSxzPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihzKXt2YXIgZSxpO2lmKGk9bltuLmxlbmd0aC0xXSlyZXR1cm4gaVtyXSs9cyx0Lm9wdGlvbnMuZXhwbGljaXRDaGlsZHJlbiYmdC5vcHRpb25zLnByZXNlcnZlQ2hpbGRyZW5PcmRlciYmdC5vcHRpb25zLmNoYXJzQXNDaGlsZHJlbiYmKHQub3B0aW9ucy5pbmNsdWRlV2hpdGVDaGFyc3x8XCJcIiE9PXMucmVwbGFjZSgvXFxcXG4vZyxcIlwiKS50cmltKCkpJiYoaVt0Lm9wdGlvbnMuY2hpbGRrZXldPWlbdC5vcHRpb25zLmNoaWxka2V5XXx8W10sKGU9e1wiI25hbWVcIjpcIl9fdGV4dF9fXCJ9KVtyXT1zLHQub3B0aW9ucy5ub3JtYWxpemUmJihlW3JdPWVbcl0ucmVwbGFjZSgvXFxzezIsfS9nLFwiIFwiKS50cmltKCkpLGlbdC5vcHRpb25zLmNoaWxka2V5XS5wdXNoKGUpKSxpfX0odGhpcyksdGhpcy5zYXhQYXJzZXIub250ZXh0PXMsdGhpcy5zYXhQYXJzZXIub25jZGF0YT1mdW5jdGlvbih0KXt2YXIgcjtpZihyPXModCkpcmV0dXJuIHIuY2RhdGE9ITB9fSx1LnByb3RvdHlwZS5wYXJzZVN0cmluZz1mdW5jdGlvbihyLHMpe3ZhciBlO251bGwhPXMmJlwiZnVuY3Rpb25cIj09dHlwZW9mIHMmJih0aGlzLm9uKFwiZW5kXCIsZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMucmVzZXQoKSxzKG51bGwsdCl9KSx0aGlzLm9uKFwiZXJyb3JcIixmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5yZXNldCgpLHModCl9KSk7dHJ5e3JldHVyblwiXCI9PT0ocj1yLnRvU3RyaW5nKCkpLnRyaW0oKT8odGhpcy5lbWl0KFwiZW5kXCIsbnVsbCksITApOihyPXQuc3RyaXBCT00ociksdGhpcy5vcHRpb25zLmFzeW5jPyh0aGlzLnJlbWFpbmluZz1yLGEodGhpcy5wcm9jZXNzQXN5bmMpLHRoaXMuc2F4UGFyc2VyKTp0aGlzLnNheFBhcnNlci53cml0ZShyKS5jbG9zZSgpKX1jYXRjaCh0KXtpZihlPXQsIXRoaXMuc2F4UGFyc2VyLmVyclRocm93biYmIXRoaXMuc2F4UGFyc2VyLmVuZGVkKXJldHVybiB0aGlzLmVtaXQoXCJlcnJvclwiLGUpLHRoaXMuc2F4UGFyc2VyLmVyclRocm93bj0hMDtpZih0aGlzLnNheFBhcnNlci5lbmRlZCl0aHJvdyBlfX0sdS5wcm90b3R5cGUucGFyc2VTdHJpbmdQcm9taXNlPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgUHJvbWlzZSgocj10aGlzLGZ1bmN0aW9uKHMsZSl7cmV0dXJuIHIucGFyc2VTdHJpbmcodCxmdW5jdGlvbih0LHIpe3JldHVybiB0P2UodCk6cyhyKX0pfSkpO3ZhciByfSx1fSgpLGV4cG9ydHMucGFyc2VTdHJpbmc9ZnVuY3Rpb24odCxyLHMpe3ZhciBlLGk7cmV0dXJuIG51bGwhPXM/KFwiZnVuY3Rpb25cIj09dHlwZW9mIHMmJihlPXMpLFwib2JqZWN0XCI9PXR5cGVvZiByJiYoaT1yKSk6KFwiZnVuY3Rpb25cIj09dHlwZW9mIHImJihlPXIpLGk9e30pLG5ldyBleHBvcnRzLlBhcnNlcihpKS5wYXJzZVN0cmluZyh0LGUpfSxleHBvcnRzLnBhcnNlU3RyaW5nUHJvbWlzZT1mdW5jdGlvbih0LHIpe3ZhciBzO3JldHVyblwib2JqZWN0XCI9PXR5cGVvZiByJiYocz1yKSxuZXcgZXhwb3J0cy5QYXJzZXIocykucGFyc2VTdHJpbmdQcm9taXNlKHQpfX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbkJoY25ObGNpNXFjeUpkTENKdVlXMWxjeUk2V3lKaWIyMGlMQ0prWldaaGRXeDBjeUlzSW1WMlpXNTBjeUlzSW1selJXMXdkSGtpTENKd2NtOWpaWE56U1hSbGJTSXNJbkJ5YjJObGMzTnZjbk1pTENKellYZ2lMQ0p6WlhSSmJXMWxaR2xoZEdVaUxDSmlhVzVrSWl3aVptNGlMQ0p0WlNJc0ltRndjR3g1SWl3aVlYSm5kVzFsYm5Seklpd2lhR0Z6VUhKdmNDSXNJbWhoYzA5M2JsQnliM0JsY25SNUlpd2ljbVZ4ZFdseVpTSXNJblJvYVc1bklpd2lUMkpxWldOMElpd2lhMlY1Y3lJc0lteGxibWQwYUNJc0ltbDBaVzBpTENKclpYa2lMQ0pwSWl3aWJHVnVJaXdpY0hKdlkyVnpjeUlzSW1WNGNHOXlkSE1pTENKUVlYSnpaWElpTENKemRYQmxja05zWVhOeklpd2liM0IwY3lJc0luSmxaaUlzSW5aaGJIVmxJaXdpZEdocGN5SXNJbkJoY25ObFUzUnlhVzVuVUhKdmJXbHpaU0lzSW5CaGNuTmxVM1J5YVc1bklpd2ljbVZ6WlhRaUxDSmhjM05wWjI1UGNsQjFjMmdpTENKd2NtOWpaWE56UVhONWJtTWlMQ0p2Y0hScGIyNXpJaXdpWTJGc2JDSXNJbmh0Ykc1eklpd2llRzFzYm5OclpYa2lMQ0poZEhSeWEyVjVJaXdpYm05eWJXRnNhWHBsVkdGbmN5SXNJblJoWjA1aGJXVlFjbTlqWlhOemIzSnpJaXdpZFc1emFHbG1kQ0lzSW01dmNtMWhiR2w2WlNJc0ltTm9hV3hrSWl3aWNHRnlaVzUwSWl3aVkzUnZjaUlzSW1OdmJuTjBjblZqZEc5eUlpd2ljSEp2ZEc5MGVYQmxJaXdpWDE5emRYQmxjbDlmSWl3aVpYaDBaVzVrSWl3aVkyaDFibXNpTENKbGNuSWlMQ0p5WlcxaGFXNXBibWNpTENKamFIVnVhMU5wZW1VaUxDSnpZWGhRWVhKelpYSWlMQ0ozY21sMFpTSXNJbU5zYjNObElpd2ljM1ZpYzNSeUlpd2laWEp5YjNJeElpd2laWEp5VkdoeWIzZHVJaXdpWlcxcGRDSXNJbTlpYWlJc0ltNWxkMVpoYkhWbElpd2lRWEp5WVhraUxDSndkWE5vSWl3aVpYaHdiR2xqYVhSQmNuSmhlU0lzSW1Ob1lYSnJaWGtpTENKdmJuUmxlSFFpTENKemRHRmpheUlzSWw5MGFHbHpJaXdpY21WdGIzWmxRV3hzVEdsemRHVnVaWEp6SWl3aWNHRnljMlZ5SWl3aWMzUnlhV04wSWl3aWRISnBiU0lzSW05dVpYSnliM0lpTENKbGNuSnZjaUlzSW5KbGMzVnRaU0lzSW05dVpXNWtJaXdpWlc1a1pXUWlMQ0p5WlhOMWJIUlBZbXBsWTNRaUxDSkZXRkJNU1VOSlZGOURTRUZTUzBWWklpd2laWGh3YkdsamFYUkRhR0Z5YTJWNUlpd2liMjV2Y0dWdWRHRm5JaXdpYm05a1pTSXNJbkJ5YjJObGMzTmxaRXRsZVNJc0ltbG5ibTl5WlVGMGRISnpJaXdpWVhSMGNtbGlkWFJsY3lJc0ltMWxjbWRsUVhSMGNuTWlMQ0poZEhSeVZtRnNkV1ZRY205alpYTnpiM0p6SWl3aVlYUjBjazVoYldWUWNtOWpaWE56YjNKeklpd2libUZ0WlNJc0luVnlhU0lzSW14dlkyRnNJaXdpYjI1amJHOXpaWFJoWnlJc0ltTmtZWFJoSWl3aVpXMXdkSGxUZEhJaUxDSnViMlJsVG1GdFpTSXNJbTlpYWtOc2IyNWxJaXdpYjJ4a0lpd2ljeUlzSW5od1lYUm9JaXdpY0c5d0lpd2laWGh3YkdsamFYUkRhR2xzWkhKbGJpSXNJbkJ5WlhObGNuWmxRMmhwYkdSeVpXNVBjbVJsY2lJc0ltMWhkR05vSWl3aWNtVndiR0ZqWlNJc0luWmhiSFZsVUhKdlkyVnpjMjl5Y3lJc0ltVnRjSFI1VkdGbklpd2lkbUZzYVdSaGRHOXlJaXdpY21WemRXeDBjeUlzSW1OdmJtTmhkQ0lzSW1wdmFXNGlMQ0pqYUdsc1pHdGxlU0lzSW1Ob1lYSnpRWE5EYUdsc1pISmxiaUlzSW1kbGRFOTNibEJ5YjNCbGNuUjVUbUZ0WlhNaUxDSmxlSEJzYVdOcGRGSnZiM1FpTENKMFpYaDBJaXdpWTJoaGNrTm9hV3hrSWl3aWFXNWpiSFZrWlZkb2FYUmxRMmhoY25NaUxDSWpibUZ0WlNJc0ltOXVZMlJoZEdFaUxDSnpkSElpTENKallpSXNJbTl1SWl3aWNtVnpkV3gwSWl3aWRHOVRkSEpwYm1jaUxDSnpkSEpwY0VKUFRTSXNJbUZ6ZVc1aklpd2lVSEp2YldselpTSXNJbkpsYzI5c2RtVWlMQ0p5WldwbFkzUWlMQ0poSWl3aVlpSmRMQ0p0WVhCd2FXNW5jeUk2SWtOQlEwRXNWMEZEUlN4aFFVTkJMRWxCUVVsQkxFVkJRVXRETEVWQlFWVkRMRVZCUVZGRExFVkJRVk5ETEVWQlFXRkRMRVZCUVZsRExFVkJRVXRETEVWQlEyaEZReXhGUVVGUExGTkJRVk5ETEVWQlFVbERMRWRCUVVzc1QwRkJUeXhYUVVGWkxFOUJRVTlFTEVWQlFVZEZMRTFCUVUxRUxFVkJRVWxGTEdGQlJXaEZReXhGUVVGVkxFZEJRVWRETEdWQlJXWlNMRVZCUVUxVExGRkJRVkVzVDBGRlpHSXNSVUZCVTJFc1VVRkJVU3hWUVVWcVFtWXNSVUZCVFdVc1VVRkJVU3hUUVVWa1ZpeEZRVUZoVlN4UlFVRlJMR2RDUVVWeVFsSXNSVUZCWlZFc1VVRkJVU3hWUVVGVlVpeGhRVVZxUTA0c1JVRkJWMk1zVVVGQlVTeGpRVUZqWkN4VFFVVnFRMFVzUlVGQlZTeFRRVUZUWVN4SFFVTnFRaXhOUVVGM1FpeHBRa0ZCVmtFc1IwRkJaME1zVFVGQlZFRXNSMEZCWjBRc1NVRkJPVUpETEU5QlFVOURMRXRCUVV0R0xFZEJRVTlITEZGQlJ6VkZaaXhGUVVGakxGTkJRVk5ETEVWQlFWbGxMRVZCUVUxRExFZEJRM1pETEVsQlFVbERMRVZCUVVkRExFVkJRMUFzU1VGQlMwUXNSVUZCU1N4RlFVRkhReXhGUVVGTmJFSXNSVUZCVjJNc1QwRkJVVWNzUlVGQlNVTXNSVUZCUzBRc1NVRkZOVU5HTEVkQlJFRkpMRVZCUVZWdVFpeEZRVUZYYVVJc1NVRkRUa1lzUlVGQlRVTXNSMEZGZGtJc1QwRkJUMFFzUjBGSFZFc3NVVUZCVVVNc1QwRkJVeXhUUVVGVlF5eEhRVWQ2UWl4VFFVRlRSQ3hGUVVGUFJTeEhRVTFrTEVsQlFVbFFMRVZCUVV0UkxFVkJRVXRETEVWQlEyUXNSMEZPUVVNc1MwRkJTME1zYlVKQlFYRkNlRUlzUlVGQlMzVkNMRXRCUVV0RExHMUNRVUZ2UWtRc1RVRkRlRVJCTEV0QlFVdEZMRmxCUVdONlFpeEZRVUZMZFVJc1MwRkJTMFVzV1VGQllVWXNUVUZETVVOQkxFdEJRVXRITEUxQlFWRXhRaXhGUVVGTGRVSXNTMEZCUzBjc1RVRkJUMGdzVFVGRE9VSkJMRXRCUVV0SkxHRkJRV1V6UWl4RlFVRkxkVUlzUzBGQlMwa3NZVUZCWTBvc1RVRkROVU5CTEV0QlFVdExMR0ZCUVdVMVFpeEZRVUZMZFVJc1MwRkJTMHNzWVVGQlkwd3NVVUZGZEVOQkxHZENRVUZuUWs0c1VVRkJVVU1zVVVGRE5VSXNUMEZCVHl4SlFVRkpSQ3hSUVVGUlF5eFBRVUZQUlN4SFFVazFRaXhKUVVGTFVDeExRVVpNVlN4TFFVRkxUU3hSUVVGVkxFZEJRMlpTTEVWQlFVMDFRaXhGUVVGVExFbEJSVkpaTEVWQlFWRjVRaXhMUVVGTFZDeEZRVUZMVWl4TFFVTjJRbE1zUlVGQlVVUXNSVUZCU1ZJc1IwRkRXbFVzUzBGQlMwMHNVVUZCVVdoQ0xFZEJRVTlUTEVkQlJYUkNMRWxCUVV0VUxFdEJRVTlQTEVWQlEweG1MRVZCUVZGNVFpeExRVUZMVml4RlFVRk5VQ3hMUVVONFFsTXNSVUZCVVVZc1JVRkJTMUFzUjBGRFlsVXNTMEZCUzAwc1VVRkJVV2hDTEVkQlFVOVRMRWRCUld4Q1F5eExRVUZMVFN4UlFVRlJSU3hSUVVObVVpeExRVUZMVFN4UlFVRlJSeXhUUVVGWFZDeExRVUZMVFN4UlFVRlJTU3hSUVVGVkxFMUJSVGREVml4TFFVRkxUU3hSUVVGUlN5eG5Ra0ZEVmxnc1MwRkJTMDBzVVVGQlVVMHNiMEpCUTJoQ1dpeExRVUZMVFN4UlFVRlJUU3hyUWtGQmIwSXNTVUZGYmtOYUxFdEJRVXROTEZGQlFWRk5MR3RDUVVGclFrTXNVVUZCVVhaRExFVkJRVmQzUXl4WlFVVndSR1FzUzBGQlMwY3NVVUY1VWxBc1QwRjJWbE1zVTBGQlUxa3NSVUZCVDBNc1IwRkJWU3hKUVVGTExFbEJRVWt4UWl4TFFVRlBNRUlzUlVGQlkyeERMRVZCUVZGNVFpeExRVUZMVXl4RlFVRlJNVUlzUzBGQlRYbENMRVZCUVUxNlFpeEhRVUZQTUVJc1JVRkJUekZDTEVsQlFWRXNVMEZCVXpKQ0xFbEJRVk5xUWl4TFFVRkxhMElzV1VGQlkwZ3NSVUZCVTBVc1JVRkJTMFVzVlVGQldVZ3NSVUZCVDBjc1ZVRkJWMG9zUlVGQlRVa3NWVUZCV1N4SlFVRkpSaXhGUVVGUlJpeEZRVUZOU3l4VlFVRlpTaXhGUVVGUFJ5eFZRVFpDYUZGRkxFTkJRVTh4UWl4RlFUUlVUbmhDTEVkQmVGSkVkMElzUlVGQlQzZENMRlZCUVZWa0xHRkJRV1VzVjBGRE9VSXNTVUZCU1dsQ0xFVkJRVTlETEVWQlExZ3NTVUZEUlN4UFFVRkpka0lzUzBGQlMzZENMRlZCUVZWd1F5eFJRVUZWV1N4TFFVRkxUU3hSUVVGUmJVSXNWMEZEZUVOSUxFVkJRVkYwUWl4TFFVRkxkMElzVlVGRFluaENMRXRCUVV0M1FpeFZRVUZaTEVkQlEycENlRUlzUzBGQlN6QkNMRlZCUVZreFFpeExRVUZMTUVJc1ZVRkJWVU1zVFVGQlRVd3NSMEZETDBKMFFpeExRVUZMTUVJc1ZVRkJWVVVzVlVGRmRFSk9MRVZCUVZGMFFpeExRVUZMZDBJc1ZVRkJWVXNzVDBGQlR5eEZRVUZITjBJc1MwRkJTMDBzVVVGQlVXMUNMRmRCUXpsRGVrSXNTMEZCUzNkQ0xGVkJRVmw0UWl4TFFVRkxkMElzVlVGQlZVc3NUMEZCVHpkQ0xFdEJRVXROTEZGQlFWRnRRaXhWUVVGWGVrSXNTMEZCUzNkQ0xGVkJRVlZ3UXl4UlFVTTVSVmtzUzBGQlN6QkNMRlZCUVZreFFpeExRVUZMTUVJc1ZVRkJWVU1zVFVGQlRVd3NSMEZETDBJNVF5eEZRVUZoZDBJc1MwRkJTMHNzWlVGRk0wSXNUVUZCVDNsQ0xFZEJSVkFzUjBGRVFWQXNSVUZCVFU4c1IwRkRSRGxDTEV0QlFVc3dRaXhWUVVGVlN5eFZRVVZzUWl4UFFVUkJMMElzUzBGQlN6QkNMRlZCUVZWTExGZEJRVmtzUlVGRGNFSXZRaXhMUVVGTFowTXNTMEZCUzFRc1MwRkxka0kxUWl4RlFVRlBkMElzVlVGQlZXWXNZVUZCWlN4VFFVRlROa0lzUlVGQlN6TkRMRVZCUVVzMFF5eEhRVU5xUkN4UFFVRk5OVU1zUzBGQlR6SkRMRWRCVDB4QkxFVkJRVWt6UXl4aFFVRm5RalpETEZGQlEzaENSaXhGUVVGSk0wTXNSMEZCVHl4RFFVRkRNa01zUlVGQlNUTkRMRXRCUlZneVF5eEZRVUZKTTBNc1IwRkJTemhETEV0QlFVdEdMRWxCVkdoQ2JFTXNTMEZCUzAwc1VVRkJVU3RDTEdOQlIxUktMRVZCUVVrelF5eEhRVUZQTEVOQlFVTTBReXhIUVVaYVJDeEZRVUZKTTBNc1IwRkJUelJETEVkQldYaENka01zUlVGQlQzZENMRlZCUVZWb1FpeE5RVUZSTEZkQlEzWkNMRWxCUVVsUExFVkJRVk0wUWl4RlFVRlRReXhGUVVGUlF5eEZRVkZMUXl4RlFUQkxia01zVDBGcVRFRjZReXhMUVVGTE1FTXNjVUpCUTB3eFF5eExRVUZMTUVJc1ZVRkJXVzVFTEVWQlFVbHZSU3hQUVVGUE0wTXNTMEZCUzAwc1VVRkJVWE5ETEU5QlFWRXNRMEZETDBORExFMUJRVTBzUlVGRFRpOUNMRmRCUVZjc1JVRkRXRTRzVFVGQlQxSXNTMEZCUzAwc1VVRkJVVVVzVVVGRmRFSlNMRXRCUVVzd1FpeFZRVUZWU3l4WFFVRlpMRVZCUXpOQ0wwSXNTMEZCU3pCQ0xGVkJRVlZ2UWl4VFFVRnZRa3dzUlVGUmFFTjZReXhMUVZCTkxGTkJRVk1yUXl4SFFVVmtMRWRCUkVGT0xFVkJRVTFtTEZWQlFWVnpRaXhWUVVOWVVDeEZRVUZOWml4VlFVRlZTeXhWUVVWdVFpeFBRVVJCVlN4RlFVRk5aaXhWUVVGVlN5eFhRVUZaTEVWQlEzSkNWU3hGUVVGTlZDeExRVUZMTEZGQlFWTmxMRXRCU1dwREwwTXNTMEZCU3pCQ0xGVkJRVlYxUWl4TlFVRlJMRk5CUVZWU0xFZEJReTlDTEU5QlFVOHNWMEZEVEN4SlFVRkxRU3hGUVVGTlppeFZRVUZWZDBJc1RVRkZia0lzVDBGRVFWUXNSVUZCVFdZc1ZVRkJWWGRDTEU5QlFWRXNSVUZEYWtKVUxFVkJRVTFVTEV0QlFVc3NUVUZCVDFNc1JVRkJUVlVzWlVGS1pDeERRVTl3UW01RUxFMUJRMGhCTEV0QlFVc3dRaXhWUVVGVmQwSXNUMEZCVVN4RlFVTjJRbXhFTEV0QlFVdHZSQ3hwUWtGQmJVSndSQ3hMUVVGTFRTeFJRVUZSSzBNc1owSkJRM0pEY2tRc1MwRkJTMjFFTEdGQlFXVXNTMEZEY0VKWUxFVkJRVkVzUjBGRFVqbENMRVZCUVZWV0xFdEJRVXROTEZGQlFWRkpMRkZCUTNaQ05FSXNSVUZCVlhSRExFdEJRVXROTEZGQlFWRm5ReXhSUVVOMlFuUkRMRXRCUVVzd1FpeFZRVUZWTkVJc1ZVRkJXU3hUUVVGVllpeEhRVU51UXl4UFFVRlBMRk5CUVZOakxFZEJRMlFzU1VGQlNXcEZMRVZCUVVzMFF5eEZRVUZWUkN4RlFVRkxkVUlzUlVGQll6RkVMRVZCUjNSRExFbEJSa0Z0UXl4RlFVRk5MRWxCUTBaTExFZEJRVmNzU1VGRFZrY3NSVUZCVFc1RExGRkJRVkZ0UkN4WlFVVnFRaXhKUVVGTGJrVXNTMEZFVEZFc1JVRkJUWGxFTEVWQlFVdEhMRmRCUlVvMVJTeEZRVUZSZVVJc1MwRkJTMVFzUlVGQlMxSXNTMEZEYWtKdlFpeExRVUZYZFVJc1IwRkJVMUVzUlVGQlRXNURMRkZCUVZGeFJDeGhRVU4wUXpGQ0xFVkJRVWwyUWl4SFFVRlhMRWxCUldwQ2QwSXNSVUZCVjA4c1JVRkJUVzVETEZGQlFWRnpSQ3h2UWtGQmMwSjJSaXhGUVVGWmIwVXNSVUZCVFc1RExGRkJRVkZ6UkN4dlFrRkJjVUpNTEVWQlFVdEhMRmRCUVZkd1JTeEhRVUZOUVN4SFFVRlBhVVVzUlVGQlMwY3NWMEZCVjNCRkxFZEJRek5KYTBVc1JVRkJaV1lzUlVGQlRXNURMRkZCUVZGMVJDeHRRa0ZCY1VKNFJpeEZRVUZaYjBVc1JVRkJUVzVETEZGQlFWRjFSQ3h0UWtGQmIwSjJSU3hIUVVGUFFTeEZRVU51UjIxRUxFVkJRVTF1UXl4UlFVRlJjVVFzVjBGRGFFSnNRaXhGUVVGTmNrTXNZVUZCWVRaQ0xFVkJRVXQxUWl4RlFVRmpkRUlzUjBGRmRFTkVMRVZCUVVsMlFpeEhRVUZUT0VNc1IwRkJaMEowUWl4SFFWZHVReXhQUVZCQlJDeEZRVUZKTEZOQlFWZFJMRVZCUVUxdVF5eFJRVUZSVFN4clFrRkJiMEoyUXl4RlFVRlpiMFVzUlVGQlRXNURMRkZCUVZGTkxHdENRVUZ0UWpKRExFVkJRVXRQTEUxQlFWRlFMRVZCUVV0UExFdEJRelZIY2tJc1JVRkJUVzVETEZGQlFWRkZMRkZCUTJoQ2VVSXNSVUZCU1ZFc1JVRkJUVzVETEZGQlFWRkhMRlZCUVZrc1EwRkROVUp6UkN4SlFVRkxVaXhGUVVGTFVTeEpRVU5XUXl4TlFVRlBWQ3hGUVVGTFV5eFJRVWRVZUVJc1JVRkJUVW9zUzBGQlMwZ3NTVUUxUWtzc1EwRTRRbmhDYWtNc1RVRkRTRUVzUzBGQlN6QkNMRlZCUVZWMVF5eFhRVUZoTEZOQlFWVjRRaXhIUVVOd1F5eFBRVUZQTEZkQlEwd3NTVUZCU1hsQ0xFVkJRVTlETEVWQlFWVTNSU3hGUVVGTGFVVXNSVUZCVFdFc1JVRkJWVzVETEVWQlFVdHZReXhGUVVGVlF5eEZRVUZMUXl4RlFVRkhReXhGUVdsRWFrVXNSMEZvUkVGMlF5eEZRVUZOVHl4RlFVRk5hVU1zVFVGRFdrd3NSVUZCVjI1RExFVkJRVWtzVTBGRFZsRXNSVUZCVFc1RExGRkJRVkZ2UlN4clFrRkJjVUpxUXl4RlFVRk5ia01zVVVGQlVYRkZMRGhDUVVNM1F6RkRMRVZCUVVrc1ZVRkZTeXhKUVVGa1FTeEZRVUZKYVVNc1VVRkRUa0VzUlVGQlVXcERMRVZCUVVscFF5eGhRVU5NYWtNc1JVRkJTV2xETEU5QlJXSkxMRVZCUVVrdlFpeEZRVUZOUVN4RlFVRk5jRVFzVDBGQlV5eEhRVU55UWpaRExFVkJRVWxMTEVkQlFWTnpReXhOUVVGTkxGZEJRV0ZXTEVkQlEyeERReXhGUVVGWGJFTXNSVUZCU1Vzc1ZVRkRVa3dzUlVGQlNVc3NTMEZGVUVjc1JVRkJUVzVETEZGQlFWRjFReXhQUVVOb1Fsb3NSVUZCU1Vzc1IwRkJWMHdzUlVGQlNVc3NSMEZCVTA4c1VVRkZNVUpLTEVWQlFVMXVReXhSUVVGUlVTeFpRVU5vUW0xQ0xFVkJRVWxMTEVkQlFWZE1MRVZCUVVsTExFZEJRVk4xUXl4UlFVRlJMRlZCUVZjc1MwRkJTMmhETEZGQlJYUkVXaXhGUVVGSlN5eEhRVUZYUnl4RlFVRk5ia01zVVVGQlVYZEZMR2RDUVVGclFucEhMRVZCUVZsdlJTeEZRVUZOYmtNc1VVRkJVWGRGTEdkQ1FVRnBRamRETEVWQlFVbExMRWRCUVZVNFFpeEhRVUZaYmtNc1JVRkJTVXNzUjBGRGVFWXNTVUZCTlVKd1JDeFBRVUZQUXl4TFFVRkxPRU1zUjBGQlN6ZERMRkZCUVdkQ2EwUXNTMEZCVjB3c1NVRkJVVkVzUlVGQlRWY3NiVUpCUXpWRWJrSXNSVUZCVFVFc1JVRkJTVXNzUzBGSFZteEZMRVZCUVZFMlJDeExRVU5XUVN4RlFVRnBReXhMUVVFelFsRXNSVUZCVFc1RExGRkJRVkY1UlN4VFFVRnJRblJETEVWQlFVMXVReXhSUVVGUmVVVXNVMEZCVjFvc1IwRkZiRU1zVFVGQk0wSXhRaXhGUVVGTmJrTXNVVUZCVVRCRkxGbEJRMmhDVWl4RlFVRlJMRWxCUVU4c1YwRkRZaXhKUVVGSmFrWXNSVUZCUjBNc1JVRkJTM2xHTEVWQlJWb3NTVUZFUVVFc1JVRkJWU3hIUVVOTU1VWXNSVUZCU1N4RlFVRkhReXhGUVVGTlowUXNSVUZCVFhCRUxFOUJRVkZITEVWQlFVbERMRVZCUVV0RUxFbEJRM1pEWjBVc1JVRkJUMllzUlVGQlRXcEVMRWRCUTJJd1JpeEZRVUZSTjBNc1MwRkJTMjFDTEVWQlFVc3NWVUZGY0VJc1QwRkJUekJDTEVWQlVFc3NSMEZSVWtNc1QwRkJUMlFzUjBGQlZXVXNTMEZCU3l4TFFVTTFRaXhYUVVORkxFbEJRVWsxUkN4RlFVTktMRWxCUTFOVkxFVkJRVTFSTEVWQlFVMXVReXhSUVVGUk1FVXNWVUZCVlZJc1JVRkJUMFFzUjBGQlMwRXNSVUZCUlVnc1IwRkJWMjVETEVkQlF6bEVMRTFCUVU5SUxFZEJSVkFzVDBGRVFWQXNSVUZCVFU4c1JVRkRRMWNzUlVGQlRWUXNTMEZCU3l4UlFVRlRWQ3hKUVU0dlFpeEpRVlZGYTBJc1JVRkJUVzVETEZGQlFWRnZSU3h0UWtGQmNVSnFReXhGUVVGTmJrTXNVVUZCVVhGRUxGbEJRVFpDTEdsQ1FVRlNNVUlzUlVGRGVFVXNSMEZCUzFFc1JVRkJUVzVETEZGQlFWRnhSU3gxUWtGaldpeEhRVUZKU2l4RlFVRkhMRU5CUjFvc1NVRkJTMnBHTEV0QlJreHBSaXhGUVVGRk9VSXNSVUZCVFc1RExGRkJRVkU0UlN4VlFVRlpZaXhGUVVGRk9VSXNSVUZCVFc1RExGRkJRVkU0UlN4WFFVRmhMRWRCUTNwRVppeEZRVUZYTEVkQlEwTndReXhGUVVOTWJrUXNSVUZCVVhsQ0xFdEJRVXN3UWl4RlFVRkxNME1zUzBGRGRrSXJSU3hGUVVGVEwwVXNSMEZCVHpKRExFVkJRVWt6UXl4SlFVVjBRbWxHTEVWQlFVVTVRaXhGUVVGTmJrTXNVVUZCVVRoRkxGVkJRVlZvUkN4TFFVRkxhVU1zVlVGRGVFSndReXhGUVVGSkxGTkJRM0ZDTEVsQlFUVkNMME1zVDBGQlQwTXNTMEZCU3poRExFZEJRVXMzUXl4UlFVRm5RbXRFTEV0QlFWZE1MRWxCUVZGUkxFVkJRVTFYTEcxQ1FVTTFSRzVDTEVWQlFVMUJMRVZCUVVsTExGVkJka0phYVVJc1JVRkJUeXhIUVVOSVpDeEZRVUZOYmtNc1VVRkJVVWtzVjBGQlYzVkNMRWxCUXpOQ2MwSXNSVUZCUzJRc1JVRkJUVzVETEZGQlFWRkpMRk5CUVZkMVFpeEZRVUZKVVN4RlFVRk5ia01zVVVGQlVVa3NaMEpCUTNwRGRVSXNSVUZCU1ZFc1JVRkJUVzVETEZGQlFWRkpMRmRCUlhSQ0swSXNSVUZCVFc1RExGRkJRVkVyUlN4cFFrRkJiVUkxUXl4RlFVRk5ia01zVVVGQlVXZERMRmRCUVZkTUxFbEJRemRFYzBJc1JVRkJTMlFzUlVGQlRXNURMRkZCUVZGblF5eFRRVUZYVEN4RlFVRkpVU3hGUVVGTmJrTXNVVUZCVVdkRExHZENRVU42UTB3c1JVRkJTVkVzUlVGQlRXNURMRkZCUVZGblF5eFZRVVYyUW5CRUxFOUJRVTl2Unl4dlFrRkJiMEp5UkN4SFFVRkxOME1zVDBGQlV5eEpRVU16UTIxRkxFVkJRVXRrTEVWQlFVMXVReXhSUVVGUk9FVXNWVUZCV1c1RUxFZEJSV3BEUVN4RlFVRk5jMElzUlVGbFZpeFBRVUZKWml4RlFVRk5jRVFzVDBGQlV5eEZRVU5XY1VRc1JVRkJUWEpETEdGQlFXRnRSU3hGUVVGSFNDeEZRVUZWYmtNc1NVRkZia05STEVWQlFVMXVReXhSUVVGUmFVWXNaVUZEYUVKcVFpeEZRVUZOY2tNc1IwRkRUa0VzUlVGQlRTeEpRVU5HYlVNc1IwRkJXVVVzUjBGRmJFSTNRaXhGUVVGTlZTeGhRVUZsYkVJc1JVRkRja0pSTEVWQlFVMW1MRlZCUVZWM1FpeFBRVUZSTEVWQlEycENWQ3hGUVVGTlZDeExRVUZMTEUxQlFVOVRMRVZCUVUxVkxHZENRVEZHVkN4RFFUWkdla0p1UkN4TlFVTklkVU1zUlVGQlV5eFRRVUZWUlN4SFFVTnFRaXhQUVVGUExGTkJRVk1yUXl4SFFVTmtMRWxCUVVsRExFVkJRVmRzUWl4RlFVVm1MRWRCUkVGQkxFVkJRVWt2UWl4RlFVRk5RU3hGUVVGTmNFUXNUMEZCVXl4SFFXTjJRaXhQUVZwQmJVWXNSVUZCUldwRExFbEJRVmxyUkN4RlFVTldMME1zUlVGQlRXNURMRkZCUVZGdlJTeHJRa0ZCYjBKcVF5eEZRVUZOYmtNc1VVRkJVWEZGTEhWQ1FVRjVRbXhETEVWQlFVMXVReXhSUVVGUkswVXNhMEpCUVc5Q05VTXNSVUZCVFc1RExGRkJRVkZ2Uml4dFFrRkJlVVFzUzBGQmNFTkdMRVZCUVV0WUxGRkJRVkVzVDBGQlVTeEpRVUZKYUVNc1ZVRkRla3N3UWl4RlFVRkZPVUlzUlVGQlRXNURMRkZCUVZFNFJTeFZRVUZaWWl4RlFVRkZPVUlzUlVGQlRXNURMRkZCUVZFNFJTeFhRVUZoTEVsQlEzcEVTeXhGUVVGWkxFTkJRMVpGTEZGQlFWTXNZVUZGUkhKRUxFZEJRVmRyUkN4RlFVTnFRaTlETEVWQlFVMXVReXhSUVVGUlVTeFpRVU5vUWpKRkxFVkJRVlZ1UkN4SFFVRlhiVVFzUlVGQlZXNUVMRWRCUVZOMVF5eFJRVUZSTEZWQlFWY3NTMEZCUzJoRExGRkJSV3hGTUVJc1JVRkJSVGxDTEVWQlFVMXVReXhSUVVGUk9FVXNWVUZCVldoRUxFdEJRVXR4UkN4SlFVVXhRbXhDTEVkQmFrSktMRU5CYjBKT2RrVXNUVUZEU0VFc1MwRkJTekJDTEZWQlFWVmhMRTlCUVZOQkxFVkJRMnBDZGtNc1MwRkJTekJDTEZWQlFWVnJSU3hSUVVOaUxGTkJRVk5LTEVkQlEyUXNTVUZCU1dwQ0xFVkJSVW9zUjBGRVFVRXNSVUZCU1doRExFVkJRVTlwUkN4SFFVVlVMRTlCUVU5cVFpeEZRVUZGVEN4UFFVRlJMRWxCVFhwQ2RrVXNSVUZCVDNkQ0xGVkJRVlZxUWl4WlFVRmpMRk5CUVZNeVJpeEZRVUZMUXl4SFFVTXpReXhKUVVGSmRrVXNSVUZEVHl4TlFVRk9kVVVzUjBGQk5rSXNiVUpCUVZCQkxFbEJRM3BDT1VZc1MwRkJTeXRHTEVkQlFVY3NUVUZCVHl4VFFVRlRReXhIUVVWMFFpeFBRVVJCYUVjc1MwRkJTMGNzVVVGRFJUSkdMRVZCUVVjc1MwRkJUVVVzUzBGRmJFSm9SeXhMUVVGTEswWXNSMEZCUnl4UlFVRlRMRk5CUVZONFJTeEhRVVY0UWl4UFFVUkJka0lzUzBGQlMwY3NVVUZEUlRKR0xFVkJRVWQyUlN4TlFVZGtMRWxCUlVVc1RVRkJiVUlzVFVGRWJrSnpSU3hGUVVGTlFTeEZRVUZKU1N4WlFVTkdjRVFzVVVGRFRqZERMRXRCUVV0blF5eExRVUZMTEUxQlFVOHNUMEZEVml4SlFVVlVOa1FzUlVGQlRUVklMRVZCUVVscFNTeFRRVUZUVEN4SFFVTm1OMFlzUzBGQlMwMHNVVUZCVVRaR0xFOUJRMlp1Unl4TFFVRkxkMElzVlVGQldYRkZMRVZCUTJwQ2NrZ3NSVUZCWVhkQ0xFdEJRVXRMTEdOQlExaE1MRXRCUVVzd1FpeFhRVVZRTVVJc1MwRkJTekJDTEZWQlFWVkRMRTFCUVUxclJTeEhRVUZMYWtVc1UwRkRha01zVFVGQlQwVXNSMEZGVUN4SFFVUkJVQ3hGUVVGTlR5eEhRVU5CT1VJc1MwRkJTekJDTEZWQlFWVkxMRmxCUVdFdlFpeExRVUZMTUVJc1ZVRkJWWGRDTEUxQlJTOURMRTlCUkVGc1JDeExRVUZMWjBNc1MwRkJTeXhSUVVGVFZDeEhRVU5hZGtJc1MwRkJTekJDTEZWQlFWVkxMRmRCUVZrc1JVRkROMElzUjBGQlNTOUNMRXRCUVVzd1FpeFZRVUZWZDBJc1RVRkRlRUlzVFVGQlRUTkNMRWxCUzFvMVFpeEZRVUZQZDBJc1ZVRkJWV3hDTEcxQ1FVRnhRaXhUUVVGVE5FWXNSMEZETjBNc1QwRkJUeXhKUVVGSlR5eFRRVUZyUWpORUxFVkJWVEZDZWtNc1MwRlVUU3hUUVVGVGNVY3NSVUZCVTBNc1IwRkRka0lzVDBGQlR6ZEVMRVZCUVUxMlF5eFpRVUZaTWtZc1JVRkJTeXhUUVVGVGRFVXNSVUZCUzNoQ0xFZEJRekZETEU5QlFVbDNRaXhGUVVOTEswVXNSVUZCVHk5RkxFZEJSVkE0UlN4RlFVRlJkRWNzVVVGT1NpeEpRVUZWTUVNc1IwRmhlRUk1UXl4RlFUTlVVU3hIUVN0VWFrSkVMRkZCUVZGUkxGbEJRV01zVTBGQlV6SkdMRVZCUVV0VkxFVkJRVWRETEVkQlEzSkRMRWxCUVVsV0xFVkJRVWw0Uml4RlFXVlNMRTlCWkZNc1RVRkJUR3RITEVkQlEyVXNiVUpCUVU1QkxFbEJRMVJXTEVWQlFVdFZMRWRCUlZVc2FVSkJRVTVFTEVsQlExUnFSeXhGUVVGVmFVY3NTMEZIU3l4dFFrRkJUa0VzU1VGRFZGUXNSVUZCUzFNc1IwRkZVR3BITEVWQlFWVXNTVUZGU0N4SlFVRkpXaXhSUVVGUlF5eFBRVUZQVnl4SFFVTmtTaXhaUVVGWk1rWXNSVUZCUzBNc1NVRkhha053Unl4UlFVRlJUeXh0UWtGQmNVSXNVMEZCVXpSR0xFVkJRVXRWTEVkQlEzcERMRWxCUVVscVJ5eEZRVXRLTEUxQlNtbENMR2xDUVVGT2FVY3NTVUZEVkdwSExFVkJRVlZwUnl4SFFVVklMRWxCUVVrM1J5eFJRVUZSUXl4UFFVRlBWeXhIUVVOa1RDeHRRa0ZCYlVJMFJpeE5RVWRzUTNSR0xFdEJRVXRRSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwyMWhjM1JsY2k5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OTRiV3d5YW5NdmJHbGlMM0JoY25ObGNpNXFjeUo5IiwiKGZ1bmN0aW9uKCl7XCJ1c2Ugc3RyaWN0XCI7dmFyIGU7ZT1uZXcgUmVnRXhwKC8oPyF4bWxucyleLio6LyksZXhwb3J0cy5ub3JtYWxpemU9ZnVuY3Rpb24oZSl7cmV0dXJuIGUudG9Mb3dlckNhc2UoKX0sZXhwb3J0cy5maXJzdENoYXJMb3dlckNhc2U9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuY2hhckF0KDApLnRvTG93ZXJDYXNlKCkrZS5zbGljZSgxKX0sZXhwb3J0cy5zdHJpcFByZWZpeD1mdW5jdGlvbihyKXtyZXR1cm4gci5yZXBsYWNlKGUsXCJcIil9LGV4cG9ydHMucGFyc2VOdW1iZXJzPWZ1bmN0aW9uKGUpe3JldHVybiBpc05hTihlKXx8KGU9ZSUxPT0wP3BhcnNlSW50KGUsMTApOnBhcnNlRmxvYXQoZSkpLGV9LGV4cG9ydHMucGFyc2VCb29sZWFucz1mdW5jdGlvbihlKXtyZXR1cm4vXig/OnRydWV8ZmFsc2UpJC9pLnRlc3QoZSkmJihlPVwidHJ1ZVwiPT09ZS50b0xvd2VyQ2FzZSgpKSxlfX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbkJ5YjJObGMzTnZjbk11YW5NaVhTd2libUZ0WlhNaU9sc2ljSEpsWm1sNFRXRjBZMmdpTENKU1pXZEZlSEFpTENKbGVIQnZjblJ6SWl3aWJtOXliV0ZzYVhwbElpd2ljM1J5SWl3aWRHOU1iM2RsY2tOaGMyVWlMQ0ptYVhKemRFTm9ZWEpNYjNkbGNrTmhjMlVpTENKamFHRnlRWFFpTENKemJHbGpaU0lzSW5OMGNtbHdVSEpsWm1sNElpd2ljbVZ3YkdGalpTSXNJbkJoY25ObFRuVnRZbVZ5Y3lJc0ltbHpUbUZPSWl3aWNHRnljMlZKYm5RaUxDSndZWEp6WlVac2IyRjBJaXdpY0dGeWMyVkNiMjlzWldGdWN5SXNJblJsYzNRaUxDSmpZV3hzSWl3aWRHaHBjeUpkTENKdFlYQndhVzVuY3lJNklrTkJRMEVzVjBGRFJTeGhRVU5CTEVsQlFVbEJMRVZCUlVwQkxFVkJRV01zU1VGQlNVTXNUMEZCVHl4cFFrRkZla0pETEZGQlFWRkRMRlZCUVZrc1UwRkJVME1zUjBGRE0wSXNUMEZCVDBFc1JVRkJTVU1zWlVGSFlrZ3NVVUZCVVVrc2JVSkJRWEZDTEZOQlFWTkdMRWRCUTNCRExFOUJRVTlCTEVWQlFVbEhMRTlCUVU4c1IwRkJSMFlzWTBGQlowSkVMRVZCUVVsSkxFMUJRVTBzU1VGSGFrUk9MRkZCUVZGUExGbEJRV01zVTBGQlUwd3NSMEZETjBJc1QwRkJUMEVzUlVGQlNVMHNVVUZCVVZZc1JVRkJZU3hMUVVkc1EwVXNVVUZCVVZNc1lVRkJaU3hUUVVGVFVDeEhRVWs1UWl4UFFVaExVU3hOUVVGTlVpeExRVU5VUVN4RlFVRk5RU3hGUVVGTkxFZEJRVTBzUlVGQlNWTXNVMEZCVTFRc1JVRkJTeXhKUVVGTlZTeFhRVUZYVml4SlFVVm9SRUVzUjBGSFZFWXNVVUZCVVdFc1kwRkJaMElzVTBGQlUxZ3NSMEZKTDBJc1RVRklTU3h2UWtGQmIwSlpMRXRCUVV0YUxFdEJRek5DUVN4RlFVRTBRaXhUUVVGMFFrRXNSVUZCU1VNc1pVRkZURVFzUzBGSFVtRXNTMEZCUzBNaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZiV0Z6ZEdWeUwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMM2h0YkRKcWN5OXNhV0l2Y0hKdlkyVnpjMjl5Y3k1cWN5SjkiLCIoZnVuY3Rpb24oKXtcInVzZSBzdHJpY3RcIjt2YXIgcixlLHQscyxvPXt9Lmhhc093blByb3BlcnR5O2U9cmVxdWlyZShcIi4vZGVmYXVsdHNcIikscj1yZXF1aXJlKFwiLi9idWlsZGVyXCIpLHQ9cmVxdWlyZShcIi4vcGFyc2VyXCIpLHM9cmVxdWlyZShcIi4vcHJvY2Vzc29yc1wiKSxleHBvcnRzLmRlZmF1bHRzPWUuZGVmYXVsdHMsZXhwb3J0cy5wcm9jZXNzb3JzPXMsZXhwb3J0cy5WYWxpZGF0aW9uRXJyb3I9ZnVuY3Rpb24ocil7ZnVuY3Rpb24gZShyKXt0aGlzLm1lc3NhZ2U9cn1yZXR1cm4gZnVuY3Rpb24ocixlKXtmb3IodmFyIHQgaW4gZSlvLmNhbGwoZSx0KSYmKHJbdF09ZVt0XSk7ZnVuY3Rpb24gcygpe3RoaXMuY29uc3RydWN0b3I9cn1zLnByb3RvdHlwZT1lLnByb3RvdHlwZSxyLnByb3RvdHlwZT1uZXcgcyxyLl9fc3VwZXJfXz1lLnByb3RvdHlwZX0oZSxFcnJvciksZX0oKSxleHBvcnRzLkJ1aWxkZXI9ci5CdWlsZGVyLGV4cG9ydHMuUGFyc2VyPXQuUGFyc2VyLGV4cG9ydHMucGFyc2VTdHJpbmc9dC5wYXJzZVN0cmluZyxleHBvcnRzLnBhcnNlU3RyaW5nUHJvbWlzZT10LnBhcnNlU3RyaW5nUHJvbWlzZX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmh0YkRKcWN5NXFjeUpkTENKdVlXMWxjeUk2V3lKaWRXbHNaR1Z5SWl3aVpHVm1ZWFZzZEhNaUxDSndZWEp6WlhJaUxDSndjbTlqWlhOemIzSnpJaXdpYUdGelVISnZjQ0lzSW1oaGMwOTNibEJ5YjNCbGNuUjVJaXdpY21WeGRXbHlaU0lzSW1WNGNHOXlkSE1pTENKV1lXeHBaR0YwYVc5dVJYSnliM0lpTENKemRYQmxja05zWVhOeklpd2liV1Z6YzJGblpTSXNJblJvYVhNaUxDSmphR2xzWkNJc0luQmhjbVZ1ZENJc0ltdGxlU0lzSW1OaGJHd2lMQ0pqZEc5eUlpd2lZMjl1YzNSeWRXTjBiM0lpTENKd2NtOTBiM1I1Y0dVaUxDSmZYM04xY0dWeVgxOGlMQ0psZUhSbGJtUWlMQ0pGY25KdmNpSXNJa0oxYVd4a1pYSWlMQ0pRWVhKelpYSWlMQ0p3WVhKelpWTjBjbWx1WnlJc0luQmhjbk5sVTNSeWFXNW5VSEp2YldselpTSmRMQ0p0WVhCd2FXNW5jeUk2SWtOQlEwRXNWMEZEUlN4aFFVTkJMRWxCUVVsQkxFVkJRVk5ETEVWQlFWVkRMRVZCUVZGRExFVkJSVGRDUXl4RlFVRlZMRWRCUVVkRExHVkJSV1pLTEVWQlFWZExMRkZCUVZFc1kwRkZia0pPTEVWQlFWVk5MRkZCUVZFc1lVRkZiRUpLTEVWQlFWTkpMRkZCUVZFc1dVRkZha0pJTEVWQlFXRkhMRkZCUVZFc1owSkJSWEpDUXl4UlFVRlJUaXhUUVVGWFFTeEZRVUZUUVN4VFFVVTFRazBzVVVGQlVVb3NWMEZCWVVFc1JVRkZja0pKTEZGQlFWRkRMR2RDUVVGclFpeFRRVUZWUXl4SFFVZHNReXhUUVVGVFJDeEZRVUZuUWtVc1IwRkRka0pETEV0QlFVdEVMRkZCUVZWQkxFVkJSMnBDTEU5QmRFSlRMRk5CUVZORkxFVkJRVTlETEVkQlFWVXNTVUZCU3l4SlFVRkpReXhMUVVGUFJDeEZRVUZqVkN4RlFVRlJWeXhMUVVGTFJpeEZRVUZSUXl4TFFVRk5SaXhGUVVGTlJTeEhRVUZQUkN4RlFVRlBReXhKUVVGUkxGTkJRVk5GTEVsQlFWTk1MRXRCUVV0TkxGbEJRV05NTEVWQlFWTkpMRVZCUVV0RkxGVkJRVmxNTEVWQlFVOUxMRlZCUVZkT0xFVkJRVTFOTEZWQlFWa3NTVUZCU1VZc1JVRkJVVW9zUlVGQlRVOHNWVUZCV1U0c1JVRkJUMHNzVlVGblFtaFJSU3hEUVVGUFdpeEZRVkZPWVN4UFFVWk5ZaXhGUVZCcFFpeEhRVmN4UWtRc1VVRkJVV1VzVVVGQlZYUkNMRVZCUVZGelFpeFJRVVV4UW1Zc1VVRkJVV2RDTEU5QlFWTnlRaXhGUVVGUGNVSXNUMEZGZUVKb1FpeFJRVUZSYVVJc1dVRkJZM1JDTEVWQlFVOXpRaXhaUVVVM1FtcENMRkZCUVZGclFpeHRRa0ZCY1VKMlFpeEZRVUZQZFVJc2NVSkJSVzVEVml4TFFVRkxTaUlzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5dFlYTjBaWEl2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdmVHMXNNbXB6TDJ4cFlpOTRiV3d5YW5NdWFuTWlmUT09IiwiKGZ1bmN0aW9uKCl7bW9kdWxlLmV4cG9ydHM9e0Rpc2Nvbm5lY3RlZDoxLFByZWNlZGluZzoyLEZvbGxvd2luZzo0LENvbnRhaW5zOjgsQ29udGFpbmVkQnk6MTYsSW1wbGVtZW50YXRpb25TcGVjaWZpYzozMn19KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWtSdlkzVnRaVzUwVUc5emFYUnBiMjR1YW5NaVhTd2libUZ0WlhNaU9sc2liVzlrZFd4bElpd2laWGh3YjNKMGN5SXNJa1JwYzJOdmJtNWxZM1JsWkNJc0lsQnlaV05sWkdsdVp5SXNJa1p2Ykd4dmQybHVaeUlzSWtOdmJuUmhhVzV6SWl3aVEyOXVkR0ZwYm1Wa1Fua2lMQ0pKYlhCc1pXMWxiblJoZEdsdmJsTndaV05wWm1saklpd2lZMkZzYkNJc0luUm9hWE1pWFN3aWJXRndjR2x1WjNNaU9pSkRRVU5CTEZkQlEwVkJMRTlCUVU5RExGRkJRVlVzUTBGRFprTXNZVUZCWXl4RlFVTmtReXhWUVVGWExFVkJRMWhETEZWQlFWY3NSVUZEV0VNc1UwRkJWU3hGUVVOV1F5eFpRVUZoTEVkQlEySkRMSFZDUVVGM1FpeE5RVWQ2UWtNc1MwRkJTME1pTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmJXRnpkR1Z5TDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwzaHRiR0oxYVd4a1pYSXZiR2xpTDBSdlkzVnRaVzUwVUc5emFYUnBiMjR1YW5NaWZRPT0iLCIoZnVuY3Rpb24oKXttb2R1bGUuZXhwb3J0cz17RWxlbWVudDoxLEF0dHJpYnV0ZToyLFRleHQ6MyxDRGF0YTo0LEVudGl0eVJlZmVyZW5jZTo1LEVudGl0eURlY2xhcmF0aW9uOjYsUHJvY2Vzc2luZ0luc3RydWN0aW9uOjcsQ29tbWVudDo4LERvY3VtZW50OjksRG9jVHlwZToxMCxEb2N1bWVudEZyYWdtZW50OjExLE5vdGF0aW9uRGVjbGFyYXRpb246MTIsRGVjbGFyYXRpb246MjAxLFJhdzoyMDIsQXR0cmlidXRlRGVjbGFyYXRpb246MjAzLEVsZW1lbnREZWNsYXJhdGlvbjoyMDQsRHVtbXk6MjA1fX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJazV2WkdWVWVYQmxMbXB6SWwwc0ltNWhiV1Z6SWpwYkltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSkZiR1Z0Wlc1MElpd2lRWFIwY21saWRYUmxJaXdpVkdWNGRDSXNJa05FWVhSaElpd2lSVzUwYVhSNVVtVm1aWEpsYm1ObElpd2lSVzUwYVhSNVJHVmpiR0Z5WVhScGIyNGlMQ0pRY205alpYTnphVzVuU1c1emRISjFZM1JwYjI0aUxDSkRiMjF0Wlc1MElpd2lSRzlqZFcxbGJuUWlMQ0pFYjJOVWVYQmxJaXdpUkc5amRXMWxiblJHY21GbmJXVnVkQ0lzSWs1dmRHRjBhVzl1UkdWamJHRnlZWFJwYjI0aUxDSkVaV05zWVhKaGRHbHZiaUlzSWxKaGR5SXNJa0YwZEhKcFluVjBaVVJsWTJ4aGNtRjBhVzl1SWl3aVJXeGxiV1Z1ZEVSbFkyeGhjbUYwYVc5dUlpd2lSSFZ0YlhraUxDSmpZV3hzSWl3aWRHaHBjeUpkTENKdFlYQndhVzVuY3lJNklrTkJRMEVzVjBGRFJVRXNUMEZCVDBNc1VVRkJWU3hEUVVObVF5eFJRVUZUTEVWQlExUkRMRlZCUVZjc1JVRkRXRU1zUzBGQlRTeEZRVU5PUXl4TlFVRlBMRVZCUTFCRExHZENRVUZwUWl4RlFVTnFRa01zYTBKQlFXMUNMRVZCUTI1Q1F5eHpRa0ZCZFVJc1JVRkRka0pETEZGQlFWTXNSVUZEVkVNc1UwRkJWU3hGUVVOV1F5eFJRVUZUTEVkQlExUkRMR2xDUVVGclFpeEhRVU5zUWtNc2IwSkJRWEZDTEVkQlEzSkNReXhaUVVGaExFbEJRMkpETEVsQlFVc3NTVUZEVEVNc2NVSkJRWE5DTEVsQlEzUkNReXh0UWtGQmIwSXNTVUZEY0VKRExFMUJRVThzVDBGSFVrTXNTMEZCUzBNaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZiV0Z6ZEdWeUwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMM2h0YkdKMWFXeGtaWEl2YkdsaUwwNXZaR1ZVZVhCbExtcHpJbjA9IiwiKGZ1bmN0aW9uKCl7dmFyIHQscixuLGUsbyxpLGMsbD1bXS5zbGljZSx1PXt9Lmhhc093blByb3BlcnR5O3Q9ZnVuY3Rpb24oKXt2YXIgdCxyLG4sZSxpLGM7aWYoYz1hcmd1bWVudHNbMF0saT0yPD1hcmd1bWVudHMubGVuZ3RoP2wuY2FsbChhcmd1bWVudHMsMSk6W10sbyhPYmplY3QuYXNzaWduKSlPYmplY3QuYXNzaWduLmFwcGx5KG51bGwsYXJndW1lbnRzKTtlbHNlIGZvcih0PTAsbj1pLmxlbmd0aDt0PG47dCsrKWlmKG51bGwhPShlPWlbdF0pKWZvcihyIGluIGUpdS5jYWxsKGUscikmJihjW3JdPWVbcl0pO3JldHVybiBjfSxvPWZ1bmN0aW9uKHQpe3JldHVybiEhdCYmXCJbb2JqZWN0IEZ1bmN0aW9uXVwiPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpfSxpPWZ1bmN0aW9uKHQpe3ZhciByO3JldHVybiEhdCYmKFwiZnVuY3Rpb25cIj09KHI9dHlwZW9mIHQpfHxcIm9iamVjdFwiPT09cil9LG49ZnVuY3Rpb24odCl7cmV0dXJuIG8oQXJyYXkuaXNBcnJheSk/QXJyYXkuaXNBcnJheSh0KTpcIltvYmplY3QgQXJyYXldXCI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCl9LGU9ZnVuY3Rpb24odCl7dmFyIHI7aWYobih0KSlyZXR1cm4hdC5sZW5ndGg7Zm9yKHIgaW4gdClpZih1LmNhbGwodCxyKSlyZXR1cm4hMTtyZXR1cm4hMH0sYz1mdW5jdGlvbih0KXt2YXIgcixuO3JldHVybiBpKHQpJiYobj1PYmplY3QuZ2V0UHJvdG90eXBlT2YodCkpJiYocj1uLmNvbnN0cnVjdG9yKSYmXCJmdW5jdGlvblwiPT10eXBlb2YgciYmciBpbnN0YW5jZW9mIHImJkZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHIpPT09RnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoT2JqZWN0KX0scj1mdW5jdGlvbih0KXtyZXR1cm4gbyh0LnZhbHVlT2YpP3QudmFsdWVPZigpOnR9LG1vZHVsZS5leHBvcnRzLmFzc2lnbj10LG1vZHVsZS5leHBvcnRzLmlzRnVuY3Rpb249byxtb2R1bGUuZXhwb3J0cy5pc09iamVjdD1pLG1vZHVsZS5leHBvcnRzLmlzQXJyYXk9bixtb2R1bGUuZXhwb3J0cy5pc0VtcHR5PWUsbW9kdWxlLmV4cG9ydHMuaXNQbGFpbk9iamVjdD1jLG1vZHVsZS5leHBvcnRzLmdldFZhbHVlPXJ9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxWMGFXeHBkSGt1YW5NaVhTd2libUZ0WlhNaU9sc2lZWE56YVdkdUlpd2laMlYwVm1Gc2RXVWlMQ0pwYzBGeWNtRjVJaXdpYVhORmJYQjBlU0lzSW1selJuVnVZM1JwYjI0aUxDSnBjMDlpYW1WamRDSXNJbWx6VUd4aGFXNVBZbXBsWTNRaUxDSnpiR2xqWlNJc0ltaGhjMUJ5YjNBaUxDSm9ZWE5QZDI1UWNtOXdaWEowZVNJc0lta2lMQ0pyWlhraUxDSnNaVzRpTENKemIzVnlZMlVpTENKemIzVnlZMlZ6SWl3aWRHRnlaMlYwSWl3aVlYSm5kVzFsYm5Seklpd2liR1Z1WjNSb0lpd2lZMkZzYkNJc0lrOWlhbVZqZENJc0ltRndjR3g1SWl3aWRtRnNJaXdpY0hKdmRHOTBlWEJsSWl3aWRHOVRkSEpwYm1jaUxDSnlaV1lpTENKQmNuSmhlU0lzSW1OMGIzSWlMQ0p3Y205MGJ5SXNJbWRsZEZCeWIzUnZkSGx3WlU5bUlpd2lZMjl1YzNSeWRXTjBiM0lpTENKR2RXNWpkR2x2YmlJc0ltOWlhaUlzSW5aaGJIVmxUMllpTENKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aWRHaHBjeUpkTENKdFlYQndhVzVuY3lJNklrTkJRMEVzVjBGRFJTeEpRVUZKUVN4RlFVRlJReXhGUVVGVlF5eEZRVUZUUXl4RlFVRlRReXhGUVVGWlF5eEZRVUZWUXl4RlFVTTFSRU1zUlVGQlVTeEhRVUZIUVN4TlFVTllReXhGUVVGVkxFZEJRVWRETEdWQlJXWlVMRVZCUVZNc1YwRkRVQ3hKUVVGSlZTeEZRVUZIUXl4RlFVRkxReXhGUVVGTFF5eEZRVUZSUXl4RlFVRlRReXhGUVVWc1F5eEhRVVJCUVN4RlFVRlRReXhWUVVGVkxFZEJRVWxHTEVWQlFWVXNSMEZCUzBVc1ZVRkJWVU1zVDBGQlUxWXNSVUZCVFZjc1MwRkJTMFlzVlVGQlZ5eEhRVUZMTEVkQlEyaEdXaXhGUVVGWFpTeFBRVUZQYmtJc1VVRkRjRUp0UWl4UFFVRlBia0lzVDBGQlQyOUNMRTFCUVUwc1MwRkJUVW9zWjBKQlJURkNMRWxCUVV0T0xFVkJRVWtzUlVGQlIwVXNSVUZCVFVVc1JVRkJVVWNzVDBGQlVWQXNSVUZCU1VVc1JVRkJTMFlzU1VGRmVrTXNSMEZCWXl4UFFVUmtSeXhGUVVGVFF5eEZRVUZSU2l4SlFVVm1MRWxCUVV0RExFdEJRVTlGTEVWQlEweE1MRVZCUVZGVkxFdEJRVXRNTEVWQlFWRkdMRXRCUXpGQ1NTeEZRVUZQU2l4SFFVRlBSU3hGUVVGUFJpeEpRVXMzUWl4UFFVRlBTU3hIUVVkVVdDeEZRVUZoTEZOQlFWTnBRaXhIUVVOd1FpeFJRVUZUUVN4SFFVRXJReXh6UWtGQmVFTkdMRTlCUVU5SExGVkJRVlZETEZOQlFWTk1MRXRCUVV0SExFbEJSMnBFYUVJc1JVRkJWeXhUUVVGVFowSXNSMEZEYkVJc1NVRkJTVWNzUlVGRFNpeFJRVUZUU0N4SlFVRXJRaXhoUVVGMFFrY3NVMEZCWVVnc1NVRkJLMElzVjBGQlVrY3NTVUZIZUVSMFFpeEZRVUZWTEZOQlFWTnRRaXhIUVVOcVFpeFBRVUZKYWtJc1JVRkJWM0ZDTEUxQlFVMTJRaXhUUVVOYWRVSXNUVUZCVFhaQ0xGRkJRVkZ0UWl4SFFVVXdRaXh0UWtGQmVFTkdMRTlCUVU5SExGVkJRVlZETEZOQlFWTk1MRXRCUVV0SExFbEJTVEZEYkVJc1JVRkJWU3hUUVVGVGEwSXNSMEZEYWtJc1NVRkJTVllzUlVGRFNpeEhRVUZKVkN4RlFVRlJiVUlzUjBGRFZpeFBRVUZSUVN4RlFVRkpTaXhQUVVWYUxFbEJRVXRPTEV0QlFVOVZMRVZCUTFZc1IwRkJTMklzUlVGQlVWVXNTMEZCUzBjc1JVRkJTMVlzUjBGRGRrSXNUMEZCVHl4RlFVVlVMRTlCUVU4c1IwRkpXRXdzUlVGQlowSXNVMEZCVTJVc1IwRkRka0lzU1VGQlNVc3NSVUZCVFVNc1JVRkRWaXhQUVVGUGRFSXNSVUZCVTJkQ0xFdEJRVk5OTEVWQlFWRlNMRTlCUVU5VExHVkJRV1ZRTEUxQlFWVkxMRVZCUVU5RExFVkJRVTFGTEdOQlFXbERMRzFDUVVGVVNDeEhRVUY1UWtFc1lVRkJaMEpCTEVkQlFWVkpMRk5CUVZOU0xGVkJRVlZETEZOQlFWTk1MRXRCUVV0UkxFdEJRVlZKTEZOQlFWTlNMRlZCUVZWRExGTkJRVk5NTEV0QlFVdERMRk5CUjNaUGJFSXNSVUZCVnl4VFFVRlRPRUlzUjBGRGJFSXNUMEZCU1ROQ0xFVkJRVmN5UWl4RlFVRkpReXhUUVVOV1JDeEZRVUZKUXl4VlFVVktSQ3hIUVVsWVJTeFBRVUZQUXl4UlFVRlJiRU1zVDBGQlUwRXNSVUZGZUVKcFF5eFBRVUZQUXl4UlFVRlJPVUlzVjBGQllVRXNSVUZGTlVJMlFpeFBRVUZQUXl4UlFVRlJOMElzVTBGQlYwRXNSVUZGTVVJMFFpeFBRVUZQUXl4UlFVRlJhRU1zVVVGQlZVRXNSVUZGZWtJclFpeFBRVUZQUXl4UlFVRlJMMElzVVVGQlZVRXNSVUZGZWtJNFFpeFBRVUZQUXl4UlFVRlJOVUlzWTBGQlowSkJMRVZCUlM5Q01rSXNUMEZCVDBNc1VVRkJVV3BETEZOQlFWZEJMRWxCUlhwQ2FVSXNTMEZCUzJsQ0lpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMMjFoYzNSbGNpOXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTk0Yld4aWRXbHNaR1Z5TDJ4cFlpOVZkR2xzYVhSNUxtcHpJbjA9IiwiKGZ1bmN0aW9uKCl7bW9kdWxlLmV4cG9ydHM9e05vbmU6MCxPcGVuVGFnOjEsSW5zaWRlVGFnOjIsQ2xvc2VUYWc6M319KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxkeWFYUmxjbE4wWVhSbExtcHpJbDBzSW01aGJXVnpJanBiSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pTENKT2IyNWxJaXdpVDNCbGJsUmhaeUlzSWtsdWMybGtaVlJoWnlJc0lrTnNiM05sVkdGbklpd2lZMkZzYkNJc0luUm9hWE1pWFN3aWJXRndjR2x1WjNNaU9pSkRRVU5CTEZkQlEwVkJMRTlCUVU5RExGRkJRVlVzUTBGRFprTXNTMEZCVFN4RlFVTk9ReXhSUVVGVExFVkJRMVJETEZWQlFWY3NSVUZEV0VNc1UwRkJWU3hMUVVkWVF5eExRVUZMUXlJc0ltWnBiR1VpT2lJdmFHOXRaUzk2YVc1dkwzQnliMnBsWTNSekwzTmxZWFJ0WVhCMk1pOXRZWE4wWlhJdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZlRzFzWW5WcGJHUmxjaTlzYVdJdlYzSnBkR1Z5VTNSaGRHVXVhbk1pZlE9PSIsIihmdW5jdGlvbigpe3ZhciB0O3Q9cmVxdWlyZShcIi4vTm9kZVR5cGVcIikscmVxdWlyZShcIi4vWE1MTm9kZVwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSxuLHIpe2lmKHRoaXMucGFyZW50PWUsdGhpcy5wYXJlbnQmJih0aGlzLm9wdGlvbnM9dGhpcy5wYXJlbnQub3B0aW9ucyx0aGlzLnN0cmluZ2lmeT10aGlzLnBhcmVudC5zdHJpbmdpZnkpLG51bGw9PW4pdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBhdHRyaWJ1dGUgbmFtZS4gXCIrdGhpcy5kZWJ1Z0luZm8obikpO3RoaXMubmFtZT10aGlzLnN0cmluZ2lmeS5uYW1lKG4pLHRoaXMudmFsdWU9dGhpcy5zdHJpbmdpZnkuYXR0VmFsdWUociksdGhpcy50eXBlPXQuQXR0cmlidXRlLHRoaXMuaXNJZD0hMSx0aGlzLnNjaGVtYVR5cGVJbmZvPW51bGx9cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSxcIm5vZGVUeXBlXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnR5cGV9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLFwib3duZXJFbGVtZW50XCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnBhcmVudH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsXCJ0ZXh0Q29udGVudFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZX0sc2V0OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnZhbHVlPXR8fFwiXCJ9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLFwibmFtZXNwYWNlVVJJXCIse2dldDpmdW5jdGlvbigpe3JldHVyblwiXCJ9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLFwicHJlZml4XCIse2dldDpmdW5jdGlvbigpe3JldHVyblwiXCJ9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLFwibG9jYWxOYW1lXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5hbWV9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLFwic3BlY2lmaWVkXCIse2dldDpmdW5jdGlvbigpe3JldHVybiEwfX0pLGUucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdC5jcmVhdGUodGhpcyl9LGUucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMud3JpdGVyLmF0dHJpYnV0ZSh0aGlzLHRoaXMub3B0aW9ucy53cml0ZXIuZmlsdGVyT3B0aW9ucyh0KSl9LGUucHJvdG90eXBlLmRlYnVnSW5mbz1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09KHQ9dHx8dGhpcy5uYW1lKT9cInBhcmVudDogPFwiK3RoaXMucGFyZW50Lm5hbWUrXCI+XCI6XCJhdHRyaWJ1dGU6IHtcIit0K1wifSwgcGFyZW50OiA8XCIrdGhpcy5wYXJlbnQubmFtZStcIj5cIn0sZS5wcm90b3R5cGUuaXNFcXVhbE5vZGU9ZnVuY3Rpb24odCl7cmV0dXJuIHQubmFtZXNwYWNlVVJJPT09dGhpcy5uYW1lc3BhY2VVUkkmJih0LnByZWZpeD09PXRoaXMucHJlZml4JiYodC5sb2NhbE5hbWU9PT10aGlzLmxvY2FsTmFtZSYmdC52YWx1ZT09PXRoaXMudmFsdWUpKX0sZX0oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEVGMGRISnBZblYwWlM1cWN5SmRMQ0p1WVcxbGN5STZXeUpPYjJSbFZIbHdaU0lzSW5KbGNYVnBjbVVpTENKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aVdFMU1RWFIwY21saWRYUmxJaXdpY0dGeVpXNTBJaXdpYm1GdFpTSXNJblpoYkhWbElpd2lkR2hwY3lJc0ltOXdkR2x2Ym5NaUxDSnpkSEpwYm1kcFpua2lMQ0pGY25KdmNpSXNJbVJsWW5WblNXNW1ieUlzSW1GMGRGWmhiSFZsSWl3aWRIbHdaU0lzSWtGMGRISnBZblYwWlNJc0ltbHpTV1FpTENKelkyaGxiV0ZVZVhCbFNXNW1ieUlzSWs5aWFtVmpkQ0lzSW1SbFptbHVaVkJ5YjNCbGNuUjVJaXdpY0hKdmRHOTBlWEJsSWl3aVoyVjBJaXdpYzJWMElpd2lZMnh2Ym1VaUxDSmpjbVZoZEdVaUxDSjBiMU4wY21sdVp5SXNJbmR5YVhSbGNpSXNJbUYwZEhKcFluVjBaU0lzSW1acGJIUmxjazl3ZEdsdmJuTWlMQ0pwYzBWeGRXRnNUbTlrWlNJc0ltNXZaR1VpTENKdVlXMWxjM0JoWTJWVlVra2lMQ0p3Y21WbWFYZ2lMQ0pzYjJOaGJFNWhiV1VpTENKallXeHNJbDBzSW0xaGNIQnBibWR6SWpvaVEwRkRRU3hYUVVORkxFbEJRVWxCTEVWQlJVcEJMRVZCUVZkRExGRkJRVkVzWTBGRlZFRXNVVUZCVVN4aFFVVnNRa01zVDBGQlQwTXNVVUZCZVVJc1YwRkRPVUlzVTBGQlUwTXNSVUZCWVVNc1JVRkJVVU1zUlVGQlRVTXNSMEZOYkVNc1IwRk1RVU1zUzBGQlMwZ3NUMEZCVTBFc1JVRkRWa2NzUzBGQlMwZ3NVMEZEVUVjc1MwRkJTME1zVVVGQlZVUXNTMEZCUzBnc1QwRkJUMGtzVVVGRE0wSkVMRXRCUVV0RkxGVkJRVmxHTEV0QlFVdElMRTlCUVU5TExGZEJSVzVDTEUxQlFWSktMRVZCUTBZc1RVRkJUU3hKUVVGSlN5eE5RVUZOTERKQ1FVRTJRa2dzUzBGQlMwa3NWVUZCVlU0c1NVRkZPVVJGTEV0QlFVdEdMRXRCUVU5RkxFdEJRVXRGTEZWQlFWVktMRXRCUVV0QkxFZEJRMmhEUlN4TFFVRkxSQ3hOUVVGUlF5eExRVUZMUlN4VlFVRlZSeXhUUVVGVFRpeEhRVU55UTBNc1MwRkJTMDBzUzBGQlQyUXNSVUZCVTJVc1ZVRkRja0pRTEV0QlFVdFJMRTFCUVU4c1JVRkRXbElzUzBGQlMxTXNaVUZCYVVJc1MwRnBSbmhDTEU5Qk9VVkJReXhQUVVGUFF5eGxRVUZsWml4RlFVRmhaMElzVlVGQlZ5eFhRVUZaTEVOQlEzaEVReXhKUVVGTExGZEJRMGdzVDBGQlQySXNTMEZCUzAwc1VVRkphRUpKTEU5QlFVOURMR1ZCUVdWbUxFVkJRV0ZuUWl4VlFVRlhMR1ZCUVdkQ0xFTkJRelZFUXl4SlFVRkxMRmRCUTBnc1QwRkJUMklzUzBGQlMwZ3NWVUZKYUVKaExFOUJRVTlETEdWQlFXVm1MRVZCUVdGblFpeFZRVUZYTEdOQlFXVXNRMEZETTBSRExFbEJRVXNzVjBGRFNDeFBRVUZQWWl4TFFVRkxSQ3hQUVVWa1pTeEpRVUZMTEZOQlFWTm1MRWRCUTFvc1QwRkJUME1zUzBGQlMwUXNUVUZCVVVFc1IwRkJVeXhOUVVscVExY3NUMEZCVDBNc1pVRkJaV1lzUlVGQllXZENMRlZCUVZjc1pVRkJaMElzUTBGRE5VUkRMRWxCUVVzc1YwRkRTQ3hOUVVGUExFMUJTVmhJTEU5QlFVOURMR1ZCUVdWbUxFVkJRV0ZuUWl4VlFVRlhMRk5CUVZVc1EwRkRkRVJETEVsQlFVc3NWMEZEU0N4TlFVRlBMRTFCU1ZoSUxFOUJRVTlETEdWQlFXVm1MRVZCUVdGblFpeFZRVUZYTEZsQlFXRXNRMEZEZWtSRExFbEJRVXNzVjBGRFNDeFBRVUZQWWl4TFFVRkxSaXhSUVVsb1Fsa3NUMEZCVDBNc1pVRkJaV1lzUlVGQllXZENMRlZCUVZjc1dVRkJZU3hEUVVONlJFTXNTVUZCU3l4WFFVTklMRTlCUVU4c1MwRkpXR3BDTEVWQlFXRm5RaXhWUVVGVlJ5eE5RVUZSTEZkQlF6ZENMRTlCUVU5TUxFOUJRVTlOTEU5QlFVOW9RaXhQUVVkMlFrb3NSVUZCWVdkQ0xGVkJRVlZMTEZOQlFWY3NVMEZCVTJoQ0xFZEJRM3BETEU5QlFVOUVMRXRCUVV0RExGRkJRVkZwUWl4UFFVRlBReXhWUVVGVmJrSXNTMEZCVFVFc1MwRkJTME1zVVVGQlVXbENMRTlCUVU5RkxHTkJRV051UWl4TFFVY3ZSVXdzUlVGQllXZENMRlZCUVZWU0xGVkJRVmtzVTBGQlUwNHNSMEZGTVVNc1QwRkJXU3hQUVVSYVFTeEZRVUZQUVN4SFFVRlJSU3hMUVVGTFJpeE5RVVZZTEZsQlFXTkZMRXRCUVV0SUxFOUJRVTlETEV0QlFVOHNTVUZGYWtNc1pVRkJhVUpCTEVWQlFVOHNaVUZCYVVKRkxFdEJRVXRJTEU5QlFVOURMRXRCUVU4c1MwRkpka1ZHTEVWQlFXRm5RaXhWUVVGVlV5eFpRVUZqTEZOQlFWTkRMRWRCUXpWRExFOUJRVWxCTEVWQlFVdERMR1ZCUVdsQ2RrSXNTMEZCUzNWQ0xHVkJSek5DUkN4RlFVRkxSU3hUUVVGWGVFSXNTMEZCUzNkQ0xGTkJSM0pDUml4RlFVRkxSeXhaUVVGamVrSXNTMEZCUzNsQ0xGZEJSM2hDU0N4RlFVRkxka0lzVVVGQlZVTXNTMEZCUzBRc1UwRk5ia0pJTEVWQkwwWjFRaXhMUVcxSEwwSTRRaXhMUVVGTE1VSWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YldGemRHVnlMM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDNodGJHSjFhV3hrWlhJdmJHbGlMMWhOVEVGMGRISnBZblYwWlM1cWN5SjkiLCIoZnVuY3Rpb24oKXt2YXIgdCxyLG89e30uaGFzT3duUHJvcGVydHk7dD1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxyPXJlcXVpcmUoXCIuL1hNTENoYXJhY3RlckRhdGFcIiksbW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gaShyLG8pe2lmKGkuX19zdXBlcl9fLmNvbnN0cnVjdG9yLmNhbGwodGhpcyxyKSxudWxsPT1vKXRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgQ0RBVEEgdGV4dC4gXCIrdGhpcy5kZWJ1Z0luZm8oKSk7dGhpcy5uYW1lPVwiI2NkYXRhLXNlY3Rpb25cIix0aGlzLnR5cGU9dC5DRGF0YSx0aGlzLnZhbHVlPXRoaXMuc3RyaW5naWZ5LmNkYXRhKG8pfXJldHVybiBmdW5jdGlvbih0LHIpe2Zvcih2YXIgZSBpbiByKW8uY2FsbChyLGUpJiYodFtlXT1yW2VdKTtmdW5jdGlvbiBpKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fWkucHJvdG90eXBlPXIucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyBpLHQuX19zdXBlcl9fPXIucHJvdG90eXBlfShpLHIpLGkucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdC5jcmVhdGUodGhpcyl9LGkucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMud3JpdGVyLmNkYXRhKHRoaXMsdGhpcy5vcHRpb25zLndyaXRlci5maWx0ZXJPcHRpb25zKHQpKX0saX0oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEVORVlYUmhMbXB6SWwwc0ltNWhiV1Z6SWpwYklrNXZaR1ZVZVhCbElpd2lXRTFNUTJoaGNtRmpkR1Z5UkdGMFlTSXNJbWhoYzFCeWIzQWlMQ0pvWVhOUGQyNVFjbTl3WlhKMGVTSXNJbkpsY1hWcGNtVWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpYzNWd1pYSkRiR0Z6Y3lJc0lsaE5URU5FWVhSaElpd2ljR0Z5Wlc1MElpd2lkR1Y0ZENJc0lsOWZjM1Z3WlhKZlh5SXNJbU52Ym5OMGNuVmpkRzl5SWl3aVkyRnNiQ0lzSW5Sb2FYTWlMQ0pGY25KdmNpSXNJbVJsWW5WblNXNW1ieUlzSW01aGJXVWlMQ0owZVhCbElpd2lRMFJoZEdFaUxDSjJZV3gxWlNJc0luTjBjbWx1WjJsbWVTSXNJbU5rWVhSaElpd2lZMmhwYkdRaUxDSnJaWGtpTENKamRHOXlJaXdpY0hKdmRHOTBlWEJsSWl3aVpYaDBaVzVrSWl3aVkyeHZibVVpTENKUFltcGxZM1FpTENKamNtVmhkR1VpTENKMGIxTjBjbWx1WnlJc0ltOXdkR2x2Ym5NaUxDSjNjbWwwWlhJaUxDSm1hV3gwWlhKUGNIUnBiMjV6SWwwc0ltMWhjSEJwYm1keklqb2lRMEZEUVN4WFFVTkZMRWxCUVVsQkxFVkJRVzlDUXl4RlFVVjBRa01zUlVGQlZTeEhRVUZIUXl4bFFVVm1TQ3hGUVVGWFNTeFJRVUZSTEdOQlJXNUNTQ3hGUVVGdFFrY3NVVUZCVVN4elFrRkZNMEpETEU5QlFVOURMRkZCUVhGQ0xGTkJRVlZETEVkQlIzQkRMRk5CUVZORExFVkJRVk5ETEVWQlFWRkRMRWRCUlhoQ0xFZEJSRUZHTEVWQlFWTkhMRlZCUVZWRExGbEJRVmxETEV0QlFVdERMRXRCUVUxTUxFZEJRemxDTEUxQlFWSkRMRVZCUTBZc1RVRkJUU3hKUVVGSlN5eE5RVUZOTEhWQ1FVRjVRa1FzUzBGQlMwVXNZVUZGYUVSR0xFdEJRVXRITEV0QlFVOHNhVUpCUTFwSUxFdEJRVXRKTEV0QlFVOXNRaXhGUVVGVGJVSXNUVUZEY2tKTUxFdEJRVXROTEUxQlFWRk9MRXRCUVV0UExGVkJRVlZETEUxQlFVMWFMRWRCVjNCRExFOUJOVUpUTEZOQlFWTmhMRVZCUVU5a0xFZEJRVlVzU1VGQlN5eEpRVUZKWlN4TFFVRlBaaXhGUVVGalVDeEZRVUZSVnl4TFFVRkxTaXhGUVVGUlpTeExRVUZOUkN4RlFVRk5ReXhIUVVGUFppeEZRVUZQWlN4SlFVRlJMRk5CUVZORExFbEJRVk5ZTEV0QlFVdEdMRmxCUVdOWExFVkJRVk5GTEVWQlFVdERMRlZCUVZscVFpeEZRVUZQYVVJc1ZVRkJWMGdzUlVGQlRVY3NWVUZCV1N4SlFVRkpSQ3hGUVVGUlJpeEZRVUZOV2l4VlFVRlpSaXhGUVVGUGFVSXNWVUZSYUZGRExFTkJRVTl1UWl4RlFYTkNUbEFzUjBGV1JFOHNSVUZCVTJ0Q0xGVkJRVlZGTEUxQlFWRXNWMEZEZWtJc1QwRkJUME1zVDBGQlQwTXNUMEZCVDJoQ0xFOUJSM1pDVGl4RlFVRlRhMElzVlVGQlZVc3NVMEZCVnl4VFFVRlRReXhIUVVOeVF5eFBRVUZQYkVJc1MwRkJTMnRDTEZGQlFWRkRMRTlCUVU5WUxFMUJRVTFTTEV0QlFVMUJMRXRCUVV0clFpeFJRVUZSUXl4UFFVRlBReXhqUVVGalJpeExRVWR3UlhoQ0xFVkJja0p0UWl4TFFYbENNMEpMTEV0QlFVdERJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDIxaGMzUmxjaTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5NGJXeGlkV2xzWkdWeUwyeHBZaTlZVFV4RFJHRjBZUzVxY3lKOSIsIihmdW5jdGlvbigpe3ZhciB0LGU9e30uaGFzT3duUHJvcGVydHk7dD1yZXF1aXJlKFwiLi9YTUxOb2RlXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKG8pe2Z1bmN0aW9uIG4odCl7bi5fX3N1cGVyX18uY29uc3RydWN0b3IuY2FsbCh0aGlzLHQpLHRoaXMudmFsdWU9XCJcIn1yZXR1cm4gZnVuY3Rpb24odCxvKXtmb3IodmFyIG4gaW4gbyllLmNhbGwobyxuKSYmKHRbbl09b1tuXSk7ZnVuY3Rpb24gcigpe3RoaXMuY29uc3RydWN0b3I9dH1yLnByb3RvdHlwZT1vLnByb3RvdHlwZSx0LnByb3RvdHlwZT1uZXcgcix0Ll9fc3VwZXJfXz1vLnByb3RvdHlwZX0obix0KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobi5wcm90b3R5cGUsXCJkYXRhXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlfSxzZXQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudmFsdWU9dHx8XCJcIn19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobi5wcm90b3R5cGUsXCJsZW5ndGhcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWUubGVuZ3RofX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLnByb3RvdHlwZSxcInRleHRDb250ZW50XCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlfSxzZXQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudmFsdWU9dHx8XCJcIn19KSxuLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBPYmplY3QuY3JlYXRlKHRoaXMpfSxuLnByb3RvdHlwZS5zdWJzdHJpbmdEYXRhPWZ1bmN0aW9uKHQsZSl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sbi5wcm90b3R5cGUuYXBwZW5kRGF0YT1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxuLnByb3RvdHlwZS5pbnNlcnREYXRhPWZ1bmN0aW9uKHQsZSl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sbi5wcm90b3R5cGUuZGVsZXRlRGF0YT1mdW5jdGlvbih0LGUpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LG4ucHJvdG90eXBlLnJlcGxhY2VEYXRhPWZ1bmN0aW9uKHQsZSxvKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxuLnByb3RvdHlwZS5pc0VxdWFsTm9kZT1mdW5jdGlvbih0KXtyZXR1cm4hIW4uX19zdXBlcl9fLmlzRXF1YWxOb2RlLmFwcGx5KHRoaXMsYXJndW1lbnRzKS5pc0VxdWFsTm9kZSh0KSYmdC5kYXRhPT09dGhpcy5kYXRhfSxufSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URU5vWVhKaFkzUmxja1JoZEdFdWFuTWlYU3dpYm1GdFpYTWlPbHNpV0UxTVRtOWtaU0lzSW1oaGMxQnliM0FpTENKb1lYTlBkMjVRY205d1pYSjBlU0lzSW5KbGNYVnBjbVVpTENKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aWMzVndaWEpEYkdGemN5SXNJbGhOVEVOb1lYSmhZM1JsY2tSaGRHRWlMQ0p3WVhKbGJuUWlMQ0pmWDNOMWNHVnlYMThpTENKamIyNXpkSEoxWTNSdmNpSXNJbU5oYkd3aUxDSjBhR2x6SWl3aWRtRnNkV1VpTENKamFHbHNaQ0lzSW10bGVTSXNJbU4wYjNJaUxDSndjbTkwYjNSNWNHVWlMQ0psZUhSbGJtUWlMQ0pQWW1wbFkzUWlMQ0prWldacGJtVlFjbTl3WlhKMGVTSXNJbWRsZENJc0luTmxkQ0lzSW14bGJtZDBhQ0lzSW1Oc2IyNWxJaXdpWTNKbFlYUmxJaXdpYzNWaWMzUnlhVzVuUkdGMFlTSXNJbTltWm5ObGRDSXNJbU52ZFc1MElpd2lSWEp5YjNJaUxDSmtaV0oxWjBsdVptOGlMQ0poY0hCbGJtUkVZWFJoSWl3aVlYSm5JaXdpYVc1elpYSjBSR0YwWVNJc0ltUmxiR1YwWlVSaGRHRWlMQ0p5WlhCc1lXTmxSR0YwWVNJc0ltbHpSWEYxWVd4T2IyUmxJaXdpYm05a1pTSXNJbUZ3Y0d4NUlpd2lZWEpuZFcxbGJuUnpJaXdpWkdGMFlTSmRMQ0p0WVhCd2FXNW5jeUk2SWtOQlEwRXNWMEZEUlN4SlFVRnpRa0VzUlVGRmNFSkRMRVZCUVZVc1IwRkJSME1zWlVGRlprWXNSVUZCVlVjc1VVRkJVU3hoUVVWc1FrTXNUMEZCVDBNc1VVRkJOa0lzVTBGQlZVTXNSMEZITlVNc1UwRkJVME1zUlVGQmFVSkRMRWRCUTNoQ1JDeEZRVUZwUWtVc1ZVRkJWVU1zV1VGQldVTXNTMEZCUzBNc1MwRkJUVW9zUjBGRGJFUkpMRXRCUVV0RExFMUJRVkVzUjBFMlJHWXNUMEYyUlZNc1UwRkJVME1zUlVGQlQwNHNSMEZCVlN4SlFVRkxMRWxCUVVsUExFdEJRVTlRTEVWQlFXTlFMRVZCUVZGVkxFdEJRVXRJTEVWQlFWRlBMRXRCUVUxRUxFVkJRVTFETEVkQlFVOVFMRVZCUVU5UExFbEJRVkVzVTBGQlUwTXNTVUZCVTBvc1MwRkJTMFlzV1VGQlkwa3NSVUZCVTBVc1JVRkJTME1zVlVGQldWUXNSVUZCVDFNc1ZVRkJWMGdzUlVGQlRVY3NWVUZCV1N4SlFVRkpSQ3hGUVVGUlJpeEZRVUZOVEN4VlFVRlpSQ3hGUVVGUFV5eFZRVTFvVVVNc1EwRkJUMWdzUlVGdFJVNVFMRWRCTlVSRWJVSXNUMEZCVDBNc1pVRkJaV0lzUlVGQmFVSlZMRlZCUVZjc1QwRkJVU3hEUVVONFJFa3NTVUZCU3l4WFFVTklMRTlCUVU5VUxFdEJRVXRETEU5QlJXUlRMRWxCUVVzc1UwRkJVMVFzUjBGRFdpeFBRVUZQUkN4TFFVRkxReXhOUVVGUlFTeEhRVUZUTEUxQlNXcERUU3hQUVVGUFF5eGxRVUZsWWl4RlFVRnBRbFVzVlVGQlZ5eFRRVUZWTEVOQlF6RkVTU3hKUVVGTExGZEJRMGdzVDBGQlQxUXNTMEZCUzBNc1RVRkJUVlVzVlVGSmRFSktMRTlCUVU5RExHVkJRV1ZpTEVWQlFXbENWU3hWUVVGWExHTkJRV1VzUTBGREwwUkpMRWxCUVVzc1YwRkRTQ3hQUVVGUFZDeExRVUZMUXl4UFFVVmtVeXhKUVVGTExGTkJRVk5VTEVkQlExb3NUMEZCVDBRc1MwRkJTME1zVFVGQlVVRXNSMEZCVXl4TlFVbHFRMDRzUlVGQmFVSlZMRlZCUVZWUExFMUJRVkVzVjBGRGFrTXNUMEZCVDB3c1QwRkJUMDBzVDBGQlQySXNUMEZIZGtKTUxFVkJRV2xDVlN4VlFVRlZVeXhqUVVGblFpeFRRVUZUUXl4RlFVRlJReXhIUVVNeFJDeE5RVUZOTEVsQlFVbERMRTFCUVUwc2MwTkJRWGREYWtJc1MwRkJTMnRDTEdOQlJ5OUVka0lzUlVGQmFVSlZMRlZCUVZWakxGZEJRV0VzVTBGQlUwTXNSMEZETDBNc1RVRkJUU3hKUVVGSlNDeE5RVUZOTEhORFFVRjNRMnBDTEV0QlFVdHJRaXhqUVVjdlJIWkNMRVZCUVdsQ1ZTeFZRVUZWWjBJc1YwRkJZU3hUUVVGVFRpeEZRVUZSU3l4SFFVTjJSQ3hOUVVGTkxFbEJRVWxJTEUxQlFVMHNjME5CUVhkRGFrSXNTMEZCUzJ0Q0xHTkJSeTlFZGtJc1JVRkJhVUpWTEZWQlFWVnBRaXhYUVVGaExGTkJRVk5RTEVWQlFWRkRMRWRCUTNaRUxFMUJRVTBzU1VGQlNVTXNUVUZCVFN4elEwRkJkME5xUWl4TFFVRkxhMElzWTBGSEwwUjJRaXhGUVVGcFFsVXNWVUZCVld0Q0xGbEJRV01zVTBGQlUxSXNSVUZCVVVNc1JVRkJUMGtzUjBGREwwUXNUVUZCVFN4SlFVRkpTQ3hOUVVGTkxITkRRVUYzUTJwQ0xFdEJRVXRyUWl4alFVY3ZSSFpDTEVWQlFXbENWU3hWUVVGVmJVSXNXVUZCWXl4VFFVRlRReXhIUVVOb1JDeFJRVUZMT1VJc1JVRkJhVUpGTEZWQlFWVXlRaXhaUVVGWlJTeE5RVUZOTVVJc1MwRkJUVEpDTEZkQlFWZElMRmxCUVZsRExFbEJSek5GUVN4RlFVRkxSeXhQUVVGVE5VSXNTMEZCU3pSQ0xFMUJUV3hDYWtNc1JVRnNSVEpDTEV0QmMwVnVRMGtzUzBGQlMwTWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YldGemRHVnlMM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDNodGJHSjFhV3hrWlhJdmJHbGlMMWhOVEVOb1lYSmhZM1JsY2tSaGRHRXVhbk1pZlE9PSIsIihmdW5jdGlvbigpe3ZhciB0LG8scj17fS5oYXNPd25Qcm9wZXJ0eTt0PXJlcXVpcmUoXCIuL05vZGVUeXBlXCIpLG89cmVxdWlyZShcIi4vWE1MQ2hhcmFjdGVyRGF0YVwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihlKXtmdW5jdGlvbiBuKG8scil7aWYobi5fX3N1cGVyX18uY29uc3RydWN0b3IuY2FsbCh0aGlzLG8pLG51bGw9PXIpdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBjb21tZW50IHRleHQuIFwiK3RoaXMuZGVidWdJbmZvKCkpO3RoaXMubmFtZT1cIiNjb21tZW50XCIsdGhpcy50eXBlPXQuQ29tbWVudCx0aGlzLnZhbHVlPXRoaXMuc3RyaW5naWZ5LmNvbW1lbnQocil9cmV0dXJuIGZ1bmN0aW9uKHQsbyl7Zm9yKHZhciBlIGluIG8pci5jYWxsKG8sZSkmJih0W2VdPW9bZV0pO2Z1bmN0aW9uIG4oKXt0aGlzLmNvbnN0cnVjdG9yPXR9bi5wcm90b3R5cGU9by5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IG4sdC5fX3N1cGVyX189by5wcm90b3R5cGV9KG4sbyksbi5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LmNyZWF0ZSh0aGlzKX0sbi5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy53cml0ZXIuY29tbWVudCh0aGlzLHRoaXMub3B0aW9ucy53cml0ZXIuZmlsdGVyT3B0aW9ucyh0KSl9LG59KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRFTnZiVzFsYm5RdWFuTWlYU3dpYm1GdFpYTWlPbHNpVG05a1pWUjVjR1VpTENKWVRVeERhR0Z5WVdOMFpYSkVZWFJoSWl3aWFHRnpVSEp2Y0NJc0ltaGhjMDkzYmxCeWIzQmxjblI1SWl3aWNtVnhkV2x5WlNJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSnpkWEJsY2tOc1lYTnpJaXdpV0UxTVEyOXRiV1Z1ZENJc0luQmhjbVZ1ZENJc0luUmxlSFFpTENKZlgzTjFjR1Z5WDE4aUxDSmpiMjV6ZEhKMVkzUnZjaUlzSW1OaGJHd2lMQ0owYUdseklpd2lSWEp5YjNJaUxDSmtaV0oxWjBsdVptOGlMQ0p1WVcxbElpd2lkSGx3WlNJc0lrTnZiVzFsYm5RaUxDSjJZV3gxWlNJc0luTjBjbWx1WjJsbWVTSXNJbU52YlcxbGJuUWlMQ0pqYUdsc1pDSXNJbXRsZVNJc0ltTjBiM0lpTENKd2NtOTBiM1I1Y0dVaUxDSmxlSFJsYm1RaUxDSmpiRzl1WlNJc0lrOWlhbVZqZENJc0ltTnlaV0YwWlNJc0luUnZVM1J5YVc1bklpd2liM0IwYVc5dWN5SXNJbmR5YVhSbGNpSXNJbVpwYkhSbGNrOXdkR2x2Ym5NaVhTd2liV0Z3Y0dsdVozTWlPaUpEUVVOQkxGZEJRMFVzU1VGQlNVRXNSVUZCVlVNc1JVRkZXa01zUlVGQlZTeEhRVUZIUXl4bFFVVm1TQ3hGUVVGWFNTeFJRVUZSTEdOQlJXNUNTQ3hGUVVGdFFrY3NVVUZCVVN4elFrRkZNMEpETEU5QlFVOURMRkZCUVhWQ0xGTkJRVlZETEVkQlIzUkRMRk5CUVZORExFVkJRVmRETEVWQlFWRkRMRWRCUlRGQ0xFZEJSRUZHTEVWQlFWZEhMRlZCUVZWRExGbEJRVmxETEV0QlFVdERMRXRCUVUxTUxFZEJRMmhETEUxQlFWSkRMRVZCUTBZc1RVRkJUU3hKUVVGSlN5eE5RVUZOTEhsQ1FVRXlRa1FzUzBGQlMwVXNZVUZGYkVSR0xFdEJRVXRITEV0QlFVOHNWMEZEV2tnc1MwRkJTMGtzUzBGQlQyeENMRVZCUVZOdFFpeFJRVU55UWt3c1MwRkJTMDBzVFVGQlVVNHNTMEZCUzA4c1ZVRkJWVU1zVVVGQlVWb3NSMEZYZEVNc1QwRTFRbE1zVTBGQlUyRXNSVUZCVDJRc1IwRkJWU3hKUVVGTExFbEJRVWxsTEV0QlFVOW1MRVZCUVdOUUxFVkJRVkZYTEV0QlFVdEtMRVZCUVZGbExFdEJRVTFFTEVWQlFVMURMRWRCUVU5bUxFVkJRVTlsTEVsQlFWRXNVMEZCVTBNc1NVRkJVMWdzUzBGQlMwWXNXVUZCWTFjc1JVRkJVMFVzUlVGQlMwTXNWVUZCV1dwQ0xFVkJRVTlwUWl4VlFVRlhTQ3hGUVVGTlJ5eFZRVUZaTEVsQlFVbEVMRVZCUVZGR0xFVkJRVTFhTEZWQlFWbEdMRVZCUVU5cFFpeFZRVkZvVVVNc1EwRkJUMjVDTEVWQmMwSk9VQ3hIUVZaRVR5eEZRVUZYYTBJc1ZVRkJWVVVzVFVGQlVTeFhRVU16UWl4UFFVRlBReXhQUVVGUFF5eFBRVUZQYUVJc1QwRkhka0pPTEVWQlFWZHJRaXhWUVVGVlN5eFRRVUZYTEZOQlFWTkRMRWRCUTNaRExFOUJRVTlzUWl4TFFVRkxhMElzVVVGQlVVTXNUMEZCVDFnc1VVRkJVVklzUzBGQlRVRXNTMEZCUzJ0Q0xGRkJRVkZETEU5QlFVOURMR05CUVdOR0xFdEJSM1JGZUVJc1JVRnlRbkZDTEV0QmVVSTNRa3NzUzBGQlMwTWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YldGemRHVnlMM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDNodGJHSjFhV3hrWlhJdmJHbGlMMWhOVEVOdmJXMWxiblF1YW5NaWZRPT0iLCIoZnVuY3Rpb24oKXt2YXIgZSx0O2U9cmVxdWlyZShcIi4vWE1MRE9NRXJyb3JIYW5kbGVyXCIpLHQ9cmVxdWlyZShcIi4vWE1MRE9NU3RyaW5nTGlzdFwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoKXt0aGlzLmRlZmF1bHRQYXJhbXM9e1wiY2Fub25pY2FsLWZvcm1cIjohMSxcImNkYXRhLXNlY3Rpb25zXCI6ITEsY29tbWVudHM6ITEsXCJkYXRhdHlwZS1ub3JtYWxpemF0aW9uXCI6ITEsXCJlbGVtZW50LWNvbnRlbnQtd2hpdGVzcGFjZVwiOiEwLGVudGl0aWVzOiEwLFwiZXJyb3ItaGFuZGxlclwiOm5ldyBlLGluZm9zZXQ6ITAsXCJ2YWxpZGF0ZS1pZi1zY2hlbWFcIjohMSxuYW1lc3BhY2VzOiEwLFwibmFtZXNwYWNlLWRlY2xhcmF0aW9uc1wiOiEwLFwibm9ybWFsaXplLWNoYXJhY3RlcnNcIjohMSxcInNjaGVtYS1sb2NhdGlvblwiOlwiXCIsXCJzY2hlbWEtdHlwZVwiOlwiXCIsXCJzcGxpdC1jZGF0YS1zZWN0aW9uc1wiOiEwLHZhbGlkYXRlOiExLFwid2VsbC1mb3JtZWRcIjohMH0sdGhpcy5wYXJhbXM9T2JqZWN0LmNyZWF0ZSh0aGlzLmRlZmF1bHRQYXJhbXMpfXJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoYS5wcm90b3R5cGUsXCJwYXJhbWV0ZXJOYW1lc1wiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHQoT2JqZWN0LmtleXModGhpcy5kZWZhdWx0UGFyYW1zKSl9fSksYS5wcm90b3R5cGUuZ2V0UGFyYW1ldGVyPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnBhcmFtcy5oYXNPd25Qcm9wZXJ0eShlKT90aGlzLnBhcmFtc1tlXTpudWxsfSxhLnByb3RvdHlwZS5jYW5TZXRQYXJhbWV0ZXI9ZnVuY3Rpb24oZSx0KXtyZXR1cm4hMH0sYS5wcm90b3R5cGUuc2V0UGFyYW1ldGVyPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIG51bGwhPXQ/dGhpcy5wYXJhbXNbZV09dDpkZWxldGUgdGhpcy5wYXJhbXNbZV19LGF9KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRFUlBUVU52Ym1acFozVnlZWFJwYjI0dWFuTWlYU3dpYm1GdFpYTWlPbHNpV0UxTVJFOU5SWEp5YjNKSVlXNWtiR1Z5SWl3aVdFMU1SRTlOVTNSeWFXNW5UR2x6ZENJc0luSmxjWFZwY21VaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2lXRTFNUkU5TlEyOXVabWxuZFhKaGRHbHZiaUlzSW5Sb2FYTWlMQ0prWldaaGRXeDBVR0Z5WVcxeklpd2lZMkZ1YjI1cFkyRnNMV1p2Y20waUxDSmpaR0YwWVMxelpXTjBhVzl1Y3lJc0ltTnZiVzFsYm5Seklpd2laR0YwWVhSNWNHVXRibTl5YldGc2FYcGhkR2x2YmlJc0ltVnNaVzFsYm5RdFkyOXVkR1Z1ZEMxM2FHbDBaWE53WVdObElpd2laVzUwYVhScFpYTWlMQ0psY25KdmNpMW9ZVzVrYkdWeUlpd2lhVzVtYjNObGRDSXNJblpoYkdsa1lYUmxMV2xtTFhOamFHVnRZU0lzSW01aGJXVnpjR0ZqWlhNaUxDSnVZVzFsYzNCaFkyVXRaR1ZqYkdGeVlYUnBiMjV6SWl3aWJtOXliV0ZzYVhwbExXTm9ZWEpoWTNSbGNuTWlMQ0p6WTJobGJXRXRiRzlqWVhScGIyNGlMQ0p6WTJobGJXRXRkSGx3WlNJc0luTndiR2wwTFdOa1lYUmhMWE5sWTNScGIyNXpJaXdpZG1Gc2FXUmhkR1VpTENKM1pXeHNMV1p2Y20xbFpDSXNJbkJoY21GdGN5SXNJazlpYW1WamRDSXNJbU55WldGMFpTSXNJbVJsWm1sdVpWQnliM0JsY25SNUlpd2ljSEp2ZEc5MGVYQmxJaXdpWjJWMElpd2lhMlY1Y3lJc0ltZGxkRkJoY21GdFpYUmxjaUlzSW01aGJXVWlMQ0pvWVhOUGQyNVFjbTl3WlhKMGVTSXNJbU5oYmxObGRGQmhjbUZ0WlhSbGNpSXNJblpoYkhWbElpd2ljMlYwVUdGeVlXMWxkR1Z5SWl3aVkyRnNiQ0pkTENKdFlYQndhVzVuY3lJNklrTkJRMEVzVjBGRFJTeEpRVUY1UWtFc1JVRkJiMEpETEVWQlJUZERSQ3hGUVVGeFFrVXNVVUZCVVN4M1FrRkZOMEpFTEVWQlFXMUNReXhSUVVGUkxITkNRVVV6UWtNc1QwRkJUME1zVVVGQlowTXNWMEZEY2tNc1UwRkJVME1zU1VGRlVFTXNTMEZCUzBNc1kwRkJaMElzUTBGRGJrSkRMR3RDUVVGclFpeEZRVU5zUWtNc2EwSkJRV3RDTEVWQlEyeENReXhWUVVGWkxFVkJRMXBETERCQ1FVRXdRaXhGUVVNeFFrTXNPRUpCUVRoQ0xFVkJRemxDUXl4VlFVRlpMRVZCUTFwRExHZENRVUZwUWl4SlFVRkpaQ3hGUVVOeVFtVXNVMEZCVnl4RlFVTllReXh6UWtGQmMwSXNSVUZEZEVKRExGbEJRV01zUlVGRFpFTXNNRUpCUVRCQ0xFVkJRekZDUXl4M1FrRkJkMElzUlVGRGVFSkRMR3RDUVVGdFFpeEhRVU51UWtNc1kwRkJaU3hIUVVObVF5eDNRa0ZCZDBJc1JVRkRlRUpETEZWQlFWa3NSVUZEV2tNc1pVRkJaU3hIUVVWcVFteENMRXRCUVV0dFFpeFBRVUZ6UWtNc1QwRkJUME1zVDBGQlQzSkNMRXRCUVV0RExHVkJOa0pvUkN4UFFURkNRVzFDTEU5QlFVOUZMR1ZCUVdWMlFpeEZRVUZ2UW5kQ0xGVkJRVmNzYVVKQlFXdENMRU5CUTNKRlF5eEpRVUZMTEZkQlEwZ3NUMEZCVHl4SlFVRkpOMElzUlVGQmFVSjVRaXhQUVVGUFN5eExRVUZMZWtJc1MwRkJTME1zYlVKQlNXcEVSaXhGUVVGdlFuZENMRlZCUVZWSExHRkJRV1VzVTBGQlUwTXNSMEZEY0VRc1QwRkJTVE5DTEV0QlFVdHRRaXhQUVVGUFV5eGxRVUZsUkN4SFFVTjBRak5DTEV0QlFVdHRRaXhQUVVGUFVTeEhRVVZhTEUxQlNWZzFRaXhGUVVGdlFuZENMRlZCUVZWTkxHZENRVUZyUWl4VFFVRlRSaXhGUVVGTlJ5eEhRVU0zUkN4UFFVRlBMRWRCUjFRdlFpeEZRVUZ2UW5kQ0xGVkJRVlZSTEdGQlFXVXNVMEZCVTBvc1JVRkJUVWNzUjBGRE1VUXNUMEZCWVN4TlFVRlVRU3hGUVVOTE9VSXNTMEZCUzIxQ0xFOUJRVTlSTEVkQlFWRkhMRk5CUldJNVFpeExRVUZMYlVJc1QwRkJUMUVzU1VGSmRrSTFRaXhGUVc1RU9FSXNTMEYxUkhSRGFVTXNTMEZCUzJoRElpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMMjFoYzNSbGNpOXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTk0Yld4aWRXbHNaR1Z5TDJ4cFlpOVlUVXhFVDAxRGIyNW1hV2QxY21GMGFXOXVMbXB6SW4wPSIsIihmdW5jdGlvbigpe21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbigpe31yZXR1cm4gbi5wcm90b3R5cGUuaGFuZGxlRXJyb3I9ZnVuY3Rpb24obil7dGhyb3cgbmV3IEVycm9yKG4pfSxufSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URVJQVFVWeWNtOXlTR0Z1Wkd4bGNpNXFjeUpkTENKdVlXMWxjeUk2V3lKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aVdFMU1SRTlOUlhKeWIzSklZVzVrYkdWeUlpd2ljSEp2ZEc5MGVYQmxJaXdpYUdGdVpHeGxSWEp5YjNJaUxDSmxjbkp2Y2lJc0lrVnljbTl5SWl3aVkyRnNiQ0lzSW5Sb2FYTWlYU3dpYldGd2NHbHVaM01pT2lKRFFVTkJMRmRCUjBWQkxFOUJRVTlETEZGQlFTdENMRmRCUTNCRExGTkJRVk5ETEV0QlRWUXNUMEZLUVVFc1JVRkJiVUpETEZWQlFWVkRMRmxCUVdNc1UwRkJVME1zUjBGRGJFUXNUVUZCVFN4SlFVRkpReXhOUVVGTlJDeEpRVWRZU0N4RlFWQTJRaXhMUVZkeVEwc3NTMEZCUzBNaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZiV0Z6ZEdWeUwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMM2h0YkdKMWFXeGtaWEl2YkdsaUwxaE5URVJQVFVWeWNtOXlTR0Z1Wkd4bGNpNXFjeUo5IiwiKGZ1bmN0aW9uKCl7bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7fXJldHVybiB0LnByb3RvdHlwZS5oYXNGZWF0dXJlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuITB9LHQucHJvdG90eXBlLmNyZWF0ZURvY3VtZW50VHlwZT1mdW5jdGlvbih0LGUsbyl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIil9LHQucHJvdG90eXBlLmNyZWF0ZURvY3VtZW50PWZ1bmN0aW9uKHQsZSxvKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiKX0sdC5wcm90b3R5cGUuY3JlYXRlSFRNTERvY3VtZW50PWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIpfSx0LnByb3RvdHlwZS5nZXRGZWF0dXJlPWZ1bmN0aW9uKHQsZSl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIil9LHR9KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRFUlBUVWx0Y0d4bGJXVnVkR0YwYVc5dUxtcHpJbDBzSW01aGJXVnpJanBiSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pTENKWVRVeEVUMDFKYlhCc1pXMWxiblJoZEdsdmJpSXNJbkJ5YjNSdmRIbHdaU0lzSW1oaGMwWmxZWFIxY21VaUxDSm1aV0YwZFhKbElpd2lkbVZ5YzJsdmJpSXNJbU55WldGMFpVUnZZM1Z0Wlc1MFZIbHdaU0lzSW5GMVlXeHBabWxsWkU1aGJXVWlMQ0p3ZFdKc2FXTkpaQ0lzSW5ONWMzUmxiVWxrSWl3aVJYSnliM0lpTENKamNtVmhkR1ZFYjJOMWJXVnVkQ0lzSW01aGJXVnpjR0ZqWlZWU1NTSXNJbVJ2WTNSNWNHVWlMQ0pqY21WaGRHVklWRTFNUkc5amRXMWxiblFpTENKMGFYUnNaU0lzSW1kbGRFWmxZWFIxY21VaUxDSmpZV3hzSWl3aWRHaHBjeUpkTENKdFlYQndhVzVuY3lJNklrTkJRMEVzVjBGSFJVRXNUMEZCVDBNc1VVRkJhVU1zVjBGRGRFTXNVMEZCVTBNc1MwRnpRbFFzVDBGd1FrRkJMRVZCUVhGQ1F5eFZRVUZWUXl4WFFVRmhMRk5CUVZORExFVkJRVk5ETEVkQlF6VkVMRTlCUVU4c1IwRkhWRW9zUlVGQmNVSkRMRlZCUVZWSkxHMUNRVUZ4UWl4VFFVRlRReXhGUVVGbFF5eEZRVUZWUXl4SFFVTndSaXhOUVVGTkxFbEJRVWxETEUxQlFVMHNkME5CUjJ4Q1ZDeEZRVUZ4UWtNc1ZVRkJWVk1zWlVGQmFVSXNVMEZCVTBNc1JVRkJZMHdzUlVGQlpVMHNSMEZEY0VZc1RVRkJUU3hKUVVGSlNDeE5RVUZOTEhkRFFVZHNRbFFzUlVGQmNVSkRMRlZCUVZWWkxHMUNRVUZ4UWl4VFFVRlRReXhIUVVNelJDeE5RVUZOTEVsQlFVbE1MRTFCUVUwc2QwTkJSMnhDVkN4RlFVRnhRa01zVlVGQlZXTXNWMEZCWVN4VFFVRlRXaXhGUVVGVFF5eEhRVU0xUkN4TlFVRk5MRWxCUVVsTExFMUJRVTBzZDBOQlIxaFVMRVZCZGtJclFpeExRVEpDZGtOblFpeExRVUZMUXlJc0ltWnBiR1VpT2lJdmFHOXRaUzk2YVc1dkwzQnliMnBsWTNSekwzTmxZWFJ0WVhCMk1pOXRZWE4wWlhJdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZlRzFzWW5WcGJHUmxjaTlzYVdJdldFMU1SRTlOU1cxd2JHVnRaVzUwWVhScGIyNHVhbk1pZlE9PSIsIihmdW5jdGlvbigpe21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0KXt0aGlzLmFycj10fHxbXX1yZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFwibGVuZ3RoXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFyci5sZW5ndGh9fSksdC5wcm90b3R5cGUuaXRlbT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5hcnJbdF18fG51bGx9LHQucHJvdG90eXBlLmNvbnRhaW5zPWZ1bmN0aW9uKHQpe3JldHVybi0xIT09dGhpcy5hcnIuaW5kZXhPZih0KX0sdH0oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEVSUFRWTjBjbWx1WjB4cGMzUXVhbk1pWFN3aWJtRnRaWE1pT2xzaWJXOWtkV3hsSWl3aVpYaHdiM0owY3lJc0lsaE5URVJQVFZOMGNtbHVaMHhwYzNRaUxDSmhjbklpTENKMGFHbHpJaXdpVDJKcVpXTjBJaXdpWkdWbWFXNWxVSEp2Y0dWeWRIa2lMQ0p3Y205MGIzUjVjR1VpTENKblpYUWlMQ0pzWlc1bmRHZ2lMQ0pwZEdWdElpd2lhVzVrWlhnaUxDSmpiMjUwWVdsdWN5SXNJbk4wY2lJc0ltbHVaR1Y0VDJZaUxDSmpZV3hzSWwwc0ltMWhjSEJwYm1keklqb2lRMEZEUVN4WFFVZEZRU3hQUVVGUFF5eFJRVUUyUWl4WFFVTnNReXhUUVVGVFF5eEZRVUZwUWtNc1IwRkRlRUpETEV0QlFVdEVMRWxCUVUxQkxFZEJRVThzUjBGcFFuQkNMRTlCWkVGRkxFOUJRVTlETEdWQlFXVktMRVZCUVdsQ1N5eFZRVUZYTEZOQlFWVXNRMEZETVVSRExFbEJRVXNzVjBGRFNDeFBRVUZQU2l4TFFVRkxSQ3hKUVVGSlRTeFZRVWx3UWxBc1JVRkJhVUpMTEZWQlFWVkhMRXRCUVU4c1UwRkJVME1zUjBGRGVrTXNUMEZCVDFBc1MwRkJTMFFzU1VGQlNWRXNTVUZCVlN4TlFVYzFRbFFzUlVGQmFVSkxMRlZCUVZWTExGTkJRVmNzVTBGQlUwTXNSMEZETjBNc1QwRkJhME1zU1VGQk0wSlVMRXRCUVV0RUxFbEJRVWxYTEZGQlFWRkVMRWxCUjI1Q1dDeEZRVzVDTWtJc1MwRjFRbTVEWVN4TFFVRkxXQ0lzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5dFlYTjBaWEl2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdmVHMXNZblZwYkdSbGNpOXNhV0l2V0UxTVJFOU5VM1J5YVc1blRHbHpkQzVxY3lKOSIsIihmdW5jdGlvbigpe3ZhciB0LGUsaT17fS5oYXNPd25Qcm9wZXJ0eTtlPXJlcXVpcmUoXCIuL1hNTE5vZGVcIiksdD1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihyKXtmdW5jdGlvbiBuKGUsaSxyLG8scyx1KXtpZihuLl9fc3VwZXJfXy5jb25zdHJ1Y3Rvci5jYWxsKHRoaXMsZSksbnVsbD09aSl0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIERURCBlbGVtZW50IG5hbWUuIFwiK3RoaXMuZGVidWdJbmZvKCkpO2lmKG51bGw9PXIpdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBEVEQgYXR0cmlidXRlIG5hbWUuIFwiK3RoaXMuZGVidWdJbmZvKGkpKTtpZighbyl0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIERURCBhdHRyaWJ1dGUgdHlwZS4gXCIrdGhpcy5kZWJ1Z0luZm8oaSkpO2lmKCFzKXRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgRFREIGF0dHJpYnV0ZSBkZWZhdWx0LiBcIit0aGlzLmRlYnVnSW5mbyhpKSk7aWYoMCE9PXMuaW5kZXhPZihcIiNcIikmJihzPVwiI1wiK3MpLCFzLm1hdGNoKC9eKCNSRVFVSVJFRHwjSU1QTElFRHwjRklYRUR8I0RFRkFVTFQpJC8pKXRocm93IG5ldyBFcnJvcihcIkludmFsaWQgZGVmYXVsdCB2YWx1ZSB0eXBlOyBleHBlY3RlZDogI1JFUVVJUkVELCAjSU1QTElFRCwgI0ZJWEVEIG9yICNERUZBVUxULiBcIit0aGlzLmRlYnVnSW5mbyhpKSk7aWYodSYmIXMubWF0Y2goL14oI0ZJWEVEfCNERUZBVUxUKSQvKSl0aHJvdyBuZXcgRXJyb3IoXCJEZWZhdWx0IHZhbHVlIG9ubHkgYXBwbGllcyB0byAjRklYRUQgb3IgI0RFRkFVTFQuIFwiK3RoaXMuZGVidWdJbmZvKGkpKTt0aGlzLmVsZW1lbnROYW1lPXRoaXMuc3RyaW5naWZ5Lm5hbWUoaSksdGhpcy50eXBlPXQuQXR0cmlidXRlRGVjbGFyYXRpb24sdGhpcy5hdHRyaWJ1dGVOYW1lPXRoaXMuc3RyaW5naWZ5Lm5hbWUociksdGhpcy5hdHRyaWJ1dGVUeXBlPXRoaXMuc3RyaW5naWZ5LmR0ZEF0dFR5cGUobyksdSYmKHRoaXMuZGVmYXVsdFZhbHVlPXRoaXMuc3RyaW5naWZ5LmR0ZEF0dERlZmF1bHQodSkpLHRoaXMuZGVmYXVsdFZhbHVlVHlwZT1zfXJldHVybiBmdW5jdGlvbih0LGUpe2Zvcih2YXIgciBpbiBlKWkuY2FsbChlLHIpJiYodFtyXT1lW3JdKTtmdW5jdGlvbiBuKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fW4ucHJvdG90eXBlPWUucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyBuLHQuX19zdXBlcl9fPWUucHJvdG90eXBlfShuLGUpLG4ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMud3JpdGVyLmR0ZEF0dExpc3QodGhpcyx0aGlzLm9wdGlvbnMud3JpdGVyLmZpbHRlck9wdGlvbnModCkpfSxufSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URVJVUkVGMGRFeHBjM1F1YW5NaVhTd2libUZ0WlhNaU9sc2lUbTlrWlZSNWNHVWlMQ0pZVFV4T2IyUmxJaXdpYUdGelVISnZjQ0lzSW1oaGMwOTNibEJ5YjNCbGNuUjVJaXdpY21WeGRXbHlaU0lzSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pTENKemRYQmxja05zWVhOeklpd2lXRTFNUkZSRVFYUjBUR2x6ZENJc0luQmhjbVZ1ZENJc0ltVnNaVzFsYm5ST1lXMWxJaXdpWVhSMGNtbGlkWFJsVG1GdFpTSXNJbUYwZEhKcFluVjBaVlI1Y0dVaUxDSmtaV1poZFd4MFZtRnNkV1ZVZVhCbElpd2laR1ZtWVhWc2RGWmhiSFZsSWl3aVgxOXpkWEJsY2w5Zklpd2lZMjl1YzNSeWRXTjBiM0lpTENKallXeHNJaXdpZEdocGN5SXNJa1Z5Y205eUlpd2laR1ZpZFdkSmJtWnZJaXdpYVc1a1pYaFBaaUlzSW0xaGRHTm9JaXdpYzNSeWFXNW5hV1o1SWl3aWJtRnRaU0lzSW5SNWNHVWlMQ0pCZEhSeWFXSjFkR1ZFWldOc1lYSmhkR2x2YmlJc0ltUjBaRUYwZEZSNWNHVWlMQ0prZEdSQmRIUkVaV1poZFd4MElpd2lZMmhwYkdRaUxDSnJaWGtpTENKamRHOXlJaXdpY0hKdmRHOTBlWEJsSWl3aVpYaDBaVzVrSWl3aWRHOVRkSEpwYm1jaUxDSnZjSFJwYjI1eklpd2lkM0pwZEdWeUlpd2laSFJrUVhSMFRHbHpkQ0lzSW1acGJIUmxjazl3ZEdsdmJuTWlYU3dpYldGd2NHbHVaM01pT2lKRFFVTkJMRmRCUTBVc1NVRkJTVUVzUlVGQmVVSkRMRVZCUlROQ1F5eEZRVUZWTEVkQlFVZERMR1ZCUldaR0xFVkJRVlZITEZGQlFWRXNZVUZGYkVKS0xFVkJRVmRKTEZGQlFWRXNZMEZGYmtKRExFOUJRVTlETEZGQlFUQkNMRk5CUVZWRExFZEJSM3BETEZOQlFWTkRMRVZCUVdORExFVkJRVkZETEVWQlFXRkRMRVZCUVdWRExFVkJRV1ZETEVWQlFXdENReXhIUVVVeFJpeEhRVVJCVGl4RlFVRmpUeXhWUVVGVlF5eFpRVUZaUXl4TFFVRkxReXhMUVVGTlZDeEhRVU0xUWl4TlFVRm1ReXhGUVVOR0xFMUJRVTBzU1VGQlNWTXNUVUZCVFN3MlFrRkJLMEpFTEV0QlFVdEZMR0ZCUlhSRUxFZEJRWEZDTEUxQlFXcENWQ3hGUVVOR0xFMUJRVTBzU1VGQlNWRXNUVUZCVFN3clFrRkJhVU5FTEV0QlFVdEZMRlZCUVZWV0xFbEJSV3hGTEVsQlFVdEZMRVZCUTBnc1RVRkJUU3hKUVVGSlR5eE5RVUZOTEN0Q1FVRnBRMFFzUzBGQlMwVXNWVUZCVlZZc1NVRkZiRVVzU1VGQlMwY3NSVUZEU0N4TlFVRk5MRWxCUVVsTkxFMUJRVTBzYTBOQlFXOURSQ3hMUVVGTFJTeFZRVUZWVml4SlFVdHlSU3hIUVVoelF5eEpRVUZzUTBjc1JVRkJhVUpSTEZGQlFWRXNUMEZETTBKU0xFVkJRVzFDTEVsQlFVMUJMRWxCUlhSQ1FTeEZRVUZwUWxNc1RVRkJUU3d3UTBGRE1VSXNUVUZCVFN4SlFVRkpTQ3hOUVVGTkxHdEdRVUZ2UmtRc1MwRkJTMFVzVlVGQlZWWXNTVUZGY2tnc1IwRkJTVWtzU1VGQmFVSkVMRVZCUVdsQ1V5eE5RVUZOTEhWQ1FVTXhReXhOUVVGTkxFbEJRVWxJTEUxQlFVMHNjVVJCUVhWRVJDeExRVUZMUlN4VlFVRlZWaXhKUVVWNFJsRXNTMEZCUzFJc1dVRkJZMUVzUzBGQlMwc3NWVUZCVlVNc1MwRkJTMlFzUjBGRGRrTlJMRXRCUVV0UExFdEJRVTk2UWl4RlFVRlRNRUlzY1VKQlEzSkNVaXhMUVVGTFVDeGpRVUZuUWs4c1MwRkJTMHNzVlVGQlZVTXNTMEZCUzJJc1IwRkRla05QTEV0QlFVdE9MR05CUVdkQ1RTeExRVUZMU3l4VlFVRlZTU3hYUVVGWFppeEhRVU16UTBVc1NVRkRSa2tzUzBGQlMwb3NZVUZCWlVrc1MwRkJTMHNzVlVGQlZVc3NZMEZCWTJRc1NVRkZia1JKTEV0QlFVdE1MR2xDUVVGdFFrRXNSVUZQTVVJc1QwRXZRMU1zVTBGQlUyZENMRVZCUVU5d1FpeEhRVUZWTEVsQlFVc3NTVUZCU1hGQ0xFdEJRVTl5UWl4RlFVRmpVQ3hGUVVGUlpTeExRVUZMVWl4RlFVRlJjVUlzUzBGQlRVUXNSVUZCVFVNc1IwRkJUM0pDTEVWQlFVOXhRaXhKUVVGUkxGTkJRVk5ETEVsQlFWTmlMRXRCUVV0R0xGbEJRV05oTEVWQlFWTkZMRVZCUVV0RExGVkJRVmwyUWl4RlFVRlBkVUlzVlVGQlYwZ3NSVUZCVFVjc1ZVRkJXU3hKUVVGSlJDeEZRVUZSUml4RlFVRk5aQ3hWUVVGWlRpeEZRVUZQZFVJc1ZVRlJhRkZETEVOQlFVOTZRaXhGUVhsRFRsQXNSMEZPUkU4c1JVRkJZM2RDTEZWQlFWVkZMRk5CUVZjc1UwRkJVME1zUjBGRE1VTXNUMEZCVDJwQ0xFdEJRVXRwUWl4UlFVRlJReXhQUVVGUFF5eFhRVUZYYmtJc1MwRkJUVUVzUzBGQlMybENMRkZCUVZGRExFOUJRVTlGTEdOQlFXTklMRXRCUjNwRk0wSXNSVUY0UTNkQ0xFdEJORU5vUTFNc1MwRkJTME1pTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmJXRnpkR1Z5TDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwzaHRiR0oxYVd4a1pYSXZiR2xpTDFoTlRFUlVSRUYwZEV4cGMzUXVhbk1pZlE9PSIsIihmdW5jdGlvbigpe3ZhciB0LHIsZT17fS5oYXNPd25Qcm9wZXJ0eTtyPXJlcXVpcmUoXCIuL1hNTE5vZGVcIiksdD1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihpKXtmdW5jdGlvbiBuKHIsZSxpKXtpZihuLl9fc3VwZXJfXy5jb25zdHJ1Y3Rvci5jYWxsKHRoaXMsciksbnVsbD09ZSl0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIERURCBlbGVtZW50IG5hbWUuIFwiK3RoaXMuZGVidWdJbmZvKCkpO2l8fChpPVwiKCNQQ0RBVEEpXCIpLEFycmF5LmlzQXJyYXkoaSkmJihpPVwiKFwiK2kuam9pbihcIixcIikrXCIpXCIpLHRoaXMubmFtZT10aGlzLnN0cmluZ2lmeS5uYW1lKGUpLHRoaXMudHlwZT10LkVsZW1lbnREZWNsYXJhdGlvbix0aGlzLnZhbHVlPXRoaXMuc3RyaW5naWZ5LmR0ZEVsZW1lbnRWYWx1ZShpKX1yZXR1cm4gZnVuY3Rpb24odCxyKXtmb3IodmFyIGkgaW4gcillLmNhbGwocixpKSYmKHRbaV09cltpXSk7ZnVuY3Rpb24gbigpe3RoaXMuY29uc3RydWN0b3I9dH1uLnByb3RvdHlwZT1yLnByb3RvdHlwZSx0LnByb3RvdHlwZT1uZXcgbix0Ll9fc3VwZXJfXz1yLnByb3RvdHlwZX0obixyKSxuLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLndyaXRlci5kdGRFbGVtZW50KHRoaXMsdGhpcy5vcHRpb25zLndyaXRlci5maWx0ZXJPcHRpb25zKHQpKX0sbn0oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEVSVVJFVnNaVzFsYm5RdWFuTWlYU3dpYm1GdFpYTWlPbHNpVG05a1pWUjVjR1VpTENKWVRVeE9iMlJsSWl3aWFHRnpVSEp2Y0NJc0ltaGhjMDkzYmxCeWIzQmxjblI1SWl3aWNtVnhkV2x5WlNJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSnpkWEJsY2tOc1lYTnpJaXdpV0UxTVJGUkVSV3hsYldWdWRDSXNJbkJoY21WdWRDSXNJbTVoYldVaUxDSjJZV3gxWlNJc0lsOWZjM1Z3WlhKZlh5SXNJbU52Ym5OMGNuVmpkRzl5SWl3aVkyRnNiQ0lzSW5Sb2FYTWlMQ0pGY25KdmNpSXNJbVJsWW5WblNXNW1ieUlzSWtGeWNtRjVJaXdpYVhOQmNuSmhlU0lzSW1wdmFXNGlMQ0p6ZEhKcGJtZHBabmtpTENKMGVYQmxJaXdpUld4bGJXVnVkRVJsWTJ4aGNtRjBhVzl1SWl3aVpIUmtSV3hsYldWdWRGWmhiSFZsSWl3aVkyaHBiR1FpTENKclpYa2lMQ0pqZEc5eUlpd2ljSEp2ZEc5MGVYQmxJaXdpWlhoMFpXNWtJaXdpZEc5VGRISnBibWNpTENKdmNIUnBiMjV6SWl3aWQzSnBkR1Z5SWl3aVpIUmtSV3hsYldWdWRDSXNJbVpwYkhSbGNrOXdkR2x2Ym5NaVhTd2liV0Z3Y0dsdVozTWlPaUpEUVVOQkxGZEJRMFVzU1VGQlNVRXNSVUZCZVVKRExFVkJSVE5DUXl4RlFVRlZMRWRCUVVkRExHVkJSV1pHTEVWQlFWVkhMRkZCUVZFc1lVRkZiRUpLTEVWQlFWZEpMRkZCUVZFc1kwRkZia0pETEU5QlFVOURMRkZCUVRCQ0xGTkJRVlZETEVkQlIzcERMRk5CUVZORExFVkJRV05ETEVWQlFWRkRMRVZCUVUxRExFZEJSVzVETEVkQlJFRklMRVZCUVdOSkxGVkJRVlZETEZsQlFWbERMRXRCUVV0RExFdEJRVTFPTEVkQlEyNURMRTFCUVZKRExFVkJRMFlzVFVGQlRTeEpRVUZKVFN4TlFVRk5MRFpDUVVFclFrUXNTMEZCUzBVc1lVRkZha1JPTEVsQlEwaEJMRVZCUVZFc1lVRkZUazhzVFVGQlRVTXNVVUZCVVZJc1MwRkRhRUpCTEVWQlFWRXNTVUZCVFVFc1JVRkJUVk1zUzBGQlN5eExRVUZQTEV0QlJXeERUQ3hMUVVGTFRDeExRVUZQU3l4TFFVRkxUU3hWUVVGVldDeExRVUZMUVN4SFFVTm9RMHNzUzBGQlMwOHNTMEZCVDNSQ0xFVkJRVk4xUWl4dFFrRkRja0pTTEV0QlFVdEtMRTFCUVZGSkxFdEJRVXROTEZWQlFWVkhMR2RDUVVGblFtSXNSMEZQT1VNc1QwRTVRbE1zVTBGQlUyTXNSVUZCVDJoQ0xFZEJRVlVzU1VGQlN5eEpRVUZKYVVJc1MwRkJUMnBDTEVWQlFXTlFMRVZCUVZGWkxFdEJRVXRNTEVWQlFWRnBRaXhMUVVGTlJDeEZRVUZOUXl4SFFVRlBha0lzUlVGQlQybENMRWxCUVZFc1UwRkJVME1zU1VGQlUxb3NTMEZCUzBZc1dVRkJZMWtzUlVGQlUwVXNSVUZCUzBNc1ZVRkJXVzVDTEVWQlFVOXRRaXhWUVVGWFNDeEZRVUZOUnl4VlFVRlpMRWxCUVVsRUxFVkJRVkZHTEVWQlFVMWlMRlZCUVZsSUxFVkJRVTl0UWl4VlFWRm9VVU1zUTBGQlQzSkNMRVZCZDBKT1VDeEhRVTVFVHl4RlFVRmpiMElzVlVGQlZVVXNVMEZCVnl4VFFVRlRReXhIUVVNeFF5eFBRVUZQYUVJc1MwRkJTMmRDTEZGQlFWRkRMRTlCUVU5RExGZEJRVmRzUWl4TFFVRk5RU3hMUVVGTFowSXNVVUZCVVVNc1QwRkJUMFVzWTBGQlkwZ3NTMEZIZWtWMlFpeEZRWFpDZDBJc1MwRXlRbWhEVFN4TFFVRkxReUlzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5dFlYTjBaWEl2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdmVHMXNZblZwYkdSbGNpOXNhV0l2V0UxTVJGUkVSV3hsYldWdWRDNXFjeUo5IiwiKGZ1bmN0aW9uKCl7dmFyIHQsZSxpLG49e30uaGFzT3duUHJvcGVydHk7aT1yZXF1aXJlKFwiLi9VdGlsaXR5XCIpLmlzT2JqZWN0LGU9cmVxdWlyZShcIi4vWE1MTm9kZVwiKSx0PXJlcXVpcmUoXCIuL05vZGVUeXBlXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKHIpe2Z1bmN0aW9uIG8oZSxuLHIscyl7aWYoby5fX3N1cGVyX18uY29uc3RydWN0b3IuY2FsbCh0aGlzLGUpLG51bGw9PXIpdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBEVEQgZW50aXR5IG5hbWUuIFwiK3RoaXMuZGVidWdJbmZvKHIpKTtpZihudWxsPT1zKXRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgRFREIGVudGl0eSB2YWx1ZS4gXCIrdGhpcy5kZWJ1Z0luZm8ocikpO2lmKHRoaXMucGU9ISFuLHRoaXMubmFtZT10aGlzLnN0cmluZ2lmeS5uYW1lKHIpLHRoaXMudHlwZT10LkVudGl0eURlY2xhcmF0aW9uLGkocykpe2lmKCFzLnB1YklEJiYhcy5zeXNJRCl0aHJvdyBuZXcgRXJyb3IoXCJQdWJsaWMgYW5kL29yIHN5c3RlbSBpZGVudGlmaWVycyBhcmUgcmVxdWlyZWQgZm9yIGFuIGV4dGVybmFsIGVudGl0eS4gXCIrdGhpcy5kZWJ1Z0luZm8ocikpO2lmKHMucHViSUQmJiFzLnN5c0lEKXRocm93IG5ldyBFcnJvcihcIlN5c3RlbSBpZGVudGlmaWVyIGlzIHJlcXVpcmVkIGZvciBhIHB1YmxpYyBleHRlcm5hbCBlbnRpdHkuIFwiK3RoaXMuZGVidWdJbmZvKHIpKTtpZih0aGlzLmludGVybmFsPSExLG51bGwhPXMucHViSUQmJih0aGlzLnB1YklEPXRoaXMuc3RyaW5naWZ5LmR0ZFB1YklEKHMucHViSUQpKSxudWxsIT1zLnN5c0lEJiYodGhpcy5zeXNJRD10aGlzLnN0cmluZ2lmeS5kdGRTeXNJRChzLnN5c0lEKSksbnVsbCE9cy5uRGF0YSYmKHRoaXMubkRhdGE9dGhpcy5zdHJpbmdpZnkuZHRkTkRhdGEocy5uRGF0YSkpLHRoaXMucGUmJnRoaXMubkRhdGEpdGhyb3cgbmV3IEVycm9yKFwiTm90YXRpb24gZGVjbGFyYXRpb24gaXMgbm90IGFsbG93ZWQgaW4gYSBwYXJhbWV0ZXIgZW50aXR5LiBcIit0aGlzLmRlYnVnSW5mbyhyKSl9ZWxzZSB0aGlzLnZhbHVlPXRoaXMuc3RyaW5naWZ5LmR0ZEVudGl0eVZhbHVlKHMpLHRoaXMuaW50ZXJuYWw9ITB9cmV0dXJuIGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBpIGluIGUpbi5jYWxsKGUsaSkmJih0W2ldPWVbaV0pO2Z1bmN0aW9uIHIoKXt0aGlzLmNvbnN0cnVjdG9yPXR9ci5wcm90b3R5cGU9ZS5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IHIsdC5fX3N1cGVyX189ZS5wcm90b3R5cGV9KG8sZSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG8ucHJvdG90eXBlLFwicHVibGljSWRcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHViSUR9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG8ucHJvdG90eXBlLFwic3lzdGVtSWRcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc3lzSUR9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG8ucHJvdG90eXBlLFwibm90YXRpb25OYW1lXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5EYXRhfHxudWxsfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLnByb3RvdHlwZSxcImlucHV0RW5jb2RpbmdcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG8ucHJvdG90eXBlLFwieG1sRW5jb2RpbmdcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG8ucHJvdG90eXBlLFwieG1sVmVyc2lvblwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH19KSxvLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLndyaXRlci5kdGRFbnRpdHkodGhpcyx0aGlzLm9wdGlvbnMud3JpdGVyLmZpbHRlck9wdGlvbnModCkpfSxvfSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URVJVUkVWdWRHbDBlUzVxY3lKZExDSnVZVzFsY3lJNld5Sk9iMlJsVkhsd1pTSXNJbGhOVEU1dlpHVWlMQ0pwYzA5aWFtVmpkQ0lzSW1oaGMxQnliM0FpTENKb1lYTlBkMjVRY205d1pYSjBlU0lzSW5KbGNYVnBjbVVpTENKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aWMzVndaWEpEYkdGemN5SXNJbGhOVEVSVVJFVnVkR2wwZVNJc0luQmhjbVZ1ZENJc0luQmxJaXdpYm1GdFpTSXNJblpoYkhWbElpd2lYMTl6ZFhCbGNsOWZJaXdpWTI5dWMzUnlkV04wYjNJaUxDSmpZV3hzSWl3aWRHaHBjeUlzSWtWeWNtOXlJaXdpWkdWaWRXZEpibVp2SWl3aWMzUnlhVzVuYVdaNUlpd2lkSGx3WlNJc0lrVnVkR2wwZVVSbFkyeGhjbUYwYVc5dUlpd2ljSFZpU1VRaUxDSnplWE5KUkNJc0ltbHVkR1Z5Ym1Gc0lpd2laSFJrVUhWaVNVUWlMQ0prZEdSVGVYTkpSQ0lzSW01RVlYUmhJaXdpWkhSa1RrUmhkR0VpTENKa2RHUkZiblJwZEhsV1lXeDFaU0lzSW1Ob2FXeGtJaXdpYTJWNUlpd2lZM1J2Y2lJc0luQnliM1J2ZEhsd1pTSXNJbVY0ZEdWdVpDSXNJazlpYW1WamRDSXNJbVJsWm1sdVpWQnliM0JsY25SNUlpd2laMlYwSWl3aWRHOVRkSEpwYm1jaUxDSnZjSFJwYjI1eklpd2lkM0pwZEdWeUlpd2laSFJrUlc1MGFYUjVJaXdpWm1sc2RHVnlUM0IwYVc5dWN5SmRMQ0p0WVhCd2FXNW5jeUk2SWtOQlEwRXNWMEZEUlN4SlFVRkpRU3hGUVVGM1FrTXNSVUZCVTBNc1JVRkZia05ETEVWQlFWVXNSMEZCUjBNc1pVRkZaa1lzUlVGQlYwY3NVVUZCVVN4aFFVRmhTQ3hUUVVWb1EwUXNSVUZCVlVrc1VVRkJVU3hoUVVWc1Frd3NSVUZCVjBzc1VVRkJVU3hqUVVWdVFrTXNUMEZCVDBNc1VVRkJlVUlzVTBGQlZVTXNSMEZIZUVNc1UwRkJVME1zUlVGQllVTXNSVUZCVVVNc1JVRkJTVU1zUlVGQlRVTXNSMEZGZEVNc1IwRkVRVW9zUlVGQllVc3NWVUZCVlVNc1dVRkJXVU1zUzBGQlMwTXNTMEZCVFZBc1IwRkRiRU1zVFVGQlVrVXNSVUZEUml4TlFVRk5MRWxCUVVsTkxFMUJRVTBzTkVKQlFUaENSQ3hMUVVGTFJTeFZRVUZWVUN4SlFVVXZSQ3hIUVVGaExFMUJRVlJETEVWQlEwWXNUVUZCVFN4SlFVRkpTeXhOUVVGTkxEWkNRVUVyUWtRc1MwRkJTMFVzVlVGQlZWQXNTVUZMYUVVc1IwRklRVXNzUzBGQlMwNHNTMEZCVDBFc1JVRkRXazBzUzBGQlMwd3NTMEZCVDBzc1MwRkJTMGNzVlVGQlZWSXNTMEZCUzBFc1IwRkRhRU5MTEV0QlFVdEpMRXRCUVU5eVFpeEZRVUZUYzBJc2EwSkJRMmhDY0VJc1JVRkJVMWNzUjBGSFVDeERRVU5NTEVsQlFVdEJMRVZCUVUxVkxGRkJRVlZXTEVWQlFVMVhMRTFCUTNwQ0xFMUJRVTBzU1VGQlNVNHNUVUZCVFN4NVJVRkJNa1ZFTEV0QlFVdEZMRlZCUVZWUUxFbEJSVFZITEVkQlFVbERMRVZCUVUxVkxGRkJRVlZXTEVWQlFVMVhMRTFCUTNoQ0xFMUJRVTBzU1VGQlNVNHNUVUZCVFN3clJFRkJhVVZFTEV0QlFVdEZMRlZCUVZWUUxFbEJXV3hITEVkQlZrRkxMRXRCUVV0UkxGVkJRVmNzUlVGRFJ5eE5RVUZtV2l4RlFVRk5WU3hSUVVOU1RpeExRVUZMVFN4TlFVRlJUaXhMUVVGTFJ5eFZRVUZWVFN4VFFVRlRZaXhGUVVGTlZTeFJRVVV4UWl4TlFVRm1WaXhGUVVGTlZ5eFJRVU5TVUN4TFFVRkxUeXhOUVVGUlVDeExRVUZMUnl4VlFVRlZUeXhUUVVGVFpDeEZRVUZOVnl4UlFVVXhRaXhOUVVGbVdDeEZRVUZOWlN4UlFVTlNXQ3hMUVVGTFZ5eE5RVUZSV0N4TFFVRkxSeXhWUVVGVlV5eFRRVUZUYUVJc1JVRkJUV1VzVVVGRmVrTllMRXRCUVV0T0xFbEJRVTFOTEV0QlFVdFhMRTFCUTJ4Q0xFMUJRVTBzU1VGQlNWWXNUVUZCVFN3NFJFRkJaMFZFTEV0QlFVdEZMRlZCUVZWUUxGTkJjRUpxUjBzc1MwRkJTMG9zVFVGQlVVa3NTMEZCUzBjc1ZVRkJWVlVzWlVGQlpXcENMRWRCUXpORFNTeExRVUZMVVN4VlFVRlhMRVZCWjBWd1FpeFBRWHBHVXl4VFFVRlRUU3hGUVVGUGNrSXNSMEZCVlN4SlFVRkxMRWxCUVVselFpeExRVUZQZEVJc1JVRkJZMUFzUlVGQlVXRXNTMEZCUzA0c1JVRkJVWE5DTEV0QlFVMUVMRVZCUVUxRExFZEJRVTkwUWl4RlFVRlBjMElzU1VGQlVTeFRRVUZUUXl4SlFVRlRhRUlzUzBGQlMwWXNXVUZCWTJkQ0xFVkJRVk5GTEVWQlFVdERMRlZCUVZsNFFpeEZRVUZQZDBJc1ZVRkJWMGdzUlVGQlRVY3NWVUZCV1N4SlFVRkpSQ3hGUVVGUlJpeEZRVUZOYWtJc1ZVRkJXVW9zUlVGQlQzZENMRlZCVldoUlF5eERRVUZQTVVJc1JVRnBSazVTTEVkQk1VTkViVU1zVDBGQlQwTXNaVUZCWlRWQ0xFVkJRV0Y1UWl4VlFVRlhMRmRCUVZrc1EwRkRlRVJKTEVsQlFVc3NWMEZEU0N4UFFVRlBja0lzUzBGQlMwMHNVMEZKYUVKaExFOUJRVTlETEdWQlFXVTFRaXhGUVVGaGVVSXNWVUZCVnl4WFFVRlpMRU5CUTNoRVNTeEpRVUZMTEZkQlEwZ3NUMEZCVDNKQ0xFdEJRVXRQTEZOQlNXaENXU3hQUVVGUFF5eGxRVUZsTlVJc1JVRkJZWGxDTEZWQlFWY3NaVUZCWjBJc1EwRkROVVJKTEVsQlFVc3NWMEZEU0N4UFFVRlBja0lzUzBGQlMxY3NUMEZCVXl4UlFVbDZRbEVzVDBGQlQwTXNaVUZCWlRWQ0xFVkJRV0Y1UWl4VlFVRlhMR2RDUVVGcFFpeERRVU0zUkVrc1NVRkJTeXhYUVVOSUxFOUJRVThzVVVGSldFWXNUMEZCVDBNc1pVRkJaVFZDTEVWQlFXRjVRaXhWUVVGWExHTkJRV1VzUTBGRE0wUkpMRWxCUVVzc1YwRkRTQ3hQUVVGUExGRkJTVmhHTEU5QlFVOURMR1ZCUVdVMVFpeEZRVUZoZVVJc1ZVRkJWeXhoUVVGakxFTkJRekZFU1N4SlFVRkxMRmRCUTBnc1QwRkJUeXhSUVVsWU4wSXNSVUZCWVhsQ0xGVkJRVlZMTEZOQlFWY3NVMEZCVTBNc1IwRkRla01zVDBGQlQzWkNMRXRCUVV0MVFpeFJRVUZSUXl4UFFVRlBReXhWUVVGVmVrSXNTMEZCVFVFc1MwRkJTM1ZDTEZGQlFWRkRMRTlCUVU5RkxHTkJRV05JTEV0QlIzaEZMMElzUlVGb1JuVkNMRXRCYjBZdlFrOHNTMEZCUzBNaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZiV0Z6ZEdWeUwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMM2h0YkdKMWFXeGtaWEl2YkdsaUwxaE5URVJVUkVWdWRHbDBlUzVxY3lKOSIsIihmdW5jdGlvbigpe3ZhciB0LHIsaT17fS5oYXNPd25Qcm9wZXJ0eTtyPXJlcXVpcmUoXCIuL1hNTE5vZGVcIiksdD1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihlKXtmdW5jdGlvbiBvKHIsaSxlKXtpZihvLl9fc3VwZXJfXy5jb25zdHJ1Y3Rvci5jYWxsKHRoaXMsciksbnVsbD09aSl0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIERURCBub3RhdGlvbiBuYW1lLiBcIit0aGlzLmRlYnVnSW5mbyhpKSk7aWYoIWUucHViSUQmJiFlLnN5c0lEKXRocm93IG5ldyBFcnJvcihcIlB1YmxpYyBvciBzeXN0ZW0gaWRlbnRpZmllcnMgYXJlIHJlcXVpcmVkIGZvciBhbiBleHRlcm5hbCBlbnRpdHkuIFwiK3RoaXMuZGVidWdJbmZvKGkpKTt0aGlzLm5hbWU9dGhpcy5zdHJpbmdpZnkubmFtZShpKSx0aGlzLnR5cGU9dC5Ob3RhdGlvbkRlY2xhcmF0aW9uLG51bGwhPWUucHViSUQmJih0aGlzLnB1YklEPXRoaXMuc3RyaW5naWZ5LmR0ZFB1YklEKGUucHViSUQpKSxudWxsIT1lLnN5c0lEJiYodGhpcy5zeXNJRD10aGlzLnN0cmluZ2lmeS5kdGRTeXNJRChlLnN5c0lEKSl9cmV0dXJuIGZ1bmN0aW9uKHQscil7Zm9yKHZhciBlIGluIHIpaS5jYWxsKHIsZSkmJih0W2VdPXJbZV0pO2Z1bmN0aW9uIG8oKXt0aGlzLmNvbnN0cnVjdG9yPXR9by5wcm90b3R5cGU9ci5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IG8sdC5fX3N1cGVyX189ci5wcm90b3R5cGV9KG8sciksT2JqZWN0LmRlZmluZVByb3BlcnR5KG8ucHJvdG90eXBlLFwicHVibGljSWRcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHViSUR9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG8ucHJvdG90eXBlLFwic3lzdGVtSWRcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc3lzSUR9fSksby5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy53cml0ZXIuZHRkTm90YXRpb24odGhpcyx0aGlzLm9wdGlvbnMud3JpdGVyLmZpbHRlck9wdGlvbnModCkpfSxvfSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URVJVUkU1dmRHRjBhVzl1TG1weklsMHNJbTVoYldWeklqcGJJazV2WkdWVWVYQmxJaXdpV0UxTVRtOWtaU0lzSW1oaGMxQnliM0FpTENKb1lYTlBkMjVRY205d1pYSjBlU0lzSW5KbGNYVnBjbVVpTENKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aWMzVndaWEpEYkdGemN5SXNJbGhOVEVSVVJFNXZkR0YwYVc5dUlpd2ljR0Z5Wlc1MElpd2libUZ0WlNJc0luWmhiSFZsSWl3aVgxOXpkWEJsY2w5Zklpd2lZMjl1YzNSeWRXTjBiM0lpTENKallXeHNJaXdpZEdocGN5SXNJa1Z5Y205eUlpd2laR1ZpZFdkSmJtWnZJaXdpY0hWaVNVUWlMQ0p6ZVhOSlJDSXNJbk4wY21sdVoybG1lU0lzSW5SNWNHVWlMQ0pPYjNSaGRHbHZia1JsWTJ4aGNtRjBhVzl1SWl3aVpIUmtVSFZpU1VRaUxDSmtkR1JUZVhOSlJDSXNJbU5vYVd4a0lpd2lhMlY1SWl3aVkzUnZjaUlzSW5CeWIzUnZkSGx3WlNJc0ltVjRkR1Z1WkNJc0lrOWlhbVZqZENJc0ltUmxabWx1WlZCeWIzQmxjblI1SWl3aVoyVjBJaXdpZEc5VGRISnBibWNpTENKdmNIUnBiMjV6SWl3aWQzSnBkR1Z5SWl3aVpIUmtUbTkwWVhScGIyNGlMQ0ptYVd4MFpYSlBjSFJwYjI1eklsMHNJbTFoY0hCcGJtZHpJam9pUTBGRFFTeFhRVU5GTEVsQlFVbEJMRVZCUVRCQ1F5eEZRVVUxUWtNc1JVRkJWU3hIUVVGSFF5eGxRVVZtUml4RlFVRlZSeXhSUVVGUkxHRkJSV3hDU2l4RlFVRlhTU3hSUVVGUkxHTkJSVzVDUXl4UFFVRlBReXhSUVVFeVFpeFRRVUZWUXl4SFFVY3hReXhUUVVGVFF5eEZRVUZsUXl4RlFVRlJReXhGUVVGTlF5eEhRVVZ3UXl4SFFVUkJTQ3hGUVVGbFNTeFZRVUZWUXl4WlFVRlpReXhMUVVGTFF5eExRVUZOVGl4SFFVTndReXhOUVVGU1F5eEZRVU5HTEUxQlFVMHNTVUZCU1Uwc1RVRkJUU3c0UWtGQlowTkVMRXRCUVV0RkxGVkJRVlZRTEVsQlJXcEZMRWxCUVV0RExFVkJRVTFQTEZGQlFWVlFMRVZCUVUxUkxFMUJRM3BDTEUxQlFVMHNTVUZCU1Vnc1RVRkJUU3h4UlVGQmRVVkVMRXRCUVV0RkxGVkJRVlZRTEVsQlJYaEhTeXhMUVVGTFRDeExRVUZQU3l4TFFVRkxTeXhWUVVGVlZpeExRVUZMUVN4SFFVTm9RMHNzUzBGQlMwMHNTMEZCVDNKQ0xFVkJRVk56UWl4dlFrRkRSaXhOUVVGbVdDeEZRVUZOVHl4UlFVTlNTQ3hMUVVGTFJ5eE5RVUZSU0N4TFFVRkxTeXhWUVVGVlJ5eFRRVUZUV2l4RlFVRk5UeXhSUVVVeFFpeE5RVUZtVUN4RlFVRk5VU3hSUVVOU1NpeExRVUZMU1N4TlFVRlJTaXhMUVVGTFN5eFZRVUZWU1N4VFFVRlRZaXhGUVVGTlVTeFJRVzlDTDBNc1QwRTFRMU1zVTBGQlUwMHNSVUZCVDJoQ0xFZEJRVlVzU1VGQlN5eEpRVUZKYVVJc1MwRkJUMnBDTEVWQlFXTlFMRVZCUVZGWkxFdEJRVXRNTEVWQlFWRnBRaXhMUVVGTlJDeEZRVUZOUXl4SFFVRlBha0lzUlVGQlQybENMRWxCUVZFc1UwRkJVME1zU1VGQlUxb3NTMEZCUzBZc1dVRkJZMWtzUlVGQlUwVXNSVUZCUzBNc1ZVRkJXVzVDTEVWQlFVOXRRaXhWUVVGWFNDeEZRVUZOUnl4VlFVRlpMRWxCUVVsRUxFVkJRVkZHTEVWQlFVMWlMRlZCUVZsSUxFVkJRVTl0UWl4VlFWRm9VVU1zUTBGQlQzSkNMRVZCYzBOT1VDeEhRV3hDUkRaQ0xFOUJRVTlETEdWQlFXVjJRaXhGUVVGbGIwSXNWVUZCVnl4WFFVRlpMRU5CUXpGRVNTeEpRVUZMTEZkQlEwZ3NUMEZCVDJwQ0xFdEJRVXRITEZOQlNXaENXU3hQUVVGUFF5eGxRVUZsZGtJc1JVRkJaVzlDTEZWQlFWY3NWMEZCV1N4RFFVTXhSRWtzU1VGQlN5eFhRVU5JTEU5QlFVOXFRaXhMUVVGTFNTeFRRVWxvUWxnc1JVRkJaVzlDTEZWQlFWVkxMRk5CUVZjc1UwRkJVME1zUjBGRE0wTXNUMEZCVDI1Q0xFdEJRVXR0UWl4UlFVRlJReXhQUVVGUFF5eFpRVUZaY2tJc1MwRkJUVUVzUzBGQlMyMUNMRkZCUVZGRExFOUJRVTlGTEdOQlFXTklMRXRCUnpGRk1VSXNSVUZ5UTNsQ0xFdEJlVU5xUTAwc1MwRkJTME1pTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmJXRnpkR1Z5TDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwzaHRiR0oxYVd4a1pYSXZiR2xpTDFoTlRFUlVSRTV2ZEdGMGFXOXVMbXB6SW4wPSIsIihmdW5jdGlvbigpe3ZhciB0LGksbixvPXt9Lmhhc093blByb3BlcnR5O249cmVxdWlyZShcIi4vVXRpbGl0eVwiKS5pc09iamVjdCxpPXJlcXVpcmUoXCIuL1hNTE5vZGVcIiksdD1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihyKXtmdW5jdGlvbiBlKGksbyxyLHMpe3ZhciBsO2UuX19zdXBlcl9fLmNvbnN0cnVjdG9yLmNhbGwodGhpcyxpKSxuKG8pJiYobz0obD1vKS52ZXJzaW9uLHI9bC5lbmNvZGluZyxzPWwuc3RhbmRhbG9uZSksb3x8KG89XCIxLjBcIiksdGhpcy50eXBlPXQuRGVjbGFyYXRpb24sdGhpcy52ZXJzaW9uPXRoaXMuc3RyaW5naWZ5LnhtbFZlcnNpb24obyksbnVsbCE9ciYmKHRoaXMuZW5jb2Rpbmc9dGhpcy5zdHJpbmdpZnkueG1sRW5jb2RpbmcocikpLG51bGwhPXMmJih0aGlzLnN0YW5kYWxvbmU9dGhpcy5zdHJpbmdpZnkueG1sU3RhbmRhbG9uZShzKSl9cmV0dXJuIGZ1bmN0aW9uKHQsaSl7Zm9yKHZhciBuIGluIGkpby5jYWxsKGksbikmJih0W25dPWlbbl0pO2Z1bmN0aW9uIHIoKXt0aGlzLmNvbnN0cnVjdG9yPXR9ci5wcm90b3R5cGU9aS5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IHIsdC5fX3N1cGVyX189aS5wcm90b3R5cGV9KGUsaSksZS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy53cml0ZXIuZGVjbGFyYXRpb24odGhpcyx0aGlzLm9wdGlvbnMud3JpdGVyLmZpbHRlck9wdGlvbnModCkpfSxlfSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URVJsWTJ4aGNtRjBhVzl1TG1weklsMHNJbTVoYldWeklqcGJJazV2WkdWVWVYQmxJaXdpV0UxTVRtOWtaU0lzSW1selQySnFaV04wSWl3aWFHRnpVSEp2Y0NJc0ltaGhjMDkzYmxCeWIzQmxjblI1SWl3aWNtVnhkV2x5WlNJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSnpkWEJsY2tOc1lYTnpJaXdpV0UxTVJHVmpiR0Z5WVhScGIyNGlMQ0p3WVhKbGJuUWlMQ0oyWlhKemFXOXVJaXdpWlc1amIyUnBibWNpTENKemRHRnVaR0ZzYjI1bElpd2ljbVZtSWl3aVgxOXpkWEJsY2w5Zklpd2lZMjl1YzNSeWRXTjBiM0lpTENKallXeHNJaXdpZEdocGN5SXNJblI1Y0dVaUxDSkVaV05zWVhKaGRHbHZiaUlzSW5OMGNtbHVaMmxtZVNJc0luaHRiRlpsY25OcGIyNGlMQ0o0Yld4RmJtTnZaR2x1WnlJc0luaHRiRk4wWVc1a1lXeHZibVVpTENKamFHbHNaQ0lzSW10bGVTSXNJbU4wYjNJaUxDSndjbTkwYjNSNWNHVWlMQ0psZUhSbGJtUWlMQ0owYjFOMGNtbHVaeUlzSW05d2RHbHZibk1pTENKM2NtbDBaWElpTENKa1pXTnNZWEpoZEdsdmJpSXNJbVpwYkhSbGNrOXdkR2x2Ym5NaVhTd2liV0Z3Y0dsdVozTWlPaUpEUVVOQkxGZEJRMFVzU1VGQlNVRXNSVUZCTUVKRExFVkJRVk5ETEVWQlJYSkRReXhGUVVGVkxFZEJRVWRETEdWQlJXWkdMRVZCUVZkSExGRkJRVkVzWVVGQllVZ3NVMEZGYUVORUxFVkJRVlZKTEZGQlFWRXNZVUZGYkVKTUxFVkJRVmRMTEZGQlFWRXNZMEZGYmtKRExFOUJRVTlETEZGQlFUSkNMRk5CUVZWRExFZEJSekZETEZOQlFWTkRMRVZCUVdWRExFVkJRVkZETEVWQlFWTkRMRVZCUVZWRExFZEJRMnBFTEVsQlFVbERMRVZCUTBwTUxFVkJRV1ZOTEZWQlFWVkRMRmxCUVZsRExFdEJRVXRETEV0QlFVMVNMRWRCUXpWRFVpeEZRVUZUVXl4TFFVTkpRU3hIUVVGbVJ5eEZRVUZOU0N4SFFVRjFRa0VzVVVGQlUwTXNSVUZCVjBVc1JVRkJTVVlzVTBGQlZVTXNSVUZCWVVNc1JVRkJTVVFzV1VGRk4wVkdMRWxCUTBoQkxFVkJRVlVzVDBGRldrOHNTMEZCUzBNc1MwRkJUMjVDTEVWQlFWTnZRaXhaUVVOeVFrWXNTMEZCUzFBc1VVRkJWVThzUzBGQlMwY3NWVUZCVlVNc1YwRkJWMWdzUjBGRGVrSXNUVUZCV2tNc1NVRkRSazBzUzBGQlMwNHNVMEZCVjAwc1MwRkJTMGNzVlVGQlZVVXNXVUZCV1Znc1NVRkZNMElzVFVGQlpFTXNTVUZEUmtzc1MwRkJTMHdzVjBGQllVc3NTMEZCUzBjc1ZVRkJWVWNzWTBGQlkxZ3NTVUZSYmtRc1QwRnVRMU1zVTBGQlUxa3NSVUZCVDJZc1IwRkJWU3hKUVVGTExFbEJRVWxuUWl4TFFVRlBhRUlzUlVGQlkxQXNSVUZCVVdNc1MwRkJTMUFzUlVGQlVXZENMRXRCUVUxRUxFVkJRVTFETEVkQlFVOW9RaXhGUVVGUFowSXNTVUZCVVN4VFFVRlRReXhKUVVGVFZDeExRVUZMUml4WlFVRmpVeXhGUVVGVFJTeEZRVUZMUXl4VlFVRlpiRUlzUlVGQlQydENMRlZCUVZkSUxFVkJRVTFITEZWQlFWa3NTVUZCU1VRc1JVRkJVVVlzUlVGQlRWWXNWVUZCV1V3c1JVRkJUMnRDTEZWQlZXaFJReXhEUVVGUGNFSXNSVUV5UWs1U0xFZEJUa1JSTEVWQlFXVnRRaXhWUVVGVlJTeFRRVUZYTEZOQlFWTkRMRWRCUXpORExFOUJRVTlpTEV0QlFVdGhMRkZCUVZGRExFOUJRVTlETEZsQlFWbG1MRXRCUVUxQkxFdEJRVXRoTEZGQlFWRkRMRTlCUVU5RkxHTkJRV05JTEV0QlJ6RkZkRUlzUlVFeFFubENMRXRCT0VKcVExRXNTMEZCUzBNaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZiV0Z6ZEdWeUwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMM2h0YkdKMWFXeGtaWEl2YkdsaUwxaE5URVJsWTJ4aGNtRjBhVzl1TG1wekluMD0iLCIoZnVuY3Rpb24oKXt2YXIgdCxlLG4saSxyLG8scyxwLHU9e30uaGFzT3duUHJvcGVydHk7cD1yZXF1aXJlKFwiLi9VdGlsaXR5XCIpLmlzT2JqZWN0LHM9cmVxdWlyZShcIi4vWE1MTm9kZVwiKSx0PXJlcXVpcmUoXCIuL05vZGVUeXBlXCIpLGU9cmVxdWlyZShcIi4vWE1MRFREQXR0TGlzdFwiKSxpPXJlcXVpcmUoXCIuL1hNTERUREVudGl0eVwiKSxuPXJlcXVpcmUoXCIuL1hNTERUREVsZW1lbnRcIikscj1yZXF1aXJlKFwiLi9YTUxEVEROb3RhdGlvblwiKSxvPXJlcXVpcmUoXCIuL1hNTE5hbWVkTm9kZU1hcFwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihoKXtmdW5jdGlvbiBjKGUsbixpKXt2YXIgcixvLHMsdSxoLHk7aWYoYy5fX3N1cGVyX18uY29uc3RydWN0b3IuY2FsbCh0aGlzLGUpLHRoaXMudHlwZT10LkRvY1R5cGUsZS5jaGlsZHJlbilmb3Iobz0wLHM9KHU9ZS5jaGlsZHJlbikubGVuZ3RoO288cztvKyspaWYoKHI9dVtvXSkudHlwZT09PXQuRWxlbWVudCl7dGhpcy5uYW1lPXIubmFtZTticmVha310aGlzLmRvY3VtZW50T2JqZWN0PWUscChuKSYmKG49KGg9bikucHViSUQsaT1oLnN5c0lEKSxudWxsPT1pJiYoaT0oeT1bbixpXSlbMF0sbj15WzFdKSxudWxsIT1uJiYodGhpcy5wdWJJRD10aGlzLnN0cmluZ2lmeS5kdGRQdWJJRChuKSksbnVsbCE9aSYmKHRoaXMuc3lzSUQ9dGhpcy5zdHJpbmdpZnkuZHRkU3lzSUQoaSkpfXJldHVybiBmdW5jdGlvbih0LGUpe2Zvcih2YXIgbiBpbiBlKXUuY2FsbChlLG4pJiYodFtuXT1lW25dKTtmdW5jdGlvbiBpKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fWkucHJvdG90eXBlPWUucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyBpLHQuX19zdXBlcl9fPWUucHJvdG90eXBlfShjLHMpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLnByb3RvdHlwZSxcImVudGl0aWVzXCIse2dldDpmdW5jdGlvbigpe3ZhciBlLG4saSxyLHM7Zm9yKHI9e30sbj0wLGk9KHM9dGhpcy5jaGlsZHJlbikubGVuZ3RoO248aTtuKyspKGU9c1tuXSkudHlwZSE9PXQuRW50aXR5RGVjbGFyYXRpb258fGUucGV8fChyW2UubmFtZV09ZSk7cmV0dXJuIG5ldyBvKHIpfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLnByb3RvdHlwZSxcIm5vdGF0aW9uc1wiLHtnZXQ6ZnVuY3Rpb24oKXt2YXIgZSxuLGkscixzO2ZvcihyPXt9LG49MCxpPShzPXRoaXMuY2hpbGRyZW4pLmxlbmd0aDtuPGk7bisrKShlPXNbbl0pLnR5cGU9PT10Lk5vdGF0aW9uRGVjbGFyYXRpb24mJihyW2UubmFtZV09ZSk7cmV0dXJuIG5ldyBvKHIpfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLnByb3RvdHlwZSxcInB1YmxpY0lkXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnB1YklEfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLnByb3RvdHlwZSxcInN5c3RlbUlkXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnN5c0lEfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLnByb3RvdHlwZSxcImludGVybmFsU3Vic2V0XCIse2dldDpmdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9fSksYy5wcm90b3R5cGUuZWxlbWVudD1mdW5jdGlvbih0LGUpe3ZhciBpO3JldHVybiBpPW5ldyBuKHRoaXMsdCxlKSx0aGlzLmNoaWxkcmVuLnB1c2goaSksdGhpc30sYy5wcm90b3R5cGUuYXR0TGlzdD1mdW5jdGlvbih0LG4saSxyLG8pe3ZhciBzO3JldHVybiBzPW5ldyBlKHRoaXMsdCxuLGkscixvKSx0aGlzLmNoaWxkcmVuLnB1c2gocyksdGhpc30sYy5wcm90b3R5cGUuZW50aXR5PWZ1bmN0aW9uKHQsZSl7dmFyIG47cmV0dXJuIG49bmV3IGkodGhpcywhMSx0LGUpLHRoaXMuY2hpbGRyZW4ucHVzaChuKSx0aGlzfSxjLnByb3RvdHlwZS5wRW50aXR5PWZ1bmN0aW9uKHQsZSl7dmFyIG47cmV0dXJuIG49bmV3IGkodGhpcywhMCx0LGUpLHRoaXMuY2hpbGRyZW4ucHVzaChuKSx0aGlzfSxjLnByb3RvdHlwZS5ub3RhdGlvbj1mdW5jdGlvbih0LGUpe3ZhciBuO3JldHVybiBuPW5ldyByKHRoaXMsdCxlKSx0aGlzLmNoaWxkcmVuLnB1c2gobiksdGhpc30sYy5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy53cml0ZXIuZG9jVHlwZSh0aGlzLHRoaXMub3B0aW9ucy53cml0ZXIuZmlsdGVyT3B0aW9ucyh0KSl9LGMucHJvdG90eXBlLmVsZT1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmVsZW1lbnQodCxlKX0sYy5wcm90b3R5cGUuYXR0PWZ1bmN0aW9uKHQsZSxuLGkscil7cmV0dXJuIHRoaXMuYXR0TGlzdCh0LGUsbixpLHIpfSxjLnByb3RvdHlwZS5lbnQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5lbnRpdHkodCxlKX0sYy5wcm90b3R5cGUucGVudD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLnBFbnRpdHkodCxlKX0sYy5wcm90b3R5cGUubm90PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMubm90YXRpb24odCxlKX0sYy5wcm90b3R5cGUudXA9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5yb290KCl8fHRoaXMuZG9jdW1lbnRPYmplY3R9LGMucHJvdG90eXBlLmlzRXF1YWxOb2RlPWZ1bmN0aW9uKHQpe3JldHVybiEhYy5fX3N1cGVyX18uaXNFcXVhbE5vZGUuYXBwbHkodGhpcyxhcmd1bWVudHMpLmlzRXF1YWxOb2RlKHQpJiYodC5uYW1lPT09dGhpcy5uYW1lJiYodC5wdWJsaWNJZD09PXRoaXMucHVibGljSWQmJnQuc3lzdGVtSWQ9PT10aGlzLnN5c3RlbUlkKSl9LGN9KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRFUnZZMVI1Y0dVdWFuTWlYU3dpYm1GdFpYTWlPbHNpVG05a1pWUjVjR1VpTENKWVRVeEVWRVJCZEhSTWFYTjBJaXdpV0UxTVJGUkVSV3hsYldWdWRDSXNJbGhOVEVSVVJFVnVkR2wwZVNJc0lsaE5URVJVUkU1dmRHRjBhVzl1SWl3aVdFMU1UbUZ0WldST2IyUmxUV0Z3SWl3aVdFMU1UbTlrWlNJc0ltbHpUMkpxWldOMElpd2lhR0Z6VUhKdmNDSXNJbWhoYzA5M2JsQnliM0JsY25SNUlpd2ljbVZ4ZFdseVpTSXNJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0p6ZFhCbGNrTnNZWE56SWl3aVdFMU1SRzlqVkhsd1pTSXNJbkJoY21WdWRDSXNJbkIxWWtsRUlpd2ljM2x6U1VRaUxDSmphR2xzWkNJc0lta2lMQ0pzWlc0aUxDSnlaV1lpTENKeVpXWXhJaXdpY21WbU1pSXNJbDlmYzNWd1pYSmZYeUlzSW1OdmJuTjBjblZqZEc5eUlpd2lZMkZzYkNJc0luUm9hWE1pTENKMGVYQmxJaXdpUkc5alZIbHdaU0lzSW1Ob2FXeGtjbVZ1SWl3aWJHVnVaM1JvSWl3aVJXeGxiV1Z1ZENJc0ltNWhiV1VpTENKa2IyTjFiV1Z1ZEU5aWFtVmpkQ0lzSW5OMGNtbHVaMmxtZVNJc0ltUjBaRkIxWWtsRUlpd2laSFJrVTNselNVUWlMQ0pyWlhraUxDSmpkRzl5SWl3aWNISnZkRzkwZVhCbElpd2laWGgwWlc1a0lpd2lUMkpxWldOMElpd2laR1ZtYVc1bFVISnZjR1Z5ZEhraUxDSm5aWFFpTENKdWIyUmxjeUlzSWtWdWRHbDBlVVJsWTJ4aGNtRjBhVzl1SWl3aWNHVWlMQ0pPYjNSaGRHbHZia1JsWTJ4aGNtRjBhVzl1SWl3aVJYSnliM0lpTENKa1pXSjFaMGx1Wm04aUxDSmxiR1Z0Wlc1MElpd2lkbUZzZFdVaUxDSndkWE5vSWl3aVlYUjBUR2x6ZENJc0ltVnNaVzFsYm5ST1lXMWxJaXdpWVhSMGNtbGlkWFJsVG1GdFpTSXNJbUYwZEhKcFluVjBaVlI1Y0dVaUxDSmtaV1poZFd4MFZtRnNkV1ZVZVhCbElpd2laR1ZtWVhWc2RGWmhiSFZsSWl3aVpXNTBhWFI1SWl3aWNFVnVkR2wwZVNJc0ltNXZkR0YwYVc5dUlpd2lkRzlUZEhKcGJtY2lMQ0p2Y0hScGIyNXpJaXdpZDNKcGRHVnlJaXdpWkc5alZIbHdaU0lzSW1acGJIUmxjazl3ZEdsdmJuTWlMQ0psYkdVaUxDSmhkSFFpTENKbGJuUWlMQ0p3Wlc1MElpd2libTkwSWl3aWRYQWlMQ0p5YjI5MElpd2lhWE5GY1hWaGJFNXZaR1VpTENKdWIyUmxJaXdpWVhCd2JIa2lMQ0poY21kMWJXVnVkSE1pTENKd2RXSnNhV05KWkNJc0luTjVjM1JsYlVsa0lsMHNJbTFoY0hCcGJtZHpJam9pUTBGRFFTeFhRVU5GTEVsQlFVbEJMRVZCUVZWRExFVkJRV1ZETEVWQlFXVkRMRVZCUVdORExFVkJRVFJDUXl4RlFVRnBRa01zUlVGQlUwTXNSVUZGT1VkRExFVkJRVlVzUjBGQlIwTXNaVUZGWmtZc1JVRkJWMGNzVVVGQlVTeGhRVUZoU0N4VFFVVm9RMFFzUlVGQlZVa3NVVUZCVVN4aFFVVnNRbFlzUlVGQlYxVXNVVUZCVVN4alFVVnVRbFFzUlVGQlowSlRMRkZCUVZFc2JVSkJSWGhDVUN4RlFVRmxUeXhSUVVGUkxHdENRVVYyUWxJc1JVRkJaMEpSTEZGQlFWRXNiVUpCUlhoQ1RpeEZRVUZwUWswc1VVRkJVU3h2UWtGRmVrSk1MRVZCUVd0Q1N5eFJRVUZSTEhGQ1FVVXhRa01zVDBGQlQwTXNVVUZCZFVJc1UwRkJWVU1zUjBGSGRFTXNVMEZCVTBNc1JVRkJWME1zUlVGQlVVTXNSVUZCVDBNc1IwRkRha01zU1VGQlNVTXNSVUZCVDBNc1JVRkJSME1zUlVGQlMwTXNSVUZCUzBNc1JVRkJUVU1zUlVGSE9VSXNSMEZHUVZRc1JVRkJWMVVzVlVGQlZVTXNXVUZCV1VNc1MwRkJTME1zUzBGQlRWb3NSMEZETlVOWkxFdEJRVXRETEV0QlFVODFRaXhGUVVGVE5rSXNVVUZEYWtKa0xFVkJRVTlsTEZOQlJWUXNTVUZCUzFnc1JVRkJTU3hGUVVGSFF5eEhRVVJhUXl4RlFVRk5UaXhGUVVGUFpTeFZRVU5UUXl4UFFVRlJXaXhGUVVGSlF5eEZRVUZMUkN4SlFVVnlReXhKUVVSQlJDeEZRVUZSUnl4RlFVRkpSaXhKUVVOR1V5eFBRVUZUTlVJc1JVRkJVMmRETEZGQlFWTXNRMEZEYmtOTUxFdEJRVXROTEV0QlFVOW1MRVZCUVUxbExFdEJRMnhDTEUxQlNVNU9MRXRCUVV0UExHVkJRV2xDYmtJc1JVRkRiRUpTTEVWQlFWTlRMRXRCUTBkQkxFZEJRV1JOTEVWQlFVOU9MRWRCUVc5Q1FTeE5RVUZQUXl4RlFVRlJTeXhGUVVGTFRDeFBRVVZ3UXl4TlFVRlVRU3hKUVVOeFFrRXNSMEZCZGtKTkxFVkJRVThzUTBGQlExQXNSVUZCVDBNc1NVRkJjVUlzUjBGQlNVUXNSVUZCVVU4c1JVRkJTeXhKUVVVeFF5eE5RVUZVVUN4SlFVTkdWeXhMUVVGTFdDeE5RVUZSVnl4TFFVRkxVU3hWUVVGVlF5eFRRVUZUY0VJc1NVRkZNVUlzVFVGQlZFTXNTVUZEUmxVc1MwRkJTMVlzVFVGQlVWVXNTMEZCUzFFc1ZVRkJWVVVzVTBGQlUzQkNMRWxCYlVsNlF5eFBRV3hNVXl4VFFVRlRReXhGUVVGUFNDeEhRVUZWTEVsQlFVc3NTVUZCU1hWQ0xFdEJRVTkyUWl4RlFVRmpVQ3hGUVVGUmEwSXNTMEZCUzFnc1JVRkJVWFZDTEV0QlFVMXdRaXhGUVVGTmIwSXNSMEZCVDNaQ0xFVkJRVTkxUWl4SlFVRlJMRk5CUVZORExFbEJRVk5hTEV0QlFVdEdMRmxCUVdOUUxFVkJRVk54UWl4RlFVRkxReXhWUVVGWmVrSXNSVUZCVDNsQ0xGVkJRVmQwUWl4RlFVRk5jMElzVlVGQldTeEpRVUZKUkN4RlFVRlJja0lzUlVGQlRVMHNWVUZCV1ZRc1JVRkJUM2xDTEZWQmIwSm9VVU1zUTBGQlR6TkNMRVZCWjB0T1VpeEhRV3BKUkc5RExFOUJRVTlETEdWQlFXVTNRaXhGUVVGWE1FSXNWVUZCVnl4WFFVRlpMRU5CUTNSRVNTeEpRVUZMTEZkQlEwZ3NTVUZCU1RGQ0xFVkJRVTlETEVWQlFVZERMRVZCUVV0NVFpeEZRVUZQZUVJc1JVRkhNVUlzU1VGR1FYZENMRVZCUVZFc1IwRkZTREZDTEVWQlFVa3NSVUZCUjBNc1IwRkVXa01zUlVGQlRVMHNTMEZCUzBjc1ZVRkRWME1zVDBGQlVWb3NSVUZCU1VNc1JVRkJTMFFzUzBGRGNrTkVMRVZCUVZGSExFVkJRVWxHTEVsQlEwUlRMRTlCUVZNMVFpeEZRVUZUT0VNc2JVSkJRWFZDTlVJc1JVRkJUVFpDTEV0QlEzaEVSaXhGUVVGTk0wSXNSVUZCVFdVc1RVRkJVV1lzUjBGSGVFSXNUMEZCVHl4SlFVRkpZaXhGUVVGblFuZERMRTFCU1M5Q1NDeFBRVUZQUXl4bFFVRmxOMElzUlVGQlZ6QkNMRlZCUVZjc1dVRkJZU3hEUVVOMlJFa3NTVUZCU3l4WFFVTklMRWxCUVVreFFpeEZRVUZQUXl4RlFVRkhReXhGUVVGTGVVSXNSVUZCVDNoQ0xFVkJSekZDTEVsQlJrRjNRaXhGUVVGUkxFZEJSVWd4UWl4RlFVRkpMRVZCUVVkRExFZEJSRnBETEVWQlFVMU5MRXRCUVV0SExGVkJRMWRETEU5QlFWRmFMRVZCUVVsRExFVkJRVXRFTEV0QlEzSkRSQ3hGUVVGUlJ5eEZRVUZKUml4SlFVTkdVeXhQUVVGVE5VSXNSVUZCVTJkRUxITkNRVU14UWtnc1JVRkJUVE5DTEVWQlFVMWxMRTFCUVZGbUxFZEJSM2hDTEU5QlFVOHNTVUZCU1dJc1JVRkJaMEozUXl4TlFVa3ZRa2dzVDBGQlQwTXNaVUZCWlRkQ0xFVkJRVmN3UWl4VlFVRlhMRmRCUVZrc1EwRkRkRVJKTEVsQlFVc3NWMEZEU0N4UFFVRlBha0lzUzBGQlMxZ3NVMEZKYUVJd1FpeFBRVUZQUXl4bFFVRmxOMElzUlVGQlZ6QkNMRlZCUVZjc1YwRkJXU3hEUVVOMFJFa3NTVUZCU3l4WFFVTklMRTlCUVU5cVFpeExRVUZMVml4VFFVbG9RbmxDTEU5QlFVOURMR1ZCUVdVM1FpeEZRVUZYTUVJc1ZVRkJWeXhwUWtGQmEwSXNRMEZETlVSSkxFbEJRVXNzVjBGRFNDeE5RVUZOTEVsQlFVbExMRTFCUVUwc2MwTkJRWGREZEVJc1MwRkJTM1ZDTEdkQ1FVbHFSWEJETEVWQlFWY3dRaXhWUVVGVlZ5eFJRVUZWTEZOQlFWTnNRaXhGUVVGTmJVSXNSMEZETlVNc1NVRkJTV3hETEVWQlIwb3NUMEZHUVVFc1JVRkJVU3hKUVVGSmFFSXNSVUZCWTNsQ0xFdEJRVTFOTEVWQlFVMXRRaXhIUVVOMFEzcENMRXRCUVV0SExGTkJRVk4xUWl4TFFVRkxia01zUjBGRFdsTXNUVUZIVkdJc1JVRkJWekJDTEZWQlFWVmpMRkZCUVZVc1UwRkJVME1zUlVGQllVTXNSVUZCWlVNc1JVRkJaVU1zUlVGQmEwSkRMRWRCUTI1SExFbEJRVWw2UXl4RlFVZEtMRTlCUmtGQkxFVkJRVkVzU1VGQlNXcENMRVZCUVdNd1FpeExRVUZOTkVJc1JVRkJZVU1zUlVGQlpVTXNSVUZCWlVNc1JVRkJhMEpETEVkQlF6ZEdhRU1zUzBGQlMwY3NVMEZCVTNWQ0xFdEJRVXR1UXl4SFFVTmFVeXhOUVVkVVlpeEZRVUZYTUVJc1ZVRkJWVzlDTEU5QlFWTXNVMEZCVXpOQ0xFVkJRVTF0UWl4SFFVTXpReXhKUVVGSmJFTXNSVUZIU2l4UFFVWkJRU3hGUVVGUkxFbEJRVWxtTEVWQlFXRjNRaXhOUVVGTkxFVkJRVTlOTEVWQlFVMXRRaXhIUVVNMVEzcENMRXRCUVV0SExGTkJRVk4xUWl4TFFVRkxia01zUjBGRFdsTXNUVUZIVkdJc1JVRkJWekJDTEZWQlFWVnhRaXhSUVVGVkxGTkJRVk0xUWl4RlFVRk5iVUlzUjBGRE5VTXNTVUZCU1d4RExFVkJSMG9zVDBGR1FVRXNSVUZCVVN4SlFVRkpaaXhGUVVGaGQwSXNUVUZCVFN4RlFVRk5UU3hGUVVGTmJVSXNSMEZETTBONlFpeExRVUZMUnl4VFFVRlRkVUlzUzBGQlMyNURMRWRCUTFwVExFMUJSMVJpTEVWQlFWY3dRaXhWUVVGVmMwSXNVMEZCVnl4VFFVRlROMElzUlVGQlRXMUNMRWRCUXpkRExFbEJRVWxzUXl4RlFVZEtMRTlCUmtGQkxFVkJRVkVzU1VGQlNXUXNSVUZCWlhWQ0xFdEJRVTFOTEVWQlFVMXRRaXhIUVVOMlEzcENMRXRCUVV0SExGTkJRVk4xUWl4TFFVRkxia01zUjBGRFdsTXNUVUZIVkdJc1JVRkJWekJDTEZWQlFWVjFRaXhUUVVGWExGTkJRVk5ETEVkQlEzWkRMRTlCUVU5eVF5eExRVUZMY1VNc1VVRkJVVU1zVDBGQlQwTXNVVUZCVVhaRExFdEJRVTFCTEV0QlFVdHhReXhSUVVGUlF5eFBRVUZQUlN4alFVRmpTQ3hMUVVjM1JXeEVMRVZCUVZjd1FpeFZRVUZWTkVJc1NVRkJUU3hUUVVGVGJrTXNSVUZCVFcxQ0xFZEJRM2hETEU5QlFVOTZRaXhMUVVGTGQwSXNVVUZCVVd4Q0xFVkJRVTF0UWl4SlFVYzFRblJETEVWQlFWY3dRaXhWUVVGVk5rSXNTVUZCVFN4VFFVRlRaQ3hGUVVGaFF5eEZRVUZsUXl4RlFVRmxReXhGUVVGclFrTXNSMEZETDBZc1QwRkJUMmhETEV0QlFVc3lRaXhSUVVGUlF5eEZRVUZoUXl4RlFVRmxReXhGUVVGbFF5eEZRVUZyUWtNc1NVRkhia1kzUXl4RlFVRlhNRUlzVlVGQlZUaENMRWxCUVUwc1UwRkJVM0pETEVWQlFVMXRRaXhIUVVONFF5eFBRVUZQZWtJc1MwRkJTMmxETEU5QlFVOHpRaXhGUVVGTmJVSXNTVUZITTBKMFF5eEZRVUZYTUVJc1ZVRkJWU3RDTEV0QlFVOHNVMEZCVTNSRExFVkJRVTF0UWl4SFFVTjZReXhQUVVGUGVrSXNTMEZCUzJ0RExGRkJRVkUxUWl4RlFVRk5iVUlzU1VGSE5VSjBReXhGUVVGWE1FSXNWVUZCVldkRExFbEJRVTBzVTBGQlUzWkRMRVZCUVUxdFFpeEhRVU40UXl4UFFVRlBla0lzUzBGQlMyMURMRk5CUVZNM1FpeEZRVUZOYlVJc1NVRkhOMEowUXl4RlFVRlhNRUlzVlVGQlZXbERMRWRCUVVzc1YwRkRlRUlzVDBGQlR6bERMRXRCUVVzclF5eFJRVUZWTDBNc1MwRkJTMDhzWjBKQlJ6ZENjRUlzUlVGQlZ6QkNMRlZCUVZWdFF5eFpRVUZqTEZOQlFWTkRMRWRCUXpGRExGRkJRVXM1UkN4RlFVRlhWU3hWUVVGVmJVUXNXVUZCV1VVc1RVRkJUV3hFTEV0QlFVMXRSQ3hYUVVGWFNDeFpRVUZaUXl4TFFVZHlSVUVzUlVGQlN6TkRMRTlCUVZOT0xFdEJRVXROTEU5QlIyNUNNa01zUlVGQlMwY3NWMEZCWVhCRUxFdEJRVXR2UkN4VlFVZDJRa2dzUlVGQlMwa3NWMEZCWVhKRUxFdEJRVXR4UkN4WlFVMTBRbXhGTEVWQkwwcHhRaXhMUVcxTE4wSlpMRXRCUVV0RElpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMMjFoYzNSbGNpOXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTk0Yld4aWRXbHNaR1Z5TDJ4cFlpOVlUVXhFYjJOVWVYQmxMbXB6SW4wPSIsIihmdW5jdGlvbigpe3ZhciB0LGUsbyxuLHIsaSxwLGg9e30uaGFzT3duUHJvcGVydHk7cD1yZXF1aXJlKFwiLi9VdGlsaXR5XCIpLmlzUGxhaW5PYmplY3Qsbz1yZXF1aXJlKFwiLi9YTUxET01JbXBsZW1lbnRhdGlvblwiKSxlPXJlcXVpcmUoXCIuL1hNTERPTUNvbmZpZ3VyYXRpb25cIiksbj1yZXF1aXJlKFwiLi9YTUxOb2RlXCIpLHQ9cmVxdWlyZShcIi4vTm9kZVR5cGVcIiksaT1yZXF1aXJlKFwiLi9YTUxTdHJpbmdpZmllclwiKSxyPXJlcXVpcmUoXCIuL1hNTFN0cmluZ1dyaXRlclwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihzKXtmdW5jdGlvbiB1KG8pe3UuX19zdXBlcl9fLmNvbnN0cnVjdG9yLmNhbGwodGhpcyxudWxsKSx0aGlzLm5hbWU9XCIjZG9jdW1lbnRcIix0aGlzLnR5cGU9dC5Eb2N1bWVudCx0aGlzLmRvY3VtZW50VVJJPW51bGwsdGhpcy5kb21Db25maWc9bmV3IGUsb3x8KG89e30pLG8ud3JpdGVyfHwoby53cml0ZXI9bmV3IHIpLHRoaXMub3B0aW9ucz1vLHRoaXMuc3RyaW5naWZ5PW5ldyBpKG8pfXJldHVybiBmdW5jdGlvbih0LGUpe2Zvcih2YXIgbyBpbiBlKWguY2FsbChlLG8pJiYodFtvXT1lW29dKTtmdW5jdGlvbiBuKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fW4ucHJvdG90eXBlPWUucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyBuLHQuX19zdXBlcl9fPWUucHJvdG90eXBlfSh1LG4pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LnByb3RvdHlwZSxcImltcGxlbWVudGF0aW9uXCIse3ZhbHVlOm5ldyBvfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHUucHJvdG90eXBlLFwiZG9jdHlwZVwiLHtnZXQ6ZnVuY3Rpb24oKXt2YXIgZSxvLG4scjtmb3Iobz0wLG49KHI9dGhpcy5jaGlsZHJlbikubGVuZ3RoO288bjtvKyspaWYoKGU9cltvXSkudHlwZT09PXQuRG9jVHlwZSlyZXR1cm4gZTtyZXR1cm4gbnVsbH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodS5wcm90b3R5cGUsXCJkb2N1bWVudEVsZW1lbnRcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucm9vdE9iamVjdHx8bnVsbH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodS5wcm90b3R5cGUsXCJpbnB1dEVuY29kaW5nXCIse2dldDpmdW5jdGlvbigpe3JldHVybiBudWxsfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LnByb3RvdHlwZSxcInN0cmljdEVycm9yQ2hlY2tpbmdcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuITF9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHUucHJvdG90eXBlLFwieG1sRW5jb2RpbmdcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIDAhPT10aGlzLmNoaWxkcmVuLmxlbmd0aCYmdGhpcy5jaGlsZHJlblswXS50eXBlPT09dC5EZWNsYXJhdGlvbj90aGlzLmNoaWxkcmVuWzBdLmVuY29kaW5nOm51bGx9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHUucHJvdG90eXBlLFwieG1sU3RhbmRhbG9uZVwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gMCE9PXRoaXMuY2hpbGRyZW4ubGVuZ3RoJiZ0aGlzLmNoaWxkcmVuWzBdLnR5cGU9PT10LkRlY2xhcmF0aW9uJiZcInllc1wiPT09dGhpcy5jaGlsZHJlblswXS5zdGFuZGFsb25lfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LnByb3RvdHlwZSxcInhtbFZlcnNpb25cIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIDAhPT10aGlzLmNoaWxkcmVuLmxlbmd0aCYmdGhpcy5jaGlsZHJlblswXS50eXBlPT09dC5EZWNsYXJhdGlvbj90aGlzLmNoaWxkcmVuWzBdLnZlcnNpb246XCIxLjBcIn19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodS5wcm90b3R5cGUsXCJVUkxcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9jdW1lbnRVUkl9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHUucHJvdG90eXBlLFwib3JpZ2luXCIse2dldDpmdW5jdGlvbigpe3JldHVybiBudWxsfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LnByb3RvdHlwZSxcImNvbXBhdE1vZGVcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHUucHJvdG90eXBlLFwiY2hhcmFjdGVyU2V0XCIse2dldDpmdW5jdGlvbigpe3JldHVybiBudWxsfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LnByb3RvdHlwZSxcImNvbnRlbnRUeXBlXCIse2dldDpmdW5jdGlvbigpe3JldHVybiBudWxsfX0pLHUucHJvdG90eXBlLmVuZD1mdW5jdGlvbih0KXt2YXIgZTtyZXR1cm4gZT17fSx0P3AodCkmJihlPXQsdD10aGlzLm9wdGlvbnMud3JpdGVyKTp0PXRoaXMub3B0aW9ucy53cml0ZXIsdC5kb2N1bWVudCh0aGlzLHQuZmlsdGVyT3B0aW9ucyhlKSl9LHUucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMud3JpdGVyLmRvY3VtZW50KHRoaXMsdGhpcy5vcHRpb25zLndyaXRlci5maWx0ZXJPcHRpb25zKHQpKX0sdS5wcm90b3R5cGUuY3JlYXRlRWxlbWVudD1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5jcmVhdGVEb2N1bWVudEZyYWdtZW50PWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sdS5wcm90b3R5cGUuY3JlYXRlVGV4dE5vZGU9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sdS5wcm90b3R5cGUuY3JlYXRlQ29tbWVudD1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5jcmVhdGVDREFUQVNlY3Rpb249ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sdS5wcm90b3R5cGUuY3JlYXRlUHJvY2Vzc2luZ0luc3RydWN0aW9uPWZ1bmN0aW9uKHQsZSl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sdS5wcm90b3R5cGUuY3JlYXRlQXR0cmlidXRlPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHUucHJvdG90eXBlLmNyZWF0ZUVudGl0eVJlZmVyZW5jZT1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5nZXRFbGVtZW50c0J5VGFnTmFtZT1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5pbXBvcnROb2RlPWZ1bmN0aW9uKHQsZSl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sdS5wcm90b3R5cGUuY3JlYXRlRWxlbWVudE5TPWZ1bmN0aW9uKHQsZSl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sdS5wcm90b3R5cGUuY3JlYXRlQXR0cmlidXRlTlM9ZnVuY3Rpb24odCxlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5nZXRFbGVtZW50c0J5VGFnTmFtZU5TPWZ1bmN0aW9uKHQsZSl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sdS5wcm90b3R5cGUuZ2V0RWxlbWVudEJ5SWQ9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sdS5wcm90b3R5cGUuYWRvcHROb2RlPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHUucHJvdG90eXBlLm5vcm1hbGl6ZURvY3VtZW50PWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sdS5wcm90b3R5cGUucmVuYW1lTm9kZT1mdW5jdGlvbih0LGUsbyl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sdS5wcm90b3R5cGUuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZT1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5jcmVhdGVFdmVudD1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5jcmVhdGVSYW5nZT1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHUucHJvdG90eXBlLmNyZWF0ZU5vZGVJdGVyYXRvcj1mdW5jdGlvbih0LGUsbyl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sdS5wcm90b3R5cGUuY3JlYXRlVHJlZVdhbGtlcj1mdW5jdGlvbih0LGUsbyl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sdX0oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEVSdlkzVnRaVzUwTG1weklsMHNJbTVoYldWeklqcGJJazV2WkdWVWVYQmxJaXdpV0UxTVJFOU5RMjl1Wm1sbmRYSmhkR2x2YmlJc0lsaE5URVJQVFVsdGNHeGxiV1Z1ZEdGMGFXOXVJaXdpV0UxTVRtOWtaU0lzSWxoTlRGTjBjbWx1WjFkeWFYUmxjaUlzSWxoTlRGTjBjbWx1WjJsbWFXVnlJaXdpYVhOUWJHRnBiazlpYW1WamRDSXNJbWhoYzFCeWIzQWlMQ0pvWVhOUGQyNVFjbTl3WlhKMGVTSXNJbkpsY1hWcGNtVWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpYzNWd1pYSkRiR0Z6Y3lJc0lsaE5URVJ2WTNWdFpXNTBJaXdpYjNCMGFXOXVjeUlzSWw5ZmMzVndaWEpmWHlJc0ltTnZibk4wY25WamRHOXlJaXdpWTJGc2JDSXNJblJvYVhNaUxDSnVZVzFsSWl3aWRIbHdaU0lzSWtSdlkzVnRaVzUwSWl3aVpHOWpkVzFsYm5SVlVra2lMQ0prYjIxRGIyNW1hV2NpTENKM2NtbDBaWElpTENKemRISnBibWRwWm5raUxDSmphR2xzWkNJc0luQmhjbVZ1ZENJc0ltdGxlU0lzSW1OMGIzSWlMQ0p3Y205MGIzUjVjR1VpTENKbGVIUmxibVFpTENKUFltcGxZM1FpTENKa1pXWnBibVZRY205d1pYSjBlU0lzSW5aaGJIVmxJaXdpWjJWMElpd2lhU0lzSW14bGJpSXNJbkpsWmlJc0ltTm9hV3hrY21WdUlpd2liR1Z1WjNSb0lpd2lSRzlqVkhsd1pTSXNJbkp2YjNSUFltcGxZM1FpTENKRVpXTnNZWEpoZEdsdmJpSXNJbVZ1WTI5a2FXNW5JaXdpYzNSaGJtUmhiRzl1WlNJc0luWmxjbk5wYjI0aUxDSmxibVFpTENKM2NtbDBaWEpQY0hScGIyNXpJaXdpWkc5amRXMWxiblFpTENKbWFXeDBaWEpQY0hScGIyNXpJaXdpZEc5VGRISnBibWNpTENKamNtVmhkR1ZGYkdWdFpXNTBJaXdpZEdGblRtRnRaU0lzSWtWeWNtOXlJaXdpWkdWaWRXZEpibVp2SWl3aVkzSmxZWFJsUkc5amRXMWxiblJHY21GbmJXVnVkQ0lzSW1OeVpXRjBaVlJsZUhST2IyUmxJaXdpWkdGMFlTSXNJbU55WldGMFpVTnZiVzFsYm5RaUxDSmpjbVZoZEdWRFJFRlVRVk5sWTNScGIyNGlMQ0pqY21WaGRHVlFjbTlqWlhOemFXNW5TVzV6ZEhKMVkzUnBiMjRpTENKMFlYSm5aWFFpTENKamNtVmhkR1ZCZEhSeWFXSjFkR1VpTENKamNtVmhkR1ZGYm5ScGRIbFNaV1psY21WdVkyVWlMQ0puWlhSRmJHVnRaVzUwYzBKNVZHRm5UbUZ0WlNJc0luUmhaMjVoYldVaUxDSnBiWEJ2Y25ST2IyUmxJaXdpYVcxd2IzSjBaV1JPYjJSbElpd2laR1ZsY0NJc0ltTnlaV0YwWlVWc1pXMWxiblJPVXlJc0ltNWhiV1Z6Y0dGalpWVlNTU0lzSW5GMVlXeHBabWxsWkU1aGJXVWlMQ0pqY21WaGRHVkJkSFJ5YVdKMWRHVk9VeUlzSW1kbGRFVnNaVzFsYm5SelFubFVZV2RPWVcxbFRsTWlMQ0pzYjJOaGJFNWhiV1VpTENKblpYUkZiR1Z0Wlc1MFFubEpaQ0lzSW1Wc1pXMWxiblJKWkNJc0ltRmtiM0IwVG05a1pTSXNJbk52ZFhKalpTSXNJbTV2Y20xaGJHbDZaVVJ2WTNWdFpXNTBJaXdpY21WdVlXMWxUbTlrWlNJc0ltNXZaR1VpTENKblpYUkZiR1Z0Wlc1MGMwSjVRMnhoYzNOT1lXMWxJaXdpWTJ4aGMzTk9ZVzFsY3lJc0ltTnlaV0YwWlVWMlpXNTBJaXdpWlhabGJuUkpiblJsY21aaFkyVWlMQ0pqY21WaGRHVlNZVzVuWlNJc0ltTnlaV0YwWlU1dlpHVkpkR1Z5WVhSdmNpSXNJbkp2YjNRaUxDSjNhR0YwVkc5VGFHOTNJaXdpWm1sc2RHVnlJaXdpWTNKbFlYUmxWSEpsWlZkaGJHdGxjaUpkTENKdFlYQndhVzVuY3lJNklrTkJRMEVzVjBGRFJTeEpRVUZKUVN4RlFVRlZReXhGUVVGeFFrTXNSVUZCYlVORExFVkJRVk5ETEVWQlFXbENReXhGUVVGblFrTXNSVUZGT1VkRExFVkJRVlVzUjBGQlIwTXNaVUZGWmtZc1JVRkJaMEpITEZGQlFWRXNZVUZCWVVnc1kwRkZja05LTEVWQlFYVkNUeXhSUVVGUkxEQkNRVVV2UWxJc1JVRkJjMEpSTEZGQlFWRXNlVUpCUlRsQ1RpeEZRVUZWVFN4UlFVRlJMR0ZCUld4Q1ZDeEZRVUZYVXl4UlFVRlJMR05CUlc1Q1NpeEZRVUZwUWtrc1VVRkJVU3h2UWtGRmVrSk1MRVZCUVd0Q1N5eFJRVUZSTEhGQ1FVVXhRa01zVDBGQlQwTXNVVUZCZDBJc1UwRkJWVU1zUjBGSGRrTXNVMEZCVTBNc1JVRkJXVU1zUjBGRGJrSkVMRVZCUVZsRkxGVkJRVlZETEZsQlFWbERMRXRCUVV0RExFdEJRVTBzVFVGRE4wTkJMRXRCUVV0RExFdEJRVThzV1VGRFdrUXNTMEZCUzBVc1MwRkJUM0JDTEVWQlFWTnhRaXhUUVVOeVFrZ3NTMEZCUzBrc1dVRkJZeXhMUVVOdVFrb3NTMEZCUzBzc1ZVRkJXU3hKUVVGSmRFSXNSVUZEY2tKaExFbEJRVmxCTEVWQlFWVXNTVUZEYWtKQkxFVkJRVkZWTEZOQlExaFdMRVZCUVZGVkxFOUJRVk1zU1VGQlNYQkNMRWRCUlhaQ1l5eExRVUZMU2l4UlFVRlZRU3hGUVVObVNTeExRVUZMVHl4VlFVRlpMRWxCUVVsd1FpeEZRVUZsVXl4SFFUSk5kRU1zVDBFeFQxTXNVMEZCVTFrc1JVRkJUME1zUjBGQlZTeEpRVUZMTEVsQlFVbERMRXRCUVU5RUxFVkJRV053UWl4RlFVRlJWU3hMUVVGTFZTeEZRVUZSUXl4TFFVRk5SaXhGUVVGTlJTeEhRVUZQUkN4RlFVRlBReXhKUVVGUkxGTkJRVk5ETEVsQlFWTllMRXRCUVV0R0xGbEJRV05WTEVWQlFWTkhMRVZCUVV0RExGVkJRVmxJTEVWQlFVOUhMRlZCUVZkS0xFVkJRVTFKTEZWQlFWa3NTVUZCU1VRc1JVRkJVVWdzUlVGQlRWZ3NWVUZCV1Zrc1JVRkJUMGNzVlVGclFtaFJReXhEUVVGUGJFSXNSVUV3VGs1V0xFZEJNVTFFTmtJc1QwRkJUME1zWlVGQlpYQkNMRVZCUVZscFFpeFZRVUZYTEdsQ1FVRnJRaXhEUVVNM1JFa3NUVUZCVHl4SlFVRkphRU1zU1VGSFlqaENMRTlCUVU5RExHVkJRV1Z3UWl4RlFVRlphVUlzVlVGQlZ5eFZRVUZYTEVOQlEzUkVTeXhKUVVGTExGZEJRMGdzU1VGQlNWUXNSVUZCVDFVc1JVRkJSME1zUlVGQlMwTXNSVUZGYmtJc1NVRkJTMFlzUlVGQlNTeEZRVUZIUXl4SFFVUmFReXhGUVVGTmNFSXNTMEZCUzNGQ0xGVkJRMWRETEU5QlFWRktMRVZCUVVsRExFVkJRVXRFTEVsQlJYSkRMRWxCUkVGV0xFVkJRVkZaTEVWQlFVbEdMRWxCUTBab1FpeFBRVUZUY0VJc1JVRkJVM2xETEZGQlF6RkNMRTlCUVU5bUxFVkJSMWdzVDBGQlR5eFJRVWxZVFN4UFFVRlBReXhsUVVGbGNFSXNSVUZCV1dsQ0xGVkJRVmNzYTBKQlFXMUNMRU5CUXpsRVN5eEpRVUZMTEZkQlEwZ3NUMEZCVDJwQ0xFdEJRVXQzUWl4WlFVRmpMRkZCU1RsQ1ZpeFBRVUZQUXl4bFFVRmxjRUlzUlVGQldXbENMRlZCUVZjc1owSkJRV2xDTEVOQlF6VkVTeXhKUVVGTExGZEJRMGdzVDBGQlR5eFJRVWxZU0N4UFFVRlBReXhsUVVGbGNFSXNSVUZCV1dsQ0xGVkJRVmNzYzBKQlFYVkNMRU5CUTJ4RlN5eEpRVUZMTEZkQlEwZ3NUMEZCVHl4TFFVbFlTQ3hQUVVGUFF5eGxRVUZsY0VJc1JVRkJXV2xDTEZWQlFWY3NZMEZCWlN4RFFVTXhSRXNzU1VGQlN5eFhRVU5JTEU5QlFUWkNMRWxCUVhwQ2FrSXNTMEZCUzNGQ0xGTkJRVk5ETEZGQlFXZENkRUlzUzBGQlMzRkNMRk5CUVZNc1IwRkJSMjVDTEU5QlFWTndRaXhGUVVGVE1rTXNXVUZETlVSNlFpeExRVUZMY1VJc1UwRkJVeXhIUVVGSFN5eFRRVVZxUWl4UlFVdGlXaXhQUVVGUFF5eGxRVUZsY0VJc1JVRkJXV2xDTEZWQlFWY3NaMEpCUVdsQ0xFTkJRelZFU3l4SlFVRkxMRmRCUTBnc1QwRkJOa0lzU1VGQmVrSnFRaXhMUVVGTGNVSXNVMEZCVTBNc1VVRkJaMEowUWl4TFFVRkxjVUlzVTBGQlV5eEhRVUZIYmtJc1QwRkJVM0JDTEVWQlFWTXlReXhoUVVNMVFpeFJRVUZvUTNwQ0xFdEJRVXR4UWl4VFFVRlRMRWRCUVVkTkxHTkJUemxDWWl4UFFVRlBReXhsUVVGbGNFSXNSVUZCV1dsQ0xGVkJRVmNzWVVGQll5eERRVU42UkVzc1NVRkJTeXhYUVVOSUxFOUJRVFpDTEVsQlFYcENha0lzUzBGQlMzRkNMRk5CUVZORExGRkJRV2RDZEVJc1MwRkJTM0ZDTEZOQlFWTXNSMEZCUjI1Q0xFOUJRVk53UWl4RlFVRlRNa01zV1VGRE5VUjZRaXhMUVVGTGNVSXNVMEZCVXl4SFFVRkhUeXhSUVVWcVFpeFRRVXRpWkN4UFFVRlBReXhsUVVGbGNFSXNSVUZCV1dsQ0xGVkJRVmNzVFVGQlR5eERRVU5zUkVzc1NVRkJTeXhYUVVOSUxFOUJRVTlxUWl4TFFVRkxTU3hsUVVsb1FsVXNUMEZCVDBNc1pVRkJaWEJDTEVWQlFWbHBRaXhWUVVGWExGTkJRVlVzUTBGRGNrUkxMRWxCUVVzc1YwRkRTQ3hQUVVGUExGRkJTVmhJTEU5QlFVOURMR1ZCUVdWd1FpeEZRVUZaYVVJc1ZVRkJWeXhoUVVGakxFTkJRM3BFU3l4SlFVRkxMRmRCUTBnc1QwRkJUeXhSUVVsWVNDeFBRVUZQUXl4bFFVRmxjRUlzUlVGQldXbENMRlZCUVZjc1pVRkJaMElzUTBGRE0wUkxMRWxCUVVzc1YwRkRTQ3hQUVVGUExGRkJTVmhJTEU5QlFVOURMR1ZCUVdWd1FpeEZRVUZaYVVJc1ZVRkJWeXhqUVVGbExFTkJRekZFU3l4SlFVRkxMRmRCUTBnc1QwRkJUeXhSUVVsWWRFSXNSVUZCV1dsQ0xGVkJRVlZwUWl4SlFVRk5MRk5CUVZOMlFpeEhRVU51UXl4SlFVRkpkMElzUlVGUlNpeFBRVkJCUVN4RlFVRm5RaXhIUVVOWWVFSXNSVUZGVFd4Q0xFVkJRV05yUWl4TFFVTjJRbmRDTEVWQlFXZENlRUlzUlVGRGFFSkJMRVZCUVZOT0xFdEJRVXRLTEZGQlFWRlZMRkZCU0hSQ1FTeEZRVUZUVGl4TFFVRkxTaXhSUVVGUlZTeFBRVXRxUWtFc1JVRkJUM2xDTEZOQlFWTXZRaXhMUVVGTlRTeEZRVUZQTUVJc1kwRkJZMFlzUzBGSGNFUnVReXhGUVVGWmFVSXNWVUZCVlhGQ0xGTkJRVmNzVTBGQlUzSkRMRWRCUTNoRExFOUJRVTlKTEV0QlFVdEtMRkZCUVZGVkxFOUJRVTk1UWl4VFFVRlRMMElzUzBGQlRVRXNTMEZCUzBvc1VVRkJVVlVzVDBGQlR6QkNMR05CUVdOd1F5eExRVWM1UlVRc1JVRkJXV2xDTEZWQlFWVnpRaXhqUVVGblFpeFRRVUZUUXl4SFFVTTNReXhOUVVGTkxFbEJRVWxETEUxQlFVMHNjME5CUVhkRGNFTXNTMEZCUzNGRExHTkJSeTlFTVVNc1JVRkJXV2xDTEZWQlFWVXdRaXgxUWtGQmVVSXNWMEZETjBNc1RVRkJUU3hKUVVGSlJpeE5RVUZOTEhORFFVRjNRM0JETEV0QlFVdHhReXhqUVVjdlJERkRMRVZCUVZscFFpeFZRVUZWTWtJc1pVRkJhVUlzVTBGQlUwTXNSMEZET1VNc1RVRkJUU3hKUVVGSlNpeE5RVUZOTEhORFFVRjNRM0JETEV0QlFVdHhReXhqUVVjdlJERkRMRVZCUVZscFFpeFZRVUZWTmtJc1kwRkJaMElzVTBGQlUwUXNSMEZETjBNc1RVRkJUU3hKUVVGSlNpeE5RVUZOTEhORFFVRjNRM0JETEV0QlFVdHhReXhqUVVjdlJERkRMRVZCUVZscFFpeFZRVUZWT0VJc2JVSkJRWEZDTEZOQlFWTkdMRWRCUTJ4RUxFMUJRVTBzU1VGQlNVb3NUVUZCVFN4elEwRkJkME53UXl4TFFVRkxjVU1zWTBGSEwwUXhReXhGUVVGWmFVSXNWVUZCVlN0Q0xEUkNRVUU0UWl4VFFVRlRReXhGUVVGUlNpeEhRVU51UlN4TlFVRk5MRWxCUVVsS0xFMUJRVTBzYzBOQlFYZERjRU1zUzBGQlMzRkRMR05CUnk5RU1VTXNSVUZCV1dsQ0xGVkJRVlZwUXl4blFrRkJhMElzVTBGQlV6VkRMRWRCUXk5RExFMUJRVTBzU1VGQlNXMURMRTFCUVUwc2MwTkJRWGREY0VNc1MwRkJTM0ZETEdOQlJ5OUVNVU1zUlVGQldXbENMRlZCUVZWclF5eHpRa0ZCZDBJc1UwRkJVemRETEVkQlEzSkVMRTFCUVUwc1NVRkJTVzFETEUxQlFVMHNjME5CUVhkRGNFTXNTMEZCUzNGRExHTkJSeTlFTVVNc1JVRkJXV2xDTEZWQlFWVnRReXh4UWtGQmRVSXNVMEZCVTBNc1IwRkRjRVFzVFVGQlRTeEpRVUZKV2l4TlFVRk5MSE5EUVVGM1EzQkRMRXRCUVV0eFF5eGpRVWN2UkRGRExFVkJRVmxwUWl4VlFVRlZjVU1zVjBGQllTeFRRVUZUUXl4RlFVRmpReXhIUVVONFJDeE5RVUZOTEVsQlFVbG1MRTFCUVUwc2MwTkJRWGREY0VNc1MwRkJTM0ZETEdOQlJ5OUVNVU1zUlVGQldXbENMRlZCUVZWM1F5eG5Ra0ZCYTBJc1UwRkJVME1zUlVGQlkwTXNSMEZETjBRc1RVRkJUU3hKUVVGSmJFSXNUVUZCVFN4elEwRkJkME53UXl4TFFVRkxjVU1zWTBGSEwwUXhReXhGUVVGWmFVSXNWVUZCVlRKRExHdENRVUZ2UWl4VFFVRlRSaXhGUVVGalF5eEhRVU12UkN4TlFVRk5MRWxCUVVsc1FpeE5RVUZOTEhORFFVRjNRM0JETEV0QlFVdHhReXhqUVVjdlJERkRMRVZCUVZscFFpeFZRVUZWTkVNc2RVSkJRWGxDTEZOQlFWTklMRVZCUVdOSkxFZEJRM0JGTEUxQlFVMHNTVUZCU1hKQ0xFMUJRVTBzYzBOQlFYZERjRU1zUzBGQlMzRkRMR05CUnk5RU1VTXNSVUZCV1dsQ0xGVkJRVlU0UXl4bFFVRnBRaXhUUVVGVFF5eEhRVU01UXl4TlFVRk5MRWxCUVVsMlFpeE5RVUZOTEhORFFVRjNRM0JETEV0QlFVdHhReXhqUVVjdlJERkRMRVZCUVZscFFpeFZRVUZWWjBRc1ZVRkJXU3hUUVVGVFF5eEhRVU42UXl4TlFVRk5MRWxCUVVsNlFpeE5RVUZOTEhORFFVRjNRM0JETEV0QlFVdHhReXhqUVVjdlJERkRMRVZCUVZscFFpeFZRVUZWYTBRc2EwSkJRVzlDTEZkQlEzaERMRTFCUVUwc1NVRkJTVEZDTEUxQlFVMHNjME5CUVhkRGNFTXNTMEZCUzNGRExHTkJSeTlFTVVNc1JVRkJXV2xDTEZWQlFWVnRSQ3hYUVVGaExGTkJRVk5ETEVWQlFVMVlMRVZCUVdORExFZEJRemxFTEUxQlFVMHNTVUZCU1d4Q0xFMUJRVTBzYzBOQlFYZERjRU1zUzBGQlMzRkRMR05CUnk5RU1VTXNSVUZCV1dsQ0xGVkJRVlZ4UkN4MVFrRkJlVUlzVTBGQlUwTXNSMEZEZEVRc1RVRkJUU3hKUVVGSk9VSXNUVUZCVFN4elEwRkJkME53UXl4TFFVRkxjVU1zWTBGSEwwUXhReXhGUVVGWmFVSXNWVUZCVlhWRUxGbEJRV01zVTBGQlUwTXNSMEZETTBNc1RVRkJUU3hKUVVGSmFFTXNUVUZCVFN4elEwRkJkME53UXl4TFFVRkxjVU1zWTBGSEwwUXhReXhGUVVGWmFVSXNWVUZCVlhsRUxGbEJRV01zVjBGRGJFTXNUVUZCVFN4SlFVRkpha01zVFVGQlRTeHpRMEZCZDBOd1F5eExRVUZMY1VNc1kwRkhMMFF4UXl4RlFVRlphVUlzVlVGQlZUQkVMRzFDUVVGeFFpeFRRVUZUUXl4RlFVRk5ReXhGUVVGWlF5eEhRVU53UlN4TlFVRk5MRWxCUVVseVF5eE5RVUZOTEhORFFVRjNRM0JETEV0QlFVdHhReXhqUVVjdlJERkRMRVZCUVZscFFpeFZRVUZWT0VRc2FVSkJRVzFDTEZOQlFWTklMRVZCUVUxRExFVkJRVmxETEVkQlEyeEZMRTFCUVUwc1NVRkJTWEpETEUxQlFVMHNjME5CUVhkRGNFTXNTMEZCUzNGRExHTkJSM2hFTVVNc1JVRjZUbk5DTEV0Qk5rNDVRa2tzUzBGQlMwTWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YldGemRHVnlMM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDNodGJHSjFhV3hrWlhJdmJHbGlMMWhOVEVSdlkzVnRaVzUwTG1wekluMD0iLCIoZnVuY3Rpb24oKXt2YXIgdCxlLHIsaSxuLG8scyxoLHUsYyxhLHAsbCxkLHcseSxmLHYsTCxtLE4sRCxPLGI9e30uaGFzT3duUHJvcGVydHk7Tz1yZXF1aXJlKFwiLi9VdGlsaXR5XCIpLE49Ty5pc09iamVjdCxtPU8uaXNGdW5jdGlvbixEPU8uaXNQbGFpbk9iamVjdCxMPU8uZ2V0VmFsdWUsdD1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxwPXJlcXVpcmUoXCIuL1hNTERvY3VtZW50XCIpLGw9cmVxdWlyZShcIi4vWE1MRWxlbWVudFwiKSxpPXJlcXVpcmUoXCIuL1hNTENEYXRhXCIpLG49cmVxdWlyZShcIi4vWE1MQ29tbWVudFwiKSx3PXJlcXVpcmUoXCIuL1hNTFJhd1wiKSx2PXJlcXVpcmUoXCIuL1hNTFRleHRcIiksZD1yZXF1aXJlKFwiLi9YTUxQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25cIiksYz1yZXF1aXJlKFwiLi9YTUxEZWNsYXJhdGlvblwiKSxhPXJlcXVpcmUoXCIuL1hNTERvY1R5cGVcIiksbz1yZXF1aXJlKFwiLi9YTUxEVERBdHRMaXN0XCIpLGg9cmVxdWlyZShcIi4vWE1MRFRERW50aXR5XCIpLHM9cmVxdWlyZShcIi4vWE1MRFRERWxlbWVudFwiKSx1PXJlcXVpcmUoXCIuL1hNTERURE5vdGF0aW9uXCIpLHI9cmVxdWlyZShcIi4vWE1MQXR0cmlidXRlXCIpLGY9cmVxdWlyZShcIi4vWE1MU3RyaW5naWZpZXJcIikseT1yZXF1aXJlKFwiLi9YTUxTdHJpbmdXcml0ZXJcIiksZT1yZXF1aXJlKFwiLi9Xcml0ZXJTdGF0ZVwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbigpe2Z1bmN0aW9uIE8oZSxyLGkpe3ZhciBuO3RoaXMubmFtZT1cIj94bWxcIix0aGlzLnR5cGU9dC5Eb2N1bWVudCxlfHwoZT17fSksbj17fSxlLndyaXRlcj9EKGUud3JpdGVyKSYmKG49ZS53cml0ZXIsZS53cml0ZXI9bmV3IHkpOmUud3JpdGVyPW5ldyB5LHRoaXMub3B0aW9ucz1lLHRoaXMud3JpdGVyPWUud3JpdGVyLHRoaXMud3JpdGVyT3B0aW9ucz10aGlzLndyaXRlci5maWx0ZXJPcHRpb25zKG4pLHRoaXMuc3RyaW5naWZ5PW5ldyBmKGUpLHRoaXMub25EYXRhQ2FsbGJhY2s9cnx8ZnVuY3Rpb24oKXt9LHRoaXMub25FbmRDYWxsYmFjaz1pfHxmdW5jdGlvbigpe30sdGhpcy5jdXJyZW50Tm9kZT1udWxsLHRoaXMuY3VycmVudExldmVsPS0xLHRoaXMub3BlblRhZ3M9e30sdGhpcy5kb2N1bWVudFN0YXJ0ZWQ9ITEsdGhpcy5kb2N1bWVudENvbXBsZXRlZD0hMSx0aGlzLnJvb3Q9bnVsbH1yZXR1cm4gTy5wcm90b3R5cGUuY3JlYXRlQ2hpbGROb2RlPWZ1bmN0aW9uKGUpe3ZhciByLGksbixvLHMsaCx1LGM7c3dpdGNoKGUudHlwZSl7Y2FzZSB0LkNEYXRhOnRoaXMuY2RhdGEoZS52YWx1ZSk7YnJlYWs7Y2FzZSB0LkNvbW1lbnQ6dGhpcy5jb21tZW50KGUudmFsdWUpO2JyZWFrO2Nhc2UgdC5FbGVtZW50OmZvcihpIGluIG49e30sdT1lLmF0dHJpYnMpYi5jYWxsKHUsaSkmJihyPXVbaV0sbltpXT1yLnZhbHVlKTt0aGlzLm5vZGUoZS5uYW1lLG4pO2JyZWFrO2Nhc2UgdC5EdW1teTp0aGlzLmR1bW15KCk7YnJlYWs7Y2FzZSB0LlJhdzp0aGlzLnJhdyhlLnZhbHVlKTticmVhaztjYXNlIHQuVGV4dDp0aGlzLnRleHQoZS52YWx1ZSk7YnJlYWs7Y2FzZSB0LlByb2Nlc3NpbmdJbnN0cnVjdGlvbjp0aGlzLmluc3RydWN0aW9uKGUudGFyZ2V0LGUudmFsdWUpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBYTUwgbm9kZSB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQgaW4gYSBKUyBvYmplY3Q6IFwiK2UuY29uc3RydWN0b3IubmFtZSl9Zm9yKHM9MCxoPShjPWUuY2hpbGRyZW4pLmxlbmd0aDtzPGg7cysrKW89Y1tzXSx0aGlzLmNyZWF0ZUNoaWxkTm9kZShvKSxvLnR5cGU9PT10LkVsZW1lbnQmJnRoaXMudXAoKTtyZXR1cm4gdGhpc30sTy5wcm90b3R5cGUuZHVtbXk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sTy5wcm90b3R5cGUubm9kZT1mdW5jdGlvbih0LGUscil7dmFyIGk7aWYobnVsbD09dCl0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIG5vZGUgbmFtZS5cIik7aWYodGhpcy5yb290JiYtMT09PXRoaXMuY3VycmVudExldmVsKXRocm93IG5ldyBFcnJvcihcIkRvY3VtZW50IGNhbiBvbmx5IGhhdmUgb25lIHJvb3Qgbm9kZS4gXCIrdGhpcy5kZWJ1Z0luZm8odCkpO3JldHVybiB0aGlzLm9wZW5DdXJyZW50KCksdD1MKHQpLG51bGw9PWUmJihlPXt9KSxlPUwoZSksTihlKXx8KHI9KGk9W2Uscl0pWzBdLGU9aVsxXSksdGhpcy5jdXJyZW50Tm9kZT1uZXcgbCh0aGlzLHQsZSksdGhpcy5jdXJyZW50Tm9kZS5jaGlsZHJlbj0hMSx0aGlzLmN1cnJlbnRMZXZlbCsrLHRoaXMub3BlblRhZ3NbdGhpcy5jdXJyZW50TGV2ZWxdPXRoaXMuY3VycmVudE5vZGUsbnVsbCE9ciYmdGhpcy50ZXh0KHIpLHRoaXN9LE8ucHJvdG90eXBlLmVsZW1lbnQ9ZnVuY3Rpb24oZSxyLGkpe3ZhciBuLG8scyxoLHUsYztpZih0aGlzLmN1cnJlbnROb2RlJiZ0aGlzLmN1cnJlbnROb2RlLnR5cGU9PT10LkRvY1R5cGUpdGhpcy5kdGRFbGVtZW50LmFwcGx5KHRoaXMsYXJndW1lbnRzKTtlbHNlIGlmKEFycmF5LmlzQXJyYXkoZSl8fE4oZSl8fG0oZSkpZm9yKGg9dGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbix0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uPSEwLChjPW5ldyBwKHRoaXMub3B0aW9ucykuZWxlbWVudChcIlRFTVBfUk9PVFwiKSkuZWxlbWVudChlKSx0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uPWgsbz0wLHM9KHU9Yy5jaGlsZHJlbikubGVuZ3RoO288cztvKyspbj11W29dLHRoaXMuY3JlYXRlQ2hpbGROb2RlKG4pLG4udHlwZT09PXQuRWxlbWVudCYmdGhpcy51cCgpO2Vsc2UgdGhpcy5ub2RlKGUscixpKTtyZXR1cm4gdGhpc30sTy5wcm90b3R5cGUuYXR0cmlidXRlPWZ1bmN0aW9uKHQsZSl7dmFyIGksbjtpZighdGhpcy5jdXJyZW50Tm9kZXx8dGhpcy5jdXJyZW50Tm9kZS5jaGlsZHJlbil0aHJvdyBuZXcgRXJyb3IoXCJhdHQoKSBjYW4gb25seSBiZSB1c2VkIGltbWVkaWF0ZWx5IGFmdGVyIGFuIGVsZSgpIGNhbGwgaW4gY2FsbGJhY2sgbW9kZS4gXCIrdGhpcy5kZWJ1Z0luZm8odCkpO2lmKG51bGwhPXQmJih0PUwodCkpLE4odCkpZm9yKGkgaW4gdCliLmNhbGwodCxpKSYmKG49dFtpXSx0aGlzLmF0dHJpYnV0ZShpLG4pKTtlbHNlIG0oZSkmJihlPWUuYXBwbHkoKSksdGhpcy5vcHRpb25zLmtlZXBOdWxsQXR0cmlidXRlcyYmbnVsbD09ZT90aGlzLmN1cnJlbnROb2RlLmF0dHJpYnNbdF09bmV3IHIodGhpcyx0LFwiXCIpOm51bGwhPWUmJih0aGlzLmN1cnJlbnROb2RlLmF0dHJpYnNbdF09bmV3IHIodGhpcyx0LGUpKTtyZXR1cm4gdGhpc30sTy5wcm90b3R5cGUudGV4dD1mdW5jdGlvbih0KXt2YXIgZTtyZXR1cm4gdGhpcy5vcGVuQ3VycmVudCgpLGU9bmV3IHYodGhpcyx0KSx0aGlzLm9uRGF0YSh0aGlzLndyaXRlci50ZXh0KGUsdGhpcy53cml0ZXJPcHRpb25zLHRoaXMuY3VycmVudExldmVsKzEpLHRoaXMuY3VycmVudExldmVsKzEpLHRoaXN9LE8ucHJvdG90eXBlLmNkYXRhPWZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybiB0aGlzLm9wZW5DdXJyZW50KCksZT1uZXcgaSh0aGlzLHQpLHRoaXMub25EYXRhKHRoaXMud3JpdGVyLmNkYXRhKGUsdGhpcy53cml0ZXJPcHRpb25zLHRoaXMuY3VycmVudExldmVsKzEpLHRoaXMuY3VycmVudExldmVsKzEpLHRoaXN9LE8ucHJvdG90eXBlLmNvbW1lbnQ9ZnVuY3Rpb24odCl7dmFyIGU7cmV0dXJuIHRoaXMub3BlbkN1cnJlbnQoKSxlPW5ldyBuKHRoaXMsdCksdGhpcy5vbkRhdGEodGhpcy53cml0ZXIuY29tbWVudChlLHRoaXMud3JpdGVyT3B0aW9ucyx0aGlzLmN1cnJlbnRMZXZlbCsxKSx0aGlzLmN1cnJlbnRMZXZlbCsxKSx0aGlzfSxPLnByb3RvdHlwZS5yYXc9ZnVuY3Rpb24odCl7dmFyIGU7cmV0dXJuIHRoaXMub3BlbkN1cnJlbnQoKSxlPW5ldyB3KHRoaXMsdCksdGhpcy5vbkRhdGEodGhpcy53cml0ZXIucmF3KGUsdGhpcy53cml0ZXJPcHRpb25zLHRoaXMuY3VycmVudExldmVsKzEpLHRoaXMuY3VycmVudExldmVsKzEpLHRoaXN9LE8ucHJvdG90eXBlLmluc3RydWN0aW9uPWZ1bmN0aW9uKHQsZSl7dmFyIHIsaSxuLG8scztpZih0aGlzLm9wZW5DdXJyZW50KCksbnVsbCE9dCYmKHQ9TCh0KSksbnVsbCE9ZSYmKGU9TChlKSksQXJyYXkuaXNBcnJheSh0KSlmb3Iocj0wLG89dC5sZW5ndGg7cjxvO3IrKylpPXRbcl0sdGhpcy5pbnN0cnVjdGlvbihpKTtlbHNlIGlmKE4odCkpZm9yKGkgaW4gdCliLmNhbGwodCxpKSYmKG49dFtpXSx0aGlzLmluc3RydWN0aW9uKGksbikpO2Vsc2UgbShlKSYmKGU9ZS5hcHBseSgpKSxzPW5ldyBkKHRoaXMsdCxlKSx0aGlzLm9uRGF0YSh0aGlzLndyaXRlci5wcm9jZXNzaW5nSW5zdHJ1Y3Rpb24ocyx0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpcy5jdXJyZW50TGV2ZWwrMSk7cmV0dXJuIHRoaXN9LE8ucHJvdG90eXBlLmRlY2xhcmF0aW9uPWZ1bmN0aW9uKHQsZSxyKXt2YXIgaTtpZih0aGlzLm9wZW5DdXJyZW50KCksdGhpcy5kb2N1bWVudFN0YXJ0ZWQpdGhyb3cgbmV3IEVycm9yKFwiZGVjbGFyYXRpb24oKSBtdXN0IGJlIHRoZSBmaXJzdCBub2RlLlwiKTtyZXR1cm4gaT1uZXcgYyh0aGlzLHQsZSxyKSx0aGlzLm9uRGF0YSh0aGlzLndyaXRlci5kZWNsYXJhdGlvbihpLHRoaXMud3JpdGVyT3B0aW9ucyx0aGlzLmN1cnJlbnRMZXZlbCsxKSx0aGlzLmN1cnJlbnRMZXZlbCsxKSx0aGlzfSxPLnByb3RvdHlwZS5kb2N0eXBlPWZ1bmN0aW9uKHQsZSxyKXtpZih0aGlzLm9wZW5DdXJyZW50KCksbnVsbD09dCl0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIHJvb3Qgbm9kZSBuYW1lLlwiKTtpZih0aGlzLnJvb3QpdGhyb3cgbmV3IEVycm9yKFwiZHRkKCkgbXVzdCBjb21lIGJlZm9yZSB0aGUgcm9vdCBub2RlLlwiKTtyZXR1cm4gdGhpcy5jdXJyZW50Tm9kZT1uZXcgYSh0aGlzLGUsciksdGhpcy5jdXJyZW50Tm9kZS5yb290Tm9kZU5hbWU9dCx0aGlzLmN1cnJlbnROb2RlLmNoaWxkcmVuPSExLHRoaXMuY3VycmVudExldmVsKyssdGhpcy5vcGVuVGFnc1t0aGlzLmN1cnJlbnRMZXZlbF09dGhpcy5jdXJyZW50Tm9kZSx0aGlzfSxPLnByb3RvdHlwZS5kdGRFbGVtZW50PWZ1bmN0aW9uKHQsZSl7dmFyIHI7cmV0dXJuIHRoaXMub3BlbkN1cnJlbnQoKSxyPW5ldyBzKHRoaXMsdCxlKSx0aGlzLm9uRGF0YSh0aGlzLndyaXRlci5kdGRFbGVtZW50KHIsdGhpcy53cml0ZXJPcHRpb25zLHRoaXMuY3VycmVudExldmVsKzEpLHRoaXMuY3VycmVudExldmVsKzEpLHRoaXN9LE8ucHJvdG90eXBlLmF0dExpc3Q9ZnVuY3Rpb24odCxlLHIsaSxuKXt2YXIgcztyZXR1cm4gdGhpcy5vcGVuQ3VycmVudCgpLHM9bmV3IG8odGhpcyx0LGUscixpLG4pLHRoaXMub25EYXRhKHRoaXMud3JpdGVyLmR0ZEF0dExpc3Qocyx0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpc30sTy5wcm90b3R5cGUuZW50aXR5PWZ1bmN0aW9uKHQsZSl7dmFyIHI7cmV0dXJuIHRoaXMub3BlbkN1cnJlbnQoKSxyPW5ldyBoKHRoaXMsITEsdCxlKSx0aGlzLm9uRGF0YSh0aGlzLndyaXRlci5kdGRFbnRpdHkocix0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpc30sTy5wcm90b3R5cGUucEVudGl0eT1mdW5jdGlvbih0LGUpe3ZhciByO3JldHVybiB0aGlzLm9wZW5DdXJyZW50KCkscj1uZXcgaCh0aGlzLCEwLHQsZSksdGhpcy5vbkRhdGEodGhpcy53cml0ZXIuZHRkRW50aXR5KHIsdGhpcy53cml0ZXJPcHRpb25zLHRoaXMuY3VycmVudExldmVsKzEpLHRoaXMuY3VycmVudExldmVsKzEpLHRoaXN9LE8ucHJvdG90eXBlLm5vdGF0aW9uPWZ1bmN0aW9uKHQsZSl7dmFyIHI7cmV0dXJuIHRoaXMub3BlbkN1cnJlbnQoKSxyPW5ldyB1KHRoaXMsdCxlKSx0aGlzLm9uRGF0YSh0aGlzLndyaXRlci5kdGROb3RhdGlvbihyLHRoaXMud3JpdGVyT3B0aW9ucyx0aGlzLmN1cnJlbnRMZXZlbCsxKSx0aGlzLmN1cnJlbnRMZXZlbCsxKSx0aGlzfSxPLnByb3RvdHlwZS51cD1mdW5jdGlvbigpe2lmKHRoaXMuY3VycmVudExldmVsPDApdGhyb3cgbmV3IEVycm9yKFwiVGhlIGRvY3VtZW50IG5vZGUgaGFzIG5vIHBhcmVudC5cIik7cmV0dXJuIHRoaXMuY3VycmVudE5vZGU/KHRoaXMuY3VycmVudE5vZGUuY2hpbGRyZW4/dGhpcy5jbG9zZU5vZGUodGhpcy5jdXJyZW50Tm9kZSk6dGhpcy5vcGVuTm9kZSh0aGlzLmN1cnJlbnROb2RlKSx0aGlzLmN1cnJlbnROb2RlPW51bGwpOnRoaXMuY2xvc2VOb2RlKHRoaXMub3BlblRhZ3NbdGhpcy5jdXJyZW50TGV2ZWxdKSxkZWxldGUgdGhpcy5vcGVuVGFnc1t0aGlzLmN1cnJlbnRMZXZlbF0sdGhpcy5jdXJyZW50TGV2ZWwtLSx0aGlzfSxPLnByb3RvdHlwZS5lbmQ9ZnVuY3Rpb24oKXtmb3IoO3RoaXMuY3VycmVudExldmVsPj0wOyl0aGlzLnVwKCk7cmV0dXJuIHRoaXMub25FbmQoKX0sTy5wcm90b3R5cGUub3BlbkN1cnJlbnQ9ZnVuY3Rpb24oKXtpZih0aGlzLmN1cnJlbnROb2RlKXJldHVybiB0aGlzLmN1cnJlbnROb2RlLmNoaWxkcmVuPSEwLHRoaXMub3Blbk5vZGUodGhpcy5jdXJyZW50Tm9kZSl9LE8ucHJvdG90eXBlLm9wZW5Ob2RlPWZ1bmN0aW9uKHIpe3ZhciBpLG4sbyxzO2lmKCFyLmlzT3Blbil7aWYodGhpcy5yb290fHwwIT09dGhpcy5jdXJyZW50TGV2ZWx8fHIudHlwZSE9PXQuRWxlbWVudHx8KHRoaXMucm9vdD1yKSxuPVwiXCIsci50eXBlPT09dC5FbGVtZW50KXtmb3IobyBpbiB0aGlzLndyaXRlck9wdGlvbnMuc3RhdGU9ZS5PcGVuVGFnLG49dGhpcy53cml0ZXIuaW5kZW50KHIsdGhpcy53cml0ZXJPcHRpb25zLHRoaXMuY3VycmVudExldmVsKStcIjxcIityLm5hbWUscz1yLmF0dHJpYnMpYi5jYWxsKHMsbykmJihpPXNbb10sbis9dGhpcy53cml0ZXIuYXR0cmlidXRlKGksdGhpcy53cml0ZXJPcHRpb25zLHRoaXMuY3VycmVudExldmVsKSk7bis9KHIuY2hpbGRyZW4/XCI+XCI6XCIvPlwiKSt0aGlzLndyaXRlci5lbmRsaW5lKHIsdGhpcy53cml0ZXJPcHRpb25zLHRoaXMuY3VycmVudExldmVsKSx0aGlzLndyaXRlck9wdGlvbnMuc3RhdGU9ZS5JbnNpZGVUYWd9ZWxzZSB0aGlzLndyaXRlck9wdGlvbnMuc3RhdGU9ZS5PcGVuVGFnLG49dGhpcy53cml0ZXIuaW5kZW50KHIsdGhpcy53cml0ZXJPcHRpb25zLHRoaXMuY3VycmVudExldmVsKStcIjwhRE9DVFlQRSBcIityLnJvb3ROb2RlTmFtZSxyLnB1YklEJiZyLnN5c0lEP24rPScgUFVCTElDIFwiJytyLnB1YklEKydcIiBcIicrci5zeXNJRCsnXCInOnIuc3lzSUQmJihuKz0nIFNZU1RFTSBcIicrci5zeXNJRCsnXCInKSxyLmNoaWxkcmVuPyhuKz1cIiBbXCIsdGhpcy53cml0ZXJPcHRpb25zLnN0YXRlPWUuSW5zaWRlVGFnKToodGhpcy53cml0ZXJPcHRpb25zLnN0YXRlPWUuQ2xvc2VUYWcsbis9XCI+XCIpLG4rPXRoaXMud3JpdGVyLmVuZGxpbmUocix0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwpO3JldHVybiB0aGlzLm9uRGF0YShuLHRoaXMuY3VycmVudExldmVsKSxyLmlzT3Blbj0hMH19LE8ucHJvdG90eXBlLmNsb3NlTm9kZT1mdW5jdGlvbihyKXt2YXIgaTtpZighci5pc0Nsb3NlZClyZXR1cm4gaT1cIlwiLHRoaXMud3JpdGVyT3B0aW9ucy5zdGF0ZT1lLkNsb3NlVGFnLGk9ci50eXBlPT09dC5FbGVtZW50P3RoaXMud3JpdGVyLmluZGVudChyLHRoaXMud3JpdGVyT3B0aW9ucyx0aGlzLmN1cnJlbnRMZXZlbCkrXCI8L1wiK3IubmFtZStcIj5cIit0aGlzLndyaXRlci5lbmRsaW5lKHIsdGhpcy53cml0ZXJPcHRpb25zLHRoaXMuY3VycmVudExldmVsKTp0aGlzLndyaXRlci5pbmRlbnQocix0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwpK1wiXT5cIit0aGlzLndyaXRlci5lbmRsaW5lKHIsdGhpcy53cml0ZXJPcHRpb25zLHRoaXMuY3VycmVudExldmVsKSx0aGlzLndyaXRlck9wdGlvbnMuc3RhdGU9ZS5Ob25lLHRoaXMub25EYXRhKGksdGhpcy5jdXJyZW50TGV2ZWwpLHIuaXNDbG9zZWQ9ITB9LE8ucHJvdG90eXBlLm9uRGF0YT1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmRvY3VtZW50U3RhcnRlZD0hMCx0aGlzLm9uRGF0YUNhbGxiYWNrKHQsZSsxKX0sTy5wcm90b3R5cGUub25FbmQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb2N1bWVudENvbXBsZXRlZD0hMCx0aGlzLm9uRW5kQ2FsbGJhY2soKX0sTy5wcm90b3R5cGUuZGVidWdJbmZvPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P1wiXCI6XCJub2RlOiA8XCIrdCtcIj5cIn0sTy5wcm90b3R5cGUuZWxlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWxlbWVudC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LE8ucHJvdG90eXBlLm5vZD1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMubm9kZSh0LGUscil9LE8ucHJvdG90eXBlLnR4dD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy50ZXh0KHQpfSxPLnByb3RvdHlwZS5kYXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2RhdGEodCl9LE8ucHJvdG90eXBlLmNvbT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jb21tZW50KHQpfSxPLnByb3RvdHlwZS5pbnM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5pbnN0cnVjdGlvbih0LGUpfSxPLnByb3RvdHlwZS5kZWM9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0aGlzLmRlY2xhcmF0aW9uKHQsZSxyKX0sTy5wcm90b3R5cGUuZHRkPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdGhpcy5kb2N0eXBlKHQsZSxyKX0sTy5wcm90b3R5cGUuZT1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMuZWxlbWVudCh0LGUscil9LE8ucHJvdG90eXBlLm49ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0aGlzLm5vZGUodCxlLHIpfSxPLnByb3RvdHlwZS50PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnRleHQodCl9LE8ucHJvdG90eXBlLmQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2RhdGEodCl9LE8ucHJvdG90eXBlLmM9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY29tbWVudCh0KX0sTy5wcm90b3R5cGUucj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5yYXcodCl9LE8ucHJvdG90eXBlLmk9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5pbnN0cnVjdGlvbih0LGUpfSxPLnByb3RvdHlwZS5hdHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jdXJyZW50Tm9kZSYmdGhpcy5jdXJyZW50Tm9kZS50eXBlPT09dC5Eb2NUeXBlP3RoaXMuYXR0TGlzdC5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dGhpcy5hdHRyaWJ1dGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxPLnByb3RvdHlwZS5hPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY3VycmVudE5vZGUmJnRoaXMuY3VycmVudE5vZGUudHlwZT09PXQuRG9jVHlwZT90aGlzLmF0dExpc3QuYXBwbHkodGhpcyxhcmd1bWVudHMpOnRoaXMuYXR0cmlidXRlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sTy5wcm90b3R5cGUuZW50PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuZW50aXR5KHQsZSl9LE8ucHJvdG90eXBlLnBlbnQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5wRW50aXR5KHQsZSl9LE8ucHJvdG90eXBlLm5vdD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLm5vdGF0aW9uKHQsZSl9LE99KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRFUnZZM1Z0Wlc1MFEwSXVhbk1pWFN3aWJtRnRaWE1pT2xzaVRtOWtaVlI1Y0dVaUxDSlhjbWwwWlhKVGRHRjBaU0lzSWxoTlRFRjBkSEpwWW5WMFpTSXNJbGhOVEVORVlYUmhJaXdpV0UxTVEyOXRiV1Z1ZENJc0lsaE5URVJVUkVGMGRFeHBjM1FpTENKWVRVeEVWRVJGYkdWdFpXNTBJaXdpV0UxTVJGUkVSVzUwYVhSNUlpd2lXRTFNUkZSRVRtOTBZWFJwYjI0aUxDSllUVXhFWldOc1lYSmhkR2x2YmlJc0lsaE5URVJ2WTFSNWNHVWlMQ0pZVFV4RWIyTjFiV1Z1ZENJc0lsaE5URVZzWlcxbGJuUWlMQ0pZVFV4UWNtOWpaWE56YVc1blNXNXpkSEoxWTNScGIyNGlMQ0pZVFV4U1lYY2lMQ0pZVFV4VGRISnBibWRYY21sMFpYSWlMQ0pZVFV4VGRISnBibWRwWm1sbGNpSXNJbGhOVEZSbGVIUWlMQ0puWlhSV1lXeDFaU0lzSW1selJuVnVZM1JwYjI0aUxDSnBjMDlpYW1WamRDSXNJbWx6VUd4aGFXNVBZbXBsWTNRaUxDSnlaV1lpTENKb1lYTlFjbTl3SWl3aWFHRnpUM2R1VUhKdmNHVnlkSGtpTENKeVpYRjFhWEpsSWl3aWJXOWtkV3hsSWl3aVpYaHdiM0owY3lJc0lsaE5URVJ2WTNWdFpXNTBRMElpTENKdmNIUnBiMjV6SWl3aWIyNUVZWFJoSWl3aWIyNUZibVFpTENKM2NtbDBaWEpQY0hScGIyNXpJaXdpZEdocGN5SXNJbTVoYldVaUxDSjBlWEJsSWl3aVJHOWpkVzFsYm5RaUxDSjNjbWwwWlhJaUxDSm1hV3gwWlhKUGNIUnBiMjV6SWl3aWMzUnlhVzVuYVdaNUlpd2liMjVFWVhSaFEyRnNiR0poWTJzaUxDSnZia1Z1WkVOaGJHeGlZV05ySWl3aVkzVnljbVZ1ZEU1dlpHVWlMQ0pqZFhKeVpXNTBUR1YyWld3aUxDSnZjR1Z1VkdGbmN5SXNJbVJ2WTNWdFpXNTBVM1JoY25SbFpDSXNJbVJ2WTNWdFpXNTBRMjl0Y0d4bGRHVmtJaXdpY205dmRDSXNJbkJ5YjNSdmRIbHdaU0lzSW1OeVpXRjBaVU5vYVd4a1RtOWtaU0lzSW01dlpHVWlMQ0poZEhRaUxDSmhkSFJPWVcxbElpd2lZWFIwY21saWRYUmxjeUlzSW1Ob2FXeGtJaXdpYVNJc0lteGxiaUlzSW5KbFpqRWlMQ0p5WldZeUlpd2lRMFJoZEdFaUxDSmpaR0YwWVNJc0luWmhiSFZsSWl3aVEyOXRiV1Z1ZENJc0ltTnZiVzFsYm5RaUxDSkZiR1Z0Wlc1MElpd2lZWFIwY21saWN5SXNJbU5oYkd3aUxDSkVkVzF0ZVNJc0ltUjFiVzE1SWl3aVVtRjNJaXdpY21GM0lpd2lWR1Y0ZENJc0luUmxlSFFpTENKUWNtOWpaWE56YVc1blNXNXpkSEoxWTNScGIyNGlMQ0pwYm5OMGNuVmpkR2x2YmlJc0luUmhjbWRsZENJc0lrVnljbTl5SWl3aVkyOXVjM1J5ZFdOMGIzSWlMQ0pqYUdsc1pISmxiaUlzSW14bGJtZDBhQ0lzSW5Wd0lpd2laR1ZpZFdkSmJtWnZJaXdpYjNCbGJrTjFjbkpsYm5RaUxDSmxiR1Z0Wlc1MElpd2liMnhrVm1Gc2FXUmhkR2x2Ymtac1lXY2lMQ0pFYjJOVWVYQmxJaXdpWkhSa1JXeGxiV1Z1ZENJc0ltRndjR3g1SWl3aVlYSm5kVzFsYm5Seklpd2lRWEp5WVhraUxDSnBjMEZ5Y21GNUlpd2libTlXWVd4cFpHRjBhVzl1SWl3aVlYUjBjbWxpZFhSbElpd2lZWFIwVm1Gc2RXVWlMQ0pyWldWd1RuVnNiRUYwZEhKcFluVjBaWE1pTENKcGJuTlVZWEpuWlhRaUxDSnBibk5XWVd4MVpTSXNJbkJ5YjJObGMzTnBibWRKYm5OMGNuVmpkR2x2YmlJc0ltUmxZMnhoY21GMGFXOXVJaXdpZG1WeWMybHZiaUlzSW1WdVkyOWthVzVuSWl3aWMzUmhibVJoYkc5dVpTSXNJbVJ2WTNSNWNHVWlMQ0p3ZFdKSlJDSXNJbk41YzBsRUlpd2ljbTl2ZEU1dlpHVk9ZVzFsSWl3aVlYUjBUR2x6ZENJc0ltVnNaVzFsYm5ST1lXMWxJaXdpWVhSMGNtbGlkWFJsVG1GdFpTSXNJbUYwZEhKcFluVjBaVlI1Y0dVaUxDSmtaV1poZFd4MFZtRnNkV1ZVZVhCbElpd2laR1ZtWVhWc2RGWmhiSFZsSWl3aVpIUmtRWFIwVEdsemRDSXNJbVZ1ZEdsMGVTSXNJbVIwWkVWdWRHbDBlU0lzSW5CRmJuUnBkSGtpTENKdWIzUmhkR2x2YmlJc0ltUjBaRTV2ZEdGMGFXOXVJaXdpWTJ4dmMyVk9iMlJsSWl3aWIzQmxiazV2WkdVaUxDSmxibVFpTENKamFIVnVheUlzSW1selQzQmxiaUlzSW5OMFlYUmxJaXdpVDNCbGJsUmhaeUlzSW1sdVpHVnVkQ0lzSW1WdVpHeHBibVVpTENKSmJuTnBaR1ZVWVdjaUxDSkRiRzl6WlZSaFp5SXNJbWx6UTJ4dmMyVmtJaXdpVG05dVpTSXNJbXhsZG1Wc0lpd2laV3hsSWl3aWJtOWtJaXdpZEhoMElpd2laR0YwSWl3aVkyOXRJaXdpYVc1eklpd2laR1ZqSWl3aVpIUmtJaXdpWlNJc0ltNGlMQ0owSWl3aVpDSXNJbU1pTENKeUlpd2lZU0lzSW1WdWRDSXNJbkJsYm5RaUxDSnViM1FpWFN3aWJXRndjR2x1WjNNaU9pSkRRVU5CTEZkQlEwVXNTVUZCU1VFc1JVRkJWVU1zUlVGQllVTXNSVUZCWTBNc1JVRkJWVU1zUlVGQldVTXNSVUZCWlVNc1JVRkJaVU1zUlVGQlkwTXNSVUZCWjBKRExFVkJRV2RDUXl4RlFVRlpReXhGUVVFMFFrTXNSVUZCV1VNc1JVRkJNRUpETEVWQlFWRkRMRVZCUVdsQ1F5eEZRVUZuUWtNc1JVRkJVME1zUlVGQlZVTXNSVUZCV1VNc1JVRkJWVU1zUlVGQlpVTXNSVUZEZUZSRExFVkJRVlVzUjBGQlIwTXNaVUZGWmtZc1JVRkJUVWNzVVVGQlVTeGhRVUZqVEN4RlFVRlhSU3hGUVVGSlJpeFRRVUZWUkN4RlFVRmhSeXhGUVVGSlNDeFhRVUZaUlN4RlFVRm5Ra01zUlVGQlNVUXNZMEZCWlVnc1JVRkJWMGtzUlVGQlNVb3NVMEZGY0Vsc1FpeEZRVUZYZVVJc1VVRkJVU3hqUVVWdVFtUXNSVUZCWTJNc1VVRkJVU3hwUWtGRmRFSmlMRVZCUVdGaExGRkJRVkVzWjBKQlJYSkNkRUlzUlVGQlYzTkNMRkZCUVZFc1kwRkZia0p5UWl4RlFVRmhjVUlzVVVGQlVTeG5Ra0ZGY2tKWUxFVkJRVk5YTEZGQlFWRXNXVUZGYWtKU0xFVkJRVlZSTEZGQlFWRXNZVUZGYkVKYUxFVkJRVEpDV1N4UlFVRlJMRGhDUVVWdVEyaENMRVZCUVdsQ1owSXNVVUZCVVN4dlFrRkZla0ptTEVWQlFXRmxMRkZCUVZFc1owSkJSWEpDY0VJc1JVRkJaMEp2UWl4UlFVRlJMRzFDUVVWNFFteENMRVZCUVdWclFpeFJRVUZSTEd0Q1FVVjJRbTVDTEVWQlFXZENiVUlzVVVGQlVTeHRRa0ZGZUVKcVFpeEZRVUZwUW1sQ0xGRkJRVkVzYjBKQlJYcENka0lzUlVGQlpYVkNMRkZCUVZFc2EwSkJSWFpDVkN4RlFVRnBRbE1zVVVGQlVTeHZRa0ZGZWtKV0xFVkJRV3RDVlN4UlFVRlJMSEZDUVVVeFFuaENMRVZCUVdOM1FpeFJRVUZSTEdsQ1FVVjBRa01zVDBGQlQwTXNVVUZCTUVJc1YwRkRMMElzVTBGQlUwTXNSVUZCWTBNc1JVRkJVME1zUlVGQlVVTXNSMEZEZEVNc1NVRkJTVU1zUlVGRFNrTXNTMEZCUzBNc1MwRkJUeXhQUVVOYVJDeExRVUZMUlN4TFFVRlBia01zUlVGQlUyOURMRk5CUTNKQ1VDeEpRVUZaUVN4RlFVRlZMRWxCUTNSQ1J5eEZRVUZuUWl4SFFVTllTQ3hGUVVGUlVTeFBRVVZHYUVJc1JVRkJZMUVzUlVGQlVWRXNWVUZETDBKTUxFVkJRV2RDU0N4RlFVRlJVU3hQUVVONFFsSXNSVUZCVVZFc1QwRkJVeXhKUVVGSmRFSXNSMEZJY2tKakxFVkJRVkZSTEU5QlFWTXNTVUZCU1hSQ0xFVkJTM1pDYTBJc1MwRkJTMG9zVVVGQlZVRXNSVUZEWmtrc1MwRkJTMGtzVDBGQlUxSXNSVUZCVVZFc1QwRkRkRUpLTEV0QlFVdEVMR05CUVdkQ1F5eExRVUZMU1N4UFFVRlBReXhqUVVGalRpeEhRVU12UTBNc1MwRkJTMDBzVlVGQldTeEpRVUZKZGtJc1JVRkJaV0VzUjBGRGNFTkpMRXRCUVV0UExHVkJRV2xDVml4SFFVRlZMR0ZCUTJoRFJ5eExRVUZMVVN4alFVRm5RbFlzUjBGQlV5eGhRVU01UWtVc1MwRkJTMU1zV1VGQll5eExRVU51UWxRc1MwRkJTMVVzWTBGQlowSXNSVUZEY2tKV0xFdEJRVXRYTEZOQlFWY3NSMEZEYUVKWUxFdEJRVXRaTEdsQ1FVRnJRaXhGUVVOMlFsb3NTMEZCUzJFc2JVSkJRVzlDTEVWQlEzcENZaXhMUVVGTFl5eExRVUZQTEV0QmQyTmtMRTlCY21OQmJrSXNSVUZCWTI5Q0xGVkJRVlZETEdkQ1FVRnJRaXhUUVVGVFF5eEhRVU5xUkN4SlFVRkpReXhGUVVGTFF5eEZRVUZUUXl4RlFVRlpReXhGUVVGUFF5eEZRVUZIUXl4RlFVRkxReXhGUVVGTlF5eEZRVU51UkN4UFFVRlJVaXhGUVVGTFppeE5RVU5ZTEV0QlFVdHVReXhGUVVGVE1rUXNUVUZEV2pGQ0xFdEJRVXN5UWl4TlFVRk5WaXhGUVVGTFZ5eFBRVU5vUWl4TlFVTkdMRXRCUVVzM1JDeEZRVUZUT0VRc1VVRkRXamRDTEV0QlFVczRRaXhSUVVGUllpeEZRVUZMVnl4UFFVTnNRaXhOUVVOR0xFdEJRVXMzUkN4RlFVRlRaMFVzVVVGSFdpeEpRVUZMV2l4TFFVWk1ReXhGUVVGaExFZEJRMkpKTEVWQlFVOVFMRVZCUVV0bExGRkJSVXd4UXl4RlFVRlJNa01zUzBGQlMxUXNSVUZCVFV3c1MwRkRlRUpFTEVWQlFVMU5MRVZCUVV0TUxFZEJRMWhETEVWQlFWZEVMRWRCUVZkRUxFVkJRVWxWTEU5QlJUVkNOVUlzUzBGQlMybENMRXRCUVV0QkxFVkJRVXRvUWl4TFFVRk5iVUlzUjBGRGNrSXNUVUZEUml4TFFVRkxja1FzUlVGQlUyMUZMRTFCUTFwc1F5eExRVUZMYlVNc1VVRkRUQ3hOUVVOR0xFdEJRVXR3UlN4RlFVRlRjVVVzU1VGRFduQkRMRXRCUVV0eFF5eEpRVUZKY0VJc1JVRkJTMWNzVDBGRFpDeE5RVU5HTEV0QlFVczNSQ3hGUVVGVGRVVXNTMEZEV25SRExFdEJRVXQxUXl4TFFVRkxkRUlzUlVGQlMxY3NUMEZEWml4TlFVTkdMRXRCUVVzM1JDeEZRVUZUZVVVc2MwSkJRMXA0UXl4TFFVRkxlVU1zV1VGQldYaENMRVZCUVV0NVFpeFBRVUZSZWtJc1JVRkJTMWNzVDBGRGJrTXNUVUZEUml4UlFVTkZMRTFCUVUwc1NVRkJTV1VzVFVGQlRTeDFSRUZCZVVReFFpeEZRVUZMTWtJc1dVRkJXVE5ETEUxQlJ6bEdMRWxCUVV0eFFpeEZRVUZKTEVWQlFVZERMRWRCUkZwRkxFVkJRVTlTTEVWQlFVczBRaXhWUVVOWFF5eFBRVUZSZUVJc1JVRkJTVU1zUlVGQlMwUXNTVUZEZEVORUxFVkJRVkZKTEVWQlFVdElMRWRCUTJKMFFpeExRVUZMWjBJc1owSkJRV2RDU3l4SFFVTnFRa0VzUlVGQlRXNUNMRTlCUVZOdVF5eEZRVUZUWjBVc1UwRkRNVUl2UWl4TFFVRkxLME1zUzBGSFZDeFBRVUZQTDBNc1RVRkhWRXdzUlVGQlkyOUNMRlZCUVZWdlFpeE5RVUZSTEZkQlF6bENMRTlCUVU5dVF5eE5RVWRVVEN4RlFVRmpiMElzVlVGQlZVVXNTMEZCVHl4VFFVRlRhRUlzUlVGQlRXMUNMRVZCUVZsdFFpeEhRVU40UkN4SlFVRkpaaXhGUVVOS0xFZEJRVmtzVFVGQlVuWkNMRVZCUTBZc1RVRkJUU3hKUVVGSk1FTXNUVUZCVFN4elFrRkZiRUlzUjBGQlNUTkRMRXRCUVV0akxFOUJRU3RDTEVsQlFYWkNaQ3hMUVVGTFZTeGhRVU53UWl4TlFVRk5MRWxCUVVscFF5eE5RVUZOTEhsRFFVRXlRek5ETEV0QlFVdG5SQ3hWUVVGVkwwTXNTVUZyUWpWRkxFOUJhRUpCUkN4TFFVRkxhVVFzWTBGRFRHaEVMRVZCUVU5b1FpeEZRVUZUWjBJc1IwRkRSU3hOUVVGa2JVSXNTVUZEUmtFc1JVRkJZU3hKUVVWbVFTeEZRVUZoYmtNc1JVRkJVMjFETEVkQlEycENha01zUlVGQlUybERMRXRCUTJWdFFpeEhRVUV6UW1Zc1JVRkJUeXhEUVVGRFNpeEZRVUZaYlVJc1NVRkJiVUlzUjBGQlNXNUNMRVZCUVdGSkxFVkJRVXNzU1VGRkwwUjRRaXhMUVVGTFV5eFpRVUZqTEVsQlFVazVRaXhGUVVGWGNVSXNTMEZCVFVNc1JVRkJUVzFDTEVkQlF6bERjRUlzUzBGQlMxTXNXVUZCV1c5RExGVkJRVmNzUlVGRE5VSTNReXhMUVVGTFZTeGxRVU5NVml4TFFVRkxWeXhUUVVGVFdDeExRVUZMVlN4alFVRm5RbFlzUzBGQlMxTXNXVUZETlVJc1RVRkJVamhDTEVkQlEwWjJReXhMUVVGTGRVTXNTMEZCUzBFc1IwRkZUSFpETEUxQlIxUk1MRVZCUVdOdlFpeFZRVUZWYlVNc1VVRkJWU3hUUVVGVGFrUXNSVUZCVFcxQ0xFVkJRVmx0UWl4SFFVTXpSQ3hKUVVGSmJFSXNSVUZCVDBNc1JVRkJSME1zUlVGQlN6UkNMRVZCUVcxQ00wSXNSVUZCVFZZc1JVRkROVU1zUjBGQlNXUXNTMEZCUzFNc1lVRkJaVlFzUzBGQlMxTXNXVUZCV1ZBc1QwRkJVMjVETEVWQlFWTnhSaXhSUVVONlJIQkVMRXRCUVV0eFJDeFhRVUZYUXl4TlFVRk5kRVFzUzBGQlRYVkVMR2RDUVVVMVFpeEhRVUZKUXl4TlFVRk5ReXhSUVVGUmVFUXNTVUZCVTJRc1JVRkJVMk1zU1VGQlUyWXNSVUZCVjJVc1IwRlBkRVFzU1VGT1FXdEVMRVZCUVc5Q2JrUXNTMEZCUzBvc1VVRkJVVGhFTEdGQlEycERNVVFzUzBGQlMwb3NVVUZCVVRoRUxHTkJRV1VzUjBGRE5VSTFReXhGUVVGUExFbEJRVWx3UXl4RlFVRlpjMElzUzBGQlMwb3NVMEZCVTNORUxGRkJRVkVzWTBGRGVFTkJMRkZCUVZGcVJDeEhRVU5pUkN4TFFVRkxTaXhSUVVGUk9FUXNZVUZCWlZBc1JVRkZka0kzUWl4RlFVRkpMRVZCUVVkRExFZEJSRnBETEVWQlFVOVdMRVZCUVVzclFpeFZRVU5YUXl4UFFVRlJlRUlzUlVGQlNVTXNSVUZCUzBRc1NVRkRkRU5FTEVWQlFWRkhMRVZCUVV0R0xFZEJRMkowUWl4TFFVRkxaMElzWjBKQlFXZENTeXhIUVVOcVFrRXNSVUZCVFc1Q0xFOUJRVk51UXl4RlFVRlRaMFVzVTBGRE1VSXZRaXhMUVVGTEswTXNWVUZKVkM5RExFdEJRVXRwUWl4TFFVRkxhRUlzUlVGQlRXMUNMRVZCUVZsdFFpeEhRVWRvUXl4UFFVRlBka01zVFVGSFZFd3NSVUZCWTI5Q0xGVkJRVlUwUXl4VlFVRlpMRk5CUVZNeFJDeEZRVUZOTWtJc1IwRkRha1FzU1VGQlNWUXNSVUZCVTNsRExFVkJRMklzU1VGQlN6VkVMRXRCUVV0VExHRkJRV1ZVTEV0QlFVdFRMRmxCUVZsdlF5eFRRVU40UXl4TlFVRk5MRWxCUVVsR0xFMUJRVTBzTkVWQlFUaEZNME1zUzBGQlMyZEVMRlZCUVZVdlF5eEpRVXN2Unl4SFFVaFpMRTFCUVZKQkxFbEJRMFpCTEVWQlFVOW9RaXhGUVVGVFowSXNTVUZGWkdRc1JVRkJVMk1zUjBGRFdDeEpRVUZMYTBJc1MwRkJWMnhDTEVWQlExUllMRVZCUVZFeVF5eExRVUZMYUVNc1JVRkJUV3RDTEV0QlEzaENlVU1zUlVGQlZ6TkVMRVZCUVV0clFpeEhRVU5vUW01Q0xFdEJRVXN5UkN4VlFVRlZlRU1zUlVGQlUzbERMRk5CUjNSQ01VVXNSVUZCVnpCRExFdEJRMkpCTEVWQlFWRkJMRVZCUVUwd1FpeFRRVVZhZEVRc1MwRkJTMG9zVVVGQlVXbEZMRzlDUVVGblF5eE5RVUZVYWtNc1JVRkRkRU0xUWl4TFFVRkxVeXhaUVVGWmRVSXNVVUZCVVM5Q0xFZEJRVkVzU1VGQlNXaERMRVZCUVdFclFpeExRVUZOUXl4RlFVRk5MRWxCUXpWRExFMUJRVlF5UWl4SlFVTlVOVUlzUzBGQlMxTXNXVUZCV1hWQ0xGRkJRVkV2UWl4SFFVRlJMRWxCUVVsb1F5eEZRVUZoSzBJc1MwRkJUVU1zUlVGQlRUSkNMRWxCUjJ4RkxFOUJRVTgxUWl4TlFVZFVUQ3hGUVVGamIwSXNWVUZCVlhkQ0xFdEJRVThzVTBGQlUxZ3NSMEZEZEVNc1NVRkJTVmdzUlVGSlNpeFBRVWhCYWtJc1MwRkJTMmxFTEdOQlEweG9ReXhGUVVGUExFbEJRVWxxUXl4RlFVRlJaMElzUzBGQlRUUkNMRWRCUTNwQ05VSXNTMEZCUzBnc1QwRkJUMGNzUzBGQlMwa3NUMEZCVDIxRExFdEJRVXQwUWl4RlFVRk5ha0lzUzBGQlMwUXNZMEZCWlVNc1MwRkJTMVVzWVVGQlpTeEhRVUZKVml4TFFVRkxWU3hoUVVGbExFZEJRelZHVml4TlFVZFVUQ3hGUVVGamIwSXNWVUZCVlZrc1RVRkJVU3hUUVVGVFF5eEhRVU4yUXl4SlFVRkpXQ3hGUVVsS0xFOUJTRUZxUWl4TFFVRkxhVVFzWTBGRFRHaERMRVZCUVU4c1NVRkJTUzlETEVWQlFWTTRRaXhMUVVGTk5FSXNSMEZETVVJMVFpeExRVUZMU0N4UFFVRlBSeXhMUVVGTFNTeFBRVUZQZFVJc1RVRkJUVllzUlVGQlRXcENMRXRCUVV0RUxHTkJRV1ZETEV0QlFVdFZMR0ZCUVdVc1IwRkJTVllzUzBGQlMxVXNZVUZCWlN4SFFVTTNSbFlzVFVGSFZFd3NSVUZCWTI5Q0xGVkJRVlZsTEZGQlFWVXNVMEZCVTBZc1IwRkRla01zU1VGQlNWZ3NSVUZKU2l4UFFVaEJha0lzUzBGQlMybEVMR05CUTB4b1F5eEZRVUZQTEVsQlFVazVReXhGUVVGWE5rSXNTMEZCVFRSQ0xFZEJRelZDTlVJc1MwRkJTMGdzVDBGQlQwY3NTMEZCUzBrc1QwRkJUekJDTEZGQlFWRmlMRVZCUVUxcVFpeExRVUZMUkN4alFVRmxReXhMUVVGTFZTeGhRVUZsTEVkQlFVbFdMRXRCUVV0VkxHRkJRV1VzUjBGREwwWldMRTFCUjFSTUxFVkJRV052UWl4VlFVRlZjMElzU1VGQlRTeFRRVUZUVkN4SFFVTnlReXhKUVVGSldDeEZRVWxLTEU5QlNFRnFRaXhMUVVGTGFVUXNZMEZEVEdoRExFVkJRVThzU1VGQlNYQkRMRVZCUVU5dFFpeExRVUZOTkVJc1IwRkRlRUkxUWl4TFFVRkxTQ3hQUVVGUFJ5eExRVUZMU1N4UFFVRlBhVU1zU1VGQlNYQkNMRVZCUVUxcVFpeExRVUZMUkN4alFVRmxReXhMUVVGTFZTeGhRVUZsTEVkQlFVbFdMRXRCUVV0VkxHRkJRV1VzUjBGRE0wWldMRTFCUjFSTUxFVkJRV052UWl4VlFVRlZNRUlzV1VGQll5eFRRVUZUUXl4RlFVRlJaQ3hIUVVOeVJDeEpRVUZKVGl4RlFVRkhkME1zUlVGQlYwTXNSVUZCVlhoRExFVkJRVXRPTEVWQlVXcERMRWRCVUVGcVFpeExRVUZMYVVRc1kwRkRVeXhOUVVGV1VDeEpRVU5HUVN4RlFVRlRla1FzUlVGQlUzbEVMRWxCUlZBc1RVRkJWR1FzU1VGRFJrRXNSVUZCVVRORExFVkJRVk15UXl4SlFVVm1ORUlzVFVGQlRVTXNVVUZCVVdZc1IwRkRhRUlzU1VGQlMzQkNMRVZCUVVrc1JVRkJSME1zUlVGQlRXMUNMRVZCUVU5SkxFOUJRVkY0UWl4RlFVRkpReXhGUVVGTFJDeEpRVU40UTNkRExFVkJRVmx3UWl4RlFVRlBjRUlzUjBGRGJrSjBRaXhMUVVGTGVVTXNXVUZCV1hGQ0xGRkJSV1FzUjBGQlNUTkZMRVZCUVZOMVJDeEhRVU5zUWl4SlFVRkxiMElzUzBGQllYQkNMRVZCUTFod1JDeEZRVUZSTWtNc1MwRkJTMU1zUlVGQlVXOUNMRXRCUXpGQ1F5eEZRVUZYY2tJc1JVRkJUMjlDTEVkQlEyeENPVVFzUzBGQlMzbERMRmxCUVZseFFpeEZRVUZYUXl4VFFVY3hRamRGTEVWQlFWY3dReXhMUVVOaVFTeEZRVUZSUVN4RlFVRk5NRUlzVTBGRmFFSnlReXhGUVVGUExFbEJRVWx5UXl4RlFVRjVRbTlDTEV0QlFVMHdReXhGUVVGUlpDeEhRVU5zUkRWQ0xFdEJRVXRJTEU5QlFVOUhMRXRCUVV0SkxFOUJRVTgwUkN4elFrRkJjMEl2UXl4RlFVRk5ha0lzUzBGQlMwUXNZMEZCWlVNc1MwRkJTMVVzWVVGQlpTeEhRVUZKVml4TFFVRkxWU3hoUVVGbExFZEJSWFJJTEU5QlFVOVdMRTFCUjFSTUxFVkJRV052UWl4VlFVRlZhMFFzV1VGQll5eFRRVUZUUXl4RlFVRlRReXhGUVVGVlF5eEhRVU5vUlN4SlFVRkpia1FzUlVGRlNpeEhRVVJCYWtJc1MwRkJTMmxFTEdOQlEwUnFSQ3hMUVVGTFdTeG5Ra0ZEVUN4TlFVRk5MRWxCUVVrclFpeE5RVUZOTEhsRFFVbHNRaXhQUVVaQk1VSXNSVUZCVHl4SlFVRkpla01zUlVGQlpYZENMRXRCUVUxclJTeEZRVUZUUXl4RlFVRlZReXhIUVVOdVJIQkZMRXRCUVV0SUxFOUJRVTlITEV0QlFVdEpMRTlCUVU4MlJDeFpRVUZaYUVRc1JVRkJUV3BDTEV0QlFVdEVMR05CUVdWRExFdEJRVXRWTEdGQlFXVXNSMEZCU1ZZc1MwRkJTMVVzWVVGQlpTeEhRVU51UjFZc1RVRkhWRXdzUlVGQlkyOUNMRlZCUVZWelJDeFJRVUZWTEZOQlFWTjJSQ3hGUVVGTmQwUXNSVUZCVDBNc1IwRkZkRVFzUjBGRVFYWkZMRXRCUVV0cFJDeGpRVU5QTEUxQlFWSnVReXhGUVVOR0xFMUJRVTBzU1VGQlNUWkNMRTFCUVUwc01rSkJSV3hDTEVkQlFVa3pReXhMUVVGTFl5eExRVU5RTEUxQlFVMHNTVUZCU1RaQ0xFMUJRVTBzZVVOQlQyeENMRTlCVEVFelF5eExRVUZMVXl4WlFVRmpMRWxCUVVsb1F5eEZRVUZYZFVJc1MwRkJUWE5GTEVWQlFVOURMRWRCUXk5RGRrVXNTMEZCUzFNc1dVRkJXU3RFTEdGQlFXVXhSQ3hGUVVOb1EyUXNTMEZCUzFNc1dVRkJXVzlETEZWQlFWY3NSVUZETlVJM1F5eExRVUZMVlN4bFFVTk1WaXhMUVVGTFZ5eFRRVUZUV0N4TFFVRkxWU3hqUVVGblFsWXNTMEZCUzFNc1dVRkRha05VTEUxQlIxUk1MRVZCUVdOdlFpeFZRVUZWYzBNc1YwRkJZU3hUUVVGVGNFUXNSVUZCVFRKQ0xFZEJRMnhFTEVsQlFVbFlMRVZCU1Vvc1QwRklRV3BDTEV0QlFVdHBSQ3hqUVVOTWFFTXNSVUZCVHl4SlFVRkpOVU1zUlVGQll6SkNMRXRCUVUxRExFVkJRVTB5UWl4SFFVTnlRelZDTEV0QlFVdElMRTlCUVU5SExFdEJRVXRKTEU5QlFVOXBSQ3hYUVVGWGNFTXNSVUZCVFdwQ0xFdEJRVXRFTEdOQlFXVkRMRXRCUVV0VkxHRkJRV1VzUjBGQlNWWXNTMEZCUzFVc1lVRkJaU3hIUVVOc1IxWXNUVUZIVkV3c1JVRkJZMjlDTEZWQlFWVXdSQ3hSUVVGVkxGTkJRVk5ETEVWQlFXRkRMRVZCUVdWRExFVkJRV1ZETEVWQlFXdENReXhIUVVOMFJ5eEpRVUZKTjBRc1JVRkpTaXhQUVVoQmFrSXNTMEZCUzJsRUxHTkJRMHhvUXl4RlFVRlBMRWxCUVVrM1F5eEZRVUZqTkVJc1MwRkJUVEJGTEVWQlFXRkRMRVZCUVdWRExFVkJRV1ZETEVWQlFXdENReXhIUVVNMVJqbEZMRXRCUVV0SUxFOUJRVTlITEV0QlFVdEpMRTlCUVU4eVJTeFhRVUZYT1VRc1JVRkJUV3BDTEV0QlFVdEVMR05CUVdWRExFdEJRVXRWTEdGQlFXVXNSMEZCU1ZZc1MwRkJTMVVzWVVGQlpTeEhRVU5zUjFZc1RVRkhWRXdzUlVGQlkyOUNMRlZCUVZWcFJTeFBRVUZUTEZOQlFWTXZSU3hGUVVGTk1rSXNSMEZET1VNc1NVRkJTVmdzUlVGSlNpeFBRVWhCYWtJc1MwRkJTMmxFTEdOQlEweG9ReXhGUVVGUExFbEJRVWt6UXl4RlFVRmhNRUlzVFVGQlRTeEZRVUZQUXl4RlFVRk5Na0lzUjBGRE0wTTFRaXhMUVVGTFNDeFBRVUZQUnl4TFFVRkxTU3hQUVVGUE5rVXNWVUZCVldoRkxFVkJRVTFxUWl4TFFVRkxSQ3hqUVVGbFF5eExRVUZMVlN4aFFVRmxMRWRCUVVsV0xFdEJRVXRWTEdGQlFXVXNSMEZEYWtkV0xFMUJSMVJNTEVWQlFXTnZRaXhWUVVGVmJVVXNVVUZCVlN4VFFVRlRha1lzUlVGQlRUSkNMRWRCUXk5RExFbEJRVWxZTEVWQlNVb3NUMEZJUVdwQ0xFdEJRVXRwUkN4alFVTk1hRU1zUlVGQlR5eEpRVUZKTTBNc1JVRkJZVEJDTEUxQlFVMHNSVUZCVFVNc1JVRkJUVEpDTEVkQlF6RkROVUlzUzBGQlMwZ3NUMEZCVDBjc1MwRkJTMGtzVDBGQlR6WkZMRlZCUVZWb1JTeEZRVUZOYWtJc1MwRkJTMFFzWTBGQlpVTXNTMEZCUzFVc1lVRkJaU3hIUVVGSlZpeExRVUZMVlN4aFFVRmxMRWRCUTJwSFZpeE5RVWRVVEN4RlFVRmpiMElzVlVGQlZXOUZMRk5CUVZjc1UwRkJVMnhHTEVWQlFVMHlRaXhIUVVOb1JDeEpRVUZKV0N4RlFVbEtMRTlCU0VGcVFpeExRVUZMYVVRc1kwRkRUR2hETEVWQlFVOHNTVUZCU1RGRExFVkJRV1Y1UWl4TFFVRk5ReXhGUVVGTk1rSXNSMEZEZEVNMVFpeExRVUZMU0N4UFFVRlBSeXhMUVVGTFNTeFBRVUZQWjBZc1dVRkJXVzVGTEVWQlFVMXFRaXhMUVVGTFJDeGpRVUZsUXl4TFFVRkxWU3hoUVVGbExFZEJRVWxXTEV0QlFVdFZMR0ZCUVdVc1IwRkRia2RXTEUxQlIxUk1MRVZCUVdOdlFpeFZRVUZWWjBNc1IwRkJTeXhYUVVNelFpeEhRVUZKTDBNc1MwRkJTMVVzWVVGQlpTeEZRVU4wUWl4TlFVRk5MRWxCUVVscFF5eE5RVUZOTEc5RFFXTnNRaXhQUVZwSk0wTXNTMEZCUzFNc1lVRkRTRlFzUzBGQlMxTXNXVUZCV1c5RExGTkJRMjVDTjBNc1MwRkJTM0ZHTEZWQlFWVnlSaXhMUVVGTFV5eGhRVVZ3UWxRc1MwRkJTM05HTEZOQlFWTjBSaXhMUVVGTFV5eGhRVVZ5UWxRc1MwRkJTMU1zV1VGQll5eE5RVVZ1UWxRc1MwRkJTM0ZHTEZWQlFWVnlSaXhMUVVGTFZ5eFRRVUZUV0N4TFFVRkxWU3h6UWtGRk4wSldMRXRCUVV0WExGTkJRVk5ZTEV0QlFVdFZMR05CUXpGQ1ZpeExRVUZMVlN4bFFVTkZWaXhOUVVkVVRDeEZRVUZqYjBJc1ZVRkJWWGRGTEVsQlFVMHNWMEZETlVJc1MwRkJUM1pHTEV0QlFVdFZMR05CUVdkQ0xFZEJRekZDVml4TFFVRkxLME1zUzBGRlVDeFBRVUZQTDBNc1MwRkJTMFlzVTBGSFpFZ3NSVUZCWTI5Q0xGVkJRVlZyUXl4WlFVRmpMRmRCUTNCRExFZEJRVWxxUkN4TFFVRkxVeXhaUVVWUUxFOUJSRUZVTEV0QlFVdFRMRmxCUVZsdlF5eFZRVUZYTEVWQlEzSkNOME1zUzBGQlMzTkdMRk5CUVZOMFJpeExRVUZMVXl4alFVazVRbVFzUlVGQlkyOUNMRlZCUVZWMVJTeFRRVUZYTEZOQlFWTnlSU3hIUVVNeFF5eEpRVUZKUXl4RlFVRkxjMFVzUlVGQlQzWkdMRVZCUVUxMVFpeEZRVU4wUWl4SlFVRkxVQ3hGUVVGTGQwVXNUMEZCVVN4RFFVdG9RaXhIUVVwTGVrWXNTMEZCUzJNc1RVRkJPRUlzU1VGQmRFSmtMRXRCUVV0VkxHTkJRWE5DVHl4RlFVRkxaaXhQUVVGVGJrTXNSVUZCVTJkRkxGVkJRMnhGTDBJc1MwRkJTMk1zUzBGQlQwY3NSMEZGWkhWRkxFVkJRVkVzUjBGRFNuWkZMRVZCUVV0bUxFOUJRVk51UXl4RlFVRlRaMFVzVVVGQlV5eERRVWxzUXl4SlFVRkxPVUlzUzBGSVRFUXNTMEZCUzBRc1kwRkJZekpHTEUxQlFWRXhTQ3hGUVVGWk1rZ3NVVUZEZGtOSUxFVkJRVkY0Uml4TFFVRkxTU3hQUVVGUGQwWXNUMEZCVHpORkxFVkJRVTFxUWl4TFFVRkxSQ3hqUVVGbFF5eExRVUZMVlN4alFVRm5RaXhKUVVGTlR5eEZRVUZMYUVJc1MwRkRja1oxUWl4RlFVRlBVQ3hGUVVGTFpTeFJRVVZNTVVNc1JVRkJVVEpETEV0QlFVdFVMRVZCUVUxMlFpeExRVU40UW1sQ0xFVkJRVTFOTEVWQlFVdDJRaXhIUVVOWWRVWXNSMEZCVTNoR0xFdEJRVXRKTEU5QlFVOTFSQ3hWUVVGVmVrTXNSVUZCUzJ4Q0xFdEJRVXRFTEdOQlFXVkRMRXRCUVV0VkxHVkJSUzlFT0VVc1NVRkJWWFpGTEVWQlFVczBRaXhUUVVGWExFbEJRVTBzVFVGQlVUZERMRXRCUVV0SkxFOUJRVTk1Uml4UlFVRlJOVVVzUlVGQlRXcENMRXRCUVV0RUxHTkJRV1ZETEV0QlFVdFZMR05CUXpOR1ZpeExRVUZMUkN4alFVRmpNa1lzVFVGQlVURklMRVZCUVZrNFNDeGxRVVYyUXpsR0xFdEJRVXRFTEdOQlFXTXlSaXhOUVVGUk1VZ3NSVUZCV1RKSUxGRkJRM1pEU0N4RlFVRlJlRVlzUzBGQlMwa3NUMEZCVDNkR0xFOUJRVTh6UlN4RlFVRk5ha0lzUzBGQlMwUXNZMEZCWlVNc1MwRkJTMVVzWTBGQlowSXNZVUZCWlU4c1JVRkJTM1ZFTEdGQlF6Rkdka1FzUlVGQlMzRkVMRTlCUVZOeVJDeEZRVUZMYzBRc1RVRkRja0pwUWl4SFFVRlRMRmxCUVdOMlJTeEZRVUZMY1VRc1RVRkJVU3hOUVVGUmNrUXNSVUZCUzNORUxFMUJRVkVzU1VGRGFFUjBSQ3hGUVVGTGMwUXNVVUZEWkdsQ0xFZEJRVk1zV1VGQlkzWkZMRVZCUVV0elJDeE5RVUZSTEV0QlJXeERkRVFzUlVGQlN6UkNMRlZCUTFBeVF5eEhRVUZUTEV0QlExUjRSaXhMUVVGTFJDeGpRVUZqTWtZc1RVRkJVVEZJTEVWQlFWazRTQ3haUVVWMlF6bEdMRXRCUVV0RUxHTkJRV015Uml4TlFVRlJNVWdzUlVGQldTdElMRk5CUTNaRFVDeEhRVUZUTEV0QlJWaEJMRWRCUVZONFJpeExRVUZMU1N4UFFVRlBlVVlzVVVGQlVUVkZMRVZCUVUxcVFpeExRVUZMUkN4alFVRmxReXhMUVVGTFZTeGpRVWM1UkN4UFFVUkJWaXhMUVVGTFNDeFBRVUZQTWtZc1JVRkJUM2hHTEV0QlFVdFZMR05CUTJwQ1R5eEZRVUZMZDBVc1VVRkJVeXhKUVVsNlFqbEdMRVZCUVdOdlFpeFZRVUZWYzBVc1ZVRkJXU3hUUVVGVGNFVXNSMEZETTBNc1NVRkJTWFZGTEVWQlEwb3NTVUZCUzNaRkxFVkJRVXNyUlN4VFFWVlNMRTlCVkVGU0xFVkJRVkVzUjBGRFVuaEdMRXRCUVV0RUxHTkJRV015Uml4TlFVRlJNVWdzUlVGQldTdElMRk5CUlhKRFVDeEZRVVJGZGtVc1JVRkJTMllzVDBGQlUyNURMRVZCUVZOblJTeFJRVU5xUWk5Q0xFdEJRVXRKTEU5QlFVOTNSaXhQUVVGUE0wVXNSVUZCVFdwQ0xFdEJRVXRFTEdOQlFXVkRMRXRCUVV0VkxHTkJRV2RDTEV0QlFVOVBMRVZCUVV0b1FpeExRVUZQTEVsQlFVMUVMRXRCUVV0SkxFOUJRVTk1Uml4UlFVRlJOVVVzUlVGQlRXcENMRXRCUVV0RUxHTkJRV1ZETEV0QlFVdFZMR05CUlRsSlZpeExRVUZMU1N4UFFVRlBkMFlzVDBGQlR6TkZMRVZCUVUxcVFpeExRVUZMUkN4alFVRmxReXhMUVVGTFZTeGpRVUZuUWl4TFFVRlBWaXhMUVVGTFNTeFBRVUZQZVVZc1VVRkJVVFZGTEVWQlFVMXFRaXhMUVVGTFJDeGpRVUZsUXl4TFFVRkxWU3hqUVVWMFNWWXNTMEZCUzBRc1kwRkJZekpHTEUxQlFWRXhTQ3hGUVVGWmFVa3NTMEZEZGtOcVJ5eExRVUZMU0N4UFFVRlBNa1lzUlVGQlQzaEdMRXRCUVV0VkxHTkJRMnBDVHl4RlFVRkxLMFVzVlVGQlZ5eEhRVWt6UW5KSExFVkJRV052UWl4VlFVRlZiRUlzVDBGQlV5eFRRVUZUTWtZc1JVRkJUMVVzUjBGRkwwTXNUMEZFUVd4SExFdEJRVXRaTEdsQ1FVRnJRaXhGUVVOb1Fsb3NTMEZCUzA4c1pVRkJaV2xHTEVWQlFVOVZMRVZCUVZFc1NVRkhOVU4yUnl4RlFVRmpiMElzVlVGQlZXcENMRTFCUVZFc1YwRkZPVUlzVDBGRVFVVXNTMEZCUzJFc2JVSkJRVzlDTEVWQlEyeENZaXhMUVVGTFVTeHBRa0ZIWkdJc1JVRkJZMjlDTEZWQlFWVnBReXhWUVVGWkxGTkJRVk12UXl4SFFVTXpReXhQUVVGWkxFMUJRVkpCTEVWQlEwc3NSMEZGUVN4VlFVRlpRU3hGUVVGUExFdEJTVGxDVGl4RlFVRmpiMElzVlVGQlZXOUdMRWxCUVUwc1YwRkROVUlzVDBGQlQyNUhMRXRCUVV0clJDeFJRVUZSU1N4TlFVRk5kRVFzUzBGQlRYVkVMRmxCUjJ4RE5VUXNSVUZCWTI5Q0xGVkJRVlZ4Uml4SlFVRk5MRk5CUVZOdVJ5eEZRVUZOYlVJc1JVRkJXVzFDTEVkQlEzWkVMRTlCUVU5MlF5eExRVUZMYVVJc1MwRkJTMmhDTEVWQlFVMXRRaXhGUVVGWmJVSXNTVUZIY2tNMVF5eEZRVUZqYjBJc1ZVRkJWWE5HTEVsQlFVMHNVMEZCVTNwRkxFZEJRM0pETEU5QlFVODFRaXhMUVVGTGRVTXNTMEZCUzFnc1NVRkhia0pxUXl4RlFVRmpiMElzVlVGQlZYVkdMRWxCUVUwc1UwRkJVekZGTEVkQlEzSkRMRTlCUVU4MVFpeExRVUZMTWtJc1RVRkJUVU1zU1VGSGNFSnFReXhGUVVGamIwSXNWVUZCVlhkR0xFbEJRVTBzVTBGQlV6TkZMRWRCUTNKRExFOUJRVTgxUWl4TFFVRkxPRUlzVVVGQlVVWXNTVUZIZEVKcVF5eEZRVUZqYjBJc1ZVRkJWWGxHTEVsQlFVMHNVMEZCVXpsRUxFVkJRVkZrTEVkQlF6ZERMRTlCUVU4MVFpeExRVUZMZVVNc1dVRkJXVU1zUlVGQlVXUXNTVUZIYkVOcVF5eEZRVUZqYjBJc1ZVRkJWVEJHTEVsQlFVMHNVMEZCVTNaRExFVkJRVk5ETEVWQlFWVkRMRWRCUTNoRUxFOUJRVTl3UlN4TFFVRkxhVVVzV1VGQldVTXNSVUZCVTBNc1JVRkJWVU1zU1VGSE4wTjZSU3hGUVVGamIwSXNWVUZCVlRKR0xFbEJRVTBzVTBGQlV6VkdMRVZCUVUxM1JDeEZRVUZQUXl4SFFVTnNSQ3hQUVVGUGRrVXNTMEZCUzNGRkxGRkJRVkYyUkN4RlFVRk5kMFFzUlVGQlQwTXNTVUZIYmtNMVJTeEZRVUZqYjBJc1ZVRkJWVFJHTEVWQlFVa3NVMEZCVXpGSExFVkJRVTF0UWl4RlFVRlpiVUlzUjBGRGNrUXNUMEZCVDNaRExFdEJRVXRyUkN4UlFVRlJha1FzUlVGQlRXMUNMRVZCUVZsdFFpeEpRVWQ0UXpWRExFVkJRV052UWl4VlFVRlZOa1lzUlVGQlNTeFRRVUZUTTBjc1JVRkJUVzFDTEVWQlFWbHRRaXhIUVVOeVJDeFBRVUZQZGtNc1MwRkJTMmxDTEV0QlFVdG9RaXhGUVVGTmJVSXNSVUZCV1cxQ0xFbEJSM0pETlVNc1JVRkJZMjlDTEZWQlFWVTRSaXhGUVVGSkxGTkJRVk5xUml4SFFVTnVReXhQUVVGUE5VSXNTMEZCUzNWRExFdEJRVXRZTEVsQlIyNUNha01zUlVGQlkyOUNMRlZCUVZVclJpeEZRVUZKTEZOQlFWTnNSaXhIUVVOdVF5eFBRVUZQTlVJc1MwRkJTekpDTEUxQlFVMURMRWxCUjNCQ2FrTXNSVUZCWTI5Q0xGVkJRVlZuUnl4RlFVRkpMRk5CUVZOdVJpeEhRVU51UXl4UFFVRlBOVUlzUzBGQlN6aENMRkZCUVZGR0xFbEJSM1JDYWtNc1JVRkJZMjlDTEZWQlFWVnBSeXhGUVVGSkxGTkJRVk53Uml4SFFVTnVReXhQUVVGUE5VSXNTMEZCUzNGRExFbEJRVWxVTEVsQlIyeENha01zUlVGQlkyOUNMRlZCUVZWUExFVkJRVWtzVTBGQlUyOUNMRVZCUVZGa0xFZEJRek5ETEU5QlFVODFRaXhMUVVGTGVVTXNXVUZCV1VNc1JVRkJVV1FzU1VGSGJFTnFReXhGUVVGamIwSXNWVUZCVlVjc1NVRkJUU3hYUVVNMVFpeFBRVUZKYkVJc1MwRkJTMU1zWVVGQlpWUXNTMEZCUzFNc1dVRkJXVkFzVDBGQlUyNURMRVZCUVZOeFJpeFJRVU5zUkhCRUxFdEJRVXQ1UlN4UlFVRlJia0lzVFVGQlRYUkVMRXRCUVUxMVJDeFhRVVY2UW5aRUxFdEJRVXN5UkN4VlFVRlZUQ3hOUVVGTmRFUXNTMEZCVFhWRUxGbEJTWFJETlVRc1JVRkJZMjlDTEZWQlFWVnJSeXhGUVVGSkxGZEJRekZDTEU5QlFVbHFTQ3hMUVVGTFV5eGhRVUZsVkN4TFFVRkxVeXhaUVVGWlVDeFBRVUZUYmtNc1JVRkJVM0ZHTEZGQlEyeEVjRVFzUzBGQlMzbEZMRkZCUVZGdVFpeE5RVUZOZEVRc1MwRkJUWFZFTEZkQlJYcENka1FzUzBGQlN6SkVMRlZCUVZWTUxFMUJRVTEwUkN4TFFVRk5kVVFzV1VGSmRFTTFSQ3hGUVVGamIwSXNWVUZCVlcxSExFbEJRVTBzVTBGQlUycElMRVZCUVUweVFpeEhRVU16UXl4UFFVRlBOVUlzUzBGQlMyZEdMRTlCUVU4dlJTeEZRVUZOTWtJc1NVRkhNMEpxUXl4RlFVRmpiMElzVlVGQlZXOUhMRXRCUVU4c1UwRkJVMnhJTEVWQlFVMHlRaXhIUVVNMVF5eFBRVUZQTlVJc1MwRkJTMnRHTEZGQlFWRnFSaXhGUVVGTk1rSXNTVUZITlVKcVF5eEZRVUZqYjBJc1ZVRkJWWEZITEVsQlFVMHNVMEZCVTI1SUxFVkJRVTB5UWl4SFFVTXpReXhQUVVGUE5VSXNTMEZCUzIxR0xGTkJRVk5zUml4RlFVRk5Na0lzU1VGSGRFSnFReXhGUVdobGQwSXNTMEZ2WldoRGMwTXNTMEZCUzJwRElpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMMjFoYzNSbGNpOXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTk0Yld4aWRXbHNaR1Z5TDJ4cFlpOVlUVXhFYjJOMWJXVnVkRU5DTG1wekluMD0iLCIoZnVuY3Rpb24oKXt2YXIgdCxvLHI9e30uaGFzT3duUHJvcGVydHk7bz1yZXF1aXJlKFwiLi9YTUxOb2RlXCIpLHQ9cmVxdWlyZShcIi4vTm9kZVR5cGVcIiksbW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gbihvKXtuLl9fc3VwZXJfXy5jb25zdHJ1Y3Rvci5jYWxsKHRoaXMsbyksdGhpcy50eXBlPXQuRHVtbXl9cmV0dXJuIGZ1bmN0aW9uKHQsbyl7Zm9yKHZhciBlIGluIG8pci5jYWxsKG8sZSkmJih0W2VdPW9bZV0pO2Z1bmN0aW9uIG4oKXt0aGlzLmNvbnN0cnVjdG9yPXR9bi5wcm90b3R5cGU9by5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IG4sdC5fX3N1cGVyX189by5wcm90b3R5cGV9KG4sbyksbi5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LmNyZWF0ZSh0aGlzKX0sbi5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24odCl7cmV0dXJuXCJcIn0sbn0oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEVSMWJXMTVMbXB6SWwwc0ltNWhiV1Z6SWpwYklrNXZaR1ZVZVhCbElpd2lXRTFNVG05a1pTSXNJbWhoYzFCeWIzQWlMQ0pvWVhOUGQyNVFjbTl3WlhKMGVTSXNJbkpsY1hWcGNtVWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpYzNWd1pYSkRiR0Z6Y3lJc0lsaE5URVIxYlcxNUlpd2ljR0Z5Wlc1MElpd2lYMTl6ZFhCbGNsOWZJaXdpWTI5dWMzUnlkV04wYjNJaUxDSmpZV3hzSWl3aWRHaHBjeUlzSW5SNWNHVWlMQ0pFZFcxdGVTSXNJbU5vYVd4a0lpd2lhMlY1SWl3aVkzUnZjaUlzSW5CeWIzUnZkSGx3WlNJc0ltVjRkR1Z1WkNJc0ltTnNiMjVsSWl3aVQySnFaV04wSWl3aVkzSmxZWFJsSWl3aWRHOVRkSEpwYm1jaUxDSnZjSFJwYjI1eklsMHNJbTFoY0hCcGJtZHpJam9pUTBGRFFTeFhRVU5GTEVsQlFVbEJMRVZCUVc5Q1F5eEZRVVYwUWtNc1JVRkJWU3hIUVVGSFF5eGxRVVZtUml4RlFVRlZSeXhSUVVGUkxHRkJSV3hDU2l4RlFVRlhTU3hSUVVGUkxHTkJSVzVDUXl4UFFVRlBReXhSUVVGeFFpeFRRVUZWUXl4SFFVZHdReXhUUVVGVFF5eEZRVUZUUXl4SFFVTm9Ra1FzUlVGQlUwVXNWVUZCVlVNc1dVRkJXVU1zUzBGQlMwTXNTMEZCVFVvc1IwRkRNVU5KTEV0QlFVdERMRXRCUVU5a0xFVkJRVk5sTEUxQlYzWkNMRTlCZGtKVExGTkJRVk5ETEVWQlFVOVFMRWRCUVZVc1NVRkJTeXhKUVVGSlVTeExRVUZQVWl4RlFVRmpVQ3hGUVVGUlZTeExRVUZMU0N4RlFVRlJVU3hMUVVGTlJDeEZRVUZOUXl4SFFVRlBVaXhGUVVGUFVTeEpRVUZSTEZOQlFWTkRMRWxCUVZOTUxFdEJRVXRHTEZsQlFXTkxMRVZCUVZORkxFVkJRVXRETEZWQlFWbFdMRVZCUVU5VkxGVkJRVmRJTEVWQlFVMUhMRlZCUVZrc1NVRkJTVVFzUlVGQlVVWXNSVUZCVFU0c1ZVRkJXVVFzUlVGQlQxVXNWVUZSYUZGRExFTkJRVTlhTEVWQmFVSk9VQ3hIUVZaRVR5eEZRVUZUVnl4VlFVRlZSU3hOUVVGUkxGZEJRM3BDTEU5QlFVOURMRTlCUVU5RExFOUJRVTlXTEU5QlIzWkNUQ3hGUVVGVFZ5eFZRVUZWU3l4VFFVRlhMRk5CUVZORExFZEJRM0pETEUxQlFVOHNTVUZIUm1wQ0xFVkJhRUp0UWl4TFFXOUNNMEpKTEV0QlFVdERJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDIxaGMzUmxjaTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5NGJXeGlkV2xzWkdWeUwyeHBZaTlZVFV4RWRXMXRlUzVxY3lKOSIsIihmdW5jdGlvbigpe3ZhciB0LGUscixvLGksbixzLGgsdT17fS5oYXNPd25Qcm9wZXJ0eTtoPXJlcXVpcmUoXCIuL1V0aWxpdHlcIikscz1oLmlzT2JqZWN0LG49aC5pc0Z1bmN0aW9uLGk9aC5nZXRWYWx1ZSxvPXJlcXVpcmUoXCIuL1hNTE5vZGVcIiksdD1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxlPXJlcXVpcmUoXCIuL1hNTEF0dHJpYnV0ZVwiKSxyPXJlcXVpcmUoXCIuL1hNTE5hbWVkTm9kZU1hcFwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihoKXtmdW5jdGlvbiBwKGUscixvKXt2YXIgaSxuLHMsaDtpZihwLl9fc3VwZXJfXy5jb25zdHJ1Y3Rvci5jYWxsKHRoaXMsZSksbnVsbD09cil0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIGVsZW1lbnQgbmFtZS4gXCIrdGhpcy5kZWJ1Z0luZm8oKSk7aWYodGhpcy5uYW1lPXRoaXMuc3RyaW5naWZ5Lm5hbWUociksdGhpcy50eXBlPXQuRWxlbWVudCx0aGlzLmF0dHJpYnM9e30sdGhpcy5zY2hlbWFUeXBlSW5mbz1udWxsLG51bGwhPW8mJnRoaXMuYXR0cmlidXRlKG8pLGUudHlwZT09PXQuRG9jdW1lbnQmJih0aGlzLmlzUm9vdD0hMCx0aGlzLmRvY3VtZW50T2JqZWN0PWUsZS5yb290T2JqZWN0PXRoaXMsZS5jaGlsZHJlbikpZm9yKG49MCxzPShoPWUuY2hpbGRyZW4pLmxlbmd0aDtuPHM7bisrKWlmKChpPWhbbl0pLnR5cGU9PT10LkRvY1R5cGUpe2kubmFtZT10aGlzLm5hbWU7YnJlYWt9fXJldHVybiBmdW5jdGlvbih0LGUpe2Zvcih2YXIgciBpbiBlKXUuY2FsbChlLHIpJiYodFtyXT1lW3JdKTtmdW5jdGlvbiBvKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fW8ucHJvdG90eXBlPWUucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyBvLHQuX19zdXBlcl9fPWUucHJvdG90eXBlfShwLG8pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwLnByb3RvdHlwZSxcInRhZ05hbWVcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubmFtZX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkocC5wcm90b3R5cGUsXCJuYW1lc3BhY2VVUklcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuXCJcIn19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkocC5wcm90b3R5cGUsXCJwcmVmaXhcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuXCJcIn19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkocC5wcm90b3R5cGUsXCJsb2NhbE5hbWVcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubmFtZX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkocC5wcm90b3R5cGUsXCJpZFwiLHtnZXQ6ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwLnByb3RvdHlwZSxcImNsYXNzTmFtZVwiLHtnZXQ6ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwLnByb3RvdHlwZSxcImNsYXNzTGlzdFwiLHtnZXQ6ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwLnByb3RvdHlwZSxcImF0dHJpYnV0ZXNcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXR0cmlidXRlTWFwJiZ0aGlzLmF0dHJpYnV0ZU1hcC5ub2Rlc3x8KHRoaXMuYXR0cmlidXRlTWFwPW5ldyByKHRoaXMuYXR0cmlicykpLHRoaXMuYXR0cmlidXRlTWFwfX0pLHAucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7dmFyIHQsZSxyLG87Zm9yKGUgaW4ocj1PYmplY3QuY3JlYXRlKHRoaXMpKS5pc1Jvb3QmJihyLmRvY3VtZW50T2JqZWN0PW51bGwpLHIuYXR0cmlicz17fSxvPXRoaXMuYXR0cmlicyl1LmNhbGwobyxlKSYmKHQ9b1tlXSxyLmF0dHJpYnNbZV09dC5jbG9uZSgpKTtyZXR1cm4gci5jaGlsZHJlbj1bXSx0aGlzLmNoaWxkcmVuLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU7cmV0dXJuKGU9dC5jbG9uZSgpKS5wYXJlbnQ9cixyLmNoaWxkcmVuLnB1c2goZSl9KSxyfSxwLnByb3RvdHlwZS5hdHRyaWJ1dGU9ZnVuY3Rpb24odCxyKXt2YXIgbyxoO2lmKG51bGwhPXQmJih0PWkodCkpLHModCkpZm9yKG8gaW4gdCl1LmNhbGwodCxvKSYmKGg9dFtvXSx0aGlzLmF0dHJpYnV0ZShvLGgpKTtlbHNlIG4ocikmJihyPXIuYXBwbHkoKSksdGhpcy5vcHRpb25zLmtlZXBOdWxsQXR0cmlidXRlcyYmbnVsbD09cj90aGlzLmF0dHJpYnNbdF09bmV3IGUodGhpcyx0LFwiXCIpOm51bGwhPXImJih0aGlzLmF0dHJpYnNbdF09bmV3IGUodGhpcyx0LHIpKTtyZXR1cm4gdGhpc30scC5wcm90b3R5cGUucmVtb3ZlQXR0cmlidXRlPWZ1bmN0aW9uKHQpe3ZhciBlLHIsbztpZihudWxsPT10KXRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgYXR0cmlidXRlIG5hbWUuIFwiK3RoaXMuZGVidWdJbmZvKCkpO2lmKHQ9aSh0KSxBcnJheS5pc0FycmF5KHQpKWZvcihyPTAsbz10Lmxlbmd0aDtyPG87cisrKWU9dFtyXSxkZWxldGUgdGhpcy5hdHRyaWJzW2VdO2Vsc2UgZGVsZXRlIHRoaXMuYXR0cmlic1t0XTtyZXR1cm4gdGhpc30scC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy53cml0ZXIuZWxlbWVudCh0aGlzLHRoaXMub3B0aW9ucy53cml0ZXIuZmlsdGVyT3B0aW9ucyh0KSl9LHAucHJvdG90eXBlLmF0dD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmF0dHJpYnV0ZSh0LGUpfSxwLnByb3RvdHlwZS5hPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuYXR0cmlidXRlKHQsZSl9LHAucHJvdG90eXBlLmdldEF0dHJpYnV0ZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5hdHRyaWJzLmhhc093blByb3BlcnR5KHQpP3RoaXMuYXR0cmlic1t0XS52YWx1ZTpudWxsfSxwLnByb3RvdHlwZS5zZXRBdHRyaWJ1dGU9ZnVuY3Rpb24odCxlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxwLnByb3RvdHlwZS5nZXRBdHRyaWJ1dGVOb2RlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmF0dHJpYnMuaGFzT3duUHJvcGVydHkodCk/dGhpcy5hdHRyaWJzW3RdOm51bGx9LHAucHJvdG90eXBlLnNldEF0dHJpYnV0ZU5vZGU9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0scC5wcm90b3R5cGUucmVtb3ZlQXR0cmlidXRlTm9kZT1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxwLnByb3RvdHlwZS5nZXRFbGVtZW50c0J5VGFnTmFtZT1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxwLnByb3RvdHlwZS5nZXRBdHRyaWJ1dGVOUz1mdW5jdGlvbih0LGUpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHAucHJvdG90eXBlLnNldEF0dHJpYnV0ZU5TPWZ1bmN0aW9uKHQsZSxyKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxwLnByb3RvdHlwZS5yZW1vdmVBdHRyaWJ1dGVOUz1mdW5jdGlvbih0LGUpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHAucHJvdG90eXBlLmdldEF0dHJpYnV0ZU5vZGVOUz1mdW5jdGlvbih0LGUpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHAucHJvdG90eXBlLnNldEF0dHJpYnV0ZU5vZGVOUz1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxwLnByb3RvdHlwZS5nZXRFbGVtZW50c0J5VGFnTmFtZU5TPWZ1bmN0aW9uKHQsZSl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0scC5wcm90b3R5cGUuaGFzQXR0cmlidXRlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmF0dHJpYnMuaGFzT3duUHJvcGVydHkodCl9LHAucHJvdG90eXBlLmhhc0F0dHJpYnV0ZU5TPWZ1bmN0aW9uKHQsZSl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0scC5wcm90b3R5cGUuc2V0SWRBdHRyaWJ1dGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5hdHRyaWJzLmhhc093blByb3BlcnR5KHQpP3RoaXMuYXR0cmlic1t0XS5pc0lkOmV9LHAucHJvdG90eXBlLnNldElkQXR0cmlidXRlTlM9ZnVuY3Rpb24odCxlLHIpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHAucHJvdG90eXBlLnNldElkQXR0cmlidXRlTm9kZT1mdW5jdGlvbih0LGUpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHAucHJvdG90eXBlLmdldEVsZW1lbnRzQnlUYWdOYW1lPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHAucHJvdG90eXBlLmdldEVsZW1lbnRzQnlUYWdOYW1lTlM9ZnVuY3Rpb24odCxlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxwLnByb3RvdHlwZS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHAucHJvdG90eXBlLmlzRXF1YWxOb2RlPWZ1bmN0aW9uKHQpe3ZhciBlLHIsbztpZighcC5fX3N1cGVyX18uaXNFcXVhbE5vZGUuYXBwbHkodGhpcyxhcmd1bWVudHMpLmlzRXF1YWxOb2RlKHQpKXJldHVybiExO2lmKHQubmFtZXNwYWNlVVJJIT09dGhpcy5uYW1lc3BhY2VVUkkpcmV0dXJuITE7aWYodC5wcmVmaXghPT10aGlzLnByZWZpeClyZXR1cm4hMTtpZih0LmxvY2FsTmFtZSE9PXRoaXMubG9jYWxOYW1lKXJldHVybiExO2lmKHQuYXR0cmlicy5sZW5ndGghPT10aGlzLmF0dHJpYnMubGVuZ3RoKXJldHVybiExO2ZvcihlPXI9MCxvPXRoaXMuYXR0cmlicy5sZW5ndGgtMTswPD1vP3I8PW86cj49bztlPTA8PW8/KytyOi0tcilpZighdGhpcy5hdHRyaWJzW2VdLmlzRXF1YWxOb2RlKHQuYXR0cmlic1tlXSkpcmV0dXJuITE7cmV0dXJuITB9LHB9KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRFVnNaVzFsYm5RdWFuTWlYU3dpYm1GdFpYTWlPbHNpVG05a1pWUjVjR1VpTENKWVRVeEJkSFJ5YVdKMWRHVWlMQ0pZVFV4T1lXMWxaRTV2WkdWTllYQWlMQ0pZVFV4T2IyUmxJaXdpWjJWMFZtRnNkV1VpTENKcGMwWjFibU4wYVc5dUlpd2lhWE5QWW1wbFkzUWlMQ0p5WldZaUxDSm9ZWE5RY205d0lpd2lhR0Z6VDNkdVVISnZjR1Z5ZEhraUxDSnlaWEYxYVhKbElpd2liVzlrZFd4bElpd2laWGh3YjNKMGN5SXNJbk4xY0dWeVEyeGhjM01pTENKWVRVeEZiR1Z0Wlc1MElpd2ljR0Z5Wlc1MElpd2libUZ0WlNJc0ltRjBkSEpwWW5WMFpYTWlMQ0pqYUdsc1pDSXNJbW9pTENKc1pXNGlMQ0p5WldZeElpd2lYMTl6ZFhCbGNsOWZJaXdpWTI5dWMzUnlkV04wYjNJaUxDSmpZV3hzSWl3aWRHaHBjeUlzSWtWeWNtOXlJaXdpWkdWaWRXZEpibVp2SWl3aWMzUnlhVzVuYVdaNUlpd2lkSGx3WlNJc0lrVnNaVzFsYm5RaUxDSmhkSFJ5YVdKeklpd2ljMk5vWlcxaFZIbHdaVWx1Wm04aUxDSmhkSFJ5YVdKMWRHVWlMQ0pFYjJOMWJXVnVkQ0lzSW1selVtOXZkQ0lzSW1SdlkzVnRaVzUwVDJKcVpXTjBJaXdpY205dmRFOWlhbVZqZENJc0ltTm9hV3hrY21WdUlpd2liR1Z1WjNSb0lpd2lSRzlqVkhsd1pTSXNJbXRsZVNJc0ltTjBiM0lpTENKd2NtOTBiM1I1Y0dVaUxDSmxlSFJsYm1RaUxDSlBZbXBsWTNRaUxDSmtaV1pwYm1WUWNtOXdaWEowZVNJc0ltZGxkQ0lzSW1GMGRISnBZblYwWlUxaGNDSXNJbTV2WkdWeklpd2lZMnh2Ym1VaUxDSmhkSFFpTENKaGRIUk9ZVzFsSWl3aVkyeHZibVZrVTJWc1ppSXNJbU55WldGMFpTSXNJbVp2Y2tWaFkyZ2lMQ0pqYkc5dVpXUkRhR2xzWkNJc0luQjFjMmdpTENKMllXeDFaU0lzSW1GMGRGWmhiSFZsSWl3aVlYQndiSGtpTENKdmNIUnBiMjV6SWl3aWEyVmxjRTUxYkd4QmRIUnlhV0oxZEdWeklpd2ljbVZ0YjNabFFYUjBjbWxpZFhSbElpd2lRWEp5WVhraUxDSnBjMEZ5Y21GNUlpd2lkRzlUZEhKcGJtY2lMQ0ozY21sMFpYSWlMQ0psYkdWdFpXNTBJaXdpWm1sc2RHVnlUM0IwYVc5dWN5SXNJbUVpTENKblpYUkJkSFJ5YVdKMWRHVWlMQ0p6WlhSQmRIUnlhV0oxZEdVaUxDSm5aWFJCZEhSeWFXSjFkR1ZPYjJSbElpd2ljMlYwUVhSMGNtbGlkWFJsVG05a1pTSXNJbTVsZDBGMGRISWlMQ0p5WlcxdmRtVkJkSFJ5YVdKMWRHVk9iMlJsSWl3aWIyeGtRWFIwY2lJc0ltZGxkRVZzWlcxbGJuUnpRbmxVWVdkT1lXMWxJaXdpWjJWMFFYUjBjbWxpZFhSbFRsTWlMQ0p1WVcxbGMzQmhZMlZWVWtraUxDSnNiMk5oYkU1aGJXVWlMQ0p6WlhSQmRIUnlhV0oxZEdWT1V5SXNJbkYxWVd4cFptbGxaRTVoYldVaUxDSnlaVzF2ZG1WQmRIUnlhV0oxZEdWT1V5SXNJbWRsZEVGMGRISnBZblYwWlU1dlpHVk9VeUlzSW5ObGRFRjBkSEpwWW5WMFpVNXZaR1ZPVXlJc0ltZGxkRVZzWlcxbGJuUnpRbmxVWVdkT1lXMWxUbE1pTENKb1lYTkJkSFJ5YVdKMWRHVWlMQ0pvWVhOQmRIUnlhV0oxZEdWT1V5SXNJbk5sZEVsa1FYUjBjbWxpZFhSbElpd2lhWE5KWkNJc0luTmxkRWxrUVhSMGNtbGlkWFJsVGxNaUxDSnpaWFJKWkVGMGRISnBZblYwWlU1dlpHVWlMQ0pwWkVGMGRISWlMQ0owWVdkdVlXMWxJaXdpWjJWMFJXeGxiV1Z1ZEhOQ2VVTnNZWE56VG1GdFpTSXNJbU5zWVhOelRtRnRaWE1pTENKcGMwVnhkV0ZzVG05a1pTSXNJbTV2WkdVaUxDSnBJaXdpWVhKbmRXMWxiblJ6SWl3aWNISmxabWw0SWwwc0ltMWhjSEJwYm1keklqb2lRMEZEUVN4WFFVTkZMRWxCUVVsQkxFVkJRVlZETEVWQlFUQkNReXhGUVVGcFFrTXNSVUZCVTBNc1JVRkJWVU1zUlVGQldVTXNSVUZCVlVNc1JVRkZhRWRETEVWQlFWVXNSMEZCUjBNc1pVRkZaa1lzUlVGQlRVY3NVVUZCVVN4aFFVRmpTaXhGUVVGWFF5eEZRVUZKUkN4VFFVRlZSQ3hGUVVGaFJTeEZRVUZKUml4WFFVRlpSQ3hGUVVGWFJ5eEZRVUZKU0N4VFFVVnFSMFFzUlVGQlZVOHNVVUZCVVN4aFFVVnNRbFlzUlVGQlYxVXNVVUZCVVN4alFVVnVRbFFzUlVGQlpWTXNVVUZCVVN4clFrRkZka0pTTEVWQlFXdENVU3hSUVVGUkxIRkNRVVV4UWtNc1QwRkJUME1zVVVGQmRVSXNVMEZCVlVNc1IwRkhkRU1zVTBGQlUwTXNSVUZCVjBNc1JVRkJVVU1zUlVGQlRVTXNSMEZEYUVNc1NVRkJTVU1zUlVGQlQwTXNSVUZCUjBNc1JVRkJTME1zUlVGRmJrSXNSMEZFUVZBc1JVRkJWMUVzVlVGQlZVTXNXVUZCV1VNc1MwRkJTME1zUzBGQlRWWXNSMEZEYUVNc1RVRkJVa01zUlVGRFJpeE5RVUZOTEVsQlFVbFZMRTFCUVUwc2VVSkJRVEpDUkN4TFFVRkxSU3hoUVZOc1JDeEhRVkJCUml4TFFVRkxWQ3hMUVVGUFV5eExRVUZMUnl4VlFVRlZXaXhMUVVGTFFTeEhRVU5vUTFNc1MwRkJTMGtzUzBGQlR6ZENMRVZCUVZNNFFpeFJRVU55UWt3c1MwRkJTMDBzVVVGQlZTeEhRVU5tVGl4TFFVRkxUeXhsUVVGcFFpeExRVU5LTEUxQlFXUm1MRWRCUTBaUkxFdEJRVXRSTEZWQlFWVm9RaXhIUVVWaVJpeEZRVUZQWXl4UFFVRlROMElzUlVGQlUydERMRmRCUXpOQ1ZDeExRVUZMVlN4UlFVRlRMRVZCUTJSV0xFdEJRVXRYTEdWQlFXbENja0lzUlVGRGRFSkJMRVZCUVU5elFpeFhRVUZoV2l4TFFVTm9RbFlzUlVGQlQzVkNMRlZCUlZRc1NVRkJTMjVDTEVWQlFVa3NSVUZCUjBNc1IwRkVXa01zUlVGQlQwNHNSVUZCVDNWQ0xGVkJRMU5ETEU5QlFWRndRaXhGUVVGSlF5eEZRVUZMUkN4SlFVVjBReXhKUVVSQlJDeEZRVUZSUnl4RlFVRkxSaXhKUVVOSVZTeFBRVUZUTjBJc1JVRkJVM2RETEZGQlFWTXNRMEZEYmtOMFFpeEZRVUZOUml4TFFVRlBVeXhMUVVGTFZDeExRVU5zUWl4UFFUSlFWaXhQUVd4VFV5eFRRVUZUUlN4RlFVRlBTQ3hIUVVGVkxFbEJRVXNzU1VGQlNUQkNMRXRCUVU4eFFpeEZRVUZqVUN4RlFVRlJaMElzUzBGQlMxUXNSVUZCVVRCQ0xFdEJRVTEyUWl4RlFVRk5kVUlzUjBGQlR6RkNMRVZCUVU4d1FpeEpRVUZSTEZOQlFWTkRMRWxCUVZOcVFpeExRVUZMUml4WlFVRmpUQ3hGUVVGVGQwSXNSVUZCUzBNc1ZVRkJXVFZDTEVWQlFVODBRaXhWUVVGWGVrSXNSVUZCVFhsQ0xGVkJRVmtzU1VGQlNVUXNSVUZCVVhoQ0xFVkJRVTFKTEZWQlFWbFFMRVZCUVU4MFFpeFZRV05vVVVNc1EwRkJUemxDTEVWQmMxSk9XQ3hIUVhSUVJEQkRMRTlCUVU5RExHVkJRV1ZvUXl4RlFVRlhOa0lzVlVGQlZ5eFZRVUZYTEVOQlEzSkVTU3hKUVVGTExGZEJRMGdzVDBGQlQzUkNMRXRCUVV0VUxGRkJTV2hDTmtJc1QwRkJUME1zWlVGQlpXaERMRVZCUVZjMlFpeFZRVUZYTEdWQlFXZENMRU5CUXpGRVNTeEpRVUZMTEZkQlEwZ3NUVUZCVHl4TlFVbFlSaXhQUVVGUFF5eGxRVUZsYUVNc1JVRkJWelpDTEZWQlFWY3NVMEZCVlN4RFFVTndSRWtzU1VGQlN5eFhRVU5JTEUxQlFVOHNUVUZKV0VZc1QwRkJUME1zWlVGQlpXaERMRVZCUVZjMlFpeFZRVUZYTEZsQlFXRXNRMEZEZGtSSkxFbEJRVXNzVjBGRFNDeFBRVUZQZEVJc1MwRkJTMVFzVVVGSmFFSTJRaXhQUVVGUFF5eGxRVUZsYUVNc1JVRkJWelpDTEZWQlFWY3NTMEZCVFN4RFFVTm9SRWtzU1VGQlN5eFhRVU5JTEUxQlFVMHNTVUZCU1hKQ0xFMUJRVTBzYzBOQlFYZERSQ3hMUVVGTFJTeG5Ra0ZKYWtWclFpeFBRVUZQUXl4bFFVRmxhRU1zUlVGQlZ6WkNMRlZCUVZjc1dVRkJZU3hEUVVOMlJFa3NTVUZCU3l4WFFVTklMRTFCUVUwc1NVRkJTWEpDTEUxQlFVMHNjME5CUVhkRFJDeExRVUZMUlN4blFrRkpha1ZyUWl4UFFVRlBReXhsUVVGbGFFTXNSVUZCVnpaQ0xGVkJRVmNzV1VGQllTeERRVU4yUkVrc1NVRkJTeXhYUVVOSUxFMUJRVTBzU1VGQlNYSkNMRTFCUVUwc2MwTkJRWGREUkN4TFFVRkxSU3huUWtGSmFrVnJRaXhQUVVGUFF5eGxRVUZsYUVNc1JVRkJWelpDTEZWQlFWY3NZVUZCWXl4RFFVTjRSRWtzU1VGQlN5eFhRVWxJTEU5QlNFdDBRaXhMUVVGTGRVSXNZMEZCYVVKMlFpeExRVUZMZFVJc1lVRkJZVU1zVVVGRE0wTjRRaXhMUVVGTGRVSXNZVUZCWlN4SlFVRkpPVU1zUlVGQlowSjFRaXhMUVVGTFRTeFZRVVY0UTA0c1MwRkJTM1ZDTEdkQ1FVbG9RbXhETEVWQlFWYzJRaXhWUVVGVlR5eE5RVUZSTEZkQlF6TkNMRWxCUVVsRExFVkJRVXRETEVWQlFWTkRMRVZCUVZsb1F5eEZRVTg1UWl4SlFVRkxLMElzUzBGT1RFTXNSVUZCWVZJc1QwRkJUMU1zVDBGQlR6ZENMRTlCUTFwVkxGTkJRMkpyUWl4RlFVRlhha0lzWlVGQmFVSXNUVUZGT1VKcFFpeEZRVUZYZEVJc1VVRkJWU3hIUVVOeVFsWXNSVUZCVDBrc1MwRkJTMDBzVVVGRlRIWkNMRVZCUVZGblFpeExRVUZMU0N4RlFVRk5LMElzUzBGRGVFSkVMRVZCUVUwNVFpeEZRVUZMSzBJc1IwRkRXRU1zUlVGQlYzUkNMRkZCUVZGeFFpeEhRVUZYUkN4RlFVRkpSQ3hUUVZOd1F5eFBRVkJCUnl4RlFVRlhaaXhUUVVGWExFZEJRM1JDWWl4TFFVRkxZU3hUUVVGVGFVSXNVVUZCVVN4VFFVRlRja01zUjBGRE4wSXNTVUZCU1hORExFVkJSMG9zVDBGR1FVRXNSVUZCWTNSRExFVkJRVTFuUXl4VFFVTlNia01zVDBGQlUzTkRMRVZCUTJSQkxFVkJRVmRtTEZOQlFWTnRRaXhMUVVGTFJDeExRVVV6UWtnc1IwRkhWSFpETEVWQlFWYzJRaXhWUVVGVlZpeFZRVUZaTEZOQlFWTnFRaXhGUVVGTk1FTXNSMEZET1VNc1NVRkJTVTRzUlVGQlUwOHNSVUZKWWl4SFFVaFpMRTFCUVZJelF5eEpRVU5HUVN4RlFVRlBXaXhGUVVGVFdTeEpRVVZrVml4RlFVRlRWU3hIUVVOWUxFbEJRVXR2UXl4TFFVRlhjRU1zUlVGRFZGSXNSVUZCVVdkQ0xFdEJRVXRTTEVWQlFVMXZReXhMUVVONFFrOHNSVUZCVnpORExFVkJRVXR2UXl4SFFVTm9Rak5DTEV0QlFVdFJMRlZCUVZWdFFpeEZRVUZUVHl4VFFVZDBRblJFTEVWQlFWZHhSQ3hMUVVOaVFTeEZRVUZSUVN4RlFVRk5SU3hUUVVWYWJrTXNTMEZCUzI5RExGRkJRVkZETEc5Q1FVRm5ReXhOUVVGVVNpeEZRVU4wUTJwRExFdEJRVXROTEZGQlFWRm1MRWRCUVZFc1NVRkJTV1lzUlVGQllYZENMRXRCUVUxVUxFVkJRVTBzU1VGRGFFTXNUVUZCVkRCRExFbEJRMVJxUXl4TFFVRkxUU3hSUVVGUlppeEhRVUZSTEVsQlFVbG1MRVZCUVdGM1FpeExRVUZOVkN4RlFVRk5NRU1zU1VGSGRFUXNUMEZCVDJwRExFMUJSMVJZTEVWQlFWYzJRaXhWUVVGVmIwSXNaMEpCUVd0Q0xGTkJRVk12UXl4SFFVTTVReXhKUVVGSmIwTXNSVUZCVTJwRExFVkJRVWRETEVWQlEyaENMRWRCUVZrc1RVRkJVa29zUlVGRFJpeE5RVUZOTEVsQlFVbFZMRTFCUVUwc01rSkJRVFpDUkN4TFFVRkxSU3hoUVVkd1JDeEhRVVJCV0N4RlFVRlBXaXhGUVVGVFdTeEhRVU5hWjBRc1RVRkJUVU1zVVVGQlVXcEVMRWRCUTJoQ0xFbEJRVXRITEVWQlFVa3NSVUZCUjBNc1JVRkJUVW9zUlVGQlMzVkNMRTlCUVZGd1FpeEZRVUZKUXl4RlFVRkxSQ3hKUVVOMFEybERMRVZCUVZWd1F5eEZRVUZMUnl4VlFVTlNUU3hMUVVGTFRTeFJRVUZSY1VJc1pVRkhaak5DTEV0QlFVdE5MRkZCUVZGbUxFZEJSWFJDTEU5QlFVOVRMRTFCUjFSWUxFVkJRVmMyUWl4VlFVRlZkVUlzVTBGQlZ5eFRRVUZUVEN4SFFVTjJReXhQUVVGUGNFTXNTMEZCUzI5RExGRkJRVkZOTEU5QlFVOURMRkZCUVZFelF5eExRVUZOUVN4TFFVRkxiME1zVVVGQlVVMHNUMEZCVDBVc1kwRkJZMUlzUzBGSE4wVXZReXhGUVVGWE5rSXNWVUZCVlZFc1NVRkJUU3hUUVVGVGJrTXNSVUZCVFRCRExFZEJRM2hETEU5QlFVOXFReXhMUVVGTFVTeFZRVUZWYWtJc1JVRkJUVEJETEVsQlJ6bENOVU1zUlVGQlZ6WkNMRlZCUVZVeVFpeEZRVUZKTEZOQlFWTjBSQ3hGUVVGTk1FTXNSMEZEZEVNc1QwRkJUMnBETEV0QlFVdFJMRlZCUVZWcVFpeEZRVUZOTUVNc1NVRkhPVUkxUXl4RlFVRlhOa0lzVlVGQlZUUkNMR0ZCUVdVc1UwRkJVM1pFTEVkQlF6TkRMRTlCUVVsVExFdEJRVXROTEZGQlFWRjBRaXhsUVVGbFR5eEhRVU4yUWxNc1MwRkJTMDBzVVVGQlVXWXNSMEZCVFRCRExFMUJSVzVDTEUxQlNWZzFReXhGUVVGWE5rSXNWVUZCVlRaQ0xHRkJRV1VzVTBGQlUzaEVMRVZCUVUwd1F5eEhRVU5xUkN4TlFVRk5MRWxCUVVsb1F5eE5RVUZOTEhORFFVRjNRMFFzUzBGQlMwVXNZMEZITDBSaUxFVkJRVmMyUWl4VlFVRlZPRUlzYVVKQlFXMUNMRk5CUVZONlJDeEhRVU12UXl4UFFVRkpVeXhMUVVGTFRTeFJRVUZSZEVJc1pVRkJaVThzUjBGRGRrSlRMRXRCUVV0TkxGRkJRVkZtTEVkQlJXSXNUVUZKV0VZc1JVRkJWelpDTEZWQlFWVXJRaXhwUWtGQmJVSXNVMEZCVTBNc1IwRkRMME1zVFVGQlRTeEpRVUZKYWtRc1RVRkJUU3h6UTBGQmQwTkVMRXRCUVV0RkxHTkJSeTlFWWl4RlFVRlhOa0lzVlVGQlZXbERMRzlDUVVGelFpeFRRVUZUUXl4SFFVTnNSQ3hOUVVGTkxFbEJRVWx1UkN4TlFVRk5MSE5EUVVGM1EwUXNTMEZCUzBVc1kwRkhMMFJpTEVWQlFWYzJRaXhWUVVGVmJVTXNjVUpCUVhWQ0xGTkJRVk01UkN4SFFVTnVSQ3hOUVVGTkxFbEJRVWxWTEUxQlFVMHNjME5CUVhkRFJDeExRVUZMUlN4alFVY3ZSR0lzUlVGQlZ6WkNMRlZCUVZWdlF5eGxRVUZwUWl4VFFVRlRReXhGUVVGalF5eEhRVU16UkN4TlFVRk5MRWxCUVVsMlJDeE5RVUZOTEhORFFVRjNRMFFzUzBGQlMwVXNZMEZITDBSaUxFVkJRVmMyUWl4VlFVRlZkVU1zWlVGQmFVSXNVMEZCVTBZc1JVRkJZMGNzUlVGQlpYcENMRWRCUXpGRkxFMUJRVTBzU1VGQlNXaERMRTFCUVUwc2MwTkJRWGREUkN4TFFVRkxSU3hqUVVjdlJHSXNSVUZCVnpaQ0xGVkJRVlY1UXl4clFrRkJiMElzVTBGQlUwb3NSVUZCWTBNc1IwRkRPVVFzVFVGQlRTeEpRVUZKZGtRc1RVRkJUU3h6UTBGQmQwTkVMRXRCUVV0RkxHTkJSeTlFWWl4RlFVRlhOa0lzVlVGQlZUQkRMRzFDUVVGeFFpeFRRVUZUVEN4RlFVRmpReXhIUVVNdlJDeE5RVUZOTEVsQlFVbDJSQ3hOUVVGTkxITkRRVUYzUTBRc1MwRkJTMFVzWTBGSEwwUmlMRVZCUVZjMlFpeFZRVUZWTWtNc2JVSkJRWEZDTEZOQlFWTllMRWRCUTJwRUxFMUJRVTBzU1VGQlNXcEVMRTFCUVUwc2MwTkJRWGREUkN4TFFVRkxSU3hqUVVjdlJHSXNSVUZCVnpaQ0xGVkJRVlUwUXl4MVFrRkJlVUlzVTBGQlUxQXNSVUZCWTBNc1IwRkRia1VzVFVGQlRTeEpRVUZKZGtRc1RVRkJUU3h6UTBGQmQwTkVMRXRCUVV0RkxHTkJSeTlFWWl4RlFVRlhOa0lzVlVGQlZUWkRMR0ZCUVdVc1UwRkJVM2hGTEVkQlF6TkRMRTlCUVU5VExFdEJRVXROTEZGQlFWRjBRaXhsUVVGbFR5eEpRVWR5UTBZc1JVRkJWelpDTEZWQlFWVTRReXhsUVVGcFFpeFRRVUZUVkN4RlFVRmpReXhIUVVNelJDeE5RVUZOTEVsQlFVbDJSQ3hOUVVGTkxITkRRVUYzUTBRc1MwRkJTMFVzWTBGSEwwUmlMRVZCUVZjMlFpeFZRVUZWSzBNc1pVRkJhVUlzVTBGQlV6RkZMRVZCUVUweVJTeEhRVU51UkN4UFFVRkpiRVVzUzBGQlMwMHNVVUZCVVhSQ0xHVkJRV1ZQTEVkQlEzWkNVeXhMUVVGTFRTeFJRVUZSWml4SFFVRk5Na1VzUzBGRmJrSkJMRWRCU1ZnM1JTeEZRVUZYTmtJc1ZVRkJWV2xFTEdsQ1FVRnRRaXhUUVVGVFdpeEZRVUZqUXl4RlFVRlhWU3hIUVVONFJTeE5RVUZOTEVsQlFVbHFSU3hOUVVGTkxITkRRVUYzUTBRc1MwRkJTMFVzWTBGSEwwUmlMRVZCUVZjMlFpeFZRVUZWYTBRc2JVSkJRWEZDTEZOQlFWTkRMRVZCUVZGSUxFZEJRM3BFTEUxQlFVMHNTVUZCU1dwRkxFMUJRVTBzYzBOQlFYZERSQ3hMUVVGTFJTeGpRVWN2UkdJc1JVRkJWelpDTEZWQlFWVnRReXh4UWtGQmRVSXNVMEZCVTJsQ0xFZEJRMjVFTEUxQlFVMHNTVUZCU1hKRkxFMUJRVTBzYzBOQlFYZERSQ3hMUVVGTFJTeGpRVWN2UkdJc1JVRkJWelpDTEZWQlFWVTBReXgxUWtGQmVVSXNVMEZCVTFBc1JVRkJZME1zUjBGRGJrVXNUVUZCVFN4SlFVRkpka1FzVFVGQlRTeHpRMEZCZDBORUxFdEJRVXRGTEdOQlJ5OUVZaXhGUVVGWE5rSXNWVUZCVlhGRUxIVkNRVUY1UWl4VFFVRlRReXhIUVVOeVJDeE5RVUZOTEVsQlFVbDJSU3hOUVVGTkxITkRRVUYzUTBRc1MwRkJTMFVzWTBGSEwwUmlMRVZCUVZjMlFpeFZRVUZWZFVRc1dVRkJZeXhUUVVGVFF5eEhRVU14UXl4SlFVRkpReXhGUVVGSGFrWXNSVUZCUjBVc1JVRkRWaXhKUVVGTFVDeEZRVUZYVVN4VlFVRlZORVVzV1VGQldYUkRMRTFCUVUxdVF5eExRVUZOTkVVc1YwRkJWMGdzV1VGQldVTXNSMEZEZGtVc1QwRkJUeXhGUVVWVUxFZEJRVWxCTEVWQlFVdHVRaXhsUVVGcFFuWkVMRXRCUVV0MVJDeGhRVU0zUWl4UFFVRlBMRVZCUlZRc1IwRkJTVzFDTEVWQlFVdEhMRk5CUVZjM1JTeExRVUZMTmtVc1QwRkRka0lzVDBGQlR5eEZRVVZVTEVkQlFVbElMRVZCUVV0c1FpeFpRVUZqZUVRc1MwRkJTM2RFTEZWQlF6RkNMRTlCUVU4c1JVRkZWQ3hIUVVGSmEwSXNSVUZCUzNCRkxGRkJRVkZSTEZOQlFWZGtMRXRCUVV0TkxGRkJRVkZSTEU5QlEzWkRMRTlCUVU4c1JVRkZWQ3hKUVVGTE5rUXNSVUZCU1dwR0xFVkJRVWtzUlVGQlIwVXNSVUZCVDBrc1MwRkJTMDBzVVVGQlVWRXNUMEZCVXl4RlFVRkhMRWRCUVV0c1FpeEZRVUZQUml4SFFVRkxSU3hGUVVGUFJpeEhRVUZMUlN4RlFVRk5LMFVzUlVGQlNTeEhRVUZMTDBVc1NVRkJVMFlzU1VGQlRVRXNSVUZEZWtjc1NVRkJTMDBzUzBGQlMwMHNVVUZCVVhGRkxFZEJRVWRHTEZsQlFWbERMRVZCUVV0d1JTeFJRVUZSY1VVc1NVRkROVU1zVDBGQlR5eEZRVWRZTEU5QlFVOHNSMEZIUm5SR0xFVkJjbEp4UWl4TFFYbFNOMEpWTEV0QlFVdERJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDIxaGMzUmxjaTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5NGJXeGlkV2xzWkdWeUwyeHBZaTlZVFV4RmJHVnRaVzUwTG1wekluMD0iLCIoZnVuY3Rpb24oKXttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSl7dGhpcy5ub2Rlcz1lfXJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsXCJsZW5ndGhcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdC5rZXlzKHRoaXMubm9kZXMpLmxlbmd0aHx8MH19KSxlLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGVzPW51bGx9LGUucHJvdG90eXBlLmdldE5hbWVkSXRlbT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5ub2Rlc1tlXX0sZS5wcm90b3R5cGUuc2V0TmFtZWRJdGVtPWZ1bmN0aW9uKGUpe3ZhciB0O3JldHVybiB0PXRoaXMubm9kZXNbZS5ub2RlTmFtZV0sdGhpcy5ub2Rlc1tlLm5vZGVOYW1lXT1lLHR8fG51bGx9LGUucHJvdG90eXBlLnJlbW92ZU5hbWVkSXRlbT1mdW5jdGlvbihlKXt2YXIgdDtyZXR1cm4gdD10aGlzLm5vZGVzW2VdLGRlbGV0ZSB0aGlzLm5vZGVzW2VdLHR8fG51bGx9LGUucHJvdG90eXBlLml0ZW09ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMubm9kZXNbT2JqZWN0LmtleXModGhpcy5ub2RlcylbZV1dfHxudWxsfSxlLnByb3RvdHlwZS5nZXROYW1lZEl0ZW1OUz1mdW5jdGlvbihlLHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIpfSxlLnByb3RvdHlwZS5zZXROYW1lZEl0ZW1OUz1mdW5jdGlvbihlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiKX0sZS5wcm90b3R5cGUucmVtb3ZlTmFtZWRJdGVtTlM9ZnVuY3Rpb24oZSx0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiKX0sZX0oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEU1aGJXVmtUbTlrWlUxaGNDNXFjeUpkTENKdVlXMWxjeUk2V3lKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aVdFMU1UbUZ0WldST2IyUmxUV0Z3SWl3aWJtOWtaWE1pTENKMGFHbHpJaXdpVDJKcVpXTjBJaXdpWkdWbWFXNWxVSEp2Y0dWeWRIa2lMQ0p3Y205MGIzUjVjR1VpTENKblpYUWlMQ0pyWlhseklpd2liR1Z1WjNSb0lpd2lZMnh2Ym1VaUxDSm5aWFJPWVcxbFpFbDBaVzBpTENKdVlXMWxJaXdpYzJWMFRtRnRaV1JKZEdWdElpd2libTlrWlNJc0ltOXNaRTV2WkdVaUxDSnViMlJsVG1GdFpTSXNJbkpsYlc5MlpVNWhiV1ZrU1hSbGJTSXNJbWwwWlcwaUxDSnBibVJsZUNJc0ltZGxkRTVoYldWa1NYUmxiVTVUSWl3aWJtRnRaWE53WVdObFZWSkpJaXdpYkc5allXeE9ZVzFsSWl3aVJYSnliM0lpTENKelpYUk9ZVzFsWkVsMFpXMU9VeUlzSW5KbGJXOTJaVTVoYldWa1NYUmxiVTVUSWl3aVkyRnNiQ0pkTENKdFlYQndhVzVuY3lJNklrTkJRMEVzVjBGSFJVRXNUMEZCVDBNc1VVRkJORUlzVjBGRGFrTXNVMEZCVTBNc1JVRkJaMEpETEVkQlEzWkNReXhMUVVGTFJDeE5RVUZSUVN4RlFTdERaaXhQUVRWRFFVVXNUMEZCVDBNc1pVRkJaVW9zUlVGQlowSkxMRlZCUVZjc1UwRkJWU3hEUVVONlJFTXNTVUZCU3l4WFFVTklMRTlCUVU5SUxFOUJRVTlKTEV0QlFVdE1MRXRCUVV0RUxFOUJRVTlQTEZGQlFWVXNTMEZKTjBOU0xFVkJRV2RDU3l4VlFVRlZTU3hOUVVGUkxGZEJRMmhETEU5QlFVOVFMRXRCUVV0RUxFMUJRVkVzVFVGSGRFSkVMRVZCUVdkQ1N5eFZRVUZWU3l4aFFVRmxMRk5CUVZORExFZEJRMmhFTEU5QlFVOVVMRXRCUVV0RUxFMUJRVTFWTEVsQlIzQkNXQ3hGUVVGblFrc3NWVUZCVlU4c1lVRkJaU3hUUVVGVFF5eEhRVU5vUkN4SlFVRkpReXhGUVVkS0xFOUJSa0ZCTEVWQlFWVmFMRXRCUVV0RUxFMUJRVTFaTEVWQlFVdEZMRlZCUXpGQ1lpeExRVUZMUkN4TlFVRk5XU3hGUVVGTFJTeFZRVUZaUml4RlFVTnlRa01zUjBGQlZ5eE5RVWR3UW1Rc1JVRkJaMEpMTEZWQlFWVlhMR2RDUVVGclFpeFRRVUZUVEN4SFFVTnVSQ3hKUVVGSlJ5eEZRVWRLTEU5QlJrRkJMRVZCUVZWYUxFdEJRVXRFTEUxQlFVMVZMRlZCUTJSVUxFdEJRVXRFTEUxQlFVMVZMRWRCUTFoSExFZEJRVmNzVFVGSGNFSmtMRVZCUVdkQ1N5eFZRVUZWV1N4TFFVRlBMRk5CUVZORExFZEJRM2hETEU5QlFVOW9RaXhMUVVGTFJDeE5RVUZOUlN4UFFVRlBTU3hMUVVGTFRDeExRVUZMUkN4UFFVRlBhVUlzUzBGQlZ5eE5RVWQyUkd4Q0xFVkJRV2RDU3l4VlFVRlZZeXhsUVVGcFFpeFRRVUZUUXl4RlFVRmpReXhIUVVOb1JTeE5RVUZOTEVsQlFVbERMRTFCUVUwc2QwTkJSMnhDZEVJc1JVRkJaMEpMTEZWQlFWVnJRaXhsUVVGcFFpeFRRVUZUVml4SFFVTnNSQ3hOUVVGTkxFbEJRVWxUTEUxQlFVMHNkME5CUjJ4Q2RFSXNSVUZCWjBKTExGVkJRVlZ0UWl4clFrRkJiMElzVTBGQlUwb3NSVUZCWTBNc1IwRkRia1VzVFVGQlRTeEpRVUZKUXl4TlFVRk5MSGREUVVkWWRFSXNSVUZxUkRCQ0xFdEJjVVJzUTNsQ0xFdEJRVXQyUWlJc0ltWnBiR1VpT2lJdmFHOXRaUzk2YVc1dkwzQnliMnBsWTNSekwzTmxZWFJ0WVhCMk1pOXRZWE4wWlhJdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZlRzFzWW5WcGJHUmxjaTlzYVdJdldFMU1UbUZ0WldST2IyUmxUV0Z3TG1wekluMD0iLCIoZnVuY3Rpb24oKXt2YXIgdCxlLG4scixpLG8scyxoLHAsdSxjLGwsZCxhLGYseSxtLGc9e30uaGFzT3duUHJvcGVydHk7bT1yZXF1aXJlKFwiLi9VdGlsaXR5XCIpLHk9bS5pc09iamVjdCxmPW0uaXNGdW5jdGlvbixhPW0uaXNFbXB0eSxkPW0uZ2V0VmFsdWUsaD1udWxsLG49bnVsbCxyPW51bGwsaT1udWxsLG89bnVsbCxjPW51bGwsbD1udWxsLHU9bnVsbCxzPW51bGwsZT1udWxsLHA9bnVsbCx0PW51bGwsbW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiBtKGQpe3RoaXMucGFyZW50PWQsdGhpcy5wYXJlbnQmJih0aGlzLm9wdGlvbnM9dGhpcy5wYXJlbnQub3B0aW9ucyx0aGlzLnN0cmluZ2lmeT10aGlzLnBhcmVudC5zdHJpbmdpZnkpLHRoaXMudmFsdWU9bnVsbCx0aGlzLmNoaWxkcmVuPVtdLHRoaXMuYmFzZVVSST1udWxsLGh8fChoPXJlcXVpcmUoXCIuL1hNTEVsZW1lbnRcIiksbj1yZXF1aXJlKFwiLi9YTUxDRGF0YVwiKSxyPXJlcXVpcmUoXCIuL1hNTENvbW1lbnRcIiksaT1yZXF1aXJlKFwiLi9YTUxEZWNsYXJhdGlvblwiKSxvPXJlcXVpcmUoXCIuL1hNTERvY1R5cGVcIiksYz1yZXF1aXJlKFwiLi9YTUxSYXdcIiksbD1yZXF1aXJlKFwiLi9YTUxUZXh0XCIpLHU9cmVxdWlyZShcIi4vWE1MUHJvY2Vzc2luZ0luc3RydWN0aW9uXCIpLHM9cmVxdWlyZShcIi4vWE1MRHVtbXlcIiksZT1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxwPXJlcXVpcmUoXCIuL1hNTE5vZGVMaXN0XCIpLHJlcXVpcmUoXCIuL1hNTE5hbWVkTm9kZU1hcFwiKSx0PXJlcXVpcmUoXCIuL0RvY3VtZW50UG9zaXRpb25cIikpfXJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkobS5wcm90b3R5cGUsXCJub2RlTmFtZVwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5uYW1lfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtLnByb3RvdHlwZSxcIm5vZGVUeXBlXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnR5cGV9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG0ucHJvdG90eXBlLFwibm9kZVZhbHVlXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtLnByb3RvdHlwZSxcInBhcmVudE5vZGVcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucGFyZW50fX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtLnByb3RvdHlwZSxcImNoaWxkTm9kZXNcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2hpbGROb2RlTGlzdCYmdGhpcy5jaGlsZE5vZGVMaXN0Lm5vZGVzfHwodGhpcy5jaGlsZE5vZGVMaXN0PW5ldyBwKHRoaXMuY2hpbGRyZW4pKSx0aGlzLmNoaWxkTm9kZUxpc3R9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG0ucHJvdG90eXBlLFwiZmlyc3RDaGlsZFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jaGlsZHJlblswXXx8bnVsbH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobS5wcm90b3R5cGUsXCJsYXN0Q2hpbGRcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2hpbGRyZW5bdGhpcy5jaGlsZHJlbi5sZW5ndGgtMV18fG51bGx9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG0ucHJvdG90eXBlLFwicHJldmlvdXNTaWJsaW5nXCIse2dldDpmdW5jdGlvbigpe3ZhciB0O3JldHVybiB0PXRoaXMucGFyZW50LmNoaWxkcmVuLmluZGV4T2YodGhpcyksdGhpcy5wYXJlbnQuY2hpbGRyZW5bdC0xXXx8bnVsbH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobS5wcm90b3R5cGUsXCJuZXh0U2libGluZ1wiLHtnZXQ6ZnVuY3Rpb24oKXt2YXIgdDtyZXR1cm4gdD10aGlzLnBhcmVudC5jaGlsZHJlbi5pbmRleE9mKHRoaXMpLHRoaXMucGFyZW50LmNoaWxkcmVuW3QrMV18fG51bGx9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG0ucHJvdG90eXBlLFwib3duZXJEb2N1bWVudFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb2N1bWVudCgpfHxudWxsfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtLnByb3RvdHlwZSxcInRleHRDb250ZW50XCIse2dldDpmdW5jdGlvbigpe3ZhciB0LG4scixpLG87aWYodGhpcy5ub2RlVHlwZT09PWUuRWxlbWVudHx8dGhpcy5ub2RlVHlwZT09PWUuRG9jdW1lbnRGcmFnbWVudCl7Zm9yKG89XCJcIixuPTAscj0oaT10aGlzLmNoaWxkcmVuKS5sZW5ndGg7bjxyO24rKykodD1pW25dKS50ZXh0Q29udGVudCYmKG8rPXQudGV4dENvbnRlbnQpO3JldHVybiBvfXJldHVybiBudWxsfSxzZXQ6ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX19KSxtLnByb3RvdHlwZS5zZXRQYXJlbnQ9ZnVuY3Rpb24odCl7dmFyIGUsbixyLGksbztmb3IodGhpcy5wYXJlbnQ9dCx0JiYodGhpcy5vcHRpb25zPXQub3B0aW9ucyx0aGlzLnN0cmluZ2lmeT10LnN0cmluZ2lmeSksbz1bXSxuPTAscj0oaT10aGlzLmNoaWxkcmVuKS5sZW5ndGg7bjxyO24rKyllPWlbbl0sby5wdXNoKGUuc2V0UGFyZW50KHRoaXMpKTtyZXR1cm4gb30sbS5wcm90b3R5cGUuZWxlbWVudD1mdW5jdGlvbih0LGUsbil7dmFyIHIsaSxvLHMsaCxwLHUsYyxsLG0sdztpZihwPW51bGwsbnVsbD09PWUmJm51bGw9PW4mJihlPShsPVt7fSxudWxsXSlbMF0sbj1sWzFdKSxudWxsPT1lJiYoZT17fSksZT1kKGUpLHkoZSl8fChuPShtPVtlLG5dKVswXSxlPW1bMV0pLG51bGwhPXQmJih0PWQodCkpLEFycmF5LmlzQXJyYXkodCkpZm9yKG89MCx1PXQubGVuZ3RoO288dTtvKyspaT10W29dLHA9dGhpcy5lbGVtZW50KGkpO2Vsc2UgaWYoZih0KSlwPXRoaXMuZWxlbWVudCh0LmFwcGx5KCkpO2Vsc2UgaWYoeSh0KSl7Zm9yKGggaW4gdClpZihnLmNhbGwodCxoKSlpZih3PXRbaF0sZih3KSYmKHc9dy5hcHBseSgpKSwhdGhpcy5vcHRpb25zLmlnbm9yZURlY29yYXRvcnMmJnRoaXMuc3RyaW5naWZ5LmNvbnZlcnRBdHRLZXkmJjA9PT1oLmluZGV4T2YodGhpcy5zdHJpbmdpZnkuY29udmVydEF0dEtleSkpcD10aGlzLmF0dHJpYnV0ZShoLnN1YnN0cih0aGlzLnN0cmluZ2lmeS5jb252ZXJ0QXR0S2V5Lmxlbmd0aCksdyk7ZWxzZSBpZighdGhpcy5vcHRpb25zLnNlcGFyYXRlQXJyYXlJdGVtcyYmQXJyYXkuaXNBcnJheSh3KSYmYSh3KSlwPXRoaXMuZHVtbXkoKTtlbHNlIGlmKHkodykmJmEodykpcD10aGlzLmVsZW1lbnQoaCk7ZWxzZSBpZih0aGlzLm9wdGlvbnMua2VlcE51bGxOb2Rlc3x8bnVsbCE9dylpZighdGhpcy5vcHRpb25zLnNlcGFyYXRlQXJyYXlJdGVtcyYmQXJyYXkuaXNBcnJheSh3KSlmb3Iocz0wLGM9dy5sZW5ndGg7czxjO3MrKylpPXdbc10sKHI9e30pW2hdPWkscD10aGlzLmVsZW1lbnQocik7ZWxzZSB5KHcpPyF0aGlzLm9wdGlvbnMuaWdub3JlRGVjb3JhdG9ycyYmdGhpcy5zdHJpbmdpZnkuY29udmVydFRleHRLZXkmJjA9PT1oLmluZGV4T2YodGhpcy5zdHJpbmdpZnkuY29udmVydFRleHRLZXkpP3A9dGhpcy5lbGVtZW50KHcpOihwPXRoaXMuZWxlbWVudChoKSkuZWxlbWVudCh3KTpwPXRoaXMuZWxlbWVudChoLHcpO2Vsc2UgcD10aGlzLmR1bW15KCl9ZWxzZSBwPXRoaXMub3B0aW9ucy5rZWVwTnVsbE5vZGVzfHxudWxsIT09bj8hdGhpcy5vcHRpb25zLmlnbm9yZURlY29yYXRvcnMmJnRoaXMuc3RyaW5naWZ5LmNvbnZlcnRUZXh0S2V5JiYwPT09dC5pbmRleE9mKHRoaXMuc3RyaW5naWZ5LmNvbnZlcnRUZXh0S2V5KT90aGlzLnRleHQobik6IXRoaXMub3B0aW9ucy5pZ25vcmVEZWNvcmF0b3JzJiZ0aGlzLnN0cmluZ2lmeS5jb252ZXJ0Q0RhdGFLZXkmJjA9PT10LmluZGV4T2YodGhpcy5zdHJpbmdpZnkuY29udmVydENEYXRhS2V5KT90aGlzLmNkYXRhKG4pOiF0aGlzLm9wdGlvbnMuaWdub3JlRGVjb3JhdG9ycyYmdGhpcy5zdHJpbmdpZnkuY29udmVydENvbW1lbnRLZXkmJjA9PT10LmluZGV4T2YodGhpcy5zdHJpbmdpZnkuY29udmVydENvbW1lbnRLZXkpP3RoaXMuY29tbWVudChuKTohdGhpcy5vcHRpb25zLmlnbm9yZURlY29yYXRvcnMmJnRoaXMuc3RyaW5naWZ5LmNvbnZlcnRSYXdLZXkmJjA9PT10LmluZGV4T2YodGhpcy5zdHJpbmdpZnkuY29udmVydFJhd0tleSk/dGhpcy5yYXcobik6IXRoaXMub3B0aW9ucy5pZ25vcmVEZWNvcmF0b3JzJiZ0aGlzLnN0cmluZ2lmeS5jb252ZXJ0UElLZXkmJjA9PT10LmluZGV4T2YodGhpcy5zdHJpbmdpZnkuY29udmVydFBJS2V5KT90aGlzLmluc3RydWN0aW9uKHQuc3Vic3RyKHRoaXMuc3RyaW5naWZ5LmNvbnZlcnRQSUtleS5sZW5ndGgpLG4pOnRoaXMubm9kZSh0LGUsbik6dGhpcy5kdW1teSgpO2lmKG51bGw9PXApdGhyb3cgbmV3IEVycm9yKFwiQ291bGQgbm90IGNyZWF0ZSBhbnkgZWxlbWVudHMgd2l0aDogXCIrdCtcIi4gXCIrdGhpcy5kZWJ1Z0luZm8oKSk7cmV0dXJuIHB9LG0ucHJvdG90eXBlLmluc2VydEJlZm9yZT1mdW5jdGlvbih0LGUsbil7dmFyIHIsaSxvLHMsaDtpZihudWxsIT10P3QudHlwZTp2b2lkIDApcmV0dXJuIHM9ZSwobz10KS5zZXRQYXJlbnQodGhpcykscz8oaT1jaGlsZHJlbi5pbmRleE9mKHMpLGg9Y2hpbGRyZW4uc3BsaWNlKGkpLGNoaWxkcmVuLnB1c2gobyksQXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkoY2hpbGRyZW4saCkpOmNoaWxkcmVuLnB1c2gobyksbztpZih0aGlzLmlzUm9vdCl0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgaW5zZXJ0IGVsZW1lbnRzIGF0IHJvb3QgbGV2ZWwuIFwiK3RoaXMuZGVidWdJbmZvKHQpKTtyZXR1cm4gaT10aGlzLnBhcmVudC5jaGlsZHJlbi5pbmRleE9mKHRoaXMpLGg9dGhpcy5wYXJlbnQuY2hpbGRyZW4uc3BsaWNlKGkpLHI9dGhpcy5wYXJlbnQuZWxlbWVudCh0LGUsbiksQXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkodGhpcy5wYXJlbnQuY2hpbGRyZW4saCkscn0sbS5wcm90b3R5cGUuaW5zZXJ0QWZ0ZXI9ZnVuY3Rpb24odCxlLG4pe3ZhciByLGksbztpZih0aGlzLmlzUm9vdCl0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgaW5zZXJ0IGVsZW1lbnRzIGF0IHJvb3QgbGV2ZWwuIFwiK3RoaXMuZGVidWdJbmZvKHQpKTtyZXR1cm4gaT10aGlzLnBhcmVudC5jaGlsZHJlbi5pbmRleE9mKHRoaXMpLG89dGhpcy5wYXJlbnQuY2hpbGRyZW4uc3BsaWNlKGkrMSkscj10aGlzLnBhcmVudC5lbGVtZW50KHQsZSxuKSxBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseSh0aGlzLnBhcmVudC5jaGlsZHJlbixvKSxyfSxtLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oKXt2YXIgdDtpZih0aGlzLmlzUm9vdCl0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgcmVtb3ZlIHRoZSByb290IGVsZW1lbnQuIFwiK3RoaXMuZGVidWdJbmZvKCkpO3JldHVybiB0PXRoaXMucGFyZW50LmNoaWxkcmVuLmluZGV4T2YodGhpcyksW10uc3BsaWNlLmFwcGx5KHRoaXMucGFyZW50LmNoaWxkcmVuLFt0LHQtdCsxXS5jb25jYXQoW10pKSx0aGlzLnBhcmVudH0sbS5wcm90b3R5cGUubm9kZT1mdW5jdGlvbih0LGUsbil7dmFyIHIsaTtyZXR1cm4gbnVsbCE9dCYmKHQ9ZCh0KSksZXx8KGU9e30pLGU9ZChlKSx5KGUpfHwobj0oaT1bZSxuXSlbMF0sZT1pWzFdKSxyPW5ldyBoKHRoaXMsdCxlKSxudWxsIT1uJiZyLnRleHQobiksdGhpcy5jaGlsZHJlbi5wdXNoKHIpLHJ9LG0ucHJvdG90eXBlLnRleHQ9ZnVuY3Rpb24odCl7dmFyIGU7cmV0dXJuIHkodCkmJnRoaXMuZWxlbWVudCh0KSxlPW5ldyBsKHRoaXMsdCksdGhpcy5jaGlsZHJlbi5wdXNoKGUpLHRoaXN9LG0ucHJvdG90eXBlLmNkYXRhPWZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybiBlPW5ldyBuKHRoaXMsdCksdGhpcy5jaGlsZHJlbi5wdXNoKGUpLHRoaXN9LG0ucHJvdG90eXBlLmNvbW1lbnQ9ZnVuY3Rpb24odCl7dmFyIGU7cmV0dXJuIGU9bmV3IHIodGhpcyx0KSx0aGlzLmNoaWxkcmVuLnB1c2goZSksdGhpc30sbS5wcm90b3R5cGUuY29tbWVudEJlZm9yZT1mdW5jdGlvbih0KXt2YXIgZSxuO3JldHVybiBlPXRoaXMucGFyZW50LmNoaWxkcmVuLmluZGV4T2YodGhpcyksbj10aGlzLnBhcmVudC5jaGlsZHJlbi5zcGxpY2UoZSksdGhpcy5wYXJlbnQuY29tbWVudCh0KSxBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseSh0aGlzLnBhcmVudC5jaGlsZHJlbixuKSx0aGlzfSxtLnByb3RvdHlwZS5jb21tZW50QWZ0ZXI9ZnVuY3Rpb24odCl7dmFyIGUsbjtyZXR1cm4gZT10aGlzLnBhcmVudC5jaGlsZHJlbi5pbmRleE9mKHRoaXMpLG49dGhpcy5wYXJlbnQuY2hpbGRyZW4uc3BsaWNlKGUrMSksdGhpcy5wYXJlbnQuY29tbWVudCh0KSxBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseSh0aGlzLnBhcmVudC5jaGlsZHJlbixuKSx0aGlzfSxtLnByb3RvdHlwZS5yYXc9ZnVuY3Rpb24odCl7dmFyIGU7cmV0dXJuIGU9bmV3IGModGhpcyx0KSx0aGlzLmNoaWxkcmVuLnB1c2goZSksdGhpc30sbS5wcm90b3R5cGUuZHVtbXk9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHModGhpcyl9LG0ucHJvdG90eXBlLmluc3RydWN0aW9uPWZ1bmN0aW9uKHQsZSl7dmFyIG4scixpLG8scztpZihudWxsIT10JiYodD1kKHQpKSxudWxsIT1lJiYoZT1kKGUpKSxBcnJheS5pc0FycmF5KHQpKWZvcihvPTAscz10Lmxlbmd0aDtvPHM7bysrKW49dFtvXSx0aGlzLmluc3RydWN0aW9uKG4pO2Vsc2UgaWYoeSh0KSlmb3IobiBpbiB0KWcuY2FsbCh0LG4pJiYocj10W25dLHRoaXMuaW5zdHJ1Y3Rpb24obixyKSk7ZWxzZSBmKGUpJiYoZT1lLmFwcGx5KCkpLGk9bmV3IHUodGhpcyx0LGUpLHRoaXMuY2hpbGRyZW4ucHVzaChpKTtyZXR1cm4gdGhpc30sbS5wcm90b3R5cGUuaW5zdHJ1Y3Rpb25CZWZvcmU9ZnVuY3Rpb24odCxlKXt2YXIgbixyO3JldHVybiBuPXRoaXMucGFyZW50LmNoaWxkcmVuLmluZGV4T2YodGhpcykscj10aGlzLnBhcmVudC5jaGlsZHJlbi5zcGxpY2UobiksdGhpcy5wYXJlbnQuaW5zdHJ1Y3Rpb24odCxlKSxBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseSh0aGlzLnBhcmVudC5jaGlsZHJlbixyKSx0aGlzfSxtLnByb3RvdHlwZS5pbnN0cnVjdGlvbkFmdGVyPWZ1bmN0aW9uKHQsZSl7dmFyIG4scjtyZXR1cm4gbj10aGlzLnBhcmVudC5jaGlsZHJlbi5pbmRleE9mKHRoaXMpLHI9dGhpcy5wYXJlbnQuY2hpbGRyZW4uc3BsaWNlKG4rMSksdGhpcy5wYXJlbnQuaW5zdHJ1Y3Rpb24odCxlKSxBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseSh0aGlzLnBhcmVudC5jaGlsZHJlbixyKSx0aGlzfSxtLnByb3RvdHlwZS5kZWNsYXJhdGlvbj1mdW5jdGlvbih0LG4scil7dmFyIG8scztyZXR1cm4gbz10aGlzLmRvY3VtZW50KCkscz1uZXcgaShvLHQsbixyKSwwPT09by5jaGlsZHJlbi5sZW5ndGg/by5jaGlsZHJlbi51bnNoaWZ0KHMpOm8uY2hpbGRyZW5bMF0udHlwZT09PWUuRGVjbGFyYXRpb24/by5jaGlsZHJlblswXT1zOm8uY2hpbGRyZW4udW5zaGlmdChzKSxvLnJvb3QoKXx8b30sbS5wcm90b3R5cGUuZHRkPWZ1bmN0aW9uKHQsbil7dmFyIHIsaSxzLGgscCx1LGMsbCxkO2ZvcihyPXRoaXMuZG9jdW1lbnQoKSxpPW5ldyBvKHIsdCxuKSxzPWg9MCx1PShsPXIuY2hpbGRyZW4pLmxlbmd0aDtoPHU7cz0rK2gpaWYobFtzXS50eXBlPT09ZS5Eb2NUeXBlKXJldHVybiByLmNoaWxkcmVuW3NdPWksaTtmb3Iocz1wPTAsYz0oZD1yLmNoaWxkcmVuKS5sZW5ndGg7cDxjO3M9KytwKWlmKGRbc10uaXNSb290KXJldHVybiByLmNoaWxkcmVuLnNwbGljZShzLDAsaSksaTtyZXR1cm4gci5jaGlsZHJlbi5wdXNoKGkpLGl9LG0ucHJvdG90eXBlLnVwPWZ1bmN0aW9uKCl7aWYodGhpcy5pc1Jvb3QpdGhyb3cgbmV3IEVycm9yKFwiVGhlIHJvb3Qgbm9kZSBoYXMgbm8gcGFyZW50LiBVc2UgZG9jKCkgaWYgeW91IG5lZWQgdG8gZ2V0IHRoZSBkb2N1bWVudCBvYmplY3QuXCIpO3JldHVybiB0aGlzLnBhcmVudH0sbS5wcm90b3R5cGUucm9vdD1mdW5jdGlvbigpe3ZhciB0O2Zvcih0PXRoaXM7dDspe2lmKHQudHlwZT09PWUuRG9jdW1lbnQpcmV0dXJuIHQucm9vdE9iamVjdDtpZih0LmlzUm9vdClyZXR1cm4gdDt0PXQucGFyZW50fX0sbS5wcm90b3R5cGUuZG9jdW1lbnQ9ZnVuY3Rpb24oKXt2YXIgdDtmb3IodD10aGlzO3Q7KXtpZih0LnR5cGU9PT1lLkRvY3VtZW50KXJldHVybiB0O3Q9dC5wYXJlbnR9fSxtLnByb3RvdHlwZS5lbmQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuZG9jdW1lbnQoKS5lbmQodCl9LG0ucHJvdG90eXBlLnByZXY9ZnVuY3Rpb24oKXt2YXIgdDtpZigodD10aGlzLnBhcmVudC5jaGlsZHJlbi5pbmRleE9mKHRoaXMpKTwxKXRocm93IG5ldyBFcnJvcihcIkFscmVhZHkgYXQgdGhlIGZpcnN0IG5vZGUuIFwiK3RoaXMuZGVidWdJbmZvKCkpO3JldHVybiB0aGlzLnBhcmVudC5jaGlsZHJlblt0LTFdfSxtLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKCl7dmFyIHQ7aWYoLTE9PT0odD10aGlzLnBhcmVudC5jaGlsZHJlbi5pbmRleE9mKHRoaXMpKXx8dD09PXRoaXMucGFyZW50LmNoaWxkcmVuLmxlbmd0aC0xKXRocm93IG5ldyBFcnJvcihcIkFscmVhZHkgYXQgdGhlIGxhc3Qgbm9kZS4gXCIrdGhpcy5kZWJ1Z0luZm8oKSk7cmV0dXJuIHRoaXMucGFyZW50LmNoaWxkcmVuW3QrMV19LG0ucHJvdG90eXBlLmltcG9ydERvY3VtZW50PWZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybihlPXQucm9vdCgpLmNsb25lKCkpLnBhcmVudD10aGlzLGUuaXNSb290PSExLHRoaXMuY2hpbGRyZW4ucHVzaChlKSx0aGlzfSxtLnByb3RvdHlwZS5kZWJ1Z0luZm89ZnVuY3Rpb24odCl7dmFyIGUsbjtyZXR1cm4gbnVsbCE9KHQ9dHx8dGhpcy5uYW1lKXx8KG51bGwhPShlPXRoaXMucGFyZW50KT9lLm5hbWU6dm9pZCAwKT9udWxsPT10P1wicGFyZW50OiA8XCIrdGhpcy5wYXJlbnQubmFtZStcIj5cIjoobnVsbCE9KG49dGhpcy5wYXJlbnQpP24ubmFtZTp2b2lkIDApP1wibm9kZTogPFwiK3QrXCI+LCBwYXJlbnQ6IDxcIit0aGlzLnBhcmVudC5uYW1lK1wiPlwiOlwibm9kZTogPFwiK3QrXCI+XCI6XCJcIn0sbS5wcm90b3R5cGUuZWxlPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gdGhpcy5lbGVtZW50KHQsZSxuKX0sbS5wcm90b3R5cGUubm9kPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gdGhpcy5ub2RlKHQsZSxuKX0sbS5wcm90b3R5cGUudHh0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnRleHQodCl9LG0ucHJvdG90eXBlLmRhdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jZGF0YSh0KX0sbS5wcm90b3R5cGUuY29tPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNvbW1lbnQodCl9LG0ucHJvdG90eXBlLmlucz1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmluc3RydWN0aW9uKHQsZSl9LG0ucHJvdG90eXBlLmRvYz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmRvY3VtZW50KCl9LG0ucHJvdG90eXBlLmRlYz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHRoaXMuZGVjbGFyYXRpb24odCxlLG4pfSxtLnByb3RvdHlwZS5lPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gdGhpcy5lbGVtZW50KHQsZSxuKX0sbS5wcm90b3R5cGUubj1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHRoaXMubm9kZSh0LGUsbil9LG0ucHJvdG90eXBlLnQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGV4dCh0KX0sbS5wcm90b3R5cGUuZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jZGF0YSh0KX0sbS5wcm90b3R5cGUuYz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jb21tZW50KHQpfSxtLnByb3RvdHlwZS5yPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnJhdyh0KX0sbS5wcm90b3R5cGUuaT1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmluc3RydWN0aW9uKHQsZSl9LG0ucHJvdG90eXBlLnU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy51cCgpfSxtLnByb3RvdHlwZS5pbXBvcnRYTUxCdWlsZGVyPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmltcG9ydERvY3VtZW50KHQpfSxtLnByb3RvdHlwZS5yZXBsYWNlQ2hpbGQ9ZnVuY3Rpb24odCxlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxtLnByb3RvdHlwZS5yZW1vdmVDaGlsZD1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxtLnByb3RvdHlwZS5hcHBlbmRDaGlsZD1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxtLnByb3RvdHlwZS5oYXNDaGlsZE5vZGVzPWZ1bmN0aW9uKCl7cmV0dXJuIDAhPT10aGlzLmNoaWxkcmVuLmxlbmd0aH0sbS5wcm90b3R5cGUuY2xvbmVOb2RlPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LG0ucHJvdG90eXBlLm5vcm1hbGl6ZT1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LG0ucHJvdG90eXBlLmlzU3VwcG9ydGVkPWZ1bmN0aW9uKHQsZSl7cmV0dXJuITB9LG0ucHJvdG90eXBlLmhhc0F0dHJpYnV0ZXM9ZnVuY3Rpb24oKXtyZXR1cm4gMCE9PXRoaXMuYXR0cmlicy5sZW5ndGh9LG0ucHJvdG90eXBlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uPWZ1bmN0aW9uKGUpe3ZhciBuO3JldHVybiB0aGlzLHRoaXM9PT1lPzA6dGhpcy5kb2N1bWVudCgpIT09ZS5kb2N1bWVudCgpPyhuPXQuRGlzY29ubmVjdGVkfHQuSW1wbGVtZW50YXRpb25TcGVjaWZpYyxNYXRoLnJhbmRvbSgpPC41P258PXQuUHJlY2VkaW5nOm58PXQuRm9sbG93aW5nLG4pOnRoaXMuaXNBbmNlc3RvcihlKT90LkNvbnRhaW5zfHQuUHJlY2VkaW5nOnRoaXMuaXNEZXNjZW5kYW50KGUpP3QuQ29udGFpbnN8dC5Gb2xsb3dpbmc6dGhpcy5pc1ByZWNlZGluZyhlKT90LlByZWNlZGluZzp0LkZvbGxvd2luZ30sbS5wcm90b3R5cGUuaXNTYW1lTm9kZT1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxtLnByb3RvdHlwZS5sb29rdXBQcmVmaXg9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sbS5wcm90b3R5cGUuaXNEZWZhdWx0TmFtZXNwYWNlPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LG0ucHJvdG90eXBlLmxvb2t1cE5hbWVzcGFjZVVSST1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxtLnByb3RvdHlwZS5pc0VxdWFsTm9kZT1mdW5jdGlvbih0KXt2YXIgZSxuLHI7aWYodC5ub2RlVHlwZSE9PXRoaXMubm9kZVR5cGUpcmV0dXJuITE7aWYodC5jaGlsZHJlbi5sZW5ndGghPT10aGlzLmNoaWxkcmVuLmxlbmd0aClyZXR1cm4hMTtmb3IoZT1uPTAscj10aGlzLmNoaWxkcmVuLmxlbmd0aC0xOzA8PXI/bjw9cjpuPj1yO2U9MDw9cj8rK246LS1uKWlmKCF0aGlzLmNoaWxkcmVuW2VdLmlzRXF1YWxOb2RlKHQuY2hpbGRyZW5bZV0pKXJldHVybiExO3JldHVybiEwfSxtLnByb3RvdHlwZS5nZXRGZWF0dXJlPWZ1bmN0aW9uKHQsZSl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sbS5wcm90b3R5cGUuc2V0VXNlckRhdGE9ZnVuY3Rpb24odCxlLG4pe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LG0ucHJvdG90eXBlLmdldFVzZXJEYXRhPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LG0ucHJvdG90eXBlLmNvbnRhaW5zPWZ1bmN0aW9uKHQpe3JldHVybiEhdCYmKHQ9PT10aGlzfHx0aGlzLmlzRGVzY2VuZGFudCh0KSl9LG0ucHJvdG90eXBlLmlzRGVzY2VuZGFudD1mdW5jdGlvbih0KXt2YXIgZSxuLHIsaTtmb3Iobj0wLHI9KGk9dGhpcy5jaGlsZHJlbikubGVuZ3RoO248cjtuKyspe2lmKHQ9PT0oZT1pW25dKSlyZXR1cm4hMDtpZihlLmlzRGVzY2VuZGFudCh0KSlyZXR1cm4hMH1yZXR1cm4hMX0sbS5wcm90b3R5cGUuaXNBbmNlc3Rvcj1mdW5jdGlvbih0KXtyZXR1cm4gdC5pc0Rlc2NlbmRhbnQodGhpcyl9LG0ucHJvdG90eXBlLmlzUHJlY2VkaW5nPWZ1bmN0aW9uKHQpe3ZhciBlLG47cmV0dXJuIGU9dGhpcy50cmVlUG9zaXRpb24odCksbj10aGlzLnRyZWVQb3NpdGlvbih0aGlzKSwtMSE9PWUmJi0xIT09biYmZTxufSxtLnByb3RvdHlwZS5pc0ZvbGxvd2luZz1mdW5jdGlvbih0KXt2YXIgZSxuO3JldHVybiBlPXRoaXMudHJlZVBvc2l0aW9uKHQpLG49dGhpcy50cmVlUG9zaXRpb24odGhpcyksLTEhPT1lJiYtMSE9PW4mJmU+bn0sbS5wcm90b3R5cGUudHJlZVBvc2l0aW9uPWZ1bmN0aW9uKHQpe3ZhciBlLG47cmV0dXJuIG49MCxlPSExLHRoaXMuZm9yZWFjaFRyZWVOb2RlKHRoaXMuZG9jdW1lbnQoKSxmdW5jdGlvbihyKXtpZihuKyssIWUmJnI9PT10KXJldHVybiBlPSEwfSksZT9uOi0xfSxtLnByb3RvdHlwZS5mb3JlYWNoVHJlZU5vZGU9ZnVuY3Rpb24odCxlKXt2YXIgbixyLGksbyxzO2Zvcih0fHwodD10aGlzLmRvY3VtZW50KCkpLHI9MCxpPShvPXQuY2hpbGRyZW4pLmxlbmd0aDtyPGk7cisrKXtpZihzPWUobj1vW3JdKSlyZXR1cm4gcztpZihzPXRoaXMuZm9yZWFjaFRyZWVOb2RlKG4sZSkpcmV0dXJuIHN9fSxtfSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URTV2WkdVdWFuTWlYU3dpYm1GdFpYTWlPbHNpUkc5amRXMWxiblJRYjNOcGRHbHZiaUlzSWs1dlpHVlVlWEJsSWl3aVdFMU1RMFJoZEdFaUxDSllUVXhEYjIxdFpXNTBJaXdpV0UxTVJHVmpiR0Z5WVhScGIyNGlMQ0pZVFV4RWIyTlVlWEJsSWl3aVdFMU1SSFZ0YlhraUxDSllUVXhGYkdWdFpXNTBJaXdpV0UxTVRtOWtaVXhwYzNRaUxDSllUVXhRY205alpYTnphVzVuU1c1emRISjFZM1JwYjI0aUxDSllUVXhTWVhjaUxDSllUVXhVWlhoMElpd2laMlYwVm1Gc2RXVWlMQ0pwYzBWdGNIUjVJaXdpYVhOR2RXNWpkR2x2YmlJc0ltbHpUMkpxWldOMElpd2ljbVZtTVNJc0ltaGhjMUJ5YjNBaUxDSm9ZWE5QZDI1UWNtOXdaWEowZVNJc0luSmxjWFZwY21VaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2lXRTFNVG05a1pTSXNJbkJoY21WdWRERWlMQ0owYUdseklpd2ljR0Z5Wlc1MElpd2liM0IwYVc5dWN5SXNJbk4wY21sdVoybG1lU0lzSW5aaGJIVmxJaXdpWTJocGJHUnlaVzRpTENKaVlYTmxWVkpKSWl3aVQySnFaV04wSWl3aVpHVm1hVzVsVUhKdmNHVnlkSGtpTENKd2NtOTBiM1I1Y0dVaUxDSm5aWFFpTENKdVlXMWxJaXdpZEhsd1pTSXNJbU5vYVd4a1RtOWtaVXhwYzNRaUxDSnViMlJsY3lJc0lteGxibWQwYUNJc0lta2lMQ0pwYm1SbGVFOW1JaXdpWkc5amRXMWxiblFpTENKamFHbHNaQ0lzSW1vaUxDSnNaVzRpTENKeVpXWXlJaXdpYzNSeUlpd2libTlrWlZSNWNHVWlMQ0pGYkdWdFpXNTBJaXdpUkc5amRXMWxiblJHY21GbmJXVnVkQ0lzSW5SbGVIUkRiMjUwWlc1MElpd2ljMlYwSWl3aVJYSnliM0lpTENKa1pXSjFaMGx1Wm04aUxDSnpaWFJRWVhKbGJuUWlMQ0p5WlhOMWJIUnpJaXdpY0hWemFDSXNJbVZzWlcxbGJuUWlMQ0poZEhSeWFXSjFkR1Z6SWl3aWRHVjRkQ0lzSW1Ob2FXeGtUbTlrWlNJc0ltbDBaVzBpTENKcklpd2lhMlY1SWl3aWJHRnpkRU5vYVd4a0lpd2liR1Z1TVNJc0luSmxaak1pTENKMllXd2lMQ0pCY25KaGVTSXNJbWx6UVhKeVlYa2lMQ0poY0hCc2VTSXNJbU5oYkd3aUxDSnBaMjV2Y21WRVpXTnZjbUYwYjNKeklpd2lZMjl1ZG1WeWRFRjBkRXRsZVNJc0ltRjBkSEpwWW5WMFpTSXNJbk4xWW5OMGNpSXNJbk5sY0dGeVlYUmxRWEp5WVhsSmRHVnRjeUlzSW1SMWJXMTVJaXdpYTJWbGNFNTFiR3hPYjJSbGN5SXNJbU52Ym5abGNuUlVaWGgwUzJWNUlpd2lZMjl1ZG1WeWRFTkVZWFJoUzJWNUlpd2lZMlJoZEdFaUxDSmpiMjUyWlhKMFEyOXRiV1Z1ZEV0bGVTSXNJbU52YlcxbGJuUWlMQ0pqYjI1MlpYSjBVbUYzUzJWNUlpd2ljbUYzSWl3aVkyOXVkbVZ5ZEZCSlMyVjVJaXdpYVc1emRISjFZM1JwYjI0aUxDSnViMlJsSWl3aWFXNXpaWEowUW1WbWIzSmxJaXdpYm1WM1EyaHBiR1FpTENKeVpXWkRhR2xzWkNJc0luSmxiVzkyWldRaUxDSnpjR3hwWTJVaUxDSnBjMUp2YjNRaUxDSnBibk5sY25SQlpuUmxjaUlzSW5KbGJXOTJaU0lzSW1OdmJtTmhkQ0lzSW1OdmJXMWxiblJDWldadmNtVWlMQ0pqYjIxdFpXNTBRV1owWlhJaUxDSjBZWEpuWlhRaUxDSnBibk5VWVhKblpYUWlMQ0pwYm5OV1lXeDFaU0lzSW1sdWMzUnlkV04wYVc5dVFtVm1iM0psSWl3aWFXNXpkSEoxWTNScGIyNUJablJsY2lJc0ltUmxZMnhoY21GMGFXOXVJaXdpZG1WeWMybHZiaUlzSW1WdVkyOWthVzVuSWl3aWMzUmhibVJoYkc5dVpTSXNJbVJ2WXlJc0luaHRiR1JsWXlJc0luVnVjMmhwWm5RaUxDSkVaV05zWVhKaGRHbHZiaUlzSW5KdmIzUWlMQ0prZEdRaUxDSndkV0pKUkNJc0luTjVjMGxFSWl3aVpHOWpkSGx3WlNJc0lrUnZZMVI1Y0dVaUxDSjFjQ0lzSWtSdlkzVnRaVzUwSWl3aWNtOXZkRTlpYW1WamRDSXNJbVZ1WkNJc0luQnlaWFlpTENKdVpYaDBJaXdpYVcxd2IzSjBSRzlqZFcxbGJuUWlMQ0pqYkc5dVpXUlNiMjkwSWl3aVkyeHZibVVpTENKbGJHVWlMQ0p1YjJRaUxDSjBlSFFpTENKa1lYUWlMQ0pqYjIwaUxDSnBibk1pTENKa1pXTWlMQ0psSWl3aWJpSXNJblFpTENKa0lpd2lZeUlzSW5JaUxDSjFJaXdpYVcxd2IzSjBXRTFNUW5WcGJHUmxjaUlzSW5KbGNHeGhZMlZEYUdsc1pDSXNJbTlzWkVOb2FXeGtJaXdpY21WdGIzWmxRMmhwYkdRaUxDSmhjSEJsYm1SRGFHbHNaQ0lzSW1oaGMwTm9hV3hrVG05a1pYTWlMQ0pqYkc5dVpVNXZaR1VpTENKa1pXVndJaXdpYm05eWJXRnNhWHBsSWl3aWFYTlRkWEJ3YjNKMFpXUWlMQ0ptWldGMGRYSmxJaXdpYUdGelFYUjBjbWxpZFhSbGN5SXNJbUYwZEhKcFluTWlMQ0pqYjIxd1lYSmxSRzlqZFcxbGJuUlFiM05wZEdsdmJpSXNJbTkwYUdWeUlpd2ljbVZ6SWl3aVJHbHpZMjl1Ym1WamRHVmtJaXdpU1cxd2JHVnRaVzUwWVhScGIyNVRjR1ZqYVdacFl5SXNJazFoZEdnaUxDSnlZVzVrYjIwaUxDSlFjbVZqWldScGJtY2lMQ0pHYjJ4c2IzZHBibWNpTENKcGMwRnVZMlZ6ZEc5eUlpd2lRMjl1ZEdGcGJuTWlMQ0pwYzBSbGMyTmxibVJoYm5RaUxDSnBjMUJ5WldObFpHbHVaeUlzSW1selUyRnRaVTV2WkdVaUxDSnNiMjlyZFhCUWNtVm1hWGdpTENKdVlXMWxjM0JoWTJWVlVra2lMQ0pwYzBSbFptRjFiSFJPWVcxbGMzQmhZMlVpTENKc2IyOXJkWEJPWVcxbGMzQmhZMlZWVWtraUxDSndjbVZtYVhnaUxDSnBjMFZ4ZFdGc1RtOWtaU0lzSW1kbGRFWmxZWFIxY21VaUxDSnpaWFJWYzJWeVJHRjBZU0lzSW1SaGRHRWlMQ0pvWVc1a2JHVnlJaXdpWjJWMFZYTmxja1JoZEdFaUxDSmpiMjUwWVdsdWN5SXNJbTV2WkdWUWIzTWlMQ0owYUdselVHOXpJaXdpZEhKbFpWQnZjMmwwYVc5dUlpd2lhWE5HYjJ4c2IzZHBibWNpTENKbWIzVnVaQ0lzSW5CdmN5SXNJbVp2Y21WaFkyaFVjbVZsVG05a1pTSXNJbVoxYm1NaVhTd2liV0Z3Y0dsdVozTWlPaUpEUVVOQkxGZEJRMFVzU1VGQlNVRXNSVUZCYTBKRExFVkJRVlZETEVWQlFWVkRMRVZCUVZsRExFVkJRV2RDUXl4RlFVRlpReXhGUVVGVlF5eEZRVUZ6UTBNc1JVRkJZVU1zUlVGQk1FSkRMRVZCUVZGRExFVkJRVk5ETEVWQlFWVkRMRVZCUVZORExFVkJRVmxETEVWQlFWVkRMRVZCUTJwUFF5eEZRVUZWTEVkQlFVZERMR1ZCUldaR0xFVkJRVTlITEZGQlFWRXNZVUZCWTBvc1JVRkJWME1zUlVGQlMwUXNVMEZCVlVRc1JVRkJZVVVzUlVGQlMwWXNWMEZCV1VRc1JVRkJWVWNzUlVGQlMwZ3NVVUZCVTBRc1JVRkJWMGtzUlVGQlMwb3NVMEZGTjBoTUxFVkJRV0VzUzBGRllrd3NSVUZCVnl4TFFVVllReXhGUVVGaExFdEJSV0pETEVWQlFXbENMRXRCUldwQ1F5eEZRVUZoTEV0QlJXSkxMRVZCUVZNc1MwRkZWRU1zUlVGQlZTeExRVVZXUml4RlFVRXlRaXhMUVVVelFrZ3NSVUZCVnl4TFFVVllUQ3hGUVVGWExFdEJSVmhQTEVWQlFXTXNTMEZKWkZJc1JVRkJiVUlzUzBGRmJrSnZRaXhQUVVGUFF5eFJRVUZ2UWl4WFFVTjZRaXhUUVVGVFF5eEZRVUZSUXl4SFFVTm1ReXhMUVVGTFF5eFBRVUZUUml4RlFVTldReXhMUVVGTFF5eFRRVU5RUkN4TFFVRkxSU3hSUVVGVlJpeExRVUZMUXl4UFFVRlBReXhSUVVNelFrWXNTMEZCUzBjc1ZVRkJXVWdzUzBGQlMwTXNUMEZCVDBVc1YwRkZMMEpJTEV0QlFVdEpMRTFCUVZFc1MwRkRZa29zUzBGQlMwc3NVMEZCVnl4SFFVTm9Ra3dzUzBGQlMwMHNVVUZCVlN4TFFVTldka0lzU1VGRFNFRXNSVUZCWVZrc1VVRkJVU3huUWtGRGNrSnFRaXhGUVVGWGFVSXNVVUZCVVN4alFVTnVRbWhDTEVWQlFXRm5RaXhSUVVGUkxHZENRVU55UW1Zc1JVRkJhVUpsTEZGQlFWRXNiMEpCUTNwQ1pDeEZRVUZoWXl4UlFVRlJMR2RDUVVOeVFsUXNSVUZCVTFNc1VVRkJVU3haUVVOcVFsSXNSVUZCVlZFc1VVRkJVU3hoUVVOc1FsWXNSVUZCTWtKVkxGRkJRVkVzT0VKQlEyNURZaXhGUVVGWFlTeFJRVUZSTEdOQlEyNUNiRUlzUlVGQlYydENMRkZCUVZFc1kwRkRia0pZTEVWQlFXTlhMRkZCUVZFc2FVSkJRMHBCTEZGQlFWRXNjVUpCUXpGQ2JrSXNSVUZCYlVKdFFpeFJRVUZSTEhWQ1FXOTBRaTlDTEU5QmFIUkNRVmtzVDBGQlQwTXNaVUZCWlZZc1JVRkJVVmNzVlVGQlZ5eFhRVUZaTEVOQlEyNUVReXhKUVVGTExGZEJRMGdzVDBGQlQxWXNTMEZCUzFjc1VVRkphRUpLTEU5QlFVOURMR1ZCUVdWV0xFVkJRVkZYTEZWQlFWY3NWMEZCV1N4RFFVTnVSRU1zU1VGQlN5eFhRVU5JTEU5QlFVOVdMRXRCUVV0WkxGRkJTV2hDVEN4UFFVRlBReXhsUVVGbFZpeEZRVUZSVnl4VlFVRlhMRmxCUVdFc1EwRkRjRVJETEVsQlFVc3NWMEZEU0N4UFFVRlBWaXhMUVVGTFNTeFRRVWxvUWtjc1QwRkJUME1zWlVGQlpWWXNSVUZCVVZjc1ZVRkJWeXhoUVVGakxFTkJRM0pFUXl4SlFVRkxMRmRCUTBnc1QwRkJUMVlzUzBGQlMwTXNWVUZKYUVKTkxFOUJRVTlETEdWQlFXVldMRVZCUVZGWExGVkJRVmNzWVVGQll5eERRVU55UkVNc1NVRkJTeXhYUVVsSUxFOUJTRXRXTEV0QlFVdGhMR1ZCUVd0Q1lpeExRVUZMWVN4alFVRmpReXhSUVVNM1EyUXNTMEZCUzJFc1kwRkJaMElzU1VGQlNUZENMRVZCUVZsblFpeExRVUZMU3l4WFFVVnlRMHdzUzBGQlMyRXNhVUpCU1doQ1RpeFBRVUZQUXl4bFFVRmxWaXhGUVVGUlZ5eFZRVUZYTEdGQlFXTXNRMEZEY2tSRExFbEJRVXNzVjBGRFNDeFBRVUZQVml4TFFVRkxTeXhUUVVGVExFbEJRVTBzVVVGSkwwSkZMRTlCUVU5RExHVkJRV1ZXTEVWQlFWRlhMRlZCUVZjc1dVRkJZU3hEUVVOd1JFTXNTVUZCU3l4WFFVTklMRTlCUVU5V0xFdEJRVXRMTEZOQlFWTk1MRXRCUVV0TExGTkJRVk5WTEU5QlFWTXNTVUZCVFN4UlFVbDBSRklzVDBGQlQwTXNaVUZCWlZZc1JVRkJVVmNzVlVGQlZ5eHJRa0ZCYlVJc1EwRkRNVVJETEVsQlFVc3NWMEZEU0N4SlFVRkpUU3hGUVVWS0xFOUJSRUZCTEVWQlFVbG9RaXhMUVVGTFF5eFBRVUZQU1N4VFFVRlRXU3hSUVVGUmFrSXNUVUZETVVKQkxFdEJRVXRETEU5QlFVOUpMRk5CUVZOWExFVkJRVWtzU1VGQlRTeFJRVWt4UTFRc1QwRkJUME1zWlVGQlpWWXNSVUZCVVZjc1ZVRkJWeXhqUVVGbExFTkJRM1JFUXl4SlFVRkxMRmRCUTBnc1NVRkJTVTBzUlVGRlNpeFBRVVJCUVN4RlFVRkphRUlzUzBGQlMwTXNUMEZCVDBrc1UwRkJVMWtzVVVGQlVXcENMRTFCUXpGQ1FTeExRVUZMUXl4UFFVRlBTU3hUUVVGVFZ5eEZRVUZKTEVsQlFVMHNVVUZKTVVOVUxFOUJRVTlETEdWQlFXVldMRVZCUVZGWExGVkJRVmNzWjBKQlFXbENMRU5CUTNoRVF5eEpRVUZMTEZkQlEwZ3NUMEZCVDFZc1MwRkJTMnRDTEZsQlFXTXNVVUZKT1VKWUxFOUJRVTlETEdWQlFXVldMRVZCUVZGWExGVkJRVmNzWTBGQlpTeERRVU4wUkVNc1NVRkJTeXhYUVVOSUxFbEJRVWxUTEVWQlFVOURMRVZCUVVkRExFVkJRVXRETEVWQlFVMURMRVZCUTNwQ0xFZEJRVWwyUWl4TFFVRkxkMElzVjBGQllTOURMRVZCUVZOblJDeFRRVUZYZWtJc1MwRkJTM2RDTEZkQlFXRXZReXhGUVVGVGFVUXNhVUpCUVd0Q0xFTkJSM0pHTEVsQlJrRklMRVZCUVUwc1IwRkZSRWdzUlVGQlNTeEZRVUZIUXl4SFFVUmFReXhGUVVGUGRFSXNTMEZCUzBzc1ZVRkRWMVVzVDBGQlVVc3NSVUZCU1VNc1JVRkJTMFFzUzBGRGRFTkVMRVZCUVZGSExFVkJRVXRHTEVsQlEwaFBMR05CUTFKS0xFZEJRVTlLTEVWQlFVMVJMR0ZCUjJwQ0xFOUJRVTlLTEVWQlJWQXNUMEZCVHl4TlFVZFlTeXhKUVVGTExGTkJRVk40UWl4SFFVTmFMRTFCUVUwc1NVRkJTWGxDTEUxQlFVMHNjME5CUVhkRE4wSXNTMEZCU3poQ0xHZENRVWxxUldoRExFVkJRVkZYTEZWQlFWVnpRaXhWUVVGWkxGTkJRVk01UWl4SFFVTnlReXhKUVVGSmEwSXNSVUZCVDBNc1JVRkJSME1zUlVGQlMwTXNSVUZCVFZVc1JVRlJla0lzU1VGUVFXaERMRXRCUVV0RExFOUJRVk5CTEVWQlExWkJMRWxCUTBaRUxFdEJRVXRGTEZGQlFWVkVMRVZCUVU5RExGRkJRM1JDUml4TFFVRkxSeXhWUVVGWlJpeEZRVUZQUlN4WFFVY3hRalpDTEVWQlFWVXNSMEZEVEZvc1JVRkJTU3hGUVVGSFF5eEhRVVphUXl4RlFVRlBkRUlzUzBGQlMwc3NWVUZGVjFVc1QwRkJVVXNzUlVGQlNVTXNSVUZCUzBRc1NVRkRkRU5FTEVWQlFWRkhMRVZCUVV0R0xFZEJRMkpaTEVWQlFWRkRMRXRCUVV0a0xFVkJRVTFaTEZWQlFWVXZRaXhQUVVVdlFpeFBRVUZQWjBNc1IwRkhWR3hETEVWQlFWRlhMRlZCUVZWNVFpeFJRVUZWTEZOQlFWTjJRaXhGUVVGTmQwSXNSVUZCV1VNc1IwRkRja1FzU1VGQlNVTXNSVUZCVjBNc1JVRkJUV3hDTEVWQlFVZHRRaXhGUVVGSFF5eEZRVUZMUXl4RlFVRlhjRUlzUlVGQlMzRkNMRVZCUVUxd1FpeEZRVUZOY1VJc1JVRkJUVU1zUlVGbGJFVXNSMEZrUVVnc1JVRkJXU3hMUVVOUExFOUJRV1pPTEVkQlFXZERMRTFCUVZKRExFbEJRMUJFTEVkQlFXNUNZaXhGUVVGUExFTkJRVU1zUjBGQlNTeFBRVUY1UWl4SFFVRkpZeXhGUVVGUFpDeEZRVUZMTEVsQlJYSkRMRTFCUVdSaExFbEJRMFpCTEVWQlFXRXNTVUZGWmtFc1JVRkJZUzlETEVWQlFWTXJReXhIUVVOcVFqVkRMRVZCUVZNMFF5eExRVU5sUXl4SFFVRXpRazhzUlVGQlR5eERRVUZEVWl4RlFVRlpReXhKUVVGdFFpeEhRVUZKUkN4RlFVRmhVU3hGUVVGTExFbEJSVzVFTEUxQlFWSm9ReXhKUVVOR1FTeEZRVUZQZGtJc1JVRkJVM1ZDTEVsQlJXUnJReXhOUVVGTlF5eFJRVUZSYmtNc1IwRkRhRUlzU1VGQlMxTXNSVUZCU1N4RlFVRkhReXhGUVVGTlZpeEZRVUZMU1N4UFFVRlJTeXhGUVVGSlF5eEZRVUZMUkN4SlFVTjBRMnRDTEVWQlFVOHpRaXhGUVVGTFV5eEhRVU5hY1VJc1JVRkJXWHBETEV0QlFVdHJReXhSUVVGUlNTeFJRVVYwUWl4SFFVRkphRVFzUlVGQlYzRkNMRWRCUTNCQ09FSXNSVUZCV1hwRExFdEJRVXRyUXl4UlFVRlJka0lzUlVGQlMyOURMR05CUTNwQ0xFZEJRVWw0UkN4RlFVRlRiMElzU1VGRGJFSXNTVUZCU3paQ0xFdEJRVTgzUWl4RlFVTldMRWRCUVV0c1FpeEZRVUZSZFVRc1MwRkJTM0pETEVWQlFVMDJRaXhIUVV0NFFpeEhRVXBCU1N4RlFVRk5ha01zUlVGQlN6WkNMRWRCUTFCc1JDeEZRVUZYYzBRc1MwRkRZa0VzUlVGQlRVRXNSVUZCU1Vjc1ZVRkZVQzlETEV0QlFVdEZMRkZCUVZFclF5eHJRa0ZCYjBKcVJDeExRVUZMUnl4VlFVRlZLME1zWlVGQkswUXNTVUZCT1VOV0xFVkJRVWwyUWl4UlFVRlJha0lzUzBGQlMwY3NWVUZCVlN0RExHVkJReTlHVkN4RlFVRlpla01zUzBGQlMyMUVMRlZCUVZWWUxFVkJRVWxaTEU5QlFVOXdSQ3hMUVVGTFJ5eFZRVUZWSzBNc1kwRkJZMjVETEZGQlFWTTJRaXhSUVVOMlJTeEpRVUZMTlVNc1MwRkJTMFVzVVVGQlVXMUVMRzlDUVVGelFsSXNUVUZCVFVNc1VVRkJVVVlzU1VGQlVYWkVMRVZCUVZGMVJDeEhRVU16UlVnc1JVRkJXWHBETEV0QlFVdHpSQ3hoUVVOYUxFZEJRVWt2UkN4RlFVRlRjVVFzU1VGQlVYWkVMRVZCUVZGMVJDeEhRVU5zUTBnc1JVRkJXWHBETEV0QlFVdHJReXhSUVVGUlRTeFJRVU53UWl4SFFVRkxlRU1zUzBGQlMwVXNVVUZCVVhGRUxHVkJRWGxDTEUxQlFWQllMRVZCUlhCRExFbEJRVXMxUXl4TFFVRkxSU3hSUVVGUmJVUXNiMEpCUVhOQ1VpeE5RVUZOUXl4UlFVRlJSaXhIUVVNelJDeEpRVUZMVEN4RlFVRkpMRVZCUVVkSExFVkJRVTlGTEVWQlFVazNRaXhQUVVGUmQwSXNSVUZCU1Vjc1JVRkJUVWdzU1VGRGRrTkVMRVZCUVU5TkxFVkJRVWxNTEVsQlExaEdMRVZCUVZrc1NVRkRSa2NzUjBGQlQwWXNSVUZEYWtKSExFVkJRVmw2UXl4TFFVRkxhME1zVVVGQlVVY3NVVUZGYkVJNVF5eEZRVUZUY1VRc1NVRkRZalZETEV0QlFVdEZMRkZCUVZFclF5eHJRa0ZCYjBKcVJDeExRVUZMUnl4VlFVRlZjVVFzWjBKQlFXbEZMRWxCUVM5RGFFSXNSVUZCU1haQ0xGRkJRVkZxUWl4TFFVRkxSeXhWUVVGVmNVUXNaMEpCUTJoSFppeEZRVUZaZWtNc1MwRkJTMnRETEZGQlFWRlZMRWxCUlhwQ1NDeEZRVUZaZWtNc1MwRkJTMnRETEZGQlFWRk5MRWxCUTJaT0xGRkJRVkZWTEVkQlIzQkNTQ3hGUVVGWmVrTXNTMEZCUzJ0RExGRkJRVkZOTEVWQlFVdEpMRkZCYUVJNVFrZ3NSVUZCV1hwRExFdEJRVXR6UkN4aFFYVkNia0ppTEVWQlNsRjZReXhMUVVGTFJTeFJRVUZSY1VRc1pVRkJNRUlzVDBGQlZHNUNMRWRCUjI1RGNFTXNTMEZCUzBVc1VVRkJVU3RETEd0Q1FVRnZRbXBFTEV0QlFVdEhMRlZCUVZWeFJDeG5Ra0ZCYTBVc1NVRkJhRVEzUXl4RlFVRkxUU3hSUVVGUmFrSXNTMEZCUzBjc1ZVRkJWWEZFTEdkQ1FVTnlSbmhFTEV0QlFVdHZReXhMUVVGTFFTeEpRVU5hY0VNc1MwRkJTMFVzVVVGQlVTdERMR3RDUVVGdlFtcEVMRXRCUVV0SExGVkJRVlZ6UkN4cFFrRkJiMFVzU1VGQmFrUTVReXhGUVVGTFRTeFJRVUZSYWtJc1MwRkJTMGNzVlVGQlZYTkVMR2xDUVVNM1JucEVMRXRCUVVzd1JDeE5RVUZOZEVJc1NVRkRZbkJETEV0QlFVdEZMRkZCUVZFclF5eHJRa0ZCYjBKcVJDeExRVUZMUnl4VlFVRlZkMFFzYlVKQlFYZEZMRWxCUVc1RWFFUXNSVUZCUzAwc1VVRkJVV3BDTEV0QlFVdEhMRlZCUVZWM1JDeHRRa0ZETDBZelJDeExRVUZMTkVRc1VVRkJVWGhDTEVsQlEyWndReXhMUVVGTFJTeFJRVUZSSzBNc2EwSkJRVzlDYWtRc1MwRkJTMGNzVlVGQlZUQkVMR1ZCUVdkRkxFbEJRUzlEYkVRc1JVRkJTMDBzVVVGQlVXcENMRXRCUVV0SExGVkJRVlV3UkN4bFFVTXpSamRFTEV0QlFVczRSQ3hKUVVGSk1VSXNTVUZEV0hCRExFdEJRVXRGTEZGQlFWRXJReXhyUWtGQmIwSnFSQ3hMUVVGTFJ5eFZRVUZWTkVRc1kwRkJPRVFzU1VGQk9VTndSQ3hGUVVGTFRTeFJRVUZSYWtJc1MwRkJTMGNzVlVGQlZUUkVMR05CUXpGR0wwUXNTMEZCUzJkRkxGbEJRVmx5UkN4RlFVRkxlVU1zVDBGQlQzQkVMRXRCUVV0SExGVkJRVlUwUkN4aFFVRmhhRVFzVVVGQlUzRkNMRWRCUld4RmNFTXNTMEZCUzJsRkxFdEJRVXQwUkN4RlFVRk5kMElzUlVGQldVTXNSMEZpT1VKd1F5eExRVUZMYzBRc1VVRm5RbTVDTEVkQlFXbENMRTFCUVdKaUxFVkJRMFlzVFVGQlRTeEpRVUZKV2l4TlFVRk5MSFZEUVVGNVEyeENMRVZCUVU4c1MwRkJUMWdzUzBGQlN6aENMR0ZCUlRsRkxFOUJRVTlYTEVkQlIxUXpReXhGUVVGUlZ5eFZRVUZWZVVRc1lVRkJaU3hUUVVGVGRrUXNSVUZCVFhkQ0xFVkJRVmxETEVkQlF6RkVMRWxCUVVscVFpeEZRVUZQU0N4RlFVRkhiVVFzUlVGQlZVTXNSVUZCVlVNc1JVRkRiRU1zUjBGQldTeE5RVUZTTVVRc1JVRkJaVUVzUlVGQlMwTXNWVUZCVHl4RlFWazNRaXhQUVZaQmQwUXNSVUZCVjJwRExFZEJSRmhuUXl4RlFVRlhlRVFzUjBGRlJtOUNMRlZCUVZVdlFpeE5RVU5tYjBVc1IwRkRSbkJFTEVWQlFVbFlMRk5CUVZOWkxGRkJRVkZ0UkN4SFFVTnlRa01zUlVGQlZXaEZMRk5CUVZOcFJTeFBRVUZQZEVRc1IwRkRNVUpZTEZOQlFWTTBRaXhMUVVGTGEwTXNSMEZEWkhSQ0xFMUJRVTF3UXl4VlFVRlZkMElzUzBGQlMyTXNUVUZCVFRGRExGTkJRVlZuUlN4SlFVVnlRMmhGTEZOQlFWTTBRaXhMUVVGTGEwTXNSMEZGVkVFc1JVRkZVQ3hIUVVGSmJrVXNTMEZCUzNWRkxFOUJRMUFzVFVGQlRTeEpRVUZKTVVNc1RVRkJUU3g1UTBGQk1rTTNRaXhMUVVGTE9FSXNWVUZCVlc1Q0xFbEJUVFZGTEU5QlNrRkxMRVZCUVVsb1FpeExRVUZMUXl4UFFVRlBTU3hUUVVGVFdTeFJRVUZSYWtJc1RVRkRha054UlN4RlFVRlZja1VzUzBGQlMwTXNUMEZCVDBrc1UwRkJVMmxGTEU5QlFVOTBSQ3hIUVVOMFEwY3NSVUZCVVc1Q0xFdEJRVXRETEU5QlFVOXBReXhSUVVGUmRrSXNSVUZCVFhkQ0xFVkJRVmxETEVkQlF6bERVeXhOUVVGTmNFTXNWVUZCVlhkQ0xFdEJRVXRqTEUxQlFVMHZReXhMUVVGTFF5eFBRVUZQU1N4VFFVRlZaMFVzUjBGRE1VTnNSQ3hIUVVsWWNrSXNSVUZCVVZjc1ZVRkJWU3RFTEZsQlFXTXNVMEZCVXpkRUxFVkJRVTEzUWl4RlFVRlpReXhIUVVONlJDeEpRVUZKYWtJc1JVRkJUMGdzUlVGQlIzRkVMRVZCUTJRc1IwRkJTWEpGTEV0QlFVdDFSU3hQUVVOUUxFMUJRVTBzU1VGQlNURkRMRTFCUVUwc2VVTkJRVEpETjBJc1MwRkJTemhDTEZWQlFWVnVRaXhKUVUwMVJTeFBRVXBCU3l4RlFVRkphRUlzUzBGQlMwTXNUMEZCVDBrc1UwRkJVMWtzVVVGQlVXcENMRTFCUTJwRGNVVXNSVUZCVlhKRkxFdEJRVXRETEU5QlFVOUpMRk5CUVZOcFJTeFBRVUZQZEVRc1JVRkJTU3hIUVVNeFEwY3NSVUZCVVc1Q0xFdEJRVXRETEU5QlFVOXBReXhSUVVGUmRrSXNSVUZCVFhkQ0xFVkJRVmxETEVkQlF6bERVeXhOUVVGTmNFTXNWVUZCVlhkQ0xFdEJRVXRqTEUxQlFVMHZReXhMUVVGTFF5eFBRVUZQU1N4VFFVRlZaMFVzUjBGRE1VTnNSQ3hIUVVkVWNrSXNSVUZCVVZjc1ZVRkJWV2RGTEU5QlFWTXNWMEZEZWtJc1NVRkJTWHBFTEVWQlEwb3NSMEZCU1doQ0xFdEJRVXQxUlN4UFFVTlFMRTFCUVUwc1NVRkJTVEZETEUxQlFVMHNiVU5CUVhGRE4wSXNTMEZCU3poQ0xHRkJTVFZFTEU5QlJrRmtMRVZCUVVsb1FpeExRVUZMUXl4UFFVRlBTU3hUUVVGVFdTeFJRVUZSYWtJc1RVRkRha01zUjBGQlIzTkZMRTlCUVU5MlFpeE5RVUZOTDBNc1MwRkJTME1zVDBGQlQwa3NVMEZCVlN4RFFVRkRWeXhGUVVGSFFTeEZRVUZKUVN4RlFVRkpMRWRCUVVjd1JDeFBRVUZqTEV0QlF6VkVNVVVzUzBGQlMwTXNVVUZIWkVnc1JVRkJVVmNzVlVGQlZYZEVMRXRCUVU4c1UwRkJVM1JFTEVWQlFVMTNRaXhGUVVGWlF5eEhRVU5zUkN4SlFVRkpha0lzUlVGQlQwY3NSVUZqV0N4UFFXSlpMRTFCUVZKWUxFbEJRMFpCTEVWQlFVOTJRaXhGUVVGVGRVSXNTVUZGYkVKM1FpeEpRVUZsUVN4RlFVRmhMRWxCUXpWQ1FTeEZRVUZoTDBNc1JVRkJVeXRETEVkQlEycENOVU1zUlVGQlV6UkRMRXRCUTJWRExFZEJRVE5DWkN4RlFVRlBMRU5CUVVOaExFVkJRVmxETEVsQlFXMUNMRWRCUVVsRUxFVkJRV0ZpTEVWQlFVc3NTVUZGTDBSSUxFVkJRVkVzU1VGQlNYQkRMRVZCUVZkcFFpeExRVUZOVnl4RlFVRk5kMElzUjBGRGRrSXNUVUZCVWtNc1IwRkRSbXBDTEVWQlFVMXBRaXhMUVVGTFFTeEhRVVZpY0VNc1MwRkJTMHNzVTBGQlV6UkNMRXRCUVV0a0xFZEJRMXBCTEVkQlIxUnlRaXhGUVVGUlZ5eFZRVUZWTWtJc1MwRkJUeXhUUVVGVGFFTXNSMEZEYUVNc1NVRkJTV1VzUlVGTlNpeFBRVXhKTlVJc1JVRkJVMkVzU1VGRFdFb3NTMEZCUzJ0RExGRkJRVkU1UWl4SFFVVm1aU3hGUVVGUkxFbEJRVWxvUXl4RlFVRlJZU3hMUVVGTlNTeEhRVU14UWtvc1MwRkJTMHNzVTBGQlV6UkNMRXRCUVV0a0xFZEJRMXB1UWl4TlFVZFVSaXhGUVVGUlZ5eFZRVUZWYVVRc1RVRkJVU3hUUVVGVGRFUXNSMEZEYWtNc1NVRkJTV1VzUlVGSFNpeFBRVVpCUVN4RlFVRlJMRWxCUVVsNlF5eEZRVUZUYzBJc1MwRkJUVWtzUjBGRE0wSktMRXRCUVV0TExGTkJRVk0wUWl4TFFVRkxaQ3hIUVVOYWJrSXNUVUZIVkVZc1JVRkJVVmNzVlVGQlZXMUVMRkZCUVZVc1UwRkJVM2hFTEVkQlEyNURMRWxCUVVsbExFVkJSMG9zVDBGR1FVRXNSVUZCVVN4SlFVRkplRU1zUlVGQlYzRkNMRXRCUVUxSkxFZEJRemRDU2l4TFFVRkxTeXhUUVVGVE5FSXNTMEZCUzJRc1IwRkRXbTVDTEUxQlIxUkdMRVZCUVZGWExGVkJRVlZyUlN4alFVRm5RaXhUUVVGVGRrVXNSMEZEZWtNc1NVRkJWMWtzUlVGQlIzRkVMRVZCUzJRc1QwRktRWEpFTEVWQlFVbG9RaXhMUVVGTFF5eFBRVUZQU1N4VFFVRlRXU3hSUVVGUmFrSXNUVUZEYWtOeFJTeEZRVUZWY2tVc1MwRkJTME1zVDBGQlQwa3NVMEZCVTJsRkxFOUJRVTkwUkN4SFFVTTVRbWhDTEV0QlFVdERMRTlCUVU4eVJDeFJRVUZSZUVRc1IwRkROVUo1UXl4TlFVRk5jRU1zVlVGQlZYZENMRXRCUVV0akxFMUJRVTB2UXl4TFFVRkxReXhQUVVGUFNTeFRRVUZWWjBVc1IwRkRNVU55UlN4TlFVZFVSaXhGUVVGUlZ5eFZRVUZWYlVVc1lVRkJaU3hUUVVGVGVFVXNSMEZEZUVNc1NVRkJWMWtzUlVGQlIzRkVMRVZCUzJRc1QwRktRWEpFTEVWQlFVbG9RaXhMUVVGTFF5eFBRVUZQU1N4VFFVRlRXU3hSUVVGUmFrSXNUVUZEYWtOeFJTeEZRVUZWY2tVc1MwRkJTME1zVDBGQlQwa3NVMEZCVTJsRkxFOUJRVTkwUkN4RlFVRkpMRWRCUTJ4RGFFSXNTMEZCUzBNc1QwRkJUekpFTEZGQlFWRjRSQ3hIUVVNMVFubERMRTFCUVUxd1F5eFZRVUZWZDBJc1MwRkJTMk1zVFVGQlRTOURMRXRCUVV0RExFOUJRVTlKTEZOQlFWVm5SU3hIUVVNeFEzSkZMRTFCUjFSR0xFVkJRVkZYTEZWQlFWVnhSQ3hKUVVGTkxGTkJRVk14UkN4SFFVTXZRaXhKUVVGSlpTeEZRVWRLTEU5QlJrRkJMRVZCUVZFc1NVRkJTV3BETEVWQlFVOWpMRXRCUVUxSkxFZEJRM3BDU2l4TFFVRkxTeXhUUVVGVE5FSXNTMEZCUzJRc1IwRkRXbTVDTEUxQlIxUkdMRVZCUVZGWExGVkJRVlUyUXl4TlFVRlJMRmRCUjNoQ0xFOUJSRkVzU1VGQlNYaEZMRVZCUVZOclFpeFBRVWwyUWtZc1JVRkJVVmNzVlVGQlZYVkVMRmxCUVdNc1UwRkJVMkVzUlVGQlVYcEZMRWRCUXk5RExFbEJRVWt3UlN4RlFVRlhReXhGUVVGVlppeEZRVUZoTlVNc1JVRkJSME1zUlVGUGVrTXNSMEZPWXl4TlFVRldkMFFzU1VGRFJrRXNSVUZCVTNwR0xFVkJRVk41Uml4SlFVVlFMRTFCUVZSNlJTeEpRVU5HUVN4RlFVRlJhRUlzUlVGQlUyZENMRWxCUldaNVF5eE5RVUZOUXl4UlFVRlJLMElzUjBGRGFFSXNTVUZCUzNwRUxFVkJRVWtzUlVGQlIwTXNSVUZCVFhkRUxFVkJRVTg1UkN4UFFVRlJTeXhGUVVGSlF5eEZRVUZMUkN4SlFVTjRRekJFTEVWQlFWbEVMRVZCUVU5NlJDeEhRVU51UW5CQ0xFdEJRVXRuUlN4WlFVRlpZeXhSUVVWa0xFZEJRVWwyUml4RlFVRlRjMFlzUjBGRGJFSXNTVUZCUzBNc1MwRkJZVVFzUlVGRFdIQkdMRVZCUVZGMVJDeExRVUZMTmtJc1JVRkJVVU1zUzBGRE1VSkRMRVZCUVZkR0xFVkJRVTlETEVkQlEyeENPVVVzUzBGQlMyZEZMRmxCUVZsakxFVkJRVmRETEZOQlJ6RkNla1lzUlVGQlYyTXNTMEZEWWtFc1JVRkJVVUVzUlVGQlRUSkRMRk5CUldoQ2FVSXNSVUZCWXl4SlFVRkpMMFVzUlVGQmVVSmxMRXRCUVUwMlJTeEZRVUZSZWtVc1IwRkRla1JLTEV0QlFVdExMRk5CUVZNMFFpeExRVUZMSzBJc1IwRkZja0lzVDBGQlQyaEZMRTFCUjFSR0xFVkJRVkZYTEZWQlFWVjFSU3hyUWtGQmIwSXNVMEZCVTBnc1JVRkJVWHBGTEVkQlEzSkVMRWxCUVZkWkxFVkJRVWR4UkN4RlFVdGtMRTlCU2tGeVJDeEZRVUZKYUVJc1MwRkJTME1zVDBGQlQwa3NVMEZCVTFrc1VVRkJVV3BDTEUxQlEycERjVVVzUlVGQlZYSkZMRXRCUVV0RExFOUJRVTlKTEZOQlFWTnBSU3hQUVVGUGRFUXNSMEZET1VKb1FpeExRVUZMUXl4UFFVRlBLMFFzV1VGQldXRXNSVUZCVVhwRkxFZEJRM2hEZVVNc1RVRkJUWEJETEZWQlFWVjNRaXhMUVVGTFl5eE5RVUZOTDBNc1MwRkJTME1zVDBGQlQwa3NVMEZCVldkRkxFZEJRekZEY2tVc1RVRkhWRVlzUlVGQlVWY3NWVUZCVlhkRkxHbENRVUZ0UWl4VFFVRlRTaXhGUVVGUmVrVXNSMEZEY0VRc1NVRkJWMWtzUlVGQlIzRkVMRVZCUzJRc1QwRktRWEpFTEVWQlFVbG9RaXhMUVVGTFF5eFBRVUZQU1N4VFFVRlRXU3hSUVVGUmFrSXNUVUZEYWtOeFJTeEZRVUZWY2tVc1MwRkJTME1zVDBGQlQwa3NVMEZCVTJsRkxFOUJRVTkwUkN4RlFVRkpMRWRCUTJ4RGFFSXNTMEZCUzBNc1QwRkJUeXRFTEZsQlFWbGhMRVZCUVZGNlJTeEhRVU40UTNsRExFMUJRVTF3UXl4VlFVRlZkMElzUzBGQlMyTXNUVUZCVFM5RExFdEJRVXRETEU5QlFVOUpMRk5CUVZWblJTeEhRVU14UTNKRkxFMUJSMVJHTEVWQlFWRlhMRlZCUVZWNVJTeFpRVUZqTEZOQlFWTkRMRVZCUVZORExFVkJRVlZETEVkQlF6RkVMRWxCUVVsRExFVkJRVXRETEVWQlZWUXNUMEZVUVVRc1JVRkJUWFJHTEV0QlFVdHJRaXhYUVVOWWNVVXNSVUZCVXl4SlFVRkpNMGNzUlVGQlpUQkhMRVZCUVV0SUxFVkJRVk5ETEVWQlFWVkRMRWRCUTNoQ0xFbEJRWGhDUXl4RlFVRkpha1lzVTBGQlUxVXNUMEZEWm5WRkxFVkJRVWxxUml4VFFVRlRiVVlzVVVGQlVVUXNSMEZEV2tRc1JVRkJTV3BHTEZOQlFWTXNSMEZCUjA4c1QwRkJVMjVETEVWQlFWTm5TQ3haUVVNelEwZ3NSVUZCU1dwR0xGTkJRVk1zUjBGQlMydEdMRVZCUld4Q1JDeEZRVUZKYWtZc1UwRkJVMjFHTEZGQlFWRkVMRWRCUldoQ1JDeEZRVUZKU1N4UlFVRlZTaXhIUVVkMlFuaEdMRVZCUVZGWExGVkJRVlZyUml4SlFVRk5MRk5CUVZORExFVkJRVTlETEVkQlEzUkRMRWxCUVZkUUxFVkJRVXRSTEVWQlFWTTVSU3hGUVVGSFNTeEZRVUZIYlVJc1JVRkJSMnhDTEVWQlFVdHhRaXhGUVVGTmNFSXNSVUZCVFhGQ0xFVkJTVzVFTEVsQlNFRXlReXhGUVVGTmRFWXNTMEZCUzJ0Q0xGZEJRMWcwUlN4RlFVRlZMRWxCUVVscVNDeEZRVUZYZVVjc1JVRkJTMDBzUlVGQlQwTXNSMEZGYUVNM1JTeEZRVUZKU1N4RlFVRkpMRVZCUVVkRExFZEJSR2hDUXl4RlFVRlBaMFVzUlVGQlNXcEdMRlZCUTJkQ1ZTeFBRVUZSU3l4RlFVRkpReXhGUVVGTFRDeEpRVUZOU1N4RlFVVm9SQ3hIUVVSUlJTeEZRVUZMVGl4SFFVTklTaXhQUVVGVGJrTXNSVUZCVTNOSUxGRkJSVEZDTEU5QlJFRlVMRVZCUVVscVJpeFRRVUZUVnl4SFFVRkxPRVVzUlVGRFdFRXNSVUZKV0N4SlFVRkxPVVVzUlVGQlNYVkNMRVZCUVVrc1JVRkJSMGNzUjBGRWFFSkRMRVZCUVU4eVF5eEZRVUZKYWtZc1ZVRkRhVUpWTEU5QlFWRjNRaXhGUVVGSlJ5eEZRVUZOTVVJc1NVRkJUWFZDTEVWQlJXeEVMRWRCUkZGSkxFVkJRVXN6UWl4SFFVTklkVVFzVDBGRlVpeFBRVVJCWlN4RlFVRkpha1lzVTBGQlUybEZMRTlCUVU5MFJDeEZRVUZITEVWQlFVYzRSU3hIUVVOdVFrRXNSVUZKV0N4UFFVUkJVaXhGUVVGSmFrWXNVMEZCVXpSQ0xFdEJRVXMyUkN4SFFVTllRU3hIUVVkVWFFY3NSVUZCVVZjc1ZVRkJWWFZHTEVkQlFVc3NWMEZEY2tJc1IwRkJTV2hITEV0QlFVdDFSU3hQUVVOUUxFMUJRVTBzU1VGQlNURkRMRTFCUVUwc2EwWkJSV3hDTEU5QlFVODNRaXhMUVVGTFF5eFJRVWRrU0N4RlFVRlJWeXhWUVVGVmFVWXNTMEZCVHl4WFFVTjJRaXhKUVVGSmVrSXNSVUZGU2l4SlFVUkJRU3hGUVVGUGFrVXNTMEZEUVdsRkxFZEJRVTBzUTBGRFdDeEhRVUZKUVN4RlFVRkxja1FzVDBGQlUyNURMRVZCUVZOM1NDeFRRVU42UWl4UFFVRlBhRU1zUlVGQlMybERMRmRCUTFBc1IwRkJTV3BETEVWQlFVdE5MRTlCUTJRc1QwRkJUMDRzUlVGRlVFRXNSVUZCVDBFc1JVRkJTMmhGTEZOQlMyeENTQ3hGUVVGUlZ5eFZRVUZWVXl4VFFVRlhMRmRCUXpOQ0xFbEJRVWtyUXl4RlFVVktMRWxCUkVGQkxFVkJRVTlxUlN4TFFVTkJhVVVzUjBGQlRTeERRVU5ZTEVkQlFVbEJMRVZCUVV0eVJDeFBRVUZUYmtNc1JVRkJVM2RJTEZOQlEzcENMRTlCUVU5b1F5eEZRVVZRUVN4RlFVRlBRU3hGUVVGTGFFVXNVMEZMYkVKSUxFVkJRVkZYTEZWQlFWVXdSaXhKUVVGTkxGTkJRVk5xUnl4SFFVTXZRaXhQUVVGUFJpeExRVUZMYTBJc1YwRkJWMmxHTEVsQlFVbHFSeXhKUVVjM1Frb3NSVUZCVVZjc1ZVRkJWVEpHTEV0QlFVOHNWMEZEZGtJc1NVRkJTWEJHTEVWQlJVb3NTVUZFUVVFc1JVRkJTV2hDTEV0QlFVdERMRTlCUVU5SkxGTkJRVk5aTEZGQlFWRnFRaXhQUVVONlFpeEZRVU5PTEUxQlFVMHNTVUZCU1RaQ0xFMUJRVTBzT0VKQlFXZEROMElzUzBGQlN6aENMR0ZCUlhaRUxFOUJRVTg1UWl4TFFVRkxReXhQUVVGUFNTeFRRVUZUVnl4RlFVRkpMRWxCUjJ4RGJFSXNSVUZCVVZjc1ZVRkJWVFJHTEV0QlFVOHNWMEZEZGtJc1NVRkJTWEpHTEVWQlJVb3NTVUZCVnl4TFFVUllRU3hGUVVGSmFFSXNTMEZCUzBNc1QwRkJUMGtzVTBGQlUxa3NVVUZCVVdwQ0xGRkJRMnBDWjBJc1NVRkJUV2hDTEV0QlFVdERMRTlCUVU5SkxGTkJRVk5WTEU5QlFWTXNSVUZEYkVRc1RVRkJUU3hKUVVGSll5eE5RVUZOTERaQ1FVRXJRamRDTEV0QlFVczRRaXhoUVVWMFJDeFBRVUZQT1VJc1MwRkJTME1zVDBGQlQwa3NVMEZCVTFjc1JVRkJTU3hKUVVkc1EyeENMRVZCUVZGWExGVkJRVlUyUml4bFFVRnBRaXhUUVVGVGFFSXNSMEZETVVNc1NVRkJTV2xDTEVWQlMwb3NUMEZLUVVFc1JVRkJZV3BDTEVWQlFVbEpMRTlCUVU5akxGTkJRMkoyUnl4UFFVRlRSQ3hMUVVOd1FuVkhMRVZCUVZkb1F5eFJRVUZUTEVWQlEzQkNka1VzUzBGQlMwc3NVMEZCVXpSQ0xFdEJRVXR6UlN4SFFVTmFka2NzVFVGSFZFWXNSVUZCVVZjc1ZVRkJWWEZDTEZWQlFWa3NVMEZCVTI1Q0xFZEJRM0pETEVsQlFVbFhMRVZCUVUxeFFpeEZRVVZXTEU5QlFXRXNUMEZFWW1oRExFVkJRVTlCTEVkQlFWRllMRXRCUVV0WExGRkJRelJDTEU5QlFYWkNWeXhGUVVGUGRFSXNTMEZCUzBNc1VVRkJhMEp4UWl4RlFVRkxXQ3hWUVVGUExFZEJSV2hFTEUxQlFWSkJMRVZCUTBZc1dVRkJZMWdzUzBGQlMwTXNUMEZCVDFVc1MwRkJUeXhMUVVOTUxFOUJRWFpDWjBNc1JVRkJUek5ETEV0QlFVdERMRkZCUVd0Q01FTXNSVUZCUzJoRExGVkJRVThzUjBGSEwwTXNWVUZCV1VFc1JVRkJUeXhsUVVGcFFsZ3NTMEZCUzBNc1QwRkJUMVVzUzBGQlR5eEpRVVoyUkN4VlFVRlpRU3hGUVVGUExFbEJTbTVDTEVsQlZWaGlMRVZCUVZGWExGVkJRVlZuUnl4SlFVRk5MRk5CUVZNNVJpeEZRVUZOZDBJc1JVRkJXVU1zUjBGRGFrUXNUMEZCVDNCRExFdEJRVXRyUXl4UlFVRlJka0lzUlVGQlRYZENMRVZCUVZsRExFbEJSM2hEZEVNc1JVRkJVVmNzVlVGQlZXbEhMRWxCUVUwc1UwRkJVeTlHTEVWQlFVMTNRaXhGUVVGWlF5eEhRVU5xUkN4UFFVRlBjRU1zUzBGQlMybEZMRXRCUVV0MFJDeEZRVUZOZDBJc1JVRkJXVU1zU1VGSGNrTjBReXhGUVVGUlZ5eFZRVUZWYTBjc1NVRkJUU3hUUVVGVGRrY3NSMEZETDBJc1QwRkJUMG9zUzBGQlMyOURMRXRCUVV0b1F5eEpRVWR1UWs0c1JVRkJVVmNzVlVGQlZXMUhMRWxCUVUwc1UwRkJVM2hITEVkQlF5OUNMRTlCUVU5S0xFdEJRVXN3UkN4TlFVRk5kRVFzU1VGSGNFSk9MRVZCUVZGWExGVkJRVlZ2Unl4SlFVRk5MRk5CUVZONlJ5eEhRVU12UWl4UFFVRlBTaXhMUVVGTE5FUXNVVUZCVVhoRUxFbEJSM1JDVGl4RlFVRlJWeXhWUVVGVmNVY3NTVUZCVFN4VFFVRlRha01zUlVGQlVYcEZMRWRCUTNaRExFOUJRVTlLTEV0QlFVdG5SU3haUVVGWllTeEZRVUZSZWtVc1NVRkhiRU5PTEVWQlFWRlhMRlZCUVZVMlJTeEpRVUZOTEZkQlEzUkNMRTlCUVU5MFJpeExRVUZMYTBJc1dVRkhaSEJDTEVWQlFWRlhMRlZCUVZWelJ5eEpRVUZOTEZOQlFWTTFRaXhGUVVGVFF5eEZRVUZWUXl4SFFVTnNSQ3hQUVVGUGNrWXNTMEZCUzJ0R0xGbEJRVmxETEVWQlFWTkRMRVZCUVZWRExFbEJSemREZGtZc1JVRkJVVmNzVlVGQlZYVkhMRVZCUVVrc1UwRkJVM0pITEVWQlFVMTNRaXhGUVVGWlF5eEhRVU12UXl4UFFVRlBjRU1zUzBGQlMydERMRkZCUVZGMlFpeEZRVUZOZDBJc1JVRkJXVU1zU1VGSGVFTjBReXhGUVVGUlZ5eFZRVUZWZDBjc1JVRkJTU3hUUVVGVGRFY3NSVUZCVFhkQ0xFVkJRVmxETEVkQlF5OURMRTlCUVU5d1F5eExRVUZMYVVVc1MwRkJTM1JFTEVWQlFVMTNRaXhGUVVGWlF5eEpRVWR5UTNSRExFVkJRVkZYTEZWQlFWVjVSeXhGUVVGSkxGTkJRVk01Unl4SFFVTTNRaXhQUVVGUFNpeExRVUZMYjBNc1MwRkJTMmhETEVsQlIyNUNUaXhGUVVGUlZ5eFZRVUZWTUVjc1JVRkJTU3hUUVVGVEwwY3NSMEZETjBJc1QwRkJUMG9zUzBGQlN6QkVMRTFCUVUxMFJDeEpRVWR3UWs0c1JVRkJVVmNzVlVGQlZUSkhMRVZCUVVrc1UwRkJVMmhJTEVkQlF6ZENMRTlCUVU5S0xFdEJRVXMwUkN4UlFVRlJlRVFzU1VGSGRFSk9MRVZCUVZGWExGVkJRVlUwUnl4RlFVRkpMRk5CUVZOcVNDeEhRVU0zUWl4UFFVRlBTaXhMUVVGTE9FUXNTVUZCU1RGRUxFbEJSMnhDVGl4RlFVRlJWeXhWUVVGVlR5eEZRVUZKTEZOQlFWTTJSQ3hGUVVGUmVrVXNSMEZEY2tNc1QwRkJUMG9zUzBGQlMyZEZMRmxCUVZsaExFVkJRVkY2UlN4SlFVZHNRMDRzUlVGQlVWY3NWVUZCVlRaSExFVkJRVWtzVjBGRGNFSXNUMEZCVDNSSUxFdEJRVXRuUnl4TlFVZGtiRWNzUlVGQlVWY3NWVUZCVlRoSExHbENRVUZ0UWl4VFFVRlRha01zUjBGRE5VTXNUMEZCVDNSR0xFdEJRVXR6Unl4bFFVRmxhRUlzU1VGSE4wSjRSaXhGUVVGUlZ5eFZRVUZWSzBjc1lVRkJaU3hUUVVGVGNrUXNSVUZCVlhORUxFZEJRMnhFTEUxQlFVMHNTVUZCU1RWR0xFMUJRVTBzYzBOQlFYZEROMElzUzBGQlN6aENMR05CUnk5RWFFTXNSVUZCVVZjc1ZVRkJWV2xJTEZsQlFXTXNVMEZCVTBRc1IwRkRka01zVFVGQlRTeEpRVUZKTlVZc1RVRkJUU3h6UTBGQmQwTTNRaXhMUVVGTE9FSXNZMEZITDBSb1F5eEZRVUZSVnl4VlFVRlZhMGdzV1VGQll5eFRRVUZUZUVRc1IwRkRka01zVFVGQlRTeEpRVUZKZEVNc1RVRkJUU3h6UTBGQmQwTTNRaXhMUVVGTE9FSXNZMEZITDBSb1F5eEZRVUZSVnl4VlFVRlZiVWdzWTBGQlowSXNWMEZEYUVNc1QwRkJaME1zU1VGQmVrSTFTQ3hMUVVGTFN5eFRRVUZUVlN4UlFVZDJRbXBDTEVWQlFWRlhMRlZCUVZWdlNDeFZRVUZaTEZOQlFWTkRMRWRCUTNKRExFMUJRVTBzU1VGQlNXcEhMRTFCUVUwc2MwTkJRWGRETjBJc1MwRkJTemhDTEdOQlJ5OUVhRU1zUlVGQlVWY3NWVUZCVlhOSUxGVkJRVmtzVjBGRE5VSXNUVUZCVFN4SlFVRkpiRWNzVFVGQlRTeHpRMEZCZDBNM1FpeExRVUZMT0VJc1kwRkhMMFJvUXl4RlFVRlJWeXhWUVVGVmRVZ3NXVUZCWXl4VFFVRlRReXhGUVVGVE9VTXNSMEZEYUVRc1QwRkJUeXhIUVVkVWNrWXNSVUZCVVZjc1ZVRkJWWGxJTEdOQlFXZENMRmRCUTJoRExFOUJRU3RDTEVsQlFYaENiRWtzUzBGQlMyMUpMRkZCUVZGd1NDeFJRVWQwUW1wQ0xFVkJRVkZYTEZWQlFWVXlTQ3gzUWtGQk1FSXNVMEZCVTBNc1IwRkRia1FzU1VGQlUwTXNSVUZGVkN4UFFVUk5kRWtzUzBGQlFVRXNUMEZEVFhGSkxFVkJRMGdzUlVGRFJYSkpMRXRCUVV0clFpeGhRVUZsYlVnc1JVRkJUVzVJTEZsQlEyNURiMGdzUlVGQlRUbEtMRVZCUVdsQ0swb3NZVUZCWlM5S0xFVkJRV2xDWjBzc2RVSkJRMjVFUXl4TFFVRkxReXhUUVVGWExFZEJRMnhDU2l4SFFVRlBPVW9zUlVGQmFVSnRTeXhWUVVWNFFrd3NSMEZCVHpsS0xFVkJRV2xDYjBzc1ZVRkZia0pPTEVkQlZraDBTU3hMUVZkVE5ra3NWMEZCVjFJc1IwRkRha0kzU2l4RlFVRnBRbk5MTEZOQlFWZDBTeXhGUVVGcFFtMUxMRlZCV21oRU0wa3NTMEZoVXl0SkxHRkJRV0ZXTEVkQlEyNUNOMG9zUlVGQmFVSnpTeXhUUVVGWGRFc3NSVUZCYVVKdlN5eFZRV1JvUkRWSkxFdEJaVk5uU2l4WlFVRlpXQ3hIUVVOc1FqZEtMRVZCUVdsQ2JVc3NWVUZGYWtKdVN5eEZRVUZwUW05TExGZEJTVFZDT1Vrc1JVRkJVVmNzVlVGQlZYZEpMRmRCUVdFc1UwRkJVMW9zUjBGRGRFTXNUVUZCVFN4SlFVRkplRWNzVFVGQlRTeHpRMEZCZDBNM1FpeExRVUZMT0VJc1kwRkhMMFJvUXl4RlFVRlJWeXhWUVVGVmVVa3NZVUZCWlN4VFFVRlRReXhIUVVONFF5eE5RVUZOTEVsQlFVbDBTQ3hOUVVGTkxITkRRVUYzUXpkQ0xFdEJRVXM0UWl4alFVY3ZSR2hETEVWQlFWRlhMRlZCUVZVeVNTeHRRa0ZCY1VJc1UwRkJVMFFzUjBGRE9VTXNUVUZCVFN4SlFVRkpkRWdzVFVGQlRTeHpRMEZCZDBNM1FpeExRVUZMT0VJc1kwRkhMMFJvUXl4RlFVRlJWeXhWUVVGVk5Fa3NiVUpCUVhGQ0xGTkJRVk5ETEVkQlF6bERMRTFCUVUwc1NVRkJTWHBJTEUxQlFVMHNjME5CUVhkRE4wSXNTMEZCU3poQ0xHTkJSeTlFYUVNc1JVRkJVVmNzVlVGQlZUaEpMRmxCUVdNc1UwRkJVM1JHTEVkQlEzWkRMRWxCUVVscVJDeEZRVUZIU1N4RlFVRkhSU3hGUVVOV0xFZEJRVWt5UXl4RlFVRkxla01zVjBGQllYaENMRXRCUVV0M1FpeFRRVU42UWl4UFFVRlBMRVZCUlZRc1IwRkJTWGxETEVWQlFVczFSQ3hUUVVGVFZTeFRRVUZYWml4TFFVRkxTeXhUUVVGVFZTeFBRVU42UXl4UFFVRlBMRVZCUlZRc1NVRkJTME1zUlVGQlNVa3NSVUZCU1N4RlFVRkhSU3hGUVVGUGRFSXNTMEZCUzBzc1UwRkJVMVVzVDBGQlV5eEZRVUZITEVkQlFVdFBMRVZCUVU5R0xFZEJRVXRGTEVWQlFVOUdMRWRCUVV0RkxFVkJRVTFPTEVWQlFVa3NSMEZCUzAwc1NVRkJVMFlzU1VGQlRVRXNSVUZETVVjc1NVRkJTM0JDTEV0QlFVdExMRk5CUVZOWExFZEJRVWQxU1N4WlFVRlpkRVlzUlVGQlN6VkVMRk5CUVZOWExFbEJRemxETEU5QlFVOHNSVUZIV0N4UFFVRlBMRWRCUjFSc1FpeEZRVUZSVnl4VlFVRlZLMGtzVjBGQllTeFRRVUZUZGtJc1JVRkJVemxETEVkQlF5OURMRTFCUVUwc1NVRkJTWFJFTEUxQlFVMHNjME5CUVhkRE4wSXNTMEZCU3poQ0xHTkJSeTlFYUVNc1JVRkJVVmNzVlVGQlZXZEtMRmxCUVdNc1UwRkJVMnBJTEVWQlFVdHJTQ3hGUVVGTlF5eEhRVU5zUkN4TlFVRk5MRWxCUVVrNVNDeE5RVUZOTEhORFFVRjNRemRDTEV0QlFVczRRaXhqUVVjdlJHaERMRVZCUVZGWExGVkJRVlZ0U2l4WlFVRmpMRk5CUVZOd1NDeEhRVU4yUXl4TlFVRk5MRWxCUVVsWUxFMUJRVTBzYzBOQlFYZEROMElzUzBGQlN6aENMR05CUnk5RWFFTXNSVUZCVVZjc1ZVRkJWVzlLTEZOQlFWY3NVMEZCVTNoQ0xFZEJRM0JETEZGQlFVdEJMRWxCUjBWQkxFbEJRVlZ5U1N4TlFVRlJRU3hMUVVGTEswa3NZVUZCWVZZc1MwRkhOME4yU1N4RlFVRlJWeXhWUVVGVmMwa3NZVUZCWlN4VFFVRlRPVVVzUjBGRGVFTXNTVUZCU1RsRExFVkJRVEJDUXl4RlFVRkhReXhGUVVGTFF5eEZRVVYwUXl4SlFVRkxSaXhGUVVGSkxFVkJRVWRETEVkQlJGcERMRVZCUVU5MFFpeExRVUZMU3l4VlFVTlhWU3hQUVVGUlN5eEZRVUZKUXl4RlFVRkxSQ3hKUVVGTExFTkJSVE5ETEVkQlFVazJReXhMUVVSS09VTXNSVUZCVVVjc1JVRkJTMFlzU1VGRldDeFBRVUZQTEVWQlIxUXNSMEZFYjBKRUxFVkJRVTAwU0N4aFFVRmhPVVVzUjBGRmNrTXNUMEZCVHl4RlFVZFlMRTlCUVU4c1IwRkhWRzVGTEVWQlFWRlhMRlZCUVZWdlNTeFhRVUZoTEZOQlFWTTFSU3hIUVVOMFF5eFBRVUZQUVN4RlFVRkxPRVVzWVVGQllTOUpMRTlCUnpOQ1JpeEZRVUZSVnl4VlFVRlZkVWtzV1VGQll5eFRRVUZUTDBVc1IwRkRka01zU1VGQlNUWkdMRVZCUVZORExFVkJSMklzVDBGR1FVUXNSVUZCVlRsS0xFdEJRVXRuU3l4aFFVRmhMMFlzUjBGRE5VSTRSaXhGUVVGVkwwb3NTMEZCUzJkTExHRkJRV0ZvU3l4UFFVTllMRWxCUVdJNFNpeEpRVUVyUWl4SlFVRmlReXhIUVVkaVJDeEZRVUZWUXl4SFFVbHlRbXBMTEVWQlFWRlhMRlZCUVZWM1NpeFpRVUZqTEZOQlFWTm9SeXhIUVVOMlF5eEpRVUZKTmtZc1JVRkJVME1zUlVGSFlpeFBRVVpCUkN4RlFVRlZPVW9zUzBGQlMyZExMR0ZCUVdFdlJpeEhRVU0xUWpoR0xFVkJRVlV2U2l4TFFVRkxaMHNzWVVGQllXaExMRTlCUTFnc1NVRkJZamhLTEVsQlFTdENMRWxCUVdKRExFZEJSMkpFTEVWQlFWVkRMRWRCU1hKQ2Frc3NSVUZCVVZjc1ZVRkJWWFZLTEdGQlFXVXNVMEZCVXk5R0xFZEJRM2hETEVsQlFVbHBSeXhGUVVGUFF5eEZRVk5ZTEU5QlVrRkJMRVZCUVUwc1JVRkRUa1FzUjBGQlVTeEZRVU5TYkVzc1MwRkJTMjlMTEdkQ1FVRm5RbkJMTEV0QlFVdHJRaXhYUVVGWkxGTkJRVk50UWl4SFFVVTNReXhIUVVSQk9FZ3NTMEZEUzBRc1IwRkJVemRJTEVsQlFXTTBRaXhGUVVNeFFpeFBRVUZQYVVjc1IwRkJVU3hKUVVkbVFTeEZRVU5MUXl4SFFVVkRMRWRCU1ZweVN5eEZRVUZSVnl4VlFVRlZNa29zWjBKQlFXdENMRk5CUVZOdVJ5eEZRVUZOYjBjc1IwRkRha1FzU1VGQlNXeEtMRVZCUVU5RExFVkJRVWRETEVWQlFVdERMRVZCUVUxblNDeEZRVWQ2UWl4SlFVWkJja1VzU1VGQlUwRXNSVUZCVDJwRkxFdEJRVXRyUWl4WlFVVm9Ra1VzUlVGQlNTeEZRVUZIUXl4SFFVUmFReXhGUVVGUE1rTXNSVUZCU3pWRUxGVkJRMWRWTEU5QlFWRkxMRVZCUVVsRExFVkJRVXRFTEVsQlFVc3NRMEZGTTBNc1IwRkJTV3RJTEVWQlFVMHJRaXhGUVVSV2JFb3NSVUZCVVVjc1JVRkJTMFlzU1VGRldDeFBRVUZQYTBnc1JVRkhVQ3hIUVVSQlFTeEZRVUZOZEVrc1MwRkJTMjlMTEdkQ1FVRm5RbXBLTEVWQlFVOXJTaXhIUVVWb1F5eFBRVUZQTDBJc1NVRk5VbmhKTEVWQk0zVkNhMElzUzBFcmRVSXhRbXRFTEV0QlFVdG9SQ0lzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5dFlYTjBaWEl2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdmVHMXNZblZwYkdSbGNpOXNhV0l2V0UxTVRtOWtaUzVxY3lKOSIsIihmdW5jdGlvbigpe21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0KXt0aGlzLm5vZGVzPXR9cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSxcImxlbmd0aFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2Rlcy5sZW5ndGh8fDB9fSksdC5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2Rlcz1udWxsfSx0LnByb3RvdHlwZS5pdGVtPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm5vZGVzW3RdfHxudWxsfSx0fSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URTV2WkdWTWFYTjBMbXB6SWwwc0ltNWhiV1Z6SWpwYkltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSllUVXhPYjJSbFRHbHpkQ0lzSW01dlpHVnpJaXdpZEdocGN5SXNJazlpYW1WamRDSXNJbVJsWm1sdVpWQnliM0JsY25SNUlpd2ljSEp2ZEc5MGVYQmxJaXdpWjJWMElpd2liR1Z1WjNSb0lpd2lZMnh2Ym1VaUxDSnBkR1Z0SWl3aWFXNWtaWGdpTENKallXeHNJbDBzSW0xaGNIQnBibWR6SWpvaVEwRkRRU3hYUVVkRlFTeFBRVUZQUXl4UlFVRjNRaXhYUVVNM1FpeFRRVUZUUXl4RlFVRlpReXhIUVVOdVFrTXNTMEZCUzBRc1RVRkJVVUVzUlVGcFFtWXNUMEZrUVVVc1QwRkJUME1zWlVGQlpVb3NSVUZCV1Vzc1ZVRkJWeXhUUVVGVkxFTkJRM0pFUXl4SlFVRkxMRmRCUTBnc1QwRkJUMG9zUzBGQlMwUXNUVUZCVFUwc1VVRkJWU3hMUVVsb1ExQXNSVUZCV1Vzc1ZVRkJWVWNzVFVGQlVTeFhRVU0xUWl4UFFVRlBUaXhMUVVGTFJDeE5RVUZSTEUxQlIzUkNSQ3hGUVVGWlN5eFZRVUZWU1N4TFFVRlBMRk5CUVZORExFZEJRM0JETEU5QlFVOVNMRXRCUVV0RUxFMUJRVTFUTEVsQlFWVXNUVUZIZGtKV0xFVkJia0p6UWl4TFFYVkNPVUpYTEV0QlFVdFVJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDIxaGMzUmxjaTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5NGJXeGlkV2xzWkdWeUwyeHBZaTlZVFV4T2IyUmxUR2x6ZEM1cWN5SjkiLCIoZnVuY3Rpb24oKXt2YXIgdCxyLGk9e30uaGFzT3duUHJvcGVydHk7dD1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxyPXJlcXVpcmUoXCIuL1hNTENoYXJhY3RlckRhdGFcIiksbW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gbyhyLGksZSl7aWYoby5fX3N1cGVyX18uY29uc3RydWN0b3IuY2FsbCh0aGlzLHIpLG51bGw9PWkpdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBpbnN0cnVjdGlvbiB0YXJnZXQuIFwiK3RoaXMuZGVidWdJbmZvKCkpO3RoaXMudHlwZT10LlByb2Nlc3NpbmdJbnN0cnVjdGlvbix0aGlzLnRhcmdldD10aGlzLnN0cmluZ2lmeS5pbnNUYXJnZXQoaSksdGhpcy5uYW1lPXRoaXMudGFyZ2V0LGUmJih0aGlzLnZhbHVlPXRoaXMuc3RyaW5naWZ5Lmluc1ZhbHVlKGUpKX1yZXR1cm4gZnVuY3Rpb24odCxyKXtmb3IodmFyIGUgaW4gcilpLmNhbGwocixlKSYmKHRbZV09cltlXSk7ZnVuY3Rpb24gbygpe3RoaXMuY29uc3RydWN0b3I9dH1vLnByb3RvdHlwZT1yLnByb3RvdHlwZSx0LnByb3RvdHlwZT1uZXcgbyx0Ll9fc3VwZXJfXz1yLnByb3RvdHlwZX0obyxyKSxvLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBPYmplY3QuY3JlYXRlKHRoaXMpfSxvLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLndyaXRlci5wcm9jZXNzaW5nSW5zdHJ1Y3Rpb24odGhpcyx0aGlzLm9wdGlvbnMud3JpdGVyLmZpbHRlck9wdGlvbnModCkpfSxvLnByb3RvdHlwZS5pc0VxdWFsTm9kZT1mdW5jdGlvbih0KXtyZXR1cm4hIW8uX19zdXBlcl9fLmlzRXF1YWxOb2RlLmFwcGx5KHRoaXMsYXJndW1lbnRzKS5pc0VxdWFsTm9kZSh0KSYmdC50YXJnZXQ9PT10aGlzLnRhcmdldH0sb30oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEZCeWIyTmxjM05wYm1kSmJuTjBjblZqZEdsdmJpNXFjeUpkTENKdVlXMWxjeUk2V3lKT2IyUmxWSGx3WlNJc0lsaE5URU5vWVhKaFkzUmxja1JoZEdFaUxDSm9ZWE5RY205d0lpd2lhR0Z6VDNkdVVISnZjR1Z5ZEhraUxDSnlaWEYxYVhKbElpd2liVzlrZFd4bElpd2laWGh3YjNKMGN5SXNJbk4xY0dWeVEyeGhjM01pTENKWVRVeFFjbTlqWlhOemFXNW5TVzV6ZEhKMVkzUnBiMjRpTENKd1lYSmxiblFpTENKMFlYSm5aWFFpTENKMllXeDFaU0lzSWw5ZmMzVndaWEpmWHlJc0ltTnZibk4wY25WamRHOXlJaXdpWTJGc2JDSXNJblJvYVhNaUxDSkZjbkp2Y2lJc0ltUmxZblZuU1c1bWJ5SXNJblI1Y0dVaUxDSlFjbTlqWlhOemFXNW5TVzV6ZEhKMVkzUnBiMjRpTENKemRISnBibWRwWm5raUxDSnBibk5VWVhKblpYUWlMQ0p1WVcxbElpd2lhVzV6Vm1Gc2RXVWlMQ0pqYUdsc1pDSXNJbXRsZVNJc0ltTjBiM0lpTENKd2NtOTBiM1I1Y0dVaUxDSmxlSFJsYm1RaUxDSmpiRzl1WlNJc0lrOWlhbVZqZENJc0ltTnlaV0YwWlNJc0luUnZVM1J5YVc1bklpd2liM0IwYVc5dWN5SXNJbmR5YVhSbGNpSXNJbkJ5YjJObGMzTnBibWRKYm5OMGNuVmpkR2x2YmlJc0ltWnBiSFJsY2s5d2RHbHZibk1pTENKcGMwVnhkV0ZzVG05a1pTSXNJbTV2WkdVaUxDSmhjSEJzZVNJc0ltRnlaM1Z0Wlc1MGN5SmRMQ0p0WVhCd2FXNW5jeUk2SWtOQlEwRXNWMEZEUlN4SlFVRkpRU3hGUVVGVlF5eEZRVVZhUXl4RlFVRlZMRWRCUVVkRExHVkJSV1pJTEVWQlFWZEpMRkZCUVZFc1kwRkZia0pJTEVWQlFXMUNSeXhSUVVGUkxITkNRVVV6UWtNc1QwRkJUME1zVVVGQmNVTXNVMEZCVlVNc1IwRkhjRVFzVTBGQlUwTXNSVUZCZVVKRExFVkJRVkZETEVWQlFWRkRMRWRCUldoRUxFZEJSRUZJTEVWQlFYbENTU3hWUVVGVlF5eFpRVUZaUXl4TFFVRkxReXhMUVVGTlRpeEhRVU0xUXl4TlFVRldReXhGUVVOR0xFMUJRVTBzU1VGQlNVMHNUVUZCVFN3clFrRkJhVU5FTEV0QlFVdEZMR0ZCUlhoRVJpeExRVUZMUnl4TFFVRlBiRUlzUlVGQlUyMUNMSE5DUVVOeVFrb3NTMEZCUzB3c1QwRkJVMHNzUzBGQlMwc3NWVUZCVlVNc1ZVRkJWVmdzUjBGRGRrTkxMRXRCUVV0UExFdEJRVTlRTEV0QlFVdE1MRTlCUTJKRExFbEJRMFpKTEV0QlFVdEtMRTFCUVZGSkxFdEJRVXRMTEZWQlFWVkhMRk5CUVZOYUxFbEJjMEo2UXl4UFFYcERVeXhUUVVGVFlTeEZRVUZQWml4SFFVRlZMRWxCUVVzc1NVRkJTV2RDTEV0QlFVOW9RaXhGUVVGalVDeEZRVUZSV1N4TFFVRkxUQ3hGUVVGUlowSXNTMEZCVFVRc1JVRkJUVU1zUjBGQlQyaENMRVZCUVU5blFpeEpRVUZSTEZOQlFWTkRMRWxCUVZOWUxFdEJRVXRHTEZsQlFXTlhMRVZCUVZORkxFVkJRVXRETEZWQlFWbHNRaXhGUVVGUGEwSXNWVUZCVjBnc1JVRkJUVWNzVlVGQldTeEpRVUZKUkN4RlFVRlJSaXhGUVVGTldpeFZRVUZaU0N4RlFVRlBhMElzVlVGUmFGRkRMRU5CUVU5d1FpeEZRVzFEVGxBc1IwRndRa1JQTEVWQlFYbENiVUlzVlVGQlZVVXNUVUZCVVN4WFFVTjZReXhQUVVGUFF5eFBRVUZQUXl4UFFVRlBhRUlzVDBGSGRrSlFMRVZCUVhsQ2JVSXNWVUZCVlVzc1UwRkJWeXhUUVVGVFF5eEhRVU55UkN4UFFVRlBiRUlzUzBGQlMydENMRkZCUVZGRExFOUJRVTlETEhOQ1FVRnpRbkJDTEV0QlFVMUJMRXRCUVV0clFpeFJRVUZSUXl4UFFVRlBSU3hqUVVGalNDeExRVWN6Um5wQ0xFVkJRWGxDYlVJc1ZVRkJWVlVzV1VGQll5eFRRVUZUUXl4SFFVTjRSQ3hSUVVGTE9VSXNSVUZCZVVKSkxGVkJRVlY1UWl4WlFVRlpSU3hOUVVGTmVFSXNTMEZCVFhsQ0xGZEJRVmRJTEZsQlFWbERMRWxCUjI1R1FTeEZRVUZMTlVJc1UwRkJWMHNzUzBGQlMwd3NVVUZOY0VKR0xFVkJiRU50UXl4TFFYTkRNME5OTEV0QlFVdERJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDIxaGMzUmxjaTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5NGJXeGlkV2xzWkdWeUwyeHBZaTlZVFV4UWNtOWpaWE56YVc1blNXNXpkSEoxWTNScGIyNHVhbk1pZlE9PSIsIihmdW5jdGlvbigpe3ZhciB0LHIsbz17fS5oYXNPd25Qcm9wZXJ0eTt0PXJlcXVpcmUoXCIuL05vZGVUeXBlXCIpLHI9cmVxdWlyZShcIi4vWE1MTm9kZVwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihlKXtmdW5jdGlvbiBpKHIsbyl7aWYoaS5fX3N1cGVyX18uY29uc3RydWN0b3IuY2FsbCh0aGlzLHIpLG51bGw9PW8pdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyByYXcgdGV4dC4gXCIrdGhpcy5kZWJ1Z0luZm8oKSk7dGhpcy50eXBlPXQuUmF3LHRoaXMudmFsdWU9dGhpcy5zdHJpbmdpZnkucmF3KG8pfXJldHVybiBmdW5jdGlvbih0LHIpe2Zvcih2YXIgZSBpbiByKW8uY2FsbChyLGUpJiYodFtlXT1yW2VdKTtmdW5jdGlvbiBpKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fWkucHJvdG90eXBlPXIucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyBpLHQuX19zdXBlcl9fPXIucHJvdG90eXBlfShpLHIpLGkucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdC5jcmVhdGUodGhpcyl9LGkucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMud3JpdGVyLnJhdyh0aGlzLHRoaXMub3B0aW9ucy53cml0ZXIuZmlsdGVyT3B0aW9ucyh0KSl9LGl9KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRGSmhkeTVxY3lKZExDSnVZVzFsY3lJNld5Sk9iMlJsVkhsd1pTSXNJbGhOVEU1dlpHVWlMQ0pvWVhOUWNtOXdJaXdpYUdGelQzZHVVSEp2Y0dWeWRIa2lMQ0p5WlhGMWFYSmxJaXdpYlc5a2RXeGxJaXdpWlhod2IzSjBjeUlzSW5OMWNHVnlRMnhoYzNNaUxDSllUVXhTWVhjaUxDSndZWEpsYm5RaUxDSjBaWGgwSWl3aVgxOXpkWEJsY2w5Zklpd2lZMjl1YzNSeWRXTjBiM0lpTENKallXeHNJaXdpZEdocGN5SXNJa1Z5Y205eUlpd2laR1ZpZFdkSmJtWnZJaXdpZEhsd1pTSXNJbEpoZHlJc0luWmhiSFZsSWl3aWMzUnlhVzVuYVdaNUlpd2ljbUYzSWl3aVkyaHBiR1FpTENKclpYa2lMQ0pqZEc5eUlpd2ljSEp2ZEc5MGVYQmxJaXdpWlhoMFpXNWtJaXdpWTJ4dmJtVWlMQ0pQWW1wbFkzUWlMQ0pqY21WaGRHVWlMQ0owYjFOMGNtbHVaeUlzSW05d2RHbHZibk1pTENKM2NtbDBaWElpTENKbWFXeDBaWEpQY0hScGIyNXpJbDBzSW0xaGNIQnBibWR6SWpvaVEwRkRRU3hYUVVORkxFbEJRVWxCTEVWQlFWVkRMRVZCUlZwRExFVkJRVlVzUjBGQlIwTXNaVUZGWmtnc1JVRkJWMGtzVVVGQlVTeGpRVVZ1UWtnc1JVRkJWVWNzVVVGQlVTeGhRVVZzUWtNc1QwRkJUME1zVVVGQmJVSXNVMEZCVlVNc1IwRkhiRU1zVTBGQlUwTXNSVUZCVDBNc1JVRkJVVU1zUjBGRmRFSXNSMEZFUVVZc1JVRkJUMGNzVlVGQlZVTXNXVUZCV1VNc1MwRkJTME1zUzBGQlRVd3NSMEZETlVJc1RVRkJVa01zUlVGRFJpeE5RVUZOTEVsQlFVbExMRTFCUVUwc2NVSkJRWFZDUkN4TFFVRkxSU3hoUVVVNVEwWXNTMEZCUzBjc1MwRkJUMnBDTEVWQlFWTnJRaXhKUVVOeVFrb3NTMEZCUzBzc1RVRkJVVXdzUzBGQlMwMHNWVUZCVlVNc1NVRkJTVmdzUjBGWGJFTXNUMEV6UWxNc1UwRkJVMWtzUlVGQlQySXNSMEZCVlN4SlFVRkxMRWxCUVVsakxFdEJRVTlrTEVWQlFXTlFMRVZCUVZGWExFdEJRVXRLTEVWQlFWRmpMRXRCUVUxRUxFVkJRVTFETEVkQlFVOWtMRVZCUVU5akxFbEJRVkVzVTBGQlUwTXNTVUZCVTFZc1MwRkJTMFlzV1VGQlkxVXNSVUZCVTBVc1JVRkJTME1zVlVGQldXaENMRVZCUVU5blFpeFZRVUZYU0N4RlFVRk5SeXhWUVVGWkxFbEJRVWxFTEVWQlFWRkdMRVZCUVUxWUxGVkJRVmxHTEVWQlFVOW5RaXhWUVZGb1VVTXNRMEZCVDJ4Q0xFVkJjVUpPVUN4SFFWWkVUeXhGUVVGUGFVSXNWVUZCVlVVc1RVRkJVU3hYUVVOMlFpeFBRVUZQUXl4UFFVRlBReXhQUVVGUFppeFBRVWQyUWs0c1JVRkJUMmxDTEZWQlFWVkxMRk5CUVZjc1UwRkJVME1zUjBGRGJrTXNUMEZCVDJwQ0xFdEJRVXRwUWl4UlFVRlJReXhQUVVGUFdDeEpRVUZKVUN4TFFVRk5RU3hMUVVGTGFVSXNVVUZCVVVNc1QwRkJUME1zWTBGQlkwWXNTMEZIYkVWMlFpeEZRWEJDYVVJc1MwRjNRbnBDU3l4TFFVRkxReUlzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5dFlYTjBaWEl2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdmVHMXNZblZwYkdSbGNpOXNhV0l2V0UxTVVtRjNMbXB6SW4wPSIsIihmdW5jdGlvbigpe3ZhciB0LGUscixzPXt9Lmhhc093blByb3BlcnR5O3Q9cmVxdWlyZShcIi4vTm9kZVR5cGVcIikscj1yZXF1aXJlKFwiLi9YTUxXcml0ZXJCYXNlXCIpLGU9cmVxdWlyZShcIi4vV3JpdGVyU3RhdGVcIiksbW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oaSl7ZnVuY3Rpb24gbih0LGUpe3RoaXMuc3RyZWFtPXQsbi5fX3N1cGVyX18uY29uc3RydWN0b3IuY2FsbCh0aGlzLGUpfXJldHVybiBmdW5jdGlvbih0LGUpe2Zvcih2YXIgciBpbiBlKXMuY2FsbChlLHIpJiYodFtyXT1lW3JdKTtmdW5jdGlvbiBpKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fWkucHJvdG90eXBlPWUucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyBpLHQuX19zdXBlcl9fPWUucHJvdG90eXBlfShuLHIpLG4ucHJvdG90eXBlLmVuZGxpbmU9ZnVuY3Rpb24odCxyLHMpe3JldHVybiB0LmlzTGFzdFJvb3ROb2RlJiZyLnN0YXRlPT09ZS5DbG9zZVRhZz9cIlwiOm4uX19zdXBlcl9fLmVuZGxpbmUuY2FsbCh0aGlzLHQscixzKX0sbi5wcm90b3R5cGUuZG9jdW1lbnQ9ZnVuY3Rpb24odCxlKXt2YXIgcixzLGksbixvLGEsaCxsLHA7Zm9yKHM9aT0wLG89KGg9dC5jaGlsZHJlbikubGVuZ3RoO2k8bztzPSsraSkocj1oW3NdKS5pc0xhc3RSb290Tm9kZT1zPT09dC5jaGlsZHJlbi5sZW5ndGgtMTtmb3IoZT10aGlzLmZpbHRlck9wdGlvbnMoZSkscD1bXSxuPTAsYT0obD10LmNoaWxkcmVuKS5sZW5ndGg7bjxhO24rKylyPWxbbl0scC5wdXNoKHRoaXMud3JpdGVDaGlsZE5vZGUocixlLDApKTtyZXR1cm4gcH0sbi5wcm90b3R5cGUuYXR0cmlidXRlPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdGhpcy5zdHJlYW0ud3JpdGUobi5fX3N1cGVyX18uYXR0cmlidXRlLmNhbGwodGhpcyx0LGUscikpfSxuLnByb3RvdHlwZS5jZGF0YT1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMuc3RyZWFtLndyaXRlKG4uX19zdXBlcl9fLmNkYXRhLmNhbGwodGhpcyx0LGUscikpfSxuLnByb3RvdHlwZS5jb21tZW50PWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdGhpcy5zdHJlYW0ud3JpdGUobi5fX3N1cGVyX18uY29tbWVudC5jYWxsKHRoaXMsdCxlLHIpKX0sbi5wcm90b3R5cGUuZGVjbGFyYXRpb249ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0aGlzLnN0cmVhbS53cml0ZShuLl9fc3VwZXJfXy5kZWNsYXJhdGlvbi5jYWxsKHRoaXMsdCxlLHIpKX0sbi5wcm90b3R5cGUuZG9jVHlwZT1mdW5jdGlvbih0LHIscyl7dmFyIGksbixvLGE7aWYoc3x8KHM9MCksdGhpcy5vcGVuTm9kZSh0LHIscyksci5zdGF0ZT1lLk9wZW5UYWcsdGhpcy5zdHJlYW0ud3JpdGUodGhpcy5pbmRlbnQodCxyLHMpKSx0aGlzLnN0cmVhbS53cml0ZShcIjwhRE9DVFlQRSBcIit0LnJvb3QoKS5uYW1lKSx0LnB1YklEJiZ0LnN5c0lEP3RoaXMuc3RyZWFtLndyaXRlKCcgUFVCTElDIFwiJyt0LnB1YklEKydcIiBcIicrdC5zeXNJRCsnXCInKTp0LnN5c0lEJiZ0aGlzLnN0cmVhbS53cml0ZSgnIFNZU1RFTSBcIicrdC5zeXNJRCsnXCInKSx0LmNoaWxkcmVuLmxlbmd0aD4wKXtmb3IodGhpcy5zdHJlYW0ud3JpdGUoXCIgW1wiKSx0aGlzLnN0cmVhbS53cml0ZSh0aGlzLmVuZGxpbmUodCxyLHMpKSxyLnN0YXRlPWUuSW5zaWRlVGFnLG49MCxvPShhPXQuY2hpbGRyZW4pLmxlbmd0aDtuPG87bisrKWk9YVtuXSx0aGlzLndyaXRlQ2hpbGROb2RlKGkscixzKzEpO3Iuc3RhdGU9ZS5DbG9zZVRhZyx0aGlzLnN0cmVhbS53cml0ZShcIl1cIil9cmV0dXJuIHIuc3RhdGU9ZS5DbG9zZVRhZyx0aGlzLnN0cmVhbS53cml0ZShyLnNwYWNlQmVmb3JlU2xhc2grXCI+XCIpLHRoaXMuc3RyZWFtLndyaXRlKHRoaXMuZW5kbGluZSh0LHIscykpLHIuc3RhdGU9ZS5Ob25lLHRoaXMuY2xvc2VOb2RlKHQscixzKX0sbi5wcm90b3R5cGUuZWxlbWVudD1mdW5jdGlvbihyLGksbil7dmFyIG8sYSxoLGwscCx1LGMsZCxfO2ZvcihjIGluIG58fChuPTApLHRoaXMub3Blbk5vZGUocixpLG4pLGkuc3RhdGU9ZS5PcGVuVGFnLHRoaXMuc3RyZWFtLndyaXRlKHRoaXMuaW5kZW50KHIsaSxuKStcIjxcIityLm5hbWUpLGQ9ci5hdHRyaWJzKXMuY2FsbChkLGMpJiYobz1kW2NdLHRoaXMuYXR0cmlidXRlKG8saSxuKSk7aWYobD0wPT09KGg9ci5jaGlsZHJlbi5sZW5ndGgpP251bGw6ci5jaGlsZHJlblswXSwwPT09aHx8ci5jaGlsZHJlbi5ldmVyeShmdW5jdGlvbihlKXtyZXR1cm4oZS50eXBlPT09dC5UZXh0fHxlLnR5cGU9PT10LlJhdykmJlwiXCI9PT1lLnZhbHVlfSkpaS5hbGxvd0VtcHR5Pyh0aGlzLnN0cmVhbS53cml0ZShcIj5cIiksaS5zdGF0ZT1lLkNsb3NlVGFnLHRoaXMuc3RyZWFtLndyaXRlKFwiPC9cIityLm5hbWUrXCI+XCIpKTooaS5zdGF0ZT1lLkNsb3NlVGFnLHRoaXMuc3RyZWFtLndyaXRlKGkuc3BhY2VCZWZvcmVTbGFzaCtcIi8+XCIpKTtlbHNlIGlmKCFpLnByZXR0eXx8MSE9PWh8fGwudHlwZSE9PXQuVGV4dCYmbC50eXBlIT09dC5SYXd8fG51bGw9PWwudmFsdWUpe2Zvcih0aGlzLnN0cmVhbS53cml0ZShcIj5cIit0aGlzLmVuZGxpbmUocixpLG4pKSxpLnN0YXRlPWUuSW5zaWRlVGFnLHA9MCx1PShfPXIuY2hpbGRyZW4pLmxlbmd0aDtwPHU7cCsrKWE9X1twXSx0aGlzLndyaXRlQ2hpbGROb2RlKGEsaSxuKzEpO2kuc3RhdGU9ZS5DbG9zZVRhZyx0aGlzLnN0cmVhbS53cml0ZSh0aGlzLmluZGVudChyLGksbikrXCI8L1wiK3IubmFtZStcIj5cIil9ZWxzZSB0aGlzLnN0cmVhbS53cml0ZShcIj5cIiksaS5zdGF0ZT1lLkluc2lkZVRhZyxpLnN1cHByZXNzUHJldHR5Q291bnQrKywhMCx0aGlzLndyaXRlQ2hpbGROb2RlKGwsaSxuKzEpLGkuc3VwcHJlc3NQcmV0dHlDb3VudC0tLCExLGkuc3RhdGU9ZS5DbG9zZVRhZyx0aGlzLnN0cmVhbS53cml0ZShcIjwvXCIrci5uYW1lK1wiPlwiKTtyZXR1cm4gdGhpcy5zdHJlYW0ud3JpdGUodGhpcy5lbmRsaW5lKHIsaSxuKSksaS5zdGF0ZT1lLk5vbmUsdGhpcy5jbG9zZU5vZGUocixpLG4pfSxuLnByb3RvdHlwZS5wcm9jZXNzaW5nSW5zdHJ1Y3Rpb249ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0aGlzLnN0cmVhbS53cml0ZShuLl9fc3VwZXJfXy5wcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uY2FsbCh0aGlzLHQsZSxyKSl9LG4ucHJvdG90eXBlLnJhdz1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMuc3RyZWFtLndyaXRlKG4uX19zdXBlcl9fLnJhdy5jYWxsKHRoaXMsdCxlLHIpKX0sbi5wcm90b3R5cGUudGV4dD1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMuc3RyZWFtLndyaXRlKG4uX19zdXBlcl9fLnRleHQuY2FsbCh0aGlzLHQsZSxyKSl9LG4ucHJvdG90eXBlLmR0ZEF0dExpc3Q9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0aGlzLnN0cmVhbS53cml0ZShuLl9fc3VwZXJfXy5kdGRBdHRMaXN0LmNhbGwodGhpcyx0LGUscikpfSxuLnByb3RvdHlwZS5kdGRFbGVtZW50PWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdGhpcy5zdHJlYW0ud3JpdGUobi5fX3N1cGVyX18uZHRkRWxlbWVudC5jYWxsKHRoaXMsdCxlLHIpKX0sbi5wcm90b3R5cGUuZHRkRW50aXR5PWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdGhpcy5zdHJlYW0ud3JpdGUobi5fX3N1cGVyX18uZHRkRW50aXR5LmNhbGwodGhpcyx0LGUscikpfSxuLnByb3RvdHlwZS5kdGROb3RhdGlvbj1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMuc3RyZWFtLndyaXRlKG4uX19zdXBlcl9fLmR0ZE5vdGF0aW9uLmNhbGwodGhpcyx0LGUscikpfSxufSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URk4wY21WaGJWZHlhWFJsY2k1cWN5SmRMQ0p1WVcxbGN5STZXeUpPYjJSbFZIbHdaU0lzSWxkeWFYUmxjbE4wWVhSbElpd2lXRTFNVjNKcGRHVnlRbUZ6WlNJc0ltaGhjMUJ5YjNBaUxDSm9ZWE5QZDI1UWNtOXdaWEowZVNJc0luSmxjWFZwY21VaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2ljM1Z3WlhKRGJHRnpjeUlzSWxoTlRGTjBjbVZoYlZkeWFYUmxjaUlzSW5OMGNtVmhiU0lzSW05d2RHbHZibk1pTENKMGFHbHpJaXdpWDE5emRYQmxjbDlmSWl3aVkyOXVjM1J5ZFdOMGIzSWlMQ0pqWVd4c0lpd2lZMmhwYkdRaUxDSndZWEpsYm5RaUxDSnJaWGtpTENKamRHOXlJaXdpY0hKdmRHOTBlWEJsSWl3aVpYaDBaVzVrSWl3aVpXNWtiR2x1WlNJc0ltNXZaR1VpTENKc1pYWmxiQ0lzSW1selRHRnpkRkp2YjNST2IyUmxJaXdpYzNSaGRHVWlMQ0pEYkc5elpWUmhaeUlzSW1SdlkzVnRaVzUwSWl3aVpHOWpJaXdpYVNJc0ltb2lMQ0pySWl3aWJHVnVJaXdpYkdWdU1TSXNJbkpsWmlJc0luSmxaakVpTENKeVpYTjFiSFJ6SWl3aVkyaHBiR1J5Wlc0aUxDSnNaVzVuZEdnaUxDSm1hV3gwWlhKUGNIUnBiMjV6SWl3aWNIVnphQ0lzSW5keWFYUmxRMmhwYkdST2IyUmxJaXdpWVhSMGNtbGlkWFJsSWl3aVlYUjBJaXdpZDNKcGRHVWlMQ0pqWkdGMFlTSXNJbU52YlcxbGJuUWlMQ0prWldOc1lYSmhkR2x2YmlJc0ltUnZZMVI1Y0dVaUxDSnZjR1Z1VG05a1pTSXNJazl3Wlc1VVlXY2lMQ0pwYm1SbGJuUWlMQ0p5YjI5MElpd2libUZ0WlNJc0luQjFZa2xFSWl3aWMzbHpTVVFpTENKSmJuTnBaR1ZVWVdjaUxDSnpjR0ZqWlVKbFptOXlaVk5zWVhOb0lpd2lUbTl1WlNJc0ltTnNiM05sVG05a1pTSXNJbVZzWlcxbGJuUWlMQ0pqYUdsc1pFNXZaR1ZEYjNWdWRDSXNJbVpwY25OMFEyaHBiR1JPYjJSbElpd2lZWFIwY21saWN5SXNJbVYyWlhKNUlpd2laU0lzSW5SNWNHVWlMQ0pVWlhoMElpd2lVbUYzSWl3aWRtRnNkV1VpTENKaGJHeHZkMFZ0Y0hSNUlpd2ljSEpsZEhSNUlpd2ljM1Z3Y0hKbGMzTlFjbVYwZEhsRGIzVnVkQ0lzSW5CeWIyTmxjM05wYm1kSmJuTjBjblZqZEdsdmJpSXNJbkpoZHlJc0luUmxlSFFpTENKa2RHUkJkSFJNYVhOMElpd2laSFJrUld4bGJXVnVkQ0lzSW1SMFpFVnVkR2wwZVNJc0ltUjBaRTV2ZEdGMGFXOXVJbDBzSW0xaGNIQnBibWR6SWpvaVEwRkRRU3hYUVVORkxFbEJRVWxCTEVWQlFWVkRMRVZCUVRoQ1F5eEZRVVV4UTBNc1JVRkJWU3hIUVVGSFF5eGxRVVZtU2l4RlFVRlhTeXhSUVVGUkxHTkJSVzVDU0N4RlFVRm5Ra2NzVVVGQlVTeHRRa0ZGZUVKS0xFVkJRV05KTEZGQlFWRXNhVUpCUlhSQ1F5eFBRVUZQUXl4UlFVRTBRaXhUUVVGVlF5eEhRVWN6UXl4VFFVRlRReXhGUVVGblFrTXNSVUZCVVVNc1IwRkRMMEpETEV0QlFVdEdMRTlCUVZOQkxFVkJRMlJFTEVWQlFXZENTU3hWUVVGVlF5eFpRVUZaUXl4TFFVRkxTQ3hMUVVGTlJDeEhRVEJLYmtRc1QwRjRTMU1zVTBGQlUwc3NSVUZCVDBNc1IwRkJWU3hKUVVGTExFbEJRVWxETEV0QlFVOUVMRVZCUVdOa0xFVkJRVkZaTEV0QlFVdEZMRVZCUVZGRExFdEJRVTFHTEVWQlFVMUZMRWRCUVU5RUxFVkJRVTlETEVsQlFWRXNVMEZCVTBNc1NVRkJVMUFzUzBGQlMwVXNXVUZCWTBVc1JVRkJVMGNzUlVGQlMwTXNWVUZCV1Vnc1JVRkJUMGNzVlVGQlYwb3NSVUZCVFVrc1ZVRkJXU3hKUVVGSlJDeEZRVUZSU0N4RlFVRk5TQ3hWUVVGWlNTeEZRVUZQUnl4VlFWVm9VVU1zUTBGQlQxb3NSVUZuUzA1UUxFZEJla3BFVHl4RlFVRm5RbGNzVlVGQlZVVXNVVUZCVlN4VFFVRlRReXhGUVVGTldpeEZRVUZUWVN4SFFVTXhSQ3hQUVVGSlJDeEZRVUZMUlN4blFrRkJhMEprTEVWQlFWRmxMRkZCUVZWNlFpeEZRVUZaTUVJc1UwRkRhRVFzUjBGRlFXeENMRVZCUVdkQ1NTeFZRVUZWVXl4UlFVRlJVQ3hMUVVGTFNDeExRVUZOVnl4RlFVRk5XaXhGUVVGVFlTeEpRVWwyUldZc1JVRkJaMEpYTEZWQlFWVlJMRk5CUVZjc1UwRkJVME1zUlVGQlMyeENMRWRCUTJwRUxFbEJRVWxMTEVWQlFVOWpMRVZCUVVkRExFVkJRVWRETEVWQlFVZERMRVZCUVV0RExFVkJRVTFETEVWQlFVdERMRVZCUVUxRExFVkJSVEZETEVsQlFVdFFMRVZCUVVsRExFVkJRVWtzUlVGQlIwVXNSMEZFYUVKRkxFVkJRVTFPTEVWQlFVbFRMRlZCUTJkQ1F5eFBRVUZSVWl4RlFVRkpSU3hGUVVGTFNDeEpRVUZOUXl4SFFVTXZRMllzUlVGQlVXMUNMRVZCUVVsTUxFbEJRMDVNTEdWQlFXbENTeXhKUVVGTlJDeEZRVUZKVXl4VFFVRlRReXhQUVVGVExFVkJTM0pFTEVsQlNFRTFRaXhGUVVGVlF5eExRVUZMTkVJc1kwRkJZemRDTEVkQlJUZENNRUlzUlVGQlZTeEhRVU5NVEN4RlFVRkpMRVZCUVVkRkxFZEJSbHBGTEVWQlFVOVFMRVZCUVVsVExGVkJSV0ZETEU5QlFWRlFMRVZCUVVsRkxFVkJRVTFHTEVsQlEzaERhRUlzUlVGQlVXOUNMRVZCUVV0S0xFZEJRMkpMTEVWQlFWRkpMRXRCUVVzM1FpeExRVUZMT0VJc1pVRkJaVEZDTEVWQlFVOU1MRVZCUVZNc1NVRkZia1FzVDBGQlR6QkNMRWRCUjFRMVFpeEZRVUZuUWxjc1ZVRkJWWFZDTEZWQlFWa3NVMEZCVTBNc1JVRkJTMnBETEVWQlFWTmhMRWRCUXpORUxFOUJRVTlhTEV0QlFVdEdMRTlCUVU5dFF5eE5RVUZOY0VNc1JVRkJaMEpKTEZWQlFWVTRRaXhWUVVGVk5VSXNTMEZCUzBnc1MwRkJUV2RETEVWQlFVdHFReXhGUVVGVFlTeExRVWQ0Um1Zc1JVRkJaMEpYTEZWQlFWVXdRaXhOUVVGUkxGTkJRVk4yUWl4RlFVRk5XaXhGUVVGVFlTeEhRVU40UkN4UFFVRlBXaXhMUVVGTFJpeFBRVUZQYlVNc1RVRkJUWEJETEVWQlFXZENTU3hWUVVGVmFVTXNUVUZCVFM5Q0xFdEJRVXRJTEV0QlFVMVhMRVZCUVUxYUxFVkJRVk5oTEV0QlIzSkdaaXhGUVVGblFsY3NWVUZCVlRKQ0xGRkJRVlVzVTBGQlUzaENMRVZCUVUxYUxFVkJRVk5oTEVkQlF6RkVMRTlCUVU5YUxFdEJRVXRHTEU5QlFVOXRReXhOUVVGTmNFTXNSVUZCWjBKSkxGVkJRVlZyUXl4UlFVRlJhRU1zUzBGQlMwZ3NTMEZCVFZjc1JVRkJUVm9zUlVGQlUyRXNTMEZIZGtabUxFVkJRV2RDVnl4VlFVRlZORUlzV1VGQll5eFRRVUZUZWtJc1JVRkJUVm9zUlVGQlUyRXNSMEZET1VRc1QwRkJUMW9zUzBGQlMwWXNUMEZCVDIxRExFMUJRVTF3UXl4RlFVRm5Ra2tzVlVGQlZXMURMRmxCUVZscVF5eExRVUZMU0N4TFFVRk5WeXhGUVVGTldpeEZRVUZUWVN4TFFVY3pSbVlzUlVGQlowSlhMRlZCUVZVMlFpeFJRVUZWTEZOQlFWTXhRaXhGUVVGTldpeEZRVUZUWVN4SFFVTXhSQ3hKUVVGSlVpeEZRVUZQWlN4RlFVRkhSU3hGUVVGTFJTeEZRVmR1UWl4SFFWWkJXQ3hKUVVGVlFTeEZRVUZSTEVkQlEyeENXaXhMUVVGTGMwTXNVMEZCVXpOQ0xFVkJRVTFhTEVWQlFWTmhMRWRCUXpkQ1lpeEZRVUZSWlN4TlFVRlJla0lzUlVGQldXdEVMRkZCUXpWQ2RrTXNTMEZCUzBZc1QwRkJUMjFETEUxQlFVMXFReXhMUVVGTGQwTXNUMEZCVHpkQ0xFVkJRVTFhTEVWQlFWTmhMRWxCUXpkRFdpeExRVUZMUml4UFFVRlBiVU1zVFVGQlRTeGhRVUZsZEVJc1JVRkJTemhDTEU5QlFVOURMRTFCUTNwREwwSXNSVUZCUzJkRExFOUJRVk5vUXl4RlFVRkxhVU1zVFVGRGNrSTFReXhMUVVGTFJpeFBRVUZQYlVNc1RVRkJUU3haUVVGamRFSXNSVUZCUzJkRExFMUJRVkVzVFVGQlVXaERMRVZCUVV0cFF5eE5RVUZSTEV0QlEzcEVha01zUlVGQlMybERMRTlCUTJRMVF5eExRVUZMUml4UFFVRlBiVU1zVFVGQlRTeFpRVUZqZEVJc1JVRkJTMmxETEUxQlFWRXNTMEZGTTBOcVF5eEZRVUZMWlN4VFFVRlRReXhQUVVGVExFVkJRVWNzUTBGTE5VSXNTVUZLUVROQ0xFdEJRVXRHTEU5QlFVOXRReXhOUVVGTkxFMUJRMnhDYWtNc1MwRkJTMFlzVDBGQlQyMURMRTFCUVUxcVF5eExRVUZMVlN4UlFVRlJReXhGUVVGTldpeEZRVUZUWVN4SlFVTTVRMklzUlVGQlVXVXNUVUZCVVhwQ0xFVkJRVmwzUkN4VlFVVjJRakZDTEVWQlFVa3NSVUZCUjBVc1IwRkVXa1VzUlVGQlRWb3NSVUZCUzJVc1ZVRkRWME1zVDBGQlVWSXNSVUZCU1VVc1JVRkJTMFlzU1VGRGNrTm1MRVZCUVZGdFFpeEZRVUZKU2l4SFFVTmFia0lzUzBGQlN6aENMR1ZCUVdVeFFpeEZRVUZQVEN4RlFVRlRZU3hGUVVGUkxFZEJSVGxEWWl4RlFVRlJaU3hOUVVGUmVrSXNSVUZCV1RCQ0xGTkJRelZDWml4TFFVRkxSaXhQUVVGUGJVTXNUVUZCVFN4TFFVMXdRaXhQUVVwQmJFTXNSVUZCVVdVc1RVRkJVWHBDTEVWQlFWa3dRaXhUUVVNMVFtWXNTMEZCUzBZc1QwRkJUMjFETEUxQlFVMXNReXhGUVVGUkswTXNhVUpCUVcxQ0xFdEJRemRET1VNc1MwRkJTMFlzVDBGQlQyMURMRTFCUVUxcVF5eExRVUZMVlN4UlFVRlJReXhGUVVGTldpeEZRVUZUWVN4SlFVTTVRMklzUlVGQlVXVXNUVUZCVVhwQ0xFVkJRVmt3UkN4TFFVTnlRaTlETEV0QlFVdG5SQ3hWUVVGVmNrTXNSVUZCVFZvc1JVRkJVMkVzU1VGSGRrTm1MRVZCUVdkQ1Z5eFZRVUZWZVVNc1VVRkJWU3hUUVVGVGRFTXNSVUZCVFZvc1JVRkJVMkVzUjBGRE1VUXNTVUZCU1c5Q0xFVkJRVXMxUWl4RlFVRlBPRU1zUlVGQlowSkRMRVZCUVdkQ2FFTXNSVUZCUjBVc1JVRkJTM0ZDTEVWQlFYZENia0lzUlVGQlMwTXNSVUZOY2tZc1NVRkJTMnRDTEV0QlRFdzVRaXhKUVVGVlFTeEZRVUZSTEVkQlEyeENXaXhMUVVGTGMwTXNVMEZCVXpOQ0xFVkJRVTFhTEVWQlFWTmhMRWRCUXpkQ1lpeEZRVUZSWlN4TlFVRlJla0lzUlVGQldXdEVMRkZCUXpWQ2RrTXNTMEZCUzBZc1QwRkJUMjFETEUxQlFVMXFReXhMUVVGTGQwTXNUMEZCVHpkQ0xFVkJRVTFhTEVWQlFWTmhMRWRCUVZNc1NVRkJUVVFzUlVGQlN5dENMRTFCUTJwRmJrSXNSVUZCVFZvc1JVRkJTM2xETEZGQlJVbzNSQ3hGUVVGUldTeExRVUZMYjBJc1JVRkJTMjFDTEV0QlEzWkNWaXhGUVVGTlZDeEZRVUZKYlVJc1IwRkRWakZETEV0QlFVc3JRaXhWUVVGVlF5eEZRVUZMYWtNc1JVRkJVMkVzU1VGSkwwSXNSMEZFUVhWRExFVkJRVzlETEV0QlJIQkRSQ3hGUVVGcFFuWkRMRVZCUVV0bExGTkJRVk5ETEZGQlExTXNTMEZCVDJoQ0xFVkJRVXRsTEZOQlFWTXNSMEZEZEVNc1NVRkJia0ozUWl4SFFVRjNRblpETEVWQlFVdGxMRk5CUVZNeVFpeE5RVUZOTEZOQlFWTkRMRWRCUTNaRUxFOUJRVkZCTEVWQlFVVkRMRTlCUVZOdVJTeEZRVUZUYjBVc1RVRkJVVVlzUlVGQlJVTXNUMEZCVTI1RkxFVkJRVk54UlN4TlFVRnZRaXhMUVVGYVNDeEZRVUZGU1N4UlFVVTVSRE5FTEVWQlFWRTBSQ3haUVVOV00wUXNTMEZCUzBZc1QwRkJUMjFETEUxQlFVMHNTMEZEYkVKc1F5eEZRVUZSWlN4TlFVRlJla0lzUlVGQldUQkNMRk5CUXpWQ1ppeExRVUZMUml4UFFVRlBiVU1zVFVGQlRTeExRVUZQZEVJc1JVRkJTeXRDTEV0QlFVOHNUMEZGY2tNelF5eEZRVUZSWlN4TlFVRlJla0lzUlVGQldUQkNMRk5CUXpWQ1ppeExRVUZMUml4UFFVRlBiVU1zVFVGQlRXeERMRVZCUVZFclF5eHBRa0ZCYlVJc1dVRkZNVU1zU1VGQlNTOURMRVZCUVZFMlJDeFJRVUUyUWl4SlFVRnVRbFlzUjBGQmVVSkRMRVZCUVdWSkxFOUJRVk51UlN4RlFVRlRiMFVzVFVGQlVVd3NSVUZCWlVrc1QwRkJVMjVGTEVWQlFWTnhSU3hMUVVGcFF5eE5RVUY0UWs0c1JVRkJaVThzVFVGVmFrb3NRMEZKVEN4SlFVaEJNVVFzUzBGQlMwWXNUMEZCVDIxRExFMUJRVTBzU1VGQlRXcERMRXRCUVV0VkxGRkJRVkZETEVWQlFVMWFMRVZCUVZOaExFbEJRM0JFWWl4RlFVRlJaU3hOUVVGUmVrSXNSVUZCV1hkRUxGVkJSWFpDTVVJc1JVRkJTU3hGUVVGSFJTeEhRVVJhUnl4RlFVRlBZaXhGUVVGTFpTeFZRVU5YUXl4UFFVRlJVaXhGUVVGSlJTeEZRVUZMUml4SlFVTjBRMllzUlVGQlVXOUNMRVZCUVV0TUxFZEJRMkp1UWl4TFFVRkxPRUlzWlVGQlpURkNMRVZCUVU5TUxFVkJRVk5oTEVWQlFWRXNSMEZGT1VOaUxFVkJRVkZsTEUxQlFWRjZRaXhGUVVGWk1FSXNVMEZETlVKbUxFdEJRVXRHTEU5QlFVOXRReXhOUVVGTmFrTXNTMEZCUzNkRExFOUJRVTgzUWl4RlFVRk5XaXhGUVVGVFlTeEhRVUZUTEV0QlFVOUVMRVZCUVVzclFpeExRVUZQTEZWQmJFSjZSVEZETEV0QlFVdEdMRTlCUVU5dFF5eE5RVUZOTEV0QlEyeENiRU1zUlVGQlVXVXNUVUZCVVhwQ0xFVkJRVmwzUkN4VlFVTTFRamxETEVWQlFWRTRSQ3gxUWtGRFZ5eEZRVU51UWpkRUxFdEJRVXM0UWl4bFFVRmxjVUlzUlVGQlowSndSQ3hGUVVGVFlTeEZRVUZSTEVkQlEzSkVZaXhGUVVGUk9FUXNkVUpCUTFjc1JVRkRia0k1UkN4RlFVRlJaU3hOUVVGUmVrSXNSVUZCV1RCQ0xGTkJRelZDWml4TFFVRkxSaXhQUVVGUGJVTXNUVUZCVFN4TFFVRlBkRUlzUlVGQlN5dENMRXRCUVU4c1MwRmpka01zVDBGR1FURkRMRXRCUVV0R0xFOUJRVTl0UXl4TlFVRk5ha01zUzBGQlMxVXNVVUZCVVVNc1JVRkJUVm9zUlVGQlUyRXNTVUZET1VOaUxFVkJRVkZsTEUxQlFWRjZRaXhGUVVGWk1FUXNTMEZEY2tJdlF5eExRVUZMWjBRc1ZVRkJWWEpETEVWQlFVMWFMRVZCUVZOaExFbEJSM1pEWml4RlFVRm5RbGNzVlVGQlZYTkVMSE5DUVVGM1FpeFRRVUZUYmtRc1JVRkJUVm9zUlVGQlUyRXNSMEZEZUVVc1QwRkJUMW9zUzBGQlMwWXNUMEZCVDIxRExFMUJRVTF3UXl4RlFVRm5Ra2tzVlVGQlZUWkVMSE5DUVVGelFqTkVMRXRCUVV0SUxFdEJRVTFYTEVWQlFVMWFMRVZCUVZOaExFdEJSM0pIWml4RlFVRm5RbGNzVlVGQlZYVkVMRWxCUVUwc1UwRkJVM0JFTEVWQlFVMWFMRVZCUVZOaExFZEJRM1JFTEU5QlFVOWFMRXRCUVV0R0xFOUJRVTl0UXl4TlFVRk5jRU1zUlVGQlowSkpMRlZCUVZVNFJDeEpRVUZKTlVRc1MwRkJTMGdzUzBGQlRWY3NSVUZCVFZvc1JVRkJVMkVzUzBGSGJrWm1MRVZCUVdkQ1Z5eFZRVUZWZDBRc1MwRkJUeXhUUVVGVGNrUXNSVUZCVFZvc1JVRkJVMkVzUjBGRGRrUXNUMEZCVDFvc1MwRkJTMFlzVDBGQlQyMURMRTFCUVUxd1F5eEZRVUZuUWtrc1ZVRkJWU3RFTEV0QlFVczNSQ3hMUVVGTFNDeExRVUZOVnl4RlFVRk5XaXhGUVVGVFlTeExRVWR3Um1Zc1JVRkJaMEpYTEZWQlFWVjVSQ3hYUVVGaExGTkJRVk4wUkN4RlFVRk5XaXhGUVVGVFlTeEhRVU0zUkN4UFFVRlBXaXhMUVVGTFJpeFBRVUZQYlVNc1RVRkJUWEJETEVWQlFXZENTU3hWUVVGVlowVXNWMEZCVnpsRUxFdEJRVXRJTEV0QlFVMVhMRVZCUVUxYUxFVkJRVk5oTEV0QlJ6RkdaaXhGUVVGblFsY3NWVUZCVlRCRUxGZEJRV0VzVTBGQlUzWkVMRVZCUVUxYUxFVkJRVk5oTEVkQlF6ZEVMRTlCUVU5YUxFdEJRVXRHTEU5QlFVOXRReXhOUVVGTmNFTXNSVUZCWjBKSkxGVkJRVlZwUlN4WFFVRlhMMFFzUzBGQlMwZ3NTMEZCVFZjc1JVRkJUVm9zUlVGQlUyRXNTMEZITVVabUxFVkJRV2RDVnl4VlFVRlZNa1FzVlVGQldTeFRRVUZUZUVRc1JVRkJUVm9zUlVGQlUyRXNSMEZETlVRc1QwRkJUMW9zUzBGQlMwWXNUMEZCVDIxRExFMUJRVTF3UXl4RlFVRm5Ra2tzVlVGQlZXdEZMRlZCUVZWb1JTeExRVUZMU0N4TFFVRk5WeXhGUVVGTldpeEZRVUZUWVN4TFFVZDZSbVlzUlVGQlowSlhMRlZCUVZVMFJDeFpRVUZqTEZOQlFWTjZSQ3hGUVVGTldpeEZRVUZUWVN4SFFVTTVSQ3hQUVVGUFdpeExRVUZMUml4UFFVRlBiVU1zVFVGQlRYQkRMRVZCUVdkQ1NTeFZRVUZWYlVVc1dVRkJXV3BGTEV0QlFVdElMRXRCUVUxWExFVkJRVTFhTEVWQlFWTmhMRXRCUjNCR1ppeEZRUzlLTUVJc1MwRnRTMnhEVFN4TFFVRkxTQ0lzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5dFlYTjBaWEl2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdmVHMXNZblZwYkdSbGNpOXNhV0l2V0UxTVUzUnlaV0Z0VjNKcGRHVnlMbXB6SW4wPSIsIihmdW5jdGlvbigpe3ZhciB0LGU9e30uaGFzT3duUHJvcGVydHk7dD1yZXF1aXJlKFwiLi9YTUxXcml0ZXJCYXNlXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHIodCl7ci5fX3N1cGVyX18uY29uc3RydWN0b3IuY2FsbCh0aGlzLHQpfXJldHVybiBmdW5jdGlvbih0LG4pe2Zvcih2YXIgciBpbiBuKWUuY2FsbChuLHIpJiYodFtyXT1uW3JdKTtmdW5jdGlvbiBvKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fW8ucHJvdG90eXBlPW4ucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyBvLHQuX19zdXBlcl9fPW4ucHJvdG90eXBlfShyLHQpLHIucHJvdG90eXBlLmRvY3VtZW50PWZ1bmN0aW9uKHQsZSl7dmFyIG4scixvLGksbDtmb3IoZT10aGlzLmZpbHRlck9wdGlvbnMoZSksaT1cIlwiLHI9MCxvPShsPXQuY2hpbGRyZW4pLmxlbmd0aDtyPG87cisrKW49bFtyXSxpKz10aGlzLndyaXRlQ2hpbGROb2RlKG4sZSwwKTtyZXR1cm4gZS5wcmV0dHkmJmkuc2xpY2UoLWUubmV3bGluZS5sZW5ndGgpPT09ZS5uZXdsaW5lJiYoaT1pLnNsaWNlKDAsLWUubmV3bGluZS5sZW5ndGgpKSxpfSxyfSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URk4wY21sdVoxZHlhWFJsY2k1cWN5SmRMQ0p1WVcxbGN5STZXeUpZVFV4WGNtbDBaWEpDWVhObElpd2lhR0Z6VUhKdmNDSXNJbWhoYzA5M2JsQnliM0JsY25SNUlpd2ljbVZ4ZFdseVpTSXNJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0p6ZFhCbGNrTnNZWE56SWl3aVdFMU1VM1J5YVc1blYzSnBkR1Z5SWl3aWIzQjBhVzl1Y3lJc0lsOWZjM1Z3WlhKZlh5SXNJbU52Ym5OMGNuVmpkRzl5SWl3aVkyRnNiQ0lzSW5Sb2FYTWlMQ0pqYUdsc1pDSXNJbkJoY21WdWRDSXNJbXRsZVNJc0ltTjBiM0lpTENKd2NtOTBiM1I1Y0dVaUxDSmxlSFJsYm1RaUxDSmtiMk4xYldWdWRDSXNJbVJ2WXlJc0lta2lMQ0pzWlc0aUxDSnlJaXdpY21WbUlpd2labWxzZEdWeVQzQjBhVzl1Y3lJc0ltTm9hV3hrY21WdUlpd2liR1Z1WjNSb0lpd2lkM0pwZEdWRGFHbHNaRTV2WkdVaUxDSndjbVYwZEhraUxDSnpiR2xqWlNJc0ltNWxkMnhwYm1VaVhTd2liV0Z3Y0dsdVozTWlPaUpEUVVOQkxGZEJRMFVzU1VGQmNVSkJMRVZCUlc1Q1F5eEZRVUZWTEVkQlFVZERMR1ZCUldaR0xFVkJRV2RDUnl4UlFVRlJMRzFDUVVWNFFrTXNUMEZCVDBNc1VVRkJORUlzVTBGQlZVTXNSMEZITTBNc1UwRkJVME1zUlVGQlowSkRMRWRCUTNaQ1JDeEZRVUZuUWtVc1ZVRkJWVU1zV1VGQldVTXNTMEZCUzBNc1MwRkJUVW9zUjBGclFtNUVMRTlCTTBKVExGTkJRVk5MTEVWQlFVOURMRWRCUVZVc1NVRkJTeXhKUVVGSlF5eExRVUZQUkN4RlFVRmpZaXhGUVVGUlZTeExRVUZMUnl4RlFVRlJReXhMUVVGTlJpeEZRVUZOUlN4SFFVRlBSQ3hGUVVGUFF5eEpRVUZSTEZOQlFWTkRMRWxCUVZOS0xFdEJRVXRHTEZsQlFXTkhMRVZCUVZOSExFVkJRVXRETEZWQlFWbElMRVZCUVU5SExGVkJRVmRLTEVWQlFVMUpMRlZCUVZrc1NVRkJTVVFzUlVGQlVVZ3NSVUZCVFVvc1ZVRkJXVXNzUlVGQlQwY3NWVUZOYUZGRExFTkJRVTlZTEVWQmRVSk9VQ3hIUVdwQ1JFOHNSVUZCWjBKVkxGVkJRVlZGTEZOQlFWY3NVMEZCVTBNc1JVRkJTMW9zUjBGRGFrUXNTVUZCU1Vzc1JVRkJUMUVzUlVGQlIwTXNSVUZCUzBNc1JVRkJSME1zUlVGSmRFSXNTVUZJUVdoQ0xFVkJRVlZKTEV0QlFVdGhMR05CUVdOcVFpeEhRVU0zUW1Vc1JVRkJTU3hIUVVWRFJpeEZRVUZKTEVWQlFVZERMRWRCUkZwRkxFVkJRVTFLTEVWQlFVbE5MRlZCUTFsRExFOUJRVkZPTEVWQlFVbERMRVZCUVV0RUxFbEJRM0pEVWl4RlFVRlJWeXhGUVVGSlNDeEhRVU5hUlN4SFFVRkxXQ3hMUVVGTFowSXNaVUZCWldZc1JVRkJUMHdzUlVGQlV5eEhRVXN6UXl4UFFVaEpRU3hGUVVGUmNVSXNVVUZCVlU0c1JVRkJSVThzVDBGQlQzUkNMRVZCUVZGMVFpeFJRVUZSU2l4VlFVRlpia0lzUlVGQlVYVkNMRlZCUTJwRlVpeEZRVUZKUVN4RlFVRkZUeXhOUVVGTkxFZEJRVWwwUWl4RlFVRlJkVUlzVVVGQlVVb3NVMEZGTTBKS0xFZEJSMFpvUWl4RlFYUkNNRUlzUzBFd1FteERTU3hMUVVGTFF5SXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl0WVhOMFpYSXZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12ZUcxc1luVnBiR1JsY2k5c2FXSXZXRTFNVTNSeWFXNW5WM0pwZEdWeUxtcHpJbjA9IiwiKGZ1bmN0aW9uKCl7dmFyIHQ9ZnVuY3Rpb24odCxvKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdC5hcHBseShvLGFyZ3VtZW50cyl9fSxvPXt9Lmhhc093blByb3BlcnR5O21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbihuKXt2YXIgcixpLGU7Zm9yKHIgaW4gdGhpcy5hc3NlcnRMZWdhbE5hbWU9dCh0aGlzLmFzc2VydExlZ2FsTmFtZSx0aGlzKSx0aGlzLmFzc2VydExlZ2FsQ2hhcj10KHRoaXMuYXNzZXJ0TGVnYWxDaGFyLHRoaXMpLG58fChuPXt9KSx0aGlzLm9wdGlvbnM9bix0aGlzLm9wdGlvbnMudmVyc2lvbnx8KHRoaXMub3B0aW9ucy52ZXJzaW9uPVwiMS4wXCIpLGk9bi5zdHJpbmdpZnl8fHt9KW8uY2FsbChpLHIpJiYoZT1pW3JdLHRoaXNbcl09ZSl9cmV0dXJuIG4ucHJvdG90eXBlLm5hbWU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24/dDp0aGlzLmFzc2VydExlZ2FsTmFtZShcIlwiK3R8fFwiXCIpfSxuLnByb3RvdHlwZS50ZXh0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uP3Q6dGhpcy5hc3NlcnRMZWdhbENoYXIodGhpcy50ZXh0RXNjYXBlKFwiXCIrdHx8XCJcIikpfSxuLnByb3RvdHlwZS5jZGF0YT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbj90Oih0PSh0PVwiXCIrdHx8XCJcIikucmVwbGFjZShcIl1dPlwiLFwiXV1dXT48IVtDREFUQVs+XCIpLHRoaXMuYXNzZXJ0TGVnYWxDaGFyKHQpKX0sbi5wcm90b3R5cGUuY29tbWVudD1mdW5jdGlvbih0KXtpZih0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uKXJldHVybiB0O2lmKCh0PVwiXCIrdHx8XCJcIikubWF0Y2goLy0tLykpdGhyb3cgbmV3IEVycm9yKFwiQ29tbWVudCB0ZXh0IGNhbm5vdCBjb250YWluIGRvdWJsZS1oeXBlbjogXCIrdCk7cmV0dXJuIHRoaXMuYXNzZXJ0TGVnYWxDaGFyKHQpfSxuLnByb3RvdHlwZS5yYXc9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24/dDpcIlwiK3R8fFwiXCJ9LG4ucHJvdG90eXBlLmF0dFZhbHVlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uP3Q6dGhpcy5hc3NlcnRMZWdhbENoYXIodGhpcy5hdHRFc2NhcGUodD1cIlwiK3R8fFwiXCIpKX0sbi5wcm90b3R5cGUuaW5zVGFyZ2V0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uP3Q6dGhpcy5hc3NlcnRMZWdhbENoYXIoXCJcIit0fHxcIlwiKX0sbi5wcm90b3R5cGUuaW5zVmFsdWU9ZnVuY3Rpb24odCl7aWYodGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbilyZXR1cm4gdDtpZigodD1cIlwiK3R8fFwiXCIpLm1hdGNoKC9cXD8+LykpdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBwcm9jZXNzaW5nIGluc3RydWN0aW9uIHZhbHVlOiBcIit0KTtyZXR1cm4gdGhpcy5hc3NlcnRMZWdhbENoYXIodCl9LG4ucHJvdG90eXBlLnhtbFZlcnNpb249ZnVuY3Rpb24odCl7aWYodGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbilyZXR1cm4gdDtpZighKHQ9XCJcIit0fHxcIlwiKS5tYXRjaCgvMVxcLlswLTldKy8pKXRocm93IG5ldyBFcnJvcihcIkludmFsaWQgdmVyc2lvbiBudW1iZXI6IFwiK3QpO3JldHVybiB0fSxuLnByb3RvdHlwZS54bWxFbmNvZGluZz1mdW5jdGlvbih0KXtpZih0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uKXJldHVybiB0O2lmKCEodD1cIlwiK3R8fFwiXCIpLm1hdGNoKC9eW0EtWmEtel0oPzpbQS1aYS16MC05Ll8tXSkqJC8pKXRocm93IG5ldyBFcnJvcihcIkludmFsaWQgZW5jb2Rpbmc6IFwiK3QpO3JldHVybiB0aGlzLmFzc2VydExlZ2FsQ2hhcih0KX0sbi5wcm90b3R5cGUueG1sU3RhbmRhbG9uZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbj90OnQ/XCJ5ZXNcIjpcIm5vXCJ9LG4ucHJvdG90eXBlLmR0ZFB1YklEPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uP3Q6dGhpcy5hc3NlcnRMZWdhbENoYXIoXCJcIit0fHxcIlwiKX0sbi5wcm90b3R5cGUuZHRkU3lzSUQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24/dDp0aGlzLmFzc2VydExlZ2FsQ2hhcihcIlwiK3R8fFwiXCIpfSxuLnByb3RvdHlwZS5kdGRFbGVtZW50VmFsdWU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24/dDp0aGlzLmFzc2VydExlZ2FsQ2hhcihcIlwiK3R8fFwiXCIpfSxuLnByb3RvdHlwZS5kdGRBdHRUeXBlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uP3Q6dGhpcy5hc3NlcnRMZWdhbENoYXIoXCJcIit0fHxcIlwiKX0sbi5wcm90b3R5cGUuZHRkQXR0RGVmYXVsdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbj90OnRoaXMuYXNzZXJ0TGVnYWxDaGFyKFwiXCIrdHx8XCJcIil9LG4ucHJvdG90eXBlLmR0ZEVudGl0eVZhbHVlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uP3Q6dGhpcy5hc3NlcnRMZWdhbENoYXIoXCJcIit0fHxcIlwiKX0sbi5wcm90b3R5cGUuZHRkTkRhdGE9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24/dDp0aGlzLmFzc2VydExlZ2FsQ2hhcihcIlwiK3R8fFwiXCIpfSxuLnByb3RvdHlwZS5jb252ZXJ0QXR0S2V5PVwiQFwiLG4ucHJvdG90eXBlLmNvbnZlcnRQSUtleT1cIj9cIixuLnByb3RvdHlwZS5jb252ZXJ0VGV4dEtleT1cIiN0ZXh0XCIsbi5wcm90b3R5cGUuY29udmVydENEYXRhS2V5PVwiI2NkYXRhXCIsbi5wcm90b3R5cGUuY29udmVydENvbW1lbnRLZXk9XCIjY29tbWVudFwiLG4ucHJvdG90eXBlLmNvbnZlcnRSYXdLZXk9XCIjcmF3XCIsbi5wcm90b3R5cGUuYXNzZXJ0TGVnYWxDaGFyPWZ1bmN0aW9uKHQpe3ZhciBvLG47aWYodGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbilyZXR1cm4gdDtpZihvPVwiXCIsXCIxLjBcIj09PXRoaXMub3B0aW9ucy52ZXJzaW9uKXtpZihvPS9bXFwwLVxceDA4XFx4MEJcXGZcXHgwRS1cXHgxRlxcdUZGRkVcXHVGRkZGXXxbXFx1RDgwMC1cXHVEQkZGXSg/IVtcXHVEQzAwLVxcdURGRkZdKXwoPzpbXlxcdUQ4MDAtXFx1REJGRl18XilbXFx1REMwMC1cXHVERkZGXS8sbj10Lm1hdGNoKG8pKXRocm93IG5ldyBFcnJvcihcIkludmFsaWQgY2hhcmFjdGVyIGluIHN0cmluZzogXCIrdCtcIiBhdCBpbmRleCBcIituLmluZGV4KX1lbHNlIGlmKFwiMS4xXCI9PT10aGlzLm9wdGlvbnMudmVyc2lvbiYmKG89L1tcXDBcXHVGRkZFXFx1RkZGRl18W1xcdUQ4MDAtXFx1REJGRl0oPyFbXFx1REMwMC1cXHVERkZGXSl8KD86W15cXHVEODAwLVxcdURCRkZdfF4pW1xcdURDMDAtXFx1REZGRl0vLG49dC5tYXRjaChvKSkpdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBjaGFyYWN0ZXIgaW4gc3RyaW5nOiBcIit0K1wiIGF0IGluZGV4IFwiK24uaW5kZXgpO3JldHVybiB0fSxuLnByb3RvdHlwZS5hc3NlcnRMZWdhbE5hbWU9ZnVuY3Rpb24odCl7dmFyIG87aWYodGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbilyZXR1cm4gdDtpZih0aGlzLmFzc2VydExlZ2FsQ2hhcih0KSxvPS9eKFs6QS1aX2EtelxceEMwLVxceEQ2XFx4RDgtXFx4RjZcXHhGOC1cXHUwMkZGXFx1MDM3MC1cXHUwMzdEXFx1MDM3Ri1cXHUxRkZGXFx1MjAwQ1xcdTIwMERcXHUyMDcwLVxcdTIxOEZcXHUyQzAwLVxcdTJGRUZcXHUzMDAxLVxcdUQ3RkZcXHVGOTAwLVxcdUZEQ0ZcXHVGREYwLVxcdUZGRkRdfFtcXHVEODAwLVxcdURCN0ZdW1xcdURDMDAtXFx1REZGRl0pKFtcXHgyRFxcLjAtOkEtWl9hLXpcXHhCN1xceEMwLVxceEQ2XFx4RDgtXFx4RjZcXHhGOC1cXHUwMzdEXFx1MDM3Ri1cXHUxRkZGXFx1MjAwQ1xcdTIwMERcXHUyMDNGXFx1MjA0MFxcdTIwNzAtXFx1MjE4RlxcdTJDMDAtXFx1MkZFRlxcdTMwMDEtXFx1RDdGRlxcdUY5MDAtXFx1RkRDRlxcdUZERjAtXFx1RkZGRF18W1xcdUQ4MDAtXFx1REI3Rl1bXFx1REMwMC1cXHVERkZGXSkqJC8sIXQubWF0Y2gobykpdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBjaGFyYWN0ZXIgaW4gbmFtZVwiKTtyZXR1cm4gdH0sbi5wcm90b3R5cGUudGV4dEVzY2FwZT1mdW5jdGlvbih0KXt2YXIgbztyZXR1cm4gdGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbj90OihvPXRoaXMub3B0aW9ucy5ub0RvdWJsZUVuY29kaW5nPy8oPyEmXFxTKzspJi9nOi8mL2csdC5yZXBsYWNlKG8sXCImYW1wO1wiKS5yZXBsYWNlKC88L2csXCImbHQ7XCIpLnJlcGxhY2UoLz4vZyxcIiZndDtcIikucmVwbGFjZSgvXFxyL2csXCImI3hEO1wiKSl9LG4ucHJvdG90eXBlLmF0dEVzY2FwZT1mdW5jdGlvbih0KXt2YXIgbztyZXR1cm4gdGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbj90OihvPXRoaXMub3B0aW9ucy5ub0RvdWJsZUVuY29kaW5nPy8oPyEmXFxTKzspJi9nOi8mL2csdC5yZXBsYWNlKG8sXCImYW1wO1wiKS5yZXBsYWNlKC88L2csXCImbHQ7XCIpLnJlcGxhY2UoL1wiL2csXCImcXVvdDtcIikucmVwbGFjZSgvXFx0L2csXCImI3g5O1wiKS5yZXBsYWNlKC9cXG4vZyxcIiYjeEE7XCIpLnJlcGxhY2UoL1xcci9nLFwiJiN4RDtcIikpfSxufSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URk4wY21sdVoybG1hV1Z5TG1weklsMHNJbTVoYldWeklqcGJJbUpwYm1RaUxDSm1iaUlzSW0xbElpd2lZWEJ3YkhraUxDSmhjbWQxYldWdWRITWlMQ0pvWVhOUWNtOXdJaXdpYUdGelQzZHVVSEp2Y0dWeWRIa2lMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpV0UxTVUzUnlhVzVuYVdacFpYSWlMQ0p2Y0hScGIyNXpJaXdpYTJWNUlpd2ljbVZtSWl3aWRtRnNkV1VpTENKMGFHbHpJaXdpWVhOelpYSjBUR1ZuWVd4T1lXMWxJaXdpWVhOelpYSjBUR1ZuWVd4RGFHRnlJaXdpZG1WeWMybHZiaUlzSW5OMGNtbHVaMmxtZVNJc0ltTmhiR3dpTENKd2NtOTBiM1I1Y0dVaUxDSnVZVzFsSWl3aWRtRnNJaXdpYm05V1lXeHBaR0YwYVc5dUlpd2lkR1Y0ZENJc0luUmxlSFJGYzJOaGNHVWlMQ0pqWkdGMFlTSXNJbkpsY0d4aFkyVWlMQ0pqYjIxdFpXNTBJaXdpYldGMFkyZ2lMQ0pGY25KdmNpSXNJbkpoZHlJc0ltRjBkRlpoYkhWbElpd2lZWFIwUlhOallYQmxJaXdpYVc1elZHRnlaMlYwSWl3aWFXNXpWbUZzZFdVaUxDSjRiV3hXWlhKemFXOXVJaXdpZUcxc1JXNWpiMlJwYm1jaUxDSjRiV3hUZEdGdVpHRnNiMjVsSWl3aVpIUmtVSFZpU1VRaUxDSmtkR1JUZVhOSlJDSXNJbVIwWkVWc1pXMWxiblJXWVd4MVpTSXNJbVIwWkVGMGRGUjVjR1VpTENKa2RHUkJkSFJFWldaaGRXeDBJaXdpWkhSa1JXNTBhWFI1Vm1Gc2RXVWlMQ0prZEdST1JHRjBZU0lzSW1OdmJuWmxjblJCZEhSTFpYa2lMQ0pqYjI1MlpYSjBVRWxMWlhraUxDSmpiMjUyWlhKMFZHVjRkRXRsZVNJc0ltTnZiblpsY25SRFJHRjBZVXRsZVNJc0ltTnZiblpsY25SRGIyMXRaVzUwUzJWNUlpd2lZMjl1ZG1WeWRGSmhkMHRsZVNJc0luTjBjaUlzSW5KbFoyVjRJaXdpY21Weklpd2lhVzVrWlhnaUxDSmhiWEJ5WldkbGVDSXNJbTV2Ukc5MVlteGxSVzVqYjJScGJtY2lYU3dpYldGd2NHbHVaM01pT2lKRFFVTkJMRmRCUTBVc1NVRkRSVUVzUlVGQlR5eFRRVUZUUXl4RlFVRkpReXhIUVVGTExFOUJRVThzVjBGQldTeFBRVUZQUkN4RlFVRkhSU3hOUVVGTlJDeEZRVUZKUlN4aFFVTm9SVU1zUlVGQlZTeEhRVUZIUXl4bFFVVm1ReXhQUVVGUFF5eFJRVUV5UWl4WFFVTm9ReXhUUVVGVFF5eEZRVUZsUXl4SFFVZDBRaXhKUVVGSlF5eEZRVUZMUXl4RlFVRkxReXhGUVU5a0xFbEJRVXRHTEV0QlZFeEhMRXRCUVV0RExHZENRVUZyUW1Zc1JVRkJTMk1zUzBGQlMwTXNaMEpCUVdsQ1JDeE5RVU5zUkVFc1MwRkJTMFVzWjBKQlFXdENhRUlzUlVGQlMyTXNTMEZCUzBVc1owSkJRV2xDUml4TlFVVnNSRW9zU1VGQldVRXNSVUZCVlN4SlFVTjBRa2tzUzBGQlMwb3NVVUZCVlVFc1JVRkRWa2tzUzBGQlMwb3NVVUZCVVU4c1ZVRkRhRUpJTEV0QlFVdEtMRkZCUVZGUExGRkJRVlVzVDBGRmVrSk1MRVZCUVUxR0xFVkJRVkZSTEZkQlFXRXNSMEZGY0VKaUxFVkJRVkZqTEV0QlFVdFFMRVZCUVV0RUxFdEJRM1pDUlN4RlFVRlJSQ3hGUVVGSlJDeEhRVU5hUnl4TFFVRkxTQ3hIUVVGUFJTeEhRWFZPYUVJc1QwRnVUa0ZLTEVWQlFXVlhMRlZCUVZWRExFdEJRVThzVTBGQlUwTXNSMEZEZGtNc1QwRkJTVklzUzBGQlMwb3NVVUZCVVdFc1lVRkRVa1FzUlVGRlJsSXNTMEZCUzBNc1owSkJRV2RDTEVkQlFVdFBMRWRCUVU4c1MwRkhNVU5pTEVWQlFXVlhMRlZCUVZWSkxFdEJRVThzVTBGQlUwWXNSMEZEZGtNc1QwRkJTVklzUzBGQlMwb3NVVUZCVVdFc1lVRkRVa1FzUlVGRlJsSXNTMEZCUzBVc1owSkJRV2RDUml4TFFVRkxWeXhYUVVGWExFZEJRVXRJTEVkQlFVOHNUVUZITVVSaUxFVkJRV1ZYTEZWQlFWVk5MRTFCUVZFc1UwRkJVMG9zUjBGRGVFTXNUMEZCU1ZJc1MwRkJTMG9zVVVGQlVXRXNZVUZEVWtRc1IwRkhWRUVzUjBGRVFVRXNSVUZCVFN4SFFVRkxRU3hIUVVGUExFbEJRMUpMTEZGQlFWRXNUVUZCVHl4dFFrRkRiRUppTEV0QlFVdEZMR2RDUVVGblFrMHNTMEZIT1VKaUxFVkJRV1ZYTEZWQlFWVlJMRkZCUVZVc1UwRkJVMDRzUjBGRE1VTXNSMEZCU1ZJc1MwRkJTMG9zVVVGQlVXRXNZVUZEWml4UFFVRlBSQ3hGUVVkVUxFbEJSRUZCTEVWQlFVMHNSMEZCUzBFc1IwRkJUeXhKUVVOV1R5eE5RVUZOTEUxQlExb3NUVUZCVFN4SlFVRkpReXhOUVVGTkxEWkRRVUVyUTFJc1IwRkZha1VzVDBGQlQxSXNTMEZCUzBVc1owSkJRV2RDVFN4SlFVYzVRbUlzUlVGQlpWY3NWVUZCVlZjc1NVRkJUU3hUUVVGVFZDeEhRVU4wUXl4UFFVRkpVaXhMUVVGTFNpeFJRVUZSWVN4aFFVTlNSQ3hGUVVWR0xFZEJRVXRCTEVkQlFVOHNTVUZIY2tKaUxFVkJRV1ZYTEZWQlFWVlpMRk5CUVZjc1UwRkJVMVlzUjBGRE0wTXNUMEZCU1ZJc1MwRkJTMG9zVVVGQlVXRXNZVUZEVWtRc1JVRkZSbElzUzBGQlMwVXNaMEpCUVdkQ1JpeExRVUZMYlVJc1ZVRkJWVmdzUlVGQlRTeEhRVUZMUVN4SFFVRlBMRTFCUnk5RVlpeEZRVUZsVnl4VlFVRlZZeXhWUVVGWkxGTkJRVk5hTEVkQlF6VkRMRTlCUVVsU0xFdEJRVXRLTEZGQlFWRmhMR0ZCUTFKRUxFVkJSVVpTTEV0QlFVdEZMR2RDUVVGblFpeEhRVUZMVFN4SFFVRlBMRXRCUnpGRFlpeEZRVUZsVnl4VlFVRlZaU3hUUVVGWExGTkJRVk5pTEVkQlF6TkRMRWRCUVVsU0xFdEJRVXRLTEZGQlFWRmhMR0ZCUTJZc1QwRkJUMFFzUlVGSFZDeEpRVVJCUVN4RlFVRk5MRWRCUVV0QkxFZEJRVThzU1VGRFZrOHNUVUZCVFN4UFFVTmFMRTFCUVUwc1NVRkJTVU1zVFVGQlRTeDVRMEZCTWtOU0xFZEJSVGRFTEU5QlFVOVNMRXRCUVV0RkxHZENRVUZuUWswc1NVRkhPVUppTEVWQlFXVlhMRlZCUVZWblFpeFhRVUZoTEZOQlFWTmtMRWRCUXpkRExFZEJRVWxTTEV0QlFVdEtMRkZCUVZGaExHRkJRMllzVDBGQlQwUXNSVUZIVkN4TFFVUkJRU3hGUVVGTkxFZEJRVXRCTEVkQlFVOHNTVUZEVkU4c1RVRkJUU3hoUVVOaUxFMUJRVTBzU1VGQlNVTXNUVUZCVFN3eVFrRkJOa0pTTEVkQlJTOURMRTlCUVU5QkxFZEJSMVJpTEVWQlFXVlhMRlZCUVZWcFFpeFpRVUZqTEZOQlFWTm1MRWRCUXpsRExFZEJRVWxTTEV0QlFVdEtMRkZCUVZGaExHRkJRMllzVDBGQlQwUXNSVUZIVkN4TFFVUkJRU3hGUVVGTkxFZEJRVXRCTEVkQlFVOHNTVUZEVkU4c1RVRkJUU3hwUTBGRFlpeE5RVUZOTEVsQlFVbERMRTFCUVUwc2NVSkJRWFZDVWl4SFFVVjZReXhQUVVGUFVpeExRVUZMUlN4blFrRkJaMEpOTEVsQlJ6bENZaXhGUVVGbFZ5eFZRVUZWYTBJc1kwRkJaMElzVTBGQlUyaENMRWRCUTJoRUxFOUJRVWxTTEV0QlFVdEtMRkZCUVZGaExHRkJRMUpFTEVWQlJVeEJMRVZCUTBzc1RVRkZRU3hOUVVsWVlpeEZRVUZsVnl4VlFVRlZiVUlzVTBGQlZ5eFRRVUZUYWtJc1IwRkRNME1zVDBGQlNWSXNTMEZCUzBvc1VVRkJVV0VzWVVGRFVrUXNSVUZGUmxJc1MwRkJTMFVzWjBKQlFXZENMRWRCUVV0TkxFZEJRVThzUzBGSE1VTmlMRVZCUVdWWExGVkJRVlZ2UWl4VFFVRlhMRk5CUVZOc1FpeEhRVU16UXl4UFFVRkpVaXhMUVVGTFNpeFJRVUZSWVN4aFFVTlNSQ3hGUVVWR1VpeExRVUZMUlN4blFrRkJaMElzUjBGQlMwMHNSMEZCVHl4TFFVY3hRMklzUlVGQlpWY3NWVUZCVlhGQ0xHZENRVUZyUWl4VFFVRlRia0lzUjBGRGJFUXNUMEZCU1ZJc1MwRkJTMG9zVVVGQlVXRXNZVUZEVWtRc1JVRkZSbElzUzBGQlMwVXNaMEpCUVdkQ0xFZEJRVXROTEVkQlFVOHNTMEZITVVOaUxFVkJRV1ZYTEZWQlFWVnpRaXhYUVVGaExGTkJRVk53UWl4SFFVTTNReXhQUVVGSlVpeExRVUZMU2l4UlFVRlJZU3hoUVVOU1JDeEZRVVZHVWl4TFFVRkxSU3huUWtGQlowSXNSMEZCUzAwc1IwRkJUeXhMUVVjeFEySXNSVUZCWlZjc1ZVRkJWWFZDTEdOQlFXZENMRk5CUVZOeVFpeEhRVU5vUkN4UFFVRkpVaXhMUVVGTFNpeFJRVUZSWVN4aFFVTlNSQ3hGUVVWR1VpeExRVUZMUlN4blFrRkJaMElzUjBGQlMwMHNSMEZCVHl4TFFVY3hRMklzUlVGQlpWY3NWVUZCVlhkQ0xHVkJRV2xDTEZOQlFWTjBRaXhIUVVOcVJDeFBRVUZKVWl4TFFVRkxTaXhSUVVGUllTeGhRVU5TUkN4RlFVVkdVaXhMUVVGTFJTeG5Ra0ZCWjBJc1IwRkJTMDBzUjBGQlR5eExRVWN4UTJJc1JVRkJaVmNzVlVGQlZYbENMRk5CUVZjc1UwRkJVM1pDTEVkQlF6TkRMRTlCUVVsU0xFdEJRVXRLTEZGQlFWRmhMR0ZCUTFKRUxFVkJSVVpTTEV0QlFVdEZMR2RDUVVGblFpeEhRVUZMVFN4SFFVRlBMRXRCUnpGRFlpeEZRVUZsVnl4VlFVRlZNRUlzWTBGQlowSXNTVUZGZWtOeVF5eEZRVUZsVnl4VlFVRlZNa0lzWVVGQlpTeEpRVVY0UTNSRExFVkJRV1ZYTEZWQlFWVTBRaXhsUVVGcFFpeFJRVVV4UTNaRExFVkJRV1ZYTEZWQlFWVTJRaXhuUWtGQmEwSXNVMEZGTTBONFF5eEZRVUZsVnl4VlFVRlZPRUlzYTBKQlFXOUNMRmRCUlRkRGVrTXNSVUZCWlZjc1ZVRkJWU3RDTEdOQlFXZENMRTlCUlhwRE1VTXNSVUZCWlZjc1ZVRkJWVW9zWjBKQlFXdENMRk5CUVZOdlF5eEhRVU5zUkN4SlFVRkpReXhGUVVGUFF5eEZRVU5ZTEVkQlFVbDRReXhMUVVGTFNpeFJRVUZSWVN4aFFVTm1MRTlCUVU4MlFpeEZRVWRVTEVkQlJFRkRMRVZCUVZFc1IwRkRjVUlzVVVGQmVrSjJReXhMUVVGTFNpeFJRVUZSVHl4VFFVVm1MRWRCUkVGdlF5eEZRVUZSTEdkSVFVTktReXhGUVVGTlJpeEZRVUZKZGtJc1RVRkJUWGRDTEVkQlEyeENMRTFCUVUwc1NVRkJTWFpDTEUxQlFVMHNaME5CUVd0RGMwSXNSVUZCVFN4aFFVRmxSU3hGUVVGSlF5eFpRVVY0UlN4SFFVRTJRaXhSUVVGNlFucERMRXRCUVV0S0xGRkJRVkZQTEZWQlEzUkNiME1zUlVGQlVTdzBSa0ZEU2tNc1JVRkJUVVlzUlVGQlNYWkNMRTFCUVUxM1FpeEpRVU5zUWl4TlFVRk5MRWxCUVVsMlFpeE5RVUZOTEdkRFFVRnJRM05DTEVWQlFVMHNZVUZCWlVVc1JVRkJTVU1zVDBGSEwwVXNUMEZCVDBnc1IwRkhWRE5ETEVWQlFXVlhMRlZCUVZWTUxHZENRVUZyUWl4VFFVRlRjVU1zUjBGRGJFUXNTVUZCU1VNc1JVRkRTaXhIUVVGSmRrTXNTMEZCUzBvc1VVRkJVV0VzWVVGRFppeFBRVUZQTmtJc1JVRkpWQ3hIUVVaQmRFTXNTMEZCUzBVc1owSkJRV2RDYjBNc1IwRkRja0pETEVWQlFWRXNaMWhCUTBoRUxFVkJRVWwyUWl4TlFVRk5kMElzUjBGRFlpeE5RVUZOTEVsQlFVbDJRaXhOUVVGTkxEWkNRVVZzUWl4UFFVRlBjMElzUjBGSFZETkRMRVZCUVdWWExGVkJRVlZMTEZkQlFXRXNVMEZCVXpKQ0xFZEJRemRETEVsQlFVbEpMRVZCUTBvc1QwRkJTVEZETEV0QlFVdEtMRkZCUVZGaExHRkJRMUkyUWl4SFFVVlVTU3hGUVVGWE1VTXNTMEZCUzBvc1VVRkJVU3RETEdsQ1FVRnRRaXhqUVVGblFpeExRVU53UkV3c1JVRkJTWHBDTEZGQlFWRTJRaXhGUVVGVkxGTkJRVk0zUWl4UlFVRlJMRXRCUVUwc1VVRkJVVUVzVVVGQlVTeExRVUZOTEZGQlFWRkJMRkZCUVZFc1RVRkJUeXhYUVVkdVIyeENMRVZCUVdWWExGVkJRVlZoTEZWQlFWa3NVMEZCVTIxQ0xFZEJRelZETEVsQlFVbEpMRVZCUTBvc1QwRkJTVEZETEV0QlFVdEtMRkZCUVZGaExHRkJRMUkyUWl4SFFVVlVTU3hGUVVGWE1VTXNTMEZCUzBvc1VVRkJVU3RETEdsQ1FVRnRRaXhqUVVGblFpeExRVU53UkV3c1JVRkJTWHBDTEZGQlFWRTJRaXhGUVVGVkxGTkJRVk0zUWl4UlFVRlJMRXRCUVUwc1VVRkJVVUVzVVVGQlVTeExRVUZOTEZWQlFWVkJMRkZCUVZFc1RVRkJUeXhUUVVGVFFTeFJRVUZSTEUxQlFVOHNVMEZCVTBFc1VVRkJVU3hOUVVGUExGZEJSemxKYkVJc1JVRnlUM2xDTEV0QmVVOXFRMVVzUzBGQlMwd2lMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YldGemRHVnlMM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDNodGJHSjFhV3hrWlhJdmJHbGlMMWhOVEZOMGNtbHVaMmxtYVdWeUxtcHpJbjA9IiwiKGZ1bmN0aW9uKCl7dmFyIHQsZSxvPXt9Lmhhc093blByb3BlcnR5O3Q9cmVxdWlyZShcIi4vTm9kZVR5cGVcIiksZT1yZXF1aXJlKFwiLi9YTUxDaGFyYWN0ZXJEYXRhXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKHIpe2Z1bmN0aW9uIGkoZSxvKXtpZihpLl9fc3VwZXJfXy5jb25zdHJ1Y3Rvci5jYWxsKHRoaXMsZSksbnVsbD09byl0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIGVsZW1lbnQgdGV4dC4gXCIrdGhpcy5kZWJ1Z0luZm8oKSk7dGhpcy5uYW1lPVwiI3RleHRcIix0aGlzLnR5cGU9dC5UZXh0LHRoaXMudmFsdWU9dGhpcy5zdHJpbmdpZnkudGV4dChvKX1yZXR1cm4gZnVuY3Rpb24odCxlKXtmb3IodmFyIHIgaW4gZSlvLmNhbGwoZSxyKSYmKHRbcl09ZVtyXSk7ZnVuY3Rpb24gaSgpe3RoaXMuY29uc3RydWN0b3I9dH1pLnByb3RvdHlwZT1lLnByb3RvdHlwZSx0LnByb3RvdHlwZT1uZXcgaSx0Ll9fc3VwZXJfXz1lLnByb3RvdHlwZX0oaSxlKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoaS5wcm90b3R5cGUsXCJpc0VsZW1lbnRDb250ZW50V2hpdGVzcGFjZVwiLHtnZXQ6ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShpLnByb3RvdHlwZSxcIndob2xlVGV4dFwiLHtnZXQ6ZnVuY3Rpb24oKXt2YXIgdCxlLG87Zm9yKG89XCJcIixlPXRoaXMucHJldmlvdXNTaWJsaW5nO2U7KW89ZS5kYXRhK28sZT1lLnByZXZpb3VzU2libGluZztmb3Iobys9dGhpcy5kYXRhLHQ9dGhpcy5uZXh0U2libGluZzt0OylvKz10LmRhdGEsdD10Lm5leHRTaWJsaW5nO3JldHVybiBvfX0pLGkucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdC5jcmVhdGUodGhpcyl9LGkucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMud3JpdGVyLnRleHQodGhpcyx0aGlzLm9wdGlvbnMud3JpdGVyLmZpbHRlck9wdGlvbnModCkpfSxpLnByb3RvdHlwZS5zcGxpdFRleHQ9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0saS5wcm90b3R5cGUucmVwbGFjZVdob2xlVGV4dD1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxpfSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URlJsZUhRdWFuTWlYU3dpYm1GdFpYTWlPbHNpVG05a1pWUjVjR1VpTENKWVRVeERhR0Z5WVdOMFpYSkVZWFJoSWl3aWFHRnpVSEp2Y0NJc0ltaGhjMDkzYmxCeWIzQmxjblI1SWl3aWNtVnhkV2x5WlNJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSnpkWEJsY2tOc1lYTnpJaXdpV0UxTVZHVjRkQ0lzSW5CaGNtVnVkQ0lzSW5SbGVIUWlMQ0pmWDNOMWNHVnlYMThpTENKamIyNXpkSEoxWTNSdmNpSXNJbU5oYkd3aUxDSjBhR2x6SWl3aVJYSnliM0lpTENKa1pXSjFaMGx1Wm04aUxDSnVZVzFsSWl3aWRIbHdaU0lzSWxSbGVIUWlMQ0oyWVd4MVpTSXNJbk4wY21sdVoybG1lU0lzSW1Ob2FXeGtJaXdpYTJWNUlpd2lZM1J2Y2lJc0luQnliM1J2ZEhsd1pTSXNJbVY0ZEdWdVpDSXNJazlpYW1WamRDSXNJbVJsWm1sdVpWQnliM0JsY25SNUlpd2laMlYwSWl3aWJtVjRkQ0lzSW5CeVpYWWlMQ0p6ZEhJaUxDSndjbVYyYVc5MWMxTnBZbXhwYm1jaUxDSmtZWFJoSWl3aWJtVjRkRk5wWW14cGJtY2lMQ0pqYkc5dVpTSXNJbU55WldGMFpTSXNJblJ2VTNSeWFXNW5JaXdpYjNCMGFXOXVjeUlzSW5keWFYUmxjaUlzSW1acGJIUmxjazl3ZEdsdmJuTWlMQ0p6Y0d4cGRGUmxlSFFpTENKdlptWnpaWFFpTENKeVpYQnNZV05sVjJodmJHVlVaWGgwSWl3aVkyOXVkR1Z1ZENKZExDSnRZWEJ3YVc1bmN5STZJa05CUTBFc1YwRkRSU3hKUVVGSlFTeEZRVUZWUXl4RlFVVmFReXhGUVVGVkxFZEJRVWRETEdWQlJXWklMRVZCUVZkSkxGRkJRVkVzWTBGRmJrSklMRVZCUVcxQ1J5eFJRVUZSTEhOQ1FVVXpRa01zVDBGQlQwTXNVVUZCYjBJc1UwRkJWVU1zUjBGSGJrTXNVMEZCVTBNc1JVRkJVVU1zUlVGQlVVTXNSMEZGZGtJc1IwRkVRVVlzUlVGQlVVY3NWVUZCVlVNc1dVRkJXVU1zUzBGQlMwTXNTMEZCVFV3c1IwRkROMElzVFVGQlVrTXNSVUZEUml4TlFVRk5MRWxCUVVsTExFMUJRVTBzZVVKQlFUSkNSQ3hMUVVGTFJTeGhRVVZzUkVZc1MwRkJTMGNzUzBGQlR5eFJRVU5hU0N4TFFVRkxTU3hMUVVGUGJFSXNSVUZCVTIxQ0xFdEJRM0pDVEN4TFFVRkxUU3hOUVVGUlRpeExRVUZMVHl4VlFVRlZXQ3hMUVVGTFFTeEhRVFJEYmtNc1QwRTNSRk1zVTBGQlUxa3NSVUZCVDJJc1IwRkJWU3hKUVVGTExFbEJRVWxqTEV0QlFVOWtMRVZCUVdOUUxFVkJRVkZYTEV0QlFVdEtMRVZCUVZGakxFdEJRVTFFTEVWQlFVMURMRWRCUVU5a0xFVkJRVTlqTEVsQlFWRXNVMEZCVTBNc1NVRkJVMVlzUzBGQlMwWXNXVUZCWTFVc1JVRkJVMFVzUlVGQlMwTXNWVUZCV1doQ0xFVkJRVTluUWl4VlFVRlhTQ3hGUVVGTlJ5eFZRVUZaTEVsQlFVbEVMRVZCUVZGR0xFVkJRVTFZTEZWQlFWbEdMRVZCUVU5blFpeFZRVkZvVVVNc1EwRkJUMnhDTEVWQmRVUk9VQ3hIUVRORFJEQkNMRTlCUVU5RExHVkJRV1Z3UWl4RlFVRlJhVUlzVlVGQlZ5dzJRa0ZCT0VJc1EwRkRja1ZKTEVsQlFVc3NWMEZEU0N4TlFVRk5MRWxCUVVsa0xFMUJRVTBzYzBOQlFYZERSQ3hMUVVGTFJTeG5Ra0ZKYWtWWExFOUJRVTlETEdWQlFXVndRaXhGUVVGUmFVSXNWVUZCVnl4WlFVRmhMRU5CUTNCRVNTeEpRVUZMTEZkQlEwZ3NTVUZCU1VNc1JVRkJUVU1zUlVGQlRVTXNSVUZIYUVJc1NVRkdRVUVzUlVGQlRTeEhRVU5PUkN4RlFVRlBha0lzUzBGQlMyMUNMR2RDUVVOTVJpeEhRVU5NUXl4RlFVRk5SQ3hGUVVGTFJ5eExRVUZQUml4RlFVTnNRa1FzUlVGQlQwRXNSVUZCUzBVc1owSkJTV1FzU1VGR1FVUXNSMEZCVDJ4Q0xFdEJRVXR2UWl4TFFVTmFTaXhGUVVGUGFFSXNTMEZCUzNGQ0xGbEJRMHhNTEVkQlEweEZMRWRCUVZsR0xFVkJRVXRKTEV0QlEycENTaXhGUVVGUFFTeEZRVUZMU3l4WlFVVmtMRTlCUVU5SUxFdEJTVmg0UWl4RlFVRlJhVUlzVlVGQlZWY3NUVUZCVVN4WFFVTjRRaXhQUVVGUFZDeFBRVUZQVlN4UFFVRlBka0lzVDBGSGRrSk9MRVZCUVZGcFFpeFZRVUZWWVN4VFFVRlhMRk5CUVZORExFZEJRM0JETEU5QlFVOTZRaXhMUVVGTGVVSXNVVUZCVVVNc1QwRkJUemxDTEV0QlFVdEpMRXRCUVUxQkxFdEJRVXQ1UWl4UlFVRlJReXhQUVVGUFF5eGpRVUZqUml4TFFVY3hSUzlDTEVWQlFWRnBRaXhWUVVGVmFVSXNWVUZCV1N4VFFVRlRReXhIUVVOeVF5eE5RVUZOTEVsQlFVazFRaXhOUVVGTkxITkRRVUYzUTBRc1MwRkJTMFVzWTBGSEwwUlNMRVZCUVZGcFFpeFZRVUZWYlVJc2FVSkJRVzFDTEZOQlFWTkRMRWRCUXpWRExFMUJRVTBzU1VGQlNUbENMRTFCUVUwc2MwTkJRWGREUkN4TFFVRkxSU3hqUVVkNFJGSXNSVUYwUkd0Q0xFdEJNRVF4UWtzc1MwRkJTME1pTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmJXRnpkR1Z5TDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwzaHRiR0oxYVd4a1pYSXZiR2xpTDFoTlRGUmxlSFF1YW5NaWZRPT0iLCIoZnVuY3Rpb24oKXt2YXIgZSx0LG4scz17fS5oYXNPd25Qcm9wZXJ0eTtuPXJlcXVpcmUoXCIuL1V0aWxpdHlcIikuYXNzaWduLGU9cmVxdWlyZShcIi4vTm9kZVR5cGVcIikscmVxdWlyZShcIi4vWE1MRGVjbGFyYXRpb25cIikscmVxdWlyZShcIi4vWE1MRG9jVHlwZVwiKSxyZXF1aXJlKFwiLi9YTUxDRGF0YVwiKSxyZXF1aXJlKFwiLi9YTUxDb21tZW50XCIpLHJlcXVpcmUoXCIuL1hNTEVsZW1lbnRcIikscmVxdWlyZShcIi4vWE1MUmF3XCIpLHJlcXVpcmUoXCIuL1hNTFRleHRcIikscmVxdWlyZShcIi4vWE1MUHJvY2Vzc2luZ0luc3RydWN0aW9uXCIpLHJlcXVpcmUoXCIuL1hNTER1bW15XCIpLHJlcXVpcmUoXCIuL1hNTERUREF0dExpc3RcIikscmVxdWlyZShcIi4vWE1MRFRERWxlbWVudFwiKSxyZXF1aXJlKFwiLi9YTUxEVERFbnRpdHlcIikscmVxdWlyZShcIi4vWE1MRFRETm90YXRpb25cIiksdD1yZXF1aXJlKFwiLi9Xcml0ZXJTdGF0ZVwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbigpe2Z1bmN0aW9uIG8oZSl7dmFyIHQsbixvO2Zvcih0IGluIGV8fChlPXt9KSx0aGlzLm9wdGlvbnM9ZSxuPWUud3JpdGVyfHx7fSlzLmNhbGwobix0KSYmKG89blt0XSx0aGlzW1wiX1wiK3RdPXRoaXNbdF0sdGhpc1t0XT1vKX1yZXR1cm4gby5wcm90b3R5cGUuZmlsdGVyT3B0aW9ucz1mdW5jdGlvbihlKXt2YXIgcyxvLGEsaSxyLGwsdSxwO3JldHVybiBlfHwoZT17fSksZT1uKHt9LHRoaXMub3B0aW9ucyxlKSwocz17d3JpdGVyOnRoaXN9KS5wcmV0dHk9ZS5wcmV0dHl8fCExLHMuYWxsb3dFbXB0eT1lLmFsbG93RW1wdHl8fCExLHMuaW5kZW50PW51bGwhPShvPWUuaW5kZW50KT9vOlwiICBcIixzLm5ld2xpbmU9bnVsbCE9KGE9ZS5uZXdsaW5lKT9hOlwiXFxuXCIscy5vZmZzZXQ9bnVsbCE9KGk9ZS5vZmZzZXQpP2k6MCxzLmRvbnRQcmV0dHlUZXh0Tm9kZXM9bnVsbCE9KHI9bnVsbCE9KGw9ZS5kb250UHJldHR5VGV4dE5vZGVzKT9sOmUuZG9udHByZXR0eXRleHRub2Rlcyk/cjowLHMuc3BhY2VCZWZvcmVTbGFzaD1udWxsIT0odT1udWxsIT0ocD1lLnNwYWNlQmVmb3JlU2xhc2gpP3A6ZS5zcGFjZWJlZm9yZXNsYXNoKT91OlwiXCIsITA9PT1zLnNwYWNlQmVmb3JlU2xhc2gmJihzLnNwYWNlQmVmb3JlU2xhc2g9XCIgXCIpLHMuc3VwcHJlc3NQcmV0dHlDb3VudD0wLHMudXNlcj17fSxzLnN0YXRlPXQuTm9uZSxzfSxvLnByb3RvdHlwZS5pbmRlbnQ9ZnVuY3Rpb24oZSx0LG4pe3ZhciBzO3JldHVybiF0LnByZXR0eXx8dC5zdXBwcmVzc1ByZXR0eUNvdW50P1wiXCI6dC5wcmV0dHkmJihzPShufHwwKSt0Lm9mZnNldCsxKT4wP25ldyBBcnJheShzKS5qb2luKHQuaW5kZW50KTpcIlwifSxvLnByb3RvdHlwZS5lbmRsaW5lPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4hdC5wcmV0dHl8fHQuc3VwcHJlc3NQcmV0dHlDb3VudD9cIlwiOnQubmV3bGluZX0sby5wcm90b3R5cGUuYXR0cmlidXRlPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcztyZXR1cm4gdGhpcy5vcGVuQXR0cmlidXRlKGUsdCxuKSxzPVwiIFwiK2UubmFtZSsnPVwiJytlLnZhbHVlKydcIicsdGhpcy5jbG9zZUF0dHJpYnV0ZShlLHQsbiksc30sby5wcm90b3R5cGUuY2RhdGE9ZnVuY3Rpb24oZSxuLHMpe3ZhciBvO3JldHVybiB0aGlzLm9wZW5Ob2RlKGUsbixzKSxuLnN0YXRlPXQuT3BlblRhZyxvPXRoaXMuaW5kZW50KGUsbixzKStcIjwhW0NEQVRBW1wiLG4uc3RhdGU9dC5JbnNpZGVUYWcsbys9ZS52YWx1ZSxuLnN0YXRlPXQuQ2xvc2VUYWcsbys9XCJdXT5cIit0aGlzLmVuZGxpbmUoZSxuLHMpLG4uc3RhdGU9dC5Ob25lLHRoaXMuY2xvc2VOb2RlKGUsbixzKSxvfSxvLnByb3RvdHlwZS5jb21tZW50PWZ1bmN0aW9uKGUsbixzKXt2YXIgbztyZXR1cm4gdGhpcy5vcGVuTm9kZShlLG4scyksbi5zdGF0ZT10Lk9wZW5UYWcsbz10aGlzLmluZGVudChlLG4scykrXCJcXHgzYyEtLSBcIixuLnN0YXRlPXQuSW5zaWRlVGFnLG8rPWUudmFsdWUsbi5zdGF0ZT10LkNsb3NlVGFnLG8rPVwiIC0tXFx4M2VcIit0aGlzLmVuZGxpbmUoZSxuLHMpLG4uc3RhdGU9dC5Ob25lLHRoaXMuY2xvc2VOb2RlKGUsbixzKSxvfSxvLnByb3RvdHlwZS5kZWNsYXJhdGlvbj1mdW5jdGlvbihlLG4scyl7dmFyIG87cmV0dXJuIHRoaXMub3Blbk5vZGUoZSxuLHMpLG4uc3RhdGU9dC5PcGVuVGFnLG89dGhpcy5pbmRlbnQoZSxuLHMpK1wiPD94bWxcIixuLnN0YXRlPXQuSW5zaWRlVGFnLG8rPScgdmVyc2lvbj1cIicrZS52ZXJzaW9uKydcIicsbnVsbCE9ZS5lbmNvZGluZyYmKG8rPScgZW5jb2Rpbmc9XCInK2UuZW5jb2RpbmcrJ1wiJyksbnVsbCE9ZS5zdGFuZGFsb25lJiYobys9JyBzdGFuZGFsb25lPVwiJytlLnN0YW5kYWxvbmUrJ1wiJyksbi5zdGF0ZT10LkNsb3NlVGFnLG8rPW4uc3BhY2VCZWZvcmVTbGFzaCtcIj8+XCIsbys9dGhpcy5lbmRsaW5lKGUsbixzKSxuLnN0YXRlPXQuTm9uZSx0aGlzLmNsb3NlTm9kZShlLG4scyksb30sby5wcm90b3R5cGUuZG9jVHlwZT1mdW5jdGlvbihlLG4scyl7dmFyIG8sYSxpLHIsbDtpZihzfHwocz0wKSx0aGlzLm9wZW5Ob2RlKGUsbixzKSxuLnN0YXRlPXQuT3BlblRhZyxyPXRoaXMuaW5kZW50KGUsbixzKSxyKz1cIjwhRE9DVFlQRSBcIitlLnJvb3QoKS5uYW1lLGUucHViSUQmJmUuc3lzSUQ/cis9JyBQVUJMSUMgXCInK2UucHViSUQrJ1wiIFwiJytlLnN5c0lEKydcIic6ZS5zeXNJRCYmKHIrPScgU1lTVEVNIFwiJytlLnN5c0lEKydcIicpLGUuY2hpbGRyZW4ubGVuZ3RoPjApe2ZvcihyKz1cIiBbXCIscis9dGhpcy5lbmRsaW5lKGUsbixzKSxuLnN0YXRlPXQuSW5zaWRlVGFnLGE9MCxpPShsPWUuY2hpbGRyZW4pLmxlbmd0aDthPGk7YSsrKW89bFthXSxyKz10aGlzLndyaXRlQ2hpbGROb2RlKG8sbixzKzEpO24uc3RhdGU9dC5DbG9zZVRhZyxyKz1cIl1cIn1yZXR1cm4gbi5zdGF0ZT10LkNsb3NlVGFnLHIrPW4uc3BhY2VCZWZvcmVTbGFzaCtcIj5cIixyKz10aGlzLmVuZGxpbmUoZSxuLHMpLG4uc3RhdGU9dC5Ob25lLHRoaXMuY2xvc2VOb2RlKGUsbixzKSxyfSxvLnByb3RvdHlwZS5lbGVtZW50PWZ1bmN0aW9uKG4sbyxhKXt2YXIgaSxyLGwsdSxwLGQsaCxjLHksVCxmLE4sZyxEO2Zvcih5IGluIGF8fChhPTApLFQ9ITEsZj1cIlwiLHRoaXMub3Blbk5vZGUobixvLGEpLG8uc3RhdGU9dC5PcGVuVGFnLGYrPXRoaXMuaW5kZW50KG4sbyxhKStcIjxcIituLm5hbWUsTj1uLmF0dHJpYnMpcy5jYWxsKE4seSkmJihpPU5beV0sZis9dGhpcy5hdHRyaWJ1dGUoaSxvLGEpKTtpZih1PTA9PT0obD1uLmNoaWxkcmVuLmxlbmd0aCk/bnVsbDpuLmNoaWxkcmVuWzBdLDA9PT1sfHxuLmNoaWxkcmVuLmV2ZXJ5KGZ1bmN0aW9uKHQpe3JldHVybih0LnR5cGU9PT1lLlRleHR8fHQudHlwZT09PWUuUmF3KSYmXCJcIj09PXQudmFsdWV9KSlvLmFsbG93RW1wdHk/KGYrPVwiPlwiLG8uc3RhdGU9dC5DbG9zZVRhZyxmKz1cIjwvXCIrbi5uYW1lK1wiPlwiK3RoaXMuZW5kbGluZShuLG8sYSkpOihvLnN0YXRlPXQuQ2xvc2VUYWcsZis9by5zcGFjZUJlZm9yZVNsYXNoK1wiLz5cIit0aGlzLmVuZGxpbmUobixvLGEpKTtlbHNlIGlmKCFvLnByZXR0eXx8MSE9PWx8fHUudHlwZSE9PWUuVGV4dCYmdS50eXBlIT09ZS5SYXd8fG51bGw9PXUudmFsdWUpe2lmKG8uZG9udFByZXR0eVRleHROb2Rlcylmb3IocD0wLGg9KGc9bi5jaGlsZHJlbikubGVuZ3RoO3A8aDtwKyspaWYoKChyPWdbcF0pLnR5cGU9PT1lLlRleHR8fHIudHlwZT09PWUuUmF3KSYmbnVsbCE9ci52YWx1ZSl7by5zdXBwcmVzc1ByZXR0eUNvdW50KyssVD0hMDticmVha31mb3IoZis9XCI+XCIrdGhpcy5lbmRsaW5lKG4sbyxhKSxvLnN0YXRlPXQuSW5zaWRlVGFnLGQ9MCxjPShEPW4uY2hpbGRyZW4pLmxlbmd0aDtkPGM7ZCsrKXI9RFtkXSxmKz10aGlzLndyaXRlQ2hpbGROb2RlKHIsbyxhKzEpO28uc3RhdGU9dC5DbG9zZVRhZyxmKz10aGlzLmluZGVudChuLG8sYSkrXCI8L1wiK24ubmFtZStcIj5cIixUJiZvLnN1cHByZXNzUHJldHR5Q291bnQtLSxmKz10aGlzLmVuZGxpbmUobixvLGEpLG8uc3RhdGU9dC5Ob25lfWVsc2UgZis9XCI+XCIsby5zdGF0ZT10Lkluc2lkZVRhZyxvLnN1cHByZXNzUHJldHR5Q291bnQrKyxUPSEwLGYrPXRoaXMud3JpdGVDaGlsZE5vZGUodSxvLGErMSksby5zdXBwcmVzc1ByZXR0eUNvdW50LS0sVD0hMSxvLnN0YXRlPXQuQ2xvc2VUYWcsZis9XCI8L1wiK24ubmFtZStcIj5cIit0aGlzLmVuZGxpbmUobixvLGEpO3JldHVybiB0aGlzLmNsb3NlTm9kZShuLG8sYSksZn0sby5wcm90b3R5cGUud3JpdGVDaGlsZE5vZGU9ZnVuY3Rpb24odCxuLHMpe3N3aXRjaCh0LnR5cGUpe2Nhc2UgZS5DRGF0YTpyZXR1cm4gdGhpcy5jZGF0YSh0LG4scyk7Y2FzZSBlLkNvbW1lbnQ6cmV0dXJuIHRoaXMuY29tbWVudCh0LG4scyk7Y2FzZSBlLkVsZW1lbnQ6cmV0dXJuIHRoaXMuZWxlbWVudCh0LG4scyk7Y2FzZSBlLlJhdzpyZXR1cm4gdGhpcy5yYXcodCxuLHMpO2Nhc2UgZS5UZXh0OnJldHVybiB0aGlzLnRleHQodCxuLHMpO2Nhc2UgZS5Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb246cmV0dXJuIHRoaXMucHJvY2Vzc2luZ0luc3RydWN0aW9uKHQsbixzKTtjYXNlIGUuRHVtbXk6cmV0dXJuXCJcIjtjYXNlIGUuRGVjbGFyYXRpb246cmV0dXJuIHRoaXMuZGVjbGFyYXRpb24odCxuLHMpO2Nhc2UgZS5Eb2NUeXBlOnJldHVybiB0aGlzLmRvY1R5cGUodCxuLHMpO2Nhc2UgZS5BdHRyaWJ1dGVEZWNsYXJhdGlvbjpyZXR1cm4gdGhpcy5kdGRBdHRMaXN0KHQsbixzKTtjYXNlIGUuRWxlbWVudERlY2xhcmF0aW9uOnJldHVybiB0aGlzLmR0ZEVsZW1lbnQodCxuLHMpO2Nhc2UgZS5FbnRpdHlEZWNsYXJhdGlvbjpyZXR1cm4gdGhpcy5kdGRFbnRpdHkodCxuLHMpO2Nhc2UgZS5Ob3RhdGlvbkRlY2xhcmF0aW9uOnJldHVybiB0aGlzLmR0ZE5vdGF0aW9uKHQsbixzKTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcihcIlVua25vd24gWE1MIG5vZGUgdHlwZTogXCIrdC5jb25zdHJ1Y3Rvci5uYW1lKX19LG8ucHJvdG90eXBlLnByb2Nlc3NpbmdJbnN0cnVjdGlvbj1mdW5jdGlvbihlLG4scyl7dmFyIG87cmV0dXJuIHRoaXMub3Blbk5vZGUoZSxuLHMpLG4uc3RhdGU9dC5PcGVuVGFnLG89dGhpcy5pbmRlbnQoZSxuLHMpK1wiPD9cIixuLnN0YXRlPXQuSW5zaWRlVGFnLG8rPWUudGFyZ2V0LGUudmFsdWUmJihvKz1cIiBcIitlLnZhbHVlKSxuLnN0YXRlPXQuQ2xvc2VUYWcsbys9bi5zcGFjZUJlZm9yZVNsYXNoK1wiPz5cIixvKz10aGlzLmVuZGxpbmUoZSxuLHMpLG4uc3RhdGU9dC5Ob25lLHRoaXMuY2xvc2VOb2RlKGUsbixzKSxvfSxvLnByb3RvdHlwZS5yYXc9ZnVuY3Rpb24oZSxuLHMpe3ZhciBvO3JldHVybiB0aGlzLm9wZW5Ob2RlKGUsbixzKSxuLnN0YXRlPXQuT3BlblRhZyxvPXRoaXMuaW5kZW50KGUsbixzKSxuLnN0YXRlPXQuSW5zaWRlVGFnLG8rPWUudmFsdWUsbi5zdGF0ZT10LkNsb3NlVGFnLG8rPXRoaXMuZW5kbGluZShlLG4scyksbi5zdGF0ZT10Lk5vbmUsdGhpcy5jbG9zZU5vZGUoZSxuLHMpLG99LG8ucHJvdG90eXBlLnRleHQ9ZnVuY3Rpb24oZSxuLHMpe3ZhciBvO3JldHVybiB0aGlzLm9wZW5Ob2RlKGUsbixzKSxuLnN0YXRlPXQuT3BlblRhZyxvPXRoaXMuaW5kZW50KGUsbixzKSxuLnN0YXRlPXQuSW5zaWRlVGFnLG8rPWUudmFsdWUsbi5zdGF0ZT10LkNsb3NlVGFnLG8rPXRoaXMuZW5kbGluZShlLG4scyksbi5zdGF0ZT10Lk5vbmUsdGhpcy5jbG9zZU5vZGUoZSxuLHMpLG99LG8ucHJvdG90eXBlLmR0ZEF0dExpc3Q9ZnVuY3Rpb24oZSxuLHMpe3ZhciBvO3JldHVybiB0aGlzLm9wZW5Ob2RlKGUsbixzKSxuLnN0YXRlPXQuT3BlblRhZyxvPXRoaXMuaW5kZW50KGUsbixzKStcIjwhQVRUTElTVFwiLG4uc3RhdGU9dC5JbnNpZGVUYWcsbys9XCIgXCIrZS5lbGVtZW50TmFtZStcIiBcIitlLmF0dHJpYnV0ZU5hbWUrXCIgXCIrZS5hdHRyaWJ1dGVUeXBlLFwiI0RFRkFVTFRcIiE9PWUuZGVmYXVsdFZhbHVlVHlwZSYmKG8rPVwiIFwiK2UuZGVmYXVsdFZhbHVlVHlwZSksZS5kZWZhdWx0VmFsdWUmJihvKz0nIFwiJytlLmRlZmF1bHRWYWx1ZSsnXCInKSxuLnN0YXRlPXQuQ2xvc2VUYWcsbys9bi5zcGFjZUJlZm9yZVNsYXNoK1wiPlwiK3RoaXMuZW5kbGluZShlLG4scyksbi5zdGF0ZT10Lk5vbmUsdGhpcy5jbG9zZU5vZGUoZSxuLHMpLG99LG8ucHJvdG90eXBlLmR0ZEVsZW1lbnQ9ZnVuY3Rpb24oZSxuLHMpe3ZhciBvO3JldHVybiB0aGlzLm9wZW5Ob2RlKGUsbixzKSxuLnN0YXRlPXQuT3BlblRhZyxvPXRoaXMuaW5kZW50KGUsbixzKStcIjwhRUxFTUVOVFwiLG4uc3RhdGU9dC5JbnNpZGVUYWcsbys9XCIgXCIrZS5uYW1lK1wiIFwiK2UudmFsdWUsbi5zdGF0ZT10LkNsb3NlVGFnLG8rPW4uc3BhY2VCZWZvcmVTbGFzaCtcIj5cIit0aGlzLmVuZGxpbmUoZSxuLHMpLG4uc3RhdGU9dC5Ob25lLHRoaXMuY2xvc2VOb2RlKGUsbixzKSxvfSxvLnByb3RvdHlwZS5kdGRFbnRpdHk9ZnVuY3Rpb24oZSxuLHMpe3ZhciBvO3JldHVybiB0aGlzLm9wZW5Ob2RlKGUsbixzKSxuLnN0YXRlPXQuT3BlblRhZyxvPXRoaXMuaW5kZW50KGUsbixzKStcIjwhRU5USVRZXCIsbi5zdGF0ZT10Lkluc2lkZVRhZyxlLnBlJiYobys9XCIgJVwiKSxvKz1cIiBcIitlLm5hbWUsZS52YWx1ZT9vKz0nIFwiJytlLnZhbHVlKydcIic6KGUucHViSUQmJmUuc3lzSUQ/bys9JyBQVUJMSUMgXCInK2UucHViSUQrJ1wiIFwiJytlLnN5c0lEKydcIic6ZS5zeXNJRCYmKG8rPScgU1lTVEVNIFwiJytlLnN5c0lEKydcIicpLGUubkRhdGEmJihvKz1cIiBOREFUQSBcIitlLm5EYXRhKSksbi5zdGF0ZT10LkNsb3NlVGFnLG8rPW4uc3BhY2VCZWZvcmVTbGFzaCtcIj5cIit0aGlzLmVuZGxpbmUoZSxuLHMpLG4uc3RhdGU9dC5Ob25lLHRoaXMuY2xvc2VOb2RlKGUsbixzKSxvfSxvLnByb3RvdHlwZS5kdGROb3RhdGlvbj1mdW5jdGlvbihlLG4scyl7dmFyIG87cmV0dXJuIHRoaXMub3Blbk5vZGUoZSxuLHMpLG4uc3RhdGU9dC5PcGVuVGFnLG89dGhpcy5pbmRlbnQoZSxuLHMpK1wiPCFOT1RBVElPTlwiLG4uc3RhdGU9dC5JbnNpZGVUYWcsbys9XCIgXCIrZS5uYW1lLGUucHViSUQmJmUuc3lzSUQ/bys9JyBQVUJMSUMgXCInK2UucHViSUQrJ1wiIFwiJytlLnN5c0lEKydcIic6ZS5wdWJJRD9vKz0nIFBVQkxJQyBcIicrZS5wdWJJRCsnXCInOmUuc3lzSUQmJihvKz0nIFNZU1RFTSBcIicrZS5zeXNJRCsnXCInKSxuLnN0YXRlPXQuQ2xvc2VUYWcsbys9bi5zcGFjZUJlZm9yZVNsYXNoK1wiPlwiK3RoaXMuZW5kbGluZShlLG4scyksbi5zdGF0ZT10Lk5vbmUsdGhpcy5jbG9zZU5vZGUoZSxuLHMpLG99LG8ucHJvdG90eXBlLm9wZW5Ob2RlPWZ1bmN0aW9uKGUsdCxuKXt9LG8ucHJvdG90eXBlLmNsb3NlTm9kZT1mdW5jdGlvbihlLHQsbil7fSxvLnByb3RvdHlwZS5vcGVuQXR0cmlidXRlPWZ1bmN0aW9uKGUsdCxuKXt9LG8ucHJvdG90eXBlLmNsb3NlQXR0cmlidXRlPWZ1bmN0aW9uKGUsdCxuKXt9LG99KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRGZHlhWFJsY2tKaGMyVXVhbk1pWFN3aWJtRnRaWE1pT2xzaVRtOWtaVlI1Y0dVaUxDSlhjbWwwWlhKVGRHRjBaU0lzSW1GemMybG5iaUlzSW1oaGMxQnliM0FpTENKb1lYTlBkMjVRY205d1pYSjBlU0lzSW5KbGNYVnBjbVVpTENKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aVdFMU1WM0pwZEdWeVFtRnpaU0lzSW05d2RHbHZibk1pTENKclpYa2lMQ0p5WldZaUxDSjJZV3gxWlNJc0luUm9hWE1pTENKM2NtbDBaWElpTENKallXeHNJaXdpY0hKdmRHOTBlWEJsSWl3aVptbHNkR1Z5VDNCMGFXOXVjeUlzSW1acGJIUmxjbVZrVDNCMGFXOXVjeUlzSW5KbFpqRWlMQ0p5WldZeUlpd2ljbVZtTXlJc0luSmxaalFpTENKeVpXWTFJaXdpY21WbU5pSXNJbkJ5WlhSMGVTSXNJbUZzYkc5M1JXMXdkSGtpTENKcGJtUmxiblFpTENKdVpYZHNhVzVsSWl3aWIyWm1jMlYwSWl3aVpHOXVkRkJ5WlhSMGVWUmxlSFJPYjJSbGN5SXNJbVJ2Ym5Sd2NtVjBkSGwwWlhoMGJtOWtaWE1pTENKemNHRmpaVUpsWm05eVpWTnNZWE5vSWl3aWMzQmhZMlZpWldadmNtVnpiR0Z6YUNJc0luTjFjSEJ5WlhOelVISmxkSFI1UTI5MWJuUWlMQ0oxYzJWeUlpd2ljM1JoZEdVaUxDSk9iMjVsSWl3aWJtOWtaU0lzSW14bGRtVnNJaXdpYVc1a1pXNTBUR1YyWld3aUxDSkJjbkpoZVNJc0ltcHZhVzRpTENKbGJtUnNhVzVsSWl3aVlYUjBjbWxpZFhSbElpd2lZWFIwSWl3aWNpSXNJbTl3Wlc1QmRIUnlhV0oxZEdVaUxDSnVZVzFsSWl3aVkyeHZjMlZCZEhSeWFXSjFkR1VpTENKalpHRjBZU0lzSW05d1pXNU9iMlJsSWl3aVQzQmxibFJoWnlJc0lrbHVjMmxrWlZSaFp5SXNJa05zYjNObFZHRm5JaXdpWTJ4dmMyVk9iMlJsSWl3aVkyOXRiV1Z1ZENJc0ltUmxZMnhoY21GMGFXOXVJaXdpZG1WeWMybHZiaUlzSW1WdVkyOWthVzVuSWl3aWMzUmhibVJoYkc5dVpTSXNJbVJ2WTFSNWNHVWlMQ0pqYUdsc1pDSXNJbWtpTENKc1pXNGlMQ0p5YjI5MElpd2ljSFZpU1VRaUxDSnplWE5KUkNJc0ltTm9hV3hrY21WdUlpd2liR1Z1WjNSb0lpd2lkM0pwZEdWRGFHbHNaRTV2WkdVaUxDSmxiR1Z0Wlc1MElpd2lZMmhwYkdST2IyUmxRMjkxYm5RaUxDSm1hWEp6ZEVOb2FXeGtUbTlrWlNJc0ltb2lMQ0pzWlc0eElpd2ljSEpsZEhSNVUzVndjSEpsYzNObFpDSXNJbUYwZEhKcFluTWlMQ0psZG1WeWVTSXNJbVVpTENKMGVYQmxJaXdpVkdWNGRDSXNJbEpoZHlJc0lrTkVZWFJoSWl3aVEyOXRiV1Z1ZENJc0lrVnNaVzFsYm5RaUxDSnlZWGNpTENKMFpYaDBJaXdpVUhKdlkyVnpjMmx1WjBsdWMzUnlkV04wYVc5dUlpd2ljSEp2WTJWemMybHVaMGx1YzNSeWRXTjBhVzl1SWl3aVJIVnRiWGtpTENKRVpXTnNZWEpoZEdsdmJpSXNJa1J2WTFSNWNHVWlMQ0pCZEhSeWFXSjFkR1ZFWldOc1lYSmhkR2x2YmlJc0ltUjBaRUYwZEV4cGMzUWlMQ0pGYkdWdFpXNTBSR1ZqYkdGeVlYUnBiMjRpTENKa2RHUkZiR1Z0Wlc1MElpd2lSVzUwYVhSNVJHVmpiR0Z5WVhScGIyNGlMQ0prZEdSRmJuUnBkSGtpTENKT2IzUmhkR2x2YmtSbFkyeGhjbUYwYVc5dUlpd2laSFJrVG05MFlYUnBiMjRpTENKRmNuSnZjaUlzSW1OdmJuTjBjblZqZEc5eUlpd2lkR0Z5WjJWMElpd2laV3hsYldWdWRFNWhiV1VpTENKaGRIUnlhV0oxZEdWT1lXMWxJaXdpWVhSMGNtbGlkWFJsVkhsd1pTSXNJbVJsWm1GMWJIUldZV3gxWlZSNWNHVWlMQ0prWldaaGRXeDBWbUZzZFdVaUxDSndaU0lzSW01RVlYUmhJbDBzSW0xaGNIQnBibWR6SWpvaVEwRkRRU3hYUVVORkxFbEJRVWxCTEVWQlFWVkRMRVZCUVRKTlF5eEZRVU4yVGtNc1JVRkJWU3hIUVVGSFF5eGxRVVZtUml4RlFVRlRSeXhSUVVGUkxHRkJRV0ZJTEU5QlJUbENSaXhGUVVGWFN5eFJRVUZSTEdOQlJVWkJMRkZCUVZFc2IwSkJSVnBCTEZGQlFWRXNaMEpCUlZaQkxGRkJRVkVzWTBGRlRrRXNVVUZCVVN4blFrRkZVa0VzVVVGQlVTeG5Ra0ZGV2tFc1VVRkJVU3haUVVWUVFTeFJRVUZSTEdGQlJWTkJMRkZCUVZFc09FSkJSWGhDUVN4UlFVRlJMR05CUlVoQkxGRkJRVkVzYlVKQlJWSkJMRkZCUVZFc2JVSkJSVlJCTEZGQlFWRXNhMEpCUlU1QkxGRkJRVkVzYjBKQlJYcENTaXhGUVVGalNTeFJRVUZSTEdsQ1FVVjBRa01zVDBGQlQwTXNVVUZCTUVJc1YwRkRMMElzVTBGQlUwTXNSVUZCWTBNc1IwRkRja0lzU1VGQlNVTXNSVUZCUzBNc1JVRkJTME1zUlVGSlpDeEpRVUZMUml4TFFVaE1SQ3hKUVVGWlFTeEZRVUZWTEVsQlEzUkNTU3hMUVVGTFNpeFJRVUZWUVN4RlFVTm1SU3hGUVVGTlJpeEZRVUZSU3l4UlFVRlZMRWRCUldwQ1dDeEZRVUZSV1N4TFFVRkxTaXhGUVVGTFJDeExRVU4yUWtVc1JVRkJVVVFzUlVGQlNVUXNSMEZEV2tjc1MwRkJTeXhKUVVGTlNDeEhRVUZQUnl4TFFVRkxTQ3hIUVVOMlFrY3NTMEZCUzBnc1IwRkJUMFVzUjBGM1dHaENMRTlCY0ZoQlNpeEZRVUZqVVN4VlFVRlZReXhqUVVGblFpeFRRVUZUVWl4SFFVTXZReXhKUVVGSlV5eEZRVUZwUWxBc1JVRkJTMUVzUlVGQlRVTXNSVUZCVFVNc1JVRkJUVU1zUlVGQlRVTXNSVUZCVFVNc1JVRnRRbmhFTEU5QmJFSkJaaXhKUVVGWlFTeEZRVUZWTEVsQlEzUkNRU3hGUVVGVlVDeEZRVUZQTEVkQlFVbFhMRXRCUVV0S0xGRkJRVk5CTEVsQlEyNURVeXhGUVVGclFpeERRVU5vUWtvc1QwRkJVVVFzVDBGRlRWa3NUMEZCVTJoQ0xFVkJRVkZuUWl4VFFVRlZMRVZCUXpORFVDeEZRVUZuUWxFc1YwRkJZV3BDTEVWQlFWRnBRaXhoUVVGakxFVkJRMjVFVWl4RlFVRm5RbE1zVDBGQmJVTXNUMEZCZWtKb1FpeEZRVUZOUml4RlFVRlJhMElzVVVGQmEwSm9RaXhGUVVGTkxFdEJRMmhGVHl4RlFVRm5RbFVzVVVGQmMwTXNUMEZCTTBKVUxFVkJRVTlXTEVWQlFWRnRRaXhUUVVGdFFsUXNSVUZCVHl4TFFVTndSVVFzUlVGQlowSlhMRTlCUVc5RExFOUJRVEZDVkN4RlFVRlBXQ3hGUVVGUmIwSXNVVUZCYTBKVUxFVkJRVThzUlVGRGJFVkdMRVZCUVdkQ1dTeHZRa0ZCYjBnc1QwRkJOMFpVTEVWQlFTdERMRTlCUVhaRFF5eEZRVUZQWWl4RlFVRlJjVUlzY1VKQlFTdENVaXhGUVVGUFlpeEZRVUZSYzBJc2NVSkJRU3RDVml4RlFVRlBMRVZCUTJ4S1NDeEZRVUZuUW1Nc2FVSkJRVEpITEU5QlFYWkdWQ3hGUVVFMFF5eFBRVUZ3UTBNc1JVRkJUMllzUlVGQlVYVkNMR3RDUVVFMFFsSXNSVUZCVDJZc1JVRkJVWGRDTEd0Q1FVRTBRbFlzUlVGQlR5eEpRVU5vUnl4SlFVRnlRMHdzUlVGQlowSmpMRzFDUVVOc1FtUXNSVUZCWjBKakxHbENRVUZ0UWl4TFFVVnlRMlFzUlVGQlowSm5RaXh2UWtGQmMwSXNSVUZEZEVOb1FpeEZRVUZuUW1sQ0xFdEJRVThzUjBGRGRrSnFRaXhGUVVGblFtdENMRTFCUVZGdVF5eEZRVUZaYjBNc1MwRkROMEp1UWl4SFFVZFVWaXhGUVVGalVTeFZRVUZWVnl4UFFVRlRMRk5CUVZOWExFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRGRrUXNTVUZCU1VNc1JVRkRTaXhQUVVGTEwwSXNSVUZCVVdkQ0xGRkJRVlZvUWl4RlFVRlJlVUlzYjBKQlEzUkNMRWRCUTBWNlFpeEZRVUZSWjBJc1UwRkRha0psTEVkQlFXVkVMRWRCUVZNc1IwRkJTemxDTEVWQlFWRnZRaXhQUVVGVExFZEJRelZDTEVWQlExUXNTVUZCU1Zrc1RVRkJUVVFzUjBGQllVVXNTMEZCUzJwRExFVkJRVkZyUWl4UlFVZDRReXhKUVVkVWJrSXNSVUZCWTFFc1ZVRkJWVEpDTEZGQlFWVXNVMEZCVTB3c1JVRkJUVGRDTEVWQlFWTTRRaXhIUVVONFJDeFBRVUZMT1VJc1JVRkJVV2RDTEZGQlFWVm9RaXhGUVVGUmVVSXNiMEpCUTNSQ0xFZEJSVUY2UWl4RlFVRlJiVUlzVTBGSmJrSndRaXhGUVVGalVTeFZRVUZWTkVJc1ZVRkJXU3hUUVVGVFF5eEZRVUZMY0VNc1JVRkJVemhDTEVkQlEzcEVMRWxCUVVsUExFVkJTVW9zVDBGSVFXcERMRXRCUVV0clF5eGpRVUZqUml4RlFVRkxjRU1zUlVGQlV6aENMRWRCUTJwRFR5eEZRVUZKTEVsQlFVMUVMRVZCUVVsSExFdEJRVThzUzBGQlQwZ3NSVUZCU1dwRExFMUJRVkVzU1VGRGVFTkRMRXRCUVV0dlF5eGxRVUZsU2l4RlFVRkxjRU1zUlVGQlV6aENMRWRCUXpOQ1R5eEhRVWRVZEVNc1JVRkJZMUVzVlVGQlZXdERMRTFCUVZFc1UwRkJVMW9zUlVGQlRUZENMRVZCUVZNNFFpeEhRVU4wUkN4SlFVRkpUeXhGUVZWS0xFOUJWRUZxUXl4TFFVRkxjME1zVTBGQlUySXNSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTTNRamxDTEVWQlFWRXlRaXhOUVVGUmJrTXNSVUZCV1cxRUxGRkJRelZDVGl4RlFVRkpha01zUzBGQlMyTXNUMEZCVDFjc1JVRkJUVGRDTEVWQlFWTTRRaXhIUVVGVExGbEJRM2hET1VJc1JVRkJVVEpDTEUxQlFWRnVReXhGUVVGWmIwUXNWVUZETlVKUUxFZEJRVXRTTEVWQlFVc3hRaXhOUVVOV1NDeEZRVUZSTWtJc1RVRkJVVzVETEVWQlFWbHhSQ3hUUVVNMVFsSXNSMEZCU3l4TlFVRlJha01zUzBGQlN6aENMRkZCUVZGTUxFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRGVrTTVRaXhGUVVGUk1rSXNUVUZCVVc1RExFVkJRVmx2UXl4TFFVTTFRbmhDTEV0QlFVc3dReXhWUVVGVmFrSXNSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTjJRazhzUjBGSFZIUkRMRVZCUVdOUkxGVkJRVlYzUXl4UlFVRlZMRk5CUVZOc1FpeEZRVUZOTjBJc1JVRkJVemhDTEVkQlEzaEVMRWxCUVVsUExFVkJWVW9zVDBGVVFXcERMRXRCUVV0elF5eFRRVUZUWWl4RlFVRk5OMElzUlVGQlV6aENMRWRCUXpkQ09VSXNSVUZCVVRKQ0xFMUJRVkZ1UXl4RlFVRlpiVVFzVVVGRE5VSk9MRVZCUVVscVF5eExRVUZMWXl4UFFVRlBWeXhGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRVk1zVjBGRGVFTTVRaXhGUVVGUk1rSXNUVUZCVVc1RExFVkJRVmx2UkN4VlFVTTFRbEFzUjBGQlMxSXNSVUZCU3pGQ0xFMUJRMVpJTEVWQlFWRXlRaXhOUVVGUmJrTXNSVUZCV1hGRUxGTkJRelZDVWl4SFFVRkxMRlZCUVZOcVF5eExRVUZMT0VJc1VVRkJVVXdzUlVGQlRUZENMRVZCUVZNNFFpeEhRVU14UXpsQ0xFVkJRVkV5UWl4TlFVRlJia01zUlVGQldXOURMRXRCUXpWQ2VFSXNTMEZCU3pCRExGVkJRVlZxUWl4RlFVRk5OMElzUlVGQlV6aENMRWRCUTNaQ1R5eEhRVWRVZEVNc1JVRkJZMUVzVlVGQlZYbERMRmxCUVdNc1UwRkJVMjVDTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZETlVRc1NVRkJTVThzUlVGcFFrb3NUMEZvUWtGcVF5eExRVUZMYzBNc1UwRkJVMklzUlVGQlRUZENMRVZCUVZNNFFpeEhRVU0zUWpsQ0xFVkJRVkV5UWl4TlFVRlJia01zUlVGQldXMUVMRkZCUXpWQ1RpeEZRVUZKYWtNc1MwRkJTMk1zVDBGQlQxY3NSVUZCVFRkQ0xFVkJRVk00UWl4SFFVRlRMRkZCUTNoRE9VSXNSVUZCVVRKQ0xFMUJRVkZ1UXl4RlFVRlpiMFFzVlVGRE5VSlFMRWRCUVVzc1lVRkJaVklzUlVGQlMyOUNMRkZCUVZVc1NVRkRaQ3hOUVVGcVFuQkNMRVZCUVV0eFFpeFhRVU5RWWl4SFFVRkxMR05CUVdkQ1VpeEZRVUZMY1VJc1UwRkJWeXhMUVVWb1FpeE5RVUZ1UW5KQ0xFVkJRVXR6UWl4aFFVTlFaQ3hIUVVGTExHZENRVUZyUWxJc1JVRkJTM05DTEZkQlFXRXNTMEZGTTBOdVJDeEZRVUZSTWtJc1RVRkJVVzVETEVWQlFWbHhSQ3hUUVVNMVFsSXNSMEZCUzNKRExFVkJRVkYxUWl4cFFrRkJiVUlzUzBGRGFFTmpMRWRCUVV0cVF5eExRVUZMT0VJc1VVRkJVVXdzUlVGQlRUZENMRVZCUVZNNFFpeEhRVU5xUXpsQ0xFVkJRVkV5UWl4TlFVRlJia01zUlVGQldXOURMRXRCUXpWQ2VFSXNTMEZCU3pCRExGVkJRVlZxUWl4RlFVRk5OMElzUlVGQlV6aENMRWRCUTNaQ1R5eEhRVWRVZEVNc1JVRkJZMUVzVlVGQlZUWkRMRkZCUVZVc1UwRkJVM1pDTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZEZUVRc1NVRkJTWFZDTEVWQlFVOURMRVZCUVVkRExFVkJRVXRzUWl4RlFVRkhia01zUlVGWGRFSXNSMEZXUVRSQ0xFbEJRVlZCTEVWQlFWRXNSMEZEYkVJeFFpeExRVUZMYzBNc1UwRkJVMklzUlVGQlRUZENMRVZCUVZNNFFpeEhRVU0zUWpsQ0xFVkJRVkV5UWl4TlFVRlJia01zUlVGQldXMUVMRkZCUXpWQ1RpeEZRVUZKYWtNc1MwRkJTMk1zVDBGQlQxY3NSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTXZRazhzUjBGQlN5eGhRVUZsVWl4RlFVRkxNa0lzVDBGQlQycENMRXRCUXpWQ1ZpeEZRVUZMTkVJc1QwRkJVelZDTEVWQlFVczJRaXhOUVVOeVFuSkNMRWRCUVVzc1dVRkJZMUlzUlVGQlN6UkNMRTFCUVZFc1RVRkJVVFZDTEVWQlFVczJRaXhOUVVGUkxFbEJRelZETjBJc1JVRkJTelpDTEZGQlEyUnlRaXhIUVVGTExGbEJRV05TTEVWQlFVczJRaXhOUVVGUkxFdEJSVGxDTjBJc1JVRkJTemhDTEZOQlFWTkRMRTlCUVZNc1JVRkJSeXhEUVVzMVFpeEpRVXBCZGtJc1IwRkJTeXhMUVVOTVFTeEhRVUZMYWtNc1MwRkJTemhDTEZGQlFWRk1MRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkRha001UWl4RlFVRlJNa0lzVFVGQlVXNURMRVZCUVZsdlJDeFZRVVYyUWxVc1JVRkJTU3hGUVVGSFF5eEhRVVJhY2tRc1JVRkJUVEpDTEVWQlFVczRRaXhWUVVOWFF5eFBRVUZSVGl4RlFVRkpReXhGUVVGTFJDeEpRVU55UTBRc1JVRkJVVzVFTEVWQlFVbHZSQ3hIUVVOYWFrSXNSMEZCUzJwRExFdEJRVXQ1UkN4bFFVRmxVaXhGUVVGUGNrUXNSVUZCVXpoQ0xFVkJRVkVzUjBGRmJrUTVRaXhGUVVGUk1rSXNUVUZCVVc1RExFVkJRVmx4UkN4VFFVTTFRbElzUjBGQlN5eEpRVTlRTEU5QlRFRnlReXhGUVVGUk1rSXNUVUZCVVc1RExFVkJRVmx4UkN4VFFVTTFRbElzUjBGQlMzSkRMRVZCUVZGMVFpeHBRa0ZCYlVJc1NVRkRhRU5qTEVkQlFVdHFReXhMUVVGTE9FSXNVVUZCVVV3c1JVRkJUVGRDTEVWQlFWTTRRaXhIUVVOcVF6bENMRVZCUVZFeVFpeE5RVUZSYmtNc1JVRkJXVzlETEV0QlF6VkNlRUlzUzBGQlN6QkRMRlZCUVZWcVFpeEZRVUZOTjBJc1JVRkJVemhDTEVkQlEzWkNUeXhIUVVkVWRFTXNSVUZCWTFFc1ZVRkJWWFZFTEZGQlFWVXNVMEZCVTJwRExFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRGVFUXNTVUZCU1Uwc1JVRkJTMmxDTEVWQlFVOVZMRVZCUVdkQ1F5eEZRVUZuUWxZc1JVRkJSMWNzUlVGQlIxWXNSVUZCUzFjc1JVRkJUVE5DTEVWQlFVMDBRaXhGUVVGclFqbENMRVZCUVVkdVF5eEZRVUZMVVN4RlFVRk5ReXhGUVZGMlJ5eEpRVUZMTkVJc1MwRlFURlFzU1VGQlZVRXNSVUZCVVN4SFFVTnNRbkZETEVkQlFXMUNMRVZCUTI1Q09VSXNSVUZCU1N4SFFVTktha01zUzBGQlMzTkRMRk5CUVZOaUxFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRE4wSTVRaXhGUVVGUk1rSXNUVUZCVVc1RExFVkJRVmx0UkN4UlFVTTFRazRzUjBGQlMycERMRXRCUVV0akxFOUJRVTlYTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZCVXl4SlFVRk5SQ3hGUVVGTFZTeExRVU53UkhKRExFVkJRVTB5UWl4RlFVRkxkVU1zVVVGRlNqRkZMRVZCUVZGWkxFdEJRVXRLTEVWQlFVdHhReXhMUVVOMlFrZ3NSVUZCVFd4RExFVkJRVWx4UXl4SFFVTldSaXhIUVVGTGFrTXNTMEZCU3l0Q0xGVkJRVlZETEVWQlFVdHdReXhGUVVGVE9FSXNTVUZKY0VNc1IwRkVRV3RETEVWQlFXOURMRXRCUkhCRFJDeEZRVUZwUW14RExFVkJRVXM0UWl4VFFVRlRReXhSUVVOVExFdEJRVTh2UWl4RlFVRkxPRUlzVTBGQlV5eEhRVU4wUXl4SlFVRnVRa2tzUjBGQmQwSnNReXhGUVVGTE9FSXNVMEZCVTFVc1RVRkJUU3hUUVVGVFF5eEhRVU4yUkN4UFFVRlJRU3hGUVVGRlF5eFBRVUZUYUVZc1JVRkJVMmxHTEUxQlFWRkdMRVZCUVVWRExFOUJRVk5vUml4RlFVRlRhMFlzVFVGQmIwSXNTMEZCV2tnc1JVRkJSVzVGTEZGQlJUbEVTQ3hGUVVGUmFVSXNXVUZEVm05Q0xFZEJRVXNzU1VGRFRISkRMRVZCUVZFeVFpeE5RVUZSYmtNc1JVRkJXWEZFTEZOQlF6VkNVaXhIUVVGTExFdEJRVTlTTEVWQlFVdFZMRXRCUVU4c1NVRkJUVzVETEV0QlFVczRRaXhSUVVGUlRDeEZRVUZOTjBJc1JVRkJVemhDTEV0QlJURkVPVUlzUlVGQlVUSkNMRTFCUVZGdVF5eEZRVUZaY1VRc1UwRkROVUpTTEVkQlFVdHlReXhGUVVGUmRVSXNhVUpCUVcxQ0xFdEJRVTl1UWl4TFFVRkxPRUlzVVVGQlVVd3NSVUZCVFRkQ0xFVkJRVk00UWl4VFFVVm9SU3hKUVVGSk9VSXNSVUZCVVdkQ0xGRkJRVFpDTEVsQlFXNUNLME1zUjBGQmVVSkRMRVZCUVdWUExFOUJRVk5vUml4RlFVRlRhVVlzVFVGQlVWSXNSVUZCWlU4c1QwRkJVMmhHTEVWQlFWTnJSaXhMUVVGcFF5eE5RVUY0UWxRc1JVRkJaVGRFTEUxQlZXcEtMRU5CUTB3c1IwRkJTVWdzUlVGQlVYRkNMRzlDUVVWV0xFbEJRVXRwUXl4RlFVRkpMRVZCUVVkRExFZEJSRm8zUXl4RlFVRlBiVUlzUlVGQlN6aENMRlZCUTFkRExFOUJRVkZPTEVWQlFVbERMRVZCUVV0RUxFbEJSWFJETEV0QlJFRkVMRVZCUVZFelF5eEZRVUZMTkVNc1NVRkRSbWxDTEU5QlFWTm9SaXhGUVVGVGFVWXNUVUZCVVc1Q0xFVkJRVTFyUWl4UFFVRlRhRVlzUlVGQlUydEdMRTFCUVhkQ0xFMUJRV1p3UWl4RlFVRk5iRVFzVFVGQlowSXNRMEZETVVaSUxFVkJRVkY1UWl4elFrRkRVakJETEVkQlFXMUNMRVZCUTI1Q0xFMUJUMDRzU1VGSVFUbENMRWRCUVVzc1NVRkJUV3BETEV0QlFVczRRaXhSUVVGUlRDeEZRVUZOTjBJc1JVRkJVemhDTEVkQlEzWkRPVUlzUlVGQlVUSkNMRTFCUVZGdVF5eEZRVUZaYjBRc1ZVRkZka0p4UWl4RlFVRkpMRVZCUVVkRExFZEJSRnAyUkN4RlFVRlBhMElzUlVGQlN6aENMRlZCUTFsRExFOUJRVkZMTEVWQlFVbERMRVZCUVUxRUxFbEJRM2hEV2l4RlFVRlJNVU1zUlVGQlMzTkVMRWRCUTJJMVFpeEhRVUZMYWtNc1MwRkJTM2xFTEdWQlFXVlNMRVZCUVU5eVJDeEZRVUZUT0VJc1JVRkJVU3hIUVVWdVJEbENMRVZCUVZFeVFpeE5RVUZSYmtNc1JVRkJXWEZFTEZOQlF6VkNVaXhIUVVGTGFrTXNTMEZCUzJNc1QwRkJUMWNzUlVGQlRUZENMRVZCUVZNNFFpeEhRVUZUTEV0QlFVOUVMRVZCUVV0VkxFdEJRVThzU1VGRGVFUTBRaXhIUVVOR2JrVXNSVUZCVVhsQ0xITkNRVVZXV1N4SFFVRkxha01zUzBGQlN6aENMRkZCUVZGTUxFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRGFrTTVRaXhGUVVGUk1rSXNUVUZCVVc1RExFVkJRVmx2UXl4VlFXeEROVUpUTEVkQlFVc3NTVUZEVEhKRExFVkJRVkV5UWl4TlFVRlJia01zUlVGQldXOUVMRlZCUXpWQ05VTXNSVUZCVVhsQ0xITkNRVU5TTUVNc1IwRkJiVUlzUlVGRGJrSTVRaXhIUVVGTGFrTXNTMEZCUzNsRUxHVkJRV1ZITEVWQlFXZENhRVVzUlVGQlV6aENMRVZCUVZFc1IwRkRNVVE1UWl4RlFVRlJlVUlzYzBKQlExSXdReXhIUVVGdFFpeEZRVU51UW01RkxFVkJRVkV5UWl4TlFVRlJia01zUlVGQldYRkVMRk5CUXpWQ1VpeEhRVUZMTEV0QlFVOVNMRVZCUVV0VkxFdEJRVThzU1VGQlRXNURMRXRCUVVzNFFpeFJRVUZSVEN4RlFVRk5OMElzUlVGQlV6aENMRWRCTmtJMVJDeFBRVVJCTVVJc1MwRkJTekJETEZWQlFWVnFRaXhGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRM1pDVHl4SFFVZFVkRU1zUlVGQlkxRXNWVUZCVlhORUxHVkJRV2xDTEZOQlFWTm9ReXhGUVVGTk4wSXNSVUZCVXpoQ0xFZEJReTlFTEU5QlFWRkVMRVZCUVVzd1F5eE5RVU5ZTEV0QlFVdG9SaXhGUVVGVGJVWXNUVUZEV2l4UFFVRlBkRVVzUzBGQlMzRkRMRTFCUVUxYUxFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRGJrTXNTMEZCUzNaRExFVkJRVk52Uml4UlFVTmFMRTlCUVU5MlJTeExRVUZMTWtNc1VVRkJVV3hDTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZEY2tNc1MwRkJTM1pETEVWQlFWTnhSaXhSUVVOYUxFOUJRVTk0UlN4TFFVRkxNRVFzVVVGQlVXcERMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkRja01zUzBGQlMzWkRMRVZCUVZOclJpeEpRVU5hTEU5QlFVOXlSU3hMUVVGTGVVVXNTVUZCU1doRUxFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRGFrTXNTMEZCUzNaRExFVkJRVk5wUml4TFFVTmFMRTlCUVU5d1JTeExRVUZMTUVVc1MwRkJTMnBFTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZEYkVNc1MwRkJTM1pETEVWQlFWTjNSaXh6UWtGRFdpeFBRVUZQTTBVc1MwRkJTelJGTEhOQ1FVRnpRbTVFTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZEYmtRc1MwRkJTM1pETEVWQlFWTXdSaXhOUVVOYUxFMUJRVThzUjBGRFZDeExRVUZMTVVZc1JVRkJVekpHTEZsQlExb3NUMEZCVHpsRkxFdEJRVXMwUXl4WlFVRlpia0lzUlVGQlRUZENMRVZCUVZNNFFpeEhRVU42UXl4TFFVRkxka01zUlVGQlV6UkdMRkZCUTFvc1QwRkJUeTlGTEV0QlFVdG5SQ3hSUVVGUmRrSXNSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTnlReXhMUVVGTGRrTXNSVUZCVXpaR0xIRkNRVU5hTEU5QlFVOW9SaXhMUVVGTGFVWXNWMEZCVjNoRUxFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRGVFTXNTMEZCUzNaRExFVkJRVk1yUml4dFFrRkRXaXhQUVVGUGJFWXNTMEZCUzIxR0xGZEJRVmN4UkN4RlFVRk5OMElzUlVGQlV6aENMRWRCUTNoRExFdEJRVXQyUXl4RlFVRlRhVWNzYTBKQlExb3NUMEZCVDNCR0xFdEJRVXR4Uml4VlFVRlZOVVFzUlVGQlRUZENMRVZCUVZNNFFpeEhRVU4yUXl4TFFVRkxka01zUlVGQlUyMUhMRzlDUVVOYUxFOUJRVTkwUml4TFFVRkxkVVlzV1VGQldUbEVMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkRla01zVVVGRFJTeE5RVUZOTEVsQlFVazRSQ3hOUVVGTkxEQkNRVUUwUWk5RUxFVkJRVXRuUlN4WlFVRlpkRVFzVVVGSmJrVjRReXhGUVVGalVTeFZRVUZWZVVVc2MwSkJRWGRDTEZOQlFWTnVSQ3hGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRM1JGTEVsQlFVbFBMRVZCWTBvc1QwRmlRV3BETEV0QlFVdHpReXhUUVVGVFlpeEZRVUZOTjBJc1JVRkJVemhDTEVkQlF6ZENPVUlzUlVGQlVUSkNMRTFCUVZGdVF5eEZRVUZaYlVRc1VVRkROVUpPTEVWQlFVbHFReXhMUVVGTFl5eFBRVUZQVnl4RlFVRk5OMElzUlVGQlV6aENMRWRCUVZNc1MwRkRlRU01UWl4RlFVRlJNa0lzVFVGQlVXNURMRVZCUVZsdlJDeFZRVU0xUWxBc1IwRkJTMUlzUlVGQlMybEZMRTlCUTA1cVJTeEZRVUZMTVVJc1VVRkRVR3RETEVkQlFVc3NTVUZCVFZJc1JVRkJTekZDTEU5QlJXeENTQ3hGUVVGUk1rSXNUVUZCVVc1RExFVkJRVmx4UkN4VFFVTTFRbElzUjBGQlMzSkRMRVZCUVZGMVFpeHBRa0ZCYlVJc1MwRkRhRU5qTEVkQlFVdHFReXhMUVVGTE9FSXNVVUZCVVV3c1JVRkJUVGRDTEVWQlFWTTRRaXhIUVVOcVF6bENMRVZCUVZFeVFpeE5RVUZSYmtNc1JVRkJXVzlETEV0QlF6VkNlRUlzUzBGQlN6QkRMRlZCUVZWcVFpeEZRVUZOTjBJc1JVRkJVemhDTEVkQlEzWkNUeXhIUVVkVWRFTXNSVUZCWTFFc1ZVRkJWWE5GTEVsQlFVMHNVMEZCVTJoRUxFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRGNFUXNTVUZCU1U4c1JVRlZTaXhQUVZSQmFrTXNTMEZCUzNORExGTkJRVk5pTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZETjBJNVFpeEZRVUZSTWtJc1RVRkJVVzVETEVWQlFWbHRSQ3hSUVVNMVFrNHNSVUZCU1dwRExFdEJRVXRqTEU5QlFVOVhMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkRMMEk1UWl4RlFVRlJNa0lzVFVGQlVXNURMRVZCUVZsdlJDeFZRVU0xUWxBc1IwRkJTMUlzUlVGQlN6RkNMRTFCUTFaSUxFVkJRVkV5UWl4TlFVRlJia01zUlVGQldYRkVMRk5CUXpWQ1VpeEhRVUZMYWtNc1MwRkJTemhDTEZGQlFWRk1MRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkRha001UWl4RlFVRlJNa0lzVFVGQlVXNURMRVZCUVZsdlF5eExRVU0xUW5oQ0xFdEJRVXN3UXl4VlFVRlZha0lzUlVGQlRUZENMRVZCUVZNNFFpeEhRVU4yUWs4c1IwRkhWSFJETEVWQlFXTlJMRlZCUVZWMVJTeExRVUZQTEZOQlFWTnFSQ3hGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRM0pFTEVsQlFVbFBMRVZCVlVvc1QwRlVRV3BETEV0QlFVdHpReXhUUVVGVFlpeEZRVUZOTjBJc1JVRkJVemhDTEVkQlF6ZENPVUlzUlVGQlVUSkNMRTFCUVZGdVF5eEZRVUZaYlVRc1VVRkROVUpPTEVWQlFVbHFReXhMUVVGTFl5eFBRVUZQVnl4RlFVRk5OMElzUlVGQlV6aENMRWRCUXk5Q09VSXNSVUZCVVRKQ0xFMUJRVkZ1UXl4RlFVRlpiMFFzVlVGRE5VSlFMRWRCUVV0U0xFVkJRVXN4UWl4TlFVTldTQ3hGUVVGUk1rSXNUVUZCVVc1RExFVkJRVmx4UkN4VFFVTTFRbElzUjBGQlMycERMRXRCUVVzNFFpeFJRVUZSVEN4RlFVRk5OMElzUlVGQlV6aENMRWRCUTJwRE9VSXNSVUZCVVRKQ0xFMUJRVkZ1UXl4RlFVRlpiME1zUzBGRE5VSjRRaXhMUVVGTE1FTXNWVUZCVldwQ0xFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRGRrSlBMRWRCUjFSMFF5eEZRVUZqVVN4VlFVRlZPRVVzVjBGQllTeFRRVUZUZUVRc1JVRkJUVGRDTEVWQlFWTTRRaXhIUVVNelJDeEpRVUZKVHl4RlFXZENTaXhQUVdaQmFrTXNTMEZCUzNORExGTkJRVk5pTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZETjBJNVFpeEZRVUZSTWtJc1RVRkJVVzVETEVWQlFWbHRSQ3hSUVVNMVFrNHNSVUZCU1dwRExFdEJRVXRqTEU5QlFVOVhMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkJVeXhaUVVONFF6bENMRVZCUVZFeVFpeE5RVUZSYmtNc1JVRkJXVzlFTEZWQlF6VkNVQ3hIUVVGTExFbEJRVTFTTEVWQlFVdHJSU3haUVVGakxFbEJRVTFzUlN4RlFVRkxiVVVzWTBGQlowSXNTVUZCVFc1RkxFVkJRVXR2UlN4alFVTjBReXhoUVVFeFFuQkZMRVZCUVV0eFJTeHRRa0ZEVURkRUxFZEJRVXNzU1VGQlRWSXNSVUZCUzNGRkxHdENRVVZrY2tVc1JVRkJTM05GTEdWQlExQTVSQ3hIUVVGTExFdEJRVTlTTEVWQlFVdHpSU3hoUVVGbExFdEJSV3hEYmtjc1JVRkJVVEpDTEUxQlFWRnVReXhGUVVGWmNVUXNVMEZETlVKU0xFZEJRVXR5UXl4RlFVRlJkVUlzYVVKQlFXMUNMRWxCUVUxdVFpeExRVUZMT0VJc1VVRkJVVXdzUlVGQlRUZENMRVZCUVZNNFFpeEhRVU5zUlRsQ0xFVkJRVkV5UWl4TlFVRlJia01zUlVGQldXOURMRXRCUXpWQ2VFSXNTMEZCU3pCRExGVkJRVlZxUWl4RlFVRk5OMElzUlVGQlV6aENMRWRCUTNaQ1R5eEhRVWRVZEVNc1JVRkJZMUVzVlVGQlZXZEdMRmRCUVdFc1UwRkJVekZFTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZETTBRc1NVRkJTVThzUlVGVlNpeFBRVlJCYWtNc1MwRkJTM05ETEZOQlFWTmlMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkROMEk1UWl4RlFVRlJNa0lzVFVGQlVXNURMRVZCUVZsdFJDeFJRVU0xUWs0c1JVRkJTV3BETEV0QlFVdGpMRTlCUVU5WExFVkJRVTAzUWl4RlFVRlRPRUlzUjBGQlV5eFpRVU40UXpsQ0xFVkJRVkV5UWl4TlFVRlJia01zUlVGQldXOUVMRlZCUXpWQ1VDeEhRVUZMTEVsQlFVMVNMRVZCUVV0VkxFdEJRVThzU1VGQlRWWXNSVUZCU3pGQ0xFMUJRMnhEU0N4RlFVRlJNa0lzVFVGQlVXNURMRVZCUVZseFJDeFRRVU0xUWxJc1IwRkJTM0pETEVWQlFWRjFRaXhwUWtGQmJVSXNTVUZCVFc1Q0xFdEJRVXM0UWl4UlFVRlJUQ3hGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRMnhGT1VJc1JVRkJVVEpDTEUxQlFWRnVReXhGUVVGWmIwTXNTMEZETlVKNFFpeExRVUZMTUVNc1ZVRkJWV3BDTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZEZGtKUExFZEJSMVIwUXl4RlFVRmpVU3hWUVVGVmEwWXNWVUZCV1N4VFFVRlROVVFzUlVGQlRUZENMRVZCUVZNNFFpeEhRVU14UkN4SlFVRkpUeXhGUVhsQ1NpeFBRWGhDUVdwRExFdEJRVXR6UXl4VFFVRlRZaXhGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRemRDT1VJc1JVRkJVVEpDTEUxQlFWRnVReXhGUVVGWmJVUXNVVUZETlVKT0xFVkJRVWxxUXl4TFFVRkxZeXhQUVVGUFZ5eEZRVUZOTjBJc1JVRkJVemhDTEVkQlFWTXNWMEZEZUVNNVFpeEZRVUZSTWtJc1RVRkJVVzVETEVWQlFWbHZSQ3hWUVVONFFtWXNSVUZCUzNWRkxFdEJRMUF2UkN4SFFVRkxMRTFCUlZCQkxFZEJRVXNzU1VGQlRWSXNSVUZCUzFVc1MwRkRXbFlzUlVGQlN6RkNMRTFCUTFCclF5eEhRVUZMTEV0QlFVOVNMRVZCUVVzeFFpeE5RVUZSTEV0QlJYSkNNRUlzUlVGQlN6UkNMRTlCUVZNMVFpeEZRVUZMTmtJc1RVRkRja0p5UWl4SFFVRkxMRmxCUVdOU0xFVkJRVXMwUWl4TlFVRlJMRTFCUVZFMVFpeEZRVUZMTmtJc1RVRkJVU3hKUVVNMVF6ZENMRVZCUVVzMlFpeFJRVU5rY2tJc1IwRkJTeXhaUVVGalVpeEZRVUZMTmtJc1RVRkJVU3hMUVVVNVFqZENMRVZCUVV0M1JTeFJRVU5RYUVVc1IwRkJTeXhWUVVGWlVpeEZRVUZMZDBVc1VVRkhNVUp5Unl4RlFVRlJNa0lzVFVGQlVXNURMRVZCUVZseFJDeFRRVU0xUWxJc1IwRkJTM0pETEVWQlFWRjFRaXhwUWtGQmJVSXNTVUZCVFc1Q0xFdEJRVXM0UWl4UlFVRlJUQ3hGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRMnhGT1VJc1JVRkJVVEpDTEUxQlFWRnVReXhGUVVGWmIwTXNTMEZETlVKNFFpeExRVUZMTUVNc1ZVRkJWV3BDTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZEZGtKUExFZEJSMVIwUXl4RlFVRmpVU3hWUVVGVmIwWXNXVUZCWXl4VFFVRlRPVVFzUlVGQlRUZENMRVZCUVZNNFFpeEhRVU0xUkN4SlFVRkpUeXhGUVdsQ1NpeFBRV2hDUVdwRExFdEJRVXR6UXl4VFFVRlRZaXhGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRemRDT1VJc1JVRkJVVEpDTEUxQlFWRnVReXhGUVVGWmJVUXNVVUZETlVKT0xFVkJRVWxxUXl4TFFVRkxZeXhQUVVGUFZ5eEZRVUZOTjBJc1JVRkJVemhDTEVkQlFWTXNZVUZEZUVNNVFpeEZRVUZSTWtJc1RVRkJVVzVETEVWQlFWbHZSQ3hWUVVNMVFsQXNSMEZCU3l4SlFVRk5VaXhGUVVGTFZTeExRVU5hVml4RlFVRkxORUlzVDBGQlV6VkNMRVZCUVVzMlFpeE5RVU55UW5KQ0xFZEJRVXNzV1VGQlkxSXNSVUZCU3pSQ0xFMUJRVkVzVFVGQlVUVkNMRVZCUVVzMlFpeE5RVUZSTEVsQlF6VkROMElzUlVGQlN6UkNMRTFCUTJSd1FpeEhRVUZMTEZsQlFXTlNMRVZCUVVzMFFpeE5RVUZSTEVsQlEzWkNOVUlzUlVGQlN6WkNMRkZCUTJSeVFpeEhRVUZMTEZsQlFXTlNMRVZCUVVzMlFpeE5RVUZSTEV0QlJXeERNVVFzUlVGQlVUSkNMRTFCUVZGdVF5eEZRVUZaY1VRc1UwRkROVUpTTEVkQlFVdHlReXhGUVVGUmRVSXNhVUpCUVcxQ0xFbEJRVTF1UWl4TFFVRkxPRUlzVVVGQlVVd3NSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTnNSVGxDTEVWQlFWRXlRaXhOUVVGUmJrTXNSVUZCV1c5RExFdEJRelZDZUVJc1MwRkJTekJETEZWQlFWVnFRaXhGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRM1pDVHl4SFFVZFVkRU1zUlVGQlkxRXNWVUZCVlcxRExGTkJRVmNzVTBGQlUySXNSVUZCVFRkQ0xFVkJRVk00UWl4TFFVVXpSQzlDTEVWQlFXTlJMRlZCUVZWMVF5eFZRVUZaTEZOQlFWTnFRaXhGUVVGTk4wSXNSVUZCVXpoQ0xFdEJSVFZFTDBJc1JVRkJZMUVzVlVGQlZTdENMR05CUVdkQ0xGTkJRVk5HTEVWQlFVdHdReXhGUVVGVE9FSXNTMEZGTDBRdlFpeEZRVUZqVVN4VlFVRlZhVU1zWlVGQmFVSXNVMEZCVTBvc1JVRkJTM0JETEVWQlFWTTRRaXhMUVVWNlJDOUNMRVZCYkZsM1FpeExRWE5aYUVOUExFdEJRVXRHSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwyMWhjM1JsY2k5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OTRiV3hpZFdsc1pHVnlMMnhwWWk5WVRVeFhjbWwwWlhKQ1lYTmxMbXB6SW4wPSIsIihmdW5jdGlvbigpe3ZhciBlLHIsdCxuLGksbyx1LGwsbSxzO3M9cmVxdWlyZShcIi4vVXRpbGl0eVwiKSxsPXMuYXNzaWduLG09cy5pc0Z1bmN0aW9uLHQ9cmVxdWlyZShcIi4vWE1MRE9NSW1wbGVtZW50YXRpb25cIiksbj1yZXF1aXJlKFwiLi9YTUxEb2N1bWVudFwiKSxpPXJlcXVpcmUoXCIuL1hNTERvY3VtZW50Q0JcIiksdT1yZXF1aXJlKFwiLi9YTUxTdHJpbmdXcml0ZXJcIiksbz1yZXF1aXJlKFwiLi9YTUxTdHJlYW1Xcml0ZXJcIiksZT1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxyPXJlcXVpcmUoXCIuL1dyaXRlclN0YXRlXCIpLG1vZHVsZS5leHBvcnRzLmNyZWF0ZT1mdW5jdGlvbihlLHIsdCxpKXt2YXIgbyx1O2lmKG51bGw9PWUpdGhyb3cgbmV3IEVycm9yKFwiUm9vdCBlbGVtZW50IG5lZWRzIGEgbmFtZS5cIik7cmV0dXJuIGk9bCh7fSxyLHQsaSksdT0obz1uZXcgbihpKSkuZWxlbWVudChlKSxpLmhlYWRsZXNzfHwoby5kZWNsYXJhdGlvbihpKSxudWxsPT1pLnB1YklEJiZudWxsPT1pLnN5c0lEfHxvLmR0ZChpKSksdX0sbW9kdWxlLmV4cG9ydHMuYmVnaW49ZnVuY3Rpb24oZSxyLHQpe3ZhciBvO3JldHVybiBtKGUpJiYocj0obz1bZSxyXSlbMF0sdD1vWzFdLGU9e30pLHI/bmV3IGkoZSxyLHQpOm5ldyBuKGUpfSxtb2R1bGUuZXhwb3J0cy5zdHJpbmdXcml0ZXI9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyB1KGUpfSxtb2R1bGUuZXhwb3J0cy5zdHJlYW1Xcml0ZXI9ZnVuY3Rpb24oZSxyKXtyZXR1cm4gbmV3IG8oZSxyKX0sbW9kdWxlLmV4cG9ydHMuaW1wbGVtZW50YXRpb249bmV3IHQsbW9kdWxlLmV4cG9ydHMubm9kZVR5cGU9ZSxtb2R1bGUuZXhwb3J0cy53cml0ZXJTdGF0ZT1yfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltbHVaR1Y0TG1weklsMHNJbTVoYldWeklqcGJJazV2WkdWVWVYQmxJaXdpVjNKcGRHVnlVM1JoZEdVaUxDSllUVXhFVDAxSmJYQnNaVzFsYm5SaGRHbHZiaUlzSWxoTlRFUnZZM1Z0Wlc1MElpd2lXRTFNUkc5amRXMWxiblJEUWlJc0lsaE5URk4wY21WaGJWZHlhWFJsY2lJc0lsaE5URk4wY21sdVoxZHlhWFJsY2lJc0ltRnpjMmxuYmlJc0ltbHpSblZ1WTNScGIyNGlMQ0p5WldZaUxDSnlaWEYxYVhKbElpd2liVzlrZFd4bElpd2laWGh3YjNKMGN5SXNJbU55WldGMFpTSXNJbTVoYldVaUxDSjRiV3hrWldNaUxDSmtiMk4wZVhCbElpd2liM0IwYVc5dWN5SXNJbVJ2WXlJc0luSnZiM1FpTENKRmNuSnZjaUlzSW1Wc1pXMWxiblFpTENKb1pXRmtiR1Z6Y3lJc0ltUmxZMnhoY21GMGFXOXVJaXdpY0hWaVNVUWlMQ0p6ZVhOSlJDSXNJbVIwWkNJc0ltSmxaMmx1SWl3aWIyNUVZWFJoSWl3aWIyNUZibVFpTENKeVpXWXhJaXdpYzNSeWFXNW5WM0pwZEdWeUlpd2ljM1J5WldGdFYzSnBkR1Z5SWl3aWMzUnlaV0Z0SWl3aWFXMXdiR1Z0Wlc1MFlYUnBiMjRpTENKdWIyUmxWSGx3WlNJc0luZHlhWFJsY2xOMFlYUmxJaXdpWTJGc2JDSXNJblJvYVhNaVhTd2liV0Z3Y0dsdVozTWlPaUpEUVVOQkxGZEJRMFVzU1VGQlNVRXNSVUZCVlVNc1JVRkJZVU1zUlVGQmMwSkRMRVZCUVdGRExFVkJRV1ZETEVWQlFXbENReXhGUVVGcFFrTXNSVUZCVVVNc1JVRkJXVU1zUlVGRmJrbEJMRVZCUVUxRExGRkJRVkVzWVVGQlkwZ3NSVUZCVTBVc1JVRkJTVVlzVDBGQlVVTXNSVUZCWVVNc1JVRkJTVVFzVjBGRmJFVk9MRVZCUVhWQ1VTeFJRVUZSTERCQ1FVVXZRbEFzUlVGQlkwOHNVVUZCVVN4cFFrRkZkRUpPTEVWQlFXZENUU3hSUVVGUkxHMUNRVVY0UWtvc1JVRkJhMEpKTEZGQlFWRXNjVUpCUlRGQ1RDeEZRVUZyUWtzc1VVRkJVU3h4UWtGRk1VSldMRVZCUVZkVkxGRkJRVkVzWTBGRmJrSlVMRVZCUVdOVExGRkJRVkVzYVVKQlJYUkNReXhQUVVGUFF5eFJRVUZSUXl4UFFVRlRMRk5CUVZORExFVkJRVTFETEVWQlFWRkRMRVZCUVZORExFZEJRM1JFTEVsQlFVbERMRVZCUVV0RExFVkJRMVFzUjBGQldTeE5RVUZTVEN4RlFVTkdMRTFCUVUwc1NVRkJTVTBzVFVGQlRTdzRRa0ZYYkVJc1QwRlVRVWdzUlVGQlZWWXNSVUZCVHl4SFFVRkpVU3hGUVVGUlF5eEZRVUZUUXl4SFFVVjBRMFVzUjBGRVFVUXNSVUZCVFN4SlFVRkpaaXhGUVVGWll5eEpRVU5ZU1N4UlFVRlJVQ3hIUVVOa1J5eEZRVUZSU3l4WFFVTllTaXhGUVVGSlN5eFpRVUZaVGl4SFFVTk5MRTFCUVdwQ1FTeEZRVUZSVHl4UFFVRnZReXhOUVVGcVFsQXNSVUZCVVZFc1QwRkRkRU5RTEVWQlFVbFJMRWxCUVVsVUxFbEJSMHhGTEVkQlIxUlNMRTlCUVU5RExGRkJRVkZsTEUxQlFWRXNVMEZCVTFZc1JVRkJVMWNzUlVGQlVVTXNSMEZETDBNc1NVRkJTVU1zUlVGTFNpeFBRVXBKZEVJc1JVRkJWMU1zUzBGRFlWY3NSMEZCTVVKRkxFVkJRVThzUTBGQlEySXNSVUZCVTFjc1NVRkJkVUlzUjBGQlNVTXNSVUZCVVVNc1JVRkJTeXhIUVVONlJHSXNSVUZCVlN4SlFVVlNWeXhGUVVOTExFbEJRVWw0UWl4RlFVRmpZU3hGUVVGVFZ5eEZRVUZSUXl4SFFVVnVReXhKUVVGSk1VSXNSVUZCV1dNc1NVRkpNMEpPTEU5QlFVOURMRkZCUVZGdFFpeGhRVUZsTEZOQlFWTmtMRWRCUTNKRExFOUJRVThzU1VGQlNWZ3NSVUZCWjBKWExFbEJSemRDVGl4UFFVRlBReXhSUVVGUmIwSXNZVUZCWlN4VFFVRlRReXhGUVVGUmFFSXNSMEZETjBNc1QwRkJUeXhKUVVGSldpeEZRVUZuUWpSQ0xFVkJRVkZvUWl4SlFVZHlRMDRzVDBGQlQwTXNVVUZCVVhOQ0xHVkJRV2xDTEVsQlFVbG9ReXhGUVVWd1ExTXNUMEZCVDBNc1VVRkJVWFZDTEZOQlFWZHVReXhGUVVVeFFsY3NUMEZCVDBNc1VVRkJVWGRDTEZsQlFXTnVReXhKUVVVMVFtOURMRXRCUVV0RElpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMMjFoYzNSbGNpOXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTk0Yld4aWRXbHNaR1Z5TDJ4cFlpOXBibVJsZUM1cWN5SjkiLCJcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltbHVhbVZqZEM1amMzTWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklpSXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl0WVhOMFpYSXZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXpjbU12WTNOekwybHVhbVZqZEM1amMzTWlmUT09IiwidmFyIGpRdWVyeSA9IHJlcXVpcmUoXCJqcXVlcnlcIik7XG5pbXBvcnQgJ2pxdWVyeS11aSc7XG5pbXBvcnQgKiBhcyBJIGZyb20gXCIuL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgVXRpbHMgZnJvbSAnLi9tb2R1bGVzL3V0aWxzJztcbmltcG9ydCAqIGFzIENvbW11bmljYXRpb24gZnJvbSBcIi4vbW9kdWxlcy9jb21tdW5pY2F0aW9uXCI7XG5pbXBvcnQgKiBhcyBQYXJzZXIgZnJvbSAnLi9tb2R1bGVzL3BhcnNlcic7XG5pbXBvcnQgKiBhcyBVSSBmcm9tIFwiLi9tb2R1bGVzL3VpXCI7XG5pbXBvcnQgKiBhcyBCb29raW5nQnRuIGZyb20gXCIuL21vZHVsZXMvYm9va2luZ0J1dHRvblwiO1xuaW1wb3J0ICogYXMgUGFyZW50IGZyb20gXCIuL21vZHVsZXMvcGFyZW50XCI7XG5yZXF1aXJlKFwiLi4vc3JjL2Nzcy9pbmplY3QuY3NzXCIpO1xuXG5sZXQgaW5wdXRzV2l0aFZhbHVlOiBJLklucHV0c1dpdGhWYWx1ZTtcblxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCAoKSA9PiB7XG4gICAgLy8gUGFyc2UgKGhpZGRlbikgaW5wdXRzIGFuZCB0aGVpciB2YWx1ZXNcbiAgICBjb25zdCBjb250ZW50OiBzdHJpbmcgPSBuZXcgWE1MU2VyaWFsaXplcigpLnNlcmlhbGl6ZVRvU3RyaW5nKGRvY3VtZW50KTtcbiAgICBpbnB1dHNXaXRoVmFsdWUgPSB7IC4uLmlucHV0c1dpdGhWYWx1ZSwgLi4uUGFyc2VyLmdldElucHV0cyhjb250ZW50KSB9O1xuXG4gICAgVXRpbHMuY29uc29sZUxvZyhpbnB1dHNXaXRoVmFsdWUpO1xuICAgIFV0aWxzLmNvbnNvbGVMb2coYHRyeHN0YXRlOiAke2lucHV0c1dpdGhWYWx1ZVtcInRyeHN0YXRlXCJdfWApO1xuXG4gICAgLy8gXCJwb3N0dXJsXCIgaW4gZnVuY3Rpb24gc2hvd01hcCgpIG9ubHkgYXZhaWxhYmxlIGlmIFwicHZtYXBzZVwiIFBWTyBjb2RlIGlzIHRydWUuXG4gICAgLy8gXCJwdm1hcHNlXCIgZmFsc2UgZGlzYWJsZXMgc2VhdG1hcFxuICAgIGNvbnN0IHBvc3R1cmxBdmFpbDogYm9vbGVhbiA9IC9wb3N0dXJsOlwiKC4rPylcIi8udGVzdChjb250ZW50KTtcblxuICAgIFV0aWxzLmNvbnNvbGVMb2coYHBvc3R1cmwgYXZhaWxhYmxlOiAke3Bvc3R1cmxBdmFpbH1gKTtcblxuICAgIC8vIE9ubHkgaW5qZWN0IG9uIHBhZ2Ugd2l0aCB0cnhzdGF0ZSAyMCBhbmQgaWYgc2VhdG1hcCBpcyBlbmFibGVkIHdpdGggUFZPIGNvZGUgXCJwdm1hcHNlXCJcbiAgICBpZiAoaW5wdXRzV2l0aFZhbHVlW1widHJ4c3RhdGVcIl0gIT09IFwiMjBcIiB8fCBwb3N0dXJsQXZhaWwgPT09IGZhbHNlKVxuICAgICAgICByZXR1cm47XG5cbiAgICAvLyBJbmplY3QgcGFyZW50IENTU1xuICAgIC8vIFBhcmVudCA9IHRyeHN0YXRlIDIwXG4gICAgUGFyZW50LmluamVjdFJlc291cmNlcygpO1xuXG4gICAgLy8gU3RhcnQgbWVzc2FnZSBoYW5kbGVyIHRvIGJlIGFibGUgdG8gcmVjZWl2ZSBtZXNzYWdlcyBmcm9tIGNoaWxkXG4gICAgQ29tbXVuaWNhdGlvbi5saXN0ZW5Ub01lc3NhZ2VzKG1lc3NhZ2VIYW5kbGVyKTtcblxuICAgIC8vIFdlIGFyZSBvbiB0cnhzdGF0ZSAyMCBwYWdlIHNvIGdldCBtb3JlIG5lZWRlZCBpbnB1dHNcbiAgICBpbnB1dHNXaXRoVmFsdWUgPSB7IC4uLmlucHV0c1dpdGhWYWx1ZSwgLi4uUGFyc2VyLmdldEFkZGl0aW9uYWxJbnB1dHMoY29udGVudCkgfTtcbiAgICBpbnB1dHNXaXRoVmFsdWUgPSB7IC4uLmlucHV0c1dpdGhWYWx1ZSwgLi4uUGFyc2VyLmdldFZlbnVlSW1hZ2UoKSB9O1xuICAgIGlucHV0c1dpdGhWYWx1ZSA9IHsgLi4uaW5wdXRzV2l0aFZhbHVlLCAuLi5QYXJzZXIuZ2V0SW1wb3J0YW50Tm90ZSgpIH07XG4gICAgaW5wdXRzV2l0aFZhbHVlW1wic21hcFwiXSA9IFBhcnNlci5nZXRTTUFQKCk7XG5cbiAgICAvLyBJbmplY3QgYW5kIHBvaW50IHNlYXRtYXAgYnV0dG9uIHRvIG5ldyBsb2NhdGlvblxuICAgIEJvb2tpbmdCdG4uaW5qZWN0Qm9va2luZ0J0bigpO1xuXG4gICAgLy8gQ3JlYXRlIGFuIGpRdWVyeSBkaWFsb2cgaW50byBhbiBpZnJhbWUgd2hpY2ggaXMgb3BlbmVkIG9uIGNsaWNraW5nIHNlYXRtYXAgYnV0dG9uXG4gICAgLy8gaHR0cHM6Ly9hcGkuanF1ZXJ5dWkuY29tL2RpYWxvZy9cbiAgICBVSS5jcmVhdGVEaWFsb2coKTtcblxuICAgIFV0aWxzLmNvbnNvbGVMb2coaW5wdXRzV2l0aFZhbHVlKTtcbn0pO1xuXG5mdW5jdGlvbiBtZXNzYWdlSGFuZGxlcihlOiBhbnkpIHtcbiAgICBpZiAodHlwZW9mIChlLmRhdGEpICE9PSAnc3RyaW5nJylcbiAgICAgICAgcmV0dXJuO1xuXG4gICAgY29uc3QgZGF0YTogSS5NZXNzYWdlID0gSlNPTi5wYXJzZShlLmRhdGEpO1xuXG4gICAgVXRpbHMuY29uc29sZUxvZyhgcGFyZW50OiByZWNlaXZlZCBmcm9tICR7ZGF0YS5mcm9tfWApO1xuICAgIFV0aWxzLmNvbnNvbGVMb2coZGF0YSk7XG5cbiAgICBzd2l0Y2ggKGRhdGEuZXZlbnQpIHtcbiAgICAgICAgY2FzZSBcImNoaWxkX2luaXRfbmVlZElucHV0c1dpdGhWYWx1ZVwiOiB7XG4gICAgICAgICAgICBQYXJlbnQuaW5pdE5lZWRJbnB1dHNXaXRoVmFsdWUoaW5wdXRzV2l0aFZhbHVlKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgXCJjaGlsZF9pbml0X25lZWRWZW51ZVhNTFwiOiB7XG4gICAgICAgICAgICBQYXJlbnQuaW5pdE5lZWRWZW51ZVhNTChpbnB1dHNXaXRoVmFsdWUpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBcImNoaWxkX25lZWRTZWF0bWFwWE1MXCI6IHtcbiAgICAgICAgICAgIFBhcmVudC5uZWVkU2VhdG1hcFhNTChlLCBpbnB1dHNXaXRoVmFsdWUpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBcImNoaWxkX3NlYXRtYXBfcmVhZHlcIjoge1xuICAgICAgICAgICAgVXRpbHMuY29uc29sZUxvZyhcImNoaWxkIGNvbXBsZXRlbHkgcmVhZHlcIik7XG4gICAgICAgICAgICBqUXVlcnkoXCIjY29udGFpbmVyQm9va2luZ0J0blwiKS5zaG93KCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFwiY2hpbGRfbmVlZENoZWNrb3V0UmVzcG9uc2VcIjoge1xuICAgICAgICAgICAgUGFyZW50Lm5lZWRDaGVja291dFJlc3BvbnNlKGUsIGlucHV0c1dpdGhWYWx1ZSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFwiY2hpbGRfaGlkZV9kaWFsb2dfdGl0bGViYXJcIjoge1xuICAgICAgICAgICAgalF1ZXJ5KFwiLnVpLWRpYWxvZy10aXRsZWJhclwiKS5oaWRlKCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFwiY2hpbGRfc2hvd19kaWFsb2dfdGl0bGViYXJcIjoge1xuICAgICAgICAgICAgalF1ZXJ5KFwiLnVpLWRpYWxvZy10aXRsZWJhclwiKS5zaG93KCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFwiY2hpbGRfY2xpY2tfY2hlY2tvdXRcIjoge1xuICAgICAgICAgICAgUGFyZW50LmNsaWNrQ2hlY2tvdXQoZSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFwiY2hpbGRfY2xvc2VEaWFsb2dcIjoge1xuICAgICAgICAgICAgalF1ZXJ5KFwiLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZVwiKS5jbGljaygpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGJyZWFrO1xuICAgIH1cbn0iLCJpbXBvcnQgKiBhcyBDb21tdW5pY2F0aW9uIGZyb20gXCIuL2NvbW11bmljYXRpb25cIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdEJvb2tpbmdCdG4oKTogdm9pZCB7XG4gICAgalF1ZXJ5KFwiLmZsYXNoX3NlYXRfbWFwX2JveFwiKS5yZW1vdmUoKTtcbiAgICBjaGFuZ2VCb29raW5nQnRuQ1NTKCk7XG4gICAgYXBwZW5kQm9va2luZ0J0bkhUTUwoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNob3dTZWF0bWFwQnRuUGFyZW50KCk6IHZvaWQge1xuICAgIENvbW11bmljYXRpb24uc2VuZEV2ZW50VG9QYXJlbnQoXCJjaGlsZF9zZWF0bWFwX3JlYWR5XCIpO1xufVxuXG5mdW5jdGlvbiBhcHBlbmRCb29raW5nQnRuSFRNTCgpOiB2b2lkIHtcbiAgICBqUXVlcnkoXCIjZmxhc2hfc2VhdF9tYXBfYm94X2lkXCIpLmFwcGVuZChgXG4gICAgPGRpdiBjbGFzcz1cInJvd19zcGFjZVwiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJyb3dfc3BhY2VcIj48L2Rpdj5cbiAgICA8ZGl2IGlkPVwiY29udGFpbmVyQm9va2luZ0J0blwiPlxuICAgICAgICA8YSBjbGFzcz1cImNvbnRpbnVlXCIgaWQ9XCJvcGVuU2VhdG1hcFwiPlxuICAgICAgICAgICAgPHNwYW4+U2FhbHBsYW5idWNodW5nPC9zcGFuPlxuICAgICAgICA8L2E+XG4gICAgICAgIDxkaXYgaWQ9XCJkaWFsb2dTZWF0bWFwXCIgaGlkZGVuPVwiaGlkZGVuXCI+PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgYCk7XG59XG5cbmZ1bmN0aW9uIGNoYW5nZUJvb2tpbmdCdG5DU1MoKTogdm9pZCB7XG4gICAgalF1ZXJ5KCcjZmxhc2hfc2VhdF9tYXBfYm94X2lkJykuY3NzKHtcbiAgICAgICAgXCJkaXNwbGF5XCI6IFwiYmxvY2tcIixcbiAgICAgICAgXCJwb3NpdGlvblwiOiBcInJlbGF0aXZlXCIsXG4gICAgICAgIFwid2lkdGhcIjogXCIxMDAlXCJcbiAgICB9KTtcbn0iLCJpbXBvcnQgKiBhcyBYTUxIZWxwZXIgZnJvbSBcIi4veG1saGVscGVyXCI7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcbmltcG9ydCAqIGFzIEkgZnJvbSBcIi4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgKiBhcyBFdmVudHMgZnJvbSBcIi4vZXZlbnRzXCI7XG5pbXBvcnQgKiBhcyBDYXJ0QnV0dG9ucyBmcm9tIFwiLi9jYXJ0QnV0dG9uc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gYWRkSXRlbShpblNlYXRPYmo6IEkuSlNDU2VsZWN0ZWRTZWF0KTogdm9pZCB7IFxuICAgIGNvbnN0IGNvbG9yOiBzdHJpbmcgPSBgIyR7WE1MSGVscGVyLmdldFZlbnVlUHJpY2VzY2FsZVByb3BlcnR5QnlQcmljZXNjYWxlSUQoXCJjb2xvclwiLCBpblNlYXRPYmouZGF0YS5zZWF0c09iai5pZFswXSl9YDtcbiAgICBjb25zdCBjYXRlZ29yeTogc3RyaW5nIHwgdW5kZWZpbmVkID0gWE1MSGVscGVyLmdldFZlbnVlUHJpY2VzY2FsZVByb3BlcnR5QnlQcmljZXNjYWxlSUQoXCJkZXNjXCIsIGluU2VhdE9iai5kYXRhLnNlYXRzT2JqLmlkWzBdKTtcbiAgICBjb25zdCBzZWF0OiBzdHJpbmcgPSBjb25maWcuc3RhdGUubGF5b3V0Um93c1tpblNlYXRPYmouaWRdWzVdO1xuICAgIGNvbnN0IHJvdzogc3RyaW5nID0gY29uZmlnLnN0YXRlLmxheW91dFJvd3NbaW5TZWF0T2JqLmlkXVs0XTtcbiAgICBjb25zdCBzZWN0aW9uSUQ6IHN0cmluZyA9IGNvbmZpZy5zdGF0ZS5sYXlvdXRSb3dzW2luU2VhdE9iai5pZF1bM107XG4gICAgY29uc3Qgc2VjdGlvbkRlc2M6IHN0cmluZyB8IHVuZGVmaW5lZCA9IFhNTEhlbHBlci5nZXRTZWN0aW9uRGVzY0J5U2VjdGlvbklEKHNlY3Rpb25JRCk7XG4gICAgY29uc3Qgc2VhdFN0cjogc3RyaW5nIHwgdW5kZWZpbmVkID0gYCR7c2VjdGlvbkRlc2N9PGJyLz5SZWloZSAke3Jvd30gUGxhdHogJHtzZWF0fWA7XG4gICAgY29uc3QgYnV5ZXJUeXBlczogSS5UeXBlQnV5ZXJUeXBlID0gWE1MSGVscGVyLmdldEJ1eWVyVHlwZXNCeVByaWNlc2NhbGVJRChpblNlYXRPYmouZGF0YS5zZWF0c09iai5pZFswXSk7XG4gICAgY29uc3QgY2FydElEOiBzdHJpbmcgPSBgY2FydEl0ZW0tJHtpblNlYXRPYmouaWR9YDtcbiAgICBjb25zdCBkcm9wZG93bkJ1eWVyVHlwZXNTZWxlY3Rvcjogc3RyaW5nID0gYCMke2NhcnRJRH0gLmRyb3Bkb3duQnV5ZXJUeXBlc2A7XG5cbiAgICBhcHBlbmRIVE1MKGNhcnRJRCwgY29sb3IsIGNhdGVnb3J5LCBzZWF0U3RyKTtcbiAgICBhZGREcm9wZG93bkJ1eWVyVHlwZU9wdGlvbnMoYnV5ZXJUeXBlcywgZHJvcGRvd25CdXllclR5cGVzU2VsZWN0b3IpO1xuICAgIEV2ZW50cy5hZGRDYXJ0RHJvcGRvd25CdXllclR5cGVzKGRyb3Bkb3duQnV5ZXJUeXBlc1NlbGVjdG9yLCBpblNlYXRPYmopO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlQ2FydEl0ZW1zKCk6IHZvaWQge1xuICAgIGpRdWVyeShcIiNjYXJ0SXRlbUhUTUwgLmNhcnRJdGVtXCIpLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLnJlbW92ZSgpO1xuICAgIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2hhbmdlZERyb3Bkb3duQnV5ZXJUeXBlKGluU2VsZWN0OiBIVE1MU2VsZWN0RWxlbWVudCwgaW5TZWF0T2JqOiBJLkpTQ1NlbGVjdGVkU2VhdCk6IHZvaWQge1xuICAgIGNvbnN0IGluZGV4OiBudW1iZXIgPSBjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c0Fyci5maW5kSW5kZXgoYXJyID0+XG4gICAgICAgIGFyclswXSA9PT0gaW5TZWF0T2JqLmlkKTtcblxuICAgIGNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzQXJyW2luZGV4XVsxXSA9IGluU2VsZWN0LnZhbHVlO1xuICAgIGNvbnN0IGJ1eWVyVHlwZUNvZGUgPSBYTUxIZWxwZXIuZ2V0QnV5ZXJUeXBlQ29kZUJ5QnV5ZXJUeXBlSUQoaW5TZWxlY3QudmFsdWUpO1xuXG4gICAgaWYgKGJ1eWVyVHlwZUNvZGUpXG4gICAgICAgIGNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzQXJyW2luZGV4XVsyXSA9IGJ1eWVyVHlwZUNvZGU7XG5cbiAgICBjYWxjT3ZlcmFsbFByaWNlKCk7XG4gICAgQ2FydEJ1dHRvbnMuc2V0QnRuQ2FydFRleHQoKTtcblxuICAgIGNvbnN0IHVybCA9IGdlbmVyYXRlQ2hlY2tvdXRVcmwoKTtcbiAgICBFdmVudHMuYWRkUmVkaXJlY3RDaGVja291dCh1cmwpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2FsY092ZXJhbGxQcmljZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICghY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNBcnIubGVuZ3RoKSB7XG4gICAgICAgIGNvbmZpZy5zdGF0ZS5wcmljZU92ZXJhbGwgPSBcIjBcIjtcbiAgICAgICAgcmV0dXJuIFwiMFwiO1xuICAgIH1cblxuICAgIGNvbmZpZy5zdGF0ZS5wcmljZU92ZXJhbGwgPSBzdW1TZWF0UHJpY2VzKCk7XG4gICAgcmV0dXJuIGNvbmZpZy5zdGF0ZS5wcmljZU92ZXJhbGw7XG59XG5cblxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlQ2FydEl0ZW1zKCk6IHZvaWQge1xuICAgIGlmICghY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNBcnIubGVuZ3RoKVxuICAgICAgICByZXR1cm47XG5cbiAgICBmb3IgKGNvbnN0IGtleSBpbiBjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c09iaikge1xuICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzT2JqLCBrZXkpKSB7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNPYmpba2V5XTtcbiAgICAgICAgICAgIGFkZEl0ZW0oZWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0TW9kYWxDYXJ0KCk6IHZvaWQge1xuICAgIGpRdWVyeShcIiNtb2RhbENhcnQtb3ZlcmxheVwiKS5oaWRlKCk7XG4gICAgRXZlbnRzLmFkZENhcnRCYWNrKCk7XG4gICAgRXZlbnRzLmFkZENhcnRDbG9zZSgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVDaGVja291dFVybCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICghY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNBcnIubGVuZ3RoKVxuICAgICAgICByZXR1cm47XG5cbiAgICBjb25zdCBpbnB1dHNXaXRoVmFsdWUgPSBjb25maWcuc3RhdGUuaW5wdXRzV2l0aFZhbHVlITtcbiAgICBjb25zdCBzZWxlY3RlZFNlYXRJbmRleGVzOiBzdHJpbmcgPSBYTUxIZWxwZXIuZ2VuZXJhdGVTZWxlY3RlZFNlYXRJbmRleGVzKCk7XG4gICAgcmV0dXJuIGAke2lucHV0c1dpdGhWYWx1ZVtcInRpY2tldFB1cmNoYXNlVXJsXCJdfT91c2VyX2NvbnRleHQ9JHtpbnB1dHNXaXRoVmFsdWUudXNlcl9jb250ZXh0fSZwaWQ9JHtpbnB1dHNXaXRoVmFsdWVbXCJwaWRcIl19JnNlbGVjdGVkX3NlYXRfaW5kZXhlcz0ke3NlbGVjdGVkU2VhdEluZGV4ZXN9JnRyeHN0YXRlPTE0OGA7XG59XG5cbmZ1bmN0aW9uIGFwcGVuZEhUTUwoaW5DYXJ0SUQ6IHN0cmluZywgaW5Db2xvcjogc3RyaW5nLCBpbkNhdGVnb3J5OiBzdHJpbmcgfCB1bmRlZmluZWQsIGluU2VhdFN0cjogc3RyaW5nKTogdm9pZCB7XG4gICAgalF1ZXJ5KFwiI2NhcnRJdGVtSFRNTCAuZmwtaHRtbFwiKS5hcHBlbmQoYFxuICAgIDxkaXYgY2xhc3M9XCJjYXJ0SXRlbVwiIGlkPVwiJHtpbkNhcnRJRH1cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcnRJdGVtQ29sb3JlZFNxdWFyZVwiIHN0eWxlPVwiYmFja2dyb3VuZDogJHtpbkNvbG9yfTtcIj48L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcnRJdGVtQ2F0ZWdvcnlcIj4ke2luQ2F0ZWdvcnl9PC9kaXY+XG4gICAgICAgIDxoNSBjbGFzcz1cImNhcnRJdGVtU2VhdFwiPiR7aW5TZWF0U3RyfTwvaDU+XG4gICAgICAgIDxzZWxlY3QgbmFtZT1cImRyb3Bkb3duQnV5ZXJUeXBlc1wiIGNsYXNzPVwiZHJvcGRvd25CdXllclR5cGVzXCI+PC9zZWxlY3Q+XG4gICAgPC9kaXY+YCk7XG59XG5cbi8vIHRvZG86IGdlbmVyYWxpemUgZHJvcGRvd24gZmlsbCBvcHRpb25zXG5mdW5jdGlvbiBhZGREcm9wZG93bkJ1eWVyVHlwZU9wdGlvbnMoaW5CdXllclR5cGVzOiBJLlR5cGVCdXllclR5cGUsIGluU2VsZWN0b3I6IHN0cmluZykge1xuICAgIGlmICghaW5CdXllclR5cGVzKVxuICAgICAgICByZXR1cm47XG5cbiAgICBpbkJ1eWVyVHlwZXMuZm9yRWFjaChhcnIgPT4geyAgICAgICAgXG4gICAgICAgIGlmIChhcnJbMF0pXG4gICAgICAgICAgICBhcHBlbmRPcHRpb24oaW5TZWxlY3RvciwgYXJyKVxuICAgIH0pO1xufVxuXG5mdW5jdGlvbiBhcHBlbmRPcHRpb24oaW5TZWxlY3Rvcjogc3RyaW5nLCBpbkFycjogSS5UeXBlQnV5ZXJUeXBlQXJyKTogdm9pZCB7XG4gICAgY29uc3QgZHJvcGRvd25CdXllclR5cGVzOiBIVE1MRWxlbWVudCA9IGpRdWVyeShpblNlbGVjdG9yKS5nZXQoMCk7XG4gICAgbGV0IG9wdDogSFRNTE9wdGlvbkVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdvcHRpb24nKTtcbiAgICBvcHQudmFsdWUgPSA8c3RyaW5nPmluQXJyWzBdO1xuICAgIG9wdC5pbm5lckhUTUwgPSBgJHtpbkFyclsyXX0g4oKsJHtpbkFyclsxXX1gO1xuICAgIGRyb3Bkb3duQnV5ZXJUeXBlcy5hcHBlbmRDaGlsZChvcHQpO1xufVxuXG5mdW5jdGlvbiBzdW1TZWF0UHJpY2VzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzQXJyLm1hcChnZXRTZWF0UHJpY2UpXG4gICAgICAgIC5yZWR1Y2UoKHByZXYsIGN1cnIpID0+IHByZXYgKyBjdXJyKVxuICAgICAgICAudG9GaXhlZCgyKTtcbn1cblxuZnVuY3Rpb24gZ2V0U2VhdFByaWNlKGFycjogc3RyaW5nW10pIHtcbiAgICBjb25zdCBzZWF0SUQ6IHN0cmluZyA9IGFyclswXTtcbiAgICAgICAgY29uc3QgYnV5ZXJ0eXBlSUQ6IHN0cmluZyA9IGFyclsxXTtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRTZWF0OiBJLkpTQ1NlbGVjdGVkU2VhdCA9IGNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzT2JqW3NlYXRJRF07XG4gICAgICAgIGNvbnN0IHByaWNlc2NhbGVJRDogc3RyaW5nID0gc2VsZWN0ZWRTZWF0LmRhdGEuc2VhdHNPYmouaWRbMF07XG4gICAgICAgIGNvbnN0IHByaWNlc2NhbGVPYmo6IEkuUHJpY2VzY2FsZTUgfCB1bmRlZmluZWQgPSBYTUxIZWxwZXIuZ2V0VmVudWVQcmljZVN0cnVjdHVyZVByb3BlcnR5QnlQcmljZXNjYWxlSUQocHJpY2VzY2FsZUlEKTtcblxuICAgICAgICBpZiAocHJpY2VzY2FsZU9iaikge1xuICAgICAgICAgICAgY29uc3Qgc2VhdFByaWNlOiBudW1iZXIgfCB1bmRlZmluZWQgPSBYTUxIZWxwZXIuZ2V0UHJpY2VCeUJ1eWVyVHlwZUlEKGJ1eWVydHlwZUlELCBwcmljZXNjYWxlT2JqKTtcblxuICAgICAgICAgICAgaWYgKHNlYXRQcmljZSlcbiAgICAgICAgICAgICAgICByZXR1cm4gc2VhdFByaWNlOyAgIFxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIDA7XG59IiwiaW1wb3J0IHsgY29uZmlnIH0gZnJvbSBcIi4vY29uZmlnXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRCdG5DYXJ0VGV4dCgpOiB2b2lkIHtcbiAgICBqUXVlcnkoXCIjbW9kYWxDYXJ0IC51YWJiLWJ1dHRvbi10ZXh0XCIpWzBdLmlubmVyVGV4dCA9IGNyZWF0ZUNhcnRCdG5UZXh0KCk7XG4gICAgalF1ZXJ5KFwiI21vZGFsQ2FydFN1bSAudWFiYi1oZWFkaW5nLXRleHRcIilbMF0udGV4dENvbnRlbnQgPSBjcmVhdGVNb2RhbENhcnRCdG5UZXh0KCk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUNhcnRCdG5UZXh0KCk6IHN0cmluZyB7XG4gICAgY29uc3QgbnVtVGlja2V0czogbnVtYmVyID0gY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNBcnIubGVuZ3RoO1xuXG4gICAgaWYgKGNvbmZpZy5zdGF0ZS5wcmljZU92ZXJhbGwgIT09IFwiXCIpXG4gICAgICAgIHJldHVybiBudW1UaWNrZXRzID09PSAxID8gYCR7bnVtVGlja2V0c30gVGlja2V0IGbDvHIg4oKsJHtjb25maWcuc3RhdGUucHJpY2VPdmVyYWxsfWAgOiBgJHtudW1UaWNrZXRzfSBUaWNrZXRzIGbDvHIg4oKsJHtjb25maWcuc3RhdGUucHJpY2VPdmVyYWxsfWA7XG4gICAgZWxzZSBcbiAgICAgICAgcmV0dXJuIFwiMCBUaWNrZXRzIGbDvHIg4oKsMC4wMFwiOyAgICBcbn1cblxuZnVuY3Rpb24gY3JlYXRlTW9kYWxDYXJ0QnRuVGV4dCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IG51bVRpY2tldHM6IG51bWJlciA9IGNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzQXJyLmxlbmd0aDtcblxuICAgIGlmIChjb25maWcuc3RhdGUucHJpY2VPdmVyYWxsICE9PSBcIlwiKVxuICAgICAgICByZXR1cm4gYFN1bW1lICgke251bVRpY2tldHN9IFBsw6R0emUpIOKCrCR7Y29uZmlnLnN0YXRlLnByaWNlT3ZlcmFsbH1gO1xuICAgIGVsc2VcbiAgICAgICAgcmV0dXJuIGBTdW1tZSAoMCBQbMOkdHplKSDigqwwLDAwYDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNob3dIaWRlQnRuQ2FydExvYWRpbmcoaW5Td2l0Y2g6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChpblN3aXRjaCA9PT0gXCJzaG93XCIpIHtcbiAgICAgICAgalF1ZXJ5KFwiI21vZGFsQ2FydCAudWFiYi1idXR0b25cIikuY3NzKFwicG9pbnRlci1ldmVudHNcIiwgXCJub25lXCIpO1xuICAgICAgICBqUXVlcnkoXCIjbW9kYWxDYXJ0IGlcIikuaGlkZSgpO1xuICAgICAgICBqUXVlcnkoXCIjbW9kYWxDYXJ0IC51YWJiLWJ1dHRvbi10ZXh0XCIpLmFkZENsYXNzKFwiZG90LXB1bHNlXCIpO1xuICAgIH1cbiAgICBlbHNlIGlmIChpblN3aXRjaCA9PT0gXCJoaWRlXCIpIHtcbiAgICAgICAgalF1ZXJ5KFwiI21vZGFsQ2FydCBpXCIpLnNob3coKTtcbiAgICAgICAgalF1ZXJ5KFwiI21vZGFsQ2FydCAudWFiYi1idXR0b24tdGV4dFwiKS5yZW1vdmVDbGFzcyhcImRvdC1wdWxzZVwiKTtcbiAgICAgICAgalF1ZXJ5KFwiI21vZGFsQ2FydCAudWFiYi1idXR0b25cIikuY3NzKFwicG9pbnRlci1ldmVudHNcIiwgXCJhbGxcIik7XG4gICAgfVxufSIsImltcG9ydCAqIGFzIEkgZnJvbSBcIi4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgYXhpb3MsIHsgQXhpb3NSZXNwb25zZSB9IGZyb20gJ2F4aW9zJztcbmNvbnN0IHhtbDJqc1BhcnNlciA9IHJlcXVpcmUoJ3htbDJqcycpLnBhcnNlU3RyaW5nO1xuaW1wb3J0ICogYXMgVUkgZnJvbSBcIi4vdWlcIjtcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gXCIuL2NvbmZpZ1wiO1xuaW1wb3J0ICogYXMgQ2FydCBmcm9tIFwiLi9jYXJ0XCI7XG5pbXBvcnQgVXRpbHMgZnJvbSAnLi91dGlscydcblxuLy8gcmV3b3JrIHRyeS9jYXRjaCA/XG5leHBvcnQgZnVuY3Rpb24gc2VuZE1lc3NhZ2UoaW5EYXRhOiBJLk1lc3NhZ2UsIGluVG86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChpblRvID09PSBcInBhcmVudFwiKVxuICAgICAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKEpTT04uc3RyaW5naWZ5KGluRGF0YSksICcqJyk7XG4gICAgZWxzZSB7XG4gICAgICAgIGNvbnN0IGNoaWxkOiBhbnkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpblRvKTtcblxuICAgICAgICBpZiAoY2hpbGQgIT09IG51bGwgJiYgY2hpbGQuY29udGVudFdpbmRvdyAhPT0gbnVsbClcbiAgICAgICAgICAgIGNoaWxkLmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoaW5EYXRhKSwgXCIqXCIpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxpc3RlblRvTWVzc2FnZXMoaW5IYW5kbGVyOiBDYWxsYWJsZUZ1bmN0aW9uKTogdm9pZCB7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCAoZTogYW55KTogdm9pZCA9PiB7XG4gICAgICAgIGluSGFuZGxlcihlKTtcbiAgICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNlbmRYTUwoaW5Vcmw6IHN0cmluZywgaW5Ubzogc3RyaW5nLCBpbkV2ZW50OiBzdHJpbmcsIGluRnJvbTogc3RyaW5nLCBpbkRhdGU6IG51bWJlciA9IERhdGUubm93KCkpOiB2b2lkIHtcbiAgICBnZXRYTUxQcm9taXNlKGluVXJsKS50aGVuKChyZXN1bHQ6IHVua25vd24pOiB2b2lkID0+IHtcbiAgICAgICAgY29uc3QgbWVzc2FnZTogSS5NZXNzYWdlID0ge1xuICAgICAgICAgICAgZGF0ZTogaW5EYXRlLFxuICAgICAgICAgICAgZnJvbTogaW5Gcm9tLFxuICAgICAgICAgICAgbWVzc2FnZTogcmVzdWx0LFxuICAgICAgICAgICAgZXZlbnQ6IGluRXZlbnRcbiAgICAgICAgfVxuICAgICAgICBzZW5kTWVzc2FnZShtZXNzYWdlLCBpblRvKTtcbiAgICB9KVxuICAgICAgICAuY2F0Y2goZnVuY3Rpb24gKGVycikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgICAgICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNlbmRFdmVudFRvQ2hpbGQoaW5FdmVudDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgbWVzc2FnZTogSS5NZXNzYWdlID0ge1xuICAgICAgICBtZXNzYWdlOiBudWxsLFxuICAgICAgICBmcm9tOiBcInBhcmVudFwiLFxuICAgICAgICBldmVudDogaW5FdmVudCxcbiAgICAgICAgZGF0ZTogRGF0ZS5ub3coKVxuICAgIH07XG4gICAgc2VuZE1lc3NhZ2UobWVzc2FnZSwgXCJpZnJhbWVTZWF0bWFwXCIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2VuZEV2ZW50VG9QYXJlbnQoaW5FdmVudDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgbWVzc2FnZTogSS5NZXNzYWdlID0ge1xuICAgICAgICBtZXNzYWdlOiBudWxsLFxuICAgICAgICBmcm9tOiBcImNoaWxkXCIsXG4gICAgICAgIGV2ZW50OiBpbkV2ZW50LFxuICAgICAgICBkYXRlOiBEYXRlLm5vdygpXG4gICAgfTtcbiAgICBzZW5kTWVzc2FnZShtZXNzYWdlLCBcInBhcmVudFwiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5lZWRTZWF0bWFwWE1MKGluSUQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IG1lc3NhZ2U6IEkuTWVzc2FnZSA9IHtcbiAgICAgICAgbWVzc2FnZTogaW5JRCxcbiAgICAgICAgZnJvbTogXCJjaGlsZFwiLFxuICAgICAgICBldmVudDogXCJjaGlsZF9uZWVkU2VhdG1hcFhNTFwiLFxuICAgICAgICBkYXRlOiBEYXRlLm5vdygpXG4gICAgfTtcbiAgICBzZW5kTWVzc2FnZShtZXNzYWdlLCBcInBhcmVudFwiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNhbmNlbENoZWNrb3V0KGluVXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAvLyB1c2UgZmV0Y2ggaW5zdGVhZCBvZiBheGlvcyBiZWNhdXNlIG9mIDMwMiByZWRpcmVjdFxuICAgIC8vIHNlZSBodHRwczovL2dpdGh1Yi5jb20vYXhpb3MvYXhpb3MvaXNzdWVzLzkzMlxuICAgIGZldGNoKGluVXJsLCB7XG4gICAgICAgIHJlZGlyZWN0OiBcIm1hbnVhbFwiXG4gICAgfSlcbiAgICAgICAgLnRoZW4oKCkgPT4gVXRpbHMuY29uc29sZUxvZyhgJHtpblVybH0gY2FuY2VsZWRgKSlcbiAgICAgICAgLmNhdGNoKChlcnJvcikgPT4gVXRpbHMuY29uc29sZUxvZyhlcnJvcikpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZFNlYXRTZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgalF1ZXJ5KFwiI21vZGFsQ2FydC1vdmVybGF5XCIpLmhpZGUoKTtcblxuICAgIGlmICghY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNBcnIubGVuZ3RoKVxuICAgICAgICByZXR1cm47XG5cbiAgICBVSS5hZGp1c3RVSVRvTG9hZGluZygpO1xuICAgIGNvbnN0IHVybDogc3RyaW5nIHwgdW5kZWZpbmVkID0gQ2FydC5nZW5lcmF0ZUNoZWNrb3V0VXJsKCk7XG5cbiAgICBjb25zdCBtZXNzYWdlOiBJLk1lc3NhZ2UgPSB7XG4gICAgICAgIG1lc3NhZ2U6IHtcbiAgICAgICAgICAgIHVybDogdXJsLFxuICAgICAgICB9LFxuICAgICAgICBmcm9tOiBcImNoaWxkXCIsXG4gICAgICAgIGV2ZW50OiBcImNoaWxkX25lZWRDaGVja291dFJlc3BvbnNlXCIsXG4gICAgICAgIGRhdGU6IERhdGUubm93KClcbiAgICB9O1xuXG4gICAgc2VuZE1lc3NhZ2UobWVzc2FnZSwgXCJwYXJlbnRcIik7XG59XG5cbmZ1bmN0aW9uIGdldFhNTFByb21pc2UoaW5Vcmw6IHN0cmluZyk6IFByb21pc2U8dW5rbm93bj4ge1xuICAgIHJldHVybiBheGlvcy5nZXQoaW5VcmwpXG4gICAgICAgIC50aGVuKChyZXNwb25zZTogdm9pZCB8IEF4aW9zUmVzcG9uc2U8YW55PikgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBhbnksIHJlamVjdDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgQXhpb3NSZXNwb25zZSA9IDxBeGlvc1Jlc3BvbnNlPnJlc3BvbnNlO1xuICAgICAgICAgICAgICAgIGlmIChBeGlvc1Jlc3BvbnNlLnN0YXR1cyA9PT0gMjAwICYmIEF4aW9zUmVzcG9uc2UuaGVhZGVyc1tcImNvbnRlbnQtdHlwZVwiXSA9PT0gXCJ0ZXh0L3htbDtjaGFyc2V0PXV0Zi04XCIpIHtcbiAgICAgICAgICAgICAgICAgICAgeG1sMmpzUGFyc2VyKEF4aW9zUmVzcG9uc2UuZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgbm9ybWFsaXplVGFnczogdHJ1ZSwgbm9ybWFsaXplOiB0cnVlLCBtZXJnZUF0dHJzOiB0cnVlIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAoZXJyOiBhbnksIHJlc3VsdDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGVycik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKChlcnJvcikgPT4gVXRpbHMuY29uc29sZUxvZyhlcnJvcikpO1xufSIsImltcG9ydCAqIGFzIEkgZnJvbSBcIi4uL3R5cGVzL3R5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBjb25maWc6IEkuQ29uZmlnID0ge1xuICAgIGNoaWxkSGFzVmVudWVYTUw6IGZhbHNlLFxuICAgIGRlYnVnOiB0cnVlLFxuICAgIGJyYW5jaDogXCJtYXN0ZXJcIixcbiAgICB2ZXJzaW9uOiBcIjAuMC4xXCIsXG4gICAgbWF4U2VsZWN0ZWRTZWF0czogMTAsXG4gICAgcmVzb3VyY2VzOiB7XG4gICAgICAgIG1hc3Rlcjoge1xuICAgICAgICAgICAgc2VhdG1hcDogXCJodHRwczovL3RpY2tldHMuemlub21lZGlhLmRlXCIsXG4gICAgICAgICAgICBKU0M6IFwiaHR0cHM6Ly90aWNrZXRzLnppbm9tZWRpYS5kZS9saWJzL2pRdWVyeS1TZWF0LUNoYXJ0cy9qcXVlcnkuc2VhdC1jaGFydHMubWluLmpzXCIsXG4gICAgICAgICAgICBDU1NDaGlsZDogXCJodHRwczovL3RpY2tldHMuemlub21lZGlhLmRlL2Rpc3Qvc2VhdG1hcC5jc3NcIixcbiAgICAgICAgICAgIENTU0pTQzogXCJodHRwczovL3RpY2tldHMuemlub21lZGlhLmRlL2xpYnMvalF1ZXJ5LVNlYXQtQ2hhcnRzL2pxdWVyeS5zZWF0LWNoYXJ0cy5jc3NcIixcbiAgICAgICAgICAgIENTU1BhcmVudDogXCJodHRwczovL3RpY2tldHMuemlub21lZGlhLmRlL2Rpc3QvaW5qZWN0LmNzc1wiLFxuICAgICAgICAgICAgQ1NTalF1ZXJ5VUk6IFwiaHR0cHM6Ly9jb2RlLmpxdWVyeS5jb20vdWkvMS4xMi4xL3RoZW1lcy9iYXNlL2pxdWVyeS11aS5jc3NcIixcbiAgICAgICAgICAgIENTU2pCb3g6IFwiaHR0cHM6Ly90aWNrZXRzLnppbm9tZWRpYS5kZS9kaXN0L2pCb3guYWxsLm1pbi5jc3NcIlxuICAgICAgICB9LFxuICAgICAgICBzdGFnaW5nOiB7XG4gICAgICAgICAgICBzZWF0bWFwOiBcImh0dHBzOi8vc3RhZ2luZy50aWNrZXRzLnppbm9tZWRpYS5kZVwiLFxuICAgICAgICAgICAgSlNDOiBcImh0dHBzOi8vc3RhZ2luZy50aWNrZXRzLnppbm9tZWRpYS5kZS9saWJzL2pRdWVyeS1TZWF0LUNoYXJ0cy9qcXVlcnkuc2VhdC1jaGFydHMubWluLmpzXCIsXG4gICAgICAgICAgICBDU1NDaGlsZDogXCJodHRwczovL3N0YWdpbmcudGlja2V0cy56aW5vbWVkaWEuZGUvZGlzdC9zZWF0bWFwLmNzc1wiLFxuICAgICAgICAgICAgQ1NTSlNDOiBcImh0dHBzOi8vc3RhZ2luZy50aWNrZXRzLnppbm9tZWRpYS5kZS9saWJzL2pRdWVyeS1TZWF0LUNoYXJ0cy9qcXVlcnkuc2VhdC1jaGFydHMuY3NzXCIsXG4gICAgICAgICAgICBDU1NQYXJlbnQ6IFwiaHR0cHM6Ly9zdGFnaW5nLnRpY2tldHMuemlub21lZGlhLmRlL2Rpc3QvaW5qZWN0LmNzc1wiLFxuICAgICAgICAgICAgQ1NTalF1ZXJ5VUk6IFwiaHR0cHM6Ly9jb2RlLmpxdWVyeS5jb20vdWkvMS4xMi4xL3RoZW1lcy9iYXNlL2pxdWVyeS11aS5jc3NcIixcbiAgICAgICAgICAgIENTU2pCb3g6IFwiaHR0cHM6Ly9zdGFnaW5nLnRpY2tldHMuemlub21lZGlhLmRlL2Rpc3QvakJveC5hbGwubWluLmNzc1wiXG4gICAgICAgIH1cbiAgICB9LFxuICAgIHN0YXRlOiB7XG4gICAgICAgIHByaWNlT3ZlcmFsbDogXCJcIixcbiAgICAgICAgY2FydENoYW5nZWQ6IGZhbHNlLFxuICAgICAgICBzZWxlY3RlZFNlYXRzQXJyOiBbXSxcbiAgICAgICAgc2VsZWN0ZWRTZWF0c09iajoge30sXG4gICAgICAgIGxheW91dFJvd3M6IHt9LFxuICAgICAgICBpc1ZhbGlkU2VhdFNlbGVjdGlvbjogZmFsc2UsXG4gICAgICAgIGlucHV0c1dpdGhWYWx1ZTogdW5kZWZpbmVkLFxuICAgICAgICBzZWF0bWFwOiB1bmRlZmluZWQsXG4gICAgICAgIHBhbnpvb206IHVuZGVmaW5lZCxcbiAgICAgICAgaW5WZW51ZVhNTDogdW5kZWZpbmVkLFxuICAgICAgICBzZWF0bWFwWE1MOiB1bmRlZmluZWQsXG4gICAgfVxufSIsImltcG9ydCAqIGFzIENvbW11bmljYXRpb24gZnJvbSBcIi4vY29tbXVuaWNhdGlvblwiO1xuaW1wb3J0ICogYXMgVUkgZnJvbSBcIi4vdWlcIjtcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gXCIuL2NvbmZpZ1wiO1xuaW1wb3J0ICogYXMgSSBmcm9tIFwiLi4vdHlwZXMvdHlwZXNcIjtcbmltcG9ydCAqIGFzIEpTQyBmcm9tIFwiLi9qc2NcIjtcbmltcG9ydCAqIGFzIENhcnQgZnJvbSBcIi4vY2FydFwiO1xuaW1wb3J0ICogYXMgTGVnZW5kIGZyb20gXCIuL2xlZ2VuZFwiO1xuaW1wb3J0ICogYXMgakJveEhlbHBlciBmcm9tIFwiLi9qQm94SGVscGVyXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRDbG9zZU1vZGFsKCk6IHZvaWQge1xuICAgIGNvbnN0IGJ0bkNsb3NlTW9kYWw6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkID0galF1ZXJ5KFwiI2J0bkNsb3NlTW9kYWxcIikuZ2V0KDApO1xuICAgIGlmIChidG5DbG9zZU1vZGFsKVxuICAgICAgICBidG5DbG9zZU1vZGFsLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCAoKSA9PiBDb21tdW5pY2F0aW9uLnNlbmRFdmVudFRvUGFyZW50KFwiY2hpbGRfY2xvc2VEaWFsb2dcIikpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWRkRHJvcGRvd25TZWF0bWFwKCk6IHZvaWQge1xuICAgIGNvbnN0IGRyb3Bkb3duU2VhdG1hcDogSFRNTEVsZW1lbnQgfCBudWxsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJkcm9wZG93blNlYXRtYXBcIik7XG5cbiAgICBpZiAoZHJvcGRvd25TZWF0bWFwKSB7XG4gICAgICAgIGRyb3Bkb3duU2VhdG1hcC5hZGRFdmVudExpc3RlbmVyKFwiY2hhbmdlXCIsIGZ1bmN0aW9uICh0aGlzOiBIVE1MU2VsZWN0RWxlbWVudCkge1xuICAgICAgICAgICAgVUkuY29udHJvbExvZnRsb2FkZXIoXCJzaG93XCIpOyAvLyB0b2RvOiByZXdyaXRlP1xuICAgICAgICAgICAgVUkuZGVzdHJveUN1cnJlbnRTZWF0bWFwKFwiI2NvbnRhaW5lclNlYXRtYXBJbm5lclwiKTtcbiAgICAgICAgICAgIENvbW11bmljYXRpb24ubmVlZFNlYXRtYXBYTUwodGhpcy52YWx1ZSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFkZE1vZGFsQ2FydCgpOiB2b2lkIHtcbiAgICBjb25zdCBidG5DYXJ0OiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCA9IGpRdWVyeShcIiNtb2RhbENhcnQgLnVhYmItYnV0dG9uXCIpLmdldCgwKTtcblxuICAgIGlmIChidG5DYXJ0KSB7XG4gICAgICAgIGJ0bkNhcnQuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IHtcbiAgICAgICAgICAgIGlmICghY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNBcnIubGVuZ3RoKVxuICAgICAgICAgICAgICAgIGpCb3hIZWxwZXIuc2hvd0pCb3hOb3RpY2UoYFNpZSBoYWJlbiBiaXNsYW5nIGtlaW5lbiBQbGF0eiBhdXNnZXfDpGhsdC5gKTtcbiAgICAgICAgICAgIGVsc2UgaWYgKGNvbmZpZy5zdGF0ZS5jYXJ0Q2hhbmdlZClcbiAgICAgICAgICAgICAgICBDb21tdW5pY2F0aW9uLmlzVmFsaWRTZWF0U2VsZWN0aW9uKCk7XG4gICAgICAgICAgICBlbHNlIGlmICghY29uZmlnLnN0YXRlLmNhcnRDaGFuZ2VkICYmIGNvbmZpZy5zdGF0ZS5pc1ZhbGlkU2VhdFNlbGVjdGlvbilcbiAgICAgICAgICAgICAgICBVSS5mYWRlSW5DYXJ0TW9kYWwoKTtcbiAgICAgICAgICAgIGVsc2UgaWYgKCFjb25maWcuc3RhdGUuY2FydENoYW5nZWQgJiYgIWNvbmZpZy5zdGF0ZS5pc1ZhbGlkU2VhdFNlbGVjdGlvbilcbiAgICAgICAgICAgICAgICBqQm94SGVscGVyLnNob3dKQm94Tm90aWNlKGBBdXN3YWhsIG5pY2h0IG3DtmdsaWNoOiBCaXR0ZSBsYXNzZW4gU2llIGtlaW5lbiBlaW56ZWxuZW4gUGxhdHogZnJlaS5gKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYWRkUmVkaXJlY3RDaGVja291dChpblVybDogc3RyaW5nIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgaWYgKCFpblVybClcbiAgICAgICAgcmV0dXJuO1xuXG4gICAgY29uc3QgYnRuQ2hlY2tvdXQgPSBqUXVlcnkoXCIjbW9kYWxDYXJ0LW92ZXJsYXkgI2NoZWNrb3V0IC5mbC1idXR0b25cIikuZ2V0KDApO1xuICAgIGlmIChidG5DaGVja291dCkge1xuICAgICAgICBidG5DaGVja291dC5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbWVzc2FnZTogSS5NZXNzYWdlID0ge1xuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IHtcbiAgICAgICAgICAgICAgICAgICAgdXJsOiBpblVybCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGZyb206IFwiY2hpbGRcIixcbiAgICAgICAgICAgICAgICBldmVudDogXCJjaGlsZF9jbGlja19jaGVja291dFwiLFxuICAgICAgICAgICAgICAgIGRhdGU6IERhdGUubm93KClcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBDb21tdW5pY2F0aW9uLnNlbmRNZXNzYWdlKG1lc3NhZ2UsIFwicGFyZW50XCIpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRDYXJ0Q2xvc2UoKTogdm9pZCB7XG4gICAgY29uc3QgYnRuQ2xvc2U6IEhUTUxFbGVtZW50ID0galF1ZXJ5KFwiI21vZGFsQ2FydC1vdmVybGF5IC51YWJiLWNsb3NlLWljb25cIikuZ2V0KDApO1xuICAgIGlmIChidG5DbG9zZSlcbiAgICAgICAgYnRuQ2xvc2UuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IENvbW11bmljYXRpb24uc2VuZEV2ZW50VG9QYXJlbnQoXCJjaGlsZF9zaG93X2RpYWxvZ190aXRsZWJhclwiKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRDYXJ0QmFjaygpOiB2b2lkIHtcbiAgICBjb25zdCBidG5CYWNrOiBIVE1MRWxlbWVudCA9IGpRdWVyeShcIiNtb2RhbENhcnQtb3ZlcmxheSAjZ29CYWNrIC5mbC1idXR0b25cIikuZ2V0KDApO1xuICAgIGlmIChidG5CYWNrKVxuICAgICAgICBidG5CYWNrLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCAoKSA9PiBqUXVlcnkoXCIjbW9kYWxDYXJ0LW92ZXJsYXkgLnVhYmItY2xvc2UtaWNvblwiKS50cmlnZ2VyKFwiY2xpY2tcIikpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZHJvcGRvd25MZWdlbmRPbkNoYW5nZShpblNlbGVjdG9yOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBzZWF0bWFwOiBhbnkgPSBjb25maWcuc3RhdGUuc2VhdG1hcDtcbiAgICBjb25zdCBkcm9wZG93bkxlZ2VuZDogSFRNTEVsZW1lbnQgPSBqUXVlcnkoaW5TZWxlY3RvcikuZ2V0KDApO1xuXG4gICAgZHJvcGRvd25MZWdlbmQuYWRkRXZlbnRMaXN0ZW5lcihcImNoYW5nZVwiLCBmdW5jdGlvbiAodGhpczogSFRNTFNlbGVjdEVsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgdmFsdWU6IHN0cmluZyA9IHRoaXMudmFsdWU7XG4gICAgICAgIGNvbnN0IGNsYXNzTmFtZTogc3RyaW5nID0gYC5fJHt2YWx1ZX1gO1xuXG4gICAgICAgIExlZ2VuZC5jaGFuZ2VEcm9wZG93bkxlZ2VuZEJHQ29sb3IoaW5TZWxlY3RvciwgdmFsdWUsIGNsYXNzTmFtZSk7XG5cbiAgICAgICAgaWYgKHZhbHVlID09PSBcImFsbFwiKSB7XG4gICAgICAgICAgICBzZWF0bWFwLmZpbmQoJ3VuYXZhaWxhYmxlJykuc3RhdHVzKCdhdmFpbGFibGUnKTtcbiAgICAgICAgICAgIEpTQy5zZXRVbmF2YWlsYWJsZVNlYXRzKCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBzZWF0bWFwLmZpbmQoJ2F2YWlsYWJsZScpLnN0YXR1cygndW5hdmFpbGFibGUnKTtcbiAgICAgICAgICAgIEpTQy5hY3RpdmF0ZVNlYXRzQnlTZWN0aW9uSUQodmFsdWUpO1xuICAgICAgICAgICAgSlNDLnNldFVuYXZhaWxhYmxlU2VhdHMoKTtcbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWRkQ2FydERyb3Bkb3duQnV5ZXJUeXBlcyhpblNlbGVjdG9yOiBzdHJpbmcsIGluU2VhdE9iajogSS5KU0NTZWxlY3RlZFNlYXQpOiB2b2lkIHtcbiAgICAvLyB0b2RvOiB3aGljaCB2YXJpYW50IGlzIG5vdCBkZXByZWNhdGVkP1xuICAgIGpRdWVyeShpblNlbGVjdG9yKS5vbignY2hhbmdlJywgZnVuY3Rpb24gKHRoaXM6IEhUTUxTZWxlY3RFbGVtZW50KSB7XG4gICAgICAgIENhcnQuY2hhbmdlZERyb3Bkb3duQnV5ZXJUeXBlKHRoaXMsIGluU2VhdE9iaik7XG4gICAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRPcGVuU2VhdG1hcCgpIHtcbiAgICBqUXVlcnkoXCIjb3BlblNlYXRtYXBcIikub24oXCJjbGlja1wiLCAoKSA9PiB7XG4gICAgICAgIGlmICghY29uZmlnLmNoaWxkSGFzVmVudWVYTUwpXG4gICAgICAgICAgICBDb21tdW5pY2F0aW9uLnNlbmRFdmVudFRvQ2hpbGQoXCJwYXJlbnRfaW5pdF92ZW51ZVwiKTtcblxuICAgICAgICBqUXVlcnkoJ2h0bWwsIGJvZHknKS5jc3MoJ292ZXJmbG93JywgJ2hpZGRlbicpO1xuICAgICAgICBqUXVlcnkoXCIjZGlhbG9nU2VhdG1hcFwiKS5kaWFsb2coJ29wZW4nKTtcbiAgICB9KTtcbn0iLCJpbXBvcnQgakJveCBmcm9tIFwiamJveFwiO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSBcIi4vY29uZmlnXCI7XG5pbXBvcnQgKiBhcyBYTUxIZWxwZXIgZnJvbSBcIi4veG1saGVscGVyXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBzaG93SkJveE5vdGljZShpbkNvbnRlbnQ6IHN0cmluZywgaW5BdXRvQ2xvc2U6IG51bWJlciB8IGJvb2xlYW4gfCB1bmRlZmluZWQgPSA1MDAwKTogdm9pZCB7XG4gICAgbmV3IGpCb3g8XCJOb3RpY2VcIj4gKCdOb3RpY2UnLCB7XG4gICAgICAgIHBvc2l0aW9uOiB7IHg6ICdjZW50ZXInLCB5OiAndG9wJyB9LFxuICAgICAgICBvZmZzZXQ6IHsgeDogMCwgeTogMzIwIH0sXG4gICAgICAgIGNvbnRlbnQ6IGluQ29udGVudCxcbiAgICAgICAgYXV0b0Nsb3NlOiBpbkF1dG9DbG9zZSxcbiAgICAgICAgYW5pbWF0aW9uOiB7IG9wZW46IFwiem9vbUluXCIsIGNsb3NlOiBcInpvb21PdXRcIiB9LFxuICAgICAgICBjbG9zZU9uRXNjOiBmYWxzZSxcbiAgICAgICAgY2xvc2VCdXR0b246IHRydWUsXG4gICAgICAgIGNsb3NlT25Nb3VzZWxlYXZlOiBmYWxzZSxcbiAgICAgICAgY2xvc2VPbkNsaWNrOiBmYWxzZSxcbiAgICAgICAgZHJhZ2dhYmxlOiBmYWxzZSxcbiAgICAgICAgY29sb3I6IFwicmVkXCIsXG4gICAgICAgIHN0YWNrOiB0cnVlLFxuICAgICAgICBzaG93Q291bnRkb3duOiB0cnVlLFxuICAgICAgICByZXBvc2l0aW9uOiB0cnVlLFxuICAgICAgICByZXNwb25zaXZlV2lkdGg6IHRydWUsXG4gICAgICAgIHJlc3BvbnNpdmVIZWlnaHQ6IHRydWUsXG4gICAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVTZWF0VG9vbHRpcHMoKTogdm9pZCB7XG4gICAgbmV3IGpCb3g8XCJUb29sdGlwXCI+IChcIlRvb2x0aXBcIiwge1xuICAgICAgICBhdHRhY2g6IGpRdWVyeShcIi5zZWF0Q2hhcnRzLXNlYXRcIiksXG4gICAgICAgIG9uT3BlbjogZnVuY3Rpb24gKHRoaXM6IGFueSkge1xuICAgICAgICAgICAgc2hvd1NlYXRUb29sdGlwKHRoaXMpO1xuICAgICAgICB9LFxuICAgIH0pO1xufVxuXG5mdW5jdGlvbiBzaG93U2VhdFRvb2x0aXAoakJveDogYW55KTogdm9pZCB7XG4gICAgY29uc3Qgc2VhdElEOiBzdHJpbmcgPSBqQm94LnNvdXJjZVswXS5pZDtcbiAgICBjb25zdCBzZWF0OiBzdHJpbmcgPSBjb25maWcuc3RhdGUubGF5b3V0Um93c1tzZWF0SURdWzVdO1xuICAgIGNvbnN0IHJvdzogc3RyaW5nID0gY29uZmlnLnN0YXRlLmxheW91dFJvd3Nbc2VhdElEXVs0XTtcbiAgICBjb25zdCBzZWN0aW9uSUQ6IHN0cmluZyA9IGNvbmZpZy5zdGF0ZS5sYXlvdXRSb3dzW3NlYXRJRF1bM107XG4gICAgY29uc3Qgc2VjdGlvbkRlc2M6IHN0cmluZyB8IHVuZGVmaW5lZCA9IFhNTEhlbHBlci5nZXRTZWN0aW9uRGVzY0J5U2VjdGlvbklEKHNlY3Rpb25JRCk7XG4gICAgY29uc3QgdG9vbHRpcENvbnRlbnQ6IHN0cmluZyA9IGAke3NlY3Rpb25EZXNjfTxici8+UmVpaGUgJHtyb3d9IFBsYXR6ICR7c2VhdH1gO1xuXG4gICAgakJveC5zZXRDb250ZW50KHRvb2x0aXBDb250ZW50KTtcbn0iLCJpbXBvcnQgKiBhcyBJIGZyb20gXCIuLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSBcIi4vY29uZmlnXCI7XG5pbXBvcnQgKiBhcyBTdGF0ZSBmcm9tIFwiLi9zdGF0ZVwiO1xuaW1wb3J0ICogYXMgQ2FydCBmcm9tIFwiLi9jYXJ0XCI7XG5pbXBvcnQgKiBhcyBDYXJ0QnV0dG9ucyBmcm9tIFwiLi9jYXJ0QnV0dG9uc1wiO1xuaW1wb3J0IFV0aWxzIGZyb20gJy4vdXRpbHMnXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTZWF0cygpOiBJLkpTQ1NlYXRzIHtcbiAgICBjb25zdCBzZWF0bWFwWE1MOiBhbnkgPSBjb25maWcuc3RhdGUuc2VhdG1hcFhNTDtcbiAgICBjb25zdCBwcmljZXNjYWxlQXJyOiBJLlNlYXRtYXBQcmljZXNjYWxlW10gPSBzZWF0bWFwWE1MLnNlYXRtYXBbMF0ucHJpY2VzY2FsZV9jb25maWdbMF0ucHJpY2VzY2FsZTtcbiAgICBsZXQgc2VhdG1hcEluaXRTZWF0czogSS5KU0NTZWF0cyA9IHt9O1xuXG4gICAgZm9yIChsZXQga2V5IGluIHByaWNlc2NhbGVBcnIpIHtcbiAgICAgICAgY29uc3Qgc2VhdHNPYmo6IEkuSlNDU2VhdHMyID0ge1xuICAgICAgICAgICAgXCJjbGFzc2VzXCI6IGBfJHtwcmljZXNjYWxlQXJyW2tleV0uaWRbMF19YCxcbiAgICAgICAgICAgIFwic2VhdHNPYmpcIjogcHJpY2VzY2FsZUFycltrZXldXG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2VhdHNLZXk6IHN0cmluZyA9IFN0cmluZy5mcm9tQ2hhckNvZGUoOTcgKyBwYXJzZUludChrZXkpKS50b0xvY2FsZVVwcGVyQ2FzZSgpO1xuICAgICAgICBzZWF0bWFwSW5pdFNlYXRzW3NlYXRzS2V5XSA9IHNlYXRzT2JqO1xuICAgIH1cblxuICAgIHJldHVybiBzZWF0bWFwSW5pdFNlYXRzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWN0aXZhdGVTZWF0c0J5U2VjdGlvbklEKGluVmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHNlYXRtYXBYTUw6IGFueSA9IGNvbmZpZy5zdGF0ZS5zZWF0bWFwWE1MO1xuICAgIGNvbnN0IHNlYXRtYXA6IGFueSA9IGNvbmZpZy5zdGF0ZS5zZWF0bWFwO1xuICAgIGNvbnN0IHByaWNlc2NhbGVBcnI6IEkuU2VhdG1hcFByaWNlc2NhbGVbXSA9IHNlYXRtYXBYTUwuc2VhdG1hcFswXS5wcmljZXNjYWxlX2NvbmZpZ1swXS5wcmljZXNjYWxlO1xuXG4gICAgY29uc3Qgc2VhdHNBcnI6IHN0cmluZ1tdIHwgdW5kZWZpbmVkID0gcHJpY2VzY2FsZUFyci5maW5kKGFyciA9PiB7XG4gICAgICAgIHJldHVybiBhcnIuaWRbMF0gPT09IGluVmFsdWU7XG4gICAgfSk/Lm1hc2tbMF0uc3BsaXQoXCIsXCIpO1xuXG4gICAgc2VhdG1hcC5zdGF0dXMoc2VhdHNBcnIsIFwiYXZhaWxhYmxlXCIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Um93c05hbWluZygpOiBzdHJpbmdbXSB7XG4gICAgY29uc3Qgc2VhdG1hcFhNTDogYW55ID0gY29uZmlnLnN0YXRlLnNlYXRtYXBYTUw7XG4gICAgY29uc3QgbGF5b3V0OiBJLlNlYXRtYXBMYXlvdXQgPSBzZWF0bWFwWE1MLnNlYXRtYXBbMF0ubGF5b3V0c1swXS5sYXlvdXRbMF07XG4gICAgY29uc3QgaGVpZ2h0OiBudW1iZXIgPSBwYXJzZUludChsYXlvdXQuaGVpZ2h0WzBdKTtcbiAgICBjb25zdCBuYW1pbmdBcnI6IHN0cmluZ1tdID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogaGVpZ2h0IH0sIChfKSA9PiBcIlwiKTtcbiAgICBjb25zdCByb3dzQXJyOiBJLkxheW91dFJvdzJbXSA9IGxheW91dC5yb3dzWzBdLnJvdztcblxuICAgIHJvd3NBcnIuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgY29uc3QgaW5kZXg6IG51bWJlciA9IHBhcnNlSW50KGVsZW1lbnQueV9jZWxsX2Nvb3JkWzBdKTtcbiAgICAgICAgY29uc3Qgc2VhdHNBcnI6IHN0cmluZ1tdID0gZWxlbWVudC5zZWF0c1swXS5zcGxpdChcInxcIik7XG4gICAgICAgIGNvbnN0IHNlYXRBcnI6IHN0cmluZ1tdID0gc3BsaXRTZWF0U3RyKHNlYXRzQXJyWzBdKTtcbiAgICAgICAgY29uc3Qgcm93OiBzdHJpbmcgPSBzZWF0QXJyWzRdO1xuICAgICAgICBuYW1pbmdBcnJbaW5kZXhdID0gcm93O1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIG5hbWluZ0Fycjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlTWFwKCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBzZWF0bWFwWE1MOiBhbnkgPSBjb25maWcuc3RhdGUuc2VhdG1hcFhNTDtcbiAgICBjb25zdCBsYXlvdXQ6IEkuU2VhdG1hcExheW91dCA9IHNlYXRtYXBYTUwuc2VhdG1hcFswXS5sYXlvdXRzWzBdLmxheW91dFswXTtcbiAgICBjb25zdCByb3dzOiBJLkxheW91dFJvdzJbXSA9IGxheW91dC5yb3dzWzBdLnJvdztcbiAgICBjb25zdCBwcmljZXNjYWxlQXJyOiBJLlNlYXRtYXBQcmljZXNjYWxlW10gPSBzZWF0bWFwWE1MLnNlYXRtYXBbMF0ucHJpY2VzY2FsZV9jb25maWdbMF0ucHJpY2VzY2FsZTtcbiAgICBjb25zdCBhdmFpbGFiaWxpdHlBcnI6IEkuSlNDQXZhaWxhYmlsaXR5ID0gc2VhdG1hcFhNTC5zZWF0bWFwWzBdLnZpZXdfbW9kZXNbMF0udmlld19tb2RlWzBdLmF2YWlsYWJpbGl0eVswXTtcblxuICAgIC8vIEZvcm06IGFyck1hdHJpeFtZXVtYXVxuICAgIGxldCBhcnJNYXRyaXg6IHN0cmluZ1tdW10gPSBjcmVhdGVBcnJNYXRyaXgoXG4gICAgICAgIHBhcnNlSW50KGxheW91dC5oZWlnaHRbMF0pLFxuICAgICAgICBwYXJzZUludChsYXlvdXQud2lkdGhbMF0pLFxuICAgICAgICBcIl9cIlxuICAgICk7XG5cbiAgICBhcnJNYXRyaXggPSBlbnRlclNlYXRzSW5NYXRyaXgocm93cywgYXJyTWF0cml4LCBwcmljZXNjYWxlQXJyLCBhdmFpbGFiaWxpdHlBcnIpO1xuICAgIHJldHVybiBhcnJNYXRyaXgubWFwKGVsZW1lbnQgPT4gZWxlbWVudC5qb2luKFwiXCIpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlTGVnZW5kKGluTm9kZTogc3RyaW5nKTogSS5KU0NMZWdlbmQge1xuICAgIGNvbnN0IHNlYXRtYXBYTUw6IGFueSA9IGNvbmZpZy5zdGF0ZS5zZWF0bWFwWE1MO1xuICAgIGNvbnN0IHZlbnVlWE1MOiBJLlZlbnVlWE1MID0gY29uZmlnLnN0YXRlLmluVmVudWVYTUwhO1xuICAgIGNvbnN0IHByaWNlc2NhbGVBcnI6IEkuU2VhdG1hcFByaWNlc2NhbGVbXSA9IHNlYXRtYXBYTUwuc2VhdG1hcFswXS5wcmljZXNjYWxlX2NvbmZpZ1swXS5wcmljZXNjYWxlO1xuICAgIGNvbnN0IHZlbnVlUHJpY2VzY2FsZUFycjogSS5QcmljZXNjYWxlMltdID0gdmVudWVYTUwudmVudWVbMF0ucHJpY2VzY2FsZXNbMF0ucHJpY2VzY2FsZTtcblxuICAgIHJldHVybiA8SS5KU0NMZWdlbmQ+e1xuICAgICAgICBub2RlOiBqUXVlcnkoaW5Ob2RlKSxcbiAgICAgICAgaXRlbXM6IGNyZWF0ZUxlZ2VuZEl0ZW1zKHByaWNlc2NhbGVBcnIsIHZlbnVlUHJpY2VzY2FsZUFycilcbiAgICB9XG59XG5cblxuXG5leHBvcnQgZnVuY3Rpb24gc2V0VW5hdmFpbGFibGVTZWF0cygpOiB2b2lkIHtcbiAgICBjb25zdCBzZWF0bWFwWE1MOiBhbnkgPSBjb25maWcuc3RhdGUuc2VhdG1hcFhNTDtcbiAgICBjb25zdCBzZWF0bWFwOiBhbnkgPSBjb25maWcuc3RhdGUuc2VhdG1hcDtcbiAgICBjb25zdCBhdmFpbGFiaWxpdHlBcnI6IEkuSlNDQXZhaWxhYmlsaXR5ID0gc2VhdG1hcFhNTC5zZWF0bWFwWzBdLnZpZXdfbW9kZXNbMF0udmlld19tb2RlWzBdLmF2YWlsYWJpbGl0eVswXTtcblxuICAgIGlmIChhdmFpbGFiaWxpdHlBcnIudW5hdmFpbGFibGVfdW5zZWxlY3RhYmxlX21hc2tbMF0gIT09IFwiXCIpIHtcbiAgICAgICAgY29uc3QgdW5hdmFpbGFibGVBcnI6IHN0cmluZ1tdID0gYXZhaWxhYmlsaXR5QXJyLnVuYXZhaWxhYmxlX3Vuc2VsZWN0YWJsZV9tYXNrWzBdLnNwbGl0KFwiLFwiKTtcbiAgICAgICAgc2VhdG1hcC5zdGF0dXModW5hdmFpbGFibGVBcnIsIFwidW5hdmFpbGFibGVcIik7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2VhdHNLZXkoaW5TZWF0SUQ6IHN0cmluZywgaW5QcmljZXNjYWxlQXJyOiBJLlNlYXRtYXBQcmljZXNjYWxlW10pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGZvciAobGV0IGtleSBpbiBpblByaWNlc2NhbGVBcnIpIHtcbiAgICAgICAgaWYgKGluUHJpY2VzY2FsZUFycltrZXldLm1hc2tbMF0uaW5jbHVkZXMoaW5TZWF0SUQpKVxuICAgICAgICAgICAgcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoOTcgKyBwYXJzZUludChrZXkpKS50b0xvY2FsZVVwcGVyQ2FzZSgpO1xuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzcGxpdFNlYXRTdHIoaW5TZWF0U3RyOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIGluU2VhdFN0ci5zcGxpdChcIixcIikubWFwKChpdGVtKSA9PiBpdGVtLnRyaW0oKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVBcnJNYXRyaXgoaW5OdW1yb3dzOiBudW1iZXIsIGluTnVtY29sczogbnVtYmVyLCBpbkNoYXJhY3Rlcjogc3RyaW5nKTogc3RyaW5nW11bXSB7XG4gICAgcmV0dXJuIEFycmF5KGluTnVtcm93cykuZmlsbChudWxsKS5tYXAoKCkgPT4gQXJyYXkoaW5OdW1jb2xzKS5maWxsKGluQ2hhcmFjdGVyKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZWxlY3RTZWF0c0luQ2FydCgpOiB2b2lkIHtcbiAgICBjb25zdCBzZWF0bWFwOiBhbnkgPSBjb25maWcuc3RhdGUuc2VhdG1hcDtcbiAgICBjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c0Fyci5mb3JFYWNoKGFyciA9PiB7XG4gICAgICAgIGNvbnN0IHNlYXRJRDogc3RyaW5nID0gYXJyWzBdO1xuXG4gICAgICAgIGlmIChzZWF0bWFwLmdldChzZWF0SUQpKVxuICAgICAgICAgICAgc2VhdG1hcC5zdGF0dXMoc2VhdElELCBcInNlbGVjdGVkXCIpO1xuICAgIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWRkU2VhdG1hcChpblNlbGVjdG9yOiBzdHJpbmcsIGluTWFwOiBzdHJpbmdbXSwgaW5Sb3dzTmFtaW5nOiBzdHJpbmdbXSwgaW5TZWF0czogSS5KU0NTZWF0cywgaW5MZWdlbmQ6IEkuSlNDTGVnZW5kKTogdm9pZCB7XG4gICAgY29uc3QgY29udGFpbmVyU2VhdG1hcDogYW55ID0gKDxhbnk+d2luZG93KS5qUXVlcnkoaW5TZWxlY3Rvcik7XG5cbiAgICBjb25maWcuc3RhdGUuc2VhdG1hcCA9IGNvbnRhaW5lclNlYXRtYXAuc2VhdENoYXJ0cyh7XG4gICAgICAgIG5hbWluZzoge1xuICAgICAgICAgICAgdG9wOiBmYWxzZSxcbiAgICAgICAgICAgIGxlZnQ6IGZhbHNlLFxuICAgICAgICAgICAgcm93czogaW5Sb3dzTmFtaW5nLFxuICAgICAgICB9LFxuICAgICAgICBtYXA6IGluTWFwLFxuICAgICAgICBzZWF0czogaW5TZWF0cyxcbiAgICAgICAgbGVnZW5kOiBpbkxlZ2VuZCxcbiAgICAgICAgY2xpY2s6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHJldHVybiBjbGlja2VkU2VhdCh0aGlzKTtcbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVMZWdlbmRJdGVtcyhwcmljZXNjYWxlQXJyOiBJLlNlYXRtYXBQcmljZXNjYWxlW10sIHZlbnVlUHJpY2VzY2FsZUFycjogSS5QcmljZXNjYWxlMltdKTogc3RyaW5nW11bXSB7XG4gICAgcmV0dXJuIHByaWNlc2NhbGVBcnIubWFwKChhcnIsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgY29uc3QgaWQ6IHN0cmluZyA9IGFyci5pZFswXTtcbiAgICAgICAgY29uc3Qgc2VhdHNLZXk6IHN0cmluZyA9IFN0cmluZy5mcm9tQ2hhckNvZGUoOTcgKyBpbmRleCkudG9Mb2NhbGVVcHBlckNhc2UoKTtcbiAgICAgICAgY29uc3QgZGVzYzogc3RyaW5nIHwgdW5kZWZpbmVkID0gdmVudWVQcmljZXNjYWxlQXJyLmZpbmQob2JqID0+IG9iai5pZFswXSA9PT0gaWQpPy5kZXNjWzBdO1xuICAgICAgICBjb25zdCBkZXNjcmlwdGlvbjogc3RyaW5nID0gYCR7ZGVzY30g4oKsJHtwcmljZXNjYWxlQXJyW2luZGV4XS5yZWZfcHJpY2VbMF19YDtcbiAgICAgICAgcmV0dXJuIFtzZWF0c0tleSwgXCJhdmFpbGFibGVcIiwgZGVzY3JpcHRpb25dO1xuICAgIH0pO1xufVxuXG5mdW5jdGlvbiBlbnRlclNlYXRzSW5NYXRyaXgoaW5Sb3dzOiBJLkxheW91dFJvdzJbXSwgaW5BcnJNYXRyaXg6IHN0cmluZ1tdW10sIGluUHJpY2VzY2FsZUFycjogSS5TZWF0bWFwUHJpY2VzY2FsZVtdLCBpbkF2YWlsYWJpbGl0eUFycjogSS5KU0NBdmFpbGFiaWxpdHkpOiBzdHJpbmdbXVtdIHtcbiAgICBjb25zdCBhdmFpbGFibGVBcnI6IHN0cmluZ1tdID0gaW5BdmFpbGFiaWxpdHlBcnIuYXZhaWxhYmxlX3NlbGVjdGFibGVfbWFza1swXS5zcGxpdChcIixcIik7XG4gICAgY29uc3QgdW5hdmFpbGFibGVBcnI6IHN0cmluZ1tdID0gaW5BdmFpbGFiaWxpdHlBcnIudW5hdmFpbGFibGVfdW5zZWxlY3RhYmxlX21hc2tbMF0uc3BsaXQoXCIsXCIpO1xuXG4gICAgaW5Sb3dzLmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICAgIGNvbnN0IHJvdzogSS5MYXlvdXRSb3cyID0gZWxlbWVudDtcbiAgICAgICAgY29uc3QgWTogbnVtYmVyID0gcGFyc2VJbnQocm93LnlfY2VsbF9jb29yZFswXSkgLSAxO1xuICAgICAgICBjb25zdCBzZWF0c0Fycjogc3RyaW5nW10gPSByb3cuc2VhdHNbMF0uc3BsaXQoXCJ8XCIpO1xuXG4gICAgICAgIHNlYXRzQXJyLmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICAgICAgICBjb25zdCBzZWF0U3RyOiBzdHJpbmcgPSBlbGVtZW50O1xuICAgICAgICAgICAgLy8gRm9ybTpcbiAgICAgICAgICAgIC8vIFwiNTY4NDIwLDU2ODQyMCwxNSw3MDI0LDEzICwxXCJcblxuICAgICAgICAgICAgY29uc3Qgc2VhdEFycjogc3RyaW5nW10gPSBzcGxpdFNlYXRTdHIoc2VhdFN0cik7XG4gICAgICAgICAgICAvLyBGb3JtOlxuICAgICAgICAgICAgLy8gMDogXCI1Njg1MjhcIiAtPiBJRFxuICAgICAgICAgICAgLy8gMTogXCI1Njg1MjhcIiAtPiBJRFxuICAgICAgICAgICAgLy8gMjogXCIyMVwiIC0+IFgtQ29vcmQgYmVudXR6ZW5cbiAgICAgICAgICAgIC8vIDM6IFwiNzAyNFwiIC0+IHNlY3Rpb24gSURcbiAgICAgICAgICAgIC8vIDQ6IFwiMTNcIiAtPiBSZWloZW5iZXplaWNobnVuZ1xuICAgICAgICAgICAgLy8gNTogXCI0XCIgLT4gUGxhdHpudW1tZXJcblxuICAgICAgICAgICAgLy8gc2tpcCBibGFja2VkIG91dCBzZWF0cyAgICAgICAgICAgIFxuICAgICAgICAgICAgaWYgKCFhdmFpbGFibGVBcnIuaW5jbHVkZXMoc2VhdEFyclswXSkgJiYgIXVuYXZhaWxhYmxlQXJyLmluY2x1ZGVzKHNlYXRBcnJbMF0pKVxuICAgICAgICAgICAgICAgIHJldHVybjtcblxuICAgICAgICAgICAgLy8gY29uc3QgWDogbnVtYmVyID0gcGFyc2VJbnQoc2VhdEFycls1XSk7XG4gICAgICAgICAgICBjb25zdCBYOiBudW1iZXIgPSBwYXJzZUludChzZWF0QXJyWzJdKSAtIDE7XG4gICAgICAgICAgICBjb25zdCBzZWF0c0tleTogc3RyaW5nIHwgdW5kZWZpbmVkID0gZ2V0U2VhdHNLZXkoc2VhdEFyclswXSwgaW5QcmljZXNjYWxlQXJyKTtcblxuICAgICAgICAgICAgaWYgKHNlYXRzS2V5KVxuICAgICAgICAgICAgICAgIGluQXJyTWF0cml4W1ldW1hdID0gYCR7c2VhdHNLZXl9WyR7c2VhdEFyclswXX0sIF1gO1xuXG5cbiAgICAgICAgICAgIC8vIHNhdmUgc2VhdEFyciBpbiBzdGF0ZSB3aXRoIHNlYXRJRCBhcyBrZXlcbiAgICAgICAgICAgIGNvbmZpZy5zdGF0ZS5sYXlvdXRSb3dzW3NlYXRBcnJbMF1dID0gc2VhdEFycjtcbiAgICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gaW5BcnJNYXRyaXg7XG59XG5cbmZ1bmN0aW9uIGNsaWNrZWRTZWF0KGluU2VhdG1hcDogYW55KSB7XG4gICAgaWYgKGluU2VhdG1hcC5zdGF0dXMoKSA9PSAnYXZhaWxhYmxlJykge1xuICAgICAgICByZXR1cm4gY2xpY2tBdmFpbGFibGVTZWF0KGluU2VhdG1hcCk7XG4gICAgfVxuICAgIGVsc2UgaWYgKGluU2VhdG1hcC5zdGF0dXMoKSA9PT0gXCJzZWxlY3RlZFwiKSB7XG4gICAgICAgIHJldHVybiBjbGlja2VkU2VsZWN0ZWRTZWF0KGluU2VhdG1hcCk7XG4gICAgfVxuICAgIGVsc2UgaWYgKGluU2VhdG1hcC5zdGF0dXMoKSA9PSAndW5hdmFpbGFibGUnKSB7XG4gICAgICAgIHJldHVybiBcInVuYXZhaWxhYmxlXCI7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gaW5TZWF0bWFwLnN0eWxlKCk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBjbGlja0F2YWlsYWJsZVNlYXQoaW5TZWF0bWFwOiBhbnkpIHtcbiAgICBjb25zdCBzZWxlY3RlZFNlYXQ6IEkuSlNDU2VsZWN0ZWRTZWF0ID0gaW5TZWF0bWFwLnNldHRpbmdzO1xuXG4gICAgVXRpbHMuY29uc29sZUxvZyhzZWxlY3RlZFNlYXQpO1xuXG4gICAgaWYgKFN0YXRlLm1heGltdW1TZWxlY3RlZFNlYXRzUmVhY2hlZChzZWxlY3RlZFNlYXQpKVxuICAgICAgICByZXR1cm4gXCJhdmFpbGFibGVcIjtcblxuICAgIFN0YXRlLmFkZFNlYXRUb1N0YXRlKHNlbGVjdGVkU2VhdCk7XG4gICAgQ2FydC5jYWxjT3ZlcmFsbFByaWNlKCk7XG4gICAgQ2FydEJ1dHRvbnMuc2V0QnRuQ2FydFRleHQoKTtcblxuICAgIHJldHVybiBcInNlbGVjdGVkXCI7XG59XG5cbmZ1bmN0aW9uIGNsaWNrZWRTZWxlY3RlZFNlYXQoaW5TZWF0bWFwOiBhbnkpIHtcbiAgICBjb25zdCBzZWxlY3RlZFNlYXQ6IEkuSlNDU2VsZWN0ZWRTZWF0ID0gaW5TZWF0bWFwLnNldHRpbmdzO1xuICAgIFN0YXRlLnJlbW92ZVNlYXRGcm9tU3RhdGUoc2VsZWN0ZWRTZWF0KTtcbiAgICBDYXJ0LmNhbGNPdmVyYWxsUHJpY2UoKTtcbiAgICBDYXJ0QnV0dG9ucy5zZXRCdG5DYXJ0VGV4dCgpO1xuXG4gICAgcmV0dXJuIFwiYXZhaWxhYmxlXCI7XG59IiwiZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRMZWdlbmRUb0Ryb3Bkb3duKGluSUQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGpRdWVyeSgndWwuc2VhdENoYXJ0cy1sZWdlbmRMaXN0JykuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgIGxldCBzZWxlY3Q6IEpRdWVyeTxIVE1MU2VsZWN0RWxlbWVudD4gPSBqUXVlcnkoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2VsZWN0JykpXG4gICAgICAgICAgICAuaW5zZXJ0QmVmb3JlKFxuICAgICAgICAgICAgICAgIGpRdWVyeSh0aGlzKS5oaWRlKClcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgc2VsZWN0LmF0dHIoeyBpZDogaW5JRCB9KTtcbiAgICAgICAgYXBwZW5kRmlyc3RMZWdlbmRPcHRpb24oc2VsZWN0KTtcbiAgICAgICAgYXBwZW5kTGVnZW5kT3B0aW9ucyh0aGlzLCBzZWxlY3QpOyAgICAgICAgXG4gICAgfSk7XG59XG5cbmZ1bmN0aW9uIGFwcGVuZExlZ2VuZE9wdGlvbnMoZWxlbWVudDogSFRNTEVsZW1lbnQsIGluU2VsZWN0OiBKUXVlcnk8SFRNTFNlbGVjdEVsZW1lbnQ+KSB7XG4gICAgalF1ZXJ5KCc+bGknLCBlbGVtZW50KS5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgY29uc3QgY2xhc3NOYW1lOiBzdHJpbmcgPSBqUXVlcnkodGhpcylbMF0uY2hpbGRyZW5bMF0uY2xhc3NMaXN0WzNdO1xuICAgICAgICBjb25zdCB2YWw6IHN0cmluZyA9IGNsYXNzTmFtZS5zdWJzdHJpbmcoMSk7XG4gICAgICAgIGNvbnN0IHRleHQ6IHN0cmluZyA9ICg8SFRNTEVsZW1lbnQ+alF1ZXJ5KHRoaXMpWzBdLmNoaWxkcmVuWzFdKS5pbm5lclRleHQ7XG5cbiAgICAgICAgYXBwZW5kTGVnZW5kT3B0aW9uKGluU2VsZWN0LCBjbGFzc05hbWUsIHZhbCwgdGV4dCk7XG4gICAgfSk7XG59XG5cbmZ1bmN0aW9uIGFwcGVuZExlZ2VuZE9wdGlvbihpblNlbGVjdDogSlF1ZXJ5PEhUTUxTZWxlY3RFbGVtZW50PiwgY2xhc3NOYW1lOiBzdHJpbmcsIHZhbDogc3RyaW5nLCB0ZXh0OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBsZXQgb3B0aW9uOiBKUXVlcnk8SFRNTE9wdGlvbkVsZW1lbnQ+ID0galF1ZXJ5KCc8b3B0aW9uLz4nKTtcbiAgICBvcHRpb24uYXR0cih7ICd2YWx1ZSc6IHZhbCwgJ2NsYXNzJzogY2xhc3NOYW1lIH0pLnRleHQodGV4dCk7XG4gICAgaW5TZWxlY3QuYXBwZW5kKG9wdGlvbik7XG59XG5cbmZ1bmN0aW9uIGFwcGVuZEZpcnN0TGVnZW5kT3B0aW9uKGluU2VsZWN0OiBKUXVlcnk8SFRNTFNlbGVjdEVsZW1lbnQ+KTogdm9pZCB7XG4gICAgbGV0IG9wdGlvbjogSlF1ZXJ5PEhUTUxPcHRpb25FbGVtZW50PiA9IGpRdWVyeSgnPG9wdGlvbi8+Jyk7XG4gICAgb3B0aW9uLmF0dHIoeyAndmFsdWUnOiAnYWxsJyB9KS50ZXh0KCdBbGxlIFByZWlza2F0ZWdvcmllbicpO1xuICAgIG9wdGlvbi5jc3MoXCJjb2xvclwiLCBcIiM1YzVjNWNcIik7XG4gICAgaW5TZWxlY3QuYXBwZW5kKG9wdGlvbik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjaGFuZ2VEcm9wZG93bkxlZ2VuZEJHQ29sb3IoaW5TZWxlY3Rvcjogc3RyaW5nLCBpblZhbHVlOiBzdHJpbmcsIGluQ2xhc3NOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBsZXQgYmdDb2xvcjogc3RyaW5nID0gXCIjZmFmYWZhXCI7XG4gICAgbGV0IGNvbG9yOiBzdHJpbmcgPSBcIiM1YzVjNWNcIjtcblxuICAgIGlmIChpblZhbHVlICE9PSBcImFsbFwiKSB7XG4gICAgICAgIGNvbG9yID0gXCJ3aGl0ZVwiO1xuICAgICAgICBiZ0NvbG9yID0galF1ZXJ5KGluQ2xhc3NOYW1lKS5jc3MoXCJiYWNrZ3JvdW5kLWNvbG9yXCIpO1xuICAgIH1cblxuICAgIGpRdWVyeShpblNlbGVjdG9yKS5jc3MoXCJjb2xvclwiLCBjb2xvcik7XG4gICAgalF1ZXJ5KGluU2VsZWN0b3IpLmNzcyhcImJhY2tncm91bmQtY29sb3JcIiwgYmdDb2xvcik7XG4gICAgalF1ZXJ5KGAke2luU2VsZWN0b3J9IG9wdGlvblt2YWx1ZT1cImFsbFwiXWApLmNzcyhcImNvbG9yXCIsIGNvbG9yKTtcbn0iLCJpbXBvcnQgUGFuem9vbSBmcm9tICdAcGFuem9vbS9wYW56b29tJztcbmltcG9ydCB7IFBhbnpvb21PYmplY3QgfSBmcm9tIFwiQHBhbnpvb20vcGFuem9vbS9kaXN0L3NyYy90eXBlc1wiO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSBcIi4vY29uZmlnXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRQYW56b29tKGluU2VsZWN0b3I6IHN0cmluZywgaW5CdG5ab29tSW46IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCwgaW5CdG5ab29tT3V0OiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQsIGluQnRuUmVzZXRab29tOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQpOiBQYW56b29tT2JqZWN0IHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBjb250YWluZXI6IEhUTUxFbGVtZW50ID0galF1ZXJ5KGluU2VsZWN0b3IpLmdldCgwKTtcblxuICAgIGlmIChjb250YWluZXIpIHtcbiAgICAgICAgY29uc3QgcGFuem9vbTogUGFuem9vbU9iamVjdCA9IFBhbnpvb20oY29udGFpbmVyLCB7XG4gICAgICAgICAgICBtYXhTY2FsZTogNSxcbiAgICAgICAgICAgIGFuaW1hdGU6IGZhbHNlLFxuICAgICAgICAgICAgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG4gICAgICAgICAgICBzdGFydFNjYWxlOiBcIjAuNjZcIlxuICAgICAgICB9KTtcblxuICAgICAgICBhZGRQYW56b29tRXZlbnRzKGluQnRuWm9vbUluLCBpbkJ0blpvb21PdXQsIGluQnRuUmVzZXRab29tLCBjb250YWluZXIucGFyZW50RWxlbWVudCEsIHBhbnpvb20pO1xuICAgICAgICByZXR1cm4gcGFuem9vbTtcbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBhZGRQYW56b29tRXZlbnRzKGluQnRuWm9vbUluOiBzdHJpbmcgfCB1bmRlZmluZWQsIGluQnRuWm9vbU91dDogc3RyaW5nIHwgdW5kZWZpbmVkLCBpbkJ0blJlc2V0Wm9vbTogc3RyaW5nIHwgdW5kZWZpbmVkLCBjb250YWluZXJQYXJlbnQ6IEhUTUxFbGVtZW50LCBwYW56b29tOiBQYW56b29tT2JqZWN0KTogdm9pZCB7XG4gICAgY29uc3QgZXZlbnRNYXBwaW5nID0gW1xuICAgICAgICB7IFNlbGVjdG9yOiBpbkJ0blpvb21JbiwgUGFuem9vbUZ1bmN0aW9uOiBwYW56b29tLnpvb21JbiwgVHlwZTogXCJjbGlja1wiIH0sXG4gICAgICAgIHsgU2VsZWN0b3I6IGluQnRuWm9vbU91dCwgUGFuem9vbUZ1bmN0aW9uOiBwYW56b29tLnpvb21PdXQsIFR5cGU6IFwiY2xpY2tcIiB9LFxuICAgICAgICB7IFNlbGVjdG9yOiBpbkJ0blJlc2V0Wm9vbSwgUGFuem9vbUZ1bmN0aW9uOiBwYW56b29tLnJlc2V0LCBUeXBlOiBcImNsaWNrXCIgfSxcbiAgICAgICAgeyBIVE1MRWxlbWVudDogY29udGFpbmVyUGFyZW50LCBQYW56b29tRnVuY3Rpb246IHBhbnpvb20uem9vbVdpdGhXaGVlbCwgVHlwZTogXCJ3aGVlbFwiIH1cbiAgICBdO1xuXG4gICAgZXZlbnRNYXBwaW5nLm1hcChldmVudCA9PiB7XG4gICAgICAgIGlmIChldmVudC5TZWxlY3Rvcikge1xuICAgICAgICAgICAgY29uc3QgYnRuOiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCA9IGpRdWVyeShldmVudC5TZWxlY3RvcikuZ2V0KDApO1xuICAgICAgICAgICAgaWYgKGJ0bilcbiAgICAgICAgICAgICAgICBidG4uYWRkRXZlbnRMaXN0ZW5lcihldmVudC5UeXBlLCBldmVudC5QYW56b29tRnVuY3Rpb24pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGV2ZW50LkhUTUxFbGVtZW50KSB7XG4gICAgICAgICAgICBpZiAoZXZlbnQuVHlwZSA9PT0gXCJ3aGVlbFwiKVxuICAgICAgICAgICAgICAgIGV2ZW50LkhUTUxFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnQuVHlwZSwgZXZlbnQuUGFuem9vbUZ1bmN0aW9uKTtcbiAgICAgICAgfVxuICAgIH0pXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1bmJpbmRQYW56b29tRXZlbnRzKGluU2VsZWN0b3I6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGNvbnRhaW5lcjogSFRNTEVsZW1lbnQgPSBqUXVlcnkoaW5TZWxlY3RvcikuZ2V0KDApO1xuICAgIGNvbnRhaW5lci5wYXJlbnRFbGVtZW50Py5yZW1vdmVFdmVudExpc3RlbmVyKCd3aGVlbCcsIGNvbmZpZy5zdGF0ZS5wYW56b29tIS56b29tV2l0aFdoZWVsKTtcbn0iLCJpbXBvcnQgeyBjb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcbmltcG9ydCBheGlvcyBmcm9tICdheGlvcyc7XG5pbXBvcnQgKiBhcyBDb21tdW5pY2F0aW9uIGZyb20gXCIuL2NvbW11bmljYXRpb25cIjtcbmltcG9ydCAqIGFzIEkgZnJvbSBcIi4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgVXRpbHMgZnJvbSAnLi91dGlscydcblxuZXhwb3J0IGZ1bmN0aW9uIG5lZWRDaGVja291dFJlc3BvbnNlKGluRTogYW55LCBpbklucHV0c1dpdGhWYWx1ZTogSS5JbnB1dHNXaXRoVmFsdWUpIHtcbiAgICBjb25zdCBkYXRhOiBJLk1lc3NhZ2UgPSBKU09OLnBhcnNlKGluRS5kYXRhKTtcbiAgICBjb25zdCBpblVybDogc3RyaW5nID0gZGF0YS5tZXNzYWdlLnVybDtcblxuICAgIGF4aW9zLmdldChpblVybCwge1xuICAgICAgICBtYXhSZWRpcmVjdHM6IDBcbiAgICB9KVxuICAgICAgICAudGhlbigoaW5FKSA9PiB7XG4gICAgICAgICAgICB0eXBlIG9yZGVya2V5ID0gc3RyaW5nIHwgbnVtYmVyIHwgc3RyaW5nW10gfCB1bmRlZmluZWQ7XG4gICAgICAgICAgICBsZXQgaXNWYWxpZFNlYXRTZWxlY3Rpb246IGJvb2xlYW4gPSBmYWxzZTtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRlbnQ6IHN0cmluZyA9IGluRS5kYXRhO1xuICAgICAgICAgICAgY29uc3QgcGFyc2VkSFRNTDogTm9kZVtdID0galF1ZXJ5LnBhcnNlSFRNTChjb250ZW50KTtcbiAgICAgICAgICAgIGNvbnN0IG9yZGVya2V5OiBvcmRlcmtleSA9IGpRdWVyeShwYXJzZWRIVE1MKS5maW5kKFwiI29yZGVya2V5XCIpLnZhbCgpO1xuXG4gICAgICAgICAgICBVdGlscy5jb25zb2xlTG9nKGBvcmRlcmtleTogJHtvcmRlcmtleX1gKTtcblxuICAgICAgICAgICAgaWYgKG9yZGVya2V5KSB7XG4gICAgICAgICAgICAgICAgaXNWYWxpZFNlYXRTZWxlY3Rpb24gPSB0cnVlO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNhbmNlbFVybCA9IGAke2luSW5wdXRzV2l0aFZhbHVlW1widGlja2V0UHVyY2hhc2VVcmxcIl19P3VzZXJfY29udGV4dD0ke2luSW5wdXRzV2l0aFZhbHVlW1widXNlcl9jb250ZXh0XCJdfSZwaWQ9JHtpbklucHV0c1dpdGhWYWx1ZVtcInBpZFwiXX0mb3JkZXJrZXk9JHtvcmRlcmtleX0mdHJ4c3RhdGU9OTJgO1xuICAgICAgICAgICAgICAgIENvbW11bmljYXRpb24uY2FuY2VsQ2hlY2tvdXQoY2FuY2VsVXJsKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgbWVzc2FnZTogSS5NZXNzYWdlID0ge1xuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IHtcbiAgICAgICAgICAgICAgICAgICAgXCJpc1ZhbGlkU2VhdFNlbGVjdGlvblwiOiBpc1ZhbGlkU2VhdFNlbGVjdGlvbixcbiAgICAgICAgICAgICAgICAgICAgXCJwYXJzZWRIVE1MXCI6IHBhcnNlZEhUTUwsXG4gICAgICAgICAgICAgICAgICAgIFwidXJsXCI6IGluVXJsLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZnJvbTogXCJwYXJlbnRcIixcbiAgICAgICAgICAgICAgICBldmVudDogXCJwYXJlbnRfc2VuZENoZWNrb3V0UmVzcG9uc2VcIixcbiAgICAgICAgICAgICAgICBkYXRlOiBEYXRlLm5vdygpXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgQ29tbXVuaWNhdGlvbi5zZW5kTWVzc2FnZShtZXNzYWdlLCBcImlmcmFtZVNlYXRtYXBcIik7XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaChmdW5jdGlvbiAoZXJyb3IpIHtcbiAgICAgICAgICAgIFV0aWxzLmNvbnNvbGVMb2coXCJlcnJvciBpbiBjaGlsZF9uZWVkQ2hlY2tvdXRSZXNwb25zZVwiKTtcbiAgICAgICAgICAgIFV0aWxzLmNvbnNvbGVMb2coZXJyb3IpO1xuICAgICAgICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluaXROZWVkSW5wdXRzV2l0aFZhbHVlKGluSW5wdXRzV2l0aFZhbHVlOiBJLklucHV0c1dpdGhWYWx1ZSkge1xuICAgIGNvbnN0IG1lc3NhZ2U6IEkuTWVzc2FnZSA9IHtcbiAgICAgICAgbWVzc2FnZTogaW5JbnB1dHNXaXRoVmFsdWUsXG4gICAgICAgIGZyb206IFwicGFyZW50XCIsXG4gICAgICAgIGV2ZW50OiBcInBhcmVudF9pbml0X3NlbmRJbnB1dHNXaXRoVmFsdWVcIixcbiAgICAgICAgZGF0ZTogRGF0ZS5ub3coKVxuICAgIH07XG4gICAgQ29tbXVuaWNhdGlvbi5zZW5kTWVzc2FnZShtZXNzYWdlLCBcImlmcmFtZVNlYXRtYXBcIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0TmVlZFZlbnVlWE1MKGluSW5wdXRzV2l0aFZhbHVlOiBJLklucHV0c1dpdGhWYWx1ZSkge1xuICAgIENvbW11bmljYXRpb24uc2VuZFhNTChpbklucHV0c1dpdGhWYWx1ZVtcInBvc3R1cmxcIl0sIFwiaWZyYW1lU2VhdG1hcFwiLCBcInBhcmVudF9pbml0X3NlbmRWZW51ZVhNTFwiLCBcInBhcmVudFwiKTtcbiAgICBjb25maWcuY2hpbGRIYXNWZW51ZVhNTCA9IHRydWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBuZWVkU2VhdG1hcFhNTChpbkU6IGFueSwgaW5JbnB1dHNXaXRoVmFsdWU6IEkuSW5wdXRzV2l0aFZhbHVlKSB7XG4gICAgY29uc3QgZGF0YTogSS5NZXNzYWdlID0gSlNPTi5wYXJzZShpbkUuZGF0YSk7XG4gICAgY29uc3Qgc2VhdG1hcFVybDogc3RyaW5nID0gYCR7aW5JbnB1dHNXaXRoVmFsdWVbXCJwb3N0dXJsUmF3RGVjb2RlZFwiXX0maW5jbHNlYXRtYXA9WSZzZWF0bWFwPSR7ZGF0YS5tZXNzYWdlfWA7XG4gICAgQ29tbXVuaWNhdGlvbi5zZW5kWE1MKHNlYXRtYXBVcmwsIFwiaWZyYW1lU2VhdG1hcFwiLCBcInBhcmVudF9zZW5kU2VhdG1hcFhNTFwiLCBcInBhcmVudFwiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsaWNrQ2hlY2tvdXQoaW5FOiBhbnkpIHtcbiAgICBjb25zdCBkYXRhOiBJLk1lc3NhZ2UgPSBKU09OLnBhcnNlKGluRS5kYXRhKTtcbiAgICBjb25zdCBpblVybDogc3RyaW5nID0gZGF0YS5tZXNzYWdlLnVybDtcbiAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGluVXJsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0UmVzb3VyY2VzKCk6IHZvaWQge1xuICAgIGNvbnN0IGJyYW5jaDogSS5UeXBlQ29uZmlnQnJhbmNoID0gY29uZmlnLmJyYW5jaDtcbiAgICBjb25zdCByZXNvdXJjZXMgPSBjb25maWcucmVzb3VyY2VzW2JyYW5jaF07XG5cbiAgICBVdGlscy5pbmplY3QocmVzb3VyY2VzLkNTU1BhcmVudCwgXCJjc3NcIiwgXCJib2R5XCIpO1xufSIsImltcG9ydCAqIGFzIEkgZnJvbSBcIi4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcbnZhciBqUXVlcnkgPSByZXF1aXJlKFwianF1ZXJ5XCIpO1xuaW1wb3J0IFV0aWxzIGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VmVudWVMb2NhdGlvbigpOiBzdHJpbmcge1xuICAgIGxldCBzcGFuQXJyOiBzdHJpbmdbXSA9IFtdO1xuICAgIGpRdWVyeShcIi52ZW51ZSBzcGFuXCIpLmVhY2goZnVuY3Rpb24gKHRoaXM6IGFueSkge1xuICAgICAgICBzcGFuQXJyLnB1c2goalF1ZXJ5KHRoaXMpLnRleHQoKSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gc3BhbkFyci5qb2luKFwiLCBcIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRJbnB1dHMoaW5Db250ZW50OiBzdHJpbmcpOiBJLklucHV0cyAge1xuICAgIGNvbnN0IHBhcnNlZEhUTUw6IE5vZGVbXSA9IGpRdWVyeS5wYXJzZUhUTUwoaW5Db250ZW50KTtcbiAgICBsZXQgaW5wdXRzOiBJLklucHV0cyA9IHt9O1xuXG4gICAgalF1ZXJ5KHBhcnNlZEhUTUwpLmZpbmQoJ2lucHV0JykuZWFjaChmdW5jdGlvbiAodGhpczogYW55KSB7XG4gICAgICAgIGNvbnN0IG5hbWU6IHN0cmluZyA9IHRoaXMubmFtZTtcbiAgICAgICAgY29uc3QgdmFsdWU6IHN0cmluZyA9IHRoaXMudmFsdWU7XG5cbiAgICAgICAgaWYgKHZhbHVlICE9PSAnJylcbiAgICAgICAgICAgIGlucHV0c1tuYW1lXSA9IHZhbHVlO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGlucHV0cztcbn1cblxuLy8gdG9kbzogY2hlY2sgd2l0aCBkaWZmZXJlbnQgdmVudWVzXG5leHBvcnQgZnVuY3Rpb24gZ2V0SW1wb3J0YW50Tm90ZSgpOiBJLkltcG9ydGFudE5vdGUgfCB1bmRlZmluZWQgIHtcbiAgICBpZiAoalF1ZXJ5KFwiLmltcG9ydGFudF9ub3RlXCIpLmxlbmd0aCkge1xuICAgICAgICBjb25zdCBpbXBvcnRhbnROb3RlOiBzdHJpbmcgfCBudWxsID0galF1ZXJ5KFwiLmltcG9ydGFudF9ub3RlXCIpWzBdLnRleHRDb250ZW50O1xuXG4gICAgICAgIGlmIChpbXBvcnRhbnROb3RlPy50cmltKCkubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCBpbXBvcnRhbnROb3RlRW5jb2RlZDogc3RyaW5nID0gZW5jb2RlVVJJQ29tcG9uZW50KGltcG9ydGFudE5vdGUpO1xuICAgICAgICAgICAgcmV0dXJuIDxJLkltcG9ydGFudE5vdGU+IHtcbiAgICAgICAgICAgICAgICBcImltcG9ydGFudE5vdGVcIjogaW1wb3J0YW50Tm90ZSxcbiAgICAgICAgICAgICAgICBcImltcG9ydGFudE5vdGVFbmNvZGVkXCI6IGltcG9ydGFudE5vdGVFbmNvZGVkXG4gICAgICAgICAgICB9ICAgICAgICBcbiAgICAgICAgfVxuICAgIH0gICBcblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBZGRpdGlvbmFsSW5wdXRzKGluQ29udGVudDogc3RyaW5nKTogSS5JbnB1dHMge1xuICAgIGNvbnN0IGV2ZW50ID0gaW5Db250ZW50Lm1hdGNoKC9ldmVudDpcIiguKz8pXCIvKSFbMV07XG4gICAgY29uc3QgaG9sZGNvZGUgPSBpbkNvbnRlbnQubWF0Y2goL2hvbGRjb2RlOlwiKC4rPylcIi8pIVsxXTtcbiAgICBjb25zdCBwb3N0dXJsUmF3ID0gaW5Db250ZW50Lm1hdGNoKC9wb3N0dXJsOlwiKC4rPylcIi8pIVsxXTtcbiAgICBjb25zdCBwb3N0dXJsUmF3RGVjb2RlZCA9IGRlY29kZVVSSUNvbXBvbmVudChwb3N0dXJsUmF3KTtcbiAgICBjb25zdCBwb3N0dXJsID0gZGVjb2RlVVJJQ29tcG9uZW50KGAke3Bvc3R1cmxSYXd9JmV2ZW50PSR7ZXZlbnR9JmhvbGRjb2RlPSR7aG9sZGNvZGV9Jm5vY2FjaGU9MCZpbmNscGtnPVkmaW5jbG9mZmVyPVkmaW5jbGNhcnRkZXRhaWxzPVkmaW5jbENhcnQ9WSZpbmNsdmVudWU9WWApO1xuICAgIGNvbnN0IHZlbnVlTG9jYXRpb24gPSBnZXRWZW51ZUxvY2F0aW9uKCk7XG4gICAgY29uc3QgdGlja2V0UHVyY2hhc2VVcmwgPSBgJHtwb3N0dXJsUmF3RGVjb2RlZC5zcGxpdChcIj9cIilbMF0uc3BsaXQoJy8nKS5zbGljZSgwLC0xKS5qb2luKCcvJyl9L1RpY2tldFB1cmNoYXNlYDtcblxuICAgIHJldHVybiA8SS5JbnB1dHM+IHtcbiAgICAgICAgXCJldmVudFwiOiBldmVudCxcbiAgICAgICAgXCJob2xkY29kZVwiOiBob2xkY29kZSxcbiAgICAgICAgXCJwb3N0dXJsUmF3XCI6IHBvc3R1cmxSYXcsXG4gICAgICAgIFwicG9zdHVybFJhd0RlY29kZWRcIjogcG9zdHVybFJhd0RlY29kZWQsXG4gICAgICAgIFwicG9zdHVybFwiOiBwb3N0dXJsLFxuICAgICAgICBcInZlbnVlTG9jYXRpb25cIjogdmVudWVMb2NhdGlvbixcbiAgICAgICAgXCJ0aWNrZXRQdXJjaGFzZVVybFwiOiB0aWNrZXRQdXJjaGFzZVVybFxuICAgIH0gICAgXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRWZW51ZUltYWdlKCk6IEkuVmVudWVJbWFnZSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgaW1nOiBIVE1MSW1hZ2VFbGVtZW50ID0galF1ZXJ5KFwiI3N0YXRpY192ZW51ZV9tYXAgaW1nXCIpLmdldCgwKTtcblxuICAgIGlmIChpbWcpIHtcbiAgICAgICAgcmV0dXJuIDxJLlZlbnVlSW1hZ2U+IHtcbiAgICAgICAgICAgIHZlbnVlSW1hZ2VTcmM6IGltZy5zcmMsXG4gICAgICAgICAgICB2ZW51ZUltYWdlSGVpZ2h0OiBpbWcuaGVpZ2h0LFxuICAgICAgICAgICAgdmVudWVJbWFnZVdpZHRoOiBpbWcud2lkdGhcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U01BUCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICghalF1ZXJ5KFwiI3NlYXRpbmdfbWFwX3VybFwiKS5sZW5ndGgpXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCBzdHI6IHN0cmluZyA9IGpRdWVyeShcIiNzZWF0aW5nX21hcF91cmwgYVwiKS5hdHRyKFwib25jbGlja1wiKTtcbiAgICBjb25zdCByZSA9IC9vcGVuTmV3V2luZG93XFwoXFwnKFxcZCspXFwnLztcbiAgICBjb25zdCBmb3VuZDogUmVnRXhwTWF0Y2hBcnJheSB8IG51bGwgPSBzdHIubWF0Y2gocmUpO1xuIFxuICAgIHJldHVybiBmb3VuZCA/IGZvdW5kWzFdIDogdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RXZlbnRJbmZvKCk6IEkuRXZlbnRJbmZvIHtcbiAgICBjb25zdCB2ZW51ZVhNTDogSS5WZW51ZVhNTCA9IGNvbmZpZy5zdGF0ZS5pblZlbnVlWE1MITtcbiAgICBjb25zdCBzZWN0aW9uQXJyOiBJLlNlY3Rpb24yW10gPSB2ZW51ZVhNTC5tYXN0ZXJfY29uZmlnWzBdLnNlY3Rpb25faW52ZW50b3J5WzBdLnNlY3Rpb247XG4gICAgY29uc3QgZXZlbnRPYmo6IEkuRXZlbnQgPSB2ZW51ZVhNTC5ldmVudFswXTtcbiAgICBjb25zdCBldmVudDogSS5FdmVudCA9IHZlbnVlWE1MLmV2ZW50WzBdO1xuICAgIGNvbnN0IHZlbnVlX2NvbmZpZzogSS5WZW51ZUNvbmZpZyA9IHZlbnVlWE1MLnZlbnVlX2NvbmZpZ1swXTtcbiAgICBjb25zdCBkYXRlT2JqOiBEYXRlID0gbmV3IERhdGUocGFyc2VJbnQoZXZlbnQueWVhclswXSksIHBhcnNlSW50KGV2ZW50Lm1vbnRoWzBdKSAtIDEsIHBhcnNlSW50KGV2ZW50LmRheVswXSksIHBhcnNlSW50KGV2ZW50LmhvdXJbMF0pLCBwYXJzZUludChldmVudC5taW51dGVbMF0pKTtcbiAgICBjb25zdCBzdGFydDogc3RyaW5nW10gPSBbZGF0ZU9iai50b0xvY2FsZVN0cmluZyhbXCJkZS1ERVwiXSwgeyB3ZWVrZGF5OiBcImxvbmdcIiwgZGF5OiBcIjItZGlnaXRcIiwgbW9udGg6IFwiMi1kaWdpdFwiLCB5ZWFyOiBcIm51bWVyaWNcIiwgaG91cjogXCIyLWRpZ2l0XCIsIG1pbnV0ZTogXCIyLWRpZ2l0XCIsIHRpbWVab25lTmFtZTogXCJzaG9ydFwiIH0pXTtcbiAgICBjb25zdCB3ZWVrZGF5OiBzdHJpbmdbXSA9IFtVdGlscy5nZXREYXlOYW1lKGRhdGVPYmosIFwiZGUtREVcIildO1xuICAgIGNvbnN0IHNlYXRzX2F2YWlsYWJsZSA9IHNlY3Rpb25BcnIubWFwKGl0ZW0gPT4gcGFyc2VJbnQoaXRlbS5hdmFpbGFibGVbMF0pKS5yZWR1Y2UoKHByZXYsIGN1cnIpID0+IHByZXYgKyBjdXJyKTtcblxuICAgIGNvbnN0IGV2ZW50RXh0ZW5kOiBJLkV2ZW50RXh0ZW5kID0ge1xuICAgICAgICB2ZW51ZV9jb25maWdfY2FwYWNpdHk6IHZlbnVlX2NvbmZpZy5jYXBhY2l0eSxcbiAgICAgICAgdmVudWVfY29uZmlnX2NvZGU6IHZlbnVlX2NvbmZpZy5jb2RlLFxuICAgICAgICB2ZW51ZV9jb25maWdfZGVzYzogdmVudWVfY29uZmlnLmRlc2MsXG4gICAgICAgIHZlbnVlX2NvbmZpZ19pZDogdmVudWVfY29uZmlnLmlkLFxuICAgICAgICB2ZW51ZV9jb25maWdfbmF2X2ltYWdlOiB2ZW51ZV9jb25maWcubmF2X2ltYWdlLFxuICAgICAgICB2ZW51ZV9jb25maWdfbmF2X2ltYWdlX2hlaWdodDogdmVudWVfY29uZmlnLm5hdl9pbWFnZV9oZWlnaHQsXG4gICAgICAgIHZlbnVlX2NvbmZpZ19uYXZfaW1hZ2Vfd2lkdGg6IHZlbnVlX2NvbmZpZy5uYXZfaW1hZ2Vfd2lkdGgsXG4gICAgICAgIHN0YXJ0OiBzdGFydCxcbiAgICAgICAgd2Vla2RheTogd2Vla2RheSxcbiAgICAgICAgc2VhdHNfYXZhaWxhYmxlOiBzZWF0c19hdmFpbGFibGUsXG4gICAgfTtcblxuICAgIHJldHVybiA8SS5FdmVudEluZm8+eyAuLi5ldmVudE9iaiwgLi4uZXZlbnRFeHRlbmQgfTtcbn0iLCJpbXBvcnQgeyBjb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcbmltcG9ydCAqIGFzIEkgZnJvbSBcIi4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgKiBhcyBYTUxIZWxwZXIgZnJvbSBcIi4veG1saGVscGVyXCI7XG5pbXBvcnQgKiBhcyBqQm94SGVscGVyIGZyb20gXCIuL2pCb3hIZWxwZXJcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGFkZFNlYXRUb1N0YXRlKGluU2VsZWN0ZWRTZWF0OiBJLkpTQ1NlbGVjdGVkU2VhdCk6IHZvaWQge1xuICAgIGFkZFNlYXRPYmpUb1N0YXRlKGluU2VsZWN0ZWRTZWF0KTtcbiAgICBjb25zdCBwcmljZXNjYWxlSUQ6IHN0cmluZyA9IGNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzT2JqW2luU2VsZWN0ZWRTZWF0LmlkXS5kYXRhLnNlYXRzT2JqLmlkWzBdO1xuICAgIGNvbnN0IHByaWNlc2NhbGVPYmo6IEkuUHJpY2VzY2FsZTUgfCB1bmRlZmluZWQgPSBYTUxIZWxwZXIuZ2V0VmVudWVQcmljZVN0cnVjdHVyZVByb3BlcnR5QnlQcmljZXNjYWxlSUQocHJpY2VzY2FsZUlEKTtcblxuICAgIGlmIChwcmljZXNjYWxlT2JqKSB7XG4gICAgICAgIGNvbnN0IGZpcnN0QnV5ZXJUeXBlSUQ6IHN0cmluZyA9IHByaWNlc2NhbGVPYmouYnV5ZXJfdHlwZVswXS5pZFswXTtcbiAgICAgICAgY29uc3QgYnV5ZXJUeXBlQ29kZTogc3RyaW5nIHwgdW5kZWZpbmVkID0gWE1MSGVscGVyLmdldEJ1eWVyVHlwZUNvZGVCeUJ1eWVyVHlwZUlEKGZpcnN0QnV5ZXJUeXBlSUQpO1xuICAgICAgICBjb25zdCBzZWxlY3RlZFNlYXRzQXJySXRlbTogKHN0cmluZyB8IHVuZGVmaW5lZClbXSA9IFtpblNlbGVjdGVkU2VhdC5pZCwgZmlyc3RCdXllclR5cGVJRCwgYnV5ZXJUeXBlQ29kZV07XG4gICAgICAgIGFkZFNlYXRzSXRlbVRvU3RhdGUoc2VsZWN0ZWRTZWF0c0Fyckl0ZW0pO1xuICAgIH1cbiAgICBlbHNlXG4gICAgICAgIGNvbnNvbGUud2FybihgQ2Fubm90IGZpbmQgY29ycmVzcG9uZGluZyB2ZW51ZVhNTCBwcmljZXNjYWxlT2JqIGZvciBwcmljZXNjYWxlIHdpdGggSUQgJHtwcmljZXNjYWxlSUR9YCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVTZWF0RnJvbVN0YXRlKGluU2VsZWN0ZWRTZWF0OiBJLkpTQ1NlbGVjdGVkU2VhdCk6IHZvaWQge1xuICAgIGRlbGV0ZSBjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c09ialtpblNlbGVjdGVkU2VhdC5pZF07XG5cbiAgICBjb25zdCBpbmRleDogbnVtYmVyID0gY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNBcnIuZmluZEluZGV4KGFyciA9PiBhcnJbMF0gPT09IGluU2VsZWN0ZWRTZWF0LmlkKTtcbiAgICBjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c0Fyci5zcGxpY2UoaW5kZXgsIDEpO1xuXG4gICAgY29uZmlnLnN0YXRlLmNhcnRDaGFuZ2VkID0gdHJ1ZTtcblxuICAgIGlmICghY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNBcnIubGVuZ3RoKVxuICAgICAgICBqUXVlcnkoXCIjbW9kYWxDYXJ0LW92ZXJsYXlcIikuaGlkZSgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWF4aW11bVNlbGVjdGVkU2VhdHNSZWFjaGVkKGluU2VhdE9iajogSS5KU0NTZWxlY3RlZFNlYXQpOiBib29sZWFuIHtcbiAgICBjb25zdCBzZWF0bWFwOiBhbnkgPSBjb25maWcuc3RhdGUuc2VhdG1hcDtcblxuICAgIGlmIChjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c0Fyci5sZW5ndGggPj0gY29uZmlnLm1heFNlbGVjdGVkU2VhdHMpIHtcbiAgICAgICAgakJveEhlbHBlci5zaG93SkJveE5vdGljZShgU2llIGvDtm5uZW4gbWF4aW1hbCAke2NvbmZpZy5tYXhTZWxlY3RlZFNlYXRzfSBQbMOkdHplIGF1c3fDpGhsZW4uYCk7XG4gICAgICAgIHNlYXRtYXAuc3RhdHVzKGluU2VhdE9iai5pZCwgXCJhdmFpbGFibGVcIik7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gYWRkU2VhdHNJdGVtVG9TdGF0ZShpbkl0ZW06IChzdHJpbmcgfCB1bmRlZmluZWQpW10pOiB2b2lkIHtcbiAgICBpZiAoaW5JdGVtLmV2ZXJ5KHYgPT4gdiAhPT0gKFwiXCIgfHwgdW5kZWZpbmVkIHx8IG51bGwpKSkge1xuICAgICAgICBjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c0Fyci5wdXNoKDxzdHJpbmdbXT5pbkl0ZW0pO1xuICAgICAgICBjb25maWcuc3RhdGUuY2FydENoYW5nZWQgPSB0cnVlO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gYWRkU2VhdE9ialRvU3RhdGUoaW5TZWxlY3RlZFNlYXQ6IEkuSlNDU2VsZWN0ZWRTZWF0KTogdm9pZCB7XG4gICAgY29uc3Qgc2VhdElEOiBzdHJpbmcgPSBpblNlbGVjdGVkU2VhdC5pZDtcbiAgICBjb25zdCBzZWF0T2JqOiBJLlN0YXRlSlNDU2VsZWN0ZWRTZWF0cyA9IHtcbiAgICAgICAgW3NlYXRJRF06IGluU2VsZWN0ZWRTZWF0XG4gICAgfVxuXG4gICAgY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNPYmogPSB7IC4uLmNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzT2JqLCAuLi5zZWF0T2JqIH1cbn0iLCJpbXBvcnQgKiBhcyBJIGZyb20gXCIuLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0ICogYXMgQ29tbXVuaWNhdGlvbiBmcm9tIFwiLi9jb21tdW5pY2F0aW9uXCI7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcbmltcG9ydCAqIGFzIEV2ZW50cyBmcm9tIFwiLi9ldmVudHNcIjtcbmltcG9ydCAqIGFzIFBhbnpvb20gZnJvbSBcIi4vcGFuem9vbVwiO1xuaW1wb3J0ICogYXMgQ2FydEJ1dHRvbnMgZnJvbSBcIi4vY2FydEJ1dHRvbnNcIjtcbmltcG9ydCBVdGlscyBmcm9tIFwiLi91dGlsc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gc2V0T3B0aW9uU2VsZWN0KGluU2VhdG1hcExpc3Rpbmc6IEkuU2VhdG1hcFtdLCBpbklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBzZWF0bWFwRHJvcGRvd246IEhUTUxFbGVtZW50IHwgbnVsbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGluSWQpO1xuXG4gICAgaWYgKHNlYXRtYXBEcm9wZG93bikge1xuICAgICAgICBmb3IgKGxldCBzZWF0bWFwT2JqIG9mIGluU2VhdG1hcExpc3RpbmcpIHtcbiAgICAgICAgICAgIHZhciBvcHQ6IEhUTUxPcHRpb25FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnb3B0aW9uJyk7XG4gICAgICAgICAgICBvcHQudmFsdWUgPSBzZWF0bWFwT2JqLmlkWzBdO1xuICAgICAgICAgICAgb3B0LmlubmVySFRNTCA9IHNlYXRtYXBPYmouZGVzY1swXTtcbiAgICAgICAgICAgIHNlYXRtYXBEcm9wZG93bi5hcHBlbmRDaGlsZChvcHQpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0RXZlbnRJbmZvKGluRXZlbnRJbmZvOiBJLkV2ZW50SW5mbyk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0c1dpdGhWYWx1ZSA9IGNvbmZpZy5zdGF0ZS5pbnB1dHNXaXRoVmFsdWUhO1xuXG4gICAgalF1ZXJ5KFwiI2V2ZW50SW5mb0Rlc2Mgc3Bhbi5mbC1oZWFkaW5nLXRleHRcIilbMF0uY2hpbGROb2Rlc1swXS50ZXh0Q29udGVudCA9IGluRXZlbnRJbmZvLmRlc2NbMF07XG4gICAgalF1ZXJ5KFwiI2V2ZW50SW5mb0RhdGUgcFwiKVswXS5jaGlsZE5vZGVzWzBdLnRleHRDb250ZW50ID0gaW5FdmVudEluZm8uc3RhcnRbMF07XG4gICAgalF1ZXJ5KFwiI2V2ZW50SW5mb0xvY2F0aW9uIHBcIilbMF0uY2hpbGROb2Rlc1swXS50ZXh0Q29udGVudCA9IGlucHV0c1dpdGhWYWx1ZS52ZW51ZUxvY2F0aW9uO1xuICAgIGpRdWVyeShcIiNldmVudEluZm9DYXBhY2l0eSBwXCIpWzBdLmNoaWxkTm9kZXNbMF0udGV4dENvbnRlbnQgPSBgVmVyZsO8Z2JhcmUgUGzDpHR6ZTogJHtpbkV2ZW50SW5mby5zZWF0c19hdmFpbGFibGV9IHZvbiAke2luRXZlbnRJbmZvLnZlbnVlX2NvbmZpZ19jYXBhY2l0eVswXX1gO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRGlhbG9nKCk6IHZvaWQge1xuICAgIGNvbnN0IGlmcmFtZUhUTUw6IHN0cmluZyA9IFwiPGlmcmFtZSBpZD0naWZyYW1lU2VhdG1hcCcgc2Nyb2xsaW5nPSdubycgZnJhbWVib3JkZXI9JzAnIG1hcmdpbndpZHRoPScwJyBtYXJnaW5oZWlnaHQ9JzAnIGFsbG93ZnVsbHNjcmVlbiB3aWR0aD0nMTAwJScgLz5cIjtcbiAgICBjb25zdCBzcmM6IHN0cmluZyA9IFV0aWxzLmdldENvbmZpZ1ZhbHVlKFwic2VhdG1hcFwiKTtcblxuICAgIGpRdWVyeShcIiNkaWFsb2dTZWF0bWFwXCIpLmFwcGVuZChcbiAgICAgICAgalF1ZXJ5KGlmcmFtZUhUTUwpXG4gICAgICAgICAgICAuYXR0cihcInNyY1wiLCBzcmMpKVxuICAgICAgICAuZGlhbG9nKHtcbiAgICAgICAgICAgIG1vZGFsOiB0cnVlLFxuICAgICAgICAgICAgYXV0b09wZW46IGZhbHNlLFxuICAgICAgICAgICAgY2xvc2VPbkVzY2FwZTogdHJ1ZSxcbiAgICAgICAgICAgIGRyYWdnYWJsZTogZmFsc2UsXG4gICAgICAgICAgICBoaWRlOiB0cnVlLFxuICAgICAgICAgICAgc2hvdzogdHJ1ZSxcbiAgICAgICAgICAgIHJlc2l6YWJsZTogZmFsc2UsXG4gICAgICAgICAgICB0aXRsZTogXCJcIixcbiAgICAgICAgICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICAgICAgICAgIGhlaWdodDogXCJhdXRvXCIsXG4gICAgICAgICAgICBjbG9zZTogKCkgPT4galF1ZXJ5KFwiaHRtbCwgYm9keVwiKS5jc3MoXCJvdmVyZmxvd1wiLCBcImF1dG9cIiksXG4gICAgICAgIH0pO1xuXG4gICAgRXZlbnRzLmFkZE9wZW5TZWF0bWFwKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZXN0cm95Q3VycmVudFNlYXRtYXAoaW5TZWxlY3Rvcjogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKGNvbmZpZy5zdGF0ZS5wYW56b29tKVxuICAgICAgICBQYW56b29tLnVuYmluZFBhbnpvb21FdmVudHMoaW5TZWxlY3Rvcik7XG5cbiAgICBqUXVlcnkoXCIjY29udGFpbmVyU2VhdG1hcElubmVyXCIpLnJlbW92ZSgpO1xuICAgIGpRdWVyeShcIiNodG1sU2VhdG1hcElubmVyIC5mbC1odG1sXCIpLnJlbW92ZUF0dHIoXCJzdHlsZVwiKTtcbiAgICBqUXVlcnkoXCIjaHRtbFNlYXRtYXBJbm5lciAuZmwtaHRtbFwiKS5hcHBlbmQoJzxkaXYgaWQ9XCJjb250YWluZXJTZWF0bWFwSW5uZXJcIj48L2Rpdj4nKTtcbiAgICBqUXVlcnkoXCIjSlNDTGVnZW5kSW5uZXJcIikucmVtb3ZlKCk7XG4gICAgalF1ZXJ5KFwiI0pTQ0xlZ2VuZCAuZmwtaHRtbFwiKS5hcHBlbmQoJzxkaXYgaWQ9XCJKU0NMZWdlbmRJbm5lclwiPjwvZGl2PicpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29udHJvbExvZnRsb2FkZXIoaW5Td2l0Y2g6IHN0cmluZykge1xuICAgIGlmIChpblN3aXRjaCA9PT0gXCJzaG93XCIpXG4gICAgICAgIGpRdWVyeShcImJvZHlcIikucmVtb3ZlQ2xhc3MoXCJsb2FkZWQgbG9mdGxvYWRlci1sb2FkZWRcIik7XG4gICAgZWxzZSBpZiAoaW5Td2l0Y2ggPT09IFwiaGlkZVwiKVxuICAgICAgICBqUXVlcnkoXCJib2R5XCIpLmFkZENsYXNzKFwibG9hZGVkIGxvZnRsb2FkZXItbG9hZGVkXCIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2hhbmdlVmVudWVJbWFnZSgpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dHNXaXRoVmFsdWU6IEkuSW5wdXRzV2l0aFZhbHVlID0gY29uZmlnLnN0YXRlLmlucHV0c1dpdGhWYWx1ZSE7XG5cbiAgICBpZiAoaW5wdXRzV2l0aFZhbHVlLnZlbnVlSW1hZ2VTcmMgIT09IHVuZGVmaW5lZClcbiAgICAgICAgalF1ZXJ5KFwiI3ZlbnVlSW1hZ2UgaW1nXCIpLmF0dHIoXCJzcmNcIiwgaW5wdXRzV2l0aFZhbHVlLnZlbnVlSW1hZ2VTcmMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmFkZUluQ2FydE1vZGFsKCk6IHZvaWQge1xuICAgIGpRdWVyeShcIiNtb2RhbENhcnQtb3ZlcmxheVwiKS5mYWRlSW4oMzAwKTtcbiAgICBDb21tdW5pY2F0aW9uLnNlbmRFdmVudFRvUGFyZW50KFwiY2hpbGRfaGlkZV9kaWFsb2dfdGl0bGViYXJcIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZVByaWNlc2NhbGVDU1MoKTogc3RyaW5nIHtcbiAgICBjb25zdCB2ZW51ZVhNTDogSS5WZW51ZVhNTCA9IGNvbmZpZy5zdGF0ZS5pblZlbnVlWE1MITtcbiAgICBjb25zdCB2ZW51ZVByaWNlc2NhbGVzQXJyOiBJLlByaWNlc2NhbGUyW10gPSB2ZW51ZVhNTC52ZW51ZVswXS5wcmljZXNjYWxlc1swXS5wcmljZXNjYWxlO1xuXG4gICAgcmV0dXJuIHZlbnVlUHJpY2VzY2FsZXNBcnIubWFwKGFyciA9PiB7XG4gICAgICAgIGNvbnN0IElEOiBzdHJpbmcgPSBhcnIuaWRbMF07XG4gICAgICAgIGxldCBjb2xvcjogc3RyaW5nID0gYCMke2Fyci5jb2xvclswXX0gIWltcG9ydGFudGA7ICAvLyBVcGRhdGU6IENvbG9ycyBhcmUgYWx3YXlzIGRlZmluZWQ6IGZhbGxiYWNrIGNvbG9ycyBleGlzdCBpbiBzeXN0ZW0gc28gZXZlcnkgWE1MIHByb3ZpZGVzIHRoZW1cbiAgICAgICAgcmV0dXJuIGAuXyR7SUR9IHsgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcn07IH1gO1xuICAgIH0pLmpvaW4oXCJcXHJcXG5cIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGp1c3RVSVRvTG9hZGluZygpOiB2b2lkIHtcbiAgICBDYXJ0QnV0dG9ucy5zaG93SGlkZUJ0bkNhcnRMb2FkaW5nKFwic2hvd1wiKTtcbiAgICBqUXVlcnkoXCIjbW9kYWxDYXJ0IGlcIikuaGlkZSgpO1xuICAgIGpRdWVyeShcIiNtb2RhbENhcnQgLnVhYmItYnV0dG9uLXRleHRcIikuYWRkQ2xhc3MoXCJkb3QtcHVsc2VcIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBlbmRWZXJzaW9uKCk6IHZvaWQge1xuICAgIGpRdWVyeShcIiNib3R0b21IVE1MVmVyc2lvblwiKVswXS5pbm5lclRleHQgPSBjb25maWcudmVyc2lvbjtcbiAgICBqUXVlcnkoXCIjYm90dG9tSFRNTEJyYW5jaFwiKVswXS5pbm5lclRleHQgPSBgKCR7Y29uZmlnLmJyYW5jaH0pYDtcbn0iLCJpbXBvcnQgKiBhcyBJIGZyb20gXCIuLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSBcIi4vY29uZmlnXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFV0aWxzIHtcblxuICAgIHN0YXRpYyB3YWl0Rm9yRWxlbWVudChpblNlbGVjdG9yOiBzdHJpbmcgfCBDYWxsYWJsZUZ1bmN0aW9uLCBpbkNhbGxiYWNrOiBGdW5jdGlvbiwgaW5Td2l0Y2g6IEkuVHlwZVdhaXRGb3JFbGVtZW50U3dpdGNoID0gXCJzZWxlY3RvclwiLCBpbkNoZWNrSW50ZXJ2YWxJbk1zOiBudW1iZXIgPSAxMDAwLCBpblRpbWVvdXRJbk1zOiBudW1iZXIgPSAxMDAwMCk6IHZvaWQge1xuICAgICAgICBjb25zdCBzdGFydFRpbWVJbk1zOiBudW1iZXIgPSBEYXRlLm5vdygpO1xuXG4gICAgICAgIChmdW5jdGlvbiBsb29wU2VhcmNoKCk6IHZvaWQge1xuICAgICAgICAgICAgY29uc3QgZWxlbWVudDogYm9vbGVhbiB8IEhUTUxFbGVtZW50ID0gaW5Td2l0Y2ggPT09IFwic2VsZWN0b3JcIiA/IGpRdWVyeSg8c3RyaW5nPmluU2VsZWN0b3IpLmdldCgwKSA6IFV0aWxzLmdldFNlYXRtYXBFbGVtZW50KCk7XG5cbiAgICAgICAgICAgIGlmIChlbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgVXRpbHMuY29uc29sZUxvZyhcInJlYWR5XCIpO1xuICAgICAgICAgICAgICAgIGluQ2FsbGJhY2soKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIFV0aWxzLmNvbnNvbGVMb2coYFJlcGVhdGluZyBmb3IgJHtpblN3aXRjaH1gKTtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGluVGltZW91dEluTXMgJiYgRGF0ZS5ub3coKSAtIHN0YXJ0VGltZUluTXMgPiBpblRpbWVvdXRJbk1zKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgICAgICAgICAgICAgIGxvb3BTZWFyY2goKTtcbiAgICAgICAgICAgICAgICB9LCBpbkNoZWNrSW50ZXJ2YWxJbk1zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkoKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgZ2V0U2VhdG1hcEVsZW1lbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHNlYXRDaGFydHM6IENhbGxhYmxlRnVuY3Rpb24gPSAoPGFueT53aW5kb3cpLmpRdWVyeShcIiNjb250YWluZXJTZWF0bWFwXCIpLnNlYXRDaGFydHM7XG4gICAgICAgIHJldHVybiBVdGlscy5pc0Z1bmN0aW9uKHNlYXRDaGFydHMpO1xuICAgIH1cblxuICAgIHN0YXRpYyB3YWl0Rm9yU2VhdG1hcChpbkNhbGxiYWNrOiBGdW5jdGlvbik6IHZvaWQge1xuICAgICAgICBjb25zdCBzZWF0Q2hhcnRzOiBDYWxsYWJsZUZ1bmN0aW9uID0gKDxhbnk+d2luZG93KS5qUXVlcnkoXCIjY29udGFpbmVyU2VhdG1hcFwiKS5zZWF0Q2hhcnRzO1xuICAgICAgICB0aGlzLndhaXRGb3JFbGVtZW50KHNlYXRDaGFydHMsIGluQ2FsbGJhY2ssIFwic2VhdG1hcFwiKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgcXVlcnlTZWxlY3RvcihzZWxlY3Rvcjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGlmIChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKSAhPSBudWxsKVxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBzdGF0aWMgaXNGdW5jdGlvbihpblNlbGVjdG9yOiBDYWxsYWJsZUZ1bmN0aW9uKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0eXBlb2YgaW5TZWxlY3RvciA9PT0gXCJmdW5jdGlvblwiID8gdHJ1ZSA6IGZhbHNlO1xuICAgIH1cblxuICAgIHN0YXRpYyBpbmplY3QoaW5Db250ZW50OiBzdHJpbmcsIGluVHlwZTogc3RyaW5nID0gXCJqc1wiLCBpbkxvYzogc3RyaW5nID0gXCJoZWFkXCIpOiB2b2lkIHtcbiAgICAgICAgdmFyIHNjcmlwdDogSS5UeXBlSW5qZWN0U2NyaXB0IHwgdW5kZWZpbmVkO1xuXG4gICAgICAgIHN3aXRjaCAoaW5UeXBlKSB7XG4gICAgICAgICAgICBjYXNlIFwianNcIjpcbiAgICAgICAgICAgICAgICBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgICAgICAgICAgICBzY3JpcHQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnO1xuICAgICAgICAgICAgICAgIHNjcmlwdC5zcmMgPSBpbkNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgXCJjc3NcIjpcbiAgICAgICAgICAgICAgICBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XG4gICAgICAgICAgICAgICAgc2NyaXB0LnR5cGUgPSAndGV4dC9jc3MnO1xuICAgICAgICAgICAgICAgICg8SFRNTExpbmtFbGVtZW50PnNjcmlwdCkucmVsID0gXCJzdHlsZXNoZWV0XCI7XG4gICAgICAgICAgICAgICAgKDxIVE1MTGlua0VsZW1lbnQ+c2NyaXB0KS5ocmVmID0gaW5Db250ZW50O1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIFwiY3NzQ3VzdG9tXCI6XG4gICAgICAgICAgICAgICAgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcbiAgICAgICAgICAgICAgICBzY3JpcHQudHlwZSA9ICd0ZXh0L2Nzcyc7XG4gICAgICAgICAgICAgICAgc2NyaXB0LmlubmVySFRNTCA9IGluQ29udGVudDtcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSBcInNjcmlwdFwiOlxuICAgICAgICAgICAgICAgIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgICAgICAgICAgICAgIHNjcmlwdC50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7XG4gICAgICAgICAgICAgICAgc2NyaXB0LmlubmVySFRNTCA9IGluQ29udGVudDtcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBzY3JpcHQgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2NyaXB0KVxuICAgICAgICAgICAgVXRpbHMuYXBwZW5kU2NyaXB0KHNjcmlwdCwgaW5Mb2MpO1xuICAgIH1cblxuICAgIHN0YXRpYyBhcHBlbmRTY3JpcHQoaW5TY3JpcHQ6IEkuVHlwZUluamVjdFNjcmlwdCwgaW5Mb2M6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAoaW5Mb2MgPT09IFwiYm9keVwiKVxuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpblNjcmlwdCk7XG4gICAgICAgIGVsc2UgaWYgKGluTG9jID09PSBcImhlYWRcIilcbiAgICAgICAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoaW5TY3JpcHQpO1xuICAgIH1cblxuICAgIHN0YXRpYyBnZXREYXlOYW1lKGluRGF0ZTogRGF0ZSwgaW5Mb2NhbGU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBpbkRhdGUudG9Mb2NhbGVEYXRlU3RyaW5nKGluTG9jYWxlLCB7IHdlZWtkYXk6ICdsb25nJyB9KTtcbiAgICB9XG5cbiAgICBzdGF0aWMgY29uc29sZUxvZyhpbk1lc3NhZ2U6IGFueSkge1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnZbXCJOT0RFX0VOVlwiXSA9PT0gXCJkZXZlbG9wbWVudFwiKVxuICAgICAgICAgICAgY29uc29sZS5sb2coaW5NZXNzYWdlKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgZ2V0Q29uZmlnVmFsdWUoaW5Qcm9wZXJ0eTogSS5UeXBlQ29uZmlnUmVzb3VyY2VzUHJvcGVydHkpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBicmFuY2g6IEkuVHlwZUNvbmZpZ0JyYW5jaCA9IGNvbmZpZy5icmFuY2g7XG4gICAgICAgIGNvbnN0IHJlc291cmNlcyA9IGNvbmZpZy5yZXNvdXJjZXNbYnJhbmNoXTtcbiAgICAgICAgcmV0dXJuIHJlc291cmNlc1tpblByb3BlcnR5XTtcbiAgICB9XG59IiwiXG5pbXBvcnQgKiBhcyBJIGZyb20gXCIuLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSBcIi4vY29uZmlnXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm9jZXNzU01BUCgpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dHNXaXRoVmFsdWUgPSBjb25maWcuc3RhdGUuaW5wdXRzV2l0aFZhbHVlITtcblxuICAgIGlmICghaW5wdXRzV2l0aFZhbHVlLnNtYXApXG4gICAgICAgIHJldHVybjtcblxuICAgIGNvbnN0IHNtYXBBcnI6IG51bWJlcltdID0gaW5wdXRzV2l0aFZhbHVlLnNtYXAuc3BsaXQoXCJcIikubWFwKE51bWJlcik7XG5cbiAgICBpZiAoIXNtYXBBcnJbMF0pXG4gICAgICAgIGpRdWVyeShcIiNldmVudEluZm9DYXBhY2l0eVwiKS5oaWRlKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTZWN0aW9uRGVzY0J5U2VjdGlvbklEKGluU2VjdGlvbklEOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHZlbnVlWE1MOiBJLlZlbnVlWE1MID0gY29uZmlnLnN0YXRlLmluVmVudWVYTUwhO1xuICAgIGNvbnN0IHNlY3Rpb25BcnI6IEkuU2VjdGlvbltdID0gdmVudWVYTUwubWFzdGVyX2NvbmZpZ1swXS5zZWN0aW9uX2NvbmZpZ1swXS5zZWN0aW9uO1xuXG4gICAgcmV0dXJuIHNlY3Rpb25BcnIuZmluZChhcnIgPT4gaW5TZWN0aW9uSUQgPT09IGFyci5pZFswXSk/LmRlc2NbMF07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRWZW51ZVByaWNlc2NhbGVQcm9wZXJ0eUJ5UHJpY2VzY2FsZUlEKGluUHJvcGVydHk6IEkuUHJpY2VzY2FsZTJQcm9wZXJ0aWVzLCBpblByaWNlc2NhbGVJRDogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCB2ZW51ZVhNTDogSS5WZW51ZVhNTCA9IGNvbmZpZy5zdGF0ZS5pblZlbnVlWE1MITtcbiAgICBjb25zdCB2ZW51ZVByaWNlc2NhbGVBcnI6IEkuUHJpY2VzY2FsZTJbXSA9IHZlbnVlWE1MLnZlbnVlWzBdLnByaWNlc2NhbGVzWzBdLnByaWNlc2NhbGU7XG5cbiAgICByZXR1cm4gdmVudWVQcmljZXNjYWxlQXJyLmZpbmQob2JqID0+IG9iai5pZFswXSA9PT0gaW5QcmljZXNjYWxlSUQgPyBvYmogOiB1bmRlZmluZWQpPy5baW5Qcm9wZXJ0eV1bMF07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRCdXllclR5cGVDb2RlQnlCdXllclR5cGVJRChpbkJ1eWVyVHlwZUlEOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHZlbnVlWE1MOiBJLlZlbnVlWE1MID0gY29uZmlnLnN0YXRlLmluVmVudWVYTUwhO1xuICAgIGNvbnN0IHZlbnVlQnV5ZXJUeXBlQXJyOiBJLkJ1eWVyVHlwZTJbXSA9IHZlbnVlWE1MLnZlbnVlWzBdLmJ1eWVyX3R5cGVzWzBdLmJ1eWVyX3R5cGU7XG5cbiAgICByZXR1cm4gdmVudWVCdXllclR5cGVBcnIuZmluZChhcnIgPT4gaW5CdXllclR5cGVJRCA9PT0gYXJyLmlkWzBdKT8uY29kZVswXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFByaWNlQnlCdXllclR5cGVJRChpbkJ1eWVydHlwZUlEOiBzdHJpbmcsIGluUHJpY2VzY2FsZU9iajogSS5QcmljZXNjYWxlNSk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgcHJpY2UgPSBpblByaWNlc2NhbGVPYmo/LmJ1eWVyX3R5cGUuZmluZChhcnIgPT4gYXJyLmlkWzBdID09PSBpbkJ1eWVydHlwZUlEKT8ucHJpY2VbMF07XG4gICAgcmV0dXJuIHByaWNlID8gcGFyc2VGbG9hdChwcmljZSkgOiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRWZW51ZVByaWNlU3RydWN0dXJlUHJvcGVydHlCeVByaWNlc2NhbGVJRChpbklEOiBzdHJpbmcpOiBJLlByaWNlc2NhbGU1IHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCB2ZW51ZVhNTDogSS5WZW51ZVhNTCA9IGNvbmZpZy5zdGF0ZS5pblZlbnVlWE1MITtcbiAgICBjb25zdCB2ZW51ZVByaWNlc2NhbGVBcnI6IEkuUHJpY2VzY2FsZTVbXSA9IHZlbnVlWE1MLnByaWNlX3N0cnVjdHVyZVswXS5wcmljZXNjYWxlO1xuICAgIHJldHVybiB2ZW51ZVByaWNlc2NhbGVBcnIuZmluZChvYmogPT4gb2JqLmlkWzBdID09PSBpbklEKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEJ1eWVyVHlwZXNCeVByaWNlc2NhbGVJRChpblByaWNlc2NhbGVJRDogc3RyaW5nKTogSS5UeXBlQnV5ZXJUeXBlQXJyW10gfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGJ1eWVyVHlwZXNBcnI6IEkuQnV5ZXJUeXBlM1tdIHwgdW5kZWZpbmVkID0gZmluZEJ1eWVyVHlwZXNBcnJCeVByaWNlc2NhbGVJRChpblByaWNlc2NhbGVJRCk7XG4gICAgcmV0dXJuIGJ1eWVyVHlwZXNBcnIgPyBidXllclR5cGVzQXJyLm1hcChhcnIgPT4gW2Fyci5pZFswXSwgYXJyLnByaWNlWzBdLCBnZXRCdXllclR5cGVEZXNjKGFycildKSA6IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlU2VsZWN0ZWRTZWF0SW5kZXhlcygpOiBzdHJpbmcge1xuICAgIHJldHVybiAoY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNBcnIubWFwKGFyciA9PiBhcnIuam9pbihcIixcIikpKS5qb2luKFwifFwiKTtcbn1cblxuZnVuY3Rpb24gZmluZEJ1eWVyVHlwZXNBcnJCeVByaWNlc2NhbGVJRChpblByaWNlc2NhbGVJRDogc3RyaW5nKTogSS5CdXllclR5cGUzW10gfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHZlbnVlWE1MOiBJLlZlbnVlWE1MID0gY29uZmlnLnN0YXRlLmluVmVudWVYTUwhO1xuICAgIGNvbnN0IHZlbnVlUHJpY2VzY2FsZUFycjogSS5QcmljZXNjYWxlNVtdID0gdmVudWVYTUwucHJpY2Vfc3RydWN0dXJlWzBdLnByaWNlc2NhbGU7XG5cbiAgICByZXR1cm4gdmVudWVQcmljZXNjYWxlQXJyLmZpbmQob2JqID0+IG9iai5pZFswXSA9PT0gaW5QcmljZXNjYWxlSUQpPy5idXllcl90eXBlO1xufVxuXG5mdW5jdGlvbiBnZXRCdXllclR5cGVEZXNjKGluQXJyOiBJLkJ1eWVyVHlwZTMpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHZlbnVlWE1MOiBJLlZlbnVlWE1MID0gY29uZmlnLnN0YXRlLmluVmVudWVYTUwhO1xuICAgIGNvbnN0IGJ1eWVyVHlwZUFycjogSS5CdXllclR5cGUyW10gPSB2ZW51ZVhNTC52ZW51ZVswXS5idXllcl90eXBlc1swXS5idXllcl90eXBlO1xuXG4gICAgcmV0dXJuIGJ1eWVyVHlwZUFyci5maW5kKG9iaiA9PiBvYmouaWRbMF0gPT09IGluQXJyLmlkWzBdID8gb2JqLmRlc2NbMF0gOiB1bmRlZmluZWQpPy5kZXNjWzBdO1xufSJdfQ==