@expo/serve-sim 0.2.1 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -134,7 +134,7 @@ Upgrade: websocket\r
134
134
  Connection: Upgrade\r
135
135
  Sec-WebSocket-Accept: ${J}\r
136
136
  \r
137
- `),v.resume(),!0}function cB($,v,U,J){if(!$7($,v))return;let _=new g5(J);_.binaryType="arraybuffer";let I=!1,D=!1,N=[],X=Buffer.from(U),Q=()=>{if(D)return;D=!0;try{_.close()}catch{}try{v.end(eX(8,Buffer.alloc(0)))}catch{}try{v.destroy()}catch{}},W=(G)=>{if(I&&_.readyState===g5.OPEN){_.send(G.opcode===1?G.payload.toString("utf8"):h5(G.payload));return}N.push({opcode:G.opcode,payload:Buffer.from(G.payload)})},Y=()=>{try{while(X.length>0){let G=s5(X);if(!G)break;if(X=X.subarray(G.consumed),G.opcode===8){Z1(v,8,G.payload),Q();return}if(G.opcode===9){Z1(v,10,G.payload);continue}if(G.opcode===1||G.opcode===2)W({opcode:G.opcode,payload:G.payload})}}catch{Q()}};_.onopen=()=>{I=!0;for(let G of N)_.send(G.opcode===1?G.payload.toString("utf8"):h5(G.payload));N=[]},_.onmessage=(G)=>{let H=G.data,L=typeof H==="string"?Buffer.from(H):Buffer.from(H);Z1(v,typeof H==="string"?1:2,L)},_.onerror=Q,_.onclose=Q,v.on("data",(G)=>{if(typeof G==="string")G=Buffer.from(G);X=Buffer.concat([X,G]),Y()}),v.on("error",Q),v.on("close",Q),Y()}async function dB($,v,U){if(!aX(U)){v.writeHead(400,{"Content-Type":"application/json","Cache-Control":"no-store"}),v.end(JSON.stringify({error:"invalid_device"}));return}if($.method!=="GET"){v.writeHead(405,{Allow:"GET","Content-Type":"application/json","Cache-Control":"no-store"}),v.end(JSON.stringify({error:"method_not_allowed"}));return}try{let J=await w8(U);v.writeHead(200,{"Content-Type":"application/json","Cache-Control":"no-store"}),v.end(JSON.stringify(J))}catch(J){v.writeHead(500,{"Content-Type":"application/json","Cache-Control":"no-store"}),v.end(JSON.stringify({udid:U,alive:!1,error:J instanceof Error?J.message:String(J)}))}}function tB($,v,U,J,_){if(!U)return!1;let I=J.split("?")[0];if(I==="/camera/status")return dB($,v,U),!0;if((I==="/webrtc/offer"||I==="/webrtc/close"||I==="/webrtc/stats"||I==="/stream-settings")&&$.method==="OPTIONS")return bI(v),!0;if(I==="/webrtc/stats"){let N=ZQ(U);if(!N)return!1;return N.handleWebRTCStats($,v),!0}let D;try{D=Bv(U,_)}catch{return!1}switch(I){case"/stream.mjpeg":return D.handleMjpeg($,v),!0;case"/stream.avcc":return D.handleAvcc($,v),!0;case"/stream-settings":return D.handleStreamSettings($,v),!0;case"/config":return D.handleConfig($,v),!0;case"/health":return D.handleHealth($,v),!0;case"/webrtc/offer":return D.handleWebRTCOffer($,v),!0;case"/webrtc/close":return D.handleWebRTCClose($,v),!0;case"/ax":return D.handleAx($,v),!0;case"/foreground":return D.handleForeground($,v),!0;default:return!1}}function aB($,v,U,J,_){let I=A8($,v,U,"127.0.0.1",J);return _?{...I,token:_}:I}async function eB($,v,U,J,_){if(await new Promise((D)=>C4("xcrun",["simctl","boot",$],()=>D())),!await new Promise((D)=>{C4("xcrun",["simctl","bootstatus",$,"-b"],{timeout:180000},(N)=>D(!N))})){if(!await new Promise((N)=>{C4("xcrun",["simctl","list","devices","-j"],(X,Q)=>{if(X)return N(!1);try{let W=JSON.parse(Q);N(Object.values(W.devices).flat().some((Y)=>Y.udid===$&&Y.state==="Booted"))}catch{N(!1)}})}))return`Device ${$} failed to reach booted state`}return T8(aB($,v,U,J,_)),null}function sB($,v){let U=[],J=[],_=Buffer.from(v),I=!1,D=()=>{if(I)return;I=!0;for(let Q of J)Q()},N=()=>{D();try{$.end(eX(8,Buffer.alloc(0)))}catch{}try{$.destroy()}catch{}},X=()=>{for(;;){let Q;try{Q=s5(_)}catch{N();return}if(!Q)return;if(_=_.subarray(Q.consumed),Q.opcode===8)return N();if(Q.opcode===9){Z1($,10,Q.payload);continue}if(Q.opcode===1||Q.opcode===2)for(let W of U)W(Q.payload)}};if($.on("data",(Q)=>{_=Buffer.concat([_,Q]),X()}),$.on("close",D),$.on("error",D),v.length)X();return{send(Q){Z1($,2,Q)},on(Q,W){if(Q==="message")U.push(W);else J.push(W)},close:N}}function $P($,v,U,J,_){if(!J)return!1;let I;try{I=Bv(J,_)}catch{return!1}if(!$7($,v))return!0;return I.attachHidSocket(sB(v,U)),!0}function pX($,v,U,J,_=!1){let I=(v===""?"":v)+"/grid/api",D=typeof J==="string"?J:void 0,N=typeof J==="object"?J:_7(D),{token:X,streamSettings:Q,...W}=$;return{...W,basePath:v,logsEndpoint:D6(v,"/logs",$.device),appStateEndpoint:D6(v,"/appstate",$.device),eventLogEndpoint:D6(v,"/api/event-log",$.device),eventLogEventsEndpoint:D6(v,"/api/event-log/events",$.device),metricsEndpoint:D6(v,"/metrics",$.device),axEndpoint:D6(v,"/ax",$.device),cameraStatusEndpoint:`${v==="/"?"":v}/helper/${encodeURIComponent($.device)}/camera/status`,devtoolsEndpoint:D6(v,"/devtools",$.device),streamSettingsEndpoint:hB($.streamUrl),gridApiEndpoint:I,gridCatalogEndpoint:I+"/catalog",gridStatusEndpoint:I+"/status",gridStatusEventsEndpoint:I+"/status/events",gridStartEndpoint:I+"/start",gridShutdownEndpoint:I+"/shutdown",gridMemoryEndpoint:I+"/memory",previewEndpoint:v===""?"/":v,execToken:U,chrome:yB($.device),...D?{codec:D}:{},...N?{streamSettings:N}:{},..._?{proxyHelpers:!0}:{}}}async function vP($){return new Promise((v)=>{let U=kB();U.once("error",()=>v(!1)),U.once("listening",()=>U.close(()=>v(!0))),U.listen($,"127.0.0.1")})}async function m5($){let v=`http://127.0.0.1:${$}`;try{let U=await fetch(`${v}/json/version`);if(!U.ok)return null;if((await U.json()).Browser!=="Safari/inspect-webkit")return null;return{port:$,cdpUrl:v,async listTargets(){return(await(await fetch(`${v}/json/list`)).json()).filter((D)=>D.id.startsWith("sim:")).map((D)=>{let X=D.id.split(":")[1],Q=D.description?.match(/\(([^)]+)\)/)?.[1];return{id:D.id,title:D.title||D.url||"Untitled",url:/^https?:/i.test(D.url)?D.url:"about:blank",type:D.type||"page",udid:X,bundleId:Q}})}}}catch{return null}}async function _P(){if(J6)try{return await(await J6).listTargets(),J6}catch{J6=null}return J6=(async()=>{let{startCdpServer:$}=await Promise.resolve().then(() => (w5(),q5));for(let v=aU;v<aU+50;v++){if(!await vP(v)){let U=await m5(v);if(U)return U;continue}try{let U=await $({host:"127.0.0.1",port:v});return{port:v,cdpUrl:`http://127.0.0.1:${v}`,async listTargets(){return U.getTargets().filter((J)=>J.source?.kind==="simulator").map((J)=>{let _=J.url??"";return{id:J.targetId,title:J.title||J.appName||_||"Untitled",url:/^https?:/i.test(_)?_:"about:blank",type:J.type||"page",appName:J.appName,bundleId:J.bundleId,udid:J.source?.id,inUseByOtherInspector:!!J.inUseByOtherInspector}})},highlightTarget:U.highlightTarget?.bind(U),releaseHighlight:U.releaseHighlight?.bind(U)}}catch(U){if(U?.code==="EADDRINUSE"){let J=await m5(v);if(J)return J;continue}throw U}}throw Error(`No available inspect-webkit port found in ${aU}-${aU+49}`)})().catch(($)=>{throw J6=null,$}),J6}function UP($){return Array.isArray($)?$[0]:$}function v7($){return UP($.headers["x-forwarded-proto"])?.split(",",1)[0]?.trim().toLowerCase()}function IP($){return v7($)==="https"?"wss":"ws"}function sU($){return v7($)==="https"?"https":"http"}function JP($,v,U,J){let _=new URL(`${$}/inspector.html`,"http://serve-sim.local");return _.searchParams.set(v,`${U}/page/${encodeURIComponent(J)}`),`${_.pathname}${_.search}`}var cX=null;function DP(){try{let $=process.argv;if($[1]&&c5($[1]))return $[1]}catch{}return"serve-sim"}function NP(){if(!cX)cX=Buffer.from("PCFkb2N0eXBlIGh0bWw+CjxodG1sPjxoZWFkPgo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsaW5pdGlhbC1zY2FsZT0xLG1heGltdW0tc2NhbGU9MSx1c2VyLXNjYWxhYmxlPW5vIj4KPHRpdGxlPlNpbXVsYXRvciBQcmV2aWV3PC90aXRsZT4KPGxpbmsgcmVsPSJpY29uIiB0eXBlPSJpbWFnZS94LWljb24iIGhyZWY9ImRhdGE6aW1hZ2UveC1pY29uO2Jhc2U2NCxBQUFCQUFVQUVCQUFBQUVBSUFBNEJnQUFWZ0FBQUNBZ0FBQUJBQ0FBUEFvQUFJNEdBQUF3TUFBQUFRQWdBS0VQQUFES0VBQUFnSUFBQUFFQUlBQ2NPQUFBYXlBQUFBQUFBQUFCQUNBQS9wb0FBQWRaQUFDSlVFNUhEUW9hQ2dBQUFBMUpTRVJTQUFBQUVBQUFBQkFJQmdBQUFCL3ovMkVBQUFBRVowRk5RUUFBc1k4TC9HRUZBQUFBSUdOSVVrMEFBSG9tQUFDQWhBQUErZ0FBQUlEb0FBQjFNQUFBNm1BQUFEcVlBQUFYY0p5NlVUd0FBQUI0WlZoSlprMU5BQ29BQUFBSUFBUUJHZ0FGQUFBQUFRQUFBRDRCR3dBRkFBQUFBUUFBQUVZQktBQURBQUFBQVFBQ0FBQ0hhUUFFQUFBQUFRQUFBRTRBQUFBQUFBQUFrQUFBQUFFQUFBQ1FBQUFBQVFBRG9BRUFBd0FBQUFFQUFRQUFvQUlBQkFBQUFBRUFBQUFRb0FNQUJBQUFBQUVBQUFBUUFBQUFBT2JZeVZNQUFBQUpjRWhaY3dBQUZpVUFBQllsQVVsU0pQQUFBQUtjYVZSWWRGaE5URHBqYjIwdVlXUnZZbVV1ZUcxd0FBQUFBQUE4ZURwNGJYQnRaWFJoSUhodGJHNXpPbmc5SW1Ga2IySmxPbTV6T20xbGRHRXZJaUI0T25odGNIUnJQU0pZVFZBZ1EyOXlaU0EyTGpBdU1DSStDaUFnSUR4eVpHWTZVa1JHSUhodGJHNXpPbkprWmowaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzh3TWk4eU1pMXlaR1l0YzNsdWRHRjRMVzV6SXlJK0NpQWdJQ0FnSUR4eVpHWTZSR1Z6WTNKcGNIUnBiMjRnY21SbU9tRmliM1YwUFNJaUNpQWdJQ0FnSUNBZ0lDQWdJSGh0Ykc1ek9uUnBabVk5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmRHbG1aaTh4TGpBdklnb2dJQ0FnSUNBZ0lDQWdJQ0I0Yld4dWN6cGxlR2xtUFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwyVjRhV1l2TVM0d0x5SStDaUFnSUNBZ0lDQWdJRHgwYVdabU9saFNaWE52YkhWMGFXOXVQakUwTkR3dmRHbG1aanBZVW1WemIyeDFkR2x2Ymo0S0lDQWdJQ0FnSUNBZ1BIUnBabVk2V1ZKbGMyOXNkWFJwYjI0K01UUTBQQzkwYVdabU9sbFNaWE52YkhWMGFXOXVQZ29nSUNBZ0lDQWdJQ0E4ZEdsbVpqcFNaWE52YkhWMGFXOXVWVzVwZEQ0eVBDOTBhV1ptT2xKbGMyOXNkWFJwYjI1VmJtbDBQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZsRWFXMWxibk5wYjI0K01qVTJQQzlsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnSUNBZ1BHVjRhV1k2VUdsNFpXeFlSR2x0Wlc1emFXOXVQakkxTmp3dlpYaHBaanBRYVhobGJGaEVhVzFsYm5OcGIyNCtDaUFnSUNBZ0lDQWdJRHhsZUdsbU9rTnZiRzl5VTNCaFkyVStNVHd2WlhocFpqcERiMnh2Y2xOd1lXTmxQZ29nSUNBZ0lDQThMM0prWmpwRVpYTmpjbWx3ZEdsdmJqNEtJQ0FnUEM5eVpHWTZVa1JHUGdvOEwzZzZlRzF3YldWMFlUNEs2ZjdKY1FBQUFvSkpSRUZVT0JHbFVzOXJFMEVVL21abWs5MU5paVd4MHRvcVZSRHhvQ0NtSUhnVVdpaWV2UFRrU2NHVENJSUhFUS8xRC9BaWluK0NKdzhxZUZERVMrMUZnZ0VWV3l5MDBDYllObW1iNXNkbXM3c3pmck90cGZjK2RuYmY3SHZ2ZTkvN1pvQWptamhjYndEMWJIZTNVRzA2N2tZdkVBR0RXMTB1T2x1ZWIzUWNoN1dKWS9YRE5RY0FkNVo2NTc1MW5PZk5VSlFTcmQxWUE0WlJUZFNFdnJhWlVvWUNwdXlZK1A3bU5XL0pBcVVBNXN1c2M4bC85R0ZGdUpNNk1QeHBZRmdvNUY1QzZqUFRScVRIMVEwL05UZmZUV05tSm5Fc3l0UGlyV0tyTGt2OVVHT2lZSEJqUkNLeDg2UkZUS0NmSWRqbkRZMjVob0FqWkduWXVYSjhIZGhJQVdvdDRTVmRPQ01zbUM0S1hQVU5hcDBFemI2QXNCeEp3WFVraGpnS3V1U2g0S2kyOExoREN0Q2pTSjFkNE1GRmdTZm5iUVV3VjR2d2FqbUJiMXNUd0ZFSzFSYjlEdU1xVFVsZktVRFE0Nnc5ZHJFZGFGYkFJVTlpY2xTZzZOdHNnNGdxanUwQXl3Mmd6WHpFTm5PZndmWTJ2YTVBMUdlRHlLVEtEeWlEVTVrRWl0MnRpRW9LVEExTHhLSEV5N0pCUWZ1b0hRYXc2b2NjcGRIUkZFeGd2YVh4ZlMyQ2w3RWtMU2hucHlBNnpNTHRhM2dwOS84YWtBSGxRa0lHOVRibmxScTFIWU9mVmY1WDdNcVI4bVJqcmRyV2tJSEE2QW1nekgySzArMTNRektPRjFZTnlqbnlaY2NmYXhxVkZRZDFKc2QyL2tGN2ZCcXJUWWxjRnZGQTBBZ3RZQW93UHYrbThhZjBzUEoxTVg5OS9oYzdFU05Lc2xEc3pnZVMreW9QM2ZCcUtsY2luM1FxTjBkLzExOFRZTy9NNkp5NXUzZ2g5c2RlUUdRdUcyTmNLNXk5QTVRai9UcEVVWTRNZlJWVnhnYzI3NzEvZkhiQk1qZ0FzQnVhT0gzNzQwa0Izek1KYnhITmRZRkJya0krYTNKZTBIczdPL1dYZ2YwRHR4bEh0SDg0aWhRSmZTYXpqUUFBQUFCSlJVNUVya0pnZ29sUVRrY05DaG9LQUFBQURVbElSRklBQUFBZ0FBQUFJQWdHQUFBQWMzcDY5QUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFnWTBoU1RRQUFlaVlBQUlDRUFBRDZBQUFBZ09nQUFIVXdBQURxWUFBQU9wZ0FBQmR3bkxwUlBBQUFBSGhsV0VsbVRVMEFLZ0FBQUFnQUJBRWFBQVVBQUFBQkFBQUFQZ0ViQUFVQUFBQUJBQUFBUmdFb0FBTUFBQUFCQUFJQUFJZHBBQVFBQUFBQkFBQUFUZ0FBQUFBQUFBQ1FBQUFBQVFBQUFKQUFBQUFCQUFPZ0FRQURBQUFBQVFBQkFBQ2dBZ0FFQUFBQUFRQUFBQ0NnQXdBRUFBQUFBUUFBQUNBQUFBQUFmZ3ZhVWdBQUFBbHdTRmx6QUFBV0pRQUFGaVVCU1ZJazhBQUFBcHhwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJbGhOVUNCRGIzSmxJRFl1TUM0d0lqNEtJQ0FnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0S0lDQWdJQ0FnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJS0lDQWdJQ0FnSUNBZ0lDQWdlRzFzYm5NNmRHbG1aajBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5MGFXWm1MekV1TUM4aUNpQWdJQ0FnSUNBZ0lDQWdJSGh0Ykc1ek9tVjRhV1k5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdlpYaHBaaTh4TGpBdklqNEtJQ0FnSUNBZ0lDQWdQSFJwWm1ZNldGSmxjMjlzZFhScGIyNCtNVFEwUEM5MGFXWm1PbGhTWlhOdmJIVjBhVzl1UGdvZ0lDQWdJQ0FnSUNBOGRHbG1aanBaVW1WemIyeDFkR2x2Ymo0eE5EUThMM1JwWm1ZNldWSmxjMjlzZFhScGIyNCtDaUFnSUNBZ0lDQWdJRHgwYVdabU9sSmxjMjlzZFhScGIyNVZibWwwUGpJOEwzUnBabVk2VW1WemIyeDFkR2x2YmxWdWFYUStDaUFnSUNBZ0lDQWdJRHhsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0eU5UWThMMlY0YVdZNlVHbDRaV3haUkdsdFpXNXphVzl1UGdvZ0lDQWdJQ0FnSUNBOFpYaHBaanBRYVhobGJGaEVhVzFsYm5OcGIyNCtNalUyUEM5bGVHbG1PbEJwZUdWc1dFUnBiV1Z1YzJsdmJqNEtJQ0FnSUNBZ0lDQWdQR1Y0YVdZNlEyOXNiM0pUY0dGalpUNHhQQzlsZUdsbU9rTnZiRzl5VTNCaFkyVStDaUFnSUNBZ0lEd3ZjbVJtT2tSbGMyTnlhWEIwYVc5dVBnb2dJQ0E4TDNKa1pqcFNSRVkrQ2p3dmVEcDRiWEJ0WlhSaFBncnAvc2x4QUFBR2hrbEVRVlJZQ2UxV3pZOFVSUlIvVlYwOTNiUExmbVVYa0JESTdvVUVSU1ZySUFvbTNreU1GeEtQbmpRbXhJTlhUTlNMQ1RHR2kvNEZHaE1UalViQ3djQkJFMDFBQ0pKZEVrRUlBbUVGQVlGZGxtVm1kcVkvcXN2ZnIyYUc2VmtXcm5yd0pkWFZYZjNxdmQvN3JCTDVuLzVsRDZoSDZYZUgzNGtPN056LzdKKzE0TWtrTUJPdFhFVlpManJIaHJ3UVNUQUtMWkppWGs0eFk3MkZueTE4NXdxL2pFdXlMSjgzeXA1YlAvdjE2Wm05ZTdQVmRLMEs0T1ByQzd1T0xvOGN1RnhUTDlSRmF4ZEFxSVZDMXhiaE9yUEdPbDh0RkhQdURnV3BBZmRBcGJKRllZdzdVY21XOXQzWU5YNThKWWlIQU95ZnU3WHJjR1BpK3pNMVBXWmJWclJ5WW93U2E1MTBGVk1JTndhQjhrb0wvQ3RURzRDU1BPZTZFaFVGWXFSWXJOcDdyMTdmUFg2aXpBc245dWo0OFcrcXgycWpuL3kycE1lS0p2eE5qWEFwaDFzeENueHpjTDM3WHA1Ny9FNG9LeTMwV0t0WTgrbms1ei9GUFkwQ1lDVTZNanc5UFZjek8yemRDb3p6NURFQVIwQXNaUmZncjBlUGRkZU5UVWVXeGw0UERLSGh1eWZFMElabVI3cDJhaHJmRDBMUkIrQjJNdkpVM1dxbEVUenVnM0V5Q0k0M3BnSlpXMEdzb2F4TWREVnBCUzRQL2o1eTVvdUx1ZHhwQWJ6blF3aE5xS3dNYnNPVzFRRWtFa3dnNUZLQlpPNWh0bThjVURLOVJvbEdtaGY4U2VMa2hmS0JqODdFWDN6bnA0NlVURldWTERTZGhCMDNjREk2bVBCOG5VZWZCNUxNUlRrUUYwazc0UnJJNGlZc24yOWlEUW1KaFBiV2hqQ0pTbFRIQlc2RkN6UTBtVEFRQ3psRkM2T3JCVEd6cVlzZUNjQW15RHRhbWlvWlFORGYzNmJsdVhFbG13ZGhwNFZLcCtWR3M1Q2pONEVNTmFpN0FPaUZMZ2lzYWEwbFJQd3RLeC9ERllTTEdhVXAyWU9zOEd0ZGJQNGp4eVp1eU9DRkZ6Y3AyYmVWTzdyVUxwZ3RJNEdjdXRHU0t6V1J5TFQvdHozUUNRL1kwVGtrcXNCeXlGSWNUQ2FRZ2piZnlkcWYvdGtQQU5ZckQ4SUp3dTZKWWt2R2VkZmZiMXE1ZGs5SlhFRWY4TVo3cnZZR2NMQUpEY1RPTnlqS1V4MEJCQ09VWDZLSEFEZ3dPVEFWSFVZbVlqZkdqQzB6T29TYnA0WUQyWXhSRGZrTkpSZ1d2QWxLcFo0cHVZY21WRUY1SnVqTkJvM0kyME9aandVQUFheDM0eEJIV2daKzlucGZqNUJBaDdQOXZyWWxGcVZEcVJpRUJkYVJyMHhNVHFiTUs1TmF2anlYeTZHTERsN1JYbVpBZVNYcTgwREtFTUFEUGs2bzR4U1NVeUNtQjJrNXJTUTFtNW5VWUtHQjBCNkJpVWpBUkFBQnZEV0VaSHo3NlJCblFpYUhMcUFER0NQbWNRQmFLTGNjSUh6NUFFZ0NFQzBvWWd4cExFUEFwcmVFSEZoTTRQcE9FaEtFMTkxQlF3RGtSZW5BWTRIc1hxL2x5TytaV0NSMzNER2l3OXJmaXJNVkh1RHgyc3djV2k3aUNkZnpZS0psTmRUMjNXV3NoVlJib2c0S2YwUUJSQUcwRG51Y0NtVVFNVjJHVVRINlNwbjZRd0NFTklWaEFIaHBZVjVHSENqUUFvQkRnMWRJZ29WNklUZFJobkVGYnVsYTVMSDA1d09UVXBFRmZpOGdCMmtqbGNjQmFBRUFlbzNQVkFMZ1JhTU9hMkdMWklCcWVRT0JSYmRyVHY1YUxDU09BQWdhWXJpSDNiR1pXa2t6NnpGMW9SakVqaTI4VmtkcGpnQkEyWHk4OTNrQTVWY3d5d01vWi9Ob0FuVUQ3WlE1a0VCQmhud2d3SVdHa3IrWGxBd1BCakkrRk1yY2dwVmJPSDIyYlF4eFlBV3lXSWNndUI5UmtBMWpSazVmemFTQUM1bUFsUlZIWng4QVpWM0taQXRRaGdWQXBMaGJKYWhwRnFCR2ZjTTRDYkREd0pjREZXUTAwSjY4bE1rZmQranFRSzdNRjdKOW84akVtb3Evd0xCSXpsN0w1ZHgxSllNUitCR21XTEhaOTZnUFFOWklGM0ljRlJxSk4zT3BrRk9iUkVaeGZTZ0FpRVJ3cDY4bTh0MnZLZTk5MGtTWHltQnhCZVdtd0pQZzVEdDJvWkNoS0lkQ1ZFc2psM3JLRUJsVUZnV3d4TzI4RjlaNTlBR1F4dng1SmVza3dPRnhGeTcrOEdDS294U1hFNWhpa1ZIc2lHZ0JLSzBCOUFERVBkU0MyNXEzbG9IbkdSbXBRTmhQVVBwWUQzQ280UWRjWDBCbWpNUWFjcmZPbHdIQXBoNDF6aHljTVhsckZvZXBCMkVrUkNoaW5HWVJSZ3doVmFtYUt0eklob0phNzdaV3psRFlIVnpuL3dEdHNIMjJJSFRZc3pacXpZN09INXp0YVdSd1M3UTg5M002dm5YUFpSMnQyNFBhalhnRkFuNWYrN1FDeWV5SDd6cDQ1M0hNTlY2L3V2ODRrOWlNZUo0NHRuVVR5dWJSN1A1a2NPYXR6ejU0L1VLYm8vMmsvSWRvNnMxZlhpNUduL2tJaFRhTkM3NEtFU2hleTltU3k4UlRqd0o4dldObTF2T2J0YzhtU1dDeHp0MjY0V1RtQ1RuNzNsZnZQdjlEZVQvZlZ3WEFINk9UMjBlSFhqcXdVOFVidG9hVjZnVEtDeFZFMFQzU0FNYkVSQ3BJekZNUjMreE5KblFGY2ljMXJqay9ZRytmVjhmMm5mejJ4NW1sM3M3LzMvNURIdmdIYWtRU1dLMGpJVXdBQUFBQVNVVk9SSzVDWUlLSlVFNUhEUW9hQ2dBQUFBMUpTRVJTQUFBQU1BQUFBREFJQmdBQUFGY0MrWWNBQUFBRVowRk5RUUFBc1k4TC9HRUZBQUFBSUdOSVVrMEFBSG9tQUFDQWhBQUErZ0FBQUlEb0FBQjFNQUFBNm1BQUFEcVlBQUFYY0p5NlVUd0FBQUI0WlZoSlprMU5BQ29BQUFBSUFBUUJHZ0FGQUFBQUFRQUFBRDRCR3dBRkFBQUFBUUFBQUVZQktBQURBQUFBQVFBQ0FBQ0hhUUFFQUFBQUFRQUFBRTRBQUFBQUFBQUFrQUFBQUFFQUFBQ1FBQUFBQVFBRG9BRUFBd0FBQUFFQUFRQUFvQUlBQkFBQUFBRUFBQUF3b0FNQUJBQUFBQUVBQUFBd0FBQUFBQW02MUswQUFBQUpjRWhaY3dBQUZpVUFBQllsQVVsU0pQQUFBQUtjYVZSWWRGaE5URHBqYjIwdVlXUnZZbVV1ZUcxd0FBQUFBQUE4ZURwNGJYQnRaWFJoSUhodGJHNXpPbmc5SW1Ga2IySmxPbTV6T20xbGRHRXZJaUI0T25odGNIUnJQU0pZVFZBZ1EyOXlaU0EyTGpBdU1DSStDaUFnSUR4eVpHWTZVa1JHSUhodGJHNXpPbkprWmowaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzh3TWk4eU1pMXlaR1l0YzNsdWRHRjRMVzV6SXlJK0NpQWdJQ0FnSUR4eVpHWTZSR1Z6WTNKcGNIUnBiMjRnY21SbU9tRmliM1YwUFNJaUNpQWdJQ0FnSUNBZ0lDQWdJSGh0Ykc1ek9uUnBabVk5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmRHbG1aaTh4TGpBdklnb2dJQ0FnSUNBZ0lDQWdJQ0I0Yld4dWN6cGxlR2xtUFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwyVjRhV1l2TVM0d0x5SStDaUFnSUNBZ0lDQWdJRHgwYVdabU9saFNaWE52YkhWMGFXOXVQakUwTkR3dmRHbG1aanBZVW1WemIyeDFkR2x2Ymo0S0lDQWdJQ0FnSUNBZ1BIUnBabVk2V1ZKbGMyOXNkWFJwYjI0K01UUTBQQzkwYVdabU9sbFNaWE52YkhWMGFXOXVQZ29nSUNBZ0lDQWdJQ0E4ZEdsbVpqcFNaWE52YkhWMGFXOXVWVzVwZEQ0eVBDOTBhV1ptT2xKbGMyOXNkWFJwYjI1VmJtbDBQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZsRWFXMWxibk5wYjI0K01qVTJQQzlsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnSUNBZ1BHVjRhV1k2VUdsNFpXeFlSR2x0Wlc1emFXOXVQakkxTmp3dlpYaHBaanBRYVhobGJGaEVhVzFsYm5OcGIyNCtDaUFnSUNBZ0lDQWdJRHhsZUdsbU9rTnZiRzl5VTNCaFkyVStNVHd2WlhocFpqcERiMnh2Y2xOd1lXTmxQZ29nSUNBZ0lDQThMM0prWmpwRVpYTmpjbWx3ZEdsdmJqNEtJQ0FnUEM5eVpHWTZVa1JHUGdvOEwzZzZlRzF3YldWMFlUNEs2ZjdKY1FBQUMrdEpSRUZVYUFYdFdWMklIV2NaZnIvNVBidG5mMDIyS1UzU2xqYjlTUk1DcFdCU1c5QkFiU0V0MUp2Y0ZoUzhLSUpDUVJTdDRJVUI5Y0tmNG9XVW9ONUpJc1ZDSU1YRzJpYUlwaWxwU2tvYTA2aHBaZFBkVFRiWjdPNDVlMmJtekkvUDg4NlozZGt6czBrS3hSdnpuWjJaYjc2ZjkzdWY5L2Y3WmtWdWxWc1MrUCtXZ1BtMDhETVJJd2YzdWxPUFArY3NMSXpiMTJ6SExNNHZtcmtTSWRhWDMxRXAzb3MyZmNmTkdSck9yblhqYk1pYVMrVFFvZTdKbDEvdWxzamNWUFdtQUV4UC82bDV3SC8waVU5Q2IvZHNhTGEyWXVzMnNhMkJvQ3RPa29vRlVCTGp5bEJKV2NjelJzWFllUjNqSkVFYnIyN3Z3anl0NHpYMVBZbURJTzJJbFY2eVRIYld5YUkzbzdOLy8vUE1jMCsxYjRUaWhnQitkZW5xbmxQUjZJL2VYN0Flbm81RVdpR1lTa1JjVHlRTXJrL2VjZkwrbU9oUTFsck1iNEFXYUJzckIyMWpvR1BTVTE1My9zWEpYWjg3bk0rdXY2OUZVMGYvZE9yYTgyKzJSMzV4L0lyeGdrNHNvQzhHTXpqSjk0MkVJZVIzbmVJNE9mbVlLcmxPcWFObGZFZGNxS0tSdEw5MWNlZndyOWVhVHA1cXk4OC9tbnI2TDYyUlh4NmRFcThMNXNtTDFXTytkc0puM0ppRnNVUWQ4UUtyK2RLbW81ZjJyRVcrRnNEQkl3ZEhUeWZyZm54ODFyaUc5Z0lCWnJEWlQzT2xuM0o4TFcyc0hYV05HN2xqUDlueTB1R1JPaEMxQVA2MStRdFBubGx5dHdldFdBd1lVYy9zZnhMWFozalZya0VoTE1VU0czZDc1NzRkVDlVQjZMblo2cTdMMXZEdTZTVVJHd1JNamZreXdsaVk2VU0xakR5MUJlYm05UG9zVldIdEtQVXBOelhTUVhpaTh4bzZXVjlKS0NodmVEZWEvOURYSlJVQWU4SDN0Y2g5c0EwQUt2MitHVEU0M2psaHlkTjMyc0pmdWhZQXpDdDRXUk5rYWN6eHkwWmUrMDlNcUJVUUdTSlVJdDRENkVKZ1JyVlVLZ0MyN2QwMmNMWnJKbUxFYnF1UE94Skh4Sk05bXl4NWdER2VraWtSNjY4V3NyelJHQWFINWpwTFRrNkpUSGN5Y2NobXVUQzlHVE94WWNlT3hzenAwNnR5UXdXQWJOdmxHY2RxZVBRT1o3V0xLQUJ0TXJJRXFTQ0pxZ25oWGw1TzY0YkJ0b1RnZW1NY0lHQ1NhMkk5RHh5NXRLVnlBU0RmTmdPeS9URlBiZ1RBODI2emc0NDRJVTJJNmJKVXVuaE5RQ3pvV3RMS2pBSkllbU80SkNXNVV2QlN2Q3UrS2tpT05aYWxERE9sUkFHaUR0Yk43TldDRTl1bXp6bjIwSVorM1ZSOUlISjlrekJuTVh2Q3VZclNoVGx0SEJDWjhETVpSYk9IZHd1eGo3OE1SdDdHK0NXWWxLdkpndk95WlZ0bWYxNktKOTlVUndDUUFVQW1BZDlwM1dyaEsrdm04ekNhM1pibTBxSkpueFVUaXFMSU1DYlRnZFdKc1NhWi8rNTJTNzV4dndVMW0xSkM2MDNIbUVXRXBsY3ZoUExoUWlZK2paZ3I5a0tZOHI4TW9yZSs5b0VXQUhCNFFKNFQzR0JMeW40WmcvWXQ2L1A2QU9naEthV2dHZ0E5TUg5WFUrU0ZyYlkwS3dyczBjSUM0M0NheHpZNGNtSnFTUm8rUkFVcktFSWlOZERQUDJjU0lNYzUwRUFNdTFlaDZiNkptaW9oS0N1dXQyVHhxR2lBSFJtSVVKMGt5SXc2aWdXOEVyMWljdi9UaC9rc0JyRUVxWXQ5RE5IbUs2c0RvMXJtZytRSWtDYWtDblBSZ0xWNHFTbWhXaTRNeWVYNVJWOHRBQ1lPRFF1UVBqV3RhYjQzZzJ1VXBaa3pna1hSemh3eDMwbkZCV29MRXFVeGNHeXVnZFhMa3lFTE54dmo2QU1OZEd2WVZoL2dZcVh4Sk5MbjF4ekJVZ0hRaGczQmlaZWx3ZTBDSFVzWlp4VzBGSURlY2luU2J5bHZadWlyN1V6R0lOVjFycEVSN0ZnYjZHQlk3RzFNbFMwR3JnaUVPcURiUmdadVJTbk9CcGJ1Ym5WdFNxT3ZHUEswS2dQa0F5b0EyTXdFcGRHQVhHczlVd0Nrd2NWWG9nb0FLQkJJRWhJYWdlMC8vOGlRM0x1dUllTURDSTlvQSs5YXlqeFJ0cndvRFBBdWkxRW1NemhickljZi9mRmNMUFB3YUI4NWdWclNRcUVWOVY1VDhhZ0FJRWhLazR2RFFuVWxGNTRHYTFJSmE5aFhhbVFoai8xcVpxZ1BRZW9QalhKdUpsMHd4ZE1YaTVwUVhsVlR5Mjg1ZlI1aVJvQnlmRmprL29jOWVmSWVSMTQ2RWN2SkdaaVZabE5NeEJnUFROV2RueW9BcUNhZW9Bb256aldRUzR2Q0xqUkFnYWhRUUJ4L0t0RVVuWE90U1B5R0JZMVFER3d2VU9DbGtDS2JVS2VBMUpFaGFndDJTSi9aQkthL3M4dVRIeDRMNWV4c0lnMFhkUERIYURXRWFUTzR5cVVDZ0JxSUFEVU9RUnpxamFIbkJLSWs0MVE1UXl5QmNMazhaeG5WRG5taWxoYVpUV0Z3bWt6Sk1EdldLajBRWko1QTFPbEJtWG5rMlh0c09UTVp3RmNBem5iUVdsOXFBWlExb0NHdHh6eWpVMG9VWkI1M01rbVFCTUxtR0FoYUFSeVNBQXF2TGRaVklHVTB5bjB1Q0FMUUdvVkFoa1UyRDl0eUczYU9sMEdQOUhFRUZ3LzVxTDlVQU5DRUdBa014WWxMa3dzMWdhdXJBRWdpQjdDODN5Y0FiRHM0cG8xTlhnd2ZzT244MXkwRVE4bm4yaVJOMWJBQ1FEdWNlQnhSYkhvUk9RaGhsb3pTaFBwTEJVQUxJN2lWTGlTdlR6QkRFNG9BakptWlRtdmpscHNTR2NBRk1VVVl0d2lKUmVpd25WU2xtaSs0N0FsOTY5Tm9PSnV5eWdHd2hTYmxJekh3UUpYeGd3RG9Ncy9kRkFENmdNWmlTaEFFaW5CSzZlS2NyU2FVSWJQWldJVCt0YnhOQUIvc24yc2prV0d3bzJFUWkwUEVPWXVnMVN1cm8xSU9qc0tnMGptWSs2TWhQRHNRaGtteENOYUdFbXBMUlFNYWhYaUFLQUdnR1hFckhkS1pxV2Y4V1doTUVQNHkyRG9YWm1URkxrS3VJSkY1a0pwRERaQjVjcC9mOUVGR1dUSms2Nkt1N3lTS1loQlhzWHVXRENCbUZ5QU1HQSt0Z09iYXJGRkJCVURIOGJJTU1aeE1FM24reEdZTFJDaGhQWjlpWlRxeFJpaHd6NlNUd2FRSVlCNzdlWmNMZ2pKTkFiYUZmWkVsNjRZY0RZVUVlM1V4aGpCQVFCSGtwb2czQlVxOFk4T1dmRHdiSXlTTERBNWlKZENqckhSTTM2MEN3QVFoTE1Ud3B3QUtFQVFRUUFPTVFqUUJMa1F6b21uUkx5QlBaV294dE1UQlhBZVowRUk0V1Qvc3lOaWdrYitkRCtRQ21OcXl3Wk5kOS9weXRXWExwWGtnNWdJS0JCeUN4UUY4MEJxRWJiNzZiZ3NIUW9DR2FnMHVLRFJ6YXI2a1ZRQjBybDVNUnh6a01tb0FKd2h1ZVQzRVpmVUJTRTIzMmoycnBvQUpyQXRRdEt3WWpGUHBTZVlpSzd0eSs1Z0RqY1J5NEoydXpDNVp5S3dEOHU1RmtjbHJzWHp4UGx2dVd1L0p6SHdxN1pBT2oxMHZwRDB4Yk9USW1Vam1PcDZNREZCcjRBRW0xWEFsSG5FdVliWFZwUUlnbkh3N0NscHBFSElvUWcrbE8zT0Y1dUZBUXBRNHFCWDJtZzlCRzA1VjhJVzVWaXJETGlUWWRLU0RrSFQwZzY1OE9FTTdSRlJCT3o3d2FEaThkQzJWQThkRHVYZEM1SUhiSFprWXNtR2FxVnhaN01vYjcwY3kyN1prY01DVmJrQk5BeHdFbUlacHNIRHFPSUwwNmxJQk1IdnVYRENjSnJQd0lmMXd4Uno0eVpWVTlyOFZ5ak03T0J5eW9zZFNaTFJLNk4zR3k4ZFhZdm5aNFFVNVBZazlESTZlQ2NZMGZGY0djYVVBQ0RsQ2ZaeUVoQVNSOHR6N2J3ajAvRlFNczhIT05JZ29MM0dodVNHWUVXTVh6WmhMTUNjMjdHVDI4bHRuS3R1aENnQ003MXBSNTd6bE5ML0U1RVF1dVpsNzVVUWlyNTFxaTJmbFoyQVAzOFJEZkZMT1J6RCtjNHZzeXVpUXE3YlBEcGR4bGdVQXRHZzA2bFhSNVBIckdIelVBNGNaTm9MOFpSakRQS1A1aCtOUjU1YThhY0lQRDBHSCtleVZleDBBU1Jlbmo5bWo2Nyt1SVJOalNiaUJzQkxESnlMZFltS25DU21HRVdOUlhoeUVDUjlNTU9vUUZCY0dWcFVnL1RRdmFDd1ZqdU5GUjdWd0htQWg4eXNGd1FGengzMUVvMmo2MkVyN1NtMkZnNVUyYWIrei80Z2RkLzVoR2VRLzlZV2NHYmdVdEdIamNpQTlXeVZJS2ZKeUFJaE1rT2xpenMwK2kyeGZOOTUzWE5uWURNN092Zi9iSXlVV2w2czlIUysvYTZWOThlMzIyTlpuWnAzbUhWOUpFa1J6bWdBbGcwdlZpeWNsbmlCaEZlOHF1YjR4UERLeW5hZTY4cmh5blRUWG9wVmx0ank0TVl2dlNOLzc1dS8zZmZYRWFpN3p0MW9Oc091ai9ZKytZaGJPdnRqd3M5aEFDdityd2x4UU9QTzJPN1A0YnYvYzkzL3p3dWRmV1d0OU5kZTFPdEh1M2ZPMW8zdk51a2UrRjV2bVE0ejFtZ2Z3aEE5TGdIODM5YXk4bGtUbFB6U1lWeTU4cFgveFgwd1JBaVMzRUEzWSs5aWd5TWFSOWdkandYdjdmdmZ0eC9sRm1ubTd0dHdJQUNlWjhXMVBiQjdiK1lNdm0rRzdIeGQ3YUV0bTNQVytiemZDeU5qSXl0QmlQUmxFUk4zLzBHUVlrUGo1aEV3eUxQSXNrWC9VTW1uRHk1SzBtd1MrMjUxdG1QWS8zZkRDWHlmZjJQZjZzZGRmbjhUNmZiQlg0NmhmZWZXWThodHRhYkE1TVRIZ3JyL1B6NXh4QkhRWDUvcGVnQytQUkIzQzFKcytXVVdGWDdmWndUWjhGODBzcTV2RlMzTkpOSDgrUEhQbWNnZk4yRTJ0TFhIMDNTcTNKSEJMQWlVSi9CY1lHc1pyMjk1WnJRQUFBQUJKUlU1RXJrSmdnb2xRVGtjTkNob0tBQUFBRFVsSVJGSUFBQUNBQUFBQWdBZ0dBQUFBd3o1aHl3QUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQWdZMGhTVFFBQWVpWUFBSUNFQUFENkFBQUFnT2dBQUhVd0FBRHFZQUFBT3BnQUFCZHduTHBSUEFBQUFIaGxXRWxtVFUwQUtnQUFBQWdBQkFFYUFBVUFBQUFCQUFBQVBnRWJBQVVBQUFBQkFBQUFSZ0VvQUFNQUFBQUJBQUlBQUlkcEFBUUFBQUFCQUFBQVRnQUFBQUFBQUFDUUFBQUFBUUFBQUpBQUFBQUJBQU9nQVFBREFBQUFBUUFCQUFDZ0FnQUVBQUFBQVFBQUFJQ2dBd0FFQUFBQUFRQUFBSUFBQUFBQW1nTzgxZ0FBQUFsd1NGbHpBQUFXSlFBQUZpVUJTVklrOEFBQUFweHBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlsaE5VQ0JEYjNKbElEWXVNQzR3SWo0S0lDQWdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRLSUNBZ0lDQWdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlLSUNBZ0lDQWdJQ0FnSUNBZ2VHMXNibk02ZEdsbVpqMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzkwYVdabUx6RXVNQzhpQ2lBZ0lDQWdJQ0FnSUNBZ0lIaHRiRzV6T21WNGFXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2WlhocFppOHhMakF2SWo0S0lDQWdJQ0FnSUNBZ1BIUnBabVk2V0ZKbGMyOXNkWFJwYjI0K01UUTBQQzkwYVdabU9saFNaWE52YkhWMGFXOXVQZ29nSUNBZ0lDQWdJQ0E4ZEdsbVpqcFpVbVZ6YjJ4MWRHbHZiajR4TkRROEwzUnBabVk2V1ZKbGMyOXNkWFJwYjI0K0NpQWdJQ0FnSUNBZ0lEeDBhV1ptT2xKbGMyOXNkWFJwYjI1VmJtbDBQakk4TDNScFptWTZVbVZ6YjJ4MWRHbHZibFZ1YVhRK0NpQWdJQ0FnSUNBZ0lEeGxlR2xtT2xCcGVHVnNXVVJwYldWdWMybHZiajR5TlRZOEwyVjRhV1k2VUdsNFpXeFpSR2x0Wlc1emFXOXVQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZoRWFXMWxibk5wYjI0K01qVTJQQzlsZUdsbU9sQnBlR1ZzV0VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnSUNBZ1BHVjRhV1k2UTI5c2IzSlRjR0ZqWlQ0eFBDOWxlR2xtT2tOdmJHOXlVM0JoWTJVK0NpQWdJQ0FnSUR3dmNtUm1Pa1JsYzJOeWFYQjBhVzl1UGdvZ0lDQThMM0prWmpwU1JFWStDand2ZURwNGJYQnRaWFJoUGdycC9zbHhBQUEwNWtsRVFWUjRBZTJkYVpBa3gzWGZzKytlYzYvWjJRT0xhNEVsUUFJbUtkQ0VMRktrUk5BMmd3ckxsTU1mek1PbUltelJKaDBNaDBnNS9FRmhpYklWVmppc2d3aUhlSVJOU3FBc0tpZ0xFbmpia0hpSUpnaVFPQWlBd3BKWVhBdnNpY1VlTTdPN2MvWDA0Zi92WldaMWRVLzNUTmRzTHdTU2t6TlZlYjE4NytWN0wxOW1WV1ZWTzdjWk5pV3dLWUZOQ1d4S1lGTUNteExZbE1DbUJEWWxzQ21CVFFsc1NtQlRBcHNTMkpUQXBnUTJKYkFwZ1I5OUNlUmVZbDE4cWZGenVjVFR1bHlJcytMOTJ4SjRwQnZqTk44STV5VWpvRFJqUTBqVDMzNTlCdjJMM3U5ZXpBeWhuNnRRUkRveDdsWnk0YWYydWZMUC9PcEhxN3R1dnJsYTNUbFJHUzFQbGk4MG02VjhvVnFvNXh1RlZqMlhiK1J5dVh6ZDVlcEY1eHIxdXVGYWdWVGQwd3VSWmF4Y3FYUmNqNWxRWGlyNStvV0ZCRVViWHJBUlgyeEd2S0xDWHVYMVpyRkZmYTdsV3ZWV3E1VnJ0SnFOU3FGUnFDODF4c2J5SzNQbnp0ZGFaeTRzdHc0K3RuVGt2LzdiSllIV2REUjBwRU0rWktJaHhEZ05NOVIwVk1oUWthYVFSZngwTEhhMi9JbnZmbmRQYzhldUEvbXg4UnR6b3lQWExkZGIxOVNhK1YzMWh0dldMT1NxdVVLdVhDeTYwbnpORlpvdWwyKzJYTDZKYkZ2K1VOcUdpc283WXFTVmxJVTBlUWdUMnhIU0RlV3JJMUtvS2hlbERtQW9pL0F4SGZNV2kzQWRtSWdqM1VibDFrWXNLV2tIWUxsOHE3bGx3alZtNTl4S3M5R3FpY0NTbUo1eHVlYXBWajczYkc1eDhlbld3c1hIQytkT1BYbjRuOTV5UW0yaXZSVm9yMFBvTGwrSUNobzJoWWdYeGRNSjl6K2ZlT0xHMHM3ZFA3ZGNxdno5UlZlOCtXSTl2MmNoN3dybk5ad3VhaXdzcU51TE9wYlJoRnFWcTg1SmFDYlVLTTBZZ3crcGtDZFkyaWU5dEZRUXFoSzRKQi9xWUdwc1RBckZBQlo5WTJEc0NEQ1IzcXJ5QUlkUlVFZEl3L29TblNXRmd2b3lPZW5jM0FVUGswTWlPdktvbHhqZ2htdmtjODJUdVdiOU1iZXkvSlhDMmJOZmV2WXQxeDVTRGVndnF5RkVSY0hHc0FJNDZaZko3Uk5QUHZucXd0NTk3NXR0bGYvSjJWWis2dmk4Yzg5ZmRPNnMzTzVjcmVVV05LUnFVb0xjcGgraDBreEJybmwwTE8vbVpodUpnSWZGWElKSDNJMVA1TDBCTE1qUEJFa01XeUI1U1dKeVM4R2RuMnU2cGcwRnp3SDBOS01aM1p5c3BLQnByVkRSb1RqZmJKN0pOMWYrb243cTZNZFAvSU1ERDZ1RjJZbGlrMm5TaHlFa2h0MWY4TUZzNDdmdnZudDYrcWRlLzRHWi9NaDdqOVh6Vzc5L3hybm41bHJ1N0ZMTExjcFhOcVJ3UmswTVVRR1VsVXM1TnpidURTRFdEejN1WXdERHB0TTJnRWFIQWF5bWd6SGs1Qmx5cmxET3ViSzhVNkhSbk0zWGx6NjIvRGYzM0g3cTNXOTVRVzJHN2cyR2FRRGdnc0g2SGM4OTkvcjY3ajIvZDdSZXV2WGg1NTE3L0Z6TG5WNXF1bHJ3bVdiOXF5VmdKUmhBNmNmU0FOSUNrUkhJY29yVm5LdU00eEZXN3MrZE92bkJJN2RkL1MxQkRkVUlvbXRKVTk5SU9pcS8rWWZQUC8vTytlbDluLzN1aGRLdFgzckt1WHRQTnR6eGhZWldRRnJKQ1hOZWtNTzB1bzB3KzlKdkl3L1piTGpseFlaYm1OSGxRck4wYTNQWHZzL3V1K2Y1ZDRwM0poS01ZQ2hpSElZQndJaG1MdGU2NDlUcFg1cWJuUDdrZldmeVUzOTF1T1VPemRiZGt0dzlSSWJDcmZEOFdBVzV3N3F1TzVjMGRkWnErU20zYmZxVCsrNDkvUjdKWUdoR2NLa0dnRjZ4eHNZbmp4NTkrK3pranR2dk81MnJmdk40MDUzUXFHZUszMVM4aEhDSm9kbVFON2pRZE10THVhcmJ1dVAyZlY4LytnNmg1SHJwa2ozQnBSZ0F1cVY5ODZNSEQ3MSthV3J2N1ErZXpZMTgrMlRUbmRGOHZ6bnFKWmtoaG1aTGE2aDVIVXU1RVRlOTkvWXJ2M2pvcDRYK2tqM0JSZzBBNVpzQi9QS0hQN3lyY1BVMXR4K2N6MC9kZjdMbHppeEwrWnZEZm9pcWI2UENDSmJuVzFwUGFUcllkODN0TzMvakk5T2hkc01TMzZnQlFCZjM0Mjc2NTcvNGdaTzU4aTMzSDJ1NTUrWDI0OGlQRnZKU2plR2Q4Rkxscng5ZnVzSHNhbG9UTkN2bFd5ci84QjBmOUwzWStGVEE0aTFyZ0RmMDNQcXRyMzN6TmZQVkxlL2hVdThaelZFMU9hUkxIZjFjQnVaMUVIUGI5WElGOEhOd1pRb2RPblU1UWlGRkExckRDSTE2MHhVdUZGeDFiTXQ3ZG4vNi85MzUvTHZlK0pEdzBvWE1GRFppQVBTQjBaK2ZldVVyMy91RWJ2SThmcmJsbGxkYXJpZ1c5RERra2tJMGdKeU1DZUZkcnRCTjUzSVpBTWJNZ3d6NmNxbXlhY3RDMDREV1dhV1IvTmJTZ1ZlL1YrWHYwOEY2QUlsbGt0cEdwZ0N6dE4rNDY2NGI1NHZqLy9nSHVqOTFTb3VUOUlqQzBpLzFpS1B6VXZHczFYN1lQUGVpZGJsbzFPVzJWblJidlZVY2U5c1YvLzBMTndiRlo3YmpyQjRBQW96KzF2UXRQL25XazduODl1ZG14WWl1OVhVSE02UHRDYjVIUUdDTUdrS01mVzY0Witnd1ZtQWJPcGtsTnlBN2NkUmJYMEsvQm15NkRwanVFU3pxZHZwb2ZudnU3N3ptclFJK3FNT21ac1VEVThwcUFEQ1YzNzU5ZTZVMU92bm1FM3FvYzBiMzloRW0vbWNZSVk0WUVGcDZHRWg3NFJEUFpnU2l3OGk5bkFhZ3hYdmlFU09kZ1RYVWkvZFlwcWRMalZwQlQwNjN2TmxOVFgzRW5UbXpyQ3J1RHd3Y3NrNEJ4dis3Zi9NM3Ixak9WMTV4OGp5UGNNT2RQb1E0aE1OR0k5TGhrR2JZQk9BM0JQZzRSOW5RRHVnTUUxOHZYRUV1TWdMNHRqNHBwcCt4cnh1Vkc0T2tvYjBNclVMNXBoM3YveTlYQksxSEd3dlp0YU1zSGdERTVtS21iNzdsd0tJcjdEeWpPYWhCWjlhbXNXNHR1aVlRYXpPTlBUWGowYWtXdTc2d3k2TkZlTnBzT0FnSitEbVl3dUxUeUEzajY5TVFMOU13T3ZLVWlwT3JKQ29JSWh3MUZtTmZzZjVaR0YxRGV5aWFsY0xPeXY2Zk9LQVdUNE54L1padGlDd0dRQ3REUHJwcjF3Mm5XN25pZWJsL2U4YWRpV1NiZUV6bG9vSWxFK1F5cVFYRmJ1MEptTllqNFo0aHlJNjZWSElWNkNxMlVnVzBxMVp5eG4rdFVPaVVXaGZTcm13SG5SUktYOTVWZ01JcjZzdWtudXp4S1B5Q0ZtOEZGVVl3UEp6UGlKY096SU5sbWxoWFBsOHNiSisrUVMzK3J3NkVCcXExMkZhMUQxa05BT1Q1OHVUay9ndTJneWU0c29odGd6R2NhaEM2cXJELzVNNkN1M1U2NzdielBMeFlzRjVZVDFMZFNTVUhwb2pBYVJjRmJ3bERwSkpZbWNJMkxCcTRkN1N4cEkyTUp5KzAzUDI2VmY2OW1icks5T3hmbzU4Nm13SjB5cmU1UzNHeVRsSUl6TE9NVCs0WEpBdDBVQTRjc2hnQVl1SW8xMTM1U3JaeExjbWFtOUdWRFV5eUI2Q0VCQ052bWk2Nlg3ZytwOUdpcldIQzMySTVvN3FleXVoWDNvVWVoaTBraVpCUEkwMm5RM1VrMnFzcWdzUTRRWjBrdW1pb3ZGRjJibXBYem0wZktiaUNIUFVEWjdXN1ZRWnZ1NElFamhoYldFTFdvQ200cFcxMWNzaFhxYWw4alcwMkhSaExGZ013cE5Oalk5VjZvN0JyUWV2TnBvZ1h4WE4zdndlbFRuYzVtSWV2MGhhd04xeVJjeFBhRnJVd0t5dEx5UUw4MGM1U3hZT1M2WUNMdkRMblIxeklQYVpqM05Fb1F5YmlwMGxjVjRDekZHaG9GNXA3MVZUQlBUVlhkN05hUUxObnNIc2RrTVlCbmpXREJLTzd3NUpQY2RxTmoxZmRSWWFtcVdTZ3JrQiswR0I4M2Z5V242azJjb1V0Yk9CRWNReFMyY0dHRHBUS0hUOVd3MWVONXR5MkNlZm10YkFzcTR3QVhtQ1k1a2d6VGNReXlyTWMzVHlDRTlmSkVmSEcrRkpvcEhGQUkvSXVkcDBjbTZ0S2J1TXk4bDJhNzFoQXMraWxJellOd0Uvb1l6ZS8vZkxXSENWSUp5T3Zlek1rTXRuUG9CNGdJczN0dmY2V2Fpdm5xalYxQk8zYkxVNGxOeG9RREVJWWsvTnFpa29UZDZZeUZwZldPUkJUa0FxVzdTcExWYTlPQ20vc3dPckszaVhEcElFbmlJZGQvb25rS0hmT3NCWlYwRzhXd3F3SnFNOGFiS29zdW1ycDJyOWJYWFNmby9uQTNSM1VBQktlSnZidXJlU0toWktNd09XNStiOEJoaE5rSk5RZUl5cHBaU3lkbStLanRkc0lWVjFDSWlSOGxKUjJvT3VYU2RiZGE0a21oWkpMckt5aEh3MnVCS0lCMkFoWFI0c3FMQlh6cmlSRGlMdUQ1UWN5cU01ekIwMmgwVDdLZkhsa3g1NkticzFrQ3BrTm9McDl2RndxdTFKWmJteDhWSlN6eXlsaE1EWkZLRVVKQXNYak1uazZaNk5mTVdYbUptbWxOQ2VMU0dZSS9sSXphTCtmRVNTSUw1RkdDai9LeGJBcFlyNk5VMDlaV2h1WDIwTjV0aHNZZ05BdTFWeUY2NGV5WG5BWkhja1Y2OXRIcEpVa2dDYnBVVkxhbGNoaUFJYXcxYXFXNWhkeitWa3QxTTdOTVBtc1M2T0xaR2NXbDRlQzZ4TkZZZEs4cUh6aUFVaExldDRZSXAwWWQrSVpMRWZiSGxMdVFObVJHUXh0QjFTYlJoelowUU8wcEd6NlI2Z3RhUkY0YmtXR3I0cy9BUlJ3RWVLTjZTQkxBTHl5Vk5KMk1WZFlybzFsMGFlUnlkb2dWeWdWQ3kyOThJUmllTXc1akdBM2s0UUlSYWM5Z0JtQ1RoaEkyd3RzVUVFREN6Ymczd2dabzhGSmpSWFp3azV4WGdxbWxBVXZDMmY2U2Qvc2hBZFFHWXJIVUpnT3Fjb1NtQ3AxSGFpWGpYSlo5V21YMzFsb3lXSUw2SjNiODhZb0hkdG9RQkJnTWVFb0RVNEV4QlJnK0JYVE9STVdhUXdoSWRaT21iUjdsQ2R6Y3F3elptblhXZFBHcEJTTG14UVYzN1FORVZHMTR5NEpTT3VHWFNQYTVuMEJZdUNrVWJCTkFVSVhMejJKRVFCWXJIKzBheU1mS0dVNHVDZUhPL0ZoWUJTWkxVYTdsQXZTZzUvWU9oU3lOcStSSSt0dklrK2ZhRW5ER0FQdWtYZjFkSGxzZWNxNDF4QTlBSGxUanNXQm5oQmpGaEYvd29VS1lobmdNVzMxcGlSU2xLYU1LdUszMHE0MmdLOFIwalJRTmhxT1U0QVpnc3FpQVdEUUtNMHJUZ2taSGUyajlraG5DU1lYa1pNTlJCUUROODlzQUxwVWlXL3ArazRNU01vNnBST3lRUUM4S01KZFJKU0xrdGxSeER1Q1M3cThwRU8rVGh0TlZOZVNHL0I1aUtsUy96RWdWQzZmd0d2RHJCMUZFRTgwNUF3T2FFdWtFRmt5WlF6dDF1dWtVamdFNlVkL1VENTVTT0htaVhYZ0FZeC9tcEdtQTByVGppTGxFa05RY3FCZ2hzUzk1VmJ6OGh1QTAzdmI2b1E5dzlCYjhHbGQ5R1NXRGxsQTBlcmhzb2I1Tmwzejc5TWJzOXYwTUthRVZGVHh5aTA1dDFmczE2b3RWeFpXREFOTE1BUEJMU01keWhGUlNMTUhjVjR2bU00cWdTeTVsUFFLME5ra2JvQkczdmlneklJdjc4eWxxOXJ0MnFsUTN5T0tlRXpEY0NnNkpobFZvRjhiN2ZDbXRLMEJoTU9QZmhWQVFQMVR5Zzc2UjE4eUJYQklKNFhzTTNyMkZucEp3V3RkWExLQ2gvRitJUW9QSldMNUpmWDZYOTFRY1A5aWY5NWRPNVp6dWkzdWR4SUZCTURueGhHR3g3b1dicHFZUWVsMDlHTFRmZk5relQycmQ4M0xyS28xNUZoWm14R0FzMXZ4U1I0czdXQkcxODV1SU9XVmoxYk5DTlFCU05tQnJKUzJTMXpEckV3d2JCYUJYQ0hRZjRadzFtRnN4Z1RPWnRackNQOE1ocWFaQW9KbmdCS3ZGZFJGQXdTdXBPNTkrTmFpKzhWcnNuYXZQd1Z1cG5FajVlVjYvZnJxaWFxNzg2a2w5K2pabXF2bzhXNWUwNkZORFF4QkJUc25pbWVjaVRWZlphTXgzUlh6TStrQ3c3REdTWGdBOTZhcmxPaVkwcVVaSDRlOFlHd1JLQkY0RDZBQ2dkUFdycWdDbnF3ZWdPY3hoa1JSMXBCNURiQlNhK1NxY0NpaU1CMWsySk11Z3VSZlh3Qnh2L1NLdkh2M0VKWGZUWEJVaXY3NWE2dnU4RnpOemVvckV5VjVGek1DN0Mwb0pKRVMrUzRFeU5Dc3VxdmNpbnVVeGFKT1BNSml1THNVYjRiZ2pjQ21BQnBCa0FNWmlrZVM1bEU3RWFwMC9aQVkwL3FncXlBeUd3QVlqSGVkYkpwZWhUSlZJQmhHLzNiTitlL2EzN1hwSWdVMnJPUTJ2VmIrcXFteSsvSXppMjVFNzlnWHVNMnFZWjZYWkUzbEVxNlhMejFJTXI1RDZoV2xGcEpFMzRKWW9UaG9MQjBGZzZNb2VlUUxPUjNSQU1JaXl2aERqdGdwWkZlUlZ0bDZnVXRsTTRMMUFIdlViOGdBN01iTk9rUlpLTkN4dWhaOVYybkJkN1hlYzM4eHdyN3hnbWpxRlNwNW5hSVl5T3ZPU2g1ZjcvL0ZnaCtKcTNrUnh5WjlyNEpPUmFqeE9pRkNvR1FDc1IxQ3BPc21IWjZ1M1FrTUl6NXFIT1ZCejV3VmNvdEdaWmpXUDcyb0hrQVA2K3ptREJ3anNOanhiamJqK2dEcjNLYk5FTlV3RjNmRERUcy9KaS9BWTlibEZlMllGWGVGNkFFa1hlOEZFRFhCY3BieUphRzhJNHF3QnJiR0tlQXlZUVQzRC81b0JOREdDUFNIL0ZBMGgya2RFaGlxWmYzNnVwOU1hZEl6R0E3VmdEeGp5TzRCZEsyTzRrMzVpdnN4RzYyYTYzZ3U5YXpER1puYkNEZ0x2eFg4ckJZb3VtT3RhUUFQd0lFUzJrcjMwby9jSTBFZjRycUZrbGdiNi9ySG9YM0VyNGFvVWxsL05XSzBQVDVkUTltdDM3YnlsVmQ5cERjNHpSUTNOT2JZUU1oc0FCZ1pLMWtJMmgyaEhrU05uOGhRekt6UnN3aWFSclVHZUJwc1ZSclBVK05hUzRwdlNlczhZbUpuSVdzQkpPM3grdEdabGhvR1RaNEltSkNsY1AwQWFrRjU1dzF1bE84TE1UNUxrdFZSMXdtaEErOUhrby9pQVBIMEk1OEFEUkJvWkF3UEFOc0ZrdGtBYUcvQ0VrSGlmblRwSU5mVkVkWUFyZGVkSE5DK0Y0NWVaYkVsYUhxZ3NtcG9zczNic01vQXNGVWVzT2g3ZmFZVWxPQXBwakVFYW9wOEtuVU9WYlRxR1lTbWpTa29ueEwrZFREekVjY0REOUFoRStHUEhpQnRCT3VSN2VBbDRPZ29HekN6WVFPZ0V6Q3UvdlFNQ042a0tSaGc5YjkrR0FTb0g4R0FIVnIrWTFSS1NLSzZtYXkxZ0Y4SWV1VjdaWGlPUU9hSm1sSlNYSGJtMXlFcUxCNDN1S0lIOEdWeDhXZFhBL0FvbnNCdHNnTmNCM21VVHhaSzBSQ1VIQ2lBSzhYNlFHMGlVR1lEWUFlQUxmQ2tZUmlIZHE5Z29nMk1wY1ZIVWN5SGFrT0N3Y1R5WHZoaW1ZMldBTmdMSHB4OC9kT1FLYWFEWEFYWVl4STFTTnFrRTE3YnZpOGdTSWVRajhWSk0yQTZNcjZSR1lMS3UwYytkL3VpQVVJb1VScUlBM0xRcGJJZTRTRG5EVFh5aURNYkFDdE5MZ1BOYWtXNGh3d01Nd28xdVFvbXh1bSt3RE13aE1oLzBJTndVdElPUHFlUnBhSXdsU2VFSTMxZ3JGNkpGVnRwcVVCckFZeVYrd0FZUUU1YThMaEE1T2thRDViMkJiNCtuUmJzR2lIU2p5UGRLNTViMGQ0STh0STBpcmVMSUdKeGFaZlJFSW9IOGd6RG5pamlYSU5zVW1YOFJqd1lmc2FRMlFCWUJISnBoN0tZYXZzeEMwL2V5cFZDYTdRTEIya0UzeGEraDQzMTFnNmdkTEJDNFRIRTZZclZQTEFHaUs0L3B3OHNtZkoxS3JBb2xDYTRmVnpSblVMaXNvNlNwSzZyUjl1V3hqWkhGZGwyN1dURVFnNjZDanlWcE44c2hMblk0S21tUDd6bllmcFprWWJySzdvY2xYUllHTElocENDTDRNNGt0OFMxb1VieUl4WWk4V1E5aVBpTlNzWlRhSnV4bFlGbk5nRHpBQkJVNTlHSlpOVXpVSTZSR0l4aW1oQlFPblhFRkFKREhiRVBpR3gxQUE4MStJR2tQaEEzV21vU3NtNUJUd2Naa1ZWdHh0ODVWbkM3dFBkdWwyNFFUU3U5UTY5b2JkRXhxcnVUVldtN0xFTmdYNTRwWFFpSTQzemRZUURDRDkyRVgzVUFRK0NDQTJQUWJRZWJlbmhaWmw2UHRQVmRjRGVqNDdSZTRlWTRxKzhSejRrdmRsUFg2Z1h0NVplUjZ1QktoUVVxQW1HYzJFMHJ1aDg3UTNxOUFHTnF2NUdRMlFEd0FIRUtzRUhaaHlvOGVZbUZlSFcyWFczQW9VR1NKdDhPRktNUWk5dkZxK1JVbGpKZnF4Y0xiOWhadGVPS0xTVzNiU1R2UnFSd3ZXbG1nWUZuaDNMRTRMUTRwTTBZU1ZQUkk1aGhDQmZvRUdEYVlIRHhOZzNBbWY3WjRLTHRmKzY4WHFSNVFkOUhQbkpleHFEMGpQWlV0bVE1ZWwzUVZZVEVOdlBRUHgwMDlBYnYrMHpKbWtFNDF0TEZXbTB6R3dESW9yQk1jbjJ3TTVkRlFVWVE1QmxsYWlOSm1TamtHRWZZN2hpNUFNTTFOdnNRd0U5QVlBbE81YmVQRnR6NzM3RERUZXBac3cwc0FUQkM1eVQwU05Oa0hCcFpXdTFpREU1Q3hPbHpnNTJUTmhHWm1NUVkrREw0TnIzck9LVVhYMTYrTytjdWlwZlg3cW5vS0xpN24xNXhqN3pRc084blYyU2hmcTNpNmVIdHpCQWl2bjVzUURnaDNnK29kM2xtQTZpbkZvRVE3Y2ViOFVPOWpyUnk4VlN4TENyRVdBT3VBNXRoc0Nwb1dDNGswcDZnRFdXZzl1YnQwcElFT2wvWE40dllkNjl0RXZaNFdQV0IyWFNiam5RNjQ5RUZ5djE2bVFDWmQ0bzUra2V3ZmlwR1p1WTVsY1pnMmJxNWI2dHpWMnd2dWpkZVYzVGZmcTdoN3Z6K2ludjBkRVA4Nnh2QmJPMkRwSkhWU2ZpNnB5UFZKc0hvSVZpSVpBeVpEUUQ4akNoYkNCTDNJV2k4cXhLNE9EOEJHK0U3MHFIUW91UVVDaU4rSWN5eFZJN1NEYmlNVG9BaGpWdXR6Uys1TXY2K1dKSzMwcFp6elZsYWdrVk1YWEdiZUNmRmRDNmRwbm1hcWtmWFZwQ3ZpL2xWc1ZDMTVBRnErckFEdjNreXFwMzh0OTFZY0RmdExyalBQcmJpN255OHBvOXU2QU5RdHJGRkFFTEFYek1pNnVLZXJNbTRtOFVlY0wyS01odUFkb1RwdlhxOUZDS1hOcW5QazZ3V1Jac01VMFZSZS8xRzljYWFqWFpWc1g2Z1RUTDZFVWlhK1NUVHhteWp4c29CYkpkSG1hU2JVOHNlUTFiaUdBTmVoYW1BbzNjSUZVa1VBZHQweEdHcUtlWGsyMlVHQ1RPZVVWRlVuVEVuMWFrWUJmS2ZoSkRXejZHNHV0NkZyQ25QRlBITzE1YmNYcjA5K3FtRFRUZXZLd1Y3YTBoekNEak1mTk00RW1TNmdwRStSa2UxUFM3OVdraXFmcTFrWmdQQW5hMW9KYnVpZDFEcmJOL3RFK0FWblRVRW95c3hDK1F4Q2pwRE91WWpyQWZTT2RWUlN3cldDcnZLRFVlb0lvcWhycFdYN1pIVU9ScUFmWjdGbEJLaEFobjRTQ21UV2lQWFZkWnU1V3RqdnMyU244QmFva0ZaTkFLcnR6S2xBakFSME5nTG9TUkRxT2tYUlhpNSt3MHYwemQvNUwwKzh0Q3liWkExVDJCRzRBMEIrRTRPL0JxRGR5bzNFakliQUQvcFVwVDc0bWRXbHZpbGpUNVVZWkpyM1VWdDlWMWVSdVU4bHZFRzRPdW85MGU3UjlRQWxNaXFuZkJTOC9VNjIyQUx1ZEFxeVhFZklJL3lkZU1IRHUxWmdDM1Z2WklTSk9EcGJKemc4SWxldllzTmV0V0pYWnVpZkIzMjFqWUV5d1I1V2FtUndHQUlTQ2pQMUNCRnZucWZjLy9vYk03ZDhjaVMzdm5UOXdTMExyQjlqaGlTb2ZGdHJLRk9yYWFNUmtWMXRjOGFNaHNBSG9BMUFQMjBKMng5S1VyWTBwTDlDUmF4Y1VRUFFHekNqM0hiQ3F3aXlNWFRNUnJXY3k5UXhFZzdjSGJLd25DdWlFR2I4OFVrUnRqa2tYQlVUQUpQNnhoQ1licklxbFlWeEFhSzAzV2h2YUsyYWxHV2g3R25nOENqUUhoWDJuc2RvUFZuV3ZVMUJYbFd6YXp1dHV2TDdwR1RkZmZ3ODNWWGxYWU5SOGM4RUdnS0c4WGN2K0RkOEt3aHN3RkFnSG1jUTd6M0RKRzFxT0FJQnpoSFZINnNOelJkdUtnelBCR1oyaUZQd0NqcTlnQUptQURzbzArQzVJc2JkREN2TkpkamhrRFI2Z0RXWGlFUTdGV1ZFRFJ1T2lEOHFQZEZxTldNejVSUFdac1dFMVRvcGVkTlhzcjRsQkZ3YitDdEJ5cnU0S2tWM1RDU0g1T1c5WUZZWFNZbWhEMEJuYU1CYk9CT3NNa25RVFJJZ3FrRzVVZmw5V3BEdDZ5YlNjSVhwQldmYm0rM1JhMEIyRHJkTk1WMEdTWEcrVFdXQVEwaDhoZ0VOMlpJK3lsQWVHUUEzQlRXVFdBSlZrS01ia1V3Z3dianN4ZHcwRU43eEhjQ1JWTFVHMTN4MG9adHArRFh1RFl2QUkrNkRGUUpMOGdjMEpkRURtd3J1SU5uR3JxcmlTblJIN1V3WTZLbFo0SUhUZlNkQlhyV2tMMUptQUxTQ3V4RkZOYUFpZE1FN0hKdys5UkdjaWhJQkV6ZUlQeloycXZFdXFnVGNLRUpnRDZ2Y2h5UmVVWXJ4YnY0L1FDMkNVUkxmLzRZZ2V3VUFvUGhDN0JyUmNiT1dnQmRkUjE0RXdXSi81Z1dnTEZnN2NTVkxOYjNoek9WSGlFUHJIaW5nV3ZFc2hhRnI5WmR6Yi9STk5DU2hnMFM0VVZnWDJJNXBnQmtrVFZrTmdEY2pIa0FVVE5lK2xBME5qbHhCTTVRSW0zcHF5bFVlVWEveHdOZ093QVRkR2FGakhDdlRtdnRCUWhlYWQrbUEzQUJvNWlITk9aZXpXMEtoRVVoUkV3WmJScURwRHhYL3B6dUw3VG9pVVhkaUFUb3kvMm9wUjllK1I3ZStpR1VZRzNqVjUwQmFocnduYlZuQzlmdDBLYy9wUHdHNnhxYkI0VE1ybW5idEJrQUtGSk9JM1BJYkFEY2JXSVJDT2NvYjgxZ1dnNndpbWlHQjRCL1d0ck5KTVdtTlFwTWFsSVdSU0ZMa1JVbm9xWStqQjRxd0FVd1NlV1pacmovRGcwZXNsQmxVd05JMFNBRkVaZEhITW9vdDBvU0E0WmU4Q2pTTnpjdWxZNVRqK2ZhVTdGcEwxQ0prME0wRkM1WnZhejBWVEY5aEdPclhxSGpnVkxST2lXYXVrY0FyS2Z1QjVCTkFRTnluUWJMYkFDc0FiaHVSWG53MHk5UVpZcXhoSWNpMldzZEVCVklBMlFISEIwRVAwcU5Cb0ZRQ0I1R1FsS2wxY0dQQ28yVVRoaUFEWGpjSnVWQ1pxT1gyS1BvYzE2N3RyT1JjZGxabE1yQlA2RlQrUlJpbERJRitrYk9ZcDFVUlJ0YjdZZTIzQ21zNklubDFrcmVuZExyYnkzMk9RSkRweFVDbU1VOFE4aXNUT0hJM0FiaHhrVmdvamhqcDhmSmV0Z3VSL2tjTUc1Vm9aN0lsN1E3RlkwcmdiVVdmZ3laZTVlMHpFRFVNaG9HTWZodFU3RFM4SXJBZ0xlUE5FU0pxVzZ3NERrejByMGFtRldsSzlvRUxLV1RMd2w0aENqMnRkTUFBUFExOFhJUFUyVmZDNzhrT3E0RklIYzNyYkVKRUZpUEdlcllnNVlMdXR3bGx5MWtOZ0RRRDdJR0FNNE1CTDdoVjBkVUVLeWIrdy9sUkhRSTlmcng0V0ZSWHZKOFhCQjJKU0FvVTdodlpDMVpNMEVqNHVmRkVKNGI2SFZaM1E3MlUwcmNuV3NOa2xOYmlNWmdVcjUrSXBKUFkwampzSEp6QXhIUzQ3UWVxcWpEQUFRYzRURUEvNTZnbm1Hb1BRYkFKV0hiZFpKV2UyazlPQUlqdXdIZEcwT1pEU0JlQnBvMWR2Yk45ekNjcWNLbzQwR2VvM3NSU0tFWmlCSmVtREtFSUJBLzNtbEY4TFZnWVEzQWF0OEhsWU5ER1F5QVl2WUUyb0NTOHYyWGg0UWJqMkdGdEFxNHlOTndvREF3b0xDMWVVMlMwQWprNHZ3ZmpjQ1RWeHZ4UTkrOXQ5SXRkR21ZQVkraURaWU9nbHBsYk1sSFltU3A1OGlzekkyMGFjZ0M3TXVVV09FYU1qRSs2VEF3NFNCaUFkbXU4d0J4TVVrNXdORUFiR1FyWS9Vb2kxNEdDZVI0RTVvR0tvczBFQmFMVEQ0MFllL2VLWVA3dDB0Q2hHdk52YWNoYVlGQ3RSa2s5QWFqMURDblVBUmFIU1UrQTYrZEJxQzIvdC9IU2pPMUlRUDZZNlBkTEZ0cDh2RkFqb0loeTZuSC9TRnExZzNaalVZR3dCeExSK0k4M1lzS1BNT1lEVExGTmhjcnRpbU1Lc3JBRTlLazFCOS9xREIyRHJkdkFqTEFBS3plQW11dHFjWVl5Q2tOZmw0TXNTc0FGZlBxTkI4MEFwOEp5WU1hUEdVV0JHTkJlWklVeDloWCtEUDRMeVZZbjRYQTQwbjd0MkF3TW1aN3BkMzRWUjgxc1FQTDExT1FvekVWNDhBSXZISzhhQjZBS1lDbmU4a2NIaGhKUjRtY0FyT1JlWlREWVFJMkk1SWJVdys5UUR3R3hHTHVHcmpZdXhoalZmUlVzZTJqQTVPbGZWdHdtd2VBU2NFMVJWaXN5cVhxVUJxOHZoM3dJRjA3cENHRXVrZndwZEdEUlFCcmwycHNVRG9SMnhFS0xMSkc0a3Z3eU1rdkFqRnd2VktuNGNtVWVUSDhFR2NiZ2FjVTI5UHVSVE1BMnhTS0ltQTJjdUQ1U2M2eDd5akRhOWRiTzgyU0tVRGFRdkYyZ014d2haRWd4SFRJVHdHcWtuVHdJQ3g4ZUliT1BmNjhSajJ4TFJRaEk1R1pnYW1lTjROeFQ5NEFCSXNCbUY4VnoxZ0V3clkyUGxZeUJLK0ltSU9sMkpkWVJwendIQXZURmh6TGlLMnhUcUZ2UkJIVWlneFc5ZW9Ib0dZRTZyVDNXTG9UcU1JVmpmNFpQWFZsM1NPdzVLRGZQT1VFRDIyUjEwWkM1aW1Bd2NWOUFDelRkNnczV2Fvand4R096bmNzQWdVVTU4TkVNZ0pHRUlqRWxFN3ZRRVFQdzd3Znk4MmxxeHh2Uk1EZ1dCeXlNeGNEQUs2dVBDK0lldUY2WWRuWmhBNXloU1JTdTVpeEN1VkNIVFd4SDBreUZIYlhoYVloRWgrcGdrNXZJZVNCRCtPUHJQcUN3WkpuQy92c2ZNTU1vS0I5Wk1ZS3lIUmd6eVpqWlUwOHF1U0tJV3ZJM0lScmE5dmdJUWFpTmZjaWF2b0t6TUl3eWVpaTZRaHQyMGNBQ0tJeVlTaU5BdGtLUmN4bGpvMTRDUVZjaGs4aTRaTEpEQ0dGMzE0T3RSRXY1WXVJL2VZUVFQcVBzS1QxNzBOSTRIZ0owRy9YSmxBcTg1U05iMkJKS0RZVms3UjY0aGg4VzZzS2RUd0Q4TUhqNHVFUHdmb3M1b3hOOVVuZi90VzJkZWNlTzdPaVBSWE84UkhZNVBFNkRkUThZb3JqZytLc0liTUI1SEw2VUtnWVpOUkJ1RitneXVwOVA0MWhNd0RhcVE3WkdSNEp4T1JvQXZJcVlBV1BJSUJuN2tabW9PRnpxZ2piVHduQlV3aVFPcERHS2FDbVcyZ3R5bFhHOXdIc0oxb1lWUndlVkltZzd1N1ljQ1dtWUVaSGtTRlRSSTNSRTQvdzdkTWhOcmhVbW53U29FeWR0VEE4c2NxVXIycEdQenl5RUJ6UlZuWmVWbm5zUk0xZ29XdC9hbzRoZ0NYMmhSZ3p5cXpNamJScGFIZUZ1WCtNd1BkRmFEcERaTXpxQXd3UitmUVU0QTFBaGFyd1lQNU1lK1p2T3VWN1NZbkFWSVpDZVprQ0k4QlYybVZTSUdnR0lCUmNCa2IveUZVQTE5TmVzSW9qY3dLSmdvZUlVVkNCcCtRck1VTGU1cUVlRGpGNmFIZzNya3JTL0dGcDFnZGFXNkZpSDVSTGhYU090T2lwVDdZNFZWUGpSelJLdXYzTGJ3eWR1OUJ3UDNoK3haVzFyNXdiWW1DM29LYko4eEFWQ0lYSkttY0xuUUF6WUpUZGFMUWxTUGNCVExkNDJYNkJLZ095aEluRmoxRGw2VWhVUGpEeGlMaW9SeWlTaFhrQ3ZBQUNRQmUyQUJRR0huK2E4QlhieUJhZWh0WUlLSWhkUytnRVFuWWZRQVJNZ0ZZbVBCQUthUk0rR2ZKVzdEMUdWYThNamZOQ2lkNDBZWmMyWHgxWjFKcytGeGVidHMydHFRNndUakY5Qzc5L3ZDdmlWa2JjRGgyNW1JbkdScHdjdnI4VGVyZGhtNzRBL21WdENUdXZoMENqZWhnVS82eGo4Q284OUFOMFpDVVAzVHBraFpZdFpEYUF1bFpaZXVQS0hsZWh1SDdCR09NVUR5VnRoS0pWQmQ2TEk1OG9IeUg2S3V1UVpHSXg2ejV6L1lxTm5uck5Rczl1aFFhalFCQUl3UzhDOVlVUWVRQXpBQTFoM1JTMmUrU01Fc05wZUNWTzFkbWZDVi93YW0rdVY0cmZNVmwwZS9UaFNyNXJlTzVpM1MxSUNSTXlodDA3Q25xQlF3OW16aGZjV2Yza0Mvc2Q2UU9OazM0bzB6blBlOXlDVWdJdVF6QStsRmFNcDRFMzBpT2lQejJaZCtjdk50dzNubHdPM3owVXAvQ3A5Z1lIdllDR21LYVNRVXZ2SHdicGhzb0Jvc3dHa05OZWE2TVA1Y2hGRDBJb3hRc0hhSm1uSXZMSlpTQjVzV3RYQVNZOTBLbFF3V1NoazFlUU5RK2VBQmd2TU9DUUozbmZ5dU9EQm04SE0wV1lWQlN6a1BRZUlBaFNlUzlNbjRjU1c3QzM2TjNCSzdVTFo3czIxeDA4dXVUKzh1Q2lPM3l1WVFiRlY4Y083Q3k1dDl3MDRnN3MwZXRtNHlWMzVIVGV6Y2hOODk2Qjc0ZG5LdmFEYm5XR2RBRzlGR1Y0Q1FlL0lUQzFwZWgyYW92M0gzMXJ3WjI5eU9objZ6MS93Y3d4Z2hSUzB0U1lBWmhFVTVVREpMTWFRSzZoSFpkYXJEQXdiZTdwUllOdUpxWklKdlNiTWtZcGJSUGxteEY0a0k2T0FhZUNPSEpSTmtRUnFrMEZJYmJPQTZzRXl1ZW82NU81K25xNkZsVXFsREhrNVM2WXk2T2d1ZGVPZ1VDUEJlS0loTHhIVzYrdTNaSFRieFkxM0NlL2ZkRjkrOWxsNGNwcmk3YW1BTUd5UmV2aFl3MzMvWk1YM1J1dUs3bTMvY1NvdS9uS2dqc3NJemloWHdCYldKWlFSQnorOE1aZStjb290Tk5RYkFmNHNVNnFSVm56L283SmtydE9QRHp3OUpMN3hoTkx1Z29JeWxkZjZDZXRPZkF3NUFtZWdwVTNtendGeXhpeUdvQkdZcjJoaFV2VDNCYW5IaUVwRlhjSUQ5Y0tveWlkQTdiYkM2b2dJT3RKMHJKRCtSZ0J5b2NjaG1EWHdJcTVFV0kzUXlRTmd3bjRXUXZZSXBGRzBKZllPTXdBUUtJcEFwNHF1dFRhcnJlR3I5cVpkM3YwR2J0SG5xdTV6OXcvNzA3UHQ3UUhyeHkyWS90Mm5pSFJsNUsvL25UVFBYVm13YjNqdFNQdTVWY1U5QjVpeVQxN3FtbUx0cHAwWUYxSitoT05RWFFUZFpIeUJzaFVoS0ozYlMyNEczZm4zYkhUZGZjbjl5OXFmMS9KakMrbmkzdTJoZHNESXNGYUsvRWVBeW5lYnRabUVkMHQ0aUk5Vzhoc0FGV05oUzBUcnFIWDdiUm5iZTJIa0ZoK2VhVm9iNjBnRDBabm5BSzhCNGdHc1pwcEZLcmVlZzlBVW1uekFrcWpReGE4MkpKdENoRXNYZ0hjMEZnSkJzRG94LzJiRWFvT0E4QVFHTlVUZW5tVVViOS9TdkI2YmZ2T2g1cnVPMGRVVzVwd3U2ZTgwZHJpVW5neGxpU29VN0Myb1BYV0hRODY5OU5uVys2MkEzcXo1K3E4ZStaTTNwMDgxM1FYRnYyMEFDOSs5Q2V0MjNuaDVPUFdFL0krKzlqOE9aMXp4ODgyM1I4Slo2RTY0YVprblBRcHI2bkpYaFZVR2paU25CaFM4bHYxMHVuRW1Hdk0xZlZDNUdxUU52RWVxY3dHTURzN3UrSm1tbzJGSlMySUZ2b2JIR0pDaVV0YWtaM2ZwaEhaOHU4dGVRK2d2S1NEOHBDbXJhWlhNZWZiVTJ3ZFIvQUlRQWVDeFF0d2NFbG84N3ZTZmhFb281TjExcE54ai92VVRsdEpzNklGRm91NW5Wdnk3a3J4cEduY1Bmak1rdnVMaHpUcTlVdm9yUHlaS3BaMStCRW5neEJCT3dKL0tKUyt3WDlEbmZtc0RPZUJwNXo3aFZkWE5DV1UzVjR0NEk3TjV0Mlo4eGdDM3dPZ244RFRFZkVxcGFQNEVWM203WmdvdUd2azhuZG94WC92b1VYM3B3OHU2aTRtbTBIenJpWWVDdlpTcTNnUVBIMmcvK2pYb3NBUG1lMGpSVGQvc1ZWZm1iSGZES1JHWEE0V3NoaUFJVjJhT2JuY3FqZHI1c0pOLy8xb0lTWnhvbzZmWDlDSEcyV2I2cE1wandvRWlTSkRyNHhiV3JRNzU2Y044b0RSYmRxWU1VaVFwZ2psaWUwVE1LRytvR3ZtbTY2YWtDRDlPa0EvY0dMWDFhUGFWclZWaTZ2dE9pRDgrUEVsZDk5ekJmZlk4YnFyNlkwYTNEQ2JMdm1EbG0wb2tTZXhxd1hvV0NsOFdNYjRWZ3ZickhGeXR1aysrdGVMN3FZOU5mZm1sNWZkeTNacExwL1NBbkV4NytiMFRZQkZmZExlREYrZFlhN254ekg1YVZ4KzRlZllHVTA3OXl5Nmg0K3VtS3N2cXQ2clcveEw0Mlk0aXJrdkVrTTdoVHlBbGd5YWpaVUxGMDVrZmpjb2l3RVkvZnFwN3k3cmQrcVdVQXlFK3dWVGtDcHh2eWNrb0JmbVdtNUsxbzRWZS9ldlJKQ2xhVmluS09SdW5QUWR4Uk44T3VCUm5nc2ZWdlFhTkJLdWM4K2QwdnlwZDZTdTJWcDFaYTNjY1o4WVhrM1RJNWR1MzNtODdoNDl1dXlPempUZDVNUzQ1bm90dExTWEtzL05GZ0dhUUVWTU4xV2tDS09ZT3Z1ODl3amV3RTFadG1VcnA3dDJUWGZ3eEtLOHk1SjcxYjZpdTM1WDBVM3J4N0RLOGdwNERBSmVneW5pMGFmMTFzK1JtdnVCM3Y3aHhsVkZmRURmNW5zV3NDbGpOS3JXWEh3Rk9WQkdFWk13TTdFVzVrc3p6enlZTmdCUEVNQTFRbVlEbUh2NjNxVTlqY1ljaktEa3ZrRjE4Q3FEZHFmMW84bDNINnk3ZjMxYlNVTFhyNDJkbzYzdmlhR3dFM2t2MUY0NDR3Q0FMdW13dnZNME5FK082NWRIZVhMMk8xK1ljOTg3V25QYnRpekp6UlpOcUEydDV2bWwwd1hWczA3Z0lRc2p2aXFyNFlaTzNaUXZRMER4T3BqeitiTmd2UFhrU0lYQXc3Tk1GNXhoNzk1UnJRTU9uNjVKbWN0dVFudTZkMjRiZHd2ekYwUmJENnIwNnJmZVhyY0hWdERodHdOSGRiUEozRHhLTnlQMGhwaHdrY2pIS3oxeVE3R2EyR2R1dElOdzd2Z0QzeFRtYkdGUUE0Q1dGOFhDd25LdXVYSTZyNWFpM2Q4SUJHME5kRUxnZjNqUGlrWkYzcjN5V3UzUGtjVmYxTXVsOGJjbkFtWmhDMEx2MlFkUEhnakp6U0NGMXR3N1B6bXJBZTkrNzB2bjNhTzZWTXRYeXZvZVQwRS8xZTZWeWJ6TDVSNGV3b1JxQ0h3Wkk3aWd6WVB4NVV2ckUxQ2VYT0FrRUNRWE82VWtzSHdJS3JhQk1hYWpBb1lnMThQY3Z5d2U1cVNXbVFzcWt3RUFqZUpIOWYza2FIQVdpejhiOWFvajd6blZPYzBIeGVtODBnV05zS3JXTWtWWGYrSDAvTHdlRzFsSVE0V2kzdEdnQmhCYmcxanovL0pSZUVTWW5ZODNJNWppaEFWOUdsWEE1M1JwOWNIUExMcjN2Nm5zM25pamJxUm9FY1pUMjdRWFNaclFYQm1UUTRJU2F1MUEybGJIaWwrWXJidmYvZnk4KzlQdnpMdWlsRi9rMnQxR05RcVJhelZtUTJ0Rk9IY3VFekVLNWlUdmJzSHZZUkE2dkZnK05HdjNCeDVvSnkra1UyaGh2TnFpVkhqdHp4YW5ZZEVuS2ZQNWwyYjZKMzNVME9DQUQveVpJVVM2TUpBRUEvWk1KV1ZLQ0lZSFJoaEF2clYwVENXOEc5TFJNZzNlSzcwUkEyZzF6NTk3TmpjMUxYd1lnQmRCTjNLRXFOcFFyTkVuTjMxR28rRFg3bHAwMTA0dHVldW44MjZiRm1SY3cxcVF4aU0wcTk5eXVheFgwT1VtVWlGTmlVVTFpNnNUK3ZIS3g0NnZDSGRUcTN4K2lWTUtsMlg0YTJjaFoyVHhoNUJEaUdrTUEvWnRWRklYR1RDNHNPcnVLQXNJUXVSSFp4c0FPdkJGOERSa0lLTEJPZ2lEYk11akRXTmNKYnpCaVVLQ0V2NEMzMG1aYjJ0Z0ttTlJ5UWV3YWhkbUQ2dU1aVG1RUGFCcHNUcGtNUUNRV3Y5V3poNTVzclQ5WlEzZGU5Ymo5dGpsMWNqVHhzRUtHeGZjbENBT24ybTZKL1MrR3dzaUhpMmFGeEYyNDFxR1VDcVYzUGhFeWMzTWRCcEFKd1hFTFVHYmF5KzRNVjBLMlNxZWVWVEd4bHhxcjFKSmdBWVo1QWdPa294ZGowR3BZTVFKU0VoMHVGOGFyZ29BNmdodURQNHBpWDRCLzQyM3dkRjRYcXlIQ1JaZ2FSSGhJejFmVHBVNDdHeGlMZUtKS3RZUGxWeXpjZkhja1NkRGVYK0Z4SWFwT0lzQjBNeVExNDdkOTFSbC84K2VMaFRLdTJzMjYvVG0wdHk0R3BtZ0JlTG5PRndXSDJyMGN5U3JZeHY3aGtJcERFQ1dNajZpS1dKSkUyVlhTSVJqNWNyWnZ5aG82TVE1bERtZkFrYWYwVTRhSlFtek5vUnJBbFpNeCtKZ0UwTUtkaklxZzU3YS9ZMHRSRDBnWld4M2U0QUVLa1dxazQ5VVJRUU9NVFY0bGtsNTBYS3VmdnI0RS9mcGJnVFN5TVo0VmdNd2pvNy8xVzgvZjhQcmZ2bnhRckdzbTVmcVZoZ0JnYmNrTW5FbmZUQlZtSklZRjF5LzhiS0dGdWhpR2NYVHpNZDgxY3QvMFhNOTloQ3dtdW5rSTUxSiswS1ZkYnJVaEJWUHlrUmxSZ0NLV0VhOHdXQTRZdHRBTEJwWmpHTjF6eGoycWVoZ3RDZWt3WENacXdzTVYyd3UvK0N2UC8zZlRnYklRVm9uU05lVGNBS29CSWc1WktUemk2MExwNzVSM0xIbFo3RkNMcTM2aHNDT1diWjFENlhveG9pdHZGVkp2WG90MVJzS0RJRzdkaXpRQ2dOdGN2UEtwN0VmOGVBS3F2QW9EUzlGb2RUeXBDMHZtR2dFSG5ENDU0Zy9UYjhubFRTL1BRRlNoWUtkckdvZEpRTlltVC8xallzWHVhNHlSd2FXZ1RIWm1pT0ZkcjBraUcyaGNlSFE1NzZhYnpSbVdISGJIU3ZWb0x6dUE4WFR5QVN1aEJlR2xLc1N2RWY4MDR5ZCtsT2REQ3RkMGovdE1YajRnQzJoNDJrYkQxMjgyWDBaR09zcTcrWi9HUGxoMDRCM0J0NU83VmtZTHpabWpqend4YStvSjRTNENQUzVBYzVaRFNBU2NTZS85QjhPTlJmUC9KK0tyci90STBaaUtycTVkTXlsVVRwUDJpekN5cjBScEEwQkZXSXU4UnhVbWhoS2Q1NjIxcDZGWE1EZFRhOFhENUdQYnRnZmlyd3Nlb3QyRGUzVGhWaGgrZXlYUC8vN0h6Z1VwSXF0WndwWkRRQVJRNFRyelpVTGozM3VVOW9nTXNmREMxYlM2NDRXTlVycHZ5T3RxblpsT3QydkFlVUthMVd2eHcrTjE0TzUxUHFoMDVEMHVhUytRazhzZDFRYmM4Y2UvTklkRWdQNjBOT1daQXBRY3JDUTFRREFpc3doMWpqeGhYL3pTSFB1eUIrYkY5RENiVzF0aEpacmFVd2doRGdLZlc2TjgxcTRma1RyOEl3N0ovVVllNDhTRjQ3OXIvLzlPLy95RWFXaVRvZ3poWTBhQUhPTldkM3ByL3pLeDNPMStlOVZkUysreU1KT0xBempvQmZEd0xNV0RzUm1VODJRZU81RmE1ZzB3TFZOanhCZmRwV2VLQmJtdi9lMU8zN2w0eEpUMUFXZVdSRFp3a1lNQUFvUXNtbGc1bnQzblZ3ODlNVmZMK1hyNXlyNm5BazNZRGJEOENYQVZNUVgwQTljS2ZlL3RYN3V4S05mL1BWSHYvN25YUHFaSGhSblZqNWNibFJiRU1QaXVBM1VmUGJPdDkrM2VPeWVENVhMamVVS24ybmZOQUtKWlhnQllVOXEwWGZneXJ5N2ZrOXo2ZnpoZXo3MEovLzU3ZmVxT05HQjBpK3FBZEE3Q0xJVzRCRms0L0FuMy9Ubnl5Y2YrbENsMGx5dWlsbnU1MitHUzVOQTFDajdGbDkrVGQ3ZHNMZTV2SGo4dXgvNkh4OTgwNTNJWElmSlhuRUV6VXh3R0ZxQ09FZGg1cUZQSE55eS83WmpsZTFYL0wxOHFUaWlyYU5hWldmbmpSOTlMdXNlOTVKZWk3NmNvYUpkUXJESFBnSzdlWGdaaUhGenFxb2JOc3Q2cVdSUVVaakVkT0xxYXMrMm9udkYvcHk3WmtvYnZwNzcxcTkrL04rOS9qTmlFN2VQOHMwREs4NHVaRFVpRE5NQTBGWis1dUU3RG8xT0hYaTR1dk82RzR2VnltNW1tZlJESWFPNnp1bkgxUUNpZ2JBdGJLdEcvYlY3dGIxdHYzUFRvL09QSEhuZ3ovNzlwLzdqMis2VzZGQStkLzB1V2Ztb1lSZ0dBQjRza01PTVlPNzdkNTJvblQ3MHRkRjlyMm1XeHladktGVUxlcm1KNVVaNDhyV092ZjZvRzRCMVB5MERYWXB3NjdzaXI3ZE5pcjk2Rnk0LzU2N2FYajlmbkgvbUQ3NzZzZmQvNkt1Zi9xM3ZTNEJSK2NTWjcvcXB6YXJBVmRDd0FyZ3dLSjR2NlA2Z0hhVXJmdTUzWHpWeDh6OTdWNjQ2L1pabXZyU05id3cxeEQ2dm1QTVJaS1lJTzlTQXl5aHVjL0tKMURFSllsWWJQUzVYWUxSTmFGZHVRMXVKRi9qcy9RWWxrZFpqbWxlUFRtWXZ1OSt5cGVET2E1ZXc3UWhTQlE4clViajJpTmk3Q2FQYUlUeWhwM3BiSjdWWlZQZjJ4MHYxYzduRlUzLzU5TDEvOXNlZi85Z0hIaFZlRk01K1A5dythUVphUDlLcUdqeHNzTnQ5Q1lDUG9ZNFI4Q3lYdmVDa0s5TnYvazh2bTd6aDUyOHJUbDc5dWx4cDdJWm1yaklsU0Y3ZmwyRFVtM0NRNXFQSC9DSUp2NnpWM2MyaDlCcTBRc1QrUkF4eVVXSkZLUndZQXAyd3g4dkVNWitPQWFDT0k1U1RpZWtrbGlSUThxUVVPNjl0NXhnREd6Z3hjRzFjc2w5ZVlUT0hkcU0zS3JtbE0vbkd3cUhsMlNQZmV1YkJMMzd0N2ovNHRTZUVIcVhIeFI0dW54R0JDSVlsQnV1RDhBMDFtRnlFc2RzUThBNlVqZTI4OVgyN1I2NTgvZjdTanV1dkswenN1aXBmSEwyaTVUQ0kwcVMwVU5FQ3NEUTJrUy9PenVCUndvTjlQVGptT1lBOEJQZ3ZQV0FBVWd5ZWlHM2hLSW90WnNraEtpZ3M1akVPMGhZcmpZR1FqdVZLMnErRGFmMnFUVHhpVXA4bjEzY09Xc1ZpcXprKzZocUxDL3BOajJaVFB5ZlpXczQzVjg3bjNQS1pYSFBoK09Mc3FTTnpKNTk2K3RTVDl6NTl6MTBmUFNVMCtoRVpVenFLeHdBWThTZytqdnFoS1Y4NGh5Uk1NSzBPeUlRRHhYUEkxczBiRUV0OEZ0SjFsZEc5cjZsV2QreXY1TWVueXFPVE8wcTFsVktwVlJ6UjFuNkpucGZmc1FFZWd4SDQrYzFMRENNYWhValpuOFFrUnFCc3ZJS05lUW9qb3pGTnN3Uk9hVzFHc1I4bktHb25xTDc0clgwdWN2aThTTnRZYkpSMG5URi80ZXpLeFhObmF1ZFBIMTQ2K2RTRHk5cElnM0xqUWc0MlVDeEtSdGxSNlpkTjhhSmg0WktGR0JHdEVVT0RBNlhISThxVE9KWkZ1RFJQNmJSQWYyZ0N5a3p6bmg2MXBPT0J3cVBTaVRHRVdFWWM0WlM4UENITjVPV2gwTVlhYVJHbkR3d2c1b0dPZWRLRTJNN25mdmpPM2NxUGlxVW5NUjBWSFdQcTB1M0lYNWJ3dHlYY2JycnBmRHBOcDd2emwwVVFseEZwdHlMVCtYUWFGcnJ6bDVFdGovcWxLdHlYS2wrWHFwQVhYY0dYeXZCbSswMEpiRXBnVXdLYkV0aVV3S1lFTmlXd0tZRk5DV3hLWUZNQ214TFlsTUNtQkg1MEpQRC9BYVVjdVE1N1EyS0lBQUFBQUVsRlRrU3VRbUNDaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVFBQUFBRUFDQVlBQUFCY2NxaG1BQUFBQkdkQlRVRUFBTEdQQy94aEJRQUFBQ0JqU0ZKTkFBQjZKZ0FBZ0lRQUFQb0FBQUNBNkFBQWRUQUFBT3BnQUFBNm1BQUFGM0NjdWxFOEFBQUFlR1ZZU1daTlRRQXFBQUFBQ0FBRUFSb0FCUUFBQUFFQUFBQStBUnNBQlFBQUFBRUFBQUJHQVNnQUF3QUFBQUVBQWdBQWgya0FCQUFBQUFFQUFBQk9BQUFBQUFBQUFKQUFBQUFCQUFBQWtBQUFBQUVBQTZBQkFBTUFBQUFCQUFFQUFLQUNBQVFBQUFBQkFBQUJBS0FEQUFRQUFBQUJBQUFCQUFBQUFBQzFaNkxvQUFBQUNYQklXWE1BQUJZbEFBQVdKUUZKVWlUd0FBQUJuV2xVV0hSWVRVdzZZMjl0TG1Ga2IySmxMbmh0Y0FBQUFBQUFQSGc2ZUcxd2JXVjBZU0I0Yld4dWN6cDRQU0poWkc5aVpUcHVjenB0WlhSaEx5SWdlRHA0YlhCMGF6MGlXRTFRSUVOdmNtVWdOaTR3TGpBaVBnb2dJQ0E4Y21SbU9sSkVSaUI0Yld4dWN6cHlaR1k5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZNREl2TWpJdGNtUm1MWE41Ym5SaGVDMXVjeU1pUGdvZ0lDQWdJQ0E4Y21SbU9rUmxjMk55YVhCMGFXOXVJSEprWmpwaFltOTFkRDBpSWdvZ0lDQWdJQ0FnSUNBZ0lDQjRiV3h1Y3pwbGVHbG1QU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDJWNGFXWXZNUzR3THlJK0NpQWdJQ0FnSUNBZ0lEeGxlR2xtT2xCcGVHVnNXRVJwYldWdWMybHZiajR5TlRZOEwyVjRhV1k2VUdsNFpXeFlSR2x0Wlc1emFXOXVQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZsRWFXMWxibk5wYjI0K01qVTJQQzlsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrQ2lBZ0lEd3ZjbVJtT2xKRVJqNEtQQzk0T25odGNHMWxkR0UrQ2w2d0hoc0FBRUFBU1VSQlZIZ0I3TDE3dEc5TFZ0ZTNmdnQ5bnZmOTZOdjMzbjdjaGdhYTdzWldCSU5nVkh3Z3daWVlEUWl0S01NWGYraUl3YUFSa1dIVWtXaFFFOGVBa0JBRDBhQXlJc0pBVVFNa21nd0lBU0tTRmtUZ2RqZmR0Mi9mUjkvWGVaLzl6UGZ6blRWcjFWcjd0OC9aZTUvOSs1MTltbC90dlZiTm1uUFdyRGxuVmMycXRYN3J0MzVkdDBnTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhjRGM4TUxrYmpkNGpiUzU4YzQ5MDFCSFUzRHNDNzY4STFsK3Bnenp0WmtBa2ZKUU9QMDZkbzhoZjhCN1BBOGVaNE8wWU9FNzk0Mmw2U21yOVNocklCOWs2eG8vTGJWZmRpdGJ5TGVDNzY0R0RKdkkwL0RRYzJoK0V2N3VXblhEckt5Y3M3elNJWTVMU2VkTW1hNHRMT0hOMFB3Z2UweWhuYXVza2JwSFB6d01IVGRScCtNUmxqcFlId2EwRjhORFBMVzlMdjJmaFQ2WEJPODJXeEpHM01CM1dsaE1HVHlkblIrODJjT0xneVpUMU1oL2pzN3pJVDhZRDR6N0ljdVp0SzlrbjVPTUR2cXpUNWkwOGpRZGNwdVROOGoyWnA1UHVTZVVicFZzN0VoNTNlb3VuODVqY09jR1hCSysrKzkzdjN2aThyLzdxY3crKzVkTXVuSC8wa1lzWDdyL3ZRbmRtNCtMeSt0bnp5MHZMNTFmWFY4NnVyNjJjMmR5YmJHeHVkZXRMeTh1cjNXUnBWWFZYOWlaN0t4SzYzSFZMUzhxWDl2WjJrVG5aNjVZbTNkN2VaSmRzZDg4NlpPT2l4eWdVQWtWSSsyZ2lwSkxRQjdDWWs5KzVpRm0yTEJXUzN6a25wUjBkeTlMMHpKbXUyMUxoeXJWU3I2bS9ONlZ1eXJvVnpUeXFTeHVHZGNwNnU4THJmejllT0dTNmpwajNsaVp5MzU3NGxBc1FYbzViMmhYUDd1N2U3dTVrMHUzSXBkdVN0TDIzMjIxMXV6dGI5OTNYM1Z5ZTdOMTQvZFh0NjV1YjI5ZjJkbmV1VEc1ZXU3SjM4OGFsM1V0dlhONTU1ZVZMTnovMGk1ZDMvc1hmdmZyR0J6OTRRMDF1RlZYb0UvcksvYVVjRmZNUVdHRndwTXpIc0luMzJpa254YjJtTi9xMnVpZE1QdTJnMHpSZ25OYS83bHYrMGtPZjl1dC95NU5uSG4vaW1kV3o1NTlaV2xsN1c3ZXkrcVFHM0dPN1M4c1BhT3hkRUh4R2xWWTdYU1F4YlRsV05kV1o3ZGQxM05Ud1FTaURHaUFIT2JEeFFpZGNXTUI0b0dlWmZCK1BrQzE5R2crVHBmSUl5TGFuNGJQTmxnZVlBSEQrZkFTQVM1ZDd2UWFUdExTVE9OcE1PSFByMGVpUStKcGo0a2pPbUdiZGtxZnc3OE1KZjJCUzM5ei9RTmowK3F2cWFQVTBiZG94UkpXOWJtdXYyN3V1L1BKa2IrYzFSWklYSjl0YnorMXViWDU0OStxVlovZGVmZjdaNnovK1E4KzkrdGUvOFJWeDN5enR5RU1PQ2tnNjZDaXNwaWQ4VCtWTWxuc3R0VG9ubk5HYmNoNTBQY2ZaYi82KzczdjZ6ZTk5MzN2WEgzencxKzR0cmIxUGsvd2QyOTNTbzN0cjNjcTJ1RGMxMmpZMWFHN3FZRVhrMkJadWgwTmR6N0VyZUhXajY5YldGUUFVQWE2emhpZ0pIYjB2bm5hVVFQTWdCRkJLV3NJZ3dOV3lBUE1VNUQ1YWc2ODBBY0NITHNOYjZpd3JzRjI0SUZzVnlCd0FVbzdvMkVSSzNuSFpiUlk1aHMzYytFSmxKam5KZFFXM01pb3NlcmFSY2dabElZdVltbHZvbEZNR2dOZGVpMzZEeFFOQko4dlFDTkhPd1ZONm9xazlLU05tSW1WMk43dnR5ZDd1UzVOdTl4ZjN0bS8rOU43cnIvN0UxaS8rcTU5NTRZLzlybytxaHZaSERnVGNMMHMxTVNGaGdRUDFVbVh3cHo3aGtuc2x0Ym9tbkJNL2Myelplc2M3SGp6M0o3NzNYL3lxQjU5Nnl4ZnZyWjM1amR0TEs1Kzlzeks1YjFPMXJtNnFSM1ZjMThDL29RbnZ5YS91Wk1KdmthdjdPQWFUWDBJcHJ5c0FiR2piZkZWRDRocmJaclFRTHowdWNwOEtEbnlic3N3Z0wxVXJHVnJTS3pKeGhkRFNCM0JEYi9ISXlRbVZNcUZ6ckdnNDMzY3hBc0FibC9xMnN6NzFTRmxPdUpWWGFRWEFCeFVIWEFwa0EzeWhKUzV6b1FkMVhBYW5ZK3d2YUNUd0hHMEFvQy9CWmZMRXI0VkNLeFVaT0V4dmdzS1NmRExod0pDdHZUZDBoZkZ2OW01ZS96LzJYdmpsSDM3dWEvNzluKzVlZmZXS0tHd0NxWjNtWmo0d1EvUjdJclYrT3MwS3QzcVdycXZYYkd6VmNQNzJuL3oyYjMvaWZWLyt1OSsvZk9HKzM3ZlpMWC91MXRwaytaSTJkSmUxV2pQeHIydGx2OUVjVFA2YktwTXphSnhMa2xkLzVUdGF4a1QyYWtZQU9IT1dZOUpkdnJLbkFDQUdORkVtVXA5VTFyK1BIcmtmZ3VlNEtaM1J5OUFHdHk4VXNja1Z4UUZaaFJVTjQvc2ZXUElPNEkzWHNmTGdsSFVuTWpoZ25SMzlwdGVSTm9VUU9neEx2Vzk2dm1BUHZxSGViUXN0SldVbS9RSFpzcUtSOE5wcjZqTnQyU1psMXNNSEdIVURxR1dLUWVCT2pabE1FN3hFUUZpTG9MQjNjMjluYVcvbkovZXV2dkhkbC8vNVAveisxNzc1ajM1YzNPd0lxRVgzMDB6bXJXb3RMSmJUbDRyNXAwK3hScVBVa1R3UEFuZXUrcHQvNXU5OHo5cysrei80Ylg5Zzc4ejUzNys1dXZUMDY1cjByMnFGdnF4SmYxV3IvRldONyt2S0NRQ1pFd2h1YXFDdzZtOHFaOVhuTHBPMys4cmRjenBsRDdLbFBYZCtxVHQzYnFtN2NtVzN1M1pWZHdsU3MwYlpld0tVTFN1ckV3V0E1VzVUVjhlWGJoTUE3Z1V6c1dWNWVkSzkvdHFPQTBEMkEvM1g2eThvL3BVVHppQXFCMWR6b3dwT2c0emRnWTVsWGZwNWg3QzUrOUhkYTFmKzU1cy8vcjkvNTB0LzRzcy9JZ25zQ0VnRWdEWUk1TkRKM0V5bjdXUWZuRGFsR24xU1AvS2M4T1NzK2x0Zi9aZi84c08vOVk5KzNkY3VuYi80eDIrc0xUM3hzalpvcjJqaXY4RjFyWTdMT3E1d2FQSmYwd3lQSFlBbXZXYTViaVBYRzFwTmV3YXowUmJQQ3Zzck5RQzBmaml0OEVFQjRORDZFZ1dVSWhEb013Y0NBcE5mYUlJQU93UUhBdTBLQ0FiYUxqNC91WHpwMjY1OTcvL3dIUy8vdGYvc2s4SVFDRElJdElGQTZMcU9BSitxTkcyc254WUZVemNtUEFmbDNPNVB2dVBESDMzLzJUZTk2UnR2cksyODYwVk4vSmMxOFYvWGl2K2FqamQwQUYvYTNOTU9ZRS9iZmsxNExlSDBTcVlVbnVYYjVZc0FjRHNQM1YzNkhRZUFzZm9FQVA0MDh6TVlPQkFRREhRczEwQ3cvYk43TDN6aUwzM3NpNS8rdmlLQ29jVTFWUWFCZHRpZHV0MEFFK3UwSlJ5WUIvcmx3VFhYOXAvNW51OTU4bis1Zk8wN1ZwNTQ2dSs5c0x2eXJwOS91ZXQrNmZXdSs3Q0N3TFA2T091WGRFUHJGeS90ZGgrNXZOTzlxQ1gvc3ZiNFc1cjhlRDZGa2kvU3dnTzM5QUNYZ1hySVlIZG5wOXZtMEkyaGJTMG1mTVRJc2FYN1Nwc2FiN3VUbFhkTjN2VFUzM3ZMVDEvN2prZi8yMy8wWnNrVTFmY0hXS3h5N09hUXkveVdUYytUZU5vVVNuM0kwM21aYjMvYnYvdWxMNzN2clcvOXI2K3NMTC85T1UzNlQ2b1RQcW5yZmVlQ1g3dTUyMTJtazdoZ1YwcGhMdHpoYWJFRHVFTUh6cmo2aWU4QUR0QjNvdVYvU2NleVJxVjNCSnJtUEZPeGNrN2piWFBuUXpzZis4alhQL2NsNy9qSHFwNlhCTzF1SUhjQW1SL1F5dnpRVEs3VGtuSyt0cE9mS0RwNVdENytyaGRmK2M4dnZQMlp2Ly9penZMYmYwR3Iva2UwNHJQcWYwaFIrTmxMZTkzSGRLZnZOZDNHWjZ1UGdCUjJXb3hiNlBHcDRRRTlpTmp0Yk85MFcrd0lOTFYzMkJIb1BoTzdnWjNKOHR1WDMvck0zMy82UjEvNWM3S1d1Y1V3Wk9lYXU0RWNscG1MZEhmVGFRa0E2UkJ5ZE9MQWNkMVgvc2svZWZHL2VmM0tmOWM5OHVCZitPV3IzZHF6V3ZtVk93Qjg2UEtldC9xdjZMTTh0dmtwaEhxTHRQREE3RHlneXdNRmdtMEhBdTA0U3lEWTBnTmkyNXZkR21QMUxUOTE1ZHZQZitEcjlhaVZyejR6QUdSUVFMVlRNVnhSN0c2bmRNUjQ4dS85c2IveE54NzdMWC82ejM3WHpmTm4zdjloUGVMNW5DYit4M1d6aitOalYvZTZWL1JaSGgvalVUR0Z6TktZdGJWSng3R3BtNHRiK3ZpczNEaWVaWk16azcya2o4dzJ6aXo1QWFlYk4wN05qdlRZOW1MTGttN1kzWkF0WEs3TksrbkxDcVU5alVDMVM5dDhlV0hwNHRxN3o3enZON3h2OHZEalAzTGovL3BCN1ZXOXFJM1Ztc2V3SGJjNUtOL3RBSkFPSUNjNm9nOHIvOTZmL3ZidmZPTFgvYUUvOU4zWE50YS82RmxOL284cnVqTHhueU1BNkRQNFM4eDhwUlRnd294UGl3QXdZd2ZmZ2ZpN0ZRQ3NzbVk5ejVDMFM5R2VMZ3VXejYrOGZlUFRQK2Z6Tjk3eW1UOTA5VWUrVnhjSlU0UEFIVmg5NTFWUFF3REl5ViszL2F6OHYrNFBmdTEzWDlsWSsveG45UWxydStwLzR0cXVQOWFiNThSUE55OENRSHJpOU9WM05RQVVkM2oxMXhPUy9Ia1RvaUN3ZEg3NXlkVzNmc2JuVFI1NjdKOXBKNkE5N09rS0FuY3pBRENIeDVOLzhudSs3dXN1L3JaditIUGZkZTNzK2hjK3ErOW01Y3IvVVczNVg3d1JIK25kamNsUEh5OENBRjQ0bmVrMEJBQTg0MHNDaDRBK0NFd1VCRGJlOFo3M2JMLzYyai9aK3JtZjFCTXFIdmRtcDBwVEJqZlh4S3A3TjFMTzRRd0FCS0tsQng1NFlPWEwvb3YvNm0vY1BMZnhtejZrbGYvNWNyMy9VVDE3LzVJKzArZmp2YXg0TjVSZXRMbnd3R0U4NEdjSDlISDBydTRGY0lOd216c0FGelorMDhOZi8xZi9ldmZnZzF6aU11L2FBN0YzWldqZmpRQ1FocllPSUFEcy9QVVAvdngvMmoxdy9pcytvbXYrVCtoei9lZDEzYy9OdnBkMXM0OW45TE1pM2xxa2hRZE9zd2QyTmZ1M2VRS1ZUd2gwYkNrSTdEMXc3aXVmK3Q1LysvWFNXNWpUOGZIZ3ZBTkF6bUh5REFCRXhPMi8rYTkrNW5lc1B2Ym9OM3hNVC9KOVFoUC9FNzdacDBkOEY1TmY3bG1rZTlFRDdBVDRacUtEZ0o0WDJORzRYbnIwMFc5NDB6LzZtUytWUFR3eDZKMnZjdVpDT3pkVW5FK2Fad0JvRFV5RGZRL2lqLy9OYjMzTHc1LzVybTk1YWF0YlkrSy9JRWV4L1g5Ums1K3Y1bWJGK2JoazBjckNBeWZuZ1YwZUhOSjY3OHNCM1JSVVBGaGJlL3U3dnVYaGIvN3ZueTZ0NUVLWWMrTGtHaitFcEhrR2dGU0grY3pCNU9lWWZONVhmZFZmdkw2Ky9KYm50ZnEvcU1sUEFIangrcTYvcHJ1WS9QTFFJdDI3SHRCSEF6dmVDWlFnb0V2YjNUUExiem43MjcveUw4cW9uQWM1K1hPNFp6NXp1K2NWQU5JZ2NnN2FaZkp2LzgxLy9jSDNUKzYvK0h1ZTA2dWNYdFp6L1JFQTlIMTdMZjFaU1h5bklxWHlldFBucDBUS2p2aFVNQ2I3NWxUYVFoQm9kZ0k3ZkJoNDhmenZmZFAzLyt6N0JiV1hBbk0zdzQvYnpzbHBhVnhPL3NtWC9aRS84c2hENzNqbk43NjgxVTFlMXFyUDhkSjF2YmxSWCtyaDFicW5LZms1RDNRcWVxRWZCdDJUU2JyYnY4V2UwK2JyWS9tMHNjVjlkU3doczZ1MHAxZEs3V2pFOE5YaUhRMGN2VXQ2c3ZyMHAvMzVCNy9pNi83UFYvLyt0MnI1ODZKWXJLZ2ZEVktlYVpwSEFHam5DWk0vQThET2wvM1p2L0MxVzJkWDMvbkNTL0d0dnBlMFBYcFpuL1VyQnB5NnlVVlA4QjRJbmova0V3bHRWazZkamxMcFVLbTFCWHV3NVY1T0RERHNJT2REZGwxcW44cStXZEV1WUdsbjJZK1E3MmlzTDExWWZlZlpQL3pudmxZQjRMK1V5c3hGdWlaTkFaNTU4azI0R2JkQ3YrVEI1TWZRcFQvNHpYL2w2VS83cmIvOWI3MXdZM0tlWi95NTZmZWNQdko3UTkvb2d5a3JuSnBjM2JHdTd3R3M2MVZhL2k2QXZnOXdLdlU4ak85a3k2cWVteit6c2VTYlV6dy9mMnI4ZkJqOVJ6ejB3MW5ad3VwNlU2dUh2c1ovS3UycHUwZGVOaUtINC9PVk0rYytjMlhqM1BkZi8vRWYxaDB3SnlaK0hyRE1OT0c3ZVNYYXlodC9PMS93dFYvNyt6YzNsaDU3V1pQL1ZTMUJyeWdpTXZteEdNYlRlSER0bjhkcDFPOG9PdUZuMzh1UVRVZXBkeHA1MDVhOE4zTWFkVVFuOVBTbkFucWdUWnVCYmxmamZrOXo0TXo3ditZUGlNU3pBY3lQWklXZGxIbVVUdmc4NjBzQTk0MTBUcVBJdXkvL1UzL3F6YXYzUC9TQjUvWDFDRjdoOVpvYzhhcFdvVjN0cldldDBISDl4M1ZsYThReXdlQzR3dTUyUFd3cCttTVR0dHpyS1FlYWJUbkY5cUFhNDV5Zk45cVYwbHdLTE4vMzBBY3VmczJmL2g4dmZlZGZlMEZrdW9RanJjaGNxSk5QODVwdjlFOGF0dlBGZi9qcmZ1Zk9tZVVuWHRHMVArL3VlMVZPdUtUVm4ydTMwNXJvaFEyZEZMeDlENkI5b1B1MDZudzd2YkNGQTF2dTVjVGd3ZzUyQUl3aGJxdWY1clRFdlFETmZnNzlLSW0rTmJqOHhJWGYrOGQvcHdMQXQwbHY1a25HTTFrMDJ6VExBSUFScERUR0FlQnRiM3ZiMlhPUFAva1ZiUGt2eVhoZTRmM2FUVjdQSGRmVVVlWDBuZlBPY3ZaSXJxQ25UOVBiYTRRdFRCWnM0YmpYUHdWZ2dMVzIzQXYydEx1QVhVV3M1WWVlK01yenp6enpkNjQ4KzZ4bWhvUEFYRzRHTWlsbm1YTHlrOVBXN2dmKzFyZCt6dTc2K250ZjFiVS9yKzUrUXdIZ3FyN2IzektlVmhoSFdUZU50dE9xNDJIMXFyYWtUZmR3ZmkvYTRoOC8xUlRuaGlYM0Fqck5pYk4vNnRzK1J4QVQzNHVsOHJZN1ZUejVOTXNkUUdxTEVXblE3cHMvKzNOKzg3Witjdk9LVm45K3VJTlhkL084OUR3VVNZV09rL3NlQUJPL1RQNTcvUjZBOVMvMmZFcmNBeWkyc1ByZkcvWndJMUJ2SGRhUFNPOXh6WEsyVzFuNzlIZDlzYUFmMWNITlFHNEtNbmRtbW1ZMTcxTHhqR0FPQU9mT25UdXpkdUgrTDJMNzcxL3MwUTdnaWw2dHhYVmJWcGlwdFhjZ1hPTXFYdjBrZ0dCd0wraDhrTG5ZZ3IreEkyMDVpUGRld0xlMk1KZkc5d0J5RUdJTHRwK1dwQjg4angwQS9hQUJ0WHord1MvU1R6YWYxVTlQYVdtY3oyWEFyQUlBUGs2L1o5Nzl4OS8wVFUvdHJhNS8xbVU5OFVjQTRGZDcrTkVPQnVGcFQ1NHNVcEw5R2VybVRxRFgreDR3SXBWbHdIRlVXKzRoM2RPR1VkN2FNdkdBWXRqMUtTM012S2ZjUFVnajN6Y3ZmUm1nS2IrMHN2NVpELy9SYjM3Nms5L3k5YjhrclhMZXBDSGtKNjcrTEFNQW5rWHB1djEvMTIvNExlL1pYWnRjdUtwSEh2aDEzcXM2K000MERLY3hwZWZSRGM5NzBnc2dYOUlnTTcwd2didG5rblJsbTh4MitkN1pNdC9hdTJsTDJyTkhoK2gvblBaNEFtZVVwckNOT0daVVJFWHZBdlJwQUJ2K3M1TUxhNS83eGU4UjlBczZtQmFwTFBsTTFKeGxBRURwUERCbTcrTGpiLzQxbXZQeEE1M2FBVnpYVzFQb3Axa3FvZVpPSlBHcUo0eHhyNVN1WURkQXQ5eXFkMmJTYTNkb0VUbzU2QXBnc1dUczNhc0ozN2VKUHNsK1NkL2JWdUU5R0ROd3U5VFd2RHV3QXdDL3RDeWw5NlRvOGtOditseHA4ci9xOEZCVDNwb0luR1lKdlBNMGk3bVhDcFBuZ1RHcksrZlB2NWZmN2RQWC9CMEUrSFhlMDVEUW90VmtBRE5Eb0N2ajRQTm1CaGlxcDNFQzc2bmszWXFVcm5wWDRKNHl3OHFpT3YyUS9ZTlJwY3VxZmVNQUIzOWFuejhqRGlid1FIM2ZSbWwyWjc5RFVBT0tjY1Y5Z0tVekY5Z0JuTkdSOXdIYVlYYmlQVFdMQUlDM1dsODZBSC94Qno3d1lMZXkvdlpyK3NqamhsWi9EZ0tBTmdFRFppcmZyY1ExV2F0NHE0Znh1TDhjYkRXZE1oZWhnb1dVMlVINHBNODlsMEs3UElUQ3dQTng2alE4bEV2YXZ1STYycDJuMlUvZlFFdXJEQ2RDT2Zpa01RRXpKWjYzK3M0cjZUTUFCU3kxclA3d3B3RXJhODljK0xLdmVmRHlEM3puaTlJQlJkcWpWL2FFRkp4VkFFQzlnZUx2L2ExZjh1VDJaUG5oNjRwcitpRWZCNERUOUxZZjN1R2EzWjdYODJrQVl3dGQ2U2Q5RjZnN3E1QzJvbDkrNDdmaGZLa0pJOXU0ZXlUWkRobHluejVzMG9jdzNVUmZjcnFYRTlwZmtDMFRIVmZWSjllMHNPUVB4dmhudmQwL0RFZzlmU2Q3V1pFS3ltYm5yS0lMd1pNU0Y2WFpuZWtMZ3BkamdCYkZwWlhsaDgvK2UxL3lwQUlBandXalRxcUVFc0FucXRwSkI0QlcyVlRZU2ovMnpEdmZwcDlMWExucGxUOVcvNG4yUFNldEFJMmVWR0xpNndubDdyd215enN2VHJvbnowKzY4MUo0YVcxSlBjRXdHaVU2YzRSeWNTcnlBTjVwOVVlNHNaTkg1T0dRS1VUWEdWVjB4ekQ1ei9JN2xpVWQwWWFtV29KSHprZHFEZXRQSVJvMXdsTmtBbTgvdHVxZDVldDZ2dVNqK2dHWjUvVTdFbHl1RVFqd2VGd09SR1hPNEd0UDFuNENDQjVxelRMUmtvTUFnTWFhM2hPd3N2clVwNzlOcFovUWtVcGtMdFRKcGxuTlB4VE9BLy91bm52bzRiZnhJZ1FtMUpaNllYTjhZWGF5ZGgxUld2UzhvN0JxbHI2d0FlKytmNm43TEMyVlRQd3ptaWZuOVZLQWRlWDhJaXdHdWdNUGFBMTU4SkNpaFlCbmRSNjBwVUtXNzdROWRNOWQwVHpzUU4vVTNlM2R4aFo0NFdPaWIybUJ1YjQ1NmE3cGVNZjVwZTRGZmNuc3AxN1o3bDdTZXliV05OdERyaGdGc09lakRrTVJQSWQzQjJaQ29nSGxzMHUwRVBjQnRBZFZrOTZGUFBEUTIwcUxWcWZBWmoxcFRVNDZBT0MxR2xBRm96VEg4c3FaODIvbDVoOFRQNFBBYWJqKzU4b2RwUWRKQ0xiNlgvREljdmMyRGFJSGRFdm1NeC9xdXZ2UCtsTE5BNGJkQWNlK3VrWFFRZmhCTzNNbzRQempwdE5pQS9vZnhnNzA1V0JDWDFjZ2VFRWZONis5T3VrZVdsdnRmbFN2bmZyd2xkMU9QNG1vRlBzM3JyK0JYVS80N05QczFMZ3NQRXpMeUR4K1d0Yk05K1NYSXVSTGErZmVLbWs1K1ZHZ1ZRSVlsVThrblhRQVNFVlQ2Y3hYbGxmWG45aFVwM0J0UmhEZ3l6KzdzaU1ybklnMXh4Q1NDckxDSmN3ZDJjOS9lTGw3KzRXbDd1MzNkOTE3SHRIV1VrU05uMjVMOXpENDhvWnZPcFZ1b05NT2xaTC9VTXlIWTJyOTExN0RVcHZtV3ZyaEpCNkNxN0czQVE5UjhkWXNyYTVqVzI1ZFUxUXE2NkRlbm5ablN6cmVwTDQ3cDZEOXk4OTMzUmMrb2tzRC9ZNzNDM3JaN0xJNm01SEhoR2VTOHlLUnZLbUxQVDZLTW96UldhY2xLMTBhMXR6UXczSnZWbWxOQjUrYUYwMEV6U0NkZEFCb1ZVUnhLLy80NDQrZjBaWE5JNXN5aDV0cC9GcktMdGYvOHUxTXJXdTFPU1NNZnF6NnoyanlQNmtmZDM3Zm8vcStndXBlMGRPTHUzcHIwWkowMTlpeTNsTjFsMDJ6SHpLSE5LYXdWVDByY0p2NnA5Q0cxTmdtSEdBSGZpZDRxNHY4bWZxMlJ2ZXFwdEZqMnIxOTRxV3UrOXlIVjdvZmZHN1QyLzVsSmo1OG12dzdpdUJjSExBN1FMVEZ6N1VUbXgyQWxGOWFYbjJrZStLSmplNzU1N1hVVkpVT3NGb2NkNUJtR1FCUXkvNzh6Qy80Z25ON1M4djNiMnIxZEFEUUpPUFhWS3V6NzhDQUU2bGFCanplNXFiUVordTZuK3Q5Vm41KzB2V1N2cms0MFMrNzZLMVQzVXE1d0duSFIvYU1jUTJoQVU5RXphTUtTYjFxUFNGYVhPcTNENWVFVW5GVXJPTG1CYlQ2dWMyUkhlQmFIWUVaWjN6a3ZLVkZoL3MxWjNVWjk0aTJjYzhvdVAvOEczbzlaOXdWZERCbkV1eHFWN0N0bFppMk1zQVBuQ1g4ekJJS3M0MVUrL3kwdUNMQS9lYy82d3ZQWFhuK0gvQ2pZcTM1d0sycEt0NVptbFVBUU5FOHVzYys2NzNuTmQzUGMvT3ZEd0RpT0ZGVGp1WUkrMXhWTkU2c2hqMHI1T01iays1KzNSbC9RcXYva3J6RCt3cjIxQTM2K1hrSEIvZlRxS2swQTlwcFN2dlVFV0xLazdCOU40aStyODRwTUdpZlR0aUJYajVOVnpBL3JtVzNlVTNIdXZyeXFtYjIyODR2ZC85T0FZQUp4ME5BclA1OHBzT2s1NTRBWDB6bmNvL0VaU0h4bnVJdG1vTDFqcFBIbGRyajBsSjZuVjkveDdzdlhQbmhmOEN6QUtTWk5UK0xBREJXZHUrUk56MTVZVyt5dEpHVDM3bU1WVGZjdFpSSzBza1o4ZEhyTVFXQUZSRWZQcStCSSswMnRmWG5iY0FzR0RuQk14OHJmeEIrekhkWHk3TDN3T0hFQUx5cnloMis4VnVaWVNucUw3YjBYRWl2cWw5NVpvUDdBZzhvdUNzR2RGYzArSmp3VEg2K044RHFEejlqZ2U5SklKL0ZRYy9uT00zU0w5YURCckxSbGFXTmxVZTVBSFZDZ3p3SzZ1U3lXUVNBMUs0cWZlN2hSeTdvMm14VnIwYVBhelRsK1dXVVpMN2JPY3B5YStnOEgvRnBzS3dxMXlkSDhUVk5FYm0ycElQSWFnNmN5WVFzRkw2K2VOY2c3R3BUNnQvaURvSkhKaDNFTmpmOFBsdGFCUnNpSUNSeWdya0R2QkFUK2xXUi9LeG1PaStoSWFycmJEcjM0ZmhVYWtVMXVTbElvbDUwT01Ec2t4ZVFzR2wxNytLakJJQTBZMmFObjJRQUNLK0ZxZ21UNzIyY1AzZUJKMzU0N0pRZ3dMYXJmUVJ6WnRiZFFuQXFpSXZ4TXJkYkdRd2JHaFIrd2srOXp5VUwxMlFNbk9UTFRvcCtFajVUZzJqQXBONjFQSFdwOWg1U2s2eDNTUGE1c0tWT1UyMkJtQVRsN095WTFDUmdRT1kxK1lZQ0FKLy9yNWtuVm44bXZ0N1k3KzAvbndnNGFKVDZ5QkJxdGtrRGE0TENOS1RHbDgrZHpSMUEyeTRhbmFncUp4a0FXa1dCcS92V3psODhoMjA0blpXVVFKQ2RNcTQwanpJZXpJTkp6OEhYZTdYb2U4Vmd1NC8yNkFrams5NTlVMkJoKzhzQkZ6amRPdEdlVXdVU2NVSzU5RVh0ZzlKSk5WdmxWT0NnRnU4QWYweGJCdlpUU0IyVkp3aWErd084TTREeHlLUm42MjlZT1o5TThkSGZscUpGKzlndzlUaG1sVHpHSkp5Y2hwWTJMcDZqR0tYWk5UM0xBQ0RkUTNHOTZPQWNsbmoxMTZRaTE1T2FweUpsdExjeTBvbjd3S3dVVEhoL1VhYm82UTRTVE5HZFZPQTZzc0JQczJpQUhCU21jUjhmWjMyYUlkcUFZNkhUU0xmVmJNQXdLSXpGMzNtNXRXV2FzcVdGQVlrQ2FwVzhncFlWTkhEWmQ0ekJmdUwzTndTWG1maUlLZlh5aHFCUU0wMXIwaWUvRTRDZTNlbzZBWUNVWm1ZZTJCTTZuM1FBbUtya3h0bTFzMnU2RzdQR1k3UWJmQ1F6NlM3cWpzeFU1aE15N0RCaUdBem9nTU41SUlUeWlrWUZPVGdmT3JGcllWZVFaUThpNkVZRVhrVXdrUld3S2ZYNG1VSk5pd0x0MzMxT3h0S0Qwb2hTaWlQc1FaVlBHRDlzZkw4dFF6c3FuV29VU3U2K0ZFd3grKzNNaGg3dDNsbnlUc0M4bXZScytibmhSOVhvNi9oSTBHSXNYSVFacGlVMXluMm5GYzNJZGQyQTNyNndxa2VZRGt4cDRZRU1oeVdjZEFBb2JnKzNTZ203YnUzTTJzYUtBc0M2amcwRmdETXk3Wnp1dE0zQnJ3ZjZJUld0REVLQVcyRWtGSmdCbzhEc2daTjVTK3RoYXZhSkVpdElwQUJxTWRFenlzT25jWGFibkFhT1Bwd21ycmFQbGR1azgwdGpXNnhUYlQ0MUtUczJGZUhuTUY4QmZNa3BCRHM2Q1BUTCt2cHlkMEc1UHhrQUxab3Yrd1FqZ0IzQTBHY2dacHZRaFFEQXdkcS9kV0ZOTTZXYWhQWXpTU2NkQUZCeW43SmJ1NU9OaVY0RWVvMTNBZXFobWl0WDlycXIraTJBZll3ek1YRy9VUFc5QndrNUFCL0RKTHpEMHo3U3JQSUlZUEo3UWdzMnZoREhjRkRqbkZ0SW1waC9RclBvaURyd2o2Z0VFaktJaGJRakNqZ3g5c2FXSXJNZk4weCtkbTVORUlDb0ttUUZkQUJQRzhEZHVMN1RYZEp6M2F2dTZxZ0xONWQrcnNkSnlTK3JUNXpLQlczYVNaOTRNR2xWSDFud05YTjlqNm5idnI1RUFKaDVPdWtBTU5WSE96dEw2emYwUU0xMWdvQStYTCtpSHdHOXBKY0NUR1dldWNsOUE3UWZnN3dFSTQyU25RZU1OVk91SHI0RUVJWkIxRzc3V3hpaUI1bFBCUTZNWlJXMDRWbWR4djYwVlFOOTFQS1lxVlZtcEdSZm5BYTFGVThlSHF1NXp4WXh3SU5tQitZaXVBOExYM2JIcHQ1R2MxVnZwZVhiZ1o3MWtnREl6M1d0SUUzL1liRVdnZ3FmdkkydHhGVnRBVmEwL1dRSHNLM0F0SHR6d3VNbk0wOG5IUURHQ3N0OWVpeGJEemYzUXdpTVArbHd4NDByekx2c3FDOTkwSSt2SzZOd3J0NU04SG93RUpveWVycE1UZU4xQWxmS0xzejVGQnEwamU3SHRGUjNUb3NBdm5XVk1mZk15dnZWYUREMGsyWW12dGE2clVtcW5KbWFCbVV1N1FnQTBVL0ZOSlVoYzZWSFloT1ExLzdnR0FPYWcwNkpMOFhaWnlpbVJEYVpMS09HUVhDelNyTU9BT2c5bVN3dHIvQXhTMDZnV1JseldMbkZ6NTdvd0F3dGZ3OEFCWnRFS1hjQm9FMHVkbkJaUUVYWEtMaktBK0JrYWhiNi9BQjB6M0JFS0EzYVYyMUlvTm5ZOGV4anJBanoxRklDUTRVcnp4Q2R6SGVXRDFVdXN2WWpFK05jZWhESVNXUXRqVDV6RUlCWTlHMmZRQVhGSjBGTWRnSUFNSGYrbVJqNVJDQ3hoVlNxUitHa3p4TGU5czFraWR1QjFSUmFTN05PdE9WWkJvQkc0UWtmcjhZRVFuMFZjRzdEY0tKR0hWWVlPbTJqalA1WkNlaDhyLzZCc3I3akFOQUdNYi9Jd2J4Um9WLzlEWVVhSXMwOFpSdjdIT3FOODZENS9aZ0JXWVZHZDVkRzlHeHJoRDZ4WXNvZjJCTElRTFhuTW9hRXl0OEN5R3JrSE5sL0tSWTl3Yk1nc1MwbGtMUDlkNzlDOHdEUUEwR0MrWmpRdHduYXlzTFBKS0VVN2Vnb3VyUnpFeXFKUERtTnVOTlQyOGlkeW1ycnA4TGdlTFNPZHg3VUNaWE9iaXZNRTY0clFtblVYcFYrdnROdmhYdGRjd0RCbWpiMHNHb0t5YVNLSnh2N1BIam9VVU1sbjBYbVRiQUVvMHVSYisvN1ZGR0hiem5xN2VQSCtKckM1aWkyK01wd1RDRGE5am5GdWhCNG93VEc5bDlOYU5tUFZSTWYyQU45dTBLZ3N2dGF1YS9sbGNNZmRjSmRCSDM5bDQvK1loR3dNT0g0eGlvM0FuMnJvSmM4RXloMVFobkRtak16YVdna2RGWUJJSnR4ejJseThQWHJHSXpPNHlrc0U1Tnp6cmtIVERPbzR6dmh4ZmxGMXh4QURDSVNaVmRwNkdHWEpvUjVnaENnejJGempxaVE0dlB3ZERSUGpMbjNyZW8wWFVjVUxmVTFlbWlvQWFYUXVNVVh6RDVDSzZXRjI3ckhod2ZOVWJBdE1jbVJhcFRGSnhTNXo2Z2pnSXdqQTNqMkc5V1k5QnpRK0s2QWR3R0NTZHdEWUx0SzBVRkRlZlkvOUZrbGRodHRCMmdwSVFDTXNDZmYrcXdEQUJyckU0NGxmZ2F0TjdBNCsrVE5DWStONWJaelFZNDFPVlhJYTNtMmVwREFlNklyOStBUmczNi84UllUUHlxeEp1NExBdGxXTmtZYlUxUFBRSTg3VlNBUjQzdy9RNHRCRjVkOTZ1WDNVZ2JjUFhvTXFTcTFiODg5clkyeHNJUEtyZlRnMlk4SkxRSlB5QXNvK2FibDRPaEQ5eWM1b25WcUp6d3dsdzk4QXNBWTRDTkZnb0JuWDZrenIzc0FxR2NsVVZTM3psMmU4V2tlQVFDSDg2aDkzeEdDNTMwUEFKL2kzVjMxWnNBTWFtL2U3WFFHUWlnSVlGUjlGSmpIUm5PQVZUdVFvb0xMQlhiR2lmck9zcVVvcHd3ejVBa2tiR05pcmRvVDhrWlhWSzBNS1dtVWwzckpwbUl2Q2RZa2pLb2xaVUFlRlBaWHVHUE1yZVJMYTVIRGRnSHF2d3JMb3VoRExFT0d5c2xiY2dkeHFrSG1LSWtiZ2VzcTArLytDQkM4eW5FL0lMNGx1Q1JoU0c0WEVOaG1rV3hUMGMrNlJqeWFSVk1EbVhNSkFHclJZOC8yNldTbkpuS2d6cDBYb28yYzVLekxPVFNRYlRVYzhYTTBtQjZ6VlNpVitDOUg3Z0JZRWVxTm91UVJvNi83WFNVcTZPektrYnZnOW9HY1RCQVVhZ3h4aGRhVEJMa1FCTUJVMDRTZU1lVHNPL2Yxeks5aXJtVDdXRnRFMFVQY3h0Wml5ek5IT0hveSt6TmNram94TWJFcFhXRWZTYmUyUEFnQVJXL1RFYUlqNnNSczh5Y0I0SVVrWTdIZ2owQXc4MVNhb0NuYnRjY1BoUlgxWnRqNFhBS0FKb3AzQUhqVmRzcXg0ZHlUczZ6NHp3S0JjOGpZb2FVWndrRzBIOXd4b1pqSU1PZ2tJSDZzTVZZR3ZnekVTMElJQUZrM0puM0lxVEJWczM2MjFjOVdpeTRjaFJvOTJ4YzhKUHNpVUl4TTQwd2RMUDlhbWNLRVdxY3NpMzE1QU1WS2hvcVdHNmNCUnhSc2lNRjk0b1VkNDNvQkIxTjZubHRCUS92SG5ObVhLSjhCQVo2RS9RbUEvSk5TMm54d0NTQTE4ZHRTMmRHeCtyTVRaZUw3eFNDTVM4SDU4Ujh3bG5GWlFJcXp3Uk0vc2NCNENCWEowbk9XelZYOTV4UUE5T0dLUElrejAwaWNmeElXdGpKaVVzVExIa3RUcFUyMi9ucStXaWUyODB4YzVwUHJlcUpxK2hZRnQvVDVFTytLNE9VUWZvVzV5cHVGSHg3ellVYkM1S1hzTmxWMkt2Z282R3gwMEFxSFVibkNNQUFHdjFOWERIT0dza1Z1eTFObEF5UWRlQkFzUUlTdHZRcEFTRTVONElnMEhSdTB0RDE1VHk2Zm9zZllCckZVbEd4TlA5Zy9Vc1Q1Rkh6ZEFUVEtldXd4RG55VnJacWE0R2hRZDNsQ0lTOERRWm4vdmx4b3hKd29XQU02aXZod1NLQU5tM2FpalRYQzVoUUFpb2N4VEFsalozTVBJQnF3L3d6R2hPYzNDQi9RRjVIZTkrQlM5eG4zVGJxbnp1bGQ4WHJROHB5ZXRlTHVLeDVPTHordWwvOXRDSzhmQWVxMjlWcnBYYjFNY2tVakx3WmZXV1dLYkJ0VFRtWCtxUlNoT3pScE9aSXhQb1BlMU1pOHF0L2xlazJ2SFhwUnI2citwSTR0YlRsNFkwME03aGprMXFzb1p4MGt1TWNWUWhGTktWUkxKZ2hEbmg2elg4TURNZnNKaUhHNkJTbFpEcDIzbWtaWXBXcGd3elphaXo3SWRzRUhiWHBlQXdBVlNpVjZDSkRYY1h2MVYrZUJ5M2hBSGQrVkw3THI1RlI1Vm9tK3BSMXNjWnFnMmV6VFBBSUFwcFdCS1lOYUkrL1F2dFpEckU1RTlwcFU1Z2RJSDlNRS9xcG5WcnJmOVpZbHZSQnkwcDNSN2QzOGZJWDZLU056QmtZZUUzMGRRMTlqcWp6SVRyNGhGc3IrbEx6N0tYVXN1aTE5TDZwN1VUOWg5YS8xNHhVZmZHVkxyMDNYdStzSkJQeVZrVkZoMVloQWdQUndKclI5Q1NPY0N2ODBubVNaa25zQ1ZobGhkMU9jVXVQa1VMWXNHOU9zcVBZSjV3ZDF3QkJ4UzBTMGIrekp3dG1UdlBOREZPekZYZmFFTDBHRjg1aFJnMHkrM1A2VDg2Q1F4MG5qV2tUTUt0VWdReU54TkMzUHF0VjQ0bkYyMGh2SmRFQzFUWUNmdW12b1J3V1JSYUlEYzdYSUNNb0RIRGUwaC8vU3A1YTZiL3ljbGU3VDlidCtlSk5veHdFOGw4OVkxTTZ0VXZwRHIwZm8zbkp1cVh2NjNIcjNub2RYdXgvOHlQWHVlYjIxY3MzYmt4amVqZ00yVUdYMnBJSnRGVUlNMHhLV2pSSW9PU2tuem9nNnBSaWU5VG5BS1R3dDZsQk1iWVZid0ZQMEYzZGU2MU94NVVqWXVkUndQTkJvQ0k4RjgyQUhnQUR4NWRoalRESU9HRU80bW5zK1hCYjRHUUdWK2FRQWw4TkRHN01jTTNTcGc1VGFtV2VheHc1Z01QRXA2UDlFZnZLRVRrR2E1MFdBaXR5NlpsZjQvaU9mdnR6OStmZXRlTVhuYTFYNUJRL1lUa3RDLzdBaE5HTEE4YU1rSC9pTXM5MzMvTUwxN3BkZTMrcFdOVExaQmRTRE9xb1VnNzNrakI3ajhXejQxOEVoQ3lXUElFQWhlQUtLYzZ2SHRJRllnMnhiNmNUaGJBVy9GSTFrVWs3c0J1dVdIUmhrZXdhM3RLSG1xc3RLVGhEUXY0K2srZWFmY0V3QTAzU2lIYitXdXdRQjQ0V0xSY1pOenV4VWZ5UW5GWjFaUzBQQjh3a0E3WWZ2eGNDTXdrTjFEbGZLVHFUckRFdW1PMGtqOTZaVy92L3dyY3ZkTi8zcWxVNjc5MDR2VjhtaGREamhkNUdMTFNmdXVhakgwLzZqVHp2VC9lMS9zOU85b0pmYTgxWFJuUFI5THVOWStjdHV3Sk9EeXFUZVFWRXVad0tsMHdGME55NkdaQ3ZjK3pIN0dYcldPNEVHZXNWS1RsUFd1OUFDTnJhYW1kVUlDTzIzQXZHVlYzV3h0MEVOR0FsZTZjbDE0RVlIaFZMSDl3QUUrMUtqdEVTZG1TVzFOWEE4QTNvT2FaWUJBSk9jN1BDbUV5RGtVVmlPbEZtd2hKSjdpMGR0bGZuSTdxMjZ6di96djJxNVd4ZVJHM25tUFpMMHU4dU12Z1NDKy9YbXlpOTkrOW51YjMvd2t0NU92S3V2VTdEU1JTRGcvbkFFQW9BYzlBelBzbTU2cE9wVWpRK2dGazJmYnVlUVZFcEQ1TlNLaDJDWldnL2tnWG8xRVdzdzhXbXMybTNRUW9JSDBBeVdPNzRFb0MybzROa1ZlcDZCVUNJSTVQWWZPZ0VCSVNaWEpjMTY0cWRxS28zcG1IRnpWZjlaQm9EYWlGZm5VaUlZWU9DeWtNY3hrdW9rY3JiTTVEaVBuSS81L3ZBN1Y3b25kWmQvUTRqanlKZVl1NTdRbStNZCtsbnlkejI4MXYzVUoyN3FsMjAwK2ZVQk5rR0FtMVFFZ0FnRUZFb1F3QXNpVU5jSnB5UmdaRU5MMGlpUEtxVmlyVDlpVW5FL2FUOW1mNjJETUtGeDFUdlpVcVFJcGxIR1ZrcUd3UWZnMVQrNHhCSVZxTU5FcmdzUUNKVTlzV2xEc044R1ZYd0duLzFLSGZIR1Y4UmpoeEM4VkpwTjhrZVN0Ri9FQzV4TG1rc0FzQ1ZZVkt6QzBUZzNqVDJLcGRVeEJmRDJUUUpaL1o4K08rbCt4OVBDQ0Y2RGNBOG5kZ0VFenM5OWZGMEI0SVoyQVhxK1FUYnJXeFVPQWt6K1BaOFl0Sm9TeFpuOTNmRXd2dm9ZZjNtWnVaVmp4RVRubE5SRGljbThVQTVtU01aRDVrVlFHdEhVc3Y2ZW1hRjNhMThFQWdVRTZrbUVjOVZObXpHM3ZRZUEyS0RwTndCRXc3L2sramVlU1U5VHVEWEhLano1Z1Z6S0ZlckVFOWJaOVdyZjNZUlNjMGh6Q1FBWWhqMXBvTzA2cG9IWmdjakFhVVI0T21sYlBmMXJIbG5TeDM2VFRyLys5Q21STU9QTjUxZTZCL1VXMjVldTd2aVZVUkVFWWxCNjFXUHlpOCtEcHNBeEdYREJ5QkgyT1JNRzJ2N2svaG5YcVd5cUhQL0NIQ0NnOGg0VGtIeEw3azlWVUQveHcxNElpVXR0bkNNRG9PUWVIK2l0SXhQamhTSStLNXVGbVBqQzhkUW5lSTh0WUNvMWRTbk9KS21Ob25ib05wTkc5Z3VkU3dDZzJYYnllN0R1MStWUUdBLzYwaUh1U0FtT1FMRFh2VWZ2OCtQbXpkeU1PcFRHeDJmQ3JqTXk1dEd6eTkxemw3YTh3dkVsTWU2Vk04aVpDdjdDQ2lPSHlZK1R5K3dPSDBjWjhpQVYvdzF3bzBKbE1WQkxNNThMMXJWdEU3c2EzWUl1aG9MUGN1d0N5bTVBL0ZtbnZRUm94SGpoZ0FlWDVXU0g3cDJCQ05CeWQ4QXJ4MGlTN253V0p6ZUJXVFFWemMyaW1YMHk1ekpYNnAxWW1zZElaVGozdU83RVB6SDUrMTBBMyt0K1NoK2hrYnlGTTNSdm4vQVBGajJvTnhWekNiQ3M1ZDgvSkNrbjhtVlJ2bVB0RlV5d0I4NDRDR0IrRXhRb2txYjVmZCtZVXoxd0xlOCtIa3ViemFtMjIraWZBYzYwb2x6eWtWZTQxTUVuakpNTUFza0EzcmJvVk9LbEw2L0FNWGI0NGdvdkFzRzMrSjlkMTh5VDJrcjkzUmFLenlITkpRQlVPK1JJK3NaSFJSNGVZRWpTRis1ZjVYUk95TnZ6aXgwZTRBTi9NWHlxQkFCWjQzUmU3Ni9lMWlqZVljTFhQeDVqSlJCb2hkUmc4VUNXN1pIM0s2RUY0Q1NuR0dXRGdWWW9aT2JxVHcwbHdKVFNNTzdqdVRQRUFmcTV3OHRPUUhCYzY3TWVpei9MSlUvYk1tL3ZBVER4d1hNd3FabGp2dGNpMkE4Q1laaG1mUVlGbXZYRFFLcVE5ZTdNdm9OckQ0SVNhaHpNZXFLVXVRUUFqTUdabVFDSnlqajFPTWtkcUlyeGhSekprU3c2a01kOFA1VlMrb2NuQW5mM0JZQ1kvSHg3a1FuQnd6QU0zREpOWWtlQU0xSklPdVlXZnFkZnBnNjlJQlFKRVlSTDRZUXoyYUMybU5wT3JlN29uV2owQVM0NDZsQTJPZmxLUUdDY01mWTRYRis1NnltcnM2eklZa0hoSGtBK2xKTTMvK0FyMWFnMWsrUkZpMFpLc2kxWm1HRStsd0JnQitMRTlLSnlERHlPa1hRMjlSQkY1OUpwZkhQUDEvN2VFZ2p4S1pTd0U5dFkvZGtGOEc2MTlvOGZsTWlQd096VE12RERRNkloZ0dSblp5RlFmUStNOGFJWFZHVDc2V0FzTWtXZFFON0xMSkF5dDZFVE52cjUvV0xINEFHbzByYkhCcWR5Wnc5V3hnaUgwVVdlc2dnSTBIWGtkVC9yQnpzRGdnQndmdzlBaFJtbjJrOVdUbzJSenlITkpRRGs1VXdHQUl6RjBlN0xZeGlKYjl5cHlpMFRiekh3S1RmeWdJL2JSaVBtN29NeWhBQ1Fsd0RldGtvcjRwM3ZDWGdISUZ1THNaa3o2bk5Ia0k0WitNaXo0bGJtTmF0OTQ5Z0VUOXEzZy80cU04TDZsd2I5eUMrVFd5bFhjL0tLeDk2Yy9FVVk0d09RSXplSTZZTnFmakVFM3BUTG1HVlZobFJVRVRURFJGc29PZWMwbHdDUXYzcUtiV0VqQXpNbTdHSHRUZC9RU1JsUUhLMlJDRkVPVEo3RHlreStvOVJqUU13em9SdjI4aDREdjh1QXhqVlN1RkhsU3lEdFUvM0RHSW9HSHF3K3c2U2t5dm1jZkNDQ0oyRVArQ3lVdlBlRm9QZzNwYlc3NXhsVlBvRml0b051cE5UZmVIQUNrc2QwVU1MbnhJMWNZNnNnMkRWNE1qZEtVNThiaWlGT2RBRU9xaUw0L2ZYS29lVWk0KzA1alJrN2JOL29remdSdUdnMGo1T1FlUWdaY3drQTZPRU9UZU9VcDNNUG9hTlpzbXJ5eDUxYUJCZU1janAyMWltYk8ybzd4OVpORFRMUjJ4MEFocUlIT3dCR1B3OEU4WlliVHc0YUVuOU1BR0FkeFVrVkIrb1dpZlp1bThSekNLN2JpbWtaUEdmSHZWajBiM1hIeFBxSkFMcXFvbGRQRVV3clFzSGhGcnNHT2JDNmJ1UlV4WWQ1clE5LzNnTUFWNnI0WVNLeFZjMlFjZElKbVRZRndkbndTVGN5UmQ1Y0FrRGFnNEdaeW5qTjRxRnlkNTQ0NlNqTDFNbWRrWEl6UDVTMGtKR3NSNnlhMVE2VnUzTUxwL1U5VksxZ1FpLzh4dDFzRGh1dTZGbi91QWNnUENRU0U4T1R4YU9wWGdBRXNlQ2lNT1VNZlpRcXhrQXQxZlpHN0hkVXhJNXFTVVNET3VscVVCdlpsV09DZW5HNUVQWmJsb2lJOUtHVHhXY0xLbVMvMUU4RWhHQmg4ajJBd3B3TGM2TlpsUVB1cEZKZW50ZzhDVTFkVDByK1FYTG1FZ0NpQjBJRmp6RlpkeWZQQVNBcEEwaktvemR4bXN2UmxNdDA4cEhUU1hyL0dBcU1tOGRXdHY4OFQrR0VUQnNiOXNiekFCcit3bnZlUUFNdWVWUXE1K3FnREE0SHJPUkZpY2hLSWNTNjZTcXpKMVhVa1lDUmY5STBUM2dMd3BDUW1QYjB1Um92cTMvYTNlZWlhZlppWGI3eUc4VmRGNUpFNXNSbmkyL1hDbWxZT1RzQWRnZndsK1pEaVJtZDBkdTZJUi9sNXBUbUVnQndMdU91VHRZN05NNHJvV1RFUFlBaWJJNU91MFAxajE1ZHR2R2VBOThFWkpUSW9aakx3U0JsbFpySUdRelV2RHVlZVF5bW5PeGl5RlJIbXhBSWFsSVVDM0pFZzYxSDlWQlQvV2pnUU1RQmVzcEFUMEowTnF5Y2lhK1dQT0dGbi9CdEd2eGdaMlJPQUloVTR4NTFRQlVDTURUOG1OdC9aSUpqM0JJUTVwSlNIK1VGbkV1emN3a0E5U1lnbHJYSEVVMTBJQ2wxTW5wWGVWTTY2aUJISmo1emkxUmhVRDZpYmdleGU4eENsSDZvbUcxTVVmY2dFYTdqbTRCVXhnbkNNTTRacER3SE1IZ1lpSFk4Q1RSQnNqSFY4RVNKb1krQVhwRW8xYlAzQTY0WEd2WWlnSFJJTmxCUTQxd3JIeEhvWlVmRktxMEIwZ2JybjVPYjFsVTU3d3Rrc0t1VHYrb1htbkllQkFEcUNzZDJ2d1pRVkZDWkp2SmpRZXF4Mk1DYkIyd3pTVFJBZzVuY3oxbVlYVDZYQUpBVHQ3WFBUMWdkd3k1M1JPbVVjYWNlUTl6dHE2QTBqYzQ1alp0bHNISjRrRElKeXdEaEJpQitZRDMwbWdqc3dSUkFWWjI2Z3hHbVlrUUZvVTJFb1VrS0JmdlFWWnI0UkJ6UWd6WkFGV2x0cld5Z3pPVXNEdk1xUklBcVY3dG9VRG83QkpIYmNPVTBFQ1RiUW1CSW5BVnJsdHVXRUdlMU03QkFUNWc2K0ppY0JVYi9FV2pKWVp4aEl1ZzRLVWVmTE02d1NZdWVTd0RBR2pvZ0Q4bzRtSDQ3U21yNVBSbW9MRGsrQ3BFaUtkRlJpbk5MU3p6ektBZEExc2x5OGxoWUxSd2VRQ1VHdWhQQ0MyeDhRU2U1RkNzclFOVlhBTmYvN0FKcUtrSThXSVQzajFjSWx6Y0FNNi84TkI3L1BjcXpvclNUamRWV2d5MVlLckd2MjBJbTM0YW41UWRHLzl1bU1wRlRKeWEyRkVyYlBORnBWazVvY2JEejhhRnhGUGlvVkJtc21YQWx2dzRNam0wK094L2VFa3gvc2VxdlVKKy9wbElEcHBpVHkvR0hHckMvYVdpbWpmVnF6eVVBMko0MGpyWUZZeS9IVVJOMXZCb3FwM09RN1pUeUs2S2hKYzhkNVkzZ0ErVWN4NklEaFEwSXZnUW9BWURQL2YwREpySStYMmpCVFN0V0xnOThQT3VSMityRGdJNDBXSDN4MjZBbENvRUVUNTJnRjY2U3dYV2NsRElQckdzbFExT3Y5REFtVGpZeEtUM2hnV3lqaWdRR3RDU0hYT0ZvVGU5UUNSc282dkRpbzl6VXpFWENoL3lNTlRjTkNRTGNtVWNlZkNTQk0wdkZsSm0yTVUzNXVRUUFKcXdqR3hvVWJ4NW5CMEJWTGgyWUIra3d5ME40UllnNFNxWEpiRHFxSkkrSVpWNVpCSjJjNVdSQjZWdUlyMno1dFZGa2xDRVo5Z29Cem1vS1NIMk1NMjhWWWFDbGc2RE1nUFN1UjdudnFSUTh0Rmp0eURuNnlkQzNGTzJMZFdwQ1JwdmE1d0JNSzUzWDh0WCtiQ3ZlQnNaZXB3cE1MY3BYYWdsalNrclFtSUt1T0pXQlFSdG5tSlA2ekFnRlNlVytaRUtzK0hMOFpIL2dKOTgvRUkzZzZPMi9jbDVhazU5V1VZOWpWc2xCR1FjWEozTnZZaDVwTGdIQWR1bUV3L000emh1QkxFZGVvWU5JZzBGWWNFR0pjL0tQY1cyNWhhZUlxT1JiMFdBYUQ0NldIMXFXRXg3ejE0WkdnTWV3Y08yRFFMNVJaNWxBREhBVmRDSkl4YW9vQkJPZ3lNcTI3WHZxRlVUaWc2M25weDd0a2lPN3pST2ZlZFRkZjdac25jaDVUVHM1N2VaaWtIbmdDNzJLb2NYUXgrM29SRkR3elU1UkFoZk13Q2pvakx6QXhvRTBFTjhqc1AxRmtSM0p5NThCNTJmQi9MR2ZhSkF0UXdEVndXZHF3RVNkV0o1ajJnSlJZazVwTGdHQWtJdE5PZkN3cllVUGF5c2RrSjNBWUVlbUI3MkIvVkxjWnFrRFRCcmtwZUFzQ2NGbXhrQ05DY213UDBlWFBtbFFlM1NHamlaSmVROUM1ZGdCcnMzN3VqMEVIVVoyQUZ3R1VDY090djlNaTlpeXhnMHhsYlNVN0pwRHNsVjVXU2QrYldoTis5bDF2VFJoUTk4czJpRFhzUzU0WFhpK2JRZ2RQZzY5ZnRBSGRRa0FjUVNNUHNqTkhQWDJKUlJVcXJvS0FDWVFNUEU1SE5DVTh5bzN2dVRFK3h5M3RMM2pGNVA0SlNkK2xvMDNQTjhRekc4OGtOOFVqdmNpYk9JSER5QUZCam1kd01BcXp6c1NVaS9yV1BXVW4xQ0FnMVJnOUdDYlQ1RjZmcVRhL3BQTjREeklvRVRLNmxrKzBWeHRvV01kUTdKeEhta3VBUUJIdXdPd3FCanBqanFHaGE0bkdWd0sxQTVObUhaR01yTTh6bUUwcmhDU1BoUlFzU09wcWlzU2d5elRWRTU0eE1EMkRucHVMZDIyY0tZSjMrYklneGNjUjZiNEdGQ0RSTTdrajhua080TzZ3T1U5Z1d2TFM5MVp2UWp4NHZwUzk0QmVJWGEvWGlKeW4xNk5mRUc0czNyRE1KT2RpZTdKTGNGaTk0UmhBakJ4UlBLZzk0dEdKTnAwK0FxZDYyaFBDdEU4MFlweTZFcWltTEFSNVpScVF1UGEybVYxSHYzSHVNQXV4anB3SHByakFZc0FYd1NKbVB3RWd1djZTYlhMT2k1dDduVnY2R2VWWHRkeFJmQjEwUWdtN0IzNFpTVUNGM1l3a1hlMWxOTzJrNVZRUVhUYXhpNUkzbWNJNSs5WkZGMmh3YWQvODZRSTBDZWFpbURyS0JpOTVwSG1FZ0N3RGNQcW9US1RBYWNlSldVbnNIM2ozK3VmOHRKNyswUkJ5dFRDaVR2cGZOeEcydGZpZ2RPT3BOOUtqK1RaMGVDK3FZRTgwZHMvK0xHUUMvclpza2YwcXJESEw2eDJqNTliNlI0NnUrTEpmMFl2RDFsWHIvSlNWRloxOGcyVk9XS1ZaNldQZzhuaGlhL2M3ZWlVN1kxMVNoc3loOTdDWS81cDVXbXlVd2E1eDRkeVB2RWdHTlNKcnpJLzJMcXBKM1UydDNVb0tyQUxBTWZCenVDNnJpbXY4RnVMK28zRmw2L3ZkUy9wZU8zR1huZE51d2UrRUxRcW52WlNoQjBFN1pGNCs0OWNvQ1QvQ3NmT2piR0ZOOWhOb1RkbmN2alNqbEpkbUR0UExDWjE5WmZnd1NYQm5Zcy9VTUo4QW9BNktTYy9tbFJERDFSclB3Rm5TMHgwUzNxZXZJV2JhaWJwbEt0dnNzR1NIWjk1aSt0RlVMa3ZUWVBhK2dNNm5TbEVyTldDSkljT1J2L0FSMDQ1QnQ2ZzlxQUFQNG1QK1o0NnY5eTk5WUhWN3FtTGE5MGplbG5vUmUzZnoycFdNK25QNjAyb0YzU2MxNCtnS2hZNENMRGFzd3BpQmdmdGNiQ3Frbk1mWmxPSGFUcGxIemtIRDY3UURSU2NNcWNEN1UrR29uemFnQStjbEZjUXVKUXpYMUxnZ281dmVNbVRmdDZ4VHJ5c1oxc0lCR1h5WDVNeDF6WW4yZ1VzNjlKQkFVSDRxekx1VlFXQkY2OHBGMDd4UVR1TzNXNWJrV1ZYQVpXeDRZYmtXOThES0FwNFlTazk1WnVxOW9ONGl0YlZEbFVucFpnb0hmT01vNVU4TndvY21ObWU1eElBTUlHSTNvK21LR2RuSHNYRWREYU9ZaUE3SWZzQVlhMHZEZXVVT1hWYjJHVWpnSTZmMEsyS1VjSHJpUkFNSENiTklDL05vRDUxeG1iZ3Q4Zk82dWZDM25WT3EvMUtkMTdMKzBVdDV3K2VXKzRlMEN1UTd0ZlBINjFyaTg5S1RuMG1OY2QxY2lHOHhkWnNRUTRycXlkMTVsUWdrZXNnYy91Smh6WktZLzFHNUFPTFk1SGpzaXVtY09XZVpDVUg5bEVDbWk5VGhGdFdvT0M0b0tDbkgzSzI3dGhKVUdEeVg5Rng2ZVpFdXdBRmg2MnV1NndBY1hWcnFmdkk2OHZkczY5dkM4ZHVha2t5WWc4UU9uR08xWjZjSUo3bHVNR0tEOVY0aytDSXVnM3lpQ0NCK282RkhMRk4yT2NTQU9pVXVwb1UrQmk2eHVCVVJiWkhUUDdCUkp2U0ExTlF0MnoycVB5M0ZIWUN4QndUOStsNi9yMVBiSFJ2MW0rY1A2d2djRWI3ZW1oTWRGWncvYkN3WG9zdW4ranc5bGxsbG5pdjBESUtQM25JNnVSY1pQSThBQkl2OUtoZ3pGeE85ajhuQTVGbEVaTkloZVRWTzRPQzcwOG9FUGhlaG9MRWlrYTFOa2pkZldmMVduWFY0UkxoOGczdEFoUVZYNzh4Nlg3ZnV6YTYzL2lXdGU0bm50L3FmdXpqVzNyak1yKzhGSmRXUkJybXR5ZWsvWUpuV1AxeFMxNEdvRVY0TEdOQjZpWENzVklkeXhJRVBLODBsd0F3K0M1QXNleW85d0RDM1ZHWnp2QktTaEZuY1lnaFFkQ2s5R1BOQytDSlVSaVNsc3hScmxnSmFWdTIyT1lFMzVET0t0SFVqaURWc0FDMnRWb1l3VmszcTZEci9ick8vNXdIVnowSWI4ajR5emMxNGJtMlZRVHc1OXZDTVRRWnRIbDRjcUFkZ2xJWURZeFRhYkQ2WkV3ZmxWTy9FZnBZeFZ1cGhjQzB3WERUUXVxQXpudjRRRFIyTzNRVkJ3SEJRVUdqTzNjSjU4OHBJT2pnbnNIckNnUVA2ZGVZMzNMZmV2ZWIzN3JlL2ZRTFc5MFBmMlJUdXdKK2xsMEJSTUdFTWVhSmlKSldsQk45RzNjSElKcWtCazBXTlZQcWwrVkQ1UkpTSno0Q1VHQU9hUzRCQUZ0c0U1MmtBMFB0dkdNWWFGbFpIM2twQXlDUGdtdUxPY0FQeWxOTUNDeWRYSkV0VUZ1c3JmUURRUFV5WUpRQkFyYzdGaVlWUEVDTkRIVUwycko2T1VVMGRZVmtkWC94bXI0TnFLVnNWOWV2RTIycCtJaHVXZnYrRlMxNzVId001Z25UQ0tHWnRMZEtCRGxPVTNDSmF2VWJWK3VkdjQ4U2lOU2xGWFlBSytoc0s2c041QXRaOFVYR3dONUNwS2xkK1l2QXNLM3RFVHNrYmlCTU5OS1hDQWc2TGlnUVhOUnhYY1NYTG5lNmxGcnRmdlhqcTkxUGZHS3IrNmNmMnV3K2Zqa3VEZGhST0RISjFZbmxZazU2UkdPMGxaY0kzakdvREdXc3AyWGM1dVF4QWsvNjZqYjhKMFdlU3dCZ0VIb2doc2NNYzFsd0hFZWxmOWhCMUNnTmNpVE1mRHA1d3AyVXQ5dzdsanhGSWdva2JhVE1GTzdEb2hqazI3cXI5Y1pMMStJdXZwYW9GUzFyeXhxZE1lazFCR1ZrM0szT29kbW9jdGlHcGxWSmMyNHI0d0RHTVpyT3VFM0NYdmZybUM5bGlWNmxGQngxTWdIbTlsMExlWXcxQ2R6UnJtbExsd0dibXRUWENRYjZaZEFWSFU4ODFIVVAzNmNBKzdvdUc5Wlh1L2MrdXRMOTBFZTBJL2p3cHA4LzRCNEJFUndmdTUxQld5cTRyTjJZZFFsaXc1SnEzVGEzem1ramVjSzNyWGxuREhNSkFMbHF0emExOEZGTXdMblRvbVhGTmNKYVA3bzluY1k1N0lscnFob2M0aWtaNHo0SHlvNE9yTTRGNFV3RHhqd01IdjB4TmNkMXJITUtHVFhlb3FtNU91Rm53cGRqY0NOUkVkWFBBakF3TFQrYUQ1bHQ3U0k0bEt3NkdydHZleEM4eVRwU3FTa2V4REdsM2FaVytxK2lXb2NrVWppa3VBV0xHOHJFdnA0V2xjWiszRmVXQ0g0NGhzZDZkZk0vZ29FQ3dxWWl4SVJBb0k4YUhuOVlsMW9YOVhIcEs1UHVkNit0ZGU5NVpLWDdlejkzbzN2MnRWMC9RSlZCeGpzOE5SQmVSNVA0Q0RHMFZMK0kwZnFsUFlmTnMxTG1oNjEzaDN4ekNRQjR4UGNCRkFseU4wQW5EYnYyMXBZTWVGV1hvR0s1T0F6NVdTWXZLZHVpbUdOOW5MYzBWN01nUXdlZWtpWHp5aWdFZXVaQ1p4aWNBTnIxSUZJT2ZUeElxNHdSZ0F4V0IxWHpoUGNUY01Vd0xnV2dJTGM5d2hralFWbWtTazJEUXNWUy93Qkt6ek1WT2thdFVSWHNUZjhGTUdTd0QybTdNRlgrd2pZdWo5VmtWKyt3ZFFJWUFBQkFBRWxFUVZUN0ErTGYxbVhDbGo0ZFlHY3cwU2NKSzNxMjRzbkhkWS9nQ3BjS1M5MS84cmxudTMvNDcyNTIvL0tYTitQQkluVUVmempiZllnc0ZYbVJTS0dvWCtrUHRPalQwSUllUDRhbTNTc2I4NXgwZVM0QmdHc3Bic1p3ZDVaalRlR1lEMTZHYmpxOGFjUmZUeWdOVStZQWQ3NTV1TVdPTDk0bXl3UEpSdXMwemxzYThMNUVRelhkUW1NUEF0WjZKUVlCbVFZQ2Y3RURLRzBMMzBwSjZTME9FWU1rZWZ3d2lEK3JsclQ2cUsrdmc5UVd0cXVDanhwZEJoTDJGN0xoL1JSaGVtSVBUV1U4VVNUNnU3MCtBZ3ljWmJvWkJEbUNGbktaalgxOUNhTFFaNDFGUGQ3UFNVaWVIeWpTc3dJM3RDdFlVaEE0cHdjUG5ucENZL1dscnZ2cWQ2MTNENTlaNnY3eHMvdzJJMDlkU3JUN05YSVZhb0NtdjBYT3BxT2hRNTZSdVZvdVM4ajN1SDZaUTVwTEFOaVFRL2ZPNithTEl1MTFkY3hOZWZIR2RueVVkU3diMVdrZUkrUTZIQUFrbHlBelRpS0xLYkFseTJMTnN3NzBNbTRTTmRQOE1PMmxQdjVsSUgxVXRhZFhYL2twTmhtdDRhZ1Jxd0NnQUtqeDR3T0ZnWSthMGpkRHAxVHNVY1hkQVQrR05NdkRGQlZzWDRQMzUvTWxhTmgwR0JxNmxabmlFMWc0OG9FcG5oL1kwdXJQemNObEJZSTNhVGZ3MGllNzdrdWVXZTBlT0xmYS9jQXZoMjhqQ0FSc3YwdUdtMVFiTkZPYnFvQ1F0MGtFOFZVV1NPMUVOalJYZUFweUhta3VBWUN0MWk1YkxSMmJjdTZXamsxZGpCM0JQL1pGQ2ZxRzNiODZaUUJnSW5oeUZLKzVjMzBxWXdGZWFGUHlVc1YwNUkzVDdmUTAzWElGK1Q5MkF1anJ4VW1uL0tMSlFVWm5zK08yc3V3ZFFOeHBrbnJpWnZWSFdSMjA0NEhJOGlOYWZyVTEycElFMGNzSklGSUtOcTJuZ2k2b3dqZ3N4ZkFlNHdycnRBeFdsQnVrVzlmSG5ud0V0MVpyUk5SeElKeDNXQmFuVXluYkwxU3NkY1JWbWl4WnRiSEVEVGZEWTlNRTA1dmNIOUNZbmVqZXdFTVBoSnpQVjBWMkN0Ly83STQvS3ZRTldQZ2h5ejc3WHdYa0c3YkU0YWx0YTBpSnk3enNOK1lISC9IT0k4MGxBRnpWOW1wYnEvT2xTenIwc2N2cmwzZTBBeURLSHkzMS9FeDJuTzJUSCs5YzFZVFkyVkhZOWlZczVOSVpISmx5Y285ejAwTlVzcFo4S3JMeVdKL1M2WWxrb09XejVJUTRlTkFob01KbG5oZzhoWmpWRDh6OVRUcXZDaUVOUnV6bmozc0Uxa1YwMnFuUElzQmEwNkJRSjBRbEZ5QzVNcGY0bWdKc0VKVnlHeUFkUG9YTmVpZmVoWDVoeUphY2EvYVlyQk1YVlU2ZVVlSlBJVUpYV0F5ZTlFWjRwRVFWbjZ1RU9rQ3lMVzc2OC9neGp4UHo3VVFlcnJydmduS1ZmNzEyQk0vcm1lSi85dXhOM1JqTVQySHdkMytra3FqVTZ4SUtaaHRXWVhUaUc0MnIyZ0tzYWZ1L3JvVnk3NDBSdzR5S2N3a0FmanBOMXJjT3NJT09ZUlQxR0UvTUJSWkIzd2xIVGl1OEZPR3JZdys0OEkxejBKbUMzeHlKR29zMlBycFVZTU5LaDFQc2cwQzBYOGFnQ0QxN3JWOWJPUmhneTgvWFozbnpyN2YvS3BQN0ZWYkN4d3R4TlFoUkhzRmtkZlExQ3JaTjdFTUhZaCs2clROcmVOUjQrRWhuQTRXb3pNWHFWSlVoQlZJK0taUGQxWFJTR1ZJdk91N0pWRk1rcDZjRkkveDhjWXBWZUVzUERmRTQ5WDM2aEdCTDVkLzF6blU5T2JqZC9lekxPdzRDeUtHK04xL0tDVk51QWJraWdFZFZlSkI3dXdRUEFYMWVhUzRCQUVlMEJ4M0c1RDJPblV4OEJXWFhyMDRxM3FXTk5sRTBxdUNUbmpuRVFtcUFBUmppQ2hQNjlqcHpVeTVLMmZuSXJaMk5iQm5LY0NCbE8zMzlnaXdJNklESko5QXArWGt0T08vL2h5T0dlT1Jjais3cDdtQzhFekNEZ0dxSlArc1dVVk96Y1h0VG1TcFMzRWVyVUd0T0JZci9wdElLMHRPemJiUFVjYkNEcHhnWjIrZTRVV3BVMlIxQVR6OE1RMEhCeWsvN1BGWHFjRW5BUTBXYnVuZUY2eStXbmNCWGZ2YVo3cS8rNkJWL2wyQlpXd1lrdFNyU29sL1ZwcHdidC81a3dMaGkxTFJNQXBnWHlNcnhOSTN0cEhGekNRQk1XaVlIUjNvSzhDZ3BxNUxuRzFUcEZFZC80VEp2NWJzTm4wcjdOTmlVWFN4bFlDY3JtWVZodnA5VmsxSXNjVzBYVTUzcWJSQ2dSeE1YOG5YT0VRT3ROQUhxb0VSOWRsRTdNaEorRHhEQkVSRFVMbmdoOFlGWGZ0c2dpVVhvVUhhMkdIcjFiU1lYZE9DZXIrYzVZY2g2VHBPWnVvZ21vNkxFV1VkUnl6aE9LanZEZUpMTHdvekxoWmpTUXBDbHFJcisybUNFakNENTY5UnMvLzFSb2E0Tnp1cjdCVS91TG5WZitta2IzWGQvOEhvSnZCSU9QMHUzYktJdUY3aStOSk1zTk9PZVJyWUJLMGViR0QySk4yMU9VV0F1QVlEUE44dmlWUU1CRDFUZ21LT2tjRkNwRmJNdXFqT1Fpa2NITWxYSWhjQjR5dFJvOGxJc2hCQlh6MmJPVWhUYVpta1NMTTNueXptTlV6a0hVSEEweWpVZ2trc1IwTExhc3BFRjc1dUFqallTVHFORVZjcksvVEVndVNwNzNLY1ErSlFvRnJDVXdCNlVzbkxtQi9HQjc2WGVpdXR3dEFQYWs4TXJKU2UxTU1iUmZDRTJKS0ZFS0IyRlQxb3RtZXlScU5pWGFpd3FIZGY2a1krWWVSeDdTemNIbDNXWG5zZUt2L0RwdGU3LytkaG05K0hYZC9TeGRwbXRYcEg0aUR1N2huQ2pIWUtFaGI2aExCcWtGcUZMTEdwUU9aQVduRW1kWFQ2WEFJQzFPTGc2dWN6SzR4ckpkZzhuMDBrT0xGUDhnNE45Y0FKV1RudXBRK2JJS0N6bUd4WUNOZUFvekttN3QzakkxUkhYNEVrcHRVVHdtRktPMmRZQjNoUk43c28xMjZjQzEvdDhMTVNEUDdCeVprZ1oxclhVUkVwNDhpUGZCakZCUkIwMDBqWjRTSmdHU21yQVJKMXdIaTFVbFN1UXpRaFJsQmpZSnB6RGdjaXVranhaMytXQ1RGSDJUdmdTdGdFMTZ5RXQvcjJTTTFHNEI2RC9ibDFCZ1BzRFgvS085ZTViZi9LcW45SGdVaXdscFV3K3BzMVdJa1NvcEk2cVRWQ2xKSEFjbnZ3Q2dqK3BzOHZuRWdCd01CTXVEeHpGT0ozbWlGdWJHbDNGNUVkV3JRODZqMFpBb3BLUHNsTUZvbHFpYTNTb2lGc0RqWmpCSUhKN0VMUGhSb3pSQjlCZ2EyWFdha0p5czVQSFdQTW1JTG9hNXZxZklDRG1hSzVNZmtvcERBSndNRlN4RlVpK2lyZ1ZjQ1RtV3dscWFGTVVhNXNST2NKZFU2VkUwNmhaeHBNTGdhazNSR3VWd0VjeHBtWGZCTFJTU21SQnhTVlZQQ3VnMXdaMDI3cEQzeWtBOE5LU2R6KzIyajN6Z040dDhLcStQS1NaeEUzYVByRkk2VEpORTU2eG1ndEZ2WGN4Nm95Y0R6VHJJTkFMbWlrMGx3REFLbzBUT0p5VXQ5MXhGQXVaL1BTVjY2ZThLUUlndWMxQ002dE9XYVhxQXIzQkYvYWVzU0lDOEdvZVZZeklIUVQ0YkNPTmEyMkVWblVlRWJ3aEt2U3FYL0lyQjhlZDZMd0ptTXF4dm5BM2xKdUF0QjlIdE9TZGdPbzV0VUlUZDFKNXlqNkt2TmIrZ1lJSENLbHRsTlV6SFNsOGlBcjdzd095ai9JeUFLa0VrQ3BHNVI1dUtUaXhVSkR0VGxWd0tRTDVQZ0VQQyswb0NQQkVLNjllKzRLbjE3dGYrT1JWdldGWXZjRkE5OUtOVmdUbENGdmNvSTB2YkNFVFhUaG9CeWlTUzdTcFloV1J4Qm5tY3drQStZd3pSc2JFay9tREdYaDdDNm5iSm9JdDJ6SDNsd1VITmNVbUt1dFZmQkxFYmxwaDhQQkk1dHJRRUVIbnBCeFlQRDdJQ3o3R0NaS2lZeDBjVEF4ZTZyVEpza1EzTjAxRnRkQ3JNSUtHcjM4T29QQ0JKSElvTU1RUGc4WndpeW5DaXBpQ2k2RGpaRFIraUhSSXRsN1NxRUl4dTZjbnRJOFFrNm82cUpvWUFzTjJWYVpvMnFnaHk0MnBsMDNBSFAxQVkrSjNGU3JqUXhVRGRCQmdZbkw0Y2t3N0FHNjh2dWZSMWU1QlBTcDhTUzhtbmVqdWRINGFFWjBaN2Z1R0lBMDJUUVFsVUpDaTNTZzdBQmc1KzlOY0FnQ0JNWGNCTnBTeWJNTWZSMDNVb1dOY3YzZ3g1SXlraWVhT0ZUOXNGUzUxUUNhWVFDMmpWRllBVmtLNjZhVVpsNFZ3cmxPV0FkQ1B2R1NsSmtHdkNGSUdzU3dzaG5NWEFBbGFXeVpZZWdkQTFFTUl4bWNTenZjQXlQa1QyVHFNaFNUL3NYTUV6eVlOSmVQSmtvYUUzcTZHN2tsdjUwTldoYXd1QnlhWTdKRTcxRmRVTkNIT3RyOHREMm55YWVrazM4Z1R6S3ZYK0J4NlI3T1V5NEQ3ejB5NnozaDRwZnV4ai9LRklkWFFRSjlNK1NCL1Z4MnpMSjNjSHMwVkRUSlBoUkJQay9NS0FuTUpBQmhwL3dwSVB6T1dNZlk0S2VWUlArUUtFbUI4RVpod08xZXliWExxRXBSSTdwWUNSMVlLcHBtbGRoaUEyNDJLUFZGSTQ2bXF6bVlsWUJJekljbGRqNXhrbmdJVzJLUUNrN1dKY3Q0RDhBVEhnSG93MEtNOVpNUVE2eHNDS21KYmtiZUZiMVVIMnV5U2JKa3F2TWYyME5CZTQ0dmkrT0VnUGJPRnBQZWNSYklKT21rbTVyMEVoeFA1bkp3KzRQa0FQZzFnc3I1YnU0QWYrK1dibXZ6eU5VR0FxbTVmUlAzemNCSUE5d0U4c1UzSHlNQURJVk5rMCtIaGs1MTVwTGtFQUQ3RHp2RnFvNm9Eam1kaU9GaDE4VjlKT0s4dHUxam96blJxYyt0VDZvQjNmY3JpcXZKZE1qSk9Zb0xQY3BUbjVEYXVDRWs1THVya0lPRGF3WURzMnBoZ0JsQ1NNMkJRaG8xa1BWWHcwNVNLV0JwM2xwbDRCbDE4REtqQktWbDUzVW9qVmJZbHplYVVlbzZsTzFDTmtTbzdHSTd3NllJUmVsUlVTL3IzUkN3VmFqMDVJMjAxSGFYd3hVZ0NSZXNyZm5MRGhTZUNRbyt4UElvQ0NBSXU5OGh1ajQ3Z2FVRTE4dGI3VjdwemVqRXJQMnJpajdjdEgwMVVUeks0ODgrQ2h6Z1dwQ2tiQkdGRFgzUjJBREJtOXFlNUJBRDVvdzVrWU5KQkF5U28wOC9wd0t4UDJYSUFpdHlzbVNnY25yUnNPM1B3TVJSQ1AxaHowSXpFUVlyT05DUllqUEM0ZzhtcGlMeVNRNGdoVUhnSzNuekljT1hJS0pLeWF0SUNLeDd4K2tsQTZsRElyUXNNR2xuc05xanJvOGl0c3VDNTA0VE0yNlloMDdEVVZCNFEwSExvQXlNQ2JiQTloVTBTa0RMa3pNb3FYUGdXdnl1WnA2ZEhsZXh0R0dLdkJGL1N3TnFMN3RUU2V3aWpIZm5kOGt1Ylh1MFpYS0kvb0hzQWorZ3R6Ui9WTXdGK0ZvaEFRTCtJbCs1aVFoTW8rT0ZSZ2dIZFo3SENrNEJKTkF0OFVJQXcwd21mNWhNQXBEUkc0d3g3V3dBLzdwR0czODRtcW1XeTR3ckM4cEtRZWRKVWhsN3JKa3hla1VNWTdwYVdJc2s5WElyQ1pQQjVpS2lRWlFBNk1SRGlJUWhvY2hJVUtoNWg2RUFsSmVNTkZKbkNJMko4NEQ4UG5KS0hjU293K1RVUTQzTm82dUZYdEEwYW9sTWZ3M2txN1djUjlvUFRMWWtIVjdzdDVRQzVBM1E2S3N4b1JUSXA4K2s2OEswdm85WkFVRytpMFBaUEVSWmM3dUh3bkR0SFdDWTdSQW1MblpYS0NLYnp4Y05sQUxPYjd3MDhlV0c1Ky9Dck8vbzBJUHp2eHVDelJJdUlTd0JRSk1ueDRsUzA0bnNkaU01alRsY0FjM290dUN6TlR3S3czVzVKUjRDNFRVcW50R3oxVXdUazVGRkErQkxsUHFCYzJuTXVPSW9CdERCMSt4U1U3SXpvc09na2VIeGpLRVNVZ1NGTlVSWWNvSEo0Nk56QUl5OWhKQ2dsUDJEQ1JhYnBPcUd6TDZPa2dIVW9mR21raDI3NUtORGlTek5wcFpWSllabkRjOHQwVzRaYjFqNDVZaGlETDYwUnRwZGtFT2NJQ0pjVVlxQ1N6Ym5yRm94aG5ZYTRDSjFaS1NhOFNzaUdVU2Y2SjRLcjZpb2E4M05qRHJ6Q1AzR2hmQXdvZmVodVA2UGhTUjJoUmlnTGN5c0lrc3pBOVhwUVpxeHhlQ3dvbjNXYXp3NEFaM1BJR3ZkWFkveFJEY1JKS1l1T3lVbHBPVFJRVXJaRlo5QXdkVWpKa21YakVtbU9saXM2Q2JKWmRMSTRuVklQZ0I0V1E1bnNNV2lpb2xHRjVDYVFReVVsNjFGa1dNK0NOdzE2NFdIMTV6TEFDSXgybzhvRjUxM25ySnE1cUU2eHRtVXBjdVMyYVZ3SDJwaW41WjhuWFBZejBXVHhMNFdxc3hRMWJLY0hXNnlud0RFQkErdGl0UXY3V0s5akxCUnBLVlRJZWo5Rk9GOW1JVDhhY2gyQ2NySS9xbDl0OHZZZmx1eFVHbEFxOHozdUExaFdqek1kbnNLYi9Mbm9VSjVsbWtzQThBMHNHV2kvWUtpTzF1RERHSmlPcHJySFB3Q3B5SXBPREZSQnU2TVRYd05CSWJwNmtlRWhrdko2RVJWS1V1bjdhQk9xRUNuZkV4cEdtSlJuZXpGQ0hQY0xLTGpPZnJFWHd5d242NFlJblFOQWJGd0MwR0Jwa3dhMEF2RlpkTjVnb25vZCtLS25iTVRNTGFIc1lSTEtIaU81R20wVTR3WmloSGZaZzJ1b2lGL21XZHFEa3YzV2M1VkFVVHF1VG40OEtxSHhZSlZnS3Fqc0ZSNy9hekFpNno3OUtDdmZHWWhCRncyWlI1VnpyQ09hdmxJMTU4cXNiK3BBbVNEaUhjQ2NJc0JjQWdBRzJ1RUMwdkhob3NPZm1mVHBLSnhJWWxKa3dubmpSRnZ1VHhHeTNab2pqVXAwWUszWVE2QWdtNzhSVHBrQmtVR29qTU9lcnpEa1FFRU9xREt1TEhRZ3R6U0puSlJ0L2xJSGNreitZcThReU9iTFFZd2lMaThBa2VsRE1BQXc0TnhTTm5iYmhndGpkc3cwQlpGeFFLb2tuRVJpZ2dYVW53K1FuWUUrVlhYdUUzdU1USUt5TXlUWkU5OG90Y0kvenVlL0hEa0d6K2wzR2ZscGRUNEpnSmozZnd5cllzWUdaR1RBVGpYUm40TkVEdStjNXYrYzdnRTBEc05JbkplT28zellsRTR5djJTUTNCL0F0QkVaNk9pZ0xCZGE4Z1JkMHFpZ0U5dkFVZ0F4VEcyajhMZXNDU3RQTm91MDRJSVJJc1pUQVpBdUIrUTFaZzRDcXVTNFF3WkhUU3JFeDREQzBGWXlsTHg5SjJCZHFaQlFoVmRKQWFTeUkvU3cwVEZ4WEtieEtla0E5SDdPV3pCVzBraFJiQjhMd3BjdHJpMFVPVldjK0JoN3BNUkZ1YXorS2NrT1JwQzRDREFDdmEwbnB5d0s0NWMrTVl1eStQbjFlSk1RYm05RndNU3V6emN0VmJ2ZTVXOTBRUThtUGJKcDcxTXFBR0JjSHVsNUREMU9zb01ranh1d0thdUNPSlNqWkc0eml0SHg2RUdaVlgra0FMemhmdkpNSUUxd3AyVEhCcXNFQUNBbldGeUp6Z3U4T3QwVnN0endWUjVWVjkyUTEvT2wzc2JyeERqemdCT0J5VTQ1MjJVTEdsOEdpb0dKYU1zRWFCVnpGU1BIYUJpZGFLOXcxUEtCekZGbHhtZDd3RzJFT2MxSzNTcGF0QWllb1VwVmdvQ0V2VFV2Yk9EcTVZRm5MUWdrOVVHYW9Kb0JPK0RvRDhJRzM4TkFNS3MvbHdBZVJ4WnF3VWp4MklHQWpHZ3ZKampOVUxiZXlpa0FaeUFBTmVzMGwwc0FJcVVIdFF4TUI2V3ZEMnRnZFpJcU1BR1FBeTdsMlpPTk1CenJOZ3ZPZk1tdmlsRkdvV0FvV1MxWElCdXVET0xQaHAzcmxEeUlnczk0WlRrVFZYWjdOcHBDendPdjJSdGM2ZzNLaHhEY0FQU0xVSlF6Z0NNS3FLNzNrMHgraHByS0pVcEZMc1FnSWExTjFDQ0JiMkVqVC9aVW1qNUlBemRtUnpUTnBrb1ZGYldOOWlTdGhGNzlSQTNhaXdKdUsralMvMWxPZWpUb2FVb2tGenI3a0tKaCtZbHVkRUNtTGNGTVdENE5XR0dDRTVGSmJveEt3RFZ6a1poQm91c0syVHpnS1Bzb1BPQm1tZVlTQUdTbkhZWlAwaG5IdGErZC9NZ2lrWTNsbGFhQ1JRV1hPWkVvSit3eXNieE5NWm1NYXdkYVJxMWtEb2Ftb3JSQUVmQTFWMEV5UEo2eW5ta3FsRUZtQVpVL3F1ZjRjUzVXZ2lqZkIwZ1JqRUlDd1JJM29taE85Zk1Ba1FQWHNnODh3YWgvQ3gzNzRNQktzeU5ZajBiOHVGeEl1S3A2SWdxMVdGaGNicXNYRTZ2LzJ2N3YrWUNLUUdjcXk2bUE5aWV3Q3BRZEFMVHFaekF3VHphT2NERmFXaEZac3NiWC9hUEJiVjFnQjVTVU5lTjhQZ0ZBMWpzd2ttTVF1WUdqV1ZkaXF5dmhlRVI0OEFJVWVTVUx3U3BVRW5BaHRqa09KeVd1Q2dwMGY0WXhnMEhNbUo2R1hOTUxZRGh4NURSZWdvQ05GMFBMZzZRcVF5RHNCV1dTQ3J3VWRKbFJWK3I1N2pNOEdpMThUWmlQQWlGUnVXNVhMVVU0UnUxQmlZWk9PdlhPUEpSa1ZMaUZoaUhEREZPNGJxTi9yd29CTTBTUkdkU3BvSG9OM0xkcUIyWW12SFAwQXdiRmlRQ2dDUzYvYy9uZ0tpbUlYQWZWV09Hejd3WFpSb1lRL09Ud2NDa3IwTHM3OHZaUWNlWnBMZ0dndlFTd2MyUldPNW1QWXFVZGhHT1ZjT0FnVVU2YVFPWUw3UmlsVS9LVEU1OWpQa0hJYWdKS29wMUk3QWJFclVwNURWZWY3aE1EQTZLTUNjYUxPaDBaZlcxa2dJbDN3eUNwVDZ5NVlCSkg1Q2Nod2dld0RteGc5ZmNMUVJoMFlLbGtva3BNZnVHVm9aQXJXMm9LdGs2dFZpSWtUVldja0RWSSt4QnVEcGFzdXA5aklPQmtDMjRNZjQzVGZvejlrMnlxbDNxU0YxZjB1Q1I2Rmt1V3l6clZ5UzlQUnRHRzB4cGxKaTZzMldjQys0WmNLR1dZU0tsbWtZVU1Cd0dSWU9GSUZycHdYbWt1QVFDbk05azhxSXUxOXZjUnJCejdwSFpra1ljSEFVbEdsVUxMWjVSTzFnTStZT1hJYm04TXFWZzYxaldnSmhNa3c5R0Jxa2t2UWkrc1RGYS9xTU5vbmZnWGpldSthbk5VenJtS1JNTU9TT0pEVk9ybVhBZ0hBQWszelJVaUVQanVzckFFSjdjaDJSRlN4Q2xaNVJRZ1JTZWtOTWw4S28vUURjZXh3TU9MUzg1V2tZU0hUZS9IWnQyZUx6SE9kYXBsbkttVVpZQStwRWl5T3dqdkFjTXBxRFJJSGtjQUhzK2EvWWlFaFRLN05BdFhadG13QXNOUVNNaHduVUlycEdoT1BQQ0RHd1FXbFdlVjVoSUF4anVBTlBJNFJ0bGg2VXpsVERodzR5UlNUS0xpNFN4blIwUWVna3hEQUlDVGRnZktVMjdkdG9GcjVQa3F6NGdCMHUxYURJYTZzdW9aTE9YU2hsdUFRRXNsczE2d0NjdEJ5c0hGQUl1L29MSEY1T1lUZzhVN0VTczhITFM5RkJNdHI3QVpkaU5KeWdhekxJNUVCZk1SemxNclRrVTJRbHQ2Q3ljTGlvRnZGRXpTS1BjdW9JaElTVEgvbzI3aXFCYXd6ZzdtUlRwc09ySjdYQlJMdlFRUTBiVFM3cmI2WnF2NXRTdTNnbUNBekNtV1pzak40MVBoS2V6dVQ4SHpTSE1KQURqZXdSSGppMVcrUGpxaWhkVGw4T1FzZ3V6UUpCUTZZczJuVTBaU2RJZ0JRRTRoZU9DRm9HSkpQYzF6RzZ4UUtTZTVhc2U2cG5veG1TV0xsYmkzRDhuUVE4NGdSMWpmTUNVbnF4ZHFtRXg1dkFPZ1dudXdBL0MxUDAxQlVBcVZhSGhLYXREQjN5UHNuMUlGTE9MTW8wSVJEVVovZmFtd0J5OTE5cE5jSi9tT24vZDYza3FHVi9haVE2b3l5S1ZnZlNLekNvSWo3Y0xZMkZtRjdjQkJoZDJYaEw3bWlyN2UzTjZMbnhNekVRWWRxTnJtMEpBaG5NY0lSY0U1NFdIUEk3L2NSWlZacHJrRUFFOSt0cTg0UXdjNWsvZ29xVlIxRlp5R281Q2JpWEltOCtxVU9YamFwSnp0SjQ2Y1pOMkNJeEFGbDNLdHJ3cE1iT1FZenltRlVxc0dnZExCeVdqaFRGRGFFZElBRlpxVXN1QVIydm9LQU1aT1hrTzFwQXRQQnN1MEkzY0FERjlHbFlPQjZubkZLcnVRcHJVUWZHdkVnT29DeXRUa0tWWkxMVEJnYXdsakdFYnNEaWVXYzJHcXRGSldadFp5N3JFOU5HaFhoUXpyeHJzODRvMU9MOGlRYnQvUmh2amRuYzZSWU05Nnd1SlRYdlBGeDdMVTRyaTJ1YWVmRThNblJRNVNvMXFmZ3hMT2NVTTVRWUJFWmxtTnZFYUtlV1oxbWtzQXdBOTFRRk1vNVlBT2Z4NnN3cEpqVVJhT3dPWklFSjdpeWVTMUhqUXBJSENaZzFReU1rQ2ZpVFpLOFNTWE9rMXdEZ3dUT05FR2JBalBuaE9vMzQrSUNGL29KbU1Fdk1ZVmdEYktKTFYrRkJ1UjRQcWJnTkNHZi9WSEtOeDJtZncwa2JwWXZoQk9pZXhWVGNxaDhyNzZvZGh0aURpekg3SWNGa0pveExSd2d4NkFwVDhHdUZFQmY3V0o0alJjeTJORlNtQzJpV3FuUGxPaHpuS3pJc0FTN2xRQWtBREtUTjVMTjNiMTJ2QTl2UjI0OEFxWC9yYzh5dWpoVTlEU0ZQUnJFeXlEc2Q0U1R4aWVUd0RRck1tQjdRNHZ6amlPTGVsTWYzd2lPV1BucFV6d3RPbVZHNzdDV1BVb2RQTkRIMGdxekNKbUp5SEFuVjl3TVJEVTJWSUluWHdBcTJyRnFYRmdFdHRscjhxT0lMUVdhNFhwK0llNndWcDlsVnJFRG9EUC9IV29Kb09Ed1ljb1lIQnhBNUQyUWk0VzhlOVVjWlFTR2FTcVlDbU9zOVNwNGtmVksvNDJRUHEvZGtUeUkwK043Qk5iSzZDQnFHbkRQc1lRTkVDWFF1TGN0eU5jMUJwWlY0cDViOGRGbmVnakgraGttRlBvVFgrem9yOThaY2RCZXJWMEpHU1N4MDloenpKOTVZZTZsS2VPTmxFTTlLZmJnbmtPYVM0QmdBR003OXlueW5GT25WaEhNSko2SkNaL09zeDlvcE5sZzFmQ3FmVUFLR1dRYk1HTkFqYWl6NFB6OW1mM3NlcXpGWXhyL2RTc3Fac284WG5PcTh4bnl2bWUrQnhrS0o3UGlZZG54STlzNnVuQUxuSmZBa2hRVG5pK2JFSkE4THZuNWRFNlNOMXVCS3VVaDRYUSszS2paM2pEZlFKV1RWWFlVTnJSVmprdWpIQ2xra1VoRWRrdlBiWkF5WjE1UVEvMEtnV3o5SHdWS2tBdDF6WVNVK3A3VURhQldlVjhvaklucGYwb2RxN1JnYU0vOUt2QmIrdzBmb3NHUXB5WXNobWhxVU9STVpHWEVKU0ZyZ200TFZmQ0RJQzVCQUEvdENJckdjd1l5K2s0QmxJWHh5R0gralVYbkRla0xGOWwycWp0RlY3alJuRGlxQUpjVGdCT29LeXJHd3hxcTdzbnR5b3lFTXhaK0N3TDJHV2RpckxtVHg3WEthY0dsM3FuTFFRdEFzQ3lJaCs0aW1jUXVzd0VMMEVBcWtkcHpXb3J2aDhRMWxTY0FZU1UxSUNCeWNhU0lmUFVWL200anF0TXJSZkkvZlNEOE5uWTdmTDlqUTB3cFREQU5TTHJqN2pDd0tRdkZqR0JjV1hreGNmVUU1NmY4L2FOT3NGY25qM24xNEdWNE1FSzBXN3BFRXU5a3BDbi85aTFLVGNOUklFZFZOb0tRWnJKZVM0QmdCWE1GbU40T1l3N29rbkZSM1pZT2pIbE9rZGVZU0tqclppZ2ZidUIxem4rZzFCNGpVVEdJREVnbE1RZjgwcWRYT0NhQjFsQklIZ1pCblhnaU1iRU00NTY4R2h3bUc1K0tPeEZJb2NEbmZOVEJGWHhEb0NQQVBtb2lSK1pvQjN3c2Zwb0Y0QThWUWlaeUlZcXJkMnVRT0NhMFZJdEdEcTRXT1QwWEFFaEFCSkplWkdlUmVlRFUvS0tNelNQZWkxUFphbEFTejBjUEsycTI1dEdhTFcyQWRFRG9GMHNmZVp5Z2RPdHZva25aNi9vT294Vi9QTE4zZTRGL1dTNFh4aytVdFYxd0NHMDZFRS9rVExRbDJLTUsrRXBKdzYrV2FhNUJBRHN6bDFBT21GcW54ekNVanRIbFpra0tTdXJwVVBkSG1RQkxld3E0SXdzUXhGWWlhMTA3U3hqQ3NGd2V4SWVKU0NySjVGRmtjbm9pYXZjZ25JRmdJL0RNMXFjQmU5SFNHbFRLTnBGaGhNc0tuTms0QVQyRGtBTkNQVEJtYis0QVlqdVRIekpRUkM1dVF5NEJ1SEZxV1FocFdJYkJZSXR6NVc5QXFLZ1JFMk5qSXBMbGdHamtRT01Db015OVFzaXNuM1Vwb1ZXb1FhZEFoSWxFZE9sSkZaeWlpaG5wVmo5S0RiZnUwazh1eTRSZWZTYTN3UmRFZjNqcjI5M2IxelhEVUIrS3J6MHIyV05ZR1RTYWgwS1JVZVA1ZFIzenZsY0FvQmZuaWpMTWQ0bkFjUEpkbnVyN2RDV0RSbUlRNmdGdDhUQWV5S1pxVFJiZUkybnRzcTVRbFF4QW1MeURPV1ozYlRBd3c5ZkRuODZNWFdNRGc0T2MwTXdnMXBqOENESGVtV05NbDJOYTNSMzVRZ0U4U21BNnF1dVgwa3RtbHZRaVU4YldKV1FhYmxGckRQYU0yZHBsRXBLUVJQZ1FTcGt3WnNJM1lLeUJGK3BZMVEyMU5DbmdyU0M3QkFlWisxZlhJNlNwYXFjcFY2TU1QdVJQYmtRWWJFdGhUS3RDcjAwVEQyWEtmaUFwS3hPWVB0RnZqTk9lUHpJb1g1YzF0N2ZxNytxOEhOaFAvZkNwaThEZURsb3BKREh1WWNLUlUybnk0Tld6QlErK1ZsTU9PYVI1aElBTk9oam5zbDVaU3pzNjVLakdCc0RpTTdxNVhrODlQMWFpM1VWVlFQUmRwa09SUkYvbnh2MTZCWFhMejNSYU1qei9iU1ZQZFRhNENCQUZWV1BEdTNQcG9HWDdEcVFrS1BleFFZUHFGS1h0cE9QV01FQks0bjJIQUIyaXU3VUY0TUhpazc4TWhEcW80RGI0VVJ5Mndtb2FJR0ZCamxCOUlPTmxJQUZCaXJ4RFZldlhGc24yVlB4ckZpRXhpQm9Lb2d2V0xHRVBrZ0JrYnM0d2cwNURsZmFMeUtON00ydHZoSXArN3JtNE5RVTVXVkZXbGIvOVZYNVgrVXREYkNmL2NTV2RnUG1zRUxCV3lyaFJ4Qks5QzlGN0RRcThVRU9IdmpLMGFCbkJzNG5BSlNKWHpzWUIrZzRTa3AySmdhSitnd28reENpanVKUHdEZ0FTbkxiS2pQeFRDOG5zNkNmK2VKY245QW9kWGZMVEtGTmZ6dE1lS05nejk3S3FwS0VWZ3hwazZpamlrd2V5djZoU0UzWU92bEFwcHdDVXZSQlhSMEVNUWNBOUJRL1BsaVdOUE1JUnBiSEdiSjA1RDJBYUFPdWFOc0txRVNxK2tjeFNOU0h2VEJTckhWb0lJc0JacW5VTVhsMHNqRFRBeW9OcUJBOVp5Q2FwR1lVaHpLaW9uRU5PT1M1YldsY3N4cFFhMlovREhLeHVjL0p5N0VzWUVVWCsydWFPVXllajcyMjNUMzNtbDRITGp4U09aT1RFcktNUU1TNEZRTjk2SjBpZUpKVVREN2FXaHIrMUhEd3pPQTh5d0JRdmM3UFdybVh5UXh5N1hyMGhFQTdHVURKa3pyQUtCY1lzdHNwZktETnEzTFErdFdteWlpMElxTEpncGQyUGJVQmxHS2JyMExUUmxBNHg3VTVyQVNDbW9SZ010UEJVWS9LckFxYURwN0JnUWZiNmc4Y2x3Q3FMOGZGVGpNQ2pTV2doZzdMTFRsTjFKRUlDQUptcFo1bXlBaERaWkticDVBc3VGUktWT0pjcmtpWWhzbVR2TFJKNHdiZHhoQ21WcnlWSjVpalR4QmN5b0tZSE9NMEJUVmk2ZXUzaEFpZGplS04vOTJPU0RVdk1QN1RKYjd1L0M5MTYvcDVjQ2FPM2dQYS9ZUitFb3duQU0rc3RUMmRVNy80dW1uY3JVb3QzSkJ6QUp6eEpRODRxVTNsR1lDekRBQ3BybDZTSW5mS0huZXNqTGR6Yjk5N1dkOTU2eVFRTVVoNm1jbWMrTXFqaXVBU1grR0NLMFBSREZVbEE3WGt6b201b1k2VkFBWUQzY05BQ3IyaXcxUEh5Sm5VTUNWTmQrOVY5ajBBMXd1OGg0M3hLYStzN09DS1VlaE1BUENOd01RcGg4N0I3cFAzQXRBdUNFOTJnWU1jUnBLWWttOEFsNEpwOE1GZkJGVCtoaWRsNjdaWFljdWE4cWpxVXQyN3JRSzdWUWpna1ZOZzhIbEoxK0xOV1lLRks5M2lGRkl0dU9HcTJBYTNIN1Fkc0VxbE91bWJzdW1pMFUrczhpdUtBbWZYRlF6RWMwVlAvLzJrQXNCYXVmMVBqOFlmNHZnYnBaUUxEYmdrZ3pyQnowRmJud283Z0dLZUI0TG5tZnU4R0w3UE9aWDcxZ0QxY29CNWxDVjc0MUJRbFlmQVkwU1BDejF5Rldyb0tXc2dPT2g5aC9YckJ6aHY3eVdRZ1pMWDhJWWxLMjBrYjJFM0EwTDFIVWdLREQ3TllLZkF3VUFEUndCZzlTZFJSbUQvVWhDMVh5NHJRbytnNTRDbWd0dUhPSVpOUUtCNFJNdEFad1M4cmhKTW5DbnpNTk95SnNLS1ZzTmxEWDQrRXdkUHdyZThzWmlQTFhlazlMYU9zSVhBVUppa1JJVlZ3UlBmT0NTSXh6aGdFblVrbElSK0FSM3RYT3E1OVZRaEpZam1HNTdPbzQyMm5OT1lJTHVzbndNK284blBZcThmQmU3KzVVZHZkaTlkMnUwMjlETEE1QXV4MlFoNUhPbGJqeG1hU1phbzRIT2k4T1dFdDQzTUljMWpCMEJuOHltYk84OVc0ZXc3TUM5bDJEOFVrTmM0cTZBWVI1R1V0N2pFai9QVXNSRzFINlNoSXBkT2pFa2ZxM3N6ZzJvOWY3eFloZ2ZWaU82SWlNL3lHVFlNZi8wMUk0VEo0ZDFDMFRzbVVBU0Vhb2lDQVEraVlBT0J3SU5HZ3JuSFFNSCt0YTdJRG5VcURoMVFwdENoQm84UUJWK3FxQnoxbVFCTTlGWGQvbDdUNTE5cm1nWGNDRnZWQ0dKcjNDWitNV2RMRHkzZDNGenVibTdwYTdJcWJHbjdzaTFsdVJ5TXlVOUQ2RzhsYXQ3aUF1WWNQRUNERkNLTWFzQ0R1S09xR2NNNm40dG8yKzhPRGQ4NENLZ0dmdkpEUC9vRlZtdyt2eUY3NWU4dE9lcEhmdjY2YndxaUgySjhVemZobW90QW02VVREQmE1eW1vS2paQVVCMTFiaVRNRTVoTUFtQVdZbzhNRDc1Z0dGUkVoQjNHdGl5b3hoSHRpQ0djVzhoYW1yanF4MG9CY0lDc0FZZ3BJM3lVMko0NDdURWhvZVhlWFNSczMvQUlIamJrUmQveWhVVXNUWGdQTlk0MjZ3bmlRQ1RCT01uQVhuKy9UWnRyQkRvRERPRXZSU1luNktPRmZDQmJJaEhJenlJYVpCQnduQzhqQm5aUGJQRm1QZ3V1RkhHUng0MnRWazM1OWRiazd1NkZKY0VZcm9DYi9paHF3N2pUUnRDVTFkUjkxMHUyYzdicnJteE50bFZlNjZ6ZjN1aHMzQ1FRN0pSRElQdGZoQkp5NWlsWWdjWlNWY0E2Wi9nSXFhaG83NVZUNFc2NVFzZmducTZUZEl0cHZveHdjazRUQXgrVGYwQTJZcytyVUgzMzJadmVoVCs3SUo2eitKRHpNWDBCR1JZTWduUEFSYXVHZjRBczhaOHlIbm5oSmdtM21hVDRCZ1BHQU16aEl5dTkwZzJOblN0UkFib2gyTXpSRkc1NkFpUyt6Q1JvSFhvKzhMeHZOcVUxbWFoRUZwcmNhV25Rc2c0QkJtZ00xQmtYV05vL3FEVHBiWlE4QU1hWElvcXJGTTZsWlZmTVNJSmlvcEoyQ0JNWjdBYU15QTlZdFNxK2M2TWdrMlZkaXFMbHd0T01BMHNBQ1BSblk2cTlxaXg4VGY3bTdUeFA2Z2lZQmcwYjN3Znd1L0UyOUJPUDE2enZkVlUxdzBubmRHYnRmdjViTHp1Q0dkZ0hyMmpJemNhN2VuSFJ2WEYzcHJ0NVlpa0RBNVFIK1owYUVFckpWTXZ6ZjRpVFVkSk5VU0d0NnZDQ24wQ0JMbVRmOGlSSmp4UXFvL2dBdm00czY5cU92K3pYNUNYd1hGZmhXNU8rYnN2a0gvcjlyWHYzeE5YWDRjektNL1A0UFBHMWdxdHRTR1YwNVNPU3BEN25oZUNBMFdXQ2JTWnBQQU5pTG9XdHJUc0FrVmxvbVV2VmdDeGY1WkQ1MHlod2c0VEttY216VlBIa1FHWWthVFZJSFcwaURvc2VRbDUxSDF4TjRZUFNFRnhRMEh1TUZRdWIrM0ZpaGtaV0hHTTBkbHdFTVRqRW9HR1RpZllDK1hCQUNyQ25vSXFCeXFVNlVBNVA0TEpGbnVFSXUyMzArMTE1anhWOWY3aTZlblhUM240dTczbXVTdmFGUjg3SFh0clFLM3VnKytQRk5mUk51VjNmQ3FTbmE2cVI3VkQrVStkNDNyM1ZmOE14Rzk4UjlXdjBWQ0ZZVkJNN3BlUDNxVXZmNmxhWHVtcEEzZEduQVBRSi9qUWJqbGFKZlNtQ1FWa1pqTTdRb0dRWnNkYVowVUlJU0VzWWM5RlFrOGp5QURPdkVUYjhOUGVHRC9mcnhuKzZjYlAvZW43N1dmVXkvQkx5aFM0S29nMytwRTM5dGE5RFp6WkVpQ0FSc3hPaVVGSExkQS9BUUYzaXdZYVA2eHluT0l3RG9VNjRKdndaZW94K2hNRDlQUDRyUzZTQThraE91ZnNUWUNFbzZQTHhJaytTQkpaaWNnVlRMS0ZadzVIM3FDd25SZmc1Q3VocCtUeXdZVklUdVEyWEdMRnQ5SmxOT3hsd0ZCampxRkRrSXBBN0plaUtud0R2Q1l3dVRQWkNSVzZZQ2dtL0VxZlVjZ2t3T3k2SjlzNGJjaXJPQ3RrTHlnb21neGZVOHEvNlo5UlZ0OVplNkJ5OW9CZGR5djZwMnoybjcrL0xsN2U3di9zeTE3c2MrZEVQYmUvR1htNERZUkxxNVBlays4c3B1OSt6TE43ci83ZC9lN0w3d0hldmRsMzcybWU0aFZiNnFRUERveFFnRW43eTAzRjBpRUNoeTdIRi9RTVBkRTFxRzkzbkl4Tjd3ZTJrRUh6aGxiMUFvTk1DR1RwRlVVY2xYMklmK29DOUVVSWZ4VVNzM09UZjBnZi85NXlmYTJlaXlSN2lQZkhLcit5Y2Z2S2I3SU1YWGRHNlJtYjR2bEI2UC9tTER2L1FYcWRjbnloNERBaHRwOHRiczB6d0NnSzYzZDNkaVJaUkJzcnczOG5nR01qbVFNZkRpMktPUUU2ZmNFeXFyTkdWa21DMXo4VXdMVHRtQmd6WlJvdFN6UGlxU2tKYzJBcnZqaFVrZnhLN0FVMVRZekl0TjFGZGw2dm5RaVR4M0FFR0VJUTdmL1dmMktRaDRGZEtBZEU0OUJxZHl5cGtqaTVhRXFUaEExckpsalFhdWFWbjFHZlFQbnRlS0xrYnVlTVA4VC8vTnRlNzdOZmw1N3AwSnNLN1YzckpGZFp1d0tTM3pmS3dTay9xZi85eE5mVlMyMWIzL1BSdmRiL3owalc1WEFXS2lkalllN3JwUGFrbDk5ZEpxZCtXYWRnUGFCL0JPUGI5dW04cFdGTzlnQ0Foa3FoUUdnRkFLSE5BUUQ0WVVlZ1E4T2t0T3VDVjhFYjFBQzlGUEs3S0J5WC9mT2ZtQjFaOEFwVm42UC8zZlY3cnJXL0tUNkZ3aSthL2tDQXhwMFZhMjdoeTlFekVFQjRyQmdsN3EwRStkQUtBSW9EQXZtN0x6Y0g3QzJIcUlsT3hNSGhJK010ektLa3hrT2VHenpjUlJqdnNQWlRDcERJMlQ4d0RCREJMNjFyYXpJN01DNVFLVEpUa0ZVSStnd29UTVlNRFF6b0FRZkZHVGVZMHNkTXhCemJZL0QzL3pyNVFOcTdXNEpDcURrYlo4cEJZNUpQdWM5b0lhT0cvM05hRFBhT0t6Nmora1ZmOCtMWGVyVXZ5Q2J2WTkrL0pXOTNkKy9ITDNieit4cld0N0pyN0NSUm5zREZaTGFYTGtPd25IemNJcnVqL3dYVDkrdmZ0L0ZRaSs2dGVlN1o1NlVQY0NkTW53K0gyaWEzZng4dXZMdWo4dzBZM0NIYjFYTDE2dTZVc2RPL1gvYis5c2dDdzdydnArNTgzMzU4NStTR3ZKdHJCazdFaE9RRFlRd0NUQlpRcENnZ1BZVUU1VmtncEpwWkpLa1pTTFZFd3FUaWpLVUs3WUlWUkNnWTBEd1NZQ2JGbUlzdVVQWkRuSXNtVFpzaTFMU0VMU3JsYUxySlYycFYzdGgzWjNkcjduemN6TC8zZTZ6NzM5N3J6NTNQZG1aK3piTTMxUDkrbnUwNmRQOXpuZHQyL2YrMmc3MUlKOEFCYU5WMjlKZ2ZlOHhzRWFGNWNIV1dKWWN2VVZVRkQrV25hVlZpd29QNnVnVzZUOFQ3OVUxMjJPem1GYSsxV3lEQ08xSUYrbDAxY3hRbitsZmU1NUFnZWhKZURNYTFHa1lHZ3FHVHJrdG1zRm9HNk5MbmFnSzVPajE0SjVXYy9rQ0VHRVpWRmRnTG5TZUJpOGU4cDdHT2p4Q0FIQjVWUXRTc3o1dGFGQ1daQnlCaFFQaWxEZ2JFbW5SRE4wZ3Jic1Y0ME1iQjdWTVhDZ1liT0lEeUtLV3dONFlTWUVnVGI3c3dsSVdTQ1ZVVmhlMXh3U0JoT3hxMElycDh3TTlqNWRiTmJYSnRjNHM1MlVmMGpyWDVhNzNUcUU4TG5IWnJKUHljL3FjUjdQdTJrbzFWc3RGallPckQyd1lva0FlYkd1UUVOdnpLRllEYjAwczVUOXQ3dW1zcDk3VTMvMkV6Y05aZ3VhU2NlMXRCNjRTbDczMCtjbnU3THBXVWw2UVovWDBtcUFweDQ0ZjBJUXduYlZKZFJMelByVUF3YVROSXUzdnZqeW4vTDBCK2Y4T2RTRElSd2Y2YzRPeWtDSnZXeE15di9GcDJheUx6dzVxNW0vTUg2Qmh5RHY1aXYxRlR3d0J1Z3VuSStqRUF1NVRFNFJRVGJrcTZWUzNGWHhuSjJCblRZQW9XM0w5WG9oamxRMEcydFVXcFlTSnA4SVcxR2dVbGNnSHh4U1BVTTYzaGhUcEJtbTFJcGFMUS8xQ1VVNGxBbDgwTEdXMHpNNUNmSUtSeGtHQUIwUGRCck1CRll1UXNJTVNPdDhoU21icmdMWVNMS1ZpeE5RT293dzhCejZsaFJKNE11UThneDBqQkd6UG9ONVVMdjJJM3F1dFYvTGZYYjUyZVFiMWFnNG8zdjlXeDZZeWg0OVViZFozNVFmcWlydk5HQ1dQNE0wZ0hBWkdCTVlQbTR2Tkx1TGlZODlPSjg5SldQd3o3VWEyRHNzU1VnNDErNlYwZW52eXM1TmFHOUFHNFV6V2czTTF6VU54dHVDUUJoaWNwSlREQkV4RklEbGUrR0tIQVhPUXlHZlh4RXB1LzNJWTBqUCtmYU4xVXo1dFJqSzlrajVIMzV1UHZ2amIwemJoaUJIZ1RIYXdYQkhZeUJja0VSeHBYYVRUYXd5RFRzWEtTVGR4b1I0QWFybE1vL1d1TUJtbXJtTjRVNFpnQ2JwajQ1azgvM2pzdktxYlVFYlJ3djFibGwzbXJsRlo1MnRza0I1QmphVEV4dFNDcG9Ea29iSGVkamk0Qk9jWmRqQXhXbDVqMENqVlJnY3lrNmlLMzBPWXhsTVQ0MkJUQjRsaGdGVjNJa3kyeHZQeWcrMHg0QmtWdGlXbFFxRFkvUFBsNWJjTklhNk5ad0lHUEdRbndUcVlLQnovODdPOWpDenZoU2ZlLzBoOVkwMjZhV2tPdDkrdkpIZDhVU21lLzNoN0JWWE1jZ0RZUU9LRUUrOVVrTWVhekN4a2xNREVBY1hiOU8zTGpXeTMvbGFscjM5YjJYWm02N1ZJMFBOZC92RXdKQVU3cHdNd1lYSm5teFNxNEU1clFZVzRpYWhHVUFqQkNrUHdKVzdpRk0wTndZRkttUktzcU4wR2pJMjY3T3NIeG5zenZhUGRkbXluNzJQY2NuaThPa3N1L1V4UFFrWjIyc3ZBVm03SlhPTWFBajdLcTZRaVlraDFoT0JFcDNIMW5CSSt5RjdkTHV4Unl1d01mbUZtV3krZGM3MllqdGxBSnE0bExyUGQydFp5WkxUb0N3K3d0K3E4OW1Vdm1WQWhYZTBDMnFPdDhFV0I0Q0hIWkk3RFJlbDF3N0J0WkYwOWhVaGJuaGRUUEVoa1dja1V1UUo3eEpFQlNXL0RkVmd1TndrVXBUQlRqdWRSek1JY2ZsdlMxY3BOd3BOUGd3Sks0UWcwMERMNVF2a3hDQXpQb2Q1bU1tWjlYbTBoK0tQU2VsWTVqTHJuNXZSN1B5WGpleXhGNVZmSFRVa1JXU2dpMFN6d2h2ZkRQeVFadWtFaWJkeTRnOFowUllja1BmcFp6VEgvY2tqV1hib3BTejdSemRKNFhUZndhZlByOUhTbTBlRzV5N1ZiRFV3cXkvdXpHazFZS2NKSlJTT0dydUNCNXFSTUl5VW5aSTh0NVZSSEQ3aFBaeHhrRHhrRE1lMENqcWdldmRxRmRTdlBNejhmL2xDSS92NEk3b1YwVE9Cc09HcHNwS2xsWSt3S2F5NlRRYWlEU2ZSL3JiaXFzeWx5UU9ab0IvQWhlV2wxQUI0QXltWGhsZlEyU3lpa3dZZ1ovVEMrWVc1UG5YdS9KUzhPcjJ1emx6Mkc3eE5jQXpCY0xSV2dVaWQrMFBPbmZmcUhuTnhzVS9DRG1wRXNubGRBdFFnakFqYlVDT2R1RGwxbDRWemhDZXNnSlpEV3U2SzdpWG9jSnpEd0VXSU93Nlllc3FTejNCaXhsNFVVb1JCaEdKN0czbjhCODRITURNL2hleWJBQnJKRG9VeVdyYWFVQWlEeTNQc3NHUGZyVm0vS3h2VmxqNnpQb3F2QllEZDczTXMrUXVIWnJOUFB6YW56MXVGR1JFYVZPcEwvaEJ0amxzNk5lcWZSVEFEdnFXTFFySlptM1lxVHI4Rm4yWDNuRzlrRHovVHlINzI1cjdzTGEvcjArTk85YUptMzhGOVdvVm8zSEJ1WUdxMnBzZU9PbStnc2NQaEk3czFrREdBcHZkblhyZlZGeXJsbWh0RHRkY1YzL1krdE84d3JDVS96L2paK0dRVkpMdG9LOVU3SHAzTzduZ01IUXl2Lzdvc1RMWVNCcmNDaFd5UVFUU1dsRUJZY2k0UDZnY1RzSmEwNHJLZ3poalFpUzQxTjV2aUJPWGt3dHlLVERTM3phNlRCZ0JXVGY3MStiblpiaW0rVG9GbVMxcnFMY1dkM3EyMUpkcCtVYWJ6R1UxTDhzdWlpWEhCV2FYQWtHeHhEMXNSWFloYlFnRVVXcXVMbEJ3TDJCS2NxT1VYUHlvR3VVQTBvRkZncU5rc0VNTmt3WkVYQTJMbi8xV1k4dWJCUjIvOEtvekRWZzVybHVJOTlFYWNncm9FYlRCcVJQT0JDc0pzWW5GTHdHeVA0dnVPUFJ0c0hOL2xKQnNuK1ZCOFBEdjB6NXhaeWo3MjlVdlpZWDNVZ2hrUkdoaVlZSXpnTFhweGx2TVptWFNlWVpyYkR4VTEvbzNwZUtHdGVKZU5LejFZd3VBNVVzeWp4VDk4WURaNzhOaEM5czd2Rzh4ZWQzVlBOcU94d2dHaVVTMVJNRXlYWm1wMmtwQmp4ZmEwUUgyT0lXQUNDTzhZZUYwQk9uKzB3WXloR0tTTmZYRVZOQ3A1N0pVeFpJZGZpeDNiN0x1Z3d3cS85N1dwN0J2UHp0dUtDWGtzNlVNc0xnZUVnT3oxaW11Tzh6Ujc3S3FtSWg0WGhMV2QrRHB1UUFMazZJOTV0UnVkaVVXY2hNTjFLRzB1dWQwR29DV1RqZnI4dEN1Y0NVZlNDWEJ6ekhwdWxDZXRpRGpQbkhuY1pQVW9JM3FDSTE4Y1p4WnBpdWRjUkdyTndNbzM4eGxpYnRuSlFFdnlPalU0aklUVEVXUHdoa3NOUVVwVGJCc1g0SUlQcHdXZERuQlpTOUFEZXdaTXlURXNZYUNoOUpxRjJKVFNJQ1hNSGdodjZUSEllL1dNZmtBS3psSWFwVWZaR2VUTWN0cmt0bzlZM1B0c0xYdncyYVhzbkQ1cVlXKzBNYmo1czBIZUdzSmtrVWZNQllTdEFPQy83QnpIb2dYaFFCdkRUYnVnRTBJeUFsckJZUWdPbjF6TzNuOTZLbnZ6RGIzWjI3NW5JSHZsZUhjMks0WGdubnlQREFGR1lXcXVLNXVSbjVQQlgxQjhVWVlnR0FGVkFXRmtwRDlWWlRLeld5QmtJajhnWlVjbUhFOGVqaklCc2dxNi8rbTU3UGFIcDdOelV3MTdNZ0t2WVNVVVpudkNablFoTEorbkI0bFkwMDAyZ1lVOGJvRjFMZ3hYdkZnMHVMdzRQNjJvWXJTbWM2N2RCZ0JPbldHSFhZMjVTOVBjME5JYWQ2NFlIdDhLaEFZZERsMVdGM1FjbFM0cHJOdGRNd0k2Z1dET2pZQXhKVzBNT1pWa2lJSXppK1pOS0JwVDVQQXlrYTZBcGVuaXZKQUNuVERBWTdvdzVHdnBsVG1PS1lNYVpaQXd4NHlBU1hqTjFVTjJuNzhvVGVLV3dLajdJRlJibWVHNGYrUkxOWGlVWDRmNTdLTVZmTGhpU0hHWSt0YVpoZXp1dzdQWlk3cS9IUmdaVjMxNkRDaGhtZExEc1RGWURHN0RSK1pDSHFvT2l1QnRMTGdOZkxtQkxQbzRHalZsWk5ZM09pb2M3MlJNSnRCQ1FnUDZ5aVlydXZ1ZXJtZmZQRmJQZnZBMXZkbVAzZGlmWFgrZ0IvWXpMUUpzdjJKQnkyUTlLTEFqeUp3K1hOUXN6UmlnRDFKbk0zK1VDL0pnSTFvTElqT0dLRDRqNFlrWEZyTFA2RkhuSVoxellQWFV5aGk2NHVmeVFGYjZzMzZJb1dEbFErMUYyMU51Vmc4SHVoZ3NVVlFiRnVlbWRNUGNlU2R4ZE1SNU54aGNuSnVleEFDNGF4NHdqdDA0TktKZWczV0NPbDVUNDdOblF5VjFLVDFLd01tMmVUMTFjRWNSUDJCaTZwZ1Fjbkx3RmxUVlM2MFBLUnM2UEZMeEJqWVJqVWdCTXhTQ2xBRmI5Z3dDWmkzd0dJQ2U1Ym5zbWtHZG1kY1JPbFlEeTEzZFlheDVQc0d3eE1Yd2FZbXJzcnBqc01FT3JmTmExajcwekh6MlZmbWpweGQxRDYwWlVDZHdVQWllTnZ2Z1JySHRMeW80ZzlKd0FuQVQwcGlod3FhanFnbE1LcDY2bFlNL3BLTnMwS0NYSU0yM0RxekhJbjBrajJNV0hOUXluYytnMzNlMG5uM3RXL1hzOVZkM1p6L3kzYjNaOTc2cU45dXZnd3FzaE13QXFDMnMvclFJTU1Qb1cwdE9FbHA2NkdHZWxROXRabktZME9uREI1NWJ5TzQ3TXBjZGtVd1lGd05tQ09FdHROWGw0Zkp4NVRlNXFCM0lJYlFJcnEzRzBJUVl6SEVrcitISWJuMnVBSkE5bllXWlNRd0FTWWdvQ0VhQmRqdUpvK091YTNucXBTa05ldTdRdFRDVlUzTU1iclpxbFd1U1JCS2hVeDg3d1hGU3ZYbW03Wk1oUFZMaFRiU1ptU0JReStvenYwMVJ2Z2FJbklRTVJ0L0pwanc2cmhYTDVMTjBEUnlnSzRDRlk1cm5jWnFtL0lxRU9JTXBoRzNvS2RMSDdDUUM1L1NUVS9jZW1zNWV0VSszQVdNTjdjd3Y2LzUrT1c1Q2FRaHlDOENBWmVTSUdrdmhHVzJXOFVNVno1NWR6QTY5V00vKytreGRiK3lGUjQxOHVwcmJBVjd4RFlNT3FBcWhnZWNQdnNJbHg4RW9PUGkwL1lISTcrYU1KZFF4SUx3a0JhM0FFOHBzMVVGYkh1dG1yMVZMQURXZEhXRFZjUGpVVXZia2k0dlorTkNjOWdlNnM1dXU3Y2x1MEtyZ3FsRzlwYWpOVFc1L3pCbUJFUFFyOU5sQVBIdHBLVHNtbVR5cEY1aU9hTFovZVRyY3gvTjBCR1htSDFuQ2pQMEI1UzNOTUdTaEhtUVdvRiticWxVazVJc2NrR2tOUnpKOVljdC9RZjNYRnk2ZW1WeWpTRk4xYStSYk42bVRCZ0FtOFYzekYxL1FDbUI1VHN2TjN0RERVcFF0TkNFdGduSVljYUE4RzJTSGRQOTRWQWRNYnJwV1gyNlJJUmpUN3U2MDdxVG1aQkRJaXl2cURjcWFJSlJLVnhUT3l4U1kxaUh5R2JWWUlNU0ZFemxEUmJ5Uno4TkJCdFNJRDQveFFqdnNtM1BTTk83WjczNWlPcnZsTHlhem1tYTlNYjFRczNla1I1NW4rT0hESEJnQWxKQlZEM3NnRi9Ycy9LSWU1L0Y2THJ2bHRpa28yZkNXbnYxUm1VSmhWZ3M4Y2hzQXI0VUJzRWpBS1M4S2orS25nem9vaFhCcWo5bFR5SzdqeUl1RERsejc3TW5nZHlOQWF0RmJHQXNreTdzSEZGYTc5Q3U4RHorL2FMY0hQQzRia1pERzlRanYxVmVQYXEramxpM016YWhMMWZseVRBWXplb1NJOGJzZ1paK1FiSGhya1JvWUwrRmRmbkZEYzhFcTRISWdRTjBtazRDMHNHV3ozTmJqRnFLdVZBNjB5N3ZaMDRDck9lcFFVNElSa0tCcmplVzVpYlBIZlFYZ3BCeXVSbVpMK0U0YUFCZ3lwdXNubjVpU0FkQnA3OW9vd3Nmak50dWlGUy9weEprY1dneFFYdEw0K0lQMTdBTS9wN1Bsc3A4Y3FKalNMaS8zaG5YZENnVGxqNTJUVzRMbXpncE1iWll6MmhKYXhWakJRYUVZOERIdStCUXFZNWhsMUFZR3BWWXRROXFnWWx2OW9nYnZIMzFaRGRIYWRWbEtlbkcyeXhUODJEa0thV1dJNXFoQ0g2UW9OYmNPQVdxbTE2Z3lkc2dqa2pqeUJzaktJWkFJeGlEUXlmUEVNcm55eDNKUVJOYXA4M2FtdVBYQ0JVZkJES0FBckhYaGpxcENENUFyck5TSWs1UE53bTVWYUhIMUlUL0x6YmY1SmxXWWhjejU4M1gxdDdROE91aDVPekYwN0kyQU03bFpIdHBkeEUwK1FnVGxqM2d5eUR2UHlBdFhZQ3lhOTNmUjJ3b3BhMmhMeU5QcUNyV3drWXRoRXQzRzh2VHA1eDVQRGNCNkpGcVIzUkN1MHdiQW1KZzUvdlVaUGZpL3FKdnlWNENnd1NiTVhBa3QyNll1Wm5FcElkRkFEd254aHRiZGh4ZXpINzhKMzVOcE1zajI2bGFBKzF6V1V4eXVaS1loYzFCWUl0RWx3VUF4NEIxTkhlczdEVXd2NEpsVkVKU1Y5elJubUVHbE1NdDNOdkJRL0RGdGJ1bmxhVnVtLzlhZGw3Sm45WGl1aXh0WHk2djgrWkpmUTFRNEc0d3hqVXJ5UVdrVm1wUkJHaDVvRVYzTlNJQTNHdEtjUEUva1NRZ0dMNHFBd2dmV0F6M3BvRzNnUVcybHMwcEthRzk0Z1NZWG5wV1A5WWFBSFdoU3g5cEJwNERPK1hJelFMOFJEbi9LcFB3OHFrTkVHRC9iTzlDMys1eGpCUklYNVFHR291RmlFWWtoeG92MkIyTWdQUExWbjhzakVMVFNwdlEyRHdWa3ZNSjhjSXpUdFJ6SjhDM2JIL1p4alBXbGk2ZWUxdG5qbFc0ZGFpc0xySWRwcHdHQU9Wb09USDAyZituc1hHT3BmcmFydC85R0dBcmlKTFJKSjBuVC9UaG1DNXhWR0hzZ0RJMnU3QU9mbjh1dTFiR3ltNjdobTNSNmZLUmJBV2FCR2QwS1lBellLRUpSdzRaZ29CUEp4c2hXQWR3ME84TkVOTURqUUp1WjFPRjhQWWVQVGZLMVdiN3d3KzcwN1EvT1pCKzlkOUtVSHdOaGc5Q1ZYek1aTTBZWW9ERU5xWG85SHFDK2x1RmdPRWlDaDNTQWh6QnRDSW9mU1ZvY3JEdU1nTHNROU1vZG0wRHJuNlpjU1NMQjBLdGMrYjBEK2hacThHZjlKQmlNRUZoTVFPanBZQlRBaGJ3b2tzMms5c3d4NEMyeGRHa2xFOGRaKzExbWdsQUpWM2dJb1RCNUJLS1dIbVdSaUNRMG9GVHZhbEdNTVh0WTVqRUEwcFdKMDZmOUpDQmszYTlHWXN2NGRocUExWmlBK1hxalBuMnFhM0RFQk9vWjE3T09ucThNWFJwcCtSRFdzMTRKOG1VOUR2eWxUOHhtNzN2N1FQYm0xK3JWVXkzL2VmN2RKMFBBZlNHZWxRQTc3R1VIYlRvVnVLcHJrYmpxY0lzSk5sQ2NvQ0lvbmoraTBqSDA4TjA1OGNNZ3VPWCs2ZXo5bjcxb3kvNmFNdm1nREVwZmJQbzUzb2FsNkRuTWh5eVZ5aFg0UEVVMHd5MkEweUJGVlVlbkVrYVBhQ0NDZk5Gam1vNlBwTWtRNkZ0SWx4YXlDVWxlb3NpUWl0LzdEd0xJSnB6dWs2cWhoQ3BDM1VENGdnTFV3bXFBY05oTUpJME5UZnN3YXFoMDVaV0NjaXRrSWp3NGFCajFHQmNxNUxaNERFZCs0TU41Q1NuRjFSS0lic0Q1N0E5a01saWVuenVwWXNuenF3MFEyV0tXVGhrQWwwME9sK2VtbnU4Wk8yaHNJbVNHR3grRDJwVFRLQWhXMzdvb0ZxV0hxS1p3SEgwOXE4ODF2K3ZqTTlrLytjSGU3Si8rY0g5MlVHOTQ2UlJwcGx2R1RJK05iUlhBKzBpK1pHK21VTkM2M0JEY2xSMEQzQTBBQm92SGRpZ2Y3NXAvK0l0VDJWMlB6V1kxV1FJK1N1RUtDaXdmUDAzVHFJTjQ0WHd3Qnd5RE93eG00cUpGTktKSW8yUTRZQlI0U1RJSEFwU0tRZ0tFWUN6cENYbk8xUUxxdjF6UVRxR2NGMDdnSVR3cHNGeEM1YmNkUXBpQk1KNkwwZUF5Tlpsb0tXRHRLU29MTFF5azh3cFRtVmc1cFlUNmdqRk01VUhld0hFbzdrMEdGL0NibFVYT2h0M0NwQ3VBK2RtSjR6blpzTmhOcXk0S3RpSFVLUU1BYXk0YllGZjkwdW5uZWc2ODFqcUdSQk9vTFEySmJjWloxK1lGdkNPc00zT3NsRXJLdytiZlIrNWYwRHZ0QzlsYmIrekozcXpueU5jZjBHTWpuWWZuNVE2YlVaTXlIbHhOMmpaK1l2V3I1WEVhcGJIbWFJT1U1UWdyUjFwZjBHTytwL1ZJNmt0UHpXVmZlWHBlNzhQcnZRWlpoRlM1N2NTZnROVnZCVmd5bXJKSDZHMUhvWFBGVFJob1RsZkgySFFhaklBWkFnWjN6TThTM0p5WWRGeEFwRmZ5aEh3bWg5VXpwb1ZpT05LM1dHc3BoajROU3VnZmxLWStqS1JYWlhsRXlxblI5bURVYUZmQWVydXRLcy9ZeEFWeWpJaElpWGhham1TTHcycWUxOHM0RExrMkw0dFEzbDdVWWhVb3o5bUkrUXRuajBYS1J0SnJFU3pIazZTdEJUdHBBT0FJaHZIZEM2Y1BQemR3M1k4c1NzQlN6YTA3Vi9pVWdtMGFSZGxBTzBoSkcyc2FNVU5TSmg0QjNmcU5sWWxHOVFBQUdDOUpSRUZVaGV3MnZZYytyS09nSEkwZDF2MjJiUnlwUUZGR0pVUGhsTHlGZVJZOU5EU1VEUTRPNm15QlBwQXhPeHVVY0VYT3RSSGNldkNzbm1Pc2s5cTludEFqdTFtV0pYSWMzKzNuMko2RTVFcmViQWdZc0lVbm54bUNXR1ZUT09JTUtKODdDMUd1YVRTSGRCUXNkYTFremR5TWMwVk04Mjh1TEE2TUNHMWZSZWhLWVM2M2o0WmFubkQvYi9YRVR2T1NOQkVVK2YwZVBlVXh0TkJLaGt0WkpwUnV5a1FFbytNMUtGWUVJNkdRSjYwbnFXSGRvSlhXeFc0QnBmd2NYdFBEbmNWekx4NStUb1ZKNWk2Sld0MHIyRjdYYmdNQW96RHVERHVzVFIyNTgrVFk5LzNMbDd0cVBRZkpFR2FlbUZOZzQ4N0poeExGUmw0WUhNWUFXWENSRzU3NURtbFp5R2xCbm8yZm1kVHljc0pmSUZFbSt5ZHpMQk5DOFJyd0dJRGhrVVkyb3EvbVRPb3J1RFA2cGxXcWNFMUYxb3lJdWZCdk1tQjI1M3g2d0hsYVVPeFUyVmZNL2lvUXhuQlN4amtXcW5DRnFqczZ0dFE2S3VCUVJyR3djb1FYWkpMY0lOZk1tcFJhUHdnSGVMaHl6cHBMc2Z3UFN1MzVTRGVHN2RhQW1MWERTT2tTbGR0d0pLNXdMV1NTRXlCektHa2JuYXNTSVNFa1hvNHNtS1RzM1EzQllBQVdYLzdyYi80NWV3QllXcDVudGhhS0V0cmgybTBBa0FnTU95UnMvdUtoVDErNFpuSDJXSzEvOUdDdzFuU0NaOXRrVXhLVDY5S0JGbmVFcHBRUlNUMWhvMGtiUTZTcVJ6bExZTC9RYTZNcTNFT2kzTGxUT0lubEhKS0hNK0o4TUdOQkpudEpmck1HSUcwdFlSK29JV2lZbkdhVDhxc2h6WEVyWWZLTFl4MWkrYXdjS1Bud0pLKzdtRWZ5QzMrT2o5RHdKWnhIaTRvYzAxNlk5R21aY05vZlJhdThsVVVxR0ZZQTRkRmltVXFJZTZraTFlVzJNb1U4WVpWUzVNNURiWkFIblBNSUU4WEhjd0NzSVIwNWRPOGQ1Mk05clZZQVJZTnpaclllYUxjQktITUNzOTZJdWFXNWlTZTZoMFovR0ZFalB3YmhNZ2VmdCtBZzNDUUpHN3htQWtRMU9NWVVadFR6RnBCT1Z3eGxCNmt3d0M1VzJHSmdjb2NCWU04QWkwMm4rWVpjbm1HVmdQT3lNam1tQ0lSUUNKaGlFclFCcHBnZ3F5VUVaampEczRJeUpBbjZEL3pTMXVCSVMxMFJiNXF0U3Mya0p6eW53NXlLQ1NxUGJVc0E5a29zTnRVYjJvTEVtdDFLVEhONmlCV2xYQ1psRzBUZGJGT1RzOGdkU2llN21SR3hOY0IzQ1ZCK2JnTllDZFl2VER3aFN1VkhnRnNqdm9GUzdUWUF5QXhaZWQ4NVpHelZGbDcrMXFORDQ2OWlMQWVoS3VBWk5zQnJrWVZDY2lzNlJSZzYwMjRHbE1pWXRUeFdIM1hGUDJVS3R3NkNsc0VLV2VaSU9sUmcxNERCQUFURmx3RVEzOTNzTkpzU0psblhEVnBsSzNJRk1uSFlLaEo0Rm94OFUwOVJGL2VsdENYUTRvb1A4WUJiVVVFWmdWeThvV2s0NWlPcHJBeGxFaDJQUi80MjJLSW9EYmphYUltVkxjaGxVa295ZVZ3ZTZSTEZFTVZnczFuTmkxc1lBUjREbmo5MVROOUlVbmNXbnN4UkdnVGI2OXB0QU1yY3BRMnBUVDk5NTVPRDEvMjlLYzJlSXd4dVpqWWI3bTJhWFh5NWhwcEQyWmI5cWloOGV5L2czQXpBS0t1QVVMWFM0cmhaeVFybDZJSHdyQm1lN2JDSjd0MExwYlFzRzdqRVNtSk9aRkM0b1BERVRlRmh5TklkSCtLbS9MRWd5Y1JOV3kxdm9CWTREdUd0WEkzVTVSTFpTc1dYVVFhZUV4RmNCcVdWUlhPNmJaUUpwTUlKUnA1SWhkZTN1K3JMVTg4K2RPZVRTc0kyYUpzNFh6MHJhSU82alJ4QU1wdy9DYUgyWG1IVVBiTy9yUzdQUHZqQkYvYS85YjFIYW4zRFA4QVlSdm41QzFtM3dFQVVSOTVCT1lsQUV4TUFiYkpaUFdiaWkvcHMvYUZvMHg1QVRpeVU4MkdGWVdEWmJRWUFxT09tVVEveldqY2FnSmZBVTFHaU1DWml3UDRESTZHT1psd29GVnJuRk5MWks1VDBsQUNqcVBJSWVTaGp2am5yem80MU5TU3dhdTBGTHgrM2RqYlVoaGFraW5LdGhGaWtYbjVJbFljdk5vV25VWVAyL3NmY1U5KzQ0N2RmRUhGcWp5M0tJWFU2bm5CYlhDZFdBRENlaW85NE1BSnpjN05MazZjZjZMdjZoaDhJaWhTVXF0V0p2SzIyanNwdy9vakpURXdxTm9WSnN6MkF5R1pnMWt1RzhselRoaEF1RElDK3ZxTjM4amRyQUx5R1ZEaWhOcGdLSWE3QldDWHhwb3FVS2tLYlhhSW41RU5Wb2tHbndGTnFQSXBhZDFmSVpic1pybE9ackNpM0ZZSXJpS3lPb0c2K1ArQWZic0VBekowKzg4RGNIRyt3bVBQdWdaT09jVlBzRzhWYTJ3aWM4YUQ4Y1Q5bDl2aFh2Nnl2Tnl4aEFCalh4V2JXRm12MldnU1pwZkhGZ0ViTWVOVmpvUmlQOWJKOERnWkNWeTNwN1hVeW1JcmVadVZTM1BuMlBKdUJ0clJQNklXeTRWWUNQdURIbHZUR2N1QXRQNWlqTkc4TDdURWprTFI5SzBNRUdvV3NvTHA3M1c1ckM4dC9QZ1hPdHhuNGRhVGFVbVBweEZQU2pUQlVYV2U4aDcxamlMZlZkV0lGa0RMb0RmQUcxYzcrdjE5K1l1d05QLzlFZDkvd0cvbDBGd1lBeGVCVHo1dDFHeTNoZXdPMko2QksyREN6c3VoNlFtVGx3cnpnaUd6b0xub0l2OEY0Rk9sYkQwRTBPSi9WWXpXbThsUUlqNTdtZVlId2xMQnZrWUphbXJNNWJQc2NTVUdMTjJmWlZiRzB6VDRKN1BRRzhFaVpsNy93STNwSHBhcysrL2dYUC9wdW5nRFFITmNYNElwdWJtZmJPbVVBZkhnNTgzbUQ5R2JnZFAzc2tVLzF2ZnI3Mzhoc2FtOXdhZllOUno2OTJPYWFtQTRBS3huSnJNQ2pUTW9ROEp3MWwzUVZLWXpBeWhJcEo2U0dsUVRZdGZPbTVUWVNOajRpMWNCbFVZcWFuTWRjUXFYcUhlK3dLTDB5UkI2ODBWUmdJMlZXVXRsWkdOcXlRa1k3aThXY0c1NGlEZXZFSjZkUitTRVVQbEI2NmJtam41dzRjNFp2QU9CNCtsanVsbkxjTWw3dXBWTUd3UG1DYWZjMEN0OTM1djRQM1BYS2Q5NzJpOTNkUGRmd0c2Z3NoK3hUMUZ0WUJYaEZtNGVheGFOSVU4bW00WlUwWGV0TUpWY21id0hqRkoyWDlleUs1eThQanh5L0FSN1MyeVRLNVhWdm9PeE96NElSMk1udFlYenh3eXg4bWRobWY3Ny9VRjg4OWVYYjN2OEZKZW1Cb0wwRm1FK1lpdnVRcEtzOHJHQjdYQ2YzQUp4RG1QWUdtV1diZVBLVHArb1hqLzFaTi9jK2FsWllDUlJ6cXhlOExFaXQ2L2xZQVpKMUR4ZnVIZWN3WmpmZ3VNMUNwKzNReStlMDErT1o5RFk0cTlmcmFnTzlLMDBpWFFGY2FWN1dxcDhYZi9oMEdlK2pqR2dGc0VkZnJKbysrL3p0VDl6N1p5ZFZqaDVCUjJ4eFdxTFRwcDV2cHNvNDdLVHpJUWFrVVRTTzg4MjFsKy83NzdmcFlQNFp2dHpMYlVENFNLV0daVnJpY3NLcVpMT3VYRjI1UEVxRDg2Vm1pRzN1dWw0ZEc2SldKcktGdU4wcnF6S0t0azNtVytDakhYWFRIMTUxSG5ERURvT0Rlam1OSHlSaDJjODNLN3VYbHM1OC9YYnBRcGgzWFBsOXdreTVwNmZhN2pwcEFHQWVCL1FHMFVCODQveWpmM2hpNGR6UlA3SlZnTGl3dllCNHVpNXQ5UlVMcTJMZlVIS1lEeTRhMENKOXd6aktYMkd2NnEwTk1IS2xlV2xML2JRRFFyUnJoM25uaVM4eWora25oNW45OGVQNlhOM1VxV2R1ZWZDdWp4d25qeHlUb3hzQmI0WWxkT3JTU1FQZ1BIdEQwaFVBcDV4cUp6LzM3MjV0ek0wOTA2TkhJZmtaZXg3SGVZbHRocjZNTkNnR2ZYbnUwQnNFZE55V29OcmxkVjJwdGxxOTNxQnRsbk5IMmh6YllrWmdoN1VIbm5ocU5Dcmw1eWZZUitWUmZuMnUrcG5QLys0djNxb1E5LzdvUkQ1Qkt1eXRVTEJ6cnRNR2dFYmd2REZ1Qk16S1RUOTMzem41MzlMRTM4QUEySzJBTHZhZCtsQnVaMTNWQ2hTM1NYbDJGb2ViNHViYnJTM1duazFKWVBzeUQybmpiMXkvUE1wSFgvbU5SdDBDTkU0ZXV2OS9IWDMwM25QaUFuMUlaMy8weEhXbm8weDIraWxBeWp5TllzTDB4bUx4QnA3LzQzLzRoYi94bjE3NmJNK2Vneis3ekk5NHlCYjI2TUx2dlRVZDBVMHBYWWt3eXAvVWF6TjRFdDlWd2NTSTJRcG1XNGJhOWtqSSttVUh0UWRXZU9hL2QxaXp2Kzc1TVFBSDltcTZ2M2o2cy8vM3YvNGtPLzlNd3J6OVo1T2lvUGVPdDhLaGt0cnZPcjBDZ09PMFFZUjlGWURGczJYUG1YdC81VGV6aFlVVFBYb3FZTGNDTWdMZCtrNjJuY1NEUXVVcUNleENDVERZK2RqSHVIN0loWjhneHdEczM2TUpibW5oeEpjKzlxdi9ROGsrR2Zyc254b0JXdHhSNWFlQzdUQUExSU56NVM4YmdPVUxEMy8weE5Rem4vLzE3bHFqYms4RnpBRG9PYjE5M3owVXJxNlZCSGFiQkhqa042NWZjOXFuUjMzajhudjFReldqQTQzNmM0OTgvdGNmdXZNUFRxZzk2QUtUb0JzQTR1aEp4eFZmZFpqYlRnTkFoVzRFVXN1SEFHclAzL3FPZXhiT0hQbFFyNTZOOGlNWjV2V3VOQ3VCeWxVUzJHMFM0SWc3UCtXMlQ3K0ZaY292QTNCZ1hEOUtldUxJaC83a3ZlKzRXKzFCOTlaUy9tMHhBdHRsQUx3eHdMSVJRQWo0cnFOLzhLYmZYN3A0OGpOOWVrU0MzdHRYVW5WUFVLdU1nTVJUdWQwaUFWZisvVkorWnYyOVV2NnI5L08xMzlPZi9yMTN2ZWwvcXgzb0hkLzlYOHNBYkV0enQ4c0EwSmkxakVBUXh2ejh3dkZQdlAzWGxxY3ZQTkNybmRLd0NzQVE2UFhieWdoc3k0Q29Lcms4Q2ZDeG1EMjY1ejh3MXBYdDE2TStsdit2T0NDYUd0TzN2KzluZm0xK250K3FNc1ZQbGQvdi9ia0Z3TG11aEZnSHI5dHBBTHdadmdJbzd3VmdCSmFtWDN4bzRvVlAvK3RmYnN4ZWVyUlhLd0ZiQmVoWlJiZmVuZGE3QTlYR29FdXhnanRPQW54OW1sOXV2cXFrL04wTFU0OTg5a1AvNXQzSERuMXpnakV1WDU3OTBZbHRVL3BVY0ZmaUJ0dWZwamxNK1FIWFBYL3VxZG5GeVZOZkdiN2h4OTdZTTloL0RTS3p4MVh4ZmR3cjlYaXdUOGM0Ky9RTzk0Sys0MSt2NjZYaVZpMUlXN09EdzkwYXJJTTZtTUxIV09iMCt3UzczZEVXWmwvYTRpY0N0N05OL05UNFB2MTBPelAvUGkzNzhkZGNwUWxzL3RJamQzMzRsOTcxNkQyM3ZpUitFRFRLajA4My9zQzdBWEFvVk9mZGxUQUF0QXJWS1RjMFZhZnV1WmYrYW5yKzdOUDNqNzMyNzkvWU16UjRuWDA4T0ZnQktWNVl1R3kzSWFnTVFPY0g1RlpydUZJR2dFZlZ3d1BkV3U3amcrTHZaOWt2NWUrYXZmalZ6L3pPdi9vUGo5N3pDWlNmOGM3ei9yTHlnM2RkY0NqVTlyZ3JaUUJvblN1OHczS0x1eGZPSFptZGZ2YUw5NDY4L3FjUDlvMk0zb2lZTExNdXdRaXNWclJNcWozeHlnQzBSNDZkb0hJbERFQ3Zia3YzYUtmL2dINTMwbWQ5bnZOZnZVOWFmdkhVcDI5OTcwKzk1K2hEOTV4WGU1bmhVWDYvL3kvUC9vaGsyNVdmU25lQ0FZQ1AxVnhYZmZMVTRzdGYrNS8zN2ZtYjc2ejNqVjcxL1YxOGpBOVJtUkVJWHhPaThIWklyeklBcTNYVGxjZHZwd0hnK3hVam12WDNqV3JXMTA0L3lzOXUvOVU2NGJkM3VGR2ZlT0h3QnovNEwxNzdHK2ZQbnB5VlpGQjJYL1pqQU5nRDhFMC9IN1lPbGJTOTdrb2FBRnE2MmhUdUFnRmFudlBmL1BBM0I2NTU0NUdCZmRmZjNEM1FzMGUvb1JidXdiVUU2K0l0d2tqS0MzWkNqSlVCNklSVTIwTnpPd3lBZmNldlg2ZjZ0TkhIOC8xOWNjbVBBVGlvbmY3QnJ2bmp4eDc2OC8veWY5NzlsdHVrNGN6NktIeTY3UGVabjJIcXZqMEMyQ0tWSzIwQVlIczlJK0JONjVsNDRrK2ZsWG45MHNncmYyaHY5K0Rvalg1UUVBTGNpM0ZiME1uanc1VUI4SzdZZWJBVEJzQm5IM2IzQjZYNExQZE44WFdQNzgvM3I5TGhIcDd6TDAyZStzemRIL21QLy9tdWo3em5NWWFqdk0vNndQTE1mOFUyL2NvOXQ1cnlsZk4xT3U1OEFObmh3Mk9jOEhwWjJMemVGTWp3aHIvK0Z6Ny9FNFBmOWFQdnF2VVB2MjVSNGwyU1owYzc5OW9LNXNkQTJTaGNabHY0TXJlR0tUNGl5eitzbHpyQ2o0UHFOMnVkYXpHMW14eHQ0WmVJOSs3dHNhY1pGeTh5TWUxdVIxdDRzbkhod21LMnBCK0EzWXFqRkYxS3Z6TGJvL2k4eURQWXowWmYrSVFYRU0vSFBNWTE4OWNXWm8rZWVQSytEOTN5S3ovMUZ5cnF5M3RYZmhRZjRhWXovNDVSZnZHMTZ1eEwyblk3VnllZ0d3RWdieXppVTBOQWVIbndOWC8zd0t0LytzUC91SGYvamY4czYrazlpQkZZa3FneEFqdzFNS2hleFFBdzZCdENLQlJzQVloTk9MSlhCbUFUQXR2bXJCczFBR212KzREajVCNnZvcVB3K0g1K3B0MjgzdVRUbE1ObnUvRkRVbnplNVIvVGpOKzlWRDk5NmRTUmozL3V0Ly85bng0NzlKVnphaTVqRllYM0dkK1YzNDJDSzc2ejRIQ2JKZFZjbmN1Z0dYdmxZczRQRU8rR0FBT1FyZ2JjR0lCZkhyLzVGMTU5OVZ2ZTgvTzllMjk0UjliYmZ5MGZHc1VZbUJHUW1JRm1BQWliandaQkVmN3Nud1M1L0JvQ2hqTzg0cFVCeU1WeDJRSEU2NTFkRW5VVGJmS3NsZTZaOTYyeUFyQTZkR0dQaUpuZFozZi9vVmNVbnQvbjQ4QlpuMFpWL2t1OU1jd1Bkd3pvL1pSUnpmak0vTFhGK1pPVFo0NTk2b0hiZnVPVEQzL3hsaE9xbnpIS0RJL0N1MDluZlJSL1J5cS8rTXI3Z1BCT2N0WnZZc2dOZ0VOZkRhUXJBb3dCNmN1anIzL2JOUWZmK3FzLzNuZmdwcCtwOVkxOWp6NHIwSTB4V0U1V0Jia2hVQUhUZVkydXFQdUNaZzd5RVplZU0rQ0R4U1BEV2dyS1QwMDFzdWxwL1FpMWN5bGF1STBNMUpEenlsNXByOTBDak5mQ0xjREV5aC9VTGpYTkdBYVgvajZCeFlWcmxkZGI2REpDTnF2bGE4SjdwRVVCVHpJWUNSTW1PTDYzWmtvOE1kR3dXNER3ZXhNYUdFcGpkamVGVjlpT2x5dXVKM2dXNWxkNVVmNWVqU2ovbFY0TUFUL1Z6WXpQTC9iVWxyUzBYNXA2L09LSnB6NTMvKzN2dS92UVZ6LzNVbXdPaXUxS0Qwd1ZuNW5mRlIvb2JrY05FK1MzVTUzekJrVEIzYXU3N0pZQWlQSzdVY2dOUWRZN1BITHRQL2pOTjR4Yy82Ti9wM3YwMVQ5VTZ4MSt2WHA3bEJGb0JrRmRZNnNDZFl2MWhpNG9oWWRGYzBXWS9DTmErZzFySnBqVTE5dW5wOFBBSTY4NUsreVJuUTJEQWREbUZSK20wTENkNElDcW5BbGNGNkFyYmc3WHdLWGx5blNJUTlEeUpPRnlQQ2JsR1QwOXJUK2xBOTd5QU9YSDlmeWRWOGtuMVJadS9WQjg4S2I4Z3NVWHAwTFlEWUROL0NnL1NxK1pIc1hYZ2lEcldsNmVYSzVQSFowOS8rSTNqaCs2LzRFN2YvZmRoK3YxYWI3Ynp6aEVvWDNXZDZWM1NGcnFmV1E0VlBMT2NXcnFqblVwYjRRUnZFUENHQUEzQm00RUhJSjNnUS91Kzl2Lzl0cXhHOTkyVTkvK04zeHY5OUNCTjlSNmhyNHJxL1h1VjJtOVhCQ1ZYMTNtdHdxVU5JUGdGR0ljNWNkUHRUSUFxckNWY3hLdDBxNFVqcll4NEZNRGdHQk5xUlJ3NVhJbGFrcEw4NjBYcG9IUTgzeWJpYStSMTJnNlhXaHJOT3pSSXpsbTk2bkphQUNFODluZlBqS2pPT2tvUE4rZ1pNWW5ySC9VZFZHZm9uaDVlV0htK2ZucGM0ZlB2M0Q0OFdjZXV2T3ByMy8yOTA4cWxkL3Fvd2s0Wm5WWGRJZmczSmNWMzd2ZklUUjJsUE9HN1NpbVNzdzRqMEQzR0FEQzlGL1pZd1RBT2ZTOGRBNWwrclV5MkR2eStwOTh4ZUJWTjEvWHMrZFYxM1gzNzN0VlY5L3dLN3E2Ky9kMzFmcjJOR3ExNFM1RjFHdTlkdXBZcGVoQlZnRDRTUTB5WHdHZ1RPdTZqZVJabDBqN01wZ0IwRXlYR2dCVEZyWFRaczBFdWhGWUMzcGFXdGFOU0JOT1RUQjhwQzlRMUplbXBlRlNYaStUMDFGZVp2a3g3Y2lqNE16UnJBQXNIM0tYVjdpZU5aYm1hNDNsNmF5eE1MRzhPUC95MHNMMFMvTlQ1MStZdW5EeStYUEhIajl4N0xHN1R4MTk1SjZMS3NGemUwcENBdWZLN2NxZlFrOXp4WTgxMmdvZ2xBNjBQTHpqb0RkeXh6RldZaWpsazdCN2xEdjFaV05BbXVNODdHV3BnZzdEa2RiYk83U252Ly9nelVPOTQ5ODkzTFBudXVHKzBZTWpYUU5qSXowRGU0ZXk3c0doNFpHQndhR3hnZjdaK1o3K3VibGFmNjI3cDBjZks5QXFRZytndW1yYVRxcnBSMmthZ2h4STBQZERPWlRRMEYwemYxVFJXS2J1SGVIRWViWkh5K1pGeldOVGx5UlFzU2ZHRFpwQ2kwdFRYdUVSanVFSWswZnhwcndSaHlLYVlwS2ZzSmZ6ZE1VaFpuUVZOT01LVkxyUWVWbkpVcUpqajZXcm9mclVSeEtpQkN1MEh1TjBMVW1PVXJqbEpSWFR6OHd1TERVYWk0dURBOHZ6V1dOeGZ2TFMzUHpTL056c1luMTJabUhxd3N6Q3pLV3BtWW5UVXhObmowOWZQUFhNOU9uamZ6VXpNekV4cCtxNFowZHhjVlNQWXp5NE1xUGNoRjNKVStoNG9KY0J1bGZRSFBFZDdlaWozZVJTZmdtN3B3TnRERVdJMGpzT1dJNm5hZER3c2dvYVRTRE9PNVE4M3BrZUJ1SWNsc09XV0VwM1hBVTNMZ0dYZTFvaXhYbllZWnFQc1BkUDJtL2tkZVgxTVBIVXV3RndYRG51NVlEdUZUUkhmRmM0Rjg2dVlEWmhNdVdiY09wZG1WUFlTdUU5bmJKcE9LWGxZYW9takhOWURsdGlLZDF4Rld5UEJGb3BWaG5uY1dBNTdEaUhiZ1JTV0E2N0FTaVg4VGpRWFJwMjNJNkc2V0RlMFl5dXdsektQK0gxZktyb2FiaFZPYXAwdklkYlFYQ3BvMHpsT2lPQnRSVE0wMXJCRkVlNDdGM3B3YWRoajlNYThMaTBiTUFVaHNianV3Wit1d3pXdEIwZUJwYkRhK0hLZWVuRWN2NjBZejEvaWl1SE41S25YS2FLcjVRQVNyY1JsK2J6c0NzczVWdUZIZWN3elZmR2VSb1FSL3F1ZHQ5T0E1UzIwQ0hsTm5rY21JYnB1TlZ3cExrcmwzRTgwTk5TWEJwZUx6M05XNFZYbDhCNml0WXEzWEVPb2U3aGpjQnlIdWZPOFI3ZjFmRGJmWUNXMjVmR054S21jOU44YVdldmhrL3pWT0h0bFVBcjVVeHhhUmpPUE80d3hhV2NrMDUvcC9uUzlGMGIvazRaeE41NWE3VzNuTGFWTXJ0MklPeHl4dGRTek5YUzFzTDdXRmd0enk0WFY4RytON1RBZkdlRkxyZjlsMXYrTzB2YW5XdnQ1U3JxNVpidlhNczZUTGthd0JzVGNDV25qY2xwcCtYNmpsWHNuZFlSRlQrVkJDb0pWQktvSkZCSm9KSkFKWUZLQXBVRUtnbFVFcWdrVUVtZ2trQWxnVW9DbFFRcUNWUVNxQ1JRU2FDU1FDV0JTZ0tWQkNvSlZCS29KRkJKb0pKQUpZRktBcFVFS2dsVUVxZ2tVRW1na2tBbGdVb0NsUVFxQ1ZRU3FDUlFTYUNTUUNXQlNnS1ZCQ29KVkJLb0pGQkpvSkpBSllGS0FwVUVLZ2xVRXFna1VFbWdrc0RHSmZEL0FiUEhaeUY3ZWlnRkFBQUFBRWxGVGtTdVFtQ0MiPgo8c3R5bGU+KiwqOjpiZWZvcmUsKjo6YWZ0ZXJ7Ym94LXNpemluZzpib3JkZXItYm94fWh0bWwsYm9keXttYXJnaW46MDtoZWlnaHQ6MTAwZHZoO292ZXJmbG93OmhpZGRlbjt0b3VjaC1hY3Rpb246cGFuLXggcGFuLXl9PC9zdHlsZT4KPHN0eWxlPi8qISB0YWlsd2luZGNzcyB2NC4xLjE0IHwgTUlUIExpY2Vuc2UgfCBodHRwczovL3RhaWx3aW5kY3NzLmNvbSAqL0BsYXllciBwcm9wZXJ0aWVzO0BsYXllciB0aGVtZSxiYXNlLGNvbXBvbmVudHMsdXRpbGl0aWVzO0BsYXllciB0aGVtZXs6cm9vdCw6aG9zdHstLWZvbnQtc2Fuczp1aS1zYW5zLXNlcmlmLHN5c3RlbS11aSxzYW5zLXNlcmlmLCJBcHBsZSBDb2xvciBFbW9qaSIsIlNlZ29lIFVJIEVtb2ppIiwiU2Vnb2UgVUkgU3ltYm9sIiwiTm90byBDb2xvciBFbW9qaSI7LS1mb250LW1vbm86dWktbW9ub3NwYWNlLFNGTW9uby1SZWd1bGFyLE1lbmxvLG1vbm9zcGFjZTstLWNvbG9yLWFtYmVyLTQwMDpva2xjaCg4Mi44JSAuMTg5IDg0LjQyOSk7LS1jb2xvci1lbWVyYWxkLTQwMDpva2xjaCg3Ni41JSAuMTc3IDE2My4yMjMpOy0tY29sb3ItY3lhbi00MDA6b2tsY2goNzguOSUgLjE1NCAyMTEuNTMpOy0tY29sb3Itc2t5LTQwMDpva2xjaCg3NC42JSAuMTYgMjMyLjY2MSk7LS1jb2xvci12aW9sZXQtNDAwOm9rbGNoKDcwLjIlIC4xODMgMjkzLjU0MSk7LS1jb2xvci1ibGFjazojMDAwOy0tY29sb3Itd2hpdGU6I2ZmZjstLXNwYWNpbmc6LjI1cmVtOy0tZm9udC13ZWlnaHQtbWVkaXVtOjUwMDstLWZvbnQtd2VpZ2h0LXNlbWlib2xkOjYwMDstLXRyYWNraW5nLXdpZGU6LjAyNWVtOy0tbGVhZGluZy10aWdodDoxLjI1Oy0tbGVhZGluZy1zbnVnOjEuMzc1Oy0tcmFkaXVzLXhzOi4xMjVyZW07LS1yYWRpdXMtbWQ6LjM3NXJlbTstLXJhZGl1cy1sZzouNXJlbTstLXJhZGl1cy14bDouNzVyZW07LS1lYXNlLW91dDpjdWJpYy1iZXppZXIoMCwwLC4yLDEpOy0tYmx1ci1tZDoxMnB4Oy0tZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7LS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpOy0tZGVmYXVsdC1mb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpOy0tZGVmYXVsdC1tb25vLWZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7LS1jb2xvci1wYW5lbDojMWMxYzFlOy0tY29sb3ItcGFuZWwtYmc6dmFyKC0tc2VydmUtc2ltLXBhbmVsLWJnKTstLWNvbG9yLXBhbmVsLWJnLXRyYW5zbHVjZW50OnZhcigtLXNlcnZlLXNpbS1wYW5lbC1iZy10cmFuc2x1Y2VudCk7LS1jb2xvci1wYW5lbC1vdmVybGF5OiMxODE4MThhNjstLWNvbG9yLXBhbmVsLWRlZXA6IzExMTExMzstLWNvbG9yLXBhZ2U6IzBhMGEwYTstLWNvbG9yLWFjY2VudDojYTViNGZjOy0tY29sb3Itc3VjY2Vzcy1lbWVyYWxkOiMzNGQzOTk7LS1jb2xvci1kYW5nZXI6I2Y4NzE3MTstLWNvbG9yLWRhbmdlci1zb2Z0OiNmY2E1YTU7LS1jb2xvci13YXJuaW5nOiNmYmJmMjQ7LS1jb2xvci13YXJuaW5nLXNvZnQ6I2ZjZDM0ZDstLWZvbnQtc3lzdGVtOi1hcHBsZS1zeXN0ZW0sc3lzdGVtLXVpLHNhbnMtc2VyaWZ9fUBsYXllciBiYXNleyosOmFmdGVyLDpiZWZvcmV7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjowIHNvbGlkO21hcmdpbjowO3BhZGRpbmc6MH06OmJhY2tkcm9we2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6MCBzb2xpZDttYXJnaW46MDtwYWRkaW5nOjB9Ojotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbntib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOjAgc29saWQ7bWFyZ2luOjA7cGFkZGluZzowfTo6ZmlsZS1zZWxlY3Rvci1idXR0b257Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjowIHNvbGlkO21hcmdpbjowO3BhZGRpbmc6MH1odG1sLDpob3N0ey13ZWJraXQtdGV4dC1zaXplLWFkanVzdDoxMDAlO3RhYi1zaXplOjQ7bGluZS1oZWlnaHQ6MS41O2ZvbnQtZmFtaWx5OnZhcigtLWRlZmF1bHQtZm9udC1mYW1pbHksdWktc2Fucy1zZXJpZixzeXN0ZW0tdWksc2Fucy1zZXJpZiwiQXBwbGUgQ29sb3IgRW1vamkiLCJTZWdvZSBVSSBFbW9qaSIsIlNlZ29lIFVJIFN5bWJvbCIsIk5vdG8gQ29sb3IgRW1vamkiKTtmb250LWZlYXR1cmUtc2V0dGluZ3M6dmFyKC0tZGVmYXVsdC1mb250LWZlYXR1cmUtc2V0dGluZ3Msbm9ybWFsKTtmb250LXZhcmlhdGlvbi1zZXR0aW5nczp2YXIoLS1kZWZhdWx0LWZvbnQtdmFyaWF0aW9uLXNldHRpbmdzLG5vcm1hbCk7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fWhye2NvbG9yOmluaGVyaXQ7Ym9yZGVyLXRvcC13aWR0aDoxcHg7aGVpZ2h0OjB9YWJicjp3aGVyZShbdGl0bGVdKXstd2Via2l0LXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUgZG90dGVkO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUgZG90dGVkfWgxLGgyLGgzLGg0LGg1LGg2e2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OmluaGVyaXR9YXtjb2xvcjppbmhlcml0Oy13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOmluaGVyaXQ7dGV4dC1kZWNvcmF0aW9uOmluaGVyaXR9YixzdHJvbmd7Zm9udC13ZWlnaHQ6Ym9sZGVyfWNvZGUsa2JkLHNhbXAscHJle2ZvbnQtZmFtaWx5OnZhcigtLWRlZmF1bHQtbW9uby1mb250LWZhbWlseSx1aS1tb25vc3BhY2UsU0ZNb25vLVJlZ3VsYXIsTWVubG8sTW9uYWNvLENvbnNvbGFzLCJMaWJlcmF0aW9uIE1vbm8iLCJDb3VyaWVyIE5ldyIsbW9ub3NwYWNlKTtmb250LWZlYXR1cmUtc2V0dGluZ3M6dmFyKC0tZGVmYXVsdC1tb25vLWZvbnQtZmVhdHVyZS1zZXR0aW5ncyxub3JtYWwpO2ZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOnZhcigtLWRlZmF1bHQtbW9uby1mb250LXZhcmlhdGlvbi1zZXR0aW5ncyxub3JtYWwpO2ZvbnQtc2l6ZToxZW19c21hbGx7Zm9udC1zaXplOjgwJX1zdWIsc3Vwe3Bvc2l0aW9uOnJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO2ZvbnQtc2l6ZTo3NSU7bGluZS1oZWlnaHQ6MH1zdWJ7Ym90dG9tOi0uMjVlbX1zdXB7dG9wOi0uNWVtfXRhYmxle3RleHQtaW5kZW50OjA7Ym9yZGVyLWNvbG9yOmluaGVyaXQ7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlfTotbW96LWZvY3VzcmluZ3tvdXRsaW5lOmF1dG99cHJvZ3Jlc3N7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9c3VtbWFyeXtkaXNwbGF5Omxpc3QtaXRlbX1vbCx1bCxtZW51e2xpc3Qtc3R5bGU6bm9uZX1pbWcsc3ZnLHZpZGVvLGNhbnZhcyxhdWRpbyxpZnJhbWUsZW1iZWQsb2JqZWN0e2Rpc3BsYXk6YmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlfWltZyx2aWRlb3ttYXgtd2lkdGg6MTAwJTtoZWlnaHQ6YXV0b31idXR0b24saW5wdXQsc2VsZWN0LG9wdGdyb3VwLHRleHRhcmVhe2ZvbnQ6aW5oZXJpdDtmb250LWZlYXR1cmUtc2V0dGluZ3M6aW5oZXJpdDtmb250LXZhcmlhdGlvbi1zZXR0aW5nczppbmhlcml0O2xldHRlci1zcGFjaW5nOmluaGVyaXQ7Y29sb3I6aW5oZXJpdDtvcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjojMDAwMDtib3JkZXItcmFkaXVzOjB9Ojotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbntmb250OmluaGVyaXQ7Zm9udC1mZWF0dXJlLXNldHRpbmdzOmluaGVyaXQ7Zm9udC12YXJpYXRpb24tc2V0dGluZ3M6aW5oZXJpdDtsZXR0ZXItc3BhY2luZzppbmhlcml0O2NvbG9yOmluaGVyaXQ7b3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6IzAwMDA7Ym9yZGVyLXJhZGl1czowfTo6ZmlsZS1zZWxlY3Rvci1idXR0b257Zm9udDppbmhlcml0O2ZvbnQtZmVhdHVyZS1zZXR0aW5nczppbmhlcml0O2ZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOmluaGVyaXQ7bGV0dGVyLXNwYWNpbmc6aW5oZXJpdDtjb2xvcjppbmhlcml0O29wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwO2JvcmRlci1yYWRpdXM6MH06d2hlcmUoc2VsZWN0Oi13ZWJraXQtYW55KFttdWx0aXBsZV0sW3NpemVdKSkgb3B0Z3JvdXB7Zm9udC13ZWlnaHQ6Ym9sZGVyfTp3aGVyZShzZWxlY3Q6LW1vei1hbnkoW211bHRpcGxlXSxbc2l6ZV0pKSBvcHRncm91cHtmb250LXdlaWdodDpib2xkZXJ9OndoZXJlKHNlbGVjdDppcyhbbXVsdGlwbGVdLFtzaXplXSkpIG9wdGdyb3Vwe2ZvbnQtd2VpZ2h0OmJvbGRlcn06d2hlcmUoc2VsZWN0Oi13ZWJraXQtYW55KFttdWx0aXBsZV0sW3NpemVdKSkgb3B0Z3JvdXAgb3B0aW9ue3BhZGRpbmctaW5saW5lLXN0YXJ0OjIwcHh9OndoZXJlKHNlbGVjdDotbW96LWFueShbbXVsdGlwbGVdLFtzaXplXSkpIG9wdGdyb3VwIG9wdGlvbntwYWRkaW5nLWlubGluZS1zdGFydDoyMHB4fTp3aGVyZShzZWxlY3Q6aXMoW211bHRpcGxlXSxbc2l6ZV0pKSBvcHRncm91cCBvcHRpb257cGFkZGluZy1pbmxpbmUtc3RhcnQ6MjBweH06Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9ue21hcmdpbi1pbmxpbmUtZW5kOjRweH06OmZpbGUtc2VsZWN0b3ItYnV0dG9ue21hcmdpbi1pbmxpbmUtZW5kOjRweH06OnBsYWNlaG9sZGVye29wYWNpdHk6MX1Ac3VwcG9ydHMgKCBub3QgKC13ZWJraXQtYXBwZWFyYW5jZTogLWFwcGxlLXBheS1idXR0b24pKSBvciAoY29udGFpbi1pbnRyaW5zaWMtc2l6ZTogMXB4KXs6OnBsYWNlaG9sZGVye2NvbG9yOmN1cnJlbnRDb2xvcn1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpezo6cGxhY2Vob2xkZXJ7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLGN1cnJlbnRjb2xvciA1MCUsdHJhbnNwYXJlbnQpfX19dGV4dGFyZWF7cmVzaXplOnZlcnRpY2FsfTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZX06Oi13ZWJraXQtZGF0ZS1hbmQtdGltZS12YWx1ZXt0ZXh0LWFsaWduOmluaGVyaXQ7bWluLWhlaWdodDoxbGh9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXR7ZGlzcGxheTppbmxpbmUtZmxleH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1maWVsZHMtd3JhcHBlcntwYWRkaW5nOjB9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXR7cGFkZGluZy1ibG9jay1zdGFydDowO3BhZGRpbmctYmxvY2stZW5kOjB9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQteWVhci1maWVsZHtwYWRkaW5nLWJsb2NrLXN0YXJ0OjA7cGFkZGluZy1ibG9jay1lbmQ6MH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1tb250aC1maWVsZHtwYWRkaW5nLWJsb2NrLXN0YXJ0OjA7cGFkZGluZy1ibG9jay1lbmQ6MH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1kYXktZmllbGR7cGFkZGluZy1ibG9jay1zdGFydDowO3BhZGRpbmctYmxvY2stZW5kOjB9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtaG91ci1maWVsZHtwYWRkaW5nLWJsb2NrLXN0YXJ0OjA7cGFkZGluZy1ibG9jay1lbmQ6MH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taW51dGUtZmllbGR7cGFkZGluZy1ibG9jay1zdGFydDowO3BhZGRpbmctYmxvY2stZW5kOjB9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtc2Vjb25kLWZpZWxke3BhZGRpbmctYmxvY2stc3RhcnQ6MDtwYWRkaW5nLWJsb2NrLWVuZDowfTo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbGxpc2Vjb25kLWZpZWxke3BhZGRpbmctYmxvY2stc3RhcnQ6MDtwYWRkaW5nLWJsb2NrLWVuZDowfTo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1lcmlkaWVtLWZpZWxke3BhZGRpbmctYmxvY2stc3RhcnQ6MDtwYWRkaW5nLWJsb2NrLWVuZDowfTo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9ye2xpbmUtaGVpZ2h0OjF9Oi1tb3otdWktaW52YWxpZHtib3gtc2hhZG93Om5vbmV9YnV0dG9ue2FwcGVhcmFuY2U6YnV0dG9ufWlucHV0OndoZXJlKFt0eXBlPWJ1dHRvbl0sW3R5cGU9cmVzZXRdLFt0eXBlPXN1Ym1pdF0pe2FwcGVhcmFuY2U6YnV0dG9ufTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b257YXBwZWFyYW5jZTpidXR0b259OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbnthcHBlYXJhbmNlOmJ1dHRvbn06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b257aGVpZ2h0OmF1dG99Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9ue2hlaWdodDphdXRvfVtoaWRkZW5dOndoZXJlKDpub3QoW2hpZGRlbj11bnRpbC1mb3VuZF0pKXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fX1AbGF5ZXIgdXRpbGl0aWVzey5cW2NvbnRhaW5lci10eXBlXDppbmxpbmUtc2l6ZVxde2NvbnRhaW5lci10eXBlOmlubGluZS1zaXplfS5wb2ludGVyLWV2ZW50cy1hdXRve3BvaW50ZXItZXZlbnRzOmF1dG99LnBvaW50ZXItZXZlbnRzLW5vbmV7cG9pbnRlci1ldmVudHM6bm9uZX0uY29sbGFwc2V7dmlzaWJpbGl0eTpjb2xsYXBzZX0uaW52aXNpYmxle3Zpc2liaWxpdHk6aGlkZGVufS52aXNpYmxle3Zpc2liaWxpdHk6dmlzaWJsZX0uc3Itb25seXtwb3NpdGlvbjphYnNvbHV0ZTtvdmVyZmxvdzpoaWRkZW47Y2xpcC1wYXRoOmluc2V0KDUwJSk7d2hpdGUtc3BhY2U6bm93cmFwO2JvcmRlci13aWR0aDowO3dpZHRoOjFweDtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O3BhZGRpbmc6MH0uYWJzb2x1dGV7cG9zaXRpb246YWJzb2x1dGV9LmZpeGVke3Bvc2l0aW9uOmZpeGVkfS5yZWxhdGl2ZXtwb3NpdGlvbjpyZWxhdGl2ZX0uc3RhdGlje3Bvc2l0aW9uOnN0YXRpY30uc3RpY2t5e3Bvc2l0aW9uOnN0aWNreX0uaW5zZXQtMHtpbnNldDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS50b3AtMHt0b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0udG9wLTFcLzJ7dG9wOjUwJX0udG9wLTJ7dG9wOmNhbGModmFyKC0tc3BhY2luZykqMil9LnRvcC0ze3RvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS50b3AtXFsycHhcXXt0b3A6MnB4fS50b3AtXFsxOHB4XF17dG9wOjE4cHh9LnRvcC1cW2NhbGNcKDEwMFwlXCs0cHhcKVxde3RvcDpjYWxjKDEwMCUgKyA0cHgpfS50b3AtXFtjYWxjXCgxMDBcJVwrNnB4XClcXXt0b3A6Y2FsYygxMDAlICsgNnB4KX0udG9wLWZ1bGx7dG9wOjEwMCV9LnJpZ2h0LTB7cmlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0ucmlnaHQtMFwuNXtyaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0ucmlnaHQtMlwuNXtyaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjIuNSl9LnJpZ2h0LTN7cmlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0ucmlnaHQtXFs5cHhcXXtyaWdodDo5cHh9LmJvdHRvbS0we2JvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5ib3R0b20tMFwuNXtib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9LmJvdHRvbS0ze2JvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5sZWZ0LTB7bGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5sZWZ0LTFcLzJ7bGVmdDo1MCV9LmxlZnQtMlwuNXtsZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMi41KX0ubGVmdC0ze2xlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0uei0xe3otaW5kZXg6MX0uei0xMHt6LWluZGV4OjEwfS56LTIwe3otaW5kZXg6MjB9LnotMzB7ei1pbmRleDozMH0uei0zNXt6LWluZGV4OjM1fS56LTM2e3otaW5kZXg6MzZ9LnotNTB7ei1pbmRleDo1MH0uY29udGFpbmVye3dpZHRoOjEwMCV9QG1lZGlhIChtaW4td2lkdGg6NDByZW0pey5jb250YWluZXJ7bWF4LXdpZHRoOjQwcmVtfX1AbWVkaWEgKG1pbi13aWR0aDo0OHJlbSl7LmNvbnRhaW5lcnttYXgtd2lkdGg6NDhyZW19fUBtZWRpYSAobWluLXdpZHRoOjY0cmVtKXsuY29udGFpbmVye21heC13aWR0aDo2NHJlbX19QG1lZGlhIChtaW4td2lkdGg6ODByZW0pey5jb250YWluZXJ7bWF4LXdpZHRoOjgwcmVtfX1AbWVkaWEgKG1pbi13aWR0aDo5NnJlbSl7LmNvbnRhaW5lcnttYXgtd2lkdGg6OTZyZW19fS5tLTB7bWFyZ2luOmNhbGModmFyKC0tc3BhY2luZykqMCl9Li1teC0xe21hcmdpbi1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSotMSl9Lm14LTBcLjV7bWFyZ2luLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0ubXgtMVwuNXttYXJnaW4taW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqMS41KX0uLW15LTJ7bWFyZ2luLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqLTIpfS5teS0xe21hcmdpbi1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS4tbXQtMFwuNXttYXJnaW4tdG9wOmNhbGModmFyKC0tc3BhY2luZykqLS41KX0ubXQtMFwuNXttYXJnaW4tdG9wOmNhbGModmFyKC0tc3BhY2luZykqLjUpfS5tdC0xe21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxKX0ubXQtMnttYXJnaW4tdG9wOmNhbGModmFyKC0tc3BhY2luZykqMil9Lm10LVxbM3B4XF17bWFyZ2luLXRvcDozcHh9Lm1yLVxbM3B4XF17bWFyZ2luLXJpZ2h0OjNweH0ubWwtMFwuNXttYXJnaW4tbGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0ubWwtMVwuNXttYXJnaW4tbGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSl9Lm1sLWF1dG97bWFyZ2luLWxlZnQ6YXV0b30uYm94LWJvcmRlcntib3gtc2l6aW5nOmJvcmRlci1ib3h9LmJsb2Nre2Rpc3BsYXk6YmxvY2t9LmNvbnRlbnRze2Rpc3BsYXk6Y29udGVudHN9LmZsZXh7ZGlzcGxheTpmbGV4fS5ncmlke2Rpc3BsYXk6Z3JpZH0uaGlkZGVue2Rpc3BsYXk6bm9uZX0uaW5saW5le2Rpc3BsYXk6aW5saW5lfS5pbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmlubGluZS1mbGV4e2Rpc3BsYXk6aW5saW5lLWZsZXh9LnRhYmxle2Rpc3BsYXk6dGFibGV9LlxbYXNwZWN0LXJhdGlvXDoxNlwvMTFcXXthc3BlY3QtcmF0aW86MTYvMTF9LnNpemUtMVwuNXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMS41KX0uc2l6ZS0yXC41e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMi41KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS5zaXplLTNcLjV7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozLjUpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjMuNSl9LnNpemUtNHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5zaXplLTV7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KX0uc2l6ZS05e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqOSk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqOSl9LnNpemUtXFsycHhcXXt3aWR0aDoycHg7aGVpZ2h0OjJweH0uc2l6ZS1cWzE0cHhcXXt3aWR0aDoxNHB4O2hlaWdodDoxNHB4fS5zaXplLVxbMThweFxde3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHh9LnNpemUtXFsxOXB4XF17d2lkdGg6MTlweDtoZWlnaHQ6MTlweH0uc2l6ZS1mdWxse3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9LmgtMlwuNXtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS5oLTN7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMyl9LmgtM1wuNXtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozLjUpfS5oLTR7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNCl9LmgtNXtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KX0uaC01XC41e2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjUuNSl9LmgtNntoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0uaC03e2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjcpfS5oLTh7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqOCl9LmgtOXtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo5KX0uaC0xMHtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9LmgtXFszcHhcXXtoZWlnaHQ6M3B4fS5oLVxbMTNweFxde2hlaWdodDoxM3B4fS5oLVxbMTRweFxde2hlaWdodDoxNHB4fS5oLVxbMTZweFxde2hlaWdodDoxNnB4fS5oLVxbMThweFxde2hlaWdodDoxOHB4fS5oLVxbMjJweFxde2hlaWdodDoyMnB4fS5oLVxbMjZweFxde2hlaWdodDoyNnB4fS5oLVxbMzBweFxde2hlaWdodDozMHB4fS5oLWR2aHtoZWlnaHQ6MTAwZHZofS5oLWZ1bGx7aGVpZ2h0OjEwMCV9LmgtcHh7aGVpZ2h0OjFweH0ubWF4LWgtOTB7bWF4LWhlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjkwKX0ubWF4LWgtXFsyNjBweFxde21heC1oZWlnaHQ6MjYwcHh9Lm1heC1oLVxbMzIwcHhcXXttYXgtaGVpZ2h0OjMyMHB4fS5taW4taC0we21pbi1oZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0ubWluLWgtXFsyMnB4XF17bWluLWhlaWdodDoyMnB4fS5taW4taC1cWzMwcHhcXXttaW4taGVpZ2h0OjMwcHh9Lm1pbi1oLVxbMzZweFxde21pbi1oZWlnaHQ6MzZweH0ubWluLWgtXFs0NHB4XF17bWluLWhlaWdodDo0NHB4fS5taW4taC1weHttaW4taGVpZ2h0OjFweH0udy0xe3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMSl9LnctMlwuNXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjIuNSl9LnctM3t3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS53LTNcLjV7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozLjUpfS53LTR7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0KX0udy01e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNSl9LnctNnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS53LTd7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo3KX0udy04e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqOCl9LnctOXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjkpfS53LTEwe3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMTApfS53LTIxe3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMjEpfS53LVxbMjJweFxde3dpZHRoOjIycHh9LnctXFszMHB4XF17d2lkdGg6MzBweH0udy1cWzMyXCVcXXt3aWR0aDozMiV9LnctXFszNlwlXF17d2lkdGg6MzYlfS53LVxbNDBcJVxde3dpZHRoOjQwJX0udy1cWzQyXCVcXXt3aWR0aDo0MiV9LnctXFs0NlwlXF17d2lkdGg6NDYlfS53LVxbNDhcJVxde3dpZHRoOjQ4JX0udy1cWzU4XCVcXXt3aWR0aDo1OCV9LnctXFs2MlwlXF17d2lkdGg6NjIlfS53LVxbNjhcJVxde3dpZHRoOjY4JX0udy1cWzcwXCVcXXt3aWR0aDo3MCV9LnctXFs3NFwlXF17d2lkdGg6NzQlfS53LVxbMTIwcHhcXXt3aWR0aDoxMjBweH0udy1cW2NhbGNcKDEwMFwlXCs4cHhcKVxde3dpZHRoOmNhbGMoMTAwJSArIDhweCl9LnctXFttaW5cKDMyMHB4XCxjYWxjXCgxMDB2dy0zMnB4XClcKVxde3dpZHRoOm1pbigzMjBweCwxMDB2dyAtIDMycHgpfS53LWZ1bGx7d2lkdGg6MTAwJX0udy1tYXh7d2lkdGg6bWF4LWNvbnRlbnR9LnctcHh7d2lkdGg6MXB4fS5tYXgtdy05MHttYXgtd2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo5MCl9Lm1heC13LTEyMHttYXgtd2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMjApfS5tYXgtdy1cWzE1MHB4XF17bWF4LXdpZHRoOjE1MHB4fS5tYXgtdy1cWzIyMHB4XF17bWF4LXdpZHRoOjIyMHB4fS5tYXgtdy1cWzM2MHB4XF17bWF4LXdpZHRoOjM2MHB4fS5tYXgtdy1mdWxse21heC13aWR0aDoxMDAlfS5taW4tdy0we21pbi13aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5taW4tdy1cWzU2cHhcXXttaW4td2lkdGg6NTZweH0ubWluLXctXFsyMDBweFxde21pbi13aWR0aDoyMDBweH0ubWluLXctXFsyMjBweFxde21pbi13aWR0aDoyMjBweH0ubWluLXctcHh7bWluLXdpZHRoOjFweH0uZmxleC0xe2ZsZXg6MX0uc2hyaW5re2ZsZXgtc2hyaW5rOjF9LnNocmluay0we2ZsZXgtc2hyaW5rOjB9Lmdyb3d7ZmxleC1ncm93OjF9Li10cmFuc2xhdGUteC0xXC8yey0tdHctdHJhbnNsYXRlLXg6Y2FsYyhjYWxjKDEvMioxMDAlKSotMSk7dHJhbnNsYXRlOnZhcigtLXR3LXRyYW5zbGF0ZS14KXZhcigtLXR3LXRyYW5zbGF0ZS15KX0udHJhbnNsYXRlLXgtMXstLXR3LXRyYW5zbGF0ZS14OmNhbGModmFyKC0tc3BhY2luZykqMSk7dHJhbnNsYXRlOnZhcigtLXR3LXRyYW5zbGF0ZS14KXZhcigtLXR3LXRyYW5zbGF0ZS15KX0uLXRyYW5zbGF0ZS15LTFcLzJ7LS10dy10cmFuc2xhdGUteTpjYWxjKGNhbGMoMS8yKjEwMCUpKi0xKTt0cmFuc2xhdGU6dmFyKC0tdHctdHJhbnNsYXRlLXgpdmFyKC0tdHctdHJhbnNsYXRlLXkpfS50cmFuc2Zvcm17dHJhbnNmb3JtOnZhcigtLXR3LXJvdGF0ZS14LCl2YXIoLS10dy1yb3RhdGUteSwpdmFyKC0tdHctcm90YXRlLXosKXZhcigtLXR3LXNrZXcteCwpdmFyKC0tdHctc2tldy15LCl9LmFuaW1hdGUtXFtncmlkLXNwaW5fMFwuN3NfbGluZWFyX2luZmluaXRlXF17YW5pbWF0aW9uOmdyaWQtc3BpbiAuN3MgbGluZWFyIGluZmluaXRlfS5hbmltYXRlLVxbZ3JpZC1zcGluXzBcLjhzX2xpbmVhcl9pbmZpbml0ZVxde2FuaW1hdGlvbjpncmlkLXNwaW4gLjhzIGxpbmVhciBpbmZpbml0ZX0uY3Vyc29yLWNvbC1yZXNpemV7Y3Vyc29yOmNvbC1yZXNpemV9LmN1cnNvci1kZWZhdWx0e2N1cnNvcjpkZWZhdWx0fS5jdXJzb3ItZ3JhYntjdXJzb3I6Z3JhYn0uY3Vyc29yLW5vdC1hbGxvd2Vke2N1cnNvcjpub3QtYWxsb3dlZH0uY3Vyc29yLXBvaW50ZXJ7Y3Vyc29yOnBvaW50ZXJ9LmN1cnNvci1wcm9ncmVzc3tjdXJzb3I6cHJvZ3Jlc3N9LmN1cnNvci10ZXh0e2N1cnNvcjp0ZXh0fS50b3VjaC1tYW5pcHVsYXRpb257dG91Y2gtYWN0aW9uOm1hbmlwdWxhdGlvbn0udG91Y2gtbm9uZXt0b3VjaC1hY3Rpb246bm9uZX0ucmVzaXple3Jlc2l6ZTpib3RofS5saXN0LW5vbmV7bGlzdC1zdHlsZS10eXBlOm5vbmV9LmFwcGVhcmFuY2Utbm9uZXthcHBlYXJhbmNlOm5vbmV9LlxbZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zXDoxZnJfMWZyXzFmclxde2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyIDFmcn0uXFtncmlkLXRlbXBsYXRlLWNvbHVtbnNcOmF1dG9fMWZyX2F1dG9cXXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6YXV0byAxZnIgYXV0b30uXFtncmlkLXRlbXBsYXRlLWNvbHVtbnNcOmF1dG9fbWlubWF4XCgwXCwxZnJcKV9hdXRvXF17Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOmF1dG8gbWlubWF4KDAsMWZyKWF1dG99LmdyaWQtY29scy0ye2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMixtaW5tYXgoMCwxZnIpKX0uZ3JpZC1jb2xzLVxbNTZweF8xZnJfYXV0b1xde2dyaWQtdGVtcGxhdGUtY29sdW1uczo1NnB4IDFmciBhdXRvfS5mbGV4LWNvbHtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LmZsZXgtcm93e2ZsZXgtZGlyZWN0aW9uOnJvd30uZmxleC1ub3dyYXB7ZmxleC13cmFwOm5vd3JhcH0ucGxhY2UtaXRlbXMtY2VudGVye3BsYWNlLWl0ZW1zOiBjZW50ZXJ9Lml0ZW1zLWJhc2VsaW5le2FsaWduLWl0ZW1zOmJhc2VsaW5lfS5pdGVtcy1jZW50ZXJ7YWxpZ24taXRlbXM6IGNlbnRlcn0uaXRlbXMtc3RhcnR7YWxpZ24taXRlbXM6IGZsZXgtc3RhcnR9Lml0ZW1zLXN0cmV0Y2h7YWxpZ24taXRlbXM6c3RyZXRjaH0uanVzdGlmeS1iZXR3ZWVue2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS5qdXN0aWZ5LWNlbnRlcntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5qdXN0aWZ5LWVuZHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9Lmp1c3RpZnktc3RhcnR7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9LmdhcC0we2dhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5nYXAtMFwuNXtnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9LmdhcC0xe2dhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5nYXAtMVwuNXtnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxLjUpfS5nYXAtMntnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0uZ2FwLTJcLjV7Z2FwOmNhbGModmFyKC0tc3BhY2luZykqMi41KX0uZ2FwLTN7Z2FwOmNhbGModmFyKC0tc3BhY2luZykqMyl9LmdhcC01e2dhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjUpfS5nYXAtXFs1cHhcXXtnYXA6NXB4fS5nYXAtcHh7Z2FwOjFweH0uZ2FwLXgtM3tjb2x1bW4tZ2FwOmNhbGModmFyKC0tc3BhY2luZykqMyl9LmdhcC15LTBcLjV7cm93LWdhcDpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0uc2VsZi1jZW50ZXJ7YWxpZ24tc2VsZjogY2VudGVyfS5qdXN0aWZ5LXNlbGYtZW5ke2p1c3RpZnktc2VsZjpmbGV4LWVuZH0udHJ1bmNhdGV7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5vdmVyZmxvdy1oaWRkZW57b3ZlcmZsb3c6aGlkZGVufS5vdmVyZmxvdy15LWF1dG97b3ZlcmZsb3cteTphdXRvfS5vdmVyZmxvdy15LWhpZGRlbntvdmVyZmxvdy15OmhpZGRlbn0ucm91bmRlZHtib3JkZXItcmFkaXVzOi4yNXJlbX0ucm91bmRlZC1cWzJweFxde2JvcmRlci1yYWRpdXM6MnB4fS5yb3VuZGVkLVxbM3B4XF17Ym9yZGVyLXJhZGl1czozcHh9LnJvdW5kZWQtXFs0cHhcXXtib3JkZXItcmFkaXVzOjRweH0ucm91bmRlZC1cWzVweFxde2JvcmRlci1yYWRpdXM6NXB4fS5yb3VuZGVkLVxbN3B4XF17Ym9yZGVyLXJhZGl1czo3cHh9LnJvdW5kZWQtXFs4cHhcXXtib3JkZXItcmFkaXVzOjhweH0ucm91bmRlZC1cWzlweFxde2JvcmRlci1yYWRpdXM6OXB4fS5yb3VuZGVkLVxbMTBweFxde2JvcmRlci1yYWRpdXM6MTBweH0ucm91bmRlZC1cWzE0cHhcXXtib3JkZXItcmFkaXVzOjE0cHh9LnJvdW5kZWQtZnVsbHtib3JkZXItcmFkaXVzOjMuNDAyODJlMzhweH0ucm91bmRlZC1sZ3tib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1sZyl9LnJvdW5kZWQtbWR7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWQpfS5yb3VuZGVkLW5vbmV7Ym9yZGVyLXJhZGl1czowfS5yb3VuZGVkLXhse2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXhsKX0ucm91bmRlZC14c3tib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy14cyl9LnJvdW5kZWQtdC1cWzEwcHhcXXtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjEwcHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MTBweH0uYm9yZGVye2JvcmRlci1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci13aWR0aDoxcHh9LmJvcmRlci0we2JvcmRlci1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci13aWR0aDowfS5ib3JkZXItMntib3JkZXItc3R5bGU6dmFyKC0tdHctYm9yZGVyLXN0eWxlKTtib3JkZXItd2lkdGg6MnB4fS5ib3JkZXItdHtib3JkZXItdG9wLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXRvcC13aWR0aDoxcHh9LmJvcmRlci1ye2JvcmRlci1yaWdodC1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci1yaWdodC13aWR0aDoxcHh9LmJvcmRlci1ie2JvcmRlci1ib3R0b20tc3R5bGU6dmFyKC0tdHctYm9yZGVyLXN0eWxlKTtib3JkZXItYm90dG9tLXdpZHRoOjFweH0uYm9yZGVyLWRhc2hlZHstLXR3LWJvcmRlci1zdHlsZTpkYXNoZWQ7Ym9yZGVyLXN0eWxlOmRhc2hlZH0uYm9yZGVyLW5vbmV7LS10dy1ib3JkZXItc3R5bGU6bm9uZTtib3JkZXItc3R5bGU6bm9uZX0uXCFib3JkZXItXFtyZ2JhXCgxMFwsMTMyXCwyNTVcLDBcLjZcKVxde2JvcmRlci1jb2xvcjojMGE4NGZmOTkhaW1wb3J0YW50fS5ib3JkZXItXFtcIzNiNWY5OVxde2JvcmRlci1jb2xvcjojM2I1Zjk5fS5ib3JkZXItXFtcIzVmNjI2OFxde2JvcmRlci1jb2xvcjojNWY2MjY4fS5ib3JkZXItXFtcIzIyMlxde2JvcmRlci1jb2xvcjojMjIyfS5ib3JkZXItXFtcI2ZmNDUzYVxdXC81MHtib3JkZXItY29sb3I6I2ZmNDUzYTgwO2JvcmRlci1jb2xvcjpjb2xvcihkaXNwbGF5LXAzIC45MjI2NzMgLjMzMzEzNCAuMjcxNTEvLjUpO2JvcmRlci1jb2xvcjpsYWIoNTguNzYyOCUgNjkuODQ2NyA1MC4zODg2Ly41KX0uYm9yZGVyLWFjY2VudHtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItYWNjZW50KX0uYm9yZGVyLWRhbmdlclwvMjB7Ym9yZGVyLWNvbG9yOiNmODcxNzEzM31Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ib3JkZXItZGFuZ2VyXC8yMHtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLWRhbmdlcikyMCUsdHJhbnNwYXJlbnQpfX0uYm9yZGVyLWRhbmdlclwvMzB7Ym9yZGVyLWNvbG9yOiNmODcxNzE0ZH1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ib3JkZXItZGFuZ2VyXC8zMHtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLWRhbmdlcikzMCUsdHJhbnNwYXJlbnQpfX0uYm9yZGVyLXdhcm5pbmdcLzI1e2JvcmRlci1jb2xvcjojZmJiZjI0NDB9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYm9yZGVyLXdhcm5pbmdcLzI1e2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2FybmluZykyNSUsdHJhbnNwYXJlbnQpfX0uYm9yZGVyLXdoaXRle2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci13aGl0ZSl9LmJvcmRlci13aGl0ZVwvOHtib3JkZXItY29sb3I6I2ZmZmZmZjE0fUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJvcmRlci13aGl0ZVwvOHtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTglLHRyYW5zcGFyZW50KX19LmJvcmRlci13aGl0ZVwvMTB7Ym9yZGVyLWNvbG9yOiNmZmZmZmYxYX1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ib3JkZXItd2hpdGVcLzEwe2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpMTAlLHRyYW5zcGFyZW50KX19LmJvcmRlci13aGl0ZVwvMTJ7Ym9yZGVyLWNvbG9yOiNmZmZmZmYxZn1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ib3JkZXItd2hpdGVcLzEye2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpMTIlLHRyYW5zcGFyZW50KX19LmJvcmRlci13aGl0ZVwvMjB7Ym9yZGVyLWNvbG9yOiNmZmYzfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJvcmRlci13aGl0ZVwvMjB7Ym9yZGVyLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkyMCUsdHJhbnNwYXJlbnQpfX0uYm9yZGVyLXdoaXRlXC8yNXtib3JkZXItY29sb3I6I2ZmZmZmZjQwfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJvcmRlci13aGl0ZVwvMjV7Ym9yZGVyLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkyNSUsdHJhbnNwYXJlbnQpfX0uYm9yZGVyLXdoaXRlXC8zMHtib3JkZXItY29sb3I6I2ZmZmZmZjRkfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJvcmRlci13aGl0ZVwvMzB7Ym9yZGVyLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkzMCUsdHJhbnNwYXJlbnQpfX0uYm9yZGVyLXdoaXRlXC9cWzBcLjA2XF17Ym9yZGVyLWNvbG9yOiNmZmZmZmYwZn1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ib3JkZXItd2hpdGVcL1xbMFwuMDZcXXtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTYlLHRyYW5zcGFyZW50KX19LmJvcmRlci10LVxbXCNmNGY0ZjVcXXtib3JkZXItdG9wLWNvbG9yOiNmNGY0ZjV9LmJvcmRlci10LXdoaXRle2JvcmRlci10b3AtY29sb3I6dmFyKC0tY29sb3Itd2hpdGUpfS5ib3JkZXItdC13aGl0ZVwvNjB7Ym9yZGVyLXRvcC1jb2xvcjojZmZmOX1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ib3JkZXItdC13aGl0ZVwvNjB7Ym9yZGVyLXRvcC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNjAlLHRyYW5zcGFyZW50KX19LlwhYmctXFtyZ2JhXCgxMFwsMTMyXCwyNTVcLDBcLjA4XClcXXtiYWNrZ3JvdW5kLWNvbG9yOiMwYTg0ZmYxNCFpbXBvcnRhbnR9LlwhYmctd2hpdGVcL1xbMFwuMTJcXXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYxZiFpbXBvcnRhbnR9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuXCFiZy13aGl0ZVwvXFswXC4xMlxde2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTEyJSx0cmFuc3BhcmVudCkhaW1wb3J0YW50fX0uYmctXFtcIzBhMGEwY1xde2JhY2tncm91bmQtY29sb3I6IzBhMGEwY30uYmctXFtcIzBhODRmZlxde2JhY2tncm91bmQtY29sb3I6IzBhODRmZn0uYmctXFtcIzFjMWMxY1xde2JhY2tncm91bmQtY29sb3I6IzFjMWMxY30uYmctXFtcIzZlNmU3Mlxde2JhY2tncm91bmQtY29sb3I6IzZlNmU3Mn0uYmctXFtcIzlhOWE5ZVxde2JhY2tncm91bmQtY29sb3I6IzlhOWE5ZX0uYmctXFtcIzIwMmIzYVxde2JhY2tncm91bmQtY29sb3I6IzIwMmIzYX0uYmctXFtcIzIyMlxde2JhY2tncm91bmQtY29sb3I6IzIyMn0uYmctXFtcIzI2MzY0Y1xde2JhY2tncm91bmQtY29sb3I6IzI2MzY0Y30uYmctXFtcIzEwMTAxMFxde2JhY2tncm91bmQtY29sb3I6IzEwMTAxMH0uYmctXFtcI2Y4NzE3MVxde2JhY2tncm91bmQtY29sb3I6I2Y4NzE3MX0uYmctXFtcI2ZmNDUzYVxdXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOiNmZjQ1M2ExYTtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yKGRpc3BsYXktcDMgLjkyMjY3MyAuMzMzMTM0IC4yNzE1MS8uMSk7YmFja2dyb3VuZC1jb2xvcjpsYWIoNTguNzYyOCUgNjkuODQ2NyA1MC4zODg2Ly4xKX0uYmctXFtyZ2JhXCgxMFwsMTMyXCwyNTVcLDBcLjIyXClcXXtiYWNrZ3JvdW5kLWNvbG9yOiMwYTg0ZmYzOH0uYmctXFtyZ2JhXCg5OVwsMTAyXCwyNDFcLDBcLjE4XClcXXtiYWNrZ3JvdW5kLWNvbG9yOiM2MzY2ZjEyZX0uYmctYWNjZW50e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYWNjZW50KX0uYmctYmxhY2t7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1ibGFjayl9LmJnLWJsYWNrXC85MHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwMDBlNn1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy1ibGFja1wvOTB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3ItYmxhY2spOTAlLHRyYW5zcGFyZW50KX19LmJnLWRhbmdlci1zb2Z0e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItZGFuZ2VyLXNvZnQpfS5iZy1kYW5nZXJcLzEwe2JhY2tncm91bmQtY29sb3I6I2Y4NzE3MTFhfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLWRhbmdlclwvMTB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3ItZGFuZ2VyKTEwJSx0cmFuc3BhcmVudCl9fS5iZy1wYWdle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcGFnZSl9LmJnLXBhbmVse2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcGFuZWwpfS5iZy1wYW5lbC1iZ3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXBhbmVsLWJnKX0uYmctcGFuZWwtYmctdHJhbnNsdWNlbnR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wYW5lbC1iZy10cmFuc2x1Y2VudCl9LmJnLXBhbmVsLWRlZXB7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wYW5lbC1kZWVwKX0uYmctcGFuZWwtb3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXBhbmVsLW92ZXJsYXkpfS5iZy1zdWNjZXNzLWVtZXJhbGR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1zdWNjZXNzLWVtZXJhbGQpfS5iZy10cmFuc3BhcmVudHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5iZy13YXJuaW5nXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOiNmYmJmMjQxYX1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy13YXJuaW5nXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13YXJuaW5nKTEwJSx0cmFuc3BhcmVudCl9fS5iZy13aGl0ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXdoaXRlKX0uYmctd2hpdGVcLzZ7YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMGZ9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctd2hpdGVcLzZ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNiUsdHJhbnNwYXJlbnQpfX0uYmctd2hpdGVcLzh7YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMTR9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctd2hpdGVcLzh7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpOCUsdHJhbnNwYXJlbnQpfX0uYmctd2hpdGVcLzEwe2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjFhfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXdoaXRlXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkxMCUsdHJhbnNwYXJlbnQpfX0uYmctd2hpdGVcLzEye2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjFmfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXdoaXRlXC8xMntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkxMiUsdHJhbnNwYXJlbnQpfX0uYmctd2hpdGVcLzE1e2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjI2fUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXdoaXRlXC8xNXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkxNSUsdHJhbnNwYXJlbnQpfX0uYmctd2hpdGVcLzIwe2JhY2tncm91bmQtY29sb3I6I2ZmZjN9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctd2hpdGVcLzIwe2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTIwJSx0cmFuc3BhcmVudCl9fS5iZy13aGl0ZVwvNDB7YmFja2dyb3VuZC1jb2xvcjojZmZmNn1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy13aGl0ZVwvNDB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNDAlLHRyYW5zcGFyZW50KX19LmJnLXdoaXRlXC81MHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY4MH1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy13aGl0ZVwvNTB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNTAlLHRyYW5zcGFyZW50KX19LmJnLXdoaXRlXC9cWzBcLjAzXF17YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMDh9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctd2hpdGVcL1xbMFwuMDNcXXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkzJSx0cmFuc3BhcmVudCl9fS5iZy13aGl0ZVwvXFswXC4wNFxde2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjBhfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXdoaXRlXC9cWzBcLjA0XF17YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNCUsdHJhbnNwYXJlbnQpfX0uYmctd2hpdGVcL1xbMFwuMDZcXXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwZn1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy13aGl0ZVwvXFswXC4wNlxde2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTYlLHRyYW5zcGFyZW50KX19LmJnLXdoaXRlXC9cWzBcLjA4XF17YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMTR9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctd2hpdGVcL1xbMFwuMDhcXXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk4JSx0cmFuc3BhcmVudCl9fS5iZy13aGl0ZVwvXFswXC4xMlxde2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjFmfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXdoaXRlXC9cWzBcLjEyXF17YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpMTIlLHRyYW5zcGFyZW50KX19LmJnLXdoaXRlXC9cWzBcLjE2XF17YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMjl9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctd2hpdGVcL1xbMFwuMTZcXXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkxNiUsdHJhbnNwYXJlbnQpfX0uYmctXFtsaW5lYXItZ3JhZGllbnRcKDE0NWRlZ1wsXCMyNTNhNWZcLFwjMTYyMTMyXClcXXtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxNDVkZWcsIzI1M2E1ZiwjMTYyMTMyKX0uYmctXFtsaW5lYXItZ3JhZGllbnRcKHRvX2JvdHRvbVwsXCMxYzFjMWVfMFwlXCxyZ2JhXCgyOFwsMjhcLDMwXCwwXClfMTAwXCVcKVxde2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KCMxYzFjMWUgMCUsIzFjMWMxZTAwIDEwMCUpfS5iZy1cW2xpbmVhci1ncmFkaWVudFwodG9fcmlnaHRcLHJnYmFcKDI4XCwyOFwsMzBcLDBcKV8wXCVcLFwjMWMxYzFlXzU1XCVcKVxde2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDkwZGVnLCMxYzFjMWUwMCAwJSwjMWMxYzFlIDU1JSl9LmJnLVxbbGluZWFyLWdyYWRpZW50XCh0b190b3BcLFwjMWMxYzFlXzBcJVwscmdiYVwoMjhcLDI4XCwzMFwsMFwpXzEwMFwlXClcXXtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgjMWMxYzFlMDAgMCUsIzFjMWMxZSAxMDAlKX0ub2JqZWN0LWNvbnRhaW57b2JqZWN0LWZpdDpjb250YWlufS5vYmplY3QtY292ZXJ7b2JqZWN0LWZpdDpjb3Zlcn0ucC0we3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0ucC0wXC41e3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9LnAtMXtwYWRkaW5nOmNhbGModmFyKC0tc3BhY2luZykqMSl9LnAtM1wuNXtwYWRkaW5nOmNhbGModmFyKC0tc3BhY2luZykqMy41KX0ucC02e3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0ucHgtMFwuNXtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0ucHgtMXtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5weC0xXC41e3BhZGRpbmctaW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqMS41KX0ucHgtMntwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5weC0yXC41e3BhZGRpbmctaW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqMi41KX0ucHgtM3twYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5weC0zXC41e3BhZGRpbmctaW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqMy41KX0ucHgtNHtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5weC01e3BhZGRpbmctaW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqNSl9LnB4LVxbNVwuNXB4XF17cGFkZGluZy1pbmxpbmUtc3RhcnQ6NS41cHg7cGFkZGluZy1pbmxpbmUtZW5kOjUuNXB4fS5weC1cWzdweFxde3BhZGRpbmctaW5saW5lLXN0YXJ0OjdweDtwYWRkaW5nLWlubGluZS1lbmQ6N3B4fS5weS0wXC41e3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9LnB5LTF7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5weS0xXC41e3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxLjUpfS5weS0ye3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ucHktMlwuNXtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqMi41KX0ucHktNHtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqNCl9LnB5LTZ7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5weS1cWzJweFxde3BhZGRpbmctYmxvY2stc3RhcnQ6MnB4O3BhZGRpbmctYmxvY2stZW5kOjJweH0ucHktXFszcHhcXXtwYWRkaW5nLWJsb2NrLXN0YXJ0OjNweDtwYWRkaW5nLWJsb2NrLWVuZDozcHh9LnB5LVxbNXB4XF17cGFkZGluZy1ibG9jay1zdGFydDo1cHg7cGFkZGluZy1ibG9jay1lbmQ6NXB4fS5weS1cWzdweFxde3BhZGRpbmctYmxvY2stc3RhcnQ6N3B4O3BhZGRpbmctYmxvY2stZW5kOjdweH0ucHQtMFwuNXtwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0ucHQtMXtwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5wdC0xXC41e3BhZGRpbmctdG9wOmNhbGModmFyKC0tc3BhY2luZykqMS41KX0ucHQtMlwuNXtwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjIuNSl9LnB0LTE2e3BhZGRpbmctdG9wOmNhbGModmFyKC0tc3BhY2luZykqMTYpfS5wci0ye3BhZGRpbmctcmlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ucHItM1wuNXtwYWRkaW5nLXJpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMy41KX0ucHItXFsyNnB4XF17cGFkZGluZy1yaWdodDoyNnB4fS5wYi0wXC41e3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqLjUpfS5wYi0xe3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMSl9LnBiLTFcLjV7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSoxLjUpfS5wYi0ye3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMil9LnBiLTZ7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0ucGItXFsycHhcXXtwYWRkaW5nLWJvdHRvbToycHh9LnBsLTJ7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMil9LnBsLTJcLjV7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMi41KX0ucGwtM3twYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0ucGwtN3twYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo3KX0ucGwtXFsyNnB4XF17cGFkZGluZy1sZWZ0OjI2cHh9LnRleHQtY2VudGVye3RleHQtYWxpZ246Y2VudGVyfS50ZXh0LWxlZnR7dGV4dC1hbGlnbjpsZWZ0fS50ZXh0LXJpZ2h0e3RleHQtYWxpZ246cmlnaHR9LlxbZm9udC1mYW1pbHlcOi1hcHBsZS1zeXN0ZW1cLHN5c3RlbS11aVwsc2Fucy1zZXJpZlxde2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sc3lzdGVtLXVpLEJsaW5rTWFjU3lzdGVtRm9udCxTZWdvZSBVSSxSb2JvdG8sTm90byBTYW5zLFVidW50dSxDYW50YXJlbGwsSGVsdmV0aWNhIE5ldWUsc2Fucy1zZXJpZn0uZm9udC1cW2luaGVyaXRcXXtmb250LWZhbWlseTppbmhlcml0fS5mb250LW1vbm97Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKX0uZm9udC1zeXN0ZW17Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1zeXN0ZW0pfS50ZXh0LVxbOXB4XF17Zm9udC1zaXplOjlweH0udGV4dC1cWzEwcHhcXXtmb250LXNpemU6MTBweH0udGV4dC1cWzExXC41cHhcXXtmb250LXNpemU6MTEuNXB4fS50ZXh0LVxbMTFweFxde2ZvbnQtc2l6ZToxMXB4fS50ZXh0LVxbMTJweFxde2ZvbnQtc2l6ZToxMnB4fS50ZXh0LVxbMTNweFxde2ZvbnQtc2l6ZToxM3B4fS50ZXh0LVxbMTRweFxde2ZvbnQtc2l6ZToxNHB4fS50ZXh0LVxbMTdweFxde2ZvbnQtc2l6ZToxN3B4fS50ZXh0LVxbMThweFxde2ZvbnQtc2l6ZToxOHB4fS5sZWFkaW5nLVxbMVwuNVxdey0tdHctbGVhZGluZzoxLjU7bGluZS1oZWlnaHQ6MS41fS5sZWFkaW5nLVxbMVwuMzVcXXstLXR3LWxlYWRpbmc6MS4zNTtsaW5lLWhlaWdodDoxLjM1fS5sZWFkaW5nLW5vbmV7LS10dy1sZWFkaW5nOjE7bGluZS1oZWlnaHQ6MX0ubGVhZGluZy1zbnVney0tdHctbGVhZGluZzp2YXIoLS1sZWFkaW5nLXNudWcpO2xpbmUtaGVpZ2h0OnZhcigtLWxlYWRpbmctc251Zyl9LmxlYWRpbmctdGlnaHR7LS10dy1sZWFkaW5nOnZhcigtLWxlYWRpbmctdGlnaHQpO2xpbmUtaGVpZ2h0OnZhcigtLWxlYWRpbmctdGlnaHQpfS5mb250LW1lZGl1bXstLXR3LWZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7Zm9udC13ZWlnaHQ6dmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKX0uZm9udC1zZW1pYm9sZHstLXR3LWZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtmb250LXdlaWdodDp2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCl9LnRyYWNraW5nLVxbMFwuMWVtXF17LS10dy10cmFja2luZzouMWVtO2xldHRlci1zcGFjaW5nOi4xZW19LnRyYWNraW5nLVxbMFwuMDJlbVxdey0tdHctdHJhY2tpbmc6LjAyZW07bGV0dGVyLXNwYWNpbmc6LjAyZW19LnRyYWNraW5nLVxbMFwuMDRlbVxdey0tdHctdHJhY2tpbmc6LjA0ZW07bGV0dGVyLXNwYWNpbmc6LjA0ZW19LnRyYWNraW5nLVxbMFwuMDZlbVxdey0tdHctdHJhY2tpbmc6LjA2ZW07bGV0dGVyLXNwYWNpbmc6LjA2ZW19LnRyYWNraW5nLVxbMFwuMDhlbVxdey0tdHctdHJhY2tpbmc6LjA4ZW07bGV0dGVyLXNwYWNpbmc6LjA4ZW19LnRyYWNraW5nLXdpZGV7LS10dy10cmFja2luZzp2YXIoLS10cmFja2luZy13aWRlKTtsZXR0ZXItc3BhY2luZzp2YXIoLS10cmFja2luZy13aWRlKX0uYnJlYWstd29yZHN7b3ZlcmZsb3ctd3JhcDpicmVhay13b3JkfS50ZXh0LWVsbGlwc2lze3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9LndoaXRlc3BhY2Utbm93cmFwe3doaXRlLXNwYWNlOm5vd3JhcH0uXCF0ZXh0LXdoaXRle2NvbG9yOnZhcigtLWNvbG9yLXdoaXRlKSFpbXBvcnRhbnR9LnRleHQtXFtcIzBhMGEwY1xde2NvbG9yOiMwYTBhMGN9LnRleHQtXFtcIzhlOGU5M1xde2NvbG9yOiM4ZThlOTN9LnRleHQtXFtcIzM0ZDM5OVxde2NvbG9yOiMzNGQzOTl9LnRleHQtXFtcIzA2MjAxOFxde2NvbG9yOiMwNjIwMTh9LnRleHQtXFtcI2M4ZDdmZlxde2NvbG9yOiNjOGQ3ZmZ9LnRleHQtXFtcI2QyZTdmZlxde2NvbG9yOiNkMmU3ZmZ9LnRleHQtXFtcI2ZmYjNhZFxde2NvbG9yOiNmZmIzYWR9LnRleHQtYWNjZW50e2NvbG9yOnZhcigtLWNvbG9yLWFjY2VudCl9LnRleHQtYW1iZXItNDAwe2NvbG9yOnZhcigtLWNvbG9yLWFtYmVyLTQwMCl9LnRleHQtY3lhbi00MDB7Y29sb3I6dmFyKC0tY29sb3ItY3lhbi00MDApfS50ZXh0LWRhbmdlcntjb2xvcjp2YXIoLS1jb2xvci1kYW5nZXIpfS50ZXh0LWRhbmdlci1zb2Z0e2NvbG9yOnZhcigtLWNvbG9yLWRhbmdlci1zb2Z0KX0udGV4dC1lbWVyYWxkLTQwMHtjb2xvcjp2YXIoLS1jb2xvci1lbWVyYWxkLTQwMCl9LnRleHQtc2t5LTQwMHtjb2xvcjp2YXIoLS1jb2xvci1za3ktNDAwKX0udGV4dC12aW9sZXQtNDAwe2NvbG9yOnZhcigtLWNvbG9yLXZpb2xldC00MDApfS50ZXh0LXdhcm5pbmd7Y29sb3I6dmFyKC0tY29sb3Itd2FybmluZyl9LnRleHQtd2FybmluZy1zb2Z0e2NvbG9yOnZhcigtLWNvbG9yLXdhcm5pbmctc29mdCl9LnRleHQtd2hpdGV7Y29sb3I6dmFyKC0tY29sb3Itd2hpdGUpfS50ZXh0LXdoaXRlXC8zMHtjb2xvcjojZmZmZmZmNGR9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC13aGl0ZVwvMzB7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTMwJSx0cmFuc3BhcmVudCl9fS50ZXh0LXdoaXRlXC8zNXtjb2xvcjojZmZmZmZmNTl9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC13aGl0ZVwvMzV7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTM1JSx0cmFuc3BhcmVudCl9fS50ZXh0LXdoaXRlXC80MHtjb2xvcjojZmZmNn1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey50ZXh0LXdoaXRlXC80MHtjb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNDAlLHRyYW5zcGFyZW50KX19LnRleHQtd2hpdGVcLzQ1e2NvbG9yOiNmZmZmZmY3M31Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey50ZXh0LXdoaXRlXC80NXtjb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNDUlLHRyYW5zcGFyZW50KX19LnRleHQtd2hpdGVcLzUwe2NvbG9yOiNmZmZmZmY4MH1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey50ZXh0LXdoaXRlXC81MHtjb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNTAlLHRyYW5zcGFyZW50KX19LnRleHQtd2hpdGVcLzU1e2NvbG9yOiNmZmZmZmY4Y31Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey50ZXh0LXdoaXRlXC81NXtjb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNTUlLHRyYW5zcGFyZW50KX19LnRleHQtd2hpdGVcLzYwe2NvbG9yOiNmZmY5fUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnRleHQtd2hpdGVcLzYwe2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk2MCUsdHJhbnNwYXJlbnQpfX0udGV4dC13aGl0ZVwvNjV7Y29sb3I6I2ZmZmZmZmE2fUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnRleHQtd2hpdGVcLzY1e2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk2NSUsdHJhbnNwYXJlbnQpfX0udGV4dC13aGl0ZVwvNzB7Y29sb3I6I2ZmZmZmZmIzfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnRleHQtd2hpdGVcLzcwe2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk3MCUsdHJhbnNwYXJlbnQpfX0udGV4dC13aGl0ZVwvNzV7Y29sb3I6I2ZmZmZmZmJmfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnRleHQtd2hpdGVcLzc1e2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk3NSUsdHJhbnNwYXJlbnQpfX0udGV4dC13aGl0ZVwvODB7Y29sb3I6I2ZmZmN9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC13aGl0ZVwvODB7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTgwJSx0cmFuc3BhcmVudCl9fS50ZXh0LXdoaXRlXC84NXtjb2xvcjojZmZmZmZmZDl9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC13aGl0ZVwvODV7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTg1JSx0cmFuc3BhcmVudCl9fS50ZXh0LXdoaXRlXC85MHtjb2xvcjojZmZmZmZmZTZ9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC13aGl0ZVwvOTB7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTkwJSx0cmFuc3BhcmVudCl9fS50ZXh0LXdoaXRlXC85NXtjb2xvcjojZmZmZmZmZjJ9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC13aGl0ZVwvOTV7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTk1JSx0cmFuc3BhcmVudCl9fS50ZXh0LXdoaXRlXC9cWzBcLjQyXF17Y29sb3I6I2ZmZmZmZjZifUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnRleHQtd2hpdGVcL1xbMFwuNDJcXXtjb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNDIlLHRyYW5zcGFyZW50KX19LnRleHQtd2hpdGVcL1xbMFwuNDhcXXtjb2xvcjojZmZmZmZmN2F9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC13aGl0ZVwvXFswXC40OFxde2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk0OCUsdHJhbnNwYXJlbnQpfX0udGV4dC13aGl0ZVwvXFswXC41OFxde2NvbG9yOiNmZmZmZmY5NH1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey50ZXh0LXdoaXRlXC9cWzBcLjU4XF17Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTU4LjAlLHRyYW5zcGFyZW50KX19LnRleHQtd2hpdGVcL1xbMFwuOTJcXXtjb2xvcjojZmZmZmZmZWJ9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC13aGl0ZVwvXFswXC45Mlxde2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk5MiUsdHJhbnNwYXJlbnQpfX0ubG93ZXJjYXNle3RleHQtdHJhbnNmb3JtOmxvd2VyY2FzZX0udXBwZXJjYXNle3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0uaXRhbGlje2ZvbnQtc3R5bGU6aXRhbGljfS50YWJ1bGFyLW51bXN7LS10dy1udW1lcmljLXNwYWNpbmc6dGFidWxhci1udW1zO2ZvbnQtdmFyaWFudC1udW1lcmljOnZhcigtLXR3LW9yZGluYWwsKXZhcigtLXR3LXNsYXNoZWQtemVybywpdmFyKC0tdHctbnVtZXJpYy1maWd1cmUsKXZhcigtLXR3LW51bWVyaWMtc3BhY2luZywpdmFyKC0tdHctbnVtZXJpYy1mcmFjdGlvbiwpfS5cW2ZvbnQtdmFyaWFudC1udW1lcmljXDp0YWJ1bGFyLW51bXNcXXtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXN9Lm5vLXVuZGVybGluZXt0ZXh0LWRlY29yYXRpb24tbGluZTpub25lfS5hbnRpYWxpYXNlZHstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZX0ub3BhY2l0eS0we29wYWNpdHk6MH0ub3BhY2l0eS00MHtvcGFjaXR5Oi40fS5vcGFjaXR5LTUwe29wYWNpdHk6LjV9Lm9wYWNpdHktNjB7b3BhY2l0eTouNn0ub3BhY2l0eS0xMDB7b3BhY2l0eToxfS5zaGFkb3d7LS10dy1zaGFkb3c6MCAxcHggM3B4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSksMCAxcHggMnB4IC0xcHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSk7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfS5zaGFkb3ctXFswXzFweF8ycHhfcmdiYVwoMFwsMFwsMFwsMFwuMThcKVwsMF82cHhfMThweF9yZ2JhXCgwXCwwXCwwXCwwXC4yOFwpXCxpbnNldF8wXzBfMF8xcHhfcmdiYVwoMjU1XCwyNTVcLDI1NVwsMFwuMDZcKVxdey0tdHctc2hhZG93OjAgMXB4IDJweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDJlKSwwIDZweCAxOHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwNDcpLGluc2V0IDAgMCAwIDFweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsI2ZmZmZmZjBmKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnNoYWRvdy1cWzBfOHB4XzI0cHhfcmdiYVwoMFwsMFwsMFwsMFwuNFwpXF17LS10dy1zaGFkb3c6MCA4cHggMjRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDYpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uc2hhZG93LVxbMF84cHhfMjRweF9yZ2JhXCgwXCwwXCwwXCwwXC41XClcXXstLXR3LXNoYWRvdzowIDhweCAyNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwODApO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uc2hhZG93LVxbMF84cHhfMjRweF9yZ2JhXCgwXCwwXCwwXCwwXC40NVwpXF17LS10dy1zaGFkb3c6MCA4cHggMjRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDczKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnNoYWRvdy1cWzBfMTJweF80MHB4X3JnYmFcKDBcLDBcLDBcLDBcLjU1XClcXXstLXR3LXNoYWRvdzowIDEycHggNDBweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDhjKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnNoYWRvdy1cWzhweF8wXzMycHhfcmdiYVwoMFwsMFwsMFwsMFwuMzVcKVxdey0tdHctc2hhZG93OjhweCAwIDMycHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDA1OSk7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfS5zaGFkb3ctbGd7LS10dy1zaGFkb3c6MCAxMHB4IDE1cHggLTNweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKSwwIDRweCA2cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnJpbmcsLnJpbmctMXstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMXB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnJpbmctMnstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMnB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LlxbYm94LXNoYWRvd1w6MF8wXzZweF9yZ2JhXCg3NFwsMjIyXCwxMjhcLDBcLjdcKVxde2JveC1zaGFkb3c6MCAwIDZweCAjNGFkZTgwYjN9LlxbYm94LXNoYWRvd1w6MF8wXzZweF9yZ2JhXCgyNDhcLDExM1wsMTEzXCwwXC41NVwpXF17Ym94LXNoYWRvdzowIDAgNnB4ICNmODcxNzE4Y30ucmluZy1cW1wjMWMxYzFlXF17LS10dy1yaW5nLWNvbG9yOiMxYzFjMWV9LnJpbmctd2hpdGVcLzEwey0tdHctcmluZy1jb2xvcjojZmZmZmZmMWF9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsucmluZy13aGl0ZVwvMTB7LS10dy1yaW5nLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkxMCUsdHJhbnNwYXJlbnQpfX0ub3V0bGluZXtvdXRsaW5lLXN0eWxlOnZhcigtLXR3LW91dGxpbmUtc3R5bGUpO291dGxpbmUtd2lkdGg6MXB4fS5ibHVyey0tdHctYmx1cjpibHVyKDhweCk7ZmlsdGVyOnZhcigtLXR3LWJsdXIsKXZhcigtLXR3LWJyaWdodG5lc3MsKXZhcigtLXR3LWNvbnRyYXN0LCl2YXIoLS10dy1ncmF5c2NhbGUsKXZhcigtLXR3LWh1ZS1yb3RhdGUsKXZhcigtLXR3LWludmVydCwpdmFyKC0tdHctc2F0dXJhdGUsKXZhcigtLXR3LXNlcGlhLCl2YXIoLS10dy1kcm9wLXNoYWRvdywpfS5ncmF5c2NhbGV7LS10dy1ncmF5c2NhbGU6Z3JheXNjYWxlKDEwMCUpO2ZpbHRlcjp2YXIoLS10dy1ibHVyLCl2YXIoLS10dy1icmlnaHRuZXNzLCl2YXIoLS10dy1jb250cmFzdCwpdmFyKC0tdHctZ3JheXNjYWxlLCl2YXIoLS10dy1odWUtcm90YXRlLCl2YXIoLS10dy1pbnZlcnQsKXZhcigtLXR3LXNhdHVyYXRlLCl2YXIoLS10dy1zZXBpYSwpdmFyKC0tdHctZHJvcC1zaGFkb3csKX0uZmlsdGVye2ZpbHRlcjp2YXIoLS10dy1ibHVyLCl2YXIoLS10dy1icmlnaHRuZXNzLCl2YXIoLS10dy1jb250cmFzdCwpdmFyKC0tdHctZ3JheXNjYWxlLCl2YXIoLS10dy1odWUtcm90YXRlLCl2YXIoLS10dy1pbnZlcnQsKXZhcigtLXR3LXNhdHVyYXRlLCl2YXIoLS10dy1zZXBpYSwpdmFyKC0tdHctZHJvcC1zaGFkb3csKX0uYmFja2Ryb3AtYmx1cnstLXR3LWJhY2tkcm9wLWJsdXI6Ymx1cig4cHgpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXR3LWJhY2tkcm9wLWJsdXIsKXZhcigtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3MsKXZhcigtLXR3LWJhY2tkcm9wLWNvbnRyYXN0LCl2YXIoLS10dy1iYWNrZHJvcC1ncmF5c2NhbGUsKXZhcigtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGUsKXZhcigtLXR3LWJhY2tkcm9wLWludmVydCwpdmFyKC0tdHctYmFja2Ryb3Atb3BhY2l0eSwpdmFyKC0tdHctYmFja2Ryb3Atc2F0dXJhdGUsKXZhcigtLXR3LWJhY2tkcm9wLXNlcGlhLCk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXR3LWJhY2tkcm9wLWJsdXIsKXZhcigtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3MsKXZhcigtLXR3LWJhY2tkcm9wLWNvbnRyYXN0LCl2YXIoLS10dy1iYWNrZHJvcC1ncmF5c2NhbGUsKXZhcigtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGUsKXZhcigtLXR3LWJhY2tkcm9wLWludmVydCwpdmFyKC0tdHctYmFja2Ryb3Atb3BhY2l0eSwpdmFyKC0tdHctYmFja2Ryb3Atc2F0dXJhdGUsKXZhcigtLXR3LWJhY2tkcm9wLXNlcGlhLCl9LmJhY2tkcm9wLWJsdXItXFsxMnB4XF17LS10dy1iYWNrZHJvcC1ibHVyOmJsdXIoMTJweCk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0tdHctYmFja2Ryb3AtYmx1ciwpdmFyKC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzcywpdmFyKC0tdHctYmFja2Ryb3AtY29udHJhc3QsKXZhcigtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZSwpdmFyKC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZSwpdmFyKC0tdHctYmFja2Ryb3AtaW52ZXJ0LCl2YXIoLS10dy1iYWNrZHJvcC1vcGFjaXR5LCl2YXIoLS10dy1iYWNrZHJvcC1zYXR1cmF0ZSwpdmFyKC0tdHctYmFja2Ryb3Atc2VwaWEsKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0tdHctYmFja2Ryb3AtYmx1ciwpdmFyKC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzcywpdmFyKC0tdHctYmFja2Ryb3AtY29udHJhc3QsKXZhcigtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZSwpdmFyKC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZSwpdmFyKC0tdHctYmFja2Ryb3AtaW52ZXJ0LCl2YXIoLS10dy1iYWNrZHJvcC1vcGFjaXR5LCl2YXIoLS10dy1iYWNrZHJvcC1zYXR1cmF0ZSwpdmFyKC0tdHctYmFja2Ryb3Atc2VwaWEsKX0uYmFja2Ryb3AtYmx1ci1cWzE4cHhcXXstLXR3LWJhY2tkcm9wLWJsdXI6Ymx1cigxOHB4KTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS10dy1iYWNrZHJvcC1ibHVyLCl2YXIoLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzLCl2YXIoLS10dy1iYWNrZHJvcC1jb250cmFzdCwpdmFyKC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlLCl2YXIoLS10dy1iYWNrZHJvcC1odWUtcm90YXRlLCl2YXIoLS10dy1iYWNrZHJvcC1pbnZlcnQsKXZhcigtLXR3LWJhY2tkcm9wLW9wYWNpdHksKXZhcigtLXR3LWJhY2tkcm9wLXNhdHVyYXRlLCl2YXIoLS10dy1iYWNrZHJvcC1zZXBpYSwpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS10dy1iYWNrZHJvcC1ibHVyLCl2YXIoLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzLCl2YXIoLS10dy1iYWNrZHJvcC1jb250cmFzdCwpdmFyKC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlLCl2YXIoLS10dy1iYWNrZHJvcC1odWUtcm90YXRlLCl2YXIoLS10dy1iYWNrZHJvcC1pbnZlcnQsKXZhcigtLXR3LWJhY2tkcm9wLW9wYWNpdHksKXZhcigtLXR3LWJhY2tkcm9wLXNhdHVyYXRlLCl2YXIoLS10dy1iYWNrZHJvcC1zZXBpYSwpfS5iYWNrZHJvcC1ibHVyLW1key0tdHctYmFja2Ryb3AtYmx1cjpibHVyKHZhcigtLWJsdXItbWQpKTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS10dy1iYWNrZHJvcC1ibHVyLCl2YXIoLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzLCl2YXIoLS10dy1iYWNrZHJvcC1jb250cmFzdCwpdmFyKC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlLCl2YXIoLS10dy1iYWNrZHJvcC1odWUtcm90YXRlLCl2YXIoLS10dy1iYWNrZHJvcC1pbnZlcnQsKXZhcigtLXR3LWJhY2tkcm9wLW9wYWNpdHksKXZhcigtLXR3LWJhY2tkcm9wLXNhdHVyYXRlLCl2YXIoLS10dy1iYWNrZHJvcC1zZXBpYSwpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS10dy1iYWNrZHJvcC1ibHVyLCl2YXIoLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzLCl2YXIoLS10dy1iYWNrZHJvcC1jb250cmFzdCwpdmFyKC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlLCl2YXIoLS10dy1iYWNrZHJvcC1odWUtcm90YXRlLCl2YXIoLS10dy1iYWNrZHJvcC1pbnZlcnQsKXZhcigtLXR3LWJhY2tkcm9wLW9wYWNpdHksKXZhcigtLXR3LWJhY2tkcm9wLXNhdHVyYXRlLCl2YXIoLS10dy1iYWNrZHJvcC1zZXBpYSwpfS5iYWNrZHJvcC1zYXR1cmF0ZS0xNTB7LS10dy1iYWNrZHJvcC1zYXR1cmF0ZTpzYXR1cmF0ZSgxNTAlKTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS10dy1iYWNrZHJvcC1ibHVyLCl2YXIoLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzLCl2YXIoLS10dy1iYWNrZHJvcC1jb250cmFzdCwpdmFyKC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlLCl2YXIoLS10dy1iYWNrZHJvcC1odWUtcm90YXRlLCl2YXIoLS10dy1iYWNrZHJvcC1pbnZlcnQsKXZhcigtLXR3LWJhY2tkcm9wLW9wYWNpdHksKXZhcigtLXR3LWJhY2tkcm9wLXNhdHVyYXRlLCl2YXIoLS10dy1iYWNrZHJvcC1zZXBpYSwpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS10dy1iYWNrZHJvcC1ibHVyLCl2YXIoLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzLCl2YXIoLS10dy1iYWNrZHJvcC1jb250cmFzdCwpdmFyKC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlLCl2YXIoLS10dy1iYWNrZHJvcC1odWUtcm90YXRlLCl2YXIoLS10dy1iYWNrZHJvcC1pbnZlcnQsKXZhcigtLXR3LWJhY2tkcm9wLW9wYWNpdHksKXZhcigtLXR3LWJhY2tkcm9wLXNhdHVyYXRlLCl2YXIoLS10dy1iYWNrZHJvcC1zZXBpYSwpfS5iYWNrZHJvcC1maWx0ZXJ7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0tdHctYmFja2Ryb3AtYmx1ciwpdmFyKC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzcywpdmFyKC0tdHctYmFja2Ryb3AtY29udHJhc3QsKXZhcigtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZSwpdmFyKC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZSwpdmFyKC0tdHctYmFja2Ryb3AtaW52ZXJ0LCl2YXIoLS10dy1iYWNrZHJvcC1vcGFjaXR5LCl2YXIoLS10dy1iYWNrZHJvcC1zYXR1cmF0ZSwpdmFyKC0tdHctYmFja2Ryb3Atc2VwaWEsKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0tdHctYmFja2Ryb3AtYmx1ciwpdmFyKC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzcywpdmFyKC0tdHctYmFja2Ryb3AtY29udHJhc3QsKXZhcigtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZSwpdmFyKC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZSwpdmFyKC0tdHctYmFja2Ryb3AtaW52ZXJ0LCl2YXIoLS10dy1iYWNrZHJvcC1vcGFjaXR5LCl2YXIoLS10dy1iYWNrZHJvcC1zYXR1cmF0ZSwpdmFyKC0tdHctYmFja2Ryb3Atc2VwaWEsKX0udHJhbnNpdGlvbnt0cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yLGJhY2tncm91bmQtY29sb3IsYm9yZGVyLWNvbG9yLG91dGxpbmUtY29sb3IsdGV4dC1kZWNvcmF0aW9uLWNvbG9yLGZpbGwsc3Ryb2tlLC0tdHctZ3JhZGllbnQtZnJvbSwtLXR3LWdyYWRpZW50LXZpYSwtLXR3LWdyYWRpZW50LXRvLG9wYWNpdHksYm94LXNoYWRvdyx0cmFuc2Zvcm0sdHJhbnNsYXRlLHNjYWxlLHJvdGF0ZSxmaWx0ZXIsLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXIsYmFja2Ryb3AtZmlsdGVyLGRpc3BsYXksY29udGVudC12aXNpYmlsaXR5LG92ZXJsYXkscG9pbnRlci1ldmVudHM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246dmFyKC0tdHctZWFzZSx2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSk7dHJhbnNpdGlvbi1kdXJhdGlvbjp2YXIoLS10dy1kdXJhdGlvbix2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24pKX0udHJhbnNpdGlvbi1cW2JvcmRlci1jb2xvclwsYmFja2dyb3VuZFxde3RyYW5zaXRpb24tcHJvcGVydHk6Ym9yZGVyLWNvbG9yLGJhY2tncm91bmQ7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246dmFyKC0tdHctZWFzZSx2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSk7dHJhbnNpdGlvbi1kdXJhdGlvbjp2YXIoLS10dy1kdXJhdGlvbix2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24pKX0udHJhbnNpdGlvbi1cW3dpZHRoXCxiYWNrZ3JvdW5kXF17dHJhbnNpdGlvbi1wcm9wZXJ0eTp3aWR0aCxiYWNrZ3JvdW5kO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOnZhcigtLXR3LWVhc2UsdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbikpO3RyYW5zaXRpb24tZHVyYXRpb246dmFyKC0tdHctZHVyYXRpb24sdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uKSl9LnRyYW5zaXRpb24tY29sb3Jze3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3IsYmFja2dyb3VuZC1jb2xvcixib3JkZXItY29sb3Isb3V0bGluZS1jb2xvcix0ZXh0LWRlY29yYXRpb24tY29sb3IsZmlsbCxzdHJva2UsLS10dy1ncmFkaWVudC1mcm9tLC0tdHctZ3JhZGllbnQtdmlhLC0tdHctZ3JhZGllbnQtdG87dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246dmFyKC0tdHctZWFzZSx2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSk7dHJhbnNpdGlvbi1kdXJhdGlvbjp2YXIoLS10dy1kdXJhdGlvbix2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24pKX0udHJhbnNpdGlvbi1vcGFjaXR5e3RyYW5zaXRpb24tcHJvcGVydHk6b3BhY2l0eTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjp2YXIoLS10dy1lYXNlLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pKTt0cmFuc2l0aW9uLWR1cmF0aW9uOnZhcigtLXR3LWR1cmF0aW9uLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbikpfS5kdXJhdGlvbi0xNTB7LS10dy1kdXJhdGlvbjouMTVzO3RyYW5zaXRpb24tZHVyYXRpb246LjE1c30uZHVyYXRpb24tMjAwey0tdHctZHVyYXRpb246LjJzO3RyYW5zaXRpb24tZHVyYXRpb246LjJzfS5kdXJhdGlvbi0zMDB7LS10dy1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9LmVhc2Utb3V0ey0tdHctZWFzZTp2YXIoLS1lYXNlLW91dCk7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246dmFyKC0tZWFzZS1vdXQpfS5vdXRsaW5lLW5vbmV7LS10dy1vdXRsaW5lLXN0eWxlOm5vbmU7b3V0bGluZS1zdHlsZTpub25lfS5zZWxlY3Qtbm9uZXstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0uc2VsZWN0LXRleHR7LXdlYmtpdC11c2VyLXNlbGVjdDp0ZXh0O3VzZXItc2VsZWN0OnRleHR9LlxbLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXJcOmJsdXJcKDEycHhcKVxdey13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTJweCl9Llxbc2Nyb2xsYmFyLXdpZHRoXDp0aGluXF17c2Nyb2xsYmFyLXdpZHRoOnRoaW59Llxbc3RyZWFtXDphdmNjXF17c3RyZWFtOmF2Y2N9Llxbc3RyZWFtXDpoMjY0XF17c3RyZWFtOmgyNjR9LlxbdHJhbnNpdGlvblw6YmFja2dyb3VuZF8wXC4yc1wsYm94LXNoYWRvd18wXC4yc1xde3RyYW5zaXRpb246YmFja2dyb3VuZCAuMnMsYm94LXNoYWRvdyAuMnN9LlxbdHJhbnNpdGlvblw6YmFja2dyb3VuZF8wXC4zc1xde3RyYW5zaXRpb246YmFja2dyb3VuZCAuM3N9LlxbdHJhbnNpdGlvblw6YmFja2dyb3VuZF8wXC4xMnNcLGJvcmRlci1jb2xvcl8wXC4xMnNcXXt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjEycyxib3JkZXItY29sb3IgLjEyc30uXFt0cmFuc2l0aW9uXDpiYWNrZ3JvdW5kXzBcLjEyc1wsY29sb3JfMFwuMTJzXF17dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xMnMsY29sb3IgLjEyc30uXFt0cmFuc2l0aW9uXDpiYWNrZ3JvdW5kXzBcLjEyc1xde3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTJzfS5cW3RyYW5zaXRpb25cOmJhY2tncm91bmRfMFwuMTVzXF17dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xNXN9LlxbdHJhbnNpdGlvblw6YmFja2dyb3VuZF8wXC4xNXNfZWFzZVwsY29sb3JfMFwuMTVzX2Vhc2VcLG9wYWNpdHlfMFwuMXNfZWFzZVxde3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTVzLGNvbG9yIC4xNXMsb3BhY2l0eSAuMXN9LlxbdHJhbnNpdGlvblw6YmFja2dyb3VuZF8wXC4xNXNfZWFzZVwsY29sb3JfMFwuMTVzX2Vhc2VcXXt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE1cyxjb2xvciAuMTVzfS5cW3RyYW5zaXRpb25cOmJhY2tncm91bmRfMFwuMTVzX2Vhc2VcXXt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE1c30uXFt0cmFuc2l0aW9uXDpiYWNrZ3JvdW5kXzBcLjE4c19lYXNlXF17dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xOHN9LlxbdHJhbnNpdGlvblw6bGVmdF8wXC4xNXNcXXt0cmFuc2l0aW9uOmxlZnQgLjE1c30uXFt0cmFuc2l0aW9uXDpvcGFjaXR5XzBcLjEyc1wsYmFja2dyb3VuZF8wXC4xMnNcLGNvbG9yXzBcLjEyc1xde3RyYW5zaXRpb246b3BhY2l0eSAuMTJzLGJhY2tncm91bmQgLjEycyxjb2xvciAuMTJzfS5cW3RyYW5zaXRpb25cOm9wYWNpdHlfMFwuMTJzXF17dHJhbnNpdGlvbjpvcGFjaXR5IC4xMnN9LlxbdHJhbnNpdGlvblw6b3BhY2l0eV8wXC4xNXNfZWFzZVwsYmFja2dyb3VuZF8wXC4xNXNfZWFzZVxde3RyYW5zaXRpb246b3BhY2l0eSAuMTVzLGJhY2tncm91bmQgLjE1c30uXFt0cmFuc2l0aW9uXDpvcGFjaXR5XzBcLjE1c19lYXNlXCx0cmFuc2Zvcm1fMFwuMTVzX2Vhc2VcXXt0cmFuc2l0aW9uOm9wYWNpdHkgLjE1cyx0cmFuc2Zvcm0gLjE1c30uXFt0cmFuc2l0aW9uXDpvcGFjaXR5XzBcLjE4c19lYXNlXF17dHJhbnNpdGlvbjpvcGFjaXR5IC4xOHN9LlxbdHJhbnNpdGlvblw6cGFkZGluZ18wXC4yNXNfZWFzZVxde3RyYW5zaXRpb246cGFkZGluZyAuMjVzfS5cW3RyYW5zaXRpb25cOnJpZ2h0XzBcLjI0c19jdWJpYy1iZXppZXJcKDBcLjIyXCwxXCwwXC4zNlwsMVwpXF17dHJhbnNpdGlvbjpyaWdodCAuMjRzIGN1YmljLWJlemllciguMjIsMSwuMzYsMSl9LlxbdHJhbnNpdGlvblw6dHJhbnNmb3JtXzBcLjI1c19lYXNlXCxvcGFjaXR5XzBcLjJzX2Vhc2VcXXt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzLG9wYWNpdHkgLjJzfS5cW3RyYW5zaXRpb25cOndpZHRoXzEyMG1zX2xpbmVhclxde3RyYW5zaXRpb246d2lkdGggLjEycyBsaW5lYXJ9Lmdyb3VwLWZvY3VzLXdpdGhpblw6b3BhY2l0eS0wOmlzKDp3aGVyZSguZ3JvdXApOmZvY3VzLXdpdGhpbiAqKXtvcGFjaXR5OjB9QG1lZGlhIChob3Zlcjpob3Zlcil7Lmdyb3VwLWhvdmVyXDpwb2ludGVyLWV2ZW50cy1hdXRvOmlzKDp3aGVyZSguZ3JvdXApOmhvdmVyICope3BvaW50ZXItZXZlbnRzOmF1dG99fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5ncm91cC1ob3Zlclw6YmxvY2s6aXMoOndoZXJlKC5ncm91cCk6aG92ZXIgKil7ZGlzcGxheTpibG9ja319QG1lZGlhIChob3Zlcjpob3Zlcil7Lmdyb3VwLWhvdmVyXDpoaWRkZW46aXMoOndoZXJlKC5ncm91cCk6aG92ZXIgKil7ZGlzcGxheTpub25lfX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuZ3JvdXAtaG92ZXJcOnRyYW5zbGF0ZS14LTA6aXMoOndoZXJlKC5ncm91cCk6aG92ZXIgKil7LS10dy10cmFuc2xhdGUteDpjYWxjKHZhcigtLXNwYWNpbmcpKjApO3RyYW5zbGF0ZTp2YXIoLS10dy10cmFuc2xhdGUteCl2YXIoLS10dy10cmFuc2xhdGUteSl9fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5ncm91cC1ob3Zlclw6b3BhY2l0eS0wOmlzKDp3aGVyZSguZ3JvdXApOmhvdmVyICope29wYWNpdHk6MH19QG1lZGlhIChob3Zlcjpob3Zlcil7Lmdyb3VwLWhvdmVyXDpvcGFjaXR5LTEwMDppcyg6d2hlcmUoLmdyb3VwKTpob3ZlciAqKXtvcGFjaXR5OjF9fS5wbGFjZWhvbGRlclw6dGV4dC13aGl0ZVwvNDA6OnBsYWNlaG9sZGVye2NvbG9yOiNmZmY2fUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnBsYWNlaG9sZGVyXDp0ZXh0LXdoaXRlXC80MDo6cGxhY2Vob2xkZXJ7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTQwJSx0cmFuc3BhcmVudCl9fS5mb2N1cy13aXRoaW5cOmJnLXdoaXRlXC8xMDpmb2N1cy13aXRoaW57YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMWF9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZm9jdXMtd2l0aGluXDpiZy13aGl0ZVwvMTA6Zm9jdXMtd2l0aGlue2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTEwJSx0cmFuc3BhcmVudCl9fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5ob3Zlclw6Ym9yZGVyLVxbcmdiYVwoMjU1XCwyNTVcLDI1NVwsMFwuMTZcKVxdOmhvdmVye2JvcmRlci1jb2xvcjojZmZmZmZmMjl9fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5ob3Zlclw6Ym9yZGVyLVxbcmdiYVwoMjU1XCwyNTVcLDI1NVwsMFwuMThcKVxdOmhvdmVye2JvcmRlci1jb2xvcjojZmZmZmZmMmV9fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5ob3Zlclw6Ym9yZGVyLXdoaXRlXC8yMDpob3Zlcntib3JkZXItY29sb3I6I2ZmZjN9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaG92ZXJcOmJvcmRlci13aGl0ZVwvMjA6aG92ZXJ7Ym9yZGVyLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkyMCUsdHJhbnNwYXJlbnQpfX19QG1lZGlhIChob3Zlcjpob3Zlcil7LmhvdmVyXDpib3JkZXItd2hpdGVcL1xbMFwuODhcXTpob3Zlcntib3JkZXItY29sb3I6I2ZmZmZmZmUwfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmhvdmVyXDpib3JkZXItd2hpdGVcL1xbMFwuODhcXTpob3Zlcntib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTg4JSx0cmFuc3BhcmVudCl9fX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuaG92ZXJcOmJnLXdoaXRlXC84OmhvdmVye2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjE0fUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmhvdmVyXDpiZy13aGl0ZVwvODpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk4JSx0cmFuc3BhcmVudCl9fX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuaG92ZXJcOmJnLXdoaXRlXC8xMjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYxZn1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6Ymctd2hpdGVcLzEyOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTEyJSx0cmFuc3BhcmVudCl9fX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuaG92ZXJcOmJnLXdoaXRlXC8xODpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYyZX1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6Ymctd2hpdGVcLzE4OmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTE4JSx0cmFuc3BhcmVudCl9fX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuaG92ZXJcOmJnLXdoaXRlXC8yMDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmYzfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmhvdmVyXDpiZy13aGl0ZVwvMjA6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpMjAlLHRyYW5zcGFyZW50KX19fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5ob3Zlclw6Ymctd2hpdGVcLzI1OmhvdmVye2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjQwfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmhvdmVyXDpiZy13aGl0ZVwvMjU6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpMjUlLHRyYW5zcGFyZW50KX19fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5ob3Zlclw6Ymctd2hpdGVcL1xbMFwuMDVcXTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwZH1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6Ymctd2hpdGVcL1xbMFwuMDVcXTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk1JSx0cmFuc3BhcmVudCl9fX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuaG92ZXJcOmJnLXdoaXRlXC9cWzBcLjA2XF06aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMGZ9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaG92ZXJcOmJnLXdoaXRlXC9cWzBcLjA2XF06aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNiUsdHJhbnNwYXJlbnQpfX19QG1lZGlhIChob3Zlcjpob3Zlcil7LmhvdmVyXDpiZy13aGl0ZVwvXFswXC4wN1xdOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjEyfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmhvdmVyXDpiZy13aGl0ZVwvXFswXC4wN1xdOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTcuMCUsdHJhbnNwYXJlbnQpfX19QG1lZGlhIChob3Zlcjpob3Zlcil7LmhvdmVyXDpiZy13aGl0ZVwvXFswXC4wOVxdOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjE3fUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmhvdmVyXDpiZy13aGl0ZVwvXFswXC4wOVxdOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTklLHRyYW5zcGFyZW50KX19fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5ob3Zlclw6Ymctd2hpdGVcL1xbMFwuODhcXTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmZlMH1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6Ymctd2hpdGVcL1xbMFwuODhcXTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk4OCUsdHJhbnNwYXJlbnQpfX19QG1lZGlhIChob3Zlcjpob3Zlcil7LmhvdmVyXDp0ZXh0LVxbXCMwYTBhMGNcXTpob3Zlcntjb2xvcjojMGEwYTBjfX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuaG92ZXJcOnRleHQtd2hpdGU6aG92ZXJ7Y29sb3I6dmFyKC0tY29sb3Itd2hpdGUpfX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuaG92ZXJcOnRleHQtd2hpdGVcLzcwOmhvdmVye2NvbG9yOiNmZmZmZmZiM31Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6dGV4dC13aGl0ZVwvNzA6aG92ZXJ7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTcwJSx0cmFuc3BhcmVudCl9fX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuaG92ZXJcOnRleHQtd2hpdGVcLzgwOmhvdmVye2NvbG9yOiNmZmZjfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmhvdmVyXDp0ZXh0LXdoaXRlXC84MDpob3Zlcntjb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpODAlLHRyYW5zcGFyZW50KX19fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5ob3Zlclw6dGV4dC13aGl0ZVwvODU6aG92ZXJ7Y29sb3I6I2ZmZmZmZmQ5fUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmhvdmVyXDp0ZXh0LXdoaXRlXC84NTpob3Zlcntjb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpODUlLHRyYW5zcGFyZW50KX19fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5ob3Zlclw6dGV4dC13aGl0ZVwvOTA6aG92ZXJ7Y29sb3I6I2ZmZmZmZmU2fUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmhvdmVyXDp0ZXh0LXdoaXRlXC85MDpob3Zlcntjb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpOTAlLHRyYW5zcGFyZW50KX19fS5mb2N1c1w6Ym9yZGVyLVxbcmdiYVwoMjU1XCwyNTVcLDI1NVwsMFwuMjRcKVxdOmZvY3Vze2JvcmRlci1jb2xvcjojZmZmZmZmM2R9LmZvY3VzXDpiZy13aGl0ZVwvXFswXC4wOFxdOmZvY3Vze2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjE0fUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmZvY3VzXDpiZy13aGl0ZVwvXFswXC4wOFxdOmZvY3Vze2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTglLHRyYW5zcGFyZW50KX19LmZvY3VzXDpvdXRsaW5lLW5vbmU6Zm9jdXN7LS10dy1vdXRsaW5lLXN0eWxlOm5vbmU7b3V0bGluZS1zdHlsZTpub25lfS5mb2N1cy12aXNpYmxlXDpiZy13aGl0ZVwvODpmb2N1cy12aXNpYmxle2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjE0fUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmZvY3VzLXZpc2libGVcOmJnLXdoaXRlXC84OmZvY3VzLXZpc2libGV7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpOCUsdHJhbnNwYXJlbnQpfX0uZm9jdXMtdmlzaWJsZVw6b3BhY2l0eS0xMDA6Zm9jdXMtdmlzaWJsZXtvcGFjaXR5OjF9LmZvY3VzLXZpc2libGVcOlxbb3V0bGluZVw6MVwuNXB4X3NvbGlkX3JnYmFcKDEwXCwxMzJcLDI1NVwsMFwuNTVcKVxdOmZvY3VzLXZpc2libGV7b3V0bGluZToxLjVweCBzb2xpZCAjMGE4NGZmOGN9LmZvY3VzLXZpc2libGVcOm91dGxpbmU6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLXN0eWxlOnZhcigtLXR3LW91dGxpbmUtc3R5bGUpO291dGxpbmUtd2lkdGg6MXB4fS5mb2N1cy12aXNpYmxlXDpvdXRsaW5lLTI6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLXN0eWxlOnZhcigtLXR3LW91dGxpbmUtc3R5bGUpO291dGxpbmUtd2lkdGg6MnB4fS5mb2N1cy12aXNpYmxlXDpvdXRsaW5lLW9mZnNldC0yOmZvY3VzLXZpc2libGV7b3V0bGluZS1vZmZzZXQ6MnB4fS5mb2N1cy12aXNpYmxlXDpvdXRsaW5lLW9mZnNldC00OmZvY3VzLXZpc2libGV7b3V0bGluZS1vZmZzZXQ6NHB4fS5mb2N1cy12aXNpYmxlXDpvdXRsaW5lLXdoaXRlXC82MDpmb2N1cy12aXNpYmxle291dGxpbmUtY29sb3I6I2ZmZjl9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZm9jdXMtdmlzaWJsZVw6b3V0bGluZS13aGl0ZVwvNjA6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk2MCUsdHJhbnNwYXJlbnQpfX0uYWN0aXZlXDpzY2FsZS1cWzBcLjk3XF06YWN0aXZle3NjYWxlOi45N30uYWN0aXZlXDpjdXJzb3ItZ3JhYmJpbmc6YWN0aXZle2N1cnNvcjpncmFiYmluZ31AbWVkaWEgKGhvdmVyOmhvdmVyKXsuZW5hYmxlZFw6aG92ZXJcOmJvcmRlci1cW3JnYmFcKDI1NVwsMjU1XCwyNTVcLDBcLjE4XClcXTplbmFibGVkOmhvdmVye2JvcmRlci1jb2xvcjojZmZmZmZmMmV9fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5lbmFibGVkXDpob3Zlclw6Ym9yZGVyLXdoaXRlXC8yMDplbmFibGVkOmhvdmVye2JvcmRlci1jb2xvcjojZmZmM31Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5lbmFibGVkXDpob3Zlclw6Ym9yZGVyLXdoaXRlXC8yMDplbmFibGVkOmhvdmVye2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpMjAlLHRyYW5zcGFyZW50KX19fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5lbmFibGVkXDpob3Zlclw6Ym9yZGVyLXdoaXRlXC9cWzBcLjg4XF06ZW5hYmxlZDpob3Zlcntib3JkZXItY29sb3I6I2ZmZmZmZmUwfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmVuYWJsZWRcOmhvdmVyXDpib3JkZXItd2hpdGVcL1xbMFwuODhcXTplbmFibGVkOmhvdmVye2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpODglLHRyYW5zcGFyZW50KX19fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5lbmFibGVkXDpob3Zlclw6YmctXFtcIzJhMmEyY1xdOmVuYWJsZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMmEyYTJjfX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuZW5hYmxlZFw6aG92ZXJcOmJnLXdoaXRlXC9cWzBcLjA2XF06ZW5hYmxlZDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwZn1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5lbmFibGVkXDpob3Zlclw6Ymctd2hpdGVcL1xbMFwuMDZcXTplbmFibGVkOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTYlLHRyYW5zcGFyZW50KX19fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5lbmFibGVkXDpob3Zlclw6Ymctd2hpdGVcL1xbMFwuMDlcXTplbmFibGVkOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjE3fUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmVuYWJsZWRcOmhvdmVyXDpiZy13aGl0ZVwvXFswXC4wOVxdOmVuYWJsZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpOSUsdHJhbnNwYXJlbnQpfX19QG1lZGlhIChob3Zlcjpob3Zlcil7LmVuYWJsZWRcOmhvdmVyXDpiZy13aGl0ZVwvXFswXC4yMlxdOmVuYWJsZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMzh9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZW5hYmxlZFw6aG92ZXJcOmJnLXdoaXRlXC9cWzBcLjIyXF06ZW5hYmxlZDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkyMiUsdHJhbnNwYXJlbnQpfX19QG1lZGlhIChob3Zlcjpob3Zlcil7LmVuYWJsZWRcOmhvdmVyXDpiZy13aGl0ZVwvXFswXC44OFxdOmVuYWJsZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmZTB9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZW5hYmxlZFw6aG92ZXJcOmJnLXdoaXRlXC9cWzBcLjg4XF06ZW5hYmxlZDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk4OCUsdHJhbnNwYXJlbnQpfX19QG1lZGlhIChob3Zlcjpob3Zlcil7LmVuYWJsZWRcOmhvdmVyXDp0ZXh0LVxbXCMwYTBhMGNcXTplbmFibGVkOmhvdmVye2NvbG9yOiMwYTBhMGN9fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5lbmFibGVkXDpob3Zlclw6dGV4dC13aGl0ZTplbmFibGVkOmhvdmVye2NvbG9yOnZhcigtLWNvbG9yLXdoaXRlKX19QG1lZGlhIChob3Zlcjpob3Zlcil7LmVuYWJsZWRcOmhvdmVyXDpicmlnaHRuZXNzLVxbMVwuMDhcXTplbmFibGVkOmhvdmVyey0tdHctYnJpZ2h0bmVzczpicmlnaHRuZXNzKDEuMDgpO2ZpbHRlcjp2YXIoLS10dy1ibHVyLCl2YXIoLS10dy1icmlnaHRuZXNzLCl2YXIoLS10dy1jb250cmFzdCwpdmFyKC0tdHctZ3JheXNjYWxlLCl2YXIoLS10dy1odWUtcm90YXRlLCl2YXIoLS10dy1pbnZlcnQsKXZhcigtLXR3LXNhdHVyYXRlLCl2YXIoLS10dy1zZXBpYSwpdmFyKC0tdHctZHJvcC1zaGFkb3csKX19LmRpc2FibGVkXDpjdXJzb3ItZGVmYXVsdDpkaXNhYmxlZHtjdXJzb3I6ZGVmYXVsdH0uZGlzYWJsZWRcOmN1cnNvci1ub3QtYWxsb3dlZDpkaXNhYmxlZHtjdXJzb3I6bm90LWFsbG93ZWR9LmRpc2FibGVkXDp0ZXh0LXdoaXRlXC80MDpkaXNhYmxlZHtjb2xvcjojZmZmNn1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5kaXNhYmxlZFw6dGV4dC13aGl0ZVwvNDA6ZGlzYWJsZWR7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTQwJSx0cmFuc3BhcmVudCl9fS5kaXNhYmxlZFw6b3BhY2l0eS00MDpkaXNhYmxlZHtvcGFjaXR5Oi40fS5kaXNhYmxlZFw6b3BhY2l0eS01MDpkaXNhYmxlZHtvcGFjaXR5Oi41fUBtZWRpYSAobWF4LXdpZHRoOjg5OS45OTlweCl7Lm1heC1cWzkwMHB4XF1cOmhpZGRlbntkaXNwbGF5Om5vbmV9fUBtZWRpYSAobWF4LXdpZHRoOmNhbGMoNDByZW0gLSAuMDAxcHgpKXsubWF4LXNtXDpoaWRkZW57ZGlzcGxheTpub25lfX1AbWVkaWEgKG1pbi13aWR0aDo0MHJlbSl7LnNtXDpzdGF0aWN7cG9zaXRpb246c3RhdGljfX1AbWVkaWEgKG1pbi13aWR0aDo0MHJlbSl7LnNtXDp0b3AtYXV0b3t0b3A6YXV0b319QG1lZGlhIChtaW4td2lkdGg6NDByZW0pey5zbVw6ei1hdXRve3otaW5kZXg6YXV0b319QG1lZGlhIChtaW4td2lkdGg6NDByZW0pey5zbVw6Y29udGVudHN7ZGlzcGxheTpjb250ZW50c319QG1lZGlhIChtaW4td2lkdGg6NDByZW0pey5zbVw6aW5saW5lLWZsZXh7ZGlzcGxheTppbmxpbmUtZmxleH19QG1lZGlhIChtaW4td2lkdGg6NDByZW0pey5zbVw6aC1cWzMwcHhcXXtoZWlnaHQ6MzBweH19QG1lZGlhIChtaW4td2lkdGg6NDByZW0pey5zbVw6dy1cWzMwcHhcXXt3aWR0aDozMHB4fX1AbWVkaWEgKG1pbi13aWR0aDo0MHJlbSl7LnNtXDp0cmFuc2xhdGUteC0wey0tdHctdHJhbnNsYXRlLXg6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKTt0cmFuc2xhdGU6dmFyKC0tdHctdHJhbnNsYXRlLXgpdmFyKC0tdHctdHJhbnNsYXRlLXkpfX1AbWVkaWEgKG1pbi13aWR0aDo0MHJlbSl7LnNtXDpmbGV4LWNvbHtmbGV4LWRpcmVjdGlvbjpjb2x1bW59fUBtZWRpYSAobWluLXdpZHRoOjQwcmVtKXsuc21cOnB5LTZ7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfX1AbWVkaWEgKG1pbi13aWR0aDo0MHJlbSl7LnNtXDpwYi0we3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMCl9fS5cW1wmXDpcOi1tb3otcmFuZ2UtcHJvZ3Jlc3NcXVw6aC1cWzRweFxdOjotbW96LXJhbmdlLXByb2dyZXNze2hlaWdodDo0cHh9LlxbXCZcOlw6LW1vei1yYW5nZS1wcm9ncmVzc1xdXDpyb3VuZGVkLWZ1bGw6Oi1tb3otcmFuZ2UtcHJvZ3Jlc3N7Ym9yZGVyLXJhZGl1czozLjQwMjgyZTM4cHh9LlxbXCZcOlw6LW1vei1yYW5nZS1wcm9ncmVzc1xdXDpiZy1cW3ZhclwoLS1zbGlkZXItZmlsbC1jb2xvclwpXF06Oi1tb3otcmFuZ2UtcHJvZ3Jlc3N7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zbGlkZXItZmlsbC1jb2xvcil9LlxbXCZcOlw6LW1vei1yYW5nZS10aHVtYlxdXDpzaXplLVxbMTNweFxdOjotbW96LXJhbmdlLXRodW1ie3dpZHRoOjEzcHg7aGVpZ2h0OjEzcHh9LlxbXCZcOlw6LW1vei1yYW5nZS10aHVtYlxdXDpyb3VuZGVkLWZ1bGw6Oi1tb3otcmFuZ2UtdGh1bWJ7Ym9yZGVyLXJhZGl1czozLjQwMjgyZTM4cHh9LlxbXCZcOlw6LW1vei1yYW5nZS10aHVtYlxdXDpib3JkZXItbm9uZTo6LW1vei1yYW5nZS10aHVtYnstLXR3LWJvcmRlci1zdHlsZTpub25lO2JvcmRlci1zdHlsZTpub25lfS5cW1wmXDpcOi1tb3otcmFuZ2UtdGh1bWJcXVw6Ymctd2hpdGU6Oi1tb3otcmFuZ2UtdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci13aGl0ZSl9LlxbXCZcOlw6LW1vei1yYW5nZS10cmFja1xdXDpoLVxbNHB4XF06Oi1tb3otcmFuZ2UtdHJhY2t7aGVpZ2h0OjRweH0uXFtcJlw6XDotbW96LXJhbmdlLXRyYWNrXF1cOnJvdW5kZWQtZnVsbDo6LW1vei1yYW5nZS10cmFja3tib3JkZXItcmFkaXVzOjMuNDAyODJlMzhweH0uXFtcJlw6XDotbW96LXJhbmdlLXRyYWNrXF1cOmJnLXdoaXRlXC8yMDo6LW1vei1yYW5nZS10cmFja3tiYWNrZ3JvdW5kLWNvbG9yOiNmZmYzfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LlxbXCZcOlw6LW1vei1yYW5nZS10cmFja1xdXDpiZy13aGl0ZVwvMjA6Oi1tb3otcmFuZ2UtdHJhY2t7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpMjAlLHRyYW5zcGFyZW50KX19LlxbXCZcOlw6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2tcXVw6aC1cWzRweFxdOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja3toZWlnaHQ6NHB4fS5cW1wmXDpcOi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrXF1cOnJvdW5kZWQtZnVsbDo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7Ym9yZGVyLXJhZGl1czozLjQwMjgyZTM4cHh9LlxbXCZcOlw6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2tcXVw6XFtiYWNrZ3JvdW5kXDpsaW5lYXItZ3JhZGllbnRcKHRvX3JpZ2h0XCx2YXJcKC0tc2xpZGVyLWZpbGwtY29sb3JcKV92YXJcKC0tc2xpZGVyLWZpbGxcKVwscmdiYVwoMjU1XCwyNTVcLDI1NVwsMFwuMjJcKV92YXJcKC0tc2xpZGVyLWZpbGxcKVwpXF06Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNre2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LHZhcigtLXNsaWRlci1maWxsLWNvbG9yKXZhcigtLXNsaWRlci1maWxsKSwjZmZmZmZmMzggdmFyKC0tc2xpZGVyLWZpbGwpKX0uXFtcJlw6XDotd2Via2l0LXNsaWRlci10aHVtYlxdXDotbXQtXFs0XC41cHhcXTo6LXdlYmtpdC1zbGlkZXItdGh1bWJ7bWFyZ2luLXRvcDotNC41cHh9LlxbXCZcOlw6LXdlYmtpdC1zbGlkZXItdGh1bWJcXVw6c2l6ZS1cWzEzcHhcXTo6LXdlYmtpdC1zbGlkZXItdGh1bWJ7d2lkdGg6MTNweDtoZWlnaHQ6MTNweH0uXFtcJlw6XDotd2Via2l0LXNsaWRlci10aHVtYlxdXDphcHBlYXJhbmNlLW5vbmU6Oi13ZWJraXQtc2xpZGVyLXRodW1ie2FwcGVhcmFuY2U6bm9uZX0uXFtcJlw6XDotd2Via2l0LXNsaWRlci10aHVtYlxdXDpyb3VuZGVkLWZ1bGw6Oi13ZWJraXQtc2xpZGVyLXRodW1ie2JvcmRlci1yYWRpdXM6My40MDI4MmUzOHB4fS5cW1wmXDpcOi13ZWJraXQtc2xpZGVyLXRodW1iXF1cOmJnLXdoaXRlOjotd2Via2l0LXNsaWRlci10aHVtYntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXdoaXRlKX0uXFtcJlw6XDotd2Via2l0LXNsaWRlci10aHVtYlxdXDpzaGFkb3ctXFswXzFweF8zcHhfcmdiYVwoMFwsMFwsMFwsMFwuNDVcKVxdOjotd2Via2l0LXNsaWRlci10aHVtYnstLXR3LXNoYWRvdzowIDFweCAzcHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDA3Myk7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfS5cW1wmXDpkaXNhYmxlZFw6XDotbW96LXJhbmdlLXRodW1iXF1cOmJnLXdoaXRlXC81MDpkaXNhYmxlZDo6LW1vei1yYW5nZS10aHVtYntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY4MH1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5cW1wmXDpkaXNhYmxlZFw6XDotbW96LXJhbmdlLXRodW1iXF1cOmJnLXdoaXRlXC81MDpkaXNhYmxlZDo6LW1vei1yYW5nZS10aHVtYntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk1MCUsdHJhbnNwYXJlbnQpfX0uXFtcJlw6ZGlzYWJsZWRcOlw6LXdlYmtpdC1zbGlkZXItdGh1bWJcXVw6Ymctd2hpdGVcLzUwOmRpc2FibGVkOjotd2Via2l0LXNsaWRlci10aHVtYntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY4MH1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5cW1wmXDpkaXNhYmxlZFw6XDotd2Via2l0LXNsaWRlci10aHVtYlxdXDpiZy13aGl0ZVwvNTA6ZGlzYWJsZWQ6Oi13ZWJraXQtc2xpZGVyLXRodW1ie2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTUwJSx0cmFuc3BhcmVudCl9fX06cm9vdHstLWJ1bmNzcy1saWdodDogOy0tYnVuY3NzLWRhcms6aW5pdGlhbDtjb2xvci1zY2hlbWU6ZGFyazstLXNlcnZlLXNpbS1wYW5lbC1iZzojMTgxODE4Oy0tc2VydmUtc2ltLXBhbmVsLWJnLXRyYW5zbHVjZW50OiMxODE4MThjNzstLXNlcnZlLXNpbS1wYW5lbC1iZy10cmFuc3BhcmVudDojMTgxODE4MDB9QHN1cHBvcnRzIChpbnRlcnBvbGF0ZS1zaXplOiBhbGxvdy1rZXl3b3Jkcyl7OnJvb3R7aW50ZXJwb2xhdGUtc2l6ZTphbGxvdy1rZXl3b3Jkc319ZGV0YWlscy5sZW0tc2VjdGlvbjo6ZGV0YWlscy1jb250ZW50e292ZXJmbG93OmNsaXA7dHJhbnNpdGlvbjpoZWlnaHQgLjIycyBlYXNlLGNvbnRlbnQtdmlzaWJpbGl0eSAuMjJzIGFsbG93LWRpc2NyZXRlO2hlaWdodDowfWRldGFpbHMubGVtLXNlY3Rpb25bb3Blbl06OmRldGFpbHMtY29udGVudHtoZWlnaHQ6YXV0b31kZXRhaWxzLmxlbS1zZWN0aW9uPnN1bW1hcnl7bGlzdC1zdHlsZTpub25lfWRldGFpbHMubGVtLXNlY3Rpb24+c3VtbWFyeTo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlcntkaXNwbGF5Om5vbmV9ZGV0YWlscy5sZW0tc2VjdGlvbj5zdW1tYXJ5OmhvdmVye2NvbG9yOiNmZmZ9ZGV0YWlscy5sZW0tc2VjdGlvbj5zdW1tYXJ5OmhvdmVyIC5sZW0tY2hldnJvbntjb2xvcjojZmZmZmZmZDkhaW1wb3J0YW50fS5sZW0tY2hldnJvbnt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcjt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMTZzLGNvbG9yIC4xMnN9QGNvbnRhaW5lciAod2lkdGg8PTIxMHB4KXtbZGF0YS1sb2NhdGlvbi1zdGF0dXMtdG90YWxde2Rpc3BsYXk6bm9uZX19QGtleWZyYW1lcyBncmlkLXNwaW57dG97dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX1Aa2V5ZnJhbWVzIHNlcnZlLXNpbS10b2FzdC1pbmRldGVybWluYXRlezAle3RyYW5zZm9ybTp0cmFuc2xhdGUoLTEwMCUpfXRve3RyYW5zZm9ybTp0cmFuc2xhdGUoMjUwJSl9fUBrZXlmcmFtZXMgc2VydmUtc2ltLXRvYXN0LXBvcC1pbnswJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTJweClzY2FsZSguOTYpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKXNjYWxlKDEpfX1Aa2V5ZnJhbWVzIHNlcnZlLXNpbS10b2FzdC1wb3Atb3V0ezAle29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKXNjYWxlKDEpfXRve29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSg4cHgpc2NhbGUoLjk2KX19LnNlcnZlLXNpbS10b2FzdC1pbmRldGVybWluYXRle2FuaW1hdGlvbjpzZXJ2ZS1zaW0tdG9hc3QtaW5kZXRlcm1pbmF0ZSAxLjFzIGVhc2UtaW4tb3V0IGluZmluaXRlfS5ncmlkLXNodXRkb3duLWJ0bntvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4xMnMsYmFja2dyb3VuZCAuMTJzLGNvbG9yIC4xMnN9LmdyaWQtdGlsZTpob3ZlciAuZ3JpZC1zaHV0ZG93bi1idG57b3BhY2l0eToxfS5ncmlkLXNodXRkb3duLWJ0bjpob3Zlcjpub3QoOmRpc2FibGVkKXtjb2xvcjojZmZmO2JhY2tncm91bmQ6IzVhMWQxZDtib3JkZXItY29sb3I6I2EzM30uZ3JpZC10aWxlOmhvdmVye2JvcmRlci1jb2xvcjojNTU1IWltcG9ydGFudH1AcHJvcGVydHkgLS10dy10cmFuc2xhdGUteHtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy10cmFuc2xhdGUteXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy10cmFuc2xhdGUtentzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy1yb3RhdGUteHtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXJvdGF0ZS15e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctcm90YXRlLXp7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1za2V3LXh7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1za2V3LXl7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1ib3JkZXItc3R5bGV7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOnNvbGlkfUBwcm9wZXJ0eSAtLXR3LWxlYWRpbmd7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1mb250LXdlaWdodHtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXRyYWNraW5ne3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctb3JkaW5hbHtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXNsYXNoZWQtemVyb3tzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LW51bWVyaWMtZmlndXJle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctbnVtZXJpYy1zcGFjaW5ne3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctbnVtZXJpYy1mcmFjdGlvbntzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXNoYWRvd3tzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MCAwICMwMDAwfUBwcm9wZXJ0eSAtLXR3LXNoYWRvdy1jb2xvcntzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXNoYWRvdy1hbHBoYXtzeW50YXg6IjxwZXJjZW50YWdlPiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZToxMDAlfUBwcm9wZXJ0eSAtLXR3LWluc2V0LXNoYWRvd3tzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MCAwICMwMDAwfUBwcm9wZXJ0eSAtLXR3LWluc2V0LXNoYWRvdy1jb2xvcntzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWluc2V0LXNoYWRvdy1hbHBoYXtzeW50YXg6IjxwZXJjZW50YWdlPiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZToxMDAlfUBwcm9wZXJ0eSAtLXR3LXJpbmctY29sb3J7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1yaW5nLXNoYWRvd3tzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MCAwICMwMDAwfUBwcm9wZXJ0eSAtLXR3LWluc2V0LXJpbmctY29sb3J7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1pbnNldC1yaW5nLXNoYWRvd3tzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MCAwICMwMDAwfUBwcm9wZXJ0eSAtLXR3LXJpbmctaW5zZXR7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1yaW5nLW9mZnNldC13aWR0aHtzeW50YXg6IjxsZW5ndGg+Ijtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjB9QHByb3BlcnR5IC0tdHctcmluZy1vZmZzZXQtY29sb3J7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOiNmZmZ9QHByb3BlcnR5IC0tdHctcmluZy1vZmZzZXQtc2hhZG93e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowIDAgIzAwMDB9QHByb3BlcnR5IC0tdHctb3V0bGluZS1zdHlsZXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6c29saWR9QHByb3BlcnR5IC0tdHctYmx1cntzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWJyaWdodG5lc3N7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1jb250cmFzdHtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWdyYXlzY2FsZXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWh1ZS1yb3RhdGV7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1pbnZlcnR7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1vcGFjaXR5e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctc2F0dXJhdGV7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1zZXBpYXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWRyb3Atc2hhZG93e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctZHJvcC1zaGFkb3ctY29sb3J7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1kcm9wLXNoYWRvdy1hbHBoYXtzeW50YXg6IjxwZXJjZW50YWdlPiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZToxMDAlfUBwcm9wZXJ0eSAtLXR3LWRyb3Atc2hhZG93LXNpemV7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1iYWNrZHJvcC1ibHVye3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzc3tzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWJhY2tkcm9wLWNvbnRyYXN0e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3AtZ3JheXNjYWxle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWJhY2tkcm9wLWludmVydHtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWJhY2tkcm9wLW9wYWNpdHl7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1iYWNrZHJvcC1zYXR1cmF0ZXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWJhY2tkcm9wLXNlcGlhe3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctZHVyYXRpb257c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1lYXNle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QGxheWVyIHByb3BlcnRpZXN7QHN1cHBvcnRzICgoLXdlYmtpdC1oeXBoZW5zOiBub25lKSBhbmQgKCBub3QgKG1hcmdpbi10cmltOiBpbmxpbmUpKSkgb3IgKCgtbW96LW9yaWVudDogaW5saW5lKSBhbmQgKCBub3QgKGNvbG9yOnJnYihmcm9tIHJlZCByIGcgYikpKSl7Kiw6YmVmb3JlLDphZnRlciw6OmJhY2tkcm9wey0tdHctdHJhbnNsYXRlLXg6MDstLXR3LXRyYW5zbGF0ZS15OjA7LS10dy10cmFuc2xhdGUtejowOy0tdHctcm90YXRlLXg6aW5pdGlhbDstLXR3LXJvdGF0ZS15OmluaXRpYWw7LS10dy1yb3RhdGUtejppbml0aWFsOy0tdHctc2tldy14OmluaXRpYWw7LS10dy1za2V3LXk6aW5pdGlhbDstLXR3LWJvcmRlci1zdHlsZTpzb2xpZDstLXR3LWxlYWRpbmc6aW5pdGlhbDstLXR3LWZvbnQtd2VpZ2h0OmluaXRpYWw7LS10dy10cmFja2luZzppbml0aWFsOy0tdHctb3JkaW5hbDppbml0aWFsOy0tdHctc2xhc2hlZC16ZXJvOmluaXRpYWw7LS10dy1udW1lcmljLWZpZ3VyZTppbml0aWFsOy0tdHctbnVtZXJpYy1zcGFjaW5nOmluaXRpYWw7LS10dy1udW1lcmljLWZyYWN0aW9uOmluaXRpYWw7LS10dy1zaGFkb3c6MCAwICMwMDAwOy0tdHctc2hhZG93LWNvbG9yOmluaXRpYWw7LS10dy1zaGFkb3ctYWxwaGE6MTAwJTstLXR3LWluc2V0LXNoYWRvdzowIDAgIzAwMDA7LS10dy1pbnNldC1zaGFkb3ctY29sb3I6aW5pdGlhbDstLXR3LWluc2V0LXNoYWRvdy1hbHBoYToxMDAlOy0tdHctcmluZy1jb2xvcjppbml0aWFsOy0tdHctcmluZy1zaGFkb3c6MCAwICMwMDAwOy0tdHctaW5zZXQtcmluZy1jb2xvcjppbml0aWFsOy0tdHctaW5zZXQtcmluZy1zaGFkb3c6MCAwICMwMDAwOy0tdHctcmluZy1pbnNldDppbml0aWFsOy0tdHctcmluZy1vZmZzZXQtd2lkdGg6MHB4Oy0tdHctcmluZy1vZmZzZXQtY29sb3I6I2ZmZjstLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzowIDAgIzAwMDA7LS10dy1vdXRsaW5lLXN0eWxlOnNvbGlkOy0tdHctYmx1cjppbml0aWFsOy0tdHctYnJpZ2h0bmVzczppbml0aWFsOy0tdHctY29udHJhc3Q6aW5pdGlhbDstLXR3LWdyYXlzY2FsZTppbml0aWFsOy0tdHctaHVlLXJvdGF0ZTppbml0aWFsOy0tdHctaW52ZXJ0OmluaXRpYWw7LS10dy1vcGFjaXR5OmluaXRpYWw7LS10dy1zYXR1cmF0ZTppbml0aWFsOy0tdHctc2VwaWE6aW5pdGlhbDstLXR3LWRyb3Atc2hhZG93OmluaXRpYWw7LS10dy1kcm9wLXNoYWRvdy1jb2xvcjppbml0aWFsOy0tdHctZHJvcC1zaGFkb3ctYWxwaGE6MTAwJTstLXR3LWRyb3Atc2hhZG93LXNpemU6aW5pdGlhbDstLXR3LWJhY2tkcm9wLWJsdXI6aW5pdGlhbDstLXR3LWJhY2tkcm9wLWJyaWdodG5lc3M6aW5pdGlhbDstLXR3LWJhY2tkcm9wLWNvbnRyYXN0OmluaXRpYWw7LS10dy1iYWNrZHJvcC1ncmF5c2NhbGU6aW5pdGlhbDstLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGU6aW5pdGlhbDstLXR3LWJhY2tkcm9wLWludmVydDppbml0aWFsOy0tdHctYmFja2Ryb3Atb3BhY2l0eTppbml0aWFsOy0tdHctYmFja2Ryb3Atc2F0dXJhdGU6aW5pdGlhbDstLXR3LWJhY2tkcm9wLXNlcGlhOmluaXRpYWw7LS10dy1kdXJhdGlvbjppbml0aWFsOy0tdHctZWFzZTppbml0aWFsfX19Cjwvc3R5bGU+CjwvaGVhZD48Ym9keT4KPGRpdiBpZD0icm9vdCI+PC9kaXY+CjwhLS1fX1NJTV9QUkVWSUVXX0NPTkZJR19fLS0+CjxzY3JpcHQgdHlwZT0ibW9kdWxlIj52YXIgWUo9T2JqZWN0LmNyZWF0ZTt2YXJ7Z2V0UHJvdG90eXBlT2Y6cUosZGVmaW5lUHJvcGVydHk6UDksZ2V0T3duUHJvcGVydHlOYW1lczpHSn09T2JqZWN0O3ZhciBWSj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2Z1bmN0aW9uIEJKKCQpe3JldHVybiB0aGlzWyRdfXZhciBOSixMSix6Sj0oJCxKLFEpPT57dmFyIFo9JCE9bnVsbCYmdHlwZW9mICQ9PT0ib2JqZWN0IjtpZihaKXt2YXIgSz1KP05KPz89bmV3IFdlYWtNYXA6TEo/Pz1uZXcgV2Vha01hcCxZPUsuZ2V0KCQpO2lmKFkpcmV0dXJuIFl9UT0kIT1udWxsP1lKKHFKKCQpKTp7fTtsZXQgcT1KfHwhJHx8ISQuX19lc01vZHVsZT9QOShRLCJkZWZhdWx0Iix7dmFsdWU6JCxlbnVtZXJhYmxlOiEwfSk6UTtmb3IobGV0IEcgb2YgR0ooJCkpaWYoIVZKLmNhbGwocSxHKSlQOShxLEcse2dldDpCSi5iaW5kKCQsRyksZW51bWVyYWJsZTohMH0pO2lmKFopSy5zZXQoJCxxKTtyZXR1cm4gcX07dmFyIFVKPSgkLEopPT4oKT0+KEp8fCQoKEo9e2V4cG9ydHM6e319KS5leHBvcnRzLEopLEouZXhwb3J0cyk7dmFyIG40PVVKKChTRDAsaTQpPT57aTQuZXhwb3J0cz1mdW5jdGlvbigpe3Rocm93IEVycm9yKCJ3cyBkb2VzIG5vdCB3b3JrIGluIHRoZSBicm93c2VyLiBCcm93c2VyIGNsaWVudHMgbXVzdCB1c2UgdGhlIG5hdGl2ZSBXZWJTb2NrZXQgb2JqZWN0Iil9fSk7dmFyIHIyLEoxLHc5LENKLHQwLFQ5LGI5LHk5LGkzLGY1LGkyLFM5LHQzLG4zLHIzLHg5LG01PXt9LHA1PVtdLEhKPS9hY2l0fGV4KD86c3xnfG58cHwkKXxycGh8Z3JpZHxvd3N8bW5jfG50d3xpbmVbY2hdfHpvb3xeb3JkfGl0ZXJhL2ksYTI9QXJyYXkuaXNBcnJheTtmdW5jdGlvbiBnMCgkLEope2Zvcih2YXIgUSBpbiBKKSRbUV09SltRXTtyZXR1cm4gJH1mdW5jdGlvbiBlMygkKXskJiYkLnBhcmVudE5vZGUmJiQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCgkKX1mdW5jdGlvbiBpMSgkLEosUSl7dmFyIFosSyxZLHE9e307Zm9yKFkgaW4gSilZPT0ia2V5Ij9aPUpbWV06WT09InJlZiI/Sz1KW1ldOnFbWV09SltZXTtpZihhcmd1bWVudHMubGVuZ3RoPjImJihxLmNoaWxkcmVuPWFyZ3VtZW50cy5sZW5ndGg+Mz9yMi5jYWxsKGFyZ3VtZW50cywyKTpRKSx0eXBlb2YgJD09ImZ1bmN0aW9uIiYmJC5kZWZhdWx0UHJvcHMhPW51bGwpZm9yKFkgaW4gJC5kZWZhdWx0UHJvcHMpcVtZXT09PXZvaWQgMCYmKHFbWV09JC5kZWZhdWx0UHJvcHNbWV0pO3JldHVybiBuMigkLHEsWixLLG51bGwpfWZ1bmN0aW9uIG4yKCQsSixRLFosSyl7dmFyIFk9e3R5cGU6JCxwcm9wczpKLGtleTpRLHJlZjpaLF9fazpudWxsLF9fOm51bGwsX19iOjAsX19lOm51bGwsX19jOm51bGwsY29uc3RydWN0b3I6dm9pZCAwLF9fdjpLPT1udWxsPysrdzk6SyxfX2k6LTEsX191OjB9O3JldHVybiBLPT1udWxsJiZKMS52bm9kZSE9bnVsbCYmSjEudm5vZGUoWSksWX1mdW5jdGlvbiBzMigpe3JldHVybntjdXJyZW50Om51bGx9fWZ1bmN0aW9uIFgxKCQpe3JldHVybiAkLmNoaWxkcmVufWZ1bmN0aW9uIHIxKCQsSil7dGhpcy5wcm9wcz0kLHRoaXMuY29udGV4dD1KfWZ1bmN0aW9uIGsyKCQsSil7aWYoSj09bnVsbClyZXR1cm4gJC5fXz9rMigkLl9fLCQuX19pKzEpOm51bGw7Zm9yKHZhciBRO0o8JC5fX2subGVuZ3RoO0orKylpZigoUT0kLl9fa1tKXSkhPW51bGwmJlEuX19lIT1udWxsKXJldHVybiBRLl9fZTtyZXR1cm4gdHlwZW9mICQudHlwZT09ImZ1bmN0aW9uIj9rMigkKTpudWxsfWZ1bmN0aW9uIE9KKCQpe2lmKCQuX19QJiYkLl9fZCl7dmFyIEo9JC5fX3YsUT1KLl9fZSxaPVtdLEs9W10sWT1nMCh7fSxKKTtZLl9fdj1KLl9fdisxLEoxLnZub2RlJiZKMS52bm9kZShZKSwkOCgkLl9fUCxZLEosJC5fX24sJC5fX1AubmFtZXNwYWNlVVJJLDMyJkouX191P1tRXTpudWxsLFosUT09bnVsbD9rMihKKTpRLCEhKDMyJkouX191KSxLKSxZLl9fdj1KLl9fdixZLl9fLl9fa1tZLl9faV09WSxoOShaLFksSyksSi5fX2U9Si5fXz1udWxsLFkuX19lIT1RJiZqOShZKX19ZnVuY3Rpb24gajkoJCl7aWYoKCQ9JC5fXykhPW51bGwmJiQuX19jIT1udWxsKXJldHVybiAkLl9fZT0kLl9fYy5iYXNlPW51bGwsJC5fX2suc29tZShmdW5jdGlvbihKKXtpZihKIT1udWxsJiZKLl9fZSE9bnVsbClyZXR1cm4gJC5fX2U9JC5fX2MuYmFzZT1KLl9fZX0pLGo5KCQpfWZ1bmN0aW9uIGEzKCQpeyghJC5fX2QmJigkLl9fZD0hMCkmJnQwLnB1c2goJCkmJiF1NS5fX3IrK3x8VDkhPUoxLmRlYm91bmNlUmVuZGVyaW5nKSYmKChUOT1KMS5kZWJvdW5jZVJlbmRlcmluZyl8fGI5KSh1NSl9ZnVuY3Rpb24gdTUoKXt0cnl7Zm9yKHZhciAkLEo9MTt0MC5sZW5ndGg7KXQwLmxlbmd0aD5KJiZ0MC5zb3J0KHk5KSwkPXQwLnNoaWZ0KCksSj10MC5sZW5ndGgsT0ooJCl9ZmluYWxseXt0MC5sZW5ndGg9dTUuX19yPTB9fWZ1bmN0aW9uIHY5KCQsSixRLFosSyxZLHEsRyxCLE4sTCl7dmFyIFYseixDLE0sVSxILE8saz1aJiZaLl9fa3x8cDUsdz1KLmxlbmd0aDtmb3IoQj1NSihRLEosayxCLHcpLFY9MDtWPHc7VisrKShDPVEuX19rW1ZdKSE9bnVsbCYmKHo9Qy5fX2khPS0xJiZrW0MuX19pXXx8bTUsQy5fX2k9VixIPSQ4KCQsQyx6LEssWSxxLEcsQixOLEwpLE09Qy5fX2UsQy5yZWYmJnoucmVmIT1DLnJlZiYmKHoucmVmJiZKOCh6LnJlZixudWxsLEMpLEwucHVzaChDLnJlZixDLl9fY3x8TSxDKSksVT09bnVsbCYmTSE9bnVsbCYmKFU9TSksKE89ISEoNCZDLl9fdSkpfHx6Ll9faz09PUMuX19rPyhCPVI5KEMsQiwkLE8pLE8mJnouX19lJiYoei5fX2U9bnVsbCkpOnR5cGVvZiBDLnR5cGU9PSJmdW5jdGlvbiImJkghPT12b2lkIDA/Qj1IOk0mJihCPU0ubmV4dFNpYmxpbmcpLEMuX191Jj0tNyk7cmV0dXJuIFEuX19lPVUsQn1mdW5jdGlvbiBNSigkLEosUSxaLEspe3ZhciBZLHEsRyxCLE4sTD1RLmxlbmd0aCxWPUwsej0wO2ZvcigkLl9faz1BcnJheShLKSxZPTA7WTxLO1krKykocT1KW1ldKSE9bnVsbCYmdHlwZW9mIHEhPSJib29sZWFuIiYmdHlwZW9mIHEhPSJmdW5jdGlvbiI/KHR5cGVvZiBxPT0ic3RyaW5nInx8dHlwZW9mIHE9PSJudW1iZXIifHx0eXBlb2YgcT09ImJpZ2ludCJ8fHEuY29uc3RydWN0b3I9PVN0cmluZz9xPSQuX19rW1ldPW4yKG51bGwscSxudWxsLG51bGwsbnVsbCk6YTIocSk/cT0kLl9fa1tZXT1uMihYMSx7Y2hpbGRyZW46cX0sbnVsbCxudWxsLG51bGwpOnEuY29uc3RydWN0b3I9PT12b2lkIDAmJnEuX19iPjA/cT0kLl9fa1tZXT1uMihxLnR5cGUscS5wcm9wcyxxLmtleSxxLnJlZj9xLnJlZjpudWxsLHEuX192KTokLl9fa1tZXT1xLEI9WSt6LHEuX189JCxxLl9fYj0kLl9fYisxLEc9bnVsbCwoTj1xLl9faT1BSihxLFEsQixWKSkhPS0xJiYoVi0tLChHPVFbTl0pJiYoRy5fX3V8PTIpKSxHPT1udWxsfHxHLl9fdj09bnVsbD8oTj09LTEmJihLPkw/ei0tOks8TCYmeisrKSx0eXBlb2YgcS50eXBlIT0iZnVuY3Rpb24iJiYocS5fX3V8PTQpKTpOIT1CJiYoTj09Qi0xP3otLTpOPT1CKzE/eisrOihOPkI/ei0tOnorKyxxLl9fdXw9NCkpKTokLl9fa1tZXT1udWxsO2lmKFYpZm9yKFk9MDtZPEw7WSsrKShHPVFbWV0pIT1udWxsJiYoMiZHLl9fdSk9PTAmJihHLl9fZT09WiYmKFo9azIoRykpLGY5KEcsRykpO3JldHVybiBafWZ1bmN0aW9uIFI5KCQsSixRLFope3ZhciBLLFk7aWYodHlwZW9mICQudHlwZT09ImZ1bmN0aW9uIil7Zm9yKEs9JC5fX2ssWT0wO0smJlk8Sy5sZW5ndGg7WSsrKUtbWV0mJihLW1ldLl9fPSQsSj1SOShLW1ldLEosUSxaKSk7cmV0dXJuIEp9JC5fX2UhPUomJihaJiYoSiYmJC50eXBlJiYhSi5wYXJlbnROb2RlJiYoSj1rMigkKSksUS5pbnNlcnRCZWZvcmUoJC5fX2UsSnx8bnVsbCkpLEo9JC5fX2UpO2RvIEo9SiYmSi5uZXh0U2libGluZzt3aGlsZShKIT1udWxsJiZKLm5vZGVUeXBlPT04KTtyZXR1cm4gSn1mdW5jdGlvbiBNMCgkLEope3JldHVybiBKPUp8fFtdLCQ9PW51bGx8fHR5cGVvZiAkPT0iYm9vbGVhbiJ8fChhMigkKT8kLnNvbWUoZnVuY3Rpb24oUSl7TTAoUSxKKX0pOkoucHVzaCgkKSksSn1mdW5jdGlvbiBBSigkLEosUSxaKXt2YXIgSyxZLHEsRz0kLmtleSxCPSQudHlwZSxOPUpbUV0sTD1OIT1udWxsJiYoMiZOLl9fdSk9PTA7aWYoTj09PW51bGwmJkc9PW51bGx8fEwmJkc9PU4ua2V5JiZCPT1OLnR5cGUpcmV0dXJuIFE7aWYoWj4oTD8xOjApKXtmb3IoSz1RLTEsWT1RKzE7Sz49MHx8WTxKLmxlbmd0aDspaWYoKE49SltxPUs+PTA/Sy0tOlkrK10pIT1udWxsJiYoMiZOLl9fdSk9PTAmJkc9PU4ua2V5JiZCPT1OLnR5cGUpcmV0dXJuIHF9cmV0dXJuLTF9ZnVuY3Rpb24gRTkoJCxKLFEpe0pbMF09PSItIj8kLnNldFByb3BlcnR5KEosUT09bnVsbD8iIjpRKTokW0pdPVE9PW51bGw/IiI6dHlwZW9mIFEhPSJudW1iZXIifHxISi50ZXN0KEopP1E6USsicHgifWZ1bmN0aW9uIGc1KCQsSixRLFosSyl7dmFyIFkscTskOmlmKEo9PSJzdHlsZSIpaWYodHlwZW9mIFE9PSJzdHJpbmciKSQuc3R5bGUuY3NzVGV4dD1RO2Vsc2V7aWYodHlwZW9mIFo9PSJzdHJpbmciJiYoJC5zdHlsZS5jc3NUZXh0PVo9IiIpLFopZm9yKEogaW4gWilRJiZKIGluIFF8fEU5KCQuc3R5bGUsSiwiIik7aWYoUSlmb3IoSiBpbiBRKVomJlFbSl09PVpbSl18fEU5KCQuc3R5bGUsSixRW0pdKX1lbHNlIGlmKEpbMF09PSJvIiYmSlsxXT09Im4iKVk9SiE9KEo9Si5yZXBsYWNlKFM5LCIkMSIpKSxxPUoudG9Mb3dlckNhc2UoKSxKPXEgaW4gJHx8Sj09Im9uRm9jdXNPdXQifHxKPT0ib25Gb2N1c0luIj9xLnNsaWNlKDIpOkouc2xpY2UoMiksJC5sfHwoJC5sPXt9KSwkLmxbSitZXT1RLFE/Wj9RW2kyXT1aW2kyXTooUVtpMl09dDMsJC5hZGRFdmVudExpc3RlbmVyKEosWT9yMzpuMyxZKSk6JC5yZW1vdmVFdmVudExpc3RlbmVyKEosWT9yMzpuMyxZKTtlbHNle2lmKEs9PSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIpSj1KLnJlcGxhY2UoL3hsaW5rKEh8OmgpLywiaCIpLnJlcGxhY2UoL3NOYW1lJC8sInMiKTtlbHNlIGlmKEohPSJ3aWR0aCImJkohPSJoZWlnaHQiJiZKIT0iaHJlZiImJkohPSJsaXN0IiYmSiE9ImZvcm0iJiZKIT0idGFiSW5kZXgiJiZKIT0iZG93bmxvYWQiJiZKIT0icm93U3BhbiImJkohPSJjb2xTcGFuIiYmSiE9InJvbGUiJiZKIT0icG9wb3ZlciImJkogaW4gJCl0cnl7JFtKXT1RPT1udWxsPyIiOlE7YnJlYWsgJH1jYXRjaChHKXt9dHlwZW9mIFE9PSJmdW5jdGlvbiJ8fChRPT1udWxsfHxRPT09ITEmJkpbNF0hPSItIj8kLnJlbW92ZUF0dHJpYnV0ZShKKTokLnNldEF0dHJpYnV0ZShKLEo9PSJwb3BvdmVyIiYmUT09MT8iIjpRKSl9fWZ1bmN0aW9uIEk5KCQpe3JldHVybiBmdW5jdGlvbihKKXtpZih0aGlzLmwpe3ZhciBRPXRoaXMubFtKLnR5cGUrJF07aWYoSltmNV09PW51bGwpSltmNV09dDMrKztlbHNlIGlmKEpbZjVdPFFbaTJdKXJldHVybjtyZXR1cm4gUShKMS5ldmVudD9KMS5ldmVudChKKTpKKX19fWZ1bmN0aW9uICQ4KCQsSixRLFosSyxZLHEsRyxCLE4pe3ZhciBMLFYseixDLE0sVSxILE8sayx3LFAseCxGLGMsaixtPUoudHlwZTtpZihKLmNvbnN0cnVjdG9yIT09dm9pZCAwKXJldHVybiBudWxsOzEyOCZRLl9fdSYmKEI9ISEoMzImUS5fX3UpLFk9W0c9Si5fX2U9US5fX2VdKSwoTD1KMS5fX2IpJiZMKEopOyQ6aWYodHlwZW9mIG09PSJmdW5jdGlvbiIpdHJ5e2lmKE89Si5wcm9wcyxrPW0ucHJvdG90eXBlJiZtLnByb3RvdHlwZS5yZW5kZXIsdz0oTD1tLmNvbnRleHRUeXBlKSYmWltMLl9fY10sUD1MP3c/dy5wcm9wcy52YWx1ZTpMLl9fOlosUS5fX2M/SD0oVj1KLl9fYz1RLl9fYykuX189Vi5fX0U6KGs/Si5fX2M9Vj1uZXcgbShPLFApOihKLl9fYz1WPW5ldyByMShPLFApLFYuY29uc3RydWN0b3I9bSxWLnJlbmRlcj1GSiksdyYmdy5zdWIoViksVi5zdGF0ZXx8KFYuc3RhdGU9e30pLFYuX19uPVosej1WLl9fZD0hMCxWLl9faD1bXSxWLl9zYj1bXSksayYmVi5fX3M9PW51bGwmJihWLl9fcz1WLnN0YXRlKSxrJiZtLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyE9bnVsbCYmKFYuX19zPT1WLnN0YXRlJiYoVi5fX3M9ZzAoe30sVi5fX3MpKSxnMChWLl9fcyxtLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhPLFYuX19zKSkpLEM9Vi5wcm9wcyxNPVYuc3RhdGUsVi5fX3Y9Six6KWsmJm0uZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzPT1udWxsJiZWLmNvbXBvbmVudFdpbGxNb3VudCE9bnVsbCYmVi5jb21wb25lbnRXaWxsTW91bnQoKSxrJiZWLmNvbXBvbmVudERpZE1vdW50IT1udWxsJiZWLl9faC5wdXNoKFYuY29tcG9uZW50RGlkTW91bnQpO2Vsc2V7aWYoayYmbS5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHM9PW51bGwmJk8hPT1DJiZWLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMhPW51bGwmJlYuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyhPLFApLEouX192PT1RLl9fdnx8IVYuX19lJiZWLnNob3VsZENvbXBvbmVudFVwZGF0ZSE9bnVsbCYmVi5zaG91bGRDb21wb25lbnRVcGRhdGUoTyxWLl9fcyxQKT09PSExKXtKLl9fdiE9US5fX3YmJihWLnByb3BzPU8sVi5zdGF0ZT1WLl9fcyxWLl9fZD0hMSksSi5fX2U9US5fX2UsSi5fX2s9US5fX2ssSi5fX2suc29tZShmdW5jdGlvbihzKXtzJiYocy5fXz1KKX0pLHA1LnB1c2guYXBwbHkoVi5fX2gsVi5fc2IpLFYuX3NiPVtdLFYuX19oLmxlbmd0aCYmcS5wdXNoKFYpO2JyZWFrICR9Vi5jb21wb25lbnRXaWxsVXBkYXRlIT1udWxsJiZWLmNvbXBvbmVudFdpbGxVcGRhdGUoTyxWLl9fcyxQKSxrJiZWLmNvbXBvbmVudERpZFVwZGF0ZSE9bnVsbCYmVi5fX2gucHVzaChmdW5jdGlvbigpe1YuY29tcG9uZW50RGlkVXBkYXRlKEMsTSxVKX0pfWlmKFYuY29udGV4dD1QLFYucHJvcHM9TyxWLl9fUD0kLFYuX19lPSExLHg9SjEuX19yLEY9MCxrKVYuc3RhdGU9Vi5fX3MsVi5fX2Q9ITEseCYmeChKKSxMPVYucmVuZGVyKFYucHJvcHMsVi5zdGF0ZSxWLmNvbnRleHQpLHA1LnB1c2guYXBwbHkoVi5fX2gsVi5fc2IpLFYuX3NiPVtdO2Vsc2UgZG8gVi5fX2Q9ITEseCYmeChKKSxMPVYucmVuZGVyKFYucHJvcHMsVi5zdGF0ZSxWLmNvbnRleHQpLFYuc3RhdGU9Vi5fX3M7d2hpbGUoVi5fX2QmJisrRjwyNSk7Vi5zdGF0ZT1WLl9fcyxWLmdldENoaWxkQ29udGV4dCE9bnVsbCYmKFo9ZzAoZzAoe30sWiksVi5nZXRDaGlsZENvbnRleHQoKSkpLGsmJiF6JiZWLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlIT1udWxsJiYoVT1WLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlKEMsTSkpLGM9TCE9bnVsbCYmTC50eXBlPT09WDEmJkwua2V5PT1udWxsP2c5KEwucHJvcHMuY2hpbGRyZW4pOkwsRz12OSgkLGEyKGMpP2M6W2NdLEosUSxaLEssWSxxLEcsQixOKSxWLmJhc2U9Si5fX2UsSi5fX3UmPS0xNjEsVi5fX2gubGVuZ3RoJiZxLnB1c2goViksSCYmKFYuX19FPVYuX189bnVsbCl9Y2F0Y2gocyl7aWYoSi5fX3Y9bnVsbCxCfHxZIT1udWxsKWlmKHMudGhlbil7Zm9yKEouX191fD1CPzE2MDoxMjg7RyYmRy5ub2RlVHlwZT09OCYmRy5uZXh0U2libGluZzspRz1HLm5leHRTaWJsaW5nO1lbWS5pbmRleE9mKEcpXT1udWxsLEouX19lPUd9ZWxzZXtmb3Ioaj1ZLmxlbmd0aDtqLS07KWUzKFlbal0pO3MzKEopfWVsc2UgSi5fX2U9US5fX2UsSi5fX2s9US5fX2sscy50aGVufHxzMyhKKTtKMS5fX2UocyxKLFEpfWVsc2UgWT09bnVsbCYmSi5fX3Y9PVEuX192PyhKLl9faz1RLl9fayxKLl9fZT1RLl9fZSk6Rz1KLl9fZT1rSihRLl9fZSxKLFEsWixLLFkscSxCLE4pO3JldHVybihMPUoxLmRpZmZlZCkmJkwoSiksMTI4JkouX191P3ZvaWQgMDpHfWZ1bmN0aW9uIHMzKCQpeyQmJigkLl9fYyYmKCQuX19jLl9fZT0hMCksJC5fX2smJiQuX19rLnNvbWUoczMpKX1mdW5jdGlvbiBoOSgkLEosUSl7Zm9yKHZhciBaPTA7WjxRLmxlbmd0aDtaKyspSjgoUVtaXSxRWysrWl0sUVsrK1pdKTtKMS5fX2MmJkoxLl9fYyhKLCQpLCQuc29tZShmdW5jdGlvbihLKXt0cnl7JD1LLl9faCxLLl9faD1bXSwkLnNvbWUoZnVuY3Rpb24oWSl7WS5jYWxsKEspfSl9Y2F0Y2goWSl7SjEuX19lKFksSy5fX3YpfX0pfWZ1bmN0aW9uIGc5KCQpe3JldHVybiB0eXBlb2YgJCE9Im9iamVjdCJ8fCQ9PW51bGx8fCQuX19iPjA/JDphMigkKT8kLm1hcChnOSk6ZzAoe30sJCl9ZnVuY3Rpb24ga0ooJCxKLFEsWixLLFkscSxHLEIpe3ZhciBOLEwsVix6LEMsTSxVLEg9US5wcm9wc3x8bTUsTz1KLnByb3BzLGs9Si50eXBlO2lmKGs9PSJzdmciP0s9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIjprPT0ibWF0aCI/Sz0iaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCI6S3x8KEs9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiKSxZIT1udWxsKXtmb3IoTj0wO048WS5sZW5ndGg7TisrKWlmKChDPVlbTl0pJiYic2V0QXR0cmlidXRlImluIEM9PSEhayYmKGs/Qy5sb2NhbE5hbWU9PWs6Qy5ub2RlVHlwZT09MykpeyQ9QyxZW05dPW51bGw7YnJlYWt9fWlmKCQ9PW51bGwpe2lmKGs9PW51bGwpcmV0dXJuIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKE8pOyQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKEssayxPLmlzJiZPKSxHJiYoSjEuX19tJiZKMS5fX20oSixZKSxHPSExKSxZPW51bGx9aWYoaz09bnVsbClIPT09T3x8RyYmJC5kYXRhPT1PfHwoJC5kYXRhPU8pO2Vsc2V7aWYoWT1ZJiZyMi5jYWxsKCQuY2hpbGROb2RlcyksIUcmJlkhPW51bGwpZm9yKEg9e30sTj0wO048JC5hdHRyaWJ1dGVzLmxlbmd0aDtOKyspSFsoQz0kLmF0dHJpYnV0ZXNbTl0pLm5hbWVdPUMudmFsdWU7Zm9yKE4gaW4gSClDPUhbTl0sTj09ImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIj9WPUM6Tj09ImNoaWxkcmVuInx8KE4gaW4gTyl8fE49PSJ2YWx1ZSImJigiZGVmYXVsdFZhbHVlImluIE8pfHxOPT0iY2hlY2tlZCImJigiZGVmYXVsdENoZWNrZWQiaW4gTyl8fGc1KCQsTixudWxsLEMsSyk7Zm9yKE4gaW4gTylDPU9bTl0sTj09ImNoaWxkcmVuIj96PUM6Tj09ImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIj9MPUM6Tj09InZhbHVlIj9NPUM6Tj09ImNoZWNrZWQiP1U9QzpHJiZ0eXBlb2YgQyE9ImZ1bmN0aW9uInx8SFtOXT09PUN8fGc1KCQsTixDLEhbTl0sSyk7aWYoTClHfHxWJiYoTC5fX2h0bWw9PVYuX19odG1sfHxMLl9faHRtbD09JC5pbm5lckhUTUwpfHwoJC5pbm5lckhUTUw9TC5fX2h0bWwpLEouX19rPVtdO2Vsc2UgaWYoViYmKCQuaW5uZXJIVE1MPSIiKSx2OShKLnR5cGU9PSJ0ZW1wbGF0ZSI/JC5jb250ZW50OiQsYTIoeik/ejpbel0sSixRLFosaz09ImZvcmVpZ25PYmplY3QiPyJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIjpLLFkscSxZP1lbMF06US5fX2smJmsyKFEsMCksRyxCKSxZIT1udWxsKWZvcihOPVkubGVuZ3RoO04tLTspZTMoWVtOXSk7R3x8KE49InZhbHVlIixrPT0icHJvZ3Jlc3MiJiZNPT1udWxsPyQucmVtb3ZlQXR0cmlidXRlKCJ2YWx1ZSIpOk0hPW51bGwmJihNIT09JFtOXXx8az09InByb2dyZXNzIiYmIU18fGs9PSJvcHRpb24iJiZNIT1IW05dKSYmZzUoJCxOLE0sSFtOXSxLKSxOPSJjaGVja2VkIixVIT1udWxsJiZVIT0kW05dJiZnNSgkLE4sVSxIW05dLEspKX1yZXR1cm4gJH1mdW5jdGlvbiBKOCgkLEosUSl7dHJ5e2lmKHR5cGVvZiAkPT0iZnVuY3Rpb24iKXt2YXIgWj10eXBlb2YgJC5fX3U9PSJmdW5jdGlvbiI7WiYmJC5fX3UoKSxaJiZKPT1udWxsfHwoJC5fX3U9JChKKSl9ZWxzZSAkLmN1cnJlbnQ9Sn1jYXRjaChLKXtKMS5fX2UoSyxRKX19ZnVuY3Rpb24gZjkoJCxKLFEpe3ZhciBaLEs7aWYoSjEudW5tb3VudCYmSjEudW5tb3VudCgkKSwoWj0kLnJlZikmJihaLmN1cnJlbnQmJlouY3VycmVudCE9JC5fX2V8fEo4KFosbnVsbCxKKSksKFo9JC5fX2MpIT1udWxsKXtpZihaLmNvbXBvbmVudFdpbGxVbm1vdW50KXRyeXtaLmNvbXBvbmVudFdpbGxVbm1vdW50KCl9Y2F0Y2goWSl7SjEuX19lKFksSil9Wi5iYXNlPVouX19QPW51bGx9aWYoWj0kLl9faylmb3IoSz0wO0s8Wi5sZW5ndGg7SysrKVpbS10mJmY5KFpbS10sSixRfHx0eXBlb2YgJC50eXBlIT0iZnVuY3Rpb24iKTtRfHxlMygkLl9fZSksJC5fX2M9JC5fXz0kLl9fZT12b2lkIDB9ZnVuY3Rpb24gRkooJCxKLFEpe3JldHVybiB0aGlzLmNvbnN0cnVjdG9yKCQsUSl9ZnVuY3Rpb24gYzAoJCxKLFEpe3ZhciBaLEssWSxxO0o9PWRvY3VtZW50JiYoSj1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLEoxLl9fJiZKMS5fXygkLEopLEs9KFo9dHlwZW9mIFE9PSJmdW5jdGlvbiIpP251bGw6USYmUS5fX2t8fEouX19rLFk9W10scT1bXSwkOChKLCQ9KCFaJiZRfHxKKS5fX2s9aTEoWDEsbnVsbCxbJF0pLEt8fG01LG01LEoubmFtZXNwYWNlVVJJLCFaJiZRP1tRXTpLP251bGw6Si5maXJzdENoaWxkP3IyLmNhbGwoSi5jaGlsZE5vZGVzKTpudWxsLFksIVomJlE/UTpLP0suX19lOkouZmlyc3RDaGlsZCxaLHEpLGg5KFksJCxxKX1mdW5jdGlvbiBsNSgkLEope2MwKCQsSixsNSl9ZnVuY3Rpb24gUTgoJCxKLFEpe3ZhciBaLEssWSxxLEc9ZzAoe30sJC5wcm9wcyk7Zm9yKFkgaW4gJC50eXBlJiYkLnR5cGUuZGVmYXVsdFByb3BzJiYocT0kLnR5cGUuZGVmYXVsdFByb3BzKSxKKVk9PSJrZXkiP1o9SltZXTpZPT0icmVmIj9LPUpbWV06R1tZXT1KW1ldPT09dm9pZCAwJiZxIT1udWxsP3FbWV06SltZXTtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD4yJiYoRy5jaGlsZHJlbj1hcmd1bWVudHMubGVuZ3RoPjM/cjIuY2FsbChhcmd1bWVudHMsMik6USksbjIoJC50eXBlLEcsWnx8JC5rZXksS3x8JC5yZWYsbnVsbCl9ZnVuY3Rpb24gdzAoJCl7ZnVuY3Rpb24gSihRKXt2YXIgWixLO3JldHVybiB0aGlzLmdldENoaWxkQ29udGV4dHx8KFo9bmV3IFNldCwoSz17fSlbSi5fX2NdPXRoaXMsdGhpcy5nZXRDaGlsZENvbnRleHQ9ZnVuY3Rpb24oKXtyZXR1cm4gS30sdGhpcy5jb21wb25lbnRXaWxsVW5tb3VudD1mdW5jdGlvbigpe1o9bnVsbH0sdGhpcy5zaG91bGRDb21wb25lbnRVcGRhdGU9ZnVuY3Rpb24oWSl7dGhpcy5wcm9wcy52YWx1ZSE9WS52YWx1ZSYmWi5mb3JFYWNoKGZ1bmN0aW9uKHEpe3EuX19lPSEwLGEzKHEpfSl9LHRoaXMuc3ViPWZ1bmN0aW9uKFkpe1ouYWRkKFkpO3ZhciBxPVkuY29tcG9uZW50V2lsbFVubW91bnQ7WS5jb21wb25lbnRXaWxsVW5tb3VudD1mdW5jdGlvbigpe1omJlouZGVsZXRlKFkpLHEmJnEuY2FsbChZKX19KSxRLmNoaWxkcmVufXJldHVybiBKLl9fYz0iX19jQyIreDkrKyxKLl9fPSQsSi5Qcm92aWRlcj1KLl9fbD0oSi5Db25zdW1lcj1mdW5jdGlvbihRLFope3JldHVybiBRLmNoaWxkcmVuKFopfSkuY29udGV4dFR5cGU9SixKfXIyPXA1LnNsaWNlLEoxPXtfX2U6ZnVuY3Rpb24oJCxKLFEsWil7Zm9yKHZhciBLLFkscTtKPUouX187KWlmKChLPUouX19jKSYmIUsuX18pdHJ5e2lmKChZPUsuY29uc3RydWN0b3IpJiZZLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvciE9bnVsbCYmKEsuc2V0U3RhdGUoWS5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IoJCkpLHE9Sy5fX2QpLEsuY29tcG9uZW50RGlkQ2F0Y2ghPW51bGwmJihLLmNvbXBvbmVudERpZENhdGNoKCQsWnx8e30pLHE9Sy5fX2QpLHEpcmV0dXJuIEsuX19FPUt9Y2F0Y2goRyl7JD1HfXRocm93ICR9fSx3OT0wLENKPWZ1bmN0aW9uKCQpe3JldHVybiAkIT1udWxsJiYkLmNvbnN0cnVjdG9yPT09dm9pZCAwfSxyMS5wcm90b3R5cGUuc2V0U3RhdGU9ZnVuY3Rpb24oJCxKKXt2YXIgUTtRPXRoaXMuX19zIT1udWxsJiZ0aGlzLl9fcyE9dGhpcy5zdGF0ZT90aGlzLl9fczp0aGlzLl9fcz1nMCh7fSx0aGlzLnN0YXRlKSx0eXBlb2YgJD09ImZ1bmN0aW9uIiYmKCQ9JChnMCh7fSxRKSx0aGlzLnByb3BzKSksJCYmZzAoUSwkKSwkIT1udWxsJiZ0aGlzLl9fdiYmKEomJnRoaXMuX3NiLnB1c2goSiksYTModGhpcykpfSxyMS5wcm90b3R5cGUuZm9yY2VVcGRhdGU9ZnVuY3Rpb24oJCl7dGhpcy5fX3YmJih0aGlzLl9fZT0hMCwkJiZ0aGlzLl9faC5wdXNoKCQpLGEzKHRoaXMpKX0scjEucHJvdG90eXBlLnJlbmRlcj1YMSx0MD1bXSxiOT10eXBlb2YgUHJvbWlzZT09ImZ1bmN0aW9uIj9Qcm9taXNlLnByb3RvdHlwZS50aGVuLmJpbmQoUHJvbWlzZS5yZXNvbHZlKCkpOnNldFRpbWVvdXQseTk9ZnVuY3Rpb24oJCxKKXtyZXR1cm4gJC5fX3YuX19iLUouX192Ll9fYn0sdTUuX19yPTAsaTM9TWF0aC5yYW5kb20oKS50b1N0cmluZyg4KSxmNT0iX19kIitpMyxpMj0iX19hIitpMyxTOT0vKFBvaW50ZXJDYXB0dXJlKSR8Q2FwdHVyZSQvaSx0Mz0wLG4zPUk5KCExKSxyMz1JOSghMCkseDk9MDt2YXIgZTAsaDEsWjgsbTksRjI9MCxuOT1bXSxkMT1KMSxwOT1kMS5fX2IsdTk9ZDEuX19yLGw5PWQxLmRpZmZlZCxkOT1kMS5fX2MsYzk9ZDEudW5tb3VudCxvOT1kMS5fXztmdW5jdGlvbiBXMigkLEope2QxLl9faCYmZDEuX19oKGgxLCQsRjJ8fEopLEYyPTA7dmFyIFE9aDEuX19IfHwoaDEuX19IPXtfXzpbXSxfX2g6W119KTtyZXR1cm4gJD49US5fXy5sZW5ndGgmJlEuX18ucHVzaCh7fSksUS5fX1skXX1mdW5jdGlvbiBBKCQpe3JldHVybiBGMj0xLEcyKHI5LCQpfWZ1bmN0aW9uIEcyKCQsSixRKXt2YXIgWj1XMihlMCsrLDIpO2lmKFoudD0kLCFaLl9fYyYmKFouX189W1E/UShKKTpyOSh2b2lkIDAsSiksZnVuY3Rpb24oRyl7dmFyIEI9Wi5fX04/Wi5fX05bMF06Wi5fX1swXSxOPVoudChCLEcpO0IhPT1OJiYoWi5fX049W04sWi5fX1sxXV0sWi5fX2Muc2V0U3RhdGUoe30pKX1dLFouX19jPWgxLCFoMS5fX2YpKXt2YXIgSz1mdW5jdGlvbihHLEIsTil7aWYoIVouX19jLl9fSClyZXR1cm4hMDt2YXIgTD1aLl9fYy5fX0guX18uZmlsdGVyKGZ1bmN0aW9uKHope3JldHVybiB6Ll9fY30pO2lmKEwuZXZlcnkoZnVuY3Rpb24oeil7cmV0dXJuIXouX19OfSkpcmV0dXJuIVl8fFkuY2FsbCh0aGlzLEcsQixOKTt2YXIgVj1aLl9fYy5wcm9wcyE9PUc7cmV0dXJuIEwuc29tZShmdW5jdGlvbih6KXtpZih6Ll9fTil7dmFyIEM9ei5fX1swXTt6Ll9fPXouX19OLHouX19OPXZvaWQgMCxDIT09ei5fX1swXSYmKFY9ITApfX0pLFkmJlkuY2FsbCh0aGlzLEcsQixOKXx8Vn07aDEuX19mPSEwO3ZhcntzaG91bGRDb21wb25lbnRVcGRhdGU6WSxjb21wb25lbnRXaWxsVXBkYXRlOnF9PWgxO2gxLmNvbXBvbmVudFdpbGxVcGRhdGU9ZnVuY3Rpb24oRyxCLE4pe2lmKHRoaXMuX19lKXt2YXIgTD1ZO1k9dm9pZCAwLEsoRyxCLE4pLFk9TH1xJiZxLmNhbGwodGhpcyxHLEIsTil9LGgxLnNob3VsZENvbXBvbmVudFVwZGF0ZT1LfXJldHVybiBaLl9fTnx8Wi5fX31mdW5jdGlvbiBFKCQsSil7dmFyIFE9VzIoZTArKywzKTshZDEuX19zJiZLOChRLl9fSCxKKSYmKFEuX189JCxRLnU9SixoMS5fX0guX19oLnB1c2goUSkpfWZ1bmN0aW9uIGIwKCQsSil7dmFyIFE9VzIoZTArKyw0KTshZDEuX19zJiZLOChRLl9fSCxKKSYmKFEuX189JCxRLnU9SixoMS5fX2gucHVzaChRKSl9ZnVuY3Rpb24gRCgkKXtyZXR1cm4gRjI9NSxiMShmdW5jdGlvbigpe3JldHVybntjdXJyZW50OiR9fSxbXSl9ZnVuY3Rpb24gYzUoJCxKLFEpe0YyPTYsYjAoZnVuY3Rpb24oKXtpZih0eXBlb2YgJD09ImZ1bmN0aW9uIil7dmFyIFo9JChKKCkpO3JldHVybiBmdW5jdGlvbigpeyQobnVsbCksWiYmdHlwZW9mIFo9PSJmdW5jdGlvbiImJlooKX19aWYoJClyZXR1cm4gJC5jdXJyZW50PUooKSxmdW5jdGlvbigpe3JldHVybiAkLmN1cnJlbnQ9bnVsbH19LFE9PW51bGw/UTpRLmNvbmNhdCgkKSl9ZnVuY3Rpb24gYjEoJCxKKXt2YXIgUT1XMihlMCsrLDcpO3JldHVybiBLOChRLl9fSCxKKSYmKFEuX189JCgpLFEuX19IPUosUS5fX2g9JCksUS5fX31mdW5jdGlvbiBJKCQsSil7cmV0dXJuIEYyPTgsYjEoZnVuY3Rpb24oKXtyZXR1cm4gJH0sSil9ZnVuY3Rpb24geTAoJCl7dmFyIEo9aDEuY29udGV4dFskLl9fY10sUT1XMihlMCsrLDkpO3JldHVybiBRLmM9JCxKPyhRLl9fPT1udWxsJiYoUS5fXz0hMCxKLnN1YihoMSkpLEoucHJvcHMudmFsdWUpOiQuX199ZnVuY3Rpb24gbzUoJCxKKXtkMS51c2VEZWJ1Z1ZhbHVlJiZkMS51c2VEZWJ1Z1ZhbHVlKEo/SigkKTokKX1mdW5jdGlvbiBEMigpe3ZhciAkPVcyKGUwKyssMTEpO2lmKCEkLl9fKXtmb3IodmFyIEo9aDEuX192O0ohPT1udWxsJiYhSi5fX20mJkouX18hPT1udWxsOylKPUouX187dmFyIFE9Si5fX218fChKLl9fbT1bMCwwXSk7JC5fXz0iUCIrUVswXSsiLSIrUVsxXSsrfXJldHVybiAkLl9ffWZ1bmN0aW9uIFdKKCl7Zm9yKHZhciAkOyQ9bjkuc2hpZnQoKTspe3ZhciBKPSQuX19IO2lmKCQuX19QJiZKKXRyeXtKLl9faC5zb21lKGQ1KSxKLl9faC5zb21lKFg4KSxKLl9faD1bXX1jYXRjaChRKXtKLl9faD1bXSxkMS5fX2UoUSwkLl9fdil9fX1kMS5fX2I9ZnVuY3Rpb24oJCl7aDE9bnVsbCxwOSYmcDkoJCl9LGQxLl9fPWZ1bmN0aW9uKCQsSil7JCYmSi5fX2smJkouX19rLl9fbSYmKCQuX19tPUouX19rLl9fbSksbzkmJm85KCQsSil9LGQxLl9fcj1mdW5jdGlvbigkKXt1OSYmdTkoJCksZTA9MDt2YXIgSj0oaDE9JC5fX2MpLl9fSDtKJiYoWjg9PT1oMT8oSi5fX2g9W10saDEuX19oPVtdLEouX18uc29tZShmdW5jdGlvbihRKXtRLl9fTiYmKFEuX189US5fX04pLFEudT1RLl9fTj12b2lkIDB9KSk6KEouX19oLnNvbWUoZDUpLEouX19oLnNvbWUoWDgpLEouX19oPVtdLGUwPTApKSxaOD1oMX0sZDEuZGlmZmVkPWZ1bmN0aW9uKCQpe2w5JiZsOSgkKTt2YXIgSj0kLl9fYztKJiZKLl9fSCYmKEouX19ILl9faC5sZW5ndGgmJihuOS5wdXNoKEopIT09MSYmbTk9PT1kMS5yZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fCgobTk9ZDEucmVxdWVzdEFuaW1hdGlvbkZyYW1lKXx8REopKFdKKSksSi5fX0guX18uc29tZShmdW5jdGlvbihRKXtRLnUmJihRLl9fSD1RLnUpLFEudT12b2lkIDB9KSksWjg9aDE9bnVsbH0sZDEuX19jPWZ1bmN0aW9uKCQsSil7Si5zb21lKGZ1bmN0aW9uKFEpe3RyeXtRLl9faC5zb21lKGQ1KSxRLl9faD1RLl9faC5maWx0ZXIoZnVuY3Rpb24oWil7cmV0dXJuIVouX198fFg4KFopfSl9Y2F0Y2goWil7Si5zb21lKGZ1bmN0aW9uKEspe0suX19oJiYoSy5fX2g9W10pfSksSj1bXSxkMS5fX2UoWixRLl9fdil9fSksZDkmJmQ5KCQsSil9LGQxLnVubW91bnQ9ZnVuY3Rpb24oJCl7YzkmJmM5KCQpO3ZhciBKLFE9JC5fX2M7USYmUS5fX0gmJihRLl9fSC5fXy5zb21lKGZ1bmN0aW9uKFope3RyeXtkNShaKX1jYXRjaChLKXtKPUt9fSksUS5fX0g9dm9pZCAwLEomJmQxLl9fZShKLFEuX192KSl9O3ZhciBpOT10eXBlb2YgcmVxdWVzdEFuaW1hdGlvbkZyYW1lPT0iZnVuY3Rpb24iO2Z1bmN0aW9uIERKKCQpe3ZhciBKLFE9ZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQoWiksaTkmJmNhbmNlbEFuaW1hdGlvbkZyYW1lKEopLHNldFRpbWVvdXQoJCl9LFo9c2V0VGltZW91dChRLDM1KTtpOSYmKEo9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKFEpKX1mdW5jdGlvbiBkNSgkKXt2YXIgSj1oMSxRPSQuX19jO3R5cGVvZiBRPT0iZnVuY3Rpb24iJiYoJC5fX2M9dm9pZCAwLFEoKSksaDE9Sn1mdW5jdGlvbiBYOCgkKXt2YXIgSj1oMTskLl9fYz0kLl9fKCksaDE9Sn1mdW5jdGlvbiBLOCgkLEope3JldHVybiEkfHwkLmxlbmd0aCE9PUoubGVuZ3RofHxKLnNvbWUoZnVuY3Rpb24oUSxaKXtyZXR1cm4gUSE9PSRbWl19KX1mdW5jdGlvbiByOSgkLEope3JldHVybiB0eXBlb2YgSj09ImZ1bmN0aW9uIj9KKCQpOkp9ZnVuY3Rpb24gX0ooJCxKKXtmb3IodmFyIFEgaW4gSikkW1FdPUpbUV07cmV0dXJuICR9ZnVuY3Rpb24gYTkoJCxKKXtmb3IodmFyIFEgaW4gJClpZihRIT09Il9fc291cmNlIiYmIShRIGluIEopKXJldHVybiEwO2Zvcih2YXIgWiBpbiBKKWlmKFohPT0iX19zb3VyY2UiJiYkW1pdIT09SltaXSlyZXR1cm4hMDtyZXR1cm4hMX1mdW5jdGlvbiBzOSgkLEope3RoaXMucHJvcHM9JCx0aGlzLmNvbnRleHQ9Sn0oczkucHJvdG90eXBlPW5ldyByMSkuaXNQdXJlUmVhY3RDb21wb25lbnQ9ITAsczkucHJvdG90eXBlLnNob3VsZENvbXBvbmVudFVwZGF0ZT1mdW5jdGlvbigkLEope3JldHVybiBhOSh0aGlzLnByb3BzLCQpfHxhOSh0aGlzLnN0YXRlLEopfTt2YXIgdDk9SjEuX19iO0oxLl9fYj1mdW5jdGlvbigkKXskLnR5cGUmJiQudHlwZS5fX2YmJiQucmVmJiYoJC5wcm9wcy5yZWY9JC5yZWYsJC5yZWY9bnVsbCksdDkmJnQ5KCQpfTt2YXIgUEo9SjEuX19lO0oxLl9fZT1mdW5jdGlvbigkLEosUSxaKXtpZigkLnRoZW4pe2Zvcih2YXIgSyxZPUo7WT1ZLl9fOylpZigoSz1ZLl9fYykmJksuX19jKXJldHVybiBKLl9fZT09bnVsbCYmKEouX19lPVEuX19lLEouX19rPVEuX19rKSxLLl9fYygkLEopfVBKKCQsSixRLFopfTt2YXIgZTk9SjEudW5tb3VudDtmdW5jdGlvbiBLNigkLEosUSl7cmV0dXJuICQmJigkLl9fYyYmJC5fX2MuX19IJiYoJC5fX2MuX19ILl9fLmZvckVhY2goZnVuY3Rpb24oWil7dHlwZW9mIFouX19jPT0iZnVuY3Rpb24iJiZaLl9fYygpfSksJC5fX2MuX19IPW51bGwpLCgkPV9KKHt9LCQpKS5fX2MhPW51bGwmJigkLl9fYy5fX1A9PT1RJiYoJC5fX2MuX19QPUopLCQuX19jLl9fZT0hMCwkLl9fYz1udWxsKSwkLl9faz0kLl9fayYmJC5fX2subWFwKGZ1bmN0aW9uKFope3JldHVybiBLNihaLEosUSl9KSksJH1mdW5jdGlvbiBZNigkLEosUSl7cmV0dXJuICQmJlEmJigkLl9fdj1udWxsLCQuX19rPSQuX19rJiYkLl9fay5tYXAoZnVuY3Rpb24oWil7cmV0dXJuIFk2KFosSixRKX0pLCQuX19jJiYkLl9fYy5fX1A9PT1KJiYoJC5fX2UmJlEuYXBwZW5kQ2hpbGQoJC5fX2UpLCQuX19jLl9fZT0hMCwkLl9fYy5fX1A9USkpLCR9ZnVuY3Rpb24gWTgoKXt0aGlzLl9fdT0wLHRoaXMubz1udWxsLHRoaXMuX19iPW51bGx9ZnVuY3Rpb24gcTYoJCl7dmFyIEo9JC5fXyYmJC5fXy5fX2M7cmV0dXJuIEomJkouX19hJiZKLl9fYSgkKX1mdW5jdGlvbiBpNSgpe3RoaXMuaT1udWxsLHRoaXMubD1udWxsfUoxLnVubW91bnQ9ZnVuY3Rpb24oJCl7dmFyIEo9JC5fX2M7SiYmKEouX196PSEwKSxKJiZKLl9fUiYmSi5fX1IoKSxKJiYzMiYkLl9fdSYmKCQudHlwZT1udWxsKSxlOSYmZTkoJCl9LChZOC5wcm90b3R5cGU9bmV3IHIxKS5fX2M9ZnVuY3Rpb24oJCxKKXt2YXIgUT1KLl9fYyxaPXRoaXM7Wi5vPT1udWxsJiYoWi5vPVtdKSxaLm8ucHVzaChRKTt2YXIgSz1xNihaLl9fdiksWT0hMSxxPWZ1bmN0aW9uKCl7WXx8Wi5fX3p8fChZPSEwLFEuX19SPW51bGwsSz9LKEIpOkIoKSl9O1EuX19SPXE7dmFyIEc9US5fX1A7US5fX1A9bnVsbDt2YXIgQj1mdW5jdGlvbigpe2lmKCEtLVouX191KXtpZihaLnN0YXRlLl9fYSl7dmFyIE49Wi5zdGF0ZS5fX2E7Wi5fX3YuX19rWzBdPVk2KE4sTi5fX2MuX19QLE4uX19jLl9fTyl9dmFyIEw7Zm9yKFouc2V0U3RhdGUoe19fYTpaLl9fYj1udWxsfSk7TD1aLm8ucG9wKCk7KUwuX19QPUcsTC5mb3JjZVVwZGF0ZSgpfX07Wi5fX3UrK3x8MzImSi5fX3V8fFouc2V0U3RhdGUoe19fYTpaLl9fYj1aLl9fdi5fX2tbMF19KSwkLnRoZW4ocSxxKX0sWTgucHJvdG90eXBlLmNvbXBvbmVudFdpbGxVbm1vdW50PWZ1bmN0aW9uKCl7dGhpcy5vPVtdfSxZOC5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKCQsSil7aWYodGhpcy5fX2Ipe2lmKHRoaXMuX192Ll9fayl7dmFyIFE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksWj10aGlzLl9fdi5fX2tbMF0uX19jO3RoaXMuX192Ll9fa1swXT1LNih0aGlzLl9fYixRLFouX19PPVouX19QKX10aGlzLl9fYj1udWxsfXZhciBLPUouX19hJiZpMShYMSxudWxsLCQuZmFsbGJhY2spO3JldHVybiBLJiYoSy5fX3UmPS0zMyksW2kxKFgxLG51bGwsSi5fX2E/bnVsbDokLmNoaWxkcmVuKSxLXX07dmFyICQ2PWZ1bmN0aW9uKCQsSixRKXtpZigrK1FbMV09PT1RWzBdJiYkLmwuZGVsZXRlKEopLCQucHJvcHMucmV2ZWFsT3JkZXImJigkLnByb3BzLnJldmVhbE9yZGVyWzBdIT09InQifHwhJC5sLnNpemUpKWZvcihRPSQuaTtROyl7Zm9yKDtRLmxlbmd0aD4zOylRLnBvcCgpKCk7aWYoUVsxXTxRWzBdKWJyZWFrOyQuaT1RPVFbMl19fTsoaTUucHJvdG90eXBlPW5ldyByMSkuX19hPWZ1bmN0aW9uKCQpe3ZhciBKPXRoaXMsUT1xNihKLl9fdiksWj1KLmwuZ2V0KCQpO3JldHVybiBaWzBdKyssZnVuY3Rpb24oSyl7dmFyIFk9ZnVuY3Rpb24oKXtKLnByb3BzLnJldmVhbE9yZGVyPyhaLnB1c2goSyksJDYoSiwkLFopKTpLKCl9O1E/UShZKTpZKCl9fSxpNS5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKCQpe3RoaXMuaT1udWxsLHRoaXMubD1uZXcgTWFwO3ZhciBKPU0wKCQuY2hpbGRyZW4pOyQucmV2ZWFsT3JkZXImJiQucmV2ZWFsT3JkZXJbMF09PT0iYiImJkoucmV2ZXJzZSgpO2Zvcih2YXIgUT1KLmxlbmd0aDtRLS07KXRoaXMubC5zZXQoSltRXSx0aGlzLmk9WzEsMCx0aGlzLmldKTtyZXR1cm4gJC5jaGlsZHJlbn0saTUucHJvdG90eXBlLmNvbXBvbmVudERpZFVwZGF0ZT1pNS5wcm90b3R5cGUuY29tcG9uZW50RGlkTW91bnQ9ZnVuY3Rpb24oKXt2YXIgJD10aGlzO3RoaXMubC5mb3JFYWNoKGZ1bmN0aW9uKEosUSl7JDYoJCxRLEopfSl9O3ZhciBUSj10eXBlb2YgU3ltYm9sPCJ1IiYmU3ltYm9sLmZvciYmU3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpfHw2MDEwMyxFSj0vXig/OmFjY2VudHxhbGlnbm1lbnR8YXJhYmljfGJhc2VsaW5lfGNhcHxjbGlwKD8hUGF0aFUpfGNvbG9yfGRvbWluYW50fGZpbGx8Zmxvb2R8Zm9udHxnbHlwaCg/IVIpfGhvcml6fGltYWdlKCFTKXxsZXR0ZXJ8bGlnaHRpbmd8bWFya2VyKD8hSHxXfFUpfG92ZXJsaW5lfHBhaW50fHBvaW50ZXJ8c2hhcGV8c3RvcHxzdHJpa2V0aHJvdWdofHN0cm9rZXx0ZXh0KD8hTCl8dHJhbnNmb3JtfHVuZGVybGluZXx1bmljb2RlfHVuaXRzfHZ8dmVjdG9yfHZlcnR8d29yZHx3cml0aW5nfHgoPyFDKSlbQS1aXS8sSUo9L15vbihBbml8VHJhfFRvdXxCZWZvcmVJbnB8Q29tcG8pLyx3Sj0vW0EtWjAtOV0vZyxiSj10eXBlb2YgZG9jdW1lbnQ8InUiLHlKPWZ1bmN0aW9uKCQpe3JldHVybih0eXBlb2YgU3ltYm9sPCJ1IiYmdHlwZW9mIFN5bWJvbCgpPT0ic3ltYm9sIj8vZmlsfGNoZXxyYWQvOi9maWx8Y2hlfHJhLykudGVzdCgkKX07ZnVuY3Rpb24gRzYoJCxKLFEpe3JldHVybiBKLl9faz09bnVsbCYmKEoudGV4dENvbnRlbnQ9IiIpLGMwKCQsSiksdHlwZW9mIFE9PSJmdW5jdGlvbiImJlEoKSwkPyQuX19jOm51bGx9cjEucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9ITAsWyJjb21wb25lbnRXaWxsTW91bnQiLCJjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIiwiY29tcG9uZW50V2lsbFVwZGF0ZSJdLmZvckVhY2goZnVuY3Rpb24oJCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIxLnByb3RvdHlwZSwkLHtjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXNbIlVOU0FGRV8iKyRdfSxzZXQ6ZnVuY3Rpb24oSil7T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsJCx7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOkp9KX19KX0pO3ZhciBKNj1KMS5ldmVudDtKMS5ldmVudD1mdW5jdGlvbigkKXtyZXR1cm4gSjYmJigkPUo2KCQpKSwkLnBlcnNpc3Q9ZnVuY3Rpb24oKXt9LCQuaXNQcm9wYWdhdGlvblN0b3BwZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jYW5jZWxCdWJibGV9LCQuaXNEZWZhdWx0UHJldmVudGVkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGVmYXVsdFByZXZlbnRlZH0sJC5uYXRpdmVFdmVudD0kfTt2YXIgVjYsU0o9e2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jbGFzc319LFE2PUoxLnZub2RlO0oxLnZub2RlPWZ1bmN0aW9uKCQpe3R5cGVvZiAkLnR5cGU9PSJzdHJpbmciJiZmdW5jdGlvbihKKXt2YXJ7cHJvcHM6USx0eXBlOlp9PUosSz17fSxZPVouaW5kZXhPZigiLSIpPT0tMTtmb3IodmFyIHEgaW4gUSl7dmFyIEc9UVtxXTtpZighKHE9PT0idmFsdWUiJiYoImRlZmF1bHRWYWx1ZSJpbiBRKSYmRz09bnVsbHx8YkomJnE9PT0iY2hpbGRyZW4iJiZaPT09Im5vc2NyaXB0Inx8cT09PSJjbGFzcyJ8fHE9PT0iY2xhc3NOYW1lIikpe3ZhciBCPXEudG9Mb3dlckNhc2UoKTtxPT09ImRlZmF1bHRWYWx1ZSImJiJ2YWx1ZSJpbiBRJiZRLnZhbHVlPT1udWxsP3E9InZhbHVlIjpxPT09ImRvd25sb2FkIiYmRz09PSEwP0c9IiI6Qj09PSJ0cmFuc2xhdGUiJiZHPT09Im5vIj9HPSExOkJbMF09PT0ibyImJkJbMV09PT0ibiI/Qj09PSJvbmRvdWJsZWNsaWNrIj9xPSJvbmRibGNsaWNrIjpCIT09Im9uY2hhbmdlInx8WiE9PSJpbnB1dCImJlohPT0idGV4dGFyZWEifHx5SihRLnR5cGUpP0I9PT0ib25mb2N1cyI/cT0ib25mb2N1c2luIjpCPT09Im9uYmx1ciI/cT0ib25mb2N1c291dCI6SUoudGVzdChxKSYmKHE9Qik6Qj1xPSJvbmlucHV0IjpZJiZFSi50ZXN0KHEpP3E9cS5yZXBsYWNlKHdKLCItJCYiKS50b0xvd2VyQ2FzZSgpOkc9PT1udWxsJiYoRz12b2lkIDApLEI9PT0ib25pbnB1dCImJktbcT1CXSYmKHE9Im9uaW5wdXRDYXB0dXJlIiksS1txXT1HfX1aPT0ic2VsZWN0IiYmKEsubXVsdGlwbGUmJkFycmF5LmlzQXJyYXkoSy52YWx1ZSkmJihLLnZhbHVlPU0wKFEuY2hpbGRyZW4pLmZvckVhY2goZnVuY3Rpb24oTil7Ti5wcm9wcy5zZWxlY3RlZD1LLnZhbHVlLmluZGV4T2YoTi5wcm9wcy52YWx1ZSkhPS0xfSkpLEsuZGVmYXVsdFZhbHVlIT1udWxsJiYoSy52YWx1ZT1NMChRLmNoaWxkcmVuKS5mb3JFYWNoKGZ1bmN0aW9uKE4pe04ucHJvcHMuc2VsZWN0ZWQ9Sy5tdWx0aXBsZT9LLmRlZmF1bHRWYWx1ZS5pbmRleE9mKE4ucHJvcHMudmFsdWUpIT0tMTpLLmRlZmF1bHRWYWx1ZT09Ti5wcm9wcy52YWx1ZX0pKSksUS5jbGFzcyYmIVEuY2xhc3NOYW1lPyhLLmNsYXNzPVEuY2xhc3MsT2JqZWN0LmRlZmluZVByb3BlcnR5KEssImNsYXNzTmFtZSIsU0opKTpRLmNsYXNzTmFtZSYmKEsuY2xhc3M9Sy5jbGFzc05hbWU9US5jbGFzc05hbWUpLEoucHJvcHM9S30oJCksJC4kJHR5cGVvZj1USixRNiYmUTYoJCl9O3ZhciBaNj1KMS5fX3I7SjEuX19yPWZ1bmN0aW9uKCQpe1o2JiZaNigkKSxWNj0kLl9fY307dmFyIFg2PUoxLmRpZmZlZDtKMS5kaWZmZWQ9ZnVuY3Rpb24oJCl7WDYmJlg2KCQpO3Zhcntwcm9wczpKLF9fZTpRfT0kO1EhPW51bGwmJiQudHlwZT09PSJ0ZXh0YXJlYSImJiJ2YWx1ZSJpbiBKJiZKLnZhbHVlIT09US52YWx1ZSYmKFEudmFsdWU9Si52YWx1ZT09bnVsbD8iIjpKLnZhbHVlKSxWNj1udWxsfTtmdW5jdGlvbiBCNigkKXtyZXR1cm4hISQuX19rJiYoYzAobnVsbCwkKSwhMCl9ZnVuY3Rpb24gTjYoJCl7cmV0dXJue3JlbmRlcjpmdW5jdGlvbihKKXtHNihKLCQpfSx1bm1vdW50OmZ1bmN0aW9uKCl7QjYoJCl9fX1mdW5jdGlvbiBrNigkLEope2Zvcih2YXIgUSBpbiBKKSRbUV09SltRXTtyZXR1cm4gJH1mdW5jdGlvbiBHOCgkLEope2Zvcih2YXIgUSBpbiAkKWlmKFEhPT0iX19zb3VyY2UiJiYhKFEgaW4gSikpcmV0dXJuITA7Zm9yKHZhciBaIGluIEopaWYoWiE9PSJfX3NvdXJjZSImJiRbWl0hPT1KW1pdKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIEY2KCQsSil7dmFyIFE9SigpLFo9QSh7dDp7X186USx1Okp9fSksSz1aWzBdLnQsWT1aWzFdO3JldHVybiBiMChmdW5jdGlvbigpe0suX189USxLLnU9SixxOChLKSYmWSh7dDpLfSl9LFskLFEsSl0pLEUoZnVuY3Rpb24oKXtyZXR1cm4gcTgoSykmJlkoe3Q6S30pLCQoZnVuY3Rpb24oKXtxOChLKSYmWSh7dDpLfSl9KX0sWyRdKSxRfWZ1bmN0aW9uIHE4KCQpe3RyeXtyZXR1cm4hKChKPSQuX18pPT09KFE9JC51KCkpJiYoSiE9PTB8fDEvSj09MS9RKXx8SiE9SiYmUSE9USl9Y2F0Y2goWil7cmV0dXJuITB9dmFyIEosUX1mdW5jdGlvbiBXNigkKXskKCl9ZnVuY3Rpb24gRDYoJCl7cmV0dXJuICR9ZnVuY3Rpb24gXzYoKXtyZXR1cm5bITEsVzZdfXZhciBQNj1iMDtmdW5jdGlvbiBWOCgkLEope3RoaXMucHJvcHM9JCx0aGlzLmNvbnRleHQ9Sn1mdW5jdGlvbiBWMigkLEope2Z1bmN0aW9uIFEoSyl7dmFyIFk9dGhpcy5wcm9wcy5yZWY7cmV0dXJuIFkhPUsucmVmJiZZJiYodHlwZW9mIFk9PSJmdW5jdGlvbiI/WShudWxsKTpZLmN1cnJlbnQ9bnVsbCksSj8hSih0aGlzLnByb3BzLEspfHxZIT1LLnJlZjpHOCh0aGlzLnByb3BzLEspfWZ1bmN0aW9uIFooSyl7cmV0dXJuIHRoaXMuc2hvdWxkQ29tcG9uZW50VXBkYXRlPVEsaTEoJCxLKX1yZXR1cm4gWi5kaXNwbGF5TmFtZT0iTWVtbygiKygkLmRpc3BsYXlOYW1lfHwkLm5hbWUpKyIpIixaLl9fZj1aLnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50PSEwLFoudHlwZT0kLFp9KFY4LnByb3RvdHlwZT1uZXcgcjEpLmlzUHVyZVJlYWN0Q29tcG9uZW50PSEwLFY4LnByb3RvdHlwZS5zaG91bGRDb21wb25lbnRVcGRhdGU9ZnVuY3Rpb24oJCxKKXtyZXR1cm4gRzgodGhpcy5wcm9wcywkKXx8RzgodGhpcy5zdGF0ZSxKKX07dmFyIEw2PUoxLl9fYjtKMS5fX2I9ZnVuY3Rpb24oJCl7JC50eXBlJiYkLnR5cGUuX19mJiYkLnJlZiYmKCQucHJvcHMucmVmPSQucmVmLCQucmVmPW51bGwpLEw2JiZMNigkKX07dmFyIHhKPXR5cGVvZiBTeW1ib2w8InUiJiZTeW1ib2wuZm9yJiZTeW1ib2wuZm9yKCJyZWFjdC5mb3J3YXJkX3JlZiIpfHwzOTExO2Z1bmN0aW9uIHYwKCQpe2Z1bmN0aW9uIEooUSl7dmFyIFo9azYoe30sUSk7cmV0dXJuIGRlbGV0ZSBaLnJlZiwkKFosUS5yZWZ8fG51bGwpfXJldHVybiBKLiQkdHlwZW9mPXhKLEoucmVuZGVyPSQsSi5wcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudD1KLl9fZj0hMCxKLmRpc3BsYXlOYW1lPSJGb3J3YXJkUmVmKCIrKCQuZGlzcGxheU5hbWV8fCQubmFtZSkrIikiLEp9dmFyIHo2PWZ1bmN0aW9uKCQsSil7cmV0dXJuICQ9PW51bGw/bnVsbDpNMChNMCgkKS5tYXAoSikpfSxqSj17bWFwOno2LGZvckVhY2g6ejYsY291bnQ6ZnVuY3Rpb24oJCl7cmV0dXJuICQ/TTAoJCkubGVuZ3RoOjB9LG9ubHk6ZnVuY3Rpb24oJCl7dmFyIEo9TTAoJCk7aWYoSi5sZW5ndGghPT0xKXRocm93IkNoaWxkcmVuLm9ubHkiO3JldHVybiBKWzBdfSx0b0FycmF5Ok0wfSx2Sj1KMS5fX2U7SjEuX19lPWZ1bmN0aW9uKCQsSixRLFope2lmKCQudGhlbil7Zm9yKHZhciBLLFk9SjtZPVkuX187KWlmKChLPVkuX19jKSYmSy5fX2MpcmV0dXJuIEouX19lPT1udWxsJiYoSi5fX2U9US5fX2UsSi5fX2s9US5fX2spLEsuX19jKCQsSil9dkooJCxKLFEsWil9O3ZhciBVNj1KMS51bm1vdW50O2Z1bmN0aW9uIFQ2KCQsSixRKXtyZXR1cm4gJCYmKCQuX19jJiYkLl9fYy5fX0gmJigkLl9fYy5fX0guX18uZm9yRWFjaChmdW5jdGlvbihaKXt0eXBlb2YgWi5fX2M9PSJmdW5jdGlvbiImJlouX19jKCl9KSwkLl9fYy5fX0g9bnVsbCksKCQ9azYoe30sJCkpLl9fYyE9bnVsbCYmKCQuX19jLl9fUD09PVEmJigkLl9fYy5fX1A9SiksJC5fX2MuX19lPSEwLCQuX19jPW51bGwpLCQuX19rPSQuX19rJiYkLl9fay5tYXAoZnVuY3Rpb24oWil7cmV0dXJuIFQ2KFosSixRKX0pKSwkfWZ1bmN0aW9uIEU2KCQsSixRKXtyZXR1cm4gJCYmUSYmKCQuX192PW51bGwsJC5fX2s9JC5fX2smJiQuX19rLm1hcChmdW5jdGlvbihaKXtyZXR1cm4gRTYoWixKLFEpfSksJC5fX2MmJiQuX19jLl9fUD09PUomJigkLl9fZSYmUS5hcHBlbmRDaGlsZCgkLl9fZSksJC5fX2MuX19lPSEwLCQuX19jLl9fUD1RKSksJH1mdW5jdGlvbiBuNSgpe3RoaXMuX191PTAsdGhpcy5vPW51bGwsdGhpcy5fX2I9bnVsbH1mdW5jdGlvbiBJNigkKXt2YXIgSj0kLl9fJiYkLl9fLl9fYztyZXR1cm4gSiYmSi5fX2EmJkouX19hKCQpfWZ1bmN0aW9uIFJKKCQpe3ZhciBKLFEsWixLPW51bGw7ZnVuY3Rpb24gWShxKXtpZihKfHwoSj0kKCkpLnRoZW4oZnVuY3Rpb24oRyl7RyYmKEs9Ry5kZWZhdWx0fHxHKSxaPSEwfSxmdW5jdGlvbihHKXtRPUcsWj0hMH0pLFEpdGhyb3cgUTtpZighWil0aHJvdyBKO3JldHVybiBLP2kxKEsscSk6bnVsbH1yZXR1cm4gWS5kaXNwbGF5TmFtZT0iTGF6eSIsWS5fX2Y9ITAsWX1mdW5jdGlvbiB0Migpe3RoaXMuaT1udWxsLHRoaXMubD1udWxsfUoxLnVubW91bnQ9ZnVuY3Rpb24oJCl7dmFyIEo9JC5fX2M7SiYmKEouX196PSEwKSxKJiZKLl9fUiYmSi5fX1IoKSxKJiYzMiYkLl9fdSYmKCQudHlwZT1udWxsKSxVNiYmVTYoJCl9LChuNS5wcm90b3R5cGU9bmV3IHIxKS5fX2M9ZnVuY3Rpb24oJCxKKXt2YXIgUT1KLl9fYyxaPXRoaXM7Wi5vPT1udWxsJiYoWi5vPVtdKSxaLm8ucHVzaChRKTt2YXIgSz1JNihaLl9fdiksWT0hMSxxPWZ1bmN0aW9uKCl7WXx8Wi5fX3p8fChZPSEwLFEuX19SPW51bGwsSz9LKEIpOkIoKSl9O1EuX19SPXE7dmFyIEc9US5fX1A7US5fX1A9bnVsbDt2YXIgQj1mdW5jdGlvbigpe2lmKCEtLVouX191KXtpZihaLnN0YXRlLl9fYSl7dmFyIE49Wi5zdGF0ZS5fX2E7Wi5fX3YuX19rWzBdPUU2KE4sTi5fX2MuX19QLE4uX19jLl9fTyl9dmFyIEw7Zm9yKFouc2V0U3RhdGUoe19fYTpaLl9fYj1udWxsfSk7TD1aLm8ucG9wKCk7KUwuX19QPUcsTC5mb3JjZVVwZGF0ZSgpfX07Wi5fX3UrK3x8MzImSi5fX3V8fFouc2V0U3RhdGUoe19fYTpaLl9fYj1aLl9fdi5fX2tbMF19KSwkLnRoZW4ocSxxKX0sbjUucHJvdG90eXBlLmNvbXBvbmVudFdpbGxVbm1vdW50PWZ1bmN0aW9uKCl7dGhpcy5vPVtdfSxuNS5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKCQsSil7aWYodGhpcy5fX2Ipe2lmKHRoaXMuX192Ll9fayl7dmFyIFE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksWj10aGlzLl9fdi5fX2tbMF0uX19jO3RoaXMuX192Ll9fa1swXT1UNih0aGlzLl9fYixRLFouX19PPVouX19QKX10aGlzLl9fYj1udWxsfXZhciBLPUouX19hJiZpMShYMSxudWxsLCQuZmFsbGJhY2spO3JldHVybiBLJiYoSy5fX3UmPS0zMyksW2kxKFgxLG51bGwsSi5fX2E/bnVsbDokLmNoaWxkcmVuKSxLXX07dmFyIEM2PWZ1bmN0aW9uKCQsSixRKXtpZigrK1FbMV09PT1RWzBdJiYkLmwuZGVsZXRlKEopLCQucHJvcHMucmV2ZWFsT3JkZXImJigkLnByb3BzLnJldmVhbE9yZGVyWzBdIT09InQifHwhJC5sLnNpemUpKWZvcihRPSQuaTtROyl7Zm9yKDtRLmxlbmd0aD4zOylRLnBvcCgpKCk7aWYoUVsxXTxRWzBdKWJyZWFrOyQuaT1RPVFbMl19fTtmdW5jdGlvbiBoSigkKXtyZXR1cm4gdGhpcy5nZXRDaGlsZENvbnRleHQ9ZnVuY3Rpb24oKXtyZXR1cm4gJC5jb250ZXh0fSwkLmNoaWxkcmVufWZ1bmN0aW9uIGdKKCQpe3ZhciBKPXRoaXMsUT0kLmg7aWYoSi5jb21wb25lbnRXaWxsVW5tb3VudD1mdW5jdGlvbigpe2MwKG51bGwsSi52KSxKLnY9bnVsbCxKLmg9bnVsbH0sSi5oJiZKLmghPT1RJiZKLmNvbXBvbmVudFdpbGxVbm1vdW50KCksIUoudil7Zm9yKHZhciBaPUouX192O1ohPT1udWxsJiYhWi5fX20mJlouX18hPT1udWxsOylaPVouX187Si5oPVEsSi52PXtub2RlVHlwZToxLHBhcmVudE5vZGU6USxjaGlsZE5vZGVzOltdLF9fazp7X19tOlouX19tfSxjb250YWluczpmdW5jdGlvbigpe3JldHVybiEwfSxuYW1lc3BhY2VVUkk6US5uYW1lc3BhY2VVUkksaW5zZXJ0QmVmb3JlOmZ1bmN0aW9uKEssWSl7dGhpcy5jaGlsZE5vZGVzLnB1c2goSyksSi5oLmluc2VydEJlZm9yZShLLFkpfSxyZW1vdmVDaGlsZDpmdW5jdGlvbihLKXt0aGlzLmNoaWxkTm9kZXMuc3BsaWNlKHRoaXMuY2hpbGROb2Rlcy5pbmRleE9mKEspPj4+MSwxKSxKLmgucmVtb3ZlQ2hpbGQoSyl9fX1jMChpMShoSix7Y29udGV4dDpKLmNvbnRleHR9LCQuX192KSxKLnYpfWZ1bmN0aW9uIEI4KCQsSil7dmFyIFE9aTEoZ0ose19fdjokLGg6Sn0pO3JldHVybiBRLmNvbnRhaW5lckluZm89SixRfSh0Mi5wcm90b3R5cGU9bmV3IHIxKS5fX2E9ZnVuY3Rpb24oJCl7dmFyIEo9dGhpcyxRPUk2KEouX192KSxaPUoubC5nZXQoJCk7cmV0dXJuIFpbMF0rKyxmdW5jdGlvbihLKXt2YXIgWT1mdW5jdGlvbigpe0oucHJvcHMucmV2ZWFsT3JkZXI/KFoucHVzaChLKSxDNihKLCQsWikpOksoKX07UT9RKFkpOlkoKX19LHQyLnByb3RvdHlwZS5yZW5kZXI9ZnVuY3Rpb24oJCl7dGhpcy5pPW51bGwsdGhpcy5sPW5ldyBNYXA7dmFyIEo9TTAoJC5jaGlsZHJlbik7JC5yZXZlYWxPcmRlciYmJC5yZXZlYWxPcmRlclswXT09PSJiIiYmSi5yZXZlcnNlKCk7Zm9yKHZhciBRPUoubGVuZ3RoO1EtLTspdGhpcy5sLnNldChKW1FdLHRoaXMuaT1bMSwwLHRoaXMuaV0pO3JldHVybiAkLmNoaWxkcmVufSx0Mi5wcm90b3R5cGUuY29tcG9uZW50RGlkVXBkYXRlPXQyLnByb3RvdHlwZS5jb21wb25lbnREaWRNb3VudD1mdW5jdGlvbigpe3ZhciAkPXRoaXM7dGhpcy5sLmZvckVhY2goZnVuY3Rpb24oSixRKXtDNigkLFEsSil9KX07dmFyIHc2PXR5cGVvZiBTeW1ib2w8InUiJiZTeW1ib2wuZm9yJiZTeW1ib2wuZm9yKCJyZWFjdC5lbGVtZW50Iil8fDYwMTAzLGZKPS9eKD86YWNjZW50fGFsaWdubWVudHxhcmFiaWN8YmFzZWxpbmV8Y2FwfGNsaXAoPyFQYXRoVSl8Y29sb3J8ZG9taW5hbnR8ZmlsbHxmbG9vZHxmb250fGdseXBoKD8hUil8aG9yaXp8aW1hZ2UoIVMpfGxldHRlcnxsaWdodGluZ3xtYXJrZXIoPyFIfFd8VSl8b3ZlcmxpbmV8cGFpbnR8cG9pbnRlcnxzaGFwZXxzdG9wfHN0cmlrZXRocm91Z2h8c3Ryb2tlfHRleHQoPyFMKXx0cmFuc2Zvcm18dW5kZXJsaW5lfHVuaWNvZGV8dW5pdHN8dnx2ZWN0b3J8dmVydHx3b3JkfHdyaXRpbmd8eCg/IUMpKVtBLVpdLyxtSj0vXm9uKEFuaXxUcmF8VG91fEJlZm9yZUlucHxDb21wbykvLHBKPS9bQS1aMC05XS9nLHVKPXR5cGVvZiBkb2N1bWVudDwidSIsbEo9ZnVuY3Rpb24oJCl7cmV0dXJuKHR5cGVvZiBTeW1ib2w8InUiJiZ0eXBlb2YgU3ltYm9sKCk9PSJzeW1ib2wiPy9maWx8Y2hlfHJhZC86L2ZpbHxjaGV8cmEvKS50ZXN0KCQpfTtmdW5jdGlvbiBkSigkLEosUSl7cmV0dXJuIEouX19rPT1udWxsJiYoSi50ZXh0Q29udGVudD0iIiksYzAoJCxKKSx0eXBlb2YgUT09ImZ1bmN0aW9uIiYmUSgpLCQ/JC5fX2M6bnVsbH1mdW5jdGlvbiBjSigkLEosUSl7cmV0dXJuIGw1KCQsSiksdHlwZW9mIFE9PSJmdW5jdGlvbiImJlEoKSwkPyQuX19jOm51bGx9cjEucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9ITAsWyJjb21wb25lbnRXaWxsTW91bnQiLCJjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIiwiY29tcG9uZW50V2lsbFVwZGF0ZSJdLmZvckVhY2goZnVuY3Rpb24oJCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIxLnByb3RvdHlwZSwkLHtjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXNbIlVOU0FGRV8iKyRdfSxzZXQ6ZnVuY3Rpb24oSil7T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsJCx7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOkp9KX19KX0pO3ZhciBINj1KMS5ldmVudDtKMS5ldmVudD1mdW5jdGlvbigkKXtyZXR1cm4gSDYmJigkPUg2KCQpKSwkLnBlcnNpc3Q9ZnVuY3Rpb24oKXt9LCQuaXNQcm9wYWdhdGlvblN0b3BwZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jYW5jZWxCdWJibGV9LCQuaXNEZWZhdWx0UHJldmVudGVkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGVmYXVsdFByZXZlbnRlZH0sJC5uYXRpdmVFdmVudD0kfTt2YXIgTjgsb0o9e2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jbGFzc319LE82PUoxLnZub2RlO0oxLnZub2RlPWZ1bmN0aW9uKCQpe3R5cGVvZiAkLnR5cGU9PSJzdHJpbmciJiZmdW5jdGlvbihKKXt2YXJ7cHJvcHM6USx0eXBlOlp9PUosSz17fSxZPVouaW5kZXhPZigiLSIpPT0tMTtmb3IodmFyIHEgaW4gUSl7dmFyIEc9UVtxXTtpZighKHE9PT0idmFsdWUiJiYoImRlZmF1bHRWYWx1ZSJpbiBRKSYmRz09bnVsbHx8dUomJnE9PT0iY2hpbGRyZW4iJiZaPT09Im5vc2NyaXB0Inx8cT09PSJjbGFzcyJ8fHE9PT0iY2xhc3NOYW1lIikpe3ZhciBCPXEudG9Mb3dlckNhc2UoKTtxPT09ImRlZmF1bHRWYWx1ZSImJiJ2YWx1ZSJpbiBRJiZRLnZhbHVlPT1udWxsP3E9InZhbHVlIjpxPT09ImRvd25sb2FkIiYmRz09PSEwP0c9IiI6Qj09PSJ0cmFuc2xhdGUiJiZHPT09Im5vIj9HPSExOkJbMF09PT0ibyImJkJbMV09PT0ibiI/Qj09PSJvbmRvdWJsZWNsaWNrIj9xPSJvbmRibGNsaWNrIjpCIT09Im9uY2hhbmdlInx8WiE9PSJpbnB1dCImJlohPT0idGV4dGFyZWEifHxsSihRLnR5cGUpP0I9PT0ib25mb2N1cyI/cT0ib25mb2N1c2luIjpCPT09Im9uYmx1ciI/cT0ib25mb2N1c291dCI6bUoudGVzdChxKSYmKHE9Qik6Qj1xPSJvbmlucHV0IjpZJiZmSi50ZXN0KHEpP3E9cS5yZXBsYWNlKHBKLCItJCYiKS50b0xvd2VyQ2FzZSgpOkc9PT1udWxsJiYoRz12b2lkIDApLEI9PT0ib25pbnB1dCImJktbcT1CXSYmKHE9Im9uaW5wdXRDYXB0dXJlIiksS1txXT1HfX1aPT0ic2VsZWN0IiYmKEsubXVsdGlwbGUmJkFycmF5LmlzQXJyYXkoSy52YWx1ZSkmJihLLnZhbHVlPU0wKFEuY2hpbGRyZW4pLmZvckVhY2goZnVuY3Rpb24oTil7Ti5wcm9wcy5zZWxlY3RlZD1LLnZhbHVlLmluZGV4T2YoTi5wcm9wcy52YWx1ZSkhPS0xfSkpLEsuZGVmYXVsdFZhbHVlIT1udWxsJiYoSy52YWx1ZT1NMChRLmNoaWxkcmVuKS5mb3JFYWNoKGZ1bmN0aW9uKE4pe04ucHJvcHMuc2VsZWN0ZWQ9Sy5tdWx0aXBsZT9LLmRlZmF1bHRWYWx1ZS5pbmRleE9mKE4ucHJvcHMudmFsdWUpIT0tMTpLLmRlZmF1bHRWYWx1ZT09Ti5wcm9wcy52YWx1ZX0pKSksUS5jbGFzcyYmIVEuY2xhc3NOYW1lPyhLLmNsYXNzPVEuY2xhc3MsT2JqZWN0LmRlZmluZVByb3BlcnR5KEssImNsYXNzTmFtZSIsb0opKTpRLmNsYXNzTmFtZSYmKEsuY2xhc3M9Sy5jbGFzc05hbWU9US5jbGFzc05hbWUpLEoucHJvcHM9S30oJCksJC4kJHR5cGVvZj13NixPNiYmTzYoJCl9O3ZhciBNNj1KMS5fX3I7SjEuX19yPWZ1bmN0aW9uKCQpe002JiZNNigkKSxOOD0kLl9fY307dmFyIEE2PUoxLmRpZmZlZDtKMS5kaWZmZWQ9ZnVuY3Rpb24oJCl7QTYmJkE2KCQpO3Zhcntwcm9wczpKLF9fZTpRfT0kO1EhPW51bGwmJiQudHlwZT09PSJ0ZXh0YXJlYSImJiJ2YWx1ZSJpbiBKJiZKLnZhbHVlIT09US52YWx1ZSYmKFEudmFsdWU9Si52YWx1ZT09bnVsbD8iIjpKLnZhbHVlKSxOOD1udWxsfTt2YXIgaUo9e1JlYWN0Q3VycmVudERpc3BhdGNoZXI6e2N1cnJlbnQ6e3JlYWRDb250ZXh0OmZ1bmN0aW9uKCQpe3JldHVybiBOOC5fX25bJC5fX2NdLnByb3BzLnZhbHVlfSx1c2VDYWxsYmFjazpJLHVzZUNvbnRleHQ6eTAsdXNlRGVidWdWYWx1ZTpvNSx1c2VEZWZlcnJlZFZhbHVlOkQ2LHVzZUVmZmVjdDpFLHVzZUlkOkQyLHVzZUltcGVyYXRpdmVIYW5kbGU6YzUsdXNlSW5zZXJ0aW9uRWZmZWN0OlA2LHVzZUxheW91dEVmZmVjdDpiMCx1c2VNZW1vOmIxLHVzZVJlZHVjZXI6RzIsdXNlUmVmOkQsdXNlU3RhdGU6QSx1c2VTeW5jRXh0ZXJuYWxTdG9yZTpGNix1c2VUcmFuc2l0aW9uOl82fX19O2Z1bmN0aW9uIG5KKCQpe3JldHVybiBpMS5iaW5kKG51bGwsJCl9ZnVuY3Rpb24gcjUoJCl7cmV0dXJuISEkJiYkLiQkdHlwZW9mPT09dzZ9ZnVuY3Rpb24gckooJCl7cmV0dXJuIHI1KCQpJiYkLnR5cGU9PT1YMX1mdW5jdGlvbiBhSigkKXtyZXR1cm4hISQmJnR5cGVvZiAkLmRpc3BsYXlOYW1lPT0ic3RyaW5nIiYmJC5kaXNwbGF5TmFtZS5pbmRleE9mKCJNZW1vKCIpPT0wfWZ1bmN0aW9uIHNKKCQpe3JldHVybiByNSgkKT9ROC5hcHBseShudWxsLGFyZ3VtZW50cyk6JH1mdW5jdGlvbiB0SigkKXtyZXR1cm4hISQuX19rJiYoYzAobnVsbCwkKSwhMCl9ZnVuY3Rpb24gZUooJCl7cmV0dXJuICQmJigkLmJhc2V8fCQubm9kZVR5cGU9PT0xJiYkKXx8bnVsbH12YXIgJFE9ZnVuY3Rpb24oJCxKKXtyZXR1cm4gJChKKX0sSlE9ZnVuY3Rpb24oJCxKKXt2YXIgUT1KMS5kZWJvdW5jZVJlbmRlcmluZztKMS5kZWJvdW5jZVJlbmRlcmluZz1mdW5jdGlvbihLKXtyZXR1cm4gSygpfTt2YXIgWj0kKEopO3JldHVybiBKMS5kZWJvdW5jZVJlbmRlcmluZz1RLFp9LFFRPXI1LGc9e3VzZVN0YXRlOkEsdXNlSWQ6RDIsdXNlUmVkdWNlcjpHMix1c2VFZmZlY3Q6RSx1c2VMYXlvdXRFZmZlY3Q6YjAsdXNlSW5zZXJ0aW9uRWZmZWN0OlA2LHVzZVRyYW5zaXRpb246XzYsdXNlRGVmZXJyZWRWYWx1ZTpENix1c2VTeW5jRXh0ZXJuYWxTdG9yZTpGNixzdGFydFRyYW5zaXRpb246VzYsdXNlUmVmOkQsdXNlSW1wZXJhdGl2ZUhhbmRsZTpjNSx1c2VNZW1vOmIxLHVzZUNhbGxiYWNrOkksdXNlQ29udGV4dDp5MCx1c2VEZWJ1Z1ZhbHVlOm81LHZlcnNpb246IjE4LjMuMSIsQ2hpbGRyZW46akoscmVuZGVyOmRKLGh5ZHJhdGU6Y0osdW5tb3VudENvbXBvbmVudEF0Tm9kZTp0SixjcmVhdGVQb3J0YWw6QjgsY3JlYXRlRWxlbWVudDppMSxjcmVhdGVDb250ZXh0OncwLGNyZWF0ZUZhY3Rvcnk6bkosY2xvbmVFbGVtZW50OnNKLGNyZWF0ZVJlZjpzMixGcmFnbWVudDpYMSxpc1ZhbGlkRWxlbWVudDpyNSxpc0VsZW1lbnQ6UVEsaXNGcmFnbWVudDpySixpc01lbW86YUosZmluZERPTU5vZGU6ZUosQ29tcG9uZW50OnIxLFB1cmVDb21wb25lbnQ6VjgsbWVtbzpWMixmb3J3YXJkUmVmOnYwLGZsdXNoU3luYzpKUSx1bnN0YWJsZV9iYXRjaGVkVXBkYXRlczokUSxTdHJpY3RNb2RlOlgxLFN1c3BlbnNlOm41LFN1c3BlbnNlTGlzdDp0MixsYXp5OlJKLF9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEOmlKfTt2YXIgZTI9e3BvcnRyYWl0OiJsYW5kc2NhcGVfbGVmdCIsbGFuZHNjYXBlX2xlZnQ6InBvcnRyYWl0X3Vwc2lkZV9kb3duIixwb3J0cmFpdF91cHNpZGVfZG93bjoibGFuZHNjYXBlX3JpZ2h0IixsYW5kc2NhcGVfcmlnaHQ6InBvcnRyYWl0In0sTDg9e3BvcnRyYWl0OiJsYW5kc2NhcGVfcmlnaHQiLGxhbmRzY2FwZV9yaWdodDoicG9ydHJhaXRfdXBzaWRlX2Rvd24iLHBvcnRyYWl0X3Vwc2lkZV9kb3duOiJsYW5kc2NhcGVfbGVmdCIsbGFuZHNjYXBlX2xlZnQ6InBvcnRyYWl0In07dmFyIF8yPTM7ZnVuY3Rpb24gejgoJCl7cmV0dXJuICQ+PTAuOTM/Mzp2b2lkIDB9ZnVuY3Rpb24gVTgoJCl7cmV0dXJuICQ9PT0ibGFuZHNjYXBlX2xlZnQifHwkPT09ImxhbmRzY2FwZV9yaWdodCJ9ZnVuY3Rpb24gJDIoJCl7cmV0dXJuISEkJiYoVTgoJC5vcmllbnRhdGlvbil8fCQud2lkdGg+JC5oZWlnaHQpfWZ1bmN0aW9uIFAyKCQpe2lmKCEkfHwkLndpZHRoPD0wfHwkLmhlaWdodDw9MClyZXR1cm4gbnVsbDtsZXQgSj1VOCgkLm9yaWVudGF0aW9uKXx8JC53aWR0aD4kLmhlaWdodCxRPUo/TWF0aC5tYXgoJC53aWR0aCwkLmhlaWdodCk6TWF0aC5taW4oJC53aWR0aCwkLmhlaWdodCksWj1KP01hdGgubWluKCQud2lkdGgsJC5oZWlnaHQpOk1hdGgubWF4KCQud2lkdGgsJC5oZWlnaHQpO2lmKFE9PT0kLndpZHRoJiZaPT09JC5oZWlnaHQpcmV0dXJuICQ7cmV0dXJuey4uLiQsd2lkdGg6USxoZWlnaHQ6Wn19ZnVuY3Rpb24gVDIoJCl7bGV0IEo9UDIoJCksUT1iNigkPy5vcmllbnRhdGlvbiksWj1NYXRoLmFicyhRKT09PTkwLEs9ISEkJiYkLndpZHRoPiQuaGVpZ2h0LFk9UT09PTE4MHx8WiYmIUs7cmV0dXJue2Rpc3BsYXlDb25maWc6Sixyb3RhdGlvbkRlZ3JlZXM6WT9ROjAsbmVlZHNDc3NSb3RhdGlvbjpZLGlucHV0T3JpZW50YXRpb246WT8kPy5vcmllbnRhdGlvbjp2b2lkIDB9fWZ1bmN0aW9uIGI2KCQpe3N3aXRjaCgkKXtjYXNlImxhbmRzY2FwZV9sZWZ0IjpyZXR1cm4gOTA7Y2FzZSJsYW5kc2NhcGVfcmlnaHQiOnJldHVybi05MDtjYXNlInBvcnRyYWl0X3Vwc2lkZV9kb3duIjpyZXR1cm4gMTgwO2RlZmF1bHQ6cmV0dXJuIDB9fWZ1bmN0aW9uIEUyKCQsSixRKXtzd2l0Y2goJCl7Y2FzZSJsYW5kc2NhcGVfbGVmdCI6cmV0dXJue3g6USx5OjEtSn07Y2FzZSJsYW5kc2NhcGVfcmlnaHQiOnJldHVybnt4OjEtUSx5Okp9O2Nhc2UicG9ydHJhaXRfdXBzaWRlX2Rvd24iOnJldHVybnt4OjEtSix5OjEtUX07ZGVmYXVsdDpyZXR1cm57eDpKLHk6UX19fWZ1bmN0aW9uIHk2KCQsSixRKXtzd2l0Y2goJCl7Y2FzZSJsYW5kc2NhcGVfbGVmdCI6cmV0dXJue2R4OlEsZHk6LUp9O2Nhc2UibGFuZHNjYXBlX3JpZ2h0IjpyZXR1cm57ZHg6LVEsZHk6Sn07Y2FzZSJwb3J0cmFpdF91cHNpZGVfZG93biI6cmV0dXJue2R4Oi1KLGR5Oi1RfTtkZWZhdWx0OnJldHVybntkeDpKLGR5OlF9fX1mdW5jdGlvbiBDOCgkLEope3N3aXRjaCgkKXtjYXNlImxhbmRzY2FwZV9sZWZ0Ijpzd2l0Y2goSil7Y2FzZSAxOnJldHVybiAzO2Nhc2UgNDpyZXR1cm4gMjtjYXNlIDI6cmV0dXJuIDE7Y2FzZSAzOnJldHVybiA0O2RlZmF1bHQ6cmV0dXJuIEp9Y2FzZSJsYW5kc2NhcGVfcmlnaHQiOnN3aXRjaChKKXtjYXNlIDE6cmV0dXJuIDI7Y2FzZSA0OnJldHVybiAzO2Nhc2UgMjpyZXR1cm4gNDtjYXNlIDM6cmV0dXJuIDE7ZGVmYXVsdDpyZXR1cm4gSn1jYXNlInBvcnRyYWl0X3Vwc2lkZV9kb3duIjpzd2l0Y2goSil7Y2FzZSAxOnJldHVybiA0O2Nhc2UgNDpyZXR1cm4gMTtjYXNlIDI6cmV0dXJuIDM7Y2FzZSAzOnJldHVybiAyO2RlZmF1bHQ6cmV0dXJuIEp9ZGVmYXVsdDpyZXR1cm4gSn19dmFyIFM2PTE2O2Z1bmN0aW9uICQ1KCQsSixRKXtpZighTnVtYmVyLmlzRmluaXRlKCQpKXJldHVybiBudWxsO2xldCBaPU51bWJlci5pc0Zpbml0ZShRKSYmUT4wP1E6MSxLPUo9PT0xPyQqMTY6Sj09PTI/JCpaOiQsWT1NYXRoLm1heCgtMjAwLE1hdGgubWluKDIwMCxLKSk7cmV0dXJuIE1hdGguYWJzKFkpPDAuMDE/bnVsbDpZfWZ1bmN0aW9uIEg4KCQsSixRKXtpZighTnVtYmVyLmlzRmluaXRlKCQpKXJldHVybiAwO2xldCBaPU51bWJlci5pc0Zpbml0ZShRKSYmUT4wP1E6MTtpZihKPT09MSlyZXR1cm4gJCpTNjtpZihKPT09MilyZXR1cm4gJCpaO3JldHVybiAkfWZ1bmN0aW9uIHg2KCQsSixRKXtpZighSnx8Si53aWR0aDw9MHx8Si5oZWlnaHQ8PTApcmV0dXJuIG51bGw7bGV0IFo9Si5vcmllbnRhdGlvbj09PXZvaWQgMCYmJD8ub3JpZW50YXRpb24/ey4uLkosb3JpZW50YXRpb246JC5vcmllbnRhdGlvbn06SjtpZigkJiYkLndpZHRoPT09Wi53aWR0aCYmJC5oZWlnaHQ9PT1aLmhlaWdodCYmJC5vcmllbnRhdGlvbj09PVoub3JpZW50YXRpb24pcmV0dXJuIG51bGw7cmV0dXJue2NvbmZpZzpaLG5vdGlmeVBhcmVudDpRIT09ImV4dGVybmFsIn19ZnVuY3Rpb24gajYoe3N0cmVhbU1vZGU6JCxhdmNjU3VwcG9ydGVkOkosaGFzRXh0ZXJuYWxJbnB1dDpRLGhhc0V4dGVybmFsRnJhbWVzOlp9KXtsZXQgSz0kPT09ImF2Y2MiJiYhSj8ibWpwZWciOiQsWT1LPT09IndlYnJ0YyIscT1LPT09ImF2Y2MiLEc9Sz09PSJtanBlZyImJlo7cmV0dXJue2VmZmVjdGl2ZVN0cmVhbU1vZGU6Syx1c2VXZWJSdGM6WSx1c2VBdmNjOnEsZXh0ZXJuYWxJbnB1dDpRLGV4dGVybmFsTWpwZWc6RyxvcGVuRGlyZWN0Q29udHJvbFNvY2tldDohUSxvcGVuRGlyZWN0TWpwZWc6Sz09PSJtanBlZyImJiFHfX12YXIgWlE9e1sxXToiZGVzY3JpcHRpb24iLFsyXToia2V5ZnJhbWUiLFszXToiZGVsdGEiLFs0XToic2VlZCJ9O2NsYXNzIGE1e2J1ZmZlcj1uZXcgVWludDhBcnJheSg2NTUzNik7bGVuPTA7c3RhcnQ9MDthcHBlbmQoJCl7aWYodGhpcy5sZW4rJC5sZW5ndGg+dGhpcy5idWZmZXIubGVuZ3RoKXtpZih0aGlzLnN0YXJ0PjApdGhpcy5idWZmZXIuY29weVdpdGhpbigwLHRoaXMuc3RhcnQsdGhpcy5sZW4pLHRoaXMubGVuLT10aGlzLnN0YXJ0LHRoaXMuc3RhcnQ9MDtpZih0aGlzLmxlbiskLmxlbmd0aD50aGlzLmJ1ZmZlci5sZW5ndGgpe2xldCBKPXRoaXMuYnVmZmVyLmxlbmd0aDt3aGlsZShKPHRoaXMubGVuKyQubGVuZ3RoKUoqPTI7bGV0IFE9bmV3IFVpbnQ4QXJyYXkoSik7US5zZXQodGhpcy5idWZmZXIuc3ViYXJyYXkoMCx0aGlzLmxlbikpLHRoaXMuYnVmZmVyPVF9fXRoaXMuYnVmZmVyLnNldCgkLHRoaXMubGVuKSx0aGlzLmxlbis9JC5sZW5ndGh9cHVzaCgkKXtpZigkLmxlbmd0aD4wKXRoaXMuYXBwZW5kKCQpO2xldCBKPVtdLFE9dGhpcy5idWZmZXI7d2hpbGUodGhpcy5sZW4tdGhpcy5zdGFydD49NCl7bGV0IFo9dGhpcy5zdGFydCxLPShRW1pdPDwyNHxRW1orMV08PDE2fFFbWisyXTw8OHxRW1orM10pPj4+MDtpZih0aGlzLmxlbi1aLTQ8SylicmVhaztpZihLPDEpe3RoaXMuc3RhcnQrPTQ7Y29udGludWV9bGV0IFk9UVtaKzRdLHE9WlFbWV07aWYocSlKLnB1c2goe3R5cGU6cSxwYXlsb2FkOlEuc2xpY2UoWis1LForNCtLKX0pO3RoaXMuc3RhcnQrPTQrS31pZih0aGlzLnN0YXJ0PjApe2lmKHRoaXMuc3RhcnQ8dGhpcy5sZW4pdGhpcy5idWZmZXIuY29weVdpdGhpbigwLHRoaXMuc3RhcnQsdGhpcy5sZW4pO3RoaXMubGVuLT10aGlzLnN0YXJ0LHRoaXMuc3RhcnQ9MH1yZXR1cm4gSn1yZXNldCgpe3RoaXMubGVuPTAsdGhpcy5zdGFydD0wfX1mdW5jdGlvbiBPOCgkKXtpZigkLmxlbmd0aDw0KXJldHVybiJhdmMxLjQyRTAxRSI7bGV0IEo9KFEpPT5RLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCIwIik7cmV0dXJuImF2YzEuIitKKCRbMV0pK0ooJFsyXSkrSigkWzNdKX1mdW5jdGlvbiBCMigpe3JldHVybiB0eXBlb2YgZ2xvYmFsVGhpczwidSImJnR5cGVvZiBnbG9iYWxUaGlzLlZpZGVvRGVjb2RlcjwidSJ9dmFyIFhRPTEwMDAsS1E9MTY2Njc7ZnVuY3Rpb24gTTgoe3VybDokLGVuYWJsZWQ6SixjYW52YXNSZWY6USxvbkZpcnN0RnJhbWU6WixvbkZyYW1lOkssb25EZWNvZGVkRnJhbWU6WSxvbkVycm9yOnEsb25EZWNvZGVyRXJyb3I6R30pe2xldCBCPUQoe29uRmlyc3RGcmFtZTpaLG9uRnJhbWU6SyxvbkRlY29kZWRGcmFtZTpZLG9uRXJyb3I6cSxvbkRlY29kZXJFcnJvcjpHfSk7Qi5jdXJyZW50PXtvbkZpcnN0RnJhbWU6WixvbkZyYW1lOkssb25EZWNvZGVkRnJhbWU6WSxvbkVycm9yOnEsb25EZWNvZGVyRXJyb3I6R30sRSgoKT0+e2lmKCFKfHwhJHx8IUIyKCkpcmV0dXJuO2xldCBOPW5ldyBBYm9ydENvbnRyb2xsZXIsTD1uZXcgYTUsVj0hMSx6PSExLEM9ITEsTT0wLFU9bnVsbCxIPW51bGwsTz0oKT0+IVYmJiFOLnNpZ25hbC5hYm9ydGVkLGs9KHIpPT57aWYoQi5jdXJyZW50Lm9uRGVjb2RlckVycm9yKUIuY3VycmVudC5vbkRlY29kZXJFcnJvcigpO2Vsc2UgQi5jdXJyZW50Lm9uRXJyb3I/LihyKX0sdz0ocixpLFoxLGgpPT57aWYoIU8oKSlyZXR1cm47bGV0IEsxPVEuY3VycmVudDtpZighSzEpcmV0dXJuO2lmKEsxLndpZHRoIT09aXx8SzEuaGVpZ2h0IT09WjEpSzEud2lkdGg9aSxLMS5oZWlnaHQ9WjE7bGV0IHY9SzEuZ2V0Q29udGV4dCgiMmQiKTtpZighdilyZXR1cm47aWYodi5kcmF3SW1hZ2UociwwLDAsaSxaMSksQi5jdXJyZW50Lm9uRnJhbWU/LigpLGgmJiFDKUM9ITAsQi5jdXJyZW50Lm9uRGVjb2RlZEZyYW1lPy4oKTtpZigheil6PSEwLEIuY3VycmVudC5vbkZpcnN0RnJhbWU/LigpfSxQPSgpPT5uZXcgVmlkZW9EZWNvZGVyKHtvdXRwdXQ6KHIpPT57dHJ5e2lmKE8oKSl3KHIsci5kaXNwbGF5V2lkdGgsci5kaXNwbGF5SGVpZ2h0LCEwKX1maW5hbGx5e3IuY2xvc2UoKX19LGVycm9yOihyKT0+ayhgZGVjb2RlcjogJHtyLm1lc3NhZ2V9YCl9KSx4PWFzeW5jKHIpPT57bGV0IGk9YXdhaXQgY3JlYXRlSW1hZ2VCaXRtYXAobmV3IEJsb2IoW3JdLHt0eXBlOiJpbWFnZS9qcGVnIn0pKTt0cnl7aWYoTygpKXcoaSxpLndpZHRoLGkuaGVpZ2h0LCExKX1maW5hbGx5e2kuY2xvc2UoKX19LEY9KHIpPT57aWYoIUh8fEguc3RhdGU9PT0iY2xvc2VkIilIPVAoKTt0cnl7SC5jb25maWd1cmUoe2NvZGVjOk84KHIpLGRlc2NyaXB0aW9uOnIsb3B0aW1pemVGb3I6ImxhdGVuY3kiLGhhcmR3YXJlQWNjZWxlcmF0aW9uOiJwcmVmZXItaGFyZHdhcmUifSl9Y2F0Y2goaSl7ayhgY29uZmlnOiAke2kubWVzc2FnZX1gKX19LGM9KHIsaSk9PntpZihIPy5zdGF0ZSE9PSJjb25maWd1cmVkIilyZXR1cm47dHJ5e0guZGVjb2RlKG5ldyBFbmNvZGVkVmlkZW9DaHVuayh7dHlwZTpyPT09ImtleWZyYW1lIj8ia2V5IjoiZGVsdGEiLHRpbWVzdGFtcDpNLGRhdGE6aX0pKSxNKz1LUX1jYXRjaHt9fSxqPShyLGkpPT57c3dpdGNoKHIpe2Nhc2Uic2VlZCI6eChpKS5jYXRjaCgoKT0+e30pO3JldHVybjtjYXNlImRlc2NyaXB0aW9uIjpGKGkpO3JldHVybjtjYXNlImtleWZyYW1lIjpjYXNlImRlbHRhIjpjKHIsaSk7cmV0dXJufX0sbT0oKT0+e2lmKCFPKCl8fFUpcmV0dXJuO1U9c2V0VGltZW91dCgoKT0+e1U9bnVsbCxzKCl9LFhRKX0scz1hc3luYygpPT57TC5yZXNldCgpO3RyeXtsZXQgaT0oYXdhaXQgZmV0Y2goYCR7JH0vc3RyZWFtLmF2Y2NgLHtzaWduYWw6Ti5zaWduYWx9KSkuYm9keT8uZ2V0UmVhZGVyKCk7aWYoIWkpcmV0dXJuO2Zvcig7Oyl7bGV0e2RvbmU6WjEsdmFsdWU6aH09YXdhaXQgaS5yZWFkKCk7aWYoWjEpYnJlYWs7aWYoIWgpY29udGludWU7Zm9yKGxldCBLMSBvZiBMLnB1c2goaCkpaihLMS50eXBlLEsxLnBheWxvYWQpfX1jYXRjaHt9ZmluYWxseXtpZihPKCkpbSgpfX07cmV0dXJuIHMoKSwoKT0+e2lmKFY9ITAsVSljbGVhclRpbWVvdXQoVSk7aWYoTi5hYm9ydCgpLEwucmVzZXQoKSxIJiZILnN0YXRlIT09ImNsb3NlZCIpdHJ5e0guY2xvc2UoKX1jYXRjaHt9SD1udWxsfX0sWyQsSixRXSl9dmFyIHY2PTI4MDt2YXIgdDU9MTM2O2Z1bmN0aW9uIEE4KCQsSil7cmV0dXJuICQ+MCYmSj4wJiYkLUo+PTEyMH1mdW5jdGlvbiBKNSgpe2lmKHR5cGVvZiB3aW5kb3c+InUiKXJldHVybiExO2xldCAkPXdpbmRvdy52aXN1YWxWaWV3cG9ydDtyZXR1cm4gQTgod2luZG93LmlubmVySGVpZ2h0LCQ/LmhlaWdodD8/d2luZG93LmlubmVySGVpZ2h0KX12YXIgazg9MCxGOD0id2lkdGggNzBtcyBsaW5lYXIiO3ZhciBlNT0yODAsJDM9InRyYW5zZm9ybSAwLjI4cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpIixSNj0icGFkZGluZyAwLjI0cyBjdWJpYy1iZXppZXIoMC4yMiwgMSwgMC4zNiwgMSkiLGg2PSJjdWJpYy1iZXppZXIoMC4yLCAwLjgyLCAwLjIyLCAxKSIsSjM9ImN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSkiLGc2PSJsaW5lYXIoMCwgMC4zMiA5JSwgMC42MiAxOCUsIDAuODUgMjclLCAxLjAxIDM2JSwgMS4wNyA0NSUsIDEuMDUgNTYlLCAxLjAyIDcwJSwgMSkiLGY2PSIwLjE2cyIsbTY9IjAuMnMiLHA2PTUsdTY9e2lkbGU6MSxob3ZlcjoxLjA5LGRyYWc6MS4xMn0sbDY9e2lkbGU6IiM2ODZlNzgiLGhvdmVyOiIjYjdiYmMyIixkcmFnOiIjZjRmNmZhIn0sZDY9e2lkbGU6Mi42NSxob3Zlcjo0LjE1LGRyYWc6NC42NX0sYzY9e2lkbGU6MC4zOCxob3ZlcjowLjg2LGRyYWc6MX0sczU9bnVsbDtmdW5jdGlvbiBvNigpe2lmKHM1IT1udWxsKXJldHVybiBzNTtpZih0eXBlb2YgQ1NTPiJ1Inx8dHlwZW9mIENTUy5zdXBwb3J0cyE9PSJmdW5jdGlvbiIpcmV0dXJuITE7cmV0dXJuIHM1PUNTUy5zdXBwb3J0cygiYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbiIsImxpbmVhcigwLCAxKSIpLHM1fXZhciBZUT00MCxpNj0xNCxuNj0yNDAscjY9MzAsYTY9MC4xNSxxUT04MCxzNj0xNTAsdDY9MjUwLFc4PSJzZXJ2ZS1zaW06c2ltdWxhdG9yLWZyYW1lLXNjYWxlIjtmdW5jdGlvbiBEOCgkLEosUSxaLEs9MTM2KXtsZXQgWT0kKjMscT1KPjA/TWF0aC5tYXgoMTgwLEotNDgpOlksRz1RPjAmJk51bWJlci5pc0Zpbml0ZShaKSYmWj4wP01hdGgubWF4KDAsKFEtSykqWik6WTtyZXR1cm4gTWF0aC5tYXgoTWF0aC5taW4oMTgwLEcpLE1hdGgubWluKFkscSxHKSl9ZnVuY3Rpb24gZTYoJCxKLFEsWj1rOCxLPUkyKCkpe2xldCBZPSQ+MD9NYXRoLm1heCgwLCQtWioyKTowLHE9Sj4wJiZOdW1iZXIuaXNGaW5pdGUoUSkmJlE+MD9NYXRoLm1heCgwLEotWioyKSpROlk7cmV0dXJuIEdRKE1hdGgubWF4KDAsTWF0aC5taW4oWSxxKSksSyl9ZnVuY3Rpb24gJDQoJCxKLFEsWixLPUkyKCkpe2xldCBZPVYwKCQsSykscT1WMChKLEspO3JldHVybnt3aWR0aDpZLGhlaWdodDpxLGZpbGxzVmlld3BvcnQ6WT09PVEmJnE9PT1afX1mdW5jdGlvbiBOMigkLEosUSxaLEssWT0xMzYpe2xldCBxPUQ4KEosUSxaLEssWSksRz1NYXRoLm1pbigyODAscSk7cmV0dXJuIE1hdGgubWluKHEsTWF0aC5tYXgoRywkKSl9ZnVuY3Rpb24gSjQoJCxKLFEsWixLLFk9MTM2KXtsZXQgcT1OdW1iZXIuaXNGaW5pdGUoSyk/JCpLOiQ7cmV0dXJuIE4yKHEsJCxKLFEsWixZKX1mdW5jdGlvbiBJMigpe3JldHVybiB0eXBlb2Ygd2luZG93PCJ1Ij9NYXRoLm1heCgxLHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfHwxKToxfWZ1bmN0aW9uIEdRKCQsSj1JMigpKXtpZighTnVtYmVyLmlzRmluaXRlKCQpKXJldHVybiAkO3JldHVybiBNYXRoLmZsb29yKCQqSikvSn1mdW5jdGlvbiBWMCgkLEo9STIoKSl7aWYoIU51bWJlci5pc0Zpbml0ZSgkKSlyZXR1cm4gJDtyZXR1cm4gTWF0aC5yb3VuZCgkKkopL0p9ZnVuY3Rpb24gXzgoJCxKKXtpZigkPD0wfHxKPD0wKXJldHVybiAwO2xldCBRPTAuNTUsWj0kKkoqUS8oSitRKiQpO3JldHVybiBNYXRoLm1pbihZUSxaKX1mdW5jdGlvbiBRNCgkLEosUSl7bGV0IFo9JCxLPVE7Zm9yKGxldCBZIG9mIEope2xldCBxPU1hdGguYWJzKCQtWSk7aWYocTxLKVo9WSxLPXF9cmV0dXJuIFp9ZnVuY3Rpb24gWjQoJCl7bGV0e2Zyb206Six0bzpRLHZlbG9jaXR5Olosc3RpZmZuZXNzOkssZGFtcGluZzpZLG9uVXBkYXRlOnEsb25Db21wbGV0ZTpHfT0kLEI9MC40LE49MC4wMzMzMzMzMzMzMzMzMzMzMyxMPUosVj1aLHo9cGVyZm9ybWFuY2Uubm93KCksQz0wLE09ITEsVT0oSCk9PntpZihNKXJldHVybjtsZXQgTz1NYXRoLm1pbigoSC16KS8xMDAwLDAuMDMzMzMzMzMzMzMzMzMzMzMpO3o9SDtsZXQgaz0tSyooTC1RKS1ZKlY7aWYoVis9aypPLEwrPVYqTyxNYXRoLmFicyhWKTwwLjQmJk1hdGguYWJzKEwtUSk8MC40KXtxKFEpLEc/LigpO3JldHVybn1xKEwpLEM9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKFUpfTtyZXR1cm4gQz1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoVSksKCk9PntpZihNPSEwLEMpY2FuY2VsQW5pbWF0aW9uRnJhbWUoQyl9fWZ1bmN0aW9uIFg0KCQpe2lmKCQubGVuZ3RoPDIpcmV0dXJuIDA7bGV0IEo9JFskLmxlbmd0aC0xXSxRPSRbMF07Zm9yKGxldCBLPSQubGVuZ3RoLTE7Sz49MDtLLS0paWYoSi50LSRbS10udD49cVEpe1E9JFtLXTticmVha31sZXQgWj0oSi50LVEudCkvMTAwMDtyZXR1cm4gWj4wPyhKLngtUS54KS9aOjB9ZnVuY3Rpb24gSzQoJCxKKXtsZXQgUT0wLFo9MCxLPSgpPT57bGV0e3ZpZGVvV2lkdGg6WSx2aWRlb0hlaWdodDpxfT0kO2lmKFk8PTB8fHE8PTB8fFk9PT1RJiZxPT09WilyZXR1cm47UT1ZLFo9cSxKKHt3aWR0aDpZLGhlaWdodDpxfSl9O3JldHVybiAkLmFkZEV2ZW50TGlzdGVuZXIoImxvYWRlZG1ldGFkYXRhIixLKSwkLmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsSyksSygpLHtjaGVjazpLLGRpc2Nvbm5lY3QoKXskLnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWRlZG1ldGFkYXRhIixLKSwkLnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsSyl9fX12YXIgVlE9MDtmdW5jdGlvbiBYKCQsSixRLFosSyxZKXtKfHwoSj17fSk7dmFyIHEsRyxCPUo7aWYoInJlZiJpbiBCKWZvcihHIGluIEI9e30sSilHPT0icmVmIj9xPUpbR106QltHXT1KW0ddO3ZhciBOPXt0eXBlOiQscHJvcHM6QixrZXk6USxyZWY6cSxfX2s6bnVsbCxfXzpudWxsLF9fYjowLF9fZTpudWxsLF9fYzpudWxsLGNvbnN0cnVjdG9yOnZvaWQgMCxfX3Y6LS1WUSxfX2k6LTEsX191OjAsX19zb3VyY2U6SyxfX3NlbGY6WX07aWYodHlwZW9mICQ9PSJmdW5jdGlvbiImJihxPSQuZGVmYXVsdFByb3BzKSlmb3IoRyBpbiBxKUJbR109PT12b2lkIDAmJihCW0ddPXFbR10pO3JldHVybiBKMS52bm9kZSYmSjEudm5vZGUoTiksTn12YXIgWTQ9YHVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCclM0UlM0NjaXJjbGUgY3g9JzEyJyBjeT0nMTInIHI9JzknIGZpbGw9J3JnYmEoMjU1LDI1NSwyNTUsMC40NSknIHN0cm9rZT0ncmdiYSgwLDAsMCwwLjU1KScgc3Ryb2tlLXdpZHRoPScxLjI1JyBmaWx0ZXI9J2Ryb3Atc2hhZG93KDAgMXB4IDJweCByZ2JhKDAsMCwwLDAuNDUpKScvJTNFJTNDL3N2ZyUzRSIpIDEyIDEyLCBwb2ludGVyYCxCUT0xLjAwNCxOUT0zLExRPTQselE9NSxVUT0xMCxDUT0xMTtmdW5jdGlvbiBRMyh7dXJsOiQsd3NVcmw6SixzdHlsZTpRLGltYWdlU3R5bGU6WixjbGFzc05hbWU6SyxvbkhvbWVQcmVzczpZLG9uU3RyZWFtVG91Y2g6cSxvblN0cmVhbU11bHRpVG91Y2g6RyxvblN0cmVhbUJ1dHRvbjpCLG9uU3RyZWFtRGlnaXRhbENyb3duOk4sb25TdHJlYW1TY3JvbGw6TCxlbmFibGVEaWdpdGFsQ3Jvd246VixzdWJzY3JpYmVGcmFtZTp6LHN0cmVhbUZyYW1lOkMsc3RyZWFtQ29uZmlnOk0sb25TY3JlZW5Db25maWdDaGFuZ2U6VSxoaWRlQ29udHJvbHM6SCxvblN0cmVhbWluZ0NoYW5nZTpPLGNvbm5lY3Rpb25RdWFsaXR5Omssc3RyZWFtTW9kZTp3PSJhdmNjIix3ZWJSdGNTdHJlYW06UCxvbldlYlJ0Y0ZyYW1lOngsc3RyZWFtRXJyb3I6RixvbkF2Y2NFcnJvcjpjLG9uQXZjY0RlY29kZWRGcmFtZTpqfSl7bGV0e3VzZVdlYlJ0YzptLHVzZUF2Y2M6cyxleHRlcm5hbElucHV0OnIsZXh0ZXJuYWxNanBlZzppLG9wZW5EaXJlY3RDb250cm9sU29ja2V0OloxLG9wZW5EaXJlY3RNanBlZzpofT1qNih7c3RyZWFtTW9kZTp3LGF2Y2NTdXBwb3J0ZWQ6QjIoKSxoYXNFeHRlcm5hbElucHV0OiEhcSxoYXNFeHRlcm5hbEZyYW1lczohIXp9KSxLMT1EKG51bGwpLHY9RChudWxsKSx6MT1EKG51bGwpLEgxPUQobnVsbCksVjE9RChudWxsKSxlPUQobnVsbCksYT1EKG51bGwpLFtZMSxSXT1BKCExKSxbdSxwXT1BKG51bGwpLFtTLG9dPUEobnVsbCksbD1EKG51bGwpLFcxPUQoITEpLEQxPUQoVSk7RDEuY3VycmVudD1VO2xldCB5MT1EKG51bGwpLFtPMSxUMF09QShudWxsKTtFKCgpPT57bGV0IF89eTEuY3VycmVudDtpZighX3x8dHlwZW9mIFJlc2l6ZU9ic2VydmVyPiJ1IilyZXR1cm47bGV0IFc9bmV3IFJlc2l6ZU9ic2VydmVyKChiKT0+e2xldCBmPWJbMF0/LmNvbnRlbnRSZWN0O2lmKGYpVDAoe3dpZHRoOlYwKGYud2lkdGgpLGhlaWdodDpWMChmLmhlaWdodCl9KX0pO3JldHVybiBXLm9ic2VydmUoXyksKCk9PlcuZGlzY29ubmVjdCgpfSxbXSk7bGV0W04wLEwwXT1BKDApLF8xPUQoMCksW0owLHEwXT1BKCExKSxUMT1JKChfLFc9InJlcG9ydGVkIik9PntpZihXPT09Im1lZGlhIiYmVzEuY3VycmVudClyZXR1cm47aWYoVyE9PSJtZWRpYSImJl8mJl8ud2lkdGg+MCYmXy5oZWlnaHQ+MClXMS5jdXJyZW50PSEwO2xldCBiPXg2KGwuY3VycmVudCxfLFcpO2lmKCFiKXJldHVybjtpZihsLmN1cnJlbnQ9Yi5jb25maWcsbyhiLmNvbmZpZyksYi5ub3RpZnlQYXJlbnQpRDEuY3VycmVudD8uKGIuY29uZmlnKX0sW10pO0UoKCk9PntpZighbSlyZXR1cm47aWYoRilSKCExKSxwKEYpO2Vsc2UgcChudWxsKX0sW0YsbV0pO2xldCAkMT1EKG51bGwpO0UoKCk9PntpZihrPT09InBvb3IiKXtpZihxMCghMCksJDEuY3VycmVudCljbGVhclRpbWVvdXQoJDEuY3VycmVudCk7JDEuY3VycmVudD1zZXRUaW1lb3V0KCgpPT57cTAoITEpLCQxLmN1cnJlbnQ9bnVsbH0sMzAwMCl9ZWxzZSBpZihxMCghMSksJDEuY3VycmVudCljbGVhclRpbWVvdXQoJDEuY3VycmVudCksJDEuY3VycmVudD1udWxsO3JldHVybigpPT57aWYoJDEuY3VycmVudCljbGVhclRpbWVvdXQoJDEuY3VycmVudCl9fSxba10pO2xldCBCMT1gJHskfS9zdHJlYW0ubWpwZWdgO0UoKCk9PntpZighbSlyZXR1cm47bGV0IF89ejEuY3VycmVudDtpZighXylyZXR1cm47bGV0IFc9ITEsYj0hMSxmPTAsUTE9bnVsbCxDMT0oKT0+e2lmKGJ8fFcpcmV0dXJuO1ExPy5jaGVjaygpLFc9ITAseD8uKCksUighMCkscChudWxsKX0sRjE9KCk9PntpZihiKXJldHVybjtRMT8uY2hlY2soKSxuMS5jdXJyZW50PURhdGUubm93KCksXzEuY3VycmVudCsrLEMxKCksUighMCksZj1fLnJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2soRjEpfSxJMT0oKT0+e2lmKGIpcmV0dXJuO1ExPy5jaGVjaygpLG4xLmN1cnJlbnQ9RGF0ZS5ub3coKSxDMSgpLFIoITApfTtpZihfLnNyY09iamVjdD1QPz9udWxsLFApe2lmKFExPUs0KF8sKHQxKT0+e1QxKHQxLCJtZWRpYSIpfSksUighMSksXy5hZGRFdmVudExpc3RlbmVyKCJsb2FkZWRkYXRhIixDMSx7b25jZTohMH0pLHR5cGVvZiBfLnJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2s9PT0iZnVuY3Rpb24iKWY9Xy5yZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrKEYxKTtlbHNlIF8uYWRkRXZlbnRMaXN0ZW5lcigidGltZXVwZGF0ZSIsSTEpO18ucGxheSgpLmNhdGNoKCgpPT57fSl9ZWxzZSBSKCExKTtyZXR1cm4oKT0+e2lmKGI9ITAsXy5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkZWRkYXRhIixDMSksXy5yZW1vdmVFdmVudExpc3RlbmVyKCJ0aW1ldXBkYXRlIixJMSksUTE/LmRpc2Nvbm5lY3QoKSxmJiZ0eXBlb2YgXy5jYW5jZWxWaWRlb0ZyYW1lQ2FsbGJhY2s9PT0iZnVuY3Rpb24iKV8uY2FuY2VsVmlkZW9GcmFtZUNhbGxiYWNrKGYpO18uc3JjT2JqZWN0PW51bGx9fSxbbSxQLHgsVDFdKSxFKCgpPT57VzEuY3VycmVudD0hMSxsLmN1cnJlbnQ9bnVsbCxvKG51bGwpfSxbJCxKXSk7bGV0IEcxPUQoTyk7RzEuY3VycmVudD1PLEUoKCk9PntHMS5jdXJyZW50Py4oWTEpfSxbWTFdKSxFKCgpPT57aWYoTSlUMShNLCJleHRlcm5hbCIpfSxbTSxUMSwkXSk7bGV0IEExPUQoITEpO0ExLmN1cnJlbnQ9WTE7bGV0IHgxPUQobnVsbCksUzE9RChudWxsKTtFKCgpPT57aWYoIWl8fCF6KXJldHVybjtsZXQgVz1zZXRUaW1lb3V0KCgpPT57aWYoIUExLmN1cnJlbnQpcCgiU3RyZWFtIGlzIG5vdCBwcm9kdWNpbmcgZnJhbWVzLiBUaGUgc2ltdWxhdG9yIG1heSBoYXZlIHN0b3BwZWQg4oCUIHRyeSByZWNvbm5lY3RpbmcuIil9LDYwMDApLGI9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uIFExKCl7bGV0IEMxPXgxLmN1cnJlbnQ7aWYoQzEpe3gxLmN1cnJlbnQ9bnVsbDtsZXQgRjE9SDEuY3VycmVudDtpZihGMSl7aWYoUzEuY3VycmVudClVUkwucmV2b2tlT2JqZWN0VVJMKFMxLmN1cnJlbnQpO1MxLmN1cnJlbnQ9QzEsRjEuc3JjPUMxLF8xLmN1cnJlbnQrK31lbHNlIFVSTC5yZXZva2VPYmplY3RVUkwoQzEpfWI9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKFExKX0pLGY9eigoUTEpPT57aWYobjEuY3VycmVudD1EYXRlLm5vdygpLHgxLmN1cnJlbnQpVVJMLnJldm9rZU9iamVjdFVSTCh4MS5jdXJyZW50KTtpZih4MS5jdXJyZW50PVExLCFBMS5jdXJyZW50KWNsZWFyVGltZW91dChXKSxSKCEwKSxwKG51bGwpfSk7cmV0dXJuKCk9PntpZihjbGVhclRpbWVvdXQoVyksY2FuY2VsQW5pbWF0aW9uRnJhbWUoYiksZj8uKCkseDEuY3VycmVudClVUkwucmV2b2tlT2JqZWN0VVJMKHgxLmN1cnJlbnQpLHgxLmN1cnJlbnQ9bnVsbDtpZihTMS5jdXJyZW50KVVSTC5yZXZva2VPYmplY3RVUkwoUzEuY3VycmVudCksUzEuY3VycmVudD1udWxsfX0sW2ksel0pO2xldCBtMT1JKCgpPT57bjEuY3VycmVudD1EYXRlLm5vdygpLFIoITApLHAobnVsbCl9LFtdKSxNMT1JKCgpPT57aWYoXzEuY3VycmVudCsrLG4xLmN1cnJlbnQ9RGF0ZS5ub3coKSwhQTEuY3VycmVudClSKCEwKSxwKG51bGwpfSxbXSk7TTgoe3VybDokLGVuYWJsZWQ6cyxjYW52YXNSZWY6dixvbkZpcnN0RnJhbWU6bTEsb25GcmFtZTpNMSxvbkRlY29kZWRGcmFtZTpqLG9uRXJyb3I6cCxvbkRlY29kZXJFcnJvcjpjfSk7bGV0IFAxPUkoKF8pPT57bGV0IFc9VDIobC5jdXJyZW50KS5pbnB1dE9yaWVudGF0aW9uLGI9RTIoVyxfLngsXy55KSxmPV8uZWRnZT09PXZvaWQgMD92b2lkIDA6QzgoVyxfLmVkZ2UpLFExPWY9PT12b2lkIDA/e3R5cGU6Xy50eXBlLC4uLmJ9Ont0eXBlOl8udHlwZSwuLi5iLGVkZ2U6Zn07aWYocil7cT8uKFExKTtyZXR1cm59bGV0IEMxPWEuY3VycmVudDtpZighQzF8fEMxLnJlYWR5U3RhdGUhPT1XZWJTb2NrZXQuT1BFTilyZXR1cm47bGV0IEYxPW5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShKU09OLnN0cmluZ2lmeShRMSkpLEkxPW5ldyBVaW50OEFycmF5KDErRjEubGVuZ3RoKTtJMVswXT1OUSxJMS5zZXQoRjEsMSksQzEuc2VuZChJMSl9LFtyLHFdKSxvMT1JKChfKT0+e2lmKHIpe0I/LihfKTtyZXR1cm59bGV0IFc9YS5jdXJyZW50O2lmKCFXfHxXLnJlYWR5U3RhdGUhPT1XZWJTb2NrZXQuT1BFTilyZXR1cm47bGV0IGI9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKEpTT04uc3RyaW5naWZ5KHtidXR0b246X30pKSxmPW5ldyBVaW50OEFycmF5KDErYi5sZW5ndGgpO2ZbMF09TFEsZi5zZXQoYiwxKSxXLnNlbmQoZil9LFtyLEJdKSxRMD1JKChfKT0+e2lmKCFOdW1iZXIuaXNGaW5pdGUoXyl8fF89PT0wKXJldHVybjtpZihyKXtOPy4oXyk7cmV0dXJufWxldCBXPWEuY3VycmVudDtpZighV3x8Vy5yZWFkeVN0YXRlIT09V2ViU29ja2V0Lk9QRU4pcmV0dXJuO2xldCBiPW5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShKU09OLnN0cmluZ2lmeSh7ZGVsdGE6X30pKSxmPW5ldyBVaW50OEFycmF5KDErYi5sZW5ndGgpO2ZbMF09VVEsZi5zZXQoYiwxKSxXLnNlbmQoZil9LFtyLE5dKSxVMD1JKChfLFcsYixmKT0+e2lmKCFOdW1iZXIuaXNGaW5pdGUoXyl8fCFOdW1iZXIuaXNGaW5pdGUoVyl8fF89PT0wJiZXPT09MClyZXR1cm47bGV0IFExPVQyKGwuY3VycmVudCkuaW5wdXRPcmllbnRhdGlvbixDMT15NihRMSxfLFcpLEYxPUUyKFExLGIsZiksSTE9e2R4OkMxLmR4LGR5OkMxLmR5LHg6RjEueCx5OkYxLnl9O2lmKHIpe0w/LihJMSk7cmV0dXJufWxldCBIMD1hLmN1cnJlbnQ7aWYoIUgwfHxIMC5yZWFkeVN0YXRlIT09V2ViU29ja2V0Lk9QRU4pcmV0dXJuO2xldCB0MT1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoSlNPTi5zdHJpbmdpZnkoSTEpKSxJMD1uZXcgVWludDhBcnJheSgxK3QxLmxlbmd0aCk7STBbMF09Q1EsSTAuc2V0KHQxLDEpLEgwLnNlbmQoSTApfSxbcixMXSksUjE9SSgoXyk9PntsZXQgVz1UMihsLmN1cnJlbnQpLmlucHV0T3JpZW50YXRpb24sYj1FMihXLF8ueDEsXy55MSksZj1FMihXLF8ueDIsXy55MiksUTE9e3R5cGU6Xy50eXBlLHgxOmIueCx5MTpiLnkseDI6Zi54LHkyOmYueX07aWYocil7Rz8uKFExKTtyZXR1cm59bGV0IEMxPWEuY3VycmVudDtpZighQzF8fEMxLnJlYWR5U3RhdGUhPT1XZWJTb2NrZXQuT1BFTilyZXR1cm47bGV0IEYxPW5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShKU09OLnN0cmluZ2lmeShRMSkpLEkxPW5ldyBVaW50OEFycmF5KDErRjEubGVuZ3RoKTtJMVswXT16USxJMS5zZXQoRjEsMSksQzEuc2VuZChJMSl9LFtyLEddKTtFKCgpPT57aWYoIVoxJiYhaCYmIXMpcmV0dXJuO2xldCBfPW51bGw7aWYoWjEpe2xldCBDMT1KPz8kLnJlcGxhY2UoL15odHRwLywid3MiKSsiL3dzIjtfPW5ldyBXZWJTb2NrZXQoQzEpLF8uYmluYXJ5VHlwZT0iYXJyYXlidWZmZXIiLGEuY3VycmVudD1fLF8ub25tZXNzYWdlPShGMSk9PntpZighKEYxLmRhdGEgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcikpcmV0dXJuO2xldCBJMT1uZXcgVWludDhBcnJheShGMS5kYXRhKTtpZihJMS5sZW5ndGg8MXx8STFbMF0hPT0xMzApcmV0dXJuO3RyeXtUMShKU09OLnBhcnNlKG5ldyBUZXh0RGVjb2RlcigpLmRlY29kZShJMS5zdWJhcnJheSgxKSkpKX1jYXRjaHt9fSxfLm9ub3Blbj0oKT0+cChudWxsKSxfLm9uY2xvc2U9KCk9PlIoITEpLF8ub25lcnJvcj0oKT0+e3AoIldlYlNvY2tldCBjb25uZWN0aW9uIGZhaWxlZCIpLFIoITEpfX1sZXQgVz1zfHxoP3NldEludGVydmFsKCgpPT57TDAoXzEuY3VycmVudCksXzEuY3VycmVudD0wfSwxMDAwKTpudWxsLGI9aD9uZXcgQWJvcnRDb250cm9sbGVyOm51bGwsZj0hMSxRMT1oP3NldFRpbWVvdXQoKCk9PntpZighZilwKCJTdHJlYW0gaXMgbm90IHByb2R1Y2luZyBmcmFtZXMuIFRoZSBzaW11bGF0b3IgbWF5IGhhdmUgc3RvcHBlZCDigJQgdHJ5IHJlY29ubmVjdGluZy4iKX0sNjAwMCk6bnVsbDtpZihoJiZiKShhc3luYygpPT57dHJ5e2xldCBGMT0oYXdhaXQgZmV0Y2goQjEse3NpZ25hbDpiLnNpZ25hbH0pKS5ib2R5Py5nZXRSZWFkZXIoKTtpZighRjEpcmV0dXJuO2xldCBJMT1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoIi0tZnJhbWUiKTt3aGlsZSghMCl7bGV0e2RvbmU6SDAsdmFsdWU6dDF9PWF3YWl0IEYxLnJlYWQoKTtpZihIMClicmVhaztpZih0MSlmb3IobGV0IEkwPTA7STA8PXQxLmxlbmd0aC1JMS5sZW5ndGg7STArKyl7bGV0IGQyPSEwO2ZvcihsZXQgaDA9MDtoMDxJMS5sZW5ndGg7aDArKylpZih0MVtJMCtoMF0hPT1JMVtoMF0pe2QyPSExO2JyZWFrfWlmKGQyKXtpZihfMS5jdXJyZW50KyssIWYpe2lmKGY9ITAsUTEpY2xlYXJUaW1lb3V0KFExKTtSKCEwKSxwKG51bGwpfX19fX1jYXRjaHt9fSkoKTtyZXR1cm4oKT0+e2lmKGI/LmFib3J0KCksVyljbGVhckludGVydmFsKFcpO2lmKFExKWNsZWFyVGltZW91dChRMSk7aWYoXz8uY2xvc2UoKSxhLmN1cnJlbnQ9PT1fKWEuY3VycmVudD1udWxsfX0sW1oxLGgsQjEsVDEsJCxzLEpdKSxFKCgpPT57aWYoIW0pcmV0dXJuO2xldCBfPXNldEludGVydmFsKCgpPT57TDAoXzEuY3VycmVudCksXzEuY3VycmVudD0wO2xldCBXPW4xLmN1cnJlbnQ7aWYoIWRvY3VtZW50LmhpZGRlbiYmVyYmRGF0ZS5ub3coKS1XPjMwMDApUighMSl9LDEwMDApO3JldHVybigpPT5jbGVhckludGVydmFsKF8pfSxbbV0pO2xldCBuMT1EKDApO0UoKCk9PntpZighaSlyZXR1cm47bGV0IF89MjAwMCxXPSgpPT57bGV0IFExPW4xLmN1cnJlbnQ7aWYoIVExfHwhQTEuY3VycmVudClyZXR1cm47aWYoRGF0ZS5ub3coKS1RMT5fKVIoITEpfSxiPXNldEludGVydmFsKCgpPT57TDAoXzEuY3VycmVudCksXzEuY3VycmVudD0wLFcoKX0sMTAwMCksZj0oKT0+e2lmKCFkb2N1bWVudC5oaWRkZW4pVygpfTtyZXR1cm4gZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsZiksKCk9PntjbGVhckludGVydmFsKGIpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLGYpfX0sW2ldKTtsZXQgRTA9SSgoKT0+e2lmKG0pcmV0dXJuIHoxLmN1cnJlbnQ7aWYocylyZXR1cm4gdi5jdXJyZW50O3JldHVybiBpP0gxLmN1cnJlbnQ6SzEuY3VycmVudH0sW2kscyxtXSkscDE9SSgoKT0+e3JldHVybiBWMS5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8/RTAoKT8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk/P251bGx9LFtFMF0pLFowPUkoKF8sVyk9PntsZXQgYj1wMSgpO2lmKCFiKXJldHVybjtsZXQgZj0oVy5jbGllbnRYLWIubGVmdCkvYi53aWR0aCxRMT0oVy5jbGllbnRZLWIudG9wKS9iLmhlaWdodDtQMSh7dHlwZTpfLHg6Zix5OlExfSl9LFtwMSxQMV0pLFgwPUkoKF8sVyk9PntsZXQgZj1wMSgpPy5oZWlnaHR8fDEsUTE9JDUoXyxXLGYpO2lmKFExPT09bnVsbClyZXR1cm4hMTtyZXR1cm4gUTAoUTEpLCEwfSxbcDEsUTBdKSx1MT1EKCExKSx3MT1EKCExKSxGMD1EKCExKSxSMD1EKHtkeDowLGR5OjB9KSxXMD1EKCExKSxbRzAsVF09QSghMSksZD1EKHt4OjAuNSx5OjAuNX0pLFt0LHExXT1BKG51bGwpO0UoKCk9PntsZXQgXz0oYik9PntpZihiLmtleT09PSJBbHQiKVQoITApfSxXPShiKT0+e2lmKGIua2V5PT09IkFsdCIpe2lmKFQoITEpLCF3MS5jdXJyZW50KXExKG51bGwpfX07cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixfKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigia2V5dXAiLFcpLCgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLF8pLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXl1cCIsVyl9fSxbXSksRSgoKT0+e2lmKEcwJiYhdzEuY3VycmVudCl7bGV0IF89ZC5jdXJyZW50O3ExKHt4MTpfLngseTE6Xy55LHgyOjEtXy54LHkyOjEtXy55fSl9ZWxzZSBpZighRzAmJiF3MS5jdXJyZW50KXExKG51bGwpfSxbRzBdKTtsZXQgajE9RChudWxsKSxVMT1EKCExKSxFMT1EKDApLEswPUkoKF8sVyk9PntVMS5jdXJyZW50PSEwO2xldCBiPWoxLmN1cnJlbnQ7aWYoYiljYW5jZWxBbmltYXRpb25GcmFtZShFMS5jdXJyZW50KSxFMS5jdXJyZW50PXJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2Iuc3R5bGUubGVmdD1gJHtfKjEwMH0lYCxiLnN0eWxlLnRvcD1gJHtXKjEwMH0lYCxiLnN0eWxlLmRpc3BsYXk9ImJsb2NrIn0pfSxbXSksczE9SSgoXyxXKT0+e2lmKCFVMS5jdXJyZW50KXJldHVybjtsZXQgYj1qMS5jdXJyZW50O2lmKGIpY2FuY2VsQW5pbWF0aW9uRnJhbWUoRTEuY3VycmVudCksRTEuY3VycmVudD1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntiLnN0eWxlLmxlZnQ9YCR7XyoxMDB9JWAsYi5zdHlsZS50b3A9YCR7VyoxMDB9JWB9KX0sW10pLGwxPUkoKCk9PntVMS5jdXJyZW50PSExO2xldCBfPWoxLmN1cnJlbnQ7aWYoXyljYW5jZWxBbmltYXRpb25GcmFtZShFMS5jdXJyZW50KSxfLnN0eWxlLmRpc3BsYXk9Im5vbmUifSxbXSksbjA9SSgoXyk9PntpZihVMS5jdXJyZW50fHx3MS5jdXJyZW50KXJldHVybiExO2xldCBXPXAxKCk7aWYoIVcpcmV0dXJuITE7bGV0IGI9SDgoXy5kZWx0YVgsXy5kZWx0YU1vZGUsVy53aWR0aCksZj1IOChfLmRlbHRhWSxfLmRlbHRhTW9kZSxXLmhlaWdodCk7aWYoYj09PTAmJmY9PT0wKXJldHVybiExO2xldCBRMT1NYXRoLm1pbihNYXRoLm1heCgoXy5jbGllbnRYLVcubGVmdCkvVy53aWR0aCwwKSwxKSxDMT1NYXRoLm1pbihNYXRoLm1heCgoXy5jbGllbnRZLVcudG9wKS9XLmhlaWdodCwwKSwxKTtyZXR1cm4gVTAoYi9XLndpZHRoLGYvVy5oZWlnaHQsUTEsQzEpLCEwfSxbcDEsVTBdKTtFKCgpPT57bGV0IF89ZS5jdXJyZW50O2lmKCFfKXJldHVybjtsZXQgVz0oYik9PntpZighKFY/WDAoYi5kZWx0YVksYi5kZWx0YU1vZGUpOm4wKGIpKSlyZXR1cm47Yi5wcmV2ZW50RGVmYXVsdCgpLGIuc3RvcFByb3BhZ2F0aW9uKCl9O3JldHVybiBfLmFkZEV2ZW50TGlzdGVuZXIoIndoZWVsIixXLHtwYXNzaXZlOiExfSksKCk9Pl8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigid2hlZWwiLFcpfSxbVixYMCxuMF0pO2xldCB6MD1EKDApLFkwPUQobnVsbCksWDI9SSgoKT0+e2xldCBfPURhdGUubm93KCksVz1fLXowLmN1cnJlbnQ7aWYoejAuY3VycmVudD1fLFc8MzAwKXtpZihZMC5jdXJyZW50KWNsZWFyVGltZW91dChZMC5jdXJyZW50KSxZMC5jdXJyZW50PW51bGw7aWYoWSlZKCk7ZWxzZSBvMSgiYXBwX3N3aXRjaGVyIil9ZWxzZSBZMC5jdXJyZW50PXNldFRpbWVvdXQoKCk9PntpZihZKVkoKTtlbHNlIG8xKCJob21lIik7WTAuY3VycmVudD1udWxsfSwzMDApfSxbbzEsWV0pLGwwPVQyKFMpLHIwPWwwLmRpc3BsYXlDb25maWcsQzA9KCgpPT57aWYoIXIwfHwhTzEpcmV0dXJuIG51bGw7aWYoTzEud2lkdGg9PT0wfHxPMS5oZWlnaHQ9PT0wKXJldHVybiBudWxsO2xldCBfPU1hdGgubWluKE8xLndpZHRoL3IwLndpZHRoLE8xLmhlaWdodC9yMC5oZWlnaHQpO3JldHVybiAkNChyMC53aWR0aCpfLHIwLmhlaWdodCpfLE8xLndpZHRoLE8xLmhlaWdodCl9KSgpLEQwPWwwLnJvdGF0aW9uRGVncmVlcyxsMz1sMC5uZWVkc0Nzc1JvdGF0aW9uJiZNYXRoLmFicyhEMCk9PT05MCxhMD1aLGQzPSFsMyxsMj1EMD09PTA/IiI6YCByb3RhdGUoJHtEMH1kZWcpYCxkMD17cG9zaXRpb246ImFic29sdXRlIiwuLi5kMz97aW5zZXQ6MCx3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIix0cmFuc2Zvcm06RDA9PT0wP3ZvaWQgMDpgcm90YXRlKCR7RDB9ZGVnKWB9Ont0b3A6IjUwJSIsbGVmdDoiNTAlIix3aWR0aDpDMD9gJHtDMC5oZWlnaHR9cHhgOiIxMDAlIixoZWlnaHQ6QzA/YCR7QzAud2lkdGh9cHhgOiIxMDAlIix0cmFuc2Zvcm06YHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSR7bDJ9YH0sdHJhbnNmb3JtT3JpZ2luOiJjZW50ZXIgY2VudGVyIixjdXJzb3I6WTQsZGlzcGxheToiYmxvY2siLHVzZXJTZWxlY3Q6Im5vbmUiLFdlYmtpdFVzZXJTZWxlY3Q6Im5vbmUiLHRvdWNoQWN0aW9uOiJub25lIiwuLi5aLC4uLkQwPT09MD97fTp7Ym9yZGVyUmFkaXVzOjAsY29ybmVyU2hhcGU6dm9pZCAwfX0saDU9ey4uLmQwLHRyYW5zZm9ybTpgJHtkMC50cmFuc2Zvcm0/PyIifSBzY2FsZSgke0JRfSlgfTtyZXR1cm4gWCgiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsZmxleDoxLC4uLkg/e306e2JvcmRlcjoiMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xMikifSxvdmVyZmxvdzoiaGlkZGVuIixtaW5XaWR0aDowLG1pbkhlaWdodDowLC4uLlF9LGNsYXNzTmFtZTpLLGNoaWxkcmVuOltYKCJkaXYiLHtyZWY6eTEsc3R5bGU6e3Bvc2l0aW9uOiJyZWxhdGl2ZSIsZmxleDoxLG1pbkhlaWdodDowLG1pbldpZHRoOjAsZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoiY2VudGVyIn0sY2hpbGRyZW46WCgiZGl2Iix7cmVmOlYxLHN0eWxlOntwb3NpdGlvbjoicmVsYXRpdmUiLHdpZHRoOkMwJiYhQzAuZmlsbHNWaWV3cG9ydD9gJHtDMC53aWR0aH1weGA6IjEwMCUiLGhlaWdodDpDMCYmIUMwLmZpbGxzVmlld3BvcnQ/YCR7QzAuaGVpZ2h0fXB4YDoiMTAwJSIsb3ZlcmZsb3c6ImhpZGRlbiIsYm9yZGVyUmFkaXVzOmEwPy5ib3JkZXJSYWRpdXMsY29ybmVyU2hhcGU6YTA/LmNvcm5lclNoYXBlfSxjaGlsZHJlbjpbbT9YKCJ2aWRlbyIse3JlZjp6MSxtdXRlZDohMCxwbGF5c0lubGluZTohMCxhdXRvUGxheTohMCxzdHlsZTpkMH0pOnM/WCgiY2FudmFzIix7cmVmOnYsc3R5bGU6aDV9KTpYKCJpbWciLHtyZWY6SzEsc3JjOmk/dm9pZCAwOkIxLGRyYWdnYWJsZTohMSxvbkxvYWQ6KF8pPT57bGV0IFc9Xy5jdXJyZW50VGFyZ2V0O2lmKFcubmF0dXJhbFdpZHRoPjAmJlcubmF0dXJhbEhlaWdodD4wKVQxKHt3aWR0aDpXLm5hdHVyYWxXaWR0aCxoZWlnaHQ6Vy5uYXR1cmFsSGVpZ2h0fSwibWVkaWEiKX0sc3R5bGU6aT97ZGlzcGxheToibm9uZSJ9OmQwfSksaSYmWCgiaW1nIix7cmVmOkgxLGRyYWdnYWJsZTohMSxvbkxvYWQ6KF8pPT57bGV0IFc9Xy5jdXJyZW50VGFyZ2V0O2lmKFcubmF0dXJhbFdpZHRoPjAmJlcubmF0dXJhbEhlaWdodD4wKVQxKHt3aWR0aDpXLm5hdHVyYWxXaWR0aCxoZWlnaHQ6Vy5uYXR1cmFsSGVpZ2h0fSwibWVkaWEiKX0sc3R5bGU6ZDB9KSxYKCJkaXYiLHtyZWY6ZSxzdHlsZTp7cG9zaXRpb246ImFic29sdXRlIixpbnNldDowLGN1cnNvcjpZNCx0b3VjaEFjdGlvbjoibm9uZSJ9LG9uTW91c2VEb3duOihfKT0+e18ucHJldmVudERlZmF1bHQoKTtsZXQgVz1wMSgpO2lmKCFXKXJldHVybjtsZXQgYj0oXy5jbGllbnRYLVcubGVmdCkvVy53aWR0aCxmPShfLmNsaWVudFktVy50b3ApL1cuaGVpZ2h0O2lmKF8uYWx0S2V5KXt3MS5jdXJyZW50PSEwLEYwLmN1cnJlbnQ9Xy5zaGlmdEtleTtsZXQgQzE9e3gxOmIseTE6Zix4MjoxLWIseTI6MS1mfTtSMC5jdXJyZW50PXtkeDoxLWItYixkeToxLWYtZn0scTEoQzEpLFIxKHt0eXBlOiJiZWdpbiIsLi4uQzF9KTtyZXR1cm59SzAoYixmKTtsZXQgUTE9ejgoZik7aWYoUTEhPT12b2lkIDApdTEuY3VycmVudD0hMCxQMSh7dHlwZToiYmVnaW4iLHg6Yix5OmYsZWRnZTpRMX0pO2Vsc2UgdTEuY3VycmVudD0hMSxaMCgiYmVnaW4iLF8pfSxvbk1vdXNlTW92ZTooXyk9PntsZXQgVz1wMSgpO2lmKCFXKXJldHVybjtsZXQgYj0oXy5jbGllbnRYLVcubGVmdCkvVy53aWR0aCxmPShfLmNsaWVudFktVy50b3ApL1cuaGVpZ2h0O2lmKGQuY3VycmVudD17eDpiLHk6Zn0sXy5idXR0b25zPT09MCl7aWYoXy5hbHRLZXkpcTEoe3gxOmIseTE6Zix4MjoxLWIseTI6MS1mfSk7cmV0dXJufWlmKHcxLmN1cnJlbnQpe2xldCBRMTtpZihGMC5jdXJyZW50KXtsZXQgQzE9UjAuY3VycmVudDtRMT17eDE6Yix5MTpmLHgyOmIrQzEuZHgseTI6ZitDMS5keX19ZWxzZSBRMT17eDE6Yix5MTpmLHgyOjEtYix5MjoxLWZ9O3ExKFExKSxSMSh7dHlwZToibW92ZSIsLi4uUTF9KTtyZXR1cm59aWYoczEoYixmKSx1MS5jdXJyZW50KVAxKHt0eXBlOiJtb3ZlIix4OmIseTpmLGVkZ2U6XzJ9KTtlbHNlIFowKCJtb3ZlIixfKX0sb25Nb3VzZVVwOihfKT0+e2lmKHcxLmN1cnJlbnQpe2xldCBXPXAxKCk7aWYoVyl7bGV0IGI9KF8uY2xpZW50WC1XLmxlZnQpL1cud2lkdGgsZj0oXy5jbGllbnRZLVcudG9wKS9XLmhlaWdodDtpZihGMC5jdXJyZW50KXtsZXQgUTE9UjAuY3VycmVudDtSMSh7dHlwZToiZW5kIix4MTpiLHkxOmYseDI6YitRMS5keCx5MjpmK1ExLmR5fSl9ZWxzZSBSMSh7dHlwZToiZW5kIix4MTpiLHkxOmYseDI6MS1iLHkyOjEtZn0pfWlmKHcxLmN1cnJlbnQ9ITEsIV8uYWx0S2V5KXExKG51bGwpO3JldHVybn1pZihsMSgpLHUxLmN1cnJlbnQpe2xldCBXPXAxKCk7aWYoVyl7bGV0IGI9KF8uY2xpZW50WC1XLmxlZnQpL1cud2lkdGgsZj0oXy5jbGllbnRZLVcudG9wKS9XLmhlaWdodDtQMSh7dHlwZToiZW5kIix4OmIseTpmLGVkZ2U6XzJ9KX11MS5jdXJyZW50PSExO3JldHVybn1aMCgiZW5kIixfKX0sb25Nb3VzZUxlYXZlOihfKT0+e2lmKHcxLmN1cnJlbnQpe2lmKHQpUjEoe3R5cGU6ImVuZCIsLi4udH0pO3cxLmN1cnJlbnQ9ITEscTEobnVsbCk7cmV0dXJufWlmKGwxKCksdTEuY3VycmVudCl7bGV0IFc9cDEoKTtpZihXKXtsZXQgYj0oXy5jbGllbnRYLVcubGVmdCkvVy53aWR0aCxmPShfLmNsaWVudFktVy50b3ApL1cuaGVpZ2h0O1AxKHt0eXBlOiJlbmQiLHg6Yix5OmYsZWRnZTpfMn0pfXUxLmN1cnJlbnQ9ITE7cmV0dXJufWlmKF8uYnV0dG9ucz4wKVowKCJlbmQiLF8pO3ExKG51bGwpfSxvblRvdWNoU3RhcnQ6KF8pPT57Xy5wcmV2ZW50RGVmYXVsdCgpO2xldCBXPXAxKCk7aWYoIVcpcmV0dXJuO2lmKF8udG91Y2hlcy5sZW5ndGg+PTIpe2wxKCk7bGV0IEYxPV8udG91Y2hlc1swXSxJMT1fLnRvdWNoZXNbMV0sSDA9e3gxOihGMS5jbGllbnRYLVcubGVmdCkvVy53aWR0aCx5MTooRjEuY2xpZW50WS1XLnRvcCkvVy5oZWlnaHQseDI6KEkxLmNsaWVudFgtVy5sZWZ0KS9XLndpZHRoLHkyOihJMS5jbGllbnRZLVcudG9wKS9XLmhlaWdodH07aWYoIVcwLmN1cnJlbnQmJiF1MS5jdXJyZW50KVAxKHt0eXBlOiJlbmQiLHg6SDAueDEseTpIMC55MX0pO1cwLmN1cnJlbnQ9ITAsdzEuY3VycmVudD0hMCx1MS5jdXJyZW50PSExLHExKEgwKSxSMSh7dHlwZToiYmVnaW4iLC4uLkgwfSk7cmV0dXJufWxldCBiPV8udG91Y2hlc1swXTtpZighYilyZXR1cm47bGV0IGY9KGIuY2xpZW50WC1XLmxlZnQpL1cud2lkdGgsUTE9KGIuY2xpZW50WS1XLnRvcCkvVy5oZWlnaHQ7SzAoZixRMSk7bGV0IEMxPXo4KFExKTtpZihDMSE9PXZvaWQgMCl1MS5jdXJyZW50PSEwLFAxKHt0eXBlOiJiZWdpbiIseDpmLHk6UTEsZWRnZTpDMX0pO2Vsc2UgdTEuY3VycmVudD0hMSxQMSh7dHlwZToiYmVnaW4iLHg6Zix5OlExfSl9LG9uVG91Y2hNb3ZlOihfKT0+e18ucHJldmVudERlZmF1bHQoKTtsZXQgVz1wMSgpO2lmKCFXKXJldHVybjtpZihXMC5jdXJyZW50JiZfLnRvdWNoZXMubGVuZ3RoPj0yKXtsZXQgQzE9Xy50b3VjaGVzWzBdLEYxPV8udG91Y2hlc1sxXSxJMT17eDE6KEMxLmNsaWVudFgtVy5sZWZ0KS9XLndpZHRoLHkxOihDMS5jbGllbnRZLVcudG9wKS9XLmhlaWdodCx4MjooRjEuY2xpZW50WC1XLmxlZnQpL1cud2lkdGgseTI6KEYxLmNsaWVudFktVy50b3ApL1cuaGVpZ2h0fTtxMShJMSksUjEoe3R5cGU6Im1vdmUiLC4uLkkxfSk7cmV0dXJufWxldCBiPV8udG91Y2hlc1swXTtpZighYilyZXR1cm47bGV0IGY9KGIuY2xpZW50WC1XLmxlZnQpL1cud2lkdGgsUTE9KGIuY2xpZW50WS1XLnRvcCkvVy5oZWlnaHQ7aWYoczEoZixRMSksdTEuY3VycmVudClQMSh7dHlwZToibW92ZSIseDpmLHk6UTEsZWRnZTpfMn0pO2Vsc2UgUDEoe3R5cGU6Im1vdmUiLHg6Zix5OlExfSl9LG9uVG91Y2hFbmQ6KF8pPT57Xy5wcmV2ZW50RGVmYXVsdCgpO2xldCBXPXAxKCk7aWYoIVcpcmV0dXJuO2lmKFcwLmN1cnJlbnQpe2lmKF8udG91Y2hlcy5sZW5ndGg8Mil7bGV0IEMxPV8uY2hhbmdlZFRvdWNoZXNbMF0sRjE9dDtpZihDMSYmRjEpUjEoe3R5cGU6ImVuZCIseDE6KEMxLmNsaWVudFgtVy5sZWZ0KS9XLndpZHRoLHkxOihDMS5jbGllbnRZLVcudG9wKS9XLmhlaWdodCx4MjpGMS54Mix5MjpGMS55Mn0pO2Vsc2UgaWYoRjEpUjEoe3R5cGU6ImVuZCIsLi4uRjF9KTtXMC5jdXJyZW50PSExLHcxLmN1cnJlbnQ9ITEscTEobnVsbCl9cmV0dXJufWxldCBiPV8uY2hhbmdlZFRvdWNoZXNbMF07aWYoIWIpcmV0dXJuO2xldCBmPShiLmNsaWVudFgtVy5sZWZ0KS9XLndpZHRoLFExPShiLmNsaWVudFktVy50b3ApL1cuaGVpZ2h0O2lmKGwxKCksdTEuY3VycmVudClQMSh7dHlwZToiZW5kIix4OmYseTpRMSxlZGdlOl8yfSksdTEuY3VycmVudD0hMTtlbHNlIFAxKHt0eXBlOiJlbmQiLHg6Zix5OlExfSl9fSksWCgiZGl2Iix7cmVmOmoxLCJkYXRhLXRlc3RpZCI6InRvdWNoLWluZGljYXRvciIsc3R5bGU6e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsZGlzcGxheToibm9uZSIsd2lkdGg6MjQsaGVpZ2h0OjI0LGJvcmRlclJhZGl1czoiNTAlIixiYWNrZ3JvdW5kOiJyZ2JhKDU5LDEzMCwyNDYsMC41KSIsYm94U2hhZG93OiIwIDAgOHB4IHJnYmEoNTksMTMwLDI0NiwwLjMpIix0cmFuc2Zvcm06InRyYW5zbGF0ZSgtNTAlLCAtNTAlKSIscG9pbnRlckV2ZW50czoibm9uZSJ9fSksdCYmWChYMSx7Y2hpbGRyZW46W1goImRpdiIseyJkYXRhLXRlc3RpZCI6ImZpbmdlci1kb3QiLHN0eWxlOlY0KHQueDEsdC55MSl9KSxYKCJkaXYiLHsiZGF0YS10ZXN0aWQiOiJmaW5nZXItZG90IixzdHlsZTpWNCh0LngyLHQueTIpfSldfSksIVkxJiYhdSYmWCgiZGl2Iix7c3R5bGU6ey4uLnE0LC4uLlp8fHt9fSxjaGlsZHJlbjpYKCJzcGFuIix7c3R5bGU6e2NvbG9yOiIjODg4Iixmb250U2l6ZToxNH0sY2hpbGRyZW46IkNvbm5lY3RpbmcuLi4ifSl9KSx1JiZYKCJkaXYiLHtzdHlsZTpxNCxjaGlsZHJlbjpYKCJzcGFuIix7c3R5bGU6e2NvbG9yOiIjZjQ0Iixmb250U2l6ZToxNCxwYWRkaW5nOjIwLHRleHRBbGlnbjoiY2VudGVyIn0sY2hpbGRyZW46dX0pfSksSjAmJlgoImRpdiIse3N0eWxlOkhRLGNoaWxkcmVuOlgoInNwYW4iLHtzdHlsZTp7Y29sb3I6IiNmYmJmMjQiLGZvbnRTaXplOjEzLGZvbnRGYW1pbHk6Im1vbm9zcGFjZSJ9LGNoaWxkcmVuOiJTbG93IGNvbm5lY3Rpb24ifSl9KV19KX0pLCFIJiZYKCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiIscGFkZGluZzoiNHB4IDhweCIsYm9yZGVyVG9wOiIxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjEyKSJ9LGNoaWxkcmVuOltYKCJidXR0b24iLHtvbkNsaWNrOlgyLHN0eWxlOntiYWNrZ3JvdW5kOiJub25lIixib3JkZXI6IjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMikiLGNvbG9yOiIjYWFhIixmb250U2l6ZToxMSxmb250RmFtaWx5OiJtb25vc3BhY2UiLHBhZGRpbmc6IjJweCAxMHB4IixjdXJzb3I6InBvaW50ZXIiLGJvcmRlclJhZGl1czo0fSxjaGlsZHJlbjoiSG9tZSJ9KSxYKCJzcGFuIix7c3R5bGU6e2NvbG9yOk4wPjA/IiM0ZjQiOiIjODg4Iixmb250U2l6ZToxMixmb250RmFtaWx5OiJtb25vc3BhY2UiLGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsZ2FwOjZ9LGNoaWxkcmVuOltrJiZYKCJzcGFuIix7ImRhdGEtdGVzdGlkIjoicXVhbGl0eS1kb3QiLHN0eWxlOnt3aWR0aDo4LGhlaWdodDo4LGJvcmRlclJhZGl1czoiNTAlIixkaXNwbGF5OiJpbmxpbmUtYmxvY2siLGJhY2tncm91bmQ6az09PSJnb29kIj8iIzRhZGU4MCI6az09PSJkZWdyYWRlZCI/IiNmYWNjMTUiOiIjZWY0NDQ0In19KSxOMCwiIGZwcyJdfSldfSldfSl9dmFyIEhRPXtwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDo4LGxlZnQ6IjUwJSIsdHJhbnNmb3JtOiJ0cmFuc2xhdGVYKC01MCUpIixiYWNrZ3JvdW5kOiJyZ2JhKDAsMCwwLDAuNykiLGJvcmRlclJhZGl1czo2LHBhZGRpbmc6IjRweCAxMnB4Iixwb2ludGVyRXZlbnRzOiJub25lIn0scTQ9e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsaW5zZXQ6MCxkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLGJhY2tncm91bmQ6InJnYmEoMCwwLDAsMC44KSJ9LEc0PTIwO2Z1bmN0aW9uIFY0KCQsSil7cmV0dXJue3Bvc2l0aW9uOiJhYnNvbHV0ZSIsbGVmdDpgJHskKjEwMH0lYCx0b3A6YCR7SioxMDB9JWAsd2lkdGg6RzQsaGVpZ2h0Okc0LGJvcmRlclJhZGl1czoiNTAlIixiYWNrZ3JvdW5kOiJyZ2JhKDI1NSwyNTUsMjU1LDAuNDUpIixib3JkZXI6IjEuMjVweCBzb2xpZCByZ2JhKDAsMCwwLDAuNTUpIixib3hTaGFkb3c6IjAgMXB4IDNweCByZ2JhKDAsMCwwLDAuNDUpIix0cmFuc2Zvcm06InRyYW5zbGF0ZSgtNTAlLCAtNTAlKSIscG9pbnRlckV2ZW50czoibm9uZSJ9fWZ1bmN0aW9uIFE1KCQpe3JldHVybiAkJiZ0eXBlb2YgJC5kZXZpY2U9PT0ic3RyaW5nIiYmdHlwZW9mICQudXJsPT09InN0cmluZyI/JDpudWxsfWZ1bmN0aW9uIEI0KCQpe2xldCBKPW5ldyBVUkwoJC5zdHJlYW1VcmwpO3JldHVybiBKLnBhdGhuYW1lPUoucGF0aG5hbWUucmVwbGFjZSgvXC9zdHJlYW1cLlteL10rJC8sIi9zdHJlYW0ubWpwZWciKSxKLnNlYXJjaD0iIixKLmhhc2g9IiIsSi50b1N0cmluZygpfWZ1bmN0aW9uIFozKCQpe2xldCBKPW5ldyBVUkwoJC5zdHJlYW1VcmwpO3JldHVybiBKLnBhdGhuYW1lPUoucGF0aG5hbWUucmVwbGFjZSgvXC9zdHJlYW1cLlteL10rJC8sIi93ZWJydGMvb2ZmZXIiKSxKLnNlYXJjaD0iIixKLmhhc2g9IiIsSi50b1N0cmluZygpfWZ1bmN0aW9uIE40KCQpe2xldCBKPW5ldyBVUkwoWjMoJCkpO3JldHVybiBKLnBhdGhuYW1lPUoucGF0aG5hbWUucmVwbGFjZSgvXC9vZmZlciQvLCIvY2xvc2UiKSxKLnRvU3RyaW5nKCl9ZnVuY3Rpb24gTDQoJCl7bGV0IEo9bmV3IFVSTChaMygkKSk7cmV0dXJuIEoucGF0aG5hbWU9Si5wYXRobmFtZS5yZXBsYWNlKC9cL29mZmVyJC8sIi9zdGF0cyIpLEoudG9TdHJpbmcoKX1mdW5jdGlvbiB6NCgkLEope2xldCBRPW5ldyBVUkwoJCk7cmV0dXJuIFEuc2VhcmNoUGFyYW1zLnNldCgic2Vzc2lvbklkIixKKSxRLnRvU3RyaW5nKCl9ZnVuY3Rpb24gdjEoJCl7bGV0IFE9d2luZG93Ll9fU0lNX1BSRVZJRVdfXz8uYmFzZVBhdGg/Pyh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUucmVwbGFjZSgvXC8rJC8sIiIpfHwiLyIpO3JldHVybiBRPT09Ii8iP2AvJHskfWA6YCR7UX0vJHskfWB9dmFyIE9RPTUwMDAsTVE9MjAwMCxaNT1udWxsLFA4PW51bGwsQVE9MSxrUT0xLGIyPW5ldyBNYXAsdzI9bmV3IE1hcDtmdW5jdGlvbiBGUSgpe2xldCAkPW5ldyBVUkwodjEoImV4ZWMtd3MiKSx3aW5kb3cubG9jYXRpb24uaHJlZik7cmV0dXJuICQucHJvdG9jb2w9JC5wcm90b2NvbD09PSJodHRwczoiPyJ3c3M6Ijoid3M6IiwkLnRvU3RyaW5nKCl9ZnVuY3Rpb24gV1EoJCl7Zm9yKGxldCBKIG9mIGIyLnZhbHVlcygpKUoucmVqZWN0KCQpO2IyLmNsZWFyKCl9ZnVuY3Rpb24gVTQoKXtyZXR1cm4gWjU/Pz1uZXcgUHJvbWlzZSgoJCxKKT0+e2xldCBRPSExLFo7dHJ5e1o9bmV3IFdlYlNvY2tldChGUSgpKX1jYXRjaChxKXtaNT1udWxsLEoocSk7cmV0dXJufWxldCBLPXNldFRpbWVvdXQoKCk9PntpZighUSlRPSEwLFo1PW51bGwsSihFcnJvcigiY29udHJvbCBzb2NrZXQgY29ubmVjdCB0aW1lb3V0IikpLFouY2xvc2UoKX0sT1EpO1oub25vcGVuPSgpPT57Wi5zZW5kKEpTT04uc3RyaW5naWZ5KHt0b2tlbjp3aW5kb3cuX19TSU1fUFJFVklFV19fPy5leGVjVG9rZW4/PyIifSkpfSxaLm9ubWVzc2FnZT0ocSk9PntsZXQgRzt0cnl7Rz1KU09OLnBhcnNlKFN0cmluZyhxLmRhdGEpKX1jYXRjaHtyZXR1cm59aWYoRy5yZWFkeSl7aWYoIVEpUT0hMCxjbGVhclRpbWVvdXQoSyksUDg9WiwkKFopO3JldHVybn1pZih0eXBlb2YgRy5zdWI9PT0ibnVtYmVyIil7bGV0IE49dzIuZ2V0KEcuc3ViKTtpZighTilyZXR1cm47aWYoRy5lbmQpdzIuZGVsZXRlKEcuc3ViKSxOLm9uRW5kKCk7ZWxzZSBpZih0eXBlb2YgRy5kYXRhPT09InN0cmluZyIpTi5vbkRhdGEoRy5kYXRhKTtyZXR1cm59aWYodHlwZW9mIEcuaWQhPT0ibnVtYmVyIilyZXR1cm47bGV0IEI9YjIuZ2V0KEcuaWQpO2lmKCFCKXJldHVybjtiMi5kZWxldGUoRy5pZCksQi5yZXNvbHZlKEcpfTtsZXQgWT0oKT0+e1o1PW51bGwsUDg9bnVsbDtsZXQgcT1FcnJvcigiY29udHJvbCBzb2NrZXQgY2xvc2VkIOKAlCByZWxvYWQgdGhlIHBhZ2UgaWYgdGhpcyBwZXJzaXN0cyIpO1dRKHEpO2xldCBHPVsuLi53Mi52YWx1ZXMoKV07dzIuY2xlYXIoKTtmb3IobGV0IEIgb2YgRylCLm9uRW5kKCk7aWYoIVEpUT0hMCxjbGVhclRpbWVvdXQoSyksSihxKX07Wi5vbmVycm9yPVksWi5vbmNsb3NlPVl9KSxaNX1hc3luYyBmdW5jdGlvbiBDNCgkLEope2xldCBRPWF3YWl0IFU0KCk7aWYoUS5yZWFkeVN0YXRlIT09V2ViU29ja2V0Lk9QRU4pdGhyb3cgRXJyb3IoImNvbnRyb2wgc29ja2V0IG5vdCBvcGVuIik7cmV0dXJuIG5ldyBQcm9taXNlKChaLEspPT57bGV0IFk9QVErKyxxPSgpPT57YjIuZGVsZXRlKFkpLEsoSj8ucmVhc29uPz9uZXcgRE9NRXhjZXB0aW9uKCJBYm9ydGVkIiwiQWJvcnRFcnJvciIpKX07aWYoSil7aWYoSi5hYm9ydGVkKXtxKCk7cmV0dXJufUouYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLHEse29uY2U6ITB9KX1iMi5zZXQoWSx7cmVzb2x2ZTooRyk9PntKPy5yZW1vdmVFdmVudExpc3RlbmVyKCJhYm9ydCIscSksWihHKX0scmVqZWN0OihHKT0+e0o/LnJlbW92ZUV2ZW50TGlzdGVuZXIoImFib3J0IixxKSxLKEcpfX0pLFEuc2VuZChKU09OLnN0cmluZ2lmeSh7aWQ6WSwuLi4kfSkpfSl9YXN5bmMgZnVuY3Rpb24gazEoJCxKLFEpe2xldCBaPWF3YWl0IEM0KHthY3Rpb246JCxwYXJhbXM6Sn0sUT8uc2lnbmFsKTtpZihaLmVycm9yKXJldHVybntzdGRvdXQ6IiIsc3RkZXJyOlouZXJyb3IsZXhpdENvZGU6MX07cmV0dXJue3N0ZG91dDpaLnN0ZG91dD8/IiIsc3RkZXJyOlouc3RkZXJyPz8iIixleGl0Q29kZTpaLmV4aXRDb2RlPz8xfX1hc3luYyBmdW5jdGlvbiBUOCgkLEope2xldCBRPWF3YWl0IEM0KHt1aTokfSxKPy5zaWduYWwpO2lmKFEuZXJyb3IpdGhyb3cgRXJyb3IoUS5lcnJvcik7cmV0dXJuIFEuc3RhdHVzPz9udWxsfWZ1bmN0aW9uIFMwKCQpe2xldCBKPXtvbm1lc3NhZ2U6bnVsbCxvbmVycm9yOm51bGwsY2xvc2U6KCk9Pnt9fSxRPSExLFo9bnVsbCxLPW51bGwsWT0iIixxPShOKT0+e1krPU4ucmVwbGFjZSgvXHJcbi9nLGAKYCk7bGV0IEw7d2hpbGUoKEw9WS5pbmRleE9mKGAKCmApKSE9PS0xKXtsZXQgVj1ZLnNsaWNlKDAsTCk7WT1ZLnNsaWNlKEwrMik7bGV0IHo9Vi5zcGxpdChgCmApLmZpbHRlcigoQyk9PkMuc3RhcnRzV2l0aCgiZGF0YToiKSkubWFwKChDKT0+Qy5zbGljZSg1KS5yZXBsYWNlKC9eIC8sIiIpKS5qb2luKGAKYCk7aWYoeilKLm9ubWVzc2FnZT8uKHtkYXRhOnp9KX19LEc9KCk9PntpZihRfHxLKXJldHVybjtKLm9uZXJyb3I/LigpLEs9c2V0VGltZW91dCgoKT0+e0s9bnVsbCxCKCl9LE1RKX0sQj1hc3luYygpPT57aWYoUSlyZXR1cm47dHJ5e2xldCBOPWF3YWl0IFU0KCk7aWYoUSlyZXR1cm47WT0iIixaPWtRKyssdzIuc2V0KFose29uRGF0YTpxLG9uRW5kOkd9KSxOLnNlbmQoSlNPTi5zdHJpbmdpZnkoe3N1YjpaLHBhdGg6JH0pKX1jYXRjaHtHKCl9fTtyZXR1cm4gQigpLEouY2xvc2U9KCk9PntpZihRPSEwLEspY2xlYXJUaW1lb3V0KEspO2lmKFohPT1udWxsKXt3Mi5kZWxldGUoWik7dHJ5e1A4Py5zZW5kKEpTT04uc3RyaW5naWZ5KHt1bnN1YjpafSkpfWNhdGNoe31aPW51bGx9fSxKfWZ1bmN0aW9uIGYwKCQpe2lmKCEkKXJldHVybiJpcGhvbmUiO2xldCBKPSQudG9Mb3dlckNhc2UoKTtpZihKLmluY2x1ZGVzKCJpcGFkIikpcmV0dXJuImlwYWQiO2lmKEouaW5jbHVkZXMoIndhdGNoIikpcmV0dXJuIndhdGNoIjtpZihKLmluY2x1ZGVzKCJ2aXNpb24iKSlyZXR1cm4idmlzaW9uIjtyZXR1cm4iaXBob25lIn12YXIgZzE9e2lwaG9uZTp7d2lkdGg6NDI3LGhlaWdodDo4ODEsYmV6ZWxYOjE4LGJlemVsWToxOCxpbm5lclJhZGl1czo1NX0saXBhZDp7d2lkdGg6NDMwLGhlaWdodDo2MDUsYmV6ZWxYOjE2LGJlemVsWToxNixpbm5lclJhZGl1czoxMn0sd2F0Y2g6e3dpZHRoOjI3NCxoZWlnaHQ6MzIyLGJlemVsWDoxMixiZXplbFk6MTIsaW5uZXJSYWRpdXM6Nzl9LHZpc2lvbjp7d2lkdGg6NjQwLGhlaWdodDo0MDAsYmV6ZWxYOjEyLGJlemVsWToxMixpbm5lclJhZGl1czozMn19LEFxPWcxLmlwaG9uZS53aWR0aCxrcT1nMS5pcGhvbmUuaGVpZ2h0LEZxPWcxLmlwaG9uZS5iZXplbFgsV3E9ZzEuaXBob25lLmJlemVsWSxEcT1nMS5pcGhvbmUuaW5uZXJSYWRpdXMsSDQ9eyJpUGhvbmUgMTcgUHJvIE1heCI6e3dpZHRoOjEzMjAsaGVpZ2h0OjI4Njh9LCJpUGhvbmUgMTcgUHJvIjp7d2lkdGg6MTIwNixoZWlnaHQ6MjYyMn0sImlQaG9uZSAxNyI6e3dpZHRoOjEyMDYsaGVpZ2h0OjI2MjJ9LCJpUGhvbmUgQWlyIjp7d2lkdGg6MTI2MCxoZWlnaHQ6MjczNn0sImlQaG9uZSAxNiBQcm8gTWF4Ijp7d2lkdGg6MTMyMCxoZWlnaHQ6Mjg2OH0sImlQaG9uZSAxNiBQcm8iOnt3aWR0aDoxMjA2LGhlaWdodDoyNjIyfSwiaVBob25lIDE2IFBsdXMiOnt3aWR0aDoxMjkwLGhlaWdodDoyNzk2fSwiaVBob25lIDE2Ijp7d2lkdGg6MTE3OSxoZWlnaHQ6MjU1Nn0sImlQaG9uZSAxNmUiOnt3aWR0aDoxMTcwLGhlaWdodDoyNTMyfSwiaVBob25lIDE1IFBybyBNYXgiOnt3aWR0aDoxMjkwLGhlaWdodDoyNzk2fSwiaVBob25lIDE1IFBybyI6e3dpZHRoOjExNzksaGVpZ2h0OjI1NTZ9LCJpUGhvbmUgMTUgUGx1cyI6e3dpZHRoOjEyOTAsaGVpZ2h0OjI3OTZ9LCJpUGhvbmUgMTUiOnt3aWR0aDoxMTc5LGhlaWdodDoyNTU2fSwiaVBhZCBQcm8gMTMtaW5jaCAoTTUpIjp7d2lkdGg6MjA2NCxoZWlnaHQ6Mjc1Mn0sImlQYWQgUHJvIDExLWluY2ggKE01KSI6e3dpZHRoOjE2NjgsaGVpZ2h0OjI0MjB9LCJpUGFkIFBybyAxMy1pbmNoIChNNCkiOnt3aWR0aDoyMDY0LGhlaWdodDoyNzUyfSwiaVBhZCBQcm8gMTEtaW5jaCAoTTQpIjp7d2lkdGg6MTY2OCxoZWlnaHQ6MjQyMH0sImlQYWQgQWlyIDEzLWluY2ggKE0zKSI6e3dpZHRoOjIwNDgsaGVpZ2h0OjI3MzJ9LCJpUGFkIEFpciAxMS1pbmNoIChNMykiOnt3aWR0aDoxNjQwLGhlaWdodDoyMzYwfSwiaVBhZCAoQTE2KSI6e3dpZHRoOjE2NDAsaGVpZ2h0OjIzNjB9LCJpUGFkIG1pbmkgKEExNyBQcm8pIjp7d2lkdGg6MTQ4OCxoZWlnaHQ6MjI2Nn0sIkFwcGxlIFdhdGNoIFVsdHJhIDMgKDQ5bW0pIjp7d2lkdGg6NDIyLGhlaWdodDo1MTR9LCJBcHBsZSBXYXRjaCBVbHRyYSAyICg0OW1tKSI6e3dpZHRoOjQxMCxoZWlnaHQ6NTAyfSwiQXBwbGUgV2F0Y2ggU2VyaWVzIDExICg0Nm1tKSI6e3dpZHRoOjQxNixoZWlnaHQ6NDk2fSwiQXBwbGUgV2F0Y2ggU2VyaWVzIDExICg0Mm1tKSI6e3dpZHRoOjM3NCxoZWlnaHQ6NDQ2fSwiQXBwbGUgV2F0Y2ggU2VyaWVzIDEwICg0Nm1tKSI6e3dpZHRoOjQxNixoZWlnaHQ6NDk2fSwiQXBwbGUgV2F0Y2ggU2VyaWVzIDEwICg0Mm1tKSI6e3dpZHRoOjM3NCxoZWlnaHQ6NDQ2fSwiQXBwbGUgV2F0Y2ggU0UgMyAoNDRtbSkiOnt3aWR0aDozNjgsaGVpZ2h0OjQ0OH0sIkFwcGxlIFdhdGNoIFNFIDMgKDQwbW0pIjp7d2lkdGg6MzI0LGhlaWdodDozOTR9LCJBcHBsZSBXYXRjaCBTRSAoNDRtbSkiOnt3aWR0aDozNjgsaGVpZ2h0OjQ0OH0sIkFwcGxlIFdhdGNoIFNFICg0MG1tKSI6e3dpZHRoOjMyNCxoZWlnaHQ6Mzk0fSwiQXBwbGUgVmlzaW9uIFBybyI6e3dpZHRoOjE5MjAsaGVpZ2h0OjEwODB9fTtmdW5jdGlvbiBYMygkLEope2xldCBRPSQmJiQud2lkdGg+MCYmJC5oZWlnaHQ+MD8kOkosWj1QMihRKTtpZihaKXJldHVybmAke1oud2lkdGh9IC8gJHtaLmhlaWdodH1gO3JldHVybmAke2cxLmlwaG9uZS53aWR0aC0yKmcxLmlwaG9uZS5iZXplbFh9IC8gJHtnMS5pcGhvbmUuaGVpZ2h0LTIqZzEuaXBob25lLmJlemVsWX1gfWZ1bmN0aW9uIHkyKCQ9ImlwaG9uZSIsSil7bGV0IFE9Sj9INFtKXTpudWxsO2lmKFEpcmV0dXJuIFE7bGV0IFo9ZzFbJF07cmV0dXJue3dpZHRoOloud2lkdGgtMipaLmJlemVsWCxoZWlnaHQ6Wi5oZWlnaHQtMipaLmJlemVsWX19ZnVuY3Rpb24gUzIoJD0iaXBob25lIixKKXtpZigkMihKKSlzd2l0Y2goJCl7Y2FzZSJpcGFkIjpyZXR1cm4gNzIwO2Nhc2UidmlzaW9uIjpyZXR1cm4gNTgwO2Nhc2Uid2F0Y2giOnJldHVybiAyMDA7ZGVmYXVsdDpyZXR1cm4gNjIwfXN3aXRjaCgkKXtjYXNlImlwYWQiOnJldHVybiA0MDA7Y2FzZSJ3YXRjaCI6cmV0dXJuIDIwMDtjYXNlInZpc2lvbiI6cmV0dXJuIDU4MDtkZWZhdWx0OnJldHVybiAzMjB9fWZ1bmN0aW9uIEszKCQ9ImlwaG9uZSIsSil7bGV0IFE9ZzFbJF0sWj1RLndpZHRoLTIqUS5iZXplbFgsSz1RLmhlaWdodC0yKlEuYmV6ZWxZO2lmKFo8SyYmJDIoSikpcmV0dXJuYCR7US5pbm5lclJhZGl1cy9LKjEwMH0lIC8gJHtRLmlubmVyUmFkaXVzL1oqMTAwfSVgO3JldHVybmAke1EuaW5uZXJSYWRpdXMvWioxMDB9JSAvICR7US5pbm5lclJhZGl1cy9LKjEwMH0lYH1mdW5jdGlvbiBPNCgkKXtsZXQgSj1nMVskLnR5cGVdLFE9Si53aWR0aC0yKkouYmV6ZWxYLFo9Si5oZWlnaHQtMipKLmJlemVsWSxLLFk7aWYoUTxaJiYkMigkLmNvbmZpZz8/bnVsbCkpSz1KLmlubmVyUmFkaXVzL1osWT1KLmlubmVyUmFkaXVzL1E7ZWxzZSBLPUouaW5uZXJSYWRpdXMvUSxZPUouaW5uZXJSYWRpdXMvWjtsZXQgcT1LKiQuY29udGFpbmVyV2lkdGgsRz1ZKiQuY29udGFpbmVySGVpZ2h0LEI9TWF0aC5zcXJ0KE1hdGgubWF4KHEqRywwKSk7cmV0dXJue3J4OnEscnk6RyxyR2VvbTpCfX12YXIgX1E9MTMsUFE9NjI7ZnVuY3Rpb24gRTgoJCl7bGV0e2NvbnRhaW5lcldpZHRoOkosY29udGFpbmVySGVpZ2h0OlF9PSQsWj0oSCk9PkgudG9GaXhlZCgzKSxLPShILE8pPT57bGV0IGs9Tyx3PU8sUD1QUS8yKihNYXRoLlBJLzE4MCkseD0yMjUqTWF0aC5QSS8xODAsRj14K1AsYz14LVAsaj1rK0gqTWF0aC5jb3MoRiksbT13K0gqTWF0aC5zaW4oRikscz1rK0gqTWF0aC5jb3MoYykscj13K0gqTWF0aC5zaW4oYyksaT1gTSAke1ooail9ICR7WihtKX0gQSAke1ooSCl9ICR7WihIKX0gMCAwIDEgJHtaKHMpfSAke1oocil9YCxaMT1gTSAke1oocyl9ICR7WihyKX0gQSAke1ooSCl9ICR7WihIKX0gMCAwIDAgJHtaKGopfSAke1oobSl9YDtyZXR1cm57ZDppLGRGaWxsOloxfX07aWYoIShKPjApfHwhKFE+MCkpe2xldCBIPV9RLE89TWF0aC5jZWlsKEgrMTQpLHtkOmssZEZpbGw6d309SyhILE8pO3JldHVybntkOmssZEZpbGw6dyx2aWV3Qm94U2l6ZTpPfX1sZXR7ckdlb206WX09TzQoJCkscT1NYXRoLm1heCgyLjIsTWF0aC5taW4oNS4yLDAuMDExKk1hdGgubWluKEosUSkpKSxHPVkqMC4zNCtxLEI9TWF0aC5taW4oSixRKSxOPU1hdGgubWluKDIyLE1hdGgubWF4KDEyLEIqMC4wNTIpKTtHPU1hdGgubWluKDI0LE1hdGgubWF4KDEyLEcsTikpO2xldCBDPU1hdGgubWF4KDI2LE1hdGguY2VpbChHKzEzKSkse2Q6TSxkRmlsbDpVfT1LKEcsQyk7cmV0dXJue2Q6TSxkRmlsbDpVLHZpZXdCb3hTaXplOkN9fWZ1bmN0aW9uIFkzKHt0eXBlOiQ9ImlwaG9uZSIsc3RyZWFtaW5nOko9ITF9KXtzd2l0Y2goJCl7Y2FzZSJpcGFkIjpyZXR1cm4gWChFUSx7c3RyZWFtaW5nOkp9KTtjYXNlIndhdGNoIjpyZXR1cm4gWChJUSx7c3RyZWFtaW5nOkp9KTtjYXNlInZpc2lvbiI6cmV0dXJuIFgod1Ese3N0cmVhbWluZzpKfSk7ZGVmYXVsdDpyZXR1cm4gWChUUSx7c3RyZWFtaW5nOkp9KX19ZnVuY3Rpb24gVFEoe3N0cmVhbWluZzokPSExfSl7cmV0dXJuIFgoInN2ZyIse3ZpZXdCb3g6IjAgMCA0MjcgODgxIixzdHlsZTp7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSJ9LGZpbGw6Im5vbmUiLHhtbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsY2hpbGRyZW46W1goImRlZnMiLHtjaGlsZHJlbjpbWCgiZmlsdGVyIix7aWQ6ImNocm9tZS1maWx0ZXIwIix4OiItMC4xNjY5OTIiLHk6IjAuMTY2NTA0Iix3aWR0aDoiNDI3IixoZWlnaHQ6Ijg4MC42NjciLGZpbHRlclVuaXRzOiJ1c2VyU3BhY2VPblVzZSIsY29sb3JJbnRlcnBvbGF0aW9uRmlsdGVyczoic1JHQiIsY2hpbGRyZW46W1goImZlRmxvb2QiLHtmbG9vZE9wYWNpdHk6IjAiLHJlc3VsdDoiQmFja2dyb3VuZEltYWdlRml4In0pLFgoImZlQmxlbmQiLHttb2RlOiJub3JtYWwiLGluOiJTb3VyY2VHcmFwaGljIixpbjI6IkJhY2tncm91bmRJbWFnZUZpeCIscmVzdWx0OiJzaGFwZSJ9KSxYKCJmZUdhdXNzaWFuQmx1ciIse3N0ZERldmlhdGlvbjoiMC41IixyZXN1bHQ6ImVmZmVjdDFfZm9yZWdyb3VuZEJsdXIifSldfSksWCgiZmlsdGVyIix7aWQ6ImNocm9tZS1maWx0ZXIxIix4OiI2LjMzMjM2Iix5OiI2LjMzMzgyIix3aWR0aDoiNDE0IixoZWlnaHQ6Ijg2OCIsZmlsdGVyVW5pdHM6InVzZXJTcGFjZU9uVXNlIixjb2xvckludGVycG9sYXRpb25GaWx0ZXJzOiJzUkdCIixjaGlsZHJlbjpbWCgiZmVGbG9vZCIse2Zsb29kT3BhY2l0eToiMCIscmVzdWx0OiJCYWNrZ3JvdW5kSW1hZ2VGaXgifSksWCgiZmVCbGVuZCIse21vZGU6Im5vcm1hbCIsaW46IlNvdXJjZUdyYXBoaWMiLGluMjoiQmFja2dyb3VuZEltYWdlRml4IixyZXN1bHQ6InNoYXBlIn0pLFgoImZlR2F1c3NpYW5CbHVyIix7c3RkRGV2aWF0aW9uOiIwLjMzMzMzMyIscmVzdWx0OiJlZmZlY3QxX2ZvcmVncm91bmRCbHVyIn0pXX0pXX0pLFgoInJlY3QiLHt4OiIzLjgzMjY4Iix5OiIzLjgzMzY2Iix3aWR0aDoiNDE5IixoZWlnaHQ6Ijg3MyIscng6IjY2LjE2NjciLHN0cm9rZToiIzQ1NDU0OCIsc3Ryb2tlV2lkdGg6IjQuMzMzMzMifSksWCgicmVjdCIse3g6IjAuODMzMzMzIix5OiIwLjgzMzMzMyIsd2lkdGg6IjQyNSIsaGVpZ2h0OiI4NzkiLHJ4OiI2OS4xNjY3IixzdHJva2U6IiMzNzM3M2EiLHN0cm9rZVdpZHRoOiIxLjY2NjY3In0pLFgoImciLHtvcGFjaXR5OiIwLjkiLGZpbHRlcjoidXJsKCNjaHJvbWUtZmlsdGVyMCkiLGNoaWxkcmVuOlgoInJlY3QiLHt4OiIxLjY2NjAyIix5OiIyIix3aWR0aDoiNDIzLjMzMyIsaGVpZ2h0OiI4NzciLHJ4OiI2OC42NjY3IixzdHJva2U6IiM0NTQ1NDgiLHN0cm9rZVdpZHRoOiIxLjY2NjY3In0pfSksWCgiZyIse29wYWNpdHk6IjAuOCIsZmlsdGVyOiJ1cmwoI2Nocm9tZS1maWx0ZXIxKSIsY2hpbGRyZW46WCgicmVjdCIse3g6IjcuMzMyNjgiLHk6IjcuMzMzNjYiLHdpZHRoOiI0MTIiLGhlaWdodDoiODY2IixyeDoiNjIuNjY2NyIsc3Ryb2tlOiIjNjQ2NDY0IixzdHJva2VXaWR0aDoiMC42NjY2NjcifSl9KSxYKCJyZWN0Iix7eDoiMTUxLjY2NiIseToiMzEuNjY3Iix3aWR0aDoiMTIzLjMzMyIsaGVpZ2h0OiIzNiIscng6IjE4IixmaWxsOiJibGFjayIsc3R5bGU6e29wYWNpdHk6JD8wOjEsdHJhbnNpdGlvbjoib3BhY2l0eSAwLjNzIGVhc2UifX0pXX0pfWZ1bmN0aW9uIEVRKHtzdHJlYW1pbmc6JD0hMX0pe2xldCBKPWcxLmlwYWQud2lkdGgsUT1nMS5pcGFkLmhlaWdodCxaPTMwLEs9MjY7cmV0dXJuIFgoInN2ZyIse3ZpZXdCb3g6YDAgMCAke0p9ICR7UX1gLHN0eWxlOnt3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIn0sZmlsbDoibm9uZSIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixjaGlsZHJlbjpbWCgiZGVmcyIse2NoaWxkcmVuOltYKCJmaWx0ZXIiLHtpZDoiaXBhZC1nbG93MCIseDoiMCIseToiMCIsd2lkdGg6SixoZWlnaHQ6USxmaWx0ZXJVbml0czoidXNlclNwYWNlT25Vc2UiLGNvbG9ySW50ZXJwb2xhdGlvbkZpbHRlcnM6InNSR0IiLGNoaWxkcmVuOltYKCJmZUZsb29kIix7Zmxvb2RPcGFjaXR5OiIwIixyZXN1bHQ6IkJhY2tncm91bmRJbWFnZUZpeCJ9KSxYKCJmZUJsZW5kIix7bW9kZToibm9ybWFsIixpbjoiU291cmNlR3JhcGhpYyIsaW4yOiJCYWNrZ3JvdW5kSW1hZ2VGaXgiLHJlc3VsdDoic2hhcGUifSksWCgiZmVHYXVzc2lhbkJsdXIiLHtzdGREZXZpYXRpb246IjAuNSIscmVzdWx0OiJibHVyIn0pXX0pLFgoImZpbHRlciIse2lkOiJpcGFkLWdsb3cxIix4OiI1Iix5OiI1Iix3aWR0aDpKLTEwLGhlaWdodDpRLTEwLGZpbHRlclVuaXRzOiJ1c2VyU3BhY2VPblVzZSIsY29sb3JJbnRlcnBvbGF0aW9uRmlsdGVyczoic1JHQiIsY2hpbGRyZW46W1goImZlRmxvb2QiLHtmbG9vZE9wYWNpdHk6IjAiLHJlc3VsdDoiQmFja2dyb3VuZEltYWdlRml4In0pLFgoImZlQmxlbmQiLHttb2RlOiJub3JtYWwiLGluOiJTb3VyY2VHcmFwaGljIixpbjI6IkJhY2tncm91bmRJbWFnZUZpeCIscmVzdWx0OiJzaGFwZSJ9KSxYKCJmZUdhdXNzaWFuQmx1ciIse3N0ZERldmlhdGlvbjoiMC4zMzMzMzMiLHJlc3VsdDoiYmx1ciJ9KV19KV19KSxYKCJyZWN0Iix7eDoiMy41Iix5OiIzLjUiLHdpZHRoOkotNyxoZWlnaHQ6US03LHJ4OjI2LHN0cm9rZToiIzQ1NDU0OCIsc3Ryb2tlV2lkdGg6IjQifSksWCgicmVjdCIse3g6IjAuODMzIix5OiIwLjgzMyIsd2lkdGg6Si0xLjY2NixoZWlnaHQ6US0xLjY2NixyeDozMCxzdHJva2U6IiMzNzM3M2EiLHN0cm9rZVdpZHRoOiIxLjY2NiJ9KSxYKCJnIix7b3BhY2l0eToiMC45IixmaWx0ZXI6InVybCgjaXBhZC1nbG93MCkiLGNoaWxkcmVuOlgoInJlY3QiLHt4OiIxLjUiLHk6IjEuNSIsd2lkdGg6Si0zLGhlaWdodDpRLTMscng6Mjksc3Ryb2tlOiIjNDU0NTQ4IixzdHJva2VXaWR0aDoiMS42NjYifSl9KSxYKCJnIix7b3BhY2l0eToiMC44IixmaWx0ZXI6InVybCgjaXBhZC1nbG93MSkiLGNoaWxkcmVuOlgoInJlY3QiLHt4OiI2Iix5OiI2Iix3aWR0aDpKLTEyLGhlaWdodDpRLTEyLHJ4OjI0LHN0cm9rZToiIzY0NjQ2NCIsc3Ryb2tlV2lkdGg6IjAuNjY2In0pfSksWCgiY2lyY2xlIix7Y3g6Si8yLGN5OmcxLmlwYWQuYmV6ZWxZLzIrMSxyOiIzIixmaWxsOiIjMWExYTFhIixzdHlsZTp7b3BhY2l0eTokPzA6MC44LHRyYW5zaXRpb246Im9wYWNpdHkgMC4zcyBlYXNlIn19KSxYKCJyZWN0Iix7eDooSi0xMjApLzIseTpRLWcxLmlwYWQuYmV6ZWxZLzItMi41LHdpZHRoOiIxMjAiLGhlaWdodDoiNSIscng6IjIuNSIsZmlsbDoid2hpdGUiLHN0eWxlOntvcGFjaXR5OiQ/MDowLjM1LG1peEJsZW5kTW9kZToiZGlmZmVyZW5jZSIsdHJhbnNpdGlvbjoib3BhY2l0eSAwLjNzIGVhc2UifX0pXX0pfWZ1bmN0aW9uIElRKHtzdHJlYW1pbmc6JD0hMX0pe2xldCBKPWcxLndhdGNoLndpZHRoLFE9ZzEud2F0Y2guaGVpZ2h0LFo9ODgsSz04MixZPTgscT0zNixHPVEvMi0xOC0xNixCPTIyLE49US8yLTExKzE2O3JldHVybiBYKCJzdmciLHt2aWV3Qm94OmAwIDAgJHtKfSAke1F9YCxzdHlsZTp7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsb3ZlcmZsb3c6InZpc2libGUifSxmaWxsOiJub25lIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGNoaWxkcmVuOltYKCJkZWZzIix7Y2hpbGRyZW46WCgiZmlsdGVyIix7aWQ6IndhdGNoLWdsb3cwIix4OiIwIix5OiIwIix3aWR0aDpKKzEyLGhlaWdodDpRLGZpbHRlclVuaXRzOiJ1c2VyU3BhY2VPblVzZSIsY29sb3JJbnRlcnBvbGF0aW9uRmlsdGVyczoic1JHQiIsY2hpbGRyZW46W1goImZlRmxvb2QiLHtmbG9vZE9wYWNpdHk6IjAiLHJlc3VsdDoiQmFja2dyb3VuZEltYWdlRml4In0pLFgoImZlQmxlbmQiLHttb2RlOiJub3JtYWwiLGluOiJTb3VyY2VHcmFwaGljIixpbjI6IkJhY2tncm91bmRJbWFnZUZpeCIscmVzdWx0OiJzaGFwZSJ9KSxYKCJmZUdhdXNzaWFuQmx1ciIse3N0ZERldmlhdGlvbjoiMC41IixyZXN1bHQ6ImJsdXIifSldfSl9KSxYKCJyZWN0Iix7eDpKLTIseTpHLHdpZHRoOjgsaGVpZ2h0OjM2LHJ4OiIzIixmaWxsOiIjMmEyYTJjIixzdHJva2U6IiM0NTQ1NDgiLHN0cm9rZVdpZHRoOiIxIn0pLFgoInJlY3QiLHt4OkotMSx5Ok4sd2lkdGg6NixoZWlnaHQ6MjIscng6IjIuNSIsZmlsbDoiIzJhMmEyYyIsc3Ryb2tlOiIjNDU0NTQ4IixzdHJva2VXaWR0aDoiMC44In0pLFgoInJlY3QiLHt4OiIzLjUiLHk6IjMuNSIsd2lkdGg6Si03LGhlaWdodDpRLTcscng6ODIsc3Ryb2tlOiIjNDU0NTQ4IixzdHJva2VXaWR0aDoiMy41In0pLFgoInJlY3QiLHt4OiIwLjgzMyIseToiMC44MzMiLHdpZHRoOkotMS42NjYsaGVpZ2h0OlEtMS42NjYscng6ODgsc3Ryb2tlOiIjMzczNzNhIixzdHJva2VXaWR0aDoiMS42NjYifSksWCgiZyIse29wYWNpdHk6IjAuOSIsZmlsdGVyOiJ1cmwoI3dhdGNoLWdsb3cwKSIsY2hpbGRyZW46WCgicmVjdCIse3g6IjEuNSIseToiMS41Iix3aWR0aDpKLTMsaGVpZ2h0OlEtMyxyeDo4NyxzdHJva2U6IiM0NTQ1NDgiLHN0cm9rZVdpZHRoOiIxLjY2NiJ9KX0pXX0pfWZ1bmN0aW9uIHdRKHtzdHJlYW1pbmc6JD0hMX0pe2xldCBKPWcxLnZpc2lvbi53aWR0aCxRPWcxLnZpc2lvbi5oZWlnaHQsWj00MCxLPTM0O3JldHVybiBYKCJzdmciLHt2aWV3Qm94OmAwIDAgJHtKfSAke1F9YCxzdHlsZTp7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSJ9LGZpbGw6Im5vbmUiLHhtbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsY2hpbGRyZW46W1goImRlZnMiLHtjaGlsZHJlbjpbWCgiZmlsdGVyIix7aWQ6InZpc2lvbi1nbG93MCIseDoiMCIseToiMCIsd2lkdGg6SixoZWlnaHQ6USxmaWx0ZXJVbml0czoidXNlclNwYWNlT25Vc2UiLGNvbG9ySW50ZXJwb2xhdGlvbkZpbHRlcnM6InNSR0IiLGNoaWxkcmVuOltYKCJmZUZsb29kIix7Zmxvb2RPcGFjaXR5OiIwIixyZXN1bHQ6IkJhY2tncm91bmRJbWFnZUZpeCJ9KSxYKCJmZUJsZW5kIix7bW9kZToibm9ybWFsIixpbjoiU291cmNlR3JhcGhpYyIsaW4yOiJCYWNrZ3JvdW5kSW1hZ2VGaXgiLHJlc3VsdDoic2hhcGUifSksWCgiZmVHYXVzc2lhbkJsdXIiLHtzdGREZXZpYXRpb246IjAuNSIscmVzdWx0OiJibHVyIn0pXX0pLFgoImZpbHRlciIse2lkOiJ2aXNpb24tZ2xvdzEiLHg6IjUiLHk6IjUiLHdpZHRoOkotMTAsaGVpZ2h0OlEtMTAsZmlsdGVyVW5pdHM6InVzZXJTcGFjZU9uVXNlIixjb2xvckludGVycG9sYXRpb25GaWx0ZXJzOiJzUkdCIixjaGlsZHJlbjpbWCgiZmVGbG9vZCIse2Zsb29kT3BhY2l0eToiMCIscmVzdWx0OiJCYWNrZ3JvdW5kSW1hZ2VGaXgifSksWCgiZmVCbGVuZCIse21vZGU6Im5vcm1hbCIsaW46IlNvdXJjZUdyYXBoaWMiLGluMjoiQmFja2dyb3VuZEltYWdlRml4IixyZXN1bHQ6InNoYXBlIn0pLFgoImZlR2F1c3NpYW5CbHVyIix7c3RkRGV2aWF0aW9uOiIwLjMzMyIscmVzdWx0OiJibHVyIn0pXX0pLFgoImxpbmVhckdyYWRpZW50Iix7aWQ6InZpc2lvbi1nbGFzcyIseDE6IjAiLHkxOiIwIix4MjoiMCIseTI6IjEiLGNoaWxkcmVuOltYKCJzdG9wIix7b2Zmc2V0OiIwJSIsc3RvcENvbG9yOiIjNTU1NTU4IixzdG9wT3BhY2l0eToiMC4zIn0pLFgoInN0b3AiLHtvZmZzZXQ6IjEwMCUiLHN0b3BDb2xvcjoiIzNhM2EzZCIsc3RvcE9wYWNpdHk6IjAuMSJ9KV19KV19KSxYKCJyZWN0Iix7eDoiMCIseToiMCIsd2lkdGg6SixoZWlnaHQ6USxyeDo0MCxmaWxsOiJ1cmwoI3Zpc2lvbi1nbGFzcykifSksWCgicmVjdCIse3g6IjMuNSIseToiMy41Iix3aWR0aDpKLTcsaGVpZ2h0OlEtNyxyeDozNCxzdHJva2U6IiM0NTQ1NDgiLHN0cm9rZVdpZHRoOiIzIn0pLFgoInJlY3QiLHt4OiIwLjgzMyIseToiMC44MzMiLHdpZHRoOkotMS42NjYsaGVpZ2h0OlEtMS42NjYscng6NDAsc3Ryb2tlOiIjMzczNzNhIixzdHJva2VXaWR0aDoiMS42NjYifSksWCgiZyIse29wYWNpdHk6IjAuOSIsZmlsdGVyOiJ1cmwoI3Zpc2lvbi1nbG93MCkiLGNoaWxkcmVuOlgoInJlY3QiLHt4OiIxLjUiLHk6IjEuNSIsd2lkdGg6Si0zLGhlaWdodDpRLTMscng6Mzksc3Ryb2tlOiIjNDU0NTQ4IixzdHJva2VXaWR0aDoiMS42NjYifSl9KSxYKCJnIix7b3BhY2l0eToiMC44IixmaWx0ZXI6InVybCgjdmlzaW9uLWdsb3cxKSIsY2hpbGRyZW46WCgicmVjdCIse3g6IjYiLHk6IjYiLHdpZHRoOkotMTIsaGVpZ2h0OlEtMTIscng6MzIsc3Ryb2tlOiIjNjQ2NDY0IixzdHJva2VXaWR0aDoiMC42NjYifSl9KSxYKCJlbGxpcHNlIix7Y3g6Si8yLGN5OlEvMixyeDpKLzItMzAscnk6US8yLTI0LHN0cm9rZToiIzRhNGE0ZCIsc3Ryb2tlV2lkdGg6IjAuNSIsb3BhY2l0eToiMC4zIixzdHlsZTp7b3BhY2l0eTokPzA6MC4zLHRyYW5zaXRpb246Im9wYWNpdHkgMC4zcyBlYXNlIn19KV19KX12YXIgTTQ9Iihwb2ludGVyOiBjb2Fyc2UpIjtmdW5jdGlvbiBxMygpe2xldFskLEpdPUEoKCk9PnR5cGVvZiB3aW5kb3c8InUiJiZ3aW5kb3cubWF0Y2hNZWRpYT8uKE00KS5tYXRjaGVzPT09ITApO3JldHVybiBFKCgpPT57bGV0IFE9d2luZG93Lm1hdGNoTWVkaWE/LihNNCk7aWYoIVEpcmV0dXJuO2xldCBaPSgpPT5KKFEubWF0Y2hlcyk7cmV0dXJuIFEuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixaKSwoKT0+US5yZW1vdmVFdmVudExpc3RlbmVyKCJjaGFuZ2UiLFopfSxbXSksJH12YXIgSTg9dzAobnVsbCk7ZnVuY3Rpb24gRzMoJCl7bGV0IEo9eTAoSTgpO2lmKCFKKXRocm93IEVycm9yKGA8U2ltdWxhdG9yVG9vbGJhci4keyR9PiBtdXN0IGJlIHJlbmRlcmVkIGluc2lkZSA8U2ltdWxhdG9yVG9vbGJhcj5gKTtyZXR1cm4gSn12YXIgeVE9e2Rpc3BsYXk6ImZsZXgiLGZsZXhXcmFwOiJ3cmFwIixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJzcGFjZS1iZXR3ZWVuIixnYXA6IjRweCAxMnB4IixwYWRkaW5nOiI4cHggMTJweCIsYm9yZGVyUmFkaXVzOjI0LGJhY2tncm91bmQ6InZhcigtLXNlcnZlLXNpbS1wYW5lbC1iZywgIzE4MTgxOCkiLGJvcmRlcjoiMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xKSIsYm94U2hhZG93OiIwIDFweCAycHggcmdiYSgwLDAsMCwwLjIpIixtaW5XaWR0aDoyNDAsd2lkdGg6IjEwMCUifTtmdW5jdGlvbiBTUSh7b25Sb3RhdGU6JCxvcmllbnRhdGlvbjpKLGRldmljZVVkaWQ6USxkZXZpY2VOYW1lOlosZGV2aWNlUnVudGltZTpLLHN0cmVhbWluZzpZPSExLGRpc2FibGVkOnE9ITEsY2hpbGRyZW46RyxzdHlsZTpCLC4uLk59KXtsZXQgTD1mMChaKSx6PXtvblJvdGF0ZTokLG9yaWVudGF0aW9uOkosZGV2aWNlVWRpZDpRLGRldmljZU5hbWU6WixkZXZpY2VSdW50aW1lOkssZGV2aWNlVHlwZTpMLHN0cmVhbWluZzpZLGRpc2FibGVkOnF8fCFRfHwhWX07cmV0dXJuIFgoSTguUHJvdmlkZXIse3ZhbHVlOnosY2hpbGRyZW46WCgiZGl2Iix7ImRhdGEtc2ltdWxhdG9yLXRvb2xiYXIiOiEwLHN0eWxlOnsuLi55USwuLi5CfSwuLi5OLGNoaWxkcmVuOkd9KX0pfXZhciB4UT17ZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixhbGlnbkl0ZW1zOiJmbGV4LXN0YXJ0Iix0ZXh0QWxpZ246ImxlZnQiLGJhY2tncm91bmQ6InRyYW5zcGFyZW50Iixib3JkZXI6Im5vbmUiLGNvbG9yOiIjZmZmIixwYWRkaW5nOiIycHggNHB4IixtYXJnaW46Ii0ycHggLTRweCIsYm9yZGVyUmFkaXVzOjYsY3Vyc29yOiJwb2ludGVyIixtaW5XaWR0aDowLG1heFdpZHRoOiIxMDAlIixsaW5lSGVpZ2h0OjEuMixmb250RmFtaWx5OiJpbmhlcml0In0salE9djAoZnVuY3Rpb24oe25hbWU6SixzdWJ0aXRsZTpRLGhpZGVDaGV2cm9uOlosaGlkZVN1YnRpdGxlOkssc3R5bGU6WSxvbk1vdXNlRW50ZXI6cSxvbk1vdXNlTGVhdmU6RywuLi5CfSxOKXtsZXQgTD1HMygiVGl0bGUiKSxbVix6XT1BKCExKSxDPUo/P0wuZGV2aWNlTmFtZT8/Ik5vIHNpbXVsYXRvciIsTT1RPz8oTC5kZXZpY2VSdW50aW1lP0wuZGV2aWNlUnVudGltZS5yZXBsYWNlKC9cLi8sIiAiKToi4oCUIik7cmV0dXJuIFgoImJ1dHRvbiIse3JlZjpOLHR5cGU6ImJ1dHRvbiIsImRhdGEtc2ltdWxhdG9yLXRvb2xiYXItdGl0bGUiOiEwLG9uTW91c2VFbnRlcjooVSk9Pnt6KCEwKSxxPy4oVSl9LG9uTW91c2VMZWF2ZTooVSk9Pnt6KCExKSxHPy4oVSl9LHN0eWxlOnsuLi54USxiYWNrZ3JvdW5kOlY/InJnYmEoMjU1LDI1NSwyNTUsMC4xKSI6InRyYW5zcGFyZW50IiwuLi5ZfSwuLi5CLGNoaWxkcmVuOltYKCJzcGFuIix7c3R5bGU6e2Rpc3BsYXk6ImlubGluZS1mbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDo0LGZvbnRTaXplOjEyLGZvbnRXZWlnaHQ6NjAwLGNvbG9yOiIjZmZmIixtYXhXaWR0aDoiMTAwJSIsb3ZlcmZsb3c6ImhpZGRlbiIsdGV4dE92ZXJmbG93OiJlbGxpcHNpcyIsd2hpdGVTcGFjZToibm93cmFwIn0sY2hpbGRyZW46W0MsIVomJlgoInN2ZyIse3dpZHRoOiIxMCIsaGVpZ2h0OiIxMCIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjIuNSIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsc3R5bGU6e2NvbG9yOiJyZ2JhKDI1NSwyNTUsMjU1LDAuNikiLGZsZXhTaHJpbms6MH0sY2hpbGRyZW46WCgicG9seWxpbmUiLHtwb2ludHM6IjYgOSAxMiAxNSAxOCA5In0pfSldfSksIUsmJlgoInNwYW4iLHtzdHlsZTp7Zm9udFNpemU6MTAsY29sb3I6InJnYmEoMjU1LDI1NSwyNTUsMC41KSIsbWF4V2lkdGg6IjEwMCUiLG92ZXJmbG93OiJoaWRkZW4iLHRleHRPdmVyZmxvdzoiZWxsaXBzaXMiLHdoaXRlU3BhY2U6Im5vd3JhcCJ9LGNoaWxkcmVuOk19KV19KX0pLHZRPXtkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDo0LGZsZXhTaHJpbms6MH07ZnVuY3Rpb24gUlEoe3N0eWxlOiQsLi4uSn0pe3JldHVybiBYKCJkaXYiLHtzdHlsZTp7Li4udlEsLi4uJH0sLi4uSn0pfXZhciBoUT17YmFja2dyb3VuZDoidHJhbnNwYXJlbnQiLGJvcmRlcjoibm9uZSIscGFkZGluZzo2LGJvcmRlclJhZGl1czoxMixjdXJzb3I6InBvaW50ZXIiLGRpc3BsYXk6ImlubGluZS1mbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLGNvbG9yOiJyZ2JhKDI1NSwyNTUsMjU1LDAuOCkiLHRyYW5zaXRpb246ImJhY2tncm91bmQtY29sb3IgMC4xNXMsIGNvbG9yIDAuMTVzLCBvcGFjaXR5IDAuMXMiLHBvc2l0aW9uOiJyZWxhdGl2ZSIsb3ZlcmZsb3c6InZpc2libGUiLHRvdWNoQWN0aW9uOiJtYW5pcHVsYXRpb24ifSxWMz12MChmdW5jdGlvbih7Zm9yY2VEaXNhYmxlZDpKLHRvb2x0aXA6USxzdHlsZTpaLGRpc2FibGVkOkssdGl0bGU6WSxvbk1vdXNlRW50ZXI6cSxvbk1vdXNlTGVhdmU6RyxvblBvaW50ZXJEb3duOkIsb25Qb2ludGVyVXA6TixvblBvaW50ZXJDYW5jZWw6TCxvblBvaW50ZXJMZWF2ZTpWLG9uRm9jdXM6eixvbkJsdXI6QyxvbkNsaWNrOk0sY2hpbGRyZW46VSwiYXJpYS1sYWJlbCI6SCwuLi5PfSxrKXtsZXQgdz15MChJOCksUD1LfHxKfHx3Py5kaXNhYmxlZCx4PXEzKCksW0YsY109QSghMSksW2osbV09QSghMSksW3Mscl09QSghMSksaT1EKCExKSxaMT1EMigpLGg9UT8/WT8/KHR5cGVvZiBIPT09InN0cmluZyI/SDpudWxsKSxLMT0hIWgmJiFQJiYoRnx8aik7cmV0dXJuIFgoImJ1dHRvbiIse3JlZjprLHR5cGU6ImJ1dHRvbiIsZGlzYWJsZWQ6UCwiYXJpYS1sYWJlbCI6SCwiYXJpYS1kZXNjcmliZWRieSI6aD9aMTp2b2lkIDAsb25Qb2ludGVyRG93bjoodik9PntpLmN1cnJlbnQ9ITAscighMCksQj8uKHYpfSxvblBvaW50ZXJVcDoodik9PntyKCExKSxOPy4odil9LG9uUG9pbnRlckNhbmNlbDoodik9PntyKCExKSxMPy4odil9LG9uUG9pbnRlckxlYXZlOih2KT0+e3IoITEpLFY/Lih2KX0sb25Nb3VzZUVudGVyOih2KT0+e2MoITApLHE/Lih2KX0sb25Nb3VzZUxlYXZlOih2KT0+e2MoITEpLEc/Lih2KX0sb25Gb2N1czoodik9PnttKCFpLmN1cnJlbnQpLHo/Lih2KX0sb25CbHVyOih2KT0+e2kuY3VycmVudD0hMSxtKCExKSxDPy4odil9LG9uQ2xpY2s6KHYpPT57YyghMSksbSghMSksdi5jdXJyZW50VGFyZ2V0LmJsdXIoKSxNPy4odil9LHN0eWxlOnsuLi5oUSxwYWRkaW5nOng/OTo2LGNvbG9yOlA/InJnYmEoMjU1LDI1NSwyNTUsMC4yNSkiOiJyZ2JhKDI1NSwyNTUsMjU1LDAuOCkiLGJhY2tncm91bmQ6UD8idHJhbnNwYXJlbnQiOnM/InJnYmEoMjU1LDI1NSwyNTUsMC4xNCkiOkY/InJnYmEoMjU1LDI1NSwyNTUsMC4xKSI6InRyYW5zcGFyZW50IixvcGFjaXR5OnMmJiFQPzAuNjoxLGN1cnNvcjpQPyJub3QtYWxsb3dlZCI6InBvaW50ZXIiLC4uLlp9LC4uLk8sY2hpbGRyZW46W1UsaCYmWCgic3BhbiIse2lkOloxLHJvbGU6InRvb2x0aXAiLCJhcmlhLWhpZGRlbiI6IUsxLHN0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLGxlZnQ6IjUwJSIsYm90dG9tOiJjYWxjKDEwMCUgKyA4cHgpIix0cmFuc2Zvcm06YHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgke0sxPzA6Mn1weClgLG9wYWNpdHk6SzE/MTowLHBvaW50ZXJFdmVudHM6Im5vbmUiLHdoaXRlU3BhY2U6Im5vd3JhcCIscGFkZGluZzoiNHB4IDdweCIsYm9yZGVyUmFkaXVzOjYsYmFja2dyb3VuZDoidmFyKC0tc2VydmUtc2ltLXBhbmVsLWJnLCAjMTgxODE4KSIsYm9yZGVyOiIxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjEyKSIsY29sb3I6InJnYmEoMjU1LDI1NSwyNTUsMC45MikiLGZvbnRTaXplOjExLGZvbnRXZWlnaHQ6NTAwLGxpbmVIZWlnaHQ6MSxib3hTaGFkb3c6IjAgNHB4IDE0cHggcmdiYSgwLDAsMCwwLjMyKSIsdHJhbnNpdGlvbjoib3BhY2l0eSAwLjEycyBlYXNlLCB0cmFuc2Zvcm0gMC4xMnMgZWFzZSIsekluZGV4OjEwMH0sY2hpbGRyZW46aH0pXX0pfSk7ZnVuY3Rpb24gZ1EoJCxKKXtpZigkPT09IndhdGNoIilyZXR1cm4gazEoImhvbWUud2F0Y2giLHt1ZGlkOkp8fHZvaWQgMH0pO2lmKEopcmV0dXJuIGsxKCJob21lLnNwcmluZ2JvYXJkIix7dWRpZDpKfSk7cmV0dXJuIGsxKCJidXR0b24iLHt2YWx1ZToiaG9tZSJ9KX12YXIgZlE9WCgic3ZnIix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMiIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsY2hpbGRyZW46WCgicGF0aCIse2Q6Ik0zIDEwLjUgMTIgM2w5IDcuNVYyMGExIDEgMCAwIDEtMSAxaC01di03aC02djdINGExIDEgMCAwIDEtMS0xeiJ9KX0pLG1RPVgoInN2ZyIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIsdmlld0JveDoiMCAwIDQ0IDQ0IixmaWxsOiJub25lIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGNoaWxkcmVuOlgoInBhdGgiLHtmaWxsUnVsZToiZXZlbm9kZCIsY2xpcFJ1bGU6ImV2ZW5vZGQiLGZpbGw6ImN1cnJlbnRDb2xvciIsZDoiTTQzLjY4NzUgMTIuNDY4OFY4LjI3MzQ0QzQzLjY4NzUgNS43MjY1NiA0Mi45NTMxIDMuNzEwOTQgNDEuNDg0NCAyLjIyNjU2QzQwLjAxNTYgMC43NDIxODggMzggMCAzNS40Mzc1IDBIMzEuMTQ4NEMzMC42MDE2IDAgMzAuMTMyOCAwLjE5NTMxMiAyOS43NDIyIDAuNTg1OTM4QzI5LjM1MTYgMC45NzY1NjIgMjkuMTU2MiAxLjQ0NTMxIDI5LjE1NjIgMS45OTIxOUMyOS4xNTYyIDIuNTIzNDQgMjkuMzUxNiAyLjk4NDM4IDI5Ljc0MjIgMy4zNzVDMzAuMTMyOCAzLjc2NTYyIDMwLjYwMTYgMy45NjA5NCAzMS4xNDg0IDMuOTYwOTRIMzUuNDM3NUMzNi43ODEyIDMuOTYwOTQgMzcuODM1OSA0LjM0Mzc1IDM4LjYwMTYgNS4xMDkzOEMzOS4zNTE2IDUuODc1IDM5LjcyNjYgNi45Mjk2OSAzOS43MjY2IDguMjczNDRWMTIuNDY4OEMzOS43MjY2IDEzIDM5LjkyMTkgMTMuNDYwOSA0MC4zMTI1IDEzLjg1MTZDNDAuNzAzMSAxNC4yNDIyIDQxLjE3MTkgMTQuNDM3NSA0MS43MTg4IDE0LjQzNzVDNDIuMjUgMTQuNDM3NSA0Mi43MTA5IDE0LjI0MjIgNDMuMTAxNiAxMy44NTE2QzQzLjQ5MjIgMTMuNDYwOSA0My42ODc1IDEzIDQzLjY4NzUgMTIuNDY4OFpNMCAxMi40Njg4QzAgMTMgMC4xOTUzMTIgMTMuNDYwOSAwLjU4NTkzOCAxMy44NTE2QzAuOTc2NTYyIDE0LjI0MjIgMS40Mzc1IDE0LjQzNzUgMS45Njg3NSAxNC40Mzc1QzIuNSAxNC40Mzc1IDIuOTYwOTQgMTQuMjQyMiAzLjM1MTU2IDEzLjg1MTZDMy43NDIxOSAxMy40NjA5IDMuOTM3NSAxMyAzLjkzNzUgMTIuNDY4OFY4LjI3MzQ0QzMuOTM3NSA2LjkyOTY5IDQuMzIwMzEgNS44NzUgNS4wODU5NCA1LjEwOTM4QzUuODM1OTQgNC4zNDM3NSA2Ljg5MDYyIDMuOTYwOTQgOC4yNSAzLjk2MDk0SDEyLjUzOTFDMTMuMDg1OSAzLjk2MDk0IDEzLjU1NDcgMy43NjU2MiAxMy45NDUzIDMuMzc1QzE0LjMyMDMgMi45ODQzOCAxNC41MDc4IDIuNTIzNDQgMTQuNTA3OCAxLjk5MjE5QzE0LjUwNzggMS40NDUzMSAxNC4zMjAzIDAuOTc2NTYyIDEzLjk0NTMgMC41ODU5MzhDMTMuNTU0NyAwLjE5NTMxMiAxMy4wODU5IDAgMTIuNTM5MSAwSDguMjVDNS42ODc1IDAgMy42NzE4OCAwLjc0MjE4OCAyLjIwMzEyIDIuMjI2NTZDMC43MzQzNzUgMy43MTA5NCAwIDUuNzI2NTYgMCA4LjI3MzQ0VjEyLjQ2ODhaTTQzLjY4NzUgMzEuMjQyMkM0My42ODc1IDMwLjcxMDkgNDMuNDkyMiAzMC4yNSA0My4xMDE2IDI5Ljg1OTRDNDIuNzEwOSAyOS40Njg4IDQyLjI1IDI5LjI3MzQgNDEuNzE4OCAyOS4yNzM0QzQxLjE3MTkgMjkuMjczNCA0MC43MDMxIDI5LjQ2ODggNDAuMzEyNSAyOS44NTk0QzM5LjkyMTkgMzAuMjUgMzkuNzI2NiAzMC43MTA5IDM5LjcyNjYgMzEuMjQyMlYzNS40Mzc1QzM5LjcyNjYgMzYuNzgxMiAzOS4zNTE2IDM3LjgzNTkgMzguNjAxNiAzOC42MDE2QzM3LjgzNTkgMzkuMzY3MiAzNi43ODEyIDM5Ljc1IDM1LjQzNzUgMzkuNzVIMzEuMTQ4NEMzMC42MDE2IDM5Ljc1IDMwLjEzMjggMzkuOTQ1MyAyOS43NDIyIDQwLjMzNTlDMjkuMzUxNiA0MC43MjY2IDI5LjE1NjIgNDEuMTg3NSAyOS4xNTYyIDQxLjcxODhDMjkuMTU2MiA0Mi4yNjU2IDI5LjM1MTYgNDIuNzI2NiAyOS43NDIyIDQzLjEwMTZDMzAuMTMyOCA0My40OTIyIDMwLjYwMTYgNDMuNjg3NSAzMS4xNDg0IDQzLjY4NzVIMzUuNDM3NUMzOCA0My42ODc1IDQwLjAxNTYgNDIuOTQ1MyA0MS40ODQ0IDQxLjQ2MDlDNDIuOTUzMSAzOS45OTIyIDQzLjY4NzUgMzcuOTg0NCA0My42ODc1IDM1LjQzNzVWMzEuMjQyMlpNMCAzMS4yNDIyVjM1LjQzNzVDMCAzNy45ODQ0IDAuNzM0Mzc1IDM5Ljk5MjIgMi4yMDMxMiA0MS40NjA5QzMuNjcxODggNDIuOTQ1MyA1LjY4NzUgNDMuNjg3NSA4LjI1IDQzLjY4NzVIMTIuNTM5MUMxMy4wODU5IDQzLjY4NzUgMTMuNTU0NyA0My40OTIyIDEzLjk0NTMgNDMuMTAxNkMxNC4zMjAzIDQyLjcyNjYgMTQuNTA3OCA0Mi4yNjU2IDE0LjUwNzggNDEuNzE4OEMxNC41MDc4IDQxLjE4NzUgMTQuMzIwMyA0MC43MjY2IDEzLjk0NTMgNDAuMzM1OUMxMy41NTQ3IDM5Ljk0NTMgMTMuMDg1OSAzOS43NSAxMi41MzkxIDM5Ljc1SDguMjVDNi44OTA2MiAzOS43NSA1LjgzNTk0IDM5LjM2NzIgNS4wODU5NCAzOC42MDE2QzQuMzIwMzEgMzcuODM1OSAzLjkzNzUgMzYuNzgxMiAzLjkzNzUgMzUuNDM3NVYzMS4yNDIyQzMuOTM3NSAzMC43MTA5IDMuNzQyMTkgMzAuMjUgMy4zNTE1NiAyOS44NTk0QzIuOTYwOTQgMjkuNDY4OCAyLjUgMjkuMjczNCAxLjk2ODc1IDI5LjI3MzRDMS40Mzc1IDI5LjI3MzQgMC45NzY1NjIgMjkuNDY4OCAwLjU4NTkzOCAyOS44NTk0QzAuMTk1MzEyIDMwLjI1IDAgMzAuNzEwOSAwIDMxLjI0MjJaTTMxLjU5MzggMzEuODA0N0MzMi43ODEyIDMxLjgwNDcgMzMuNjcxOSAzMS41MTU2IDM0LjI2NTYgMzAuOTM3NUMzNC44NTk0IDMwLjM0MzggMzUuMTU2MiAyOS40Njg4IDM1LjE1NjIgMjguMzEyNVYxNi43MTA5QzM1LjE1NjIgMTUuNTM5MSAzNC44NTk0IDE0LjY2NDEgMzQuMjY1NiAxNC4wODU5QzMzLjY3MTkgMTMuNDkyMiAzMi43ODEyIDEzLjE5NTMgMzEuNTkzOCAxMy4xOTUzSDI4Ljg5ODRDMjguNDYwOSAxMy4xOTUzIDI4LjE0ODQgMTMuMTQwNiAyNy45NjA5IDEzLjAzMTJDMjcuNzU3OCAxMi45MjE5IDI3LjUyMzQgMTIuNzI2NiAyNy4yNTc4IDEyLjQ0NTNMMjYuMzY3MiAxMS41MDc4QzI2LjA4NTkgMTEuMTk1MyAyNS43ODEyIDEwLjk2ODggMjUuNDUzMSAxMC44MjgxQzI1LjEwOTQgMTAuNjcxOSAyNC42NTYyIDEwLjU5MzggMjQuMDkzOCAxMC41OTM4SDE5LjYxNzJDMTkuMDU0NyAxMC41OTM4IDE4LjYwOTQgMTAuNjcxOSAxOC4yODEyIDEwLjgyODFDMTcuOTM3NSAxMC45Njg4IDE3LjYyNSAxMS4xOTUzIDE3LjM0MzggMTEuNTA3OEwxNi40NzY2IDEyLjQ0NTNDMTYuMjEwOSAxMi43NDIyIDE1Ljk3NjYgMTIuOTQ1MyAxNS43NzM0IDEzLjA1NDdDMTUuNTU0NyAxMy4xNDg0IDE1LjIzNDQgMTMuMTk1MyAxNC44MTI1IDEzLjE5NTNIMTIuMDQ2OUMxMC44OTA2IDEzLjE5NTMgMTAuMDE1NiAxMy40OTIyIDkuNDIxODggMTQuMDg1OUM4LjgxMjUgMTQuNjY0MSA4LjUwNzgxIDE1LjUzOTEgOC41MDc4MSAxNi43MTA5VjI4LjMxMjVDOC41MDc4MSAyOS40Njg4IDguODEyNSAzMC4zNDM4IDkuNDIxODggMzAuOTM3NUMxMC4wMTU2IDMxLjUxNTYgMTAuODkwNiAzMS44MDQ3IDEyLjA0NjkgMzEuODA0N0gzMS41OTM4Wk0yMS43OTY5IDI4Ljk0NTNDMjAuNTkzOCAyOC45NDUzIDE5LjUgMjguNjY0MSAxOC41MTU2IDI4LjEwMTZDMTcuNTE1NiAyNy41MjM0IDE2LjcyNjYgMjYuNzQyMiAxNi4xNDg0IDI1Ljc1NzhDMTUuNTU0NyAyNC43NTc4IDE1LjI1NzggMjMuNjMyOCAxNS4yNTc4IDIyLjM4MjhDMTUuMjU3OCAyMS4xNzk3IDE1LjU1NDcgMjAuMDg1OSAxNi4xNDg0IDE5LjEwMTZDMTYuNzI2NiAxOC4xMDE2IDE3LjUxNTYgMTcuMzEyNSAxOC41MTU2IDE2LjczNDRDMTkuNSAxNi4xNDA2IDIwLjU5MzggMTUuODQzOCAyMS43OTY5IDE1Ljg0MzhDMjMuMDE1NiAxNS44NDM4IDI0LjEyNSAxNi4xNDA2IDI1LjEyNSAxNi43MzQ0QzI2LjEwOTQgMTcuMzEyNSAyNi44OTg0IDE4LjEwMTYgMjcuNDkyMiAxOS4xMDE2QzI4LjA3MDMgMjAuMDg1OSAyOC4zNTk0IDIxLjE3OTcgMjguMzU5NCAyMi4zODI4QzI4LjM1OTQgMjMuNjE3MiAyOC4wNzAzIDI0LjcyNjYgMjcuNDkyMiAyNS43MTA5QzI2Ljg5ODQgMjYuNjk1MyAyNi4xMDk0IDI3LjQ4NDQgMjUuMTI1IDI4LjA3ODFDMjQuMTI1IDI4LjY1NjIgMjMuMDE1NiAyOC45NDUzIDIxLjc5NjkgMjguOTQ1M1pNMjEuODIwMyAyNi45MDYyQzIyLjY0ODQgMjYuOTA2MiAyMy40MDYyIDI2LjcxMDkgMjQuMDkzOCAyNi4zMjAzQzI0Ljc4MTIgMjUuOTE0MSAyNS4zMjgxIDI1LjM2NzIgMjUuNzM0NCAyNC42Nzk3QzI2LjEyNSAyMy45OTIyIDI2LjMyMDMgMjMuMjI2NiAyNi4zMjAzIDIyLjM4MjhDMjYuMzIwMyAyMS41NzAzIDI2LjEyNSAyMC44MjAzIDI1LjczNDQgMjAuMTMyOEMyNS4zMjgxIDE5LjQ0NTMgMjQuNzgxMiAxOC45MDYyIDI0LjA5MzggMTguNTE1NkMyMy40MDYyIDE4LjEwOTQgMjIuNjQ4NCAxNy45MDYyIDIxLjgyMDMgMTcuOTA2MkMyMC45OTIyIDE3LjkwNjIgMjAuMjQyMiAxOC4xMDk0IDE5LjU3MDMgMTguNTE1NkMxOC44ODI4IDE4LjkwNjIgMTguMzM1OSAxOS40NDUzIDE3LjkyOTcgMjAuMTMyOEMxNy41MjM0IDIwLjgyMDMgMTcuMzIwMyAyMS41NzAzIDE3LjMyMDMgMjIuMzgyOEMxNy4zMjAzIDIzLjIyNjYgMTcuNTIzNCAyMy45OTIyIDE3LjkyOTcgMjQuNjc5N0MxOC4zMzU5IDI1LjM2NzIgMTguODgyOCAyNS45MTQxIDE5LjU3MDMgMjYuMzIwM0MyMC4yNDIyIDI2LjcxMDkgMjAuOTkyMiAyNi45MDYyIDIxLjgyMDMgMjYuOTA2MlpNMTIuNjMyOCAxOC45ODQ0QzEyLjIxMDkgMTguOTg0NCAxMS44NTk0IDE4LjgzNTkgMTEuNTc4MSAxOC41MzkxQzExLjI4MTIgMTguMjQyMiAxMS4xMzI4IDE3Ljg5MDYgMTEuMTMyOCAxNy40ODQ0QzExLjEzMjggMTcuMDYyNSAxMS4yODEyIDE2LjcxMDkgMTEuNTc4MSAxNi40Mjk3QzExLjg1OTQgMTYuMTMyOCAxMi4yMTA5IDE1Ljk4NDQgMTIuNjMyOCAxNS45ODQ0QzEzLjAzOTEgMTUuOTg0NCAxMy4zOTA2IDE2LjEzMjggMTMuNjg3NSAxNi40Mjk3QzEzLjk4NDQgMTYuNzEwOSAxNC4xMzI4IDE3LjA2MjUgMTQuMTMyOCAxNy40ODQ0QzE0LjEzMjggMTcuODkwNiAxMy45ODQ0IDE4LjI0MjIgMTMuNjg3NSAxOC41MzkxQzEzLjM5MDYgMTguODM1OSAxMy4wMzkxIDE4Ljk4NDQgMTIuNjMyOCAxOC45ODQ0WiJ9KX0pLHBRPVgoInN2ZyIse3dpZHRoOiIyMSIsaGVpZ2h0OiIyMSIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjIiLHN0cm9rZUxpbmVjYXA6InJvdW5kIixzdHJva2VMaW5lam9pbjoicm91bmQiLHhtbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsY2hpbGRyZW46W1goInBhdGgiLHtkOiJNMTIgNUg2YTIgMiAwIDAgMC0yIDJ2MyJ9KSxYKCJwYXRoIix7ZDoibTkgOCAzLTMtMy0zIn0pLFgoInBhdGgiLHtkOiJNNCAxNHY0YTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMlY3YTIgMiAwIDAgMC0yLTJoLTIifSldfSksdVE9djAoZnVuY3Rpb24oe29uQ2xpY2s6SiwuLi5RfSxaKXtsZXQgSz1HMygiSG9tZUJ1dHRvbiIpO3JldHVybiBYKFYzLHtyZWY6WiwiYXJpYS1sYWJlbCI6IkhvbWUiLG9uQ2xpY2s6KFkpPT57aWYoSj8uKFkpLFkuZGVmYXVsdFByZXZlbnRlZClyZXR1cm47Z1EoSy5kZXZpY2VUeXBlLEsuZGV2aWNlVWRpZCl9LC4uLlEsY2hpbGRyZW46ZlF9KX0pLGxRPXYwKGZ1bmN0aW9uKHtvbkNsaWNrOkosLi4uUX0sWil7bGV0IEs9RzMoIlNjcmVlbnNob3RCdXR0b24iKTtyZXR1cm4gWChWMyx7cmVmOlosImFyaWEtbGFiZWwiOiJTY3JlZW5zaG90IixvbkNsaWNrOihZKT0+e2lmKEo/LihZKSxZLmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO2lmKEsuZGV2aWNlVWRpZClrMSgic2NyZWVuc2hvdC5jYXB0dXJlIix7dWRpZDpLLmRldmljZVVkaWQsZmlsZU5hbWU6YHNlcnZlLXNpbS1zY3JlZW5zaG90LSR7TWF0aC5mbG9vcihEYXRlLm5vdygpLzEwMDApfS5wbmdgfSl9LC4uLlEsY2hpbGRyZW46bVF9KX0pLGRRPXYwKGZ1bmN0aW9uKHtvbkNsaWNrOkosZm9yY2VEaXNhYmxlZDpRLC4uLlp9LEspe2xldCBZPUczKCJSb3RhdGVCdXR0b24iKSxxPVkuZGV2aWNlVHlwZT09PSJ3YXRjaCJ8fFkuZGV2aWNlVHlwZT09PSJ2aXNpb24iLFtHLEJdPUEoInBvcnRyYWl0Iik7cmV0dXJuIEUoKCk9PntCKFkub3JpZW50YXRpb24/PyJwb3J0cmFpdCIpfSxbWS5kZXZpY2VVZGlkLFkub3JpZW50YXRpb25dKSxYKFYzLHtyZWY6SywiYXJpYS1sYWJlbCI6IlJvdGF0ZSBkZXZpY2UiLGZvcmNlRGlzYWJsZWQ6UXx8cSxvbkNsaWNrOihOKT0+e2lmKEo/LihOKSxOLmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO2lmKCFZLmRldmljZVVkaWR8fHEpcmV0dXJuO2xldCBMPWUyW1kub3JpZW50YXRpb24/P0ddO2lmKEIoTCksWS5vblJvdGF0ZSlZLm9uUm90YXRlKEwpO2Vsc2UgazEoInJvdGF0ZSIse3ZhbHVlOkwsdWRpZDpZLmRldmljZVVkaWR9KX0sLi4uWixjaGlsZHJlbjpwUX0pfSksYTE9U1E7YTEuVGl0bGU9alE7YTEuQWN0aW9ucz1SUTthMS5CdXR0b249VjM7YTEuSG9tZUJ1dHRvbj11UTthMS5TY3JlZW5zaG90QnV0dG9uPWxRO2ExLlJvdGF0ZUJ1dHRvbj1kUTt2YXIgQjM9KC4uLiQpPT4kLmZpbHRlcigoSixRLFopPT57cmV0dXJuIEJvb2xlYW4oSikmJkoudHJpbSgpIT09IiImJlouaW5kZXhPZihKKT09PVF9KS5qb2luKCIgIikudHJpbSgpO3ZhciBBND0oJCk9PiQucmVwbGFjZSgvKFthLXowLTldKShbQS1aXSkvZywiJDEtJDIiKS50b0xvd2VyQ2FzZSgpO3ZhciBrND0oJCk9PiQucmVwbGFjZSgvXihbQS1aXSl8W1xzLV9dKyhcdykvZywoSixRLFopPT5aP1oudG9VcHBlckNhc2UoKTpRLnRvTG93ZXJDYXNlKCkpO3ZhciB3OD0oJCk9PntsZXQgSj1rNCgkKTtyZXR1cm4gSi5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStKLnNsaWNlKDEpfTt2YXIgTjM9e3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsd2lkdGg6MjQsaGVpZ2h0OjI0LHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOjIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCJ9O3ZhciBGND0oJCk9Pntmb3IobGV0IEogaW4gJClpZihKLnN0YXJ0c1dpdGgoImFyaWEtIil8fEo9PT0icm9sZSJ8fEo9PT0idGl0bGUiKXJldHVybiEwO3JldHVybiExfTt2YXIgY1E9dzAoe30pO3ZhciBXND0oKT0+eTAoY1EpO3ZhciBEND12MCgoe2NvbG9yOiQsc2l6ZTpKLHN0cm9rZVdpZHRoOlEsYWJzb2x1dGVTdHJva2VXaWR0aDpaLGNsYXNzTmFtZTpLPSIiLGNoaWxkcmVuOlksaWNvbk5vZGU6cSwuLi5HfSxCKT0+e2xldHtzaXplOk49MjQsc3Ryb2tlV2lkdGg6TD0yLGFic29sdXRlU3Ryb2tlV2lkdGg6Vj0hMSxjb2xvcjp6PSJjdXJyZW50Q29sb3IiLGNsYXNzTmFtZTpDPSIifT1XNCgpPz97fSxNPVo/P1Y/TnVtYmVyKFE/P0wpKjI0L051bWJlcihKPz9OKTpRPz9MO3JldHVybiBpMSgic3ZnIix7cmVmOkIsLi4uTjMsd2lkdGg6Sj8/Tj8/TjMud2lkdGgsaGVpZ2h0Oko/P04/P04zLmhlaWdodCxzdHJva2U6JD8/eixzdHJva2VXaWR0aDpNLGNsYXNzTmFtZTpCMygibHVjaWRlIixDLEspLC4uLiFZJiYhRjQoRykmJnsiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sLi4uR30sWy4uLnEubWFwKChbVSxIXSk9PmkxKFUsSCkpLC4uLkFycmF5LmlzQXJyYXkoWSk/WTpbWV1dKX0pO3ZhciBMMT0oJCxKKT0+e2xldCBRPXYwKCh7Y2xhc3NOYW1lOlosLi4uS30sWSk9PmkxKEQ0LHtyZWY6WSxpY29uTm9kZTpKLGNsYXNzTmFtZTpCMyhgbHVjaWRlLSR7QTQodzgoJCkpfWAsYGx1Y2lkZS0keyR9YCxaKSwuLi5LfSkpO3JldHVybiBRLmRpc3BsYXlOYW1lPXc4KCQpLFF9O3ZhciBvUT1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiIsa2V5OiJhZml0djcifV0sWyJwYXRoIix7ZDoiTTkgM3YxOCIsa2V5OiJmaDNocWEifV1dLG0wPUwxKCJwYW5lbC1sZWZ0IixvUSk7dmFyIGlRPVtbInBhdGgiLHtkOiJNMTIuMDM0IDEyLjY4MWEuNDk4LjQ5OCAwIDAgMSAuNjQ3LS42NDdsOSAzLjVhLjUuNSAwIDAgMS0uMDMzLjk0M2wtMy40NDQgMS4wNjhhMSAxIDAgMCAwLS42Ni42NmwtMS4wNjcgMy40NDNhLjUuNSAwIDAgMS0uOTQzLjAzM3oiLGtleToieHduemlwIn1dLFsicGF0aCIse2Q6Ik0yMSAxMVY1YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoNiIsa2V5OiIxNHJzdnEifV1dLEoyPUwxKCJzcXVhcmUtbW91c2UtcG9pbnRlciIsaVEpO3ZhciBuUT1bWyJwYXRoIix7ZDoibTIxLjczIDE4LTgtMTRhMiAyIDAgMCAwLTMuNDggMGwtOCAxNEEyIDIgMCAwIDAgNCAyMWgxNmEyIDIgMCAwIDAgMS43My0zIixrZXk6Indtb2VucSJ9XSxbInBhdGgiLHtkOiJNMTIgOXY0IixrZXk6Imp1enB1NyJ9XSxbInBhdGgiLHtkOiJNMTIgMTdoLjAxIixrZXk6InAzMnAwNSJ9XV0scDA9TDEoInRyaWFuZ2xlLWFsZXJ0IixuUSk7dmFyIHJRPVtbInJlY3QiLHt4OiIyIix5OiI0Iix3aWR0aDoiMjAiLGhlaWdodDoiMTYiLHJ4OiIyIixrZXk6Iml6eGxhbyJ9XSxbInBhdGgiLHtkOiJNMTAgNHY0IixrZXk6InBwOHU4MCJ9XSxbInBhdGgiLHtkOiJNMiA4aDIwIixrZXk6ImQxMWNzNyJ9XSxbInBhdGgiLHtkOiJNNiA0djQiLGtleToiMXN2dGp3In1dXSxYNT1MMSgiYXBwLXdpbmRvdyIsclEpO3ZhciBhUT1bWyJwYXRoIix7ZDoiTTcgN2gxMHYxMCIsa2V5OiIxdGl2bjkifV0sWyJwYXRoIix7ZDoiTTcgMTcgMTcgNyIsa2V5OiIxdmtpemEifV1dLEs1PUwxKCJhcnJvdy11cC1yaWdodCIsYVEpO3ZhciBzUT1bWyJwYXRoIix7ZDoiTTIwIDYgOSAxN2wtNS01IixrZXk6IjFnbWYyYyJ9XV0sWTU9TDEoImNoZWNrIixzUSk7dmFyIHRRPVtbInBhdGgiLHtkOiJtNiA5IDYgNiA2LTYiLGtleToicXJ1bnNsIn1dXSxxNT1MMSgiY2hldnJvbi1kb3duIix0USk7dmFyIGVRPVtbInBhdGgiLHtkOiJtOSAxOCA2LTYtNi02IixrZXk6Im10aGh3cSJ9XV0sRzU9TDEoImNoZXZyb24tcmlnaHQiLGVRKTt2YXIgJFo9W1sicGF0aCIse2Q6Ik0xMiAxNVYzIixrZXk6Im05ZzF4MSJ9XSxbInBhdGgiLHtkOiJNMjEgMTV2NGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtNCIsa2V5OiJpaDduM2gifV0sWyJwYXRoIix7ZDoibTcgMTAgNSA1IDUtNSIsa2V5OiJicnNuNzAifV1dLFY1PUwxKCJkb3dubG9hZCIsJFopO3ZhciBKWj1bWyJwYXRoIix7ZDoiTTEyIDZhMiAyIDAgMCAxIDMuNDE0LTEuNDE0bDYgNmEyIDIgMCAwIDEgMCAyLjgyOGwtNiA2QTIgMiAwIDAgMSAxMiAxOHoiLGtleToiYjE5aDVxIn1dLFsicGF0aCIse2Q6Ik0yIDZhMiAyIDAgMCAxIDMuNDE0LTEuNDE0bDYgNmEyIDIgMCAwIDEgMCAyLjgyOGwtNiA2QTIgMiAwIDAgMSAyIDE4eiIsa2V5OiJoN2g1Z2UifV1dLEI1PUwxKCJmYXN0LWZvcndhcmQiLEpaKTt2YXIgUVo9W1sicGF0aCIse2Q6Im0zIDcgNSA1LTUgNVY3IixrZXk6ImNvdWhpNyJ9XSxbInBhdGgiLHtkOiJtMjEgNy01IDUgNSA1VjciLGtleToiNm91aWE3In1dLFsicGF0aCIse2Q6Ik0xMiAyMHYyIixrZXk6IjFsaDFrZyJ9XSxbInBhdGgiLHtkOiJNMTIgMTR2MiIsa2V5OiI4amN4dWQifV0sWyJwYXRoIix7ZDoiTTEyIDh2MiIsa2V5OiIxd29xaXYifV0sWyJwYXRoIix7ZDoiTTEyIDJ2MiIsa2V5OiJ0dXMwM20ifV1dLE41PUwxKCJmbGlwLWhvcml6b250YWwtMiIsUVopO3ZhciBaWj1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAiLGtleToiMW1nbGF5In1dLFsicGF0aCIse2Q6Ik0xMiAyYTE0LjUgMTQuNSAwIDAgMCAwIDIwIDE0LjUgMTQuNSAwIDAgMCAwLTIwIixrZXk6IjEzbzF6bCJ9XSxbInBhdGgiLHtkOiJNMiAxMmgyMCIsa2V5OiI5aTRwdTQifV1dLEw1PUwxKCJnbG9iZSIsWlopO3ZhciBYWj1bWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjEyIixyOiIxIixrZXk6IjF2Y3RnZiJ9XSxbImNpcmNsZSIse2N4OiI5IixjeToiNSIscjoiMSIsa2V5OiJocDB0Y2YifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjE5IixyOiIxIixrZXk6ImZrampmNiJ9XSxbImNpcmNsZSIse2N4OiIxNSIsY3k6IjEyIixyOiIxIixrZXk6IjF0bWFpaiJ9XSxbImNpcmNsZSIse2N4OiIxNSIsY3k6IjUiLHI6IjEiLGtleToiMTlsMjhlIn1dLFsiY2lyY2xlIix7Y3g6IjE1IixjeToiMTkiLHI6IjEiLGtleToiZjR6b2ozIn1dXSx6NT1MMSgiZ3JpcC12ZXJ0aWNhbCIsWFopO3ZhciBLWj1bWyJwYXRoIix7ZDoibTIyIDExLTEuMjk2LTEuMjk2YTIuNCAyLjQgMCAwIDAtMy40MDggMEwxMSAxNiIsa2V5OiI5a3p5MzUifV0sWyJwYXRoIix7ZDoiTTQgOGEyIDIgMCAwIDAtMiAydjEwYTIgMiAwIDAgMCAyIDJoMTBhMiAyIDAgMCAwIDItMiIsa2V5OiIxdDBmMHQifV0sWyJjaXJjbGUiLHtjeDoiMTMiLGN5OiI3IixyOiIxIixmaWxsOiJjdXJyZW50Q29sb3IiLGtleToiMW9idXM2In1dLFsicmVjdCIse3g6IjgiLHk6IjIiLHdpZHRoOiIxNCIsaGVpZ2h0OiIxNCIscng6IjIiLGtleToiMWd2aGJ5In1dXSxVNT1MMSgiaW1hZ2VzIixLWik7dmFyIFlaPVtbInBhdGgiLHtkOiJNMTAgOGguMDEiLGtleToiMXI5b2dxIn1dLFsicGF0aCIse2Q6Ik0xMiAxMmguMDEiLGtleToiMW1wM2pjIn1dLFsicGF0aCIse2Q6Ik0xNCA4aC4wMSIsa2V5OiIxcHJpbWQifV0sWyJwYXRoIix7ZDoiTTE2IDEyaC4wMSIsa2V5OiIxbDZ4b3oifV0sWyJwYXRoIix7ZDoiTTE4IDhoLjAxIixrZXk6ImVtbzJibCJ9XSxbInBhdGgiLHtkOiJNNiA4aC4wMSIsa2V5OiJ4OWk4d3UifV0sWyJwYXRoIix7ZDoiTTcgMTZoMTAiLGtleToid3A4aGltIn1dLFsicGF0aCIse2Q6Ik04IDEyaC4wMSIsa2V5OiJjem00N2YifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjE2Iix4OiIyIix5OiI0IixyeDoiMiIsa2V5OiIxOG4zazEifV1dLEM1PUwxKCJrZXlib2FyZCIsWVopO3ZhciBxWj1bWyJwYXRoIix7ZDoiTTE1IDNoNnY2IixrZXk6IjFxOWZ3dCJ9XSxbInBhdGgiLHtkOiJtMjEgMy03IDciLGtleToiMWwyYXNyIn1dLFsicGF0aCIse2Q6Im0zIDIxIDctNyIsa2V5OiJ0ang1YWkifV0sWyJwYXRoIix7ZDoiTTkgMjFIM3YtNiIsa2V5OiJ3dHZrdnYifV1dLEg1PUwxKCJtYXhpbWl6ZS0yIixxWik7dmFyIEdaPVtbInBhdGgiLHtkOiJtMTQgMTAgNy03IixrZXk6Im9hNzdqeSJ9XSxbInBhdGgiLHtkOiJNMjAgMTBoLTZWNCIsa2V5OiJtamcwbWQifV0sWyJwYXRoIix7ZDoibTMgMjEgNy03IixrZXk6InRqeDVhaSJ9XSxbInBhdGgiLHtkOiJNNCAxNGg2djYiLGtleToicm1qN2l3In1dXSxPNT1MMSgibWluaW1pemUtMiIsR1opO3ZhciBWWj1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiIsa2V5OiJhZml0djcifV0sWyJwYXRoIix7ZDoiTTE1IDN2MTgiLGtleToiMTRudnAwIn1dXSxNNT1MMSgicGFuZWwtcmlnaHQiLFZaKTt2YXIgQlo9W1sicGF0aCIse2Q6Ik0zIDEyYTkgOSAwIDEgMCA5LTkgOS43NSA5Ljc1IDAgMCAwLTYuNzQgMi43NEwzIDgiLGtleToiMTM1N2UzIn1dLFsicGF0aCIse2Q6Ik0zIDN2NWg1IixrZXk6IjF4aHE4YSJ9XV0sQTU9TDEoInJvdGF0ZS1jY3ciLEJaKTt2YXIgTlo9W1sicGF0aCIse2Q6Im0yMSAyMS00LjM0LTQuMzQiLGtleToiMTRqN3JqIn1dLFsiY2lyY2xlIix7Y3g6IjExIixjeToiMTEiLHI6IjgiLGtleToiNGVqOTd1In1dXSxrNT1MMSgic2VhcmNoIixOWik7dmFyIExaPVtbInBhdGgiLHtkOiJNMTAgNUgzIixrZXk6IjFxZ2ZhdyJ9XSxbInBhdGgiLHtkOiJNMTIgMTlIMyIsa2V5OiJ5aG1uMWoifV0sWyJwYXRoIix7ZDoiTTE0IDN2NCIsa2V5OiIxc3VhMDMifV0sWyJwYXRoIix7ZDoiTTE2IDE3djQiLGtleToiMXEwcjE0In1dLFsicGF0aCIse2Q6Ik0yMSAxMmgtOSIsa2V5OiIxbzRsc3EifV0sWyJwYXRoIix7ZDoiTTIxIDE5aC01IixrZXk6IjFybHQxcCJ9XSxbInBhdGgiLHtkOiJNMjEgNWgtNyIsa2V5OiIxb3N6ejIifV0sWyJwYXRoIix7ZDoiTTggMTB2NCIsa2V5OiJ0Z3B4cWsifV0sWyJwYXRoIix7ZDoiTTggMTJIMyIsa2V5OiJhN3M0amIifV1dLG8wPUwxKCJzbGlkZXJzLWhvcml6b250YWwiLExaKTt2YXIgelo9W1sicmVjdCIse3dpZHRoOiIxNCIsaGVpZ2h0OiIyMCIseDoiNSIseToiMiIscng6IjIiLHJ5OiIyIixrZXk6IjF5dDBvMyJ9XSxbInBhdGgiLHtkOiJNMTIgMThoLjAxIixrZXk6Im1oeWd2dSJ9XV0sRjU9TDEoInNtYXJ0cGhvbmUiLHpaKTt2YXIgVVo9W1sicGF0aCIse2Q6Ik0xMiAzdjEyIixrZXk6IjF4MGo1cyJ9XSxbInBhdGgiLHtkOiJtMTcgOC01LTUtNSA1IixrZXk6IjdxOTdyOCJ9XSxbInBhdGgiLHtkOiJNMjEgMTV2NGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtNCIsa2V5OiJpaDduM2gifV1dLFc1PUwxKCJ1cGxvYWQiLFVaKTt2YXIgQ1o9W1sicGF0aCIse2Q6Im0xNiAxMyA1LjIyMyAzLjQ4MmEuNS41IDAgMCAwIC43NzctLjQxNlY3Ljg3YS41LjUgMCAwIDAtLjc1Mi0uNDMyTDE2IDEwLjUiLGtleToiZnR5bWVjIn1dLFsicmVjdCIse3g6IjIiLHk6IjYiLHdpZHRoOiIxNCIsaGVpZ2h0OiIxMiIscng6IjIiLGtleToiMTU4eDAxIn1dXSxMMj1MMSgidmlkZW8iLENaKTt2YXIgSFo9W1sicGF0aCIse2Q6Ik0xOCA2IDYgMTgiLGtleToiMWJsNWY4In1dLFsicGF0aCIse2Q6Im02IDYgMTIgMTIiLGtleToiZDhiazZ2In1dXSxQMD1MMSgieCIsSFopO2Z1bmN0aW9uIEQ1KHtvcGVuOiR9KXtyZXR1cm4gWCgic3ZnIix7d2lkdGg6IjEwIixoZWlnaHQ6IjEwIix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMi41IixzdHJva2VMaW5lY2FwOiJyb3VuZCIsc3Ryb2tlTGluZWpvaW46InJvdW5kIixjbGFzc05hbWU6ImxlbS1jaGV2cm9uIHRleHQtd2hpdGUvNTAiLHN0eWxlOnt0cmFuc2Zvcm06JD8icm90YXRlKDE4MGRlZykiOiJyb3RhdGUoMGRlZykifSxjaGlsZHJlbjpYKCJwb2x5bGluZSIse3BvaW50czoiNiA5IDEyIDE1IDE4IDkifSl9KX1mdW5jdGlvbiBMMyh7ZGlyOiR9KXtyZXR1cm4gWCgic3ZnIix7d2lkdGg6IjkiLGhlaWdodDoiOSIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJjdXJyZW50Q29sb3IiLGNsYXNzTmFtZToibXItWzNweF0iLGNoaWxkcmVuOiQ9PT0idXAiP1goInBvbHlnb24iLHtwb2ludHM6IjEyLDQgMjAsMTggNCwxOCJ9KTpYKCJwb2x5Z29uIix7cG9pbnRzOiI0LDYgMjAsNiAxMiwyMCJ9KX0pfWZ1bmN0aW9uIF81KCl7cmV0dXJuIFgoInN2ZyIse3dpZHRoOiIxMSIsaGVpZ2h0OiIxMSIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJjdXJyZW50Q29sb3IiLGNoaWxkcmVuOlgoInBvbHlnb24iLHtwb2ludHM6IjYsNCAyMCwxMiA2LDIwIn0pfSl9ZnVuY3Rpb24gYjgoKXtyZXR1cm4gWCgic3ZnIix7d2lkdGg6IjExIixoZWlnaHQ6IjExIix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6ImN1cnJlbnRDb2xvciIsY2hpbGRyZW46W1goInJlY3QiLHt4OiI2Iix5OiI0Iix3aWR0aDoiNCIsaGVpZ2h0OiIxNiJ9KSxYKCJyZWN0Iix7eDoiMTQiLHk6IjQiLHdpZHRoOiI0IixoZWlnaHQ6IjE2In0pXX0pfWZ1bmN0aW9uIFA1KCl7cmV0dXJuIFgoInN2ZyIse3dpZHRoOiIxMCIsaGVpZ2h0OiIxMCIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJjdXJyZW50Q29sb3IiLGNoaWxkcmVuOlgoInJlY3QiLHt4OiI1Iix5OiI1Iix3aWR0aDoiMTQiLGhlaWdodDoiMTQiLHJ4OiIxLjUifSl9KX1mdW5jdGlvbiB5OCgpe3JldHVybiBYKEI1LHtzaXplOjEyLHN0cm9rZVdpZHRoOjIsImFyaWEtaGlkZGVuIjoidHJ1ZSJ9KX1mdW5jdGlvbiBTOCgpe3JldHVybiBYKCJzdmciLHt3aWR0aDoiOSIsaGVpZ2h0OiIxNCIsdmlld0JveDoiNCAyIDkgMTMiLGZpbGw6ImN1cnJlbnRDb2xvciIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIixjaGlsZHJlbjpYKCJwYXRoIix7ZDoiTTYuMDA4NTIgMTQuODA1NEM1Ljg5MTgxIDE0LjkzNSA1Ljc1ODE1IDE0Ljk5OTggNS42MDc1NiAxNC45OTk4QzUuNDU2OTYgMTUuMDAzMyA1LjMyMzMgMTQuOTYxMyA1LjIwNjU5IDE0Ljg3MzdDNS4wOTM2NCAxNC43ODYxIDUuMDI1ODcgMTQuNjcyMyA1LjAwMzI4IDE0LjUzMjJDNC45ODQ0NiAxNC4zOTIxIDUuMDQ2NTggMTQuMjQ1IDUuMTg5NjUgMTQuMDkwOUw2Ljk0NTk5IDEyLjE1MjJMNy4yNDUzIDEwLjg3NTVMOC4xOTk3MSAxMS45ODkzTDguMDU4NTMgMTIuMzkzOUM4LjAyMDg4IDEyLjQ5NTUgNy45ODY5OSAxMi41NzA4IDcuOTU2ODcgMTIuNjE5OEM3LjkzMDUyIDEyLjY2ODggNy44NzQwNCAxMi43NDA2IDcuNzg3NDUgMTIuODM1Mkw2LjAwODUyIDE0LjgwNTRaTTEwLjM0NTcgMTQuNjQyNUw5LjEwMzI5IDEyLjMwNDZDOS4wNzY5NCAxMi4yNjI1IDkuMDU0MzUgMTIuMjIyMyA5LjAzNTUzIDEyLjE4MzdDOS4wMTY3IDEyLjE0NTIgOC45NzcxNyAxMi4wOTA5IDguOTE2OTMgMTIuMDIwOUw3LjcxOTY4IDEwLjYxODFDNy40OTM3OSAxMC4zNTU0IDcuMzM3NTQgMTAuMTI5NSA3LjI1MDk1IDkuOTQwMzRDNy4xNjQzNSA5Ljc0NzcgNy4xMzQyNCA5LjQ5OTAxIDcuMTYwNTkgOS4xOTQyOUw3LjI2MjI0IDcuOTgwNjVDNy4yNjk3NyA3LjkwNzEgNy4yMzIxMiA3Ljg1NDU2IDcuMTQ5MjkgNy44MjMwNEM3LjA2NjQ3IDcuNzkxNTEgNi45ODU1MiA3LjgwOTAzIDYuOTA2NDYgNy44NzU1N0w2LjQ3MTYxIDguMjQzMzRMNi4zNDE3MiA5LjY3MjM5QzYuMzIyODkgOS44NDc1MiA2LjI2NDU0IDkuOTc4ODcgNi4xNjY2NSAxMC4wNjY0QzYuMDY4NzYgMTAuMTU0IDUuOTM4ODcgMTAuMTkyNSA1Ljc3Njk4IDEwLjE4MkM1LjYxMTMyIDEwLjE3NSA1LjQ4MzMxIDEwLjExOSA1LjM5Mjk1IDEwLjAxMzlDNS4zMDYzNiA5LjkwODgyIDUuMjY4NzEgOS43NzM5NyA1LjI4MDAxIDkuNjA5MzVMNS4zODczMSA4LjMwNjM5QzUuNDAyMzcgOC4xMjc3NiA1LjQzODEzIDcuOTc1NCA1LjQ5NDYxIDcuODQ5MzFDNS41NTQ4NSA3LjcyMzIxIDUuNjYwMjYgNy41OTE4NyA1LjgxMDg2IDcuNDU1MjdMNi43MTQ0NSA2LjYyNTE2QzcuMDA0MzUgNi4zNjI0NyA3LjI2OTc3IDYuMTYxMDcgNy41MTA3MyA2LjAyMDk2QzcuNzUxNjggNS44NzczNiA4LjAyODQxIDUuODA1NTYgOC4zNDA5IDUuODA1NTZDOC43NTg4IDUuODA1NTYgOS4wNzg4MiA1LjkzMzQgOS4zMDA5NSA2LjE4OTA5QzkuNTI2ODUgNi40NDQ3OCA5LjYyNDc0IDYuNzYxNzYgOS41OTQ2MiA3LjE0MDA0TDkuNDc2MDIgOC43MzE5NUM5LjQ1MzQzIDkuMDE1NjYgOS40MTk1NSA5LjI2MjU5IDkuMzc0MzcgOS40NzI3NUM5LjMyOTE5IDkuNjgyOSA5LjI1Mzg5IDkuOTI5ODMgOS4xNDg0NyAxMC4yMTM1TDkuMDkyIDEwLjM2MDZMOS44NjU2OSAxMS4zNzk5QzkuOTIyMTcgMTEuNDUzNCA5Ljk4MDUyIDExLjUzNCAxMC4wNDA4IDExLjYyMTZDMTAuMTAxIDExLjcwOTEgMTAuMTUzNyAxMS43OTY3IDEwLjE5ODkgMTEuODg0M0wxMS40MDc0IDE0LjE2NDRDMTEuNTA1MyAxNC4zNTAxIDExLjUyNDEgMTQuNTExMiAxMS40NjM5IDE0LjY0NzhDMTEuNDAzNyAxNC43ODQ0IDExLjMwMiAxNC44ODI1IDExLjE1ODkgMTQuOTQyQzExLjAxOTYgMTUuMDAxNSAxMC44NzA5IDE1LjAxMDMgMTAuNzEyOCAxNC45NjgzQzEwLjU1ODQgMTQuOTI2MiAxMC40MzYxIDE0LjgxNzcgMTAuMzQ1NyAxNC42NDI1Wk0xMi40MDcgNy45NjQ4OUMxMi41ODQgNy45NjQ4OSAxMi43MjcgOC4wMTA0MiAxMi44MzYyIDguMTAxNDlDMTIuOTQ1NCA4LjE4OTA1IDEzIDguMzA2MzkgMTMgOC40NTM1QzEzIDguNjExMTEgMTIuOTQ1NCA4LjczMzcgMTIuODM2MiA4LjgyMTI3QzEyLjczMDggOC45MDg4MyAxMi41ODc3IDguOTUyNjEgMTIuNDA3IDguOTUyNjFIMTEuMTMwN0MxMC45NTM4IDguOTUyNjEgMTAuODE0NSA4LjkzNjg1IDEwLjcxMjggOC45MDUzM0MxMC42MTEyIDguODcwMyAxMC41MTMzIDguODA3MjYgMTAuNDE5MSA4LjcxNjE5TDEwLjA1MjEgOC4zNzk5NEwxMC4xNDI0IDcuMDQwMjFMMTEuMDM0NyA3Ljk2NDg5SDEyLjQwN1pNOS4wMDE2NCA1LjMxMTY5QzguNzcxOTggNS4zMTE2OSA4LjU2MzAzIDUuMjYwOTEgOC4zNzQ3OCA1LjE1OTMzQzguMTg2NTMgNS4wNTQyNiA4LjAzNTk0IDQuOTE0MTUgNy45MjI5OSA0LjczOTAzQzcuODEzODEgNC41NjM5IDcuNzU5MjEgNC4zNjk1IDcuNzU5MjEgNC4xNTU4NUM3Ljc1OTIxIDMuOTQyMTkgNy44MTM4MSAzLjc0NzggNy45MjI5OSAzLjU3MjY3QzguMDM1OTQgMy4zOTc1NCA4LjE4NjUzIDMuMjU5MTkgOC4zNzQ3OCAzLjE1NzYyQzguNTYzMDMgMy4wNTI1NCA4Ljc3MTk4IDMgOS4wMDE2NCAzQzkuMjMxMyAzIDkuNDQwMjYgMy4wNTI1NCA5LjYyODUgMy4xNTc2MkM5LjgxNjc1IDMuMjU5MTkgOS45NjU0NiAzLjM5NzU0IDEwLjA3NDYgMy41NzI2N0MxMC4xODc2IDMuNzQ3OCAxMC4yNDQxIDMuOTQyMTkgMTAuMjQ0MSA0LjE1NTg1QzEwLjI0NDEgNC4zNjk1IDEwLjE4NzYgNC41NjM5IDEwLjA3NDYgNC43MzkwM0M5Ljk2NTQ2IDQuOTE0MTUgOS44MTY3NSA1LjA1NDI2IDkuNjI4NSA1LjE1OTMzQzkuNDQwMjYgNS4yNjA5MSA5LjIzMTMgNS4zMTE2OSA5LjAwMTY0IDUuMzExNjlaIn0pfSl9ZnVuY3Rpb24geDgoKXtyZXR1cm4gWCgic3ZnIix7d2lkdGg6IjExIixoZWlnaHQ6IjE0Iix2aWV3Qm94OiIyNiAxIDEyIDE0IixmaWxsOiJjdXJyZW50Q29sb3IiLHhtbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsY2hpbGRyZW46WCgicGF0aCIse2Q6Ik0zMy4yNDM3IDQuNTg0NTlDMzMuMDAwOCA0LjU4NDU5IDMyLjc4MTcgNC41MjcyOCAzMi41ODY2IDQuNDEyNjhDMzIuMzkxNSA0LjI5NDEyIDMyLjIzNDIgNC4xMzgwMSAzMi4xMTQ3IDMuOTQ0MzdDMzEuOTk5MiAzLjc0Njc3IDMxLjk0MTQgMy41Mjk0MSAzMS45NDE0IDMuMjkyMjlDMzEuOTQxNCAzLjA1MTIyIDMxLjk5OTIgMi44MzM4NyAzMi4xMTQ3IDIuNjQwMjJDMzIuMjM0MiAyLjQ0NjU3IDMyLjM5MTUgMi4yOTI0NSAzMi41ODY2IDIuMTc3ODRDMzIuNzgxNyAyLjA1OTI4IDMzLjAwMDggMiAzMy4yNDM3IDJDMzMuNDgyNiAyIDMzLjY5OTcgMi4wNTkyOCAzMy44OTQ4IDIuMTc3ODRDMzQuMDkzOSAyLjI5MjQ1IDM0LjI1MTIgMi40NDY1NyAzNC4zNjY3IDIuNjQwMjJDMzQuNDg2MiAyLjgzMzg3IDM0LjU0NTkgMy4wNTEyMiAzNC41NDU5IDMuMjkyMjlDMzQuNTQ1OSAzLjUyOTQxIDM0LjQ4NjIgMy43NDY3NyAzNC4zNjY3IDMuOTQ0MzdDMzQuMjUxMiA0LjEzODAxIDM0LjA5MzkgNC4yOTQxMiAzMy44OTQ4IDQuNDEyNjhDMzMuNjk5NyA0LjUyNzI4IDMzLjQ4MjYgNC41ODQ1OSAzMy4yNDM3IDQuNTg0NTlaTTMxLjIwMDcgOS43NDE5MUMzMS4wNzMzIDkuNjcwNzcgMzAuOTQxOSA5LjU5NTY4IDMwLjgwNjUgOS41MTY2NEMzMC42NzUgOS40Mzc2IDMwLjU1OTYgOS4zNDI3NiAzMC40NiA5LjIzMjFDMzAuMzYwNCA5LjExNzQ5IDMwLjI5MjcgOC45NzcyIDMwLjI1NjkgOC44MTEyMkMzMC4yMjUgOC42NDEyOCAzMC4yNDQ5IDguNDI5ODUgMzAuMzE2NiA4LjE3NjkzTDMwLjgwNjUgNi40ODE1M0MzMC44MzgzIDYuMzY2OTIgMzAuODE4NCA2LjI3OTk4IDMwLjc0NjcgNi4yMjA3QzMwLjY3OSA2LjE1NzQ3IDMwLjU5NzQgNi4xMjk4MSAzMC41MDE4IDYuMTM3NzFMMjkuNjU5NSA2LjE5Njk5TDI5LjQwMjcgNy45MjIwMkMyOS4zNzg4IDguMTA3NzcgMjkuMzE1MSA4LjI0NjA5IDI5LjIxMTUgOC4zMzY5OEMyOS4xMDggOC40Mjc4OCAyOC45NzI2IDguNDY1NDIgMjguODA1MyA4LjQ0OTYxQzI4LjY0MiA4LjQzMzggMjguNTE4NiA4LjM2NjYyIDI4LjQzNDkgOC4yNDgwNkMyOC4zNTEzIDguMTI5NSAyOC4zMjE0IDcuOTc3MzUgMjguMzQ1MyA3Ljc5MTYxTDI4LjYyNjEgNS42ODEyNkMyOC42NSA1LjUxMTMyIDI4LjcxNTcgNS4zNzQ5OCAyOC44MjMyIDUuMjcyMjNDMjguOTMwOCA1LjE2OTQ4IDI5LjA2ODEgNS4xMTIxNyAyOS4yMzU0IDUuMTAwMzJMMzEuMzMyMSA0Ljk1MjEyQzMxLjg4MTcgNC45MTI2IDMyLjMzNTcgNC45Njk5IDMyLjY5NDEgNS4xMjQwM0MzMy4wNTI1IDUuMjc4MTYgMzMuMzY3MSA1LjUzODk5IDMzLjYzNzkgNS45MDY1MkwzNC42NzE0IDcuMzIzM0wzNi4xNzA4IDYuNjY1M0MzNi4zMzggNi41OTAyMSAzNi40ODkzIDYuNTc0NCAzNi42MjQ4IDYuNjE3ODdDMzYuNzYwMiA2LjY1NzM5IDM2Ljg2NTcgNi43NTIyNCAzNi45NDE0IDYuOTAyNDJDMzcuMDEzIDcuMDUyNTkgMzcuMDE5IDcuMTk0ODYgMzYuOTU5MyA3LjMyOTIzQzM2LjkwMzUgNy40NjM2IDM2Ljc5MiA3LjU2ODMyIDM2LjYyNDggNy42NDM0MUwzNC43MzExIDguNDc5MjVDMzQuNjAzNyA4LjUzODUzIDM0LjQ3NDMgOC41NTAzOSAzNC4zNDI4IDguNTE0ODJDMzQuMjE1NCA4LjQ3NTMgMzQuMTEzOCA4LjQwMDIxIDM0LjAzODIgOC4yODk1NkwzMy4zODExIDcuMzM1MTZDMzMuMzEzNCA3LjI0MDMxIDMzLjIyOTggNy4xOTg4MSAzMy4xMzAyIDcuMjEwNjdDMzMuMDMwNiA3LjIyMjUzIDMyLjk2NDkgNy4yODM3OCAzMi45MzMxIDcuMzk0NDRMMzIuNDkxIDguOTI5NzhMMzQuNzMxMSAxMC4zODgxQzM0Ljg0MjYgMTAuNDU5MiAzNC45MjIzIDEwLjU1NiAzNC45NzAxIDEwLjY3ODVDMzUuMDE3OSAxMC44MDEgMzUuMDI5OCAxMC45MjU1IDM1LjAwNTkgMTEuMDUyQzM0Ljk4NiAxMS4xNzQ1IDM0LjkyODIgMTEuMjc1MyAzNC44MzI3IDExLjM1NDNMMzIuNzcxOCAxMy4wOTcxQzMyLjYwODUgMTMuMjM1NCAzMi40NDUyIDEzLjI5ODcgMzIuMjgxOSAxMy4yODY4QzMyLjEyMjYgMTMuMjc1IDMxLjk5MzIgMTMuMjEzNyAzMS44OTM3IDEzLjEwMzFDMzEuNzk4MSAxMi45OTY0IDMxLjc1NDMgMTIuODY1OSAzMS43NjIyIDEyLjcxMThDMzEuNzcwMiAxMi41NTM3IDMxLjg1MzggMTIuNDA3NSAzMi4wMTMxIDEyLjI3MzFMMzMuNDg4NiAxMS4wMTY0TDMxLjIwMDcgOS43NDE5MVpNMjcuMjA0NCAxNC44NjM3QzI3LjA4NDkgMTQuNzU3IDI3LjAxNzIgMTQuNjE4NiAyNy4wMDEzIDE0LjQ0ODdDMjYuOTg5MyAxNC4yNzg4IDI3LjA2MSAxNC4xMTY3IDI3LjIxNjMgMTMuOTYyNkwyOS4yMjM1IDExLjk3NjdMMjkuOTM0MyA5LjQ4MTA4QzMwLjA0MTggOS42MTU0NCAzMC4xNzUzIDkuNzQ1ODYgMzAuMzM0NSA5Ljg3MjMyQzMwLjQ5NzggOS45OTQ4MyAzMC42OTMgMTAuMTE3MyAzMC45MiAxMC4yMzk5TDMxLjExNzEgMTAuMzQ2NkwzMC4zMDQ3IDEyLjQzMzJDMzAuMjUyOSAxMi41NTU3IDMwLjIwOTEgMTIuNjQwNyAzMC4xNzMzIDEyLjY4ODFDMzAuMTQxNCAxMi43MzU1IDMwLjA4NTYgMTIuNzk4OCAzMC4wMDYgMTIuODc3OEwyOC4wNzA2IDE0Ljc4MDdDMjcuOTE5MiAxNC45MjY5IDI3Ljc2MzkgMTUgMjcuNjA0NiAxNUMyNy40NDkzIDE1IDI3LjMxNTkgMTQuOTU0NiAyNy4yMDQ0IDE0Ljg2MzdaIn0pfSl9ZnVuY3Rpb24gajgoKXtyZXR1cm4gWCgic3ZnIix7d2lkdGg6IjE0IixoZWlnaHQ6IjE0Iix2aWV3Qm94OiI0OSAzIDE2IDEyIixmaWxsOiJjdXJyZW50Q29sb3IiLHhtbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsY2hpbGRyZW46WCgicGF0aCIse2Q6Ik01Ny4wMDI4IDExLjk0OUM1Ni44NDggMTEuOTQ5IDU2LjcxNzIgMTEuODk4NyA1Ni42MTAzIDExLjc5OEM1Ni41MDM1IDExLjY5MzkgNTYuNDUwMSAxMS41NzA3IDU2LjQ1MDEgMTEuNDI4NFY5LjAyODYzTDU0LjQyMTYgNy4xMDc3NkM1NC4yMjI3IDYuOTIwMzUgNTQuMDk1NSA2LjY5ODI1IDU0LjA0MDMgNi40NDE0NEM1My45ODUgNi4xODExNiA1NC4wMTA4IDUuOTI3ODIgNTQuMTE3NiA1LjY4MTQyQzU0LjIyODIgNS40Mzg0OSA1NC4zOTc3IDUuMjQ0MTQgNTQuNjI2MSA1LjA5ODM5QzU0Ljg1ODMgNC45NDkxNiA1NS4xMTYyIDQuODc0NTQgNTUuMzk5OSA0Ljg3NDU0SDU4LjExMzdDNTguNDIzMiA0Ljg3NDU0IDU4LjY4NDggNC45NzY5MiA1OC44OTg1IDUuMTgxNjhDNTkuMTE1OSA1LjM4Mjk2IDU5LjIyNDYgNS42MjkzNiA1OS4yMjQ2IDUuOTIwODdWNy43NjM2Nkg2MC44OTkzQzYxLjA1MDQgNy43NjM2NiA2MS4xNzk0IDcuODEzOTkgNjEuMjg2MiA3LjkxNDYzQzYxLjM5MzEgOC4wMTUyNyA2MS40NDY1IDguMTM4NDcgNjEuNDQ2NSA4LjI4NDIzQzYxLjQ0NjUgOC40MjY1MSA2MS4zOTMxIDguNTQ3OTggNjEuMjg2MiA4LjY0ODYyQzYxLjE3OTQgOC43NDkyNiA2MS4wNTA0IDguNzk5NTggNjAuODk5MyA4Ljc5OTU4SDU4LjY3MTlDNTguNTIwOSA4Ljc5OTU4IDU4LjM5MDEgOC43NDkyNiA1OC4yNzk1IDguNjQ4NjJDNTguMTcyNyA4LjU0Nzk4IDU4LjExOTIgOC40MjY1MSA1OC4xMTkyIDguMjg0MjNWNi45ODgwM0M1OC4xMTkyIDYuOTE4NjIgNTguMDk5IDYuODU0NDIgNTguMDU4NCA2Ljc5NTQyQzU4LjAxNzkgNi43MzI5NSA1Ny45NDQyIDYuNzAxNzIgNTcuODM3MyA2LjcwMTcySDU2LjA2MzJDNTUuOTkzMiA2LjcwMTcyIDU1Ljk0NTMgNi43Mjk0OCA1NS45MTk1IDYuNzg1MDFDNTUuODk3NCA2LjgzNzA2IDU1LjkwODQgNi44ODczOSA1NS45NTI2IDYuOTM1OTdMNTcuNDAwNyA4LjQ1NjAxQzU3LjUwMzkgOC41NjM2IDU3LjU1NTUgOC42ODE1OSA1Ny41NTU1IDguODA5OTlWMTEuNDI4NEM1Ny41NTU1IDExLjU3MDcgNTcuNTAwMiAxMS42OTM5IDU3LjM4OTcgMTEuNzk4QzU3LjI4MjggMTEuODk4NyA1Ny4xNTM4IDExLjk0OSA1Ny4wMDI4IDExLjk0OVpNNTMuMDAxMiAxNEM1Mi41ODQ4IDE0IDUyLjE5NDIgMTMuOTI3MSA1MS44Mjk1IDEzLjc4MTRDNTEuNDY4NCAxMy42MzU2IDUxLjE0OTYgMTMuNDMyNiA1MC44NzMzIDEzLjE3MjNDNTAuNjAwNiAxMi45MTIgNTAuMzg2OSAxMi42MTE4IDUwLjIzMjEgMTIuMjcxN0M1MC4wNzc0IDExLjkyODIgNTAgMTEuNTYwMyA1MCAxMS4xNjgxQzUwIDEwLjc3NiA1MC4wNzc0IDEwLjQwOTkgNTAuMjMyMSAxMC4wNjk4QzUwLjM4NjkgOS43MjYxOCA1MC42MDA2IDkuNDI0MjYgNTAuODczMyA5LjE2Mzk4QzUxLjE0OTYgOC45MDM3IDUxLjQ2ODQgOC43MDA2OCA1MS44Mjk1IDguNTU0OTJDNTIuMTk0MiA4LjQwOTE2IDUyLjU4NDggOC4zMzYyOCA1My4wMDEyIDguMzM2MjhDNTMuNDIxMiA4LjMzNjI4IDUzLjgxMTggOC40MDkxNiA1NC4xNzI5IDguNTU0OTJDNTQuNTM3NyA4LjcwMDY4IDU0Ljg1NjQgOC45MDM3IDU1LjEyOTEgOS4xNjM5OEM1NS40MDU0IDkuNDI0MjYgNTUuNjIxIDkuNzI2MTggNTUuNzc1OCAxMC4wNjk4QzU1LjkzMDUgMTAuNDA5OSA1Ni4wMDc5IDEwLjc3NiA1Ni4wMDc5IDExLjE2ODFDNTYuMDA3OSAxMS41NjAzIDU1LjkzMDUgMTEuOTI4MiA1NS43NzU4IDEyLjI3MTdDNTUuNjIxIDEyLjYxMTggNTUuNDA1NCAxMi45MTIgNTUuMTI5MSAxMy4xNzIzQzU0Ljg1NjQgMTMuNDMyNiA1NC41Mzc3IDEzLjYzNTYgNTQuMTcyOSAxMy43ODE0QzUzLjgxMTggMTMuOTI3MSA1My40MjEyIDE0IDUzLjAwMTIgMTRaTTUzLjAwMTIgMTMuMjY2QzUzLjQxMDIgMTMuMjY2IDUzLjc4MjMgMTMuMTcwNiA1NC4xMTc2IDEyLjk3OTdDNTQuNDU2NiAxMi43OTIzIDU0LjcyNTYgMTIuNTQwNyA1NC45MjQ2IDEyLjIyNDlDNTUuMTI3MyAxMS45MDU2IDU1LjIyODYgMTEuNTUzNCA1NS4yMjg2IDExLjE2ODFDNTUuMjI4NiAxMC43ODI5IDU1LjEyNzMgMTAuNDMyNCA1NC45MjQ2IDEwLjExNjZDNTQuNzI1NiA5Ljc5NzMzIDU0LjQ1NjYgOS41NDM5OSA1NC4xMTc2IDkuMzU2NTlDNTMuNzgyMyA5LjE2NTcxIDUzLjQxMDIgOS4wNzAyOCA1My4wMDEyIDkuMDcwMjhDNTIuNTk1OSA5LjA3MDI4IDUyLjIyMzcgOS4xNjU3MSA1MS44ODQ3IDkuMzU2NTlDNTEuNTQ5NCA5LjU0Mzk5IDUxLjI4MDQgOS43OTczMyA1MS4wNzc4IDEwLjExNjZDNTAuODc4OCAxMC40MzI0IDUwLjc3OTMgMTAuNzgyOSA1MC43NzkzIDExLjE2ODFDNTAuNzc5MyAxMS41NTM0IDUwLjg3ODggMTEuOTA1NiA1MS4wNzc4IDEyLjIyNDlDNTEuMjgwNCAxMi41NDA3IDUxLjU0OTQgMTIuNzkyMyA1MS44ODQ3IDEyLjk3OTdDNTIuMjIzNyAxMy4xNzA2IDUyLjU5NTkgMTMuMjY2IDUzLjAwMTIgMTMuMjY2Wk02Mi40ODAxIDkuNjExNjZDNjIuMzYyMiA5LjUxNDQ5IDYyLjMwMTQgOS40MTU1OCA2Mi4yOTc3IDkuMzE0OTRDNjIuMjk3NyA5LjIxMDgzIDYyLjMzMDggOS4xMjQwNyA2Mi4zOTcyIDkuMDU0NjZDNjIuNDY3MiA4Ljk4NTI1IDYyLjU1MzggOC45NDUzNCA2Mi42NTY5IDguOTM0OTNDNjIuNzYzOCA4LjkyMTA1IDYyLjg2ODggOC45NTU3NSA2Mi45NzIgOS4wMzkwNEM2My4yODg5IDkuMzAyNzkgNjMuNTM5NCA5LjYxNjg3IDYzLjcyMzYgOS45ODEyNkM2My45MDc5IDEwLjM0NTcgNjQgMTAuNzQxMyA2NCAxMS4xNjgxQzY0IDExLjU2MDMgNjMuOTIyNiAxMS45MjgyIDYzLjc2NzkgMTIuMjcxN0M2My42MTMxIDEyLjYxMTggNjMuMzk3NiAxMi45MTIgNjMuMTIxMiAxMy4xNzIzQzYyLjg0ODUgMTMuNDMyNiA2Mi41Mjk4IDEzLjYzNTYgNjIuMTY1IDEzLjc4MTRDNjEuODAzOSAxMy45MjcxIDYxLjQxNTIgMTQgNjAuOTk4OCAxNEM2MC41ODI0IDE0IDYwLjE5MTkgMTMuOTI3MSA1OS44MjcxIDEzLjc4MTRDNTkuNDYyMyAxMy42MzU2IDU5LjE0MTcgMTMuNDMyNiA1OC44NjU0IDEzLjE3MjNDNTguNTkyNyAxMi45MTIgNTguMzc5IDEyLjYxMTggNTguMjI0MiAxMi4yNzE3QzU4LjA2OTUgMTEuOTI4MiA1Ny45OTIxIDExLjU2MDMgNTcuOTkyMSAxMS4xNjgxQzU3Ljk5MjEgMTAuOTYzNCA1OC4wMTQyIDEwLjc2NTYgNTguMDU4NCAxMC41NzQ3QzU4LjEwNjMgMTAuMzgwNCA1OC4xNzI3IDEwLjE5MyA1OC4yNTc0IDEwLjAxMjVDNTguMzA5IDkuOTAxNDQgNTguMzgwOCA5LjgzMDMgNTguNDczIDkuNzk5MDZDNTguNTY4OCA5Ljc2NDM2IDU4LjY2MjcgOS43NjQzNiA1OC43NTQ4IDkuNzk5MDZDNTguODUwNiA5LjgzMDMgNTguOTIyNSA5Ljg5Mjc2IDU4Ljk3MDQgOS45ODY0N0M1OS4wMTgzIDEwLjA4MDIgNTkuMDEwOSAxMC4xOTgyIDU4Ljk0ODMgMTAuMzQwNEM1OC44MzA0IDEwLjYwMDcgNTguNzcxNCAxMC44NzY2IDU4Ljc3MTQgMTEuMTY4MUM1OC43NzE0IDExLjU1MzQgNTguODcwOSAxMS45MDU2IDU5LjA2OTkgMTIuMjI0OUM1OS4yNzI1IDEyLjU0MDcgNTkuNTQxNSAxMi43OTIzIDU5Ljg3NjggMTIuOTc5N0M2MC4yMTU4IDEzLjE3MDYgNjAuNTg5OCAxMy4yNjYgNjAuOTk4OCAxMy4yNjZDNjEuNDA3OCAxMy4yNjYgNjEuNzggMTMuMTcwNiA2Mi4xMTUzIDEyLjk3OTdDNjIuNDUwNiAxMi43OTIzIDYyLjcxNzcgMTIuNTQwNyA2Mi45MTY3IDEyLjIyNDlDNjMuMTE5NCAxMS45MDU2IDYzLjIyMDcgMTEuNTUzNCA2My4yMjA3IDExLjE2ODFDNjMuMjIwNyAxMC44NTkzIDYzLjE1MjUgMTAuNTcxMiA2My4wMTYyIDEwLjMwNEM2Mi44ODM1IDEwLjAzMzMgNjIuNzA0OCA5LjgwMjUzIDYyLjQ4MDEgOS42MTE2NlpNNjAuOTk4OCA2LjI3NDg2QzYwLjc3NCA2LjI3NDg2IDYwLjU2OTUgNi4yMjQ1NCA2MC4zODUzIDYuMTIzODlDNjAuMjAxMSA2LjAxOTc4IDYwLjA1MzcgNS44ODI3IDU5Ljk0MzIgNS43MTI2NUM1OS44MzYzIDUuNTM5MTMgNTkuNzgyOSA1LjM0NjUyIDU5Ljc4MjkgNS4xMzQ4M0M1OS43ODI5IDQuOTI2NiA1OS44MzYzIDQuNzM3NDYgNTkuOTQzMiA0LjU2NzQxQzYwLjA1MzcgNC4zOTM4OSA2MC4yMDExIDQuMjU2ODEgNjAuMzg1MyA0LjE1NjE3QzYwLjU2OTUgNC4wNTIwNiA2MC43NzQgNCA2MC45OTg4IDRDNjEuMjE5OSA0IDYxLjQyMDcgNC4wNTIwNiA2MS42MDEzIDQuMTU2MTdDNjEuNzgxOCA0LjI1NjgxIDYxLjkyNTUgNC4zOTM4OSA2Mi4wMzI0IDQuNTY3NDFDNjIuMTQyOSA0LjczNzQ2IDYyLjE5ODIgNC45MjY2IDYyLjE5ODIgNS4xMzQ4M0M2Mi4xOTgyIDUuMzQ2NTIgNjIuMTQyOSA1LjUzOTEzIDYyLjAzMjQgNS43MTI2NUM2MS45MjU1IDUuODgyNyA2MS43ODE4IDYuMDE5NzggNjEuNjAxMyA2LjEyMzg5QzYxLjQyMDcgNi4yMjQ1NCA2MS4yMTk5IDYuMjc0ODYgNjAuOTk4OCA2LjI3NDg2WiJ9KX0pfWZ1bmN0aW9uIHY4KCl7cmV0dXJuIFgoInN2ZyIse3dpZHRoOiIxNiIsaGVpZ2h0OiIxNCIsdmlld0JveDoiNzAgNSAxOCA5IixmaWxsOiJjdXJyZW50Q29sb3IiLHhtbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsY2hpbGRyZW46WCgicGF0aCIse2Q6Ik04NS41NzIgMTIuMTAzOEM4Ni4wNiAxMi4xMDM4IDg2LjQyMDcgMTEuOTg5MiA4Ni42NTQyIDExLjc2MDFDODYuODg0NyAxMS41MjgxIDg3IDExLjE2NDEgODcgMTAuNjY4MVYxMC4xMTEyQzg3IDkuNzY5MDEgODYuOTIwNyA5LjQ2MzAyIDg2Ljc2MiA5LjE5MzI5Qzg2LjYwMzMgOC45MjA2NSA4Ni4zNzU4IDguNjk3MzMgODYuMDc5NCA4LjUyMzMxQzg1Ljc4MDEgOC4zNDkyOSA4NS40MjIzIDguMjM3NjIgODUuMDA2MiA4LjE4ODMyTDgzLjAxNjggNy45NTMzOUw4MS4xOTgxIDYuODQ4MzVDODAuOTIyNyA2LjY4MDEzIDgwLjY2MDggNi41NDIzNyA4MC40MTIzIDYuNDM1MDVDODAuMTYwOCA2LjMyNDg0IDc5Ljg5NzQgNi4yMzc4MyA3OS42MjE5IDYuMTc0MDJDNzkuMzQ2NSA2LjExMDIxIDc5LjAzODIgNi4wNjUyNiA3OC42OTY5IDYuMDM5MTVDNzguMzUyNiA2LjAxMzA1IDc3Ljk1MTQgNiA3Ny40OTM0IDZINzYuODEwOEM3Ni4zODg3IDYgNzUuOTk1IDYuMDQ5MzEgNzUuNjI5OCA2LjE0NzkyQzc1LjI2MTYgNi4yNDM2MyA3NC45MTg4IDYuMzcxMjUgNzQuNjAxNSA2LjUzMDc2Qzc0LjI4MTEgNi42OTAyOCA3My45ODYyIDYuODY1NzYgNzMuNzE2OCA3LjA1NzE4QzczLjQ0NDQgNy4yNDg2IDczLjE5NTkgNy40MzcxMiA3Mi45NzE0IDcuNjIyNzVMNzIuMjU3NCA3Ljg1MzMzQzcxLjgzMjMgNy45ODY3NCA3MS41MTY0IDguMTgzOTcgNzEuMzA5OSA4LjQ0NUM3MS4xMDMzIDguNzAzMTMgNzEgOS4wMzM3NyA3MSA5LjQzNjkyVjEwLjY0MkM3MSAxMS4xNDY3IDcxLjExNTMgMTEuNTE2NSA3MS4zNDU4IDExLjc1MTRDNzEuNTc2MyAxMS45ODYzIDcxLjkzNyAxMi4xMDM4IDcyLjQyOCAxMi4xMDM4SDcyLjcxNTRDNzIuNzAwNCAxMi4wMzcxIDcyLjY4ODUgMTEuOTcwNCA3Mi42Nzk1IDExLjkwMzdDNzIuNjcwNSAxMS44MzQxIDcyLjY2NiAxMS43NjQ1IDcyLjY2NiAxMS42OTQ4QzcyLjY2NiAxMS4zNTU1IDcyLjc0OTggMTEuMDQ5NSA3Mi45MTc1IDEwLjc3NjlDNzMuMDg1MSAxMC41MDQyIDczLjMxMTIgMTAuMjg4MiA3My41OTU2IDEwLjEyODdDNzMuODc3IDkuOTY2MjMgNzQuMTkyOCA5Ljg4NTAyIDc0LjU0MzEgOS44ODUwMkM3NC44OTA0IDkuODg1MDIgNzUuMjA2MiA5Ljk2NjIzIDc1LjQ5MDYgMTAuMTI4N0M3NS43NzIgMTAuMjg4MiA3NS45OTY1IDEwLjUwNDIgNzYuMTY0MiAxMC43NzY5Qzc2LjMzMTggMTEuMDQ5NSA3Ni40MTU3IDExLjM1NTUgNzYuNDE1NyAxMS42OTQ4Qzc2LjQxNTcgMTEuNzY0NSA3Ni40MTEyIDExLjgzNDEgNzYuNDAyMiAxMS45MDM3Qzc2LjM5MzIgMTEuOTcwNCA3Ni4zODI3IDEyLjAzNzEgNzYuMzcwOCAxMi4xMDM4SDgxLjYzODJDODEuNjIwMyAxMi4wMzcxIDgxLjYwODMgMTEuOTcwNCA4MS42MDIzIDExLjkwMzdDODEuNTkzMyAxMS44MzQxIDgxLjU4ODggMTEuNzY0NSA4MS41ODg4IDExLjY5NDhDODEuNTg4OCAxMS4zNTU1IDgxLjY3MjcgMTEuMDQ5NSA4MS44NDAzIDEwLjc3NjlDODIuMDA1IDEwLjUwNDIgODIuMjI5NSAxMC4yODgyIDgyLjUxMzkgMTAuMTI4N0M4Mi43OTUzIDkuOTY2MjMgODMuMTExMSA5Ljg4NTAyIDgzLjQ2MTQgOS44ODUwMkM4My44MTE3IDkuODg1MDIgODQuMTI5IDkuOTY2MjMgODQuNDEzNCAxMC4xMjg3Qzg0LjY5NDggMTAuMjg4MiA4NC45MTk0IDEwLjUwNDIgODUuMDg3IDEwLjc3NjlDODUuMjUxNyAxMS4wNDk1IDg1LjMzNCAxMS4zNTU1IDg1LjMzNCAxMS42OTQ4Qzg1LjMzNCAxMS43NjQ1IDg1LjMzMSAxMS44MzQxIDg1LjMyNSAxMS45MDM3Qzg1LjMxNiAxMS45NzA0IDg1LjMwNDEgMTIuMDM3MSA4NS4yODkxIDEyLjEwMzhIODUuNTcyWk04My40NjE0IDEzQzgzLjcxMjkgMTMgODMuOTQwNCAxMi45NDIgODQuMTQ0IDEyLjgyNkM4NC4zNDc2IDEyLjcxIDg0LjUwOTIgMTIuNTUzMyA4NC42MjkgMTIuMzU2MUM4NC43NDg3IDEyLjE1ODkgODQuODA4NiAxMS45Mzg1IDg0LjgwODYgMTEuNjk0OEM4NC44MDg2IDExLjQ1MTIgODQuNzQ4NyAxMS4yMzA4IDg0LjYyOSAxMS4wMzM2Qzg0LjUwOTIgMTAuODM2MyA4NC4zNDc2IDEwLjY3OTcgODQuMTQ0IDEwLjU2MzdDODMuOTQwNCAxMC40NDc3IDgzLjcxMjkgMTAuMzg5NyA4My40NjE0IDEwLjM4OTdDODMuMjA2OSAxMC4zODk3IDgyLjk3NzkgMTAuNDQ3NyA4Mi43NzQzIDEwLjU2MzdDODIuNTcwOCAxMC42Nzk3IDgyLjQwOTEgMTAuODM2MyA4Mi4yODk0IDExLjAzMzZDODIuMTY5NiAxMS4yMzA4IDgyLjEwOTcgMTEuNDUxMiA4Mi4xMDk3IDExLjY5NDhDODIuMTA5NyAxMS45Mzg1IDgyLjE2OTYgMTIuMTU4OSA4Mi4yODk0IDEyLjM1NjFDODIuNDA5MSAxMi41NTMzIDgyLjU3MDggMTIuNzEgODIuNzc0MyAxMi44MjZDODIuOTc3OSAxMi45NDIgODMuMjA2OSAxMyA4My40NjE0IDEzWk03NC41NDMxIDEzQzc0Ljc5NDYgMTMgNzUuMDIyMSAxMi45NDIgNzUuMjI1NyAxMi44MjZDNzUuNDI5MiAxMi43MSA3NS41OTA5IDEyLjU1MzMgNzUuNzEwNiAxMi4zNTYxQzc1LjgzMDQgMTIuMTU4OSA3NS44OTAzIDExLjkzODUgNzUuODkwMyAxMS42OTQ4Qzc1Ljg5MDMgMTEuNDUxMiA3NS44MzA0IDExLjIzMDggNzUuNzEwNiAxMS4wMzM2Qzc1LjU5MDkgMTAuODM2MyA3NS40MjkyIDEwLjY3OTcgNzUuMjI1NyAxMC41NjM3Qzc1LjAyMjEgMTAuNDQ3NyA3NC43OTQ2IDEwLjM4OTcgNzQuNTQzMSAxMC4zODk3Qzc0LjI4ODYgMTAuMzg5NyA3NC4wNTk2IDEwLjQ0NzcgNzMuODU2IDEwLjU2MzdDNzMuNjUyNCAxMC42Nzk3IDczLjQ5MDggMTAuODM2MyA3My4zNzEgMTEuMDMzNkM3My4yNTEzIDExLjIzMDggNzMuMTkxNCAxMS40NTEyIDczLjE5MTQgMTEuNjk0OEM3My4xOTE0IDExLjkzODUgNzMuMjUxMyAxMi4xNTg5IDczLjM3MSAxMi4zNTYxQzczLjQ5MDggMTIuNTUzMyA3My42NTI0IDEyLjcxIDczLjg1NiAxMi44MjZDNzQuMDU5NiAxMi45NDIgNzQuMjg4NiAxMyA3NC41NDMxIDEzWiJ9KX0pfWZ1bmN0aW9uIHoyKHtzaXplOiQ9MTgsc3Ryb2tlV2lkdGg6Sj0yfSl7cmV0dXJuIFgoQTUse3NpemU6JCxzdHJva2VXaWR0aDpKfSl9dmFyIF80PSJBY2Nlc3NpYmlsaXR5IHVuYXZhaWxhYmxlIG9uIHRoaXMgc2ltdWxhdG9yLiI7ZnVuY3Rpb24gejMoJCl7cmV0dXJuICQ/LmVycm9ycz8uaW5jbHVkZXMoXzQpPz8hMX1mdW5jdGlvbiBVMygkLEope2lmKCQ9PT1KKXJldHVybiEwO2lmKCQuaWQhPT1KLmlkfHwkLnBhdGghPT1KLnBhdGh8fCQubGFiZWwhPT1KLmxhYmVsfHwkLnZhbHVlIT09Si52YWx1ZXx8JC5yb2xlIT09Si5yb2xlfHwkLnR5cGUhPT1KLnR5cGV8fCQuZW5hYmxlZCE9PUouZW5hYmxlZClyZXR1cm4hMTtsZXQgUT0kLmZyYW1lLFo9Si5mcmFtZTtyZXR1cm4gUT09PVp8fFEueD09PVoueCYmUS55PT09Wi55JiZRLndpZHRoPT09Wi53aWR0aCYmUS5oZWlnaHQ9PT1aLmhlaWdodH1mdW5jdGlvbiBDMygkLEope2xldCBRPSQubGFiZWx8fCQucm9sZXx8YGVsZW1lbnQgJHtKKzF9YCxaPSQucm9sZXx8JC50eXBlO3JldHVybntpZDokLmlkLHBhdGg6JC5wYXRoLGxhYmVsOlEsdmFsdWU6JC52YWx1ZSxyb2xlOlosdHlwZTokLnR5cGUsZW5hYmxlZDokLmVuYWJsZWQsZnJhbWU6JC5mcmFtZX19ZnVuY3Rpb24gUDQoJCxKKXtsZXQgUT1NYXRoLm1heCgwLCQueCksWj1NYXRoLm1heCgwLCQueSksSz1NYXRoLm1pbihKLndpZHRoLCQueCskLndpZHRoKSxZPU1hdGgubWluKEouaGVpZ2h0LCQueSskLmhlaWdodCkscT1NYXRoLm1heCgwLEstUSksRz1NYXRoLm1heCgwLFktWik7cmV0dXJuIHE+MCYmRz4wP3t4OlEseTpaLHdpZHRoOnEsaGVpZ2h0Okd9Om51bGx9ZnVuY3Rpb24gVTIoJCl7cmV0dXJuICQuaWR9ZnVuY3Rpb24gUjgoJCl7cmV0dXJuYCR7JC54fSwkeyQueX0gJHskLndpZHRofXgkeyQuaGVpZ2h0fWB9ZnVuY3Rpb24gVDQoJCl7cmV0dXJuW2BBWCBsYWJlbDogJHskLmxhYmVsfHwiVW5sYWJlbGVkIn1gLCQucm9sZT9gcm9sZTogJHskLnJvbGV9YDoiIiwkLnR5cGU/YHR5cGU6ICR7JC50eXBlfWA6IiIsJC52YWx1ZT9gdmFsdWU6ICR7JC52YWx1ZX1gOiIiLCQuaWQ/YGlkOiAkeyQuaWR9YDoiIixgcGF0aDogJHskLnBhdGh9YCxgZnJhbWU6ICR7UjgoJC5mcmFtZSl9YF0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIjsgIil9ZnVuY3Rpb24gRTQoJCl7bGV0W0osUV09QShudWxsKSxbWixLXT1BKCJBWCBvZmYiKTtyZXR1cm4gRSgoKT0+e2lmKCEkKXtRKG51bGwpLEsoIkFYIG9mZiIpO3JldHVybn1RKG51bGwpLEsoIkFYIHdhaXRpbmciKTtsZXQgWT1TMCgkKTtyZXR1cm4gWS5vbm1lc3NhZ2U9KHEpPT57dHJ5e2xldCBHPUpTT04ucGFyc2UocS5kYXRhKTtRKEcpLEsoejMoRyk/IkFYIHVuYXZhaWxhYmxlIjpgJHtHLmVsZW1lbnRzLmxlbmd0aH0gQVggZWxlbWVudHNgKX1jYXRjaHtLKCJBWCBwYXJzZSBlcnJvciIpfX0sWS5vbmVycm9yPSgpPT57SygiQVggcmVjb25uZWN0aW5nIil9LCgpPT5ZLmNsb3NlKCl9LFskXSkse3NuYXBzaG90Okosc3RhdHVzOlp9fXZhciBoOD13MCh7c25hcHNob3Q6bnVsbCxzdGF0dXM6IkFYIG9mZiJ9KSxnOD13MChudWxsKTtmdW5jdGlvbiB4Migpe3JldHVybiB5MChoOCl9ZnVuY3Rpb24gSDMoKXtsZXQgJD15MChnOCk7aWYoISQpdGhyb3cgRXJyb3IoIkFYIHNlbGVjdGlvbiBjb250ZXh0IGlzIHVuYXZhaWxhYmxlIik7cmV0dXJuICR9dmFyIEk0PVYyKGZ1bmN0aW9uKHtlbGVtZW50OkosaW5kZXg6USxzY3JlZW46WixoaWdobGlnaHRlZDpLLHNlbGVjdGVkOlksb25IaWdobGlnaHQ6cSxvblNlbGVjdDpHfSl7bGV0IEI9VTIoSiksTj1DMyhKLFEpLEw9UDQoSi5mcmFtZSxaKTtpZighTClyZXR1cm4gbnVsbDtsZXQgVj1UNChOKTtyZXR1cm4gWCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIiwiZGF0YS1heC1rZXkiOkIsImRhdGEtYXgtaWQiOk4uaWQsImRhdGEtYXgtcGF0aCI6Ti5wYXRoLCJkYXRhLWF4LWxhYmVsIjpOLmxhYmVsLCJkYXRhLWF4LXZhbHVlIjpOLnZhbHVlLCJkYXRhLWF4LXJvbGUiOk4ucm9sZSwiZGF0YS1heC10eXBlIjpOLnR5cGUsImRhdGEtYXgtZW5hYmxlZCI6U3RyaW5nKE4uZW5hYmxlZCksImRhdGEtYXgtZnJhbWUiOlI4KE4uZnJhbWUpLCJkYXRhLWF4LXNlbGVjdGVkIjpTdHJpbmcoWSksImFyaWEtbGFiZWwiOkoubGFiZWx8fFYsdGl0bGU6VixvbkNsaWNrOigpPT5HKEIpLG9uTW91c2VFbnRlcjooKT0+cShCKSxvbk1vdXNlTGVhdmU6KCk9PnEobnVsbCksY2xhc3NOYW1lOiJhYnNvbHV0ZSBib3gtYm9yZGVyIG1pbi13LXB4IG1pbi1oLXB4IHAtMCByb3VuZGVkLVszcHhdIGJvcmRlciBjdXJzb3ItcG9pbnRlciBwb2ludGVyLWV2ZW50cy1hdXRvIixzdHlsZTp7bGVmdDpgJHtMLngvWi53aWR0aCoxMDB9JWAsdG9wOmAke0wueS9aLmhlaWdodCoxMDB9JWAsd2lkdGg6YCR7TC53aWR0aC9aLndpZHRoKjEwMH0lYCxoZWlnaHQ6YCR7TC5oZWlnaHQvWi5oZWlnaHQqMTAwfSVgLGJvcmRlckNvbG9yOlk/IiM2MGE1ZmEiOks/IiNmYmJmMjQiOiIjMzRkMzk5IixiYWNrZ3JvdW5kOlk/InJnYmEoOTYsMTY1LDI1MCwwLjI0KSI6Sz8icmdiYSgyNDUsMTU4LDExLDAuMjgpIjoicmdiYSgxNiwxODUsMTI5LDAuMTIpIn19KX0sKCQsSik9PiQuaW5kZXg9PT1KLmluZGV4JiYkLmhpZ2hsaWdodGVkPT09Si5oaWdobGlnaHRlZCYmJC5zZWxlY3RlZD09PUouc2VsZWN0ZWQmJiQub25IaWdobGlnaHQ9PT1KLm9uSGlnaGxpZ2h0JiYkLm9uU2VsZWN0PT09Si5vblNlbGVjdCYmJC5zY3JlZW4ud2lkdGg9PT1KLnNjcmVlbi53aWR0aCYmJC5zY3JlZW4uaGVpZ2h0PT09Si5zY3JlZW4uaGVpZ2h0JiZVMygkLmVsZW1lbnQsSi5lbGVtZW50KSk7ZnVuY3Rpb24gdzQoKXtsZXR7c25hcHNob3Q6JH09eDIoKSx7aGlnaGxpZ2h0ZWRLZXk6SixzZWxlY3RlZEtleTpRLHNldEhpZ2hsaWdodGVkS2V5Olosc2V0U2VsZWN0ZWRLZXk6S309SDMoKTtpZighJD8uc2NyZWVuLndpZHRofHwhJD8uc2NyZWVuLmhlaWdodClyZXR1cm4gbnVsbDtyZXR1cm4gWCgiZGl2Iix7Y2xhc3NOYW1lOiJhYnNvbHV0ZSBpbnNldC0wIHotMTAgb3ZlcmZsb3ctaGlkZGVuIHBvaW50ZXItZXZlbnRzLW5vbmUiLGNoaWxkcmVuOiQuZWxlbWVudHMubWFwKChZLHEpPT57bGV0IEc9VTIoWSk7cmV0dXJuIFgoSTQse2VsZW1lbnQ6WSxpbmRleDpxLHNjcmVlbjokLnNjcmVlbixoaWdobGlnaHRlZDpHPT09SixzZWxlY3RlZDpHPT09USxvbkhpZ2hsaWdodDpaLG9uU2VsZWN0Okt9LEcpfSl9KX1mdW5jdGlvbiBiNCh7ZW5kcG9pbnQ6JCxjaGlsZHJlbjpKfSl7bGV0e3NuYXBzaG90OlEsc3RhdHVzOlp9PUU0KCQpLFtLLFldPUEobnVsbCksW3EsR109QShudWxsKTtFKCgpPT57aWYoISQpWShudWxsKSxHKG51bGwpfSxbJF0pO2xldCBCPWIxKCgpPT4oe3NuYXBzaG90OlEsc3RhdHVzOlp9KSxbUSxaXSksTj1iMSgoKT0+KHtoaWdobGlnaHRlZEtleTpLLHNlbGVjdGVkS2V5OnEsc2V0SGlnaGxpZ2h0ZWRLZXk6WSxzZXRTZWxlY3RlZEtleTpHfSksW0sscV0pO3JldHVybiBYKGg4LHt2YWx1ZTpCLGNoaWxkcmVuOlgoZzgse3ZhbHVlOk4sY2hpbGRyZW46Sn0pfSl9ZnVuY3Rpb24geTQoe292ZXJsYXlFbmFibGVkOiQsc3RyZWFtaW5nOkosb25Ub2dnbGVPdmVybGF5OlF9KXtsZXR7c3RhdHVzOlp9PXgyKCksW0ssWV09QSghMSkscT0kJiZKO3JldHVybiBYKGExLkJ1dHRvbix7ImFyaWEtbGFiZWwiOiQ/IkhpZGUgYWNjZXNzaWJpbGl0eSBvdmVybGF5IjoiU2hvdyBhY2Nlc3NpYmlsaXR5IG92ZXJsYXkiLCJhcmlhLXByZXNzZWQiOiQsdGl0bGU6WixvbkNsaWNrOlEsb25Nb3VzZUVudGVyOigpPT5ZKCEwKSxvbk1vdXNlTGVhdmU6KCk9PlkoITEpLHN0eWxlOnE/e2JhY2tncm91bmQ6Sz8icmdiYSgyNTUsMjU1LDI1NSwwLjEyKSI6InJnYmEoMjU1LDI1NSwyNTUsMC4wOCkiLGNvbG9yOiJyZ2JhKDI1NSwyNTUsMjU1LDAuOTUpIn06dm9pZCAwLGNoaWxkcmVuOlgoSjIse3NpemU6MTksc3Ryb2tlV2lkdGg6Mn0pfSl9dmFyIE9aPSJ3LTkgaC05IHNtOnctWzMwcHhdIHNtOmgtWzMwcHhdIHNocmluay0wIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHAtMCBiZy10cmFuc3BhcmVudCBib3JkZXItbm9uZSByb3VuZGVkLW1kIGN1cnNvci1wb2ludGVyIHRvdWNoLW1hbmlwdWxhdGlvbiBbdHJhbnNpdGlvbjpiYWNrZ3JvdW5kXzAuMTVzX2Vhc2UsY29sb3JfMC4xNXNfZWFzZSxvcGFjaXR5XzAuMXNfZWFzZV0iO2Z1bmN0aW9uIHgwKHtjbGFzc05hbWU6JD0iIixvblBvaW50ZXJEb3duOkosb25Qb2ludGVyVXA6USxvblBvaW50ZXJDYW5jZWw6WixvblBvaW50ZXJMZWF2ZTpLLC4uLll9KXtsZXRbcSxHXT1BKCExKTtyZXR1cm4gWCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixjbGFzc05hbWU6YCR7T1p9ICR7cT8iYmctd2hpdGUvMTIgdGV4dC13aGl0ZSBvcGFjaXR5LTYwIjoidGV4dC1bIzhlOGU5M10gaG92ZXI6Ymctd2hpdGUvOCBob3Zlcjp0ZXh0LXdoaXRlIn0gJHskfWAsb25Qb2ludGVyRG93bjooQik9PntHKCEwKSxKPy4oQil9LG9uUG9pbnRlclVwOihCKT0+e0coITEpLFE/LihCKX0sb25Qb2ludGVyQ2FuY2VsOihCKT0+e0coITEpLFo/LihCKX0sb25Qb2ludGVyTGVhdmU6KEIpPT57RyghMSksSz8uKEIpfSwuLi5ZfSl9ZnVuY3Rpb24gTzMoe2NsYXNzTmFtZTokPSIifSl7cmV0dXJuIFgoImEiLHtocmVmOiJodHRwczovL2V4cG8uZGV2L3NlcnZpY2VzL3NpbXVsYXRvcnMiLHRhcmdldDoiX2JsYW5rIixyZWw6Im5vcmVmZXJyZXIiLGNsYXNzTmFtZTpgaGlkZGVuIHNtOmlubGluZS1mbGV4IGgtWzMwcHhdIG1pbi13LTAgaXRlbXMtY2VudGVyIHdoaXRlc3BhY2Utbm93cmFwIHJvdW5kZWQtbWQgcHgtMS41IGZvbnQtbW9ubyB0ZXh0LVsxMnB4XSBmb250LXNlbWlib2xkIHRleHQtd2hpdGUvNjUgbm8tdW5kZXJsaW5lIFt0cmFuc2l0aW9uOmJhY2tncm91bmRfMC4xNXNfZWFzZSxjb2xvcl8wLjE1c19lYXNlXSBob3ZlcjpiZy13aGl0ZS84IGhvdmVyOnRleHQtd2hpdGUvODUgZm9jdXMtdmlzaWJsZTpvdXRsaW5lIGZvY3VzLXZpc2libGU6b3V0bGluZS0yIGZvY3VzLXZpc2libGU6b3V0bGluZS1vZmZzZXQtMiBmb2N1cy12aXNpYmxlOm91dGxpbmUtd2hpdGUvNjAgJHskfWAudHJpbSgpLCJhcmlhLWxhYmVsIjoiT3BlbiBFQVMgU2ltdWxhdG9yIix0aXRsZToiT3BlbiBFQVMgU2ltdWxhdG9yIixjaGlsZHJlbjoiRUFTIFNpbXVsYXRvciJ9KX1mdW5jdGlvbiBTNCh7b3BlbjokLG9uQ2xpY2s6Sn0pe3JldHVybiBYKCJkaXYiLHtjbGFzc05hbWU6YGZpeGVkIHRvcC0zIGxlZnQtMyB6LTMwIGZsZXggaXRlbXMtY2VudGVyIGdhcC0xIHAtMSBbdHJhbnNpdGlvbjpvcGFjaXR5XzAuMThzX2Vhc2VdICR7JD8ib3BhY2l0eS0wIHBvaW50ZXItZXZlbnRzLW5vbmUiOiJvcGFjaXR5LTEwMCBwb2ludGVyLWV2ZW50cy1hdXRvIn1gLGNoaWxkcmVuOltYKHgwLHtvbkNsaWNrOkosImFyaWEtbGFiZWwiOiJPcGVuIGRldmljZXMgc2lkZWJhciIsImFyaWEtcHJlc3NlZCI6JCx0aXRsZToiRGV2aWNlcyIsY2hpbGRyZW46WChtMCx7c2l6ZToxOCxzdHJva2VXaWR0aDoxLjc1fSl9KSxYKE8zLHt9KV19KX1mdW5jdGlvbiB4NCgkLEope2xldCBRPW5ldyBNYXAoJC5tYXAoKEspPT5bSy5kZXZpY2UsS10pKSxaPVtdO2ZvcihsZXQgSyBvZiBKKXtsZXQgWT1RLmdldChLLmRldmljZSk7aWYoIVkpY29udGludWU7Wi5wdXNoKHsuLi5ZLHN0YXRlOksuc3RhdGUsaGVscGVyOksuaGVscGVyfSksUS5kZWxldGUoSy5kZXZpY2UpfWZvcihsZXQgSyBvZiBRLnZhbHVlcygpKVoucHVzaCh7Li4uSyxzdGF0ZToiU2h1dGRvd24iLGhlbHBlcjpudWxsfSk7cmV0dXJuIFp9ZnVuY3Rpb24gajQoJCxKLFEpe2lmKCQubGVuZ3RoPT09MClyZXR1cm4hMTtsZXQgWj1uZXcgU2V0KCQubWFwKChLKT0+Sy5kZXZpY2UpKTtyZXR1cm4gSi5zbGljZSgwLE1hdGgubWluKFEsSi5sZW5ndGgpKS5zb21lKChLKT0+IVouaGFzKEsuZGV2aWNlKSl9ZnVuY3Rpb24gdjQoJCl7aWYoIU51bWJlci5pc0Zpbml0ZSgkKXx8JDw9MClyZXR1cm4iMCBCIjtsZXQgSj0kLzEwNzM3NDE4MjQ7aWYoSj49MSlyZXR1cm5gJHtKLnRvRml4ZWQoSj49MTA/MDoxKX0gR0JgO3JldHVybmAkeygkLzEwNDg1NzYpLnRvRml4ZWQoMCl9IE1CYH1mdW5jdGlvbiBNMygkKXtsZXQgSj0kLm1hdGNoKC9eKFthLXpBLVpdKyktKC4rKSQvKTtpZighSilyZXR1cm57b3M6JCx2ZXJzaW9uOiIifTtyZXR1cm57b3M6SlsxXSx2ZXJzaW9uOkpbMl0ucmVwbGFjZSgvLS9nLCIuIil9fWZ1bmN0aW9uIFI0KCQpe3JldHVybiBNMygkKS52ZXJzaW9ufHwkfWZ1bmN0aW9uIEEzKCQpe2xldHtvczpKLHZlcnNpb246UX09TTMoJCk7cmV0dXJuIFE/YCR7Sn0gJHtRfWA6Sn1mdW5jdGlvbiBGMyh7Y2hyb21lOiQsc2NyZWVuOkosaW50ZXJhY3RpdmU6UT0hMSxvbkJ1dHRvbjpaLG9uQ3Jvd25XaGVlbDpLLGNvbnRhaW5lclNpemU6WX0pe3JldHVybiBYKCJkaXYiLHtjbGFzc05hbWU6ImFic29sdXRlIGluc2V0LTAiLGNoaWxkcmVuOlskLmJ1dHRvbnMubWFwKChxKT0+WChBWix7Y2hyb21lOiQsYnV0dG9uOnEsaW50ZXJhY3RpdmU6USxvbkJ1dHRvbjpaLG9uV2hlZWw6USYmcS5uYW1lPT09ImRpZ2l0YWwtY3Jvd24iP0s6dm9pZCAwLGNvbnRhaW5lclNpemU6WX0sYGJ1dHRvbi0ke3EubmFtZX1gKSksJC5jb21wb3NpdGVJbWFnZT9YKGc0LHtjaHJvbWU6JCxpbWFnZTokLmNvbXBvc2l0ZUltYWdlLHJlY3Q6JC5ib2R5LHpJbmRleDoxLGNvbnRhaW5lclNpemU6WX0pOiQuc2xpY2UmJiQuY29ybmVyP1goa1ose2Nocm9tZTokLGNvbnRhaW5lclNpemU6WX0pOm51bGwsWCgiZGl2Iix7Y2xhc3NOYW1lOiJhYnNvbHV0ZSBvdmVyZmxvdy1oaWRkZW4gYmctYmxhY2siLHN0eWxlOnsuLi5mOCgkLCQuc2NyZWVuLDIsWSksYm9yZGVyUmFkaXVzOk1aKCQpfSxjaGlsZHJlbjpKfSldfSl9ZnVuY3Rpb24gTVooJCl7cmV0dXJuYCR7JC5zY3JlZW5SYWRpdXMvJC5zY3JlZW4ud2lkdGgqMTAwfSUgLyAkeyQuc2NyZWVuUmFkaXVzLyQuc2NyZWVuLmhlaWdodCoxMDB9JWB9ZnVuY3Rpb24gQVooe2Nocm9tZTokLGJ1dHRvbjpKLGludGVyYWN0aXZlOlEsb25CdXR0b246WixvbldoZWVsOkssY29udGFpbmVyU2l6ZTpZfSl7bGV0W3EsR109QSghMSksW0IsTl09QSghMSksTD1EKG51bGwpLFY9RChudWxsKSx6PUQoSyk7ei5jdXJyZW50PUssRSgoKT0+e2xldCBGPVYuY3VycmVudDtpZighRnx8IUspcmV0dXJuO2xldCBjPShqKT0+e2oucHJldmVudERlZmF1bHQoKSxqLnN0b3BQcm9wYWdhdGlvbigpLHouY3VycmVudD8uKGouZGVsdGFZLGouZGVsdGFNb2RlKX07cmV0dXJuIEYuYWRkRXZlbnRMaXN0ZW5lcigid2hlZWwiLGMse3Bhc3NpdmU6ITF9KSwoKT0+Ri5yZW1vdmVFdmVudExpc3RlbmVyKCJ3aGVlbCIsYyl9LFshIUtdKTtsZXQgQz1RJiZKLnVzYWdlUGFnZSE9bnVsbCYmSi51c2FnZSE9bnVsbCxNPUkoKCk9PntpZihMLmN1cnJlbnQ9PT1udWxsKXJldHVybjtMLmN1cnJlbnQ9bnVsbCxOKCExKSxaPy4oe3BoYXNlOiJ1cCIsYnV0dG9uOkp9KX0sW0osWl0pLFU9SSgoRik9PntpZihGLmJ1dHRvbiE9PTAmJkYucG9pbnRlclR5cGU9PT0ibW91c2UiKXJldHVybjtGLnByZXZlbnREZWZhdWx0KCksRi5zdG9wUHJvcGFnYXRpb24oKSxMLmN1cnJlbnQ9Ri5wb2ludGVySWQ7dHJ5e0YuY3VycmVudFRhcmdldC5zZXRQb2ludGVyQ2FwdHVyZShGLnBvaW50ZXJJZCl9Y2F0Y2h7fU4oITApLFo/Lih7cGhhc2U6ImRvd24iLGJ1dHRvbjpKfSl9LFtKLFpdKSxIPUoub25Ub3A/NTowLE89QyYmKHF8fEIpLGs9KE8/Si5ob3Zlci54OjApKjEwMCx3PShPP0ouaG92ZXIueTowKSoxMDAsUD1CJiZKLmltYWdlRG93bj9KLmltYWdlRG93bjpKLmltYWdlLHg9Qz97b25Qb2ludGVyRG93bjpVLG9uUG9pbnRlclVwOk0sb25Qb2ludGVyQ2FuY2VsOk0sb25Qb2ludGVyRW50ZXI6KCk9PkcoITApLG9uUG9pbnRlckxlYXZlOigpPT57RyghMSksTSgpfX06e307cmV0dXJuIFgoImRpdiIse3JlZjpWLHJvbGU6Qz8iYnV0dG9uIjp2b2lkIDAsImFyaWEtbGFiZWwiOkM/aDQoSi5uYW1lKTp2b2lkIDAsImFyaWEtaGlkZGVuIjpDP3ZvaWQgMDohMCx0aXRsZTpDP2g0KEoubmFtZSk6dm9pZCAwLGNsYXNzTmFtZToiYWJzb2x1dGUgc2VsZWN0LW5vbmUiLHN0eWxlOnsuLi5mOCgkLEouZnJhbWUsSCxZKSx0cmFuc2Zvcm06a3x8dz9gdHJhbnNsYXRlKCR7a30lLCAke3d9JSlgOnZvaWQgMCx0cmFuc2l0aW9uOiJ0cmFuc2Zvcm0gMC4xMnMgZWFzZSIsY3Vyc29yOkM/InBvaW50ZXIiOnZvaWQgMCxwb2ludGVyRXZlbnRzOkM/ImF1dG8iOiJub25lIix0b3VjaEFjdGlvbjoibm9uZSJ9LC4uLngsY2hpbGRyZW46UCYmWCgiaW1nIix7YWx0OiIiLCJhcmlhLWhpZGRlbiI6ITAsZHJhZ2dhYmxlOiExLHNyYzpmNCgkLmlkZW50aWZpZXIsUCksY2xhc3NOYW1lOiJhYnNvbHV0ZSBpbnNldC0wIHNpemUtZnVsbCBzZWxlY3Qtbm9uZSIsc3R5bGU6e29iamVjdEZpdDoiZmlsbCIsZmlsdGVyOkImJiFKLmltYWdlRG93bj8iYnJpZ2h0bmVzcygxLjQpIjp2b2lkIDAsdHJhbnNpdGlvbjoiZmlsdGVyIDAuMTJzIGVhc2UiLFdlYmtpdFVzZXJEcmFnOiJub25lIn19KX0pfWZ1bmN0aW9uIGg0KCQpe3JldHVybiAkLnNwbGl0KCItIikubWFwKChKKT0+Si5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStKLnNsaWNlKDEpKS5qb2luKCIgIil9ZnVuY3Rpb24ga1ooe2Nocm9tZTokLGNvbnRhaW5lclNpemU6Sn0pe2lmKCEkLnNsaWNlfHwhJC5jb3JuZXIpcmV0dXJuIG51bGw7bGV0e2JvZHk6USxjb3JuZXI6WixzbGljZTpLfT0kLFk9TWF0aC5tYXgoUS53aWR0aC1aLndpZHRoKjIsMCkscT1NYXRoLm1heChRLmhlaWdodC1aLmhlaWdodCoyLDApLEc9W3trZXk6InRvcC1sZWZ0IixpbWFnZTpLLnRvcExlZnQscmVjdDp7eDpRLngseTpRLnksd2lkdGg6Wi53aWR0aCxoZWlnaHQ6Wi5oZWlnaHR9fSx7a2V5OiJ0b3AtcmlnaHQiLGltYWdlOksudG9wUmlnaHQscmVjdDp7eDpRLngrUS53aWR0aC1aLndpZHRoLHk6US55LHdpZHRoOloud2lkdGgsaGVpZ2h0OlouaGVpZ2h0fX0se2tleToiYm90dG9tLWxlZnQiLGltYWdlOksuYm90dG9tTGVmdCxyZWN0Ont4OlEueCx5OlEueStRLmhlaWdodC1aLmhlaWdodCx3aWR0aDpaLndpZHRoLGhlaWdodDpaLmhlaWdodH19LHtrZXk6ImJvdHRvbS1yaWdodCIsaW1hZ2U6Sy5ib3R0b21SaWdodCxyZWN0Ont4OlEueCtRLndpZHRoLVoud2lkdGgseTpRLnkrUS5oZWlnaHQtWi5oZWlnaHQsd2lkdGg6Wi53aWR0aCxoZWlnaHQ6Wi5oZWlnaHR9fSx7a2V5OiJ0b3AiLGltYWdlOksudG9wLHJlY3Q6e3g6US54K1oud2lkdGgseTpRLnksd2lkdGg6WSxoZWlnaHQ6Wi5oZWlnaHR9fSx7a2V5OiJib3R0b20iLGltYWdlOksuYm90dG9tLHJlY3Q6e3g6US54K1oud2lkdGgseTpRLnkrUS5oZWlnaHQtWi5oZWlnaHQsd2lkdGg6WSxoZWlnaHQ6Wi5oZWlnaHR9fSx7a2V5OiJsZWZ0IixpbWFnZTpLLmxlZnQscmVjdDp7eDpRLngseTpRLnkrWi5oZWlnaHQsd2lkdGg6Wi53aWR0aCxoZWlnaHQ6cX19LHtrZXk6InJpZ2h0IixpbWFnZTpLLnJpZ2h0LHJlY3Q6e3g6US54K1Eud2lkdGgtWi53aWR0aCx5OlEueStaLmhlaWdodCx3aWR0aDpaLndpZHRoLGhlaWdodDpxfX1dO3JldHVybiBYKFgxLHtjaGlsZHJlbjpHLmZpbHRlcigoQik9PkIucmVjdC53aWR0aD4wJiZCLnJlY3QuaGVpZ2h0PjApLm1hcCgoQik9PlgoZzQse2Nocm9tZTokLGltYWdlOkIuaW1hZ2UscmVjdDpCLnJlY3QsekluZGV4OjEsY29udGFpbmVyU2l6ZTpKfSxCLmtleSkpfSl9ZnVuY3Rpb24gZzQoe2Nocm9tZTokLGltYWdlOkoscmVjdDpRLHpJbmRleDpaLGNvbnRhaW5lclNpemU6S30pe3JldHVybiBYKCJpbWciLHthbHQ6IiIsImFyaWEtaGlkZGVuIjohMCxkcmFnZ2FibGU6ITEsc3JjOmY0KCQuaWRlbnRpZmllcixKKSxjbGFzc05hbWU6ImFic29sdXRlIHNlbGVjdC1ub25lIixzdHlsZTp7Li4uZjgoJCxRLFosSyksb2JqZWN0Rml0OiJmaWxsIixwb2ludGVyRXZlbnRzOiJub25lIixXZWJraXRVc2VyRHJhZzoibm9uZSJ9fSl9ZnVuY3Rpb24gZjQoJCxKKXtsZXQgUT1gZ3JpZC9hcGkvZGV2aWNla2l0LWNocm9tZT9jaHJvbWU9JHtlbmNvZGVVUklDb21wb25lbnQoJCl9JmltYWdlPSR7ZW5jb2RlVVJJQ29tcG9uZW50KEopfWA7cmV0dXJuIHR5cGVvZiB3aW5kb3c+InUiP2AvJHtRfWA6djEoUSl9ZnVuY3Rpb24gRlooJCxKLFEsWj1JMigpKXtsZXQgSz1WMChKLngvJC5mcmFtZS53aWR0aCpRLndpZHRoLFopLFk9VjAoKEoueCtKLndpZHRoKS8kLmZyYW1lLndpZHRoKlEud2lkdGgsWikscT1WMChKLnkvJC5mcmFtZS5oZWlnaHQqUS5oZWlnaHQsWiksRz1WMCgoSi55K0ouaGVpZ2h0KS8kLmZyYW1lLmhlaWdodCpRLmhlaWdodCxaKTtyZXR1cm57bGVmdDpLLHRvcDpxLHdpZHRoOk1hdGgubWF4KDAsWS1LKSxoZWlnaHQ6TWF0aC5tYXgoMCxHLXEpfX1mdW5jdGlvbiBmOCgkLEosUSxaKXtpZihaJiZaLndpZHRoPjAmJlouaGVpZ2h0PjApe2xldCBLPUZaKCQsSixaKTtyZXR1cm57bGVmdDpLLmxlZnQsdG9wOksudG9wLHdpZHRoOksud2lkdGgsaGVpZ2h0OksuaGVpZ2h0LHpJbmRleDpRfX1yZXR1cm57bGVmdDprMyhKLngsJC5mcmFtZS53aWR0aCksdG9wOmszKEoueSwkLmZyYW1lLmhlaWdodCksd2lkdGg6azMoSi53aWR0aCwkLmZyYW1lLndpZHRoKSxoZWlnaHQ6azMoSi5oZWlnaHQsJC5mcmFtZS5oZWlnaHQpLHpJbmRleDpRfX1mdW5jdGlvbiBrMygkLEope3JldHVybmAkeyQvSioxMDB9JWB9ZnVuY3Rpb24gbTQoe25hbWU6JCxydW50aW1lOkosY2hyb21lOlEscGxhY2Vob2xkZXJBc3NldDpaLGJ1c3k6SyxidXN5TGFiZWw6WT0iU3RhcnRpbmfigKYiLGVycm9yOnEsb25TdGFydDpHfSl7bGV0IEI9ZjAoJCksTj1nMVtCXSxMPVo/P251bGwsVj1MP251bGw6UT8/bnVsbCx6PVY/e3dpZHRoOlYuc2NyZWVuLndpZHRoLGhlaWdodDpWLnNjcmVlbi5oZWlnaHR9OnkyKEIsJCksQz1TMihCLHopLE09TD9XWihCLEwubmFtZSk6Vj9DKlYuZnJhbWUud2lkdGgvVi5zY3JlZW4ud2lkdGg6QypOLndpZHRoLyhOLndpZHRoLTIqTi5iZXplbFgpLFU9TD97d2lkdGg6TC53aWR0aCxoZWlnaHQ6TC5oZWlnaHR9OlY/e3dpZHRoOlYuZnJhbWUud2lkdGgsaGVpZ2h0OlYuZnJhbWUuaGVpZ2h0fTp7d2lkdGg6Ti53aWR0aCxoZWlnaHQ6Ti5oZWlnaHR9LEg9YCR7VS53aWR0aH0gLyAke1UuaGVpZ2h0fWAsTz0oVS53aWR0aC9VLmhlaWdodCpEWihCKSkudG9GaXhlZCgyKSxrPUI9PT0idmlzaW9uIj9YKFRaLHt9KTpYKF9aLHt0eXBlOkJ9KTtyZXR1cm4gWCgiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciBnYXAtNSBtaW4tdy0wIHctZnVsbCIsY2hpbGRyZW46W1goImRpdiIse2NsYXNzTmFtZToicmVsYXRpdmUgdy1mdWxsIixzdHlsZTp7d2lkdGg6YG1pbigxMDAlLCAke019cHgsICR7T31kdmgpYCxtYXhXaWR0aDpNLGFzcGVjdFJhdGlvOkh9LGNoaWxkcmVuOkw/WChQWix7bmFtZTpMLm5hbWUsZmFsbGJhY2s6a30pOlY/WCgiZGl2Iix7Y2xhc3NOYW1lOiJhYnNvbHV0ZSBpbnNldC0wIHBvaW50ZXItZXZlbnRzLW5vbmUiLGNoaWxkcmVuOlgoRjMse2Nocm9tZTpWfSl9KTprfSksWCgiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciBnYXAtMSB0ZXh0LWNlbnRlciIsY2hpbGRyZW46W1goImRpdiIse2NsYXNzTmFtZToidGV4dC1bMTdweF0gZm9udC1zZW1pYm9sZCB0ZXh0LXdoaXRlLzkwIixjaGlsZHJlbjokfSksWCgiZGl2Iix7Y2xhc3NOYW1lOiJ0ZXh0LVsxM3B4XSB0ZXh0LXdoaXRlLzQ1IixjaGlsZHJlbjpbQTMoSiksIiBTaW11bGF0b3IiXX0pXX0pLHEmJlgoImRpdiIse2NsYXNzTmFtZToidGV4dC1kYW5nZXIgdGV4dC1bMTJweF0gZm9udC1tb25vIG1heC13LTkwIHRleHQtY2VudGVyIixjaGlsZHJlbjpxfSksWCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixvbkNsaWNrOkcsZGlzYWJsZWQ6SyxjbGFzc05hbWU6YGZsZXggaXRlbXMtY2VudGVyIGdhcC0yIHB4LTUgcHktMiByb3VuZGVkLWZ1bGwgdGV4dC1bMTRweF0gZm9udC1tZWRpdW0gW3RyYW5zaXRpb246YmFja2dyb3VuZF8wLjE1c10gJHtLPyJiZy13aGl0ZS84IHRleHQtd2hpdGUvNTUgY3Vyc29yLWRlZmF1bHQiOiJiZy13aGl0ZS8xMiB0ZXh0LXdoaXRlLzkwIGhvdmVyOmJnLXdoaXRlLzE4IGN1cnNvci1wb2ludGVyIn1gLGNoaWxkcmVuOltLJiZYKCJzcGFuIix7ImFyaWEtaGlkZGVuIjohMCxjbGFzc05hbWU6InNpemUtMy41IHJvdW5kZWQtZnVsbCBib3JkZXItMiBib3JkZXItd2hpdGUvMjUgYW5pbWF0ZS1bZ3JpZC1zcGluXzAuOHNfbGluZWFyX2luZmluaXRlXSIsc3R5bGU6e2JvcmRlclRvcENvbG9yOiJyZ2JhKDI1NSwyNTUsMjU1LDAuOSkifX0pLEs/WToiU3RhcnQiXX0pXX0pfWZ1bmN0aW9uIFdaKCQsSil7aWYoJD09PSJ3YXRjaCIpe2lmKEouaW5jbHVkZXMoInVsdHJhIikpcmV0dXJuIDI1NTtpZihKLmluY2x1ZGVzKCJ3YXRjaC1zZS0iKXx8Si5pbmNsdWRlcygiYXBwbGUtd2F0Y2gtc2UtIikpcmV0dXJuIDIzODtyZXR1cm4gMjUwfWlmKCQ9PT0idmlzaW9uIilyZXR1cm4gMzkwO2lmKCQ9PT0iaXBhZCIpcmV0dXJuIDM0MDtyZXR1cm4gMjgwfWZ1bmN0aW9uIERaKCQpe2lmKCQ9PT0idmlzaW9uIilyZXR1cm4gMzQ7aWYoJD09PSJpcGFkIilyZXR1cm4gNTA7aWYoJD09PSJ3YXRjaCIpcmV0dXJuIDU2O3JldHVybiA1Mn1mdW5jdGlvbiBfWih7dHlwZTokfSl7bGV0IEo9ZzFbJF07cmV0dXJuIFgoWDEse2NoaWxkcmVuOltYKCJzdmciLHt2aWV3Qm94OmAwIDAgJHtKLndpZHRofSAke0ouaGVpZ2h0fWAsY2xhc3NOYW1lOiJhYnNvbHV0ZSBpbnNldC0wIHNpemUtZnVsbCIscHJlc2VydmVBc3BlY3RSYXRpbzoieE1pZFlNaWQgbWVldCIsY2hpbGRyZW46W1goImRlZnMiLHtjaGlsZHJlbjpYKCJsaW5lYXJHcmFkaWVudCIse2lkOiJwbGFjZWhvbGRlci1zY3JlZW4iLHgxOiIwIix5MToiMCIseDI6IjEiLHkyOiIxIixjaGlsZHJlbjpbWCgic3RvcCIse29mZnNldDoiMCUiLHN0b3BDb2xvcjoiIzZmYThlNiJ9KSxYKCJzdG9wIix7b2Zmc2V0OiI1NSUiLHN0b3BDb2xvcjoiIzViOTNkNiJ9KSxYKCJzdG9wIix7b2Zmc2V0OiIxMDAlIixzdG9wQ29sb3I6IiM1MTg4Y2YifSldfSl9KSxYKCJyZWN0Iix7eDpKLmJlemVsWCx5OkouYmV6ZWxZLHdpZHRoOkoud2lkdGgtMipKLmJlemVsWCxoZWlnaHQ6Si5oZWlnaHQtMipKLmJlemVsWSxyeDpKLmlubmVyUmFkaXVzLGZpbGw6InVybCgjcGxhY2Vob2xkZXItc2NyZWVuKSJ9KV19KSxYKCJkaXYiLHtjbGFzc05hbWU6ImFic29sdXRlIGluc2V0LTAgcG9pbnRlci1ldmVudHMtbm9uZSIsY2hpbGRyZW46WChZMyx7dHlwZTokfSl9KV19KX1mdW5jdGlvbiBQWih7bmFtZTokLGZhbGxiYWNrOkp9KXtsZXRbUSxaXT1BKCJsb2FkaW5nIik7cmV0dXJuIFgoImRpdiIse2NsYXNzTmFtZToiYWJzb2x1dGUgaW5zZXQtMCBzaXplLWZ1bGwgcG9pbnRlci1ldmVudHMtbm9uZSIsY2hpbGRyZW46W1EhPT0ibG9hZGVkIiYmSixRIT09ImVycm9yIiYmWCgiaW1nIix7YWx0OiIiLCJhcmlhLWhpZGRlbiI6ITAsZHJhZ2dhYmxlOiExLHNyYzpFWigkKSxjbGFzc05hbWU6ImFic29sdXRlIGluc2V0LTAgc2l6ZS1mdWxsIHNlbGVjdC1ub25lIG9iamVjdC1jb250YWluIixzdHlsZTp7V2Via2l0VXNlckRyYWc6Im5vbmUifSxvbkxvYWQ6KCk9PlooImxvYWRlZCIpLG9uRXJyb3I6KCk9PlooImVycm9yIil9KV19KX1mdW5jdGlvbiBUWigpe2xldHt3aWR0aDokLGhlaWdodDpKfT1nMS52aXNpb247cmV0dXJuIFgoInN2ZyIse3ZpZXdCb3g6YDAgMCAkeyR9ICR7Sn1gLGNsYXNzTmFtZToiYWJzb2x1dGUgaW5zZXQtMCBzaXplLWZ1bGwiLHByZXNlcnZlQXNwZWN0UmF0aW86InhNaWRZTWlkIG1lZXQiLGZpbGw6Im5vbmUiLCJhcmlhLWhpZGRlbiI6ITAsY2hpbGRyZW46W1goImRlZnMiLHtjaGlsZHJlbjpbWCgibGluZWFyR3JhZGllbnQiLHtpZDoidmlzaW9uLXBsYWNlaG9sZGVyLXNoZWxsIix4MToiMCIseTE6IjAiLHgyOiIwIix5MjoiMSIsY2hpbGRyZW46W1goInN0b3AiLHtvZmZzZXQ6IjAlIixzdG9wQ29sb3I6IiMyODI4MmIifSksWCgic3RvcCIse29mZnNldDoiNTQlIixzdG9wQ29sb3I6IiMxMjEyMTQifSksWCgic3RvcCIse29mZnNldDoiMTAwJSIsc3RvcENvbG9yOiIjMDcwNzA4In0pXX0pLFgoImxpbmVhckdyYWRpZW50Iix7aWQ6InZpc2lvbi1wbGFjZWhvbGRlci1nbGFzcyIseDE6IjAiLHkxOiIwIix4MjoiMSIseTI6IjEiLGNoaWxkcmVuOltYKCJzdG9wIix7b2Zmc2V0OiIwJSIsc3RvcENvbG9yOiIjMzEzNTNhIn0pLFgoInN0b3AiLHtvZmZzZXQ6IjQ4JSIsc3RvcENvbG9yOiIjMGEwYjBkIn0pLFgoInN0b3AiLHtvZmZzZXQ6IjEwMCUiLHN0b3BDb2xvcjoiIzAxMDEwMiJ9KV19KSxYKCJyYWRpYWxHcmFkaWVudCIse2lkOiJ2aXNpb24tcGxhY2Vob2xkZXItbGVucyIsY3g6IjUwJSIsY3k6IjQ2JSIscjoiNjAlIixjaGlsZHJlbjpbWCgic3RvcCIse29mZnNldDoiMCUiLHN0b3BDb2xvcjoiIzIwMjgzMiJ9KSxYKCJzdG9wIix7b2Zmc2V0OiI3MiUiLHN0b3BDb2xvcjoiIzA5MGEwZCJ9KSxYKCJzdG9wIix7b2Zmc2V0OiIxMDAlIixzdG9wQ29sb3I6IiMwMTAxMDIifSldfSldfSksWCgicGF0aCIse2Q6Ik05NSAxNzdDOTUgMTE5IDE0NyA4NiAyMTggOTFDMjU3IDk0IDI4NiAxMTEgMzIwIDExMUMzNTQgMTExIDM4MyA5NCA0MjIgOTFDNDkzIDg2IDU0NSAxMTkgNTQ1IDE3N1YyMjJDNTQ1IDI3OCA1MDEgMzExIDQ0MyAzMTBDMzk4IDMwOSAzNzEgMjg2IDM0NSAyNjhDMzI5IDI1NyAzMTEgMjU3IDI5NSAyNjhDMjY5IDI4NiAyNDIgMzA5IDE5NyAzMTBDMTM5IDMxMSA5NSAyNzggOTUgMjIyVjE3N1oiLGZpbGw6InVybCgjdmlzaW9uLXBsYWNlaG9sZGVyLXNoZWxsKSIsc3Ryb2tlOiIjM2QzZDQyIixzdHJva2VXaWR0aDoiNyJ9KSxYKCJwYXRoIix7ZDoiTTExNyAxODFDMTE3IDEzNCAxNTcgMTEyIDIyMCAxMTZDMjYwIDExOSAyODcgMTM2IDMyMCAxMzZDMzUzIDEzNiAzODAgMTE5IDQyMCAxMTZDNDgzIDExMiA1MjMgMTM0IDUyMyAxODFWMjE3QzUyMyAyNjMgNDg4IDI4NyA0MzkgMjg3QzM5OSAyODcgMzY5IDI2NCAzNDUgMjUwQzMyOSAyNDAgMzExIDI0MCAyOTUgMjUwQzI3MSAyNjQgMjQxIDI4NyAyMDEgMjg3QzE1MiAyODcgMTE3IDI2MyAxMTcgMjE3VjE4MVoiLGZpbGw6InVybCgjdmlzaW9uLXBsYWNlaG9sZGVyLWdsYXNzKSIsc3Ryb2tlOiIjMTcxODFiIixzdHJva2VXaWR0aDoiNSJ9KSxYKCJwYXRoIix7ZDoiTTE0MyAxODZDMTQ1IDE0OCAxNzYgMTM1IDIyNiAxMzhDMjY0IDE0MSAyODkgMTU2IDMyMCAxNTZDMzUxIDE1NiAzNzYgMTQxIDQxNCAxMzhDNDY0IDEzNSA0OTUgMTQ4IDQ5NyAxODZWMjEzQzQ5NyAyNTAgNDY5IDI2NiA0MzIgMjY2QzM5NCAyNjYgMzY5IDI0NiAzNDMgMjM1QzMyOCAyMjkgMzEyIDIyOSAyOTcgMjM1QzI3MSAyNDYgMjQ2IDI2NiAyMDggMjY2QzE3MSAyNjYgMTQzIDI1MCAxNDMgMjEzVjE4NloiLGZpbGw6InVybCgjdmlzaW9uLXBsYWNlaG9sZGVyLWxlbnMpIixzdHJva2U6IiMyNjJhMmYiLHN0cm9rZVdpZHRoOiIyIn0pLFgoInBhdGgiLHtkOiJNMTUxIDE3MUMxNzkgMTUwIDIxNyAxNDcgMjUxIDE1NE0zODkgMTU0QzQyMyAxNDcgNDYxIDE1MCA0ODkgMTcxIixzdHJva2U6IiM0ZTUzNWEiLHN0cm9rZVdpZHRoOiIzIixzdHJva2VMaW5lY2FwOiJyb3VuZCJ9KSxYKCJwYXRoIix7ZDoiTTI3NyAyMzNDMjg5IDIyNCAzMDQgMjE5IDMyMCAyMTlDMzM2IDIxOSAzNTEgMjI0IDM2MyAyMzMiLHN0cm9rZToiIzNiNDA0NiIsc3Ryb2tlV2lkdGg6IjQiLHN0cm9rZUxpbmVjYXA6InJvdW5kIn0pXX0pfWZ1bmN0aW9uIEVaKCQpe2xldCBKPWBncmlkL2FwaS9kZXZpY2UtcGxhY2Vob2xkZXItYXNzZXQ/bmFtZT0ke2VuY29kZVVSSUNvbXBvbmVudCgkKX1gO3JldHVybiB0eXBlb2Ygd2luZG93PiJ1Ij9gLyR7Sn1gOnYxKEopfWZ1bmN0aW9uIG04KCQsSil7cmV0dXJuICQuZ2V0KEopPT09IjEifWZ1bmN0aW9uIHA0KCQpe2xldCBKPSQuc3RhcnRzV2l0aCgiPyIpPyQuc2xpY2UoMSk6JCxRPW5ldyBVUkxTZWFyY2hQYXJhbXMoSiksWj1tOChRLCJlbWJlZCIpO3JldHVybntpbml0aWFsOlp8fG04KFEsImZ1bGxzY3JlZW4iKSxlbWJlZExvY2tlZDpafX1mdW5jdGlvbiBJWigkLEope2xldCBRPW5ldyBVUkwoJCk7aWYobTgoUS5zZWFyY2hQYXJhbXMsImVtYmVkIikpcmV0dXJuIFEudG9TdHJpbmcoKTtpZihKKVEuc2VhcmNoUGFyYW1zLnNldCgiZnVsbHNjcmVlbiIsIjEiKTtlbHNlIFEuc2VhcmNoUGFyYW1zLmRlbGV0ZSgiZnVsbHNjcmVlbiIpO3JldHVybiBRLnRvU3RyaW5nKCl9ZnVuY3Rpb24gcDgoJCl7dHJ5e3dpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZShudWxsLCIiLElaKHdpbmRvdy5sb2NhdGlvbi5ocmVmLCQpKX1jYXRjaHt9fWZ1bmN0aW9uIHU0KCQsSil7aWYoIUoucHJlc2VudGF0aW9uJiYhSi5zd2FsbG93aW5nKXJldHVybntzd2FsbG93OiExLGV4aXQ6ITEsc3dhbGxvd2luZzpKLnN3YWxsb3dpbmd9O2lmKCQudHlwZT09PSJrZXl1cCIpcmV0dXJue3N3YWxsb3c6ITAsZXhpdDohMSxzd2FsbG93aW5nOiExfTtyZXR1cm57c3dhbGxvdzohMCxleGl0OiEkLnJlcGVhdCYmSi5wcmVzZW50YXRpb24sc3dhbGxvd2luZzohMH19dmFyIHdaPTMwLFczPTQ7dmFyIF9EMD1XMyt3Wjt2YXIgYzQ9MjAsRDM9ODtmdW5jdGlvbiBsNCgkLEosUSl7cmV0dXJuIE1hdGgubWF4KEosTWF0aC5taW4oJCxRKSl9ZnVuY3Rpb24gZDQoJCxKLFEsWil7bGV0e2lubmVyV2lkdGg6Syxpbm5lckhlaWdodDpZfT13aW5kb3cscT1jNCtXMztyZXR1cm57eDpsNCgkLDAsSy1xKSx5Omw0KEosRDMsWS1aKX19ZnVuY3Rpb24gbzQoe29uRXhpdDokLGNoaWxkcmVuOkp9KXtsZXQgUT1EKG51bGwpLFo9RChudWxsKSxbSyxZXT1BKG51bGwpO0UoKCk9PntsZXQgVj1RLmN1cnJlbnQ7aWYoIVYpcmV0dXJuO2xldCB6PVYub2Zmc2V0V2lkdGg7WSh7eDp3aW5kb3cuaW5uZXJXaWR0aC16LUQzLHk6RDN9KX0sW10pLEUoKCk9PntsZXQgVj0oKT0+e2xldCB6PVEuY3VycmVudDtpZighenx8Wi5jdXJyZW50KXJldHVybjtZKChDKT0+QyYmZDQoQy54LEMueSx6Lm9mZnNldFdpZHRoLHoub2Zmc2V0SGVpZ2h0KSl9O3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIixWKSwoKT0+d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsVil9LFtdKTtsZXQgcT1JKChWKT0+e1Yuc3RvcFByb3BhZ2F0aW9uKCksVi5wcmV2ZW50RGVmYXVsdCgpO2xldCB6PVEuY3VycmVudDtpZigheilyZXR1cm47Vi50YXJnZXQuc2V0UG9pbnRlckNhcHR1cmUoVi5wb2ludGVySWQpO2xldCBDPXouZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7Wi5jdXJyZW50PXtvZmZzZXRYOlYuY2xpZW50WC1DLmxlZnQsb2Zmc2V0WTpWLmNsaWVudFktQy50b3B9fSxbXSksRz1JKChWKT0+e2xldCB6PVouY3VycmVudDtpZigheilyZXR1cm47Vi5zdG9wUHJvcGFnYXRpb24oKTtsZXQgQz1RLmN1cnJlbnQsTT1DP0Mub2Zmc2V0V2lkdGg6ODAsVT1DP0Mub2Zmc2V0SGVpZ2h0OjM4LEg9e3g6Vi5jbGllbnRYLXoub2Zmc2V0WCx5OlYuY2xpZW50WS16Lm9mZnNldFl9O1koZDQoSC54LEgueSxNLFUpKX0sW10pLEI9SSgoKT0+e1ouY3VycmVudD1udWxsfSxbXSksTj1JKChWKT0+e1Yuc3RvcFByb3BhZ2F0aW9uKCksQigpfSxbQl0pLEw9SSgoKT0+e0IoKX0sW0JdKTtyZXR1cm4gWCgiZGl2Iix7cmVmOlEsY2xhc3NOYW1lOiJ6LTUwIGZsZXggaXRlbXMtY2VudGVyIGdhcC0wLjUgcm91bmRlZC1bMTBweF0gYmctcGFuZWwtYmcgYm9yZGVyIGJvcmRlci13aGl0ZS84IGJhY2tkcm9wLWJsdXItWzEycHhdIFstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDEycHgpXSIsc3R5bGU6e3Bvc2l0aW9uOiJmaXhlZCIsbGVmdDpLPy54Pz8wLHRvcDpLPy55Pz9EMyxwYWRkaW5nOlczLHZpc2liaWxpdHk6Sz8idmlzaWJsZSI6ImhpZGRlbiJ9LG9uUG9pbnRlck1vdmU6RyxvblBvaW50ZXJVcDpOLG9uTG9zdFBvaW50ZXJDYXB0dXJlOkwsY2hpbGRyZW46W1goImRpdiIse2NsYXNzTmFtZToiaC05IHNtOmgtWzMwcHhdIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGN1cnNvci1ncmFiIGFjdGl2ZTpjdXJzb3ItZ3JhYmJpbmcgdGV4dC1bIzhlOGU5M10gaG92ZXI6dGV4dC13aGl0ZS83MCBzZWxlY3Qtbm9uZSB0b3VjaC1ub25lIixzdHlsZTp7d2lkdGg6YzR9LG9uUG9pbnRlckRvd246cSwiYXJpYS1sYWJlbCI6IkRyYWcgdG8gcmVwb3NpdGlvbiIsdGl0bGU6IkRyYWcgdG8gcmVwb3NpdGlvbiIsY2hpbGRyZW46WCh6NSx7c2l6ZToxNCxzdHJva2VXaWR0aDoxLjV9KX0pLEosWCh4MCx7b25DbGljazokLCJhcmlhLWxhYmVsIjoiRXhpdCBmdWxsIHNjcmVlbiIsdGl0bGU6IkV4aXQgZnVsbCBzY3JlZW4gKEVzYykiLGNoaWxkcmVuOlgoTzUse3NpemU6MTgsc3Ryb2tlV2lkdGg6MS43NX0pfSldfSl9dmFyIGJaPXpKKG40KCksMSkscjQ9MjI1O2Z1bmN0aW9uIHlaKCl7bGV0ICQ9e307Zm9yKGxldCBLPTA7SzwyNjtLKyspe2xldCBZPTQrSzskW1N0cmluZy5mcm9tQ2hhckNvZGUoOTcrSyldPXt1c2FnZTpZLHNoaWZ0OiExfSwkW1N0cmluZy5mcm9tQ2hhckNvZGUoNjUrSyldPXt1c2FnZTpZLHNoaWZ0OiEwfX1sZXQgSj0iMTIzNDU2Nzg5MCIsUT0iIUAjJCVeJiooKSI7Zm9yKGxldCBLPTA7SzwxMDtLKyspe2xldCBZPTMwK0s7JFtKW0tdXT17dXNhZ2U6WSxzaGlmdDohMX0sJFtRW0tdXT17dXNhZ2U6WSxzaGlmdDohMH19bGV0IFo9W1siLSIsIl8iLDQ1XSxbIj0iLCIrIiw0Nl0sWyJbIiwieyIsNDddLFsiXSIsIn0iLDQ4XSxbIlxcIiwifCIsNDldLFsiOyIsIjoiLDUxXSxbIiciLCciJyw1Ml0sWyJgIiwifiIsNTNdLFsiLCIsIjwiLDU0XSxbIi4iLCI+Iiw1NV0sWyIvIiwiPyIsNTZdXTtmb3IobGV0W0ssWSxxXW9mIFopJFtLXT17dXNhZ2U6cSxzaGlmdDohMX0sJFtZXT17dXNhZ2U6cSxzaGlmdDohMH07cmV0dXJuICRbIiAiXT17dXNhZ2U6NDQsc2hpZnQ6ITF9LCRbYApgXT17dXNhZ2U6NDAsc2hpZnQ6ITF9LCRbIlx0Il09e3VzYWdlOjQzLHNoaWZ0OiExfSwkfXZhciBTWj15WigpO2Z1bmN0aW9uIF8zKCQpe2xldCBKPVtdLFE9W107Zm9yKGxldCBaIG9mICQpe2lmKFo9PT0iXHIiKWNvbnRpbnVlO2xldCBLPVNaW1pdO2lmKCFLKXtRLnB1c2goWik7Y29udGludWV9aWYoSy5zaGlmdClKLnB1c2goe3R5cGU6ImRvd24iLHVzYWdlOnI0fSk7aWYoSi5wdXNoKHt0eXBlOiJkb3duIix1c2FnZTpLLnVzYWdlfSksSi5wdXNoKHt0eXBlOiJ1cCIsdXNhZ2U6Sy51c2FnZX0pLEsuc2hpZnQpSi5wdXNoKHt0eXBlOiJ1cCIsdXNhZ2U6cjR9KX1yZXR1cm57ZXZlbnRzOkosc2tpcHBlZDpRfX12YXIgeFo9e0tleUE6NCxLZXlCOjUsS2V5Qzo2LEtleUQ6NyxLZXlFOjgsS2V5Rjo5LEtleUc6MTAsS2V5SDoxMSxLZXlJOjEyLEtleUo6MTMsS2V5SzoxNCxLZXlMOjE1LEtleU06MTYsS2V5TjoxNyxLZXlPOjE4LEtleVA6MTksS2V5UToyMCxLZXlSOjIxLEtleVM6MjIsS2V5VDoyMyxLZXlVOjI0LEtleVY6MjUsS2V5VzoyNixLZXlYOjI3LEtleVk6MjgsS2V5WjoyOSxEaWdpdDE6MzAsRGlnaXQyOjMxLERpZ2l0MzozMixEaWdpdDQ6MzMsRGlnaXQ1OjM0LERpZ2l0NjozNSxEaWdpdDc6MzYsRGlnaXQ4OjM3LERpZ2l0OTozOCxEaWdpdDA6MzksRW50ZXI6NDAsRXNjYXBlOjQxLEJhY2tzcGFjZTo0MixUYWI6NDMsU3BhY2U6NDQsTWludXM6NDUsRXF1YWw6NDYsQnJhY2tldExlZnQ6NDcsQnJhY2tldFJpZ2h0OjQ4LEJhY2tzbGFzaDo0OSxTZW1pY29sb246NTEsUXVvdGU6NTIsQmFja3F1b3RlOjUzLENvbW1hOjU0LFBlcmlvZDo1NSxTbGFzaDo1NixDYXBzTG9jazo1NyxGMTo1OCxGMjo1OSxGMzo2MCxGNDo2MSxGNTo2MixGNjo2MyxGNzo2NCxGODo2NSxGOTo2NixGMTA6NjcsRjExOjY4LEYxMjo2OSxQcmludFNjcmVlbjo3MCxTY3JvbGxMb2NrOjcxLFBhdXNlOjcyLEluc2VydDo3MyxIb21lOjc0LFBhZ2VVcDo3NSxEZWxldGU6NzYsRW5kOjc3LFBhZ2VEb3duOjc4LEFycm93UmlnaHQ6NzksQXJyb3dMZWZ0OjgwLEFycm93RG93bjo4MSxBcnJvd1VwOjgyLE51bUxvY2s6ODMsTnVtcGFkRGl2aWRlOjg0LE51bXBhZE11bHRpcGx5Ojg1LE51bXBhZFN1YnRyYWN0Ojg2LE51bXBhZEFkZDo4NyxOdW1wYWRFbnRlcjo4OCxOdW1wYWQxOjg5LE51bXBhZDI6OTAsTnVtcGFkMzo5MSxOdW1wYWQ0OjkyLE51bXBhZDU6OTMsTnVtcGFkNjo5NCxOdW1wYWQ3Ojk1LE51bXBhZDg6OTYsTnVtcGFkOTo5NyxOdW1wYWQwOjk4LE51bXBhZERlY2ltYWw6OTksQ29udHJvbExlZnQ6MjI0LFNoaWZ0TGVmdDoyMjUsQWx0TGVmdDoyMjYsTWV0YUxlZnQ6MjI3LENvbnRyb2xSaWdodDoyMjgsU2hpZnRSaWdodDoyMjksQWx0UmlnaHQ6MjMwLE1ldGFSaWdodDoyMzF9O2Z1bmN0aW9uIEMyKCQpe3JldHVybiB4WlskXT8/bnVsbH12YXIgYTQ9QzIoIkJhY2tzcGFjZSIpLGpaPUMyKCJFbnRlciIpO2Z1bmN0aW9uIHU4KCQpe3JldHVyblt7dHlwZToiZG93biIsdXNhZ2U6JH0se3R5cGU6InVwIix1c2FnZTokfV19ZnVuY3Rpb24gdlooJCxKKXtzd2l0Y2goJCl7Y2FzZSJpbnNlcnRUZXh0IjpjYXNlImluc2VydEZyb21QYXN0ZSI6cmV0dXJuIEohPW51bGwmJkohPT0iIj9fMyhKKS5ldmVudHM6W107Y2FzZSJpbnNlcnRMaW5lQnJlYWsiOmNhc2UiaW5zZXJ0UGFyYWdyYXBoIjpyZXR1cm4gdTgoalopO2Nhc2UiZGVsZXRlQ29udGVudEJhY2t3YXJkIjpjYXNlImRlbGV0ZVdvcmRCYWNrd2FyZCI6cmV0dXJuIHU4KGE0KTtkZWZhdWx0OnJldHVybltdfX1mdW5jdGlvbiBzNCgkKXtzd2l0Y2goJCl7Y2FzZSJpbnNlcnRMaW5lQnJlYWsiOmNhc2UiaW5zZXJ0UGFyYWdyYXBoIjpyZXR1cm4gdlooJCxudWxsKTtkZWZhdWx0OnJldHVybltdfX1mdW5jdGlvbiB0NCgkLEope2xldCBRPUFycmF5LmZyb20oJCksWj1BcnJheS5mcm9tKEopLEs9MCxZPU1hdGgubWluKFEubGVuZ3RoLFoubGVuZ3RoKTt3aGlsZShLPFkmJlFbS109PT1aW0tdKUsrKztsZXQgcT1RLnNsaWNlKEspLmpvaW4oIiIpLEc9Wi5zbGljZShLKS5qb2luKCIiKSxCPVEubGVuZ3RoLUstXzMocSkuc2tpcHBlZC5sZW5ndGgsTj1bXTtmb3IobGV0IEw9MDtMPEI7TCsrKU4ucHVzaCguLi51OChhNCkpO3JldHVybiBOLnB1c2goLi4uXzMoRykuZXZlbnRzKSxOfWZ1bmN0aW9uIGU0KCQsSil7aWYoSi5rZXlib2FyZE9wZW4pcmV0dXJuICQ9PT0iQmFja3NwYWNlIiYmSi5jYXB0dXJlSW5wdXRFbXB0eT9DMigkKTpudWxsO2lmKCFKLnNpbUZvY3VzZWQpcmV0dXJuIG51bGw7cmV0dXJuIEMyKCQpfXZhciAkNz17YXV0b0NhcGl0YWxpemU6Im5vbmUiLGF1dG9Db3JyZWN0OiJvbiIsYXV0b0NvbXBsZXRlOiJvZmYiLHNwZWxsQ2hlY2s6ITB9O2Z1bmN0aW9uIEo3KHtvcGVuOiQsb25LZXlzOkosaW5wdXRSZWY6UX0pe2xldCBaPUQoSik7Wi5jdXJyZW50PUo7bGV0IEs9RCgkKTtLLmN1cnJlbnQ9JDtsZXQgWT1EKCIiKTtyZXR1cm4gRSgoKT0+e2xldCBxPVEuY3VycmVudDtpZighcSlyZXR1cm47aWYoJClxLnZhbHVlPSIiLFkuY3VycmVudD0iIixxLmZvY3VzKCk7ZWxzZSBxLmJsdXIoKX0sWyQsUV0pLEUoKCk9PntsZXQgcT1RLmN1cnJlbnQ7aWYoIXEpcmV0dXJuO2xldCBHPShWKT0+e2lmKFYubGVuZ3RoKVouY3VycmVudChWKX0sQj0oVik9PntsZXQgej1WO2lmKEcoczQoei5pbnB1dFR5cGUpKSx6LmlucHV0VHlwZT09PSJpbnNlcnRMaW5lQnJlYWsifHx6LmlucHV0VHlwZT09PSJpbnNlcnRQYXJhZ3JhcGgiKXoucHJldmVudERlZmF1bHQoKX0sTj0oKT0+e0codDQoWS5jdXJyZW50LHEudmFsdWUpKSxZLmN1cnJlbnQ9cS52YWx1ZX0sTD0oKT0+e2lmKCFLLmN1cnJlbnQpcmV0dXJuO3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2lmKCFLLmN1cnJlbnR8fGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1xKXJldHVybjtpZihKNSgpKXEuZm9jdXMoKX0pfSl9O3JldHVybiBxLmFkZEV2ZW50TGlzdGVuZXIoImJlZm9yZWlucHV0IixCKSxxLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IixOKSxxLmFkZEV2ZW50TGlzdGVuZXIoImZvY3Vzb3V0IixMKSwoKT0+e3EucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYmVmb3JlaW5wdXQiLEIpLHEucmVtb3ZlRXZlbnRMaXN0ZW5lcigiaW5wdXQiLE4pLHEucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXNvdXQiLEwpfX0sW1FdKSxYKCJpbnB1dCIse3JlZjpRLGNsYXNzTmFtZToiZml4ZWQgdG9wLTAgbGVmdC0wIHctcHggaC1weCBvcGFjaXR5LTAgYm9yZGVyLW5vbmUgcC0wIG0tMCBiZy10cmFuc3BhcmVudCIsImFyaWEtaGlkZGVuIjohMCx0YWJJbmRleDotMSxkZWZhdWx0VmFsdWU6IiIsLi4uJDd9KX1mdW5jdGlvbiBsOCh7b3BlbjokLG9uQ2xpY2s6Sn0pe3JldHVybiBYKHgwLHtvbkNsaWNrOkosImFyaWEtbGFiZWwiOiJLZXlib2FyZCIsImFyaWEtcHJlc3NlZCI6JCx0aXRsZToiS2V5Ym9hcmQiLGNoaWxkcmVuOlgoQzUse3NpemU6MTgsc3Ryb2tlV2lkdGg6MS43NX0pfSl9ZnVuY3Rpb24gUTcoJCxKPTQsUT1zZXRUaW1lb3V0LFo9Y2xlYXJUaW1lb3V0KXtsZXQgSz1bXSxZPW51bGwscT0oKT0+e1k9bnVsbDtsZXQgRz1LLnNoaWZ0KCk7aWYoRz09PXZvaWQgMClyZXR1cm47aWYoJChHKSxLLmxlbmd0aD4wKVk9UShxLEopfTtyZXR1cm57ZW5xdWV1ZShHKXtpZihHLmxlbmd0aD09PTApcmV0dXJuO2ZvcihsZXQgQiBvZiBHKUsucHVzaChCKTtpZihZPT1udWxsKXEoKX0sZGlzcG9zZSgpe2lmKEsubGVuZ3RoPTAsWSE9bnVsbClaKFkpO1k9bnVsbH19fWZ1bmN0aW9uIGoyKHtvcGVuOiQsd2lkdGg6SixjaGlsZHJlbjpRLHN0eWxlOlosc2lkZTpLPSJyaWdodCJ9KXtyZXR1cm4gWCgiYXNpZGUiLHsiZGF0YS1wYW5lbCI6ITAsY2xhc3NOYW1lOmBmaXhlZCB6LTM1IG1pbi13LTAgb3ZlcmZsb3ctaGlkZGVuIGJnLXBhbmVsLWJnIHRleHQtd2hpdGUvOTAgYmFja2Ryb3AtYmx1ci1bMThweF0gW2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sc3lzdGVtLXVpLHNhbnMtc2VyaWZdIFt0cmFuc2l0aW9uOnRyYW5zZm9ybV8wLjI1c19lYXNlLG9wYWNpdHlfMC4yc19lYXNlXSBmbGV4IGZsZXgtY29sICR7Sz09PSJsZWZ0Ij8idG9wLTAgYm90dG9tLTAgbGVmdC0wIHJvdW5kZWQtbm9uZSBib3JkZXItMCBib3JkZXItciBib3JkZXItd2hpdGUvMTAgc2hhZG93LVs4cHhfMF8zMnB4X3JnYmEoMCwwLDAsMC4zNSldIjoidG9wLTMgYm90dG9tLTMgcmlnaHQtMyByb3VuZGVkLVsxNHB4XSBib3JkZXIgYm9yZGVyLXdoaXRlLzEwIHNoYWRvdy1bMF8xMnB4XzQwcHhfcmdiYSgwLDAsMCwwLjU1KV0ifWAsc3R5bGU6e3dpZHRoOkosdHJhbnNmb3JtOiQ/InRyYW5zbGF0ZVgoMCkiOks9PT0ibGVmdCI/InRyYW5zbGF0ZVgoLTEwMCUpIjoidHJhbnNsYXRlWChjYWxjKDEwMCUgKyAyNHB4KSkiLG9wYWNpdHk6JD8xOjAscG9pbnRlckV2ZW50czokPyJhdXRvIjoibm9uZSIsLi4uWn0sImFyaWEtaGlkZGVuIjohJCxjaGlsZHJlbjpRfSl9ZnVuY3Rpb24gdjIoe2NoaWxkcmVuOiQsc3R5bGU6Sn0pe3JldHVybiBYKCJoZWFkZXIiLHtjbGFzc05hbWU6ImZsZXggc2hyaW5rLTAgaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBnYXAtMi41IHB4LTIuNSBweS0xLjUgcGwtMyIsc3R5bGU6SixjaGlsZHJlbjokfSl9ZnVuY3Rpb24gWjcoe2NoaWxkcmVuOiR9KXtyZXR1cm4gWCgic3BhbiIse2NsYXNzTmFtZToidGV4dC1bMTFweF0gZm9udC1tZWRpdW0gdGV4dC13aGl0ZS81NSIsY2hpbGRyZW46JH0pfWZ1bmN0aW9uIFAzKHtvbkNsaWNrOiQsYXJpYUxhYmVsOko9IkNsb3NlIHBhbmVsIix0aXRsZTpRLGljb25TaXplOlo9MTZ9KXtyZXR1cm4gWCh4MCx7b25DbGljazokLCJhcmlhLWxhYmVsIjpKLHRpdGxlOlEsY2hpbGRyZW46WChQMCx7c2l6ZTpaLHN0cm9rZVdpZHRoOjJ9KX0pfWZ1bmN0aW9uIFg3KCQsSil7bGV0W1EsWl09QShudWxsKTtyZXR1cm4gRSgoKT0+e2lmKCFKfHwhJClyZXR1cm47bGV0IEs9ITEsWT1hc3luYygpPT57dHJ5e2xldCBCPWF3YWl0KGF3YWl0IGZldGNoKCQse2NhY2hlOiJuby1zdG9yZSJ9KSkuanNvbigpO2lmKCFLKVooQil9Y2F0Y2h7fX07WSgpO2xldCBxPXNldEludGVydmFsKFksNTAwMCk7cmV0dXJuKCk9PntLPSEwLGNsZWFySW50ZXJ2YWwocSl9fSxbJCxKXSksUX1mdW5jdGlvbiBLNyh7cmVwb3J0OiR9KXtpZighJHx8JC50b3RhbEJ5dGVzPT09MClyZXR1cm4gbnVsbDtsZXR7ZXN0aW1hdGVkQWRkaXRpb25hbDpKLGF2YWlsYWJsZUJ5dGVzOlEsdG90YWxCeXRlczpaLHJ1bm5pbmdTaW11bGF0b3JzOkt9PSQsWT1NYXRoLm1heCgwLE1hdGgubWluKDEsMS1RL1opKSxxPUsrSixHPUo9PT0wPyIjZTY2IjpKPD0xPyIjZTlhMTNiIjoiIzNiMyIsQj1ZPjAuOT8iI2U2NiI6WT4wLjc1PyIjZTlhMTNiIjoiIzNiMyI7cmV0dXJuIFgoImRpdiIse2NsYXNzTmFtZToiaW5saW5lLWZsZXggbWF4LXctZnVsbCBtaW4tdy0wIGZsZXgtbm93cmFwIGl0ZW1zLWNlbnRlciBnYXAtMS41IG92ZXJmbG93LWhpZGRlbiB3aGl0ZXNwYWNlLW5vd3JhcCBweC0yIHB5LVszcHhdIHJvdW5kZWQtZnVsbCBiZy1bIzEwMTAxMF0gYm9yZGVyIGJvcmRlci1bIzIyMl0gZm9udC1tb25vIHRleHQtWzExcHhdIHRleHQtd2hpdGUvNzAgbGVhZGluZy1ub25lIixjaGlsZHJlbjpbWCgic3BhbiIse2NsYXNzTmFtZToic2l6ZS0xLjUgcm91bmRlZC1bM3B4XSBzaHJpbmstMCIsc3R5bGU6e2JhY2tncm91bmQ6R319KSxYKCJzcGFuIix7Y2xhc3NOYW1lOiJtaW4tdy0wIHRydW5jYXRlIixjaGlsZHJlbjpbWCgic3BhbiIse2NoaWxkcmVuOltLLCIvIixxLCIgc2ltcyJdfSksWCgic3BhbiIse2NsYXNzTmFtZToidGV4dC13aGl0ZS80MCIsY2hpbGRyZW46IiDCtyAifSksWCgic3BhbiIse2NsYXNzTmFtZToidGV4dC13aGl0ZS81NSIsY2hpbGRyZW46W3Y0KFEpLCIgZnJlZSJdfSldfSksWCgic3BhbiIseyJhcmlhLWhpZGRlbiI6ITAsY2xhc3NOYW1lOiJtbC0wLjUgdy03IGgtWzNweF0gc2hyaW5rLTAgYmctWyMxYzFjMWNdIHJvdW5kZWQtWzJweF0gb3ZlcmZsb3ctaGlkZGVuIGlubGluZS1ibG9jayIsY2hpbGRyZW46WCgic3BhbiIse2NsYXNzTmFtZToiYmxvY2sgaC1mdWxsIHRyYW5zaXRpb24tW3dpZHRoLGJhY2tncm91bmRdIGR1cmF0aW9uLTMwMCBlYXNlLW91dCIsc3R5bGU6e3dpZHRoOmAkeyhZKjEwMCkudG9GaXhlZCgxKX0lYCxiYWNrZ3JvdW5kOkJ9fSl9KV19KX1mdW5jdGlvbiBZNyh7dHlwZTokLHNpemU6Sj0yMCxzY3JlZW5PbjpRPSExfSl7bGV0IFo9e3dpZHRoOkosaGVpZ2h0Okosdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6MS42LHN0cm9rZUxpbmVjYXA6InJvdW5kIixzdHJva2VMaW5lam9pbjoicm91bmQifTtzd2l0Y2goJCl7Y2FzZSJpcGFkIjpyZXR1cm4gWCgic3ZnIix7Li4uWixjaGlsZHJlbjpbUSYmWCgicmVjdCIse3g6IjUiLHk6IjMiLHdpZHRoOiIxNSIsaGVpZ2h0OiIxOSIscng6IjEuNjUiLGZpbGw6IiM0N2I3ZmYiLHN0cm9rZToibm9uZSIsImRhdGEtdGVzdGlkIjoiZGV2aWNlLWdseXBoLXNjcmVlbi1vbiJ9KSxYKCJyZWN0Iix7eDoiNCIseToiMi41Iix3aWR0aDoiMTYiLGhlaWdodDoiMTkiLHJ4OiIyLjUifSksWCgibGluZSIse3gxOiIxMiIseTE6IjE4LjUiLHgyOiIxMiIseTI6IjE4LjUifSldfSk7Y2FzZSJ3YXRjaCI6cmV0dXJuIFgoInN2ZyIsey4uLlosY2hpbGRyZW46W1goInJlY3QiLHt4OiI2LjUiLHk6IjciLHdpZHRoOiIxMSIsaGVpZ2h0OiIxMCIscng6IjMifSksWCgicGF0aCIse2Q6Ik04LjUgN2wuNi0zLjJBMS41IDEuNSAwIDAgMSAxMC42IDIuNWgyLjhhMS41IDEuNSAwIDAgMSAxLjUgMS4zTDE1LjUgNyJ9KSxYKCJwYXRoIix7ZDoiTTguNSAxN2wuNiAzLjJhMS41IDEuNSAwIDAgMCAxLjUgMS4zaDIuOGExLjUgMS41IDAgMCAwIDEuNS0xLjNsLjYtMy4yIn0pXX0pO2Nhc2UidmlzaW9uIjpyZXR1cm4gWCgic3ZnIix7Li4uWixjaGlsZHJlbjpYKCJwYXRoIix7ZDoiTTMgMTFhNCA0IDAgMCAxIDQtNGgxMGE0IDQgMCAwIDEgNCA0djIuNWEyLjUgMi41IDAgMCAxLTIuNSAyLjVjLTEuOCAwLTIuNS0xLjItMy41LTEuOC0uOS0uNS0xLjYtLjctMi41LS43cy0xLjYuMi0yLjUuN2MtMSAuNi0xLjcgMS44LTMuNSAxLjhBMi41IDIuNSAwIDAgMSAzIDEzLjV6In0pfSk7ZGVmYXVsdDpyZXR1cm4gWCgic3ZnIix7Li4uWixjaGlsZHJlbjpbUSYmWCgicmVjdCIse3g6IjYiLHk6IjMiLHdpZHRoOiIxMSIsaGVpZ2h0OiIxOSIscng6IjIiLGZpbGw6IiM0N2I3ZmYiLHN0cm9rZToibm9uZSIsImRhdGEtdGVzdGlkIjoiZGV2aWNlLWdseXBoLXNjcmVlbi1vbiJ9KSxYKCJyZWN0Iix7eDoiNi41Iix5OiIyLjUiLHdpZHRoOiIxMSIsaGVpZ2h0OiIxOSIscng6IjIuOCJ9KSxYKCJsaW5lIix7eDE6IjEwLjUiLHkxOiI1Iix4MjoiMTMuNSIseTI6IjUifSldfSl9fWZ1bmN0aW9uIHE3KHtkZXZpY2U6JCxhY3RpdmU6SixzdGFydGluZzpRLHNodXR0aW5nRG93bjpaLG9uU2VsZWN0Okssb25TaHV0ZG93bjpZfSl7bGV0IHE9JC5oZWxwZXIsRz0kLnN0YXRlPT09IkJvb3RlZCIsQj1mMCgkLm5hbWUpLE49UjQoJC5ydW50aW1lKSxMPXE/IlN0cmVhbWluZyI6UT9HPyJTdGFydGluZ+KApiI6IkJvb3RpbmfigKYiOlo/IlNodXR0aW5nIGRvd27igKYiOkc/IkJvb3RlZCI6bnVsbCxWPXE/IiMzNGQzOTkiOkc/IiNlOWExM2IiOm51bGwsej1xfHxHLEM9cT9KPyJiZy1bIzI2MzY0Y10iOiJiZy1bIzIwMmIzYV0iOko/ImJnLXdoaXRlLzE1IjoiYmctd2hpdGUvNiIsTT1xPyJ0ZXh0LVsjZDJlN2ZmXSI6Sj8idGV4dC13aGl0ZS85MCI6InRleHQtd2hpdGUvNTUiO3JldHVybiBYKCJkaXYiLHtyb2xlOiJidXR0b24iLHRhYkluZGV4OjAsImFyaWEtcHJlc3NlZCI6SixvbkNsaWNrOkssb25LZXlEb3duOihVKT0+e2lmKFUua2V5PT09IkVudGVyInx8VS5rZXk9PT0iICIpVS5wcmV2ZW50RGVmYXVsdCgpLEsoKX0sY2xhc3NOYW1lOmBncm91cCByZWxhdGl2ZSBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMi41IHB4LTIgcHktMS41IHJvdW5kZWQtbGcgY3Vyc29yLXBvaW50ZXIgc2VsZWN0LW5vbmUgW3RyYW5zaXRpb246YmFja2dyb3VuZF8wLjEyc10gJHtKPyJiZy13aGl0ZS8xMCB0ZXh0LXdoaXRlIjoidGV4dC13aGl0ZS85MCBob3ZlcjpiZy13aGl0ZS84In1gLGNoaWxkcmVuOltYKCJkaXYiLHtjbGFzc05hbWU6YHJlbGF0aXZlIHNocmluay0wIGdyaWQgcGxhY2UtaXRlbXMtY2VudGVyIHNpemUtOSByb3VuZGVkLVs5cHhdIG92ZXJmbG93LWhpZGRlbiAke0N9YCxjaGlsZHJlbjpbWCgic3BhbiIse2NsYXNzTmFtZTpNLGNoaWxkcmVuOlgoWTcse3R5cGU6QixzY3JlZW5PbjpCb29sZWFuKHEpfSl9KSxWJiYhcSYmWCgic3BhbiIse2NsYXNzTmFtZToiYWJzb2x1dGUgYm90dG9tLTAuNSByaWdodC0wLjUgc2l6ZS0xLjUgcm91bmRlZC1mdWxsIHJpbmctMiByaW5nLVsjMWMxYzFlXSIsc3R5bGU6e2JhY2tncm91bmQ6Vn19KV19KSxYKCJkaXYiLHtjbGFzc05hbWU6Im1pbi13LTAgZmxleC0xIixjaGlsZHJlbjpbWCgiZGl2Iix7Y2xhc3NOYW1lOiJ0cnVuY2F0ZSB0ZXh0LVsxM3B4XSBmb250LXNlbWlib2xkIGxlYWRpbmctdGlnaHQiLGNoaWxkcmVuOiQubmFtZX0pLEwmJlgoImRpdiIse2NsYXNzTmFtZTpgdHJ1bmNhdGUgdGV4dC1bMTFweF0gbGVhZGluZy10aWdodCAke3E/InRleHQtWyMzNGQzOTldIjpKPyJ0ZXh0LXdoaXRlLzc1IjoidGV4dC13aGl0ZS80NSJ9YCxjaGlsZHJlbjpMfSldfSksWCgiZGl2Iix7ImRhdGEtdGVzdGlkIjoiZGV2aWNlLXJvdy10cmFpbGluZy1zbG90IixjbGFzc05hbWU6InJlbGF0aXZlIHNocmluay0wIHctOCBoLTYgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1lbmQiLGNoaWxkcmVuOltYKCJzcGFuIix7Y2xhc3NOYW1lOmBhYnNvbHV0ZSByaWdodC0wIHRleHQtWzExcHhdIGZvbnQtbW9ubyB0YWJ1bGFyLW51bXMgW3RyYW5zaXRpb246b3BhY2l0eV8wLjEyc10gJHtKPyJ0ZXh0LXdoaXRlLzg1IjoidGV4dC13aGl0ZS80MCJ9ICR7ej8iZ3JvdXAtaG92ZXI6b3BhY2l0eS0wIGdyb3VwLWZvY3VzLXdpdGhpbjpvcGFjaXR5LTAiOiIifWAsY2hpbGRyZW46Tn0pLHomJlgoImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsdGl0bGU6Wj8iU2h1dHRpbmcgZG93buKApiI6IlNodXQgZG93biBzaW11bGF0b3IiLCJhcmlhLWxhYmVsIjoiU2h1dCBkb3duIHNpbXVsYXRvciIsb25DbGljazooVSk9PntVLnByZXZlbnREZWZhdWx0KCksVS5zdG9wUHJvcGFnYXRpb24oKSxZKCl9LGRpc2FibGVkOlosY2xhc3NOYW1lOmBhYnNvbHV0ZSByaWdodC0wIHRvcC0xLzIgLXRyYW5zbGF0ZS15LTEvMiBncmlkIHBsYWNlLWl0ZW1zLWNlbnRlciBzaXplLTUgcm91bmRlZC1tZCBvcGFjaXR5LTAgZ3JvdXAtaG92ZXI6b3BhY2l0eS0xMDAgZm9jdXMtdmlzaWJsZTpvcGFjaXR5LTEwMCBbdHJhbnNpdGlvbjpvcGFjaXR5XzAuMTJzLGJhY2tncm91bmRfMC4xMnMsY29sb3JfMC4xMnNdICR7Sj8idGV4dC13aGl0ZS84MCBob3ZlcjpiZy13aGl0ZS8yMCI6InRleHQtd2hpdGUvNzAgaG92ZXI6Ymctd2hpdGUvMTIgaG92ZXI6dGV4dC13aGl0ZSJ9YCxjaGlsZHJlbjpYKFAwLHtzaXplOjEzLHN0cm9rZVdpZHRoOjIuMn0pfSldfSldfSl9dmFyIFIyPSJ2YXIoLS1zZXJ2ZS1zaW0tcGFuZWwtYmcpIixkOD0idmFyKC0tc2VydmUtc2ltLXBhbmVsLWJnLXRyYW5zcGFyZW50KSI7dmFyIFJaPTEyO2Z1bmN0aW9uIEc3KHtvcGVuOiQsb25DbG9zZTpKLHdpZHRoOlEsc2lkZTpaPSJyaWdodCIsZGV2aWNlczpLLHRvdGFsOlk9MCxoYXNNb3JlOnE9ITEsb25Mb2FkTW9yZTpHLG9uTG9hZEFsbDpCLG9uUmVzZXRQYWdlOk4sc2VsZWN0ZWRVZGlkOkwsb25TZWxlY3Q6VixzdGFydGluZzp6LHNodXR0aW5nRG93bjpDLG9uU2h1dGRvd246TX0pe2xldCBIPSh0eXBlb2Ygd2luZG93PiJ1Ij92b2lkIDA6d2luZG93Ll9fU0lNX1BSRVZJRVdfXyk/LmdyaWRNZW1vcnlFbmRwb2ludD8/KHR5cGVvZiB3aW5kb3c+InUiP3ZvaWQgMDp2MSgiZ3JpZC9hcGkvbWVtb3J5IikpLE89WDcoSCwkKSxbayx3XT1BKCIiKSxQPWIxKCgpPT57bGV0IGo9ay50cmltKCkudG9Mb3dlckNhc2UoKTtpZighanx8IUspcmV0dXJuIEs7cmV0dXJuIEsuZmlsdGVyKChtKT0+bS5uYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoail8fEEzKG0ucnVudGltZSkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhqKSl9LFtLLGtdKSx4PUQoITEpO0UoKCk9PntsZXQgaj0hIWsudHJpbSgpO2lmKGomJnEpQj8uKCk7ZWxzZSBpZighaiYmeC5jdXJyZW50KU4/LigpO3guY3VycmVudD1qfSxbayxxLEIsTl0pO2xldCBGPUQobnVsbCk7cmV0dXJuIFgoajIse29wZW46JCx3aWR0aDpRLHNpZGU6WixzdHlsZTp7YmFja2dyb3VuZENvbG9yOlIyfSxjaGlsZHJlbjpbWCh2Mix7c3R5bGU6e2p1c3RpZnlDb250ZW50OiJmbGV4LXN0YXJ0IixwYWRkaW5nTGVmdDoxNixwYWRkaW5nVG9wOjE2LGdhcDo0fSxjaGlsZHJlbjpbWCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixvbkNsaWNrOkosY2xhc3NOYW1lOiJmbGV4IGgtWzMwcHhdIHctWzMwcHhdIHNocmluay0wIGN1cnNvci1wb2ludGVyIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLW1kIGJvcmRlci1ub25lIGJnLXRyYW5zcGFyZW50IHRleHQtWyM4ZThlOTNdIFt0cmFuc2l0aW9uOmJhY2tncm91bmRfMC4xNXNfZWFzZSxjb2xvcl8wLjE1c19lYXNlXSBob3ZlcjpiZy13aGl0ZS84IGhvdmVyOnRleHQtd2hpdGUiLCJhcmlhLWxhYmVsIjoiQ2xvc2UgZGV2aWNlcyBzaWRlYmFyIiwiYXJpYS1wcmVzc2VkIjohMCx0aXRsZToiRGV2aWNlcyIsY2hpbGRyZW46WChtMCx7c2l6ZToxOCxzdHJva2VXaWR0aDoxLjc1fSl9KSxYKE8zLHt9KV19KSxYKCJkaXYiLHtjbGFzc05hbWU6InB4LTQgcGItMiBwdC0wLjUgc2hyaW5rLTAiLGNoaWxkcmVuOlgoImxhYmVsIix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiBweC0yLjUgaC04IHJvdW5kZWQtbGcgYmctd2hpdGUvNiBmb2N1cy13aXRoaW46Ymctd2hpdGUvMTAgW3RyYW5zaXRpb246YmFja2dyb3VuZF8wLjEyc10iLGNoaWxkcmVuOltYKGs1LHtzaXplOjE0LHN0cm9rZVdpZHRoOjIsY2xhc3NOYW1lOiJ0ZXh0LXdoaXRlLzQwIHNocmluay0wIn0pLFgoImlucHV0Iix7dmFsdWU6ayxvbkNoYW5nZTooaik9Pncoai50YXJnZXQudmFsdWUpLHBsYWNlaG9sZGVyOiJTZWFyY2giLGNsYXNzTmFtZToibWluLXctMCBmbGV4LTEgYmctdHJhbnNwYXJlbnQgYm9yZGVyLW5vbmUgb3V0bGluZS1ub25lIHRleHQtWzEzcHhdIHRleHQtd2hpdGUvOTAgcGxhY2Vob2xkZXI6dGV4dC13aGl0ZS80MCJ9KSxrJiZYKCJidXR0b24iLHt0eXBlOiJidXR0b24iLCJhcmlhLWxhYmVsIjoiQ2xlYXIgc2VhcmNoIixvbkNsaWNrOigpPT53KCIiKSxjbGFzc05hbWU6InNocmluay0wIGdyaWQgcGxhY2UtaXRlbXMtY2VudGVyIHNpemUtNCByb3VuZGVkLWZ1bGwgYmctd2hpdGUvMTUgdGV4dC13aGl0ZS83MCBob3ZlcjpiZy13aGl0ZS8yNSIsY2hpbGRyZW46WChQMCx7c2l6ZTo5LHN0cm9rZVdpZHRoOjN9KX0pXX0pfSksWCgiZGl2Iix7Y2xhc3NOYW1lOiJyZWxhdGl2ZSBmbGV4LTEgbWluLWgtMCIsY2hpbGRyZW46W1goImRpdiIse3JlZjpGLG9uU2Nyb2xsOigpPT57aWYoay50cmltKCl8fCFxfHwhRylyZXR1cm47bGV0IGo9Ri5jdXJyZW50O2lmKCFqKXJldHVybjtpZihqLnNjcm9sbFRvcCtqLmNsaWVudEhlaWdodD49ai5zY3JvbGxIZWlnaHQtMjQwKUcoKX0sY2xhc3NOYW1lOiJoLWZ1bGwgbWluLWgtMCBvdmVyZmxvdy15LWF1dG8gcHgtNCBweS0yIFtzY3JvbGxiYXItd2lkdGg6dGhpbl0iLGNoaWxkcmVuOlA9PT1udWxsP1goaFose30pOlAubGVuZ3RoPT09MD9YKCJkaXYiLHtjbGFzc05hbWU6InB4LTIgcHktNiB0ZXh0LXdoaXRlLzQwIHRleHQtWzEycHhdIHRleHQtY2VudGVyIixjaGlsZHJlbjprPyJObyBtYXRjaGluZyBzaW11bGF0b3JzLiI6Ik5vIGlPUyBzaW11bGF0b3JzIGF2YWlsYWJsZS4ifSk6WChYMSx7Y2hpbGRyZW46W1goImRpdiIse2NsYXNzTmFtZToicHQtMSBwYi0xIHRleHQtWzExcHhdIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZS80MCB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZSIsY2hpbGRyZW46IkF2YWlsYWJsZSJ9KSxYKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggZmxleC1jb2wgZ2FwLTAuNSBwYi0xIixjaGlsZHJlbjpQLm1hcCgoaik9PlgocTcse2RldmljZTpqLGFjdGl2ZTpqLmRldmljZT09PUwsc3RhcnRpbmc6ISF6W2ouZGV2aWNlXSxzaHV0dGluZ0Rvd246ISFDW2ouZGV2aWNlXSxvblNlbGVjdDooKT0+VihqLmRldmljZSksb25TaHV0ZG93bjooKT0+TShqLmRldmljZSl9LGouZGV2aWNlKSl9KSwhayYmcSYmWCgiZGl2Iix7Y2xhc3NOYW1lOiJweC0yIHB5LTIgdGV4dC1bMTFweF0gdGV4dC13aGl0ZS8zNSB0ZXh0LWNlbnRlciIsY2hpbGRyZW46Sz9gJHtLLmxlbmd0aH0gb2YgJHtZfWA6bnVsbH0pXX0pfSksWCgiZGl2Iix7ImRhdGEtdGVzdGlkIjoiZGV2aWNlLWxpc3QtdG9wLWZhZGUiLGNsYXNzTmFtZToiYWJzb2x1dGUgdG9wLTAgbGVmdC0wIHJpZ2h0LTAgaC1bMTZweF0gcG9pbnRlci1ldmVudHMtbm9uZSIsc3R5bGU6e2JhY2tncm91bmQ6YGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICR7UjJ9IDAlLCAke2Q4fSAxMDAlKWB9fSksWCgiZGl2Iix7ImRhdGEtdGVzdGlkIjoiZGV2aWNlLWxpc3QtYm90dG9tLWZhZGUiLGNsYXNzTmFtZToiYWJzb2x1dGUgYm90dG9tLTAgbGVmdC0wIHJpZ2h0LTAgaC1bMTZweF0gcG9pbnRlci1ldmVudHMtbm9uZSIsc3R5bGU6e2JhY2tncm91bmQ6YGxpbmVhci1ncmFkaWVudCh0byB0b3AsICR7UjJ9IDAlLCAke2Q4fSAxMDAlKWB9fSldfSksWChmWix7cmVwb3J0Ok99KV19KX1mdW5jdGlvbiBoWigpe3JldHVybiBYKFgxLHtjaGlsZHJlbjpbWCgiZGl2Iix7Y2xhc3NOYW1lOiJweC0yIHB0LTEgcGItMSB0ZXh0LVsxMXB4XSBmb250LXNlbWlib2xkIHRleHQtd2hpdGUvNDAgdXBwZXJjYXNlIHRyYWNraW5nLXdpZGUiLGNoaWxkcmVuOiJBdmFpbGFibGUifSksWCgiZGl2Iix7ImRhdGEtdGVzdGlkIjoiZGV2aWNlLWxpc3Qtc2tlbGV0b24iLGNsYXNzTmFtZToiZmxleCBmbGV4LWNvbCBnYXAtMC41IHBiLTEiLCJhcmlhLWxhYmVsIjoiTG9hZGluZyBzaW11bGF0b3JzIiwiYXJpYS1idXN5IjoidHJ1ZSIsY2hpbGRyZW46QXJyYXkuZnJvbSh7bGVuZ3RoOlJafSwoJCxKKT0+WChnWix7aW5kZXg6Sn0sSikpfSldfSl9ZnVuY3Rpb24gZ1ooe2luZGV4OiR9KXtsZXQgSj1bInctWzYyJV0iLCJ3LVs3NCVdIiwidy1bNTglXSIsInctWzcwJV0iXVskJTRdLFE9WyJ3LVs0MiVdIiwidy1bMzYlXSIsInctWzQ4JV0iLCJ3LVszMiVdIl1bJCU0XSxaPVsidy03Iiwidy02Iiwidy04Il1bJCUzXTtyZXR1cm4gWCgiZGl2Iix7ImRhdGEtdGVzdGlkIjoiZGV2aWNlLXJvdy1za2VsZXRvbiIsY2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMi41IHB4LTIgcHktMS41IHJvdW5kZWQtbGcgc2VsZWN0LW5vbmUiLCJhcmlhLWhpZGRlbiI6InRydWUiLGNoaWxkcmVuOltYKCJkaXYiLHtjbGFzc05hbWU6InJlbGF0aXZlIHNocmluay0wIGdyaWQgcGxhY2UtaXRlbXMtY2VudGVyIHNpemUtOSByb3VuZGVkLVs5cHhdIG92ZXJmbG93LWhpZGRlbiBiZy13aGl0ZS82IixjaGlsZHJlbjpYKCJzcGFuIix7Y2xhc3NOYW1lOiJzaXplLTQgcm91bmRlZC1bNHB4XSBiZy13aGl0ZS9bMC4xMl0ifSl9KSxYKCJkaXYiLHtjbGFzc05hbWU6Im1pbi13LTAgZmxleC0xIGZsZXggZmxleC1jb2wgZ2FwLTEuNSIsY2hpbGRyZW46W1goInNwYW4iLHtjbGFzc05hbWU6YGgtMyByb3VuZGVkLWZ1bGwgYmctd2hpdGUvWzAuMTJdICR7Sn1gfSksWCgic3BhbiIse2NsYXNzTmFtZTpgaC0yLjUgcm91bmRlZC1mdWxsIGJnLXdoaXRlL1swLjA4XSAke1F9YH0pXX0pLFgoInNwYW4iLHtjbGFzc05hbWU6YHNocmluay0wIGgtMi41IHJvdW5kZWQtZnVsbCBiZy13aGl0ZS9bMC4wOF0gJHtafWB9KV19KX1mdW5jdGlvbiBmWih7cmVwb3J0OiR9KXtpZighJHx8JC50b3RhbEJ5dGVzPD0wKXJldHVybiBudWxsO3JldHVybiBYKCJkaXYiLHtjbGFzc05hbWU6InNocmluay0wIG1pbi13LTAgb3ZlcmZsb3ctaGlkZGVuIHB4LTMgcHktMiBmbGV4IGp1c3RpZnktY2VudGVyIixjaGlsZHJlbjpYKEs3LHtyZXBvcnQ6JH0pfSl9ZnVuY3Rpb24gVDMoe3BhbmVsV2lkdGg6JCx2aXNpYmxlOkosb25Qb2ludGVyRG93bjpRLGFyaWFMYWJlbDpaLHNpZGU6Sz0icmlnaHQifSl7bGV0W1kscV09QSghMSksW0csQl09QSghMSksTj1ZfHxHLEw9KEs9PT0ibGVmdCI/MDoxMikrJC05O3JldHVybiBYKCJkaXYiLHtyb2xlOiJzZXBhcmF0b3IiLCJhcmlhLW9yaWVudGF0aW9uIjoidmVydGljYWwiLCJhcmlhLWxhYmVsIjpaLCJhcmlhLWhpZGRlbiI6IUosb25Qb2ludGVyRG93bjooeik9PntCKCEwKSxRKHopfSxvblBvaW50ZXJVcDooKT0+QighMSksb25Qb2ludGVyQ2FuY2VsOigpPT5CKCExKSxvblBvaW50ZXJFbnRlcjooKT0+cSghMCksb25Qb2ludGVyTGVhdmU6KCk9PnEoITEpLGNsYXNzTmFtZTpgZml4ZWQgJHtLPT09ImxlZnQiPyJ0b3AtMCBib3R0b20tMCI6InRvcC0zIGJvdHRvbS0zIn0gdy00IHotMzYgY3Vyc29yLWNvbC1yZXNpemUgdG91Y2gtbm9uZSB0cmFuc2l0aW9uLW9wYWNpdHkgZHVyYXRpb24tMjAwICR7Sj8ib3BhY2l0eS0xMDAgcG9pbnRlci1ldmVudHMtYXV0byI6Im9wYWNpdHktMCBwb2ludGVyLWV2ZW50cy1ub25lIn1gLHN0eWxlOks9PT0ibGVmdCI/e2xlZnQ6TH06e3JpZ2h0Okx9LGNoaWxkcmVuOltYKCJkaXYiLHtjbGFzc05hbWU6YGFic29sdXRlIHRvcC0wIGJvdHRvbS0wIGxlZnQtMS8yIHctcHggcG9pbnRlci1ldmVudHMtbm9uZSB0cmFuc2l0aW9uLW9wYWNpdHkgZHVyYXRpb24tMTUwICR7Tj8ib3BhY2l0eS0xMDAiOiJvcGFjaXR5LTAifWAsc3R5bGU6e3RyYW5zZm9ybToidHJhbnNsYXRlWCgtMC41cHgpIixiYWNrZ3JvdW5kOiJsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDI1NSwyNTUsMjU1LDApIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDAuMjgpIDMwJSwgcmdiYSgyNTUsMjU1LDI1NSwwLjI4KSA3MCUsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAwJSkifX0pLFgoImRpdiIse2NsYXNzTmFtZTpgYWJzb2x1dGUgdG9wLTEvMiBsZWZ0LTEvMiB3LTEgaC03IHJvdW5kZWQteHMgLXRyYW5zbGF0ZS14LTEvMiAtdHJhbnNsYXRlLXktMS8yIHotMSBwb2ludGVyLWV2ZW50cy1ub25lIFt0cmFuc2l0aW9uOm9wYWNpdHlfMC4xNXNfZWFzZSxiYWNrZ3JvdW5kXzAuMTVzX2Vhc2VdICR7Tj8ib3BhY2l0eS0xMDAiOiJvcGFjaXR5LTAifSAke0c/ImJnLVsjOWE5YTllXSI6ImJnLVsjNmU2ZTcyXSJ9YH0pXX0pfWZ1bmN0aW9uIFY3KCl7bGV0WyQsSl09QSgoKT0+dHlwZW9mIHdpbmRvdzwidSImJndpbmRvdy5tYXRjaE1lZGlhPy4oIihwcmVmZXJzLWNvbnRyYXN0OiBtb3JlKSIpLm1hdGNoZXM9PT0hMCk7cmV0dXJuIEUoKCk9PntpZih0eXBlb2Ygd2luZG93PiJ1Inx8IXdpbmRvdy5tYXRjaE1lZGlhKXJldHVybjtsZXQgUT13aW5kb3cubWF0Y2hNZWRpYSgiKHByZWZlcnMtY29udHJhc3Q6IG1vcmUpIiksWj0oKT0+SihRLm1hdGNoZXMpO3JldHVybiBaKCksUS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLFopLCgpPT5RLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNoYW5nZSIsWil9LFtdKSwkfWZ1bmN0aW9uIEUzKCl7bGV0WyQsSl09QSgoKT0+dHlwZW9mIHdpbmRvdzwidSImJndpbmRvdy5tYXRjaE1lZGlhPy4oIihwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIikubWF0Y2hlcz09PSEwKTtyZXR1cm4gRSgoKT0+e2lmKHR5cGVvZiB3aW5kb3c+InUifHwhd2luZG93Lm1hdGNoTWVkaWEpcmV0dXJuO2xldCBRPXdpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSIpLFo9KCk9PkooUS5tYXRjaGVzKTtyZXR1cm4gWigpLFEuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixaKSwoKT0+US5yZW1vdmVFdmVudExpc3RlbmVyKCJjaGFuZ2UiLFopfSxbXSksJH12YXIgQjc9ImRyb3Atc2hhZG93KDAgMC41cHggMXB4IHJnYmEoMCwwLDAsMC4xKSkgZHJvcC1zaGFkb3coMCAycHggNXB4IHJnYmEoMCwwLDAsMC4xMykpIjtmdW5jdGlvbiBtWih7YXJjOiQscGhhc2U6SixyZWR1Y2VkTW90aW9uOlEsaGlnaENvbnRyYXN0OlosZm9jdXNWaXNpYmxlOkt9KXtsZXQgWT1KIT09ImlkbGUiLHE9Wj8xLjEyOjEsRz1RPzE6dTZbSl0sQj1kNltKXSpxLE49Wj8xOmM2W0pdLEw9WT9mNjptNixWPVk/aDY6SjMsej1ZJiZvNigpP2c2OlYsQz1RPyJub25lIjpgdHJhbnNmb3JtICR7TH0gJHt6fWAsTT1RPyJub25lIjpgc3Ryb2tlICR7TH0gJHtWfSwgc3Ryb2tlLXdpZHRoICR7TH0gJHtWfWAsVT0kLnZpZXdCb3hTaXplLEg9JC5kLE89e3RyYW5zZm9ybTpgdHJhbnNsYXRlM2QoMCwwLDApIHNjYWxlKCR7R30pYCx0cmFuc2Zvcm1PcmlnaW46IjEwMCUgMTAwJSIsdHJhbnNpdGlvbjpDLHdpbGxDaGFuZ2U6UT92b2lkIDA6InRyYW5zZm9ybSIsYmFja2ZhY2VWaXNpYmlsaXR5OiJoaWRkZW4iLFdlYmtpdEJhY2tmYWNlVmlzaWJpbGl0eToiaGlkZGVuIn07cmV0dXJuIFgoInN2ZyIse3dpZHRoOlUsaGVpZ2h0OlUsdmlld0JveDpgMCAwICR7VX0gJHtVfWAsZmlsbDoibm9uZSIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIixzaGFwZVJlbmRlcmluZzoiZ2VvbWV0cmljUHJlY2lzaW9uIixzdHlsZTp7ZGlzcGxheToiYmxvY2siLG92ZXJmbG93OiJ2aXNpYmxlIixjdXJzb3I6ImluaGVyaXQiLHRvdWNoQWN0aW9uOiJub25lIixwb2ludGVyRXZlbnRzOiJub25lIn0sY2hpbGRyZW46W1goImciLHsiYXJpYS1oaWRkZW4iOiJ0cnVlIixzdHlsZTp7cG9pbnRlckV2ZW50czoibm9uZSJ9LGNoaWxkcmVuOltYKCJwYXRoIix7ZDpILGZpbGw6Im5vbmUiLHN0cm9rZToicmdiYSgxMCwgMTMyLCAyNTUsIDAuOTUpIixzdHJva2VXaWR0aDoocDYqMis2KSpxLHN0cm9rZUxpbmVjYXA6InJvdW5kIix2ZWN0b3JFZmZlY3Q6Im5vbi1zY2FsaW5nLXN0cm9rZSIsc3R5bGU6e29wYWNpdHk6Sz8wLjk1OjAsdHJhbnNpdGlvbjpRPyJvcGFjaXR5IDgwbXMgbGluZWFyIjpgb3BhY2l0eSAyMDBtcyAke0ozfWAsZmlsdGVyOiJkcm9wLXNoYWRvdygwIDAgMnB4IHJnYmEoMTAsMTMyLDI1NSwwLjU1KSkgZHJvcC1zaGFkb3coMCAwIDRweCByZ2JhKDEwLDEzMiwyNTUsMC4zMikpIn19KSxYKCJwYXRoIix7ZDpILGZpbGw6Im5vbmUiLHN0cm9rZToicmdiYSgyNTUsMjU1LDI1NSwwLjk1KSIsc3Ryb2tlV2lkdGg6MS41KnEsc3Ryb2tlTGluZWNhcDoicm91bmQiLHZlY3RvckVmZmVjdDoibm9uLXNjYWxpbmctc3Ryb2tlIixzdHlsZTp7b3BhY2l0eTpLPzAuNzowLHRyYW5zaXRpb246UT8ib3BhY2l0eSA4MG1zIGxpbmVhciI6YG9wYWNpdHkgMjAwbXMgJHtKM31gfX0pXX0pLFgoImciLHsiYXJpYS1oaWRkZW4iOiJ0cnVlIixzdHlsZTpPLGNoaWxkcmVuOlgoImciLHtzdHlsZTp7cG9pbnRlckV2ZW50czoibm9uZSJ9LGNoaWxkcmVuOltYKCJwYXRoIix7ZDpILHN0cm9rZToiIzM0MzYzYiIsc3Ryb2tlV2lkdGg6QisyLjIqcSxzdHJva2VMaW5lY2FwOiJyb3VuZCIsdmVjdG9yRWZmZWN0OiJub24tc2NhbGluZy1zdHJva2UiLHN0eWxlOntvcGFjaXR5Ok1hdGgubWluKDEsTiswLjA4KSx0cmFuc2l0aW9uOmAke019LCBvcGFjaXR5ICR7TH0gJHtWfWAsZmlsdGVyOkI3fX0pLFgoInBhdGgiLHtkOkgsc3Ryb2tlOmw2W0pdLHN0cm9rZVdpZHRoOkIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHZlY3RvckVmZmVjdDoibm9uLXNjYWxpbmctc3Ryb2tlIixzdHlsZTp7b3BhY2l0eTpOLHRyYW5zaXRpb246YCR7TX0sIG9wYWNpdHkgJHtMfSAke1Z9YCxmaWx0ZXI6Qjd9fSldfSl9KV19KX1mdW5jdGlvbiBONyh7c2ltdWxhdG9yUmVzaXplOiQsZGV2aWNlVHlwZTpKLHN0cmVhbUNvbmZpZzpRLGNvbnRhaW5lcldpZHRoOlosY29udGFpbmVySGVpZ2h0Okt9KXtsZXQgWT1FMygpLHE9VjcoKSxbRyxCXT1BKCExKSxOPWIxKCgpPT5FOCh7dHlwZTpKLGNvbmZpZzpRPz9udWxsLGNvbnRhaW5lcldpZHRoOlosY29udGFpbmVySGVpZ2h0Okt9KSxbSixRLFosS10pLEw9JC5pc1Jlc2l6aW5nfHwkLmlzSW5lcnRpYT8iZHJhZyI6JC5oYW5kbGVIb3ZlcmVkPyJob3ZlciI6ImlkbGUiO3JldHVybiBYKCJkaXYiLHtyb2xlOiJzZXBhcmF0b3IiLCJhcmlhLWxhYmVsIjoiUmVzaXplIHNpbXVsYXRvciB3aWR0aC4gRHJhZyB0aGUgY29ybmVyIG9yIHVzZSBMZWZ0IGFuZCBSaWdodCBBcnJvdyBrZXlzOyBob2xkIFNoaWZ0IGZvciBsYXJnZXIgc3RlcHMuIiwiYXJpYS1vcmllbnRhdGlvbiI6InZlcnRpY2FsIiwiYXJpYS12YWx1ZW1pbiI6TWF0aC5yb3VuZCgkLm1pbldpZHRoKSwiYXJpYS12YWx1ZW1heCI6TWF0aC5yb3VuZCgkLm1heFdpZHRoKSwiYXJpYS12YWx1ZW5vdyI6TWF0aC5yb3VuZCgkLmNvbW1pdHRlZFdpZHRoKSx0YWJJbmRleDowLHJlZjokLmhhbmRsZVJlZixvbktleURvd246JC5vbktleURvd24sb25Qb2ludGVyRG93bjokLm9uUG9pbnRlckRvd24sb25Qb2ludGVyTW92ZTokLm9uUG9pbnRlck1vdmUsb25Qb2ludGVyVXA6JC5vblBvaW50ZXJFbmQsb25Qb2ludGVyQ2FuY2VsOiQub25Qb2ludGVyRW5kLG9uTG9zdFBvaW50ZXJDYXB0dXJlOiQub25Qb2ludGVyRW5kLG9uUG9pbnRlckVudGVyOigpPT4kLnNldEhhbmRsZUhvdmVyZWQoITApLG9uUG9pbnRlckxlYXZlOigpPT4kLnNldEhhbmRsZUhvdmVyZWQoITEpLG9uRm9jdXM6KFYpPT57QihWLmN1cnJlbnRUYXJnZXQubWF0Y2hlcz8uKCI6Zm9jdXMtdmlzaWJsZSIpPz8hMSl9LG9uQmx1cjooKT0+QighMSksc3R5bGU6e3Bvc2l0aW9uOiJhYnNvbHV0ZSIscmlnaHQ6LTE0LGJvdHRvbTotMTQsd2lkdGg6NjAsaGVpZ2h0OjYwLGJvcmRlcjoibm9uZSIscGFkZGluZzowLG1hcmdpbjowLGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImZsZXgtZW5kIixqdXN0aWZ5Q29udGVudDoiZmxleC1lbmQiLGJhY2tncm91bmQ6InRyYW5zcGFyZW50IixjdXJzb3I6Im53c2UtcmVzaXplIix0b3VjaEFjdGlvbjoibm9uZSIscG9pbnRlckV2ZW50czoiYXV0byIsb3V0bGluZToibm9uZSIsekluZGV4OjI1LFdlYmtpdFRhcEhpZ2hsaWdodENvbG9yOiJ0cmFuc3BhcmVudCJ9LGNoaWxkcmVuOlgobVose2FyYzpOLHBoYXNlOkwscmVkdWNlZE1vdGlvbjpZLGhpZ2hDb250cmFzdDpxLGZvY3VzVmlzaWJsZTpHfSl9KX1mdW5jdGlvbiBwWigkKXtpZighJHx8dHlwZW9mIGRvY3VtZW50PiJ1IilyZXR1cm47bGV0IEo9ZG9jdW1lbnQuaGVhZHx8ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXSxRPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7US50eXBlPSJ0ZXh0L2NzcyIsSi5hcHBlbmRDaGlsZChRKSxRLnN0eWxlU2hlZXQ/US5zdHlsZVNoZWV0LmNzc1RleHQ9JDpRLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCQpKX12YXIgdVo9KCQpPT57c3dpdGNoKCQpe2Nhc2Uic3VjY2VzcyI6cmV0dXJuIGNaO2Nhc2UiaW5mbyI6cmV0dXJuIGlaO2Nhc2Uid2FybmluZyI6cmV0dXJuIG9aO2Nhc2UiZXJyb3IiOnJldHVybiBuWjtkZWZhdWx0OnJldHVybiBudWxsfX0sbFo9QXJyYXkoMTIpLmZpbGwoMCksZFo9KHt2aXNpYmxlOiQsY2xhc3NOYW1lOkp9KT0+e3JldHVybiBnLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpbInNvbm5lci1sb2FkaW5nLXdyYXBwZXIiLEpdLmZpbHRlcihCb29sZWFuKS5qb2luKCIgIiksImRhdGEtdmlzaWJsZSI6JH0sZy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6InNvbm5lci1zcGlubmVyIn0sbFoubWFwKChRLFopPT5nLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZToic29ubmVyLWxvYWRpbmctYmFyIixrZXk6YHNwaW5uZXItYmFyLSR7Wn1gfSkpKSl9LGNaPWcuY3JlYXRlRWxlbWVudCgic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIix2aWV3Qm94OiIwIDAgMjAgMjAiLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyMCIsd2lkdGg6IjIwIn0sZy5jcmVhdGVFbGVtZW50KCJwYXRoIix7ZmlsbFJ1bGU6ImV2ZW5vZGQiLGQ6Ik0xMCAxOGE4IDggMCAxMDAtMTYgOCA4IDAgMDAwIDE2em0zLjg1Ny05LjgwOWEuNzUuNzUgMCAwMC0xLjIxNC0uODgybC0zLjQ4MyA0Ljc5LTEuODgtMS44OGEuNzUuNzUgMCAxMC0xLjA2IDEuMDYxbDIuNSAyLjVhLjc1Ljc1IDAgMDAxLjEzNy0uMDg5bDQtNS41eiIsY2xpcFJ1bGU6ImV2ZW5vZGQifSkpLG9aPWcuY3JlYXRlRWxlbWVudCgic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyMCIsd2lkdGg6IjIwIn0sZy5jcmVhdGVFbGVtZW50KCJwYXRoIix7ZmlsbFJ1bGU6ImV2ZW5vZGQiLGQ6Ik05LjQwMSAzLjAwM2MxLjE1NS0yIDQuMDQzLTIgNS4xOTcgMGw3LjM1NSAxMi43NDhjMS4xNTQgMi0uMjkgNC41LTIuNTk5IDQuNUg0LjY0NWMtMi4zMDkgMC0zLjc1Mi0yLjUtMi41OTgtNC41TDkuNCAzLjAwM3pNMTIgOC4yNWEuNzUuNzUgMCAwMS43NS43NXYzLjc1YS43NS43NSAwIDAxLTEuNSAwVjlhLjc1Ljc1IDAgMDEuNzUtLjc1em0wIDguMjVhLjc1Ljc1IDAgMTAwLTEuNS43NS43NSAwIDAwMCAxLjV6IixjbGlwUnVsZToiZXZlbm9kZCJ9KSksaVo9Zy5jcmVhdGVFbGVtZW50KCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLHZpZXdCb3g6IjAgMCAyMCAyMCIsZmlsbDoiY3VycmVudENvbG9yIixoZWlnaHQ6IjIwIix3aWR0aDoiMjAifSxnLmNyZWF0ZUVsZW1lbnQoInBhdGgiLHtmaWxsUnVsZToiZXZlbm9kZCIsZDoiTTE4IDEwYTggOCAwIDExLTE2IDAgOCA4IDAgMDExNiAwem0tNy00YTEgMSAwIDExLTIgMCAxIDEgMCAwMTIgMHpNOSA5YS43NS43NSAwIDAwMCAxLjVoLjI1M2EuMjUuMjUgMCAwMS4yNDQuMzA0bC0uNDU5IDIuMDY2QTEuNzUgMS43NSAwIDAwMTAuNzQ3IDE1SDExYS43NS43NSAwIDAwMC0xLjVoLS4yNTNhLjI1LjI1IDAgMDEtLjI0NC0uMzA0bC40NTktMi4wNjZBMS43NSAxLjc1IDAgMDA5LjI1MyA5SDl6IixjbGlwUnVsZToiZXZlbm9kZCJ9KSksblo9Zy5jcmVhdGVFbGVtZW50KCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLHZpZXdCb3g6IjAgMCAyMCAyMCIsZmlsbDoiY3VycmVudENvbG9yIixoZWlnaHQ6IjIwIix3aWR0aDoiMjAifSxnLmNyZWF0ZUVsZW1lbnQoInBhdGgiLHtmaWxsUnVsZToiZXZlbm9kZCIsZDoiTTE4IDEwYTggOCAwIDExLTE2IDAgOCA4IDAgMDExNiAwem0tOC01YS43NS43NSAwIDAxLjc1Ljc1djQuNWEuNzUuNzUgMCAwMS0xLjUgMHYtNC41QS43NS43NSAwIDAxMTAgNXptMCAxMGExIDEgMCAxMDAtMiAxIDEgMCAwMDAgMnoiLGNsaXBSdWxlOiJldmVub2RkIn0pKSxyWj1nLmNyZWF0ZUVsZW1lbnQoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsd2lkdGg6IjEyIixoZWlnaHQ6IjEyIix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMS41IixzdHJva2VMaW5lY2FwOiJyb3VuZCIsc3Ryb2tlTGluZWpvaW46InJvdW5kIn0sZy5jcmVhdGVFbGVtZW50KCJsaW5lIix7eDE6IjE4Iix5MToiNiIseDI6IjYiLHkyOiIxOCJ9KSxnLmNyZWF0ZUVsZW1lbnQoImxpbmUiLHt4MToiNiIseTE6IjYiLHgyOiIxOCIseTI6IjE4In0pKSxhWj0oKT0+e2xldFskLEpdPWcudXNlU3RhdGUoZG9jdW1lbnQuaGlkZGVuKTtyZXR1cm4gZy51c2VFZmZlY3QoKCk9PntsZXQgUT0oKT0+e0ooZG9jdW1lbnQuaGlkZGVuKX07cmV0dXJuIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLFEpLCgpPT53aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsUSl9LFtdKSwkfSxjOD0xO2NsYXNzIFU3e2NvbnN0cnVjdG9yKCl7dGhpcy5zdWJzY3JpYmU9KCQpPT57cmV0dXJuIHRoaXMuc3Vic2NyaWJlcnMucHVzaCgkKSwoKT0+e2xldCBKPXRoaXMuc3Vic2NyaWJlcnMuaW5kZXhPZigkKTt0aGlzLnN1YnNjcmliZXJzLnNwbGljZShKLDEpfX0sdGhpcy5wdWJsaXNoPSgkKT0+e3RoaXMuc3Vic2NyaWJlcnMuZm9yRWFjaCgoSik9PkooJCkpfSx0aGlzLmFkZFRvYXN0PSgkKT0+e3RoaXMucHVibGlzaCgkKSx0aGlzLnRvYXN0cz1bLi4udGhpcy50b2FzdHMsJF19LHRoaXMuY3JlYXRlPSgkKT0+e3ZhciBKO2xldHttZXNzYWdlOlEsLi4uWn09JCxLPXR5cGVvZigkPT1udWxsP3ZvaWQgMDokLmlkKT09PSJudW1iZXIifHwoKEo9JC5pZCk9PW51bGw/dm9pZCAwOkoubGVuZ3RoKT4wPyQuaWQ6YzgrKyxZPXRoaXMudG9hc3RzLmZpbmQoKEcpPT57cmV0dXJuIEcuaWQ9PT1LfSkscT0kLmRpc21pc3NpYmxlPT09dm9pZCAwPyEwOiQuZGlzbWlzc2libGU7aWYodGhpcy5kaXNtaXNzZWRUb2FzdHMuaGFzKEspKXRoaXMuZGlzbWlzc2VkVG9hc3RzLmRlbGV0ZShLKTtpZihZKXRoaXMudG9hc3RzPXRoaXMudG9hc3RzLm1hcCgoRyk9PntpZihHLmlkPT09SylyZXR1cm4gdGhpcy5wdWJsaXNoKHsuLi5HLC4uLiQsaWQ6Syx0aXRsZTpRfSksey4uLkcsLi4uJCxpZDpLLGRpc21pc3NpYmxlOnEsdGl0bGU6UX07cmV0dXJuIEd9KTtlbHNlIHRoaXMuYWRkVG9hc3Qoe3RpdGxlOlEsLi4uWixkaXNtaXNzaWJsZTpxLGlkOkt9KTtyZXR1cm4gS30sdGhpcy5kaXNtaXNzPSgkKT0+e2lmKCQpdGhpcy5kaXNtaXNzZWRUb2FzdHMuYWRkKCQpLHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+dGhpcy5zdWJzY3JpYmVycy5mb3JFYWNoKChKKT0+Sih7aWQ6JCxkaXNtaXNzOiEwfSkpKTtlbHNlIHRoaXMudG9hc3RzLmZvckVhY2goKEopPT57dGhpcy5zdWJzY3JpYmVycy5mb3JFYWNoKChRKT0+USh7aWQ6Si5pZCxkaXNtaXNzOiEwfSkpfSk7cmV0dXJuICR9LHRoaXMubWVzc2FnZT0oJCxKKT0+e3JldHVybiB0aGlzLmNyZWF0ZSh7Li4uSixtZXNzYWdlOiR9KX0sdGhpcy5lcnJvcj0oJCxKKT0+e3JldHVybiB0aGlzLmNyZWF0ZSh7Li4uSixtZXNzYWdlOiQsdHlwZToiZXJyb3IifSl9LHRoaXMuc3VjY2Vzcz0oJCxKKT0+e3JldHVybiB0aGlzLmNyZWF0ZSh7Li4uSix0eXBlOiJzdWNjZXNzIixtZXNzYWdlOiR9KX0sdGhpcy5pbmZvPSgkLEopPT57cmV0dXJuIHRoaXMuY3JlYXRlKHsuLi5KLHR5cGU6ImluZm8iLG1lc3NhZ2U6JH0pfSx0aGlzLndhcm5pbmc9KCQsSik9PntyZXR1cm4gdGhpcy5jcmVhdGUoey4uLkosdHlwZToid2FybmluZyIsbWVzc2FnZTokfSl9LHRoaXMubG9hZGluZz0oJCxKKT0+e3JldHVybiB0aGlzLmNyZWF0ZSh7Li4uSix0eXBlOiJsb2FkaW5nIixtZXNzYWdlOiR9KX0sdGhpcy5wcm9taXNlPSgkLEopPT57aWYoIUopcmV0dXJuO2xldCBRPXZvaWQgMDtpZihKLmxvYWRpbmchPT12b2lkIDApUT10aGlzLmNyZWF0ZSh7Li4uSixwcm9taXNlOiQsdHlwZToibG9hZGluZyIsbWVzc2FnZTpKLmxvYWRpbmcsZGVzY3JpcHRpb246dHlwZW9mIEouZGVzY3JpcHRpb24hPT0iZnVuY3Rpb24iP0ouZGVzY3JpcHRpb246dm9pZCAwfSk7bGV0IFo9UHJvbWlzZS5yZXNvbHZlKCQgaW5zdGFuY2VvZiBGdW5jdGlvbj8kKCk6JCksSz1RIT09dm9pZCAwLFkscT1aLnRoZW4oYXN5bmMoQik9PntpZihZPVsicmVzb2x2ZSIsQl0sZy5pc1ZhbGlkRWxlbWVudChCKSlLPSExLHRoaXMuY3JlYXRlKHtpZDpRLHR5cGU6ImRlZmF1bHQiLG1lc3NhZ2U6Qn0pO2Vsc2UgaWYodFooQikmJiFCLm9rKXtLPSExO2xldCBMPXR5cGVvZiBKLmVycm9yPT09ImZ1bmN0aW9uIj9hd2FpdCBKLmVycm9yKGBIVFRQIGVycm9yISBzdGF0dXM6ICR7Qi5zdGF0dXN9YCk6Si5lcnJvcixWPXR5cGVvZiBKLmRlc2NyaXB0aW9uPT09ImZ1bmN0aW9uIj9hd2FpdCBKLmRlc2NyaXB0aW9uKGBIVFRQIGVycm9yISBzdGF0dXM6ICR7Qi5zdGF0dXN9YCk6Si5kZXNjcmlwdGlvbixDPXR5cGVvZiBMPT09Im9iamVjdCImJiFnLmlzVmFsaWRFbGVtZW50KEwpP0w6e21lc3NhZ2U6TH07dGhpcy5jcmVhdGUoe2lkOlEsdHlwZToiZXJyb3IiLGRlc2NyaXB0aW9uOlYsLi4uQ30pfWVsc2UgaWYoQiBpbnN0YW5jZW9mIEVycm9yKXtLPSExO2xldCBMPXR5cGVvZiBKLmVycm9yPT09ImZ1bmN0aW9uIj9hd2FpdCBKLmVycm9yKEIpOkouZXJyb3IsVj10eXBlb2YgSi5kZXNjcmlwdGlvbj09PSJmdW5jdGlvbiI/YXdhaXQgSi5kZXNjcmlwdGlvbihCKTpKLmRlc2NyaXB0aW9uLEM9dHlwZW9mIEw9PT0ib2JqZWN0IiYmIWcuaXNWYWxpZEVsZW1lbnQoTCk/TDp7bWVzc2FnZTpMfTt0aGlzLmNyZWF0ZSh7aWQ6USx0eXBlOiJlcnJvciIsZGVzY3JpcHRpb246ViwuLi5DfSl9ZWxzZSBpZihKLnN1Y2Nlc3MhPT12b2lkIDApe0s9ITE7bGV0IEw9dHlwZW9mIEouc3VjY2Vzcz09PSJmdW5jdGlvbiI/YXdhaXQgSi5zdWNjZXNzKEIpOkouc3VjY2VzcyxWPXR5cGVvZiBKLmRlc2NyaXB0aW9uPT09ImZ1bmN0aW9uIj9hd2FpdCBKLmRlc2NyaXB0aW9uKEIpOkouZGVzY3JpcHRpb24sQz10eXBlb2YgTD09PSJvYmplY3QiJiYhZy5pc1ZhbGlkRWxlbWVudChMKT9MOnttZXNzYWdlOkx9O3RoaXMuY3JlYXRlKHtpZDpRLHR5cGU6InN1Y2Nlc3MiLGRlc2NyaXB0aW9uOlYsLi4uQ30pfX0pLmNhdGNoKGFzeW5jKEIpPT57aWYoWT1bInJlamVjdCIsQl0sSi5lcnJvciE9PXZvaWQgMCl7Sz0hMTtsZXQgTj10eXBlb2YgSi5lcnJvcj09PSJmdW5jdGlvbiI/YXdhaXQgSi5lcnJvcihCKTpKLmVycm9yLEw9dHlwZW9mIEouZGVzY3JpcHRpb249PT0iZnVuY3Rpb24iP2F3YWl0IEouZGVzY3JpcHRpb24oQik6Si5kZXNjcmlwdGlvbix6PXR5cGVvZiBOPT09Im9iamVjdCImJiFnLmlzVmFsaWRFbGVtZW50KE4pP046e21lc3NhZ2U6Tn07dGhpcy5jcmVhdGUoe2lkOlEsdHlwZToiZXJyb3IiLGRlc2NyaXB0aW9uOkwsLi4uen0pfX0pLmZpbmFsbHkoKCk9PntpZihLKXRoaXMuZGlzbWlzcyhRKSxRPXZvaWQgMDtKLmZpbmFsbHk9PW51bGx8fEouZmluYWxseS5jYWxsKEopfSksRz0oKT0+bmV3IFByb21pc2UoKEIsTik9PnEudGhlbigoKT0+WVswXT09PSJyZWplY3QiP04oWVsxXSk6QihZWzFdKSkuY2F0Y2goTikpO2lmKHR5cGVvZiBRIT09InN0cmluZyImJnR5cGVvZiBRIT09Im51bWJlciIpcmV0dXJue3Vud3JhcDpHfTtlbHNlIHJldHVybiBPYmplY3QuYXNzaWduKFEse3Vud3JhcDpHfSl9LHRoaXMuY3VzdG9tPSgkLEopPT57bGV0IFE9KEo9PW51bGw/dm9pZCAwOkouaWQpfHxjOCsrO3JldHVybiB0aGlzLmNyZWF0ZSh7anN4OiQoUSksaWQ6USwuLi5KfSksUX0sdGhpcy5nZXRBY3RpdmVUb2FzdHM9KCk9PntyZXR1cm4gdGhpcy50b2FzdHMuZmlsdGVyKCgkKT0+IXRoaXMuZGlzbWlzc2VkVG9hc3RzLmhhcygkLmlkKSl9LHRoaXMuc3Vic2NyaWJlcnM9W10sdGhpcy50b2FzdHM9W10sdGhpcy5kaXNtaXNzZWRUb2FzdHM9bmV3IFNldH19dmFyIEEwPW5ldyBVNyxzWj0oJCxKKT0+e2xldCBRPShKPT1udWxsP3ZvaWQgMDpKLmlkKXx8YzgrKztyZXR1cm4gQTAuYWRkVG9hc3Qoe3RpdGxlOiQsLi4uSixpZDpRfSksUX0sdFo9KCQpPT57cmV0dXJuICQmJnR5cGVvZiAkPT09Im9iamVjdCImJiJvayJpbiAkJiZ0eXBlb2YgJC5vaz09PSJib29sZWFuIiYmInN0YXR1cyJpbiAkJiZ0eXBlb2YgJC5zdGF0dXM9PT0ibnVtYmVyIn0sZVo9c1osJFg9KCk9PkEwLnRvYXN0cyxKWD0oKT0+QTAuZ2V0QWN0aXZlVG9hc3RzKCksVDU9T2JqZWN0LmFzc2lnbihlWix7c3VjY2VzczpBMC5zdWNjZXNzLGluZm86QTAuaW5mbyx3YXJuaW5nOkEwLndhcm5pbmcsZXJyb3I6QTAuZXJyb3IsY3VzdG9tOkEwLmN1c3RvbSxtZXNzYWdlOkEwLm1lc3NhZ2UscHJvbWlzZTpBMC5wcm9taXNlLGRpc21pc3M6QTAuZGlzbWlzcyxsb2FkaW5nOkEwLmxvYWRpbmd9LHtnZXRIaXN0b3J5OiRYLGdldFRvYXN0czpKWH0pO3BaKCJbZGF0YS1zb25uZXItdG9hc3Rlcl1bZGlyPWx0cl0saHRtbFtkaXI9bHRyXXstLXRvYXN0LWljb24tbWFyZ2luLXN0YXJ0Oi0zcHg7LS10b2FzdC1pY29uLW1hcmdpbi1lbmQ6NHB4Oy0tdG9hc3Qtc3ZnLW1hcmdpbi1zdGFydDotMXB4Oy0tdG9hc3Qtc3ZnLW1hcmdpbi1lbmQ6MHB4Oy0tdG9hc3QtYnV0dG9uLW1hcmdpbi1zdGFydDphdXRvOy0tdG9hc3QtYnV0dG9uLW1hcmdpbi1lbmQ6MDstLXRvYXN0LWNsb3NlLWJ1dHRvbi1zdGFydDowOy0tdG9hc3QtY2xvc2UtYnV0dG9uLWVuZDp1bnNldDstLXRvYXN0LWNsb3NlLWJ1dHRvbi10cmFuc2Zvcm06dHJhbnNsYXRlKC0zNSUsIC0zNSUpfVtkYXRhLXNvbm5lci10b2FzdGVyXVtkaXI9cnRsXSxodG1sW2Rpcj1ydGxdey0tdG9hc3QtaWNvbi1tYXJnaW4tc3RhcnQ6NHB4Oy0tdG9hc3QtaWNvbi1tYXJnaW4tZW5kOi0zcHg7LS10b2FzdC1zdmctbWFyZ2luLXN0YXJ0OjBweDstLXRvYXN0LXN2Zy1tYXJnaW4tZW5kOi0xcHg7LS10b2FzdC1idXR0b24tbWFyZ2luLXN0YXJ0OjA7LS10b2FzdC1idXR0b24tbWFyZ2luLWVuZDphdXRvOy0tdG9hc3QtY2xvc2UtYnV0dG9uLXN0YXJ0OnVuc2V0Oy0tdG9hc3QtY2xvc2UtYnV0dG9uLWVuZDowOy0tdG9hc3QtY2xvc2UtYnV0dG9uLXRyYW5zZm9ybTp0cmFuc2xhdGUoMzUlLCAtMzUlKX1bZGF0YS1zb25uZXItdG9hc3Rlcl17cG9zaXRpb246Zml4ZWQ7d2lkdGg6dmFyKC0td2lkdGgpO2ZvbnQtZmFtaWx5OnVpLXNhbnMtc2VyaWYsc3lzdGVtLXVpLC1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFNlZ29lIFVJLFJvYm90byxIZWx2ZXRpY2EgTmV1ZSxBcmlhbCxOb3RvIFNhbnMsc2Fucy1zZXJpZixBcHBsZSBDb2xvciBFbW9qaSxTZWdvZSBVSSBFbW9qaSxTZWdvZSBVSSBTeW1ib2wsTm90byBDb2xvciBFbW9qaTstLWdyYXkxOmhzbCgwLCAwJSwgOTklKTstLWdyYXkyOmhzbCgwLCAwJSwgOTcuMyUpOy0tZ3JheTM6aHNsKDAsIDAlLCA5NS4xJSk7LS1ncmF5NDpoc2woMCwgMCUsIDkzJSk7LS1ncmF5NTpoc2woMCwgMCUsIDkwLjklKTstLWdyYXk2OmhzbCgwLCAwJSwgODguNyUpOy0tZ3JheTc6aHNsKDAsIDAlLCA4NS44JSk7LS1ncmF5ODpoc2woMCwgMCUsIDc4JSk7LS1ncmF5OTpoc2woMCwgMCUsIDU2LjElKTstLWdyYXkxMDpoc2woMCwgMCUsIDUyLjMlKTstLWdyYXkxMTpoc2woMCwgMCUsIDQzLjUlKTstLWdyYXkxMjpoc2woMCwgMCUsIDklKTstLWJvcmRlci1yYWRpdXM6OHB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nOjA7bWFyZ2luOjA7bGlzdC1zdHlsZTpub25lO291dGxpbmU6MDt6LWluZGV4Ojk5OTk5OTk5OTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuNHMgZWFzZX1AbWVkaWEgKGhvdmVyOm5vbmUpIGFuZCAocG9pbnRlcjpjb2Fyc2Upe1tkYXRhLXNvbm5lci10b2FzdGVyXVtkYXRhLWxpZnRlZD10cnVlXXt0cmFuc2Zvcm06bm9uZX19W2RhdGEtc29ubmVyLXRvYXN0ZXJdW2RhdGEteC1wb3NpdGlvbj1yaWdodF17cmlnaHQ6dmFyKC0tb2Zmc2V0LXJpZ2h0KX1bZGF0YS1zb25uZXItdG9hc3Rlcl1bZGF0YS14LXBvc2l0aW9uPWxlZnRde2xlZnQ6dmFyKC0tb2Zmc2V0LWxlZnQpfVtkYXRhLXNvbm5lci10b2FzdGVyXVtkYXRhLXgtcG9zaXRpb249Y2VudGVyXXtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKX1bZGF0YS1zb25uZXItdG9hc3Rlcl1bZGF0YS15LXBvc2l0aW9uPXRvcF17dG9wOnZhcigtLW9mZnNldC10b3ApfVtkYXRhLXNvbm5lci10b2FzdGVyXVtkYXRhLXktcG9zaXRpb249Ym90dG9tXXtib3R0b206dmFyKC0tb2Zmc2V0LWJvdHRvbSl9W2RhdGEtc29ubmVyLXRvYXN0XXstLXk6dHJhbnNsYXRlWSgxMDAlKTstLWxpZnQtYW1vdW50OmNhbGModmFyKC0tbGlmdCkgKiB2YXIoLS1nYXApKTt6LWluZGV4OnZhcigtLXotaW5kZXgpO3Bvc2l0aW9uOmFic29sdXRlO29wYWNpdHk6MDt0cmFuc2Zvcm06dmFyKC0teSk7dG91Y2gtYWN0aW9uOm5vbmU7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjRzLG9wYWNpdHkgLjRzLGhlaWdodCAuNHMsYm94LXNoYWRvdyAuMnM7Ym94LXNpemluZzpib3JkZXItYm94O291dGxpbmU6MDtvdmVyZmxvdy13cmFwOmFueXdoZXJlfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zdHlsZWQ9dHJ1ZV17cGFkZGluZzoxNnB4O2JhY2tncm91bmQ6dmFyKC0tbm9ybWFsLWJnKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLW5vcm1hbC1ib3JkZXIpO2NvbG9yOnZhcigtLW5vcm1hbC10ZXh0KTtib3JkZXItcmFkaXVzOnZhcigtLWJvcmRlci1yYWRpdXMpO2JveC1zaGFkb3c6MCA0cHggMTJweCByZ2JhKDAsMCwwLC4xKTt3aWR0aDp2YXIoLS13aWR0aCk7Zm9udC1zaXplOjEzcHg7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4fVtkYXRhLXNvbm5lci10b2FzdF06Zm9jdXMtdmlzaWJsZXtib3gtc2hhZG93OjAgNHB4IDEycHggcmdiYSgwLDAsMCwuMSksMCAwIDAgMnB4IHJnYmEoMCwwLDAsLjIpfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS15LXBvc2l0aW9uPXRvcF17dG9wOjA7LS15OnRyYW5zbGF0ZVkoLTEwMCUpOy0tbGlmdDoxOy0tbGlmdC1hbW91bnQ6Y2FsYygxICogdmFyKC0tZ2FwKSl9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXktcG9zaXRpb249Ym90dG9tXXtib3R0b206MDstLXk6dHJhbnNsYXRlWSgxMDAlKTstLWxpZnQ6LTE7LS1saWZ0LWFtb3VudDpjYWxjKHZhcigtLWxpZnQpICogdmFyKC0tZ2FwKSl9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXN0eWxlZD10cnVlXSBbZGF0YS1kZXNjcmlwdGlvbl17Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuNDtjb2xvcjojM2YzZjNmfVtkYXRhLXJpY2gtY29sb3JzPXRydWVdW2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXN0eWxlZD10cnVlXSBbZGF0YS1kZXNjcmlwdGlvbl17Y29sb3I6aW5oZXJpdH1bZGF0YS1zb25uZXItdG9hc3Rlcl1bZGF0YS1zb25uZXItdGhlbWU9ZGFya10gW2RhdGEtZGVzY3JpcHRpb25de2NvbG9yOiNlOGU4ZTh9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXN0eWxlZD10cnVlXSBbZGF0YS10aXRsZV17Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjEuNTtjb2xvcjppbmhlcml0fVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zdHlsZWQ9dHJ1ZV0gW2RhdGEtaWNvbl17ZGlzcGxheTpmbGV4O2hlaWdodDoxNnB4O3dpZHRoOjE2cHg7cG9zaXRpb246cmVsYXRpdmU7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7YWxpZ24taXRlbXM6Y2VudGVyO2ZsZXgtc2hyaW5rOjA7bWFyZ2luLWxlZnQ6dmFyKC0tdG9hc3QtaWNvbi1tYXJnaW4tc3RhcnQpO21hcmdpbi1yaWdodDp2YXIoLS10b2FzdC1pY29uLW1hcmdpbi1lbmQpfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1wcm9taXNlPXRydWVdIFtkYXRhLWljb25dPnN2Z3tvcGFjaXR5OjA7dHJhbnNmb3JtOnNjYWxlKC44KTt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcjthbmltYXRpb246c29ubmVyLWZhZGUtaW4gLjNzIGVhc2UgZm9yd2FyZHN9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXN0eWxlZD10cnVlXSBbZGF0YS1pY29uXT4qe2ZsZXgtc2hyaW5rOjB9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXN0eWxlZD10cnVlXSBbZGF0YS1pY29uXSBzdmd7bWFyZ2luLWxlZnQ6dmFyKC0tdG9hc3Qtc3ZnLW1hcmdpbi1zdGFydCk7bWFyZ2luLXJpZ2h0OnZhcigtLXRvYXN0LXN2Zy1tYXJnaW4tZW5kKX1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtc3R5bGVkPXRydWVdIFtkYXRhLWNvbnRlbnRde2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjJweH1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtc3R5bGVkPXRydWVdIFtkYXRhLWJ1dHRvbl17Ym9yZGVyLXJhZGl1czo0cHg7cGFkZGluZy1sZWZ0OjhweDtwYWRkaW5nLXJpZ2h0OjhweDtoZWlnaHQ6MjRweDtmb250LXNpemU6MTJweDtjb2xvcjp2YXIoLS1ub3JtYWwtYmcpO2JhY2tncm91bmQ6dmFyKC0tbm9ybWFsLXRleHQpO21hcmdpbi1sZWZ0OnZhcigtLXRvYXN0LWJ1dHRvbi1tYXJnaW4tc3RhcnQpO21hcmdpbi1yaWdodDp2YXIoLS10b2FzdC1idXR0b24tbWFyZ2luLWVuZCk7Ym9yZGVyOm5vbmU7Zm9udC13ZWlnaHQ6NTAwO2N1cnNvcjpwb2ludGVyO291dGxpbmU6MDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2ZsZXgtc2hyaW5rOjA7dHJhbnNpdGlvbjpvcGFjaXR5IC40cyxib3gtc2hhZG93IC4yc31bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtc3R5bGVkPXRydWVdIFtkYXRhLWJ1dHRvbl06Zm9jdXMtdmlzaWJsZXtib3gtc2hhZG93OjAgMCAwIDJweCByZ2JhKDAsMCwwLC40KX1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtc3R5bGVkPXRydWVdIFtkYXRhLWJ1dHRvbl06Zmlyc3Qtb2YtdHlwZXttYXJnaW4tbGVmdDp2YXIoLS10b2FzdC1idXR0b24tbWFyZ2luLXN0YXJ0KTttYXJnaW4tcmlnaHQ6dmFyKC0tdG9hc3QtYnV0dG9uLW1hcmdpbi1lbmQpfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zdHlsZWQ9dHJ1ZV0gW2RhdGEtY2FuY2VsXXtjb2xvcjp2YXIoLS1ub3JtYWwtdGV4dCk7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4wOCl9W2RhdGEtc29ubmVyLXRvYXN0ZXJdW2RhdGEtc29ubmVyLXRoZW1lPWRhcmtdIFtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zdHlsZWQ9dHJ1ZV0gW2RhdGEtY2FuY2VsXXtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjMpfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zdHlsZWQ9dHJ1ZV0gW2RhdGEtY2xvc2UtYnV0dG9uXXtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OnZhcigtLXRvYXN0LWNsb3NlLWJ1dHRvbi1zdGFydCk7cmlnaHQ6dmFyKC0tdG9hc3QtY2xvc2UtYnV0dG9uLWVuZCk7dG9wOjA7aGVpZ2h0OjIwcHg7d2lkdGg6MjBweDtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzowO2NvbG9yOnZhcigtLWdyYXkxMik7YmFja2dyb3VuZDp2YXIoLS1ub3JtYWwtYmcpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tZ3JheTQpO3RyYW5zZm9ybTp2YXIoLS10b2FzdC1jbG9zZS1idXR0b24tdHJhbnNmb3JtKTtib3JkZXItcmFkaXVzOjUwJTtjdXJzb3I6cG9pbnRlcjt6LWluZGV4OjE7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyxiYWNrZ3JvdW5kIC4ycyxib3JkZXItY29sb3IgLjJzfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zdHlsZWQ9dHJ1ZV0gW2RhdGEtY2xvc2UtYnV0dG9uXTpmb2N1cy12aXNpYmxle2JveC1zaGFkb3c6MCA0cHggMTJweCByZ2JhKDAsMCwwLC4xKSwwIDAgMCAycHggcmdiYSgwLDAsMCwuMil9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXN0eWxlZD10cnVlXSBbZGF0YS1kaXNhYmxlZD10cnVlXXtjdXJzb3I6bm90LWFsbG93ZWR9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXN0eWxlZD10cnVlXTpob3ZlciBbZGF0YS1jbG9zZS1idXR0b25dOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tZ3JheTIpO2JvcmRlci1jb2xvcjp2YXIoLS1ncmF5NSl9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXN3aXBpbmc9dHJ1ZV06OmJlZm9yZXtjb250ZW50OicnO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTEwMCU7cmlnaHQ6LTEwMCU7aGVpZ2h0OjEwMCU7ei1pbmRleDotMX1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEteS1wb3NpdGlvbj10b3BdW2RhdGEtc3dpcGluZz10cnVlXTo6YmVmb3Jle2JvdHRvbTo1MCU7dHJhbnNmb3JtOnNjYWxlWSgzKSB0cmFuc2xhdGVZKDUwJSl9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXktcG9zaXRpb249Ym90dG9tXVtkYXRhLXN3aXBpbmc9dHJ1ZV06OmJlZm9yZXt0b3A6NTAlO3RyYW5zZm9ybTpzY2FsZVkoMykgdHJhbnNsYXRlWSgtNTAlKX1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtc3dpcGluZz1mYWxzZV1bZGF0YS1yZW1vdmVkPXRydWVdOjpiZWZvcmV7Y29udGVudDonJztwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3RyYW5zZm9ybTpzY2FsZVkoMil9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLWV4cGFuZGVkPXRydWVdOjphZnRlcntjb250ZW50OicnO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtoZWlnaHQ6Y2FsYyh2YXIoLS1nYXApICsgMXB4KTtib3R0b206MTAwJTt3aWR0aDoxMDAlfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1tb3VudGVkPXRydWVdey0teTp0cmFuc2xhdGVZKDApO29wYWNpdHk6MX1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtZXhwYW5kZWQ9ZmFsc2VdW2RhdGEtZnJvbnQ9ZmFsc2Vdey0tc2NhbGU6dmFyKC0tdG9hc3RzLWJlZm9yZSkgKiAwLjA1ICsgMTstLXk6dHJhbnNsYXRlWShjYWxjKHZhcigtLWxpZnQtYW1vdW50KSAqIHZhcigtLXRvYXN0cy1iZWZvcmUpKSkgc2NhbGUoY2FsYygtMSAqIHZhcigtLXNjYWxlKSkpO2hlaWdodDp2YXIoLS1mcm9udC10b2FzdC1oZWlnaHQpfVtkYXRhLXNvbm5lci10b2FzdF0+Knt0cmFuc2l0aW9uOm9wYWNpdHkgLjRzfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS14LXBvc2l0aW9uPXJpZ2h0XXtyaWdodDowfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS14LXBvc2l0aW9uPWxlZnRde2xlZnQ6MH1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtZXhwYW5kZWQ9ZmFsc2VdW2RhdGEtZnJvbnQ9ZmFsc2VdW2RhdGEtc3R5bGVkPXRydWVdPip7b3BhY2l0eTowfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS12aXNpYmxlPWZhbHNlXXtvcGFjaXR5OjA7cG9pbnRlci1ldmVudHM6bm9uZX1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtbW91bnRlZD10cnVlXVtkYXRhLWV4cGFuZGVkPXRydWVdey0teTp0cmFuc2xhdGVZKGNhbGModmFyKC0tbGlmdCkgKiB2YXIoLS1vZmZzZXQpKSk7aGVpZ2h0OnZhcigtLWluaXRpYWwtaGVpZ2h0KX1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtcmVtb3ZlZD10cnVlXVtkYXRhLWZyb250PXRydWVdW2RhdGEtc3dpcGUtb3V0PWZhbHNlXXstLXk6dHJhbnNsYXRlWShjYWxjKHZhcigtLWxpZnQpICogLTEwMCUpKTtvcGFjaXR5OjB9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXJlbW92ZWQ9dHJ1ZV1bZGF0YS1mcm9udD1mYWxzZV1bZGF0YS1zd2lwZS1vdXQ9ZmFsc2VdW2RhdGEtZXhwYW5kZWQ9dHJ1ZV17LS15OnRyYW5zbGF0ZVkoY2FsYyh2YXIoLS1saWZ0KSAqIHZhcigtLW9mZnNldCkgKyB2YXIoLS1saWZ0KSAqIC0xMDAlKSk7b3BhY2l0eTowfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1yZW1vdmVkPXRydWVdW2RhdGEtZnJvbnQ9ZmFsc2VdW2RhdGEtc3dpcGUtb3V0PWZhbHNlXVtkYXRhLWV4cGFuZGVkPWZhbHNlXXstLXk6dHJhbnNsYXRlWSg0MCUpO29wYWNpdHk6MDt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuNXMsb3BhY2l0eSAuMnN9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXJlbW92ZWQ9dHJ1ZV1bZGF0YS1mcm9udD1mYWxzZV06OmJlZm9yZXtoZWlnaHQ6Y2FsYyh2YXIoLS1pbml0aWFsLWhlaWdodCkgKyAyMCUpfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zd2lwaW5nPXRydWVde3RyYW5zZm9ybTp2YXIoLS15KSB0cmFuc2xhdGVZKHZhcigtLXN3aXBlLWFtb3VudC15LDApKSB0cmFuc2xhdGVYKHZhcigtLXN3aXBlLWFtb3VudC14LDApKTt0cmFuc2l0aW9uOm5vbmV9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXN3aXBlZD10cnVlXXt1c2VyLXNlbGVjdDpub25lfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zd2lwZS1vdXQ9dHJ1ZV1bZGF0YS15LXBvc2l0aW9uPWJvdHRvbV0sW2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXN3aXBlLW91dD10cnVlXVtkYXRhLXktcG9zaXRpb249dG9wXXthbmltYXRpb24tZHVyYXRpb246LjJzO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7YW5pbWF0aW9uLWZpbGwtbW9kZTpmb3J3YXJkc31bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtc3dpcGUtb3V0PXRydWVdW2RhdGEtc3dpcGUtZGlyZWN0aW9uPWxlZnRde2FuaW1hdGlvbi1uYW1lOnN3aXBlLW91dC1sZWZ0fVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zd2lwZS1vdXQ9dHJ1ZV1bZGF0YS1zd2lwZS1kaXJlY3Rpb249cmlnaHRde2FuaW1hdGlvbi1uYW1lOnN3aXBlLW91dC1yaWdodH1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtc3dpcGUtb3V0PXRydWVdW2RhdGEtc3dpcGUtZGlyZWN0aW9uPXVwXXthbmltYXRpb24tbmFtZTpzd2lwZS1vdXQtdXB9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXN3aXBlLW91dD10cnVlXVtkYXRhLXN3aXBlLWRpcmVjdGlvbj1kb3duXXthbmltYXRpb24tbmFtZTpzd2lwZS1vdXQtZG93bn1Aa2V5ZnJhbWVzIHN3aXBlLW91dC1sZWZ0e2Zyb217dHJhbnNmb3JtOnZhcigtLXkpIHRyYW5zbGF0ZVgodmFyKC0tc3dpcGUtYW1vdW50LXgpKTtvcGFjaXR5OjF9dG97dHJhbnNmb3JtOnZhcigtLXkpIHRyYW5zbGF0ZVgoY2FsYyh2YXIoLS1zd2lwZS1hbW91bnQteCkgLSAxMDAlKSk7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIHN3aXBlLW91dC1yaWdodHtmcm9te3RyYW5zZm9ybTp2YXIoLS15KSB0cmFuc2xhdGVYKHZhcigtLXN3aXBlLWFtb3VudC14KSk7b3BhY2l0eToxfXRve3RyYW5zZm9ybTp2YXIoLS15KSB0cmFuc2xhdGVYKGNhbGModmFyKC0tc3dpcGUtYW1vdW50LXgpICsgMTAwJSkpO29wYWNpdHk6MH19QGtleWZyYW1lcyBzd2lwZS1vdXQtdXB7ZnJvbXt0cmFuc2Zvcm06dmFyKC0teSkgdHJhbnNsYXRlWSh2YXIoLS1zd2lwZS1hbW91bnQteSkpO29wYWNpdHk6MX10b3t0cmFuc2Zvcm06dmFyKC0teSkgdHJhbnNsYXRlWShjYWxjKHZhcigtLXN3aXBlLWFtb3VudC15KSAtIDEwMCUpKTtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgc3dpcGUtb3V0LWRvd257ZnJvbXt0cmFuc2Zvcm06dmFyKC0teSkgdHJhbnNsYXRlWSh2YXIoLS1zd2lwZS1hbW91bnQteSkpO29wYWNpdHk6MX10b3t0cmFuc2Zvcm06dmFyKC0teSkgdHJhbnNsYXRlWShjYWxjKHZhcigtLXN3aXBlLWFtb3VudC15KSArIDEwMCUpKTtvcGFjaXR5OjB9fUBtZWRpYSAobWF4LXdpZHRoOjYwMHB4KXtbZGF0YS1zb25uZXItdG9hc3Rlcl17cG9zaXRpb246Zml4ZWQ7cmlnaHQ6dmFyKC0tbW9iaWxlLW9mZnNldC1yaWdodCk7bGVmdDp2YXIoLS1tb2JpbGUtb2Zmc2V0LWxlZnQpO3dpZHRoOjEwMCV9W2RhdGEtc29ubmVyLXRvYXN0ZXJdW2Rpcj1ydGxde2xlZnQ6Y2FsYyh2YXIoLS1tb2JpbGUtb2Zmc2V0LWxlZnQpICogLTEpfVtkYXRhLXNvbm5lci10b2FzdGVyXSBbZGF0YS1zb25uZXItdG9hc3Rde2xlZnQ6MDtyaWdodDowO3dpZHRoOmNhbGMoMTAwJSAtIHZhcigtLW1vYmlsZS1vZmZzZXQtbGVmdCkgKiAyKX1bZGF0YS1zb25uZXItdG9hc3Rlcl1bZGF0YS14LXBvc2l0aW9uPWxlZnRde2xlZnQ6dmFyKC0tbW9iaWxlLW9mZnNldC1sZWZ0KX1bZGF0YS1zb25uZXItdG9hc3Rlcl1bZGF0YS15LXBvc2l0aW9uPWJvdHRvbV17Ym90dG9tOnZhcigtLW1vYmlsZS1vZmZzZXQtYm90dG9tKX1bZGF0YS1zb25uZXItdG9hc3Rlcl1bZGF0YS15LXBvc2l0aW9uPXRvcF17dG9wOnZhcigtLW1vYmlsZS1vZmZzZXQtdG9wKX1bZGF0YS1zb25uZXItdG9hc3Rlcl1bZGF0YS14LXBvc2l0aW9uPWNlbnRlcl17bGVmdDp2YXIoLS1tb2JpbGUtb2Zmc2V0LWxlZnQpO3JpZ2h0OnZhcigtLW1vYmlsZS1vZmZzZXQtcmlnaHQpO3RyYW5zZm9ybTpub25lfX1bZGF0YS1zb25uZXItdG9hc3Rlcl1bZGF0YS1zb25uZXItdGhlbWU9bGlnaHRdey0tbm9ybWFsLWJnOiNmZmY7LS1ub3JtYWwtYm9yZGVyOnZhcigtLWdyYXk0KTstLW5vcm1hbC10ZXh0OnZhcigtLWdyYXkxMik7LS1zdWNjZXNzLWJnOmhzbCgxNDMsIDg1JSwgOTYlKTstLXN1Y2Nlc3MtYm9yZGVyOmhzbCgxNDUsIDkyJSwgODclKTstLXN1Y2Nlc3MtdGV4dDpoc2woMTQwLCAxMDAlLCAyNyUpOy0taW5mby1iZzpoc2woMjA4LCAxMDAlLCA5NyUpOy0taW5mby1ib3JkZXI6aHNsKDIyMSwgOTElLCA5MyUpOy0taW5mby10ZXh0OmhzbCgyMTAsIDkyJSwgNDUlKTstLXdhcm5pbmctYmc6aHNsKDQ5LCAxMDAlLCA5NyUpOy0td2FybmluZy1ib3JkZXI6aHNsKDQ5LCA5MSUsIDg0JSk7LS13YXJuaW5nLXRleHQ6aHNsKDMxLCA5MiUsIDQ1JSk7LS1lcnJvci1iZzpoc2woMzU5LCAxMDAlLCA5NyUpOy0tZXJyb3ItYm9yZGVyOmhzbCgzNTksIDEwMCUsIDk0JSk7LS1lcnJvci10ZXh0OmhzbCgzNjAsIDEwMCUsIDQ1JSl9W2RhdGEtc29ubmVyLXRvYXN0ZXJdW2RhdGEtc29ubmVyLXRoZW1lPWxpZ2h0XSBbZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtaW52ZXJ0PXRydWVdey0tbm9ybWFsLWJnOiMwMDA7LS1ub3JtYWwtYm9yZGVyOmhzbCgwLCAwJSwgMjAlKTstLW5vcm1hbC10ZXh0OnZhcigtLWdyYXkxKX1bZGF0YS1zb25uZXItdG9hc3Rlcl1bZGF0YS1zb25uZXItdGhlbWU9ZGFya10gW2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLWludmVydD10cnVlXXstLW5vcm1hbC1iZzojZmZmOy0tbm9ybWFsLWJvcmRlcjp2YXIoLS1ncmF5Myk7LS1ub3JtYWwtdGV4dDp2YXIoLS1ncmF5MTIpfVtkYXRhLXNvbm5lci10b2FzdGVyXVtkYXRhLXNvbm5lci10aGVtZT1kYXJrXXstLW5vcm1hbC1iZzojMDAwOy0tbm9ybWFsLWJnLWhvdmVyOmhzbCgwLCAwJSwgMTIlKTstLW5vcm1hbC1ib3JkZXI6aHNsKDAsIDAlLCAyMCUpOy0tbm9ybWFsLWJvcmRlci1ob3Zlcjpoc2woMCwgMCUsIDI1JSk7LS1ub3JtYWwtdGV4dDp2YXIoLS1ncmF5MSk7LS1zdWNjZXNzLWJnOmhzbCgxNTAsIDEwMCUsIDYlKTstLXN1Y2Nlc3MtYm9yZGVyOmhzbCgxNDcsIDEwMCUsIDEyJSk7LS1zdWNjZXNzLXRleHQ6aHNsKDE1MCwgODYlLCA2NSUpOy0taW5mby1iZzpoc2woMjE1LCAxMDAlLCA2JSk7LS1pbmZvLWJvcmRlcjpoc2woMjIzLCA0MyUsIDE3JSk7LS1pbmZvLXRleHQ6aHNsKDIxNiwgODclLCA2NSUpOy0td2FybmluZy1iZzpoc2woNjQsIDEwMCUsIDYlKTstLXdhcm5pbmctYm9yZGVyOmhzbCg2MCwgMTAwJSwgOSUpOy0td2FybmluZy10ZXh0OmhzbCg0NiwgODclLCA2NSUpOy0tZXJyb3ItYmc6aHNsKDM1OCwgNzYlLCAxMCUpOy0tZXJyb3ItYm9yZGVyOmhzbCgzNTcsIDg5JSwgMTYlKTstLWVycm9yLXRleHQ6aHNsKDM1OCwgMTAwJSwgODElKX1bZGF0YS1zb25uZXItdG9hc3Rlcl1bZGF0YS1zb25uZXItdGhlbWU9ZGFya10gW2RhdGEtc29ubmVyLXRvYXN0XSBbZGF0YS1jbG9zZS1idXR0b25de2JhY2tncm91bmQ6dmFyKC0tbm9ybWFsLWJnKTtib3JkZXItY29sb3I6dmFyKC0tbm9ybWFsLWJvcmRlcik7Y29sb3I6dmFyKC0tbm9ybWFsLXRleHQpfVtkYXRhLXNvbm5lci10b2FzdGVyXVtkYXRhLXNvbm5lci10aGVtZT1kYXJrXSBbZGF0YS1zb25uZXItdG9hc3RdIFtkYXRhLWNsb3NlLWJ1dHRvbl06aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1ub3JtYWwtYmctaG92ZXIpO2JvcmRlci1jb2xvcjp2YXIoLS1ub3JtYWwtYm9yZGVyLWhvdmVyKX1bZGF0YS1yaWNoLWNvbG9ycz10cnVlXVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS10eXBlPXN1Y2Nlc3Nde2JhY2tncm91bmQ6dmFyKC0tc3VjY2Vzcy1iZyk7Ym9yZGVyLWNvbG9yOnZhcigtLXN1Y2Nlc3MtYm9yZGVyKTtjb2xvcjp2YXIoLS1zdWNjZXNzLXRleHQpfVtkYXRhLXJpY2gtY29sb3JzPXRydWVdW2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXR5cGU9c3VjY2Vzc10gW2RhdGEtY2xvc2UtYnV0dG9uXXtiYWNrZ3JvdW5kOnZhcigtLXN1Y2Nlc3MtYmcpO2JvcmRlci1jb2xvcjp2YXIoLS1zdWNjZXNzLWJvcmRlcik7Y29sb3I6dmFyKC0tc3VjY2Vzcy10ZXh0KX1bZGF0YS1yaWNoLWNvbG9ycz10cnVlXVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS10eXBlPWluZm9de2JhY2tncm91bmQ6dmFyKC0taW5mby1iZyk7Ym9yZGVyLWNvbG9yOnZhcigtLWluZm8tYm9yZGVyKTtjb2xvcjp2YXIoLS1pbmZvLXRleHQpfVtkYXRhLXJpY2gtY29sb3JzPXRydWVdW2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXR5cGU9aW5mb10gW2RhdGEtY2xvc2UtYnV0dG9uXXtiYWNrZ3JvdW5kOnZhcigtLWluZm8tYmcpO2JvcmRlci1jb2xvcjp2YXIoLS1pbmZvLWJvcmRlcik7Y29sb3I6dmFyKC0taW5mby10ZXh0KX1bZGF0YS1yaWNoLWNvbG9ycz10cnVlXVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS10eXBlPXdhcm5pbmdde2JhY2tncm91bmQ6dmFyKC0td2FybmluZy1iZyk7Ym9yZGVyLWNvbG9yOnZhcigtLXdhcm5pbmctYm9yZGVyKTtjb2xvcjp2YXIoLS13YXJuaW5nLXRleHQpfVtkYXRhLXJpY2gtY29sb3JzPXRydWVdW2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXR5cGU9d2FybmluZ10gW2RhdGEtY2xvc2UtYnV0dG9uXXtiYWNrZ3JvdW5kOnZhcigtLXdhcm5pbmctYmcpO2JvcmRlci1jb2xvcjp2YXIoLS13YXJuaW5nLWJvcmRlcik7Y29sb3I6dmFyKC0td2FybmluZy10ZXh0KX1bZGF0YS1yaWNoLWNvbG9ycz10cnVlXVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS10eXBlPWVycm9yXXtiYWNrZ3JvdW5kOnZhcigtLWVycm9yLWJnKTtib3JkZXItY29sb3I6dmFyKC0tZXJyb3ItYm9yZGVyKTtjb2xvcjp2YXIoLS1lcnJvci10ZXh0KX1bZGF0YS1yaWNoLWNvbG9ycz10cnVlXVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS10eXBlPWVycm9yXSBbZGF0YS1jbG9zZS1idXR0b25de2JhY2tncm91bmQ6dmFyKC0tZXJyb3ItYmcpO2JvcmRlci1jb2xvcjp2YXIoLS1lcnJvci1ib3JkZXIpO2NvbG9yOnZhcigtLWVycm9yLXRleHQpfS5zb25uZXItbG9hZGluZy13cmFwcGVyey0tc2l6ZToxNnB4O2hlaWdodDp2YXIoLS1zaXplKTt3aWR0aDp2YXIoLS1zaXplKTtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3otaW5kZXg6MTB9LnNvbm5lci1sb2FkaW5nLXdyYXBwZXJbZGF0YS12aXNpYmxlPWZhbHNlXXt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcjthbmltYXRpb246c29ubmVyLWZhZGUtb3V0IC4ycyBlYXNlIGZvcndhcmRzfS5zb25uZXItc3Bpbm5lcntwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6NTAlO2xlZnQ6NTAlO2hlaWdodDp2YXIoLS1zaXplKTt3aWR0aDp2YXIoLS1zaXplKX0uc29ubmVyLWxvYWRpbmctYmFye2FuaW1hdGlvbjpzb25uZXItc3BpbiAxLjJzIGxpbmVhciBpbmZpbml0ZTtiYWNrZ3JvdW5kOnZhcigtLWdyYXkxMSk7Ym9yZGVyLXJhZGl1czo2cHg7aGVpZ2h0OjglO2xlZnQ6LTEwJTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTMuOSU7d2lkdGg6MjQlfS5zb25uZXItbG9hZGluZy1iYXI6Zmlyc3QtY2hpbGR7YW5pbWF0aW9uLWRlbGF5Oi0xLjJzO3RyYW5zZm9ybTpyb3RhdGUoLjAwMDFkZWcpIHRyYW5zbGF0ZSgxNDYlKX0uc29ubmVyLWxvYWRpbmctYmFyOm50aC1jaGlsZCgyKXthbmltYXRpb24tZGVsYXk6LTEuMXM7dHJhbnNmb3JtOnJvdGF0ZSgzMGRlZykgdHJhbnNsYXRlKDE0NiUpfS5zb25uZXItbG9hZGluZy1iYXI6bnRoLWNoaWxkKDMpe2FuaW1hdGlvbi1kZWxheTotMXM7dHJhbnNmb3JtOnJvdGF0ZSg2MGRlZykgdHJhbnNsYXRlKDE0NiUpfS5zb25uZXItbG9hZGluZy1iYXI6bnRoLWNoaWxkKDQpe2FuaW1hdGlvbi1kZWxheTotLjlzO3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpIHRyYW5zbGF0ZSgxNDYlKX0uc29ubmVyLWxvYWRpbmctYmFyOm50aC1jaGlsZCg1KXthbmltYXRpb24tZGVsYXk6LS44czt0cmFuc2Zvcm06cm90YXRlKDEyMGRlZykgdHJhbnNsYXRlKDE0NiUpfS5zb25uZXItbG9hZGluZy1iYXI6bnRoLWNoaWxkKDYpe2FuaW1hdGlvbi1kZWxheTotLjdzO3RyYW5zZm9ybTpyb3RhdGUoMTUwZGVnKSB0cmFuc2xhdGUoMTQ2JSl9LnNvbm5lci1sb2FkaW5nLWJhcjpudGgtY2hpbGQoNyl7YW5pbWF0aW9uLWRlbGF5Oi0uNnM7dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpIHRyYW5zbGF0ZSgxNDYlKX0uc29ubmVyLWxvYWRpbmctYmFyOm50aC1jaGlsZCg4KXthbmltYXRpb24tZGVsYXk6LS41czt0cmFuc2Zvcm06cm90YXRlKDIxMGRlZykgdHJhbnNsYXRlKDE0NiUpfS5zb25uZXItbG9hZGluZy1iYXI6bnRoLWNoaWxkKDkpe2FuaW1hdGlvbi1kZWxheTotLjRzO3RyYW5zZm9ybTpyb3RhdGUoMjQwZGVnKSB0cmFuc2xhdGUoMTQ2JSl9LnNvbm5lci1sb2FkaW5nLWJhcjpudGgtY2hpbGQoMTApe2FuaW1hdGlvbi1kZWxheTotLjNzO3RyYW5zZm9ybTpyb3RhdGUoMjcwZGVnKSB0cmFuc2xhdGUoMTQ2JSl9LnNvbm5lci1sb2FkaW5nLWJhcjpudGgtY2hpbGQoMTEpe2FuaW1hdGlvbi1kZWxheTotLjJzO3RyYW5zZm9ybTpyb3RhdGUoMzAwZGVnKSB0cmFuc2xhdGUoMTQ2JSl9LnNvbm5lci1sb2FkaW5nLWJhcjpudGgtY2hpbGQoMTIpe2FuaW1hdGlvbi1kZWxheTotLjFzO3RyYW5zZm9ybTpyb3RhdGUoMzMwZGVnKSB0cmFuc2xhdGUoMTQ2JSl9QGtleWZyYW1lcyBzb25uZXItZmFkZS1pbnswJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnNjYWxlKC44KX0xMDAle29wYWNpdHk6MTt0cmFuc2Zvcm06c2NhbGUoMSl9fUBrZXlmcmFtZXMgc29ubmVyLWZhZGUtb3V0ezAle29wYWNpdHk6MTt0cmFuc2Zvcm06c2NhbGUoMSl9MTAwJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnNjYWxlKC44KX19QGtleWZyYW1lcyBzb25uZXItc3BpbnswJXtvcGFjaXR5OjF9MTAwJXtvcGFjaXR5Oi4xNX19QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uKXsuc29ubmVyLWxvYWRpbmctYmFyLFtkYXRhLXNvbm5lci10b2FzdF0sW2RhdGEtc29ubmVyLXRvYXN0XT4qe3RyYW5zaXRpb246bm9uZSFpbXBvcnRhbnQ7YW5pbWF0aW9uOm5vbmUhaW1wb3J0YW50fX0uc29ubmVyLWxvYWRlcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcjt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzLHRyYW5zZm9ybSAuMnN9LnNvbm5lci1sb2FkZXJbZGF0YS12aXNpYmxlPWZhbHNlXXtvcGFjaXR5OjA7dHJhbnNmb3JtOnNjYWxlKC44KSB0cmFuc2xhdGUoLTUwJSwtNTAlKX0iKTtmdW5jdGlvbiBJMygkKXtyZXR1cm4gJC5sYWJlbCE9PXZvaWQgMH12YXIgUVg9MyxaWD0iMjRweCIsWFg9IjE2cHgiLEw3PTQwMDAsS1g9MzU2LFlYPTE0LHFYPTQ1LEdYPTIwMDtmdW5jdGlvbiB1MCguLi4kKXtyZXR1cm4gJC5maWx0ZXIoQm9vbGVhbikuam9pbigiICIpfWZ1bmN0aW9uIFZYKCQpe2xldFtKLFFdPSQuc3BsaXQoIi0iKSxaPVtdO2lmKEopWi5wdXNoKEopO2lmKFEpWi5wdXNoKFEpO3JldHVybiBafXZhciBCWD0oJCk9Pnt2YXIgSixRLFosSyxZLHEsRyxCLE47bGV0e2ludmVydDpMLHRvYXN0OlYsdW5zdHlsZWQ6eixpbnRlcmFjdGluZzpDLHNldEhlaWdodHM6TSx2aXNpYmxlVG9hc3RzOlUsaGVpZ2h0czpILGluZGV4Ok8sdG9hc3RzOmssZXhwYW5kZWQ6dyxyZW1vdmVUb2FzdDpQLGRlZmF1bHRSaWNoQ29sb3JzOngsY2xvc2VCdXR0b246RixzdHlsZTpjLGNhbmNlbEJ1dHRvblN0eWxlOmosYWN0aW9uQnV0dG9uU3R5bGU6bSxjbGFzc05hbWU6cz0iIixkZXNjcmlwdGlvbkNsYXNzTmFtZTpyPSIiLGR1cmF0aW9uOmkscG9zaXRpb246WjEsZ2FwOmgsZXhwYW5kQnlEZWZhdWx0OksxLGNsYXNzTmFtZXM6dixpY29uczp6MSxjbG9zZUJ1dHRvbkFyaWFMYWJlbDpIMT0iQ2xvc2UgdG9hc3QifT0kLFtWMSxlXT1nLnVzZVN0YXRlKG51bGwpLFthLFkxXT1nLnVzZVN0YXRlKG51bGwpLFtSLHVdPWcudXNlU3RhdGUoITEpLFtwLFNdPWcudXNlU3RhdGUoITEpLFtvLGxdPWcudXNlU3RhdGUoITEpLFtXMSxEMV09Zy51c2VTdGF0ZSghMSksW3kxLE8xXT1nLnVzZVN0YXRlKCExKSxbVDAsTjBdPWcudXNlU3RhdGUoMCksW0wwLF8xXT1nLnVzZVN0YXRlKDApLEowPWcudXNlUmVmKFYuZHVyYXRpb258fGl8fEw3KSxxMD1nLnVzZVJlZihudWxsKSxUMT1nLnVzZVJlZihudWxsKSwkMT1PPT09MCxCMT1PKzE8PVUsRzE9Vi50eXBlLEExPVYuZGlzbWlzc2libGUhPT0hMSx4MT1WLmNsYXNzTmFtZXx8IiIsUzE9Vi5kZXNjcmlwdGlvbkNsYXNzTmFtZXx8IiIsbTE9Zy51c2VNZW1vKCgpPT5ILmZpbmRJbmRleCgoVCk9PlQudG9hc3RJZD09PVYuaWQpfHwwLFtILFYuaWRdKSxNMT1nLnVzZU1lbW8oKCk9Pnt2YXIgVDtyZXR1cm4oVD1WLmNsb3NlQnV0dG9uKSE9bnVsbD9UOkZ9LFtWLmNsb3NlQnV0dG9uLEZdKSxQMT1nLnVzZU1lbW8oKCk9PlYuZHVyYXRpb258fGl8fEw3LFtWLmR1cmF0aW9uLGldKSxvMT1nLnVzZVJlZigwKSxRMD1nLnVzZVJlZigwKSxVMD1nLnVzZVJlZigwKSxSMT1nLnVzZVJlZihudWxsKSxbbjEsRTBdPVoxLnNwbGl0KCItIikscDE9Zy51c2VNZW1vKCgpPT57cmV0dXJuIEgucmVkdWNlKChULGQsdCk9PntpZih0Pj1tMSlyZXR1cm4gVDtyZXR1cm4gVCtkLmhlaWdodH0sMCl9LFtILG0xXSksWjA9YVooKSxYMD1WLmludmVydHx8TCx1MT1HMT09PSJsb2FkaW5nIjtRMC5jdXJyZW50PWcudXNlTWVtbygoKT0+bTEqaCtwMSxbbTEscDFdKSxnLnVzZUVmZmVjdCgoKT0+e0owLmN1cnJlbnQ9UDF9LFtQMV0pLGcudXNlRWZmZWN0KCgpPT57dSghMCl9LFtdKSxnLnVzZUVmZmVjdCgoKT0+e2xldCBUPVQxLmN1cnJlbnQ7aWYoVCl7bGV0IGQ9VC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ7cmV0dXJuIF8xKGQpLE0oKHQpPT5be3RvYXN0SWQ6Vi5pZCxoZWlnaHQ6ZCxwb3NpdGlvbjpWLnBvc2l0aW9ufSwuLi50XSksKCk9Pk0oKHQpPT50LmZpbHRlcigocTEpPT5xMS50b2FzdElkIT09Vi5pZCkpfX0sW00sVi5pZF0pLGcudXNlTGF5b3V0RWZmZWN0KCgpPT57aWYoIVIpcmV0dXJuO2xldCBUPVQxLmN1cnJlbnQsZD1ULnN0eWxlLmhlaWdodDtULnN0eWxlLmhlaWdodD0iYXV0byI7bGV0IHQ9VC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ7VC5zdHlsZS5oZWlnaHQ9ZCxfMSh0KSxNKChxMSk9PntpZighcTEuZmluZCgoVTEpPT5VMS50b2FzdElkPT09Vi5pZCkpcmV0dXJuW3t0b2FzdElkOlYuaWQsaGVpZ2h0OnQscG9zaXRpb246Vi5wb3NpdGlvbn0sLi4ucTFdO2Vsc2UgcmV0dXJuIHExLm1hcCgoVTEpPT5VMS50b2FzdElkPT09Vi5pZD97Li4uVTEsaGVpZ2h0OnR9OlUxKX0pfSxbUixWLnRpdGxlLFYuZGVzY3JpcHRpb24sTSxWLmlkLFYuanN4LFYuYWN0aW9uLFYuY2FuY2VsXSk7bGV0IHcxPWcudXNlQ2FsbGJhY2soKCk9PntTKCEwKSxOMChRMC5jdXJyZW50KSxNKChUKT0+VC5maWx0ZXIoKGQpPT5kLnRvYXN0SWQhPT1WLmlkKSksc2V0VGltZW91dCgoKT0+e1AoVil9LEdYKX0sW1YsUCxNLFEwXSk7Zy51c2VFZmZlY3QoKCk9PntpZihWLnByb21pc2UmJkcxPT09ImxvYWRpbmcifHxWLmR1cmF0aW9uPT09MS8wfHxWLnR5cGU9PT0ibG9hZGluZyIpcmV0dXJuO2xldCBULGQ9KCk9PntpZihVMC5jdXJyZW50PG8xLmN1cnJlbnQpe2xldCBxMT1uZXcgRGF0ZSgpLmdldFRpbWUoKS1vMS5jdXJyZW50O0owLmN1cnJlbnQ9SjAuY3VycmVudC1xMX1VMC5jdXJyZW50PW5ldyBEYXRlKCkuZ2V0VGltZSgpfSx0PSgpPT57aWYoSjAuY3VycmVudD09PTEvMClyZXR1cm47bzEuY3VycmVudD1uZXcgRGF0ZSgpLmdldFRpbWUoKSxUPXNldFRpbWVvdXQoKCk9PntWLm9uQXV0b0Nsb3NlPT1udWxsfHxWLm9uQXV0b0Nsb3NlLmNhbGwoVixWKSx3MSgpfSxKMC5jdXJyZW50KX07aWYod3x8Q3x8WjApZCgpO2Vsc2UgdCgpO3JldHVybigpPT5jbGVhclRpbWVvdXQoVCl9LFt3LEMsVixHMSxaMCx3MV0pLGcudXNlRWZmZWN0KCgpPT57aWYoVi5kZWxldGUpdzEoKSxWLm9uRGlzbWlzcz09bnVsbHx8Vi5vbkRpc21pc3MuY2FsbChWLFYpfSxbdzEsVi5kZWxldGVdKTtmdW5jdGlvbiBGMCgpe3ZhciBUO2lmKHoxPT1udWxsP3ZvaWQgMDp6MS5sb2FkaW5nKXt2YXIgZDtyZXR1cm4gZy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6dTAodj09bnVsbD92b2lkIDA6di5sb2FkZXIsVj09bnVsbD92b2lkIDA6KGQ9Vi5jbGFzc05hbWVzKT09bnVsbD92b2lkIDA6ZC5sb2FkZXIsInNvbm5lci1sb2FkZXIiKSwiZGF0YS12aXNpYmxlIjpHMT09PSJsb2FkaW5nIn0sejEubG9hZGluZyl9cmV0dXJuIGcuY3JlYXRlRWxlbWVudChkWix7Y2xhc3NOYW1lOnUwKHY9PW51bGw/dm9pZCAwOnYubG9hZGVyLFY9PW51bGw/dm9pZCAwOihUPVYuY2xhc3NOYW1lcyk9PW51bGw/dm9pZCAwOlQubG9hZGVyKSx2aXNpYmxlOkcxPT09ImxvYWRpbmcifSl9bGV0IFIwPVYuaWNvbnx8KHoxPT1udWxsP3ZvaWQgMDp6MVtHMV0pfHx1WihHMSk7dmFyIFcwLEcwO3JldHVybiBnLmNyZWF0ZUVsZW1lbnQoImxpIix7dGFiSW5kZXg6MCxyZWY6VDEsY2xhc3NOYW1lOnUwKHMseDEsdj09bnVsbD92b2lkIDA6di50b2FzdCxWPT1udWxsP3ZvaWQgMDooSj1WLmNsYXNzTmFtZXMpPT1udWxsP3ZvaWQgMDpKLnRvYXN0LHY9PW51bGw/dm9pZCAwOnYuZGVmYXVsdCx2PT1udWxsP3ZvaWQgMDp2W0cxXSxWPT1udWxsP3ZvaWQgMDooUT1WLmNsYXNzTmFtZXMpPT1udWxsP3ZvaWQgMDpRW0cxXSksImRhdGEtc29ubmVyLXRvYXN0IjoiIiwiZGF0YS1yaWNoLWNvbG9ycyI6KFcwPVYucmljaENvbG9ycykhPW51bGw/VzA6eCwiZGF0YS1zdHlsZWQiOiFCb29sZWFuKFYuanN4fHxWLnVuc3R5bGVkfHx6KSwiZGF0YS1tb3VudGVkIjpSLCJkYXRhLXByb21pc2UiOkJvb2xlYW4oVi5wcm9taXNlKSwiZGF0YS1zd2lwZWQiOnkxLCJkYXRhLXJlbW92ZWQiOnAsImRhdGEtdmlzaWJsZSI6QjEsImRhdGEteS1wb3NpdGlvbiI6bjEsImRhdGEteC1wb3NpdGlvbiI6RTAsImRhdGEtaW5kZXgiOk8sImRhdGEtZnJvbnQiOiQxLCJkYXRhLXN3aXBpbmciOm8sImRhdGEtZGlzbWlzc2libGUiOkExLCJkYXRhLXR5cGUiOkcxLCJkYXRhLWludmVydCI6WDAsImRhdGEtc3dpcGUtb3V0IjpXMSwiZGF0YS1zd2lwZS1kaXJlY3Rpb24iOmEsImRhdGEtZXhwYW5kZWQiOkJvb2xlYW4od3x8SzEmJlIpLCJkYXRhLXRlc3RpZCI6Vi50ZXN0SWQsc3R5bGU6eyItLWluZGV4IjpPLCItLXRvYXN0cy1iZWZvcmUiOk8sIi0tei1pbmRleCI6ay5sZW5ndGgtTywiLS1vZmZzZXQiOmAke3A/VDA6UTAuY3VycmVudH1weGAsIi0taW5pdGlhbC1oZWlnaHQiOksxPyJhdXRvIjpgJHtMMH1weGAsLi4uYywuLi5WLnN0eWxlfSxvbkRyYWdFbmQ6KCk9PntsKCExKSxlKG51bGwpLFIxLmN1cnJlbnQ9bnVsbH0sb25Qb2ludGVyRG93bjooVCk9PntpZihULmJ1dHRvbj09PTIpcmV0dXJuO2lmKHUxfHwhQTEpcmV0dXJuO2lmKHEwLmN1cnJlbnQ9bmV3IERhdGUsTjAoUTAuY3VycmVudCksVC50YXJnZXQuc2V0UG9pbnRlckNhcHR1cmUoVC5wb2ludGVySWQpLFQudGFyZ2V0LnRhZ05hbWU9PT0iQlVUVE9OIilyZXR1cm47bCghMCksUjEuY3VycmVudD17eDpULmNsaWVudFgseTpULmNsaWVudFl9fSxvblBvaW50ZXJVcDooKT0+e3ZhciBULGQsdDtpZihXMXx8IUExKXJldHVybjtSMS5jdXJyZW50PW51bGw7bGV0IHExPU51bWJlcigoKFQ9VDEuY3VycmVudCk9PW51bGw/dm9pZCAwOlQuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgiLS1zd2lwZS1hbW91bnQteCIpLnJlcGxhY2UoInB4IiwiIikpfHwwKSxqMT1OdW1iZXIoKChkPVQxLmN1cnJlbnQpPT1udWxsP3ZvaWQgMDpkLnN0eWxlLmdldFByb3BlcnR5VmFsdWUoIi0tc3dpcGUtYW1vdW50LXkiKS5yZXBsYWNlKCJweCIsIiIpKXx8MCksVTE9bmV3IERhdGUoKS5nZXRUaW1lKCktKCh0PXEwLmN1cnJlbnQpPT1udWxsP3ZvaWQgMDp0LmdldFRpbWUoKSksRTE9VjE9PT0ieCI/cTE6ajEsSzA9TWF0aC5hYnMoRTEpL1UxO2lmKE1hdGguYWJzKEUxKT49cVh8fEswPjAuMTEpe2lmKE4wKFEwLmN1cnJlbnQpLFYub25EaXNtaXNzPT1udWxsfHxWLm9uRGlzbWlzcy5jYWxsKFYsViksVjE9PT0ieCIpWTEocTE+MD8icmlnaHQiOiJsZWZ0Iik7ZWxzZSBZMShqMT4wPyJkb3duIjoidXAiKTt3MSgpLEQxKCEwKTtyZXR1cm59ZWxzZXt2YXIgczEsbDE7KHMxPVQxLmN1cnJlbnQpPT1udWxsfHxzMS5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1zd2lwZS1hbW91bnQteCIsIjBweCIpLChsMT1UMS5jdXJyZW50KT09bnVsbHx8bDEuc3R5bGUuc2V0UHJvcGVydHkoIi0tc3dpcGUtYW1vdW50LXkiLCIwcHgiKX1PMSghMSksbCghMSksZShudWxsKX0sb25Qb2ludGVyTW92ZTooVCk9Pnt2YXIgZCx0LHExO2lmKCFSMS5jdXJyZW50fHwhQTEpcmV0dXJuO2lmKCgoZD13aW5kb3cuZ2V0U2VsZWN0aW9uKCkpPT1udWxsP3ZvaWQgMDpkLnRvU3RyaW5nKCkubGVuZ3RoKT4wKXJldHVybjtsZXQgVTE9VC5jbGllbnRZLVIxLmN1cnJlbnQueSxFMT1ULmNsaWVudFgtUjEuY3VycmVudC54O3ZhciBLMDtsZXQgczE9KEswPSQuc3dpcGVEaXJlY3Rpb25zKSE9bnVsbD9LMDpWWChaMSk7aWYoIVYxJiYoTWF0aC5hYnMoRTEpPjF8fE1hdGguYWJzKFUxKT4xKSllKE1hdGguYWJzKEUxKT5NYXRoLmFicyhVMSk/IngiOiJ5Iik7bGV0IGwxPXt4OjAseTowfSxuMD0oejApPT57cmV0dXJuIDEvKDEuNStNYXRoLmFicyh6MCkvMjApfTtpZihWMT09PSJ5Iil7aWYoczEuaW5jbHVkZXMoInRvcCIpfHxzMS5pbmNsdWRlcygiYm90dG9tIikpaWYoczEuaW5jbHVkZXMoInRvcCIpJiZVMTwwfHxzMS5pbmNsdWRlcygiYm90dG9tIikmJlUxPjApbDEueT1VMTtlbHNle2xldCB6MD1VMSpuMChVMSk7bDEueT1NYXRoLmFicyh6MCk8TWF0aC5hYnMoVTEpP3owOlUxfX1lbHNlIGlmKFYxPT09IngiKXtpZihzMS5pbmNsdWRlcygibGVmdCIpfHxzMS5pbmNsdWRlcygicmlnaHQiKSlpZihzMS5pbmNsdWRlcygibGVmdCIpJiZFMTwwfHxzMS5pbmNsdWRlcygicmlnaHQiKSYmRTE+MClsMS54PUUxO2Vsc2V7bGV0IHowPUUxKm4wKEUxKTtsMS54PU1hdGguYWJzKHowKTxNYXRoLmFicyhFMSk/ejA6RTF9fWlmKE1hdGguYWJzKGwxLngpPjB8fE1hdGguYWJzKGwxLnkpPjApTzEoITApOyh0PVQxLmN1cnJlbnQpPT1udWxsfHx0LnN0eWxlLnNldFByb3BlcnR5KCItLXN3aXBlLWFtb3VudC14IixgJHtsMS54fXB4YCksKHExPVQxLmN1cnJlbnQpPT1udWxsfHxxMS5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1zd2lwZS1hbW91bnQteSIsYCR7bDEueX1weGApfX0sTTEmJiFWLmpzeCYmRzEhPT0ibG9hZGluZyI/Zy5jcmVhdGVFbGVtZW50KCJidXR0b24iLHsiYXJpYS1sYWJlbCI6SDEsImRhdGEtZGlzYWJsZWQiOnUxLCJkYXRhLWNsb3NlLWJ1dHRvbiI6ITAsb25DbGljazp1MXx8IUExPygpPT57fTooKT0+e3cxKCksVi5vbkRpc21pc3M9PW51bGx8fFYub25EaXNtaXNzLmNhbGwoVixWKX0sY2xhc3NOYW1lOnUwKHY9PW51bGw/dm9pZCAwOnYuY2xvc2VCdXR0b24sVj09bnVsbD92b2lkIDA6KFo9Vi5jbGFzc05hbWVzKT09bnVsbD92b2lkIDA6Wi5jbG9zZUJ1dHRvbil9LChHMD16MT09bnVsbD92b2lkIDA6ejEuY2xvc2UpIT1udWxsP0cwOnJaKTpudWxsLChHMXx8Vi5pY29ufHxWLnByb21pc2UpJiZWLmljb24hPT1udWxsJiYoKHoxPT1udWxsP3ZvaWQgMDp6MVtHMV0pIT09bnVsbHx8Vi5pY29uKT9nLmNyZWF0ZUVsZW1lbnQoImRpdiIseyJkYXRhLWljb24iOiIiLGNsYXNzTmFtZTp1MCh2PT1udWxsP3ZvaWQgMDp2Lmljb24sVj09bnVsbD92b2lkIDA6KEs9Vi5jbGFzc05hbWVzKT09bnVsbD92b2lkIDA6Sy5pY29uKX0sVi5wcm9taXNlfHxWLnR5cGU9PT0ibG9hZGluZyImJiFWLmljb24/Vi5pY29ufHxGMCgpOm51bGwsVi50eXBlIT09ImxvYWRpbmciP1IwOm51bGwpOm51bGwsZy5jcmVhdGVFbGVtZW50KCJkaXYiLHsiZGF0YS1jb250ZW50IjoiIixjbGFzc05hbWU6dTAodj09bnVsbD92b2lkIDA6di5jb250ZW50LFY9PW51bGw/dm9pZCAwOihZPVYuY2xhc3NOYW1lcyk9PW51bGw/dm9pZCAwOlkuY29udGVudCl9LGcuY3JlYXRlRWxlbWVudCgiZGl2Iix7ImRhdGEtdGl0bGUiOiIiLGNsYXNzTmFtZTp1MCh2PT1udWxsP3ZvaWQgMDp2LnRpdGxlLFY9PW51bGw/dm9pZCAwOihxPVYuY2xhc3NOYW1lcyk9PW51bGw/dm9pZCAwOnEudGl0bGUpfSxWLmpzeD9WLmpzeDp0eXBlb2YgVi50aXRsZT09PSJmdW5jdGlvbiI/Vi50aXRsZSgpOlYudGl0bGUpLFYuZGVzY3JpcHRpb24/Zy5jcmVhdGVFbGVtZW50KCJkaXYiLHsiZGF0YS1kZXNjcmlwdGlvbiI6IiIsY2xhc3NOYW1lOnUwKHIsUzEsdj09bnVsbD92b2lkIDA6di5kZXNjcmlwdGlvbixWPT1udWxsP3ZvaWQgMDooRz1WLmNsYXNzTmFtZXMpPT1udWxsP3ZvaWQgMDpHLmRlc2NyaXB0aW9uKX0sdHlwZW9mIFYuZGVzY3JpcHRpb249PT0iZnVuY3Rpb24iP1YuZGVzY3JpcHRpb24oKTpWLmRlc2NyaXB0aW9uKTpudWxsKSxnLmlzVmFsaWRFbGVtZW50KFYuY2FuY2VsKT9WLmNhbmNlbDpWLmNhbmNlbCYmSTMoVi5jYW5jZWwpP2cuY3JlYXRlRWxlbWVudCgiYnV0dG9uIix7ImRhdGEtYnV0dG9uIjohMCwiZGF0YS1jYW5jZWwiOiEwLHN0eWxlOlYuY2FuY2VsQnV0dG9uU3R5bGV8fGosb25DbGljazooVCk9PntpZighSTMoVi5jYW5jZWwpKXJldHVybjtpZighQTEpcmV0dXJuO1YuY2FuY2VsLm9uQ2xpY2s9PW51bGx8fFYuY2FuY2VsLm9uQ2xpY2suY2FsbChWLmNhbmNlbCxUKSx3MSgpfSxjbGFzc05hbWU6dTAodj09bnVsbD92b2lkIDA6di5jYW5jZWxCdXR0b24sVj09bnVsbD92b2lkIDA6KEI9Vi5jbGFzc05hbWVzKT09bnVsbD92b2lkIDA6Qi5jYW5jZWxCdXR0b24pfSxWLmNhbmNlbC5sYWJlbCk6bnVsbCxnLmlzVmFsaWRFbGVtZW50KFYuYWN0aW9uKT9WLmFjdGlvbjpWLmFjdGlvbiYmSTMoVi5hY3Rpb24pP2cuY3JlYXRlRWxlbWVudCgiYnV0dG9uIix7ImRhdGEtYnV0dG9uIjohMCwiZGF0YS1hY3Rpb24iOiEwLHN0eWxlOlYuYWN0aW9uQnV0dG9uU3R5bGV8fG0sb25DbGljazooVCk9PntpZighSTMoVi5hY3Rpb24pKXJldHVybjtpZihWLmFjdGlvbi5vbkNsaWNrPT1udWxsfHxWLmFjdGlvbi5vbkNsaWNrLmNhbGwoVi5hY3Rpb24sVCksVC5kZWZhdWx0UHJldmVudGVkKXJldHVybjt3MSgpfSxjbGFzc05hbWU6dTAodj09bnVsbD92b2lkIDA6di5hY3Rpb25CdXR0b24sVj09bnVsbD92b2lkIDA6KE49Vi5jbGFzc05hbWVzKT09bnVsbD92b2lkIDA6Ti5hY3Rpb25CdXR0b24pfSxWLmFjdGlvbi5sYWJlbCk6bnVsbCl9O2Z1bmN0aW9uIHo3KCl7aWYodHlwZW9mIHdpbmRvdz4idSIpcmV0dXJuImx0ciI7aWYodHlwZW9mIGRvY3VtZW50PiJ1IilyZXR1cm4ibHRyIjtsZXQgJD1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCJkaXIiKTtpZigkPT09ImF1dG8ifHwhJClyZXR1cm4gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5kaXJlY3Rpb247cmV0dXJuICR9ZnVuY3Rpb24gTlgoJCxKKXtsZXQgUT17fTtyZXR1cm5bJCxKXS5mb3JFYWNoKChaLEspPT57bGV0IFk9Sz09PTEscT1ZPyItLW1vYmlsZS1vZmZzZXQiOiItLW9mZnNldCIsRz1ZP1hYOlpYO2Z1bmN0aW9uIEIoTil7WyJ0b3AiLCJyaWdodCIsImJvdHRvbSIsImxlZnQiXS5mb3JFYWNoKChMKT0+e1FbYCR7cX0tJHtMfWBdPXR5cGVvZiBOPT09Im51bWJlciI/YCR7Tn1weGA6Tn0pfWlmKHR5cGVvZiBaPT09Im51bWJlciJ8fHR5cGVvZiBaPT09InN0cmluZyIpQihaKTtlbHNlIGlmKHR5cGVvZiBaPT09Im9iamVjdCIpWyJ0b3AiLCJyaWdodCIsImJvdHRvbSIsImxlZnQiXS5mb3JFYWNoKChOKT0+e2lmKFpbTl09PT12b2lkIDApUVtgJHtxfS0ke059YF09RztlbHNlIFFbYCR7cX0tJHtOfWBdPXR5cGVvZiBaW05dPT09Im51bWJlciI/YCR7WltOXX1weGA6WltOXX0pO2Vsc2UgQihHKX0pLFF9dmFyIEM3PWcuZm9yd2FyZFJlZihmdW5jdGlvbihKLFEpe2xldHtpZDpaLGludmVydDpLLHBvc2l0aW9uOlk9ImJvdHRvbS1yaWdodCIsaG90a2V5OnE9WyJhbHRLZXkiLCJLZXlUIl0sZXhwYW5kOkcsY2xvc2VCdXR0b246QixjbGFzc05hbWU6TixvZmZzZXQ6TCxtb2JpbGVPZmZzZXQ6Vix0aGVtZTp6PSJsaWdodCIscmljaENvbG9yczpDLGR1cmF0aW9uOk0sc3R5bGU6VSx2aXNpYmxlVG9hc3RzOkg9UVgsdG9hc3RPcHRpb25zOk8sZGlyOms9ejcoKSxnYXA6dz1ZWCxpY29uczpQLGNvbnRhaW5lckFyaWFMYWJlbDp4PSJOb3RpZmljYXRpb25zIn09SixbRixjXT1nLnVzZVN0YXRlKFtdKSxqPWcudXNlTWVtbygoKT0+e2lmKFopcmV0dXJuIEYuZmlsdGVyKChSKT0+Ui50b2FzdGVySWQ9PT1aKTtyZXR1cm4gRi5maWx0ZXIoKFIpPT4hUi50b2FzdGVySWQpfSxbRixaXSksbT1nLnVzZU1lbW8oKCk9PntyZXR1cm4gQXJyYXkuZnJvbShuZXcgU2V0KFtZXS5jb25jYXQoai5maWx0ZXIoKFIpPT5SLnBvc2l0aW9uKS5tYXAoKFIpPT5SLnBvc2l0aW9uKSkpKX0sW2osWV0pLFtzLHJdPWcudXNlU3RhdGUoW10pLFtpLFoxXT1nLnVzZVN0YXRlKCExKSxbaCxLMV09Zy51c2VTdGF0ZSghMSksW3YsejFdPWcudXNlU3RhdGUoeiE9PSJzeXN0ZW0iP3o6dHlwZW9mIHdpbmRvdzwidSI/d2luZG93Lm1hdGNoTWVkaWEmJndpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIikubWF0Y2hlcz8iZGFyayI6ImxpZ2h0IjoibGlnaHQiKSxIMT1nLnVzZVJlZihudWxsKSxWMT1xLmpvaW4oIisiKS5yZXBsYWNlKC9LZXkvZywiIikucmVwbGFjZSgvRGlnaXQvZywiIiksZT1nLnVzZVJlZihudWxsKSxhPWcudXNlUmVmKCExKSxZMT1nLnVzZUNhbGxiYWNrKChSKT0+e2MoKHUpPT57dmFyIHA7aWYoISgocD11LmZpbmQoKFMpPT5TLmlkPT09Ui5pZCkpPT1udWxsP3ZvaWQgMDpwLmRlbGV0ZSkpQTAuZGlzbWlzcyhSLmlkKTtyZXR1cm4gdS5maWx0ZXIoKHtpZDpTfSk9PlMhPT1SLmlkKX0pfSxbXSk7cmV0dXJuIGcudXNlRWZmZWN0KCgpPT57cmV0dXJuIEEwLnN1YnNjcmliZSgoUik9PntpZihSLmRpc21pc3Mpe3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2MoKHUpPT51Lm1hcCgocCk9PnAuaWQ9PT1SLmlkP3suLi5wLGRlbGV0ZTohMH06cCkpfSk7cmV0dXJufXNldFRpbWVvdXQoKCk9PntnLmZsdXNoU3luYygoKT0+e2MoKHUpPT57bGV0IHA9dS5maW5kSW5kZXgoKFMpPT5TLmlkPT09Ui5pZCk7aWYocCE9PS0xKXJldHVyblsuLi51LnNsaWNlKDAscCksey4uLnVbcF0sLi4uUn0sLi4udS5zbGljZShwKzEpXTtyZXR1cm5bUiwuLi51XX0pfSl9KX0pfSxbRl0pLGcudXNlRWZmZWN0KCgpPT57aWYoeiE9PSJzeXN0ZW0iKXt6MSh6KTtyZXR1cm59aWYoej09PSJzeXN0ZW0iKWlmKHdpbmRvdy5tYXRjaE1lZGlhJiZ3aW5kb3cubWF0Y2hNZWRpYSgiKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSIpLm1hdGNoZXMpejEoImRhcmsiKTtlbHNlIHoxKCJsaWdodCIpO2lmKHR5cGVvZiB3aW5kb3c+InUiKXJldHVybjtsZXQgUj13aW5kb3cubWF0Y2hNZWRpYSgiKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSIpO3RyeXtSLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsKHttYXRjaGVzOnV9KT0+e2lmKHUpejEoImRhcmsiKTtlbHNlIHoxKCJsaWdodCIpfSl9Y2F0Y2godSl7Ui5hZGRMaXN0ZW5lcigoe21hdGNoZXM6cH0pPT57dHJ5e2lmKHApejEoImRhcmsiKTtlbHNlIHoxKCJsaWdodCIpfWNhdGNoKFMpe2NvbnNvbGUuZXJyb3IoUyl9fSl9fSxbel0pLGcudXNlRWZmZWN0KCgpPT57aWYoRi5sZW5ndGg8PTEpWjEoITEpfSxbRl0pLGcudXNlRWZmZWN0KCgpPT57bGV0IFI9KHUpPT57dmFyIHA7aWYocS5ldmVyeSgobCk9PnVbbF18fHUuY29kZT09PWwpKXt2YXIgbztaMSghMCksKG89SDEuY3VycmVudCk9PW51bGx8fG8uZm9jdXMoKX1pZih1LmNvZGU9PT0iRXNjYXBlIiYmKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1IMS5jdXJyZW50fHwoKHA9SDEuY3VycmVudCk9PW51bGw/dm9pZCAwOnAuY29udGFpbnMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkpKSlaMSghMSl9O3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixSKSwoKT0+ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsUil9LFtxXSksZy51c2VFZmZlY3QoKCk9PntpZihIMS5jdXJyZW50KXJldHVybigpPT57aWYoZS5jdXJyZW50KWUuY3VycmVudC5mb2N1cyh7cHJldmVudFNjcm9sbDohMH0pLGUuY3VycmVudD1udWxsLGEuY3VycmVudD0hMX19LFtIMS5jdXJyZW50XSksZy5jcmVhdGVFbGVtZW50KCJzZWN0aW9uIix7cmVmOlEsImFyaWEtbGFiZWwiOmAke3h9ICR7VjF9YCx0YWJJbmRleDotMSwiYXJpYS1saXZlIjoicG9saXRlIiwiYXJpYS1yZWxldmFudCI6ImFkZGl0aW9ucyB0ZXh0IiwiYXJpYS1hdG9taWMiOiJmYWxzZSIsc3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nOiEwfSxtLm1hcCgoUix1KT0+e3ZhciBwO2xldFtTLG9dPVIuc3BsaXQoIi0iKTtpZighai5sZW5ndGgpcmV0dXJuIG51bGw7cmV0dXJuIGcuY3JlYXRlRWxlbWVudCgib2wiLHtrZXk6UixkaXI6az09PSJhdXRvIj96NygpOmssdGFiSW5kZXg6LTEscmVmOkgxLGNsYXNzTmFtZTpOLCJkYXRhLXNvbm5lci10b2FzdGVyIjohMCwiZGF0YS1zb25uZXItdGhlbWUiOnYsImRhdGEteS1wb3NpdGlvbiI6UywiZGF0YS14LXBvc2l0aW9uIjpvLHN0eWxlOnsiLS1mcm9udC10b2FzdC1oZWlnaHQiOmAkeygocD1zWzBdKT09bnVsbD92b2lkIDA6cC5oZWlnaHQpfHwwfXB4YCwiLS13aWR0aCI6YCR7S1h9cHhgLCItLWdhcCI6YCR7d31weGAsLi4uVSwuLi5OWChMLFYpfSxvbkJsdXI6KGwpPT57aWYoYS5jdXJyZW50JiYhbC5jdXJyZW50VGFyZ2V0LmNvbnRhaW5zKGwucmVsYXRlZFRhcmdldCkpe2lmKGEuY3VycmVudD0hMSxlLmN1cnJlbnQpZS5jdXJyZW50LmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSksZS5jdXJyZW50PW51bGx9fSxvbkZvY3VzOihsKT0+e2lmKGwudGFyZ2V0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJmwudGFyZ2V0LmRhdGFzZXQuZGlzbWlzc2libGU9PT0iZmFsc2UiKXJldHVybjtpZighYS5jdXJyZW50KWEuY3VycmVudD0hMCxlLmN1cnJlbnQ9bC5yZWxhdGVkVGFyZ2V0fSxvbk1vdXNlRW50ZXI6KCk9PloxKCEwKSxvbk1vdXNlTW92ZTooKT0+WjEoITApLG9uTW91c2VMZWF2ZTooKT0+e2lmKCFoKVoxKCExKX0sb25EcmFnRW5kOigpPT5aMSghMSksb25Qb2ludGVyRG93bjoobCk9PntpZihsLnRhcmdldCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZsLnRhcmdldC5kYXRhc2V0LmRpc21pc3NpYmxlPT09ImZhbHNlIilyZXR1cm47SzEoITApfSxvblBvaW50ZXJVcDooKT0+SzEoITEpfSxqLmZpbHRlcigobCk9PiFsLnBvc2l0aW9uJiZ1PT09MHx8bC5wb3NpdGlvbj09PVIpLm1hcCgobCxXMSk9Pnt2YXIgRDEseTE7cmV0dXJuIGcuY3JlYXRlRWxlbWVudChCWCx7a2V5OmwuaWQsaWNvbnM6UCxpbmRleDpXMSx0b2FzdDpsLGRlZmF1bHRSaWNoQ29sb3JzOkMsZHVyYXRpb246KEQxPU89PW51bGw/dm9pZCAwOk8uZHVyYXRpb24pIT1udWxsP0QxOk0sY2xhc3NOYW1lOk89PW51bGw/dm9pZCAwOk8uY2xhc3NOYW1lLGRlc2NyaXB0aW9uQ2xhc3NOYW1lOk89PW51bGw/dm9pZCAwOk8uZGVzY3JpcHRpb25DbGFzc05hbWUsaW52ZXJ0OkssdmlzaWJsZVRvYXN0czpILGNsb3NlQnV0dG9uOih5MT1PPT1udWxsP3ZvaWQgMDpPLmNsb3NlQnV0dG9uKSE9bnVsbD95MTpCLGludGVyYWN0aW5nOmgscG9zaXRpb246UixzdHlsZTpPPT1udWxsP3ZvaWQgMDpPLnN0eWxlLHVuc3R5bGVkOk89PW51bGw/dm9pZCAwOk8udW5zdHlsZWQsY2xhc3NOYW1lczpPPT1udWxsP3ZvaWQgMDpPLmNsYXNzTmFtZXMsY2FuY2VsQnV0dG9uU3R5bGU6Tz09bnVsbD92b2lkIDA6Ty5jYW5jZWxCdXR0b25TdHlsZSxhY3Rpb25CdXR0b25TdHlsZTpPPT1udWxsP3ZvaWQgMDpPLmFjdGlvbkJ1dHRvblN0eWxlLGNsb3NlQnV0dG9uQXJpYUxhYmVsOk89PW51bGw/dm9pZCAwOk8uY2xvc2VCdXR0b25BcmlhTGFiZWwscmVtb3ZlVG9hc3Q6WTEsdG9hc3RzOmouZmlsdGVyKChPMSk9Pk8xLnBvc2l0aW9uPT1sLnBvc2l0aW9uKSxoZWlnaHRzOnMuZmlsdGVyKChPMSk9Pk8xLnBvc2l0aW9uPT1sLnBvc2l0aW9uKSxzZXRIZWlnaHRzOnIsZXhwYW5kQnlEZWZhdWx0OkcsZ2FwOncsZXhwYW5kZWQ6aSxzd2lwZURpcmVjdGlvbnM6Si5zd2lwZURpcmVjdGlvbnN9KX0pKX0pKX0pO2Z1bmN0aW9uIEg3KCl7cmV0dXJuIFgoQzcse3RoZW1lOiJkYXJrIixwb3NpdGlvbjoiYm90dG9tLWNlbnRlciIsdmlzaWJsZVRvYXN0czo0LGdhcDo4LG9mZnNldDp7Ym90dG9tOjI0fSx0b2FzdE9wdGlvbnM6e3Vuc3R5bGVkOiEwfSxzdHlsZTp7ekluZGV4OjIxNDc0ODM2NDd9LGNvbnRhaW5lckFyaWFMYWJlbDoic2VydmUtc2ltIG5vdGlmaWNhdGlvbnMifSl9ZnVuY3Rpb24gTzcoe3RvYXN0OiR9KXtsZXQgSj0kLnN0YXR1cz09PSJlcnJvciIsUT0kLnN0YXR1cz09PSJ1cGxvYWRpbmciLFo9USYmJC5wcm9ncmVzcyE9PW51bGwsSz0kLnByb2dyZXNzIT1udWxsP01hdGgucm91bmQoJC5wcm9ncmVzcyoxMDApOjA7cmV0dXJuIFgoImRpdiIseyJkYXRhLXRlc3RpZCI6InVwbG9hZC10b2FzdCIsY2xhc3NOYW1lOmBmbGV4IHctW21pbigzMjBweCxjYWxjKDEwMHZ3LTMycHgpKV0gZmxleC1jb2wgZ2FwLTEuNSBweC0zIHB5LTIgYmctcGFuZWwgYm9yZGVyIGJvcmRlci13aGl0ZS8xMiByb3VuZGVkLWxnIHRleHQtd2hpdGUvOTAgdGV4dC1bMTJweF0gZm9udC1tb25vIHNoYWRvdy1bMF84cHhfMjRweF9yZ2JhKDAsMCwwLDAuNDUpXSAke0o/InNlbGVjdC10ZXh0IGN1cnNvci10ZXh0Ijoic2VsZWN0LW5vbmUgY3Vyc29yLWRlZmF1bHQifWAsY2hpbGRyZW46W1goImRpdiIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgbWluLXctMCIsY2hpbGRyZW46W1goInNwYW4iLHtjbGFzc05hbWU6InNpemUtMS41IHJvdW5kZWQtZnVsbCBzaHJpbmstMCBbdHJhbnNpdGlvbjpiYWNrZ3JvdW5kXzAuM3NdIixzdHlsZTp7YmFja2dyb3VuZDpRPyIjYTViNGZjIjokLnN0YXR1cz09PSJzdWNjZXNzIj8iIzRhZGU4MCI6IiNmODcxNzEifX0pLFgoInNwYW4iLHtjbGFzc05hbWU6ImZsZXgtMSBvdmVyZmxvdy1oaWRkZW4gdGV4dC1lbGxpcHNpcyB3aGl0ZXNwYWNlLW5vd3JhcCIsY2hpbGRyZW46W1EmJlomJmBVcGxvYWRpbmcgJHskLm5hbWV94oCmICR7S30lYCxRJiYhWiYmKCQua2luZD09PSJpcGEiP2BJbnN0YWxsaW5nICR7JC5uYW1lfeKApmA6YEFkZGluZyAkeyQubmFtZX3igKZgKSwkLnN0YXR1cz09PSJzdWNjZXNzIiYmKCQua2luZD09PSJpcGEiP2BJbnN0YWxsZWQgJHskLm5hbWV9YDpgQWRkZWQgJHskLm5hbWV9IHRvIFBob3Rvc2ApLEomJmAkeyQubmFtZX06ICR7JC5tZXNzYWdlPz8iVXBsb2FkIGZhaWxlZCJ9YF19KV19KSxRJiZYKCJkaXYiLHtjbGFzc05hbWU6InJlbGF0aXZlIGgtWzNweF0gdy1mdWxsIGJnLXdoaXRlLzggcm91bmRlZC1bMnB4XSBvdmVyZmxvdy1oaWRkZW4iLGNoaWxkcmVuOlo/WCgiZGl2Iix7Y2xhc3NOYW1lOiJoLWZ1bGwgYmctYWNjZW50IHJvdW5kZWQtWzJweF0gW3RyYW5zaXRpb246d2lkdGhfMTIwbXNfbGluZWFyXSIsc3R5bGU6e3dpZHRoOmAke0t9JWB9fSk6WCgiZGl2Iix7Y2xhc3NOYW1lOiJzZXJ2ZS1zaW0tdG9hc3QtaW5kZXRlcm1pbmF0ZSBhYnNvbHV0ZSB0b3AtMCBsZWZ0LTAgaC1mdWxsIHctWzQwJV0gYmctYWNjZW50IHJvdW5kZWQtWzJweF0ifSl9KV19KX1mdW5jdGlvbiBNNyh7d2lkdGg6JCxoZWlnaHQ6Six2aXNpYmxlOlF9KXtyZXR1cm4gWCgiZGl2Iix7ImFyaWEtaGlkZGVuIjoidHJ1ZSIsY2xhc3NOYW1lOiJhYnNvbHV0ZSByaWdodC0zIGJvdHRvbS0zIHotMjAgcG9pbnRlci1ldmVudHMtbm9uZSBzZWxlY3Qtbm9uZSByb3VuZGVkLWxnIHB4LTIuNSBweS0xIHRleHQtWzExLjVweF0gZm9udC1tb25vIGxlYWRpbmctbm9uZSB0cmFja2luZy13aWRlIHRleHQtd2hpdGUvOTUgYmctcGFuZWwtYmctdHJhbnNsdWNlbnQgc2hhZG93LVswXzFweF8ycHhfcmdiYSgwLDAsMCwwLjE4KSwwXzZweF8xOHB4X3JnYmEoMCwwLDAsMC4yOCksaW5zZXRfMF8wXzBfMXB4X3JnYmEoMjU1LDI1NSwyNTUsMC4wNildIGJhY2tkcm9wLWJsdXItbWQgYmFja2Ryb3Atc2F0dXJhdGUtMTUwIHdoaXRlc3BhY2Utbm93cmFwIixzdHlsZTp7b3BhY2l0eTpRPzE6MCx0cmFuc2Zvcm06YHRyYW5zbGF0ZVkoJHtRPzA6NH1weCkgc2NhbGUoJHtRPzE6MC45Nn0pYCx0cmFuc2Zvcm1PcmlnaW46IjEwMCUgMTAwJSIsdHJhbnNpdGlvbjoib3BhY2l0eSAxODBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpLCB0cmFuc2Zvcm0gMjIwbXMgY3ViaWMtYmV6aWVyKDAuMiwgMC44MiwgMC4yMiwgMSkifSxjaGlsZHJlbjpbTWF0aC5yb3VuZCgkKSwiICIsWCgic3BhbiIse2NsYXNzTmFtZToib3BhY2l0eS02MCBteC0wLjUiLGNoaWxkcmVuOiLDlyJ9KSwiICIsTWF0aC5yb3VuZChKKV19KX1mdW5jdGlvbiBBNyh7c3RyZWFtaW5nOiR9KXtsZXQgSj0kPyIjNGFkZTgwIjoiIzhlOGU5MyI7cmV0dXJuIFgoInNwYW4iLHsiZGF0YS10ZXN0aWQiOiJzdHJlYW0tc3RhdHVzLXBpbGwiLGNsYXNzTmFtZToiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGdhcC1bNXB4XSB0ZXh0LVsxMnB4XSBmb250LW1vbm8gZm9udC1tZWRpdW0gbGVhZGluZy1ub25lIHdoaXRlc3BhY2Utbm93cmFwIixzdHlsZTp7Y29sb3I6Sn0sImFyaWEtbGl2ZSI6InBvbGl0ZSIsY2hpbGRyZW46W1goInNwYW4iLHsiYXJpYS1oaWRkZW4iOiJ0cnVlIixjbGFzc05hbWU6InNpemUtMS41IHJvdW5kZWQtZnVsbCBbdHJhbnNpdGlvbjpiYWNrZ3JvdW5kXzAuMThzX2Vhc2VdIixzdHlsZTp7YmFja2dyb3VuZDpKfX0pLCQ/ImxpdmUiOiJjb25uZWN0aW5nIl19KX1mdW5jdGlvbiAkMCh7b3BlbjokLG9uT3BlbkNoYW5nZTpKLHN1bW1hcnk6USxjaGlsZHJlbjpaLHN1bW1hcnlDbGFzc05hbWU6Sz0iIixib2R5Q2xhc3NOYW1lOlk9ImZsZXggZmxleC1jb2wgZ2FwLTIuNSBwdC0yLjUiLGNsYXNzTmFtZTpxPSIiLC4uLkd9KXtyZXR1cm4gWCgiZGV0YWlscyIse29wZW46JCxvblRvZ2dsZTooQik9PkooQi5jdXJyZW50VGFyZ2V0Lm9wZW4pLGNsYXNzTmFtZTpgbGVtLXNlY3Rpb24gYmctcGFuZWwgcm91bmRlZC1bMTBweF0gcHgtMyBweS0yICR7cX1gLC4uLkcsY2hpbGRyZW46W1goInN1bW1hcnkiLHtjbGFzc05hbWU6YGxlbS10b2dnbGUgY3Vyc29yLXBvaW50ZXIgc2VsZWN0LW5vbmUgdGV4dC13aGl0ZS85MCBtaW4taC1bMzZweF0gbGVhZGluZy1ub25lIHB5LTIuNSBweC0xIC1teS0yIC1teC0xIHctW2NhbGMoMTAwJSs4cHgpXSAke0t9YCxjaGlsZHJlbjpbUSxYKEQ1LHtvcGVuOiR9KV19KSxYKCJkaXYiLHtjbGFzc05hbWU6WSxjaGlsZHJlbjpafSldfSl9ZnVuY3Rpb24gaDIoe2xhYmVsOiQsY2hlY2tlZDpKLGRpc2FibGVkOlE9ITEsb25DaGFuZ2U6Wn0pe3JldHVybiBYKCJidXR0b24iLHt0eXBlOiJidXR0b24iLHJvbGU6InN3aXRjaCIsImFyaWEtY2hlY2tlZCI6SiwiYXJpYS1sYWJlbCI6JCxkaXNhYmxlZDpRLG9uQ2xpY2s6KCk9PlooIUopLGNsYXNzTmFtZTpgcmVsYXRpdmUgaC1bMThweF0gdy04IHNocmluay0wIHJvdW5kZWQtZnVsbCBib3JkZXItbm9uZSBwLTAgW3RyYW5zaXRpb246YmFja2dyb3VuZF8wLjE1c10gJHtRPyJjdXJzb3ItZGVmYXVsdCBiZy13aGl0ZS8yMCI6Sj8iY3Vyc29yLXBvaW50ZXIgYmctWyMwYTg0ZmZdIjoiY3Vyc29yLXBvaW50ZXIgYmctd2hpdGUvMjAifWAsY2hpbGRyZW46WCgic3BhbiIse2NsYXNzTmFtZTpgYWJzb2x1dGUgdG9wLVsycHhdIHNpemUtWzE0cHhdIHJvdW5kZWQtZnVsbCBbdHJhbnNpdGlvbjpsZWZ0XzAuMTVzXSAke1E/ImJnLXdoaXRlLzUwIjoiYmctd2hpdGUifWAsc3R5bGU6e2xlZnQ6Sj8xNjoyfX0pfSl9ZnVuY3Rpb24gTFgoJCxKLFEpe2xldCBaPVEubGF0Kk1hdGguUEkvMTgwLEs9KCQtUS5sYXQpKk1hdGguUEkvMTgwO3JldHVybnt4OihKLVEubG5nKSpNYXRoLlBJLzE4MCpNYXRoLmNvcyhaKSo2MzcxMDAwLHo6LUsqNjM3MTAwMH19ZnVuY3Rpb24gelgoJCxKLFEpe2xldCBaPVEubGF0Kk1hdGguUEkvMTgwLEs9LUovNjM3MTAwMCooMTgwL01hdGguUEkpLFk9JC8oNjM3MTAwMCpNYXRoLmNvcyhaKSkqKDE4MC9NYXRoLlBJKTtyZXR1cm57bGF0OlEubGF0K0ssbG5nOlEubG5nK1l9fWZ1bmN0aW9uIFVYKCQsSixRLFosSyl7bGV0IFk9SypLLHE9WSpLLEc9KEIsTixMLFYpPT4wLjUqKDIqTisoLUIrTCkqSysoMipCLTUqTis0KkwtVikqWSsoLUIrMypOLTMqTCtWKSpxKTtyZXR1cm57eDpHKCQueCxKLngsUS54LFoueCksejpHKCQueixKLnosUS56LFoueikseTpHKCQueSxKLnksUS55LFoueSkscmF3QWx0OkcoJC5yYXdBbHQsSi5yYXdBbHQsUS5yYXdBbHQsWi5yYXdBbHQpfX1mdW5jdGlvbiBDWCgkLEosUSl7aWYoJC5sZW5ndGg8MilyZXR1cm4gJC5zbGljZSgpO2xldCBaPVtdLEs9JC5sZW5ndGgsWT1RP0s6Sy0xO2ZvcihsZXQgcT0wO3E8WTtxKyspe2xldCBHPSRbUT8ocS0xK0spJUs6TWF0aC5tYXgoMCxxLTEpXSxCPSRbcSVLXSxOPSRbKHErMSklS10sTD0kW1E/KHErMiklSzpNYXRoLm1pbihLLTEscSsyKV0sVj1OLngtQi54LHo9Ti56LUIueixDPU1hdGguaHlwb3QoVix6KSxNPU1hdGgubWF4KDIsTWF0aC5jZWlsKEMvSikpO2ZvcihsZXQgVT0wO1U8TTtVKyspe2xldCBIPVUvTTtaLnB1c2goVVgoRyxCLE4sTCxIKSl9fWlmKCFRKVoucHVzaCgkW0stMV0pO3JldHVybiBafWZ1bmN0aW9uIGs3KCQpe2lmKCQud2F5cG9pbnRzLmxlbmd0aDwyKXRocm93IEVycm9yKGBUcmFpbCAkeyQuaWR9IG5lZWRzIGF0IGxlYXN0IDIgd2F5cG9pbnRzYCk7bGV0IEo9e2xhdDokLndheXBvaW50cy5yZWR1Y2UoKFUsSCk9PlUrSC5sYXQsMCkvJC53YXlwb2ludHMubGVuZ3RoLGxuZzokLndheXBvaW50cy5yZWR1Y2UoKFUsSCk9PlUrSC5sbmcsMCkvJC53YXlwb2ludHMubGVuZ3RofSxRPSQud2F5cG9pbnRzLm1hcCgoVSk9PlUuYWx0Pz8wKSxaPU1hdGgubWluKC4uLlEpLEs9TWF0aC5tYXgoLi4uUSksWT0kLndheXBvaW50cy5tYXAoKFUpPT57bGV0e3g6SCx6Ok99PUxYKFUubGF0LFUubG5nLEopLGs9VS5hbHQ/PzA7cmV0dXJue3g6SCx6Ok8seTprLVoscmF3QWx0Omt9fSkscT1DWChZLDgsISEkLmxvb3ApLEc9W10sQj0wO2ZvcihsZXQgVT0wO1U8cS5sZW5ndGg7VSsrKXtsZXQgSD1xW1VdO2lmKFU+MCl7bGV0IFA9cVtVLTFdO0IrPU1hdGguaHlwb3QoSC54LVAueCxILnotUC56LEgueS1QLnkpfWxldHtsYXQ6Tyxsbmc6a309elgoSC54LEgueixKKSx3PU1hdGgubWF4KDAsSC55KTtHLnB1c2goe3g6SC54LHo6SC56LHk6dyxhcmM6QixsYXQ6Tyxsbmc6a30pfWxldCBOPTEvMCxMPS0xLzAsVj0xLzAsej0tMS8wLEM9MS8wLE09LTEvMDtmb3IobGV0IFUgb2YgRyl7aWYoVS54PE4pTj1VLng7aWYoVS54PkwpTD1VLng7aWYoVS56PFYpVj1VLno7aWYoVS56Pnopej1VLno7aWYoVS55PEMpQz1VLnk7aWYoVS55Pk0pTT1VLnl9cmV0dXJue3RyYWlsOiQsb3JpZ2luOkoscG9pbnRzOkcsdG90YWxEaXN0YW5jZTpHW0cubGVuZ3RoLTFdLmFyYyxib3VuZHM6e3g6W04sTF0seTpbQyxNXSx6OltWLHpdfSxyYXdNaW5BbHQ6WixyYXdNYXhBbHQ6S319ZnVuY3Rpb24gSDIoJCxKKXtsZXQgUT0kLnRvdGFsRGlzdGFuY2U7aWYoUT09PTApcmV0dXJuICQucG9pbnRzWzBdO2xldCBaPUo7aWYoJC50cmFpbC5sb29wKVo9KFolUStRKSVRO2Vsc2V7aWYoWjw9MClyZXR1cm4gJC5wb2ludHNbMF07aWYoWj49USlyZXR1cm4gJC5wb2ludHNbJC5wb2ludHMubGVuZ3RoLTFdfWxldCBLPTAsWT0kLnBvaW50cy5sZW5ndGgtMTt3aGlsZShLKzE8WSl7bGV0IEw9SytZPj4+MTtpZigkLnBvaW50c1tMXS5hcmM8PVopSz1MO2Vsc2UgWT1MfWxldCBxPSQucG9pbnRzW0tdLEc9JC5wb2ludHNbWV0sQj1HLmFyYy1xLmFyYyxOPUI9PT0wPzA6KFotcS5hcmMpL0I7cmV0dXJue3g6cS54KyhHLngtcS54KSpOLHo6cS56KyhHLnotcS56KSpOLHk6cS55KyhHLnktcS55KSpOLGFyYzpaLGxhdDpxLmxhdCsoRy5sYXQtcS5sYXQpKk4sbG5nOnEubG5nKyhHLmxuZy1xLmxuZykqTn19ZnVuY3Rpb24gbzgoJCl7c3dpdGNoKCQpe2Nhc2Uid2FsayI6cmV0dXJuIDEuNDtjYXNlInJ1biI6cmV0dXJuIDM7Y2FzZSJjeWNsZSI6cmV0dXJuIDUuNTtjYXNlImRyaXZlIjpyZXR1cm4gMTMuNH19dmFyIEhYPVt7bGF0OjM3LjMzMjcyLGxuZzotMTIyLjAwODMzLGFsdDo0OX0se2xhdDozNy4zMzMwOSxsbmc6LTEyMi4wMDczNSxhbHQ6NDh9LHtsYXQ6MzcuMzMzNzMsbG5nOi0xMjIuMDA2NjMsYWx0OjQ5fSx7bGF0OjM3LjMzNDU0LGxuZzotMTIyLjAwNjI3LGFsdDo0OX0se2xhdDozNy4zMzU0LGxuZzotMTIyLjAwNjMzLGFsdDo0OX0se2xhdDozNy4zMzYxOCxsbmc6LTEyMi4wMDY3OSxhbHQ6NDV9LHtsYXQ6MzcuMzM2NzUsbG5nOi0xMjIuMDA3NTksYWx0OjQ1fSx7bGF0OjM3LjMzNzA0LGxuZzotMTIyLjAwODYxLGFsdDo0Nn0se2xhdDozNy4zMzY5OCxsbmc6LTEyMi4wMDk2OSxhbHQ6NDh9LHtsYXQ6MzcuMzM2NjIsbG5nOi0xMjIuMDEwNjYsYWx0OjQ4fSx7bGF0OjM3LjMzNTk4LGxuZzotMTIyLjAxMTM4LGFsdDo0OX0se2xhdDozNy4zMzUxNyxsbmc6LTEyMi4wMTE3NCxhbHQ6NTB9LHtsYXQ6MzcuMzM0MzEsbG5nOi0xMjIuMDExNjksYWx0OjUwfSx7bGF0OjM3LjMzMzU0LGxuZzotMTIyLjAxMTIyLGFsdDo1MH0se2xhdDozNy4zMzI5Nixsbmc6LTEyMi4wMTA0MixhbHQ6NTF9LHtsYXQ6MzcuMzMyNjgsbG5nOi0xMjIuMDA5NCxhbHQ6NTB9XSxPWD1be2xhdDozNy44MzIxMixsbmc6LTEyMi40ODA2NSxhbHQ6MzB9LHtsYXQ6MzcuODI5MzcsbG5nOi0xMjIuNDc5NzQsYWx0OjMwfSx7bGF0OjM3LjgyNjQ5LGxuZzotMTIyLjQ3OTQsYWx0OjMwfSx7bGF0OjM3LjgyMzYyLGxuZzotMTIyLjQ3OTA3LGFsdDo0NX0se2xhdDozNy44MjA3NCxsbmc6LTEyMi40Nzg3MyxhbHQ6NTl9LHtsYXQ6MzcuODE3ODYsbG5nOi0xMjIuNDc4MzksYWx0OjY2fSx7bGF0OjM3LjgxNDk4LGxuZzotMTIyLjQ3ODA2LGFsdDo2Nn0se2xhdDozNy44MTIxMSxsbmc6LTEyMi40Nzc3MixhbHQ6NTh9LHtsYXQ6MzcuODA5MjMsbG5nOi0xMjIuNDc3MzQsYWx0OjQ0fSx7bGF0OjM3LjgwOTQ5LGxuZzotMTIyLjQ3NzMsYWx0OjQ1fSx7bGF0OjM3LjgxMjM2LGxuZzotMTIyLjQ3NzY1LGFsdDo1OX0se2xhdDozNy44MTUyNCxsbmc6LTEyMi40Nzc5OCxhbHQ6NjZ9LHtsYXQ6MzcuODE4MTIsbG5nOi0xMjIuNDc4MzIsYWx0OjY2fSx7bGF0OjM3LjgyMSxsbmc6LTEyMi40Nzg2NixhbHQ6NTh9LHtsYXQ6MzcuODIzODcsbG5nOi0xMjIuNDc5LGFsdDo0NH0se2xhdDozNy44MjY3NSxsbmc6LTEyMi40NzkzMyxhbHQ6MzB9LHtsYXQ6MzcuODI5NjMsbG5nOi0xMjIuNDc5NjcsYWx0OjMwfSx7bGF0OjM3LjgzMjMzLGxuZzotMTIyLjQ4MDcyLGFsdDozMH1dLE1YPVt7bGF0OjM3Ljg4NjY0LGxuZzotMTIyLjYyNTk5LGFsdDoxMjF9LHtsYXQ6MzcuODg4ODcsbG5nOi0xMjIuNjIzMzIsYWx0OjEzNX0se2xhdDozNy44OTExNSxsbmc6LTEyMi42MjE2LGFsdDoxNjR9LHtsYXQ6MzcuODkzNTMsbG5nOi0xMjIuNjE5MjEsYWx0OjE4MH0se2xhdDozNy44OTQ2Nixsbmc6LTEyMi42MTU3NyxhbHQ6MjIwfSx7bGF0OjM3Ljg5NjMxLGxuZzotMTIyLjYxMjY4LGFsdDoyNzN9LHtsYXQ6MzcuODk5MTcsbG5nOi0xMjIuNjEwOTgsYWx0OjMxM30se2xhdDozNy45MDE2Nixsbmc6LTEyMi42MDg1NSxhbHQ6MzQyfSx7bGF0OjM3LjkwMTk5LGxuZzotMTIyLjYwNjAxLGFsdDo0MDh9LHtsYXQ6MzcuOTAzMzksbG5nOi0xMjIuNjA0MDEsYWx0OjQ1MH0se2xhdDozNy45MDY2Mixsbmc6LTEyMi42MDI5MSxhbHQ6NDQwfSx7bGF0OjM3LjkwOTcxLGxuZzotMTIyLjYwMTczLGFsdDo0MzJ9LHtsYXQ6MzcuOTEyMTMsbG5nOi0xMjIuNjAwMDcsYWx0OjQzNn0se2xhdDozNy45MTQzOSxsbmc6LTEyMi41OTc4LGFsdDo0MTB9LHtsYXQ6MzcuOTEyODUsbG5nOi0xMjIuNTk1MDQsYWx0OjQyMn0se2xhdDozNy45MTI3NCxsbmc6LTEyMi41OTIwMixhbHQ6NDI1fSx7bGF0OjM3LjkxNSxsbmc6LTEyMi41OTAzMixhbHQ6NDEyfSx7bGF0OjM3LjkxNjM3LGxuZzotMTIyLjU4OTAzLGFsdDo0MDZ9LHtsYXQ6MzcuOTE0ODEsbG5nOi0xMjIuNTg1OTUsYWx0OjM4Mn0se2xhdDozNy45MTc0LGxuZzotMTIyLjU4Mzk4LGFsdDozNzJ9LHtsYXQ6MzcuOTE2NDIsbG5nOi0xMjIuNTgyMzYsYWx0OjM1Mn0se2xhdDozNy45MTQ4MSxsbmc6LTEyMi41ODAxMSxhbHQ6MzQyfV0sQVg9W3tsYXQ6NDAuNzgyMTYsbG5nOi03My45NjI1NCxhbHQ6Mzd9LHtsYXQ6NDAuNzgyMjEsbG5nOi03My45NjA5OCxhbHQ6MzZ9LHtsYXQ6NDAuNzgzMjgsbG5nOi03My45NjAxLGFsdDozNn0se2xhdDo0MC43ODQ0LGxuZzotNzMuOTU5MyxhbHQ6MzZ9LHtsYXQ6NDAuNzg1NSxsbmc6LTczLjk1ODQ4LGFsdDozNn0se2xhdDo0MC43ODY2NCxsbmc6LTczLjk1Nzc0LGFsdDozNn0se2xhdDo0MC43ODc5LGxuZzotNzMuOTU3NjQsYWx0OjM2fSx7bGF0OjQwLjc4ODk4LGxuZzotNzMuOTU3OTIsYWx0OjM2fSx7bGF0OjQwLjc4ODY4LGxuZzotNzMuOTU5NTEsYWx0OjM3fSx7bGF0OjQwLjc4ODk3LGxuZzotNzMuOTYxMTIsYWx0OjM2fSx7bGF0OjQwLjc4ODMzLGxuZzotNzMuOTYyNSxhbHQ6Mzd9LHtsYXQ6NDAuNzg4MjgsbG5nOi03My45NjQxNixhbHQ6Mzd9LHtsYXQ6NDAuNzg4MDUsbG5nOi03My45NjU3MyxhbHQ6MzZ9LHtsYXQ6NDAuNzg2OTEsbG5nOi03My45NjYzNixhbHQ6MzZ9LHtsYXQ6NDAuNzg1NjYsbG5nOi03My45NjY2NSxhbHQ6MzZ9LHtsYXQ6NDAuNzg0NTgsbG5nOi03My45NjYwOCxhbHQ6MzZ9LHtsYXQ6NDAuNzg0MDIsbG5nOi03My45NjQ1OSxhbHQ6MzZ9LHtsYXQ6NDAuNzgzMjIsbG5nOi03My45NjMzNCxhbHQ6Mzd9XSxrWD1be2xhdDozNy41OTY1OSxsbmc6LTEyMi41MDMxNixhbHQ6NH0se2xhdDozNy41OTU1NSxsbmc6LTEyMi41MDQyNCxhbHQ6NH0se2xhdDozNy41OTQ1Mixsbmc6LTEyMi41MDUzNCxhbHQ6NX0se2xhdDozNy41OTMyOSxsbmc6LTEyMi41MDU4OCxhbHQ6OX0se2xhdDozNy41OTIxMixsbmc6LTEyMi41MDUwOCxhbHQ6MjB9LHtsYXQ6MzcuNTkxLGxuZzotMTIyLjUwNDEzLGFsdDoyOX0se2xhdDozNy41ODk3NCxsbmc6LTEyMi41MDQxNixhbHQ6NDB9LHtsYXQ6MzcuNTg4Nyxsbmc6LTEyMi41MDUyNCxhbHQ6NTF9LHtsYXQ6MzcuNTg3NDUsbG5nOi0xMjIuNTA0OTYsYWx0OjYwfSx7bGF0OjM3LjU4NjI3LGxuZzotMTIyLjUwNDIyLGFsdDo3MX0se2xhdDozNy41ODUzOSxsbmc6LTEyMi41MDUzNCxhbHQ6ODJ9LHtsYXQ6MzcuNTg1MDUsbG5nOi0xMjIuNTA2OTgsYWx0OjkzfSx7bGF0OjM3LjU4NTM5LGxuZzotMTIyLjUwNTM0LGFsdDo4Mn0se2xhdDozNy41ODYyNyxsbmc6LTEyMi41MDQyMixhbHQ6NzF9LHtsYXQ6MzcuNTg3NDUsbG5nOi0xMjIuNTA0OTYsYWx0OjYwfSx7bGF0OjM3LjU4ODcsbG5nOi0xMjIuNTA1MjQsYWx0OjUxfSx7bGF0OjM3LjU4OTc0LGxuZzotMTIyLjUwNDE2LGFsdDo0MH0se2xhdDozNy41OTEsbG5nOi0xMjIuNTA0MTMsYWx0OjI5fSx7bGF0OjM3LjU5MjEyLGxuZzotMTIyLjUwNTA4LGFsdDoyMH0se2xhdDozNy41OTMyOSxsbmc6LTEyMi41MDU4OCxhbHQ6OX0se2xhdDozNy41OTQ1Mixsbmc6LTEyMi41MDUzNCxhbHQ6NX0se2xhdDozNy41OTU1NSxsbmc6LTEyMi41MDQyNCxhbHQ6NH1dLE8yPVt7aWQ6ImFwcGxlLXBhcmstbG9vcCIsbmFtZToiQXBwbGUgUGFyayBMb29wIixkZXNjcmlwdGlvbjoiQ3VwZXJ0aW5vIOKAoiBmbGF0IHJpbmcgcm9hZCIsbW9kZToid2FsayIsd2F5cG9pbnRzOkhYLGxvb3A6ITB9LHtpZDoiZ29sZGVuLWdhdGUiLG5hbWU6IkdvbGRlbiBHYXRlIENyb3NzaW5nIixkZXNjcmlwdGlvbjoiU2FuIEZyYW5jaXNjbyDigKIgYnJpZGdlIHJvdW5kLXRyaXAiLG1vZGU6InJ1biIsd2F5cG9pbnRzOk9YLGxvb3A6ITB9LHtpZDoidGFtLXJpZGdlIixuYW1lOiJNdC4gVGFtIFJpZGdlIixkZXNjcmlwdGlvbjoiU3RpbnNvbiBCZWFjaCDigKIgU3RlZXAgUmF2aW5lICsgTWF0dCBEYXZpcyBsb29wIixtb2RlOiJ3YWxrIix3YXlwb2ludHM6TVgsbG9vcDohMH0se2lkOiJjZW50cmFsLXBhcmsiLG5hbWU6IlJlc2Vydm9pciBMb29wIixkZXNjcmlwdGlvbjoiQ2VudHJhbCBQYXJrIOKAoiAyLjUga20iLG1vZGU6InJ1biIsd2F5cG9pbnRzOkFYLGxvb3A6ITB9LHtpZDoicGNoLXBhY2lmaWNhIixuYW1lOiJQYWNpZmljIENvYXN0IEh3eSIsZGVzY3JpcHRpb246IlBhY2lmaWNhIOKAoiBEZXZpbCdzIFNsaWRlIHJvdW5kLXRyaXAiLG1vZGU6ImRyaXZlIix3YXlwb2ludHM6a1gsbG9vcDohMH1dO2Z1bmN0aW9uIHczKHtsYWJlbDokLHZhbHVlOkosb3B0aW9uczpRLGRpc2FibGVkOlosb25DaGFuZ2U6SyxjbGFzc05hbWU6WX0pe2xldFtxLEddPUEoITEpLEI9RChudWxsKSxOPUQobnVsbCksW0wsVl09QShudWxsKSx6PSgpPT57bGV0IEg9Qi5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZighSClyZXR1cm47Vih7dG9wOkguYm90dG9tKzQsbGVmdDpILmxlZnQsbWluV2lkdGg6SC53aWR0aH0pfTtiMCgoKT0+e2lmKHEpeigpfSxbcV0pLGIwKCgpPT57aWYoIXF8fCFMKXJldHVybjtsZXQgSD1OLmN1cnJlbnQsTz1CLmN1cnJlbnQ/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKCFIfHwhTylyZXR1cm47bGV0IGs9OCx3PXdpbmRvdy5pbm5lcldpZHRoLUgub2Zmc2V0V2lkdGgtayxQPUwubGVmdD53P01hdGgubWF4KGssdyk6TC5sZWZ0LHg9Ty50b3AtSC5vZmZzZXRIZWlnaHQtNCxGPUwudG9wK0gub2Zmc2V0SGVpZ2h0PD13aW5kb3cuaW5uZXJIZWlnaHQtaz9MLnRvcDp4Pj1rP3g6TWF0aC5tYXgoayx3aW5kb3cuaW5uZXJIZWlnaHQtSC5vZmZzZXRIZWlnaHQtayk7aWYoRiE9PUwudG9wfHxQIT09TC5sZWZ0KVYoey4uLkwsdG9wOkYsbGVmdDpQfSl9LFtxLExdKSxFKCgpPT57aWYoIXEpcmV0dXJuO2xldCBIPSgpPT5HKCExKSxPPSh3KT0+e2xldCBQPXcudGFyZ2V0O2lmKCFOLmN1cnJlbnQ/LmNvbnRhaW5zKFApJiYhQi5jdXJyZW50Py5jb250YWlucyhQKSlIKCl9LGs9KHcpPT57aWYoIU4uY3VycmVudD8uY29udGFpbnMody50YXJnZXQpKXooKX07cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLE8pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLGssITApLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLEgpLCgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsTyksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsaywhMCksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsSCl9fSxbcV0pO2xldCBDPUQoITEpO0UoKCk9PntpZighcSl7Qy5jdXJyZW50PSExO3JldHVybn1pZighTHx8Qy5jdXJyZW50KXJldHVybjtsZXQgSD1OLmN1cnJlbnQ/LnF1ZXJ5U2VsZWN0b3JBbGwoIltyb2xlPW9wdGlvbl0iKTtpZighSD8ubGVuZ3RoKXJldHVybjtDLmN1cnJlbnQ9ITA7bGV0IE89US5maW5kSW5kZXgoKGspPT5rLnZhbHVlPT09Sik7SFtNYXRoLm1heChPLDApXT8uZm9jdXMoKX0sW3EsTCxRLEpdKTtsZXQgTT0oSCk9PntsZXQgTz1bLi4uTi5jdXJyZW50Py5xdWVyeVNlbGVjdG9yQWxsKCJbcm9sZT1vcHRpb25dIik/P1tdXSxrPU8uaW5kZXhPZihkb2N1bWVudC5hY3RpdmVFbGVtZW50KTtpZihILmtleT09PSJBcnJvd0Rvd24ifHxILmtleT09PSJBcnJvd1VwIil7SC5wcmV2ZW50RGVmYXVsdCgpO2xldCB3PUgua2V5PT09IkFycm93RG93biI/TWF0aC5taW4oaysxLE8ubGVuZ3RoLTEpOk1hdGgubWF4KGstMSwwKTtPW3ddPy5mb2N1cygpfWVsc2UgaWYoSC5rZXk9PT0iRXNjYXBlIilILnByZXZlbnREZWZhdWx0KCksRyghMSksQi5jdXJyZW50Py5mb2N1cygpfSxVPVEuZmluZCgoSCk9PkgudmFsdWU9PT1KKTtyZXR1cm4gWChYMSx7Y2hpbGRyZW46W1goImJ1dHRvbiIse3JlZjpCLHR5cGU6ImJ1dHRvbiIsImFyaWEtbGFiZWwiOiQsImFyaWEtaGFzcG9wdXAiOiJsaXN0Ym94IiwiYXJpYS1leHBhbmRlZCI6cSxkaXNhYmxlZDpaLG9uQ2xpY2s6KCk9PkcoKEgpPT4hSCksY2xhc3NOYW1lOmB0ZXh0LWxlZnQgZm9udC1baW5oZXJpdF0gY3Vyc29yLXBvaW50ZXIgZGlzYWJsZWQ6Y3Vyc29yLWRlZmF1bHQgJHtZPz8iIn1gLGNoaWxkcmVuOlgoInNwYW4iLHtjbGFzc05hbWU6ImJsb2NrIHRydW5jYXRlIixjaGlsZHJlbjpVPy5sYWJlbD8/Sn0pfSkscSYmTCYmQjgoWCgiZGl2Iix7cmVmOk4scm9sZToibGlzdGJveCIsImFyaWEtbGFiZWwiOiQsb25LZXlEb3duOk0sc3R5bGU6e3RvcDpMLnRvcCxsZWZ0OkwubGVmdCxtaW5XaWR0aDpMLm1pbldpZHRofSxjbGFzc05hbWU6ImZpeGVkIG1heC1oLTkwIG92ZXJmbG93LXktYXV0byBiZy1wYW5lbCBib3JkZXIgYm9yZGVyLXdoaXRlLzEyIHJvdW5kZWQtWzEwcHhdIHAtMSBzaGFkb3ctWzBfOHB4XzI0cHhfcmdiYSgwLDAsMCwwLjUpXSB0ZXh0LVsxMnB4XSB0ZXh0LXdoaXRlLzkwIHotNTAiLGNoaWxkcmVuOlEubWFwKChIKT0+WCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixyb2xlOiJvcHRpb24iLCJhcmlhLXNlbGVjdGVkIjpILnZhbHVlPT09SixvbkNsaWNrOigpPT57SyhILnZhbHVlKSxHKCExKSxCLmN1cnJlbnQ/LmZvY3VzKCl9LGNsYXNzTmFtZTpgYmxvY2sgdy1mdWxsIHRleHQtbGVmdCBmb250LVtpbmhlcml0XSBweC0yLjUgcHktMSByb3VuZGVkLW1kIGN1cnNvci1wb2ludGVyIHdoaXRlc3BhY2Utbm93cmFwIHRyYW5zaXRpb24tY29sb3JzIGhvdmVyOmJnLXdoaXRlLzggZm9jdXMtdmlzaWJsZTpiZy13aGl0ZS84IG91dGxpbmUtbm9uZSAke0gudmFsdWU9PT1KPyJ0ZXh0LWFjY2VudCI6IiJ9YCxjaGlsZHJlbjpILmxhYmVsfSxILnZhbHVlKSl9KSxkb2N1bWVudC5ib2R5KV19KX12YXIgRlg9NjUwLGk4PVsxLDIsNSwyMF0sRjc9MTAwMCxuOD17c3RhdHVzOiJpZGxlIixhcmM6MCxlbGFwc2VkTXM6MH07ZnVuY3Rpb24gRTcoe3VkaWQ6JH0pe2xldFtKLFFdPUEoITEpLFtaLEtdPUEoTzJbMF0uaWQpLFtZLHFdPUEoTzJbMF0ubW9kZSksW0csQl09QSgxKSxbTixMXT1BKG44KSxbVix6XT1BKG51bGwpLEM9YjEoKCk9Pk8yLmZpbmQoKGgpPT5oLmlkPT09Wik/P08yWzBdLFtaXSksTT1iMSgoKT0+azcoQyksW0NdKSxVPUQoMCksSD1EKCJpZGxlIiksTz1EKG84KFkpKkcpLGs9RCgwKSx3PUQoTSksUD1EKG51bGwpO0UoKCk9PntPLmN1cnJlbnQ9bzgoWSkqR30sW1ksR10pO2xldCB4PUQobnVsbCk7RSgoKT0+e2xldCBoPXcuY3VycmVudCxLMT1VLmN1cnJlbnQ7aWYody5jdXJyZW50PU0saCYmaCE9PU0peC5jdXJyZW50PV9YKGgsSzEsTSxwZXJmb3JtYW5jZS5ub3coKSk7VS5jdXJyZW50PTAsay5jdXJyZW50PTAsSC5jdXJyZW50PSJpZGxlIixQLmN1cnJlbnQ9bnVsbCxMKG44KX0sW01dKTtsZXQgRj1EKDApLGM9RChudWxsKSxqPUQobnVsbCk7RSgoKT0+e2xldCBoPTAsSzE9KHYpPT57bGV0IHoxPWMuY3VycmVudCxIMT16MT09bnVsbD8xNjpNYXRoLm1pbig2NCx2LXoxKTtpZihjLmN1cnJlbnQ9dixGLmN1cnJlbnQ9KEYuY3VycmVudCtIMSowLjAwMDEyKSUoTWF0aC5QSSoyKSxILmN1cnJlbnQ9PT0icGxheWluZyIpe2xldCBlPU8uY3VycmVudCpIMS8xMDAwO1UuY3VycmVudCs9ZSxrLmN1cnJlbnQrPUgxO2xldCBhPXcuY3VycmVudC50b3RhbERpc3RhbmNlO2lmKCF3LmN1cnJlbnQudHJhaWwubG9vcCYmVS5jdXJyZW50Pj1hKVUuY3VycmVudD1hLEguY3VycmVudD0icGF1c2VkIixMKHtzdGF0dXM6InBhdXNlZCIsYXJjOmEsZWxhcHNlZE1zOmsuY3VycmVudH0pfWxldCBWMT1qLmN1cnJlbnQ7aWYoVjEpe2xldCBlPXcuY3VycmVudCxhPW51bGwsWTE9eC5jdXJyZW50O2lmKFkxKXtsZXQgUj0odi1ZMS5zdGFydE1zKS9GWDtpZihSPj0xKXguY3VycmVudD1udWxsO2Vsc2V7bGV0IHU9RVgoUik7ZT1UWChZMSx1KSxhPXt4OlkxLnByZXZNYXJrZXIueCsoWTEubmV4dE1hcmtlci54LVkxLnByZXZNYXJrZXIueCkqdSx5OlkxLnByZXZNYXJrZXIueSsoWTEubmV4dE1hcmtlci55LVkxLnByZXZNYXJrZXIueSkqdSx6OlkxLnByZXZNYXJrZXIueisoWTEubmV4dE1hcmtlci56LVkxLnByZXZNYXJrZXIueikqdX19fUlYKFYxLGUsVS5jdXJyZW50LEYuY3VycmVudCx2LEguY3VycmVudD09PSJwbGF5aW5nIixhKX1oPXJlcXVlc3RBbmltYXRpb25GcmFtZShLMSl9O3JldHVybiBoPXJlcXVlc3RBbmltYXRpb25GcmFtZShLMSksKCk9PmNhbmNlbEFuaW1hdGlvbkZyYW1lKGgpfSxbXSksRSgoKT0+e2xldCBoPXNldEludGVydmFsKCgpPT57aWYoSC5jdXJyZW50PT09InBsYXlpbmciKUwoe3N0YXR1czoicGxheWluZyIsYXJjOlUuY3VycmVudCxlbGFwc2VkTXM6ay5jdXJyZW50fSl9LDI1MCk7cmV0dXJuKCk9PmNsZWFySW50ZXJ2YWwoaCl9LFtdKSxFKCgpPT57aWYoTi5zdGF0dXMhPT0icGxheWluZyIpcmV0dXJuO2xldCBoPSExLEsxPTAsdj1udWxsLHoxPWFzeW5jKCk9PntpZihofHx2KXJldHVybjtsZXQgVjE9RGF0ZS5ub3coKTtpZihWMS1LMTxGNylyZXR1cm47SzE9VjE7bGV0IGU9SDIody5jdXJyZW50LFUuY3VycmVudCk7dj1rMSgibG9jYXRpb24uc2V0Iix7dWRpZDokLGxhdDplLmxhdCxsbmc6ZS5sbmd9KS50aGVuKChhKT0+e2lmKGgpcmV0dXJuO2lmKGEuZXhpdENvZGUhPT0wKXooVDcoYS5zdGRlcnIpfHwic2ltY3RsIGxvY2F0aW9uIHNldCBmYWlsZWQiKTtlbHNlIHoobnVsbCl9KS5jYXRjaCgoYSk9PntpZighaCl6KGEgaW5zdGFuY2VvZiBFcnJvcj9hLm1lc3NhZ2U6U3RyaW5nKGEpKX0pLmZpbmFsbHkoKCk9Pnt2PW51bGx9KX07ejEoKTtsZXQgSDE9c2V0SW50ZXJ2YWwoejEsRjcpO3JldHVybigpPT57aD0hMCxjbGVhckludGVydmFsKEgxKX19LFtOLnN0YXR1cywkXSk7bGV0IG09SSgoKT0+e2lmKEguY3VycmVudD09PSJwbGF5aW5nIil7SC5jdXJyZW50PSJwYXVzZWQiLEwoKGgpPT4oey4uLmgsc3RhdHVzOiJwYXVzZWQifSkpO3JldHVybn1pZihVLmN1cnJlbnQ+PXcuY3VycmVudC50b3RhbERpc3RhbmNlJiYhdy5jdXJyZW50LnRyYWlsLmxvb3ApVS5jdXJyZW50PTAsay5jdXJyZW50PTA7aWYoUC5jdXJyZW50PT1udWxsKXtsZXQgaD1IMih3LmN1cnJlbnQsVS5jdXJyZW50KTtQLmN1cnJlbnQ9e2xhdDpoLmxhdCxsbmc6aC5sbmd9fUguY3VycmVudD0icGxheWluZyIsTCgoaCk9Pih7Li4uaCxzdGF0dXM6InBsYXlpbmciLGFyYzpVLmN1cnJlbnQsZWxhcHNlZE1zOmsuY3VycmVudH0pKX0sW10pLHM9SSgoKT0+e0guY3VycmVudD0iaWRsZSIsVS5jdXJyZW50PTAsay5jdXJyZW50PTAsTChuOCk7bGV0IGg9UC5jdXJyZW50O1AuY3VycmVudD1udWxsLCgoKT0+aD9rMSgibG9jYXRpb24uc2V0Iix7dWRpZDokLGxhdDpoLmxhdCxsbmc6aC5sbmd9KTprMSgibG9jYXRpb24uY2xlYXIiLHt1ZGlkOiR9KSkoKS50aGVuKCh2KT0+e2lmKHYuZXhpdENvZGUhPT0wKXooVDcodi5zdGRlcnIpfHxudWxsKTtlbHNlIHoobnVsbCl9KX0sWyRdKSxyPUkoKGgpPT57SyhoKTtsZXQgSzE9TzIuZmluZCgodik9PnYuaWQ9PT1oKTtpZihLMSlxKEsxLm1vZGUpfSxbXSk7RSgoKT0+KCk9PntpZihILmN1cnJlbnQ9PT0iaWRsZSIpcmV0dXJuO2xldCBoPVAuY3VycmVudDsoKCk9Pmg/azEoImxvY2F0aW9uLnNldCIse3VkaWQ6JCxsYXQ6aC5sYXQsbG5nOmgubG5nfSk6azEoImxvY2F0aW9uLmNsZWFyIix7dWRpZDokfSkpKCkuY2F0Y2goKCk9Pnt9KX0sWyRdKTtsZXQgaT1OLnN0YXR1cz09PSJwbGF5aW5nIixaMT1pP2Ake2E4KE4uYXJjKX0gwrcgJHtfNyhOLmVsYXBzZWRNcyl9YDphOChNLnRvdGFsRGlzdGFuY2UpO3JldHVybiBYKCQwLHtvcGVuOkosb25PcGVuQ2hhbmdlOlEsc3VtbWFyeUNsYXNzTmFtZToiZ3JpZCBbZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOmF1dG9fbWlubWF4KDAsMWZyKV9hdXRvXSBbY29udGFpbmVyLXR5cGU6aW5saW5lLXNpemVdIGl0ZW1zLWNlbnRlciBnYXAtMiB0ZXh0LWxlZnQiLHN1bW1hcnk6WChYMSx7Y2hpbGRyZW46W1goInNwYW4iLHtjbGFzc05hbWU6InRleHQtWzExcHhdIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZS81MCB1cHBlcmNhc2UgdHJhY2tpbmctWzAuMDhlbV0gbGVhZGluZy1ub25lIGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciIsY2hpbGRyZW46IkxvY2F0aW9uIn0pLEo/WCgic3BhbiIseyJkYXRhLWxvY2F0aW9uLXN0YXR1cyI6ITAsY2xhc3NOYW1lOiJtaW4tdy0wIHRleHQtWzExcHhdIHRleHQtd2hpdGUvNTUgZm9udC1tb25vIGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBnYXAtMS41IGp1c3RpZnktc2VsZi1lbmQgbGVhZGluZy1ub25lIHdoaXRlc3BhY2Utbm93cmFwIG92ZXJmbG93LWhpZGRlbiB0ZXh0LWVsbGlwc2lzIG1heC13LWZ1bGwiLGNoaWxkcmVuOltYKCJzcGFuIix7Y2xhc3NOYW1lOiJzaXplLTEuNSByb3VuZGVkLWZ1bGwgc2hyaW5rLTAgW3RyYW5zaXRpb246YmFja2dyb3VuZF8wLjJzLGJveC1zaGFkb3dfMC4yc10iLHN0eWxlOntiYWNrZ3JvdW5kOmk/IiM0YWRlODAiOk0udG90YWxEaXN0YW5jZT4wPyJyZ2JhKDI1NSwyNTUsMjU1LDAuMykiOiJ0cmFuc3BhcmVudCIsYm94U2hhZG93Omk/IjAgMCA2cHggcmdiYSg3NCwyMjIsMTI4LDAuNykiOiJub25lIn19KSxYKCJzcGFuIix7Y2xhc3NOYW1lOiJtaW4tdy0wIG92ZXJmbG93LWhpZGRlbiB0ZXh0LWVsbGlwc2lzIixjaGlsZHJlbjpaMX0pLCFpJiZYKCJzcGFuIix7ImRhdGEtbG9jYXRpb24tc3RhdHVzLXRvdGFsIjohMCxjbGFzc05hbWU6InNocmluay0wIixjaGlsZHJlbjoidG90YWwifSldfSk6WCgic3BhbiIse30pXX0pLGNoaWxkcmVuOltYKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggZmxleC1jb2wgZ2FwLTEiLGNoaWxkcmVuOltYKCJkaXYiLHtjbGFzc05hbWU6InJlbGF0aXZlIGJsb2NrIixjaGlsZHJlbjpbWCh3Myx7bGFiZWw6IlRyYWlsIix2YWx1ZTpaLG9uQ2hhbmdlOnIsb3B0aW9uczpPMi5tYXAoKGgpPT4oe3ZhbHVlOmguaWQsbGFiZWw6aC5uYW1lfSkpLGNsYXNzTmFtZToiYmctd2hpdGUvWzAuMDRdIGJvcmRlciBib3JkZXItd2hpdGUvOCByb3VuZGVkLW1kIHRleHQtd2hpdGUvOTAgdGV4dC1bMTJweF0gcHktMS41IHByLVsyNnB4XSBwbC0yIHctZnVsbCBbdHJhbnNpdGlvbjpiYWNrZ3JvdW5kXzAuMTJzLGJvcmRlci1jb2xvcl8wLjEyc10gaG92ZXI6Ymctd2hpdGUvWzAuMDddIGhvdmVyOmJvcmRlci1bcmdiYSgyNTUsMjU1LDI1NSwwLjE2KV0gZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOmJnLXdoaXRlL1swLjA4XSBmb2N1czpib3JkZXItW3JnYmEoMjU1LDI1NSwyNTUsMC4yNCldIn0pLFgoInNwYW4iLHtjbGFzc05hbWU6ImFic29sdXRlIHJpZ2h0LVs5cHhdIHRvcC0xLzIgLXRyYW5zbGF0ZS15LTEvMiBwb2ludGVyLWV2ZW50cy1ub25lIGZsZXggaXRlbXMtY2VudGVyIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIixjaGlsZHJlbjpYKEQ1LHtvcGVuOiExfSl9KV19KSxYKCJkaXYiLHtjbGFzc05hbWU6InRleHQtWzEwcHhdIHRleHQtd2hpdGUvNDUiLGNoaWxkcmVuOkMuZGVzY3JpcHRpb259KV19KSxYKCJkaXYiLHtjbGFzc05hbWU6InJlbGF0aXZlIHctZnVsbCByb3VuZGVkLVsxMHB4XSBvdmVyZmxvdy1oaWRkZW4gYmctWyMwYTBhMGNdIGJvcmRlciBib3JkZXItd2hpdGUvWzAuMDZdIFthc3BlY3QtcmF0aW86MTYvMTFdIixjaGlsZHJlbjpbWCgiY2FudmFzIix7cmVmOmosY2xhc3NOYW1lOiJ3LWZ1bGwgaC1mdWxsIGJsb2NrIn0pLFgoRFgse3ByZXBhcmVkOk19KV19KSxYKCJkaXYiLHtjbGFzc05hbWU6ImdyaWQgW2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnJfMWZyXzFmcl0gZ2FwLTEuNSIsY2hpbGRyZW46W1gocjgse2xhYmVsOiJEaXN0YW5jZSIsdmFsdWU6YTgoTi5hcmMpfSksWChyOCx7bGFiZWw6IlBhY2UiLHZhbHVlOmJYKE8uY3VycmVudCl9KSxYKHI4LHtsYWJlbDoiRWxhcHNlZCIsdmFsdWU6XzcoTi5lbGFwc2VkTXMpfSldfSksWCgiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGdhcC0xLjUiLGNoaWxkcmVuOltYKCJidXR0b24iLHt0eXBlOiJidXR0b24iLG9uQ2xpY2s6bSxjbGFzc05hbWU6YGZsZXgtMSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAtMS41IHB5LTIgcHgtMi41IGJvcmRlci1ub25lIHJvdW5kZWQtWzdweF0gdGV4dC1bMTJweF0gZm9udC1zZW1pYm9sZCBjdXJzb3ItcG9pbnRlciBmb250LVtpbmhlcml0XSAke2k/ImJnLXdoaXRlL1swLjE2XSB0ZXh0LXdoaXRlIGVuYWJsZWQ6aG92ZXI6Ymctd2hpdGUvWzAuMjJdIjoiYmctc3VjY2Vzcy1lbWVyYWxkIHRleHQtWyMwNjIwMThdIGVuYWJsZWQ6aG92ZXI6YnJpZ2h0bmVzcy1bMS4wOF0ifWAsImFyaWEtcHJlc3NlZCI6aSx0aXRsZTppPyJQYXVzZSI6IlBsYXkiLGNoaWxkcmVuOltpP1goYjgse30pOlgoXzUse30pLFgoInNwYW4iLHtjaGlsZHJlbjppPyJQYXVzZSI6IlBsYXkifSldfSksWCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixvbkNsaWNrOnMsY2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAtMS41IHB5LTIgcHgtMyBib3JkZXIgYm9yZGVyLXdoaXRlLzEyIHJvdW5kZWQtWzdweF0gdGV4dC1bMTJweF0gZm9udC1tZWRpdW0gYmctdHJhbnNwYXJlbnQgdGV4dC13aGl0ZS84NSBjdXJzb3ItcG9pbnRlciBmb250LVtpbmhlcml0XSBlbmFibGVkOmhvdmVyOmJnLXdoaXRlL1swLjA2XSBlbmFibGVkOmhvdmVyOmJvcmRlci13aGl0ZS8yMCBlbmFibGVkOmhvdmVyOnRleHQtd2hpdGUgZGlzYWJsZWQ6b3BhY2l0eS00MCBkaXNhYmxlZDpjdXJzb3Itbm90LWFsbG93ZWQiLGRpc2FibGVkOk4uc3RhdHVzPT09ImlkbGUiJiZOLmFyYz09PTAsdGl0bGU6IlN0b3AgYW5kIGNsZWFyIHNpbXVsYXRlZCBsb2NhdGlvbiIsY2hpbGRyZW46W1goUDUse30pLFgoInNwYW4iLHtjaGlsZHJlbjoiU3RvcCJ9KV19KV19KSxYKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggZmxleC1yb3cgaXRlbXMtc3RyZXRjaCBnYXAtMS41IixjaGlsZHJlbjpbWCgiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4LTEgbWluLXctMCIsY2hpbGRyZW46WChXWCx7YXJpYUxhYmVsOiJUcmFuc3BvcnQgbW9kZSIsdmFsdWU6WSxvbkNoYW5nZTooaCk9PnEoaCksb3B0aW9uczpbe3ZhbHVlOiJ3YWxrIixsYWJlbDoiV2FsayIsaWNvbjpYKFM4LHt9KX0se3ZhbHVlOiJydW4iLGxhYmVsOiJSdW4iLGljb246WCh4OCx7fSl9LHt2YWx1ZToiY3ljbGUiLGxhYmVsOiJDeWNsZSIsaWNvbjpYKGo4LHt9KX0se3ZhbHVlOiJkcml2ZSIsbGFiZWw6IkRyaXZlIixpY29uOlgodjgse30pfV19KX0pLFgoImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsb25DbGljazooKT0+e2xldCBoPWk4LmluZGV4T2YoRyksSzE9aThbKGgrMSklaTgubGVuZ3RoXTtCKEsxKX0sY2xhc3NOYW1lOmBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAtMSBweC0yLjUgYm9yZGVyIHJvdW5kZWQtWzdweF0gY3Vyc29yLXBvaW50ZXIgZm9udC1baW5oZXJpdF0gdGV4dC1bMTFweF0gZm9udC1zZW1pYm9sZCBtaW4tdy1bNTZweF0gYWN0aXZlOnNjYWxlLVswLjk3XSAke0c+MT8iYmctd2hpdGUgYm9yZGVyLXdoaXRlIHRleHQtWyMwYTBhMGNdIGhvdmVyOmJnLXdoaXRlL1swLjg4XSBob3Zlcjpib3JkZXItd2hpdGUvWzAuODhdIGhvdmVyOnRleHQtWyMwYTBhMGNdIjoiYmctd2hpdGUvWzAuMDRdIGJvcmRlci13aGl0ZS84IHRleHQtd2hpdGUvODUgaG92ZXI6Ymctd2hpdGUvWzAuMDldIGhvdmVyOmJvcmRlci1bcmdiYSgyNTUsMjU1LDI1NSwwLjE4KV0gaG92ZXI6dGV4dC13aGl0ZSJ9YCwiYXJpYS1sYWJlbCI6YFNwZWVkICR7R33DlyDigJQgdGFwIHRvIGN5Y2xlYCx0aXRsZTpgU3BlZWQgJHtHfcOXIOKAlCB0YXAgdG8gY3ljbGVgLGNoaWxkcmVuOltYKHk4LHt9KSxHPjEmJlgoInNwYW4iLHtjbGFzc05hbWU6ImZvbnQtbW9ubyBbZm9udC12YXJpYW50LW51bWVyaWM6dGFidWxhci1udW1zXSIsY2hpbGRyZW46W0csIsOXIl19KV19KV19KSxWJiZYKCJkaXYiLHtjbGFzc05hbWU6ImJnLWRhbmdlci8xMCBib3JkZXIgYm9yZGVyLWRhbmdlci8yMCB0ZXh0LWRhbmdlci1zb2Z0IHRleHQtWzExcHhdIHB4LTIgcHktMS41IHJvdW5kZWQtbWQiLGNoaWxkcmVuOlZ9KV19KX12YXIgcjg9VjIoZnVuY3Rpb24oe2xhYmVsOkosdmFsdWU6UX0pe3JldHVybiBYKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggZmxleC1jb2wgZ2FwLTAuNSBiZy13aGl0ZS9bMC4wM10gYm9yZGVyIGJvcmRlci13aGl0ZS9bMC4wNl0gcm91bmRlZC1tZCBweS1bNXB4XSBweC1bN3B4XSBtaW4tdy0wIixjaGlsZHJlbjpbWCgiZGl2Iix7Y2xhc3NOYW1lOiJ0ZXh0LVs5cHhdIHVwcGVyY2FzZSB0cmFja2luZy1bMC4wNmVtXSB0ZXh0LXdoaXRlLzQ1IixjaGlsZHJlbjpKfSksWCgiZGl2Iix7Y2xhc3NOYW1lOiJ0ZXh0LVsxMnB4XSBmb250LW1vbm8gdGV4dC13aGl0ZSBvdmVyZmxvdy1oaWRkZW4gdGV4dC1lbGxpcHNpcyB3aGl0ZXNwYWNlLW5vd3JhcCIsY2hpbGRyZW46UX0pXX0pfSk7ZnVuY3Rpb24gV1goe3ZhbHVlOiQsb25DaGFuZ2U6SixvcHRpb25zOlEsYXJpYUxhYmVsOlp9KXtyZXR1cm4gWCgiZGl2Iix7cm9sZToiZ3JvdXAiLCJhcmlhLWxhYmVsIjpaLGNsYXNzTmFtZToiZmxleCBiZy13aGl0ZS9bMC4wNF0gYm9yZGVyIGJvcmRlci13aGl0ZS84IHJvdW5kZWQtWzdweF0gcC0wLjUgZ2FwLTAuNSIsY2hpbGRyZW46US5tYXAoKEspPT57bGV0IFk9Sy52YWx1ZT09PSQ7cmV0dXJuIFgoImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsb25DbGljazooKT0+SihLLnZhbHVlKSxjbGFzc05hbWU6YGZsZXgtMSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBib3JkZXItbm9uZSByb3VuZGVkLVs1cHhdIHB5LVs1cHhdIHB4LTIgdGV4dC1bMTFweF0gZm9udC1tZWRpdW0gY3Vyc29yLXBvaW50ZXIgZm9udC1baW5oZXJpdF0gW3RyYW5zaXRpb246YmFja2dyb3VuZF8wLjEycyxjb2xvcl8wLjEyc10gbWluLWgtWzIycHhdICR7WT8iYmctd2hpdGUvWzAuMTJdIHRleHQtd2hpdGUiOiJiZy10cmFuc3BhcmVudCB0ZXh0LXdoaXRlLzYwIGhvdmVyOmJnLXdoaXRlL1swLjA1XSBob3Zlcjp0ZXh0LXdoaXRlLzkwIn1gLCJhcmlhLXByZXNzZWQiOlksImFyaWEtbGFiZWwiOksuaWNvbj9LLmxhYmVsOnZvaWQgMCx0aXRsZTpLLmljb24/Sy5sYWJlbDp2b2lkIDAsY2hpbGRyZW46Sy5pY29uPz9LLmxhYmVsfSxLLnZhbHVlKX0pfSl9ZnVuY3Rpb24gRFgoe3ByZXBhcmVkOiR9KXtpZigkLnJhd01heEFsdC0kLnJhd01pbkFsdDw1KXJldHVybiBudWxsO3JldHVybiBYKFgxLHtjaGlsZHJlbjpbWCgiZGl2Iix7Y2xhc3NOYW1lOiJhYnNvbHV0ZSB0b3AtMiBsZWZ0LTIuNSBiZy1wYW5lbC1vdmVybGF5IHRleHQtd2hpdGUvODUgdGV4dC1bMTBweF0gZm9udC1tb25vIHB4LTEuNSBweS0wLjUgcm91bmRlZC1bNXB4XSBmbGV4IGl0ZW1zLWNlbnRlciB0cmFja2luZy1bMC4wMmVtXSBib3JkZXIgYm9yZGVyLXdoaXRlL1swLjA2XSIsY2hpbGRyZW46W1goTDMse2RpcjoidXAifSksIiAiLFA3KCQucmF3TWF4QWx0KV19KSxYKCJkaXYiLHtjbGFzc05hbWU6ImFic29sdXRlIHRvcC0yIHJpZ2h0LTIuNSBiZy1wYW5lbC1vdmVybGF5IHRleHQtd2hpdGUvODUgdGV4dC1bMTBweF0gZm9udC1tb25vIHB4LTEuNSBweS0wLjUgcm91bmRlZC1bNXB4XSBmbGV4IGl0ZW1zLWNlbnRlciB0cmFja2luZy1bMC4wMmVtXSBib3JkZXIgYm9yZGVyLXdoaXRlL1swLjA2XSIsY2hpbGRyZW46W1goTDMse2RpcjoiZG93biJ9KSwiICIsUDcoJC5yYXdNaW5BbHQpXX0pXX0pfXZhciBXNz0xNDA7ZnVuY3Rpb24gRDcoJCxKKXtsZXQgUT1BcnJheShKKTtmb3IobGV0IFo9MDtaPEo7WisrKXtsZXQgSz1KPT09MT8wOlovKEotMSksWT1IMigkLEsqJC50b3RhbERpc3RhbmNlKTtRW1pdPXt4OlkueCx5OlkueSx6Olkuen19cmV0dXJuIFF9ZnVuY3Rpb24gX1goJCxKLFEsWil7bGV0IEs9KCQuYm91bmRzLnhbMF0rJC5ib3VuZHMueFsxXSkvMixZPSgkLmJvdW5kcy56WzBdKyQuYm91bmRzLnpbMV0pLzIscT0kLmJvdW5kcy55WzBdLEc9TWF0aC5tYXgoMSwkLmJvdW5kcy54WzFdLSQuYm91bmRzLnhbMF0sJC5ib3VuZHMuelsxXS0kLmJvdW5kcy56WzBdKSxCPShRLmJvdW5kcy54WzBdK1EuYm91bmRzLnhbMV0pLzIsTj0oUS5ib3VuZHMuelswXStRLmJvdW5kcy56WzFdKS8yLEw9US5ib3VuZHMueVswXSx6PU1hdGgubWF4KDEsUS5ib3VuZHMueFsxXS1RLmJvdW5kcy54WzBdLFEuYm91bmRzLnpbMV0tUS5ib3VuZHMuelswXSkvRyxNPUQ3KCQsVzcpLm1hcCgoRik9Pih7eDooRi54LUspKnorQix5OihGLnktcSkqeitMLHo6KEYuei1ZKSp6K059KSksVT1ENyhRLFc3KSxIPSgkLnRyYWlsLmxvb3B8fFEudHJhaWwubG9vcCk/PyExLE89UFgoTSxVLEgpLGs9SDIoJCxKKSx3PXt4OihrLngtSykqeitCLHk6KGsueS1xKSp6K0wsejooay56LVkpKnorTn0sUD1IMihRLDApLHg9e3g6UC54LHk6UC55LHo6UC56fTtyZXR1cm57ZnJvbTokLHRvOlEsZnJvbVB0czpNLHRvUHRzOk8scHJldk1hcmtlcjp3LG5leHRNYXJrZXI6eCxzdGFydE1zOlp9fWZ1bmN0aW9uIFBYKCQsSixRKXtsZXQgWj0kLmxlbmd0aCxLPTEvMCxZPTAscT0hMSxHPVtKLFsuLi5KXS5yZXZlcnNlKCldO2ZvcihsZXQgTD0wO0w8Ry5sZW5ndGg7TCsrKXtsZXQgVj1HW0xdLHo9UT9aOjE7Zm9yKGxldCBDPTA7Qzx6O0MrKyl7bGV0IE09MDtmb3IobGV0IFU9MDtVPFo7VSsrKXtsZXQgSD0kW1VdLE89VlsoVStDKSVaXSxrPUgueC1PLngsdz1ILnktTy55LFA9SC56LU8uejtpZihNKz1rKmsrdyp3K1AqUCxNPj1LKWJyZWFrfWlmKE08SylLPU0sWT1DLHE9TD09PTF9fWxldCBCPXE/Wy4uLkpdLnJldmVyc2UoKTpKLE49QXJyYXkoWik7Zm9yKGxldCBMPTA7TDxaO0wrKylOW0xdPUJbKEwrWSklWl07cmV0dXJuIE59ZnVuY3Rpb24gVFgoJCxKKXtsZXQgUT0kLmZyb21QdHMubGVuZ3RoLFo9QXJyYXkoUSksSz0wLFk9bnVsbCxxPTEvMCxHPS0xLzAsQj0xLzAsTj0tMS8wLEw9MS8wLFY9LTEvMDtmb3IobGV0IHo9MDt6PFE7eisrKXtsZXQgQz0kLmZyb21QdHNbel0sTT0kLnRvUHRzW3pdLFU9Qy54KyhNLngtQy54KSpKLEg9Qy55KyhNLnktQy55KSpKLE89Qy56KyhNLnotQy56KSpKO2lmKFkpe2xldCB3PVUtWS54LFA9SC1ZLnkseD1PLVkuejtLKz1NYXRoLnNxcnQodyp3K1AqUCt4KngpfWxldCBrPXt4OlUseTpILHo6TyxhcmM6SyxsYXQ6MCxsbmc6MH07aWYoWlt6XT1rLFk9ayxVPHEpcT1VO2lmKFU+RylHPVU7aWYoSDxCKUI9SDtpZihIPk4pTj1IO2lmKE88TClMPU87aWYoTz5WKVY9T31yZXR1cm57dHJhaWw6JC50by50cmFpbCxvcmlnaW46JC50by5vcmlnaW4scG9pbnRzOlosdG90YWxEaXN0YW5jZTpLLGJvdW5kczp7eDpbcSxHXSx5OltCLE5dLHo6W0wsVl19LHJhd01pbkFsdDokLnRvLnJhd01pbkFsdCsoJC5mcm9tLnJhd01pbkFsdC0kLnRvLnJhd01pbkFsdCkqKDEtSikscmF3TWF4QWx0OiQudG8ucmF3TWF4QWx0KygkLmZyb20ucmF3TWF4QWx0LSQudG8ucmF3TWF4QWx0KSooMS1KKX19ZnVuY3Rpb24gRVgoJCl7cmV0dXJuICQ8MC41PzIqJCokOjEtTWF0aC5wb3coLTIqJCsyLDIpLzJ9ZnVuY3Rpb24gSVgoJCxKLFEsWixLLFkscSl7bGV0IEc9JC5nZXRDb250ZXh0KCIyZCIpO2lmKCFHKXJldHVybjtsZXR7Y2xpZW50V2lkdGg6QixjbGllbnRIZWlnaHQ6Tn09JDtpZihCPT09MHx8Tj09PTApcmV0dXJuO2xldCBMPXR5cGVvZiB3aW5kb3c8InUiP3dpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfHwxOjEsVj1NYXRoLnJvdW5kKEIqTCksej1NYXRoLnJvdW5kKE4qTCk7aWYoJC53aWR0aCE9PVZ8fCQuaGVpZ2h0IT09eikkLndpZHRoPVYsJC5oZWlnaHQ9ejtHLnNldFRyYW5zZm9ybShMLDAsMCxMLDAsMCksRy5jbGVhclJlY3QoMCwwLEIsTik7bGV0IEM9Ry5jcmVhdGVSYWRpYWxHcmFkaWVudChCKjAuNSxOKjAuNTUsTWF0aC5taW4oQixOKSowLjIsQiowLjUsTiowLjU1LE1hdGgubWF4KEIsTikqMC44NSk7Qy5hZGRDb2xvclN0b3AoMCwiIzFhMWExZCIpLEMuYWRkQ29sb3JTdG9wKDEsIiMwYTBhMGMiKSxHLmZpbGxTdHlsZT1DLEcuZmlsbFJlY3QoMCwwLEIsTiksd1goRyxCLE4pO2xldHtwb2ludHM6TSxib3VuZHM6VX09SjtpZihNLmxlbmd0aDwyKXJldHVybjtsZXQgSD0yOCpNYXRoLlBJLzE4MCxPPU1hdGguc2luKEgpLGs9TWF0aC5jb3MoSCksdz1NYXRoLnNpbihaKSxQPU1hdGguY29zKFopLHg9KFUueFswXStVLnhbMV0pLzIsRj0oVS56WzBdK1UuelsxXSkvMixjPVUueFsxXS1VLnhbMF0saj1VLnpbMV0tVS56WzBdLG09VS55WzFdLVUueVswXSxzPU1hdGgubWF4KGMsaikqMS4wNSxyPU1hdGgubWF4KGoqayttKk8sYyowLjQpKjEuMTUsaT1CKjAuMDgsWjE9TiowLjE4LGg9TWF0aC5taW4oKEItaSoyKS9zLChOLVoxKjIpL3IpKjEuNDUsSzE9bTwxPzE6TWF0aC5taW4oMjQsMTQwL01hdGgubWF4KDIwLG0pKSx2PShSLHUscCk9PntsZXQgUz1SLXgsbz1wLUYsbD1TKlArbyp3LFcxPS1TKncrbypQLEQxPXUqSzEseTE9RDEqay1XMSpPLE8xPUQxKk8rVzEqaztyZXR1cm57c3g6Qi8yK2wqaCxzeTpOKjAuNTUteTEqaCxkZXB0aDpPMX19LHoxPTM4LEgxPU0ubWFwKChSKT0+e2xldCB1PXYoUi54LFIueSxSLnopLHA9dihSLngsMCxSLnopLFM9e3N4OnUuc3gsc3k6TWF0aC5tYXgocC5zeSx1LnN5K3oxKSxkZXB0aDpwLmRlcHRofTtyZXR1cm57cDpSLHRvcDp1LGJvdDpTfX0pO2ZvcihsZXQgUj0xO1I8SDEubGVuZ3RoO1IrKyl7bGV0IHU9SDFbUi0xXSxwPUgxW1JdLFM9Ry5jcmVhdGVMaW5lYXJHcmFkaWVudCgodS50b3Auc3grcC50b3Auc3gpLzIsKHUudG9wLnN5K3AudG9wLnN5KS8yLCh1LmJvdC5zeCtwLmJvdC5zeCkvMiwodS5ib3Quc3krcC5ib3Quc3kpLzIpO1MuYWRkQ29sb3JTdG9wKDAsInJnYmEoMjU1LDI1NSwyNTUsMC41NSkiKSxTLmFkZENvbG9yU3RvcCgwLjQ1LCJyZ2JhKDE4MCwxODAsMTg1LDAuMjgpIiksUy5hZGRDb2xvclN0b3AoMC44NSwicmdiYSg0MCw0MCw0NSwwLjE4KSIpLFMuYWRkQ29sb3JTdG9wKDEsInJnYmEoMCwwLDAsMCkiKSxHLmZpbGxTdHlsZT1TLEcuYmVnaW5QYXRoKCksRy5tb3ZlVG8odS50b3Auc3gsdS50b3Auc3kpLEcubGluZVRvKHAudG9wLnN4LHAudG9wLnN5KSxHLmxpbmVUbyhwLmJvdC5zeCxwLmJvdC5zeSksRy5saW5lVG8odS5ib3Quc3gsdS5ib3Quc3kpLEcuY2xvc2VQYXRoKCksRy5maWxsKCl9Ry5zdHJva2VTdHlsZT0iI2ZmZmZmZiIsRy5saW5lV2lkdGg9MS42LEcubGluZUNhcD0icm91bmQiLEcubGluZUpvaW49InJvdW5kIixHLmJlZ2luUGF0aCgpO2ZvcihsZXQgUj0wO1I8SDEubGVuZ3RoO1IrKyl7bGV0e3RvcDp1fT1IMVtSXTtpZihSPT09MClHLm1vdmVUbyh1LnN4LHUuc3kpO2Vsc2UgRy5saW5lVG8odS5zeCx1LnN5KX1HLnN0cm9rZSgpO2xldCBWMT1RO0cuc3Ryb2tlU3R5bGU9IiNmOWQyYTQiLEcubGluZVdpZHRoPTIuMixHLmJlZ2luUGF0aCgpO2xldCBlPSExO2ZvcihsZXQgUj0wO1I8SDEubGVuZ3RoO1IrKyl7bGV0e3A6dSx0b3A6cH09SDFbUl07aWYodS5hcmM+VjEpYnJlYWs7aWYoIWUpRy5tb3ZlVG8ocC5zeCxwLnN5KSxlPSEwO2Vsc2UgRy5saW5lVG8ocC5zeCxwLnN5KX1pZihlKUcuc3Ryb2tlKCk7bGV0IGE9cT8/SDIoSixRKSxZMT12KGEueCxhLnksYS56KTtpZihZKXtsZXQgcD1LJTI2MDAvMjYwMCxTPTQrMjIqcCxvPTAuMjIqKDEtcCksbD1HLmNyZWF0ZVJhZGlhbEdyYWRpZW50KFkxLnN4LFkxLnN5LFMqMC41LFkxLnN4LFkxLnN5LFMpO2wuYWRkQ29sb3JTdG9wKDAsInJnYmEoMjU1LDI1NSwyNTUsMCkiKSxsLmFkZENvbG9yU3RvcCgwLjcsYHJnYmEoMjU1LDI1NSwyNTUsJHtvLnRvRml4ZWQoMyl9KWApLGwuYWRkQ29sb3JTdG9wKDEsInJnYmEoMjU1LDI1NSwyNTUsMCkiKSxHLmZpbGxTdHlsZT1sLEcuYmVnaW5QYXRoKCksRy5hcmMoWTEuc3gsWTEuc3ksUywwLE1hdGguUEkqMiksRy5maWxsKCl9Ry5maWxsU3R5bGU9IiNmZmYiLEcuYmVnaW5QYXRoKCksRy5hcmMoWTEuc3gsWTEuc3ksMy44LDAsTWF0aC5QSSoyKSxHLmZpbGwoKX1mdW5jdGlvbiB3WCgkLEosUSl7JC5maWxsU3R5bGU9InJnYmEoMjU1LDI1NSwyNTUsMC4wNikiO2ZvcihsZXQgWT03O1k8UTtZKz0xNClmb3IobGV0IHE9NztxPEo7cSs9MTQpJC5iZWdpblBhdGgoKSwkLmFyYyhxLFksMC43LDAsTWF0aC5QSSoyKSwkLmZpbGwoKX1mdW5jdGlvbiBhOCgkKXtpZigkPDEwMDApcmV0dXJuYCR7JC50b0ZpeGVkKDApfSBtYDtyZXR1cm5gJHsoJC8xMDAwKS50b0ZpeGVkKDIpfSBrbWB9ZnVuY3Rpb24gXzcoJCl7bGV0IEo9TWF0aC5mbG9vcigkLzEwMDApLFE9TWF0aC5mbG9vcihKLzM2MDApLFo9TWF0aC5mbG9vcihKJTM2MDAvNjApLEs9SiU2MDtpZihRPjApcmV0dXJuYCR7UX06JHtaLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfToke0sudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9YDtyZXR1cm5gJHtafToke0sudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9YH1mdW5jdGlvbiBiWCgkKXtpZigkPD0wKXJldHVybiLigJQiO2lmKCQ+NylyZXR1cm5gJHsoJCozLjYpLnRvRml4ZWQoMCl9IGttL2hgO2xldCBKPTEwMDAvJCxRPU1hdGguZmxvb3IoSi82MCksWj1NYXRoLnJvdW5kKEolNjApO3JldHVybmAke1F9OiR7Wi50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX0va21gfWZ1bmN0aW9uIFA3KCQpe3JldHVybmAkeyQudG9GaXhlZCgwKX0gbWB9ZnVuY3Rpb24gVDcoJCl7bGV0IEo9JC50cmltKCk7aWYoIUopcmV0dXJuIiI7bGV0IFE9Si5tYXRjaCgvUmVhc29uOlxzKiguKykkL20pO2lmKFEpcmV0dXJuIFFbMV07cmV0dXJuIEouc3BsaXQoYApgKS5zbGljZSgtMSlbMF0/P0p9YXN5bmMgZnVuY3Rpb24gczgoJCxKKXtsZXQgUT1hd2FpdCBrMSgiYXBwLmNvbnRhaW5lciIse3VkaWQ6JCxidW5kbGVJZDpKfSk7aWYoUS5leGl0Q29kZSE9PTApcmV0dXJue2Vycm9yOlEuc3RkZXJyLnRyaW0oKXx8IkFwcCBub3QgZm91bmQgb24gc2ltdWxhdG9yIn07bGV0IFo9US5zdGRvdXQudHJpbSgpO2lmKCFaKXJldHVybntlcnJvcjoiRW1wdHkgYXBwIHBhdGgifTtsZXQgSz1hd2FpdCBrMSgiYXBwLmluZm9QbGlzdCIse3BhdGg6YCR7Wn0vSW5mby5wbGlzdGB9KSxZPXt9O2lmKEsuZXhpdENvZGU9PT0wKXRyeXtZPUpTT04ucGFyc2UoSy5zdGRvdXQpfWNhdGNoe31sZXQgcSxCPShZPy5DRkJ1bmRsZUljb25zPy5DRkJ1bmRsZVByaW1hcnlJY29uPz9ZPy5bIkNGQnVuZGxlSWNvbnN+aXBhZCJdPy5DRkJ1bmRsZVByaW1hcnlJY29uKT8uQ0ZCdW5kbGVJY29uRmlsZXM/P1k/LkNGQnVuZGxlSWNvbkZpbGVzO2lmKEImJkIubGVuZ3RoPjApcT1CW0IubGVuZ3RoLTFdO2Vsc2UgaWYodHlwZW9mIFk/LkNGQnVuZGxlSWNvbkZpbGU9PT0ic3RyaW5nIilxPVkuQ0ZCdW5kbGVJY29uRmlsZTtsZXQgTj1udWxsO2lmKHEpe2xldCBMPVtgJHtxfUAzeC5wbmdgLGAke3F9QDJ4LnBuZ2AsYCR7cX0ucG5nYCxgJHtxfTYweDYwQDN4LnBuZ2AsYCR7cX02MHg2MEAyeC5wbmdgXSx6PShhd2FpdCBrMSgiYXBwLmljb25QYXRoIix7YXBwUGF0aDpaLGNhbmRpZGF0ZXM6TH0pKS5zdGRvdXQudHJpbSgpO2lmKHope2xldCBDPWF3YWl0IGsxKCJmaWxlLnJlYWRCYXNlNjQiLHtwYXRoOnp9KTtpZihDLmV4aXRDb2RlPT09MClOPWBkYXRhOmltYWdlL3BuZztiYXNlNjQsJHtDLnN0ZG91dC5yZXBsYWNlKC9ccysvZywiIil9YH19cmV0dXJue2FwcFBhdGg6WixkaXNwbGF5TmFtZTpZLkNGQnVuZGxlRGlzcGxheU5hbWU/P1kuQ0ZCdW5kbGVOYW1lLHNob3J0VmVyc2lvbjpZLkNGQnVuZGxlU2hvcnRWZXJzaW9uU3RyaW5nLGJ1bmRsZVZlcnNpb246WS5DRkJ1bmRsZVZlcnNpb24sbWluT1M6WS5NaW5pbXVtT1NWZXJzaW9uLGV4ZWN1dGFibGU6WS5DRkJ1bmRsZUV4ZWN1dGFibGUsaWNvbkRhdGFVcmw6Tn19dmFyIGcyPW5ldyBNYXA7ZnVuY3Rpb24gSTcoJCxKKXtsZXQgUT1gJHskfToke0p9YCxaPWcyLmdldChRKTtpZihaIT09dm9pZCAwKXJldHVybiBQcm9taXNlLnJlc29sdmUoWik7bGV0IEs9czgoJCxKKS50aGVuKChZKT0+e2xldCBxPVkuaWNvbkRhdGFVcmw/P251bGw7cmV0dXJuIGcyLnNldChRLHEpLHF9KS5jYXRjaCgoKT0+e3JldHVybiBnMi5zZXQoUSxudWxsKSxudWxsfSk7cmV0dXJuIGcyLnNldChRLEspLEt9ZnVuY3Rpb24geVgoJCl7cmV0dXJuICQuc3RhcnRzV2l0aCgiY29tLmFwcGxlLiIpfWZ1bmN0aW9uIFNYKCQpe2lmKCQ9PT0iY29tLmFwcGxlLnNwcmluZ2JvYXJkIilyZXR1cm4iU3ByaW5nQm9hcmQiO3JldHVybiAkfWZ1bmN0aW9uIHhYKHtidW5kbGVJZDokfSl7bGV0IEo9eVgoJCk7cmV0dXJuIFgoImRpdiIseyJkYXRhLXRlc3RpZCI6Sj8ic3lzdGVtLWFwcC1pY29uIjoiYXBwLWljb24tZmFsbGJhY2siLGNsYXNzTmFtZTpgdy0xMCBoLTEwIHJvdW5kZWQtWzhweF0gc2hyaW5rLTAgYm9yZGVyIGdyaWQgcGxhY2UtaXRlbXMtY2VudGVyICR7Sj8iYm9yZGVyLVsjM2I1Zjk5XSBiZy1bbGluZWFyLWdyYWRpZW50KDE0NWRlZywjMjUzYTVmLCMxNjIxMzIpXSB0ZXh0LVsjYzhkN2ZmXSI6ImJvcmRlci13aGl0ZS8xMCBiZy13aGl0ZS9bMC4wNl0gdGV4dC13aGl0ZS84MCJ9YCwiYXJpYS1sYWJlbCI6Sj8iU3lzdGVtIGFwcCI6IkFwcCBpY29uIHVuYXZhaWxhYmxlIix0aXRsZTpKPyJTeXN0ZW0gYXBwIjoiQXBwIGljb24gdW5hdmFpbGFibGUiLGNoaWxkcmVuOko/WCgic3ZnIix7cm9sZToiaW1nIix2aWV3Qm94OiIwIDAgMjQgMjQiLHhtbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsY2xhc3NOYW1lOiJzaXplLVsxOXB4XSIsZmlsbDoiY3VycmVudENvbG9yIixjaGlsZHJlbjpbWCgidGl0bGUiLHtjaGlsZHJlbjoiQXBwbGUifSksWCgicGF0aCIse2Q6Ik0xMi4xNTIgNi44OTZjLS45NDggMC0yLjQxNS0xLjA3OC0zLjk2LTEuMDQtMi4wNC4wMjctMy45MSAxLjE4My00Ljk2MSAzLjAxNC0yLjExNyAzLjY3NS0uNTQ2IDkuMTAzIDEuNTE5IDEyLjA5IDEuMDEzIDEuNDU0IDIuMjA4IDMuMDkgMy43OTIgMy4wMzkgMS41Mi0uMDY1IDIuMDktLjk4NyAzLjkzNS0uOTg3IDEuODMxIDAgMi4zNS45ODcgMy45Ni45NDggMS42MzctLjAyNiAyLjY3Ni0xLjQ4IDMuNjc2LTIuOTQ4IDEuMTU2LTEuNjg4IDEuNjM2LTMuMzI1IDEuNjYyLTMuNDE1LS4wMzktLjAxMy0zLjE4Mi0xLjIyMS0zLjIyLTQuODU3LS4wMjYtMy4wNCAyLjQ4LTQuNDk0IDIuNTk3LTQuNTU5LTEuNDI5LTIuMDktMy42MjMtMi4zMjQtNC4zOS0yLjM3Ni0yLS4xNTYtMy42NzUgMS4wOS00LjYxIDEuMDl6TTE1LjUzIDMuODNjLjg0My0xLjAxMiAxLjQtMi40MjcgMS4yNDUtMy44My0xLjIwNy4wNTItMi42NjIuODA1LTMuNTMyIDEuODE4LS43OC44OTYtMS40NTQgMi4zMzgtMS4yNzMgMy43MTQgMS4zMzguMTA0IDIuNzE1LS42ODggMy41NTktMS43MDEifSldfSk6WChYNSx7c2l6ZToxOSxzdHJva2VXaWR0aDoxLjl9KX0pfWZ1bmN0aW9uIGpYKHtidW5kbGVJZDokLGljb25EYXRhVXJsOkp9KXtpZihKKXJldHVybiBYKCJpbWciLHtzcmM6SixjbGFzc05hbWU6InctMTAgaC0xMCByb3VuZGVkLVs4cHhdIHNocmluay0wIG9iamVjdC1jb3ZlciBib3JkZXIgYm9yZGVyLXdoaXRlLzgiLGFsdDoiIn0pO3JldHVybiBYKHhYLHtidW5kbGVJZDokfSl9ZnVuY3Rpb24gdzcoe3VkaWQ6JCxjdXJyZW50QXBwOkp9KXtsZXRbUSxaXT1BKG51bGwpLFtLLFldPUEoITEpO2lmKEUoKCk9PntpZighSil7WihudWxsKTtyZXR1cm59bGV0IHE9ITE7cmV0dXJuIFooe2J1bmRsZUlkOkouYnVuZGxlSWQsaXNSZWFjdE5hdGl2ZTpKLmlzUmVhY3ROYXRpdmUscGlkOkoucGlkLGxvYWRpbmc6ITB9KSxzOCgkLEouYnVuZGxlSWQpLnRoZW4oKEcpPT57aWYocSlyZXR1cm47Wih7YnVuZGxlSWQ6Si5idW5kbGVJZCxpc1JlYWN0TmF0aXZlOkouaXNSZWFjdE5hdGl2ZSxwaWQ6Si5waWQsbG9hZGluZzohMSwuLi5HfSl9KSwoKT0+e3E9ITB9fSxbJCxKLEo/LmJ1bmRsZUlkLEo/LnBpZCxKPy5pc1JlYWN0TmF0aXZlXSksIVEpcmV0dXJuIFgodlgse30pO3JldHVybiBYKCQwLHtvcGVuOkssb25PcGVuQ2hhbmdlOlksc3VtbWFyeUNsYXNzTmFtZToiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTMgdGV4dC1sZWZ0IixzdW1tYXJ5OlgoWDEse2NoaWxkcmVuOltYKGpYLHtidW5kbGVJZDpRLmJ1bmRsZUlkLGljb25EYXRhVXJsOlEuaWNvbkRhdGFVcmx9KSxYKFJYLHtidW5kbGVJZDpRLmJ1bmRsZUlkLGRpc3BsYXlOYW1lOlEuZGlzcGxheU5hbWV9KV19KSxjaGlsZHJlbjpbUS5lcnJvciYmWCgiZGl2Iix7Y2xhc3NOYW1lOiJiZy1kYW5nZXIvMTAgYm9yZGVyIGJvcmRlci1kYW5nZXIvMjAgdGV4dC1kYW5nZXItc29mdCB0ZXh0LVsxMXB4XSBweC0yIHB5LTEuNSByb3VuZGVkLW1kIixjaGlsZHJlbjpRLmVycm9yfSksWCgiZGwiLHtjbGFzc05hbWU6Im0tMCBmbGV4IGZsZXgtY29sIGdhcC0xLjUiLGNoaWxkcmVuOltYKGYyLHtsYWJlbDoiVmVyc2lvbiIsdmFsdWU6US5zaG9ydFZlcnNpb24/YCR7US5zaG9ydFZlcnNpb259ICgke1EuYnVuZGxlVmVyc2lvbj8/IuKAlCJ9KWA6US5sb2FkaW5nPyLigKYiOiLigJQifSksWChmMix7bGFiZWw6Ik1pbiBpT1MiLHZhbHVlOlEubWluT1M/PyhRLmxvYWRpbmc/IuKApiI6IuKAlCIpfSksWChmMix7bGFiZWw6IkV4ZWN1dGFibGUiLHZhbHVlOlEuZXhlY3V0YWJsZT8/KFEubG9hZGluZz8i4oCmIjoi4oCUIil9KSxYKGYyLHtsYWJlbDoiUElEIix2YWx1ZTpRLnBpZCE9bnVsbD9TdHJpbmcoUS5waWQpOiLigJQifSksUS5pc1JlYWN0TmF0aXZlJiZYKGYyLHtsYWJlbDoiUmVhY3QgTmF0aXZlIix2YWx1ZToiWWVzIn0pLFgoZjIse2xhYmVsOiJBcHAgcGF0aCIsdmFsdWU6US5hcHBQYXRoPz8oUS5sb2FkaW5nPyLigKYiOiLigJQiKSxtb25vOiEwLGFjdGlvbjpRLmFwcFBhdGg/e3RpdGxlOiJSZXZlYWwgaW4gRmluZGVyIixvbkNsaWNrOigpPT57azEoInJldmVhbCIse3BhdGg6US5hcHBQYXRofSl9LGljb246WChLNSx7c2l6ZToxMSxzdHJva2VXaWR0aDoyLjJ9KX06dm9pZCAwfSldfSldfSl9ZnVuY3Rpb24gdlgoKXtyZXR1cm4gWCgiZGl2Iix7ImRhdGEtdGVzdGlkIjoiYXBwLWRldGVjdGlvbi1za2VsZXRvbiIsY2xhc3NOYW1lOiJiZy1wYW5lbCByb3VuZGVkLVsxMHB4XSBweC0zIHB5LTIiLCJhcmlhLWxhYmVsIjoiV2FpdGluZyBmb3IgZm9yZWdyb3VuZCBhcHAiLGNoaWxkcmVuOlgoImRpdiIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTMgdGV4dC1sZWZ0IG1pbi1oLVszNnB4XSBsZWFkaW5nLW5vbmUgcHktMi41IHB4LTEgLW15LTIgLW14LTEgdy1bY2FsYygxMDAlKzhweCldIixjaGlsZHJlbjpbWCgic3BhbiIse2NsYXNzTmFtZToidy0xMCBoLTEwIHJvdW5kZWQtWzhweF0gc2hyaW5rLTAgYmctd2hpdGUvWzAuMDhdIn0pLFgoInNwYW4iLHtjbGFzc05hbWU6Im1pbi13LTAgZmxleC0xIGZsZXggZmxleC1jb2wgZ2FwLTIiLGNoaWxkcmVuOltYKCJzcGFuIix7Y2xhc3NOYW1lOiJoLTMuNSB3LVs0NiVdIHJvdW5kZWQtZnVsbCBiZy13aGl0ZS9bMC4xMl0ifSksWCgic3BhbiIse2NsYXNzTmFtZToiaC0yLjUgdy1bNjglXSByb3VuZGVkLWZ1bGwgYmctd2hpdGUvWzAuMDhdIn0pXX0pLFgoInNwYW4iLHtjbGFzc05hbWU6InctMi41IGgtMi41IHJvdW5kZWQtZnVsbCBiZy13aGl0ZS9bMC4wOF0ifSldfSl9KX1mdW5jdGlvbiBSWCh7YnVuZGxlSWQ6JCxkaXNwbGF5TmFtZTpKfSl7cmV0dXJuIFgoImRpdiIse2NsYXNzTmFtZToibWluLXctMCBmbGV4LTEgbGVhZGluZy10aWdodCB0ZXh0LWxlZnQiLGNoaWxkcmVuOltYKCJkaXYiLHtjbGFzc05hbWU6InRleHQtWzEzcHhdIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZS85MCB0cnVuY2F0ZSIsY2hpbGRyZW46Sj8/U1goJCl9KSxYKCJkaXYiLHtjbGFzc05hbWU6InRleHQtWzExcHhdIHRleHQtd2hpdGUvNTUgZm9udC1tb25vIHRydW5jYXRlIix0aXRsZTokLGNoaWxkcmVuOiR9KV19KX1mdW5jdGlvbiBmMih7bGFiZWw6JCx2YWx1ZTpKLG1vbm86USxhY3Rpb246Wn0pe3JldHVybiBYKCJkaXYiLHtjbGFzc05hbWU6Imdyb3VwIGZsZXggaXRlbXMtYmFzZWxpbmUgZ2FwLTIgbWluLXctMCIsY2hpbGRyZW46W1goImR0Iix7Y2xhc3NOYW1lOiJtLTAgdGV4dC1bMTFweF0gdGV4dC13aGl0ZS81MCB3LTIxIHNocmluay0wIixjaGlsZHJlbjokfSksWCgiZGQiLHtjbGFzc05hbWU6YG0tMCB0ZXh0LXdoaXRlLzkwIGZsZXgtMSBtaW4tdy0wIG92ZXJmbG93LWhpZGRlbiB0ZXh0LWVsbGlwc2lzIHdoaXRlc3BhY2Utbm93cmFwIHJlbGF0aXZlICR7UT8iZm9udC1tb25vIHRleHQtWzExcHhdIjoidGV4dC1bMTJweF0ifWAsdGl0bGU6SixjaGlsZHJlbjpbSixaJiZYKCJkaXYiLHtjbGFzc05hbWU6ImFic29sdXRlIHRvcC0wIHJpZ2h0LTAgYm90dG9tLTAgcGwtNyBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWVuZCBiZy1bbGluZWFyLWdyYWRpZW50KHRvX3JpZ2h0LHJnYmEoMjgsMjgsMzAsMClfMCUsIzFjMWMxZV81NSUpXSBbdHJhbnNpdGlvbjpvcGFjaXR5XzAuMTVzX2Vhc2UsdHJhbnNmb3JtXzAuMTVzX2Vhc2VdIG9wYWNpdHktMCB0cmFuc2xhdGUteC0xIHBvaW50ZXItZXZlbnRzLW5vbmUgZ3JvdXAtaG92ZXI6b3BhY2l0eS0xMDAgZ3JvdXAtaG92ZXI6dHJhbnNsYXRlLXgtMCBncm91cC1ob3Zlcjpwb2ludGVyLWV2ZW50cy1hdXRvIixjaGlsZHJlbjpYKCJidXR0b24iLHt0eXBlOiJidXR0b24iLG9uQ2xpY2s6Wi5vbkNsaWNrLHRpdGxlOloudGl0bGUsImFyaWEtbGFiZWwiOloudGl0bGUsY2xhc3NOYW1lOiJ3LTUgaC01IGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGJnLXRyYW5zcGFyZW50IGJvcmRlci1ub25lIHJvdW5kZWQgdGV4dC13aGl0ZSBjdXJzb3ItcG9pbnRlciBwLTAiLGNoaWxkcmVuOlouaWNvbn0pfSldfSldfSl9dmFyIGI3PVt7a2V5OiJjYW1lcmEiLGxhYmVsOiJDYW1lcmEifSx7a2V5OiJtaWNyb3Bob25lIixsYWJlbDoiTWljcm9waG9uZSJ9LHtrZXk6InBob3RvcyIsbGFiZWw6IlBob3RvcyJ9LHtrZXk6InBob3Rvcy1hZGQiLGxhYmVsOiJBZGQgdG8gUGhvdG9zIn0se2tleToiY29udGFjdHMiLGxhYmVsOiJDb250YWN0cyJ9LHtrZXk6ImNhbGVuZGFyIixsYWJlbDoiQ2FsZW5kYXIifSx7a2V5OiJyZW1pbmRlcnMiLGxhYmVsOiJSZW1pbmRlcnMifSx7a2V5OiJsb2NhdGlvbiIsbGFiZWw6IkxvY2F0aW9uIn0se2tleToibG9jYXRpb24tYWx3YXlzIixsYWJlbDoiTG9jYXRpb24gKEFsd2F5cykifSx7a2V5OiJub3RpZmljYXRpb25zIixsYWJlbDoiTm90aWZpY2F0aW9ucyJ9LHtrZXk6Im1vdGlvbiIsbGFiZWw6Ik1vdGlvbiJ9LHtrZXk6Im1lZGlhLWxpYnJhcnkiLGxhYmVsOiJNZWRpYSBMaWJyYXJ5In0se2tleToic2lyaSIsbGFiZWw6IlNpcmkifV07ZnVuY3Rpb24geTcoe3VkaWQ6JCxidW5kbGVJZDpKfSl7bGV0W1EsWl09QSh7fSksW0ssWV09QShudWxsKSxbcSxHXT1BKG51bGwpLFtCLE5dPUEoITEpO0UoKCk9PntaKHt9KSxHKG51bGwpfSxbSl0pO2xldCBMPUkoYXN5bmMoeixDKT0+e2lmKCFKKXJldHVybjtsZXQgTT1gJHt6fToke0N9YDtZKE0pLEcobnVsbCk7dHJ5e2xldCBVPWF3YWl0IGsxKCJwZXJtaXNzaW9ucy5zZXQiLHthY3Rpb246QyxzZXJ2aWNlOnosYnVuZGxlSWQ6Six1ZGlkOiR9KTtpZihVLmV4aXRDb2RlIT09MCl7RyhVLnN0ZGVyci50cmltKCl8fGBzZXJ2ZS1zaW0gcGVybWlzc2lvbnMgZmFpbGVkIChleGl0ICR7VS5leGl0Q29kZX0pYCk7cmV0dXJufVooKEgpPT4oey4uLkgsW3pdOkM9PT0icmVzZXQiP3ZvaWQgMDpDfSkpfWZpbmFsbHl7WShudWxsKX19LFskLEpdKSxWPUkoYXN5bmMoKT0+e2lmKCFKKXJldHVybjtZKCJfX2FsbF9fIiksRyhudWxsKTt0cnl7bGV0IHo9YXdhaXQgazEoInBlcm1pc3Npb25zLnJlc2V0QWxsIix7YnVuZGxlSWQ6Six1ZGlkOiR9KTtpZih6LmV4aXRDb2RlIT09MCl7Ryh6LnN0ZGVyci50cmltKCl8fGBzZXJ2ZS1zaW0gcGVybWlzc2lvbnMgZmFpbGVkIChleGl0ICR7ei5leGl0Q29kZX0pYCk7cmV0dXJufVooe30pfWZpbmFsbHl7WShudWxsKX19LFskLEpdKTtpZighSilyZXR1cm4gWChoWCx7fSk7cmV0dXJuIFgoJDAse29wZW46Qixvbk9wZW5DaGFuZ2U6TixzdW1tYXJ5Q2xhc3NOYW1lOiJncmlkIFtncmlkLXRlbXBsYXRlLWNvbHVtbnM6YXV0b18xZnJfYXV0b10gaXRlbXMtY2VudGVyIGdhcC0yIHRleHQtbGVmdCIsc3VtbWFyeTpYKFgxLHtjaGlsZHJlbjpbWCgic3BhbiIse2NsYXNzTmFtZToidGV4dC1bMTFweF0gZm9udC1zZW1pYm9sZCB0ZXh0LXdoaXRlLzUwIHVwcGVyY2FzZSB0cmFja2luZy1bMC4wOGVtXSBsZWFkaW5nLW5vbmUgaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIixjaGlsZHJlbjoiUGVybWlzc2lvbnMifSksWCgic3BhbiIse30pXX0pLGNoaWxkcmVuOltxJiZYKCJkaXYiLHtjbGFzc05hbWU6ImJnLWRhbmdlci8xMCBib3JkZXIgYm9yZGVyLWRhbmdlci8yMCB0ZXh0LWRhbmdlci1zb2Z0IHRleHQtWzExcHhdIHB4LTIgcHktMS41IHJvdW5kZWQtbWQiLGNoaWxkcmVuOnF9KSxYKCJkaXYiLHtjbGFzc05hbWU6InJlbGF0aXZlIixjaGlsZHJlbjpbWCgiZGl2Iix7Y2xhc3NOYW1lOiJtYXgtaC1bMjYwcHhdIG92ZXJmbG93LXktYXV0byBmbGV4IGZsZXgtY29sIGdhcC0xIHB5LTIgW3Njcm9sbGJhci13aWR0aDp0aGluXSIsY2hpbGRyZW46YjcubWFwKCh7a2V5OnosbGFiZWw6Q30pPT57bGV0IE09UVt6XTtyZXR1cm4gWCgiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gZ2FwLTIgcHgtMC41IHB5LTEiLGNoaWxkcmVuOltYKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LVsxMnB4XSB0ZXh0LXdoaXRlLzkwIG92ZXJmbG93LWhpZGRlbiB0ZXh0LWVsbGlwc2lzIHdoaXRlc3BhY2Utbm93cmFwIGZsZXgtMSBtaW4tdy0wIixjaGlsZHJlbjpDfSksWCgiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGdhcC0wLjUgYmctd2hpdGUvWzAuMDRdIGJvcmRlciBib3JkZXItd2hpdGUvOCByb3VuZGVkLW1kIHAtMC41Iixyb2xlOiJncm91cCIsImFyaWEtbGFiZWwiOkMsY2hpbGRyZW46W1godDgse2FjdGl2ZTpNPT09ImdyYW50IixwZW5kaW5nOks9PT1gJHt6fTpncmFudGAsb25DbGljazooKT0+TCh6LCJncmFudCIpLHZhcmlhbnQ6ImdyYW50Iix0aXRsZToiQWxsb3ciLGNoaWxkcmVuOlgoWTUse3NpemU6MTEsc3Ryb2tlV2lkdGg6M30pfSksWCh0OCx7YWN0aXZlOk09PT0icmV2b2tlIixwZW5kaW5nOks9PT1gJHt6fTpyZXZva2VgLG9uQ2xpY2s6KCk9PkwoeiwicmV2b2tlIiksdmFyaWFudDoicmV2b2tlIix0aXRsZToiRGVueSIsY2hpbGRyZW46WChQMCx7c2l6ZToxMSxzdHJva2VXaWR0aDozfSl9KSxYKHQ4LHthY3RpdmU6ITEscGVuZGluZzpLPT09YCR7en06cmVzZXRgLG9uQ2xpY2s6KCk9PkwoeiwicmVzZXQiKSx2YXJpYW50OiJyZXNldCIsdGl0bGU6IlJlc2V0IixjaGlsZHJlbjpYKHoyLHtzaXplOjExLHN0cm9rZVdpZHRoOjIuNH0pfSldfSldfSx6KX0pfSksWCgiZGl2Iix7Y2xhc3NOYW1lOiJhYnNvbHV0ZSB0b3AtMCBsZWZ0LTAgcmlnaHQtMCBoLVsxNHB4XSBwb2ludGVyLWV2ZW50cy1ub25lIHJvdW5kZWQtdC1bMTBweF0gYmctW2xpbmVhci1ncmFkaWVudCh0b19ib3R0b20sIzFjMWMxZV8wJSxyZ2JhKDI4LDI4LDMwLDApXzEwMCUpXSJ9KSxYKCJkaXYiLHtjbGFzc05hbWU6ImFic29sdXRlIGJvdHRvbS0wIGxlZnQtMCByaWdodC0wIGgtWzE0cHhdIHBvaW50ZXItZXZlbnRzLW5vbmUgYmctW2xpbmVhci1ncmFkaWVudCh0b190b3AsIzFjMWMxZV8wJSxyZ2JhKDI4LDI4LDMwLDApXzEwMCUpXSJ9KV19KSxYKCJkaXYiLHtjbGFzc05hbWU6ImZsZXgganVzdGlmeS1lbmQiLGNoaWxkcmVuOlgoImJ1dHRvbiIse29uQ2xpY2s6VixkaXNhYmxlZDpLPT09Il9fYWxsX18iLGNsYXNzTmFtZToiYmctdHJhbnNwYXJlbnQgYm9yZGVyIGJvcmRlci13aGl0ZS8xMiB0ZXh0LXdoaXRlLzcwIHRleHQtWzEwcHhdIHB4LTIgcHktWzNweF0gcm91bmRlZC1bNXB4XSBjdXJzb3ItcG9pbnRlciB1cHBlcmNhc2UgdHJhY2tpbmctWzAuMDRlbV0iLHRpdGxlOiJzZXJ2ZS1zaW0gcGVybWlzc2lvbnMgcmVzZXQgYWxsIixjaGlsZHJlbjpLPT09Il9fYWxsX18iPyLigKYiOiJSZXNldCBhbGwifSl9KV19KX1mdW5jdGlvbiBoWCgpe3JldHVybiBYKCJkaXYiLHsiZGF0YS10ZXN0aWQiOiJhcHAtcGVybWlzc2lvbnMtbG9hZGluZyIsY2xhc3NOYW1lOiJiZy1wYW5lbCByb3VuZGVkLVsxMHB4XSBweC0zIHB5LTIiLCJhcmlhLWRpc2FibGVkIjoidHJ1ZSIsImFyaWEtYnVzeSI6InRydWUiLGNoaWxkcmVuOlgoImRpdiIse2NsYXNzTmFtZToic2VsZWN0LW5vbmUgdGV4dC13aGl0ZS81NSBtaW4taC1bMzZweF0gbGVhZGluZy1ub25lIHB5LTIuNSBweC0xIC1teS0yIC1teC0xIHctW2NhbGMoMTAwJSs4cHgpXSBncmlkIFtncmlkLXRlbXBsYXRlLWNvbHVtbnM6YXV0b18xZnJfYXV0b10gaXRlbXMtY2VudGVyIGdhcC0yIHRleHQtbGVmdCBjdXJzb3ItZGVmYXVsdCIsY2hpbGRyZW46W1goInNwYW4iLHtjbGFzc05hbWU6InRleHQtWzExcHhdIGZvbnQtc2VtaWJvbGQgdXBwZXJjYXNlIHRyYWNraW5nLVswLjA4ZW1dIGxlYWRpbmctbm9uZSBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIiLGNoaWxkcmVuOiJQZXJtaXNzaW9ucyJ9KSxYKCJzcGFuIix7fSksWCgic3BhbiIseyJkYXRhLXRlc3RpZCI6InBlcm1pc3Npb25zLWxvYWRpbmctaW5kaWNhdG9yIixyb2xlOiJzdGF0dXMiLCJhcmlhLWxhYmVsIjoiTG9hZGluZyBwZXJtaXNzaW9ucyIsY2xhc3NOYW1lOiJzaXplLTIuNSByb3VuZGVkLWZ1bGwgYm9yZGVyIGJvcmRlci1bIzVmNjI2OF0gYm9yZGVyLXQtWyNmNGY0ZjVdIGFuaW1hdGUtW2dyaWQtc3Bpbl8wLjdzX2xpbmVhcl9pbmZpbml0ZV0ifSldfSl9KX1mdW5jdGlvbiB0OCh7YWN0aXZlOiQscGVuZGluZzpKLG9uQ2xpY2s6USx2YXJpYW50OlosdGl0bGU6SyxjaGlsZHJlbjpZfSl7bGV0IHE9Wj09PSJncmFudCI/IiM0YWRlODAiOlo9PT0icmV2b2tlIj8iI2Y4NzE3MSI6IiNhNWI0ZmMiO3JldHVybiBYKCJidXR0b24iLHtvbkNsaWNrOlEsZGlzYWJsZWQ6Six0aXRsZTpLLCJhcmlhLWxhYmVsIjpLLGNsYXNzTmFtZToidy02IGgtNS41IGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGJvcmRlci1ub25lIHJvdW5kZWQgcC0wIGN1cnNvci1wb2ludGVyIFt0cmFuc2l0aW9uOmJhY2tncm91bmRfMC4xMnMsY29sb3JfMC4xMnNdIixzdHlsZTp7YmFja2dyb3VuZDokP2Ake3F9MjJgOiJ0cmFuc3BhcmVudCIsY29sb3I6JD9xOiJyZ2JhKDI1NSwyNTUsMjU1LDAuNTUpIixvcGFjaXR5Oko/MC41OjF9LGNoaWxkcmVuOll9KX12YXIgZ1g9ImJnLXBhbmVsIHJvdW5kZWQtWzEwcHhdIixmWD0idGV4dC1bMTFweF0gZm9udC1zZW1pYm9sZCB0ZXh0LXdoaXRlLzUwIHVwcGVyY2FzZSB0cmFja2luZy1bMC4wOGVtXSBtLTAiO2Z1bmN0aW9uIHg3KHtvdmVybGF5RW5hYmxlZDokLG9uVG9nZ2xlT3ZlcmxheTpKfSl7bGV0e3NuYXBzaG90OlF9PXgyKCkse2hpZ2hsaWdodGVkS2V5Olosc2V0SGlnaGxpZ2h0ZWRLZXk6S309SDMoKSxZPVE/LmVsZW1lbnRzPz9bXSxxPXozKFEpLEc9UT8uZXJyb3JzPy5bMF0/P251bGw7cmV0dXJuIFgoImRpdiIse2NsYXNzTmFtZTpgJHtnWH0gcHgtMyBweS0yYCxjaGlsZHJlbjpbWCgiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gZ2FwLTIiLGNoaWxkcmVuOltYKCJzcGFuIix7Y2xhc3NOYW1lOmZYLGNoaWxkcmVuOiJBWCBUcmVlIn0pLFgoaDIse2xhYmVsOiJFbmFibGUgb3ZlcmxheSIsY2hlY2tlZDokLG9uQ2hhbmdlOkp9KV19KSwhJD9udWxsOnE/WChTNyx7Y2hpbGRyZW46IkFYIHVuYXZhaWxhYmxlIG9uIHRoaXMgc2ltdWxhdG9yLiJ9KTpZLmxlbmd0aD09PTA/WChTNyx7c3Bpbm5lcjohRyxjaGlsZHJlbjpHPz8iV2FpdGluZyBmb3IgYWNjZXNzaWJpbGl0eSBkYXRh4oCmIn0pOlgoImRpdiIse2NsYXNzTmFtZToiZmxleCBmbGV4LWNvbCBnYXAtMSBtdC0yIHB5LTIgbWF4LWgtWzI2MHB4XSBvdmVyZmxvdy15LWF1dG8gW3Njcm9sbGJhci13aWR0aDp0aGluXSIscm9sZToibGlzdCIsY2hpbGRyZW46WS5tYXAoKEIsTik9PntsZXQgTD1VMihCKTtyZXR1cm4gWChtWCx7ZWxlbWVudDpCLGluZGV4Ok4sYWN0aXZlOkw9PT1aLG9uSGlnaGxpZ2h0Okt9LEwpfSl9KV19KX1mdW5jdGlvbiBTNyh7Y2hpbGRyZW46JCxzcGlubmVyOko9ITF9KXtyZXR1cm4gWCgiZGl2Iix7cm9sZToic3RhdHVzIiwiYXJpYS1saXZlIjoicG9saXRlIixjbGFzc05hbWU6Im10LTIgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLTIgcHktNCB0ZXh0LVsxMnB4XSB0ZXh0LXdoaXRlLzQ1IixjaGlsZHJlbjpbSj9YKCJzcGFuIix7ImFyaWEtaGlkZGVuIjoidHJ1ZSIsY2xhc3NOYW1lOiJzaXplLTMuNSBzaHJpbmstMCByb3VuZGVkLWZ1bGwgYm9yZGVyLTIgYm9yZGVyLXdoaXRlLzIwIGJvcmRlci10LXdoaXRlLzYwIGFuaW1hdGUtW2dyaWQtc3Bpbl8wLjhzX2xpbmVhcl9pbmZpbml0ZV0ifSk6bnVsbCxYKCJzcGFuIix7Y2hpbGRyZW46JH0pXX0pfXZhciBtWD1WMihmdW5jdGlvbih7ZWxlbWVudDpKLGluZGV4OlEsYWN0aXZlOlosb25IaWdobGlnaHQ6S30pe2xldCBZPVUyKEopLHE9QzMoSixRKSxHPWAke01hdGgucm91bmQoSi5mcmFtZS53aWR0aCl9eCR7TWF0aC5yb3VuZChKLmZyYW1lLmhlaWdodCl9YCxCPVtxLmxhYmVsLHEucm9sZXx8cS50eXBlfHwiZWxlbWVudCIsR10uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiDCtyAiKTtyZXR1cm4gWCgiZGl2Iix7cm9sZToibGlzdGl0ZW0iLHRhYkluZGV4OjAsImRhdGEtYXgta2V5IjpZLHRpdGxlOkIsb25Nb3VzZUVudGVyOigpPT5LKFkpLG9uTW91c2VMZWF2ZTooKT0+SyhudWxsKSxvbkZvY3VzOigpPT5LKFkpLG9uQmx1cjooKT0+SyhudWxsKSxjbGFzc05hbWU6YGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBnYXAtMiByb3VuZGVkLW1kIHB5LTEgcHgtMC41IG1pbi13LTAgJHtaPyJiZy13aGl0ZS9bMC4wNl0iOiIifWAsY2hpbGRyZW46W1goInNwYW4iLHtjbGFzc05hbWU6ImZsZXggZmxleC1jb2wgZ2FwLTAuNSBmbGV4LTEgbWluLXctMCIsY2hpbGRyZW46W1goInNwYW4iLHtjbGFzc05hbWU6Im92ZXJmbG93LWhpZGRlbiB0ZXh0LWVsbGlwc2lzIHdoaXRlc3BhY2Utbm93cmFwIHRleHQtd2hpdGUvOTAgdGV4dC1bMTJweF0gZm9udC1tZWRpdW0iLGNoaWxkcmVuOkoubGFiZWx8fEoucm9sZXx8IlVubGFiZWxlZCJ9KSxYKCJzcGFuIix7Y2xhc3NOYW1lOiJvdmVyZmxvdy1oaWRkZW4gdGV4dC1lbGxpcHNpcyB3aGl0ZXNwYWNlLW5vd3JhcCB0ZXh0LXdoaXRlLzQ1IGZvbnQtbW9ubyB0ZXh0LVsxMHB4XSIsY2hpbGRyZW46Si5yb2xlfHxKLnR5cGV8fCJlbGVtZW50In0pXX0pLFgoImNvZGUiLHtjbGFzc05hbWU6InNocmluay0wIGJnLXdoaXRlL1swLjA0XSBib3JkZXIgYm9yZGVyLXdoaXRlLzggcm91bmRlZC1tZCB0ZXh0LXdoaXRlLzU1IGZvbnQtbW9ubyB0ZXh0LVsxMHB4XSBweC0xLjUgcHktWzNweF0iLGNoaWxkcmVuOkd9KV19KX0sKCQsSik9PiQuaW5kZXg9PT1KLmluZGV4JiYkLmFjdGl2ZT09PUouYWN0aXZlJiYkLm9uSGlnaGxpZ2h0PT09Si5vbkhpZ2hsaWdodCYmVTMoJC5lbGVtZW50LEouZWxlbWVudCkpO3ZhciBwWD1uZXcgU2V0KFsiaW1hZ2UvanBlZyIsImltYWdlL3BuZyIsImltYWdlL2dpZiIsImltYWdlL2hlaWMiLCJpbWFnZS9oZWlmIiwiaW1hZ2Uvd2VicCIsInZpZGVvL21wNCIsInZpZGVvL3F1aWNrdGltZSJdKSxlOD0xOTY2MDgsajc9NTI0Mjg4MDAwLGIzPSJhcHBsaWNhdGlvbi94LXNlcnZlLXNpbS1ob3N0LXBhdGgiO2FzeW5jIGZ1bmN0aW9uIHY3KCQsSil7bGV0IFE9YXdhaXQgazEoIm1lZGlhLmFkZCIse3VkaWQ6SixwYXRoOiR9KTtpZihRLmV4aXRDb2RlIT09MCl0aHJvdyBFcnJvcihRLnN0ZGVycnx8YGFkZG1lZGlhIGZhaWxlZCAoZXhpdCAke1EuZXhpdENvZGV9KWApfWZ1bmN0aW9uIG0yKCQpe2xldCBKPSQubmFtZSxRPUoubGFzdEluZGV4T2YoIi4iKTtpZihRPj0wKXJldHVybiBKLnNsaWNlKFErMSkudG9Mb3dlckNhc2UoKTtpZigkLnR5cGUuc3RhcnRzV2l0aCgidmlkZW8vIikpcmV0dXJuIm1wNCI7cmV0dXJuImpwZyJ9ZnVuY3Rpb24gUjcoJCl7aWYobTIoJCk9PT0iaXBhIilyZXR1cm4iaXBhIjtpZihwWC5oYXMoJC50eXBlKSlyZXR1cm4ibWVkaWEiO3JldHVybiBudWxsfWZ1bmN0aW9uIHVYKCQpe2xldCBKPW5ldyBVaW50OEFycmF5KCQpLFE9IiI7Zm9yKGxldCBaPTA7WjxKLmxlbmd0aDtaKz0zMjc2OClRKz1TdHJpbmcuZnJvbUNoYXJDb2RlKC4uLkouc3ViYXJyYXkoWixaKzMyNzY4KSk7cmV0dXJuIGJ0b2EoUSl9YXN5bmMgZnVuY3Rpb24gaDcoJCxKLFEpe2xldCBaPSIiLEs9MDtmb3IobGV0IFk9MDtZPCQuc2l6ZTtZKz1lOCl7bGV0IHE9YXdhaXQgJC5zbGljZShZLFkrZTgpLmFycmF5QnVmZmVyKCksRz11WChxKSxCPWF3YWl0IGsxKCJ1cGxvYWQuYXBwZW5kIix7dXBsb2FkSWQ6SixkYXRhOkcsZmlyc3Q6WT09PTB9KTtpZihCLmV4aXRDb2RlIT09MCl0aHJvdyBFcnJvcihCLnN0ZGVycnx8YFdyaXRlIGZhaWxlZCAoZXhpdCAke0IuZXhpdENvZGV9KWApO2lmKFo9Qi5zdGRvdXQudHJpbSgpLCFRKWNvbnRpbnVlO2xldCBOPU1hdGgubWluKFkrZTgsJC5zaXplKSxMPU1hdGguZmxvb3IoTi8kLnNpemUqMTAwKTtpZihMIT09SylLPUwsUShOLyQuc2l6ZSl9cmV0dXJuIFp9YXN5bmMgZnVuY3Rpb24gZzcoJCxKLFEpe2lmKCQuc2l6ZT5qNyl0aHJvdyBFcnJvcigiRmlsZSB0b28gbGFyZ2UgKG1heCA1MDBNQikiKTtyZXR1cm4gYXdhaXQgaDcoJCxgJHtKfS0ke2NyeXB0by5yYW5kb21VVUlEKCl9LiR7UX1gKX1hc3luYyBmdW5jdGlvbiBmNygkLEosUSxaKXtpZigkLnNpemU+ajcpdGhyb3cgRXJyb3IoIkZpbGUgdG9vIGxhcmdlIChtYXggNTAwTUIpIik7bGV0IEs9Sj09PSJpcGEiPyJpcGEiOm0yKCQpLHE9YCR7Sj09PSJpcGEiPyJzZXJ2ZS1zaW0taW5zdGFsbCI6InNlcnZlLXNpbS11cGxvYWQifS0ke2NyeXB0by5yYW5kb21VVUlEKCl9LiR7S31gO3RyeXtaKDApLGF3YWl0IGg3KCQscSxaKSxaKG51bGwpO2xldCBHPWF3YWl0IGsxKEo9PT0iaXBhIj8iYXBwLmluc3RhbGwiOiJtZWRpYS5hZGQiLHt1ZGlkOlEsdXBsb2FkSWQ6cX0pO2lmKEcuZXhpdENvZGUhPT0wKXtsZXQgQj1KPT09ImlwYSI/Imluc3RhbGwiOiJhZGRtZWRpYSI7dGhyb3cgRXJyb3IoRy5zdGRlcnJ8fGAke0J9IGZhaWxlZCAoZXhpdCAke0cuZXhpdENvZGV9KWApfX1maW5hbGx5e2sxKCJ1cGxvYWQucmVtb3ZlIix7dXBsb2FkSWQ6cX0pLmNhdGNoKCgpPT57fSl9fXZhciBsWD0zMDAwO2FzeW5jIGZ1bmN0aW9uIGRYKCQsSj1mZXRjaCl7dHJ5e2xldCBRPWF3YWl0IEooJCx7Y2FjaGU6Im5vLXN0b3JlIn0pO2lmKCFRLm9rKXJldHVybiBudWxsO2xldCBaPWF3YWl0IFEuanNvbigpO3JldHVybiBaJiZ0eXBlb2YgWj09PSJvYmplY3QiJiYhQXJyYXkuaXNBcnJheShaKT9aOm51bGx9Y2F0Y2h7cmV0dXJuIG51bGx9fXZhciBjWD0yMDk3MTUyMDAsb1g9IkxhcmdlIHZpZGVvICg+MjAwIE1CKSDigJQgbWF5IHN0dXR0ZXIgb24gc2hhcmVkIG1lbW9yeSIscDc9IkhFSUMgZGVjb2RlIGZhaWxlZCDigJQgZXhwb3J0IGFzIEpQRUcgb3IgUE5HIGFuZCByZXRyeSI7ZnVuY3Rpb24gaVgoJCxKKXtpZihKKXJldHVybiJhY3RpdmUiO2lmKCQ9PT0iYWN0aXZlIilyZXR1cm4iZGlzY29ubmVjdGVkIjtpZigkPT09ImRpc2Nvbm5lY3RlZCIpcmV0dXJuInJlYWR5IjtyZXR1cm4gJH1mdW5jdGlvbiBuWCgkKXtpZighJC5pbmplY3RlZClyZXR1cm4icGxheSI7aWYoJC5zb3VyY2U9PT0icGxhY2Vob2xkZXIiKXJldHVybiJwbGF5IjtpZigkLmJ1bmRsZUlkJiYhJC5mb3JlZ3JvdW5kSXNJbmplY3RlZClyZXR1cm4iYXR0YWNoIjtyZXR1cm4ic3RvcCJ9ZnVuY3Rpb24gclgoJCl7cmV0dXJuICQuc3BsaXQoYApgKS5tYXAoKEopPT5KLnRyaW0oKSkuZmlsdGVyKEJvb2xlYW4pLmZsYXRNYXAoKEopPT57bGV0IFE9Si5pbmRleE9mKCJcdCIpO2lmKFE8PTApcmV0dXJuW107bGV0IFo9Si5zbGljZSgwLFEpLnRyaW0oKSxLPUouc2xpY2UoUSsxKS50cmltKCk7aWYoIVp8fCFLKXJldHVybltdO3JldHVyblt7aWQ6WixuYW1lOkt9XX0pfXZhciBhWD1uZXcgU2V0KFsibXA0IiwibTR2IiwibW92IiwicXQiLCJhdmkiLCJta3YiLCJ3ZWJtIiwibXBnIiwibXBlZyIsIjNncCIsIjNnMiIsInRzIiwid212Il0pO2Z1bmN0aW9uIHU3KCQpe2lmKCQudHlwZSYmJC50eXBlLnN0YXJ0c1dpdGgoInZpZGVvLyIpKXJldHVybiEwO2xldCBKPSgkLm5hbWU/PyIiKS50b0xvd2VyQ2FzZSgpLFE9Si5sYXN0SW5kZXhPZigiLiIpO2lmKFE8MClyZXR1cm4hMTtyZXR1cm4gYVguaGFzKEouc2xpY2UoUSsxKSl9ZnVuY3Rpb24gc1goJCl7cmV0dXJuIHU3KCQpJiYkLnNpemU+Y1h9ZnVuY3Rpb24gdFgoJCl7bGV0IEo9KCQudHlwZT8/IiIpLnRvTG93ZXJDYXNlKCk7aWYoSj09PSJpbWFnZS9oZWljInx8Sj09PSJpbWFnZS9oZWlmIilyZXR1cm4hMDtsZXQgUT0oJC5uYW1lPz8iIikudG9Mb3dlckNhc2UoKTtyZXR1cm4gUS5lbmRzV2l0aCgiLmhlaWMiKXx8US5lbmRzV2l0aCgiLmhlaWYiKX1mdW5jdGlvbiBlWCh7cmF3TWVzc2FnZTokLGxhc3RGaWxlSXNIZWljOkosc291cmNlOlF9KXtpZihKJiYoUT09PSJpbWFnZSJ8fFE9PT0idmlkZW8iKSlyZXR1cm4gcDc7cmV0dXJuICR9ZnVuY3Rpb24gJEsoe3N0YXRlOiR9KXtsZXQgSj0kPT09ImFjdGl2ZSI/IkFjdGl2ZSI6JD09PSJkaXNjb25uZWN0ZWQiPyJEaXNjb25uZWN0ZWQiOiJSZWFkeSIsUT0kPT09ImFjdGl2ZSI/InNpemUtMS41IHJvdW5kZWQtZnVsbCBiZy1zdWNjZXNzLWVtZXJhbGQgW2JveC1zaGFkb3c6MF8wXzZweF9yZ2JhKDc0LDIyMiwxMjgsMC43KV0iOiQ9PT0iZGlzY29ubmVjdGVkIj8ic2l6ZS0xLjUgcm91bmRlZC1mdWxsIGJnLWRhbmdlci1zb2Z0IFtib3gtc2hhZG93OjBfMF82cHhfcmdiYSgyNDgsMTEzLDExMywwLjU1KV0iOm51bGw7cmV0dXJuIFgoInNwYW4iLHtjbGFzc05hbWU6InRleHQtWzExcHhdIHRleHQtd2hpdGUvNTUgZm9udC1tb25vIGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBnYXAtMS41IGp1c3RpZnktc2VsZi1lbmQgbGVhZGluZy1ub25lIiwiZGF0YS1jYW1lcmEtcGlsbC1zdGF0ZSI6JCxjaGlsZHJlbjpbUSYmWCgic3BhbiIse2NsYXNzTmFtZTpRfSksSl19KX1mdW5jdGlvbiBKSygpe3JldHVybiBYKCJwIix7Y2xhc3NOYW1lOiJtLTAgdGV4dC1jZW50ZXIgdGV4dC1bMTBweF0gbGVhZGluZy1bMS41XSB0ZXh0LXdoaXRlLzQ1IiwiZGF0YS1jYW1lcmEtdGVzdC1wYXR0ZXJuLWhpbnQiOiEwLGNoaWxkcmVuOiJUZXN0LXBhdHRlcm4gZmVlZCJ9KX1mdW5jdGlvbiBRSyh7bW9kZTokLGZpbGVOYW1lOkosd2ViY2FtTmFtZTpRLHNvdXJjZUtpbmQ6Wn0pe2lmKCQ9PT0idXBsb2FkaW5nIilyZXR1cm4gWCgic3BhbiIse2NsYXNzTmFtZToidGV4dC1bMTFweF0gdGV4dC13aGl0ZS81NSIsY2hpbGRyZW46IlVwbG9hZGluZ+KApiJ9KTtpZigkPT09ImZpbGUiKXJldHVybiBYKFgxLHtjaGlsZHJlbjpbWCgiZGl2Iix7Y2xhc3NOYW1lOiJzaHJpbmstMCB0ZXh0LVs5cHhdIHRyYWNraW5nLVswLjFlbV0gdXBwZXJjYXNlIHRleHQtd2hpdGUvNTUgYmctd2hpdGUvWzAuMDZdIGJvcmRlciBib3JkZXItd2hpdGUvOCBweC1bN3B4XSBweS1bMnB4XSByb3VuZGVkLWZ1bGwiLGNoaWxkcmVuOlo9PT0idmlkZW8iPyJWaWRlbyI6IkltYWdlIn0pLFgoInNwYW4iLHtjbGFzc05hbWU6ImZsZXgtMSBtaW4tdy0wIHRydW5jYXRlIHRleHQtWzEycHhdIHRleHQtd2hpdGUvOTAgZm9udC1tb25vIixjaGlsZHJlbjpKPz8iIn0pXX0pO2lmKCQ9PT0id2ViY2FtIilyZXR1cm4gWChYMSx7Y2hpbGRyZW46W1goImRpdiIse2NsYXNzTmFtZToic2hyaW5rLTAgdGV4dC1bOXB4XSB0cmFja2luZy1bMC4xZW1dIHVwcGVyY2FzZSB0ZXh0LXdoaXRlLzU1IGJnLXdoaXRlL1swLjA2XSBib3JkZXIgYm9yZGVyLXdoaXRlLzggcHgtWzdweF0gcHktWzJweF0gcm91bmRlZC1mdWxsIixjaGlsZHJlbjoiV2ViY2FtIn0pLFgoInNwYW4iLHtjbGFzc05hbWU6ImZsZXgtMSBtaW4tdy0wIHRydW5jYXRlIHRleHQtWzEycHhdIHRleHQtd2hpdGUvOTAgZm9udC1tb25vIixjaGlsZHJlbjpRPz8iIn0pXX0pO3JldHVybiBYKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LVsxMnB4XSB0ZXh0LXdoaXRlLzg1IGZvbnQtbWVkaXVtIixjaGlsZHJlbjoiU2VsZWN0IG9yIGRyb3AgbWVkaWEifSl9ZnVuY3Rpb24gbTcoe2tpbmQ6JCxtZXNzYWdlOkp9KXtyZXR1cm4gWCgiZGl2Iix7Y2xhc3NOYW1lOiQ9PT0id2FybmluZyI/ImJnLXdhcm5pbmcvMTAgYm9yZGVyIGJvcmRlci13YXJuaW5nLzI1IHRleHQtd2FybmluZy1zb2Z0IHRleHQtWzExcHhdIHB4LTIgcHktMS41IHJvdW5kZWQtbWQgYnJlYWstd29yZHMiOiJiZy1kYW5nZXIvMTAgYm9yZGVyIGJvcmRlci1kYW5nZXIvMjAgdGV4dC1kYW5nZXItc29mdCB0ZXh0LVsxMXB4XSBweC0yIHB5LTEuNSByb3VuZGVkLW1kIGJyZWFrLXdvcmRzIiwiZGF0YS1jYW1lcmEtYmFubmVyLWtpbmQiOiQscm9sZTokPT09ImVycm9yIj8iYWxlcnQiOiJzdGF0dXMiLGNoaWxkcmVuOkp9KX1mdW5jdGlvbiBsNyh7dWRpZDokLGJ1bmRsZUlkOkp9KXtsZXRbUSxaXT1BKCExKSxbSyxZXT1BKCJwbGFjZWhvbGRlciIpLFtxLEddPUEoIiIpLFtCLE5dPUEobnVsbCksW0wsVl09QSghMSksej1EKDApLFtDLE1dPUEoITEpLFtVLEhdPUEoITEpLE89RChudWxsKSxbayx3XT1BKFtdKSxbUCx4XT1BKCExKSxbRixjXT1BKCIiKSxbaixtXT1BKCJvZmYiKSxbcyxyXT1BKG51bGwpLFtpLFoxXT1BKG51bGwpLGg9cyE9PW51bGx8fGkhPT1udWxsLFtLMSx2XT1BKG51bGwpLFt6MSxIMV09QShudWxsKSxbLFYxXT1BKG51bGwpLFtlLGFdPUEoITEpLFtZMSxSXT1BKCJyZWFkeSIpLFt1LHBdPUEoKCk9Pm5ldyBTZXQpLFtTLG9dPUEobnVsbCksW2wsVzFdPUEobnVsbCksRDE9RCghMSkseTE9RCghMSksTzE9RCgib2ZmIiksVDA9RCghMSksTjA9SShhc3luYygpPT57bGV0IFQ9d2luZG93Ll9fU0lNX1BSRVZJRVdfXz8uY2FtZXJhU3RhdHVzRW5kcG9pbnQ7cmV0dXJuIFQ/ZFgoVCk6bnVsbH0sW10pLEwwPUQoYXN5bmMoKT0+e30pLF8xPUQoSik7RSgoKT0+e18xLmN1cnJlbnQ9Sn0sW0pdKSxFKCgpPT57bGV0IFQ9ITE7cmV0dXJuKGFzeW5jKCk9PntsZXQgZD1hd2FpdCBOMCgpO2lmKFR8fCFkfHwhZC5hbGl2ZSlyZXR1cm47eTEuY3VycmVudD0hMDtsZXQgdD1kLnNvdXJjZTtpZih0PT09InBsYWNlaG9sZGVyInx8dD09PSJ3ZWJjYW0ifHx0PT09ImltYWdlInx8dD09PSJ2aWRlbyIpWSh0KTtpZigodD09PSJpbWFnZSJ8fHQ9PT0idmlkZW8iKSYmZC5hcmcpRyhkLmFyZyksTihkLmFyZy5zcGxpdCgiLyIpLnBvcCgpPz9udWxsKTtpZih0PT09IndlYmNhbSImJmQuYXJnKWMoZC5hcmcpLEwwLmN1cnJlbnQoKTtsZXQgcTE9ZC5taXJyb3I9PT0ib24iPyJvbiI6Im9mZiI7bShxMSksTzEuY3VycmVudD1xMSxvKGQuaGVscGVyUGlkPz9udWxsKSxhKCEwKTtsZXQgajE9QXJyYXkuaXNBcnJheShkLmJ1bmRsZUlkcyk/ZC5idW5kbGVJZHM6W107aWYoajEubGVuZ3RoPjApcChuZXcgU2V0KGoxKSk7bGV0IFUxPV8xLmN1cnJlbnQsRTE9dCYmdCE9PSJwbGFjZWhvbGRlciI7UihVMSYmajEuaW5jbHVkZXMoVTEpJiZFMT8iYWN0aXZlIjoicmVhZHkiKSxWMShgUmVhdHRhY2hlZCDihpIgJHt0Pz8icnVubmluZyBoZWxwZXIifSR7ZC5hcmc/YCAoJHtkLmFyZ30pYDoiIn1gKX0pKCksKCk9PntUPSEwfX0sWyQsTjBdKSxFKCgpPT57bGV0IFQ9ITEsZD0hMSx0PW51bGwscTE9YXN5bmMoKT0+e2lmKFR8fGQpcmV0dXJuO2lmKHR5cGVvZiBkb2N1bWVudDwidSImJmRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PSJoaWRkZW4iKXJldHVybjtkPSEwO3RyeXtsZXQgVTE9YXdhaXQgTjAoKTtpZihUKXJldHVybjtsZXQgRTE9ISFVMT8uYWxpdmUsSzA9QXJyYXkuaXNBcnJheShVMT8uYnVuZGxlSWRzKT9VMS5idW5kbGVJZHM6bnVsbCxzMT0hIUomJihLMD9LMC5pbmNsdWRlcyhKKTp1LmhhcyhKKSksbDE9VTE/LnNvdXJjZT8/bnVsbCx6MD1lJiZFMSYmczEmJiEhKGwxJiZsMSE9PSJwbGFjZWhvbGRlciIpJiYoUz09bnVsbHx8VTE/LmhlbHBlclBpZD09PVMpO2lmKFIoKFkwKT0+aVgoWTAsejApKSwhRTEpYSgoWTApPT57aWYoIVkwKXJldHVybiBZMDtyZXR1cm4gcChuZXcgU2V0KSxvKG51bGwpLE8xLmN1cnJlbnQ9Im9mZiIsITF9KTtlbHNlIGlmKGUmJlMhPW51bGwmJlUxPy5oZWxwZXJQaWQhPT1TKWEoITEpLHAobmV3IFNldCksbyhudWxsKSxPMS5jdXJyZW50PSJvZmYiO2Vsc2UgaWYoRTEmJkFycmF5LmlzQXJyYXkoVTE/LmJ1bmRsZUlkcykpe2xldCBZMD1VMS5idW5kbGVJZHM7cCgoWDIpPT57aWYoWDIuc2l6ZT09PVkwLmxlbmd0aCYmWTAuZXZlcnkoKGwwKT0+WDIuaGFzKGwwKSkpcmV0dXJuIFgyO3JldHVybiBuZXcgU2V0KFkwKX0pfX1maW5hbGx5e2Q9ITF9fTt0PXNldEludGVydmFsKCgpPT57cTEoKX0sbFgpO2xldCBqMT0oKT0+e2lmKGRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PSJ2aXNpYmxlIilxMSgpfTtpZih0eXBlb2YgZG9jdW1lbnQ8InUiKWRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLGoxKTtyZXR1cm4oKT0+e2lmKFQ9ITAsdCljbGVhckludGVydmFsKHQpO2lmKHR5cGVvZiBkb2N1bWVudDwidSIpZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsajEpfX0sW04wLGUsUyxKLHVdKTtsZXQgSjA9SShhc3luYygpPT57eCghMCksdihudWxsKTt0cnl7bGV0IFQ9YXdhaXQgazEoImNhbWVyYS5saXN0V2ViY2FtcyIpO2lmKFQuZXhpdENvZGUhPT0wKXt2KFQuc3RkZXJyLnRyaW0oKXx8YC0tbGlzdC13ZWJjYW1zIGZhaWxlZCAoJHtULmV4aXRDb2RlfSlgKTtyZXR1cm59bGV0IGQ9clgoVC5zdGRvdXQpO2lmKHcoZCksZC5sZW5ndGg+MCYmIUYpYyhkWzBdLmlkKX1maW5hbGx5e3goITEpfX0sW0ZdKTtFKCgpPT57TDAuY3VycmVudD1KMH0sW0owXSksRSgoKT0+e2lmKFUmJmsubGVuZ3RoPT09MCYmIVApSjAoKX0sW1Usay5sZW5ndGgsUCxKMF0pO2xldCBxMD1JKChUKT0+e3YoZVgoe3Jhd01lc3NhZ2U6VCxsYXN0RmlsZUlzSGVpYzpEMS5jdXJyZW50LHNvdXJjZTpLfSkpfSxbS10pLFQxPUkoYXN5bmMoVCxkLHQpPT57bGV0IHExPVQ9PT0iaW1hZ2UifHxUPT09InZpZGVvIjtpZihxMSYmIXQudHJpbSgpKXJldHVybiB2KCJEcm9wIGEgZmlsZSBpbnRvIHRoZSBwYW5lbCBvciBwaWNrIGFub3RoZXIgc291cmNlLiIpLCExO2xldCBqMT1xMT90LnRyaW0oKTpUPT09IndlYmNhbSI/ZDp2b2lkIDAsVTE9YXdhaXQgazEoImNhbWVyYS5zd2l0Y2giLHtzb3VyY2U6cTE/ImZpbGUiOlQsdGFyZ2V0OmoxLHVkaWQ6JH0pO2lmKFUxLmV4aXRDb2RlIT09MClyZXR1cm4gcTAoVTEuc3RkZXJyLnRyaW0oKXx8VTEuc3Rkb3V0LnRyaW0oKXx8YHN3aXRjaCBmYWlsZWQgKCR7VTEuZXhpdENvZGV9KWApLCExO0QxLmN1cnJlbnQ9ITE7dHJ5e2xldCBFMT1KU09OLnBhcnNlKFUxLnN0ZG91dC50cmltKCkpO1YxKGBTd2l0Y2hlZCDihpIgJHtFMS5zb3VyY2U/P1R9JHtFMS5hcmc/YCAoJHtFMS5hcmd9KWA6IiJ9YCl9Y2F0Y2h7VjEoYFN3aXRjaGVkIOKGkiAke1R9YCl9cmV0dXJuITB9LFskLHEwXSksJDE9SShhc3luYygpPT57aWYoIUopcmV0dXJuO3IoImluamVjdCIpLHYobnVsbCksVjEobnVsbCk7dHJ5e2xldCBUPUs9PT0iaW1hZ2UifHxLPT09InZpZGVvIjtpZihUJiYhcS50cmltKCkpe3YoIkRyb3AgYSBmaWxlIGludG8gdGhlIHBhbmVsIG9yIHBpY2sgYW5vdGhlciBzb3VyY2UuIik7cmV0dXJufWxldCBkPWF3YWl0IGsxKCJjYW1lcmEuaW5qZWN0Iix7YnVuZGxlSWQ6Six1ZGlkOiQsbWlycm9yOmosc291cmNlOlQ/ImZpbGUiOkssdGFyZ2V0OlQ/cS50cmltKCk6Rnx8dm9pZCAwfSk7aWYoZC5leGl0Q29kZSE9PTApe3EwKGQuc3RkZXJyLnRyaW0oKXx8ZC5zdGRvdXQudHJpbSgpfHxgaW5qZWN0IGZhaWxlZCAoJHtkLmV4aXRDb2RlfSlgKTtyZXR1cm59RDEuY3VycmVudD0hMTtsZXQgdD1udWxsO3RyeXtsZXQgcTE9SlNPTi5wYXJzZShkLnN0ZG91dC50cmltKCkpO3Q9cTEuaGVscGVyUGlkPz9udWxsO2xldCBqMT1xMS5oZWxwZXJSZWxhdW5jaGVkPT09ITE/IkF0dGFjaGVkIjoiSW5qZWN0ZWQiLFUxPXExLnBpZD9gIHBpZCAke3ExLnBpZH1gOiIiLEUxPXExLmhlbHBlclBpZD9gLCBoZWxwZXIgcGlkICR7cTEuaGVscGVyUGlkfWA6IiI7VjEoYCR7ajF9ICR7cTEuc291cmNlPz9LfSBpbnRvICR7Sn0ke1UxfSR7RTF9YCl9Y2F0Y2h7VjEoZC5zdGRvdXQudHJpbSgpfHwiSW5qZWN0ZWQuIil9YSghMCksUihLPT09InBsYWNlaG9sZGVyIj8icmVhZHkiOiJhY3RpdmUiKSxvKHQpLHAoKHExKT0+cTEuaGFzKEopP3ExOm5ldyBTZXQocTEpLmFkZChKKSksTzEuY3VycmVudD1qfWZpbmFsbHl7cihudWxsKX19LFtKLCQsSyxxLEYsaixxMF0pLEIxPWU/YCR7S306OiR7Sz09PSJ3ZWJjYW0iP0Y6IiJ9Ojoke0s9PT0iaW1hZ2UifHxLPT09InZpZGVvIj9xOiIifWA6bnVsbCxHMT0hIUomJnUuaGFzKEopLEExPUcxJiZLIT09InBsYWNlaG9sZGVyIjtFKCgpPT57aWYoIUExKXtUMC5jdXJyZW50PSExO3JldHVybn1pZihUMC5jdXJyZW50KXJldHVybjtUMC5jdXJyZW50PSEwLFooITApfSxbQTFdKSxFKCgpPT57aWYoIWwpcmV0dXJuO2lmKCFKfHxofHxDKXJldHVybjtpZihLIT09IndlYmNhbSJ8fEYhPT1sKXJldHVybjtpZihXMShudWxsKSxlKXJldHVybjskMSgpfSxbbCxKLGgsQyxLLEYsZSwkMV0pLEUoKCk9PntpZighZSlyZXR1cm47aWYoKEs9PT0iaW1hZ2UifHxLPT09InZpZGVvIikmJiFxLnRyaW0oKSlyZXR1cm47aWYoSz09PSJ3ZWJjYW0iJiYhRilyZXR1cm47aWYoeTEuY3VycmVudCl7eTEuY3VycmVudD0hMTtyZXR1cm59bGV0IFQ9ITE7cmV0dXJuKGFzeW5jKCk9PntaMSgic3dpdGNoIiksdihudWxsKTt0cnl7aWYoVClyZXR1cm47YXdhaXQgVDEoSyxGLHEpfWZpbmFsbHl7aWYoIVQpWjEobnVsbCl9fSkoKSwoKT0+e1Q9ITB9fSxbQjFdKSxFKCgpPT57aWYoIWUpcmV0dXJuO2lmKE8xLmN1cnJlbnQ9PT1qKXJldHVybjtsZXQgVD1qLGQ9ITE7cmV0dXJuKGFzeW5jKCk9PntaMSgibWlycm9yIiksdihudWxsKTt0cnl7bGV0IHQ9YXdhaXQgazEoImNhbWVyYS5taXJyb3IiLHt2YWx1ZTpULHVkaWQ6JH0pO2lmKGQpcmV0dXJuO2lmKHQuZXhpdENvZGUhPT0wKXt2KHQuc3RkZXJyLnRyaW0oKXx8dC5zdGRvdXQudHJpbSgpfHxgbWlycm9yIGZhaWxlZCAoJHt0LmV4aXRDb2RlfSlgKTtyZXR1cm59TzEuY3VycmVudD1ULFYxKGBNaXJyb3Ig4oaSICR7VH1gKX1maW5hbGx5e2lmKCFkKVoxKG51bGwpfX0pKCksKCk9PntkPSEwfX0sW2osZV0pO2xldCB4MT1JKGFzeW5jKCk9PntyKCJzdG9wIiksdihudWxsKTt0cnl7bGV0IFQ9YXdhaXQgazEoImNhbWVyYS5zdG9wV2ViY2FtIix7dWRpZDokfSk7aWYoVC5leGl0Q29kZSE9PTApe3YoVC5zdGRlcnIudHJpbSgpfHxgc3RvcC13ZWJjYW0gZmFpbGVkICgke1QuZXhpdENvZGV9KWApO3JldHVybn1WMSgiQ2FtZXJhIGhlbHBlciBzdG9wcGVkLiIpLGEoITEpLFIoInJlYWR5IikscChuZXcgU2V0KSxPMS5jdXJyZW50PSJvZmYifWZpbmFsbHl7cihudWxsKX19LFskXSksUzE9SShhc3luYyhUKT0+e2xldCBkPXRYKHt0eXBlOlQudHlwZSxuYW1lOlQubmFtZX0pLHQ9VC50eXBlLnN0YXJ0c1dpdGgoImltYWdlLyIpfHxkLHExPVQudHlwZS5zdGFydHNXaXRoKCJ2aWRlby8iKXx8dTcoe3R5cGU6VC50eXBlLG5hbWU6VC5uYW1lfSk7aWYoIXQmJiFxMSl7RDEuY3VycmVudD0hMSx2KGBVbnN1cHBvcnRlZCBmaWxlIHR5cGU6ICR7VC50eXBlfHxULm5hbWV9YCk7cmV0dXJufWlmKE0oITApLHYobnVsbCksSDEobnVsbCksc1goe3R5cGU6VC50eXBlLG5hbWU6VC5uYW1lLHNpemU6VC5zaXplfSkpSDEob1gpO0QxLmN1cnJlbnQ9ZDt0cnl7bGV0IGoxPW0yKFQpLFUxPWF3YWl0IGc3KFQsInNlcnZlLXNpbS1jYW1zcmMiLGoxKTtOKFQubmFtZSksWShxMT8idmlkZW8iOiJpbWFnZSIpLEcoVTEpLFYxKGBMb2FkZWQgJHtULm5hbWV9YCl9Y2F0Y2goajEpe2lmKEQxLmN1cnJlbnQpdihwNyk7ZWxzZSB2KGoxPy5tZXNzYWdlPz8iVXBsb2FkIGZhaWxlZCIpfWZpbmFsbHl7TSghMSl9fSxbXSksbTE9SShhc3luYyhUKT0+e1QucHJldmVudERlZmF1bHQoKSxULnN0b3BQcm9wYWdhdGlvbigpLHouY3VycmVudD0wLFYoITEpO2xldCBkPVQuZGF0YVRyYW5zZmVyPy5maWxlcz8uWzBdO2lmKGQpYXdhaXQgUzEoZCl9LFtTMV0pLE0xPUkoKCk9PntZKCJwbGFjZWhvbGRlciIpLEcoIiIpLE4obnVsbCksdihudWxsKSxIMShudWxsKSxEMS5jdXJyZW50PSExfSxbXSksUDE9SSgoKT0+e08uY3VycmVudD8uY2xpY2soKX0sW10pLG8xPUkoYXN5bmMoVCk9PntsZXQgZD1ULnRhcmdldCx0PWQuZmlsZXM/LlswXTtpZihkLnZhbHVlPSIiLHQpYXdhaXQgUzEodCl9LFtTMV0pO0UoKCk9PntpZighVSlyZXR1cm47bGV0IFQ9KGQpPT57bGV0IHQ9ZC50YXJnZXQ7aWYodCBpbnN0YW5jZW9mIEVsZW1lbnQmJnQuY2xvc2VzdCgiW2RhdGEtY2FtZXJhLXNvdXJjZS1tZW51XSIpKXJldHVybjtIKCExKX07cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLFQpLCgpPT53aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixUKX0sW1VdKTtsZXQgUTA9SSgoVCk9PntpZihjKFQuaWQpLFkoIndlYmNhbSIpLE4obnVsbCksdihudWxsKSxEMS5jdXJyZW50PSExLEgoITEpLEopVzEoVC5pZCl9LFtKXSksVTA9SSgoKT0+e20oKFQpPT5UPT09Im9uIj8ib2ZmIjoib24iKX0sW10pLFIxPSFlfHxLPT09InBsYWNlaG9sZGVyIixuMT1JKChUKT0+e2lmKFQucHJldmVudERlZmF1bHQoKSx6LmN1cnJlbnQrKyx6LmN1cnJlbnQ9PT0xKVYoITApfSxbXSksRTA9SSgoVCk9PntpZihULnByZXZlbnREZWZhdWx0KCksVC5kYXRhVHJhbnNmZXIpVC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdD0iY29weSJ9LFtdKSxwMT1JKChUKT0+e2lmKFQucHJldmVudERlZmF1bHQoKSx6LmN1cnJlbnQtLSx6LmN1cnJlbnQ8PTApei5jdXJyZW50PTAsVighMSl9LFtdKSxaMD1uWCh7YnVuZGxlSWQ6SixpbmplY3RlZDplLHNvdXJjZTpLLGZvcmVncm91bmRJc0luamVjdGVkOkcxfSksWDA9WjA9PT0ic3RvcCI/e2xhYmVsOnM9PT0ic3RvcCI/IlN0b3BwaW5n4oCmIjoiU3RvcCIsb25DbGljazp4MSxraW5kOiJzdG9wIn06WjA9PT0iYXR0YWNoIj97bGFiZWw6cz09PSJpbmplY3QiPyJJbmplY3RpbmfigKYiOmBJbmplY3QgJHtKfWAsb25DbGljazokMSxraW5kOiJhdHRhY2gifTp7bGFiZWw6cz09PSJpbmplY3QiPyJTdGFydGluZ+KApiI6IlBsYXkiLG9uQ2xpY2s6JDEsa2luZDoicGxheSJ9LHUxPVowPT09InN0b3AiP0N8fHMhPT1udWxsOiFKfHxDfHxzIT09bnVsbCx3MT1LPT09InBsYWNlaG9sZGVyIixGMD1LPT09IndlYmNhbSIsUjA9KEs9PT0iaW1hZ2UifHxLPT09InZpZGVvIikmJiEhQixXMD1GMD9rLmZpbmQoKFQpPT5ULmlkPT09Rik/Lm5hbWU/P0Y/PyJXZWJjYW0iOm51bGwsRzA9Qz8idXBsb2FkaW5nIjpSMD8iZmlsZSI6RjA/IndlYmNhbSI6InBsYWNlaG9sZGVyIjtyZXR1cm4gWCgkMCx7b3BlbjpRLG9uT3BlbkNoYW5nZTpaLGJvZHlDbGFzc05hbWU6InB0LTIuNSIsc3VtbWFyeUNsYXNzTmFtZToiZ3JpZCBbZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOmF1dG9fMWZyX2F1dG9dIGl0ZW1zLWNlbnRlciBnYXAtMiB0ZXh0LWxlZnQiLHN1bW1hcnk6WChYMSx7Y2hpbGRyZW46W1goInNwYW4iLHtjbGFzc05hbWU6InRleHQtWzExcHhdIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZS81MCB1cHBlcmNhc2UgdHJhY2tpbmctWzAuMDhlbV0gbGVhZGluZy1ub25lIGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciIsY2hpbGRyZW46IkNhbWVyYSJ9KSxYKCRLLHtzdGF0ZTpZMX0pXX0pLGNoaWxkcmVuOlgoImRpdiIse29uRHJhZ0VudGVyOm4xLG9uRHJhZ092ZXI6RTAsb25EcmFnTGVhdmU6cDEsb25Ecm9wOm0xLGNsYXNzTmFtZToiZmxleCBmbGV4LWNvbCBnYXAtMi41IixjaGlsZHJlbjpbWCgicCIse2NsYXNzTmFtZToibS0wIHRleHQtWzEwcHhdIGxlYWRpbmctWzEuNV0gdGV4dC13aGl0ZS80NSIsY2hpbGRyZW46IlJlcGxhY2VzIHRoZSBzaW11bGF0b3IncyBjYW1lcmEgZmVlZCBieSBpbmplY3RpbmcgYSBkeWxpYiBhdCBhcHAgbGF1bmNoIGFuZCBzdHJlYW1pbmcgZnJhbWVzIGludG8gc2hhcmVkIG1lbW9yeS4gUGljayBtZWRpYSBvciBhIHdlYmNhbSwgdGhlbiBQbGF5IHRvIGluamVjdCBpbnRvIHRoZSBmb3JlZ3JvdW5kIGFwcC4ifSksWCgiaW5wdXQiLHtyZWY6Tyx0eXBlOiJmaWxlIixhY2NlcHQ6ImltYWdlLyosdmlkZW8vKiIsY2xhc3NOYW1lOiJoaWRkZW4iLG9uQ2hhbmdlOm8xfSksWCgiZGl2Iix7b25DbGljazooVCk9PntpZighdzEpcmV0dXJuO2lmKFQudGFyZ2V0LmNsb3Nlc3QoIltkYXRhLWNsZWFyLW1lZGlhXSIpKXJldHVybjtQMSgpfSx0aXRsZTp3MT8iTm8gc291cmNlIHNlbGVjdGVkIOKAlCBQbGF5IHVzZXMgYSB0ZXN0LXBhdHRlcm4gZmVlZC4gQ2xpY2sgdG8gcGljayBhbiBpbWFnZS92aWRlbywgb3IgZHJvcCBvbmUgaGVyZS4iOkYwP2BTb3VyY2U6ICR7VzB9YDpgU291cmNlOiAke0I/P0t9YCxjbGFzc05hbWU6WyJyZWxhdGl2ZSBtaW4taC1bNDRweF0gZmxleCBmbGV4LXJvdyBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLTIuNSBweC0zLjUgcHktMi41IHJvdW5kZWQtWzdweF0gdGV4dC1jZW50ZXIgdHJhbnNpdGlvbi1bYm9yZGVyLWNvbG9yLGJhY2tncm91bmRdIGR1cmF0aW9uLTE1MCIsdzE/ImJnLXdoaXRlL1swLjA0XSBib3JkZXIgYm9yZGVyLWRhc2hlZCBib3JkZXItd2hpdGUvMTIiOiJiZy13aGl0ZS9bMC4wNF0gYm9yZGVyIGJvcmRlci13aGl0ZS84IixMPyIhYmctW3JnYmEoMTAsMTMyLDI1NSwwLjA4KV0gIWJvcmRlci1bcmdiYSgxMCwxMzIsMjU1LDAuNildIjoiIixDPyJjdXJzb3ItcHJvZ3Jlc3MiOncxPyJjdXJzb3ItcG9pbnRlciI6ImN1cnNvci1kZWZhdWx0Il0uam9pbigiICIpLGNoaWxkcmVuOltYKFFLLHttb2RlOkcwLGZpbGVOYW1lOkIsd2ViY2FtTmFtZTpXMCxzb3VyY2VLaW5kOkt9KSwhdzEmJiFDJiZYKCJidXR0b24iLHsiZGF0YS1jbGVhci1tZWRpYSI6ITAsb25DbGljazooVCk9PntULnN0b3BQcm9wYWdhdGlvbigpLE0xKCl9LGNsYXNzTmFtZToic2hyaW5rLTAgdy01IGgtNSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBiZy10cmFuc3BhcmVudCBib3JkZXItbm9uZSB0ZXh0LXdoaXRlLzU1IGhvdmVyOnRleHQtd2hpdGUvOTAgY3Vyc29yLXBvaW50ZXIgcC0wIiwiYXJpYS1sYWJlbCI6IkNsZWFyIHNvdXJjZSIsdGl0bGU6IkNsZWFyIOKGkiBwbGFjZWhvbGRlciIsY2hpbGRyZW46WChQMCx7c2l6ZToxNCxzdHJva2VXaWR0aDoyfSl9KV19KSx3MSYmIUMmJlgoSksse30pLFgoImRpdiIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1zdHJldGNoIGdhcC0xLjUiLGNoaWxkcmVuOltYKCJkaXYiLHtjbGFzc05hbWU6InJlbGF0aXZlIiwiZGF0YS1jYW1lcmEtc291cmNlLW1lbnUiOiEwLGNoaWxkcmVuOltYKCJidXR0b24iLHtvbkNsaWNrOigpPT5IKChUKT0+IVQpLGNsYXNzTmFtZToiaC1mdWxsIG1pbi1oLVszNnB4XSB3LTEwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGJnLXRyYW5zcGFyZW50IGJvcmRlciBib3JkZXItd2hpdGUvMTIgdGV4dC13aGl0ZS84NSByb3VuZGVkLVs3cHhdIGN1cnNvci1wb2ludGVyIHAtMCBob3ZlcjpiZy13aGl0ZS9bMC4wNl0gaG92ZXI6Ym9yZGVyLXdoaXRlLzIwIGhvdmVyOnRleHQtd2hpdGUiLCJhcmlhLWhhc3BvcHVwIjoibWVudSIsImFyaWEtZXhwYW5kZWQiOlUsdGl0bGU6Sz09PSJ3ZWJjYW0iP2BTb3VyY2U6IHdlYmNhbSR7Rj9gICgke2suZmluZCgoVCk9PlQuaWQ9PT1GKT8ubmFtZT8/Rn0pYDoiIn0g4oCUIGNsaWNrIHRvIGNoYW5nZWA6YFNvdXJjZTogJHtLfSDigJQgY2xpY2sgdG8gcGljayBtZWRpYSBvciB3ZWJjYW1gLCJhcmlhLWxhYmVsIjoiQ2hvb3NlIGNhbWVyYSBzb3VyY2UiLGNoaWxkcmVuOlgoVTUse3NpemU6MjAsc3Ryb2tlV2lkdGg6Mn0pfSksVSYmWCgiZGl2Iix7cm9sZToibWVudSIsY2xhc3NOYW1lOiJhYnNvbHV0ZSB0b3AtW2NhbGMoMTAwJSs2cHgpXSBsZWZ0LTAgei0xMCBtaW4tdy1bMjAwcHhdIGZsZXggZmxleC1jb2wgZ2FwLXB4IHAtMSBiZy1wYW5lbCBib3JkZXIgYm9yZGVyLXdoaXRlLzggcm91bmRlZC1bN3B4XSBzaGFkb3ctWzBfOHB4XzI0cHhfcmdiYSgwLDAsMCwwLjQpXSIsY2hpbGRyZW46W1goImJ1dHRvbiIse3JvbGU6Im1lbnVpdGVtIixjbGFzc05hbWU6InRleHQtbGVmdCBiZy10cmFuc3BhcmVudCBib3JkZXItbm9uZSB0ZXh0LXdoaXRlLzg1IHRleHQtWzEycHhdIHB4LTIuNSBweS1bN3B4XSByb3VuZGVkLW1kIGN1cnNvci1wb2ludGVyIGhvdmVyOmJnLXdoaXRlL1swLjA2XSIsb25DbGljazooKT0+e0goITEpLFAxKCl9LHRpdGxlOiJQaWNrIGFuIGltYWdlIG9yIHZpZGVvIGZyb20gZGlzayIsY2hpbGRyZW46IkJyb3dzZSBtZWRpYeKApiJ9KSxYKCJkaXYiLHtjbGFzc05hbWU6ImgtcHggYmctd2hpdGUvOCBteS0xIn0pLFgoImRpdiIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHBsLTIuNSBwci0yIHB0LTEgcGItWzJweF0iLGNoaWxkcmVuOltYKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LVsxMHB4XSB0ZXh0LXdoaXRlLzQ1IHVwcGVyY2FzZSB0cmFja2luZy1bMC4wOGVtXSIsY2hpbGRyZW46UD8iQ2FtZXJhcyAobG9hZGluZ+KApikiOmsubGVuZ3RoPT09MD8iTm8gY2FtZXJhcyI6IkNhbWVyYXMifSksWCgiYnV0dG9uIix7b25DbGljazooVCk9PntULnN0b3BQcm9wYWdhdGlvbigpLEowKCl9LGRpc2FibGVkOlAsY2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB3LVsyMnB4XSBoLVsyMnB4XSBiZy10cmFuc3BhcmVudCBib3JkZXItbm9uZSByb3VuZGVkLVs1cHhdIHRleHQtd2hpdGUvNTUgaG92ZXI6dGV4dC13aGl0ZS85MCBjdXJzb3ItcG9pbnRlciBwLTAgZGlzYWJsZWQ6b3BhY2l0eS01MCIsImFyaWEtbGFiZWwiOiJSZWZyZXNoIGNhbWVyYXMiLHRpdGxlOiJSZWZyZXNoIGNhbWVyYXMiLGNoaWxkcmVuOlgoejIse3NpemU6MTMsc3Ryb2tlV2lkdGg6Mn0pfSldfSksay5tYXAoKFQpPT57bGV0IGQ9Sz09PSJ3ZWJjYW0iJiZGPT09VC5pZDtyZXR1cm4gWCgiYnV0dG9uIix7cm9sZToibWVudWl0ZW0iLGNsYXNzTmFtZTpbInRleHQtbGVmdCBiZy10cmFuc3BhcmVudCBib3JkZXItbm9uZSB0ZXh0LVsxMnB4XSBweC0yLjUgcHktWzdweF0gcm91bmRlZC1tZCBjdXJzb3ItcG9pbnRlciBob3ZlcjpiZy13aGl0ZS9bMC4wNl0iLGQ/IiFiZy13aGl0ZS9bMC4xMl0gIXRleHQtd2hpdGUiOiJ0ZXh0LXdoaXRlLzg1Il0uam9pbigiICIpLG9uQ2xpY2s6KCk9PlEwKFQpLHRpdGxlOlQubmFtZSxjaGlsZHJlbjpULm5hbWV9LFQuaWQpfSldfSldfSksWCgiYnV0dG9uIix7b25DbGljazpYMC5vbkNsaWNrLGRpc2FibGVkOnUxLGNsYXNzTmFtZTpbImZsZXgtMSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAtMS41IHB5LTIgcHgtMi41IGJvcmRlci1ub25lIHJvdW5kZWQtWzdweF0gdGV4dC1bMTJweF0gZm9udC1zZW1pYm9sZCBjdXJzb3ItcG9pbnRlciBkaXNhYmxlZDpvcGFjaXR5LTUwIG1pbi1oLVszNnB4XSIsWDAua2luZD09PSJzdG9wIj8iYmctd2hpdGUvWzAuMTZdIHRleHQtd2hpdGUgZW5hYmxlZDpob3ZlcjpiZy13aGl0ZS9bMC4yMl0iOiJiZy1zdWNjZXNzLWVtZXJhbGQgdGV4dC1bIzA2MjAxOF0gZW5hYmxlZDpob3ZlcjpicmlnaHRuZXNzLVsxLjA4XSJdLmpvaW4oIiAiKSx0aXRsZTpYMC5raW5kPT09InN0b3AiPyJTdG9wIHRoZSBjYW1lcmEgaGVscGVyIGFuZCB0ZXJtaW5hdGUgaW5qZWN0ZWQgYXBwcyI6WDAua2luZD09PSJhdHRhY2giP2BJbmplY3QgJHtKfSBzbyBpdCBqb2lucyB0aGUgY2FtZXJhIGZlZWRgOiFKPyJCcmluZyBhbiBhcHAgdG8gdGhlIGZvcmVncm91bmQgZmlyc3QiOiJTdGFydDogaW5qZWN0IHRoZSBkeWxpYiBhbmQgbGF1bmNoIHRoZSBmb3JlZ3JvdW5kIGFwcCB3aXRoIHRoZSBjaG9zZW4gc291cmNlIiwiYXJpYS1wcmVzc2VkIjpYMC5raW5kPT09InN0b3AiLCJhcmlhLWxhYmVsIjpYMC5raW5kPT09InN0b3AiPyJTdG9wIjoiUGxheSIsY2hpbGRyZW46W1gwLmtpbmQ9PT0ic3RvcCI/WChQNSx7fSk6WChfNSx7fSksWCgic3BhbiIse2NoaWxkcmVuOlgwLmtpbmQ9PT0ic3RvcCI/IlN0b3AiOlgwLmtpbmQ9PT0iYXR0YWNoIj8iSW5qZWN0IjoiUGxheSJ9KV19KSxYKCJidXR0b24iLHt0eXBlOiJidXR0b24iLG9uQ2xpY2s6VTAsZGlzYWJsZWQ6UjEsY2xhc3NOYW1lOmBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB3LTEwIG1pbi1oLVszNnB4XSBib3JkZXIgcm91bmRlZC1bN3B4XSBmb250LVtpbmhlcml0XSBkaXNhYmxlZDpvcGFjaXR5LTUwIGRpc2FibGVkOmN1cnNvci1ub3QtYWxsb3dlZCBhY3RpdmU6c2NhbGUtWzAuOTddICR7aj09PSJvbiI/ImJnLXdoaXRlIGJvcmRlci13aGl0ZSB0ZXh0LVsjMGEwYTBjXSBjdXJzb3ItcG9pbnRlciBlbmFibGVkOmhvdmVyOmJnLXdoaXRlL1swLjg4XSBlbmFibGVkOmhvdmVyOmJvcmRlci13aGl0ZS9bMC44OF0gZW5hYmxlZDpob3Zlcjp0ZXh0LVsjMGEwYTBjXSI6ImJnLXdoaXRlL1swLjA0XSBib3JkZXItd2hpdGUvOCB0ZXh0LXdoaXRlLzg1IGN1cnNvci1wb2ludGVyIGVuYWJsZWQ6aG92ZXI6Ymctd2hpdGUvWzAuMDldIGVuYWJsZWQ6aG92ZXI6Ym9yZGVyLVtyZ2JhKDI1NSwyNTUsMjU1LDAuMTgpXSBlbmFibGVkOmhvdmVyOnRleHQtd2hpdGUifWAsImFyaWEtbGFiZWwiOmBNaXJyb3I6ICR7an0g4oCUIHRhcCB0byB0b2dnbGVgLHRpdGxlOlIxPyJNaXJyb3IgdG9nZ2xlIGF2YWlsYWJsZSBvbmNlIGEgc291cmNlIGlzIHN0cmVhbWluZyI6YE1pcnJvcjogJHtqfSDigJQgY2xpY2sgdG8gdG9nZ2xlYCwiYXJpYS1wcmVzc2VkIjpqPT09Im9uIixjaGlsZHJlbjpYKE41LHtzaXplOjIwLHN0cm9rZVdpZHRoOjIsZmlsbDpqPT09Im9uIj8iY3VycmVudENvbG9yIjoibm9uZSJ9KX0pXX0pLHoxJiZYKG03LHtraW5kOiJ3YXJuaW5nIixtZXNzYWdlOnoxfSksSzEmJlgobTcse2tpbmQ6ImVycm9yIixtZXNzYWdlOksxfSldfSl9KX12YXIgZDc9NTAwO2Z1bmN0aW9uIGM3KHt1ZGlkOiQsZXZlbnRzRW5kcG9pbnQ6Sn0pe2xldFtRLFpdPUEoITEpLFtLLFldPUEoW10pLFtxLEddPUEoITEpLEI9YjEoKCk9Pko/P2Ake3YxKCJhcGkvZXZlbnQtbG9nL2V2ZW50cyIpfT9kZXZpY2U9JHtlbmNvZGVVUklDb21wb25lbnQoJCl9YCxbSiwkXSk7RSgoKT0+e0coITEpLFkoW10pO2xldCBMPVMwKEIpO3JldHVybiBMLm9ubWVzc2FnZT0oe2RhdGE6Vn0pPT57dHJ5e2xldCB6PUpTT04ucGFyc2UoVik7aWYoRyghMSksQXJyYXkuaXNBcnJheSh6LmV2ZW50cykpWSh6LmV2ZW50cy5zbGljZSgtZDcpKTtlbHNlIGlmKHouZXZlbnQpWSgoQyk9PntyZXR1cm5bLi4uQy5maWx0ZXIoKFUpPT5VLmlkIT09ei5ldmVudC5pZCksei5ldmVudF0uc2xpY2UoLWQ3KX0pfWNhdGNoe319LEwub25lcnJvcj0oKT0+RyghMCksKCk9PkwuY2xvc2UoKX0sW0JdKTtsZXQgTj1iMSgoKT0+Sy5zbGljZSgpLnJldmVyc2UoKSxbS10pO3JldHVybiBYKCQwLHtvcGVuOlEsb25PcGVuQ2hhbmdlOlosImRhdGEtZXZlbnQtbG9nIjoiIixzdW1tYXJ5Q2xhc3NOYW1lOiJncmlkIFtncmlkLXRlbXBsYXRlLWNvbHVtbnM6YXV0b18xZnJfYXV0b10gaXRlbXMtY2VudGVyIGdhcC0yIHRleHQtbGVmdCIsc3VtbWFyeTpYKFgxLHtjaGlsZHJlbjpbWCgic3BhbiIse2NsYXNzTmFtZToidGV4dC1bMTFweF0gZm9udC1zZW1pYm9sZCB0ZXh0LXdoaXRlLzUwIHVwcGVyY2FzZSB0cmFja2luZy1bMC4wOGVtXSBsZWFkaW5nLW5vbmUiLGNoaWxkcmVuOiJFdmVudCBMb2cifSksWCgic3BhbiIse2NsYXNzTmFtZToianVzdGlmeS1zZWxmLWVuZCByb3VuZGVkLW1kIGJvcmRlciBib3JkZXItd2hpdGUvOCBiZy13aGl0ZS9bMC4wNF0gcHgtMS41IHB5LVszcHhdIHRleHQtWzEwcHhdIGZvbnQtbW9ubyB0ZXh0LXdoaXRlLzYwIixjaGlsZHJlbjpLLmxlbmd0aH0pXX0pLGNoaWxkcmVuOk4ubGVuZ3RoPT09MD9YKCJkaXYiLHtyb2xlOiJzdGF0dXMiLCJhcmlhLWxpdmUiOiJwb2xpdGUiLGNsYXNzTmFtZToiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcHktNCB0ZXh0LVsxMnB4XSB0ZXh0LXdoaXRlLzQ1IixjaGlsZHJlbjpxPyJEaXNjb25uZWN0ZWQiOiJObyBldmVudHMgeWV0In0pOlgoImRpdiIse2NsYXNzTmFtZToiZmxleCBtYXgtaC1bMzIwcHhdIGZsZXgtY29sIGdhcC0xIG92ZXJmbG93LXktYXV0byBweS0wLjUgW3Njcm9sbGJhci13aWR0aDp0aGluXSIscm9sZToibGlzdCIsY2hpbGRyZW46Ti5tYXAoKEwpPT5YKFpLLHtldmVudDpMfSxMLmlkKSl9KX0pfWZ1bmN0aW9uIFpLKHtldmVudDokfSl7bGV0IEo9WEsoJC50aW1lc3RhbXApLFE9WyQuc291cmNlLCQua2luZCwkLmFjdGlvbl0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiAvICIpLFo9JC5tc2c/PyQuc3VtbWFyeSxLPSQuc3RhdHVzPT09ImVycm9yIj8iYm9yZGVyLVsjZmY0NTNhXS81MCBiZy1bI2ZmNDUzYV0vMTAgdGV4dC1bI2ZmYjNhZF0iOiJib3JkZXItd2hpdGUvOCBiZy13aGl0ZS9bMC4wNF0gdGV4dC13aGl0ZS81MCI7cmV0dXJuIFgoImRpdiIse3JvbGU6Imxpc3RpdGVtIix0aXRsZTpRLGNsYXNzTmFtZToiZ3JpZCBncmlkLWNvbHMtWzU2cHhfMWZyX2F1dG9dIGl0ZW1zLWNlbnRlciBnYXAtMiByb3VuZGVkLW1kIHB4LTEuNSBweS0xLjUgdGV4dC1bMTJweF0gbGVhZGluZy10aWdodCBob3ZlcjpiZy13aGl0ZS9bMC4wNV0iLGNoaWxkcmVuOltYKCJzcGFuIix7Y2xhc3NOYW1lOiJmb250LW1vbm8gdGV4dC1bMTBweF0gdGV4dC13aGl0ZS80NSIsY2hpbGRyZW46Sn0pLFgoInNwYW4iLHtjbGFzc05hbWU6Im1pbi13LTAiLGNoaWxkcmVuOltYKCJzcGFuIix7Y2xhc3NOYW1lOiJibG9jayBvdmVyZmxvdy1oaWRkZW4gdGV4dC1lbGxpcHNpcyB3aGl0ZXNwYWNlLW5vd3JhcCB0ZXh0LXdoaXRlLzkwIixjaGlsZHJlbjpafSksWCgic3BhbiIse2NsYXNzTmFtZToibXQtMC41IGJsb2NrIG92ZXJmbG93LWhpZGRlbiB0ZXh0LWVsbGlwc2lzIHdoaXRlc3BhY2Utbm93cmFwIGZvbnQtbW9ubyB0ZXh0LVsxMHB4XSB0ZXh0LXdoaXRlLzQwIixjaGlsZHJlbjpRfSldfSksJC5zdGF0dXM/WCgic3BhbiIse2NsYXNzTmFtZTpgcm91bmRlZC1tZCBib3JkZXIgcHgtMS41IHB5LVszcHhdIHRleHQtWzEwcHhdIGZvbnQtbW9ubyAke0t9YCxjaGlsZHJlbjokLnN0YXR1c30pOm51bGxdfSl9ZnVuY3Rpb24gWEsoJCl7bGV0IEo9bmV3IERhdGUoJCk7aWYoTnVtYmVyLmlzTmFOKEouZ2V0VGltZSgpKSlyZXR1cm4iIjtyZXR1cm4gSi50b0xvY2FsZVRpbWVTdHJpbmcoW10se2hvdXI6IjItZGlnaXQiLG1pbnV0ZToiMi1kaWdpdCIsc2Vjb25kOiIyLWRpZ2l0In0pfXZhciBLSz02MCxZSz04MDAwO2Z1bmN0aW9uIG83KCQpe2xldFtKLFFdPUEobnVsbCksW1osS109QShbXSksW1kscV09QSghMSksW0csQl09QSghMSksTj1EKDApO3JldHVybiBFKCgpPT57UShudWxsKSxLKFtdKSxxKCExKSxCKCExKSxOLmN1cnJlbnQ9MDtsZXQgTD1TMCgkKTtMLm9ubWVzc2FnZT0oe2RhdGE6en0pPT57dHJ5e2xldCBDPUpTT04ucGFyc2Uoeik7aWYocSghMSksInNjaGVtYVZlcnNpb24iaW4gQylRKEMpO2Vsc2UgaWYoInQiaW4gQyl7bGV0IE09QztOLmN1cnJlbnQ9RGF0ZS5ub3coKSxCKCExKSxLKChVKT0+e2xldCBIPVsuLi5VXS5yZXZlcnNlKCkuZmluZCgoayk9PmsuYnVuZGxlSWQhPT1udWxsKT8uYnVuZGxlSWQ/P251bGw7cmV0dXJuWy4uLkghPT1udWxsJiZNLmJ1bmRsZUlkIT09bnVsbCYmSCE9PU0uYnVuZGxlSWQ/W106VSxNXS5zbGljZSgtS0spfSl9fWNhdGNoe319LEwub25lcnJvcj0oKT0+cSghMCk7bGV0IFY9c2V0SW50ZXJ2YWwoKCk9PntpZihOLmN1cnJlbnQ+MCYmRGF0ZS5ub3coKS1OLmN1cnJlbnQ+WUspQighMCl9LDEwMDApO3JldHVybigpPT57TC5jbG9zZSgpLGNsZWFySW50ZXJ2YWwoVil9fSxbJF0pLHttZXRhOkosbGF0ZXN0OlouYXQoLTEpPz9udWxsLGhpc3Rvcnk6WixlcnJvcmVkOlksc3RhbGU6R319ZnVuY3Rpb24gJDkoJCl7cmV0dXJuYCR7TWF0aC5yb3VuZCgkKX0lYH1mdW5jdGlvbiBKOSgkKXtsZXQgSj0kLzEwNDg1NzY7cmV0dXJuIEo+PTEwMjQ/YCR7KEovMTAyNCkudG9GaXhlZCgxKX0gR0JgOmAke01hdGgucm91bmQoSil9IE1CYH1mdW5jdGlvbiBROSgkKXtpZighTnVtYmVyLmlzRmluaXRlKCQpfHwkPD0wKXJldHVybiIwIEIvcyI7aWYoJDwxMDI0KXJldHVybmAke01hdGgucm91bmQoJCl9IEIvc2A7bGV0IEo9JC8xMDI0O3JldHVybiBKPDEwMjQ/YCR7TWF0aC5yb3VuZChKKX0gS0Ivc2A6YCR7KEovMTAyNCkudG9GaXhlZCgxKX0gTUIvc2B9ZnVuY3Rpb24gRTUoJCxKLFEsWil7aWYoJC5sZW5ndGg8MilyZXR1cm4iIjtsZXQgSz1aIT09dm9pZCAwJiZaPjA/WjpNYXRoLm1heCguLi4kLDEpLFk9Si8oJC5sZW5ndGgtMSkscT0kLm1hcCgoQixOKT0+KHt4Ok4qWSx5OlEtQi9LKlF9KSksRz1gTSR7cVswXS54LnRvRml4ZWQoMSl9LCR7cVswXS55LnRvRml4ZWQoMSl9YDtmb3IobGV0IEI9MDtCPHEubGVuZ3RoLTE7QisrKXtsZXQgTj1xW0ItMV0/P3FbQl0sTD1xW0JdLFY9cVtCKzFdLHo9cVtCKzJdPz9WLEM9TWF0aC5taW4oTC55LFYueSksTT1NYXRoLm1heChMLnksVi55KSxVPShQKT0+TWF0aC5taW4oTSxNYXRoLm1heChDLFApKSxIPUwueCsoVi54LU4ueCkvNixPPVUoTC55KyhWLnktTi55KS82KSxrPVYueC0oei54LUwueCkvNix3PVUoVi55LSh6LnktTC55KS82KTtHKz1gIEMke0gudG9GaXhlZCgxKX0sJHtPLnRvRml4ZWQoMSl9ICR7ay50b0ZpeGVkKDEpfSwke3cudG9GaXhlZCgxKX0gJHtWLngudG9GaXhlZCgxKX0sJHtWLnkudG9GaXhlZCgxKX1gfXJldHVybiBHfXZhciBNMj05NixRMj0yNDtmdW5jdGlvbiB5Myh7dmFsdWVzOiQsbWF4OkosY2xhc3NOYW1lOlF9KXtsZXQgWj1FNSgkLE0yLFEyLEopLEs9Wj9gJHtafSBMJHtNMn0sJHtRMn0gTDAsJHtRMn0gWmA6IiI7cmV0dXJuIFgoInN2ZyIse3ZpZXdCb3g6YDAgMCAke00yfSAke1EyfWAscHJlc2VydmVBc3BlY3RSYXRpbzoibm9uZSIsY2xhc3NOYW1lOmB3LWZ1bGwgaC04ICR7UX1gLGNoaWxkcmVuOltYKCJwYXRoIix7ZDpLLGZpbGw6ImN1cnJlbnRDb2xvciIsb3BhY2l0eTowLjEyLHN0cm9rZToibm9uZSJ9KSxYKFMzLHtkOlp9KV19KX1mdW5jdGlvbiBTMyh7ZDokLGNsYXNzTmFtZTpKfSl7cmV0dXJuIFgoInBhdGgiLHtkOiQsY2xhc3NOYW1lOkosZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOjEuNSx2ZWN0b3JFZmZlY3Q6Im5vbi1zY2FsaW5nLXN0cm9rZSJ9KX1mdW5jdGlvbiBuNyh7dWRpZDokLGN1cnJlbnRBcHBCdW5kbGVJZDpKLG1ldHJpY3NFbmRwb2ludDpRfSl7bGV0IFo9YjEoKCk9PlE/P2Ake3YxKCJtZXRyaWNzIil9P2RldmljZT0ke2VuY29kZVVSSUNvbXBvbmVudCgkKX1gLFtRLCRdKSx7bWV0YTpLLGxhdGVzdDpZLGhpc3Rvcnk6cSxlcnJvcmVkOkcsc3RhbGU6Qn09bzcoWiksW04sTF09QSghMCksVj1ZIT09bnVsbCYmWS5idW5kbGVJZCE9PW51bGwmJiFHJiYhQix6PUohPW51bGwmJkouc3RhcnRzV2l0aCgiY29tLmFwcGxlLiIpLEM9Rz8iVGhlIG1ldHJpY3Mgc3RyZWFtIGRpc2Nvbm5lY3RlZCI6ej8iT25seSB5b3VyIGFwcCBpcyBtZWFzdXJlZDsgYSBzeXN0ZW0gYXBwIGlzIGluIHRoZSBmb3JlZ3JvdW5kIjoiV2FpdGluZyBmb3IgYWN0aXZpdHkgZGF0YSI7cmV0dXJuIFgoJDAse29wZW46Tixvbk9wZW5DaGFuZ2U6TCxzdW1tYXJ5Q2xhc3NOYW1lOiJncmlkIFtncmlkLXRlbXBsYXRlLWNvbHVtbnM6YXV0b18xZnJfYXV0b10gaXRlbXMtY2VudGVyIGdhcC0yIHRleHQtbGVmdCIsYm9keUNsYXNzTmFtZTpWP3ZvaWQgMDoiaGlkZGVuIixzdW1tYXJ5OlgoWDEse2NoaWxkcmVuOltYKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LVsxMXB4XSBmb250LXNlbWlib2xkIHRleHQtd2hpdGUvNTAgdXBwZXJjYXNlIHRyYWNraW5nLVswLjA4ZW1dIGxlYWRpbmctbm9uZSBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIiLGNoaWxkcmVuOiJBY3Rpdml0eSJ9KSxWPyFOJiZYKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LVsxMXB4XSB0ZXh0LXdoaXRlLzQwIHRhYnVsYXItbnVtcyB0ZXh0LXJpZ2h0IixjaGlsZHJlbjpbJDkoWS5jcHVQY3QpLCIgwrcgIixKOShZLm1lbUJ5dGVzKV19KTpYKCJzcGFuIix7ImRhdGEtbWV0cmljcy13YXJuaW5nIjohMCxyb2xlOiJzdGF0dXMiLGNsYXNzTmFtZToiZ3JvdXAgcmVsYXRpdmUganVzdGlmeS1zZWxmLWVuZCBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIiLGNoaWxkcmVuOltYKHAwLHsiYXJpYS1oaWRkZW4iOiJ0cnVlIixjbGFzc05hbWU6InctMy41IGgtMy41IHRleHQtYW1iZXItNDAwIn0pLFgoInNwYW4iLHtjbGFzc05hbWU6InNyLW9ubHkiLGNoaWxkcmVuOkN9KSxYKCJzcGFuIix7Y2xhc3NOYW1lOiJwb2ludGVyLWV2ZW50cy1ub25lIGFic29sdXRlIHJpZ2h0LTAgdG9wLWZ1bGwgei0xMCBtdC0xIGhpZGRlbiB3LW1heCBtYXgtdy1bMjIwcHhdIHJvdW5kZWQtbWQgYmctYmxhY2svOTAgcHgtMiBweS0xIHRleHQtWzExcHhdIGxlYWRpbmctc251ZyB0ZXh0LXdoaXRlLzkwIHNoYWRvdy1sZyBncm91cC1ob3ZlcjpibG9jayIsY2hpbGRyZW46Q30pXX0pXX0pLGNoaWxkcmVuOlY/WChYMSx7Y2hpbGRyZW46W1goaTcse2xhYmVsOiJDUFUiLHZhbHVlOiQ5KFkuY3B1UGN0KSxoaW50Oks/YCR7Sy5ob3N0Q29yZXN9IGNvcmVzYDp2b2lkIDAsdmFsdWVzOnEubWFwKChNKT0+TS5jcHVQY3QpLGNsYXNzTmFtZToidGV4dC1lbWVyYWxkLTQwMCJ9KSxYKGk3LHtsYWJlbDoiTWVtb3J5Iix2YWx1ZTpKOShZLm1lbUJ5dGVzKSx2YWx1ZXM6cS5tYXAoKE0pPT5NLm1lbUJ5dGVzKSxjbGFzc05hbWU6InRleHQtc2t5LTQwMCJ9KSxYKHFLLHtkb3duOlkubmV0SW5CeXRlc1BlclNlYyx1cDpZLm5ldE91dEJ5dGVzUGVyU2VjLGRvd25WYWx1ZXM6cS5tYXAoKE0pPT5NLm5ldEluQnl0ZXNQZXJTZWMpLHVwVmFsdWVzOnEubWFwKChNKT0+TS5uZXRPdXRCeXRlc1BlclNlYyl9KV19KTpudWxsfSl9ZnVuY3Rpb24gaTcoe2xhYmVsOiQsdmFsdWU6SixoaW50OlEsdmFsdWVzOlosY2xhc3NOYW1lOkt9KXtyZXR1cm4gWCgiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGZsZXgtY29sIGdhcC0xIixjaGlsZHJlbjpbWCgiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWJhc2VsaW5lIGp1c3RpZnktYmV0d2VlbiIsY2hpbGRyZW46W1goInNwYW4iLHtjbGFzc05hbWU6InRleHQtd2hpdGUvNTAgdGV4dC1bMTFweF0iLGNoaWxkcmVuOiR9KSxYKCJzcGFuIix7Y2xhc3NOYW1lOiJ0YWJ1bGFyLW51bXMgdGV4dC1bMTFweF0iLGNoaWxkcmVuOltKLFEmJlgoInNwYW4iLHtjbGFzc05hbWU6InRleHQtd2hpdGUvMzAgdGV4dC1bMTFweF0gbWwtMS41IixjaGlsZHJlbjpRfSldfSldfSksWCh5Myx7dmFsdWVzOlosY2xhc3NOYW1lOkt9KV19KX1mdW5jdGlvbiBxSyh7ZG93bjokLHVwOkosZG93blZhbHVlczpRLHVwVmFsdWVzOlp9KXtyZXR1cm4gWCgiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGZsZXgtY29sIGdhcC0xIixjaGlsZHJlbjpbWCgiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWJhc2VsaW5lIGp1c3RpZnktYmV0d2VlbiIsY2hpbGRyZW46W1goInNwYW4iLHtjbGFzc05hbWU6InRleHQtd2hpdGUvNTAgdGV4dC1bMTFweF0iLGNoaWxkcmVuOiJOZXR3b3JrIn0pLFgoInNwYW4iLHtjbGFzc05hbWU6InRhYnVsYXItbnVtcyB0ZXh0LVsxMXB4XSIsY2hpbGRyZW46W1goInNwYW4iLHtjbGFzc05hbWU6InRleHQtY3lhbi00MDAiLGNoaWxkcmVuOlsi4oaTICIsUTkoJCldfSksWCgic3BhbiIse2NsYXNzTmFtZToidGV4dC13aGl0ZS8zMCBteC0xLjUiLGNoaWxkcmVuOiLCtyJ9KSxYKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LXZpb2xldC00MDAiLGNoaWxkcmVuOlsi4oaRICIsUTkoSildfSldfSldfSksWChHSyx7ZG93bjpRLHVwOlp9KV19KX1mdW5jdGlvbiBHSyh7ZG93bjokLHVwOkp9KXtsZXQgUT1NYXRoLm1heCguLi4kLC4uLkosMSk7cmV0dXJuIFgoInN2ZyIse3ZpZXdCb3g6YDAgMCAke00yfSAke1EyfWAscHJlc2VydmVBc3BlY3RSYXRpbzoibm9uZSIsY2xhc3NOYW1lOiJ3LWZ1bGwgaC04IixjaGlsZHJlbjpbWChTMyx7ZDpFNSgkLE0yLFEyLFEpLGNsYXNzTmFtZToidGV4dC1jeWFuLTQwMCJ9KSxYKFMzLHtkOkU1KEosTTIsUTIsUSksY2xhc3NOYW1lOiJ0ZXh0LXZpb2xldC00MDAifSldfSl9dmFyIHc1PVsiZXh0cmEtc21hbGwiLCJzbWFsbCIsIm1lZGl1bSIsImxhcmdlIiwiZXh0cmEtbGFyZ2UiLCJleHRyYS1leHRyYS1sYXJnZSIsImV4dHJhLWV4dHJhLWV4dHJhLWxhcmdlIl0sVks9MjUwLEJLPXthcHBlYXJhbmNlOiJsaWdodCIsImxpcXVpZC1nbGFzcyI6ImNsZWFyIiwiY29sb3ItZmlsdGVyIjoibm9uZSIsInRleHQtc2l6ZSI6ImxhcmdlIiwicmVkdWNlLW1vdGlvbiI6Im9mZiIsImluY3JlYXNlLWNvbnRyYXN0Ijoib2ZmIiwic2hvdy1ib3JkZXJzIjoib2ZmIiwicmVkdWNlLXRyYW5zcGFyZW5jeSI6Im9mZiIsdm9pY2VvdmVyOiJvZmYiLCJoYXJkd2FyZS1rZXlib2FyZCI6Im9uIn0sWjk9e2FwcGVhcmFuY2U6W3t2YWx1ZToibGlnaHQiLGxhYmVsOiJMaWdodCJ9LHt2YWx1ZToiZGFyayIsbGFiZWw6IkRhcmsifV0sImxpcXVpZC1nbGFzcyI6W3t2YWx1ZToiY2xlYXIiLGxhYmVsOiJDbGVhciJ9LHt2YWx1ZToidGludGVkIixsYWJlbDoiVGludGVkIn1dLCJjb2xvci1maWx0ZXIiOlt7dmFsdWU6Im5vbmUiLGxhYmVsOiJOb25lIn0se3ZhbHVlOiJyZWQtZ3JlZW4iLGxhYmVsOiJSZWQvR3JlZW4gKFByb3Rhbm9waWEpIn0se3ZhbHVlOiJncmVlbi1yZWQiLGxhYmVsOiJHcmVlbi9SZWQgKERldXRlcmFub3BpYSkifSx7dmFsdWU6ImJsdWUteWVsbG93IixsYWJlbDoiQmx1ZS9ZZWxsb3cgKFRyaXRhbm9waWEpIn0se3ZhbHVlOiJncmF5c2NhbGUiLGxhYmVsOiJHcmF5c2NhbGUifV19LE5LPVt7a2V5OiJoYXJkd2FyZS1rZXlib2FyZCIsbGFiZWw6IkhhcmR3YXJlIEtleWJvYXJkIn0se2tleToicmVkdWNlLW1vdGlvbiIsbGFiZWw6IlJlZHVjZSBNb3Rpb24ifSx7a2V5OiJpbmNyZWFzZS1jb250cmFzdCIsbGFiZWw6IkluY3JlYXNlIENvbnRyYXN0In0se2tleToic2hvdy1ib3JkZXJzIixsYWJlbDoiU2hvdyBCb3JkZXJzIn0se2tleToicmVkdWNlLXRyYW5zcGFyZW5jeSIsbGFiZWw6IlJlZHVjZSBUcmFuc3BhcmVuY3kifSx7a2V5OiJ2b2ljZW92ZXIiLGxhYmVsOiJWb2ljZU92ZXIifV07ZnVuY3Rpb24gazAoe2ljb246JCxsYWJlbDpKLGNoaWxkcmVuOlF9KXtyZXR1cm4gWCgiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gZ2FwLTIgbWluLWgtWzMwcHhdIiwiZGF0YS1zZXR0aW5nLXJvdyI6SixjaGlsZHJlbjpbWCgic3BhbiIse2NsYXNzTmFtZToiZmxleCBzaHJpbmstMCBpdGVtcy1jZW50ZXIgZ2FwLTIgdGV4dC1bMTJweF0gdGV4dC13aGl0ZS85MCB3aGl0ZXNwYWNlLW5vd3JhcCIsY2hpbGRyZW46W1goInNwYW4iLHtjbGFzc05hbWU6ImZsZXggc2l6ZS1bMThweF0gaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHRleHQtd2hpdGUiLGNoaWxkcmVuOiR9KSxKXX0pLFgoInNwYW4iLHtjbGFzc05hbWU6ImZsZXggbWluLXctMCBqdXN0aWZ5LWVuZCIsY2hpbGRyZW46UX0pXX0pfWZ1bmN0aW9uIExLKHt2YWx1ZTokLGRpc2FibGVkOkosb25DaGFuZ2U6UX0pe2xldFtaLEtdPUEobnVsbCksWT1EKG51bGwpLHE9RChudWxsKSxHPUkoKEgpPT57aWYocS5jdXJyZW50PT09SClyZXR1cm47cS5jdXJyZW50PUgsUShIKX0sW1FdKSxCPUkoKEgpPT57aWYoSyhIKSxZLmN1cnJlbnQpY2xlYXJUaW1lb3V0KFkuY3VycmVudCk7WS5jdXJyZW50PXNldFRpbWVvdXQoKCk9PkcoSCksVkspfSxbR10pLE49SSgoKT0+e2lmKFkuY3VycmVudCljbGVhclRpbWVvdXQoWS5jdXJyZW50KSxZLmN1cnJlbnQ9bnVsbDtLKChIKT0+e2lmKEghPT1udWxsKUcoSCk7cmV0dXJuIG51bGx9KSxxLmN1cnJlbnQ9bnVsbH0sW0ddKSxMPXc1Lmxlbmd0aC0xLFY9Wj8/JCx6PWAke1YvTCoxMDB9JWA7cmV0dXJuIFgoInNwYW4iLHtjbGFzc05hbWU6ImZsZXggdy1bMTIwcHhdIG1pbi13LTAgZmxleC1jb2wiLGNoaWxkcmVuOltYKCJpbnB1dCIse3R5cGU6InJhbmdlIiwiYXJpYS1sYWJlbCI6IlRleHQgU2l6ZSIsbWluOjAsbWF4Okwsc3RlcDoxLHZhbHVlOlYsZGlzYWJsZWQ6SixvbkNoYW5nZTooSCk9PkIoTnVtYmVyKEgudGFyZ2V0LnZhbHVlKSksb25Qb2ludGVyVXA6TixvbktleVVwOk4sb25CbHVyOk4sc3R5bGU6eyItLXNsaWRlci1maWxsIjp6LCItLXNsaWRlci1maWxsLWNvbG9yIjpKPyJyZ2JhKDI1NSwyNTUsMjU1LDAuMykiOiIjMGE4NGZmIn0sY2xhc3NOYW1lOmBoLVsxM3B4XSB3LWZ1bGwgYXBwZWFyYW5jZS1ub25lIHJvdW5kZWQtZnVsbCBiZy10cmFuc3BhcmVudCBvdXRsaW5lLW5vbmUgZm9jdXMtdmlzaWJsZTpbb3V0bGluZToxLjVweF9zb2xpZF9yZ2JhKDEwLDEzMiwyNTUsMC41NSldIGZvY3VzLXZpc2libGU6b3V0bGluZS1vZmZzZXQtNCAke0o/ImN1cnNvci1kZWZhdWx0IjoiY3Vyc29yLXBvaW50ZXIifSAkeyJbJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2tdOmgtWzRweF0gWyY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrXTpyb3VuZGVkLWZ1bGwgWyY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrXTpbYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG9fcmlnaHQsdmFyKC0tc2xpZGVyLWZpbGwtY29sb3IpX3ZhcigtLXNsaWRlci1maWxsKSxyZ2JhKDI1NSwyNTUsMjU1LDAuMjIpX3ZhcigtLXNsaWRlci1maWxsKSldIFsmOjotbW96LXJhbmdlLXRyYWNrXTpoLVs0cHhdIFsmOjotbW96LXJhbmdlLXRyYWNrXTpyb3VuZGVkLWZ1bGwgWyY6Oi1tb3otcmFuZ2UtdHJhY2tdOmJnLXdoaXRlLzIwIFsmOjotbW96LXJhbmdlLXByb2dyZXNzXTpoLVs0cHhdIFsmOjotbW96LXJhbmdlLXByb2dyZXNzXTpyb3VuZGVkLWZ1bGwgWyY6Oi1tb3otcmFuZ2UtcHJvZ3Jlc3NdOmJnLVt2YXIoLS1zbGlkZXItZmlsbC1jb2xvcildIn0gJHsiWyY6Oi13ZWJraXQtc2xpZGVyLXRodW1iXTphcHBlYXJhbmNlLW5vbmUgWyY6Oi13ZWJraXQtc2xpZGVyLXRodW1iXTpzaXplLVsxM3B4XSBbJjo6LXdlYmtpdC1zbGlkZXItdGh1bWJdOnJvdW5kZWQtZnVsbCBbJjo6LXdlYmtpdC1zbGlkZXItdGh1bWJdOmJnLXdoaXRlIFsmOmRpc2FibGVkOjotd2Via2l0LXNsaWRlci10aHVtYl06Ymctd2hpdGUvNTAgWyY6Oi13ZWJraXQtc2xpZGVyLXRodW1iXTpzaGFkb3ctWzBfMXB4XzNweF9yZ2JhKDAsMCwwLDAuNDUpXSBbJjo6LXdlYmtpdC1zbGlkZXItdGh1bWJdOi1tdC1bNC41cHhdIFsmOjotbW96LXJhbmdlLXRodW1iXTpzaXplLVsxM3B4XSBbJjo6LW1vei1yYW5nZS10aHVtYl06cm91bmRlZC1mdWxsIFsmOjotbW96LXJhbmdlLXRodW1iXTpib3JkZXItbm9uZSBbJjo6LW1vei1yYW5nZS10aHVtYl06Ymctd2hpdGUgWyY6ZGlzYWJsZWQ6Oi1tb3otcmFuZ2UtdGh1bWJdOmJnLXdoaXRlLzUwIn1gfSksWCgic3BhbiIseyJhcmlhLWhpZGRlbiI6ITAsY2xhc3NOYW1lOiJwb2ludGVyLWV2ZW50cy1ub25lIG10LVszcHhdIGZsZXgganVzdGlmeS1iZXR3ZWVuIHB4LVs1LjVweF0iLGNoaWxkcmVuOnc1Lm1hcCgoSCk9PlgoInNwYW4iLHtjbGFzc05hbWU6InNpemUtWzJweF0gcm91bmRlZC1mdWxsIGJnLXdoaXRlLzQwIn0sSCkpfSldfSl9ZnVuY3Rpb24gajAoe2xhYmVsOiQsdmFsdWU6SixvcHRpb25zOlEsZGlzYWJsZWQ6WixvbkNoYW5nZTpLfSl7cmV0dXJuIFgodzMse2xhYmVsOiQsdmFsdWU6SixvcHRpb25zOlEsZGlzYWJsZWQ6WixvbkNoYW5nZTpLLGNsYXNzTmFtZToiYmctd2hpdGUvWzAuMDZdIGJvcmRlciBib3JkZXItd2hpdGUvMTAgcm91bmRlZC1tZCB0ZXh0LXdoaXRlLzkwIHRleHQtWzEycHhdIHB5LTAuNSBweC0yIG1pbi13LTAgbWF4LXctWzE1MHB4XSBkaXNhYmxlZDp0ZXh0LXdoaXRlLzQwIn0pfXZhciBJNT17YXBwZWFyYW5jZTpYKCJzdmciLHt3aWR0aDoiMTQiLGhlaWdodDoiMTQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOiIyIixzdHJva2VMaW5lY2FwOiJyb3VuZCIsc3Ryb2tlTGluZWpvaW46InJvdW5kIixjaGlsZHJlbjpbWCgicGF0aCIse2Q6Ik0xMiAydjIifSksWCgicGF0aCIse2Q6Ik0xNC44MzcgMTYuMzg1YTYgNiAwIDEgMS03LjIyMy03LjIyMmMuNjI0LS4xNDcuOTcuNjYuNzE1IDEuMjQ4YTQgNCAwIDAgMCA1LjI2IDUuMjU5Yy41ODktLjI1NSAxLjM5Ni4wOSAxLjI0OC43MTUifSksWCgicGF0aCIse2Q6Ik0xNiAxMmE0IDQgMCAwIDAtNC00In0pLFgoInBhdGgiLHtkOiJtMTkgNS0xLjI1NiAxLjI1NiJ9KSxYKCJwYXRoIix7ZDoiTTIwIDEyaDIifSldfSksZ2xhc3M6WCgic3ZnIix7d2lkdGg6IjE0IixoZWlnaHQ6IjE0Iix2aWV3Qm94OiIwIDAgMjIwIDIyMCIsZmlsbDoiY3VycmVudENvbG9yIixzdHJva2U6Im5vbmUiLGNoaWxkcmVuOltYKCJwYXRoIix7ZDoiTTE1MiAxODNWMTk1SDEwMFYxODNIMTUyWk0xOTYgMTM5VjEyNkMxOTYgMTAxLjY5OSAxNzYuMzAxIDgyIDE1MiA4MkgxMDBDNzUuNjk5NSA4MiA1NiAxMDEuNjk5IDU2IDEyNlYxMzlDNTYgMTYzLjMwMSA3NS42OTk1IDE4MyAxMDAgMTgzVjE5NUw5OS4yNzY0IDE5NC45OTVDNjguOTIyOCAxOTQuNjExIDQ0LjM4OTMgMTcwLjA3NyA0NC4wMDQ5IDEzOS43MjRMNDQgMTM5VjEyNkM0NCA5NS4wNzIxIDY5LjA3MjEgNzAgMTAwIDcwSDE1MkMxODIuOTI4IDcwIDIwOCA5NS4wNzIxIDIwOCAxMjZWMTM5TDIwNy45OTUgMTM5LjcyNEMyMDcuNjExIDE3MC4wNzcgMTgzLjA3NyAxOTQuNjExIDE1Mi43MjQgMTk0Ljk5NUwxNTIgMTk1VjE4M0MxNzYuMzAxIDE4MyAxOTYgMTYzLjMwMSAxOTYgMTM5WiJ9KSxYKCJwYXRoIix7ZDoiTTEzNiAyNUMxNDcuMDQ2IDI1IDE1NiAzMy45NTQzIDE1NiA0NVY3MEgxNDNWNDVDMTQzIDQxLjEzNCAxMzkuODY2IDM4IDEzNiAzOEg0MUMzNy4xMzQgMzggMzQgNDEuMTM0IDM0IDQ1VjE0MEMzNCAxNDMuODY2IDM3LjEzNCAxNDcgNDEgMTQ3SDQ0Ljg2MDRDNDUuNjQ4NyAxNTEuNTM2IDQ2Ljk2MzQgMTU1Ljg5MSA0OC43NDAyIDE2MEg0MUw0MC40ODM0IDE1OS45OTNDMjkuODQ4MSAxNTkuNzI0IDIxLjI3NjUgMTUxLjE1MiAyMS4wMDY4IDE0MC41MTdMMjEgMTQwVjQ1QzIxIDMzLjk1NDMgMjkuOTU0MyAyNSA0MSAyNUgxMzZaIn0pLFgoInBhdGgiLHtkOiJNMTU2LjE5OSAxNDBDMTU2LjE5OSAxNTAuODczIDE0Ny41MjMgMTU5LjcxOSAxMzYuNzE2IDE1OS45OTNMMTM2LjE5OSAxNjBIODAuOTE3Qzc3Ljk0NjEgMTYwIDc2LjE2MzkgMTYzLjMgNzcuNzkzIDE2NS43ODRDNzkuMjQ1MSAxNjcuOTk5IDc2LjE2NDcgMTcwLjM1MyA3NC40MDk0IDE2OC4zN0w3My42MDU5IDE2Ny40NjJDNjkuMzQ5NyAxNjIuNjU0IDY3IDE1Ni40NTUgNjcgMTUwLjAzNEM2NyAxNDguMzU4IDY4LjM1ODMgMTQ3IDcwLjAzMzkgMTQ3SDEzNi4xOTlDMTQwLjA2NSAxNDcgMTQzLjE5OSAxNDMuODY2IDE0My4xOTkgMTQwVjk2Ljk5NTVDMTQzLjE5OSA5My45ODIyIDE0MS4zNTQgOTEuMjc2MyAxMzguNTQ5IDkwLjE3NjFDMTM3LjM4OSA4OS43MjE1IDEzNy43MTUgODggMTM4Ljk2IDg4TDE0My4xOTkgODhDMTUwLjM3OSA4OCAxNTYuMTk5IDkzLjgyMDMgMTU2LjE5OSAxMDFWMTQwWiJ9KV19KSxmaWx0ZXI6WCgic3ZnIix7d2lkdGg6IjE0IixoZWlnaHQ6IjE0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMiIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsY2hpbGRyZW46W1goInBhdGgiLHtkOiJNMTEgMTdhNCA0IDAgMCAxLTggMFY1YTIgMiAwIDAgMSAyLTJoNGEyIDIgMCAwIDEgMiAyWiJ9KSxYKCJwYXRoIix7ZDoiTTE2LjcgMTNIMTlhMiAyIDAgMCAxIDIgMnY0YTIgMiAwIDAgMS0yIDJINyJ9KSxYKCJwYXRoIix7ZDoiTSA3IDE3aC4wMSJ9KSxYKCJwYXRoIix7ZDoibTExIDggMi4zLTIuM2EyLjQgMi40IDAgMCAxIDMuNDA0LjAwNEwxOC42IDcuNmEyLjQgMi40IDAgMCAxIC4wMjYgMy40MzRMOS45IDE5LjgifSldfSksdGV4dFNpemU6WCgic3ZnIix7d2lkdGg6IjE0IixoZWlnaHQ6IjE0Iix2aWV3Qm94OiIwIDAgNTIgMzQiLGZpbGw6ImN1cnJlbnRDb2xvciIsc3Ryb2tlOiJub25lIixjaGlsZHJlbjpYKCJwYXRoIix7ZDoiTTM5LjcyNjYgMzMuMDIzNEMzOC4xNDg0IDMzLjAyMzQgMzYuNzUgMzIuNzI2NiAzNS41MzEyIDMyLjEzMjhDMzQuMzEyNSAzMS41MzkxIDMzLjM1OTQgMzAuNzEwOSAzMi42NzE5IDI5LjY0ODRDMzIgMjguNTcwMyAzMS42NjQxIDI3LjMxMjUgMzEuNjY0MSAyNS44NzVDMzEuNjY0MSAyMy43ODEyIDMyLjQyOTcgMjIuMTA5NCAzMy45NjA5IDIwLjg1OTRDMzUuNTA3OCAxOS42MDk0IDM3LjcxMDkgMTguOTA2MiA0MC41NzAzIDE4Ljc1TDQ3LjYwMTYgMTguMzUxNlYxNi41QzQ3LjYwMTYgMTUuMDE1NiA0Ny4xMzI4IDEzLjgzNTkgNDYuMTk1MyAxMi45NjA5QzQ1LjI1NzggMTIuMDg1OSA0My45NTMxIDExLjY0ODQgNDIuMjgxMiAxMS42NDg0QzQwLjkwNjIgMTEuNjQ4NCAzOS43NSAxMS45NDUzIDM4LjgxMjUgMTIuNTM5MUMzNy44NzUgMTMuMTMyOCAzNy4wOTM4IDE0LjA0NjkgMzYuNDY4OCAxNS4yODEyQzM2LjI2NTYgMTUuNjA5NCAzNi4wMTU2IDE1Ljg1MTYgMzUuNzE4OCAxNi4wMDc4QzM1LjQyMTkgMTYuMTY0MSAzNS4wNzgxIDE2LjI0MjIgMzQuNjg3NSAxNi4yNDIyQzM0LjE1NjIgMTYuMjQyMiAzMy43MTA5IDE2LjA3ODEgMzMuMzUxNiAxNS43NUMzMy4wMDc4IDE1LjQyMTkgMzIuODM1OSAxNC45OTIyIDMyLjgzNTkgMTQuNDYwOUMzMi44MzU5IDE0LjIyNjYgMzIuODY3MiAxMy45NzY2IDMyLjkyOTcgMTMuNzEwOUMzMy4wMDc4IDEzLjQ0NTMgMzMuMTA5NCAxMy4xNzk3IDMzLjIzNDQgMTIuOTE0MUMzMy44NzUgMTEuNDYwOSAzNS4wMTU2IDEwLjMwNDcgMzYuNjU2MiA5LjQ0NTMxQzM4LjMxMjUgOC41ODU5NCA0MC4yMjY2IDguMTU2MjUgNDIuMzk4NCA4LjE1NjI1QzQ0LjMyMDMgOC4xNTYyNSA0NS45ODQ0IDguNDkyMTkgNDcuMzkwNiA5LjE2NDA2QzQ4LjgxMjUgOS44MjAzMSA0OS44OTg0IDEwLjc1IDUwLjY0ODQgMTEuOTUzMUM1MS40MTQxIDEzLjE1NjIgNTEuNzk2OSAxNC41NzAzIDUxLjc5NjkgMTYuMTk1M1YzMC45MTQxQzUxLjc5NjkgMzEuNTg1OSA1MS42MDk0IDMyLjEwOTQgNTEuMjM0NCAzMi40ODQ0QzUwLjg1OTQgMzIuODU5NCA1MC4zNjcyIDMzLjA0NjkgNDkuNzU3OCAzMy4wNDY5QzQ5LjE2NDEgMzMuMDQ2OSA0OC42Nzk3IDMyLjg2NzIgNDguMzA0NyAzMi41MDc4QzQ3LjkyOTcgMzIuMTQ4NCA0Ny43MzQ0IDMxLjY2NDEgNDcuNzE4OCAzMS4wNTQ3VjI4LjM1OTRINDcuNjcxOUM0Ni45ODQ0IDI5Ljc4MTIgNDUuOTA2MiAzMC45MTQxIDQ0LjQzNzUgMzEuNzU3OEM0Mi45ODQ0IDMyLjYwMTYgNDEuNDE0MSAzMy4wMjM0IDM5LjcyNjYgMzMuMDIzNFpNNDAuODA0NyAyOS42NzE5QzQyLjA3MDMgMjkuNjcxOSA0My4yMTA5IDI5LjQwNjIgNDQuMjI2NiAyOC44NzVDNDUuMjU3OCAyOC4zNDM4IDQ2LjA3ODEgMjcuNjE3MiA0Ni42ODc1IDI2LjY5NTNDNDcuMjk2OSAyNS43NzM0IDQ3LjYwMTYgMjQuNzUgNDcuNjAxNiAyMy42MjVWMjEuMzI4MUw0MS4xMzI4IDIxLjc1QzM5LjQ0NTMgMjEuODU5NCAzOC4xNjQxIDIyLjI3MzQgMzcuMjg5MSAyMi45OTIyQzM2LjQxNDEgMjMuNjk1MyAzNS45NzY2IDI0LjYwOTQgMzUuOTc2NiAyNS43MzQ0QzM1Ljk3NjYgMjYuOTIxOSAzNi40MjE5IDI3Ljg3NSAzNy4zMTI1IDI4LjU5MzhDMzguMjAzMSAyOS4zMTI1IDM5LjM2NzIgMjkuNjcxOSA0MC44MDQ3IDI5LjY3MTlaTTIuMTc5NjkgMzMuMDIzNEMxLjUwNzgxIDMzLjAyMzQgMC45NzY1NjIgMzIuODM1OSAwLjU4NTkzOCAzMi40NjA5QzAuMTk1MzEyIDMyLjA4NTkgMCAzMS41NzgxIDAgMzAuOTM3NUMwIDMwLjUzMTIgMC4wODU5Mzc1IDMwLjA3MDMgMC4yNTc4MTIgMjkuNTU0N0wxMC40MDYyIDIuNDE0MDZDMTAuOTg0NCAwLjgwNDY4OCAxMi4xMDE2IDAgMTMuNzU3OCAwQzE0LjYxNzIgMCAxNS4zMjgxIDAuMjAzMTI1IDE1Ljg5MDYgMC42MDkzNzVDMTYuNDUzMSAxLjAxNTYyIDE2Ljg3NSAxLjYyNSAxNy4xNTYyIDIuNDM3NUwyNy4yNTc4IDI5LjQ4NDRDMjcuNDQ1MyAzMCAyNy41MzkxIDMwLjQ2ODggMjcuNTM5MSAzMC44OTA2QzI3LjUzOTEgMzEuNTQ2OSAyNy4zMzU5IDMyLjA3MDMgMjYuOTI5NyAzMi40NjA5QzI2LjUyMzQgMzIuODM1OSAyNS45NzY2IDMzLjAyMzQgMjUuMjg5MSAzMy4wMjM0QzI0LjYzMjggMzMuMDIzNCAyNC4xMDk0IDMyLjg3NSAyMy43MTg4IDMyLjU3ODFDMjMuMzQzOCAzMi4yODEyIDIzLjAzOTEgMzEuNzg5MSAyMi44MDQ3IDMxLjEwMTZMMTMuODI4MSA1LjM0Mzc1SDEzLjY2NDFMNC42NjQwNiAzMS4xMDE2QzQuNDI5NjkgMzEuNzg5MSA0LjEyNSAzMi4yODEyIDMuNzUgMzIuNTc4MUMzLjM3NSAzMi44NzUgMi44NTE1NiAzMy4wMjM0IDIuMTc5NjkgMzMuMDIzNFpNNi42Nzk2OSAyMy43NDIyQzYuMTQ4NDQgMjMuNzQyMiA1LjcwMzEyIDIzLjU2MjUgNS4zNDM3NSAyMy4yMDMxQzQuOTg0MzggMjIuODQzOCA0LjgwNDY5IDIyLjM5ODQgNC44MDQ2OSAyMS44NjcyQzQuODA0NjkgMjEuMzUxNiA0Ljk4NDM4IDIwLjkxNDEgNS4zNDM3NSAyMC41NTQ3QzUuNzAzMTIgMjAuMTk1MyA2LjE0ODQ0IDIwLjAxNTYgNi42Nzk2OSAyMC4wMTU2SDIwLjg1OTRDMjEuMzc1IDIwLjAxNTYgMjEuODEyNSAyMC4xOTUzIDIyLjE3MTkgMjAuNTU0N0MyMi41MzEyIDIwLjkxNDEgMjIuNzEwOSAyMS4zNTE2IDIyLjcxMDkgMjEuODY3MkMyMi43MTA5IDIyLjM5ODQgMjIuNTMxMiAyMi44NDM4IDIyLjE3MTkgMjMuMjAzMUMyMS44MTI1IDIzLjU2MjUgMjEuMzc1IDIzLjc0MjIgMjAuODU5NCAyMy43NDIySDYuNjc5NjlaIn0pfSksbW90aW9uOlgoInN2ZyIse3dpZHRoOiIxNCIsaGVpZ2h0OiIxNCIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjIiLHN0cm9rZUxpbmVjYXA6InJvdW5kIixjaGlsZHJlbjpbWCgiY2lyY2xlIix7Y3g6IjE0IixjeToiMTIiLHI6IjYifSksWCgicGF0aCIse2Q6Ik0zIDhoNE0yIDEyaDRNMyAxNmg0In0pXX0pLGNvbnRyYXN0OlgoInN2ZyIse3dpZHRoOiIxNCIsaGVpZ2h0OiIxNCIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjIiLHN0cm9rZUxpbmVjYXA6InJvdW5kIixzdHJva2VMaW5lam9pbjoicm91bmQiLGNoaWxkcmVuOltYKCJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifSksWCgicGF0aCIse2Q6Ik0xMiAxOGE2IDYgMCAwIDAgMC0xMnYxMnoifSldfSksYm9yZGVyczpYKCJzdmciLHt3aWR0aDoiMTQiLGhlaWdodDoiMTQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOiIyIixzdHJva2VMaW5lY2FwOiJyb3VuZCIsc3Ryb2tlTGluZWpvaW46InJvdW5kIixjaGlsZHJlbjpbWCgicGF0aCIse2Q6Ik01IDIxYTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDE0YTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLTIgMiJ9KSxYKCJwYXRoIix7ZDoiTTkgMjFoMSJ9KSxYKCJwYXRoIix7ZDoiTTE0IDIxaDEifSldfSksdHJhbnNwYXJlbmN5OlgoInN2ZyIse3dpZHRoOiIxNCIsaGVpZ2h0OiIxNCIsdmlld0JveDoiMCAwIDYzIDQ2IixmaWxsOiJjdXJyZW50Q29sb3IiLHN0cm9rZToibm9uZSIsY2hpbGRyZW46WCgicGF0aCIse2Q6Ik0yMi43MzQ0IDQuMTcxODhDMjIuMTg3NSA0LjE3MTg4IDIxLjcxODggMy45NzY1NiAyMS4zMjgxIDMuNTg1OTRDMjAuOTM3NSAzLjE5NTMxIDIwLjc0MjIgMi43MTg3NSAyMC43NDIyIDIuMTU2MjVDMjAuNzQyMiAxLjYwOTM4IDIwLjkzNzUgMS4xNDA2MiAyMS4zMjgxIDAuNzVDMjEuNzE4OCAwLjM1OTM3NSAyMi4xODc1IDAuMTY0MDYyIDIyLjczNDQgMC4xNjQwNjJDMjMuMjgxMiAwLjE2NDA2MiAyMy43NSAwLjM1OTM3NSAyNC4xNDA2IDAuNzVDMjQuNTMxMiAxLjE0MDYyIDI0LjcyNjYgMS42MDkzOCAyNC43MjY2IDIuMTU2MjVDMjQuNzI2NiAyLjcxODc1IDI0LjUzMTIgMy4xOTUzMSAyNC4xNDA2IDMuNTg1OTRDMjMuNzUgMy45NzY1NiAyMy4yODEyIDQuMTcxODggMjIuNzM0NCA0LjE3MTg4Wk0yOS4xMDk0IDUuMjAzMTJDMjguNTQ2OSA1LjIwMzEyIDI4LjA3MDMgNS4wMDc4MSAyNy42Nzk3IDQuNjE3MTlDMjcuMjg5MSA0LjIyNjU2IDI3LjA5MzggMy43NTc4MSAyNy4wOTM4IDMuMjEwOTRDMjcuMDkzOCAyLjY2NDA2IDI3LjI4OTEgMi4xOTUzMSAyNy42Nzk3IDEuODA0NjlDMjguMDcwMyAxLjM5ODQ0IDI4LjU0NjkgMS4xOTUzMSAyOS4xMDk0IDEuMTk1MzFDMjkuNjU2MiAxLjE5NTMxIDMwLjEyNSAxLjM5ODQ0IDMwLjUxNTYgMS44MDQ2OUMzMC45MDYyIDIuMTk1MzEgMzEuMTAxNiAyLjY2NDA2IDMxLjEwMTYgMy4yMTA5NEMzMS4xMDE2IDMuNzU3ODEgMzAuOTA2MiA0LjIyNjU2IDMwLjUxNTYgNC42MTcxOUMzMC4xMjUgNS4wMDc4MSAyOS42NTYyIDUuMjAzMTIgMjkuMTA5NCA1LjIwMzEyWk0zNC44NzUgOC4xMzI4MUMzNC4zMjgxIDguMTMyODEgMzMuODUxNiA3LjkzNzUgMzMuNDQ1MyA3LjU0Njg4QzMzLjA1NDcgNy4xNDA2MiAzMi44NTk0IDYuNjcxODggMzIuODU5NCA2LjE0MDYyQzMyLjg1OTQgNS41NzgxMiAzMy4wNTQ3IDUuMTAxNTYgMzMuNDQ1MyA0LjcxMDk0QzMzLjg1MTYgNC4zMjAzMSAzNC4zMjgxIDQuMTI1IDM0Ljg3NSA0LjEyNUMzNS40MjE5IDQuMTI1IDM1Ljg5MDYgNC4zMjAzMSAzNi4yODEyIDQuNzEwOTRDMzYuNjg3NSA1LjEwMTU2IDM2Ljg5MDYgNS41NzgxMiAzNi44OTA2IDYuMTQwNjJDMzYuODkwNiA2LjY3MTg4IDM2LjY4NzUgNy4xNDA2MiAzNi4yODEyIDcuNTQ2ODhDMzUuODkwNiA3LjkzNzUgMzUuNDIxOSA4LjEzMjgxIDM0Ljg3NSA4LjEzMjgxWk0zOS40NDUzIDEyLjY3OTdDMzguODk4NCAxMi42Nzk3IDM4LjQyMTkgMTIuNDg0NCAzOC4wMTU2IDEyLjA5MzhDMzcuNjI1IDExLjcwMzEgMzcuNDI5NyAxMS4yMzQ0IDM3LjQyOTcgMTAuNjg3NUMzNy40Mjk3IDEwLjE1NjIgMzcuNjI1IDkuNjk1MzEgMzguMDE1NiA5LjMwNDY5QzM4LjQyMTkgOC44OTg0NCAzOC44OTg0IDguNjk1MzEgMzkuNDQ1MyA4LjY5NTMxQzM5Ljk5MjIgOC42OTUzMSA0MC40NjA5IDguODk4NDQgNDAuODUxNiA5LjMwNDY5QzQxLjI0MjIgOS42OTUzMSA0MS40Mzc1IDEwLjE1NjIgNDEuNDM3NSAxMC42ODc1QzQxLjQzNzUgMTEuMjM0NCA0MS4yNDIyIDExLjcwMzEgNDAuODUxNiAxMi4wOTM4QzQwLjQ2MDkgMTIuNDg0NCAzOS45OTIyIDEyLjY3OTcgMzkuNDQ1MyAxMi42Nzk3Wk00Mi4zNzUgMTguMzk4NEM0MS44MTI1IDE4LjM5ODQgNDEuMzI4MSAxOC4yMDMxIDQwLjkyMTkgMTcuODEyNUM0MC41MzEyIDE3LjQyMTkgNDAuMzM1OSAxNi45NTMxIDQwLjMzNTkgMTYuNDA2MkM0MC4zMzU5IDE1Ljg0MzggNDAuNTMxMiAxNS4zNjcyIDQwLjkyMTkgMTQuOTc2NkM0MS4zMjgxIDE0LjU4NTkgNDEuODEyNSAxNC4zOTA2IDQyLjM3NSAxNC4zOTA2QzQyLjkwNjIgMTQuMzkwNiA0My4zNjcyIDE0LjU4NTkgNDMuNzU3OCAxNC45NzY2QzQ0LjE2NDEgMTUuMzY3MiA0NC4zNjcyIDE1Ljg0MzggNDQuMzY3MiAxNi40MDYyQzQ0LjM2NzIgMTYuOTUzMSA0NC4xNjQxIDE3LjQyMTkgNDMuNzU3OCAxNy44MTI1QzQzLjM2NzIgMTguMjAzMSA0Mi45MDYyIDE4LjM5ODQgNDIuMzc1IDE4LjM5ODRaTTQzLjQ1MzEgMjQuNzk2OUM0Mi45MDYyIDI0Ljc5NjkgNDIuNDM3NSAyNC42MDE2IDQyLjA0NjkgMjQuMjEwOUM0MS42NTYyIDIzLjgyMDMgNDEuNDYwOSAyMy4zNDM4IDQxLjQ2MDkgMjIuNzgxMkM0MS40NjA5IDIyLjIzNDQgNDEuNjU2MiAyMS43NjU2IDQyLjA0NjkgMjEuMzc1QzQyLjQzNzUgMjAuOTg0NCA0Mi45MDYyIDIwLjc4OTEgNDMuNDUzMSAyMC43ODkxQzQ0IDIwLjc4OTEgNDQuNDY4OCAyMC45ODQ0IDQ0Ljg1OTQgMjEuMzc1QzQ1LjI2NTYgMjEuNzY1NiA0NS40Njg4IDIyLjIzNDQgNDUuNDY4OCAyMi43ODEyQzQ1LjQ2ODggMjMuMzQzOCA0NS4yNjU2IDIzLjgyMDMgNDQuODU5NCAyNC4yMTA5QzQ0LjQ2ODggMjQuNjAxNiA0NCAyNC43OTY5IDQzLjQ1MzEgMjQuNzk2OVpNNDIuMzc1IDMxLjE3MTlDNDEuODEyNSAzMS4xNzE5IDQxLjMyODEgMzAuOTc2NiA0MC45MjE5IDMwLjU4NTlDNDAuNTMxMiAzMC4xOTUzIDQwLjMzNTkgMjkuNzI2NiA0MC4zMzU5IDI5LjE3OTdDNDAuMzM1OSAyOC42MTcyIDQwLjUzMTIgMjguMTQwNiA0MC45MjE5IDI3Ljc1QzQxLjMyODEgMjcuMzU5NCA0MS44MTI1IDI3LjE2NDEgNDIuMzc1IDI3LjE2NDFDNDIuOTA2MiAyNy4xNjQxIDQzLjM2NzIgMjcuMzU5NCA0My43NTc4IDI3Ljc1QzQ0LjE2NDEgMjguMTQwNiA0NC4zNjcyIDI4LjYxNzIgNDQuMzY3MiAyOS4xNzk3QzQ0LjM2NzIgMjkuNzI2NiA0NC4xNjQxIDMwLjE5NTMgNDMuNzU3OCAzMC41ODU5QzQzLjM2NzIgMzAuOTc2NiA0Mi45MDYyIDMxLjE3MTkgNDIuMzc1IDMxLjE3MTlaTTM5LjQ0NTMgMzYuODkwNkMzOC44OTg0IDM2Ljg5MDYgMzguNDIxOSAzNi42OTUzIDM4LjAxNTYgMzYuMzA0N0MzNy42MjUgMzUuODk4NCAzNy40Mjk3IDM1LjQyMTkgMzcuNDI5NyAzNC44NzVDMzcuNDI5NyAzNC4zMjgxIDM3LjYyNSAzMy44NTk0IDM4LjAxNTYgMzMuNDY4OEMzOC40MjE5IDMzLjA2MjUgMzguODk4NCAzMi44NTk0IDM5LjQ0NTMgMzIuODU5NEMzOS45OTIyIDMyLjg1OTQgNDAuNDYwOSAzMy4wNjI1IDQwLjg1MTYgMzMuNDY4OEM0MS4yNDIyIDMzLjg1OTQgNDEuNDM3NSAzNC4zMjgxIDQxLjQzNzUgMzQuODc1QzQxLjQzNzUgMzUuNDIxOSA0MS4yNDIyIDM1Ljg5ODQgNDAuODUxNiAzNi4zMDQ3QzQwLjQ2MDkgMzYuNjk1MyAzOS45OTIyIDM2Ljg5MDYgMzkuNDQ1MyAzNi44OTA2Wk0zNC44NzUgNDEuNDM3NUMzNC4zMjgxIDQxLjQzNzUgMzMuODUxNiA0MS4yNDIyIDMzLjQ0NTMgNDAuODUxNkMzMy4wNTQ3IDQwLjQ2MDkgMzIuODU5NCAzOS45OTIyIDMyLjg1OTQgMzkuNDQ1M0MzMi44NTk0IDM4Ljg5ODQgMzMuMDU0NyAzOC40Mjk3IDMzLjQ0NTMgMzguMDM5MUMzMy44NTE2IDM3LjYzMjggMzQuMzI4MSAzNy40Mjk3IDM0Ljg3NSAzNy40Mjk3QzM1LjQyMTkgMzcuNDI5NyAzNS44OTA2IDM3LjYzMjggMzYuMjgxMiAzOC4wMzkxQzM2LjY4NzUgMzguNDI5NyAzNi44OTA2IDM4Ljg5ODQgMzYuODkwNiAzOS40NDUzQzM2Ljg5MDYgMzkuOTkyMiAzNi42ODc1IDQwLjQ2MDkgMzYuMjgxMiA0MC44NTE2QzM1Ljg5MDYgNDEuMjQyMiAzNS40MjE5IDQxLjQzNzUgMzQuODc1IDQxLjQzNzVaTTI5LjEwOTQgNDQuMzY3MkMyOC41NDY5IDQ0LjM2NzIgMjguMDcwMyA0NC4xNjQxIDI3LjY3OTcgNDMuNzU3OEMyNy4yODkxIDQzLjM2NzIgMjcuMDkzOCA0Mi44OTg0IDI3LjA5MzggNDIuMzUxNkMyNy4wOTM4IDQxLjgwNDcgMjcuMjg5MSA0MS4zMzU5IDI3LjY3OTcgNDAuOTQ1M0MyOC4wNzAzIDQwLjU1NDcgMjguNTQ2OSA0MC4zNTk0IDI5LjEwOTQgNDAuMzU5NEMyOS42NTYyIDQwLjM1OTQgMzAuMTI1IDQwLjU1NDcgMzAuNTE1NiA0MC45NDUzQzMwLjkwNjIgNDEuMzM1OSAzMS4xMDE2IDQxLjgwNDcgMzEuMTAxNiA0Mi4zNTE2QzMxLjEwMTYgNDIuODk4NCAzMC45MDYyIDQzLjM2NzIgMzAuNTE1NiA0My43NTc4QzMwLjEyNSA0NC4xNjQxIDI5LjY1NjIgNDQuMzY3MiAyOS4xMDk0IDQ0LjM2NzJaTTIyLjczNDQgNDUuMzk4NEMyMi4xODc1IDQ1LjM5ODQgMjEuNzE4OCA0NS4yMDMxIDIxLjMyODEgNDQuODEyNUMyMC45Mzc1IDQ0LjQyMTkgMjAuNzQyMiA0My45NTMxIDIwLjc0MjIgNDMuNDA2MkMyMC43NDIyIDQyLjg0MzggMjAuOTM3NSA0Mi4zNjcyIDIxLjMyODEgNDEuOTc2NkMyMS43MTg4IDQxLjU4NTkgMjIuMTg3NSA0MS4zOTA2IDIyLjczNDQgNDEuMzkwNkMyMy4yODEyIDQxLjM5MDYgMjMuNzUgNDEuNTg1OSAyNC4xNDA2IDQxLjk3NjZDMjQuNTMxMiA0Mi4zNjcyIDI0LjcyNjYgNDIuODQzOCAyNC43MjY2IDQzLjQwNjJDMjQuNzI2NiA0My45NTMxIDI0LjUzMTIgNDQuNDIxOSAyNC4xNDA2IDQ0LjgxMjVDMjMuNzUgNDUuMjAzMSAyMy4yODEyIDQ1LjM5ODQgMjIuNzM0NCA0NS4zOTg0Wk0xNi4zNTk0IDQ0LjM2NzJDMTUuODEyNSA0NC4zNjcyIDE1LjM0MzggNDQuMTY0MSAxNC45NTMxIDQzLjc1NzhDMTQuNTYyNSA0My4zNjcyIDE0LjM2NzIgNDIuODk4NCAxNC4zNjcyIDQyLjM1MTZDMTQuMzY3MiA0MS44MDQ3IDE0LjU2MjUgNDEuMzM1OSAxNC45NTMxIDQwLjk0NTNDMTUuMzQzOCA0MC41NTQ3IDE1LjgxMjUgNDAuMzU5NCAxNi4zNTk0IDQwLjM1OTRDMTYuOTIxOSA0MC4zNTk0IDE3LjM5ODQgNDAuNTU0NyAxNy43ODkxIDQwLjk0NTNDMTguMTc5NyA0MS4zMzU5IDE4LjM3NSA0MS44MDQ3IDE4LjM3NSA0Mi4zNTE2QzE4LjM3NSA0Mi44OTg0IDE4LjE3OTcgNDMuMzY3MiAxNy43ODkxIDQzLjc1NzhDMTcuMzk4NCA0NC4xNjQxIDE2LjkyMTkgNDQuMzY3MiAxNi4zNTk0IDQ0LjM2NzJaTTEwLjU3MDMgNDEuNDM3NUMxMC4wMzkxIDQxLjQzNzUgOS41NzAzMSA0MS4yNDIyIDkuMTY0MDYgNDAuODUxNkM4Ljc3MzQ0IDQwLjQ2MDkgOC41NzgxMiAzOS45OTIyIDguNTc4MTIgMzkuNDQ1M0M4LjU3ODEyIDM4Ljg5ODQgOC43NzM0NCAzOC40Mjk3IDkuMTY0MDYgMzguMDM5MUM5LjU3MDMxIDM3LjYzMjggMTAuMDM5MSAzNy40Mjk3IDEwLjU3MDMgMzcuNDI5N0MxMS4xMzI4IDM3LjQyOTcgMTEuNjA5NCAzNy42MzI4IDEyIDM4LjAzOTFDMTIuMzkwNiAzOC40Mjk3IDEyLjU4NTkgMzguODk4NCAxMi41ODU5IDM5LjQ0NTNDMTIuNTg1OSAzOS45OTIyIDEyLjM5MDYgNDAuNDYwOSAxMiA0MC44NTE2QzExLjYwOTQgNDEuMjQyMiAxMS4xMzI4IDQxLjQzNzUgMTAuNTcwMyA0MS40Mzc1Wk02LjAyMzQ0IDM2Ljg5MDZDNS40NzY1NiAzNi44OTA2IDUgMzYuNjk1MyA0LjU5Mzc1IDM2LjMwNDdDNC4yMDMxMiAzNS44OTg0IDQuMDA3ODEgMzUuNDIxOSA0LjAwNzgxIDM0Ljg3NUM0LjAwNzgxIDM0LjMyODEgNC4yMDMxMiAzMy44NTk0IDQuNTkzNzUgMzMuNDY4OEM1IDMzLjA2MjUgNS40NzY1NiAzMi44NTk0IDYuMDIzNDQgMzIuODU5NEM2LjU3MDMxIDMyLjg1OTQgNy4wMzkwNiAzMy4wNjI1IDcuNDI5NjkgMzMuNDY4OEM3LjgyMDMxIDMzLjg1OTQgOC4wMTU2MiAzNC4zMjgxIDguMDE1NjIgMzQuODc1QzguMDE1NjIgMzUuNDIxOSA3LjgyMDMxIDM1Ljg5ODQgNy40Mjk2OSAzNi4zMDQ3QzcuMDM5MDYgMzYuNjk1MyA2LjU3MDMxIDM2Ljg5MDYgNi4wMjM0NCAzNi44OTA2Wk0zLjA5Mzc1IDMxLjE3MTlDMi41NjI1IDMxLjE3MTkgMi4wOTM3NSAzMC45NzY2IDEuNjg3NSAzMC41ODU5QzEuMjk2ODggMzAuMTk1MyAxLjEwMTU2IDI5LjcyNjYgMS4xMDE1NiAyOS4xNzk3QzEuMTAxNTYgMjguNjE3MiAxLjI5Njg4IDI4LjE0MDYgMS42ODc1IDI3Ljc1QzIuMDkzNzUgMjcuMzU5NCAyLjU2MjUgMjcuMTY0MSAzLjA5Mzc1IDI3LjE2NDFDMy42NTYyNSAyNy4xNjQxIDQuMTMyODEgMjcuMzU5NCA0LjUyMzQ0IDI3Ljc1QzQuOTE0MDYgMjguMTQwNiA1LjEwOTM4IDI4LjYxNzIgNS4xMDkzOCAyOS4xNzk3QzUuMTA5MzggMjkuNzI2NiA0LjkxNDA2IDMwLjE5NTMgNC41MjM0NCAzMC41ODU5QzQuMTMyODEgMzAuOTc2NiAzLjY1NjI1IDMxLjE3MTkgMy4wOTM3NSAzMS4xNzE5Wk0yLjAxNTYyIDI0Ljc5NjlDMS40NTMxMiAyNC43OTY5IDAuOTc2NTYyIDI0LjYwMTYgMC41ODU5MzggMjQuMjEwOUMwLjE5NTMxMiAyMy44MjAzIDAgMjMuMzQzOCAwIDIyLjc4MTJDMCAyMi4yMzQ0IDAuMTk1MzEyIDIxLjc2NTYgMC41ODU5MzggMjEuMzc1QzAuOTc2NTYyIDIwLjk4NDQgMS40NTMxMiAyMC43ODkxIDIuMDE1NjIgMjAuNzg5MUMyLjU2MjUgMjAuNzg5MSAzLjAzMTI1IDIwLjk4NDQgMy40MjE4OCAyMS4zNzVDMy44MTI1IDIxLjc2NTYgNC4wMDc4MSAyMi4yMzQ0IDQuMDA3ODEgMjIuNzgxMkM0LjAwNzgxIDIzLjM0MzggMy44MTI1IDIzLjgyMDMgMy40MjE4OCAyNC4yMTA5QzMuMDMxMjUgMjQuNjAxNiAyLjU2MjUgMjQuNzk2OSAyLjAxNTYyIDI0Ljc5NjlaTTMuMDkzNzUgMTguMzk4NEMyLjU2MjUgMTguMzk4NCAyLjA5Mzc1IDE4LjIwMzEgMS42ODc1IDE3LjgxMjVDMS4yOTY4OCAxNy40MjE5IDEuMTAxNTYgMTYuOTUzMSAxLjEwMTU2IDE2LjQwNjJDMS4xMDE1NiAxNS44NDM4IDEuMjk2ODggMTUuMzY3MiAxLjY4NzUgMTQuOTc2NkMyLjA5Mzc1IDE0LjU4NTkgMi41NjI1IDE0LjM5MDYgMy4wOTM3NSAxNC4zOTA2QzMuNjU2MjUgMTQuMzkwNiA0LjEzMjgxIDE0LjU4NTkgNC41MjM0NCAxNC45NzY2QzQuOTE0MDYgMTUuMzY3MiA1LjEwOTM4IDE1Ljg0MzggNS4xMDkzOCAxNi40MDYyQzUuMTA5MzggMTYuOTUzMSA0LjkxNDA2IDE3LjQyMTkgNC41MjM0NCAxNy44MTI1QzQuMTMyODEgMTguMjAzMSAzLjY1NjI1IDE4LjM5ODQgMy4wOTM3NSAxOC4zOTg0Wk02LjAyMzQ0IDEyLjY3OTdDNS40NzY1NiAxMi42Nzk3IDUgMTIuNDg0NCA0LjU5Mzc1IDEyLjA5MzhDNC4yMDMxMiAxMS43MDMxIDQuMDA3ODEgMTEuMjM0NCA0LjAwNzgxIDEwLjY4NzVDNC4wMDc4MSAxMC4xNTYyIDQuMjAzMTIgOS42OTUzMSA0LjU5Mzc1IDkuMzA0NjlDNSA4Ljg5ODQ0IDUuNDc2NTYgOC42OTUzMSA2LjAyMzQ0IDguNjk1MzFDNi41NzAzMSA4LjY5NTMxIDcuMDM5MDYgOC44OTg0NCA3LjQyOTY5IDkuMzA0NjlDNy44MjAzMSA5LjY5NTMxIDguMDE1NjIgMTAuMTU2MiA4LjAxNTYyIDEwLjY4NzVDOC4wMTU2MiAxMS4yMzQ0IDcuODIwMzEgMTEuNzAzMSA3LjQyOTY5IDEyLjA5MzhDNy4wMzkwNiAxMi40ODQ0IDYuNTcwMzEgMTIuNjc5NyA2LjAyMzQ0IDEyLjY3OTdaTTEwLjU3MDMgOC4xMzI4MUMxMC4wMzkxIDguMTMyODEgOS41NzAzMSA3LjkzNzUgOS4xNjQwNiA3LjU0Njg4QzguNzczNDQgNy4xNDA2MiA4LjU3ODEyIDYuNjcxODggOC41NzgxMiA2LjE0MDYyQzguNTc4MTIgNS41NzgxMiA4Ljc3MzQ0IDUuMTAxNTYgOS4xNjQwNiA0LjcxMDk0QzkuNTcwMzEgNC4zMjAzMSAxMC4wMzkxIDQuMTI1IDEwLjU3MDMgNC4xMjVDMTEuMTMyOCA0LjEyNSAxMS42MDk0IDQuMzIwMzEgMTIgNC43MTA5NEMxMi4zOTA2IDUuMTAxNTYgMTIuNTg1OSA1LjU3ODEyIDEyLjU4NTkgNi4xNDA2MkMxMi41ODU5IDYuNjcxODggMTIuMzkwNiA3LjE0MDYyIDEyIDcuNTQ2ODhDMTEuNjA5NCA3LjkzNzUgMTEuMTMyOCA4LjEzMjgxIDEwLjU3MDMgOC4xMzI4MVpNMTYuMzU5NCA1LjIwMzEyQzE1LjgxMjUgNS4yMDMxMiAxNS4zNDM4IDUuMDA3ODEgMTQuOTUzMSA0LjYxNzE5QzE0LjU2MjUgNC4yMjY1NiAxNC4zNjcyIDMuNzU3ODEgMTQuMzY3MiAzLjIxMDk0QzE0LjM2NzIgMi42NjQwNiAxNC41NjI1IDIuMTk1MzEgMTQuOTUzMSAxLjgwNDY5QzE1LjM0MzggMS4zOTg0NCAxNS44MTI1IDEuMTk1MzEgMTYuMzU5NCAxLjE5NTMxQzE2LjkyMTkgMS4xOTUzMSAxNy4zOTg0IDEuMzk4NDQgMTcuNzg5MSAxLjgwNDY5QzE4LjE3OTcgMi4xOTUzMSAxOC4zNzUgMi42NjQwNiAxOC4zNzUgMy4yMTA5NEMxOC4zNzUgMy43NTc4MSAxOC4xNzk3IDQuMjI2NTYgMTcuNzg5MSA0LjYxNzE5QzE3LjM5ODQgNS4wMDc4MSAxNi45MjE5IDUuMjAzMTIgMTYuMzU5NCA1LjIwMzEyWk00MC4xMDE2IDQ1LjU2MjVDMzYuOTQ1MyA0NS41NjI1IDMzLjk5MjIgNDQuOTY4OCAzMS4yNDIyIDQzLjc4MTJDMjguNTA3OCA0Mi42MDk0IDI2LjA5MzggNDAuOTc2NiAyNCAzOC44ODI4QzIxLjkwNjIgMzYuNzg5MSAyMC4yNjU2IDM0LjM2NzIgMTkuMDc4MSAzMS42MTcyQzE3LjkwNjIgMjguODY3MiAxNy4zMjAzIDI1LjkyMTkgMTcuMzIwMyAyMi43ODEyQzE3LjMyMDMgMTkuNjQwNiAxNy45MDYyIDE2LjY5NTMgMTkuMDc4MSAxMy45NDUzQzIwLjI2NTYgMTEuMTc5NyAyMS45MDYyIDguNzU3ODEgMjQgNi42Nzk2OUMyNi4wOTM4IDQuNTg1OTQgMjguNTA3OCAyLjk1MzEyIDMxLjI0MjIgMS43ODEyNUMzMy45OTIyIDAuNTkzNzUgMzYuOTQ1MyAwIDQwLjEwMTYgMEM0My4yNDIyIDAgNDYuMTg3NSAwLjU5Mzc1IDQ4LjkzNzUgMS43ODEyNUM1MS42ODc1IDIuOTUzMTIgNTQuMTAxNiA0LjU4NTk0IDU2LjE3OTcgNi42Nzk2OUM1OC4yNzM0IDguNzU3ODEgNTkuOTA2MiAxMS4xNzk3IDYxLjA3ODEgMTMuOTQ1M0M2Mi4yNjU2IDE2LjY5NTMgNjIuODU5NCAxOS42NDA2IDYyLjg1OTQgMjIuNzgxMkM2Mi44NTk0IDI1LjkyMTkgNjIuMjY1NiAyOC44NjcyIDYxLjA3ODEgMzEuNjE3MkM1OS45MDYyIDM0LjM2NzIgNTguMjczNCAzNi43ODkxIDU2LjE3OTcgMzguODgyOEM1NC4xMDE2IDQwLjk3NjYgNTEuNjg3NSA0Mi42MDk0IDQ4LjkzNzUgNDMuNzgxMkM0Ni4xODc1IDQ0Ljk2ODggNDMuMjQyMiA0NS41NjI1IDQwLjEwMTYgNDUuNTYyNVpNNDAuMTAxNiA0MS4zOTA2QzQyLjY2NDEgNDEuMzkwNiA0NS4wNzAzIDQwLjkwNjIgNDcuMzIwMyAzOS45Mzc1QzQ5LjU3MDMgMzguOTY4OCA1MS41NDY5IDM3LjYzMjggNTMuMjUgMzUuOTI5N0M1NC45Njg4IDM0LjIyNjYgNTYuMzA0NyAzMi4yNTc4IDU3LjI1NzggMzAuMDIzNEM1OC4yMTA5IDI3Ljc3MzQgNTguNjg3NSAyNS4zNTk0IDU4LjY4NzUgMjIuNzgxMkM1OC42ODc1IDIwLjIwMzEgNTguMjEwOSAxNy43OTY5IDU3LjI1NzggMTUuNTYyNUM1Ni4zMDQ3IDEzLjMxMjUgNTQuOTY4OCAxMS4zMzU5IDUzLjI1IDkuNjMyODFDNTEuNTQ2OSA3LjkyOTY5IDQ5LjU3MDMgNi41OTM3NSA0Ny4zMjAzIDUuNjI1QzQ1LjA3MDMgNC42NTYyNSA0Mi42NjQxIDQuMTcxODggNDAuMTAxNiA0LjE3MTg4QzM3LjUyMzQgNC4xNzE4OCAzNS4xMDk0IDQuNjU2MjUgMzIuODU5NCA1LjYyNUMzMC42MjUgNi41OTM3NSAyOC42NDg0IDcuOTI5NjkgMjYuOTI5NyA5LjYzMjgxQzI1LjIyNjYgMTEuMzM1OSAyMy44OTA2IDEzLjMxMjUgMjIuOTIxOSAxNS41NjI1QzIxLjk2ODggMTcuNzk2OSAyMS40OTIyIDIwLjIwMzEgMjEuNDkyMiAyMi43ODEyQzIxLjQ5MjIgMjUuMzU5NCAyMS45Njg4IDI3Ljc3MzQgMjIuOTIxOSAzMC4wMjM0QzIzLjg5MDYgMzIuMjU3OCAyNS4yMjY2IDM0LjIyNjYgMjYuOTI5NyAzNS45Mjk3QzI4LjY0ODQgMzcuNjMyOCAzMC42MjUgMzguOTY4OCAzMi44NTk0IDM5LjkzNzVDMzUuMTA5NCA0MC45MDYyIDM3LjUyMzQgNDEuMzkwNiA0MC4xMDE2IDQxLjM5MDZaIn0pfSksdm9pY2VvdmVyOlgoInN2ZyIse3dpZHRoOiIxNCIsaGVpZ2h0OiIxNCIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjIiLHN0cm9rZUxpbmVjYXA6InJvdW5kIixzdHJva2VMaW5lam9pbjoicm91bmQiLGNoaWxkcmVuOltYKCJwYXRoIix7ZDoibTExIDcuNjAxLTUuOTk0IDguMTlhMSAxIDAgMCAwIC4xIDEuMjk4bC44MTcuODE4YTEgMSAwIDAgMCAxLjMxNC4wODdMMTUuMDkgMTIifSksWCgicGF0aCIse2Q6Ik0xNi41IDIxLjE3NEMxNS41IDIwLjUgMTQuMzcyIDIwIDEzIDIwYy0yLjA1OCAwLTMuOTI4IDIuMzU2LTYgMi0yLjA3Mi0uMzU2LTIuNzc1LTMuMzY5LTEuNS00LjUifSksWCgiY2lyY2xlIix7Y3g6IjE2IixjeToiNyIscjoiNSJ9KV19KSxrZXlib2FyZDpYKCJzdmciLHt3aWR0aDoiMTQiLGhlaWdodDoiMTQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOiIyIixzdHJva2VMaW5lY2FwOiJyb3VuZCIsc3Ryb2tlTGluZWpvaW46InJvdW5kIixjaGlsZHJlbjpbWCgicGF0aCIse2Q6Ik0xMCA4aC4wMU0xMiAxMmguMDFNMTQgOGguMDFNMTYgMTJoLjAxTTE4IDhoLjAxTTYgOGguMDFNNyAxNmgxME04IDEyaC4wMSJ9KSxYKCJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjE2Iix4OiIyIix5OiI0IixyeDoiMiJ9KV19KX07ZnVuY3Rpb24geksoJCl7aWYoISQpcmV0dXJuITA7cmV0dXJuIE0zKCQpLm9zLnRvTG93ZXJDYXNlKCk9PT0iaW9zIn1mdW5jdGlvbiByNyh7dWRpZDokLHJ1bnRpbWU6Sn0pe2xldFtRLFpdPUEoITApLFtLLFldPUEobnVsbCksW3EsR109QShudWxsKSxbQixOXT1BKG51bGwpLEw9eksoSiksVj1JKGFzeW5jKCk9PntOKG51bGwpO3RyeXtsZXQgUD1hd2FpdCBUOCh7ZGV2aWNlOiR9LHtzaWduYWw6QWJvcnRTaWduYWwudGltZW91dCgxNTAwMCl9KTtpZihQKVkoUCk7ZWxzZSBOKCJVbmV4cGVjdGVkIHNpbXVsYXRvci1zZXR0aW5ncyByZXBseSIpfWNhdGNoKFApe04oUCBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbiYmUC5uYW1lPT09IlRpbWVvdXRFcnJvciI/IlRpbWVkIG91dCByZWFkaW5nIHNpbXVsYXRvciBzZXR0aW5ncyI6UCBpbnN0YW5jZW9mIEVycm9yJiZQLm1lc3NhZ2UhPT0iRmFpbGVkIHRvIGZldGNoIj9QLm1lc3NhZ2U6IkNvdWxkIG5vdCByZWFjaCB0aGUgcHJldmlldyBzZXJ2ZXIg4oCUIHJlbG9hZCB0aGUgcGFnZSBpZiB0aGlzIHBlcnNpc3RzIil9fSxbJF0pO0UoKCk9PntpZihZKG51bGwpLCFMKXJldHVybjtWKCl9LFtWLExdKTtsZXQgej1JKGFzeW5jKFAseCk9PntHKFApLE4obnVsbCksWSgoRik9PkY/ey4uLkYsW1BdOnh9OkYpO3RyeXthd2FpdCBUOCh7ZGV2aWNlOiQsb3B0aW9uOlAsdmFsdWU6eH0se3NpZ25hbDpBYm9ydFNpZ25hbC50aW1lb3V0KDE1MDAwKX0pfWNhdGNoKEYpe04oRiBpbnN0YW5jZW9mIEVycm9yP0YubWVzc2FnZTpgRmFpbGVkIHRvIHNldCAke1B9YCksVigpfWZpbmFsbHl7RyhudWxsKX19LFskLFZdKSxDPUQoe3J1bm5pbmc6ITEsbmV4dDpudWxsfSksTT1EKHopO00uY3VycmVudD16O2xldCBVPUkoKFApPT57bGV0IHg9Qy5jdXJyZW50O2lmKHgubmV4dD1QLHgucnVubmluZylyZXR1cm47eC5ydW5uaW5nPSEwLChhc3luYygpPT57d2hpbGUoeC5uZXh0IT09bnVsbCl7bGV0IEY9eC5uZXh0O3gubmV4dD1udWxsLGF3YWl0IE0uY3VycmVudCgidGV4dC1zaXplIix3NVtGXSl9eC5ydW5uaW5nPSExfSkoKX0sW10pLEg9SyE9PW51bGwsTz1LPz9CSyxrPXc1LmluZGV4T2YoT1sidGV4dC1zaXplIl0pLHc9az49MD9rOk9bInRleHQtc2l6ZSJdPy5zdGFydHNXaXRoKCJhY2Nlc3NpYmlsaXR5Iik/dzUubGVuZ3RoLTE6MztyZXR1cm4gWCgkMCx7b3BlbjpRLG9uT3BlbkNoYW5nZTpaLCJkYXRhLXNpbXVsYXRvci1zZXR0aW5ncyI6IiIsc3VtbWFyeUNsYXNzTmFtZToiZ3JpZCBbZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOmF1dG9fMWZyX2F1dG9dIGl0ZW1zLWNlbnRlciBnYXAtMiB0ZXh0LWxlZnQiLHN1bW1hcnk6WChYMSx7Y2hpbGRyZW46W1goInNwYW4iLHtjbGFzc05hbWU6InRleHQtWzExcHhdIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZS81MCB1cHBlcmNhc2UgdHJhY2tpbmctWzAuMDhlbV0gbGVhZGluZy1ub25lIGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciIsY2hpbGRyZW46IlNpbXVsYXRvciJ9KSxYKCJzcGFuIix7fSldfSksY2hpbGRyZW46IUw/WCgiZGl2Iix7Y2xhc3NOYW1lOiJ0ZXh0LXdoaXRlLzQ1IHRleHQtWzExcHhdIHB4LTAuNSBweS0xIixjaGlsZHJlbjoiU2ltdWxhdG9yIHNldHRpbmdzIGFyZSBhdmFpbGFibGUgb24gaU9TIHNpbXVsYXRvcnMgb25seS4ifSk6WChYMSx7Y2hpbGRyZW46W0ImJlgoImRpdiIse2NsYXNzTmFtZToiYmctZGFuZ2VyLzEwIGJvcmRlciBib3JkZXItZGFuZ2VyLzIwIHRleHQtZGFuZ2VyLXNvZnQgdGV4dC1bMTFweF0gcHgtMiBweS0xLjUgcm91bmRlZC1tZCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gZ2FwLTIiLGNoaWxkcmVuOltYKCJzcGFuIix7Y2xhc3NOYW1lOiJtaW4tdy0wIixjaGlsZHJlbjpCfSksWCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixvbkNsaWNrOigpPT52b2lkIFYoKSxjbGFzc05hbWU6InNocmluay0wIGN1cnNvci1wb2ludGVyIHJvdW5kZWQgYm9yZGVyIGJvcmRlci1kYW5nZXIvMzAgYmctdHJhbnNwYXJlbnQgcHgtMS41IHB5LTAuNSB0ZXh0LVsxMXB4XSB0ZXh0LWRhbmdlci1zb2Z0IixjaGlsZHJlbjoiUmV0cnkifSldfSksWCgiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGZsZXgtY29sIGdhcC0xLjUgcGItMS41IixjaGlsZHJlbjpbWChrMCx7aWNvbjpJNS5hcHBlYXJhbmNlLGxhYmVsOiJBcHBlYXJhbmNlIixjaGlsZHJlbjpYKGowLHtsYWJlbDoiQXBwZWFyYW5jZSIsdmFsdWU6Ty5hcHBlYXJhbmNlPz8ibGlnaHQiLG9wdGlvbnM6WjkuYXBwZWFyYW5jZSxkaXNhYmxlZDohSHx8cT09PSJhcHBlYXJhbmNlIixvbkNoYW5nZTooUCk9PnooImFwcGVhcmFuY2UiLFApfSl9KSxYKGswLHtpY29uOkk1LmdsYXNzLGxhYmVsOiJMaXF1aWQgR2xhc3MiLGNoaWxkcmVuOlgoajAse2xhYmVsOiJMaXF1aWQgR2xhc3MiLHZhbHVlOk9bImxpcXVpZC1nbGFzcyJdPz8iY2xlYXIiLG9wdGlvbnM6WjlbImxpcXVpZC1nbGFzcyJdLGRpc2FibGVkOiFIfHxxPT09ImxpcXVpZC1nbGFzcyIsb25DaGFuZ2U6KFApPT56KCJsaXF1aWQtZ2xhc3MiLFApfSl9KSxYKGswLHtpY29uOkk1LmZpbHRlcixsYWJlbDoiQ29sb3IgRmlsdGVyIixjaGlsZHJlbjpYKGowLHtsYWJlbDoiQ29sb3IgRmlsdGVyIix2YWx1ZTpPWyJjb2xvci1maWx0ZXIiXT8/Im5vbmUiLG9wdGlvbnM6WjlbImNvbG9yLWZpbHRlciJdLGRpc2FibGVkOiFIfHxxPT09ImNvbG9yLWZpbHRlciIsb25DaGFuZ2U6KFApPT56KCJjb2xvci1maWx0ZXIiLFApfSl9KSxYKGswLHtpY29uOkk1LnRleHRTaXplLGxhYmVsOiJUZXh0IFNpemUiLGNoaWxkcmVuOlgoTEsse3ZhbHVlOncsZGlzYWJsZWQ6IUgsb25DaGFuZ2U6VX0pfSksTksubWFwKCh7a2V5OlAsbGFiZWw6eH0pPT5YKGswLHtpY29uOkk1W1A9PT0iaGFyZHdhcmUta2V5Ym9hcmQiPyJrZXlib2FyZCI6UD09PSJyZWR1Y2UtbW90aW9uIj8ibW90aW9uIjpQPT09ImluY3JlYXNlLWNvbnRyYXN0Ij8iY29udHJhc3QiOlA9PT0ic2hvdy1ib3JkZXJzIj8iYm9yZGVycyI6UD09PSJyZWR1Y2UtdHJhbnNwYXJlbmN5Ij8idHJhbnNwYXJlbmN5Ijoidm9pY2VvdmVyIl0sbGFiZWw6eCxjaGlsZHJlbjpYKGgyLHtsYWJlbDp4LGNoZWNrZWQ6T1tQXT09PSJvbiIsZGlzYWJsZWQ6IUh8fHE9PT1QLG9uQ2hhbmdlOihGKT0+eihQLEY/Im9uIjoib2ZmIil9KX0sUCkpXX0pXX0pfSl9ZnVuY3Rpb24gYTcoJCxKKXtyZXR1cm4gJC5maW5kKChRKT0+US5zZXNzaW9uSWQ9PT1KKT8/bnVsbH1mdW5jdGlvbiB4MygkLEope2xldCBRPSExLFo9ITEsSz1hc3luYygpPT57aWYoWnx8USlyZXR1cm47UT0hMDt0cnl7YXdhaXQgJCgpfWNhdGNoe31maW5hbGx5e1E9ITF9fTtLKCk7bGV0IFk9c2V0SW50ZXJ2YWwoKCk9PnZvaWQgSygpLEopO3JldHVybigpPT57Wj0hMCxjbGVhckludGVydmFsKFkpfX12YXIgczc9MTAwMCxVSz00MDAwO2Z1bmN0aW9uIHQ3KCQsSixRKXtsZXRbWixLXT1BKHtzZXNzaW9uOm51bGwsY2FwdHVyZTpudWxsLGVuY29kZXI6bnVsbCxzdGFsZTohMX0pLFk9RCgwKTtyZXR1cm4gRSgoKT0+e2lmKFkuY3VycmVudD0wLEsoe3Nlc3Npb246bnVsbCxjYXB0dXJlOm51bGwsZW5jb2RlcjpudWxsLHN0YWxlOiExfSksIVF8fEo9PT1udWxsKXJldHVybjtsZXQgcT0hMSxHPXo0KCQsSiksTj14Myhhc3luYygpPT57bGV0IFY9bnVsbDt0cnl7bGV0IEM9YXdhaXQgZmV0Y2goRyx7c2lnbmFsOkFib3J0U2lnbmFsLnRpbWVvdXQoczcqMyl9KTtpZighQy5vayl7aWYoIXEpSyh7c2Vzc2lvbjpudWxsLGNhcHR1cmU6bnVsbCxlbmNvZGVyOm51bGwsc3RhbGU6ITF9KTtyZXR1cm59Vj1hd2FpdCBDLmpzb24oKX1jYXRjaHtyZXR1cm59aWYocXx8Vj09PW51bGwpcmV0dXJuO2xldCB6PUFycmF5LmlzQXJyYXkoVi5zZXNzaW9ucyk/Vi5zZXNzaW9uczpbXTtZLmN1cnJlbnQ9RGF0ZS5ub3coKSxLKHtzZXNzaW9uOmE3KHosSiksY2FwdHVyZTpWLmNhcHR1cmU/P251bGwsZW5jb2RlcjpWLmVuY29kZXI/P251bGwsc3RhbGU6ITF9KX0sczcpLEw9d2luZG93LnNldEludGVydmFsKCgpPT57aWYoWS5jdXJyZW50PjAmJkRhdGUubm93KCktWS5jdXJyZW50PlVLKUsoKFYpPT5WLnN0YWxlP1Y6ey4uLlYsc3RhbGU6ITB9KX0sMTAwMCk7cmV0dXJuKCk9PntxPSEwLE4oKSx3aW5kb3cuY2xlYXJJbnRlcnZhbChMKX19LFskLEosUV0pLFp9ZnVuY3Rpb24gcDIoJCl7cmV0dXJuIGkwKCQpPz8wfWZ1bmN0aW9uIGkwKCQpe3JldHVybiB0eXBlb2YgJD09PSJudW1iZXIiJiZOdW1iZXIuaXNGaW5pdGUoJCk/JDpudWxsfWZ1bmN0aW9uIGU3KCQsSil7bGV0IFE9e2F0TXM6SixmcmFtZXNEZWNvZGVkOjAsZnJhbWVzRHJvcHBlZDowLGZyZWV6ZUNvdW50OjAsZnJlZXplTXM6MCxieXRlc1JlY2VpdmVkOjAscGFja2V0c1JlY2VpdmVkOjAscGFja2V0c0xvc3Q6bnVsbCxqaXR0ZXJNczpudWxsLGppdHRlckJ1ZmZlclNlY29uZHM6bnVsbCxqaXR0ZXJCdWZmZXJFbWl0dGVkOm51bGwscmVwb3J0ZWRGcHM6bnVsbCx3aWR0aDpudWxsLGhlaWdodDpudWxsLGNvZGVjOm51bGwscm91bmRUcmlwTXM6bnVsbCxwYXRoOiJ1bmtub3duIn0sWj1uZXcgTWFwLEs9bmV3IE1hcCxZPW5ldyBNYXAscT1udWxsLEc9bnVsbCxCPW51bGw7JC5mb3JFYWNoKChMKT0+e3N3aXRjaChMLnR5cGUpe2Nhc2UiY29kZWMiOmlmKHR5cGVvZiBMLmlkPT09InN0cmluZyImJnR5cGVvZiBMLm1pbWVUeXBlPT09InN0cmluZyIpWi5zZXQoTC5pZCxMLm1pbWVUeXBlKTticmVhaztjYXNlImluYm91bmQtcnRwIjp7aWYoTC5raW5kIT09InZpZGVvIilicmVhaztsZXQgVj1wMihMLmZyYW1lc0RlY29kZWQpO2lmKFY8US5mcmFtZXNEZWNvZGVkKWJyZWFrO1EuZnJhbWVzRGVjb2RlZD1WLFEuZnJhbWVzRHJvcHBlZD1wMihMLmZyYW1lc0Ryb3BwZWQpLFEuZnJlZXplQ291bnQ9cDIoTC5mcmVlemVDb3VudCksUS5mcmVlemVNcz1wMihMLnRvdGFsRnJlZXplc0R1cmF0aW9uKSoxMDAwLFEuYnl0ZXNSZWNlaXZlZD1wMihMLmJ5dGVzUmVjZWl2ZWQpLFEucGFja2V0c1JlY2VpdmVkPXAyKEwucGFja2V0c1JlY2VpdmVkKSxRLnBhY2tldHNMb3N0PWkwKEwucGFja2V0c0xvc3QpLFEucmVwb3J0ZWRGcHM9aTAoTC5mcmFtZXNQZXJTZWNvbmQpLFEud2lkdGg9aTAoTC5mcmFtZVdpZHRoKSxRLmhlaWdodD1pMChMLmZyYW1lSGVpZ2h0KTtsZXQgej1pMChMLmppdHRlcik7aWYoUS5qaXR0ZXJNcz16PT09bnVsbD9udWxsOnoqMTAwMCxRLmppdHRlckJ1ZmZlclNlY29uZHM9aTAoTC5qaXR0ZXJCdWZmZXJEZWxheSksUS5qaXR0ZXJCdWZmZXJFbWl0dGVkPWkwKEwuaml0dGVyQnVmZmVyRW1pdHRlZENvdW50KSx0eXBlb2YgTC5jb2RlY0lkPT09InN0cmluZyIpUS5jb2RlYz1aLmdldChMLmNvZGVjSWQpPz9udWxsO2JyZWFrfWNhc2UidHJhbnNwb3J0IjppZih0eXBlb2YgTC5zZWxlY3RlZENhbmRpZGF0ZVBhaXJJZD09PSJzdHJpbmciKXE9TC5zZWxlY3RlZENhbmRpZGF0ZVBhaXJJZDticmVhaztjYXNlImNhbmRpZGF0ZS1wYWlyIjppZih0eXBlb2YgTC5pZD09PSJzdHJpbmciKUsuc2V0KEwuaWQsTCk7aWYoTC5zZWxlY3RlZD09PSEwKUc9TDtlbHNlIGlmKEwubm9taW5hdGVkPT09ITAmJkwuc3RhdGU9PT0ic3VjY2VlZGVkIilHPz89TDtlbHNlIGlmKEwuc3RhdGU9PT0ic3VjY2VlZGVkIilCPz89TDticmVhaztjYXNlImxvY2FsLWNhbmRpZGF0ZSI6Y2FzZSJyZW1vdGUtY2FuZGlkYXRlIjppZih0eXBlb2YgTC5pZD09PSJzdHJpbmciKVkuc2V0KEwuaWQsTCk7YnJlYWt9fSk7bGV0IE49KHE9PT1udWxsP3ZvaWQgMDpLLmdldChxKSk/P0c/P0I7aWYoTil7bGV0IEw9aTAoTi5jdXJyZW50Um91bmRUcmlwVGltZSk7US5yb3VuZFRyaXBNcz1MPT09bnVsbD9udWxsOkwqMTAwMDtsZXQgVj1bTi5sb2NhbENhbmRpZGF0ZUlkLE4ucmVtb3RlQ2FuZGlkYXRlSWRdLm1hcCgoeik9PnR5cGVvZiB6PT09InN0cmluZyI/WS5nZXQoeik/LmNhbmRpZGF0ZVR5cGU6dm9pZCAwKTtpZihWLmV2ZXJ5KCh6KT0+dHlwZW9mIHo9PT0ic3RyaW5nIikpUS5wYXRoPVYuaW5jbHVkZXMoInJlbGF5Iik/InJlbGF5IjoiZGlyZWN0In1pZihRLmNvZGVjPT09bnVsbCYmWi5zaXplPT09MSlRLmNvZGVjPVsuLi5aLnZhbHVlcygpXVswXT8/bnVsbDtyZXR1cm4gUX1mdW5jdGlvbiAkJCgkLEope2xldCBRPXsuLi5KLGZwczpudWxsLGticHM6bnVsbCxsb3NzUmF0aW86bnVsbCxkcm9wcGVkSW5XaW5kb3c6bnVsbCxmcmVlemVzSW5XaW5kb3c6bnVsbCxmcmVlemVNc0luV2luZG93Om51bGwsaml0dGVyQnVmZmVyTXM6bnVsbH07aWYoJD09PW51bGwpcmV0dXJuIFE7bGV0IFo9Si5hdE1zLSQuYXRNcztpZihaPDI1MClyZXR1cm4gUTtsZXQgSz1KLmZyYW1lc0RlY29kZWQtJC5mcmFtZXNEZWNvZGVkLFk9Si5ieXRlc1JlY2VpdmVkLSQuYnl0ZXNSZWNlaXZlZCxxPUouZnJhbWVzRHJvcHBlZC0kLmZyYW1lc0Ryb3BwZWQsRz1KLmZyZWV6ZUNvdW50LSQuZnJlZXplQ291bnQsQj1KLmZyZWV6ZU1zLSQuZnJlZXplTXM7aWYoSzwwfHxZPDB8fHE8MHx8RzwwfHxCPDApcmV0dXJuIFE7bGV0IE49Wi8xMDAwO3JldHVybnsuLi5KLGZwczpLL04sa2JwczpZKjgvMTAwMC9OLGxvc3NSYXRpbzpDSygkLEopLGRyb3BwZWRJbldpbmRvdzpxLGZyZWV6ZXNJbldpbmRvdzpHLGZyZWV6ZU1zSW5XaW5kb3c6QixqaXR0ZXJCdWZmZXJNczpISygkLEopfX1mdW5jdGlvbiBDSygkLEope2lmKCQucGFja2V0c0xvc3Q9PT1udWxsfHxKLnBhY2tldHNMb3N0PT09bnVsbClyZXR1cm4gbnVsbDtsZXQgUT1KLnBhY2tldHNMb3N0LSQucGFja2V0c0xvc3QsWj1KLnBhY2tldHNSZWNlaXZlZC0kLnBhY2tldHNSZWNlaXZlZDtpZihRPDB8fFo8MClyZXR1cm4gbnVsbDtsZXQgSz1aK1E7cmV0dXJuIEs+MD9RL0s6bnVsbH1mdW5jdGlvbiBISygkLEope2lmKEouaml0dGVyQnVmZmVyU2Vjb25kcz09PW51bGx8fEouaml0dGVyQnVmZmVyRW1pdHRlZD09PW51bGwpcmV0dXJuIG51bGw7aWYoJC5qaXR0ZXJCdWZmZXJTZWNvbmRzPT09bnVsbHx8JC5qaXR0ZXJCdWZmZXJFbWl0dGVkPT09bnVsbClyZXR1cm4gbnVsbDtsZXQgUT1KLmppdHRlckJ1ZmZlclNlY29uZHMtJC5qaXR0ZXJCdWZmZXJTZWNvbmRzLFo9Si5qaXR0ZXJCdWZmZXJFbWl0dGVkLSQuaml0dGVyQnVmZmVyRW1pdHRlZDtpZihRPDB8fFo8PTApcmV0dXJuIG51bGw7cmV0dXJuIFEvWioxMDAwfXZhciBPSz0xMDAwLE1LPTQwMDAsQUs9NjAwO2Z1bmN0aW9uIEokKCQpe2xldFtKLFFdPUEobnVsbCksW1osS109QShbXSksW1kscV09QSghMSksRz1EKG51bGwpLEI9RCgwKTtyZXR1cm4gRSgoKT0+e2lmKEcuY3VycmVudD1udWxsLEIuY3VycmVudD0wLHEoITEpLCQ9PT1udWxsKXtRKG51bGwpLEsoW10pO3JldHVybn1sZXQgTj0hMSxWPXgzKGFzeW5jKCk9PntsZXQgQz1EYXRlLm5vdygpLE07dHJ5e009YXdhaXQgJC5nZXRTdGF0cygpfWNhdGNoe3JldHVybn1pZihOKXJldHVybjtsZXQgVT1lNyhNLEMpLEg9JCQoRy5jdXJyZW50LFUpO0IuY3VycmVudD1DLHEoITEpLFEoSCksSygoTyk9PlsuLi5PLEhdLnNsaWNlKC1BSykpLEcuY3VycmVudD1VfSxPSyksej13aW5kb3cuc2V0SW50ZXJ2YWwoKCk9PntpZihCLmN1cnJlbnQ+MCYmRGF0ZS5ub3coKS1CLmN1cnJlbnQ+TUspcSghMCl9LDEwMDApO3JldHVybigpPT57Tj0hMCxWKCksd2luZG93LmNsZWFySW50ZXJ2YWwoeil9fSxbJF0pLHtzdGF0czpKLGhpc3Rvcnk6WixzdGFsZTpZfX12YXIga0s9bmV3IFNldChbImxvY2FsaG9zdCIsIjEyNy4wLjAuMSIsIjo6MSIsIls6OjFdIiwiMC4wLjAuMCJdKTtmdW5jdGlvbiBqMygkKXtsZXQgSj0kLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvXC4kLywiIik7cmV0dXJuIGtLLmhhcyhKKXx8Si5lbmRzV2l0aCgiLmxvY2FsaG9zdCIpfWFzeW5jIGZ1bmN0aW9uIEZLKCQpe3RyeXtsZXQgSj1hd2FpdCAkLmpzb24oKTtpZih0eXBlb2YgSi5lcnJvcj09PSJzdHJpbmciJiZKLmVycm9yLnRyaW0oKSlyZXR1cm4gSi5lcnJvci50cmltKCl9Y2F0Y2h7fXJldHVybmBTY3JlZW5zaG90IGZhaWxlZCAoJHskLnN0YXR1c30pYH1hc3luYyBmdW5jdGlvbiBRJCgkLEo9e30pe2xldCBRPUouZW5kcG9pbnQ/P3YxKCJhcGkvc2NyZWVuc2hvdCIpLFo9US5pbmNsdWRlcygiPyIpPyImIjoiPyIsWT1hd2FpdChKLmZldGNoSW1wbD8/ZmV0Y2gpKGAke1F9JHtafWRldmljZT0ke2VuY29kZVVSSUNvbXBvbmVudCgkKX1gLHttZXRob2Q6IlBPU1QiLHNpZ25hbDpKLnNpZ25hbH0pO2lmKCFZLm9rKXRocm93IEVycm9yKGF3YWl0IEZLKFkpKTtpZihZLmhlYWRlcnMuZ2V0KCJjb250ZW50LXR5cGUiKT8uc3BsaXQoIjsiLDEpWzBdPy50cmltKCk/LnRvTG93ZXJDYXNlKCkhPT0iaW1hZ2UvcG5nIil0aHJvdyBFcnJvcigiU2NyZWVuc2hvdCBlbmRwb2ludCBkaWQgbm90IHJldHVybiBhIFBORyIpO3JldHVybiBZLmJsb2IoKX1mdW5jdGlvbiBiNSgkLEope2xldCBRPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTtRLmhyZWY9JCxRLmRvd25sb2FkPUosUS5zdHlsZS5kaXNwbGF5PSJub25lIixkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKFEpLFEuY2xpY2soKSxRLnJlbW92ZSgpfWZ1bmN0aW9uIFdLKHtzdGF0czokLGhpc3Rvcnk6SixmYXVsdHM6USxzZW5kZXI6WixjYXB0dXJlOkssZW5jb2RlcjpZLHJlcXVlc3RlZEZwczpxLHN0YWxlOkcsYWN0aW9uOkJ9KXtyZXR1cm4gWCgiZGl2Iix7Y2xhc3NOYW1lOmBmbGV4IGZsZXgtY29sIGdhcC0yIGJvcmRlci1iIGJvcmRlci13aGl0ZS8xMCBwYi0yICR7Rz8ib3BhY2l0eS01MCI6IiJ9YCxjaGlsZHJlbjpbWChYJCx7bGFiZWw6IkZyYW1lIHJhdGUiLHZhbHVlOlIzKCQuZnBzKSxoaW50OnE/YG9mICR7cX1gOnZvaWQgMCx2YWx1ZXM6WiQoSiwoTik9Pk4uZnBzKSxtYXg6cSxjbGFzc05hbWU6InRleHQtZW1lcmFsZC00MDAifSksWChYJCx7bGFiZWw6IkJpdHJhdGUiLHZhbHVlOlg5KCQua2JwcyksdmFsdWVzOlokKEosKE4pPT5OLmticHMpLGNsYXNzTmFtZToidGV4dC1za3ktNDAwIn0pLFgoImRpdiIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1zdGFydCBqdXN0aWZ5LWJldHdlZW4gZ2FwLTIiLGNoaWxkcmVuOltHP1goImRpdiIse2NsYXNzTmFtZToidGV4dC1bMTFweF0gdGV4dC13YXJuaW5nIixjaGlsZHJlbjoiTm8gc2FtcGxlcyBpbiB0aGUgbGFzdCBmZXcgc2Vjb25kcyJ9KTpRLmxlbmd0aD4wP1goImRpdiIse2NsYXNzTmFtZToiZmxleCBmbGV4LWNvbCBnYXAtMC41IixjaGlsZHJlbjpRLm1hcCgoTik9PlgoImRpdiIse2NsYXNzTmFtZToidGV4dC1bMTFweF0gdGV4dC13YXJuaW5nIiwiZGF0YS1zdHJlYW0tZmF1bHQiOk4sY2hpbGRyZW46Tn0sTikpfSk6WCgiZGl2Iix7Y2xhc3NOYW1lOiJ0ZXh0LVsxMXB4XSB0ZXh0LXdoaXRlLzMwIixjaGlsZHJlbjpFSygkKT8iTm8gZHJvcHMsIGZyZWV6ZXMgb3IgbG9zcyBpbiB0aGlzIHdpbmRvdyI6Ik1lYXN1cmluZ+KApiJ9KSxCXX0pLFgoImRpdiIse2NsYXNzTmFtZToiZ3JpZCBncmlkLWNvbHMtMiBnYXAteC0zIGdhcC15LTAuNSBib3JkZXItdCBib3JkZXItd2hpdGUvMTAgcHQtMS41IixjaGlsZHJlbjpbWChCMCx7bGFiZWw6IlJUVCIsdmFsdWU6djMoJC5yb3VuZFRyaXBNcywwKX0pLFgoQjAse2xhYmVsOiJKaXR0ZXIiLHZhbHVlOnYzKCQuaml0dGVyTXMsMSl9KSxYKEIwLHtsYWJlbDoiSml0dGVyIGJ1ZmZlciIsdmFsdWU6djMoJC5qaXR0ZXJCdWZmZXJNcywwKX0pLFgoQjAse2xhYmVsOiJSZXNvbHV0aW9uIix2YWx1ZTokLndpZHRoPT09bnVsbHx8JC5oZWlnaHQ9PT1udWxsP3UyOmAkeyQud2lkdGh9eCR7JC5oZWlnaHR9YH0pLCQucGF0aCE9PSJ1bmtub3duIiYmWChCMCx7bGFiZWw6IklDRSByb3V0ZSIsdmFsdWU6JC5wYXRoPT09InJlbGF5Ij8iVmlhIHJlbGF5IjoiRGlyZWN0In0pXX0pLFomJlgoX0sse3NlbmRlcjpaLGVuY29kZXI6WX0pLEsmJlgoUEsse2NhcHR1cmU6S30pXX0pfWZ1bmN0aW9uIERLKCQpe2xldCBKPSQuaWQ/PyIiLFE9Si5zcGxpdCgiLiIpLnBvcCgpPz9KLFo9JC5oYXJkd2FyZT09PSEwPyJoYXJkd2FyZSI6JC5oYXJkd2FyZT09PSExPyJDUFUiOiI/IjtpZighSilyZXR1cm4gWjtyZXR1cm5gJHtKLnN0YXJ0c1dpdGgoInBhcmF2aXJ0dWFsaXplZDoiKT9gcGFyYXZpcnQgJHtRfWA6UX0gKCR7Wn0pYH1mdW5jdGlvbiBfSyh7c2VuZGVyOiQsZW5jb2RlcjpKfSl7cmV0dXJuIFgoImRpdiIse2NsYXNzTmFtZToiZmxleCBmbGV4LWNvbCBnYXAtMC41IGJvcmRlci10IGJvcmRlci13aGl0ZS8xMCBwdC0xLjUiLGNoaWxkcmVuOltYKCJkaXYiLHtjbGFzc05hbWU6InBiLTAuNSB0ZXh0LVsxMHB4XSB1cHBlcmNhc2UgdHJhY2tpbmctWzAuMDhlbV0gdGV4dC13aGl0ZS8zMCIsY2hpbGRyZW46IkVuY29kZXIifSksWCgiZGl2Iix7Y2xhc3NOYW1lOiJncmlkIGdyaWQtY29scy0yIGdhcC14LTMgZ2FwLXktMC41IixjaGlsZHJlbjpbWChCMCx7bGFiZWw6IkVuY29kZSBGUFMiLHZhbHVlOlIzKCQucmVwb3J0ZWRGcHMpfSksWChCMCx7bGFiZWw6IlRhcmdldCIsdmFsdWU6WDkoJC50YXJnZXRLYnBzKX0pLFgoQjAse2xhYmVsOiJQYWNlciBGUFMiLHZhbHVlOlIzKCQuc291cmNlRnBzKX0pLFgoQjAse2xhYmVsOiJFbmNvZGUiLHZhbHVlOnYzKCQuZW5jb2RlTXNQZXJGcmFtZSwxKSxoaW50OiIvZnJhbWUifSksWChCMCx7bGFiZWw6IkZyYW1lcyBzZW50Iix2YWx1ZTp5NSgkLmZyYW1lc1NlbnQpfSksWChCMCx7bGFiZWw6Ikxvc3MiLHZhbHVlOlRLKCQubG9zc1JhdGlvKSxoaW50OiJ0b3RhbCJ9KSxKJiZYKEIwLHtsYWJlbDoiVXNpbmciLHZhbHVlOkRLKEopfSldfSldfSl9ZnVuY3Rpb24gUEsoe2NhcHR1cmU6JH0pe3JldHVybiBYKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggZmxleC1jb2wgZ2FwLTAuNSBib3JkZXItdCBib3JkZXItd2hpdGUvMTAgcHQtMS41IixjaGlsZHJlbjpbWCgiZGl2Iix7Y2xhc3NOYW1lOiJwYi0wLjUgdGV4dC1bMTBweF0gdXBwZXJjYXNlIHRyYWNraW5nLVswLjA4ZW1dIHRleHQtd2hpdGUvMzAiLGNoaWxkcmVuOiJDYXB0dXJlIn0pLFgoImRpdiIse2NsYXNzTmFtZToiZ3JpZCBncmlkLWNvbHMtMiBnYXAteC0zIGdhcC15LTAuNSIsY2hpbGRyZW46W1goQjAse2xhYmVsOiJTY3JlZW4gZnJhbWVzIix2YWx1ZTp5NSgkLnNjcmVlbkZyYW1lcyl9KSxYKEIwLHtsYWJlbDoiSWRsZSBmcmFtZXMiLHZhbHVlOnk1KCQuaWRsZUZyYW1lcyl9KSxYKEIwLHtsYWJlbDoiQ2FwdHVyZSBkZWxpdmVyaWVzIix2YWx1ZTp5NSgkLm9mZmVyZWRGcmFtZXMpfSksWChCMCx7bGFiZWw6IlBhY2VyIHN1Ym1pc3Npb25zIix2YWx1ZTp5NSgkLmZvcndhcmRlZEZyYW1lcyl9KV19KV19KX1mdW5jdGlvbiB5NSgkKXtpZigkPT09bnVsbClyZXR1cm4gdTI7bGV0IEo9TWF0aC5hYnMoJCk7aWYoSjwxMDAwKXJldHVybiBTdHJpbmcoJCk7aWYoSjw5OTk5NTApcmV0dXJuYCR7KCQvMTAwMCkudG9GaXhlZCgxKX1rYDtyZXR1cm5gJHsoJC8xZTYpLnRvRml4ZWQoMil9TWB9ZnVuY3Rpb24gVEsoJCl7cmV0dXJuICQ9PT1udWxsP3UyOmAkeygkKjEwMCkudG9GaXhlZCgxKX0lYH12YXIgdTI9IuKAlCI7ZnVuY3Rpb24gWiQoJCxKKXtsZXQgUT1bXTtmb3IobGV0IFogb2YgJCl7bGV0IEs9SihaKTtpZihLIT09bnVsbClRLnB1c2goSyl9cmV0dXJuIFF9ZnVuY3Rpb24gRUsoJCl7cmV0dXJuICQuZHJvcHBlZEluV2luZG93IT09bnVsbH1mdW5jdGlvbiBLJCgkKXtpZigkLmZwcz09PW51bGwpcmV0dXJuIG51bGw7cmV0dXJuYCR7UjMoJC5mcHMpfSDCtyAke1g5KCQua2Jwcyl9YH1mdW5jdGlvbiBZJCgkLEope2xldCBRPVtdO2lmKCQuZnJlZXplc0luV2luZG93KXtsZXQgSz0kLmZyZWV6ZU1zSW5XaW5kb3c/YCAoJHsoJC5mcmVlemVNc0luV2luZG93LzEwMDApLnRvRml4ZWQoMSl9cylgOiIiO1EucHVzaChgJHskLmZyZWV6ZXNJbldpbmRvd30gZnJlZXplJHskLmZyZWV6ZXNJbldpbmRvdz09PTE/IiI6InMifSR7S31gKX1pZigkLmRyb3BwZWRJbldpbmRvdylRLnB1c2goYCR7JC5kcm9wcGVkSW5XaW5kb3d9IGZyYW1lcyBkcm9wcGVkYCk7aWYoJC5sb3NzUmF0aW8hPT1udWxsJiYkLmxvc3NSYXRpbz4wLjAyKVEucHVzaChgJHsoJC5sb3NzUmF0aW8qMTAwKS50b0ZpeGVkKDEpfSUgcGFja2V0IGxvc3NgKTtsZXQgWj1JSyhKPy5xdWFsaXR5TGltaXRhdGlvblJlYXNvbik7aWYoWiE9PW51bGwpUS5wdXNoKFopO3JldHVybiBRfWZ1bmN0aW9uIElLKCQpe3N3aXRjaCgkKXtjYXNlImNwdSI6cmV0dXJuIkVuY29kZXIgY2Fubm90IGtlZXAgdXAgKENQVSkiO2Nhc2UiYmFuZHdpZHRoIjpyZXR1cm4iQml0cmF0ZSByZWR1Y2VkIGJ5IHRoZSBuZXR3b3JrIjtjYXNlIHZvaWQgMDpjYXNlIG51bGw6Y2FzZSJub25lIjpyZXR1cm4gbnVsbDtkZWZhdWx0OnJldHVybiJFbmNvZGVyIGhvbGRpbmcgYmFjayAocmVhc29uIHVua25vd24pIn19ZnVuY3Rpb24gUjMoJCl7aWYoJD09PW51bGwpcmV0dXJuIHUyO3JldHVybmAkeyQ8MTA/JC50b0ZpeGVkKDEpOiQudG9GaXhlZCgwKX0gZnBzYH1mdW5jdGlvbiBYOSgkKXtpZigkPT09bnVsbClyZXR1cm4gdTI7cmV0dXJuICQ8MTAwMD9gJHskLnRvRml4ZWQoMCl9IGticHNgOmAkeygkLzEwMDApLnRvRml4ZWQoMil9IE1icHNgfWZ1bmN0aW9uIHYzKCQsSil7cmV0dXJuICQ9PT1udWxsP3UyOmAkeyQudG9GaXhlZChKKX0gbXNgfWZ1bmN0aW9uIFgkKHtsYWJlbDokLHZhbHVlOkosaGludDpRLHZhbHVlczpaLG1heDpLLGNsYXNzTmFtZTpZfSl7cmV0dXJuIFgoImRpdiIse2NsYXNzTmFtZToiZmxleCBmbGV4LWNvbCBnYXAtMSIsImRhdGEtc3RyZWFtLXN0YXQiOiQsY2hpbGRyZW46W1goImRpdiIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1iYXNlbGluZSBqdXN0aWZ5LWJldHdlZW4iLGNoaWxkcmVuOltYKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LVsxMXB4XSB0ZXh0LXdoaXRlLzUwIixjaGlsZHJlbjokfSksWCgic3BhbiIse2NsYXNzTmFtZToidGFidWxhci1udW1zIHRleHQtWzExcHhdIixjaGlsZHJlbjpbSixRJiZYKCJzcGFuIix7Y2xhc3NOYW1lOiJtbC0xLjUgdGV4dC1bMTFweF0gdGV4dC13aGl0ZS8zMCIsY2hpbGRyZW46UX0pXX0pXX0pLFgoeTMse3ZhbHVlczpaLG1heDpLLGNsYXNzTmFtZTpZfSldfSl9ZnVuY3Rpb24gQjAoe2xhYmVsOiQsdmFsdWU6SixoaW50OlF9KXtyZXR1cm4gWCgiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWJhc2VsaW5lIGp1c3RpZnktYmV0d2VlbiBnYXAtMiIsImRhdGEtc3RyZWFtLXN0YXQiOiQsY2hpbGRyZW46W1goInNwYW4iLHtjbGFzc05hbWU6IndoaXRlc3BhY2Utbm93cmFwIHRleHQtWzExcHhdIHRleHQtd2hpdGUvNTAiLGNoaWxkcmVuOiR9KSxYKCJzcGFuIix7Y2xhc3NOYW1lOiJ0YWJ1bGFyLW51bXMgd2hpdGVzcGFjZS1ub3dyYXAgdGV4dC1bMTFweF0gdGV4dC13aGl0ZS85MCIsY2hpbGRyZW46W0osUSYmWCgic3BhbiIse2NsYXNzTmFtZToibWwtMS41IHRleHQtWzExcHhdIHRleHQtd2hpdGUvMzAiLGNoaWxkcmVuOlF9KV19KV19KX1mdW5jdGlvbiBxJCh7c3RhdHM6JCxoaXN0b3J5OkosZmF1bHRzOlEsc2VuZGVyOlosY2FwdHVyZTpLLGVuY29kZXI6WSxyZXF1ZXN0ZWRGcHM6cSxzdGFsZTpHLGFjdGlvbjpCfSl7aWYoJD09PW51bGwpcmV0dXJuIG51bGw7cmV0dXJuIFgoV0sse3N0YXRzOiQsaGlzdG9yeTpKLGZhdWx0czpRLHNlbmRlcjpaLGNhcHR1cmU6SyxlbmNvZGVyOlkscmVxdWVzdGVkRnBzOnEsc3RhbGU6RyxhY3Rpb246Qn0pfWZ1bmN0aW9uIEckKHtoaXN0b3J5OiQsY29udGV4dDpKfSl7aWYoJC5sZW5ndGg8MilyZXR1cm4gbnVsbDtyZXR1cm4gWCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIix0aXRsZTpgRG93bmxvYWQgJHskLmxlbmd0aH0gcmVjb3JkZWQgc2FtcGxlcyBhcyBKU09OYCwiYXJpYS1sYWJlbCI6YERvd25sb2FkICR7JC5sZW5ndGh9IHJlY29yZGVkIHNhbXBsZXMgYXMgSlNPTmAsb25DbGljazooKT0+YksoJCxKKSxjbGFzc05hbWU6Ii1tdC0wLjUgaW5saW5lLWZsZXggaC01IHctNSBzaHJpbmstMCBjdXJzb3ItcG9pbnRlciBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZCB0ZXh0LXdoaXRlLzMwIGhvdmVyOmJnLXdoaXRlL1swLjA2XSBob3Zlcjp0ZXh0LXdoaXRlLzgwIixjaGlsZHJlbjpYKFY1LHsiYXJpYS1oaWRkZW4iOiJ0cnVlIixjbGFzc05hbWU6ImgtMyB3LTMifSl9KX1mdW5jdGlvbiB3SygkLEo9e30pe3JldHVybiBKU09OLnN0cmluZ2lmeSh7cmVjb3JkZWRBdDpuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksLi4uSixzYW1wbGVzOiR9LG51bGwsMil9ZnVuY3Rpb24gYksoJCxKKXtsZXQgUT1VUkwuY3JlYXRlT2JqZWN0VVJMKG5ldyBCbG9iKFt3SygkLEopXSx7dHlwZToiYXBwbGljYXRpb24vanNvbiJ9KSk7YjUoUSxgc2VydmUtc2ltLXN0cmVhbS1zdGF0cy0ke3lLKCl9Lmpzb25gKSxzZXRUaW1lb3V0KCgpPT5VUkwucmV2b2tlT2JqZWN0VVJMKFEpLDApfWZ1bmN0aW9uIHlLKCl7cmV0dXJuIG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKS5yZXBsYWNlKC9bOi5dL2csIi0iKS5yZXBsYWNlKCJaIiwiIil9dmFyIFNLPVs2MCwzMCwyMCwxNSwxMCw1XSxLOT1TSy5tYXAoKCQpPT57bGV0IEo9U3RyaW5nKCQpO3JldHVybnt2YWx1ZTpKLGxhYmVsOkp9fSk7ZnVuY3Rpb24gWTkoJCl7bGV0IEo9U3RyaW5nKCQpO2lmKCQ8PTYwJiYhSzkuc29tZSgoUSk9PlEudmFsdWU9PT1KKSlyZXR1cm5be3ZhbHVlOkosbGFiZWw6Sn0sLi4uSzldO3JldHVybiBLOX12YXIgeEs9W3t2YWx1ZToiaHR0cCIsbGFiZWw6IkhUVFAifSx7dmFsdWU6IndlYnJ0YyIsbGFiZWw6IldlYlJUQyJ9XSxqSz1be3ZhbHVlOiJ3ZWJydGMiLGxhYmVsOiJXZWJSVEMifV0sdks9W3t2YWx1ZToiYXV0byIsbGFiZWw6IkF1dG8ifSx7dmFsdWU6ImgyNjQiLGxhYmVsOiJILjI2NCJ9LHt2YWx1ZToibWpwZWciLGxhYmVsOiJNSlBFRyJ9XSxSSz1be3ZhbHVlOiJoMjY0IixsYWJlbDoiSC4yNjQifSx7dmFsdWU6InZwOSIsbGFiZWw6IlZQOSJ9LHt2YWx1ZToidnA4IixsYWJlbDoiVlA4In1dLGhLPVt7dmFsdWU6IjAiLGxhYmVsOiJGdWxsIn0se3ZhbHVlOiIxOTIwIixsYWJlbDoiMTkyMCJ9LHt2YWx1ZToiMTYwMCIsbGFiZWw6IjE2MDAifSx7dmFsdWU6IjEyODAiLGxhYmVsOiIxMjgwIn0se3ZhbHVlOiI5NjAiLGxhYmVsOiI5NjAifSx7dmFsdWU6IjcyMCIsbGFiZWw6IjcyMCJ9XSxnSz1be3ZhbHVlOiIwLjQ1IixsYWJlbDoiNDUlIn0se3ZhbHVlOiIwLjU1IixsYWJlbDoiNTUlIn0se3ZhbHVlOiIwLjciLGxhYmVsOiI3MCUifSx7dmFsdWU6IjAuODUiLGxhYmVsOiI4NSUifSx7dmFsdWU6IjEiLGxhYmVsOiIxMDAlIn1dLGZLPVt7dmFsdWU6IjE1MDAwMDAiLGxhYmVsOiIxLjUgTWJwcyJ9LHt2YWx1ZToiMzAwMDAwMCIsbGFiZWw6IjMgTWJwcyJ9LHt2YWx1ZToiNjAwMDAwMCIsbGFiZWw6IjYgTWJwcyJ9LHt2YWx1ZToiMTAwMDAwMDAiLGxhYmVsOiIxMCBNYnBzIn0se3ZhbHVlOiIxNjAwMDAwMCIsbGFiZWw6IjE2IE1icHMifV0sWjI9InNpemUtMy41IjtmdW5jdGlvbiBxOSgkLEosUSl7bGV0IFo9U3RyaW5nKCQpO3JldHVybiBKLnNvbWUoKEspPT5LLnZhbHVlPT09Wik/Sjpbe3ZhbHVlOlosbGFiZWw6USgkKX0sLi4uSl19ZnVuY3Rpb24gViQoe3NldHRpbmdzOiQsb25QbGF5YmFja1NldHRpbmdzQ2hhbmdlOkosb25FbmNvZGVyU2V0dGluZ3NDaGFuZ2U6USxhY3RpdmVDb2RlYzpaLGF2Y2NTdXBwb3J0ZWQ6SyxwZWVyQ29ubmVjdGlvbjpZLHdlYnJ0Y1N0YXRzVXJsOnEsd2VicnRjU2Vzc2lvbklkOkcsZW5jb2RlclNldHRpbmdzRGlzYWJsZWQ6Qj0hMSx0cmFuc3BvcnRMb2NrZWQ6Tj0hMX0pe2xldFtMLFZdPUEoITEpLHtzdGF0czp6LGhpc3Rvcnk6QyxzdGFsZTpNfT1KJChZKSxVPXQ3KHE/PyIiLEc/P251bGwscSE9PXZvaWQgMCYmWSE9PW51bGwmJkchPW51bGwpLEg9VS5zdGFsZT9udWxsOlUuc2Vzc2lvbixPPXo9PT1udWxsfHxNP1tdOlkkKHosSCksaz1NPyJTdHJlYW0gc2FtcGxlcyBoYXZlIHN0b3BwZWQiOk8uam9pbigiOyAiKSx3PXo9PT1udWxsP251bGw6SyQoeiksUD0kLnRyYW5zcG9ydD09PSJodHRwIix4PSQudHJhbnNwb3J0PT09IndlYnJ0YyI7cmV0dXJuIFgoJDAse29wZW46TCxvbk9wZW5DaGFuZ2U6ViwiZGF0YS1zdHJlYW0tc2V0dGluZ3MiOiIiLHN1bW1hcnlDbGFzc05hbWU6ImdyaWQgW2dyaWQtdGVtcGxhdGUtY29sdW1uczphdXRvXzFmcl9hdXRvXSBpdGVtcy1jZW50ZXIgZ2FwLTIgdGV4dC1sZWZ0IixzdW1tYXJ5OlgoWDEse2NoaWxkcmVuOltYKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LVsxMXB4XSBmb250LXNlbWlib2xkIHRleHQtd2hpdGUvNTAgdXBwZXJjYXNlIHRyYWNraW5nLVswLjA4ZW1dIGxlYWRpbmctbm9uZSBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIiLGNoaWxkcmVuOiJTdHJlYW0ifSksWCgic3BhbiIse2NsYXNzTmFtZToianVzdGlmeS1zZWxmLWVuZCBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEuNSIsY2hpbGRyZW46WyFMJiZ3IT09bnVsbD9YKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LVsxMXB4XSB0ZXh0LXdoaXRlLzQwIHRhYnVsYXItbnVtcyIsY2hpbGRyZW46d30pOlgoInNwYW4iLHtjbGFzc05hbWU6InRleHQtWzExcHhdIHRleHQtd2hpdGUvNDAgdXBwZXJjYXNlIixjaGlsZHJlbjpafSksKE8ubGVuZ3RoPjB8fE0pJiZYKCJzcGFuIix7ImRhdGEtc3RyZWFtLXdhcm5pbmciOiEwLHJvbGU6InN0YXR1cyIsY2xhc3NOYW1lOiJncm91cCByZWxhdGl2ZSBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIiLGNoaWxkcmVuOltYKHAwLHsiYXJpYS1oaWRkZW4iOiJ0cnVlIixjbGFzc05hbWU6InctMy41IGgtMy41IHRleHQtd2FybmluZyJ9KSxYKCJzcGFuIix7Y2xhc3NOYW1lOiJzci1vbmx5IixjaGlsZHJlbjprfSksWCgic3BhbiIse2NsYXNzTmFtZToicG9pbnRlci1ldmVudHMtbm9uZSBhYnNvbHV0ZSByaWdodC0wIHRvcC1mdWxsIHotMTAgbXQtMSBoaWRkZW4gdy1tYXggbWF4LXctWzIyMHB4XSByb3VuZGVkLW1kIGJnLWJsYWNrLzkwIHB4LTIgcHktMSB0ZXh0LVsxMXB4XSBsZWFkaW5nLXNudWcgdGV4dC13aGl0ZS85MCBzaGFkb3ctbGcgZ3JvdXAtaG92ZXI6YmxvY2siLGNoaWxkcmVuOmt9KV19KV19KV19KSxjaGlsZHJlbjpYKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggZmxleC1jb2wgZ2FwLTEuNSBwYi0xLjUiLGNoaWxkcmVuOltYKHEkLHtzdGF0czp6LGhpc3Rvcnk6QyxmYXVsdHM6TyxzZW5kZXI6SCxjYXB0dXJlOlUuc3RhbGU/bnVsbDpVLmNhcHR1cmUscmVxdWVzdGVkRnBzOiQuaDI2NEZwcyxzdGFsZTpNLGFjdGlvbjpYKEckLHtoaXN0b3J5OkMsY29udGV4dDp7dHJhbnNwb3J0OiQudHJhbnNwb3J0LGNvZGVjOno/LmNvZGVjLHNlbmRlcjpILGNhcHR1cmU6VS5zdGFsZT9udWxsOlUuY2FwdHVyZX19KX0pLFgoazAse2ljb246WChMMix7Y2xhc3NOYW1lOloyfSksbGFiZWw6IlRyYW5zcG9ydCIsY2hpbGRyZW46WChqMCx7bGFiZWw6IlRyYW5zcG9ydCIsdmFsdWU6JC50cmFuc3BvcnQsb3B0aW9uczpOP2pLOnhLLGRpc2FibGVkOk4sb25DaGFuZ2U6KEYpPT5KKHt0cmFuc3BvcnQ6Rn0pfSl9KSwhTiYmWChrMCx7aWNvbjpYKEwyLHtjbGFzc05hbWU6WjJ9KSxsYWJlbDoiSFRUUCBjb2RlYyIsY2hpbGRyZW46WChqMCx7bGFiZWw6IkhUVFAgY29kZWMiLHZhbHVlOks/JC5odHRwQ29kZWM6Im1qcGVnIixvcHRpb25zOnZLLGRpc2FibGVkOiFQfHwhSyxvbkNoYW5nZTooRik9Pkooe2h0dHBDb2RlYzpGfSl9KX0pLFgoazAse2ljb246WChMMix7Y2xhc3NOYW1lOloyfSksbGFiZWw6IldlYlJUQyBjb2RlYyIsY2hpbGRyZW46WChqMCx7bGFiZWw6IldlYlJUQyBjb2RlYyIsdmFsdWU6JC53ZWJSdGNDb2RlYyxvcHRpb25zOlJLLGRpc2FibGVkOiF4LG9uQ2hhbmdlOihGKT0+Sih7d2ViUnRjQ29kZWM6Rn0pfSl9KSxYKGswLHtpY29uOlgobzAse2NsYXNzTmFtZTpaMn0pLGxhYmVsOiJNYXggc2l6ZSIsY2hpbGRyZW46WChqMCx7bGFiZWw6Ik1heCBzaXplIix2YWx1ZTpTdHJpbmcoJC5tYXhEaW1lbnNpb24pLG9wdGlvbnM6cTkoJC5tYXhEaW1lbnNpb24saEssU3RyaW5nKSxkaXNhYmxlZDpCLG9uQ2hhbmdlOihGKT0+USh7bWF4RGltZW5zaW9uOk51bWJlcihGKX0pfSl9KSwhTiYmWChYMSx7Y2hpbGRyZW46W1goazAse2ljb246WChvMCx7Y2xhc3NOYW1lOloyfSksbGFiZWw6Ik1KUEVHIEZQUyIsY2hpbGRyZW46WChqMCx7bGFiZWw6Ik1KUEVHIEZQUyIsdmFsdWU6U3RyaW5nKCQubWpwZWdGcHMpLG9wdGlvbnM6WTkoJC5tanBlZ0ZwcyksZGlzYWJsZWQ6Qnx8IVAsb25DaGFuZ2U6KEYpPT5RKHttanBlZ0ZwczpOdW1iZXIoRil9KX0pfSksWChrMCx7aWNvbjpYKG8wLHtjbGFzc05hbWU6WjJ9KSxsYWJlbDoiTUpQRUcgcXVhbGl0eSIsY2hpbGRyZW46WChqMCx7bGFiZWw6Ik1KUEVHIHF1YWxpdHkiLHZhbHVlOlN0cmluZygkLm1qcGVnUXVhbGl0eSksb3B0aW9uczpxOSgkLm1qcGVnUXVhbGl0eSxnSywoRik9PmAke01hdGgucm91bmQoRioxMDApfSVgKSxkaXNhYmxlZDpCfHwhUCxvbkNoYW5nZTooRik9PlEoe21qcGVnUXVhbGl0eTpOdW1iZXIoRil9KX0pfSldfSksWChrMCx7aWNvbjpYKG8wLHtjbGFzc05hbWU6WjJ9KSxsYWJlbDoiVmlkZW8gRlBTIixjaGlsZHJlbjpYKGowLHtsYWJlbDoiVmlkZW8gRlBTIix2YWx1ZTpTdHJpbmcoJC5oMjY0RnBzKSxvcHRpb25zOlk5KCQuaDI2NEZwcyksZGlzYWJsZWQ6Qnx8UCYmKCFLfHwkLmh0dHBDb2RlYz09PSJtanBlZyIpLG9uQ2hhbmdlOihGKT0+USh7aDI2NEZwczpOdW1iZXIoRil9KX0pfSksWChrMCx7aWNvbjpYKG8wLHtjbGFzc05hbWU6WjJ9KSxsYWJlbDoiVmlkZW8gYml0cmF0ZSIsY2hpbGRyZW46WChqMCx7bGFiZWw6IlZpZGVvIGJpdHJhdGUiLHZhbHVlOlN0cmluZygkLmgyNjRCaXRyYXRlKSxvcHRpb25zOnE5KCQuaDI2NEJpdHJhdGUsZkssKEYpPT5gJHtGLzFlNn0gTWJwc2ApLGRpc2FibGVkOkJ8fFAmJighS3x8JC5odHRwQ29kZWM9PT0ibWpwZWciKSxvbkNoYW5nZTooRik9PlEoe2gyNjRCaXRyYXRlOk51bWJlcihGKX0pfSl9KV19KX0pfWZ1bmN0aW9uIEIkKHtvcGVuOiQsb25DbG9zZTpKLHBlZXJDb25uZWN0aW9uOlEsd2VicnRjU3RhdHNVcmw6Wix3ZWJydGNTZXNzaW9uSWQ6Syx1ZGlkOlksZGV2aWNlUnVudGltZTpxLGN1cnJlbnRBcHA6RyxldmVudExvZ0V2ZW50c0VuZHBvaW50OkIsbWV0cmljc0VuZHBvaW50Ok4sYXhPdmVybGF5RW5hYmxlZDpMLG9uVG9nZ2xlQXhPdmVybGF5OlYsc3RyZWFtU2V0dGluZ3M6eixvblN0cmVhbVBsYXliYWNrU2V0dGluZ3NDaGFuZ2U6QyxvblN0cmVhbUVuY29kZXJTZXR0aW5nc0NoYW5nZTpNLGFjdGl2ZUNvZGVjOlUsYXZjY1N1cHBvcnRlZDpILHN0cmVhbVNldHRpbmdzUGVuZGluZzpPLHN0cmVhbVRyYW5zcG9ydExvY2tlZDprPSExLHdpZHRoOncsY2hyb21lRW5hYmxlZDpQLG9uQ2hyb21lRW5hYmxlZENoYW5nZTp4LGhhc0Nocm9tZTpGPSExfSl7cmV0dXJuIFgoajIse29wZW46JCx3aWR0aDp3LHN0eWxlOntiYWNrZ3JvdW5kQ29sb3I6UjJ9LGNoaWxkcmVuOltYKHYyLHtjaGlsZHJlbjpbWChaNyx7Y2hpbGRyZW46IlRvb2xzIn0pLFgoUDMse29uQ2xpY2s6Sn0pXX0pLCQmJlgoImRpdiIse2NsYXNzTmFtZToicC0zLjUgb3ZlcmZsb3cteS1hdXRvIGZsZXgtMSBmbGV4IGZsZXgtY29sIGdhcC0zIixjaGlsZHJlbjpbWCh3Nyx7dWRpZDpZLGN1cnJlbnRBcHA6R30pLFgobjcse3VkaWQ6WSxjdXJyZW50QXBwQnVuZGxlSWQ6Rz8uYnVuZGxlSWQ/P251bGwsbWV0cmljc0VuZHBvaW50Ok59KSxYKGM3LHt1ZGlkOlksZXZlbnRzRW5kcG9pbnQ6Qn0pLFgocjcse3VkaWQ6WSxydW50aW1lOnF9KSxYKHg3LHtvdmVybGF5RW5hYmxlZDpMLG9uVG9nZ2xlT3ZlcmxheTpWfSksWChsNyx7dWRpZDpZLGJ1bmRsZUlkOkc/LmJ1bmRsZUlkPz9udWxsfSksWChFNyx7dWRpZDpZfSksWCh5Nyx7dWRpZDpZLGJ1bmRsZUlkOkc/LmJ1bmRsZUlkPz9udWxsfSksRiYmeCYmWChtSyx7Y2hyb21lRW5hYmxlZDohIVAsb25DaHJvbWVFbmFibGVkQ2hhbmdlOnh9KSxYKFYkLHtzZXR0aW5nczp6LG9uUGxheWJhY2tTZXR0aW5nc0NoYW5nZTpDLG9uRW5jb2RlclNldHRpbmdzQ2hhbmdlOk0sYWN0aXZlQ29kZWM6VSxhdmNjU3VwcG9ydGVkOkgsZW5jb2RlclNldHRpbmdzRGlzYWJsZWQ6Tyx0cmFuc3BvcnRMb2NrZWQ6ayxwZWVyQ29ubmVjdGlvbjpRLHdlYnJ0Y1N0YXRzVXJsOlosd2VicnRjU2Vzc2lvbklkOkt9KV19KV19KX1mdW5jdGlvbiBtSyh7Y2hyb21lRW5hYmxlZDokLG9uQ2hyb21lRW5hYmxlZENoYW5nZTpKfSl7bGV0W1EsWl09QSghMSk7cmV0dXJuIFgoJDAse29wZW46USxvbk9wZW5DaGFuZ2U6WixzdW1tYXJ5Q2xhc3NOYW1lOiJncmlkIFtncmlkLXRlbXBsYXRlLWNvbHVtbnM6YXV0b18xZnJfYXV0b10gaXRlbXMtY2VudGVyIGdhcC0yIHRleHQtbGVmdCIsc3VtbWFyeTpYKFgxLHtjaGlsZHJlbjpbWCgic3BhbiIse2NsYXNzTmFtZToidGV4dC1bMTFweF0gZm9udC1zZW1pYm9sZCB0ZXh0LXdoaXRlLzUwIHVwcGVyY2FzZSB0cmFja2luZy1bMC4wOGVtXSBsZWFkaW5nLW5vbmUgaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIixjaGlsZHJlbjoiRGlzcGxheSJ9KSxYKCJzcGFuIix7fSldfSksY2hpbGRyZW46WCgiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMi41IHB4LTEiLGNoaWxkcmVuOltYKEY1LHtzaXplOjE0LHN0cm9rZVdpZHRoOjEuNzUsY2xhc3NOYW1lOiJ0ZXh0LXdoaXRlLzUwIHNocmluay0wIn0pLFgoInNwYW4iLHtjbGFzc05hbWU6ImZsZXgtMSB0ZXh0LVsxM3B4XSB0ZXh0LXdoaXRlLzgwIixjaGlsZHJlbjoiRGV2aWNlIGZyYW1lIn0pLFgoaDIse2xhYmVsOiJEZXZpY2UgZnJhbWUiLGNoZWNrZWQ6JCxvbkNoYW5nZTpKfSldfSl9KX1mdW5jdGlvbiBOJCgkLEope2xldCBRO3RyeXtRPW5ldyBVUkwoJC53ZWJTb2NrZXREZWJ1Z2dlclVybCl9Y2F0Y2h7cmV0dXJuICR9bGV0IFo9YCR7US5wYXRobmFtZX0ke1Euc2VhcmNofWAsSz1KLnByb3RvY29sPT09Imh0dHBzOiI/IndzczoiOiJ3czoiLFk9Si5wcm90b2NvbD09PSJodHRwczoiPyJ3c3MiOiJ3cyIscT1gJHtKLmhvc3R9JHtafWAsRz0kLmRldnRvb2xzRnJvbnRlbmRVcmw7dHJ5e2xldCBCPW5ldyBVUkwoJC5kZXZ0b29sc0Zyb250ZW5kVXJsLGAke0oucHJvdG9jb2x9Ly8ke0ouaG9zdH1gKTtCLnNlYXJjaFBhcmFtcy5kZWxldGUoIndzIiksQi5zZWFyY2hQYXJhbXMuZGVsZXRlKCJ3c3MiKSxCLnNlYXJjaFBhcmFtcy5zZXQoWSxxKSxHPWAke0IucGF0aG5hbWV9JHtCLnNlYXJjaH0ke0IuaGFzaH1gfWNhdGNoe31yZXR1cm57Li4uJCx3ZWJTb2NrZXREZWJ1Z2dlclVybDpgJHtLfS8vJHtKLmhvc3R9JHtafWAsZGV2dG9vbHNGcm9udGVuZFVybDpHfX1mdW5jdGlvbiBTNSgkLEope2ZldGNoKHYxKCJkZXZ0b29scy9oaWdobGlnaHQiKSx7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGJvZHk6SlNPTi5zdHJpbmdpZnkoe3RhcmdldElkOiQsb246Sn0pLGtlZXBhbGl2ZTohMH0pLmNhdGNoKCgpPT57fSl9ZnVuY3Rpb24gRzkoKXtsZXQgJD12MSgiZGV2dG9vbHMvcmVsZWFzZSIpO3RyeXtpZih0eXBlb2YgbmF2aWdhdG9yPCJ1IiYmbmF2aWdhdG9yLnNlbmRCZWFjb24pe2xldCBKPW5ldyBCbG9iKFsie30iXSx7dHlwZToiYXBwbGljYXRpb24vanNvbiJ9KTtpZihuYXZpZ2F0b3Iuc2VuZEJlYWNvbigkLEopKXJldHVybn19Y2F0Y2h7fWZldGNoKCQse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxib2R5OiJ7fSIsa2VlcGFsaXZlOiEwfSkuY2F0Y2goKCk9Pnt9KX1mdW5jdGlvbiBMJCgkKXtsZXQgSj0kLmNvbnRlbnREb2N1bWVudDtpZighSilyZXR1cm47bGV0IFE9KCk9PntsZXQgWT1bSl07d2hpbGUoWS5sZW5ndGgpe2xldCBxPVkucG9wKCksRz1xLnF1ZXJ5U2VsZWN0b3JBbGwoIlthcmlhLWxhYmVsXSxbdGl0bGVdIik7Zm9yKGxldCBCIG9mIEcpe2xldCBOPUIuZ2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIil8fEIudGl0bGV8fCIiO2lmKC9edG9nZ2xlIHNjcmVlbmNhc3QkL2kudGVzdChOKSlyZXR1cm4gQn1mb3IobGV0IEIgb2YgcS5xdWVyeVNlbGVjdG9yQWxsKCIqIikpaWYoQi5zaGFkb3dSb290KVkucHVzaChCLnNoYWRvd1Jvb3QpfXJldHVybiBudWxsfSxaPTAsSz0oKT0+e1orKztsZXQgWT1RKCk7aWYoWSYmWS5nZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIpIT09ImZhbHNlIil7WS5jbGljaygpO3JldHVybn1pZihaPDIwKXNldFRpbWVvdXQoSywxMDApfTtLKCl9ZnVuY3Rpb24geiQoJCl7bGV0IEo9W10sUT1uZXcgTWFwO2ZvcihsZXQgWiBvZiAkKXtsZXQgSz1aLmFwcE5hbWV8fFouYnVuZGxlSWR8fCJVbmtub3duIixZPVouYnVuZGxlSWR8fEsscT1RLmdldChZKTtpZighcSlxPXtrZXk6WSxhcHBOYW1lOkssYnVuZGxlSWQ6Wi5idW5kbGVJZCx0YXJnZXRzOltdfSxRLnNldChZLHEpLEoucHVzaChZKTtxLnRhcmdldHMucHVzaChaKX1yZXR1cm4gSi5tYXAoKFopPT5RLmdldChaKSl9ZnVuY3Rpb24gVSQoJCxKKXtsZXRbUSxaXT1BKHt9KSxLPWIxKCgpPT5KLnNsaWNlKCkuc29ydCgpLmpvaW4oInwiKSxbSl0pO3JldHVybiBFKCgpPT57aWYoISQpcmV0dXJuO2xldCBZPSExO2ZvcihsZXQgcSBvZiBKKXtpZighcSljb250aW51ZTtsZXQgRz1gJHskfToke3F9YCxCPWcyLmdldChHKTtpZih0eXBlb2YgQj09PSJzdHJpbmcifHxCPT09bnVsbCl7WigoTik9Pk5bcV09PT1CP046ey4uLk4sW3FdOkJ9KTtjb250aW51ZX1JNygkLHEpLnRoZW4oKE4pPT57aWYoWSlyZXR1cm47WigoTCk9Pih7Li4uTCxbcV06Tn0pKX0pfXJldHVybigpPT57WT0hMH19LFskLEtdKSxRfWZ1bmN0aW9uIEMkKHt1ZGlkOiQsdGFyZ2V0czpKLHNlbGVjdGVkOlEsb25TZWxlY3RUYXJnZXQ6WixvblJlZnJlc2g6S30pe2xldCBZPXokKEopLHE9WS5tYXAoKFUpPT5VLmJ1bmRsZUlkKS5maWx0ZXIoKFUpPT4hIVUpLEc9VSQoJCxxKSxbQixOXT1BKCExKSxbTCxWXT1BKG51bGwpLHo9RChudWxsKSxDPUQobnVsbCk7RSgoKT0+e2lmKCFCKXJldHVybjtsZXQgVT0oSCk9PntpZighQy5jdXJyZW50KXJldHVybjtpZighQy5jdXJyZW50LmNvbnRhaW5zKEgudGFyZ2V0KSlOKCExKX07cmV0dXJuIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsVSksKCk9PmRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsVSl9LFtCXSksRSgoKT0+e2lmKEIpcmV0dXJuO2lmKHouY3VycmVudClTNSh6LmN1cnJlbnQsITEpLHouY3VycmVudD1udWxsO0c5KCl9LFtCXSksRSgoKT0+e2xldCBVPSgpPT5HOSgpO3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZWhpZGUiLFUpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmV1bmxvYWQiLFUpLCgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBhZ2VoaWRlIixVKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYmVmb3JldW5sb2FkIixVKX19LFtdKTtsZXQgTT1RPyhRLnRpdGxlfHxRLnVybHx8US5hcHBOYW1lfHwiVW50aXRsZWQiKS5zbGljZSgwLDkwKToiU2VsZWN0IHRhcmdldCI7cmV0dXJuIFgoImRpdiIse3JlZjpDLGNsYXNzTmFtZToicmVsYXRpdmUgdy1mdWxsIG1pbi13LTAiLGNoaWxkcmVuOltYKCJidXR0b24iLHt0eXBlOiJidXR0b24iLG9uQ2xpY2s6KCk9PntOKChVKT0+e2lmKCFVKUsoKTtyZXR1cm4hVX0pfSxjbGFzc05hbWU6InctZnVsbCBtaW4tdy0wIGgtWzI2cHhdIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBnYXAtMiBiZy1wYW5lbCB0ZXh0LXdoaXRlLzkwIGJvcmRlciBib3JkZXItd2hpdGUvMTIgcm91bmRlZC1tZCB0ZXh0LVsxMnB4XSBweC0yIGN1cnNvci1wb2ludGVyIHRleHQtbGVmdCIsImFyaWEtaGFzcG9wdXAiOiJsaXN0Ym94IiwiYXJpYS1leHBhbmRlZCI6QiwiYXJpYS1sYWJlbCI6IldlYktpdCB0YXJnZXQiLGNoaWxkcmVuOltYKCJzcGFuIix7Y2xhc3NOYW1lOiJvdmVyZmxvdy1oaWRkZW4gdGV4dC1lbGxpcHNpcyB3aGl0ZXNwYWNlLW5vd3JhcCBtaW4tdy0wIixjaGlsZHJlbjpNfSksWChxNSx7c2l6ZToxMixzdHJva2VXaWR0aDoyfSldfSksQiYmWCgidWwiLHtyb2xlOiJsaXN0Ym94IixjbGFzc05hbWU6ImFic29sdXRlIHRvcC1bY2FsYygxMDAlKzRweCldIGxlZnQtMCBtLTAgcC0xIGxpc3Qtbm9uZSBiZy1wYW5lbCBib3JkZXIgYm9yZGVyLXdoaXRlLzEyIHJvdW5kZWQtbGcgc2hhZG93LVswXzhweF8yNHB4X3JnYmEoMCwwLDAsMC41KV0gbWluLXctWzIyMHB4XSBtYXgtdy1bMzYwcHhdIG1heC1oLVszMjBweF0gb3ZlcmZsb3cteS1hdXRvIHotNTAiLGNoaWxkcmVuOlkubWFwKChVKT0+e2xldCBIPVUuYnVuZGxlSWQ/R1tVLmJ1bmRsZUlkXTpudWxsO3JldHVybiBYKCJsaSIse2NsYXNzTmFtZToibGlzdC1ub25lIG0tMCBwLTAiLGNoaWxkcmVuOltYKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIHB4LTEuNSBwdC0xIHBiLTAuNSB0ZXh0LVsxMnB4XSBmb250LXNlbWlib2xkIHRleHQtd2hpdGUvWzAuOTJdIixjaGlsZHJlbjpbSD9YKCJpbWciLHtzcmM6SCxhbHQ6IiIsY2xhc3NOYW1lOiJ3LTQgaC00IHJvdW5kZWQtWzNweF0gc2hyaW5rLTAgb2JqZWN0LWNvdmVyIn0pOlgoInNwYW4iLHtjbGFzc05hbWU6InctNCBoLTQgcm91bmRlZC1bM3B4XSBzaHJpbmstMCBvYmplY3QtY292ZXIiLCJhcmlhLWhpZGRlbiI6InRydWUifSksWCgic3BhbiIse2NsYXNzTmFtZToib3ZlcmZsb3ctaGlkZGVuIHRleHQtZWxsaXBzaXMgd2hpdGVzcGFjZS1ub3dyYXAiLGNoaWxkcmVuOlUuYXBwTmFtZX0pXX0pLFgoInVsIix7cm9sZToiZ3JvdXAiLGNsYXNzTmFtZToibGlzdC1ub25lIG0tMCBwLTAgcGwtWzI2cHhdIixjaGlsZHJlbjpVLnRhcmdldHMubWFwKChPKT0+e2xldCBrPVE/LmlkPT09Ty5pZCx3PSEhTy5pblVzZUJ5T3RoZXJJbnNwZWN0b3ImJiFrLFA9KE8udGl0bGV8fE8udXJsfHxPLmFwcE5hbWV8fCJVbnRpdGxlZCIpLnNsaWNlKDAsOTApLHg9TD09PU8uaWQmJiF3LEY9ImZsZXggZmxleC1jb2wgcHgtMiBweS1bM3B4XSByb3VuZGVkIHRleHQtWzEycHhdIGxlYWRpbmctWzEuMzVdIjtyZXR1cm4gWCgibGkiLHtyb2xlOiJvcHRpb24iLCJhcmlhLXNlbGVjdGVkIjprLCJhcmlhLWRpc2FibGVkIjp3LHRhYkluZGV4Onc/LTE6MCx0aXRsZTp3PyJBbHJlYWR5IGJlaW5nIGluc3BlY3RlZCBieSBhbm90aGVyIGRlYnVnZ2VyIjp2b2lkIDAsb25Nb3VzZUVudGVyOigpPT57aWYodylyZXR1cm47aWYoei5jdXJyZW50JiZ6LmN1cnJlbnQhPT1PLmlkKVM1KHouY3VycmVudCwhMSk7ei5jdXJyZW50PU8uaWQsVihPLmlkKSxTNShPLmlkLCEwKX0sb25Nb3VzZUxlYXZlOigpPT57aWYoei5jdXJyZW50PT09Ty5pZClTNShPLmlkLCExKSx6LmN1cnJlbnQ9bnVsbDtWKChqKT0+aj09PU8uaWQ/bnVsbDpqKX0sb25DbGljazooKT0+e2lmKHcpcmV0dXJuO1ooTy5pZCksTighMSl9LGNsYXNzTmFtZTpgZmxleCBmbGV4LWNvbCBweC0yIHB5LVszcHhdIHJvdW5kZWQgdGV4dC1bMTJweF0gbGVhZGluZy1bMS4zNV0gJHt3PyJvcGFjaXR5LTQwIGN1cnNvci1ub3QtYWxsb3dlZCBpdGFsaWMgdGV4dC13aGl0ZS84NSI6eD8iYmctW3JnYmEoMTAsMTMyLDI1NSwwLjIyKV0gdGV4dC13aGl0ZS84NSBjdXJzb3ItcG9pbnRlciI6az8iYmctd2hpdGUvWzAuMDZdIHRleHQtd2hpdGUvODUgY3Vyc29yLXBvaW50ZXIiOiJ0ZXh0LXdoaXRlLzg1IGN1cnNvci1wb2ludGVyIn1gLGNoaWxkcmVuOltYKCJzcGFuIix7Y2xhc3NOYW1lOiJibG9jayBvdmVyZmxvdy1oaWRkZW4gdGV4dC1lbGxpcHNpcyB3aGl0ZXNwYWNlLW5vd3JhcCIsY2hpbGRyZW46UH0pLE8udXJsJiZPLnVybCE9PSJhYm91dDpibGFuayImJlgoInNwYW4iLHtjbGFzc05hbWU6ImJsb2NrIGZvbnQtbW9ubyB0ZXh0LVsxMHB4XSB0ZXh0LXdoaXRlL1swLjQyXSBvdmVyZmxvdy1oaWRkZW4gdGV4dC1lbGxpcHNpcyB3aGl0ZXNwYWNlLW5vd3JhcCIsY2hpbGRyZW46Ty51cmx9KV19LE8uaWQpfSl9KV19LFUua2V5KX0pfSldfSl9ZnVuY3Rpb24gSCQoe29wZW46JCxvbkNsb3NlOkosdWRpZDpRLHRhcmdldHM6WixzZWxlY3RlZFRhcmdldElkOkssb25TZWxlY3RUYXJnZXQ6WSxsb2FkaW5nOnEsZXJyb3I6RyxvblJlZnJlc2g6Qix3aWR0aDpOfSl7bGV0IEw9Sz9aLmZpbmQoKFYpPT5WLmlkPT09Syk/P251bGw6bnVsbDtyZXR1cm4gWChqMix7b3BlbjokLHdpZHRoOk4sY2hpbGRyZW46W1godjIse2NoaWxkcmVuOltaLmxlbmd0aD4wP1goQyQse3VkaWQ6USx0YXJnZXRzOlosc2VsZWN0ZWQ6TCxvblNlbGVjdFRhcmdldDpZLG9uUmVmcmVzaDpCfSk6WCgic3BhbiIse2NsYXNzTmFtZToidGV4dC1bMTJweF0gdGV4dC13aGl0ZS9bMC40OF0gb3ZlcmZsb3ctaGlkZGVuIHRleHQtZWxsaXBzaXMgd2hpdGVzcGFjZS1ub3dyYXAiLGNoaWxkcmVuOnE/Ikxvb2tpbmcgZm9yIFNhZmFyaSBhbmQgaW5zcGVjdGFibGUgd2Vidmlld3MuLi4iOiJObyBpbnNwZWN0YWJsZSBTYWZhcmkgb3IgV0tXZWJWaWV3IHRhcmdldHMifSksWChQMyx7b25DbGljazpKLGFyaWFMYWJlbDoiQ2xvc2UgV2ViS2l0IERldlRvb2xzIix0aXRsZToiQ2xvc2UiLGljb25TaXplOjE1fSldfSksWCgiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4LTEgbWluLWgtMCBiZy13aGl0ZSByZWxhdGl2ZSIsY2hpbGRyZW46Rz9YKCJkaXYiLHtjbGFzc05hbWU6ImgtZnVsbCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBwLTYgYmctcGFuZWwtZGVlcCB0ZXh0LXdoaXRlL1swLjU4XSB0ZXh0LWNlbnRlciB0ZXh0LVsxM3B4XSIsY2hpbGRyZW46R30pOkwmJiQ/WCgiaWZyYW1lIix7c3JjOkwuZGV2dG9vbHNGcm9udGVuZFVybCx0aXRsZTpgV2ViS2l0IERldlRvb2xzIC0gJHtMLnRpdGxlfHxMLnVybHx8TC5pZH1gLGNsYXNzTmFtZToidy1mdWxsIGgtZnVsbCBib3JkZXItbm9uZSBibG9jayBiZy13aGl0ZSIsb25Mb2FkOihWKT0+TCQoVi5jdXJyZW50VGFyZ2V0KX0sTC5pZCk6WCgiZGl2Iix7Y2xhc3NOYW1lOiJoLWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcC02IGJnLXBhbmVsLWRlZXAgdGV4dC13aGl0ZS9bMC41OF0gdGV4dC1jZW50ZXIgdGV4dC1bMTNweF0iLGNoaWxkcmVuOkw/IkRldlRvb2xzIHBhdXNlZCDigJQgb3BlbiB0aGUgcGFuZWwgdG8gcmVhdHRhY2guIjoiT3BlbiBTYWZhcmkgb3IgYW4gaW5zcGVjdGFibGUgV0tXZWJWaWV3IGluIHRoZSBzaW11bGF0b3IuIn0pfSldfSl9ZnVuY3Rpb24gcEsoe2hvc3RQYXRoOiQsdWRpZDpKLG9uVXBsb2FkU3RhcnQ6USxvblVwbG9hZFByb2dyZXNzOlosb25VcGxvYWRFbmQ6Syxvbkhvc3RQYXRoRHJvcDpZfSl7WT8uKCQpO2xldCBxPSQuc3BsaXQoIi8iKS5wb3AoKT8/ImltYWdlIixHPVEocSwibWVkaWEiKTtyZXR1cm4gWihHLG51bGwpLHY3KCQsSikudGhlbigoKT0+SyhHLCEwKSkuY2F0Y2goKEIpPT5LKEcsITEsQiBpbnN0YW5jZW9mIEVycm9yP0IubWVzc2FnZToiQWRkIGZhaWxlZCIpKX1mdW5jdGlvbiBPJCh7dWRpZDokLGVuYWJsZWQ6SixvblVwbG9hZFN0YXJ0OlEsb25VcGxvYWRQcm9ncmVzczpaLG9uVXBsb2FkRW5kOkssb25VbnN1cHBvcnRlZDpZLG9uSG9zdFBhdGhEcm9wOnF9KXtsZXRbRyxCXT1BKCExKSxOPUQoMCksTD1JKGFzeW5jKE0pPT57aWYoTS5wcmV2ZW50RGVmYXVsdCgpLE0uc3RvcFByb3BhZ2F0aW9uKCksTi5jdXJyZW50PTAsQighMSksIUp8fCEkKXJldHVybjtsZXQgVT1NLmRhdGFUcmFuc2Zlci5nZXREYXRhKGIzKTtpZihVKXtwSyh7aG9zdFBhdGg6VSx1ZGlkOiQsb25VcGxvYWRTdGFydDpRLG9uVXBsb2FkUHJvZ3Jlc3M6WixvblVwbG9hZEVuZDpLLG9uSG9zdFBhdGhEcm9wOnF9KTtyZXR1cm59bGV0IEg9QXJyYXkuZnJvbShNLmRhdGFUcmFuc2Zlci5maWxlcyk7aWYoSC5sZW5ndGg9PT0wKXJldHVybjtmb3IobGV0IE8gb2YgSCl7bGV0IGs9UjcoTyk7aWYoIWspe1koTyk7Y29udGludWV9bGV0IHc9UShPLm5hbWUsayk7ZjcoTyxrLCQsKFApPT5aKHcsUCkpLnRoZW4oKCk9PksodywhMCkpLmNhdGNoKChQKT0+Syh3LCExLFAgaW5zdGFuY2VvZiBFcnJvcj9QLm1lc3NhZ2U6IlVwbG9hZCBmYWlsZWQiKSl9fSxbSiwkLFEsWixLLFkscV0pLFY9SSgoTSk9PntpZihNLnByZXZlbnREZWZhdWx0KCksSilNLmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0PSJjb3B5In0sW0pdKSx6PUkoKE0pPT57aWYoTS5wcmV2ZW50RGVmYXVsdCgpLCFKKXJldHVybjtpZihOLmN1cnJlbnQrKyxOLmN1cnJlbnQ9PT0xKUIoITApfSxbSl0pLEM9SSgoTSk9PntpZihNLnByZXZlbnREZWZhdWx0KCksTi5jdXJyZW50LS0sTi5jdXJyZW50PD0wKU4uY3VycmVudD0wLEIoITEpfSxbXSk7cmV0dXJue2lzRHJhZ092ZXI6Ryxkcm9wWm9uZVByb3BzOntvbkRyYWdPdmVyOlYsb25EcmFnRW50ZXI6eixvbkRyYWdMZWF2ZTpDLG9uRHJvcDpMfX19ZnVuY3Rpb24gTSQoJCl7bGV0IEo9bmV3IFVpbnQ4QXJyYXkoNjU1MzYpLFE9MCxaPTAsSz0xMDI0LFk9bmV3IFRleHREZWNvZGVyKCJsYXRpbjEiKSxxPSh6KT0+e2lmKFErei5sZW5ndGg+Si5sZW5ndGgpe2lmKFo+MClKLmNvcHlXaXRoaW4oMCxaLFEpLFEtPVosWj0wO2lmKFErei5sZW5ndGg+Si5sZW5ndGgpe2xldCBDPUoubGVuZ3RoO3doaWxlKEM8USt6Lmxlbmd0aClDKj0yO2xldCBNPW5ldyBVaW50OEFycmF5KEMpO00uc2V0KEouc3ViYXJyYXkoMCxRKSksSj1NfX1KLnNldCh6LFEpLFErPXoubGVuZ3RofSxHPSh6KT0+e2xldCBDPU1hdGgubWluKFEtNCx6K0spO2ZvcihsZXQgTT16O008PUM7TSsrKWlmKEpbTV09PT0xMyYmSltNKzFdPT09MTAmJkpbTSsyXT09PTEzJiZKW00rM109PT0xMClyZXR1cm4gTTtyZXR1cm4tMX0sQj0oeixDKT0+e2xldCBNPVkuZGVjb2RlKEouc3ViYXJyYXkoeixDKSksVT0vY29udGVudC1sZW5ndGg6XHMqKFxkKykvaS5leGVjKE0pO3JldHVybiBVP051bWJlcihVWzFdKTpudWxsfSxOPTAsTD0oeik9PntsZXQgQz0tMTtmb3IobGV0IE09ejtNPFEtMTtNKyspaWYoSltNXT09PTI1NSYmSltNKzFdPT09MjE2KXtDPU07YnJlYWt9aWYoQz09PS0xKXJldHVybiBudWxsO2ZvcihsZXQgTT1NYXRoLm1heChDKzIsTik7TTxRLTE7TSsrKWlmKEpbTV09PT0yNTUmJkpbTSsxXT09PTIxNylyZXR1cm4gTj0wLHtzOkMsZTpNKzJ9O3JldHVybiBOPU1hdGgubWF4KEMrMixRLTEpLG51bGx9LFY9KCk9Pnt3aGlsZShaPFEpe2xldCB6PUcoWik7aWYoej49MCl7bGV0IE09QihaLHopO2lmKE0hPW51bGwmJk0+MCl7bGV0IFU9eis0LEg9VStNO2lmKFE8SClicmVhazskKEouc3ViYXJyYXkoVSxIKSksWj1IO2NvbnRpbnVlfX1lbHNlIGlmKFEtWjw9SylicmVhaztsZXQgQz1MKFopO2lmKCFDKWJyZWFrOyQoSi5zdWJhcnJheShDLnMsQy5lKSksWj1DLmV9aWYoWj4wKXtpZihaPFEpSi5jb3B5V2l0aGluKDAsWixRKTtRLT1aLE49Tj5aP04tWjowLFo9MH19O3JldHVybntwdXNoKHope2lmKHoubGVuZ3RoPT09MClyZXR1cm47cSh6KSxWKCl9fX1mdW5jdGlvbiBBJCgkKXtsZXQgSj1EKG5ldyBTZXQpLFE9SSgoWik9PntyZXR1cm4gSi5jdXJyZW50LmFkZChaKSwoKT0+e0ouY3VycmVudC5kZWxldGUoWil9fSxbXSk7cmV0dXJuIEUoKCk9PntpZighJClyZXR1cm47bGV0IFo9bmV3IEFib3J0Q29udHJvbGxlcixLPSExLFk9bnVsbCxxPW5ldyBVUkwoJCk7cS5zZWFyY2hQYXJhbXMuc2V0KCJyYXciLCIxIik7bGV0IEc9cS50b1N0cmluZygpLEI9KCk9PntpZihLfHxaLnNpZ25hbC5hYm9ydGVkfHxZKXJldHVybjtZPXNldFRpbWVvdXQoKCk9PntZPW51bGwsTCgpfSwxMDAwKX0sTj0oVik9PntpZihKLmN1cnJlbnQuc2l6ZT09PTApcmV0dXJuO2xldCB6PVVSTC5jcmVhdGVPYmplY3RVUkwobmV3IEJsb2IoW1ZdLHt0eXBlOiJpbWFnZS9qcGVnIn0pKTtmb3IobGV0IEMgb2YgSi5jdXJyZW50KUMoeil9LEw9YXN5bmMoKT0+e3RyeXtsZXQgej0oYXdhaXQgZmV0Y2goRyx7c2lnbmFsOlouc2lnbmFsfSkpLmJvZHk/LmdldFJlYWRlcigpO2lmKCF6KXtCKCk7cmV0dXJufWxldCBDPU0kKE4pO3doaWxlKCEwKXtsZXR7ZG9uZTpNLHZhbHVlOlV9PWF3YWl0IHoucmVhZCgpO2lmKE0pYnJlYWs7aWYoVSYmVS5sZW5ndGgpQy5wdXNoKFUpfX1jYXRjaHt9ZmluYWxseXtCKCl9fTtyZXR1cm4gTCgpLCgpPT57aWYoSz0hMCxZKWNsZWFyVGltZW91dChZKTtaLmFib3J0KCl9fSxbJF0pLHtzdWJzY3JpYmVGcmFtZTpRLGZyYW1lOm51bGx9fWZ1bmN0aW9uIGskKCl7bGV0WyRdPUEoQjIpO3JldHVybntzdXBwb3J0ZWQ6JH19ZnVuY3Rpb24gaDMoJCxKLFE9e21lZGlhQXJyaXZpbmc6ITF9KXtpZigkIT09ImZpcnN0LWZyYW1lLXRpbWVvdXQifHxKIT09ImNvbm5lY3RlZCIpcmV0dXJuInRyYW5zcG9ydCI7cmV0dXJuIFEubWVkaWFBcnJpdmluZz8id2FpdCI6ImNvZGVjIn12YXIgRiQ9ImFsbCI7Y2xhc3MgeDUgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3Rvcigpe3N1cGVyKCJXZWJSVEMgc2lnbmFsaW5nIHN0YXllZCBidXN5IGZvciB0b28gbG9uZy4gUmVsb2FkIHRvIHRyeSBhZ2Fpbi4iKTt0aGlzLm5hbWU9IldlYlJ0Y1NpZ25hbGluZ0J1c3lFcnJvciJ9fWNsYXNzIGYzIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoKXtzdXBlcigiV2ViUlRDIHNpZ25hbGluZyB0aW1lZCBvdXQuIik7dGhpcy5uYW1lPSJXZWJSdGNTaWduYWxpbmdUaW1lb3V0RXJyb3IifX1mdW5jdGlvbiBnMygkKXtyZXR1cm4gJC5yZWFzb24/P25ldyBET01FeGNlcHRpb24oIlRoZSBvcGVyYXRpb24gd2FzIGFib3J0ZWQiLCJBYm9ydEVycm9yIil9ZnVuY3Rpb24gdUsoJCxKKXtpZihKPy5hYm9ydGVkKXJldHVybiBQcm9taXNlLnJlamVjdChnMyhKKSk7cmV0dXJuIG5ldyBQcm9taXNlKChRLFopPT57bGV0IEs9c2V0VGltZW91dChZLCQpO2Z1bmN0aW9uIFkoKXtKPy5yZW1vdmVFdmVudExpc3RlbmVyKCJhYm9ydCIscSksUSgpfWZ1bmN0aW9uIHEoKXtjbGVhclRpbWVvdXQoSyksWihKP2czKEopOm5ldyBET01FeGNlcHRpb24oIlRoZSBvcGVyYXRpb24gd2FzIGFib3J0ZWQiLCJBYm9ydEVycm9yIikpfUo/LmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IixxLHtvbmNlOiEwfSl9KX1hc3luYyBmdW5jdGlvbiBXJCh7dXJsOiQsc2Vzc2lvbklkOkosa2VlcGFsaXZlOlE9ITEsc2VuZEJlYWNvbjpaLGZldGNoSW1wbDpLPWZldGNofSl7bGV0IFk9SlNPTi5zdHJpbmdpZnkoe3Nlc3Npb25JZDpKfSkscT1aPz8odHlwZW9mIG5hdmlnYXRvcjwidSImJnR5cGVvZiBuYXZpZ2F0b3Iuc2VuZEJlYWNvbj09PSJmdW5jdGlvbiI/bmF2aWdhdG9yLnNlbmRCZWFjb24uYmluZChuYXZpZ2F0b3IpOnZvaWQgMCk7aWYoUSYmcSl0cnl7aWYocSgkLG5ldyBCbG9iKFtZXSx7dHlwZToidGV4dC9wbGFpbjtjaGFyc2V0PVVURi04In0pKSlyZXR1cm59Y2F0Y2h7fWF3YWl0IEsoJCx7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGJvZHk6WSxrZWVwYWxpdmU6UX0pLnRoZW4oKCk9PntyZXR1cm59LCgpPT57cmV0dXJufSl9YXN5bmMgZnVuY3Rpb24gRCQoe3VybDokLGJvZHk6SixzaWduYWw6USxyZXF1ZXN0VGltZW91dE1zOlosYnVzeVJldHJ5SW50ZXJ2YWxNczpLLGJ1c3lSZXRyeUNvdW50OlksZmV0Y2hJbXBsOnE9ZmV0Y2h9KXtmb3IobGV0IEc9MDtHPD1ZO0crKyl7aWYoUT8uYWJvcnRlZCl0aHJvdyBnMyhRKTtsZXQgQj1uZXcgQWJvcnRDb250cm9sbGVyLE49ITEsTD0oKT0+Qi5hYm9ydChRP2czKFEpOnZvaWQgMCk7UT8uYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLEwse29uY2U6ITB9KTtsZXQgVj1zZXRUaW1lb3V0KCgpPT57Tj0hMCxCLmFib3J0KCl9LFopLHo7dHJ5e3o9YXdhaXQgcSgkLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sc2lnbmFsOkIuc2lnbmFsLGJvZHk6Sn0pfWNhdGNoKEMpe2lmKE4mJiFRPy5hYm9ydGVkKXRocm93IG5ldyBmMzt0aHJvdyBDfWZpbmFsbHl7Y2xlYXJUaW1lb3V0KFYpLFE/LnJlbW92ZUV2ZW50TGlzdGVuZXIoImFib3J0IixMKX1pZih6LnN0YXR1cyE9PTQwOSlyZXR1cm4gejtpZihhd2FpdCB6LmJvZHk/LmNhbmNlbCgpLEc9PT1ZKXRocm93IG5ldyB4NTthd2FpdCB1SyhLLFEpfXRocm93IG5ldyB4NX12YXIgbEs9W3t1cmxzOlsic3R1bjpzdHVuLmwuZ29vZ2xlLmNvbToxOTMwMiJdfSx7dXJsczpbInN0dW46c3R1bjEubC5nb29nbGUuY29tOjE5MzAyIl19XSxkSz0zMDAwLGNLPTIwMDAwLG9LPTQwMDA7YXN5bmMgZnVuY3Rpb24gaUsoJCl7aWYoISQpcmV0dXJuITE7dHJ5e2xldCBKPSExO3JldHVybihhd2FpdCAkLmdldFN0YXRzKCkpLmZvckVhY2goKFEpPT57aWYoUS50eXBlIT09ImluYm91bmQtcnRwIilyZXR1cm47bGV0IFo9UTtpZihaLmtpbmQhPT0idmlkZW8iKXJldHVybjtpZigoWi5mcmFtZXNSZWNlaXZlZD8/MCk+MClKPSEwfSksSn1jYXRjaHtyZXR1cm4hMX19dmFyIG5LPTUwMCxySz0zMCxhSz01MDAsc0s9NTAwMDtmdW5jdGlvbiBfJCgpe2lmKHR5cGVvZiBjcnlwdG8ucmFuZG9tVVVJRD09PSJmdW5jdGlvbiIpcmV0dXJuIGNyeXB0by5yYW5kb21VVUlEKCk7bGV0ICQ9Y3J5cHRvLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheSgxNikpOyRbNl09JFs2XSYxNXw2NCwkWzhdPSRbOF0mNjN8MTI4O2xldCBKPUFycmF5LmZyb20oJCwoUSk9PlEudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsIjAiKSkuam9pbigiIik7cmV0dXJuYCR7Si5zbGljZSgwLDgpfS0ke0ouc2xpY2UoOCwxMil9LSR7Si5zbGljZSgxMiwxNil9LSR7Si5zbGljZSgxNiwyMCl9LSR7Si5zbGljZSgyMCl9YH1mdW5jdGlvbiBQJCh7b2ZmZXJVcmw6JCxjbG9zZVVybDpKLGVuYWJsZWQ6USxjb2RlYzpaPSJoMjY0IixpY2VTZXJ2ZXJzOkt9KXtsZXRbWSxxXT1BKG51bGwpLFtHLEJdPUEobnVsbCksW04sTF09QShudWxsKSxbVix6XT1BKDApLFtDLE1dPUEobnVsbCksW1UsSF09QShudWxsKSxPPUQodm9pZCAwKSxrPUQoITEpLHc9RCgwKSxQPUkoKCk9PntpZihrLmN1cnJlbnQ9ITAsdy5jdXJyZW50PTAsTy5jdXJyZW50IT09dm9pZCAwKXdpbmRvdy5jbGVhclRpbWVvdXQoTy5jdXJyZW50KSxPLmN1cnJlbnQ9dm9pZCAwO0IobnVsbCksTChudWxsKX0sW10pO3JldHVybiBFKCgpPT57dy5jdXJyZW50PTB9LFtRLCQsSixaLEtdKSxFKCgpPT57aWYoIVF8fCEkKXJldHVybjtpZihCKG51bGwpLHR5cGVvZiBSVENQZWVyQ29ubmVjdGlvbj4idSJ8fHR5cGVvZiBSVENSdHBSZWNlaXZlcj4idSIpe3EobnVsbCksSChudWxsKSxMKCJXZWJSVEMgaXMgbm90IHN1cHBvcnRlZCBieSB0aGlzIGJyb3dzZXIuIiksQih7c2Vzc2lvbklkOl8kKCksa2luZDoicGVybWFuZW50In0pO3JldHVybn1sZXQgeD0hMSxGPW51bGwsYyxqPW51bGwsbT0hMSxzPW5ldyBBYm9ydENvbnRyb2xsZXIscj1fJCgpLGk9Sz8ubGVuZ3RoP0s6bEs7aWYoSChyKSxxKG51bGwpLEIobnVsbCksTChudWxsKSxrLmN1cnJlbnQ9ITEsTy5jdXJyZW50IT09dm9pZCAwKXdpbmRvdy5jbGVhclRpbWVvdXQoTy5jdXJyZW50KSxPLmN1cnJlbnQ9dm9pZCAwO2xldCBaMT0oZT0hMSk9PntpZihqKXJldHVybiBqO3JldHVybiBqPVckKHt1cmw6SixzZXNzaW9uSWQ6cixrZWVwYWxpdmU6ZX0pLGp9LGg9KCk9PnZvaWQgWjEoITApO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlaGlkZSIsaCksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImJlZm9yZXVubG9hZCIsaCk7bGV0IEsxPSgpPT57cShudWxsKSxGPy5jbG9zZSgpLE0obnVsbCl9LHY9KGUpPT57aWYoeHx8bSlyZXR1cm47bT0hMCxMKGUpLEIoe3Nlc3Npb25JZDpyLGtpbmQ6InBlcm1hbmVudCJ9KSxLMSgpLFoxKCl9LHoxPSgpPT57aWYoeHx8bSlyZXR1cm47bT0hMCxLMSgpLFoxKCkuZmluYWxseSgoKT0+e2lmKCF4KUIoe3Nlc3Npb25JZDpyLGtpbmQ6ImNvZGVjIixjb2RlYzpafSl9KX0sSDE9KGUpPT57aWYoeHx8bSlyZXR1cm47bT0hMCxCKG51bGwpO2xldCBhPXcuY3VycmVudCsrLFkxPU1hdGgubWluKGFLKjIqKk1hdGgubWluKGEsNCksc0spO0woYCR7ZX0gUmV0cnlpbmcuLi5gKSxLMSgpLFoxKCkuZmluYWxseSgoKT0+e2lmKHgpcmV0dXJuO2M9d2luZG93LnNldFRpbWVvdXQoKCk9PntpZigheCl6KChSKT0+UisxKX0sWTEpfSl9LFYxPShlKT0+bmV3IFByb21pc2UoKGEpPT57aWYoZS5pY2VHYXRoZXJpbmdTdGF0ZT09PSJjb21wbGV0ZSIpe2EoKTtyZXR1cm59bGV0IFkxLFI9ITEsdT0oKT0+e2lmKFIpcmV0dXJuO2lmKFI9ITAsZS5yZW1vdmVFdmVudExpc3RlbmVyKCJpY2VnYXRoZXJpbmdzdGF0ZWNoYW5nZSIscCksWTEhPT12b2lkIDApd2luZG93LmNsZWFyVGltZW91dChZMSk7YSgpfSxwPSgpPT57aWYoZS5pY2VHYXRoZXJpbmdTdGF0ZT09PSJjb21wbGV0ZSIpdSgpfTtlLmFkZEV2ZW50TGlzdGVuZXIoImljZWdhdGhlcmluZ3N0YXRlY2hhbmdlIixwKSxZMT13aW5kb3cuc2V0VGltZW91dCh1LGRLKX0pO3JldHVybihhc3luYygpPT57dHJ5e0Y9bmV3IFJUQ1BlZXJDb25uZWN0aW9uKHtpY2VTZXJ2ZXJzOmksaWNlVHJhbnNwb3J0UG9saWN5OkYkfSksTShGKTtsZXQgZT1GLmFkZFRyYW5zY2VpdmVyKCJ2aWRlbyIse2RpcmVjdGlvbjoicmVjdm9ubHkifSksYT1SVENSdHBSZWNlaXZlci5nZXRDYXBhYmlsaXRpZXMoInZpZGVvIiksWTE9Wj09PSJoMjY0Ij8idmlkZW8vSDI2NCI6Wj09PSJ2cDkiPyJ2aWRlby9WUDkiOiJ2aWRlby9WUDgiO2lmKGE/LmNvZGVjcy5sZW5ndGgmJiJzZXRDb2RlY1ByZWZlcmVuY2VzImluIGUpe2xldCBvPVkxLnRvTG93ZXJDYXNlKCk7ZS5zZXRDb2RlY1ByZWZlcmVuY2VzKFsuLi5hLmNvZGVjcy5maWx0ZXIoKGwpPT5sLm1pbWVUeXBlLnRvTG93ZXJDYXNlKCk9PT1vKSwuLi5hLmNvZGVjcy5maWx0ZXIoKGwpPT5sLm1pbWVUeXBlLnRvTG93ZXJDYXNlKCkhPT1vKV0pfUYub250cmFjaz0obyk9PntpZih4KXJldHVybjtpZihrLmN1cnJlbnQ9ITEsby50cmFjay5vbmVuZGVkPSgpPT5IMSgiV2ViUlRDIHZpZGVvIHRyYWNrIGVuZGVkLiIpLHEoby5zdHJlYW1zWzBdPz9uZXcgTWVkaWFTdHJlYW0oW28udHJhY2tdKSksTy5jdXJyZW50IT09dm9pZCAwKXdpbmRvdy5jbGVhclRpbWVvdXQoTy5jdXJyZW50KTtsZXQgbD0hMSxXMT0oKT0+e08uY3VycmVudD13aW5kb3cuc2V0VGltZW91dCgoKT0+e2lmKE8uY3VycmVudD12b2lkIDAseHx8ay5jdXJyZW50KXJldHVybjtsZXQgRDE9Rj8uY29ubmVjdGlvblN0YXRlPz8iY2xvc2VkIjtpSyhGKS50aGVuKCh5MSk9PntpZih4fHxrLmN1cnJlbnQpcmV0dXJuO2xldCBPMT1oMygiZmlyc3QtZnJhbWUtdGltZW91dCIsRDEse21lZGlhQXJyaXZpbmc6eTF9KTtpZihPMT09PSJ3YWl0IiYmIWwpbD0hMCxXMSgpO2Vsc2UgaWYoTzE9PT0idHJhbnNwb3J0IilIMSgiV2ViUlRDIGRpZCBub3QgZXN0YWJsaXNoIGEgdmlkZW8gcGF0aC4iKTtlbHNlIHoxKCl9KX0sb0spfTtXMSgpfSxGLm9uY29ubmVjdGlvbnN0YXRlY2hhbmdlPSgpPT57aWYoeHx8IUZ8fEYuY29ubmVjdGlvblN0YXRlIT09ImZhaWxlZCIpcmV0dXJuO2lmKGgzKCJjb25uZWN0aW9uLWZhaWxlZCIsRi5jb25uZWN0aW9uU3RhdGUpPT09InRyYW5zcG9ydCIpSDEoIldlYlJUQyBjb25uZWN0aW9uIGZhaWxlZC4iKX07bGV0IFI9YXdhaXQgRi5jcmVhdGVPZmZlcigpO2F3YWl0IEYuc2V0TG9jYWxEZXNjcmlwdGlvbihSKSxhd2FpdCBWMShGKTtsZXQgdT1GLmxvY2FsRGVzY3JpcHRpb247aWYoIXUpdGhyb3cgRXJyb3IoIldlYlJUQyBvZmZlciB3YXMgbm90IGNyZWF0ZWQiKTtsZXQgcD1hd2FpdCBEJCh7dXJsOiQsc2lnbmFsOnMuc2lnbmFsLHJlcXVlc3RUaW1lb3V0TXM6Y0ssYnVzeVJldHJ5SW50ZXJ2YWxNczpuSyxidXN5UmV0cnlDb3VudDpySyxib2R5OkpTT04uc3RyaW5naWZ5KHt0eXBlOnUudHlwZSxzZHA6dS5zZHAsc2Vzc2lvbklkOnIsY29kZWM6WixpY2VTZXJ2ZXJzOml9KX0pO2lmKCFwLm9rKXthd2FpdCBwLmJvZHk/LmNhbmNlbCgpLHYoYFdlYlJUQyBvZmZlciBmYWlsZWQ6IEhUVFAgJHtwLnN0YXR1c31gKTtyZXR1cm59bGV0IFM9YXdhaXQgcC5qc29uKCk7aWYoeCl7YXdhaXQgWjEoITApO3JldHVybn10cnl7YXdhaXQgRi5zZXRSZW1vdGVEZXNjcmlwdGlvbihTKX1jYXRjaHt2KCJXZWJSVEMgcmV0dXJuZWQgYW4gaW52YWxpZCBzZXNzaW9uIGRlc2NyaXB0aW9uLiIpfX1jYXRjaChlKXtpZih4fHxzLnNpZ25hbC5hYm9ydGVkKXJldHVybjtpZihlIGluc3RhbmNlb2YgeDUpe3YoZS5tZXNzYWdlKTtyZXR1cm59bGV0IGE9ZSBpbnN0YW5jZW9mIGYzPyJXZWJSVEMgc2lnbmFsaW5nIHRpbWVkIG91dC4iOiJXZWJSVEMgc2lnbmFsaW5nIGZhaWxlZC4iO2lmKGgzKCJzaWduYWxpbmctZmFpbGVkIixGPy5jb25uZWN0aW9uU3RhdGU/PyJjbG9zZWQiKT09PSJ0cmFuc3BvcnQiKUgxKGEpfX0pKCksKCk9PntpZih4PSEwLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJwYWdlaGlkZSIsaCksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImJlZm9yZXVubG9hZCIsaCkscy5hYm9ydCgpLGMhPT12b2lkIDApd2luZG93LmNsZWFyVGltZW91dChjKTtpZihPLmN1cnJlbnQhPT12b2lkIDApd2luZG93LmNsZWFyVGltZW91dChPLmN1cnJlbnQpLE8uY3VycmVudD12b2lkIDA7WjEoITApLHEobnVsbCksTShudWxsKSxIKG51bGwpLEY/LmNsb3NlKCl9fSxbUSwkLEosWixLLFZdKSx7c3RyZWFtOlksZmFpbHVyZTpHLGVycm9yOk4sbWFya0ZyYW1lRGVjb2RlZDpQLHBlZXJDb25uZWN0aW9uOkMsc2Vzc2lvbklkOlV9fWZ1bmN0aW9uIG0zKCQsSixRLFosSz0ibGVmdCIpe2xldCBZPUkoKHosQyk9Pks9PT0ibGVmdCI/ei1DOkMteixbS10pLHE9SSgoeik9Pk1hdGgubWF4KFEsTWF0aC5taW4oWix6KSksW1EsWl0pLFtHLEJdPUEoKCk9PntpZih0eXBlb2Ygd2luZG93PiJ1IilyZXR1cm4gSjtsZXQgej13aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oJCksQz16IT1udWxsP051bWJlcih6KTpOYU47cmV0dXJuIE51bWJlci5pc0Zpbml0ZShDKT9xKEMpOkp9KSxOPXR5cGVvZiB3aW5kb3c8InUiP01hdGgubWluKFosd2luZG93LmlubmVyV2lkdGgtMzIpOlosTD1NYXRoLm1heChRLE1hdGgubWluKE4sRykpLFY9SSgoeik9Pnt6LnByZXZlbnREZWZhdWx0KCk7bGV0IEM9ei5jbGllbnRYLE09TCxVPXouY3VycmVudFRhcmdldDtVLnNldFBvaW50ZXJDYXB0dXJlKHoucG9pbnRlcklkKTtsZXQgSD0oayk9PntsZXQgdz1xKE0rWShDLGsuY2xpZW50WCkpO0Iodyl9LE89KGspPT57VS5yZWxlYXNlUG9pbnRlckNhcHR1cmUoay5wb2ludGVySWQpLFUucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcm1vdmUiLEgpLFUucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcnVwIixPKSxVLnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJjYW5jZWwiLE8pO3RyeXt3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0oJCxTdHJpbmcocShNK1koQyxrLmNsaWVudFgpKSkpfWNhdGNoe319O1UuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcm1vdmUiLEgpLFUuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcnVwIixPKSxVLmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJjYW5jZWwiLE8pfSxbcSxZLEwsJF0pO3JldHVybnt3aWR0aDpMLG9uUG9pbnRlckRvd246Vn19dmFyIHRLPTgwMDA7ZnVuY3Rpb24gZUsoJCl7cmV0dXJuImZpbGU6Ly8iKyQuc3BsaXQoIi8iKS5tYXAoZW5jb2RlVVJJQ29tcG9uZW50KS5qb2luKCIvIil9ZnVuY3Rpb24gJFkoJCl7cmV0dXJuICQhPT0ibm9uZSJ9ZnVuY3Rpb24gVCQoe3RvYXN0OiQsb25SZXZlYWw6SixvbkRpc21pc3M6USxvblBhdXNlOlosb25SZXN1bWU6S30pe2xldCBZPUJvb2xlYW4oJC5kb3dubG9hZFVybCYmJC5kb3dubG9hZE5hbWUpLHE9Qm9vbGVhbigkLnBhdGgpLFtHLEJdPUEoITEpLE49RChudWxsKSxMPUQobnVsbCksVj0oKT0+e2lmKEwuY3VycmVudCljbGVhclRpbWVvdXQoTC5jdXJyZW50KTtMLmN1cnJlbnQ9bnVsbH07RSgoKT0+KCk9PlYoKSxbXSk7bGV0IHo9KE0pPT57aWYoISQucGF0aCl7TS5wcmV2ZW50RGVmYXVsdCgpO3JldHVybn1WKCksWigpLEwuY3VycmVudD1zZXRUaW1lb3V0KCgpPT57TC5jdXJyZW50PW51bGwsQighMSksSygpfSx0SyksTS5kYXRhVHJhbnNmZXIuc2V0RGF0YSgidGV4dC9wbGFpbiIsZUsoJC5wYXRoKSksTS5kYXRhVHJhbnNmZXIuc2V0RGF0YShiMywkLnBhdGgpLE0uZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQ9ImNvcHkiO2xldCBVPU4uY3VycmVudDtpZihVKU0uZGF0YVRyYW5zZmVyLnNldERyYWdJbWFnZShVLFUub2Zmc2V0V2lkdGgvMixVLm9mZnNldEhlaWdodC8yKTtyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PkIoITApKX0sQz0oTSk9PntpZihWKCksQighMSksJFkoTS5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCkpUSgpO2Vsc2UgSygpfTtyZXR1cm4gWCgiZGl2Iix7ImRhdGEtdGVzdGlkIjoic2NyZWVuc2hvdC10b2FzdCIsY2xhc3NOYW1lOiJ3LVttaW4oMzIwcHgsY2FsYygxMDB2dy0zMnB4KSldIixvbk1vdXNlRW50ZXI6Wixvbk1vdXNlTGVhdmU6SyxjaGlsZHJlbjpbJC50aHVtYiYmWCgiaW1nIix7cmVmOk4sImRhdGEtdGVzdGlkIjoiZHJhZy1pbWFnZSIsc3JjOiQudGh1bWIsYWx0OiIiLCJhcmlhLWhpZGRlbiI6ITAsZHJhZ2dhYmxlOiExLHN0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDotOTk5OSxsZWZ0OjAsd2lkdGg6ODAsaGVpZ2h0OjgwLGJvcmRlclJhZGl1czoxMixvYmplY3RGaXQ6ImNvdmVyIixwb2ludGVyRXZlbnRzOiJub25lIn19KSwkLnN0YXR1cz09PSJlcnJvciI/WCgiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiBweC0zLjUgcHktMi41IGJnLXBhbmVsIGJvcmRlciBib3JkZXItd2hpdGUvMTIgcm91bmRlZC14bCB0ZXh0LXdoaXRlLzkwIHRleHQtWzEycHhdIHNoYWRvdy1bMF84cHhfMjRweF9yZ2JhKDAsMCwwLDAuNDUpXSIsY2hpbGRyZW46W1goInNwYW4iLHtjbGFzc05hbWU6InNpemUtMS41IHJvdW5kZWQtZnVsbCBzaHJpbmstMCBiZy1bI2Y4NzE3MV0ifSksWCgic3BhbiIse2NsYXNzTmFtZToic2VsZWN0LXRleHQiLGNoaWxkcmVuOiQubWVzc2FnZT8/IlNjcmVlbnNob3QgZmFpbGVkIn0pXX0pOlgoImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsb25DbGljazpKLGRpc2FibGVkOiQuc3RhdHVzIT09InNhdmVkIixkcmFnZ2FibGU6JC5zdGF0dXM9PT0ic2F2ZWQiJiZxLG9uRHJhZ1N0YXJ0Onosb25EcmFnRW5kOkMsImFyaWEtbGFiZWwiOlk/IkRvd25sb2FkIHNjcmVlbnNob3QgYWdhaW4iOiJPcGVuIHNjcmVlbnNob3QgaW4gRmluZGVyIix0aXRsZTpZPyJEb3dubG9hZCBzY3JlZW5zaG90IGFnYWluIjoiQ2xpY2sgdG8gcmV2ZWFsIGluIEZpbmRlciDCtyBkcmFnIHRvIGNvcHkgdGhlIGZpbGUiLGNsYXNzTmFtZTpgZ3JvdXAgZmxleCB3LWZ1bGwgaXRlbXMtY2VudGVyIGdhcC0zIHBsLTIgcHItMy41IHB5LTIgYmctcGFuZWwgYm9yZGVyIGJvcmRlci13aGl0ZS8xMiByb3VuZGVkLXhsIHNoYWRvdy1bMF84cHhfMjRweF9yZ2JhKDAsMCwwLDAuNDUpXSB0ZXh0LWxlZnQgY3Vyc29yLXBvaW50ZXIgZW5hYmxlZDpob3ZlcjpiZy1bIzJhMmEyY10gZGlzYWJsZWQ6Y3Vyc29yLWRlZmF1bHQgW3RyYW5zaXRpb246YmFja2dyb3VuZF8wLjE1c19lYXNlXSAke0c/ImludmlzaWJsZSI6IiJ9YCxjaGlsZHJlbjpbWCgiZGl2Iix7Y2xhc3NOYW1lOiJzaXplLTkgcm91bmRlZC1tZCBvdmVyZmxvdy1oaWRkZW4gYmctd2hpdGUvMTAgc2hyaW5rLTAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcmluZy0xIHJpbmctd2hpdGUvMTAgcG9pbnRlci1ldmVudHMtbm9uZSIsY2hpbGRyZW46JC50aHVtYj9YKCJpbWciLHtzcmM6JC50aHVtYixhbHQ6IiIsY2xhc3NOYW1lOiJzaXplLWZ1bGwgb2JqZWN0LWNvdmVyIixkcmFnZ2FibGU6ITF9KTpYKCJzcGFuIix7Y2xhc3NOYW1lOiJibG9jayBzaXplLTQgcm91bmRlZC1mdWxsIGJvcmRlci0yIGJvcmRlci13aGl0ZS8zMCBib3JkZXItdC13aGl0ZSBhbmltYXRlLVtncmlkLXNwaW5fMC44c19saW5lYXJfaW5maW5pdGVdIn0pfSksWCgiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGZsZXgtY29sIG1pbi13LTAgbGVhZGluZy10aWdodCBwb2ludGVyLWV2ZW50cy1ub25lIixjaGlsZHJlbjpbWCgic3BhbiIse2NsYXNzTmFtZToidGV4dC1bMTNweF0gZm9udC1zZW1pYm9sZCB0ZXh0LXdoaXRlIixjaGlsZHJlbjokLnN0YXR1cz09PSJzYXZpbmciPyJTYXZpbmcgU2NyZWVuc2hvdOKApiI6IlNjcmVlbnNob3QgU2F2ZWQifSksJC5zdGF0dXM9PT0ic2F2ZWQiJiZYKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LVsxMXB4XSB0ZXh0LXdoaXRlLzYwIixjaGlsZHJlbjpZPyJEb3dubG9hZCBhZ2FpbiI6Ik9wZW4gaW4gRmluZGVyIn0pLCQuc3RhdHVzPT09InNhdmVkIiYmJC5zdGFnZWRPbmx5JiYkLm1lc3NhZ2UmJlgoInNwYW4iLHtjbGFzc05hbWU6Im10LTEgdGV4dC1bMTFweF0gdGV4dC13aGl0ZS82MCBicmVhay13b3JkcyIsY2hpbGRyZW46JC5tZXNzYWdlfSldfSksJC5zdGF0dXM9PT0ic2F2ZWQiJiZYKEc1LHtjbGFzc05hbWU6Im1sLWF1dG8gdGV4dC13aGl0ZS84MCBwb2ludGVyLWV2ZW50cy1ub25lIixzaXplOjE2LHN0cm9rZVdpZHRoOjIuMjV9KV19KV19KX12YXIgdyQ9MzUwMCxKWT0xMjAwMCxFJD00MDAwLFFZPTFlNDtmdW5jdGlvbiBJJCgkKXtyZXR1cm4gJC5zdGFnZWRPbmx5P0pZOnckfWZ1bmN0aW9uIFpZKCQpe2lmKCQuc3RhZ2VkT25seSYmJC5wYXRoKXJldHVybntwYXRoOiQucGF0aH07aWYoJC5maWxlTmFtZSlyZXR1cm57c2NyZWVuc2hvdDokLmZpbGVOYW1lfTtyZXR1cm4gbnVsbH1mdW5jdGlvbiBYWSgpe3JldHVybiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkucmVwbGFjZSgvWzouXS9nLCItIikuc2xpY2UoMCwyMyl9ZnVuY3Rpb24gYiQoJCl7bGV0IEo9RChudWxsKSxRPUQobnVsbCksWj1EKG51bGwpLEs9RChudWxsKSxZPUQobnVsbCkscT1EKCExKSxHPUkoKCk9PntpZihaLmN1cnJlbnQpY2xlYXJUaW1lb3V0KFouY3VycmVudCk7Wi5jdXJyZW50PW51bGwsSy5jdXJyZW50PW51bGx9LFtdKSxCPUkoKFUpPT57bGV0IEg9VT8/US5jdXJyZW50Pz92b2lkIDA7aWYoRygpLFkuY3VycmVudD1udWxsLFQ1LmRpc21pc3MoSCksSD09PXZvaWQgMHx8US5jdXJyZW50PT09U3RyaW5nKEgpKXtsZXQgTz1KLmN1cnJlbnQ/LmRvd25sb2FkVXJsO2lmKE8pVVJMLnJldm9rZU9iamVjdFVSTChPKTtKLmN1cnJlbnQ9bnVsbCxRLmN1cnJlbnQ9bnVsbH19LFtHXSksTj1JKCgpPT57bGV0IFU9Si5jdXJyZW50O2lmKCFVKXJldHVybjtsZXQgSD1aWShVKTtpZihIKWsxKCJyZXZlYWwiLEgpO2Vsc2UgaWYoVS5kb3dubG9hZFVybCYmVS5kb3dubG9hZE5hbWUpYjUoVS5kb3dubG9hZFVybCxVLmRvd25sb2FkTmFtZSl9LFtdKSxMPUkoKFUpPT57RygpO2xldCBIPU1hdGgubWF4KDAsVSksTz1RLmN1cnJlbnQ7WS5jdXJyZW50PUgsSy5jdXJyZW50PURhdGUubm93KCkrSCxaLmN1cnJlbnQ9c2V0VGltZW91dCgoKT0+QihPPz92b2lkIDApLEgpfSxbRyxCXSksVj1JKCgpPT57aWYoIVouY3VycmVudHx8Sy5jdXJyZW50PT1udWxsKXJldHVybjtZLmN1cnJlbnQ9TWF0aC5tYXgoMCxLLmN1cnJlbnQtRGF0ZS5ub3coKSksRygpfSxbR10pLHo9SSgoKT0+e2xldCBVPVkuY3VycmVudDtpZihVPT1udWxsKXJldHVybjtMKFUpfSxbTF0pLEM9SSgoVSxIPTEvMCk9PntpZihKLmN1cnJlbnQ9VSxRLmN1cnJlbnQ9VS5pZCxUNS5jdXN0b20oKE8pPT5YKFQkLHt0b2FzdDpVLG9uUmV2ZWFsOk4sb25EaXNtaXNzOigpPT5CKE8pLG9uUGF1c2U6VixvblJlc3VtZTp6fSkse2lkOlUuaWQsZHVyYXRpb246MS8wfSksTnVtYmVyLmlzRmluaXRlKEgpKUwoSCk7ZWxzZSBHKCksWS5jdXJyZW50PW51bGx9LFtHLEIsVix6LE4sTF0pO3JldHVybntjYXB0dXJlOkkoYXN5bmMoKT0+e2lmKCEkfHxxLmN1cnJlbnQpcmV0dXJuO3EuY3VycmVudD0hMDtsZXQgVT1jcnlwdG8ucmFuZG9tVVVJRCgpO0Moe2lkOlUsc3RhdHVzOiJzYXZpbmciLHBoYXNlOiJpbiJ9KTtsZXQgSD1gc2VydmUtc2ltLXNjcmVlbnNob3QtJHtYWSgpfS5wbmdgLE89bmV3IEFib3J0Q29udHJvbGxlcixrPXNldFRpbWVvdXQoKCk9PntPLmFib3J0KEVycm9yKCJTY3JlZW5zaG90IHRpbWVkIG91dCIpKX0sUVkpO3RyeXtpZighajMod2luZG93LmxvY2F0aW9uLmhvc3RuYW1lKSl7bGV0IGM9YXdhaXQgUSQoJCx7c2lnbmFsOk8uc2lnbmFsfSksaj1VUkwuY3JlYXRlT2JqZWN0VVJMKGMpO2I1KGosSCksQyh7aWQ6VSxzdGF0dXM6InNhdmVkIixwaGFzZToiaW4iLGRvd25sb2FkVXJsOmosZG93bmxvYWROYW1lOkgsdGh1bWI6an0sdyQpO3JldHVybn1sZXQgdz1hd2FpdCBrMSgic2NyZWVuc2hvdC5jYXB0dXJlIix7dWRpZDokLGZpbGVOYW1lOkh9LHtzaWduYWw6Ty5zaWduYWx9KSxQPXcuc3Rkb3V0LnRyaW0oKTtpZih3LmV4aXRDb2RlIT09MHx8IVApe0Moe2lkOlUsc3RhdHVzOiJlcnJvciIscGhhc2U6ImluIixtZXNzYWdlOncuc3RkZXJyLnRyaW0oKXx8IlNjcmVlbnNob3QgZmFpbGVkIn0sRSQpO3JldHVybn1sZXQgeD13LnN0ZGVyci50cmltKCksRj14P3tpZDpVLHN0YXR1czoic2F2ZWQiLHBoYXNlOiJpbiIscGF0aDpQLGZpbGVOYW1lOkgsc3RhZ2VkT25seTohMCxtZXNzYWdlOnh9OntpZDpVLHN0YXR1czoic2F2ZWQiLHBoYXNlOiJpbiIscGF0aDpQLGZpbGVOYW1lOkh9O0MoRixJJChGKSk7dHJ5e2xldCBqPShhd2FpdCBrMSgic2NyZWVuc2hvdC50aHVtYm5haWwiLHtmaWxlTmFtZTpIfSx7c2lnbmFsOk8uc2lnbmFsfSkpLnN0ZG91dC5yZXBsYWNlKC9ccysvZywiIik7aWYoail7bGV0IG09Si5jdXJyZW50O2lmKG0/LmlkPT09VSlDKHsuLi5tLHRodW1iOmBkYXRhOmltYWdlL3BuZztiYXNlNjQsJHtqfWB9LEkkKG0pKX19Y2F0Y2h7fX1jYXRjaCh3KXtDKHtpZDpVLHN0YXR1czoiZXJyb3IiLHBoYXNlOiJpbiIsbWVzc2FnZTp3IGluc3RhbmNlb2YgRXJyb3I/dy5tZXNzYWdlOiJTY3JlZW5zaG90IGZhaWxlZCJ9LEUkKX1maW5hbGx5e2NsZWFyVGltZW91dChrKSxxLmN1cnJlbnQ9ITF9fSxbJCxDXSkscmV2ZWFsOk4sZGlzbWlzczpCfX1mdW5jdGlvbiBTJCh7ZGVmYXVsdFdpZHRoOiQsdmlld3BvcnRXaWR0aDpKLHZpZXdwb3J0SGVpZ2h0OlEsYXNwZWN0UmF0aW86WixyZXNlcnZlZEZvckNocm9tZTpLPXQ1LG9uU3RhcnQ6WX0pe2xldCBxPUUzKCksW0csQl09QSghMSksW04sTF09QSghMSksW1Ysel09QSghMSksQz1EKG51bGwpLE09RChbXSksVT1EKG51bGwpLEg9RChudWxsKSxPPUQobnVsbCksaz1EKG51bGwpLHc9SSgoKT0+e2lmKHR5cGVvZiB3aW5kb3c+InUiKXJldHVybiAkO2xldCBTPU5hTjt0cnl7bGV0IG89d2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKFc4KTtTPW8hPW51bGw/TnVtYmVyKG8pOk5hTn1jYXRjaHt9cmV0dXJuIEo0KCQsSixRLFosUyxLKX0sW1osJCxLLFEsSl0pLFA9YjEoKCk9PncoKSxbd10pLFt4LEZdPUEoUCksYz1EKFApLGo9RCgkKSxtPUQ4KCQsSixRLFosSykscz1NYXRoLm1pbih2NixtKSxyPXg/PyQsaT1OMihyLCQsSixRLFosSyksWjE9SSgoUyk9PntsZXQgbz1WMChTKTtjLmN1cnJlbnQ9byxGKG8pfSxbXSksaD1JKChTKT0+e2lmKHR5cGVvZiB3aW5kb3c+InUifHwkPD0wKXJldHVybjtsZXQgbz1OMihTLCQsSixRLFosSyk7dHJ5e3dpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShXOCxTdHJpbmcoby8kKSl9Y2F0Y2h7fX0sW1osJCxLLFEsSl0pLEsxPUkoKFMpPT57aWYoTy5jdXJyZW50IT1udWxsKWNsZWFyVGltZW91dChPLmN1cnJlbnQpO08uY3VycmVudD1zZXRUaW1lb3V0KCgpPT57Ty5jdXJyZW50PW51bGwsaChTKX0sdDYpfSxbaF0pO0UoKCk9PntpZihHfHxOKXJldHVybjtsZXQgUz1jLmN1cnJlbnQ7aWYoUz09bnVsbClyZXR1cm47bGV0IG89TjIoUywkLEosUSxaLEspO2lmKG8hPT1TKVoxKG8pfSxbWiwkLE4sRyxLLFEsSixaMV0pLEUoKCk9PntpZihqLmN1cnJlbnQ9PT0kKXJldHVybjtqLmN1cnJlbnQ9JCxaMSh3KCkpfSxbJCx3LFoxXSksRSgoKT0+e2lmKCFHJiYhTilyZXR1cm47bGV0IFM9ZG9jdW1lbnQuYm9keS5zdHlsZS5jdXJzb3Isbz1kb2N1bWVudC5ib2R5LnN0eWxlLnVzZXJTZWxlY3QsbD1kb2N1bWVudC5ib2R5LnN0eWxlLndlYmtpdFVzZXJTZWxlY3Q7cmV0dXJuIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yPSJud3NlLXJlc2l6ZSIsZG9jdW1lbnQuYm9keS5zdHlsZS51c2VyU2VsZWN0PSJub25lIixkb2N1bWVudC5ib2R5LnN0eWxlLndlYmtpdFVzZXJTZWxlY3Q9Im5vbmUiLCgpPT57ZG9jdW1lbnQuYm9keS5zdHlsZS5jdXJzb3I9Uyxkb2N1bWVudC5ib2R5LnN0eWxlLnVzZXJTZWxlY3Q9byxkb2N1bWVudC5ib2R5LnN0eWxlLndlYmtpdFVzZXJTZWxlY3Q9bH19LFtHLE5dKSxFKCgpPT57aWYodHlwZW9mIHdpbmRvdz4idSIpcmV0dXJuO2xldCBTPSgpPT57bGV0IGw9Yy5jdXJyZW50O2lmKGw9PW51bGwpcmV0dXJuO2lmKE8uY3VycmVudCE9bnVsbCljbGVhclRpbWVvdXQoTy5jdXJyZW50KSxPLmN1cnJlbnQ9bnVsbDtoKGwpfSxvPSgpPT57aWYoZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlPT09ImhpZGRlbiIpUygpfTtyZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VoaWRlIixTKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIixvKSwoKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJwYWdlaGlkZSIsUyksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsbyl9fSxbaF0pO2xldCB2PUkoKFMpPT57aWYoUz5tKXJldHVybiBtK184KFMtbSxtKTtpZihTPHMpcmV0dXJuIHMtXzgocy1TLG0pO3JldHVybiBTfSxbbSxzXSksejE9SSgoKT0+e2lmKEguY3VycmVudClILmN1cnJlbnQoKSxILmN1cnJlbnQ9bnVsbDtMKCExKX0sW10pLEgxPUkoKFMpPT57bGV0IG89cGVyZm9ybWFuY2Uubm93KCksbD1NLmN1cnJlbnQ7bC5wdXNoKHt0Om8seDpTfSk7d2hpbGUobC5sZW5ndGg+MSYmby1sWzBdLnQ+czYpbC5zaGlmdCgpfSxbXSksVjE9SSgoUyk9PntsZXQgbz12KFMpO2lmKFUuY3VycmVudCE9bnVsbCljYW5jZWxBbmltYXRpb25GcmFtZShVLmN1cnJlbnQpO1UuY3VycmVudD1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntVLmN1cnJlbnQ9bnVsbCxaMShvKSxIMShvKX0pfSxbdixIMSxaMV0pLGU9SSgoUyxvLGwpPT57ejEoKTtsZXQgVzE9Yy5jdXJyZW50Pz8kO0MuY3VycmVudD17cG9pbnRlcklkOlMsc3RhcnRYOm8sc3RhcnRZOmwsc3RhcnRXaWR0aDpXMX0sTS5jdXJyZW50PVt7dDpwZXJmb3JtYW5jZS5ub3coKSx4OlcxfV0sWSgpLEIoITApfSxbejEsJCxZXSksYT1JKCgpPT57bGV0IFM9Qy5jdXJyZW50O2lmKEMuY3VycmVudD1udWxsLFUuY3VycmVudCE9bnVsbCljYW5jZWxBbmltYXRpb25GcmFtZShVLmN1cnJlbnQpLFUuY3VycmVudD1udWxsO2lmKFMmJlMucG9pbnRlcklkPj0wKXtsZXQgTzE9ay5jdXJyZW50O2lmKE8xPy5oYXNQb2ludGVyQ2FwdHVyZShTLnBvaW50ZXJJZCkpTzEucmVsZWFzZVBvaW50ZXJDYXB0dXJlKFMucG9pbnRlcklkKX1CKCExKTtsZXQgbz1jLmN1cnJlbnQ/PyQsbD1YNChNLmN1cnJlbnQpO00uY3VycmVudD1bXTtsZXQgVzE9TjIobytsKmE2LCQsSixRLFosSyksRDE9VjAoUTQoVzEsWyRdLGk2KSkseTE9TWF0aC5hYnMoby1EMSk8MC41JiZNYXRoLmFicyhsKTw4O2lmKHF8fHkxKXtaMShEMSksSzEoRDEpO3JldHVybn1MKCEwKSxILmN1cnJlbnQ9WjQoe2Zyb206byx0bzpEMSx2ZWxvY2l0eTpsLHN0aWZmbmVzczpuNixkYW1waW5nOnI2LG9uVXBkYXRlOloxLG9uQ29tcGxldGU6KCk9PntILmN1cnJlbnQ9bnVsbCxMKCExKSxLMShEMSl9fSl9LFtaLCQscSxLLEsxLFEsSixaMV0pO0UoKCk9PntyZXR1cm4oKT0+e2lmKHoxKCksVS5jdXJyZW50IT1udWxsKWNhbmNlbEFuaW1hdGlvbkZyYW1lKFUuY3VycmVudCk7aWYoTy5jdXJyZW50IT1udWxsKXtpZihjbGVhclRpbWVvdXQoTy5jdXJyZW50KSxjLmN1cnJlbnQhPW51bGwpaChjLmN1cnJlbnQpfX19LFt6MSxoXSksRSgoKT0+e2lmKCFHKXJldHVybjtsZXQgUz0oKT0+YSgpLG89KCk9PntpZihkb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT0iaGlkZGVuIilhKCl9LGw9KFcxKT0+e2xldCBEMT1DLmN1cnJlbnQ7aWYoIUQxfHxEMS5wb2ludGVySWQhPT1XMS5wb2ludGVySWQpcmV0dXJuO1cxLnByZXZlbnREZWZhdWx0KCksVjEoeSQoRDEsVzEuY2xpZW50WCxXMS5jbGllbnRZLFopKX07cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJibHVyIixTKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcm1vdmUiLGwse2NhcHR1cmU6ITAscGFzc2l2ZTohMX0pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVydXAiLFMsITApLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyY2FuY2VsIixTLCEwKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIixvKSwoKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJibHVyIixTKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcm1vdmUiLGwsITApLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVydXAiLFMsITApLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVyY2FuY2VsIixTLCEwKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIixvKX19LFtaLGEsRyxWMV0pO2xldCBZMT1JKChTKT0+e2xldCBvPUMuY3VycmVudDtpZighb3x8by5wb2ludGVySWQhPT1TLnBvaW50ZXJJZClyZXR1cm47Uy5wcmV2ZW50RGVmYXVsdCgpLFMuc3RvcFByb3BhZ2F0aW9uKCksYSgpfSxbYV0pLFI9SSgoUyk9PntpZihTLmJ1dHRvbiE9PTApcmV0dXJuO1MucHJldmVudERlZmF1bHQoKSxTLnN0b3BQcm9wYWdhdGlvbigpLFMuY3VycmVudFRhcmdldC5zZXRQb2ludGVyQ2FwdHVyZShTLnBvaW50ZXJJZCksZShTLnBvaW50ZXJJZCxTLmNsaWVudFgsUy5jbGllbnRZKX0sW2VdKSx1PUkoKFMpPT57bGV0IG89Qy5jdXJyZW50O2lmKCFvfHxvLnBvaW50ZXJJZCE9PVMucG9pbnRlcklkKXJldHVybjtTLnByZXZlbnREZWZhdWx0KCksVjEoeSQobyxTLmNsaWVudFgsUy5jbGllbnRZLFopKX0sW1osVjFdKSxwPUkoKFMpPT57bGV0IG89Uy5rZXk9PT0iQXJyb3dSaWdodCJ8fFMua2V5PT09IkFycm93RG93biI/MTpTLmtleT09PSJBcnJvd0xlZnQifHxTLmtleT09PSJBcnJvd1VwIj8tMTowO2lmKG89PT0wKXJldHVybjtTLnByZXZlbnREZWZhdWx0KCksejEoKTtsZXQgbD1TLnNoaWZ0S2V5PzgwOjI0LFcxPVYwKE4yKGkrbypsLCQsSixRLFosSykpO1oxKFcxKSxLMShXMSl9LFtaLHoxLGksJCxLMSxRLEosSyxaMV0pO3JldHVybntoYW5kbGVSZWY6ayx3aWR0aDpHfHxOP3I6aSxjb21taXR0ZWRXaWR0aDppLG1pbldpZHRoOnMsbWF4V2lkdGg6bSxpc1Jlc2l6aW5nOkcsaXNJbmVydGlhOk4saGFuZGxlSG92ZXJlZDpWLGhhbmRsZUFjdGl2ZTpWfHxHfHxOLHNldEhhbmRsZUhvdmVyZWQ6eixvblBvaW50ZXJEb3duOlIsb25Qb2ludGVyTW92ZTp1LG9uUG9pbnRlckVuZDpZMSxvbktleURvd246cH19ZnVuY3Rpb24geSQoJCxKLFEsWil7bGV0IEs9Si0kLnN0YXJ0WCxZPShRLSQuc3RhcnRZKSpaO3JldHVybiAkLnN0YXJ0V2lkdGgrKE1hdGguYWJzKEspPj1NYXRoLmFicyhZKT9LOlkpfWZ1bmN0aW9uIHgkKCQsSixRLFosSyxZLHEpe2xldCBHPUQobnVsbCk7YjAoKCk9PntsZXQgQj0kLmN1cnJlbnQ7aWYoIUIpcmV0dXJuO2xldCBOPUIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksTD1HLmN1cnJlbnQ7aWYoRy5jdXJyZW50PU4sIUp8fEw9PW51bGwpcmV0dXJuO2lmKEwud2lkdGg8MXx8Ti53aWR0aDwxfHxMLmhlaWdodDwxfHxOLmhlaWdodDwxKXJldHVybjtsZXQgVj1MLmxlZnQtTi5sZWZ0LHo9TC50b3AtTi50b3AsQz1MLndpZHRoL04ud2lkdGgsTT1MLmhlaWdodC9OLmhlaWdodDtpZihNYXRoLmFicyhWKTwwLjUmJk1hdGguYWJzKHopPDAuNSYmTWF0aC5hYnMoQy0xKTwwLjAwMiYmTWF0aC5hYnMoTS0xKTwwLjAwMilyZXR1cm47aWYod2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIikubWF0Y2hlcylyZXR1cm47Qi5zdHlsZS50cmFuc2l0aW9uPSJub25lIixCLnN0eWxlLnRyYW5zZm9ybU9yaWdpbj0iMCAwIixCLnN0eWxlLnRyYW5zZm9ybT1gdHJhbnNsYXRlKCR7Vn1weCwgJHt6fXB4KSBzY2FsZSgke0N9LCAke019KWAsQi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtsZXQgVT1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntCLnN0eWxlLnRyYW5zaXRpb249JDMsQi5zdHlsZS50cmFuc2Zvcm09InRyYW5zbGF0ZSgwcHgsIDBweCkgc2NhbGUoMSwgMSkifSksSD0oKT0+e0Iuc3R5bGUudHJhbnNpdGlvbj0iIixCLnN0eWxlLnRyYW5zZm9ybT0iIixCLnN0eWxlLnRyYW5zZm9ybU9yaWdpbj0iIn0sTz0oayk9PntpZihrLnRhcmdldCE9PUJ8fGsucHJvcGVydHlOYW1lIT09InRyYW5zZm9ybSIpcmV0dXJuO0IucmVtb3ZlRXZlbnRMaXN0ZW5lcigidHJhbnNpdGlvbmVuZCIsTyksSCgpfTtyZXR1cm4gQi5hZGRFdmVudExpc3RlbmVyKCJ0cmFuc2l0aW9uZW5kIixPKSwoKT0+e2NhbmNlbEFuaW1hdGlvbkZyYW1lKFUpLEIucmVtb3ZlRXZlbnRMaXN0ZW5lcigidHJhbnNpdGlvbmVuZCIsTyksSCgpfX0sW0osWixRLFksJCxxLEtdKX1mdW5jdGlvbiBqJCgpe2xldCAkPUQobmV3IE1hcCksSj1EKG5ldyBNYXApLFE9SSgoRyk9PntsZXQgQj1KLmN1cnJlbnQuZ2V0KEcpO2lmKEIpY2xlYXJUaW1lb3V0KEIpO0ouY3VycmVudC5kZWxldGUoRyl9LFtdKSxaPUkoKEcsQj0xLzApPT57VDUuY3VzdG9tKCgpPT5YKE83LHt0b2FzdDpHfSkse2lkOkcuaWQsZHVyYXRpb246Qn0pfSxbXSksSz1JKChHLEIpPT57bGV0IE49Y3J5cHRvLnJhbmRvbVVVSUQoKSxMPXtpZDpOLG5hbWU6RyxraW5kOkIsc3RhdHVzOiJ1cGxvYWRpbmciLHByb2dyZXNzOjB9O3JldHVybiAkLmN1cnJlbnQuc2V0KE4sTCksWihMKSxOfSxbWl0pLFk9SSgoRyxCKT0+e2xldCBOPSQuY3VycmVudC5nZXQoRyk7aWYoIU4pcmV0dXJuO1EoRyk7bGV0IEw9ey4uLk4sLi4uQn07aWYoJC5jdXJyZW50LnNldChHLEwpLFooTCxCLnN0YXR1cz09PSJzdWNjZXNzInx8Qi5zdGF0dXM9PT0iZXJyb3IiPzMwMDA6MS8wKSxCLnN0YXR1cz09PSJzdWNjZXNzInx8Qi5zdGF0dXM9PT0iZXJyb3IiKXtsZXQgVj1zZXRUaW1lb3V0KCgpPT57JC5jdXJyZW50LmRlbGV0ZShHKSxKLmN1cnJlbnQuZGVsZXRlKEcpfSwzMDAwKTtKLmN1cnJlbnQuc2V0KEcsVil9fSxbUSxaXSkscT1JKChHLEIpPT57bGV0IE49JC5jdXJyZW50LmdldChHKTtpZighTilyZXR1cm47bGV0IEw9ey4uLk4scHJvZ3Jlc3M6Qn07JC5jdXJyZW50LnNldChHLEwpLFooTCl9LFtaXSk7cmV0dXJue2FkZDpLLHVwZGF0ZTpZLHNldFByb2dyZXNzOnF9fWZ1bmN0aW9uIHYkKCQsSil7bGV0W1EsWl09QShbXSksW0ssWV09QShudWxsKSxbcSxHXT1BKCExKSxCPUkoYXN5bmMoKT0+e2lmKCEkKXJldHVybjtHKCEwKSxZKG51bGwpO3RyeXtsZXQgTj1hd2FpdCBmZXRjaCgkLHtjYWNoZToibm8tc3RvcmUifSksTD1hd2FpdCBOLmpzb24oKTtpZighTi5va3x8TC5lcnJvcil0aHJvdyBFcnJvcihMLmVycm9yfHwiRmFpbGVkIHRvIGxpc3QgV2ViS2l0IHRhcmdldHMiKTtsZXQgVj10eXBlb2Ygd2luZG93PiJ1Ij9udWxsOndpbmRvdy5sb2NhdGlvbix6PUwudGFyZ2V0cz8/W107WihWP3oubWFwKChDKT0+TiQoQyxWKSk6eil9Y2F0Y2goTil7WShOIGluc3RhbmNlb2YgRXJyb3I/Ti5tZXNzYWdlOiJGYWlsZWQgdG8gc3RhcnQgV2ViS2l0IERldlRvb2xzIil9ZmluYWxseXtHKCExKX19LFskXSk7cmV0dXJuIEUoKCk9PntpZighSilyZXR1cm47QigpO2xldCBOPXNldEludGVydmFsKCgpPT52b2lkIEIoKSwyNTAwKTtyZXR1cm4oKT0+Y2xlYXJJbnRlcnZhbChOKX0sW0osQl0pLHt0YXJnZXRzOlEsZXJyb3I6Syxsb2FkaW5nOnEscmVmcmVzaDpCfX12YXIgS1k9NjAsWVk9MTAwMCxxWT02MDAwMDtmdW5jdGlvbiBSJCgkLEope2xldCBRPW5ldyBVUkwoJCx3aW5kb3cubG9jYXRpb24uaHJlZik7Zm9yKGxldFtaLEtdb2YgT2JqZWN0LmVudHJpZXMoSikpaWYoSz09bnVsbHx8Sz09PSIiKVEuc2VhcmNoUGFyYW1zLmRlbGV0ZShaKTtlbHNlIFEuc2VhcmNoUGFyYW1zLnNldChaLFN0cmluZyhLKSk7cmV0dXJuYCR7US5wYXRobmFtZX0ke1Euc2VhcmNofWB9ZnVuY3Rpb24gaCQoJCxKLFEsWixLPUtZKXtsZXRbWSxxXT1BKG51bGwpLFtHLEJdPUEoW10pLFtOLExdPUEoMCksW1Ysel09QShLKSxbQyxNXT1BKDApLFU9RChaKTtVLmN1cnJlbnQ9WixFKCgpPT57aWYoIVF8fCEkKXJldHVybjtsZXQgRj0hMSxjPWFzeW5jKCk9Pnt0cnl7bGV0IHM9YXdhaXQoYXdhaXQgZmV0Y2goUiQoJCx7bGltaXQ6VixvZmZzZXQ6MCxkZXZpY2U6VS5jdXJyZW50fSkpKS5qc29uKCk7aWYoRilyZXR1cm47aWYocShzLmRldmljZXM/P1tdKSx0eXBlb2Ygcy50b3RhbD09PSJudW1iZXIiKUwocy50b3RhbCl9Y2F0Y2h7aWYoIUYpcShbXSl9fTtjKCk7bGV0IGo9c2V0SW50ZXJ2YWwoYyxxWSk7cmV0dXJuKCk9PntGPSEwLGNsZWFySW50ZXJ2YWwoail9fSxbJCxRLEMsVl0pLEUoKCk9PntpZighUXx8IUopcmV0dXJuO2xldCBGPVMwKFIkKEose2RldmljZTpafSkpO3JldHVybiBGLm9ubWVzc2FnZT0oYyk9Pnt0cnl7bGV0IGo9SlNPTi5wYXJzZShjLmRhdGEpO2lmKEFycmF5LmlzQXJyYXkoai5zdGF0dXNlcykpQihqLnN0YXR1c2VzKX1jYXRjaHt9fSwoKT0+Ri5jbG9zZSgpfSxbUSxaLEpdKTtsZXQgSD1EKCIiKTtFKCgpPT57aWYoIVl8fCFqNChZLEcsVikpe0guY3VycmVudD0iIjtyZXR1cm59bGV0IEY9Ry5zbGljZSgwLFYpLm1hcCgoYyk9PmMuZGV2aWNlKS5qb2luKCIsIik7aWYoRj09PUguY3VycmVudClyZXR1cm47SC5jdXJyZW50PUYsTSgoYyk9PmMrMSl9LFtZLEcsVl0pO2xldCBPPWIxKCgpPT5ZPT09bnVsbD9udWxsOng0KFksRyksW1ksR10pLGs9SSgoKT0+eigoRik9PkYrSyksW0tdKSx3PUkoKCk9PnooWVkpLFtdKSxQPUkoKCk9PnooSyksW0tdKSx4PU4+KE8/Lmxlbmd0aD8/MCk7cmV0dXJue2RldmljZXM6Tyx0b3RhbDpOLGxvYWRNb3JlOmssbG9hZEFsbDp3LHJlc2V0UGFnZTpQLGhhc01vcmU6eH19dmFyIGckPXttanBlZ0Zwczo2MCxtanBlZ1F1YWxpdHk6MC43LG1heERpbWVuc2lvbjowLGgyNjRCaXRyYXRlOjYwMDAwMDAsaDI2NEZwczo2MH0sR1k9e3RyYW5zcG9ydDoiaHR0cCIsaHR0cENvZGVjOiJhdXRvIix3ZWJSdGNDb2RlYzoiaDI2NCIsLi4uZyR9O2Z1bmN0aW9uIFZZKCQpe3JldHVybiB0eXBlb2YgJD09PSJudW1iZXIiJiZOdW1iZXIuaXNGaW5pdGUoJCk/JDpudWxsfWZ1bmN0aW9uIGYkKCQsSixRLFope2xldCBLPVZZKCQpO3JldHVybiBLPT1udWxsP0o6TWF0aC5taW4oWixNYXRoLm1heChRLEspKX1mdW5jdGlvbiBwMygkLEosUSxaKXtyZXR1cm4gTWF0aC5yb3VuZChmJCgkLEosUSxaKSl9ZnVuY3Rpb24gQlkoJCl7aWYoIUFycmF5LmlzQXJyYXkoJCl8fCQubGVuZ3RoPjE2KXJldHVybiBudWxsO2xldCBKPVtdO2ZvcihsZXQgUSBvZiAkKXtpZighUXx8dHlwZW9mIFEhPT0ib2JqZWN0IilyZXR1cm4gbnVsbDtsZXQgWj1RLnVybHM7aWYoIUFycmF5LmlzQXJyYXkoWil8fFoubGVuZ3RoPT09MHx8Wi5sZW5ndGg+MTZ8fCFaLmV2ZXJ5KChxKT0+dHlwZW9mIHE9PT0ic3RyaW5nIiYmcS5sZW5ndGg8PTIwNDgmJi9eKHN0dW58c3R1bnN8dHVybnx0dXJucyk6L2kudGVzdChxKSkpcmV0dXJuIG51bGw7bGV0e3VzZXJuYW1lOkssY3JlZGVudGlhbDpZfT1RO2lmKEshPT12b2lkIDAmJnR5cGVvZiBLIT09InN0cmluZyIpcmV0dXJuIG51bGw7aWYoWSE9PXZvaWQgMCYmdHlwZW9mIFkhPT0ic3RyaW5nIilyZXR1cm4gbnVsbDtKLnB1c2goe3VybHM6WiwuLi50eXBlb2YgSz09PSJzdHJpbmciP3t1c2VybmFtZTpLfTp7fSwuLi50eXBlb2YgWT09PSJzdHJpbmciP3tjcmVkZW50aWFsOll9Ont9fSl9cmV0dXJuIEp9ZnVuY3Rpb24gVjkoJD17fSxKPUdZKXtsZXQgWj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoJCwiaWNlU2VydmVycyIpP0JZKCQuaWNlU2VydmVycyk6Si5pY2VTZXJ2ZXJzLEs9Wj09PW51bGw/Si5pY2VTZXJ2ZXJzOlomJloubGVuZ3RoPjA/Wjp2b2lkIDA7cmV0dXJue3RyYW5zcG9ydDokLnRyYW5zcG9ydD09PSJodHRwInx8JC50cmFuc3BvcnQ9PT0id2VicnRjIj8kLnRyYW5zcG9ydDpKLnRyYW5zcG9ydCxodHRwQ29kZWM6JC5odHRwQ29kZWM9PT0iYXV0byJ8fCQuaHR0cENvZGVjPT09Im1qcGVnInx8JC5odHRwQ29kZWM9PT0iaDI2NCI/JC5odHRwQ29kZWM6Si5odHRwQ29kZWMsd2ViUnRjQ29kZWM6JC53ZWJSdGNDb2RlYz09PSJ2cDgifHwkLndlYlJ0Y0NvZGVjPT09InZwOSJ8fCQud2ViUnRjQ29kZWM9PT0iaDI2NCI/JC53ZWJSdGNDb2RlYzpKLndlYlJ0Y0NvZGVjLC4uLks/e2ljZVNlcnZlcnM6S306e30sLi4uajUoJCxKKX19ZnVuY3Rpb24gajUoJD17fSxKPWckKXtyZXR1cm57bWpwZWdGcHM6cDMoJC5tanBlZ0ZwcyxKLm1qcGVnRnBzLDEsMTIwKSxtanBlZ1F1YWxpdHk6ZiQoJC5tanBlZ1F1YWxpdHksSi5tanBlZ1F1YWxpdHksMC4wNSwxKSxtYXhEaW1lbnNpb246cDMoJC5tYXhEaW1lbnNpb24sSi5tYXhEaW1lbnNpb24sMCw0MDk2KSxoMjY0Qml0cmF0ZTpwMygkLmgyNjRCaXRyYXRlLEouaDI2NEJpdHJhdGUsMWU1LDUwMDAwMDAwKSxoMjY0RnBzOnAzKCQuaDI2NEZwcyxKLmgyNjRGcHMsMSwxNDApfX1mdW5jdGlvbiB2NSgkKXtyZXR1cm57bWpwZWdGcHM6JC5tanBlZ0ZwcyxtanBlZ1F1YWxpdHk6JC5tanBlZ1F1YWxpdHksbWF4RGltZW5zaW9uOiQubWF4RGltZW5zaW9uLGgyNjRCaXRyYXRlOiQuaDI2NEJpdHJhdGUsaDI2NEZwczokLmgyNjRGcHN9fWZ1bmN0aW9uIG0kKCQpe3JldHVybiAkPy50cmFuc3BvcnQ9PT0id2VicnRjIn1mdW5jdGlvbiBwJCgkKXtsZXQgSj0kP3ttanBlZ0ZwczokLm1qcGVnRnBzLG1qcGVnUXVhbGl0eTokLm1qcGVnUXVhbGl0eSxtYXhEaW1lbnNpb246JC5tYXhEaW1lbnNpb24saDI2NEJpdHJhdGU6JC5oMjY0Qml0cmF0ZSxoMjY0RnBzOiQuaDI2NEZwc306e307aWYoJD8udHJhbnNwb3J0PT09IndlYnJ0YyIpcmV0dXJuIFY5KHt0cmFuc3BvcnQ6IndlYnJ0YyIsd2ViUnRjQ29kZWM6JC5jb2RlYyxpY2VTZXJ2ZXJzOiQuaWNlU2VydmVycywuLi5KfSk7cmV0dXJuIFY5KHt0cmFuc3BvcnQ6Imh0dHAiLGh0dHBDb2RlYzokPy5jb2RlYz8/ImF1dG8iLC4uLkp9KX1mdW5jdGlvbiB1MygkLEope3JldHVybiBWOSh7Li4uJCwuLi5KfSwkKX1mdW5jdGlvbiB1JCgkLEosUT0hMSl7aWYoIVEpcmV0dXJuIHUzKCQsSik7bGV0IFo9e307aWYoSi53ZWJSdGNDb2RlYyE9PXZvaWQgMClaLndlYlJ0Y0NvZGVjPUoud2ViUnRjQ29kZWM7aWYoSi5pY2VTZXJ2ZXJzIT09dm9pZCAwKVouaWNlU2VydmVycz1KLmljZVNlcnZlcnM7aWYoT2JqZWN0LmtleXMoWikubGVuZ3RoPT09MClyZXR1cm4gJDtyZXR1cm4gdTMoJCx7Li4uWix0cmFuc3BvcnQ6IndlYnJ0YyJ9KX1mdW5jdGlvbiBSNSgkLEope2xldCBRPXY1KCQpLFo9ajUoey4uLlEsLi4uSn0sUSk7aWYoWi5tanBlZ0Zwcz09PVEubWpwZWdGcHMmJloubWpwZWdRdWFsaXR5PT09US5tanBlZ1F1YWxpdHkmJloubWF4RGltZW5zaW9uPT09US5tYXhEaW1lbnNpb24mJlouaDI2NEJpdHJhdGU9PT1RLmgyNjRCaXRyYXRlJiZaLmgyNjRGcHM9PT1RLmgyNjRGcHMpcmV0dXJuICQ7cmV0dXJuey4uLiQsLi4uWn19dmFyIGQkPSJzZXJ2ZS1zaW06Y29kZWMiLE5ZPTMwMDA7ZnVuY3Rpb24gbCQoJCl7bGV0IEo9cCQoJCk7aWYoSi50cmFuc3BvcnQhPT0iaHR0cCJ8fEouaHR0cENvZGVjIT09ImF1dG8iKXJldHVybiBKO3RyeXtsZXQgUT13aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oZCQpO2lmKFE9PT0iYXV0byJ8fFE9PT0ibWpwZWcifHxRPT09ImgyNjQiKXJldHVybiB1MyhKLHtodHRwQ29kZWM6UX0pfWNhdGNoe31yZXR1cm4gSn1mdW5jdGlvbiBjJCh7ZGV2aWNlOiQsZW5kcG9pbnQ6Sixpbml0aWFsU2V0dGluZ3M6UX0pe2xldCBaPW0kKFEpLFtLLFldPUEoKCk9PmwkKFEpKSxbcSxHXT1BKCExKSxCPUQoSyksTj1EKCExKSxMPUQoMCksVj1EKG51bGwpLHo9RChudWxsKTtFKCgpPT57KytMLmN1cnJlbnQ7bGV0IFU9bCQoUSk7aWYoVi5jdXJyZW50Py5hYm9ydCgpLHouY3VycmVudD8uYWJvcnQoKSxWLmN1cnJlbnQ9bnVsbCx6LmN1cnJlbnQ9bnVsbCxCLmN1cnJlbnQ9VSxOLmN1cnJlbnQ9ITEsWShVKSxHKCExKSwhSilyZXR1cm47bGV0IEg9ITEsTz0hMSxrPWFzeW5jKCk9PntpZihIfHxOLmN1cnJlbnR8fFYuY3VycmVudClyZXR1cm47bGV0IHg9KytMLmN1cnJlbnQsRj1uZXcgQWJvcnRDb250cm9sbGVyO1YuY3VycmVudD1GO3RyeXtsZXQgYz1hd2FpdCBmZXRjaChKLHtjYWNoZToibm8tc3RvcmUiLHNpZ25hbDpGLnNpZ25hbH0pO2lmKCFjLm9rKXRocm93IEVycm9yKGBTdHJlYW0gc2V0dGluZ3MgcmVxdWVzdCBmYWlsZWQgKCR7Yy5zdGF0dXN9KWApO2xldCBqPWo1KGF3YWl0IGMuanNvbigpLHY1KEIuY3VycmVudCkpO2lmKCFGLnNpZ25hbC5hYm9ydGVkJiZMLmN1cnJlbnQ9PT14KXtsZXQgbT1CLmN1cnJlbnQscz1SNShtLGopO2lmKHMhPT1tKUIuY3VycmVudD1zLFkocyl9Tz0hMX1jYXRjaChjKXtpZighRi5zaWduYWwuYWJvcnRlZCYmIU8pTz0hMCxjb25zb2xlLndhcm4oIkZhaWxlZCB0byBsb2FkIHN0cmVhbSBzZXR0aW5ncyIsYyl9ZmluYWxseXtpZihWLmN1cnJlbnQ9PT1GKVYuY3VycmVudD1udWxsfX07aygpO2xldCB3PSgpPT57aWYodHlwZW9mIGRvY3VtZW50PiJ1Inx8ZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlIT09ImhpZGRlbiIpaygpfSxQPXNldEludGVydmFsKHcsTlkpO2lmKHR5cGVvZiB3aW5kb3c8InUiKXdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsdyk7aWYodHlwZW9mIGRvY3VtZW50PCJ1Iilkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIix3KTtyZXR1cm4oKT0+e2lmKEg9ITAsY2xlYXJJbnRlcnZhbChQKSx0eXBlb2Ygd2luZG93PCJ1Iil3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXMiLHcpO2lmKHR5cGVvZiBkb2N1bWVudDwidSIpZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsdyk7Vi5jdXJyZW50Py5hYm9ydCgpLHouY3VycmVudD8uYWJvcnQoKSxWLmN1cnJlbnQ9bnVsbCx6LmN1cnJlbnQ9bnVsbH19LFskLEosUV0pO2xldCBDPUkoKFUpPT57aWYoIVomJlUuaHR0cENvZGVjIT09dm9pZCAwKXRyeXt3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0oZCQsVS5odHRwQ29kZWMpfWNhdGNoe31sZXQgSD11JChCLmN1cnJlbnQsVSxaKTtpZihIPT09Qi5jdXJyZW50KXJldHVybjtCLmN1cnJlbnQ9SCxZKEgpfSxbWl0pLE09SSgoVSk9PntpZighSnx8Ti5jdXJyZW50fHxPYmplY3Qua2V5cyhVKS5sZW5ndGg9PT0wKXJldHVybjtsZXQgSD1CLmN1cnJlbnQsTz1SNShILFUpO0IuY3VycmVudD1PLFkoTyksVi5jdXJyZW50Py5hYm9ydCgpLFYuY3VycmVudD1udWxsO2xldCBrPSsrTC5jdXJyZW50LHc9bmV3IEFib3J0Q29udHJvbGxlcjt6LmN1cnJlbnQ9dyxOLmN1cnJlbnQ9ITAsRyghMCksZmV0Y2goSix7bWV0aG9kOiJQQVRDSCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxib2R5OkpTT04uc3RyaW5naWZ5KFUpLHNpZ25hbDp3LnNpZ25hbH0pLnRoZW4oYXN5bmMoUCk9PntpZighUC5vayl0aHJvdyBFcnJvcihgU3RyZWFtIHNldHRpbmdzIHVwZGF0ZSBmYWlsZWQgKCR7UC5zdGF0dXN9KWApO2xldCB4PWo1KGF3YWl0IFAuanNvbigpLHY1KE8pKTtpZighdy5zaWduYWwuYWJvcnRlZCYmTC5jdXJyZW50PT09ayl7bGV0IEY9UjUoQi5jdXJyZW50LHgpO0IuY3VycmVudD1GLFkoRil9fSkuY2F0Y2goKFApPT57aWYody5zaWduYWwuYWJvcnRlZClyZXR1cm47aWYoY29uc29sZS53YXJuKCJGYWlsZWQgdG8gdXBkYXRlIHN0cmVhbSBzZXR0aW5ncyIsUCksTC5jdXJyZW50PT09ayl7bGV0IHg9UjUoQi5jdXJyZW50LHY1KEgpKTtCLmN1cnJlbnQ9eCxZKHgpfX0pLmZpbmFsbHkoKCk9PntpZih6LmN1cnJlbnQ9PT13KXouY3VycmVudD1udWxsO2lmKCF3LnNpZ25hbC5hYm9ydGVkJiZMLmN1cnJlbnQ9PT1rKU4uY3VycmVudD0hMSxHKCExKX0pfSxbSl0pO3JldHVybntzZXR0aW5nczpLLHVwZGF0ZVBsYXliYWNrOkMsdXBkYXRlRW5jb2RlcjpNLHBlbmRpbmc6cSx0cmFuc3BvcnRMb2NrZWQ6WixlbmNvZGVyU2V0dGluZ3NBdmFpbGFibGU6ISFKfX12YXIgQjk9e3N0cmVhbWVkOiExLGZlbGxCYWNrOiExfTtmdW5jdGlvbiBvJCgkLEope3N3aXRjaChKKXtjYXNlImRlY29kZWQtZnJhbWUiOnJldHVybiAkLnN0cmVhbWVkPyQ6ey4uLiQsc3RyZWFtZWQ6ITB9O2Nhc2UidGltZW91dCI6cmV0dXJuICQuc3RyZWFtZWR8fCQuZmVsbEJhY2s/JDp7Li4uJCxmZWxsQmFjazohMH07Y2FzZSJlcnJvciI6cmV0dXJuICQuZmVsbEJhY2s/JDp7Li4uJCxmZWxsQmFjazohMH07Y2FzZSJyZXNldCI6cmV0dXJuIEI5fX12YXIgaSQ9NDAwMDt2YXIgTjk9MzIwLG4kPTc2MCxMOT0zMDA7ZnVuY3Rpb24gejkoJCxKKXtpZighJClyZXR1cm4gbnVsbDtpZighJC5kZXZpY2UpcmV0dXJuICQ7aWYoISQucHJveHlIZWxwZXJzKXJldHVybiAkO2xldCBaPWAkeyQuYmFzZVBhdGg9PT0iLyI/IiI6KCQuYmFzZVBhdGg/PyIiKS5yZXBsYWNlKC9cLyskLywiIil9L2hlbHBlci8ke2VuY29kZVVSSUNvbXBvbmVudCgkLmRldmljZSl9YCxLPWAke0oucHJvdG9jb2x9Ly8ke0ouaG9zdH1gLFk9Si5wcm90b2NvbD09PSJodHRwczoiPyJ3c3M6Ijoid3M6IjtyZXR1cm57Li4uJCx1cmw6YCR7S30ke1p9YCxzdHJlYW1Vcmw6YCR7S30ke1p9L3N0cmVhbS5tanBlZ2Asd3NVcmw6YCR7WX0vLyR7Si5ob3N0fSR7Wn0vd3NgLHN0cmVhbVNldHRpbmdzRW5kcG9pbnQ6YCR7S30ke1p9L3N0cmVhbS1zZXR0aW5nc2B9fWZ1bmN0aW9uIHIkKCQpe2xldCBKPW5ldyBVUkxTZWFyY2hQYXJhbXMoJC5zZWFyY2gpLmdldCgibG9ncyIpO2lmKEohPT1udWxsKXJldHVybiBKPT09IjEiO3JldHVybiBqMygkLmhvc3RuYW1lKX12YXIgYSQ9WyJnZXN0dXJlc3RhcnQiLCJnZXN0dXJlY2hhbmdlIiwiZ2VzdHVyZWVuZCJdO2Z1bmN0aW9uIHMkKCQpe0UoKCk9PntpZighJClyZXR1cm47bGV0IEo9KFEpPT5RLnByZXZlbnREZWZhdWx0KCk7Zm9yKGxldCBRIG9mIGEkKWRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoUSxKLHtwYXNzaXZlOiExfSk7cmV0dXJuKCk9Pntmb3IobGV0IFEgb2YgYSQpZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihRLEopfX0sWyRdKX1mdW5jdGlvbiB0JCgkLEope2xldCBRPW5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShKU09OLnN0cmluZ2lmeShKKSksWj1uZXcgVWludDhBcnJheSgxK1EubGVuZ3RoKTtyZXR1cm4gWlswXT0kLFouc2V0KFEsMSksWn1mdW5jdGlvbiBMWSgkLEosUT0zMil7bGV0IFo9Wy4uLiQsSl07cmV0dXJuIFoubGVuZ3RoPlE/Wi5zbGljZShaLmxlbmd0aC1RKTpafWZ1bmN0aW9uIFU5KCQsSixRPURhdGUubm93KCksWj0xNTAwKXtsZXQgSz1KLmZpbHRlcigoWSk9PlEtWS5jcmVhdGVkQXQ8PVopO2lmKCEkfHwkLnJlYWR5U3RhdGUhPT0xKXJldHVybiBLO2ZvcihsZXQgWSBvZiBLKSQuc2VuZCh0JChZLnRhZyxZLnBheWxvYWQpLmJ1ZmZlcik7cmV0dXJuW119ZnVuY3Rpb24gQzkoJCxKLFEsWixLPURhdGUubm93KCkpe2xldCBZPVU5KCQsSixLKTtpZigkPy5yZWFkeVN0YXRlPT09MSlyZXR1cm4gJC5zZW5kKHQkKFEsWikuYnVmZmVyKSxZO3JldHVybiBMWShZLHt0YWc6USxwYXlsb2FkOlosY3JlYXRlZEF0Okt9KX12YXIgelk9e2gyNjQ6WyJoMjY0IiwidnA4IiwidnA5Il0sdnA5OlsidnA5IiwidnA4Il0sdnA4OlsidnA4Il19O2Z1bmN0aW9uIFVZKCQsSil7bGV0IFE9ellbJF0sWj1RLmluZGV4T2YoSik7aWYoWj09PS0xKXJldHVybiBRWzBdPz9udWxsO3JldHVybiBRW1orMV0/P251bGx9ZnVuY3Rpb24gZSQoJCxKLFEpe2lmKFEua2luZD09PSJwZXJtYW5lbnQiKXJldHVybnt0eXBlOiJzd2l0Y2gtdG8taHR0cCJ9O2lmKFEuY29kZWMhPT1KKXJldHVybiBudWxsO2xldCBaPVVZKCQsSik7cmV0dXJuIFomJlohPT1KP3t0eXBlOiJyZXRyeS1jb2RlYyIsY29kZWM6Wn06e3R5cGU6InN3aXRjaC10by1odHRwIn19ZnVuY3Rpb24gJEooJCl7cmV0dXJuICQ/YCR7JC5kZXZpY2V9OiR7JC5waWR9OiR7JC5zdHJlYW1Vcmx9OiR7JC53c1VybH06JHtKU09OLnN0cmluZ2lmeSgkLnN0cmVhbVNldHRpbmdzPz9udWxsKX1gOiIifWZ1bmN0aW9uIENZKCl7bGV0WyQsSl09QSgoKT0+ejkoUTUod2luZG93Ll9fU0lNX1BSRVZJRVdfXyksd2luZG93LmxvY2F0aW9uKSksW1EsWl09QSghMSksW0ssWV09QSgoKT0+e2xldCAkMT1RNSh3aW5kb3cuX19TSU1fUFJFVklFV19fKTtpZigkMSlyZXR1cm4gJDEuZGV2aWNlO3JldHVybiBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpLmdldCgiZGV2aWNlIil9KSxbcSxHXT1BKCExKSxbQixOXT1BKCExKSxbTCxWXT1BKCgpPT50eXBlb2Ygd2luZG93PiJ1Ij8hMDohd2luZG93Lm1hdGNoTWVkaWEoIihwb2ludGVyOiBjb2Fyc2UpIikubWF0Y2hlcyksW3pdPUEoKCk9PnR5cGVvZiB3aW5kb3c+InUiP3tpbml0aWFsOiExLGVtYmVkTG9ja2VkOiExfTpwNCh3aW5kb3cubG9jYXRpb24uc2VhcmNoKSksQz16LmVtYmVkTG9ja2VkLFtNLFVdPUEoei5pbml0aWFsKSxIPUQoTSk7SC5jdXJyZW50PU07bGV0IE89RCghMSksW2ssd109QSh6LmluaXRpYWwpO0UoKCk9PntpZighTSl7dyghMSk7cmV0dXJufWxldCAkMT1zZXRUaW1lb3V0KCgpPT53KCEwKSxlNSk7cmV0dXJuKCk9PmNsZWFyVGltZW91dCgkMSl9LFtNXSk7bGV0W1AseF09QSgoKT0+e2lmKHR5cGVvZiB3aW5kb3c+InUifHx6LmluaXRpYWwpcmV0dXJuITE7cmV0dXJuIHdpbmRvdy5pbm5lcldpZHRoPj1MOSs2NDB9KSx7d2lkdGg6RixvblBvaW50ZXJEb3duOmN9PW0zKCJzZXJ2ZS1zaW06ZGV2aWNlLXNpZGViYXItd2lkdGgiLEw5LDI0MCw2NDAsInJpZ2h0IiksW2osbV09QShudWxsKSxzPXdpbmRvdy5fX1NJTV9QUkVWSUVXX18scj1zPy5ncmlkQ2F0YWxvZ0VuZHBvaW50Pz92MSgiZ3JpZC9hcGkvY2F0YWxvZyIpLGk9cz8uZ3JpZFN0YXR1c0VuZHBvaW50Pz92MSgiZ3JpZC9hcGkvc3RhdHVzIiksWjE9cz8uZ3JpZFN0YXR1c0V2ZW50c0VuZHBvaW50Pz92MSgiZ3JpZC9hcGkvc3RhdHVzL2V2ZW50cyIpLGg9cz8uZ3JpZFN0YXJ0RW5kcG9pbnQ/P3YxKCJncmlkL2FwaS9zdGFydCIpLEsxPXM/LmdyaWRTaHV0ZG93bkVuZHBvaW50Pz92MSgiZ3JpZC9hcGkvc2h1dGRvd24iKSxbdix6MV09QSh7fSksW0gxLFYxXT1BKHt9KSxbZSxhXT1BKHt9KSx7ZGV2aWNlczpZMSx0b3RhbDpSLGxvYWRNb3JlOnUsbG9hZEFsbDpwLHJlc2V0UGFnZTpTLGhhc01vcmU6b309aCQocixaMSwhMCxLKSxsPSEhKEsmJlkxPy5maW5kKCgkMSk9PiQxLmRldmljZT09PUspPy5oZWxwZXIpLFcxPUkoKCQxKT0+e1koJDEpO3RyeXtsZXQgQjE9bmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZik7QjEuc2VhcmNoUGFyYW1zLnNldCgiZGV2aWNlIiwkMSksd2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlKG51bGwsIiIsQjEudG9TdHJpbmcoKSl9Y2F0Y2h7fX0sW10pLEQxPUkoKCk9PntpZihVKCEwKSx4KCExKSwhQylwOCghMCl9LFtDXSkseTE9SSgoKT0+e2lmKEMpcmV0dXJuO1UoITEpLHA4KCExKX0sW0NdKTtFKCgpPT57aWYoQylyZXR1cm47bGV0ICQxPShHMSk9PntpZihHMS5rZXkhPT0iRXNjYXBlIilyZXR1cm47bGV0IEExPXU0KHt0eXBlOkcxLnR5cGU9PT0ia2V5dXAiPyJrZXl1cCI6ImtleWRvd24iLHJlcGVhdDpHMS5yZXBlYXR9LHtwcmVzZW50YXRpb246SC5jdXJyZW50LHN3YWxsb3dpbmc6Ty5jdXJyZW50fSk7aWYoTy5jdXJyZW50PUExLnN3YWxsb3dpbmcsIUExLnN3YWxsb3cpcmV0dXJuO2lmKEcxLnByZXZlbnREZWZhdWx0KCksRzEuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCksQTEuZXhpdCl5MSgpfSxCMT0oKT0+e08uY3VycmVudD0hMX07cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIiwkMSwhMCksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleXVwIiwkMSwhMCksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLEIxKSwoKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIiwkMSwhMCksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleXVwIiwkMSwhMCksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImJsdXIiLEIxKX19LFtDLHkxXSk7bGV0IE8xPUkoYXN5bmMoJDEsQjE9MjAwMDApPT57bGV0IEcxPURhdGUubm93KCkrQjE7d2hpbGUoRGF0ZS5ub3coKTxHMSl7dHJ5e2xldCBBMT1uZXcgVVJMKGksd2luZG93LmxvY2F0aW9uLmhyZWYpO2lmKEExLnNlYXJjaFBhcmFtcy5zZXQoImRldmljZSIsJDEpLCgoYXdhaXQoYXdhaXQgZmV0Y2goQTEse2NhY2hlOiJuby1zdG9yZSJ9KSkuanNvbigpKS5zdGF0dXNlcz8/W10pLnNvbWUoKG0xKT0+bTEuZGV2aWNlPT09JDEmJm0xLmhlbHBlcikpcmV0dXJuITB9Y2F0Y2h7fWF3YWl0IG5ldyBQcm9taXNlKChBMSk9PnNldFRpbWVvdXQoQTEsNDAwKSl9cmV0dXJuITF9LFtpXSksVDA9SShhc3luYygkMSk9Pnt6MSgoQjEpPT4oey4uLkIxLFskMV06ITB9KSksYSgoQjEpPT4oey4uLkIxLFskMV06bnVsbH0pKTt0cnl7bGV0IEIxPWF3YWl0IGZldGNoKGgse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxib2R5OkpTT04uc3RyaW5naWZ5KHt1ZGlkOiQxfSl9KSxHMT1hd2FpdCBCMS5qc29uKCkuY2F0Y2goKCk9Pih7fSkpO2lmKCFCMS5va3x8IUcxLm9rKXthKChBMSk9Pih7Li4uQTEsWyQxXTpHMS5lcnJvcj8/YEhUVFAgJHtCMS5zdGF0dXN9YH0pKTtyZXR1cm59YXdhaXQgTzEoJDEpfWNhdGNoKEIxKXthKChHMSk9Pih7Li4uRzEsWyQxXTpCMT8ubWVzc2FnZT8/IlJlcXVlc3QgZmFpbGVkIn0pKX1maW5hbGx5e3oxKChCMSk9Pih7Li4uQjEsWyQxXTohMX0pKX19LFtoLE8xXSksTjA9SShhc3luYygkMSk9PntWMSgoQjEpPT4oey4uLkIxLFskMV06ITB9KSksYSgoQjEpPT4oey4uLkIxLFskMV06bnVsbH0pKTt0cnl7bGV0IEIxPWF3YWl0IGZldGNoKEsxLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sYm9keTpKU09OLnN0cmluZ2lmeSh7dWRpZDokMX0pfSksRzE9YXdhaXQgQjEuanNvbigpLmNhdGNoKCgpPT4oe30pKTtpZighQjEub2t8fCFHMS5vaylhKChBMSk9Pih7Li4uQTEsWyQxXTpHMS5lcnJvcj8/YEhUVFAgJHtCMS5zdGF0dXN9YH0pKX1jYXRjaChCMSl7YSgoRzEpPT4oey4uLkcxLFskMV06QjE/Lm1lc3NhZ2U/PyJSZXF1ZXN0IGZhaWxlZCJ9KSl9ZmluYWxseXtWMSgoQjEpPT4oey4uLkIxLFskMV06ITF9KSl9fSxbSzFdKTtFKCgpPT57aWYoSylyZXR1cm47aWYoJD8uZGV2aWNlKXtZKCQuZGV2aWNlKTtyZXR1cm59aWYoIVkxfHxZMS5sZW5ndGg9PT0wKXJldHVybjtsZXQgJDE9WTEuZmluZCgoQjEpPT5CMS5oZWxwZXIpPz9ZMS5maW5kKChCMSk9PkIxLnN0YXRlPT09IkJvb3RlZCIpPz9ZMVswXTtpZigkMSlZKCQxLmRldmljZSl9LFtLLCQ/LmRldmljZSxZMV0pLEUoKCk9PntsZXQgJDE9YCR7djEoImFwaS9ldmVudHMiKX0ke0s/YD9kZXZpY2U9JHtlbmNvZGVVUklDb21wb25lbnQoSyl9YDoiIn1gLEIxPShBMSk9PntKKCh4MSk9PntpZihBMT16OShRNShBMSksd2luZG93LmxvY2F0aW9uKSwkSih4MSk9PT0kSihBMSkpcmV0dXJuIHgxO2lmKEExKXdpbmRvdy5fX1NJTV9QUkVWSUVXX189QTE7ZWxzZSBpZih3aW5kb3cuX19TSU1fUFJFVklFV19fKXtsZXR7YmFzZVBhdGg6UzEsZXhlY1Rva2VuOm0xfT13aW5kb3cuX19TSU1fUFJFVklFV19fO3dpbmRvdy5fX1NJTV9QUkVWSUVXX189e2Jhc2VQYXRoOlMxLGV4ZWNUb2tlbjptMX19cmV0dXJuIEExfSl9LEcxPVMwKCQxKTtyZXR1cm4gRzEub25tZXNzYWdlPShBMSk9Pnt0cnl7QjEoUTUoSlNPTi5wYXJzZShBMS5kYXRhKSkpfWNhdGNoe319LCgpPT5HMS5jbG9zZSgpfSxbSyxsXSksRSgoKT0+e2lmKCEkPy5sb2dzRW5kcG9pbnR8fCFyJCh3aW5kb3cubG9jYXRpb24pKXJldHVybjtsZXQgJDE9UzAoJC5sb2dzRW5kcG9pbnQpLEIxPW5ldyBNYXAsRzE9WyIjOGJlOWZkIiwiIzUwZmE3YiIsIiNmZmI4NmMiLCIjZmY3OWM2IiwiI2JkOTNmOSIsIiNmMWZhOGMiLCIjNjI3MmE0IiwiI2ZmNTU1NSIsIiM2OWZmOTQiLCIjZDZhY2ZmIiwiI2ZmZmZhNSIsIiNhNGZmZmYiLCIjZmY2ZTZlIiwiI2NhYTlmYSIsIiM1YWY3OGUiXTtmdW5jdGlvbiBBMShtMSl7bGV0IE0xPUIxLmdldChtMSk7aWYoIU0xKXtsZXQgUDE9MDtmb3IobGV0IG8xPTA7bzE8bTEubGVuZ3RoO28xKyspUDE9KFAxPDw1KS1QMSttMS5jaGFyQ29kZUF0KG8xKXwwO00xPUcxW01hdGguYWJzKFAxKSVHMS5sZW5ndGhdLEIxLnNldChtMSxNMSl9cmV0dXJuIE0xfWxldCB4MT0iIixTMT0hMTtyZXR1cm4gJDEub25tZXNzYWdlPShtMSk9Pnt0cnl7bGV0IE0xPUpTT04ucGFyc2UobTEuZGF0YSksUDE9TTEucHJvY2Vzc0ltYWdlUGF0aD8uc3BsaXQoIi8iKS5wb3AoKT8/TTEuc2VuZGVySW1hZ2VQYXRoPy5zcGxpdCgiLyIpLnBvcCgpPz8iIixvMT1NMS5zdWJzeXN0ZW0/PyIiLFEwPU0xLmNhdGVnb3J5Pz8iIixVMD1NMS5ldmVudE1lc3NhZ2U/PyIiO2lmKCFVMClyZXR1cm47aWYoUDEhPT14MSl7aWYoUzEpY29uc29sZS5ncm91cEVuZCgpO2xldCBwMT1BMShQMSk7Y29uc29sZS5ncm91cENvbGxhcHNlZChgJWMke1AxfSR7bzE/YCAlYyR7bzF9JHtRMD8iOiIrUTA6IiJ9YDoiIn1gLGBjb2xvcjoke3AxfTtmb250LXdlaWdodDpib2xkYCwuLi5vMT9bImNvbG9yOiM4ODg7Zm9udC13ZWlnaHQ6bm9ybWFsIl06W10pLFMxPSEwLHgxPVAxfWxldCBSMT0oTTEubWVzc2FnZVR5cGU/PyIiKS50b0xvd2VyQ2FzZSgpLG4xPW8xJiZQMT09PXgxP2AlYyR7UTB8fG8xfSVjIGA6IiIsRTA9bjE/WyJjb2xvcjojODg4O2ZvbnQtc3R5bGU6aXRhbGljIiwiY29sb3I6aW5oZXJpdCJdOltdO2lmKFIxPT09ImZhdWx0Inx8UjE9PT0iZXJyb3IiKWNvbnNvbGUubG9nKGAke24xfSVjJHtVMH1gLC4uLkUwLCJjb2xvcjojZmY1NTU1Iik7ZWxzZSBpZihSMT09PSJkZWJ1ZyIpY29uc29sZS5sb2coYCR7bjF9JWMke1UwfWAsLi4uRTAsImNvbG9yOiM2MjcyYTQiKTtlbHNlIGNvbnNvbGUubG9nKGAke24xfSVjJHtVMH1gLC4uLkUwLCJjb2xvcjppbmhlcml0Iil9Y2F0Y2h7fX0sKCk9PntpZihTMSljb25zb2xlLmdyb3VwRW5kKCk7JDEuY2xvc2UoKX19LFskPy5sb2dzRW5kcG9pbnRdKTtsZXQgTDA9Sz8/JD8uZGV2aWNlPz9udWxsLF8xPVkxPy5maW5kKCgkMSk9PiQxLmRldmljZT09PUwwKT8/bnVsbCxKMD13aW5kb3cuX19TSU1fUFJFVklFV19fPy5kZXZpY2U9PT1MMD93aW5kb3cuX19TSU1fUFJFVklFV19fPy5jaHJvbWU/P251bGw6bnVsbCxxMD0hISQmJiQuZGV2aWNlPT09TDAsVDE7aWYocTAmJiQpVDE9WChIWSx7Y29uZmlnOiQsZGV2aWNlTmFtZTpfMT8ubmFtZT8/bnVsbCxkZXZpY2VSdW50aW1lOl8xPy5ydW50aW1lPz9udWxsLGNocm9tZTpfMT8uY2hyb21lPz9KMCxheE92ZXJsYXlFbmFibGVkOnEsc2V0QXhPdmVybGF5RW5hYmxlZDpHLGRldnRvb2xzT3BlbjpCLHNldERldnRvb2xzT3BlbjpOLGdyaWRPcGVuOlAsc2V0R3JpZE9wZW46eCxncmlkUGFuZWxXaWR0aDpGLHNlbGVjdGVkRGV2dG9vbHNUYXJnZXRJZDpqLHNldFNlbGVjdGVkRGV2dG9vbHNUYXJnZXRJZDptLHN0cmVhbWluZzpRLHNldFN0cmVhbWluZzpaLHByZXNlbnRhdGlvbjpNLG9uRW50ZXJQcmVzZW50YXRpb246RDEsb25FeGl0UHJlc2VudGF0aW9uOnkxLGVtYmVkTG9ja2VkOkMsY2hyb21lRW5hYmxlZDpMLHNldENocm9tZUVuYWJsZWQ6Vn0pO2Vsc2V7bGV0ICQxPVA/RiszNjoyNDtUMT1YKCJkaXYiLHtjbGFzc05hbWU6ImgtZHZoIGZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdhcC0zIGJnLXBhZ2UgZm9udC1zeXN0ZW0gYm94LWJvcmRlciBbdHJhbnNpdGlvbjpwYWRkaW5nXzAuMjVzX2Vhc2VdIixzdHlsZTp7cGFkZGluZ0xlZnQ6JDEscGFkZGluZ1JpZ2h0OjI0fSxjaGlsZHJlbjpfMT9YKG00LHtuYW1lOl8xLm5hbWUscnVudGltZTpfMS5ydW50aW1lLGNocm9tZTpfMS5jaHJvbWU/P251bGwscGxhY2Vob2xkZXJBc3NldDpfMS5wbGFjZWhvbGRlckFzc2V0Pz9udWxsLGJ1c3k6ISFfMS5oZWxwZXJ8fCEhdltfMS5kZXZpY2VdLGJ1c3lMYWJlbDpfMS5oZWxwZXI/IkNvbm5lY3RpbmfigKYiOiJTdGFydGluZ+KApiIsZXJyb3I6ZVtfMS5kZXZpY2VdPz9udWxsLG9uU3RhcnQ6KCk9PlQwKF8xLmRldmljZSl9KTpZMT9YKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIGdhcC0zIHRleHQtY2VudGVyIixjaGlsZHJlbjpbWCgiaDEiLHtjbGFzc05hbWU6InRleHQtWzE4cHhdIG0tMCB0ZXh0LXdoaXRlLzkwIixjaGlsZHJlbjoiTm8gc2ltdWxhdG9ycyBhdmFpbGFibGUifSksWCgicCIse2NsYXNzTmFtZToidGV4dC13aGl0ZS81NSB0ZXh0LVsxNHB4XSBtYXgtdy0xMjAiLGNoaWxkcmVuOlsiQ3JlYXRlIGEgc2ltdWxhdG9yIGluIFhjb2RlLCBvciBzdGFydCBvbmUgd2l0aCIsIiAiLFgoImNvZGUiLHtjbGFzc05hbWU6ImJnLVsjMjIyXSBweC0xLjUgcHktMC41IHJvdW5kZWQgdGV4dC1bMTNweF0iLGNoaWxkcmVuOiJidW54IEBleHBvL3NlcnZlLXNpbSAtLWRldGFjaCJ9KSwiLiJdfSldfSk6bnVsbH0pfXJldHVybiBYKFgxLHtjaGlsZHJlbjpbVDEsWChINyx7fSksWCgiZGl2Iix7ImFyaWEtaGlkZGVuIjpNLHN0eWxlOntvcGFjaXR5Ok0/MDoxLHZpc2liaWxpdHk6az8iaGlkZGVuIjoidmlzaWJsZSIscG9pbnRlckV2ZW50czpNPyJub25lIjp2b2lkIDAsdHJhbnNpdGlvbjpgb3BhY2l0eSAke2U1fW1zIGVhc2VgfSxjaGlsZHJlbjpbWChHNyx7b3BlbjpQLG9uQ2xvc2U6KCk9PngoITEpLHdpZHRoOkYsc2lkZToibGVmdCIsZGV2aWNlczpZMSx0b3RhbDpSLGhhc01vcmU6byxvbkxvYWRNb3JlOnUsb25Mb2FkQWxsOnAsb25SZXNldFBhZ2U6UyxzZWxlY3RlZFVkaWQ6TDAsb25TZWxlY3Q6VzEsc3RhcnRpbmc6dixzaHV0dGluZ0Rvd246SDEsb25TaHV0ZG93bjpOMH0pLFgoVDMse3BhbmVsV2lkdGg6Rix2aXNpYmxlOlAsb25Qb2ludGVyRG93bjpjLGFyaWFMYWJlbDoiUmVzaXplIHNpbXVsYXRvcnMgc2lkZWJhciIsc2lkZToibGVmdCJ9KSxYKFM0LHtvcGVuOlAsb25DbGljazooKT0+eCghMCl9KV19KV19KX1mdW5jdGlvbiBIWSh7Y29uZmlnOiQsZGV2aWNlTmFtZTpKLGRldmljZVJ1bnRpbWU6USxjaHJvbWU6WixheE92ZXJsYXlFbmFibGVkOkssc2V0QXhPdmVybGF5RW5hYmxlZDpZLGRldnRvb2xzT3BlbjpxLHNldERldnRvb2xzT3BlbjpHLGdyaWRPcGVuOkIsc2V0R3JpZE9wZW46TixncmlkUGFuZWxXaWR0aDpMLHNlbGVjdGVkRGV2dG9vbHNUYXJnZXRJZDpWLHNldFNlbGVjdGVkRGV2dG9vbHNUYXJnZXRJZDp6LHN0cmVhbWluZzpDLHNldFN0cmVhbWluZzpNLHByZXNlbnRhdGlvbjpVLG9uRW50ZXJQcmVzZW50YXRpb246SCxvbkV4aXRQcmVzZW50YXRpb246TyxlbWJlZExvY2tlZDprLGNocm9tZUVuYWJsZWQ6dyxzZXRDaHJvbWVFbmFibGVkOlB9KXtFKCgpPT57ZG9jdW1lbnQudGl0bGU9Sj9gU2ltdWxhdG9yIC0gJHtKfWA6IlNpbXVsYXRvciBQcmV2aWV3In0sW0pdKTtsZXQgeD1mMChKKSxGPXYkKCQuZGV2dG9vbHNFbmRwb2ludD8/djEoImRldnRvb2xzIikscSk7RSgoKT0+e2lmKCFxKXJldHVybjtpZihWJiZGLnRhcmdldHMuc29tZSgoeSk9PnkuaWQ9PT1WKSlyZXR1cm47eihGLnRhcmdldHMubGVuZ3RoPT09MT9GLnRhcmdldHNbMF0uaWQ6bnVsbCl9LFtxLEYudGFyZ2V0cyxWLHpdKSxFKCgpPT57eihudWxsKX0sWyQuZGV2aWNlLHpdKTtsZXQgYz1rJCgpLGo9YyQoe2RldmljZTokLmRldmljZSxlbmRwb2ludDokLnN0cmVhbVNldHRpbmdzRW5kcG9pbnQsaW5pdGlhbFNldHRpbmdzOiQuc3RyZWFtU2V0dGluZ3N9KSxtPWouc2V0dGluZ3Mscz1qLnVwZGF0ZVBsYXliYWNrLHI9ai50cmFuc3BvcnRMb2NrZWQsaT1tLnRyYW5zcG9ydD09PSJ3ZWJydGMiLFoxPUQobnVsbCksaD1pLFtLMSx2XT1BKG51bGwpLHoxPW0ud2ViUnRjQ29kZWMsSDE9SzE/P3oxLFYxPVAkKHtvZmZlclVybDpaMygkKSxjbG9zZVVybDpONCgkKSxlbmFibGVkOmgsY29kZWM6SDEsaWNlU2VydmVyczptLmljZVNlcnZlcnN9KSxbZSxhXT1HMihvJCxCOSksW1kxXT1BKCgpPT5uZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpLmdldCgiY29kZWMiKT09PSJtanBlZyIpLFI9bS5odHRwQ29kZWM9PT0ibWpwZWciLHU9IWgmJiFSJiZjLnN1cHBvcnRlZCYmIWUuZmVsbEJhY2smJiFZMSxwPUEkKHV8fGg/bnVsbDpCNCgkKSk7RSgoKT0+e00oITEpLGEoInJlc2V0IiksdihudWxsKX0sWyQuc3RyZWFtVXJsLE0sbS50cmFuc3BvcnQsbS5odHRwQ29kZWMsbS53ZWJSdGNDb2RlY10pLEUoKCk9PntpZighaXx8IVYxLmZhaWx1cmUpcmV0dXJuO2lmKFoxLmN1cnJlbnQ9PT1WMS5mYWlsdXJlLnNlc3Npb25JZClyZXR1cm47WjEuY3VycmVudD1WMS5mYWlsdXJlLnNlc3Npb25JZDtsZXQgeT1lJCh6MSxIMSxWMS5mYWlsdXJlKTtpZigheSlyZXR1cm47aWYoeS50eXBlPT09InN3aXRjaC10by1odHRwIil7aWYocilyZXR1cm47cyh7dHJhbnNwb3J0OiJodHRwIn0pO3JldHVybn12KHkuY29kZWMpfSxbejEsSDEscixzLGksVjEuZmFpbHVyZV0pO2xldCBTPXImJlYxLmZhaWx1cmUmJiFWMS5lcnJvcj8iV2ViUlRDIHN0cmVhbWluZyBmYWlsZWQuIEhUVFAgZmFsbGJhY2sgaXMgZGlzYWJsZWQgZm9yIHRoaXMgc2Vzc2lvbi4iOm51bGw7RSgoKT0+e2lmKCF1KXJldHVybjtsZXQgeT1zZXRUaW1lb3V0KCgpPT5hKCJ0aW1lb3V0IiksaSQpO3JldHVybigpPT5jbGVhclRpbWVvdXQoeSl9LFt1LCQuc3RyZWFtVXJsXSk7bGV0W28sbF09QShudWxsKSxbVzEsRDFdPUEobnVsbCkseTE9VzEsTzE9bz8/eTE/P3kyKHgsSiksVDA9SzMoeCxPMSksTjA9UzIoeCxPMSksTDA9WDMoTzEpLF8xPVAyKE8xKSxKMD1fMT9fMS53aWR0aC9fMS5oZWlnaHQ6MSxxMD0kMihPMSksVDE9ISFaJiYhcTAmJncsJDE9VDE/Wi5mcmFtZS53aWR0aC9aLnNjcmVlbi53aWR0aDoxLEIxPU4wKiQxLEcxPVQxP1ouZnJhbWUud2lkdGgvWi5mcmFtZS5oZWlnaHQ6SjAsQTE9VDE/YCR7Wi5mcmFtZS53aWR0aH0gLyAke1ouZnJhbWUuaGVpZ2h0fWA6TDAseDE9RChudWxsKSxTMT1EKFtdKSxtMT1EKCExKTtFKCgpPT57bGV0IHk9ITEsbj1udWxsLGMxPW51bGw7UzEuY3VycmVudD1bXTtsZXQgTjE9KCk9PntpZih5fHxuKXJldHVybjtuPXNldFRpbWVvdXQoKCk9PntuPW51bGwsZjEoKX0sMTAwMCl9LGYxPSgpPT57bGV0IGUxPW5ldyBXZWJTb2NrZXQoJC53c1VybCk7ZTEuYmluYXJ5VHlwZT0iYXJyYXlidWZmZXIiLGMxPWUxLHgxLmN1cnJlbnQ9ZTEsZTEub25vcGVuPSgpPT57aWYoUzEuY3VycmVudD1VOShlMSxTMS5jdXJyZW50KSxtMS5jdXJyZW50KVMxLmN1cnJlbnQ9QzkoZTEsUzEuY3VycmVudCwxNCx7ZW5hYmxlZDohMX0pfSxlMS5vbm1lc3NhZ2U9KHMwKT0+e2lmKCEoczAuZGF0YSBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKSlyZXR1cm47bGV0IFkyPW5ldyBVaW50OEFycmF5KHMwLmRhdGEpO2lmKFkyLmxlbmd0aDwxfHxZMlswXSE9PTEzMClyZXR1cm47dHJ5e2xldCBfMD1KU09OLnBhcnNlKG5ldyBUZXh0RGVjb2RlcigpLmRlY29kZShZMi5zdWJhcnJheSgxKSkpO2lmKF8wLndpZHRoPD0wfHxfMC5oZWlnaHQ8PTApcmV0dXJuO0QxKChxMik9PnEyJiZxMi53aWR0aD09PV8wLndpZHRoJiZxMi5oZWlnaHQ9PT1fMC5oZWlnaHQmJnEyLm9yaWVudGF0aW9uPT09XzAub3JpZW50YXRpb24/cTI6XzApfWNhdGNoe319LGUxLm9uY2xvc2U9KCk9PntpZih4MS5jdXJyZW50PT09ZTEpeDEuY3VycmVudD1udWxsO04xKCl9LGUxLm9uZXJyb3I9KCk9PntlMS5jbG9zZSgpfX07cmV0dXJuIGYxKCksKCk9PntpZih5PSEwLG4pY2xlYXJUaW1lb3V0KG4pO2lmKHgxLmN1cnJlbnQ9PT1jMSl4MS5jdXJyZW50PW51bGw7YzE/LmNsb3NlKCl9fSxbJC53c1VybF0pO2xldCBNMT1JKCh5LG4pPT57UzEuY3VycmVudD1DOSh4MS5jdXJyZW50LFMxLmN1cnJlbnQseSxuKX0sW10pLFAxPWIxKCgpPT5RNygoeSk9Pk0xKDYse3R5cGU6eS50eXBlLHVzYWdlOnkudXNhZ2V9KSksW00xXSk7RSgoKT0+KCk9PlAxLmRpc3Bvc2UoKSxbUDFdKTtsZXQgbzE9SSgoeSk9PntNMSgzLHkpfSxbTTFdKSxRMD1JKCh5KT0+TTEoNSx5KSxbTTFdKSxVMD1JKCh5KT0+TTEoNCx7YnV0dG9uOnl9KSxbTTFdKSxSMT1JKCh7cGhhc2U6eSxidXR0b246bn0pPT57aWYobi51c2FnZVBhZ2U9PW51bGx8fG4udXNhZ2U9PW51bGwpcmV0dXJuO00xKDQse2J1dHRvbjpuLm5hbWUscGFnZTpuLnVzYWdlUGFnZSx1c2FnZTpuLnVzYWdlLHBoYXNlOnl9KX0sW00xXSksbjE9SSgoeSk9Pk0xKDEwLHtkZWx0YTp5fSksW00xXSksRTA9SSgoeSk9Pk0xKDExLHkpLFtNMV0pLHAxPUkoKHkpPT57bCgobik9Pm4mJm4ud2lkdGg9PT15LndpZHRoJiZuLmhlaWdodD09PXkuaGVpZ2h0JiZuLm9yaWVudGF0aW9uPT09eS5vcmllbnRhdGlvbj9uOnkpfSxbXSksWjA9SSgoeSk9PntNMSg3LHtvcmllbnRhdGlvbjp5fSl9LFtNMV0pLFgwPU8xLm9yaWVudGF0aW9uPz8icG9ydHJhaXQiLHUxPXghPT0id2F0Y2giJiZ4IT09InZpc2lvbiIsdzE9SSgoeSk9PntpZighdTEpcmV0dXJuO2xldCBuPSh5PT09ImxlZnQiP2UyOkw4KVtYMF07WjAobil9LFt1MSxYMCxaMF0pO0UoKCk9PntsKG51bGwpLEQxKG51bGwpfSxbJC5zdHJlYW1VcmxdKSxFKCgpPT57bGV0IHk9eTE7aWYoIXkpcmV0dXJuO2woKG4pPT5uJiZuLndpZHRoPT09eS53aWR0aCYmbi5oZWlnaHQ9PT15LmhlaWdodCYmbi5vcmllbnRhdGlvbj09PXkub3JpZW50YXRpb24/bjpudWxsKX0sW3kxLHkxPy53aWR0aCx5MT8uaGVpZ2h0LHkxPy5vcmllbnRhdGlvbl0pO2xldCBGMD1JKCh5LG4pPT57TTEoNix7dHlwZTp5LHVzYWdlOm59KX0sW00xXSksW1IwLFcwXT1BKG51bGwpLFtHMCxUXT1BKCgpPT57aWYodHlwZW9mIHdpbmRvdz4idSJ8fFUpcmV0dXJuITE7bGV0IHk9TnVtYmVyKHdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgic2VydmUtc2ltOnRvb2xzLXBhbmVsLXdpZHRoIikpLG49TnVtYmVyLmlzRmluaXRlKHkpJiZ5PjA/eTpOOTtyZXR1cm4gd2luZG93LmlubmVyV2lkdGg+PW4rNjQwfSksZD1EKHtwYW5lbDohMSxkZXZ0b29sczohMX0pO2QuY3VycmVudD17cGFuZWw6RzAsZGV2dG9vbHM6cX07bGV0IHQ9RChudWxsKTtFKCgpPT57aWYoVSl7dC5jdXJyZW50Pz89ZC5jdXJyZW50LFQoITEpLEcoITEpO3JldHVybn1sZXQgeT10LmN1cnJlbnQ7aWYoIXkpcmV0dXJuO3QuY3VycmVudD1udWxsLFQoeS5wYW5lbCksRyh5LmRldnRvb2xzKX0sW1UsR10pO2xldHt3aWR0aDpxMSxvblBvaW50ZXJEb3duOmoxfT1tMygic2VydmUtc2ltOnRvb2xzLXBhbmVsLXdpZHRoIixOOSwyNDAsNzIwKSx7d2lkdGg6VTEsb25Qb2ludGVyRG93bjpFMX09bTMoInNlcnZlLXNpbTpkZXZ0b29scy1wYW5lbC13aWR0aCIsbiQsNDIwLDE0MDApLFtLMCxzMV09QSgoKT0+dHlwZW9mIHdpbmRvdzwidSI/d2luZG93LmlubmVyV2lkdGg6MCksW2wxLG4wXT1BKCgpPT50eXBlb2Ygd2luZG93PiJ1Ij8wOndpbmRvdy52aXN1YWxWaWV3cG9ydD8uaGVpZ2h0Pz93aW5kb3cuaW5uZXJIZWlnaHQpLFt6MCxZMF09QSgoKT0+dHlwZW9mIHdpbmRvdz4idSI/MDp3aW5kb3cuaW5uZXJIZWlnaHQpO0UoKCk9PntsZXQgeT13aW5kb3cudmlzdWFsVmlld3BvcnQsbj0oKT0+e3MxKHdpbmRvdy5pbm5lcldpZHRoKSxZMCh3aW5kb3cuaW5uZXJIZWlnaHQpLG4wKHk/LmhlaWdodD8/d2luZG93LmlubmVySGVpZ2h0KX07cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLG4pLHk/LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsbiksKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIixuKSx5Py5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLG4pfX0sW10pLEUoKCk9PntsZXQgeT1TMCgkLmFwcFN0YXRlRW5kcG9pbnQ/P3YxKCJhcHBzdGF0ZSIpKSxuPW51bGw7cmV0dXJuIHkub25tZXNzYWdlPShjMSk9Pnt0cnl7bGV0IE4xPUpTT04ucGFyc2UoYzEuZGF0YSk7aWYobiljbGVhclRpbWVvdXQobik7bGV0IGYxPU4xPy5pc1JlYWN0TmF0aXZlPzA6NjAwO249c2V0VGltZW91dCgoKT0+VzAoTjEpLGYxKX1jYXRjaHt9fSwoKT0+e2lmKG4pY2xlYXJUaW1lb3V0KG4pO3kuY2xvc2UoKX19LFskLmFwcFN0YXRlRW5kcG9pbnRdKTtsZXQgWDI9SShhc3luYygpPT57RjAoImRvd24iLDIxKSxhd2FpdCBuZXcgUHJvbWlzZSgobik9PnNldFRpbWVvdXQobiwzMCkpLEYwKCJ1cCIsMjEpfSxbRjBdKSxsMD1EKG51bGwpLHIwPUQobnVsbCksQzA9RChudWxsKSxbRDAsbDNdPUEoMCksW2EwLGQzXT1BKDApO0UoKCk9PntsZXQgeT1sMC5jdXJyZW50O2lmKCF5fHx0eXBlb2YgUmVzaXplT2JzZXJ2ZXI+InUiKXJldHVybjtsZXQgbj1uZXcgUmVzaXplT2JzZXJ2ZXIoKGMxKT0+e2xldCBOMT1jMVswXT8uY29udGVudFJlY3Q7bDMoTjE/LndpZHRoPz8wKSxkMyhOMT8uaGVpZ2h0Pz8wKX0pO3JldHVybiBuLm9ic2VydmUoeSksKCk9Pm4uZGlzY29ubmVjdCgpfSxbXSk7bGV0W2wyLGQwXT1BKCEwKSxoNT1EKCEwKTtoNS5jdXJyZW50PWwyO2xldCBfPUQobmV3IFNldCksVz1xMygpO20xLmN1cnJlbnQ9VyxzJChXKTtsZXRbYixmXT1BKCExKSxRMT1EKGIpO1ExLmN1cnJlbnQ9YjtsZXQgQzE9RChudWxsKSxGMT1EKCExKSxJMT1JKCgpPT57QzEuY3VycmVudD8uYmx1cigpLGYoITEpfSxbXSksSDA9SSgoKT0+e2xldCB5PUMxLmN1cnJlbnQsbj1kb2N1bWVudC5hY3RpdmVFbGVtZW50PT09eSxjMT1KNSgpO2lmKGImJihjMXx8bikpSTEoKTtlbHNlIHk/LmZvY3VzKCksZighMCl9LFtiLEkxXSksdDE9VyYmQTgoejAsbDEpLEkwPVc/ejA6bDEsZDI9dDE/bDE6STA7RSgoKT0+e2xldCB5PXIwLmN1cnJlbnQ7aWYoIXl8fCF0MSlyZXR1cm47bGV0IG49MCxjMT0oZjEpPT57bj1mMS50b3VjaGVzWzBdPy5jbGllbnRZPz8wfSxOMT0oZjEpPT57bGV0IGUxPWYxLnRhcmdldDtpZihlMSYmKEMwLmN1cnJlbnQ/LmNvbnRhaW5zKGUxKXx8ZTEuY2xvc2VzdCgiW2RhdGEtcGFuZWxdIikpKXJldHVybjtsZXQgczA9ZjEudG91Y2hlc1swXT8uY2xpZW50WT8/bjt5LnNjcm9sbFRvcCs9bi1zMCxuPXMwLGYxLnByZXZlbnREZWZhdWx0KCl9O3JldHVybiB5LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGMxLHtwYXNzaXZlOiEwfSkseS5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLE4xLHtwYXNzaXZlOiExfSksKCk9Pnt5LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGMxKSx5LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsTjEpfX0sW3QxXSksRSgoKT0+e2lmKCFiKXtGMS5jdXJyZW50PSExO3JldHVybn1pZih0MSl7RjEuY3VycmVudD0hMDtyZXR1cm59aWYoIUYxLmN1cnJlbnQpcmV0dXJuO2xldCB5PXNldFRpbWVvdXQoKCk9PntpZihKNSgpKXJldHVybjtGMS5jdXJyZW50PSExLEkxKCl9LDIwMCk7cmV0dXJuKCk9PmNsZWFyVGltZW91dCh5KX0sW2IsdDEsSTFdKSxFKCgpPT57aWYoVSl7ZDAoITApO3JldHVybn1sZXQgeT0obik9PntsZXQgYzE9ISFsMC5jdXJyZW50Py5jb250YWlucyhuLnRhcmdldCk7ZDAoYzEpfTtyZXR1cm4gZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcmRvd24iLHksITApLCgpPT5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVyZG93biIseSwhMCl9LFtVXSksRSgoKT0+e2lmKGwyKXJldHVybjtsZXQgeT1fLmN1cnJlbnQ7aWYoeS5zaXplPT09MClyZXR1cm47Zm9yKGxldCBuIG9mIHkpTTEoNix7dHlwZToidXAiLHVzYWdlOm59KTt5LmNsZWFyKCl9LFtsMixNMV0pLEUoKCk9PntsZXQgeT0oTjEsZjEpPT57bGV0IGUxPWg1LmN1cnJlbnQsczA9UTEuY3VycmVudDtpZihlMSYmIXMwKXtpZihOMS5jb2RlPT09IktleUgiJiZOMS5tZXRhS2V5JiZOMS5zaGlmdEtleSl7aWYoTjEucHJldmVudERlZmF1bHQoKSxmMT09PSJkb3duIiYmIU4xLnJlcGVhdClNMSg0LHtidXR0b246ImhvbWUifSk7cmV0dXJufWlmKChOMS5jb2RlPT09IkFycm93TGVmdCJ8fE4xLmNvZGU9PT0iQXJyb3dSaWdodCIpJiZOMS5tZXRhS2V5JiYhTjEuc2hpZnRLZXkmJiFOMS5hbHRLZXkmJiFOMS5jdHJsS2V5KXtpZihOMS5wcmV2ZW50RGVmYXVsdCgpLGYxPT09ImRvd24iJiYhTjEucmVwZWF0KXcxKE4xLmNvZGU9PT0iQXJyb3dMZWZ0Ij8ibGVmdCI6InJpZ2h0Iik7cmV0dXJufWlmKE4xLmNvZGU9PT0iS2V5QSImJk4xLm1ldGFLZXkmJk4xLnNoaWZ0S2V5KXtpZihOMS5wcmV2ZW50RGVmYXVsdCgpLGYxPT09ImRvd24iJiYhTjEucmVwZWF0KWsxKCJhcHBlYXJhbmNlLmdldCIse3VkaWQ6JC5kZXZpY2V9KS50aGVuKChfMCk9PntsZXQgcTI9XzAuc3Rkb3V0LnRyaW0oKT09PSJkYXJrIj8ibGlnaHQiOiJkYXJrIjtyZXR1cm4gazEoImFwcGVhcmFuY2Uuc2V0Iix7dWRpZDokLmRldmljZSx2YWx1ZTpxMn0pfSkuY2F0Y2goKCk9Pnt9KTtyZXR1cm59aWYoTjEuY29kZT09PSJLZXlLIiYmTjEubWV0YUtleSYmIU4xLnNoaWZ0S2V5JiYhTjEuYWx0S2V5JiYhTjEuY3RybEtleSl7aWYoTjEucHJldmVudERlZmF1bHQoKSxmMT09PSJkb3duIiYmIU4xLnJlcGVhdClNMSgxMix7fSk7cmV0dXJufX1pZihmMT09PSJ1cCIpe2xldCBfMD1DMihOMS5jb2RlKTtpZihfMD09bnVsbHx8IV8uY3VycmVudC5oYXMoXzApKXJldHVybjtOMS5wcmV2ZW50RGVmYXVsdCgpLF8uY3VycmVudC5kZWxldGUoXzApLE0xKDYse3R5cGU6ZjEsdXNhZ2U6XzB9KTtyZXR1cm59bGV0IFkyPWU0KE4xLmNvZGUse3NpbUZvY3VzZWQ6ZTEsa2V5Ym9hcmRPcGVuOnMwLGNhcHR1cmVJbnB1dEVtcHR5OihDMS5jdXJyZW50Py52YWx1ZT8/IiIpPT09IiJ9KTtpZihZMj09bnVsbClyZXR1cm47TjEucHJldmVudERlZmF1bHQoKSxfLmN1cnJlbnQuYWRkKFkyKSxNMSg2LHt0eXBlOmYxLHVzYWdlOlkyfSl9LG49KE4xKT0+eShOMSwiZG93biIpLGMxPShOMSk9PnkoTjEsInVwIik7cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixuKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigia2V5dXAiLGMxKSwoKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIixuKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5dXAiLGMxKX19LFtNMSwkLmRldmljZSx3MV0pO2xldCBoMD1qJCgpLEg5PWIkKCQuZGV2aWNlKSxPOT1PJCh7dWRpZDokLmRldmljZSxlbmFibGVkOkMsb25VcGxvYWRTdGFydDpoMC5hZGQsb25VcGxvYWRQcm9ncmVzczpoMC5zZXRQcm9ncmVzcyxvblVwbG9hZEVuZDooeSxuLGMxKT0+aDAudXBkYXRlKHkse3N0YXR1czpuPyJzdWNjZXNzIjoiZXJyb3IiLG1lc3NhZ2U6YzF9KSxvblVuc3VwcG9ydGVkOih5KT0+e2xldCBuPWgwLmFkZCh5Lm5hbWUsIm1lZGlhIik7aDAudXBkYXRlKG4se3N0YXR1czoiZXJyb3IiLG1lc3NhZ2U6YFVuc3VwcG9ydGVkOiAke3kudHlwZXx8bTIoeSl9YH0pfSxvbkhvc3RQYXRoRHJvcDpIOS5kaXNtaXNzfSksTzA9UyQoe2RlZmF1bHRXaWR0aDpCMSx2aWV3cG9ydFdpZHRoOkswLHZpZXdwb3J0SGVpZ2h0OkkwLGFzcGVjdFJhdGlvOkcxLHJlc2VydmVkRm9yQ2hyb21lOnQ1LG9uU3RhcnQ6KCk9PmQwKCExKX0pLE05PTEyLEE5PTI0LEpKPTgsazk9NjQwLFFKPUQwPjA/TWF0aC5taW4oRDAsTzAud2lkdGgpOk8wLndpZHRoLEY5PSh5KT0+e2lmKHk8PTApcmV0dXJuIDA7bGV0IG49SzAtTTkteSxOMT1LMC8yK1FKLzItKG4tQTkpO2lmKE4xPD0wKXJldHVybiAwO2xldCBmMT0yKk4xO3JldHVybiBmMTw9eStBOT9mMTowfSxXOT1xP1UxOkcwP3ExOjAsW2MzLEQ5XT1BKCExKTtFKCgpPT57aWYoVSl7RDkoITApO3JldHVybn1pZighYzMpcmV0dXJuO2xldCB5PXNldFRpbWVvdXQoKCk9PkQ5KCExKSxlNSk7cmV0dXJuKCk9PmNsZWFyVGltZW91dCh5KX0sW1UsYzNdKTtsZXQgYzI9VXx8YzMsWko9VT8wOkY5KFc5KSxYSj1VPzA6RjkoQj9MOjApLG8yPWs4LEsyPU8wLndpZHRoLG8zPUcxPjA/VjAoSzIvRzEpOjAsXzk9VT9lNihLMCxJMCxHMSxvMik6SzIsS0o9SzI+MCYmXzk+MD9fOS9LMjoxLEEyPU8wLmlzUmVzaXppbmd8fE8wLmlzSW5lcnRpYTtyZXR1cm4geCQoQzAsIUEyJiYhVSxLMixvMyxJMCx0MSxjMiksWChiNCx7ZW5kcG9pbnQ6Sz8kPy5heEVuZHBvaW50OnZvaWQgMCxjaGlsZHJlbjpYKCJkaXYiLHtyZWY6cjAsY2xhc3NOYW1lOmBmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciBoLWR2aCBiZy1wYWdlIGZvbnQtc3lzdGVtIGJveC1ib3JkZXIgJHt0MT8ianVzdGlmeS1zdGFydCBvdmVyZmxvdy15LWhpZGRlbiI6Imp1c3RpZnktY2VudGVyIn0gJHtVPyJnYXAtMCI6InB0LTE2IHBiLTYgc206cHktNiBnYXAtMyJ9YCxzdHlsZTp7aGVpZ2h0OmQyPjA/ZDI6dm9pZCAwLHBhZGRpbmdUb3A6VT9vMjp2b2lkIDAscGFkZGluZ0JvdHRvbTpVP28yOnZvaWQgMCxwYWRkaW5nTGVmdDpVP28yOjI0K1hKLHBhZGRpbmdSaWdodDpVP28yOjI0K1pKLHRyYW5zaXRpb246QTJ8fGMyPyJub25lIjpSNn0sY2hpbGRyZW46W3QxJiZYKCJkaXYiLHsiYXJpYS1oaWRkZW4iOiEwLHN0eWxlOntoZWlnaHQ6VT8ibWF4KGVudihzYWZlLWFyZWEtaW5zZXQtdG9wLCAwcHgpLCA2OHB4KSI6ImVudihzYWZlLWFyZWEtaW5zZXQtdG9wLCAwcHgpIixmbGV4U2hyaW5rOjAsd2lkdGg6IjEwMCUifX0pLFgoImRpdiIse2NsYXNzTmFtZTpgZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIgbWluLXctMCAke3QxPyJzaHJpbmstMCI6IiJ9ICR7VT8iZ2FwLTAiOiJnYXAtMyJ9YCxzdHlsZTp7d2lkdGg6SzIsdHJhbnNpdGlvbjpBMj9GODp2b2lkIDB9LGNoaWxkcmVuOlshVSYmWCgiZGl2Iix7Y2xhc3NOYW1lOmBmaXhlZCBzbTpzdGF0aWMgdG9wLVsxOHB4XSBzbTp0b3AtYXV0byBsZWZ0LTEvMiAtdHJhbnNsYXRlLXgtMS8yIHNtOnRyYW5zbGF0ZS14LTAgei0zMCBzbTp6LWF1dG8gc2VsZi1jZW50ZXIgJHtHMHx8cT8ibWF4LXNtOmhpZGRlbiI6IiJ9YCxjaGlsZHJlbjpYKGExLHtvblJvdGF0ZTpaMCxvcmllbnRhdGlvbjpPMS5vcmllbnRhdGlvbj8/bnVsbCxkZXZpY2VVZGlkOiQuZGV2aWNlLGRldmljZU5hbWU6SixkZXZpY2VSdW50aW1lOlEsc3RyZWFtaW5nOkMsImFyaWEtbGFiZWwiOiJTaW11bGF0b3Igc3RhdHVzIixzdHlsZTp7d2lkdGg6ImF1dG8iLG1pbldpZHRoOjAsbWF4V2lkdGg6IjEwMCUiLGZsZXhXcmFwOiJub3dyYXAiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLGdhcDoxMCxwYWRkaW5nOiI2cHggMTBweCIsYm9yZGVyUmFkaXVzOjE4fSxjaGlsZHJlbjpbWCgic3BhbiIse2NsYXNzTmFtZToiaGlkZGVuIHNtOmNvbnRlbnRzIixjaGlsZHJlbjpYKGExLlRpdGxlLHtvbkNsaWNrOigpPT5OKCh5KT0+IXkpLCJhcmlhLWxhYmVsIjoiVG9nZ2xlIHNpbXVsYXRvcnMgc2lkZWJhciIsImFyaWEtcHJlc3NlZCI6Qix0aXRsZToiU2ltdWxhdG9ycyIsaGlkZVN1YnRpdGxlOiEwLGhpZGVDaGV2cm9uOiEwLHN0eWxlOnttYXhXaWR0aDoibWluKDIzMHB4LCBjYWxjKDEwMHZ3IC0gMTcwcHgpKSJ9fSl9KSxYKEE3LHtzdHJlYW1pbmc6Q30pXX0pfSksVSYmIWsmJlgobzQse29uRXhpdDpPLGNoaWxkcmVuOlcmJlgobDgse29wZW46YixvbkNsaWNrOkgwfSl9KSxYKEo3LHtvcGVuOmIsb25LZXlzOih5KT0+UDEuZW5xdWV1ZSh5KSxpbnB1dFJlZjpDMX0pLFgoImRpdiIse3JlZjpDMCxzdHlsZTp7d2lkdGg6SzIsaGVpZ2h0Om8zPjA/bzM6dm9pZCAwLHRyYW5zaXRpb246QTI/Rjg6dm9pZCAwfSxjaGlsZHJlbjpYKCJkaXYiLHtyZWY6bDAsY2xhc3NOYW1lOiJyZWxhdGl2ZSB3LWZ1bGwgaC1mdWxsIixzdHlsZTp7YXNwZWN0UmF0aW86QTEsdHJhbnNmb3JtOmMyP2BzY2FsZSgke0tKfSlgOnZvaWQgMCx0cmFuc2Zvcm1PcmlnaW46ImNlbnRlciBjZW50ZXIiLHRyYW5zaXRpb246QTI/dm9pZCAwOmMyPyQzOnZvaWQgMCx3aWxsQ2hhbmdlOkEyPyJ3aWR0aCI6YzI/InRyYW5zZm9ybSI6dm9pZCAwfSwuLi5POS5kcm9wWm9uZVByb3BzLGNoaWxkcmVuOlsoKCk9PntsZXQgeT1YKFEzLHt1cmw6JC51cmwsd3NVcmw6JC53c1VybCxzdHlsZTp7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsYm9yZGVyOiJub25lIixwb2ludGVyRXZlbnRzOk8wLmlzUmVzaXppbmd8fE8wLmlzSW5lcnRpYT8ibm9uZSI6dm9pZCAwfSxpbWFnZVN0eWxlOntib3JkZXJSYWRpdXM6VDE/MDpUMCxjb3JuZXJTaGFwZTpUMT92b2lkIDA6InN1cGVyZWxsaXBzZSgxLjMpIiwuLi5UMT97fTp7Ym94U2hhZG93OiJpbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpIn19LGhpZGVDb250cm9sczohMCxvblN0cmVhbWluZ0NoYW5nZTpNLG9uU3RyZWFtVG91Y2g6bzEsb25TdHJlYW1NdWx0aVRvdWNoOlEwLG9uU3RyZWFtQnV0dG9uOlUwLG9uU3RyZWFtRGlnaXRhbENyb3duOm4xLG9uU3RyZWFtU2Nyb2xsOkUwLHN0cmVhbU1vZGU6aD8id2VicnRjIjp1PyJhdmNjIjoibWpwZWciLHdlYlJ0Y1N0cmVhbTpWMS5zdHJlYW0sb25XZWJSdGNGcmFtZTpWMS5tYXJrRnJhbWVEZWNvZGVkLHN0cmVhbUVycm9yOmg/VjEuZXJyb3I/P1M6bnVsbCxvbkF2Y2NFcnJvcjooKT0+YSgiZXJyb3IiKSxvbkF2Y2NEZWNvZGVkRnJhbWU6KCk9PmEoImRlY29kZWQtZnJhbWUiKSxzdWJzY3JpYmVGcmFtZTp1P3ZvaWQgMDpwLnN1YnNjcmliZUZyYW1lLHN0cmVhbUZyYW1lOnU/dm9pZCAwOnAuZnJhbWUsc3RyZWFtQ29uZmlnOk8xLGVuYWJsZURpZ2l0YWxDcm93bjp4PT09IndhdGNoIixvblNjcmVlbkNvbmZpZ0NoYW5nZTpwMX0pLG49WChYMSx7Y2hpbGRyZW46W3ksSyYmIVUmJlgodzQse30pXX0pO2lmKCFUMSlyZXR1cm4gbjtyZXR1cm4gWChGMyx7Y2hyb21lOlosaW50ZXJhY3RpdmU6ITAsY29udGFpbmVyU2l6ZTpEMD4wJiZhMD4wP3t3aWR0aDpEMCxoZWlnaHQ6YTB9OnZvaWQgMCxvbkJ1dHRvbjpSMSxvbkNyb3duV2hlZWw6KGMxLE4xKT0+e2xldCBmMT0kNShjMSxOMSxhMHx8MSk7aWYoZjEhPW51bGwpbjEoZjEpfSxzY3JlZW46bn0pfSkoKSxPOS5pc0RyYWdPdmVyJiZYKCJkaXYiLHtjbGFzc05hbWU6ImFic29sdXRlIGluc2V0LTAgZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLTIgYm9yZGVyLTIgYm9yZGVyLWRhc2hlZCBib3JkZXItYWNjZW50IGJnLVtyZ2JhKDk5LDEwMiwyNDEsMC4xOCldIHRleHQtYWNjZW50IHBvaW50ZXItZXZlbnRzLW5vbmUgei0yMCIsc3R5bGU6e2JvcmRlclJhZGl1czpUMT92b2lkIDA6VDB9LGNoaWxkcmVuOltYKFc1LHtzaXplOjMyLHN0cm9rZVdpZHRoOjEuNX0pLFgoInNwYW4iLHtjbGFzc05hbWU6InRleHQtWzEzcHhdIGZvbnQtbWVkaXVtIixjaGlsZHJlbjoiRHJvcCBtZWRpYSBvciAuaXBhIn0pXX0pLCFVJiZLMD49azkmJlgoTjcse3NpbXVsYXRvclJlc2l6ZTpPMCxkZXZpY2VUeXBlOngsc3RyZWFtQ29uZmlnOk8xLGNvbnRhaW5lcldpZHRoOkQwfHxPMC53aWR0aCxjb250YWluZXJIZWlnaHQ6YTB8fChHMT4wP08wLndpZHRoL0cxOjApfSksWChNNyx7d2lkdGg6RDB8fE8wLndpZHRoLGhlaWdodDphMHx8KEcxPjA/TzAud2lkdGgvRzE6MCksdmlzaWJsZTohVSYmKE8wLmlzUmVzaXppbmd8fE8wLmlzSW5lcnRpYSl9KV19KX0pLCFVJiZYKCJkaXYiLHtjbGFzc05hbWU6ImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAtMiBtYXgtdy1mdWxsIHBiLTEgc206cGItMCIsY2hpbGRyZW46W1goYTEse29uUm90YXRlOlowLG9yaWVudGF0aW9uOk8xLm9yaWVudGF0aW9uPz9udWxsLGRldmljZVVkaWQ6JC5kZXZpY2UsZGV2aWNlTmFtZTpKLGRldmljZVJ1bnRpbWU6USxzdHJlYW1pbmc6QywiYXJpYS1sYWJlbCI6IlNpbXVsYXRvciBhY3Rpb25zIixzdHlsZTp7YWxpZ25TZWxmOiJjZW50ZXIiLHdpZHRoOiJhdXRvIixtaW5XaWR0aDowLG1heFdpZHRoOiIxMDAlIixqdXN0aWZ5Q29udGVudDoiY2VudGVyIixwYWRkaW5nOiI2cHggOHB4Iixib3JkZXJSYWRpdXM6MTh9LGNoaWxkcmVuOlgoYTEuQWN0aW9ucyx7Y2hpbGRyZW46W1IwPy5pc1JlYWN0TmF0aXZlJiZYKGExLkJ1dHRvbix7ImFyaWEtbGFiZWwiOiJSZWxvYWQgUmVhY3QgTmF0aXZlIGJ1bmRsZSIsdGl0bGU6IlJlbG9hZCAoUikiLG9uQ2xpY2s6KCk9PnZvaWQgWDIoKSxjaGlsZHJlbjpYKHoyLHt9KX0pLFgoYTEuSG9tZUJ1dHRvbix7dGl0bGU6IkhvbWUifSksWChhMS5TY3JlZW5zaG90QnV0dG9uLHt0aXRsZToiU2NyZWVuc2hvdCIsb25DbGljazooeSk9Pnt5LnByZXZlbnREZWZhdWx0KCksSDkuY2FwdHVyZSgpfX0pLFgoYTEuUm90YXRlQnV0dG9uLHt0aXRsZToiUm90YXRlIGRldmljZSJ9KV19KX0pLFgoYTEse29uUm90YXRlOlowLG9yaWVudGF0aW9uOk8xLm9yaWVudGF0aW9uPz9udWxsLGRldmljZVVkaWQ6JC5kZXZpY2UsZGV2aWNlTmFtZTpKLGRldmljZVJ1bnRpbWU6USxzdHJlYW1pbmc6QywiYXJpYS1sYWJlbCI6IkFjY2Vzc2liaWxpdHkgb3ZlcmxheSIsc3R5bGU6e3dpZHRoOiJhdXRvIixtaW5XaWR0aDowLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLHBhZGRpbmc6Nixib3JkZXJSYWRpdXM6MjJ9LGNoaWxkcmVuOlgoeTQse292ZXJsYXlFbmFibGVkOkssc3RyZWFtaW5nOkMsb25Ub2dnbGVPdmVybGF5OigpPT5ZKCh5KT0+IXkpfSl9KV19KV19KSwhVSYmWChYMSx7Y2hpbGRyZW46W1goImRpdiIse2NsYXNzTmFtZToiZml4ZWQgdG9wLTMgZmxleCBmbGV4LXJvdyBzbTpmbGV4LWNvbCBnYXAtMSBwLTEgYmctcGFuZWwtYmcgYm9yZGVyIGJvcmRlci13aGl0ZS84IHJvdW5kZWQtWzEwcHhdIGJhY2tkcm9wLWJsdXItWzEycHhdIFstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDEycHgpXSBbdHJhbnNpdGlvbjpyaWdodF8wLjI0c19jdWJpYy1iZXppZXIoMC4yMiwxLDAuMzYsMSldIHotMzAiLHN0eWxlOntyaWdodDpNOSsoKEcwfHxxKSYmSzA+PWs5P1c5K0pKOjApfSxjaGlsZHJlbjpbVyYmWChsOCx7b3BlbjpiLG9uQ2xpY2s6SDB9KSxYKHgwLHtvbkNsaWNrOkgsImFyaWEtbGFiZWwiOiJGdWxsIHNjcmVlbiIsdGl0bGU6IkZ1bGwgc2NyZWVuIixjaGlsZHJlbjpYKEg1LHtzaXplOjE4LHN0cm9rZVdpZHRoOjEuNzV9KX0pLFgoeDAse29uQ2xpY2s6KCk9PntHKCExKSxUKCh5KT0+IXkpfSwiYXJpYS1sYWJlbCI6Ik9wZW4gdG9vbHMgcGFuZWwiLCJhcmlhLXByZXNzZWQiOkcwLHRpdGxlOiJUb29scyIsY2hpbGRyZW46WChNNSx7c2l6ZToxOCxzdHJva2VXaWR0aDoxLjc1fSl9KSxYKHgwLHtvbkNsaWNrOigpPT57VCghMSksRygoeSk9PiF5KX0sY2xhc3NOYW1lOiJtYXgtc206aGlkZGVuIiwiYXJpYS1sYWJlbCI6Ik9wZW4gV2ViS2l0IERldlRvb2xzIiwiYXJpYS1wcmVzc2VkIjpxLHRpdGxlOiJXZWJLaXQgRGV2VG9vbHMiLGNoaWxkcmVuOlgoTDUse3NpemU6MTgsc3Ryb2tlV2lkdGg6MS43NX0pfSldfSksWChCJCx7b3BlbjpHMCxvbkNsb3NlOigpPT5UKCExKSx1ZGlkOiQuZGV2aWNlLGRldmljZVJ1bnRpbWU6USxjdXJyZW50QXBwOlIwLGV2ZW50TG9nRXZlbnRzRW5kcG9pbnQ6JC5ldmVudExvZ0V2ZW50c0VuZHBvaW50LG1ldHJpY3NFbmRwb2ludDokLm1ldHJpY3NFbmRwb2ludCxheE92ZXJsYXlFbmFibGVkOkssb25Ub2dnbGVBeE92ZXJsYXk6KCk9PlkoKHkpPT4heSksc3RyZWFtU2V0dGluZ3M6bSxvblN0cmVhbVBsYXliYWNrU2V0dGluZ3NDaGFuZ2U6ai51cGRhdGVQbGF5YmFjayxvblN0cmVhbUVuY29kZXJTZXR0aW5nc0NoYW5nZTpqLnVwZGF0ZUVuY29kZXIsYWN0aXZlQ29kZWM6aD9gd2VicnRjLyR7SDF9YDp1PyJoMjY0IjoibWpwZWciLHBlZXJDb25uZWN0aW9uOlYxLnBlZXJDb25uZWN0aW9uLHdlYnJ0Y1Nlc3Npb25JZDpWMS5zZXNzaW9uSWQsd2VicnRjU3RhdHNVcmw6TDQoJCksYXZjY1N1cHBvcnRlZDpjLnN1cHBvcnRlZCxzdHJlYW1TZXR0aW5nc1BlbmRpbmc6ai5wZW5kaW5nfHwhai5lbmNvZGVyU2V0dGluZ3NBdmFpbGFibGUsc3RyZWFtVHJhbnNwb3J0TG9ja2VkOnIsd2lkdGg6cTEsY2hyb21lRW5hYmxlZDp3LG9uQ2hyb21lRW5hYmxlZENoYW5nZTpQLGhhc0Nocm9tZTohIVomJiFxMH0pLFgoVDMse3BhbmVsV2lkdGg6cTEsdmlzaWJsZTpHMCxvblBvaW50ZXJEb3duOmoxLGFyaWFMYWJlbDoiUmVzaXplIHRvb2xzIHBhbmVsIn0pLFgoSCQse29wZW46cSxvbkNsb3NlOigpPT5HKCExKSx1ZGlkOiQuZGV2aWNlLHRhcmdldHM6Ri50YXJnZXRzLHNlbGVjdGVkVGFyZ2V0SWQ6VixvblNlbGVjdFRhcmdldDp6LGxvYWRpbmc6Ri5sb2FkaW5nLGVycm9yOkYuZXJyb3Isb25SZWZyZXNoOigpPT52b2lkIEYucmVmcmVzaCgpLHdpZHRoOlUxfSksWChUMyx7cGFuZWxXaWR0aDpVMSx2aXNpYmxlOnEsb25Qb2ludGVyRG93bjpFMSxhcmlhTGFiZWw6IlJlc2l6ZSBXZWJLaXQgRGV2VG9vbHMgcGFuZWwifSldfSldfSl9KX1ONihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicm9vdCIpKS5yZW5kZXIoWChDWSx7fSkpOwo8L3NjcmlwdD4KPC9ib2R5PjwvaHRtbD4=","base64").toString("utf-8");return cX}var r5=new Map;function o5($){let v=[$.name,$.runtime,$.deviceTypeIdentifier??""].join("\x00"),U=r5.get($.udid);if(U?.signature===v)return U.device;let J={device:$.udid,name:$.name,runtime:$.runtime,chrome:pI($),placeholderAsset:mQ($)};return r5.set($.udid,{signature:v,device:J}),J}function XP($,v,U){let J=lB(),_=(N)=>{if(/iphone/i.test(N))return 0;if(/ipad/i.test(N))return 1;if(/watch/i.test(N))return 2;if(/(apple\s*tv|^tv\b)/i.test(N))return 3;if(/vision|reality/i.test(N))return 4;return 5},I=(N)=>{if(v.has(N.udid))return 0;if(U&&N.udid===U)return 1;if(N.state==="Booted")return 2;if(N.udid===J)return 3;return 4},D=(N)=>{let X=N.match(/-(\d+)-(\d+)/),Q=X?Number(X[1]):0,W=X?Number(X[2]):0;return-(Q*1000+W)};return $.sort((N,X)=>I(N)-I(X)||_(N.name)-_(X.name)||N.name.localeCompare(X.name)||D(N.runtime)-D(X.runtime))}function QP(){return new Promise(($)=>{C4("xcrun",["simctl","list","devices","-j"],{encoding:"utf-8",timeout:3000},(v,U)=>{if(v)return $([]);try{let J=JSON.parse(U),_=[];for(let[I,D]of Object.entries(J.devices)){if(!/SimRuntime\.(iOS|watchOS|visionOS|xrOS)-/i.test(I))continue;for(let N of D){if(N.isAvailable===!1)continue;_.push({...N,runtime:I.replace(/^.*SimRuntime\./,"")})}}$(_)}catch{$([])}})})}async function dX($){let[v,U]=await Promise.all([J4(),QP()]),J=new Map(v.map((_)=>[_.device,_]));return{simulators:XP(U,J,$),helperByUdid:J}}function p5($,v,U,J,_){return $.map((I)=>{let D=v.get(I.udid),N=D?eU(D,B1(U),J,sU(U),_):null;return{device:I.udid,state:I.state,helper:N?{port:N.port,url:N.url,streamUrl:N.streamUrl,wsUrl:N.wsUrl}:null}})}var WP=1610612736;function YP(){try{let $=Number(P1("sysctl -n hw.memsize",{encoding:"utf-8",stdio:["ignore","pipe","ignore"],timeout:1500}).trim()),v=Number(P1("sysctl -n hw.pagesize",{encoding:"utf-8",stdio:["ignore","pipe","ignore"],timeout:1500}).trim()),U=P1("vm_stat",{encoding:"utf-8",stdio:["ignore","pipe","ignore"],timeout:1500}),J=(I)=>{let D=U.match(I);return D?Number(D[1]):0},_=J(/Pages free:\s+(\d+)/)+J(/Pages inactive:\s+(\d+)/)+J(/Pages speculative:\s+(\d+)/);return{totalBytes:Number.isFinite($)?$:0,availableBytes:_*(Number.isFinite(v)?v:4096)}}catch{return{totalBytes:0,availableBytes:0}}}function GP(){try{let $=P1("ps -axo rss=,args=",{encoding:"utf-8",stdio:["ignore","pipe","ignore"],timeout:3000,maxBuffer:8388608}),v={},U=0,J=/\/Devices\/([0-9A-F-]{36})\//i;for(let _ of $.split(`
137
+ `),v.resume(),!0}function cB($,v,U,J){if(!$7($,v))return;let _=new g5(J);_.binaryType="arraybuffer";let I=!1,D=!1,N=[],X=Buffer.from(U),Q=()=>{if(D)return;D=!0;try{_.close()}catch{}try{v.end(eX(8,Buffer.alloc(0)))}catch{}try{v.destroy()}catch{}},W=(G)=>{if(I&&_.readyState===g5.OPEN){_.send(G.opcode===1?G.payload.toString("utf8"):h5(G.payload));return}N.push({opcode:G.opcode,payload:Buffer.from(G.payload)})},Y=()=>{try{while(X.length>0){let G=s5(X);if(!G)break;if(X=X.subarray(G.consumed),G.opcode===8){Z1(v,8,G.payload),Q();return}if(G.opcode===9){Z1(v,10,G.payload);continue}if(G.opcode===1||G.opcode===2)W({opcode:G.opcode,payload:G.payload})}}catch{Q()}};_.onopen=()=>{I=!0;for(let G of N)_.send(G.opcode===1?G.payload.toString("utf8"):h5(G.payload));N=[]},_.onmessage=(G)=>{let H=G.data,L=typeof H==="string"?Buffer.from(H):Buffer.from(H);Z1(v,typeof H==="string"?1:2,L)},_.onerror=Q,_.onclose=Q,v.on("data",(G)=>{if(typeof G==="string")G=Buffer.from(G);X=Buffer.concat([X,G]),Y()}),v.on("error",Q),v.on("close",Q),Y()}async function dB($,v,U){if(!aX(U)){v.writeHead(400,{"Content-Type":"application/json","Cache-Control":"no-store"}),v.end(JSON.stringify({error:"invalid_device"}));return}if($.method!=="GET"){v.writeHead(405,{Allow:"GET","Content-Type":"application/json","Cache-Control":"no-store"}),v.end(JSON.stringify({error:"method_not_allowed"}));return}try{let J=await w8(U);v.writeHead(200,{"Content-Type":"application/json","Cache-Control":"no-store"}),v.end(JSON.stringify(J))}catch(J){v.writeHead(500,{"Content-Type":"application/json","Cache-Control":"no-store"}),v.end(JSON.stringify({udid:U,alive:!1,error:J instanceof Error?J.message:String(J)}))}}function tB($,v,U,J,_){if(!U)return!1;let I=J.split("?")[0];if(I==="/camera/status")return dB($,v,U),!0;if((I==="/webrtc/offer"||I==="/webrtc/close"||I==="/webrtc/stats"||I==="/stream-settings")&&$.method==="OPTIONS")return bI(v),!0;if(I==="/webrtc/stats"){let N=ZQ(U);if(!N)return!1;return N.handleWebRTCStats($,v),!0}let D;try{D=Bv(U,_)}catch{return!1}switch(I){case"/stream.mjpeg":return D.handleMjpeg($,v),!0;case"/stream.avcc":return D.handleAvcc($,v),!0;case"/stream-settings":return D.handleStreamSettings($,v),!0;case"/config":return D.handleConfig($,v),!0;case"/health":return D.handleHealth($,v),!0;case"/webrtc/offer":return D.handleWebRTCOffer($,v),!0;case"/webrtc/close":return D.handleWebRTCClose($,v),!0;case"/ax":return D.handleAx($,v),!0;case"/foreground":return D.handleForeground($,v),!0;default:return!1}}function aB($,v,U,J,_){let I=A8($,v,U,"127.0.0.1",J);return _?{...I,token:_}:I}async function eB($,v,U,J,_){if(await new Promise((D)=>C4("xcrun",["simctl","boot",$],()=>D())),!await new Promise((D)=>{C4("xcrun",["simctl","bootstatus",$,"-b"],{timeout:180000},(N)=>D(!N))})){if(!await new Promise((N)=>{C4("xcrun",["simctl","list","devices","-j"],(X,Q)=>{if(X)return N(!1);try{let W=JSON.parse(Q);N(Object.values(W.devices).flat().some((Y)=>Y.udid===$&&Y.state==="Booted"))}catch{N(!1)}})}))return`Device ${$} failed to reach booted state`}return T8(aB($,v,U,J,_)),null}function sB($,v){let U=[],J=[],_=Buffer.from(v),I=!1,D=()=>{if(I)return;I=!0;for(let Q of J)Q()},N=()=>{D();try{$.end(eX(8,Buffer.alloc(0)))}catch{}try{$.destroy()}catch{}},X=()=>{for(;;){let Q;try{Q=s5(_)}catch{N();return}if(!Q)return;if(_=_.subarray(Q.consumed),Q.opcode===8)return N();if(Q.opcode===9){Z1($,10,Q.payload);continue}if(Q.opcode===1||Q.opcode===2)for(let W of U)W(Q.payload)}};if($.on("data",(Q)=>{_=Buffer.concat([_,Q]),X()}),$.on("close",D),$.on("error",D),v.length)X();return{send(Q){Z1($,2,Q)},on(Q,W){if(Q==="message")U.push(W);else J.push(W)},close:N}}function $P($,v,U,J,_){if(!J)return!1;let I;try{I=Bv(J,_)}catch{return!1}if(!$7($,v))return!0;return I.attachHidSocket(sB(v,U)),!0}function pX($,v,U,J,_=!1){let I=(v===""?"":v)+"/grid/api",D=typeof J==="string"?J:void 0,N=typeof J==="object"?J:_7(D),{token:X,streamSettings:Q,...W}=$;return{...W,basePath:v,logsEndpoint:D6(v,"/logs",$.device),appStateEndpoint:D6(v,"/appstate",$.device),eventLogEndpoint:D6(v,"/api/event-log",$.device),eventLogEventsEndpoint:D6(v,"/api/event-log/events",$.device),metricsEndpoint:D6(v,"/metrics",$.device),axEndpoint:D6(v,"/ax",$.device),cameraStatusEndpoint:`${v==="/"?"":v}/helper/${encodeURIComponent($.device)}/camera/status`,devtoolsEndpoint:D6(v,"/devtools",$.device),streamSettingsEndpoint:hB($.streamUrl),gridApiEndpoint:I,gridCatalogEndpoint:I+"/catalog",gridStatusEndpoint:I+"/status",gridStatusEventsEndpoint:I+"/status/events",gridStartEndpoint:I+"/start",gridShutdownEndpoint:I+"/shutdown",gridMemoryEndpoint:I+"/memory",previewEndpoint:v===""?"/":v,execToken:U,chrome:yB($.device),...D?{codec:D}:{},...N?{streamSettings:N}:{},..._?{proxyHelpers:!0}:{}}}async function vP($){return new Promise((v)=>{let U=kB();U.once("error",()=>v(!1)),U.once("listening",()=>U.close(()=>v(!0))),U.listen($,"127.0.0.1")})}async function m5($){let v=`http://127.0.0.1:${$}`;try{let U=await fetch(`${v}/json/version`);if(!U.ok)return null;if((await U.json()).Browser!=="Safari/inspect-webkit")return null;return{port:$,cdpUrl:v,async listTargets(){return(await(await fetch(`${v}/json/list`)).json()).filter((D)=>D.id.startsWith("sim:")).map((D)=>{let X=D.id.split(":")[1],Q=D.description?.match(/\(([^)]+)\)/)?.[1];return{id:D.id,title:D.title||D.url||"Untitled",url:/^https?:/i.test(D.url)?D.url:"about:blank",type:D.type||"page",udid:X,bundleId:Q}})}}}catch{return null}}async function _P(){if(J6)try{return await(await J6).listTargets(),J6}catch{J6=null}return J6=(async()=>{let{startCdpServer:$}=await Promise.resolve().then(() => (w5(),q5));for(let v=aU;v<aU+50;v++){if(!await vP(v)){let U=await m5(v);if(U)return U;continue}try{let U=await $({host:"127.0.0.1",port:v});return{port:v,cdpUrl:`http://127.0.0.1:${v}`,async listTargets(){return U.getTargets().filter((J)=>J.source?.kind==="simulator").map((J)=>{let _=J.url??"";return{id:J.targetId,title:J.title||J.appName||_||"Untitled",url:/^https?:/i.test(_)?_:"about:blank",type:J.type||"page",appName:J.appName,bundleId:J.bundleId,udid:J.source?.id,inUseByOtherInspector:!!J.inUseByOtherInspector}})},highlightTarget:U.highlightTarget?.bind(U),releaseHighlight:U.releaseHighlight?.bind(U)}}catch(U){if(U?.code==="EADDRINUSE"){let J=await m5(v);if(J)return J;continue}throw U}}throw Error(`No available inspect-webkit port found in ${aU}-${aU+49}`)})().catch(($)=>{throw J6=null,$}),J6}function UP($){return Array.isArray($)?$[0]:$}function v7($){return UP($.headers["x-forwarded-proto"])?.split(",",1)[0]?.trim().toLowerCase()}function IP($){return v7($)==="https"?"wss":"ws"}function sU($){return v7($)==="https"?"https":"http"}function JP($,v,U,J){let _=new URL(`${$}/inspector.html`,"http://serve-sim.local");return _.searchParams.set(v,`${U}/page/${encodeURIComponent(J)}`),`${_.pathname}${_.search}`}var cX=null;function DP(){try{let $=process.argv;if($[1]&&c5($[1]))return $[1]}catch{}return"serve-sim"}function NP(){if(!cX)cX=Buffer.from("PCFkb2N0eXBlIGh0bWw+CjxodG1sPjxoZWFkPgo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsaW5pdGlhbC1zY2FsZT0xLG1heGltdW0tc2NhbGU9MSx1c2VyLXNjYWxhYmxlPW5vIj4KPHRpdGxlPlNpbXVsYXRvciBQcmV2aWV3PC90aXRsZT4KPGxpbmsgcmVsPSJpY29uIiB0eXBlPSJpbWFnZS94LWljb24iIGhyZWY9ImRhdGE6aW1hZ2UveC1pY29uO2Jhc2U2NCxBQUFCQUFVQUVCQUFBQUVBSUFBNEJnQUFWZ0FBQUNBZ0FBQUJBQ0FBUEFvQUFJNEdBQUF3TUFBQUFRQWdBS0VQQUFES0VBQUFnSUFBQUFFQUlBQ2NPQUFBYXlBQUFBQUFBQUFCQUNBQS9wb0FBQWRaQUFDSlVFNUhEUW9hQ2dBQUFBMUpTRVJTQUFBQUVBQUFBQkFJQmdBQUFCL3ovMkVBQUFBRVowRk5RUUFBc1k4TC9HRUZBQUFBSUdOSVVrMEFBSG9tQUFDQWhBQUErZ0FBQUlEb0FBQjFNQUFBNm1BQUFEcVlBQUFYY0p5NlVUd0FBQUI0WlZoSlprMU5BQ29BQUFBSUFBUUJHZ0FGQUFBQUFRQUFBRDRCR3dBRkFBQUFBUUFBQUVZQktBQURBQUFBQVFBQ0FBQ0hhUUFFQUFBQUFRQUFBRTRBQUFBQUFBQUFrQUFBQUFFQUFBQ1FBQUFBQVFBRG9BRUFBd0FBQUFFQUFRQUFvQUlBQkFBQUFBRUFBQUFRb0FNQUJBQUFBQUVBQUFBUUFBQUFBT2JZeVZNQUFBQUpjRWhaY3dBQUZpVUFBQllsQVVsU0pQQUFBQUtjYVZSWWRGaE5URHBqYjIwdVlXUnZZbVV1ZUcxd0FBQUFBQUE4ZURwNGJYQnRaWFJoSUhodGJHNXpPbmc5SW1Ga2IySmxPbTV6T20xbGRHRXZJaUI0T25odGNIUnJQU0pZVFZBZ1EyOXlaU0EyTGpBdU1DSStDaUFnSUR4eVpHWTZVa1JHSUhodGJHNXpPbkprWmowaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzh3TWk4eU1pMXlaR1l0YzNsdWRHRjRMVzV6SXlJK0NpQWdJQ0FnSUR4eVpHWTZSR1Z6WTNKcGNIUnBiMjRnY21SbU9tRmliM1YwUFNJaUNpQWdJQ0FnSUNBZ0lDQWdJSGh0Ykc1ek9uUnBabVk5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmRHbG1aaTh4TGpBdklnb2dJQ0FnSUNBZ0lDQWdJQ0I0Yld4dWN6cGxlR2xtUFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwyVjRhV1l2TVM0d0x5SStDaUFnSUNBZ0lDQWdJRHgwYVdabU9saFNaWE52YkhWMGFXOXVQakUwTkR3dmRHbG1aanBZVW1WemIyeDFkR2x2Ymo0S0lDQWdJQ0FnSUNBZ1BIUnBabVk2V1ZKbGMyOXNkWFJwYjI0K01UUTBQQzkwYVdabU9sbFNaWE52YkhWMGFXOXVQZ29nSUNBZ0lDQWdJQ0E4ZEdsbVpqcFNaWE52YkhWMGFXOXVWVzVwZEQ0eVBDOTBhV1ptT2xKbGMyOXNkWFJwYjI1VmJtbDBQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZsRWFXMWxibk5wYjI0K01qVTJQQzlsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnSUNBZ1BHVjRhV1k2VUdsNFpXeFlSR2x0Wlc1emFXOXVQakkxTmp3dlpYaHBaanBRYVhobGJGaEVhVzFsYm5OcGIyNCtDaUFnSUNBZ0lDQWdJRHhsZUdsbU9rTnZiRzl5VTNCaFkyVStNVHd2WlhocFpqcERiMnh2Y2xOd1lXTmxQZ29nSUNBZ0lDQThMM0prWmpwRVpYTmpjbWx3ZEdsdmJqNEtJQ0FnUEM5eVpHWTZVa1JHUGdvOEwzZzZlRzF3YldWMFlUNEs2ZjdKY1FBQUFvSkpSRUZVT0JHbFVzOXJFMEVVL21abWs5MU5paVd4MHRvcVZSRHhvQ0NtSUhnVVdpaWV2UFRrU2NHVENJSUhFUS8xRC9BaWluK0NKdzhxZUZERVMrMUZnZ0VWV3l5MDBDYllObW1iNXNkbXM3c3pmck90cGZjK2RuYmY3SHZ2ZTkvN1pvQWptamhjYndEMWJIZTNVRzA2N2tZdkVBR0RXMTB1T2x1ZWIzUWNoN1dKWS9YRE5RY0FkNVo2NTc1MW5PZk5VSlFTcmQxWUE0WlJUZFNFdnJhWlVvWUNwdXlZK1A3bU5XL0pBcVVBNXN1c2M4bC85R0ZGdUpNNk1QeHBZRmdvNUY1QzZqUFRScVRIMVEwL05UZmZUV05tSm5Fc3l0UGlyV0tyTGt2OVVHT2lZSEJqUkNLeDg2UkZUS0NmSWRqbkRZMjVob0FqWkduWXVYSjhIZGhJQVdvdDRTVmRPQ01zbUM0S1hQVU5hcDBFemI2QXNCeEp3WFVraGpnS3V1U2g0S2kyOExoREN0Q2pTSjFkNE1GRmdTZm5iUVV3VjR2d2FqbUJiMXNUd0ZFSzFSYjlEdU1xVFVsZktVRFE0Nnc5ZHJFZGFGYkFJVTlpY2xTZzZOdHNnNGdxanUwQXl3Mmd6WHpFTm5PZndmWTJ2YTVBMUdlRHlLVEtEeWlEVTVrRWl0MnRpRW9LVEExTHhLSEV5N0pCUWZ1b0hRYXc2b2NjcGRIUkZFeGd2YVh4ZlMyQ2w3RWtMU2hucHlBNnpNTHRhM2dwOS84YWtBSGxRa0lHOVRibmxScTFIWU9mVmY1WDdNcVI4bVJqcmRyV2tJSEE2QW1nekgySzArMTNRektPRjFZTnlqbnlaY2NmYXhxVkZRZDFKc2QyL2tGN2ZCcXJUWWxjRnZGQTBBZ3RZQW93UHYrbThhZjBzUEoxTVg5OS9oYzdFU05Lc2xEc3pnZVMreW9QM2ZCcUtsY2luM1FxTjBkLzExOFRZTy9NNkp5NXUzZ2g5c2RlUUdRdUcyTmNLNXk5QTVRai9UcEVVWTRNZlJWVnhnYzI3NzEvZkhiQk1qZ0FzQnVhT0gzNzQwa0Izek1KYnhITmRZRkJya0krYTNKZTBIczdPL1dYZ2YwRHR4bEh0SDg0aWhRSmZTYXpqUUFBQUFCSlJVNUVya0pnZ29sUVRrY05DaG9LQUFBQURVbElSRklBQUFBZ0FBQUFJQWdHQUFBQWMzcDY5QUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFnWTBoU1RRQUFlaVlBQUlDRUFBRDZBQUFBZ09nQUFIVXdBQURxWUFBQU9wZ0FBQmR3bkxwUlBBQUFBSGhsV0VsbVRVMEFLZ0FBQUFnQUJBRWFBQVVBQUFBQkFBQUFQZ0ViQUFVQUFBQUJBQUFBUmdFb0FBTUFBQUFCQUFJQUFJZHBBQVFBQUFBQkFBQUFUZ0FBQUFBQUFBQ1FBQUFBQVFBQUFKQUFBQUFCQUFPZ0FRQURBQUFBQVFBQkFBQ2dBZ0FFQUFBQUFRQUFBQ0NnQXdBRUFBQUFBUUFBQUNBQUFBQUFmZ3ZhVWdBQUFBbHdTRmx6QUFBV0pRQUFGaVVCU1ZJazhBQUFBcHhwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJbGhOVUNCRGIzSmxJRFl1TUM0d0lqNEtJQ0FnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0S0lDQWdJQ0FnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJS0lDQWdJQ0FnSUNBZ0lDQWdlRzFzYm5NNmRHbG1aajBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5MGFXWm1MekV1TUM4aUNpQWdJQ0FnSUNBZ0lDQWdJSGh0Ykc1ek9tVjRhV1k5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdlpYaHBaaTh4TGpBdklqNEtJQ0FnSUNBZ0lDQWdQSFJwWm1ZNldGSmxjMjlzZFhScGIyNCtNVFEwUEM5MGFXWm1PbGhTWlhOdmJIVjBhVzl1UGdvZ0lDQWdJQ0FnSUNBOGRHbG1aanBaVW1WemIyeDFkR2x2Ymo0eE5EUThMM1JwWm1ZNldWSmxjMjlzZFhScGIyNCtDaUFnSUNBZ0lDQWdJRHgwYVdabU9sSmxjMjlzZFhScGIyNVZibWwwUGpJOEwzUnBabVk2VW1WemIyeDFkR2x2YmxWdWFYUStDaUFnSUNBZ0lDQWdJRHhsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0eU5UWThMMlY0YVdZNlVHbDRaV3haUkdsdFpXNXphVzl1UGdvZ0lDQWdJQ0FnSUNBOFpYaHBaanBRYVhobGJGaEVhVzFsYm5OcGIyNCtNalUyUEM5bGVHbG1PbEJwZUdWc1dFUnBiV1Z1YzJsdmJqNEtJQ0FnSUNBZ0lDQWdQR1Y0YVdZNlEyOXNiM0pUY0dGalpUNHhQQzlsZUdsbU9rTnZiRzl5VTNCaFkyVStDaUFnSUNBZ0lEd3ZjbVJtT2tSbGMyTnlhWEIwYVc5dVBnb2dJQ0E4TDNKa1pqcFNSRVkrQ2p3dmVEcDRiWEJ0WlhSaFBncnAvc2x4QUFBR2hrbEVRVlJZQ2UxV3pZOFVSUlIvVlYwOTNiUExmbVVYa0JESTdvVUVSU1ZySUFvbTNreU1GeEtQbmpRbXhJTlhUTlNMQ1RHR2kvNEZHaE1UalViQ3djQkJFMDFBQ0pKZEVrRUlBbUVGQVlGZGxtVm1kcVkvcXN2ZnIyYUc2VmtXcm5yd0pkWFZYZjNxdmQvN3JCTDVuLzVsRDZoSDZYZUgzNGtPN056LzdKKzE0TWtrTUJPdFhFVlpManJIaHJ3UVNUQUtMWkppWGs0eFk3MkZueTE4NXdxL2pFdXlMSjgzeXA1YlAvdjE2Wm05ZTdQVmRLMEs0T1ByQzd1T0xvOGN1RnhUTDlSRmF4ZEFxSVZDMXhiaE9yUEdPbDh0RkhQdURnV3BBZmRBcGJKRllZdzdVY21XOXQzWU5YNThKWWlIQU95ZnU3WHJjR1BpK3pNMVBXWmJWclJ5WW93U2E1MTBGVk1JTndhQjhrb0wvQ3RURzRDU1BPZTZFaFVGWXFSWXJOcDdyMTdmUFg2aXpBc245dWo0OFcrcXgycWpuL3kycE1lS0p2eE5qWEFwaDFzeENueHpjTDM3WHA1Ny9FNG9LeTMwV0t0WTgrbms1ei9GUFkwQ1lDVTZNanc5UFZjek8yemRDb3p6NURFQVIwQXNaUmZncjBlUGRkZU5UVWVXeGw0UERLSGh1eWZFMElabVI3cDJhaHJmRDBMUkIrQjJNdkpVM1dxbEVUenVnM0V5Q0k0M3BnSlpXMEdzb2F4TWREVnBCUzRQL2o1eTVvdUx1ZHhwQWJ6blF3aE5xS3dNYnNPVzFRRWtFa3dnNUZLQlpPNWh0bThjVURLOVJvbEdtaGY4U2VMa2hmS0JqODdFWDN6bnA0NlVURldWTERTZGhCMDNjREk2bVBCOG5VZWZCNUxNUlRrUUYwazc0UnJJNGlZc24yOWlEUW1KaFBiV2hqQ0pTbFRIQlc2RkN6UTBtVEFRQ3psRkM2T3JCVEd6cVlzZUNjQW15RHRhbWlvWlFORGYzNmJsdVhFbG13ZGhwNFZLcCtWR3M1Q2pONEVNTmFpN0FPaUZMZ2lzYWEwbFJQd3RLeC9ERllTTEdhVXAyWU9zOEd0ZGJQNGp4eVp1eU9DRkZ6Y3AyYmVWTzdyVUxwZ3RJNEdjdXRHU0t6V1J5TFQvdHozUUNRL1kwVGtrcXNCeXlGSWNUQ2FRZ2piZnlkcWYvdGtQQU5ZckQ4SUp3dTZKWWt2R2VkZmZiMXE1ZGs5SlhFRWY4TVo3cnZZR2NMQUpEY1RPTnlqS1V4MEJCQ09VWDZLSEFEZ3dPVEFWSFVZbVlqZkdqQzB6T29TYnA0WUQyWXhSRGZrTkpSZ1d2QWxLcFo0cHVZY21WRUY1SnVqTkJvM0kyME9aandVQUFheDM0eEJIV2daKzlucGZqNUJBaDdQOXZyWWxGcVZEcVJpRUJkYVJyMHhNVHFiTUs1TmF2anlYeTZHTERsN1JYbVpBZVNYcTgwREtFTUFEUGs2bzR4U1NVeUNtQjJrNXJTUTFtNW5VWUtHQjBCNkJpVWpBUkFBQnZEV0VaSHo3NlJCblFpYUhMcUFER0NQbWNRQmFLTGNjSUh6NUFFZ0NFQzBvWWd4cExFUEFwcmVFSEZoTTRQcE9FaEtFMTkxQlF3RGtSZW5BWTRIc1hxL2x5TytaV0NSMzNER2l3OXJmaXJNVkh1RHgyc3djV2k3aUNkZnpZS0psTmRUMjNXV3NoVlJib2c0S2YwUUJSQUcwRG51Y0NtVVFNVjJHVVRINlNwbjZRd0NFTklWaEFIaHBZVjVHSENqUUFvQkRnMWRJZ29WNklUZFJobkVGYnVsYTVMSDA1d09UVXBFRmZpOGdCMmtqbGNjQmFBRUFlbzNQVkFMZ1JhTU9hMkdMWklCcWVRT0JSYmRyVHY1YUxDU09BQWdhWXJpSDNiR1pXa2t6NnpGMW9SakVqaTI4VmtkcGpnQkEyWHk4OTNrQTVWY3d5d01vWi9Ob0FuVUQ3WlE1a0VCQmhud2d3SVdHa3IrWGxBd1BCakkrRk1yY2dwVmJPSDIyYlF4eFlBV3lXSWNndUI5UmtBMWpSazVmemFTQUM1bUFsUlZIWng4QVpWM0taQXRRaGdWQXBMaGJKYWhwRnFCR2ZjTTRDYkREd0pjREZXUTAwSjY4bE1rZmQranFRSzdNRjdKOW84akVtb3Evd0xCSXpsN0w1ZHgxSllNUitCR21XTEhaOTZnUFFOWklGM0ljRlJxSk4zT3BrRk9iUkVaeGZTZ0FpRVJ3cDY4bTh0MnZLZTk5MGtTWHltQnhCZVdtd0pQZzVEdDJvWkNoS0lkQ1ZFc2psM3JLRUJsVUZnV3d4TzI4RjlaNTlBR1F4dng1SmVza3dPRnhGeTcrOEdDS294U1hFNWhpa1ZIc2lHZ0JLSzBCOUFERVBkU0MyNXEzbG9IbkdSbXBRTmhQVVBwWUQzQ280UWRjWDBCbWpNUWFjcmZPbHdIQXBoNDF6aHljTVhsckZvZXBCMkVrUkNoaW5HWVJSZ3doVmFtYUt0eklob0phNzdaV3psRFlIVnpuL3dEdHNIMjJJSFRZc3pacXpZN09INXp0YVdSd1M3UTg5M002dm5YUFpSMnQyNFBhalhnRkFuNWYrN1FDeWV5SDd6cDQ1M0hNTlY2L3V2ODRrOWlNZUo0NHRuVVR5dWJSN1A1a2NPYXR6ejU0L1VLYm8vMmsvSWRvNnMxZlhpNUduL2tJaFRhTkM3NEtFU2hleTltU3k4UlRqd0o4dldObTF2T2J0YzhtU1dDeHp0MjY0V1RtQ1RuNzNsZnZQdjlEZVQvZlZ3WEFINk9UMjBlSFhqcXdVOFVidG9hVjZnVEtDeFZFMFQzU0FNYkVSQ3BJekZNUjMreE5KblFGY2ljMXJqay9ZRytmVjhmMm5mejJ4NW1sM3M3LzMvNURIdmdIYWtRU1dLMGpJVXdBQUFBQVNVVk9SSzVDWUlLSlVFNUhEUW9hQ2dBQUFBMUpTRVJTQUFBQU1BQUFBREFJQmdBQUFGY0MrWWNBQUFBRVowRk5RUUFBc1k4TC9HRUZBQUFBSUdOSVVrMEFBSG9tQUFDQWhBQUErZ0FBQUlEb0FBQjFNQUFBNm1BQUFEcVlBQUFYY0p5NlVUd0FBQUI0WlZoSlprMU5BQ29BQUFBSUFBUUJHZ0FGQUFBQUFRQUFBRDRCR3dBRkFBQUFBUUFBQUVZQktBQURBQUFBQVFBQ0FBQ0hhUUFFQUFBQUFRQUFBRTRBQUFBQUFBQUFrQUFBQUFFQUFBQ1FBQUFBQVFBRG9BRUFBd0FBQUFFQUFRQUFvQUlBQkFBQUFBRUFBQUF3b0FNQUJBQUFBQUVBQUFBd0FBQUFBQW02MUswQUFBQUpjRWhaY3dBQUZpVUFBQllsQVVsU0pQQUFBQUtjYVZSWWRGaE5URHBqYjIwdVlXUnZZbVV1ZUcxd0FBQUFBQUE4ZURwNGJYQnRaWFJoSUhodGJHNXpPbmc5SW1Ga2IySmxPbTV6T20xbGRHRXZJaUI0T25odGNIUnJQU0pZVFZBZ1EyOXlaU0EyTGpBdU1DSStDaUFnSUR4eVpHWTZVa1JHSUhodGJHNXpPbkprWmowaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzh3TWk4eU1pMXlaR1l0YzNsdWRHRjRMVzV6SXlJK0NpQWdJQ0FnSUR4eVpHWTZSR1Z6WTNKcGNIUnBiMjRnY21SbU9tRmliM1YwUFNJaUNpQWdJQ0FnSUNBZ0lDQWdJSGh0Ykc1ek9uUnBabVk5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmRHbG1aaTh4TGpBdklnb2dJQ0FnSUNBZ0lDQWdJQ0I0Yld4dWN6cGxlR2xtUFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwyVjRhV1l2TVM0d0x5SStDaUFnSUNBZ0lDQWdJRHgwYVdabU9saFNaWE52YkhWMGFXOXVQakUwTkR3dmRHbG1aanBZVW1WemIyeDFkR2x2Ymo0S0lDQWdJQ0FnSUNBZ1BIUnBabVk2V1ZKbGMyOXNkWFJwYjI0K01UUTBQQzkwYVdabU9sbFNaWE52YkhWMGFXOXVQZ29nSUNBZ0lDQWdJQ0E4ZEdsbVpqcFNaWE52YkhWMGFXOXVWVzVwZEQ0eVBDOTBhV1ptT2xKbGMyOXNkWFJwYjI1VmJtbDBQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZsRWFXMWxibk5wYjI0K01qVTJQQzlsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnSUNBZ1BHVjRhV1k2VUdsNFpXeFlSR2x0Wlc1emFXOXVQakkxTmp3dlpYaHBaanBRYVhobGJGaEVhVzFsYm5OcGIyNCtDaUFnSUNBZ0lDQWdJRHhsZUdsbU9rTnZiRzl5VTNCaFkyVStNVHd2WlhocFpqcERiMnh2Y2xOd1lXTmxQZ29nSUNBZ0lDQThMM0prWmpwRVpYTmpjbWx3ZEdsdmJqNEtJQ0FnUEM5eVpHWTZVa1JHUGdvOEwzZzZlRzF3YldWMFlUNEs2ZjdKY1FBQUMrdEpSRUZVYUFYdFdWMklIV2NaZnIvNVBidG5mMDIyS1UzU2xqYjlTUk1DcFdCU1c5QkFiU0V0MUp2Y0ZoUzhLSUpDUVJTdDRJVUI5Y0tmNG9XVW9ONUpJc1ZDSU1YRzJpYUlwaWxwU2tvYTA2aHBaZFBkVFRiWjdPNDVlMmJtekkvUDg4NlozZGt6czBrS3hSdnpuWjJaYjc2ZjkzdWY5L2Y3WmtWdWxWc1MrUCtXZ1BtMDhETVJJd2YzdWxPUFArY3NMSXpiMTJ6SExNNHZtcmtTSWRhWDMxRXAzb3MyZmNmTkdSck9yblhqYk1pYVMrVFFvZTdKbDEvdWxzamNWUFdtQUV4UC82bDV3SC8waVU5Q2IvZHNhTGEyWXVzMnNhMkJvQ3RPa29vRlVCTGp5bEJKV2NjelJzWFllUjNqSkVFYnIyN3Z3anl0NHpYMVBZbURJTzJJbFY2eVRIYld5YUkzbzdOLy8vUE1jMCsxYjRUaWhnQitkZW5xbmxQUjZJL2VYN0Flbm81RVdpR1lTa1JjVHlRTXJrL2VjZkwrbU9oUTFsck1iNEFXYUJzckIyMWpvR1BTVTE1My9zWEpYWjg3bk0rdXY2OUZVMGYvZE9yYTgyKzJSMzV4L0lyeGdrNHNvQzhHTXpqSjk0MkVJZVIzbmVJNE9mbVlLcmxPcWFObGZFZGNxS0tSdEw5MWNlZndyOWVhVHA1cXk4OC9tbnI2TDYyUlh4NmRFcThMNXNtTDFXTytkc0puM0ppRnNVUWQ4UUtyK2RLbW81ZjJyRVcrRnNEQkl3ZEhUeWZyZm54ODFyaUc5Z0lCWnJEWlQzT2xuM0o4TFcyc0hYV05HN2xqUDlueTB1R1JPaEMxQVA2MStRdFBubGx5dHdldFdBd1lVYy9zZnhMWFozalZya0VoTE1VU0czZDc1NzRkVDlVQjZMblo2cTdMMXZEdTZTVVJHd1JNamZreXdsaVk2VU0xakR5MUJlYm05UG9zVldIdEtQVXBOelhTUVhpaTh4bzZXVjlKS0NodmVEZWEvOURYSlJVQWU4SDN0Y2g5c0EwQUt2MitHVEU0M2psaHlkTjMyc0pmdWhZQXpDdDRXUk5rYWN6eHkwWmUrMDlNcUJVUUdTSlVJdDRENkVKZ1JyVlVLZ0MyN2QwMmNMWnJKbUxFYnF1UE94Skh4Sk05bXl4NWdER2VraWtSNjY4V3NyelJHQWFINWpwTFRrNkpUSGN5Y2NobXVUQzlHVE94WWNlT3hzenAwNnR5UXdXQWJOdmxHY2RxZVBRT1o3V0xLQUJ0TXJJRXFTQ0pxZ25oWGw1TzY0YkJ0b1RnZW1NY0lHQ1NhMkk5RHh5NXRLVnlBU0RmTmdPeS9URlBiZ1RBODI2emc0NDRJVTJJNmJKVXVuaE5RQ3pvV3RMS2pBSkllbU80SkNXNVV2QlN2Q3UrS2tpT05aYWxERE9sUkFHaUR0Yk43TldDRTl1bXp6bjIwSVorM1ZSOUlISjlrekJuTVh2Q3VZclNoVGx0SEJDWjhETVpSYk9IZHd1eGo3OE1SdDdHK0NXWWxLdkpndk95WlZ0bWYxNktKOTlVUndDUUFVQW1BZDlwM1dyaEsrdm04ekNhM1pibTBxSkpueFVUaXFMSU1DYlRnZFdKc1NhWi8rNTJTNzV4dndVMW0xSkM2MDNIbUVXRXBsY3ZoUExoUWlZK2paZ3I5a0tZOHI4TW9yZSs5b0VXQUhCNFFKNFQzR0JMeW40WmcvWXQ2L1A2QU9naEthV2dHZ0E5TUg5WFUrU0ZyYlkwS3dyczBjSUM0M0NheHpZNGNtSnFTUm8rUkFVcktFSWlOZERQUDJjU0lNYzUwRUFNdTFlaDZiNkptaW9oS0N1dXQyVHhxR2lBSFJtSVVKMGt5SXc2aWdXOEVyMWljdi9UaC9rc0JyRUVxWXQ5RE5IbUs2c0RvMXJtZytRSWtDYWtDblBSZ0xWNHFTbWhXaTRNeWVYNVJWOHRBQ1lPRFF1UVBqV3RhYjQzZzJ1VXBaa3pna1hSemh3eDMwbkZCV29MRXFVeGNHeXVnZFhMa3lFTE54dmo2QU1OZEd2WVZoL2dZcVh4Sk5MbjF4ekJVZ0hRaGczQmlaZWx3ZTBDSFVzWlp4VzBGSURlY2luU2J5bHZadWlyN1V6R0lOVjFycEVSN0ZnYjZHQlk3RzFNbFMwR3JnaUVPcURiUmdadVJTbk9CcGJ1Ym5WdFNxT3ZHUEswS2dQa0F5b0EyTXdFcGRHQVhHczlVd0Nrd2NWWG9nb0FLQkJJRWhJYWdlMC8vOGlRM0x1dUllTURDSTlvQSs5YXlqeFJ0cndvRFBBdWkxRW1NemhickljZi9mRmNMUFB3YUI4NWdWclNRcUVWOVY1VDhhZ0FJRWhLazR2RFFuVWxGNTRHYTFJSmE5aFhhbVFoai8xcVpxZ1BRZW9QalhKdUpsMHd4ZE1YaTVwUVhsVlR5Mjg1ZlI1aVJvQnlmRmprL29jOWVmSWVSMTQ2RWN2SkdaaVZabE5NeEJnUFROV2RueW9BcUNhZW9Bb256aldRUzR2Q0xqUkFnYWhRUUJ4L0t0RVVuWE90U1B5R0JZMVFER3d2VU9DbGtDS2JVS2VBMUpFaGFndDJTSi9aQkthL3M4dVRIeDRMNWV4c0lnMFhkUERIYURXRWFUTzR5cVVDZ0JxSUFEVU9RUnpxamFIbkJLSWs0MVE1UXl5QmNMazhaeG5WRG5taWxoYVpUV0Z3bWt6Sk1EdldLajBRWko1QTFPbEJtWG5rMlh0c09UTVp3RmNBem5iUVdsOXFBWlExb0NHdHh6eWpVMG9VWkI1M01rbVFCTUxtR0FoYUFSeVNBQXF2TGRaVklHVTB5bjB1Q0FMUUdvVkFoa1UyRDl0eUczYU9sMEdQOUhFRUZ3LzVxTDlVQU5DRUdBa014WWxMa3dzMWdhdXJBRWdpQjdDODN5Y0FiRHM0cG8xTlhnd2ZzT244MXkwRVE4bm4yaVJOMWJBQ1FEdWNlQnhSYkhvUk9RaGhsb3pTaFBwTEJVQUxJN2lWTGlTdlR6QkRFNG9BakptWlRtdmpscHNTR2NBRk1VVVl0d2lKUmVpd25WU2xtaSs0N0FsOTY5Tm9PSnV5eWdHd2hTYmxJekh3UUpYeGd3RG9Ncy9kRkFENmdNWmlTaEFFaW5CSzZlS2NyU2FVSWJQWldJVCt0YnhOQUIvc24yc2prV0d3bzJFUWkwUEVPWXVnMVN1cm8xSU9qc0tnMGptWSs2TWhQRHNRaGtteENOYUdFbXBMUlFNYWhYaUFLQUdnR1hFckhkS1pxV2Y4V1doTUVQNHkyRG9YWm1URkxrS3VJSkY1a0pwRERaQjVjcC9mOUVGR1dUSms2Nkt1N3lTS1loQlhzWHVXRENCbUZ5QU1HQSt0Z09iYXJGRkJCVURIOGJJTU1aeE1FM24reEdZTFJDaGhQWjlpWlRxeFJpaHd6NlNUd2FRSVlCNzdlWmNMZ2pKTkFiYUZmWkVsNjRZY0RZVUVlM1V4aGpCQVFCSGtwb2czQlVxOFk4T1dmRHdiSXlTTERBNWlKZENqckhSTTM2MEN3QVFoTE1Ud3B3QUtFQVFRUUFPTVFqUUJMa1F6b21uUkx5QlBaV294dE1UQlhBZVowRUk0V1Qvc3lOaWdrYitkRCtRQ21OcXl3Wk5kOS9weXRXWExwWGtnNWdJS0JCeUN4UUY4MEJxRWJiNzZiZ3NIUW9DR2FnMHVLRFJ6YXI2a1ZRQjBybDVNUnh6a01tb0FKd2h1ZVQzRVpmVUJTRTIzMmoycnBvQUpyQXRRdEt3WWpGUHBTZVlpSzd0eSs1Z0RqY1J5NEoydXpDNVp5S3dEOHU1RmtjbHJzWHp4UGx2dVd1L0p6SHdxN1pBT2oxMHZwRDB4Yk9USW1Vam1PcDZNREZCcjRBRW0xWEFsSG5FdVliWFZwUUlnbkh3N0NscHBFSElvUWcrbE8zT0Y1dUZBUXBRNHFCWDJtZzlCRzA1VjhJVzVWaXJETGlUWWRLU0RrSFQwZzY1OE9FTTdSRlJCT3o3d2FEaThkQzJWQThkRHVYZEM1SUhiSFprWXNtR2FxVnhaN01vYjcwY3kyN1prY01DVmJrQk5BeHdFbUlacHNIRHFPSUwwNmxJQk1IdnVYRENjSnJQd0lmMXd4Uno0eVpWVTlyOFZ5ak03T0J5eW9zZFNaTFJLNk4zR3k4ZFhZdm5aNFFVNVBZazlESTZlQ2NZMGZGY0djYVVBQ0RsQ2ZaeUVoQVNSOHR6N2J3ajAvRlFNczhIT05JZ29MM0dodVNHWUVXTVh6WmhMTUNjMjdHVDI4bHRuS3R1aENnQ003MXBSNTd6bE5ML0U1RVF1dVpsNzVVUWlyNTFxaTJmbFoyQVAzOFJEZkZMT1J6RCtjNHZzeXVpUXE3YlBEcGR4bGdVQXRHZzA2bFhSNVBIckdIelVBNGNaTm9MOFpSakRQS1A1aCtOUjU1YThhY0lQRDBHSCtleVZleDBBU1Jlbmo5bWo2Nyt1SVJOalNiaUJzQkxESnlMZFltS25DU21HRVdOUlhoeUVDUjlNTU9vUUZCY0dWcFVnL1RRdmFDd1ZqdU5GUjdWd0htQWg4eXNGd1FGengzMUVvMmo2MkVyN1NtMkZnNVUyYWIrei80Z2RkLzVoR2VRLzlZV2NHYmdVdEdIamNpQTlXeVZJS2ZKeUFJaE1rT2xpenMwK2kyeGZOOTUzWE5uWURNN092Zi9iSXlVV2w2czlIUysvYTZWOThlMzIyTlpuWnAzbUhWOUpFa1J6bWdBbGcwdlZpeWNsbmlCaEZlOHF1YjR4UERLeW5hZTY4cmh5blRUWG9wVmx0ank0TVl2dlNOLzc1dS8zZmZYRWFpN3p0MW9Oc091ai9ZKytZaGJPdnRqd3M5aEFDdityd2x4UU9QTzJPN1A0YnYvYzkzL3p3dWRmV1d0OU5kZTFPdEh1M2ZPMW8zdk51a2UrRjV2bVE0ejFtZ2Z3aEE5TGdIODM5YXk4bGtUbFB6U1lWeTU4cFgveFgwd1JBaVMzRUEzWSs5aWd5TWFSOWdkandYdjdmdmZ0eC9sRm1ubTd0dHdJQUNlWjhXMVBiQjdiK1lNdm0rRzdIeGQ3YUV0bTNQVytiemZDeU5qSXl0QmlQUmxFUk4zLzBHUVlrUGo1aEV3eUxQSXNrWC9VTW1uRHk1SzBtd1MrMjUxdG1QWS8zZkRDWHlmZjJQZjZzZGRmbjhUNmZiQlg0NmhmZWZXWThodHRhYkE1TVRIZ3JyL1B6NXh4QkhRWDUvcGVnQytQUkIzQzFKcytXVVdGWDdmWndUWjhGODBzcTV2RlMzTkpOSDgrUEhQbWNnZk4yRTJ0TFhIMDNTcTNKSEJMQWlVSi9CY1lHc1pyMjk1WnJRQUFBQUJKUlU1RXJrSmdnb2xRVGtjTkNob0tBQUFBRFVsSVJGSUFBQUNBQUFBQWdBZ0dBQUFBd3o1aHl3QUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQWdZMGhTVFFBQWVpWUFBSUNFQUFENkFBQUFnT2dBQUhVd0FBRHFZQUFBT3BnQUFCZHduTHBSUEFBQUFIaGxXRWxtVFUwQUtnQUFBQWdBQkFFYUFBVUFBQUFCQUFBQVBnRWJBQVVBQUFBQkFBQUFSZ0VvQUFNQUFBQUJBQUlBQUlkcEFBUUFBQUFCQUFBQVRnQUFBQUFBQUFDUUFBQUFBUUFBQUpBQUFBQUJBQU9nQVFBREFBQUFBUUFCQUFDZ0FnQUVBQUFBQVFBQUFJQ2dBd0FFQUFBQUFRQUFBSUFBQUFBQW1nTzgxZ0FBQUFsd1NGbHpBQUFXSlFBQUZpVUJTVklrOEFBQUFweHBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlsaE5VQ0JEYjNKbElEWXVNQzR3SWo0S0lDQWdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRLSUNBZ0lDQWdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlLSUNBZ0lDQWdJQ0FnSUNBZ2VHMXNibk02ZEdsbVpqMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzkwYVdabUx6RXVNQzhpQ2lBZ0lDQWdJQ0FnSUNBZ0lIaHRiRzV6T21WNGFXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2WlhocFppOHhMakF2SWo0S0lDQWdJQ0FnSUNBZ1BIUnBabVk2V0ZKbGMyOXNkWFJwYjI0K01UUTBQQzkwYVdabU9saFNaWE52YkhWMGFXOXVQZ29nSUNBZ0lDQWdJQ0E4ZEdsbVpqcFpVbVZ6YjJ4MWRHbHZiajR4TkRROEwzUnBabVk2V1ZKbGMyOXNkWFJwYjI0K0NpQWdJQ0FnSUNBZ0lEeDBhV1ptT2xKbGMyOXNkWFJwYjI1VmJtbDBQakk4TDNScFptWTZVbVZ6YjJ4MWRHbHZibFZ1YVhRK0NpQWdJQ0FnSUNBZ0lEeGxlR2xtT2xCcGVHVnNXVVJwYldWdWMybHZiajR5TlRZOEwyVjRhV1k2VUdsNFpXeFpSR2x0Wlc1emFXOXVQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZoRWFXMWxibk5wYjI0K01qVTJQQzlsZUdsbU9sQnBlR1ZzV0VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnSUNBZ1BHVjRhV1k2UTI5c2IzSlRjR0ZqWlQ0eFBDOWxlR2xtT2tOdmJHOXlVM0JoWTJVK0NpQWdJQ0FnSUR3dmNtUm1Pa1JsYzJOeWFYQjBhVzl1UGdvZ0lDQThMM0prWmpwU1JFWStDand2ZURwNGJYQnRaWFJoUGdycC9zbHhBQUEwNWtsRVFWUjRBZTJkYVpBa3gzWGZzKytlYzYvWjJRT0xhNEVsUUFJbUtkQ0VMRktrUk5BMmd3ckxsTU1mek1PbUltelJKaDBNaDBnNS9FRmhpYklWVmppc2d3aUhlSVJOU3FBc0tpZ0xFbmpia0hpSUpnaVFPQWlBd3BKWVhBdnNpY1VlTTdPN2MvWDA0Zi92WldaMWRVLzNUTmRzTHdTU2t6TlZlYjE4NytWN0wxOW1WV1ZWTzdjWk5pV3dLWUZOQ1d4S1lGTUNteExZbE1DbUJEWWxzQ21CVFFsc1NtQlRBcHNTMkpUQXBnUTJKYkFwZ1I5OUNlUmVZbDE4cWZGenVjVFR1bHlJcytMOTJ4SjRwQnZqTk44STV5VWpvRFJqUTBqVDMzNTlCdjJMM3U5ZXpBeWhuNnRRUkRveDdsWnk0YWYydWZMUC9PcEhxN3R1dnJsYTNUbFJHUzFQbGk4MG02VjhvVnFvNXh1RlZqMlhiK1J5dVh6ZDVlcEY1eHIxdXVGYWdWVGQwd3VSWmF4Y3FYUmNqNWxRWGlyNStvV0ZCRVViWHJBUlgyeEd2S0xDWHVYMVpyRkZmYTdsV3ZWV3E1VnJ0SnFOU3FGUnFDODF4c2J5SzNQbnp0ZGFaeTRzdHc0K3RuVGt2LzdiSllIV2REUjBwRU0rWktJaHhEZ05NOVIwVk1oUWthYVFSZngwTEhhMi9JbnZmbmRQYzhldUEvbXg4UnR6b3lQWExkZGIxOVNhK1YzMWh0dldMT1NxdVVLdVhDeTYwbnpORlpvdWwyKzJYTDZKYkZ2K1VOcUdpc283WXFTVmxJVTBlUWdUMnhIU0RlV3JJMUtvS2hlbERtQW9pL0F4SGZNV2kzQWRtSWdqM1VibDFrWXNLV2tIWUxsOHE3bGx3alZtNTl4S3M5R3FpY0NTbUo1eHVlYXBWajczYkc1eDhlbld3c1hIQytkT1BYbjRuOTV5UW0yaXZSVm9yMFBvTGwrSUNobzJoWWdYeGRNSjl6K2ZlT0xHMHM3ZFA3ZGNxdno5UlZlOCtXSTl2MmNoN3dybk5ad3VhaXdzcU51TE9wYlJoRnFWcTg1SmFDYlVLTTBZZ3crcGtDZFkyaWU5dEZRUXFoSzRKQi9xWUdwc1RBckZBQlo5WTJEc0NEQ1IzcXJ5QUlkUlVFZEl3L29TblNXRmd2b3lPZW5jM0FVUGswTWlPdktvbHhqZ2htdmtjODJUdVdiOU1iZXkvSlhDMmJOZmV2WXQxeDVTRGVndnF5RkVSY0hHc0FJNDZaZko3Uk5QUHZucXd0NTk3NXR0bGYvSjJWWis2dmk4Yzg5ZmRPNnMzTzVjcmVVV05LUnFVb0xjcGgraDBreEJybmwwTE8vbVpodUpnSWZGWElKSDNJMVA1TDBCTE1qUEJFa01XeUI1U1dKeVM4R2RuMnU2cGcwRnp3SDBOS01aM1p5c3BLQnByVkRSb1RqZmJKN0pOMWYrb243cTZNZFAvSU1ERDZ1RjJZbGlrMm5TaHlFa2h0MWY4TUZzNDdmdnZudDYrcWRlLzRHWi9NaDdqOVh6Vzc5L3hybm41bHJ1N0ZMTExjcFhOcVJ3UmswTVVRR1VsVXM1TnpidURTRFdEejN1WXdERHB0TTJnRWFIQWF5bWd6SGs1Qmx5cmxET3ViSzhVNkhSbk0zWGx6NjIvRGYzM0g3cTNXOTVRVzJHN2cyR2FRRGdnc0g2SGM4OTkvcjY3ajIvZDdSZXV2WGg1NTE3L0Z6TG5WNXF1bHJ3bVdiOXF5VmdKUmhBNmNmU0FOSUNrUkhJY29yVm5LdU00eEZXN3MrZE92bkJJN2RkL1MxQkRkVUlvbXRKVTk5SU9pcS8rWWZQUC8vTytlbDluLzN1aGRLdFgzckt1WHRQTnR6eGhZWldRRnJKQ1hOZWtNTzB1bzB3KzlKdkl3L1piTGpseFlaYm1OSGxRck4wYTNQWHZzL3V1K2Y1ZDRwM0poS01ZQ2hpSElZQndJaG1MdGU2NDlUcFg1cWJuUDdrZldmeVUzOTF1T1VPemRiZGt0dzlSSWJDcmZEOFdBVzV3N3F1TzVjMGRkWnErU20zYmZxVCsrNDkvUjdKWUdoR2NLa0dnRjZ4eHNZbmp4NTkrK3pranR2dk81MnJmdk40MDUzUXFHZUszMVM4aEhDSm9kbVFON2pRZE10THVhcmJ1dVAyZlY4LytnNmg1SHJwa2ozQnBSZ0F1cVY5ODZNSEQ3MSthV3J2N1ErZXpZMTgrMlRUbmRGOHZ6bnFKWmtoaG1aTGE2aDVIVXU1RVRlOTkvWXJ2M2pvcDRYK2tqM0JSZzBBNVpzQi9QS0hQN3lyY1BVMXR4K2N6MC9kZjdMbHppeEwrWnZEZm9pcWI2UENDSmJuVzFwUGFUcllkODN0TzMvakk5T2hkc01TMzZnQlFCZjM0Mjc2NTcvNGdaTzU4aTMzSDJ1NTUrWDI0OGlQRnZKU2plR2Q4Rkxscng5ZnVzSHNhbG9UTkN2bFd5ci84QjBmOUwzWStGVEE0aTFyZ0RmMDNQcXRyMzN6TmZQVkxlL2hVdThaelZFMU9hUkxIZjFjQnVaMUVIUGI5WElGOEhOd1pRb2RPblU1UWlGRkExckRDSTE2MHhVdUZGeDFiTXQ3ZG4vNi85MzUvTHZlK0pEdzBvWE1GRFppQVBTQjBaK2ZldVVyMy91RWJ2SThmcmJsbGxkYXJpZ1c5RERra2tJMGdKeU1DZUZkcnRCTjUzSVpBTWJNZ3d6NmNxbXlhY3RDMDREV1dhV1IvTmJTZ1ZlL1YrWHYwOEY2QUlsbGt0cEdwZ0N6dE4rNDY2NGI1NHZqLy9nSHVqOTFTb3VUOUlqQzBpLzFpS1B6VXZHczFYN1lQUGVpZGJsbzFPVzJWblJidlZVY2U5c1YvLzBMTndiRlo3YmpyQjRBQW96KzF2UXRQL25XazduODl1ZG14WWl1OVhVSE02UHRDYjVIUUdDTUdrS01mVzY0Witnd1ZtQWJPcGtsTnlBN2NkUmJYMEsvQm15NkRwanVFU3pxZHZwb2ZudnU3N3ptclFJK3FNT21ac1VEVThwcUFEQ1YzNzU5ZTZVMU92bm1FM3FvYzBiMzloRW0vbWNZSVk0WUVGcDZHRWg3NFJEUFpnU2l3OGk5bkFhZ3hYdmlFU09kZ1RYVWkvZFlwcWRMalZwQlQwNjN2TmxOVFgzRW5UbXpyQ3J1RHd3Y3NrNEJ4dis3Zi9NM3Ixak9WMTV4OGp5UGNNT2RQb1E0aE1OR0k5TGhrR2JZQk9BM0JQZzRSOW5RRHVnTUUxOHZYRUV1TWdMNHRqNHBwcCt4cnh1Vkc0T2tvYjBNclVMNXBoM3YveTlYQksxSEd3dlp0YU1zSGdERTVtS21iNzdsd0tJcjdEeWpPYWhCWjlhbXNXNHR1aVlRYXpPTlBUWGowYWtXdTc2d3k2TkZlTnBzT0FnSitEbVl3dUxUeUEzajY5TVFMOU13T3ZLVWlwT3JKQ29JSWh3MUZtTmZzZjVaR0YxRGV5aWFsY0xPeXY2Zk9LQVdUNE54L1padGlDd0dRQ3REUHJwcjF3Mm5XN25pZWJsL2U4YWRpV1NiZUV6bG9vSWxFK1F5cVFYRmJ1MEptTllqNFo0aHlJNjZWSElWNkNxMlVnVzBxMVp5eG4rdFVPaVVXaGZTcm13SG5SUktYOTVWZ01JcjZzdWtudXp4S1B5Q0ZtOEZGVVl3UEp6UGlKY096SU5sbWxoWFBsOHNiSisrUVMzK3J3NkVCcXExMkZhMUQxa05BT1Q1OHVUay9ndTJneWU0c29odGd6R2NhaEM2cXJELzVNNkN1M1U2NzdielBMeFlzRjVZVDFMZFNTVUhwb2pBYVJjRmJ3bERwSkpZbWNJMkxCcTRkN1N4cEkyTUp5KzAzUDI2VmY2OW1icks5T3hmbzU4Nm13SjB5cmU1UzNHeVRsSUl6TE9NVCs0WEpBdDBVQTRjc2hnQVl1SW8xMTM1U3JaeExjbWFtOUdWRFV5eUI2Q0VCQ052bWk2Nlg3ZytwOUdpcldIQzMySTVvN3FleXVoWDNvVWVoaTBraVpCUEkwMm5RM1VrMnFzcWdzUTRRWjBrdW1pb3ZGRjJibXBYem0wZktiaUNIUFVEWjdXN1ZRWnZ1NElFamhoYldFTFdvQ200cFcxMWNzaFhxYWw4alcwMkhSaExGZ013cE5Oalk5VjZvN0JyUWV2TnBvZ1h4WE4zdndlbFRuYzVtSWV2MGhhd04xeVJjeFBhRnJVd0t5dEx5UUw4MGM1U3hZT1M2WUNMdkRMblIxeklQYVpqM05Fb1F5YmlwMGxjVjRDekZHaG9GNXA3MVZUQlBUVlhkN05hUUxObnNIc2RrTVlCbmpXREJLTzd3NUpQY2RxTmoxZmRSWWFtcVdTZ3JrQiswR0I4M2Z5V242azJjb1V0Yk9CRWNReFMyY0dHRHBUS0hUOVd3MWVONXR5MkNlZm10YkFzcTR3QVhtQ1k1a2d6VGNReXlyTWMzVHlDRTlmSkVmSEcrRkpvcEhGQUkvSXVkcDBjbTZ0S2J1TXk4bDJhNzFoQXMraWxJellOd0Uvb1l6ZS8vZkxXSENWSUp5T3Zlek1rTXRuUG9CNGdJczN0dmY2V2Fpdm5xalYxQk8zYkxVNGxOeG9RREVJWWsvTnFpa29UZDZZeUZwZldPUkJUa0FxVzdTcExWYTlPQ20vc3dPckszaVhEcElFbmlJZGQvb25rS0hmT3NCWlYwRzhXd3F3SnFNOGFiS29zdW1ycDJyOWJYWFNmby9uQTNSM1VBQktlSnZidXJlU0toWktNd09XNStiOEJoaE5rSk5RZUl5cHBaU3lkbStLanRkc0lWVjFDSWlSOGxKUjJvT3VYU2RiZGE0a21oWkpMckt5aEh3MnVCS0lCMkFoWFI0c3FMQlh6cmlSRGlMdUQ1UWN5cU01ekIwMmgwVDdLZkhsa3g1NkticzFrQ3BrTm9McDl2RndxdTFKWmJteDhWSlN6eXlsaE1EWkZLRVVKQXNYak1uazZaNk5mTVdYbUptbWxOQ2VMU0dZSS9sSXphTCtmRVNTSUw1RkdDai9LeGJBcFlyNk5VMDlaV2h1WDIwTjV0aHNZZ05BdTFWeUY2NGV5WG5BWkhja1Y2OXRIcEpVa2dDYnBVVkxhbGNoaUFJYXcxYXFXNWhkeitWa3QxTTdOTVBtc1M2T0xaR2NXbDRlQzZ4TkZZZEs4cUh6aUFVaExldDRZSXAwWWQrSVpMRWZiSGxMdVFObVJHUXh0QjFTYlJoelowUU8wcEd6NlI2Z3RhUkY0YmtXR3I0cy9BUlJ3RWVLTjZTQkxBTHl5Vk5KMk1WZFlybzFsMGFlUnlkb2dWeWdWQ3kyOThJUmllTXc1akdBM2s0UUlSYWM5Z0JtQ1RoaEkyd3RzVUVFREN6Ymczd2dabzhGSmpSWFp3azV4WGdxbWxBVXZDMmY2U2Qvc2hBZFFHWXJIVUpnT3Fjb1NtQ3AxSGFpWGpYSlo5V21YMzFsb3lXSUw2SjNiODhZb0hkdG9RQkJnTWVFb0RVNEV4QlJnK0JYVE9STVdhUXdoSWRaT21iUjdsQ2R6Y3F3elptblhXZFBHcEJTTG14UVYzN1FORVZHMTR5NEpTT3VHWFNQYTVuMEJZdUNrVWJCTkFVSVhMejJKRVFCWXJIKzBheU1mS0dVNHVDZUhPL0ZoWUJTWkxVYTdsQXZTZzUvWU9oU3lOcStSSSt0dklrK2ZhRW5ER0FQdWtYZjFkSGxzZWNxNDF4QTlBSGxUanNXQm5oQmpGaEYvd29VS1lobmdNVzMxcGlSU2xLYU1LdUszMHE0MmdLOFIwalJRTmhxT1U0QVpnc3FpQVdEUUtNMHJUZ2taSGUyajlraG5DU1lYa1pNTlJCUUROODlzQUxwVWlXL3ArazRNU01vNnBST3lRUUM4S01KZFJKU0xrdGxSeER1Q1M3cThwRU8rVGh0TlZOZVNHL0I1aUtsUy96RWdWQzZmd0d2RHJCMUZFRTgwNUF3T2FFdWtFRmt5WlF6dDF1dWtVamdFNlVkL1VENTVTT0htaVhYZ0FZeC9tcEdtQTByVGppTGxFa05RY3FCZ2hzUzk1VmJ6OGh1QTAzdmI2b1E5dzlCYjhHbGQ5R1NXRGxsQTBlcmhzb2I1Tmwzejc5TWJzOXYwTUthRVZGVHh5aTA1dDFmczE2b3RWeFpXREFOTE1BUEJMU01keWhGUlNMTUhjVjR2bU00cWdTeTVsUFFLME5ra2JvQkczdmlneklJdjc4eWxxOXJ0MnFsUTN5T0tlRXpEY0NnNkpobFZvRjhiN2ZDbXRLMEJoTU9QZmhWQVFQMVR5Zzc2UjE4eUJYQklKNFhzTTNyMkZucEp3V3RkWExLQ2gvRitJUW9QSldMNUpmWDZYOTFRY1A5aWY5NWRPNVp6dWkzdWR4SUZCTURueGhHR3g3b1dicHFZUWVsMDlHTFRmZk5relQycmQ4M0xyS28xNUZoWm14R0FzMXZ4U1I0czdXQkcxODV1SU9XVmoxYk5DTlFCU05tQnJKUzJTMXpEckV3d2JCYUJYQ0hRZjRadzFtRnN4Z1RPWnRackNQOE1ocWFaQW9KbmdCS3ZGZFJGQXdTdXBPNTkrTmFpKzhWcnNuYXZQd1Z1cG5FajVlVjYvZnJxaWFxNzg2a2w5K2pabXF2bzhXNWUwNkZORFF4QkJUc25pbWVjaVRWZlphTXgzUlh6TStrQ3c3REdTWGdBOTZhcmxPaVkwcVVaSDRlOFlHd1JLQkY0RDZBQ2dkUFdycWdDbnF3ZWdPY3hoa1JSMXBCNURiQlNhK1NxY0NpaU1CMWsySk11Z3VSZlh3Qnh2L1NLdkh2M0VKWGZUWEJVaXY3NWE2dnU4RnpOemVvckV5VjVGek1DN0Mwb0pKRVMrUzRFeU5Dc3VxdmNpbnVVeGFKT1BNSml1THNVYjRiZ2pjQ21BQnBCa0FNWmlrZVM1bEU3RWFwMC9aQVkwL3FncXlBeUd3QVlqSGVkYkpwZWhUSlZJQmhHLzNiTitlL2EzN1hwSWdVMnJPUTJ2VmIrcXFteSsvSXppMjVFNzlnWHVNMnFZWjZYWkUzbEVxNlhMejFJTXI1RDZoV2xGcEpFMzRKWW9UaG9MQjBGZzZNb2VlUUxPUjNSQU1JaXl2aERqdGdwWkZlUlZ0bDZnVXRsTTRMMUFIdlViOGdBN01iTk9rUlpLTkN4dWhaOVYybkJkN1hlYzM4eHdyN3hnbWpxRlNwNW5hSVl5T3ZPU2g1ZjcvL0ZnaCtKcTNrUnh5WjlyNEpPUmFqeE9pRkNvR1FDc1IxQ3BPc21IWjZ1M1FrTUl6NXFIT1ZCejV3VmNvdEdaWmpXUDcyb0hrQVA2K3ptREJ3anNOanhiamJqK2dEcjNLYk5FTlV3RjNmRERUcy9KaS9BWTlibEZlMllGWGVGNkFFa1hlOEZFRFhCY3BieUphRzhJNHF3QnJiR0tlQXlZUVQzRC81b0JOREdDUFNIL0ZBMGgya2RFaGlxWmYzNnVwOU1hZEl6R0E3VmdEeGp5TzRCZEsyTzRrMzVpdnN4RzYyYTYzZ3U5YXpER1puYkNEZ0x2eFg4ckJZb3VtT3RhUUFQd0lFUzJrcjMwby9jSTBFZjRycUZrbGdiNi9ySG9YM0VyNGFvVWxsL05XSzBQVDVkUTltdDM3YnlsVmQ5cERjNHpSUTNOT2JZUU1oc0FCZ1pLMWtJMmgyaEhrU05uOGhRekt6UnN3aWFSclVHZUJwc1ZSclBVK05hUzRwdlNlczhZbUpuSVdzQkpPM3grdEdabGhvR1RaNEltSkNsY1AwQWFrRjU1dzF1bE84TE1UNUxrdFZSMXdtaEErOUhrby9pQVBIMEk1OEFEUkJvWkF3UEFOc0ZrdGtBYUcvQ0VrSGlmblRwSU5mVkVkWUFyZGVkSE5DK0Y0NWVaYkVsYUhxZ3NtcG9zczNic01vQXNGVWVzT2g3ZmFZVWxPQXBwakVFYW9wOEtuVU9WYlRxR1lTbWpTa29ueEwrZFREekVjY0REOUFoRStHUEhpQnRCT3VSN2VBbDRPZ29HekN6WVFPZ0V6Q3UvdlFNQ042a0tSaGc5YjkrR0FTb0g4R0FIVnIrWTFSS1NLSzZtYXkxZ0Y4SWV1VjdaWGlPUU9hSm1sSlNYSGJtMXlFcUxCNDN1S0lIOEdWeDhXZFhBL0FvbnNCdHNnTmNCM21VVHhaSzBSQ1VIQ2lBSzhYNlFHMGlVR1lEWUFlQUxmQ2tZUmlIZHE5Z29nMk1wY1ZIVWN5SGFrT0N3Y1R5WHZoaW1ZMldBTmdMSHB4OC9kT1FLYWFEWEFYWVl4STFTTnFrRTE3YnZpOGdTSWVRajhWSk0yQTZNcjZSR1lMS3UwYytkL3VpQVVJb1VScUlBM0xRcGJJZTRTRG5EVFh5aURNYkFDdE5MZ1BOYWtXNGh3d01Nd28xdVFvbXh1bSt3RE13aE1oLzBJTndVdElPUHFlUnBhSXdsU2VFSTMxZ3JGNkpGVnRwcVVCckFZeVYrd0FZUUU1YThMaEE1T2thRDViMkJiNCtuUmJzR2lIU2p5UGRLNTViMGQ0STh0STBpcmVMSUdKeGFaZlJFSW9IOGd6RG5pamlYSU5zVW1YOFJqd1lmc2FRMlFCWUJISnBoN0tZYXZzeEMwL2V5cFZDYTdRTEIya0UzeGEraDQzMTFnNmdkTEJDNFRIRTZZclZQTEFHaUs0L3B3OHNtZkoxS3JBb2xDYTRmVnpSblVMaXNvNlNwSzZyUjl1V3hqWkhGZGwyN1dURVFnNjZDanlWcE44c2hMblk0S21tUDd6bllmcFprWWJySzdvY2xYUllHTElocENDTDRNNGt0OFMxb1VieUl4WWk4V1E5aVBpTlNzWlRhSnV4bFlGbk5nRHpBQkJVNTlHSlpOVXpVSTZSR0l4aW1oQlFPblhFRkFKREhiRVBpR3gxQUE4MStJR2tQaEEzV21vU3NtNUJUd2Naa1ZWdHh0ODVWbkM3dFBkdWwyNFFUU3U5UTY5b2JkRXhxcnVUVldtN0xFTmdYNTRwWFFpSTQzemRZUURDRDkyRVgzVUFRK0NDQTJQUWJRZWJlbmhaWmw2UHRQVmRjRGVqNDdSZTRlWTRxKzhSejRrdmRsUFg2Z1h0NVplUjZ1QktoUVVxQW1HYzJFMHJ1aDg3UTNxOUFHTnF2NUdRMlFEd0FIRUtzRUhaaHlvOGVZbUZlSFcyWFczQW9VR1NKdDhPRktNUWk5dkZxK1JVbGpKZnF4Y0xiOWhadGVPS0xTVzNiU1R2UnFSd3ZXbG1nWUZuaDNMRTRMUTRwTTBZU1ZQUkk1aGhDQmZvRUdEYVlIRHhOZzNBbWY3WjRLTHRmKzY4WHFSNVFkOUhQbkpleHFEMGpQWlV0bVE1ZWwzUVZZVEVOdlBRUHgwMDlBYnYrMHpKbWtFNDF0TEZXbTB6R3dESW9yQk1jbjJ3TTVkRlFVWVE1QmxsYWlOSm1TamtHRWZZN2hpNUFNTTFOdnNRd0U5QVlBbE81YmVQRnR6NzM3RERUZXBac3cwc0FUQkM1eVQwU05Oa0hCcFpXdTFpREU1Q3hPbHpnNTJUTmhHWm1NUVkrREw0TnIzck9LVVhYMTYrTytjdWlwZlg3cW5vS0xpN24xNXhqN3pRc084blYyU2hmcTNpNmVIdHpCQWl2bjVzUURnaDNnK29kM2xtQTZpbkZvRVE3Y2ViOFVPOWpyUnk4VlN4TENyRVdBT3VBNXRoc0Nwb1dDNGswcDZnRFdXZzl1YnQwcElFT2wvWE40dllkNjl0RXZaNFdQV0IyWFNiam5RNjQ5RUZ5djE2bVFDWmQ0bzUra2V3ZmlwR1p1WTVsY1pnMmJxNWI2dHpWMnd2dWpkZVYzVGZmcTdoN3Z6K2ludjBkRVA4Nnh2QmJPMkRwSkhWU2ZpNnB5UFZKc0hvSVZpSVpBeVpEUUQ4akNoYkNCTDNJV2k4cXhLNE9EOEJHK0U3MHFIUW91UVVDaU4rSWN5eFZJN1NEYmlNVG9BaGpWdXR6Uys1TXY2K1dKSzMwcFp6elZsYWdrVk1YWEdiZUNmRmRDNmRwbm1hcWtmWFZwQ3ZpL2xWc1ZDMTVBRnErckFEdjNreXFwMzh0OTFZY0RmdExyalBQcmJpN255OHBvOXU2QU5RdHJGRkFFTEFYek1pNnVLZXJNbTRtOFVlY0wyS01odUFkb1RwdlhxOUZDS1hOcW5QazZ3V1Jac01VMFZSZS8xRzljYWFqWFpWc1g2Z1RUTDZFVWlhK1NUVHhteWp4c29CYkpkSG1hU2JVOHNlUTFiaUdBTmVoYW1BbzNjSUZVa1VBZHQweEdHcUtlWGsyMlVHQ1RPZVVWRlVuVEVuMWFrWUJmS2ZoSkRXejZHNHV0NkZyQ25QRlBITzE1YmNYcjA5K3FtRFRUZXZLd1Y3YTBoekNEak1mTk00RW1TNmdwRStSa2UxUFM3OVdraXFmcTFrWmdQQW5hMW9KYnVpZDFEcmJOL3RFK0FWblRVRW95c3hDK1F4Q2pwRE91WWpyQWZTT2RWUlN3cldDcnZLRFVlb0lvcWhycFdYN1pIVU9ScUFmWjdGbEJLaEFobjRTQ21UV2lQWFZkWnU1V3RqdnMyU244QmFva0ZaTkFLcnR6S2xBakFSME5nTG9TUkRxT2tYUlhpNSt3MHYwemQvNUwwKzh0Q3liWkExVDJCRzRBMEIrRTRPL0JxRGR5bzNFakliQUQvcFVwVDc0bWRXbHZpbGpUNVVZWkpyM1VWdDlWMWVSdVU4bHZFRzRPdW85MGU3UjlRQWxNaXFuZkJTOC9VNjIyQUx1ZEFxeVhFZklJL3lkZU1IRHUxWmdDM1Z2WklTSk9EcGJKemc4SWxldllzTmV0V0pYWnVpZkIzMjFqWUV5d1I1V2FtUndHQUlTQ2pQMUNCRnZucWZjLy9vYk03ZDhjaVMzdm5UOXdTMExyQjlqaGlTb2ZGdHJLRk9yYWFNUmtWMXRjOGFNaHNBSG9BMUFQMjBKMng5S1VyWTBwTDlDUmF4Y1VRUFFHekNqM0hiQ3F3aXlNWFRNUnJXY3k5UXhFZzdjSGJLd25DdWlFR2I4OFVrUnRqa2tYQlVUQUpQNnhoQ1licklxbFlWeEFhSzAzV2h2YUsyYWxHV2g3R25nOENqUUhoWDJuc2RvUFZuV3ZVMUJYbFd6YXp1dHV2TDdwR1RkZmZ3ODNWWGxYWU5SOGM4RUdnS0c4WGN2K0RkOEt3aHN3RkFnSG1jUTd6M0RKRzFxT0FJQnpoSFZINnNOelJkdUtnelBCR1oyaUZQd0NqcTlnQUptQURzbzArQzVJc2JkREN2TkpkamhrRFI2Z0RXWGlFUTdGV1ZFRFJ1T2lEOHFQZEZxTldNejVSUFdac1dFMVRvcGVkTlhzcjRsQkZ3YitDdEJ5cnU0S2tWM1RDU0g1T1c5WUZZWFNZbWhEMEJuYU1CYk9CT3NNa25RVFJJZ3FrRzVVZmw5V3BEdDZ5YlNjSVhwQldmYm0rM1JhMEIyRHJkTk1WMEdTWEcrVFdXQVEwaDhoZ0VOMlpJK3lsQWVHUUEzQlRXVFdBSlZrS01ia1V3Z3dianN4ZHcwRU43eEhjQ1JWTFVHMTN4MG9adHArRFh1RFl2QUkrNkRGUUpMOGdjMEpkRURtd3J1SU5uR3JxcmlTblJIN1V3WTZLbFo0SUhUZlNkQlhyV2tMMUptQUxTQ3V4RkZOYUFpZE1FN0hKdys5UkdjaWhJQkV6ZUlQeloycXZFdXFnVGNLRUpnRDZ2Y2h5UmVVWXJ4YnY0L1FDMkNVUkxmLzRZZ2V3VUFvUGhDN0JyUmNiT1dnQmRkUjE0RXdXSi81Z1dnTEZnN2NTVkxOYjNoek9WSGlFUHJIaW5nV3ZFc2hhRnI5WmR6Yi9STk5DU2hnMFM0VVZnWDJJNXBnQmtrVFZrTmdEY2pIa0FVVE5lK2xBME5qbHhCTTVRSW0zcHF5bFVlVWEveHdOZ093QVRkR2FGakhDdlRtdnRCUWhlYWQrbUEzQUJvNWlITk9aZXpXMEtoRVVoUkV3WmJScURwRHhYL3B6dUw3VG9pVVhkaUFUb3kvMm9wUjllK1I3ZStpR1VZRzNqVjUwQmFocnduYlZuQzlmdDBLYy9wUHdHNnhxYkI0VE1ybW5idEJrQUtGSk9JM1BJYkFEY2JXSVJDT2NvYjgxZ1dnNndpbWlHQjRCL1d0ck5KTVdtTlFwTWFsSVdSU0ZMa1JVbm9xWStqQjRxd0FVd1NlV1pacmovRGcwZXNsQmxVd05JMFNBRkVaZEhITW9vdDBvU0E0WmU4Q2pTTnpjdWxZNVRqK2ZhVTdGcEwxQ0prME0wRkM1WnZhejBWVEY5aEdPclhxSGpnVkxST2lXYXVrY0FyS2Z1QjVCTkFRTnluUWJMYkFDc0FiaHVSWG53MHk5UVpZcXhoSWNpMldzZEVCVklBMlFISEIwRVAwcU5Cb0ZRQ0I1R1FsS2wxY0dQQ28yVVRoaUFEWGpjSnVWQ1pxT1gyS1BvYzE2N3RyT1JjZGxabE1yQlA2RlQrUlJpbERJRitrYk9ZcDFVUlJ0YjdZZTIzQ21zNklubDFrcmVuZExyYnkzMk9RSkRweFVDbU1VOFE4aXNUT0hJM0FiaHhrVmdvamhqcDhmSmV0Z3VSL2tjTUc1Vm9aN0lsN1E3RlkwcmdiVVdmZ3laZTVlMHpFRFVNaG9HTWZodFU3RFM4SXJBZ0xlUE5FU0pxVzZ3NERrejByMGFtRldsSzlvRUxLV1RMd2w0aENqMnRkTUFBUFExOFhJUFUyVmZDNzhrT3E0RklIYzNyYkVKRUZpUEdlcllnNVlMdXR3bGx5MWtOZ0RRRDdJR0FNNE1CTDdoVjBkVUVLeWIrdy9sUkhRSTlmcng0V0ZSWHZKOFhCQjJKU0FvVTdodlpDMVpNMEVqNHVmRkVKNGI2SFZaM1E3MlUwcmNuV3NOa2xOYmlNWmdVcjUrSXBKUFkwampzSEp6QXhIUzQ3UWVxcWpEQUFRYzRURUEvNTZnbm1Hb1BRYkFKV0hiZFpKV2UyazlPQUlqdXdIZEcwT1pEU0JlQnBvMWR2Yk45ekNjcWNLbzQwR2VvM3NSU0tFWmlCSmVtREtFSUJBLzNtbEY4TFZnWVEzQWF0OEhsWU5ER1F5QVl2WUUyb0NTOHYyWGg0UWJqMkdGdEFxNHlOTndvREF3b0xDMWVVMlMwQWprNHZ3ZmpjQ1RWeHZ4UTkrOXQ5SXRkR21ZQVkraURaWU9nbHBsYk1sSFltU3A1OGlzekkyMGFjZ0M3TXVVV09FYU1qRSs2VEF3NFNCaUFkbXU4d0J4TVVrNXdORUFiR1FyWS9Vb2kxNEdDZVI0RTVvR0tvczBFQmFMVEQ0MFllL2VLWVA3dDB0Q2hHdk52YWNoYVlGQ3RSa2s5QWFqMURDblVBUmFIU1UrQTYrZEJxQzIvdC9IU2pPMUlRUDZZNlBkTEZ0cDh2RkFqb0loeTZuSC9TRnExZzNaalVZR3dCeExSK0k4M1lzS1BNT1lEVExGTmhjcnRpbU1Lc3JBRTlLazFCOS9xREIyRHJkdkFqTEFBS3plQW11dHFjWVl5Q2tOZmw0TXNTc0FGZlBxTkI4MEFwOEp5WU1hUEdVV0JHTkJlWklVeDloWCtEUDRMeVZZbjRYQTQwbjd0MkF3TW1aN3BkMzRWUjgxc1FQTDExT1FvekVWNDhBSXZISzhhQjZBS1lDbmU4a2NIaGhKUjRtY0FyT1JlWlREWVFJMkk1SWJVdys5UUR3R3hHTHVHcmpZdXhoalZmUlVzZTJqQTVPbGZWdHdtd2VBU2NFMVJWaXN5cVhxVUJxOHZoM3dJRjA3cENHRXVrZndwZEdEUlFCcmwycHNVRG9SMnhFS0xMSkc0a3Z3eU1rdkFqRnd2VktuNGNtVWVUSDhFR2NiZ2FjVTI5UHVSVE1BMnhTS0ltQTJjdUQ1U2M2eDd5akRhOWRiTzgyU0tVRGFRdkYyZ014d2haRWd4SFRJVHdHcWtuVHdJQ3g4ZUliT1BmNjhSajJ4TFJRaEk1R1pnYW1lTjROeFQ5NEFCSXNCbUY4VnoxZ0V3clkyUGxZeUJLK0ltSU9sMkpkWVJwendIQXZURmh6TGlLMnhUcUZ2UkJIVWlneFc5ZW9Ib0dZRTZyVDNXTG9UcU1JVmpmNFpQWFZsM1NPdzVLRGZQT1VFRDIyUjEwWkM1aW1Bd2NWOUFDelRkNnczV2Fvand4R096bmNzQWdVVTU4TkVNZ0pHRUlqRWxFN3ZRRVFQdzd3Znk4MmxxeHh2Uk1EZ1dCeXlNeGNEQUs2dVBDK0lldUY2WWRuWmhBNXloU1JTdTVpeEN1VkNIVFd4SDBreUZIYlhoYVloRWgrcGdrNXZJZVNCRCtPUHJQcUN3WkpuQy92c2ZNTU1vS0I5Wk1ZS3lIUmd6eVpqWlUwOHF1U0tJV3ZJM0lScmE5dmdJUWFpTmZjaWF2b0t6TUl3eWVpaTZRaHQyMGNBQ0tJeVlTaU5BdGtLUmN4bGpvMTRDUVZjaGs4aTRaTEpEQ0dGMzE0T3RSRXY1WXVJL2VZUVFQcVBzS1QxNzBOSTRIZ0owRy9YSmxBcTg1U05iMkJKS0RZVms3UjY0aGg4VzZzS2RUd0Q4TUhqNHVFUHdmb3M1b3hOOVVuZi90VzJkZWNlTzdPaVBSWE84UkhZNVBFNkRkUThZb3JqZytLc0liTUI1SEw2VUtnWVpOUkJ1RitneXVwOVA0MWhNd0RhcVE3WkdSNEp4T1JvQXZJcVlBV1BJSUJuN2tabW9PRnpxZ2piVHduQlV3aVFPcERHS2FDbVcyZ3R5bFhHOXdIc0oxb1lWUndlVkltZzd1N1ljQ1dtWUVaSGtTRlRSSTNSRTQvdzdkTWhOcmhVbW53U29FeWR0VEE4c2NxVXIycEdQenl5RUJ6UlZuWmVWbm5zUk0xZ29XdC9hbzRoZ0NYMmhSZ3p5cXpNamJScGFIZUZ1WCtNd1BkRmFEcERaTXpxQXd3UitmUVU0QTFBaGFyd1lQNU1lK1p2T3VWN1NZbkFWSVpDZVprQ0k4QlYybVZTSUdnR0lCUmNCa2IveUZVQTE5TmVzSW9qY3dLSmdvZUlVVkNCcCtRck1VTGU1cUVlRGpGNmFIZzNya3JTL0dGcDFnZGFXNkZpSDVSTGhYU090T2lwVDdZNFZWUGpSelJLdXYzTGJ3eWR1OUJ3UDNoK3haVzFyNXdiWW1DM29LYko4eEFWQ0lYSkttY0xuUUF6WUpUZGFMUWxTUGNCVExkNDJYNkJLZ095aEluRmoxRGw2VWhVUGpEeGlMaW9SeWlTaFhrQ3ZBQUNRQmUyQUJRR0huK2E4QlhieUJhZWh0WUlLSWhkUytnRVFuWWZRQVJNZ0ZZbVBCQUthUk0rR2ZKVzdEMUdWYThNamZOQ2lkNDBZWmMyWHgxWjFKcytGeGVidHMydHFRNndUakY5Qzc5L3ZDdmlWa2JjRGgyNW1JbkdScHdjdnI4VGVyZGhtNzRBL21WdENUdXZoMENqZWhnVS82eGo4Q284OUFOMFpDVVAzVHBraFpZdFpEYUF1bFpaZXVQS0hsZWh1SDdCR09NVUR5VnRoS0pWQmQ2TEk1OG9IeUg2S3V1UVpHSXg2ejV6L1lxTm5uck5Rczl1aFFhalFCQUl3UzhDOVlVUWVRQXpBQTFoM1JTMmUrU01Fc05wZUNWTzFkbWZDVi93YW0rdVY0cmZNVmwwZS9UaFNyNXJlTzVpM1MxSUNSTXlodDA3Q25xQlF3OW16aGZjV2Yza0Mvc2Q2UU9OazM0bzB6blBlOXlDVWdJdVF6QStsRmFNcDRFMzBpT2lQejJaZCtjdk50dzNubHdPM3owVXAvQ3A5Z1lIdllDR21LYVNRVXZ2SHdicGhzb0Jvc3dHa05OZWE2TVA1Y2hGRDBJb3hRc0hhSm1uSXZMSlpTQjVzV3RYQVNZOTBLbFF3V1NoazFlUU5RK2VBQmd2TU9DUUozbmZ5dU9EQm04SE0wV1lWQlN6a1BRZUlBaFNlUzlNbjRjU1c3QzM2TjNCSzdVTFo3czIxeDA4dXVUKzh1Q2lPM3l1WVFiRlY4Y083Q3k1dDl3MDRnN3MwZXRtNHlWMzVIVGV6Y2hOODk2Qjc0ZG5LdmFEYm5XR2RBRzlGR1Y0Q1FlL0lUQzFwZWgyYW92M0gzMXJ3WjI5eU9objZ6MS93Y3d4Z2hSUzB0U1lBWmhFVTVVREpMTWFRSzZoSFpkYXJEQXdiZTdwUllOdUpxWklKdlNiTWtZcGJSUGxteEY0a0k2T0FhZUNPSEpSTmtRUnFrMEZJYmJPQTZzRXl1ZW82NU81K25xNkZsVXFsREhrNVM2WXk2T2d1ZGVPZ1VDUEJlS0loTHhIVzYrdTNaSFRieFkxM0NlL2ZkRjkrOWxsNGNwcmk3YW1BTUd5UmV2aFl3MzMvWk1YM1J1dUs3bTMvY1NvdS9uS2dqc3NJemloWHdCYldKWlFSQnorOE1aZStjb290Tk5RYkFmNHNVNnFSVm56L283SmtydE9QRHp3OUpMN3hoTkx1Z29JeWxkZjZDZXRPZkF3NUFtZWdwVTNtendGeXhpeUdvQkdZcjJoaFV2VDNCYW5IaUVwRlhjSUQ5Y0tveWlkQTdiYkM2b2dJT3RKMHJKRCtSZ0J5b2NjaG1EWHdJcTVFV0kzUXlRTmd3bjRXUXZZSXBGRzBKZllPTXdBUUtJcEFwNHF1dFRhcnJlR3I5cVpkM3YwR2J0SG5xdTV6OXcvNzA3UHQ3UUhyeHkyWS90Mm5pSFJsNUsvL25UVFBYVm13YjNqdFNQdTVWY1U5QjVpeVQxN3FtbUx0cHAwWUYxSitoT05RWFFUZFpIeUJzaFVoS0ozYlMyNEczZm4zYkhUZGZjbjl5OXFmMS9KakMrbmkzdTJoZHNESXNGYUsvRWVBeW5lYnRabUVkMHQ0aUk5Vzhoc0FGV05oUzBUcnFIWDdiUm5iZTJIa0ZoK2VhVm9iNjBnRDBabm5BSzhCNGdHc1pwcEZLcmVlZzlBVW1uekFrcWpReGE4MkpKdENoRXNYZ0hjMEZnSkJzRG94LzJiRWFvT0E4QVFHTlVUZW5tVVViOS9TdkI2YmZ2T2g1cnVPMGRVVzVwd3U2ZTgwZHJpVW5neGxpU29VN0Myb1BYV0hRODY5OU5uVys2MkEzcXo1K3E4ZStaTTNwMDgxM1FYRnYyMEFDOSs5Q2V0MjNuaDVPUFdFL0krKzlqOE9aMXp4ODgyM1I4Slo2RTY0YVprblBRcHI2bkpYaFZVR2paU25CaFM4bHYxMHVuRW1Hdk0xZlZDNUdxUU52RWVxY3dHTURzN3UrSm1tbzJGSlMySUZ2b2JIR0pDaVV0YWtaM2ZwaEhaOHU4dGVRK2d2S1NEOHBDbXJhWlhNZWZiVTJ3ZFIvQUlRQWVDeFF0d2NFbG84N3ZTZmhFb281TjExcE54ai92VVRsdEpzNklGRm91NW5Wdnk3a3J4cEduY1Bmak1rdnVMaHpUcTlVdm9yUHlaS3BaMStCRW5neEJCT3dKL0tKUyt3WDlEbmZtc0RPZUJwNXo3aFZkWE5DV1UzVjR0NEk3TjV0Mlo4eGdDM3dPZ244RFRFZkVxcGFQNEVWM203WmdvdUd2azhuZG94WC92b1VYM3B3OHU2aTRtbTBIenJpWWVDdlpTcTNnUVBIMmcvK2pYb3NBUG1lMGpSVGQvc1ZWZm1iSGZES1JHWEE0V3NoaUFJVjJhT2JuY3FqZHI1c0pOLy8xb0lTWnhvbzZmWDlDSEcyV2I2cE1wandvRWlTSkRyNHhiV3JRNzU2Y044b0RSYmRxWU1VaVFwZ2psaWUwVE1LRytvR3ZtbTY2YWtDRDlPa0EvY0dMWDFhUGFWclZWaTZ2dE9pRDgrUEVsZDk5ekJmZlk4YnFyNlkwYTNEQ2JMdm1EbG0wb2tTZXhxd1hvV0NsOFdNYjRWZ3ZickhGeXR1aysrdGVMN3FZOU5mZm1sNWZkeTNacExwL1NBbkV4NytiMFRZQkZmZExlREYrZFlhN254ekg1YVZ4KzRlZllHVTA3OXl5Nmg0K3VtS3N2cXQ2clcveEw0Mlk0aXJrdkVrTTdoVHlBbGd5YWpaVUxGMDVrZmpjb2l3RVkvZnFwN3k3cmQrcVdVQXlFK3dWVGtDcHh2eWNrb0JmbVdtNUsxbzRWZS9ldlJKQ2xhVmluS09SdW5QUWR4Uk44T3VCUm5nc2ZWdlFhTkJLdWM4K2QwdnlwZDZTdTJWcDFaYTNjY1o4WVhrM1RJNWR1MzNtODdoNDl1dXlPempUZDVNUzQ1bm90dExTWEtzL05GZ0dhUUVWTU4xV2tDS09ZT3Z1ODl3amV3RTFadG1VcnA3dDJUWGZ3eEtLOHk1SjcxYjZpdTM1WDBVM3J4N0RLOGdwNERBSmVneW5pMGFmMTFzK1JtdnVCM3Y3aHhsVkZmRURmNW5zV3NDbGpOS3JXWEh3Rk9WQkdFWk13TTdFVzVrc3p6enlZTmdCUEVNQTFRbVlEbUh2NjNxVTlqY1ljaktEa3ZrRjE4Q3FEZHFmMW84bDNINnk3ZjMxYlNVTFhyNDJkbzYzdmlhR3dFM2t2MUY0NDR3Q0FMdW13dnZNME5FK082NWRIZVhMMk8xK1ljOTg3V25QYnRpekp6UlpOcUEydDV2bWwwd1hWczA3Z0lRc2p2aXFyNFlaTzNaUXZRMER4T3BqeitiTmd2UFhrU0lYQXc3Tk1GNXhoNzk1UnJRTU9uNjVKbWN0dVFudTZkMjRiZHd2ekYwUmJENnIwNnJmZVhyY0hWdERodHdOSGRiUEozRHhLTnlQMGhwaHdrY2pIS3oxeVE3R2EyR2R1dElOdzd2Z0QzeFRtYkdGUUE0Q1dGOFhDd25LdXVYSTZyNWFpM2Q4SUJHME5kRUxnZjNqUGlrWkYzcjN5V3UzUGtjVmYxTXVsOGJjbkFtWmhDMEx2MlFkUEhnakp6U0NGMXR3N1B6bXJBZTkrNzB2bjNhTzZWTXRYeXZvZVQwRS8xZTZWeWJ6TDVSNGV3b1JxQ0h3Wkk3aWd6WVB4NVV2ckUxQ2VYT0FrRUNRWE82VWtzSHdJS3JhQk1hYWpBb1lnMThQY3Z5d2U1cVNXbVFzcWt3RUFqZUpIOWYza2FIQVdpejhiOWFvajd6blZPYzBIeGVtODBnV05zS3JXTWtWWGYrSDAvTHdlRzFsSVE0V2kzdEdnQmhCYmcxanovL0pSZUVTWW5ZODNJNWppaEFWOUdsWEE1M1JwOWNIUExMcjN2Nm5zM25pamJxUm9FY1pUMjdRWFNaclFYQm1UUTRJU2F1MUEybGJIaWwrWXJidmYvZnk4KzlQdnpMdWlsRi9rMnQxR05RcVJhelZtUTJ0Rk9IY3VFekVLNWlUdmJzSHZZUkE2dkZnK05HdjNCeDVvSnkra1UyaGh2TnFpVkhqdHp4YW5ZZEVuS2ZQNWwyYjZKMzNVME9DQUQveVpJVVM2TUpBRUEvWk1KV1ZLQ0lZSFJoaEF2clYwVENXOEc5TFJNZzNlSzcwUkEyZzF6NTk3TmpjMUxYd1lnQmRCTjNLRXFOcFFyTkVuTjMxR28rRFg3bHAwMTA0dHVldW44MjZiRm1SY3cxcVF4aU0wcTk5eXVheFgwT1VtVWlGTmlVVTFpNnNUK3ZIS3g0NnZDSGRUcTN4K2lWTUtsMlg0YTJjaFoyVHhoNUJEaUdrTUEvWnRWRklYR1RDNHNPcnVLQXNJUXVSSFp4c0FPdkJGOERSa0lLTEJPZ2lEYk11akRXTmNKYnpCaVVLQ0V2NEMzMG1aYjJ0Z0ttTlJ5UWV3YWhkbUQ2dU1aVG1RUGFCcHNUcGtNUUNRV3Y5V3poNTVzclQ5WlEzZGU5Ymo5dGpsMWNqVHhzRUtHeGZjbENBT24ybTZKL1MrR3dzaUhpMmFGeEYyNDFxR1VDcVYzUGhFeWMzTWRCcEFKd1hFTFVHYmF5KzRNVjBLMlNxZWVWVEd4bHhxcjFKSmdBWVo1QWdPa294ZGowR3BZTVFKU0VoMHVGOGFyZ29BNmdodURQNHBpWDRCLzQyM3dkRjRYcXlIQ1JaZ2FSSGhJejFmVHBVNDdHeGlMZUtKS3RZUGxWeXpjZkhja1NkRGVYK0Z4SWFwT0lzQjBNeVExNDdkOTFSbC84K2VMaFRLdTJzMjYvVG0wdHk0R3BtZ0JlTG5PRndXSDJyMGN5U3JZeHY3aGtJcERFQ1dNajZpS1dKSkUyVlhTSVJqNWNyWnZ5aG82TVE1bERtZkFrYWYwVTRhSlFtek5vUnJBbFpNeCtKZ0UwTUtkaklxZzU3YS9ZMHRSRDBnWld4M2U0QUVLa1dxazQ5VVJRUU9NVFY0bGtsNTBYS3VmdnI0RS9mcGJnVFN5TVo0VmdNd2pvNy8xVzgvZjhQcmZ2bnhRckdzbTVmcVZoZ0JnYmNrTW5FbmZUQlZtSklZRjF5LzhiS0dGdWhpR2NYVHpNZDgxY3QvMFhNOTloQ3dtdW5rSTUxSiswS1ZkYnJVaEJWUHlrUmxSZ0NLV0VhOHdXQTRZdHRBTEJwWmpHTjF6eGoycWVoZ3RDZWt3WENacXdzTVYyd3UvK0N2UC8zZlRnYklRVm9uU05lVGNBS29CSWc1WktUemk2MExwNzVSM0xIbFo3RkNMcTM2aHNDT1diWjFENlhveG9pdHZGVkp2WG90MVJzS0RJRzdkaXpRQ2dOdGN2UEtwN0VmOGVBS3F2QW9EUzlGb2RUeXBDMHZtR2dFSG5ENDU0Zy9UYjhubFRTL1BRRlNoWUtkckdvZEpRTlltVC8xallzWHVhNHlSd2FXZ1RIWm1pT0ZkcjBraUcyaGNlSFE1NzZhYnpSbVdISGJIU3ZWb0x6dUE4WFR5QVN1aEJlR2xLc1N2RWY4MDR5ZCtsT2REQ3RkMGovdE1YajRnQzJoNDJrYkQxMjgyWDBaR09zcTcrWi9HUGxoMDRCM0J0NU83VmtZTHpabWpqend4YStvSjRTNENQUzVBYzVaRFNBU2NTZS85QjhPTlJmUC9KK0tyci90STBaaUtycTVkTXlsVVRwUDJpekN5cjBScEEwQkZXSXU4UnhVbWhoS2Q1NjIxcDZGWE1EZFRhOFhENUdQYnRnZmlyd3Nlb3QyRGUzVGhWaGgrZXlYUC8vN0h6Z1VwSXF0WndwWkRRQVJRNFRyelpVTGozM3VVOW9nTXNmREMxYlM2NDRXTlVycHZ5T3RxblpsT3QydkFlVUthMVd2eHcrTjE0TzUxUHFoMDVEMHVhUytRazhzZDFRYmM4Y2UvTklkRWdQNjBOT1daQXBRY3JDUTFRREFpc3doMWpqeGhYL3pTSFB1eUIrYkY5RENiVzF0aEpacmFVd2doRGdLZlc2TjgxcTRma1RyOEl3N0ovVVllNDhTRjQ3OXIvLzlPLy95RWFXaVRvZ3poWTBhQUhPTldkM3ByL3pLeDNPMStlOVZkUysreU1KT0xBempvQmZEd0xNV0RzUm1VODJRZU81RmE1ZzB3TFZOanhCZmRwV2VLQmJtdi9lMU8zN2w0eEpUMUFXZVdSRFp3a1lNQUFvUXNtbGc1bnQzblZ3ODlNVmZMK1hyNXlyNm5BazNZRGJEOENYQVZNUVgwQTljS2ZlL3RYN3V4S05mL1BWSHYvN25YUHFaSGhSblZqNWNibFJiRU1QaXVBM1VmUGJPdDkrM2VPeWVENVhMamVVS24ybmZOQUtKWlhnQllVOXEwWGZneXJ5N2ZrOXo2ZnpoZXo3MEovLzU3ZmVxT05HQjBpK3FBZEE3Q0xJVzRCRms0L0FuMy9Ubnl5Y2YrbENsMGx5dWlsbnU1MitHUzVOQTFDajdGbDkrVGQ3ZHNMZTV2SGo4dXgvNkh4OTgwNTNJWElmSlhuRUV6VXh3R0ZxQ09FZGg1cUZQSE55eS83WmpsZTFYL0wxOHFUaWlyYU5hWldmbmpSOTlMdXNlOTVKZWk3NmNvYUpkUXJESFBnSzdlWGdaaUhGenFxb2JOc3Q2cVdSUVVaakVkT0xxYXMrMm9udkYvcHk3WmtvYnZwNzcxcTkrL04rOS9qTmlFN2VQOHMwREs4NHVaRFVpRE5NQTBGWis1dUU3RG8xT0hYaTR1dk82RzR2VnltNW1tZlJESWFPNnp1bkgxUUNpZ2JBdGJLdEcvYlY3dGIxdHYzUFRvL09QSEhuZ3ovNzlwLzdqMis2VzZGQStkLzB1V2Ztb1lSZ0dBQjRza01PTVlPNzdkNTJvblQ3MHRkRjlyMm1XeHladktGVUxlcm1KNVVaNDhyV092ZjZvRzRCMVB5MERYWXB3NjdzaXI3ZE5pcjk2Rnk0LzU2N2FYajlmbkgvbUQ3NzZzZmQvNkt1Zi9xM3ZTNEJSK2NTWjcvcXB6YXJBVmRDd0FyZ3dLSjR2NlA2Z0hhVXJmdTUzWHpWeDh6OTdWNjQ2L1pabXZyU05id3cxeEQ2dm1QTVJaS1lJTzlTQXl5aHVjL0tKMURFSllsWWJQUzVYWUxSTmFGZHVRMXVKRi9qcy9RWWxrZFpqbWxlUFRtWXZ1OSt5cGVET2E1ZXc3UWhTQlE4clViajJpTmk3Q2FQYUlUeWhwM3BiSjdWWlZQZjJ4MHYxYzduRlUzLzU5TDEvOXNlZi85Z0hIaFZlRk01K1A5dythUVphUDlLcUdqeHNzTnQ5Q1lDUG9ZNFI4Q3lYdmVDa0s5TnYvazh2bTd6aDUyOHJUbDc5dWx4cDdJWm1yaklsU0Y3ZmwyRFVtM0NRNXFQSC9DSUp2NnpWM2MyaDlCcTBRc1QrUkF4eVVXSkZLUndZQXAyd3g4dkVNWitPQWFDT0k1U1RpZWtrbGlSUThxUVVPNjl0NXhnREd6Z3hjRzFjc2w5ZVlUT0hkcU0zS3JtbE0vbkd3cUhsMlNQZmV1YkJMMzd0N2ovNHRTZUVIcVhIeFI0dW54R0JDSVlsQnV1RDhBMDFtRnlFc2RzUThBNlVqZTI4OVgyN1I2NTgvZjdTanV1dkswenN1aXBmSEwyaTVUQ0kwcVMwVU5FQ3NEUTJrUy9PenVCUndvTjlQVGptT1lBOEJQZ3ZQV0FBVWd5ZWlHM2hLSW90WnNraEtpZ3M1akVPMGhZcmpZR1FqdVZLMnErRGFmMnFUVHhpVXA4bjEzY09Xc1ZpcXprKzZocUxDL3BOajJaVFB5ZlpXczQzVjg3bjNQS1pYSFBoK09Mc3FTTnpKNTk2K3RTVDl6NTl6MTBmUFNVMCtoRVpVenFLeHdBWThTZytqdnFoS1Y4NGh5Uk1NSzBPeUlRRHhYUEkxczBiRUV0OEZ0SjFsZEc5cjZsV2QreXY1TWVueXFPVE8wcTFsVktwVlJ6UjFuNkpucGZmc1FFZWd4SDQrYzFMRENNYWhValpuOFFrUnFCc3ZJS05lUW9qb3pGTnN3Uk9hVzFHc1I4bktHb25xTDc0clgwdWN2aThTTnRZYkpSMG5URi80ZXpLeFhObmF1ZFBIMTQ2K2RTRHk5cElnM0xqUWc0MlVDeEtSdGxSNlpkTjhhSmg0WktGR0JHdEVVT0RBNlhISThxVE9KWkZ1RFJQNmJSQWYyZ0N5a3p6bmg2MXBPT0J3cVBTaVRHRVdFWWM0WlM4UENITjVPV2gwTVlhYVJHbkR3d2c1b0dPZWRLRTJNN25mdmpPM2NxUGlxVW5NUjBWSFdQcTB1M0lYNWJ3dHlYY2JycnBmRHBOcDd2emwwVVFseEZwdHlMVCtYUWFGcnJ6bDVFdGovcWxLdHlYS2wrWHFwQVhYY0dYeXZCbSswMEpiRXBnVXdLYkV0aVV3S1lFTmlXd0tZRk5DV3hLWUZNQ214TFlsTUNtQkg1MEpQRC9BYVVjdVE1N1EyS0lBQUFBQUVsRlRrU3VRbUNDaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVFBQUFBRUFDQVlBQUFCY2NxaG1BQUFBQkdkQlRVRUFBTEdQQy94aEJRQUFBQ0JqU0ZKTkFBQjZKZ0FBZ0lRQUFQb0FBQUNBNkFBQWRUQUFBT3BnQUFBNm1BQUFGM0NjdWxFOEFBQUFlR1ZZU1daTlRRQXFBQUFBQ0FBRUFSb0FCUUFBQUFFQUFBQStBUnNBQlFBQUFBRUFBQUJHQVNnQUF3QUFBQUVBQWdBQWgya0FCQUFBQUFFQUFBQk9BQUFBQUFBQUFKQUFBQUFCQUFBQWtBQUFBQUVBQTZBQkFBTUFBQUFCQUFFQUFLQUNBQVFBQUFBQkFBQUJBS0FEQUFRQUFBQUJBQUFCQUFBQUFBQzFaNkxvQUFBQUNYQklXWE1BQUJZbEFBQVdKUUZKVWlUd0FBQUJuV2xVV0hSWVRVdzZZMjl0TG1Ga2IySmxMbmh0Y0FBQUFBQUFQSGc2ZUcxd2JXVjBZU0I0Yld4dWN6cDRQU0poWkc5aVpUcHVjenB0WlhSaEx5SWdlRHA0YlhCMGF6MGlXRTFRSUVOdmNtVWdOaTR3TGpBaVBnb2dJQ0E4Y21SbU9sSkVSaUI0Yld4dWN6cHlaR1k5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZNREl2TWpJdGNtUm1MWE41Ym5SaGVDMXVjeU1pUGdvZ0lDQWdJQ0E4Y21SbU9rUmxjMk55YVhCMGFXOXVJSEprWmpwaFltOTFkRDBpSWdvZ0lDQWdJQ0FnSUNBZ0lDQjRiV3h1Y3pwbGVHbG1QU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDJWNGFXWXZNUzR3THlJK0NpQWdJQ0FnSUNBZ0lEeGxlR2xtT2xCcGVHVnNXRVJwYldWdWMybHZiajR5TlRZOEwyVjRhV1k2VUdsNFpXeFlSR2x0Wlc1emFXOXVQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZsRWFXMWxibk5wYjI0K01qVTJQQzlsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrQ2lBZ0lEd3ZjbVJtT2xKRVJqNEtQQzk0T25odGNHMWxkR0UrQ2w2d0hoc0FBRUFBU1VSQlZIZ0I3TDE3dEc5TFZ0ZTNmdnQ5bnZmOTZOdjMzbjdjaGdhYTdzWldCSU5nVkh3Z3daWVlEUWl0S01NWGYraUl3YUFSa1dIVWtXaFFFOGVBa0JBRDBhQXlJc0pBVVFNa21nd0lBU0tTRmtUZ2RqZmR0Mi9mUjkvWGVaLzl6UGZ6blRWcjFWcjd0OC9aZTUvOSs1MTltbC90dlZiTm1uUFdyRGxuVmMycXRYN3J0MzVkdDBnTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhzUERBd2dNTER5dzhjRGM4TUxrYmpkNGpiUzU4YzQ5MDFCSFUzRHNDNzY4STFsK3Bnenp0WmtBa2ZKUU9QMDZkbzhoZjhCN1BBOGVaNE8wWU9FNzk0Mmw2U21yOVNocklCOWs2eG8vTGJWZmRpdGJ5TGVDNzY0R0RKdkkwL0RRYzJoK0V2N3VXblhEckt5Y3M3elNJWTVMU2VkTW1hNHRMT0hOMFB3Z2UweWhuYXVza2JwSFB6d01IVGRScCtNUmxqcFlId2EwRjhORFBMVzlMdjJmaFQ2WEJPODJXeEpHM01CM1dsaE1HVHlkblIrODJjT0xneVpUMU1oL2pzN3pJVDhZRDR6N0ljdVp0SzlrbjVPTUR2cXpUNWkwOGpRZGNwdVROOGoyWnA1UHVTZVVicFZzN0VoNTNlb3VuODVqY09jR1hCSysrKzkzdjN2aThyLzdxY3crKzVkTXVuSC8wa1lzWDdyL3ZRbmRtNCtMeSt0bnp5MHZMNTFmWFY4NnVyNjJjMmR5YmJHeHVkZXRMeTh1cjNXUnBWWFZYOWlaN0t4SzYzSFZMUzhxWDl2WjJrVG5aNjVZbTNkN2VaSmRzZDg4NlpPT2l4eWdVQWtWSSsyZ2lwSkxRQjdDWWs5KzVpRm0yTEJXUzN6a25wUjBkeTlMMHpKbXUyMUxoeXJWU3I2bS9ONlZ1eXJvVnpUeXFTeHVHZGNwNnU4THJmejllT0dTNmpwajNsaVp5MzU3NGxBc1FYbzViMmhYUDd1N2U3dTVrMHUzSXBkdVN0TDIzMjIxMXV6dGI5OTNYM1Z5ZTdOMTQvZFh0NjV1YjI5ZjJkbmV1VEc1ZXU3SjM4OGFsM1V0dlhONTU1ZVZMTnovMGk1ZDMvc1hmdmZyR0J6OTRRMDF1RlZYb0UvcksvYVVjRmZNUVdHRndwTXpIc0luMzJpa254YjJtTi9xMnVpZE1QdTJnMHpSZ25OYS83bHYrMGtPZjl1dC95NU5uSG4vaW1kV3o1NTlaV2xsN1c3ZXkrcVFHM0dPN1M4c1BhT3hkRUh4R2xWWTdYU1F4YlRsV05kV1o3ZGQxM05Ud1FTaURHaUFIT2JEeFFpZGNXTUI0b0dlWmZCK1BrQzE5R2crVHBmSUl5TGFuNGJQTmxnZVlBSEQrZkFTQVM1ZDd2UWFUdExTVE9OcE1PSFByMGVpUStKcGo0a2pPbUdiZGtxZnc3OE1KZjJCUzM5ei9RTmowK3F2cWFQVTBiZG94UkpXOWJtdXYyN3V1L1BKa2IrYzFSWklYSjl0YnorMXViWDU0OStxVlovZGVmZjdaNnovK1E4KzkrdGUvOFJWeDN5enR5RU1PQ2tnNjZDaXNwaWQ4VCtWTWxuc3R0VG9ubk5HYmNoNTBQY2ZaYi82KzczdjZ6ZTk5MzN2WEgzencxKzR0cmIxUGsvd2QyOTNTbzN0cjNjcTJ1RGMxMmpZMWFHN3FZRVhrMkJadWgwTmR6N0VyZUhXajY5YldGUUFVQWE2emhpZ0pIYjB2bm5hVVFQTWdCRkJLV3NJZ3dOV3lBUE1VNUQ1YWc2ODBBY0NITHNOYjZpd3JzRjI0SUZzVnlCd0FVbzdvMkVSSzNuSFpiUlk1aHMzYytFSmxKam5KZFFXM01pb3NlcmFSY2dabElZdVltbHZvbEZNR2dOZGVpMzZEeFFOQko4dlFDTkhPd1ZONm9xazlLU05tSW1WMk43dnR5ZDd1UzVOdTl4ZjN0bS8rOU43cnIvN0UxaS8rcTU5NTRZLzlybytxaHZaSERnVGNMMHMxTVNGaGdRUDFVbVh3cHo3aGtuc2x0Ym9tbkJNL2Myelplc2M3SGp6M0o3NzNYL3lxQjU5Nnl4ZnZyWjM1amR0TEs1Kzlzeks1YjFPMXJtNnFSM1ZjMThDL29RbnZ5YS91Wk1KdmthdjdPQWFUWDBJcHJ5c0FiR2piZkZWRDRocmJaclFRTHowdWNwOEtEbnlic3N3Z0wxVXJHVnJTS3pKeGhkRFNCM0JEYi9ISXlRbVZNcUZ6ckdnNDMzY3hBc0FibC9xMnN6NzFTRmxPdUpWWGFRWEFCeFVIWEFwa0EzeWhKUzV6b1FkMVhBYW5ZK3d2YUNUd0hHMEFvQy9CWmZMRXI0VkNLeFVaT0V4dmdzS1NmRExod0pDdHZUZDBoZkZ2OW01ZS96LzJYdmpsSDM3dWEvNzluKzVlZmZXS0tHd0NxWjNtWmo0d1EvUjdJclYrT3MwS3QzcVdycXZYYkd6VmNQNzJuL3oyYjMvaWZWLyt1OSsvZk9HKzM3ZlpMWC91MXRwaytaSTJkSmUxV2pQeHIydGx2OUVjVFA2YktwTXphSnhMa2xkLzVUdGF4a1QyYWtZQU9IT1dZOUpkdnJLbkFDQUdORkVtVXA5VTFyK1BIcmtmZ3VlNEtaM1J5OUFHdHk4VXNja1Z4UUZaaFJVTjQvc2ZXUElPNEkzWHNmTGdsSFVuTWpoZ25SMzlwdGVSTm9VUU9neEx2Vzk2dm1BUHZxSGViUXN0SldVbS9RSFpzcUtSOE5wcjZqTnQyU1psMXNNSEdIVURxR1dLUWVCT2pabE1FN3hFUUZpTG9MQjNjMjluYVcvbkovZXV2dkhkbC8vNVAveisxNzc1ajM1YzNPd0lxRVgzMDB6bXJXb3RMSmJUbDRyNXAwK3hScVBVa1R3UEFuZXUrcHQvNXU5OHo5cysrei80Ylg5Zzc4ejUzNys1dXZUMDY1cjByMnFGdnF4SmYxV3IvRldONyt2S0NRQ1pFd2h1YXFDdzZtOHFaOVhuTHBPMys4cmRjenBsRDdLbFBYZCtxVHQzYnFtN2NtVzN1M1pWZHdsU3MwYlpld0tVTFN1ckV3V0E1VzVUVjhlWGJoTUE3Z1V6c1dWNWVkSzkvdHFPQTBEMkEvM1g2eThvL3BVVHppQXFCMWR6b3dwT2c0emRnWTVsWGZwNWg3QzUrOUhkYTFmKzU1cy8vcjkvNTB0LzRzcy9JZ25zQ0VnRWdEWUk1TkRKM0V5bjdXUWZuRGFsR24xU1AvS2M4T1NzK2x0Zi9aZi84c08vOVk5KzNkY3VuYi80eDIrc0xUM3hzalpvcjJqaXY4RjFyWTdMT3E1d2FQSmYwd3lQSFlBbXZXYTViaVBYRzFwTmV3YXowUmJQQ3Zzck5RQzBmaml0OEVFQjRORDZFZ1dVSWhEb013Y0NBcE5mYUlJQU93UUhBdTBLQ0FiYUxqNC91WHpwMjY1OTcvL3dIUy8vdGYvc2s4SVFDRElJdElGQTZMcU9BSitxTkcyc254WUZVemNtUEFmbDNPNVB2dVBESDMzLzJUZTk2UnR2cksyODYwVk4vSmMxOFYvWGl2K2FqamQwQUYvYTNOTU9ZRS9iZmsxNExlSDBTcVlVbnVYYjVZc0FjRHNQM1YzNkhRZUFzZm9FQVA0MDh6TVlPQkFRREhRczEwQ3cvYk43TDN6aUwzM3NpNS8rdmlLQ29jVTFWUWFCZHRpZHV0MEFFK3UwSlJ5WUIvcmx3VFhYOXAvNW51OTU4bis1Zk8wN1ZwNTQ2dSs5c0x2eXJwOS91ZXQrNmZXdSs3Q0N3TFA2T091WGRFUHJGeS90ZGgrNXZOTzlxQ1gvc3ZiNFc1cjhlRDZGa2kvU3dnTzM5QUNYZ1hySVlIZG5wOXZtMEkyaGJTMG1mTVRJc2FYN1Nwc2FiN3VUbFhkTjN2VFUzM3ZMVDEvN2prZi8yMy8wWnNrVTFmY0hXS3h5N09hUXkveVdUYytUZU5vVVNuM0kwM21aYjMvYnYvdWxMNzN2clcvOXI2K3NMTC85T1UzNlQ2b1RQcW5yZmVlQ1g3dTUyMTJtazdoZ1YwcGhMdHpoYWJFRHVFTUh6cmo2aWU4QUR0QjNvdVYvU2NleVJxVjNCSnJtUEZPeGNrN2piWFBuUXpzZis4alhQL2NsNy9qSHFwNlhCTzF1SUhjQW1SL1F5dnpRVEs3VGtuSyt0cE9mS0RwNVdENytyaGRmK2M4dnZQMlp2Ly9penZMYmYwR3Iva2UwNHJQcWYwaFIrTmxMZTkzSGRLZnZOZDNHWjZ1UGdCUjJXb3hiNlBHcDRRRTlpTmp0Yk85MFcrd0lOTFYzMkJIb1BoTzdnWjNKOHR1WDMvck0zMy82UjEvNWM3S1d1Y1V3Wk9lYXU0RWNscG1MZEhmVGFRa0E2UkJ5ZE9MQWNkMVgvc2svZWZHL2VmM0tmOWM5OHVCZitPV3IzZHF6V3ZtVk93Qjg2UEtldC9xdjZMTTh0dmtwaEhxTHRQREE3RHlneXdNRmdtMEhBdTA0U3lEWTBnTmkyNXZkR21QMUxUOTE1ZHZQZitEcjlhaVZyejR6QUdSUVFMVlRNVnhSN0c2bmRNUjQ4dS85c2IveE54NzdMWC82ejM3WHpmTm4zdjloUGVMNW5DYit4M1d6aitOalYvZTZWL1JaSGgvalVUR0Z6TktZdGJWSng3R3BtNHRiK3ZpczNEaWVaWk16azcya2o4dzJ6aXo1QWFlYk4wN05qdlRZOW1MTGttN1kzWkF0WEs3TksrbkxDcVU5alVDMVM5dDhlV0hwNHRxN3o3enZON3h2OHZEalAzTGovL3BCN1ZXOXFJM1Ztc2V3SGJjNUtOL3RBSkFPSUNjNm9nOHIvOTZmL3ZidmZPTFgvYUUvOU4zWE50YS82RmxOL284cnVqTHhueU1BNkRQNFM4eDhwUlRnd294UGl3QXdZd2ZmZ2ZpN0ZRQ3NzbVk5ejVDMFM5R2VMZ3VXejYrOGZlUFRQK2Z6Tjk3eW1UOTA5VWUrVnhjSlU0UEFIVmg5NTFWUFF3REl5ViszL2F6OHYrNFBmdTEzWDlsWSsveG45UWxydStwLzR0cXVQOWFiNThSUE55OENRSHJpOU9WM05RQVVkM2oxMXhPUy9Ia1RvaUN3ZEg3NXlkVzNmc2JuVFI1NjdKOXBKNkE5N09rS0FuY3pBRENIeDVOLzhudSs3dXN1L3JaditIUGZkZTNzK2hjK3ErOW01Y3IvVVczNVg3d1JIK25kamNsUEh5OENBRjQ0bmVrMEJBQTg0MHNDaDRBK0NFd1VCRGJlOFo3M2JMLzYyai9aK3JtZjFCTXFIdmRtcDBwVEJqZlh4S3A3TjFMTzRRd0FCS0tsQng1NFlPWEwvb3YvNm0vY1BMZnhtejZrbGYvNWNyMy9VVDE3LzVJKzArZmp2YXg0TjVSZXRMbnd3R0U4NEdjSDlISDBydTRGY0lOd216c0FGelorMDhOZi8xZi9ldmZnZzF6aU11L2FBN0YzWldqZmpRQ1FocllPSUFEcy9QVVAvdngvMmoxdy9pcytvbXYrVCtoei9lZDEzYy9OdnBkMXM0OW45TE1pM2xxa2hRZE9zd2QyTmZ1M2VRS1ZUd2gwYkNrSTdEMXc3aXVmK3Q1LysvWFNXNWpUOGZIZ3ZBTkF6bUh5REFCRXhPMi8rYTkrNW5lc1B2Ym9OM3hNVC9KOVFoUC9FNzdacDBkOEY1TmY3bG1rZTlFRDdBVDRacUtEZ0o0WDJORzRYbnIwMFc5NDB6LzZtUytWUFR3eDZKMnZjdVpDT3pkVW5FK2Fad0JvRFV5RGZRL2lqLy9OYjMzTHc1LzVybTk1YWF0YlkrSy9JRWV4L1g5Ums1K3Y1bWJGK2JoazBjckNBeWZuZ1YwZUhOSjY3OHNCM1JSVVBGaGJlL3U3dnVYaGIvN3ZueTZ0NUVLWWMrTGtHaitFcEhrR2dGU0grY3pCNU9lWWZONVhmZFZmdkw2Ky9KYm50ZnEvcU1sUEFIangrcTYvcHJ1WS9QTFFJdDI3SHRCSEF6dmVDWlFnb0V2YjNUUExiem43MjcveUw4cW9uQWM1K1hPNFp6NXp1K2NWQU5JZ2NnN2FaZkp2LzgxLy9jSDNUKzYvK0h1ZTA2dWNYdFp6L1JFQTlIMTdMZjFaU1h5bklxWHlldFBucDBUS2p2aFVNQ2I3NWxUYVFoQm9kZ0k3ZkJoNDhmenZmZFAzLyt6N0JiV1hBbk0zdzQvYnpzbHBhVnhPL3NtWC9aRS84c2hENzNqbk43NjgxVTFlMXFyUDhkSjF2YmxSWCtyaDFicW5LZms1RDNRcWVxRWZCdDJUU2JyYnY4V2UwK2JyWS9tMHNjVjlkU3doczZ1MHAxZEs3V2pFOE5YaUhRMGN2VXQ2c3ZyMHAvMzVCNy9pNi83UFYvLyt0MnI1ODZKWXJLZ2ZEVktlYVpwSEFHam5DWk0vQThET2wvM1p2L0MxVzJkWDMvbkNTL0d0dnBlMFBYcFpuL1VyQnB5NnlVVlA4QjRJbmova0V3bHRWazZkamxMcFVLbTFCWHV3NVY1T0RERHNJT2REZGwxcW44cStXZEV1WUdsbjJZK1E3MmlzTDExWWZlZlpQL3pudmxZQjRMK1V5c3hGdWlaTkFaNTU4azI0R2JkQ3YrVEI1TWZRcFQvNHpYL2w2VS83cmIvOWI3MXdZM0tlWi95NTZmZWNQdko3UTkvb2d5a3JuSnBjM2JHdTd3R3M2MVZhL2k2QXZnOXdLdlU4ak85a3k2cWVteit6c2VTYlV6dy9mMnI4ZkJqOVJ6ejB3MW5ad3VwNlU2dUh2c1ovS3UycHUwZGVOaUtINC9PVk0rYytjMlhqM1BkZi8vRWYxaDB3SnlaK0hyRE1OT0c3ZVNYYXlodC9PMS93dFYvNyt6YzNsaDU3V1pQL1ZTMUJyeWdpTXZteEdNYlRlSER0bjhkcDFPOG9PdUZuMzh1UVRVZXBkeHA1MDVhOE4zTWFkVVFuOVBTbkFucWdUWnVCYmxmamZrOXo0TXo3ditZUGlNU3pBY3lQWklXZGxIbVVUdmc4NjBzQTk0MTBUcVBJdXkvL1UzL3F6YXYzUC9TQjUvWDFDRjdoOVpvYzhhcFdvVjN0cldldDBISDl4M1ZsYThReXdlQzR3dTUyUFd3cCttTVR0dHpyS1FlYWJUbkY5cUFhNDV5Zk45cVYwbHdLTE4vMzBBY3VmczJmL2g4dmZlZGZlMEZrdW9RanJjaGNxSk5QODVwdjlFOGF0dlBGZi9qcmZ1Zk9tZVVuWHRHMVArL3VlMVZPdUtUVm4ydTMwNXJvaFEyZEZMeDlENkI5b1B1MDZudzd2YkNGQTF2dTVjVGd3ZzUyQUl3aGJxdWY1clRFdlFETmZnNzlLSW0rTmJqOHhJWGYrOGQvcHdMQXQwbHY1a25HTTFrMDJ6VExBSUFScERUR0FlQnRiM3ZiMlhPUFAva1ZiUGt2eVhoZTRmM2FUVjdQSGRmVVVlWDBuZlBPY3ZaSXJxQ25UOVBiYTRRdFRCWnM0YmpYUHdWZ2dMVzIzQXYydEx1QVhVV3M1WWVlK01yenp6enpkNjQ4KzZ4bWhvUEFYRzRHTWlsbm1YTHlrOVBXN2dmKzFyZCt6dTc2K250ZjFiVS9yKzUrUXdIZ3FyN2IzektlVmhoSFdUZU50dE9xNDJIMXFyYWtUZmR3ZmkvYTRoOC8xUlRuaGlYM0Fqck5pYk4vNnRzK1J4QVQzNHVsOHJZN1ZUejVOTXNkUUdxTEVXblE3cHMvKzNOKzg3Witjdk9LVm45K3VJTlhkL084OUR3VVNZV09rL3NlQUJPL1RQNTcvUjZBOVMvMmZFcmNBeWkyc1ByZkcvWndJMUJ2SGRhUFNPOXh6WEsyVzFuNzlIZDlzYUFmMWNITlFHNEtNbmRtbW1ZMTcxTHhqR0FPQU9mT25UdXpkdUgrTDJMNzcxL3MwUTdnaWw2dHhYVmJWcGlwdFhjZ1hPTXFYdjBrZ0dCd0wraDhrTG5ZZ3IreEkyMDVpUGRld0xlMk1KZkc5d0J5RUdJTHRwK1dwQjg4angwQS9hQUJ0WHord1MvU1R6YWYxVTlQYVdtY3oyWEFyQUlBUGs2L1o5Nzl4OS8wVFUvdHJhNS8xbVU5OFVjQTRGZDcrTkVPQnVGcFQ1NHNVcEw5R2VybVRxRFgreDR3SXBWbHdIRlVXKzRoM2RPR1VkN2FNdkdBWXRqMUtTM012S2ZjUFVnajN6Y3ZmUm1nS2IrMHN2NVpELy9SYjM3Nms5L3k5YjhrclhMZXBDSGtKNjcrTEFNQW5rWHB1djEvMTIvNExlL1pYWnRjdUtwSEh2aDEzcXM2K000MERLY3hwZWZSRGM5NzBnc2dYOUlnTTcwd2didG5rblJsbTh4MitkN1pNdC9hdTJsTDJyTkhoK2gvblBaNEFtZVVwckNOT0daVVJFWHZBdlJwQUJ2K3M1TUxhNS83eGU4UjlBczZtQmFwTFBsTTFKeGxBRURwUERCbTcrTGpiLzQxbXZQeEE1M2FBVnpYVzFQb3Axa3FvZVpPSlBHcUo0eHhyNVN1WURkQXQ5eXFkMmJTYTNkb0VUbzU2QXBnc1dUczNhc0ozN2VKUHNsK1NkL2JWdUU5R0ROd3U5VFd2RHV3QXdDL3RDeWw5NlRvOGtOditseHA4ci9xOEZCVDNwb0luR1lKdlBNMGk3bVhDcFBuZ1RHcksrZlB2NWZmN2RQWC9CMEUrSFhlMDVEUW90VmtBRE5Eb0N2ajRQTm1CaGlxcDNFQzc2bmszWXFVcm5wWDRKNHl3OHFpT3YyUS9ZTlJwY3VxZmVNQUIzOWFuejhqRGlid1FIM2ZSbWwyWjc5RFVBT0tjY1Y5Z0tVekY5Z0JuTkdSOXdIYVlYYmlQVFdMQUlDM1dsODZBSC94Qno3d1lMZXkvdlpyK3NqamhsWi9EZ0tBTmdFRFppcmZyY1ExV2F0NHE0Znh1TDhjYkRXZE1oZWhnb1dVMlVINHBNODlsMEs3UElUQ3dQTng2alE4bEV2YXZ1STYycDJuMlUvZlFFdXJEQ2RDT2Zpa01RRXpKWjYzK3M0cjZUTUFCU3kxclA3d3B3RXJhODljK0xLdmVmRHlEM3puaTlJQlJkcWpWL2FFRkp4VkFFQzlnZUx2L2ExZjh1VDJaUG5oNjRwcitpRWZCNERUOUxZZjN1R2EzWjdYODJrQVl3dGQ2U2Q5RjZnN3E1QzJvbDkrNDdmaGZLa0pJOXU0ZXlUWkRobHluejVzMG9jdzNVUmZjcnFYRTlwZmtDMFRIVmZWSjllMHNPUVB4dmhudmQwL0RFZzlmU2Q3V1pFS3ltYm5yS0lMd1pNU0Y2WFpuZWtMZ3BkamdCYkZwWlhsaDgvK2UxL3lwQUlBandXalRxcUVFc0FucXRwSkI0QlcyVlRZU2ovMnpEdmZwcDlMWExucGxUOVcvNG4yUFNldEFJMmVWR0xpNndubDdyd215enN2VHJvbnowKzY4MUo0YVcxSlBjRXdHaVU2YzRSeWNTcnlBTjVwOVVlNHNaTkg1T0dRS1VUWEdWVjB4ekQ1ei9JN2xpVWQwWWFtV29KSHprZHFEZXRQSVJvMXdsTmtBbTgvdHVxZDVldDZ2dVNqK2dHWjUvVTdFbHl1RVFqd2VGd09SR1hPNEd0UDFuNENDQjVxelRMUmtvTUFnTWFhM2hPd3N2clVwNzlOcFovUWtVcGtMdFRKcGxuTlB4VE9BLy91bm52bzRiZnhJZ1FtMUpaNllYTjhZWGF5ZGgxUld2UzhvN0JxbHI2d0FlKytmNm43TEMyVlRQd3ptaWZuOVZLQWRlWDhJaXdHdWdNUGFBMTU4SkNpaFlCbmRSNjBwVUtXNzdROWRNOWQwVHpzUU4vVTNlM2R4aFo0NFdPaWIybUJ1YjQ1NmE3cGVNZjVwZTRGZmNuc3AxN1o3bDdTZXliV05OdERyaGdGc09lakRrTVJQSWQzQjJaQ29nSGxzMHUwRVBjQnRBZFZrOTZGUFBEUTIwcUxWcWZBWmoxcFRVNDZBT0MxR2xBRm96VEg4c3FaODIvbDVoOFRQNFBBYWJqKzU4b2RwUWRKQ0xiNlgvREljdmMyRGFJSGRFdm1NeC9xdXZ2UCtsTE5BNGJkQWNlK3VrWFFRZmhCTzNNbzRQempwdE5pQS9vZnhnNzA1V0JDWDFjZ2VFRWZONis5T3VrZVdsdnRmbFN2bmZyd2xkMU9QNG1vRlBzM3JyK0JYVS80N05QczFMZ3NQRXpMeUR4K1d0Yk05K1NYSXVSTGErZmVLbWs1K1ZHZ1ZRSVlsVThrblhRQVNFVlQ2Y3hYbGxmWG45aFVwM0J0UmhEZ3l6KzdzaU1ybklnMXh4Q1NDckxDSmN3ZDJjOS9lTGw3KzRXbDd1MzNkOTE3SHRIV1VrU05uMjVMOXpENDhvWnZPcFZ1b05NT2xaTC9VTXlIWTJyOTExN0RVcHZtV3ZyaEpCNkNxN0czQVE5UjhkWXNyYTVqVzI1ZFUxUXE2NkRlbm5ablN6cmVwTDQ3cDZEOXk4OTMzUmMrb2tzRC9ZNzNDM3JaN0xJNm01SEhoR2VTOHlLUnZLbUxQVDZLTW96UldhY2xLMTBhMXR6UXczSnZWbWxOQjUrYUYwMEV6U0NkZEFCb1ZVUnhLLy80NDQrZjBaWE5JNXN5aDV0cC9GcktMdGYvOHUxTXJXdTFPU1NNZnF6NnoyanlQNmtmZDM3Zm8vcStndXBlMGRPTHUzcHIwWkowMTlpeTNsTjFsMDJ6SHpLSE5LYXdWVDByY0p2NnA5Q0cxTmdtSEdBSGZpZDRxNHY4bWZxMlJ2ZXFwdEZqMnIxOTRxV3UrOXlIVjdvZmZHN1QyLzVsSmo1OG12dzdpdUJjSExBN1FMVEZ6N1VUbXgyQWxGOWFYbjJrZStLSmplNzU1N1hVVkpVT3NGb2NkNUJtR1FCUXkvNzh6Qy80Z25ON1M4djNiMnIxZEFEUUpPUFhWS3V6NzhDQUU2bGFCanplNXFiUVordTZuK3Q5Vm41KzB2V1N2cms0MFMrNzZLMVQzVXE1d0duSFIvYU1jUTJoQVU5RXphTUtTYjFxUFNGYVhPcTNENWVFVW5GVXJPTG1CYlQ2dWMyUkhlQmFIWUVaWjN6a3ZLVkZoL3MxWjNVWjk0aTJjYzhvdVAvOEczbzlaOXdWZERCbkV1eHFWN0N0bFppMk1zQVBuQ1g4ekJJS3M0MVUrL3kwdUNMQS9lYy82d3ZQWFhuK0gvQ2pZcTM1d0sycEt0NVptbFVBUU5FOHVzYys2NzNuTmQzUGMvT3ZEd0RpT0ZGVGp1WUkrMXhWTkU2c2hqMHI1T01iays1KzNSbC9RcXYva3J6RCt3cjIxQTM2K1hrSEIvZlRxS2swQTlwcFN2dlVFV0xLazdCOU40aStyODRwTUdpZlR0aUJYajVOVnpBL3JtVzNlVTNIdXZyeXFtYjIyODR2ZC85T0FZQUp4ME5BclA1OHBzT2s1NTRBWDB6bmNvL0VaU0h4bnVJdG1vTDFqcFBIbGRyajBsSjZuVjkveDdzdlhQbmhmOEN6QUtTWk5UK0xBREJXZHUrUk56MTVZVyt5dEpHVDM3bU1WVGZjdFpSSzBza1o4ZEhyTVFXQUZSRWZQcStCSSswMnRmWG5iY0FzR0RuQk14OHJmeEIrekhkWHk3TDN3T0hFQUx5cnloMis4VnVaWVNucUw3YjBYRWl2cWw5NVpvUDdBZzhvdUNzR2RGYzArSmp3VEg2K044RHFEejlqZ2U5SklKL0ZRYy9uT00zU0w5YURCckxSbGFXTmxVZTVBSFZDZ3p3SzZ1U3lXUVNBMUs0cWZlN2hSeTdvMm14VnIwYVBhelRsK1dXVVpMN2JPY3B5YStnOEgvRnBzS3dxMXlkSDhUVk5FYm0ycElQSWFnNmN5WVFzRkw2K2VOY2c3R3BUNnQvaURvSkhKaDNFTmpmOFBsdGFCUnNpSUNSeWdya0R2QkFUK2xXUi9LeG1PaStoSWFycmJEcjM0ZmhVYWtVMXVTbElvbDUwT01Ec2t4ZVFzR2wxNytLakJJQTBZMmFObjJRQUNLK0ZxZ21UNzIyY1AzZUJKMzU0N0pRZ3dMYXJmUVJ6WnRiZFFuQXFpSXZ4TXJkYkdRd2JHaFIrd2srOXp5VUwxMlFNbk9UTFRvcCtFajVUZzJqQXBONjFQSFdwOWg1U2s2eDNTUGE1c0tWT1UyMkJtQVRsN095WTFDUmdRT1kxK1lZQ0FKLy9yNWtuVm44bXZ0N1k3KzAvbndnNGFKVDZ5QkJxdGtrRGE0TENOS1RHbDgrZHpSMUEyeTRhbmFncUp4a0FXa1dCcS92V3psODhoMjA0blpXVVFKQ2RNcTQwanpJZXpJTkp6OEhYZTdYb2U4Vmd1NC8yNkFrams5NTlVMkJoKzhzQkZ6amRPdEdlVXdVU2NVSzU5RVh0ZzlKSk5WdmxWT0NnRnU4QWYweGJCdlpUU0IyVkp3aWErd084TTREeHlLUm42MjlZT1o5TThkSGZscUpGKzlndzlUaG1sVHpHSkp5Y2hwWTJMcDZqR0tYWk5UM0xBQ0RkUTNHOTZPQWNsbmoxMTZRaTE1T2FweUpsdExjeTBvbjd3S3dVVEhoL1VhYm82UTRTVE5HZFZPQTZzc0JQczJpQUhCU21jUjhmWjMyYUlkcUFZNkhUU0xmVmJNQXdLSXpGMzNtNXRXV2FzcVdGQVlrQ2FwVzhncFlWTkhEWmQ0ekJmdUwzTndTWG1maUlLZlh5aHFCUU0wMXIwaWUvRTRDZTNlbzZBWUNVWm1ZZTJCTTZuM1FBbUtya3h0bTFzMnU2RzdQR1k3UWJmQ1F6NlM3cWpzeFU1aE15N0RCaUdBem9nTU41SUlUeWlrWUZPVGdmT3JGcllWZVFaUThpNkVZRVhrVXdrUld3S2ZYNG1VSk5pd0x0MzMxT3h0S0Qwb2hTaWlQc1FaVlBHRDlzZkw4dFF6c3FuV29VU3U2K0ZFd3grKzNNaGg3dDNsbnlUc0M4bXZScytibmhSOVhvNi9oSTBHSXNYSVFacGlVMXluMm5GYzNJZGQyQTNyNndxa2VZRGt4cDRZRU1oeVdjZEFBb2JnKzNTZ203YnUzTTJzYUtBc0M2amcwRmdETXk3Wnp1dE0zQnJ3ZjZJUld0REVLQVcyRWtGSmdCbzhEc2daTjVTK3RoYXZhSkVpdElwQUJxTWRFenlzT25jWGFibkFhT1Bwd21ycmFQbGR1azgwdGpXNnhUYlQ0MUtUczJGZUhuTUY4QmZNa3BCRHM2Q1BUTCt2cHlkMEc1UHhrQUxab3Yrd1FqZ0IzQTBHY2dacHZRaFFEQXdkcS9kV0ZOTTZXYWhQWXpTU2NkQUZCeW43SmJ1NU9OaVY0RWVvMTNBZXFobWl0WDlycXIraTJBZll3ek1YRy9VUFc5QndrNUFCL0RKTHpEMHo3U3JQSUlZUEo3UWdzMnZoREhjRkRqbkZ0SW1waC9RclBvaURyd2o2Z0VFaktJaGJRakNqZ3g5c2FXSXJNZk4weCtkbTVORUlDb0ttUUZkQUJQRzhEZHVMN1RYZEp6M2F2dTZxZ0xONWQrcnNkSnlTK3JUNXpLQlczYVNaOTRNR2xWSDFud05YTjlqNm5idnI1RUFKaDVPdWtBTU5WSE96dEw2emYwUU0xMWdvQStYTCtpSHdHOXBKY0NUR1dldWNsOUE3UWZnN3dFSTQyU25RZU1OVk91SHI0RUVJWkIxRzc3V3hpaUI1bFBCUTZNWlJXMDRWbWR4djYwVlFOOTFQS1lxVlZtcEdSZm5BYTFGVThlSHF1NXp4WXh3SU5tQitZaXVBOExYM2JIcHQ1R2MxVnZwZVhiZ1o3MWtnREl6M1d0SUUzL1liRVdnZ3FmdkkydHhGVnRBVmEwL1dRSHNLM0F0SHR6d3VNbk0wOG5IUURHQ3N0OWVpeGJEemYzUXdpTVArbHd4NDByekx2c3FDOTkwSSt2SzZOd3J0NU04SG93RUpveWVycE1UZU4xQWxmS0xzejVGQnEwamU3SHRGUjNUb3NBdm5XVk1mZk15dnZWYUREMGsyWW12dGE2clVtcW5KbWFCbVV1N1FnQTBVL0ZOSlVoYzZWSFloT1ExLzdnR0FPYWcwNkpMOFhaWnlpbVJEYVpMS09HUVhDelNyTU9BT2c5bVN3dHIvQXhTMDZnV1JseldMbkZ6NTdvd0F3dGZ3OEFCWnRFS1hjQm9FMHVkbkJaUUVYWEtMaktBK0JrYWhiNi9BQjB6M0JFS0EzYVYyMUlvTm5ZOGV4anJBanoxRklDUTRVcnp4Q2R6SGVXRDFVdXN2WWpFK05jZWhESVNXUXRqVDV6RUlCWTlHMmZRQVhGSjBGTWRnSUFNSGYrbVJqNVJDQ3hoVlNxUitHa3p4TGU5czFraWR1QjFSUmFTN05PdE9WWkJvQkc0UWtmcjhZRVFuMFZjRzdEY0tKR0hWWVlPbTJqalA1WkNlaDhyLzZCc3I3akFOQUdNYi9Jd2J4Um9WLzlEWVVhSXMwOFpSdjdIT3FOODZENS9aZ0JXWVZHZDVkRzlHeHJoRDZ4WXNvZjJCTElRTFhuTW9hRXl0OEN5R3JrSE5sL0tSWTl3Yk1nc1MwbGtMUDlkNzlDOHdEUUEwR0MrWmpRdHduYXlzTFBKS0VVN2Vnb3VyUnpFeXFKUERtTnVOTlQyOGlkeW1ycnA4TGdlTFNPZHg3VUNaWE9iaXZNRTY0clFtblVYcFYrdnROdmhYdGRjd0RCbWpiMHNHb0t5YVNLSnh2N1BIam9VVU1sbjBYbVRiQUVvMHVSYisvN1ZGR0hiem5xN2VQSCtKckM1aWkyK01wd1RDRGE5am5GdWhCNG93VEc5bDlOYU5tUFZSTWYyQU45dTBLZ3N2dGF1YS9sbGNNZmRjSmRCSDM5bDQvK1loR3dNT0g0eGlvM0FuMnJvSmM4RXloMVFobkRtak16YVdna2RGWUJJSnR4ejJseThQWHJHSXpPNHlrc0U1Tnp6cmtIVERPbzR6dmh4ZmxGMXh4QURDSVNaVmRwNkdHWEpvUjVnaENnejJGempxaVE0dlB3ZERSUGpMbjNyZW8wWFVjVUxmVTFlbWlvQWFYUXVNVVh6RDVDSzZXRjI3ckhod2ZOVWJBdE1jbVJhcFRGSnhTNXo2Z2pnSXdqQTNqMkc5V1k5QnpRK0s2QWR3R0NTZHdEWUx0SzBVRkRlZlkvOUZrbGRodHRCMmdwSVFDTXNDZmYrcXdEQUJyckU0NGxmZ2F0TjdBNCsrVE5DWStONWJaelFZNDFPVlhJYTNtMmVwREFlNklyOStBUmczNi84UllUUHlxeEp1NExBdGxXTmtZYlUxUFBRSTg3VlNBUjQzdy9RNHRCRjVkOTZ1WDNVZ2JjUFhvTXFTcTFiODg5clkyeHNJUEtyZlRnMlk4SkxRSlB5QXNvK2FibDRPaEQ5eWM1b25WcUp6d3dsdzk4QXNBWTRDTkZnb0JuWDZrenIzc0FxR2NsVVZTM3psMmU4V2tlQVFDSDg2aDkzeEdDNTMwUEFKL2kzVjMxWnNBTWFtL2U3WFFHUWlnSVlGUjlGSmpIUm5PQVZUdVFvb0xMQlhiR2lmck9zcVVvcHd3ejVBa2tiR05pcmRvVDhrWlhWSzBNS1dtVWwzckpwbUl2Q2RZa2pLb2xaVUFlRlBaWHVHUE1yZVJMYTVIRGRnSHF2d3JMb3VoRExFT0d5c2xiY2dkeHFrSG1LSWtiZ2VzcTArLytDQkM4eW5FL0lMNGx1Q1JoU0c0WEVOaG1rV3hUMGMrNlJqeWFSVk1EbVhNSkFHclJZOC8yNldTbkpuS2d6cDBYb28yYzVLekxPVFNRYlRVYzhYTTBtQjZ6VlNpVitDOUg3Z0JZRWVxTm91UVJvNi83WFNVcTZPektrYnZnOW9HY1RCQVVhZ3h4aGRhVEJMa1FCTUJVMDRTZU1lVHNPL2Yxeks5aXJtVDdXRnRFMFVQY3h0Wml5ek5IT0hveSt6TmNram94TWJFcFhXRWZTYmUyUEFnQVJXL1RFYUlqNnNSczh5Y0I0SVVrWTdIZ2owQXc4MVNhb0NuYnRjY1BoUlgxWnRqNFhBS0FKb3AzQUhqVmRzcXg0ZHlUczZ6NHp3S0JjOGpZb2FVWndrRzBIOXd4b1pqSU1PZ2tJSDZzTVZZR3ZnekVTMElJQUZrM0puM0lxVEJWczM2MjFjOVdpeTRjaFJvOTJ4YzhKUHNpVUl4TTQwd2RMUDlhbWNLRVdxY3NpMzE1QU1WS2hvcVdHNmNCUnhSc2lNRjk0b1VkNDNvQkIxTjZubHRCUS92SG5ObVhLSjhCQVo2RS9RbUEvSk5TMm54d0NTQTE4ZHRTMmRHeCtyTVRaZUw3eFNDTVM4SDU4Ujh3bG5GWlFJcXp3Uk0vc2NCNENCWEowbk9XelZYOTV4UUE5T0dLUElrejAwaWNmeElXdGpKaVVzVExIa3RUcFUyMi9ucStXaWUyODB4YzVwUHJlcUpxK2hZRnQvVDVFTytLNE9VUWZvVzV5cHVGSHg3ellVYkM1S1hzTmxWMkt2Z282R3gwMEFxSFVibkNNQUFHdjFOWERIT0dza1Z1eTFObEF5UWRlQkFzUUlTdHZRcEFTRTVONElnMEhSdTB0RDE1VHk2Zm9zZllCckZVbEd4TlA5Zy9Vc1Q1Rkh6ZEFUVEtldXd4RG55VnJacWE0R2hRZDNsQ0lTOERRWm4vdmx4b3hKd29XQU02aXZod1NLQU5tM2FpalRYQzVoUUFpb2N4VEFsalozTVBJQnF3L3d6R2hPYzNDQi9RRjVIZTkrQlM5eG4zVGJxbnp1bGQ4WHJROHB5ZXRlTHVLeDVPTHordWwvOXRDSzhmQWVxMjlWcnBYYjFNY2tVakx3WmZXV1dLYkJ0VFRtWCtxUlNoT3pScE9aSXhQb1BlMU1pOHF0L2xlazJ2SFhwUnI2citwSTR0YlRsNFkwME03aGprMXFzb1p4MGt1TWNWUWhGTktWUkxKZ2hEbmg2elg4TURNZnNKaUhHNkJTbFpEcDIzbWtaWXBXcGd3elphaXo3SWRzRUhiWHBlQXdBVlNpVjZDSkRYY1h2MVYrZUJ5M2hBSGQrVkw3THI1RlI1Vm9tK3BSMXNjWnFnMmV6VFBBSUFwcFdCS1lOYUkrL1F2dFpEckU1RTlwcFU1Z2RJSDlNRS9xcG5WcnJmOVpZbHZSQnkwcDNSN2QzOGZJWDZLU056QmtZZUUzMGRRMTlqcWp6SVRyNGhGc3IrbEx6N0tYVXN1aTE5TDZwN1VUOWg5YS8xNHhVZmZHVkxyMDNYdStzSkJQeVZrVkZoMVloQWdQUndKclI5Q1NPY0N2ODBubVNaa25zQ1ZobGhkMU9jVXVQa1VMWXNHOU9zcVBZSjV3ZDF3QkJ4UzBTMGIrekp3dG1UdlBOREZPekZYZmFFTDBHRjg1aFJnMHkrM1A2VDg2Q1F4MG5qV2tUTUt0VWdReU54TkMzUHF0VjQ0bkYyMGh2SmRFQzFUWUNmdW12b1J3V1JSYUlEYzdYSUNNb0RIRGUwaC8vU3A1YTZiL3ljbGU3VDlidCtlSk5veHdFOGw4OVkxTTZ0VXZwRHIwZm8zbkp1cVh2NjNIcjNub2RYdXgvOHlQWHVlYjIxY3MzYmt4amVqZ00yVUdYMnBJSnRGVUlNMHhLV2pSSW9PU2tuem9nNnBSaWU5VG5BS1R3dDZsQk1iWVZid0ZQMEYzZGU2MU94NVVqWXVkUndQTkJvQ0k4RjgyQUhnQUR4NWRoalRESU9HRU80bW5zK1hCYjRHUUdWK2FRQWw4TkRHN01jTTNTcGc1VGFtV2VheHc1Z01QRXA2UDlFZnZLRVRrR2E1MFdBaXR5NlpsZjQvaU9mdnR6OStmZXRlTVhuYTFYNUJRL1lUa3RDLzdBaE5HTEE4YU1rSC9pTXM5MzMvTUwxN3BkZTMrcFdOVExaQmRTRE9xb1VnNzNrakI3ajhXejQxOEVoQ3lXUElFQWhlQUtLYzZ2SHRJRllnMnhiNmNUaGJBVy9GSTFrVWs3c0J1dVdIUmhrZXdhM3RLSG1xc3RLVGhEUXY0K2srZWFmY0V3QTAzU2lIYitXdXdRQjQ0V0xSY1pOenV4VWZ5UW5GWjFaUzBQQjh3a0E3WWZ2eGNDTXdrTjFEbGZLVHFUckRFdW1PMGtqOTZaVy92L3dyY3ZkTi8zcWxVNjc5MDR2VjhtaGREamhkNUdMTFNmdXVhakgwLzZqVHp2VC9lMS9zOU85b0pmYTgxWFJuUFI5THVOWStjdHV3Sk9EeXFUZVFWRXVad0tsMHdGME55NkdaQ3ZjK3pIN0dYcldPNEVHZXNWS1RsUFd1OUFDTnJhYW1kVUlDTzIzQXZHVlYzV3h0MEVOR0FsZTZjbDE0RVlIaFZMSDl3QUUrMUtqdEVTZG1TVzFOWEE4QTNvT2FaWUJBSk9jN1BDbUV5RGtVVmlPbEZtd2hKSjdpMGR0bGZuSTdxMjZ6di96djJxNVd4ZVJHM25tUFpMMHU4dU12Z1NDKy9YbXlpOTkrOW51YjMvd2t0NU92S3V2VTdEU1JTRGcvbkFFQW9BYzlBelBzbTU2cE9wVWpRK2dGazJmYnVlUVZFcEQ1TlNLaDJDWldnL2tnWG8xRVdzdzhXbXMybTNRUW9JSDBBeVdPNzRFb0MybzROa1ZlcDZCVUNJSTVQWWZPZ0VCSVNaWEpjMTY0cWRxS28zcG1IRnpWZjlaQm9EYWlGZm5VaUlZWU9DeWtNY3hrdW9rY3JiTTVEaVBuSS81L3ZBN1Y3b25kWmQvUTRqanlKZVl1NTdRbStNZCtsbnlkejI4MXYzVUoyN3FsMjAwK2ZVQk5rR0FtMVFFZ0FnRUZFb1F3QXNpVU5jSnB5UmdaRU5MMGlpUEtxVmlyVDlpVW5FL2FUOW1mNjJETUtGeDFUdlpVcVFJcGxIR1ZrcUd3UWZnMVQrNHhCSVZxTU5FcmdzUUNKVTlzV2xEc044R1ZYd0duLzFLSGZIR1Y4UmpoeEM4VkpwTjhrZVN0Ri9FQzV4TG1rc0FzQ1ZZVkt6QzBUZzNqVDJLcGRVeEJmRDJUUUpaL1o4K08rbCt4OVBDQ0Y2RGNBOG5kZ0VFenM5OWZGMEI0SVoyQVhxK1FUYnJXeFVPQWt6K1BaOFl0Sm9TeFpuOTNmRXd2dm9ZZjNtWnVaVmp4RVRubE5SRGljbThVQTVtU01aRDVrVlFHdEhVc3Y2ZW1hRjNhMThFQWdVRTZrbUVjOVZObXpHM3ZRZUEyS0RwTndCRXc3L2sramVlU1U5VHVEWEhLano1Z1Z6S0ZlckVFOWJaOVdyZjNZUlNjMGh6Q1FBWWhqMXBvTzA2cG9IWmdjakFhVVI0T21sYlBmMXJIbG5TeDM2VFRyLys5Q21STU9QTjUxZTZCL1VXMjVldTd2aVZVUkVFWWxCNjFXUHlpOCtEcHNBeEdYREJ5QkgyT1JNRzJ2N2svaG5YcVd5cUhQL0NIQ0NnOGg0VGtIeEw3azlWVUQveHcxNElpVXR0bkNNRG9PUWVIK2l0SXhQamhTSStLNXVGbVBqQzhkUW5lSTh0WUNvMWRTbk9KS21Ob25ib05wTkc5Z3VkU3dDZzJYYnllN0R1MStWUUdBLzYwaUh1U0FtT1FMRFh2VWZ2OCtQbXpkeU1PcFRHeDJmQ3JqTXk1dEd6eTkxemw3YTh3dkVsTWU2Vk04aVpDdjdDQ2lPSHlZK1R5K3dPSDBjWjhpQVYvdzF3bzBKbE1WQkxNNThMMXJWdEU3c2EzWUl1aG9MUGN1d0N5bTVBL0ZtbnZRUm94SGpoZ0FlWDVXU0g3cDJCQ05CeWQ4QXJ4MGlTN253V0p6ZUJXVFFWemMyaW1YMHk1ekpYNnAxWW1zZElaVGozdU83RVB6SDUrMTBBMyt0K1NoK2hrYnlGTTNSdm4vQVBGajJvTnhWekNiQ3M1ZDgvSkNrbjhtVlJ2bVB0RlV5d0I4NDRDR0IrRXhRb2txYjVmZCtZVXoxd0xlOCtIa3ViemFtMjIraWZBYzYwb2x6eWtWZTQxTUVuakpNTUFza0EzcmJvVk9LbEw2L0FNWGI0NGdvdkFzRzMrSjlkMTh5VDJrcjkzUmFLenlITkpRQlVPK1JJK3NaSFJSNGVZRWpTRis1ZjVYUk95TnZ6aXgwZTRBTi9NWHlxQkFCWjQzUmU3Ni9lMWlqZVljTFhQeDVqSlJCb2hkUmc4VUNXN1pIM0s2RUY0Q1NuR0dXRGdWWW9aT2JxVHcwbHdKVFNNTzdqdVRQRUFmcTV3OHRPUUhCYzY3TWVpei9MSlUvYk1tL3ZBVER4d1hNd3FabGp2dGNpMkE4Q1laaG1mUVlGbXZYRFFLcVE5ZTdNdm9OckQ0SVNhaHpNZXFLVXVRUUFqTUdabVFDSnlqajFPTWtkcUlyeGhSekprU3c2a01kOFA1VlMrb2NuQW5mM0JZQ1kvSHg3a1FuQnd6QU0zREpOWWtlQU0xSklPdVlXZnFkZnBnNjlJQlFKRVlSTDRZUXoyYUMybU5wT3JlN29uV2owQVM0NDZsQTJPZmxLUUdDY01mWTRYRis1NnltcnM2eklZa0hoSGtBK2xKTTMvK0FyMWFnMWsrUkZpMFpLc2kxWm1HRStsd0JnQitMRTlLSnlERHlPa1hRMjlSQkY1OUpwZkhQUDEvN2VFZ2p4S1pTd0U5dFkvZGtGOEc2MTlvOGZsTWlQd096VE12RERRNkloZ0dSblp5RlFmUStNOGFJWFZHVDc2V0FzTWtXZFFON0xMSkF5dDZFVE52cjUvV0xINEFHbzByYkhCcWR5Wnc5V3hnaUgwVVdlc2dnSTBIWGtkVC9yQnpzRGdnQndmdzlBaFJtbjJrOVdUbzJSenlITkpRRGs1VXdHQUl6RjBlN0xZeGlKYjl5cHlpMFRiekh3S1RmeWdJL2JSaVBtN29NeWhBQ1Fsd0RldGtvcjRwM3ZDWGdISUZ1THNaa3o2bk5Ia0k0WitNaXo0bGJtTmF0OTQ5Z0VUOXEzZy80cU04TDZsd2I5eUMrVFd5bFhjL0tLeDk2Yy9FVVk0d09RSXplSTZZTnFmakVFM3BUTG1HVlZobFJVRVRURFJGc29PZWMwbHdDUXYzcUtiV0VqQXpNbTdHSHRUZC9RU1JsUUhLMlJDRkVPVEo3RHlreStvOVJqUU13em9SdjI4aDREdjh1QXhqVlN1RkhsU3lEdFUvM0RHSW9HSHF3K3c2U2t5dm1jZkNDQ0oyRVArQ3lVdlBlRm9QZzNwYlc3NXhsVlBvRml0b051cE5UZmVIQUNrc2QwVU1MbnhJMWNZNnNnMkRWNE1qZEtVNThiaWlGT2RBRU9xaUw0L2ZYS29lVWk0KzA1alJrN2JOL29remdSdUdnMGo1T1FlUWdaY3drQTZPRU9UZU9VcDNNUG9hTlpzbXJ5eDUxYUJCZU1janAyMWltYk8ybzd4OVpORFRMUjJ4MEFocUlIT3dCR1B3OEU4WlliVHc0YUVuOU1BR0FkeFVrVkIrb1dpZlp1bThSekNLN2JpbWtaUEdmSHZWajBiM1hIeFBxSkFMcXFvbGRQRVV3clFzSGhGcnNHT2JDNmJ1UlV4WWQ1clE5LzNnTUFWNnI0WVNLeFZjMlFjZElKbVRZRndkbndTVGN5UmQ1Y0FrRGFnNEdaeW5qTjRxRnlkNTQ0NlNqTDFNbWRrWEl6UDVTMGtKR3NSNnlhMVE2VnUzTUxwL1U5VksxZ1FpLzh4dDFzRGh1dTZGbi91QWNnUENRU0U4T1R4YU9wWGdBRXNlQ2lNT1VNZlpRcXhrQXQxZlpHN0hkVXhJNXFTVVNET3VscVVCdlpsV09DZW5HNUVQWmJsb2lJOUtHVHhXY0xLbVMvMUU4RWhHQmg4ajJBd3B3TGM2TlpsUVB1cEZKZW50ZzhDVTFkVDByK1FYTG1FZ0NpQjBJRmp6RlpkeWZQQVNBcEEwaktvemR4bXN2UmxNdDA4cEhUU1hyL0dBcU1tOGRXdHY4OFQrR0VUQnNiOXNiekFCcit3bnZlUUFNdWVWUXE1K3FnREE0SHJPUkZpY2hLSWNTNjZTcXpKMVhVa1lDUmY5STBUM2dMd3BDUW1QYjB1Um92cTMvYTNlZWlhZlppWGI3eUc4VmRGNUpFNXNSbmkyL1hDbWxZT1RzQWRnZndsK1pEaVJtZDBkdTZJUi9sNXBUbUVnQndMdU91VHRZN05NNHJvV1RFUFlBaWJJNU91MFAxajE1ZHR2R2VBOThFWkpUSW9aakx3U0JsbFpySUdRelV2RHVlZVF5bW5PeGl5RlJIbXhBSWFsSVVDM0pFZzYxSDlWQlQvV2pnUU1RQmVzcEFUMEowTnF5Y2lhK1dQT0dGbi9CdEd2eGdaMlJPQUloVTR4NTFRQlVDTURUOG1OdC9aSUpqM0JJUTVwSlNIK1VGbkV1emN3a0E5U1lnbHJYSEVVMTBJQ2wxTW5wWGVWTTY2aUJISmo1emkxUmhVRDZpYmdleGU4eENsSDZvbUcxTVVmY2dFYTdqbTRCVXhnbkNNTTRacER3SE1IZ1lpSFk4Q1RSQnNqSFY4RVNKb1krQVhwRW8xYlAzQTY0WEd2WWlnSFJJTmxCUTQxd3JIeEhvWlVmRktxMEIwZ2JybjVPYjFsVTU3d3Rrc0t1VHYrb1htbkllQkFEcUNzZDJ2d1pRVkZDWkp2SmpRZXF4Mk1DYkIyd3pTVFJBZzVuY3oxbVlYVDZYQUpBVHQ3WFBUMWdkd3k1M1JPbVVjYWNlUTl6dHE2QTBqYzQ1alp0bHNISjRrRElKeXdEaEJpQitZRDMwbWdqc3dSUkFWWjI2Z3hHbVlrUUZvVTJFb1VrS0JmdlFWWnI0UkJ6UWd6WkFGV2x0cld5Z3pPVXNEdk1xUklBcVY3dG9VRG83QkpIYmNPVTBFQ1RiUW1CSW5BVnJsdHVXRUdlMU03QkFUNWc2K0ppY0JVYi9FV2pKWVp4aEl1ZzRLVWVmTE02d1NZdWVTd0RBR2pvZ0Q4bzRtSDQ3U21yNVBSbW9MRGsrQ3BFaUtkRlJpbk5MU3p6ektBZEExc2x5OGxoWUxSd2VRQ1VHdWhQQ0MyeDhRU2U1RkNzclFOVlhBTmYvN0FKcUtrSThXSVQzajFjSWx6Y0FNNi84TkI3L1BjcXpvclNUamRWV2d5MVlLckd2MjBJbTM0YW41UWRHLzl1bU1wRlRKeWEyRkVyYlBORnBWazVvY2JEejhhRnhGUGlvVkJtc21YQWx2dzRNam0wK094L2VFa3gvc2VxdlVKKy9wbElEcHBpVHkvR0hHckMvYVdpbWpmVnF6eVVBMko0MGpyWUZZeS9IVVJOMXZCb3FwM09RN1pUeUs2S2hKYzhkNVkzZ0ErVWN4NklEaFEwSXZnUW9BWURQL2YwREpySStYMmpCVFN0V0xnOThQT3VSMityRGdJNDBXSDN4MjZBbENvRUVUNTJnRjY2U3dYV2NsRElQckdzbFExT3Y5REFtVGpZeEtUM2hnV3lqaWdRR3RDU0hYT0ZvVGU5UUNSc282dkRpbzl6VXpFWENoL3lNTlRjTkNRTGNtVWNlZkNTQk0wdkZsSm0yTVUzNXVRUUFKcXdqR3hvVWJ4NW5CMEJWTGgyWUIra3d5ME40UllnNFNxWEpiRHFxSkkrSVpWNVpCSjJjNVdSQjZWdUlyMno1dFZGa2xDRVo5Z29Cem1vS1NIMk1NMjhWWWFDbGc2RE1nUFN1UjdudnFSUTh0Rmp0eURuNnlkQzNGTzJMZFdwQ1JwdmE1d0JNSzUzWDh0WCtiQ3ZlQnNaZXB3cE1MY3BYYWdsalNrclFtSUt1T0pXQlFSdG5tSlA2ekFnRlNlVytaRUtzK0hMOFpIL2dKOTgvRUkzZzZPMi9jbDVhazU5V1VZOWpWc2xCR1FjWEozTnZZaDVwTGdIQWR1bUV3L000emh1QkxFZGVvWU5JZzBGWWNFR0pjL0tQY1cyNWhhZUlxT1JiMFdBYUQ0NldIMXFXRXg3ejE0WkdnTWV3Y08yRFFMNVJaNWxBREhBVmRDSkl4YW9vQkJPZ3lNcTI3WHZxRlVUaWc2M25weDd0a2lPN3pST2ZlZFRkZjdac25jaDVUVHM1N2VaaWtIbmdDNzJLb2NYUXgrM29SRkR3elU1UkFoZk13Q2pvakx6QXhvRTBFTjhqc1AxRmtSM0p5NThCNTJmQi9MR2ZhSkF0UXdEVndXZHF3RVNkV0o1ajJnSlJZazVwTGdHQWtJdE5PZkN3cllVUGF5c2RrSjNBWUVlbUI3MkIvVkxjWnFrRFRCcmtwZUFzQ2NGbXhrQ05DY213UDBlWFBtbFFlM1NHamlaSmVROUM1ZGdCcnMzN3VqMEVIVVoyQUZ3R1VDY090djlNaTlpeXhnMHhsYlNVN0pwRHNsVjVXU2QrYldoTis5bDF2VFJoUTk4czJpRFhzUzU0WFhpK2JRZ2RQZzY5ZnRBSGRRa0FjUVNNUHNqTkhQWDJKUlJVcXJvS0FDWVFNUEU1SE5DVTh5bzN2dVRFK3h5M3RMM2pGNVA0SlNkK2xvMDNQTjhRekc4OGtOOFVqdmNpYk9JSER5QUZCam1kd01BcXp6c1NVaS9yV1BXVW4xQ0FnMVJnOUdDYlQ1RjZmcVRhL3BQTjREeklvRVRLNmxrKzBWeHRvV01kUTdKeEhta3VBUUJIdXdPd3FCanBqanFHaGE0bkdWd0sxQTVObUhaR01yTTh6bUUwcmhDU1BoUlFzU09wcWlzU2d5elRWRTU0eE1EMkRucHVMZDIyY0tZSjMrYklneGNjUjZiNEdGQ0RSTTdrajhua080TzZ3T1U5Z1d2TFM5MVp2UWp4NHZwUzk0QmVJWGEvWGlKeW4xNk5mRUc0czNyRE1KT2RpZTdKTGNGaTk0UmhBakJ4UlBLZzk0dEdKTnAwK0FxZDYyaFBDdEU4MFlweTZFcWltTEFSNVpScVF1UGEybVYxSHYzSHVNQXV4anB3SHByakFZc0FYd1NKbVB3RWd1djZTYlhMT2k1dDduVnY2R2VWWHRkeFJmQjEwUWdtN0IzNFpTVUNGM1l3a1hlMWxOTzJrNVZRUVhUYXhpNUkzbWNJNSs5WkZGMmh3YWQvODZRSTBDZWFpbURyS0JpOTVwSG1FZ0N3RGNQcW9US1RBYWNlSldVbnNIM2ozK3VmOHRKNyswUkJ5dFRDaVR2cGZOeEcydGZpZ2RPT3BOOUtqK1RaMGVDK3FZRTgwZHMvK0xHUUMvclpza2YwcXJESEw2eDJqNTliNlI0NnUrTEpmMFl2RDFsWHIvSlNWRloxOGcyVk9XS1ZaNldQZzhuaGlhL2M3ZWlVN1kxMVNoc3loOTdDWS81cDVXbXlVd2E1eDRkeVB2RWdHTlNKcnpJLzJMcXBKM1UydDNVb0tyQUxBTWZCenVDNnJpbXY4RnVMK28zRmw2L3ZkUy9wZU8zR1huZE51d2UrRUxRcW52WlNoQjBFN1pGNCs0OWNvQ1QvQ3NmT2piR0ZOOWhOb1RkbmN2alNqbEpkbUR0UExDWjE5WmZnd1NYQm5Zcy9VTUo4QW9BNktTYy9tbFJERDFSclB3Rm5TMHgwUzNxZXZJV2JhaWJwbEt0dnNzR1NIWjk1aSt0RlVMa3ZUWVBhK2dNNm5TbEVyTldDSkljT1J2L0FSMDQ1QnQ2ZzlxQUFQNG1QK1o0NnY5eTk5WUhWN3FtTGE5MGplbG5vUmUzZnoycFdNK25QNjAyb0YzU2MxNCtnS2hZNENMRGFzd3BpQmdmdGNiQ3Frbk1mWmxPSGFUcGxIemtIRDY3UURSU2NNcWNEN1UrR29uemFnQStjbEZjUXVKUXpYMUxnZ281dmVNbVRmdDZ4VHJ5c1oxc0lCR1h5WDVNeDF6WW4yZ1VzNjlKQkFVSDRxekx1VlFXQkY2OHBGMDd4UVR1TzNXNWJrV1ZYQVpXeDRZYmtXOThES0FwNFlTazk1WnVxOW9ONGl0YlZEbFVucFpnb0hmT01vNVU4TndvY21ObWU1eElBTUlHSTNvK21LR2RuSHNYRWREYU9ZaUE3SWZzQVlhMHZEZXVVT1hWYjJHVWpnSTZmMEsyS1VjSHJpUkFNSENiTklDL05vRDUxeG1iZ3Q4Zk82dWZDM25WT3EvMUtkMTdMKzBVdDV3K2VXKzRlMEN1UTd0ZlBINjFyaTg5S1RuMG1OY2QxY2lHOHhkWnNRUTRycXlkMTVsUWdrZXNnYy91Smh6WktZLzFHNUFPTFk1SGpzaXVtY09XZVpDVUg5bEVDbWk5VGhGdFdvT0M0b0tDbkgzSzI3dGhKVUdEeVg5Rng2ZVpFdXdBRmg2MnV1NndBY1hWcnFmdkk2OHZkczY5dkM4ZHVha2t5WWc4UU9uR08xWjZjSUo3bHVNR0tEOVY0aytDSXVnM3lpQ0NCK282RkhMRk4yT2NTQU9pVXVwb1UrQmk2eHVCVVJiWkhUUDdCUkp2U0ExTlF0MnoycVB5M0ZIWUN4QndUOStsNi9yMVBiSFJ2MW0rY1A2d2djRWI3ZW1oTWRGWncvYkN3WG9zdW4ranc5bGxsbG5pdjBESUtQM25JNnVSY1pQSThBQkl2OUtoZ3pGeE85ajhuQTVGbEVaTkloZVRWTzRPQzcwOG9FUGhlaG9MRWlrYTFOa2pkZldmMVduWFY0UkxoOGczdEFoUVZYNzh4Nlg3ZnV6YTYzL2lXdGU0bm50L3FmdXpqVzNyak1yKzhGSmRXUkJybXR5ZWsvWUpuV1AxeFMxNEdvRVY0TEdOQjZpWENzVklkeXhJRVBLODBsd0F3K0M1QXNleW85d0RDM1ZHWnp2QktTaEZuY1lnaFFkQ2s5R1BOQytDSlVSaVNsc3hScmxnSmFWdTIyT1lFMzVET0t0SFVqaURWc0FDMnRWb1l3VmszcTZEci9ick8vNXdIVnowSWI4ajR5emMxNGJtMlZRVHc1OXZDTVRRWnRIbDRjcUFkZ2xJWURZeFRhYkQ2WkV3ZmxWTy9FZnBZeFZ1cGhjQzB3WERUUXVxQXpudjRRRFIyTzNRVkJ3SEJRVUdqTzNjSjU4OHBJT2pnbnNIckNnUVA2ZGVZMzNMZmV2ZWIzN3JlL2ZRTFc5MFBmMlJUdXdKK2xsMEJSTUdFTWVhSmlKSldsQk45RzNjSElKcWtCazBXTlZQcWwrVkQ1UkpTSno0Q1VHQU9hUzRCQUZ0c0U1MmtBMFB0dkdNWWFGbFpIM2twQXlDUGdtdUxPY0FQeWxOTUNDeWRYSkV0VUZ1c3JmUURRUFV5WUpRQkFyYzdGaVlWUEVDTkRIVUwycko2T1VVMGRZVmtkWC94bXI0TnFLVnNWOWV2RTIycCtJaHVXZnYrRlMxNzVId001Z25UQ0tHWnRMZEtCRGxPVTNDSmF2VWJWK3VkdjQ4U2lOU2xGWFlBSytoc0s2c041QXRaOFVYR3dONUNwS2xkK1l2QXNLM3RFVHNrYmlCTU5OS1hDQWc2TGlnUVhOUnhYY1NYTG5lNmxGcnRmdlhqcTkxUGZHS3IrNmNmMnV3K2Zqa3VEZGhST0RISjFZbmxZazU2UkdPMGxaY0kzakdvREdXc3AyWGM1dVF4QWsvNjZqYjhKMFdlU3dCZ0VIb2doc2NNYzFsd0hFZWxmOWhCMUNnTmNpVE1mRHA1d3AyVXQ5dzdsanhGSWdva2JhVE1GTzdEb2hqazI3cXI5Y1pMMStJdXZwYW9GUzFyeXhxZE1lazFCR1ZrM0szT29kbW9jdGlHcGxWSmMyNHI0d0RHTVpyT3VFM0NYdmZybUM5bGlWNmxGQngxTWdIbTlsMExlWXcxQ2R6UnJtbExsd0dibXRUWENRYjZaZEFWSFU4ODFIVVAzNmNBKzdvdUc5Wlh1L2MrdXRMOTBFZTBJL2p3cHA4LzRCNEJFUndmdTUxQld5cTRyTjJZZFFsaXc1SnEzVGEzem1ramVjSzNyWGxuREhNSkFMbHF0emExOEZGTXdMblRvbVhGTmNKYVA3bzluY1k1N0lscnFob2M0aWtaNHo0SHlvNE9yTTRGNFV3RHhqd01IdjB4TmNkMXJITUtHVFhlb3FtNU91Rm53cGRqY0NOUkVkWFBBakF3TFQrYUQ1bHQ3U0k0bEt3NkdydHZleEM4eVRwU3FTa2V4REdsM2FaVytxK2lXb2NrVWppa3VBV0xHOHJFdnA0V2xjWiszRmVXQ0g0NGhzZDZkZk0vZ29FQ3dxWWl4SVJBb0k4YUhuOVlsMW9YOVhIcEs1UHVkNit0ZGU5NVpLWDdlejkzbzN2MnRWMC9RSlZCeGpzOE5SQmVSNVA0Q0RHMFZMK0kwZnFsUFlmTnMxTG1oNjEzaDN4ekNRQjR4UGNCRkFseU4wQW5EYnYyMXBZTWVGV1hvR0s1T0F6NVdTWXZLZHVpbUdOOW5MYzBWN01nUXdlZWtpWHp5aWdFZXVaQ1p4aWNBTnIxSUZJT2ZUeElxNHdSZ0F4V0IxWHpoUGNUY01Vd0xnV2dJTGM5d2hralFWbWtTazJEUXNWUy93Qkt6ek1WT2thdFVSWHNUZjhGTUdTd0QybTdNRlgrd2pZdWo5VmtWKyt3ZFFJWUFBQkFBRWxFUVZUN0ErTGYxbVhDbGo0ZFlHY3cwU2NKSzNxMjRzbkhkWS9nQ3BjS1M5MS84cmxudTMvNDcyNTIvL0tYTitQQkluVUVmempiZllnc0ZYbVJTS0dvWCtrUHRPalQwSUllUDRhbTNTc2I4NXgwZVM0QmdHc3Bic1p3ZDVaalRlR1lEMTZHYmpxOGFjUmZUeWdOVStZQWQ3NTV1TVdPTDk0bXl3UEpSdXMwemxzYThMNUVRelhkUW1NUEF0WjZKUVlCbVFZQ2Y3RURLRzBMMzBwSjZTME9FWU1rZWZ3d2lEK3JsclQ2cUsrdmc5UVd0cXVDanhwZEJoTDJGN0xoL1JSaGVtSVBUV1U4VVNUNnU3MCtBZ3ljWmJvWkJEbUNGbktaalgxOUNhTFFaNDFGUGQ3UFNVaWVIeWpTc3dJM3RDdFlVaEE0cHdjUG5ucENZL1dscnZ2cWQ2MTNENTlaNnY3eHMvdzJJMDlkU3JUN05YSVZhb0NtdjBYT3BxT2hRNTZSdVZvdVM4ajN1SDZaUTVwTEFOaVFRL2ZPNithTEl1MTFkY3hOZWZIR2RueVVkU3diMVdrZUkrUTZIQUFrbHlBelRpS0xLYkFseTJMTnN3NzBNbTRTTmRQOE1PMmxQdjVsSUgxVXRhZFhYL2twTmhtdDRhZ1Jxd0NnQUtqeDR3T0ZnWSthMGpkRHAxVHNVY1hkQVQrR05NdkRGQlZzWDRQMzUvTWxhTmgwR0JxNmxabmlFMWc0OG9FcG5oL1kwdXJQemNObEJZSTNhVGZ3MGllNzdrdWVXZTBlT0xmYS9jQXZoMjhqQ0FSc3YwdUdtMVFiTkZPYnFvQ1F0MGtFOFZVV1NPMUVOalJYZUFweUhta3VBWUN0MWk1YkxSMmJjdTZXamsxZGpCM0JQL1pGQ2ZxRzNiODZaUUJnSW5oeUZLKzVjMzBxWXdGZWFGUHlVc1YwNUkzVDdmUTAzWElGK1Q5MkF1anJ4VW1uL0tMSlFVWm5zK08yc3V3ZFFOeHBrbnJpWnZWSFdSMjA0NEhJOGlOYWZyVTEycElFMGNzSklGSUtOcTJuZ2k2b3dqZ3N4ZkFlNHdycnRBeFdsQnVrVzlmSG5ud0V0MVpyUk5SeElKeDNXQmFuVXluYkwxU3NkY1JWbWl4WnRiSEVEVGZEWTlNRTA1dmNIOUNZbmVqZXdFTVBoSnpQVjBWMkN0Ly83STQvS3ZRTldQZ2h5ejc3WHdYa0c3YkU0YWx0YTBpSnk3enNOK1lISC9IT0k4MGxBRnpWOW1wYnEvT2xTenIwc2N2cmwzZTBBeURLSHkzMS9FeDJuTzJUSCs5YzFZVFkyVkhZOWlZczVOSVpISmx5Y285ejAwTlVzcFo4S3JMeVdKL1M2WWxrb09XejVJUTRlTkFob01KbG5oZzhoWmpWRDh6OVRUcXZDaUVOUnV6bmozc0Uxa1YwMnFuUElzQmEwNkJRSjBRbEZ5QzVNcGY0bWdKc0VKVnlHeUFkUG9YTmVpZmVoWDVoeUphY2EvYVlyQk1YVlU2ZVVlSlBJVUpYV0F5ZTlFWjRwRVFWbjZ1RU9rQ3lMVzc2OC9neGp4UHo3VVFlcnJydmduS1ZmNzEyQk0vcm1lSi85dXhOM1JqTVQySHdkMytra3FqVTZ4SUtaaHRXWVhUaUc0MnIyZ0tzYWZ1L3JvVnk3NDBSdzR5S2N3a0FmanBOMXJjT3NJT09ZUlQxR0UvTUJSWkIzd2xIVGl1OEZPR3JZdys0OEkxejBKbUMzeHlKR29zMlBycFVZTU5LaDFQc2cwQzBYOGFnQ0QxN3JWOWJPUmhneTgvWFozbnpyN2YvS3BQN0ZWYkN4d3R4TlFoUkhzRmtkZlExQ3JaTjdFTUhZaCs2clROcmVOUjQrRWhuQTRXb3pNWHFWSlVoQlZJK0taUGQxWFJTR1ZJdk91N0pWRk1rcDZjRkkveDhjWXBWZUVzUERmRTQ5WDM2aEdCTDVkLzF6blU5T2JqZC9lekxPdzRDeUtHK04xL0tDVk51QWJraWdFZFZlSkI3dXdRUEFYMWVhUzRCQUVlMEJ4M0c1RDJPblV4OEJXWFhyMDRxM3FXTk5sRTBxdUNUbmpuRVFtcUFBUmppQ2hQNjlqcHpVeTVLMmZuSXJaMk5iQm5LY0NCbE8zMzlnaXdJNklESko5QXArWGt0T08vL2h5T0dlT1Jjais3cDdtQzhFekNEZ0dxSlArc1dVVk96Y1h0VG1TcFMzRWVyVUd0T0JZci9wdElLMHRPemJiUFVjYkNEcHhnWjIrZTRVV3BVMlIxQVR6OE1RMEhCeWsvN1BGWHFjRW5BUTBXYnVuZUY2eStXbmNCWGZ2YVo3cS8rNkJWL2wyQlpXd1lrdFNyU29sL1ZwcHdidC81a3dMaGkxTFJNQXBnWHlNcnhOSTN0cEhGekNRQk1XaVlIUjNvSzhDZ3BxNUxuRzFUcEZFZC80VEp2NWJzTm4wcjdOTmlVWFN4bFlDY3JtWVZodnA5VmsxSXNjVzBYVTUzcWJSQ2dSeE1YOG5YT0VRT3ROQUhxb0VSOWRsRTdNaEorRHhEQkVSRFVMbmdoOFlGWGZ0c2dpVVhvVUhhMkdIcjFiU1lYZE9DZXIrYzVZY2g2VHBPWnVvZ21vNkxFV1VkUnl6aE9LanZEZUpMTHdvekxoWmpTUXBDbHFJcisybUNFakNENTY5UnMvLzFSb2E0Tnp1cjdCVS91TG5WZitta2IzWGQvOEhvSnZCSU9QMHUzYktJdUY3aStOSk1zTk9PZVJyWUJLMGViR0QySk4yMU9VV0F1QVlEUE44dmlWUU1CRDFUZ21LT2tjRkNwRmJNdXFqT1Fpa2NITWxYSWhjQjR5dFJvOGxJc2hCQlh6MmJPVWhUYVpta1NMTTNueXptTlV6a0hVSEEweWpVZ2trc1IwTExhc3BFRjc1dUFqallTVHFORVZjcksvVEVndVNwNzNLY1ErSlFvRnJDVXdCNlVzbkxtQi9HQjc2WGVpdXR3dEFQYWs4TXJKU2UxTU1iUmZDRTJKS0ZFS0IyRlQxb3RtZXlScU5pWGFpd3FIZGY2a1krWWVSeDdTemNIbDNXWG5zZUt2L0RwdGU3LytkaG05K0hYZC9TeGRwbXRYcEg0aUR1N2huQ2pIWUtFaGI2aExCcWtGcUZMTEdwUU9aQVduRW1kWFQ2WEFJQzFPTGc2dWN6SzR4ckpkZzhuMDBrT0xGUDhnNE45Y0FKV1RudXBRK2JJS0N6bUd4WUNOZUFvekttN3QzakkxUkhYNEVrcHRVVHdtRktPMmRZQjNoUk43c28xMjZjQzEvdDhMTVNEUDdCeVprZ1oxclhVUkVwNDhpUGZCakZCUkIwMDBqWjRTSmdHU21yQVJKMXdIaTFVbFN1UXpRaFJsQmpZSnB6RGdjaXVranhaMytXQ1RGSDJUdmdTdGdFMTZ5RXQvcjJTTTFHNEI2RC9ibDFCZ1BzRFgvS085ZTViZi9LcW45SGdVaXdscFV3K3BzMVdJa1NvcEk2cVRWQ2xKSEFjbnZ3Q2dqK3BzOHZuRWdCd01CTXVEeHpGT0ozbWlGdWJHbDNGNUVkV3JRODZqMFpBb3BLUHNsTUZvbHFpYTNTb2lGc0RqWmpCSUhKN0VMUGhSb3pSQjlCZ2EyWFdha0p5czVQSFdQTW1JTG9hNXZxZklDRG1hSzVNZmtvcERBSndNRlN4RlVpK2lyZ1ZjQ1RtV3dscWFGTVVhNXNST2NKZFU2VkUwNmhaeHBNTGdhazNSR3VWd0VjeHBtWGZCTFJTU21SQnhTVlZQQ3VnMXdaMDI3cEQzeWtBOE5LU2R6KzIyajN6Z040dDhLcStQS1NaeEUzYVByRkk2VEpORTU2eG1ndEZ2WGN4Nm95Y0R6VHJJTkFMbWlrMGx3REFLbzBUT0p5VXQ5MXhGQXVaL1BTVjY2ZThLUUlndWMxQ002dE9XYVhxQXIzQkYvYWVzU0lDOEdvZVZZeklIUVQ0YkNPTmEyMkVWblVlRWJ3aEt2U3FYL0lyQjhlZDZMd0ptTXF4dm5BM2xKdUF0QjlIdE9TZGdPbzV0VUlUZDFKNXlqNkt2TmIrZ1lJSENLbHRsTlV6SFNsOGlBcjdzd095ai9JeUFLa0VrQ3BHNVI1dUtUaXhVSkR0VGxWd0tRTDVQZ0VQQyswb0NQQkVLNjllKzRLbjE3dGYrT1JWdldGWXZjRkE5OUtOVmdUbENGdmNvSTB2YkNFVFhUaG9CeWlTUzdTcFloV1J4Qm5tY3drQStZd3pSc2JFay9tREdYaDdDNm5iSm9JdDJ6SDNsd1VITmNVbUt1dFZmQkxFYmxwaDhQQkk1dHJRRUVIbnBCeFlQRDdJQ3o3R0NaS2lZeDBjVEF4ZTZyVEpza1EzTjAxRnRkQ3JNSUtHcjM4T29QQ0JKSElvTU1RUGc4WndpeW5DaXBpQ2k2RGpaRFIraUhSSXRsN1NxRUl4dTZjbnRJOFFrNm82cUpvWUFzTjJWYVpvMnFnaHk0MnBsMDNBSFAxQVkrSjNGU3JqUXhVRGRCQmdZbkw0Y2t3N0FHNjh2dWZSMWU1QlBTcDhTUzhtbmVqdWRINGFFWjBaN2Z1R0lBMDJUUVFsVUpDaTNTZzdBQmc1KzlOY0FnQ0JNWGNCTnBTeWJNTWZSMDNVb1dOY3YzZ3g1SXlraWVhT0ZUOXNGUzUxUUNhWVFDMmpWRllBVmtLNjZhVVpsNFZ3cmxPV0FkQ1B2R1NsSmtHdkNGSUdzU3dzaG5NWEFBbGFXeVpZZWdkQTFFTUl4bWNTenZjQXlQa1QyVHFNaFNUL3NYTUV6eVlOSmVQSmtvYUUzcTZHN2tsdjUwTldoYXd1QnlhWTdKRTcxRmRVTkNIT3RyOHREMm55YWVrazM4Z1R6S3ZYK0J4NlI3T1V5NEQ3ejB5NnozaDRwZnV4ai9LRklkWFFRSjlNK1NCL1Z4MnpMSjNjSHMwVkRUSlBoUkJQay9NS0FuTUpBQmhwL3dwSVB6T1dNZlk0S2VWUlArUUtFbUI4RVpod08xZXliWExxRXBSSTdwWUNSMVlLcHBtbGRoaUEyNDJLUFZGSTQ2bXF6bVlsWUJJekljbGRqNXhrbmdJVzJLUUNrN1dKY3Q0RDhBVEhnSG93MEtNOVpNUVE2eHNDS21KYmtiZUZiMVVIMnV5U2JKa3F2TWYyME5CZTQ0dmkrT0VnUGJPRnBQZWNSYklKT21rbTVyMEVoeFA1bkp3KzRQa0FQZzFnc3I1YnU0QWYrK1dibXZ6eU5VR0FxbTVmUlAzemNCSUE5d0U4c1UzSHlNQURJVk5rMCtIaGs1MTVwTGtFQUQ3RHp2RnFvNm9Eam1kaU9GaDE4VjlKT0s4dHUxam96blJxYyt0VDZvQjNmY3JpcXZKZE1qSk9Zb0xQY3BUbjVEYXVDRWs1THVya0lPRGF3WURzMnBoZ0JsQ1NNMkJRaG8xa1BWWHcwNVNLV0JwM2xwbDRCbDE4REtqQktWbDUzVW9qVmJZbHplYVVlbzZsTzFDTmtTbzdHSTd3NllJUmVsUlVTL3IzUkN3VmFqMDVJMjAxSGFYd3hVZ0NSZXNyZm5MRGhTZUNRbyt4UElvQ0NBSXU5OGh1ajQ3Z2FVRTE4dGI3VjdwemVqRXJQMnJpajdjdEgwMVVUeks0ODgrQ2h6Z1dwQ2tiQkdGRFgzUjJBREJtOXFlNUJBRDVvdzVrWU5KQkF5U28wOC9wd0t4UDJYSUFpdHlzbVNnY25yUnNPM1B3TVJSQ1AxaHowSXpFUVlyT05DUllqUEM0ZzhtcGlMeVNRNGdoVUhnSzNuekljT1hJS0pLeWF0SUNLeDd4K2tsQTZsRElyUXNNR2xuc05xanJvOGl0c3VDNTA0VE0yNlloMDdEVVZCNFEwSExvQXlNQ2JiQTloVTBTa0RMa3pNb3FYUGdXdnl1WnA2ZEhsZXh0R0dLdkJGL1N3TnFMN3RUU2V3aWpIZm5kOGt1Ylh1MFpYS0kvb0hzQWorZ3R6Ui9WTXdGK0ZvaEFRTCtJbCs1aVFoTW8rT0ZSZ2dIZFo3SENrNEJKTkF0OFVJQXcwd21mNWhNQXBEUkc0d3g3V3dBLzdwR0czODRtcW1XeTR3ckM4cEtRZWRKVWhsN3JKa3hla1VNWTdwYVdJc2s5WElyQ1pQQjVpS2lRWlFBNk1SRGlJUWhvY2hJVUtoNWg2RUFsSmVNTkZKbkNJMko4NEQ4UG5KS0hjU293K1RVUTQzTm82dUZYdEEwYW9sTWZ3M2txN1djUjlvUFRMWWtIVjdzdDVRQzVBM1E2S3N4b1JUSXA4K2s2OEswdm85WkFVRytpMFBaUEVSWmM3dUh3bkR0SFdDWTdSQW1MblpYS0NLYnp4Y05sQUxPYjd3MDhlV0c1Ky9Dck8vbzBJUHp2eHVDelJJdUlTd0JRSk1ueDRsUzA0bnNkaU01alRsY0FjM290dUN6TlR3S3czVzVKUjRDNFRVcW50R3oxVXdUazVGRkErQkxsUHFCYzJuTXVPSW9CdERCMSt4U1U3SXpvc09na2VIeGpLRVNVZ1NGTlVSWWNvSEo0Nk56QUl5OWhKQ2dsUDJEQ1JhYnBPcUd6TDZPa2dIVW9mR21raDI3NUtORGlTek5wcFpWSllabkRjOHQwVzRaYjFqNDVZaGlETDYwUnRwZGtFT2NJQ0pjVVlxQ1N6Ym5yRm94aG5ZYTRDSjFaS1NhOFNzaUdVU2Y2SjRLcjZpb2E4M05qRHJ6Q1AzR2hmQXdvZmVodVA2UGhTUjJoUmlnTGN5c0lrc3pBOVhwUVpxeHhlQ3dvbjNXYXp3NEFaM1BJR3ZkWFkveFJEY1JKS1l1T3lVbHBPVFJRVXJaRlo5QXdkVWpKa21YakVtbU9saXM2Q2JKWmRMSTRuVklQZ0I0V1E1bnNNV2lpb2xHRjVDYVFReVVsNjFGa1dNK0NOdzE2NFdIMTV6TEFDSXgybzhvRjUxM25ySnE1cUU2eHRtVXBjdVMyYVZ3SDJwaW41WjhuWFBZejBXVHhMNFdxc3hRMWJLY0hXNnlud0RFQkErdGl0UXY3V0s5akxCUnBLVlRJZWo5Rk9GOW1JVDhhY2gyQ2NySS9xbDl0OHZZZmx1eFVHbEFxOHozdUExaFdqek1kbnNLYi9Mbm9VSjVsbWtzQThBMHNHV2kvWUtpTzF1RERHSmlPcHJySFB3Q3B5SXBPREZSQnU2TVRYd05CSWJwNmtlRWhrdko2RVJWS1V1bjdhQk9xRUNuZkV4cEdtSlJuZXpGQ0hQY0xLTGpPZnJFWHd5d242NFlJblFOQWJGd0MwR0Jwa3dhMEF2RlpkTjVnb25vZCtLS25iTVRNTGFIc1lSTEtIaU81R20wVTR3WmloSGZaZzJ1b2lGL21XZHFEa3YzV2M1VkFVVHF1VG40OEtxSHhZSlZnS3Fqc0ZSNy9hekFpNno3OUtDdmZHWWhCRncyWlI1VnpyQ09hdmxJMTU4cXNiK3BBbVNEaUhjQ2NJc0JjQWdBRzJ1RUMwdkhob3NPZm1mVHBLSnhJWWxKa3dubmpSRnZ1VHhHeTNab2pqVXAwWUszWVE2QWdtNzhSVHBrQmtVR29qTU9lcnpEa1FFRU9xREt1TEhRZ3R6U0puSlJ0L2xJSGNreitZcThReU9iTFFZd2lMaThBa2VsRE1BQXc0TnhTTm5iYmhndGpkc3cwQlpGeFFLb2tuRVJpZ2dYVW53K1FuWUUrVlhYdUUzdU1USUt5TXlUWkU5OG90Y0kvenVlL0hEa0d6K2wzR2ZscGRUNEpnSmozZnd5cllzWUdaR1RBVGpYUm40TkVEdStjNXYrYzdnRTBEc05JbkplT28zellsRTR5djJTUTNCL0F0QkVaNk9pZ0xCZGE4Z1JkMHFpZ0U5dkFVZ0F4VEcyajhMZXNDU3RQTm91MDRJSVJJc1pUQVpBdUIrUTFaZzRDcXVTNFF3WkhUU3JFeDREQzBGWXlsTHg5SjJCZHFaQlFoVmRKQWFTeUkvU3cwVEZ4WEtieEtla0E5SDdPV3pCVzBraFJiQjhMd3BjdHJpMFVPVldjK0JoN3BNUkZ1YXorS2NrT1JwQzRDREFDdmEwbnB5d0s0NWMrTVl1eStQbjFlSk1RYm05RndNU3V6emN0VmJ2ZTVXOTBRUThtUGJKcDcxTXFBR0JjSHVsNUREMU9zb01ranh1d0thdUNPSlNqWkc0eml0SHg2RUdaVlgra0FMemhmdkpNSUUxd3AyVEhCcXNFQUNBbldGeUp6Z3U4T3QwVnN0endWUjVWVjkyUTEvT2wzc2JyeERqemdCT0J5VTQ1MjJVTEdsOEdpb0dKYU1zRWFCVnpGU1BIYUJpZGFLOXcxUEtCekZGbHhtZDd3RzJFT2MxSzNTcGF0QWllb1VwVmdvQ0V2VFV2Yk9EcTVZRm5MUWdrOVVHYW9Kb0JPK0RvRDhJRzM4TkFNS3MvbHdBZVJ4WnF3VWp4MklHQWpHZ3ZKampOVUxiZXlpa0FaeUFBTmVzMGwwc0FJcVVIdFF4TUI2V3ZEMnRnZFpJcU1BR1FBeTdsMlpPTk1CenJOZ3ZPZk1tdmlsRkdvV0FvV1MxWElCdXVET0xQaHAzcmxEeUlnczk0WlRrVFZYWjdOcHBDendPdjJSdGM2ZzNLaHhEY0FQU0xVSlF6Z0NNS3FLNzNrMHgraHByS0pVcEZMc1FnSWExTjFDQ0JiMkVqVC9aVW1qNUlBemRtUnpUTnBrb1ZGYldOOWlTdGhGNzlSQTNhaXdKdUsralMvMWxPZWpUb2FVb2tGenI3a0tKaCtZbHVkRUNtTGNGTVdENE5XR0dDRTVGSmJveEt3RFZ6a1poQm91c0syVHpnS1Bzb1BPQm1tZVlTQUdTbkhZWlAwaG5IdGErZC9NZ2lrWTNsbGFhQ1JRV1hPWkVvSit3eXNieE5NWm1NYXdkYVJxMWtEb2Ftb3JSQUVmQTFWMEV5UEo2eW5ta3FsRUZtQVpVL3F1ZjRjUzVXZ2lqZkIwZ1JqRUlDd1JJM29taE85Zk1Ba1FQWHNnODh3YWgvQ3gzNzRNQktzeU5ZajBiOHVGeEl1S3A2SWdxMVdGaGNicXNYRTZ2LzJ2N3YrWUNLUUdjcXk2bUE5aWV3Q3BRZEFMVHFaekF3VHphT2NERmFXaEZac3NiWC9hUEJiVjFnQjVTVU5lTjhQZ0ZBMWpzd2ttTVF1WUdqV1ZkaXF5dmhlRVI0OEFJVWVTVUx3U3BVRW5BaHRqa09KeVd1Q2dwMGY0WXhnMEhNbUo2R1hOTUxZRGh4NURSZWdvQ05GMFBMZzZRcVF5RHNCV1dTQ3J3VWRKbFJWK3I1N2pNOEdpMThUWmlQQWlGUnVXNVhMVVU0UnUxQmlZWk9PdlhPUEpSa1ZMaUZoaUhEREZPNGJxTi9yd29CTTBTUkdkU3BvSG9OM0xkcUIyWW12SFAwQXdiRmlRQ2dDUzYvYy9uZ0tpbUlYQWZWV09Hejd3WFpSb1lRL09Ud2NDa3IwTHM3OHZaUWNlWnBMZ0dndlFTd2MyUldPNW1QWXFVZGhHT1ZjT0FnVVU2YVFPWUw3UmlsVS9LVEU1OWpQa0hJYWdKS29wMUk3QWJFclVwNURWZWY3aE1EQTZLTUNjYUxPaDBaZlcxa2dJbDN3eUNwVDZ5NVlCSkg1Q2Nod2dld0RteGc5ZmNMUVJoMFlLbGtva3BNZnVHVm9aQXJXMm9LdGs2dFZpSWtUVldja0RWSSt4QnVEcGFzdXA5aklPQmtDMjRNZjQzVGZvejlrMnlxbDNxU0YxZjB1Q1I2Rmt1V3l6clZ5UzlQUnRHRzB4cGxKaTZzMldjQys0WmNLR1dZU0tsbWtZVU1Cd0dSWU9GSUZycHdYbWt1QVFDbk05azhxSXUxOXZjUnJCejdwSFpra1ljSEFVbEdsVUxMWjVSTzFnTStZT1hJYm04TXFWZzYxaldnSmhNa3c5R0Jxa2t2UWkrc1RGYS9xTU5vbmZnWGpldSthbk5VenJtS1JNTU9TT0pEVk9ybVhBZ0hBQWszelJVaUVQanVzckFFSjdjaDJSRlN4Q2xaNVJRZ1JTZWtOTWw4S28vUURjZXh3TU9MUzg1V2tZU0hUZS9IWnQyZUx6SE9kYXBsbkttVVpZQStwRWl5T3dqdkFjTXBxRFJJSGtjQUhzK2EvWWlFaFRLN05BdFhadG13QXNOUVNNaHduVUlycEdoT1BQQ0RHd1FXbFdlVjVoSUF4anVBTlBJNFJ0bGg2VXpsVERodzR5UlNUS0xpNFN4blIwUWVna3hEQUlDVGRnZktVMjdkdG9GcjVQa3F6NGdCMHUxYURJYTZzdW9aTE9YU2hsdUFRRXNsczE2d0NjdEJ5c0hGQUl1L29MSEY1T1lUZzhVN0VTczhITFM5RkJNdHI3QVpkaU5KeWdhekxJNUVCZk1SemxNclRrVTJRbHQ2Q3ljTGlvRnZGRXpTS1BjdW9JaElTVEgvbzI3aXFCYXd6ZzdtUlRwc09ySjdYQlJMdlFRUTBiVFM3cmI2WnF2NXRTdTNnbUNBekNtV1pzak40MVBoS2V6dVQ4SHpTSE1KQURqZXdSSGppMVcrUGpxaWhkVGw4T1FzZ3V6UUpCUTZZczJuVTBaU2RJZ0JRRTRoZU9DRm9HSkpQYzF6RzZ4UUtTZTVhc2U2cG5veG1TV0xsYmkzRDhuUVE4NGdSMWpmTUNVbnF4ZHFtRXg1dkFPZ1dudXdBL0MxUDAxQlVBcVZhSGhLYXREQjN5UHNuMUlGTE9MTW8wSVJEVVovZmFtd0J5OTE5cE5jSi9tT24vZDYza3FHVi9haVE2b3l5S1ZnZlNLekNvSWo3Y0xZMkZtRjdjQkJoZDJYaEw3bWlyN2UzTjZMbnhNekVRWWRxTnJtMEpBaG5NY0lSY0U1NFdIUEk3L2NSWlZacHJrRUFFOSt0cTg0UXdjNWsvZ29xVlIxRlp5R281Q2JpWEltOCtxVU9YamFwSnp0SjQ2Y1pOMkNJeEFGbDNLdHJ3cE1iT1FZenltRlVxc0dnZExCeVdqaFRGRGFFZElBRlpxVXN1QVIydm9LQU1aT1hrTzFwQXRQQnN1MEkzY0FERjlHbFlPQjZubkZLcnVRcHJVUWZHdkVnT29DeXRUa0tWWkxMVEJnYXdsakdFYnNEaWVXYzJHcXRGSldadFp5N3JFOU5HaFhoUXpyeHJzODRvMU9MOGlRYnQvUmh2amRuYzZSWU05Nnd1SlRYdlBGeDdMVTRyaTJ1YWVmRThNblJRNVNvMXFmZ3hMT2NVTTVRWUJFWmxtTnZFYUtlV1oxbWtzQXdBOTFRRk1vNVlBT2Z4NnN3cEpqVVJhT3dPWklFSjdpeWVTMUhqUXBJSENaZzFReU1rQ2ZpVFpLOFNTWE9rMXdEZ3dUT05FR2JBalBuaE9vMzQrSUNGL29KbU1Fdk1ZVmdEYktKTFYrRkJ1UjRQcWJnTkNHZi9WSEtOeDJtZncwa2JwWXZoQk9pZXhWVGNxaDhyNzZvZGh0aURpekg3SWNGa0pveExSd2d4NkFwVDhHdUZFQmY3V0o0alJjeTJORlNtQzJpV3FuUGxPaHpuS3pJc0FTN2xRQWtBREtUTjVMTjNiMTJ2QTl2UjI0OEFxWC9yYzh5dWpoVTlEU0ZQUnJFeXlEc2Q0U1R4aWVUd0RRck1tQjdRNHZ6amlPTGVsTWYzd2lPV1BucFV6d3RPbVZHNzdDV1BVb2RQTkRIMGdxekNKbUp5SEFuVjl3TVJEVTJWSUluWHdBcTJyRnFYRmdFdHRscjhxT0lMUVdhNFhwK0llNndWcDlsVnJFRG9EUC9IV29Kb09Ed1ljb1lIQnhBNUQyUWk0VzhlOVVjWlFTR2FTcVlDbU9zOVNwNGtmVksvNDJRUHEvZGtUeUkwK043Qk5iSzZDQnFHbkRQc1lRTkVDWFF1TGN0eU5jMUJwWlY0cDViOGRGbmVnakgraGttRlBvVFgrem9yOThaY2RCZXJWMEpHU1N4MDloenpKOTVZZTZsS2VPTmxFTTlLZmJnbmtPYVM0QmdBR003OXlueW5GT25WaEhNSko2SkNaL09zeDlvcE5sZzFmQ3FmVUFLR1dRYk1HTkFqYWl6NFB6OW1mM3NlcXpGWXhyL2RTc3Fac284WG5PcTh4bnl2bWUrQnhrS0o3UGlZZG54STlzNnVuQUxuSmZBa2hRVG5pK2JFSkE4THZuNWRFNlNOMXVCS3VVaDRYUSszS2paM2pEZlFKV1RWWFlVTnJSVmprdWpIQ2xra1VoRWRrdlBiWkF5WjE1UVEvMEtnV3o5SHdWS2tBdDF6WVNVK3A3VURhQldlVjhvaklucGYwb2RxN1JnYU0vOUt2QmIrdzBmb3NHUXB5WXNobWhxVU9STVpHWEVKU0ZyZ200TFZmQ0RJQzVCQUEvdENJckdjd1l5K2s0QmxJWHh5R0gralVYbkRla0xGOWwycWp0RlY3alJuRGlxQUpjVGdCT29LeXJHd3hxcTdzbnR5b3lFTXhaK0N3TDJHV2RpckxtVHg3WEthY0dsM3FuTFFRdEFzQ3lJaCs0aW1jUXVzd0VMMEVBcWtkcHpXb3J2aDhRMWxTY0FZU1UxSUNCeWNhU0lmUFVWL200anF0TXJSZkkvZlNEOE5uWTdmTDlqUTB3cFREQU5TTHJqN2pDd0tRdkZqR0JjV1hreGNmVUU1NmY4L2FOT3NGY25qM24xNEdWNE1FSzBXN3BFRXU5a3BDbi85aTFLVGNOUklFZFZOb0tRWnJKZVM0QmdCWE1GbU40T1l3N29rbkZSM1pZT2pIbE9rZGVZU0tqclppZ2ZidUIxem4rZzFCNGpVVEdJREVnbE1RZjgwcWRYT0NhQjFsQklIZ1pCblhnaU1iRU00NTY4R2h3bUc1K0tPeEZJb2NEbmZOVEJGWHhEb0NQQVBtb2lSK1pvQjN3c2Zwb0Y0QThWUWlaeUlZcXJkMnVRT0NhMFZJdEdEcTRXT1QwWEFFaEFCSkplWkdlUmVlRFUvS0tNelNQZWkxUFphbEFTejBjUEsycTI1dEdhTFcyQWRFRG9GMHNmZVp5Z2RPdHZva25aNi9vT294Vi9QTE4zZTRGL1dTNFh4aytVdFYxd0NHMDZFRS9rVExRbDJLTUsrRXBKdzYrV2FhNUJBRHN6bDFBT21GcW54ekNVanRIbFpra0tTdXJwVVBkSG1RQkxld3E0SXdzUXhGWWlhMTA3U3hqQ3NGd2V4SWVKU0NySjVGRmtjbm9pYXZjZ25JRmdJL0RNMXFjQmU5SFNHbFRLTnBGaGhNc0tuTms0QVQyRGtBTkNQVEJtYis0QVlqdVRIekpRUkM1dVF5NEJ1SEZxV1FocFdJYkJZSXR6NVc5QXFLZ1JFMk5qSXBMbGdHamtRT01Db015OVFzaXNuM1Vwb1ZXb1FhZEFoSWxFZE9sSkZaeWlpaG5wVmo5S0RiZnUwazh1eTRSZWZTYTN3UmRFZjNqcjI5M2IxelhEVUIrS3J6MHIyV05ZR1RTYWgwS1JVZVA1ZFIzenZsY0FvQmZuaWpMTWQ0bkFjUEpkbnVyN2RDV0RSbUlRNmdGdDhUQWV5S1pxVFJiZUkybnRzcTVRbFF4QW1MeURPV1ozYlRBd3c5ZkRuODZNWFdNRGc0T2MwTXdnMXBqOENESGVtV05NbDJOYTNSMzVRZ0U4U21BNnF1dVgwa3RtbHZRaVU4YldKV1FhYmxGckRQYU0yZHBsRXBLUVJQZ1FTcGt3WnNJM1lLeUJGK3BZMVEyMU5DbmdyU0M3QkFlWisxZlhJNlNwYXFjcFY2TU1QdVJQYmtRWWJFdGhUS3RDcjAwVEQyWEtmaUFwS3hPWVB0RnZqTk9lUHpJb1g1YzF0N2ZxNytxOEhOaFAvZkNwaThEZURsb3BKREh1WWNLUlUybnk0Tld6QlErK1ZsTU9PYVI1aElBTk9oam5zbDVaU3pzNjVLakdCc0RpTTdxNVhrODlQMWFpM1VWVlFQUmRwa09SUkYvbnh2MTZCWFhMejNSYU1qei9iU1ZQZFRhNENCQUZWV1BEdTNQcG9HWDdEcVFrS1BleFFZUHFGS1h0cE9QV01FQks0bjJIQUIyaXU3VUY0TUhpazc4TWhEcW80RGI0VVJ5Mndtb2FJR0ZCamxCOUlPTmxJQUZCaXJ4RFZldlhGc24yVlB4ckZpRXhpQm9Lb2d2V0xHRVBrZ0JrYnM0d2cwNURsZmFMeUtON00ydHZoSXArN3JtNE5RVTVXVkZXbGIvOVZYNVgrVXREYkNmL2NTV2RnUG1zRUxCV3lyaFJ4Qks5QzlGN0RRcThVRU9IdmpLMGFCbkJzNG5BSlNKWHpzWUIrZzRTa3AySmdhSitnd28reENpanVKUHdEZ0FTbkxiS2pQeFRDOG5zNkNmK2VKY245QW9kWGZMVEtGTmZ6dE1lS05nejk3S3FwS0VWZ3hwazZpamlrd2V5djZoU0UzWU92bEFwcHdDVXZSQlhSMEVNUWNBOUJRL1BsaVdOUE1JUnBiSEdiSjA1RDJBYUFPdWFOc0txRVNxK2tjeFNOU0h2VEJTckhWb0lJc0JacW5VTVhsMHNqRFRBeW9OcUJBOVp5Q2FwR1lVaHpLaW9uRU5PT1M1YldsY3N4cFFhMlovREhLeHVjL0p5N0VzWUVVWCsydWFPVXllajcyMjNUMzNtbDRITGp4U09aT1RFcktNUU1TNEZRTjk2SjBpZUpKVVREN2FXaHIrMUhEd3pPQTh5d0JRdmM3UFdybVh5UXh5N1hyMGhFQTdHVURKa3pyQUtCY1lzdHNwZktETnEzTFErdFdteWlpMElxTEpncGQyUGJVQmxHS2JyMExUUmxBNHg3VTVyQVNDbW9SZ010UEJVWS9LckFxYURwN0JnUWZiNmc4Y2x3Q3FMOGZGVGpNQ2pTV2doZzdMTFRsTjFKRUlDQUptcFo1bXlBaERaWkticDVBc3VGUktWT0pjcmtpWWhzbVR2TFJKNHdiZHhoQ21WcnlWSjVpalR4QmN5b0tZSE9NMEJUVmk2ZXUzaEFpZGplS04vOTJPU0RVdk1QN1RKYjd1L0M5MTYvcDVjQ2FPM2dQYS9ZUitFb3duQU0rc3RUMmRVNy80dW1uY3JVb3QzSkJ6QUp6eEpRODRxVTNsR1lDekRBQ3BybDZTSW5mS0huZXNqTGR6Yjk5N1dkOTU2eVFRTVVoNm1jbWMrTXFqaXVBU1grR0NLMFBSREZVbEE3WGt6b201b1k2VkFBWUQzY05BQ3IyaXcxUEh5Sm5VTUNWTmQrOVY5ajBBMXd1OGg0M3hLYStzN09DS1VlaE1BUENOd01RcGg4N0I3cFAzQXRBdUNFOTJnWU1jUnBLWWttOEFsNEpwOE1GZkJGVCtoaWRsNjdaWFljdWE4cWpxVXQyN3JRSzdWUWpna1ZOZzhIbEoxK0xOV1lLRks5M2lGRkl0dU9HcTJBYTNIN1Fkc0VxbE91bWJzdW1pMFUrczhpdUtBbWZYRlF6RWMwVlAvLzJrQXNCYXVmMVBqOFlmNHZnYnBaUUxEYmdrZ3pyQnowRmJud283Z0dLZUI0TG5tZnU4R0w3UE9aWDcxZ0QxY29CNWxDVjc0MUJRbFlmQVkwU1BDejF5Rldyb0tXc2dPT2g5aC9YckJ6aHY3eVdRZ1pMWDhJWWxLMjBrYjJFM0EwTDFIVWdLREQ3TllLZkF3VUFEUndCZzlTZFJSbUQvVWhDMVh5NHJRbytnNTRDbWd0dUhPSVpOUUtCNFJNdEFad1M4cmhKTW5DbnpNTk95SnNLS1ZzTmxEWDQrRXdkUHdyZThzWmlQTFhlazlMYU9zSVhBVUppa1JJVlZ3UlBmT0NTSXh6aGdFblVrbElSK0FSM3RYT3E1OVZRaEpZam1HNTdPbzQyMm5OT1lJTHVzbndNK284blBZcThmQmU3KzVVZHZkaTlkMnUwMjlETEE1QXV4MlFoNUhPbGJqeG1hU1phbzRIT2k4T1dFdDQzTUljMWpCMEJuOHltYk84OVc0ZXc3TUM5bDJEOFVrTmM0cTZBWVI1R1V0N2pFai9QVXNSRzFINlNoSXBkT2pFa2ZxM3N6ZzJvOWY3eFloZ2ZWaU82SWlNL3lHVFlNZi8wMUk0VEo0ZDFDMFRzbVVBU0Vhb2lDQVEraVlBT0J3SU5HZ3JuSFFNSCt0YTdJRG5VcURoMVFwdENoQm84UUJWK3FxQnoxbVFCTTlGWGQvbDdUNTE5cm1nWGNDRnZWQ0dKcjNDWitNV2RMRHkzZDNGenVibTdwYTdJcWJHbjdzaTFsdVJ5TXlVOUQ2RzhsYXQ3aUF1WWNQRUNERkNLTWFzQ0R1S09xR2NNNm40dG8yKzhPRGQ4NENLZ0dmdkpEUC9vRlZtdyt2eUY3NWU4dE9lcEhmdjY2YndxaUgySjhVemZobW90QW02VVREQmE1eW1vS2paQVVCMTFiaVRNRTVoTUFtQVdZbzhNRDc1Z0dGUkVoQjNHdGl5b3hoSHRpQ0djVzhoYW1yanF4MG9CY0lDc0FZZ3BJM3lVMko0NDdURWhvZVhlWFNSczMvQUlIamJrUmQveWhVVXNUWGdQTlk0MjZ3bmlRQ1RCT01uQVhuKy9UWnRyQkRvRERPRXZSU1luNktPRmZDQmJJaEhJenlJYVpCQnduQzhqQm5aUGJQRm1QZ3V1RkhHUng0MnRWazM1OWRiazd1NkZKY0VZcm9DYi9paHF3N2pUUnRDVTFkUjkxMHUyYzdicnJteE50bFZlNjZ6ZjN1aHMzQ1FRN0pSRElQdGZoQkp5NWlsWWdjWlNWY0E2Wi9nSXFhaG83NVZUNFc2NVFzZmducTZUZEl0cHZveHdjazRUQXgrVGYwQTJZcytyVUgzMzJadmVoVCs3SUo2eitKRHpNWDBCR1JZTWduUEFSYXVHZjRBczhaOHlIbm5oSmdtM21hVDRCZ1BHQU16aEl5dTkwZzJOblN0UkFib2gyTXpSRkc1NkFpUyt6Q1JvSFhvKzhMeHZOcVUxbWFoRUZwcmNhV25Rc2c0QkJtZ00xQmtYV05vL3FEVHBiWlE4QU1hWElvcXJGTTZsWlZmTVNJSmlvcEoyQ0JNWjdBYU15QTlZdFNxK2M2TWdrMlZkaXFMbHd0T01BMHNBQ1BSblk2cTlxaXg4VGY3bTdUeFA2Z2lZQmcwYjN3Znd1L0UyOUJPUDE2enZkVlUxdzBubmRHYnRmdjViTHp1Q0dkZ0hyMmpJemNhN2VuSFJ2WEYzcHJ0NVlpa0RBNVFIK1owYUVFckpWTXZ6ZjRpVFVkSk5VU0d0NnZDQ24wQ0JMbVRmOGlSSmp4UXFvL2dBdm00czY5cU92K3pYNUNYd1hGZmhXNU8rYnN2a0gvcjlyWHYzeE5YWDRjektNL1A0UFBHMWdxdHRTR1YwNVNPU3BEN25oZUNBMFdXQ2JTWnBQQU5pTG9XdHJUc0FrVmxvbVV2VmdDeGY1WkQ1MHlod2c0VEttY216VlBIa1FHWWthVFZJSFcwaURvc2VRbDUxSDF4TjRZUFNFRnhRMEh1TUZRdWIrM0ZpaGtaV0hHTTBkbHdFTVRqRW9HR1RpZllDK1hCQUNyQ25vSXFCeXFVNlVBNVA0TEpGbnVFSXUyMzArMTE1anhWOWY3aTZlblhUM240dTczbXVTdmFGUjg3SFh0clFLM3VnKytQRk5mUk51VjNmQ3FTbmE2cVI3VkQrVStkNDNyM1ZmOE14Rzk4UjlXdjBWQ0ZZVkJNN3BlUDNxVXZmNmxhWHVtcEEzZEduQVBRSi9qUWJqbGFKZlNtQ1FWa1pqTTdRb0dRWnNkYVowVUlJU0VzWWM5RlFrOGp5QURPdkVUYjhOUGVHRC9mcnhuKzZjYlAvZW43N1dmVXkvQkx5aFM0S29nMytwRTM5dGE5RFp6WkVpQ0FSc3hPaVVGSExkQS9BUUYzaXdZYVA2eHluT0l3RG9VNjRKdndaZW94K2hNRDlQUDRyUzZTQThraE91ZnNUWUNFbzZQTHhJaytTQkpaaWNnVlRMS0ZadzVIM3FDd25SZmc1Q3VocCtUeXdZVklUdVEyWEdMRnQ5SmxOT3hsd0ZCampxRkRrSXBBN0plaUtud0R2Q1l3dVRQWkNSVzZZQ2dtL0VxZlVjZ2t3T3k2SjlzNGJjaXJPQ3RrTHlnb21neGZVOHEvNlo5UlZ0OVplNkJ5OW9CZGR5djZwMnoybjcrL0xsN2U3di9zeTE3c2MrZEVQYmUvR1htNERZUkxxNVBlays4c3B1OSt6TE43ci83ZC9lN0w3d0hldmRsMzcybWU0aFZiNnFRUERveFFnRW43eTAzRjBpRUNoeTdIRi9RTVBkRTFxRzkzbkl4Tjd3ZTJrRUh6aGxiMUFvTk1DR1RwRlVVY2xYMklmK29DOUVVSWZ4VVNzM09UZjBnZi85NXlmYTJlaXlSN2lQZkhLcit5Y2Z2S2I3SU1YWGRHNlJtYjR2bEI2UC9tTER2L1FYcWRjbnloNERBaHRwOHRiczB6d0NnSzYzZDNkaVJaUkJzcnczOG5nR01qbVFNZkRpMktPUUU2ZmNFeXFyTkdWa21DMXo4VXdMVHRtQmd6WlJvdFN6UGlxU2tKYzJBcnZqaFVrZnhLN0FVMVRZekl0TjFGZGw2dm5RaVR4M0FFR0VJUTdmL1dmMktRaDRGZEtBZEU0OUJxZHl5cGtqaTVhRXFUaEExckpsalFhdWFWbjFHZlFQbnRlS0xrYnVlTVA4VC8vTnRlNzdOZmw1N3AwSnNLN1YzckpGZFp1d0tTM3pmS3dTay9xZi85eE5mVlMyMWIzL1BSdmRiL3owalc1WEFXS2lkalllN3JwUGFrbDk5ZEpxZCtXYWRnUGFCL0JPUGI5dW04cFdGTzlnQ0Foa3FoUUdnRkFLSE5BUUQ0WVVlZ1E4T2t0T3VDVjhFYjFBQzlGUEs3S0J5WC9mT2ZtQjFaOEFwVm42UC8zZlY3cnJXL0tUNkZ3aSthL2tDQXhwMFZhMjdoeTlFekVFQjRyQmdsN3EwRStkQUtBSW9EQXZtN0x6Y0g3QzJIcUlsT3hNSGhJK010ektLa3hrT2VHenpjUlJqdnNQWlRDcERJMlQ4d0RCREJMNjFyYXpJN01DNVFLVEpUa0ZVSStnd29UTVlNRFF6b0FRZkZHVGVZMHNkTXhCemJZL0QzL3pyNVFOcTdXNEpDcURrYlo4cEJZNUpQdWM5b0lhT0cvM05hRFBhT0t6Nmora1ZmOCtMWGVyVXZ5Q2J2WTkrL0pXOTNkKy9ITDNieit4cld0N0pyN0NSUm5zREZaTGFYTGtPd25IemNJcnVqL3dYVDkrdmZ0L0ZRaSs2dGVlN1o1NlVQY0NkTW53K0gyaWEzZng4dXZMdWo4dzBZM0NIYjFYTDE2dTZVc2RPL1gvYis5c2dDdzdydnArNTgzMzU4NStTR3ZKdHJCazdFaE9RRFlRd0NUQlpRcENnZ1BZVUU1VmtncEpwWkpLa1pTTFZFd3FUaWpLVUs3WUlWUkNnWTBEd1NZQ2JGbUlzdVVQWkRuSXNtVFpzaTFMU0VMU3JsYUxySlYycFYzdGgzWjNkcjduemN6TC8zZTZ6NzM5N3J6NTNQZG1aK3piTTMxUDkrbnUwNmRQOXpuZHQyL2YrMmc3MUlKOEFCYU5WMjlKZ2ZlOHhzRWFGNWNIV1dKWWN2VVZVRkQrV25hVlZpd29QNnVnVzZUOFQ3OVUxMjJPem1GYSsxV3lEQ08xSUYrbDAxY3hRbitsZmU1NUFnZWhKZURNYTFHa1lHZ3FHVHJrdG1zRm9HNk5MbmFnSzVPajE0SjVXYy9rQ0VHRVpWRmRnTG5TZUJpOGU4cDdHT2p4Q0FIQjVWUXRTc3o1dGFGQ1daQnlCaFFQaWxEZ2JFbW5SRE4wZ3Jic1Y0ME1iQjdWTVhDZ1liT0lEeUtLV3dONFlTWUVnVGI3c3dsSVdTQ1ZVVmhlMXh3U0JoT3hxMElycDh3TTlqNWRiTmJYSnRjNHM1MlVmMGpyWDVhNzNUcUU4TG5IWnJKUHljL3FjUjdQdTJrbzFWc3RGallPckQyd1lva0FlYkd1UUVOdnpLRllEYjAwczVUOXQ3dW1zcDk3VTMvMkV6Y05aZ3VhU2NlMXRCNjRTbDczMCtjbnU3THBXVWw2UVovWDBtcUFweDQ0ZjBJUXduYlZKZFJMelByVUF3YVROSXUzdnZqeW4vTDBCK2Y4T2RTRElSd2Y2YzRPeWtDSnZXeE15di9GcDJheUx6dzVxNW0vTUg2Qmh5RHY1aXYxRlR3d0J1Z3VuSStqRUF1NVRFNFJRVGJrcTZWUzNGWHhuSjJCblRZQW9XM0w5WG9oamxRMEcydFVXcFlTSnA4SVcxR2dVbGNnSHh4U1BVTTYzaGhUcEJtbTFJcGFMUS8xQ1VVNGxBbDgwTEdXMHpNNUNmSUtSeGtHQUIwUGRCck1CRll1UXNJTVNPdDhoU21icmdMWVNMS1ZpeE5RT293dzhCejZsaFJKNE11UThneDBqQkd6UG9ONVVMdjJJM3F1dFYvTGZYYjUyZVFiMWFnNG8zdjlXeDZZeWg0OVViZFozNVFmcWlydk5HQ1dQNE0wZ0hBWkdCTVlQbTR2Tkx1TGlZODlPSjg5SldQd3o3VWEyRHNzU1VnNDErNlYwZW52eXM1TmFHOUFHNFV6V2czTTF6VU54dHVDUUJoaWNwSlREQkV4RklEbGUrR0tIQVhPUXlHZlh4RXB1LzNJWTBqUCtmYU4xVXo1dFJqSzlrajVIMzV1UHZ2amIwemJoaUJIZ1RIYXdYQkhZeUJja0VSeHBYYVRUYXd5RFRzWEtTVGR4b1I0QWFybE1vL1d1TUJtbXJtTjRVNFpnQ2JwajQ1azgvM2pzdktxYlVFYlJ3djFibGwzbXJsRlo1MnRza0I1QmphVEV4dFNDcG9Ea29iSGVkamk0Qk9jWmRqQXhXbDVqMENqVlJnY3lrNmlLMzBPWXhsTVQ0MkJUQjRsaGdGVjNJa3kyeHZQeWcrMHg0QmtWdGlXbFFxRFkvUFBsNWJjTklhNk5ad0lHUEdRbndUcVlLQnovODdPOWpDenZoU2ZlLzBoOVkwMjZhV2tPdDkrdkpIZDhVU21lLzNoN0JWWE1jZ0RZUU9LRUUrOVVrTWVhekN4a2xNREVBY1hiOU8zTGpXeTMvbGFscjM5YjJYWm02N1ZJMFBOZC92RXdKQVU3cHdNd1lYSm5teFNxNEU1clFZVzRpYWhHVUFqQkNrUHdKVzdpRk0wTndZRkttUktzcU4wR2pJMjY3T3NIeG5zenZhUGRkbXluNzJQY2NuaThPa3N1L1V4UFFrWjIyc3ZBVm03SlhPTWFBajdLcTZRaVlraDFoT0JFcDNIMW5CSSt5RjdkTHV4Unl1d01mbUZtV3krZGM3MllqdGxBSnE0bExyUGQydFp5WkxUb0N3K3d0K3E4OW1Vdm1WQWhYZTBDMnFPdDhFV0I0Q0hIWkk3RFJlbDF3N0J0WkYwOWhVaGJuaGRUUEVoa1dja1V1UUo3eEpFQlNXL0RkVmd1TndrVXBUQlRqdWRSek1JY2ZsdlMxY3BOd3BOUGd3Sks0UWcwMERMNVF2a3hDQXpQb2Q1bU1tWjlYbTBoK0tQU2VsWTVqTHJuNXZSN1B5WGpleXhGNVZmSFRVa1JXU2dpMFN6d2h2ZkRQeVFadWtFaWJkeTRnOFowUllja1BmcFp6VEgvY2tqV1hib3BTejdSemRKNFhUZndhZlByOUhTbTBlRzV5N1ZiRFV3cXkvdXpHazFZS2NKSlJTT0dydUNCNXFSTUl5VW5aSTh0NVZSSEQ3aFBaeHhrRHhrRE1lMENqcWdldmRxRmRTdlBNejhmL2xDSS92NEk3b1YwVE9Cc09HcHNwS2xsWSt3S2F5NlRRYWlEU2ZSL3JiaXFzeWx5UU9ab0IvQWhlV2wxQUI0QXltWGhsZlEyU3lpa3dZZ1ovVEMrWVc1UG5YdS9KUzhPcjJ1emx6Mkc3eE5jQXpCY0xSV2dVaWQrMFBPbmZmcUhuTnhzVS9DRG1wRXNubGRBdFFnakFqYlVDT2R1RGwxbDRWemhDZXNnSlpEV3U2SzdpWG9jSnpEd0VXSU93Nlllc3FTejNCaXhsNFVVb1JCaEdKN0czbjhCODRITURNL2hleWJBQnJKRG9VeVdyYWFVQWlEeTNQc3NHUGZyVm0vS3h2VmxqNnpQb3F2QllEZDczTXMrUXVIWnJOUFB6YW56MXVGR1JFYVZPcEwvaEJ0amxzNk5lcWZSVEFEdnFXTFFySlptM1lxVHI4Rm4yWDNuRzlrRHovVHlINzI1cjdzTGEvcjArTk85YUptMzhGOVdvVm8zSEJ1WUdxMnBzZU9PbStnc2NQaEk3czFrREdBcHZkblhyZlZGeXJsbWh0RHRkY1YzL1krdE84d3JDVS96L2paK0dRVkpMdG9LOVU3SHAzTzduZ01IUXl2Lzdvc1RMWVNCcmNDaFd5UVFUU1dsRUJZY2k0UDZnY1RzSmEwNHJLZ3poalFpUzQxTjV2aUJPWGt3dHlLVERTM3phNlRCZ0JXVGY3MStiblpiaW0rVG9GbVMxcnFMY1dkM3EyMUpkcCtVYWJ6R1UxTDhzdWlpWEhCV2FYQWtHeHhEMXNSWFloYlFnRVVXcXVMbEJ3TDJCS2NxT1VYUHlvR3VVQTBvRkZncU5rc0VNTmt3WkVYQTJMbi8xV1k4dWJCUjIvOEtvekRWZzVybHVJOTlFYWNncm9FYlRCcVJQT0JDc0pzWW5GTHdHeVA0dnVPUFJ0c0hOL2xKQnNuK1ZCOFBEdjB6NXhaeWo3MjlVdlpZWDNVZ2hrUkdoaVlZSXpnTFhweGx2TVptWFNlWVpyYkR4VTEvbzNwZUtHdGVKZU5LejFZd3VBNVVzeWp4VDk4WURaNzhOaEM5czd2Rzh4ZWQzVlBOcU94d2dHaVVTMVJNRXlYWm1wMmtwQmp4ZmEwUUgyT0lXQUNDTzhZZUYwQk9uKzB3WXloR0tTTmZYRVZOQ3A1N0pVeFpJZGZpeDNiN0x1Z3d3cS85N1dwN0J2UHp0dUtDWGtzNlVNc0xnZUVnT3oxaW11Tzh6Ujc3S3FtSWg0WGhMV2QrRHB1UUFMazZJOTV0UnVkaVVXY2hNTjFLRzB1dWQwR29DV1RqZnI4dEN1Y0NVZlNDWEJ6ekhwdWxDZXRpRGpQbkhuY1pQVW9JM3FDSTE4Y1p4WnBpdWRjUkdyTndNbzM4eGxpYnRuSlFFdnlPalU0aklUVEVXUHdoa3NOUVVwVGJCc1g0SUlQcHdXZERuQlpTOUFEZXdaTXlURXNZYUNoOUpxRjJKVFNJQ1hNSGdodjZUSEllL1dNZmtBS3psSWFwVWZaR2VUTWN0cmt0bzlZM1B0c0xYdncyYVhzbkQ1cVlXKzBNYmo1czBIZUdzSmtrVWZNQllTdEFPQy83QnpIb2dYaFFCdkRUYnVnRTBJeUFsckJZUWdPbjF6TzNuOTZLbnZ6RGIzWjI3NW5JSHZsZUhjMks0WGdubnlQREFGR1lXcXVLNXVSbjVQQlgxQjhVWVlnR0FGVkFXRmtwRDlWWlRLeld5QmtJajhnWlVjbUhFOGVqaklCc2dxNi8rbTU3UGFIcDdOelV3MTdNZ0t2WVNVVVpudkNablFoTEorbkI0bFkwMDAyZ1lVOGJvRjFMZ3hYdkZnMHVMdzRQNjJvWXJTbWM2N2RCZ0JPbldHSFhZMjVTOVBjME5JYWQ2NFlIdDhLaEFZZERsMVdGM1FjbFM0cHJOdGRNd0k2Z1dET2pZQXhKVzBNT1pWa2lJSXppK1pOS0JwVDVQQXlrYTZBcGVuaXZKQUNuVERBWTdvdzVHdnBsVG1PS1lNYVpaQXd4NHlBU1hqTjFVTjJuNzhvVGVLV3dLajdJRlJibWVHNGYrUkxOWGlVWDRmNTdLTVZmTGhpU0hHWSt0YVpoZXp1dzdQWlk3cS9IUmdaVjMxNkRDaGhtZExEc1RGWURHN0RSK1pDSHFvT2l1QnRMTGdOZkxtQkxQbzRHalZsWk5ZM09pb2M3MlJNSnRCQ1FnUDZ5aVlydXZ1ZXJtZmZQRmJQZnZBMXZkbVAzZGlmWFgrZ0IvWXpMUUpzdjJKQnkyUTlLTEFqeUp3K1hOUXN6UmlnRDFKbk0zK1VDL0pnSTFvTElqT0dLRDRqNFlrWEZyTFA2RkhuSVoxellQWFV5aGk2NHVmeVFGYjZzMzZJb1dEbFErMUYyMU51Vmc4SHVoZ3NVVlFiRnVlbWRNUGNlU2R4ZE1SNU54aGNuSnVleEFDNGF4NHdqdDA0TktKZWczV0NPbDVUNDdOblF5VjFLVDFLd01tMmVUMTFjRWNSUDJCaTZwZ1Fjbkx3RmxUVlM2MFBLUnM2UEZMeEJqWVJqVWdCTXhTQ2xBRmI5Z3dDWmkzd0dJQ2U1Ym5zbWtHZG1kY1JPbFlEeTEzZFlheDVQc0d3eE1Yd2FZbXJzcnBqc01FT3JmTmExajcwekh6MlZmbWpweGQxRDYwWlVDZHdVQWllTnZ2Z1JySHRMeW80ZzlKd0FuQVQwcGlod3FhanFnbE1LcDY2bFlNL3BLTnMwS0NYSU0yM0RxekhJbjBrajJNV0hOUXluYytnMzNlMG5uM3RXL1hzOVZkM1p6L3kzYjNaOTc2cU45dXZnd3FzaE13QXFDMnMvclFJTU1Qb1cwdE9FbHA2NkdHZWxROXRabktZME9uREI1NWJ5TzQ3TXBjZGtVd1lGd05tQ09FdHROWGw0Zkp4NVRlNXFCM0lJYlFJcnEzRzBJUVl6SEVrcitISWJuMnVBSkE5bllXWlNRd0FTWWdvQ0VhQmRqdUpvK091YTNucXBTa05ldTdRdFRDVlUzTU1iclpxbFd1U1JCS2hVeDg3d1hGU3ZYbW03Wk1oUFZMaFRiU1ptU0JReStvenYwMVJ2Z2FJbklRTVJ0L0pwanc2cmhYTDVMTjBEUnlnSzRDRlk1cm5jWnFtL0lxRU9JTXBoRzNvS2RMSDdDUUM1L1NUVS9jZW1zNWV0VSszQVdNTjdjd3Y2LzUrT1c1Q2FRaHlDOENBWmVTSUdrdmhHVzJXOFVNVno1NWR6QTY5V00vKytreGRiK3lGUjQxOHVwcmJBVjd4RFlNT3FBcWhnZWNQdnNJbHg4RW9PUGkwL1lISTcrYU1KZFF4SUx3a0JhM0FFOHBzMVVGYkh1dG1yMVZMQURXZEhXRFZjUGpVVXZia2k0dlorTkNjOWdlNnM1dXU3Y2x1MEtyZ3FsRzlwYWpOVFc1L3pCbUJFUFFyOU5sQVBIdHBLVHNtbVR5cEY1aU9hTFovZVRyY3gvTjBCR1htSDFuQ2pQMEI1UzNOTUdTaEhtUVdvRiticWxVazVJc2NrR2tOUnpKOVljdC9RZjNYRnk2ZW1WeWpTRk4xYStSYk42bVRCZ0FtOFYzekYxL1FDbUI1VHN2TjN0RERVcFF0TkNFdGduSVljYUE4RzJTSGRQOTRWQWRNYnJwV1gyNlJJUmpUN3U2MDdxVG1aQkRJaXl2cURjcWFJSlJLVnhUT3l4U1kxaUh5R2JWWUlNU0ZFemxEUmJ5Uno4TkJCdFNJRDQveFFqdnNtM1BTTk83WjczNWlPcnZsTHlhem1tYTlNYjFRczNla1I1NW4rT0hESEJnQWxKQlZEM3NnRi9Ycy9LSWU1L0Y2THJ2bHRpa28yZkNXbnYxUm1VSmhWZ3M4Y2hzQXI0VUJzRWpBS1M4S2orS25nem9vaFhCcWo5bFR5SzdqeUl1RERsejc3TW5nZHlOQWF0RmJHQXNreTdzSEZGYTc5Q3U4RHorL2FMY0hQQzRia1pERzlRanYxVmVQYXEramxpM016YWhMMWZseVRBWXplb1NJOGJzZ1paK1FiSGhya1JvWUwrRmRmbkZEYzhFcTRISWdRTjBtazRDMHNHV3ozTmJqRnFLdVZBNjB5N3ZaMDRDck9lcFFVNElSa0tCcmplVzVpYlBIZlFYZ3BCeXVSbVpMK0U0YUFCZ3lwdXNubjVpU0FkQnA3OW9vd3Nmak50dWlGUy9weEprY1dneFFYdEw0K0lQMTdBTS9wN1Bsc3A4Y3FKalNMaS8zaG5YZENnVGxqNTJUVzRMbXpncE1iWll6MmhKYXhWakJRYUVZOERIdStCUXFZNWhsMUFZR3BWWXRROXFnWWx2OW9nYnZIMzFaRGRIYWRWbEtlbkcyeXhUODJEa0thV1dJNXFoQ0g2UW9OYmNPQVdxbTE2Z3lkc2dqa2pqeUJzaktJWkFJeGlEUXlmUEVNcm55eDNKUVJOYXA4M2FtdVBYQ0JVZkJES0FBckhYaGpxcENENUFyck5TSWs1UE53bTVWYUhIMUlUL0x6YmY1SmxXWWhjejU4M1gxdDdROE91aDVPekYwN0kyQU03bFpIdHBkeEUwK1FnVGxqM2d5eUR2UHlBdFhZQ3lhOTNmUjJ3b3BhMmhMeU5QcUNyV3drWXRoRXQzRzh2VHA1eDVQRGNCNkpGcVIzUkN1MHdiQW1KZzUvdlVaUGZpL3FKdnlWNENnd1NiTVhBa3QyNll1Wm5FcElkRkFEd254aHRiZGh4ZXpINzhKMzVOcE1zajI2bGFBKzF6V1V4eXVaS1loYzFCWUl0RWx3VUF4NEIxTkhlczdEVXd2NEpsVkVKU1Y5elJubUVHbE1NdDNOdkJRL0RGdGJ1bmxhVnVtLzlhZGw3Sm45WGl1aXh0WHk2djgrWkpmUTFRNEc0d3hqVXJ5UVdrVm1wUkJHaDVvRVYzTlNJQTNHdEtjUEUva1NRZ0dMNHFBd2dmV0F6M3BvRzNnUVcybHMwcEthRzk0Z1NZWG5wV1A5WWFBSFdoU3g5cEJwNERPK1hJelFMOFJEbi9LcFB3OHFrTkVHRC9iTzlDMys1eGpCUklYNVFHR291RmlFWWtoeG92MkIyTWdQUExWbjhzakVMVFNwdlEyRHdWa3ZNSjhjSXpUdFJ6SjhDM2JIL1p4alBXbGk2ZWUxdG5qbFc0ZGFpc0xySWRwcHdHQU9Wb09USDAyZituc1hHT3BmcmFydC85R0dBcmlKTFJKSjBuVC9UaG1DNXhWR0hzZ0RJMnU3QU9mbjh1dTFiR3ltNjdobTNSNmZLUmJBV2FCR2QwS1lBellLRUpSdzRaZ29CUEp4c2hXQWR3ME84TkVOTURqUUp1WjFPRjhQWWVQVGZLMVdiN3d3KzcwN1EvT1pCKzlkOUtVSHdOaGc5Q1ZYek1aTTBZWW9ERU5xWG85SHFDK2x1RmdPRWlDaDNTQWh6QnRDSW9mU1ZvY3JEdU1nTHNROU1vZG0wRHJuNlpjU1NMQjBLdGMrYjBEK2hacThHZjlKQmlNRUZoTVFPanBZQlRBaGJ3b2tzMms5c3d4NEMyeGRHa2xFOGRaKzExbWdsQUpWM2dJb1RCNUJLS1dIbVdSaUNRMG9GVHZhbEdNTVh0WTVqRUEwcFdKMDZmOUpDQmszYTlHWXN2NGRocUExWmlBK1hxalBuMnFhM0RFQk9vWjE3T09ucThNWFJwcCtSRFdzMTRKOG1VOUR2eWxUOHhtNzN2N1FQYm0xK3JWVXkzL2VmN2RKMFBBZlNHZWxRQTc3R1VIYlRvVnVLcHJrYmpxY0lzSk5sQ2NvQ0lvbmoraTBqSDA4TjA1OGNNZ3VPWCs2ZXo5bjcxb3kvNmFNdm1nREVwZmJQbzUzb2FsNkRuTWh5eVZ5aFg0UEVVMHd5MkEweUJGVlVlbkVrYVBhQ0NDZk5Gam1vNlBwTWtRNkZ0SWx4YXlDVWxlb3NpUWl0LzdEd0xJSnB6dWs2cWhoQ3BDM1VENGdnTFV3bXFBY05oTUpJME5UZnN3YXFoMDVaV0NjaXRrSWp3NGFCajFHQmNxNUxaNERFZCs0TU41Q1NuRjFSS0lic0Q1N0E5a01saWVuenVwWXNuenF3MFEyV0tXVGhrQWwwME9sK2VtbnU4Wk8yaHNJbVNHR3grRDJwVFRLQWhXMzdvb0ZxV0hxS1p3SEgwOXE4ODF2K3ZqTTlrLytjSGU3Si8rY0g5MlVHOTQ2UlJwcGx2R1RJK05iUlhBKzBpK1pHK21VTkM2M0JEY2xSMEQzQTBBQm92SGRpZ2Y3NXAvK0l0VDJWMlB6V1kxV1FJK1N1RUtDaXdmUDAzVHFJTjQ0WHd3Qnd5RE93eG00cUpGTktKSW8yUTRZQlI0U1RJSEFwU0tRZ0tFWUN6cENYbk8xUUxxdjF6UVRxR2NGMDdnSVR3cHNGeEM1YmNkUXBpQk1KNkwwZUF5Tlpsb0tXRHRLU29MTFF5azh3cFRtVmc1cFlUNmdqRk01VUhld0hFbzdrMEdGL0NibFVYT2h0M0NwQ3VBK2RtSjR6blpzTmhOcXk0S3RpSFVLUU1BYXk0YllGZjkwdW5uZWc2ODFqcUdSQk9vTFEySmJjWloxK1lGdkNPc00zT3NsRXJLdytiZlIrNWYwRHZ0QzlsYmIrekozcXpueU5jZjBHTWpuWWZuNVE2YlVaTXlIbHhOMmpaK1l2V3I1WEVhcGJIbWFJT1U1UWdyUjFwZjBHTytwL1ZJNmt0UHpXVmZlWHBlNzhQcnZRWlpoRlM1N2NTZnROVnZCVmd5bXJKSDZHMUhvWFBGVFJob1RsZkgySFFhaklBWkFnWjN6TThTM0p5WWRGeEFwRmZ5aEh3bWg5VXpwb1ZpT05LM1dHc3BoajROU3VnZmxLWStqS1JYWlhsRXlxblI5bURVYUZmQWVydXRLcy9ZeEFWeWpJaElpWGhham1TTHcycWUxOHM0RExrMkw0dFEzbDdVWWhVb3o5bUkrUXRuajBYS1J0SnJFU3pIazZTdEJUdHBBT0FJaHZIZEM2Y1BQemR3M1k4c1NzQlN6YTA3Vi9pVWdtMGFSZGxBTzBoSkcyc2FNVU5TSmg0QjNmcU5sWWxHOVFBQUdDOUpSRUZVaGV3MnZZYytyS09nSEkwZDF2MjJiUnlwUUZGR0pVUGhsTHlGZVJZOU5EU1VEUTRPNm15QlBwQXhPeHVVY0VYT3RSSGNldkNzbm1Pc2s5cTludEFqdTFtV0pYSWMzKzNuMko2RTVFcmViQWdZc0lVbm54bUNXR1ZUT09JTUtKODdDMUd1YVRTSGRCUXNkYTFremR5TWMwVk04Mjh1TEE2TUNHMWZSZWhLWVM2M2o0WmFubkQvYi9YRVR2T1NOQkVVK2YwZVBlVXh0TkJLaGt0WkpwUnV5a1FFbytNMUtGWUVJNkdRSjYwbnFXSGRvSlhXeFc0QnBmd2NYdFBEbmNWekx4NStUb1ZKNWk2Sld0MHIyRjdYYmdNQW96RHVERHVzVFIyNTgrVFk5LzNMbDd0cVBRZkpFR2FlbUZOZzQ4N0poeExGUmw0WUhNWUFXWENSRzU3NURtbFp5R2xCbm8yZm1kVHljc0pmSUZFbSt5ZHpMQk5DOFJyd0dJRGhrVVkyb3EvbVRPb3J1RFA2cGxXcWNFMUYxb3lJdWZCdk1tQjI1M3g2d0hsYVVPeFUyVmZNL2lvUXhuQlN4amtXcW5DRnFqczZ0dFE2S3VCUVJyR3djb1FYWkpMY0lOZk1tcFJhUHdnSGVMaHl6cHBMc2Z3UFN1MzVTRGVHN2RhQW1MWERTT2tTbGR0d0pLNXdMV1NTRXlCektHa2JuYXNTSVNFa1hvNHNtS1RzM1EzQllBQVdYLzdyYi80NWV3QllXcDVudGhhS0V0cmgybTBBa0FnTU95UnMvdUtoVDErNFpuSDJXSzEvOUdDdzFuU0NaOXRrVXhLVDY5S0JGbmVFcHBRUlNUMWhvMGtiUTZTcVJ6bExZTC9RYTZNcTNFT2kzTGxUT0lubEhKS0hNK0o4TUdOQkpudEpmck1HSUcwdFlSK29JV2lZbkdhVDhxc2h6WEVyWWZLTFl4MWkrYXdjS1Bud0pLKzdtRWZ5QzMrT2o5RHdKWnhIaTRvYzAxNlk5R21aY05vZlJhdThsVVVxR0ZZQTRkRmltVXFJZTZraTFlVzJNb1U4WVpWUzVNNURiWkFIblBNSUU4WEhjd0NzSVIwNWRPOGQ1Mk05clZZQVJZTnpaclllYUxjQktITUNzOTZJdWFXNWlTZTZoMFovR0ZFalB3YmhNZ2VmdCtBZzNDUUpHN3htQWtRMU9NWVVadFR6RnBCT1Z3eGxCNmt3d0M1VzJHSmdjb2NCWU04QWkwMm4rWVpjbm1HVmdQT3lNam1tQ0lSUUNKaGlFclFCcHBnZ3F5VUVaampEczRJeUpBbjZEL3pTMXVCSVMxMFJiNXF0U3Mya0p6eW53NXlLQ1NxUGJVc0E5a29zTnRVYjJvTEVtdDFLVEhONmlCV2xYQ1psRzBUZGJGT1RzOGdkU2llN21SR3hOY0IzQ1ZCK2JnTllDZFl2VER3aFN1VkhnRnNqdm9GUzdUWUF5QXhaZWQ4NVpHelZGbDcrMXFORDQ2OWlMQWVoS3VBWk5zQnJrWVZDY2lzNlJSZzYwMjRHbE1pWXRUeFdIM1hGUDJVS3R3NkNsc0VLV2VaSU9sUmcxNERCQUFURmx3RVEzOTNzTkpzU0psblhEVnBsSzNJRk1uSFlLaEo0Rm94OFUwOVJGL2VsdENYUTRvb1A4WUJiVVVFWmdWeThvV2s0NWlPcHJBeGxFaDJQUi80MjJLSW9EYmphYUltVkxjaGxVa295ZVZ3ZTZSTEZFTVZnczFuTmkxc1lBUjREbmo5MVROOUlVbmNXbnN4UkdnVGI2OXB0QU1yY3BRMnBUVDk5NTVPRDEvMjlLYzJlSXd4dVpqWWI3bTJhWFh5NWhwcEQyWmI5cWloOGV5L2czQXpBS0t1QVVMWFM0cmhaeVFybDZJSHdyQm1lN2JDSjd0MExwYlFzRzdqRVNtSk9aRkM0b1BERVRlRmh5TklkSCtLbS9MRWd5Y1JOV3kxdm9CWTREdUd0WEkzVTVSTFpTc1dYVVFhZUV4RmNCcVdWUlhPNmJaUUpwTUlKUnA1SWhkZTN1K3JMVTg4K2RPZVRTc0kyYUpzNFh6MHJhSU82alJ4QU1wdy9DYUgyWG1IVVBiTy9yUzdQUHZqQkYvYS85YjFIYW4zRFA4QVlSdm41QzFtM3dFQVVSOTVCT1lsQUV4TUFiYkpaUFdiaWkvcHMvYUZvMHg1QVRpeVU4MkdGWVdEWmJRWUFxT09tVVEveldqY2FnSmZBVTFHaU1DWml3UDRESTZHT1psd29GVnJuRk5MWks1VDBsQUNqcVBJSWVTaGp2am5yem80MU5TU3dhdTBGTHgrM2RqYlVoaGFraW5LdGhGaWtYbjVJbFljdk5vV25VWVAyL3NmY1U5KzQ0N2RmRUhGcWp5M0tJWFU2bm5CYlhDZFdBRENlaW85NE1BSnpjN05MazZjZjZMdjZoaDhJaWhTVXF0V0p2SzIyanNwdy9vakpURXdxTm9WSnN6MkF5R1pnMWt1RzhselRoaEF1RElDK3ZxTjM4amRyQUx5R1ZEaWhOcGdLSWE3QldDWHhwb3FVS2tLYlhhSW41RU5Wb2tHbndGTnFQSXBhZDFmSVpic1pybE9ackNpM0ZZSXJpS3lPb0c2K1ArQWZic0VBekowKzg4RGNIRyt3bVBQdWdaT09jVlBzRzhWYTJ3aWM4YUQ4Y1Q5bDl2aFh2Nnl2Tnl4aEFCalh4V2JXRm12MldnU1pwZkhGZ0ViTWVOVmpvUmlQOWJKOERnWkNWeTNwN1hVeW1JcmVadVZTM1BuMlBKdUJ0clJQNklXeTRWWUNQdURIbHZUR2N1QXRQNWlqTkc4TDdURWprTFI5SzBNRUdvV3NvTHA3M1c1ckM4dC9QZ1hPdHhuNGRhVGFVbVBweEZQU2pUQlVYV2U4aDcxamlMZlZkV0lGa0RMb0RmQUcxYzcrdjE5K1l1d05QLzlFZDkvd0cvbDBGd1lBeGVCVHo1dDFHeTNoZXdPMko2QksyREN6c3VoNlFtVGx3cnpnaUd6b0xub0l2OEY0Rk9sYkQwRTBPSi9WWXpXbThsUUlqNTdtZVlId2xMQnZrWUphbXJNNWJQc2NTVUdMTjJmWlZiRzB6VDRKN1BRRzhFaVpsNy93STNwSHBhcysrL2dYUC9wdW5nRFFITmNYNElwdWJtZmJPbVVBZkhnNTgzbUQ5R2JnZFAzc2tVLzF2ZnI3Mzhoc2FtOXdhZllOUno2OTJPYWFtQTRBS3huSnJNQ2pUTW9ROEp3MWwzUVZLWXpBeWhJcEo2U0dsUVRZdGZPbTVUWVNOajRpMWNCbFVZcWFuTWRjUXFYcUhlK3dLTDB5UkI2ODBWUmdJMlZXVXRsWkdOcXlRa1k3aThXY0c1NGlEZXZFSjZkUitTRVVQbEI2NmJtam41dzRjNFp2QU9CNCtsanVsbkxjTWw3dXBWTUd3UG1DYWZjMEN0OTM1djRQM1BYS2Q5NzJpOTNkUGRmd0c2Z3NoK3hUMUZ0WUJYaEZtNGVheGFOSVU4bW00WlUwWGV0TUpWY21id0hqRkoyWDlleUs1eThQanh5L0FSN1MyeVRLNVhWdm9PeE96NElSMk1udFlYenh3eXg4bWRobWY3Ny9VRjg4OWVYYjN2OEZKZW1Cb0wwRm1FK1lpdnVRcEtzOHJHQjdYQ2YzQUp4RG1QWUdtV1diZVBLVHArb1hqLzFaTi9jK2FsWllDUlJ6cXhlOExFaXQ2L2xZQVpKMUR4ZnVIZWN3WmpmZ3VNMUNwKzNReStlMDErT1o5RFk0cTlmcmFnTzlLMDBpWFFGY2FWN1dxcDhYZi9oMEdlK2pqR2dGc0VkZnJKbysrL3p0VDl6N1p5ZFZqaDVCUjJ4eFdxTFRwcDV2cHNvNDdLVHpJUWFrVVRTTzg4MjFsKy83NzdmcFlQNFp2dHpMYlVENFNLV0daVnJpY3NLcVpMT3VYRjI1UEVxRDg2Vm1pRzN1dWw0ZEc2SldKcktGdU4wcnF6S0t0azNtVytDakhYWFRIMTUxSG5ERURvT0Rlam1OSHlSaDJjODNLN3VYbHM1OC9YYnBRcGgzWFBsOXdreTVwNmZhN2pwcEFHQWVCL1FHMFVCODQveWpmM2hpNGR6UlA3SlZnTGl3dllCNHVpNXQ5UlVMcTJMZlVIS1lEeTRhMENKOXd6aktYMkd2NnEwTk1IS2xlV2xML2JRRFFyUnJoM25uaVM4eWora25oNW45OGVQNlhOM1VxV2R1ZWZDdWp4d25qeHlUb3hzQmI0WWxkT3JTU1FQZ1BIdEQwaFVBcDV4cUp6LzM3MjV0ek0wOTA2TkhJZmtaZXg3SGVZbHRocjZNTkNnR2ZYbnUwQnNFZE55V29OcmxkVjJwdGxxOTNxQnRsbk5IMmh6YllrWmdoN1VIbm5ocU5Dcmw1eWZZUitWUmZuMnUrcG5QLys0djNxb1E5LzdvUkQ1Qkt1eXRVTEJ6cnRNR2dFYmd2REZ1Qk16S1RUOTMzem41MzlMRTM4QUEySzJBTHZhZCtsQnVaMTNWQ2hTM1NYbDJGb2ViNHViYnJTM1duazFKWVBzeUQybmpiMXkvUE1wSFgvbU5SdDBDTkU0ZXV2OS9IWDMwM25QaUFuMUlaMy8weEhXbm8weDIraWxBeWp5TllzTDB4bUx4QnA3LzQzLzRoYi94bjE3NmJNK2Vneis3ekk5NHlCYjI2TUx2dlRVZDBVMHBYWWt3eXAvVWF6TjRFdDlWd2NTSTJRcG1XNGJhOWtqSSttVUh0UWRXZU9hL2QxaXp2Kzc1TVFBSDltcTZ2M2o2cy8vM3YvNGtPLzlNd3J6OVo1T2lvUGVPdDhLaGt0cnZPcjBDZ09PMFFZUjlGWURGczJYUG1YdC81VGV6aFlVVFBYb3FZTGNDTWdMZCtrNjJuY1NEUXVVcUNleENDVERZK2RqSHVIN0loWjhneHdEczM2TUpibW5oeEpjKzlxdi9ROGsrR2Zyc254b0JXdHhSNWFlQzdUQUExSU56NVM4YmdPVUxEMy8weE5Rem4vLzE3bHFqYms4RnpBRG9PYjE5M3owVXJxNlZCSGFiQkhqa042NWZjOXFuUjMzajhudjFReldqQTQzNmM0OTgvdGNmdXZNUFRxZzk2QUtUb0JzQTR1aEp4eFZmZFpqYlRnTkFoVzRFVXN1SEFHclAzL3FPZXhiT0hQbFFyNTZOOGlNWjV2V3VOQ3VCeWxVUzJHMFM0SWc3UCtXMlQ3K0ZaY292QTNCZ1hEOUtldUxJaC83a3ZlKzRXKzFCOTlaUy9tMHhBdHRsQUx3eHdMSVJRQWo0cnFOLzhLYmZYN3A0OGpOOWVrU0MzdHRYVW5WUFVLdU1nTVJUdWQwaUFWZisvVkorWnYyOVV2NnI5L08xMzlPZi9yMTN2ZWwvcXgzb0hkLzlYOHNBYkV0enQ4c0EwSmkxakVBUXh2ejh3dkZQdlAzWGxxY3ZQTkNybmRLd0NzQVE2UFhieWdoc3k0Q29Lcms4Q2ZDeG1EMjY1ejh3MXBYdDE2TStsdit2T0NDYUd0TzN2KzluZm0xK250K3FNc1ZQbGQvdi9ia0Z3TG11aEZnSHI5dHBBTHdadmdJbzd3VmdCSmFtWDN4bzRvVlAvK3RmYnN4ZWVyUlhLd0ZiQmVoWlJiZmVuZGE3QTlYR29FdXhnanRPQW54OW1sOXV2cXFrL04wTFU0OTg5a1AvNXQzSERuMXpnakV1WDU3OTBZbHRVL3BVY0ZmaUJ0dWZwamxNK1FIWFBYL3VxZG5GeVZOZkdiN2h4OTdZTTloL0RTS3p4MVh4ZmR3cjlYaXdUOGM0Ky9RTzk0Sys0MSt2NjZYaVZpMUlXN09EdzkwYXJJTTZtTUxIV09iMCt3UzczZEVXWmwvYTRpY0N0N05OL05UNFB2MTBPelAvUGkzNzhkZGNwUWxzL3RJamQzMzRsOTcxNkQyM3ZpUitFRFRLajA4My9zQzdBWEFvVk9mZGxUQUF0QXJWS1RjMFZhZnV1WmYrYW5yKzdOUDNqNzMyNzkvWU16UjRuWDA4T0ZnQktWNVl1R3kzSWFnTVFPY0g1RlpydUZJR2dFZlZ3d1BkV3U3amcrTHZaOWt2NWUrYXZmalZ6L3pPdi9vUGo5N3pDWlNmOGM3ei9yTHlnM2RkY0NqVTlyZ3JaUUJvblN1OHczS0x1eGZPSFptZGZ2YUw5NDY4L3FjUDlvMk0zb2lZTExNdXdRaXNWclJNcWozeHlnQzBSNDZkb0hJbERFQ3Zia3YzYUtmL2dINTMwbWQ5bnZOZnZVOWFmdkhVcDI5OTcwKzk1K2hEOTV4WGU1bmhVWDYvL3kvUC9vaGsyNVdmU25lQ0FZQ1AxVnhYZmZMVTRzdGYrNS8zN2ZtYjc2ejNqVjcxL1YxOGpBOVJtUkVJWHhPaThIWklyeklBcTNYVGxjZHZwd0hnK3hVam12WDNqV3JXMTA0L3lzOXUvOVU2NGJkM3VGR2ZlT0h3QnovNEwxNzdHK2ZQbnB5VlpGQjJYL1pqQU5nRDhFMC9IN1lPbGJTOTdrb2FBRnE2MmhUdUFnRmFudlBmL1BBM0I2NTU0NUdCZmRmZjNEM1FzMGUvb1JidXdiVUU2K0l0d2tqS0MzWkNqSlVCNklSVTIwTnpPd3lBZmNldlg2ZjZ0TkhIOC8xOWNjbVBBVGlvbmY3QnJ2bmp4eDc2OC8veWY5NzlsdHVrNGN6NktIeTY3UGVabjJIcXZqMEMyQ0tWSzIwQVlIczlJK0JONjVsNDRrK2ZsWG45MHNncmYyaHY5K0Rvalg1UUVBTGNpM0ZiME1uanc1VUI4SzdZZWJBVEJzQm5IM2IzQjZYNExQZE44WFdQNzgvM3I5TGhIcDd6TDAyZStzemRIL21QLy9tdWo3em5NWWFqdk0vNndQTE1mOFUyL2NvOXQ1cnlsZk4xT3U1OEFObmh3Mk9jOEhwWjJMemVGTWp3aHIvK0Z6Ny9FNFBmOWFQdnF2VVB2MjVSNGwyU1owYzc5OW9LNXNkQTJTaGNabHY0TXJlR0tUNGl5eitzbHpyQ2o0UHFOMnVkYXpHMW14eHQ0WmVJOSs3dHNhY1pGeTh5TWUxdVIxdDRzbkhod21LMnBCK0EzWXFqRkYxS3Z6TGJvL2k4eURQWXowWmYrSVFYRU0vSFBNWTE4OWNXWm8rZWVQSytEOTN5S3ovMUZ5cnF5M3RYZmhRZjRhWXovNDVSZnZHMTZ1eEwyblk3VnllZ0d3RWdieXppVTBOQWVIbndOWC8zd0t0LytzUC91SGYvamY4czYrazlpQkZZa3FneEFqdzFNS2hleFFBdzZCdENLQlJzQVloTk9MSlhCbUFUQXR2bXJCczFBR212KzREajVCNnZvcVB3K0g1K3B0MjgzdVRUbE1ObnUvRkRVbnplNVIvVGpOKzlWRDk5NmRTUmozL3V0Ly85bng0NzlKVnphaTVqRllYM0dkK1YzNDJDSzc2ejRIQ2JKZFZjbmN1Z0dYdmxZczRQRU8rR0FBT1FyZ2JjR0lCZkhyLzVGMTU5OVZ2ZTgvTzllMjk0UjliYmZ5MGZHc1VZbUJHUW1JRm1BQWliandaQkVmN3Nud1M1L0JvQ2hqTzg0cFVCeU1WeDJRSEU2NTFkRW5VVGJmS3NsZTZaOTYyeUFyQTZkR0dQaUpuZFozZi9vVmNVbnQvbjQ4QlpuMFpWL2t1OU1jd1Bkd3pvL1pSUnpmak0vTFhGK1pPVFo0NTk2b0hiZnVPVEQzL3hsaE9xbnpIS0RJL0N1MDluZlJSL1J5cS8rTXI3Z1BCT2N0WnZZc2dOZ0VOZkRhUXJBb3dCNmN1anIzL2JOUWZmK3FzLzNuZmdwcCtwOVkxOWp6NHIwSTB4V0U1V0Jia2hVQUhUZVkydXFQdUNaZzd5RVplZU0rQ0R4U1BEV2dyS1QwMDFzdWxwL1FpMWN5bGF1STBNMUpEenlsNXByOTBDak5mQ0xjREV5aC9VTGpYTkdBYVgvajZCeFlWcmxkZGI2REpDTnF2bGE4SjdwRVVCVHpJWUNSTW1PTDYzWmtvOE1kR3dXNER3ZXhNYUdFcGpkamVGVjlpT2x5dXVKM2dXNWxkNVVmNWVqU2ovbFY0TUFUL1Z6WXpQTC9iVWxyUzBYNXA2L09LSnB6NTMvKzN2dS92UVZ6LzNVbXdPaXUxS0Qwd1ZuNW5mRlIvb2JrY05FK1MzVTUzekJrVEIzYXU3N0pZQWlQSzdVY2dOUWRZN1BITHRQL2pOTjR4Yy82Ti9wM3YwMVQ5VTZ4MSt2WHA3bEJGb0JrRmRZNnNDZFl2MWhpNG9oWWRGYzBXWS9DTmErZzFySnBqVTE5dW5wOFBBSTY4NUsreVJuUTJEQWREbUZSK20wTENkNElDcW5BbGNGNkFyYmc3WHdLWGx5blNJUTlEeUpPRnlQQ2JsR1QwOXJUK2xBOTd5QU9YSDlmeWRWOGtuMVJadS9WQjg4S2I4Z3NVWHAwTFlEWUROL0NnL1NxK1pIc1hYZ2lEcldsNmVYSzVQSFowOS8rSTNqaCs2LzRFN2YvZmRoK3YxYWI3Ynp6aEVvWDNXZDZWM1NGcnFmV1E0VlBMT2NXcnFqblVwYjRRUnZFUENHQUEzQm00RUhJSjNnUS91Kzl2Lzl0cXhHOTkyVTkvK04zeHY5OUNCTjlSNmhyNHJxL1h1VjJtOVhCQ1ZYMTNtdHdxVU5JUGdGR0ljNWNkUHRUSUFxckNWY3hLdDBxNFVqcll4NEZNRGdHQk5xUlJ3NVhJbGFrcEw4NjBYcG9IUTgzeWJpYStSMTJnNlhXaHJOT3pSSXpsbTk2bkphQUNFODluZlBqS2pPT2tvUE4rZ1pNWW5ySC9VZFZHZm9uaDVlV0htK2ZucGM0ZlB2M0Q0OFdjZXV2T3ByMy8yOTA4cWxkL3Fvd2s0Wm5WWGRJZmczSmNWMzd2ZklUUjJsUE9HN1NpbVNzdzRqMEQzR0FEQzlGL1pZd1RBT2ZTOGRBNWwrclV5MkR2eStwOTh4ZUJWTjEvWHMrZFYxM1gzNzN0VlY5L3dLN3E2Ky9kMzFmcjJOR3ExNFM1RjFHdTlkdXBZcGVoQlZnRDRTUTB5WHdHZ1RPdTZqZVJabDBqN01wZ0IwRXlYR2dCVEZyWFRaczBFdWhGWUMzcGFXdGFOU0JOT1RUQjhwQzlRMUplbXBlRlNYaStUMDFGZVp2a3g3Y2lqNE16UnJBQXNIM0tYVjdpZU5aYm1hNDNsNmF5eE1MRzhPUC95MHNMMFMvTlQ1MStZdW5EeStYUEhIajl4N0xHN1R4MTk1SjZMS3NGemUwcENBdWZLN2NxZlFrOXp4WTgxMmdvZ2xBNjBQTHpqb0RkeXh6RldZaWpsazdCN2xEdjFaV05BbXVNODdHV3BnZzdEa2RiYk83U252Ly9nelVPOTQ5ODkzTFBudXVHKzBZTWpYUU5qSXowRGU0ZXk3c0doNFpHQndhR3hnZjdaK1o3K3VibGFmNjI3cDBjZks5QXFRZytndW1yYVRxcnBSMmthZ2h4STBQZERPWlRRMEYwemYxVFJXS2J1SGVIRWViWkh5K1pGeldOVGx5UlFzU2ZHRFpwQ2kwdFRYdUVSanVFSWswZnhwcndSaHlLYVlwS2ZzSmZ6ZE1VaFpuUVZOT01LVkxyUWVWbkpVcUpqajZXcm9mclVSeEtpQkN1MEh1TjBMVW1PVXJqbEpSWFR6OHd1TERVYWk0dURBOHZ6V1dOeGZ2TFMzUHpTL056c1luMTJabUhxd3N6Q3pLV3BtWW5UVXhObmowOWZQUFhNOU9uamZ6VXpNekV4cCtxNFowZHhjVlNQWXp5NE1xUGNoRjNKVStoNG9KY0J1bGZRSFBFZDdlaWozZVJTZmdtN3B3TnRERVdJMGpzT1dJNm5hZER3c2dvYVRTRE9PNVE4M3BrZUJ1SWNsc09XV0VwM1hBVTNMZ0dYZTFvaXhYbllZWnFQc1BkUDJtL2tkZVgxTVBIVXV3RndYRG51NVlEdUZUUkhmRmM0Rjg2dVlEWmhNdVdiY09wZG1WUFlTdUU5bmJKcE9LWGxZYW9takhOWURsdGlLZDF4Rld5UEJGb3BWaG5uY1dBNTdEaUhiZ1JTV0E2N0FTaVg4VGpRWFJwMjNJNkc2V0RlMFl5dXdsektQK0gxZktyb2FiaFZPYXAwdklkYlFYQ3BvMHpsT2lPQnRSVE0wMXJCRkVlNDdGM3B3YWRoajlNYThMaTBiTUFVaHNianV3Wit1d3pXdEIwZUJwYkRhK0hLZWVuRWN2NjBZejEvaWl1SE41S25YS2FLcjVRQVNyY1JsK2J6c0NzczVWdUZIZWN3elZmR2VSb1FSL3F1ZHQ5T0E1UzIwQ0hsTm5rY21JYnB1TlZ3cExrcmwzRTgwTk5TWEJwZUx6M05XNFZYbDhCNml0WXEzWEVPb2U3aGpjQnlIdWZPOFI3ZjFmRGJmWUNXMjVmR054S21jOU44YVdldmhrL3pWT0h0bFVBcjVVeHhhUmpPUE80d3hhV2NrMDUvcC9uUzlGMGIvazRaeE41NWE3VzNuTGFWTXJ0MklPeHl4dGRTek5YUzFzTDdXRmd0enk0WFY4RytON1RBZkdlRkxyZjlsMXYrTzB2YW5XdnQ1U3JxNVpidlhNczZUTGthd0JzVGNDV25qY2xwcCtYNmpsWHNuZFlSRlQrVkJDb0pWQktvSkZCSm9KSkFKWUZLQXBVRUtnbFVFcWdrVUVtZ2trQWxnVW9DbFFRcUNWUVNxQ1JRU2FDU1FDV0JTZ0tWQkNvSlZCS29KRkJKb0pKQUpZRktBcFVFS2dsVUVxZ2tVRW1na2tBbGdVb0NsUVFxQ1ZRU3FDUlFTYUNTUUNXQlNnS1ZCQ29KVkJLb0pGQkpvSkpBSllGS0FwVUVLZ2xVRXFna1VFbWdrc0RHSmZEL0FiUEhaeUY3ZWlnRkFBQUFBRWxGVGtTdVFtQ0MiPgo8c3R5bGU+KiwqOjpiZWZvcmUsKjo6YWZ0ZXJ7Ym94LXNpemluZzpib3JkZXItYm94fWh0bWwsYm9keXttYXJnaW46MDtoZWlnaHQ6MTAwZHZoO292ZXJmbG93OmhpZGRlbjt0b3VjaC1hY3Rpb246cGFuLXggcGFuLXl9PC9zdHlsZT4KPHN0eWxlPi8qISB0YWlsd2luZGNzcyB2NC4xLjE0IHwgTUlUIExpY2Vuc2UgfCBodHRwczovL3RhaWx3aW5kY3NzLmNvbSAqL0BsYXllciBwcm9wZXJ0aWVzO0BsYXllciB0aGVtZSxiYXNlLGNvbXBvbmVudHMsdXRpbGl0aWVzO0BsYXllciB0aGVtZXs6cm9vdCw6aG9zdHstLWZvbnQtc2Fuczp1aS1zYW5zLXNlcmlmLHN5c3RlbS11aSxzYW5zLXNlcmlmLCJBcHBsZSBDb2xvciBFbW9qaSIsIlNlZ29lIFVJIEVtb2ppIiwiU2Vnb2UgVUkgU3ltYm9sIiwiTm90byBDb2xvciBFbW9qaSI7LS1mb250LW1vbm86dWktbW9ub3NwYWNlLFNGTW9uby1SZWd1bGFyLE1lbmxvLG1vbm9zcGFjZTstLWNvbG9yLWFtYmVyLTQwMDpva2xjaCg4Mi44JSAuMTg5IDg0LjQyOSk7LS1jb2xvci1lbWVyYWxkLTQwMDpva2xjaCg3Ni41JSAuMTc3IDE2My4yMjMpOy0tY29sb3ItY3lhbi00MDA6b2tsY2goNzguOSUgLjE1NCAyMTEuNTMpOy0tY29sb3Itc2t5LTQwMDpva2xjaCg3NC42JSAuMTYgMjMyLjY2MSk7LS1jb2xvci12aW9sZXQtNDAwOm9rbGNoKDcwLjIlIC4xODMgMjkzLjU0MSk7LS1jb2xvci1ibGFjazojMDAwOy0tY29sb3Itd2hpdGU6I2ZmZjstLXNwYWNpbmc6LjI1cmVtOy0tZm9udC13ZWlnaHQtbWVkaXVtOjUwMDstLWZvbnQtd2VpZ2h0LXNlbWlib2xkOjYwMDstLXRyYWNraW5nLXdpZGU6LjAyNWVtOy0tbGVhZGluZy10aWdodDoxLjI1Oy0tbGVhZGluZy1zbnVnOjEuMzc1Oy0tcmFkaXVzLXhzOi4xMjVyZW07LS1yYWRpdXMtbWQ6LjM3NXJlbTstLXJhZGl1cy1sZzouNXJlbTstLXJhZGl1cy14bDouNzVyZW07LS1lYXNlLW91dDpjdWJpYy1iZXppZXIoMCwwLC4yLDEpOy0tYmx1ci1tZDoxMnB4Oy0tZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7LS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpOy0tZGVmYXVsdC1mb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpOy0tZGVmYXVsdC1tb25vLWZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7LS1jb2xvci1wYW5lbDojMWMxYzFlOy0tY29sb3ItcGFuZWwtYmc6dmFyKC0tc2VydmUtc2ltLXBhbmVsLWJnKTstLWNvbG9yLXBhbmVsLWJnLXRyYW5zbHVjZW50OnZhcigtLXNlcnZlLXNpbS1wYW5lbC1iZy10cmFuc2x1Y2VudCk7LS1jb2xvci1wYW5lbC1vdmVybGF5OiMxODE4MThhNjstLWNvbG9yLXBhbmVsLWRlZXA6IzExMTExMzstLWNvbG9yLXBhZ2U6IzBhMGEwYTstLWNvbG9yLWFjY2VudDojYTViNGZjOy0tY29sb3Itc3VjY2Vzcy1lbWVyYWxkOiMzNGQzOTk7LS1jb2xvci1kYW5nZXI6I2Y4NzE3MTstLWNvbG9yLWRhbmdlci1zb2Z0OiNmY2E1YTU7LS1jb2xvci13YXJuaW5nOiNmYmJmMjQ7LS1jb2xvci13YXJuaW5nLXNvZnQ6I2ZjZDM0ZDstLWZvbnQtc3lzdGVtOi1hcHBsZS1zeXN0ZW0sc3lzdGVtLXVpLHNhbnMtc2VyaWZ9fUBsYXllciBiYXNleyosOmFmdGVyLDpiZWZvcmV7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjowIHNvbGlkO21hcmdpbjowO3BhZGRpbmc6MH06OmJhY2tkcm9we2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6MCBzb2xpZDttYXJnaW46MDtwYWRkaW5nOjB9Ojotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbntib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOjAgc29saWQ7bWFyZ2luOjA7cGFkZGluZzowfTo6ZmlsZS1zZWxlY3Rvci1idXR0b257Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjowIHNvbGlkO21hcmdpbjowO3BhZGRpbmc6MH1odG1sLDpob3N0ey13ZWJraXQtdGV4dC1zaXplLWFkanVzdDoxMDAlO3RhYi1zaXplOjQ7bGluZS1oZWlnaHQ6MS41O2ZvbnQtZmFtaWx5OnZhcigtLWRlZmF1bHQtZm9udC1mYW1pbHksdWktc2Fucy1zZXJpZixzeXN0ZW0tdWksc2Fucy1zZXJpZiwiQXBwbGUgQ29sb3IgRW1vamkiLCJTZWdvZSBVSSBFbW9qaSIsIlNlZ29lIFVJIFN5bWJvbCIsIk5vdG8gQ29sb3IgRW1vamkiKTtmb250LWZlYXR1cmUtc2V0dGluZ3M6dmFyKC0tZGVmYXVsdC1mb250LWZlYXR1cmUtc2V0dGluZ3Msbm9ybWFsKTtmb250LXZhcmlhdGlvbi1zZXR0aW5nczp2YXIoLS1kZWZhdWx0LWZvbnQtdmFyaWF0aW9uLXNldHRpbmdzLG5vcm1hbCk7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fWhye2NvbG9yOmluaGVyaXQ7Ym9yZGVyLXRvcC13aWR0aDoxcHg7aGVpZ2h0OjB9YWJicjp3aGVyZShbdGl0bGVdKXstd2Via2l0LXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUgZG90dGVkO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUgZG90dGVkfWgxLGgyLGgzLGg0LGg1LGg2e2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OmluaGVyaXR9YXtjb2xvcjppbmhlcml0Oy13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOmluaGVyaXQ7dGV4dC1kZWNvcmF0aW9uOmluaGVyaXR9YixzdHJvbmd7Zm9udC13ZWlnaHQ6Ym9sZGVyfWNvZGUsa2JkLHNhbXAscHJle2ZvbnQtZmFtaWx5OnZhcigtLWRlZmF1bHQtbW9uby1mb250LWZhbWlseSx1aS1tb25vc3BhY2UsU0ZNb25vLVJlZ3VsYXIsTWVubG8sTW9uYWNvLENvbnNvbGFzLCJMaWJlcmF0aW9uIE1vbm8iLCJDb3VyaWVyIE5ldyIsbW9ub3NwYWNlKTtmb250LWZlYXR1cmUtc2V0dGluZ3M6dmFyKC0tZGVmYXVsdC1tb25vLWZvbnQtZmVhdHVyZS1zZXR0aW5ncyxub3JtYWwpO2ZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOnZhcigtLWRlZmF1bHQtbW9uby1mb250LXZhcmlhdGlvbi1zZXR0aW5ncyxub3JtYWwpO2ZvbnQtc2l6ZToxZW19c21hbGx7Zm9udC1zaXplOjgwJX1zdWIsc3Vwe3Bvc2l0aW9uOnJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO2ZvbnQtc2l6ZTo3NSU7bGluZS1oZWlnaHQ6MH1zdWJ7Ym90dG9tOi0uMjVlbX1zdXB7dG9wOi0uNWVtfXRhYmxle3RleHQtaW5kZW50OjA7Ym9yZGVyLWNvbG9yOmluaGVyaXQ7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlfTotbW96LWZvY3VzcmluZ3tvdXRsaW5lOmF1dG99cHJvZ3Jlc3N7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9c3VtbWFyeXtkaXNwbGF5Omxpc3QtaXRlbX1vbCx1bCxtZW51e2xpc3Qtc3R5bGU6bm9uZX1pbWcsc3ZnLHZpZGVvLGNhbnZhcyxhdWRpbyxpZnJhbWUsZW1iZWQsb2JqZWN0e2Rpc3BsYXk6YmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlfWltZyx2aWRlb3ttYXgtd2lkdGg6MTAwJTtoZWlnaHQ6YXV0b31idXR0b24saW5wdXQsc2VsZWN0LG9wdGdyb3VwLHRleHRhcmVhe2ZvbnQ6aW5oZXJpdDtmb250LWZlYXR1cmUtc2V0dGluZ3M6aW5oZXJpdDtmb250LXZhcmlhdGlvbi1zZXR0aW5nczppbmhlcml0O2xldHRlci1zcGFjaW5nOmluaGVyaXQ7Y29sb3I6aW5oZXJpdDtvcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjojMDAwMDtib3JkZXItcmFkaXVzOjB9Ojotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbntmb250OmluaGVyaXQ7Zm9udC1mZWF0dXJlLXNldHRpbmdzOmluaGVyaXQ7Zm9udC12YXJpYXRpb24tc2V0dGluZ3M6aW5oZXJpdDtsZXR0ZXItc3BhY2luZzppbmhlcml0O2NvbG9yOmluaGVyaXQ7b3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6IzAwMDA7Ym9yZGVyLXJhZGl1czowfTo6ZmlsZS1zZWxlY3Rvci1idXR0b257Zm9udDppbmhlcml0O2ZvbnQtZmVhdHVyZS1zZXR0aW5nczppbmhlcml0O2ZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOmluaGVyaXQ7bGV0dGVyLXNwYWNpbmc6aW5oZXJpdDtjb2xvcjppbmhlcml0O29wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwO2JvcmRlci1yYWRpdXM6MH06d2hlcmUoc2VsZWN0Oi13ZWJraXQtYW55KFttdWx0aXBsZV0sW3NpemVdKSkgb3B0Z3JvdXB7Zm9udC13ZWlnaHQ6Ym9sZGVyfTp3aGVyZShzZWxlY3Q6LW1vei1hbnkoW211bHRpcGxlXSxbc2l6ZV0pKSBvcHRncm91cHtmb250LXdlaWdodDpib2xkZXJ9OndoZXJlKHNlbGVjdDppcyhbbXVsdGlwbGVdLFtzaXplXSkpIG9wdGdyb3Vwe2ZvbnQtd2VpZ2h0OmJvbGRlcn06d2hlcmUoc2VsZWN0Oi13ZWJraXQtYW55KFttdWx0aXBsZV0sW3NpemVdKSkgb3B0Z3JvdXAgb3B0aW9ue3BhZGRpbmctaW5saW5lLXN0YXJ0OjIwcHh9OndoZXJlKHNlbGVjdDotbW96LWFueShbbXVsdGlwbGVdLFtzaXplXSkpIG9wdGdyb3VwIG9wdGlvbntwYWRkaW5nLWlubGluZS1zdGFydDoyMHB4fTp3aGVyZShzZWxlY3Q6aXMoW211bHRpcGxlXSxbc2l6ZV0pKSBvcHRncm91cCBvcHRpb257cGFkZGluZy1pbmxpbmUtc3RhcnQ6MjBweH06Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9ue21hcmdpbi1pbmxpbmUtZW5kOjRweH06OmZpbGUtc2VsZWN0b3ItYnV0dG9ue21hcmdpbi1pbmxpbmUtZW5kOjRweH06OnBsYWNlaG9sZGVye29wYWNpdHk6MX1Ac3VwcG9ydHMgKCBub3QgKC13ZWJraXQtYXBwZWFyYW5jZTogLWFwcGxlLXBheS1idXR0b24pKSBvciAoY29udGFpbi1pbnRyaW5zaWMtc2l6ZTogMXB4KXs6OnBsYWNlaG9sZGVye2NvbG9yOmN1cnJlbnRDb2xvcn1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpezo6cGxhY2Vob2xkZXJ7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLGN1cnJlbnRjb2xvciA1MCUsdHJhbnNwYXJlbnQpfX19dGV4dGFyZWF7cmVzaXplOnZlcnRpY2FsfTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZX06Oi13ZWJraXQtZGF0ZS1hbmQtdGltZS12YWx1ZXt0ZXh0LWFsaWduOmluaGVyaXQ7bWluLWhlaWdodDoxbGh9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXR7ZGlzcGxheTppbmxpbmUtZmxleH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1maWVsZHMtd3JhcHBlcntwYWRkaW5nOjB9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXR7cGFkZGluZy1ibG9jay1zdGFydDowO3BhZGRpbmctYmxvY2stZW5kOjB9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQteWVhci1maWVsZHtwYWRkaW5nLWJsb2NrLXN0YXJ0OjA7cGFkZGluZy1ibG9jay1lbmQ6MH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1tb250aC1maWVsZHtwYWRkaW5nLWJsb2NrLXN0YXJ0OjA7cGFkZGluZy1ibG9jay1lbmQ6MH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1kYXktZmllbGR7cGFkZGluZy1ibG9jay1zdGFydDowO3BhZGRpbmctYmxvY2stZW5kOjB9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtaG91ci1maWVsZHtwYWRkaW5nLWJsb2NrLXN0YXJ0OjA7cGFkZGluZy1ibG9jay1lbmQ6MH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taW51dGUtZmllbGR7cGFkZGluZy1ibG9jay1zdGFydDowO3BhZGRpbmctYmxvY2stZW5kOjB9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtc2Vjb25kLWZpZWxke3BhZGRpbmctYmxvY2stc3RhcnQ6MDtwYWRkaW5nLWJsb2NrLWVuZDowfTo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbGxpc2Vjb25kLWZpZWxke3BhZGRpbmctYmxvY2stc3RhcnQ6MDtwYWRkaW5nLWJsb2NrLWVuZDowfTo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1lcmlkaWVtLWZpZWxke3BhZGRpbmctYmxvY2stc3RhcnQ6MDtwYWRkaW5nLWJsb2NrLWVuZDowfTo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9ye2xpbmUtaGVpZ2h0OjF9Oi1tb3otdWktaW52YWxpZHtib3gtc2hhZG93Om5vbmV9YnV0dG9ue2FwcGVhcmFuY2U6YnV0dG9ufWlucHV0OndoZXJlKFt0eXBlPWJ1dHRvbl0sW3R5cGU9cmVzZXRdLFt0eXBlPXN1Ym1pdF0pe2FwcGVhcmFuY2U6YnV0dG9ufTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b257YXBwZWFyYW5jZTpidXR0b259OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbnthcHBlYXJhbmNlOmJ1dHRvbn06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b257aGVpZ2h0OmF1dG99Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9ue2hlaWdodDphdXRvfVtoaWRkZW5dOndoZXJlKDpub3QoW2hpZGRlbj11bnRpbC1mb3VuZF0pKXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fX1AbGF5ZXIgdXRpbGl0aWVzey5cW2NvbnRhaW5lci10eXBlXDppbmxpbmUtc2l6ZVxde2NvbnRhaW5lci10eXBlOmlubGluZS1zaXplfS5wb2ludGVyLWV2ZW50cy1hdXRve3BvaW50ZXItZXZlbnRzOmF1dG99LnBvaW50ZXItZXZlbnRzLW5vbmV7cG9pbnRlci1ldmVudHM6bm9uZX0uY29sbGFwc2V7dmlzaWJpbGl0eTpjb2xsYXBzZX0uaW52aXNpYmxle3Zpc2liaWxpdHk6aGlkZGVufS52aXNpYmxle3Zpc2liaWxpdHk6dmlzaWJsZX0uc3Itb25seXtwb3NpdGlvbjphYnNvbHV0ZTtvdmVyZmxvdzpoaWRkZW47Y2xpcC1wYXRoOmluc2V0KDUwJSk7d2hpdGUtc3BhY2U6bm93cmFwO2JvcmRlci13aWR0aDowO3dpZHRoOjFweDtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O3BhZGRpbmc6MH0uYWJzb2x1dGV7cG9zaXRpb246YWJzb2x1dGV9LmZpeGVke3Bvc2l0aW9uOmZpeGVkfS5yZWxhdGl2ZXtwb3NpdGlvbjpyZWxhdGl2ZX0uc3RhdGlje3Bvc2l0aW9uOnN0YXRpY30uc3RpY2t5e3Bvc2l0aW9uOnN0aWNreX0uaW5zZXQtMHtpbnNldDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS50b3AtMHt0b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0udG9wLTFcLzJ7dG9wOjUwJX0udG9wLTJ7dG9wOmNhbGModmFyKC0tc3BhY2luZykqMil9LnRvcC0ze3RvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS50b3AtXFsycHhcXXt0b3A6MnB4fS50b3AtXFsxOHB4XF17dG9wOjE4cHh9LnRvcC1cW2NhbGNcKDEwMFwlXCs0cHhcKVxde3RvcDpjYWxjKDEwMCUgKyA0cHgpfS50b3AtXFtjYWxjXCgxMDBcJVwrNnB4XClcXXt0b3A6Y2FsYygxMDAlICsgNnB4KX0udG9wLWZ1bGx7dG9wOjEwMCV9LnJpZ2h0LTB7cmlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0ucmlnaHQtMFwuNXtyaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0ucmlnaHQtMlwuNXtyaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjIuNSl9LnJpZ2h0LTN7cmlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0ucmlnaHQtXFs5cHhcXXtyaWdodDo5cHh9LmJvdHRvbS0we2JvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5ib3R0b20tMFwuNXtib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9LmJvdHRvbS0ze2JvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5sZWZ0LTB7bGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5sZWZ0LTFcLzJ7bGVmdDo1MCV9LmxlZnQtMlwuNXtsZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMi41KX0ubGVmdC0ze2xlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0uei0xe3otaW5kZXg6MX0uei0xMHt6LWluZGV4OjEwfS56LTIwe3otaW5kZXg6MjB9LnotMzB7ei1pbmRleDozMH0uei0zNXt6LWluZGV4OjM1fS56LTM2e3otaW5kZXg6MzZ9LnotNTB7ei1pbmRleDo1MH0uY29udGFpbmVye3dpZHRoOjEwMCV9QG1lZGlhIChtaW4td2lkdGg6NDByZW0pey5jb250YWluZXJ7bWF4LXdpZHRoOjQwcmVtfX1AbWVkaWEgKG1pbi13aWR0aDo0OHJlbSl7LmNvbnRhaW5lcnttYXgtd2lkdGg6NDhyZW19fUBtZWRpYSAobWluLXdpZHRoOjY0cmVtKXsuY29udGFpbmVye21heC13aWR0aDo2NHJlbX19QG1lZGlhIChtaW4td2lkdGg6ODByZW0pey5jb250YWluZXJ7bWF4LXdpZHRoOjgwcmVtfX1AbWVkaWEgKG1pbi13aWR0aDo5NnJlbSl7LmNvbnRhaW5lcnttYXgtd2lkdGg6OTZyZW19fS5tLTB7bWFyZ2luOmNhbGModmFyKC0tc3BhY2luZykqMCl9Li1teC0xe21hcmdpbi1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSotMSl9Lm14LTBcLjV7bWFyZ2luLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0ubXgtMVwuNXttYXJnaW4taW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqMS41KX0uLW15LTJ7bWFyZ2luLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqLTIpfS5teS0xe21hcmdpbi1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS4tbXQtMFwuNXttYXJnaW4tdG9wOmNhbGModmFyKC0tc3BhY2luZykqLS41KX0ubXQtMFwuNXttYXJnaW4tdG9wOmNhbGModmFyKC0tc3BhY2luZykqLjUpfS5tdC0xe21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxKX0ubXQtMnttYXJnaW4tdG9wOmNhbGModmFyKC0tc3BhY2luZykqMil9Lm10LVxbM3B4XF17bWFyZ2luLXRvcDozcHh9Lm1yLVxbM3B4XF17bWFyZ2luLXJpZ2h0OjNweH0ubWwtMFwuNXttYXJnaW4tbGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0ubWwtMVwuNXttYXJnaW4tbGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSl9Lm1sLWF1dG97bWFyZ2luLWxlZnQ6YXV0b30uYm94LWJvcmRlcntib3gtc2l6aW5nOmJvcmRlci1ib3h9LmJsb2Nre2Rpc3BsYXk6YmxvY2t9LmNvbnRlbnRze2Rpc3BsYXk6Y29udGVudHN9LmZsZXh7ZGlzcGxheTpmbGV4fS5ncmlke2Rpc3BsYXk6Z3JpZH0uaGlkZGVue2Rpc3BsYXk6bm9uZX0uaW5saW5le2Rpc3BsYXk6aW5saW5lfS5pbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmlubGluZS1mbGV4e2Rpc3BsYXk6aW5saW5lLWZsZXh9LnRhYmxle2Rpc3BsYXk6dGFibGV9LlxbYXNwZWN0LXJhdGlvXDoxNlwvMTFcXXthc3BlY3QtcmF0aW86MTYvMTF9LnNpemUtMVwuNXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMS41KX0uc2l6ZS0yXC41e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMi41KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS5zaXplLTNcLjV7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozLjUpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjMuNSl9LnNpemUtNHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5zaXplLTV7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KX0uc2l6ZS05e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqOSk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqOSl9LnNpemUtXFsycHhcXXt3aWR0aDoycHg7aGVpZ2h0OjJweH0uc2l6ZS1cWzE0cHhcXXt3aWR0aDoxNHB4O2hlaWdodDoxNHB4fS5zaXplLVxbMThweFxde3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHh9LnNpemUtXFsxOXB4XF17d2lkdGg6MTlweDtoZWlnaHQ6MTlweH0uc2l6ZS1mdWxse3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9LmgtMlwuNXtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS5oLTN7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMyl9LmgtM1wuNXtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozLjUpfS5oLTR7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNCl9LmgtNXtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KX0uaC01XC41e2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjUuNSl9LmgtNntoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0uaC03e2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjcpfS5oLTh7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqOCl9LmgtOXtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo5KX0uaC0xMHtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9LmgtXFszcHhcXXtoZWlnaHQ6M3B4fS5oLVxbMTNweFxde2hlaWdodDoxM3B4fS5oLVxbMTRweFxde2hlaWdodDoxNHB4fS5oLVxbMTZweFxde2hlaWdodDoxNnB4fS5oLVxbMThweFxde2hlaWdodDoxOHB4fS5oLVxbMjJweFxde2hlaWdodDoyMnB4fS5oLVxbMjZweFxde2hlaWdodDoyNnB4fS5oLVxbMzBweFxde2hlaWdodDozMHB4fS5oLWR2aHtoZWlnaHQ6MTAwZHZofS5oLWZ1bGx7aGVpZ2h0OjEwMCV9LmgtcHh7aGVpZ2h0OjFweH0ubWF4LWgtOTB7bWF4LWhlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjkwKX0ubWF4LWgtXFsyNjBweFxde21heC1oZWlnaHQ6MjYwcHh9Lm1heC1oLVxbMzIwcHhcXXttYXgtaGVpZ2h0OjMyMHB4fS5taW4taC0we21pbi1oZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0ubWluLWgtXFsyMnB4XF17bWluLWhlaWdodDoyMnB4fS5taW4taC1cWzMwcHhcXXttaW4taGVpZ2h0OjMwcHh9Lm1pbi1oLVxbMzZweFxde21pbi1oZWlnaHQ6MzZweH0ubWluLWgtXFs0NHB4XF17bWluLWhlaWdodDo0NHB4fS5taW4taC1weHttaW4taGVpZ2h0OjFweH0udy0xe3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMSl9LnctMlwuNXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjIuNSl9LnctM3t3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS53LTNcLjV7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozLjUpfS53LTR7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0KX0udy01e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNSl9LnctNnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS53LTd7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo3KX0udy04e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqOCl9LnctOXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjkpfS53LTEwe3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMTApfS53LTIxe3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMjEpfS53LVxbMjJweFxde3dpZHRoOjIycHh9LnctXFszMHB4XF17d2lkdGg6MzBweH0udy1cWzMyXCVcXXt3aWR0aDozMiV9LnctXFszNlwlXF17d2lkdGg6MzYlfS53LVxbNDBcJVxde3dpZHRoOjQwJX0udy1cWzQyXCVcXXt3aWR0aDo0MiV9LnctXFs0NlwlXF17d2lkdGg6NDYlfS53LVxbNDhcJVxde3dpZHRoOjQ4JX0udy1cWzU4XCVcXXt3aWR0aDo1OCV9LnctXFs2MlwlXF17d2lkdGg6NjIlfS53LVxbNjhcJVxde3dpZHRoOjY4JX0udy1cWzcwXCVcXXt3aWR0aDo3MCV9LnctXFs3NFwlXF17d2lkdGg6NzQlfS53LVxbMTIwcHhcXXt3aWR0aDoxMjBweH0udy1cW2NhbGNcKDEwMFwlXCs4cHhcKVxde3dpZHRoOmNhbGMoMTAwJSArIDhweCl9LnctXFttaW5cKDMyMHB4XCxjYWxjXCgxMDB2dy0zMnB4XClcKVxde3dpZHRoOm1pbigzMjBweCwxMDB2dyAtIDMycHgpfS53LWZ1bGx7d2lkdGg6MTAwJX0udy1tYXh7d2lkdGg6bWF4LWNvbnRlbnR9LnctcHh7d2lkdGg6MXB4fS5tYXgtdy05MHttYXgtd2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo5MCl9Lm1heC13LTEyMHttYXgtd2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMjApfS5tYXgtdy1cWzE1MHB4XF17bWF4LXdpZHRoOjE1MHB4fS5tYXgtdy1cWzIyMHB4XF17bWF4LXdpZHRoOjIyMHB4fS5tYXgtdy1cWzM2MHB4XF17bWF4LXdpZHRoOjM2MHB4fS5tYXgtdy1mdWxse21heC13aWR0aDoxMDAlfS5taW4tdy0we21pbi13aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5taW4tdy1cWzU2cHhcXXttaW4td2lkdGg6NTZweH0ubWluLXctXFsyMDBweFxde21pbi13aWR0aDoyMDBweH0ubWluLXctXFsyMjBweFxde21pbi13aWR0aDoyMjBweH0ubWluLXctcHh7bWluLXdpZHRoOjFweH0uZmxleC0xe2ZsZXg6MX0uc2hyaW5re2ZsZXgtc2hyaW5rOjF9LnNocmluay0we2ZsZXgtc2hyaW5rOjB9Lmdyb3d7ZmxleC1ncm93OjF9Li10cmFuc2xhdGUteC0xXC8yey0tdHctdHJhbnNsYXRlLXg6Y2FsYyhjYWxjKDEvMioxMDAlKSotMSk7dHJhbnNsYXRlOnZhcigtLXR3LXRyYW5zbGF0ZS14KXZhcigtLXR3LXRyYW5zbGF0ZS15KX0udHJhbnNsYXRlLXgtMXstLXR3LXRyYW5zbGF0ZS14OmNhbGModmFyKC0tc3BhY2luZykqMSk7dHJhbnNsYXRlOnZhcigtLXR3LXRyYW5zbGF0ZS14KXZhcigtLXR3LXRyYW5zbGF0ZS15KX0uLXRyYW5zbGF0ZS15LTFcLzJ7LS10dy10cmFuc2xhdGUteTpjYWxjKGNhbGMoMS8yKjEwMCUpKi0xKTt0cmFuc2xhdGU6dmFyKC0tdHctdHJhbnNsYXRlLXgpdmFyKC0tdHctdHJhbnNsYXRlLXkpfS50cmFuc2Zvcm17dHJhbnNmb3JtOnZhcigtLXR3LXJvdGF0ZS14LCl2YXIoLS10dy1yb3RhdGUteSwpdmFyKC0tdHctcm90YXRlLXosKXZhcigtLXR3LXNrZXcteCwpdmFyKC0tdHctc2tldy15LCl9LmFuaW1hdGUtXFtncmlkLXNwaW5fMFwuN3NfbGluZWFyX2luZmluaXRlXF17YW5pbWF0aW9uOmdyaWQtc3BpbiAuN3MgbGluZWFyIGluZmluaXRlfS5hbmltYXRlLVxbZ3JpZC1zcGluXzBcLjhzX2xpbmVhcl9pbmZpbml0ZVxde2FuaW1hdGlvbjpncmlkLXNwaW4gLjhzIGxpbmVhciBpbmZpbml0ZX0uY3Vyc29yLWNvbC1yZXNpemV7Y3Vyc29yOmNvbC1yZXNpemV9LmN1cnNvci1kZWZhdWx0e2N1cnNvcjpkZWZhdWx0fS5jdXJzb3ItZ3JhYntjdXJzb3I6Z3JhYn0uY3Vyc29yLW5vdC1hbGxvd2Vke2N1cnNvcjpub3QtYWxsb3dlZH0uY3Vyc29yLXBvaW50ZXJ7Y3Vyc29yOnBvaW50ZXJ9LmN1cnNvci1wcm9ncmVzc3tjdXJzb3I6cHJvZ3Jlc3N9LmN1cnNvci10ZXh0e2N1cnNvcjp0ZXh0fS50b3VjaC1tYW5pcHVsYXRpb257dG91Y2gtYWN0aW9uOm1hbmlwdWxhdGlvbn0udG91Y2gtbm9uZXt0b3VjaC1hY3Rpb246bm9uZX0ucmVzaXple3Jlc2l6ZTpib3RofS5saXN0LW5vbmV7bGlzdC1zdHlsZS10eXBlOm5vbmV9LmFwcGVhcmFuY2Utbm9uZXthcHBlYXJhbmNlOm5vbmV9LlxbZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zXDoxZnJfMWZyXzFmclxde2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyIDFmcn0uXFtncmlkLXRlbXBsYXRlLWNvbHVtbnNcOmF1dG9fMWZyX2F1dG9cXXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6YXV0byAxZnIgYXV0b30uXFtncmlkLXRlbXBsYXRlLWNvbHVtbnNcOmF1dG9fbWlubWF4XCgwXCwxZnJcKV9hdXRvXF17Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOmF1dG8gbWlubWF4KDAsMWZyKWF1dG99LmdyaWQtY29scy0ye2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMixtaW5tYXgoMCwxZnIpKX0uZ3JpZC1jb2xzLVxbNTZweF8xZnJfYXV0b1xde2dyaWQtdGVtcGxhdGUtY29sdW1uczo1NnB4IDFmciBhdXRvfS5mbGV4LWNvbHtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LmZsZXgtcm93e2ZsZXgtZGlyZWN0aW9uOnJvd30uZmxleC1ub3dyYXB7ZmxleC13cmFwOm5vd3JhcH0ucGxhY2UtaXRlbXMtY2VudGVye3BsYWNlLWl0ZW1zOiBjZW50ZXJ9Lml0ZW1zLWJhc2VsaW5le2FsaWduLWl0ZW1zOmJhc2VsaW5lfS5pdGVtcy1jZW50ZXJ7YWxpZ24taXRlbXM6IGNlbnRlcn0uaXRlbXMtc3RhcnR7YWxpZ24taXRlbXM6IGZsZXgtc3RhcnR9Lml0ZW1zLXN0cmV0Y2h7YWxpZ24taXRlbXM6c3RyZXRjaH0uanVzdGlmeS1iZXR3ZWVue2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS5qdXN0aWZ5LWNlbnRlcntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5qdXN0aWZ5LWVuZHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9Lmp1c3RpZnktc3RhcnR7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9LmdhcC0we2dhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5nYXAtMFwuNXtnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9LmdhcC0xe2dhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5nYXAtMVwuNXtnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxLjUpfS5nYXAtMntnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0uZ2FwLTJcLjV7Z2FwOmNhbGModmFyKC0tc3BhY2luZykqMi41KX0uZ2FwLTN7Z2FwOmNhbGModmFyKC0tc3BhY2luZykqMyl9LmdhcC01e2dhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjUpfS5nYXAtXFs1cHhcXXtnYXA6NXB4fS5nYXAtcHh7Z2FwOjFweH0uZ2FwLXgtM3tjb2x1bW4tZ2FwOmNhbGModmFyKC0tc3BhY2luZykqMyl9LmdhcC15LTBcLjV7cm93LWdhcDpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0uc2VsZi1jZW50ZXJ7YWxpZ24tc2VsZjogY2VudGVyfS5qdXN0aWZ5LXNlbGYtZW5ke2p1c3RpZnktc2VsZjpmbGV4LWVuZH0udHJ1bmNhdGV7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5vdmVyZmxvdy1oaWRkZW57b3ZlcmZsb3c6aGlkZGVufS5vdmVyZmxvdy15LWF1dG97b3ZlcmZsb3cteTphdXRvfS5vdmVyZmxvdy15LWhpZGRlbntvdmVyZmxvdy15OmhpZGRlbn0ucm91bmRlZHtib3JkZXItcmFkaXVzOi4yNXJlbX0ucm91bmRlZC1cWzJweFxde2JvcmRlci1yYWRpdXM6MnB4fS5yb3VuZGVkLVxbM3B4XF17Ym9yZGVyLXJhZGl1czozcHh9LnJvdW5kZWQtXFs0cHhcXXtib3JkZXItcmFkaXVzOjRweH0ucm91bmRlZC1cWzVweFxde2JvcmRlci1yYWRpdXM6NXB4fS5yb3VuZGVkLVxbN3B4XF17Ym9yZGVyLXJhZGl1czo3cHh9LnJvdW5kZWQtXFs4cHhcXXtib3JkZXItcmFkaXVzOjhweH0ucm91bmRlZC1cWzlweFxde2JvcmRlci1yYWRpdXM6OXB4fS5yb3VuZGVkLVxbMTBweFxde2JvcmRlci1yYWRpdXM6MTBweH0ucm91bmRlZC1cWzE0cHhcXXtib3JkZXItcmFkaXVzOjE0cHh9LnJvdW5kZWQtZnVsbHtib3JkZXItcmFkaXVzOjMuNDAyODJlMzhweH0ucm91bmRlZC1sZ3tib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1sZyl9LnJvdW5kZWQtbWR7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWQpfS5yb3VuZGVkLW5vbmV7Ym9yZGVyLXJhZGl1czowfS5yb3VuZGVkLXhse2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXhsKX0ucm91bmRlZC14c3tib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy14cyl9LnJvdW5kZWQtdC1cWzEwcHhcXXtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjEwcHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MTBweH0uYm9yZGVye2JvcmRlci1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci13aWR0aDoxcHh9LmJvcmRlci0we2JvcmRlci1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci13aWR0aDowfS5ib3JkZXItMntib3JkZXItc3R5bGU6dmFyKC0tdHctYm9yZGVyLXN0eWxlKTtib3JkZXItd2lkdGg6MnB4fS5ib3JkZXItdHtib3JkZXItdG9wLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXRvcC13aWR0aDoxcHh9LmJvcmRlci1ye2JvcmRlci1yaWdodC1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci1yaWdodC13aWR0aDoxcHh9LmJvcmRlci1ie2JvcmRlci1ib3R0b20tc3R5bGU6dmFyKC0tdHctYm9yZGVyLXN0eWxlKTtib3JkZXItYm90dG9tLXdpZHRoOjFweH0uYm9yZGVyLWRhc2hlZHstLXR3LWJvcmRlci1zdHlsZTpkYXNoZWQ7Ym9yZGVyLXN0eWxlOmRhc2hlZH0uYm9yZGVyLW5vbmV7LS10dy1ib3JkZXItc3R5bGU6bm9uZTtib3JkZXItc3R5bGU6bm9uZX0uXCFib3JkZXItXFtyZ2JhXCgxMFwsMTMyXCwyNTVcLDBcLjZcKVxde2JvcmRlci1jb2xvcjojMGE4NGZmOTkhaW1wb3J0YW50fS5ib3JkZXItXFtcIzNiNWY5OVxde2JvcmRlci1jb2xvcjojM2I1Zjk5fS5ib3JkZXItXFtcIzVmNjI2OFxde2JvcmRlci1jb2xvcjojNWY2MjY4fS5ib3JkZXItXFtcIzIyMlxde2JvcmRlci1jb2xvcjojMjIyfS5ib3JkZXItXFtcI2ZmNDUzYVxdXC81MHtib3JkZXItY29sb3I6I2ZmNDUzYTgwO2JvcmRlci1jb2xvcjpjb2xvcihkaXNwbGF5LXAzIC45MjI2NzMgLjMzMzEzNCAuMjcxNTEvLjUpO2JvcmRlci1jb2xvcjpsYWIoNTguNzYyOCUgNjkuODQ2NyA1MC4zODg2Ly41KX0uYm9yZGVyLWFjY2VudHtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItYWNjZW50KX0uYm9yZGVyLWRhbmdlclwvMjB7Ym9yZGVyLWNvbG9yOiNmODcxNzEzM31Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ib3JkZXItZGFuZ2VyXC8yMHtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLWRhbmdlcikyMCUsdHJhbnNwYXJlbnQpfX0uYm9yZGVyLWRhbmdlclwvMzB7Ym9yZGVyLWNvbG9yOiNmODcxNzE0ZH1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ib3JkZXItZGFuZ2VyXC8zMHtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLWRhbmdlcikzMCUsdHJhbnNwYXJlbnQpfX0uYm9yZGVyLXdhcm5pbmdcLzI1e2JvcmRlci1jb2xvcjojZmJiZjI0NDB9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYm9yZGVyLXdhcm5pbmdcLzI1e2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2FybmluZykyNSUsdHJhbnNwYXJlbnQpfX0uYm9yZGVyLXdoaXRle2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci13aGl0ZSl9LmJvcmRlci13aGl0ZVwvOHtib3JkZXItY29sb3I6I2ZmZmZmZjE0fUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJvcmRlci13aGl0ZVwvOHtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTglLHRyYW5zcGFyZW50KX19LmJvcmRlci13aGl0ZVwvMTB7Ym9yZGVyLWNvbG9yOiNmZmZmZmYxYX1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ib3JkZXItd2hpdGVcLzEwe2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpMTAlLHRyYW5zcGFyZW50KX19LmJvcmRlci13aGl0ZVwvMTJ7Ym9yZGVyLWNvbG9yOiNmZmZmZmYxZn1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ib3JkZXItd2hpdGVcLzEye2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpMTIlLHRyYW5zcGFyZW50KX19LmJvcmRlci13aGl0ZVwvMjB7Ym9yZGVyLWNvbG9yOiNmZmYzfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJvcmRlci13aGl0ZVwvMjB7Ym9yZGVyLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkyMCUsdHJhbnNwYXJlbnQpfX0uYm9yZGVyLXdoaXRlXC8yNXtib3JkZXItY29sb3I6I2ZmZmZmZjQwfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJvcmRlci13aGl0ZVwvMjV7Ym9yZGVyLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkyNSUsdHJhbnNwYXJlbnQpfX0uYm9yZGVyLXdoaXRlXC8zMHtib3JkZXItY29sb3I6I2ZmZmZmZjRkfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJvcmRlci13aGl0ZVwvMzB7Ym9yZGVyLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkzMCUsdHJhbnNwYXJlbnQpfX0uYm9yZGVyLXdoaXRlXC9cWzBcLjA2XF17Ym9yZGVyLWNvbG9yOiNmZmZmZmYwZn1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ib3JkZXItd2hpdGVcL1xbMFwuMDZcXXtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTYlLHRyYW5zcGFyZW50KX19LmJvcmRlci10LVxbXCNmNGY0ZjVcXXtib3JkZXItdG9wLWNvbG9yOiNmNGY0ZjV9LmJvcmRlci10LXdoaXRle2JvcmRlci10b3AtY29sb3I6dmFyKC0tY29sb3Itd2hpdGUpfS5ib3JkZXItdC13aGl0ZVwvNjB7Ym9yZGVyLXRvcC1jb2xvcjojZmZmOX1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ib3JkZXItdC13aGl0ZVwvNjB7Ym9yZGVyLXRvcC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNjAlLHRyYW5zcGFyZW50KX19LlwhYmctXFtyZ2JhXCgxMFwsMTMyXCwyNTVcLDBcLjA4XClcXXtiYWNrZ3JvdW5kLWNvbG9yOiMwYTg0ZmYxNCFpbXBvcnRhbnR9LlwhYmctd2hpdGVcL1xbMFwuMTJcXXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYxZiFpbXBvcnRhbnR9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuXCFiZy13aGl0ZVwvXFswXC4xMlxde2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTEyJSx0cmFuc3BhcmVudCkhaW1wb3J0YW50fX0uYmctXFtcIzBhMGEwY1xde2JhY2tncm91bmQtY29sb3I6IzBhMGEwY30uYmctXFtcIzBhODRmZlxde2JhY2tncm91bmQtY29sb3I6IzBhODRmZn0uYmctXFtcIzFjMWMxY1xde2JhY2tncm91bmQtY29sb3I6IzFjMWMxY30uYmctXFtcIzZlNmU3Mlxde2JhY2tncm91bmQtY29sb3I6IzZlNmU3Mn0uYmctXFtcIzlhOWE5ZVxde2JhY2tncm91bmQtY29sb3I6IzlhOWE5ZX0uYmctXFtcIzIwMmIzYVxde2JhY2tncm91bmQtY29sb3I6IzIwMmIzYX0uYmctXFtcIzIyMlxde2JhY2tncm91bmQtY29sb3I6IzIyMn0uYmctXFtcIzI2MzY0Y1xde2JhY2tncm91bmQtY29sb3I6IzI2MzY0Y30uYmctXFtcIzEwMTAxMFxde2JhY2tncm91bmQtY29sb3I6IzEwMTAxMH0uYmctXFtcI2Y4NzE3MVxde2JhY2tncm91bmQtY29sb3I6I2Y4NzE3MX0uYmctXFtcI2ZmNDUzYVxdXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOiNmZjQ1M2ExYTtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yKGRpc3BsYXktcDMgLjkyMjY3MyAuMzMzMTM0IC4yNzE1MS8uMSk7YmFja2dyb3VuZC1jb2xvcjpsYWIoNTguNzYyOCUgNjkuODQ2NyA1MC4zODg2Ly4xKX0uYmctXFtyZ2JhXCgxMFwsMTMyXCwyNTVcLDBcLjIyXClcXXtiYWNrZ3JvdW5kLWNvbG9yOiMwYTg0ZmYzOH0uYmctXFtyZ2JhXCg5OVwsMTAyXCwyNDFcLDBcLjE4XClcXXtiYWNrZ3JvdW5kLWNvbG9yOiM2MzY2ZjEyZX0uYmctYWNjZW50e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYWNjZW50KX0uYmctYmxhY2t7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1ibGFjayl9LmJnLWJsYWNrXC85MHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwMDBlNn1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy1ibGFja1wvOTB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3ItYmxhY2spOTAlLHRyYW5zcGFyZW50KX19LmJnLWRhbmdlci1zb2Z0e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItZGFuZ2VyLXNvZnQpfS5iZy1kYW5nZXJcLzEwe2JhY2tncm91bmQtY29sb3I6I2Y4NzE3MTFhfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLWRhbmdlclwvMTB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3ItZGFuZ2VyKTEwJSx0cmFuc3BhcmVudCl9fS5iZy1wYWdle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcGFnZSl9LmJnLXBhbmVse2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcGFuZWwpfS5iZy1wYW5lbC1iZ3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXBhbmVsLWJnKX0uYmctcGFuZWwtYmctdHJhbnNsdWNlbnR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wYW5lbC1iZy10cmFuc2x1Y2VudCl9LmJnLXBhbmVsLWRlZXB7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wYW5lbC1kZWVwKX0uYmctcGFuZWwtb3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXBhbmVsLW92ZXJsYXkpfS5iZy1zdWNjZXNzLWVtZXJhbGR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1zdWNjZXNzLWVtZXJhbGQpfS5iZy10cmFuc3BhcmVudHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5iZy13YXJuaW5nXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOiNmYmJmMjQxYX1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy13YXJuaW5nXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13YXJuaW5nKTEwJSx0cmFuc3BhcmVudCl9fS5iZy13aGl0ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXdoaXRlKX0uYmctd2hpdGVcLzZ7YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMGZ9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctd2hpdGVcLzZ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNiUsdHJhbnNwYXJlbnQpfX0uYmctd2hpdGVcLzh7YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMTR9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctd2hpdGVcLzh7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpOCUsdHJhbnNwYXJlbnQpfX0uYmctd2hpdGVcLzEwe2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjFhfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXdoaXRlXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkxMCUsdHJhbnNwYXJlbnQpfX0uYmctd2hpdGVcLzEye2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjFmfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXdoaXRlXC8xMntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkxMiUsdHJhbnNwYXJlbnQpfX0uYmctd2hpdGVcLzE1e2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjI2fUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXdoaXRlXC8xNXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkxNSUsdHJhbnNwYXJlbnQpfX0uYmctd2hpdGVcLzIwe2JhY2tncm91bmQtY29sb3I6I2ZmZjN9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctd2hpdGVcLzIwe2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTIwJSx0cmFuc3BhcmVudCl9fS5iZy13aGl0ZVwvNDB7YmFja2dyb3VuZC1jb2xvcjojZmZmNn1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy13aGl0ZVwvNDB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNDAlLHRyYW5zcGFyZW50KX19LmJnLXdoaXRlXC81MHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY4MH1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy13aGl0ZVwvNTB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNTAlLHRyYW5zcGFyZW50KX19LmJnLXdoaXRlXC9cWzBcLjAzXF17YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMDh9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctd2hpdGVcL1xbMFwuMDNcXXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkzJSx0cmFuc3BhcmVudCl9fS5iZy13aGl0ZVwvXFswXC4wNFxde2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjBhfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXdoaXRlXC9cWzBcLjA0XF17YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNCUsdHJhbnNwYXJlbnQpfX0uYmctd2hpdGVcL1xbMFwuMDZcXXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwZn1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy13aGl0ZVwvXFswXC4wNlxde2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTYlLHRyYW5zcGFyZW50KX19LmJnLXdoaXRlXC9cWzBcLjA4XF17YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMTR9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctd2hpdGVcL1xbMFwuMDhcXXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk4JSx0cmFuc3BhcmVudCl9fS5iZy13aGl0ZVwvXFswXC4xMlxde2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjFmfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXdoaXRlXC9cWzBcLjEyXF17YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpMTIlLHRyYW5zcGFyZW50KX19LmJnLXdoaXRlXC9cWzBcLjE2XF17YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMjl9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctd2hpdGVcL1xbMFwuMTZcXXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkxNiUsdHJhbnNwYXJlbnQpfX0uYmctXFtsaW5lYXItZ3JhZGllbnRcKDE0NWRlZ1wsXCMyNTNhNWZcLFwjMTYyMTMyXClcXXtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxNDVkZWcsIzI1M2E1ZiwjMTYyMTMyKX0uYmctXFtsaW5lYXItZ3JhZGllbnRcKHRvX2JvdHRvbVwsXCMxYzFjMWVfMFwlXCxyZ2JhXCgyOFwsMjhcLDMwXCwwXClfMTAwXCVcKVxde2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KCMxYzFjMWUgMCUsIzFjMWMxZTAwIDEwMCUpfS5iZy1cW2xpbmVhci1ncmFkaWVudFwodG9fcmlnaHRcLHJnYmFcKDI4XCwyOFwsMzBcLDBcKV8wXCVcLFwjMWMxYzFlXzU1XCVcKVxde2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDkwZGVnLCMxYzFjMWUwMCAwJSwjMWMxYzFlIDU1JSl9LmJnLVxbbGluZWFyLWdyYWRpZW50XCh0b190b3BcLFwjMWMxYzFlXzBcJVwscmdiYVwoMjhcLDI4XCwzMFwsMFwpXzEwMFwlXClcXXtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgjMWMxYzFlMDAgMCUsIzFjMWMxZSAxMDAlKX0ub2JqZWN0LWNvbnRhaW57b2JqZWN0LWZpdDpjb250YWlufS5vYmplY3QtY292ZXJ7b2JqZWN0LWZpdDpjb3Zlcn0ucC0we3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0ucC0wXC41e3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9LnAtMXtwYWRkaW5nOmNhbGModmFyKC0tc3BhY2luZykqMSl9LnAtM1wuNXtwYWRkaW5nOmNhbGModmFyKC0tc3BhY2luZykqMy41KX0ucC02e3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0ucHgtMFwuNXtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0ucHgtMXtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5weC0xXC41e3BhZGRpbmctaW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqMS41KX0ucHgtMntwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5weC0yXC41e3BhZGRpbmctaW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqMi41KX0ucHgtM3twYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5weC0zXC41e3BhZGRpbmctaW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqMy41KX0ucHgtNHtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5weC01e3BhZGRpbmctaW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqNSl9LnB4LVxbNVwuNXB4XF17cGFkZGluZy1pbmxpbmUtc3RhcnQ6NS41cHg7cGFkZGluZy1pbmxpbmUtZW5kOjUuNXB4fS5weC1cWzdweFxde3BhZGRpbmctaW5saW5lLXN0YXJ0OjdweDtwYWRkaW5nLWlubGluZS1lbmQ6N3B4fS5weS0wXC41e3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9LnB5LTF7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5weS0xXC41e3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxLjUpfS5weS0ye3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ucHktMlwuNXtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqMi41KX0ucHktNHtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqNCl9LnB5LTZ7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5weS1cWzJweFxde3BhZGRpbmctYmxvY2stc3RhcnQ6MnB4O3BhZGRpbmctYmxvY2stZW5kOjJweH0ucHktXFszcHhcXXtwYWRkaW5nLWJsb2NrLXN0YXJ0OjNweDtwYWRkaW5nLWJsb2NrLWVuZDozcHh9LnB5LVxbNXB4XF17cGFkZGluZy1ibG9jay1zdGFydDo1cHg7cGFkZGluZy1ibG9jay1lbmQ6NXB4fS5weS1cWzdweFxde3BhZGRpbmctYmxvY2stc3RhcnQ6N3B4O3BhZGRpbmctYmxvY2stZW5kOjdweH0ucHQtMFwuNXtwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0ucHQtMXtwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5wdC0xXC41e3BhZGRpbmctdG9wOmNhbGModmFyKC0tc3BhY2luZykqMS41KX0ucHQtMlwuNXtwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjIuNSl9LnB0LTE2e3BhZGRpbmctdG9wOmNhbGModmFyKC0tc3BhY2luZykqMTYpfS5wci0ye3BhZGRpbmctcmlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ucHItM1wuNXtwYWRkaW5nLXJpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMy41KX0ucHItXFsyNnB4XF17cGFkZGluZy1yaWdodDoyNnB4fS5wYi0wXC41e3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqLjUpfS5wYi0xe3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMSl9LnBiLTFcLjV7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSoxLjUpfS5wYi0ye3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMil9LnBiLTZ7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0ucGItXFsycHhcXXtwYWRkaW5nLWJvdHRvbToycHh9LnBsLTJ7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMil9LnBsLTJcLjV7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMi41KX0ucGwtM3twYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0ucGwtN3twYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo3KX0ucGwtXFsyNnB4XF17cGFkZGluZy1sZWZ0OjI2cHh9LnRleHQtY2VudGVye3RleHQtYWxpZ246Y2VudGVyfS50ZXh0LWxlZnR7dGV4dC1hbGlnbjpsZWZ0fS50ZXh0LXJpZ2h0e3RleHQtYWxpZ246cmlnaHR9LlxbZm9udC1mYW1pbHlcOi1hcHBsZS1zeXN0ZW1cLHN5c3RlbS11aVwsc2Fucy1zZXJpZlxde2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sc3lzdGVtLXVpLEJsaW5rTWFjU3lzdGVtRm9udCxTZWdvZSBVSSxSb2JvdG8sTm90byBTYW5zLFVidW50dSxDYW50YXJlbGwsSGVsdmV0aWNhIE5ldWUsc2Fucy1zZXJpZn0uZm9udC1cW2luaGVyaXRcXXtmb250LWZhbWlseTppbmhlcml0fS5mb250LW1vbm97Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKX0uZm9udC1zeXN0ZW17Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1zeXN0ZW0pfS50ZXh0LVxbOXB4XF17Zm9udC1zaXplOjlweH0udGV4dC1cWzEwcHhcXXtmb250LXNpemU6MTBweH0udGV4dC1cWzExXC41cHhcXXtmb250LXNpemU6MTEuNXB4fS50ZXh0LVxbMTFweFxde2ZvbnQtc2l6ZToxMXB4fS50ZXh0LVxbMTJweFxde2ZvbnQtc2l6ZToxMnB4fS50ZXh0LVxbMTNweFxde2ZvbnQtc2l6ZToxM3B4fS50ZXh0LVxbMTRweFxde2ZvbnQtc2l6ZToxNHB4fS50ZXh0LVxbMTdweFxde2ZvbnQtc2l6ZToxN3B4fS50ZXh0LVxbMThweFxde2ZvbnQtc2l6ZToxOHB4fS5sZWFkaW5nLVxbMVwuNVxdey0tdHctbGVhZGluZzoxLjU7bGluZS1oZWlnaHQ6MS41fS5sZWFkaW5nLVxbMVwuMzVcXXstLXR3LWxlYWRpbmc6MS4zNTtsaW5lLWhlaWdodDoxLjM1fS5sZWFkaW5nLW5vbmV7LS10dy1sZWFkaW5nOjE7bGluZS1oZWlnaHQ6MX0ubGVhZGluZy1zbnVney0tdHctbGVhZGluZzp2YXIoLS1sZWFkaW5nLXNudWcpO2xpbmUtaGVpZ2h0OnZhcigtLWxlYWRpbmctc251Zyl9LmxlYWRpbmctdGlnaHR7LS10dy1sZWFkaW5nOnZhcigtLWxlYWRpbmctdGlnaHQpO2xpbmUtaGVpZ2h0OnZhcigtLWxlYWRpbmctdGlnaHQpfS5mb250LW1lZGl1bXstLXR3LWZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7Zm9udC13ZWlnaHQ6dmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKX0uZm9udC1zZW1pYm9sZHstLXR3LWZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtmb250LXdlaWdodDp2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCl9LnRyYWNraW5nLVxbMFwuMWVtXF17LS10dy10cmFja2luZzouMWVtO2xldHRlci1zcGFjaW5nOi4xZW19LnRyYWNraW5nLVxbMFwuMDJlbVxdey0tdHctdHJhY2tpbmc6LjAyZW07bGV0dGVyLXNwYWNpbmc6LjAyZW19LnRyYWNraW5nLVxbMFwuMDRlbVxdey0tdHctdHJhY2tpbmc6LjA0ZW07bGV0dGVyLXNwYWNpbmc6LjA0ZW19LnRyYWNraW5nLVxbMFwuMDZlbVxdey0tdHctdHJhY2tpbmc6LjA2ZW07bGV0dGVyLXNwYWNpbmc6LjA2ZW19LnRyYWNraW5nLVxbMFwuMDhlbVxdey0tdHctdHJhY2tpbmc6LjA4ZW07bGV0dGVyLXNwYWNpbmc6LjA4ZW19LnRyYWNraW5nLXdpZGV7LS10dy10cmFja2luZzp2YXIoLS10cmFja2luZy13aWRlKTtsZXR0ZXItc3BhY2luZzp2YXIoLS10cmFja2luZy13aWRlKX0uYnJlYWstd29yZHN7b3ZlcmZsb3ctd3JhcDpicmVhay13b3JkfS50ZXh0LWVsbGlwc2lze3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9LndoaXRlc3BhY2Utbm93cmFwe3doaXRlLXNwYWNlOm5vd3JhcH0uXCF0ZXh0LXdoaXRle2NvbG9yOnZhcigtLWNvbG9yLXdoaXRlKSFpbXBvcnRhbnR9LnRleHQtXFtcIzBhMGEwY1xde2NvbG9yOiMwYTBhMGN9LnRleHQtXFtcIzhlOGU5M1xde2NvbG9yOiM4ZThlOTN9LnRleHQtXFtcIzM0ZDM5OVxde2NvbG9yOiMzNGQzOTl9LnRleHQtXFtcIzA2MjAxOFxde2NvbG9yOiMwNjIwMTh9LnRleHQtXFtcI2M4ZDdmZlxde2NvbG9yOiNjOGQ3ZmZ9LnRleHQtXFtcI2QyZTdmZlxde2NvbG9yOiNkMmU3ZmZ9LnRleHQtXFtcI2ZmYjNhZFxde2NvbG9yOiNmZmIzYWR9LnRleHQtYWNjZW50e2NvbG9yOnZhcigtLWNvbG9yLWFjY2VudCl9LnRleHQtYW1iZXItNDAwe2NvbG9yOnZhcigtLWNvbG9yLWFtYmVyLTQwMCl9LnRleHQtY3lhbi00MDB7Y29sb3I6dmFyKC0tY29sb3ItY3lhbi00MDApfS50ZXh0LWRhbmdlcntjb2xvcjp2YXIoLS1jb2xvci1kYW5nZXIpfS50ZXh0LWRhbmdlci1zb2Z0e2NvbG9yOnZhcigtLWNvbG9yLWRhbmdlci1zb2Z0KX0udGV4dC1lbWVyYWxkLTQwMHtjb2xvcjp2YXIoLS1jb2xvci1lbWVyYWxkLTQwMCl9LnRleHQtc2t5LTQwMHtjb2xvcjp2YXIoLS1jb2xvci1za3ktNDAwKX0udGV4dC12aW9sZXQtNDAwe2NvbG9yOnZhcigtLWNvbG9yLXZpb2xldC00MDApfS50ZXh0LXdhcm5pbmd7Y29sb3I6dmFyKC0tY29sb3Itd2FybmluZyl9LnRleHQtd2FybmluZy1zb2Z0e2NvbG9yOnZhcigtLWNvbG9yLXdhcm5pbmctc29mdCl9LnRleHQtd2hpdGV7Y29sb3I6dmFyKC0tY29sb3Itd2hpdGUpfS50ZXh0LXdoaXRlXC8zMHtjb2xvcjojZmZmZmZmNGR9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC13aGl0ZVwvMzB7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTMwJSx0cmFuc3BhcmVudCl9fS50ZXh0LXdoaXRlXC8zNXtjb2xvcjojZmZmZmZmNTl9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC13aGl0ZVwvMzV7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTM1JSx0cmFuc3BhcmVudCl9fS50ZXh0LXdoaXRlXC80MHtjb2xvcjojZmZmNn1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey50ZXh0LXdoaXRlXC80MHtjb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNDAlLHRyYW5zcGFyZW50KX19LnRleHQtd2hpdGVcLzQ1e2NvbG9yOiNmZmZmZmY3M31Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey50ZXh0LXdoaXRlXC80NXtjb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNDUlLHRyYW5zcGFyZW50KX19LnRleHQtd2hpdGVcLzUwe2NvbG9yOiNmZmZmZmY4MH1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey50ZXh0LXdoaXRlXC81MHtjb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNTAlLHRyYW5zcGFyZW50KX19LnRleHQtd2hpdGVcLzU1e2NvbG9yOiNmZmZmZmY4Y31Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey50ZXh0LXdoaXRlXC81NXtjb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNTUlLHRyYW5zcGFyZW50KX19LnRleHQtd2hpdGVcLzYwe2NvbG9yOiNmZmY5fUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnRleHQtd2hpdGVcLzYwe2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk2MCUsdHJhbnNwYXJlbnQpfX0udGV4dC13aGl0ZVwvNjV7Y29sb3I6I2ZmZmZmZmE2fUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnRleHQtd2hpdGVcLzY1e2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk2NSUsdHJhbnNwYXJlbnQpfX0udGV4dC13aGl0ZVwvNzB7Y29sb3I6I2ZmZmZmZmIzfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnRleHQtd2hpdGVcLzcwe2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk3MCUsdHJhbnNwYXJlbnQpfX0udGV4dC13aGl0ZVwvNzV7Y29sb3I6I2ZmZmZmZmJmfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnRleHQtd2hpdGVcLzc1e2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk3NSUsdHJhbnNwYXJlbnQpfX0udGV4dC13aGl0ZVwvODB7Y29sb3I6I2ZmZmN9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC13aGl0ZVwvODB7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTgwJSx0cmFuc3BhcmVudCl9fS50ZXh0LXdoaXRlXC84NXtjb2xvcjojZmZmZmZmZDl9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC13aGl0ZVwvODV7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTg1JSx0cmFuc3BhcmVudCl9fS50ZXh0LXdoaXRlXC85MHtjb2xvcjojZmZmZmZmZTZ9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC13aGl0ZVwvOTB7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTkwJSx0cmFuc3BhcmVudCl9fS50ZXh0LXdoaXRlXC85NXtjb2xvcjojZmZmZmZmZjJ9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC13aGl0ZVwvOTV7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTk1JSx0cmFuc3BhcmVudCl9fS50ZXh0LXdoaXRlXC9cWzBcLjQyXF17Y29sb3I6I2ZmZmZmZjZifUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnRleHQtd2hpdGVcL1xbMFwuNDJcXXtjb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNDIlLHRyYW5zcGFyZW50KX19LnRleHQtd2hpdGVcL1xbMFwuNDhcXXtjb2xvcjojZmZmZmZmN2F9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC13aGl0ZVwvXFswXC40OFxde2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk0OCUsdHJhbnNwYXJlbnQpfX0udGV4dC13aGl0ZVwvXFswXC41OFxde2NvbG9yOiNmZmZmZmY5NH1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey50ZXh0LXdoaXRlXC9cWzBcLjU4XF17Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTU4LjAlLHRyYW5zcGFyZW50KX19LnRleHQtd2hpdGVcL1xbMFwuOTJcXXtjb2xvcjojZmZmZmZmZWJ9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC13aGl0ZVwvXFswXC45Mlxde2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk5MiUsdHJhbnNwYXJlbnQpfX0ubG93ZXJjYXNle3RleHQtdHJhbnNmb3JtOmxvd2VyY2FzZX0udXBwZXJjYXNle3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0uaXRhbGlje2ZvbnQtc3R5bGU6aXRhbGljfS50YWJ1bGFyLW51bXN7LS10dy1udW1lcmljLXNwYWNpbmc6dGFidWxhci1udW1zO2ZvbnQtdmFyaWFudC1udW1lcmljOnZhcigtLXR3LW9yZGluYWwsKXZhcigtLXR3LXNsYXNoZWQtemVybywpdmFyKC0tdHctbnVtZXJpYy1maWd1cmUsKXZhcigtLXR3LW51bWVyaWMtc3BhY2luZywpdmFyKC0tdHctbnVtZXJpYy1mcmFjdGlvbiwpfS5cW2ZvbnQtdmFyaWFudC1udW1lcmljXDp0YWJ1bGFyLW51bXNcXXtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXN9Lm5vLXVuZGVybGluZXt0ZXh0LWRlY29yYXRpb24tbGluZTpub25lfS5hbnRpYWxpYXNlZHstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZX0ub3BhY2l0eS0we29wYWNpdHk6MH0ub3BhY2l0eS00MHtvcGFjaXR5Oi40fS5vcGFjaXR5LTUwe29wYWNpdHk6LjV9Lm9wYWNpdHktNjB7b3BhY2l0eTouNn0ub3BhY2l0eS0xMDB7b3BhY2l0eToxfS5zaGFkb3d7LS10dy1zaGFkb3c6MCAxcHggM3B4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSksMCAxcHggMnB4IC0xcHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSk7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfS5zaGFkb3ctXFswXzFweF8ycHhfcmdiYVwoMFwsMFwsMFwsMFwuMThcKVwsMF82cHhfMThweF9yZ2JhXCgwXCwwXCwwXCwwXC4yOFwpXCxpbnNldF8wXzBfMF8xcHhfcmdiYVwoMjU1XCwyNTVcLDI1NVwsMFwuMDZcKVxdey0tdHctc2hhZG93OjAgMXB4IDJweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDJlKSwwIDZweCAxOHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwNDcpLGluc2V0IDAgMCAwIDFweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsI2ZmZmZmZjBmKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnNoYWRvdy1cWzBfOHB4XzI0cHhfcmdiYVwoMFwsMFwsMFwsMFwuNFwpXF17LS10dy1zaGFkb3c6MCA4cHggMjRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDYpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uc2hhZG93LVxbMF84cHhfMjRweF9yZ2JhXCgwXCwwXCwwXCwwXC41XClcXXstLXR3LXNoYWRvdzowIDhweCAyNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwODApO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uc2hhZG93LVxbMF84cHhfMjRweF9yZ2JhXCgwXCwwXCwwXCwwXC40NVwpXF17LS10dy1zaGFkb3c6MCA4cHggMjRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDczKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnNoYWRvdy1cWzBfMTJweF80MHB4X3JnYmFcKDBcLDBcLDBcLDBcLjU1XClcXXstLXR3LXNoYWRvdzowIDEycHggNDBweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDhjKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnNoYWRvdy1cWzhweF8wXzMycHhfcmdiYVwoMFwsMFwsMFwsMFwuMzVcKVxdey0tdHctc2hhZG93OjhweCAwIDMycHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDA1OSk7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfS5zaGFkb3ctbGd7LS10dy1zaGFkb3c6MCAxMHB4IDE1cHggLTNweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKSwwIDRweCA2cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnJpbmcsLnJpbmctMXstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMXB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnJpbmctMnstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMnB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LlxbYm94LXNoYWRvd1w6MF8wXzZweF9yZ2JhXCg3NFwsMjIyXCwxMjhcLDBcLjdcKVxde2JveC1zaGFkb3c6MCAwIDZweCAjNGFkZTgwYjN9LlxbYm94LXNoYWRvd1w6MF8wXzZweF9yZ2JhXCgyNDhcLDExM1wsMTEzXCwwXC41NVwpXF17Ym94LXNoYWRvdzowIDAgNnB4ICNmODcxNzE4Y30ucmluZy1cW1wjMWMxYzFlXF17LS10dy1yaW5nLWNvbG9yOiMxYzFjMWV9LnJpbmctd2hpdGVcLzEwey0tdHctcmluZy1jb2xvcjojZmZmZmZmMWF9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsucmluZy13aGl0ZVwvMTB7LS10dy1yaW5nLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkxMCUsdHJhbnNwYXJlbnQpfX0ub3V0bGluZXtvdXRsaW5lLXN0eWxlOnZhcigtLXR3LW91dGxpbmUtc3R5bGUpO291dGxpbmUtd2lkdGg6MXB4fS5ibHVyey0tdHctYmx1cjpibHVyKDhweCk7ZmlsdGVyOnZhcigtLXR3LWJsdXIsKXZhcigtLXR3LWJyaWdodG5lc3MsKXZhcigtLXR3LWNvbnRyYXN0LCl2YXIoLS10dy1ncmF5c2NhbGUsKXZhcigtLXR3LWh1ZS1yb3RhdGUsKXZhcigtLXR3LWludmVydCwpdmFyKC0tdHctc2F0dXJhdGUsKXZhcigtLXR3LXNlcGlhLCl2YXIoLS10dy1kcm9wLXNoYWRvdywpfS5ncmF5c2NhbGV7LS10dy1ncmF5c2NhbGU6Z3JheXNjYWxlKDEwMCUpO2ZpbHRlcjp2YXIoLS10dy1ibHVyLCl2YXIoLS10dy1icmlnaHRuZXNzLCl2YXIoLS10dy1jb250cmFzdCwpdmFyKC0tdHctZ3JheXNjYWxlLCl2YXIoLS10dy1odWUtcm90YXRlLCl2YXIoLS10dy1pbnZlcnQsKXZhcigtLXR3LXNhdHVyYXRlLCl2YXIoLS10dy1zZXBpYSwpdmFyKC0tdHctZHJvcC1zaGFkb3csKX0uZmlsdGVye2ZpbHRlcjp2YXIoLS10dy1ibHVyLCl2YXIoLS10dy1icmlnaHRuZXNzLCl2YXIoLS10dy1jb250cmFzdCwpdmFyKC0tdHctZ3JheXNjYWxlLCl2YXIoLS10dy1odWUtcm90YXRlLCl2YXIoLS10dy1pbnZlcnQsKXZhcigtLXR3LXNhdHVyYXRlLCl2YXIoLS10dy1zZXBpYSwpdmFyKC0tdHctZHJvcC1zaGFkb3csKX0uYmFja2Ryb3AtYmx1cnstLXR3LWJhY2tkcm9wLWJsdXI6Ymx1cig4cHgpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXR3LWJhY2tkcm9wLWJsdXIsKXZhcigtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3MsKXZhcigtLXR3LWJhY2tkcm9wLWNvbnRyYXN0LCl2YXIoLS10dy1iYWNrZHJvcC1ncmF5c2NhbGUsKXZhcigtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGUsKXZhcigtLXR3LWJhY2tkcm9wLWludmVydCwpdmFyKC0tdHctYmFja2Ryb3Atb3BhY2l0eSwpdmFyKC0tdHctYmFja2Ryb3Atc2F0dXJhdGUsKXZhcigtLXR3LWJhY2tkcm9wLXNlcGlhLCk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXR3LWJhY2tkcm9wLWJsdXIsKXZhcigtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3MsKXZhcigtLXR3LWJhY2tkcm9wLWNvbnRyYXN0LCl2YXIoLS10dy1iYWNrZHJvcC1ncmF5c2NhbGUsKXZhcigtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGUsKXZhcigtLXR3LWJhY2tkcm9wLWludmVydCwpdmFyKC0tdHctYmFja2Ryb3Atb3BhY2l0eSwpdmFyKC0tdHctYmFja2Ryb3Atc2F0dXJhdGUsKXZhcigtLXR3LWJhY2tkcm9wLXNlcGlhLCl9LmJhY2tkcm9wLWJsdXItXFsxMnB4XF17LS10dy1iYWNrZHJvcC1ibHVyOmJsdXIoMTJweCk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0tdHctYmFja2Ryb3AtYmx1ciwpdmFyKC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzcywpdmFyKC0tdHctYmFja2Ryb3AtY29udHJhc3QsKXZhcigtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZSwpdmFyKC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZSwpdmFyKC0tdHctYmFja2Ryb3AtaW52ZXJ0LCl2YXIoLS10dy1iYWNrZHJvcC1vcGFjaXR5LCl2YXIoLS10dy1iYWNrZHJvcC1zYXR1cmF0ZSwpdmFyKC0tdHctYmFja2Ryb3Atc2VwaWEsKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0tdHctYmFja2Ryb3AtYmx1ciwpdmFyKC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzcywpdmFyKC0tdHctYmFja2Ryb3AtY29udHJhc3QsKXZhcigtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZSwpdmFyKC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZSwpdmFyKC0tdHctYmFja2Ryb3AtaW52ZXJ0LCl2YXIoLS10dy1iYWNrZHJvcC1vcGFjaXR5LCl2YXIoLS10dy1iYWNrZHJvcC1zYXR1cmF0ZSwpdmFyKC0tdHctYmFja2Ryb3Atc2VwaWEsKX0uYmFja2Ryb3AtYmx1ci1cWzE4cHhcXXstLXR3LWJhY2tkcm9wLWJsdXI6Ymx1cigxOHB4KTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS10dy1iYWNrZHJvcC1ibHVyLCl2YXIoLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzLCl2YXIoLS10dy1iYWNrZHJvcC1jb250cmFzdCwpdmFyKC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlLCl2YXIoLS10dy1iYWNrZHJvcC1odWUtcm90YXRlLCl2YXIoLS10dy1iYWNrZHJvcC1pbnZlcnQsKXZhcigtLXR3LWJhY2tkcm9wLW9wYWNpdHksKXZhcigtLXR3LWJhY2tkcm9wLXNhdHVyYXRlLCl2YXIoLS10dy1iYWNrZHJvcC1zZXBpYSwpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS10dy1iYWNrZHJvcC1ibHVyLCl2YXIoLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzLCl2YXIoLS10dy1iYWNrZHJvcC1jb250cmFzdCwpdmFyKC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlLCl2YXIoLS10dy1iYWNrZHJvcC1odWUtcm90YXRlLCl2YXIoLS10dy1iYWNrZHJvcC1pbnZlcnQsKXZhcigtLXR3LWJhY2tkcm9wLW9wYWNpdHksKXZhcigtLXR3LWJhY2tkcm9wLXNhdHVyYXRlLCl2YXIoLS10dy1iYWNrZHJvcC1zZXBpYSwpfS5iYWNrZHJvcC1ibHVyLW1key0tdHctYmFja2Ryb3AtYmx1cjpibHVyKHZhcigtLWJsdXItbWQpKTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS10dy1iYWNrZHJvcC1ibHVyLCl2YXIoLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzLCl2YXIoLS10dy1iYWNrZHJvcC1jb250cmFzdCwpdmFyKC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlLCl2YXIoLS10dy1iYWNrZHJvcC1odWUtcm90YXRlLCl2YXIoLS10dy1iYWNrZHJvcC1pbnZlcnQsKXZhcigtLXR3LWJhY2tkcm9wLW9wYWNpdHksKXZhcigtLXR3LWJhY2tkcm9wLXNhdHVyYXRlLCl2YXIoLS10dy1iYWNrZHJvcC1zZXBpYSwpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS10dy1iYWNrZHJvcC1ibHVyLCl2YXIoLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzLCl2YXIoLS10dy1iYWNrZHJvcC1jb250cmFzdCwpdmFyKC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlLCl2YXIoLS10dy1iYWNrZHJvcC1odWUtcm90YXRlLCl2YXIoLS10dy1iYWNrZHJvcC1pbnZlcnQsKXZhcigtLXR3LWJhY2tkcm9wLW9wYWNpdHksKXZhcigtLXR3LWJhY2tkcm9wLXNhdHVyYXRlLCl2YXIoLS10dy1iYWNrZHJvcC1zZXBpYSwpfS5iYWNrZHJvcC1zYXR1cmF0ZS0xNTB7LS10dy1iYWNrZHJvcC1zYXR1cmF0ZTpzYXR1cmF0ZSgxNTAlKTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS10dy1iYWNrZHJvcC1ibHVyLCl2YXIoLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzLCl2YXIoLS10dy1iYWNrZHJvcC1jb250cmFzdCwpdmFyKC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlLCl2YXIoLS10dy1iYWNrZHJvcC1odWUtcm90YXRlLCl2YXIoLS10dy1iYWNrZHJvcC1pbnZlcnQsKXZhcigtLXR3LWJhY2tkcm9wLW9wYWNpdHksKXZhcigtLXR3LWJhY2tkcm9wLXNhdHVyYXRlLCl2YXIoLS10dy1iYWNrZHJvcC1zZXBpYSwpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS10dy1iYWNrZHJvcC1ibHVyLCl2YXIoLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzLCl2YXIoLS10dy1iYWNrZHJvcC1jb250cmFzdCwpdmFyKC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlLCl2YXIoLS10dy1iYWNrZHJvcC1odWUtcm90YXRlLCl2YXIoLS10dy1iYWNrZHJvcC1pbnZlcnQsKXZhcigtLXR3LWJhY2tkcm9wLW9wYWNpdHksKXZhcigtLXR3LWJhY2tkcm9wLXNhdHVyYXRlLCl2YXIoLS10dy1iYWNrZHJvcC1zZXBpYSwpfS5iYWNrZHJvcC1maWx0ZXJ7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0tdHctYmFja2Ryb3AtYmx1ciwpdmFyKC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzcywpdmFyKC0tdHctYmFja2Ryb3AtY29udHJhc3QsKXZhcigtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZSwpdmFyKC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZSwpdmFyKC0tdHctYmFja2Ryb3AtaW52ZXJ0LCl2YXIoLS10dy1iYWNrZHJvcC1vcGFjaXR5LCl2YXIoLS10dy1iYWNrZHJvcC1zYXR1cmF0ZSwpdmFyKC0tdHctYmFja2Ryb3Atc2VwaWEsKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0tdHctYmFja2Ryb3AtYmx1ciwpdmFyKC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzcywpdmFyKC0tdHctYmFja2Ryb3AtY29udHJhc3QsKXZhcigtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZSwpdmFyKC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZSwpdmFyKC0tdHctYmFja2Ryb3AtaW52ZXJ0LCl2YXIoLS10dy1iYWNrZHJvcC1vcGFjaXR5LCl2YXIoLS10dy1iYWNrZHJvcC1zYXR1cmF0ZSwpdmFyKC0tdHctYmFja2Ryb3Atc2VwaWEsKX0udHJhbnNpdGlvbnt0cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yLGJhY2tncm91bmQtY29sb3IsYm9yZGVyLWNvbG9yLG91dGxpbmUtY29sb3IsdGV4dC1kZWNvcmF0aW9uLWNvbG9yLGZpbGwsc3Ryb2tlLC0tdHctZ3JhZGllbnQtZnJvbSwtLXR3LWdyYWRpZW50LXZpYSwtLXR3LWdyYWRpZW50LXRvLG9wYWNpdHksYm94LXNoYWRvdyx0cmFuc2Zvcm0sdHJhbnNsYXRlLHNjYWxlLHJvdGF0ZSxmaWx0ZXIsLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXIsYmFja2Ryb3AtZmlsdGVyLGRpc3BsYXksY29udGVudC12aXNpYmlsaXR5LG92ZXJsYXkscG9pbnRlci1ldmVudHM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246dmFyKC0tdHctZWFzZSx2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSk7dHJhbnNpdGlvbi1kdXJhdGlvbjp2YXIoLS10dy1kdXJhdGlvbix2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24pKX0udHJhbnNpdGlvbi1cW2JvcmRlci1jb2xvclwsYmFja2dyb3VuZFxde3RyYW5zaXRpb24tcHJvcGVydHk6Ym9yZGVyLWNvbG9yLGJhY2tncm91bmQ7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246dmFyKC0tdHctZWFzZSx2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSk7dHJhbnNpdGlvbi1kdXJhdGlvbjp2YXIoLS10dy1kdXJhdGlvbix2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24pKX0udHJhbnNpdGlvbi1cW3dpZHRoXCxiYWNrZ3JvdW5kXF17dHJhbnNpdGlvbi1wcm9wZXJ0eTp3aWR0aCxiYWNrZ3JvdW5kO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOnZhcigtLXR3LWVhc2UsdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbikpO3RyYW5zaXRpb24tZHVyYXRpb246dmFyKC0tdHctZHVyYXRpb24sdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uKSl9LnRyYW5zaXRpb24tY29sb3Jze3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3IsYmFja2dyb3VuZC1jb2xvcixib3JkZXItY29sb3Isb3V0bGluZS1jb2xvcix0ZXh0LWRlY29yYXRpb24tY29sb3IsZmlsbCxzdHJva2UsLS10dy1ncmFkaWVudC1mcm9tLC0tdHctZ3JhZGllbnQtdmlhLC0tdHctZ3JhZGllbnQtdG87dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246dmFyKC0tdHctZWFzZSx2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSk7dHJhbnNpdGlvbi1kdXJhdGlvbjp2YXIoLS10dy1kdXJhdGlvbix2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24pKX0udHJhbnNpdGlvbi1vcGFjaXR5e3RyYW5zaXRpb24tcHJvcGVydHk6b3BhY2l0eTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjp2YXIoLS10dy1lYXNlLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pKTt0cmFuc2l0aW9uLWR1cmF0aW9uOnZhcigtLXR3LWR1cmF0aW9uLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbikpfS5kdXJhdGlvbi0xNTB7LS10dy1kdXJhdGlvbjouMTVzO3RyYW5zaXRpb24tZHVyYXRpb246LjE1c30uZHVyYXRpb24tMjAwey0tdHctZHVyYXRpb246LjJzO3RyYW5zaXRpb24tZHVyYXRpb246LjJzfS5kdXJhdGlvbi0zMDB7LS10dy1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9LmVhc2Utb3V0ey0tdHctZWFzZTp2YXIoLS1lYXNlLW91dCk7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246dmFyKC0tZWFzZS1vdXQpfS5vdXRsaW5lLW5vbmV7LS10dy1vdXRsaW5lLXN0eWxlOm5vbmU7b3V0bGluZS1zdHlsZTpub25lfS5zZWxlY3Qtbm9uZXstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0uc2VsZWN0LXRleHR7LXdlYmtpdC11c2VyLXNlbGVjdDp0ZXh0O3VzZXItc2VsZWN0OnRleHR9LlxbLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXJcOmJsdXJcKDEycHhcKVxdey13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTJweCl9Llxbc2Nyb2xsYmFyLXdpZHRoXDp0aGluXF17c2Nyb2xsYmFyLXdpZHRoOnRoaW59Llxbc3RyZWFtXDphdmNjXF17c3RyZWFtOmF2Y2N9Llxbc3RyZWFtXDpoMjY0XF17c3RyZWFtOmgyNjR9LlxbdHJhbnNpdGlvblw6YmFja2dyb3VuZF8wXC4yc1wsYm94LXNoYWRvd18wXC4yc1xde3RyYW5zaXRpb246YmFja2dyb3VuZCAuMnMsYm94LXNoYWRvdyAuMnN9LlxbdHJhbnNpdGlvblw6YmFja2dyb3VuZF8wXC4zc1xde3RyYW5zaXRpb246YmFja2dyb3VuZCAuM3N9LlxbdHJhbnNpdGlvblw6YmFja2dyb3VuZF8wXC4xMnNcLGJvcmRlci1jb2xvcl8wXC4xMnNcXXt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjEycyxib3JkZXItY29sb3IgLjEyc30uXFt0cmFuc2l0aW9uXDpiYWNrZ3JvdW5kXzBcLjEyc1wsY29sb3JfMFwuMTJzXF17dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xMnMsY29sb3IgLjEyc30uXFt0cmFuc2l0aW9uXDpiYWNrZ3JvdW5kXzBcLjEyc1xde3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTJzfS5cW3RyYW5zaXRpb25cOmJhY2tncm91bmRfMFwuMTVzXF17dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xNXN9LlxbdHJhbnNpdGlvblw6YmFja2dyb3VuZF8wXC4xNXNfZWFzZVwsY29sb3JfMFwuMTVzX2Vhc2VcLG9wYWNpdHlfMFwuMXNfZWFzZVxde3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTVzLGNvbG9yIC4xNXMsb3BhY2l0eSAuMXN9LlxbdHJhbnNpdGlvblw6YmFja2dyb3VuZF8wXC4xNXNfZWFzZVwsY29sb3JfMFwuMTVzX2Vhc2VcXXt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE1cyxjb2xvciAuMTVzfS5cW3RyYW5zaXRpb25cOmJhY2tncm91bmRfMFwuMTVzX2Vhc2VcXXt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE1c30uXFt0cmFuc2l0aW9uXDpiYWNrZ3JvdW5kXzBcLjE4c19lYXNlXF17dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xOHN9LlxbdHJhbnNpdGlvblw6bGVmdF8wXC4xNXNcXXt0cmFuc2l0aW9uOmxlZnQgLjE1c30uXFt0cmFuc2l0aW9uXDpvcGFjaXR5XzBcLjEyc1wsYmFja2dyb3VuZF8wXC4xMnNcLGNvbG9yXzBcLjEyc1xde3RyYW5zaXRpb246b3BhY2l0eSAuMTJzLGJhY2tncm91bmQgLjEycyxjb2xvciAuMTJzfS5cW3RyYW5zaXRpb25cOm9wYWNpdHlfMFwuMTJzXF17dHJhbnNpdGlvbjpvcGFjaXR5IC4xMnN9LlxbdHJhbnNpdGlvblw6b3BhY2l0eV8wXC4xNXNfZWFzZVwsYmFja2dyb3VuZF8wXC4xNXNfZWFzZVxde3RyYW5zaXRpb246b3BhY2l0eSAuMTVzLGJhY2tncm91bmQgLjE1c30uXFt0cmFuc2l0aW9uXDpvcGFjaXR5XzBcLjE1c19lYXNlXCx0cmFuc2Zvcm1fMFwuMTVzX2Vhc2VcXXt0cmFuc2l0aW9uOm9wYWNpdHkgLjE1cyx0cmFuc2Zvcm0gLjE1c30uXFt0cmFuc2l0aW9uXDpvcGFjaXR5XzBcLjE4c19lYXNlXF17dHJhbnNpdGlvbjpvcGFjaXR5IC4xOHN9LlxbdHJhbnNpdGlvblw6cGFkZGluZ18wXC4yNXNfZWFzZVxde3RyYW5zaXRpb246cGFkZGluZyAuMjVzfS5cW3RyYW5zaXRpb25cOnJpZ2h0XzBcLjI0c19jdWJpYy1iZXppZXJcKDBcLjIyXCwxXCwwXC4zNlwsMVwpXF17dHJhbnNpdGlvbjpyaWdodCAuMjRzIGN1YmljLWJlemllciguMjIsMSwuMzYsMSl9LlxbdHJhbnNpdGlvblw6dHJhbnNmb3JtXzBcLjI1c19lYXNlXCxvcGFjaXR5XzBcLjJzX2Vhc2VcXXt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzLG9wYWNpdHkgLjJzfS5cW3RyYW5zaXRpb25cOndpZHRoXzEyMG1zX2xpbmVhclxde3RyYW5zaXRpb246d2lkdGggLjEycyBsaW5lYXJ9Lmdyb3VwLWZvY3VzLXdpdGhpblw6b3BhY2l0eS0wOmlzKDp3aGVyZSguZ3JvdXApOmZvY3VzLXdpdGhpbiAqKXtvcGFjaXR5OjB9QG1lZGlhIChob3Zlcjpob3Zlcil7Lmdyb3VwLWhvdmVyXDpwb2ludGVyLWV2ZW50cy1hdXRvOmlzKDp3aGVyZSguZ3JvdXApOmhvdmVyICope3BvaW50ZXItZXZlbnRzOmF1dG99fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5ncm91cC1ob3Zlclw6YmxvY2s6aXMoOndoZXJlKC5ncm91cCk6aG92ZXIgKil7ZGlzcGxheTpibG9ja319QG1lZGlhIChob3Zlcjpob3Zlcil7Lmdyb3VwLWhvdmVyXDpoaWRkZW46aXMoOndoZXJlKC5ncm91cCk6aG92ZXIgKil7ZGlzcGxheTpub25lfX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuZ3JvdXAtaG92ZXJcOnRyYW5zbGF0ZS14LTA6aXMoOndoZXJlKC5ncm91cCk6aG92ZXIgKil7LS10dy10cmFuc2xhdGUteDpjYWxjKHZhcigtLXNwYWNpbmcpKjApO3RyYW5zbGF0ZTp2YXIoLS10dy10cmFuc2xhdGUteCl2YXIoLS10dy10cmFuc2xhdGUteSl9fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5ncm91cC1ob3Zlclw6b3BhY2l0eS0wOmlzKDp3aGVyZSguZ3JvdXApOmhvdmVyICope29wYWNpdHk6MH19QG1lZGlhIChob3Zlcjpob3Zlcil7Lmdyb3VwLWhvdmVyXDpvcGFjaXR5LTEwMDppcyg6d2hlcmUoLmdyb3VwKTpob3ZlciAqKXtvcGFjaXR5OjF9fS5wbGFjZWhvbGRlclw6dGV4dC13aGl0ZVwvNDA6OnBsYWNlaG9sZGVye2NvbG9yOiNmZmY2fUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnBsYWNlaG9sZGVyXDp0ZXh0LXdoaXRlXC80MDo6cGxhY2Vob2xkZXJ7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTQwJSx0cmFuc3BhcmVudCl9fS5mb2N1cy13aXRoaW5cOmJnLXdoaXRlXC8xMDpmb2N1cy13aXRoaW57YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMWF9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZm9jdXMtd2l0aGluXDpiZy13aGl0ZVwvMTA6Zm9jdXMtd2l0aGlue2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTEwJSx0cmFuc3BhcmVudCl9fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5ob3Zlclw6Ym9yZGVyLVxbcmdiYVwoMjU1XCwyNTVcLDI1NVwsMFwuMTZcKVxdOmhvdmVye2JvcmRlci1jb2xvcjojZmZmZmZmMjl9fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5ob3Zlclw6Ym9yZGVyLVxbcmdiYVwoMjU1XCwyNTVcLDI1NVwsMFwuMThcKVxdOmhvdmVye2JvcmRlci1jb2xvcjojZmZmZmZmMmV9fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5ob3Zlclw6Ym9yZGVyLXdoaXRlXC8yMDpob3Zlcntib3JkZXItY29sb3I6I2ZmZjN9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaG92ZXJcOmJvcmRlci13aGl0ZVwvMjA6aG92ZXJ7Ym9yZGVyLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkyMCUsdHJhbnNwYXJlbnQpfX19QG1lZGlhIChob3Zlcjpob3Zlcil7LmhvdmVyXDpib3JkZXItd2hpdGVcL1xbMFwuODhcXTpob3Zlcntib3JkZXItY29sb3I6I2ZmZmZmZmUwfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmhvdmVyXDpib3JkZXItd2hpdGVcL1xbMFwuODhcXTpob3Zlcntib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTg4JSx0cmFuc3BhcmVudCl9fX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuaG92ZXJcOmJnLXdoaXRlXC84OmhvdmVye2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjE0fUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmhvdmVyXDpiZy13aGl0ZVwvODpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk4JSx0cmFuc3BhcmVudCl9fX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuaG92ZXJcOmJnLXdoaXRlXC8xMjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYxZn1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6Ymctd2hpdGVcLzEyOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTEyJSx0cmFuc3BhcmVudCl9fX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuaG92ZXJcOmJnLXdoaXRlXC8xODpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYyZX1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6Ymctd2hpdGVcLzE4OmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTE4JSx0cmFuc3BhcmVudCl9fX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuaG92ZXJcOmJnLXdoaXRlXC8yMDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmYzfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmhvdmVyXDpiZy13aGl0ZVwvMjA6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpMjAlLHRyYW5zcGFyZW50KX19fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5ob3Zlclw6Ymctd2hpdGVcLzI1OmhvdmVye2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjQwfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmhvdmVyXDpiZy13aGl0ZVwvMjU6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpMjUlLHRyYW5zcGFyZW50KX19fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5ob3Zlclw6Ymctd2hpdGVcL1xbMFwuMDVcXTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwZH1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6Ymctd2hpdGVcL1xbMFwuMDVcXTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk1JSx0cmFuc3BhcmVudCl9fX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuaG92ZXJcOmJnLXdoaXRlXC9cWzBcLjA2XF06aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMGZ9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaG92ZXJcOmJnLXdoaXRlXC9cWzBcLjA2XF06aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpNiUsdHJhbnNwYXJlbnQpfX19QG1lZGlhIChob3Zlcjpob3Zlcil7LmhvdmVyXDpiZy13aGl0ZVwvXFswXC4wN1xdOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjEyfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmhvdmVyXDpiZy13aGl0ZVwvXFswXC4wN1xdOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTcuMCUsdHJhbnNwYXJlbnQpfX19QG1lZGlhIChob3Zlcjpob3Zlcil7LmhvdmVyXDpiZy13aGl0ZVwvXFswXC4wOVxdOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjE3fUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmhvdmVyXDpiZy13aGl0ZVwvXFswXC4wOVxdOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTklLHRyYW5zcGFyZW50KX19fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5ob3Zlclw6Ymctd2hpdGVcL1xbMFwuODhcXTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmZlMH1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6Ymctd2hpdGVcL1xbMFwuODhcXTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk4OCUsdHJhbnNwYXJlbnQpfX19QG1lZGlhIChob3Zlcjpob3Zlcil7LmhvdmVyXDp0ZXh0LVxbXCMwYTBhMGNcXTpob3Zlcntjb2xvcjojMGEwYTBjfX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuaG92ZXJcOnRleHQtd2hpdGU6aG92ZXJ7Y29sb3I6dmFyKC0tY29sb3Itd2hpdGUpfX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuaG92ZXJcOnRleHQtd2hpdGVcLzcwOmhvdmVye2NvbG9yOiNmZmZmZmZiM31Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6dGV4dC13aGl0ZVwvNzA6aG92ZXJ7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTcwJSx0cmFuc3BhcmVudCl9fX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuaG92ZXJcOnRleHQtd2hpdGVcLzgwOmhvdmVye2NvbG9yOiNmZmZjfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmhvdmVyXDp0ZXh0LXdoaXRlXC84MDpob3Zlcntjb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpODAlLHRyYW5zcGFyZW50KX19fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5ob3Zlclw6dGV4dC13aGl0ZVwvODU6aG92ZXJ7Y29sb3I6I2ZmZmZmZmQ5fUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmhvdmVyXDp0ZXh0LXdoaXRlXC84NTpob3Zlcntjb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpODUlLHRyYW5zcGFyZW50KX19fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5ob3Zlclw6dGV4dC13aGl0ZVwvOTA6aG92ZXJ7Y29sb3I6I2ZmZmZmZmU2fUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmhvdmVyXDp0ZXh0LXdoaXRlXC85MDpob3Zlcntjb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpOTAlLHRyYW5zcGFyZW50KX19fS5mb2N1c1w6Ym9yZGVyLVxbcmdiYVwoMjU1XCwyNTVcLDI1NVwsMFwuMjRcKVxdOmZvY3Vze2JvcmRlci1jb2xvcjojZmZmZmZmM2R9LmZvY3VzXDpiZy13aGl0ZVwvXFswXC4wOFxdOmZvY3Vze2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjE0fUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmZvY3VzXDpiZy13aGl0ZVwvXFswXC4wOFxdOmZvY3Vze2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTglLHRyYW5zcGFyZW50KX19LmZvY3VzXDpvdXRsaW5lLW5vbmU6Zm9jdXN7LS10dy1vdXRsaW5lLXN0eWxlOm5vbmU7b3V0bGluZS1zdHlsZTpub25lfS5mb2N1cy12aXNpYmxlXDpiZy13aGl0ZVwvODpmb2N1cy12aXNpYmxle2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjE0fUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmZvY3VzLXZpc2libGVcOmJnLXdoaXRlXC84OmZvY3VzLXZpc2libGV7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpOCUsdHJhbnNwYXJlbnQpfX0uZm9jdXMtdmlzaWJsZVw6b3BhY2l0eS0xMDA6Zm9jdXMtdmlzaWJsZXtvcGFjaXR5OjF9LmZvY3VzLXZpc2libGVcOlxbb3V0bGluZVw6MVwuNXB4X3NvbGlkX3JnYmFcKDEwXCwxMzJcLDI1NVwsMFwuNTVcKVxdOmZvY3VzLXZpc2libGV7b3V0bGluZToxLjVweCBzb2xpZCAjMGE4NGZmOGN9LmZvY3VzLXZpc2libGVcOm91dGxpbmU6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLXN0eWxlOnZhcigtLXR3LW91dGxpbmUtc3R5bGUpO291dGxpbmUtd2lkdGg6MXB4fS5mb2N1cy12aXNpYmxlXDpvdXRsaW5lLTI6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLXN0eWxlOnZhcigtLXR3LW91dGxpbmUtc3R5bGUpO291dGxpbmUtd2lkdGg6MnB4fS5mb2N1cy12aXNpYmxlXDpvdXRsaW5lLW9mZnNldC0yOmZvY3VzLXZpc2libGV7b3V0bGluZS1vZmZzZXQ6MnB4fS5mb2N1cy12aXNpYmxlXDpvdXRsaW5lLW9mZnNldC00OmZvY3VzLXZpc2libGV7b3V0bGluZS1vZmZzZXQ6NHB4fS5mb2N1cy12aXNpYmxlXDpvdXRsaW5lLXdoaXRlXC82MDpmb2N1cy12aXNpYmxle291dGxpbmUtY29sb3I6I2ZmZjl9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZm9jdXMtdmlzaWJsZVw6b3V0bGluZS13aGl0ZVwvNjA6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk2MCUsdHJhbnNwYXJlbnQpfX0uYWN0aXZlXDpzY2FsZS1cWzBcLjk3XF06YWN0aXZle3NjYWxlOi45N30uYWN0aXZlXDpjdXJzb3ItZ3JhYmJpbmc6YWN0aXZle2N1cnNvcjpncmFiYmluZ31AbWVkaWEgKGhvdmVyOmhvdmVyKXsuZW5hYmxlZFw6aG92ZXJcOmJvcmRlci1cW3JnYmFcKDI1NVwsMjU1XCwyNTVcLDBcLjE4XClcXTplbmFibGVkOmhvdmVye2JvcmRlci1jb2xvcjojZmZmZmZmMmV9fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5lbmFibGVkXDpob3Zlclw6Ym9yZGVyLXdoaXRlXC8yMDplbmFibGVkOmhvdmVye2JvcmRlci1jb2xvcjojZmZmM31Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5lbmFibGVkXDpob3Zlclw6Ym9yZGVyLXdoaXRlXC8yMDplbmFibGVkOmhvdmVye2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpMjAlLHRyYW5zcGFyZW50KX19fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5lbmFibGVkXDpob3Zlclw6Ym9yZGVyLXdoaXRlXC9cWzBcLjg4XF06ZW5hYmxlZDpob3Zlcntib3JkZXItY29sb3I6I2ZmZmZmZmUwfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmVuYWJsZWRcOmhvdmVyXDpib3JkZXItd2hpdGVcL1xbMFwuODhcXTplbmFibGVkOmhvdmVye2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpODglLHRyYW5zcGFyZW50KX19fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5lbmFibGVkXDpob3Zlclw6YmctXFtcIzJhMmEyY1xdOmVuYWJsZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMmEyYTJjfX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuZW5hYmxlZFw6aG92ZXJcOmJnLXdoaXRlXC9cWzBcLjA2XF06ZW5hYmxlZDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwZn1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5lbmFibGVkXDpob3Zlclw6Ymctd2hpdGVcL1xbMFwuMDZcXTplbmFibGVkOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTYlLHRyYW5zcGFyZW50KX19fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5lbmFibGVkXDpob3Zlclw6Ymctd2hpdGVcL1xbMFwuMDlcXTplbmFibGVkOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjE3fUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmVuYWJsZWRcOmhvdmVyXDpiZy13aGl0ZVwvXFswXC4wOVxdOmVuYWJsZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpOSUsdHJhbnNwYXJlbnQpfX19QG1lZGlhIChob3Zlcjpob3Zlcil7LmVuYWJsZWRcOmhvdmVyXDpiZy13aGl0ZVwvXFswXC4yMlxdOmVuYWJsZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMzh9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZW5hYmxlZFw6aG92ZXJcOmJnLXdoaXRlXC9cWzBcLjIyXF06ZW5hYmxlZDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkyMiUsdHJhbnNwYXJlbnQpfX19QG1lZGlhIChob3Zlcjpob3Zlcil7LmVuYWJsZWRcOmhvdmVyXDpiZy13aGl0ZVwvXFswXC44OFxdOmVuYWJsZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmZTB9QHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZW5hYmxlZFw6aG92ZXJcOmJnLXdoaXRlXC9cWzBcLjg4XF06ZW5hYmxlZDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk4OCUsdHJhbnNwYXJlbnQpfX19QG1lZGlhIChob3Zlcjpob3Zlcil7LmVuYWJsZWRcOmhvdmVyXDp0ZXh0LVxbXCMwYTBhMGNcXTplbmFibGVkOmhvdmVye2NvbG9yOiMwYTBhMGN9fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5lbmFibGVkXDpob3Zlclw6dGV4dC13aGl0ZTplbmFibGVkOmhvdmVye2NvbG9yOnZhcigtLWNvbG9yLXdoaXRlKX19QG1lZGlhIChob3Zlcjpob3Zlcil7LmVuYWJsZWRcOmhvdmVyXDpicmlnaHRuZXNzLVxbMVwuMDhcXTplbmFibGVkOmhvdmVyey0tdHctYnJpZ2h0bmVzczpicmlnaHRuZXNzKDEuMDgpO2ZpbHRlcjp2YXIoLS10dy1ibHVyLCl2YXIoLS10dy1icmlnaHRuZXNzLCl2YXIoLS10dy1jb250cmFzdCwpdmFyKC0tdHctZ3JheXNjYWxlLCl2YXIoLS10dy1odWUtcm90YXRlLCl2YXIoLS10dy1pbnZlcnQsKXZhcigtLXR3LXNhdHVyYXRlLCl2YXIoLS10dy1zZXBpYSwpdmFyKC0tdHctZHJvcC1zaGFkb3csKX19LmRpc2FibGVkXDpjdXJzb3ItZGVmYXVsdDpkaXNhYmxlZHtjdXJzb3I6ZGVmYXVsdH0uZGlzYWJsZWRcOmN1cnNvci1ub3QtYWxsb3dlZDpkaXNhYmxlZHtjdXJzb3I6bm90LWFsbG93ZWR9LmRpc2FibGVkXDp0ZXh0LXdoaXRlXC80MDpkaXNhYmxlZHtjb2xvcjojZmZmNn1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5kaXNhYmxlZFw6dGV4dC13aGl0ZVwvNDA6ZGlzYWJsZWR7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTQwJSx0cmFuc3BhcmVudCl9fS5kaXNhYmxlZFw6b3BhY2l0eS00MDpkaXNhYmxlZHtvcGFjaXR5Oi40fS5kaXNhYmxlZFw6b3BhY2l0eS01MDpkaXNhYmxlZHtvcGFjaXR5Oi41fUBtZWRpYSAobWF4LXdpZHRoOjg5OS45OTlweCl7Lm1heC1cWzkwMHB4XF1cOmhpZGRlbntkaXNwbGF5Om5vbmV9fUBtZWRpYSAobWF4LXdpZHRoOmNhbGMoNDByZW0gLSAuMDAxcHgpKXsubWF4LXNtXDpoaWRkZW57ZGlzcGxheTpub25lfX1AbWVkaWEgKG1pbi13aWR0aDo0MHJlbSl7LnNtXDpzdGF0aWN7cG9zaXRpb246c3RhdGljfX1AbWVkaWEgKG1pbi13aWR0aDo0MHJlbSl7LnNtXDp0b3AtYXV0b3t0b3A6YXV0b319QG1lZGlhIChtaW4td2lkdGg6NDByZW0pey5zbVw6ei1hdXRve3otaW5kZXg6YXV0b319QG1lZGlhIChtaW4td2lkdGg6NDByZW0pey5zbVw6Y29udGVudHN7ZGlzcGxheTpjb250ZW50c319QG1lZGlhIChtaW4td2lkdGg6NDByZW0pey5zbVw6aW5saW5lLWZsZXh7ZGlzcGxheTppbmxpbmUtZmxleH19QG1lZGlhIChtaW4td2lkdGg6NDByZW0pey5zbVw6aC1cWzMwcHhcXXtoZWlnaHQ6MzBweH19QG1lZGlhIChtaW4td2lkdGg6NDByZW0pey5zbVw6dy1cWzMwcHhcXXt3aWR0aDozMHB4fX1AbWVkaWEgKG1pbi13aWR0aDo0MHJlbSl7LnNtXDp0cmFuc2xhdGUteC0wey0tdHctdHJhbnNsYXRlLXg6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKTt0cmFuc2xhdGU6dmFyKC0tdHctdHJhbnNsYXRlLXgpdmFyKC0tdHctdHJhbnNsYXRlLXkpfX1AbWVkaWEgKG1pbi13aWR0aDo0MHJlbSl7LnNtXDpmbGV4LWNvbHtmbGV4LWRpcmVjdGlvbjpjb2x1bW59fUBtZWRpYSAobWluLXdpZHRoOjQwcmVtKXsuc21cOnB5LTZ7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfX1AbWVkaWEgKG1pbi13aWR0aDo0MHJlbSl7LnNtXDpwYi0we3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMCl9fS5cW1wmXDpcOi1tb3otcmFuZ2UtcHJvZ3Jlc3NcXVw6aC1cWzRweFxdOjotbW96LXJhbmdlLXByb2dyZXNze2hlaWdodDo0cHh9LlxbXCZcOlw6LW1vei1yYW5nZS1wcm9ncmVzc1xdXDpyb3VuZGVkLWZ1bGw6Oi1tb3otcmFuZ2UtcHJvZ3Jlc3N7Ym9yZGVyLXJhZGl1czozLjQwMjgyZTM4cHh9LlxbXCZcOlw6LW1vei1yYW5nZS1wcm9ncmVzc1xdXDpiZy1cW3ZhclwoLS1zbGlkZXItZmlsbC1jb2xvclwpXF06Oi1tb3otcmFuZ2UtcHJvZ3Jlc3N7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zbGlkZXItZmlsbC1jb2xvcil9LlxbXCZcOlw6LW1vei1yYW5nZS10aHVtYlxdXDpzaXplLVxbMTNweFxdOjotbW96LXJhbmdlLXRodW1ie3dpZHRoOjEzcHg7aGVpZ2h0OjEzcHh9LlxbXCZcOlw6LW1vei1yYW5nZS10aHVtYlxdXDpyb3VuZGVkLWZ1bGw6Oi1tb3otcmFuZ2UtdGh1bWJ7Ym9yZGVyLXJhZGl1czozLjQwMjgyZTM4cHh9LlxbXCZcOlw6LW1vei1yYW5nZS10aHVtYlxdXDpib3JkZXItbm9uZTo6LW1vei1yYW5nZS10aHVtYnstLXR3LWJvcmRlci1zdHlsZTpub25lO2JvcmRlci1zdHlsZTpub25lfS5cW1wmXDpcOi1tb3otcmFuZ2UtdGh1bWJcXVw6Ymctd2hpdGU6Oi1tb3otcmFuZ2UtdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci13aGl0ZSl9LlxbXCZcOlw6LW1vei1yYW5nZS10cmFja1xdXDpoLVxbNHB4XF06Oi1tb3otcmFuZ2UtdHJhY2t7aGVpZ2h0OjRweH0uXFtcJlw6XDotbW96LXJhbmdlLXRyYWNrXF1cOnJvdW5kZWQtZnVsbDo6LW1vei1yYW5nZS10cmFja3tib3JkZXItcmFkaXVzOjMuNDAyODJlMzhweH0uXFtcJlw6XDotbW96LXJhbmdlLXRyYWNrXF1cOmJnLXdoaXRlXC8yMDo6LW1vei1yYW5nZS10cmFja3tiYWNrZ3JvdW5kLWNvbG9yOiNmZmYzfUBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LlxbXCZcOlw6LW1vei1yYW5nZS10cmFja1xdXDpiZy13aGl0ZVwvMjA6Oi1tb3otcmFuZ2UtdHJhY2t7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpMjAlLHRyYW5zcGFyZW50KX19LlxbXCZcOlw6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2tcXVw6aC1cWzRweFxdOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja3toZWlnaHQ6NHB4fS5cW1wmXDpcOi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrXF1cOnJvdW5kZWQtZnVsbDo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7Ym9yZGVyLXJhZGl1czozLjQwMjgyZTM4cHh9LlxbXCZcOlw6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2tcXVw6XFtiYWNrZ3JvdW5kXDpsaW5lYXItZ3JhZGllbnRcKHRvX3JpZ2h0XCx2YXJcKC0tc2xpZGVyLWZpbGwtY29sb3JcKV92YXJcKC0tc2xpZGVyLWZpbGxcKVwscmdiYVwoMjU1XCwyNTVcLDI1NVwsMFwuMjJcKV92YXJcKC0tc2xpZGVyLWZpbGxcKVwpXF06Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNre2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LHZhcigtLXNsaWRlci1maWxsLWNvbG9yKXZhcigtLXNsaWRlci1maWxsKSwjZmZmZmZmMzggdmFyKC0tc2xpZGVyLWZpbGwpKX0uXFtcJlw6XDotd2Via2l0LXNsaWRlci10aHVtYlxdXDotbXQtXFs0XC41cHhcXTo6LXdlYmtpdC1zbGlkZXItdGh1bWJ7bWFyZ2luLXRvcDotNC41cHh9LlxbXCZcOlw6LXdlYmtpdC1zbGlkZXItdGh1bWJcXVw6c2l6ZS1cWzEzcHhcXTo6LXdlYmtpdC1zbGlkZXItdGh1bWJ7d2lkdGg6MTNweDtoZWlnaHQ6MTNweH0uXFtcJlw6XDotd2Via2l0LXNsaWRlci10aHVtYlxdXDphcHBlYXJhbmNlLW5vbmU6Oi13ZWJraXQtc2xpZGVyLXRodW1ie2FwcGVhcmFuY2U6bm9uZX0uXFtcJlw6XDotd2Via2l0LXNsaWRlci10aHVtYlxdXDpyb3VuZGVkLWZ1bGw6Oi13ZWJraXQtc2xpZGVyLXRodW1ie2JvcmRlci1yYWRpdXM6My40MDI4MmUzOHB4fS5cW1wmXDpcOi13ZWJraXQtc2xpZGVyLXRodW1iXF1cOmJnLXdoaXRlOjotd2Via2l0LXNsaWRlci10aHVtYntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXdoaXRlKX0uXFtcJlw6XDotd2Via2l0LXNsaWRlci10aHVtYlxdXDpzaGFkb3ctXFswXzFweF8zcHhfcmdiYVwoMFwsMFwsMFwsMFwuNDVcKVxdOjotd2Via2l0LXNsaWRlci10aHVtYnstLXR3LXNoYWRvdzowIDFweCAzcHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDA3Myk7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfS5cW1wmXDpkaXNhYmxlZFw6XDotbW96LXJhbmdlLXRodW1iXF1cOmJnLXdoaXRlXC81MDpkaXNhYmxlZDo6LW1vei1yYW5nZS10aHVtYntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY4MH1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5cW1wmXDpkaXNhYmxlZFw6XDotbW96LXJhbmdlLXRodW1iXF1cOmJnLXdoaXRlXC81MDpkaXNhYmxlZDo6LW1vei1yYW5nZS10aHVtYntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk1MCUsdHJhbnNwYXJlbnQpfX0uXFtcJlw6ZGlzYWJsZWRcOlw6LXdlYmtpdC1zbGlkZXItdGh1bWJcXVw6Ymctd2hpdGVcLzUwOmRpc2FibGVkOjotd2Via2l0LXNsaWRlci10aHVtYntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY4MH1Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5cW1wmXDpkaXNhYmxlZFw6XDotd2Via2l0LXNsaWRlci10aHVtYlxdXDpiZy13aGl0ZVwvNTA6ZGlzYWJsZWQ6Oi13ZWJraXQtc2xpZGVyLXRodW1ie2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTUwJSx0cmFuc3BhcmVudCl9fX06cm9vdHstLWJ1bmNzcy1saWdodDogOy0tYnVuY3NzLWRhcms6aW5pdGlhbDtjb2xvci1zY2hlbWU6ZGFyazstLXNlcnZlLXNpbS1wYW5lbC1iZzojMTgxODE4Oy0tc2VydmUtc2ltLXBhbmVsLWJnLXRyYW5zbHVjZW50OiMxODE4MThjNzstLXNlcnZlLXNpbS1wYW5lbC1iZy10cmFuc3BhcmVudDojMTgxODE4MDB9QHN1cHBvcnRzIChpbnRlcnBvbGF0ZS1zaXplOiBhbGxvdy1rZXl3b3Jkcyl7OnJvb3R7aW50ZXJwb2xhdGUtc2l6ZTphbGxvdy1rZXl3b3Jkc319ZGV0YWlscy5sZW0tc2VjdGlvbjo6ZGV0YWlscy1jb250ZW50e292ZXJmbG93OmNsaXA7dHJhbnNpdGlvbjpoZWlnaHQgLjIycyBlYXNlLGNvbnRlbnQtdmlzaWJpbGl0eSAuMjJzIGFsbG93LWRpc2NyZXRlO2hlaWdodDowfWRldGFpbHMubGVtLXNlY3Rpb25bb3Blbl06OmRldGFpbHMtY29udGVudHtoZWlnaHQ6YXV0b31kZXRhaWxzLmxlbS1zZWN0aW9uPnN1bW1hcnl7bGlzdC1zdHlsZTpub25lfWRldGFpbHMubGVtLXNlY3Rpb24+c3VtbWFyeTo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlcntkaXNwbGF5Om5vbmV9ZGV0YWlscy5sZW0tc2VjdGlvbj5zdW1tYXJ5OmhvdmVye2NvbG9yOiNmZmZ9ZGV0YWlscy5sZW0tc2VjdGlvbj5zdW1tYXJ5OmhvdmVyIC5sZW0tY2hldnJvbntjb2xvcjojZmZmZmZmZDkhaW1wb3J0YW50fS5sZW0tY2hldnJvbnt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcjt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMTZzLGNvbG9yIC4xMnN9QGNvbnRhaW5lciAod2lkdGg8PTIxMHB4KXtbZGF0YS1sb2NhdGlvbi1zdGF0dXMtdG90YWxde2Rpc3BsYXk6bm9uZX19QGtleWZyYW1lcyBncmlkLXNwaW57dG97dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX1Aa2V5ZnJhbWVzIHNlcnZlLXNpbS10b2FzdC1pbmRldGVybWluYXRlezAle3RyYW5zZm9ybTp0cmFuc2xhdGUoLTEwMCUpfXRve3RyYW5zZm9ybTp0cmFuc2xhdGUoMjUwJSl9fUBrZXlmcmFtZXMgc2VydmUtc2ltLXRvYXN0LXBvcC1pbnswJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTJweClzY2FsZSguOTYpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKXNjYWxlKDEpfX1Aa2V5ZnJhbWVzIHNlcnZlLXNpbS10b2FzdC1wb3Atb3V0ezAle29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKXNjYWxlKDEpfXRve29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSg4cHgpc2NhbGUoLjk2KX19LnNlcnZlLXNpbS10b2FzdC1pbmRldGVybWluYXRle2FuaW1hdGlvbjpzZXJ2ZS1zaW0tdG9hc3QtaW5kZXRlcm1pbmF0ZSAxLjFzIGVhc2UtaW4tb3V0IGluZmluaXRlfS5ncmlkLXNodXRkb3duLWJ0bntvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4xMnMsYmFja2dyb3VuZCAuMTJzLGNvbG9yIC4xMnN9LmdyaWQtdGlsZTpob3ZlciAuZ3JpZC1zaHV0ZG93bi1idG57b3BhY2l0eToxfS5ncmlkLXNodXRkb3duLWJ0bjpob3Zlcjpub3QoOmRpc2FibGVkKXtjb2xvcjojZmZmO2JhY2tncm91bmQ6IzVhMWQxZDtib3JkZXItY29sb3I6I2EzM30uZ3JpZC10aWxlOmhvdmVye2JvcmRlci1jb2xvcjojNTU1IWltcG9ydGFudH1AcHJvcGVydHkgLS10dy10cmFuc2xhdGUteHtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy10cmFuc2xhdGUteXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy10cmFuc2xhdGUtentzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy1yb3RhdGUteHtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXJvdGF0ZS15e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctcm90YXRlLXp7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1za2V3LXh7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1za2V3LXl7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1ib3JkZXItc3R5bGV7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOnNvbGlkfUBwcm9wZXJ0eSAtLXR3LWxlYWRpbmd7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1mb250LXdlaWdodHtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXRyYWNraW5ne3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctb3JkaW5hbHtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXNsYXNoZWQtemVyb3tzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LW51bWVyaWMtZmlndXJle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctbnVtZXJpYy1zcGFjaW5ne3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctbnVtZXJpYy1mcmFjdGlvbntzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXNoYWRvd3tzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MCAwICMwMDAwfUBwcm9wZXJ0eSAtLXR3LXNoYWRvdy1jb2xvcntzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXNoYWRvdy1hbHBoYXtzeW50YXg6IjxwZXJjZW50YWdlPiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZToxMDAlfUBwcm9wZXJ0eSAtLXR3LWluc2V0LXNoYWRvd3tzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MCAwICMwMDAwfUBwcm9wZXJ0eSAtLXR3LWluc2V0LXNoYWRvdy1jb2xvcntzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWluc2V0LXNoYWRvdy1hbHBoYXtzeW50YXg6IjxwZXJjZW50YWdlPiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZToxMDAlfUBwcm9wZXJ0eSAtLXR3LXJpbmctY29sb3J7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1yaW5nLXNoYWRvd3tzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MCAwICMwMDAwfUBwcm9wZXJ0eSAtLXR3LWluc2V0LXJpbmctY29sb3J7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1pbnNldC1yaW5nLXNoYWRvd3tzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MCAwICMwMDAwfUBwcm9wZXJ0eSAtLXR3LXJpbmctaW5zZXR7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1yaW5nLW9mZnNldC13aWR0aHtzeW50YXg6IjxsZW5ndGg+Ijtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjB9QHByb3BlcnR5IC0tdHctcmluZy1vZmZzZXQtY29sb3J7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOiNmZmZ9QHByb3BlcnR5IC0tdHctcmluZy1vZmZzZXQtc2hhZG93e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowIDAgIzAwMDB9QHByb3BlcnR5IC0tdHctb3V0bGluZS1zdHlsZXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6c29saWR9QHByb3BlcnR5IC0tdHctYmx1cntzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWJyaWdodG5lc3N7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1jb250cmFzdHtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWdyYXlzY2FsZXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWh1ZS1yb3RhdGV7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1pbnZlcnR7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1vcGFjaXR5e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctc2F0dXJhdGV7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1zZXBpYXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWRyb3Atc2hhZG93e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctZHJvcC1zaGFkb3ctY29sb3J7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1kcm9wLXNoYWRvdy1hbHBoYXtzeW50YXg6IjxwZXJjZW50YWdlPiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZToxMDAlfUBwcm9wZXJ0eSAtLXR3LWRyb3Atc2hhZG93LXNpemV7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1iYWNrZHJvcC1ibHVye3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzc3tzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWJhY2tkcm9wLWNvbnRyYXN0e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3AtZ3JheXNjYWxle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWJhY2tkcm9wLWludmVydHtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWJhY2tkcm9wLW9wYWNpdHl7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1iYWNrZHJvcC1zYXR1cmF0ZXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWJhY2tkcm9wLXNlcGlhe3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctZHVyYXRpb257c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1lYXNle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QGxheWVyIHByb3BlcnRpZXN7QHN1cHBvcnRzICgoLXdlYmtpdC1oeXBoZW5zOiBub25lKSBhbmQgKCBub3QgKG1hcmdpbi10cmltOiBpbmxpbmUpKSkgb3IgKCgtbW96LW9yaWVudDogaW5saW5lKSBhbmQgKCBub3QgKGNvbG9yOnJnYihmcm9tIHJlZCByIGcgYikpKSl7Kiw6YmVmb3JlLDphZnRlciw6OmJhY2tkcm9wey0tdHctdHJhbnNsYXRlLXg6MDstLXR3LXRyYW5zbGF0ZS15OjA7LS10dy10cmFuc2xhdGUtejowOy0tdHctcm90YXRlLXg6aW5pdGlhbDstLXR3LXJvdGF0ZS15OmluaXRpYWw7LS10dy1yb3RhdGUtejppbml0aWFsOy0tdHctc2tldy14OmluaXRpYWw7LS10dy1za2V3LXk6aW5pdGlhbDstLXR3LWJvcmRlci1zdHlsZTpzb2xpZDstLXR3LWxlYWRpbmc6aW5pdGlhbDstLXR3LWZvbnQtd2VpZ2h0OmluaXRpYWw7LS10dy10cmFja2luZzppbml0aWFsOy0tdHctb3JkaW5hbDppbml0aWFsOy0tdHctc2xhc2hlZC16ZXJvOmluaXRpYWw7LS10dy1udW1lcmljLWZpZ3VyZTppbml0aWFsOy0tdHctbnVtZXJpYy1zcGFjaW5nOmluaXRpYWw7LS10dy1udW1lcmljLWZyYWN0aW9uOmluaXRpYWw7LS10dy1zaGFkb3c6MCAwICMwMDAwOy0tdHctc2hhZG93LWNvbG9yOmluaXRpYWw7LS10dy1zaGFkb3ctYWxwaGE6MTAwJTstLXR3LWluc2V0LXNoYWRvdzowIDAgIzAwMDA7LS10dy1pbnNldC1zaGFkb3ctY29sb3I6aW5pdGlhbDstLXR3LWluc2V0LXNoYWRvdy1hbHBoYToxMDAlOy0tdHctcmluZy1jb2xvcjppbml0aWFsOy0tdHctcmluZy1zaGFkb3c6MCAwICMwMDAwOy0tdHctaW5zZXQtcmluZy1jb2xvcjppbml0aWFsOy0tdHctaW5zZXQtcmluZy1zaGFkb3c6MCAwICMwMDAwOy0tdHctcmluZy1pbnNldDppbml0aWFsOy0tdHctcmluZy1vZmZzZXQtd2lkdGg6MHB4Oy0tdHctcmluZy1vZmZzZXQtY29sb3I6I2ZmZjstLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzowIDAgIzAwMDA7LS10dy1vdXRsaW5lLXN0eWxlOnNvbGlkOy0tdHctYmx1cjppbml0aWFsOy0tdHctYnJpZ2h0bmVzczppbml0aWFsOy0tdHctY29udHJhc3Q6aW5pdGlhbDstLXR3LWdyYXlzY2FsZTppbml0aWFsOy0tdHctaHVlLXJvdGF0ZTppbml0aWFsOy0tdHctaW52ZXJ0OmluaXRpYWw7LS10dy1vcGFjaXR5OmluaXRpYWw7LS10dy1zYXR1cmF0ZTppbml0aWFsOy0tdHctc2VwaWE6aW5pdGlhbDstLXR3LWRyb3Atc2hhZG93OmluaXRpYWw7LS10dy1kcm9wLXNoYWRvdy1jb2xvcjppbml0aWFsOy0tdHctZHJvcC1zaGFkb3ctYWxwaGE6MTAwJTstLXR3LWRyb3Atc2hhZG93LXNpemU6aW5pdGlhbDstLXR3LWJhY2tkcm9wLWJsdXI6aW5pdGlhbDstLXR3LWJhY2tkcm9wLWJyaWdodG5lc3M6aW5pdGlhbDstLXR3LWJhY2tkcm9wLWNvbnRyYXN0OmluaXRpYWw7LS10dy1iYWNrZHJvcC1ncmF5c2NhbGU6aW5pdGlhbDstLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGU6aW5pdGlhbDstLXR3LWJhY2tkcm9wLWludmVydDppbml0aWFsOy0tdHctYmFja2Ryb3Atb3BhY2l0eTppbml0aWFsOy0tdHctYmFja2Ryb3Atc2F0dXJhdGU6aW5pdGlhbDstLXR3LWJhY2tkcm9wLXNlcGlhOmluaXRpYWw7LS10dy1kdXJhdGlvbjppbml0aWFsOy0tdHctZWFzZTppbml0aWFsfX19Cjwvc3R5bGU+CjwvaGVhZD48Ym9keT4KPGRpdiBpZD0icm9vdCI+PC9kaXY+CjwhLS1fX1NJTV9QUkVWSUVXX0NPTkZJR19fLS0+CjxzY3JpcHQgdHlwZT0ibW9kdWxlIj52YXIgQko9T2JqZWN0LmNyZWF0ZTt2YXJ7Z2V0UHJvdG90eXBlT2Y6TEosZGVmaW5lUHJvcGVydHk6UDksZ2V0T3duUHJvcGVydHlOYW1lczp6Sn09T2JqZWN0O3ZhciBVSj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2Z1bmN0aW9uIE5KKCQpe3JldHVybiB0aGlzWyRdfXZhciBISixDSixNSj0oJCxKLFEpPT57dmFyIFo9JCE9bnVsbCYmdHlwZW9mICQ9PT0ib2JqZWN0IjtpZihaKXt2YXIgSz1KP0hKPz89bmV3IFdlYWtNYXA6Q0o/Pz1uZXcgV2Vha01hcCxZPUsuZ2V0KCQpO2lmKFkpcmV0dXJuIFl9UT0kIT1udWxsP0JKKExKKCQpKTp7fTtsZXQgcT1KfHwhJHx8ISQuX19lc01vZHVsZT9QOShRLCJkZWZhdWx0Iix7dmFsdWU6JCxlbnVtZXJhYmxlOiEwfSk6UTtmb3IobGV0IEcgb2YgekooJCkpaWYoIVVKLmNhbGwocSxHKSlQOShxLEcse2dldDpOSi5iaW5kKCQsRyksZW51bWVyYWJsZTohMH0pO2lmKFopSy5zZXQoJCxxKTtyZXR1cm4gcX07dmFyIE9KPSgkLEopPT4oKT0+KEp8fCQoKEo9e2V4cG9ydHM6e319KS5leHBvcnRzLEopLEouZXhwb3J0cyk7dmFyIG40PU9KKCh2RDAsaTQpPT57aTQuZXhwb3J0cz1mdW5jdGlvbigpe3Rocm93IEVycm9yKCJ3cyBkb2VzIG5vdCB3b3JrIGluIHRoZSBicm93c2VyLiBCcm93c2VyIGNsaWVudHMgbXVzdCB1c2UgdGhlIG5hdGl2ZSBXZWJTb2NrZXQgb2JqZWN0Iil9fSk7dmFyIHMyLFExLHc5LEFKLGEwLFQ5LHk5LGI5LG4zLHA1LHIyLHg5LGUzLHIzLGEzLFM5LHU1PXt9LGw1PVtdLGtKPS9hY2l0fGV4KD86c3xnfG58cHwkKXxycGh8Z3JpZHxvd3N8bW5jfG50d3xpbmVbY2hdfHpvb3xeb3JkfGl0ZXJhL2ksdDI9QXJyYXkuaXNBcnJheTtmdW5jdGlvbiBnMCgkLEope2Zvcih2YXIgUSBpbiBKKSRbUV09SltRXTtyZXR1cm4gJH1mdW5jdGlvbiAkOCgkKXskJiYkLnBhcmVudE5vZGUmJiQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCgkKX1mdW5jdGlvbiBuMSgkLEosUSl7dmFyIFosSyxZLHE9e307Zm9yKFkgaW4gSilZPT0ia2V5Ij9aPUpbWV06WT09InJlZiI/Sz1KW1ldOnFbWV09SltZXTtpZihhcmd1bWVudHMubGVuZ3RoPjImJihxLmNoaWxkcmVuPWFyZ3VtZW50cy5sZW5ndGg+Mz9zMi5jYWxsKGFyZ3VtZW50cywyKTpRKSx0eXBlb2YgJD09ImZ1bmN0aW9uIiYmJC5kZWZhdWx0UHJvcHMhPW51bGwpZm9yKFkgaW4gJC5kZWZhdWx0UHJvcHMpcVtZXT09PXZvaWQgMCYmKHFbWV09JC5kZWZhdWx0UHJvcHNbWV0pO3JldHVybiBhMigkLHEsWixLLG51bGwpfWZ1bmN0aW9uIGEyKCQsSixRLFosSyl7dmFyIFk9e3R5cGU6JCxwcm9wczpKLGtleTpRLHJlZjpaLF9fazpudWxsLF9fOm51bGwsX19iOjAsX19lOm51bGwsX19jOm51bGwsY29uc3RydWN0b3I6dm9pZCAwLF9fdjpLPT1udWxsPysrdzk6SyxfX2k6LTEsX191OjB9O3JldHVybiBLPT1udWxsJiZRMS52bm9kZSE9bnVsbCYmUTEudm5vZGUoWSksWX1mdW5jdGlvbiBlMigpe3JldHVybntjdXJyZW50Om51bGx9fWZ1bmN0aW9uIFkxKCQpe3JldHVybiAkLmNoaWxkcmVufWZ1bmN0aW9uIHQxKCQsSil7dGhpcy5wcm9wcz0kLHRoaXMuY29udGV4dD1KfWZ1bmN0aW9uIFcyKCQsSil7aWYoSj09bnVsbClyZXR1cm4gJC5fXz9XMigkLl9fLCQuX19pKzEpOm51bGw7Zm9yKHZhciBRO0o8JC5fX2subGVuZ3RoO0orKylpZigoUT0kLl9fa1tKXSkhPW51bGwmJlEuX19lIT1udWxsKXJldHVybiBRLl9fZTtyZXR1cm4gdHlwZW9mICQudHlwZT09ImZ1bmN0aW9uIj9XMigkKTpudWxsfWZ1bmN0aW9uIEZKKCQpe2lmKCQuX19QJiYkLl9fZCl7dmFyIEo9JC5fX3YsUT1KLl9fZSxaPVtdLEs9W10sWT1nMCh7fSxKKTtZLl9fdj1KLl9fdisxLFExLnZub2RlJiZRMS52bm9kZShZKSxKOCgkLl9fUCxZLEosJC5fX24sJC5fX1AubmFtZXNwYWNlVVJJLDMyJkouX191P1tRXTpudWxsLFosUT09bnVsbD9XMihKKTpRLCEhKDMyJkouX191KSxLKSxZLl9fdj1KLl9fdixZLl9fLl9fa1tZLl9faV09WSxoOShaLFksSyksSi5fX2U9Si5fXz1udWxsLFkuX19lIT1RJiZqOShZKX19ZnVuY3Rpb24gajkoJCl7aWYoKCQ9JC5fXykhPW51bGwmJiQuX19jIT1udWxsKXJldHVybiAkLl9fZT0kLl9fYy5iYXNlPW51bGwsJC5fX2suc29tZShmdW5jdGlvbihKKXtpZihKIT1udWxsJiZKLl9fZSE9bnVsbClyZXR1cm4gJC5fX2U9JC5fX2MuYmFzZT1KLl9fZX0pLGo5KCQpfWZ1bmN0aW9uIHMzKCQpeyghJC5fX2QmJigkLl9fZD0hMCkmJmEwLnB1c2goJCkmJiFkNS5fX3IrK3x8VDkhPVExLmRlYm91bmNlUmVuZGVyaW5nKSYmKChUOT1RMS5kZWJvdW5jZVJlbmRlcmluZyl8fHk5KShkNSl9ZnVuY3Rpb24gZDUoKXt0cnl7Zm9yKHZhciAkLEo9MTthMC5sZW5ndGg7KWEwLmxlbmd0aD5KJiZhMC5zb3J0KGI5KSwkPWEwLnNoaWZ0KCksSj1hMC5sZW5ndGgsRkooJCl9ZmluYWxseXthMC5sZW5ndGg9ZDUuX19yPTB9fWZ1bmN0aW9uIFI5KCQsSixRLFosSyxZLHEsRyxCLEwseil7dmFyIFYsTixILE8sVSxDLE0saz1aJiZaLl9fa3x8bDUsdz1KLmxlbmd0aDtmb3IoQj1XSihRLEosayxCLHcpLFY9MDtWPHc7VisrKShIPVEuX19rW1ZdKSE9bnVsbCYmKE49SC5fX2khPS0xJiZrW0guX19pXXx8dTUsSC5fX2k9VixDPUo4KCQsSCxOLEssWSxxLEcsQixMLHopLE89SC5fX2UsSC5yZWYmJk4ucmVmIT1ILnJlZiYmKE4ucmVmJiZROChOLnJlZixudWxsLEgpLHoucHVzaChILnJlZixILl9fY3x8TyxIKSksVT09bnVsbCYmTyE9bnVsbCYmKFU9TyksKE09ISEoNCZILl9fdSkpfHxOLl9faz09PUguX19rPyhCPXY5KEgsQiwkLE0pLE0mJk4uX19lJiYoTi5fX2U9bnVsbCkpOnR5cGVvZiBILnR5cGU9PSJmdW5jdGlvbiImJkMhPT12b2lkIDA/Qj1DOk8mJihCPU8ubmV4dFNpYmxpbmcpLEguX191Jj0tNyk7cmV0dXJuIFEuX19lPVUsQn1mdW5jdGlvbiBXSigkLEosUSxaLEspe3ZhciBZLHEsRyxCLEwsej1RLmxlbmd0aCxWPXosTj0wO2ZvcigkLl9faz1BcnJheShLKSxZPTA7WTxLO1krKykocT1KW1ldKSE9bnVsbCYmdHlwZW9mIHEhPSJib29sZWFuIiYmdHlwZW9mIHEhPSJmdW5jdGlvbiI/KHR5cGVvZiBxPT0ic3RyaW5nInx8dHlwZW9mIHE9PSJudW1iZXIifHx0eXBlb2YgcT09ImJpZ2ludCJ8fHEuY29uc3RydWN0b3I9PVN0cmluZz9xPSQuX19rW1ldPWEyKG51bGwscSxudWxsLG51bGwsbnVsbCk6dDIocSk/cT0kLl9fa1tZXT1hMihZMSx7Y2hpbGRyZW46cX0sbnVsbCxudWxsLG51bGwpOnEuY29uc3RydWN0b3I9PT12b2lkIDAmJnEuX19iPjA/cT0kLl9fa1tZXT1hMihxLnR5cGUscS5wcm9wcyxxLmtleSxxLnJlZj9xLnJlZjpudWxsLHEuX192KTokLl9fa1tZXT1xLEI9WStOLHEuX189JCxxLl9fYj0kLl9fYisxLEc9bnVsbCwoTD1xLl9faT1ESihxLFEsQixWKSkhPS0xJiYoVi0tLChHPVFbTF0pJiYoRy5fX3V8PTIpKSxHPT1udWxsfHxHLl9fdj09bnVsbD8oTD09LTEmJihLPno/Ti0tOks8eiYmTisrKSx0eXBlb2YgcS50eXBlIT0iZnVuY3Rpb24iJiYocS5fX3V8PTQpKTpMIT1CJiYoTD09Qi0xP04tLTpMPT1CKzE/TisrOihMPkI/Ti0tOk4rKyxxLl9fdXw9NCkpKTokLl9fa1tZXT1udWxsO2lmKFYpZm9yKFk9MDtZPHo7WSsrKShHPVFbWV0pIT1udWxsJiYoMiZHLl9fdSk9PTAmJihHLl9fZT09WiYmKFo9VzIoRykpLGY5KEcsRykpO3JldHVybiBafWZ1bmN0aW9uIHY5KCQsSixRLFope3ZhciBLLFk7aWYodHlwZW9mICQudHlwZT09ImZ1bmN0aW9uIil7Zm9yKEs9JC5fX2ssWT0wO0smJlk8Sy5sZW5ndGg7WSsrKUtbWV0mJihLW1ldLl9fPSQsSj12OShLW1ldLEosUSxaKSk7cmV0dXJuIEp9JC5fX2UhPUomJihaJiYoSiYmJC50eXBlJiYhSi5wYXJlbnROb2RlJiYoSj1XMigkKSksUS5pbnNlcnRCZWZvcmUoJC5fX2UsSnx8bnVsbCkpLEo9JC5fX2UpO2RvIEo9SiYmSi5uZXh0U2libGluZzt3aGlsZShKIT1udWxsJiZKLm5vZGVUeXBlPT04KTtyZXR1cm4gSn1mdW5jdGlvbiBDMCgkLEope3JldHVybiBKPUp8fFtdLCQ9PW51bGx8fHR5cGVvZiAkPT0iYm9vbGVhbiJ8fCh0MigkKT8kLnNvbWUoZnVuY3Rpb24oUSl7QzAoUSxKKX0pOkoucHVzaCgkKSksSn1mdW5jdGlvbiBESigkLEosUSxaKXt2YXIgSyxZLHEsRz0kLmtleSxCPSQudHlwZSxMPUpbUV0sej1MIT1udWxsJiYoMiZMLl9fdSk9PTA7aWYoTD09PW51bGwmJkc9PW51bGx8fHomJkc9PUwua2V5JiZCPT1MLnR5cGUpcmV0dXJuIFE7aWYoWj4oej8xOjApKXtmb3IoSz1RLTEsWT1RKzE7Sz49MHx8WTxKLmxlbmd0aDspaWYoKEw9SltxPUs+PTA/Sy0tOlkrK10pIT1udWxsJiYoMiZMLl9fdSk9PTAmJkc9PUwua2V5JiZCPT1MLnR5cGUpcmV0dXJuIHF9cmV0dXJuLTF9ZnVuY3Rpb24gRTkoJCxKLFEpe0pbMF09PSItIj8kLnNldFByb3BlcnR5KEosUT09bnVsbD8iIjpRKTokW0pdPVE9PW51bGw/IiI6dHlwZW9mIFEhPSJudW1iZXIifHxrSi50ZXN0KEopP1E6USsicHgifWZ1bmN0aW9uIG01KCQsSixRLFosSyl7dmFyIFkscTskOmlmKEo9PSJzdHlsZSIpaWYodHlwZW9mIFE9PSJzdHJpbmciKSQuc3R5bGUuY3NzVGV4dD1RO2Vsc2V7aWYodHlwZW9mIFo9PSJzdHJpbmciJiYoJC5zdHlsZS5jc3NUZXh0PVo9IiIpLFopZm9yKEogaW4gWilRJiZKIGluIFF8fEU5KCQuc3R5bGUsSiwiIik7aWYoUSlmb3IoSiBpbiBRKVomJlFbSl09PVpbSl18fEU5KCQuc3R5bGUsSixRW0pdKX1lbHNlIGlmKEpbMF09PSJvIiYmSlsxXT09Im4iKVk9SiE9KEo9Si5yZXBsYWNlKHg5LCIkMSIpKSxxPUoudG9Mb3dlckNhc2UoKSxKPXEgaW4gJHx8Sj09Im9uRm9jdXNPdXQifHxKPT0ib25Gb2N1c0luIj9xLnNsaWNlKDIpOkouc2xpY2UoMiksJC5sfHwoJC5sPXt9KSwkLmxbSitZXT1RLFE/Wj9RW3IyXT1aW3IyXTooUVtyMl09ZTMsJC5hZGRFdmVudExpc3RlbmVyKEosWT9hMzpyMyxZKSk6JC5yZW1vdmVFdmVudExpc3RlbmVyKEosWT9hMzpyMyxZKTtlbHNle2lmKEs9PSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIpSj1KLnJlcGxhY2UoL3hsaW5rKEh8OmgpLywiaCIpLnJlcGxhY2UoL3NOYW1lJC8sInMiKTtlbHNlIGlmKEohPSJ3aWR0aCImJkohPSJoZWlnaHQiJiZKIT0iaHJlZiImJkohPSJsaXN0IiYmSiE9ImZvcm0iJiZKIT0idGFiSW5kZXgiJiZKIT0iZG93bmxvYWQiJiZKIT0icm93U3BhbiImJkohPSJjb2xTcGFuIiYmSiE9InJvbGUiJiZKIT0icG9wb3ZlciImJkogaW4gJCl0cnl7JFtKXT1RPT1udWxsPyIiOlE7YnJlYWsgJH1jYXRjaChHKXt9dHlwZW9mIFE9PSJmdW5jdGlvbiJ8fChRPT1udWxsfHxRPT09ITEmJkpbNF0hPSItIj8kLnJlbW92ZUF0dHJpYnV0ZShKKTokLnNldEF0dHJpYnV0ZShKLEo9PSJwb3BvdmVyIiYmUT09MT8iIjpRKSl9fWZ1bmN0aW9uIEk5KCQpe3JldHVybiBmdW5jdGlvbihKKXtpZih0aGlzLmwpe3ZhciBRPXRoaXMubFtKLnR5cGUrJF07aWYoSltwNV09PW51bGwpSltwNV09ZTMrKztlbHNlIGlmKEpbcDVdPFFbcjJdKXJldHVybjtyZXR1cm4gUShRMS5ldmVudD9RMS5ldmVudChKKTpKKX19fWZ1bmN0aW9uIEo4KCQsSixRLFosSyxZLHEsRyxCLEwpe3ZhciB6LFYsTixILE8sVSxDLE0sayx3LFQsUyxQLHYsaix1PUoudHlwZTtpZihKLmNvbnN0cnVjdG9yIT09dm9pZCAwKXJldHVybiBudWxsOzEyOCZRLl9fdSYmKEI9ISEoMzImUS5fX3UpLFk9W0c9Si5fX2U9US5fX2VdKSwoej1RMS5fX2IpJiZ6KEopOyQ6aWYodHlwZW9mIHU9PSJmdW5jdGlvbiIpdHJ5e2lmKE09Si5wcm9wcyxrPXUucHJvdG90eXBlJiZ1LnByb3RvdHlwZS5yZW5kZXIsdz0oej11LmNvbnRleHRUeXBlKSYmWlt6Ll9fY10sVD16P3c/dy5wcm9wcy52YWx1ZTp6Ll9fOlosUS5fX2M/Qz0oVj1KLl9fYz1RLl9fYykuX189Vi5fX0U6KGs/Si5fX2M9Vj1uZXcgdShNLFQpOihKLl9fYz1WPW5ldyB0MShNLFQpLFYuY29uc3RydWN0b3I9dSxWLnJlbmRlcj1QSiksdyYmdy5zdWIoViksVi5zdGF0ZXx8KFYuc3RhdGU9e30pLFYuX19uPVosTj1WLl9fZD0hMCxWLl9faD1bXSxWLl9zYj1bXSksayYmVi5fX3M9PW51bGwmJihWLl9fcz1WLnN0YXRlKSxrJiZ1LmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyE9bnVsbCYmKFYuX19zPT1WLnN0YXRlJiYoVi5fX3M9ZzAoe30sVi5fX3MpKSxnMChWLl9fcyx1LmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhNLFYuX19zKSkpLEg9Vi5wcm9wcyxPPVYuc3RhdGUsVi5fX3Y9SixOKWsmJnUuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzPT1udWxsJiZWLmNvbXBvbmVudFdpbGxNb3VudCE9bnVsbCYmVi5jb21wb25lbnRXaWxsTW91bnQoKSxrJiZWLmNvbXBvbmVudERpZE1vdW50IT1udWxsJiZWLl9faC5wdXNoKFYuY29tcG9uZW50RGlkTW91bnQpO2Vsc2V7aWYoayYmdS5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHM9PW51bGwmJk0hPT1IJiZWLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMhPW51bGwmJlYuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyhNLFQpLEouX192PT1RLl9fdnx8IVYuX19lJiZWLnNob3VsZENvbXBvbmVudFVwZGF0ZSE9bnVsbCYmVi5zaG91bGRDb21wb25lbnRVcGRhdGUoTSxWLl9fcyxUKT09PSExKXtKLl9fdiE9US5fX3YmJihWLnByb3BzPU0sVi5zdGF0ZT1WLl9fcyxWLl9fZD0hMSksSi5fX2U9US5fX2UsSi5fX2s9US5fX2ssSi5fX2suc29tZShmdW5jdGlvbih0KXt0JiYodC5fXz1KKX0pLGw1LnB1c2guYXBwbHkoVi5fX2gsVi5fc2IpLFYuX3NiPVtdLFYuX19oLmxlbmd0aCYmcS5wdXNoKFYpO2JyZWFrICR9Vi5jb21wb25lbnRXaWxsVXBkYXRlIT1udWxsJiZWLmNvbXBvbmVudFdpbGxVcGRhdGUoTSxWLl9fcyxUKSxrJiZWLmNvbXBvbmVudERpZFVwZGF0ZSE9bnVsbCYmVi5fX2gucHVzaChmdW5jdGlvbigpe1YuY29tcG9uZW50RGlkVXBkYXRlKEgsTyxVKX0pfWlmKFYuY29udGV4dD1ULFYucHJvcHM9TSxWLl9fUD0kLFYuX19lPSExLFM9UTEuX19yLFA9MCxrKVYuc3RhdGU9Vi5fX3MsVi5fX2Q9ITEsUyYmUyhKKSx6PVYucmVuZGVyKFYucHJvcHMsVi5zdGF0ZSxWLmNvbnRleHQpLGw1LnB1c2guYXBwbHkoVi5fX2gsVi5fc2IpLFYuX3NiPVtdO2Vsc2UgZG8gVi5fX2Q9ITEsUyYmUyhKKSx6PVYucmVuZGVyKFYucHJvcHMsVi5zdGF0ZSxWLmNvbnRleHQpLFYuc3RhdGU9Vi5fX3M7d2hpbGUoVi5fX2QmJisrUDwyNSk7Vi5zdGF0ZT1WLl9fcyxWLmdldENoaWxkQ29udGV4dCE9bnVsbCYmKFo9ZzAoZzAoe30sWiksVi5nZXRDaGlsZENvbnRleHQoKSkpLGsmJiFOJiZWLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlIT1udWxsJiYoVT1WLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlKEgsTykpLHY9eiE9bnVsbCYmei50eXBlPT09WTEmJnoua2V5PT1udWxsP2c5KHoucHJvcHMuY2hpbGRyZW4pOnosRz1SOSgkLHQyKHYpP3Y6W3ZdLEosUSxaLEssWSxxLEcsQixMKSxWLmJhc2U9Si5fX2UsSi5fX3UmPS0xNjEsVi5fX2gubGVuZ3RoJiZxLnB1c2goViksQyYmKFYuX19FPVYuX189bnVsbCl9Y2F0Y2godCl7aWYoSi5fX3Y9bnVsbCxCfHxZIT1udWxsKWlmKHQudGhlbil7Zm9yKEouX191fD1CPzE2MDoxMjg7RyYmRy5ub2RlVHlwZT09OCYmRy5uZXh0U2libGluZzspRz1HLm5leHRTaWJsaW5nO1lbWS5pbmRleE9mKEcpXT1udWxsLEouX19lPUd9ZWxzZXtmb3Ioaj1ZLmxlbmd0aDtqLS07KSQ4KFlbal0pO3QzKEopfWVsc2UgSi5fX2U9US5fX2UsSi5fX2s9US5fX2ssdC50aGVufHx0MyhKKTtRMS5fX2UodCxKLFEpfWVsc2UgWT09bnVsbCYmSi5fX3Y9PVEuX192PyhKLl9faz1RLl9fayxKLl9fZT1RLl9fZSk6Rz1KLl9fZT1fSihRLl9fZSxKLFEsWixLLFkscSxCLEwpO3JldHVybih6PVExLmRpZmZlZCkmJnooSiksMTI4JkouX191P3ZvaWQgMDpHfWZ1bmN0aW9uIHQzKCQpeyQmJigkLl9fYyYmKCQuX19jLl9fZT0hMCksJC5fX2smJiQuX19rLnNvbWUodDMpKX1mdW5jdGlvbiBoOSgkLEosUSl7Zm9yKHZhciBaPTA7WjxRLmxlbmd0aDtaKyspUTgoUVtaXSxRWysrWl0sUVsrK1pdKTtRMS5fX2MmJlExLl9fYyhKLCQpLCQuc29tZShmdW5jdGlvbihLKXt0cnl7JD1LLl9faCxLLl9faD1bXSwkLnNvbWUoZnVuY3Rpb24oWSl7WS5jYWxsKEspfSl9Y2F0Y2goWSl7UTEuX19lKFksSy5fX3YpfX0pfWZ1bmN0aW9uIGc5KCQpe3JldHVybiB0eXBlb2YgJCE9Im9iamVjdCJ8fCQ9PW51bGx8fCQuX19iPjA/JDp0MigkKT8kLm1hcChnOSk6ZzAoe30sJCl9ZnVuY3Rpb24gX0ooJCxKLFEsWixLLFkscSxHLEIpe3ZhciBMLHosVixOLEgsTyxVLEM9US5wcm9wc3x8dTUsTT1KLnByb3BzLGs9Si50eXBlO2lmKGs9PSJzdmciP0s9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIjprPT0ibWF0aCI/Sz0iaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCI6S3x8KEs9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiKSxZIT1udWxsKXtmb3IoTD0wO0w8WS5sZW5ndGg7TCsrKWlmKChIPVlbTF0pJiYic2V0QXR0cmlidXRlImluIEg9PSEhayYmKGs/SC5sb2NhbE5hbWU9PWs6SC5ub2RlVHlwZT09MykpeyQ9SCxZW0xdPW51bGw7YnJlYWt9fWlmKCQ9PW51bGwpe2lmKGs9PW51bGwpcmV0dXJuIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKE0pOyQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKEssayxNLmlzJiZNKSxHJiYoUTEuX19tJiZRMS5fX20oSixZKSxHPSExKSxZPW51bGx9aWYoaz09bnVsbClDPT09TXx8RyYmJC5kYXRhPT1NfHwoJC5kYXRhPU0pO2Vsc2V7aWYoWT1ZJiZzMi5jYWxsKCQuY2hpbGROb2RlcyksIUcmJlkhPW51bGwpZm9yKEM9e30sTD0wO0w8JC5hdHRyaWJ1dGVzLmxlbmd0aDtMKyspQ1soSD0kLmF0dHJpYnV0ZXNbTF0pLm5hbWVdPUgudmFsdWU7Zm9yKEwgaW4gQylIPUNbTF0sTD09ImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIj9WPUg6TD09ImNoaWxkcmVuInx8KEwgaW4gTSl8fEw9PSJ2YWx1ZSImJigiZGVmYXVsdFZhbHVlImluIE0pfHxMPT0iY2hlY2tlZCImJigiZGVmYXVsdENoZWNrZWQiaW4gTSl8fG01KCQsTCxudWxsLEgsSyk7Zm9yKEwgaW4gTSlIPU1bTF0sTD09ImNoaWxkcmVuIj9OPUg6TD09ImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIj96PUg6TD09InZhbHVlIj9PPUg6TD09ImNoZWNrZWQiP1U9SDpHJiZ0eXBlb2YgSCE9ImZ1bmN0aW9uInx8Q1tMXT09PUh8fG01KCQsTCxILENbTF0sSyk7aWYoeilHfHxWJiYoei5fX2h0bWw9PVYuX19odG1sfHx6Ll9faHRtbD09JC5pbm5lckhUTUwpfHwoJC5pbm5lckhUTUw9ei5fX2h0bWwpLEouX19rPVtdO2Vsc2UgaWYoViYmKCQuaW5uZXJIVE1MPSIiKSxSOShKLnR5cGU9PSJ0ZW1wbGF0ZSI/JC5jb250ZW50OiQsdDIoTik/TjpbTl0sSixRLFosaz09ImZvcmVpZ25PYmplY3QiPyJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIjpLLFkscSxZP1lbMF06US5fX2smJlcyKFEsMCksRyxCKSxZIT1udWxsKWZvcihMPVkubGVuZ3RoO0wtLTspJDgoWVtMXSk7R3x8KEw9InZhbHVlIixrPT0icHJvZ3Jlc3MiJiZPPT1udWxsPyQucmVtb3ZlQXR0cmlidXRlKCJ2YWx1ZSIpOk8hPW51bGwmJihPIT09JFtMXXx8az09InByb2dyZXNzIiYmIU98fGs9PSJvcHRpb24iJiZPIT1DW0xdKSYmbTUoJCxMLE8sQ1tMXSxLKSxMPSJjaGVja2VkIixVIT1udWxsJiZVIT0kW0xdJiZtNSgkLEwsVSxDW0xdLEspKX1yZXR1cm4gJH1mdW5jdGlvbiBROCgkLEosUSl7dHJ5e2lmKHR5cGVvZiAkPT0iZnVuY3Rpb24iKXt2YXIgWj10eXBlb2YgJC5fX3U9PSJmdW5jdGlvbiI7WiYmJC5fX3UoKSxaJiZKPT1udWxsfHwoJC5fX3U9JChKKSl9ZWxzZSAkLmN1cnJlbnQ9Sn1jYXRjaChLKXtRMS5fX2UoSyxRKX19ZnVuY3Rpb24gZjkoJCxKLFEpe3ZhciBaLEs7aWYoUTEudW5tb3VudCYmUTEudW5tb3VudCgkKSwoWj0kLnJlZikmJihaLmN1cnJlbnQmJlouY3VycmVudCE9JC5fX2V8fFE4KFosbnVsbCxKKSksKFo9JC5fX2MpIT1udWxsKXtpZihaLmNvbXBvbmVudFdpbGxVbm1vdW50KXRyeXtaLmNvbXBvbmVudFdpbGxVbm1vdW50KCl9Y2F0Y2goWSl7UTEuX19lKFksSil9Wi5iYXNlPVouX19QPW51bGx9aWYoWj0kLl9faylmb3IoSz0wO0s8Wi5sZW5ndGg7SysrKVpbS10mJmY5KFpbS10sSixRfHx0eXBlb2YgJC50eXBlIT0iZnVuY3Rpb24iKTtRfHwkOCgkLl9fZSksJC5fX2M9JC5fXz0kLl9fZT12b2lkIDB9ZnVuY3Rpb24gUEooJCxKLFEpe3JldHVybiB0aGlzLmNvbnN0cnVjdG9yKCQsUSl9ZnVuY3Rpb24gYzAoJCxKLFEpe3ZhciBaLEssWSxxO0o9PWRvY3VtZW50JiYoSj1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLFExLl9fJiZRMS5fXygkLEopLEs9KFo9dHlwZW9mIFE9PSJmdW5jdGlvbiIpP251bGw6USYmUS5fX2t8fEouX19rLFk9W10scT1bXSxKOChKLCQ9KCFaJiZRfHxKKS5fX2s9bjEoWTEsbnVsbCxbJF0pLEt8fHU1LHU1LEoubmFtZXNwYWNlVVJJLCFaJiZRP1tRXTpLP251bGw6Si5maXJzdENoaWxkP3MyLmNhbGwoSi5jaGlsZE5vZGVzKTpudWxsLFksIVomJlE/UTpLP0suX19lOkouZmlyc3RDaGlsZCxaLHEpLGg5KFksJCxxKX1mdW5jdGlvbiBjNSgkLEope2MwKCQsSixjNSl9ZnVuY3Rpb24gWjgoJCxKLFEpe3ZhciBaLEssWSxxLEc9ZzAoe30sJC5wcm9wcyk7Zm9yKFkgaW4gJC50eXBlJiYkLnR5cGUuZGVmYXVsdFByb3BzJiYocT0kLnR5cGUuZGVmYXVsdFByb3BzKSxKKVk9PSJrZXkiP1o9SltZXTpZPT0icmVmIj9LPUpbWV06R1tZXT1KW1ldPT09dm9pZCAwJiZxIT1udWxsP3FbWV06SltZXTtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD4yJiYoRy5jaGlsZHJlbj1hcmd1bWVudHMubGVuZ3RoPjM/czIuY2FsbChhcmd1bWVudHMsMik6USksYTIoJC50eXBlLEcsWnx8JC5rZXksS3x8JC5yZWYsbnVsbCl9ZnVuY3Rpb24gVDAoJCl7ZnVuY3Rpb24gSihRKXt2YXIgWixLO3JldHVybiB0aGlzLmdldENoaWxkQ29udGV4dHx8KFo9bmV3IFNldCwoSz17fSlbSi5fX2NdPXRoaXMsdGhpcy5nZXRDaGlsZENvbnRleHQ9ZnVuY3Rpb24oKXtyZXR1cm4gS30sdGhpcy5jb21wb25lbnRXaWxsVW5tb3VudD1mdW5jdGlvbigpe1o9bnVsbH0sdGhpcy5zaG91bGRDb21wb25lbnRVcGRhdGU9ZnVuY3Rpb24oWSl7dGhpcy5wcm9wcy52YWx1ZSE9WS52YWx1ZSYmWi5mb3JFYWNoKGZ1bmN0aW9uKHEpe3EuX19lPSEwLHMzKHEpfSl9LHRoaXMuc3ViPWZ1bmN0aW9uKFkpe1ouYWRkKFkpO3ZhciBxPVkuY29tcG9uZW50V2lsbFVubW91bnQ7WS5jb21wb25lbnRXaWxsVW5tb3VudD1mdW5jdGlvbigpe1omJlouZGVsZXRlKFkpLHEmJnEuY2FsbChZKX19KSxRLmNoaWxkcmVufXJldHVybiBKLl9fYz0iX19jQyIrUzkrKyxKLl9fPSQsSi5Qcm92aWRlcj1KLl9fbD0oSi5Db25zdW1lcj1mdW5jdGlvbihRLFope3JldHVybiBRLmNoaWxkcmVuKFopfSkuY29udGV4dFR5cGU9SixKfXMyPWw1LnNsaWNlLFExPXtfX2U6ZnVuY3Rpb24oJCxKLFEsWil7Zm9yKHZhciBLLFkscTtKPUouX187KWlmKChLPUouX19jKSYmIUsuX18pdHJ5e2lmKChZPUsuY29uc3RydWN0b3IpJiZZLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvciE9bnVsbCYmKEsuc2V0U3RhdGUoWS5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IoJCkpLHE9Sy5fX2QpLEsuY29tcG9uZW50RGlkQ2F0Y2ghPW51bGwmJihLLmNvbXBvbmVudERpZENhdGNoKCQsWnx8e30pLHE9Sy5fX2QpLHEpcmV0dXJuIEsuX19FPUt9Y2F0Y2goRyl7JD1HfXRocm93ICR9fSx3OT0wLEFKPWZ1bmN0aW9uKCQpe3JldHVybiAkIT1udWxsJiYkLmNvbnN0cnVjdG9yPT09dm9pZCAwfSx0MS5wcm90b3R5cGUuc2V0U3RhdGU9ZnVuY3Rpb24oJCxKKXt2YXIgUTtRPXRoaXMuX19zIT1udWxsJiZ0aGlzLl9fcyE9dGhpcy5zdGF0ZT90aGlzLl9fczp0aGlzLl9fcz1nMCh7fSx0aGlzLnN0YXRlKSx0eXBlb2YgJD09ImZ1bmN0aW9uIiYmKCQ9JChnMCh7fSxRKSx0aGlzLnByb3BzKSksJCYmZzAoUSwkKSwkIT1udWxsJiZ0aGlzLl9fdiYmKEomJnRoaXMuX3NiLnB1c2goSiksczModGhpcykpfSx0MS5wcm90b3R5cGUuZm9yY2VVcGRhdGU9ZnVuY3Rpb24oJCl7dGhpcy5fX3YmJih0aGlzLl9fZT0hMCwkJiZ0aGlzLl9faC5wdXNoKCQpLHMzKHRoaXMpKX0sdDEucHJvdG90eXBlLnJlbmRlcj1ZMSxhMD1bXSx5OT10eXBlb2YgUHJvbWlzZT09ImZ1bmN0aW9uIj9Qcm9taXNlLnByb3RvdHlwZS50aGVuLmJpbmQoUHJvbWlzZS5yZXNvbHZlKCkpOnNldFRpbWVvdXQsYjk9ZnVuY3Rpb24oJCxKKXtyZXR1cm4gJC5fX3YuX19iLUouX192Ll9fYn0sZDUuX19yPTAsbjM9TWF0aC5yYW5kb20oKS50b1N0cmluZyg4KSxwNT0iX19kIituMyxyMj0iX19hIituMyx4OT0vKFBvaW50ZXJDYXB0dXJlKSR8Q2FwdHVyZSQvaSxlMz0wLHIzPUk5KCExKSxhMz1JOSghMCksUzk9MDt2YXIgczAsUjEsWDgsbTksRDI9MCxuOT1bXSxsMT1RMSxwOT1sMS5fX2IsdTk9bDEuX19yLGw5PWwxLmRpZmZlZCxkOT1sMS5fX2MsYzk9bDEudW5tb3VudCxvOT1sMS5fXztmdW5jdGlvbiBfMigkLEope2wxLl9faCYmbDEuX19oKFIxLCQsRDJ8fEopLEQyPTA7dmFyIFE9UjEuX19IfHwoUjEuX19IPXtfXzpbXSxfX2g6W119KTtyZXR1cm4gJD49US5fXy5sZW5ndGgmJlEuX18ucHVzaCh7fSksUS5fX1skXX1mdW5jdGlvbiBBKCQpe3JldHVybiBEMj0xLEIyKHI5LCQpfWZ1bmN0aW9uIEIyKCQsSixRKXt2YXIgWj1fMihzMCsrLDIpO2lmKFoudD0kLCFaLl9fYyYmKFouX189W1E/UShKKTpyOSh2b2lkIDAsSiksZnVuY3Rpb24oRyl7dmFyIEI9Wi5fX04/Wi5fX05bMF06Wi5fX1swXSxMPVoudChCLEcpO0IhPT1MJiYoWi5fX049W0wsWi5fX1sxXV0sWi5fX2Muc2V0U3RhdGUoe30pKX1dLFouX19jPVIxLCFSMS5fX2YpKXt2YXIgSz1mdW5jdGlvbihHLEIsTCl7aWYoIVouX19jLl9fSClyZXR1cm4hMDt2YXIgej1aLl9fYy5fX0guX18uZmlsdGVyKGZ1bmN0aW9uKE4pe3JldHVybiBOLl9fY30pO2lmKHouZXZlcnkoZnVuY3Rpb24oTil7cmV0dXJuIU4uX19OfSkpcmV0dXJuIVl8fFkuY2FsbCh0aGlzLEcsQixMKTt2YXIgVj1aLl9fYy5wcm9wcyE9PUc7cmV0dXJuIHouc29tZShmdW5jdGlvbihOKXtpZihOLl9fTil7dmFyIEg9Ti5fX1swXTtOLl9fPU4uX19OLE4uX19OPXZvaWQgMCxIIT09Ti5fX1swXSYmKFY9ITApfX0pLFkmJlkuY2FsbCh0aGlzLEcsQixMKXx8Vn07UjEuX19mPSEwO3ZhcntzaG91bGRDb21wb25lbnRVcGRhdGU6WSxjb21wb25lbnRXaWxsVXBkYXRlOnF9PVIxO1IxLmNvbXBvbmVudFdpbGxVcGRhdGU9ZnVuY3Rpb24oRyxCLEwpe2lmKHRoaXMuX19lKXt2YXIgej1ZO1k9dm9pZCAwLEsoRyxCLEwpLFk9en1xJiZxLmNhbGwodGhpcyxHLEIsTCl9LFIxLnNob3VsZENvbXBvbmVudFVwZGF0ZT1LfXJldHVybiBaLl9fTnx8Wi5fX31mdW5jdGlvbiBFKCQsSil7dmFyIFE9XzIoczArKywzKTshbDEuX19zJiZZOChRLl9fSCxKKSYmKFEuX189JCxRLnU9SixSMS5fX0guX19oLnB1c2goUSkpfWZ1bmN0aW9uIEUwKCQsSil7dmFyIFE9XzIoczArKyw0KTshbDEuX19zJiZZOChRLl9fSCxKKSYmKFEuX189JCxRLnU9SixSMS5fX2gucHVzaChRKSl9ZnVuY3Rpb24gRigkKXtyZXR1cm4gRDI9NSxJMShmdW5jdGlvbigpe3JldHVybntjdXJyZW50OiR9fSxbXSl9ZnVuY3Rpb24gaTUoJCxKLFEpe0QyPTYsRTAoZnVuY3Rpb24oKXtpZih0eXBlb2YgJD09ImZ1bmN0aW9uIil7dmFyIFo9JChKKCkpO3JldHVybiBmdW5jdGlvbigpeyQobnVsbCksWiYmdHlwZW9mIFo9PSJmdW5jdGlvbiImJlooKX19aWYoJClyZXR1cm4gJC5jdXJyZW50PUooKSxmdW5jdGlvbigpe3JldHVybiAkLmN1cnJlbnQ9bnVsbH19LFE9PW51bGw/UTpRLmNvbmNhdCgkKSl9ZnVuY3Rpb24gSTEoJCxKKXt2YXIgUT1fMihzMCsrLDcpO3JldHVybiBZOChRLl9fSCxKKSYmKFEuX189JCgpLFEuX19IPUosUS5fX2g9JCksUS5fX31mdW5jdGlvbiBJKCQsSil7cmV0dXJuIEQyPTgsSTEoZnVuY3Rpb24oKXtyZXR1cm4gJH0sSil9ZnVuY3Rpb24gSTAoJCl7dmFyIEo9UjEuY29udGV4dFskLl9fY10sUT1fMihzMCsrLDkpO3JldHVybiBRLmM9JCxKPyhRLl9fPT1udWxsJiYoUS5fXz0hMCxKLnN1YihSMSkpLEoucHJvcHMudmFsdWUpOiQuX199ZnVuY3Rpb24gbjUoJCxKKXtsMS51c2VEZWJ1Z1ZhbHVlJiZsMS51c2VEZWJ1Z1ZhbHVlKEo/SigkKTokKX1mdW5jdGlvbiBQMigpe3ZhciAkPV8yKHMwKyssMTEpO2lmKCEkLl9fKXtmb3IodmFyIEo9UjEuX192O0ohPT1udWxsJiYhSi5fX20mJkouX18hPT1udWxsOylKPUouX187dmFyIFE9Si5fX218fChKLl9fbT1bMCwwXSk7JC5fXz0iUCIrUVswXSsiLSIrUVsxXSsrfXJldHVybiAkLl9ffWZ1bmN0aW9uIFRKKCl7Zm9yKHZhciAkOyQ9bjkuc2hpZnQoKTspe3ZhciBKPSQuX19IO2lmKCQuX19QJiZKKXRyeXtKLl9faC5zb21lKG81KSxKLl9faC5zb21lKEs4KSxKLl9faD1bXX1jYXRjaChRKXtKLl9faD1bXSxsMS5fX2UoUSwkLl9fdil9fX1sMS5fX2I9ZnVuY3Rpb24oJCl7UjE9bnVsbCxwOSYmcDkoJCl9LGwxLl9fPWZ1bmN0aW9uKCQsSil7JCYmSi5fX2smJkouX19rLl9fbSYmKCQuX19tPUouX19rLl9fbSksbzkmJm85KCQsSil9LGwxLl9fcj1mdW5jdGlvbigkKXt1OSYmdTkoJCksczA9MDt2YXIgSj0oUjE9JC5fX2MpLl9fSDtKJiYoWDg9PT1SMT8oSi5fX2g9W10sUjEuX19oPVtdLEouX18uc29tZShmdW5jdGlvbihRKXtRLl9fTiYmKFEuX189US5fX04pLFEudT1RLl9fTj12b2lkIDB9KSk6KEouX19oLnNvbWUobzUpLEouX19oLnNvbWUoSzgpLEouX19oPVtdLHMwPTApKSxYOD1SMX0sbDEuZGlmZmVkPWZ1bmN0aW9uKCQpe2w5JiZsOSgkKTt2YXIgSj0kLl9fYztKJiZKLl9fSCYmKEouX19ILl9faC5sZW5ndGgmJihuOS5wdXNoKEopIT09MSYmbTk9PT1sMS5yZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fCgobTk9bDEucmVxdWVzdEFuaW1hdGlvbkZyYW1lKXx8RUopKFRKKSksSi5fX0guX18uc29tZShmdW5jdGlvbihRKXtRLnUmJihRLl9fSD1RLnUpLFEudT12b2lkIDB9KSksWDg9UjE9bnVsbH0sbDEuX19jPWZ1bmN0aW9uKCQsSil7Si5zb21lKGZ1bmN0aW9uKFEpe3RyeXtRLl9faC5zb21lKG81KSxRLl9faD1RLl9faC5maWx0ZXIoZnVuY3Rpb24oWil7cmV0dXJuIVouX198fEs4KFopfSl9Y2F0Y2goWil7Si5zb21lKGZ1bmN0aW9uKEspe0suX19oJiYoSy5fX2g9W10pfSksSj1bXSxsMS5fX2UoWixRLl9fdil9fSksZDkmJmQ5KCQsSil9LGwxLnVubW91bnQ9ZnVuY3Rpb24oJCl7YzkmJmM5KCQpO3ZhciBKLFE9JC5fX2M7USYmUS5fX0gmJihRLl9fSC5fXy5zb21lKGZ1bmN0aW9uKFope3RyeXtvNShaKX1jYXRjaChLKXtKPUt9fSksUS5fX0g9dm9pZCAwLEomJmwxLl9fZShKLFEuX192KSl9O3ZhciBpOT10eXBlb2YgcmVxdWVzdEFuaW1hdGlvbkZyYW1lPT0iZnVuY3Rpb24iO2Z1bmN0aW9uIEVKKCQpe3ZhciBKLFE9ZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQoWiksaTkmJmNhbmNlbEFuaW1hdGlvbkZyYW1lKEopLHNldFRpbWVvdXQoJCl9LFo9c2V0VGltZW91dChRLDM1KTtpOSYmKEo9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKFEpKX1mdW5jdGlvbiBvNSgkKXt2YXIgSj1SMSxRPSQuX19jO3R5cGVvZiBRPT0iZnVuY3Rpb24iJiYoJC5fX2M9dm9pZCAwLFEoKSksUjE9Sn1mdW5jdGlvbiBLOCgkKXt2YXIgSj1SMTskLl9fYz0kLl9fKCksUjE9Sn1mdW5jdGlvbiBZOCgkLEope3JldHVybiEkfHwkLmxlbmd0aCE9PUoubGVuZ3RofHxKLnNvbWUoZnVuY3Rpb24oUSxaKXtyZXR1cm4gUSE9PSRbWl19KX1mdW5jdGlvbiByOSgkLEope3JldHVybiB0eXBlb2YgSj09ImZ1bmN0aW9uIj9KKCQpOkp9ZnVuY3Rpb24gSUooJCxKKXtmb3IodmFyIFEgaW4gSikkW1FdPUpbUV07cmV0dXJuICR9ZnVuY3Rpb24gYTkoJCxKKXtmb3IodmFyIFEgaW4gJClpZihRIT09Il9fc291cmNlIiYmIShRIGluIEopKXJldHVybiEwO2Zvcih2YXIgWiBpbiBKKWlmKFohPT0iX19zb3VyY2UiJiYkW1pdIT09SltaXSlyZXR1cm4hMDtyZXR1cm4hMX1mdW5jdGlvbiBzOSgkLEope3RoaXMucHJvcHM9JCx0aGlzLmNvbnRleHQ9Sn0oczkucHJvdG90eXBlPW5ldyB0MSkuaXNQdXJlUmVhY3RDb21wb25lbnQ9ITAsczkucHJvdG90eXBlLnNob3VsZENvbXBvbmVudFVwZGF0ZT1mdW5jdGlvbigkLEope3JldHVybiBhOSh0aGlzLnByb3BzLCQpfHxhOSh0aGlzLnN0YXRlLEopfTt2YXIgdDk9UTEuX19iO1ExLl9fYj1mdW5jdGlvbigkKXskLnR5cGUmJiQudHlwZS5fX2YmJiQucmVmJiYoJC5wcm9wcy5yZWY9JC5yZWYsJC5yZWY9bnVsbCksdDkmJnQ5KCQpfTt2YXIgd0o9UTEuX19lO1ExLl9fZT1mdW5jdGlvbigkLEosUSxaKXtpZigkLnRoZW4pe2Zvcih2YXIgSyxZPUo7WT1ZLl9fOylpZigoSz1ZLl9fYykmJksuX19jKXJldHVybiBKLl9fZT09bnVsbCYmKEouX19lPVEuX19lLEouX19rPVEuX19rKSxLLl9fYygkLEopfXdKKCQsSixRLFopfTt2YXIgZTk9UTEudW5tb3VudDtmdW5jdGlvbiBLNigkLEosUSl7cmV0dXJuICQmJigkLl9fYyYmJC5fX2MuX19IJiYoJC5fX2MuX19ILl9fLmZvckVhY2goZnVuY3Rpb24oWil7dHlwZW9mIFouX19jPT0iZnVuY3Rpb24iJiZaLl9fYygpfSksJC5fX2MuX19IPW51bGwpLCgkPUlKKHt9LCQpKS5fX2MhPW51bGwmJigkLl9fYy5fX1A9PT1RJiYoJC5fX2MuX19QPUopLCQuX19jLl9fZT0hMCwkLl9fYz1udWxsKSwkLl9faz0kLl9fayYmJC5fX2subWFwKGZ1bmN0aW9uKFope3JldHVybiBLNihaLEosUSl9KSksJH1mdW5jdGlvbiBZNigkLEosUSl7cmV0dXJuICQmJlEmJigkLl9fdj1udWxsLCQuX19rPSQuX19rJiYkLl9fay5tYXAoZnVuY3Rpb24oWil7cmV0dXJuIFk2KFosSixRKX0pLCQuX19jJiYkLl9fYy5fX1A9PT1KJiYoJC5fX2UmJlEuYXBwZW5kQ2hpbGQoJC5fX2UpLCQuX19jLl9fZT0hMCwkLl9fYy5fX1A9USkpLCR9ZnVuY3Rpb24gcTgoKXt0aGlzLl9fdT0wLHRoaXMubz1udWxsLHRoaXMuX19iPW51bGx9ZnVuY3Rpb24gcTYoJCl7dmFyIEo9JC5fXyYmJC5fXy5fX2M7cmV0dXJuIEomJkouX19hJiZKLl9fYSgkKX1mdW5jdGlvbiByNSgpe3RoaXMuaT1udWxsLHRoaXMubD1udWxsfVExLnVubW91bnQ9ZnVuY3Rpb24oJCl7dmFyIEo9JC5fX2M7SiYmKEouX196PSEwKSxKJiZKLl9fUiYmSi5fX1IoKSxKJiYzMiYkLl9fdSYmKCQudHlwZT1udWxsKSxlOSYmZTkoJCl9LChxOC5wcm90b3R5cGU9bmV3IHQxKS5fX2M9ZnVuY3Rpb24oJCxKKXt2YXIgUT1KLl9fYyxaPXRoaXM7Wi5vPT1udWxsJiYoWi5vPVtdKSxaLm8ucHVzaChRKTt2YXIgSz1xNihaLl9fdiksWT0hMSxxPWZ1bmN0aW9uKCl7WXx8Wi5fX3p8fChZPSEwLFEuX19SPW51bGwsSz9LKEIpOkIoKSl9O1EuX19SPXE7dmFyIEc9US5fX1A7US5fX1A9bnVsbDt2YXIgQj1mdW5jdGlvbigpe2lmKCEtLVouX191KXtpZihaLnN0YXRlLl9fYSl7dmFyIEw9Wi5zdGF0ZS5fX2E7Wi5fX3YuX19rWzBdPVk2KEwsTC5fX2MuX19QLEwuX19jLl9fTyl9dmFyIHo7Zm9yKFouc2V0U3RhdGUoe19fYTpaLl9fYj1udWxsfSk7ej1aLm8ucG9wKCk7KXouX19QPUcsei5mb3JjZVVwZGF0ZSgpfX07Wi5fX3UrK3x8MzImSi5fX3V8fFouc2V0U3RhdGUoe19fYTpaLl9fYj1aLl9fdi5fX2tbMF19KSwkLnRoZW4ocSxxKX0scTgucHJvdG90eXBlLmNvbXBvbmVudFdpbGxVbm1vdW50PWZ1bmN0aW9uKCl7dGhpcy5vPVtdfSxxOC5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKCQsSil7aWYodGhpcy5fX2Ipe2lmKHRoaXMuX192Ll9fayl7dmFyIFE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksWj10aGlzLl9fdi5fX2tbMF0uX19jO3RoaXMuX192Ll9fa1swXT1LNih0aGlzLl9fYixRLFouX19PPVouX19QKX10aGlzLl9fYj1udWxsfXZhciBLPUouX19hJiZuMShZMSxudWxsLCQuZmFsbGJhY2spO3JldHVybiBLJiYoSy5fX3UmPS0zMyksW24xKFkxLG51bGwsSi5fX2E/bnVsbDokLmNoaWxkcmVuKSxLXX07dmFyICQ2PWZ1bmN0aW9uKCQsSixRKXtpZigrK1FbMV09PT1RWzBdJiYkLmwuZGVsZXRlKEopLCQucHJvcHMucmV2ZWFsT3JkZXImJigkLnByb3BzLnJldmVhbE9yZGVyWzBdIT09InQifHwhJC5sLnNpemUpKWZvcihRPSQuaTtROyl7Zm9yKDtRLmxlbmd0aD4zOylRLnBvcCgpKCk7aWYoUVsxXTxRWzBdKWJyZWFrOyQuaT1RPVFbMl19fTsocjUucHJvdG90eXBlPW5ldyB0MSkuX19hPWZ1bmN0aW9uKCQpe3ZhciBKPXRoaXMsUT1xNihKLl9fdiksWj1KLmwuZ2V0KCQpO3JldHVybiBaWzBdKyssZnVuY3Rpb24oSyl7dmFyIFk9ZnVuY3Rpb24oKXtKLnByb3BzLnJldmVhbE9yZGVyPyhaLnB1c2goSyksJDYoSiwkLFopKTpLKCl9O1E/UShZKTpZKCl9fSxyNS5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKCQpe3RoaXMuaT1udWxsLHRoaXMubD1uZXcgTWFwO3ZhciBKPUMwKCQuY2hpbGRyZW4pOyQucmV2ZWFsT3JkZXImJiQucmV2ZWFsT3JkZXJbMF09PT0iYiImJkoucmV2ZXJzZSgpO2Zvcih2YXIgUT1KLmxlbmd0aDtRLS07KXRoaXMubC5zZXQoSltRXSx0aGlzLmk9WzEsMCx0aGlzLmldKTtyZXR1cm4gJC5jaGlsZHJlbn0scjUucHJvdG90eXBlLmNvbXBvbmVudERpZFVwZGF0ZT1yNS5wcm90b3R5cGUuY29tcG9uZW50RGlkTW91bnQ9ZnVuY3Rpb24oKXt2YXIgJD10aGlzO3RoaXMubC5mb3JFYWNoKGZ1bmN0aW9uKEosUSl7JDYoJCxRLEopfSl9O3ZhciB5Sj10eXBlb2YgU3ltYm9sPCJ1IiYmU3ltYm9sLmZvciYmU3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpfHw2MDEwMyxiSj0vXig/OmFjY2VudHxhbGlnbm1lbnR8YXJhYmljfGJhc2VsaW5lfGNhcHxjbGlwKD8hUGF0aFUpfGNvbG9yfGRvbWluYW50fGZpbGx8Zmxvb2R8Zm9udHxnbHlwaCg/IVIpfGhvcml6fGltYWdlKCFTKXxsZXR0ZXJ8bGlnaHRpbmd8bWFya2VyKD8hSHxXfFUpfG92ZXJsaW5lfHBhaW50fHBvaW50ZXJ8c2hhcGV8c3RvcHxzdHJpa2V0aHJvdWdofHN0cm9rZXx0ZXh0KD8hTCl8dHJhbnNmb3JtfHVuZGVybGluZXx1bmljb2RlfHVuaXRzfHZ8dmVjdG9yfHZlcnR8d29yZHx3cml0aW5nfHgoPyFDKSlbQS1aXS8seEo9L15vbihBbml8VHJhfFRvdXxCZWZvcmVJbnB8Q29tcG8pLyxTSj0vW0EtWjAtOV0vZyxqSj10eXBlb2YgZG9jdW1lbnQ8InUiLFJKPWZ1bmN0aW9uKCQpe3JldHVybih0eXBlb2YgU3ltYm9sPCJ1IiYmdHlwZW9mIFN5bWJvbCgpPT0ic3ltYm9sIj8vZmlsfGNoZXxyYWQvOi9maWx8Y2hlfHJhLykudGVzdCgkKX07ZnVuY3Rpb24gRzYoJCxKLFEpe3JldHVybiBKLl9faz09bnVsbCYmKEoudGV4dENvbnRlbnQ9IiIpLGMwKCQsSiksdHlwZW9mIFE9PSJmdW5jdGlvbiImJlEoKSwkPyQuX19jOm51bGx9dDEucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9ITAsWyJjb21wb25lbnRXaWxsTW91bnQiLCJjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIiwiY29tcG9uZW50V2lsbFVwZGF0ZSJdLmZvckVhY2goZnVuY3Rpb24oJCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQxLnByb3RvdHlwZSwkLHtjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXNbIlVOU0FGRV8iKyRdfSxzZXQ6ZnVuY3Rpb24oSil7T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsJCx7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOkp9KX19KX0pO3ZhciBKNj1RMS5ldmVudDtRMS5ldmVudD1mdW5jdGlvbigkKXtyZXR1cm4gSjYmJigkPUo2KCQpKSwkLnBlcnNpc3Q9ZnVuY3Rpb24oKXt9LCQuaXNQcm9wYWdhdGlvblN0b3BwZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jYW5jZWxCdWJibGV9LCQuaXNEZWZhdWx0UHJldmVudGVkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGVmYXVsdFByZXZlbnRlZH0sJC5uYXRpdmVFdmVudD0kfTt2YXIgVjYsdko9e2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jbGFzc319LFE2PVExLnZub2RlO1ExLnZub2RlPWZ1bmN0aW9uKCQpe3R5cGVvZiAkLnR5cGU9PSJzdHJpbmciJiZmdW5jdGlvbihKKXt2YXJ7cHJvcHM6USx0eXBlOlp9PUosSz17fSxZPVouaW5kZXhPZigiLSIpPT0tMTtmb3IodmFyIHEgaW4gUSl7dmFyIEc9UVtxXTtpZighKHE9PT0idmFsdWUiJiYoImRlZmF1bHRWYWx1ZSJpbiBRKSYmRz09bnVsbHx8akomJnE9PT0iY2hpbGRyZW4iJiZaPT09Im5vc2NyaXB0Inx8cT09PSJjbGFzcyJ8fHE9PT0iY2xhc3NOYW1lIikpe3ZhciBCPXEudG9Mb3dlckNhc2UoKTtxPT09ImRlZmF1bHRWYWx1ZSImJiJ2YWx1ZSJpbiBRJiZRLnZhbHVlPT1udWxsP3E9InZhbHVlIjpxPT09ImRvd25sb2FkIiYmRz09PSEwP0c9IiI6Qj09PSJ0cmFuc2xhdGUiJiZHPT09Im5vIj9HPSExOkJbMF09PT0ibyImJkJbMV09PT0ibiI/Qj09PSJvbmRvdWJsZWNsaWNrIj9xPSJvbmRibGNsaWNrIjpCIT09Im9uY2hhbmdlInx8WiE9PSJpbnB1dCImJlohPT0idGV4dGFyZWEifHxSSihRLnR5cGUpP0I9PT0ib25mb2N1cyI/cT0ib25mb2N1c2luIjpCPT09Im9uYmx1ciI/cT0ib25mb2N1c291dCI6eEoudGVzdChxKSYmKHE9Qik6Qj1xPSJvbmlucHV0IjpZJiZiSi50ZXN0KHEpP3E9cS5yZXBsYWNlKFNKLCItJCYiKS50b0xvd2VyQ2FzZSgpOkc9PT1udWxsJiYoRz12b2lkIDApLEI9PT0ib25pbnB1dCImJktbcT1CXSYmKHE9Im9uaW5wdXRDYXB0dXJlIiksS1txXT1HfX1aPT0ic2VsZWN0IiYmKEsubXVsdGlwbGUmJkFycmF5LmlzQXJyYXkoSy52YWx1ZSkmJihLLnZhbHVlPUMwKFEuY2hpbGRyZW4pLmZvckVhY2goZnVuY3Rpb24oTCl7TC5wcm9wcy5zZWxlY3RlZD1LLnZhbHVlLmluZGV4T2YoTC5wcm9wcy52YWx1ZSkhPS0xfSkpLEsuZGVmYXVsdFZhbHVlIT1udWxsJiYoSy52YWx1ZT1DMChRLmNoaWxkcmVuKS5mb3JFYWNoKGZ1bmN0aW9uKEwpe0wucHJvcHMuc2VsZWN0ZWQ9Sy5tdWx0aXBsZT9LLmRlZmF1bHRWYWx1ZS5pbmRleE9mKEwucHJvcHMudmFsdWUpIT0tMTpLLmRlZmF1bHRWYWx1ZT09TC5wcm9wcy52YWx1ZX0pKSksUS5jbGFzcyYmIVEuY2xhc3NOYW1lPyhLLmNsYXNzPVEuY2xhc3MsT2JqZWN0LmRlZmluZVByb3BlcnR5KEssImNsYXNzTmFtZSIsdkopKTpRLmNsYXNzTmFtZSYmKEsuY2xhc3M9Sy5jbGFzc05hbWU9US5jbGFzc05hbWUpLEoucHJvcHM9S30oJCksJC4kJHR5cGVvZj15SixRNiYmUTYoJCl9O3ZhciBaNj1RMS5fX3I7UTEuX19yPWZ1bmN0aW9uKCQpe1o2JiZaNigkKSxWNj0kLl9fY307dmFyIFg2PVExLmRpZmZlZDtRMS5kaWZmZWQ9ZnVuY3Rpb24oJCl7WDYmJlg2KCQpO3Zhcntwcm9wczpKLF9fZTpRfT0kO1EhPW51bGwmJiQudHlwZT09PSJ0ZXh0YXJlYSImJiJ2YWx1ZSJpbiBKJiZKLnZhbHVlIT09US52YWx1ZSYmKFEudmFsdWU9Si52YWx1ZT09bnVsbD8iIjpKLnZhbHVlKSxWNj1udWxsfTtmdW5jdGlvbiBCNigkKXtyZXR1cm4hISQuX19rJiYoYzAobnVsbCwkKSwhMCl9ZnVuY3Rpb24gTDYoJCl7cmV0dXJue3JlbmRlcjpmdW5jdGlvbihKKXtHNihKLCQpfSx1bm1vdW50OmZ1bmN0aW9uKCl7QjYoJCl9fX1mdW5jdGlvbiBrNigkLEope2Zvcih2YXIgUSBpbiBKKSRbUV09SltRXTtyZXR1cm4gJH1mdW5jdGlvbiBWOCgkLEope2Zvcih2YXIgUSBpbiAkKWlmKFEhPT0iX19zb3VyY2UiJiYhKFEgaW4gSikpcmV0dXJuITA7Zm9yKHZhciBaIGluIEopaWYoWiE9PSJfX3NvdXJjZSImJiRbWl0hPT1KW1pdKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIEY2KCQsSil7dmFyIFE9SigpLFo9QSh7dDp7X186USx1Okp9fSksSz1aWzBdLnQsWT1aWzFdO3JldHVybiBFMChmdW5jdGlvbigpe0suX189USxLLnU9SixHOChLKSYmWSh7dDpLfSl9LFskLFEsSl0pLEUoZnVuY3Rpb24oKXtyZXR1cm4gRzgoSykmJlkoe3Q6S30pLCQoZnVuY3Rpb24oKXtHOChLKSYmWSh7dDpLfSl9KX0sWyRdKSxRfWZ1bmN0aW9uIEc4KCQpe3RyeXtyZXR1cm4hKChKPSQuX18pPT09KFE9JC51KCkpJiYoSiE9PTB8fDEvSj09MS9RKXx8SiE9SiYmUSE9USl9Y2F0Y2goWil7cmV0dXJuITB9dmFyIEosUX1mdW5jdGlvbiBXNigkKXskKCl9ZnVuY3Rpb24gRDYoJCl7cmV0dXJuICR9ZnVuY3Rpb24gXzYoKXtyZXR1cm5bITEsVzZdfXZhciBQNj1FMDtmdW5jdGlvbiBCOCgkLEope3RoaXMucHJvcHM9JCx0aGlzLmNvbnRleHQ9Sn1mdW5jdGlvbiBMMigkLEope2Z1bmN0aW9uIFEoSyl7dmFyIFk9dGhpcy5wcm9wcy5yZWY7cmV0dXJuIFkhPUsucmVmJiZZJiYodHlwZW9mIFk9PSJmdW5jdGlvbiI/WShudWxsKTpZLmN1cnJlbnQ9bnVsbCksSj8hSih0aGlzLnByb3BzLEspfHxZIT1LLnJlZjpWOCh0aGlzLnByb3BzLEspfWZ1bmN0aW9uIFooSyl7cmV0dXJuIHRoaXMuc2hvdWxkQ29tcG9uZW50VXBkYXRlPVEsbjEoJCxLKX1yZXR1cm4gWi5kaXNwbGF5TmFtZT0iTWVtbygiKygkLmRpc3BsYXlOYW1lfHwkLm5hbWUpKyIpIixaLl9fZj1aLnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50PSEwLFoudHlwZT0kLFp9KEI4LnByb3RvdHlwZT1uZXcgdDEpLmlzUHVyZVJlYWN0Q29tcG9uZW50PSEwLEI4LnByb3RvdHlwZS5zaG91bGRDb21wb25lbnRVcGRhdGU9ZnVuY3Rpb24oJCxKKXtyZXR1cm4gVjgodGhpcy5wcm9wcywkKXx8VjgodGhpcy5zdGF0ZSxKKX07dmFyIHo2PVExLl9fYjtRMS5fX2I9ZnVuY3Rpb24oJCl7JC50eXBlJiYkLnR5cGUuX19mJiYkLnJlZiYmKCQucHJvcHMucmVmPSQucmVmLCQucmVmPW51bGwpLHo2JiZ6NigkKX07dmFyIGhKPXR5cGVvZiBTeW1ib2w8InUiJiZTeW1ib2wuZm9yJiZTeW1ib2wuZm9yKCJyZWFjdC5mb3J3YXJkX3JlZiIpfHwzOTExO2Z1bmN0aW9uIGowKCQpe2Z1bmN0aW9uIEooUSl7dmFyIFo9azYoe30sUSk7cmV0dXJuIGRlbGV0ZSBaLnJlZiwkKFosUS5yZWZ8fG51bGwpfXJldHVybiBKLiQkdHlwZW9mPWhKLEoucmVuZGVyPSQsSi5wcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudD1KLl9fZj0hMCxKLmRpc3BsYXlOYW1lPSJGb3J3YXJkUmVmKCIrKCQuZGlzcGxheU5hbWV8fCQubmFtZSkrIikiLEp9dmFyIFU2PWZ1bmN0aW9uKCQsSil7cmV0dXJuICQ9PW51bGw/bnVsbDpDMChDMCgkKS5tYXAoSikpfSxnSj17bWFwOlU2LGZvckVhY2g6VTYsY291bnQ6ZnVuY3Rpb24oJCl7cmV0dXJuICQ/QzAoJCkubGVuZ3RoOjB9LG9ubHk6ZnVuY3Rpb24oJCl7dmFyIEo9QzAoJCk7aWYoSi5sZW5ndGghPT0xKXRocm93IkNoaWxkcmVuLm9ubHkiO3JldHVybiBKWzBdfSx0b0FycmF5OkMwfSxmSj1RMS5fX2U7UTEuX19lPWZ1bmN0aW9uKCQsSixRLFope2lmKCQudGhlbil7Zm9yKHZhciBLLFk9SjtZPVkuX187KWlmKChLPVkuX19jKSYmSy5fX2MpcmV0dXJuIEouX19lPT1udWxsJiYoSi5fX2U9US5fX2UsSi5fX2s9US5fX2spLEsuX19jKCQsSil9ZkooJCxKLFEsWil9O3ZhciBONj1RMS51bm1vdW50O2Z1bmN0aW9uIFQ2KCQsSixRKXtyZXR1cm4gJCYmKCQuX19jJiYkLl9fYy5fX0gmJigkLl9fYy5fX0guX18uZm9yRWFjaChmdW5jdGlvbihaKXt0eXBlb2YgWi5fX2M9PSJmdW5jdGlvbiImJlouX19jKCl9KSwkLl9fYy5fX0g9bnVsbCksKCQ9azYoe30sJCkpLl9fYyE9bnVsbCYmKCQuX19jLl9fUD09PVEmJigkLl9fYy5fX1A9SiksJC5fX2MuX19lPSEwLCQuX19jPW51bGwpLCQuX19rPSQuX19rJiYkLl9fay5tYXAoZnVuY3Rpb24oWil7cmV0dXJuIFQ2KFosSixRKX0pKSwkfWZ1bmN0aW9uIEU2KCQsSixRKXtyZXR1cm4gJCYmUSYmKCQuX192PW51bGwsJC5fX2s9JC5fX2smJiQuX19rLm1hcChmdW5jdGlvbihaKXtyZXR1cm4gRTYoWixKLFEpfSksJC5fX2MmJiQuX19jLl9fUD09PUomJigkLl9fZSYmUS5hcHBlbmRDaGlsZCgkLl9fZSksJC5fX2MuX19lPSEwLCQuX19jLl9fUD1RKSksJH1mdW5jdGlvbiBhNSgpe3RoaXMuX191PTAsdGhpcy5vPW51bGwsdGhpcy5fX2I9bnVsbH1mdW5jdGlvbiBJNigkKXt2YXIgSj0kLl9fJiYkLl9fLl9fYztyZXR1cm4gSiYmSi5fX2EmJkouX19hKCQpfWZ1bmN0aW9uIG1KKCQpe3ZhciBKLFEsWixLPW51bGw7ZnVuY3Rpb24gWShxKXtpZihKfHwoSj0kKCkpLnRoZW4oZnVuY3Rpb24oRyl7RyYmKEs9Ry5kZWZhdWx0fHxHKSxaPSEwfSxmdW5jdGlvbihHKXtRPUcsWj0hMH0pLFEpdGhyb3cgUTtpZighWil0aHJvdyBKO3JldHVybiBLP24xKEsscSk6bnVsbH1yZXR1cm4gWS5kaXNwbGF5TmFtZT0iTGF6eSIsWS5fX2Y9ITAsWX1mdW5jdGlvbiAkNSgpe3RoaXMuaT1udWxsLHRoaXMubD1udWxsfVExLnVubW91bnQ9ZnVuY3Rpb24oJCl7dmFyIEo9JC5fX2M7SiYmKEouX196PSEwKSxKJiZKLl9fUiYmSi5fX1IoKSxKJiYzMiYkLl9fdSYmKCQudHlwZT1udWxsKSxONiYmTjYoJCl9LChhNS5wcm90b3R5cGU9bmV3IHQxKS5fX2M9ZnVuY3Rpb24oJCxKKXt2YXIgUT1KLl9fYyxaPXRoaXM7Wi5vPT1udWxsJiYoWi5vPVtdKSxaLm8ucHVzaChRKTt2YXIgSz1JNihaLl9fdiksWT0hMSxxPWZ1bmN0aW9uKCl7WXx8Wi5fX3p8fChZPSEwLFEuX19SPW51bGwsSz9LKEIpOkIoKSl9O1EuX19SPXE7dmFyIEc9US5fX1A7US5fX1A9bnVsbDt2YXIgQj1mdW5jdGlvbigpe2lmKCEtLVouX191KXtpZihaLnN0YXRlLl9fYSl7dmFyIEw9Wi5zdGF0ZS5fX2E7Wi5fX3YuX19rWzBdPUU2KEwsTC5fX2MuX19QLEwuX19jLl9fTyl9dmFyIHo7Zm9yKFouc2V0U3RhdGUoe19fYTpaLl9fYj1udWxsfSk7ej1aLm8ucG9wKCk7KXouX19QPUcsei5mb3JjZVVwZGF0ZSgpfX07Wi5fX3UrK3x8MzImSi5fX3V8fFouc2V0U3RhdGUoe19fYTpaLl9fYj1aLl9fdi5fX2tbMF19KSwkLnRoZW4ocSxxKX0sYTUucHJvdG90eXBlLmNvbXBvbmVudFdpbGxVbm1vdW50PWZ1bmN0aW9uKCl7dGhpcy5vPVtdfSxhNS5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKCQsSil7aWYodGhpcy5fX2Ipe2lmKHRoaXMuX192Ll9fayl7dmFyIFE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksWj10aGlzLl9fdi5fX2tbMF0uX19jO3RoaXMuX192Ll9fa1swXT1UNih0aGlzLl9fYixRLFouX19PPVouX19QKX10aGlzLl9fYj1udWxsfXZhciBLPUouX19hJiZuMShZMSxudWxsLCQuZmFsbGJhY2spO3JldHVybiBLJiYoSy5fX3UmPS0zMyksW24xKFkxLG51bGwsSi5fX2E/bnVsbDokLmNoaWxkcmVuKSxLXX07dmFyIEg2PWZ1bmN0aW9uKCQsSixRKXtpZigrK1FbMV09PT1RWzBdJiYkLmwuZGVsZXRlKEopLCQucHJvcHMucmV2ZWFsT3JkZXImJigkLnByb3BzLnJldmVhbE9yZGVyWzBdIT09InQifHwhJC5sLnNpemUpKWZvcihRPSQuaTtROyl7Zm9yKDtRLmxlbmd0aD4zOylRLnBvcCgpKCk7aWYoUVsxXTxRWzBdKWJyZWFrOyQuaT1RPVFbMl19fTtmdW5jdGlvbiBwSigkKXtyZXR1cm4gdGhpcy5nZXRDaGlsZENvbnRleHQ9ZnVuY3Rpb24oKXtyZXR1cm4gJC5jb250ZXh0fSwkLmNoaWxkcmVufWZ1bmN0aW9uIHVKKCQpe3ZhciBKPXRoaXMsUT0kLmg7aWYoSi5jb21wb25lbnRXaWxsVW5tb3VudD1mdW5jdGlvbigpe2MwKG51bGwsSi52KSxKLnY9bnVsbCxKLmg9bnVsbH0sSi5oJiZKLmghPT1RJiZKLmNvbXBvbmVudFdpbGxVbm1vdW50KCksIUoudil7Zm9yKHZhciBaPUouX192O1ohPT1udWxsJiYhWi5fX20mJlouX18hPT1udWxsOylaPVouX187Si5oPVEsSi52PXtub2RlVHlwZToxLHBhcmVudE5vZGU6USxjaGlsZE5vZGVzOltdLF9fazp7X19tOlouX19tfSxjb250YWluczpmdW5jdGlvbigpe3JldHVybiEwfSxuYW1lc3BhY2VVUkk6US5uYW1lc3BhY2VVUkksaW5zZXJ0QmVmb3JlOmZ1bmN0aW9uKEssWSl7dGhpcy5jaGlsZE5vZGVzLnB1c2goSyksSi5oLmluc2VydEJlZm9yZShLLFkpfSxyZW1vdmVDaGlsZDpmdW5jdGlvbihLKXt0aGlzLmNoaWxkTm9kZXMuc3BsaWNlKHRoaXMuY2hpbGROb2Rlcy5pbmRleE9mKEspPj4+MSwxKSxKLmgucmVtb3ZlQ2hpbGQoSyl9fX1jMChuMShwSix7Y29udGV4dDpKLmNvbnRleHR9LCQuX192KSxKLnYpfWZ1bmN0aW9uIEw4KCQsSil7dmFyIFE9bjEodUose19fdjokLGg6Sn0pO3JldHVybiBRLmNvbnRhaW5lckluZm89SixRfSgkNS5wcm90b3R5cGU9bmV3IHQxKS5fX2E9ZnVuY3Rpb24oJCl7dmFyIEo9dGhpcyxRPUk2KEouX192KSxaPUoubC5nZXQoJCk7cmV0dXJuIFpbMF0rKyxmdW5jdGlvbihLKXt2YXIgWT1mdW5jdGlvbigpe0oucHJvcHMucmV2ZWFsT3JkZXI/KFoucHVzaChLKSxINihKLCQsWikpOksoKX07UT9RKFkpOlkoKX19LCQ1LnByb3RvdHlwZS5yZW5kZXI9ZnVuY3Rpb24oJCl7dGhpcy5pPW51bGwsdGhpcy5sPW5ldyBNYXA7dmFyIEo9QzAoJC5jaGlsZHJlbik7JC5yZXZlYWxPcmRlciYmJC5yZXZlYWxPcmRlclswXT09PSJiIiYmSi5yZXZlcnNlKCk7Zm9yKHZhciBRPUoubGVuZ3RoO1EtLTspdGhpcy5sLnNldChKW1FdLHRoaXMuaT1bMSwwLHRoaXMuaV0pO3JldHVybiAkLmNoaWxkcmVufSwkNS5wcm90b3R5cGUuY29tcG9uZW50RGlkVXBkYXRlPSQ1LnByb3RvdHlwZS5jb21wb25lbnREaWRNb3VudD1mdW5jdGlvbigpe3ZhciAkPXRoaXM7dGhpcy5sLmZvckVhY2goZnVuY3Rpb24oSixRKXtINigkLFEsSil9KX07dmFyIHc2PXR5cGVvZiBTeW1ib2w8InUiJiZTeW1ib2wuZm9yJiZTeW1ib2wuZm9yKCJyZWFjdC5lbGVtZW50Iil8fDYwMTAzLGxKPS9eKD86YWNjZW50fGFsaWdubWVudHxhcmFiaWN8YmFzZWxpbmV8Y2FwfGNsaXAoPyFQYXRoVSl8Y29sb3J8ZG9taW5hbnR8ZmlsbHxmbG9vZHxmb250fGdseXBoKD8hUil8aG9yaXp8aW1hZ2UoIVMpfGxldHRlcnxsaWdodGluZ3xtYXJrZXIoPyFIfFd8VSl8b3ZlcmxpbmV8cGFpbnR8cG9pbnRlcnxzaGFwZXxzdG9wfHN0cmlrZXRocm91Z2h8c3Ryb2tlfHRleHQoPyFMKXx0cmFuc2Zvcm18dW5kZXJsaW5lfHVuaWNvZGV8dW5pdHN8dnx2ZWN0b3J8dmVydHx3b3JkfHdyaXRpbmd8eCg/IUMpKVtBLVpdLyxkSj0vXm9uKEFuaXxUcmF8VG91fEJlZm9yZUlucHxDb21wbykvLGNKPS9bQS1aMC05XS9nLG9KPXR5cGVvZiBkb2N1bWVudDwidSIsaUo9ZnVuY3Rpb24oJCl7cmV0dXJuKHR5cGVvZiBTeW1ib2w8InUiJiZ0eXBlb2YgU3ltYm9sKCk9PSJzeW1ib2wiPy9maWx8Y2hlfHJhZC86L2ZpbHxjaGV8cmEvKS50ZXN0KCQpfTtmdW5jdGlvbiBuSigkLEosUSl7cmV0dXJuIEouX19rPT1udWxsJiYoSi50ZXh0Q29udGVudD0iIiksYzAoJCxKKSx0eXBlb2YgUT09ImZ1bmN0aW9uIiYmUSgpLCQ/JC5fX2M6bnVsbH1mdW5jdGlvbiBySigkLEosUSl7cmV0dXJuIGM1KCQsSiksdHlwZW9mIFE9PSJmdW5jdGlvbiImJlEoKSwkPyQuX19jOm51bGx9dDEucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9ITAsWyJjb21wb25lbnRXaWxsTW91bnQiLCJjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIiwiY29tcG9uZW50V2lsbFVwZGF0ZSJdLmZvckVhY2goZnVuY3Rpb24oJCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQxLnByb3RvdHlwZSwkLHtjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXNbIlVOU0FGRV8iKyRdfSxzZXQ6ZnVuY3Rpb24oSil7T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsJCx7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOkp9KX19KX0pO3ZhciBDNj1RMS5ldmVudDtRMS5ldmVudD1mdW5jdGlvbigkKXtyZXR1cm4gQzYmJigkPUM2KCQpKSwkLnBlcnNpc3Q9ZnVuY3Rpb24oKXt9LCQuaXNQcm9wYWdhdGlvblN0b3BwZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jYW5jZWxCdWJibGV9LCQuaXNEZWZhdWx0UHJldmVudGVkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGVmYXVsdFByZXZlbnRlZH0sJC5uYXRpdmVFdmVudD0kfTt2YXIgejgsYUo9e2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jbGFzc319LE02PVExLnZub2RlO1ExLnZub2RlPWZ1bmN0aW9uKCQpe3R5cGVvZiAkLnR5cGU9PSJzdHJpbmciJiZmdW5jdGlvbihKKXt2YXJ7cHJvcHM6USx0eXBlOlp9PUosSz17fSxZPVouaW5kZXhPZigiLSIpPT0tMTtmb3IodmFyIHEgaW4gUSl7dmFyIEc9UVtxXTtpZighKHE9PT0idmFsdWUiJiYoImRlZmF1bHRWYWx1ZSJpbiBRKSYmRz09bnVsbHx8b0omJnE9PT0iY2hpbGRyZW4iJiZaPT09Im5vc2NyaXB0Inx8cT09PSJjbGFzcyJ8fHE9PT0iY2xhc3NOYW1lIikpe3ZhciBCPXEudG9Mb3dlckNhc2UoKTtxPT09ImRlZmF1bHRWYWx1ZSImJiJ2YWx1ZSJpbiBRJiZRLnZhbHVlPT1udWxsP3E9InZhbHVlIjpxPT09ImRvd25sb2FkIiYmRz09PSEwP0c9IiI6Qj09PSJ0cmFuc2xhdGUiJiZHPT09Im5vIj9HPSExOkJbMF09PT0ibyImJkJbMV09PT0ibiI/Qj09PSJvbmRvdWJsZWNsaWNrIj9xPSJvbmRibGNsaWNrIjpCIT09Im9uY2hhbmdlInx8WiE9PSJpbnB1dCImJlohPT0idGV4dGFyZWEifHxpSihRLnR5cGUpP0I9PT0ib25mb2N1cyI/cT0ib25mb2N1c2luIjpCPT09Im9uYmx1ciI/cT0ib25mb2N1c291dCI6ZEoudGVzdChxKSYmKHE9Qik6Qj1xPSJvbmlucHV0IjpZJiZsSi50ZXN0KHEpP3E9cS5yZXBsYWNlKGNKLCItJCYiKS50b0xvd2VyQ2FzZSgpOkc9PT1udWxsJiYoRz12b2lkIDApLEI9PT0ib25pbnB1dCImJktbcT1CXSYmKHE9Im9uaW5wdXRDYXB0dXJlIiksS1txXT1HfX1aPT0ic2VsZWN0IiYmKEsubXVsdGlwbGUmJkFycmF5LmlzQXJyYXkoSy52YWx1ZSkmJihLLnZhbHVlPUMwKFEuY2hpbGRyZW4pLmZvckVhY2goZnVuY3Rpb24oTCl7TC5wcm9wcy5zZWxlY3RlZD1LLnZhbHVlLmluZGV4T2YoTC5wcm9wcy52YWx1ZSkhPS0xfSkpLEsuZGVmYXVsdFZhbHVlIT1udWxsJiYoSy52YWx1ZT1DMChRLmNoaWxkcmVuKS5mb3JFYWNoKGZ1bmN0aW9uKEwpe0wucHJvcHMuc2VsZWN0ZWQ9Sy5tdWx0aXBsZT9LLmRlZmF1bHRWYWx1ZS5pbmRleE9mKEwucHJvcHMudmFsdWUpIT0tMTpLLmRlZmF1bHRWYWx1ZT09TC5wcm9wcy52YWx1ZX0pKSksUS5jbGFzcyYmIVEuY2xhc3NOYW1lPyhLLmNsYXNzPVEuY2xhc3MsT2JqZWN0LmRlZmluZVByb3BlcnR5KEssImNsYXNzTmFtZSIsYUopKTpRLmNsYXNzTmFtZSYmKEsuY2xhc3M9Sy5jbGFzc05hbWU9US5jbGFzc05hbWUpLEoucHJvcHM9S30oJCksJC4kJHR5cGVvZj13NixNNiYmTTYoJCl9O3ZhciBPNj1RMS5fX3I7UTEuX19yPWZ1bmN0aW9uKCQpe082JiZPNigkKSx6OD0kLl9fY307dmFyIEE2PVExLmRpZmZlZDtRMS5kaWZmZWQ9ZnVuY3Rpb24oJCl7QTYmJkE2KCQpO3Zhcntwcm9wczpKLF9fZTpRfT0kO1EhPW51bGwmJiQudHlwZT09PSJ0ZXh0YXJlYSImJiJ2YWx1ZSJpbiBKJiZKLnZhbHVlIT09US52YWx1ZSYmKFEudmFsdWU9Si52YWx1ZT09bnVsbD8iIjpKLnZhbHVlKSx6OD1udWxsfTt2YXIgc0o9e1JlYWN0Q3VycmVudERpc3BhdGNoZXI6e2N1cnJlbnQ6e3JlYWRDb250ZXh0OmZ1bmN0aW9uKCQpe3JldHVybiB6OC5fX25bJC5fX2NdLnByb3BzLnZhbHVlfSx1c2VDYWxsYmFjazpJLHVzZUNvbnRleHQ6STAsdXNlRGVidWdWYWx1ZTpuNSx1c2VEZWZlcnJlZFZhbHVlOkQ2LHVzZUVmZmVjdDpFLHVzZUlkOlAyLHVzZUltcGVyYXRpdmVIYW5kbGU6aTUsdXNlSW5zZXJ0aW9uRWZmZWN0OlA2LHVzZUxheW91dEVmZmVjdDpFMCx1c2VNZW1vOkkxLHVzZVJlZHVjZXI6QjIsdXNlUmVmOkYsdXNlU3RhdGU6QSx1c2VTeW5jRXh0ZXJuYWxTdG9yZTpGNix1c2VUcmFuc2l0aW9uOl82fX19O2Z1bmN0aW9uIHRKKCQpe3JldHVybiBuMS5iaW5kKG51bGwsJCl9ZnVuY3Rpb24gczUoJCl7cmV0dXJuISEkJiYkLiQkdHlwZW9mPT09dzZ9ZnVuY3Rpb24gZUooJCl7cmV0dXJuIHM1KCQpJiYkLnR5cGU9PT1ZMX1mdW5jdGlvbiAkUSgkKXtyZXR1cm4hISQmJnR5cGVvZiAkLmRpc3BsYXlOYW1lPT0ic3RyaW5nIiYmJC5kaXNwbGF5TmFtZS5pbmRleE9mKCJNZW1vKCIpPT0wfWZ1bmN0aW9uIEpRKCQpe3JldHVybiBzNSgkKT9aOC5hcHBseShudWxsLGFyZ3VtZW50cyk6JH1mdW5jdGlvbiBRUSgkKXtyZXR1cm4hISQuX19rJiYoYzAobnVsbCwkKSwhMCl9ZnVuY3Rpb24gWlEoJCl7cmV0dXJuICQmJigkLmJhc2V8fCQubm9kZVR5cGU9PT0xJiYkKXx8bnVsbH12YXIgWFE9ZnVuY3Rpb24oJCxKKXtyZXR1cm4gJChKKX0sS1E9ZnVuY3Rpb24oJCxKKXt2YXIgUT1RMS5kZWJvdW5jZVJlbmRlcmluZztRMS5kZWJvdW5jZVJlbmRlcmluZz1mdW5jdGlvbihLKXtyZXR1cm4gSygpfTt2YXIgWj0kKEopO3JldHVybiBRMS5kZWJvdW5jZVJlbmRlcmluZz1RLFp9LFlRPXM1LGY9e3VzZVN0YXRlOkEsdXNlSWQ6UDIsdXNlUmVkdWNlcjpCMix1c2VFZmZlY3Q6RSx1c2VMYXlvdXRFZmZlY3Q6RTAsdXNlSW5zZXJ0aW9uRWZmZWN0OlA2LHVzZVRyYW5zaXRpb246XzYsdXNlRGVmZXJyZWRWYWx1ZTpENix1c2VTeW5jRXh0ZXJuYWxTdG9yZTpGNixzdGFydFRyYW5zaXRpb246VzYsdXNlUmVmOkYsdXNlSW1wZXJhdGl2ZUhhbmRsZTppNSx1c2VNZW1vOkkxLHVzZUNhbGxiYWNrOkksdXNlQ29udGV4dDpJMCx1c2VEZWJ1Z1ZhbHVlOm41LHZlcnNpb246IjE4LjMuMSIsQ2hpbGRyZW46Z0oscmVuZGVyOm5KLGh5ZHJhdGU6ckosdW5tb3VudENvbXBvbmVudEF0Tm9kZTpRUSxjcmVhdGVQb3J0YWw6TDgsY3JlYXRlRWxlbWVudDpuMSxjcmVhdGVDb250ZXh0OlQwLGNyZWF0ZUZhY3Rvcnk6dEosY2xvbmVFbGVtZW50OkpRLGNyZWF0ZVJlZjplMixGcmFnbWVudDpZMSxpc1ZhbGlkRWxlbWVudDpzNSxpc0VsZW1lbnQ6WVEsaXNGcmFnbWVudDplSixpc01lbW86JFEsZmluZERPTU5vZGU6WlEsQ29tcG9uZW50OnQxLFB1cmVDb21wb25lbnQ6QjgsbWVtbzpMMixmb3J3YXJkUmVmOmowLGZsdXNoU3luYzpLUSx1bnN0YWJsZV9iYXRjaGVkVXBkYXRlczpYUSxTdHJpY3RNb2RlOlkxLFN1c3BlbnNlOmE1LFN1c3BlbnNlTGlzdDokNSxsYXp5Om1KLF9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEOnNKfTt2YXIgSjU9e3BvcnRyYWl0OiJsYW5kc2NhcGVfbGVmdCIsbGFuZHNjYXBlX2xlZnQ6InBvcnRyYWl0X3Vwc2lkZV9kb3duIixwb3J0cmFpdF91cHNpZGVfZG93bjoibGFuZHNjYXBlX3JpZ2h0IixsYW5kc2NhcGVfcmlnaHQ6InBvcnRyYWl0In0sVTg9e3BvcnRyYWl0OiJsYW5kc2NhcGVfcmlnaHQiLGxhbmRzY2FwZV9yaWdodDoicG9ydHJhaXRfdXBzaWRlX2Rvd24iLHBvcnRyYWl0X3Vwc2lkZV9kb3duOiJsYW5kc2NhcGVfbGVmdCIsbGFuZHNjYXBlX2xlZnQ6InBvcnRyYWl0In07dmFyIFQyPTM7ZnVuY3Rpb24gTjgoJCl7cmV0dXJuICQ+PTAuOTM/Mzp2b2lkIDB9ZnVuY3Rpb24gSDgoJCl7cmV0dXJuICQ9PT0ibGFuZHNjYXBlX2xlZnQifHwkPT09ImxhbmRzY2FwZV9yaWdodCJ9ZnVuY3Rpb24gdDAoJCl7cmV0dXJuISEkJiYoSDgoJC5vcmllbnRhdGlvbil8fCQud2lkdGg+JC5oZWlnaHQpfWZ1bmN0aW9uIEUyKCQpe2lmKCEkfHwkLndpZHRoPD0wfHwkLmhlaWdodDw9MClyZXR1cm4gbnVsbDtsZXQgSj1IOCgkLm9yaWVudGF0aW9uKXx8JC53aWR0aD4kLmhlaWdodCxRPUo/TWF0aC5tYXgoJC53aWR0aCwkLmhlaWdodCk6TWF0aC5taW4oJC53aWR0aCwkLmhlaWdodCksWj1KP01hdGgubWluKCQud2lkdGgsJC5oZWlnaHQpOk1hdGgubWF4KCQud2lkdGgsJC5oZWlnaHQpO2lmKFE9PT0kLndpZHRoJiZaPT09JC5oZWlnaHQpcmV0dXJuICQ7cmV0dXJuey4uLiQsd2lkdGg6USxoZWlnaHQ6Wn19ZnVuY3Rpb24gSTIoJCl7bGV0IEo9RTIoJCksUT15NigkPy5vcmllbnRhdGlvbiksWj1NYXRoLmFicyhRKT09PTkwLEs9ISEkJiYkLndpZHRoPiQuaGVpZ2h0LFk9UT09PTE4MHx8WiYmIUs7cmV0dXJue2Rpc3BsYXlDb25maWc6Sixyb3RhdGlvbkRlZ3JlZXM6WT9ROjAsbmVlZHNDc3NSb3RhdGlvbjpZLGlucHV0T3JpZW50YXRpb246WT8kPy5vcmllbnRhdGlvbjp2b2lkIDB9fWZ1bmN0aW9uIHk2KCQpe3N3aXRjaCgkKXtjYXNlImxhbmRzY2FwZV9sZWZ0IjpyZXR1cm4gOTA7Y2FzZSJsYW5kc2NhcGVfcmlnaHQiOnJldHVybi05MDtjYXNlInBvcnRyYWl0X3Vwc2lkZV9kb3duIjpyZXR1cm4gMTgwO2RlZmF1bHQ6cmV0dXJuIDB9fWZ1bmN0aW9uIHcyKCQsSixRKXtzd2l0Y2goJCl7Y2FzZSJsYW5kc2NhcGVfbGVmdCI6cmV0dXJue3g6USx5OjEtSn07Y2FzZSJsYW5kc2NhcGVfcmlnaHQiOnJldHVybnt4OjEtUSx5Okp9O2Nhc2UicG9ydHJhaXRfdXBzaWRlX2Rvd24iOnJldHVybnt4OjEtSix5OjEtUX07ZGVmYXVsdDpyZXR1cm57eDpKLHk6UX19fWZ1bmN0aW9uIGI2KCQsSixRKXtzd2l0Y2goJCl7Y2FzZSJsYW5kc2NhcGVfbGVmdCI6cmV0dXJue2R4OlEsZHk6LUp9O2Nhc2UibGFuZHNjYXBlX3JpZ2h0IjpyZXR1cm57ZHg6LVEsZHk6Sn07Y2FzZSJwb3J0cmFpdF91cHNpZGVfZG93biI6cmV0dXJue2R4Oi1KLGR5Oi1RfTtkZWZhdWx0OnJldHVybntkeDpKLGR5OlF9fX1mdW5jdGlvbiBDOCgkLEope3N3aXRjaCgkKXtjYXNlImxhbmRzY2FwZV9sZWZ0Ijpzd2l0Y2goSil7Y2FzZSAxOnJldHVybiAzO2Nhc2UgNDpyZXR1cm4gMjtjYXNlIDI6cmV0dXJuIDE7Y2FzZSAzOnJldHVybiA0O2RlZmF1bHQ6cmV0dXJuIEp9Y2FzZSJsYW5kc2NhcGVfcmlnaHQiOnN3aXRjaChKKXtjYXNlIDE6cmV0dXJuIDI7Y2FzZSA0OnJldHVybiAzO2Nhc2UgMjpyZXR1cm4gNDtjYXNlIDM6cmV0dXJuIDE7ZGVmYXVsdDpyZXR1cm4gSn1jYXNlInBvcnRyYWl0X3Vwc2lkZV9kb3duIjpzd2l0Y2goSil7Y2FzZSAxOnJldHVybiA0O2Nhc2UgNDpyZXR1cm4gMTtjYXNlIDI6cmV0dXJuIDM7Y2FzZSAzOnJldHVybiAyO2RlZmF1bHQ6cmV0dXJuIEp9ZGVmYXVsdDpyZXR1cm4gSn19dmFyIHg2PTE2O2Z1bmN0aW9uIFE1KCQsSixRKXtpZighTnVtYmVyLmlzRmluaXRlKCQpKXJldHVybiBudWxsO2xldCBaPU51bWJlci5pc0Zpbml0ZShRKSYmUT4wP1E6MSxLPUo9PT0xPyQqMTY6Sj09PTI/JCpaOiQsWT1NYXRoLm1heCgtMjAwLE1hdGgubWluKDIwMCxLKSk7cmV0dXJuIE1hdGguYWJzKFkpPDAuMDE/bnVsbDpZfWZ1bmN0aW9uIE04KCQsSixRKXtpZighTnVtYmVyLmlzRmluaXRlKCQpKXJldHVybiAwO2xldCBaPU51bWJlci5pc0Zpbml0ZShRKSYmUT4wP1E6MTtpZihKPT09MSlyZXR1cm4gJCp4NjtpZihKPT09MilyZXR1cm4gJCpaO3JldHVybiAkfWZ1bmN0aW9uIFM2KCQsSixRKXtpZighSnx8Si53aWR0aDw9MHx8Si5oZWlnaHQ8PTApcmV0dXJuIG51bGw7bGV0IFo9Si5vcmllbnRhdGlvbj09PXZvaWQgMCYmJD8ub3JpZW50YXRpb24/ey4uLkosb3JpZW50YXRpb246JC5vcmllbnRhdGlvbn06SjtpZigkJiYkLndpZHRoPT09Wi53aWR0aCYmJC5oZWlnaHQ9PT1aLmhlaWdodCYmJC5vcmllbnRhdGlvbj09PVoub3JpZW50YXRpb24pcmV0dXJuIG51bGw7cmV0dXJue2NvbmZpZzpaLG5vdGlmeVBhcmVudDpRIT09ImV4dGVybmFsIn19ZnVuY3Rpb24gajYoe3N0cmVhbU1vZGU6JCxhdmNjU3VwcG9ydGVkOkosaGFzRXh0ZXJuYWxJbnB1dDpRLGhhc0V4dGVybmFsRnJhbWVzOlp9KXtsZXQgSz0kPT09ImF2Y2MiJiYhSj8ibWpwZWciOiQsWT1LPT09IndlYnJ0YyIscT1LPT09ImF2Y2MiLEc9Sz09PSJtanBlZyImJlo7cmV0dXJue2VmZmVjdGl2ZVN0cmVhbU1vZGU6Syx1c2VXZWJSdGM6WSx1c2VBdmNjOnEsZXh0ZXJuYWxJbnB1dDpRLGV4dGVybmFsTWpwZWc6RyxvcGVuRGlyZWN0Q29udHJvbFNvY2tldDohUSxvcGVuRGlyZWN0TWpwZWc6Sz09PSJtanBlZyImJiFHfX12YXIgcVE9e1sxXToiZGVzY3JpcHRpb24iLFsyXToia2V5ZnJhbWUiLFszXToiZGVsdGEiLFs0XToic2VlZCJ9O2NsYXNzIHQ1e2J1ZmZlcj1uZXcgVWludDhBcnJheSg2NTUzNik7bGVuPTA7c3RhcnQ9MDthcHBlbmQoJCl7aWYodGhpcy5sZW4rJC5sZW5ndGg+dGhpcy5idWZmZXIubGVuZ3RoKXtpZih0aGlzLnN0YXJ0PjApdGhpcy5idWZmZXIuY29weVdpdGhpbigwLHRoaXMuc3RhcnQsdGhpcy5sZW4pLHRoaXMubGVuLT10aGlzLnN0YXJ0LHRoaXMuc3RhcnQ9MDtpZih0aGlzLmxlbiskLmxlbmd0aD50aGlzLmJ1ZmZlci5sZW5ndGgpe2xldCBKPXRoaXMuYnVmZmVyLmxlbmd0aDt3aGlsZShKPHRoaXMubGVuKyQubGVuZ3RoKUoqPTI7bGV0IFE9bmV3IFVpbnQ4QXJyYXkoSik7US5zZXQodGhpcy5idWZmZXIuc3ViYXJyYXkoMCx0aGlzLmxlbikpLHRoaXMuYnVmZmVyPVF9fXRoaXMuYnVmZmVyLnNldCgkLHRoaXMubGVuKSx0aGlzLmxlbis9JC5sZW5ndGh9cHVzaCgkKXtpZigkLmxlbmd0aD4wKXRoaXMuYXBwZW5kKCQpO2xldCBKPVtdLFE9dGhpcy5idWZmZXI7d2hpbGUodGhpcy5sZW4tdGhpcy5zdGFydD49NCl7bGV0IFo9dGhpcy5zdGFydCxLPShRW1pdPDwyNHxRW1orMV08PDE2fFFbWisyXTw8OHxRW1orM10pPj4+MDtpZih0aGlzLmxlbi1aLTQ8SylicmVhaztpZihLPDEpe3RoaXMuc3RhcnQrPTQ7Y29udGludWV9bGV0IFk9UVtaKzRdLHE9cVFbWV07aWYocSlKLnB1c2goe3R5cGU6cSxwYXlsb2FkOlEuc2xpY2UoWis1LForNCtLKX0pO3RoaXMuc3RhcnQrPTQrS31pZih0aGlzLnN0YXJ0PjApe2lmKHRoaXMuc3RhcnQ8dGhpcy5sZW4pdGhpcy5idWZmZXIuY29weVdpdGhpbigwLHRoaXMuc3RhcnQsdGhpcy5sZW4pO3RoaXMubGVuLT10aGlzLnN0YXJ0LHRoaXMuc3RhcnQ9MH1yZXR1cm4gSn1yZXNldCgpe3RoaXMubGVuPTAsdGhpcy5zdGFydD0wfX1mdW5jdGlvbiBPOCgkKXtpZigkLmxlbmd0aDw0KXJldHVybiJhdmMxLjQyRTAxRSI7bGV0IEo9KFEpPT5RLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCIwIik7cmV0dXJuImF2YzEuIitKKCRbMV0pK0ooJFsyXSkrSigkWzNdKX1mdW5jdGlvbiB6Migpe3JldHVybiB0eXBlb2YgZ2xvYmFsVGhpczwidSImJnR5cGVvZiBnbG9iYWxUaGlzLlZpZGVvRGVjb2RlcjwidSJ9dmFyIEdRPTEwMDAsVlE9MTY2Njc7ZnVuY3Rpb24gQTgoe3VybDokLGVuYWJsZWQ6SixjYW52YXNSZWY6USxvbkZpcnN0RnJhbWU6WixvbkZyYW1lOkssb25EZWNvZGVkRnJhbWU6WSxvbkVycm9yOnEsb25EZWNvZGVyRXJyb3I6R30pe2xldCBCPUYoe29uRmlyc3RGcmFtZTpaLG9uRnJhbWU6SyxvbkRlY29kZWRGcmFtZTpZLG9uRXJyb3I6cSxvbkRlY29kZXJFcnJvcjpHfSk7Qi5jdXJyZW50PXtvbkZpcnN0RnJhbWU6WixvbkZyYW1lOkssb25EZWNvZGVkRnJhbWU6WSxvbkVycm9yOnEsb25EZWNvZGVyRXJyb3I6R30sRSgoKT0+e2lmKCFKfHwhJHx8IXoyKCkpcmV0dXJuO2xldCBMPW5ldyBBYm9ydENvbnRyb2xsZXIsej1uZXcgdDUsVj0hMSxOPSExLEg9ITEsTz0wLFU9bnVsbCxDPW51bGwsTT0oKT0+IVYmJiFMLnNpZ25hbC5hYm9ydGVkLGs9KGEpPT57aWYoQi5jdXJyZW50Lm9uRGVjb2RlckVycm9yKUIuY3VycmVudC5vbkRlY29kZXJFcnJvcigpO2Vsc2UgQi5jdXJyZW50Lm9uRXJyb3I/LihhKX0sdz0oYSxzLFoxLG0pPT57aWYoIU0oKSlyZXR1cm47bGV0IEoxPVEuY3VycmVudDtpZighSjEpcmV0dXJuO2lmKEoxLndpZHRoIT09c3x8SjEuaGVpZ2h0IT09WjEpSjEud2lkdGg9cyxKMS5oZWlnaHQ9WjE7bGV0IFI9SjEuZ2V0Q29udGV4dCgiMmQiKTtpZighUilyZXR1cm47aWYoUi5kcmF3SW1hZ2UoYSwwLDAscyxaMSksQi5jdXJyZW50Lm9uRnJhbWU/LigpLG0mJiFIKUg9ITAsQi5jdXJyZW50Lm9uRGVjb2RlZEZyYW1lPy4oKTtpZighTilOPSEwLEIuY3VycmVudC5vbkZpcnN0RnJhbWU/LigpfSxUPSgpPT5uZXcgVmlkZW9EZWNvZGVyKHtvdXRwdXQ6KGEpPT57dHJ5e2lmKE0oKSl3KGEsYS5kaXNwbGF5V2lkdGgsYS5kaXNwbGF5SGVpZ2h0LCEwKX1maW5hbGx5e2EuY2xvc2UoKX19LGVycm9yOihhKT0+ayhgZGVjb2RlcjogJHthLm1lc3NhZ2V9YCl9KSxTPWFzeW5jKGEpPT57bGV0IHM9YXdhaXQgY3JlYXRlSW1hZ2VCaXRtYXAobmV3IEJsb2IoW2FdLHt0eXBlOiJpbWFnZS9qcGVnIn0pKTt0cnl7aWYoTSgpKXcocyxzLndpZHRoLHMuaGVpZ2h0LCExKX1maW5hbGx5e3MuY2xvc2UoKX19LFA9KGEpPT57aWYoIUN8fEMuc3RhdGU9PT0iY2xvc2VkIilDPVQoKTt0cnl7Qy5jb25maWd1cmUoe2NvZGVjOk84KGEpLGRlc2NyaXB0aW9uOmEsb3B0aW1pemVGb3I6ImxhdGVuY3kiLGhhcmR3YXJlQWNjZWxlcmF0aW9uOiJwcmVmZXItaGFyZHdhcmUifSl9Y2F0Y2gocyl7ayhgY29uZmlnOiAke3MubWVzc2FnZX1gKX19LHY9KGEscyk9PntpZihDPy5zdGF0ZSE9PSJjb25maWd1cmVkIilyZXR1cm47dHJ5e0MuZGVjb2RlKG5ldyBFbmNvZGVkVmlkZW9DaHVuayh7dHlwZTphPT09ImtleWZyYW1lIj8ia2V5IjoiZGVsdGEiLHRpbWVzdGFtcDpPLGRhdGE6c30pKSxPKz1WUX1jYXRjaHt9fSxqPShhLHMpPT57c3dpdGNoKGEpe2Nhc2Uic2VlZCI6UyhzKS5jYXRjaCgoKT0+e30pO3JldHVybjtjYXNlImRlc2NyaXB0aW9uIjpQKHMpO3JldHVybjtjYXNlImtleWZyYW1lIjpjYXNlImRlbHRhIjp2KGEscyk7cmV0dXJufX0sdT0oKT0+e2lmKCFNKCl8fFUpcmV0dXJuO1U9c2V0VGltZW91dCgoKT0+e1U9bnVsbCx0KCl9LEdRKX0sdD1hc3luYygpPT57ei5yZXNldCgpO3RyeXtsZXQgcz0oYXdhaXQgZmV0Y2goYCR7JH0vc3RyZWFtLmF2Y2NgLHtzaWduYWw6TC5zaWduYWx9KSkuYm9keT8uZ2V0UmVhZGVyKCk7aWYoIXMpcmV0dXJuO2Zvcig7Oyl7bGV0e2RvbmU6WjEsdmFsdWU6bX09YXdhaXQgcy5yZWFkKCk7aWYoWjEpYnJlYWs7aWYoIW0pY29udGludWU7Zm9yKGxldCBKMSBvZiB6LnB1c2gobSkpaihKMS50eXBlLEoxLnBheWxvYWQpfX1jYXRjaHt9ZmluYWxseXtpZihNKCkpdSgpfX07cmV0dXJuIHQoKSwoKT0+e2lmKFY9ITAsVSljbGVhclRpbWVvdXQoVSk7aWYoTC5hYm9ydCgpLHoucmVzZXQoKSxDJiZDLnN0YXRlIT09ImNsb3NlZCIpdHJ5e0MuY2xvc2UoKX1jYXRjaHt9Qz1udWxsfX0sWyQsSixRXSl9dmFyIFI2PTI4MDt2YXIgJDM9MTM2O2Z1bmN0aW9uIGs4KCQsSil7cmV0dXJuICQ+MCYmSj4wJiYkLUo+PTEyMH1mdW5jdGlvbiBaNSgpe2lmKHR5cGVvZiB3aW5kb3c+InUiKXJldHVybiExO2xldCAkPXdpbmRvdy52aXN1YWxWaWV3cG9ydDtyZXR1cm4gazgod2luZG93LmlubmVySGVpZ2h0LCQ/LmhlaWdodD8/d2luZG93LmlubmVySGVpZ2h0KX12YXIgRjg9MCxXOD0id2lkdGggNzBtcyBsaW5lYXIiO3ZhciBKMz0yODAsUTM9InRyYW5zZm9ybSAwLjI4cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpIix2Nj0icGFkZGluZyAwLjI0cyBjdWJpYy1iZXppZXIoMC4yMiwgMSwgMC4zNiwgMSkiLGg2PSJjdWJpYy1iZXppZXIoMC4yLCAwLjgyLCAwLjIyLCAxKSIsWjM9ImN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSkiLGc2PSJsaW5lYXIoMCwgMC4zMiA5JSwgMC42MiAxOCUsIDAuODUgMjclLCAxLjAxIDM2JSwgMS4wNyA0NSUsIDEuMDUgNTYlLCAxLjAyIDcwJSwgMSkiLGY2PSIwLjE2cyIsbTY9IjAuMnMiLHA2PTUsdTY9e2lkbGU6MSxob3ZlcjoxLjA5LGRyYWc6MS4xMn0sbDY9e2lkbGU6IiM2ODZlNzgiLGhvdmVyOiIjYjdiYmMyIixkcmFnOiIjZjRmNmZhIn0sZDY9e2lkbGU6Mi42NSxob3Zlcjo0LjE1LGRyYWc6NC42NX0sYzY9e2lkbGU6MC4zOCxob3ZlcjowLjg2LGRyYWc6MX0sZTU9bnVsbDtmdW5jdGlvbiBvNigpe2lmKGU1IT1udWxsKXJldHVybiBlNTtpZih0eXBlb2YgQ1NTPiJ1Inx8dHlwZW9mIENTUy5zdXBwb3J0cyE9PSJmdW5jdGlvbiIpcmV0dXJuITE7cmV0dXJuIGU1PUNTUy5zdXBwb3J0cygiYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbiIsImxpbmVhcigwLCAxKSIpLGU1fXZhciBCUT00MCxpNj0xNCxuNj0yNDAscjY9MzAsYTY9MC4xNSxMUT04MCxzNj0xNTAsdDY9MjUwLEQ4PSJzZXJ2ZS1zaW06c2ltdWxhdG9yLWZyYW1lLXNjYWxlIjtmdW5jdGlvbiBfOCgkLEosUSxaLEs9MTM2KXtsZXQgWT0kKjMscT1KPjA/TWF0aC5tYXgoMTgwLEotNDgpOlksRz1RPjAmJk51bWJlci5pc0Zpbml0ZShaKSYmWj4wP01hdGgubWF4KDAsKFEtSykqWik6WTtyZXR1cm4gTWF0aC5tYXgoTWF0aC5taW4oMTgwLEcpLE1hdGgubWluKFkscSxHKSl9ZnVuY3Rpb24gZTYoJCxKLFEsWj1GOCxLPXkyKCkpe2xldCBZPSQ+MD9NYXRoLm1heCgwLCQtWioyKTowLHE9Sj4wJiZOdW1iZXIuaXNGaW5pdGUoUSkmJlE+MD9NYXRoLm1heCgwLEotWioyKSpROlk7cmV0dXJuIHpRKE1hdGgubWF4KDAsTWF0aC5taW4oWSxxKSksSyl9ZnVuY3Rpb24gJDQoJCxKLFEsWixLPXkyKCkpe2xldCBZPUcwKCQsSykscT1HMChKLEspO3JldHVybnt3aWR0aDpZLGhlaWdodDpxLGZpbGxzVmlld3BvcnQ6WT09PVEmJnE9PT1afX1mdW5jdGlvbiBVMigkLEosUSxaLEssWT0xMzYpe2xldCBxPV84KEosUSxaLEssWSksRz1NYXRoLm1pbigyODAscSk7cmV0dXJuIE1hdGgubWluKHEsTWF0aC5tYXgoRywkKSl9ZnVuY3Rpb24gSjQoJCxKLFEsWixLLFk9MTM2KXtsZXQgcT1OdW1iZXIuaXNGaW5pdGUoSyk/JCpLOiQ7cmV0dXJuIFUyKHEsJCxKLFEsWixZKX1mdW5jdGlvbiB5Migpe3JldHVybiB0eXBlb2Ygd2luZG93PCJ1Ij9NYXRoLm1heCgxLHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfHwxKToxfWZ1bmN0aW9uIHpRKCQsSj15MigpKXtpZighTnVtYmVyLmlzRmluaXRlKCQpKXJldHVybiAkO3JldHVybiBNYXRoLmZsb29yKCQqSikvSn1mdW5jdGlvbiBHMCgkLEo9eTIoKSl7aWYoIU51bWJlci5pc0Zpbml0ZSgkKSlyZXR1cm4gJDtyZXR1cm4gTWF0aC5yb3VuZCgkKkopL0p9ZnVuY3Rpb24gUDgoJCxKKXtpZigkPD0wfHxKPD0wKXJldHVybiAwO2xldCBRPTAuNTUsWj0kKkoqUS8oSitRKiQpO3JldHVybiBNYXRoLm1pbihCUSxaKX1mdW5jdGlvbiBRNCgkLEosUSl7bGV0IFo9JCxLPVE7Zm9yKGxldCBZIG9mIEope2xldCBxPU1hdGguYWJzKCQtWSk7aWYocTxLKVo9WSxLPXF9cmV0dXJuIFp9ZnVuY3Rpb24gWjQoJCl7bGV0e2Zyb206Six0bzpRLHZlbG9jaXR5Olosc3RpZmZuZXNzOkssZGFtcGluZzpZLG9uVXBkYXRlOnEsb25Db21wbGV0ZTpHfT0kLEI9MC40LEw9MC4wMzMzMzMzMzMzMzMzMzMzMyx6PUosVj1aLE49cGVyZm9ybWFuY2Uubm93KCksSD0wLE89ITEsVT0oQyk9PntpZihPKXJldHVybjtsZXQgTT1NYXRoLm1pbigoQy1OKS8xMDAwLDAuMDMzMzMzMzMzMzMzMzMzMzMpO049QztsZXQgaz0tSyooei1RKS1ZKlY7aWYoVis9aypNLHorPVYqTSxNYXRoLmFicyhWKTwwLjQmJk1hdGguYWJzKHotUSk8MC40KXtxKFEpLEc/LigpO3JldHVybn1xKHopLEg9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKFUpfTtyZXR1cm4gSD1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoVSksKCk9PntpZihPPSEwLEgpY2FuY2VsQW5pbWF0aW9uRnJhbWUoSCl9fWZ1bmN0aW9uIFg0KCQpe2lmKCQubGVuZ3RoPDIpcmV0dXJuIDA7bGV0IEo9JFskLmxlbmd0aC0xXSxRPSRbMF07Zm9yKGxldCBLPSQubGVuZ3RoLTE7Sz49MDtLLS0paWYoSi50LSRbS10udD49TFEpe1E9JFtLXTticmVha31sZXQgWj0oSi50LVEudCkvMTAwMDtyZXR1cm4gWj4wPyhKLngtUS54KS9aOjB9ZnVuY3Rpb24gSzQoJCxKKXtsZXQgUT0wLFo9MCxLPSgpPT57bGV0e3ZpZGVvV2lkdGg6WSx2aWRlb0hlaWdodDpxfT0kO2lmKFk8PTB8fHE8PTB8fFk9PT1RJiZxPT09WilyZXR1cm47UT1ZLFo9cSxKKHt3aWR0aDpZLGhlaWdodDpxfSl9O3JldHVybiAkLmFkZEV2ZW50TGlzdGVuZXIoImxvYWRlZG1ldGFkYXRhIixLKSwkLmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsSyksSygpLHtjaGVjazpLLGRpc2Nvbm5lY3QoKXskLnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWRlZG1ldGFkYXRhIixLKSwkLnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsSyl9fX12YXIgVVE9MDtmdW5jdGlvbiBYKCQsSixRLFosSyxZKXtKfHwoSj17fSk7dmFyIHEsRyxCPUo7aWYoInJlZiJpbiBCKWZvcihHIGluIEI9e30sSilHPT0icmVmIj9xPUpbR106QltHXT1KW0ddO3ZhciBMPXt0eXBlOiQscHJvcHM6QixrZXk6USxyZWY6cSxfX2s6bnVsbCxfXzpudWxsLF9fYjowLF9fZTpudWxsLF9fYzpudWxsLGNvbnN0cnVjdG9yOnZvaWQgMCxfX3Y6LS1VUSxfX2k6LTEsX191OjAsX19zb3VyY2U6SyxfX3NlbGY6WX07aWYodHlwZW9mICQ9PSJmdW5jdGlvbiImJihxPSQuZGVmYXVsdFByb3BzKSlmb3IoRyBpbiBxKUJbR109PT12b2lkIDAmJihCW0ddPXFbR10pO3JldHVybiBRMS52bm9kZSYmUTEudm5vZGUoTCksTH12YXIgWTQ9YHVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCclM0UlM0NjaXJjbGUgY3g9JzEyJyBjeT0nMTInIHI9JzknIGZpbGw9J3JnYmEoMjU1LDI1NSwyNTUsMC40NSknIHN0cm9rZT0ncmdiYSgwLDAsMCwwLjU1KScgc3Ryb2tlLXdpZHRoPScxLjI1JyBmaWx0ZXI9J2Ryb3Atc2hhZG93KDAgMXB4IDJweCByZ2JhKDAsMCwwLDAuNDUpKScvJTNFJTNDL3N2ZyUzRSIpIDEyIDEyLCBwb2ludGVyYCxOUT0xLjAwNCxIUT0zLENRPTQsTVE9NSxPUT0xMCxBUT0xMTtmdW5jdGlvbiBYMyh7dXJsOiQsd3NVcmw6SixzdHlsZTpRLGltYWdlU3R5bGU6WixjbGFzc05hbWU6SyxvbkhvbWVQcmVzczpZLG9uU3RyZWFtVG91Y2g6cSxvblN0cmVhbU11bHRpVG91Y2g6RyxvblN0cmVhbUJ1dHRvbjpCLG9uU3RyZWFtRGlnaXRhbENyb3duOkwsb25TdHJlYW1TY3JvbGw6eixlbmFibGVEaWdpdGFsQ3Jvd246VixzdWJzY3JpYmVGcmFtZTpOLHN0cmVhbUZyYW1lOkgsc3RyZWFtQ29uZmlnOk8sb25TY3JlZW5Db25maWdDaGFuZ2U6VSxoaWRlQ29udHJvbHM6QyxvblN0cmVhbWluZ0NoYW5nZTpNLGNvbm5lY3Rpb25RdWFsaXR5Omssc3RyZWFtTW9kZTp3PSJhdmNjIix3ZWJSdGNTdHJlYW06VCxvbldlYlJ0Y0ZyYW1lOlMsc3RyZWFtRXJyb3I6UCxvbkF2Y2NFcnJvcjp2LG9uQXZjY0RlY29kZWRGcmFtZTpqfSl7bGV0e3VzZVdlYlJ0Yzp1LHVzZUF2Y2M6dCxleHRlcm5hbElucHV0OmEsZXh0ZXJuYWxNanBlZzpzLG9wZW5EaXJlY3RDb250cm9sU29ja2V0OloxLG9wZW5EaXJlY3RNanBlZzptfT1qNih7c3RyZWFtTW9kZTp3LGF2Y2NTdXBwb3J0ZWQ6ejIoKSxoYXNFeHRlcm5hbElucHV0OiEhcSxoYXNFeHRlcm5hbEZyYW1lczohIU59KSxKMT1GKG51bGwpLFI9RihudWxsKSxVMT1GKG51bGwpLEMxPUYobnVsbCksTzE9RihudWxsKSxkPUYobnVsbCksZT1GKG51bGwpLFtYMSxoXT1BKCExKSxbaSxwXT1BKG51bGwpLFtiLG9dPUEobnVsbCksYz1GKG51bGwpLEYxPUYoITEpLEQxPUYoVSk7RDEuY3VycmVudD1VO2xldCBoMT1GKG51bGwpLFtrMSxvMV09QShudWxsKTtFKCgpPT57bGV0IF89aDEuY3VycmVudDtpZighX3x8dHlwZW9mIFJlc2l6ZU9ic2VydmVyPiJ1IilyZXR1cm47bGV0IFc9bmV3IFJlc2l6ZU9ic2VydmVyKCh4KT0+e2xldCBnPXhbMF0/LmNvbnRlbnRSZWN0O2lmKGcpbzEoe3dpZHRoOkcwKGcud2lkdGgpLGhlaWdodDpHMChnLmhlaWdodCl9KX0pO3JldHVybiBXLm9ic2VydmUoXyksKCk9PlcuZGlzY29ubmVjdCgpfSxbXSk7bGV0W1kwLEIwXT1BKDApLFAxPUYoMCksW3MxLEwwXT1BKCExKSxiMT1JKChfLFc9InJlcG9ydGVkIik9PntpZihXPT09Im1lZGlhIiYmRjEuY3VycmVudClyZXR1cm47aWYoVyE9PSJtZWRpYSImJl8mJl8ud2lkdGg+MCYmXy5oZWlnaHQ+MClGMS5jdXJyZW50PSEwO2xldCB4PVM2KGMuY3VycmVudCxfLFcpO2lmKCF4KXJldHVybjtpZihjLmN1cnJlbnQ9eC5jb25maWcsbyh4LmNvbmZpZykseC5ub3RpZnlQYXJlbnQpRDEuY3VycmVudD8uKHguY29uZmlnKX0sW10pO0UoKCk9PntpZighdSlyZXR1cm47aWYoUCloKCExKSxwKFApO2Vsc2UgcChudWxsKX0sW1AsdV0pO2xldCBuPUYobnVsbCk7RSgoKT0+e2lmKGs9PT0icG9vciIpe2lmKEwwKCEwKSxuLmN1cnJlbnQpY2xlYXJUaW1lb3V0KG4uY3VycmVudCk7bi5jdXJyZW50PXNldFRpbWVvdXQoKCk9PntMMCghMSksbi5jdXJyZW50PW51bGx9LDMwMDApfWVsc2UgaWYoTDAoITEpLG4uY3VycmVudCljbGVhclRpbWVvdXQobi5jdXJyZW50KSxuLmN1cnJlbnQ9bnVsbDtyZXR1cm4oKT0+e2lmKG4uY3VycmVudCljbGVhclRpbWVvdXQobi5jdXJyZW50KX19LFtrXSk7bGV0IFYxPWAkeyR9L3N0cmVhbS5tanBlZ2A7RSgoKT0+e2lmKCF1KXJldHVybjtsZXQgXz1VMS5jdXJyZW50O2lmKCFfKXJldHVybjtsZXQgVz0hMSx4PSExLGc9MCxLMT1udWxsLE0xPSgpPT57aWYoeHx8VylyZXR1cm47SzE/LmNoZWNrKCksVz0hMCxTPy4oKSxoKCEwKSxwKG51bGwpfSxXMT0oKT0+e2lmKHgpcmV0dXJuO0sxPy5jaGVjaygpLCQwLmN1cnJlbnQ9RGF0ZS5ub3coKSxQMS5jdXJyZW50KyssTTEoKSxoKCEwKSxnPV8ucmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFjayhXMSl9LFQxPSgpPT57aWYoeClyZXR1cm47SzE/LmNoZWNrKCksJDAuY3VycmVudD1EYXRlLm5vdygpLE0xKCksaCghMCl9O2lmKF8uc3JjT2JqZWN0PVQ/P251bGwsVCl7aWYoSzE9SzQoXywoUzApPT57YjEoUzAsIm1lZGlhIil9KSxoKCExKSxfLmFkZEV2ZW50TGlzdGVuZXIoImxvYWRlZGRhdGEiLE0xLHtvbmNlOiEwfSksdHlwZW9mIF8ucmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFjaz09PSJmdW5jdGlvbiIpZz1fLnJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2soVzEpO2Vsc2UgXy5hZGRFdmVudExpc3RlbmVyKCJ0aW1ldXBkYXRlIixUMSk7Xy5wbGF5KCkuY2F0Y2goKCk9Pnt9KX1lbHNlIGgoITEpO3JldHVybigpPT57aWYoeD0hMCxfLnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWRlZGRhdGEiLE0xKSxfLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRpbWV1cGRhdGUiLFQxKSxLMT8uZGlzY29ubmVjdCgpLGcmJnR5cGVvZiBfLmNhbmNlbFZpZGVvRnJhbWVDYWxsYmFjaz09PSJmdW5jdGlvbiIpXy5jYW5jZWxWaWRlb0ZyYW1lQ2FsbGJhY2soZyk7Xy5zcmNPYmplY3Q9bnVsbH19LFt1LFQsUyxiMV0pLEUoKCk9PntGMS5jdXJyZW50PSExLGMuY3VycmVudD1udWxsLG8obnVsbCl9LFskLEpdKTtsZXQgSDE9RihNKTtIMS5jdXJyZW50PU0sRSgoKT0+e0gxLmN1cnJlbnQ/LihYMSl9LFtYMV0pLEUoKCk9PntpZihPKWIxKE8sImV4dGVybmFsIil9LFtPLGIxLCRdKTtsZXQgejE9RighMSk7ejEuY3VycmVudD1YMTtsZXQgZDE9RihudWxsKSx4MT1GKG51bGwpO0UoKCk9PntpZighc3x8IU4pcmV0dXJuO2xldCBXPXNldFRpbWVvdXQoKCk9PntpZighejEuY3VycmVudClwKCJTdHJlYW0gaXMgbm90IHByb2R1Y2luZyBmcmFtZXMuIFRoZSBzaW11bGF0b3IgbWF5IGhhdmUgc3RvcHBlZCDigJQgdHJ5IHJlY29ubmVjdGluZy4iKX0sNjAwMCkseD1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24gSzEoKXtsZXQgTTE9ZDEuY3VycmVudDtpZihNMSl7ZDEuY3VycmVudD1udWxsO2xldCBXMT1DMS5jdXJyZW50O2lmKFcxKXtpZih4MS5jdXJyZW50KVVSTC5yZXZva2VPYmplY3RVUkwoeDEuY3VycmVudCk7eDEuY3VycmVudD1NMSxXMS5zcmM9TTEsUDEuY3VycmVudCsrfWVsc2UgVVJMLnJldm9rZU9iamVjdFVSTChNMSl9eD1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoSzEpfSksZz1OKChLMSk9PntpZigkMC5jdXJyZW50PURhdGUubm93KCksZDEuY3VycmVudClVUkwucmV2b2tlT2JqZWN0VVJMKGQxLmN1cnJlbnQpO2lmKGQxLmN1cnJlbnQ9SzEsIXoxLmN1cnJlbnQpY2xlYXJUaW1lb3V0KFcpLGgoITApLHAobnVsbCl9KTtyZXR1cm4oKT0+e2lmKGNsZWFyVGltZW91dChXKSxjYW5jZWxBbmltYXRpb25GcmFtZSh4KSxnPy4oKSxkMS5jdXJyZW50KVVSTC5yZXZva2VPYmplY3RVUkwoZDEuY3VycmVudCksZDEuY3VycmVudD1udWxsO2lmKHgxLmN1cnJlbnQpVVJMLnJldm9rZU9iamVjdFVSTCh4MS5jdXJyZW50KSx4MS5jdXJyZW50PW51bGx9fSxbcyxOXSk7bGV0IHcxPUkoKCk9PnskMC5jdXJyZW50PURhdGUubm93KCksaCghMCkscChudWxsKX0sW10pLHIxPUkoKCk9PntpZihQMS5jdXJyZW50KyssJDAuY3VycmVudD1EYXRlLm5vdygpLCF6MS5jdXJyZW50KWgoITApLHAobnVsbCl9LFtdKTtBOCh7dXJsOiQsZW5hYmxlZDp0LGNhbnZhc1JlZjpSLG9uRmlyc3RGcmFtZTp3MSxvbkZyYW1lOnIxLG9uRGVjb2RlZEZyYW1lOmosb25FcnJvcjpwLG9uRGVjb2RlckVycm9yOnZ9KTtsZXQgcTE9SSgoXyk9PntsZXQgVz1JMihjLmN1cnJlbnQpLmlucHV0T3JpZW50YXRpb24seD13MihXLF8ueCxfLnkpLGc9Xy5lZGdlPT09dm9pZCAwP3ZvaWQgMDpDOChXLF8uZWRnZSksSzE9Zz09PXZvaWQgMD97dHlwZTpfLnR5cGUsLi4ueH06e3R5cGU6Xy50eXBlLC4uLngsZWRnZTpnfTtpZihhKXtxPy4oSzEpO3JldHVybn1sZXQgTTE9ZS5jdXJyZW50O2lmKCFNMXx8TTEucmVhZHlTdGF0ZSE9PVdlYlNvY2tldC5PUEVOKXJldHVybjtsZXQgVzE9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKEpTT04uc3RyaW5naWZ5KEsxKSksVDE9bmV3IFVpbnQ4QXJyYXkoMStXMS5sZW5ndGgpO1QxWzBdPUhRLFQxLnNldChXMSwxKSxNMS5zZW5kKFQxKX0sW2EscV0pLGYxPUkoKF8pPT57aWYoYSl7Qj8uKF8pO3JldHVybn1sZXQgVz1lLmN1cnJlbnQ7aWYoIVd8fFcucmVhZHlTdGF0ZSE9PVdlYlNvY2tldC5PUEVOKXJldHVybjtsZXQgeD1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoSlNPTi5zdHJpbmdpZnkoe2J1dHRvbjpffSkpLGc9bmV3IFVpbnQ4QXJyYXkoMSt4Lmxlbmd0aCk7Z1swXT1DUSxnLnNldCh4LDEpLFcuc2VuZChnKX0sW2EsQl0pLFgwPUkoKF8pPT57aWYoIU51bWJlci5pc0Zpbml0ZShfKXx8Xz09PTApcmV0dXJuO2lmKGEpe0w/LihfKTtyZXR1cm59bGV0IFc9ZS5jdXJyZW50O2lmKCFXfHxXLnJlYWR5U3RhdGUhPT1XZWJTb2NrZXQuT1BFTilyZXR1cm47bGV0IHg9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKEpTT04uc3RyaW5naWZ5KHtkZWx0YTpffSkpLGc9bmV3IFVpbnQ4QXJyYXkoMSt4Lmxlbmd0aCk7Z1swXT1PUSxnLnNldCh4LDEpLFcuc2VuZChnKX0sW2EsTF0pLHowPUkoKF8sVyx4LGcpPT57aWYoIU51bWJlci5pc0Zpbml0ZShfKXx8IU51bWJlci5pc0Zpbml0ZShXKXx8Xz09PTAmJlc9PT0wKXJldHVybjtsZXQgSzE9STIoYy5jdXJyZW50KS5pbnB1dE9yaWVudGF0aW9uLE0xPWI2KEsxLF8sVyksVzE9dzIoSzEseCxnKSxUMT17ZHg6TTEuZHgsZHk6TTEuZHkseDpXMS54LHk6VzEueX07aWYoYSl7ej8uKFQxKTtyZXR1cm59bGV0IHEwPWUuY3VycmVudDtpZighcTB8fHEwLnJlYWR5U3RhdGUhPT1XZWJTb2NrZXQuT1BFTilyZXR1cm47bGV0IFMwPW5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShKU09OLnN0cmluZ2lmeShUMSkpLEswPW5ldyBVaW50OEFycmF5KDErUzAubGVuZ3RoKTtLMFswXT1BUSxLMC5zZXQoUzAsMSkscTAuc2VuZChLMCl9LFthLHpdKSxqMT1JKChfKT0+e2xldCBXPUkyKGMuY3VycmVudCkuaW5wdXRPcmllbnRhdGlvbix4PXcyKFcsXy54MSxfLnkxKSxnPXcyKFcsXy54MixfLnkyKSxLMT17dHlwZTpfLnR5cGUseDE6eC54LHkxOngueSx4MjpnLngseTI6Zy55fTtpZihhKXtHPy4oSzEpO3JldHVybn1sZXQgTTE9ZS5jdXJyZW50O2lmKCFNMXx8TTEucmVhZHlTdGF0ZSE9PVdlYlNvY2tldC5PUEVOKXJldHVybjtsZXQgVzE9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKEpTT04uc3RyaW5naWZ5KEsxKSksVDE9bmV3IFVpbnQ4QXJyYXkoMStXMS5sZW5ndGgpO1QxWzBdPU1RLFQxLnNldChXMSwxKSxNMS5zZW5kKFQxKX0sW2EsR10pO0UoKCk9PntpZighWjEmJiFtJiYhdClyZXR1cm47bGV0IF89bnVsbDtpZihaMSl7bGV0IE0xPUo/PyQucmVwbGFjZSgvXmh0dHAvLCJ3cyIpKyIvd3MiO189bmV3IFdlYlNvY2tldChNMSksXy5iaW5hcnlUeXBlPSJhcnJheWJ1ZmZlciIsZS5jdXJyZW50PV8sXy5vbm1lc3NhZ2U9KFcxKT0+e2lmKCEoVzEuZGF0YSBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKSlyZXR1cm47bGV0IFQxPW5ldyBVaW50OEFycmF5KFcxLmRhdGEpO2lmKFQxLmxlbmd0aDwxfHxUMVswXSE9PTEzMClyZXR1cm47dHJ5e2IxKEpTT04ucGFyc2UobmV3IFRleHREZWNvZGVyKCkuZGVjb2RlKFQxLnN1YmFycmF5KDEpKSkpfWNhdGNoe319LF8ub25vcGVuPSgpPT5wKG51bGwpLF8ub25jbG9zZT0oKT0+aCghMSksXy5vbmVycm9yPSgpPT57cCgiV2ViU29ja2V0IGNvbm5lY3Rpb24gZmFpbGVkIiksaCghMSl9fWxldCBXPXR8fG0/c2V0SW50ZXJ2YWwoKCk9PntCMChQMS5jdXJyZW50KSxQMS5jdXJyZW50PTB9LDEwMDApOm51bGwseD1tP25ldyBBYm9ydENvbnRyb2xsZXI6bnVsbCxnPSExLEsxPW0/c2V0VGltZW91dCgoKT0+e2lmKCFnKXAoIlN0cmVhbSBpcyBub3QgcHJvZHVjaW5nIGZyYW1lcy4gVGhlIHNpbXVsYXRvciBtYXkgaGF2ZSBzdG9wcGVkIOKAlCB0cnkgcmVjb25uZWN0aW5nLiIpfSw2MDAwKTpudWxsO2lmKG0mJngpKGFzeW5jKCk9Pnt0cnl7bGV0IFcxPShhd2FpdCBmZXRjaChWMSx7c2lnbmFsOnguc2lnbmFsfSkpLmJvZHk/LmdldFJlYWRlcigpO2lmKCFXMSlyZXR1cm47bGV0IFQxPW5ldyBUZXh0RW5jb2RlcigpLmVuY29kZSgiLS1mcmFtZSIpO3doaWxlKCEwKXtsZXR7ZG9uZTpxMCx2YWx1ZTpTMH09YXdhaXQgVzEucmVhZCgpO2lmKHEwKWJyZWFrO2lmKFMwKWZvcihsZXQgSzA9MDtLMDw9UzAubGVuZ3RoLVQxLmxlbmd0aDtLMCsrKXtsZXQgSzI9ITA7Zm9yKGxldCBZMj0wO1kyPFQxLmxlbmd0aDtZMisrKWlmKFMwW0swK1kyXSE9PVQxW1kyXSl7SzI9ITE7YnJlYWt9aWYoSzIpe2lmKFAxLmN1cnJlbnQrKywhZyl7aWYoZz0hMCxLMSljbGVhclRpbWVvdXQoSzEpO2goITApLHAobnVsbCl9fX19fWNhdGNoe319KSgpO3JldHVybigpPT57aWYoeD8uYWJvcnQoKSxXKWNsZWFySW50ZXJ2YWwoVyk7aWYoSzEpY2xlYXJUaW1lb3V0KEsxKTtpZihfPy5jbG9zZSgpLGUuY3VycmVudD09PV8pZS5jdXJyZW50PW51bGx9fSxbWjEsbSxWMSxiMSwkLHQsSl0pLEUoKCk9PntpZighdSlyZXR1cm47bGV0IF89c2V0SW50ZXJ2YWwoKCk9PntCMChQMS5jdXJyZW50KSxQMS5jdXJyZW50PTA7bGV0IFc9JDAuY3VycmVudDtpZighZG9jdW1lbnQuaGlkZGVuJiZXJiZEYXRlLm5vdygpLVc+MzAwMCloKCExKX0sMTAwMCk7cmV0dXJuKCk9PmNsZWFySW50ZXJ2YWwoXyl9LFt1XSk7bGV0ICQwPUYoMCk7RSgoKT0+e2lmKCFzKXJldHVybjtsZXQgXz0yMDAwLFc9KCk9PntsZXQgSzE9JDAuY3VycmVudDtpZighSzF8fCF6MS5jdXJyZW50KXJldHVybjtpZihEYXRlLm5vdygpLUsxPl8paCghMSl9LHg9c2V0SW50ZXJ2YWwoKCk9PntCMChQMS5jdXJyZW50KSxQMS5jdXJyZW50PTAsVygpfSwxMDAwKSxnPSgpPT57aWYoIWRvY3VtZW50LmhpZGRlbilXKCl9O3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIixnKSwoKT0+e2NsZWFySW50ZXJ2YWwoeCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsZyl9fSxbc10pO2xldCBBMD1JKCgpPT57aWYodSlyZXR1cm4gVTEuY3VycmVudDtpZih0KXJldHVybiBSLmN1cnJlbnQ7cmV0dXJuIHM/QzEuY3VycmVudDpKMS5jdXJyZW50fSxbcyx0LHVdKSxtMT1JKCgpPT57cmV0dXJuIE8xLmN1cnJlbnQ/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpPz9BMCgpPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8/bnVsbH0sW0EwXSksazA9SSgoXyxXKT0+e2xldCB4PW0xKCk7aWYoIXgpcmV0dXJuO2xldCBnPShXLmNsaWVudFgteC5sZWZ0KS94LndpZHRoLEsxPShXLmNsaWVudFkteC50b3ApL3guaGVpZ2h0O3ExKHt0eXBlOl8seDpnLHk6SzF9KX0sW20xLHExXSksYTE9SSgoXyxXKT0+e2xldCBnPW0xKCk/LmhlaWdodHx8MSxLMT1RNShfLFcsZyk7aWYoSzE9PT1udWxsKXJldHVybiExO3JldHVybiBYMChLMSksITB9LFttMSxYMF0pLHAxPUYoITEpLEUxPUYoITEpLF8wPUYoITEpLHgwPUYoe2R4OjAsZHk6MH0pLFUwPUYoITEpLFtSMCxEXT1BKCExKSxsPUYoe3g6MC41LHk6MC41fSksWyQxLEcxXT1BKG51bGwpO0UoKCk9PntsZXQgXz0oeCk9PntpZih4LmtleT09PSJBbHQiKUQoITApfSxXPSh4KT0+e2lmKHgua2V5PT09IkFsdCIpe2lmKEQoITEpLCFFMS5jdXJyZW50KUcxKG51bGwpfX07cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixfKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigia2V5dXAiLFcpLCgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLF8pLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXl1cCIsVyl9fSxbXSksRSgoKT0+e2lmKFIwJiYhRTEuY3VycmVudCl7bGV0IF89bC5jdXJyZW50O0cxKHt4MTpfLngseTE6Xy55LHgyOjEtXy54LHkyOjEtXy55fSl9ZWxzZSBpZighUjAmJiFFMS5jdXJyZW50KUcxKG51bGwpfSxbUjBdKTtsZXQgeTE9RihudWxsKSxOMT1GKCExKSxfMT1GKDApLFAwPUkoKF8sVyk9PntOMS5jdXJyZW50PSEwO2xldCB4PXkxLmN1cnJlbnQ7aWYoeCljYW5jZWxBbmltYXRpb25GcmFtZShfMS5jdXJyZW50KSxfMS5jdXJyZW50PXJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3guc3R5bGUubGVmdD1gJHtfKjEwMH0lYCx4LnN0eWxlLnRvcD1gJHtXKjEwMH0lYCx4LnN0eWxlLmRpc3BsYXk9ImJsb2NrIn0pfSxbXSksdTE9SSgoXyxXKT0+e2lmKCFOMS5jdXJyZW50KXJldHVybjtsZXQgeD15MS5jdXJyZW50O2lmKHgpY2FuY2VsQW5pbWF0aW9uRnJhbWUoXzEuY3VycmVudCksXzEuY3VycmVudD1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pnt4LnN0eWxlLmxlZnQ9YCR7XyoxMDB9JWAseC5zdHlsZS50b3A9YCR7VyoxMDB9JWB9KX0sW10pLGkxPUkoKCk9PntOMS5jdXJyZW50PSExO2xldCBfPXkxLmN1cnJlbnQ7aWYoXyljYW5jZWxBbmltYXRpb25GcmFtZShfMS5jdXJyZW50KSxfLnN0eWxlLmRpc3BsYXk9Im5vbmUifSxbXSksdjA9SSgoXyk9PntpZihOMS5jdXJyZW50fHxFMS5jdXJyZW50KXJldHVybiExO2xldCBXPW0xKCk7aWYoIVcpcmV0dXJuITE7bGV0IHg9TTgoXy5kZWx0YVgsXy5kZWx0YU1vZGUsVy53aWR0aCksZz1NOChfLmRlbHRhWSxfLmRlbHRhTW9kZSxXLmhlaWdodCk7aWYoeD09PTAmJmc9PT0wKXJldHVybiExO2xldCBLMT1NYXRoLm1pbihNYXRoLm1heCgoXy5jbGllbnRYLVcubGVmdCkvVy53aWR0aCwwKSwxKSxNMT1NYXRoLm1pbihNYXRoLm1heCgoXy5jbGllbnRZLVcudG9wKS9XLmhlaWdodCwwKSwxKTtyZXR1cm4gejAoeC9XLndpZHRoLGcvVy5oZWlnaHQsSzEsTTEpLCEwfSxbbTEsejBdKTtFKCgpPT57bGV0IF89ZC5jdXJyZW50O2lmKCFfKXJldHVybjtsZXQgVz0oeCk9PntpZighKFY/YTEoeC5kZWx0YVkseC5kZWx0YU1vZGUpOnYwKHgpKSlyZXR1cm47eC5wcmV2ZW50RGVmYXVsdCgpLHguc3RvcFByb3BhZ2F0aW9uKCl9O3JldHVybiBfLmFkZEV2ZW50TGlzdGVuZXIoIndoZWVsIixXLHtwYXNzaXZlOiExfSksKCk9Pl8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigid2hlZWwiLFcpfSxbVixhMSx2MF0pO2xldCBOMD1GKDApLEowPUYobnVsbCksUTI9SSgoKT0+e2xldCBfPURhdGUubm93KCksVz1fLU4wLmN1cnJlbnQ7aWYoTjAuY3VycmVudD1fLFc8MzAwKXtpZihKMC5jdXJyZW50KWNsZWFyVGltZW91dChKMC5jdXJyZW50KSxKMC5jdXJyZW50PW51bGw7aWYoWSlZKCk7ZWxzZSBmMSgiYXBwX3N3aXRjaGVyIil9ZWxzZSBKMC5jdXJyZW50PXNldFRpbWVvdXQoKCk9PntpZihZKVkoKTtlbHNlIGYxKCJob21lIik7SjAuY3VycmVudD1udWxsfSwzMDApfSxbZjEsWV0pLFoyPUkyKGIpLGwwPVoyLmRpc3BsYXlDb25maWcsRjA9KCgpPT57aWYoIWwwfHwhazEpcmV0dXJuIG51bGw7aWYoazEud2lkdGg9PT0wfHxrMS5oZWlnaHQ9PT0wKXJldHVybiBudWxsO2xldCBfPU1hdGgubWluKGsxLndpZHRoL2wwLndpZHRoLGsxLmhlaWdodC9sMC5oZWlnaHQpO3JldHVybiAkNChsMC53aWR0aCpfLGwwLmhlaWdodCpfLGsxLndpZHRoLGsxLmhlaWdodCl9KSgpLGgwPVoyLnJvdGF0aW9uRGVncmVlcyxuMD1aMi5uZWVkc0Nzc1JvdGF0aW9uJiZNYXRoLmFicyhoMCk9PT05MCxmNT1aLFgyPSFuMCxjMz1oMD09PTA/IiI6YCByb3RhdGUoJHtoMH1kZWcpYCxkMD17cG9zaXRpb246ImFic29sdXRlIiwuLi5YMj97aW5zZXQ6MCx3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIix0cmFuc2Zvcm06aDA9PT0wP3ZvaWQgMDpgcm90YXRlKCR7aDB9ZGVnKWB9Ont0b3A6IjUwJSIsbGVmdDoiNTAlIix3aWR0aDpGMD9gJHtGMC5oZWlnaHR9cHhgOiIxMDAlIixoZWlnaHQ6RjA/YCR7RjAud2lkdGh9cHhgOiIxMDAlIix0cmFuc2Zvcm06YHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSR7YzN9YH0sdHJhbnNmb3JtT3JpZ2luOiJjZW50ZXIgY2VudGVyIixjdXJzb3I6WTQsZGlzcGxheToiYmxvY2siLHVzZXJTZWxlY3Q6Im5vbmUiLFdlYmtpdFVzZXJTZWxlY3Q6Im5vbmUiLHRvdWNoQWN0aW9uOiJub25lIiwuLi5aLC4uLmgwPT09MD97fTp7Ym9yZGVyUmFkaXVzOjAsY29ybmVyU2hhcGU6dm9pZCAwfX0sYzI9ey4uLmQwLHRyYW5zZm9ybTpgJHtkMC50cmFuc2Zvcm0/PyIifSBzY2FsZSgke05RfSlgfTtyZXR1cm4gWCgiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsZmxleDoxLC4uLkM/e306e2JvcmRlcjoiMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xMikifSxvdmVyZmxvdzoiaGlkZGVuIixtaW5XaWR0aDowLG1pbkhlaWdodDowLC4uLlF9LGNsYXNzTmFtZTpLLGNoaWxkcmVuOltYKCJkaXYiLHtyZWY6aDEsc3R5bGU6e3Bvc2l0aW9uOiJyZWxhdGl2ZSIsZmxleDoxLG1pbkhlaWdodDowLG1pbldpZHRoOjAsZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoiY2VudGVyIn0sY2hpbGRyZW46WCgiZGl2Iix7cmVmOk8xLHN0eWxlOntwb3NpdGlvbjoicmVsYXRpdmUiLHdpZHRoOkYwJiYhRjAuZmlsbHNWaWV3cG9ydD9gJHtGMC53aWR0aH1weGA6IjEwMCUiLGhlaWdodDpGMCYmIUYwLmZpbGxzVmlld3BvcnQ/YCR7RjAuaGVpZ2h0fXB4YDoiMTAwJSIsb3ZlcmZsb3c6ImhpZGRlbiIsYm9yZGVyUmFkaXVzOmY1Py5ib3JkZXJSYWRpdXMsY29ybmVyU2hhcGU6ZjU/LmNvcm5lclNoYXBlfSxjaGlsZHJlbjpbdT9YKCJ2aWRlbyIse3JlZjpVMSxtdXRlZDohMCxwbGF5c0lubGluZTohMCxhdXRvUGxheTohMCxzdHlsZTpkMH0pOnQ/WCgiY2FudmFzIix7cmVmOlIsc3R5bGU6YzJ9KTpYKCJpbWciLHtyZWY6SjEsc3JjOnM/dm9pZCAwOlYxLGRyYWdnYWJsZTohMSxvbkxvYWQ6KF8pPT57bGV0IFc9Xy5jdXJyZW50VGFyZ2V0O2lmKFcubmF0dXJhbFdpZHRoPjAmJlcubmF0dXJhbEhlaWdodD4wKWIxKHt3aWR0aDpXLm5hdHVyYWxXaWR0aCxoZWlnaHQ6Vy5uYXR1cmFsSGVpZ2h0fSwibWVkaWEiKX0sc3R5bGU6cz97ZGlzcGxheToibm9uZSJ9OmQwfSkscyYmWCgiaW1nIix7cmVmOkMxLGRyYWdnYWJsZTohMSxvbkxvYWQ6KF8pPT57bGV0IFc9Xy5jdXJyZW50VGFyZ2V0O2lmKFcubmF0dXJhbFdpZHRoPjAmJlcubmF0dXJhbEhlaWdodD4wKWIxKHt3aWR0aDpXLm5hdHVyYWxXaWR0aCxoZWlnaHQ6Vy5uYXR1cmFsSGVpZ2h0fSwibWVkaWEiKX0sc3R5bGU6ZDB9KSxYKCJkaXYiLHtyZWY6ZCxzdHlsZTp7cG9zaXRpb246ImFic29sdXRlIixpbnNldDowLGN1cnNvcjpZNCx0b3VjaEFjdGlvbjoibm9uZSJ9LG9uTW91c2VEb3duOihfKT0+e18ucHJldmVudERlZmF1bHQoKTtsZXQgVz1tMSgpO2lmKCFXKXJldHVybjtsZXQgeD0oXy5jbGllbnRYLVcubGVmdCkvVy53aWR0aCxnPShfLmNsaWVudFktVy50b3ApL1cuaGVpZ2h0O2lmKF8uYWx0S2V5KXtFMS5jdXJyZW50PSEwLF8wLmN1cnJlbnQ9Xy5zaGlmdEtleTtsZXQgTTE9e3gxOngseTE6Zyx4MjoxLXgseTI6MS1nfTt4MC5jdXJyZW50PXtkeDoxLXgteCxkeToxLWctZ30sRzEoTTEpLGoxKHt0eXBlOiJiZWdpbiIsLi4uTTF9KTtyZXR1cm59UDAoeCxnKTtsZXQgSzE9TjgoZyk7aWYoSzEhPT12b2lkIDApcDEuY3VycmVudD0hMCxxMSh7dHlwZToiYmVnaW4iLHgseTpnLGVkZ2U6SzF9KTtlbHNlIHAxLmN1cnJlbnQ9ITEsazAoImJlZ2luIixfKX0sb25Nb3VzZU1vdmU6KF8pPT57bGV0IFc9bTEoKTtpZighVylyZXR1cm47bGV0IHg9KF8uY2xpZW50WC1XLmxlZnQpL1cud2lkdGgsZz0oXy5jbGllbnRZLVcudG9wKS9XLmhlaWdodDtpZihsLmN1cnJlbnQ9e3gseTpnfSxfLmJ1dHRvbnM9PT0wKXtpZihfLmFsdEtleSlHMSh7eDE6eCx5MTpnLHgyOjEteCx5MjoxLWd9KTtyZXR1cm59aWYoRTEuY3VycmVudCl7bGV0IEsxO2lmKF8wLmN1cnJlbnQpe2xldCBNMT14MC5jdXJyZW50O0sxPXt4MTp4LHkxOmcseDI6eCtNMS5keCx5MjpnK00xLmR5fX1lbHNlIEsxPXt4MTp4LHkxOmcseDI6MS14LHkyOjEtZ307RzEoSzEpLGoxKHt0eXBlOiJtb3ZlIiwuLi5LMX0pO3JldHVybn1pZih1MSh4LGcpLHAxLmN1cnJlbnQpcTEoe3R5cGU6Im1vdmUiLHgseTpnLGVkZ2U6VDJ9KTtlbHNlIGswKCJtb3ZlIixfKX0sb25Nb3VzZVVwOihfKT0+e2lmKEUxLmN1cnJlbnQpe2xldCBXPW0xKCk7aWYoVyl7bGV0IHg9KF8uY2xpZW50WC1XLmxlZnQpL1cud2lkdGgsZz0oXy5jbGllbnRZLVcudG9wKS9XLmhlaWdodDtpZihfMC5jdXJyZW50KXtsZXQgSzE9eDAuY3VycmVudDtqMSh7dHlwZToiZW5kIix4MTp4LHkxOmcseDI6eCtLMS5keCx5MjpnK0sxLmR5fSl9ZWxzZSBqMSh7dHlwZToiZW5kIix4MTp4LHkxOmcseDI6MS14LHkyOjEtZ30pfWlmKEUxLmN1cnJlbnQ9ITEsIV8uYWx0S2V5KUcxKG51bGwpO3JldHVybn1pZihpMSgpLHAxLmN1cnJlbnQpe2xldCBXPW0xKCk7aWYoVyl7bGV0IHg9KF8uY2xpZW50WC1XLmxlZnQpL1cud2lkdGgsZz0oXy5jbGllbnRZLVcudG9wKS9XLmhlaWdodDtxMSh7dHlwZToiZW5kIix4LHk6ZyxlZGdlOlQyfSl9cDEuY3VycmVudD0hMTtyZXR1cm59azAoImVuZCIsXyl9LG9uTW91c2VMZWF2ZTooXyk9PntpZihFMS5jdXJyZW50KXtpZigkMSlqMSh7dHlwZToiZW5kIiwuLi4kMX0pO0UxLmN1cnJlbnQ9ITEsRzEobnVsbCk7cmV0dXJufWlmKGkxKCkscDEuY3VycmVudCl7bGV0IFc9bTEoKTtpZihXKXtsZXQgeD0oXy5jbGllbnRYLVcubGVmdCkvVy53aWR0aCxnPShfLmNsaWVudFktVy50b3ApL1cuaGVpZ2h0O3ExKHt0eXBlOiJlbmQiLHgseTpnLGVkZ2U6VDJ9KX1wMS5jdXJyZW50PSExO3JldHVybn1pZihfLmJ1dHRvbnM+MClrMCgiZW5kIixfKTtHMShudWxsKX0sb25Ub3VjaFN0YXJ0OihfKT0+e18ucHJldmVudERlZmF1bHQoKTtsZXQgVz1tMSgpO2lmKCFXKXJldHVybjtpZihfLnRvdWNoZXMubGVuZ3RoPj0yKXtpMSgpO2xldCBXMT1fLnRvdWNoZXNbMF0sVDE9Xy50b3VjaGVzWzFdLHEwPXt4MTooVzEuY2xpZW50WC1XLmxlZnQpL1cud2lkdGgseTE6KFcxLmNsaWVudFktVy50b3ApL1cuaGVpZ2h0LHgyOihUMS5jbGllbnRYLVcubGVmdCkvVy53aWR0aCx5MjooVDEuY2xpZW50WS1XLnRvcCkvVy5oZWlnaHR9O2lmKCFVMC5jdXJyZW50JiYhcDEuY3VycmVudClxMSh7dHlwZToiZW5kIix4OnEwLngxLHk6cTAueTF9KTtVMC5jdXJyZW50PSEwLEUxLmN1cnJlbnQ9ITAscDEuY3VycmVudD0hMSxHMShxMCksajEoe3R5cGU6ImJlZ2luIiwuLi5xMH0pO3JldHVybn1sZXQgeD1fLnRvdWNoZXNbMF07aWYoIXgpcmV0dXJuO2xldCBnPSh4LmNsaWVudFgtVy5sZWZ0KS9XLndpZHRoLEsxPSh4LmNsaWVudFktVy50b3ApL1cuaGVpZ2h0O1AwKGcsSzEpO2xldCBNMT1OOChLMSk7aWYoTTEhPT12b2lkIDApcDEuY3VycmVudD0hMCxxMSh7dHlwZToiYmVnaW4iLHg6Zyx5OksxLGVkZ2U6TTF9KTtlbHNlIHAxLmN1cnJlbnQ9ITEscTEoe3R5cGU6ImJlZ2luIix4OmcseTpLMX0pfSxvblRvdWNoTW92ZTooXyk9PntfLnByZXZlbnREZWZhdWx0KCk7bGV0IFc9bTEoKTtpZighVylyZXR1cm47aWYoVTAuY3VycmVudCYmXy50b3VjaGVzLmxlbmd0aD49Mil7bGV0IE0xPV8udG91Y2hlc1swXSxXMT1fLnRvdWNoZXNbMV0sVDE9e3gxOihNMS5jbGllbnRYLVcubGVmdCkvVy53aWR0aCx5MTooTTEuY2xpZW50WS1XLnRvcCkvVy5oZWlnaHQseDI6KFcxLmNsaWVudFgtVy5sZWZ0KS9XLndpZHRoLHkyOihXMS5jbGllbnRZLVcudG9wKS9XLmhlaWdodH07RzEoVDEpLGoxKHt0eXBlOiJtb3ZlIiwuLi5UMX0pO3JldHVybn1sZXQgeD1fLnRvdWNoZXNbMF07aWYoIXgpcmV0dXJuO2xldCBnPSh4LmNsaWVudFgtVy5sZWZ0KS9XLndpZHRoLEsxPSh4LmNsaWVudFktVy50b3ApL1cuaGVpZ2h0O2lmKHUxKGcsSzEpLHAxLmN1cnJlbnQpcTEoe3R5cGU6Im1vdmUiLHg6Zyx5OksxLGVkZ2U6VDJ9KTtlbHNlIHExKHt0eXBlOiJtb3ZlIix4OmcseTpLMX0pfSxvblRvdWNoRW5kOihfKT0+e18ucHJldmVudERlZmF1bHQoKTtsZXQgVz1tMSgpO2lmKCFXKXJldHVybjtpZihVMC5jdXJyZW50KXtpZihfLnRvdWNoZXMubGVuZ3RoPDIpe2xldCBNMT1fLmNoYW5nZWRUb3VjaGVzWzBdLFcxPSQxO2lmKE0xJiZXMSlqMSh7dHlwZToiZW5kIix4MTooTTEuY2xpZW50WC1XLmxlZnQpL1cud2lkdGgseTE6KE0xLmNsaWVudFktVy50b3ApL1cuaGVpZ2h0LHgyOlcxLngyLHkyOlcxLnkyfSk7ZWxzZSBpZihXMSlqMSh7dHlwZToiZW5kIiwuLi5XMX0pO1UwLmN1cnJlbnQ9ITEsRTEuY3VycmVudD0hMSxHMShudWxsKX1yZXR1cm59bGV0IHg9Xy5jaGFuZ2VkVG91Y2hlc1swXTtpZigheClyZXR1cm47bGV0IGc9KHguY2xpZW50WC1XLmxlZnQpL1cud2lkdGgsSzE9KHguY2xpZW50WS1XLnRvcCkvVy5oZWlnaHQ7aWYoaTEoKSxwMS5jdXJyZW50KXExKHt0eXBlOiJlbmQiLHg6Zyx5OksxLGVkZ2U6VDJ9KSxwMS5jdXJyZW50PSExO2Vsc2UgcTEoe3R5cGU6ImVuZCIseDpnLHk6SzF9KX19KSxYKCJkaXYiLHtyZWY6eTEsImRhdGEtdGVzdGlkIjoidG91Y2gtaW5kaWNhdG9yIixzdHlsZTp7cG9zaXRpb246ImFic29sdXRlIixkaXNwbGF5OiJub25lIix3aWR0aDoyNCxoZWlnaHQ6MjQsYm9yZGVyUmFkaXVzOiI1MCUiLGJhY2tncm91bmQ6InJnYmEoNTksMTMwLDI0NiwwLjUpIixib3hTaGFkb3c6IjAgMCA4cHggcmdiYSg1OSwxMzAsMjQ2LDAuMykiLHRyYW5zZm9ybToidHJhbnNsYXRlKC01MCUsIC01MCUpIixwb2ludGVyRXZlbnRzOiJub25lIn19KSwkMSYmWChZMSx7Y2hpbGRyZW46W1goImRpdiIseyJkYXRhLXRlc3RpZCI6ImZpbmdlci1kb3QiLHN0eWxlOlY0KCQxLngxLCQxLnkxKX0pLFgoImRpdiIseyJkYXRhLXRlc3RpZCI6ImZpbmdlci1kb3QiLHN0eWxlOlY0KCQxLngyLCQxLnkyKX0pXX0pLCFYMSYmIWkmJlgoImRpdiIse3N0eWxlOnsuLi5xNCwuLi5afHx7fX0sY2hpbGRyZW46WCgic3BhbiIse3N0eWxlOntjb2xvcjoiIzg4OCIsZm9udFNpemU6MTR9LGNoaWxkcmVuOiJDb25uZWN0aW5nLi4uIn0pfSksaSYmWCgiZGl2Iix7c3R5bGU6cTQsY2hpbGRyZW46WCgic3BhbiIse3N0eWxlOntjb2xvcjoiI2Y0NCIsZm9udFNpemU6MTQscGFkZGluZzoyMCx0ZXh0QWxpZ246ImNlbnRlciJ9LGNoaWxkcmVuOml9KX0pLHMxJiZYKCJkaXYiLHtzdHlsZTprUSxjaGlsZHJlbjpYKCJzcGFuIix7c3R5bGU6e2NvbG9yOiIjZmJiZjI0Iixmb250U2l6ZToxMyxmb250RmFtaWx5OiJtb25vc3BhY2UifSxjaGlsZHJlbjoiU2xvdyBjb25uZWN0aW9uIn0pfSldfSl9KSwhQyYmWCgiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6InNwYWNlLWJldHdlZW4iLHBhZGRpbmc6IjRweCA4cHgiLGJvcmRlclRvcDoiMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xMikifSxjaGlsZHJlbjpbWCgiYnV0dG9uIix7b25DbGljazpRMixzdHlsZTp7YmFja2dyb3VuZDoibm9uZSIsYm9yZGVyOiIxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjIpIixjb2xvcjoiI2FhYSIsZm9udFNpemU6MTEsZm9udEZhbWlseToibW9ub3NwYWNlIixwYWRkaW5nOiIycHggMTBweCIsY3Vyc29yOiJwb2ludGVyIixib3JkZXJSYWRpdXM6NH0sY2hpbGRyZW46IkhvbWUifSksWCgic3BhbiIse3N0eWxlOntjb2xvcjpZMD4wPyIjNGY0IjoiIzg4OCIsZm9udFNpemU6MTIsZm9udEZhbWlseToibW9ub3NwYWNlIixkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDo2fSxjaGlsZHJlbjpbayYmWCgic3BhbiIseyJkYXRhLXRlc3RpZCI6InF1YWxpdHktZG90IixzdHlsZTp7d2lkdGg6OCxoZWlnaHQ6OCxib3JkZXJSYWRpdXM6IjUwJSIsZGlzcGxheToiaW5saW5lLWJsb2NrIixiYWNrZ3JvdW5kOms9PT0iZ29vZCI/IiM0YWRlODAiOms9PT0iZGVncmFkZWQiPyIjZmFjYzE1IjoiI2VmNDQ0NCJ9fSksWTAsIiBmcHMiXX0pXX0pXX0pfXZhciBrUT17cG9zaXRpb246ImFic29sdXRlIix0b3A6OCxsZWZ0OiI1MCUiLHRyYW5zZm9ybToidHJhbnNsYXRlWCgtNTAlKSIsYmFja2dyb3VuZDoicmdiYSgwLDAsMCwwLjcpIixib3JkZXJSYWRpdXM6NixwYWRkaW5nOiI0cHggMTJweCIscG9pbnRlckV2ZW50czoibm9uZSJ9LHE0PXtwb3NpdGlvbjoiYWJzb2x1dGUiLGluc2V0OjAsZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoiY2VudGVyIixiYWNrZ3JvdW5kOiJyZ2JhKDAsMCwwLDAuOCkifSxHND0yMDtmdW5jdGlvbiBWNCgkLEope3JldHVybntwb3NpdGlvbjoiYWJzb2x1dGUiLGxlZnQ6YCR7JCoxMDB9JWAsdG9wOmAke0oqMTAwfSVgLHdpZHRoOkc0LGhlaWdodDpHNCxib3JkZXJSYWRpdXM6IjUwJSIsYmFja2dyb3VuZDoicmdiYSgyNTUsMjU1LDI1NSwwLjQ1KSIsYm9yZGVyOiIxLjI1cHggc29saWQgcmdiYSgwLDAsMCwwLjU1KSIsYm94U2hhZG93OiIwIDFweCAzcHggcmdiYSgwLDAsMCwwLjQ1KSIsdHJhbnNmb3JtOiJ0cmFuc2xhdGUoLTUwJSwgLTUwJSkiLHBvaW50ZXJFdmVudHM6Im5vbmUifX1mdW5jdGlvbiBYNSgkKXtyZXR1cm4gJCYmdHlwZW9mICQuZGV2aWNlPT09InN0cmluZyImJnR5cGVvZiAkLnVybD09PSJzdHJpbmciPyQ6bnVsbH1mdW5jdGlvbiBCNCgkKXtsZXQgSj1uZXcgVVJMKCQuc3RyZWFtVXJsKTtyZXR1cm4gSi5wYXRobmFtZT1KLnBhdGhuYW1lLnJlcGxhY2UoL1wvc3RyZWFtXC5bXi9dKyQvLCIvc3RyZWFtLm1qcGVnIiksSi5zZWFyY2g9IiIsSi5oYXNoPSIiLEoudG9TdHJpbmcoKX1mdW5jdGlvbiBLMygkKXtsZXQgSj1uZXcgVVJMKCQuc3RyZWFtVXJsKTtyZXR1cm4gSi5wYXRobmFtZT1KLnBhdGhuYW1lLnJlcGxhY2UoL1wvc3RyZWFtXC5bXi9dKyQvLCIvd2VicnRjL29mZmVyIiksSi5zZWFyY2g9IiIsSi5oYXNoPSIiLEoudG9TdHJpbmcoKX1mdW5jdGlvbiBMNCgkKXtsZXQgSj1uZXcgVVJMKEszKCQpKTtyZXR1cm4gSi5wYXRobmFtZT1KLnBhdGhuYW1lLnJlcGxhY2UoL1wvb2ZmZXIkLywiL2Nsb3NlIiksSi50b1N0cmluZygpfWZ1bmN0aW9uIHo0KCQpe2xldCBKPW5ldyBVUkwoSzMoJCkpO3JldHVybiBKLnBhdGhuYW1lPUoucGF0aG5hbWUucmVwbGFjZSgvXC9vZmZlciQvLCIvc3RhdHMiKSxKLnRvU3RyaW5nKCl9ZnVuY3Rpb24gVTQoJCxKKXtsZXQgUT1uZXcgVVJMKCQpO3JldHVybiBRLnNlYXJjaFBhcmFtcy5zZXQoInNlc3Npb25JZCIsSiksUS50b1N0cmluZygpfWZ1bmN0aW9uIFMxKCQpe2xldCBRPXdpbmRvdy5fX1NJTV9QUkVWSUVXX18/LmJhc2VQYXRoPz8od2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLnJlcGxhY2UoL1wvKyQvLCIiKXx8Ii8iKTtyZXR1cm4gUT09PSIvIj9gLyR7JH1gOmAke1F9LyR7JH1gfXZhciBGUT01MDAwLFdRPTIwMDAsSzU9bnVsbCxUOD1udWxsLERRPTEsX1E9MSx4Mj1uZXcgTWFwLGIyPW5ldyBNYXA7ZnVuY3Rpb24gUFEoKXtsZXQgJD1uZXcgVVJMKFMxKCJleGVjLXdzIiksd2luZG93LmxvY2F0aW9uLmhyZWYpO3JldHVybiAkLnByb3RvY29sPSQucHJvdG9jb2w9PT0iaHR0cHM6Ij8id3NzOiI6IndzOiIsJC50b1N0cmluZygpfWZ1bmN0aW9uIFRRKCQpe2ZvcihsZXQgSiBvZiB4Mi52YWx1ZXMoKSlKLnJlamVjdCgkKTt4Mi5jbGVhcigpfWZ1bmN0aW9uIE40KCl7cmV0dXJuIEs1Pz89bmV3IFByb21pc2UoKCQsSik9PntsZXQgUT0hMSxaO3RyeXtaPW5ldyBXZWJTb2NrZXQoUFEoKSl9Y2F0Y2gocSl7SzU9bnVsbCxKKHEpO3JldHVybn1sZXQgSz1zZXRUaW1lb3V0KCgpPT57aWYoIVEpUT0hMCxLNT1udWxsLEooRXJyb3IoImNvbnRyb2wgc29ja2V0IGNvbm5lY3QgdGltZW91dCIpKSxaLmNsb3NlKCl9LEZRKTtaLm9ub3Blbj0oKT0+e1ouc2VuZChKU09OLnN0cmluZ2lmeSh7dG9rZW46d2luZG93Ll9fU0lNX1BSRVZJRVdfXz8uZXhlY1Rva2VuPz8iIn0pKX0sWi5vbm1lc3NhZ2U9KHEpPT57bGV0IEc7dHJ5e0c9SlNPTi5wYXJzZShTdHJpbmcocS5kYXRhKSl9Y2F0Y2h7cmV0dXJufWlmKEcucmVhZHkpe2lmKCFRKVE9ITAsY2xlYXJUaW1lb3V0KEspLFQ4PVosJChaKTtyZXR1cm59aWYodHlwZW9mIEcuc3ViPT09Im51bWJlciIpe2xldCBMPWIyLmdldChHLnN1Yik7aWYoIUwpcmV0dXJuO2lmKEcuZW5kKWIyLmRlbGV0ZShHLnN1YiksTC5vbkVuZCgpO2Vsc2UgaWYodHlwZW9mIEcuZGF0YT09PSJzdHJpbmciKUwub25EYXRhKEcuZGF0YSk7cmV0dXJufWlmKHR5cGVvZiBHLmlkIT09Im51bWJlciIpcmV0dXJuO2xldCBCPXgyLmdldChHLmlkKTtpZighQilyZXR1cm47eDIuZGVsZXRlKEcuaWQpLEIucmVzb2x2ZShHKX07bGV0IFk9KCk9PntLNT1udWxsLFQ4PW51bGw7bGV0IHE9RXJyb3IoImNvbnRyb2wgc29ja2V0IGNsb3NlZCDigJQgcmVsb2FkIHRoZSBwYWdlIGlmIHRoaXMgcGVyc2lzdHMiKTtUUShxKTtsZXQgRz1bLi4uYjIudmFsdWVzKCldO2IyLmNsZWFyKCk7Zm9yKGxldCBCIG9mIEcpQi5vbkVuZCgpO2lmKCFRKVE9ITAsY2xlYXJUaW1lb3V0KEspLEoocSl9O1oub25lcnJvcj1ZLFoub25jbG9zZT1ZfSksSzV9YXN5bmMgZnVuY3Rpb24gSDQoJCxKKXtsZXQgUT1hd2FpdCBONCgpO2lmKFEucmVhZHlTdGF0ZSE9PVdlYlNvY2tldC5PUEVOKXRocm93IEVycm9yKCJjb250cm9sIHNvY2tldCBub3Qgb3BlbiIpO3JldHVybiBuZXcgUHJvbWlzZSgoWixLKT0+e2xldCBZPURRKysscT0oKT0+e3gyLmRlbGV0ZShZKSxLKEo/LnJlYXNvbj8/bmV3IERPTUV4Y2VwdGlvbigiQWJvcnRlZCIsIkFib3J0RXJyb3IiKSl9O2lmKEope2lmKEouYWJvcnRlZCl7cSgpO3JldHVybn1KLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IixxLHtvbmNlOiEwfSl9eDIuc2V0KFkse3Jlc29sdmU6KEcpPT57Sj8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYWJvcnQiLHEpLFooRyl9LHJlamVjdDooRyk9PntKPy5yZW1vdmVFdmVudExpc3RlbmVyKCJhYm9ydCIscSksSyhHKX19KSxRLnNlbmQoSlNPTi5zdHJpbmdpZnkoe2lkOlksLi4uJH0pKX0pfWFzeW5jIGZ1bmN0aW9uIEExKCQsSixRKXtsZXQgWj1hd2FpdCBINCh7YWN0aW9uOiQscGFyYW1zOkp9LFE/LnNpZ25hbCk7aWYoWi5lcnJvcilyZXR1cm57c3Rkb3V0OiIiLHN0ZGVycjpaLmVycm9yLGV4aXRDb2RlOjF9O3JldHVybntzdGRvdXQ6Wi5zdGRvdXQ/PyIiLHN0ZGVycjpaLnN0ZGVycj8/IiIsZXhpdENvZGU6Wi5leGl0Q29kZT8/MX19YXN5bmMgZnVuY3Rpb24gRTgoJCxKKXtsZXQgUT1hd2FpdCBINCh7dWk6JH0sSj8uc2lnbmFsKTtpZihRLmVycm9yKXRocm93IEVycm9yKFEuZXJyb3IpO3JldHVybiBRLnN0YXR1cz8/bnVsbH1mdW5jdGlvbiB3MCgkKXtsZXQgSj17b25tZXNzYWdlOm51bGwsb25lcnJvcjpudWxsLGNsb3NlOigpPT57fX0sUT0hMSxaPW51bGwsSz1udWxsLFk9IiIscT0oTCk9PntZKz1MLnJlcGxhY2UoL1xyXG4vZyxgCmApO2xldCB6O3doaWxlKCh6PVkuaW5kZXhPZihgCgpgKSkhPT0tMSl7bGV0IFY9WS5zbGljZSgwLHopO1k9WS5zbGljZSh6KzIpO2xldCBOPVYuc3BsaXQoYApgKS5maWx0ZXIoKEgpPT5ILnN0YXJ0c1dpdGgoImRhdGE6IikpLm1hcCgoSCk9Pkguc2xpY2UoNSkucmVwbGFjZSgvXiAvLCIiKSkuam9pbihgCmApO2lmKE4pSi5vbm1lc3NhZ2U/Lih7ZGF0YTpOfSl9fSxHPSgpPT57aWYoUXx8SylyZXR1cm47Si5vbmVycm9yPy4oKSxLPXNldFRpbWVvdXQoKCk9PntLPW51bGwsQigpfSxXUSl9LEI9YXN5bmMoKT0+e2lmKFEpcmV0dXJuO3RyeXtsZXQgTD1hd2FpdCBONCgpO2lmKFEpcmV0dXJuO1k9IiIsWj1fUSsrLGIyLnNldChaLHtvbkRhdGE6cSxvbkVuZDpHfSksTC5zZW5kKEpTT04uc3RyaW5naWZ5KHtzdWI6WixwYXRoOiR9KSl9Y2F0Y2h7RygpfX07cmV0dXJuIEIoKSxKLmNsb3NlPSgpPT57aWYoUT0hMCxLKWNsZWFyVGltZW91dChLKTtpZihaIT09bnVsbCl7YjIuZGVsZXRlKFopO3RyeXtUOD8uc2VuZChKU09OLnN0cmluZ2lmeSh7dW5zdWI6Wn0pKX1jYXRjaHt9Wj1udWxsfX0sSn1mdW5jdGlvbiBmMCgkKXtpZighJClyZXR1cm4iaXBob25lIjtsZXQgSj0kLnRvTG93ZXJDYXNlKCk7aWYoSi5pbmNsdWRlcygiaXBhZCIpKXJldHVybiJpcGFkIjtpZihKLmluY2x1ZGVzKCJ3YXRjaCIpKXJldHVybiJ3YXRjaCI7aWYoSi5pbmNsdWRlcygidmlzaW9uIikpcmV0dXJuInZpc2lvbiI7cmV0dXJuImlwaG9uZSJ9dmFyIHYxPXtpcGhvbmU6e3dpZHRoOjQyNyxoZWlnaHQ6ODgxLGJlemVsWDoxOCxiZXplbFk6MTgsaW5uZXJSYWRpdXM6NTV9LGlwYWQ6e3dpZHRoOjQzMCxoZWlnaHQ6NjA1LGJlemVsWDoxNixiZXplbFk6MTYsaW5uZXJSYWRpdXM6MTJ9LHdhdGNoOnt3aWR0aDoyNzQsaGVpZ2h0OjMyMixiZXplbFg6MTIsYmV6ZWxZOjEyLGlubmVyUmFkaXVzOjc5fSx2aXNpb246e3dpZHRoOjY0MCxoZWlnaHQ6NDAwLGJlemVsWDoxMixiZXplbFk6MTIsaW5uZXJSYWRpdXM6MzJ9fSxEcT12MS5pcGhvbmUud2lkdGgsX3E9djEuaXBob25lLmhlaWdodCxQcT12MS5pcGhvbmUuYmV6ZWxYLFRxPXYxLmlwaG9uZS5iZXplbFksRXE9djEuaXBob25lLmlubmVyUmFkaXVzLEM0PXsiaVBob25lIDE3IFBybyBNYXgiOnt3aWR0aDoxMzIwLGhlaWdodDoyODY4fSwiaVBob25lIDE3IFBybyI6e3dpZHRoOjEyMDYsaGVpZ2h0OjI2MjJ9LCJpUGhvbmUgMTciOnt3aWR0aDoxMjA2LGhlaWdodDoyNjIyfSwiaVBob25lIEFpciI6e3dpZHRoOjEyNjAsaGVpZ2h0OjI3MzZ9LCJpUGhvbmUgMTYgUHJvIE1heCI6e3dpZHRoOjEzMjAsaGVpZ2h0OjI4Njh9LCJpUGhvbmUgMTYgUHJvIjp7d2lkdGg6MTIwNixoZWlnaHQ6MjYyMn0sImlQaG9uZSAxNiBQbHVzIjp7d2lkdGg6MTI5MCxoZWlnaHQ6Mjc5Nn0sImlQaG9uZSAxNiI6e3dpZHRoOjExNzksaGVpZ2h0OjI1NTZ9LCJpUGhvbmUgMTZlIjp7d2lkdGg6MTE3MCxoZWlnaHQ6MjUzMn0sImlQaG9uZSAxNSBQcm8gTWF4Ijp7d2lkdGg6MTI5MCxoZWlnaHQ6Mjc5Nn0sImlQaG9uZSAxNSBQcm8iOnt3aWR0aDoxMTc5LGhlaWdodDoyNTU2fSwiaVBob25lIDE1IFBsdXMiOnt3aWR0aDoxMjkwLGhlaWdodDoyNzk2fSwiaVBob25lIDE1Ijp7d2lkdGg6MTE3OSxoZWlnaHQ6MjU1Nn0sImlQYWQgUHJvIDEzLWluY2ggKE01KSI6e3dpZHRoOjIwNjQsaGVpZ2h0OjI3NTJ9LCJpUGFkIFBybyAxMS1pbmNoIChNNSkiOnt3aWR0aDoxNjY4LGhlaWdodDoyNDIwfSwiaVBhZCBQcm8gMTMtaW5jaCAoTTQpIjp7d2lkdGg6MjA2NCxoZWlnaHQ6Mjc1Mn0sImlQYWQgUHJvIDExLWluY2ggKE00KSI6e3dpZHRoOjE2NjgsaGVpZ2h0OjI0MjB9LCJpUGFkIEFpciAxMy1pbmNoIChNMykiOnt3aWR0aDoyMDQ4LGhlaWdodDoyNzMyfSwiaVBhZCBBaXIgMTEtaW5jaCAoTTMpIjp7d2lkdGg6MTY0MCxoZWlnaHQ6MjM2MH0sImlQYWQgKEExNikiOnt3aWR0aDoxNjQwLGhlaWdodDoyMzYwfSwiaVBhZCBtaW5pIChBMTcgUHJvKSI6e3dpZHRoOjE0ODgsaGVpZ2h0OjIyNjZ9LCJBcHBsZSBXYXRjaCBVbHRyYSAzICg0OW1tKSI6e3dpZHRoOjQyMixoZWlnaHQ6NTE0fSwiQXBwbGUgV2F0Y2ggVWx0cmEgMiAoNDltbSkiOnt3aWR0aDo0MTAsaGVpZ2h0OjUwMn0sIkFwcGxlIFdhdGNoIFNlcmllcyAxMSAoNDZtbSkiOnt3aWR0aDo0MTYsaGVpZ2h0OjQ5Nn0sIkFwcGxlIFdhdGNoIFNlcmllcyAxMSAoNDJtbSkiOnt3aWR0aDozNzQsaGVpZ2h0OjQ0Nn0sIkFwcGxlIFdhdGNoIFNlcmllcyAxMCAoNDZtbSkiOnt3aWR0aDo0MTYsaGVpZ2h0OjQ5Nn0sIkFwcGxlIFdhdGNoIFNlcmllcyAxMCAoNDJtbSkiOnt3aWR0aDozNzQsaGVpZ2h0OjQ0Nn0sIkFwcGxlIFdhdGNoIFNFIDMgKDQ0bW0pIjp7d2lkdGg6MzY4LGhlaWdodDo0NDh9LCJBcHBsZSBXYXRjaCBTRSAzICg0MG1tKSI6e3dpZHRoOjMyNCxoZWlnaHQ6Mzk0fSwiQXBwbGUgV2F0Y2ggU0UgKDQ0bW0pIjp7d2lkdGg6MzY4LGhlaWdodDo0NDh9LCJBcHBsZSBXYXRjaCBTRSAoNDBtbSkiOnt3aWR0aDozMjQsaGVpZ2h0OjM5NH0sIkFwcGxlIFZpc2lvbiBQcm8iOnt3aWR0aDoxOTIwLGhlaWdodDoxMDgwfX07ZnVuY3Rpb24gWTMoJCxKKXtsZXQgUT0kJiYkLndpZHRoPjAmJiQuaGVpZ2h0PjA/JDpKLFo9RTIoUSk7aWYoWilyZXR1cm5gJHtaLndpZHRofSAvICR7Wi5oZWlnaHR9YDtyZXR1cm5gJHt2MS5pcGhvbmUud2lkdGgtMip2MS5pcGhvbmUuYmV6ZWxYfSAvICR7djEuaXBob25lLmhlaWdodC0yKnYxLmlwaG9uZS5iZXplbFl9YH1mdW5jdGlvbiBTMigkPSJpcGhvbmUiLEope2xldCBRPUo/QzRbSl06bnVsbDtpZihRKXJldHVybiBRO2xldCBaPXYxWyRdO3JldHVybnt3aWR0aDpaLndpZHRoLTIqWi5iZXplbFgsaGVpZ2h0OlouaGVpZ2h0LTIqWi5iZXplbFl9fWZ1bmN0aW9uIGoyKCQ9ImlwaG9uZSIsSil7aWYodDAoSikpc3dpdGNoKCQpe2Nhc2UiaXBhZCI6cmV0dXJuIDcyMDtjYXNlInZpc2lvbiI6cmV0dXJuIDU4MDtjYXNlIndhdGNoIjpyZXR1cm4gMjAwO2RlZmF1bHQ6cmV0dXJuIDYyMH1zd2l0Y2goJCl7Y2FzZSJpcGFkIjpyZXR1cm4gNDAwO2Nhc2Uid2F0Y2giOnJldHVybiAyMDA7Y2FzZSJ2aXNpb24iOnJldHVybiA1ODA7ZGVmYXVsdDpyZXR1cm4gMzIwfX1mdW5jdGlvbiBxMygkPSJpcGhvbmUiLEope2xldCBRPXYxWyRdLFo9US53aWR0aC0yKlEuYmV6ZWxYLEs9US5oZWlnaHQtMipRLmJlemVsWTtpZihaPEsmJnQwKEopKXJldHVybmAke1EuaW5uZXJSYWRpdXMvSyoxMDB9JSAvICR7US5pbm5lclJhZGl1cy9aKjEwMH0lYDtyZXR1cm5gJHtRLmlubmVyUmFkaXVzL1oqMTAwfSUgLyAke1EuaW5uZXJSYWRpdXMvSyoxMDB9JWB9ZnVuY3Rpb24gTTQoJCl7bGV0IEo9djFbJC50eXBlXSxRPUoud2lkdGgtMipKLmJlemVsWCxaPUouaGVpZ2h0LTIqSi5iZXplbFksSyxZO2lmKFE8WiYmdDAoJC5jb25maWc/P251bGwpKUs9Si5pbm5lclJhZGl1cy9aLFk9Si5pbm5lclJhZGl1cy9RO2Vsc2UgSz1KLmlubmVyUmFkaXVzL1EsWT1KLmlubmVyUmFkaXVzL1o7bGV0IHE9SyokLmNvbnRhaW5lcldpZHRoLEc9WSokLmNvbnRhaW5lckhlaWdodCxCPU1hdGguc3FydChNYXRoLm1heChxKkcsMCkpO3JldHVybntyeDpxLHJ5Okcsckdlb206Qn19dmFyIElRPTEzLHdRPTYyO2Z1bmN0aW9uIEk4KCQpe2xldHtjb250YWluZXJXaWR0aDpKLGNvbnRhaW5lckhlaWdodDpRfT0kLFo9KEMpPT5DLnRvRml4ZWQoMyksSz0oQyxNKT0+e2xldCBrPU0sdz1NLFQ9d1EvMiooTWF0aC5QSS8xODApLFM9MjI1Kk1hdGguUEkvMTgwLFA9UytULHY9Uy1ULGo9aytDKk1hdGguY29zKFApLHU9dytDKk1hdGguc2luKFApLHQ9aytDKk1hdGguY29zKHYpLGE9dytDKk1hdGguc2luKHYpLHM9YE0gJHtaKGopfSAke1oodSl9IEEgJHtaKEMpfSAke1ooQyl9IDAgMCAxICR7Wih0KX0gJHtaKGEpfWAsWjE9YE0gJHtaKHQpfSAke1ooYSl9IEEgJHtaKEMpfSAke1ooQyl9IDAgMCAwICR7WihqKX0gJHtaKHUpfWA7cmV0dXJue2Q6cyxkRmlsbDpaMX19O2lmKCEoSj4wKXx8IShRPjApKXtsZXQgQz1JUSxNPU1hdGguY2VpbChDKzE0KSx7ZDprLGRGaWxsOnd9PUsoQyxNKTtyZXR1cm57ZDprLGRGaWxsOncsdmlld0JveFNpemU6TX19bGV0e3JHZW9tOll9PU00KCQpLHE9TWF0aC5tYXgoMi4yLE1hdGgubWluKDUuMiwwLjAxMSpNYXRoLm1pbihKLFEpKSksRz1ZKjAuMzQrcSxCPU1hdGgubWluKEosUSksTD1NYXRoLm1pbigyMixNYXRoLm1heCgxMixCKjAuMDUyKSk7Rz1NYXRoLm1pbigyNCxNYXRoLm1heCgxMixHLEwpKTtsZXQgSD1NYXRoLm1heCgyNixNYXRoLmNlaWwoRysxMykpLHtkOk8sZEZpbGw6VX09SyhHLEgpO3JldHVybntkOk8sZEZpbGw6VSx2aWV3Qm94U2l6ZTpIfX1mdW5jdGlvbiBHMyh7dHlwZTokPSJpcGhvbmUiLHN0cmVhbWluZzpKPSExfSl7c3dpdGNoKCQpe2Nhc2UiaXBhZCI6cmV0dXJuIFgoYlEse3N0cmVhbWluZzpKfSk7Y2FzZSJ3YXRjaCI6cmV0dXJuIFgoeFEse3N0cmVhbWluZzpKfSk7Y2FzZSJ2aXNpb24iOnJldHVybiBYKFNRLHtzdHJlYW1pbmc6Sn0pO2RlZmF1bHQ6cmV0dXJuIFgoeVEse3N0cmVhbWluZzpKfSl9fWZ1bmN0aW9uIHlRKHtzdHJlYW1pbmc6JD0hMX0pe3JldHVybiBYKCJzdmciLHt2aWV3Qm94OiIwIDAgNDI3IDg4MSIsc3R5bGU6e3dpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUifSxmaWxsOiJub25lIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGNoaWxkcmVuOltYKCJkZWZzIix7Y2hpbGRyZW46W1goImZpbHRlciIse2lkOiJjaHJvbWUtZmlsdGVyMCIseDoiLTAuMTY2OTkyIix5OiIwLjE2NjUwNCIsd2lkdGg6IjQyNyIsaGVpZ2h0OiI4ODAuNjY3IixmaWx0ZXJVbml0czoidXNlclNwYWNlT25Vc2UiLGNvbG9ySW50ZXJwb2xhdGlvbkZpbHRlcnM6InNSR0IiLGNoaWxkcmVuOltYKCJmZUZsb29kIix7Zmxvb2RPcGFjaXR5OiIwIixyZXN1bHQ6IkJhY2tncm91bmRJbWFnZUZpeCJ9KSxYKCJmZUJsZW5kIix7bW9kZToibm9ybWFsIixpbjoiU291cmNlR3JhcGhpYyIsaW4yOiJCYWNrZ3JvdW5kSW1hZ2VGaXgiLHJlc3VsdDoic2hhcGUifSksWCgiZmVHYXVzc2lhbkJsdXIiLHtzdGREZXZpYXRpb246IjAuNSIscmVzdWx0OiJlZmZlY3QxX2ZvcmVncm91bmRCbHVyIn0pXX0pLFgoImZpbHRlciIse2lkOiJjaHJvbWUtZmlsdGVyMSIseDoiNi4zMzIzNiIseToiNi4zMzM4MiIsd2lkdGg6IjQxNCIsaGVpZ2h0OiI4NjgiLGZpbHRlclVuaXRzOiJ1c2VyU3BhY2VPblVzZSIsY29sb3JJbnRlcnBvbGF0aW9uRmlsdGVyczoic1JHQiIsY2hpbGRyZW46W1goImZlRmxvb2QiLHtmbG9vZE9wYWNpdHk6IjAiLHJlc3VsdDoiQmFja2dyb3VuZEltYWdlRml4In0pLFgoImZlQmxlbmQiLHttb2RlOiJub3JtYWwiLGluOiJTb3VyY2VHcmFwaGljIixpbjI6IkJhY2tncm91bmRJbWFnZUZpeCIscmVzdWx0OiJzaGFwZSJ9KSxYKCJmZUdhdXNzaWFuQmx1ciIse3N0ZERldmlhdGlvbjoiMC4zMzMzMzMiLHJlc3VsdDoiZWZmZWN0MV9mb3JlZ3JvdW5kQmx1ciJ9KV19KV19KSxYKCJyZWN0Iix7eDoiMy44MzI2OCIseToiMy44MzM2NiIsd2lkdGg6IjQxOSIsaGVpZ2h0OiI4NzMiLHJ4OiI2Ni4xNjY3IixzdHJva2U6IiM0NTQ1NDgiLHN0cm9rZVdpZHRoOiI0LjMzMzMzIn0pLFgoInJlY3QiLHt4OiIwLjgzMzMzMyIseToiMC44MzMzMzMiLHdpZHRoOiI0MjUiLGhlaWdodDoiODc5IixyeDoiNjkuMTY2NyIsc3Ryb2tlOiIjMzczNzNhIixzdHJva2VXaWR0aDoiMS42NjY2NyJ9KSxYKCJnIix7b3BhY2l0eToiMC45IixmaWx0ZXI6InVybCgjY2hyb21lLWZpbHRlcjApIixjaGlsZHJlbjpYKCJyZWN0Iix7eDoiMS42NjYwMiIseToiMiIsd2lkdGg6IjQyMy4zMzMiLGhlaWdodDoiODc3IixyeDoiNjguNjY2NyIsc3Ryb2tlOiIjNDU0NTQ4IixzdHJva2VXaWR0aDoiMS42NjY2NyJ9KX0pLFgoImciLHtvcGFjaXR5OiIwLjgiLGZpbHRlcjoidXJsKCNjaHJvbWUtZmlsdGVyMSkiLGNoaWxkcmVuOlgoInJlY3QiLHt4OiI3LjMzMjY4Iix5OiI3LjMzMzY2Iix3aWR0aDoiNDEyIixoZWlnaHQ6Ijg2NiIscng6IjYyLjY2NjciLHN0cm9rZToiIzY0NjQ2NCIsc3Ryb2tlV2lkdGg6IjAuNjY2NjY3In0pfSksWCgicmVjdCIse3g6IjE1MS42NjYiLHk6IjMxLjY2NyIsd2lkdGg6IjEyMy4zMzMiLGhlaWdodDoiMzYiLHJ4OiIxOCIsZmlsbDoiYmxhY2siLHN0eWxlOntvcGFjaXR5OiQ/MDoxLHRyYW5zaXRpb246Im9wYWNpdHkgMC4zcyBlYXNlIn19KV19KX1mdW5jdGlvbiBiUSh7c3RyZWFtaW5nOiQ9ITF9KXtsZXQgSj12MS5pcGFkLndpZHRoLFE9djEuaXBhZC5oZWlnaHQsWj0zMCxLPTI2O3JldHVybiBYKCJzdmciLHt2aWV3Qm94OmAwIDAgJHtKfSAke1F9YCxzdHlsZTp7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSJ9LGZpbGw6Im5vbmUiLHhtbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsY2hpbGRyZW46W1goImRlZnMiLHtjaGlsZHJlbjpbWCgiZmlsdGVyIix7aWQ6ImlwYWQtZ2xvdzAiLHg6IjAiLHk6IjAiLHdpZHRoOkosaGVpZ2h0OlEsZmlsdGVyVW5pdHM6InVzZXJTcGFjZU9uVXNlIixjb2xvckludGVycG9sYXRpb25GaWx0ZXJzOiJzUkdCIixjaGlsZHJlbjpbWCgiZmVGbG9vZCIse2Zsb29kT3BhY2l0eToiMCIscmVzdWx0OiJCYWNrZ3JvdW5kSW1hZ2VGaXgifSksWCgiZmVCbGVuZCIse21vZGU6Im5vcm1hbCIsaW46IlNvdXJjZUdyYXBoaWMiLGluMjoiQmFja2dyb3VuZEltYWdlRml4IixyZXN1bHQ6InNoYXBlIn0pLFgoImZlR2F1c3NpYW5CbHVyIix7c3RkRGV2aWF0aW9uOiIwLjUiLHJlc3VsdDoiYmx1ciJ9KV19KSxYKCJmaWx0ZXIiLHtpZDoiaXBhZC1nbG93MSIseDoiNSIseToiNSIsd2lkdGg6Si0xMCxoZWlnaHQ6US0xMCxmaWx0ZXJVbml0czoidXNlclNwYWNlT25Vc2UiLGNvbG9ySW50ZXJwb2xhdGlvbkZpbHRlcnM6InNSR0IiLGNoaWxkcmVuOltYKCJmZUZsb29kIix7Zmxvb2RPcGFjaXR5OiIwIixyZXN1bHQ6IkJhY2tncm91bmRJbWFnZUZpeCJ9KSxYKCJmZUJsZW5kIix7bW9kZToibm9ybWFsIixpbjoiU291cmNlR3JhcGhpYyIsaW4yOiJCYWNrZ3JvdW5kSW1hZ2VGaXgiLHJlc3VsdDoic2hhcGUifSksWCgiZmVHYXVzc2lhbkJsdXIiLHtzdGREZXZpYXRpb246IjAuMzMzMzMzIixyZXN1bHQ6ImJsdXIifSldfSldfSksWCgicmVjdCIse3g6IjMuNSIseToiMy41Iix3aWR0aDpKLTcsaGVpZ2h0OlEtNyxyeDoyNixzdHJva2U6IiM0NTQ1NDgiLHN0cm9rZVdpZHRoOiI0In0pLFgoInJlY3QiLHt4OiIwLjgzMyIseToiMC44MzMiLHdpZHRoOkotMS42NjYsaGVpZ2h0OlEtMS42NjYscng6MzAsc3Ryb2tlOiIjMzczNzNhIixzdHJva2VXaWR0aDoiMS42NjYifSksWCgiZyIse29wYWNpdHk6IjAuOSIsZmlsdGVyOiJ1cmwoI2lwYWQtZ2xvdzApIixjaGlsZHJlbjpYKCJyZWN0Iix7eDoiMS41Iix5OiIxLjUiLHdpZHRoOkotMyxoZWlnaHQ6US0zLHJ4OjI5LHN0cm9rZToiIzQ1NDU0OCIsc3Ryb2tlV2lkdGg6IjEuNjY2In0pfSksWCgiZyIse29wYWNpdHk6IjAuOCIsZmlsdGVyOiJ1cmwoI2lwYWQtZ2xvdzEpIixjaGlsZHJlbjpYKCJyZWN0Iix7eDoiNiIseToiNiIsd2lkdGg6Si0xMixoZWlnaHQ6US0xMixyeDoyNCxzdHJva2U6IiM2NDY0NjQiLHN0cm9rZVdpZHRoOiIwLjY2NiJ9KX0pLFgoImNpcmNsZSIse2N4OkovMixjeTp2MS5pcGFkLmJlemVsWS8yKzEscjoiMyIsZmlsbDoiIzFhMWExYSIsc3R5bGU6e29wYWNpdHk6JD8wOjAuOCx0cmFuc2l0aW9uOiJvcGFjaXR5IDAuM3MgZWFzZSJ9fSksWCgicmVjdCIse3g6KEotMTIwKS8yLHk6US12MS5pcGFkLmJlemVsWS8yLTIuNSx3aWR0aDoiMTIwIixoZWlnaHQ6IjUiLHJ4OiIyLjUiLGZpbGw6IndoaXRlIixzdHlsZTp7b3BhY2l0eTokPzA6MC4zNSxtaXhCbGVuZE1vZGU6ImRpZmZlcmVuY2UiLHRyYW5zaXRpb246Im9wYWNpdHkgMC4zcyBlYXNlIn19KV19KX1mdW5jdGlvbiB4USh7c3RyZWFtaW5nOiQ9ITF9KXtsZXQgSj12MS53YXRjaC53aWR0aCxRPXYxLndhdGNoLmhlaWdodCxaPTg4LEs9ODIsWT04LHE9MzYsRz1RLzItMTgtMTYsQj0yMixMPVEvMi0xMSsxNjtyZXR1cm4gWCgic3ZnIix7dmlld0JveDpgMCAwICR7Sn0gJHtRfWAsc3R5bGU6e3dpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUiLG92ZXJmbG93OiJ2aXNpYmxlIn0sZmlsbDoibm9uZSIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixjaGlsZHJlbjpbWCgiZGVmcyIse2NoaWxkcmVuOlgoImZpbHRlciIse2lkOiJ3YXRjaC1nbG93MCIseDoiMCIseToiMCIsd2lkdGg6SisxMixoZWlnaHQ6USxmaWx0ZXJVbml0czoidXNlclNwYWNlT25Vc2UiLGNvbG9ySW50ZXJwb2xhdGlvbkZpbHRlcnM6InNSR0IiLGNoaWxkcmVuOltYKCJmZUZsb29kIix7Zmxvb2RPcGFjaXR5OiIwIixyZXN1bHQ6IkJhY2tncm91bmRJbWFnZUZpeCJ9KSxYKCJmZUJsZW5kIix7bW9kZToibm9ybWFsIixpbjoiU291cmNlR3JhcGhpYyIsaW4yOiJCYWNrZ3JvdW5kSW1hZ2VGaXgiLHJlc3VsdDoic2hhcGUifSksWCgiZmVHYXVzc2lhbkJsdXIiLHtzdGREZXZpYXRpb246IjAuNSIscmVzdWx0OiJibHVyIn0pXX0pfSksWCgicmVjdCIse3g6Si0yLHk6Ryx3aWR0aDo4LGhlaWdodDozNixyeDoiMyIsZmlsbDoiIzJhMmEyYyIsc3Ryb2tlOiIjNDU0NTQ4IixzdHJva2VXaWR0aDoiMSJ9KSxYKCJyZWN0Iix7eDpKLTEseTpMLHdpZHRoOjYsaGVpZ2h0OjIyLHJ4OiIyLjUiLGZpbGw6IiMyYTJhMmMiLHN0cm9rZToiIzQ1NDU0OCIsc3Ryb2tlV2lkdGg6IjAuOCJ9KSxYKCJyZWN0Iix7eDoiMy41Iix5OiIzLjUiLHdpZHRoOkotNyxoZWlnaHQ6US03LHJ4OjgyLHN0cm9rZToiIzQ1NDU0OCIsc3Ryb2tlV2lkdGg6IjMuNSJ9KSxYKCJyZWN0Iix7eDoiMC44MzMiLHk6IjAuODMzIix3aWR0aDpKLTEuNjY2LGhlaWdodDpRLTEuNjY2LHJ4Ojg4LHN0cm9rZToiIzM3MzczYSIsc3Ryb2tlV2lkdGg6IjEuNjY2In0pLFgoImciLHtvcGFjaXR5OiIwLjkiLGZpbHRlcjoidXJsKCN3YXRjaC1nbG93MCkiLGNoaWxkcmVuOlgoInJlY3QiLHt4OiIxLjUiLHk6IjEuNSIsd2lkdGg6Si0zLGhlaWdodDpRLTMscng6ODcsc3Ryb2tlOiIjNDU0NTQ4IixzdHJva2VXaWR0aDoiMS42NjYifSl9KV19KX1mdW5jdGlvbiBTUSh7c3RyZWFtaW5nOiQ9ITF9KXtsZXQgSj12MS52aXNpb24ud2lkdGgsUT12MS52aXNpb24uaGVpZ2h0LFo9NDAsSz0zNDtyZXR1cm4gWCgic3ZnIix7dmlld0JveDpgMCAwICR7Sn0gJHtRfWAsc3R5bGU6e3dpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUifSxmaWxsOiJub25lIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGNoaWxkcmVuOltYKCJkZWZzIix7Y2hpbGRyZW46W1goImZpbHRlciIse2lkOiJ2aXNpb24tZ2xvdzAiLHg6IjAiLHk6IjAiLHdpZHRoOkosaGVpZ2h0OlEsZmlsdGVyVW5pdHM6InVzZXJTcGFjZU9uVXNlIixjb2xvckludGVycG9sYXRpb25GaWx0ZXJzOiJzUkdCIixjaGlsZHJlbjpbWCgiZmVGbG9vZCIse2Zsb29kT3BhY2l0eToiMCIscmVzdWx0OiJCYWNrZ3JvdW5kSW1hZ2VGaXgifSksWCgiZmVCbGVuZCIse21vZGU6Im5vcm1hbCIsaW46IlNvdXJjZUdyYXBoaWMiLGluMjoiQmFja2dyb3VuZEltYWdlRml4IixyZXN1bHQ6InNoYXBlIn0pLFgoImZlR2F1c3NpYW5CbHVyIix7c3RkRGV2aWF0aW9uOiIwLjUiLHJlc3VsdDoiYmx1ciJ9KV19KSxYKCJmaWx0ZXIiLHtpZDoidmlzaW9uLWdsb3cxIix4OiI1Iix5OiI1Iix3aWR0aDpKLTEwLGhlaWdodDpRLTEwLGZpbHRlclVuaXRzOiJ1c2VyU3BhY2VPblVzZSIsY29sb3JJbnRlcnBvbGF0aW9uRmlsdGVyczoic1JHQiIsY2hpbGRyZW46W1goImZlRmxvb2QiLHtmbG9vZE9wYWNpdHk6IjAiLHJlc3VsdDoiQmFja2dyb3VuZEltYWdlRml4In0pLFgoImZlQmxlbmQiLHttb2RlOiJub3JtYWwiLGluOiJTb3VyY2VHcmFwaGljIixpbjI6IkJhY2tncm91bmRJbWFnZUZpeCIscmVzdWx0OiJzaGFwZSJ9KSxYKCJmZUdhdXNzaWFuQmx1ciIse3N0ZERldmlhdGlvbjoiMC4zMzMiLHJlc3VsdDoiYmx1ciJ9KV19KSxYKCJsaW5lYXJHcmFkaWVudCIse2lkOiJ2aXNpb24tZ2xhc3MiLHgxOiIwIix5MToiMCIseDI6IjAiLHkyOiIxIixjaGlsZHJlbjpbWCgic3RvcCIse29mZnNldDoiMCUiLHN0b3BDb2xvcjoiIzU1NTU1OCIsc3RvcE9wYWNpdHk6IjAuMyJ9KSxYKCJzdG9wIix7b2Zmc2V0OiIxMDAlIixzdG9wQ29sb3I6IiMzYTNhM2QiLHN0b3BPcGFjaXR5OiIwLjEifSldfSldfSksWCgicmVjdCIse3g6IjAiLHk6IjAiLHdpZHRoOkosaGVpZ2h0OlEscng6NDAsZmlsbDoidXJsKCN2aXNpb24tZ2xhc3MpIn0pLFgoInJlY3QiLHt4OiIzLjUiLHk6IjMuNSIsd2lkdGg6Si03LGhlaWdodDpRLTcscng6MzQsc3Ryb2tlOiIjNDU0NTQ4IixzdHJva2VXaWR0aDoiMyJ9KSxYKCJyZWN0Iix7eDoiMC44MzMiLHk6IjAuODMzIix3aWR0aDpKLTEuNjY2LGhlaWdodDpRLTEuNjY2LHJ4OjQwLHN0cm9rZToiIzM3MzczYSIsc3Ryb2tlV2lkdGg6IjEuNjY2In0pLFgoImciLHtvcGFjaXR5OiIwLjkiLGZpbHRlcjoidXJsKCN2aXNpb24tZ2xvdzApIixjaGlsZHJlbjpYKCJyZWN0Iix7eDoiMS41Iix5OiIxLjUiLHdpZHRoOkotMyxoZWlnaHQ6US0zLHJ4OjM5LHN0cm9rZToiIzQ1NDU0OCIsc3Ryb2tlV2lkdGg6IjEuNjY2In0pfSksWCgiZyIse29wYWNpdHk6IjAuOCIsZmlsdGVyOiJ1cmwoI3Zpc2lvbi1nbG93MSkiLGNoaWxkcmVuOlgoInJlY3QiLHt4OiI2Iix5OiI2Iix3aWR0aDpKLTEyLGhlaWdodDpRLTEyLHJ4OjMyLHN0cm9rZToiIzY0NjQ2NCIsc3Ryb2tlV2lkdGg6IjAuNjY2In0pfSksWCgiZWxsaXBzZSIse2N4OkovMixjeTpRLzIscng6Si8yLTMwLHJ5OlEvMi0yNCxzdHJva2U6IiM0YTRhNGQiLHN0cm9rZVdpZHRoOiIwLjUiLG9wYWNpdHk6IjAuMyIsc3R5bGU6e29wYWNpdHk6JD8wOjAuMyx0cmFuc2l0aW9uOiJvcGFjaXR5IDAuM3MgZWFzZSJ9fSldfSl9dmFyIE80PSIocG9pbnRlcjogY29hcnNlKSI7ZnVuY3Rpb24gVjMoKXtsZXRbJCxKXT1BKCgpPT50eXBlb2Ygd2luZG93PCJ1IiYmd2luZG93Lm1hdGNoTWVkaWE/LihPNCkubWF0Y2hlcz09PSEwKTtyZXR1cm4gRSgoKT0+e2xldCBRPXdpbmRvdy5tYXRjaE1lZGlhPy4oTzQpO2lmKCFRKXJldHVybjtsZXQgWj0oKT0+SihRLm1hdGNoZXMpO3JldHVybiBRLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsWiksKCk9PlEucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixaKX0sW10pLCR9dmFyIHc4PVQwKG51bGwpO2Z1bmN0aW9uIEIzKCQpe2xldCBKPUkwKHc4KTtpZighSil0aHJvdyBFcnJvcihgPFNpbXVsYXRvclRvb2xiYXIuJHskfT4gbXVzdCBiZSByZW5kZXJlZCBpbnNpZGUgPFNpbXVsYXRvclRvb2xiYXI+YCk7cmV0dXJuIEp9dmFyIFJRPXtkaXNwbGF5OiJmbGV4IixmbGV4V3JhcDoid3JhcCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiIsZ2FwOiI0cHggMTJweCIscGFkZGluZzoiOHB4IDEycHgiLGJvcmRlclJhZGl1czoyNCxiYWNrZ3JvdW5kOiJ2YXIoLS1zZXJ2ZS1zaW0tcGFuZWwtYmcsICMxODE4MTgpIixib3JkZXI6IjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMSkiLGJveFNoYWRvdzoiMCAxcHggMnB4IHJnYmEoMCwwLDAsMC4yKSIsbWluV2lkdGg6MjQwLHdpZHRoOiIxMDAlIn07ZnVuY3Rpb24gdlEoe29uUm90YXRlOiQsb3JpZW50YXRpb246SixkZXZpY2VVZGlkOlEsZGV2aWNlTmFtZTpaLGRldmljZVJ1bnRpbWU6SyxzdHJlYW1pbmc6WT0hMSxkaXNhYmxlZDpxPSExLGNoaWxkcmVuOkcsc3R5bGU6QiwuLi5MfSl7bGV0IHo9ZjAoWiksTj17b25Sb3RhdGU6JCxvcmllbnRhdGlvbjpKLGRldmljZVVkaWQ6USxkZXZpY2VOYW1lOlosZGV2aWNlUnVudGltZTpLLGRldmljZVR5cGU6eixzdHJlYW1pbmc6WSxkaXNhYmxlZDpxfHwhUXx8IVl9O3JldHVybiBYKHc4LlByb3ZpZGVyLHt2YWx1ZTpOLGNoaWxkcmVuOlgoImRpdiIseyJkYXRhLXNpbXVsYXRvci10b29sYmFyIjohMCxzdHlsZTp7Li4uUlEsLi4uQn0sLi4uTCxjaGlsZHJlbjpHfSl9KX12YXIgaFE9e2Rpc3BsYXk6ImZsZXgiLGZsZXhEaXJlY3Rpb246ImNvbHVtbiIsYWxpZ25JdGVtczoiZmxleC1zdGFydCIsdGV4dEFsaWduOiJsZWZ0IixiYWNrZ3JvdW5kOiJ0cmFuc3BhcmVudCIsYm9yZGVyOiJub25lIixjb2xvcjoiI2ZmZiIscGFkZGluZzoiMnB4IDRweCIsbWFyZ2luOiItMnB4IC00cHgiLGJvcmRlclJhZGl1czo2LGN1cnNvcjoicG9pbnRlciIsbWluV2lkdGg6MCxtYXhXaWR0aDoiMTAwJSIsbGluZUhlaWdodDoxLjIsZm9udEZhbWlseToiaW5oZXJpdCJ9LGdRPWowKGZ1bmN0aW9uKHtuYW1lOkosc3VidGl0bGU6USxoaWRlQ2hldnJvbjpaLGhpZGVTdWJ0aXRsZTpLLHN0eWxlOlksb25Nb3VzZUVudGVyOnEsb25Nb3VzZUxlYXZlOkcsLi4uQn0sTCl7bGV0IHo9QjMoIlRpdGxlIiksW1YsTl09QSghMSksSD1KPz96LmRldmljZU5hbWU/PyJObyBzaW11bGF0b3IiLE89UT8/KHouZGV2aWNlUnVudGltZT96LmRldmljZVJ1bnRpbWUucmVwbGFjZSgvXC4vLCIgIik6IuKAlCIpO3JldHVybiBYKCJidXR0b24iLHtyZWY6TCx0eXBlOiJidXR0b24iLCJkYXRhLXNpbXVsYXRvci10b29sYmFyLXRpdGxlIjohMCxvbk1vdXNlRW50ZXI6KFUpPT57TighMCkscT8uKFUpfSxvbk1vdXNlTGVhdmU6KFUpPT57TighMSksRz8uKFUpfSxzdHlsZTp7Li4uaFEsYmFja2dyb3VuZDpWPyJyZ2JhKDI1NSwyNTUsMjU1LDAuMSkiOiJ0cmFuc3BhcmVudCIsLi4uWX0sLi4uQixjaGlsZHJlbjpbWCgic3BhbiIse3N0eWxlOntkaXNwbGF5OiJpbmxpbmUtZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6NCxmb250U2l6ZToxMixmb250V2VpZ2h0OjYwMCxjb2xvcjoiI2ZmZiIsbWF4V2lkdGg6IjEwMCUiLG92ZXJmbG93OiJoaWRkZW4iLHRleHRPdmVyZmxvdzoiZWxsaXBzaXMiLHdoaXRlU3BhY2U6Im5vd3JhcCJ9LGNoaWxkcmVuOltILCFaJiZYKCJzdmciLHt3aWR0aDoiMTAiLGhlaWdodDoiMTAiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOiIyLjUiLHN0cm9rZUxpbmVjYXA6InJvdW5kIixzdHJva2VMaW5lam9pbjoicm91bmQiLHN0eWxlOntjb2xvcjoicmdiYSgyNTUsMjU1LDI1NSwwLjYpIixmbGV4U2hyaW5rOjB9LGNoaWxkcmVuOlgoInBvbHlsaW5lIix7cG9pbnRzOiI2IDkgMTIgMTUgMTggOSJ9KX0pXX0pLCFLJiZYKCJzcGFuIix7c3R5bGU6e2ZvbnRTaXplOjEwLGNvbG9yOiJyZ2JhKDI1NSwyNTUsMjU1LDAuNSkiLG1heFdpZHRoOiIxMDAlIixvdmVyZmxvdzoiaGlkZGVuIix0ZXh0T3ZlcmZsb3c6ImVsbGlwc2lzIix3aGl0ZVNwYWNlOiJub3dyYXAifSxjaGlsZHJlbjpPfSldfSl9KSxmUT17ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6NCxmbGV4U2hyaW5rOjB9O2Z1bmN0aW9uIG1RKHtzdHlsZTokLC4uLkp9KXtyZXR1cm4gWCgiZGl2Iix7c3R5bGU6ey4uLmZRLC4uLiR9LC4uLkp9KX12YXIgcFE9e2JhY2tncm91bmQ6InRyYW5zcGFyZW50Iixib3JkZXI6Im5vbmUiLHBhZGRpbmc6Nixib3JkZXJSYWRpdXM6MTIsY3Vyc29yOiJwb2ludGVyIixkaXNwbGF5OiJpbmxpbmUtZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoiY2VudGVyIixjb2xvcjoicmdiYSgyNTUsMjU1LDI1NSwwLjgpIix0cmFuc2l0aW9uOiJiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzLCBjb2xvciAwLjE1cywgb3BhY2l0eSAwLjFzIixwb3NpdGlvbjoicmVsYXRpdmUiLG92ZXJmbG93OiJ2aXNpYmxlIix0b3VjaEFjdGlvbjoibWFuaXB1bGF0aW9uIn0sTDM9ajAoZnVuY3Rpb24oe2ZvcmNlRGlzYWJsZWQ6Six0b29sdGlwOlEsc3R5bGU6WixkaXNhYmxlZDpLLHRpdGxlOlksb25Nb3VzZUVudGVyOnEsb25Nb3VzZUxlYXZlOkcsb25Qb2ludGVyRG93bjpCLG9uUG9pbnRlclVwOkwsb25Qb2ludGVyQ2FuY2VsOnosb25Qb2ludGVyTGVhdmU6VixvbkZvY3VzOk4sb25CbHVyOkgsb25DbGljazpPLGNoaWxkcmVuOlUsImFyaWEtbGFiZWwiOkMsLi4uTX0sayl7bGV0IHc9STAodzgpLFQ9S3x8Snx8dz8uZGlzYWJsZWQsUz1WMygpLFtQLHZdPUEoITEpLFtqLHVdPUEoITEpLFt0LGFdPUEoITEpLHM9RighMSksWjE9UDIoKSxtPVE/P1k/Pyh0eXBlb2YgQz09PSJzdHJpbmciP0M6bnVsbCksSjE9ISFtJiYhVCYmKFB8fGopO3JldHVybiBYKCJidXR0b24iLHtyZWY6ayx0eXBlOiJidXR0b24iLGRpc2FibGVkOlQsImFyaWEtbGFiZWwiOkMsImFyaWEtZGVzY3JpYmVkYnkiOm0/WjE6dm9pZCAwLG9uUG9pbnRlckRvd246KFIpPT57cy5jdXJyZW50PSEwLGEoITApLEI/LihSKX0sb25Qb2ludGVyVXA6KFIpPT57YSghMSksTD8uKFIpfSxvblBvaW50ZXJDYW5jZWw6KFIpPT57YSghMSksej8uKFIpfSxvblBvaW50ZXJMZWF2ZTooUik9PnthKCExKSxWPy4oUil9LG9uTW91c2VFbnRlcjooUik9Pnt2KCEwKSxxPy4oUil9LG9uTW91c2VMZWF2ZTooUik9Pnt2KCExKSxHPy4oUil9LG9uRm9jdXM6KFIpPT57dSghcy5jdXJyZW50KSxOPy4oUil9LG9uQmx1cjooUik9PntzLmN1cnJlbnQ9ITEsdSghMSksSD8uKFIpfSxvbkNsaWNrOihSKT0+e3YoITEpLHUoITEpLFIuY3VycmVudFRhcmdldC5ibHVyKCksTz8uKFIpfSxzdHlsZTp7Li4ucFEscGFkZGluZzpTPzk6Nixjb2xvcjpUPyJyZ2JhKDI1NSwyNTUsMjU1LDAuMjUpIjoicmdiYSgyNTUsMjU1LDI1NSwwLjgpIixiYWNrZ3JvdW5kOlQ/InRyYW5zcGFyZW50Ijp0PyJyZ2JhKDI1NSwyNTUsMjU1LDAuMTQpIjpQPyJyZ2JhKDI1NSwyNTUsMjU1LDAuMSkiOiJ0cmFuc3BhcmVudCIsb3BhY2l0eTp0JiYhVD8wLjY6MSxjdXJzb3I6VD8ibm90LWFsbG93ZWQiOiJwb2ludGVyIiwuLi5afSwuLi5NLGNoaWxkcmVuOltVLG0mJlgoInNwYW4iLHtpZDpaMSxyb2xlOiJ0b29sdGlwIiwiYXJpYS1oaWRkZW4iOiFKMSxzdHlsZTp7cG9zaXRpb246ImFic29sdXRlIixsZWZ0OiI1MCUiLGJvdHRvbToiY2FsYygxMDAlICsgOHB4KSIsdHJhbnNmb3JtOmB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoJHtKMT8wOjJ9cHgpYCxvcGFjaXR5OkoxPzE6MCxwb2ludGVyRXZlbnRzOiJub25lIix3aGl0ZVNwYWNlOiJub3dyYXAiLHBhZGRpbmc6IjRweCA3cHgiLGJvcmRlclJhZGl1czo2LGJhY2tncm91bmQ6InZhcigtLXNlcnZlLXNpbS1wYW5lbC1iZywgIzE4MTgxOCkiLGJvcmRlcjoiMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xMikiLGNvbG9yOiJyZ2JhKDI1NSwyNTUsMjU1LDAuOTIpIixmb250U2l6ZToxMSxmb250V2VpZ2h0OjUwMCxsaW5lSGVpZ2h0OjEsYm94U2hhZG93OiIwIDRweCAxNHB4IHJnYmEoMCwwLDAsMC4zMikiLHRyYW5zaXRpb246Im9wYWNpdHkgMC4xMnMgZWFzZSwgdHJhbnNmb3JtIDAuMTJzIGVhc2UiLHpJbmRleDoxMDB9LGNoaWxkcmVuOm19KV19KX0pO2Z1bmN0aW9uIHVRKCQsSil7aWYoJD09PSJ3YXRjaCIpcmV0dXJuIEExKCJob21lLndhdGNoIix7dWRpZDpKfHx2b2lkIDB9KTtpZihKKXJldHVybiBBMSgiaG9tZS5zcHJpbmdib2FyZCIse3VkaWQ6Sn0pO3JldHVybiBBMSgiYnV0dG9uIix7dmFsdWU6ImhvbWUifSl9dmFyIGxRPVgoInN2ZyIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjIiLHN0cm9rZUxpbmVjYXA6InJvdW5kIixzdHJva2VMaW5lam9pbjoicm91bmQiLGNoaWxkcmVuOlgoInBhdGgiLHtkOiJNMyAxMC41IDEyIDNsOSA3LjVWMjBhMSAxIDAgMCAxLTEgMWgtNXYtN2gtNnY3SDRhMSAxIDAgMCAxLTEtMXoifSl9KSxkUT1YKCJzdmciLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHZpZXdCb3g6IjAgMCA0NCA0NCIsZmlsbDoibm9uZSIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixjaGlsZHJlbjpYKCJwYXRoIix7ZmlsbFJ1bGU6ImV2ZW5vZGQiLGNsaXBSdWxlOiJldmVub2RkIixmaWxsOiJjdXJyZW50Q29sb3IiLGQ6Ik00My42ODc1IDEyLjQ2ODhWOC4yNzM0NEM0My42ODc1IDUuNzI2NTYgNDIuOTUzMSAzLjcxMDk0IDQxLjQ4NDQgMi4yMjY1NkM0MC4wMTU2IDAuNzQyMTg4IDM4IDAgMzUuNDM3NSAwSDMxLjE0ODRDMzAuNjAxNiAwIDMwLjEzMjggMC4xOTUzMTIgMjkuNzQyMiAwLjU4NTkzOEMyOS4zNTE2IDAuOTc2NTYyIDI5LjE1NjIgMS40NDUzMSAyOS4xNTYyIDEuOTkyMTlDMjkuMTU2MiAyLjUyMzQ0IDI5LjM1MTYgMi45ODQzOCAyOS43NDIyIDMuMzc1QzMwLjEzMjggMy43NjU2MiAzMC42MDE2IDMuOTYwOTQgMzEuMTQ4NCAzLjk2MDk0SDM1LjQzNzVDMzYuNzgxMiAzLjk2MDk0IDM3LjgzNTkgNC4zNDM3NSAzOC42MDE2IDUuMTA5MzhDMzkuMzUxNiA1Ljg3NSAzOS43MjY2IDYuOTI5NjkgMzkuNzI2NiA4LjI3MzQ0VjEyLjQ2ODhDMzkuNzI2NiAxMyAzOS45MjE5IDEzLjQ2MDkgNDAuMzEyNSAxMy44NTE2QzQwLjcwMzEgMTQuMjQyMiA0MS4xNzE5IDE0LjQzNzUgNDEuNzE4OCAxNC40Mzc1QzQyLjI1IDE0LjQzNzUgNDIuNzEwOSAxNC4yNDIyIDQzLjEwMTYgMTMuODUxNkM0My40OTIyIDEzLjQ2MDkgNDMuNjg3NSAxMyA0My42ODc1IDEyLjQ2ODhaTTAgMTIuNDY4OEMwIDEzIDAuMTk1MzEyIDEzLjQ2MDkgMC41ODU5MzggMTMuODUxNkMwLjk3NjU2MiAxNC4yNDIyIDEuNDM3NSAxNC40Mzc1IDEuOTY4NzUgMTQuNDM3NUMyLjUgMTQuNDM3NSAyLjk2MDk0IDE0LjI0MjIgMy4zNTE1NiAxMy44NTE2QzMuNzQyMTkgMTMuNDYwOSAzLjkzNzUgMTMgMy45Mzc1IDEyLjQ2ODhWOC4yNzM0NEMzLjkzNzUgNi45Mjk2OSA0LjMyMDMxIDUuODc1IDUuMDg1OTQgNS4xMDkzOEM1LjgzNTk0IDQuMzQzNzUgNi44OTA2MiAzLjk2MDk0IDguMjUgMy45NjA5NEgxMi41MzkxQzEzLjA4NTkgMy45NjA5NCAxMy41NTQ3IDMuNzY1NjIgMTMuOTQ1MyAzLjM3NUMxNC4zMjAzIDIuOTg0MzggMTQuNTA3OCAyLjUyMzQ0IDE0LjUwNzggMS45OTIxOUMxNC41MDc4IDEuNDQ1MzEgMTQuMzIwMyAwLjk3NjU2MiAxMy45NDUzIDAuNTg1OTM4QzEzLjU1NDcgMC4xOTUzMTIgMTMuMDg1OSAwIDEyLjUzOTEgMEg4LjI1QzUuNjg3NSAwIDMuNjcxODggMC43NDIxODggMi4yMDMxMiAyLjIyNjU2QzAuNzM0Mzc1IDMuNzEwOTQgMCA1LjcyNjU2IDAgOC4yNzM0NFYxMi40Njg4Wk00My42ODc1IDMxLjI0MjJDNDMuNjg3NSAzMC43MTA5IDQzLjQ5MjIgMzAuMjUgNDMuMTAxNiAyOS44NTk0QzQyLjcxMDkgMjkuNDY4OCA0Mi4yNSAyOS4yNzM0IDQxLjcxODggMjkuMjczNEM0MS4xNzE5IDI5LjI3MzQgNDAuNzAzMSAyOS40Njg4IDQwLjMxMjUgMjkuODU5NEMzOS45MjE5IDMwLjI1IDM5LjcyNjYgMzAuNzEwOSAzOS43MjY2IDMxLjI0MjJWMzUuNDM3NUMzOS43MjY2IDM2Ljc4MTIgMzkuMzUxNiAzNy44MzU5IDM4LjYwMTYgMzguNjAxNkMzNy44MzU5IDM5LjM2NzIgMzYuNzgxMiAzOS43NSAzNS40Mzc1IDM5Ljc1SDMxLjE0ODRDMzAuNjAxNiAzOS43NSAzMC4xMzI4IDM5Ljk0NTMgMjkuNzQyMiA0MC4zMzU5QzI5LjM1MTYgNDAuNzI2NiAyOS4xNTYyIDQxLjE4NzUgMjkuMTU2MiA0MS43MTg4QzI5LjE1NjIgNDIuMjY1NiAyOS4zNTE2IDQyLjcyNjYgMjkuNzQyMiA0My4xMDE2QzMwLjEzMjggNDMuNDkyMiAzMC42MDE2IDQzLjY4NzUgMzEuMTQ4NCA0My42ODc1SDM1LjQzNzVDMzggNDMuNjg3NSA0MC4wMTU2IDQyLjk0NTMgNDEuNDg0NCA0MS40NjA5QzQyLjk1MzEgMzkuOTkyMiA0My42ODc1IDM3Ljk4NDQgNDMuNjg3NSAzNS40Mzc1VjMxLjI0MjJaTTAgMzEuMjQyMlYzNS40Mzc1QzAgMzcuOTg0NCAwLjczNDM3NSAzOS45OTIyIDIuMjAzMTIgNDEuNDYwOUMzLjY3MTg4IDQyLjk0NTMgNS42ODc1IDQzLjY4NzUgOC4yNSA0My42ODc1SDEyLjUzOTFDMTMuMDg1OSA0My42ODc1IDEzLjU1NDcgNDMuNDkyMiAxMy45NDUzIDQzLjEwMTZDMTQuMzIwMyA0Mi43MjY2IDE0LjUwNzggNDIuMjY1NiAxNC41MDc4IDQxLjcxODhDMTQuNTA3OCA0MS4xODc1IDE0LjMyMDMgNDAuNzI2NiAxMy45NDUzIDQwLjMzNTlDMTMuNTU0NyAzOS45NDUzIDEzLjA4NTkgMzkuNzUgMTIuNTM5MSAzOS43NUg4LjI1QzYuODkwNjIgMzkuNzUgNS44MzU5NCAzOS4zNjcyIDUuMDg1OTQgMzguNjAxNkM0LjMyMDMxIDM3LjgzNTkgMy45Mzc1IDM2Ljc4MTIgMy45Mzc1IDM1LjQzNzVWMzEuMjQyMkMzLjkzNzUgMzAuNzEwOSAzLjc0MjE5IDMwLjI1IDMuMzUxNTYgMjkuODU5NEMyLjk2MDk0IDI5LjQ2ODggMi41IDI5LjI3MzQgMS45Njg3NSAyOS4yNzM0QzEuNDM3NSAyOS4yNzM0IDAuOTc2NTYyIDI5LjQ2ODggMC41ODU5MzggMjkuODU5NEMwLjE5NTMxMiAzMC4yNSAwIDMwLjcxMDkgMCAzMS4yNDIyWk0zMS41OTM4IDMxLjgwNDdDMzIuNzgxMiAzMS44MDQ3IDMzLjY3MTkgMzEuNTE1NiAzNC4yNjU2IDMwLjkzNzVDMzQuODU5NCAzMC4zNDM4IDM1LjE1NjIgMjkuNDY4OCAzNS4xNTYyIDI4LjMxMjVWMTYuNzEwOUMzNS4xNTYyIDE1LjUzOTEgMzQuODU5NCAxNC42NjQxIDM0LjI2NTYgMTQuMDg1OUMzMy42NzE5IDEzLjQ5MjIgMzIuNzgxMiAxMy4xOTUzIDMxLjU5MzggMTMuMTk1M0gyOC44OTg0QzI4LjQ2MDkgMTMuMTk1MyAyOC4xNDg0IDEzLjE0MDYgMjcuOTYwOSAxMy4wMzEyQzI3Ljc1NzggMTIuOTIxOSAyNy41MjM0IDEyLjcyNjYgMjcuMjU3OCAxMi40NDUzTDI2LjM2NzIgMTEuNTA3OEMyNi4wODU5IDExLjE5NTMgMjUuNzgxMiAxMC45Njg4IDI1LjQ1MzEgMTAuODI4MUMyNS4xMDk0IDEwLjY3MTkgMjQuNjU2MiAxMC41OTM4IDI0LjA5MzggMTAuNTkzOEgxOS42MTcyQzE5LjA1NDcgMTAuNTkzOCAxOC42MDk0IDEwLjY3MTkgMTguMjgxMiAxMC44MjgxQzE3LjkzNzUgMTAuOTY4OCAxNy42MjUgMTEuMTk1MyAxNy4zNDM4IDExLjUwNzhMMTYuNDc2NiAxMi40NDUzQzE2LjIxMDkgMTIuNzQyMiAxNS45NzY2IDEyLjk0NTMgMTUuNzczNCAxMy4wNTQ3QzE1LjU1NDcgMTMuMTQ4NCAxNS4yMzQ0IDEzLjE5NTMgMTQuODEyNSAxMy4xOTUzSDEyLjA0NjlDMTAuODkwNiAxMy4xOTUzIDEwLjAxNTYgMTMuNDkyMiA5LjQyMTg4IDE0LjA4NTlDOC44MTI1IDE0LjY2NDEgOC41MDc4MSAxNS41MzkxIDguNTA3ODEgMTYuNzEwOVYyOC4zMTI1QzguNTA3ODEgMjkuNDY4OCA4LjgxMjUgMzAuMzQzOCA5LjQyMTg4IDMwLjkzNzVDMTAuMDE1NiAzMS41MTU2IDEwLjg5MDYgMzEuODA0NyAxMi4wNDY5IDMxLjgwNDdIMzEuNTkzOFpNMjEuNzk2OSAyOC45NDUzQzIwLjU5MzggMjguOTQ1MyAxOS41IDI4LjY2NDEgMTguNTE1NiAyOC4xMDE2QzE3LjUxNTYgMjcuNTIzNCAxNi43MjY2IDI2Ljc0MjIgMTYuMTQ4NCAyNS43NTc4QzE1LjU1NDcgMjQuNzU3OCAxNS4yNTc4IDIzLjYzMjggMTUuMjU3OCAyMi4zODI4QzE1LjI1NzggMjEuMTc5NyAxNS41NTQ3IDIwLjA4NTkgMTYuMTQ4NCAxOS4xMDE2QzE2LjcyNjYgMTguMTAxNiAxNy41MTU2IDE3LjMxMjUgMTguNTE1NiAxNi43MzQ0QzE5LjUgMTYuMTQwNiAyMC41OTM4IDE1Ljg0MzggMjEuNzk2OSAxNS44NDM4QzIzLjAxNTYgMTUuODQzOCAyNC4xMjUgMTYuMTQwNiAyNS4xMjUgMTYuNzM0NEMyNi4xMDk0IDE3LjMxMjUgMjYuODk4NCAxOC4xMDE2IDI3LjQ5MjIgMTkuMTAxNkMyOC4wNzAzIDIwLjA4NTkgMjguMzU5NCAyMS4xNzk3IDI4LjM1OTQgMjIuMzgyOEMyOC4zNTk0IDIzLjYxNzIgMjguMDcwMyAyNC43MjY2IDI3LjQ5MjIgMjUuNzEwOUMyNi44OTg0IDI2LjY5NTMgMjYuMTA5NCAyNy40ODQ0IDI1LjEyNSAyOC4wNzgxQzI0LjEyNSAyOC42NTYyIDIzLjAxNTYgMjguOTQ1MyAyMS43OTY5IDI4Ljk0NTNaTTIxLjgyMDMgMjYuOTA2MkMyMi42NDg0IDI2LjkwNjIgMjMuNDA2MiAyNi43MTA5IDI0LjA5MzggMjYuMzIwM0MyNC43ODEyIDI1LjkxNDEgMjUuMzI4MSAyNS4zNjcyIDI1LjczNDQgMjQuNjc5N0MyNi4xMjUgMjMuOTkyMiAyNi4zMjAzIDIzLjIyNjYgMjYuMzIwMyAyMi4zODI4QzI2LjMyMDMgMjEuNTcwMyAyNi4xMjUgMjAuODIwMyAyNS43MzQ0IDIwLjEzMjhDMjUuMzI4MSAxOS40NDUzIDI0Ljc4MTIgMTguOTA2MiAyNC4wOTM4IDE4LjUxNTZDMjMuNDA2MiAxOC4xMDk0IDIyLjY0ODQgMTcuOTA2MiAyMS44MjAzIDE3LjkwNjJDMjAuOTkyMiAxNy45MDYyIDIwLjI0MjIgMTguMTA5NCAxOS41NzAzIDE4LjUxNTZDMTguODgyOCAxOC45MDYyIDE4LjMzNTkgMTkuNDQ1MyAxNy45Mjk3IDIwLjEzMjhDMTcuNTIzNCAyMC44MjAzIDE3LjMyMDMgMjEuNTcwMyAxNy4zMjAzIDIyLjM4MjhDMTcuMzIwMyAyMy4yMjY2IDE3LjUyMzQgMjMuOTkyMiAxNy45Mjk3IDI0LjY3OTdDMTguMzM1OSAyNS4zNjcyIDE4Ljg4MjggMjUuOTE0MSAxOS41NzAzIDI2LjMyMDNDMjAuMjQyMiAyNi43MTA5IDIwLjk5MjIgMjYuOTA2MiAyMS44MjAzIDI2LjkwNjJaTTEyLjYzMjggMTguOTg0NEMxMi4yMTA5IDE4Ljk4NDQgMTEuODU5NCAxOC44MzU5IDExLjU3ODEgMTguNTM5MUMxMS4yODEyIDE4LjI0MjIgMTEuMTMyOCAxNy44OTA2IDExLjEzMjggMTcuNDg0NEMxMS4xMzI4IDE3LjA2MjUgMTEuMjgxMiAxNi43MTA5IDExLjU3ODEgMTYuNDI5N0MxMS44NTk0IDE2LjEzMjggMTIuMjEwOSAxNS45ODQ0IDEyLjYzMjggMTUuOTg0NEMxMy4wMzkxIDE1Ljk4NDQgMTMuMzkwNiAxNi4xMzI4IDEzLjY4NzUgMTYuNDI5N0MxMy45ODQ0IDE2LjcxMDkgMTQuMTMyOCAxNy4wNjI1IDE0LjEzMjggMTcuNDg0NEMxNC4xMzI4IDE3Ljg5MDYgMTMuOTg0NCAxOC4yNDIyIDEzLjY4NzUgMTguNTM5MUMxMy4zOTA2IDE4LjgzNTkgMTMuMDM5MSAxOC45ODQ0IDEyLjYzMjggMTguOTg0NFoifSl9KSxjUT1YKCJzdmciLHt3aWR0aDoiMjEiLGhlaWdodDoiMjEiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOiIyIixzdHJva2VMaW5lY2FwOiJyb3VuZCIsc3Ryb2tlTGluZWpvaW46InJvdW5kIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGNoaWxkcmVuOltYKCJwYXRoIix7ZDoiTTEyIDVINmEyIDIgMCAwIDAtMiAydjMifSksWCgicGF0aCIse2Q6Im05IDggMy0zLTMtMyJ9KSxYKCJwYXRoIix7ZDoiTTQgMTR2NGEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJWN2EyIDIgMCAwIDAtMi0yaC0yIn0pXX0pLG9RPWowKGZ1bmN0aW9uKHtvbkNsaWNrOkosLi4uUX0sWil7bGV0IEs9QjMoIkhvbWVCdXR0b24iKTtyZXR1cm4gWChMMyx7cmVmOlosImFyaWEtbGFiZWwiOiJIb21lIixvbkNsaWNrOihZKT0+e2lmKEo/LihZKSxZLmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO3VRKEsuZGV2aWNlVHlwZSxLLmRldmljZVVkaWQpfSwuLi5RLGNoaWxkcmVuOmxRfSl9KSxpUT1qMChmdW5jdGlvbih7b25DbGljazpKLC4uLlF9LFope2xldCBLPUIzKCJTY3JlZW5zaG90QnV0dG9uIik7cmV0dXJuIFgoTDMse3JlZjpaLCJhcmlhLWxhYmVsIjoiU2NyZWVuc2hvdCIsb25DbGljazooWSk9PntpZihKPy4oWSksWS5kZWZhdWx0UHJldmVudGVkKXJldHVybjtpZihLLmRldmljZVVkaWQpQTEoInNjcmVlbnNob3QuY2FwdHVyZSIse3VkaWQ6Sy5kZXZpY2VVZGlkLGZpbGVOYW1lOmBzZXJ2ZS1zaW0tc2NyZWVuc2hvdC0ke01hdGguZmxvb3IoRGF0ZS5ub3coKS8xMDAwKX0ucG5nYH0pfSwuLi5RLGNoaWxkcmVuOmRRfSl9KSxuUT1qMChmdW5jdGlvbih7b25DbGljazpKLGZvcmNlRGlzYWJsZWQ6USwuLi5afSxLKXtsZXQgWT1CMygiUm90YXRlQnV0dG9uIikscT1ZLmRldmljZVR5cGU9PT0id2F0Y2gifHxZLmRldmljZVR5cGU9PT0idmlzaW9uIixbRyxCXT1BKCJwb3J0cmFpdCIpO3JldHVybiBFKCgpPT57QihZLm9yaWVudGF0aW9uPz8icG9ydHJhaXQiKX0sW1kuZGV2aWNlVWRpZCxZLm9yaWVudGF0aW9uXSksWChMMyx7cmVmOkssImFyaWEtbGFiZWwiOiJSb3RhdGUgZGV2aWNlIixmb3JjZURpc2FibGVkOlF8fHEsb25DbGljazooTCk9PntpZihKPy4oTCksTC5kZWZhdWx0UHJldmVudGVkKXJldHVybjtpZighWS5kZXZpY2VVZGlkfHxxKXJldHVybjtsZXQgej1KNVtZLm9yaWVudGF0aW9uPz9HXTtpZihCKHopLFkub25Sb3RhdGUpWS5vblJvdGF0ZSh6KTtlbHNlIEExKCJyb3RhdGUiLHt2YWx1ZTp6LHVkaWQ6WS5kZXZpY2VVZGlkfSl9LC4uLlosY2hpbGRyZW46Y1F9KX0pLGUxPXZRO2UxLlRpdGxlPWdRO2UxLkFjdGlvbnM9bVE7ZTEuQnV0dG9uPUwzO2UxLkhvbWVCdXR0b249b1E7ZTEuU2NyZWVuc2hvdEJ1dHRvbj1pUTtlMS5Sb3RhdGVCdXR0b249blE7dmFyIHozPSguLi4kKT0+JC5maWx0ZXIoKEosUSxaKT0+e3JldHVybiBCb29sZWFuKEopJiZKLnRyaW0oKSE9PSIiJiZaLmluZGV4T2YoSik9PT1RfSkuam9pbigiICIpLnRyaW0oKTt2YXIgQTQ9KCQpPT4kLnJlcGxhY2UoLyhbYS16MC05XSkoW0EtWl0pL2csIiQxLSQyIikudG9Mb3dlckNhc2UoKTt2YXIgazQ9KCQpPT4kLnJlcGxhY2UoL14oW0EtWl0pfFtccy1fXSsoXHcpL2csKEosUSxaKT0+Wj9aLnRvVXBwZXJDYXNlKCk6US50b0xvd2VyQ2FzZSgpKTt2YXIgeTg9KCQpPT57bGV0IEo9azQoJCk7cmV0dXJuIEouY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrSi5zbGljZSgxKX07dmFyIFUzPXt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLHdpZHRoOjI0LGhlaWdodDoyNCx2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoyLHN0cm9rZUxpbmVjYXA6InJvdW5kIixzdHJva2VMaW5lam9pbjoicm91bmQifTt2YXIgRjQ9KCQpPT57Zm9yKGxldCBKIGluICQpaWYoSi5zdGFydHNXaXRoKCJhcmlhLSIpfHxKPT09InJvbGUifHxKPT09InRpdGxlIilyZXR1cm4hMDtyZXR1cm4hMX07dmFyIHJRPVQwKHt9KTt2YXIgVzQ9KCk9PkkwKHJRKTt2YXIgRDQ9ajAoKHtjb2xvcjokLHNpemU6SixzdHJva2VXaWR0aDpRLGFic29sdXRlU3Ryb2tlV2lkdGg6WixjbGFzc05hbWU6Sz0iIixjaGlsZHJlbjpZLGljb25Ob2RlOnEsLi4uR30sQik9PntsZXR7c2l6ZTpMPTI0LHN0cm9rZVdpZHRoOno9MixhYnNvbHV0ZVN0cm9rZVdpZHRoOlY9ITEsY29sb3I6Tj0iY3VycmVudENvbG9yIixjbGFzc05hbWU6SD0iIn09VzQoKT8/e30sTz1aPz9WP051bWJlcihRPz96KSoyNC9OdW1iZXIoSj8/TCk6UT8/ejtyZXR1cm4gbjEoInN2ZyIse3JlZjpCLC4uLlUzLHdpZHRoOko/P0w/P1UzLndpZHRoLGhlaWdodDpKPz9MPz9VMy5oZWlnaHQsc3Ryb2tlOiQ/P04sc3Ryb2tlV2lkdGg6TyxjbGFzc05hbWU6ejMoImx1Y2lkZSIsSCxLKSwuLi4hWSYmIUY0KEcpJiZ7ImFyaWEtaGlkZGVuIjoidHJ1ZSJ9LC4uLkd9LFsuLi5xLm1hcCgoW1UsQ10pPT5uMShVLEMpKSwuLi5BcnJheS5pc0FycmF5KFkpP1k6W1ldXSl9KTt2YXIgTDE9KCQsSik9PntsZXQgUT1qMCgoe2NsYXNzTmFtZTpaLC4uLkt9LFkpPT5uMShENCx7cmVmOlksaWNvbk5vZGU6SixjbGFzc05hbWU6ejMoYGx1Y2lkZS0ke0E0KHk4KCQpKX1gLGBsdWNpZGUtJHskfWAsWiksLi4uS30pKTtyZXR1cm4gUS5kaXNwbGF5TmFtZT15OCgkKSxRfTt2YXIgYVE9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIiLGtleToiYWZpdHY3In1dLFsicGF0aCIse2Q6Ik05IDN2MTgiLGtleToiZmgzaHFhIn1dXSxtMD1MMSgicGFuZWwtbGVmdCIsYVEpO3ZhciBzUT1bWyJwYXRoIix7ZDoiTTEyLjAzNCAxMi42ODFhLjQ5OC40OTggMCAwIDEgLjY0Ny0uNjQ3bDkgMy41YS41LjUgMCAwIDEtLjAzMy45NDNsLTMuNDQ0IDEuMDY4YTEgMSAwIDAgMC0uNjYuNjZsLTEuMDY3IDMuNDQzYS41LjUgMCAwIDEtLjk0My4wMzN6IixrZXk6Inh3bnppcCJ9XSxbInBhdGgiLHtkOiJNMjEgMTFWNWEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDYiLGtleToiMTRyc3ZxIn1dXSxlMD1MMSgic3F1YXJlLW1vdXNlLXBvaW50ZXIiLHNRKTt2YXIgdFE9W1sicGF0aCIse2Q6Im0yMS43MyAxOC04LTE0YTIgMiAwIDAgMC0zLjQ4IDBsLTggMTRBMiAyIDAgMCAwIDQgMjFoMTZhMiAyIDAgMCAwIDEuNzMtMyIsa2V5OiJ3bW9lbnEifV0sWyJwYXRoIix7ZDoiTTEyIDl2NCIsa2V5OiJqdXpwdTcifV0sWyJwYXRoIix7ZDoiTTEyIDE3aC4wMSIsa2V5OiJwMzJwMDUifV1dLHAwPUwxKCJ0cmlhbmdsZS1hbGVydCIsdFEpO3ZhciBlUT1bWyJyZWN0Iix7eDoiMiIseToiNCIsd2lkdGg6IjIwIixoZWlnaHQ6IjE2IixyeDoiMiIsa2V5OiJpenhsYW8ifV0sWyJwYXRoIix7ZDoiTTEwIDR2NCIsa2V5OiJwcDh1ODAifV0sWyJwYXRoIix7ZDoiTTIgOGgyMCIsa2V5OiJkMTFjczcifV0sWyJwYXRoIix7ZDoiTTYgNHY0IixrZXk6IjFzdnRqdyJ9XV0sWTU9TDEoImFwcC13aW5kb3ciLGVRKTt2YXIgJFo9W1sicGF0aCIse2Q6Ik03IDdoMTB2MTAiLGtleToiMXRpdm45In1dLFsicGF0aCIse2Q6Ik03IDE3IDE3IDciLGtleToiMXZraXphIn1dXSxxNT1MMSgiYXJyb3ctdXAtcmlnaHQiLCRaKTt2YXIgSlo9W1sicGF0aCIse2Q6Ik0yMCA2IDkgMTdsLTUtNSIsa2V5OiIxZ21mMmMifV1dLEc1PUwxKCJjaGVjayIsSlopO3ZhciBRWj1bWyJwYXRoIix7ZDoibTYgOSA2IDYgNi02IixrZXk6InFydW5zbCJ9XV0sVjU9TDEoImNoZXZyb24tZG93biIsUVopO3ZhciBaWj1bWyJwYXRoIix7ZDoibTkgMTggNi02LTYtNiIsa2V5OiJtdGhod3EifV1dLEI1PUwxKCJjaGV2cm9uLXJpZ2h0IixaWik7dmFyIFhaPVtbInBhdGgiLHtkOiJNMTIgMTVWMyIsa2V5OiJtOWcxeDEifV0sWyJwYXRoIix7ZDoiTTIxIDE1djRhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTQiLGtleToiaWg3bjNoIn1dLFsicGF0aCIse2Q6Im03IDEwIDUgNSA1LTUiLGtleToiYnJzbjcwIn1dXSxMNT1MMSgiZG93bmxvYWQiLFhaKTt2YXIgS1o9W1sicGF0aCIse2Q6Ik0xMiA2YTIgMiAwIDAgMSAzLjQxNC0xLjQxNGw2IDZhMiAyIDAgMCAxIDAgMi44MjhsLTYgNkEyIDIgMCAwIDEgMTIgMTh6IixrZXk6ImIxOWg1cSJ9XSxbInBhdGgiLHtkOiJNMiA2YTIgMiAwIDAgMSAzLjQxNC0xLjQxNGw2IDZhMiAyIDAgMCAxIDAgMi44MjhsLTYgNkEyIDIgMCAwIDEgMiAxOHoiLGtleToiaDdoNWdlIn1dXSx6NT1MMSgiZmFzdC1mb3J3YXJkIixLWik7dmFyIFlaPVtbInBhdGgiLHtkOiJtMyA3IDUgNS01IDVWNyIsa2V5OiJjb3VoaTcifV0sWyJwYXRoIix7ZDoibTIxIDctNSA1IDUgNVY3IixrZXk6IjZvdWlhNyJ9XSxbInBhdGgiLHtkOiJNMTIgMjB2MiIsa2V5OiIxbGgxa2cifV0sWyJwYXRoIix7ZDoiTTEyIDE0djIiLGtleToiOGpjeHVkIn1dLFsicGF0aCIse2Q6Ik0xMiA4djIiLGtleToiMXdvcWl2In1dLFsicGF0aCIse2Q6Ik0xMiAydjIiLGtleToidHVzMDNtIn1dXSxVNT1MMSgiZmxpcC1ob3Jpem9udGFsLTIiLFlaKTt2YXIgcVo9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIixrZXk6IjFtZ2xheSJ9XSxbInBhdGgiLHtkOiJNMTIgMmExNC41IDE0LjUgMCAwIDAgMCAyMCAxNC41IDE0LjUgMCAwIDAgMC0yMCIsa2V5OiIxM28xemwifV0sWyJwYXRoIix7ZDoiTTIgMTJoMjAiLGtleToiOWk0cHU0In1dXSxONT1MMSgiZ2xvYmUiLHFaKTt2YXIgR1o9W1siY2lyY2xlIix7Y3g6IjkiLGN5OiIxMiIscjoiMSIsa2V5OiIxdmN0Z2YifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjUiLHI6IjEiLGtleToiaHAwdGNmIn1dLFsiY2lyY2xlIix7Y3g6IjkiLGN5OiIxOSIscjoiMSIsa2V5OiJma2pqZjYifV0sWyJjaXJjbGUiLHtjeDoiMTUiLGN5OiIxMiIscjoiMSIsa2V5OiIxdG1haWoifV0sWyJjaXJjbGUiLHtjeDoiMTUiLGN5OiI1IixyOiIxIixrZXk6IjE5bDI4ZSJ9XSxbImNpcmNsZSIse2N4OiIxNSIsY3k6IjE5IixyOiIxIixrZXk6ImY0em9qMyJ9XV0sSDU9TDEoImdyaXAtdmVydGljYWwiLEdaKTt2YXIgVlo9W1sicGF0aCIse2Q6Im0yMiAxMS0xLjI5Ni0xLjI5NmEyLjQgMi40IDAgMCAwLTMuNDA4IDBMMTEgMTYiLGtleToiOWt6eTM1In1dLFsicGF0aCIse2Q6Ik00IDhhMiAyIDAgMCAwLTIgMnYxMGEyIDIgMCAwIDAgMiAyaDEwYTIgMiAwIDAgMCAyLTIiLGtleToiMXQwZjB0In1dLFsiY2lyY2xlIix7Y3g6IjEzIixjeToiNyIscjoiMSIsZmlsbDoiY3VycmVudENvbG9yIixrZXk6IjFvYnVzNiJ9XSxbInJlY3QiLHt4OiI4Iix5OiIyIix3aWR0aDoiMTQiLGhlaWdodDoiMTQiLHJ4OiIyIixrZXk6IjFndmhieSJ9XV0sQzU9TDEoImltYWdlcyIsVlopO3ZhciBCWj1bWyJwYXRoIix7ZDoiTTEwIDhoLjAxIixrZXk6IjFyOW9ncSJ9XSxbInBhdGgiLHtkOiJNMTIgMTJoLjAxIixrZXk6IjFtcDNqYyJ9XSxbInBhdGgiLHtkOiJNMTQgOGguMDEiLGtleToiMXByaW1kIn1dLFsicGF0aCIse2Q6Ik0xNiAxMmguMDEiLGtleToiMWw2eG96In1dLFsicGF0aCIse2Q6Ik0xOCA4aC4wMSIsa2V5OiJlbW8yYmwifV0sWyJwYXRoIix7ZDoiTTYgOGguMDEiLGtleToieDlpOHd1In1dLFsicGF0aCIse2Q6Ik03IDE2aDEwIixrZXk6IndwOGhpbSJ9XSxbInBhdGgiLHtkOiJNOCAxMmguMDEiLGtleToiY3ptNDdmIn1dLFsicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNiIseDoiMiIseToiNCIscng6IjIiLGtleToiMThuM2sxIn1dXSxNNT1MMSgia2V5Ym9hcmQiLEJaKTt2YXIgTFo9W1sicGF0aCIse2Q6Ik0xNSAzaDZ2NiIsa2V5OiIxcTlmd3QifV0sWyJwYXRoIix7ZDoibTIxIDMtNyA3IixrZXk6IjFsMmFzciJ9XSxbInBhdGgiLHtkOiJtMyAyMSA3LTciLGtleToidGp4NWFpIn1dLFsicGF0aCIse2Q6Ik05IDIxSDN2LTYiLGtleToid3R2a3Z2In1dXSxPNT1MMSgibWF4aW1pemUtMiIsTFopO3ZhciB6Wj1bWyJwYXRoIix7ZDoibTE0IDEwIDctNyIsa2V5OiJvYTc3ankifV0sWyJwYXRoIix7ZDoiTTIwIDEwaC02VjQiLGtleToibWpnMG1kIn1dLFsicGF0aCIse2Q6Im0zIDIxIDctNyIsa2V5OiJ0ang1YWkifV0sWyJwYXRoIix7ZDoiTTQgMTRoNnY2IixrZXk6InJtajdpdyJ9XV0sQTU9TDEoIm1pbmltaXplLTIiLHpaKTt2YXIgVVo9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIiLGtleToiYWZpdHY3In1dLFsicGF0aCIse2Q6Ik0xNSAzdjE4IixrZXk6IjE0bnZwMCJ9XV0sazU9TDEoInBhbmVsLXJpZ2h0IixVWik7dmFyIE5aPVtbInBhdGgiLHtkOiJNMyAxMmE5IDkgMCAxIDAgOS05IDkuNzUgOS43NSAwIDAgMC02Ljc0IDIuNzRMMyA4IixrZXk6IjEzNTdlMyJ9XSxbInBhdGgiLHtkOiJNMyAzdjVoNSIsa2V5OiIxeGhxOGEifV1dLEY1PUwxKCJyb3RhdGUtY2N3IixOWik7dmFyIEhaPVtbInBhdGgiLHtkOiJtMjEgMjEtNC4zNC00LjM0IixrZXk6IjE0ajdyaiJ9XSxbImNpcmNsZSIse2N4OiIxMSIsY3k6IjExIixyOiI4IixrZXk6IjRlajk3dSJ9XV0sVzU9TDEoInNlYXJjaCIsSFopO3ZhciBDWj1bWyJwYXRoIix7ZDoiTTEwIDVIMyIsa2V5OiIxcWdmYXcifV0sWyJwYXRoIix7ZDoiTTEyIDE5SDMiLGtleToieWhtbjFqIn1dLFsicGF0aCIse2Q6Ik0xNCAzdjQiLGtleToiMXN1YTAzIn1dLFsicGF0aCIse2Q6Ik0xNiAxN3Y0IixrZXk6IjFxMHIxNCJ9XSxbInBhdGgiLHtkOiJNMjEgMTJoLTkiLGtleToiMW80bHNxIn1dLFsicGF0aCIse2Q6Ik0yMSAxOWgtNSIsa2V5OiIxcmx0MXAifV0sWyJwYXRoIix7ZDoiTTIxIDVoLTciLGtleToiMW9zenoyIn1dLFsicGF0aCIse2Q6Ik04IDEwdjQiLGtleToidGdweHFrIn1dLFsicGF0aCIse2Q6Ik04IDEySDMiLGtleToiYTdzNGpiIn1dXSxvMD1MMSgic2xpZGVycy1ob3Jpem9udGFsIixDWik7dmFyIE1aPVtbInJlY3QiLHt3aWR0aDoiMTQiLGhlaWdodDoiMjAiLHg6IjUiLHk6IjIiLHJ4OiIyIixyeToiMiIsa2V5OiIxeXQwbzMifV0sWyJwYXRoIix7ZDoiTTEyIDE4aC4wMSIsa2V5OiJtaHlndnUifV1dLEQ1PUwxKCJzbWFydHBob25lIixNWik7dmFyIE9aPVtbInBhdGgiLHtkOiJNMTIgM3YxMiIsa2V5OiIxeDBqNXMifV0sWyJwYXRoIix7ZDoibTE3IDgtNS01LTUgNSIsa2V5OiI3cTk3cjgifV0sWyJwYXRoIix7ZDoiTTIxIDE1djRhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTQiLGtleToiaWg3bjNoIn1dXSxfNT1MMSgidXBsb2FkIixPWik7dmFyIEFaPVtbInBhdGgiLHtkOiJtMTYgMTMgNS4yMjMgMy40ODJhLjUuNSAwIDAgMCAuNzc3LS40MTZWNy44N2EuNS41IDAgMCAwLS43NTItLjQzMkwxNiAxMC41IixrZXk6ImZ0eW1lYyJ9XSxbInJlY3QiLHt4OiIyIix5OiI2Iix3aWR0aDoiMTQiLGhlaWdodDoiMTIiLHJ4OiIyIixrZXk6IjE1OHgwMSJ9XV0sTjI9TDEoInZpZGVvIixBWik7dmFyIGtaPVtbInBhdGgiLHtkOiJNMTggNiA2IDE4IixrZXk6IjFibDVmOCJ9XSxbInBhdGgiLHtkOiJtNiA2IDEyIDEyIixrZXk6ImQ4Yms2diJ9XV0sRDA9TDEoIngiLGtaKTtmdW5jdGlvbiBQNSh7b3BlbjokfSl7cmV0dXJuIFgoInN2ZyIse3dpZHRoOiIxMCIsaGVpZ2h0OiIxMCIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjIuNSIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsY2xhc3NOYW1lOiJsZW0tY2hldnJvbiB0ZXh0LXdoaXRlLzUwIixzdHlsZTp7dHJhbnNmb3JtOiQ/InJvdGF0ZSgxODBkZWcpIjoicm90YXRlKDBkZWcpIn0sY2hpbGRyZW46WCgicG9seWxpbmUiLHtwb2ludHM6IjYgOSAxMiAxNSAxOCA5In0pfSl9ZnVuY3Rpb24gTjMoe2RpcjokfSl7cmV0dXJuIFgoInN2ZyIse3dpZHRoOiI5IixoZWlnaHQ6IjkiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoiY3VycmVudENvbG9yIixjbGFzc05hbWU6Im1yLVszcHhdIixjaGlsZHJlbjokPT09InVwIj9YKCJwb2x5Z29uIix7cG9pbnRzOiIxMiw0IDIwLDE4IDQsMTgifSk6WCgicG9seWdvbiIse3BvaW50czoiNCw2IDIwLDYgMTIsMjAifSl9KX1mdW5jdGlvbiBUNSgpe3JldHVybiBYKCJzdmciLHt3aWR0aDoiMTEiLGhlaWdodDoiMTEiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoiY3VycmVudENvbG9yIixjaGlsZHJlbjpYKCJwb2x5Z29uIix7cG9pbnRzOiI2LDQgMjAsMTIgNiwyMCJ9KX0pfWZ1bmN0aW9uIGI4KCl7cmV0dXJuIFgoInN2ZyIse3dpZHRoOiIxMSIsaGVpZ2h0OiIxMSIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJjdXJyZW50Q29sb3IiLGNoaWxkcmVuOltYKCJyZWN0Iix7eDoiNiIseToiNCIsd2lkdGg6IjQiLGhlaWdodDoiMTYifSksWCgicmVjdCIse3g6IjE0Iix5OiI0Iix3aWR0aDoiNCIsaGVpZ2h0OiIxNiJ9KV19KX1mdW5jdGlvbiBFNSgpe3JldHVybiBYKCJzdmciLHt3aWR0aDoiMTAiLGhlaWdodDoiMTAiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoiY3VycmVudENvbG9yIixjaGlsZHJlbjpYKCJyZWN0Iix7eDoiNSIseToiNSIsd2lkdGg6IjE0IixoZWlnaHQ6IjE0IixyeDoiMS41In0pfSl9ZnVuY3Rpb24geDgoKXtyZXR1cm4gWCh6NSx7c2l6ZToxMixzdHJva2VXaWR0aDoyLCJhcmlhLWhpZGRlbiI6InRydWUifSl9ZnVuY3Rpb24gUzgoKXtyZXR1cm4gWCgic3ZnIix7d2lkdGg6IjkiLGhlaWdodDoiMTQiLHZpZXdCb3g6IjQgMiA5IDEzIixmaWxsOiJjdXJyZW50Q29sb3IiLHhtbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsY2hpbGRyZW46WCgicGF0aCIse2Q6Ik02LjAwODUyIDE0LjgwNTRDNS44OTE4MSAxNC45MzUgNS43NTgxNSAxNC45OTk4IDUuNjA3NTYgMTQuOTk5OEM1LjQ1Njk2IDE1LjAwMzMgNS4zMjMzIDE0Ljk2MTMgNS4yMDY1OSAxNC44NzM3QzUuMDkzNjQgMTQuNzg2MSA1LjAyNTg3IDE0LjY3MjMgNS4wMDMyOCAxNC41MzIyQzQuOTg0NDYgMTQuMzkyMSA1LjA0NjU4IDE0LjI0NSA1LjE4OTY1IDE0LjA5MDlMNi45NDU5OSAxMi4xNTIyTDcuMjQ1MyAxMC44NzU1TDguMTk5NzEgMTEuOTg5M0w4LjA1ODUzIDEyLjM5MzlDOC4wMjA4OCAxMi40OTU1IDcuOTg2OTkgMTIuNTcwOCA3Ljk1Njg3IDEyLjYxOThDNy45MzA1MiAxMi42Njg4IDcuODc0MDQgMTIuNzQwNiA3Ljc4NzQ1IDEyLjgzNTJMNi4wMDg1MiAxNC44MDU0Wk0xMC4zNDU3IDE0LjY0MjVMOS4xMDMyOSAxMi4zMDQ2QzkuMDc2OTQgMTIuMjYyNSA5LjA1NDM1IDEyLjIyMjMgOS4wMzU1MyAxMi4xODM3QzkuMDE2NyAxMi4xNDUyIDguOTc3MTcgMTIuMDkwOSA4LjkxNjkzIDEyLjAyMDlMNy43MTk2OCAxMC42MTgxQzcuNDkzNzkgMTAuMzU1NCA3LjMzNzU0IDEwLjEyOTUgNy4yNTA5NSA5Ljk0MDM0QzcuMTY0MzUgOS43NDc3IDcuMTM0MjQgOS40OTkwMSA3LjE2MDU5IDkuMTk0MjlMNy4yNjIyNCA3Ljk4MDY1QzcuMjY5NzcgNy45MDcxIDcuMjMyMTIgNy44NTQ1NiA3LjE0OTI5IDcuODIzMDRDNy4wNjY0NyA3Ljc5MTUxIDYuOTg1NTIgNy44MDkwMyA2LjkwNjQ2IDcuODc1NTdMNi40NzE2MSA4LjI0MzM0TDYuMzQxNzIgOS42NzIzOUM2LjMyMjg5IDkuODQ3NTIgNi4yNjQ1NCA5Ljk3ODg3IDYuMTY2NjUgMTAuMDY2NEM2LjA2ODc2IDEwLjE1NCA1LjkzODg3IDEwLjE5MjUgNS43NzY5OCAxMC4xODJDNS42MTEzMiAxMC4xNzUgNS40ODMzMSAxMC4xMTkgNS4zOTI5NSAxMC4wMTM5QzUuMzA2MzYgOS45MDg4MiA1LjI2ODcxIDkuNzczOTcgNS4yODAwMSA5LjYwOTM1TDUuMzg3MzEgOC4zMDYzOUM1LjQwMjM3IDguMTI3NzYgNS40MzgxMyA3Ljk3NTQgNS40OTQ2MSA3Ljg0OTMxQzUuNTU0ODUgNy43MjMyMSA1LjY2MDI2IDcuNTkxODcgNS44MTA4NiA3LjQ1NTI3TDYuNzE0NDUgNi42MjUxNkM3LjAwNDM1IDYuMzYyNDcgNy4yNjk3NyA2LjE2MTA3IDcuNTEwNzMgNi4wMjA5NkM3Ljc1MTY4IDUuODc3MzYgOC4wMjg0MSA1LjgwNTU2IDguMzQwOSA1LjgwNTU2QzguNzU4OCA1LjgwNTU2IDkuMDc4ODIgNS45MzM0IDkuMzAwOTUgNi4xODkwOUM5LjUyNjg1IDYuNDQ0NzggOS42MjQ3NCA2Ljc2MTc2IDkuNTk0NjIgNy4xNDAwNEw5LjQ3NjAyIDguNzMxOTVDOS40NTM0MyA5LjAxNTY2IDkuNDE5NTUgOS4yNjI1OSA5LjM3NDM3IDkuNDcyNzVDOS4zMjkxOSA5LjY4MjkgOS4yNTM4OSA5LjkyOTgzIDkuMTQ4NDcgMTAuMjEzNUw5LjA5MiAxMC4zNjA2TDkuODY1NjkgMTEuMzc5OUM5LjkyMjE3IDExLjQ1MzQgOS45ODA1MiAxMS41MzQgMTAuMDQwOCAxMS42MjE2QzEwLjEwMSAxMS43MDkxIDEwLjE1MzcgMTEuNzk2NyAxMC4xOTg5IDExLjg4NDNMMTEuNDA3NCAxNC4xNjQ0QzExLjUwNTMgMTQuMzUwMSAxMS41MjQxIDE0LjUxMTIgMTEuNDYzOSAxNC42NDc4QzExLjQwMzcgMTQuNzg0NCAxMS4zMDIgMTQuODgyNSAxMS4xNTg5IDE0Ljk0MkMxMS4wMTk2IDE1LjAwMTUgMTAuODcwOSAxNS4wMTAzIDEwLjcxMjggMTQuOTY4M0MxMC41NTg0IDE0LjkyNjIgMTAuNDM2MSAxNC44MTc3IDEwLjM0NTcgMTQuNjQyNVpNMTIuNDA3IDcuOTY0ODlDMTIuNTg0IDcuOTY0ODkgMTIuNzI3IDguMDEwNDIgMTIuODM2MiA4LjEwMTQ5QzEyLjk0NTQgOC4xODkwNSAxMyA4LjMwNjM5IDEzIDguNDUzNUMxMyA4LjYxMTExIDEyLjk0NTQgOC43MzM3IDEyLjgzNjIgOC44MjEyN0MxMi43MzA4IDguOTA4ODMgMTIuNTg3NyA4Ljk1MjYxIDEyLjQwNyA4Ljk1MjYxSDExLjEzMDdDMTAuOTUzOCA4Ljk1MjYxIDEwLjgxNDUgOC45MzY4NSAxMC43MTI4IDguOTA1MzNDMTAuNjExMiA4Ljg3MDMgMTAuNTEzMyA4LjgwNzI2IDEwLjQxOTEgOC43MTYxOUwxMC4wNTIxIDguMzc5OTRMMTAuMTQyNCA3LjA0MDIxTDExLjAzNDcgNy45NjQ4OUgxMi40MDdaTTkuMDAxNjQgNS4zMTE2OUM4Ljc3MTk4IDUuMzExNjkgOC41NjMwMyA1LjI2MDkxIDguMzc0NzggNS4xNTkzM0M4LjE4NjUzIDUuMDU0MjYgOC4wMzU5NCA0LjkxNDE1IDcuOTIyOTkgNC43MzkwM0M3LjgxMzgxIDQuNTYzOSA3Ljc1OTIxIDQuMzY5NSA3Ljc1OTIxIDQuMTU1ODVDNy43NTkyMSAzLjk0MjE5IDcuODEzODEgMy43NDc4IDcuOTIyOTkgMy41NzI2N0M4LjAzNTk0IDMuMzk3NTQgOC4xODY1MyAzLjI1OTE5IDguMzc0NzggMy4xNTc2MkM4LjU2MzAzIDMuMDUyNTQgOC43NzE5OCAzIDkuMDAxNjQgM0M5LjIzMTMgMyA5LjQ0MDI2IDMuMDUyNTQgOS42Mjg1IDMuMTU3NjJDOS44MTY3NSAzLjI1OTE5IDkuOTY1NDYgMy4zOTc1NCAxMC4wNzQ2IDMuNTcyNjdDMTAuMTg3NiAzLjc0NzggMTAuMjQ0MSAzLjk0MjE5IDEwLjI0NDEgNC4xNTU4NUMxMC4yNDQxIDQuMzY5NSAxMC4xODc2IDQuNTYzOSAxMC4wNzQ2IDQuNzM5MDNDOS45NjU0NiA0LjkxNDE1IDkuODE2NzUgNS4wNTQyNiA5LjYyODUgNS4xNTkzM0M5LjQ0MDI2IDUuMjYwOTEgOS4yMzEzIDUuMzExNjkgOS4wMDE2NCA1LjMxMTY5WiJ9KX0pfWZ1bmN0aW9uIGo4KCl7cmV0dXJuIFgoInN2ZyIse3dpZHRoOiIxMSIsaGVpZ2h0OiIxNCIsdmlld0JveDoiMjYgMSAxMiAxNCIsZmlsbDoiY3VycmVudENvbG9yIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJhcmlhLWhpZGRlbiI6InRydWUiLGNoaWxkcmVuOlgoInBhdGgiLHtkOiJNMzMuMjQzNyA0LjU4NDU5QzMzLjAwMDggNC41ODQ1OSAzMi43ODE3IDQuNTI3MjggMzIuNTg2NiA0LjQxMjY4QzMyLjM5MTUgNC4yOTQxMiAzMi4yMzQyIDQuMTM4MDEgMzIuMTE0NyAzLjk0NDM3QzMxLjk5OTIgMy43NDY3NyAzMS45NDE0IDMuNTI5NDEgMzEuOTQxNCAzLjI5MjI5QzMxLjk0MTQgMy4wNTEyMiAzMS45OTkyIDIuODMzODcgMzIuMTE0NyAyLjY0MDIyQzMyLjIzNDIgMi40NDY1NyAzMi4zOTE1IDIuMjkyNDUgMzIuNTg2NiAyLjE3Nzg0QzMyLjc4MTcgMi4wNTkyOCAzMy4wMDA4IDIgMzMuMjQzNyAyQzMzLjQ4MjYgMiAzMy42OTk3IDIuMDU5MjggMzMuODk0OCAyLjE3Nzg0QzM0LjA5MzkgMi4yOTI0NSAzNC4yNTEyIDIuNDQ2NTcgMzQuMzY2NyAyLjY0MDIyQzM0LjQ4NjIgMi44MzM4NyAzNC41NDU5IDMuMDUxMjIgMzQuNTQ1OSAzLjI5MjI5QzM0LjU0NTkgMy41Mjk0MSAzNC40ODYyIDMuNzQ2NzcgMzQuMzY2NyAzLjk0NDM3QzM0LjI1MTIgNC4xMzgwMSAzNC4wOTM5IDQuMjk0MTIgMzMuODk0OCA0LjQxMjY4QzMzLjY5OTcgNC41MjcyOCAzMy40ODI2IDQuNTg0NTkgMzMuMjQzNyA0LjU4NDU5Wk0zMS4yMDA3IDkuNzQxOTFDMzEuMDczMyA5LjY3MDc3IDMwLjk0MTkgOS41OTU2OCAzMC44MDY1IDkuNTE2NjRDMzAuNjc1IDkuNDM3NiAzMC41NTk2IDkuMzQyNzYgMzAuNDYgOS4yMzIxQzMwLjM2MDQgOS4xMTc0OSAzMC4yOTI3IDguOTc3MiAzMC4yNTY5IDguODExMjJDMzAuMjI1IDguNjQxMjggMzAuMjQ0OSA4LjQyOTg1IDMwLjMxNjYgOC4xNzY5M0wzMC44MDY1IDYuNDgxNTNDMzAuODM4MyA2LjM2NjkyIDMwLjgxODQgNi4yNzk5OCAzMC43NDY3IDYuMjIwN0MzMC42NzkgNi4xNTc0NyAzMC41OTc0IDYuMTI5ODEgMzAuNTAxOCA2LjEzNzcxTDI5LjY1OTUgNi4xOTY5OUwyOS40MDI3IDcuOTIyMDJDMjkuMzc4OCA4LjEwNzc3IDI5LjMxNTEgOC4yNDYwOSAyOS4yMTE1IDguMzM2OThDMjkuMTA4IDguNDI3ODggMjguOTcyNiA4LjQ2NTQyIDI4LjgwNTMgOC40NDk2MUMyOC42NDIgOC40MzM4IDI4LjUxODYgOC4zNjY2MiAyOC40MzQ5IDguMjQ4MDZDMjguMzUxMyA4LjEyOTUgMjguMzIxNCA3Ljk3NzM1IDI4LjM0NTMgNy43OTE2MUwyOC42MjYxIDUuNjgxMjZDMjguNjUgNS41MTEzMiAyOC43MTU3IDUuMzc0OTggMjguODIzMiA1LjI3MjIzQzI4LjkzMDggNS4xNjk0OCAyOS4wNjgxIDUuMTEyMTcgMjkuMjM1NCA1LjEwMDMyTDMxLjMzMjEgNC45NTIxMkMzMS44ODE3IDQuOTEyNiAzMi4zMzU3IDQuOTY5OSAzMi42OTQxIDUuMTI0MDNDMzMuMDUyNSA1LjI3ODE2IDMzLjM2NzEgNS41Mzg5OSAzMy42Mzc5IDUuOTA2NTJMMzQuNjcxNCA3LjMyMzNMMzYuMTcwOCA2LjY2NTNDMzYuMzM4IDYuNTkwMjEgMzYuNDg5MyA2LjU3NDQgMzYuNjI0OCA2LjYxNzg3QzM2Ljc2MDIgNi42NTczOSAzNi44NjU3IDYuNzUyMjQgMzYuOTQxNCA2LjkwMjQyQzM3LjAxMyA3LjA1MjU5IDM3LjAxOSA3LjE5NDg2IDM2Ljk1OTMgNy4zMjkyM0MzNi45MDM1IDcuNDYzNiAzNi43OTIgNy41NjgzMiAzNi42MjQ4IDcuNjQzNDFMMzQuNzMxMSA4LjQ3OTI1QzM0LjYwMzcgOC41Mzg1MyAzNC40NzQzIDguNTUwMzkgMzQuMzQyOCA4LjUxNDgyQzM0LjIxNTQgOC40NzUzIDM0LjExMzggOC40MDAyMSAzNC4wMzgyIDguMjg5NTZMMzMuMzgxMSA3LjMzNTE2QzMzLjMxMzQgNy4yNDAzMSAzMy4yMjk4IDcuMTk4ODEgMzMuMTMwMiA3LjIxMDY3QzMzLjAzMDYgNy4yMjI1MyAzMi45NjQ5IDcuMjgzNzggMzIuOTMzMSA3LjM5NDQ0TDMyLjQ5MSA4LjkyOTc4TDM0LjczMTEgMTAuMzg4MUMzNC44NDI2IDEwLjQ1OTIgMzQuOTIyMyAxMC41NTYgMzQuOTcwMSAxMC42Nzg1QzM1LjAxNzkgMTAuODAxIDM1LjAyOTggMTAuOTI1NSAzNS4wMDU5IDExLjA1MkMzNC45ODYgMTEuMTc0NSAzNC45MjgyIDExLjI3NTMgMzQuODMyNyAxMS4zNTQzTDMyLjc3MTggMTMuMDk3MUMzMi42MDg1IDEzLjIzNTQgMzIuNDQ1MiAxMy4yOTg3IDMyLjI4MTkgMTMuMjg2OEMzMi4xMjI2IDEzLjI3NSAzMS45OTMyIDEzLjIxMzcgMzEuODkzNyAxMy4xMDMxQzMxLjc5ODEgMTIuOTk2NCAzMS43NTQzIDEyLjg2NTkgMzEuNzYyMiAxMi43MTE4QzMxLjc3MDIgMTIuNTUzNyAzMS44NTM4IDEyLjQwNzUgMzIuMDEzMSAxMi4yNzMxTDMzLjQ4ODYgMTEuMDE2NEwzMS4yMDA3IDkuNzQxOTFaTTI3LjIwNDQgMTQuODYzN0MyNy4wODQ5IDE0Ljc1NyAyNy4wMTcyIDE0LjYxODYgMjcuMDAxMyAxNC40NDg3QzI2Ljk4OTMgMTQuMjc4OCAyNy4wNjEgMTQuMTE2NyAyNy4yMTYzIDEzLjk2MjZMMjkuMjIzNSAxMS45NzY3TDI5LjkzNDMgOS40ODEwOEMzMC4wNDE4IDkuNjE1NDQgMzAuMTc1MyA5Ljc0NTg2IDMwLjMzNDUgOS44NzIzMkMzMC40OTc4IDkuOTk0ODMgMzAuNjkzIDEwLjExNzMgMzAuOTIgMTAuMjM5OUwzMS4xMTcxIDEwLjM0NjZMMzAuMzA0NyAxMi40MzMyQzMwLjI1MjkgMTIuNTU1NyAzMC4yMDkxIDEyLjY0MDcgMzAuMTczMyAxMi42ODgxQzMwLjE0MTQgMTIuNzM1NSAzMC4wODU2IDEyLjc5ODggMzAuMDA2IDEyLjg3NzhMMjguMDcwNiAxNC43ODA3QzI3LjkxOTIgMTQuOTI2OSAyNy43NjM5IDE1IDI3LjYwNDYgMTVDMjcuNDQ5MyAxNSAyNy4zMTU5IDE0Ljk1NDYgMjcuMjA0NCAxNC44NjM3WiJ9KX0pfWZ1bmN0aW9uIFI4KCl7cmV0dXJuIFgoInN2ZyIse3dpZHRoOiIxNCIsaGVpZ2h0OiIxNCIsdmlld0JveDoiNDkgMyAxNiAxMiIsZmlsbDoiY3VycmVudENvbG9yIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJhcmlhLWhpZGRlbiI6InRydWUiLGNoaWxkcmVuOlgoInBhdGgiLHtkOiJNNTcuMDAyOCAxMS45NDlDNTYuODQ4IDExLjk0OSA1Ni43MTcyIDExLjg5ODcgNTYuNjEwMyAxMS43OThDNTYuNTAzNSAxMS42OTM5IDU2LjQ1MDEgMTEuNTcwNyA1Ni40NTAxIDExLjQyODRWOS4wMjg2M0w1NC40MjE2IDcuMTA3NzZDNTQuMjIyNyA2LjkyMDM1IDU0LjA5NTUgNi42OTgyNSA1NC4wNDAzIDYuNDQxNDRDNTMuOTg1IDYuMTgxMTYgNTQuMDEwOCA1LjkyNzgyIDU0LjExNzYgNS42ODE0MkM1NC4yMjgyIDUuNDM4NDkgNTQuMzk3NyA1LjI0NDE0IDU0LjYyNjEgNS4wOTgzOUM1NC44NTgzIDQuOTQ5MTYgNTUuMTE2MiA0Ljg3NDU0IDU1LjM5OTkgNC44NzQ1NEg1OC4xMTM3QzU4LjQyMzIgNC44NzQ1NCA1OC42ODQ4IDQuOTc2OTIgNTguODk4NSA1LjE4MTY4QzU5LjExNTkgNS4zODI5NiA1OS4yMjQ2IDUuNjI5MzYgNTkuMjI0NiA1LjkyMDg3VjcuNzYzNjZINjAuODk5M0M2MS4wNTA0IDcuNzYzNjYgNjEuMTc5NCA3LjgxMzk5IDYxLjI4NjIgNy45MTQ2M0M2MS4zOTMxIDguMDE1MjcgNjEuNDQ2NSA4LjEzODQ3IDYxLjQ0NjUgOC4yODQyM0M2MS40NDY1IDguNDI2NTEgNjEuMzkzMSA4LjU0Nzk4IDYxLjI4NjIgOC42NDg2MkM2MS4xNzk0IDguNzQ5MjYgNjEuMDUwNCA4Ljc5OTU4IDYwLjg5OTMgOC43OTk1OEg1OC42NzE5QzU4LjUyMDkgOC43OTk1OCA1OC4zOTAxIDguNzQ5MjYgNTguMjc5NSA4LjY0ODYyQzU4LjE3MjcgOC41NDc5OCA1OC4xMTkyIDguNDI2NTEgNTguMTE5MiA4LjI4NDIzVjYuOTg4MDNDNTguMTE5MiA2LjkxODYyIDU4LjA5OSA2Ljg1NDQyIDU4LjA1ODQgNi43OTU0MkM1OC4wMTc5IDYuNzMyOTUgNTcuOTQ0MiA2LjcwMTcyIDU3LjgzNzMgNi43MDE3Mkg1Ni4wNjMyQzU1Ljk5MzIgNi43MDE3MiA1NS45NDUzIDYuNzI5NDggNTUuOTE5NSA2Ljc4NTAxQzU1Ljg5NzQgNi44MzcwNiA1NS45MDg0IDYuODg3MzkgNTUuOTUyNiA2LjkzNTk3TDU3LjQwMDcgOC40NTYwMUM1Ny41MDM5IDguNTYzNiA1Ny41NTU1IDguNjgxNTkgNTcuNTU1NSA4LjgwOTk5VjExLjQyODRDNTcuNTU1NSAxMS41NzA3IDU3LjUwMDIgMTEuNjkzOSA1Ny4zODk3IDExLjc5OEM1Ny4yODI4IDExLjg5ODcgNTcuMTUzOCAxMS45NDkgNTcuMDAyOCAxMS45NDlaTTUzLjAwMTIgMTRDNTIuNTg0OCAxNCA1Mi4xOTQyIDEzLjkyNzEgNTEuODI5NSAxMy43ODE0QzUxLjQ2ODQgMTMuNjM1NiA1MS4xNDk2IDEzLjQzMjYgNTAuODczMyAxMy4xNzIzQzUwLjYwMDYgMTIuOTEyIDUwLjM4NjkgMTIuNjExOCA1MC4yMzIxIDEyLjI3MTdDNTAuMDc3NCAxMS45MjgyIDUwIDExLjU2MDMgNTAgMTEuMTY4MUM1MCAxMC43NzYgNTAuMDc3NCAxMC40MDk5IDUwLjIzMjEgMTAuMDY5OEM1MC4zODY5IDkuNzI2MTggNTAuNjAwNiA5LjQyNDI2IDUwLjg3MzMgOS4xNjM5OEM1MS4xNDk2IDguOTAzNyA1MS40Njg0IDguNzAwNjggNTEuODI5NSA4LjU1NDkyQzUyLjE5NDIgOC40MDkxNiA1Mi41ODQ4IDguMzM2MjggNTMuMDAxMiA4LjMzNjI4QzUzLjQyMTIgOC4zMzYyOCA1My44MTE4IDguNDA5MTYgNTQuMTcyOSA4LjU1NDkyQzU0LjUzNzcgOC43MDA2OCA1NC44NTY0IDguOTAzNyA1NS4xMjkxIDkuMTYzOThDNTUuNDA1NCA5LjQyNDI2IDU1LjYyMSA5LjcyNjE4IDU1Ljc3NTggMTAuMDY5OEM1NS45MzA1IDEwLjQwOTkgNTYuMDA3OSAxMC43NzYgNTYuMDA3OSAxMS4xNjgxQzU2LjAwNzkgMTEuNTYwMyA1NS45MzA1IDExLjkyODIgNTUuNzc1OCAxMi4yNzE3QzU1LjYyMSAxMi42MTE4IDU1LjQwNTQgMTIuOTEyIDU1LjEyOTEgMTMuMTcyM0M1NC44NTY0IDEzLjQzMjYgNTQuNTM3NyAxMy42MzU2IDU0LjE3MjkgMTMuNzgxNEM1My44MTE4IDEzLjkyNzEgNTMuNDIxMiAxNCA1My4wMDEyIDE0Wk01My4wMDEyIDEzLjI2NkM1My40MTAyIDEzLjI2NiA1My43ODIzIDEzLjE3MDYgNTQuMTE3NiAxMi45Nzk3QzU0LjQ1NjYgMTIuNzkyMyA1NC43MjU2IDEyLjU0MDcgNTQuOTI0NiAxMi4yMjQ5QzU1LjEyNzMgMTEuOTA1NiA1NS4yMjg2IDExLjU1MzQgNTUuMjI4NiAxMS4xNjgxQzU1LjIyODYgMTAuNzgyOSA1NS4xMjczIDEwLjQzMjQgNTQuOTI0NiAxMC4xMTY2QzU0LjcyNTYgOS43OTczMyA1NC40NTY2IDkuNTQzOTkgNTQuMTE3NiA5LjM1NjU5QzUzLjc4MjMgOS4xNjU3MSA1My40MTAyIDkuMDcwMjggNTMuMDAxMiA5LjA3MDI4QzUyLjU5NTkgOS4wNzAyOCA1Mi4yMjM3IDkuMTY1NzEgNTEuODg0NyA5LjM1NjU5QzUxLjU0OTQgOS41NDM5OSA1MS4yODA0IDkuNzk3MzMgNTEuMDc3OCAxMC4xMTY2QzUwLjg3ODggMTAuNDMyNCA1MC43NzkzIDEwLjc4MjkgNTAuNzc5MyAxMS4xNjgxQzUwLjc3OTMgMTEuNTUzNCA1MC44Nzg4IDExLjkwNTYgNTEuMDc3OCAxMi4yMjQ5QzUxLjI4MDQgMTIuNTQwNyA1MS41NDk0IDEyLjc5MjMgNTEuODg0NyAxMi45Nzk3QzUyLjIyMzcgMTMuMTcwNiA1Mi41OTU5IDEzLjI2NiA1My4wMDEyIDEzLjI2NlpNNjIuNDgwMSA5LjYxMTY2QzYyLjM2MjIgOS41MTQ0OSA2Mi4zMDE0IDkuNDE1NTggNjIuMjk3NyA5LjMxNDk0QzYyLjI5NzcgOS4yMTA4MyA2Mi4zMzA4IDkuMTI0MDcgNjIuMzk3MiA5LjA1NDY2QzYyLjQ2NzIgOC45ODUyNSA2Mi41NTM4IDguOTQ1MzQgNjIuNjU2OSA4LjkzNDkzQzYyLjc2MzggOC45MjEwNSA2Mi44Njg4IDguOTU1NzUgNjIuOTcyIDkuMDM5MDRDNjMuMjg4OSA5LjMwMjc5IDYzLjUzOTQgOS42MTY4NyA2My43MjM2IDkuOTgxMjZDNjMuOTA3OSAxMC4zNDU3IDY0IDEwLjc0MTMgNjQgMTEuMTY4MUM2NCAxMS41NjAzIDYzLjkyMjYgMTEuOTI4MiA2My43Njc5IDEyLjI3MTdDNjMuNjEzMSAxMi42MTE4IDYzLjM5NzYgMTIuOTEyIDYzLjEyMTIgMTMuMTcyM0M2Mi44NDg1IDEzLjQzMjYgNjIuNTI5OCAxMy42MzU2IDYyLjE2NSAxMy43ODE0QzYxLjgwMzkgMTMuOTI3MSA2MS40MTUyIDE0IDYwLjk5ODggMTRDNjAuNTgyNCAxNCA2MC4xOTE5IDEzLjkyNzEgNTkuODI3MSAxMy43ODE0QzU5LjQ2MjMgMTMuNjM1NiA1OS4xNDE3IDEzLjQzMjYgNTguODY1NCAxMy4xNzIzQzU4LjU5MjcgMTIuOTEyIDU4LjM3OSAxMi42MTE4IDU4LjIyNDIgMTIuMjcxN0M1OC4wNjk1IDExLjkyODIgNTcuOTkyMSAxMS41NjAzIDU3Ljk5MjEgMTEuMTY4MUM1Ny45OTIxIDEwLjk2MzQgNTguMDE0MiAxMC43NjU2IDU4LjA1ODQgMTAuNTc0N0M1OC4xMDYzIDEwLjM4MDQgNTguMTcyNyAxMC4xOTMgNTguMjU3NCAxMC4wMTI1QzU4LjMwOSA5LjkwMTQ0IDU4LjM4MDggOS44MzAzIDU4LjQ3MyA5Ljc5OTA2QzU4LjU2ODggOS43NjQzNiA1OC42NjI3IDkuNzY0MzYgNTguNzU0OCA5Ljc5OTA2QzU4Ljg1MDYgOS44MzAzIDU4LjkyMjUgOS44OTI3NiA1OC45NzA0IDkuOTg2NDdDNTkuMDE4MyAxMC4wODAyIDU5LjAxMDkgMTAuMTk4MiA1OC45NDgzIDEwLjM0MDRDNTguODMwNCAxMC42MDA3IDU4Ljc3MTQgMTAuODc2NiA1OC43NzE0IDExLjE2ODFDNTguNzcxNCAxMS41NTM0IDU4Ljg3MDkgMTEuOTA1NiA1OS4wNjk5IDEyLjIyNDlDNTkuMjcyNSAxMi41NDA3IDU5LjU0MTUgMTIuNzkyMyA1OS44NzY4IDEyLjk3OTdDNjAuMjE1OCAxMy4xNzA2IDYwLjU4OTggMTMuMjY2IDYwLjk5ODggMTMuMjY2QzYxLjQwNzggMTMuMjY2IDYxLjc4IDEzLjE3MDYgNjIuMTE1MyAxMi45Nzk3QzYyLjQ1MDYgMTIuNzkyMyA2Mi43MTc3IDEyLjU0MDcgNjIuOTE2NyAxMi4yMjQ5QzYzLjExOTQgMTEuOTA1NiA2My4yMjA3IDExLjU1MzQgNjMuMjIwNyAxMS4xNjgxQzYzLjIyMDcgMTAuODU5MyA2My4xNTI1IDEwLjU3MTIgNjMuMDE2MiAxMC4zMDRDNjIuODgzNSAxMC4wMzMzIDYyLjcwNDggOS44MDI1MyA2Mi40ODAxIDkuNjExNjZaTTYwLjk5ODggNi4yNzQ4NkM2MC43NzQgNi4yNzQ4NiA2MC41Njk1IDYuMjI0NTQgNjAuMzg1MyA2LjEyMzg5QzYwLjIwMTEgNi4wMTk3OCA2MC4wNTM3IDUuODgyNyA1OS45NDMyIDUuNzEyNjVDNTkuODM2MyA1LjUzOTEzIDU5Ljc4MjkgNS4zNDY1MiA1OS43ODI5IDUuMTM0ODNDNTkuNzgyOSA0LjkyNjYgNTkuODM2MyA0LjczNzQ2IDU5Ljk0MzIgNC41Njc0MUM2MC4wNTM3IDQuMzkzODkgNjAuMjAxMSA0LjI1NjgxIDYwLjM4NTMgNC4xNTYxN0M2MC41Njk1IDQuMDUyMDYgNjAuNzc0IDQgNjAuOTk4OCA0QzYxLjIxOTkgNCA2MS40MjA3IDQuMDUyMDYgNjEuNjAxMyA0LjE1NjE3QzYxLjc4MTggNC4yNTY4MSA2MS45MjU1IDQuMzkzODkgNjIuMDMyNCA0LjU2NzQxQzYyLjE0MjkgNC43Mzc0NiA2Mi4xOTgyIDQuOTI2NiA2Mi4xOTgyIDUuMTM0ODNDNjIuMTk4MiA1LjM0NjUyIDYyLjE0MjkgNS41MzkxMyA2Mi4wMzI0IDUuNzEyNjVDNjEuOTI1NSA1Ljg4MjcgNjEuNzgxOCA2LjAxOTc4IDYxLjYwMTMgNi4xMjM4OUM2MS40MjA3IDYuMjI0NTQgNjEuMjE5OSA2LjI3NDg2IDYwLjk5ODggNi4yNzQ4NloifSl9KX1mdW5jdGlvbiB2OCgpe3JldHVybiBYKCJzdmciLHt3aWR0aDoiMTYiLGhlaWdodDoiMTQiLHZpZXdCb3g6IjcwIDUgMTggOSIsZmlsbDoiY3VycmVudENvbG9yIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJhcmlhLWhpZGRlbiI6InRydWUiLGNoaWxkcmVuOlgoInBhdGgiLHtkOiJNODUuNTcyIDEyLjEwMzhDODYuMDYgMTIuMTAzOCA4Ni40MjA3IDExLjk4OTIgODYuNjU0MiAxMS43NjAxQzg2Ljg4NDcgMTEuNTI4MSA4NyAxMS4xNjQxIDg3IDEwLjY2ODFWMTAuMTExMkM4NyA5Ljc2OTAxIDg2LjkyMDcgOS40NjMwMiA4Ni43NjIgOS4xOTMyOUM4Ni42MDMzIDguOTIwNjUgODYuMzc1OCA4LjY5NzMzIDg2LjA3OTQgOC41MjMzMUM4NS43ODAxIDguMzQ5MjkgODUuNDIyMyA4LjIzNzYyIDg1LjAwNjIgOC4xODgzMkw4My4wMTY4IDcuOTUzMzlMODEuMTk4MSA2Ljg0ODM1QzgwLjkyMjcgNi42ODAxMyA4MC42NjA4IDYuNTQyMzcgODAuNDEyMyA2LjQzNTA1QzgwLjE2MDggNi4zMjQ4NCA3OS44OTc0IDYuMjM3ODMgNzkuNjIxOSA2LjE3NDAyQzc5LjM0NjUgNi4xMTAyMSA3OS4wMzgyIDYuMDY1MjYgNzguNjk2OSA2LjAzOTE1Qzc4LjM1MjYgNi4wMTMwNSA3Ny45NTE0IDYgNzcuNDkzNCA2SDc2LjgxMDhDNzYuMzg4NyA2IDc1Ljk5NSA2LjA0OTMxIDc1LjYyOTggNi4xNDc5MkM3NS4yNjE2IDYuMjQzNjMgNzQuOTE4OCA2LjM3MTI1IDc0LjYwMTUgNi41MzA3NkM3NC4yODExIDYuNjkwMjggNzMuOTg2MiA2Ljg2NTc2IDczLjcxNjggNy4wNTcxOEM3My40NDQ0IDcuMjQ4NiA3My4xOTU5IDcuNDM3MTIgNzIuOTcxNCA3LjYyMjc1TDcyLjI1NzQgNy44NTMzM0M3MS44MzIzIDcuOTg2NzQgNzEuNTE2NCA4LjE4Mzk3IDcxLjMwOTkgOC40NDVDNzEuMTAzMyA4LjcwMzEzIDcxIDkuMDMzNzcgNzEgOS40MzY5MlYxMC42NDJDNzEgMTEuMTQ2NyA3MS4xMTUzIDExLjUxNjUgNzEuMzQ1OCAxMS43NTE0QzcxLjU3NjMgMTEuOTg2MyA3MS45MzcgMTIuMTAzOCA3Mi40MjggMTIuMTAzOEg3Mi43MTU0QzcyLjcwMDQgMTIuMDM3MSA3Mi42ODg1IDExLjk3MDQgNzIuNjc5NSAxMS45MDM3QzcyLjY3MDUgMTEuODM0MSA3Mi42NjYgMTEuNzY0NSA3Mi42NjYgMTEuNjk0OEM3Mi42NjYgMTEuMzU1NSA3Mi43NDk4IDExLjA0OTUgNzIuOTE3NSAxMC43NzY5QzczLjA4NTEgMTAuNTA0MiA3My4zMTEyIDEwLjI4ODIgNzMuNTk1NiAxMC4xMjg3QzczLjg3NyA5Ljk2NjIzIDc0LjE5MjggOS44ODUwMiA3NC41NDMxIDkuODg1MDJDNzQuODkwNCA5Ljg4NTAyIDc1LjIwNjIgOS45NjYyMyA3NS40OTA2IDEwLjEyODdDNzUuNzcyIDEwLjI4ODIgNzUuOTk2NSAxMC41MDQyIDc2LjE2NDIgMTAuNzc2OUM3Ni4zMzE4IDExLjA0OTUgNzYuNDE1NyAxMS4zNTU1IDc2LjQxNTcgMTEuNjk0OEM3Ni40MTU3IDExLjc2NDUgNzYuNDExMiAxMS44MzQxIDc2LjQwMjIgMTEuOTAzN0M3Ni4zOTMyIDExLjk3MDQgNzYuMzgyNyAxMi4wMzcxIDc2LjM3MDggMTIuMTAzOEg4MS42MzgyQzgxLjYyMDMgMTIuMDM3MSA4MS42MDgzIDExLjk3MDQgODEuNjAyMyAxMS45MDM3QzgxLjU5MzMgMTEuODM0MSA4MS41ODg4IDExLjc2NDUgODEuNTg4OCAxMS42OTQ4QzgxLjU4ODggMTEuMzU1NSA4MS42NzI3IDExLjA0OTUgODEuODQwMyAxMC43NzY5QzgyLjAwNSAxMC41MDQyIDgyLjIyOTUgMTAuMjg4MiA4Mi41MTM5IDEwLjEyODdDODIuNzk1MyA5Ljk2NjIzIDgzLjExMTEgOS44ODUwMiA4My40NjE0IDkuODg1MDJDODMuODExNyA5Ljg4NTAyIDg0LjEyOSA5Ljk2NjIzIDg0LjQxMzQgMTAuMTI4N0M4NC42OTQ4IDEwLjI4ODIgODQuOTE5NCAxMC41MDQyIDg1LjA4NyAxMC43NzY5Qzg1LjI1MTcgMTEuMDQ5NSA4NS4zMzQgMTEuMzU1NSA4NS4zMzQgMTEuNjk0OEM4NS4zMzQgMTEuNzY0NSA4NS4zMzEgMTEuODM0MSA4NS4zMjUgMTEuOTAzN0M4NS4zMTYgMTEuOTcwNCA4NS4zMDQxIDEyLjAzNzEgODUuMjg5MSAxMi4xMDM4SDg1LjU3MlpNODMuNDYxNCAxM0M4My43MTI5IDEzIDgzLjk0MDQgMTIuOTQyIDg0LjE0NCAxMi44MjZDODQuMzQ3NiAxMi43MSA4NC41MDkyIDEyLjU1MzMgODQuNjI5IDEyLjM1NjFDODQuNzQ4NyAxMi4xNTg5IDg0LjgwODYgMTEuOTM4NSA4NC44MDg2IDExLjY5NDhDODQuODA4NiAxMS40NTEyIDg0Ljc0ODcgMTEuMjMwOCA4NC42MjkgMTEuMDMzNkM4NC41MDkyIDEwLjgzNjMgODQuMzQ3NiAxMC42Nzk3IDg0LjE0NCAxMC41NjM3QzgzLjk0MDQgMTAuNDQ3NyA4My43MTI5IDEwLjM4OTcgODMuNDYxNCAxMC4zODk3QzgzLjIwNjkgMTAuMzg5NyA4Mi45Nzc5IDEwLjQ0NzcgODIuNzc0MyAxMC41NjM3QzgyLjU3MDggMTAuNjc5NyA4Mi40MDkxIDEwLjgzNjMgODIuMjg5NCAxMS4wMzM2QzgyLjE2OTYgMTEuMjMwOCA4Mi4xMDk3IDExLjQ1MTIgODIuMTA5NyAxMS42OTQ4QzgyLjEwOTcgMTEuOTM4NSA4Mi4xNjk2IDEyLjE1ODkgODIuMjg5NCAxMi4zNTYxQzgyLjQwOTEgMTIuNTUzMyA4Mi41NzA4IDEyLjcxIDgyLjc3NDMgMTIuODI2QzgyLjk3NzkgMTIuOTQyIDgzLjIwNjkgMTMgODMuNDYxNCAxM1pNNzQuNTQzMSAxM0M3NC43OTQ2IDEzIDc1LjAyMjEgMTIuOTQyIDc1LjIyNTcgMTIuODI2Qzc1LjQyOTIgMTIuNzEgNzUuNTkwOSAxMi41NTMzIDc1LjcxMDYgMTIuMzU2MUM3NS44MzA0IDEyLjE1ODkgNzUuODkwMyAxMS45Mzg1IDc1Ljg5MDMgMTEuNjk0OEM3NS44OTAzIDExLjQ1MTIgNzUuODMwNCAxMS4yMzA4IDc1LjcxMDYgMTEuMDMzNkM3NS41OTA5IDEwLjgzNjMgNzUuNDI5MiAxMC42Nzk3IDc1LjIyNTcgMTAuNTYzN0M3NS4wMjIxIDEwLjQ0NzcgNzQuNzk0NiAxMC4zODk3IDc0LjU0MzEgMTAuMzg5N0M3NC4yODg2IDEwLjM4OTcgNzQuMDU5NiAxMC40NDc3IDczLjg1NiAxMC41NjM3QzczLjY1MjQgMTAuNjc5NyA3My40OTA4IDEwLjgzNjMgNzMuMzcxIDExLjAzMzZDNzMuMjUxMyAxMS4yMzA4IDczLjE5MTQgMTEuNDUxMiA3My4xOTE0IDExLjY5NDhDNzMuMTkxNCAxMS45Mzg1IDczLjI1MTMgMTIuMTU4OSA3My4zNzEgMTIuMzU2MUM3My40OTA4IDEyLjU1MzMgNzMuNjUyNCAxMi43MSA3My44NTYgMTIuODI2Qzc0LjA1OTYgMTIuOTQyIDc0LjI4ODYgMTMgNzQuNTQzMSAxM1oifSl9KX1mdW5jdGlvbiBIMih7c2l6ZTokPTE4LHN0cm9rZVdpZHRoOko9Mn0pe3JldHVybiBYKEY1LHtzaXplOiQsc3Ryb2tlV2lkdGg6Sn0pfXZhciBfND0iQWNjZXNzaWJpbGl0eSB1bmF2YWlsYWJsZSBvbiB0aGlzIHNpbXVsYXRvci4iO2Z1bmN0aW9uIEgzKCQpe3JldHVybiAkPy5lcnJvcnM/LmluY2x1ZGVzKF80KT8/ITF9ZnVuY3Rpb24gQzMoJCxKKXtpZigkPT09SilyZXR1cm4hMDtpZigkLmlkIT09Si5pZHx8JC5wYXRoIT09Si5wYXRofHwkLmxhYmVsIT09Si5sYWJlbHx8JC52YWx1ZSE9PUoudmFsdWV8fCQucm9sZSE9PUoucm9sZXx8JC50eXBlIT09Si50eXBlfHwkLmVuYWJsZWQhPT1KLmVuYWJsZWQpcmV0dXJuITE7bGV0IFE9JC5mcmFtZSxaPUouZnJhbWU7cmV0dXJuIFE9PT1afHxRLng9PT1aLngmJlEueT09PVoueSYmUS53aWR0aD09PVoud2lkdGgmJlEuaGVpZ2h0PT09Wi5oZWlnaHR9ZnVuY3Rpb24gTTMoJCxKKXtsZXQgUT0kLmxhYmVsfHwkLnJvbGV8fGBlbGVtZW50ICR7SisxfWAsWj0kLnJvbGV8fCQudHlwZTtyZXR1cm57aWQ6JC5pZCxwYXRoOiQucGF0aCxsYWJlbDpRLHZhbHVlOiQudmFsdWUscm9sZTpaLHR5cGU6JC50eXBlLGVuYWJsZWQ6JC5lbmFibGVkLGZyYW1lOiQuZnJhbWV9fWZ1bmN0aW9uIFA0KCQsSil7bGV0IFE9TWF0aC5tYXgoMCwkLngpLFo9TWF0aC5tYXgoMCwkLnkpLEs9TWF0aC5taW4oSi53aWR0aCwkLngrJC53aWR0aCksWT1NYXRoLm1pbihKLmhlaWdodCwkLnkrJC5oZWlnaHQpLHE9TWF0aC5tYXgoMCxLLVEpLEc9TWF0aC5tYXgoMCxZLVopO3JldHVybiBxPjAmJkc+MD97eDpRLHk6Wix3aWR0aDpxLGhlaWdodDpHfTpudWxsfWZ1bmN0aW9uIEMyKCQpe3JldHVybiAkLmlkfWZ1bmN0aW9uIGg4KCQpe3JldHVybmAkeyQueH0sJHskLnl9ICR7JC53aWR0aH14JHskLmhlaWdodH1gfWZ1bmN0aW9uIFQ0KCQpe3JldHVybltgQVggbGFiZWw6ICR7JC5sYWJlbHx8IlVubGFiZWxlZCJ9YCwkLnJvbGU/YHJvbGU6ICR7JC5yb2xlfWA6IiIsJC50eXBlP2B0eXBlOiAkeyQudHlwZX1gOiIiLCQudmFsdWU/YHZhbHVlOiAkeyQudmFsdWV9YDoiIiwkLmlkP2BpZDogJHskLmlkfWA6IiIsYHBhdGg6ICR7JC5wYXRofWAsYGZyYW1lOiAke2g4KCQuZnJhbWUpfWBdLmZpbHRlcihCb29sZWFuKS5qb2luKCI7ICIpfWZ1bmN0aW9uIEU0KCQpe2xldFtKLFFdPUEobnVsbCksW1osS109QSgiQVggb2ZmIik7cmV0dXJuIEUoKCk9PntpZighJCl7UShudWxsKSxLKCJBWCBvZmYiKTtyZXR1cm59UShudWxsKSxLKCJBWCB3YWl0aW5nIik7bGV0IFk9dzAoJCk7cmV0dXJuIFkub25tZXNzYWdlPShxKT0+e3RyeXtsZXQgRz1KU09OLnBhcnNlKHEuZGF0YSk7UShHKSxLKEgzKEcpPyJBWCB1bmF2YWlsYWJsZSI6YCR7Ry5lbGVtZW50cy5sZW5ndGh9IEFYIGVsZW1lbnRzYCl9Y2F0Y2h7SygiQVggcGFyc2UgZXJyb3IiKX19LFkub25lcnJvcj0oKT0+e0soIkFYIHJlY29ubmVjdGluZyIpfSwoKT0+WS5jbG9zZSgpfSxbJF0pLHtzbmFwc2hvdDpKLHN0YXR1czpafX12YXIgZzg9VDAoe3NuYXBzaG90Om51bGwsc3RhdHVzOiJBWCBvZmYifSksZjg9VDAobnVsbCk7ZnVuY3Rpb24gUjIoKXtyZXR1cm4gSTAoZzgpfWZ1bmN0aW9uIE8zKCl7bGV0ICQ9STAoZjgpO2lmKCEkKXRocm93IEVycm9yKCJBWCBzZWxlY3Rpb24gY29udGV4dCBpcyB1bmF2YWlsYWJsZSIpO3JldHVybiAkfXZhciBJND1MMihmdW5jdGlvbih7ZWxlbWVudDpKLGluZGV4OlEsc2NyZWVuOlosaGlnaGxpZ2h0ZWQ6SyxzZWxlY3RlZDpZLG9uSGlnaGxpZ2h0OnEsb25TZWxlY3Q6R30pe2xldCBCPUMyKEopLEw9TTMoSixRKSx6PVA0KEouZnJhbWUsWik7aWYoIXopcmV0dXJuIG51bGw7bGV0IFY9VDQoTCk7cmV0dXJuIFgoImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsImRhdGEtYXgta2V5IjpCLCJkYXRhLWF4LWlkIjpMLmlkLCJkYXRhLWF4LXBhdGgiOkwucGF0aCwiZGF0YS1heC1sYWJlbCI6TC5sYWJlbCwiZGF0YS1heC12YWx1ZSI6TC52YWx1ZSwiZGF0YS1heC1yb2xlIjpMLnJvbGUsImRhdGEtYXgtdHlwZSI6TC50eXBlLCJkYXRhLWF4LWVuYWJsZWQiOlN0cmluZyhMLmVuYWJsZWQpLCJkYXRhLWF4LWZyYW1lIjpoOChMLmZyYW1lKSwiZGF0YS1heC1zZWxlY3RlZCI6U3RyaW5nKFkpLCJhcmlhLWxhYmVsIjpKLmxhYmVsfHxWLHRpdGxlOlYsb25DbGljazooKT0+RyhCKSxvbk1vdXNlRW50ZXI6KCk9PnEoQiksb25Nb3VzZUxlYXZlOigpPT5xKG51bGwpLGNsYXNzTmFtZToiYWJzb2x1dGUgYm94LWJvcmRlciBtaW4tdy1weCBtaW4taC1weCBwLTAgcm91bmRlZC1bM3B4XSBib3JkZXIgY3Vyc29yLXBvaW50ZXIgcG9pbnRlci1ldmVudHMtYXV0byIsc3R5bGU6e2xlZnQ6YCR7ei54L1oud2lkdGgqMTAwfSVgLHRvcDpgJHt6LnkvWi5oZWlnaHQqMTAwfSVgLHdpZHRoOmAke3oud2lkdGgvWi53aWR0aCoxMDB9JWAsaGVpZ2h0OmAke3ouaGVpZ2h0L1ouaGVpZ2h0KjEwMH0lYCxib3JkZXJDb2xvcjpZPyIjNjBhNWZhIjpLPyIjZmJiZjI0IjoiIzM0ZDM5OSIsYmFja2dyb3VuZDpZPyJyZ2JhKDk2LDE2NSwyNTAsMC4yNCkiOks/InJnYmEoMjQ1LDE1OCwxMSwwLjI4KSI6InJnYmEoMTYsMTg1LDEyOSwwLjEyKSJ9fSl9LCgkLEopPT4kLmluZGV4PT09Si5pbmRleCYmJC5oaWdobGlnaHRlZD09PUouaGlnaGxpZ2h0ZWQmJiQuc2VsZWN0ZWQ9PT1KLnNlbGVjdGVkJiYkLm9uSGlnaGxpZ2h0PT09Si5vbkhpZ2hsaWdodCYmJC5vblNlbGVjdD09PUoub25TZWxlY3QmJiQuc2NyZWVuLndpZHRoPT09Si5zY3JlZW4ud2lkdGgmJiQuc2NyZWVuLmhlaWdodD09PUouc2NyZWVuLmhlaWdodCYmQzMoJC5lbGVtZW50LEouZWxlbWVudCkpO2Z1bmN0aW9uIHc0KCl7bGV0e3NuYXBzaG90OiR9PVIyKCkse2hpZ2hsaWdodGVkS2V5Okosc2VsZWN0ZWRLZXk6USxzZXRIaWdobGlnaHRlZEtleTpaLHNldFNlbGVjdGVkS2V5Okt9PU8zKCk7aWYoISQ/LnNjcmVlbi53aWR0aHx8ISQ/LnNjcmVlbi5oZWlnaHQpcmV0dXJuIG51bGw7cmV0dXJuIFgoImRpdiIse2NsYXNzTmFtZToiYWJzb2x1dGUgaW5zZXQtMCB6LTEwIG92ZXJmbG93LWhpZGRlbiBwb2ludGVyLWV2ZW50cy1ub25lIixjaGlsZHJlbjokLmVsZW1lbnRzLm1hcCgoWSxxKT0+e2xldCBHPUMyKFkpO3JldHVybiBYKEk0LHtlbGVtZW50OlksaW5kZXg6cSxzY3JlZW46JC5zY3JlZW4saGlnaGxpZ2h0ZWQ6Rz09PUosc2VsZWN0ZWQ6Rz09PVEsb25IaWdobGlnaHQ6WixvblNlbGVjdDpLfSxHKX0pfSl9ZnVuY3Rpb24geTQoe2VuZHBvaW50OiQsY2hpbGRyZW46Sn0pe2xldHtzbmFwc2hvdDpRLHN0YXR1czpafT1FNCgkKSxbSyxZXT1BKG51bGwpLFtxLEddPUEobnVsbCk7RSgoKT0+e2lmKCEkKVkobnVsbCksRyhudWxsKX0sWyRdKTtsZXQgQj1JMSgoKT0+KHtzbmFwc2hvdDpRLHN0YXR1czpafSksW1EsWl0pLEw9STEoKCk9Pih7aGlnaGxpZ2h0ZWRLZXk6SyxzZWxlY3RlZEtleTpxLHNldEhpZ2hsaWdodGVkS2V5Olksc2V0U2VsZWN0ZWRLZXk6R30pLFtLLHFdKTtyZXR1cm4gWChnOCx7dmFsdWU6QixjaGlsZHJlbjpYKGY4LHt2YWx1ZTpMLGNoaWxkcmVuOkp9KX0pfWZ1bmN0aW9uIGI0KHtvdmVybGF5RW5hYmxlZDokLHN0cmVhbWluZzpKLG9uVG9nZ2xlT3ZlcmxheTpRfSl7bGV0e3N0YXR1czpafT1SMigpLFtLLFldPUEoITEpLHE9JCYmSjtyZXR1cm4gWChlMS5CdXR0b24seyJhcmlhLWxhYmVsIjokPyJIaWRlIGFjY2Vzc2liaWxpdHkgb3ZlcmxheSI6IlNob3cgYWNjZXNzaWJpbGl0eSBvdmVybGF5IiwiYXJpYS1wcmVzc2VkIjokLHRpdGxlOlosb25DbGljazpRLG9uTW91c2VFbnRlcjooKT0+WSghMCksb25Nb3VzZUxlYXZlOigpPT5ZKCExKSxzdHlsZTpxP3tiYWNrZ3JvdW5kOks/InJnYmEoMjU1LDI1NSwyNTUsMC4xMikiOiJyZ2JhKDI1NSwyNTUsMjU1LDAuMDgpIixjb2xvcjoicmdiYSgyNTUsMjU1LDI1NSwwLjk1KSJ9OnZvaWQgMCxjaGlsZHJlbjpYKGUwLHtzaXplOjE5LHN0cm9rZVdpZHRoOjJ9KX0pfXZhciBGWj0idy05IGgtOSBzbTp3LVszMHB4XSBzbTpoLVszMHB4XSBzaHJpbmstMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBwLTAgYmctdHJhbnNwYXJlbnQgYm9yZGVyLW5vbmUgcm91bmRlZC1tZCBjdXJzb3ItcG9pbnRlciB0b3VjaC1tYW5pcHVsYXRpb24gW3RyYW5zaXRpb246YmFja2dyb3VuZF8wLjE1c19lYXNlLGNvbG9yXzAuMTVzX2Vhc2Usb3BhY2l0eV8wLjFzX2Vhc2VdIjtmdW5jdGlvbiB5MCh7Y2xhc3NOYW1lOiQ9IiIsb25Qb2ludGVyRG93bjpKLG9uUG9pbnRlclVwOlEsb25Qb2ludGVyQ2FuY2VsOlosb25Qb2ludGVyTGVhdmU6SywuLi5ZfSl7bGV0W3EsR109QSghMSk7cmV0dXJuIFgoImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOmAke0ZafSAke3E/ImJnLXdoaXRlLzEyIHRleHQtd2hpdGUgb3BhY2l0eS02MCI6InRleHQtWyM4ZThlOTNdIGhvdmVyOmJnLXdoaXRlLzggaG92ZXI6dGV4dC13aGl0ZSJ9ICR7JH1gLG9uUG9pbnRlckRvd246KEIpPT57RyghMCksSj8uKEIpfSxvblBvaW50ZXJVcDooQik9PntHKCExKSxRPy4oQil9LG9uUG9pbnRlckNhbmNlbDooQik9PntHKCExKSxaPy4oQil9LG9uUG9pbnRlckxlYXZlOihCKT0+e0coITEpLEs/LihCKX0sLi4uWX0pfWZ1bmN0aW9uIEEzKHtjbGFzc05hbWU6JD0iIn0pe3JldHVybiBYKCJhIix7aHJlZjoiaHR0cHM6Ly9leHBvLmRldi9zZXJ2aWNlcy9zaW11bGF0b3JzIix0YXJnZXQ6Il9ibGFuayIscmVsOiJub3JlZmVycmVyIixjbGFzc05hbWU6YGhpZGRlbiBzbTppbmxpbmUtZmxleCBoLVszMHB4XSBtaW4tdy0wIGl0ZW1zLWNlbnRlciB3aGl0ZXNwYWNlLW5vd3JhcCByb3VuZGVkLW1kIHB4LTEuNSBmb250LW1vbm8gdGV4dC1bMTJweF0gZm9udC1zZW1pYm9sZCB0ZXh0LXdoaXRlLzY1IG5vLXVuZGVybGluZSBbdHJhbnNpdGlvbjpiYWNrZ3JvdW5kXzAuMTVzX2Vhc2UsY29sb3JfMC4xNXNfZWFzZV0gaG92ZXI6Ymctd2hpdGUvOCBob3Zlcjp0ZXh0LXdoaXRlLzg1IGZvY3VzLXZpc2libGU6b3V0bGluZSBmb2N1cy12aXNpYmxlOm91dGxpbmUtMiBmb2N1cy12aXNpYmxlOm91dGxpbmUtb2Zmc2V0LTIgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLXdoaXRlLzYwICR7JH1gLnRyaW0oKSwiYXJpYS1sYWJlbCI6Ik9wZW4gRUFTIFNpbXVsYXRvciIsdGl0bGU6Ik9wZW4gRUFTIFNpbXVsYXRvciIsY2hpbGRyZW46IkVBUyBTaW11bGF0b3IifSl9ZnVuY3Rpb24geDQoe29wZW46JCxvbkNsaWNrOkp9KXtyZXR1cm4gWCgiZGl2Iix7Y2xhc3NOYW1lOmBmaXhlZCB0b3AtMyBsZWZ0LTMgei0zMCBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMSBwLTEgW3RyYW5zaXRpb246b3BhY2l0eV8wLjE4c19lYXNlXSAkeyQ/Im9wYWNpdHktMCBwb2ludGVyLWV2ZW50cy1ub25lIjoib3BhY2l0eS0xMDAgcG9pbnRlci1ldmVudHMtYXV0byJ9YCxjaGlsZHJlbjpbWCh5MCx7b25DbGljazpKLCJhcmlhLWxhYmVsIjoiT3BlbiBkZXZpY2VzIHNpZGViYXIiLCJhcmlhLXByZXNzZWQiOiQsdGl0bGU6IkRldmljZXMiLGNoaWxkcmVuOlgobTAse3NpemU6MTgsc3Ryb2tlV2lkdGg6MS43NX0pfSksWChBMyx7fSldfSl9ZnVuY3Rpb24gUzQoJCxKKXtsZXQgUT1uZXcgTWFwKCQubWFwKChLKT0+W0suZGV2aWNlLEtdKSksWj1bXTtmb3IobGV0IEsgb2YgSil7bGV0IFk9US5nZXQoSy5kZXZpY2UpO2lmKCFZKWNvbnRpbnVlO1oucHVzaCh7Li4uWSxzdGF0ZTpLLnN0YXRlLGhlbHBlcjpLLmhlbHBlcn0pLFEuZGVsZXRlKEsuZGV2aWNlKX1mb3IobGV0IEsgb2YgUS52YWx1ZXMoKSlaLnB1c2goey4uLkssc3RhdGU6IlNodXRkb3duIixoZWxwZXI6bnVsbH0pO3JldHVybiBafWZ1bmN0aW9uIGo0KCQsSixRKXtpZigkLmxlbmd0aD09PTApcmV0dXJuITE7bGV0IFo9bmV3IFNldCgkLm1hcCgoSyk9PksuZGV2aWNlKSk7cmV0dXJuIEouc2xpY2UoMCxNYXRoLm1pbihRLEoubGVuZ3RoKSkuc29tZSgoSyk9PiFaLmhhcyhLLmRldmljZSkpfWZ1bmN0aW9uIFI0KCQpe2lmKCFOdW1iZXIuaXNGaW5pdGUoJCl8fCQ8PTApcmV0dXJuIjAgQiI7bGV0IEo9JC8xMDczNzQxODI0O2lmKEo+PTEpcmV0dXJuYCR7Si50b0ZpeGVkKEo+PTEwPzA6MSl9IEdCYDtyZXR1cm5gJHsoJC8xMDQ4NTc2KS50b0ZpeGVkKDApfSBNQmB9ZnVuY3Rpb24gazMoJCl7bGV0IEo9JC5tYXRjaCgvXihbYS16QS1aXSspLSguKykkLyk7aWYoIUopcmV0dXJue29zOiQsdmVyc2lvbjoiIn07cmV0dXJue29zOkpbMV0sdmVyc2lvbjpKWzJdLnJlcGxhY2UoLy0vZywiLiIpfX1mdW5jdGlvbiB2NCgkKXtyZXR1cm4gazMoJCkudmVyc2lvbnx8JH1mdW5jdGlvbiBGMygkKXtsZXR7b3M6Six2ZXJzaW9uOlF9PWszKCQpO3JldHVybiBRP2Ake0p9ICR7UX1gOkp9ZnVuY3Rpb24gRDMoe2Nocm9tZTokLHNjcmVlbjpKLGludGVyYWN0aXZlOlE9ITEsb25CdXR0b246WixvbkNyb3duV2hlZWw6Syxjb250YWluZXJTaXplOll9KXtyZXR1cm4gWCgiZGl2Iix7Y2xhc3NOYW1lOiJhYnNvbHV0ZSBpbnNldC0wIixjaGlsZHJlbjpbJC5idXR0b25zLm1hcCgocSk9PlgoRFose2Nocm9tZTokLGJ1dHRvbjpxLGludGVyYWN0aXZlOlEsb25CdXR0b246WixvbldoZWVsOlEmJnEubmFtZT09PSJkaWdpdGFsLWNyb3duIj9LOnZvaWQgMCxjb250YWluZXJTaXplOll9LGBidXR0b24tJHtxLm5hbWV9YCkpLCQuY29tcG9zaXRlSW1hZ2U/WChnNCx7Y2hyb21lOiQsaW1hZ2U6JC5jb21wb3NpdGVJbWFnZSxyZWN0OiQuYm9keSx6SW5kZXg6MSxjb250YWluZXJTaXplOll9KTokLnNsaWNlJiYkLmNvcm5lcj9YKF9aLHtjaHJvbWU6JCxjb250YWluZXJTaXplOll9KTpudWxsLFgoImRpdiIse2NsYXNzTmFtZToiYWJzb2x1dGUgb3ZlcmZsb3ctaGlkZGVuIGJnLWJsYWNrIixzdHlsZTp7Li4ubTgoJCwkLnNjcmVlbiwyLFkpLGJvcmRlclJhZGl1czpXWigkKX0sY2hpbGRyZW46Sn0pXX0pfWZ1bmN0aW9uIFdaKCQpe3JldHVybmAkeyQuc2NyZWVuUmFkaXVzLyQuc2NyZWVuLndpZHRoKjEwMH0lIC8gJHskLnNjcmVlblJhZGl1cy8kLnNjcmVlbi5oZWlnaHQqMTAwfSVgfWZ1bmN0aW9uIERaKHtjaHJvbWU6JCxidXR0b246SixpbnRlcmFjdGl2ZTpRLG9uQnV0dG9uOlosb25XaGVlbDpLLGNvbnRhaW5lclNpemU6WX0pe2xldFtxLEddPUEoITEpLFtCLExdPUEoITEpLHo9RihudWxsKSxWPUYobnVsbCksTj1GKEspO04uY3VycmVudD1LLEUoKCk9PntsZXQgUD1WLmN1cnJlbnQ7aWYoIVB8fCFLKXJldHVybjtsZXQgdj0oaik9PntqLnByZXZlbnREZWZhdWx0KCksai5zdG9wUHJvcGFnYXRpb24oKSxOLmN1cnJlbnQ/LihqLmRlbHRhWSxqLmRlbHRhTW9kZSl9O3JldHVybiBQLmFkZEV2ZW50TGlzdGVuZXIoIndoZWVsIix2LHtwYXNzaXZlOiExfSksKCk9PlAucmVtb3ZlRXZlbnRMaXN0ZW5lcigid2hlZWwiLHYpfSxbISFLXSk7bGV0IEg9USYmSi51c2FnZVBhZ2UhPW51bGwmJkoudXNhZ2UhPW51bGwsTz1JKCgpPT57aWYoei5jdXJyZW50PT09bnVsbClyZXR1cm47ei5jdXJyZW50PW51bGwsTCghMSksWj8uKHtwaGFzZToidXAiLGJ1dHRvbjpKfSl9LFtKLFpdKSxVPUkoKFApPT57aWYoUC5idXR0b24hPT0wJiZQLnBvaW50ZXJUeXBlPT09Im1vdXNlIilyZXR1cm47UC5wcmV2ZW50RGVmYXVsdCgpLFAuc3RvcFByb3BhZ2F0aW9uKCksei5jdXJyZW50PVAucG9pbnRlcklkO3RyeXtQLmN1cnJlbnRUYXJnZXQuc2V0UG9pbnRlckNhcHR1cmUoUC5wb2ludGVySWQpfWNhdGNoe31MKCEwKSxaPy4oe3BoYXNlOiJkb3duIixidXR0b246Sn0pfSxbSixaXSksQz1KLm9uVG9wPzU6MCxNPUgmJihxfHxCKSxrPShNP0ouaG92ZXIueDowKSoxMDAsdz0oTT9KLmhvdmVyLnk6MCkqMTAwLFQ9QiYmSi5pbWFnZURvd24/Si5pbWFnZURvd246Si5pbWFnZSxTPUg/e29uUG9pbnRlckRvd246VSxvblBvaW50ZXJVcDpPLG9uUG9pbnRlckNhbmNlbDpPLG9uUG9pbnRlckVudGVyOigpPT5HKCEwKSxvblBvaW50ZXJMZWF2ZTooKT0+e0coITEpLE8oKX19Ont9O3JldHVybiBYKCJkaXYiLHtyZWY6Vixyb2xlOkg/ImJ1dHRvbiI6dm9pZCAwLCJhcmlhLWxhYmVsIjpIP2g0KEoubmFtZSk6dm9pZCAwLCJhcmlhLWhpZGRlbiI6SD92b2lkIDA6ITAsdGl0bGU6SD9oNChKLm5hbWUpOnZvaWQgMCxjbGFzc05hbWU6ImFic29sdXRlIHNlbGVjdC1ub25lIixzdHlsZTp7Li4ubTgoJCxKLmZyYW1lLEMsWSksdHJhbnNmb3JtOmt8fHc/YHRyYW5zbGF0ZSgke2t9JSwgJHt3fSUpYDp2b2lkIDAsdHJhbnNpdGlvbjoidHJhbnNmb3JtIDAuMTJzIGVhc2UiLGN1cnNvcjpIPyJwb2ludGVyIjp2b2lkIDAscG9pbnRlckV2ZW50czpIPyJhdXRvIjoibm9uZSIsdG91Y2hBY3Rpb246Im5vbmUifSwuLi5TLGNoaWxkcmVuOlQmJlgoImltZyIse2FsdDoiIiwiYXJpYS1oaWRkZW4iOiEwLGRyYWdnYWJsZTohMSxzcmM6ZjQoJC5pZGVudGlmaWVyLFQpLGNsYXNzTmFtZToiYWJzb2x1dGUgaW5zZXQtMCBzaXplLWZ1bGwgc2VsZWN0LW5vbmUiLHN0eWxlOntvYmplY3RGaXQ6ImZpbGwiLGZpbHRlcjpCJiYhSi5pbWFnZURvd24/ImJyaWdodG5lc3MoMS40KSI6dm9pZCAwLHRyYW5zaXRpb246ImZpbHRlciAwLjEycyBlYXNlIixXZWJraXRVc2VyRHJhZzoibm9uZSJ9fSl9KX1mdW5jdGlvbiBoNCgkKXtyZXR1cm4gJC5zcGxpdCgiLSIpLm1hcCgoSik9PkouY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrSi5zbGljZSgxKSkuam9pbigiICIpfWZ1bmN0aW9uIF9aKHtjaHJvbWU6JCxjb250YWluZXJTaXplOkp9KXtpZighJC5zbGljZXx8ISQuY29ybmVyKXJldHVybiBudWxsO2xldHtib2R5OlEsY29ybmVyOlosc2xpY2U6S309JCxZPU1hdGgubWF4KFEud2lkdGgtWi53aWR0aCoyLDApLHE9TWF0aC5tYXgoUS5oZWlnaHQtWi5oZWlnaHQqMiwwKSxHPVt7a2V5OiJ0b3AtbGVmdCIsaW1hZ2U6Sy50b3BMZWZ0LHJlY3Q6e3g6US54LHk6US55LHdpZHRoOloud2lkdGgsaGVpZ2h0OlouaGVpZ2h0fX0se2tleToidG9wLXJpZ2h0IixpbWFnZTpLLnRvcFJpZ2h0LHJlY3Q6e3g6US54K1Eud2lkdGgtWi53aWR0aCx5OlEueSx3aWR0aDpaLndpZHRoLGhlaWdodDpaLmhlaWdodH19LHtrZXk6ImJvdHRvbS1sZWZ0IixpbWFnZTpLLmJvdHRvbUxlZnQscmVjdDp7eDpRLngseTpRLnkrUS5oZWlnaHQtWi5oZWlnaHQsd2lkdGg6Wi53aWR0aCxoZWlnaHQ6Wi5oZWlnaHR9fSx7a2V5OiJib3R0b20tcmlnaHQiLGltYWdlOksuYm90dG9tUmlnaHQscmVjdDp7eDpRLngrUS53aWR0aC1aLndpZHRoLHk6US55K1EuaGVpZ2h0LVouaGVpZ2h0LHdpZHRoOloud2lkdGgsaGVpZ2h0OlouaGVpZ2h0fX0se2tleToidG9wIixpbWFnZTpLLnRvcCxyZWN0Ont4OlEueCtaLndpZHRoLHk6US55LHdpZHRoOlksaGVpZ2h0OlouaGVpZ2h0fX0se2tleToiYm90dG9tIixpbWFnZTpLLmJvdHRvbSxyZWN0Ont4OlEueCtaLndpZHRoLHk6US55K1EuaGVpZ2h0LVouaGVpZ2h0LHdpZHRoOlksaGVpZ2h0OlouaGVpZ2h0fX0se2tleToibGVmdCIsaW1hZ2U6Sy5sZWZ0LHJlY3Q6e3g6US54LHk6US55K1ouaGVpZ2h0LHdpZHRoOloud2lkdGgsaGVpZ2h0OnF9fSx7a2V5OiJyaWdodCIsaW1hZ2U6Sy5yaWdodCxyZWN0Ont4OlEueCtRLndpZHRoLVoud2lkdGgseTpRLnkrWi5oZWlnaHQsd2lkdGg6Wi53aWR0aCxoZWlnaHQ6cX19XTtyZXR1cm4gWChZMSx7Y2hpbGRyZW46Ry5maWx0ZXIoKEIpPT5CLnJlY3Qud2lkdGg+MCYmQi5yZWN0LmhlaWdodD4wKS5tYXAoKEIpPT5YKGc0LHtjaHJvbWU6JCxpbWFnZTpCLmltYWdlLHJlY3Q6Qi5yZWN0LHpJbmRleDoxLGNvbnRhaW5lclNpemU6Sn0sQi5rZXkpKX0pfWZ1bmN0aW9uIGc0KHtjaHJvbWU6JCxpbWFnZTpKLHJlY3Q6USx6SW5kZXg6Wixjb250YWluZXJTaXplOkt9KXtyZXR1cm4gWCgiaW1nIix7YWx0OiIiLCJhcmlhLWhpZGRlbiI6ITAsZHJhZ2dhYmxlOiExLHNyYzpmNCgkLmlkZW50aWZpZXIsSiksY2xhc3NOYW1lOiJhYnNvbHV0ZSBzZWxlY3Qtbm9uZSIsc3R5bGU6ey4uLm04KCQsUSxaLEspLG9iamVjdEZpdDoiZmlsbCIscG9pbnRlckV2ZW50czoibm9uZSIsV2Via2l0VXNlckRyYWc6Im5vbmUifX0pfWZ1bmN0aW9uIGY0KCQsSil7bGV0IFE9YGdyaWQvYXBpL2RldmljZWtpdC1jaHJvbWU/Y2hyb21lPSR7ZW5jb2RlVVJJQ29tcG9uZW50KCQpfSZpbWFnZT0ke2VuY29kZVVSSUNvbXBvbmVudChKKX1gO3JldHVybiB0eXBlb2Ygd2luZG93PiJ1Ij9gLyR7UX1gOlMxKFEpfWZ1bmN0aW9uIFBaKCQsSixRLFo9eTIoKSl7bGV0IEs9RzAoSi54LyQuZnJhbWUud2lkdGgqUS53aWR0aCxaKSxZPUcwKChKLngrSi53aWR0aCkvJC5mcmFtZS53aWR0aCpRLndpZHRoLFopLHE9RzAoSi55LyQuZnJhbWUuaGVpZ2h0KlEuaGVpZ2h0LFopLEc9RzAoKEoueStKLmhlaWdodCkvJC5mcmFtZS5oZWlnaHQqUS5oZWlnaHQsWik7cmV0dXJue2xlZnQ6Syx0b3A6cSx3aWR0aDpNYXRoLm1heCgwLFktSyksaGVpZ2h0Ok1hdGgubWF4KDAsRy1xKX19ZnVuY3Rpb24gbTgoJCxKLFEsWil7aWYoWiYmWi53aWR0aD4wJiZaLmhlaWdodD4wKXtsZXQgSz1QWigkLEosWik7cmV0dXJue2xlZnQ6Sy5sZWZ0LHRvcDpLLnRvcCx3aWR0aDpLLndpZHRoLGhlaWdodDpLLmhlaWdodCx6SW5kZXg6UX19cmV0dXJue2xlZnQ6VzMoSi54LCQuZnJhbWUud2lkdGgpLHRvcDpXMyhKLnksJC5mcmFtZS5oZWlnaHQpLHdpZHRoOlczKEoud2lkdGgsJC5mcmFtZS53aWR0aCksaGVpZ2h0OlczKEouaGVpZ2h0LCQuZnJhbWUuaGVpZ2h0KSx6SW5kZXg6UX19ZnVuY3Rpb24gVzMoJCxKKXtyZXR1cm5gJHskL0oqMTAwfSVgfWZ1bmN0aW9uIG00KHtuYW1lOiQscnVudGltZTpKLGNocm9tZTpRLHBsYWNlaG9sZGVyQXNzZXQ6WixidXN5OkssYnVzeUxhYmVsOlk9IlN0YXJ0aW5n4oCmIixlcnJvcjpxLG9uU3RhcnQ6R30pe2xldCBCPWYwKCQpLEw9djFbQl0sej1aPz9udWxsLFY9ej9udWxsOlE/P251bGwsTj1WP3t3aWR0aDpWLnNjcmVlbi53aWR0aCxoZWlnaHQ6Vi5zY3JlZW4uaGVpZ2h0fTpTMihCLCQpLEg9ajIoQixOKSxPPXo/VFooQix6Lm5hbWUpOlY/SCpWLmZyYW1lLndpZHRoL1Yuc2NyZWVuLndpZHRoOkgqTC53aWR0aC8oTC53aWR0aC0yKkwuYmV6ZWxYKSxVPXo/e3dpZHRoOnoud2lkdGgsaGVpZ2h0OnouaGVpZ2h0fTpWP3t3aWR0aDpWLmZyYW1lLndpZHRoLGhlaWdodDpWLmZyYW1lLmhlaWdodH06e3dpZHRoOkwud2lkdGgsaGVpZ2h0OkwuaGVpZ2h0fSxDPWAke1Uud2lkdGh9IC8gJHtVLmhlaWdodH1gLE09KFUud2lkdGgvVS5oZWlnaHQqRVooQikpLnRvRml4ZWQoMiksaz1CPT09InZpc2lvbiI/WCh5Wix7fSk6WChJWix7dHlwZTpCfSk7cmV0dXJuIFgoImRpdiIse2NsYXNzTmFtZToiZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIgZ2FwLTUgbWluLXctMCB3LWZ1bGwiLGNoaWxkcmVuOltYKCJkaXYiLHtjbGFzc05hbWU6InJlbGF0aXZlIHctZnVsbCIsc3R5bGU6e3dpZHRoOmBtaW4oMTAwJSwgJHtPfXB4LCAke019ZHZoKWAsbWF4V2lkdGg6Tyxhc3BlY3RSYXRpbzpDfSxjaGlsZHJlbjp6P1god1ose25hbWU6ei5uYW1lLGZhbGxiYWNrOmt9KTpWP1goImRpdiIse2NsYXNzTmFtZToiYWJzb2x1dGUgaW5zZXQtMCBwb2ludGVyLWV2ZW50cy1ub25lIixjaGlsZHJlbjpYKEQzLHtjaHJvbWU6Vn0pfSk6a30pLFgoImRpdiIse2NsYXNzTmFtZToiZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIgZ2FwLTEgdGV4dC1jZW50ZXIiLGNoaWxkcmVuOltYKCJkaXYiLHtjbGFzc05hbWU6InRleHQtWzE3cHhdIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZS85MCIsY2hpbGRyZW46JH0pLFgoImRpdiIse2NsYXNzTmFtZToidGV4dC1bMTNweF0gdGV4dC13aGl0ZS80NSIsY2hpbGRyZW46W0YzKEopLCIgU2ltdWxhdG9yIl19KV19KSxxJiZYKCJkaXYiLHtjbGFzc05hbWU6InRleHQtZGFuZ2VyIHRleHQtWzEycHhdIGZvbnQtbW9ubyBtYXgtdy05MCB0ZXh0LWNlbnRlciIsY2hpbGRyZW46cX0pLFgoImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsb25DbGljazpHLGRpc2FibGVkOkssY2xhc3NOYW1lOmBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiBweC01IHB5LTIgcm91bmRlZC1mdWxsIHRleHQtWzE0cHhdIGZvbnQtbWVkaXVtIFt0cmFuc2l0aW9uOmJhY2tncm91bmRfMC4xNXNdICR7Sz8iYmctd2hpdGUvOCB0ZXh0LXdoaXRlLzU1IGN1cnNvci1kZWZhdWx0IjoiYmctd2hpdGUvMTIgdGV4dC13aGl0ZS85MCBob3ZlcjpiZy13aGl0ZS8xOCBjdXJzb3ItcG9pbnRlciJ9YCxjaGlsZHJlbjpbSyYmWCgic3BhbiIseyJhcmlhLWhpZGRlbiI6ITAsY2xhc3NOYW1lOiJzaXplLTMuNSByb3VuZGVkLWZ1bGwgYm9yZGVyLTIgYm9yZGVyLXdoaXRlLzI1IGFuaW1hdGUtW2dyaWQtc3Bpbl8wLjhzX2xpbmVhcl9pbmZpbml0ZV0iLHN0eWxlOntib3JkZXJUb3BDb2xvcjoicmdiYSgyNTUsMjU1LDI1NSwwLjkpIn19KSxLP1k6IlN0YXJ0Il19KV19KX1mdW5jdGlvbiBUWigkLEope2lmKCQ9PT0id2F0Y2giKXtpZihKLmluY2x1ZGVzKCJ1bHRyYSIpKXJldHVybiAyNTU7aWYoSi5pbmNsdWRlcygid2F0Y2gtc2UtIil8fEouaW5jbHVkZXMoImFwcGxlLXdhdGNoLXNlLSIpKXJldHVybiAyMzg7cmV0dXJuIDI1MH1pZigkPT09InZpc2lvbiIpcmV0dXJuIDM5MDtpZigkPT09ImlwYWQiKXJldHVybiAzNDA7cmV0dXJuIDI4MH1mdW5jdGlvbiBFWigkKXtpZigkPT09InZpc2lvbiIpcmV0dXJuIDM0O2lmKCQ9PT0iaXBhZCIpcmV0dXJuIDUwO2lmKCQ9PT0id2F0Y2giKXJldHVybiA1NjtyZXR1cm4gNTJ9ZnVuY3Rpb24gSVooe3R5cGU6JH0pe2xldCBKPXYxWyRdO3JldHVybiBYKFkxLHtjaGlsZHJlbjpbWCgic3ZnIix7dmlld0JveDpgMCAwICR7Si53aWR0aH0gJHtKLmhlaWdodH1gLGNsYXNzTmFtZToiYWJzb2x1dGUgaW5zZXQtMCBzaXplLWZ1bGwiLHByZXNlcnZlQXNwZWN0UmF0aW86InhNaWRZTWlkIG1lZXQiLGNoaWxkcmVuOltYKCJkZWZzIix7Y2hpbGRyZW46WCgibGluZWFyR3JhZGllbnQiLHtpZDoicGxhY2Vob2xkZXItc2NyZWVuIix4MToiMCIseTE6IjAiLHgyOiIxIix5MjoiMSIsY2hpbGRyZW46W1goInN0b3AiLHtvZmZzZXQ6IjAlIixzdG9wQ29sb3I6IiM2ZmE4ZTYifSksWCgic3RvcCIse29mZnNldDoiNTUlIixzdG9wQ29sb3I6IiM1YjkzZDYifSksWCgic3RvcCIse29mZnNldDoiMTAwJSIsc3RvcENvbG9yOiIjNTE4OGNmIn0pXX0pfSksWCgicmVjdCIse3g6Si5iZXplbFgseTpKLmJlemVsWSx3aWR0aDpKLndpZHRoLTIqSi5iZXplbFgsaGVpZ2h0OkouaGVpZ2h0LTIqSi5iZXplbFkscng6Si5pbm5lclJhZGl1cyxmaWxsOiJ1cmwoI3BsYWNlaG9sZGVyLXNjcmVlbikifSldfSksWCgiZGl2Iix7Y2xhc3NOYW1lOiJhYnNvbHV0ZSBpbnNldC0wIHBvaW50ZXItZXZlbnRzLW5vbmUiLGNoaWxkcmVuOlgoRzMse3R5cGU6JH0pfSldfSl9ZnVuY3Rpb24gd1ooe25hbWU6JCxmYWxsYmFjazpKfSl7bGV0W1EsWl09QSgibG9hZGluZyIpO3JldHVybiBYKCJkaXYiLHtjbGFzc05hbWU6ImFic29sdXRlIGluc2V0LTAgc2l6ZS1mdWxsIHBvaW50ZXItZXZlbnRzLW5vbmUiLGNoaWxkcmVuOltRIT09ImxvYWRlZCImJkosUSE9PSJlcnJvciImJlgoImltZyIse2FsdDoiIiwiYXJpYS1oaWRkZW4iOiEwLGRyYWdnYWJsZTohMSxzcmM6YlooJCksY2xhc3NOYW1lOiJhYnNvbHV0ZSBpbnNldC0wIHNpemUtZnVsbCBzZWxlY3Qtbm9uZSBvYmplY3QtY29udGFpbiIsc3R5bGU6e1dlYmtpdFVzZXJEcmFnOiJub25lIn0sb25Mb2FkOigpPT5aKCJsb2FkZWQiKSxvbkVycm9yOigpPT5aKCJlcnJvciIpfSldfSl9ZnVuY3Rpb24geVooKXtsZXR7d2lkdGg6JCxoZWlnaHQ6Sn09djEudmlzaW9uO3JldHVybiBYKCJzdmciLHt2aWV3Qm94OmAwIDAgJHskfSAke0p9YCxjbGFzc05hbWU6ImFic29sdXRlIGluc2V0LTAgc2l6ZS1mdWxsIixwcmVzZXJ2ZUFzcGVjdFJhdGlvOiJ4TWlkWU1pZCBtZWV0IixmaWxsOiJub25lIiwiYXJpYS1oaWRkZW4iOiEwLGNoaWxkcmVuOltYKCJkZWZzIix7Y2hpbGRyZW46W1goImxpbmVhckdyYWRpZW50Iix7aWQ6InZpc2lvbi1wbGFjZWhvbGRlci1zaGVsbCIseDE6IjAiLHkxOiIwIix4MjoiMCIseTI6IjEiLGNoaWxkcmVuOltYKCJzdG9wIix7b2Zmc2V0OiIwJSIsc3RvcENvbG9yOiIjMjgyODJiIn0pLFgoInN0b3AiLHtvZmZzZXQ6IjU0JSIsc3RvcENvbG9yOiIjMTIxMjE0In0pLFgoInN0b3AiLHtvZmZzZXQ6IjEwMCUiLHN0b3BDb2xvcjoiIzA3MDcwOCJ9KV19KSxYKCJsaW5lYXJHcmFkaWVudCIse2lkOiJ2aXNpb24tcGxhY2Vob2xkZXItZ2xhc3MiLHgxOiIwIix5MToiMCIseDI6IjEiLHkyOiIxIixjaGlsZHJlbjpbWCgic3RvcCIse29mZnNldDoiMCUiLHN0b3BDb2xvcjoiIzMxMzUzYSJ9KSxYKCJzdG9wIix7b2Zmc2V0OiI0OCUiLHN0b3BDb2xvcjoiIzBhMGIwZCJ9KSxYKCJzdG9wIix7b2Zmc2V0OiIxMDAlIixzdG9wQ29sb3I6IiMwMTAxMDIifSldfSksWCgicmFkaWFsR3JhZGllbnQiLHtpZDoidmlzaW9uLXBsYWNlaG9sZGVyLWxlbnMiLGN4OiI1MCUiLGN5OiI0NiUiLHI6IjYwJSIsY2hpbGRyZW46W1goInN0b3AiLHtvZmZzZXQ6IjAlIixzdG9wQ29sb3I6IiMyMDI4MzIifSksWCgic3RvcCIse29mZnNldDoiNzIlIixzdG9wQ29sb3I6IiMwOTBhMGQifSksWCgic3RvcCIse29mZnNldDoiMTAwJSIsc3RvcENvbG9yOiIjMDEwMTAyIn0pXX0pXX0pLFgoInBhdGgiLHtkOiJNOTUgMTc3Qzk1IDExOSAxNDcgODYgMjE4IDkxQzI1NyA5NCAyODYgMTExIDMyMCAxMTFDMzU0IDExMSAzODMgOTQgNDIyIDkxQzQ5MyA4NiA1NDUgMTE5IDU0NSAxNzdWMjIyQzU0NSAyNzggNTAxIDMxMSA0NDMgMzEwQzM5OCAzMDkgMzcxIDI4NiAzNDUgMjY4QzMyOSAyNTcgMzExIDI1NyAyOTUgMjY4QzI2OSAyODYgMjQyIDMwOSAxOTcgMzEwQzEzOSAzMTEgOTUgMjc4IDk1IDIyMlYxNzdaIixmaWxsOiJ1cmwoI3Zpc2lvbi1wbGFjZWhvbGRlci1zaGVsbCkiLHN0cm9rZToiIzNkM2Q0MiIsc3Ryb2tlV2lkdGg6IjcifSksWCgicGF0aCIse2Q6Ik0xMTcgMTgxQzExNyAxMzQgMTU3IDExMiAyMjAgMTE2QzI2MCAxMTkgMjg3IDEzNiAzMjAgMTM2QzM1MyAxMzYgMzgwIDExOSA0MjAgMTE2QzQ4MyAxMTIgNTIzIDEzNCA1MjMgMTgxVjIxN0M1MjMgMjYzIDQ4OCAyODcgNDM5IDI4N0MzOTkgMjg3IDM2OSAyNjQgMzQ1IDI1MEMzMjkgMjQwIDMxMSAyNDAgMjk1IDI1MEMyNzEgMjY0IDI0MSAyODcgMjAxIDI4N0MxNTIgMjg3IDExNyAyNjMgMTE3IDIxN1YxODFaIixmaWxsOiJ1cmwoI3Zpc2lvbi1wbGFjZWhvbGRlci1nbGFzcykiLHN0cm9rZToiIzE3MTgxYiIsc3Ryb2tlV2lkdGg6IjUifSksWCgicGF0aCIse2Q6Ik0xNDMgMTg2QzE0NSAxNDggMTc2IDEzNSAyMjYgMTM4QzI2NCAxNDEgMjg5IDE1NiAzMjAgMTU2QzM1MSAxNTYgMzc2IDE0MSA0MTQgMTM4QzQ2NCAxMzUgNDk1IDE0OCA0OTcgMTg2VjIxM0M0OTcgMjUwIDQ2OSAyNjYgNDMyIDI2NkMzOTQgMjY2IDM2OSAyNDYgMzQzIDIzNUMzMjggMjI5IDMxMiAyMjkgMjk3IDIzNUMyNzEgMjQ2IDI0NiAyNjYgMjA4IDI2NkMxNzEgMjY2IDE0MyAyNTAgMTQzIDIxM1YxODZaIixmaWxsOiJ1cmwoI3Zpc2lvbi1wbGFjZWhvbGRlci1sZW5zKSIsc3Ryb2tlOiIjMjYyYTJmIixzdHJva2VXaWR0aDoiMiJ9KSxYKCJwYXRoIix7ZDoiTTE1MSAxNzFDMTc5IDE1MCAyMTcgMTQ3IDI1MSAxNTRNMzg5IDE1NEM0MjMgMTQ3IDQ2MSAxNTAgNDg5IDE3MSIsc3Ryb2tlOiIjNGU1MzVhIixzdHJva2VXaWR0aDoiMyIsc3Ryb2tlTGluZWNhcDoicm91bmQifSksWCgicGF0aCIse2Q6Ik0yNzcgMjMzQzI4OSAyMjQgMzA0IDIxOSAzMjAgMjE5QzMzNiAyMTkgMzUxIDIyNCAzNjMgMjMzIixzdHJva2U6IiMzYjQwNDYiLHN0cm9rZVdpZHRoOiI0IixzdHJva2VMaW5lY2FwOiJyb3VuZCJ9KV19KX1mdW5jdGlvbiBiWigkKXtsZXQgSj1gZ3JpZC9hcGkvZGV2aWNlLXBsYWNlaG9sZGVyLWFzc2V0P25hbWU9JHtlbmNvZGVVUklDb21wb25lbnQoJCl9YDtyZXR1cm4gdHlwZW9mIHdpbmRvdz4idSI/YC8ke0p9YDpTMShKKX1mdW5jdGlvbiBwOCgkLEope3JldHVybiAkLmdldChKKT09PSIxIn1mdW5jdGlvbiBwNCgkKXtsZXQgSj0kLnN0YXJ0c1dpdGgoIj8iKT8kLnNsaWNlKDEpOiQsUT1uZXcgVVJMU2VhcmNoUGFyYW1zKEopLFo9cDgoUSwiZW1iZWQiKTtyZXR1cm57aW5pdGlhbDpafHxwOChRLCJmdWxsc2NyZWVuIiksZW1iZWRMb2NrZWQ6Wn19ZnVuY3Rpb24geFooJCxKKXtsZXQgUT1uZXcgVVJMKCQpO2lmKHA4KFEuc2VhcmNoUGFyYW1zLCJlbWJlZCIpKXJldHVybiBRLnRvU3RyaW5nKCk7aWYoSilRLnNlYXJjaFBhcmFtcy5zZXQoImZ1bGxzY3JlZW4iLCIxIik7ZWxzZSBRLnNlYXJjaFBhcmFtcy5kZWxldGUoImZ1bGxzY3JlZW4iKTtyZXR1cm4gUS50b1N0cmluZygpfWZ1bmN0aW9uIHU4KCQpe3RyeXt3aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUobnVsbCwiIix4Wih3aW5kb3cubG9jYXRpb24uaHJlZiwkKSl9Y2F0Y2h7fX1mdW5jdGlvbiB1NCgkLEope2lmKCFKLnByZXNlbnRhdGlvbiYmIUouc3dhbGxvd2luZylyZXR1cm57c3dhbGxvdzohMSxleGl0OiExLHN3YWxsb3dpbmc6Si5zd2FsbG93aW5nfTtpZigkLnR5cGU9PT0ia2V5dXAiKXJldHVybntzd2FsbG93OiEwLGV4aXQ6ITEsc3dhbGxvd2luZzohMX07cmV0dXJue3N3YWxsb3c6ITAsZXhpdDohJC5yZXBlYXQmJkoucHJlc2VudGF0aW9uLHN3YWxsb3dpbmc6ITB9fXZhciBTWj0zMCxfMz00O3ZhciBJRDA9XzMrU1o7dmFyIGM0PTIwLFAzPTg7ZnVuY3Rpb24gbDQoJCxKLFEpe3JldHVybiBNYXRoLm1heChKLE1hdGgubWluKCQsUSkpfWZ1bmN0aW9uIGQ0KCQsSixRLFope2xldHtpbm5lcldpZHRoOkssaW5uZXJIZWlnaHQ6WX09d2luZG93LHE9YzQrXzM7cmV0dXJue3g6bDQoJCwwLEstcSkseTpsNChKLFAzLFktWil9fWZ1bmN0aW9uIG80KHtvbkV4aXQ6JCxjaGlsZHJlbjpKfSl7bGV0IFE9RihudWxsKSxaPUYobnVsbCksW0ssWV09QShudWxsKTtFKCgpPT57bGV0IFY9US5jdXJyZW50O2lmKCFWKXJldHVybjtsZXQgTj1WLm9mZnNldFdpZHRoO1koe3g6d2luZG93LmlubmVyV2lkdGgtTi1QMyx5OlAzfSl9LFtdKSxFKCgpPT57bGV0IFY9KCk9PntsZXQgTj1RLmN1cnJlbnQ7aWYoIU58fFouY3VycmVudClyZXR1cm47WSgoSCk9PkgmJmQ0KEgueCxILnksTi5vZmZzZXRXaWR0aCxOLm9mZnNldEhlaWdodCkpfTtyZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsViksKCk9PndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLFYpfSxbXSk7bGV0IHE9SSgoVik9PntWLnN0b3BQcm9wYWdhdGlvbigpLFYucHJldmVudERlZmF1bHQoKTtsZXQgTj1RLmN1cnJlbnQ7aWYoIU4pcmV0dXJuO1YudGFyZ2V0LnNldFBvaW50ZXJDYXB0dXJlKFYucG9pbnRlcklkKTtsZXQgSD1OLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1ouY3VycmVudD17b2Zmc2V0WDpWLmNsaWVudFgtSC5sZWZ0LG9mZnNldFk6Vi5jbGllbnRZLUgudG9wfX0sW10pLEc9SSgoVik9PntsZXQgTj1aLmN1cnJlbnQ7aWYoIU4pcmV0dXJuO1Yuc3RvcFByb3BhZ2F0aW9uKCk7bGV0IEg9US5jdXJyZW50LE89SD9ILm9mZnNldFdpZHRoOjgwLFU9SD9ILm9mZnNldEhlaWdodDozOCxDPXt4OlYuY2xpZW50WC1OLm9mZnNldFgseTpWLmNsaWVudFktTi5vZmZzZXRZfTtZKGQ0KEMueCxDLnksTyxVKSl9LFtdKSxCPUkoKCk9PntaLmN1cnJlbnQ9bnVsbH0sW10pLEw9SSgoVik9PntWLnN0b3BQcm9wYWdhdGlvbigpLEIoKX0sW0JdKSx6PUkoKCk9PntCKCl9LFtCXSk7cmV0dXJuIFgoImRpdiIse3JlZjpRLGNsYXNzTmFtZToiei01MCBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMC41IHJvdW5kZWQtWzEwcHhdIGJnLXBhbmVsLWJnIGJvcmRlciBib3JkZXItd2hpdGUvOCBiYWNrZHJvcC1ibHVyLVsxMnB4XSBbLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigxMnB4KV0iLHN0eWxlOntwb3NpdGlvbjoiZml4ZWQiLGxlZnQ6Sz8ueD8/MCx0b3A6Sz8ueT8/UDMscGFkZGluZzpfMyx2aXNpYmlsaXR5Oks/InZpc2libGUiOiJoaWRkZW4ifSxvblBvaW50ZXJNb3ZlOkcsb25Qb2ludGVyVXA6TCxvbkxvc3RQb2ludGVyQ2FwdHVyZTp6LGNoaWxkcmVuOltYKCJkaXYiLHtjbGFzc05hbWU6ImgtOSBzbTpoLVszMHB4XSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBjdXJzb3ItZ3JhYiBhY3RpdmU6Y3Vyc29yLWdyYWJiaW5nIHRleHQtWyM4ZThlOTNdIGhvdmVyOnRleHQtd2hpdGUvNzAgc2VsZWN0LW5vbmUgdG91Y2gtbm9uZSIsc3R5bGU6e3dpZHRoOmM0fSxvblBvaW50ZXJEb3duOnEsImFyaWEtbGFiZWwiOiJEcmFnIHRvIHJlcG9zaXRpb24iLHRpdGxlOiJEcmFnIHRvIHJlcG9zaXRpb24iLGNoaWxkcmVuOlgoSDUse3NpemU6MTQsc3Ryb2tlV2lkdGg6MS41fSl9KSxKLFgoeTAse29uQ2xpY2s6JCwiYXJpYS1sYWJlbCI6IkV4aXQgZnVsbCBzY3JlZW4iLHRpdGxlOiJFeGl0IGZ1bGwgc2NyZWVuIChFc2MpIixjaGlsZHJlbjpYKEE1LHtzaXplOjE4LHN0cm9rZVdpZHRoOjEuNzV9KX0pXX0pfXZhciBqWj1NSihuNCgpLDEpLHI0PTIyNTtmdW5jdGlvbiBSWigpe2xldCAkPXt9O2ZvcihsZXQgSz0wO0s8MjY7SysrKXtsZXQgWT00K0s7JFtTdHJpbmcuZnJvbUNoYXJDb2RlKDk3K0spXT17dXNhZ2U6WSxzaGlmdDohMX0sJFtTdHJpbmcuZnJvbUNoYXJDb2RlKDY1K0spXT17dXNhZ2U6WSxzaGlmdDohMH19bGV0IEo9IjEyMzQ1Njc4OTAiLFE9IiFAIyQlXiYqKCkiO2ZvcihsZXQgSz0wO0s8MTA7SysrKXtsZXQgWT0zMCtLOyRbSltLXV09e3VzYWdlOlksc2hpZnQ6ITF9LCRbUVtLXV09e3VzYWdlOlksc2hpZnQ6ITB9fWxldCBaPVtbIi0iLCJfIiw0NV0sWyI9IiwiKyIsNDZdLFsiWyIsInsiLDQ3XSxbIl0iLCJ9Iiw0OF0sWyJcXCIsInwiLDQ5XSxbIjsiLCI6Iiw1MV0sWyInIiwnIicsNTJdLFsiYCIsIn4iLDUzXSxbIiwiLCI8Iiw1NF0sWyIuIiwiPiIsNTVdLFsiLyIsIj8iLDU2XV07Zm9yKGxldFtLLFkscV1vZiBaKSRbS109e3VzYWdlOnEsc2hpZnQ6ITF9LCRbWV09e3VzYWdlOnEsc2hpZnQ6ITB9O3JldHVybiAkWyIgIl09e3VzYWdlOjQ0LHNoaWZ0OiExfSwkW2AKYF09e3VzYWdlOjQwLHNoaWZ0OiExfSwkWyJcdCJdPXt1c2FnZTo0MyxzaGlmdDohMX0sJH12YXIgdlo9UlooKTtmdW5jdGlvbiBUMygkKXtsZXQgSj1bXSxRPVtdO2ZvcihsZXQgWiBvZiAkKXtpZihaPT09IlxyIiljb250aW51ZTtsZXQgSz12WltaXTtpZighSyl7US5wdXNoKFopO2NvbnRpbnVlfWlmKEsuc2hpZnQpSi5wdXNoKHt0eXBlOiJkb3duIix1c2FnZTpyNH0pO2lmKEoucHVzaCh7dHlwZToiZG93biIsdXNhZ2U6Sy51c2FnZX0pLEoucHVzaCh7dHlwZToidXAiLHVzYWdlOksudXNhZ2V9KSxLLnNoaWZ0KUoucHVzaCh7dHlwZToidXAiLHVzYWdlOnI0fSl9cmV0dXJue2V2ZW50czpKLHNraXBwZWQ6UX19dmFyIGhaPXtLZXlBOjQsS2V5Qjo1LEtleUM6NixLZXlEOjcsS2V5RTo4LEtleUY6OSxLZXlHOjEwLEtleUg6MTEsS2V5SToxMixLZXlKOjEzLEtleUs6MTQsS2V5TDoxNSxLZXlNOjE2LEtleU46MTcsS2V5TzoxOCxLZXlQOjE5LEtleVE6MjAsS2V5UjoyMSxLZXlTOjIyLEtleVQ6MjMsS2V5VToyNCxLZXlWOjI1LEtleVc6MjYsS2V5WDoyNyxLZXlZOjI4LEtleVo6MjksRGlnaXQxOjMwLERpZ2l0MjozMSxEaWdpdDM6MzIsRGlnaXQ0OjMzLERpZ2l0NTozNCxEaWdpdDY6MzUsRGlnaXQ3OjM2LERpZ2l0ODozNyxEaWdpdDk6MzgsRGlnaXQwOjM5LEVudGVyOjQwLEVzY2FwZTo0MSxCYWNrc3BhY2U6NDIsVGFiOjQzLFNwYWNlOjQ0LE1pbnVzOjQ1LEVxdWFsOjQ2LEJyYWNrZXRMZWZ0OjQ3LEJyYWNrZXRSaWdodDo0OCxCYWNrc2xhc2g6NDksU2VtaWNvbG9uOjUxLFF1b3RlOjUyLEJhY2txdW90ZTo1MyxDb21tYTo1NCxQZXJpb2Q6NTUsU2xhc2g6NTYsQ2Fwc0xvY2s6NTcsRjE6NTgsRjI6NTksRjM6NjAsRjQ6NjEsRjU6NjIsRjY6NjMsRjc6NjQsRjg6NjUsRjk6NjYsRjEwOjY3LEYxMTo2OCxGMTI6NjksUHJpbnRTY3JlZW46NzAsU2Nyb2xsTG9jazo3MSxQYXVzZTo3MixJbnNlcnQ6NzMsSG9tZTo3NCxQYWdlVXA6NzUsRGVsZXRlOjc2LEVuZDo3NyxQYWdlRG93bjo3OCxBcnJvd1JpZ2h0Ojc5LEFycm93TGVmdDo4MCxBcnJvd0Rvd246ODEsQXJyb3dVcDo4MixOdW1Mb2NrOjgzLE51bXBhZERpdmlkZTo4NCxOdW1wYWRNdWx0aXBseTo4NSxOdW1wYWRTdWJ0cmFjdDo4NixOdW1wYWRBZGQ6ODcsTnVtcGFkRW50ZXI6ODgsTnVtcGFkMTo4OSxOdW1wYWQyOjkwLE51bXBhZDM6OTEsTnVtcGFkNDo5MixOdW1wYWQ1OjkzLE51bXBhZDY6OTQsTnVtcGFkNzo5NSxOdW1wYWQ4Ojk2LE51bXBhZDk6OTcsTnVtcGFkMDo5OCxOdW1wYWREZWNpbWFsOjk5LENvbnRyb2xMZWZ0OjIyNCxTaGlmdExlZnQ6MjI1LEFsdExlZnQ6MjI2LE1ldGFMZWZ0OjIyNyxDb250cm9sUmlnaHQ6MjI4LFNoaWZ0UmlnaHQ6MjI5LEFsdFJpZ2h0OjIzMCxNZXRhUmlnaHQ6MjMxfTtmdW5jdGlvbiBNMigkKXtyZXR1cm4gaFpbJF0/P251bGx9dmFyIGE0PU0yKCJCYWNrc3BhY2UiKSxnWj1NMigiRW50ZXIiKTtmdW5jdGlvbiBsOCgkKXtyZXR1cm5be3R5cGU6ImRvd24iLHVzYWdlOiR9LHt0eXBlOiJ1cCIsdXNhZ2U6JH1dfWZ1bmN0aW9uIGZaKCQsSil7c3dpdGNoKCQpe2Nhc2UiaW5zZXJ0VGV4dCI6Y2FzZSJpbnNlcnRGcm9tUGFzdGUiOnJldHVybiBKIT1udWxsJiZKIT09IiI/VDMoSikuZXZlbnRzOltdO2Nhc2UiaW5zZXJ0TGluZUJyZWFrIjpjYXNlImluc2VydFBhcmFncmFwaCI6cmV0dXJuIGw4KGdaKTtjYXNlImRlbGV0ZUNvbnRlbnRCYWNrd2FyZCI6Y2FzZSJkZWxldGVXb3JkQmFja3dhcmQiOnJldHVybiBsOChhNCk7ZGVmYXVsdDpyZXR1cm5bXX19ZnVuY3Rpb24gczQoJCl7c3dpdGNoKCQpe2Nhc2UiaW5zZXJ0TGluZUJyZWFrIjpjYXNlImluc2VydFBhcmFncmFwaCI6cmV0dXJuIGZaKCQsbnVsbCk7ZGVmYXVsdDpyZXR1cm5bXX19ZnVuY3Rpb24gdDQoJCxKKXtsZXQgUT1BcnJheS5mcm9tKCQpLFo9QXJyYXkuZnJvbShKKSxLPTAsWT1NYXRoLm1pbihRLmxlbmd0aCxaLmxlbmd0aCk7d2hpbGUoSzxZJiZRW0tdPT09WltLXSlLKys7bGV0IHE9US5zbGljZShLKS5qb2luKCIiKSxHPVouc2xpY2UoSykuam9pbigiIiksQj1RLmxlbmd0aC1LLVQzKHEpLnNraXBwZWQubGVuZ3RoLEw9W107Zm9yKGxldCB6PTA7ejxCO3orKylMLnB1c2goLi4ubDgoYTQpKTtyZXR1cm4gTC5wdXNoKC4uLlQzKEcpLmV2ZW50cyksTH1mdW5jdGlvbiBlNCgkLEope2lmKEoua2V5Ym9hcmRPcGVuKXJldHVybiAkPT09IkJhY2tzcGFjZSImJkouY2FwdHVyZUlucHV0RW1wdHk/TTIoJCk6bnVsbDtpZighSi5zaW1Gb2N1c2VkKXJldHVybiBudWxsO3JldHVybiBNMigkKX12YXIgJDc9e2F1dG9DYXBpdGFsaXplOiJub25lIixhdXRvQ29ycmVjdDoib24iLGF1dG9Db21wbGV0ZToib2ZmIixzcGVsbENoZWNrOiEwfTtmdW5jdGlvbiBKNyh7b3BlbjokLG9uS2V5czpKLGlucHV0UmVmOlF9KXtsZXQgWj1GKEopO1ouY3VycmVudD1KO2xldCBLPUYoJCk7Sy5jdXJyZW50PSQ7bGV0IFk9RigiIik7cmV0dXJuIEUoKCk9PntsZXQgcT1RLmN1cnJlbnQ7aWYoIXEpcmV0dXJuO2lmKCQpcS52YWx1ZT0iIixZLmN1cnJlbnQ9IiIscS5mb2N1cygpO2Vsc2UgcS5ibHVyKCl9LFskLFFdKSxFKCgpPT57bGV0IHE9US5jdXJyZW50O2lmKCFxKXJldHVybjtsZXQgRz0oVik9PntpZihWLmxlbmd0aClaLmN1cnJlbnQoVil9LEI9KFYpPT57bGV0IE49VjtpZihHKHM0KE4uaW5wdXRUeXBlKSksTi5pbnB1dFR5cGU9PT0iaW5zZXJ0TGluZUJyZWFrInx8Ti5pbnB1dFR5cGU9PT0iaW5zZXJ0UGFyYWdyYXBoIilOLnByZXZlbnREZWZhdWx0KCl9LEw9KCk9PntHKHQ0KFkuY3VycmVudCxxLnZhbHVlKSksWS5jdXJyZW50PXEudmFsdWV9LHo9KCk9PntpZighSy5jdXJyZW50KXJldHVybjtyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntpZighSy5jdXJyZW50fHxkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09cSlyZXR1cm47aWYoWjUoKSlxLmZvY3VzKCl9KX0pfTtyZXR1cm4gcS5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmVpbnB1dCIsQikscS5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsTCkscS5hZGRFdmVudExpc3RlbmVyKCJmb2N1c291dCIseiksKCk9PntxLnJlbW92ZUV2ZW50TGlzdGVuZXIoImJlZm9yZWlucHV0IixCKSxxLnJlbW92ZUV2ZW50TGlzdGVuZXIoImlucHV0IixMKSxxLnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3Vzb3V0Iix6KX19LFtRXSksWCgiaW5wdXQiLHtyZWY6USxjbGFzc05hbWU6ImZpeGVkIHRvcC0wIGxlZnQtMCB3LXB4IGgtcHggb3BhY2l0eS0wIGJvcmRlci1ub25lIHAtMCBtLTAgYmctdHJhbnNwYXJlbnQiLCJhcmlhLWhpZGRlbiI6ITAsdGFiSW5kZXg6LTEsZGVmYXVsdFZhbHVlOiIiLC4uLiQ3fSl9ZnVuY3Rpb24gZDgoe29wZW46JCxvbkNsaWNrOkp9KXtyZXR1cm4gWCh5MCx7b25DbGljazpKLCJhcmlhLWxhYmVsIjoiS2V5Ym9hcmQiLCJhcmlhLXByZXNzZWQiOiQsdGl0bGU6IktleWJvYXJkIixjaGlsZHJlbjpYKE01LHtzaXplOjE4LHN0cm9rZVdpZHRoOjEuNzV9KX0pfWZ1bmN0aW9uIFE3KCQsSj00LFE9c2V0VGltZW91dCxaPWNsZWFyVGltZW91dCl7bGV0IEs9W10sWT1udWxsLHE9KCk9PntZPW51bGw7bGV0IEc9Sy5zaGlmdCgpO2lmKEc9PT12b2lkIDApcmV0dXJuO2lmKCQoRyksSy5sZW5ndGg+MClZPVEocSxKKX07cmV0dXJue2VucXVldWUoRyl7aWYoRy5sZW5ndGg9PT0wKXJldHVybjtmb3IobGV0IEIgb2YgRylLLnB1c2goQik7aWYoWT09bnVsbClxKCl9LGRpc3Bvc2UoKXtpZihLLmxlbmd0aD0wLFkhPW51bGwpWihZKTtZPW51bGx9fX1mdW5jdGlvbiB2Mih7b3BlbjokLHdpZHRoOkosY2hpbGRyZW46USxzdHlsZTpaLHNpZGU6Sz0icmlnaHQifSl7cmV0dXJuIFgoImFzaWRlIix7ImRhdGEtcGFuZWwiOiEwLGNsYXNzTmFtZTpgZml4ZWQgei0zNSBtaW4tdy0wIG92ZXJmbG93LWhpZGRlbiBiZy1wYW5lbC1iZyB0ZXh0LXdoaXRlLzkwIGJhY2tkcm9wLWJsdXItWzE4cHhdIFtmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLHN5c3RlbS11aSxzYW5zLXNlcmlmXSBbdHJhbnNpdGlvbjp0cmFuc2Zvcm1fMC4yNXNfZWFzZSxvcGFjaXR5XzAuMnNfZWFzZV0gZmxleCBmbGV4LWNvbCAke0s9PT0ibGVmdCI/InRvcC0wIGJvdHRvbS0wIGxlZnQtMCByb3VuZGVkLW5vbmUgYm9yZGVyLTAgYm9yZGVyLXIgYm9yZGVyLXdoaXRlLzEwIHNoYWRvdy1bOHB4XzBfMzJweF9yZ2JhKDAsMCwwLDAuMzUpXSI6InRvcC0zIGJvdHRvbS0zIHJpZ2h0LTMgcm91bmRlZC1bMTRweF0gYm9yZGVyIGJvcmRlci13aGl0ZS8xMCBzaGFkb3ctWzBfMTJweF80MHB4X3JnYmEoMCwwLDAsMC41NSldIn1gLHN0eWxlOnt3aWR0aDpKLHRyYW5zZm9ybTokPyJ0cmFuc2xhdGVYKDApIjpLPT09ImxlZnQiPyJ0cmFuc2xhdGVYKC0xMDAlKSI6InRyYW5zbGF0ZVgoY2FsYygxMDAlICsgMjRweCkpIixvcGFjaXR5OiQ/MTowLHBvaW50ZXJFdmVudHM6JD8iYXV0byI6Im5vbmUiLC4uLlp9LCJhcmlhLWhpZGRlbiI6ISQsY2hpbGRyZW46UX0pfWZ1bmN0aW9uIGgyKHtjaGlsZHJlbjokLHN0eWxlOkp9KXtyZXR1cm4gWCgiaGVhZGVyIix7Y2xhc3NOYW1lOiJmbGV4IHNocmluay0wIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gZ2FwLTIuNSBweC0yLjUgcHktMS41IHBsLTMiLHN0eWxlOkosY2hpbGRyZW46JH0pfWZ1bmN0aW9uIFo3KHtjaGlsZHJlbjokfSl7cmV0dXJuIFgoInNwYW4iLHtjbGFzc05hbWU6InRleHQtWzExcHhdIGZvbnQtbWVkaXVtIHRleHQtd2hpdGUvNTUiLGNoaWxkcmVuOiR9KX1mdW5jdGlvbiBFMyh7b25DbGljazokLGFyaWFMYWJlbDpKPSJDbG9zZSBwYW5lbCIsdGl0bGU6USxpY29uU2l6ZTpaPTE2fSl7cmV0dXJuIFgoeTAse29uQ2xpY2s6JCwiYXJpYS1sYWJlbCI6Six0aXRsZTpRLGNoaWxkcmVuOlgoRDAse3NpemU6WixzdHJva2VXaWR0aDoyfSl9KX1mdW5jdGlvbiBYNygkLEope2xldFtRLFpdPUEobnVsbCk7cmV0dXJuIEUoKCk9PntpZighSnx8ISQpcmV0dXJuO2xldCBLPSExLFk9YXN5bmMoKT0+e3RyeXtsZXQgQj1hd2FpdChhd2FpdCBmZXRjaCgkLHtjYWNoZToibm8tc3RvcmUifSkpLmpzb24oKTtpZighSylaKEIpfWNhdGNoe319O1koKTtsZXQgcT1zZXRJbnRlcnZhbChZLDUwMDApO3JldHVybigpPT57Sz0hMCxjbGVhckludGVydmFsKHEpfX0sWyQsSl0pLFF9ZnVuY3Rpb24gSzcoe3JlcG9ydDokfSl7aWYoISR8fCQudG90YWxCeXRlcz09PTApcmV0dXJuIG51bGw7bGV0e2VzdGltYXRlZEFkZGl0aW9uYWw6SixhdmFpbGFibGVCeXRlczpRLHRvdGFsQnl0ZXM6WixydW5uaW5nU2ltdWxhdG9yczpLfT0kLFk9TWF0aC5tYXgoMCxNYXRoLm1pbigxLDEtUS9aKSkscT1LK0osRz1KPT09MD8iI2U2NiI6Sjw9MT8iI2U5YTEzYiI6IiMzYjMiLEI9WT4wLjk/IiNlNjYiOlk+MC43NT8iI2U5YTEzYiI6IiMzYjMiO3JldHVybiBYKCJkaXYiLHtjbGFzc05hbWU6ImlubGluZS1mbGV4IG1heC13LWZ1bGwgbWluLXctMCBmbGV4LW5vd3JhcCBpdGVtcy1jZW50ZXIgZ2FwLTEuNSBvdmVyZmxvdy1oaWRkZW4gd2hpdGVzcGFjZS1ub3dyYXAgcHgtMiBweS1bM3B4XSByb3VuZGVkLWZ1bGwgYmctWyMxMDEwMTBdIGJvcmRlciBib3JkZXItWyMyMjJdIGZvbnQtbW9ubyB0ZXh0LVsxMXB4XSB0ZXh0LXdoaXRlLzcwIGxlYWRpbmctbm9uZSIsY2hpbGRyZW46W1goInNwYW4iLHtjbGFzc05hbWU6InNpemUtMS41IHJvdW5kZWQtWzNweF0gc2hyaW5rLTAiLHN0eWxlOntiYWNrZ3JvdW5kOkd9fSksWCgic3BhbiIse2NsYXNzTmFtZToibWluLXctMCB0cnVuY2F0ZSIsY2hpbGRyZW46W1goInNwYW4iLHtjaGlsZHJlbjpbSywiLyIscSwiIHNpbXMiXX0pLFgoInNwYW4iLHtjbGFzc05hbWU6InRleHQtd2hpdGUvNDAiLGNoaWxkcmVuOiIgwrcgIn0pLFgoInNwYW4iLHtjbGFzc05hbWU6InRleHQtd2hpdGUvNTUiLGNoaWxkcmVuOltSNChRKSwiIGZyZWUiXX0pXX0pLFgoInNwYW4iLHsiYXJpYS1oaWRkZW4iOiEwLGNsYXNzTmFtZToibWwtMC41IHctNyBoLVszcHhdIHNocmluay0wIGJnLVsjMWMxYzFjXSByb3VuZGVkLVsycHhdIG92ZXJmbG93LWhpZGRlbiBpbmxpbmUtYmxvY2siLGNoaWxkcmVuOlgoInNwYW4iLHtjbGFzc05hbWU6ImJsb2NrIGgtZnVsbCB0cmFuc2l0aW9uLVt3aWR0aCxiYWNrZ3JvdW5kXSBkdXJhdGlvbi0zMDAgZWFzZS1vdXQiLHN0eWxlOnt3aWR0aDpgJHsoWSoxMDApLnRvRml4ZWQoMSl9JWAsYmFja2dyb3VuZDpCfX0pfSldfSl9ZnVuY3Rpb24gWTcoe3R5cGU6JCxzaXplOko9MjAsc2NyZWVuT246UT0hMX0pe2xldCBaPXt3aWR0aDpKLGhlaWdodDpKLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOjEuNixzdHJva2VMaW5lY2FwOiJyb3VuZCIsc3Ryb2tlTGluZWpvaW46InJvdW5kIn07c3dpdGNoKCQpe2Nhc2UiaXBhZCI6cmV0dXJuIFgoInN2ZyIsey4uLlosY2hpbGRyZW46W1EmJlgoInJlY3QiLHt4OiI1Iix5OiIzIix3aWR0aDoiMTUiLGhlaWdodDoiMTkiLHJ4OiIxLjY1IixmaWxsOiIjNDdiN2ZmIixzdHJva2U6Im5vbmUiLCJkYXRhLXRlc3RpZCI6ImRldmljZS1nbHlwaC1zY3JlZW4tb24ifSksWCgicmVjdCIse3g6IjQiLHk6IjIuNSIsd2lkdGg6IjE2IixoZWlnaHQ6IjE5IixyeDoiMi41In0pLFgoImxpbmUiLHt4MToiMTIiLHkxOiIxOC41Iix4MjoiMTIiLHkyOiIxOC41In0pXX0pO2Nhc2Uid2F0Y2giOnJldHVybiBYKCJzdmciLHsuLi5aLGNoaWxkcmVuOltYKCJyZWN0Iix7eDoiNi41Iix5OiI3Iix3aWR0aDoiMTEiLGhlaWdodDoiMTAiLHJ4OiIzIn0pLFgoInBhdGgiLHtkOiJNOC41IDdsLjYtMy4yQTEuNSAxLjUgMCAwIDEgMTAuNiAyLjVoMi44YTEuNSAxLjUgMCAwIDEgMS41IDEuM0wxNS41IDcifSksWCgicGF0aCIse2Q6Ik04LjUgMTdsLjYgMy4yYTEuNSAxLjUgMCAwIDAgMS41IDEuM2gyLjhhMS41IDEuNSAwIDAgMCAxLjUtMS4zbC42LTMuMiJ9KV19KTtjYXNlInZpc2lvbiI6cmV0dXJuIFgoInN2ZyIsey4uLlosY2hpbGRyZW46WCgicGF0aCIse2Q6Ik0zIDExYTQgNCAwIDAgMSA0LTRoMTBhNCA0IDAgMCAxIDQgNHYyLjVhMi41IDIuNSAwIDAgMS0yLjUgMi41Yy0xLjggMC0yLjUtMS4yLTMuNS0xLjgtLjktLjUtMS42LS43LTIuNS0uN3MtMS42LjItMi41LjdjLTEgLjYtMS43IDEuOC0zLjUgMS44QTIuNSAyLjUgMCAwIDEgMyAxMy41eiJ9KX0pO2RlZmF1bHQ6cmV0dXJuIFgoInN2ZyIsey4uLlosY2hpbGRyZW46W1EmJlgoInJlY3QiLHt4OiI2Iix5OiIzIix3aWR0aDoiMTEiLGhlaWdodDoiMTkiLHJ4OiIyIixmaWxsOiIjNDdiN2ZmIixzdHJva2U6Im5vbmUiLCJkYXRhLXRlc3RpZCI6ImRldmljZS1nbHlwaC1zY3JlZW4tb24ifSksWCgicmVjdCIse3g6IjYuNSIseToiMi41Iix3aWR0aDoiMTEiLGhlaWdodDoiMTkiLHJ4OiIyLjgifSksWCgibGluZSIse3gxOiIxMC41Iix5MToiNSIseDI6IjEzLjUiLHkyOiI1In0pXX0pfX1mdW5jdGlvbiBxNyh7ZGV2aWNlOiQsYWN0aXZlOkosc3RhcnRpbmc6USxzaHV0dGluZ0Rvd246WixvblNlbGVjdDpLLG9uU2h1dGRvd246WX0pe2xldCBxPSQuaGVscGVyLEc9JC5zdGF0ZT09PSJCb290ZWQiLEI9ZjAoJC5uYW1lKSxMPXY0KCQucnVudGltZSksej1xPyJTdHJlYW1pbmciOlE/Rz8iU3RhcnRpbmfigKYiOiJCb290aW5n4oCmIjpaPyJTaHV0dGluZyBkb3du4oCmIjpHPyJCb290ZWQiOm51bGwsVj1xPyIjMzRkMzk5IjpHPyIjZTlhMTNiIjpudWxsLE49cXx8RyxIPXE/Sj8iYmctWyMyNjM2NGNdIjoiYmctWyMyMDJiM2FdIjpKPyJiZy13aGl0ZS8xNSI6ImJnLXdoaXRlLzYiLE89cT8idGV4dC1bI2QyZTdmZl0iOko/InRleHQtd2hpdGUvOTAiOiJ0ZXh0LXdoaXRlLzU1IjtyZXR1cm4gWCgiZGl2Iix7cm9sZToiYnV0dG9uIix0YWJJbmRleDowLCJhcmlhLXByZXNzZWQiOkosb25DbGljazpLLG9uS2V5RG93bjooVSk9PntpZihVLmtleT09PSJFbnRlciJ8fFUua2V5PT09IiAiKVUucHJldmVudERlZmF1bHQoKSxLKCl9LGNsYXNzTmFtZTpgZ3JvdXAgcmVsYXRpdmUgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIuNSBweC0yIHB5LTEuNSByb3VuZGVkLWxnIGN1cnNvci1wb2ludGVyIHNlbGVjdC1ub25lIFt0cmFuc2l0aW9uOmJhY2tncm91bmRfMC4xMnNdICR7Sj8iYmctd2hpdGUvMTAgdGV4dC13aGl0ZSI6InRleHQtd2hpdGUvOTAgaG92ZXI6Ymctd2hpdGUvOCJ9YCxjaGlsZHJlbjpbWCgiZGl2Iix7Y2xhc3NOYW1lOmByZWxhdGl2ZSBzaHJpbmstMCBncmlkIHBsYWNlLWl0ZW1zLWNlbnRlciBzaXplLTkgcm91bmRlZC1bOXB4XSBvdmVyZmxvdy1oaWRkZW4gJHtIfWAsY2hpbGRyZW46W1goInNwYW4iLHtjbGFzc05hbWU6TyxjaGlsZHJlbjpYKFk3LHt0eXBlOkIsc2NyZWVuT246Qm9vbGVhbihxKX0pfSksViYmIXEmJlgoInNwYW4iLHtjbGFzc05hbWU6ImFic29sdXRlIGJvdHRvbS0wLjUgcmlnaHQtMC41IHNpemUtMS41IHJvdW5kZWQtZnVsbCByaW5nLTIgcmluZy1bIzFjMWMxZV0iLHN0eWxlOntiYWNrZ3JvdW5kOlZ9fSldfSksWCgiZGl2Iix7Y2xhc3NOYW1lOiJtaW4tdy0wIGZsZXgtMSIsY2hpbGRyZW46W1goImRpdiIse2NsYXNzTmFtZToidHJ1bmNhdGUgdGV4dC1bMTNweF0gZm9udC1zZW1pYm9sZCBsZWFkaW5nLXRpZ2h0IixjaGlsZHJlbjokLm5hbWV9KSx6JiZYKCJkaXYiLHtjbGFzc05hbWU6YHRydW5jYXRlIHRleHQtWzExcHhdIGxlYWRpbmctdGlnaHQgJHtxPyJ0ZXh0LVsjMzRkMzk5XSI6Sj8idGV4dC13aGl0ZS83NSI6InRleHQtd2hpdGUvNDUifWAsY2hpbGRyZW46en0pXX0pLFgoImRpdiIseyJkYXRhLXRlc3RpZCI6ImRldmljZS1yb3ctdHJhaWxpbmctc2xvdCIsY2xhc3NOYW1lOiJyZWxhdGl2ZSBzaHJpbmstMCB3LTggaC02IGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktZW5kIixjaGlsZHJlbjpbWCgic3BhbiIse2NsYXNzTmFtZTpgYWJzb2x1dGUgcmlnaHQtMCB0ZXh0LVsxMXB4XSBmb250LW1vbm8gdGFidWxhci1udW1zIFt0cmFuc2l0aW9uOm9wYWNpdHlfMC4xMnNdICR7Sj8idGV4dC13aGl0ZS84NSI6InRleHQtd2hpdGUvNDAifSAke04/Imdyb3VwLWhvdmVyOm9wYWNpdHktMCBncm91cC1mb2N1cy13aXRoaW46b3BhY2l0eS0wIjoiIn1gLGNoaWxkcmVuOkx9KSxOJiZYKCJidXR0b24iLHt0eXBlOiJidXR0b24iLHRpdGxlOlo/IlNodXR0aW5nIGRvd27igKYiOiJTaHV0IGRvd24gc2ltdWxhdG9yIiwiYXJpYS1sYWJlbCI6IlNodXQgZG93biBzaW11bGF0b3IiLG9uQ2xpY2s6KFUpPT57VS5wcmV2ZW50RGVmYXVsdCgpLFUuc3RvcFByb3BhZ2F0aW9uKCksWSgpfSxkaXNhYmxlZDpaLGNsYXNzTmFtZTpgYWJzb2x1dGUgcmlnaHQtMCB0b3AtMS8yIC10cmFuc2xhdGUteS0xLzIgZ3JpZCBwbGFjZS1pdGVtcy1jZW50ZXIgc2l6ZS01IHJvdW5kZWQtbWQgb3BhY2l0eS0wIGdyb3VwLWhvdmVyOm9wYWNpdHktMTAwIGZvY3VzLXZpc2libGU6b3BhY2l0eS0xMDAgW3RyYW5zaXRpb246b3BhY2l0eV8wLjEycyxiYWNrZ3JvdW5kXzAuMTJzLGNvbG9yXzAuMTJzXSAke0o/InRleHQtd2hpdGUvODAgaG92ZXI6Ymctd2hpdGUvMjAiOiJ0ZXh0LXdoaXRlLzcwIGhvdmVyOmJnLXdoaXRlLzEyIGhvdmVyOnRleHQtd2hpdGUifWAsY2hpbGRyZW46WChEMCx7c2l6ZToxMyxzdHJva2VXaWR0aDoyLjJ9KX0pXX0pXX0pfXZhciBnMj0idmFyKC0tc2VydmUtc2ltLXBhbmVsLWJnKSIsYzg9InZhcigtLXNlcnZlLXNpbS1wYW5lbC1iZy10cmFuc3BhcmVudCkiO3ZhciBtWj0xMjtmdW5jdGlvbiBHNyh7b3BlbjokLG9uQ2xvc2U6Six3aWR0aDpRLHNpZGU6Wj0icmlnaHQiLGRldmljZXM6Syx0b3RhbDpZPTAsaGFzTW9yZTpxPSExLG9uTG9hZE1vcmU6RyxvbkxvYWRBbGw6QixvblJlc2V0UGFnZTpMLHNlbGVjdGVkVWRpZDp6LG9uU2VsZWN0OlYsc3RhcnRpbmc6TixzaHV0dGluZ0Rvd246SCxvblNodXRkb3duOk99KXtsZXQgQz0odHlwZW9mIHdpbmRvdz4idSI/dm9pZCAwOndpbmRvdy5fX1NJTV9QUkVWSUVXX18pPy5ncmlkTWVtb3J5RW5kcG9pbnQ/Pyh0eXBlb2Ygd2luZG93PiJ1Ij92b2lkIDA6UzEoImdyaWQvYXBpL21lbW9yeSIpKSxNPVg3KEMsJCksW2ssd109QSgiIiksVD1JMSgoKT0+e2xldCBqPWsudHJpbSgpLnRvTG93ZXJDYXNlKCk7aWYoIWp8fCFLKXJldHVybiBLO3JldHVybiBLLmZpbHRlcigodSk9PnUubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGopfHxGMyh1LnJ1bnRpbWUpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoaikpfSxbSyxrXSksUz1GKCExKTtFKCgpPT57bGV0IGo9ISFrLnRyaW0oKTtpZihqJiZxKUI/LigpO2Vsc2UgaWYoIWomJlMuY3VycmVudClMPy4oKTtTLmN1cnJlbnQ9an0sW2sscSxCLExdKTtsZXQgUD1GKG51bGwpO3JldHVybiBYKHYyLHtvcGVuOiQsd2lkdGg6USxzaWRlOlosc3R5bGU6e2JhY2tncm91bmRDb2xvcjpnMn0sY2hpbGRyZW46W1goaDIse3N0eWxlOntqdXN0aWZ5Q29udGVudDoiZmxleC1zdGFydCIscGFkZGluZ0xlZnQ6MTYscGFkZGluZ1RvcDoxNixnYXA6NH0sY2hpbGRyZW46W1goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsb25DbGljazpKLGNsYXNzTmFtZToiZmxleCBoLVszMHB4XSB3LVszMHB4XSBzaHJpbmstMCBjdXJzb3ItcG9pbnRlciBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1tZCBib3JkZXItbm9uZSBiZy10cmFuc3BhcmVudCB0ZXh0LVsjOGU4ZTkzXSBbdHJhbnNpdGlvbjpiYWNrZ3JvdW5kXzAuMTVzX2Vhc2UsY29sb3JfMC4xNXNfZWFzZV0gaG92ZXI6Ymctd2hpdGUvOCBob3Zlcjp0ZXh0LXdoaXRlIiwiYXJpYS1sYWJlbCI6IkNsb3NlIGRldmljZXMgc2lkZWJhciIsImFyaWEtcHJlc3NlZCI6ITAsdGl0bGU6IkRldmljZXMiLGNoaWxkcmVuOlgobTAse3NpemU6MTgsc3Ryb2tlV2lkdGg6MS43NX0pfSksWChBMyx7fSldfSksWCgiZGl2Iix7Y2xhc3NOYW1lOiJweC00IHBiLTIgcHQtMC41IHNocmluay0wIixjaGlsZHJlbjpYKCJsYWJlbCIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgcHgtMi41IGgtOCByb3VuZGVkLWxnIGJnLXdoaXRlLzYgZm9jdXMtd2l0aGluOmJnLXdoaXRlLzEwIFt0cmFuc2l0aW9uOmJhY2tncm91bmRfMC4xMnNdIixjaGlsZHJlbjpbWChXNSx7c2l6ZToxNCxzdHJva2VXaWR0aDoyLGNsYXNzTmFtZToidGV4dC13aGl0ZS80MCBzaHJpbmstMCJ9KSxYKCJpbnB1dCIse3ZhbHVlOmssb25DaGFuZ2U6KGopPT53KGoudGFyZ2V0LnZhbHVlKSxwbGFjZWhvbGRlcjoiU2VhcmNoIixjbGFzc05hbWU6Im1pbi13LTAgZmxleC0xIGJnLXRyYW5zcGFyZW50IGJvcmRlci1ub25lIG91dGxpbmUtbm9uZSB0ZXh0LVsxM3B4XSB0ZXh0LXdoaXRlLzkwIHBsYWNlaG9sZGVyOnRleHQtd2hpdGUvNDAifSksayYmWCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIiwiYXJpYS1sYWJlbCI6IkNsZWFyIHNlYXJjaCIsb25DbGljazooKT0+dygiIiksY2xhc3NOYW1lOiJzaHJpbmstMCBncmlkIHBsYWNlLWl0ZW1zLWNlbnRlciBzaXplLTQgcm91bmRlZC1mdWxsIGJnLXdoaXRlLzE1IHRleHQtd2hpdGUvNzAgaG92ZXI6Ymctd2hpdGUvMjUiLGNoaWxkcmVuOlgoRDAse3NpemU6OSxzdHJva2VXaWR0aDozfSl9KV19KX0pLFgoImRpdiIse2NsYXNzTmFtZToicmVsYXRpdmUgZmxleC0xIG1pbi1oLTAiLGNoaWxkcmVuOltYKCJkaXYiLHtyZWY6UCxvblNjcm9sbDooKT0+e2lmKGsudHJpbSgpfHwhcXx8IUcpcmV0dXJuO2xldCBqPVAuY3VycmVudDtpZighailyZXR1cm47aWYoai5zY3JvbGxUb3Arai5jbGllbnRIZWlnaHQ+PWouc2Nyb2xsSGVpZ2h0LTI0MClHKCl9LGNsYXNzTmFtZToiaC1mdWxsIG1pbi1oLTAgb3ZlcmZsb3cteS1hdXRvIHB4LTQgcHktMiBbc2Nyb2xsYmFyLXdpZHRoOnRoaW5dIixjaGlsZHJlbjpUPT09bnVsbD9YKHBaLHt9KTpULmxlbmd0aD09PTA/WCgiZGl2Iix7Y2xhc3NOYW1lOiJweC0yIHB5LTYgdGV4dC13aGl0ZS80MCB0ZXh0LVsxMnB4XSB0ZXh0LWNlbnRlciIsY2hpbGRyZW46az8iTm8gbWF0Y2hpbmcgc2ltdWxhdG9ycy4iOiJObyBpT1Mgc2ltdWxhdG9ycyBhdmFpbGFibGUuIn0pOlgoWTEse2NoaWxkcmVuOltYKCJkaXYiLHtjbGFzc05hbWU6InB0LTEgcGItMSB0ZXh0LVsxMXB4XSBmb250LXNlbWlib2xkIHRleHQtd2hpdGUvNDAgdXBwZXJjYXNlIHRyYWNraW5nLXdpZGUiLGNoaWxkcmVuOiJBdmFpbGFibGUifSksWCgiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGZsZXgtY29sIGdhcC0wLjUgcGItMSIsY2hpbGRyZW46VC5tYXAoKGopPT5YKHE3LHtkZXZpY2U6aixhY3RpdmU6ai5kZXZpY2U9PT16LHN0YXJ0aW5nOiEhTltqLmRldmljZV0sc2h1dHRpbmdEb3duOiEhSFtqLmRldmljZV0sb25TZWxlY3Q6KCk9PlYoai5kZXZpY2UpLG9uU2h1dGRvd246KCk9Pk8oai5kZXZpY2UpfSxqLmRldmljZSkpfSksIWsmJnEmJlgoImRpdiIse2NsYXNzTmFtZToicHgtMiBweS0yIHRleHQtWzExcHhdIHRleHQtd2hpdGUvMzUgdGV4dC1jZW50ZXIiLGNoaWxkcmVuOks/YCR7Sy5sZW5ndGh9IG9mICR7WX1gOm51bGx9KV19KX0pLFgoImRpdiIseyJkYXRhLXRlc3RpZCI6ImRldmljZS1saXN0LXRvcC1mYWRlIixjbGFzc05hbWU6ImFic29sdXRlIHRvcC0wIGxlZnQtMCByaWdodC0wIGgtWzE2cHhdIHBvaW50ZXItZXZlbnRzLW5vbmUiLHN0eWxlOntiYWNrZ3JvdW5kOmBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAke2cyfSAwJSwgJHtjOH0gMTAwJSlgfX0pLFgoImRpdiIseyJkYXRhLXRlc3RpZCI6ImRldmljZS1saXN0LWJvdHRvbS1mYWRlIixjbGFzc05hbWU6ImFic29sdXRlIGJvdHRvbS0wIGxlZnQtMCByaWdodC0wIGgtWzE2cHhdIHBvaW50ZXItZXZlbnRzLW5vbmUiLHN0eWxlOntiYWNrZ3JvdW5kOmBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAke2cyfSAwJSwgJHtjOH0gMTAwJSlgfX0pXX0pLFgobFose3JlcG9ydDpNfSldfSl9ZnVuY3Rpb24gcFooKXtyZXR1cm4gWChZMSx7Y2hpbGRyZW46W1goImRpdiIse2NsYXNzTmFtZToicHgtMiBwdC0xIHBiLTEgdGV4dC1bMTFweF0gZm9udC1zZW1pYm9sZCB0ZXh0LXdoaXRlLzQwIHVwcGVyY2FzZSB0cmFja2luZy13aWRlIixjaGlsZHJlbjoiQXZhaWxhYmxlIn0pLFgoImRpdiIseyJkYXRhLXRlc3RpZCI6ImRldmljZS1saXN0LXNrZWxldG9uIixjbGFzc05hbWU6ImZsZXggZmxleC1jb2wgZ2FwLTAuNSBwYi0xIiwiYXJpYS1sYWJlbCI6IkxvYWRpbmcgc2ltdWxhdG9ycyIsImFyaWEtYnVzeSI6InRydWUiLGNoaWxkcmVuOkFycmF5LmZyb20oe2xlbmd0aDptWn0sKCQsSik9PlgodVose2luZGV4Okp9LEopKX0pXX0pfWZ1bmN0aW9uIHVaKHtpbmRleDokfSl7bGV0IEo9WyJ3LVs2MiVdIiwidy1bNzQlXSIsInctWzU4JV0iLCJ3LVs3MCVdIl1bJCU0XSxRPVsidy1bNDIlXSIsInctWzM2JV0iLCJ3LVs0OCVdIiwidy1bMzIlXSJdWyQlNF0sWj1bInctNyIsInctNiIsInctOCJdWyQlM107cmV0dXJuIFgoImRpdiIseyJkYXRhLXRlc3RpZCI6ImRldmljZS1yb3ctc2tlbGV0b24iLGNsYXNzTmFtZToiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIuNSBweC0yIHB5LTEuNSByb3VuZGVkLWxnIHNlbGVjdC1ub25lIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIixjaGlsZHJlbjpbWCgiZGl2Iix7Y2xhc3NOYW1lOiJyZWxhdGl2ZSBzaHJpbmstMCBncmlkIHBsYWNlLWl0ZW1zLWNlbnRlciBzaXplLTkgcm91bmRlZC1bOXB4XSBvdmVyZmxvdy1oaWRkZW4gYmctd2hpdGUvNiIsY2hpbGRyZW46WCgic3BhbiIse2NsYXNzTmFtZToic2l6ZS00IHJvdW5kZWQtWzRweF0gYmctd2hpdGUvWzAuMTJdIn0pfSksWCgiZGl2Iix7Y2xhc3NOYW1lOiJtaW4tdy0wIGZsZXgtMSBmbGV4IGZsZXgtY29sIGdhcC0xLjUiLGNoaWxkcmVuOltYKCJzcGFuIix7Y2xhc3NOYW1lOmBoLTMgcm91bmRlZC1mdWxsIGJnLXdoaXRlL1swLjEyXSAke0p9YH0pLFgoInNwYW4iLHtjbGFzc05hbWU6YGgtMi41IHJvdW5kZWQtZnVsbCBiZy13aGl0ZS9bMC4wOF0gJHtRfWB9KV19KSxYKCJzcGFuIix7Y2xhc3NOYW1lOmBzaHJpbmstMCBoLTIuNSByb3VuZGVkLWZ1bGwgYmctd2hpdGUvWzAuMDhdICR7Wn1gfSldfSl9ZnVuY3Rpb24gbFooe3JlcG9ydDokfSl7aWYoISR8fCQudG90YWxCeXRlczw9MClyZXR1cm4gbnVsbDtyZXR1cm4gWCgiZGl2Iix7Y2xhc3NOYW1lOiJzaHJpbmstMCBtaW4tdy0wIG92ZXJmbG93LWhpZGRlbiBweC0zIHB5LTIgZmxleCBqdXN0aWZ5LWNlbnRlciIsY2hpbGRyZW46WChLNyx7cmVwb3J0OiR9KX0pfWZ1bmN0aW9uIEkzKHtwYW5lbFdpZHRoOiQsdmlzaWJsZTpKLG9uUG9pbnRlckRvd246USxhcmlhTGFiZWw6WixzaWRlOks9InJpZ2h0In0pe2xldFtZLHFdPUEoITEpLFtHLEJdPUEoITEpLEw9WXx8Ryx6PShLPT09ImxlZnQiPzA6MTIpKyQtOTtyZXR1cm4gWCgiZGl2Iix7cm9sZToic2VwYXJhdG9yIiwiYXJpYS1vcmllbnRhdGlvbiI6InZlcnRpY2FsIiwiYXJpYS1sYWJlbCI6WiwiYXJpYS1oaWRkZW4iOiFKLG9uUG9pbnRlckRvd246KE4pPT57QighMCksUShOKX0sb25Qb2ludGVyVXA6KCk9PkIoITEpLG9uUG9pbnRlckNhbmNlbDooKT0+QighMSksb25Qb2ludGVyRW50ZXI6KCk9PnEoITApLG9uUG9pbnRlckxlYXZlOigpPT5xKCExKSxjbGFzc05hbWU6YGZpeGVkICR7Sz09PSJsZWZ0Ij8idG9wLTAgYm90dG9tLTAiOiJ0b3AtMyBib3R0b20tMyJ9IHctNCB6LTM2IGN1cnNvci1jb2wtcmVzaXplIHRvdWNoLW5vbmUgdHJhbnNpdGlvbi1vcGFjaXR5IGR1cmF0aW9uLTIwMCAke0o/Im9wYWNpdHktMTAwIHBvaW50ZXItZXZlbnRzLWF1dG8iOiJvcGFjaXR5LTAgcG9pbnRlci1ldmVudHMtbm9uZSJ9YCxzdHlsZTpLPT09ImxlZnQiP3tsZWZ0Onp9OntyaWdodDp6fSxjaGlsZHJlbjpbWCgiZGl2Iix7Y2xhc3NOYW1lOmBhYnNvbHV0ZSB0b3AtMCBib3R0b20tMCBsZWZ0LTEvMiB3LXB4IHBvaW50ZXItZXZlbnRzLW5vbmUgdHJhbnNpdGlvbi1vcGFjaXR5IGR1cmF0aW9uLTE1MCAke0w/Im9wYWNpdHktMTAwIjoib3BhY2l0eS0wIn1gLHN0eWxlOnt0cmFuc2Zvcm06InRyYW5zbGF0ZVgoLTAuNXB4KSIsYmFja2dyb3VuZDoibGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNTUsMjU1LDI1NSwwKSAwJSwgcmdiYSgyNTUsMjU1LDI1NSwwLjI4KSAzMCUsIHJnYmEoMjU1LDI1NSwyNTUsMC4yOCkgNzAlLCByZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpIn19KSxYKCJkaXYiLHtjbGFzc05hbWU6YGFic29sdXRlIHRvcC0xLzIgbGVmdC0xLzIgdy0xIGgtNyByb3VuZGVkLXhzIC10cmFuc2xhdGUteC0xLzIgLXRyYW5zbGF0ZS15LTEvMiB6LTEgcG9pbnRlci1ldmVudHMtbm9uZSBbdHJhbnNpdGlvbjpvcGFjaXR5XzAuMTVzX2Vhc2UsYmFja2dyb3VuZF8wLjE1c19lYXNlXSAke0w/Im9wYWNpdHktMTAwIjoib3BhY2l0eS0wIn0gJHtHPyJiZy1bIzlhOWE5ZV0iOiJiZy1bIzZlNmU3Ml0ifWB9KV19KX1mdW5jdGlvbiBWNygpe2xldFskLEpdPUEoKCk9PnR5cGVvZiB3aW5kb3c8InUiJiZ3aW5kb3cubWF0Y2hNZWRpYT8uKCIocHJlZmVycy1jb250cmFzdDogbW9yZSkiKS5tYXRjaGVzPT09ITApO3JldHVybiBFKCgpPT57aWYodHlwZW9mIHdpbmRvdz4idSJ8fCF3aW5kb3cubWF0Y2hNZWRpYSlyZXR1cm47bGV0IFE9d2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLWNvbnRyYXN0OiBtb3JlKSIpLFo9KCk9PkooUS5tYXRjaGVzKTtyZXR1cm4gWigpLFEuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixaKSwoKT0+US5yZW1vdmVFdmVudExpc3RlbmVyKCJjaGFuZ2UiLFopfSxbXSksJH1mdW5jdGlvbiB3Mygpe2xldFskLEpdPUEoKCk9PnR5cGVvZiB3aW5kb3c8InUiJiZ3aW5kb3cubWF0Y2hNZWRpYT8uKCIocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSIpLm1hdGNoZXM9PT0hMCk7cmV0dXJuIEUoKCk9PntpZih0eXBlb2Ygd2luZG93PiJ1Inx8IXdpbmRvdy5tYXRjaE1lZGlhKXJldHVybjtsZXQgUT13aW5kb3cubWF0Y2hNZWRpYSgiKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkiKSxaPSgpPT5KKFEubWF0Y2hlcyk7cmV0dXJuIFooKSxRLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsWiksKCk9PlEucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixaKX0sW10pLCR9dmFyIEI3PSJkcm9wLXNoYWRvdygwIDAuNXB4IDFweCByZ2JhKDAsMCwwLDAuMSkpIGRyb3Atc2hhZG93KDAgMnB4IDVweCByZ2JhKDAsMCwwLDAuMTMpKSI7ZnVuY3Rpb24gZFooe2FyYzokLHBoYXNlOkoscmVkdWNlZE1vdGlvbjpRLGhpZ2hDb250cmFzdDpaLGZvY3VzVmlzaWJsZTpLfSl7bGV0IFk9SiE9PSJpZGxlIixxPVo/MS4xMjoxLEc9UT8xOnU2W0pdLEI9ZDZbSl0qcSxMPVo/MTpjNltKXSx6PVk/ZjY6bTYsVj1ZP2g2OlozLE49WSYmbzYoKT9nNjpWLEg9UT8ibm9uZSI6YHRyYW5zZm9ybSAke3p9ICR7Tn1gLE89UT8ibm9uZSI6YHN0cm9rZSAke3p9ICR7Vn0sIHN0cm9rZS13aWR0aCAke3p9ICR7Vn1gLFU9JC52aWV3Qm94U2l6ZSxDPSQuZCxNPXt0cmFuc2Zvcm06YHRyYW5zbGF0ZTNkKDAsMCwwKSBzY2FsZSgke0d9KWAsdHJhbnNmb3JtT3JpZ2luOiIxMDAlIDEwMCUiLHRyYW5zaXRpb246SCx3aWxsQ2hhbmdlOlE/dm9pZCAwOiJ0cmFuc2Zvcm0iLGJhY2tmYWNlVmlzaWJpbGl0eToiaGlkZGVuIixXZWJraXRCYWNrZmFjZVZpc2liaWxpdHk6ImhpZGRlbiJ9O3JldHVybiBYKCJzdmciLHt3aWR0aDpVLGhlaWdodDpVLHZpZXdCb3g6YDAgMCAke1V9ICR7VX1gLGZpbGw6Im5vbmUiLHhtbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsc2hhcGVSZW5kZXJpbmc6Imdlb21ldHJpY1ByZWNpc2lvbiIsc3R5bGU6e2Rpc3BsYXk6ImJsb2NrIixvdmVyZmxvdzoidmlzaWJsZSIsY3Vyc29yOiJpbmhlcml0Iix0b3VjaEFjdGlvbjoibm9uZSIscG9pbnRlckV2ZW50czoibm9uZSJ9LGNoaWxkcmVuOltYKCJnIix7ImFyaWEtaGlkZGVuIjoidHJ1ZSIsc3R5bGU6e3BvaW50ZXJFdmVudHM6Im5vbmUifSxjaGlsZHJlbjpbWCgicGF0aCIse2Q6QyxmaWxsOiJub25lIixzdHJva2U6InJnYmEoMTAsIDEzMiwgMjU1LCAwLjk1KSIsc3Ryb2tlV2lkdGg6KHA2KjIrNikqcSxzdHJva2VMaW5lY2FwOiJyb3VuZCIsdmVjdG9yRWZmZWN0OiJub24tc2NhbGluZy1zdHJva2UiLHN0eWxlOntvcGFjaXR5Oks/MC45NTowLHRyYW5zaXRpb246UT8ib3BhY2l0eSA4MG1zIGxpbmVhciI6YG9wYWNpdHkgMjAwbXMgJHtaM31gLGZpbHRlcjoiZHJvcC1zaGFkb3coMCAwIDJweCByZ2JhKDEwLDEzMiwyNTUsMC41NSkpIGRyb3Atc2hhZG93KDAgMCA0cHggcmdiYSgxMCwxMzIsMjU1LDAuMzIpKSJ9fSksWCgicGF0aCIse2Q6QyxmaWxsOiJub25lIixzdHJva2U6InJnYmEoMjU1LDI1NSwyNTUsMC45NSkiLHN0cm9rZVdpZHRoOjEuNSpxLHN0cm9rZUxpbmVjYXA6InJvdW5kIix2ZWN0b3JFZmZlY3Q6Im5vbi1zY2FsaW5nLXN0cm9rZSIsc3R5bGU6e29wYWNpdHk6Sz8wLjc6MCx0cmFuc2l0aW9uOlE/Im9wYWNpdHkgODBtcyBsaW5lYXIiOmBvcGFjaXR5IDIwMG1zICR7WjN9YH19KV19KSxYKCJnIix7ImFyaWEtaGlkZGVuIjoidHJ1ZSIsc3R5bGU6TSxjaGlsZHJlbjpYKCJnIix7c3R5bGU6e3BvaW50ZXJFdmVudHM6Im5vbmUifSxjaGlsZHJlbjpbWCgicGF0aCIse2Q6QyxzdHJva2U6IiMzNDM2M2IiLHN0cm9rZVdpZHRoOkIrMi4yKnEsc3Ryb2tlTGluZWNhcDoicm91bmQiLHZlY3RvckVmZmVjdDoibm9uLXNjYWxpbmctc3Ryb2tlIixzdHlsZTp7b3BhY2l0eTpNYXRoLm1pbigxLEwrMC4wOCksdHJhbnNpdGlvbjpgJHtPfSwgb3BhY2l0eSAke3p9ICR7Vn1gLGZpbHRlcjpCN319KSxYKCJwYXRoIix7ZDpDLHN0cm9rZTpsNltKXSxzdHJva2VXaWR0aDpCLHN0cm9rZUxpbmVjYXA6InJvdW5kIix2ZWN0b3JFZmZlY3Q6Im5vbi1zY2FsaW5nLXN0cm9rZSIsc3R5bGU6e29wYWNpdHk6TCx0cmFuc2l0aW9uOmAke099LCBvcGFjaXR5ICR7en0gJHtWfWAsZmlsdGVyOkI3fX0pXX0pfSldfSl9ZnVuY3Rpb24gTDcoe3NpbXVsYXRvclJlc2l6ZTokLGRldmljZVR5cGU6SixzdHJlYW1Db25maWc6USxjb250YWluZXJXaWR0aDpaLGNvbnRhaW5lckhlaWdodDpLfSl7bGV0IFk9dzMoKSxxPVY3KCksW0csQl09QSghMSksTD1JMSgoKT0+STgoe3R5cGU6Sixjb25maWc6UT8/bnVsbCxjb250YWluZXJXaWR0aDpaLGNvbnRhaW5lckhlaWdodDpLfSksW0osUSxaLEtdKSx6PSQuaXNSZXNpemluZ3x8JC5pc0luZXJ0aWE/ImRyYWciOiQuaGFuZGxlSG92ZXJlZD8iaG92ZXIiOiJpZGxlIjtyZXR1cm4gWCgiZGl2Iix7cm9sZToic2VwYXJhdG9yIiwiYXJpYS1sYWJlbCI6IlJlc2l6ZSBzaW11bGF0b3Igd2lkdGguIERyYWcgdGhlIGNvcm5lciBvciB1c2UgTGVmdCBhbmQgUmlnaHQgQXJyb3cga2V5czsgaG9sZCBTaGlmdCBmb3IgbGFyZ2VyIHN0ZXBzLiIsImFyaWEtb3JpZW50YXRpb24iOiJ2ZXJ0aWNhbCIsImFyaWEtdmFsdWVtaW4iOk1hdGgucm91bmQoJC5taW5XaWR0aCksImFyaWEtdmFsdWVtYXgiOk1hdGgucm91bmQoJC5tYXhXaWR0aCksImFyaWEtdmFsdWVub3ciOk1hdGgucm91bmQoJC5jb21taXR0ZWRXaWR0aCksdGFiSW5kZXg6MCxyZWY6JC5oYW5kbGVSZWYsb25LZXlEb3duOiQub25LZXlEb3duLG9uUG9pbnRlckRvd246JC5vblBvaW50ZXJEb3duLG9uUG9pbnRlck1vdmU6JC5vblBvaW50ZXJNb3ZlLG9uUG9pbnRlclVwOiQub25Qb2ludGVyRW5kLG9uUG9pbnRlckNhbmNlbDokLm9uUG9pbnRlckVuZCxvbkxvc3RQb2ludGVyQ2FwdHVyZTokLm9uUG9pbnRlckVuZCxvblBvaW50ZXJFbnRlcjooKT0+JC5zZXRIYW5kbGVIb3ZlcmVkKCEwKSxvblBvaW50ZXJMZWF2ZTooKT0+JC5zZXRIYW5kbGVIb3ZlcmVkKCExKSxvbkZvY3VzOihWKT0+e0IoVi5jdXJyZW50VGFyZ2V0Lm1hdGNoZXM/LigiOmZvY3VzLXZpc2libGUiKT8/ITEpfSxvbkJsdXI6KCk9PkIoITEpLHN0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLHJpZ2h0Oi0xNCxib3R0b206LTE0LHdpZHRoOjYwLGhlaWdodDo2MCxib3JkZXI6Im5vbmUiLHBhZGRpbmc6MCxtYXJnaW46MCxkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJmbGV4LWVuZCIsanVzdGlmeUNvbnRlbnQ6ImZsZXgtZW5kIixiYWNrZ3JvdW5kOiJ0cmFuc3BhcmVudCIsY3Vyc29yOiJud3NlLXJlc2l6ZSIsdG91Y2hBY3Rpb246Im5vbmUiLHBvaW50ZXJFdmVudHM6ImF1dG8iLG91dGxpbmU6Im5vbmUiLHpJbmRleDoyNSxXZWJraXRUYXBIaWdobGlnaHRDb2xvcjoidHJhbnNwYXJlbnQifSxjaGlsZHJlbjpYKGRaLHthcmM6TCxwaGFzZTp6LHJlZHVjZWRNb3Rpb246WSxoaWdoQ29udHJhc3Q6cSxmb2N1c1Zpc2libGU6R30pfSl9ZnVuY3Rpb24gY1ooJCl7aWYoISR8fHR5cGVvZiBkb2N1bWVudD4idSIpcmV0dXJuO2xldCBKPWRvY3VtZW50LmhlYWR8fGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF0sUT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO1EudHlwZT0idGV4dC9jc3MiLEouYXBwZW5kQ2hpbGQoUSksUS5zdHlsZVNoZWV0P1Euc3R5bGVTaGVldC5jc3NUZXh0PSQ6US5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgkKSl9dmFyIG9aPSgkKT0+e3N3aXRjaCgkKXtjYXNlInN1Y2Nlc3MiOnJldHVybiByWjtjYXNlImluZm8iOnJldHVybiBzWjtjYXNlIndhcm5pbmciOnJldHVybiBhWjtjYXNlImVycm9yIjpyZXR1cm4gdFo7ZGVmYXVsdDpyZXR1cm4gbnVsbH19LGlaPUFycmF5KDEyKS5maWxsKDApLG5aPSh7dmlzaWJsZTokLGNsYXNzTmFtZTpKfSk9PntyZXR1cm4gZi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6WyJzb25uZXItbG9hZGluZy13cmFwcGVyIixKXS5maWx0ZXIoQm9vbGVhbikuam9pbigiICIpLCJkYXRhLXZpc2libGUiOiR9LGYuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOiJzb25uZXItc3Bpbm5lciJ9LGlaLm1hcCgoUSxaKT0+Zi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6InNvbm5lci1sb2FkaW5nLWJhciIsa2V5OmBzcGlubmVyLWJhci0ke1p9YH0pKSkpfSxyWj1mLmNyZWF0ZUVsZW1lbnQoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsdmlld0JveDoiMCAwIDIwIDIwIixmaWxsOiJjdXJyZW50Q29sb3IiLGhlaWdodDoiMjAiLHdpZHRoOiIyMCJ9LGYuY3JlYXRlRWxlbWVudCgicGF0aCIse2ZpbGxSdWxlOiJldmVub2RkIixkOiJNMTAgMThhOCA4IDAgMTAwLTE2IDggOCAwIDAwMCAxNnptMy44NTctOS44MDlhLjc1Ljc1IDAgMDAtMS4yMTQtLjg4MmwtMy40ODMgNC43OS0xLjg4LTEuODhhLjc1Ljc1IDAgMTAtMS4wNiAxLjA2MWwyLjUgMi41YS43NS43NSAwIDAwMS4xMzctLjA4OWw0LTUuNXoiLGNsaXBSdWxlOiJldmVub2RkIn0pKSxhWj1mLmNyZWF0ZUVsZW1lbnQoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJjdXJyZW50Q29sb3IiLGhlaWdodDoiMjAiLHdpZHRoOiIyMCJ9LGYuY3JlYXRlRWxlbWVudCgicGF0aCIse2ZpbGxSdWxlOiJldmVub2RkIixkOiJNOS40MDEgMy4wMDNjMS4xNTUtMiA0LjA0My0yIDUuMTk3IDBsNy4zNTUgMTIuNzQ4YzEuMTU0IDItLjI5IDQuNS0yLjU5OSA0LjVINC42NDVjLTIuMzA5IDAtMy43NTItMi41LTIuNTk4LTQuNUw5LjQgMy4wMDN6TTEyIDguMjVhLjc1Ljc1IDAgMDEuNzUuNzV2My43NWEuNzUuNzUgMCAwMS0xLjUgMFY5YS43NS43NSAwIDAxLjc1LS43NXptMCA4LjI1YS43NS43NSAwIDEwMC0xLjUuNzUuNzUgMCAwMDAgMS41eiIsY2xpcFJ1bGU6ImV2ZW5vZGQifSkpLHNaPWYuY3JlYXRlRWxlbWVudCgic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIix2aWV3Qm94OiIwIDAgMjAgMjAiLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyMCIsd2lkdGg6IjIwIn0sZi5jcmVhdGVFbGVtZW50KCJwYXRoIix7ZmlsbFJ1bGU6ImV2ZW5vZGQiLGQ6Ik0xOCAxMGE4IDggMCAxMS0xNiAwIDggOCAwIDAxMTYgMHptLTctNGExIDEgMCAxMS0yIDAgMSAxIDAgMDEyIDB6TTkgOWEuNzUuNzUgMCAwMDAgMS41aC4yNTNhLjI1LjI1IDAgMDEuMjQ0LjMwNGwtLjQ1OSAyLjA2NkExLjc1IDEuNzUgMCAwMDEwLjc0NyAxNUgxMWEuNzUuNzUgMCAwMDAtMS41aC0uMjUzYS4yNS4yNSAwIDAxLS4yNDQtLjMwNGwuNDU5LTIuMDY2QTEuNzUgMS43NSAwIDAwOS4yNTMgOUg5eiIsY2xpcFJ1bGU6ImV2ZW5vZGQifSkpLHRaPWYuY3JlYXRlRWxlbWVudCgic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIix2aWV3Qm94OiIwIDAgMjAgMjAiLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyMCIsd2lkdGg6IjIwIn0sZi5jcmVhdGVFbGVtZW50KCJwYXRoIix7ZmlsbFJ1bGU6ImV2ZW5vZGQiLGQ6Ik0xOCAxMGE4IDggMCAxMS0xNiAwIDggOCAwIDAxMTYgMHptLTgtNWEuNzUuNzUgMCAwMS43NS43NXY0LjVhLjc1Ljc1IDAgMDEtMS41IDB2LTQuNUEuNzUuNzUgMCAwMTEwIDV6bTAgMTBhMSAxIDAgMTAwLTIgMSAxIDAgMDAwIDJ6IixjbGlwUnVsZToiZXZlbm9kZCJ9KSksZVo9Zi5jcmVhdGVFbGVtZW50KCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLHdpZHRoOiIxMiIsaGVpZ2h0OiIxMiIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjEuNSIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCJ9LGYuY3JlYXRlRWxlbWVudCgibGluZSIse3gxOiIxOCIseTE6IjYiLHgyOiI2Iix5MjoiMTgifSksZi5jcmVhdGVFbGVtZW50KCJsaW5lIix7eDE6IjYiLHkxOiI2Iix4MjoiMTgiLHkyOiIxOCJ9KSksJFg9KCk9PntsZXRbJCxKXT1mLnVzZVN0YXRlKGRvY3VtZW50LmhpZGRlbik7cmV0dXJuIGYudXNlRWZmZWN0KCgpPT57bGV0IFE9KCk9PntKKGRvY3VtZW50LmhpZGRlbil9O3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIixRKSwoKT0+d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLFEpfSxbXSksJH0sbzg9MTtjbGFzcyBON3tjb25zdHJ1Y3Rvcigpe3RoaXMuc3Vic2NyaWJlPSgkKT0+e3JldHVybiB0aGlzLnN1YnNjcmliZXJzLnB1c2goJCksKCk9PntsZXQgSj10aGlzLnN1YnNjcmliZXJzLmluZGV4T2YoJCk7dGhpcy5zdWJzY3JpYmVycy5zcGxpY2UoSiwxKX19LHRoaXMucHVibGlzaD0oJCk9Pnt0aGlzLnN1YnNjcmliZXJzLmZvckVhY2goKEopPT5KKCQpKX0sdGhpcy5hZGRUb2FzdD0oJCk9Pnt0aGlzLnB1Ymxpc2goJCksdGhpcy50b2FzdHM9Wy4uLnRoaXMudG9hc3RzLCRdfSx0aGlzLmNyZWF0ZT0oJCk9Pnt2YXIgSjtsZXR7bWVzc2FnZTpRLC4uLlp9PSQsSz10eXBlb2YoJD09bnVsbD92b2lkIDA6JC5pZCk9PT0ibnVtYmVyInx8KChKPSQuaWQpPT1udWxsP3ZvaWQgMDpKLmxlbmd0aCk+MD8kLmlkOm84KyssWT10aGlzLnRvYXN0cy5maW5kKChHKT0+e3JldHVybiBHLmlkPT09S30pLHE9JC5kaXNtaXNzaWJsZT09PXZvaWQgMD8hMDokLmRpc21pc3NpYmxlO2lmKHRoaXMuZGlzbWlzc2VkVG9hc3RzLmhhcyhLKSl0aGlzLmRpc21pc3NlZFRvYXN0cy5kZWxldGUoSyk7aWYoWSl0aGlzLnRvYXN0cz10aGlzLnRvYXN0cy5tYXAoKEcpPT57aWYoRy5pZD09PUspcmV0dXJuIHRoaXMucHVibGlzaCh7Li4uRywuLi4kLGlkOkssdGl0bGU6UX0pLHsuLi5HLC4uLiQsaWQ6SyxkaXNtaXNzaWJsZTpxLHRpdGxlOlF9O3JldHVybiBHfSk7ZWxzZSB0aGlzLmFkZFRvYXN0KHt0aXRsZTpRLC4uLlosZGlzbWlzc2libGU6cSxpZDpLfSk7cmV0dXJuIEt9LHRoaXMuZGlzbWlzcz0oJCk9PntpZigkKXRoaXMuZGlzbWlzc2VkVG9hc3RzLmFkZCgkKSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PnRoaXMuc3Vic2NyaWJlcnMuZm9yRWFjaCgoSik9Pkooe2lkOiQsZGlzbWlzczohMH0pKSk7ZWxzZSB0aGlzLnRvYXN0cy5mb3JFYWNoKChKKT0+e3RoaXMuc3Vic2NyaWJlcnMuZm9yRWFjaCgoUSk9PlEoe2lkOkouaWQsZGlzbWlzczohMH0pKX0pO3JldHVybiAkfSx0aGlzLm1lc3NhZ2U9KCQsSik9PntyZXR1cm4gdGhpcy5jcmVhdGUoey4uLkosbWVzc2FnZTokfSl9LHRoaXMuZXJyb3I9KCQsSik9PntyZXR1cm4gdGhpcy5jcmVhdGUoey4uLkosbWVzc2FnZTokLHR5cGU6ImVycm9yIn0pfSx0aGlzLnN1Y2Nlc3M9KCQsSik9PntyZXR1cm4gdGhpcy5jcmVhdGUoey4uLkosdHlwZToic3VjY2VzcyIsbWVzc2FnZTokfSl9LHRoaXMuaW5mbz0oJCxKKT0+e3JldHVybiB0aGlzLmNyZWF0ZSh7Li4uSix0eXBlOiJpbmZvIixtZXNzYWdlOiR9KX0sdGhpcy53YXJuaW5nPSgkLEopPT57cmV0dXJuIHRoaXMuY3JlYXRlKHsuLi5KLHR5cGU6Indhcm5pbmciLG1lc3NhZ2U6JH0pfSx0aGlzLmxvYWRpbmc9KCQsSik9PntyZXR1cm4gdGhpcy5jcmVhdGUoey4uLkosdHlwZToibG9hZGluZyIsbWVzc2FnZTokfSl9LHRoaXMucHJvbWlzZT0oJCxKKT0+e2lmKCFKKXJldHVybjtsZXQgUT12b2lkIDA7aWYoSi5sb2FkaW5nIT09dm9pZCAwKVE9dGhpcy5jcmVhdGUoey4uLkoscHJvbWlzZTokLHR5cGU6ImxvYWRpbmciLG1lc3NhZ2U6Si5sb2FkaW5nLGRlc2NyaXB0aW9uOnR5cGVvZiBKLmRlc2NyaXB0aW9uIT09ImZ1bmN0aW9uIj9KLmRlc2NyaXB0aW9uOnZvaWQgMH0pO2xldCBaPVByb21pc2UucmVzb2x2ZSgkIGluc3RhbmNlb2YgRnVuY3Rpb24/JCgpOiQpLEs9USE9PXZvaWQgMCxZLHE9Wi50aGVuKGFzeW5jKEIpPT57aWYoWT1bInJlc29sdmUiLEJdLGYuaXNWYWxpZEVsZW1lbnQoQikpSz0hMSx0aGlzLmNyZWF0ZSh7aWQ6USx0eXBlOiJkZWZhdWx0IixtZXNzYWdlOkJ9KTtlbHNlIGlmKFFYKEIpJiYhQi5vayl7Sz0hMTtsZXQgej10eXBlb2YgSi5lcnJvcj09PSJmdW5jdGlvbiI/YXdhaXQgSi5lcnJvcihgSFRUUCBlcnJvciEgc3RhdHVzOiAke0Iuc3RhdHVzfWApOkouZXJyb3IsVj10eXBlb2YgSi5kZXNjcmlwdGlvbj09PSJmdW5jdGlvbiI/YXdhaXQgSi5kZXNjcmlwdGlvbihgSFRUUCBlcnJvciEgc3RhdHVzOiAke0Iuc3RhdHVzfWApOkouZGVzY3JpcHRpb24sSD10eXBlb2Ygej09PSJvYmplY3QiJiYhZi5pc1ZhbGlkRWxlbWVudCh6KT96OnttZXNzYWdlOnp9O3RoaXMuY3JlYXRlKHtpZDpRLHR5cGU6ImVycm9yIixkZXNjcmlwdGlvbjpWLC4uLkh9KX1lbHNlIGlmKEIgaW5zdGFuY2VvZiBFcnJvcil7Sz0hMTtsZXQgej10eXBlb2YgSi5lcnJvcj09PSJmdW5jdGlvbiI/YXdhaXQgSi5lcnJvcihCKTpKLmVycm9yLFY9dHlwZW9mIEouZGVzY3JpcHRpb249PT0iZnVuY3Rpb24iP2F3YWl0IEouZGVzY3JpcHRpb24oQik6Si5kZXNjcmlwdGlvbixIPXR5cGVvZiB6PT09Im9iamVjdCImJiFmLmlzVmFsaWRFbGVtZW50KHopP3o6e21lc3NhZ2U6en07dGhpcy5jcmVhdGUoe2lkOlEsdHlwZToiZXJyb3IiLGRlc2NyaXB0aW9uOlYsLi4uSH0pfWVsc2UgaWYoSi5zdWNjZXNzIT09dm9pZCAwKXtLPSExO2xldCB6PXR5cGVvZiBKLnN1Y2Nlc3M9PT0iZnVuY3Rpb24iP2F3YWl0IEouc3VjY2VzcyhCKTpKLnN1Y2Nlc3MsVj10eXBlb2YgSi5kZXNjcmlwdGlvbj09PSJmdW5jdGlvbiI/YXdhaXQgSi5kZXNjcmlwdGlvbihCKTpKLmRlc2NyaXB0aW9uLEg9dHlwZW9mIHo9PT0ib2JqZWN0IiYmIWYuaXNWYWxpZEVsZW1lbnQoeik/ejp7bWVzc2FnZTp6fTt0aGlzLmNyZWF0ZSh7aWQ6USx0eXBlOiJzdWNjZXNzIixkZXNjcmlwdGlvbjpWLC4uLkh9KX19KS5jYXRjaChhc3luYyhCKT0+e2lmKFk9WyJyZWplY3QiLEJdLEouZXJyb3IhPT12b2lkIDApe0s9ITE7bGV0IEw9dHlwZW9mIEouZXJyb3I9PT0iZnVuY3Rpb24iP2F3YWl0IEouZXJyb3IoQik6Si5lcnJvcix6PXR5cGVvZiBKLmRlc2NyaXB0aW9uPT09ImZ1bmN0aW9uIj9hd2FpdCBKLmRlc2NyaXB0aW9uKEIpOkouZGVzY3JpcHRpb24sTj10eXBlb2YgTD09PSJvYmplY3QiJiYhZi5pc1ZhbGlkRWxlbWVudChMKT9MOnttZXNzYWdlOkx9O3RoaXMuY3JlYXRlKHtpZDpRLHR5cGU6ImVycm9yIixkZXNjcmlwdGlvbjp6LC4uLk59KX19KS5maW5hbGx5KCgpPT57aWYoSyl0aGlzLmRpc21pc3MoUSksUT12b2lkIDA7Si5maW5hbGx5PT1udWxsfHxKLmZpbmFsbHkuY2FsbChKKX0pLEc9KCk9Pm5ldyBQcm9taXNlKChCLEwpPT5xLnRoZW4oKCk9PllbMF09PT0icmVqZWN0Ij9MKFlbMV0pOkIoWVsxXSkpLmNhdGNoKEwpKTtpZih0eXBlb2YgUSE9PSJzdHJpbmciJiZ0eXBlb2YgUSE9PSJudW1iZXIiKXJldHVybnt1bndyYXA6R307ZWxzZSByZXR1cm4gT2JqZWN0LmFzc2lnbihRLHt1bndyYXA6R30pfSx0aGlzLmN1c3RvbT0oJCxKKT0+e2xldCBRPShKPT1udWxsP3ZvaWQgMDpKLmlkKXx8bzgrKztyZXR1cm4gdGhpcy5jcmVhdGUoe2pzeDokKFEpLGlkOlEsLi4uSn0pLFF9LHRoaXMuZ2V0QWN0aXZlVG9hc3RzPSgpPT57cmV0dXJuIHRoaXMudG9hc3RzLmZpbHRlcigoJCk9PiF0aGlzLmRpc21pc3NlZFRvYXN0cy5oYXMoJC5pZCkpfSx0aGlzLnN1YnNjcmliZXJzPVtdLHRoaXMudG9hc3RzPVtdLHRoaXMuZGlzbWlzc2VkVG9hc3RzPW5ldyBTZXR9fXZhciBNMD1uZXcgTjcsSlg9KCQsSik9PntsZXQgUT0oSj09bnVsbD92b2lkIDA6Si5pZCl8fG84Kys7cmV0dXJuIE0wLmFkZFRvYXN0KHt0aXRsZTokLC4uLkosaWQ6UX0pLFF9LFFYPSgkKT0+e3JldHVybiAkJiZ0eXBlb2YgJD09PSJvYmplY3QiJiYib2siaW4gJCYmdHlwZW9mICQub2s9PT0iYm9vbGVhbiImJiJzdGF0dXMiaW4gJCYmdHlwZW9mICQuc3RhdHVzPT09Im51bWJlciJ9LFpYPUpYLFhYPSgpPT5NMC50b2FzdHMsS1g9KCk9Pk0wLmdldEFjdGl2ZVRvYXN0cygpLEk1PU9iamVjdC5hc3NpZ24oWlgse3N1Y2Nlc3M6TTAuc3VjY2VzcyxpbmZvOk0wLmluZm8sd2FybmluZzpNMC53YXJuaW5nLGVycm9yOk0wLmVycm9yLGN1c3RvbTpNMC5jdXN0b20sbWVzc2FnZTpNMC5tZXNzYWdlLHByb21pc2U6TTAucHJvbWlzZSxkaXNtaXNzOk0wLmRpc21pc3MsbG9hZGluZzpNMC5sb2FkaW5nfSx7Z2V0SGlzdG9yeTpYWCxnZXRUb2FzdHM6S1h9KTtjWigiW2RhdGEtc29ubmVyLXRvYXN0ZXJdW2Rpcj1sdHJdLGh0bWxbZGlyPWx0cl17LS10b2FzdC1pY29uLW1hcmdpbi1zdGFydDotM3B4Oy0tdG9hc3QtaWNvbi1tYXJnaW4tZW5kOjRweDstLXRvYXN0LXN2Zy1tYXJnaW4tc3RhcnQ6LTFweDstLXRvYXN0LXN2Zy1tYXJnaW4tZW5kOjBweDstLXRvYXN0LWJ1dHRvbi1tYXJnaW4tc3RhcnQ6YXV0bzstLXRvYXN0LWJ1dHRvbi1tYXJnaW4tZW5kOjA7LS10b2FzdC1jbG9zZS1idXR0b24tc3RhcnQ6MDstLXRvYXN0LWNsb3NlLWJ1dHRvbi1lbmQ6dW5zZXQ7LS10b2FzdC1jbG9zZS1idXR0b24tdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMzUlLCAtMzUlKX1bZGF0YS1zb25uZXItdG9hc3Rlcl1bZGlyPXJ0bF0saHRtbFtkaXI9cnRsXXstLXRvYXN0LWljb24tbWFyZ2luLXN0YXJ0OjRweDstLXRvYXN0LWljb24tbWFyZ2luLWVuZDotM3B4Oy0tdG9hc3Qtc3ZnLW1hcmdpbi1zdGFydDowcHg7LS10b2FzdC1zdmctbWFyZ2luLWVuZDotMXB4Oy0tdG9hc3QtYnV0dG9uLW1hcmdpbi1zdGFydDowOy0tdG9hc3QtYnV0dG9uLW1hcmdpbi1lbmQ6YXV0bzstLXRvYXN0LWNsb3NlLWJ1dHRvbi1zdGFydDp1bnNldDstLXRvYXN0LWNsb3NlLWJ1dHRvbi1lbmQ6MDstLXRvYXN0LWNsb3NlLWJ1dHRvbi10cmFuc2Zvcm06dHJhbnNsYXRlKDM1JSwgLTM1JSl9W2RhdGEtc29ubmVyLXRvYXN0ZXJde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOnZhcigtLXdpZHRoKTtmb250LWZhbWlseTp1aS1zYW5zLXNlcmlmLHN5c3RlbS11aSwtYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxTZWdvZSBVSSxSb2JvdG8sSGVsdmV0aWNhIE5ldWUsQXJpYWwsTm90byBTYW5zLHNhbnMtc2VyaWYsQXBwbGUgQ29sb3IgRW1vamksU2Vnb2UgVUkgRW1vamksU2Vnb2UgVUkgU3ltYm9sLE5vdG8gQ29sb3IgRW1vamk7LS1ncmF5MTpoc2woMCwgMCUsIDk5JSk7LS1ncmF5Mjpoc2woMCwgMCUsIDk3LjMlKTstLWdyYXkzOmhzbCgwLCAwJSwgOTUuMSUpOy0tZ3JheTQ6aHNsKDAsIDAlLCA5MyUpOy0tZ3JheTU6aHNsKDAsIDAlLCA5MC45JSk7LS1ncmF5Njpoc2woMCwgMCUsIDg4LjclKTstLWdyYXk3OmhzbCgwLCAwJSwgODUuOCUpOy0tZ3JheTg6aHNsKDAsIDAlLCA3OCUpOy0tZ3JheTk6aHNsKDAsIDAlLCA1Ni4xJSk7LS1ncmF5MTA6aHNsKDAsIDAlLCA1Mi4zJSk7LS1ncmF5MTE6aHNsKDAsIDAlLCA0My41JSk7LS1ncmF5MTI6aHNsKDAsIDAlLCA5JSk7LS1ib3JkZXItcmFkaXVzOjhweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzowO21hcmdpbjowO2xpc3Qtc3R5bGU6bm9uZTtvdXRsaW5lOjA7ei1pbmRleDo5OTk5OTk5OTk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjRzIGVhc2V9QG1lZGlhIChob3Zlcjpub25lKSBhbmQgKHBvaW50ZXI6Y29hcnNlKXtbZGF0YS1zb25uZXItdG9hc3Rlcl1bZGF0YS1saWZ0ZWQ9dHJ1ZV17dHJhbnNmb3JtOm5vbmV9fVtkYXRhLXNvbm5lci10b2FzdGVyXVtkYXRhLXgtcG9zaXRpb249cmlnaHRde3JpZ2h0OnZhcigtLW9mZnNldC1yaWdodCl9W2RhdGEtc29ubmVyLXRvYXN0ZXJdW2RhdGEteC1wb3NpdGlvbj1sZWZ0XXtsZWZ0OnZhcigtLW9mZnNldC1sZWZ0KX1bZGF0YS1zb25uZXItdG9hc3Rlcl1bZGF0YS14LXBvc2l0aW9uPWNlbnRlcl17bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSl9W2RhdGEtc29ubmVyLXRvYXN0ZXJdW2RhdGEteS1wb3NpdGlvbj10b3Bde3RvcDp2YXIoLS1vZmZzZXQtdG9wKX1bZGF0YS1zb25uZXItdG9hc3Rlcl1bZGF0YS15LXBvc2l0aW9uPWJvdHRvbV17Ym90dG9tOnZhcigtLW9mZnNldC1ib3R0b20pfVtkYXRhLXNvbm5lci10b2FzdF17LS15OnRyYW5zbGF0ZVkoMTAwJSk7LS1saWZ0LWFtb3VudDpjYWxjKHZhcigtLWxpZnQpICogdmFyKC0tZ2FwKSk7ei1pbmRleDp2YXIoLS16LWluZGV4KTtwb3NpdGlvbjphYnNvbHV0ZTtvcGFjaXR5OjA7dHJhbnNmb3JtOnZhcigtLXkpO3RvdWNoLWFjdGlvbjpub25lO3RyYW5zaXRpb246dHJhbnNmb3JtIC40cyxvcGFjaXR5IC40cyxoZWlnaHQgLjRzLGJveC1zaGFkb3cgLjJzO2JveC1zaXppbmc6Ym9yZGVyLWJveDtvdXRsaW5lOjA7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZX1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtc3R5bGVkPXRydWVde3BhZGRpbmc6MTZweDtiYWNrZ3JvdW5kOnZhcigtLW5vcm1hbC1iZyk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ub3JtYWwtYm9yZGVyKTtjb2xvcjp2YXIoLS1ub3JtYWwtdGV4dCk7Ym9yZGVyLXJhZGl1czp2YXIoLS1ib3JkZXItcmFkaXVzKTtib3gtc2hhZG93OjAgNHB4IDEycHggcmdiYSgwLDAsMCwuMSk7d2lkdGg6dmFyKC0td2lkdGgpO2ZvbnQtc2l6ZToxM3B4O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweH1bZGF0YS1zb25uZXItdG9hc3RdOmZvY3VzLXZpc2libGV7Ym94LXNoYWRvdzowIDRweCAxMnB4IHJnYmEoMCwwLDAsLjEpLDAgMCAwIDJweCByZ2JhKDAsMCwwLC4yKX1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEteS1wb3NpdGlvbj10b3Bde3RvcDowOy0teTp0cmFuc2xhdGVZKC0xMDAlKTstLWxpZnQ6MTstLWxpZnQtYW1vdW50OmNhbGMoMSAqIHZhcigtLWdhcCkpfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS15LXBvc2l0aW9uPWJvdHRvbV17Ym90dG9tOjA7LS15OnRyYW5zbGF0ZVkoMTAwJSk7LS1saWZ0Oi0xOy0tbGlmdC1hbW91bnQ6Y2FsYyh2YXIoLS1saWZ0KSAqIHZhcigtLWdhcCkpfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zdHlsZWQ9dHJ1ZV0gW2RhdGEtZGVzY3JpcHRpb25de2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjQ7Y29sb3I6IzNmM2YzZn1bZGF0YS1yaWNoLWNvbG9ycz10cnVlXVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zdHlsZWQ9dHJ1ZV0gW2RhdGEtZGVzY3JpcHRpb25de2NvbG9yOmluaGVyaXR9W2RhdGEtc29ubmVyLXRvYXN0ZXJdW2RhdGEtc29ubmVyLXRoZW1lPWRhcmtdIFtkYXRhLWRlc2NyaXB0aW9uXXtjb2xvcjojZThlOGU4fVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zdHlsZWQ9dHJ1ZV0gW2RhdGEtdGl0bGVde2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxLjU7Y29sb3I6aW5oZXJpdH1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtc3R5bGVkPXRydWVdIFtkYXRhLWljb25de2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4O3Bvc2l0aW9uOnJlbGF0aXZlO2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O2FsaWduLWl0ZW1zOmNlbnRlcjtmbGV4LXNocmluazowO21hcmdpbi1sZWZ0OnZhcigtLXRvYXN0LWljb24tbWFyZ2luLXN0YXJ0KTttYXJnaW4tcmlnaHQ6dmFyKC0tdG9hc3QtaWNvbi1tYXJnaW4tZW5kKX1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtcHJvbWlzZT10cnVlXSBbZGF0YS1pY29uXT5zdmd7b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZSguOCk7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7YW5pbWF0aW9uOnNvbm5lci1mYWRlLWluIC4zcyBlYXNlIGZvcndhcmRzfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zdHlsZWQ9dHJ1ZV0gW2RhdGEtaWNvbl0+KntmbGV4LXNocmluazowfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zdHlsZWQ9dHJ1ZV0gW2RhdGEtaWNvbl0gc3Zne21hcmdpbi1sZWZ0OnZhcigtLXRvYXN0LXN2Zy1tYXJnaW4tc3RhcnQpO21hcmdpbi1yaWdodDp2YXIoLS10b2FzdC1zdmctbWFyZ2luLWVuZCl9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXN0eWxlZD10cnVlXSBbZGF0YS1jb250ZW50XXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoycHh9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXN0eWxlZD10cnVlXSBbZGF0YS1idXR0b25de2JvcmRlci1yYWRpdXM6NHB4O3BhZGRpbmctbGVmdDo4cHg7cGFkZGluZy1yaWdodDo4cHg7aGVpZ2h0OjI0cHg7Zm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0tbm9ybWFsLWJnKTtiYWNrZ3JvdW5kOnZhcigtLW5vcm1hbC10ZXh0KTttYXJnaW4tbGVmdDp2YXIoLS10b2FzdC1idXR0b24tbWFyZ2luLXN0YXJ0KTttYXJnaW4tcmlnaHQ6dmFyKC0tdG9hc3QtYnV0dG9uLW1hcmdpbi1lbmQpO2JvcmRlcjpub25lO2ZvbnQtd2VpZ2h0OjUwMDtjdXJzb3I6cG9pbnRlcjtvdXRsaW5lOjA7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtmbGV4LXNocmluazowO3RyYW5zaXRpb246b3BhY2l0eSAuNHMsYm94LXNoYWRvdyAuMnN9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXN0eWxlZD10cnVlXSBbZGF0YS1idXR0b25dOmZvY3VzLXZpc2libGV7Ym94LXNoYWRvdzowIDAgMCAycHggcmdiYSgwLDAsMCwuNCl9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXN0eWxlZD10cnVlXSBbZGF0YS1idXR0b25dOmZpcnN0LW9mLXR5cGV7bWFyZ2luLWxlZnQ6dmFyKC0tdG9hc3QtYnV0dG9uLW1hcmdpbi1zdGFydCk7bWFyZ2luLXJpZ2h0OnZhcigtLXRvYXN0LWJ1dHRvbi1tYXJnaW4tZW5kKX1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtc3R5bGVkPXRydWVdIFtkYXRhLWNhbmNlbF17Y29sb3I6dmFyKC0tbm9ybWFsLXRleHQpO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMDgpfVtkYXRhLXNvbm5lci10b2FzdGVyXVtkYXRhLXNvbm5lci10aGVtZT1kYXJrXSBbZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtc3R5bGVkPXRydWVdIFtkYXRhLWNhbmNlbF17YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4zKX1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtc3R5bGVkPXRydWVdIFtkYXRhLWNsb3NlLWJ1dHRvbl17cG9zaXRpb246YWJzb2x1dGU7bGVmdDp2YXIoLS10b2FzdC1jbG9zZS1idXR0b24tc3RhcnQpO3JpZ2h0OnZhcigtLXRvYXN0LWNsb3NlLWJ1dHRvbi1lbmQpO3RvcDowO2hlaWdodDoyMHB4O3dpZHRoOjIwcHg7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6MDtjb2xvcjp2YXIoLS1ncmF5MTIpO2JhY2tncm91bmQ6dmFyKC0tbm9ybWFsLWJnKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWdyYXk0KTt0cmFuc2Zvcm06dmFyKC0tdG9hc3QtY2xvc2UtYnV0dG9uLXRyYW5zZm9ybSk7Ym9yZGVyLXJhZGl1czo1MCU7Y3Vyc29yOnBvaW50ZXI7ei1pbmRleDoxO3RyYW5zaXRpb246b3BhY2l0eSAuMXMsYmFja2dyb3VuZCAuMnMsYm9yZGVyLWNvbG9yIC4yc31bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtc3R5bGVkPXRydWVdIFtkYXRhLWNsb3NlLWJ1dHRvbl06Zm9jdXMtdmlzaWJsZXtib3gtc2hhZG93OjAgNHB4IDEycHggcmdiYSgwLDAsMCwuMSksMCAwIDAgMnB4IHJnYmEoMCwwLDAsLjIpfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zdHlsZWQ9dHJ1ZV0gW2RhdGEtZGlzYWJsZWQ9dHJ1ZV17Y3Vyc29yOm5vdC1hbGxvd2VkfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zdHlsZWQ9dHJ1ZV06aG92ZXIgW2RhdGEtY2xvc2UtYnV0dG9uXTpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWdyYXkyKTtib3JkZXItY29sb3I6dmFyKC0tZ3JheTUpfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zd2lwaW5nPXRydWVdOjpiZWZvcmV7Y29udGVudDonJztwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0Oi0xMDAlO3JpZ2h0Oi0xMDAlO2hlaWdodDoxMDAlO3otaW5kZXg6LTF9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXktcG9zaXRpb249dG9wXVtkYXRhLXN3aXBpbmc9dHJ1ZV06OmJlZm9yZXtib3R0b206NTAlO3RyYW5zZm9ybTpzY2FsZVkoMykgdHJhbnNsYXRlWSg1MCUpfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS15LXBvc2l0aW9uPWJvdHRvbV1bZGF0YS1zd2lwaW5nPXRydWVdOjpiZWZvcmV7dG9wOjUwJTt0cmFuc2Zvcm06c2NhbGVZKDMpIHRyYW5zbGF0ZVkoLTUwJSl9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXN3aXBpbmc9ZmFsc2VdW2RhdGEtcmVtb3ZlZD10cnVlXTo6YmVmb3Jle2NvbnRlbnQ6Jyc7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDt0cmFuc2Zvcm06c2NhbGVZKDIpfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1leHBhbmRlZD10cnVlXTo6YWZ0ZXJ7Y29udGVudDonJztwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7aGVpZ2h0OmNhbGModmFyKC0tZ2FwKSArIDFweCk7Ym90dG9tOjEwMCU7d2lkdGg6MTAwJX1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtbW91bnRlZD10cnVlXXstLXk6dHJhbnNsYXRlWSgwKTtvcGFjaXR5OjF9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLWV4cGFuZGVkPWZhbHNlXVtkYXRhLWZyb250PWZhbHNlXXstLXNjYWxlOnZhcigtLXRvYXN0cy1iZWZvcmUpICogMC4wNSArIDE7LS15OnRyYW5zbGF0ZVkoY2FsYyh2YXIoLS1saWZ0LWFtb3VudCkgKiB2YXIoLS10b2FzdHMtYmVmb3JlKSkpIHNjYWxlKGNhbGMoLTEgKiB2YXIoLS1zY2FsZSkpKTtoZWlnaHQ6dmFyKC0tZnJvbnQtdG9hc3QtaGVpZ2h0KX1bZGF0YS1zb25uZXItdG9hc3RdPip7dHJhbnNpdGlvbjpvcGFjaXR5IC40c31bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEteC1wb3NpdGlvbj1yaWdodF17cmlnaHQ6MH1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEteC1wb3NpdGlvbj1sZWZ0XXtsZWZ0OjB9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLWV4cGFuZGVkPWZhbHNlXVtkYXRhLWZyb250PWZhbHNlXVtkYXRhLXN0eWxlZD10cnVlXT4qe29wYWNpdHk6MH1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtdmlzaWJsZT1mYWxzZV17b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmV9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLW1vdW50ZWQ9dHJ1ZV1bZGF0YS1leHBhbmRlZD10cnVlXXstLXk6dHJhbnNsYXRlWShjYWxjKHZhcigtLWxpZnQpICogdmFyKC0tb2Zmc2V0KSkpO2hlaWdodDp2YXIoLS1pbml0aWFsLWhlaWdodCl9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXJlbW92ZWQ9dHJ1ZV1bZGF0YS1mcm9udD10cnVlXVtkYXRhLXN3aXBlLW91dD1mYWxzZV17LS15OnRyYW5zbGF0ZVkoY2FsYyh2YXIoLS1saWZ0KSAqIC0xMDAlKSk7b3BhY2l0eTowfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1yZW1vdmVkPXRydWVdW2RhdGEtZnJvbnQ9ZmFsc2VdW2RhdGEtc3dpcGUtb3V0PWZhbHNlXVtkYXRhLWV4cGFuZGVkPXRydWVdey0teTp0cmFuc2xhdGVZKGNhbGModmFyKC0tbGlmdCkgKiB2YXIoLS1vZmZzZXQpICsgdmFyKC0tbGlmdCkgKiAtMTAwJSkpO29wYWNpdHk6MH1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtcmVtb3ZlZD10cnVlXVtkYXRhLWZyb250PWZhbHNlXVtkYXRhLXN3aXBlLW91dD1mYWxzZV1bZGF0YS1leHBhbmRlZD1mYWxzZV17LS15OnRyYW5zbGF0ZVkoNDAlKTtvcGFjaXR5OjA7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjVzLG9wYWNpdHkgLjJzfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1yZW1vdmVkPXRydWVdW2RhdGEtZnJvbnQ9ZmFsc2VdOjpiZWZvcmV7aGVpZ2h0OmNhbGModmFyKC0taW5pdGlhbC1oZWlnaHQpICsgMjAlKX1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtc3dpcGluZz10cnVlXXt0cmFuc2Zvcm06dmFyKC0teSkgdHJhbnNsYXRlWSh2YXIoLS1zd2lwZS1hbW91bnQteSwwKSkgdHJhbnNsYXRlWCh2YXIoLS1zd2lwZS1hbW91bnQteCwwKSk7dHJhbnNpdGlvbjpub25lfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zd2lwZWQ9dHJ1ZV17dXNlci1zZWxlY3Q6bm9uZX1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtc3dpcGUtb3V0PXRydWVdW2RhdGEteS1wb3NpdGlvbj1ib3R0b21dLFtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zd2lwZS1vdXQ9dHJ1ZV1bZGF0YS15LXBvc2l0aW9uPXRvcF17YW5pbWF0aW9uLWR1cmF0aW9uOi4yczthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O2FuaW1hdGlvbi1maWxsLW1vZGU6Zm9yd2FyZHN9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXN3aXBlLW91dD10cnVlXVtkYXRhLXN3aXBlLWRpcmVjdGlvbj1sZWZ0XXthbmltYXRpb24tbmFtZTpzd2lwZS1vdXQtbGVmdH1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtc3dpcGUtb3V0PXRydWVdW2RhdGEtc3dpcGUtZGlyZWN0aW9uPXJpZ2h0XXthbmltYXRpb24tbmFtZTpzd2lwZS1vdXQtcmlnaHR9W2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLXN3aXBlLW91dD10cnVlXVtkYXRhLXN3aXBlLWRpcmVjdGlvbj11cF17YW5pbWF0aW9uLW5hbWU6c3dpcGUtb3V0LXVwfVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1zd2lwZS1vdXQ9dHJ1ZV1bZGF0YS1zd2lwZS1kaXJlY3Rpb249ZG93bl17YW5pbWF0aW9uLW5hbWU6c3dpcGUtb3V0LWRvd259QGtleWZyYW1lcyBzd2lwZS1vdXQtbGVmdHtmcm9te3RyYW5zZm9ybTp2YXIoLS15KSB0cmFuc2xhdGVYKHZhcigtLXN3aXBlLWFtb3VudC14KSk7b3BhY2l0eToxfXRve3RyYW5zZm9ybTp2YXIoLS15KSB0cmFuc2xhdGVYKGNhbGModmFyKC0tc3dpcGUtYW1vdW50LXgpIC0gMTAwJSkpO29wYWNpdHk6MH19QGtleWZyYW1lcyBzd2lwZS1vdXQtcmlnaHR7ZnJvbXt0cmFuc2Zvcm06dmFyKC0teSkgdHJhbnNsYXRlWCh2YXIoLS1zd2lwZS1hbW91bnQteCkpO29wYWNpdHk6MX10b3t0cmFuc2Zvcm06dmFyKC0teSkgdHJhbnNsYXRlWChjYWxjKHZhcigtLXN3aXBlLWFtb3VudC14KSArIDEwMCUpKTtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgc3dpcGUtb3V0LXVwe2Zyb217dHJhbnNmb3JtOnZhcigtLXkpIHRyYW5zbGF0ZVkodmFyKC0tc3dpcGUtYW1vdW50LXkpKTtvcGFjaXR5OjF9dG97dHJhbnNmb3JtOnZhcigtLXkpIHRyYW5zbGF0ZVkoY2FsYyh2YXIoLS1zd2lwZS1hbW91bnQteSkgLSAxMDAlKSk7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIHN3aXBlLW91dC1kb3due2Zyb217dHJhbnNmb3JtOnZhcigtLXkpIHRyYW5zbGF0ZVkodmFyKC0tc3dpcGUtYW1vdW50LXkpKTtvcGFjaXR5OjF9dG97dHJhbnNmb3JtOnZhcigtLXkpIHRyYW5zbGF0ZVkoY2FsYyh2YXIoLS1zd2lwZS1hbW91bnQteSkgKyAxMDAlKSk7b3BhY2l0eTowfX1AbWVkaWEgKG1heC13aWR0aDo2MDBweCl7W2RhdGEtc29ubmVyLXRvYXN0ZXJde3Bvc2l0aW9uOmZpeGVkO3JpZ2h0OnZhcigtLW1vYmlsZS1vZmZzZXQtcmlnaHQpO2xlZnQ6dmFyKC0tbW9iaWxlLW9mZnNldC1sZWZ0KTt3aWR0aDoxMDAlfVtkYXRhLXNvbm5lci10b2FzdGVyXVtkaXI9cnRsXXtsZWZ0OmNhbGModmFyKC0tbW9iaWxlLW9mZnNldC1sZWZ0KSAqIC0xKX1bZGF0YS1zb25uZXItdG9hc3Rlcl0gW2RhdGEtc29ubmVyLXRvYXN0XXtsZWZ0OjA7cmlnaHQ6MDt3aWR0aDpjYWxjKDEwMCUgLSB2YXIoLS1tb2JpbGUtb2Zmc2V0LWxlZnQpICogMil9W2RhdGEtc29ubmVyLXRvYXN0ZXJdW2RhdGEteC1wb3NpdGlvbj1sZWZ0XXtsZWZ0OnZhcigtLW1vYmlsZS1vZmZzZXQtbGVmdCl9W2RhdGEtc29ubmVyLXRvYXN0ZXJdW2RhdGEteS1wb3NpdGlvbj1ib3R0b21de2JvdHRvbTp2YXIoLS1tb2JpbGUtb2Zmc2V0LWJvdHRvbSl9W2RhdGEtc29ubmVyLXRvYXN0ZXJdW2RhdGEteS1wb3NpdGlvbj10b3Bde3RvcDp2YXIoLS1tb2JpbGUtb2Zmc2V0LXRvcCl9W2RhdGEtc29ubmVyLXRvYXN0ZXJdW2RhdGEteC1wb3NpdGlvbj1jZW50ZXJde2xlZnQ6dmFyKC0tbW9iaWxlLW9mZnNldC1sZWZ0KTtyaWdodDp2YXIoLS1tb2JpbGUtb2Zmc2V0LXJpZ2h0KTt0cmFuc2Zvcm06bm9uZX19W2RhdGEtc29ubmVyLXRvYXN0ZXJdW2RhdGEtc29ubmVyLXRoZW1lPWxpZ2h0XXstLW5vcm1hbC1iZzojZmZmOy0tbm9ybWFsLWJvcmRlcjp2YXIoLS1ncmF5NCk7LS1ub3JtYWwtdGV4dDp2YXIoLS1ncmF5MTIpOy0tc3VjY2Vzcy1iZzpoc2woMTQzLCA4NSUsIDk2JSk7LS1zdWNjZXNzLWJvcmRlcjpoc2woMTQ1LCA5MiUsIDg3JSk7LS1zdWNjZXNzLXRleHQ6aHNsKDE0MCwgMTAwJSwgMjclKTstLWluZm8tYmc6aHNsKDIwOCwgMTAwJSwgOTclKTstLWluZm8tYm9yZGVyOmhzbCgyMjEsIDkxJSwgOTMlKTstLWluZm8tdGV4dDpoc2woMjEwLCA5MiUsIDQ1JSk7LS13YXJuaW5nLWJnOmhzbCg0OSwgMTAwJSwgOTclKTstLXdhcm5pbmctYm9yZGVyOmhzbCg0OSwgOTElLCA4NCUpOy0td2FybmluZy10ZXh0OmhzbCgzMSwgOTIlLCA0NSUpOy0tZXJyb3ItYmc6aHNsKDM1OSwgMTAwJSwgOTclKTstLWVycm9yLWJvcmRlcjpoc2woMzU5LCAxMDAlLCA5NCUpOy0tZXJyb3ItdGV4dDpoc2woMzYwLCAxMDAlLCA0NSUpfVtkYXRhLXNvbm5lci10b2FzdGVyXVtkYXRhLXNvbm5lci10aGVtZT1saWdodF0gW2RhdGEtc29ubmVyLXRvYXN0XVtkYXRhLWludmVydD10cnVlXXstLW5vcm1hbC1iZzojMDAwOy0tbm9ybWFsLWJvcmRlcjpoc2woMCwgMCUsIDIwJSk7LS1ub3JtYWwtdGV4dDp2YXIoLS1ncmF5MSl9W2RhdGEtc29ubmVyLXRvYXN0ZXJdW2RhdGEtc29ubmVyLXRoZW1lPWRhcmtdIFtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS1pbnZlcnQ9dHJ1ZV17LS1ub3JtYWwtYmc6I2ZmZjstLW5vcm1hbC1ib3JkZXI6dmFyKC0tZ3JheTMpOy0tbm9ybWFsLXRleHQ6dmFyKC0tZ3JheTEyKX1bZGF0YS1zb25uZXItdG9hc3Rlcl1bZGF0YS1zb25uZXItdGhlbWU9ZGFya117LS1ub3JtYWwtYmc6IzAwMDstLW5vcm1hbC1iZy1ob3Zlcjpoc2woMCwgMCUsIDEyJSk7LS1ub3JtYWwtYm9yZGVyOmhzbCgwLCAwJSwgMjAlKTstLW5vcm1hbC1ib3JkZXItaG92ZXI6aHNsKDAsIDAlLCAyNSUpOy0tbm9ybWFsLXRleHQ6dmFyKC0tZ3JheTEpOy0tc3VjY2Vzcy1iZzpoc2woMTUwLCAxMDAlLCA2JSk7LS1zdWNjZXNzLWJvcmRlcjpoc2woMTQ3LCAxMDAlLCAxMiUpOy0tc3VjY2Vzcy10ZXh0OmhzbCgxNTAsIDg2JSwgNjUlKTstLWluZm8tYmc6aHNsKDIxNSwgMTAwJSwgNiUpOy0taW5mby1ib3JkZXI6aHNsKDIyMywgNDMlLCAxNyUpOy0taW5mby10ZXh0OmhzbCgyMTYsIDg3JSwgNjUlKTstLXdhcm5pbmctYmc6aHNsKDY0LCAxMDAlLCA2JSk7LS13YXJuaW5nLWJvcmRlcjpoc2woNjAsIDEwMCUsIDklKTstLXdhcm5pbmctdGV4dDpoc2woNDYsIDg3JSwgNjUlKTstLWVycm9yLWJnOmhzbCgzNTgsIDc2JSwgMTAlKTstLWVycm9yLWJvcmRlcjpoc2woMzU3LCA4OSUsIDE2JSk7LS1lcnJvci10ZXh0OmhzbCgzNTgsIDEwMCUsIDgxJSl9W2RhdGEtc29ubmVyLXRvYXN0ZXJdW2RhdGEtc29ubmVyLXRoZW1lPWRhcmtdIFtkYXRhLXNvbm5lci10b2FzdF0gW2RhdGEtY2xvc2UtYnV0dG9uXXtiYWNrZ3JvdW5kOnZhcigtLW5vcm1hbC1iZyk7Ym9yZGVyLWNvbG9yOnZhcigtLW5vcm1hbC1ib3JkZXIpO2NvbG9yOnZhcigtLW5vcm1hbC10ZXh0KX1bZGF0YS1zb25uZXItdG9hc3Rlcl1bZGF0YS1zb25uZXItdGhlbWU9ZGFya10gW2RhdGEtc29ubmVyLXRvYXN0XSBbZGF0YS1jbG9zZS1idXR0b25dOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tbm9ybWFsLWJnLWhvdmVyKTtib3JkZXItY29sb3I6dmFyKC0tbm9ybWFsLWJvcmRlci1ob3Zlcil9W2RhdGEtcmljaC1jb2xvcnM9dHJ1ZV1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtdHlwZT1zdWNjZXNzXXtiYWNrZ3JvdW5kOnZhcigtLXN1Y2Nlc3MtYmcpO2JvcmRlci1jb2xvcjp2YXIoLS1zdWNjZXNzLWJvcmRlcik7Y29sb3I6dmFyKC0tc3VjY2Vzcy10ZXh0KX1bZGF0YS1yaWNoLWNvbG9ycz10cnVlXVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS10eXBlPXN1Y2Nlc3NdIFtkYXRhLWNsb3NlLWJ1dHRvbl17YmFja2dyb3VuZDp2YXIoLS1zdWNjZXNzLWJnKTtib3JkZXItY29sb3I6dmFyKC0tc3VjY2Vzcy1ib3JkZXIpO2NvbG9yOnZhcigtLXN1Y2Nlc3MtdGV4dCl9W2RhdGEtcmljaC1jb2xvcnM9dHJ1ZV1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtdHlwZT1pbmZvXXtiYWNrZ3JvdW5kOnZhcigtLWluZm8tYmcpO2JvcmRlci1jb2xvcjp2YXIoLS1pbmZvLWJvcmRlcik7Y29sb3I6dmFyKC0taW5mby10ZXh0KX1bZGF0YS1yaWNoLWNvbG9ycz10cnVlXVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS10eXBlPWluZm9dIFtkYXRhLWNsb3NlLWJ1dHRvbl17YmFja2dyb3VuZDp2YXIoLS1pbmZvLWJnKTtib3JkZXItY29sb3I6dmFyKC0taW5mby1ib3JkZXIpO2NvbG9yOnZhcigtLWluZm8tdGV4dCl9W2RhdGEtcmljaC1jb2xvcnM9dHJ1ZV1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtdHlwZT13YXJuaW5nXXtiYWNrZ3JvdW5kOnZhcigtLXdhcm5pbmctYmcpO2JvcmRlci1jb2xvcjp2YXIoLS13YXJuaW5nLWJvcmRlcik7Y29sb3I6dmFyKC0td2FybmluZy10ZXh0KX1bZGF0YS1yaWNoLWNvbG9ycz10cnVlXVtkYXRhLXNvbm5lci10b2FzdF1bZGF0YS10eXBlPXdhcm5pbmddIFtkYXRhLWNsb3NlLWJ1dHRvbl17YmFja2dyb3VuZDp2YXIoLS13YXJuaW5nLWJnKTtib3JkZXItY29sb3I6dmFyKC0td2FybmluZy1ib3JkZXIpO2NvbG9yOnZhcigtLXdhcm5pbmctdGV4dCl9W2RhdGEtcmljaC1jb2xvcnM9dHJ1ZV1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtdHlwZT1lcnJvcl17YmFja2dyb3VuZDp2YXIoLS1lcnJvci1iZyk7Ym9yZGVyLWNvbG9yOnZhcigtLWVycm9yLWJvcmRlcik7Y29sb3I6dmFyKC0tZXJyb3ItdGV4dCl9W2RhdGEtcmljaC1jb2xvcnM9dHJ1ZV1bZGF0YS1zb25uZXItdG9hc3RdW2RhdGEtdHlwZT1lcnJvcl0gW2RhdGEtY2xvc2UtYnV0dG9uXXtiYWNrZ3JvdW5kOnZhcigtLWVycm9yLWJnKTtib3JkZXItY29sb3I6dmFyKC0tZXJyb3ItYm9yZGVyKTtjb2xvcjp2YXIoLS1lcnJvci10ZXh0KX0uc29ubmVyLWxvYWRpbmctd3JhcHBlcnstLXNpemU6MTZweDtoZWlnaHQ6dmFyKC0tc2l6ZSk7d2lkdGg6dmFyKC0tc2l6ZSk7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDt6LWluZGV4OjEwfS5zb25uZXItbG9hZGluZy13cmFwcGVyW2RhdGEtdmlzaWJsZT1mYWxzZV17dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7YW5pbWF0aW9uOnNvbm5lci1mYWRlLW91dCAuMnMgZWFzZSBmb3J3YXJkc30uc29ubmVyLXNwaW5uZXJ7cG9zaXRpb246cmVsYXRpdmU7dG9wOjUwJTtsZWZ0OjUwJTtoZWlnaHQ6dmFyKC0tc2l6ZSk7d2lkdGg6dmFyKC0tc2l6ZSl9LnNvbm5lci1sb2FkaW5nLWJhcnthbmltYXRpb246c29ubmVyLXNwaW4gMS4ycyBsaW5lYXIgaW5maW5pdGU7YmFja2dyb3VuZDp2YXIoLS1ncmF5MTEpO2JvcmRlci1yYWRpdXM6NnB4O2hlaWdodDo4JTtsZWZ0Oi0xMCU7cG9zaXRpb246YWJzb2x1dGU7dG9wOi0zLjklO3dpZHRoOjI0JX0uc29ubmVyLWxvYWRpbmctYmFyOmZpcnN0LWNoaWxke2FuaW1hdGlvbi1kZWxheTotMS4yczt0cmFuc2Zvcm06cm90YXRlKC4wMDAxZGVnKSB0cmFuc2xhdGUoMTQ2JSl9LnNvbm5lci1sb2FkaW5nLWJhcjpudGgtY2hpbGQoMil7YW5pbWF0aW9uLWRlbGF5Oi0xLjFzO3RyYW5zZm9ybTpyb3RhdGUoMzBkZWcpIHRyYW5zbGF0ZSgxNDYlKX0uc29ubmVyLWxvYWRpbmctYmFyOm50aC1jaGlsZCgzKXthbmltYXRpb24tZGVsYXk6LTFzO3RyYW5zZm9ybTpyb3RhdGUoNjBkZWcpIHRyYW5zbGF0ZSgxNDYlKX0uc29ubmVyLWxvYWRpbmctYmFyOm50aC1jaGlsZCg0KXthbmltYXRpb24tZGVsYXk6LS45czt0cmFuc2Zvcm06cm90YXRlKDkwZGVnKSB0cmFuc2xhdGUoMTQ2JSl9LnNvbm5lci1sb2FkaW5nLWJhcjpudGgtY2hpbGQoNSl7YW5pbWF0aW9uLWRlbGF5Oi0uOHM7dHJhbnNmb3JtOnJvdGF0ZSgxMjBkZWcpIHRyYW5zbGF0ZSgxNDYlKX0uc29ubmVyLWxvYWRpbmctYmFyOm50aC1jaGlsZCg2KXthbmltYXRpb24tZGVsYXk6LS43czt0cmFuc2Zvcm06cm90YXRlKDE1MGRlZykgdHJhbnNsYXRlKDE0NiUpfS5zb25uZXItbG9hZGluZy1iYXI6bnRoLWNoaWxkKDcpe2FuaW1hdGlvbi1kZWxheTotLjZzO3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKSB0cmFuc2xhdGUoMTQ2JSl9LnNvbm5lci1sb2FkaW5nLWJhcjpudGgtY2hpbGQoOCl7YW5pbWF0aW9uLWRlbGF5Oi0uNXM7dHJhbnNmb3JtOnJvdGF0ZSgyMTBkZWcpIHRyYW5zbGF0ZSgxNDYlKX0uc29ubmVyLWxvYWRpbmctYmFyOm50aC1jaGlsZCg5KXthbmltYXRpb24tZGVsYXk6LS40czt0cmFuc2Zvcm06cm90YXRlKDI0MGRlZykgdHJhbnNsYXRlKDE0NiUpfS5zb25uZXItbG9hZGluZy1iYXI6bnRoLWNoaWxkKDEwKXthbmltYXRpb24tZGVsYXk6LS4zczt0cmFuc2Zvcm06cm90YXRlKDI3MGRlZykgdHJhbnNsYXRlKDE0NiUpfS5zb25uZXItbG9hZGluZy1iYXI6bnRoLWNoaWxkKDExKXthbmltYXRpb24tZGVsYXk6LS4yczt0cmFuc2Zvcm06cm90YXRlKDMwMGRlZykgdHJhbnNsYXRlKDE0NiUpfS5zb25uZXItbG9hZGluZy1iYXI6bnRoLWNoaWxkKDEyKXthbmltYXRpb24tZGVsYXk6LS4xczt0cmFuc2Zvcm06cm90YXRlKDMzMGRlZykgdHJhbnNsYXRlKDE0NiUpfUBrZXlmcmFtZXMgc29ubmVyLWZhZGUtaW57MCV7b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZSguOCl9MTAwJXtvcGFjaXR5OjE7dHJhbnNmb3JtOnNjYWxlKDEpfX1Aa2V5ZnJhbWVzIHNvbm5lci1mYWRlLW91dHswJXtvcGFjaXR5OjE7dHJhbnNmb3JtOnNjYWxlKDEpfTEwMCV7b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZSguOCl9fUBrZXlmcmFtZXMgc29ubmVyLXNwaW57MCV7b3BhY2l0eToxfTEwMCV7b3BhY2l0eTouMTV9fUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbil7LnNvbm5lci1sb2FkaW5nLWJhcixbZGF0YS1zb25uZXItdG9hc3RdLFtkYXRhLXNvbm5lci10b2FzdF0+Knt0cmFuc2l0aW9uOm5vbmUhaW1wb3J0YW50O2FuaW1hdGlvbjpub25lIWltcG9ydGFudH19LnNvbm5lci1sb2FkZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyx0cmFuc2Zvcm0gLjJzfS5zb25uZXItbG9hZGVyW2RhdGEtdmlzaWJsZT1mYWxzZV17b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZSguOCkgdHJhbnNsYXRlKC01MCUsLTUwJSl9Iik7ZnVuY3Rpb24geTMoJCl7cmV0dXJuICQubGFiZWwhPT12b2lkIDB9dmFyIFlYPTMscVg9IjI0cHgiLEdYPSIxNnB4Iix6Nz00MDAwLFZYPTM1NixCWD0xNCxMWD00NSx6WD0yMDA7ZnVuY3Rpb24gdTAoLi4uJCl7cmV0dXJuICQuZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiAiKX1mdW5jdGlvbiBVWCgkKXtsZXRbSixRXT0kLnNwbGl0KCItIiksWj1bXTtpZihKKVoucHVzaChKKTtpZihRKVoucHVzaChRKTtyZXR1cm4gWn12YXIgTlg9KCQpPT57dmFyIEosUSxaLEssWSxxLEcsQixMO2xldHtpbnZlcnQ6eix0b2FzdDpWLHVuc3R5bGVkOk4saW50ZXJhY3Rpbmc6SCxzZXRIZWlnaHRzOk8sdmlzaWJsZVRvYXN0czpVLGhlaWdodHM6QyxpbmRleDpNLHRvYXN0czprLGV4cGFuZGVkOncscmVtb3ZlVG9hc3Q6VCxkZWZhdWx0UmljaENvbG9yczpTLGNsb3NlQnV0dG9uOlAsc3R5bGU6dixjYW5jZWxCdXR0b25TdHlsZTpqLGFjdGlvbkJ1dHRvblN0eWxlOnUsY2xhc3NOYW1lOnQ9IiIsZGVzY3JpcHRpb25DbGFzc05hbWU6YT0iIixkdXJhdGlvbjpzLHBvc2l0aW9uOloxLGdhcDptLGV4cGFuZEJ5RGVmYXVsdDpKMSxjbGFzc05hbWVzOlIsaWNvbnM6VTEsY2xvc2VCdXR0b25BcmlhTGFiZWw6QzE9IkNsb3NlIHRvYXN0In09JCxbTzEsZF09Zi51c2VTdGF0ZShudWxsKSxbZSxYMV09Zi51c2VTdGF0ZShudWxsKSxbaCxpXT1mLnVzZVN0YXRlKCExKSxbcCxiXT1mLnVzZVN0YXRlKCExKSxbbyxjXT1mLnVzZVN0YXRlKCExKSxbRjEsRDFdPWYudXNlU3RhdGUoITEpLFtoMSxrMV09Zi51c2VTdGF0ZSghMSksW28xLFkwXT1mLnVzZVN0YXRlKDApLFtCMCxQMV09Zi51c2VTdGF0ZSgwKSxzMT1mLnVzZVJlZihWLmR1cmF0aW9ufHxzfHx6NyksTDA9Zi51c2VSZWYobnVsbCksYjE9Zi51c2VSZWYobnVsbCksbj1NPT09MCxWMT1NKzE8PVUsSDE9Vi50eXBlLHoxPVYuZGlzbWlzc2libGUhPT0hMSxkMT1WLmNsYXNzTmFtZXx8IiIseDE9Vi5kZXNjcmlwdGlvbkNsYXNzTmFtZXx8IiIsdzE9Zi51c2VNZW1vKCgpPT5DLmZpbmRJbmRleCgoRCk9PkQudG9hc3RJZD09PVYuaWQpfHwwLFtDLFYuaWRdKSxyMT1mLnVzZU1lbW8oKCk9Pnt2YXIgRDtyZXR1cm4oRD1WLmNsb3NlQnV0dG9uKSE9bnVsbD9EOlB9LFtWLmNsb3NlQnV0dG9uLFBdKSxxMT1mLnVzZU1lbW8oKCk9PlYuZHVyYXRpb258fHN8fHo3LFtWLmR1cmF0aW9uLHNdKSxmMT1mLnVzZVJlZigwKSxYMD1mLnVzZVJlZigwKSx6MD1mLnVzZVJlZigwKSxqMT1mLnVzZVJlZihudWxsKSxbJDAsQTBdPVoxLnNwbGl0KCItIiksbTE9Zi51c2VNZW1vKCgpPT57cmV0dXJuIEMucmVkdWNlKChELGwsJDEpPT57aWYoJDE+PXcxKXJldHVybiBEO3JldHVybiBEK2wuaGVpZ2h0fSwwKX0sW0MsdzFdKSxrMD0kWCgpLGExPVYuaW52ZXJ0fHx6LHAxPUgxPT09ImxvYWRpbmciO1gwLmN1cnJlbnQ9Zi51c2VNZW1vKCgpPT53MSptK20xLFt3MSxtMV0pLGYudXNlRWZmZWN0KCgpPT57czEuY3VycmVudD1xMX0sW3ExXSksZi51c2VFZmZlY3QoKCk9PntpKCEwKX0sW10pLGYudXNlRWZmZWN0KCgpPT57bGV0IEQ9YjEuY3VycmVudDtpZihEKXtsZXQgbD1ELmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodDtyZXR1cm4gUDEobCksTygoJDEpPT5be3RvYXN0SWQ6Vi5pZCxoZWlnaHQ6bCxwb3NpdGlvbjpWLnBvc2l0aW9ufSwuLi4kMV0pLCgpPT5PKCgkMSk9PiQxLmZpbHRlcigoRzEpPT5HMS50b2FzdElkIT09Vi5pZCkpfX0sW08sVi5pZF0pLGYudXNlTGF5b3V0RWZmZWN0KCgpPT57aWYoIWgpcmV0dXJuO2xldCBEPWIxLmN1cnJlbnQsbD1ELnN0eWxlLmhlaWdodDtELnN0eWxlLmhlaWdodD0iYXV0byI7bGV0ICQxPUQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0O0Quc3R5bGUuaGVpZ2h0PWwsUDEoJDEpLE8oKEcxKT0+e2lmKCFHMS5maW5kKChOMSk9Pk4xLnRvYXN0SWQ9PT1WLmlkKSlyZXR1cm5be3RvYXN0SWQ6Vi5pZCxoZWlnaHQ6JDEscG9zaXRpb246Vi5wb3NpdGlvbn0sLi4uRzFdO2Vsc2UgcmV0dXJuIEcxLm1hcCgoTjEpPT5OMS50b2FzdElkPT09Vi5pZD97Li4uTjEsaGVpZ2h0OiQxfTpOMSl9KX0sW2gsVi50aXRsZSxWLmRlc2NyaXB0aW9uLE8sVi5pZCxWLmpzeCxWLmFjdGlvbixWLmNhbmNlbF0pO2xldCBFMT1mLnVzZUNhbGxiYWNrKCgpPT57YighMCksWTAoWDAuY3VycmVudCksTygoRCk9PkQuZmlsdGVyKChsKT0+bC50b2FzdElkIT09Vi5pZCkpLHNldFRpbWVvdXQoKCk9PntUKFYpfSx6WCl9LFtWLFQsTyxYMF0pO2YudXNlRWZmZWN0KCgpPT57aWYoVi5wcm9taXNlJiZIMT09PSJsb2FkaW5nInx8Vi5kdXJhdGlvbj09PTEvMHx8Vi50eXBlPT09ImxvYWRpbmciKXJldHVybjtsZXQgRCxsPSgpPT57aWYoejAuY3VycmVudDxmMS5jdXJyZW50KXtsZXQgRzE9bmV3IERhdGUoKS5nZXRUaW1lKCktZjEuY3VycmVudDtzMS5jdXJyZW50PXMxLmN1cnJlbnQtRzF9ejAuY3VycmVudD1uZXcgRGF0ZSgpLmdldFRpbWUoKX0sJDE9KCk9PntpZihzMS5jdXJyZW50PT09MS8wKXJldHVybjtmMS5jdXJyZW50PW5ldyBEYXRlKCkuZ2V0VGltZSgpLEQ9c2V0VGltZW91dCgoKT0+e1Yub25BdXRvQ2xvc2U9PW51bGx8fFYub25BdXRvQ2xvc2UuY2FsbChWLFYpLEUxKCl9LHMxLmN1cnJlbnQpfTtpZih3fHxIfHxrMClsKCk7ZWxzZSAkMSgpO3JldHVybigpPT5jbGVhclRpbWVvdXQoRCl9LFt3LEgsVixIMSxrMCxFMV0pLGYudXNlRWZmZWN0KCgpPT57aWYoVi5kZWxldGUpRTEoKSxWLm9uRGlzbWlzcz09bnVsbHx8Vi5vbkRpc21pc3MuY2FsbChWLFYpfSxbRTEsVi5kZWxldGVdKTtmdW5jdGlvbiBfMCgpe3ZhciBEO2lmKFUxPT1udWxsP3ZvaWQgMDpVMS5sb2FkaW5nKXt2YXIgbDtyZXR1cm4gZi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6dTAoUj09bnVsbD92b2lkIDA6Ui5sb2FkZXIsVj09bnVsbD92b2lkIDA6KGw9Vi5jbGFzc05hbWVzKT09bnVsbD92b2lkIDA6bC5sb2FkZXIsInNvbm5lci1sb2FkZXIiKSwiZGF0YS12aXNpYmxlIjpIMT09PSJsb2FkaW5nIn0sVTEubG9hZGluZyl9cmV0dXJuIGYuY3JlYXRlRWxlbWVudChuWix7Y2xhc3NOYW1lOnUwKFI9PW51bGw/dm9pZCAwOlIubG9hZGVyLFY9PW51bGw/dm9pZCAwOihEPVYuY2xhc3NOYW1lcyk9PW51bGw/dm9pZCAwOkQubG9hZGVyKSx2aXNpYmxlOkgxPT09ImxvYWRpbmcifSl9bGV0IHgwPVYuaWNvbnx8KFUxPT1udWxsP3ZvaWQgMDpVMVtIMV0pfHxvWihIMSk7dmFyIFUwLFIwO3JldHVybiBmLmNyZWF0ZUVsZW1lbnQoImxpIix7dGFiSW5kZXg6MCxyZWY6YjEsY2xhc3NOYW1lOnUwKHQsZDEsUj09bnVsbD92b2lkIDA6Ui50b2FzdCxWPT1udWxsP3ZvaWQgMDooSj1WLmNsYXNzTmFtZXMpPT1udWxsP3ZvaWQgMDpKLnRvYXN0LFI9PW51bGw/dm9pZCAwOlIuZGVmYXVsdCxSPT1udWxsP3ZvaWQgMDpSW0gxXSxWPT1udWxsP3ZvaWQgMDooUT1WLmNsYXNzTmFtZXMpPT1udWxsP3ZvaWQgMDpRW0gxXSksImRhdGEtc29ubmVyLXRvYXN0IjoiIiwiZGF0YS1yaWNoLWNvbG9ycyI6KFUwPVYucmljaENvbG9ycykhPW51bGw/VTA6UywiZGF0YS1zdHlsZWQiOiFCb29sZWFuKFYuanN4fHxWLnVuc3R5bGVkfHxOKSwiZGF0YS1tb3VudGVkIjpoLCJkYXRhLXByb21pc2UiOkJvb2xlYW4oVi5wcm9taXNlKSwiZGF0YS1zd2lwZWQiOmgxLCJkYXRhLXJlbW92ZWQiOnAsImRhdGEtdmlzaWJsZSI6VjEsImRhdGEteS1wb3NpdGlvbiI6JDAsImRhdGEteC1wb3NpdGlvbiI6QTAsImRhdGEtaW5kZXgiOk0sImRhdGEtZnJvbnQiOm4sImRhdGEtc3dpcGluZyI6bywiZGF0YS1kaXNtaXNzaWJsZSI6ejEsImRhdGEtdHlwZSI6SDEsImRhdGEtaW52ZXJ0IjphMSwiZGF0YS1zd2lwZS1vdXQiOkYxLCJkYXRhLXN3aXBlLWRpcmVjdGlvbiI6ZSwiZGF0YS1leHBhbmRlZCI6Qm9vbGVhbih3fHxKMSYmaCksImRhdGEtdGVzdGlkIjpWLnRlc3RJZCxzdHlsZTp7Ii0taW5kZXgiOk0sIi0tdG9hc3RzLWJlZm9yZSI6TSwiLS16LWluZGV4IjprLmxlbmd0aC1NLCItLW9mZnNldCI6YCR7cD9vMTpYMC5jdXJyZW50fXB4YCwiLS1pbml0aWFsLWhlaWdodCI6SjE/ImF1dG8iOmAke0IwfXB4YCwuLi52LC4uLlYuc3R5bGV9LG9uRHJhZ0VuZDooKT0+e2MoITEpLGQobnVsbCksajEuY3VycmVudD1udWxsfSxvblBvaW50ZXJEb3duOihEKT0+e2lmKEQuYnV0dG9uPT09MilyZXR1cm47aWYocDF8fCF6MSlyZXR1cm47aWYoTDAuY3VycmVudD1uZXcgRGF0ZSxZMChYMC5jdXJyZW50KSxELnRhcmdldC5zZXRQb2ludGVyQ2FwdHVyZShELnBvaW50ZXJJZCksRC50YXJnZXQudGFnTmFtZT09PSJCVVRUT04iKXJldHVybjtjKCEwKSxqMS5jdXJyZW50PXt4OkQuY2xpZW50WCx5OkQuY2xpZW50WX19LG9uUG9pbnRlclVwOigpPT57dmFyIEQsbCwkMTtpZihGMXx8IXoxKXJldHVybjtqMS5jdXJyZW50PW51bGw7bGV0IEcxPU51bWJlcigoKEQ9YjEuY3VycmVudCk9PW51bGw/dm9pZCAwOkQuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgiLS1zd2lwZS1hbW91bnQteCIpLnJlcGxhY2UoInB4IiwiIikpfHwwKSx5MT1OdW1iZXIoKChsPWIxLmN1cnJlbnQpPT1udWxsP3ZvaWQgMDpsLnN0eWxlLmdldFByb3BlcnR5VmFsdWUoIi0tc3dpcGUtYW1vdW50LXkiKS5yZXBsYWNlKCJweCIsIiIpKXx8MCksTjE9bmV3IERhdGUoKS5nZXRUaW1lKCktKCgkMT1MMC5jdXJyZW50KT09bnVsbD92b2lkIDA6JDEuZ2V0VGltZSgpKSxfMT1PMT09PSJ4Ij9HMTp5MSxQMD1NYXRoLmFicyhfMSkvTjE7aWYoTWF0aC5hYnMoXzEpPj1MWHx8UDA+MC4xMSl7aWYoWTAoWDAuY3VycmVudCksVi5vbkRpc21pc3M9PW51bGx8fFYub25EaXNtaXNzLmNhbGwoVixWKSxPMT09PSJ4IilYMShHMT4wPyJyaWdodCI6ImxlZnQiKTtlbHNlIFgxKHkxPjA/ImRvd24iOiJ1cCIpO0UxKCksRDEoITApO3JldHVybn1lbHNle3ZhciB1MSxpMTsodTE9YjEuY3VycmVudCk9PW51bGx8fHUxLnN0eWxlLnNldFByb3BlcnR5KCItLXN3aXBlLWFtb3VudC14IiwiMHB4IiksKGkxPWIxLmN1cnJlbnQpPT1udWxsfHxpMS5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1zd2lwZS1hbW91bnQteSIsIjBweCIpfWsxKCExKSxjKCExKSxkKG51bGwpfSxvblBvaW50ZXJNb3ZlOihEKT0+e3ZhciBsLCQxLEcxO2lmKCFqMS5jdXJyZW50fHwhejEpcmV0dXJuO2lmKCgobD13aW5kb3cuZ2V0U2VsZWN0aW9uKCkpPT1udWxsP3ZvaWQgMDpsLnRvU3RyaW5nKCkubGVuZ3RoKT4wKXJldHVybjtsZXQgTjE9RC5jbGllbnRZLWoxLmN1cnJlbnQueSxfMT1ELmNsaWVudFgtajEuY3VycmVudC54O3ZhciBQMDtsZXQgdTE9KFAwPSQuc3dpcGVEaXJlY3Rpb25zKSE9bnVsbD9QMDpVWChaMSk7aWYoIU8xJiYoTWF0aC5hYnMoXzEpPjF8fE1hdGguYWJzKE4xKT4xKSlkKE1hdGguYWJzKF8xKT5NYXRoLmFicyhOMSk/IngiOiJ5Iik7bGV0IGkxPXt4OjAseTowfSx2MD0oTjApPT57cmV0dXJuIDEvKDEuNStNYXRoLmFicyhOMCkvMjApfTtpZihPMT09PSJ5Iil7aWYodTEuaW5jbHVkZXMoInRvcCIpfHx1MS5pbmNsdWRlcygiYm90dG9tIikpaWYodTEuaW5jbHVkZXMoInRvcCIpJiZOMTwwfHx1MS5pbmNsdWRlcygiYm90dG9tIikmJk4xPjApaTEueT1OMTtlbHNle2xldCBOMD1OMSp2MChOMSk7aTEueT1NYXRoLmFicyhOMCk8TWF0aC5hYnMoTjEpP04wOk4xfX1lbHNlIGlmKE8xPT09IngiKXtpZih1MS5pbmNsdWRlcygibGVmdCIpfHx1MS5pbmNsdWRlcygicmlnaHQiKSlpZih1MS5pbmNsdWRlcygibGVmdCIpJiZfMTwwfHx1MS5pbmNsdWRlcygicmlnaHQiKSYmXzE+MClpMS54PV8xO2Vsc2V7bGV0IE4wPV8xKnYwKF8xKTtpMS54PU1hdGguYWJzKE4wKTxNYXRoLmFicyhfMSk/TjA6XzF9fWlmKE1hdGguYWJzKGkxLngpPjB8fE1hdGguYWJzKGkxLnkpPjApazEoITApOygkMT1iMS5jdXJyZW50KT09bnVsbHx8JDEuc3R5bGUuc2V0UHJvcGVydHkoIi0tc3dpcGUtYW1vdW50LXgiLGAke2kxLnh9cHhgKSwoRzE9YjEuY3VycmVudCk9PW51bGx8fEcxLnN0eWxlLnNldFByb3BlcnR5KCItLXN3aXBlLWFtb3VudC15IixgJHtpMS55fXB4YCl9fSxyMSYmIVYuanN4JiZIMSE9PSJsb2FkaW5nIj9mLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIseyJhcmlhLWxhYmVsIjpDMSwiZGF0YS1kaXNhYmxlZCI6cDEsImRhdGEtY2xvc2UtYnV0dG9uIjohMCxvbkNsaWNrOnAxfHwhejE/KCk9Pnt9OigpPT57RTEoKSxWLm9uRGlzbWlzcz09bnVsbHx8Vi5vbkRpc21pc3MuY2FsbChWLFYpfSxjbGFzc05hbWU6dTAoUj09bnVsbD92b2lkIDA6Ui5jbG9zZUJ1dHRvbixWPT1udWxsP3ZvaWQgMDooWj1WLmNsYXNzTmFtZXMpPT1udWxsP3ZvaWQgMDpaLmNsb3NlQnV0dG9uKX0sKFIwPVUxPT1udWxsP3ZvaWQgMDpVMS5jbG9zZSkhPW51bGw/UjA6ZVopOm51bGwsKEgxfHxWLmljb258fFYucHJvbWlzZSkmJlYuaWNvbiE9PW51bGwmJigoVTE9PW51bGw/dm9pZCAwOlUxW0gxXSkhPT1udWxsfHxWLmljb24pP2YuY3JlYXRlRWxlbWVudCgiZGl2Iix7ImRhdGEtaWNvbiI6IiIsY2xhc3NOYW1lOnUwKFI9PW51bGw/dm9pZCAwOlIuaWNvbixWPT1udWxsP3ZvaWQgMDooSz1WLmNsYXNzTmFtZXMpPT1udWxsP3ZvaWQgMDpLLmljb24pfSxWLnByb21pc2V8fFYudHlwZT09PSJsb2FkaW5nIiYmIVYuaWNvbj9WLmljb258fF8wKCk6bnVsbCxWLnR5cGUhPT0ibG9hZGluZyI/eDA6bnVsbCk6bnVsbCxmLmNyZWF0ZUVsZW1lbnQoImRpdiIseyJkYXRhLWNvbnRlbnQiOiIiLGNsYXNzTmFtZTp1MChSPT1udWxsP3ZvaWQgMDpSLmNvbnRlbnQsVj09bnVsbD92b2lkIDA6KFk9Vi5jbGFzc05hbWVzKT09bnVsbD92b2lkIDA6WS5jb250ZW50KX0sZi5jcmVhdGVFbGVtZW50KCJkaXYiLHsiZGF0YS10aXRsZSI6IiIsY2xhc3NOYW1lOnUwKFI9PW51bGw/dm9pZCAwOlIudGl0bGUsVj09bnVsbD92b2lkIDA6KHE9Vi5jbGFzc05hbWVzKT09bnVsbD92b2lkIDA6cS50aXRsZSl9LFYuanN4P1YuanN4OnR5cGVvZiBWLnRpdGxlPT09ImZ1bmN0aW9uIj9WLnRpdGxlKCk6Vi50aXRsZSksVi5kZXNjcmlwdGlvbj9mLmNyZWF0ZUVsZW1lbnQoImRpdiIseyJkYXRhLWRlc2NyaXB0aW9uIjoiIixjbGFzc05hbWU6dTAoYSx4MSxSPT1udWxsP3ZvaWQgMDpSLmRlc2NyaXB0aW9uLFY9PW51bGw/dm9pZCAwOihHPVYuY2xhc3NOYW1lcyk9PW51bGw/dm9pZCAwOkcuZGVzY3JpcHRpb24pfSx0eXBlb2YgVi5kZXNjcmlwdGlvbj09PSJmdW5jdGlvbiI/Vi5kZXNjcmlwdGlvbigpOlYuZGVzY3JpcHRpb24pOm51bGwpLGYuaXNWYWxpZEVsZW1lbnQoVi5jYW5jZWwpP1YuY2FuY2VsOlYuY2FuY2VsJiZ5MyhWLmNhbmNlbCk/Zi5jcmVhdGVFbGVtZW50KCJidXR0b24iLHsiZGF0YS1idXR0b24iOiEwLCJkYXRhLWNhbmNlbCI6ITAsc3R5bGU6Vi5jYW5jZWxCdXR0b25TdHlsZXx8aixvbkNsaWNrOihEKT0+e2lmKCF5MyhWLmNhbmNlbCkpcmV0dXJuO2lmKCF6MSlyZXR1cm47Vi5jYW5jZWwub25DbGljaz09bnVsbHx8Vi5jYW5jZWwub25DbGljay5jYWxsKFYuY2FuY2VsLEQpLEUxKCl9LGNsYXNzTmFtZTp1MChSPT1udWxsP3ZvaWQgMDpSLmNhbmNlbEJ1dHRvbixWPT1udWxsP3ZvaWQgMDooQj1WLmNsYXNzTmFtZXMpPT1udWxsP3ZvaWQgMDpCLmNhbmNlbEJ1dHRvbil9LFYuY2FuY2VsLmxhYmVsKTpudWxsLGYuaXNWYWxpZEVsZW1lbnQoVi5hY3Rpb24pP1YuYWN0aW9uOlYuYWN0aW9uJiZ5MyhWLmFjdGlvbik/Zi5jcmVhdGVFbGVtZW50KCJidXR0b24iLHsiZGF0YS1idXR0b24iOiEwLCJkYXRhLWFjdGlvbiI6ITAsc3R5bGU6Vi5hY3Rpb25CdXR0b25TdHlsZXx8dSxvbkNsaWNrOihEKT0+e2lmKCF5MyhWLmFjdGlvbikpcmV0dXJuO2lmKFYuYWN0aW9uLm9uQ2xpY2s9PW51bGx8fFYuYWN0aW9uLm9uQ2xpY2suY2FsbChWLmFjdGlvbixEKSxELmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO0UxKCl9LGNsYXNzTmFtZTp1MChSPT1udWxsP3ZvaWQgMDpSLmFjdGlvbkJ1dHRvbixWPT1udWxsP3ZvaWQgMDooTD1WLmNsYXNzTmFtZXMpPT1udWxsP3ZvaWQgMDpMLmFjdGlvbkJ1dHRvbil9LFYuYWN0aW9uLmxhYmVsKTpudWxsKX07ZnVuY3Rpb24gVTcoKXtpZih0eXBlb2Ygd2luZG93PiJ1IilyZXR1cm4ibHRyIjtpZih0eXBlb2YgZG9jdW1lbnQ+InUiKXJldHVybiJsdHIiO2xldCAkPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5nZXRBdHRyaWJ1dGUoImRpciIpO2lmKCQ9PT0iYXV0byJ8fCEkKXJldHVybiB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmRpcmVjdGlvbjtyZXR1cm4gJH1mdW5jdGlvbiBIWCgkLEope2xldCBRPXt9O3JldHVyblskLEpdLmZvckVhY2goKFosSyk9PntsZXQgWT1LPT09MSxxPVk/Ii0tbW9iaWxlLW9mZnNldCI6Ii0tb2Zmc2V0IixHPVk/R1g6cVg7ZnVuY3Rpb24gQihMKXtbInRvcCIsInJpZ2h0IiwiYm90dG9tIiwibGVmdCJdLmZvckVhY2goKHopPT57UVtgJHtxfS0ke3p9YF09dHlwZW9mIEw9PT0ibnVtYmVyIj9gJHtMfXB4YDpMfSl9aWYodHlwZW9mIFo9PT0ibnVtYmVyInx8dHlwZW9mIFo9PT0ic3RyaW5nIilCKFopO2Vsc2UgaWYodHlwZW9mIFo9PT0ib2JqZWN0IilbInRvcCIsInJpZ2h0IiwiYm90dG9tIiwibGVmdCJdLmZvckVhY2goKEwpPT57aWYoWltMXT09PXZvaWQgMClRW2Ake3F9LSR7TH1gXT1HO2Vsc2UgUVtgJHtxfS0ke0x9YF09dHlwZW9mIFpbTF09PT0ibnVtYmVyIj9gJHtaW0xdfXB4YDpaW0xdfSk7ZWxzZSBCKEcpfSksUX12YXIgSDc9Zi5mb3J3YXJkUmVmKGZ1bmN0aW9uKEosUSl7bGV0e2lkOlosaW52ZXJ0OksscG9zaXRpb246WT0iYm90dG9tLXJpZ2h0Iixob3RrZXk6cT1bImFsdEtleSIsIktleVQiXSxleHBhbmQ6RyxjbG9zZUJ1dHRvbjpCLGNsYXNzTmFtZTpMLG9mZnNldDp6LG1vYmlsZU9mZnNldDpWLHRoZW1lOk49ImxpZ2h0IixyaWNoQ29sb3JzOkgsZHVyYXRpb246TyxzdHlsZTpVLHZpc2libGVUb2FzdHM6Qz1ZWCx0b2FzdE9wdGlvbnM6TSxkaXI6az1VNygpLGdhcDp3PUJYLGljb25zOlQsY29udGFpbmVyQXJpYUxhYmVsOlM9Ik5vdGlmaWNhdGlvbnMifT1KLFtQLHZdPWYudXNlU3RhdGUoW10pLGo9Zi51c2VNZW1vKCgpPT57aWYoWilyZXR1cm4gUC5maWx0ZXIoKGgpPT5oLnRvYXN0ZXJJZD09PVopO3JldHVybiBQLmZpbHRlcigoaCk9PiFoLnRvYXN0ZXJJZCl9LFtQLFpdKSx1PWYudXNlTWVtbygoKT0+e3JldHVybiBBcnJheS5mcm9tKG5ldyBTZXQoW1ldLmNvbmNhdChqLmZpbHRlcigoaCk9PmgucG9zaXRpb24pLm1hcCgoaCk9PmgucG9zaXRpb24pKSkpfSxbaixZXSksW3QsYV09Zi51c2VTdGF0ZShbXSksW3MsWjFdPWYudXNlU3RhdGUoITEpLFttLEoxXT1mLnVzZVN0YXRlKCExKSxbUixVMV09Zi51c2VTdGF0ZShOIT09InN5c3RlbSI/Tjp0eXBlb2Ygd2luZG93PCJ1Ij93aW5kb3cubWF0Y2hNZWRpYSYmd2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykiKS5tYXRjaGVzPyJkYXJrIjoibGlnaHQiOiJsaWdodCIpLEMxPWYudXNlUmVmKG51bGwpLE8xPXEuam9pbigiKyIpLnJlcGxhY2UoL0tleS9nLCIiKS5yZXBsYWNlKC9EaWdpdC9nLCIiKSxkPWYudXNlUmVmKG51bGwpLGU9Zi51c2VSZWYoITEpLFgxPWYudXNlQ2FsbGJhY2soKGgpPT57digoaSk9Pnt2YXIgcDtpZighKChwPWkuZmluZCgoYik9PmIuaWQ9PT1oLmlkKSk9PW51bGw/dm9pZCAwOnAuZGVsZXRlKSlNMC5kaXNtaXNzKGguaWQpO3JldHVybiBpLmZpbHRlcigoe2lkOmJ9KT0+YiE9PWguaWQpfSl9LFtdKTtyZXR1cm4gZi51c2VFZmZlY3QoKCk9PntyZXR1cm4gTTAuc3Vic2NyaWJlKChoKT0+e2lmKGguZGlzbWlzcyl7cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57digoaSk9PmkubWFwKChwKT0+cC5pZD09PWguaWQ/ey4uLnAsZGVsZXRlOiEwfTpwKSl9KTtyZXR1cm59c2V0VGltZW91dCgoKT0+e2YuZmx1c2hTeW5jKCgpPT57digoaSk9PntsZXQgcD1pLmZpbmRJbmRleCgoYik9PmIuaWQ9PT1oLmlkKTtpZihwIT09LTEpcmV0dXJuWy4uLmkuc2xpY2UoMCxwKSx7Li4uaVtwXSwuLi5ofSwuLi5pLnNsaWNlKHArMSldO3JldHVybltoLC4uLmldfSl9KX0pfSl9LFtQXSksZi51c2VFZmZlY3QoKCk9PntpZihOIT09InN5c3RlbSIpe1UxKE4pO3JldHVybn1pZihOPT09InN5c3RlbSIpaWYod2luZG93Lm1hdGNoTWVkaWEmJndpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIikubWF0Y2hlcylVMSgiZGFyayIpO2Vsc2UgVTEoImxpZ2h0Iik7aWYodHlwZW9mIHdpbmRvdz4idSIpcmV0dXJuO2xldCBoPXdpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIik7dHJ5e2guYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwoe21hdGNoZXM6aX0pPT57aWYoaSlVMSgiZGFyayIpO2Vsc2UgVTEoImxpZ2h0Iil9KX1jYXRjaChpKXtoLmFkZExpc3RlbmVyKCh7bWF0Y2hlczpwfSk9Pnt0cnl7aWYocClVMSgiZGFyayIpO2Vsc2UgVTEoImxpZ2h0Iil9Y2F0Y2goYil7Y29uc29sZS5lcnJvcihiKX19KX19LFtOXSksZi51c2VFZmZlY3QoKCk9PntpZihQLmxlbmd0aDw9MSlaMSghMSl9LFtQXSksZi51c2VFZmZlY3QoKCk9PntsZXQgaD0oaSk9Pnt2YXIgcDtpZihxLmV2ZXJ5KChjKT0+aVtjXXx8aS5jb2RlPT09Yykpe3ZhciBvO1oxKCEwKSwobz1DMS5jdXJyZW50KT09bnVsbHx8by5mb2N1cygpfWlmKGkuY29kZT09PSJFc2NhcGUiJiYoZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PUMxLmN1cnJlbnR8fCgocD1DMS5jdXJyZW50KT09bnVsbD92b2lkIDA6cC5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KSkpKVoxKCExKX07cmV0dXJuIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGgpLCgpPT5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIixoKX0sW3FdKSxmLnVzZUVmZmVjdCgoKT0+e2lmKEMxLmN1cnJlbnQpcmV0dXJuKCk9PntpZihkLmN1cnJlbnQpZC5jdXJyZW50LmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSksZC5jdXJyZW50PW51bGwsZS5jdXJyZW50PSExfX0sW0MxLmN1cnJlbnRdKSxmLmNyZWF0ZUVsZW1lbnQoInNlY3Rpb24iLHtyZWY6USwiYXJpYS1sYWJlbCI6YCR7U30gJHtPMX1gLHRhYkluZGV4Oi0xLCJhcmlhLWxpdmUiOiJwb2xpdGUiLCJhcmlhLXJlbGV2YW50IjoiYWRkaXRpb25zIHRleHQiLCJhcmlhLWF0b21pYyI6ImZhbHNlIixzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmc6ITB9LHUubWFwKChoLGkpPT57dmFyIHA7bGV0W2Isb109aC5zcGxpdCgiLSIpO2lmKCFqLmxlbmd0aClyZXR1cm4gbnVsbDtyZXR1cm4gZi5jcmVhdGVFbGVtZW50KCJvbCIse2tleTpoLGRpcjprPT09ImF1dG8iP1U3KCk6ayx0YWJJbmRleDotMSxyZWY6QzEsY2xhc3NOYW1lOkwsImRhdGEtc29ubmVyLXRvYXN0ZXIiOiEwLCJkYXRhLXNvbm5lci10aGVtZSI6UiwiZGF0YS15LXBvc2l0aW9uIjpiLCJkYXRhLXgtcG9zaXRpb24iOm8sc3R5bGU6eyItLWZyb250LXRvYXN0LWhlaWdodCI6YCR7KChwPXRbMF0pPT1udWxsP3ZvaWQgMDpwLmhlaWdodCl8fDB9cHhgLCItLXdpZHRoIjpgJHtWWH1weGAsIi0tZ2FwIjpgJHt3fXB4YCwuLi5VLC4uLkhYKHosVil9LG9uQmx1cjooYyk9PntpZihlLmN1cnJlbnQmJiFjLmN1cnJlbnRUYXJnZXQuY29udGFpbnMoYy5yZWxhdGVkVGFyZ2V0KSl7aWYoZS5jdXJyZW50PSExLGQuY3VycmVudClkLmN1cnJlbnQuZm9jdXMoe3ByZXZlbnRTY3JvbGw6ITB9KSxkLmN1cnJlbnQ9bnVsbH19LG9uRm9jdXM6KGMpPT57aWYoYy50YXJnZXQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmYy50YXJnZXQuZGF0YXNldC5kaXNtaXNzaWJsZT09PSJmYWxzZSIpcmV0dXJuO2lmKCFlLmN1cnJlbnQpZS5jdXJyZW50PSEwLGQuY3VycmVudD1jLnJlbGF0ZWRUYXJnZXR9LG9uTW91c2VFbnRlcjooKT0+WjEoITApLG9uTW91c2VNb3ZlOigpPT5aMSghMCksb25Nb3VzZUxlYXZlOigpPT57aWYoIW0pWjEoITEpfSxvbkRyYWdFbmQ6KCk9PloxKCExKSxvblBvaW50ZXJEb3duOihjKT0+e2lmKGMudGFyZ2V0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJmMudGFyZ2V0LmRhdGFzZXQuZGlzbWlzc2libGU9PT0iZmFsc2UiKXJldHVybjtKMSghMCl9LG9uUG9pbnRlclVwOigpPT5KMSghMSl9LGouZmlsdGVyKChjKT0+IWMucG9zaXRpb24mJmk9PT0wfHxjLnBvc2l0aW9uPT09aCkubWFwKChjLEYxKT0+e3ZhciBEMSxoMTtyZXR1cm4gZi5jcmVhdGVFbGVtZW50KE5YLHtrZXk6Yy5pZCxpY29uczpULGluZGV4OkYxLHRvYXN0OmMsZGVmYXVsdFJpY2hDb2xvcnM6SCxkdXJhdGlvbjooRDE9TT09bnVsbD92b2lkIDA6TS5kdXJhdGlvbikhPW51bGw/RDE6TyxjbGFzc05hbWU6TT09bnVsbD92b2lkIDA6TS5jbGFzc05hbWUsZGVzY3JpcHRpb25DbGFzc05hbWU6TT09bnVsbD92b2lkIDA6TS5kZXNjcmlwdGlvbkNsYXNzTmFtZSxpbnZlcnQ6Syx2aXNpYmxlVG9hc3RzOkMsY2xvc2VCdXR0b246KGgxPU09PW51bGw/dm9pZCAwOk0uY2xvc2VCdXR0b24pIT1udWxsP2gxOkIsaW50ZXJhY3Rpbmc6bSxwb3NpdGlvbjpoLHN0eWxlOk09PW51bGw/dm9pZCAwOk0uc3R5bGUsdW5zdHlsZWQ6TT09bnVsbD92b2lkIDA6TS51bnN0eWxlZCxjbGFzc05hbWVzOk09PW51bGw/dm9pZCAwOk0uY2xhc3NOYW1lcyxjYW5jZWxCdXR0b25TdHlsZTpNPT1udWxsP3ZvaWQgMDpNLmNhbmNlbEJ1dHRvblN0eWxlLGFjdGlvbkJ1dHRvblN0eWxlOk09PW51bGw/dm9pZCAwOk0uYWN0aW9uQnV0dG9uU3R5bGUsY2xvc2VCdXR0b25BcmlhTGFiZWw6TT09bnVsbD92b2lkIDA6TS5jbG9zZUJ1dHRvbkFyaWFMYWJlbCxyZW1vdmVUb2FzdDpYMSx0b2FzdHM6ai5maWx0ZXIoKGsxKT0+azEucG9zaXRpb249PWMucG9zaXRpb24pLGhlaWdodHM6dC5maWx0ZXIoKGsxKT0+azEucG9zaXRpb249PWMucG9zaXRpb24pLHNldEhlaWdodHM6YSxleHBhbmRCeURlZmF1bHQ6RyxnYXA6dyxleHBhbmRlZDpzLHN3aXBlRGlyZWN0aW9uczpKLnN3aXBlRGlyZWN0aW9uc30pfSkpfSkpfSk7ZnVuY3Rpb24gQzcoKXtyZXR1cm4gWChINyx7dGhlbWU6ImRhcmsiLHBvc2l0aW9uOiJib3R0b20tY2VudGVyIix2aXNpYmxlVG9hc3RzOjQsZ2FwOjgsb2Zmc2V0Ontib3R0b206MjR9LHRvYXN0T3B0aW9uczp7dW5zdHlsZWQ6ITB9LHN0eWxlOnt6SW5kZXg6MjE0NzQ4MzY0N30sY29udGFpbmVyQXJpYUxhYmVsOiJzZXJ2ZS1zaW0gbm90aWZpY2F0aW9ucyJ9KX1mdW5jdGlvbiBNNyh7dG9hc3Q6JH0pe2xldCBKPSQuc3RhdHVzPT09ImVycm9yIixRPSQuc3RhdHVzPT09InVwbG9hZGluZyIsWj1RJiYkLnByb2dyZXNzIT09bnVsbCxLPSQucHJvZ3Jlc3MhPW51bGw/TWF0aC5yb3VuZCgkLnByb2dyZXNzKjEwMCk6MDtyZXR1cm4gWCgiZGl2Iix7ImRhdGEtdGVzdGlkIjoidXBsb2FkLXRvYXN0IixjbGFzc05hbWU6YGZsZXggdy1bbWluKDMyMHB4LGNhbGMoMTAwdnctMzJweCkpXSBmbGV4LWNvbCBnYXAtMS41IHB4LTMgcHktMiBiZy1wYW5lbCBib3JkZXIgYm9yZGVyLXdoaXRlLzEyIHJvdW5kZWQtbGcgdGV4dC13aGl0ZS85MCB0ZXh0LVsxMnB4XSBmb250LW1vbm8gc2hhZG93LVswXzhweF8yNHB4X3JnYmEoMCwwLDAsMC40NSldICR7Sj8ic2VsZWN0LXRleHQgY3Vyc29yLXRleHQiOiJzZWxlY3Qtbm9uZSBjdXJzb3ItZGVmYXVsdCJ9YCxjaGlsZHJlbjpbWCgiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiBtaW4tdy0wIixjaGlsZHJlbjpbWCgic3BhbiIse2NsYXNzTmFtZToic2l6ZS0xLjUgcm91bmRlZC1mdWxsIHNocmluay0wIFt0cmFuc2l0aW9uOmJhY2tncm91bmRfMC4zc10iLHN0eWxlOntiYWNrZ3JvdW5kOlE/IiNhNWI0ZmMiOiQuc3RhdHVzPT09InN1Y2Nlc3MiPyIjNGFkZTgwIjoiI2Y4NzE3MSJ9fSksWCgic3BhbiIse2NsYXNzTmFtZToiZmxleC0xIG92ZXJmbG93LWhpZGRlbiB0ZXh0LWVsbGlwc2lzIHdoaXRlc3BhY2Utbm93cmFwIixjaGlsZHJlbjpbUSYmWiYmYFVwbG9hZGluZyAkeyQubmFtZX3igKYgJHtLfSVgLFEmJiFaJiYoJC5raW5kPT09ImlwYSI/YEluc3RhbGxpbmcgJHskLm5hbWV94oCmYDpgQWRkaW5nICR7JC5uYW1lfeKApmApLCQuc3RhdHVzPT09InN1Y2Nlc3MiJiYoJC5raW5kPT09ImlwYSI/YEluc3RhbGxlZCAkeyQubmFtZX1gOmBBZGRlZCAkeyQubmFtZX0gdG8gUGhvdG9zYCksSiYmYCR7JC5uYW1lfTogJHskLm1lc3NhZ2U/PyJVcGxvYWQgZmFpbGVkIn1gXX0pXX0pLFEmJlgoImRpdiIse2NsYXNzTmFtZToicmVsYXRpdmUgaC1bM3B4XSB3LWZ1bGwgYmctd2hpdGUvOCByb3VuZGVkLVsycHhdIG92ZXJmbG93LWhpZGRlbiIsY2hpbGRyZW46Wj9YKCJkaXYiLHtjbGFzc05hbWU6ImgtZnVsbCBiZy1hY2NlbnQgcm91bmRlZC1bMnB4XSBbdHJhbnNpdGlvbjp3aWR0aF8xMjBtc19saW5lYXJdIixzdHlsZTp7d2lkdGg6YCR7S30lYH19KTpYKCJkaXYiLHtjbGFzc05hbWU6InNlcnZlLXNpbS10b2FzdC1pbmRldGVybWluYXRlIGFic29sdXRlIHRvcC0wIGxlZnQtMCBoLWZ1bGwgdy1bNDAlXSBiZy1hY2NlbnQgcm91bmRlZC1bMnB4XSJ9KX0pXX0pfWZ1bmN0aW9uIE83KHt3aWR0aDokLGhlaWdodDpKLHZpc2libGU6UX0pe3JldHVybiBYKCJkaXYiLHsiYXJpYS1oaWRkZW4iOiJ0cnVlIixjbGFzc05hbWU6ImFic29sdXRlIHJpZ2h0LTMgYm90dG9tLTMgei0yMCBwb2ludGVyLWV2ZW50cy1ub25lIHNlbGVjdC1ub25lIHJvdW5kZWQtbGcgcHgtMi41IHB5LTEgdGV4dC1bMTEuNXB4XSBmb250LW1vbm8gbGVhZGluZy1ub25lIHRyYWNraW5nLXdpZGUgdGV4dC13aGl0ZS85NSBiZy1wYW5lbC1iZy10cmFuc2x1Y2VudCBzaGFkb3ctWzBfMXB4XzJweF9yZ2JhKDAsMCwwLDAuMTgpLDBfNnB4XzE4cHhfcmdiYSgwLDAsMCwwLjI4KSxpbnNldF8wXzBfMF8xcHhfcmdiYSgyNTUsMjU1LDI1NSwwLjA2KV0gYmFja2Ryb3AtYmx1ci1tZCBiYWNrZHJvcC1zYXR1cmF0ZS0xNTAgd2hpdGVzcGFjZS1ub3dyYXAiLHN0eWxlOntvcGFjaXR5OlE/MTowLHRyYW5zZm9ybTpgdHJhbnNsYXRlWSgke1E/MDo0fXB4KSBzY2FsZSgke1E/MTowLjk2fSlgLHRyYW5zZm9ybU9yaWdpbjoiMTAwJSAxMDAlIix0cmFuc2l0aW9uOiJvcGFjaXR5IDE4MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksIHRyYW5zZm9ybSAyMjBtcyBjdWJpYy1iZXppZXIoMC4yLCAwLjgyLCAwLjIyLCAxKSJ9LGNoaWxkcmVuOltNYXRoLnJvdW5kKCQpLCIgIixYKCJzcGFuIix7Y2xhc3NOYW1lOiJvcGFjaXR5LTYwIG14LTAuNSIsY2hpbGRyZW46IsOXIn0pLCIgIixNYXRoLnJvdW5kKEopXX0pfWZ1bmN0aW9uIEE3KHtzdHJlYW1pbmc6JH0pe2xldCBKPSQ/IiM0YWRlODAiOiIjOGU4ZTkzIjtyZXR1cm4gWCgic3BhbiIseyJkYXRhLXRlc3RpZCI6InN0cmVhbS1zdGF0dXMtcGlsbCIsY2xhc3NOYW1lOiJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgZ2FwLVs1cHhdIHRleHQtWzEycHhdIGZvbnQtbW9ubyBmb250LW1lZGl1bSBsZWFkaW5nLW5vbmUgd2hpdGVzcGFjZS1ub3dyYXAiLHN0eWxlOntjb2xvcjpKfSwiYXJpYS1saXZlIjoicG9saXRlIixjaGlsZHJlbjpbWCgic3BhbiIseyJhcmlhLWhpZGRlbiI6InRydWUiLGNsYXNzTmFtZToic2l6ZS0xLjUgcm91bmRlZC1mdWxsIFt0cmFuc2l0aW9uOmJhY2tncm91bmRfMC4xOHNfZWFzZV0iLHN0eWxlOntiYWNrZ3JvdW5kOkp9fSksJD8ibGl2ZSI6ImNvbm5lY3RpbmciXX0pfWZ1bmN0aW9uIFowKHtvcGVuOiQsb25PcGVuQ2hhbmdlOkosc3VtbWFyeTpRLGNoaWxkcmVuOlosc3VtbWFyeUNsYXNzTmFtZTpLPSIiLGJvZHlDbGFzc05hbWU6WT0iZmxleCBmbGV4LWNvbCBnYXAtMi41IHB0LTIuNSIsY2xhc3NOYW1lOnE9IiIsLi4uR30pe3JldHVybiBYKCJkZXRhaWxzIix7b3BlbjokLG9uVG9nZ2xlOihCKT0+SihCLmN1cnJlbnRUYXJnZXQub3BlbiksY2xhc3NOYW1lOmBsZW0tc2VjdGlvbiBiZy1wYW5lbCByb3VuZGVkLVsxMHB4XSBweC0zIHB5LTIgJHtxfWAsLi4uRyxjaGlsZHJlbjpbWCgic3VtbWFyeSIse2NsYXNzTmFtZTpgbGVtLXRvZ2dsZSBjdXJzb3ItcG9pbnRlciBzZWxlY3Qtbm9uZSB0ZXh0LXdoaXRlLzkwIG1pbi1oLVszNnB4XSBsZWFkaW5nLW5vbmUgcHktMi41IHB4LTEgLW15LTIgLW14LTEgdy1bY2FsYygxMDAlKzhweCldICR7S31gLGNoaWxkcmVuOltRLFgoUDUse29wZW46JH0pXX0pLFgoImRpdiIse2NsYXNzTmFtZTpZLGNoaWxkcmVuOlp9KV19KX1mdW5jdGlvbiBmMih7bGFiZWw6JCxjaGVja2VkOkosZGlzYWJsZWQ6UT0hMSxvbkNoYW5nZTpafSl7cmV0dXJuIFgoImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIscm9sZToic3dpdGNoIiwiYXJpYS1jaGVja2VkIjpKLCJhcmlhLWxhYmVsIjokLGRpc2FibGVkOlEsb25DbGljazooKT0+WighSiksY2xhc3NOYW1lOmByZWxhdGl2ZSBoLVsxOHB4XSB3LTggc2hyaW5rLTAgcm91bmRlZC1mdWxsIGJvcmRlci1ub25lIHAtMCBbdHJhbnNpdGlvbjpiYWNrZ3JvdW5kXzAuMTVzXSAke1E/ImN1cnNvci1kZWZhdWx0IGJnLXdoaXRlLzIwIjpKPyJjdXJzb3ItcG9pbnRlciBiZy1bIzBhODRmZl0iOiJjdXJzb3ItcG9pbnRlciBiZy13aGl0ZS8yMCJ9YCxjaGlsZHJlbjpYKCJzcGFuIix7Y2xhc3NOYW1lOmBhYnNvbHV0ZSB0b3AtWzJweF0gc2l6ZS1bMTRweF0gcm91bmRlZC1mdWxsIFt0cmFuc2l0aW9uOmxlZnRfMC4xNXNdICR7UT8iYmctd2hpdGUvNTAiOiJiZy13aGl0ZSJ9YCxzdHlsZTp7bGVmdDpKPzE2OjJ9fSl9KX1mdW5jdGlvbiBDWCgkLEosUSl7bGV0IFo9US5sYXQqTWF0aC5QSS8xODAsSz0oJC1RLmxhdCkqTWF0aC5QSS8xODA7cmV0dXJue3g6KEotUS5sbmcpKk1hdGguUEkvMTgwKk1hdGguY29zKFopKjYzNzEwMDAsejotSyo2MzcxMDAwfX1mdW5jdGlvbiBNWCgkLEosUSl7bGV0IFo9US5sYXQqTWF0aC5QSS8xODAsSz0tSi82MzcxMDAwKigxODAvTWF0aC5QSSksWT0kLyg2MzcxMDAwKk1hdGguY29zKFopKSooMTgwL01hdGguUEkpO3JldHVybntsYXQ6US5sYXQrSyxsbmc6US5sbmcrWX19ZnVuY3Rpb24gT1goJCxKLFEsWixLKXtsZXQgWT1LKksscT1ZKkssRz0oQixMLHosVik9PjAuNSooMipMKygtQit6KSpLKygyKkItNSpMKzQqei1WKSpZKygtQiszKkwtMyp6K1YpKnEpO3JldHVybnt4OkcoJC54LEoueCxRLngsWi54KSx6OkcoJC56LEoueixRLnosWi56KSx5OkcoJC55LEoueSxRLnksWi55KSxyYXdBbHQ6RygkLnJhd0FsdCxKLnJhd0FsdCxRLnJhd0FsdCxaLnJhd0FsdCl9fWZ1bmN0aW9uIEFYKCQsSixRKXtpZigkLmxlbmd0aDwyKXJldHVybiAkLnNsaWNlKCk7bGV0IFo9W10sSz0kLmxlbmd0aCxZPVE/SzpLLTE7Zm9yKGxldCBxPTA7cTxZO3ErKyl7bGV0IEc9JFtRPyhxLTErSyklSzpNYXRoLm1heCgwLHEtMSldLEI9JFtxJUtdLEw9JFsocSsxKSVLXSx6PSRbUT8ocSsyKSVLOk1hdGgubWluKEstMSxxKzIpXSxWPUwueC1CLngsTj1MLnotQi56LEg9TWF0aC5oeXBvdChWLE4pLE89TWF0aC5tYXgoMixNYXRoLmNlaWwoSC9KKSk7Zm9yKGxldCBVPTA7VTxPO1UrKyl7bGV0IEM9VS9PO1oucHVzaChPWChHLEIsTCx6LEMpKX19aWYoIVEpWi5wdXNoKCRbSy0xXSk7cmV0dXJuIFp9ZnVuY3Rpb24gazcoJCl7aWYoJC53YXlwb2ludHMubGVuZ3RoPDIpdGhyb3cgRXJyb3IoYFRyYWlsICR7JC5pZH0gbmVlZHMgYXQgbGVhc3QgMiB3YXlwb2ludHNgKTtsZXQgSj17bGF0OiQud2F5cG9pbnRzLnJlZHVjZSgoVSxDKT0+VStDLmxhdCwwKS8kLndheXBvaW50cy5sZW5ndGgsbG5nOiQud2F5cG9pbnRzLnJlZHVjZSgoVSxDKT0+VStDLmxuZywwKS8kLndheXBvaW50cy5sZW5ndGh9LFE9JC53YXlwb2ludHMubWFwKChVKT0+VS5hbHQ/PzApLFo9TWF0aC5taW4oLi4uUSksSz1NYXRoLm1heCguLi5RKSxZPSQud2F5cG9pbnRzLm1hcCgoVSk9PntsZXR7eDpDLHo6TX09Q1goVS5sYXQsVS5sbmcsSiksaz1VLmFsdD8/MDtyZXR1cm57eDpDLHo6TSx5OmstWixyYXdBbHQ6a319KSxxPUFYKFksOCwhISQubG9vcCksRz1bXSxCPTA7Zm9yKGxldCBVPTA7VTxxLmxlbmd0aDtVKyspe2xldCBDPXFbVV07aWYoVT4wKXtsZXQgVD1xW1UtMV07Qis9TWF0aC5oeXBvdChDLngtVC54LEMuei1ULnosQy55LVQueSl9bGV0e2xhdDpNLGxuZzprfT1NWChDLngsQy56LEopLHc9TWF0aC5tYXgoMCxDLnkpO0cucHVzaCh7eDpDLngsejpDLnoseTp3LGFyYzpCLGxhdDpNLGxuZzprfSl9bGV0IEw9MS8wLHo9LTEvMCxWPTEvMCxOPS0xLzAsSD0xLzAsTz0tMS8wO2ZvcihsZXQgVSBvZiBHKXtpZihVLng8TClMPVUueDtpZihVLng+eil6PVUueDtpZihVLno8VilWPVUuejtpZihVLno+TilOPVUuejtpZihVLnk8SClIPVUueTtpZihVLnk+TylPPVUueX1yZXR1cm57dHJhaWw6JCxvcmlnaW46Sixwb2ludHM6Ryx0b3RhbERpc3RhbmNlOkdbRy5sZW5ndGgtMV0uYXJjLGJvdW5kczp7eDpbTCx6XSx5OltILE9dLHo6W1YsTl19LHJhd01pbkFsdDpaLHJhd01heEFsdDpLfX1mdW5jdGlvbiBPMigkLEope2xldCBRPSQudG90YWxEaXN0YW5jZTtpZihRPT09MClyZXR1cm4gJC5wb2ludHNbMF07bGV0IFo9SjtpZigkLnRyYWlsLmxvb3ApWj0oWiVRK1EpJVE7ZWxzZXtpZihaPD0wKXJldHVybiAkLnBvaW50c1swXTtpZihaPj1RKXJldHVybiAkLnBvaW50c1skLnBvaW50cy5sZW5ndGgtMV19bGV0IEs9MCxZPSQucG9pbnRzLmxlbmd0aC0xO3doaWxlKEsrMTxZKXtsZXQgej1LK1k+Pj4xO2lmKCQucG9pbnRzW3pdLmFyYzw9WilLPXo7ZWxzZSBZPXp9bGV0IHE9JC5wb2ludHNbS10sRz0kLnBvaW50c1tZXSxCPUcuYXJjLXEuYXJjLEw9Qj09PTA/MDooWi1xLmFyYykvQjtyZXR1cm57eDpxLngrKEcueC1xLngpKkwsejpxLnorKEcuei1xLnopKkwseTpxLnkrKEcueS1xLnkpKkwsYXJjOlosbGF0OnEubGF0KyhHLmxhdC1xLmxhdCkqTCxsbmc6cS5sbmcrKEcubG5nLXEubG5nKSpMfX1mdW5jdGlvbiBpOCgkKXtzd2l0Y2goJCl7Y2FzZSJ3YWxrIjpyZXR1cm4gMS40O2Nhc2UicnVuIjpyZXR1cm4gMztjYXNlImN5Y2xlIjpyZXR1cm4gNS41O2Nhc2UiZHJpdmUiOnJldHVybiAxMy40fX12YXIga1g9W3tsYXQ6MzcuMzMyNzIsbG5nOi0xMjIuMDA4MzMsYWx0OjQ5fSx7bGF0OjM3LjMzMzA5LGxuZzotMTIyLjAwNzM1LGFsdDo0OH0se2xhdDozNy4zMzM3Myxsbmc6LTEyMi4wMDY2MyxhbHQ6NDl9LHtsYXQ6MzcuMzM0NTQsbG5nOi0xMjIuMDA2MjcsYWx0OjQ5fSx7bGF0OjM3LjMzNTQsbG5nOi0xMjIuMDA2MzMsYWx0OjQ5fSx7bGF0OjM3LjMzNjE4LGxuZzotMTIyLjAwNjc5LGFsdDo0NX0se2xhdDozNy4zMzY3NSxsbmc6LTEyMi4wMDc1OSxhbHQ6NDV9LHtsYXQ6MzcuMzM3MDQsbG5nOi0xMjIuMDA4NjEsYWx0OjQ2fSx7bGF0OjM3LjMzNjk4LGxuZzotMTIyLjAwOTY5LGFsdDo0OH0se2xhdDozNy4zMzY2Mixsbmc6LTEyMi4wMTA2NixhbHQ6NDh9LHtsYXQ6MzcuMzM1OTgsbG5nOi0xMjIuMDExMzgsYWx0OjQ5fSx7bGF0OjM3LjMzNTE3LGxuZzotMTIyLjAxMTc0LGFsdDo1MH0se2xhdDozNy4zMzQzMSxsbmc6LTEyMi4wMTE2OSxhbHQ6NTB9LHtsYXQ6MzcuMzMzNTQsbG5nOi0xMjIuMDExMjIsYWx0OjUwfSx7bGF0OjM3LjMzMjk2LGxuZzotMTIyLjAxMDQyLGFsdDo1MX0se2xhdDozNy4zMzI2OCxsbmc6LTEyMi4wMDk0LGFsdDo1MH1dLEZYPVt7bGF0OjM3LjgzMjEyLGxuZzotMTIyLjQ4MDY1LGFsdDozMH0se2xhdDozNy44MjkzNyxsbmc6LTEyMi40Nzk3NCxhbHQ6MzB9LHtsYXQ6MzcuODI2NDksbG5nOi0xMjIuNDc5NCxhbHQ6MzB9LHtsYXQ6MzcuODIzNjIsbG5nOi0xMjIuNDc5MDcsYWx0OjQ1fSx7bGF0OjM3LjgyMDc0LGxuZzotMTIyLjQ3ODczLGFsdDo1OX0se2xhdDozNy44MTc4Nixsbmc6LTEyMi40NzgzOSxhbHQ6NjZ9LHtsYXQ6MzcuODE0OTgsbG5nOi0xMjIuNDc4MDYsYWx0OjY2fSx7bGF0OjM3LjgxMjExLGxuZzotMTIyLjQ3NzcyLGFsdDo1OH0se2xhdDozNy44MDkyMyxsbmc6LTEyMi40NzczNCxhbHQ6NDR9LHtsYXQ6MzcuODA5NDksbG5nOi0xMjIuNDc3MyxhbHQ6NDV9LHtsYXQ6MzcuODEyMzYsbG5nOi0xMjIuNDc3NjUsYWx0OjU5fSx7bGF0OjM3LjgxNTI0LGxuZzotMTIyLjQ3Nzk4LGFsdDo2Nn0se2xhdDozNy44MTgxMixsbmc6LTEyMi40NzgzMixhbHQ6NjZ9LHtsYXQ6MzcuODIxLGxuZzotMTIyLjQ3ODY2LGFsdDo1OH0se2xhdDozNy44MjM4Nyxsbmc6LTEyMi40NzksYWx0OjQ0fSx7bGF0OjM3LjgyNjc1LGxuZzotMTIyLjQ3OTMzLGFsdDozMH0se2xhdDozNy44Mjk2Myxsbmc6LTEyMi40Nzk2NyxhbHQ6MzB9LHtsYXQ6MzcuODMyMzMsbG5nOi0xMjIuNDgwNzIsYWx0OjMwfV0sV1g9W3tsYXQ6MzcuODg2NjQsbG5nOi0xMjIuNjI1OTksYWx0OjEyMX0se2xhdDozNy44ODg4Nyxsbmc6LTEyMi42MjMzMixhbHQ6MTM1fSx7bGF0OjM3Ljg5MTE1LGxuZzotMTIyLjYyMTYsYWx0OjE2NH0se2xhdDozNy44OTM1Myxsbmc6LTEyMi42MTkyMSxhbHQ6MTgwfSx7bGF0OjM3Ljg5NDY2LGxuZzotMTIyLjYxNTc3LGFsdDoyMjB9LHtsYXQ6MzcuODk2MzEsbG5nOi0xMjIuNjEyNjgsYWx0OjI3M30se2xhdDozNy44OTkxNyxsbmc6LTEyMi42MTA5OCxhbHQ6MzEzfSx7bGF0OjM3LjkwMTY2LGxuZzotMTIyLjYwODU1LGFsdDozNDJ9LHtsYXQ6MzcuOTAxOTksbG5nOi0xMjIuNjA2MDEsYWx0OjQwOH0se2xhdDozNy45MDMzOSxsbmc6LTEyMi42MDQwMSxhbHQ6NDUwfSx7bGF0OjM3LjkwNjYyLGxuZzotMTIyLjYwMjkxLGFsdDo0NDB9LHtsYXQ6MzcuOTA5NzEsbG5nOi0xMjIuNjAxNzMsYWx0OjQzMn0se2xhdDozNy45MTIxMyxsbmc6LTEyMi42MDAwNyxhbHQ6NDM2fSx7bGF0OjM3LjkxNDM5LGxuZzotMTIyLjU5NzgsYWx0OjQxMH0se2xhdDozNy45MTI4NSxsbmc6LTEyMi41OTUwNCxhbHQ6NDIyfSx7bGF0OjM3LjkxMjc0LGxuZzotMTIyLjU5MjAyLGFsdDo0MjV9LHtsYXQ6MzcuOTE1LGxuZzotMTIyLjU5MDMyLGFsdDo0MTJ9LHtsYXQ6MzcuOTE2MzcsbG5nOi0xMjIuNTg5MDMsYWx0OjQwNn0se2xhdDozNy45MTQ4MSxsbmc6LTEyMi41ODU5NSxhbHQ6MzgyfSx7bGF0OjM3LjkxNzQsbG5nOi0xMjIuNTgzOTgsYWx0OjM3Mn0se2xhdDozNy45MTY0Mixsbmc6LTEyMi41ODIzNixhbHQ6MzUyfSx7bGF0OjM3LjkxNDgxLGxuZzotMTIyLjU4MDExLGFsdDozNDJ9XSxEWD1be2xhdDo0MC43ODIxNixsbmc6LTczLjk2MjU0LGFsdDozN30se2xhdDo0MC43ODIyMSxsbmc6LTczLjk2MDk4LGFsdDozNn0se2xhdDo0MC43ODMyOCxsbmc6LTczLjk2MDEsYWx0OjM2fSx7bGF0OjQwLjc4NDQsbG5nOi03My45NTkzLGFsdDozNn0se2xhdDo0MC43ODU1LGxuZzotNzMuOTU4NDgsYWx0OjM2fSx7bGF0OjQwLjc4NjY0LGxuZzotNzMuOTU3NzQsYWx0OjM2fSx7bGF0OjQwLjc4NzksbG5nOi03My45NTc2NCxhbHQ6MzZ9LHtsYXQ6NDAuNzg4OTgsbG5nOi03My45NTc5MixhbHQ6MzZ9LHtsYXQ6NDAuNzg4NjgsbG5nOi03My45NTk1MSxhbHQ6Mzd9LHtsYXQ6NDAuNzg4OTcsbG5nOi03My45NjExMixhbHQ6MzZ9LHtsYXQ6NDAuNzg4MzMsbG5nOi03My45NjI1LGFsdDozN30se2xhdDo0MC43ODgyOCxsbmc6LTczLjk2NDE2LGFsdDozN30se2xhdDo0MC43ODgwNSxsbmc6LTczLjk2NTczLGFsdDozNn0se2xhdDo0MC43ODY5MSxsbmc6LTczLjk2NjM2LGFsdDozNn0se2xhdDo0MC43ODU2Nixsbmc6LTczLjk2NjY1LGFsdDozNn0se2xhdDo0MC43ODQ1OCxsbmc6LTczLjk2NjA4LGFsdDozNn0se2xhdDo0MC43ODQwMixsbmc6LTczLjk2NDU5LGFsdDozNn0se2xhdDo0MC43ODMyMixsbmc6LTczLjk2MzM0LGFsdDozN31dLF9YPVt7bGF0OjM3LjU5NjU5LGxuZzotMTIyLjUwMzE2LGFsdDo0fSx7bGF0OjM3LjU5NTU1LGxuZzotMTIyLjUwNDI0LGFsdDo0fSx7bGF0OjM3LjU5NDUyLGxuZzotMTIyLjUwNTM0LGFsdDo1fSx7bGF0OjM3LjU5MzI5LGxuZzotMTIyLjUwNTg4LGFsdDo5fSx7bGF0OjM3LjU5MjEyLGxuZzotMTIyLjUwNTA4LGFsdDoyMH0se2xhdDozNy41OTEsbG5nOi0xMjIuNTA0MTMsYWx0OjI5fSx7bGF0OjM3LjU4OTc0LGxuZzotMTIyLjUwNDE2LGFsdDo0MH0se2xhdDozNy41ODg3LGxuZzotMTIyLjUwNTI0LGFsdDo1MX0se2xhdDozNy41ODc0NSxsbmc6LTEyMi41MDQ5NixhbHQ6NjB9LHtsYXQ6MzcuNTg2MjcsbG5nOi0xMjIuNTA0MjIsYWx0OjcxfSx7bGF0OjM3LjU4NTM5LGxuZzotMTIyLjUwNTM0LGFsdDo4Mn0se2xhdDozNy41ODUwNSxsbmc6LTEyMi41MDY5OCxhbHQ6OTN9LHtsYXQ6MzcuNTg1MzksbG5nOi0xMjIuNTA1MzQsYWx0OjgyfSx7bGF0OjM3LjU4NjI3LGxuZzotMTIyLjUwNDIyLGFsdDo3MX0se2xhdDozNy41ODc0NSxsbmc6LTEyMi41MDQ5NixhbHQ6NjB9LHtsYXQ6MzcuNTg4Nyxsbmc6LTEyMi41MDUyNCxhbHQ6NTF9LHtsYXQ6MzcuNTg5NzQsbG5nOi0xMjIuNTA0MTYsYWx0OjQwfSx7bGF0OjM3LjU5MSxsbmc6LTEyMi41MDQxMyxhbHQ6Mjl9LHtsYXQ6MzcuNTkyMTIsbG5nOi0xMjIuNTA1MDgsYWx0OjIwfSx7bGF0OjM3LjU5MzI5LGxuZzotMTIyLjUwNTg4LGFsdDo5fSx7bGF0OjM3LjU5NDUyLGxuZzotMTIyLjUwNTM0LGFsdDo1fSx7bGF0OjM3LjU5NTU1LGxuZzotMTIyLjUwNDI0LGFsdDo0fV0sQTI9W3tpZDoiYXBwbGUtcGFyay1sb29wIixuYW1lOiJBcHBsZSBQYXJrIExvb3AiLGRlc2NyaXB0aW9uOiJDdXBlcnRpbm8g4oCiIGZsYXQgcmluZyByb2FkIixtb2RlOiJ3YWxrIix3YXlwb2ludHM6a1gsbG9vcDohMH0se2lkOiJnb2xkZW4tZ2F0ZSIsbmFtZToiR29sZGVuIEdhdGUgQ3Jvc3NpbmciLGRlc2NyaXB0aW9uOiJTYW4gRnJhbmNpc2NvIOKAoiBicmlkZ2Ugcm91bmQtdHJpcCIsbW9kZToicnVuIix3YXlwb2ludHM6RlgsbG9vcDohMH0se2lkOiJ0YW0tcmlkZ2UiLG5hbWU6Ik10LiBUYW0gUmlkZ2UiLGRlc2NyaXB0aW9uOiJTdGluc29uIEJlYWNoIOKAoiBTdGVlcCBSYXZpbmUgKyBNYXR0IERhdmlzIGxvb3AiLG1vZGU6IndhbGsiLHdheXBvaW50czpXWCxsb29wOiEwfSx7aWQ6ImNlbnRyYWwtcGFyayIsbmFtZToiUmVzZXJ2b2lyIExvb3AiLGRlc2NyaXB0aW9uOiJDZW50cmFsIFBhcmsg4oCiIDIuNSBrbSIsbW9kZToicnVuIix3YXlwb2ludHM6RFgsbG9vcDohMH0se2lkOiJwY2gtcGFjaWZpY2EiLG5hbWU6IlBhY2lmaWMgQ29hc3QgSHd5IixkZXNjcmlwdGlvbjoiUGFjaWZpY2Eg4oCiIERldmlsJ3MgU2xpZGUgcm91bmQtdHJpcCIsbW9kZToiZHJpdmUiLHdheXBvaW50czpfWCxsb29wOiEwfV07ZnVuY3Rpb24gYjMoe2xhYmVsOiQsdmFsdWU6SixvcHRpb25zOlEsZGlzYWJsZWQ6WixvbkNoYW5nZTpLLGNsYXNzTmFtZTpZfSl7bGV0W3EsR109QSghMSksQj1GKG51bGwpLEw9RihudWxsKSxbeixWXT1BKG51bGwpLE49KCk9PntsZXQgQz1CLmN1cnJlbnQ/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKCFDKXJldHVybjtWKHt0b3A6Qy5ib3R0b20rNCxsZWZ0OkMubGVmdCxtaW5XaWR0aDpDLndpZHRofSl9O0UwKCgpPT57aWYocSlOKCl9LFtxXSksRTAoKCk9PntpZighcXx8IXopcmV0dXJuO2xldCBDPUwuY3VycmVudCxNPUIuY3VycmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7aWYoIUN8fCFNKXJldHVybjtsZXQgaz04LHc9d2luZG93LmlubmVyV2lkdGgtQy5vZmZzZXRXaWR0aC1rLFQ9ei5sZWZ0Pnc/TWF0aC5tYXgoayx3KTp6LmxlZnQsUz1NLnRvcC1DLm9mZnNldEhlaWdodC00LFA9ei50b3ArQy5vZmZzZXRIZWlnaHQ8PXdpbmRvdy5pbm5lckhlaWdodC1rP3oudG9wOlM+PWs/UzpNYXRoLm1heChrLHdpbmRvdy5pbm5lckhlaWdodC1DLm9mZnNldEhlaWdodC1rKTtpZihQIT09ei50b3B8fFQhPT16LmxlZnQpVih7Li4ueix0b3A6UCxsZWZ0OlR9KX0sW3Esel0pLEUoKCk9PntpZighcSlyZXR1cm47bGV0IEM9KCk9PkcoITEpLE09KHcpPT57bGV0IFQ9dy50YXJnZXQ7aWYoIUwuY3VycmVudD8uY29udGFpbnMoVCkmJiFCLmN1cnJlbnQ/LmNvbnRhaW5zKFQpKUMoKX0saz0odyk9PntpZighTC5jdXJyZW50Py5jb250YWlucyh3LnRhcmdldCkpTigpfTtyZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsTSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsaywhMCksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsQyksKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixNKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixrLCEwKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIixDKX19LFtxXSk7bGV0IEg9RighMSk7RSgoKT0+e2lmKCFxKXtILmN1cnJlbnQ9ITE7cmV0dXJufWlmKCF6fHxILmN1cnJlbnQpcmV0dXJuO2xldCBDPUwuY3VycmVudD8ucXVlcnlTZWxlY3RvckFsbCgiW3JvbGU9b3B0aW9uXSIpO2lmKCFDPy5sZW5ndGgpcmV0dXJuO0guY3VycmVudD0hMDtsZXQgTT1RLmZpbmRJbmRleCgoayk9PmsudmFsdWU9PT1KKTtDW01hdGgubWF4KE0sMCldPy5mb2N1cygpfSxbcSx6LFEsSl0pO2xldCBPPShDKT0+e2xldCBNPVsuLi5MLmN1cnJlbnQ/LnF1ZXJ5U2VsZWN0b3JBbGwoIltyb2xlPW9wdGlvbl0iKT8/W11dLGs9TS5pbmRleE9mKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpO2lmKEMua2V5PT09IkFycm93RG93biJ8fEMua2V5PT09IkFycm93VXAiKXtDLnByZXZlbnREZWZhdWx0KCk7bGV0IHc9Qy5rZXk9PT0iQXJyb3dEb3duIj9NYXRoLm1pbihrKzEsTS5sZW5ndGgtMSk6TWF0aC5tYXgoay0xLDApO01bd10/LmZvY3VzKCl9ZWxzZSBpZihDLmtleT09PSJFc2NhcGUiKUMucHJldmVudERlZmF1bHQoKSxHKCExKSxCLmN1cnJlbnQ/LmZvY3VzKCl9LFU9US5maW5kKChDKT0+Qy52YWx1ZT09PUopO3JldHVybiBYKFkxLHtjaGlsZHJlbjpbWCgiYnV0dG9uIix7cmVmOkIsdHlwZToiYnV0dG9uIiwiYXJpYS1sYWJlbCI6JCwiYXJpYS1oYXNwb3B1cCI6Imxpc3Rib3giLCJhcmlhLWV4cGFuZGVkIjpxLGRpc2FibGVkOlosb25DbGljazooKT0+RygoQyk9PiFDKSxjbGFzc05hbWU6YHRleHQtbGVmdCBmb250LVtpbmhlcml0XSBjdXJzb3ItcG9pbnRlciBkaXNhYmxlZDpjdXJzb3ItZGVmYXVsdCAke1k/PyIifWAsY2hpbGRyZW46WCgic3BhbiIse2NsYXNzTmFtZToiYmxvY2sgdHJ1bmNhdGUiLGNoaWxkcmVuOlU/LmxhYmVsPz9KfSl9KSxxJiZ6JiZMOChYKCJkaXYiLHtyZWY6TCxyb2xlOiJsaXN0Ym94IiwiYXJpYS1sYWJlbCI6JCxvbktleURvd246TyxzdHlsZTp7dG9wOnoudG9wLGxlZnQ6ei5sZWZ0LG1pbldpZHRoOnoubWluV2lkdGh9LGNsYXNzTmFtZToiZml4ZWQgbWF4LWgtOTAgb3ZlcmZsb3cteS1hdXRvIGJnLXBhbmVsIGJvcmRlciBib3JkZXItd2hpdGUvMTIgcm91bmRlZC1bMTBweF0gcC0xIHNoYWRvdy1bMF84cHhfMjRweF9yZ2JhKDAsMCwwLDAuNSldIHRleHQtWzEycHhdIHRleHQtd2hpdGUvOTAgei01MCIsY2hpbGRyZW46US5tYXAoKEMpPT5YKCJidXR0b24iLHt0eXBlOiJidXR0b24iLHJvbGU6Im9wdGlvbiIsImFyaWEtc2VsZWN0ZWQiOkMudmFsdWU9PT1KLG9uQ2xpY2s6KCk9PntLKEMudmFsdWUpLEcoITEpLEIuY3VycmVudD8uZm9jdXMoKX0sY2xhc3NOYW1lOmBibG9jayB3LWZ1bGwgdGV4dC1sZWZ0IGZvbnQtW2luaGVyaXRdIHB4LTIuNSBweS0xIHJvdW5kZWQtbWQgY3Vyc29yLXBvaW50ZXIgd2hpdGVzcGFjZS1ub3dyYXAgdHJhbnNpdGlvbi1jb2xvcnMgaG92ZXI6Ymctd2hpdGUvOCBmb2N1cy12aXNpYmxlOmJnLXdoaXRlLzggb3V0bGluZS1ub25lICR7Qy52YWx1ZT09PUo/InRleHQtYWNjZW50IjoiIn1gLGNoaWxkcmVuOkMubGFiZWx9LEMudmFsdWUpKX0pLGRvY3VtZW50LmJvZHkpXX0pfXZhciBQWD02NTAsbjg9WzEsMiw1LDIwXSxGNz0xMDAwLHI4PXtzdGF0dXM6ImlkbGUiLGFyYzowLGVsYXBzZWRNczowfTtmdW5jdGlvbiBFNyh7dWRpZDokfSl7bGV0W0osUV09QSghMSksW1osS109QShBMlswXS5pZCksW1kscV09QShBMlswXS5tb2RlKSxbRyxCXT1BKDEpLFtMLHpdPUEocjgpLFtWLE5dPUEobnVsbCksSD1JMSgoKT0+QTIuZmluZCgobSk9Pm0uaWQ9PT1aKT8/QTJbMF0sW1pdKSxPPUkxKCgpPT5rNyhIKSxbSF0pLFU9RigwKSxDPUYoImlkbGUiKSxNPUYoaTgoWSkqRyksaz1GKDApLHc9RihPKSxUPUYobnVsbCk7RSgoKT0+e00uY3VycmVudD1pOChZKSpHfSxbWSxHXSk7bGV0IFM9RihudWxsKTtFKCgpPT57bGV0IG09dy5jdXJyZW50LEoxPVUuY3VycmVudDtpZih3LmN1cnJlbnQ9TyxtJiZtIT09TylTLmN1cnJlbnQ9SVgobSxKMSxPLHBlcmZvcm1hbmNlLm5vdygpKTtVLmN1cnJlbnQ9MCxrLmN1cnJlbnQ9MCxDLmN1cnJlbnQ9ImlkbGUiLFQuY3VycmVudD1udWxsLHoocjgpfSxbT10pO2xldCBQPUYoMCksdj1GKG51bGwpLGo9RihudWxsKTtFKCgpPT57bGV0IG09MCxKMT0oUik9PntsZXQgVTE9di5jdXJyZW50LEMxPVUxPT1udWxsPzE2Ok1hdGgubWluKDY0LFItVTEpO2lmKHYuY3VycmVudD1SLFAuY3VycmVudD0oUC5jdXJyZW50K0MxKjAuMDAwMTIpJShNYXRoLlBJKjIpLEMuY3VycmVudD09PSJwbGF5aW5nIil7bGV0IGQ9TS5jdXJyZW50KkMxLzEwMDA7VS5jdXJyZW50Kz1kLGsuY3VycmVudCs9QzE7bGV0IGU9dy5jdXJyZW50LnRvdGFsRGlzdGFuY2U7aWYoIXcuY3VycmVudC50cmFpbC5sb29wJiZVLmN1cnJlbnQ+PWUpVS5jdXJyZW50PWUsQy5jdXJyZW50PSJwYXVzZWQiLHooe3N0YXR1czoicGF1c2VkIixhcmM6ZSxlbGFwc2VkTXM6ay5jdXJyZW50fSl9bGV0IE8xPWouY3VycmVudDtpZihPMSl7bGV0IGQ9dy5jdXJyZW50LGU9bnVsbCxYMT1TLmN1cnJlbnQ7aWYoWDEpe2xldCBoPShSLVgxLnN0YXJ0TXMpL1BYO2lmKGg+PTEpUy5jdXJyZW50PW51bGw7ZWxzZXtsZXQgaT1iWChoKTtkPXlYKFgxLGkpLGU9e3g6WDEucHJldk1hcmtlci54KyhYMS5uZXh0TWFya2VyLngtWDEucHJldk1hcmtlci54KSppLHk6WDEucHJldk1hcmtlci55KyhYMS5uZXh0TWFya2VyLnktWDEucHJldk1hcmtlci55KSppLHo6WDEucHJldk1hcmtlci56KyhYMS5uZXh0TWFya2VyLnotWDEucHJldk1hcmtlci56KSppfX19eFgoTzEsZCxVLmN1cnJlbnQsUC5jdXJyZW50LFIsQy5jdXJyZW50PT09InBsYXlpbmciLGUpfW09cmVxdWVzdEFuaW1hdGlvbkZyYW1lKEoxKX07cmV0dXJuIG09cmVxdWVzdEFuaW1hdGlvbkZyYW1lKEoxKSwoKT0+Y2FuY2VsQW5pbWF0aW9uRnJhbWUobSl9LFtdKSxFKCgpPT57bGV0IG09c2V0SW50ZXJ2YWwoKCk9PntpZihDLmN1cnJlbnQ9PT0icGxheWluZyIpeih7c3RhdHVzOiJwbGF5aW5nIixhcmM6VS5jdXJyZW50LGVsYXBzZWRNczprLmN1cnJlbnR9KX0sMjUwKTtyZXR1cm4oKT0+Y2xlYXJJbnRlcnZhbChtKX0sW10pLEUoKCk9PntpZihMLnN0YXR1cyE9PSJwbGF5aW5nIilyZXR1cm47bGV0IG09ITEsSjE9MCxSPW51bGwsVTE9YXN5bmMoKT0+e2lmKG18fFIpcmV0dXJuO2xldCBPMT1EYXRlLm5vdygpO2lmKE8xLUoxPEY3KXJldHVybjtKMT1PMTtsZXQgZD1PMih3LmN1cnJlbnQsVS5jdXJyZW50KTtSPUExKCJsb2NhdGlvbi5zZXQiLHt1ZGlkOiQsbGF0OmQubGF0LGxuZzpkLmxuZ30pLnRoZW4oKGUpPT57aWYobSlyZXR1cm47aWYoZS5leGl0Q29kZSE9PTApTihUNyhlLnN0ZGVycil8fCJzaW1jdGwgbG9jYXRpb24gc2V0IGZhaWxlZCIpO2Vsc2UgTihudWxsKX0pLmNhdGNoKChlKT0+e2lmKCFtKU4oZSBpbnN0YW5jZW9mIEVycm9yP2UubWVzc2FnZTpTdHJpbmcoZSkpfSkuZmluYWxseSgoKT0+e1I9bnVsbH0pfTtVMSgpO2xldCBDMT1zZXRJbnRlcnZhbChVMSxGNyk7cmV0dXJuKCk9PnttPSEwLGNsZWFySW50ZXJ2YWwoQzEpfX0sW0wuc3RhdHVzLCRdKTtsZXQgdT1JKCgpPT57aWYoQy5jdXJyZW50PT09InBsYXlpbmciKXtDLmN1cnJlbnQ9InBhdXNlZCIseigobSk9Pih7Li4ubSxzdGF0dXM6InBhdXNlZCJ9KSk7cmV0dXJufWlmKFUuY3VycmVudD49dy5jdXJyZW50LnRvdGFsRGlzdGFuY2UmJiF3LmN1cnJlbnQudHJhaWwubG9vcClVLmN1cnJlbnQ9MCxrLmN1cnJlbnQ9MDtpZihULmN1cnJlbnQ9PW51bGwpe2xldCBtPU8yKHcuY3VycmVudCxVLmN1cnJlbnQpO1QuY3VycmVudD17bGF0Om0ubGF0LGxuZzptLmxuZ319Qy5jdXJyZW50PSJwbGF5aW5nIix6KChtKT0+KHsuLi5tLHN0YXR1czoicGxheWluZyIsYXJjOlUuY3VycmVudCxlbGFwc2VkTXM6ay5jdXJyZW50fSkpfSxbXSksdD1JKCgpPT57Qy5jdXJyZW50PSJpZGxlIixVLmN1cnJlbnQ9MCxrLmN1cnJlbnQ9MCx6KHI4KTtsZXQgbT1ULmN1cnJlbnQ7VC5jdXJyZW50PW51bGwsKCgpPT5tP0ExKCJsb2NhdGlvbi5zZXQiLHt1ZGlkOiQsbGF0Om0ubGF0LGxuZzptLmxuZ30pOkExKCJsb2NhdGlvbi5jbGVhciIse3VkaWQ6JH0pKSgpLnRoZW4oKFIpPT57aWYoUi5leGl0Q29kZSE9PTApTihUNyhSLnN0ZGVycil8fG51bGwpO2Vsc2UgTihudWxsKX0pfSxbJF0pLGE9SSgobSk9PntLKG0pO2xldCBKMT1BMi5maW5kKChSKT0+Ui5pZD09PW0pO2lmKEoxKXEoSjEubW9kZSl9LFtdKTtFKCgpPT4oKT0+e2lmKEMuY3VycmVudD09PSJpZGxlIilyZXR1cm47bGV0IG09VC5jdXJyZW50OygoKT0+bT9BMSgibG9jYXRpb24uc2V0Iix7dWRpZDokLGxhdDptLmxhdCxsbmc6bS5sbmd9KTpBMSgibG9jYXRpb24uY2xlYXIiLHt1ZGlkOiR9KSkoKS5jYXRjaCgoKT0+e30pfSxbJF0pO2xldCBzPUwuc3RhdHVzPT09InBsYXlpbmciLFoxPXM/YCR7czgoTC5hcmMpfSDCtyAke183KEwuZWxhcHNlZE1zKX1gOnM4KE8udG90YWxEaXN0YW5jZSk7cmV0dXJuIFgoWjAse29wZW46Sixvbk9wZW5DaGFuZ2U6USxzdW1tYXJ5Q2xhc3NOYW1lOiJncmlkIFtncmlkLXRlbXBsYXRlLWNvbHVtbnM6YXV0b19taW5tYXgoMCwxZnIpX2F1dG9dIFtjb250YWluZXItdHlwZTppbmxpbmUtc2l6ZV0gaXRlbXMtY2VudGVyIGdhcC0yIHRleHQtbGVmdCIsc3VtbWFyeTpYKFkxLHtjaGlsZHJlbjpbWCgic3BhbiIse2NsYXNzTmFtZToidGV4dC1bMTFweF0gZm9udC1zZW1pYm9sZCB0ZXh0LXdoaXRlLzUwIHVwcGVyY2FzZSB0cmFja2luZy1bMC4wOGVtXSBsZWFkaW5nLW5vbmUgaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIixjaGlsZHJlbjoiTG9jYXRpb24ifSksSj9YKCJzcGFuIix7ImRhdGEtbG9jYXRpb24tc3RhdHVzIjohMCxjbGFzc05hbWU6Im1pbi13LTAgdGV4dC1bMTFweF0gdGV4dC13aGl0ZS81NSBmb250LW1vbm8gaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGdhcC0xLjUganVzdGlmeS1zZWxmLWVuZCBsZWFkaW5nLW5vbmUgd2hpdGVzcGFjZS1ub3dyYXAgb3ZlcmZsb3ctaGlkZGVuIHRleHQtZWxsaXBzaXMgbWF4LXctZnVsbCIsY2hpbGRyZW46W1goInNwYW4iLHtjbGFzc05hbWU6InNpemUtMS41IHJvdW5kZWQtZnVsbCBzaHJpbmstMCBbdHJhbnNpdGlvbjpiYWNrZ3JvdW5kXzAuMnMsYm94LXNoYWRvd18wLjJzXSIsc3R5bGU6e2JhY2tncm91bmQ6cz8iIzRhZGU4MCI6Ty50b3RhbERpc3RhbmNlPjA/InJnYmEoMjU1LDI1NSwyNTUsMC4zKSI6InRyYW5zcGFyZW50Iixib3hTaGFkb3c6cz8iMCAwIDZweCByZ2JhKDc0LDIyMiwxMjgsMC43KSI6Im5vbmUifX0pLFgoInNwYW4iLHtjbGFzc05hbWU6Im1pbi13LTAgb3ZlcmZsb3ctaGlkZGVuIHRleHQtZWxsaXBzaXMiLGNoaWxkcmVuOloxfSksIXMmJlgoInNwYW4iLHsiZGF0YS1sb2NhdGlvbi1zdGF0dXMtdG90YWwiOiEwLGNsYXNzTmFtZToic2hyaW5rLTAiLGNoaWxkcmVuOiJ0b3RhbCJ9KV19KTpYKCJzcGFuIix7fSldfSksY2hpbGRyZW46W1goImRpdiIse2NsYXNzTmFtZToiZmxleCBmbGV4LWNvbCBnYXAtMSIsY2hpbGRyZW46W1goImRpdiIse2NsYXNzTmFtZToicmVsYXRpdmUgYmxvY2siLGNoaWxkcmVuOltYKGIzLHtsYWJlbDoiVHJhaWwiLHZhbHVlOlosb25DaGFuZ2U6YSxvcHRpb25zOkEyLm1hcCgobSk9Pih7dmFsdWU6bS5pZCxsYWJlbDptLm5hbWV9KSksY2xhc3NOYW1lOiJiZy13aGl0ZS9bMC4wNF0gYm9yZGVyIGJvcmRlci13aGl0ZS84IHJvdW5kZWQtbWQgdGV4dC13aGl0ZS85MCB0ZXh0LVsxMnB4XSBweS0xLjUgcHItWzI2cHhdIHBsLTIgdy1mdWxsIFt0cmFuc2l0aW9uOmJhY2tncm91bmRfMC4xMnMsYm9yZGVyLWNvbG9yXzAuMTJzXSBob3ZlcjpiZy13aGl0ZS9bMC4wN10gaG92ZXI6Ym9yZGVyLVtyZ2JhKDI1NSwyNTUsMjU1LDAuMTYpXSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6Ymctd2hpdGUvWzAuMDhdIGZvY3VzOmJvcmRlci1bcmdiYSgyNTUsMjU1LDI1NSwwLjI0KV0ifSksWCgic3BhbiIse2NsYXNzTmFtZToiYWJzb2x1dGUgcmlnaHQtWzlweF0gdG9wLTEvMiAtdHJhbnNsYXRlLXktMS8yIHBvaW50ZXItZXZlbnRzLW5vbmUgZmxleCBpdGVtcy1jZW50ZXIiLCJhcmlhLWhpZGRlbiI6InRydWUiLGNoaWxkcmVuOlgoUDUse29wZW46ITF9KX0pXX0pLFgoImRpdiIse2NsYXNzTmFtZToidGV4dC1bMTBweF0gdGV4dC13aGl0ZS80NSIsY2hpbGRyZW46SC5kZXNjcmlwdGlvbn0pXX0pLFgoImRpdiIse2NsYXNzTmFtZToicmVsYXRpdmUgdy1mdWxsIHJvdW5kZWQtWzEwcHhdIG92ZXJmbG93LWhpZGRlbiBiZy1bIzBhMGEwY10gYm9yZGVyIGJvcmRlci13aGl0ZS9bMC4wNl0gW2FzcGVjdC1yYXRpbzoxNi8xMV0iLGNoaWxkcmVuOltYKCJjYW52YXMiLHtyZWY6aixjbGFzc05hbWU6InctZnVsbCBoLWZ1bGwgYmxvY2sifSksWChFWCx7cHJlcGFyZWQ6T30pXX0pLFgoImRpdiIse2NsYXNzTmFtZToiZ3JpZCBbZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcl8xZnJfMWZyXSBnYXAtMS41IixjaGlsZHJlbjpbWChhOCx7bGFiZWw6IkRpc3RhbmNlIix2YWx1ZTpzOChMLmFyYyl9KSxYKGE4LHtsYWJlbDoiUGFjZSIsdmFsdWU6algoTS5jdXJyZW50KX0pLFgoYTgse2xhYmVsOiJFbGFwc2VkIix2YWx1ZTpfNyhMLmVsYXBzZWRNcyl9KV19KSxYKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggZ2FwLTEuNSIsY2hpbGRyZW46W1goImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsb25DbGljazp1LGNsYXNzTmFtZTpgZmxleC0xIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdhcC0xLjUgcHktMiBweC0yLjUgYm9yZGVyLW5vbmUgcm91bmRlZC1bN3B4XSB0ZXh0LVsxMnB4XSBmb250LXNlbWlib2xkIGN1cnNvci1wb2ludGVyIGZvbnQtW2luaGVyaXRdICR7cz8iYmctd2hpdGUvWzAuMTZdIHRleHQtd2hpdGUgZW5hYmxlZDpob3ZlcjpiZy13aGl0ZS9bMC4yMl0iOiJiZy1zdWNjZXNzLWVtZXJhbGQgdGV4dC1bIzA2MjAxOF0gZW5hYmxlZDpob3ZlcjpicmlnaHRuZXNzLVsxLjA4XSJ9YCwiYXJpYS1wcmVzc2VkIjpzLHRpdGxlOnM/IlBhdXNlIjoiUGxheSIsY2hpbGRyZW46W3M/WChiOCx7fSk6WChUNSx7fSksWCgic3BhbiIse2NoaWxkcmVuOnM/IlBhdXNlIjoiUGxheSJ9KV19KSxYKCJidXR0b24iLHt0eXBlOiJidXR0b24iLG9uQ2xpY2s6dCxjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdhcC0xLjUgcHktMiBweC0zIGJvcmRlciBib3JkZXItd2hpdGUvMTIgcm91bmRlZC1bN3B4XSB0ZXh0LVsxMnB4XSBmb250LW1lZGl1bSBiZy10cmFuc3BhcmVudCB0ZXh0LXdoaXRlLzg1IGN1cnNvci1wb2ludGVyIGZvbnQtW2luaGVyaXRdIGVuYWJsZWQ6aG92ZXI6Ymctd2hpdGUvWzAuMDZdIGVuYWJsZWQ6aG92ZXI6Ym9yZGVyLXdoaXRlLzIwIGVuYWJsZWQ6aG92ZXI6dGV4dC13aGl0ZSBkaXNhYmxlZDpvcGFjaXR5LTQwIGRpc2FibGVkOmN1cnNvci1ub3QtYWxsb3dlZCIsZGlzYWJsZWQ6TC5zdGF0dXM9PT0iaWRsZSImJkwuYXJjPT09MCx0aXRsZToiU3RvcCBhbmQgY2xlYXIgc2ltdWxhdGVkIGxvY2F0aW9uIixjaGlsZHJlbjpbWChFNSx7fSksWCgic3BhbiIse2NoaWxkcmVuOiJTdG9wIn0pXX0pXX0pLFgoImRpdiIse2NsYXNzTmFtZToiZmxleCBmbGV4LXJvdyBpdGVtcy1zdHJldGNoIGdhcC0xLjUiLGNoaWxkcmVuOltYKCJkaXYiLHtjbGFzc05hbWU6ImZsZXgtMSBtaW4tdy0wIixjaGlsZHJlbjpYKFRYLHthcmlhTGFiZWw6IlRyYW5zcG9ydCBtb2RlIix2YWx1ZTpZLG9uQ2hhbmdlOihtKT0+cShtKSxvcHRpb25zOlt7dmFsdWU6IndhbGsiLGxhYmVsOiJXYWxrIixpY29uOlgoUzgse30pfSx7dmFsdWU6InJ1biIsbGFiZWw6IlJ1biIsaWNvbjpYKGo4LHt9KX0se3ZhbHVlOiJjeWNsZSIsbGFiZWw6IkN5Y2xlIixpY29uOlgoUjgse30pfSx7dmFsdWU6ImRyaXZlIixsYWJlbDoiRHJpdmUiLGljb246WCh2OCx7fSl9XX0pfSksWCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixvbkNsaWNrOigpPT57bGV0IG09bjguaW5kZXhPZihHKSxKMT1uOFsobSsxKSVuOC5sZW5ndGhdO0IoSjEpfSxjbGFzc05hbWU6YGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdhcC0xIHB4LTIuNSBib3JkZXIgcm91bmRlZC1bN3B4XSBjdXJzb3ItcG9pbnRlciBmb250LVtpbmhlcml0XSB0ZXh0LVsxMXB4XSBmb250LXNlbWlib2xkIG1pbi13LVs1NnB4XSBhY3RpdmU6c2NhbGUtWzAuOTddICR7Rz4xPyJiZy13aGl0ZSBib3JkZXItd2hpdGUgdGV4dC1bIzBhMGEwY10gaG92ZXI6Ymctd2hpdGUvWzAuODhdIGhvdmVyOmJvcmRlci13aGl0ZS9bMC44OF0gaG92ZXI6dGV4dC1bIzBhMGEwY10iOiJiZy13aGl0ZS9bMC4wNF0gYm9yZGVyLXdoaXRlLzggdGV4dC13aGl0ZS84NSBob3ZlcjpiZy13aGl0ZS9bMC4wOV0gaG92ZXI6Ym9yZGVyLVtyZ2JhKDI1NSwyNTUsMjU1LDAuMTgpXSBob3Zlcjp0ZXh0LXdoaXRlIn1gLCJhcmlhLWxhYmVsIjpgU3BlZWQgJHtHfcOXIOKAlCB0YXAgdG8gY3ljbGVgLHRpdGxlOmBTcGVlZCAke0d9w5cg4oCUIHRhcCB0byBjeWNsZWAsY2hpbGRyZW46W1goeDgse30pLEc+MSYmWCgic3BhbiIse2NsYXNzTmFtZToiZm9udC1tb25vIFtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXNdIixjaGlsZHJlbjpbRywiw5ciXX0pXX0pXX0pLFYmJlgoImRpdiIse2NsYXNzTmFtZToiYmctZGFuZ2VyLzEwIGJvcmRlciBib3JkZXItZGFuZ2VyLzIwIHRleHQtZGFuZ2VyLXNvZnQgdGV4dC1bMTFweF0gcHgtMiBweS0xLjUgcm91bmRlZC1tZCIsY2hpbGRyZW46Vn0pXX0pfXZhciBhOD1MMihmdW5jdGlvbih7bGFiZWw6Six2YWx1ZTpRfSl7cmV0dXJuIFgoImRpdiIse2NsYXNzTmFtZToiZmxleCBmbGV4LWNvbCBnYXAtMC41IGJnLXdoaXRlL1swLjAzXSBib3JkZXIgYm9yZGVyLXdoaXRlL1swLjA2XSByb3VuZGVkLW1kIHB5LVs1cHhdIHB4LVs3cHhdIG1pbi13LTAiLGNoaWxkcmVuOltYKCJkaXYiLHtjbGFzc05hbWU6InRleHQtWzlweF0gdXBwZXJjYXNlIHRyYWNraW5nLVswLjA2ZW1dIHRleHQtd2hpdGUvNDUiLGNoaWxkcmVuOkp9KSxYKCJkaXYiLHtjbGFzc05hbWU6InRleHQtWzEycHhdIGZvbnQtbW9ubyB0ZXh0LXdoaXRlIG92ZXJmbG93LWhpZGRlbiB0ZXh0LWVsbGlwc2lzIHdoaXRlc3BhY2Utbm93cmFwIixjaGlsZHJlbjpRfSldfSl9KTtmdW5jdGlvbiBUWCh7dmFsdWU6JCxvbkNoYW5nZTpKLG9wdGlvbnM6USxhcmlhTGFiZWw6Wn0pe3JldHVybiBYKCJkaXYiLHtyb2xlOiJncm91cCIsImFyaWEtbGFiZWwiOlosY2xhc3NOYW1lOiJmbGV4IGJnLXdoaXRlL1swLjA0XSBib3JkZXIgYm9yZGVyLXdoaXRlLzggcm91bmRlZC1bN3B4XSBwLTAuNSBnYXAtMC41IixjaGlsZHJlbjpRLm1hcCgoSyk9PntsZXQgWT1LLnZhbHVlPT09JDtyZXR1cm4gWCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixvbkNsaWNrOigpPT5KKEsudmFsdWUpLGNsYXNzTmFtZTpgZmxleC0xIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGJvcmRlci1ub25lIHJvdW5kZWQtWzVweF0gcHktWzVweF0gcHgtMiB0ZXh0LVsxMXB4XSBmb250LW1lZGl1bSBjdXJzb3ItcG9pbnRlciBmb250LVtpbmhlcml0XSBbdHJhbnNpdGlvbjpiYWNrZ3JvdW5kXzAuMTJzLGNvbG9yXzAuMTJzXSBtaW4taC1bMjJweF0gJHtZPyJiZy13aGl0ZS9bMC4xMl0gdGV4dC13aGl0ZSI6ImJnLXRyYW5zcGFyZW50IHRleHQtd2hpdGUvNjAgaG92ZXI6Ymctd2hpdGUvWzAuMDVdIGhvdmVyOnRleHQtd2hpdGUvOTAifWAsImFyaWEtcHJlc3NlZCI6WSwiYXJpYS1sYWJlbCI6Sy5pY29uP0subGFiZWw6dm9pZCAwLHRpdGxlOksuaWNvbj9LLmxhYmVsOnZvaWQgMCxjaGlsZHJlbjpLLmljb24/P0subGFiZWx9LEsudmFsdWUpfSl9KX1mdW5jdGlvbiBFWCh7cHJlcGFyZWQ6JH0pe2lmKCQucmF3TWF4QWx0LSQucmF3TWluQWx0PDUpcmV0dXJuIG51bGw7cmV0dXJuIFgoWTEse2NoaWxkcmVuOltYKCJkaXYiLHtjbGFzc05hbWU6ImFic29sdXRlIHRvcC0yIGxlZnQtMi41IGJnLXBhbmVsLW92ZXJsYXkgdGV4dC13aGl0ZS84NSB0ZXh0LVsxMHB4XSBmb250LW1vbm8gcHgtMS41IHB5LTAuNSByb3VuZGVkLVs1cHhdIGZsZXggaXRlbXMtY2VudGVyIHRyYWNraW5nLVswLjAyZW1dIGJvcmRlciBib3JkZXItd2hpdGUvWzAuMDZdIixjaGlsZHJlbjpbWChOMyx7ZGlyOiJ1cCJ9KSwiICIsUDcoJC5yYXdNYXhBbHQpXX0pLFgoImRpdiIse2NsYXNzTmFtZToiYWJzb2x1dGUgdG9wLTIgcmlnaHQtMi41IGJnLXBhbmVsLW92ZXJsYXkgdGV4dC13aGl0ZS84NSB0ZXh0LVsxMHB4XSBmb250LW1vbm8gcHgtMS41IHB5LTAuNSByb3VuZGVkLVs1cHhdIGZsZXggaXRlbXMtY2VudGVyIHRyYWNraW5nLVswLjAyZW1dIGJvcmRlciBib3JkZXItd2hpdGUvWzAuMDZdIixjaGlsZHJlbjpbWChOMyx7ZGlyOiJkb3duIn0pLCIgIixQNygkLnJhd01pbkFsdCldfSldfSl9dmFyIFc3PTE0MDtmdW5jdGlvbiBENygkLEope2xldCBRPUFycmF5KEopO2ZvcihsZXQgWj0wO1o8SjtaKyspe2xldCBLPUo9PT0xPzA6Wi8oSi0xKSxZPU8yKCQsSyokLnRvdGFsRGlzdGFuY2UpO1FbWl09e3g6WS54LHk6WS55LHo6WS56fX1yZXR1cm4gUX1mdW5jdGlvbiBJWCgkLEosUSxaKXtsZXQgSz0oJC5ib3VuZHMueFswXSskLmJvdW5kcy54WzFdKS8yLFk9KCQuYm91bmRzLnpbMF0rJC5ib3VuZHMuelsxXSkvMixxPSQuYm91bmRzLnlbMF0sRz1NYXRoLm1heCgxLCQuYm91bmRzLnhbMV0tJC5ib3VuZHMueFswXSwkLmJvdW5kcy56WzFdLSQuYm91bmRzLnpbMF0pLEI9KFEuYm91bmRzLnhbMF0rUS5ib3VuZHMueFsxXSkvMixMPShRLmJvdW5kcy56WzBdK1EuYm91bmRzLnpbMV0pLzIsej1RLmJvdW5kcy55WzBdLE49TWF0aC5tYXgoMSxRLmJvdW5kcy54WzFdLVEuYm91bmRzLnhbMF0sUS5ib3VuZHMuelsxXS1RLmJvdW5kcy56WzBdKS9HLE89RDcoJCxXNykubWFwKChQKT0+KHt4OihQLngtSykqTitCLHk6KFAueS1xKSpOK3osejooUC56LVkpKk4rTH0pKSxVPUQ3KFEsVzcpLEM9KCQudHJhaWwubG9vcHx8US50cmFpbC5sb29wKT8/ITEsTT13WChPLFUsQyksaz1PMigkLEopLHc9e3g6KGsueC1LKSpOK0IseTooay55LXEpKk4reix6OihrLnotWSkqTitMfSxUPU8yKFEsMCksUz17eDpULngseTpULnksejpULnp9O3JldHVybntmcm9tOiQsdG86USxmcm9tUHRzOk8sdG9QdHM6TSxwcmV2TWFya2VyOncsbmV4dE1hcmtlcjpTLHN0YXJ0TXM6Wn19ZnVuY3Rpb24gd1goJCxKLFEpe2xldCBaPSQubGVuZ3RoLEs9MS8wLFk9MCxxPSExLEc9W0osWy4uLkpdLnJldmVyc2UoKV07Zm9yKGxldCB6PTA7ejxHLmxlbmd0aDt6Kyspe2xldCBWPUdbel0sTj1RP1o6MTtmb3IobGV0IEg9MDtIPE47SCsrKXtsZXQgTz0wO2ZvcihsZXQgVT0wO1U8WjtVKyspe2xldCBDPSRbVV0sTT1WWyhVK0gpJVpdLGs9Qy54LU0ueCx3PUMueS1NLnksVD1DLnotTS56O2lmKE8rPWsqayt3KncrVCpULE8+PUspYnJlYWt9aWYoTzxLKUs9TyxZPUgscT16PT09MX19bGV0IEI9cT9bLi4uSl0ucmV2ZXJzZSgpOkosTD1BcnJheShaKTtmb3IobGV0IHo9MDt6PFo7eisrKUxbel09QlsoeitZKSVaXTtyZXR1cm4gTH1mdW5jdGlvbiB5WCgkLEope2xldCBRPSQuZnJvbVB0cy5sZW5ndGgsWj1BcnJheShRKSxLPTAsWT1udWxsLHE9MS8wLEc9LTEvMCxCPTEvMCxMPS0xLzAsej0xLzAsVj0tMS8wO2ZvcihsZXQgTj0wO048UTtOKyspe2xldCBIPSQuZnJvbVB0c1tOXSxPPSQudG9QdHNbTl0sVT1ILngrKE8ueC1ILngpKkosQz1ILnkrKE8ueS1ILnkpKkosTT1ILnorKE8uei1ILnopKko7aWYoWSl7bGV0IHc9VS1ZLngsVD1DLVkueSxTPU0tWS56O0srPU1hdGguc3FydCh3KncrVCpUK1MqUyl9bGV0IGs9e3g6VSx5OkMsejpNLGFyYzpLLGxhdDowLGxuZzowfTtpZihaW05dPWssWT1rLFU8cSlxPVU7aWYoVT5HKUc9VTtpZihDPEIpQj1DO2lmKEM+TClMPUM7aWYoTTx6KXo9TTtpZihNPlYpVj1NfXJldHVybnt0cmFpbDokLnRvLnRyYWlsLG9yaWdpbjokLnRvLm9yaWdpbixwb2ludHM6Wix0b3RhbERpc3RhbmNlOkssYm91bmRzOnt4OltxLEddLHk6W0IsTF0sejpbeixWXX0scmF3TWluQWx0OiQudG8ucmF3TWluQWx0KygkLmZyb20ucmF3TWluQWx0LSQudG8ucmF3TWluQWx0KSooMS1KKSxyYXdNYXhBbHQ6JC50by5yYXdNYXhBbHQrKCQuZnJvbS5yYXdNYXhBbHQtJC50by5yYXdNYXhBbHQpKigxLUopfX1mdW5jdGlvbiBiWCgkKXtyZXR1cm4gJDwwLjU/MiokKiQ6MS1NYXRoLnBvdygtMiokKzIsMikvMn1mdW5jdGlvbiB4WCgkLEosUSxaLEssWSxxKXtsZXQgRz0kLmdldENvbnRleHQoIjJkIik7aWYoIUcpcmV0dXJuO2xldHtjbGllbnRXaWR0aDpCLGNsaWVudEhlaWdodDpMfT0kO2lmKEI9PT0wfHxMPT09MClyZXR1cm47bGV0IHo9dHlwZW9mIHdpbmRvdzwidSI/d2luZG93LmRldmljZVBpeGVsUmF0aW98fDE6MSxWPU1hdGgucm91bmQoQip6KSxOPU1hdGgucm91bmQoTCp6KTtpZigkLndpZHRoIT09Vnx8JC5oZWlnaHQhPT1OKSQud2lkdGg9ViwkLmhlaWdodD1OO0cuc2V0VHJhbnNmb3JtKHosMCwwLHosMCwwKSxHLmNsZWFyUmVjdCgwLDAsQixMKTtsZXQgSD1HLmNyZWF0ZVJhZGlhbEdyYWRpZW50KEIqMC41LEwqMC41NSxNYXRoLm1pbihCLEwpKjAuMixCKjAuNSxMKjAuNTUsTWF0aC5tYXgoQixMKSowLjg1KTtILmFkZENvbG9yU3RvcCgwLCIjMWExYTFkIiksSC5hZGRDb2xvclN0b3AoMSwiIzBhMGEwYyIpLEcuZmlsbFN0eWxlPUgsRy5maWxsUmVjdCgwLDAsQixMKSxTWChHLEIsTCk7bGV0e3BvaW50czpPLGJvdW5kczpVfT1KO2lmKE8ubGVuZ3RoPDIpcmV0dXJuO2xldCBDPTI4Kk1hdGguUEkvMTgwLE09TWF0aC5zaW4oQyksaz1NYXRoLmNvcyhDKSx3PU1hdGguc2luKFopLFQ9TWF0aC5jb3MoWiksUz0oVS54WzBdK1UueFsxXSkvMixQPShVLnpbMF0rVS56WzFdKS8yLHY9VS54WzFdLVUueFswXSxqPVUuelsxXS1VLnpbMF0sdT1VLnlbMV0tVS55WzBdLHQ9TWF0aC5tYXgodixqKSoxLjA1LGE9TWF0aC5tYXgoaiprK3UqTSx2KjAuNCkqMS4xNSxzPUIqMC4wOCxaMT1MKjAuMTgsbT1NYXRoLm1pbigoQi1zKjIpL3QsKEwtWjEqMikvYSkqMS40NSxKMT11PDE/MTpNYXRoLm1pbigyNCwxNDAvTWF0aC5tYXgoMjAsdSkpLFI9KGgsaSxwKT0+e2xldCBiPWgtUyxvPXAtUCxjPWIqVCtvKncsRjE9LWIqdytvKlQsRDE9aSpKMSxoMT1EMSprLUYxKk0sazE9RDEqTStGMSprO3JldHVybntzeDpCLzIrYyptLHN5OkwqMC41NS1oMSptLGRlcHRoOmsxfX0sVTE9MzgsQzE9Ty5tYXAoKGgpPT57bGV0IGk9UihoLngsaC55LGgueikscD1SKGgueCwwLGgueiksYj17c3g6aS5zeCxzeTpNYXRoLm1heChwLnN5LGkuc3krVTEpLGRlcHRoOnAuZGVwdGh9O3JldHVybntwOmgsdG9wOmksYm90OmJ9fSk7Zm9yKGxldCBoPTE7aDxDMS5sZW5ndGg7aCsrKXtsZXQgaT1DMVtoLTFdLHA9QzFbaF0sYj1HLmNyZWF0ZUxpbmVhckdyYWRpZW50KChpLnRvcC5zeCtwLnRvcC5zeCkvMiwoaS50b3Auc3krcC50b3Auc3kpLzIsKGkuYm90LnN4K3AuYm90LnN4KS8yLChpLmJvdC5zeStwLmJvdC5zeSkvMik7Yi5hZGRDb2xvclN0b3AoMCwicmdiYSgyNTUsMjU1LDI1NSwwLjU1KSIpLGIuYWRkQ29sb3JTdG9wKDAuNDUsInJnYmEoMTgwLDE4MCwxODUsMC4yOCkiKSxiLmFkZENvbG9yU3RvcCgwLjg1LCJyZ2JhKDQwLDQwLDQ1LDAuMTgpIiksYi5hZGRDb2xvclN0b3AoMSwicmdiYSgwLDAsMCwwKSIpLEcuZmlsbFN0eWxlPWIsRy5iZWdpblBhdGgoKSxHLm1vdmVUbyhpLnRvcC5zeCxpLnRvcC5zeSksRy5saW5lVG8ocC50b3Auc3gscC50b3Auc3kpLEcubGluZVRvKHAuYm90LnN4LHAuYm90LnN5KSxHLmxpbmVUbyhpLmJvdC5zeCxpLmJvdC5zeSksRy5jbG9zZVBhdGgoKSxHLmZpbGwoKX1HLnN0cm9rZVN0eWxlPSIjZmZmZmZmIixHLmxpbmVXaWR0aD0xLjYsRy5saW5lQ2FwPSJyb3VuZCIsRy5saW5lSm9pbj0icm91bmQiLEcuYmVnaW5QYXRoKCk7Zm9yKGxldCBoPTA7aDxDMS5sZW5ndGg7aCsrKXtsZXR7dG9wOml9PUMxW2hdO2lmKGg9PT0wKUcubW92ZVRvKGkuc3gsaS5zeSk7ZWxzZSBHLmxpbmVUbyhpLnN4LGkuc3kpfUcuc3Ryb2tlKCk7bGV0IE8xPVE7Ry5zdHJva2VTdHlsZT0iI2Y5ZDJhNCIsRy5saW5lV2lkdGg9Mi4yLEcuYmVnaW5QYXRoKCk7bGV0IGQ9ITE7Zm9yKGxldCBoPTA7aDxDMS5sZW5ndGg7aCsrKXtsZXR7cDppLHRvcDpwfT1DMVtoXTtpZihpLmFyYz5PMSlicmVhaztpZighZClHLm1vdmVUbyhwLnN4LHAuc3kpLGQ9ITA7ZWxzZSBHLmxpbmVUbyhwLnN4LHAuc3kpfWlmKGQpRy5zdHJva2UoKTtsZXQgZT1xPz9PMihKLFEpLFgxPVIoZS54LGUueSxlLnopO2lmKFkpe2xldCBwPUslMjYwMC8yNjAwLGI9NCsyMipwLG89MC4yMiooMS1wKSxjPUcuY3JlYXRlUmFkaWFsR3JhZGllbnQoWDEuc3gsWDEuc3ksYiowLjUsWDEuc3gsWDEuc3ksYik7Yy5hZGRDb2xvclN0b3AoMCwicmdiYSgyNTUsMjU1LDI1NSwwKSIpLGMuYWRkQ29sb3JTdG9wKDAuNyxgcmdiYSgyNTUsMjU1LDI1NSwke28udG9GaXhlZCgzKX0pYCksYy5hZGRDb2xvclN0b3AoMSwicmdiYSgyNTUsMjU1LDI1NSwwKSIpLEcuZmlsbFN0eWxlPWMsRy5iZWdpblBhdGgoKSxHLmFyYyhYMS5zeCxYMS5zeSxiLDAsTWF0aC5QSSoyKSxHLmZpbGwoKX1HLmZpbGxTdHlsZT0iI2ZmZiIsRy5iZWdpblBhdGgoKSxHLmFyYyhYMS5zeCxYMS5zeSwzLjgsMCxNYXRoLlBJKjIpLEcuZmlsbCgpfWZ1bmN0aW9uIFNYKCQsSixRKXskLmZpbGxTdHlsZT0icmdiYSgyNTUsMjU1LDI1NSwwLjA2KSI7Zm9yKGxldCBZPTc7WTxRO1krPTE0KWZvcihsZXQgcT03O3E8SjtxKz0xNCkkLmJlZ2luUGF0aCgpLCQuYXJjKHEsWSwwLjcsMCxNYXRoLlBJKjIpLCQuZmlsbCgpfWZ1bmN0aW9uIHM4KCQpe2lmKCQ8MTAwMClyZXR1cm5gJHskLnRvRml4ZWQoMCl9IG1gO3JldHVybmAkeygkLzEwMDApLnRvRml4ZWQoMil9IGttYH1mdW5jdGlvbiBfNygkKXtsZXQgSj1NYXRoLmZsb29yKCQvMTAwMCksUT1NYXRoLmZsb29yKEovMzYwMCksWj1NYXRoLmZsb29yKEolMzYwMC82MCksSz1KJTYwO2lmKFE+MClyZXR1cm5gJHtRfToke1oudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9OiR7Sy50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX1gO3JldHVybmAke1p9OiR7Sy50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX1gfWZ1bmN0aW9uIGpYKCQpe2lmKCQ8PTApcmV0dXJuIuKAlCI7aWYoJD43KXJldHVybmAkeygkKjMuNikudG9GaXhlZCgwKX0ga20vaGA7bGV0IEo9MTAwMC8kLFE9TWF0aC5mbG9vcihKLzYwKSxaPU1hdGgucm91bmQoSiU2MCk7cmV0dXJuYCR7UX06JHtaLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfS9rbWB9ZnVuY3Rpb24gUDcoJCl7cmV0dXJuYCR7JC50b0ZpeGVkKDApfSBtYH1mdW5jdGlvbiBUNygkKXtsZXQgSj0kLnRyaW0oKTtpZighSilyZXR1cm4iIjtsZXQgUT1KLm1hdGNoKC9SZWFzb246XHMqKC4rKSQvbSk7aWYoUSlyZXR1cm4gUVsxXTtyZXR1cm4gSi5zcGxpdChgCmApLnNsaWNlKC0xKVswXT8/Sn1hc3luYyBmdW5jdGlvbiB0OCgkLEope2xldCBRPWF3YWl0IEExKCJhcHAuY29udGFpbmVyIix7dWRpZDokLGJ1bmRsZUlkOkp9KTtpZihRLmV4aXRDb2RlIT09MClyZXR1cm57ZXJyb3I6US5zdGRlcnIudHJpbSgpfHwiQXBwIG5vdCBmb3VuZCBvbiBzaW11bGF0b3IifTtsZXQgWj1RLnN0ZG91dC50cmltKCk7aWYoIVopcmV0dXJue2Vycm9yOiJFbXB0eSBhcHAgcGF0aCJ9O2xldCBLPWF3YWl0IEExKCJhcHAuaW5mb1BsaXN0Iix7cGF0aDpgJHtafS9JbmZvLnBsaXN0YH0pLFk9e307aWYoSy5leGl0Q29kZT09PTApdHJ5e1k9SlNPTi5wYXJzZShLLnN0ZG91dCl9Y2F0Y2h7fWxldCBxLEI9KFk/LkNGQnVuZGxlSWNvbnM/LkNGQnVuZGxlUHJpbWFyeUljb24/P1k/LlsiQ0ZCdW5kbGVJY29uc35pcGFkIl0/LkNGQnVuZGxlUHJpbWFyeUljb24pPy5DRkJ1bmRsZUljb25GaWxlcz8/WT8uQ0ZCdW5kbGVJY29uRmlsZXM7aWYoQiYmQi5sZW5ndGg+MClxPUJbQi5sZW5ndGgtMV07ZWxzZSBpZih0eXBlb2YgWT8uQ0ZCdW5kbGVJY29uRmlsZT09PSJzdHJpbmciKXE9WS5DRkJ1bmRsZUljb25GaWxlO2xldCBMPW51bGw7aWYocSl7bGV0IHo9W2Ake3F9QDN4LnBuZ2AsYCR7cX1AMngucG5nYCxgJHtxfS5wbmdgLGAke3F9NjB4NjBAM3gucG5nYCxgJHtxfTYweDYwQDJ4LnBuZ2BdLE49KGF3YWl0IEExKCJhcHAuaWNvblBhdGgiLHthcHBQYXRoOlosY2FuZGlkYXRlczp6fSkpLnN0ZG91dC50cmltKCk7aWYoTil7bGV0IEg9YXdhaXQgQTEoImZpbGUucmVhZEJhc2U2NCIse3BhdGg6Tn0pO2lmKEguZXhpdENvZGU9PT0wKUw9YGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCwke0guc3Rkb3V0LnJlcGxhY2UoL1xzKy9nLCIiKX1gfX1yZXR1cm57YXBwUGF0aDpaLGRpc3BsYXlOYW1lOlkuQ0ZCdW5kbGVEaXNwbGF5TmFtZT8/WS5DRkJ1bmRsZU5hbWUsc2hvcnRWZXJzaW9uOlkuQ0ZCdW5kbGVTaG9ydFZlcnNpb25TdHJpbmcsYnVuZGxlVmVyc2lvbjpZLkNGQnVuZGxlVmVyc2lvbixtaW5PUzpZLk1pbmltdW1PU1ZlcnNpb24sZXhlY3V0YWJsZTpZLkNGQnVuZGxlRXhlY3V0YWJsZSxpY29uRGF0YVVybDpMfX12YXIgbTI9bmV3IE1hcDtmdW5jdGlvbiBJNygkLEope2xldCBRPWAkeyR9OiR7Sn1gLFo9bTIuZ2V0KFEpO2lmKFohPT12b2lkIDApcmV0dXJuIFByb21pc2UucmVzb2x2ZShaKTtsZXQgSz10OCgkLEopLnRoZW4oKFkpPT57bGV0IHE9WS5pY29uRGF0YVVybD8/bnVsbDtyZXR1cm4gbTIuc2V0KFEscSkscX0pLmNhdGNoKCgpPT57cmV0dXJuIG0yLnNldChRLG51bGwpLG51bGx9KTtyZXR1cm4gbTIuc2V0KFEsSyksS31mdW5jdGlvbiBSWCgkKXtyZXR1cm4gJC5zdGFydHNXaXRoKCJjb20uYXBwbGUuIil9ZnVuY3Rpb24gdlgoJCl7aWYoJD09PSJjb20uYXBwbGUuc3ByaW5nYm9hcmQiKXJldHVybiJTcHJpbmdCb2FyZCI7cmV0dXJuICR9ZnVuY3Rpb24gaFgoe2J1bmRsZUlkOiR9KXtsZXQgSj1SWCgkKTtyZXR1cm4gWCgiZGl2Iix7ImRhdGEtdGVzdGlkIjpKPyJzeXN0ZW0tYXBwLWljb24iOiJhcHAtaWNvbi1mYWxsYmFjayIsY2xhc3NOYW1lOmB3LTEwIGgtMTAgcm91bmRlZC1bOHB4XSBzaHJpbmstMCBib3JkZXIgZ3JpZCBwbGFjZS1pdGVtcy1jZW50ZXIgJHtKPyJib3JkZXItWyMzYjVmOTldIGJnLVtsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLCMyNTNhNWYsIzE2MjEzMildIHRleHQtWyNjOGQ3ZmZdIjoiYm9yZGVyLXdoaXRlLzEwIGJnLXdoaXRlL1swLjA2XSB0ZXh0LXdoaXRlLzgwIn1gLCJhcmlhLWxhYmVsIjpKPyJTeXN0ZW0gYXBwIjoiQXBwIGljb24gdW5hdmFpbGFibGUiLHRpdGxlOko/IlN5c3RlbSBhcHAiOiJBcHAgaWNvbiB1bmF2YWlsYWJsZSIsY2hpbGRyZW46Sj9YKCJzdmciLHtyb2xlOiJpbWciLHZpZXdCb3g6IjAgMCAyNCAyNCIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixjbGFzc05hbWU6InNpemUtWzE5cHhdIixmaWxsOiJjdXJyZW50Q29sb3IiLGNoaWxkcmVuOltYKCJ0aXRsZSIse2NoaWxkcmVuOiJBcHBsZSJ9KSxYKCJwYXRoIix7ZDoiTTEyLjE1MiA2Ljg5NmMtLjk0OCAwLTIuNDE1LTEuMDc4LTMuOTYtMS4wNC0yLjA0LjAyNy0zLjkxIDEuMTgzLTQuOTYxIDMuMDE0LTIuMTE3IDMuNjc1LS41NDYgOS4xMDMgMS41MTkgMTIuMDkgMS4wMTMgMS40NTQgMi4yMDggMy4wOSAzLjc5MiAzLjAzOSAxLjUyLS4wNjUgMi4wOS0uOTg3IDMuOTM1LS45ODcgMS44MzEgMCAyLjM1Ljk4NyAzLjk2Ljk0OCAxLjYzNy0uMDI2IDIuNjc2LTEuNDggMy42NzYtMi45NDggMS4xNTYtMS42ODggMS42MzYtMy4zMjUgMS42NjItMy40MTUtLjAzOS0uMDEzLTMuMTgyLTEuMjIxLTMuMjItNC44NTctLjAyNi0zLjA0IDIuNDgtNC40OTQgMi41OTctNC41NTktMS40MjktMi4wOS0zLjYyMy0yLjMyNC00LjM5LTIuMzc2LTItLjE1Ni0zLjY3NSAxLjA5LTQuNjEgMS4wOXpNMTUuNTMgMy44M2MuODQzLTEuMDEyIDEuNC0yLjQyNyAxLjI0NS0zLjgzLTEuMjA3LjA1Mi0yLjY2Mi44MDUtMy41MzIgMS44MTgtLjc4Ljg5Ni0xLjQ1NCAyLjMzOC0xLjI3MyAzLjcxNCAxLjMzOC4xMDQgMi43MTUtLjY4OCAzLjU1OS0xLjcwMSJ9KV19KTpYKFk1LHtzaXplOjE5LHN0cm9rZVdpZHRoOjEuOX0pfSl9ZnVuY3Rpb24gZ1goe2J1bmRsZUlkOiQsaWNvbkRhdGFVcmw6Sn0pe2lmKEopcmV0dXJuIFgoImltZyIse3NyYzpKLGNsYXNzTmFtZToidy0xMCBoLTEwIHJvdW5kZWQtWzhweF0gc2hyaW5rLTAgb2JqZWN0LWNvdmVyIGJvcmRlciBib3JkZXItd2hpdGUvOCIsYWx0OiIifSk7cmV0dXJuIFgoaFgse2J1bmRsZUlkOiR9KX1mdW5jdGlvbiB3Nyh7dWRpZDokLGN1cnJlbnRBcHA6Sn0pe2xldFtRLFpdPUEobnVsbCksW0ssWV09QSghMSk7aWYoRSgoKT0+e2lmKCFKKXtaKG51bGwpO3JldHVybn1sZXQgcT0hMTtyZXR1cm4gWih7YnVuZGxlSWQ6Si5idW5kbGVJZCxpc1JlYWN0TmF0aXZlOkouaXNSZWFjdE5hdGl2ZSxwaWQ6Si5waWQsbG9hZGluZzohMH0pLHQ4KCQsSi5idW5kbGVJZCkudGhlbigoRyk9PntpZihxKXJldHVybjtaKHtidW5kbGVJZDpKLmJ1bmRsZUlkLGlzUmVhY3ROYXRpdmU6Si5pc1JlYWN0TmF0aXZlLHBpZDpKLnBpZCxsb2FkaW5nOiExLC4uLkd9KX0pLCgpPT57cT0hMH19LFskLEosSj8uYnVuZGxlSWQsSj8ucGlkLEo/LmlzUmVhY3ROYXRpdmVdKSwhUSlyZXR1cm4gWChmWCx7fSk7cmV0dXJuIFgoWjAse29wZW46Syxvbk9wZW5DaGFuZ2U6WSxzdW1tYXJ5Q2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMyB0ZXh0LWxlZnQiLHN1bW1hcnk6WChZMSx7Y2hpbGRyZW46W1goZ1gse2J1bmRsZUlkOlEuYnVuZGxlSWQsaWNvbkRhdGFVcmw6US5pY29uRGF0YVVybH0pLFgobVgse2J1bmRsZUlkOlEuYnVuZGxlSWQsZGlzcGxheU5hbWU6US5kaXNwbGF5TmFtZX0pXX0pLGNoaWxkcmVuOltRLmVycm9yJiZYKCJkaXYiLHtjbGFzc05hbWU6ImJnLWRhbmdlci8xMCBib3JkZXIgYm9yZGVyLWRhbmdlci8yMCB0ZXh0LWRhbmdlci1zb2Z0IHRleHQtWzExcHhdIHB4LTIgcHktMS41IHJvdW5kZWQtbWQiLGNoaWxkcmVuOlEuZXJyb3J9KSxYKCJkbCIse2NsYXNzTmFtZToibS0wIGZsZXggZmxleC1jb2wgZ2FwLTEuNSIsY2hpbGRyZW46W1gocDIse2xhYmVsOiJWZXJzaW9uIix2YWx1ZTpRLnNob3J0VmVyc2lvbj9gJHtRLnNob3J0VmVyc2lvbn0gKCR7US5idW5kbGVWZXJzaW9uPz8i4oCUIn0pYDpRLmxvYWRpbmc/IuKApiI6IuKAlCJ9KSxYKHAyLHtsYWJlbDoiTWluIGlPUyIsdmFsdWU6US5taW5PUz8/KFEubG9hZGluZz8i4oCmIjoi4oCUIil9KSxYKHAyLHtsYWJlbDoiRXhlY3V0YWJsZSIsdmFsdWU6US5leGVjdXRhYmxlPz8oUS5sb2FkaW5nPyLigKYiOiLigJQiKX0pLFgocDIse2xhYmVsOiJQSUQiLHZhbHVlOlEucGlkIT1udWxsP1N0cmluZyhRLnBpZCk6IuKAlCJ9KSxRLmlzUmVhY3ROYXRpdmUmJlgocDIse2xhYmVsOiJSZWFjdCBOYXRpdmUiLHZhbHVlOiJZZXMifSksWChwMix7bGFiZWw6IkFwcCBwYXRoIix2YWx1ZTpRLmFwcFBhdGg/PyhRLmxvYWRpbmc/IuKApiI6IuKAlCIpLG1vbm86ITAsYWN0aW9uOlEuYXBwUGF0aD97dGl0bGU6IlJldmVhbCBpbiBGaW5kZXIiLG9uQ2xpY2s6KCk9PntBMSgicmV2ZWFsIix7cGF0aDpRLmFwcFBhdGh9KX0saWNvbjpYKHE1LHtzaXplOjExLHN0cm9rZVdpZHRoOjIuMn0pfTp2b2lkIDB9KV19KV19KX1mdW5jdGlvbiBmWCgpe3JldHVybiBYKCJkaXYiLHsiZGF0YS10ZXN0aWQiOiJhcHAtZGV0ZWN0aW9uLXNrZWxldG9uIixjbGFzc05hbWU6ImJnLXBhbmVsIHJvdW5kZWQtWzEwcHhdIHB4LTMgcHktMiIsImFyaWEtbGFiZWwiOiJXYWl0aW5nIGZvciBmb3JlZ3JvdW5kIGFwcCIsY2hpbGRyZW46WCgiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMyB0ZXh0LWxlZnQgbWluLWgtWzM2cHhdIGxlYWRpbmctbm9uZSBweS0yLjUgcHgtMSAtbXktMiAtbXgtMSB3LVtjYWxjKDEwMCUrOHB4KV0iLGNoaWxkcmVuOltYKCJzcGFuIix7Y2xhc3NOYW1lOiJ3LTEwIGgtMTAgcm91bmRlZC1bOHB4XSBzaHJpbmstMCBiZy13aGl0ZS9bMC4wOF0ifSksWCgic3BhbiIse2NsYXNzTmFtZToibWluLXctMCBmbGV4LTEgZmxleCBmbGV4LWNvbCBnYXAtMiIsY2hpbGRyZW46W1goInNwYW4iLHtjbGFzc05hbWU6ImgtMy41IHctWzQ2JV0gcm91bmRlZC1mdWxsIGJnLXdoaXRlL1swLjEyXSJ9KSxYKCJzcGFuIix7Y2xhc3NOYW1lOiJoLTIuNSB3LVs2OCVdIHJvdW5kZWQtZnVsbCBiZy13aGl0ZS9bMC4wOF0ifSldfSksWCgic3BhbiIse2NsYXNzTmFtZToidy0yLjUgaC0yLjUgcm91bmRlZC1mdWxsIGJnLXdoaXRlL1swLjA4XSJ9KV19KX0pfWZ1bmN0aW9uIG1YKHtidW5kbGVJZDokLGRpc3BsYXlOYW1lOkp9KXtyZXR1cm4gWCgiZGl2Iix7Y2xhc3NOYW1lOiJtaW4tdy0wIGZsZXgtMSBsZWFkaW5nLXRpZ2h0IHRleHQtbGVmdCIsY2hpbGRyZW46W1goImRpdiIse2NsYXNzTmFtZToidGV4dC1bMTNweF0gZm9udC1zZW1pYm9sZCB0ZXh0LXdoaXRlLzkwIHRydW5jYXRlIixjaGlsZHJlbjpKPz92WCgkKX0pLFgoImRpdiIse2NsYXNzTmFtZToidGV4dC1bMTFweF0gdGV4dC13aGl0ZS81NSBmb250LW1vbm8gdHJ1bmNhdGUiLHRpdGxlOiQsY2hpbGRyZW46JH0pXX0pfWZ1bmN0aW9uIHAyKHtsYWJlbDokLHZhbHVlOkosbW9ubzpRLGFjdGlvbjpafSl7cmV0dXJuIFgoImRpdiIse2NsYXNzTmFtZToiZ3JvdXAgZmxleCBpdGVtcy1iYXNlbGluZSBnYXAtMiBtaW4tdy0wIixjaGlsZHJlbjpbWCgiZHQiLHtjbGFzc05hbWU6Im0tMCB0ZXh0LVsxMXB4XSB0ZXh0LXdoaXRlLzUwIHctMjEgc2hyaW5rLTAiLGNoaWxkcmVuOiR9KSxYKCJkZCIse2NsYXNzTmFtZTpgbS0wIHRleHQtd2hpdGUvOTAgZmxleC0xIG1pbi13LTAgb3ZlcmZsb3ctaGlkZGVuIHRleHQtZWxsaXBzaXMgd2hpdGVzcGFjZS1ub3dyYXAgcmVsYXRpdmUgJHtRPyJmb250LW1vbm8gdGV4dC1bMTFweF0iOiJ0ZXh0LVsxMnB4XSJ9YCx0aXRsZTpKLGNoaWxkcmVuOltKLFomJlgoImRpdiIse2NsYXNzTmFtZToiYWJzb2x1dGUgdG9wLTAgcmlnaHQtMCBib3R0b20tMCBwbC03IGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktZW5kIGJnLVtsaW5lYXItZ3JhZGllbnQodG9fcmlnaHQscmdiYSgyOCwyOCwzMCwwKV8wJSwjMWMxYzFlXzU1JSldIFt0cmFuc2l0aW9uOm9wYWNpdHlfMC4xNXNfZWFzZSx0cmFuc2Zvcm1fMC4xNXNfZWFzZV0gb3BhY2l0eS0wIHRyYW5zbGF0ZS14LTEgcG9pbnRlci1ldmVudHMtbm9uZSBncm91cC1ob3ZlcjpvcGFjaXR5LTEwMCBncm91cC1ob3Zlcjp0cmFuc2xhdGUteC0wIGdyb3VwLWhvdmVyOnBvaW50ZXItZXZlbnRzLWF1dG8iLGNoaWxkcmVuOlgoImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsb25DbGljazpaLm9uQ2xpY2ssdGl0bGU6Wi50aXRsZSwiYXJpYS1sYWJlbCI6Wi50aXRsZSxjbGFzc05hbWU6InctNSBoLTUgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgYmctdHJhbnNwYXJlbnQgYm9yZGVyLW5vbmUgcm91bmRlZCB0ZXh0LXdoaXRlIGN1cnNvci1wb2ludGVyIHAtMCIsY2hpbGRyZW46Wi5pY29ufSl9KV19KV19KX12YXIgeTc9W3trZXk6ImNhbWVyYSIsbGFiZWw6IkNhbWVyYSJ9LHtrZXk6Im1pY3JvcGhvbmUiLGxhYmVsOiJNaWNyb3Bob25lIn0se2tleToicGhvdG9zIixsYWJlbDoiUGhvdG9zIn0se2tleToicGhvdG9zLWFkZCIsbGFiZWw6IkFkZCB0byBQaG90b3MifSx7a2V5OiJjb250YWN0cyIsbGFiZWw6IkNvbnRhY3RzIn0se2tleToiY2FsZW5kYXIiLGxhYmVsOiJDYWxlbmRhciJ9LHtrZXk6InJlbWluZGVycyIsbGFiZWw6IlJlbWluZGVycyJ9LHtrZXk6ImxvY2F0aW9uIixsYWJlbDoiTG9jYXRpb24ifSx7a2V5OiJsb2NhdGlvbi1hbHdheXMiLGxhYmVsOiJMb2NhdGlvbiAoQWx3YXlzKSJ9LHtrZXk6Im5vdGlmaWNhdGlvbnMiLGxhYmVsOiJOb3RpZmljYXRpb25zIn0se2tleToibW90aW9uIixsYWJlbDoiTW90aW9uIn0se2tleToibWVkaWEtbGlicmFyeSIsbGFiZWw6Ik1lZGlhIExpYnJhcnkifSx7a2V5OiJzaXJpIixsYWJlbDoiU2lyaSJ9XTtmdW5jdGlvbiBiNyh7dWRpZDokLGJ1bmRsZUlkOkp9KXtsZXRbUSxaXT1BKHt9KSxbSyxZXT1BKG51bGwpLFtxLEddPUEobnVsbCksW0IsTF09QSghMSk7RSgoKT0+e1ooe30pLEcobnVsbCl9LFtKXSk7bGV0IHo9SShhc3luYyhOLEgpPT57aWYoIUopcmV0dXJuO2xldCBPPWAke059OiR7SH1gO1koTyksRyhudWxsKTt0cnl7bGV0IFU9YXdhaXQgQTEoInBlcm1pc3Npb25zLnNldCIse2FjdGlvbjpILHNlcnZpY2U6TixidW5kbGVJZDpKLHVkaWQ6JH0pO2lmKFUuZXhpdENvZGUhPT0wKXtHKFUuc3RkZXJyLnRyaW0oKXx8YHNlcnZlLXNpbSBwZXJtaXNzaW9ucyBmYWlsZWQgKGV4aXQgJHtVLmV4aXRDb2RlfSlgKTtyZXR1cm59WigoQyk9Pih7Li4uQyxbTl06SD09PSJyZXNldCI/dm9pZCAwOkh9KSl9ZmluYWxseXtZKG51bGwpfX0sWyQsSl0pLFY9SShhc3luYygpPT57aWYoIUopcmV0dXJuO1koIl9fYWxsX18iKSxHKG51bGwpO3RyeXtsZXQgTj1hd2FpdCBBMSgicGVybWlzc2lvbnMucmVzZXRBbGwiLHtidW5kbGVJZDpKLHVkaWQ6JH0pO2lmKE4uZXhpdENvZGUhPT0wKXtHKE4uc3RkZXJyLnRyaW0oKXx8YHNlcnZlLXNpbSBwZXJtaXNzaW9ucyBmYWlsZWQgKGV4aXQgJHtOLmV4aXRDb2RlfSlgKTtyZXR1cm59Wih7fSl9ZmluYWxseXtZKG51bGwpfX0sWyQsSl0pO2lmKCFKKXJldHVybiBYKHBYLHt9KTtyZXR1cm4gWChaMCx7b3BlbjpCLG9uT3BlbkNoYW5nZTpMLHN1bW1hcnlDbGFzc05hbWU6ImdyaWQgW2dyaWQtdGVtcGxhdGUtY29sdW1uczphdXRvXzFmcl9hdXRvXSBpdGVtcy1jZW50ZXIgZ2FwLTIgdGV4dC1sZWZ0IixzdW1tYXJ5OlgoWTEse2NoaWxkcmVuOltYKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LVsxMXB4XSBmb250LXNlbWlib2xkIHRleHQtd2hpdGUvNTAgdXBwZXJjYXNlIHRyYWNraW5nLVswLjA4ZW1dIGxlYWRpbmctbm9uZSBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIiLGNoaWxkcmVuOiJQZXJtaXNzaW9ucyJ9KSxYKCJzcGFuIix7fSldfSksY2hpbGRyZW46W3EmJlgoImRpdiIse2NsYXNzTmFtZToiYmctZGFuZ2VyLzEwIGJvcmRlciBib3JkZXItZGFuZ2VyLzIwIHRleHQtZGFuZ2VyLXNvZnQgdGV4dC1bMTFweF0gcHgtMiBweS0xLjUgcm91bmRlZC1tZCIsY2hpbGRyZW46cX0pLFgoImRpdiIse2NsYXNzTmFtZToicmVsYXRpdmUiLGNoaWxkcmVuOltYKCJkaXYiLHtjbGFzc05hbWU6Im1heC1oLVsyNjBweF0gb3ZlcmZsb3cteS1hdXRvIGZsZXggZmxleC1jb2wgZ2FwLTEgcHktMiBbc2Nyb2xsYmFyLXdpZHRoOnRoaW5dIixjaGlsZHJlbjp5Ny5tYXAoKHtrZXk6TixsYWJlbDpIfSk9PntsZXQgTz1RW05dO3JldHVybiBYKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBnYXAtMiBweC0wLjUgcHktMSIsY2hpbGRyZW46W1goInNwYW4iLHtjbGFzc05hbWU6InRleHQtWzEycHhdIHRleHQtd2hpdGUvOTAgb3ZlcmZsb3ctaGlkZGVuIHRleHQtZWxsaXBzaXMgd2hpdGVzcGFjZS1ub3dyYXAgZmxleC0xIG1pbi13LTAiLGNoaWxkcmVuOkh9KSxYKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggZ2FwLTAuNSBiZy13aGl0ZS9bMC4wNF0gYm9yZGVyIGJvcmRlci13aGl0ZS84IHJvdW5kZWQtbWQgcC0wLjUiLHJvbGU6Imdyb3VwIiwiYXJpYS1sYWJlbCI6SCxjaGlsZHJlbjpbWChlOCx7YWN0aXZlOk89PT0iZ3JhbnQiLHBlbmRpbmc6Sz09PWAke059OmdyYW50YCxvbkNsaWNrOigpPT56KE4sImdyYW50IiksdmFyaWFudDoiZ3JhbnQiLHRpdGxlOiJBbGxvdyIsY2hpbGRyZW46WChHNSx7c2l6ZToxMSxzdHJva2VXaWR0aDozfSl9KSxYKGU4LHthY3RpdmU6Tz09PSJyZXZva2UiLHBlbmRpbmc6Sz09PWAke059OnJldm9rZWAsb25DbGljazooKT0+eihOLCJyZXZva2UiKSx2YXJpYW50OiJyZXZva2UiLHRpdGxlOiJEZW55IixjaGlsZHJlbjpYKEQwLHtzaXplOjExLHN0cm9rZVdpZHRoOjN9KX0pLFgoZTgse2FjdGl2ZTohMSxwZW5kaW5nOks9PT1gJHtOfTpyZXNldGAsb25DbGljazooKT0+eihOLCJyZXNldCIpLHZhcmlhbnQ6InJlc2V0Iix0aXRsZToiUmVzZXQiLGNoaWxkcmVuOlgoSDIse3NpemU6MTEsc3Ryb2tlV2lkdGg6Mi40fSl9KV19KV19LE4pfSl9KSxYKCJkaXYiLHtjbGFzc05hbWU6ImFic29sdXRlIHRvcC0wIGxlZnQtMCByaWdodC0wIGgtWzE0cHhdIHBvaW50ZXItZXZlbnRzLW5vbmUgcm91bmRlZC10LVsxMHB4XSBiZy1bbGluZWFyLWdyYWRpZW50KHRvX2JvdHRvbSwjMWMxYzFlXzAlLHJnYmEoMjgsMjgsMzAsMClfMTAwJSldIn0pLFgoImRpdiIse2NsYXNzTmFtZToiYWJzb2x1dGUgYm90dG9tLTAgbGVmdC0wIHJpZ2h0LTAgaC1bMTRweF0gcG9pbnRlci1ldmVudHMtbm9uZSBiZy1bbGluZWFyLWdyYWRpZW50KHRvX3RvcCwjMWMxYzFlXzAlLHJnYmEoMjgsMjgsMzAsMClfMTAwJSldIn0pXX0pLFgoImRpdiIse2NsYXNzTmFtZToiZmxleCBqdXN0aWZ5LWVuZCIsY2hpbGRyZW46WCgiYnV0dG9uIix7b25DbGljazpWLGRpc2FibGVkOks9PT0iX19hbGxfXyIsY2xhc3NOYW1lOiJiZy10cmFuc3BhcmVudCBib3JkZXIgYm9yZGVyLXdoaXRlLzEyIHRleHQtd2hpdGUvNzAgdGV4dC1bMTBweF0gcHgtMiBweS1bM3B4XSByb3VuZGVkLVs1cHhdIGN1cnNvci1wb2ludGVyIHVwcGVyY2FzZSB0cmFja2luZy1bMC4wNGVtXSIsdGl0bGU6InNlcnZlLXNpbSBwZXJtaXNzaW9ucyByZXNldCBhbGwiLGNoaWxkcmVuOks9PT0iX19hbGxfXyI/IuKApiI6IlJlc2V0IGFsbCJ9KX0pXX0pfWZ1bmN0aW9uIHBYKCl7cmV0dXJuIFgoImRpdiIseyJkYXRhLXRlc3RpZCI6ImFwcC1wZXJtaXNzaW9ucy1sb2FkaW5nIixjbGFzc05hbWU6ImJnLXBhbmVsIHJvdW5kZWQtWzEwcHhdIHB4LTMgcHktMiIsImFyaWEtZGlzYWJsZWQiOiJ0cnVlIiwiYXJpYS1idXN5IjoidHJ1ZSIsY2hpbGRyZW46WCgiZGl2Iix7Y2xhc3NOYW1lOiJzZWxlY3Qtbm9uZSB0ZXh0LXdoaXRlLzU1IG1pbi1oLVszNnB4XSBsZWFkaW5nLW5vbmUgcHktMi41IHB4LTEgLW15LTIgLW14LTEgdy1bY2FsYygxMDAlKzhweCldIGdyaWQgW2dyaWQtdGVtcGxhdGUtY29sdW1uczphdXRvXzFmcl9hdXRvXSBpdGVtcy1jZW50ZXIgZ2FwLTIgdGV4dC1sZWZ0IGN1cnNvci1kZWZhdWx0IixjaGlsZHJlbjpbWCgic3BhbiIse2NsYXNzTmFtZToidGV4dC1bMTFweF0gZm9udC1zZW1pYm9sZCB1cHBlcmNhc2UgdHJhY2tpbmctWzAuMDhlbV0gbGVhZGluZy1ub25lIGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciIsY2hpbGRyZW46IlBlcm1pc3Npb25zIn0pLFgoInNwYW4iLHt9KSxYKCJzcGFuIix7ImRhdGEtdGVzdGlkIjoicGVybWlzc2lvbnMtbG9hZGluZy1pbmRpY2F0b3IiLHJvbGU6InN0YXR1cyIsImFyaWEtbGFiZWwiOiJMb2FkaW5nIHBlcm1pc3Npb25zIixjbGFzc05hbWU6InNpemUtMi41IHJvdW5kZWQtZnVsbCBib3JkZXIgYm9yZGVyLVsjNWY2MjY4XSBib3JkZXItdC1bI2Y0ZjRmNV0gYW5pbWF0ZS1bZ3JpZC1zcGluXzAuN3NfbGluZWFyX2luZmluaXRlXSJ9KV19KX0pfWZ1bmN0aW9uIGU4KHthY3RpdmU6JCxwZW5kaW5nOkosb25DbGljazpRLHZhcmlhbnQ6Wix0aXRsZTpLLGNoaWxkcmVuOll9KXtsZXQgcT1aPT09ImdyYW50Ij8iIzRhZGU4MCI6Wj09PSJyZXZva2UiPyIjZjg3MTcxIjoiI2E1YjRmYyI7cmV0dXJuIFgoImJ1dHRvbiIse29uQ2xpY2s6USxkaXNhYmxlZDpKLHRpdGxlOkssImFyaWEtbGFiZWwiOkssY2xhc3NOYW1lOiJ3LTYgaC01LjUgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgYm9yZGVyLW5vbmUgcm91bmRlZCBwLTAgY3Vyc29yLXBvaW50ZXIgW3RyYW5zaXRpb246YmFja2dyb3VuZF8wLjEycyxjb2xvcl8wLjEyc10iLHN0eWxlOntiYWNrZ3JvdW5kOiQ/YCR7cX0yMmA6InRyYW5zcGFyZW50Iixjb2xvcjokP3E6InJnYmEoMjU1LDI1NSwyNTUsMC41NSkiLG9wYWNpdHk6Sj8wLjU6MX0sY2hpbGRyZW46WX0pfXZhciB1WD0iYmctcGFuZWwgcm91bmRlZC1bMTBweF0iLGxYPSJ0ZXh0LVsxMXB4XSBmb250LXNlbWlib2xkIHRleHQtd2hpdGUvNTAgdXBwZXJjYXNlIHRyYWNraW5nLVswLjA4ZW1dIG0tMCI7ZnVuY3Rpb24gUzcoe292ZXJsYXlFbmFibGVkOiQsb25Ub2dnbGVPdmVybGF5Okp9KXtsZXR7c25hcHNob3Q6UX09UjIoKSx7aGlnaGxpZ2h0ZWRLZXk6WixzZXRIaWdobGlnaHRlZEtleTpLfT1PMygpLFk9UT8uZWxlbWVudHM/P1tdLHE9SDMoUSksRz1RPy5lcnJvcnM/LlswXT8/bnVsbDtyZXR1cm4gWCgiZGl2Iix7Y2xhc3NOYW1lOmAke3VYfSBweC0zIHB5LTJgLGNoaWxkcmVuOltYKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBnYXAtMiIsY2hpbGRyZW46W1goInNwYW4iLHtjbGFzc05hbWU6bFgsY2hpbGRyZW46IkFYIFRyZWUifSksWChmMix7bGFiZWw6IkVuYWJsZSBvdmVybGF5IixjaGVja2VkOiQsb25DaGFuZ2U6Sn0pXX0pLCEkP251bGw6cT9YKHg3LHtjaGlsZHJlbjoiQVggdW5hdmFpbGFibGUgb24gdGhpcyBzaW11bGF0b3IuIn0pOlkubGVuZ3RoPT09MD9YKHg3LHtzcGlubmVyOiFHLGNoaWxkcmVuOkc/PyJXYWl0aW5nIGZvciBhY2Nlc3NpYmlsaXR5IGRhdGHigKYifSk6WCgiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGZsZXgtY29sIGdhcC0xIG10LTIgcHktMiBtYXgtaC1bMjYwcHhdIG92ZXJmbG93LXktYXV0byBbc2Nyb2xsYmFyLXdpZHRoOnRoaW5dIixyb2xlOiJsaXN0IixjaGlsZHJlbjpZLm1hcCgoQixMKT0+e2xldCB6PUMyKEIpO3JldHVybiBYKGRYLHtlbGVtZW50OkIsaW5kZXg6TCxhY3RpdmU6ej09PVosb25IaWdobGlnaHQ6S30seil9KX0pXX0pfWZ1bmN0aW9uIHg3KHtjaGlsZHJlbjokLHNwaW5uZXI6Sj0hMX0pe3JldHVybiBYKCJkaXYiLHtyb2xlOiJzdGF0dXMiLCJhcmlhLWxpdmUiOiJwb2xpdGUiLGNsYXNzTmFtZToibXQtMiBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAtMiBweS00IHRleHQtWzEycHhdIHRleHQtd2hpdGUvNDUiLGNoaWxkcmVuOltKP1goInNwYW4iLHsiYXJpYS1oaWRkZW4iOiJ0cnVlIixjbGFzc05hbWU6InNpemUtMy41IHNocmluay0wIHJvdW5kZWQtZnVsbCBib3JkZXItMiBib3JkZXItd2hpdGUvMjAgYm9yZGVyLXQtd2hpdGUvNjAgYW5pbWF0ZS1bZ3JpZC1zcGluXzAuOHNfbGluZWFyX2luZmluaXRlXSJ9KTpudWxsLFgoInNwYW4iLHtjaGlsZHJlbjokfSldfSl9dmFyIGRYPUwyKGZ1bmN0aW9uKHtlbGVtZW50OkosaW5kZXg6USxhY3RpdmU6WixvbkhpZ2hsaWdodDpLfSl7bGV0IFk9QzIoSikscT1NMyhKLFEpLEc9YCR7TWF0aC5yb3VuZChKLmZyYW1lLndpZHRoKX14JHtNYXRoLnJvdW5kKEouZnJhbWUuaGVpZ2h0KX1gLEI9W3EubGFiZWwscS5yb2xlfHxxLnR5cGV8fCJlbGVtZW50IixHXS5maWx0ZXIoQm9vbGVhbikuam9pbigiIMK3ICIpO3JldHVybiBYKCJkaXYiLHtyb2xlOiJsaXN0aXRlbSIsdGFiSW5kZXg6MCwiZGF0YS1heC1rZXkiOlksdGl0bGU6Qixvbk1vdXNlRW50ZXI6KCk9PksoWSksb25Nb3VzZUxlYXZlOigpPT5LKG51bGwpLG9uRm9jdXM6KCk9PksoWSksb25CbHVyOigpPT5LKG51bGwpLGNsYXNzTmFtZTpgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIGdhcC0yIHJvdW5kZWQtbWQgcHktMSBweC0wLjUgbWluLXctMCAke1o/ImJnLXdoaXRlL1swLjA2XSI6IiJ9YCxjaGlsZHJlbjpbWCgic3BhbiIse2NsYXNzTmFtZToiZmxleCBmbGV4LWNvbCBnYXAtMC41IGZsZXgtMSBtaW4tdy0wIixjaGlsZHJlbjpbWCgic3BhbiIse2NsYXNzTmFtZToib3ZlcmZsb3ctaGlkZGVuIHRleHQtZWxsaXBzaXMgd2hpdGVzcGFjZS1ub3dyYXAgdGV4dC13aGl0ZS85MCB0ZXh0LVsxMnB4XSBmb250LW1lZGl1bSIsY2hpbGRyZW46Si5sYWJlbHx8Si5yb2xlfHwiVW5sYWJlbGVkIn0pLFgoInNwYW4iLHtjbGFzc05hbWU6Im92ZXJmbG93LWhpZGRlbiB0ZXh0LWVsbGlwc2lzIHdoaXRlc3BhY2Utbm93cmFwIHRleHQtd2hpdGUvNDUgZm9udC1tb25vIHRleHQtWzEwcHhdIixjaGlsZHJlbjpKLnJvbGV8fEoudHlwZXx8ImVsZW1lbnQifSldfSksWCgiY29kZSIse2NsYXNzTmFtZToic2hyaW5rLTAgYmctd2hpdGUvWzAuMDRdIGJvcmRlciBib3JkZXItd2hpdGUvOCByb3VuZGVkLW1kIHRleHQtd2hpdGUvNTUgZm9udC1tb25vIHRleHQtWzEwcHhdIHB4LTEuNSBweS1bM3B4XSIsY2hpbGRyZW46R30pXX0pfSwoJCxKKT0+JC5pbmRleD09PUouaW5kZXgmJiQuYWN0aXZlPT09Si5hY3RpdmUmJiQub25IaWdobGlnaHQ9PT1KLm9uSGlnaGxpZ2h0JiZDMygkLmVsZW1lbnQsSi5lbGVtZW50KSk7dmFyIGNYPW5ldyBTZXQoWyJpbWFnZS9qcGVnIiwiaW1hZ2UvcG5nIiwiaW1hZ2UvZ2lmIiwiaW1hZ2UvaGVpYyIsImltYWdlL2hlaWYiLCJpbWFnZS93ZWJwIiwidmlkZW8vbXA0IiwidmlkZW8vcXVpY2t0aW1lIl0pLCQ5PTE5NjYwOCxqNz01MjQyODgwMDAseDM9ImFwcGxpY2F0aW9uL3gtc2VydmUtc2ltLWhvc3QtcGF0aCI7YXN5bmMgZnVuY3Rpb24gUjcoJCxKKXtsZXQgUT1hd2FpdCBBMSgibWVkaWEuYWRkIix7dWRpZDpKLHBhdGg6JH0pO2lmKFEuZXhpdENvZGUhPT0wKXRocm93IEVycm9yKFEuc3RkZXJyfHxgYWRkbWVkaWEgZmFpbGVkIChleGl0ICR7US5leGl0Q29kZX0pYCl9ZnVuY3Rpb24gdTIoJCl7bGV0IEo9JC5uYW1lLFE9Si5sYXN0SW5kZXhPZigiLiIpO2lmKFE+PTApcmV0dXJuIEouc2xpY2UoUSsxKS50b0xvd2VyQ2FzZSgpO2lmKCQudHlwZS5zdGFydHNXaXRoKCJ2aWRlby8iKSlyZXR1cm4ibXA0IjtyZXR1cm4ianBnIn1mdW5jdGlvbiB2NygkKXtpZih1MigkKT09PSJpcGEiKXJldHVybiJpcGEiO2lmKGNYLmhhcygkLnR5cGUpKXJldHVybiJtZWRpYSI7cmV0dXJuIG51bGx9ZnVuY3Rpb24gb1goJCl7bGV0IEo9bmV3IFVpbnQ4QXJyYXkoJCksUT0iIjtmb3IobGV0IFo9MDtaPEoubGVuZ3RoO1orPTMyNzY4KVErPVN0cmluZy5mcm9tQ2hhckNvZGUoLi4uSi5zdWJhcnJheShaLForMzI3NjgpKTtyZXR1cm4gYnRvYShRKX1hc3luYyBmdW5jdGlvbiBoNygkLEosUSl7bGV0IFo9IiIsSz0wO2ZvcihsZXQgWT0wO1k8JC5zaXplO1krPSQ5KXtsZXQgcT1hd2FpdCAkLnNsaWNlKFksWSskOSkuYXJyYXlCdWZmZXIoKSxHPW9YKHEpLEI9YXdhaXQgQTEoInVwbG9hZC5hcHBlbmQiLHt1cGxvYWRJZDpKLGRhdGE6RyxmaXJzdDpZPT09MH0pO2lmKEIuZXhpdENvZGUhPT0wKXRocm93IEVycm9yKEIuc3RkZXJyfHxgV3JpdGUgZmFpbGVkIChleGl0ICR7Qi5leGl0Q29kZX0pYCk7aWYoWj1CLnN0ZG91dC50cmltKCksIVEpY29udGludWU7bGV0IEw9TWF0aC5taW4oWSskOSwkLnNpemUpLHo9TWF0aC5mbG9vcihMLyQuc2l6ZSoxMDApO2lmKHohPT1LKUs9eixRKEwvJC5zaXplKX1yZXR1cm4gWn1hc3luYyBmdW5jdGlvbiBnNygkLEosUSl7aWYoJC5zaXplPmo3KXRocm93IEVycm9yKCJGaWxlIHRvbyBsYXJnZSAobWF4IDUwME1CKSIpO3JldHVybiBhd2FpdCBoNygkLGAke0p9LSR7Y3J5cHRvLnJhbmRvbVVVSUQoKX0uJHtRfWApfWFzeW5jIGZ1bmN0aW9uIGY3KCQsSixRLFope2lmKCQuc2l6ZT5qNyl0aHJvdyBFcnJvcigiRmlsZSB0b28gbGFyZ2UgKG1heCA1MDBNQikiKTtsZXQgSz1KPT09ImlwYSI/ImlwYSI6dTIoJCkscT1gJHtKPT09ImlwYSI/InNlcnZlLXNpbS1pbnN0YWxsIjoic2VydmUtc2ltLXVwbG9hZCJ9LSR7Y3J5cHRvLnJhbmRvbVVVSUQoKX0uJHtLfWA7dHJ5e1ooMCksYXdhaXQgaDcoJCxxLFopLFoobnVsbCk7bGV0IEc9YXdhaXQgQTEoSj09PSJpcGEiPyJhcHAuaW5zdGFsbCI6Im1lZGlhLmFkZCIse3VkaWQ6USx1cGxvYWRJZDpxfSk7aWYoRy5leGl0Q29kZSE9PTApe2xldCBCPUo9PT0iaXBhIj8iaW5zdGFsbCI6ImFkZG1lZGlhIjt0aHJvdyBFcnJvcihHLnN0ZGVycnx8YCR7Qn0gZmFpbGVkIChleGl0ICR7Ry5leGl0Q29kZX0pYCl9fWZpbmFsbHl7QTEoInVwbG9hZC5yZW1vdmUiLHt1cGxvYWRJZDpxfSkuY2F0Y2goKCk9Pnt9KX19dmFyIGlYPTMwMDA7YXN5bmMgZnVuY3Rpb24gblgoJCxKPWZldGNoKXt0cnl7bGV0IFE9YXdhaXQgSigkLHtjYWNoZToibm8tc3RvcmUifSk7aWYoIVEub2spcmV0dXJuIG51bGw7bGV0IFo9YXdhaXQgUS5qc29uKCk7cmV0dXJuIFomJnR5cGVvZiBaPT09Im9iamVjdCImJiFBcnJheS5pc0FycmF5KFopP1o6bnVsbH1jYXRjaHtyZXR1cm4gbnVsbH19dmFyIHJYPTIwOTcxNTIwMCxhWD0iTGFyZ2UgdmlkZW8gKD4yMDAgTUIpIOKAlCBtYXkgc3R1dHRlciBvbiBzaGFyZWQgbWVtb3J5IixwNz0iSEVJQyBkZWNvZGUgZmFpbGVkIOKAlCBleHBvcnQgYXMgSlBFRyBvciBQTkcgYW5kIHJldHJ5IjtmdW5jdGlvbiBzWCgkLEope2lmKEopcmV0dXJuImFjdGl2ZSI7aWYoJD09PSJhY3RpdmUiKXJldHVybiJkaXNjb25uZWN0ZWQiO2lmKCQ9PT0iZGlzY29ubmVjdGVkIilyZXR1cm4icmVhZHkiO3JldHVybiAkfWZ1bmN0aW9uIHRYKCQpe2lmKCEkLmluamVjdGVkKXJldHVybiJwbGF5IjtpZigkLnNvdXJjZT09PSJwbGFjZWhvbGRlciIpcmV0dXJuInBsYXkiO2lmKCQuYnVuZGxlSWQmJiEkLmZvcmVncm91bmRJc0luamVjdGVkKXJldHVybiJhdHRhY2giO3JldHVybiJzdG9wIn1mdW5jdGlvbiBlWCgkKXtyZXR1cm4gJC5zcGxpdChgCmApLm1hcCgoSik9PkoudHJpbSgpKS5maWx0ZXIoQm9vbGVhbikuZmxhdE1hcCgoSik9PntsZXQgUT1KLmluZGV4T2YoIlx0Iik7aWYoUTw9MClyZXR1cm5bXTtsZXQgWj1KLnNsaWNlKDAsUSkudHJpbSgpLEs9Si5zbGljZShRKzEpLnRyaW0oKTtpZighWnx8IUspcmV0dXJuW107cmV0dXJuW3tpZDpaLG5hbWU6S31dfSl9dmFyICRLPW5ldyBTZXQoWyJtcDQiLCJtNHYiLCJtb3YiLCJxdCIsImF2aSIsIm1rdiIsIndlYm0iLCJtcGciLCJtcGVnIiwiM2dwIiwiM2cyIiwidHMiLCJ3bXYiXSk7ZnVuY3Rpb24gdTcoJCl7aWYoJC50eXBlJiYkLnR5cGUuc3RhcnRzV2l0aCgidmlkZW8vIikpcmV0dXJuITA7bGV0IEo9KCQubmFtZT8/IiIpLnRvTG93ZXJDYXNlKCksUT1KLmxhc3RJbmRleE9mKCIuIik7aWYoUTwwKXJldHVybiExO3JldHVybiAkSy5oYXMoSi5zbGljZShRKzEpKX1mdW5jdGlvbiBKSygkKXtyZXR1cm4gdTcoJCkmJiQuc2l6ZT5yWH1mdW5jdGlvbiBRSygkKXtsZXQgSj0oJC50eXBlPz8iIikudG9Mb3dlckNhc2UoKTtpZihKPT09ImltYWdlL2hlaWMifHxKPT09ImltYWdlL2hlaWYiKXJldHVybiEwO2xldCBRPSgkLm5hbWU/PyIiKS50b0xvd2VyQ2FzZSgpO3JldHVybiBRLmVuZHNXaXRoKCIuaGVpYyIpfHxRLmVuZHNXaXRoKCIuaGVpZiIpfWZ1bmN0aW9uIFpLKHtyYXdNZXNzYWdlOiQsbGFzdEZpbGVJc0hlaWM6Sixzb3VyY2U6UX0pe2lmKEomJihRPT09ImltYWdlInx8UT09PSJ2aWRlbyIpKXJldHVybiBwNztyZXR1cm4gJH1mdW5jdGlvbiBYSyh7c3RhdGU6JH0pe2xldCBKPSQ9PT0iYWN0aXZlIj8iQWN0aXZlIjokPT09ImRpc2Nvbm5lY3RlZCI/IkRpc2Nvbm5lY3RlZCI6IlJlYWR5IixRPSQ9PT0iYWN0aXZlIj8ic2l6ZS0xLjUgcm91bmRlZC1mdWxsIGJnLXN1Y2Nlc3MtZW1lcmFsZCBbYm94LXNoYWRvdzowXzBfNnB4X3JnYmEoNzQsMjIyLDEyOCwwLjcpXSI6JD09PSJkaXNjb25uZWN0ZWQiPyJzaXplLTEuNSByb3VuZGVkLWZ1bGwgYmctZGFuZ2VyLXNvZnQgW2JveC1zaGFkb3c6MF8wXzZweF9yZ2JhKDI0OCwxMTMsMTEzLDAuNTUpXSI6bnVsbDtyZXR1cm4gWCgic3BhbiIse2NsYXNzTmFtZToidGV4dC1bMTFweF0gdGV4dC13aGl0ZS81NSBmb250LW1vbm8gaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGdhcC0xLjUganVzdGlmeS1zZWxmLWVuZCBsZWFkaW5nLW5vbmUiLCJkYXRhLWNhbWVyYS1waWxsLXN0YXRlIjokLGNoaWxkcmVuOltRJiZYKCJzcGFuIix7Y2xhc3NOYW1lOlF9KSxKXX0pfWZ1bmN0aW9uIEtLKCl7cmV0dXJuIFgoInAiLHtjbGFzc05hbWU6Im0tMCB0ZXh0LWNlbnRlciB0ZXh0LVsxMHB4XSBsZWFkaW5nLVsxLjVdIHRleHQtd2hpdGUvNDUiLCJkYXRhLWNhbWVyYS10ZXN0LXBhdHRlcm4taGludCI6ITAsY2hpbGRyZW46IlRlc3QtcGF0dGVybiBmZWVkIn0pfWZ1bmN0aW9uIFlLKHttb2RlOiQsZmlsZU5hbWU6Six3ZWJjYW1OYW1lOlEsc291cmNlS2luZDpafSl7aWYoJD09PSJ1cGxvYWRpbmciKXJldHVybiBYKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LVsxMXB4XSB0ZXh0LXdoaXRlLzU1IixjaGlsZHJlbjoiVXBsb2FkaW5n4oCmIn0pO2lmKCQ9PT0iZmlsZSIpcmV0dXJuIFgoWTEse2NoaWxkcmVuOltYKCJkaXYiLHtjbGFzc05hbWU6InNocmluay0wIHRleHQtWzlweF0gdHJhY2tpbmctWzAuMWVtXSB1cHBlcmNhc2UgdGV4dC13aGl0ZS81NSBiZy13aGl0ZS9bMC4wNl0gYm9yZGVyIGJvcmRlci13aGl0ZS84IHB4LVs3cHhdIHB5LVsycHhdIHJvdW5kZWQtZnVsbCIsY2hpbGRyZW46Wj09PSJ2aWRlbyI/IlZpZGVvIjoiSW1hZ2UifSksWCgic3BhbiIse2NsYXNzTmFtZToiZmxleC0xIG1pbi13LTAgdHJ1bmNhdGUgdGV4dC1bMTJweF0gdGV4dC13aGl0ZS85MCBmb250LW1vbm8iLGNoaWxkcmVuOko/PyIifSldfSk7aWYoJD09PSJ3ZWJjYW0iKXJldHVybiBYKFkxLHtjaGlsZHJlbjpbWCgiZGl2Iix7Y2xhc3NOYW1lOiJzaHJpbmstMCB0ZXh0LVs5cHhdIHRyYWNraW5nLVswLjFlbV0gdXBwZXJjYXNlIHRleHQtd2hpdGUvNTUgYmctd2hpdGUvWzAuMDZdIGJvcmRlciBib3JkZXItd2hpdGUvOCBweC1bN3B4XSBweS1bMnB4XSByb3VuZGVkLWZ1bGwiLGNoaWxkcmVuOiJXZWJjYW0ifSksWCgic3BhbiIse2NsYXNzTmFtZToiZmxleC0xIG1pbi13LTAgdHJ1bmNhdGUgdGV4dC1bMTJweF0gdGV4dC13aGl0ZS85MCBmb250LW1vbm8iLGNoaWxkcmVuOlE/PyIifSldfSk7cmV0dXJuIFgoInNwYW4iLHtjbGFzc05hbWU6InRleHQtWzEycHhdIHRleHQtd2hpdGUvODUgZm9udC1tZWRpdW0iLGNoaWxkcmVuOiJTZWxlY3Qgb3IgZHJvcCBtZWRpYSJ9KX1mdW5jdGlvbiBtNyh7a2luZDokLG1lc3NhZ2U6Sn0pe3JldHVybiBYKCJkaXYiLHtjbGFzc05hbWU6JD09PSJ3YXJuaW5nIj8iYmctd2FybmluZy8xMCBib3JkZXIgYm9yZGVyLXdhcm5pbmcvMjUgdGV4dC13YXJuaW5nLXNvZnQgdGV4dC1bMTFweF0gcHgtMiBweS0xLjUgcm91bmRlZC1tZCBicmVhay13b3JkcyI6ImJnLWRhbmdlci8xMCBib3JkZXIgYm9yZGVyLWRhbmdlci8yMCB0ZXh0LWRhbmdlci1zb2Z0IHRleHQtWzExcHhdIHB4LTIgcHktMS41IHJvdW5kZWQtbWQgYnJlYWstd29yZHMiLCJkYXRhLWNhbWVyYS1iYW5uZXIta2luZCI6JCxyb2xlOiQ9PT0iZXJyb3IiPyJhbGVydCI6InN0YXR1cyIsY2hpbGRyZW46Sn0pfWZ1bmN0aW9uIGw3KHt1ZGlkOiQsYnVuZGxlSWQ6Sn0pe2xldFtRLFpdPUEoITEpLFtLLFldPUEoInBsYWNlaG9sZGVyIiksW3EsR109QSgiIiksW0IsTF09QShudWxsKSxbeixWXT1BKCExKSxOPUYoMCksW0gsT109QSghMSksW1UsQ109QSghMSksTT1GKG51bGwpLFtrLHddPUEoW10pLFtULFNdPUEoITEpLFtQLHZdPUEoIiIpLFtqLHVdPUEoIm9mZiIpLFt0LGFdPUEobnVsbCksW3MsWjFdPUEobnVsbCksbT10IT09bnVsbHx8cyE9PW51bGwsW0oxLFJdPUEobnVsbCksW1UxLEMxXT1BKG51bGwpLFssTzFdPUEobnVsbCksW2QsZV09QSghMSksW1gxLGhdPUEoInJlYWR5IiksW2kscF09QSgoKT0+bmV3IFNldCksW2Isb109QShudWxsKSxbYyxGMV09QShudWxsKSxEMT1GKCExKSxoMT1GKCExKSxrMT1GKCJvZmYiKSxvMT1GKCExKSxZMD1JKGFzeW5jKCk9PntsZXQgRD13aW5kb3cuX19TSU1fUFJFVklFV19fPy5jYW1lcmFTdGF0dXNFbmRwb2ludDtyZXR1cm4gRD9uWChEKTpudWxsfSxbXSksQjA9Rihhc3luYygpPT57fSksUDE9RihKKTtFKCgpPT57UDEuY3VycmVudD1KfSxbSl0pLEUoKCk9PntsZXQgRD0hMTtyZXR1cm4oYXN5bmMoKT0+e2xldCBsPWF3YWl0IFkwKCk7aWYoRHx8IWx8fCFsLmFsaXZlKXJldHVybjtoMS5jdXJyZW50PSEwO2xldCAkMT1sLnNvdXJjZTtpZigkMT09PSJwbGFjZWhvbGRlciJ8fCQxPT09IndlYmNhbSJ8fCQxPT09ImltYWdlInx8JDE9PT0idmlkZW8iKVkoJDEpO2lmKCgkMT09PSJpbWFnZSJ8fCQxPT09InZpZGVvIikmJmwuYXJnKUcobC5hcmcpLEwobC5hcmcuc3BsaXQoIi8iKS5wb3AoKT8/bnVsbCk7aWYoJDE9PT0id2ViY2FtIiYmbC5hcmcpdihsLmFyZyksQjAuY3VycmVudCgpO2xldCBHMT1sLm1pcnJvcj09PSJvbiI/Im9uIjoib2ZmIjt1KEcxKSxrMS5jdXJyZW50PUcxLG8obC5oZWxwZXJQaWQ/P251bGwpLGUoITApO2xldCB5MT1BcnJheS5pc0FycmF5KGwuYnVuZGxlSWRzKT9sLmJ1bmRsZUlkczpbXTtpZih5MS5sZW5ndGg+MClwKG5ldyBTZXQoeTEpKTtsZXQgTjE9UDEuY3VycmVudCxfMT0kMSYmJDEhPT0icGxhY2Vob2xkZXIiO2goTjEmJnkxLmluY2x1ZGVzKE4xKSYmXzE/ImFjdGl2ZSI6InJlYWR5IiksTzEoYFJlYXR0YWNoZWQg4oaSICR7JDE/PyJydW5uaW5nIGhlbHBlciJ9JHtsLmFyZz9gICgke2wuYXJnfSlgOiIifWApfSkoKSwoKT0+e0Q9ITB9fSxbJCxZMF0pLEUoKCk9PntsZXQgRD0hMSxsPSExLCQxPW51bGwsRzE9YXN5bmMoKT0+e2lmKER8fGwpcmV0dXJuO2lmKHR5cGVvZiBkb2N1bWVudDwidSImJmRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PSJoaWRkZW4iKXJldHVybjtsPSEwO3RyeXtsZXQgTjE9YXdhaXQgWTAoKTtpZihEKXJldHVybjtsZXQgXzE9ISFOMT8uYWxpdmUsUDA9QXJyYXkuaXNBcnJheShOMT8uYnVuZGxlSWRzKT9OMS5idW5kbGVJZHM6bnVsbCx1MT0hIUomJihQMD9QMC5pbmNsdWRlcyhKKTppLmhhcyhKKSksaTE9TjE/LnNvdXJjZT8/bnVsbCxOMD1kJiZfMSYmdTEmJiEhKGkxJiZpMSE9PSJwbGFjZWhvbGRlciIpJiYoYj09bnVsbHx8TjE/LmhlbHBlclBpZD09PWIpO2lmKGgoKEowKT0+c1goSjAsTjApKSwhXzEpZSgoSjApPT57aWYoIUowKXJldHVybiBKMDtyZXR1cm4gcChuZXcgU2V0KSxvKG51bGwpLGsxLmN1cnJlbnQ9Im9mZiIsITF9KTtlbHNlIGlmKGQmJmIhPW51bGwmJk4xPy5oZWxwZXJQaWQhPT1iKWUoITEpLHAobmV3IFNldCksbyhudWxsKSxrMS5jdXJyZW50PSJvZmYiO2Vsc2UgaWYoXzEmJkFycmF5LmlzQXJyYXkoTjE/LmJ1bmRsZUlkcykpe2xldCBKMD1OMS5idW5kbGVJZHM7cCgoUTIpPT57aWYoUTIuc2l6ZT09PUowLmxlbmd0aCYmSjAuZXZlcnkoKFoyKT0+UTIuaGFzKFoyKSkpcmV0dXJuIFEyO3JldHVybiBuZXcgU2V0KEowKX0pfX1maW5hbGx5e2w9ITF9fTskMT1zZXRJbnRlcnZhbCgoKT0+e0cxKCl9LGlYKTtsZXQgeTE9KCk9PntpZihkb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT0idmlzaWJsZSIpRzEoKX07aWYodHlwZW9mIGRvY3VtZW50PCJ1Iilkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIix5MSk7cmV0dXJuKCk9PntpZihEPSEwLCQxKWNsZWFySW50ZXJ2YWwoJDEpO2lmKHR5cGVvZiBkb2N1bWVudDwidSIpZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIseTEpfX0sW1kwLGQsYixKLGldKTtsZXQgczE9SShhc3luYygpPT57UyghMCksUihudWxsKTt0cnl7bGV0IEQ9YXdhaXQgQTEoImNhbWVyYS5saXN0V2ViY2FtcyIpO2lmKEQuZXhpdENvZGUhPT0wKXtSKEQuc3RkZXJyLnRyaW0oKXx8YC0tbGlzdC13ZWJjYW1zIGZhaWxlZCAoJHtELmV4aXRDb2RlfSlgKTtyZXR1cm59bGV0IGw9ZVgoRC5zdGRvdXQpO2lmKHcobCksbC5sZW5ndGg+MCYmIVApdihsWzBdLmlkKX1maW5hbGx5e1MoITEpfX0sW1BdKTtFKCgpPT57QjAuY3VycmVudD1zMX0sW3MxXSksRSgoKT0+e2lmKFUmJmsubGVuZ3RoPT09MCYmIVQpczEoKX0sW1Usay5sZW5ndGgsVCxzMV0pO2xldCBMMD1JKChEKT0+e1IoWksoe3Jhd01lc3NhZ2U6RCxsYXN0RmlsZUlzSGVpYzpEMS5jdXJyZW50LHNvdXJjZTpLfSkpfSxbS10pLGIxPUkoYXN5bmMoRCxsLCQxKT0+e2xldCBHMT1EPT09ImltYWdlInx8RD09PSJ2aWRlbyI7aWYoRzEmJiEkMS50cmltKCkpcmV0dXJuIFIoIkRyb3AgYSBmaWxlIGludG8gdGhlIHBhbmVsIG9yIHBpY2sgYW5vdGhlciBzb3VyY2UuIiksITE7bGV0IHkxPUcxPyQxLnRyaW0oKTpEPT09IndlYmNhbSI/bDp2b2lkIDAsTjE9YXdhaXQgQTEoImNhbWVyYS5zd2l0Y2giLHtzb3VyY2U6RzE/ImZpbGUiOkQsdGFyZ2V0OnkxLHVkaWQ6JH0pO2lmKE4xLmV4aXRDb2RlIT09MClyZXR1cm4gTDAoTjEuc3RkZXJyLnRyaW0oKXx8TjEuc3Rkb3V0LnRyaW0oKXx8YHN3aXRjaCBmYWlsZWQgKCR7TjEuZXhpdENvZGV9KWApLCExO0QxLmN1cnJlbnQ9ITE7dHJ5e2xldCBfMT1KU09OLnBhcnNlKE4xLnN0ZG91dC50cmltKCkpO08xKGBTd2l0Y2hlZCDihpIgJHtfMS5zb3VyY2U/P0R9JHtfMS5hcmc/YCAoJHtfMS5hcmd9KWA6IiJ9YCl9Y2F0Y2h7TzEoYFN3aXRjaGVkIOKGkiAke0R9YCl9cmV0dXJuITB9LFskLEwwXSksbj1JKGFzeW5jKCk9PntpZighSilyZXR1cm47YSgiaW5qZWN0IiksUihudWxsKSxPMShudWxsKTt0cnl7bGV0IEQ9Sz09PSJpbWFnZSJ8fEs9PT0idmlkZW8iO2lmKEQmJiFxLnRyaW0oKSl7UigiRHJvcCBhIGZpbGUgaW50byB0aGUgcGFuZWwgb3IgcGljayBhbm90aGVyIHNvdXJjZS4iKTtyZXR1cm59bGV0IGw9YXdhaXQgQTEoImNhbWVyYS5pbmplY3QiLHtidW5kbGVJZDpKLHVkaWQ6JCxtaXJyb3I6aixzb3VyY2U6RD8iZmlsZSI6Syx0YXJnZXQ6RD9xLnRyaW0oKTpQfHx2b2lkIDB9KTtpZihsLmV4aXRDb2RlIT09MCl7TDAobC5zdGRlcnIudHJpbSgpfHxsLnN0ZG91dC50cmltKCl8fGBpbmplY3QgZmFpbGVkICgke2wuZXhpdENvZGV9KWApO3JldHVybn1EMS5jdXJyZW50PSExO2xldCAkMT1udWxsO3RyeXtsZXQgRzE9SlNPTi5wYXJzZShsLnN0ZG91dC50cmltKCkpOyQxPUcxLmhlbHBlclBpZD8/bnVsbDtsZXQgeTE9RzEuaGVscGVyUmVsYXVuY2hlZD09PSExPyJBdHRhY2hlZCI6IkluamVjdGVkIixOMT1HMS5waWQ/YCBwaWQgJHtHMS5waWR9YDoiIixfMT1HMS5oZWxwZXJQaWQ/YCwgaGVscGVyIHBpZCAke0cxLmhlbHBlclBpZH1gOiIiO08xKGAke3kxfSAke0cxLnNvdXJjZT8/S30gaW50byAke0p9JHtOMX0ke18xfWApfWNhdGNoe08xKGwuc3Rkb3V0LnRyaW0oKXx8IkluamVjdGVkLiIpfWUoITApLGgoSz09PSJwbGFjZWhvbGRlciI/InJlYWR5IjoiYWN0aXZlIiksbygkMSkscCgoRzEpPT5HMS5oYXMoSik/RzE6bmV3IFNldChHMSkuYWRkKEopKSxrMS5jdXJyZW50PWp9ZmluYWxseXthKG51bGwpfX0sW0osJCxLLHEsUCxqLEwwXSksVjE9ZD9gJHtLfTo6JHtLPT09IndlYmNhbSI/UDoiIn06OiR7Sz09PSJpbWFnZSJ8fEs9PT0idmlkZW8iP3E6IiJ9YDpudWxsLEgxPSEhSiYmaS5oYXMoSiksejE9SDEmJkshPT0icGxhY2Vob2xkZXIiO0UoKCk9PntpZighejEpe28xLmN1cnJlbnQ9ITE7cmV0dXJufWlmKG8xLmN1cnJlbnQpcmV0dXJuO28xLmN1cnJlbnQ9ITAsWighMCl9LFt6MV0pLEUoKCk9PntpZighYylyZXR1cm47aWYoIUp8fG18fEgpcmV0dXJuO2lmKEshPT0id2ViY2FtInx8UCE9PWMpcmV0dXJuO2lmKEYxKG51bGwpLGQpcmV0dXJuO24oKX0sW2MsSixtLEgsSyxQLGQsbl0pLEUoKCk9PntpZighZClyZXR1cm47aWYoKEs9PT0iaW1hZ2UifHxLPT09InZpZGVvIikmJiFxLnRyaW0oKSlyZXR1cm47aWYoSz09PSJ3ZWJjYW0iJiYhUClyZXR1cm47aWYoaDEuY3VycmVudCl7aDEuY3VycmVudD0hMTtyZXR1cm59bGV0IEQ9ITE7cmV0dXJuKGFzeW5jKCk9PntaMSgic3dpdGNoIiksUihudWxsKTt0cnl7aWYoRClyZXR1cm47YXdhaXQgYjEoSyxQLHEpfWZpbmFsbHl7aWYoIUQpWjEobnVsbCl9fSkoKSwoKT0+e0Q9ITB9fSxbVjFdKSxFKCgpPT57aWYoIWQpcmV0dXJuO2lmKGsxLmN1cnJlbnQ9PT1qKXJldHVybjtsZXQgRD1qLGw9ITE7cmV0dXJuKGFzeW5jKCk9PntaMSgibWlycm9yIiksUihudWxsKTt0cnl7bGV0ICQxPWF3YWl0IEExKCJjYW1lcmEubWlycm9yIix7dmFsdWU6RCx1ZGlkOiR9KTtpZihsKXJldHVybjtpZigkMS5leGl0Q29kZSE9PTApe1IoJDEuc3RkZXJyLnRyaW0oKXx8JDEuc3Rkb3V0LnRyaW0oKXx8YG1pcnJvciBmYWlsZWQgKCR7JDEuZXhpdENvZGV9KWApO3JldHVybn1rMS5jdXJyZW50PUQsTzEoYE1pcnJvciDihpIgJHtEfWApfWZpbmFsbHl7aWYoIWwpWjEobnVsbCl9fSkoKSwoKT0+e2w9ITB9fSxbaixkXSk7bGV0IGQxPUkoYXN5bmMoKT0+e2EoInN0b3AiKSxSKG51bGwpO3RyeXtsZXQgRD1hd2FpdCBBMSgiY2FtZXJhLnN0b3BXZWJjYW0iLHt1ZGlkOiR9KTtpZihELmV4aXRDb2RlIT09MCl7UihELnN0ZGVyci50cmltKCl8fGBzdG9wLXdlYmNhbSBmYWlsZWQgKCR7RC5leGl0Q29kZX0pYCk7cmV0dXJufU8xKCJDYW1lcmEgaGVscGVyIHN0b3BwZWQuIiksZSghMSksaCgicmVhZHkiKSxwKG5ldyBTZXQpLGsxLmN1cnJlbnQ9Im9mZiJ9ZmluYWxseXthKG51bGwpfX0sWyRdKSx4MT1JKGFzeW5jKEQpPT57bGV0IGw9UUsoe3R5cGU6RC50eXBlLG5hbWU6RC5uYW1lfSksJDE9RC50eXBlLnN0YXJ0c1dpdGgoImltYWdlLyIpfHxsLEcxPUQudHlwZS5zdGFydHNXaXRoKCJ2aWRlby8iKXx8dTcoe3R5cGU6RC50eXBlLG5hbWU6RC5uYW1lfSk7aWYoISQxJiYhRzEpe0QxLmN1cnJlbnQ9ITEsUihgVW5zdXBwb3J0ZWQgZmlsZSB0eXBlOiAke0QudHlwZXx8RC5uYW1lfWApO3JldHVybn1pZihPKCEwKSxSKG51bGwpLEMxKG51bGwpLEpLKHt0eXBlOkQudHlwZSxuYW1lOkQubmFtZSxzaXplOkQuc2l6ZX0pKUMxKGFYKTtEMS5jdXJyZW50PWw7dHJ5e2xldCB5MT11MihEKSxOMT1hd2FpdCBnNyhELCJzZXJ2ZS1zaW0tY2Ftc3JjIix5MSk7TChELm5hbWUpLFkoRzE/InZpZGVvIjoiaW1hZ2UiKSxHKE4xKSxPMShgTG9hZGVkICR7RC5uYW1lfWApfWNhdGNoKHkxKXtpZihEMS5jdXJyZW50KVIocDcpO2Vsc2UgUih5MT8ubWVzc2FnZT8/IlVwbG9hZCBmYWlsZWQiKX1maW5hbGx5e08oITEpfX0sW10pLHcxPUkoYXN5bmMoRCk9PntELnByZXZlbnREZWZhdWx0KCksRC5zdG9wUHJvcGFnYXRpb24oKSxOLmN1cnJlbnQ9MCxWKCExKTtsZXQgbD1ELmRhdGFUcmFuc2Zlcj8uZmlsZXM/LlswXTtpZihsKWF3YWl0IHgxKGwpfSxbeDFdKSxyMT1JKCgpPT57WSgicGxhY2Vob2xkZXIiKSxHKCIiKSxMKG51bGwpLFIobnVsbCksQzEobnVsbCksRDEuY3VycmVudD0hMX0sW10pLHExPUkoKCk9PntNLmN1cnJlbnQ/LmNsaWNrKCl9LFtdKSxmMT1JKGFzeW5jKEQpPT57bGV0IGw9RC50YXJnZXQsJDE9bC5maWxlcz8uWzBdO2lmKGwudmFsdWU9IiIsJDEpYXdhaXQgeDEoJDEpfSxbeDFdKTtFKCgpPT57aWYoIVUpcmV0dXJuO2xldCBEPShsKT0+e2xldCAkMT1sLnRhcmdldDtpZigkMSBpbnN0YW5jZW9mIEVsZW1lbnQmJiQxLmNsb3Nlc3QoIltkYXRhLWNhbWVyYS1zb3VyY2UtbWVudV0iKSlyZXR1cm47QyghMSl9O3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixEKSwoKT0+d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsRCl9LFtVXSk7bGV0IFgwPUkoKEQpPT57aWYodihELmlkKSxZKCJ3ZWJjYW0iKSxMKG51bGwpLFIobnVsbCksRDEuY3VycmVudD0hMSxDKCExKSxKKUYxKEQuaWQpfSxbSl0pLHowPUkoKCk9Pnt1KChEKT0+RD09PSJvbiI/Im9mZiI6Im9uIil9LFtdKSxqMT0hZHx8Sz09PSJwbGFjZWhvbGRlciIsJDA9SSgoRCk9PntpZihELnByZXZlbnREZWZhdWx0KCksTi5jdXJyZW50KyssTi5jdXJyZW50PT09MSlWKCEwKX0sW10pLEEwPUkoKEQpPT57aWYoRC5wcmV2ZW50RGVmYXVsdCgpLEQuZGF0YVRyYW5zZmVyKUQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3Q9ImNvcHkifSxbXSksbTE9SSgoRCk9PntpZihELnByZXZlbnREZWZhdWx0KCksTi5jdXJyZW50LS0sTi5jdXJyZW50PD0wKU4uY3VycmVudD0wLFYoITEpfSxbXSksazA9dFgoe2J1bmRsZUlkOkosaW5qZWN0ZWQ6ZCxzb3VyY2U6Syxmb3JlZ3JvdW5kSXNJbmplY3RlZDpIMX0pLGExPWswPT09InN0b3AiP3tsYWJlbDp0PT09InN0b3AiPyJTdG9wcGluZ+KApiI6IlN0b3AiLG9uQ2xpY2s6ZDEsa2luZDoic3RvcCJ9OmswPT09ImF0dGFjaCI/e2xhYmVsOnQ9PT0iaW5qZWN0Ij8iSW5qZWN0aW5n4oCmIjpgSW5qZWN0ICR7Sn1gLG9uQ2xpY2s6bixraW5kOiJhdHRhY2gifTp7bGFiZWw6dD09PSJpbmplY3QiPyJTdGFydGluZ+KApiI6IlBsYXkiLG9uQ2xpY2s6bixraW5kOiJwbGF5In0scDE9azA9PT0ic3RvcCI/SHx8dCE9PW51bGw6IUp8fEh8fHQhPT1udWxsLEUxPUs9PT0icGxhY2Vob2xkZXIiLF8wPUs9PT0id2ViY2FtIix4MD0oSz09PSJpbWFnZSJ8fEs9PT0idmlkZW8iKSYmISFCLFUwPV8wP2suZmluZCgoRCk9PkQuaWQ9PT1QKT8ubmFtZT8/UD8/IldlYmNhbSI6bnVsbCxSMD1IPyJ1cGxvYWRpbmciOngwPyJmaWxlIjpfMD8id2ViY2FtIjoicGxhY2Vob2xkZXIiO3JldHVybiBYKFowLHtvcGVuOlEsb25PcGVuQ2hhbmdlOlosYm9keUNsYXNzTmFtZToicHQtMi41IixzdW1tYXJ5Q2xhc3NOYW1lOiJncmlkIFtncmlkLXRlbXBsYXRlLWNvbHVtbnM6YXV0b18xZnJfYXV0b10gaXRlbXMtY2VudGVyIGdhcC0yIHRleHQtbGVmdCIsc3VtbWFyeTpYKFkxLHtjaGlsZHJlbjpbWCgic3BhbiIse2NsYXNzTmFtZToidGV4dC1bMTFweF0gZm9udC1zZW1pYm9sZCB0ZXh0LXdoaXRlLzUwIHVwcGVyY2FzZSB0cmFja2luZy1bMC4wOGVtXSBsZWFkaW5nLW5vbmUgaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIixjaGlsZHJlbjoiQ2FtZXJhIn0pLFgoWEsse3N0YXRlOlgxfSldfSksY2hpbGRyZW46WCgiZGl2Iix7b25EcmFnRW50ZXI6JDAsb25EcmFnT3ZlcjpBMCxvbkRyYWdMZWF2ZTptMSxvbkRyb3A6dzEsY2xhc3NOYW1lOiJmbGV4IGZsZXgtY29sIGdhcC0yLjUiLGNoaWxkcmVuOltYKCJwIix7Y2xhc3NOYW1lOiJtLTAgdGV4dC1bMTBweF0gbGVhZGluZy1bMS41XSB0ZXh0LXdoaXRlLzQ1IixjaGlsZHJlbjoiUmVwbGFjZXMgdGhlIHNpbXVsYXRvcidzIGNhbWVyYSBmZWVkIGJ5IGluamVjdGluZyBhIGR5bGliIGF0IGFwcCBsYXVuY2ggYW5kIHN0cmVhbWluZyBmcmFtZXMgaW50byBzaGFyZWQgbWVtb3J5LiBQaWNrIG1lZGlhIG9yIGEgd2ViY2FtLCB0aGVuIFBsYXkgdG8gaW5qZWN0IGludG8gdGhlIGZvcmVncm91bmQgYXBwLiJ9KSxYKCJpbnB1dCIse3JlZjpNLHR5cGU6ImZpbGUiLGFjY2VwdDoiaW1hZ2UvKix2aWRlby8qIixjbGFzc05hbWU6ImhpZGRlbiIsb25DaGFuZ2U6ZjF9KSxYKCJkaXYiLHtvbkNsaWNrOihEKT0+e2lmKCFFMSlyZXR1cm47aWYoRC50YXJnZXQuY2xvc2VzdCgiW2RhdGEtY2xlYXItbWVkaWFdIikpcmV0dXJuO3ExKCl9LHRpdGxlOkUxPyJObyBzb3VyY2Ugc2VsZWN0ZWQg4oCUIFBsYXkgdXNlcyBhIHRlc3QtcGF0dGVybiBmZWVkLiBDbGljayB0byBwaWNrIGFuIGltYWdlL3ZpZGVvLCBvciBkcm9wIG9uZSBoZXJlLiI6XzA/YFNvdXJjZTogJHtVMH1gOmBTb3VyY2U6ICR7Qj8/S31gLGNsYXNzTmFtZTpbInJlbGF0aXZlIG1pbi1oLVs0NHB4XSBmbGV4IGZsZXgtcm93IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAtMi41IHB4LTMuNSBweS0yLjUgcm91bmRlZC1bN3B4XSB0ZXh0LWNlbnRlciB0cmFuc2l0aW9uLVtib3JkZXItY29sb3IsYmFja2dyb3VuZF0gZHVyYXRpb24tMTUwIixFMT8iYmctd2hpdGUvWzAuMDRdIGJvcmRlciBib3JkZXItZGFzaGVkIGJvcmRlci13aGl0ZS8xMiI6ImJnLXdoaXRlL1swLjA0XSBib3JkZXIgYm9yZGVyLXdoaXRlLzgiLHo/IiFiZy1bcmdiYSgxMCwxMzIsMjU1LDAuMDgpXSAhYm9yZGVyLVtyZ2JhKDEwLDEzMiwyNTUsMC42KV0iOiIiLEg/ImN1cnNvci1wcm9ncmVzcyI6RTE/ImN1cnNvci1wb2ludGVyIjoiY3Vyc29yLWRlZmF1bHQiXS5qb2luKCIgIiksY2hpbGRyZW46W1goWUsse21vZGU6UjAsZmlsZU5hbWU6Qix3ZWJjYW1OYW1lOlUwLHNvdXJjZUtpbmQ6S30pLCFFMSYmIUgmJlgoImJ1dHRvbiIseyJkYXRhLWNsZWFyLW1lZGlhIjohMCxvbkNsaWNrOihEKT0+e0Quc3RvcFByb3BhZ2F0aW9uKCkscjEoKX0sY2xhc3NOYW1lOiJzaHJpbmstMCB3LTUgaC01IGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGJnLXRyYW5zcGFyZW50IGJvcmRlci1ub25lIHRleHQtd2hpdGUvNTUgaG92ZXI6dGV4dC13aGl0ZS85MCBjdXJzb3ItcG9pbnRlciBwLTAiLCJhcmlhLWxhYmVsIjoiQ2xlYXIgc291cmNlIix0aXRsZToiQ2xlYXIg4oaSIHBsYWNlaG9sZGVyIixjaGlsZHJlbjpYKEQwLHtzaXplOjE0LHN0cm9rZVdpZHRoOjJ9KX0pXX0pLEUxJiYhSCYmWChLSyx7fSksWCgiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLXN0cmV0Y2ggZ2FwLTEuNSIsY2hpbGRyZW46W1goImRpdiIse2NsYXNzTmFtZToicmVsYXRpdmUiLCJkYXRhLWNhbWVyYS1zb3VyY2UtbWVudSI6ITAsY2hpbGRyZW46W1goImJ1dHRvbiIse29uQ2xpY2s6KCk9PkMoKEQpPT4hRCksY2xhc3NOYW1lOiJoLWZ1bGwgbWluLWgtWzM2cHhdIHctMTAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgYmctdHJhbnNwYXJlbnQgYm9yZGVyIGJvcmRlci13aGl0ZS8xMiB0ZXh0LXdoaXRlLzg1IHJvdW5kZWQtWzdweF0gY3Vyc29yLXBvaW50ZXIgcC0wIGhvdmVyOmJnLXdoaXRlL1swLjA2XSBob3Zlcjpib3JkZXItd2hpdGUvMjAgaG92ZXI6dGV4dC13aGl0ZSIsImFyaWEtaGFzcG9wdXAiOiJtZW51IiwiYXJpYS1leHBhbmRlZCI6VSx0aXRsZTpLPT09IndlYmNhbSI/YFNvdXJjZTogd2ViY2FtJHtQP2AgKCR7ay5maW5kKChEKT0+RC5pZD09PVApPy5uYW1lPz9QfSlgOiIifSDigJQgY2xpY2sgdG8gY2hhbmdlYDpgU291cmNlOiAke0t9IOKAlCBjbGljayB0byBwaWNrIG1lZGlhIG9yIHdlYmNhbWAsImFyaWEtbGFiZWwiOiJDaG9vc2UgY2FtZXJhIHNvdXJjZSIsY2hpbGRyZW46WChDNSx7c2l6ZToyMCxzdHJva2VXaWR0aDoyfSl9KSxVJiZYKCJkaXYiLHtyb2xlOiJtZW51IixjbGFzc05hbWU6ImFic29sdXRlIHRvcC1bY2FsYygxMDAlKzZweCldIGxlZnQtMCB6LTEwIG1pbi13LVsyMDBweF0gZmxleCBmbGV4LWNvbCBnYXAtcHggcC0xIGJnLXBhbmVsIGJvcmRlciBib3JkZXItd2hpdGUvOCByb3VuZGVkLVs3cHhdIHNoYWRvdy1bMF84cHhfMjRweF9yZ2JhKDAsMCwwLDAuNCldIixjaGlsZHJlbjpbWCgiYnV0dG9uIix7cm9sZToibWVudWl0ZW0iLGNsYXNzTmFtZToidGV4dC1sZWZ0IGJnLXRyYW5zcGFyZW50IGJvcmRlci1ub25lIHRleHQtd2hpdGUvODUgdGV4dC1bMTJweF0gcHgtMi41IHB5LVs3cHhdIHJvdW5kZWQtbWQgY3Vyc29yLXBvaW50ZXIgaG92ZXI6Ymctd2hpdGUvWzAuMDZdIixvbkNsaWNrOigpPT57QyghMSkscTEoKX0sdGl0bGU6IlBpY2sgYW4gaW1hZ2Ugb3IgdmlkZW8gZnJvbSBkaXNrIixjaGlsZHJlbjoiQnJvd3NlIG1lZGlh4oCmIn0pLFgoImRpdiIse2NsYXNzTmFtZToiaC1weCBiZy13aGl0ZS84IG15LTEifSksWCgiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcGwtMi41IHByLTIgcHQtMSBwYi1bMnB4XSIsY2hpbGRyZW46W1goInNwYW4iLHtjbGFzc05hbWU6InRleHQtWzEwcHhdIHRleHQtd2hpdGUvNDUgdXBwZXJjYXNlIHRyYWNraW5nLVswLjA4ZW1dIixjaGlsZHJlbjpUPyJDYW1lcmFzIChsb2FkaW5n4oCmKSI6ay5sZW5ndGg9PT0wPyJObyBjYW1lcmFzIjoiQ2FtZXJhcyJ9KSxYKCJidXR0b24iLHtvbkNsaWNrOihEKT0+e0Quc3RvcFByb3BhZ2F0aW9uKCksczEoKX0sZGlzYWJsZWQ6VCxjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHctWzIycHhdIGgtWzIycHhdIGJnLXRyYW5zcGFyZW50IGJvcmRlci1ub25lIHJvdW5kZWQtWzVweF0gdGV4dC13aGl0ZS81NSBob3Zlcjp0ZXh0LXdoaXRlLzkwIGN1cnNvci1wb2ludGVyIHAtMCBkaXNhYmxlZDpvcGFjaXR5LTUwIiwiYXJpYS1sYWJlbCI6IlJlZnJlc2ggY2FtZXJhcyIsdGl0bGU6IlJlZnJlc2ggY2FtZXJhcyIsY2hpbGRyZW46WChIMix7c2l6ZToxMyxzdHJva2VXaWR0aDoyfSl9KV19KSxrLm1hcCgoRCk9PntsZXQgbD1LPT09IndlYmNhbSImJlA9PT1ELmlkO3JldHVybiBYKCJidXR0b24iLHtyb2xlOiJtZW51aXRlbSIsY2xhc3NOYW1lOlsidGV4dC1sZWZ0IGJnLXRyYW5zcGFyZW50IGJvcmRlci1ub25lIHRleHQtWzEycHhdIHB4LTIuNSBweS1bN3B4XSByb3VuZGVkLW1kIGN1cnNvci1wb2ludGVyIGhvdmVyOmJnLXdoaXRlL1swLjA2XSIsbD8iIWJnLXdoaXRlL1swLjEyXSAhdGV4dC13aGl0ZSI6InRleHQtd2hpdGUvODUiXS5qb2luKCIgIiksb25DbGljazooKT0+WDAoRCksdGl0bGU6RC5uYW1lLGNoaWxkcmVuOkQubmFtZX0sRC5pZCl9KV19KV19KSxYKCJidXR0b24iLHtvbkNsaWNrOmExLm9uQ2xpY2ssZGlzYWJsZWQ6cDEsY2xhc3NOYW1lOlsiZmxleC0xIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdhcC0xLjUgcHktMiBweC0yLjUgYm9yZGVyLW5vbmUgcm91bmRlZC1bN3B4XSB0ZXh0LVsxMnB4XSBmb250LXNlbWlib2xkIGN1cnNvci1wb2ludGVyIGRpc2FibGVkOm9wYWNpdHktNTAgbWluLWgtWzM2cHhdIixhMS5raW5kPT09InN0b3AiPyJiZy13aGl0ZS9bMC4xNl0gdGV4dC13aGl0ZSBlbmFibGVkOmhvdmVyOmJnLXdoaXRlL1swLjIyXSI6ImJnLXN1Y2Nlc3MtZW1lcmFsZCB0ZXh0LVsjMDYyMDE4XSBlbmFibGVkOmhvdmVyOmJyaWdodG5lc3MtWzEuMDhdIl0uam9pbigiICIpLHRpdGxlOmExLmtpbmQ9PT0ic3RvcCI/IlN0b3AgdGhlIGNhbWVyYSBoZWxwZXIgYW5kIHRlcm1pbmF0ZSBpbmplY3RlZCBhcHBzIjphMS5raW5kPT09ImF0dGFjaCI/YEluamVjdCAke0p9IHNvIGl0IGpvaW5zIHRoZSBjYW1lcmEgZmVlZGA6IUo/IkJyaW5nIGFuIGFwcCB0byB0aGUgZm9yZWdyb3VuZCBmaXJzdCI6IlN0YXJ0OiBpbmplY3QgdGhlIGR5bGliIGFuZCBsYXVuY2ggdGhlIGZvcmVncm91bmQgYXBwIHdpdGggdGhlIGNob3NlbiBzb3VyY2UiLCJhcmlhLXByZXNzZWQiOmExLmtpbmQ9PT0ic3RvcCIsImFyaWEtbGFiZWwiOmExLmtpbmQ9PT0ic3RvcCI/IlN0b3AiOiJQbGF5IixjaGlsZHJlbjpbYTEua2luZD09PSJzdG9wIj9YKEU1LHt9KTpYKFQ1LHt9KSxYKCJzcGFuIix7Y2hpbGRyZW46YTEua2luZD09PSJzdG9wIj8iU3RvcCI6YTEua2luZD09PSJhdHRhY2giPyJJbmplY3QiOiJQbGF5In0pXX0pLFgoImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsb25DbGljazp6MCxkaXNhYmxlZDpqMSxjbGFzc05hbWU6YGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHctMTAgbWluLWgtWzM2cHhdIGJvcmRlciByb3VuZGVkLVs3cHhdIGZvbnQtW2luaGVyaXRdIGRpc2FibGVkOm9wYWNpdHktNTAgZGlzYWJsZWQ6Y3Vyc29yLW5vdC1hbGxvd2VkIGFjdGl2ZTpzY2FsZS1bMC45N10gJHtqPT09Im9uIj8iYmctd2hpdGUgYm9yZGVyLXdoaXRlIHRleHQtWyMwYTBhMGNdIGN1cnNvci1wb2ludGVyIGVuYWJsZWQ6aG92ZXI6Ymctd2hpdGUvWzAuODhdIGVuYWJsZWQ6aG92ZXI6Ym9yZGVyLXdoaXRlL1swLjg4XSBlbmFibGVkOmhvdmVyOnRleHQtWyMwYTBhMGNdIjoiYmctd2hpdGUvWzAuMDRdIGJvcmRlci13aGl0ZS84IHRleHQtd2hpdGUvODUgY3Vyc29yLXBvaW50ZXIgZW5hYmxlZDpob3ZlcjpiZy13aGl0ZS9bMC4wOV0gZW5hYmxlZDpob3Zlcjpib3JkZXItW3JnYmEoMjU1LDI1NSwyNTUsMC4xOCldIGVuYWJsZWQ6aG92ZXI6dGV4dC13aGl0ZSJ9YCwiYXJpYS1sYWJlbCI6YE1pcnJvcjogJHtqfSDigJQgdGFwIHRvIHRvZ2dsZWAsdGl0bGU6ajE/Ik1pcnJvciB0b2dnbGUgYXZhaWxhYmxlIG9uY2UgYSBzb3VyY2UgaXMgc3RyZWFtaW5nIjpgTWlycm9yOiAke2p9IOKAlCBjbGljayB0byB0b2dnbGVgLCJhcmlhLXByZXNzZWQiOmo9PT0ib24iLGNoaWxkcmVuOlgoVTUse3NpemU6MjAsc3Ryb2tlV2lkdGg6MixmaWxsOmo9PT0ib24iPyJjdXJyZW50Q29sb3IiOiJub25lIn0pfSldfSksVTEmJlgobTcse2tpbmQ6Indhcm5pbmciLG1lc3NhZ2U6VTF9KSxKMSYmWChtNyx7a2luZDoiZXJyb3IiLG1lc3NhZ2U6SjF9KV19KX0pfXZhciBkNz01MDA7ZnVuY3Rpb24gYzcoe3VkaWQ6JCxldmVudHNFbmRwb2ludDpKfSl7bGV0W1EsWl09QSghMSksW0ssWV09QShbXSksW3EsR109QSghMSksQj1JMSgoKT0+Sj8/YCR7UzEoImFwaS9ldmVudC1sb2cvZXZlbnRzIil9P2RldmljZT0ke2VuY29kZVVSSUNvbXBvbmVudCgkKX1gLFtKLCRdKTtFKCgpPT57RyghMSksWShbXSk7bGV0IHo9dzAoQik7cmV0dXJuIHoub25tZXNzYWdlPSh7ZGF0YTpWfSk9Pnt0cnl7bGV0IE49SlNPTi5wYXJzZShWKTtpZihHKCExKSxBcnJheS5pc0FycmF5KE4uZXZlbnRzKSlZKE4uZXZlbnRzLnNsaWNlKC1kNykpO2Vsc2UgaWYoTi5ldmVudClZKChIKT0+e3JldHVyblsuLi5ILmZpbHRlcigoVSk9PlUuaWQhPT1OLmV2ZW50LmlkKSxOLmV2ZW50XS5zbGljZSgtZDcpfSl9Y2F0Y2h7fX0sei5vbmVycm9yPSgpPT5HKCEwKSwoKT0+ei5jbG9zZSgpfSxbQl0pO2xldCBMPUkxKCgpPT5LLnNsaWNlKCkucmV2ZXJzZSgpLFtLXSk7cmV0dXJuIFgoWjAse29wZW46USxvbk9wZW5DaGFuZ2U6WiwiZGF0YS1ldmVudC1sb2ciOiIiLHN1bW1hcnlDbGFzc05hbWU6ImdyaWQgW2dyaWQtdGVtcGxhdGUtY29sdW1uczphdXRvXzFmcl9hdXRvXSBpdGVtcy1jZW50ZXIgZ2FwLTIgdGV4dC1sZWZ0IixzdW1tYXJ5OlgoWTEse2NoaWxkcmVuOltYKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LVsxMXB4XSBmb250LXNlbWlib2xkIHRleHQtd2hpdGUvNTAgdXBwZXJjYXNlIHRyYWNraW5nLVswLjA4ZW1dIGxlYWRpbmctbm9uZSIsY2hpbGRyZW46IkV2ZW50IExvZyJ9KSxYKCJzcGFuIix7Y2xhc3NOYW1lOiJqdXN0aWZ5LXNlbGYtZW5kIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci13aGl0ZS84IGJnLXdoaXRlL1swLjA0XSBweC0xLjUgcHktWzNweF0gdGV4dC1bMTBweF0gZm9udC1tb25vIHRleHQtd2hpdGUvNjAiLGNoaWxkcmVuOksubGVuZ3RofSldfSksY2hpbGRyZW46TC5sZW5ndGg9PT0wP1goImRpdiIse3JvbGU6InN0YXR1cyIsImFyaWEtbGl2ZSI6InBvbGl0ZSIsY2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBweS00IHRleHQtWzEycHhdIHRleHQtd2hpdGUvNDUiLGNoaWxkcmVuOnE/IkRpc2Nvbm5lY3RlZCI6Ik5vIGV2ZW50cyB5ZXQifSk6WCgiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IG1heC1oLVszMjBweF0gZmxleC1jb2wgZ2FwLTEgb3ZlcmZsb3cteS1hdXRvIHB5LTAuNSBbc2Nyb2xsYmFyLXdpZHRoOnRoaW5dIixyb2xlOiJsaXN0IixjaGlsZHJlbjpMLm1hcCgoeik9PlgocUsse2V2ZW50Onp9LHouaWQpKX0pfSl9ZnVuY3Rpb24gcUsoe2V2ZW50OiR9KXtsZXQgSj1HSygkLnRpbWVzdGFtcCksUT1bJC5zb3VyY2UsJC5raW5kLCQuYWN0aW9uXS5maWx0ZXIoQm9vbGVhbikuam9pbigiIC8gIiksWj0kLm1zZz8/JC5zdW1tYXJ5LEs9JC5zdGF0dXM9PT0iZXJyb3IiPyJib3JkZXItWyNmZjQ1M2FdLzUwIGJnLVsjZmY0NTNhXS8xMCB0ZXh0LVsjZmZiM2FkXSI6ImJvcmRlci13aGl0ZS84IGJnLXdoaXRlL1swLjA0XSB0ZXh0LXdoaXRlLzUwIjtyZXR1cm4gWCgiZGl2Iix7cm9sZToibGlzdGl0ZW0iLHRpdGxlOlEsY2xhc3NOYW1lOiJncmlkIGdyaWQtY29scy1bNTZweF8xZnJfYXV0b10gaXRlbXMtY2VudGVyIGdhcC0yIHJvdW5kZWQtbWQgcHgtMS41IHB5LTEuNSB0ZXh0LVsxMnB4XSBsZWFkaW5nLXRpZ2h0IGhvdmVyOmJnLXdoaXRlL1swLjA1XSIsY2hpbGRyZW46W1goInNwYW4iLHtjbGFzc05hbWU6ImZvbnQtbW9ubyB0ZXh0LVsxMHB4XSB0ZXh0LXdoaXRlLzQ1IixjaGlsZHJlbjpKfSksWCgic3BhbiIse2NsYXNzTmFtZToibWluLXctMCIsY2hpbGRyZW46W1goInNwYW4iLHtjbGFzc05hbWU6ImJsb2NrIG92ZXJmbG93LWhpZGRlbiB0ZXh0LWVsbGlwc2lzIHdoaXRlc3BhY2Utbm93cmFwIHRleHQtd2hpdGUvOTAiLGNoaWxkcmVuOlp9KSxYKCJzcGFuIix7Y2xhc3NOYW1lOiJtdC0wLjUgYmxvY2sgb3ZlcmZsb3ctaGlkZGVuIHRleHQtZWxsaXBzaXMgd2hpdGVzcGFjZS1ub3dyYXAgZm9udC1tb25vIHRleHQtWzEwcHhdIHRleHQtd2hpdGUvNDAiLGNoaWxkcmVuOlF9KV19KSwkLnN0YXR1cz9YKCJzcGFuIix7Y2xhc3NOYW1lOmByb3VuZGVkLW1kIGJvcmRlciBweC0xLjUgcHktWzNweF0gdGV4dC1bMTBweF0gZm9udC1tb25vICR7S31gLGNoaWxkcmVuOiQuc3RhdHVzfSk6bnVsbF19KX1mdW5jdGlvbiBHSygkKXtsZXQgSj1uZXcgRGF0ZSgkKTtpZihOdW1iZXIuaXNOYU4oSi5nZXRUaW1lKCkpKXJldHVybiIiO3JldHVybiBKLnRvTG9jYWxlVGltZVN0cmluZyhbXSx7aG91cjoiMi1kaWdpdCIsbWludXRlOiIyLWRpZ2l0IixzZWNvbmQ6IjItZGlnaXQifSl9dmFyIFZLPTYwLEJLPTgwMDA7ZnVuY3Rpb24gbzcoJCl7bGV0W0osUV09QShudWxsKSxbWixLXT1BKFtdKSxbWSxxXT1BKCExKSxbRyxCXT1BKCExKSxMPUYoMCk7cmV0dXJuIEUoKCk9PntRKG51bGwpLEsoW10pLHEoITEpLEIoITEpLEwuY3VycmVudD0wO2xldCB6PXcwKCQpO3oub25tZXNzYWdlPSh7ZGF0YTpOfSk9Pnt0cnl7bGV0IEg9SlNPTi5wYXJzZShOKTtpZihxKCExKSwic2NoZW1hVmVyc2lvbiJpbiBIKVEoSCk7ZWxzZSBpZigidCJpbiBIKXtsZXQgTz1IO0wuY3VycmVudD1EYXRlLm5vdygpLEIoITEpLEsoKFUpPT57bGV0IEM9Wy4uLlVdLnJldmVyc2UoKS5maW5kKChrKT0+ay5idW5kbGVJZCE9PW51bGwpPy5idW5kbGVJZD8/bnVsbDtyZXR1cm5bLi4uQyE9PW51bGwmJk8uYnVuZGxlSWQhPT1udWxsJiZDIT09Ty5idW5kbGVJZD9bXTpVLE9dLnNsaWNlKC1WSyl9KX19Y2F0Y2h7fX0sei5vbmVycm9yPSgpPT5xKCEwKTtsZXQgVj1zZXRJbnRlcnZhbCgoKT0+e2lmKEwuY3VycmVudD4wJiZEYXRlLm5vdygpLUwuY3VycmVudD5CSylCKCEwKX0sMTAwMCk7cmV0dXJuKCk9Pnt6LmNsb3NlKCksY2xlYXJJbnRlcnZhbChWKX19LFskXSkse21ldGE6SixsYXRlc3Q6Wi5hdCgtMSk/P251bGwsaGlzdG9yeTpaLGVycm9yZWQ6WSxzdGFsZTpHfX1mdW5jdGlvbiBKOSgkKXtyZXR1cm5gJHtNYXRoLnJvdW5kKCQpfSVgfWZ1bmN0aW9uIFE5KCQpe2xldCBKPSQvMTA0ODU3NjtyZXR1cm4gSj49MTAyND9gJHsoSi8xMDI0KS50b0ZpeGVkKDEpfSBHQmA6YCR7TWF0aC5yb3VuZChKKX0gTUJgfWZ1bmN0aW9uIFo5KCQpe2lmKCFOdW1iZXIuaXNGaW5pdGUoJCl8fCQ8PTApcmV0dXJuIjAgQi9zIjtpZigkPDEwMjQpcmV0dXJuYCR7TWF0aC5yb3VuZCgkKX0gQi9zYDtsZXQgSj0kLzEwMjQ7cmV0dXJuIEo8MTAyND9gJHtNYXRoLnJvdW5kKEopfSBLQi9zYDpgJHsoSi8xMDI0KS50b0ZpeGVkKDEpfSBNQi9zYH1mdW5jdGlvbiB3NSgkLEosUSxaKXtpZigkLmxlbmd0aDwyKXJldHVybiIiO2xldCBLPVohPT12b2lkIDAmJlo+MD9aOk1hdGgubWF4KC4uLiQsMSksWT1KLygkLmxlbmd0aC0xKSxxPSQubWFwKChCLEwpPT4oe3g6TCpZLHk6US1CL0sqUX0pKSxHPWBNJHtxWzBdLngudG9GaXhlZCgxKX0sJHtxWzBdLnkudG9GaXhlZCgxKX1gO2ZvcihsZXQgQj0wO0I8cS5sZW5ndGgtMTtCKyspe2xldCBMPXFbQi0xXT8/cVtCXSx6PXFbQl0sVj1xW0IrMV0sTj1xW0IrMl0/P1YsSD1NYXRoLm1pbih6LnksVi55KSxPPU1hdGgubWF4KHoueSxWLnkpLFU9KFQpPT5NYXRoLm1pbihPLE1hdGgubWF4KEgsVCkpLEM9ei54KyhWLngtTC54KS82LE09VSh6LnkrKFYueS1MLnkpLzYpLGs9Vi54LShOLngtei54KS82LHc9VShWLnktKE4ueS16LnkpLzYpO0crPWAgQyR7Qy50b0ZpeGVkKDEpfSwke00udG9GaXhlZCgxKX0gJHtrLnRvRml4ZWQoMSl9LCR7dy50b0ZpeGVkKDEpfSAke1YueC50b0ZpeGVkKDEpfSwke1YueS50b0ZpeGVkKDEpfWB9cmV0dXJuIEd9dmFyIGsyPTk2LCQyPTI0O2Z1bmN0aW9uIFMzKHt2YWx1ZXM6JCxtYXg6SixjbGFzc05hbWU6UX0pe2xldCBaPXc1KCQsazIsJDIsSiksSz1aP2Ake1p9IEwke2syfSwkeyQyfSBMMCwkeyQyfSBaYDoiIjtyZXR1cm4gWCgic3ZnIix7dmlld0JveDpgMCAwICR7azJ9ICR7JDJ9YCxwcmVzZXJ2ZUFzcGVjdFJhdGlvOiJub25lIixjbGFzc05hbWU6YHctZnVsbCBoLTggJHtRfWAsY2hpbGRyZW46W1goInBhdGgiLHtkOkssZmlsbDoiY3VycmVudENvbG9yIixvcGFjaXR5OjAuMTIsc3Ryb2tlOiJub25lIn0pLFgoajMse2Q6Wn0pXX0pfWZ1bmN0aW9uIGozKHtkOiQsY2xhc3NOYW1lOkp9KXtyZXR1cm4gWCgicGF0aCIse2Q6JCxjbGFzc05hbWU6SixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6MS41LHZlY3RvckVmZmVjdDoibm9uLXNjYWxpbmctc3Ryb2tlIn0pfWZ1bmN0aW9uIG43KHt1ZGlkOiQsY3VycmVudEFwcEJ1bmRsZUlkOkosbWV0cmljc0VuZHBvaW50OlF9KXtsZXQgWj1JMSgoKT0+UT8/YCR7UzEoIm1ldHJpY3MiKX0/ZGV2aWNlPSR7ZW5jb2RlVVJJQ29tcG9uZW50KCQpfWAsW1EsJF0pLHttZXRhOkssbGF0ZXN0OlksaGlzdG9yeTpxLGVycm9yZWQ6RyxzdGFsZTpCfT1vNyhaKSxbTCx6XT1BKCEwKSxWPVkhPT1udWxsJiZZLmJ1bmRsZUlkIT09bnVsbCYmIUcmJiFCLE49SiE9bnVsbCYmSi5zdGFydHNXaXRoKCJjb20uYXBwbGUuIiksSD1HPyJUaGUgbWV0cmljcyBzdHJlYW0gZGlzY29ubmVjdGVkIjpOPyJPbmx5IHlvdXIgYXBwIGlzIG1lYXN1cmVkOyBhIHN5c3RlbSBhcHAgaXMgaW4gdGhlIGZvcmVncm91bmQiOiJXYWl0aW5nIGZvciBhY3Rpdml0eSBkYXRhIjtyZXR1cm4gWChaMCx7b3BlbjpMLG9uT3BlbkNoYW5nZTp6LHN1bW1hcnlDbGFzc05hbWU6ImdyaWQgW2dyaWQtdGVtcGxhdGUtY29sdW1uczphdXRvXzFmcl9hdXRvXSBpdGVtcy1jZW50ZXIgZ2FwLTIgdGV4dC1sZWZ0Iixib2R5Q2xhc3NOYW1lOlY/dm9pZCAwOiJoaWRkZW4iLHN1bW1hcnk6WChZMSx7Y2hpbGRyZW46W1goInNwYW4iLHtjbGFzc05hbWU6InRleHQtWzExcHhdIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZS81MCB1cHBlcmNhc2UgdHJhY2tpbmctWzAuMDhlbV0gbGVhZGluZy1ub25lIGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciIsY2hpbGRyZW46IkFjdGl2aXR5In0pLFY/IUwmJlgoInNwYW4iLHtjbGFzc05hbWU6InRleHQtWzExcHhdIHRleHQtd2hpdGUvNDAgdGFidWxhci1udW1zIHRleHQtcmlnaHQiLGNoaWxkcmVuOltKOShZLmNwdVBjdCksIiDCtyAiLFE5KFkubWVtQnl0ZXMpXX0pOlgoInNwYW4iLHsiZGF0YS1tZXRyaWNzLXdhcm5pbmciOiEwLHJvbGU6InN0YXR1cyIsY2xhc3NOYW1lOiJncm91cCByZWxhdGl2ZSBqdXN0aWZ5LXNlbGYtZW5kIGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciIsY2hpbGRyZW46W1gocDAseyJhcmlhLWhpZGRlbiI6InRydWUiLGNsYXNzTmFtZToidy0zLjUgaC0zLjUgdGV4dC1hbWJlci00MDAifSksWCgic3BhbiIse2NsYXNzTmFtZToic3Itb25seSIsY2hpbGRyZW46SH0pLFgoInNwYW4iLHtjbGFzc05hbWU6InBvaW50ZXItZXZlbnRzLW5vbmUgYWJzb2x1dGUgcmlnaHQtMCB0b3AtZnVsbCB6LTEwIG10LTEgaGlkZGVuIHctbWF4IG1heC13LVsyMjBweF0gcm91bmRlZC1tZCBiZy1ibGFjay85MCBweC0yIHB5LTEgdGV4dC1bMTFweF0gbGVhZGluZy1zbnVnIHRleHQtd2hpdGUvOTAgc2hhZG93LWxnIGdyb3VwLWhvdmVyOmJsb2NrIixjaGlsZHJlbjpIfSldfSldfSksY2hpbGRyZW46Vj9YKFkxLHtjaGlsZHJlbjpbWChpNyx7bGFiZWw6IkNQVSIsdmFsdWU6SjkoWS5jcHVQY3QpLGhpbnQ6Sz9gJHtLLmhvc3RDb3Jlc30gY29yZXNgOnZvaWQgMCx2YWx1ZXM6cS5tYXAoKE8pPT5PLmNwdVBjdCksY2xhc3NOYW1lOiJ0ZXh0LWVtZXJhbGQtNDAwIn0pLFgoaTcse2xhYmVsOiJNZW1vcnkiLHZhbHVlOlE5KFkubWVtQnl0ZXMpLHZhbHVlczpxLm1hcCgoTyk9Pk8ubWVtQnl0ZXMpLGNsYXNzTmFtZToidGV4dC1za3ktNDAwIn0pLFgoTEsse2Rvd246WS5uZXRJbkJ5dGVzUGVyU2VjLHVwOlkubmV0T3V0Qnl0ZXNQZXJTZWMsZG93blZhbHVlczpxLm1hcCgoTyk9Pk8ubmV0SW5CeXRlc1BlclNlYyksdXBWYWx1ZXM6cS5tYXAoKE8pPT5PLm5ldE91dEJ5dGVzUGVyU2VjKX0pXX0pOm51bGx9KX1mdW5jdGlvbiBpNyh7bGFiZWw6JCx2YWx1ZTpKLGhpbnQ6USx2YWx1ZXM6WixjbGFzc05hbWU6S30pe3JldHVybiBYKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggZmxleC1jb2wgZ2FwLTEiLGNoaWxkcmVuOltYKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtYmFzZWxpbmUganVzdGlmeS1iZXR3ZWVuIixjaGlsZHJlbjpbWCgic3BhbiIse2NsYXNzTmFtZToidGV4dC13aGl0ZS81MCB0ZXh0LVsxMXB4XSIsY2hpbGRyZW46JH0pLFgoInNwYW4iLHtjbGFzc05hbWU6InRhYnVsYXItbnVtcyB0ZXh0LVsxMXB4XSIsY2hpbGRyZW46W0osUSYmWCgic3BhbiIse2NsYXNzTmFtZToidGV4dC13aGl0ZS8zMCB0ZXh0LVsxMXB4XSBtbC0xLjUiLGNoaWxkcmVuOlF9KV19KV19KSxYKFMzLHt2YWx1ZXM6WixjbGFzc05hbWU6S30pXX0pfWZ1bmN0aW9uIExLKHtkb3duOiQsdXA6Sixkb3duVmFsdWVzOlEsdXBWYWx1ZXM6Wn0pe3JldHVybiBYKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggZmxleC1jb2wgZ2FwLTEiLGNoaWxkcmVuOltYKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtYmFzZWxpbmUganVzdGlmeS1iZXR3ZWVuIixjaGlsZHJlbjpbWCgic3BhbiIse2NsYXNzTmFtZToidGV4dC13aGl0ZS81MCB0ZXh0LVsxMXB4XSIsY2hpbGRyZW46Ik5ldHdvcmsifSksWCgic3BhbiIse2NsYXNzTmFtZToidGFidWxhci1udW1zIHRleHQtWzExcHhdIixjaGlsZHJlbjpbWCgic3BhbiIse2NsYXNzTmFtZToidGV4dC1jeWFuLTQwMCIsY2hpbGRyZW46WyLihpMgIixaOSgkKV19KSxYKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LXdoaXRlLzMwIG14LTEuNSIsY2hpbGRyZW46IsK3In0pLFgoInNwYW4iLHtjbGFzc05hbWU6InRleHQtdmlvbGV0LTQwMCIsY2hpbGRyZW46WyLihpEgIixaOShKKV19KV19KV19KSxYKHpLLHtkb3duOlEsdXA6Wn0pXX0pfWZ1bmN0aW9uIHpLKHtkb3duOiQsdXA6Sn0pe2xldCBRPU1hdGgubWF4KC4uLiQsLi4uSiwxKTtyZXR1cm4gWCgic3ZnIix7dmlld0JveDpgMCAwICR7azJ9ICR7JDJ9YCxwcmVzZXJ2ZUFzcGVjdFJhdGlvOiJub25lIixjbGFzc05hbWU6InctZnVsbCBoLTgiLGNoaWxkcmVuOltYKGozLHtkOnc1KCQsazIsJDIsUSksY2xhc3NOYW1lOiJ0ZXh0LWN5YW4tNDAwIn0pLFgoajMse2Q6dzUoSixrMiwkMixRKSxjbGFzc05hbWU6InRleHQtdmlvbGV0LTQwMCJ9KV19KX12YXIgYjU9WyJleHRyYS1zbWFsbCIsInNtYWxsIiwibWVkaXVtIiwibGFyZ2UiLCJleHRyYS1sYXJnZSIsImV4dHJhLWV4dHJhLWxhcmdlIiwiZXh0cmEtZXh0cmEtZXh0cmEtbGFyZ2UiXSxVSz0yNTAsTks9e2FwcGVhcmFuY2U6ImxpZ2h0IiwibGlxdWlkLWdsYXNzIjoiY2xlYXIiLCJjb2xvci1maWx0ZXIiOiJub25lIiwidGV4dC1zaXplIjoibGFyZ2UiLCJyZWR1Y2UtbW90aW9uIjoib2ZmIiwiaW5jcmVhc2UtY29udHJhc3QiOiJvZmYiLCJzaG93LWJvcmRlcnMiOiJvZmYiLCJyZWR1Y2UtdHJhbnNwYXJlbmN5Ijoib2ZmIix2b2ljZW92ZXI6Im9mZiIsImhhcmR3YXJlLWtleWJvYXJkIjoib24ifSxYOT17YXBwZWFyYW5jZTpbe3ZhbHVlOiJsaWdodCIsbGFiZWw6IkxpZ2h0In0se3ZhbHVlOiJkYXJrIixsYWJlbDoiRGFyayJ9XSwibGlxdWlkLWdsYXNzIjpbe3ZhbHVlOiJjbGVhciIsbGFiZWw6IkNsZWFyIn0se3ZhbHVlOiJ0aW50ZWQiLGxhYmVsOiJUaW50ZWQifV0sImNvbG9yLWZpbHRlciI6W3t2YWx1ZToibm9uZSIsbGFiZWw6Ik5vbmUifSx7dmFsdWU6InJlZC1ncmVlbiIsbGFiZWw6IlJlZC9HcmVlbiAoUHJvdGFub3BpYSkifSx7dmFsdWU6ImdyZWVuLXJlZCIsbGFiZWw6IkdyZWVuL1JlZCAoRGV1dGVyYW5vcGlhKSJ9LHt2YWx1ZToiYmx1ZS15ZWxsb3ciLGxhYmVsOiJCbHVlL1llbGxvdyAoVHJpdGFub3BpYSkifSx7dmFsdWU6ImdyYXlzY2FsZSIsbGFiZWw6IkdyYXlzY2FsZSJ9XX0sSEs9W3trZXk6ImhhcmR3YXJlLWtleWJvYXJkIixsYWJlbDoiSGFyZHdhcmUgS2V5Ym9hcmQifSx7a2V5OiJyZWR1Y2UtbW90aW9uIixsYWJlbDoiUmVkdWNlIE1vdGlvbiJ9LHtrZXk6ImluY3JlYXNlLWNvbnRyYXN0IixsYWJlbDoiSW5jcmVhc2UgQ29udHJhc3QifSx7a2V5OiJzaG93LWJvcmRlcnMiLGxhYmVsOiJTaG93IEJvcmRlcnMifSx7a2V5OiJyZWR1Y2UtdHJhbnNwYXJlbmN5IixsYWJlbDoiUmVkdWNlIFRyYW5zcGFyZW5jeSJ9LHtrZXk6InZvaWNlb3ZlciIsbGFiZWw6IlZvaWNlT3ZlciJ9XTtmdW5jdGlvbiBPMCh7aWNvbjokLGxhYmVsOkosY2hpbGRyZW46UX0pe3JldHVybiBYKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBnYXAtMiBtaW4taC1bMzBweF0iLCJkYXRhLXNldHRpbmctcm93IjpKLGNoaWxkcmVuOltYKCJzcGFuIix7Y2xhc3NOYW1lOiJmbGV4IHNocmluay0wIGl0ZW1zLWNlbnRlciBnYXAtMiB0ZXh0LVsxMnB4XSB0ZXh0LXdoaXRlLzkwIHdoaXRlc3BhY2Utbm93cmFwIixjaGlsZHJlbjpbWCgic3BhbiIse2NsYXNzTmFtZToiZmxleCBzaXplLVsxOHB4XSBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdGV4dC13aGl0ZSIsY2hpbGRyZW46JH0pLEpdfSksWCgic3BhbiIse2NsYXNzTmFtZToiZmxleCBtaW4tdy0wIGp1c3RpZnktZW5kIixjaGlsZHJlbjpRfSldfSl9ZnVuY3Rpb24gQ0soe3ZhbHVlOiQsZGlzYWJsZWQ6SixvbkNoYW5nZTpRfSl7bGV0W1osS109QShudWxsKSxZPUYobnVsbCkscT1GKG51bGwpLEc9SSgoQyk9PntpZihxLmN1cnJlbnQ9PT1DKXJldHVybjtxLmN1cnJlbnQ9QyxRKEMpfSxbUV0pLEI9SSgoQyk9PntpZihLKEMpLFkuY3VycmVudCljbGVhclRpbWVvdXQoWS5jdXJyZW50KTtZLmN1cnJlbnQ9c2V0VGltZW91dCgoKT0+RyhDKSxVSyl9LFtHXSksTD1JKCgpPT57aWYoWS5jdXJyZW50KWNsZWFyVGltZW91dChZLmN1cnJlbnQpLFkuY3VycmVudD1udWxsO0soKEMpPT57aWYoQyE9PW51bGwpRyhDKTtyZXR1cm4gbnVsbH0pLHEuY3VycmVudD1udWxsfSxbR10pLHo9YjUubGVuZ3RoLTEsVj1aPz8kLE49YCR7Vi96KjEwMH0lYDtyZXR1cm4gWCgic3BhbiIse2NsYXNzTmFtZToiZmxleCB3LVsxMjBweF0gbWluLXctMCBmbGV4LWNvbCIsY2hpbGRyZW46W1goImlucHV0Iix7dHlwZToicmFuZ2UiLCJhcmlhLWxhYmVsIjoiVGV4dCBTaXplIixtaW46MCxtYXg6eixzdGVwOjEsdmFsdWU6VixkaXNhYmxlZDpKLG9uQ2hhbmdlOihDKT0+QihOdW1iZXIoQy50YXJnZXQudmFsdWUpKSxvblBvaW50ZXJVcDpMLG9uS2V5VXA6TCxvbkJsdXI6TCxzdHlsZTp7Ii0tc2xpZGVyLWZpbGwiOk4sIi0tc2xpZGVyLWZpbGwtY29sb3IiOko/InJnYmEoMjU1LDI1NSwyNTUsMC4zKSI6IiMwYTg0ZmYifSxjbGFzc05hbWU6YGgtWzEzcHhdIHctZnVsbCBhcHBlYXJhbmNlLW5vbmUgcm91bmRlZC1mdWxsIGJnLXRyYW5zcGFyZW50IG91dGxpbmUtbm9uZSBmb2N1cy12aXNpYmxlOltvdXRsaW5lOjEuNXB4X3NvbGlkX3JnYmEoMTAsMTMyLDI1NSwwLjU1KV0gZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW9mZnNldC00ICR7Sj8iY3Vyc29yLWRlZmF1bHQiOiJjdXJzb3ItcG9pbnRlciJ9ICR7IlsmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja106aC1bNHB4XSBbJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2tdOnJvdW5kZWQtZnVsbCBbJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2tdOltiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0b19yaWdodCx2YXIoLS1zbGlkZXItZmlsbC1jb2xvcilfdmFyKC0tc2xpZGVyLWZpbGwpLHJnYmEoMjU1LDI1NSwyNTUsMC4yMilfdmFyKC0tc2xpZGVyLWZpbGwpKV0gWyY6Oi1tb3otcmFuZ2UtdHJhY2tdOmgtWzRweF0gWyY6Oi1tb3otcmFuZ2UtdHJhY2tdOnJvdW5kZWQtZnVsbCBbJjo6LW1vei1yYW5nZS10cmFja106Ymctd2hpdGUvMjAgWyY6Oi1tb3otcmFuZ2UtcHJvZ3Jlc3NdOmgtWzRweF0gWyY6Oi1tb3otcmFuZ2UtcHJvZ3Jlc3NdOnJvdW5kZWQtZnVsbCBbJjo6LW1vei1yYW5nZS1wcm9ncmVzc106YmctW3ZhcigtLXNsaWRlci1maWxsLWNvbG9yKV0ifSAkeyJbJjo6LXdlYmtpdC1zbGlkZXItdGh1bWJdOmFwcGVhcmFuY2Utbm9uZSBbJjo6LXdlYmtpdC1zbGlkZXItdGh1bWJdOnNpemUtWzEzcHhdIFsmOjotd2Via2l0LXNsaWRlci10aHVtYl06cm91bmRlZC1mdWxsIFsmOjotd2Via2l0LXNsaWRlci10aHVtYl06Ymctd2hpdGUgWyY6ZGlzYWJsZWQ6Oi13ZWJraXQtc2xpZGVyLXRodW1iXTpiZy13aGl0ZS81MCBbJjo6LXdlYmtpdC1zbGlkZXItdGh1bWJdOnNoYWRvdy1bMF8xcHhfM3B4X3JnYmEoMCwwLDAsMC40NSldIFsmOjotd2Via2l0LXNsaWRlci10aHVtYl06LW10LVs0LjVweF0gWyY6Oi1tb3otcmFuZ2UtdGh1bWJdOnNpemUtWzEzcHhdIFsmOjotbW96LXJhbmdlLXRodW1iXTpyb3VuZGVkLWZ1bGwgWyY6Oi1tb3otcmFuZ2UtdGh1bWJdOmJvcmRlci1ub25lIFsmOjotbW96LXJhbmdlLXRodW1iXTpiZy13aGl0ZSBbJjpkaXNhYmxlZDo6LW1vei1yYW5nZS10aHVtYl06Ymctd2hpdGUvNTAifWB9KSxYKCJzcGFuIix7ImFyaWEtaGlkZGVuIjohMCxjbGFzc05hbWU6InBvaW50ZXItZXZlbnRzLW5vbmUgbXQtWzNweF0gZmxleCBqdXN0aWZ5LWJldHdlZW4gcHgtWzUuNXB4XSIsY2hpbGRyZW46YjUubWFwKChDKT0+WCgic3BhbiIse2NsYXNzTmFtZToic2l6ZS1bMnB4XSByb3VuZGVkLWZ1bGwgYmctd2hpdGUvNDAifSxDKSl9KV19KX1mdW5jdGlvbiBiMCh7bGFiZWw6JCx2YWx1ZTpKLG9wdGlvbnM6USxkaXNhYmxlZDpaLG9uQ2hhbmdlOkt9KXtyZXR1cm4gWChiMyx7bGFiZWw6JCx2YWx1ZTpKLG9wdGlvbnM6USxkaXNhYmxlZDpaLG9uQ2hhbmdlOkssY2xhc3NOYW1lOiJiZy13aGl0ZS9bMC4wNl0gYm9yZGVyIGJvcmRlci13aGl0ZS8xMCByb3VuZGVkLW1kIHRleHQtd2hpdGUvOTAgdGV4dC1bMTJweF0gcHktMC41IHB4LTIgbWluLXctMCBtYXgtdy1bMTUwcHhdIGRpc2FibGVkOnRleHQtd2hpdGUvNDAifSl9dmFyIHk1PXthcHBlYXJhbmNlOlgoInN2ZyIse3dpZHRoOiIxNCIsaGVpZ2h0OiIxNCIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjIiLHN0cm9rZUxpbmVjYXA6InJvdW5kIixzdHJva2VMaW5lam9pbjoicm91bmQiLGNoaWxkcmVuOltYKCJwYXRoIix7ZDoiTTEyIDJ2MiJ9KSxYKCJwYXRoIix7ZDoiTTE0LjgzNyAxNi4zODVhNiA2IDAgMSAxLTcuMjIzLTcuMjIyYy42MjQtLjE0Ny45Ny42Ni43MTUgMS4yNDhhNCA0IDAgMCAwIDUuMjYgNS4yNTljLjU4OS0uMjU1IDEuMzk2LjA5IDEuMjQ4LjcxNSJ9KSxYKCJwYXRoIix7ZDoiTTE2IDEyYTQgNCAwIDAgMC00LTQifSksWCgicGF0aCIse2Q6Im0xOSA1LTEuMjU2IDEuMjU2In0pLFgoInBhdGgiLHtkOiJNMjAgMTJoMiJ9KV19KSxnbGFzczpYKCJzdmciLHt3aWR0aDoiMTQiLGhlaWdodDoiMTQiLHZpZXdCb3g6IjAgMCAyMjAgMjIwIixmaWxsOiJjdXJyZW50Q29sb3IiLHN0cm9rZToibm9uZSIsY2hpbGRyZW46W1goInBhdGgiLHtkOiJNMTUyIDE4M1YxOTVIMTAwVjE4M0gxNTJaTTE5NiAxMzlWMTI2QzE5NiAxMDEuNjk5IDE3Ni4zMDEgODIgMTUyIDgySDEwMEM3NS42OTk1IDgyIDU2IDEwMS42OTkgNTYgMTI2VjEzOUM1NiAxNjMuMzAxIDc1LjY5OTUgMTgzIDEwMCAxODNWMTk1TDk5LjI3NjQgMTk0Ljk5NUM2OC45MjI4IDE5NC42MTEgNDQuMzg5MyAxNzAuMDc3IDQ0LjAwNDkgMTM5LjcyNEw0NCAxMzlWMTI2QzQ0IDk1LjA3MjEgNjkuMDcyMSA3MCAxMDAgNzBIMTUyQzE4Mi45MjggNzAgMjA4IDk1LjA3MjEgMjA4IDEyNlYxMzlMMjA3Ljk5NSAxMzkuNzI0QzIwNy42MTEgMTcwLjA3NyAxODMuMDc3IDE5NC42MTEgMTUyLjcyNCAxOTQuOTk1TDE1MiAxOTVWMTgzQzE3Ni4zMDEgMTgzIDE5NiAxNjMuMzAxIDE5NiAxMzlaIn0pLFgoInBhdGgiLHtkOiJNMTM2IDI1QzE0Ny4wNDYgMjUgMTU2IDMzLjk1NDMgMTU2IDQ1VjcwSDE0M1Y0NUMxNDMgNDEuMTM0IDEzOS44NjYgMzggMTM2IDM4SDQxQzM3LjEzNCAzOCAzNCA0MS4xMzQgMzQgNDVWMTQwQzM0IDE0My44NjYgMzcuMTM0IDE0NyA0MSAxNDdINDQuODYwNEM0NS42NDg3IDE1MS41MzYgNDYuOTYzNCAxNTUuODkxIDQ4Ljc0MDIgMTYwSDQxTDQwLjQ4MzQgMTU5Ljk5M0MyOS44NDgxIDE1OS43MjQgMjEuMjc2NSAxNTEuMTUyIDIxLjAwNjggMTQwLjUxN0wyMSAxNDBWNDVDMjEgMzMuOTU0MyAyOS45NTQzIDI1IDQxIDI1SDEzNloifSksWCgicGF0aCIse2Q6Ik0xNTYuMTk5IDE0MEMxNTYuMTk5IDE1MC44NzMgMTQ3LjUyMyAxNTkuNzE5IDEzNi43MTYgMTU5Ljk5M0wxMzYuMTk5IDE2MEg4MC45MTdDNzcuOTQ2MSAxNjAgNzYuMTYzOSAxNjMuMyA3Ny43OTMgMTY1Ljc4NEM3OS4yNDUxIDE2Ny45OTkgNzYuMTY0NyAxNzAuMzUzIDc0LjQwOTQgMTY4LjM3TDczLjYwNTkgMTY3LjQ2MkM2OS4zNDk3IDE2Mi42NTQgNjcgMTU2LjQ1NSA2NyAxNTAuMDM0QzY3IDE0OC4zNTggNjguMzU4MyAxNDcgNzAuMDMzOSAxNDdIMTM2LjE5OUMxNDAuMDY1IDE0NyAxNDMuMTk5IDE0My44NjYgMTQzLjE5OSAxNDBWOTYuOTk1NUMxNDMuMTk5IDkzLjk4MjIgMTQxLjM1NCA5MS4yNzYzIDEzOC41NDkgOTAuMTc2MUMxMzcuMzg5IDg5LjcyMTUgMTM3LjcxNSA4OCAxMzguOTYgODhMMTQzLjE5OSA4OEMxNTAuMzc5IDg4IDE1Ni4xOTkgOTMuODIwMyAxNTYuMTk5IDEwMVYxNDBaIn0pXX0pLGZpbHRlcjpYKCJzdmciLHt3aWR0aDoiMTQiLGhlaWdodDoiMTQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOiIyIixzdHJva2VMaW5lY2FwOiJyb3VuZCIsc3Ryb2tlTGluZWpvaW46InJvdW5kIixjaGlsZHJlbjpbWCgicGF0aCIse2Q6Ik0xMSAxN2E0IDQgMCAwIDEtOCAwVjVhMiAyIDAgMCAxIDItMmg0YTIgMiAwIDAgMSAyIDJaIn0pLFgoInBhdGgiLHtkOiJNMTYuNyAxM0gxOWEyIDIgMCAwIDEgMiAydjRhMiAyIDAgMCAxLTIgMkg3In0pLFgoInBhdGgiLHtkOiJNIDcgMTdoLjAxIn0pLFgoInBhdGgiLHtkOiJtMTEgOCAyLjMtMi4zYTIuNCAyLjQgMCAwIDEgMy40MDQuMDA0TDE4LjYgNy42YTIuNCAyLjQgMCAwIDEgLjAyNiAzLjQzNEw5LjkgMTkuOCJ9KV19KSx0ZXh0U2l6ZTpYKCJzdmciLHt3aWR0aDoiMTQiLGhlaWdodDoiMTQiLHZpZXdCb3g6IjAgMCA1MiAzNCIsZmlsbDoiY3VycmVudENvbG9yIixzdHJva2U6Im5vbmUiLGNoaWxkcmVuOlgoInBhdGgiLHtkOiJNMzkuNzI2NiAzMy4wMjM0QzM4LjE0ODQgMzMuMDIzNCAzNi43NSAzMi43MjY2IDM1LjUzMTIgMzIuMTMyOEMzNC4zMTI1IDMxLjUzOTEgMzMuMzU5NCAzMC43MTA5IDMyLjY3MTkgMjkuNjQ4NEMzMiAyOC41NzAzIDMxLjY2NDEgMjcuMzEyNSAzMS42NjQxIDI1Ljg3NUMzMS42NjQxIDIzLjc4MTIgMzIuNDI5NyAyMi4xMDk0IDMzLjk2MDkgMjAuODU5NEMzNS41MDc4IDE5LjYwOTQgMzcuNzEwOSAxOC45MDYyIDQwLjU3MDMgMTguNzVMNDcuNjAxNiAxOC4zNTE2VjE2LjVDNDcuNjAxNiAxNS4wMTU2IDQ3LjEzMjggMTMuODM1OSA0Ni4xOTUzIDEyLjk2MDlDNDUuMjU3OCAxMi4wODU5IDQzLjk1MzEgMTEuNjQ4NCA0Mi4yODEyIDExLjY0ODRDNDAuOTA2MiAxMS42NDg0IDM5Ljc1IDExLjk0NTMgMzguODEyNSAxMi41MzkxQzM3Ljg3NSAxMy4xMzI4IDM3LjA5MzggMTQuMDQ2OSAzNi40Njg4IDE1LjI4MTJDMzYuMjY1NiAxNS42MDk0IDM2LjAxNTYgMTUuODUxNiAzNS43MTg4IDE2LjAwNzhDMzUuNDIxOSAxNi4xNjQxIDM1LjA3ODEgMTYuMjQyMiAzNC42ODc1IDE2LjI0MjJDMzQuMTU2MiAxNi4yNDIyIDMzLjcxMDkgMTYuMDc4MSAzMy4zNTE2IDE1Ljc1QzMzLjAwNzggMTUuNDIxOSAzMi44MzU5IDE0Ljk5MjIgMzIuODM1OSAxNC40NjA5QzMyLjgzNTkgMTQuMjI2NiAzMi44NjcyIDEzLjk3NjYgMzIuOTI5NyAxMy43MTA5QzMzLjAwNzggMTMuNDQ1MyAzMy4xMDk0IDEzLjE3OTcgMzMuMjM0NCAxMi45MTQxQzMzLjg3NSAxMS40NjA5IDM1LjAxNTYgMTAuMzA0NyAzNi42NTYyIDkuNDQ1MzFDMzguMzEyNSA4LjU4NTk0IDQwLjIyNjYgOC4xNTYyNSA0Mi4zOTg0IDguMTU2MjVDNDQuMzIwMyA4LjE1NjI1IDQ1Ljk4NDQgOC40OTIxOSA0Ny4zOTA2IDkuMTY0MDZDNDguODEyNSA5LjgyMDMxIDQ5Ljg5ODQgMTAuNzUgNTAuNjQ4NCAxMS45NTMxQzUxLjQxNDEgMTMuMTU2MiA1MS43OTY5IDE0LjU3MDMgNTEuNzk2OSAxNi4xOTUzVjMwLjkxNDFDNTEuNzk2OSAzMS41ODU5IDUxLjYwOTQgMzIuMTA5NCA1MS4yMzQ0IDMyLjQ4NDRDNTAuODU5NCAzMi44NTk0IDUwLjM2NzIgMzMuMDQ2OSA0OS43NTc4IDMzLjA0NjlDNDkuMTY0MSAzMy4wNDY5IDQ4LjY3OTcgMzIuODY3MiA0OC4zMDQ3IDMyLjUwNzhDNDcuOTI5NyAzMi4xNDg0IDQ3LjczNDQgMzEuNjY0MSA0Ny43MTg4IDMxLjA1NDdWMjguMzU5NEg0Ny42NzE5QzQ2Ljk4NDQgMjkuNzgxMiA0NS45MDYyIDMwLjkxNDEgNDQuNDM3NSAzMS43NTc4QzQyLjk4NDQgMzIuNjAxNiA0MS40MTQxIDMzLjAyMzQgMzkuNzI2NiAzMy4wMjM0Wk00MC44MDQ3IDI5LjY3MTlDNDIuMDcwMyAyOS42NzE5IDQzLjIxMDkgMjkuNDA2MiA0NC4yMjY2IDI4Ljg3NUM0NS4yNTc4IDI4LjM0MzggNDYuMDc4MSAyNy42MTcyIDQ2LjY4NzUgMjYuNjk1M0M0Ny4yOTY5IDI1Ljc3MzQgNDcuNjAxNiAyNC43NSA0Ny42MDE2IDIzLjYyNVYyMS4zMjgxTDQxLjEzMjggMjEuNzVDMzkuNDQ1MyAyMS44NTk0IDM4LjE2NDEgMjIuMjczNCAzNy4yODkxIDIyLjk5MjJDMzYuNDE0MSAyMy42OTUzIDM1Ljk3NjYgMjQuNjA5NCAzNS45NzY2IDI1LjczNDRDMzUuOTc2NiAyNi45MjE5IDM2LjQyMTkgMjcuODc1IDM3LjMxMjUgMjguNTkzOEMzOC4yMDMxIDI5LjMxMjUgMzkuMzY3MiAyOS42NzE5IDQwLjgwNDcgMjkuNjcxOVpNMi4xNzk2OSAzMy4wMjM0QzEuNTA3ODEgMzMuMDIzNCAwLjk3NjU2MiAzMi44MzU5IDAuNTg1OTM4IDMyLjQ2MDlDMC4xOTUzMTIgMzIuMDg1OSAwIDMxLjU3ODEgMCAzMC45Mzc1QzAgMzAuNTMxMiAwLjA4NTkzNzUgMzAuMDcwMyAwLjI1NzgxMiAyOS41NTQ3TDEwLjQwNjIgMi40MTQwNkMxMC45ODQ0IDAuODA0Njg4IDEyLjEwMTYgMCAxMy43NTc4IDBDMTQuNjE3MiAwIDE1LjMyODEgMC4yMDMxMjUgMTUuODkwNiAwLjYwOTM3NUMxNi40NTMxIDEuMDE1NjIgMTYuODc1IDEuNjI1IDE3LjE1NjIgMi40Mzc1TDI3LjI1NzggMjkuNDg0NEMyNy40NDUzIDMwIDI3LjUzOTEgMzAuNDY4OCAyNy41MzkxIDMwLjg5MDZDMjcuNTM5MSAzMS41NDY5IDI3LjMzNTkgMzIuMDcwMyAyNi45Mjk3IDMyLjQ2MDlDMjYuNTIzNCAzMi44MzU5IDI1Ljk3NjYgMzMuMDIzNCAyNS4yODkxIDMzLjAyMzRDMjQuNjMyOCAzMy4wMjM0IDI0LjEwOTQgMzIuODc1IDIzLjcxODggMzIuNTc4MUMyMy4zNDM4IDMyLjI4MTIgMjMuMDM5MSAzMS43ODkxIDIyLjgwNDcgMzEuMTAxNkwxMy44MjgxIDUuMzQzNzVIMTMuNjY0MUw0LjY2NDA2IDMxLjEwMTZDNC40Mjk2OSAzMS43ODkxIDQuMTI1IDMyLjI4MTIgMy43NSAzMi41NzgxQzMuMzc1IDMyLjg3NSAyLjg1MTU2IDMzLjAyMzQgMi4xNzk2OSAzMy4wMjM0Wk02LjY3OTY5IDIzLjc0MjJDNi4xNDg0NCAyMy43NDIyIDUuNzAzMTIgMjMuNTYyNSA1LjM0Mzc1IDIzLjIwMzFDNC45ODQzOCAyMi44NDM4IDQuODA0NjkgMjIuMzk4NCA0LjgwNDY5IDIxLjg2NzJDNC44MDQ2OSAyMS4zNTE2IDQuOTg0MzggMjAuOTE0MSA1LjM0Mzc1IDIwLjU1NDdDNS43MDMxMiAyMC4xOTUzIDYuMTQ4NDQgMjAuMDE1NiA2LjY3OTY5IDIwLjAxNTZIMjAuODU5NEMyMS4zNzUgMjAuMDE1NiAyMS44MTI1IDIwLjE5NTMgMjIuMTcxOSAyMC41NTQ3QzIyLjUzMTIgMjAuOTE0MSAyMi43MTA5IDIxLjM1MTYgMjIuNzEwOSAyMS44NjcyQzIyLjcxMDkgMjIuMzk4NCAyMi41MzEyIDIyLjg0MzggMjIuMTcxOSAyMy4yMDMxQzIxLjgxMjUgMjMuNTYyNSAyMS4zNzUgMjMuNzQyMiAyMC44NTk0IDIzLjc0MjJINi42Nzk2OVoifSl9KSxtb3Rpb246WCgic3ZnIix7d2lkdGg6IjE0IixoZWlnaHQ6IjE0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMiIsc3Ryb2tlTGluZWNhcDoicm91bmQiLGNoaWxkcmVuOltYKCJjaXJjbGUiLHtjeDoiMTQiLGN5OiIxMiIscjoiNiJ9KSxYKCJwYXRoIix7ZDoiTTMgOGg0TTIgMTJoNE0zIDE2aDQifSldfSksY29udHJhc3Q6WCgic3ZnIix7d2lkdGg6IjE0IixoZWlnaHQ6IjE0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMiIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsY2hpbGRyZW46W1goImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9KSxYKCJwYXRoIix7ZDoiTTEyIDE4YTYgNiAwIDAgMCAwLTEydjEyeiJ9KV19KSxib3JkZXJzOlgoInN2ZyIse3dpZHRoOiIxNCIsaGVpZ2h0OiIxNCIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjIiLHN0cm9rZUxpbmVjYXA6InJvdW5kIixzdHJva2VMaW5lam9pbjoicm91bmQiLGNoaWxkcmVuOltYKCJwYXRoIix7ZDoiTTUgMjFhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMTRhMiAyIDAgMCAxIDIgMnYxNGEyIDIgMCAwIDEtMiAyIn0pLFgoInBhdGgiLHtkOiJNOSAyMWgxIn0pLFgoInBhdGgiLHtkOiJNMTQgMjFoMSJ9KV19KSx0cmFuc3BhcmVuY3k6WCgic3ZnIix7d2lkdGg6IjE0IixoZWlnaHQ6IjE0Iix2aWV3Qm94OiIwIDAgNjMgNDYiLGZpbGw6ImN1cnJlbnRDb2xvciIsc3Ryb2tlOiJub25lIixjaGlsZHJlbjpYKCJwYXRoIix7ZDoiTTIyLjczNDQgNC4xNzE4OEMyMi4xODc1IDQuMTcxODggMjEuNzE4OCAzLjk3NjU2IDIxLjMyODEgMy41ODU5NEMyMC45Mzc1IDMuMTk1MzEgMjAuNzQyMiAyLjcxODc1IDIwLjc0MjIgMi4xNTYyNUMyMC43NDIyIDEuNjA5MzggMjAuOTM3NSAxLjE0MDYyIDIxLjMyODEgMC43NUMyMS43MTg4IDAuMzU5Mzc1IDIyLjE4NzUgMC4xNjQwNjIgMjIuNzM0NCAwLjE2NDA2MkMyMy4yODEyIDAuMTY0MDYyIDIzLjc1IDAuMzU5Mzc1IDI0LjE0MDYgMC43NUMyNC41MzEyIDEuMTQwNjIgMjQuNzI2NiAxLjYwOTM4IDI0LjcyNjYgMi4xNTYyNUMyNC43MjY2IDIuNzE4NzUgMjQuNTMxMiAzLjE5NTMxIDI0LjE0MDYgMy41ODU5NEMyMy43NSAzLjk3NjU2IDIzLjI4MTIgNC4xNzE4OCAyMi43MzQ0IDQuMTcxODhaTTI5LjEwOTQgNS4yMDMxMkMyOC41NDY5IDUuMjAzMTIgMjguMDcwMyA1LjAwNzgxIDI3LjY3OTcgNC42MTcxOUMyNy4yODkxIDQuMjI2NTYgMjcuMDkzOCAzLjc1NzgxIDI3LjA5MzggMy4yMTA5NEMyNy4wOTM4IDIuNjY0MDYgMjcuMjg5MSAyLjE5NTMxIDI3LjY3OTcgMS44MDQ2OUMyOC4wNzAzIDEuMzk4NDQgMjguNTQ2OSAxLjE5NTMxIDI5LjEwOTQgMS4xOTUzMUMyOS42NTYyIDEuMTk1MzEgMzAuMTI1IDEuMzk4NDQgMzAuNTE1NiAxLjgwNDY5QzMwLjkwNjIgMi4xOTUzMSAzMS4xMDE2IDIuNjY0MDYgMzEuMTAxNiAzLjIxMDk0QzMxLjEwMTYgMy43NTc4MSAzMC45MDYyIDQuMjI2NTYgMzAuNTE1NiA0LjYxNzE5QzMwLjEyNSA1LjAwNzgxIDI5LjY1NjIgNS4yMDMxMiAyOS4xMDk0IDUuMjAzMTJaTTM0Ljg3NSA4LjEzMjgxQzM0LjMyODEgOC4xMzI4MSAzMy44NTE2IDcuOTM3NSAzMy40NDUzIDcuNTQ2ODhDMzMuMDU0NyA3LjE0MDYyIDMyLjg1OTQgNi42NzE4OCAzMi44NTk0IDYuMTQwNjJDMzIuODU5NCA1LjU3ODEyIDMzLjA1NDcgNS4xMDE1NiAzMy40NDUzIDQuNzEwOTRDMzMuODUxNiA0LjMyMDMxIDM0LjMyODEgNC4xMjUgMzQuODc1IDQuMTI1QzM1LjQyMTkgNC4xMjUgMzUuODkwNiA0LjMyMDMxIDM2LjI4MTIgNC43MTA5NEMzNi42ODc1IDUuMTAxNTYgMzYuODkwNiA1LjU3ODEyIDM2Ljg5MDYgNi4xNDA2MkMzNi44OTA2IDYuNjcxODggMzYuNjg3NSA3LjE0MDYyIDM2LjI4MTIgNy41NDY4OEMzNS44OTA2IDcuOTM3NSAzNS40MjE5IDguMTMyODEgMzQuODc1IDguMTMyODFaTTM5LjQ0NTMgMTIuNjc5N0MzOC44OTg0IDEyLjY3OTcgMzguNDIxOSAxMi40ODQ0IDM4LjAxNTYgMTIuMDkzOEMzNy42MjUgMTEuNzAzMSAzNy40Mjk3IDExLjIzNDQgMzcuNDI5NyAxMC42ODc1QzM3LjQyOTcgMTAuMTU2MiAzNy42MjUgOS42OTUzMSAzOC4wMTU2IDkuMzA0NjlDMzguNDIxOSA4Ljg5ODQ0IDM4Ljg5ODQgOC42OTUzMSAzOS40NDUzIDguNjk1MzFDMzkuOTkyMiA4LjY5NTMxIDQwLjQ2MDkgOC44OTg0NCA0MC44NTE2IDkuMzA0NjlDNDEuMjQyMiA5LjY5NTMxIDQxLjQzNzUgMTAuMTU2MiA0MS40Mzc1IDEwLjY4NzVDNDEuNDM3NSAxMS4yMzQ0IDQxLjI0MjIgMTEuNzAzMSA0MC44NTE2IDEyLjA5MzhDNDAuNDYwOSAxMi40ODQ0IDM5Ljk5MjIgMTIuNjc5NyAzOS40NDUzIDEyLjY3OTdaTTQyLjM3NSAxOC4zOTg0QzQxLjgxMjUgMTguMzk4NCA0MS4zMjgxIDE4LjIwMzEgNDAuOTIxOSAxNy44MTI1QzQwLjUzMTIgMTcuNDIxOSA0MC4zMzU5IDE2Ljk1MzEgNDAuMzM1OSAxNi40MDYyQzQwLjMzNTkgMTUuODQzOCA0MC41MzEyIDE1LjM2NzIgNDAuOTIxOSAxNC45NzY2QzQxLjMyODEgMTQuNTg1OSA0MS44MTI1IDE0LjM5MDYgNDIuMzc1IDE0LjM5MDZDNDIuOTA2MiAxNC4zOTA2IDQzLjM2NzIgMTQuNTg1OSA0My43NTc4IDE0Ljk3NjZDNDQuMTY0MSAxNS4zNjcyIDQ0LjM2NzIgMTUuODQzOCA0NC4zNjcyIDE2LjQwNjJDNDQuMzY3MiAxNi45NTMxIDQ0LjE2NDEgMTcuNDIxOSA0My43NTc4IDE3LjgxMjVDNDMuMzY3MiAxOC4yMDMxIDQyLjkwNjIgMTguMzk4NCA0Mi4zNzUgMTguMzk4NFpNNDMuNDUzMSAyNC43OTY5QzQyLjkwNjIgMjQuNzk2OSA0Mi40Mzc1IDI0LjYwMTYgNDIuMDQ2OSAyNC4yMTA5QzQxLjY1NjIgMjMuODIwMyA0MS40NjA5IDIzLjM0MzggNDEuNDYwOSAyMi43ODEyQzQxLjQ2MDkgMjIuMjM0NCA0MS42NTYyIDIxLjc2NTYgNDIuMDQ2OSAyMS4zNzVDNDIuNDM3NSAyMC45ODQ0IDQyLjkwNjIgMjAuNzg5MSA0My40NTMxIDIwLjc4OTFDNDQgMjAuNzg5MSA0NC40Njg4IDIwLjk4NDQgNDQuODU5NCAyMS4zNzVDNDUuMjY1NiAyMS43NjU2IDQ1LjQ2ODggMjIuMjM0NCA0NS40Njg4IDIyLjc4MTJDNDUuNDY4OCAyMy4zNDM4IDQ1LjI2NTYgMjMuODIwMyA0NC44NTk0IDI0LjIxMDlDNDQuNDY4OCAyNC42MDE2IDQ0IDI0Ljc5NjkgNDMuNDUzMSAyNC43OTY5Wk00Mi4zNzUgMzEuMTcxOUM0MS44MTI1IDMxLjE3MTkgNDEuMzI4MSAzMC45NzY2IDQwLjkyMTkgMzAuNTg1OUM0MC41MzEyIDMwLjE5NTMgNDAuMzM1OSAyOS43MjY2IDQwLjMzNTkgMjkuMTc5N0M0MC4zMzU5IDI4LjYxNzIgNDAuNTMxMiAyOC4xNDA2IDQwLjkyMTkgMjcuNzVDNDEuMzI4MSAyNy4zNTk0IDQxLjgxMjUgMjcuMTY0MSA0Mi4zNzUgMjcuMTY0MUM0Mi45MDYyIDI3LjE2NDEgNDMuMzY3MiAyNy4zNTk0IDQzLjc1NzggMjcuNzVDNDQuMTY0MSAyOC4xNDA2IDQ0LjM2NzIgMjguNjE3MiA0NC4zNjcyIDI5LjE3OTdDNDQuMzY3MiAyOS43MjY2IDQ0LjE2NDEgMzAuMTk1MyA0My43NTc4IDMwLjU4NTlDNDMuMzY3MiAzMC45NzY2IDQyLjkwNjIgMzEuMTcxOSA0Mi4zNzUgMzEuMTcxOVpNMzkuNDQ1MyAzNi44OTA2QzM4Ljg5ODQgMzYuODkwNiAzOC40MjE5IDM2LjY5NTMgMzguMDE1NiAzNi4zMDQ3QzM3LjYyNSAzNS44OTg0IDM3LjQyOTcgMzUuNDIxOSAzNy40Mjk3IDM0Ljg3NUMzNy40Mjk3IDM0LjMyODEgMzcuNjI1IDMzLjg1OTQgMzguMDE1NiAzMy40Njg4QzM4LjQyMTkgMzMuMDYyNSAzOC44OTg0IDMyLjg1OTQgMzkuNDQ1MyAzMi44NTk0QzM5Ljk5MjIgMzIuODU5NCA0MC40NjA5IDMzLjA2MjUgNDAuODUxNiAzMy40Njg4QzQxLjI0MjIgMzMuODU5NCA0MS40Mzc1IDM0LjMyODEgNDEuNDM3NSAzNC44NzVDNDEuNDM3NSAzNS40MjE5IDQxLjI0MjIgMzUuODk4NCA0MC44NTE2IDM2LjMwNDdDNDAuNDYwOSAzNi42OTUzIDM5Ljk5MjIgMzYuODkwNiAzOS40NDUzIDM2Ljg5MDZaTTM0Ljg3NSA0MS40Mzc1QzM0LjMyODEgNDEuNDM3NSAzMy44NTE2IDQxLjI0MjIgMzMuNDQ1MyA0MC44NTE2QzMzLjA1NDcgNDAuNDYwOSAzMi44NTk0IDM5Ljk5MjIgMzIuODU5NCAzOS40NDUzQzMyLjg1OTQgMzguODk4NCAzMy4wNTQ3IDM4LjQyOTcgMzMuNDQ1MyAzOC4wMzkxQzMzLjg1MTYgMzcuNjMyOCAzNC4zMjgxIDM3LjQyOTcgMzQuODc1IDM3LjQyOTdDMzUuNDIxOSAzNy40Mjk3IDM1Ljg5MDYgMzcuNjMyOCAzNi4yODEyIDM4LjAzOTFDMzYuNjg3NSAzOC40Mjk3IDM2Ljg5MDYgMzguODk4NCAzNi44OTA2IDM5LjQ0NTNDMzYuODkwNiAzOS45OTIyIDM2LjY4NzUgNDAuNDYwOSAzNi4yODEyIDQwLjg1MTZDMzUuODkwNiA0MS4yNDIyIDM1LjQyMTkgNDEuNDM3NSAzNC44NzUgNDEuNDM3NVpNMjkuMTA5NCA0NC4zNjcyQzI4LjU0NjkgNDQuMzY3MiAyOC4wNzAzIDQ0LjE2NDEgMjcuNjc5NyA0My43NTc4QzI3LjI4OTEgNDMuMzY3MiAyNy4wOTM4IDQyLjg5ODQgMjcuMDkzOCA0Mi4zNTE2QzI3LjA5MzggNDEuODA0NyAyNy4yODkxIDQxLjMzNTkgMjcuNjc5NyA0MC45NDUzQzI4LjA3MDMgNDAuNTU0NyAyOC41NDY5IDQwLjM1OTQgMjkuMTA5NCA0MC4zNTk0QzI5LjY1NjIgNDAuMzU5NCAzMC4xMjUgNDAuNTU0NyAzMC41MTU2IDQwLjk0NTNDMzAuOTA2MiA0MS4zMzU5IDMxLjEwMTYgNDEuODA0NyAzMS4xMDE2IDQyLjM1MTZDMzEuMTAxNiA0Mi44OTg0IDMwLjkwNjIgNDMuMzY3MiAzMC41MTU2IDQzLjc1NzhDMzAuMTI1IDQ0LjE2NDEgMjkuNjU2MiA0NC4zNjcyIDI5LjEwOTQgNDQuMzY3MlpNMjIuNzM0NCA0NS4zOTg0QzIyLjE4NzUgNDUuMzk4NCAyMS43MTg4IDQ1LjIwMzEgMjEuMzI4MSA0NC44MTI1QzIwLjkzNzUgNDQuNDIxOSAyMC43NDIyIDQzLjk1MzEgMjAuNzQyMiA0My40MDYyQzIwLjc0MjIgNDIuODQzOCAyMC45Mzc1IDQyLjM2NzIgMjEuMzI4MSA0MS45NzY2QzIxLjcxODggNDEuNTg1OSAyMi4xODc1IDQxLjM5MDYgMjIuNzM0NCA0MS4zOTA2QzIzLjI4MTIgNDEuMzkwNiAyMy43NSA0MS41ODU5IDI0LjE0MDYgNDEuOTc2NkMyNC41MzEyIDQyLjM2NzIgMjQuNzI2NiA0Mi44NDM4IDI0LjcyNjYgNDMuNDA2MkMyNC43MjY2IDQzLjk1MzEgMjQuNTMxMiA0NC40MjE5IDI0LjE0MDYgNDQuODEyNUMyMy43NSA0NS4yMDMxIDIzLjI4MTIgNDUuMzk4NCAyMi43MzQ0IDQ1LjM5ODRaTTE2LjM1OTQgNDQuMzY3MkMxNS44MTI1IDQ0LjM2NzIgMTUuMzQzOCA0NC4xNjQxIDE0Ljk1MzEgNDMuNzU3OEMxNC41NjI1IDQzLjM2NzIgMTQuMzY3MiA0Mi44OTg0IDE0LjM2NzIgNDIuMzUxNkMxNC4zNjcyIDQxLjgwNDcgMTQuNTYyNSA0MS4zMzU5IDE0Ljk1MzEgNDAuOTQ1M0MxNS4zNDM4IDQwLjU1NDcgMTUuODEyNSA0MC4zNTk0IDE2LjM1OTQgNDAuMzU5NEMxNi45MjE5IDQwLjM1OTQgMTcuMzk4NCA0MC41NTQ3IDE3Ljc4OTEgNDAuOTQ1M0MxOC4xNzk3IDQxLjMzNTkgMTguMzc1IDQxLjgwNDcgMTguMzc1IDQyLjM1MTZDMTguMzc1IDQyLjg5ODQgMTguMTc5NyA0My4zNjcyIDE3Ljc4OTEgNDMuNzU3OEMxNy4zOTg0IDQ0LjE2NDEgMTYuOTIxOSA0NC4zNjcyIDE2LjM1OTQgNDQuMzY3MlpNMTAuNTcwMyA0MS40Mzc1QzEwLjAzOTEgNDEuNDM3NSA5LjU3MDMxIDQxLjI0MjIgOS4xNjQwNiA0MC44NTE2QzguNzczNDQgNDAuNDYwOSA4LjU3ODEyIDM5Ljk5MjIgOC41NzgxMiAzOS40NDUzQzguNTc4MTIgMzguODk4NCA4Ljc3MzQ0IDM4LjQyOTcgOS4xNjQwNiAzOC4wMzkxQzkuNTcwMzEgMzcuNjMyOCAxMC4wMzkxIDM3LjQyOTcgMTAuNTcwMyAzNy40Mjk3QzExLjEzMjggMzcuNDI5NyAxMS42MDk0IDM3LjYzMjggMTIgMzguMDM5MUMxMi4zOTA2IDM4LjQyOTcgMTIuNTg1OSAzOC44OTg0IDEyLjU4NTkgMzkuNDQ1M0MxMi41ODU5IDM5Ljk5MjIgMTIuMzkwNiA0MC40NjA5IDEyIDQwLjg1MTZDMTEuNjA5NCA0MS4yNDIyIDExLjEzMjggNDEuNDM3NSAxMC41NzAzIDQxLjQzNzVaTTYuMDIzNDQgMzYuODkwNkM1LjQ3NjU2IDM2Ljg5MDYgNSAzNi42OTUzIDQuNTkzNzUgMzYuMzA0N0M0LjIwMzEyIDM1Ljg5ODQgNC4wMDc4MSAzNS40MjE5IDQuMDA3ODEgMzQuODc1QzQuMDA3ODEgMzQuMzI4MSA0LjIwMzEyIDMzLjg1OTQgNC41OTM3NSAzMy40Njg4QzUgMzMuMDYyNSA1LjQ3NjU2IDMyLjg1OTQgNi4wMjM0NCAzMi44NTk0QzYuNTcwMzEgMzIuODU5NCA3LjAzOTA2IDMzLjA2MjUgNy40Mjk2OSAzMy40Njg4QzcuODIwMzEgMzMuODU5NCA4LjAxNTYyIDM0LjMyODEgOC4wMTU2MiAzNC44NzVDOC4wMTU2MiAzNS40MjE5IDcuODIwMzEgMzUuODk4NCA3LjQyOTY5IDM2LjMwNDdDNy4wMzkwNiAzNi42OTUzIDYuNTcwMzEgMzYuODkwNiA2LjAyMzQ0IDM2Ljg5MDZaTTMuMDkzNzUgMzEuMTcxOUMyLjU2MjUgMzEuMTcxOSAyLjA5Mzc1IDMwLjk3NjYgMS42ODc1IDMwLjU4NTlDMS4yOTY4OCAzMC4xOTUzIDEuMTAxNTYgMjkuNzI2NiAxLjEwMTU2IDI5LjE3OTdDMS4xMDE1NiAyOC42MTcyIDEuMjk2ODggMjguMTQwNiAxLjY4NzUgMjcuNzVDMi4wOTM3NSAyNy4zNTk0IDIuNTYyNSAyNy4xNjQxIDMuMDkzNzUgMjcuMTY0MUMzLjY1NjI1IDI3LjE2NDEgNC4xMzI4MSAyNy4zNTk0IDQuNTIzNDQgMjcuNzVDNC45MTQwNiAyOC4xNDA2IDUuMTA5MzggMjguNjE3MiA1LjEwOTM4IDI5LjE3OTdDNS4xMDkzOCAyOS43MjY2IDQuOTE0MDYgMzAuMTk1MyA0LjUyMzQ0IDMwLjU4NTlDNC4xMzI4MSAzMC45NzY2IDMuNjU2MjUgMzEuMTcxOSAzLjA5Mzc1IDMxLjE3MTlaTTIuMDE1NjIgMjQuNzk2OUMxLjQ1MzEyIDI0Ljc5NjkgMC45NzY1NjIgMjQuNjAxNiAwLjU4NTkzOCAyNC4yMTA5QzAuMTk1MzEyIDIzLjgyMDMgMCAyMy4zNDM4IDAgMjIuNzgxMkMwIDIyLjIzNDQgMC4xOTUzMTIgMjEuNzY1NiAwLjU4NTkzOCAyMS4zNzVDMC45NzY1NjIgMjAuOTg0NCAxLjQ1MzEyIDIwLjc4OTEgMi4wMTU2MiAyMC43ODkxQzIuNTYyNSAyMC43ODkxIDMuMDMxMjUgMjAuOTg0NCAzLjQyMTg4IDIxLjM3NUMzLjgxMjUgMjEuNzY1NiA0LjAwNzgxIDIyLjIzNDQgNC4wMDc4MSAyMi43ODEyQzQuMDA3ODEgMjMuMzQzOCAzLjgxMjUgMjMuODIwMyAzLjQyMTg4IDI0LjIxMDlDMy4wMzEyNSAyNC42MDE2IDIuNTYyNSAyNC43OTY5IDIuMDE1NjIgMjQuNzk2OVpNMy4wOTM3NSAxOC4zOTg0QzIuNTYyNSAxOC4zOTg0IDIuMDkzNzUgMTguMjAzMSAxLjY4NzUgMTcuODEyNUMxLjI5Njg4IDE3LjQyMTkgMS4xMDE1NiAxNi45NTMxIDEuMTAxNTYgMTYuNDA2MkMxLjEwMTU2IDE1Ljg0MzggMS4yOTY4OCAxNS4zNjcyIDEuNjg3NSAxNC45NzY2QzIuMDkzNzUgMTQuNTg1OSAyLjU2MjUgMTQuMzkwNiAzLjA5Mzc1IDE0LjM5MDZDMy42NTYyNSAxNC4zOTA2IDQuMTMyODEgMTQuNTg1OSA0LjUyMzQ0IDE0Ljk3NjZDNC45MTQwNiAxNS4zNjcyIDUuMTA5MzggMTUuODQzOCA1LjEwOTM4IDE2LjQwNjJDNS4xMDkzOCAxNi45NTMxIDQuOTE0MDYgMTcuNDIxOSA0LjUyMzQ0IDE3LjgxMjVDNC4xMzI4MSAxOC4yMDMxIDMuNjU2MjUgMTguMzk4NCAzLjA5Mzc1IDE4LjM5ODRaTTYuMDIzNDQgMTIuNjc5N0M1LjQ3NjU2IDEyLjY3OTcgNSAxMi40ODQ0IDQuNTkzNzUgMTIuMDkzOEM0LjIwMzEyIDExLjcwMzEgNC4wMDc4MSAxMS4yMzQ0IDQuMDA3ODEgMTAuNjg3NUM0LjAwNzgxIDEwLjE1NjIgNC4yMDMxMiA5LjY5NTMxIDQuNTkzNzUgOS4zMDQ2OUM1IDguODk4NDQgNS40NzY1NiA4LjY5NTMxIDYuMDIzNDQgOC42OTUzMUM2LjU3MDMxIDguNjk1MzEgNy4wMzkwNiA4Ljg5ODQ0IDcuNDI5NjkgOS4zMDQ2OUM3LjgyMDMxIDkuNjk1MzEgOC4wMTU2MiAxMC4xNTYyIDguMDE1NjIgMTAuNjg3NUM4LjAxNTYyIDExLjIzNDQgNy44MjAzMSAxMS43MDMxIDcuNDI5NjkgMTIuMDkzOEM3LjAzOTA2IDEyLjQ4NDQgNi41NzAzMSAxMi42Nzk3IDYuMDIzNDQgMTIuNjc5N1pNMTAuNTcwMyA4LjEzMjgxQzEwLjAzOTEgOC4xMzI4MSA5LjU3MDMxIDcuOTM3NSA5LjE2NDA2IDcuNTQ2ODhDOC43NzM0NCA3LjE0MDYyIDguNTc4MTIgNi42NzE4OCA4LjU3ODEyIDYuMTQwNjJDOC41NzgxMiA1LjU3ODEyIDguNzczNDQgNS4xMDE1NiA5LjE2NDA2IDQuNzEwOTRDOS41NzAzMSA0LjMyMDMxIDEwLjAzOTEgNC4xMjUgMTAuNTcwMyA0LjEyNUMxMS4xMzI4IDQuMTI1IDExLjYwOTQgNC4zMjAzMSAxMiA0LjcxMDk0QzEyLjM5MDYgNS4xMDE1NiAxMi41ODU5IDUuNTc4MTIgMTIuNTg1OSA2LjE0MDYyQzEyLjU4NTkgNi42NzE4OCAxMi4zOTA2IDcuMTQwNjIgMTIgNy41NDY4OEMxMS42MDk0IDcuOTM3NSAxMS4xMzI4IDguMTMyODEgMTAuNTcwMyA4LjEzMjgxWk0xNi4zNTk0IDUuMjAzMTJDMTUuODEyNSA1LjIwMzEyIDE1LjM0MzggNS4wMDc4MSAxNC45NTMxIDQuNjE3MTlDMTQuNTYyNSA0LjIyNjU2IDE0LjM2NzIgMy43NTc4MSAxNC4zNjcyIDMuMjEwOTRDMTQuMzY3MiAyLjY2NDA2IDE0LjU2MjUgMi4xOTUzMSAxNC45NTMxIDEuODA0NjlDMTUuMzQzOCAxLjM5ODQ0IDE1LjgxMjUgMS4xOTUzMSAxNi4zNTk0IDEuMTk1MzFDMTYuOTIxOSAxLjE5NTMxIDE3LjM5ODQgMS4zOTg0NCAxNy43ODkxIDEuODA0NjlDMTguMTc5NyAyLjE5NTMxIDE4LjM3NSAyLjY2NDA2IDE4LjM3NSAzLjIxMDk0QzE4LjM3NSAzLjc1NzgxIDE4LjE3OTcgNC4yMjY1NiAxNy43ODkxIDQuNjE3MTlDMTcuMzk4NCA1LjAwNzgxIDE2LjkyMTkgNS4yMDMxMiAxNi4zNTk0IDUuMjAzMTJaTTQwLjEwMTYgNDUuNTYyNUMzNi45NDUzIDQ1LjU2MjUgMzMuOTkyMiA0NC45Njg4IDMxLjI0MjIgNDMuNzgxMkMyOC41MDc4IDQyLjYwOTQgMjYuMDkzOCA0MC45NzY2IDI0IDM4Ljg4MjhDMjEuOTA2MiAzNi43ODkxIDIwLjI2NTYgMzQuMzY3MiAxOS4wNzgxIDMxLjYxNzJDMTcuOTA2MiAyOC44NjcyIDE3LjMyMDMgMjUuOTIxOSAxNy4zMjAzIDIyLjc4MTJDMTcuMzIwMyAxOS42NDA2IDE3LjkwNjIgMTYuNjk1MyAxOS4wNzgxIDEzLjk0NTNDMjAuMjY1NiAxMS4xNzk3IDIxLjkwNjIgOC43NTc4MSAyNCA2LjY3OTY5QzI2LjA5MzggNC41ODU5NCAyOC41MDc4IDIuOTUzMTIgMzEuMjQyMiAxLjc4MTI1QzMzLjk5MjIgMC41OTM3NSAzNi45NDUzIDAgNDAuMTAxNiAwQzQzLjI0MjIgMCA0Ni4xODc1IDAuNTkzNzUgNDguOTM3NSAxLjc4MTI1QzUxLjY4NzUgMi45NTMxMiA1NC4xMDE2IDQuNTg1OTQgNTYuMTc5NyA2LjY3OTY5QzU4LjI3MzQgOC43NTc4MSA1OS45MDYyIDExLjE3OTcgNjEuMDc4MSAxMy45NDUzQzYyLjI2NTYgMTYuNjk1MyA2Mi44NTk0IDE5LjY0MDYgNjIuODU5NCAyMi43ODEyQzYyLjg1OTQgMjUuOTIxOSA2Mi4yNjU2IDI4Ljg2NzIgNjEuMDc4MSAzMS42MTcyQzU5LjkwNjIgMzQuMzY3MiA1OC4yNzM0IDM2Ljc4OTEgNTYuMTc5NyAzOC44ODI4QzU0LjEwMTYgNDAuOTc2NiA1MS42ODc1IDQyLjYwOTQgNDguOTM3NSA0My43ODEyQzQ2LjE4NzUgNDQuOTY4OCA0My4yNDIyIDQ1LjU2MjUgNDAuMTAxNiA0NS41NjI1Wk00MC4xMDE2IDQxLjM5MDZDNDIuNjY0MSA0MS4zOTA2IDQ1LjA3MDMgNDAuOTA2MiA0Ny4zMjAzIDM5LjkzNzVDNDkuNTcwMyAzOC45Njg4IDUxLjU0NjkgMzcuNjMyOCA1My4yNSAzNS45Mjk3QzU0Ljk2ODggMzQuMjI2NiA1Ni4zMDQ3IDMyLjI1NzggNTcuMjU3OCAzMC4wMjM0QzU4LjIxMDkgMjcuNzczNCA1OC42ODc1IDI1LjM1OTQgNTguNjg3NSAyMi43ODEyQzU4LjY4NzUgMjAuMjAzMSA1OC4yMTA5IDE3Ljc5NjkgNTcuMjU3OCAxNS41NjI1QzU2LjMwNDcgMTMuMzEyNSA1NC45Njg4IDExLjMzNTkgNTMuMjUgOS42MzI4MUM1MS41NDY5IDcuOTI5NjkgNDkuNTcwMyA2LjU5Mzc1IDQ3LjMyMDMgNS42MjVDNDUuMDcwMyA0LjY1NjI1IDQyLjY2NDEgNC4xNzE4OCA0MC4xMDE2IDQuMTcxODhDMzcuNTIzNCA0LjE3MTg4IDM1LjEwOTQgNC42NTYyNSAzMi44NTk0IDUuNjI1QzMwLjYyNSA2LjU5Mzc1IDI4LjY0ODQgNy45Mjk2OSAyNi45Mjk3IDkuNjMyODFDMjUuMjI2NiAxMS4zMzU5IDIzLjg5MDYgMTMuMzEyNSAyMi45MjE5IDE1LjU2MjVDMjEuOTY4OCAxNy43OTY5IDIxLjQ5MjIgMjAuMjAzMSAyMS40OTIyIDIyLjc4MTJDMjEuNDkyMiAyNS4zNTk0IDIxLjk2ODggMjcuNzczNCAyMi45MjE5IDMwLjAyMzRDMjMuODkwNiAzMi4yNTc4IDI1LjIyNjYgMzQuMjI2NiAyNi45Mjk3IDM1LjkyOTdDMjguNjQ4NCAzNy42MzI4IDMwLjYyNSAzOC45Njg4IDMyLjg1OTQgMzkuOTM3NUMzNS4xMDk0IDQwLjkwNjIgMzcuNTIzNCA0MS4zOTA2IDQwLjEwMTYgNDEuMzkwNloifSl9KSx2b2ljZW92ZXI6WCgic3ZnIix7d2lkdGg6IjE0IixoZWlnaHQ6IjE0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMiIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsY2hpbGRyZW46W1goInBhdGgiLHtkOiJtMTEgNy42MDEtNS45OTQgOC4xOWExIDEgMCAwIDAgLjEgMS4yOThsLjgxNy44MThhMSAxIDAgMCAwIDEuMzE0LjA4N0wxNS4wOSAxMiJ9KSxYKCJwYXRoIix7ZDoiTTE2LjUgMjEuMTc0QzE1LjUgMjAuNSAxNC4zNzIgMjAgMTMgMjBjLTIuMDU4IDAtMy45MjggMi4zNTYtNiAyLTIuMDcyLS4zNTYtMi43NzUtMy4zNjktMS41LTQuNSJ9KSxYKCJjaXJjbGUiLHtjeDoiMTYiLGN5OiI3IixyOiI1In0pXX0pLGtleWJvYXJkOlgoInN2ZyIse3dpZHRoOiIxNCIsaGVpZ2h0OiIxNCIsdmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjIiLHN0cm9rZUxpbmVjYXA6InJvdW5kIixzdHJva2VMaW5lam9pbjoicm91bmQiLGNoaWxkcmVuOltYKCJwYXRoIix7ZDoiTTEwIDhoLjAxTTEyIDEyaC4wMU0xNCA4aC4wMU0xNiAxMmguMDFNMTggOGguMDFNNiA4aC4wMU03IDE2aDEwTTggMTJoLjAxIn0pLFgoInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTYiLHg6IjIiLHk6IjQiLHJ4OiIyIn0pXX0pfTtmdW5jdGlvbiBNSygkKXtpZighJClyZXR1cm4hMDtyZXR1cm4gazMoJCkub3MudG9Mb3dlckNhc2UoKT09PSJpb3MifWZ1bmN0aW9uIHI3KHt1ZGlkOiQscnVudGltZTpKfSl7bGV0W1EsWl09QSghMCksW0ssWV09QShudWxsKSxbcSxHXT1BKG51bGwpLFtCLExdPUEobnVsbCksej1NSyhKKSxWPUkoYXN5bmMoKT0+e0wobnVsbCk7dHJ5e2xldCBUPWF3YWl0IEU4KHtkZXZpY2U6JH0se3NpZ25hbDpBYm9ydFNpZ25hbC50aW1lb3V0KDE1MDAwKX0pO2lmKFQpWShUKTtlbHNlIEwoIlVuZXhwZWN0ZWQgc2ltdWxhdG9yLXNldHRpbmdzIHJlcGx5Iil9Y2F0Y2goVCl7TChUIGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uJiZULm5hbWU9PT0iVGltZW91dEVycm9yIj8iVGltZWQgb3V0IHJlYWRpbmcgc2ltdWxhdG9yIHNldHRpbmdzIjpUIGluc3RhbmNlb2YgRXJyb3ImJlQubWVzc2FnZSE9PSJGYWlsZWQgdG8gZmV0Y2giP1QubWVzc2FnZToiQ291bGQgbm90IHJlYWNoIHRoZSBwcmV2aWV3IHNlcnZlciDigJQgcmVsb2FkIHRoZSBwYWdlIGlmIHRoaXMgcGVyc2lzdHMiKX19LFskXSk7RSgoKT0+e2lmKFkobnVsbCksIXopcmV0dXJuO1YoKX0sW1Ysel0pO2xldCBOPUkoYXN5bmMoVCxTKT0+e0coVCksTChudWxsKSxZKChQKT0+UD97Li4uUCxbVF06U306UCk7dHJ5e2F3YWl0IEU4KHtkZXZpY2U6JCxvcHRpb246VCx2YWx1ZTpTfSx7c2lnbmFsOkFib3J0U2lnbmFsLnRpbWVvdXQoMTUwMDApfSl9Y2F0Y2goUCl7TChQIGluc3RhbmNlb2YgRXJyb3I/UC5tZXNzYWdlOmBGYWlsZWQgdG8gc2V0ICR7VH1gKSxWKCl9ZmluYWxseXtHKG51bGwpfX0sWyQsVl0pLEg9Rih7cnVubmluZzohMSxuZXh0Om51bGx9KSxPPUYoTik7Ty5jdXJyZW50PU47bGV0IFU9SSgoVCk9PntsZXQgUz1ILmN1cnJlbnQ7aWYoUy5uZXh0PVQsUy5ydW5uaW5nKXJldHVybjtTLnJ1bm5pbmc9ITAsKGFzeW5jKCk9Pnt3aGlsZShTLm5leHQhPT1udWxsKXtsZXQgUD1TLm5leHQ7Uy5uZXh0PW51bGwsYXdhaXQgTy5jdXJyZW50KCJ0ZXh0LXNpemUiLGI1W1BdKX1TLnJ1bm5pbmc9ITF9KSgpfSxbXSksQz1LIT09bnVsbCxNPUs/P05LLGs9YjUuaW5kZXhPZihNWyJ0ZXh0LXNpemUiXSksdz1rPj0wP2s6TVsidGV4dC1zaXplIl0/LnN0YXJ0c1dpdGgoImFjY2Vzc2liaWxpdHkiKT9iNS5sZW5ndGgtMTozO3JldHVybiBYKFowLHtvcGVuOlEsb25PcGVuQ2hhbmdlOlosImRhdGEtc2ltdWxhdG9yLXNldHRpbmdzIjoiIixzdW1tYXJ5Q2xhc3NOYW1lOiJncmlkIFtncmlkLXRlbXBsYXRlLWNvbHVtbnM6YXV0b18xZnJfYXV0b10gaXRlbXMtY2VudGVyIGdhcC0yIHRleHQtbGVmdCIsc3VtbWFyeTpYKFkxLHtjaGlsZHJlbjpbWCgic3BhbiIse2NsYXNzTmFtZToidGV4dC1bMTFweF0gZm9udC1zZW1pYm9sZCB0ZXh0LXdoaXRlLzUwIHVwcGVyY2FzZSB0cmFja2luZy1bMC4wOGVtXSBsZWFkaW5nLW5vbmUgaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIixjaGlsZHJlbjoiU2ltdWxhdG9yIn0pLFgoInNwYW4iLHt9KV19KSxjaGlsZHJlbjohej9YKCJkaXYiLHtjbGFzc05hbWU6InRleHQtd2hpdGUvNDUgdGV4dC1bMTFweF0gcHgtMC41IHB5LTEiLGNoaWxkcmVuOiJTaW11bGF0b3Igc2V0dGluZ3MgYXJlIGF2YWlsYWJsZSBvbiBpT1Mgc2ltdWxhdG9ycyBvbmx5LiJ9KTpYKFkxLHtjaGlsZHJlbjpbQiYmWCgiZGl2Iix7Y2xhc3NOYW1lOiJiZy1kYW5nZXIvMTAgYm9yZGVyIGJvcmRlci1kYW5nZXIvMjAgdGV4dC1kYW5nZXItc29mdCB0ZXh0LVsxMXB4XSBweC0yIHB5LTEuNSByb3VuZGVkLW1kIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBnYXAtMiIsY2hpbGRyZW46W1goInNwYW4iLHtjbGFzc05hbWU6Im1pbi13LTAiLGNoaWxkcmVuOkJ9KSxYKCJidXR0b24iLHt0eXBlOiJidXR0b24iLG9uQ2xpY2s6KCk9PnZvaWQgVigpLGNsYXNzTmFtZToic2hyaW5rLTAgY3Vyc29yLXBvaW50ZXIgcm91bmRlZCBib3JkZXIgYm9yZGVyLWRhbmdlci8zMCBiZy10cmFuc3BhcmVudCBweC0xLjUgcHktMC41IHRleHQtWzExcHhdIHRleHQtZGFuZ2VyLXNvZnQiLGNoaWxkcmVuOiJSZXRyeSJ9KV19KSxYKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggZmxleC1jb2wgZ2FwLTEuNSBwYi0xLjUiLGNoaWxkcmVuOltYKE8wLHtpY29uOnk1LmFwcGVhcmFuY2UsbGFiZWw6IkFwcGVhcmFuY2UiLGNoaWxkcmVuOlgoYjAse2xhYmVsOiJBcHBlYXJhbmNlIix2YWx1ZTpNLmFwcGVhcmFuY2U/PyJsaWdodCIsb3B0aW9uczpYOS5hcHBlYXJhbmNlLGRpc2FibGVkOiFDfHxxPT09ImFwcGVhcmFuY2UiLG9uQ2hhbmdlOihUKT0+TigiYXBwZWFyYW5jZSIsVCl9KX0pLFgoTzAse2ljb246eTUuZ2xhc3MsbGFiZWw6IkxpcXVpZCBHbGFzcyIsY2hpbGRyZW46WChiMCx7bGFiZWw6IkxpcXVpZCBHbGFzcyIsdmFsdWU6TVsibGlxdWlkLWdsYXNzIl0/PyJjbGVhciIsb3B0aW9uczpYOVsibGlxdWlkLWdsYXNzIl0sZGlzYWJsZWQ6IUN8fHE9PT0ibGlxdWlkLWdsYXNzIixvbkNoYW5nZTooVCk9Pk4oImxpcXVpZC1nbGFzcyIsVCl9KX0pLFgoTzAse2ljb246eTUuZmlsdGVyLGxhYmVsOiJDb2xvciBGaWx0ZXIiLGNoaWxkcmVuOlgoYjAse2xhYmVsOiJDb2xvciBGaWx0ZXIiLHZhbHVlOk1bImNvbG9yLWZpbHRlciJdPz8ibm9uZSIsb3B0aW9uczpYOVsiY29sb3ItZmlsdGVyIl0sZGlzYWJsZWQ6IUN8fHE9PT0iY29sb3ItZmlsdGVyIixvbkNoYW5nZTooVCk9Pk4oImNvbG9yLWZpbHRlciIsVCl9KX0pLFgoTzAse2ljb246eTUudGV4dFNpemUsbGFiZWw6IlRleHQgU2l6ZSIsY2hpbGRyZW46WChDSyx7dmFsdWU6dyxkaXNhYmxlZDohQyxvbkNoYW5nZTpVfSl9KSxISy5tYXAoKHtrZXk6VCxsYWJlbDpTfSk9PlgoTzAse2ljb246eTVbVD09PSJoYXJkd2FyZS1rZXlib2FyZCI/ImtleWJvYXJkIjpUPT09InJlZHVjZS1tb3Rpb24iPyJtb3Rpb24iOlQ9PT0iaW5jcmVhc2UtY29udHJhc3QiPyJjb250cmFzdCI6VD09PSJzaG93LWJvcmRlcnMiPyJib3JkZXJzIjpUPT09InJlZHVjZS10cmFuc3BhcmVuY3kiPyJ0cmFuc3BhcmVuY3kiOiJ2b2ljZW92ZXIiXSxsYWJlbDpTLGNoaWxkcmVuOlgoZjIse2xhYmVsOlMsY2hlY2tlZDpNW1RdPT09Im9uIixkaXNhYmxlZDohQ3x8cT09PVQsb25DaGFuZ2U6KFApPT5OKFQsUD8ib24iOiJvZmYiKX0pfSxUKSldfSldfSl9KX1mdW5jdGlvbiBhNygkLEope3JldHVybiAkLmZpbmQoKFEpPT5RLnNlc3Npb25JZD09PUopPz9udWxsfWZ1bmN0aW9uIFIzKCQsSil7bGV0IFE9ITEsWj0hMSxLPWFzeW5jKCk9PntpZihafHxRKXJldHVybjtRPSEwO3RyeXthd2FpdCAkKCl9Y2F0Y2h7fWZpbmFsbHl7UT0hMX19O0soKTtsZXQgWT1zZXRJbnRlcnZhbCgoKT0+dm9pZCBLKCksSik7cmV0dXJuKCk9PntaPSEwLGNsZWFySW50ZXJ2YWwoWSl9fXZhciBzNz0xMDAwLE9LPTQwMDA7ZnVuY3Rpb24gdDcoJCxKLFEpe2xldFtaLEtdPUEoe3Nlc3Npb246bnVsbCxjYXB0dXJlOm51bGwsZW5jb2RlcjpudWxsLHN0YWxlOiExfSksWT1GKDApO3JldHVybiBFKCgpPT57aWYoWS5jdXJyZW50PTAsSyh7c2Vzc2lvbjpudWxsLGNhcHR1cmU6bnVsbCxlbmNvZGVyOm51bGwsc3RhbGU6ITF9KSwhUXx8Sj09PW51bGwpcmV0dXJuO2xldCBxPSExLEc9VTQoJCxKKSxMPVIzKGFzeW5jKCk9PntsZXQgVj1udWxsO3RyeXtsZXQgSD1hd2FpdCBmZXRjaChHLHtzaWduYWw6QWJvcnRTaWduYWwudGltZW91dChzNyozKX0pO2lmKCFILm9rKXtpZighcSlLKHtzZXNzaW9uOm51bGwsY2FwdHVyZTpudWxsLGVuY29kZXI6bnVsbCxzdGFsZTohMX0pO3JldHVybn1WPWF3YWl0IEguanNvbigpfWNhdGNoe3JldHVybn1pZihxfHxWPT09bnVsbClyZXR1cm47bGV0IE49QXJyYXkuaXNBcnJheShWLnNlc3Npb25zKT9WLnNlc3Npb25zOltdO1kuY3VycmVudD1EYXRlLm5vdygpLEsoe3Nlc3Npb246YTcoTixKKSxjYXB0dXJlOlYuY2FwdHVyZT8/bnVsbCxlbmNvZGVyOlYuZW5jb2Rlcj8/bnVsbCxzdGFsZTohMX0pfSxzNyksej13aW5kb3cuc2V0SW50ZXJ2YWwoKCk9PntpZihZLmN1cnJlbnQ+MCYmRGF0ZS5ub3coKS1ZLmN1cnJlbnQ+T0spSygoVik9PlYuc3RhbGU/Vjp7Li4uVixzdGFsZTohMH0pfSwxMDAwKTtyZXR1cm4oKT0+e3E9ITAsTCgpLHdpbmRvdy5jbGVhckludGVydmFsKHopfX0sWyQsSixRXSksWn1mdW5jdGlvbiBsMigkKXtyZXR1cm4gaTAoJCk/PzB9ZnVuY3Rpb24gaTAoJCl7cmV0dXJuIHR5cGVvZiAkPT09Im51bWJlciImJk51bWJlci5pc0Zpbml0ZSgkKT8kOm51bGx9ZnVuY3Rpb24gZTcoJCxKKXtsZXQgUT17YXRNczpKLGZyYW1lc0RlY29kZWQ6MCxmcmFtZXNEcm9wcGVkOjAsZnJlZXplQ291bnQ6MCxmcmVlemVNczowLGJ5dGVzUmVjZWl2ZWQ6MCxwYWNrZXRzUmVjZWl2ZWQ6MCxwYWNrZXRzTG9zdDpudWxsLGppdHRlck1zOm51bGwsaml0dGVyQnVmZmVyU2Vjb25kczpudWxsLGppdHRlckJ1ZmZlckVtaXR0ZWQ6bnVsbCxyZXBvcnRlZEZwczpudWxsLHdpZHRoOm51bGwsaGVpZ2h0Om51bGwsY29kZWM6bnVsbCxyb3VuZFRyaXBNczpudWxsLHBhdGg6InVua25vd24ifSxaPW5ldyBNYXAsSz1uZXcgTWFwLFk9bmV3IE1hcCxxPW51bGwsRz1udWxsLEI9bnVsbDskLmZvckVhY2goKHopPT57c3dpdGNoKHoudHlwZSl7Y2FzZSJjb2RlYyI6aWYodHlwZW9mIHouaWQ9PT0ic3RyaW5nIiYmdHlwZW9mIHoubWltZVR5cGU9PT0ic3RyaW5nIilaLnNldCh6LmlkLHoubWltZVR5cGUpO2JyZWFrO2Nhc2UiaW5ib3VuZC1ydHAiOntpZih6LmtpbmQhPT0idmlkZW8iKWJyZWFrO2xldCBWPWwyKHouZnJhbWVzRGVjb2RlZCk7aWYoVjxRLmZyYW1lc0RlY29kZWQpYnJlYWs7US5mcmFtZXNEZWNvZGVkPVYsUS5mcmFtZXNEcm9wcGVkPWwyKHouZnJhbWVzRHJvcHBlZCksUS5mcmVlemVDb3VudD1sMih6LmZyZWV6ZUNvdW50KSxRLmZyZWV6ZU1zPWwyKHoudG90YWxGcmVlemVzRHVyYXRpb24pKjEwMDAsUS5ieXRlc1JlY2VpdmVkPWwyKHouYnl0ZXNSZWNlaXZlZCksUS5wYWNrZXRzUmVjZWl2ZWQ9bDIoei5wYWNrZXRzUmVjZWl2ZWQpLFEucGFja2V0c0xvc3Q9aTAoei5wYWNrZXRzTG9zdCksUS5yZXBvcnRlZEZwcz1pMCh6LmZyYW1lc1BlclNlY29uZCksUS53aWR0aD1pMCh6LmZyYW1lV2lkdGgpLFEuaGVpZ2h0PWkwKHouZnJhbWVIZWlnaHQpO2xldCBOPWkwKHouaml0dGVyKTtpZihRLmppdHRlck1zPU49PT1udWxsP251bGw6TioxMDAwLFEuaml0dGVyQnVmZmVyU2Vjb25kcz1pMCh6LmppdHRlckJ1ZmZlckRlbGF5KSxRLmppdHRlckJ1ZmZlckVtaXR0ZWQ9aTAoei5qaXR0ZXJCdWZmZXJFbWl0dGVkQ291bnQpLHR5cGVvZiB6LmNvZGVjSWQ9PT0ic3RyaW5nIilRLmNvZGVjPVouZ2V0KHouY29kZWNJZCk/P251bGw7YnJlYWt9Y2FzZSJ0cmFuc3BvcnQiOmlmKHR5cGVvZiB6LnNlbGVjdGVkQ2FuZGlkYXRlUGFpcklkPT09InN0cmluZyIpcT16LnNlbGVjdGVkQ2FuZGlkYXRlUGFpcklkO2JyZWFrO2Nhc2UiY2FuZGlkYXRlLXBhaXIiOmlmKHR5cGVvZiB6LmlkPT09InN0cmluZyIpSy5zZXQoei5pZCx6KTtpZih6LnNlbGVjdGVkPT09ITApRz16O2Vsc2UgaWYoei5ub21pbmF0ZWQ9PT0hMCYmei5zdGF0ZT09PSJzdWNjZWVkZWQiKUc/Pz16O2Vsc2UgaWYoei5zdGF0ZT09PSJzdWNjZWVkZWQiKUI/Pz16O2JyZWFrO2Nhc2UibG9jYWwtY2FuZGlkYXRlIjpjYXNlInJlbW90ZS1jYW5kaWRhdGUiOmlmKHR5cGVvZiB6LmlkPT09InN0cmluZyIpWS5zZXQoei5pZCx6KTticmVha319KTtsZXQgTD0ocT09PW51bGw/dm9pZCAwOksuZ2V0KHEpKT8/Rz8/QjtpZihMKXtsZXQgej1pMChMLmN1cnJlbnRSb3VuZFRyaXBUaW1lKTtRLnJvdW5kVHJpcE1zPXo9PT1udWxsP251bGw6eioxMDAwO2xldCBWPVtMLmxvY2FsQ2FuZGlkYXRlSWQsTC5yZW1vdGVDYW5kaWRhdGVJZF0ubWFwKChOKT0+dHlwZW9mIE49PT0ic3RyaW5nIj9ZLmdldChOKT8uY2FuZGlkYXRlVHlwZTp2b2lkIDApO2lmKFYuZXZlcnkoKE4pPT50eXBlb2YgTj09PSJzdHJpbmciKSlRLnBhdGg9Vi5pbmNsdWRlcygicmVsYXkiKT8icmVsYXkiOiJkaXJlY3QifWlmKFEuY29kZWM9PT1udWxsJiZaLnNpemU9PT0xKVEuY29kZWM9Wy4uLloudmFsdWVzKCldWzBdPz9udWxsO3JldHVybiBRfWZ1bmN0aW9uICQkKCQsSil7bGV0IFE9ey4uLkosZnBzOm51bGwsa2JwczpudWxsLGxvc3NSYXRpbzpudWxsLGRyb3BwZWRJbldpbmRvdzpudWxsLGZyZWV6ZXNJbldpbmRvdzpudWxsLGZyZWV6ZU1zSW5XaW5kb3c6bnVsbCxqaXR0ZXJCdWZmZXJNczpudWxsfTtpZigkPT09bnVsbClyZXR1cm4gUTtsZXQgWj1KLmF0TXMtJC5hdE1zO2lmKFo8MjUwKXJldHVybiBRO2xldCBLPUouZnJhbWVzRGVjb2RlZC0kLmZyYW1lc0RlY29kZWQsWT1KLmJ5dGVzUmVjZWl2ZWQtJC5ieXRlc1JlY2VpdmVkLHE9Si5mcmFtZXNEcm9wcGVkLSQuZnJhbWVzRHJvcHBlZCxHPUouZnJlZXplQ291bnQtJC5mcmVlemVDb3VudCxCPUouZnJlZXplTXMtJC5mcmVlemVNcztpZihLPDB8fFk8MHx8cTwwfHxHPDB8fEI8MClyZXR1cm4gUTtsZXQgTD1aLzEwMDA7cmV0dXJuey4uLkosZnBzOksvTCxrYnBzOlkqOC8xMDAwL0wsbG9zc1JhdGlvOkFLKCQsSiksZHJvcHBlZEluV2luZG93OnEsZnJlZXplc0luV2luZG93OkcsZnJlZXplTXNJbldpbmRvdzpCLGppdHRlckJ1ZmZlck1zOmtLKCQsSil9fWZ1bmN0aW9uIEFLKCQsSil7aWYoJC5wYWNrZXRzTG9zdD09PW51bGx8fEoucGFja2V0c0xvc3Q9PT1udWxsKXJldHVybiBudWxsO2xldCBRPUoucGFja2V0c0xvc3QtJC5wYWNrZXRzTG9zdCxaPUoucGFja2V0c1JlY2VpdmVkLSQucGFja2V0c1JlY2VpdmVkO2lmKFE8MHx8WjwwKXJldHVybiBudWxsO2xldCBLPVorUTtyZXR1cm4gSz4wP1EvSzpudWxsfWZ1bmN0aW9uIGtLKCQsSil7aWYoSi5qaXR0ZXJCdWZmZXJTZWNvbmRzPT09bnVsbHx8Si5qaXR0ZXJCdWZmZXJFbWl0dGVkPT09bnVsbClyZXR1cm4gbnVsbDtpZigkLmppdHRlckJ1ZmZlclNlY29uZHM9PT1udWxsfHwkLmppdHRlckJ1ZmZlckVtaXR0ZWQ9PT1udWxsKXJldHVybiBudWxsO2xldCBRPUouaml0dGVyQnVmZmVyU2Vjb25kcy0kLmppdHRlckJ1ZmZlclNlY29uZHMsWj1KLmppdHRlckJ1ZmZlckVtaXR0ZWQtJC5qaXR0ZXJCdWZmZXJFbWl0dGVkO2lmKFE8MHx8Wjw9MClyZXR1cm4gbnVsbDtyZXR1cm4gUS9aKjEwMDB9dmFyIEZLPTEwMDAsV0s9NDAwMCxESz02MDA7ZnVuY3Rpb24gSiQoJCl7bGV0W0osUV09QShudWxsKSxbWixLXT1BKFtdKSxbWSxxXT1BKCExKSxHPUYobnVsbCksQj1GKDApO3JldHVybiBFKCgpPT57aWYoRy5jdXJyZW50PW51bGwsQi5jdXJyZW50PTAscSghMSksJD09PW51bGwpe1EobnVsbCksSyhbXSk7cmV0dXJufWxldCBMPSExLFY9UjMoYXN5bmMoKT0+e2xldCBIPURhdGUubm93KCksTzt0cnl7Tz1hd2FpdCAkLmdldFN0YXRzKCl9Y2F0Y2h7cmV0dXJufWlmKEwpcmV0dXJuO2xldCBVPWU3KE8sSCksQz0kJChHLmN1cnJlbnQsVSk7Qi5jdXJyZW50PUgscSghMSksUShDKSxLKChNKT0+Wy4uLk0sQ10uc2xpY2UoLURLKSksRy5jdXJyZW50PVV9LEZLKSxOPXdpbmRvdy5zZXRJbnRlcnZhbCgoKT0+e2lmKEIuY3VycmVudD4wJiZEYXRlLm5vdygpLUIuY3VycmVudD5XSylxKCEwKX0sMTAwMCk7cmV0dXJuKCk9PntMPSEwLFYoKSx3aW5kb3cuY2xlYXJJbnRlcnZhbChOKX19LFskXSkse3N0YXRzOkosaGlzdG9yeTpaLHN0YWxlOll9fXZhciBfSz1uZXcgU2V0KFsibG9jYWxob3N0IiwiMTI3LjAuMC4xIiwiOjoxIiwiWzo6MV0iLCIwLjAuMC4wIl0pO2Z1bmN0aW9uIHYzKCQpe2xldCBKPSQudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9cLiQvLCIiKTtyZXR1cm4gX0suaGFzKEopfHxKLmVuZHNXaXRoKCIubG9jYWxob3N0Iil9YXN5bmMgZnVuY3Rpb24gUEsoJCl7dHJ5e2xldCBKPWF3YWl0ICQuanNvbigpO2lmKHR5cGVvZiBKLmVycm9yPT09InN0cmluZyImJkouZXJyb3IudHJpbSgpKXJldHVybiBKLmVycm9yLnRyaW0oKX1jYXRjaHt9cmV0dXJuYFNjcmVlbnNob3QgZmFpbGVkICgkeyQuc3RhdHVzfSlgfWFzeW5jIGZ1bmN0aW9uIFEkKCQsSj17fSl7bGV0IFE9Si5lbmRwb2ludD8/UzEoImFwaS9zY3JlZW5zaG90IiksWj1RLmluY2x1ZGVzKCI/Iik/IiYiOiI/IixZPWF3YWl0KEouZmV0Y2hJbXBsPz9mZXRjaCkoYCR7UX0ke1p9ZGV2aWNlPSR7ZW5jb2RlVVJJQ29tcG9uZW50KCQpfWAse21ldGhvZDoiUE9TVCIsc2lnbmFsOkouc2lnbmFsfSk7aWYoIVkub2spdGhyb3cgRXJyb3IoYXdhaXQgUEsoWSkpO2lmKFkuaGVhZGVycy5nZXQoImNvbnRlbnQtdHlwZSIpPy5zcGxpdCgiOyIsMSlbMF0/LnRyaW0oKT8udG9Mb3dlckNhc2UoKSE9PSJpbWFnZS9wbmciKXRocm93IEVycm9yKCJTY3JlZW5zaG90IGVuZHBvaW50IGRpZCBub3QgcmV0dXJuIGEgUE5HIik7cmV0dXJuIFkuYmxvYigpfWZ1bmN0aW9uIHg1KCQsSil7bGV0IFE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO1EuaHJlZj0kLFEuZG93bmxvYWQ9SixRLnN0eWxlLmRpc3BsYXk9Im5vbmUiLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoUSksUS5jbGljaygpLFEucmVtb3ZlKCl9ZnVuY3Rpb24gVEsoe3N0YXRzOiQsaGlzdG9yeTpKLGZhdWx0czpRLHNlbmRlcjpaLGNhcHR1cmU6SyxlbmNvZGVyOlkscmVxdWVzdGVkRnBzOnEsc3RhbGU6RyxhY3Rpb246Qn0pe3JldHVybiBYKCJkaXYiLHtjbGFzc05hbWU6YGZsZXggZmxleC1jb2wgZ2FwLTIgYm9yZGVyLWIgYm9yZGVyLXdoaXRlLzEwIHBiLTIgJHtHPyJvcGFjaXR5LTUwIjoiIn1gLGNoaWxkcmVuOltYKFgkLHtsYWJlbDoiRnJhbWUgcmF0ZSIsdmFsdWU6ZzMoJC5mcHMpLGhpbnQ6cT9gb2YgJHtxfWA6dm9pZCAwLHZhbHVlczpaJChKLChMKT0+TC5mcHMpLG1heDpxLGNsYXNzTmFtZToidGV4dC1lbWVyYWxkLTQwMCJ9KSxYKFgkLHtsYWJlbDoiQml0cmF0ZSIsdmFsdWU6SzkoJC5rYnBzKSx2YWx1ZXM6WiQoSiwoTCk9Pkwua2JwcyksY2xhc3NOYW1lOiJ0ZXh0LXNreS00MDAifSksWCgiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLXN0YXJ0IGp1c3RpZnktYmV0d2VlbiBnYXAtMiIsY2hpbGRyZW46W0c/WCgiZGl2Iix7Y2xhc3NOYW1lOiJ0ZXh0LVsxMXB4XSB0ZXh0LXdhcm5pbmciLGNoaWxkcmVuOiJObyBzYW1wbGVzIGluIHRoZSBsYXN0IGZldyBzZWNvbmRzIn0pOlEubGVuZ3RoPjA/WCgiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGZsZXgtY29sIGdhcC0wLjUiLGNoaWxkcmVuOlEubWFwKChMKT0+WCgiZGl2Iix7Y2xhc3NOYW1lOiJ0ZXh0LVsxMXB4XSB0ZXh0LXdhcm5pbmciLCJkYXRhLXN0cmVhbS1mYXVsdCI6TCxjaGlsZHJlbjpMfSxMKSl9KTpYKCJkaXYiLHtjbGFzc05hbWU6InRleHQtWzExcHhdIHRleHQtd2hpdGUvMzAiLGNoaWxkcmVuOmJLKCQpPyJObyBkcm9wcywgZnJlZXplcyBvciBsb3NzIGluIHRoaXMgd2luZG93IjoiTWVhc3VyaW5n4oCmIn0pLEJdfSksWCgiZGl2Iix7Y2xhc3NOYW1lOiJncmlkIGdyaWQtY29scy0yIGdhcC14LTMgZ2FwLXktMC41IGJvcmRlci10IGJvcmRlci13aGl0ZS8xMCBwdC0xLjUiLGNoaWxkcmVuOltYKFYwLHtsYWJlbDoiUlRUIix2YWx1ZTpoMygkLnJvdW5kVHJpcE1zLDApfSksWChWMCx7bGFiZWw6IkppdHRlciIsdmFsdWU6aDMoJC5qaXR0ZXJNcywxKX0pLFgoVjAse2xhYmVsOiJKaXR0ZXIgYnVmZmVyIix2YWx1ZTpoMygkLmppdHRlckJ1ZmZlck1zLDApfSksWChWMCx7bGFiZWw6IlJlc29sdXRpb24iLHZhbHVlOiQud2lkdGg9PT1udWxsfHwkLmhlaWdodD09PW51bGw/ZDI6YCR7JC53aWR0aH14JHskLmhlaWdodH1gfSksJC5wYXRoIT09InVua25vd24iJiZYKFYwLHtsYWJlbDoiSUNFIHJvdXRlIix2YWx1ZTokLnBhdGg9PT0icmVsYXkiPyJWaWEgcmVsYXkiOiJEaXJlY3QifSldfSksWiYmWChJSyx7c2VuZGVyOlosZW5jb2RlcjpZfSksSyYmWCh3Syx7Y2FwdHVyZTpLfSldfSl9ZnVuY3Rpb24gRUsoJCl7bGV0IEo9JC5pZD8/IiIsUT1KLnNwbGl0KCIuIikucG9wKCk/P0osWj0kLmhhcmR3YXJlPT09ITA/ImhhcmR3YXJlIjokLmhhcmR3YXJlPT09ITE/IkNQVSI6Ij8iO2lmKCFKKXJldHVybiBaO3JldHVybmAke0ouc3RhcnRzV2l0aCgicGFyYXZpcnR1YWxpemVkOiIpP2BwYXJhdmlydCAke1F9YDpRfSAoJHtafSlgfWZ1bmN0aW9uIElLKHtzZW5kZXI6JCxlbmNvZGVyOkp9KXtyZXR1cm4gWCgiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGZsZXgtY29sIGdhcC0wLjUgYm9yZGVyLXQgYm9yZGVyLXdoaXRlLzEwIHB0LTEuNSIsY2hpbGRyZW46W1goImRpdiIse2NsYXNzTmFtZToicGItMC41IHRleHQtWzEwcHhdIHVwcGVyY2FzZSB0cmFja2luZy1bMC4wOGVtXSB0ZXh0LXdoaXRlLzMwIixjaGlsZHJlbjoiRW5jb2RlciJ9KSxYKCJkaXYiLHtjbGFzc05hbWU6ImdyaWQgZ3JpZC1jb2xzLTIgZ2FwLXgtMyBnYXAteS0wLjUiLGNoaWxkcmVuOltYKFYwLHtsYWJlbDoiRW5jb2RlIEZQUyIsdmFsdWU6ZzMoJC5yZXBvcnRlZEZwcyl9KSxYKFYwLHtsYWJlbDoiVGFyZ2V0Iix2YWx1ZTpLOSgkLnRhcmdldEticHMpfSksWChWMCx7bGFiZWw6IlBhY2VyIEZQUyIsdmFsdWU6ZzMoJC5zb3VyY2VGcHMpfSksWChWMCx7bGFiZWw6IkVuY29kZSIsdmFsdWU6aDMoJC5lbmNvZGVNc1BlckZyYW1lLDEpLGhpbnQ6Ii9mcmFtZSJ9KSxYKFYwLHtsYWJlbDoiRnJhbWVzIHNlbnQiLHZhbHVlOlM1KCQuZnJhbWVzU2VudCl9KSxYKFYwLHtsYWJlbDoiTG9zcyIsdmFsdWU6eUsoJC5sb3NzUmF0aW8pLGhpbnQ6InRvdGFsIn0pLEomJlgoVjAse2xhYmVsOiJVc2luZyIsdmFsdWU6RUsoSil9KV19KV19KX1mdW5jdGlvbiB3Syh7Y2FwdHVyZTokfSl7cmV0dXJuIFgoImRpdiIse2NsYXNzTmFtZToiZmxleCBmbGV4LWNvbCBnYXAtMC41IGJvcmRlci10IGJvcmRlci13aGl0ZS8xMCBwdC0xLjUiLGNoaWxkcmVuOltYKCJkaXYiLHtjbGFzc05hbWU6InBiLTAuNSB0ZXh0LVsxMHB4XSB1cHBlcmNhc2UgdHJhY2tpbmctWzAuMDhlbV0gdGV4dC13aGl0ZS8zMCIsY2hpbGRyZW46IkNhcHR1cmUifSksWCgiZGl2Iix7Y2xhc3NOYW1lOiJncmlkIGdyaWQtY29scy0yIGdhcC14LTMgZ2FwLXktMC41IixjaGlsZHJlbjpbWChWMCx7bGFiZWw6IlNjcmVlbiBmcmFtZXMiLHZhbHVlOlM1KCQuc2NyZWVuRnJhbWVzKX0pLFgoVjAse2xhYmVsOiJJZGxlIGZyYW1lcyIsdmFsdWU6UzUoJC5pZGxlRnJhbWVzKX0pLFgoVjAse2xhYmVsOiJDYXB0dXJlIGRlbGl2ZXJpZXMiLHZhbHVlOlM1KCQub2ZmZXJlZEZyYW1lcyl9KSxYKFYwLHtsYWJlbDoiUGFjZXIgc3VibWlzc2lvbnMiLHZhbHVlOlM1KCQuZm9yd2FyZGVkRnJhbWVzKX0pXX0pXX0pfWZ1bmN0aW9uIFM1KCQpe2lmKCQ9PT1udWxsKXJldHVybiBkMjtsZXQgSj1NYXRoLmFicygkKTtpZihKPDEwMDApcmV0dXJuIFN0cmluZygkKTtpZihKPDk5OTk1MClyZXR1cm5gJHsoJC8xMDAwKS50b0ZpeGVkKDEpfWtgO3JldHVybmAkeygkLzFlNikudG9GaXhlZCgyKX1NYH1mdW5jdGlvbiB5SygkKXtyZXR1cm4gJD09PW51bGw/ZDI6YCR7KCQqMTAwKS50b0ZpeGVkKDEpfSVgfXZhciBkMj0i4oCUIjtmdW5jdGlvbiBaJCgkLEope2xldCBRPVtdO2ZvcihsZXQgWiBvZiAkKXtsZXQgSz1KKFopO2lmKEshPT1udWxsKVEucHVzaChLKX1yZXR1cm4gUX1mdW5jdGlvbiBiSygkKXtyZXR1cm4gJC5kcm9wcGVkSW5XaW5kb3chPT1udWxsfWZ1bmN0aW9uIEskKCQpe2lmKCQuZnBzPT09bnVsbClyZXR1cm4gbnVsbDtyZXR1cm5gJHtnMygkLmZwcyl9IMK3ICR7SzkoJC5rYnBzKX1gfWZ1bmN0aW9uIFkkKCQsSil7bGV0IFE9W107aWYoJC5mcmVlemVzSW5XaW5kb3cpe2xldCBLPSQuZnJlZXplTXNJbldpbmRvdz9gICgkeygkLmZyZWV6ZU1zSW5XaW5kb3cvMTAwMCkudG9GaXhlZCgxKX1zKWA6IiI7US5wdXNoKGAkeyQuZnJlZXplc0luV2luZG93fSBmcmVlemUkeyQuZnJlZXplc0luV2luZG93PT09MT8iIjoicyJ9JHtLfWApfWlmKCQuZHJvcHBlZEluV2luZG93KVEucHVzaChgJHskLmRyb3BwZWRJbldpbmRvd30gZnJhbWVzIGRyb3BwZWRgKTtpZigkLmxvc3NSYXRpbyE9PW51bGwmJiQubG9zc1JhdGlvPjAuMDIpUS5wdXNoKGAkeygkLmxvc3NSYXRpbyoxMDApLnRvRml4ZWQoMSl9JSBwYWNrZXQgbG9zc2ApO2xldCBaPXhLKEo/LnF1YWxpdHlMaW1pdGF0aW9uUmVhc29uKTtpZihaIT09bnVsbClRLnB1c2goWik7cmV0dXJuIFF9ZnVuY3Rpb24geEsoJCl7c3dpdGNoKCQpe2Nhc2UiY3B1IjpyZXR1cm4iRW5jb2RlciBjYW5ub3Qga2VlcCB1cCAoQ1BVKSI7Y2FzZSJiYW5kd2lkdGgiOnJldHVybiJCaXRyYXRlIHJlZHVjZWQgYnkgdGhlIG5ldHdvcmsiO2Nhc2Ugdm9pZCAwOmNhc2UgbnVsbDpjYXNlIm5vbmUiOnJldHVybiBudWxsO2RlZmF1bHQ6cmV0dXJuIkVuY29kZXIgaG9sZGluZyBiYWNrIChyZWFzb24gdW5rbm93bikifX1mdW5jdGlvbiBnMygkKXtpZigkPT09bnVsbClyZXR1cm4gZDI7cmV0dXJuYCR7JDwxMD8kLnRvRml4ZWQoMSk6JC50b0ZpeGVkKDApfSBmcHNgfWZ1bmN0aW9uIEs5KCQpe2lmKCQ9PT1udWxsKXJldHVybiBkMjtyZXR1cm4gJDwxMDAwP2AkeyQudG9GaXhlZCgwKX0ga2Jwc2A6YCR7KCQvMTAwMCkudG9GaXhlZCgyKX0gTWJwc2B9ZnVuY3Rpb24gaDMoJCxKKXtyZXR1cm4gJD09PW51bGw/ZDI6YCR7JC50b0ZpeGVkKEopfSBtc2B9ZnVuY3Rpb24gWCQoe2xhYmVsOiQsdmFsdWU6SixoaW50OlEsdmFsdWVzOlosbWF4OkssY2xhc3NOYW1lOll9KXtyZXR1cm4gWCgiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGZsZXgtY29sIGdhcC0xIiwiZGF0YS1zdHJlYW0tc3RhdCI6JCxjaGlsZHJlbjpbWCgiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWJhc2VsaW5lIGp1c3RpZnktYmV0d2VlbiIsY2hpbGRyZW46W1goInNwYW4iLHtjbGFzc05hbWU6InRleHQtWzExcHhdIHRleHQtd2hpdGUvNTAiLGNoaWxkcmVuOiR9KSxYKCJzcGFuIix7Y2xhc3NOYW1lOiJ0YWJ1bGFyLW51bXMgdGV4dC1bMTFweF0iLGNoaWxkcmVuOltKLFEmJlgoInNwYW4iLHtjbGFzc05hbWU6Im1sLTEuNSB0ZXh0LVsxMXB4XSB0ZXh0LXdoaXRlLzMwIixjaGlsZHJlbjpRfSldfSldfSksWChTMyx7dmFsdWVzOlosbWF4OkssY2xhc3NOYW1lOll9KV19KX1mdW5jdGlvbiBWMCh7bGFiZWw6JCx2YWx1ZTpKLGhpbnQ6UX0pe3JldHVybiBYKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtYmFzZWxpbmUganVzdGlmeS1iZXR3ZWVuIGdhcC0yIiwiZGF0YS1zdHJlYW0tc3RhdCI6JCxjaGlsZHJlbjpbWCgic3BhbiIse2NsYXNzTmFtZToid2hpdGVzcGFjZS1ub3dyYXAgdGV4dC1bMTFweF0gdGV4dC13aGl0ZS81MCIsY2hpbGRyZW46JH0pLFgoInNwYW4iLHtjbGFzc05hbWU6InRhYnVsYXItbnVtcyB3aGl0ZXNwYWNlLW5vd3JhcCB0ZXh0LVsxMXB4XSB0ZXh0LXdoaXRlLzkwIixjaGlsZHJlbjpbSixRJiZYKCJzcGFuIix7Y2xhc3NOYW1lOiJtbC0xLjUgdGV4dC1bMTFweF0gdGV4dC13aGl0ZS8zMCIsY2hpbGRyZW46UX0pXX0pXX0pfWZ1bmN0aW9uIHEkKHtzdGF0czokLGhpc3Rvcnk6SixmYXVsdHM6USxzZW5kZXI6WixjYXB0dXJlOkssZW5jb2RlcjpZLHJlcXVlc3RlZEZwczpxLHN0YWxlOkcsYWN0aW9uOkJ9KXtpZigkPT09bnVsbClyZXR1cm4gbnVsbDtyZXR1cm4gWChUSyx7c3RhdHM6JCxoaXN0b3J5OkosZmF1bHRzOlEsc2VuZGVyOlosY2FwdHVyZTpLLGVuY29kZXI6WSxyZXF1ZXN0ZWRGcHM6cSxzdGFsZTpHLGFjdGlvbjpCfSl9ZnVuY3Rpb24gRyQoe2hpc3Rvcnk6JCxjb250ZXh0Okp9KXtpZigkLmxlbmd0aDwyKXJldHVybiBudWxsO3JldHVybiBYKCJidXR0b24iLHt0eXBlOiJidXR0b24iLHRpdGxlOmBEb3dubG9hZCAkeyQubGVuZ3RofSByZWNvcmRlZCBzYW1wbGVzIGFzIEpTT05gLCJhcmlhLWxhYmVsIjpgRG93bmxvYWQgJHskLmxlbmd0aH0gcmVjb3JkZWQgc2FtcGxlcyBhcyBKU09OYCxvbkNsaWNrOigpPT5qSygkLEopLGNsYXNzTmFtZToiLW10LTAuNSBpbmxpbmUtZmxleCBoLTUgdy01IHNocmluay0wIGN1cnNvci1wb2ludGVyIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkIHRleHQtd2hpdGUvMzAgaG92ZXI6Ymctd2hpdGUvWzAuMDZdIGhvdmVyOnRleHQtd2hpdGUvODAiLGNoaWxkcmVuOlgoTDUseyJhcmlhLWhpZGRlbiI6InRydWUiLGNsYXNzTmFtZToiaC0zIHctMyJ9KX0pfWZ1bmN0aW9uIFNLKCQsSj17fSl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KHtyZWNvcmRlZEF0Om5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSwuLi5KLHNhbXBsZXM6JH0sbnVsbCwyKX1mdW5jdGlvbiBqSygkLEope2xldCBRPVVSTC5jcmVhdGVPYmplY3RVUkwobmV3IEJsb2IoW1NLKCQsSildLHt0eXBlOiJhcHBsaWNhdGlvbi9qc29uIn0pKTt4NShRLGBzZXJ2ZS1zaW0tc3RyZWFtLXN0YXRzLSR7UksoKX0uanNvbmApLHNldFRpbWVvdXQoKCk9PlVSTC5yZXZva2VPYmplY3RVUkwoUSksMCl9ZnVuY3Rpb24gUksoKXtyZXR1cm4gbmV3IERhdGUoKS50b0lTT1N0cmluZygpLnJlcGxhY2UoL1s6Ll0vZywiLSIpLnJlcGxhY2UoIloiLCIiKX12YXIgQiQ9e3ZhbHVlOiIwIixsYWJlbDoiRnVsbCJ9LFYkPVsxOTIwLDE2MDAsMTI4MCw5NjAsNzIwXS5tYXAoKCQpPT4oe3ZhbHVlOlN0cmluZygkKSxsYWJlbDpTdHJpbmcoJCl9KSk7ZnVuY3Rpb24gTCQoJCxKKXtsZXQgUT0kLnRyYW5zcG9ydD09PSJ3ZWJydGMiJiYkLndlYlJ0Y0NvZGVjPT09ImgyNjQiLFo9Sj4wP0o6UT8xMjgwOjAsSz1aPjA/ViQuZmlsdGVyKChZKT0+TnVtYmVyKFkudmFsdWUpPD1aKTpbQiQsLi4uViRdO3JldHVybiB2SygkLm1heERpbWVuc2lvbixLKX1mdW5jdGlvbiB2SygkLEope2xldCBRPVN0cmluZygkKTtpZihKLnNvbWUoKFopPT5aLnZhbHVlPT09USkpcmV0dXJuIEo7cmV0dXJuWy4uLkosJD09PTA/QiQ6e3ZhbHVlOlEsbGFiZWw6UX1dfXZhciBoSz1bNjAsMzAsMjAsMTUsMTAsNV0sWTk9aEsubWFwKCgkKT0+e2xldCBKPVN0cmluZygkKTtyZXR1cm57dmFsdWU6SixsYWJlbDpKfX0pO2Z1bmN0aW9uIHE5KCQpe2xldCBKPVN0cmluZygkKTtpZigkPD02MCYmIVk5LnNvbWUoKFEpPT5RLnZhbHVlPT09SikpcmV0dXJuW3t2YWx1ZTpKLGxhYmVsOkp9LC4uLlk5XTtyZXR1cm4gWTl9dmFyIGdLPVt7dmFsdWU6Imh0dHAiLGxhYmVsOiJIVFRQIn0se3ZhbHVlOiJ3ZWJydGMiLGxhYmVsOiJXZWJSVEMifV0sZks9W3t2YWx1ZToid2VicnRjIixsYWJlbDoiV2ViUlRDIn1dLG1LPVt7dmFsdWU6ImF1dG8iLGxhYmVsOiJBdXRvIn0se3ZhbHVlOiJoMjY0IixsYWJlbDoiSC4yNjQifSx7dmFsdWU6Im1qcGVnIixsYWJlbDoiTUpQRUcifV0scEs9W3t2YWx1ZToiaDI2NCIsbGFiZWw6IkguMjY0In0se3ZhbHVlOiJ2cDkiLGxhYmVsOiJWUDkifSx7dmFsdWU6InZwOCIsbGFiZWw6IlZQOCJ9XSx1Sz1be3ZhbHVlOiIwLjQ1IixsYWJlbDoiNDUlIn0se3ZhbHVlOiIwLjU1IixsYWJlbDoiNTUlIn0se3ZhbHVlOiIwLjciLGxhYmVsOiI3MCUifSx7dmFsdWU6IjAuODUiLGxhYmVsOiI4NSUifSx7dmFsdWU6IjEiLGxhYmVsOiIxMDAlIn1dLGxLPVt7dmFsdWU6IjE1MDAwMDAiLGxhYmVsOiIxLjUgTWJwcyJ9LHt2YWx1ZToiMzAwMDAwMCIsbGFiZWw6IjMgTWJwcyJ9LHt2YWx1ZToiNjAwMDAwMCIsbGFiZWw6IjYgTWJwcyJ9LHt2YWx1ZToiMTAwMDAwMDAiLGxhYmVsOiIxMCBNYnBzIn0se3ZhbHVlOiIxNjAwMDAwMCIsbGFiZWw6IjE2IE1icHMifV0sSjI9InNpemUtMy41IjtmdW5jdGlvbiB6JCgkLEosUSl7bGV0IFo9U3RyaW5nKCQpO3JldHVybiBKLnNvbWUoKEspPT5LLnZhbHVlPT09Wik/Sjpbe3ZhbHVlOlosbGFiZWw6USgkKX0sLi4uSl19ZnVuY3Rpb24gVSQoe3NldHRpbmdzOiQsb25QbGF5YmFja1NldHRpbmdzQ2hhbmdlOkosb25FbmNvZGVyU2V0dGluZ3NDaGFuZ2U6USxhY3RpdmVDb2RlYzpaLGF2Y2NTdXBwb3J0ZWQ6SyxwZWVyQ29ubmVjdGlvbjpZLHdlYnJ0Y1N0YXRzVXJsOnEsd2VicnRjU2Vzc2lvbklkOkcsZW5jb2RlclNldHRpbmdzRGlzYWJsZWQ6Qj0hMSx0cmFuc3BvcnRMb2NrZWQ6TD0hMSxjb25maWd1cmVkTWF4RGltZW5zaW9uOno9MH0pe2xldFtWLE5dPUEoITEpLHtzdGF0czpILGhpc3Rvcnk6TyxzdGFsZTpVfT1KJChZKSxDPXQ3KHE/PyIiLEc/P251bGwscSE9PXZvaWQgMCYmWSE9PW51bGwmJkchPW51bGwpLE09Qy5zdGFsZT9udWxsOkMuc2Vzc2lvbixrPUg9PT1udWxsfHxVP1tdOlkkKEgsTSksdz1VPyJTdHJlYW0gc2FtcGxlcyBoYXZlIHN0b3BwZWQiOmsuam9pbigiOyAiKSxUPUg9PT1udWxsP251bGw6SyQoSCksUz0kLnRyYW5zcG9ydD09PSJodHRwIixQPSQudHJhbnNwb3J0PT09IndlYnJ0YyI7cmV0dXJuIFgoWjAse29wZW46Vixvbk9wZW5DaGFuZ2U6TiwiZGF0YS1zdHJlYW0tc2V0dGluZ3MiOiIiLHN1bW1hcnlDbGFzc05hbWU6ImdyaWQgW2dyaWQtdGVtcGxhdGUtY29sdW1uczphdXRvXzFmcl9hdXRvXSBpdGVtcy1jZW50ZXIgZ2FwLTIgdGV4dC1sZWZ0IixzdW1tYXJ5OlgoWTEse2NoaWxkcmVuOltYKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LVsxMXB4XSBmb250LXNlbWlib2xkIHRleHQtd2hpdGUvNTAgdXBwZXJjYXNlIHRyYWNraW5nLVswLjA4ZW1dIGxlYWRpbmctbm9uZSBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIiLGNoaWxkcmVuOiJTdHJlYW0ifSksWCgic3BhbiIse2NsYXNzTmFtZToianVzdGlmeS1zZWxmLWVuZCBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEuNSIsY2hpbGRyZW46WyFWJiZUIT09bnVsbD9YKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LVsxMXB4XSB0ZXh0LXdoaXRlLzQwIHRhYnVsYXItbnVtcyIsY2hpbGRyZW46VH0pOlgoInNwYW4iLHtjbGFzc05hbWU6InRleHQtWzExcHhdIHRleHQtd2hpdGUvNDAgdXBwZXJjYXNlIixjaGlsZHJlbjpafSksKGsubGVuZ3RoPjB8fFUpJiZYKCJzcGFuIix7ImRhdGEtc3RyZWFtLXdhcm5pbmciOiEwLHJvbGU6InN0YXR1cyIsY2xhc3NOYW1lOiJncm91cCByZWxhdGl2ZSBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIiLGNoaWxkcmVuOltYKHAwLHsiYXJpYS1oaWRkZW4iOiJ0cnVlIixjbGFzc05hbWU6InctMy41IGgtMy41IHRleHQtd2FybmluZyJ9KSxYKCJzcGFuIix7Y2xhc3NOYW1lOiJzci1vbmx5IixjaGlsZHJlbjp3fSksWCgic3BhbiIse2NsYXNzTmFtZToicG9pbnRlci1ldmVudHMtbm9uZSBhYnNvbHV0ZSByaWdodC0wIHRvcC1mdWxsIHotMTAgbXQtMSBoaWRkZW4gdy1tYXggbWF4LXctWzIyMHB4XSByb3VuZGVkLW1kIGJnLWJsYWNrLzkwIHB4LTIgcHktMSB0ZXh0LVsxMXB4XSBsZWFkaW5nLXNudWcgdGV4dC13aGl0ZS85MCBzaGFkb3ctbGcgZ3JvdXAtaG92ZXI6YmxvY2siLGNoaWxkcmVuOnd9KV19KV19KV19KSxjaGlsZHJlbjpYKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggZmxleC1jb2wgZ2FwLTEuNSBwYi0xLjUiLGNoaWxkcmVuOltYKHEkLHtzdGF0czpILGhpc3Rvcnk6TyxmYXVsdHM6ayxzZW5kZXI6TSxjYXB0dXJlOkMuc3RhbGU/bnVsbDpDLmNhcHR1cmUscmVxdWVzdGVkRnBzOiQuaDI2NEZwcyxzdGFsZTpVLGFjdGlvbjpYKEckLHtoaXN0b3J5Ok8sY29udGV4dDp7dHJhbnNwb3J0OiQudHJhbnNwb3J0LGNvZGVjOkg/LmNvZGVjLHNlbmRlcjpNLGNhcHR1cmU6Qy5zdGFsZT9udWxsOkMuY2FwdHVyZX19KX0pLFgoTzAse2ljb246WChOMix7Y2xhc3NOYW1lOkoyfSksbGFiZWw6IlRyYW5zcG9ydCIsY2hpbGRyZW46WChiMCx7bGFiZWw6IlRyYW5zcG9ydCIsdmFsdWU6JC50cmFuc3BvcnQsb3B0aW9uczpMP2ZLOmdLLGRpc2FibGVkOkwsb25DaGFuZ2U6KHYpPT5KKHt0cmFuc3BvcnQ6dn0pfSl9KSwhTCYmWChPMCx7aWNvbjpYKE4yLHtjbGFzc05hbWU6SjJ9KSxsYWJlbDoiSFRUUCBjb2RlYyIsY2hpbGRyZW46WChiMCx7bGFiZWw6IkhUVFAgY29kZWMiLHZhbHVlOks/JC5odHRwQ29kZWM6Im1qcGVnIixvcHRpb25zOm1LLGRpc2FibGVkOiFTfHwhSyxvbkNoYW5nZToodik9Pkooe2h0dHBDb2RlYzp2fSl9KX0pLFgoTzAse2ljb246WChOMix7Y2xhc3NOYW1lOkoyfSksbGFiZWw6IldlYlJUQyBjb2RlYyIsY2hpbGRyZW46WChiMCx7bGFiZWw6IldlYlJUQyBjb2RlYyIsdmFsdWU6JC53ZWJSdGNDb2RlYyxvcHRpb25zOnBLLGRpc2FibGVkOiFQLG9uQ2hhbmdlOih2KT0+Sih7d2ViUnRjQ29kZWM6dn0pfSl9KSxYKE8wLHtpY29uOlgobzAse2NsYXNzTmFtZTpKMn0pLGxhYmVsOiJNYXggc2l6ZSIsY2hpbGRyZW46WChiMCx7bGFiZWw6Ik1heCBzaXplIix2YWx1ZTpTdHJpbmcoJC5tYXhEaW1lbnNpb24pLG9wdGlvbnM6TCQoJCx6KSxkaXNhYmxlZDpCLG9uQ2hhbmdlOih2KT0+USh7bWF4RGltZW5zaW9uOk51bWJlcih2KX0pfSl9KSwhTCYmWChZMSx7Y2hpbGRyZW46W1goTzAse2ljb246WChvMCx7Y2xhc3NOYW1lOkoyfSksbGFiZWw6Ik1KUEVHIEZQUyIsY2hpbGRyZW46WChiMCx7bGFiZWw6Ik1KUEVHIEZQUyIsdmFsdWU6U3RyaW5nKCQubWpwZWdGcHMpLG9wdGlvbnM6cTkoJC5tanBlZ0ZwcyksZGlzYWJsZWQ6Qnx8IVMsb25DaGFuZ2U6KHYpPT5RKHttanBlZ0ZwczpOdW1iZXIodil9KX0pfSksWChPMCx7aWNvbjpYKG8wLHtjbGFzc05hbWU6SjJ9KSxsYWJlbDoiTUpQRUcgcXVhbGl0eSIsY2hpbGRyZW46WChiMCx7bGFiZWw6Ik1KUEVHIHF1YWxpdHkiLHZhbHVlOlN0cmluZygkLm1qcGVnUXVhbGl0eSksb3B0aW9uczp6JCgkLm1qcGVnUXVhbGl0eSx1Sywodik9PmAke01hdGgucm91bmQodioxMDApfSVgKSxkaXNhYmxlZDpCfHwhUyxvbkNoYW5nZToodik9PlEoe21qcGVnUXVhbGl0eTpOdW1iZXIodil9KX0pfSldfSksWChPMCx7aWNvbjpYKG8wLHtjbGFzc05hbWU6SjJ9KSxsYWJlbDoiVmlkZW8gRlBTIixjaGlsZHJlbjpYKGIwLHtsYWJlbDoiVmlkZW8gRlBTIix2YWx1ZTpTdHJpbmcoJC5oMjY0RnBzKSxvcHRpb25zOnE5KCQuaDI2NEZwcyksZGlzYWJsZWQ6Qnx8UyYmKCFLfHwkLmh0dHBDb2RlYz09PSJtanBlZyIpLG9uQ2hhbmdlOih2KT0+USh7aDI2NEZwczpOdW1iZXIodil9KX0pfSksWChPMCx7aWNvbjpYKG8wLHtjbGFzc05hbWU6SjJ9KSxsYWJlbDoiVmlkZW8gYml0cmF0ZSIsY2hpbGRyZW46WChiMCx7bGFiZWw6IlZpZGVvIGJpdHJhdGUiLHZhbHVlOlN0cmluZygkLmgyNjRCaXRyYXRlKSxvcHRpb25zOnokKCQuaDI2NEJpdHJhdGUsbEssKHYpPT5gJHt2LzFlNn0gTWJwc2ApLGRpc2FibGVkOkJ8fFMmJighS3x8JC5odHRwQ29kZWM9PT0ibWpwZWciKSxvbkNoYW5nZToodik9PlEoe2gyNjRCaXRyYXRlOk51bWJlcih2KX0pfSl9KV19KX0pfWZ1bmN0aW9uIE4kKHtvcGVuOiQsb25DbG9zZTpKLHBlZXJDb25uZWN0aW9uOlEsd2VicnRjU3RhdHNVcmw6Wix3ZWJydGNTZXNzaW9uSWQ6Syx1ZGlkOlksZGV2aWNlUnVudGltZTpxLGN1cnJlbnRBcHA6RyxldmVudExvZ0V2ZW50c0VuZHBvaW50OkIsbWV0cmljc0VuZHBvaW50OkwsYXhPdmVybGF5RW5hYmxlZDp6LG9uVG9nZ2xlQXhPdmVybGF5OlYsc3RyZWFtU2V0dGluZ3M6TixvblN0cmVhbVBsYXliYWNrU2V0dGluZ3NDaGFuZ2U6SCxvblN0cmVhbUVuY29kZXJTZXR0aW5nc0NoYW5nZTpPLGFjdGl2ZUNvZGVjOlUsYXZjY1N1cHBvcnRlZDpDLHN0cmVhbVNldHRpbmdzUGVuZGluZzpNLHN0cmVhbVRyYW5zcG9ydExvY2tlZDprPSExLHN0cmVhbUNvbmZpZ3VyZWRNYXhEaW1lbnNpb246dz0wLHdpZHRoOlQsY2hyb21lRW5hYmxlZDpTLG9uQ2hyb21lRW5hYmxlZENoYW5nZTpQLGhhc0Nocm9tZTp2PSExfSl7cmV0dXJuIFgodjIse29wZW46JCx3aWR0aDpULHN0eWxlOntiYWNrZ3JvdW5kQ29sb3I6ZzJ9LGNoaWxkcmVuOltYKGgyLHtjaGlsZHJlbjpbWChaNyx7Y2hpbGRyZW46IlRvb2xzIn0pLFgoRTMse29uQ2xpY2s6Sn0pXX0pLCQmJlgoImRpdiIse2NsYXNzTmFtZToicC0zLjUgb3ZlcmZsb3cteS1hdXRvIGZsZXgtMSBmbGV4IGZsZXgtY29sIGdhcC0zIixjaGlsZHJlbjpbWCh3Nyx7dWRpZDpZLGN1cnJlbnRBcHA6R30pLFgobjcse3VkaWQ6WSxjdXJyZW50QXBwQnVuZGxlSWQ6Rz8uYnVuZGxlSWQ/P251bGwsbWV0cmljc0VuZHBvaW50Okx9KSxYKGM3LHt1ZGlkOlksZXZlbnRzRW5kcG9pbnQ6Qn0pLFgocjcse3VkaWQ6WSxydW50aW1lOnF9KSxYKFM3LHtvdmVybGF5RW5hYmxlZDp6LG9uVG9nZ2xlT3ZlcmxheTpWfSksWChsNyx7dWRpZDpZLGJ1bmRsZUlkOkc/LmJ1bmRsZUlkPz9udWxsfSksWChFNyx7dWRpZDpZfSksWChiNyx7dWRpZDpZLGJ1bmRsZUlkOkc/LmJ1bmRsZUlkPz9udWxsfSksdiYmUCYmWChkSyx7Y2hyb21lRW5hYmxlZDohIVMsb25DaHJvbWVFbmFibGVkQ2hhbmdlOlB9KSxYKFUkLHtzZXR0aW5nczpOLG9uUGxheWJhY2tTZXR0aW5nc0NoYW5nZTpILG9uRW5jb2RlclNldHRpbmdzQ2hhbmdlOk8sYWN0aXZlQ29kZWM6VSxhdmNjU3VwcG9ydGVkOkMsZW5jb2RlclNldHRpbmdzRGlzYWJsZWQ6TSx0cmFuc3BvcnRMb2NrZWQ6ayxjb25maWd1cmVkTWF4RGltZW5zaW9uOncscGVlckNvbm5lY3Rpb246USx3ZWJydGNTdGF0c1VybDpaLHdlYnJ0Y1Nlc3Npb25JZDpLfSldfSldfSl9ZnVuY3Rpb24gZEsoe2Nocm9tZUVuYWJsZWQ6JCxvbkNocm9tZUVuYWJsZWRDaGFuZ2U6Sn0pe2xldFtRLFpdPUEoITEpO3JldHVybiBYKFowLHtvcGVuOlEsb25PcGVuQ2hhbmdlOlosc3VtbWFyeUNsYXNzTmFtZToiZ3JpZCBbZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOmF1dG9fMWZyX2F1dG9dIGl0ZW1zLWNlbnRlciBnYXAtMiB0ZXh0LWxlZnQiLHN1bW1hcnk6WChZMSx7Y2hpbGRyZW46W1goInNwYW4iLHtjbGFzc05hbWU6InRleHQtWzExcHhdIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZS81MCB1cHBlcmNhc2UgdHJhY2tpbmctWzAuMDhlbV0gbGVhZGluZy1ub25lIGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciIsY2hpbGRyZW46IkRpc3BsYXkifSksWCgic3BhbiIse30pXX0pLGNoaWxkcmVuOlgoImRpdiIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIuNSBweC0xIixjaGlsZHJlbjpbWChENSx7c2l6ZToxNCxzdHJva2VXaWR0aDoxLjc1LGNsYXNzTmFtZToidGV4dC13aGl0ZS81MCBzaHJpbmstMCJ9KSxYKCJzcGFuIix7Y2xhc3NOYW1lOiJmbGV4LTEgdGV4dC1bMTNweF0gdGV4dC13aGl0ZS84MCIsY2hpbGRyZW46IkRldmljZSBmcmFtZSJ9KSxYKGYyLHtsYWJlbDoiRGV2aWNlIGZyYW1lIixjaGVja2VkOiQsb25DaGFuZ2U6Sn0pXX0pfSl9ZnVuY3Rpb24gSCQoJCxKKXtsZXQgUTt0cnl7UT1uZXcgVVJMKCQud2ViU29ja2V0RGVidWdnZXJVcmwpfWNhdGNoe3JldHVybiAkfWxldCBaPWAke1EucGF0aG5hbWV9JHtRLnNlYXJjaH1gLEs9Si5wcm90b2NvbD09PSJodHRwczoiPyJ3c3M6Ijoid3M6IixZPUoucHJvdG9jb2w9PT0iaHR0cHM6Ij8id3NzIjoid3MiLHE9YCR7Si5ob3N0fSR7Wn1gLEc9JC5kZXZ0b29sc0Zyb250ZW5kVXJsO3RyeXtsZXQgQj1uZXcgVVJMKCQuZGV2dG9vbHNGcm9udGVuZFVybCxgJHtKLnByb3RvY29sfS8vJHtKLmhvc3R9YCk7Qi5zZWFyY2hQYXJhbXMuZGVsZXRlKCJ3cyIpLEIuc2VhcmNoUGFyYW1zLmRlbGV0ZSgid3NzIiksQi5zZWFyY2hQYXJhbXMuc2V0KFkscSksRz1gJHtCLnBhdGhuYW1lfSR7Qi5zZWFyY2h9JHtCLmhhc2h9YH1jYXRjaHt9cmV0dXJuey4uLiQsd2ViU29ja2V0RGVidWdnZXJVcmw6YCR7S30vLyR7Si5ob3N0fSR7Wn1gLGRldnRvb2xzRnJvbnRlbmRVcmw6R319ZnVuY3Rpb24gajUoJCxKKXtmZXRjaChTMSgiZGV2dG9vbHMvaGlnaGxpZ2h0Iikse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxib2R5OkpTT04uc3RyaW5naWZ5KHt0YXJnZXRJZDokLG9uOkp9KSxrZWVwYWxpdmU6ITB9KS5jYXRjaCgoKT0+e30pfWZ1bmN0aW9uIEc5KCl7bGV0ICQ9UzEoImRldnRvb2xzL3JlbGVhc2UiKTt0cnl7aWYodHlwZW9mIG5hdmlnYXRvcjwidSImJm5hdmlnYXRvci5zZW5kQmVhY29uKXtsZXQgSj1uZXcgQmxvYihbInt9Il0se3R5cGU6ImFwcGxpY2F0aW9uL2pzb24ifSk7aWYobmF2aWdhdG9yLnNlbmRCZWFjb24oJCxKKSlyZXR1cm59fWNhdGNoe31mZXRjaCgkLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sYm9keToie30iLGtlZXBhbGl2ZTohMH0pLmNhdGNoKCgpPT57fSl9ZnVuY3Rpb24gQyQoJCl7bGV0IEo9JC5jb250ZW50RG9jdW1lbnQ7aWYoIUopcmV0dXJuO2xldCBRPSgpPT57bGV0IFk9W0pdO3doaWxlKFkubGVuZ3RoKXtsZXQgcT1ZLnBvcCgpLEc9cS5xdWVyeVNlbGVjdG9yQWxsKCJbYXJpYS1sYWJlbF0sW3RpdGxlXSIpO2ZvcihsZXQgQiBvZiBHKXtsZXQgTD1CLmdldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIpfHxCLnRpdGxlfHwiIjtpZigvXnRvZ2dsZSBzY3JlZW5jYXN0JC9pLnRlc3QoTCkpcmV0dXJuIEJ9Zm9yKGxldCBCIG9mIHEucXVlcnlTZWxlY3RvckFsbCgiKiIpKWlmKEIuc2hhZG93Um9vdClZLnB1c2goQi5zaGFkb3dSb290KX1yZXR1cm4gbnVsbH0sWj0wLEs9KCk9PntaKys7bGV0IFk9USgpO2lmKFkmJlkuZ2V0QXR0cmlidXRlKCJhcmlhLXByZXNzZWQiKSE9PSJmYWxzZSIpe1kuY2xpY2soKTtyZXR1cm59aWYoWjwyMClzZXRUaW1lb3V0KEssMTAwKX07SygpfWZ1bmN0aW9uIE0kKCQpe2xldCBKPVtdLFE9bmV3IE1hcDtmb3IobGV0IFogb2YgJCl7bGV0IEs9Wi5hcHBOYW1lfHxaLmJ1bmRsZUlkfHwiVW5rbm93biIsWT1aLmJ1bmRsZUlkfHxLLHE9US5nZXQoWSk7aWYoIXEpcT17a2V5OlksYXBwTmFtZTpLLGJ1bmRsZUlkOlouYnVuZGxlSWQsdGFyZ2V0czpbXX0sUS5zZXQoWSxxKSxKLnB1c2goWSk7cS50YXJnZXRzLnB1c2goWil9cmV0dXJuIEoubWFwKChaKT0+US5nZXQoWikpfWZ1bmN0aW9uIE8kKCQsSil7bGV0W1EsWl09QSh7fSksSz1JMSgoKT0+Si5zbGljZSgpLnNvcnQoKS5qb2luKCJ8IiksW0pdKTtyZXR1cm4gRSgoKT0+e2lmKCEkKXJldHVybjtsZXQgWT0hMTtmb3IobGV0IHEgb2YgSil7aWYoIXEpY29udGludWU7bGV0IEc9YCR7JH06JHtxfWAsQj1tMi5nZXQoRyk7aWYodHlwZW9mIEI9PT0ic3RyaW5nInx8Qj09PW51bGwpe1ooKEwpPT5MW3FdPT09Qj9MOnsuLi5MLFtxXTpCfSk7Y29udGludWV9STcoJCxxKS50aGVuKChMKT0+e2lmKFkpcmV0dXJuO1ooKHopPT4oey4uLnosW3FdOkx9KSl9KX1yZXR1cm4oKT0+e1k9ITB9fSxbJCxLXSksUX1mdW5jdGlvbiBBJCh7dWRpZDokLHRhcmdldHM6SixzZWxlY3RlZDpRLG9uU2VsZWN0VGFyZ2V0Olosb25SZWZyZXNoOkt9KXtsZXQgWT1NJChKKSxxPVkubWFwKChVKT0+VS5idW5kbGVJZCkuZmlsdGVyKChVKT0+ISFVKSxHPU8kKCQscSksW0IsTF09QSghMSksW3osVl09QShudWxsKSxOPUYobnVsbCksSD1GKG51bGwpO0UoKCk9PntpZighQilyZXR1cm47bGV0IFU9KEMpPT57aWYoIUguY3VycmVudClyZXR1cm47aWYoIUguY3VycmVudC5jb250YWlucyhDLnRhcmdldCkpTCghMSl9O3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLFUpLCgpPT5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLFUpfSxbQl0pLEUoKCk9PntpZihCKXJldHVybjtpZihOLmN1cnJlbnQpajUoTi5jdXJyZW50LCExKSxOLmN1cnJlbnQ9bnVsbDtHOSgpfSxbQl0pLEUoKCk9PntsZXQgVT0oKT0+RzkoKTtyZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VoaWRlIixVKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiYmVmb3JldW5sb2FkIixVKSwoKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJwYWdlaGlkZSIsVSksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImJlZm9yZXVubG9hZCIsVSl9fSxbXSk7bGV0IE89UT8oUS50aXRsZXx8US51cmx8fFEuYXBwTmFtZXx8IlVudGl0bGVkIikuc2xpY2UoMCw5MCk6IlNlbGVjdCB0YXJnZXQiO3JldHVybiBYKCJkaXYiLHtyZWY6SCxjbGFzc05hbWU6InJlbGF0aXZlIHctZnVsbCBtaW4tdy0wIixjaGlsZHJlbjpbWCgiYnV0dG9uIix7dHlwZToiYnV0dG9uIixvbkNsaWNrOigpPT57TCgoVSk9PntpZighVSlLKCk7cmV0dXJuIVV9KX0sY2xhc3NOYW1lOiJ3LWZ1bGwgbWluLXctMCBoLVsyNnB4XSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gZ2FwLTIgYmctcGFuZWwgdGV4dC13aGl0ZS85MCBib3JkZXIgYm9yZGVyLXdoaXRlLzEyIHJvdW5kZWQtbWQgdGV4dC1bMTJweF0gcHgtMiBjdXJzb3ItcG9pbnRlciB0ZXh0LWxlZnQiLCJhcmlhLWhhc3BvcHVwIjoibGlzdGJveCIsImFyaWEtZXhwYW5kZWQiOkIsImFyaWEtbGFiZWwiOiJXZWJLaXQgdGFyZ2V0IixjaGlsZHJlbjpbWCgic3BhbiIse2NsYXNzTmFtZToib3ZlcmZsb3ctaGlkZGVuIHRleHQtZWxsaXBzaXMgd2hpdGVzcGFjZS1ub3dyYXAgbWluLXctMCIsY2hpbGRyZW46T30pLFgoVjUse3NpemU6MTIsc3Ryb2tlV2lkdGg6Mn0pXX0pLEImJlgoInVsIix7cm9sZToibGlzdGJveCIsY2xhc3NOYW1lOiJhYnNvbHV0ZSB0b3AtW2NhbGMoMTAwJSs0cHgpXSBsZWZ0LTAgbS0wIHAtMSBsaXN0LW5vbmUgYmctcGFuZWwgYm9yZGVyIGJvcmRlci13aGl0ZS8xMiByb3VuZGVkLWxnIHNoYWRvdy1bMF84cHhfMjRweF9yZ2JhKDAsMCwwLDAuNSldIG1pbi13LVsyMjBweF0gbWF4LXctWzM2MHB4XSBtYXgtaC1bMzIwcHhdIG92ZXJmbG93LXktYXV0byB6LTUwIixjaGlsZHJlbjpZLm1hcCgoVSk9PntsZXQgQz1VLmJ1bmRsZUlkP0dbVS5idW5kbGVJZF06bnVsbDtyZXR1cm4gWCgibGkiLHtjbGFzc05hbWU6Imxpc3Qtbm9uZSBtLTAgcC0wIixjaGlsZHJlbjpbWCgiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiBweC0xLjUgcHQtMSBwYi0wLjUgdGV4dC1bMTJweF0gZm9udC1zZW1pYm9sZCB0ZXh0LXdoaXRlL1swLjkyXSIsY2hpbGRyZW46W0M/WCgiaW1nIix7c3JjOkMsYWx0OiIiLGNsYXNzTmFtZToidy00IGgtNCByb3VuZGVkLVszcHhdIHNocmluay0wIG9iamVjdC1jb3ZlciJ9KTpYKCJzcGFuIix7Y2xhc3NOYW1lOiJ3LTQgaC00IHJvdW5kZWQtWzNweF0gc2hyaW5rLTAgb2JqZWN0LWNvdmVyIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0pLFgoInNwYW4iLHtjbGFzc05hbWU6Im92ZXJmbG93LWhpZGRlbiB0ZXh0LWVsbGlwc2lzIHdoaXRlc3BhY2Utbm93cmFwIixjaGlsZHJlbjpVLmFwcE5hbWV9KV19KSxYKCJ1bCIse3JvbGU6Imdyb3VwIixjbGFzc05hbWU6Imxpc3Qtbm9uZSBtLTAgcC0wIHBsLVsyNnB4XSIsY2hpbGRyZW46VS50YXJnZXRzLm1hcCgoTSk9PntsZXQgaz1RPy5pZD09PU0uaWQsdz0hIU0uaW5Vc2VCeU90aGVySW5zcGVjdG9yJiYhayxUPShNLnRpdGxlfHxNLnVybHx8TS5hcHBOYW1lfHwiVW50aXRsZWQiKS5zbGljZSgwLDkwKSxTPXo9PT1NLmlkJiYhdyxQPSJmbGV4IGZsZXgtY29sIHB4LTIgcHktWzNweF0gcm91bmRlZCB0ZXh0LVsxMnB4XSBsZWFkaW5nLVsxLjM1XSI7cmV0dXJuIFgoImxpIix7cm9sZToib3B0aW9uIiwiYXJpYS1zZWxlY3RlZCI6aywiYXJpYS1kaXNhYmxlZCI6dyx0YWJJbmRleDp3Py0xOjAsdGl0bGU6dz8iQWxyZWFkeSBiZWluZyBpbnNwZWN0ZWQgYnkgYW5vdGhlciBkZWJ1Z2dlciI6dm9pZCAwLG9uTW91c2VFbnRlcjooKT0+e2lmKHcpcmV0dXJuO2lmKE4uY3VycmVudCYmTi5jdXJyZW50IT09TS5pZClqNShOLmN1cnJlbnQsITEpO04uY3VycmVudD1NLmlkLFYoTS5pZCksajUoTS5pZCwhMCl9LG9uTW91c2VMZWF2ZTooKT0+e2lmKE4uY3VycmVudD09PU0uaWQpajUoTS5pZCwhMSksTi5jdXJyZW50PW51bGw7Vigoaik9Pmo9PT1NLmlkP251bGw6ail9LG9uQ2xpY2s6KCk9PntpZih3KXJldHVybjtaKE0uaWQpLEwoITEpfSxjbGFzc05hbWU6YGZsZXggZmxleC1jb2wgcHgtMiBweS1bM3B4XSByb3VuZGVkIHRleHQtWzEycHhdIGxlYWRpbmctWzEuMzVdICR7dz8ib3BhY2l0eS00MCBjdXJzb3Itbm90LWFsbG93ZWQgaXRhbGljIHRleHQtd2hpdGUvODUiOlM/ImJnLVtyZ2JhKDEwLDEzMiwyNTUsMC4yMildIHRleHQtd2hpdGUvODUgY3Vyc29yLXBvaW50ZXIiOms/ImJnLXdoaXRlL1swLjA2XSB0ZXh0LXdoaXRlLzg1IGN1cnNvci1wb2ludGVyIjoidGV4dC13aGl0ZS84NSBjdXJzb3ItcG9pbnRlciJ9YCxjaGlsZHJlbjpbWCgic3BhbiIse2NsYXNzTmFtZToiYmxvY2sgb3ZlcmZsb3ctaGlkZGVuIHRleHQtZWxsaXBzaXMgd2hpdGVzcGFjZS1ub3dyYXAiLGNoaWxkcmVuOlR9KSxNLnVybCYmTS51cmwhPT0iYWJvdXQ6YmxhbmsiJiZYKCJzcGFuIix7Y2xhc3NOYW1lOiJibG9jayBmb250LW1vbm8gdGV4dC1bMTBweF0gdGV4dC13aGl0ZS9bMC40Ml0gb3ZlcmZsb3ctaGlkZGVuIHRleHQtZWxsaXBzaXMgd2hpdGVzcGFjZS1ub3dyYXAiLGNoaWxkcmVuOk0udXJsfSldfSxNLmlkKX0pfSldfSxVLmtleSl9KX0pXX0pfWZ1bmN0aW9uIGskKHtvcGVuOiQsb25DbG9zZTpKLHVkaWQ6USx0YXJnZXRzOlosc2VsZWN0ZWRUYXJnZXRJZDpLLG9uU2VsZWN0VGFyZ2V0OlksbG9hZGluZzpxLGVycm9yOkcsb25SZWZyZXNoOkIsd2lkdGg6TH0pe2xldCB6PUs/Wi5maW5kKChWKT0+Vi5pZD09PUspPz9udWxsOm51bGw7cmV0dXJuIFgodjIse29wZW46JCx3aWR0aDpMLGNoaWxkcmVuOltYKGgyLHtjaGlsZHJlbjpbWi5sZW5ndGg+MD9YKEEkLHt1ZGlkOlEsdGFyZ2V0czpaLHNlbGVjdGVkOnosb25TZWxlY3RUYXJnZXQ6WSxvblJlZnJlc2g6Qn0pOlgoInNwYW4iLHtjbGFzc05hbWU6InRleHQtWzEycHhdIHRleHQtd2hpdGUvWzAuNDhdIG92ZXJmbG93LWhpZGRlbiB0ZXh0LWVsbGlwc2lzIHdoaXRlc3BhY2Utbm93cmFwIixjaGlsZHJlbjpxPyJMb29raW5nIGZvciBTYWZhcmkgYW5kIGluc3BlY3RhYmxlIHdlYnZpZXdzLi4uIjoiTm8gaW5zcGVjdGFibGUgU2FmYXJpIG9yIFdLV2ViVmlldyB0YXJnZXRzIn0pLFgoRTMse29uQ2xpY2s6SixhcmlhTGFiZWw6IkNsb3NlIFdlYktpdCBEZXZUb29scyIsdGl0bGU6IkNsb3NlIixpY29uU2l6ZToxNX0pXX0pLFgoImRpdiIse2NsYXNzTmFtZToiZmxleC0xIG1pbi1oLTAgYmctd2hpdGUgcmVsYXRpdmUiLGNoaWxkcmVuOkc/WCgiZGl2Iix7Y2xhc3NOYW1lOiJoLWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcC02IGJnLXBhbmVsLWRlZXAgdGV4dC13aGl0ZS9bMC41OF0gdGV4dC1jZW50ZXIgdGV4dC1bMTNweF0iLGNoaWxkcmVuOkd9KTp6JiYkP1goImlmcmFtZSIse3NyYzp6LmRldnRvb2xzRnJvbnRlbmRVcmwsdGl0bGU6YFdlYktpdCBEZXZUb29scyAtICR7ei50aXRsZXx8ei51cmx8fHouaWR9YCxjbGFzc05hbWU6InctZnVsbCBoLWZ1bGwgYm9yZGVyLW5vbmUgYmxvY2sgYmctd2hpdGUiLG9uTG9hZDooVik9PkMkKFYuY3VycmVudFRhcmdldCl9LHouaWQpOlgoImRpdiIse2NsYXNzTmFtZToiaC1mdWxsIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHAtNiBiZy1wYW5lbC1kZWVwIHRleHQtd2hpdGUvWzAuNThdIHRleHQtY2VudGVyIHRleHQtWzEzcHhdIixjaGlsZHJlbjp6PyJEZXZUb29scyBwYXVzZWQg4oCUIG9wZW4gdGhlIHBhbmVsIHRvIHJlYXR0YWNoLiI6Ik9wZW4gU2FmYXJpIG9yIGFuIGluc3BlY3RhYmxlIFdLV2ViVmlldyBpbiB0aGUgc2ltdWxhdG9yLiJ9KX0pXX0pfWZ1bmN0aW9uIGNLKHtob3N0UGF0aDokLHVkaWQ6SixvblVwbG9hZFN0YXJ0OlEsb25VcGxvYWRQcm9ncmVzczpaLG9uVXBsb2FkRW5kOkssb25Ib3N0UGF0aERyb3A6WX0pe1k/LigkKTtsZXQgcT0kLnNwbGl0KCIvIikucG9wKCk/PyJpbWFnZSIsRz1RKHEsIm1lZGlhIik7cmV0dXJuIFooRyxudWxsKSxSNygkLEopLnRoZW4oKCk9PksoRywhMCkpLmNhdGNoKChCKT0+SyhHLCExLEIgaW5zdGFuY2VvZiBFcnJvcj9CLm1lc3NhZ2U6IkFkZCBmYWlsZWQiKSl9ZnVuY3Rpb24gRiQoe3VkaWQ6JCxlbmFibGVkOkosb25VcGxvYWRTdGFydDpRLG9uVXBsb2FkUHJvZ3Jlc3M6WixvblVwbG9hZEVuZDpLLG9uVW5zdXBwb3J0ZWQ6WSxvbkhvc3RQYXRoRHJvcDpxfSl7bGV0W0csQl09QSghMSksTD1GKDApLHo9SShhc3luYyhPKT0+e2lmKE8ucHJldmVudERlZmF1bHQoKSxPLnN0b3BQcm9wYWdhdGlvbigpLEwuY3VycmVudD0wLEIoITEpLCFKfHwhJClyZXR1cm47bGV0IFU9Ty5kYXRhVHJhbnNmZXIuZ2V0RGF0YSh4Myk7aWYoVSl7Y0soe2hvc3RQYXRoOlUsdWRpZDokLG9uVXBsb2FkU3RhcnQ6USxvblVwbG9hZFByb2dyZXNzOlosb25VcGxvYWRFbmQ6Syxvbkhvc3RQYXRoRHJvcDpxfSk7cmV0dXJufWxldCBDPUFycmF5LmZyb20oTy5kYXRhVHJhbnNmZXIuZmlsZXMpO2lmKEMubGVuZ3RoPT09MClyZXR1cm47Zm9yKGxldCBNIG9mIEMpe2xldCBrPXY3KE0pO2lmKCFrKXtZKE0pO2NvbnRpbnVlfWxldCB3PVEoTS5uYW1lLGspO2Y3KE0saywkLChUKT0+Wih3LFQpKS50aGVuKCgpPT5LKHcsITApKS5jYXRjaCgoVCk9PksodywhMSxUIGluc3RhbmNlb2YgRXJyb3I/VC5tZXNzYWdlOiJVcGxvYWQgZmFpbGVkIikpfX0sW0osJCxRLFosSyxZLHFdKSxWPUkoKE8pPT57aWYoTy5wcmV2ZW50RGVmYXVsdCgpLEopTy5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdD0iY29weSJ9LFtKXSksTj1JKChPKT0+e2lmKE8ucHJldmVudERlZmF1bHQoKSwhSilyZXR1cm47aWYoTC5jdXJyZW50KyssTC5jdXJyZW50PT09MSlCKCEwKX0sW0pdKSxIPUkoKE8pPT57aWYoTy5wcmV2ZW50RGVmYXVsdCgpLEwuY3VycmVudC0tLEwuY3VycmVudDw9MClMLmN1cnJlbnQ9MCxCKCExKX0sW10pO3JldHVybntpc0RyYWdPdmVyOkcsZHJvcFpvbmVQcm9wczp7b25EcmFnT3ZlcjpWLG9uRHJhZ0VudGVyOk4sb25EcmFnTGVhdmU6SCxvbkRyb3A6en19fWZ1bmN0aW9uIFckKCQpe2xldCBKPW5ldyBVaW50OEFycmF5KDY1NTM2KSxRPTAsWj0wLEs9MTAyNCxZPW5ldyBUZXh0RGVjb2RlcigibGF0aW4xIikscT0oTik9PntpZihRK04ubGVuZ3RoPkoubGVuZ3RoKXtpZihaPjApSi5jb3B5V2l0aGluKDAsWixRKSxRLT1aLFo9MDtpZihRK04ubGVuZ3RoPkoubGVuZ3RoKXtsZXQgSD1KLmxlbmd0aDt3aGlsZShIPFErTi5sZW5ndGgpSCo9MjtsZXQgTz1uZXcgVWludDhBcnJheShIKTtPLnNldChKLnN1YmFycmF5KDAsUSkpLEo9T319Si5zZXQoTixRKSxRKz1OLmxlbmd0aH0sRz0oTik9PntsZXQgSD1NYXRoLm1pbihRLTQsTitLKTtmb3IobGV0IE89TjtPPD1IO08rKylpZihKW09dPT09MTMmJkpbTysxXT09PTEwJiZKW08rMl09PT0xMyYmSltPKzNdPT09MTApcmV0dXJuIE87cmV0dXJuLTF9LEI9KE4sSCk9PntsZXQgTz1ZLmRlY29kZShKLnN1YmFycmF5KE4sSCkpLFU9L2NvbnRlbnQtbGVuZ3RoOlxzKihcZCspL2kuZXhlYyhPKTtyZXR1cm4gVT9OdW1iZXIoVVsxXSk6bnVsbH0sTD0wLHo9KE4pPT57bGV0IEg9LTE7Zm9yKGxldCBPPU47TzxRLTE7TysrKWlmKEpbT109PT0yNTUmJkpbTysxXT09PTIxNil7SD1PO2JyZWFrfWlmKEg9PT0tMSlyZXR1cm4gbnVsbDtmb3IobGV0IE89TWF0aC5tYXgoSCsyLEwpO088US0xO08rKylpZihKW09dPT09MjU1JiZKW08rMV09PT0yMTcpcmV0dXJuIEw9MCx7czpILGU6TysyfTtyZXR1cm4gTD1NYXRoLm1heChIKzIsUS0xKSxudWxsfSxWPSgpPT57d2hpbGUoWjxRKXtsZXQgTj1HKFopO2lmKE4+PTApe2xldCBPPUIoWixOKTtpZihPIT1udWxsJiZPPjApe2xldCBVPU4rNCxDPVUrTztpZihRPEMpYnJlYWs7JChKLnN1YmFycmF5KFUsQykpLFo9Qztjb250aW51ZX19ZWxzZSBpZihRLVo8PUspYnJlYWs7bGV0IEg9eihaKTtpZighSClicmVhazskKEouc3ViYXJyYXkoSC5zLEguZSkpLFo9SC5lfWlmKFo+MCl7aWYoWjxRKUouY29weVdpdGhpbigwLFosUSk7US09WixMPUw+Wj9MLVo6MCxaPTB9fTtyZXR1cm57cHVzaChOKXtpZihOLmxlbmd0aD09PTApcmV0dXJuO3EoTiksVigpfX19ZnVuY3Rpb24gRCQoJCl7bGV0IEo9RihuZXcgU2V0KSxRPUkoKFopPT57cmV0dXJuIEouY3VycmVudC5hZGQoWiksKCk9PntKLmN1cnJlbnQuZGVsZXRlKFopfX0sW10pO3JldHVybiBFKCgpPT57aWYoISQpcmV0dXJuO2xldCBaPW5ldyBBYm9ydENvbnRyb2xsZXIsSz0hMSxZPW51bGwscT1uZXcgVVJMKCQpO3Euc2VhcmNoUGFyYW1zLnNldCgicmF3IiwiMSIpO2xldCBHPXEudG9TdHJpbmcoKSxCPSgpPT57aWYoS3x8Wi5zaWduYWwuYWJvcnRlZHx8WSlyZXR1cm47WT1zZXRUaW1lb3V0KCgpPT57WT1udWxsLHooKX0sMTAwMCl9LEw9KFYpPT57aWYoSi5jdXJyZW50LnNpemU9PT0wKXJldHVybjtsZXQgTj1VUkwuY3JlYXRlT2JqZWN0VVJMKG5ldyBCbG9iKFtWXSx7dHlwZToiaW1hZ2UvanBlZyJ9KSk7Zm9yKGxldCBIIG9mIEouY3VycmVudClIKE4pfSx6PWFzeW5jKCk9Pnt0cnl7bGV0IE49KGF3YWl0IGZldGNoKEcse3NpZ25hbDpaLnNpZ25hbH0pKS5ib2R5Py5nZXRSZWFkZXIoKTtpZighTil7QigpO3JldHVybn1sZXQgSD1XJChMKTt3aGlsZSghMCl7bGV0e2RvbmU6Tyx2YWx1ZTpVfT1hd2FpdCBOLnJlYWQoKTtpZihPKWJyZWFrO2lmKFUmJlUubGVuZ3RoKUgucHVzaChVKX19Y2F0Y2h7fWZpbmFsbHl7QigpfX07cmV0dXJuIHooKSwoKT0+e2lmKEs9ITAsWSljbGVhclRpbWVvdXQoWSk7Wi5hYm9ydCgpfX0sWyRdKSx7c3Vic2NyaWJlRnJhbWU6USxmcmFtZTpudWxsfX1mdW5jdGlvbiBfJCgpe2xldFskXT1BKHoyKTtyZXR1cm57c3VwcG9ydGVkOiR9fWZ1bmN0aW9uIGYzKCQsSixRPXttZWRpYUFycml2aW5nOiExfSl7aWYoJCE9PSJmaXJzdC1mcmFtZS10aW1lb3V0Inx8SiE9PSJjb25uZWN0ZWQiKXJldHVybiJ0cmFuc3BvcnQiO3JldHVybiBRLm1lZGlhQXJyaXZpbmc/IndhaXQiOiJjb2RlYyJ9dmFyIFAkPSJhbGwiO2NsYXNzIFI1IGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoKXtzdXBlcigiV2ViUlRDIHNpZ25hbGluZyBzdGF5ZWQgYnVzeSBmb3IgdG9vIGxvbmcuIFJlbG9hZCB0byB0cnkgYWdhaW4uIik7dGhpcy5uYW1lPSJXZWJSdGNTaWduYWxpbmdCdXN5RXJyb3IifX1jbGFzcyBwMyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKCl7c3VwZXIoIldlYlJUQyBzaWduYWxpbmcgdGltZWQgb3V0LiIpO3RoaXMubmFtZT0iV2ViUnRjU2lnbmFsaW5nVGltZW91dEVycm9yIn19ZnVuY3Rpb24gbTMoJCl7cmV0dXJuICQucmVhc29uPz9uZXcgRE9NRXhjZXB0aW9uKCJUaGUgb3BlcmF0aW9uIHdhcyBhYm9ydGVkIiwiQWJvcnRFcnJvciIpfWZ1bmN0aW9uIG9LKCQsSil7aWYoSj8uYWJvcnRlZClyZXR1cm4gUHJvbWlzZS5yZWplY3QobTMoSikpO3JldHVybiBuZXcgUHJvbWlzZSgoUSxaKT0+e2xldCBLPXNldFRpbWVvdXQoWSwkKTtmdW5jdGlvbiBZKCl7Sj8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYWJvcnQiLHEpLFEoKX1mdW5jdGlvbiBxKCl7Y2xlYXJUaW1lb3V0KEspLFooSj9tMyhKKTpuZXcgRE9NRXhjZXB0aW9uKCJUaGUgb3BlcmF0aW9uIHdhcyBhYm9ydGVkIiwiQWJvcnRFcnJvciIpKX1KPy5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIscSx7b25jZTohMH0pfSl9YXN5bmMgZnVuY3Rpb24gVCQoe3VybDokLHNlc3Npb25JZDpKLGtlZXBhbGl2ZTpRPSExLHNlbmRCZWFjb246WixmZXRjaEltcGw6Sz1mZXRjaH0pe2xldCBZPUpTT04uc3RyaW5naWZ5KHtzZXNzaW9uSWQ6Sn0pLHE9Wj8/KHR5cGVvZiBuYXZpZ2F0b3I8InUiJiZ0eXBlb2YgbmF2aWdhdG9yLnNlbmRCZWFjb249PT0iZnVuY3Rpb24iP25hdmlnYXRvci5zZW5kQmVhY29uLmJpbmQobmF2aWdhdG9yKTp2b2lkIDApO2lmKFEmJnEpdHJ5e2lmKHEoJCxuZXcgQmxvYihbWV0se3R5cGU6InRleHQvcGxhaW47Y2hhcnNldD1VVEYtOCJ9KSkpcmV0dXJufWNhdGNoe31hd2FpdCBLKCQse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxib2R5Olksa2VlcGFsaXZlOlF9KS50aGVuKCgpPT57cmV0dXJufSwoKT0+e3JldHVybn0pfWFzeW5jIGZ1bmN0aW9uIEUkKHt1cmw6JCxib2R5Okosc2lnbmFsOlEscmVxdWVzdFRpbWVvdXRNczpaLGJ1c3lSZXRyeUludGVydmFsTXM6SyxidXN5UmV0cnlDb3VudDpZLGZldGNoSW1wbDpxPWZldGNofSl7Zm9yKGxldCBHPTA7Rzw9WTtHKyspe2lmKFE/LmFib3J0ZWQpdGhyb3cgbTMoUSk7bGV0IEI9bmV3IEFib3J0Q29udHJvbGxlcixMPSExLHo9KCk9PkIuYWJvcnQoUT9tMyhRKTp2b2lkIDApO1E/LmFkZEV2ZW50TGlzdGVuZXIoImFib3J0Iix6LHtvbmNlOiEwfSk7bGV0IFY9c2V0VGltZW91dCgoKT0+e0w9ITAsQi5hYm9ydCgpfSxaKSxOO3RyeXtOPWF3YWl0IHEoJCx7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LHNpZ25hbDpCLnNpZ25hbCxib2R5Okp9KX1jYXRjaChIKXtpZihMJiYhUT8uYWJvcnRlZCl0aHJvdyBuZXcgcDM7dGhyb3cgSH1maW5hbGx5e2NsZWFyVGltZW91dChWKSxRPy5yZW1vdmVFdmVudExpc3RlbmVyKCJhYm9ydCIseil9aWYoTi5zdGF0dXMhPT00MDkpcmV0dXJuIE47aWYoYXdhaXQgTi5ib2R5Py5jYW5jZWwoKSxHPT09WSl0aHJvdyBuZXcgUjU7YXdhaXQgb0soSyxRKX10aHJvdyBuZXcgUjV9dmFyIGlLPVt7dXJsczpbInN0dW46c3R1bi5sLmdvb2dsZS5jb206MTkzMDIiXX0se3VybHM6WyJzdHVuOnN0dW4xLmwuZ29vZ2xlLmNvbToxOTMwMiJdfV0sbks9MzAwMCxySz0yMDAwMCxhSz00MDAwO2FzeW5jIGZ1bmN0aW9uIHNLKCQpe2lmKCEkKXJldHVybiExO3RyeXtsZXQgSj0hMTtyZXR1cm4oYXdhaXQgJC5nZXRTdGF0cygpKS5mb3JFYWNoKChRKT0+e2lmKFEudHlwZSE9PSJpbmJvdW5kLXJ0cCIpcmV0dXJuO2xldCBaPVE7aWYoWi5raW5kIT09InZpZGVvIilyZXR1cm47aWYoKFouZnJhbWVzUmVjZWl2ZWQ/PzApPjApSj0hMH0pLEp9Y2F0Y2h7cmV0dXJuITF9fXZhciB0Sz01MDAsZUs9MzAsJFk9NTAwLEpZPTUwMDA7ZnVuY3Rpb24gSSQoKXtpZih0eXBlb2YgY3J5cHRvLnJhbmRvbVVVSUQ9PT0iZnVuY3Rpb24iKXJldHVybiBjcnlwdG8ucmFuZG9tVVVJRCgpO2xldCAkPWNyeXB0by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkoMTYpKTskWzZdPSRbNl0mMTV8NjQsJFs4XT0kWzhdJjYzfDEyODtsZXQgSj1BcnJheS5mcm9tKCQsKFEpPT5RLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCIwIikpLmpvaW4oIiIpO3JldHVybmAke0ouc2xpY2UoMCw4KX0tJHtKLnNsaWNlKDgsMTIpfS0ke0ouc2xpY2UoMTIsMTYpfS0ke0ouc2xpY2UoMTYsMjApfS0ke0ouc2xpY2UoMjApfWB9ZnVuY3Rpb24gdyQoe29mZmVyVXJsOiQsY2xvc2VVcmw6SixlbmFibGVkOlEsY29kZWM6Wj0iaDI2NCIsaWNlU2VydmVyczpLfSl7bGV0W1kscV09QShudWxsKSxbRyxCXT1BKG51bGwpLFtMLHpdPUEobnVsbCksW1YsTl09QSgwKSxbSCxPXT1BKG51bGwpLFtVLENdPUEobnVsbCksTT1GKHZvaWQgMCksaz1GKCExKSx3PUYoMCksVD1JKCgpPT57aWYoay5jdXJyZW50PSEwLHcuY3VycmVudD0wLE0uY3VycmVudCE9PXZvaWQgMCl3aW5kb3cuY2xlYXJUaW1lb3V0KE0uY3VycmVudCksTS5jdXJyZW50PXZvaWQgMDtCKG51bGwpLHoobnVsbCl9LFtdKTtyZXR1cm4gRSgoKT0+e3cuY3VycmVudD0wfSxbUSwkLEosWixLXSksRSgoKT0+e2lmKCFRfHwhJClyZXR1cm47aWYoQihudWxsKSx0eXBlb2YgUlRDUGVlckNvbm5lY3Rpb24+InUifHx0eXBlb2YgUlRDUnRwUmVjZWl2ZXI+InUiKXtxKG51bGwpLEMobnVsbCkseigiV2ViUlRDIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBicm93c2VyLiIpLEIoe3Nlc3Npb25JZDpJJCgpLGtpbmQ6InBlcm1hbmVudCJ9KTtyZXR1cm59bGV0IFM9ITEsUD1udWxsLHYsaj1udWxsLHU9ITEsdD1uZXcgQWJvcnRDb250cm9sbGVyLGE9SSQoKSxzPUs/Lmxlbmd0aD9LOmlLO2lmKEMoYSkscShudWxsKSxCKG51bGwpLHoobnVsbCksay5jdXJyZW50PSExLE0uY3VycmVudCE9PXZvaWQgMCl3aW5kb3cuY2xlYXJUaW1lb3V0KE0uY3VycmVudCksTS5jdXJyZW50PXZvaWQgMDtsZXQgWjE9KGQ9ITEpPT57aWYoailyZXR1cm4gajtyZXR1cm4gaj1UJCh7dXJsOkosc2Vzc2lvbklkOmEsa2VlcGFsaXZlOmR9KSxqfSxtPSgpPT52b2lkIFoxKCEwKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZWhpZGUiLG0pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmV1bmxvYWQiLG0pO2xldCBKMT0oKT0+e3EobnVsbCksUD8uY2xvc2UoKSxPKG51bGwpfSxSPShkKT0+e2lmKFN8fHUpcmV0dXJuO3U9ITAseihkKSxCKHtzZXNzaW9uSWQ6YSxraW5kOiJwZXJtYW5lbnQifSksSjEoKSxaMSgpfSxVMT0oKT0+e2lmKFN8fHUpcmV0dXJuO3U9ITAsSjEoKSxaMSgpLmZpbmFsbHkoKCk9PntpZighUylCKHtzZXNzaW9uSWQ6YSxraW5kOiJjb2RlYyIsY29kZWM6Wn0pfSl9LEMxPShkKT0+e2lmKFN8fHUpcmV0dXJuO3U9ITAsQihudWxsKTtsZXQgZT13LmN1cnJlbnQrKyxYMT1NYXRoLm1pbigkWSoyKipNYXRoLm1pbihlLDQpLEpZKTt6KGAke2R9IFJldHJ5aW5nLi4uYCksSjEoKSxaMSgpLmZpbmFsbHkoKCk9PntpZihTKXJldHVybjt2PXdpbmRvdy5zZXRUaW1lb3V0KCgpPT57aWYoIVMpTigoaCk9PmgrMSl9LFgxKX0pfSxPMT0oZCk9Pm5ldyBQcm9taXNlKChlKT0+e2lmKGQuaWNlR2F0aGVyaW5nU3RhdGU9PT0iY29tcGxldGUiKXtlKCk7cmV0dXJufWxldCBYMSxoPSExLGk9KCk9PntpZihoKXJldHVybjtpZihoPSEwLGQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiaWNlZ2F0aGVyaW5nc3RhdGVjaGFuZ2UiLHApLFgxIT09dm9pZCAwKXdpbmRvdy5jbGVhclRpbWVvdXQoWDEpO2UoKX0scD0oKT0+e2lmKGQuaWNlR2F0aGVyaW5nU3RhdGU9PT0iY29tcGxldGUiKWkoKX07ZC5hZGRFdmVudExpc3RlbmVyKCJpY2VnYXRoZXJpbmdzdGF0ZWNoYW5nZSIscCksWDE9d2luZG93LnNldFRpbWVvdXQoaSxuSyl9KTtyZXR1cm4oYXN5bmMoKT0+e3RyeXtQPW5ldyBSVENQZWVyQ29ubmVjdGlvbih7aWNlU2VydmVyczpzLGljZVRyYW5zcG9ydFBvbGljeTpQJH0pLE8oUCk7bGV0IGQ9UC5hZGRUcmFuc2NlaXZlcigidmlkZW8iLHtkaXJlY3Rpb246InJlY3Zvbmx5In0pLGU9UlRDUnRwUmVjZWl2ZXIuZ2V0Q2FwYWJpbGl0aWVzKCJ2aWRlbyIpLFgxPVo9PT0iaDI2NCI/InZpZGVvL0gyNjQiOlo9PT0idnA5Ij8idmlkZW8vVlA5IjoidmlkZW8vVlA4IjtpZihlPy5jb2RlY3MubGVuZ3RoJiYic2V0Q29kZWNQcmVmZXJlbmNlcyJpbiBkKXtsZXQgbz1YMS50b0xvd2VyQ2FzZSgpO2Quc2V0Q29kZWNQcmVmZXJlbmNlcyhbLi4uZS5jb2RlY3MuZmlsdGVyKChjKT0+Yy5taW1lVHlwZS50b0xvd2VyQ2FzZSgpPT09byksLi4uZS5jb2RlY3MuZmlsdGVyKChjKT0+Yy5taW1lVHlwZS50b0xvd2VyQ2FzZSgpIT09byldKX1QLm9udHJhY2s9KG8pPT57aWYoUylyZXR1cm47aWYoay5jdXJyZW50PSExLG8udHJhY2sub25lbmRlZD0oKT0+QzEoIldlYlJUQyB2aWRlbyB0cmFjayBlbmRlZC4iKSxxKG8uc3RyZWFtc1swXT8/bmV3IE1lZGlhU3RyZWFtKFtvLnRyYWNrXSkpLE0uY3VycmVudCE9PXZvaWQgMCl3aW5kb3cuY2xlYXJUaW1lb3V0KE0uY3VycmVudCk7bGV0IGM9ITEsRjE9KCk9PntNLmN1cnJlbnQ9d2luZG93LnNldFRpbWVvdXQoKCk9PntpZihNLmN1cnJlbnQ9dm9pZCAwLFN8fGsuY3VycmVudClyZXR1cm47bGV0IEQxPVA/LmNvbm5lY3Rpb25TdGF0ZT8/ImNsb3NlZCI7c0soUCkudGhlbigoaDEpPT57aWYoU3x8ay5jdXJyZW50KXJldHVybjtsZXQgazE9ZjMoImZpcnN0LWZyYW1lLXRpbWVvdXQiLEQxLHttZWRpYUFycml2aW5nOmgxfSk7aWYoazE9PT0id2FpdCImJiFjKWM9ITAsRjEoKTtlbHNlIGlmKGsxPT09InRyYW5zcG9ydCIpQzEoIldlYlJUQyBkaWQgbm90IGVzdGFibGlzaCBhIHZpZGVvIHBhdGguIik7ZWxzZSBVMSgpfSl9LGFLKX07RjEoKX0sUC5vbmNvbm5lY3Rpb25zdGF0ZWNoYW5nZT0oKT0+e2lmKFN8fCFQfHxQLmNvbm5lY3Rpb25TdGF0ZSE9PSJmYWlsZWQiKXJldHVybjtpZihmMygiY29ubmVjdGlvbi1mYWlsZWQiLFAuY29ubmVjdGlvblN0YXRlKT09PSJ0cmFuc3BvcnQiKUMxKCJXZWJSVEMgY29ubmVjdGlvbiBmYWlsZWQuIil9O2xldCBoPWF3YWl0IFAuY3JlYXRlT2ZmZXIoKTthd2FpdCBQLnNldExvY2FsRGVzY3JpcHRpb24oaCksYXdhaXQgTzEoUCk7bGV0IGk9UC5sb2NhbERlc2NyaXB0aW9uO2lmKCFpKXRocm93IEVycm9yKCJXZWJSVEMgb2ZmZXIgd2FzIG5vdCBjcmVhdGVkIik7bGV0IHA9YXdhaXQgRSQoe3VybDokLHNpZ25hbDp0LnNpZ25hbCxyZXF1ZXN0VGltZW91dE1zOnJLLGJ1c3lSZXRyeUludGVydmFsTXM6dEssYnVzeVJldHJ5Q291bnQ6ZUssYm9keTpKU09OLnN0cmluZ2lmeSh7dHlwZTppLnR5cGUsc2RwOmkuc2RwLHNlc3Npb25JZDphLGNvZGVjOlosaWNlU2VydmVyczpzfSl9KTtpZighcC5vayl7YXdhaXQgcC5ib2R5Py5jYW5jZWwoKSxSKGBXZWJSVEMgb2ZmZXIgZmFpbGVkOiBIVFRQICR7cC5zdGF0dXN9YCk7cmV0dXJufWxldCBiPWF3YWl0IHAuanNvbigpO2lmKFMpe2F3YWl0IFoxKCEwKTtyZXR1cm59dHJ5e2F3YWl0IFAuc2V0UmVtb3RlRGVzY3JpcHRpb24oYil9Y2F0Y2h7UigiV2ViUlRDIHJldHVybmVkIGFuIGludmFsaWQgc2Vzc2lvbiBkZXNjcmlwdGlvbi4iKX19Y2F0Y2goZCl7aWYoU3x8dC5zaWduYWwuYWJvcnRlZClyZXR1cm47aWYoZCBpbnN0YW5jZW9mIFI1KXtSKGQubWVzc2FnZSk7cmV0dXJufWxldCBlPWQgaW5zdGFuY2VvZiBwMz8iV2ViUlRDIHNpZ25hbGluZyB0aW1lZCBvdXQuIjoiV2ViUlRDIHNpZ25hbGluZyBmYWlsZWQuIjtpZihmMygic2lnbmFsaW5nLWZhaWxlZCIsUD8uY29ubmVjdGlvblN0YXRlPz8iY2xvc2VkIik9PT0idHJhbnNwb3J0IilDMShlKX19KSgpLCgpPT57aWYoUz0hMCx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicGFnZWhpZGUiLG0pLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJiZWZvcmV1bmxvYWQiLG0pLHQuYWJvcnQoKSx2IT09dm9pZCAwKXdpbmRvdy5jbGVhclRpbWVvdXQodik7aWYoTS5jdXJyZW50IT09dm9pZCAwKXdpbmRvdy5jbGVhclRpbWVvdXQoTS5jdXJyZW50KSxNLmN1cnJlbnQ9dm9pZCAwO1oxKCEwKSxxKG51bGwpLE8obnVsbCksQyhudWxsKSxQPy5jbG9zZSgpfX0sW1EsJCxKLFosSyxWXSkse3N0cmVhbTpZLGZhaWx1cmU6RyxlcnJvcjpMLG1hcmtGcmFtZURlY29kZWQ6VCxwZWVyQ29ubmVjdGlvbjpILHNlc3Npb25JZDpVfX1mdW5jdGlvbiB1MygkLEosUSxaLEs9ImxlZnQiKXtsZXQgWT1JKChOLEgpPT5LPT09ImxlZnQiP04tSDpILU4sW0tdKSxxPUkoKE4pPT5NYXRoLm1heChRLE1hdGgubWluKFosTikpLFtRLFpdKSxbRyxCXT1BKCgpPT57aWYodHlwZW9mIHdpbmRvdz4idSIpcmV0dXJuIEo7bGV0IE49d2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKCQpLEg9TiE9bnVsbD9OdW1iZXIoTik6TmFOO3JldHVybiBOdW1iZXIuaXNGaW5pdGUoSCk/cShIKTpKfSksTD10eXBlb2Ygd2luZG93PCJ1Ij9NYXRoLm1pbihaLHdpbmRvdy5pbm5lcldpZHRoLTMyKTpaLHo9TWF0aC5tYXgoUSxNYXRoLm1pbihMLEcpKSxWPUkoKE4pPT57Ti5wcmV2ZW50RGVmYXVsdCgpO2xldCBIPU4uY2xpZW50WCxPPXosVT1OLmN1cnJlbnRUYXJnZXQ7VS5zZXRQb2ludGVyQ2FwdHVyZShOLnBvaW50ZXJJZCk7bGV0IEM9KGspPT57bGV0IHc9cShPK1koSCxrLmNsaWVudFgpKTtCKHcpfSxNPShrKT0+e1UucmVsZWFzZVBvaW50ZXJDYXB0dXJlKGsucG9pbnRlcklkKSxVLnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJtb3ZlIixDKSxVLnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJ1cCIsTSksVS5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVyY2FuY2VsIixNKTt0cnl7d2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKCQsU3RyaW5nKHEoTytZKEgsay5jbGllbnRYKSkpKX1jYXRjaHt9fTtVLmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJtb3ZlIixDKSxVLmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJ1cCIsTSksVS5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyY2FuY2VsIixNKX0sW3EsWSx6LCRdKTtyZXR1cm57d2lkdGg6eixvblBvaW50ZXJEb3duOlZ9fXZhciBRWT04MDAwO2Z1bmN0aW9uIFpZKCQpe3JldHVybiJmaWxlOi8vIiskLnNwbGl0KCIvIikubWFwKGVuY29kZVVSSUNvbXBvbmVudCkuam9pbigiLyIpfWZ1bmN0aW9uIFhZKCQpe3JldHVybiAkIT09Im5vbmUifWZ1bmN0aW9uIHkkKHt0b2FzdDokLG9uUmV2ZWFsOkosb25EaXNtaXNzOlEsb25QYXVzZTpaLG9uUmVzdW1lOkt9KXtsZXQgWT1Cb29sZWFuKCQuZG93bmxvYWRVcmwmJiQuZG93bmxvYWROYW1lKSxxPUJvb2xlYW4oJC5wYXRoKSxbRyxCXT1BKCExKSxMPUYobnVsbCksej1GKG51bGwpLFY9KCk9PntpZih6LmN1cnJlbnQpY2xlYXJUaW1lb3V0KHouY3VycmVudCk7ei5jdXJyZW50PW51bGx9O0UoKCk9PigpPT5WKCksW10pO2xldCBOPShPKT0+e2lmKCEkLnBhdGgpe08ucHJldmVudERlZmF1bHQoKTtyZXR1cm59VigpLFooKSx6LmN1cnJlbnQ9c2V0VGltZW91dCgoKT0+e3ouY3VycmVudD1udWxsLEIoITEpLEsoKX0sUVkpLE8uZGF0YVRyYW5zZmVyLnNldERhdGEoInRleHQvcGxhaW4iLFpZKCQucGF0aCkpLE8uZGF0YVRyYW5zZmVyLnNldERhdGEoeDMsJC5wYXRoKSxPLmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxvd2VkPSJjb3B5IjtsZXQgVT1MLmN1cnJlbnQ7aWYoVSlPLmRhdGFUcmFuc2Zlci5zZXREcmFnSW1hZ2UoVSxVLm9mZnNldFdpZHRoLzIsVS5vZmZzZXRIZWlnaHQvMik7cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT5CKCEwKSl9LEg9KE8pPT57aWYoVigpLEIoITEpLFhZKE8uZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QpKVEoKTtlbHNlIEsoKX07cmV0dXJuIFgoImRpdiIseyJkYXRhLXRlc3RpZCI6InNjcmVlbnNob3QtdG9hc3QiLGNsYXNzTmFtZToidy1bbWluKDMyMHB4LGNhbGMoMTAwdnctMzJweCkpXSIsb25Nb3VzZUVudGVyOlosb25Nb3VzZUxlYXZlOkssY2hpbGRyZW46WyQudGh1bWImJlgoImltZyIse3JlZjpMLCJkYXRhLXRlc3RpZCI6ImRyYWctaW1hZ2UiLHNyYzokLnRodW1iLGFsdDoiIiwiYXJpYS1oaWRkZW4iOiEwLGRyYWdnYWJsZTohMSxzdHlsZTp7cG9zaXRpb246ImFic29sdXRlIix0b3A6LTk5OTksbGVmdDowLHdpZHRoOjgwLGhlaWdodDo4MCxib3JkZXJSYWRpdXM6MTIsb2JqZWN0Rml0OiJjb3ZlciIscG9pbnRlckV2ZW50czoibm9uZSJ9fSksJC5zdGF0dXM9PT0iZXJyb3IiP1goImRpdiIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgcHgtMy41IHB5LTIuNSBiZy1wYW5lbCBib3JkZXIgYm9yZGVyLXdoaXRlLzEyIHJvdW5kZWQteGwgdGV4dC13aGl0ZS85MCB0ZXh0LVsxMnB4XSBzaGFkb3ctWzBfOHB4XzI0cHhfcmdiYSgwLDAsMCwwLjQ1KV0iLGNoaWxkcmVuOltYKCJzcGFuIix7Y2xhc3NOYW1lOiJzaXplLTEuNSByb3VuZGVkLWZ1bGwgc2hyaW5rLTAgYmctWyNmODcxNzFdIn0pLFgoInNwYW4iLHtjbGFzc05hbWU6InNlbGVjdC10ZXh0IixjaGlsZHJlbjokLm1lc3NhZ2U/PyJTY3JlZW5zaG90IGZhaWxlZCJ9KV19KTpYKCJidXR0b24iLHt0eXBlOiJidXR0b24iLG9uQ2xpY2s6SixkaXNhYmxlZDokLnN0YXR1cyE9PSJzYXZlZCIsZHJhZ2dhYmxlOiQuc3RhdHVzPT09InNhdmVkIiYmcSxvbkRyYWdTdGFydDpOLG9uRHJhZ0VuZDpILCJhcmlhLWxhYmVsIjpZPyJEb3dubG9hZCBzY3JlZW5zaG90IGFnYWluIjoiT3BlbiBzY3JlZW5zaG90IGluIEZpbmRlciIsdGl0bGU6WT8iRG93bmxvYWQgc2NyZWVuc2hvdCBhZ2FpbiI6IkNsaWNrIHRvIHJldmVhbCBpbiBGaW5kZXIgwrcgZHJhZyB0byBjb3B5IHRoZSBmaWxlIixjbGFzc05hbWU6YGdyb3VwIGZsZXggdy1mdWxsIGl0ZW1zLWNlbnRlciBnYXAtMyBwbC0yIHByLTMuNSBweS0yIGJnLXBhbmVsIGJvcmRlciBib3JkZXItd2hpdGUvMTIgcm91bmRlZC14bCBzaGFkb3ctWzBfOHB4XzI0cHhfcmdiYSgwLDAsMCwwLjQ1KV0gdGV4dC1sZWZ0IGN1cnNvci1wb2ludGVyIGVuYWJsZWQ6aG92ZXI6YmctWyMyYTJhMmNdIGRpc2FibGVkOmN1cnNvci1kZWZhdWx0IFt0cmFuc2l0aW9uOmJhY2tncm91bmRfMC4xNXNfZWFzZV0gJHtHPyJpbnZpc2libGUiOiIifWAsY2hpbGRyZW46W1goImRpdiIse2NsYXNzTmFtZToic2l6ZS05IHJvdW5kZWQtbWQgb3ZlcmZsb3ctaGlkZGVuIGJnLXdoaXRlLzEwIHNocmluay0wIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJpbmctMSByaW5nLXdoaXRlLzEwIHBvaW50ZXItZXZlbnRzLW5vbmUiLGNoaWxkcmVuOiQudGh1bWI/WCgiaW1nIix7c3JjOiQudGh1bWIsYWx0OiIiLGNsYXNzTmFtZToic2l6ZS1mdWxsIG9iamVjdC1jb3ZlciIsZHJhZ2dhYmxlOiExfSk6WCgic3BhbiIse2NsYXNzTmFtZToiYmxvY2sgc2l6ZS00IHJvdW5kZWQtZnVsbCBib3JkZXItMiBib3JkZXItd2hpdGUvMzAgYm9yZGVyLXQtd2hpdGUgYW5pbWF0ZS1bZ3JpZC1zcGluXzAuOHNfbGluZWFyX2luZmluaXRlXSJ9KX0pLFgoImRpdiIse2NsYXNzTmFtZToiZmxleCBmbGV4LWNvbCBtaW4tdy0wIGxlYWRpbmctdGlnaHQgcG9pbnRlci1ldmVudHMtbm9uZSIsY2hpbGRyZW46W1goInNwYW4iLHtjbGFzc05hbWU6InRleHQtWzEzcHhdIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZSIsY2hpbGRyZW46JC5zdGF0dXM9PT0ic2F2aW5nIj8iU2F2aW5nIFNjcmVlbnNob3TigKYiOiJTY3JlZW5zaG90IFNhdmVkIn0pLCQuc3RhdHVzPT09InNhdmVkIiYmWCgic3BhbiIse2NsYXNzTmFtZToidGV4dC1bMTFweF0gdGV4dC13aGl0ZS82MCIsY2hpbGRyZW46WT8iRG93bmxvYWQgYWdhaW4iOiJPcGVuIGluIEZpbmRlciJ9KSwkLnN0YXR1cz09PSJzYXZlZCImJiQuc3RhZ2VkT25seSYmJC5tZXNzYWdlJiZYKCJzcGFuIix7Y2xhc3NOYW1lOiJtdC0xIHRleHQtWzExcHhdIHRleHQtd2hpdGUvNjAgYnJlYWstd29yZHMiLGNoaWxkcmVuOiQubWVzc2FnZX0pXX0pLCQuc3RhdHVzPT09InNhdmVkIiYmWChCNSx7Y2xhc3NOYW1lOiJtbC1hdXRvIHRleHQtd2hpdGUvODAgcG9pbnRlci1ldmVudHMtbm9uZSIsc2l6ZToxNixzdHJva2VXaWR0aDoyLjI1fSldfSldfSl9dmFyIFMkPTM1MDAsS1k9MTIwMDAsYiQ9NDAwMCxZWT0xZTQ7ZnVuY3Rpb24geCQoJCl7cmV0dXJuICQuc3RhZ2VkT25seT9LWTpTJH1mdW5jdGlvbiBxWSgkKXtpZigkLnN0YWdlZE9ubHkmJiQucGF0aClyZXR1cm57cGF0aDokLnBhdGh9O2lmKCQuZmlsZU5hbWUpcmV0dXJue3NjcmVlbnNob3Q6JC5maWxlTmFtZX07cmV0dXJuIG51bGx9ZnVuY3Rpb24gR1koKXtyZXR1cm4gbmV3IERhdGUoKS50b0lTT1N0cmluZygpLnJlcGxhY2UoL1s6Ll0vZywiLSIpLnNsaWNlKDAsMjMpfWZ1bmN0aW9uIGokKCQpe2xldCBKPUYobnVsbCksUT1GKG51bGwpLFo9RihudWxsKSxLPUYobnVsbCksWT1GKG51bGwpLHE9RighMSksRz1JKCgpPT57aWYoWi5jdXJyZW50KWNsZWFyVGltZW91dChaLmN1cnJlbnQpO1ouY3VycmVudD1udWxsLEsuY3VycmVudD1udWxsfSxbXSksQj1JKChVKT0+e2xldCBDPVU/P1EuY3VycmVudD8/dm9pZCAwO2lmKEcoKSxZLmN1cnJlbnQ9bnVsbCxJNS5kaXNtaXNzKEMpLEM9PT12b2lkIDB8fFEuY3VycmVudD09PVN0cmluZyhDKSl7bGV0IE09Si5jdXJyZW50Py5kb3dubG9hZFVybDtpZihNKVVSTC5yZXZva2VPYmplY3RVUkwoTSk7Si5jdXJyZW50PW51bGwsUS5jdXJyZW50PW51bGx9fSxbR10pLEw9SSgoKT0+e2xldCBVPUouY3VycmVudDtpZighVSlyZXR1cm47bGV0IEM9cVkoVSk7aWYoQylBMSgicmV2ZWFsIixDKTtlbHNlIGlmKFUuZG93bmxvYWRVcmwmJlUuZG93bmxvYWROYW1lKXg1KFUuZG93bmxvYWRVcmwsVS5kb3dubG9hZE5hbWUpfSxbXSksej1JKChVKT0+e0coKTtsZXQgQz1NYXRoLm1heCgwLFUpLE09US5jdXJyZW50O1kuY3VycmVudD1DLEsuY3VycmVudD1EYXRlLm5vdygpK0MsWi5jdXJyZW50PXNldFRpbWVvdXQoKCk9PkIoTT8/dm9pZCAwKSxDKX0sW0csQl0pLFY9SSgoKT0+e2lmKCFaLmN1cnJlbnR8fEsuY3VycmVudD09bnVsbClyZXR1cm47WS5jdXJyZW50PU1hdGgubWF4KDAsSy5jdXJyZW50LURhdGUubm93KCkpLEcoKX0sW0ddKSxOPUkoKCk9PntsZXQgVT1ZLmN1cnJlbnQ7aWYoVT09bnVsbClyZXR1cm47eihVKX0sW3pdKSxIPUkoKFUsQz0xLzApPT57aWYoSi5jdXJyZW50PVUsUS5jdXJyZW50PVUuaWQsSTUuY3VzdG9tKChNKT0+WCh5JCx7dG9hc3Q6VSxvblJldmVhbDpMLG9uRGlzbWlzczooKT0+QihNKSxvblBhdXNlOlYsb25SZXN1bWU6Tn0pLHtpZDpVLmlkLGR1cmF0aW9uOjEvMH0pLE51bWJlci5pc0Zpbml0ZShDKSl6KEMpO2Vsc2UgRygpLFkuY3VycmVudD1udWxsfSxbRyxCLFYsTixMLHpdKTtyZXR1cm57Y2FwdHVyZTpJKGFzeW5jKCk9PntpZighJHx8cS5jdXJyZW50KXJldHVybjtxLmN1cnJlbnQ9ITA7bGV0IFU9Y3J5cHRvLnJhbmRvbVVVSUQoKTtIKHtpZDpVLHN0YXR1czoic2F2aW5nIixwaGFzZToiaW4ifSk7bGV0IEM9YHNlcnZlLXNpbS1zY3JlZW5zaG90LSR7R1koKX0ucG5nYCxNPW5ldyBBYm9ydENvbnRyb2xsZXIsaz1zZXRUaW1lb3V0KCgpPT57TS5hYm9ydChFcnJvcigiU2NyZWVuc2hvdCB0aW1lZCBvdXQiKSl9LFlZKTt0cnl7aWYoIXYzKHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSkpe2xldCB2PWF3YWl0IFEkKCQse3NpZ25hbDpNLnNpZ25hbH0pLGo9VVJMLmNyZWF0ZU9iamVjdFVSTCh2KTt4NShqLEMpLEgoe2lkOlUsc3RhdHVzOiJzYXZlZCIscGhhc2U6ImluIixkb3dubG9hZFVybDpqLGRvd25sb2FkTmFtZTpDLHRodW1iOmp9LFMkKTtyZXR1cm59bGV0IHc9YXdhaXQgQTEoInNjcmVlbnNob3QuY2FwdHVyZSIse3VkaWQ6JCxmaWxlTmFtZTpDfSx7c2lnbmFsOk0uc2lnbmFsfSksVD13LnN0ZG91dC50cmltKCk7aWYody5leGl0Q29kZSE9PTB8fCFUKXtIKHtpZDpVLHN0YXR1czoiZXJyb3IiLHBoYXNlOiJpbiIsbWVzc2FnZTp3LnN0ZGVyci50cmltKCl8fCJTY3JlZW5zaG90IGZhaWxlZCJ9LGIkKTtyZXR1cm59bGV0IFM9dy5zdGRlcnIudHJpbSgpLFA9Uz97aWQ6VSxzdGF0dXM6InNhdmVkIixwaGFzZToiaW4iLHBhdGg6VCxmaWxlTmFtZTpDLHN0YWdlZE9ubHk6ITAsbWVzc2FnZTpTfTp7aWQ6VSxzdGF0dXM6InNhdmVkIixwaGFzZToiaW4iLHBhdGg6VCxmaWxlTmFtZTpDfTtIKFAseCQoUCkpO3RyeXtsZXQgaj0oYXdhaXQgQTEoInNjcmVlbnNob3QudGh1bWJuYWlsIix7ZmlsZU5hbWU6Q30se3NpZ25hbDpNLnNpZ25hbH0pKS5zdGRvdXQucmVwbGFjZSgvXHMrL2csIiIpO2lmKGope2xldCB1PUouY3VycmVudDtpZih1Py5pZD09PVUpSCh7Li4udSx0aHVtYjpgZGF0YTppbWFnZS9wbmc7YmFzZTY0LCR7an1gfSx4JCh1KSl9fWNhdGNoe319Y2F0Y2godyl7SCh7aWQ6VSxzdGF0dXM6ImVycm9yIixwaGFzZToiaW4iLG1lc3NhZ2U6dyBpbnN0YW5jZW9mIEVycm9yP3cubWVzc2FnZToiU2NyZWVuc2hvdCBmYWlsZWQifSxiJCl9ZmluYWxseXtjbGVhclRpbWVvdXQoaykscS5jdXJyZW50PSExfX0sWyQsSF0pLHJldmVhbDpMLGRpc21pc3M6Qn19ZnVuY3Rpb24gdiQoe2RlZmF1bHRXaWR0aDokLHZpZXdwb3J0V2lkdGg6Six2aWV3cG9ydEhlaWdodDpRLGFzcGVjdFJhdGlvOloscmVzZXJ2ZWRGb3JDaHJvbWU6Sz0kMyxvblN0YXJ0Oll9KXtsZXQgcT13MygpLFtHLEJdPUEoITEpLFtMLHpdPUEoITEpLFtWLE5dPUEoITEpLEg9RihudWxsKSxPPUYoW10pLFU9RihudWxsKSxDPUYobnVsbCksTT1GKG51bGwpLGs9RihudWxsKSx3PUkoKCk9PntpZih0eXBlb2Ygd2luZG93PiJ1IilyZXR1cm4gJDtsZXQgYj1OYU47dHJ5e2xldCBvPXdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShEOCk7Yj1vIT1udWxsP051bWJlcihvKTpOYU59Y2F0Y2h7fXJldHVybiBKNCgkLEosUSxaLGIsSyl9LFtaLCQsSyxRLEpdKSxUPUkxKCgpPT53KCksW3ddKSxbUyxQXT1BKFQpLHY9RihUKSxqPUYoJCksdT1fOCgkLEosUSxaLEspLHQ9TWF0aC5taW4oUjYsdSksYT1TPz8kLHM9VTIoYSwkLEosUSxaLEspLFoxPUkoKGIpPT57bGV0IG89RzAoYik7di5jdXJyZW50PW8sUChvKX0sW10pLG09SSgoYik9PntpZih0eXBlb2Ygd2luZG93PiJ1Inx8JDw9MClyZXR1cm47bGV0IG89VTIoYiwkLEosUSxaLEspO3RyeXt3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0oRDgsU3RyaW5nKG8vJCkpfWNhdGNoe319LFtaLCQsSyxRLEpdKSxKMT1JKChiKT0+e2lmKE0uY3VycmVudCE9bnVsbCljbGVhclRpbWVvdXQoTS5jdXJyZW50KTtNLmN1cnJlbnQ9c2V0VGltZW91dCgoKT0+e00uY3VycmVudD1udWxsLG0oYil9LHQ2KX0sW21dKTtFKCgpPT57aWYoR3x8TClyZXR1cm47bGV0IGI9di5jdXJyZW50O2lmKGI9PW51bGwpcmV0dXJuO2xldCBvPVUyKGIsJCxKLFEsWixLKTtpZihvIT09YilaMShvKX0sW1osJCxMLEcsSyxRLEosWjFdKSxFKCgpPT57aWYoai5jdXJyZW50PT09JClyZXR1cm47ai5jdXJyZW50PSQsWjEodygpKX0sWyQsdyxaMV0pLEUoKCk9PntpZighRyYmIUwpcmV0dXJuO2xldCBiPWRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yLG89ZG9jdW1lbnQuYm9keS5zdHlsZS51c2VyU2VsZWN0LGM9ZG9jdW1lbnQuYm9keS5zdHlsZS53ZWJraXRVc2VyU2VsZWN0O3JldHVybiBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvcj0ibndzZS1yZXNpemUiLGRvY3VtZW50LmJvZHkuc3R5bGUudXNlclNlbGVjdD0ibm9uZSIsZG9jdW1lbnQuYm9keS5zdHlsZS53ZWJraXRVc2VyU2VsZWN0PSJub25lIiwoKT0+e2RvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yPWIsZG9jdW1lbnQuYm9keS5zdHlsZS51c2VyU2VsZWN0PW8sZG9jdW1lbnQuYm9keS5zdHlsZS53ZWJraXRVc2VyU2VsZWN0PWN9fSxbRyxMXSksRSgoKT0+e2lmKHR5cGVvZiB3aW5kb3c+InUiKXJldHVybjtsZXQgYj0oKT0+e2xldCBjPXYuY3VycmVudDtpZihjPT1udWxsKXJldHVybjtpZihNLmN1cnJlbnQhPW51bGwpY2xlYXJUaW1lb3V0KE0uY3VycmVudCksTS5jdXJyZW50PW51bGw7bShjKX0sbz0oKT0+e2lmKGRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PSJoaWRkZW4iKWIoKX07cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlaGlkZSIsYiksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsbyksKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicGFnZWhpZGUiLGIpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLG8pfX0sW21dKTtsZXQgUj1JKChiKT0+e2lmKGI+dSlyZXR1cm4gdStQOChiLXUsdSk7aWYoYjx0KXJldHVybiB0LVA4KHQtYix1KTtyZXR1cm4gYn0sW3UsdF0pLFUxPUkoKCk9PntpZihDLmN1cnJlbnQpQy5jdXJyZW50KCksQy5jdXJyZW50PW51bGw7eighMSl9LFtdKSxDMT1JKChiKT0+e2xldCBvPXBlcmZvcm1hbmNlLm5vdygpLGM9Ty5jdXJyZW50O2MucHVzaCh7dDpvLHg6Yn0pO3doaWxlKGMubGVuZ3RoPjEmJm8tY1swXS50PnM2KWMuc2hpZnQoKX0sW10pLE8xPUkoKGIpPT57bGV0IG89UihiKTtpZihVLmN1cnJlbnQhPW51bGwpY2FuY2VsQW5pbWF0aW9uRnJhbWUoVS5jdXJyZW50KTtVLmN1cnJlbnQ9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57VS5jdXJyZW50PW51bGwsWjEobyksQzEobyl9KX0sW1IsQzEsWjFdKSxkPUkoKGIsbyxjKT0+e1UxKCk7bGV0IEYxPXYuY3VycmVudD8/JDtILmN1cnJlbnQ9e3BvaW50ZXJJZDpiLHN0YXJ0WDpvLHN0YXJ0WTpjLHN0YXJ0V2lkdGg6RjF9LE8uY3VycmVudD1be3Q6cGVyZm9ybWFuY2Uubm93KCkseDpGMX1dLFkoKSxCKCEwKX0sW1UxLCQsWV0pLGU9SSgoKT0+e2xldCBiPUguY3VycmVudDtpZihILmN1cnJlbnQ9bnVsbCxVLmN1cnJlbnQhPW51bGwpY2FuY2VsQW5pbWF0aW9uRnJhbWUoVS5jdXJyZW50KSxVLmN1cnJlbnQ9bnVsbDtpZihiJiZiLnBvaW50ZXJJZD49MCl7bGV0IGsxPWsuY3VycmVudDtpZihrMT8uaGFzUG9pbnRlckNhcHR1cmUoYi5wb2ludGVySWQpKWsxLnJlbGVhc2VQb2ludGVyQ2FwdHVyZShiLnBvaW50ZXJJZCl9QighMSk7bGV0IG89di5jdXJyZW50Pz8kLGM9WDQoTy5jdXJyZW50KTtPLmN1cnJlbnQ9W107bGV0IEYxPVUyKG8rYyphNiwkLEosUSxaLEspLEQxPUcwKFE0KEYxLFskXSxpNikpLGgxPU1hdGguYWJzKG8tRDEpPDAuNSYmTWF0aC5hYnMoYyk8ODtpZihxfHxoMSl7WjEoRDEpLEoxKEQxKTtyZXR1cm59eighMCksQy5jdXJyZW50PVo0KHtmcm9tOm8sdG86RDEsdmVsb2NpdHk6YyxzdGlmZm5lc3M6bjYsZGFtcGluZzpyNixvblVwZGF0ZTpaMSxvbkNvbXBsZXRlOigpPT57Qy5jdXJyZW50PW51bGwseighMSksSjEoRDEpfX0pfSxbWiwkLHEsSyxKMSxRLEosWjFdKTtFKCgpPT57cmV0dXJuKCk9PntpZihVMSgpLFUuY3VycmVudCE9bnVsbCljYW5jZWxBbmltYXRpb25GcmFtZShVLmN1cnJlbnQpO2lmKE0uY3VycmVudCE9bnVsbCl7aWYoY2xlYXJUaW1lb3V0KE0uY3VycmVudCksdi5jdXJyZW50IT1udWxsKW0odi5jdXJyZW50KX19fSxbVTEsbV0pLEUoKCk9PntpZighRylyZXR1cm47bGV0IGI9KCk9PmUoKSxvPSgpPT57aWYoZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlPT09ImhpZGRlbiIpZSgpfSxjPShGMSk9PntsZXQgRDE9SC5jdXJyZW50O2lmKCFEMXx8RDEucG9pbnRlcklkIT09RjEucG9pbnRlcklkKXJldHVybjtGMS5wcmV2ZW50RGVmYXVsdCgpLE8xKFIkKEQxLEYxLmNsaWVudFgsRjEuY2xpZW50WSxaKSl9O3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsYiksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJtb3ZlIixjLHtjYXB0dXJlOiEwLHBhc3NpdmU6ITF9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcnVwIixiLCEwKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcmNhbmNlbCIsYiwhMCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsbyksKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYmx1ciIsYiksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJtb3ZlIixjLCEwKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcnVwIixiLCEwKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcmNhbmNlbCIsYiwhMCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsbyl9fSxbWixlLEcsTzFdKTtsZXQgWDE9SSgoYik9PntsZXQgbz1ILmN1cnJlbnQ7aWYoIW98fG8ucG9pbnRlcklkIT09Yi5wb2ludGVySWQpcmV0dXJuO2IucHJldmVudERlZmF1bHQoKSxiLnN0b3BQcm9wYWdhdGlvbigpLGUoKX0sW2VdKSxoPUkoKGIpPT57aWYoYi5idXR0b24hPT0wKXJldHVybjtiLnByZXZlbnREZWZhdWx0KCksYi5zdG9wUHJvcGFnYXRpb24oKSxiLmN1cnJlbnRUYXJnZXQuc2V0UG9pbnRlckNhcHR1cmUoYi5wb2ludGVySWQpLGQoYi5wb2ludGVySWQsYi5jbGllbnRYLGIuY2xpZW50WSl9LFtkXSksaT1JKChiKT0+e2xldCBvPUguY3VycmVudDtpZighb3x8by5wb2ludGVySWQhPT1iLnBvaW50ZXJJZClyZXR1cm47Yi5wcmV2ZW50RGVmYXVsdCgpLE8xKFIkKG8sYi5jbGllbnRYLGIuY2xpZW50WSxaKSl9LFtaLE8xXSkscD1JKChiKT0+e2xldCBvPWIua2V5PT09IkFycm93UmlnaHQifHxiLmtleT09PSJBcnJvd0Rvd24iPzE6Yi5rZXk9PT0iQXJyb3dMZWZ0Inx8Yi5rZXk9PT0iQXJyb3dVcCI/LTE6MDtpZihvPT09MClyZXR1cm47Yi5wcmV2ZW50RGVmYXVsdCgpLFUxKCk7bGV0IGM9Yi5zaGlmdEtleT84MDoyNCxGMT1HMChVMihzK28qYywkLEosUSxaLEspKTtaMShGMSksSjEoRjEpfSxbWixVMSxzLCQsSjEsUSxKLEssWjFdKTtyZXR1cm57aGFuZGxlUmVmOmssd2lkdGg6R3x8TD9hOnMsY29tbWl0dGVkV2lkdGg6cyxtaW5XaWR0aDp0LG1heFdpZHRoOnUsaXNSZXNpemluZzpHLGlzSW5lcnRpYTpMLGhhbmRsZUhvdmVyZWQ6VixoYW5kbGVBY3RpdmU6Vnx8R3x8TCxzZXRIYW5kbGVIb3ZlcmVkOk4sb25Qb2ludGVyRG93bjpoLG9uUG9pbnRlck1vdmU6aSxvblBvaW50ZXJFbmQ6WDEsb25LZXlEb3duOnB9fWZ1bmN0aW9uIFIkKCQsSixRLFope2xldCBLPUotJC5zdGFydFgsWT0oUS0kLnN0YXJ0WSkqWjtyZXR1cm4gJC5zdGFydFdpZHRoKyhNYXRoLmFicyhLKT49TWF0aC5hYnMoWSk/SzpZKX1mdW5jdGlvbiBoJCgkLEosUSxaLEssWSxxKXtsZXQgRz1GKG51bGwpO0UwKCgpPT57bGV0IEI9JC5jdXJyZW50O2lmKCFCKXJldHVybjtsZXQgTD1CLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHo9Ry5jdXJyZW50O2lmKEcuY3VycmVudD1MLCFKfHx6PT1udWxsKXJldHVybjtpZih6LndpZHRoPDF8fEwud2lkdGg8MXx8ei5oZWlnaHQ8MXx8TC5oZWlnaHQ8MSlyZXR1cm47bGV0IFY9ei5sZWZ0LUwubGVmdCxOPXoudG9wLUwudG9wLEg9ei53aWR0aC9MLndpZHRoLE89ei5oZWlnaHQvTC5oZWlnaHQ7aWYoTWF0aC5hYnMoVik8MC41JiZNYXRoLmFicyhOKTwwLjUmJk1hdGguYWJzKEgtMSk8MC4wMDImJk1hdGguYWJzKE8tMSk8MC4wMDIpcmV0dXJuO2lmKHdpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSIpLm1hdGNoZXMpcmV0dXJuO0Iuc3R5bGUudHJhbnNpdGlvbj0ibm9uZSIsQi5zdHlsZS50cmFuc2Zvcm1PcmlnaW49IjAgMCIsQi5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZSgke1Z9cHgsICR7Tn1weCkgc2NhbGUoJHtIfSwgJHtPfSlgLEIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7bGV0IFU9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57Qi5zdHlsZS50cmFuc2l0aW9uPVEzLEIuc3R5bGUudHJhbnNmb3JtPSJ0cmFuc2xhdGUoMHB4LCAwcHgpIHNjYWxlKDEsIDEpIn0pLEM9KCk9PntCLnN0eWxlLnRyYW5zaXRpb249IiIsQi5zdHlsZS50cmFuc2Zvcm09IiIsQi5zdHlsZS50cmFuc2Zvcm1PcmlnaW49IiJ9LE09KGspPT57aWYoay50YXJnZXQhPT1CfHxrLnByb3BlcnR5TmFtZSE9PSJ0cmFuc2Zvcm0iKXJldHVybjtCLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRyYW5zaXRpb25lbmQiLE0pLEMoKX07cmV0dXJuIEIuYWRkRXZlbnRMaXN0ZW5lcigidHJhbnNpdGlvbmVuZCIsTSksKCk9PntjYW5jZWxBbmltYXRpb25GcmFtZShVKSxCLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRyYW5zaXRpb25lbmQiLE0pLEMoKX19LFtKLFosUSxZLCQscSxLXSl9ZnVuY3Rpb24gZyQoKXtsZXQgJD1GKG5ldyBNYXApLEo9RihuZXcgTWFwKSxRPUkoKEcpPT57bGV0IEI9Si5jdXJyZW50LmdldChHKTtpZihCKWNsZWFyVGltZW91dChCKTtKLmN1cnJlbnQuZGVsZXRlKEcpfSxbXSksWj1JKChHLEI9MS8wKT0+e0k1LmN1c3RvbSgoKT0+WChNNyx7dG9hc3Q6R30pLHtpZDpHLmlkLGR1cmF0aW9uOkJ9KX0sW10pLEs9SSgoRyxCKT0+e2xldCBMPWNyeXB0by5yYW5kb21VVUlEKCksej17aWQ6TCxuYW1lOkcsa2luZDpCLHN0YXR1czoidXBsb2FkaW5nIixwcm9ncmVzczowfTtyZXR1cm4gJC5jdXJyZW50LnNldChMLHopLFooeiksTH0sW1pdKSxZPUkoKEcsQik9PntsZXQgTD0kLmN1cnJlbnQuZ2V0KEcpO2lmKCFMKXJldHVybjtRKEcpO2xldCB6PXsuLi5MLC4uLkJ9O2lmKCQuY3VycmVudC5zZXQoRyx6KSxaKHosQi5zdGF0dXM9PT0ic3VjY2VzcyJ8fEIuc3RhdHVzPT09ImVycm9yIj8zMDAwOjEvMCksQi5zdGF0dXM9PT0ic3VjY2VzcyJ8fEIuc3RhdHVzPT09ImVycm9yIil7bGV0IFY9c2V0VGltZW91dCgoKT0+eyQuY3VycmVudC5kZWxldGUoRyksSi5jdXJyZW50LmRlbGV0ZShHKX0sMzAwMCk7Si5jdXJyZW50LnNldChHLFYpfX0sW1EsWl0pLHE9SSgoRyxCKT0+e2xldCBMPSQuY3VycmVudC5nZXQoRyk7aWYoIUwpcmV0dXJuO2xldCB6PXsuLi5MLHByb2dyZXNzOkJ9OyQuY3VycmVudC5zZXQoRyx6KSxaKHopfSxbWl0pO3JldHVybnthZGQ6Syx1cGRhdGU6WSxzZXRQcm9ncmVzczpxfX1mdW5jdGlvbiBmJCgkLEope2xldFtRLFpdPUEoW10pLFtLLFldPUEobnVsbCksW3EsR109QSghMSksQj1JKGFzeW5jKCk9PntpZighJClyZXR1cm47RyghMCksWShudWxsKTt0cnl7bGV0IEw9YXdhaXQgZmV0Y2goJCx7Y2FjaGU6Im5vLXN0b3JlIn0pLHo9YXdhaXQgTC5qc29uKCk7aWYoIUwub2t8fHouZXJyb3IpdGhyb3cgRXJyb3Ioei5lcnJvcnx8IkZhaWxlZCB0byBsaXN0IFdlYktpdCB0YXJnZXRzIik7bGV0IFY9dHlwZW9mIHdpbmRvdz4idSI/bnVsbDp3aW5kb3cubG9jYXRpb24sTj16LnRhcmdldHM/P1tdO1ooVj9OLm1hcCgoSCk9PkgkKEgsVikpOk4pfWNhdGNoKEwpe1koTCBpbnN0YW5jZW9mIEVycm9yP0wubWVzc2FnZToiRmFpbGVkIHRvIHN0YXJ0IFdlYktpdCBEZXZUb29scyIpfWZpbmFsbHl7RyghMSl9fSxbJF0pO3JldHVybiBFKCgpPT57aWYoIUopcmV0dXJuO0IoKTtsZXQgTD1zZXRJbnRlcnZhbCgoKT0+dm9pZCBCKCksMjUwMCk7cmV0dXJuKCk9PmNsZWFySW50ZXJ2YWwoTCl9LFtKLEJdKSx7dGFyZ2V0czpRLGVycm9yOkssbG9hZGluZzpxLHJlZnJlc2g6Qn19dmFyIFZZPTYwLEJZPTEwMDAsTFk9NjAwMDA7ZnVuY3Rpb24gbSQoJCxKKXtsZXQgUT1uZXcgVVJMKCQsd2luZG93LmxvY2F0aW9uLmhyZWYpO2ZvcihsZXRbWixLXW9mIE9iamVjdC5lbnRyaWVzKEopKWlmKEs9PW51bGx8fEs9PT0iIilRLnNlYXJjaFBhcmFtcy5kZWxldGUoWik7ZWxzZSBRLnNlYXJjaFBhcmFtcy5zZXQoWixTdHJpbmcoSykpO3JldHVybmAke1EucGF0aG5hbWV9JHtRLnNlYXJjaH1gfWZ1bmN0aW9uIHAkKCQsSixRLFosSz1WWSl7bGV0W1kscV09QShudWxsKSxbRyxCXT1BKFtdKSxbTCx6XT1BKDApLFtWLE5dPUEoSyksW0gsT109QSgwKSxVPUYoWik7VS5jdXJyZW50PVosRSgoKT0+e2lmKCFRfHwhJClyZXR1cm47bGV0IFA9ITEsdj1hc3luYygpPT57dHJ5e2xldCB0PWF3YWl0KGF3YWl0IGZldGNoKG0kKCQse2xpbWl0OlYsb2Zmc2V0OjAsZGV2aWNlOlUuY3VycmVudH0pKSkuanNvbigpO2lmKFApcmV0dXJuO2lmKHEodC5kZXZpY2VzPz9bXSksdHlwZW9mIHQudG90YWw9PT0ibnVtYmVyIil6KHQudG90YWwpfWNhdGNoe2lmKCFQKXEoW10pfX07digpO2xldCBqPXNldEludGVydmFsKHYsTFkpO3JldHVybigpPT57UD0hMCxjbGVhckludGVydmFsKGopfX0sWyQsUSxILFZdKSxFKCgpPT57aWYoIVF8fCFKKXJldHVybjtsZXQgUD13MChtJChKLHtkZXZpY2U6Wn0pKTtyZXR1cm4gUC5vbm1lc3NhZ2U9KHYpPT57dHJ5e2xldCBqPUpTT04ucGFyc2Uodi5kYXRhKTtpZihBcnJheS5pc0FycmF5KGouc3RhdHVzZXMpKUIoai5zdGF0dXNlcyl9Y2F0Y2h7fX0sKCk9PlAuY2xvc2UoKX0sW1EsWixKXSk7bGV0IEM9RigiIik7RSgoKT0+e2lmKCFZfHwhajQoWSxHLFYpKXtDLmN1cnJlbnQ9IiI7cmV0dXJufWxldCBQPUcuc2xpY2UoMCxWKS5tYXAoKHYpPT52LmRldmljZSkuam9pbigiLCIpO2lmKFA9PT1DLmN1cnJlbnQpcmV0dXJuO0MuY3VycmVudD1QLE8oKHYpPT52KzEpfSxbWSxHLFZdKTtsZXQgTT1JMSgoKT0+WT09PW51bGw/bnVsbDpTNChZLEcpLFtZLEddKSxrPUkoKCk9Pk4oKFApPT5QK0spLFtLXSksdz1JKCgpPT5OKEJZKSxbXSksVD1JKCgpPT5OKEspLFtLXSksUz1MPihNPy5sZW5ndGg/PzApO3JldHVybntkZXZpY2VzOk0sdG90YWw6TCxsb2FkTW9yZTprLGxvYWRBbGw6dyxyZXNldFBhZ2U6VCxoYXNNb3JlOlN9fXZhciB1JD17bWpwZWdGcHM6NjAsbWpwZWdRdWFsaXR5OjAuNyxtYXhEaW1lbnNpb246MCxoMjY0Qml0cmF0ZTo2MDAwMDAwLGgyNjRGcHM6NjB9LHpZPXt0cmFuc3BvcnQ6Imh0dHAiLGh0dHBDb2RlYzoiYXV0byIsd2ViUnRjQ29kZWM6ImgyNjQiLC4uLnUkfTtmdW5jdGlvbiBVWSgkKXtyZXR1cm4gdHlwZW9mICQ9PT0ibnVtYmVyIiYmTnVtYmVyLmlzRmluaXRlKCQpPyQ6bnVsbH1mdW5jdGlvbiBsJCgkLEosUSxaKXtsZXQgSz1VWSgkKTtyZXR1cm4gSz09bnVsbD9KOk1hdGgubWluKFosTWF0aC5tYXgoUSxLKSl9ZnVuY3Rpb24gbDMoJCxKLFEsWil7cmV0dXJuIE1hdGgucm91bmQobCQoJCxKLFEsWikpfWZ1bmN0aW9uIE5ZKCQpe2lmKCFBcnJheS5pc0FycmF5KCQpfHwkLmxlbmd0aD4xNilyZXR1cm4gbnVsbDtsZXQgSj1bXTtmb3IobGV0IFEgb2YgJCl7aWYoIVF8fHR5cGVvZiBRIT09Im9iamVjdCIpcmV0dXJuIG51bGw7bGV0IFo9US51cmxzO2lmKCFBcnJheS5pc0FycmF5KFopfHxaLmxlbmd0aD09PTB8fFoubGVuZ3RoPjE2fHwhWi5ldmVyeSgocSk9PnR5cGVvZiBxPT09InN0cmluZyImJnEubGVuZ3RoPD0yMDQ4JiYvXihzdHVufHN0dW5zfHR1cm58dHVybnMpOi9pLnRlc3QocSkpKXJldHVybiBudWxsO2xldHt1c2VybmFtZTpLLGNyZWRlbnRpYWw6WX09UTtpZihLIT09dm9pZCAwJiZ0eXBlb2YgSyE9PSJzdHJpbmciKXJldHVybiBudWxsO2lmKFkhPT12b2lkIDAmJnR5cGVvZiBZIT09InN0cmluZyIpcmV0dXJuIG51bGw7Si5wdXNoKHt1cmxzOlosLi4udHlwZW9mIEs9PT0ic3RyaW5nIj97dXNlcm5hbWU6S306e30sLi4udHlwZW9mIFk9PT0ic3RyaW5nIj97Y3JlZGVudGlhbDpZfTp7fX0pfXJldHVybiBKfWZ1bmN0aW9uIFY5KCQ9e30sSj16WSl7bGV0IFo9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKCQsImljZVNlcnZlcnMiKT9OWSgkLmljZVNlcnZlcnMpOkouaWNlU2VydmVycyxLPVo9PT1udWxsP0ouaWNlU2VydmVyczpaJiZaLmxlbmd0aD4wP1o6dm9pZCAwO3JldHVybnt0cmFuc3BvcnQ6JC50cmFuc3BvcnQ9PT0iaHR0cCJ8fCQudHJhbnNwb3J0PT09IndlYnJ0YyI/JC50cmFuc3BvcnQ6Si50cmFuc3BvcnQsaHR0cENvZGVjOiQuaHR0cENvZGVjPT09ImF1dG8ifHwkLmh0dHBDb2RlYz09PSJtanBlZyJ8fCQuaHR0cENvZGVjPT09ImgyNjQiPyQuaHR0cENvZGVjOkouaHR0cENvZGVjLHdlYlJ0Y0NvZGVjOiQud2ViUnRjQ29kZWM9PT0idnA4Inx8JC53ZWJSdGNDb2RlYz09PSJ2cDkifHwkLndlYlJ0Y0NvZGVjPT09ImgyNjQiPyQud2ViUnRjQ29kZWM6Si53ZWJSdGNDb2RlYywuLi5LP3tpY2VTZXJ2ZXJzOkt9Ont9LC4uLnY1KCQsSil9fWZ1bmN0aW9uIHY1KCQ9e30sSj11JCl7cmV0dXJue21qcGVnRnBzOmwzKCQubWpwZWdGcHMsSi5tanBlZ0ZwcywxLDEyMCksbWpwZWdRdWFsaXR5OmwkKCQubWpwZWdRdWFsaXR5LEoubWpwZWdRdWFsaXR5LDAuMDUsMSksbWF4RGltZW5zaW9uOmwzKCQubWF4RGltZW5zaW9uLEoubWF4RGltZW5zaW9uLDAsNDA5NiksaDI2NEJpdHJhdGU6bDMoJC5oMjY0Qml0cmF0ZSxKLmgyNjRCaXRyYXRlLDFlNSw1MDAwMDAwMCksaDI2NEZwczpsMygkLmgyNjRGcHMsSi5oMjY0RnBzLDEsMTQwKX19ZnVuY3Rpb24gaDUoJCl7cmV0dXJue21qcGVnRnBzOiQubWpwZWdGcHMsbWpwZWdRdWFsaXR5OiQubWpwZWdRdWFsaXR5LG1heERpbWVuc2lvbjokLm1heERpbWVuc2lvbixoMjY0Qml0cmF0ZTokLmgyNjRCaXRyYXRlLGgyNjRGcHM6JC5oMjY0RnBzfX1mdW5jdGlvbiBkJCgkKXtyZXR1cm4gJD8udHJhbnNwb3J0PT09IndlYnJ0YyJ9ZnVuY3Rpb24gYyQoJCl7bGV0IEo9JD97bWpwZWdGcHM6JC5tanBlZ0ZwcyxtanBlZ1F1YWxpdHk6JC5tanBlZ1F1YWxpdHksbWF4RGltZW5zaW9uOiQubWF4RGltZW5zaW9uLGgyNjRCaXRyYXRlOiQuaDI2NEJpdHJhdGUsaDI2NEZwczokLmgyNjRGcHN9Ont9O2lmKCQ/LnRyYW5zcG9ydD09PSJ3ZWJydGMiKXJldHVybiBWOSh7dHJhbnNwb3J0OiJ3ZWJydGMiLHdlYlJ0Y0NvZGVjOiQuY29kZWMsaWNlU2VydmVyczokLmljZVNlcnZlcnMsLi4uSn0pO3JldHVybiBWOSh7dHJhbnNwb3J0OiJodHRwIixodHRwQ29kZWM6JD8uY29kZWM/PyJhdXRvIiwuLi5KfSl9ZnVuY3Rpb24gZDMoJCxKKXtyZXR1cm4gVjkoey4uLiQsLi4uSn0sJCl9ZnVuY3Rpb24gbyQoJCxKLFE9ITEpe2lmKCFRKXJldHVybiBkMygkLEopO2xldCBaPXt9O2lmKEoud2ViUnRjQ29kZWMhPT12b2lkIDApWi53ZWJSdGNDb2RlYz1KLndlYlJ0Y0NvZGVjO2lmKEouaWNlU2VydmVycyE9PXZvaWQgMClaLmljZVNlcnZlcnM9Si5pY2VTZXJ2ZXJzO2lmKE9iamVjdC5rZXlzKFopLmxlbmd0aD09PTApcmV0dXJuICQ7cmV0dXJuIGQzKCQsey4uLlosdHJhbnNwb3J0OiJ3ZWJydGMifSl9ZnVuY3Rpb24gZzUoJCxKKXtsZXQgUT1oNSgkKSxaPXY1KHsuLi5RLC4uLkp9LFEpO2lmKFoubWpwZWdGcHM9PT1RLm1qcGVnRnBzJiZaLm1qcGVnUXVhbGl0eT09PVEubWpwZWdRdWFsaXR5JiZaLm1heERpbWVuc2lvbj09PVEubWF4RGltZW5zaW9uJiZaLmgyNjRCaXRyYXRlPT09US5oMjY0Qml0cmF0ZSYmWi5oMjY0RnBzPT09US5oMjY0RnBzKXJldHVybiAkO3JldHVybnsuLi4kLC4uLlp9fXZhciBuJD0ic2VydmUtc2ltOmNvZGVjIixIWT0zMDAwO2Z1bmN0aW9uIGkkKCQpe2xldCBKPWMkKCQpO2lmKEoudHJhbnNwb3J0IT09Imh0dHAifHxKLmh0dHBDb2RlYyE9PSJhdXRvIilyZXR1cm4gSjt0cnl7bGV0IFE9d2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKG4kKTtpZihRPT09ImF1dG8ifHxRPT09Im1qcGVnInx8UT09PSJoMjY0IilyZXR1cm4gZDMoSix7aHR0cENvZGVjOlF9KX1jYXRjaHt9cmV0dXJuIEp9ZnVuY3Rpb24gciQoe2RldmljZTokLGVuZHBvaW50OkosaW5pdGlhbFNldHRpbmdzOlF9KXtsZXQgWj1kJChRKSxbSyxZXT1BKCgpPT5pJChRKSksW3EsR109QSghMSksQj1GKEspLEw9RighMSksej1GKDApLFY9RihudWxsKSxOPUYobnVsbCk7RSgoKT0+eysrei5jdXJyZW50O2xldCBVPWkkKFEpO2lmKFYuY3VycmVudD8uYWJvcnQoKSxOLmN1cnJlbnQ/LmFib3J0KCksVi5jdXJyZW50PW51bGwsTi5jdXJyZW50PW51bGwsQi5jdXJyZW50PVUsTC5jdXJyZW50PSExLFkoVSksRyghMSksIUopcmV0dXJuO2xldCBDPSExLE09ITEsaz1hc3luYygpPT57aWYoQ3x8TC5jdXJyZW50fHxWLmN1cnJlbnQpcmV0dXJuO2xldCBTPSsrei5jdXJyZW50LFA9bmV3IEFib3J0Q29udHJvbGxlcjtWLmN1cnJlbnQ9UDt0cnl7bGV0IHY9YXdhaXQgZmV0Y2goSix7Y2FjaGU6Im5vLXN0b3JlIixzaWduYWw6UC5zaWduYWx9KTtpZighdi5vayl0aHJvdyBFcnJvcihgU3RyZWFtIHNldHRpbmdzIHJlcXVlc3QgZmFpbGVkICgke3Yuc3RhdHVzfSlgKTtsZXQgaj12NShhd2FpdCB2Lmpzb24oKSxoNShCLmN1cnJlbnQpKTtpZighUC5zaWduYWwuYWJvcnRlZCYmei5jdXJyZW50PT09Uyl7bGV0IHU9Qi5jdXJyZW50LHQ9ZzUodSxqKTtpZih0IT09dSlCLmN1cnJlbnQ9dCxZKHQpfU09ITF9Y2F0Y2godil7aWYoIVAuc2lnbmFsLmFib3J0ZWQmJiFNKU09ITAsY29uc29sZS53YXJuKCJGYWlsZWQgdG8gbG9hZCBzdHJlYW0gc2V0dGluZ3MiLHYpfWZpbmFsbHl7aWYoVi5jdXJyZW50PT09UClWLmN1cnJlbnQ9bnVsbH19O2soKTtsZXQgdz0oKT0+e2lmKHR5cGVvZiBkb2N1bWVudD4idSJ8fGRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZSE9PSJoaWRkZW4iKWsoKX0sVD1zZXRJbnRlcnZhbCh3LEhZKTtpZih0eXBlb2Ygd2luZG93PCJ1Iil3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLHcpO2lmKHR5cGVvZiBkb2N1bWVudDwidSIpZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsdyk7cmV0dXJuKCk9PntpZihDPSEwLGNsZWFySW50ZXJ2YWwoVCksdHlwZW9mIHdpbmRvdzwidSIpd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3VzIix3KTtpZih0eXBlb2YgZG9jdW1lbnQ8InUiKWRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLHcpO1YuY3VycmVudD8uYWJvcnQoKSxOLmN1cnJlbnQ/LmFib3J0KCksVi5jdXJyZW50PW51bGwsTi5jdXJyZW50PW51bGx9fSxbJCxKLFFdKTtsZXQgSD1JKChVKT0+e2lmKCFaJiZVLmh0dHBDb2RlYyE9PXZvaWQgMCl0cnl7d2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKG4kLFUuaHR0cENvZGVjKX1jYXRjaHt9bGV0IEM9byQoQi5jdXJyZW50LFUsWik7aWYoQz09PUIuY3VycmVudClyZXR1cm47Qi5jdXJyZW50PUMsWShDKX0sW1pdKSxPPUkoKFUpPT57aWYoIUp8fEwuY3VycmVudHx8T2JqZWN0LmtleXMoVSkubGVuZ3RoPT09MClyZXR1cm47bGV0IEM9Qi5jdXJyZW50LE09ZzUoQyxVKTtCLmN1cnJlbnQ9TSxZKE0pLFYuY3VycmVudD8uYWJvcnQoKSxWLmN1cnJlbnQ9bnVsbDtsZXQgaz0rK3ouY3VycmVudCx3PW5ldyBBYm9ydENvbnRyb2xsZXI7Ti5jdXJyZW50PXcsTC5jdXJyZW50PSEwLEcoITApLGZldGNoKEose21ldGhvZDoiUEFUQ0giLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sYm9keTpKU09OLnN0cmluZ2lmeShVKSxzaWduYWw6dy5zaWduYWx9KS50aGVuKGFzeW5jKFQpPT57aWYoIVQub2spdGhyb3cgRXJyb3IoYFN0cmVhbSBzZXR0aW5ncyB1cGRhdGUgZmFpbGVkICgke1Quc3RhdHVzfSlgKTtsZXQgUz12NShhd2FpdCBULmpzb24oKSxoNShNKSk7aWYoIXcuc2lnbmFsLmFib3J0ZWQmJnouY3VycmVudD09PWspe2xldCBQPWc1KEIuY3VycmVudCxTKTtCLmN1cnJlbnQ9UCxZKFApfX0pLmNhdGNoKChUKT0+e2lmKHcuc2lnbmFsLmFib3J0ZWQpcmV0dXJuO2lmKGNvbnNvbGUud2FybigiRmFpbGVkIHRvIHVwZGF0ZSBzdHJlYW0gc2V0dGluZ3MiLFQpLHouY3VycmVudD09PWspe2xldCBTPWc1KEIuY3VycmVudCxoNShDKSk7Qi5jdXJyZW50PVMsWShTKX19KS5maW5hbGx5KCgpPT57aWYoTi5jdXJyZW50PT09dylOLmN1cnJlbnQ9bnVsbDtpZighdy5zaWduYWwuYWJvcnRlZCYmei5jdXJyZW50PT09aylMLmN1cnJlbnQ9ITEsRyghMSl9KX0sW0pdKTtyZXR1cm57c2V0dGluZ3M6Syx1cGRhdGVQbGF5YmFjazpILHVwZGF0ZUVuY29kZXI6TyxwZW5kaW5nOnEsdHJhbnNwb3J0TG9ja2VkOlosY29uZmlndXJlZE1heERpbWVuc2lvbjpRPy5tYXhEaW1lbnNpb24/PzAsZW5jb2RlclNldHRpbmdzQXZhaWxhYmxlOiEhSn19dmFyIEI5PXtzdHJlYW1lZDohMSxmZWxsQmFjazohMX07ZnVuY3Rpb24gYSQoJCxKKXtzd2l0Y2goSil7Y2FzZSJkZWNvZGVkLWZyYW1lIjpyZXR1cm4gJC5zdHJlYW1lZD8kOnsuLi4kLHN0cmVhbWVkOiEwfTtjYXNlInRpbWVvdXQiOnJldHVybiAkLnN0cmVhbWVkfHwkLmZlbGxCYWNrPyQ6ey4uLiQsZmVsbEJhY2s6ITB9O2Nhc2UiZXJyb3IiOnJldHVybiAkLmZlbGxCYWNrPyQ6ey4uLiQsZmVsbEJhY2s6ITB9O2Nhc2UicmVzZXQiOnJldHVybiBCOX19dmFyIHMkPTQwMDA7dmFyIEw5PTMyMCx0JD03NjAsejk9MzAwO2Z1bmN0aW9uIFU5KCQsSil7aWYoISQpcmV0dXJuIG51bGw7aWYoISQuZGV2aWNlKXJldHVybiAkO2lmKCEkLnByb3h5SGVscGVycylyZXR1cm4gJDtsZXQgWj1gJHskLmJhc2VQYXRoPT09Ii8iPyIiOigkLmJhc2VQYXRoPz8iIikucmVwbGFjZSgvXC8rJC8sIiIpfS9oZWxwZXIvJHtlbmNvZGVVUklDb21wb25lbnQoJC5kZXZpY2UpfWAsSz1gJHtKLnByb3RvY29sfS8vJHtKLmhvc3R9YCxZPUoucHJvdG9jb2w9PT0iaHR0cHM6Ij8id3NzOiI6IndzOiI7cmV0dXJuey4uLiQsdXJsOmAke0t9JHtafWAsc3RyZWFtVXJsOmAke0t9JHtafS9zdHJlYW0ubWpwZWdgLHdzVXJsOmAke1l9Ly8ke0ouaG9zdH0ke1p9L3dzYCxzdHJlYW1TZXR0aW5nc0VuZHBvaW50OmAke0t9JHtafS9zdHJlYW0tc2V0dGluZ3NgfX1mdW5jdGlvbiBlJCgkKXtsZXQgSj1uZXcgVVJMU2VhcmNoUGFyYW1zKCQuc2VhcmNoKS5nZXQoImxvZ3MiKTtpZihKIT09bnVsbClyZXR1cm4gSj09PSIxIjtyZXR1cm4gdjMoJC5ob3N0bmFtZSl9dmFyICRKPVsiZ2VzdHVyZXN0YXJ0IiwiZ2VzdHVyZWNoYW5nZSIsImdlc3R1cmVlbmQiXTtmdW5jdGlvbiBKSigkKXtFKCgpPT57aWYoISQpcmV0dXJuO2xldCBKPShRKT0+US5wcmV2ZW50RGVmYXVsdCgpO2ZvcihsZXQgUSBvZiAkSilkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFEsSix7cGFzc2l2ZTohMX0pO3JldHVybigpPT57Zm9yKGxldCBRIG9mICRKKWRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoUSxKKX19LFskXSl9ZnVuY3Rpb24gUUooJCxKKXtsZXQgUT1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoSlNPTi5zdHJpbmdpZnkoSikpLFo9bmV3IFVpbnQ4QXJyYXkoMStRLmxlbmd0aCk7cmV0dXJuIFpbMF09JCxaLnNldChRLDEpLFp9ZnVuY3Rpb24gQ1koJCxKLFE9MzIpe2xldCBaPVsuLi4kLEpdO3JldHVybiBaLmxlbmd0aD5RP1ouc2xpY2UoWi5sZW5ndGgtUSk6Wn1mdW5jdGlvbiBOOSgkLEosUT1EYXRlLm5vdygpLFo9MTUwMCl7bGV0IEs9Si5maWx0ZXIoKFkpPT5RLVkuY3JlYXRlZEF0PD1aKTtpZighJHx8JC5yZWFkeVN0YXRlIT09MSlyZXR1cm4gSztmb3IobGV0IFkgb2YgSykkLnNlbmQoUUooWS50YWcsWS5wYXlsb2FkKS5idWZmZXIpO3JldHVybltdfWZ1bmN0aW9uIEg5KCQsSixRLFosSz1EYXRlLm5vdygpKXtsZXQgWT1OOSgkLEosSyk7aWYoJD8ucmVhZHlTdGF0ZT09PTEpcmV0dXJuICQuc2VuZChRSihRLFopLmJ1ZmZlciksWTtyZXR1cm4gQ1koWSx7dGFnOlEscGF5bG9hZDpaLGNyZWF0ZWRBdDpLfSl9dmFyIE1ZPXtoMjY0OlsiaDI2NCIsInZwOCIsInZwOSJdLHZwOTpbInZwOSIsInZwOCJdLHZwODpbInZwOCJdfTtmdW5jdGlvbiBPWSgkLEope2xldCBRPU1ZWyRdLFo9US5pbmRleE9mKEopO2lmKFo9PT0tMSlyZXR1cm4gUVswXT8/bnVsbDtyZXR1cm4gUVtaKzFdPz9udWxsfWZ1bmN0aW9uIFpKKCQsSixRKXtpZihRLmtpbmQ9PT0icGVybWFuZW50IilyZXR1cm57dHlwZToic3dpdGNoLXRvLWh0dHAifTtpZihRLmNvZGVjIT09SilyZXR1cm4gbnVsbDtsZXQgWj1PWSgkLEopO3JldHVybiBaJiZaIT09Sj97dHlwZToicmV0cnktY29kZWMiLGNvZGVjOlp9Ont0eXBlOiJzd2l0Y2gtdG8taHR0cCJ9fWZ1bmN0aW9uIFhKKCQpe3JldHVybiAkP2AkeyQuZGV2aWNlfTokeyQucGlkfTokeyQuc3RyZWFtVXJsfTokeyQud3NVcmx9OiR7SlNPTi5zdHJpbmdpZnkoJC5zdHJlYW1TZXR0aW5ncz8/bnVsbCl9YDoiIn1mdW5jdGlvbiBBWSgpe2xldFskLEpdPUEoKCk9PlU5KFg1KHdpbmRvdy5fX1NJTV9QUkVWSUVXX18pLHdpbmRvdy5sb2NhdGlvbikpLFtRLFpdPUEoITEpLFtLLFldPUEoKCk9PntsZXQgbj1YNSh3aW5kb3cuX19TSU1fUFJFVklFV19fKTtpZihuKXJldHVybiBuLmRldmljZTtyZXR1cm4gbmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKS5nZXQoImRldmljZSIpfSksW3EsR109QSghMSksW0IsTF09QSghMSksW3osVl09QSgoKT0+dHlwZW9mIHdpbmRvdz4idSI/ITA6IXdpbmRvdy5tYXRjaE1lZGlhKCIocG9pbnRlcjogY29hcnNlKSIpLm1hdGNoZXMpLFtOXT1BKCgpPT50eXBlb2Ygd2luZG93PiJ1Ij97aW5pdGlhbDohMSxlbWJlZExvY2tlZDohMX06cDQod2luZG93LmxvY2F0aW9uLnNlYXJjaCkpLEg9Ti5lbWJlZExvY2tlZCxbTyxVXT1BKE4uaW5pdGlhbCksQz1GKE8pO0MuY3VycmVudD1PO2xldCBNPUYoITEpLFtrLHddPUEoTi5pbml0aWFsKTtFKCgpPT57aWYoIU8pe3coITEpO3JldHVybn1sZXQgbj1zZXRUaW1lb3V0KCgpPT53KCEwKSxKMyk7cmV0dXJuKCk9PmNsZWFyVGltZW91dChuKX0sW09dKTtsZXRbVCxTXT1BKCgpPT57aWYodHlwZW9mIHdpbmRvdz4idSJ8fE4uaW5pdGlhbClyZXR1cm4hMTtyZXR1cm4gd2luZG93LmlubmVyV2lkdGg+PXo5KzY0MH0pLHt3aWR0aDpQLG9uUG9pbnRlckRvd246dn09dTMoInNlcnZlLXNpbTpkZXZpY2Utc2lkZWJhci13aWR0aCIsejksMjQwLDY0MCwicmlnaHQiKSxbaix1XT1BKG51bGwpLHQ9d2luZG93Ll9fU0lNX1BSRVZJRVdfXyxhPXQ/LmdyaWRDYXRhbG9nRW5kcG9pbnQ/P1MxKCJncmlkL2FwaS9jYXRhbG9nIikscz10Py5ncmlkU3RhdHVzRW5kcG9pbnQ/P1MxKCJncmlkL2FwaS9zdGF0dXMiKSxaMT10Py5ncmlkU3RhdHVzRXZlbnRzRW5kcG9pbnQ/P1MxKCJncmlkL2FwaS9zdGF0dXMvZXZlbnRzIiksbT10Py5ncmlkU3RhcnRFbmRwb2ludD8/UzEoImdyaWQvYXBpL3N0YXJ0IiksSjE9dD8uZ3JpZFNodXRkb3duRW5kcG9pbnQ/P1MxKCJncmlkL2FwaS9zaHV0ZG93biIpLFtSLFUxXT1BKHt9KSxbQzEsTzFdPUEoe30pLFtkLGVdPUEoe30pLHtkZXZpY2VzOlgxLHRvdGFsOmgsbG9hZE1vcmU6aSxsb2FkQWxsOnAscmVzZXRQYWdlOmIsaGFzTW9yZTpvfT1wJChhLFoxLCEwLEspLGM9ISEoSyYmWDE/LmZpbmQoKG4pPT5uLmRldmljZT09PUspPy5oZWxwZXIpLEYxPUkoKG4pPT57WShuKTt0cnl7bGV0IFYxPW5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpO1YxLnNlYXJjaFBhcmFtcy5zZXQoImRldmljZSIsbiksd2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlKG51bGwsIiIsVjEudG9TdHJpbmcoKSl9Y2F0Y2h7fX0sW10pLEQxPUkoKCk9PntpZihVKCEwKSxTKCExKSwhSCl1OCghMCl9LFtIXSksaDE9SSgoKT0+e2lmKEgpcmV0dXJuO1UoITEpLHU4KCExKX0sW0hdKTtFKCgpPT57aWYoSClyZXR1cm47bGV0IG49KEgxKT0+e2lmKEgxLmtleSE9PSJFc2NhcGUiKXJldHVybjtsZXQgejE9dTQoe3R5cGU6SDEudHlwZT09PSJrZXl1cCI/ImtleXVwIjoia2V5ZG93biIscmVwZWF0OkgxLnJlcGVhdH0se3ByZXNlbnRhdGlvbjpDLmN1cnJlbnQsc3dhbGxvd2luZzpNLmN1cnJlbnR9KTtpZihNLmN1cnJlbnQ9ejEuc3dhbGxvd2luZywhejEuc3dhbGxvdylyZXR1cm47aWYoSDEucHJldmVudERlZmF1bHQoKSxIMS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSx6MS5leGl0KWgxKCl9LFYxPSgpPT57TS5jdXJyZW50PSExfTtyZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLG4sITApLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJrZXl1cCIsbiwhMCksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLFYxKSwoKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIixuLCEwKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5dXAiLG4sITApLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJibHVyIixWMSl9fSxbSCxoMV0pO2xldCBrMT1JKGFzeW5jKG4sVjE9MjAwMDApPT57bGV0IEgxPURhdGUubm93KCkrVjE7d2hpbGUoRGF0ZS5ub3coKTxIMSl7dHJ5e2xldCB6MT1uZXcgVVJMKHMsd2luZG93LmxvY2F0aW9uLmhyZWYpO2lmKHoxLnNlYXJjaFBhcmFtcy5zZXQoImRldmljZSIsbiksKChhd2FpdChhd2FpdCBmZXRjaCh6MSx7Y2FjaGU6Im5vLXN0b3JlIn0pKS5qc29uKCkpLnN0YXR1c2VzPz9bXSkuc29tZSgodzEpPT53MS5kZXZpY2U9PT1uJiZ3MS5oZWxwZXIpKXJldHVybiEwfWNhdGNoe31hd2FpdCBuZXcgUHJvbWlzZSgoejEpPT5zZXRUaW1lb3V0KHoxLDQwMCkpfXJldHVybiExfSxbc10pLG8xPUkoYXN5bmMobik9PntVMSgoVjEpPT4oey4uLlYxLFtuXTohMH0pKSxlKChWMSk9Pih7Li4uVjEsW25dOm51bGx9KSk7dHJ5e2xldCBWMT1hd2FpdCBmZXRjaChtLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sYm9keTpKU09OLnN0cmluZ2lmeSh7dWRpZDpufSl9KSxIMT1hd2FpdCBWMS5qc29uKCkuY2F0Y2goKCk9Pih7fSkpO2lmKCFWMS5va3x8IUgxLm9rKXtlKCh6MSk9Pih7Li4uejEsW25dOkgxLmVycm9yPz9gSFRUUCAke1YxLnN0YXR1c31gfSkpO3JldHVybn1hd2FpdCBrMShuKX1jYXRjaChWMSl7ZSgoSDEpPT4oey4uLkgxLFtuXTpWMT8ubWVzc2FnZT8/IlJlcXVlc3QgZmFpbGVkIn0pKX1maW5hbGx5e1UxKChWMSk9Pih7Li4uVjEsW25dOiExfSkpfX0sW20sazFdKSxZMD1JKGFzeW5jKG4pPT57TzEoKFYxKT0+KHsuLi5WMSxbbl06ITB9KSksZSgoVjEpPT4oey4uLlYxLFtuXTpudWxsfSkpO3RyeXtsZXQgVjE9YXdhaXQgZmV0Y2goSjEse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxib2R5OkpTT04uc3RyaW5naWZ5KHt1ZGlkOm59KX0pLEgxPWF3YWl0IFYxLmpzb24oKS5jYXRjaCgoKT0+KHt9KSk7aWYoIVYxLm9rfHwhSDEub2spZSgoejEpPT4oey4uLnoxLFtuXTpIMS5lcnJvcj8/YEhUVFAgJHtWMS5zdGF0dXN9YH0pKX1jYXRjaChWMSl7ZSgoSDEpPT4oey4uLkgxLFtuXTpWMT8ubWVzc2FnZT8/IlJlcXVlc3QgZmFpbGVkIn0pKX1maW5hbGx5e08xKChWMSk9Pih7Li4uVjEsW25dOiExfSkpfX0sW0oxXSk7RSgoKT0+e2lmKEspcmV0dXJuO2lmKCQ/LmRldmljZSl7WSgkLmRldmljZSk7cmV0dXJufWlmKCFYMXx8WDEubGVuZ3RoPT09MClyZXR1cm47bGV0IG49WDEuZmluZCgoVjEpPT5WMS5oZWxwZXIpPz9YMS5maW5kKChWMSk9PlYxLnN0YXRlPT09IkJvb3RlZCIpPz9YMVswXTtpZihuKVkobi5kZXZpY2UpfSxbSywkPy5kZXZpY2UsWDFdKSxFKCgpPT57bGV0IG49YCR7UzEoImFwaS9ldmVudHMiKX0ke0s/YD9kZXZpY2U9JHtlbmNvZGVVUklDb21wb25lbnQoSyl9YDoiIn1gLFYxPSh6MSk9PntKKChkMSk9PntpZih6MT1VOShYNSh6MSksd2luZG93LmxvY2F0aW9uKSxYSihkMSk9PT1YSih6MSkpcmV0dXJuIGQxO2lmKHoxKXdpbmRvdy5fX1NJTV9QUkVWSUVXX189ejE7ZWxzZSBpZih3aW5kb3cuX19TSU1fUFJFVklFV19fKXtsZXR7YmFzZVBhdGg6eDEsZXhlY1Rva2VuOncxfT13aW5kb3cuX19TSU1fUFJFVklFV19fO3dpbmRvdy5fX1NJTV9QUkVWSUVXX189e2Jhc2VQYXRoOngxLGV4ZWNUb2tlbjp3MX19cmV0dXJuIHoxfSl9LEgxPXcwKG4pO3JldHVybiBIMS5vbm1lc3NhZ2U9KHoxKT0+e3RyeXtWMShYNShKU09OLnBhcnNlKHoxLmRhdGEpKSl9Y2F0Y2h7fX0sKCk9PkgxLmNsb3NlKCl9LFtLLGNdKSxFKCgpPT57aWYoISQ/LmxvZ3NFbmRwb2ludHx8IWUkKHdpbmRvdy5sb2NhdGlvbikpcmV0dXJuO2xldCBuPXcwKCQubG9nc0VuZHBvaW50KSxWMT1uZXcgTWFwLEgxPVsiIzhiZTlmZCIsIiM1MGZhN2IiLCIjZmZiODZjIiwiI2ZmNzljNiIsIiNiZDkzZjkiLCIjZjFmYThjIiwiIzYyNzJhNCIsIiNmZjU1NTUiLCIjNjlmZjk0IiwiI2Q2YWNmZiIsIiNmZmZmYTUiLCIjYTRmZmZmIiwiI2ZmNmU2ZSIsIiNjYWE5ZmEiLCIjNWFmNzhlIl07ZnVuY3Rpb24gejEodzEpe2xldCByMT1WMS5nZXQodzEpO2lmKCFyMSl7bGV0IHExPTA7Zm9yKGxldCBmMT0wO2YxPHcxLmxlbmd0aDtmMSsrKXExPShxMTw8NSktcTErdzEuY2hhckNvZGVBdChmMSl8MDtyMT1IMVtNYXRoLmFicyhxMSklSDEubGVuZ3RoXSxWMS5zZXQodzEscjEpfXJldHVybiByMX1sZXQgZDE9IiIseDE9ITE7cmV0dXJuIG4ub25tZXNzYWdlPSh3MSk9Pnt0cnl7bGV0IHIxPUpTT04ucGFyc2UodzEuZGF0YSkscTE9cjEucHJvY2Vzc0ltYWdlUGF0aD8uc3BsaXQoIi8iKS5wb3AoKT8/cjEuc2VuZGVySW1hZ2VQYXRoPy5zcGxpdCgiLyIpLnBvcCgpPz8iIixmMT1yMS5zdWJzeXN0ZW0/PyIiLFgwPXIxLmNhdGVnb3J5Pz8iIix6MD1yMS5ldmVudE1lc3NhZ2U/PyIiO2lmKCF6MClyZXR1cm47aWYocTEhPT1kMSl7aWYoeDEpY29uc29sZS5ncm91cEVuZCgpO2xldCBtMT16MShxMSk7Y29uc29sZS5ncm91cENvbGxhcHNlZChgJWMke3ExfSR7ZjE/YCAlYyR7ZjF9JHtYMD8iOiIrWDA6IiJ9YDoiIn1gLGBjb2xvcjoke20xfTtmb250LXdlaWdodDpib2xkYCwuLi5mMT9bImNvbG9yOiM4ODg7Zm9udC13ZWlnaHQ6bm9ybWFsIl06W10pLHgxPSEwLGQxPXExfWxldCBqMT0ocjEubWVzc2FnZVR5cGU/PyIiKS50b0xvd2VyQ2FzZSgpLCQwPWYxJiZxMT09PWQxP2AlYyR7WDB8fGYxfSVjIGA6IiIsQTA9JDA/WyJjb2xvcjojODg4O2ZvbnQtc3R5bGU6aXRhbGljIiwiY29sb3I6aW5oZXJpdCJdOltdO2lmKGoxPT09ImZhdWx0Inx8ajE9PT0iZXJyb3IiKWNvbnNvbGUubG9nKGAkeyQwfSVjJHt6MH1gLC4uLkEwLCJjb2xvcjojZmY1NTU1Iik7ZWxzZSBpZihqMT09PSJkZWJ1ZyIpY29uc29sZS5sb2coYCR7JDB9JWMke3owfWAsLi4uQTAsImNvbG9yOiM2MjcyYTQiKTtlbHNlIGNvbnNvbGUubG9nKGAkeyQwfSVjJHt6MH1gLC4uLkEwLCJjb2xvcjppbmhlcml0Iil9Y2F0Y2h7fX0sKCk9PntpZih4MSljb25zb2xlLmdyb3VwRW5kKCk7bi5jbG9zZSgpfX0sWyQ/LmxvZ3NFbmRwb2ludF0pO2xldCBCMD1LPz8kPy5kZXZpY2U/P251bGwsUDE9WDE/LmZpbmQoKG4pPT5uLmRldmljZT09PUIwKT8/bnVsbCxzMT13aW5kb3cuX19TSU1fUFJFVklFV19fPy5kZXZpY2U9PT1CMD93aW5kb3cuX19TSU1fUFJFVklFV19fPy5jaHJvbWU/P251bGw6bnVsbCxMMD0hISQmJiQuZGV2aWNlPT09QjAsYjE7aWYoTDAmJiQpYjE9WChrWSx7Y29uZmlnOiQsZGV2aWNlTmFtZTpQMT8ubmFtZT8/bnVsbCxkZXZpY2VSdW50aW1lOlAxPy5ydW50aW1lPz9udWxsLGNocm9tZTpQMT8uY2hyb21lPz9zMSxheE92ZXJsYXlFbmFibGVkOnEsc2V0QXhPdmVybGF5RW5hYmxlZDpHLGRldnRvb2xzT3BlbjpCLHNldERldnRvb2xzT3BlbjpMLGdyaWRPcGVuOlQsc2V0R3JpZE9wZW46UyxncmlkUGFuZWxXaWR0aDpQLHNlbGVjdGVkRGV2dG9vbHNUYXJnZXRJZDpqLHNldFNlbGVjdGVkRGV2dG9vbHNUYXJnZXRJZDp1LHN0cmVhbWluZzpRLHNldFN0cmVhbWluZzpaLHByZXNlbnRhdGlvbjpPLG9uRW50ZXJQcmVzZW50YXRpb246RDEsb25FeGl0UHJlc2VudGF0aW9uOmgxLGVtYmVkTG9ja2VkOkgsY2hyb21lRW5hYmxlZDp6LHNldENocm9tZUVuYWJsZWQ6Vn0pO2Vsc2V7bGV0IG49VD9QKzM2OjI0O2IxPVgoImRpdiIse2NsYXNzTmFtZToiaC1kdmggZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLTMgYmctcGFnZSBmb250LXN5c3RlbSBib3gtYm9yZGVyIFt0cmFuc2l0aW9uOnBhZGRpbmdfMC4yNXNfZWFzZV0iLHN0eWxlOntwYWRkaW5nTGVmdDpuLHBhZGRpbmdSaWdodDoyNH0sY2hpbGRyZW46UDE/WChtNCx7bmFtZTpQMS5uYW1lLHJ1bnRpbWU6UDEucnVudGltZSxjaHJvbWU6UDEuY2hyb21lPz9udWxsLHBsYWNlaG9sZGVyQXNzZXQ6UDEucGxhY2Vob2xkZXJBc3NldD8/bnVsbCxidXN5OiEhUDEuaGVscGVyfHwhIVJbUDEuZGV2aWNlXSxidXN5TGFiZWw6UDEuaGVscGVyPyJDb25uZWN0aW5n4oCmIjoiU3RhcnRpbmfigKYiLGVycm9yOmRbUDEuZGV2aWNlXT8/bnVsbCxvblN0YXJ0OigpPT5vMShQMS5kZXZpY2UpfSk6WDE/WCgiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciBnYXAtMyB0ZXh0LWNlbnRlciIsY2hpbGRyZW46W1goImgxIix7Y2xhc3NOYW1lOiJ0ZXh0LVsxOHB4XSBtLTAgdGV4dC13aGl0ZS85MCIsY2hpbGRyZW46Ik5vIHNpbXVsYXRvcnMgYXZhaWxhYmxlIn0pLFgoInAiLHtjbGFzc05hbWU6InRleHQtd2hpdGUvNTUgdGV4dC1bMTRweF0gbWF4LXctMTIwIixjaGlsZHJlbjpbIkNyZWF0ZSBhIHNpbXVsYXRvciBpbiBYY29kZSwgb3Igc3RhcnQgb25lIHdpdGgiLCIgIixYKCJjb2RlIix7Y2xhc3NOYW1lOiJiZy1bIzIyMl0gcHgtMS41IHB5LTAuNSByb3VuZGVkIHRleHQtWzEzcHhdIixjaGlsZHJlbjoiYnVueCBAZXhwby9zZXJ2ZS1zaW0gLS1kZXRhY2gifSksIi4iXX0pXX0pOm51bGx9KX1yZXR1cm4gWChZMSx7Y2hpbGRyZW46W2IxLFgoQzcse30pLFgoImRpdiIseyJhcmlhLWhpZGRlbiI6TyxzdHlsZTp7b3BhY2l0eTpPPzA6MSx2aXNpYmlsaXR5Oms/ImhpZGRlbiI6InZpc2libGUiLHBvaW50ZXJFdmVudHM6Tz8ibm9uZSI6dm9pZCAwLHRyYW5zaXRpb246YG9wYWNpdHkgJHtKM31tcyBlYXNlYH0sY2hpbGRyZW46W1goRzcse29wZW46VCxvbkNsb3NlOigpPT5TKCExKSx3aWR0aDpQLHNpZGU6ImxlZnQiLGRldmljZXM6WDEsdG90YWw6aCxoYXNNb3JlOm8sb25Mb2FkTW9yZTppLG9uTG9hZEFsbDpwLG9uUmVzZXRQYWdlOmIsc2VsZWN0ZWRVZGlkOkIwLG9uU2VsZWN0OkYxLHN0YXJ0aW5nOlIsc2h1dHRpbmdEb3duOkMxLG9uU2h1dGRvd246WTB9KSxYKEkzLHtwYW5lbFdpZHRoOlAsdmlzaWJsZTpULG9uUG9pbnRlckRvd246dixhcmlhTGFiZWw6IlJlc2l6ZSBzaW11bGF0b3JzIHNpZGViYXIiLHNpZGU6ImxlZnQifSksWCh4NCx7b3BlbjpULG9uQ2xpY2s6KCk9PlMoITApfSldfSldfSl9ZnVuY3Rpb24ga1koe2NvbmZpZzokLGRldmljZU5hbWU6SixkZXZpY2VSdW50aW1lOlEsY2hyb21lOlosYXhPdmVybGF5RW5hYmxlZDpLLHNldEF4T3ZlcmxheUVuYWJsZWQ6WSxkZXZ0b29sc09wZW46cSxzZXREZXZ0b29sc09wZW46RyxncmlkT3BlbjpCLHNldEdyaWRPcGVuOkwsZ3JpZFBhbmVsV2lkdGg6eixzZWxlY3RlZERldnRvb2xzVGFyZ2V0SWQ6VixzZXRTZWxlY3RlZERldnRvb2xzVGFyZ2V0SWQ6TixzdHJlYW1pbmc6SCxzZXRTdHJlYW1pbmc6TyxwcmVzZW50YXRpb246VSxvbkVudGVyUHJlc2VudGF0aW9uOkMsb25FeGl0UHJlc2VudGF0aW9uOk0sZW1iZWRMb2NrZWQ6ayxjaHJvbWVFbmFibGVkOncsc2V0Q2hyb21lRW5hYmxlZDpUfSl7RSgoKT0+e2RvY3VtZW50LnRpdGxlPUo/YFNpbXVsYXRvciAtICR7Sn1gOiJTaW11bGF0b3IgUHJldmlldyJ9LFtKXSk7bGV0IFM9ZjAoSiksUD1mJCgkLmRldnRvb2xzRW5kcG9pbnQ/P1MxKCJkZXZ0b29scyIpLHEpO0UoKCk9PntpZighcSlyZXR1cm47aWYoViYmUC50YXJnZXRzLnNvbWUoKHkpPT55LmlkPT09VikpcmV0dXJuO04oUC50YXJnZXRzLmxlbmd0aD09PTE/UC50YXJnZXRzWzBdLmlkOm51bGwpfSxbcSxQLnRhcmdldHMsVixOXSksRSgoKT0+e04obnVsbCl9LFskLmRldmljZSxOXSk7bGV0IHY9XyQoKSxqPXIkKHtkZXZpY2U6JC5kZXZpY2UsZW5kcG9pbnQ6JC5zdHJlYW1TZXR0aW5nc0VuZHBvaW50LGluaXRpYWxTZXR0aW5nczokLnN0cmVhbVNldHRpbmdzfSksdT1qLnNldHRpbmdzLHQ9ai51cGRhdGVQbGF5YmFjayxhPWoudHJhbnNwb3J0TG9ja2VkLHM9ai5jb25maWd1cmVkTWF4RGltZW5zaW9uLFoxPXUudHJhbnNwb3J0PT09IndlYnJ0YyIsbT1GKG51bGwpLEoxPVoxLFtSLFUxXT1BKG51bGwpLEMxPXUud2ViUnRjQ29kZWMsTzE9Uj8/QzEsZD13JCh7b2ZmZXJVcmw6SzMoJCksY2xvc2VVcmw6TDQoJCksZW5hYmxlZDpKMSxjb2RlYzpPMSxpY2VTZXJ2ZXJzOnUuaWNlU2VydmVyc30pLFtlLFgxXT1CMihhJCxCOSksW2hdPUEoKCk9Pm5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCkuZ2V0KCJjb2RlYyIpPT09Im1qcGVnIiksaT11Lmh0dHBDb2RlYz09PSJtanBlZyIscD0hSjEmJiFpJiZ2LnN1cHBvcnRlZCYmIWUuZmVsbEJhY2smJiFoLGI9RCQocHx8SjE/bnVsbDpCNCgkKSk7RSgoKT0+e08oITEpLFgxKCJyZXNldCIpLFUxKG51bGwpfSxbJC5zdHJlYW1VcmwsTyx1LnRyYW5zcG9ydCx1Lmh0dHBDb2RlYyx1LndlYlJ0Y0NvZGVjXSksRSgoKT0+e2lmKCFaMXx8IWQuZmFpbHVyZSlyZXR1cm47aWYobS5jdXJyZW50PT09ZC5mYWlsdXJlLnNlc3Npb25JZClyZXR1cm47bS5jdXJyZW50PWQuZmFpbHVyZS5zZXNzaW9uSWQ7bGV0IHk9WkooQzEsTzEsZC5mYWlsdXJlKTtpZigheSlyZXR1cm47aWYoeS50eXBlPT09InN3aXRjaC10by1odHRwIil7aWYoYSlyZXR1cm47dCh7dHJhbnNwb3J0OiJodHRwIn0pO3JldHVybn1VMSh5LmNvZGVjKX0sW0MxLE8xLGEsdCxaMSxkLmZhaWx1cmVdKTtsZXQgbz1hJiZkLmZhaWx1cmUmJiFkLmVycm9yPyJXZWJSVEMgc3RyZWFtaW5nIGZhaWxlZC4gSFRUUCBmYWxsYmFjayBpcyBkaXNhYmxlZCBmb3IgdGhpcyBzZXNzaW9uLiI6bnVsbDtFKCgpPT57aWYoIXApcmV0dXJuO2xldCB5PXNldFRpbWVvdXQoKCk9PlgxKCJ0aW1lb3V0IikscyQpO3JldHVybigpPT5jbGVhclRpbWVvdXQoeSl9LFtwLCQuc3RyZWFtVXJsXSk7bGV0W2MsRjFdPUEobnVsbCksW0QxLGgxXT1BKG51bGwpLGsxPUQxLG8xPWM/P2sxPz9TMihTLEopLFkwPXEzKFMsbzEpLEIwPWoyKFMsbzEpLFAxPVkzKG8xKSxzMT1FMihvMSksTDA9czE/czEud2lkdGgvczEuaGVpZ2h0OjEsYjE9dDAobzEpLG49ISFaJiYhYjEmJncsVjE9bj9aLmZyYW1lLndpZHRoL1ouc2NyZWVuLndpZHRoOjEsSDE9QjAqVjEsejE9bj9aLmZyYW1lLndpZHRoL1ouZnJhbWUuaGVpZ2h0OkwwLGQxPW4/YCR7Wi5mcmFtZS53aWR0aH0gLyAke1ouZnJhbWUuaGVpZ2h0fWA6UDEseDE9RihudWxsKSx3MT1GKFtdKSxyMT1GKCExKTtFKCgpPT57bGV0IHk9ITEscj1udWxsLGMxPW51bGw7dzEuY3VycmVudD1bXTtsZXQgQjE9KCk9PntpZih5fHxyKXJldHVybjtyPXNldFRpbWVvdXQoKCk9PntyPW51bGwsZzEoKX0sMTAwMCl9LGcxPSgpPT57bGV0IFEwPW5ldyBXZWJTb2NrZXQoJC53c1VybCk7UTAuYmluYXJ5VHlwZT0iYXJyYXlidWZmZXIiLGMxPVEwLHgxLmN1cnJlbnQ9UTAsUTAub25vcGVuPSgpPT57aWYodzEuY3VycmVudD1OOShRMCx3MS5jdXJyZW50KSxyMS5jdXJyZW50KXcxLmN1cnJlbnQ9SDkoUTAsdzEuY3VycmVudCwxNCx7ZW5hYmxlZDohMX0pfSxRMC5vbm1lc3NhZ2U9KHIwKT0+e2lmKCEocjAuZGF0YSBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKSlyZXR1cm47bGV0IEcyPW5ldyBVaW50OEFycmF5KHIwLmRhdGEpO2lmKEcyLmxlbmd0aDwxfHxHMlswXSE9PTEzMClyZXR1cm47dHJ5e2xldCBXMD1KU09OLnBhcnNlKG5ldyBUZXh0RGVjb2RlcigpLmRlY29kZShHMi5zdWJhcnJheSgxKSkpO2lmKFcwLndpZHRoPD0wfHxXMC5oZWlnaHQ8PTApcmV0dXJuO2gxKChWMik9PlYyJiZWMi53aWR0aD09PVcwLndpZHRoJiZWMi5oZWlnaHQ9PT1XMC5oZWlnaHQmJlYyLm9yaWVudGF0aW9uPT09VzAub3JpZW50YXRpb24/VjI6VzApfWNhdGNoe319LFEwLm9uY2xvc2U9KCk9PntpZih4MS5jdXJyZW50PT09UTApeDEuY3VycmVudD1udWxsO0IxKCl9LFEwLm9uZXJyb3I9KCk9PntRMC5jbG9zZSgpfX07cmV0dXJuIGcxKCksKCk9PntpZih5PSEwLHIpY2xlYXJUaW1lb3V0KHIpO2lmKHgxLmN1cnJlbnQ9PT1jMSl4MS5jdXJyZW50PW51bGw7YzE/LmNsb3NlKCl9fSxbJC53c1VybF0pO2xldCBxMT1JKCh5LHIpPT57dzEuY3VycmVudD1IOSh4MS5jdXJyZW50LHcxLmN1cnJlbnQseSxyKX0sW10pLGYxPUkxKCgpPT5RNygoeSk9PnExKDYse3R5cGU6eS50eXBlLHVzYWdlOnkudXNhZ2V9KSksW3ExXSk7RSgoKT0+KCk9PmYxLmRpc3Bvc2UoKSxbZjFdKTtsZXQgWDA9SSgoeSk9PntxMSgzLHkpfSxbcTFdKSx6MD1JKCh5KT0+cTEoNSx5KSxbcTFdKSxqMT1JKCh5KT0+cTEoNCx7YnV0dG9uOnl9KSxbcTFdKSwkMD1JKCh7cGhhc2U6eSxidXR0b246cn0pPT57aWYoci51c2FnZVBhZ2U9PW51bGx8fHIudXNhZ2U9PW51bGwpcmV0dXJuO3ExKDQse2J1dHRvbjpyLm5hbWUscGFnZTpyLnVzYWdlUGFnZSx1c2FnZTpyLnVzYWdlLHBoYXNlOnl9KX0sW3ExXSksQTA9SSgoeSk9PnExKDEwLHtkZWx0YTp5fSksW3ExXSksbTE9SSgoeSk9PnExKDExLHkpLFtxMV0pLGswPUkoKHkpPT57RjEoKHIpPT5yJiZyLndpZHRoPT09eS53aWR0aCYmci5oZWlnaHQ9PT15LmhlaWdodCYmci5vcmllbnRhdGlvbj09PXkub3JpZW50YXRpb24/cjp5KX0sW10pLGExPUkoKHkpPT57cTEoNyx7b3JpZW50YXRpb246eX0pfSxbcTFdKSxwMT1vMS5vcmllbnRhdGlvbj8/InBvcnRyYWl0IixFMT1TIT09IndhdGNoIiYmUyE9PSJ2aXNpb24iLF8wPUkoKHkpPT57aWYoIUUxKXJldHVybjtsZXQgcj0oeT09PSJsZWZ0Ij9KNTpVOClbcDFdO2ExKHIpfSxbRTEscDEsYTFdKTtFKCgpPT57RjEobnVsbCksaDEobnVsbCl9LFskLnN0cmVhbVVybF0pLEUoKCk9PntsZXQgeT1rMTtpZigheSlyZXR1cm47RjEoKHIpPT5yJiZyLndpZHRoPT09eS53aWR0aCYmci5oZWlnaHQ9PT15LmhlaWdodCYmci5vcmllbnRhdGlvbj09PXkub3JpZW50YXRpb24/cjpudWxsKX0sW2sxLGsxPy53aWR0aCxrMT8uaGVpZ2h0LGsxPy5vcmllbnRhdGlvbl0pO2xldCB4MD1JKCh5LHIpPT57cTEoNix7dHlwZTp5LHVzYWdlOnJ9KX0sW3ExXSksW1UwLFIwXT1BKG51bGwpLFtELGxdPUEoKCk9PntpZih0eXBlb2Ygd2luZG93PiJ1Inx8VSlyZXR1cm4hMTtsZXQgeT1OdW1iZXIod2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKCJzZXJ2ZS1zaW06dG9vbHMtcGFuZWwtd2lkdGgiKSkscj1OdW1iZXIuaXNGaW5pdGUoeSkmJnk+MD95Okw5O3JldHVybiB3aW5kb3cuaW5uZXJXaWR0aD49cis2NDB9KSwkMT1GKHtwYW5lbDohMSxkZXZ0b29sczohMX0pOyQxLmN1cnJlbnQ9e3BhbmVsOkQsZGV2dG9vbHM6cX07bGV0IEcxPUYobnVsbCk7RSgoKT0+e2lmKFUpe0cxLmN1cnJlbnQ/Pz0kMS5jdXJyZW50LGwoITEpLEcoITEpO3JldHVybn1sZXQgeT1HMS5jdXJyZW50O2lmKCF5KXJldHVybjtHMS5jdXJyZW50PW51bGwsbCh5LnBhbmVsKSxHKHkuZGV2dG9vbHMpfSxbVSxHXSk7bGV0e3dpZHRoOnkxLG9uUG9pbnRlckRvd246TjF9PXUzKCJzZXJ2ZS1zaW06dG9vbHMtcGFuZWwtd2lkdGgiLEw5LDI0MCw3MjApLHt3aWR0aDpfMSxvblBvaW50ZXJEb3duOlAwfT11Mygic2VydmUtc2ltOmRldnRvb2xzLXBhbmVsLXdpZHRoIix0JCw0MjAsMTQwMCksW3UxLGkxXT1BKCgpPT50eXBlb2Ygd2luZG93PCJ1Ij93aW5kb3cuaW5uZXJXaWR0aDowKSxbdjAsTjBdPUEoKCk9PnR5cGVvZiB3aW5kb3c+InUiPzA6d2luZG93LnZpc3VhbFZpZXdwb3J0Py5oZWlnaHQ/P3dpbmRvdy5pbm5lckhlaWdodCksW0owLFEyXT1BKCgpPT50eXBlb2Ygd2luZG93PiJ1Ij8wOndpbmRvdy5pbm5lckhlaWdodCk7RSgoKT0+e2xldCB5PXdpbmRvdy52aXN1YWxWaWV3cG9ydCxyPSgpPT57aTEod2luZG93LmlubmVyV2lkdGgpLFEyKHdpbmRvdy5pbm5lckhlaWdodCksTjAoeT8uaGVpZ2h0Pz93aW5kb3cuaW5uZXJIZWlnaHQpfTtyZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIscikseT8uYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIixyKSwoKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLHIpLHk/LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIscil9fSxbXSksRSgoKT0+e2xldCB5PXcwKCQuYXBwU3RhdGVFbmRwb2ludD8/UzEoImFwcHN0YXRlIikpLHI9bnVsbDtyZXR1cm4geS5vbm1lc3NhZ2U9KGMxKT0+e3RyeXtsZXQgQjE9SlNPTi5wYXJzZShjMS5kYXRhKTtpZihyKWNsZWFyVGltZW91dChyKTtsZXQgZzE9QjE/LmlzUmVhY3ROYXRpdmU/MDo2MDA7cj1zZXRUaW1lb3V0KCgpPT5SMChCMSksZzEpfWNhdGNoe319LCgpPT57aWYociljbGVhclRpbWVvdXQocik7eS5jbG9zZSgpfX0sWyQuYXBwU3RhdGVFbmRwb2ludF0pO2xldCBaMj1JKGFzeW5jKCk9Pnt4MCgiZG93biIsMjEpLGF3YWl0IG5ldyBQcm9taXNlKChyKT0+c2V0VGltZW91dChyLDMwKSkseDAoInVwIiwyMSl9LFt4MF0pLGwwPUYobnVsbCksRjA9RihudWxsKSxoMD1GKG51bGwpLFtuMCxmNV09QSgwKSxbWDIsYzNdPUEoMCk7RSgoKT0+e2xldCB5PWwwLmN1cnJlbnQ7aWYoIXl8fHR5cGVvZiBSZXNpemVPYnNlcnZlcj4idSIpcmV0dXJuO2xldCByPW5ldyBSZXNpemVPYnNlcnZlcigoYzEpPT57bGV0IEIxPWMxWzBdPy5jb250ZW50UmVjdDtmNShCMT8ud2lkdGg/PzApLGMzKEIxPy5oZWlnaHQ/PzApfSk7cmV0dXJuIHIub2JzZXJ2ZSh5KSwoKT0+ci5kaXNjb25uZWN0KCl9LFtdKTtsZXRbZDAsYzJdPUEoITApLF89RighMCk7Xy5jdXJyZW50PWQwO2xldCBXPUYobmV3IFNldCkseD1WMygpO3IxLmN1cnJlbnQ9eCxKSih4KTtsZXRbZyxLMV09QSghMSksTTE9RihnKTtNMS5jdXJyZW50PWc7bGV0IFcxPUYobnVsbCksVDE9RighMSkscTA9SSgoKT0+e1cxLmN1cnJlbnQ/LmJsdXIoKSxLMSghMSl9LFtdKSxTMD1JKCgpPT57bGV0IHk9VzEuY3VycmVudCxyPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT15LGMxPVo1KCk7aWYoZyYmKGMxfHxyKSlxMCgpO2Vsc2UgeT8uZm9jdXMoKSxLMSghMCl9LFtnLHEwXSksSzA9eCYmazgoSjAsdjApLEsyPXg/SjA6djAsWTI9SzA/djA6SzI7RSgoKT0+e2xldCB5PUYwLmN1cnJlbnQ7aWYoIXl8fCFLMClyZXR1cm47bGV0IHI9MCxjMT0oZzEpPT57cj1nMS50b3VjaGVzWzBdPy5jbGllbnRZPz8wfSxCMT0oZzEpPT57bGV0IFEwPWcxLnRhcmdldDtpZihRMCYmKGgwLmN1cnJlbnQ/LmNvbnRhaW5zKFEwKXx8UTAuY2xvc2VzdCgiW2RhdGEtcGFuZWxdIikpKXJldHVybjtsZXQgcjA9ZzEudG91Y2hlc1swXT8uY2xpZW50WT8/cjt5LnNjcm9sbFRvcCs9ci1yMCxyPXIwLGcxLnByZXZlbnREZWZhdWx0KCl9O3JldHVybiB5LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGMxLHtwYXNzaXZlOiEwfSkseS5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLEIxLHtwYXNzaXZlOiExfSksKCk9Pnt5LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGMxKSx5LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsQjEpfX0sW0swXSksRSgoKT0+e2lmKCFnKXtUMS5jdXJyZW50PSExO3JldHVybn1pZihLMCl7VDEuY3VycmVudD0hMDtyZXR1cm59aWYoIVQxLmN1cnJlbnQpcmV0dXJuO2xldCB5PXNldFRpbWVvdXQoKCk9PntpZihaNSgpKXJldHVybjtUMS5jdXJyZW50PSExLHEwKCl9LDIwMCk7cmV0dXJuKCk9PmNsZWFyVGltZW91dCh5KX0sW2csSzAscTBdKSxFKCgpPT57aWYoVSl7YzIoITApO3JldHVybn1sZXQgeT0ocik9PntsZXQgYzE9ISFsMC5jdXJyZW50Py5jb250YWlucyhyLnRhcmdldCk7YzIoYzEpfTtyZXR1cm4gZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcmRvd24iLHksITApLCgpPT5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVyZG93biIseSwhMCl9LFtVXSksRSgoKT0+e2lmKGQwKXJldHVybjtsZXQgeT1XLmN1cnJlbnQ7aWYoeS5zaXplPT09MClyZXR1cm47Zm9yKGxldCByIG9mIHkpcTEoNix7dHlwZToidXAiLHVzYWdlOnJ9KTt5LmNsZWFyKCl9LFtkMCxxMV0pLEUoKCk9PntsZXQgeT0oQjEsZzEpPT57bGV0IFEwPV8uY3VycmVudCxyMD1NMS5jdXJyZW50O2lmKFEwJiYhcjApe2lmKEIxLmNvZGU9PT0iS2V5SCImJkIxLm1ldGFLZXkmJkIxLnNoaWZ0S2V5KXtpZihCMS5wcmV2ZW50RGVmYXVsdCgpLGcxPT09ImRvd24iJiYhQjEucmVwZWF0KXExKDQse2J1dHRvbjoiaG9tZSJ9KTtyZXR1cm59aWYoKEIxLmNvZGU9PT0iQXJyb3dMZWZ0Inx8QjEuY29kZT09PSJBcnJvd1JpZ2h0IikmJkIxLm1ldGFLZXkmJiFCMS5zaGlmdEtleSYmIUIxLmFsdEtleSYmIUIxLmN0cmxLZXkpe2lmKEIxLnByZXZlbnREZWZhdWx0KCksZzE9PT0iZG93biImJiFCMS5yZXBlYXQpXzAoQjEuY29kZT09PSJBcnJvd0xlZnQiPyJsZWZ0IjoicmlnaHQiKTtyZXR1cm59aWYoQjEuY29kZT09PSJLZXlBIiYmQjEubWV0YUtleSYmQjEuc2hpZnRLZXkpe2lmKEIxLnByZXZlbnREZWZhdWx0KCksZzE9PT0iZG93biImJiFCMS5yZXBlYXQpQTEoImFwcGVhcmFuY2UuZ2V0Iix7dWRpZDokLmRldmljZX0pLnRoZW4oKFcwKT0+e2xldCBWMj1XMC5zdGRvdXQudHJpbSgpPT09ImRhcmsiPyJsaWdodCI6ImRhcmsiO3JldHVybiBBMSgiYXBwZWFyYW5jZS5zZXQiLHt1ZGlkOiQuZGV2aWNlLHZhbHVlOlYyfSl9KS5jYXRjaCgoKT0+e30pO3JldHVybn1pZihCMS5jb2RlPT09IktleUsiJiZCMS5tZXRhS2V5JiYhQjEuc2hpZnRLZXkmJiFCMS5hbHRLZXkmJiFCMS5jdHJsS2V5KXtpZihCMS5wcmV2ZW50RGVmYXVsdCgpLGcxPT09ImRvd24iJiYhQjEucmVwZWF0KXExKDEyLHt9KTtyZXR1cm59fWlmKGcxPT09InVwIil7bGV0IFcwPU0yKEIxLmNvZGUpO2lmKFcwPT1udWxsfHwhVy5jdXJyZW50LmhhcyhXMCkpcmV0dXJuO0IxLnByZXZlbnREZWZhdWx0KCksVy5jdXJyZW50LmRlbGV0ZShXMCkscTEoNix7dHlwZTpnMSx1c2FnZTpXMH0pO3JldHVybn1sZXQgRzI9ZTQoQjEuY29kZSx7c2ltRm9jdXNlZDpRMCxrZXlib2FyZE9wZW46cjAsY2FwdHVyZUlucHV0RW1wdHk6KFcxLmN1cnJlbnQ/LnZhbHVlPz8iIik9PT0iIn0pO2lmKEcyPT1udWxsKXJldHVybjtCMS5wcmV2ZW50RGVmYXVsdCgpLFcuY3VycmVudC5hZGQoRzIpLHExKDYse3R5cGU6ZzEsdXNhZ2U6RzJ9KX0scj0oQjEpPT55KEIxLCJkb3duIiksYzE9KEIxKT0+eShCMSwidXAiKTtyZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLHIpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJrZXl1cCIsYzEpLCgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLHIpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXl1cCIsYzEpfX0sW3ExLCQuZGV2aWNlLF8wXSk7bGV0IG8yPWckKCksQzk9aiQoJC5kZXZpY2UpLE05PUYkKHt1ZGlkOiQuZGV2aWNlLGVuYWJsZWQ6SCxvblVwbG9hZFN0YXJ0Om8yLmFkZCxvblVwbG9hZFByb2dyZXNzOm8yLnNldFByb2dyZXNzLG9uVXBsb2FkRW5kOih5LHIsYzEpPT5vMi51cGRhdGUoeSx7c3RhdHVzOnI/InN1Y2Nlc3MiOiJlcnJvciIsbWVzc2FnZTpjMX0pLG9uVW5zdXBwb3J0ZWQ6KHkpPT57bGV0IHI9bzIuYWRkKHkubmFtZSwibWVkaWEiKTtvMi51cGRhdGUocix7c3RhdHVzOiJlcnJvciIsbWVzc2FnZTpgVW5zdXBwb3J0ZWQ6ICR7eS50eXBlfHx1Mih5KX1gfSl9LG9uSG9zdFBhdGhEcm9wOkM5LmRpc21pc3N9KSxIMD12JCh7ZGVmYXVsdFdpZHRoOkgxLHZpZXdwb3J0V2lkdGg6dTEsdmlld3BvcnRIZWlnaHQ6SzIsYXNwZWN0UmF0aW86ejEscmVzZXJ2ZWRGb3JDaHJvbWU6JDMsb25TdGFydDooKT0+YzIoITEpfSksTzk9MTIsQTk9MjQsS0o9OCxrOT02NDAsWUo9bjA+MD9NYXRoLm1pbihuMCxIMC53aWR0aCk6SDAud2lkdGgsRjk9KHkpPT57aWYoeTw9MClyZXR1cm4gMDtsZXQgcj11MS1POS15LEIxPXUxLzIrWUovMi0oci1BOSk7aWYoQjE8PTApcmV0dXJuIDA7bGV0IGcxPTIqQjE7cmV0dXJuIGcxPD15K0E5P2cxOjB9LFc5PXE/XzE6RD95MTowLFtvMyxEOV09QSghMSk7RSgoKT0+e2lmKFUpe0Q5KCEwKTtyZXR1cm59aWYoIW8zKXJldHVybjtsZXQgeT1zZXRUaW1lb3V0KCgpPT5EOSghMSksSjMpO3JldHVybigpPT5jbGVhclRpbWVvdXQoeSl9LFtVLG8zXSk7bGV0IGkyPVV8fG8zLHFKPVU/MDpGOShXOSksR0o9VT8wOkY5KEI/ejowKSxuMj1GOCxxMj1IMC53aWR0aCxpMz16MT4wP0cwKHEyL3oxKTowLF85PVU/ZTYodTEsSzIsejEsbjIpOnEyLFZKPXEyPjAmJl85PjA/XzkvcTI6MSxGMj1IMC5pc1Jlc2l6aW5nfHxIMC5pc0luZXJ0aWE7cmV0dXJuIGgkKGgwLCFGMiYmIVUscTIsaTMsSzIsSzAsaTIpLFgoeTQse2VuZHBvaW50Oks/JD8uYXhFbmRwb2ludDp2b2lkIDAsY2hpbGRyZW46WCgiZGl2Iix7cmVmOkYwLGNsYXNzTmFtZTpgZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIgaC1kdmggYmctcGFnZSBmb250LXN5c3RlbSBib3gtYm9yZGVyICR7SzA/Imp1c3RpZnktc3RhcnQgb3ZlcmZsb3cteS1oaWRkZW4iOiJqdXN0aWZ5LWNlbnRlciJ9ICR7VT8iZ2FwLTAiOiJwdC0xNiBwYi02IHNtOnB5LTYgZ2FwLTMifWAsc3R5bGU6e2hlaWdodDpZMj4wP1kyOnZvaWQgMCxwYWRkaW5nVG9wOlU/bjI6dm9pZCAwLHBhZGRpbmdCb3R0b206VT9uMjp2b2lkIDAscGFkZGluZ0xlZnQ6VT9uMjoyNCtHSixwYWRkaW5nUmlnaHQ6VT9uMjoyNCtxSix0cmFuc2l0aW9uOkYyfHxpMj8ibm9uZSI6djZ9LGNoaWxkcmVuOltLMCYmWCgiZGl2Iix7ImFyaWEtaGlkZGVuIjohMCxzdHlsZTp7aGVpZ2h0OlU/Im1heChlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCwgMHB4KSwgNjhweCkiOiJlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCwgMHB4KSIsZmxleFNocmluazowLHdpZHRoOiIxMDAlIn19KSxYKCJkaXYiLHtjbGFzc05hbWU6YGZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIG1pbi13LTAgJHtLMD8ic2hyaW5rLTAiOiIifSAke1U/ImdhcC0wIjoiZ2FwLTMifWAsc3R5bGU6e3dpZHRoOnEyLHRyYW5zaXRpb246RjI/Vzg6dm9pZCAwfSxjaGlsZHJlbjpbIVUmJlgoImRpdiIse2NsYXNzTmFtZTpgZml4ZWQgc206c3RhdGljIHRvcC1bMThweF0gc206dG9wLWF1dG8gbGVmdC0xLzIgLXRyYW5zbGF0ZS14LTEvMiBzbTp0cmFuc2xhdGUteC0wIHotMzAgc206ei1hdXRvIHNlbGYtY2VudGVyICR7RHx8cT8ibWF4LXNtOmhpZGRlbiI6IiJ9YCxjaGlsZHJlbjpYKGUxLHtvblJvdGF0ZTphMSxvcmllbnRhdGlvbjpvMS5vcmllbnRhdGlvbj8/bnVsbCxkZXZpY2VVZGlkOiQuZGV2aWNlLGRldmljZU5hbWU6SixkZXZpY2VSdW50aW1lOlEsc3RyZWFtaW5nOkgsImFyaWEtbGFiZWwiOiJTaW11bGF0b3Igc3RhdHVzIixzdHlsZTp7d2lkdGg6ImF1dG8iLG1pbldpZHRoOjAsbWF4V2lkdGg6IjEwMCUiLGZsZXhXcmFwOiJub3dyYXAiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLGdhcDoxMCxwYWRkaW5nOiI2cHggMTBweCIsYm9yZGVyUmFkaXVzOjE4fSxjaGlsZHJlbjpbWCgic3BhbiIse2NsYXNzTmFtZToiaGlkZGVuIHNtOmNvbnRlbnRzIixjaGlsZHJlbjpYKGUxLlRpdGxlLHtvbkNsaWNrOigpPT5MKCh5KT0+IXkpLCJhcmlhLWxhYmVsIjoiVG9nZ2xlIHNpbXVsYXRvcnMgc2lkZWJhciIsImFyaWEtcHJlc3NlZCI6Qix0aXRsZToiU2ltdWxhdG9ycyIsaGlkZVN1YnRpdGxlOiEwLGhpZGVDaGV2cm9uOiEwLHN0eWxlOnttYXhXaWR0aDoibWluKDIzMHB4LCBjYWxjKDEwMHZ3IC0gMTcwcHgpKSJ9fSl9KSxYKEE3LHtzdHJlYW1pbmc6SH0pXX0pfSksVSYmIWsmJlgobzQse29uRXhpdDpNLGNoaWxkcmVuOngmJlgoZDgse29wZW46ZyxvbkNsaWNrOlMwfSl9KSxYKEo3LHtvcGVuOmcsb25LZXlzOih5KT0+ZjEuZW5xdWV1ZSh5KSxpbnB1dFJlZjpXMX0pLFgoImRpdiIse3JlZjpoMCxzdHlsZTp7d2lkdGg6cTIsaGVpZ2h0OmkzPjA/aTM6dm9pZCAwLHRyYW5zaXRpb246RjI/Vzg6dm9pZCAwfSxjaGlsZHJlbjpYKCJkaXYiLHtyZWY6bDAsY2xhc3NOYW1lOiJyZWxhdGl2ZSB3LWZ1bGwgaC1mdWxsIixzdHlsZTp7YXNwZWN0UmF0aW86ZDEsdHJhbnNmb3JtOmkyP2BzY2FsZSgke1ZKfSlgOnZvaWQgMCx0cmFuc2Zvcm1PcmlnaW46ImNlbnRlciBjZW50ZXIiLHRyYW5zaXRpb246RjI/dm9pZCAwOmkyP1EzOnZvaWQgMCx3aWxsQ2hhbmdlOkYyPyJ3aWR0aCI6aTI/InRyYW5zZm9ybSI6dm9pZCAwfSwuLi5NOS5kcm9wWm9uZVByb3BzLGNoaWxkcmVuOlsoKCk9PntsZXQgeT1YKFgzLHt1cmw6JC51cmwsd3NVcmw6JC53c1VybCxzdHlsZTp7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsYm9yZGVyOiJub25lIixwb2ludGVyRXZlbnRzOkgwLmlzUmVzaXppbmd8fEgwLmlzSW5lcnRpYT8ibm9uZSI6dm9pZCAwfSxpbWFnZVN0eWxlOntib3JkZXJSYWRpdXM6bj8wOlkwLGNvcm5lclNoYXBlOm4/dm9pZCAwOiJzdXBlcmVsbGlwc2UoMS4zKSIsLi4ubj97fTp7Ym94U2hhZG93OiJpbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpIn19LGhpZGVDb250cm9sczohMCxvblN0cmVhbWluZ0NoYW5nZTpPLG9uU3RyZWFtVG91Y2g6WDAsb25TdHJlYW1NdWx0aVRvdWNoOnowLG9uU3RyZWFtQnV0dG9uOmoxLG9uU3RyZWFtRGlnaXRhbENyb3duOkEwLG9uU3RyZWFtU2Nyb2xsOm0xLHN0cmVhbU1vZGU6SjE/IndlYnJ0YyI6cD8iYXZjYyI6Im1qcGVnIix3ZWJSdGNTdHJlYW06ZC5zdHJlYW0sb25XZWJSdGNGcmFtZTpkLm1hcmtGcmFtZURlY29kZWQsc3RyZWFtRXJyb3I6SjE/ZC5lcnJvcj8/bzpudWxsLG9uQXZjY0Vycm9yOigpPT5YMSgiZXJyb3IiKSxvbkF2Y2NEZWNvZGVkRnJhbWU6KCk9PlgxKCJkZWNvZGVkLWZyYW1lIiksc3Vic2NyaWJlRnJhbWU6cD92b2lkIDA6Yi5zdWJzY3JpYmVGcmFtZSxzdHJlYW1GcmFtZTpwP3ZvaWQgMDpiLmZyYW1lLHN0cmVhbUNvbmZpZzpvMSxlbmFibGVEaWdpdGFsQ3Jvd246Uz09PSJ3YXRjaCIsb25TY3JlZW5Db25maWdDaGFuZ2U6azB9KSxyPVgoWTEse2NoaWxkcmVuOlt5LEsmJiFVJiZYKHc0LHt9KV19KTtpZighbilyZXR1cm4gcjtyZXR1cm4gWChEMyx7Y2hyb21lOlosaW50ZXJhY3RpdmU6ITAsY29udGFpbmVyU2l6ZTpuMD4wJiZYMj4wP3t3aWR0aDpuMCxoZWlnaHQ6WDJ9OnZvaWQgMCxvbkJ1dHRvbjokMCxvbkNyb3duV2hlZWw6KGMxLEIxKT0+e2xldCBnMT1RNShjMSxCMSxYMnx8MSk7aWYoZzEhPW51bGwpQTAoZzEpfSxzY3JlZW46cn0pfSkoKSxNOS5pc0RyYWdPdmVyJiZYKCJkaXYiLHtjbGFzc05hbWU6ImFic29sdXRlIGluc2V0LTAgZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLTIgYm9yZGVyLTIgYm9yZGVyLWRhc2hlZCBib3JkZXItYWNjZW50IGJnLVtyZ2JhKDk5LDEwMiwyNDEsMC4xOCldIHRleHQtYWNjZW50IHBvaW50ZXItZXZlbnRzLW5vbmUgei0yMCIsc3R5bGU6e2JvcmRlclJhZGl1czpuP3ZvaWQgMDpZMH0sY2hpbGRyZW46W1goXzUse3NpemU6MzIsc3Ryb2tlV2lkdGg6MS41fSksWCgic3BhbiIse2NsYXNzTmFtZToidGV4dC1bMTNweF0gZm9udC1tZWRpdW0iLGNoaWxkcmVuOiJEcm9wIG1lZGlhIG9yIC5pcGEifSldfSksIVUmJnUxPj1rOSYmWChMNyx7c2ltdWxhdG9yUmVzaXplOkgwLGRldmljZVR5cGU6UyxzdHJlYW1Db25maWc6bzEsY29udGFpbmVyV2lkdGg6bjB8fEgwLndpZHRoLGNvbnRhaW5lckhlaWdodDpYMnx8KHoxPjA/SDAud2lkdGgvejE6MCl9KSxYKE83LHt3aWR0aDpuMHx8SDAud2lkdGgsaGVpZ2h0OlgyfHwoejE+MD9IMC53aWR0aC96MTowKSx2aXNpYmxlOiFVJiYoSDAuaXNSZXNpemluZ3x8SDAuaXNJbmVydGlhKX0pXX0pfSksIVUmJlgoImRpdiIse2NsYXNzTmFtZToiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdhcC0yIG1heC13LWZ1bGwgcGItMSBzbTpwYi0wIixjaGlsZHJlbjpbWChlMSx7b25Sb3RhdGU6YTEsb3JpZW50YXRpb246bzEub3JpZW50YXRpb24/P251bGwsZGV2aWNlVWRpZDokLmRldmljZSxkZXZpY2VOYW1lOkosZGV2aWNlUnVudGltZTpRLHN0cmVhbWluZzpILCJhcmlhLWxhYmVsIjoiU2ltdWxhdG9yIGFjdGlvbnMiLHN0eWxlOnthbGlnblNlbGY6ImNlbnRlciIsd2lkdGg6ImF1dG8iLG1pbldpZHRoOjAsbWF4V2lkdGg6IjEwMCUiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLHBhZGRpbmc6IjZweCA4cHgiLGJvcmRlclJhZGl1czoxOH0sY2hpbGRyZW46WChlMS5BY3Rpb25zLHtjaGlsZHJlbjpbVTA/LmlzUmVhY3ROYXRpdmUmJlgoZTEuQnV0dG9uLHsiYXJpYS1sYWJlbCI6IlJlbG9hZCBSZWFjdCBOYXRpdmUgYnVuZGxlIix0aXRsZToiUmVsb2FkIChSKSIsb25DbGljazooKT0+dm9pZCBaMigpLGNoaWxkcmVuOlgoSDIse30pfSksWChlMS5Ib21lQnV0dG9uLHt0aXRsZToiSG9tZSJ9KSxYKGUxLlNjcmVlbnNob3RCdXR0b24se3RpdGxlOiJTY3JlZW5zaG90IixvbkNsaWNrOih5KT0+e3kucHJldmVudERlZmF1bHQoKSxDOS5jYXB0dXJlKCl9fSksWChlMS5Sb3RhdGVCdXR0b24se3RpdGxlOiJSb3RhdGUgZGV2aWNlIn0pXX0pfSksWChlMSx7b25Sb3RhdGU6YTEsb3JpZW50YXRpb246bzEub3JpZW50YXRpb24/P251bGwsZGV2aWNlVWRpZDokLmRldmljZSxkZXZpY2VOYW1lOkosZGV2aWNlUnVudGltZTpRLHN0cmVhbWluZzpILCJhcmlhLWxhYmVsIjoiQWNjZXNzaWJpbGl0eSBvdmVybGF5IixzdHlsZTp7d2lkdGg6ImF1dG8iLG1pbldpZHRoOjAsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciIscGFkZGluZzo2LGJvcmRlclJhZGl1czoyMn0sY2hpbGRyZW46WChiNCx7b3ZlcmxheUVuYWJsZWQ6SyxzdHJlYW1pbmc6SCxvblRvZ2dsZU92ZXJsYXk6KCk9PlkoKHkpPT4heSl9KX0pXX0pXX0pLCFVJiZYKFkxLHtjaGlsZHJlbjpbWCgiZGl2Iix7Y2xhc3NOYW1lOiJmaXhlZCB0b3AtMyBmbGV4IGZsZXgtcm93IHNtOmZsZXgtY29sIGdhcC0xIHAtMSBiZy1wYW5lbC1iZyBib3JkZXIgYm9yZGVyLXdoaXRlLzggcm91bmRlZC1bMTBweF0gYmFja2Ryb3AtYmx1ci1bMTJweF0gWy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTJweCldIFt0cmFuc2l0aW9uOnJpZ2h0XzAuMjRzX2N1YmljLWJlemllcigwLjIyLDEsMC4zNiwxKV0gei0zMCIsc3R5bGU6e3JpZ2h0Ok85KygoRHx8cSkmJnUxPj1rOT9XOStLSjowKX0sY2hpbGRyZW46W3gmJlgoZDgse29wZW46ZyxvbkNsaWNrOlMwfSksWCh5MCx7b25DbGljazpDLCJhcmlhLWxhYmVsIjoiRnVsbCBzY3JlZW4iLHRpdGxlOiJGdWxsIHNjcmVlbiIsY2hpbGRyZW46WChPNSx7c2l6ZToxOCxzdHJva2VXaWR0aDoxLjc1fSl9KSxYKHkwLHtvbkNsaWNrOigpPT57RyghMSksbCgoeSk9PiF5KX0sImFyaWEtbGFiZWwiOiJPcGVuIHRvb2xzIHBhbmVsIiwiYXJpYS1wcmVzc2VkIjpELHRpdGxlOiJUb29scyIsY2hpbGRyZW46WChrNSx7c2l6ZToxOCxzdHJva2VXaWR0aDoxLjc1fSl9KSxYKHkwLHtvbkNsaWNrOigpPT57bCghMSksRygoeSk9PiF5KX0sY2xhc3NOYW1lOiJtYXgtc206aGlkZGVuIiwiYXJpYS1sYWJlbCI6Ik9wZW4gV2ViS2l0IERldlRvb2xzIiwiYXJpYS1wcmVzc2VkIjpxLHRpdGxlOiJXZWJLaXQgRGV2VG9vbHMiLGNoaWxkcmVuOlgoTjUse3NpemU6MTgsc3Ryb2tlV2lkdGg6MS43NX0pfSldfSksWChOJCx7b3BlbjpELG9uQ2xvc2U6KCk9PmwoITEpLHVkaWQ6JC5kZXZpY2UsZGV2aWNlUnVudGltZTpRLGN1cnJlbnRBcHA6VTAsZXZlbnRMb2dFdmVudHNFbmRwb2ludDokLmV2ZW50TG9nRXZlbnRzRW5kcG9pbnQsbWV0cmljc0VuZHBvaW50OiQubWV0cmljc0VuZHBvaW50LGF4T3ZlcmxheUVuYWJsZWQ6SyxvblRvZ2dsZUF4T3ZlcmxheTooKT0+WSgoeSk9PiF5KSxzdHJlYW1TZXR0aW5nczp1LG9uU3RyZWFtUGxheWJhY2tTZXR0aW5nc0NoYW5nZTpqLnVwZGF0ZVBsYXliYWNrLG9uU3RyZWFtRW5jb2RlclNldHRpbmdzQ2hhbmdlOmoudXBkYXRlRW5jb2RlcixhY3RpdmVDb2RlYzpKMT9gd2VicnRjLyR7TzF9YDpwPyJoMjY0IjoibWpwZWciLHBlZXJDb25uZWN0aW9uOmQucGVlckNvbm5lY3Rpb24sd2VicnRjU2Vzc2lvbklkOmQuc2Vzc2lvbklkLHdlYnJ0Y1N0YXRzVXJsOno0KCQpLGF2Y2NTdXBwb3J0ZWQ6di5zdXBwb3J0ZWQsc3RyZWFtU2V0dGluZ3NQZW5kaW5nOmoucGVuZGluZ3x8IWouZW5jb2RlclNldHRpbmdzQXZhaWxhYmxlLHN0cmVhbVRyYW5zcG9ydExvY2tlZDphLHN0cmVhbUNvbmZpZ3VyZWRNYXhEaW1lbnNpb246cyx3aWR0aDp5MSxjaHJvbWVFbmFibGVkOncsb25DaHJvbWVFbmFibGVkQ2hhbmdlOlQsaGFzQ2hyb21lOiEhWiYmIWIxfSksWChJMyx7cGFuZWxXaWR0aDp5MSx2aXNpYmxlOkQsb25Qb2ludGVyRG93bjpOMSxhcmlhTGFiZWw6IlJlc2l6ZSB0b29scyBwYW5lbCJ9KSxYKGskLHtvcGVuOnEsb25DbG9zZTooKT0+RyghMSksdWRpZDokLmRldmljZSx0YXJnZXRzOlAudGFyZ2V0cyxzZWxlY3RlZFRhcmdldElkOlYsb25TZWxlY3RUYXJnZXQ6Tixsb2FkaW5nOlAubG9hZGluZyxlcnJvcjpQLmVycm9yLG9uUmVmcmVzaDooKT0+dm9pZCBQLnJlZnJlc2goKSx3aWR0aDpfMX0pLFgoSTMse3BhbmVsV2lkdGg6XzEsdmlzaWJsZTpxLG9uUG9pbnRlckRvd246UDAsYXJpYUxhYmVsOiJSZXNpemUgV2ViS2l0IERldlRvb2xzIHBhbmVsIn0pXX0pXX0pfSl9TDYoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJvb3QiKSkucmVuZGVyKFgoQVkse30pKTsKPC9zY3JpcHQ+CjwvYm9keT48L2h0bWw+","base64").toString("utf-8");return cX}var r5=new Map;function o5($){let v=[$.name,$.runtime,$.deviceTypeIdentifier??""].join("\x00"),U=r5.get($.udid);if(U?.signature===v)return U.device;let J={device:$.udid,name:$.name,runtime:$.runtime,chrome:pI($),placeholderAsset:mQ($)};return r5.set($.udid,{signature:v,device:J}),J}function XP($,v,U){let J=lB(),_=(N)=>{if(/iphone/i.test(N))return 0;if(/ipad/i.test(N))return 1;if(/watch/i.test(N))return 2;if(/(apple\s*tv|^tv\b)/i.test(N))return 3;if(/vision|reality/i.test(N))return 4;return 5},I=(N)=>{if(v.has(N.udid))return 0;if(U&&N.udid===U)return 1;if(N.state==="Booted")return 2;if(N.udid===J)return 3;return 4},D=(N)=>{let X=N.match(/-(\d+)-(\d+)/),Q=X?Number(X[1]):0,W=X?Number(X[2]):0;return-(Q*1000+W)};return $.sort((N,X)=>I(N)-I(X)||_(N.name)-_(X.name)||N.name.localeCompare(X.name)||D(N.runtime)-D(X.runtime))}function QP(){return new Promise(($)=>{C4("xcrun",["simctl","list","devices","-j"],{encoding:"utf-8",timeout:3000},(v,U)=>{if(v)return $([]);try{let J=JSON.parse(U),_=[];for(let[I,D]of Object.entries(J.devices)){if(!/SimRuntime\.(iOS|watchOS|visionOS|xrOS)-/i.test(I))continue;for(let N of D){if(N.isAvailable===!1)continue;_.push({...N,runtime:I.replace(/^.*SimRuntime\./,"")})}}$(_)}catch{$([])}})})}async function dX($){let[v,U]=await Promise.all([J4(),QP()]),J=new Map(v.map((_)=>[_.device,_]));return{simulators:XP(U,J,$),helperByUdid:J}}function p5($,v,U,J,_){return $.map((I)=>{let D=v.get(I.udid),N=D?eU(D,B1(U),J,sU(U),_):null;return{device:I.udid,state:I.state,helper:N?{port:N.port,url:N.url,streamUrl:N.streamUrl,wsUrl:N.wsUrl}:null}})}var WP=1610612736;function YP(){try{let $=Number(P1("sysctl -n hw.memsize",{encoding:"utf-8",stdio:["ignore","pipe","ignore"],timeout:1500}).trim()),v=Number(P1("sysctl -n hw.pagesize",{encoding:"utf-8",stdio:["ignore","pipe","ignore"],timeout:1500}).trim()),U=P1("vm_stat",{encoding:"utf-8",stdio:["ignore","pipe","ignore"],timeout:1500}),J=(I)=>{let D=U.match(I);return D?Number(D[1]):0},_=J(/Pages free:\s+(\d+)/)+J(/Pages inactive:\s+(\d+)/)+J(/Pages speculative:\s+(\d+)/);return{totalBytes:Number.isFinite($)?$:0,availableBytes:_*(Number.isFinite(v)?v:4096)}}catch{return{totalBytes:0,availableBytes:0}}}function GP(){try{let $=P1("ps -axo rss=,args=",{encoding:"utf-8",stdio:["ignore","pipe","ignore"],timeout:3000,maxBuffer:8388608}),v={},U=0,J=/\/Devices\/([0-9A-F-]{36})\//i;for(let _ of $.split(`
138
138
  `)){let I=_.trimStart();if(!I)continue;let D=J.exec(I);if(!D)continue;let N=Number(I.split(/\s+/,1)[0]);if(!Number.isFinite(N))continue;let X=N*1024,Q=D[1].toUpperCase();v[Q]=(v[Q]??0)+X,U+=X}return{perUdid:v,totalBytes:U}}catch{return{perUdid:{},totalBytes:0}}}function KP(){let{totalBytes:$,availableBytes:v}=YP(),U=GP(),J=Object.keys(U.perUdid).length,_=J>0?U.totalBytes/J:0,I=_>=268435456?"measured":"estimated",D=I==="measured"?_:WP,N=D>0?Math.max(0,Math.floor(v/D)):0;return{totalBytes:$,availableBytes:v,runningSimulators:J,perSimAvgBytes:D,perSimSource:I,estimatedAdditional:N}}function _7($){if($==="auto"||$==="h264"||$==="mjpeg")return{transport:"http",codec:$};return}function zP($,v,U,J=t5,_=[],I=z6){if(!U){v.writeHead(404),v.end("No serve-sim device");return}v.writeHead(200,{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","X-Accel-Buffering":"no",...i8($.headers.origin,_)}),v.write(`:
139
139
 
140
140
  `);let D=I.subscribe(U.device),{meta:N,unsubscribe:X}=J.subscribe(U.device,(W)=>{if(!v.writableEnded)v.write("data: "+JSON.stringify(W)+`
@@ -188,5 +188,5 @@ ${k}`)}})();return}if(!j){K.destroy();return}let B=j.device??E;if(j.upstreamPath
188
188
  \r
189
189
  `)};let F=async(O)=>{return $5(L,O)},Z=eG({path:`${U}/exec-ws`,execToken:N,ssePrefixes:[`${U}/api/events`,`${U}/api/event-log/events`,`${U}/grid/api/status/events`,`${U}/appstate`,`${U}/logs`,`${U}/metrics`,`${U}/ax`],onUiRequest:G,serveSimBinPath:DP(),onActionResult:(O,K,M)=>gB(O,K,M),onSseRequest(O,K){let M=new URL(O,K.url);return F(new Request(M,{headers:{accept:"text/event-stream",authorization:`Bearer ${N}`}}))}});return F.handleWebSocket=(O,K)=>{if(!nI({authorization:O.headers.get("authorization")??void 0,cookie:O.headers.get("cookie")??void 0,origin:O.headers.get("origin")??void 0,host:O.headers.get("host")??void 0,"sec-fetch-site":O.headers.get("sec-fetch-site")??void 0},N,{required:X}))return K.close(),!0;if(Z(O,K))return!0;if(n8(O,K,{helperProxyTarget:(M)=>oX(M,J),fallbackDevice:$?.device??null,resolveSession:(M)=>Bv(M,v)}))return!0;return!1},F.handleUpgrade=(O,K,M)=>{L.handleUpgrade?.(O,K,M)},F}export{eB as startDeviceInProcess,dE as simMiddleware,K4 as selectServeSimState,eU as rewriteStateForRequestHost,J4 as readServeSimStates,pX as previewConfigForState,l5 as parseGridPaging,cE as matchInstalledAppByDisplayName,zP as handleMetricsRequest,aB as gridDeviceState,uB as deviceNameFromBootedNames};
190
190
 
191
- //# debugId=27F6AE6FA4ED285764756E2164756E21
191
+ //# debugId=CE1956649DBDF1E164756E2164756E21
192
192
  //# sourceMappingURL=middleware.js.map